commit 2f59024385e87fb99b20b240f7435b300980363f Author: Marius Mutu Date: Thu Jul 16 10:55:38 2026 +0300 Initial: flux text FoxBin2Prg (git urmareste .??2 in-arbore, binarele VFP git-ignored) Co-Authored-By: Claude Fable 5 diff --git a/.gitattributes b/.gitattributes new file mode 100644 index 0000000..05341f0 --- /dev/null +++ b/.gitattributes @@ -0,0 +1,4 @@ +# SVN ramane autoritatea pentru line endings (rulaj paralel svn+git, vezi CLAUDE.md). +# Dezactiveaza orice normalizare CRLF/LF facuta de git, ca sa nu mai apara +# "modificari" fantoma dupa fiecare svn update/checkout care doar atinge mtime-ul. +* -text diff --git a/.gitignore b/.gitignore new file mode 100644 index 0000000..9c95bb9 --- /dev/null +++ b/.gitignore @@ -0,0 +1,77 @@ +# ============================================================================= +# Flux text FoxBin2Prg: git urmareste DOAR versiunile text .??2 (in arbore), +# nu binarele VFP. Binarele convertibile si indecsii regenerabili se ignora. +# SVN ramane sursa de adevar pentru binare (via global-ignores pe .??2). +# ============================================================================= + +# --- Binare VFP convertibile in text .??2 (ambele forme de caz) --- +*.vcx +*.VCX +*.vct +*.VCT +*.scx +*.SCX +*.sct +*.SCT +*.frx +*.FRX +*.frt +*.FRT +*.mnx +*.MNX +*.mnt +*.MNT +*.lbx +*.LBX +*.lbt +*.LBT +*.pjx +*.PJX +*.pjt +*.PJT +*.dbc +*.DBC +*.dct +*.DCT + +# --- Indecsi regenerabili (nu se transporta in .db2/.dc2) --- +*.cdx +*.CDX +*.dcx +*.DCX + +# --- Fisiere generate/compilate Visual FoxPro --- +*.fxp +*.FXP +*.mpr +*.MPR +*.mpx +*.MPX + +# --- Backup-uri si fisiere temporare create de editorul VFP --- +*.bak +*.BAK +*.TBK +*.tmp +*.TMP +*.err +*.ERR +log.txt + +# --- Executabile compilate --- +*.exe +*.EXE + +# --- Exporturi surse Oracle (regenerabile, prea mari pentru git) --- +*.pck +*.PCK + +# --- SVN (COMUN este si working copy SVN) --- +.svn/ + +# --- Windows / stare locala --- +*.lnk +Thumbs.db +Desktop.ini +bash.exe.stackdump +.claude/ diff --git a/Drepturi utilizatori/ROAAUTO/crsobiecte.dbf b/Drepturi utilizatori/ROAAUTO/crsobiecte.dbf new file mode 100644 index 0000000..c088ce3 Binary files /dev/null and b/Drepturi utilizatori/ROAAUTO/crsobiecte.dbf differ diff --git a/Drepturi utilizatori/ROAAUTO/obiecte.dbf b/Drepturi utilizatori/ROAAUTO/obiecte.dbf new file mode 100644 index 0000000..7799412 Binary files /dev/null and b/Drepturi utilizatori/ROAAUTO/obiecte.dbf differ diff --git a/Drepturi utilizatori/ROAAUTO/scrie_obiecte.prg b/Drepturi utilizatori/ROAAUTO/scrie_obiecte.prg new file mode 100644 index 0000000..50eaa7c --- /dev/null +++ b/Drepturi utilizatori/ROAAUTO/scrie_obiecte.prg @@ -0,0 +1,62 @@ +&& id = 8 +lnIdProgram = 8 +lcLocalDir=Addbs(Justpath(Sys(16,0))) +Cd (lcLocalDir) +If Used('obiecte') + Use In obiecte +Endif +Use obiecte In 0 +gnhandle=SQLConnect('jcsserver','contafin_oracle','123') +If Used('crsmax') + Use In CrsMax +Endif +lcSql=[select pack_drepturi.getid_obiect() as maxid from dual] +lnSucces=SQLExec(gnhandle,lcSql,'crsmax') +If lnSucces<0 + Messagebox("Eroare la citirea id-ului!") + Exit +Endif +Select CrsMax +lnMaxId=maxid +Use In CrsMax +MESSAGEBOX(lnMaxId,0,"Id maxim pentru obiecte") + +Select obiecte +Replace id_prog With lnIdProgram All +Replace cod With Padl(Substr(Padl(Alltrim(cheie),5,[ ]),5,1),2,[0]) FOR TYPE(SUBSTR(ALLTRIM(cheie),LEN(ALLTRIM(cheie))-2))='N' +Replace cod With Padl(Substr(Padl(Alltrim(cheie),5,[ ]),4,2),2,[0]) FOR TYPE(SUBSTR(ALLTRIM(cheie),LEN(ALLTRIM(cheie))-2))<>'N' +Replace cod With Substr(cod,2,1) For !Inlist(Len(Alltrim(tata)),1,2) Or Type(Substr(cod,2,1))!='N' +Replace id_obiect With Recno()+lnMaxId All +Replace cheie With Alltrim(tata)+Alltrim(cod) All +Replace id_tata With -1 All +Select id_obiect,cheie From obiecte Where Alltrim(cheie) In (Select Distinct Alltrim(tata) As cheie From obiecte) Into Cursor crstati +Select crstati +Scan + lnIdObiect=id_obiect + lcCheie=Alltrim(cheie) + Select obiecte + Replace id_tata With lnIdObiect For Alltrim(tata)=lcCheie + Select crstati +Endscan +Use In crstati + +lcSql=[update def_obiecte set sters=2 where id_program=]+ALLTRIM(STR(lnIdProgram))+[ and sters=0] +lnSucces=SQLExec(gnhandle,lcSql) +If lnSucces<0 + Messagebox("Eroare la stergerea vechilor obiecte!") + Exit +Endif + +Select obiecte +Browse +Scan + lcSql=[insert into def_obiecte (id_obiect,id_program,id_tata,descriere,cod) ]+; + [values (]+Alltrim(Str(id_obiect))+[,]+ALLTRIM(STR(id_prog))+[,]+; + ALLTRIM(Str(id_tata))+[,']+Alltrim(explicatie)+[',']+Alltrim(cod)+[')] + lnSucces=SQLExec(gnhandle,lcSql) + If lnSucces<1 + Wait Window lcSql + Endif +Endscan +SQLDisconnect(gnhandle) +Use In obiecte \ No newline at end of file diff --git a/Drepturi utilizatori/ROACASA/roacasa_obiecte.sql b/Drepturi utilizatori/ROACASA/roacasa_obiecte.sql new file mode 100644 index 0000000..a69dc8c --- /dev/null +++ b/Drepturi utilizatori/ROACASA/roacasa_obiecte.sql @@ -0,0 +1,38 @@ +-- obiecte roacasa, drepturi asupra lor +-- creat de alex.lepadatu, +-- 28.04.2009 + + +prompt PL/SQL Developer import file +prompt Created on Tuesday, April 28, 2009 by alexandru.lepadatu +set feedback off +set define off +prompt Disabling triggers for DEF_OBIECTE... +alter table DEF_OBIECTE disable all triggers; +prompt Loading DEF_OBIECTE... +insert into DEF_OBIECTE (ID_OBIECT, ID_PROGRAM, DESCRIERE, ID_TATA, COD, ID_UTILOP, DATAORA, STERS) +values (5628, 197, 'Listare', 5626, '2', null, null, 0); +insert into DEF_OBIECTE (ID_OBIECT, ID_PROGRAM, DESCRIERE, ID_TATA, COD, ID_UTILOP, DATAORA, STERS) +values (5629, 197, 'Stergere', 5626, '4', null, null, 0); +insert into DEF_OBIECTE (ID_OBIECT, ID_PROGRAM, DESCRIERE, ID_TATA, COD, ID_UTILOP, DATAORA, STERS) +values (5625, 197, 'Rapoarte', -1, 'C', null, null, 0); +insert into DEF_OBIECTE (ID_OBIECT, ID_PROGRAM, DESCRIERE, ID_TATA, COD, ID_UTILOP, DATAORA, STERS) +values (5626, 197, 'Registrul de casa', 5625, '01', null, null, 0); +insert into DEF_OBIECTE (ID_OBIECT, ID_PROGRAM, DESCRIERE, ID_TATA, COD, ID_UTILOP, DATAORA, STERS) +values (5627, 197, 'Export', 5626, '1', null, null, 0); +insert into DEF_OBIECTE (ID_OBIECT, ID_PROGRAM, DESCRIERE, ID_TATA, COD, ID_UTILOP, DATAORA, STERS) +values (5741, 197, 'Operatii', -1, 'B', null, null, 0); +insert into DEF_OBIECTE (ID_OBIECT, ID_PROGRAM, DESCRIERE, ID_TATA, COD, ID_UTILOP, DATAORA, STERS) +values (5742, 197, 'Seturi', 5741, '01', null, null, 0); +commit; +prompt 7 records loaded +prompt Enabling triggers for DEF_OBIECTE... +alter table DEF_OBIECTE enable all triggers; +set feedback on +set define on +prompt Done. + + + +exec pack_migrare.UpdateVersiune('ff_2009_04_28_01_OBIECTE'); +commit; \ No newline at end of file diff --git a/Drepturi utilizatori/ROACONT/OBIECTE.Dbf b/Drepturi utilizatori/ROACONT/OBIECTE.Dbf new file mode 100644 index 0000000..f811ea4 Binary files /dev/null and b/Drepturi utilizatori/ROACONT/OBIECTE.Dbf differ diff --git a/Drepturi utilizatori/ROACONT/OBIECTE_1010.Dbf b/Drepturi utilizatori/ROACONT/OBIECTE_1010.Dbf new file mode 100644 index 0000000..9a1459d Binary files /dev/null and b/Drepturi utilizatori/ROACONT/OBIECTE_1010.Dbf differ diff --git a/Drepturi utilizatori/ROACONT/obiecte_0510.dbf b/Drepturi utilizatori/ROACONT/obiecte_0510.dbf new file mode 100644 index 0000000..a0ee075 Binary files /dev/null and b/Drepturi utilizatori/ROACONT/obiecte_0510.dbf differ diff --git a/Drepturi utilizatori/ROACONT/obiecte_0710.dbf b/Drepturi utilizatori/ROACONT/obiecte_0710.dbf new file mode 100644 index 0000000..fdac47d Binary files /dev/null and b/Drepturi utilizatori/ROACONT/obiecte_0710.dbf differ diff --git a/Drepturi utilizatori/ROACONT/obiecte_forma.dbf b/Drepturi utilizatori/ROACONT/obiecte_forma.dbf new file mode 100644 index 0000000..92615ee Binary files /dev/null and b/Drepturi utilizatori/ROACONT/obiecte_forma.dbf differ diff --git a/Drepturi utilizatori/ROACONT/obiecte_meniu.DBF b/Drepturi utilizatori/ROACONT/obiecte_meniu.DBF new file mode 100644 index 0000000..01bbfe9 Binary files /dev/null and b/Drepturi utilizatori/ROACONT/obiecte_meniu.DBF differ diff --git a/Drepturi utilizatori/ROACONT/scrie_obiecte.prg b/Drepturi utilizatori/ROACONT/scrie_obiecte.prg new file mode 100644 index 0000000..f3fe710 --- /dev/null +++ b/Drepturi utilizatori/ROACONT/scrie_obiecte.prg @@ -0,0 +1,61 @@ +&& id = 2 +lnProgram = 2 +lcLocalDir=Addbs(Justpath(Sys(16,0))) +Cd (lcLocalDir) +If Used('obiecte') + Use In obiecte +Endif +Use obiecte In 0 +gnhandle=SQLConnect('jcsserver','contafin_oracle','123') +If Used('crsmax') + Use In CrsMax +Endif +lcSql=[select pack_drepturi.getid_obiect() as maxid from dual] +lnSucces=SQLExec(gnhandle,lcSql,'crsmax') +If lnSucces<0 + Messagebox("Eroare la citirea id-ului!") + Exit +Endif +Select CrsMax +lnMaxId=maxid +Use In CrsMax + +Select obiecte +Replace id_prog With lnProgram All +Replace cod With Padl(Substr(Padl(Alltrim(cheie),5,[ ]),5,1),2,[0]) FOR TYPE(SUBSTR(ALLTRIM(cheie),LEN(ALLTRIM(cheie))-2))='N' +Replace cod With Padl(Substr(Padl(Alltrim(cheie),5,[ ]),4,2),2,[0]) FOR TYPE(SUBSTR(ALLTRIM(cheie),LEN(ALLTRIM(cheie))-2))<>'N' +Replace cod With Substr(cod,2,1) For !Inlist(Len(Alltrim(tata)),1,2) Or Type(Substr(cod,2,1))!='N' +Replace id_obiect With Recno()+lnMaxId All +Replace cheie With Alltrim(tata)+Alltrim(cod) All +Replace id_tata With -1 All +Select id_obiect,cheie From obiecte Where Alltrim(cheie) In (Select Distinct Alltrim(tata) As cheie From obiecte) Into Cursor crstati +Select crstati +Scan + lnIdObiect=id_obiect + lcCheie=Alltrim(cheie) + Select obiecte + Replace id_tata With lnIdObiect For Alltrim(tata)=lcCheie + Select crstati +Endscan +Use In crstati + +lcSql=[update def_obiecte set sters=2 where id_program=]+ALLTRIM(STR(lnIdProgram))+[ and sters=0] +lnSucces=SQLExec(gnhandle,lcSql) +If lnSucces<0 + Messagebox("Eroare la stergerea vechilor obiecte!") + Exit +Endif + +Select obiecte +Browse +Scan + lcSql=[insert into def_obiecte (id_obiect,id_program,id_tata,descriere,cod) ]+; + [values (]+Alltrim(Str(id_obiect))+[,]+ALLTRIM(STR(id_prog))+[,]+; + ALLTRIM(Str(id_tata))+[,']+Alltrim(explicatie)+[',']+Alltrim(cod)+[')] + lnSucces=SQLExec(gnhandle,lcSql) + If lnSucces<1 + Wait Window lcSql + Endif +Endscan +SQLDisconnect(gnhandle) +Use In obiecte \ No newline at end of file diff --git a/Drepturi utilizatori/ROADEF/obiecte.dbf b/Drepturi utilizatori/ROADEF/obiecte.dbf new file mode 100644 index 0000000..a8fa36e Binary files /dev/null and b/Drepturi utilizatori/ROADEF/obiecte.dbf differ diff --git a/Drepturi utilizatori/ROADEF/roadef_obiecte.sql b/Drepturi utilizatori/ROADEF/roadef_obiecte.sql new file mode 100644 index 0000000..13e0e01 --- /dev/null +++ b/Drepturi utilizatori/ROADEF/roadef_obiecte.sql @@ -0,0 +1,249 @@ +-- obiecte roadef, drepturi asupra lor +-- creat de alex.lepadatu, +-- 21.04.2009 + +prompt Disabling triggers for DEF_OBIECTE... +alter table DEF_OBIECTE disable all triggers; +prompt Loading DEF_OBIECTE... +insert into DEF_OBIECTE (ID_OBIECT, ID_PROGRAM, DESCRIERE, ID_TATA, COD, ID_UTILOP, DATAORA, STERS) +values (5516, 1, 'Organizarea companiei', -1, 'A', null, null, 0); +insert into DEF_OBIECTE (ID_OBIECT, ID_PROGRAM, DESCRIERE, ID_TATA, COD, ID_UTILOP, DATAORA, STERS) +values (5517, 1, 'Datele firmei', 5516, '01', null, null, 0); +insert into DEF_OBIECTE (ID_OBIECT, ID_PROGRAM, DESCRIERE, ID_TATA, COD, ID_UTILOP, DATAORA, STERS) +values (5518, 1, 'Sucursale/puncte de lucru', 5516, '02', null, null, 0); +insert into DEF_OBIECTE (ID_OBIECT, ID_PROGRAM, DESCRIERE, ID_TATA, COD, ID_UTILOP, DATAORA, STERS) +values (5519, 1, 'Export', 5518, '1', null, null, 0); +insert into DEF_OBIECTE (ID_OBIECT, ID_PROGRAM, DESCRIERE, ID_TATA, COD, ID_UTILOP, DATAORA, STERS) +values (5520, 1, 'Listare', 5518, '2', null, null, 0); +insert into DEF_OBIECTE (ID_OBIECT, ID_PROGRAM, DESCRIERE, ID_TATA, COD, ID_UTILOP, DATAORA, STERS) +values (5521, 1, 'Modificare', 5518, '3', null, null, 0); +insert into DEF_OBIECTE (ID_OBIECT, ID_PROGRAM, DESCRIERE, ID_TATA, COD, ID_UTILOP, DATAORA, STERS) +values (5522, 1, 'Refacere', 5518, '4', null, null, 0); +insert into DEF_OBIECTE (ID_OBIECT, ID_PROGRAM, DESCRIERE, ID_TATA, COD, ID_UTILOP, DATAORA, STERS) +values (5523, 1, 'Departamente/ Sectii', 5516, '03', null, null, 0); +insert into DEF_OBIECTE (ID_OBIECT, ID_PROGRAM, DESCRIERE, ID_TATA, COD, ID_UTILOP, DATAORA, STERS) +values (5524, 1, 'Export', 5523, '1', null, null, 0); +insert into DEF_OBIECTE (ID_OBIECT, ID_PROGRAM, DESCRIERE, ID_TATA, COD, ID_UTILOP, DATAORA, STERS) +values (5525, 1, 'Listare', 5523, '2', null, null, 0); +insert into DEF_OBIECTE (ID_OBIECT, ID_PROGRAM, DESCRIERE, ID_TATA, COD, ID_UTILOP, DATAORA, STERS) +values (5526, 1, 'Modificare', 5523, '3', null, null, 0); +insert into DEF_OBIECTE (ID_OBIECT, ID_PROGRAM, DESCRIERE, ID_TATA, COD, ID_UTILOP, DATAORA, STERS) +values (5527, 1, 'Refacere', 5523, '4', null, null, 0); +insert into DEF_OBIECTE (ID_OBIECT, ID_PROGRAM, DESCRIERE, ID_TATA, COD, ID_UTILOP, DATAORA, STERS) +values (5528, 1, 'Gestiuni', 5516, '04', null, null, 0); +insert into DEF_OBIECTE (ID_OBIECT, ID_PROGRAM, DESCRIERE, ID_TATA, COD, ID_UTILOP, DATAORA, STERS) +values (5529, 1, 'Export', 5528, '1', null, null, 0); +insert into DEF_OBIECTE (ID_OBIECT, ID_PROGRAM, DESCRIERE, ID_TATA, COD, ID_UTILOP, DATAORA, STERS) +values (5530, 1, 'Listare', 5528, '2', null, null, 0); +insert into DEF_OBIECTE (ID_OBIECT, ID_PROGRAM, DESCRIERE, ID_TATA, COD, ID_UTILOP, DATAORA, STERS) +values (5531, 1, 'Modificare', 5528, '3', null, null, 0); +insert into DEF_OBIECTE (ID_OBIECT, ID_PROGRAM, DESCRIERE, ID_TATA, COD, ID_UTILOP, DATAORA, STERS) +values (5532, 1, 'Refacere', 5528, '4', null, null, 0); +insert into DEF_OBIECTE (ID_OBIECT, ID_PROGRAM, DESCRIERE, ID_TATA, COD, ID_UTILOP, DATAORA, STERS) +values (5533, 1, 'Calculatoare', 5516, '05', null, null, 0); +insert into DEF_OBIECTE (ID_OBIECT, ID_PROGRAM, DESCRIERE, ID_TATA, COD, ID_UTILOP, DATAORA, STERS) +values (5534, 1, 'Export', 5533, '1', null, null, 0); +insert into DEF_OBIECTE (ID_OBIECT, ID_PROGRAM, DESCRIERE, ID_TATA, COD, ID_UTILOP, DATAORA, STERS) +values (5535, 1, 'Listare', 5533, '2', null, null, 0); +insert into DEF_OBIECTE (ID_OBIECT, ID_PROGRAM, DESCRIERE, ID_TATA, COD, ID_UTILOP, DATAORA, STERS) +values (5536, 1, 'Modificare', 5533, '3', null, null, 0); +insert into DEF_OBIECTE (ID_OBIECT, ID_PROGRAM, DESCRIERE, ID_TATA, COD, ID_UTILOP, DATAORA, STERS) +values (5537, 1, 'Refacere', 5533, '4', null, null, 0); +insert into DEF_OBIECTE (ID_OBIECT, ID_PROGRAM, DESCRIERE, ID_TATA, COD, ID_UTILOP, DATAORA, STERS) +values (5538, 1, 'Utilizatori', 5516, '06', null, null, 0); +insert into DEF_OBIECTE (ID_OBIECT, ID_PROGRAM, DESCRIERE, ID_TATA, COD, ID_UTILOP, DATAORA, STERS) +values (5539, 1, 'Export', 5538, '1', null, null, 0); +insert into DEF_OBIECTE (ID_OBIECT, ID_PROGRAM, DESCRIERE, ID_TATA, COD, ID_UTILOP, DATAORA, STERS) +values (5540, 1, 'Listare', 5538, '2', null, null, 0); +insert into DEF_OBIECTE (ID_OBIECT, ID_PROGRAM, DESCRIERE, ID_TATA, COD, ID_UTILOP, DATAORA, STERS) +values (5541, 1, 'Modificare', 5538, '3', null, null, 0); +insert into DEF_OBIECTE (ID_OBIECT, ID_PROGRAM, DESCRIERE, ID_TATA, COD, ID_UTILOP, DATAORA, STERS) +values (5542, 1, 'Refacere', 5538, '4', null, null, 0); +insert into DEF_OBIECTE (ID_OBIECT, ID_PROGRAM, DESCRIERE, ID_TATA, COD, ID_UTILOP, DATAORA, STERS) +values (5543, 1, 'Rapoarte', 5516, '07', null, null, 0); +insert into DEF_OBIECTE (ID_OBIECT, ID_PROGRAM, DESCRIERE, ID_TATA, COD, ID_UTILOP, DATAORA, STERS) +values (5544, 1, 'Entitati', -1, 'B', null, null, 0); +insert into DEF_OBIECTE (ID_OBIECT, ID_PROGRAM, DESCRIERE, ID_TATA, COD, ID_UTILOP, DATAORA, STERS) +values (5545, 1, 'Entitati', 5544, '01', null, null, 0); +insert into DEF_OBIECTE (ID_OBIECT, ID_PROGRAM, DESCRIERE, ID_TATA, COD, ID_UTILOP, DATAORA, STERS) +values (5546, 1, 'Export', 5545, '1', null, null, 0); +insert into DEF_OBIECTE (ID_OBIECT, ID_PROGRAM, DESCRIERE, ID_TATA, COD, ID_UTILOP, DATAORA, STERS) +values (5547, 1, 'Listare', 5545, '2', null, null, 0); +insert into DEF_OBIECTE (ID_OBIECT, ID_PROGRAM, DESCRIERE, ID_TATA, COD, ID_UTILOP, DATAORA, STERS) +values (5548, 1, 'Modificare', 5545, '3', null, null, 0); +insert into DEF_OBIECTE (ID_OBIECT, ID_PROGRAM, DESCRIERE, ID_TATA, COD, ID_UTILOP, DATAORA, STERS) +values (5549, 1, 'Refacere', 5545, '4', null, null, 0); +insert into DEF_OBIECTE (ID_OBIECT, ID_PROGRAM, DESCRIERE, ID_TATA, COD, ID_UTILOP, DATAORA, STERS) +values (5550, 1, 'Responsabili', 5544, '02', null, null, 0); +insert into DEF_OBIECTE (ID_OBIECT, ID_PROGRAM, DESCRIERE, ID_TATA, COD, ID_UTILOP, DATAORA, STERS) +values (5551, 1, 'Export', 5550, '1', null, null, 0); +insert into DEF_OBIECTE (ID_OBIECT, ID_PROGRAM, DESCRIERE, ID_TATA, COD, ID_UTILOP, DATAORA, STERS) +values (5552, 1, 'Listare', 5550, '2', null, null, 0); +insert into DEF_OBIECTE (ID_OBIECT, ID_PROGRAM, DESCRIERE, ID_TATA, COD, ID_UTILOP, DATAORA, STERS) +values (5553, 1, 'Modificare', 5550, '3', null, null, 0); +insert into DEF_OBIECTE (ID_OBIECT, ID_PROGRAM, DESCRIERE, ID_TATA, COD, ID_UTILOP, DATAORA, STERS) +values (5554, 1, 'Refacere', 5550, '4', null, null, 0); +insert into DEF_OBIECTE (ID_OBIECT, ID_PROGRAM, DESCRIERE, ID_TATA, COD, ID_UTILOP, DATAORA, STERS) +values (5555, 1, 'Asociere entitati-sectii/gestiuni', 5544, '03', null, null, 0); +insert into DEF_OBIECTE (ID_OBIECT, ID_PROGRAM, DESCRIERE, ID_TATA, COD, ID_UTILOP, DATAORA, STERS) +values (5556, 1, 'Export', 5555, '1', null, null, 0); +insert into DEF_OBIECTE (ID_OBIECT, ID_PROGRAM, DESCRIERE, ID_TATA, COD, ID_UTILOP, DATAORA, STERS) +values (5557, 1, 'Listare', 5555, '2', null, null, 0); +insert into DEF_OBIECTE (ID_OBIECT, ID_PROGRAM, DESCRIERE, ID_TATA, COD, ID_UTILOP, DATAORA, STERS) +values (5558, 1, 'Modificare', 5555, '3', null, null, 0); +insert into DEF_OBIECTE (ID_OBIECT, ID_PROGRAM, DESCRIERE, ID_TATA, COD, ID_UTILOP, DATAORA, STERS) +values (5559, 1, 'Refacere', 5555, '4', null, null, 0); +insert into DEF_OBIECTE (ID_OBIECT, ID_PROGRAM, DESCRIERE, ID_TATA, COD, ID_UTILOP, DATAORA, STERS) +values (5560, 1, 'Angajati', 5544, '04', null, null, 0); +insert into DEF_OBIECTE (ID_OBIECT, ID_PROGRAM, DESCRIERE, ID_TATA, COD, ID_UTILOP, DATAORA, STERS) +values (5561, 1, 'Export', 5560, '1', null, null, 0); +insert into DEF_OBIECTE (ID_OBIECT, ID_PROGRAM, DESCRIERE, ID_TATA, COD, ID_UTILOP, DATAORA, STERS) +values (5562, 1, 'Listare', 5560, '2', null, null, 0); +insert into DEF_OBIECTE (ID_OBIECT, ID_PROGRAM, DESCRIERE, ID_TATA, COD, ID_UTILOP, DATAORA, STERS) +values (5563, 1, 'Modificare', 5560, '3', null, null, 0); +insert into DEF_OBIECTE (ID_OBIECT, ID_PROGRAM, DESCRIERE, ID_TATA, COD, ID_UTILOP, DATAORA, STERS) +values (5564, 1, 'Refacere', 5560, '4', null, null, 0); +insert into DEF_OBIECTE (ID_OBIECT, ID_PROGRAM, DESCRIERE, ID_TATA, COD, ID_UTILOP, DATAORA, STERS) +values (5565, 1, 'Liste nomenclatoare', -1, 'C', null, null, 0); +insert into DEF_OBIECTE (ID_OBIECT, ID_PROGRAM, DESCRIERE, ID_TATA, COD, ID_UTILOP, DATAORA, STERS) +values (5566, 1, 'Tipuri de venituri si cheltuieli', 5565, '01', null, null, 0); +insert into DEF_OBIECTE (ID_OBIECT, ID_PROGRAM, DESCRIERE, ID_TATA, COD, ID_UTILOP, DATAORA, STERS) +values (5567, 1, 'Export', 5566, '1', null, null, 0); +insert into DEF_OBIECTE (ID_OBIECT, ID_PROGRAM, DESCRIERE, ID_TATA, COD, ID_UTILOP, DATAORA, STERS) +values (5568, 1, 'Listare', 5566, '2', null, null, 0); +insert into DEF_OBIECTE (ID_OBIECT, ID_PROGRAM, DESCRIERE, ID_TATA, COD, ID_UTILOP, DATAORA, STERS) +values (5569, 1, 'Modificare', 5566, '3', null, null, 0); +insert into DEF_OBIECTE (ID_OBIECT, ID_PROGRAM, DESCRIERE, ID_TATA, COD, ID_UTILOP, DATAORA, STERS) +values (5570, 1, 'Refacere', 5566, '4', null, null, 0); +insert into DEF_OBIECTE (ID_OBIECT, ID_PROGRAM, DESCRIERE, ID_TATA, COD, ID_UTILOP, DATAORA, STERS) +values (5571, 1, 'Lucrari', 5565, '02', null, null, 0); +insert into DEF_OBIECTE (ID_OBIECT, ID_PROGRAM, DESCRIERE, ID_TATA, COD, ID_UTILOP, DATAORA, STERS) +values (5572, 1, 'Export', 5571, '1', null, null, 0); +insert into DEF_OBIECTE (ID_OBIECT, ID_PROGRAM, DESCRIERE, ID_TATA, COD, ID_UTILOP, DATAORA, STERS) +values (5573, 1, 'Listare', 5571, '2', null, null, 0); +insert into DEF_OBIECTE (ID_OBIECT, ID_PROGRAM, DESCRIERE, ID_TATA, COD, ID_UTILOP, DATAORA, STERS) +values (5574, 1, 'Modificare', 5571, '3', null, null, 0); +insert into DEF_OBIECTE (ID_OBIECT, ID_PROGRAM, DESCRIERE, ID_TATA, COD, ID_UTILOP, DATAORA, STERS) +values (5575, 1, 'Refacere', 5571, '4', null, null, 0); +insert into DEF_OBIECTE (ID_OBIECT, ID_PROGRAM, DESCRIERE, ID_TATA, COD, ID_UTILOP, DATAORA, STERS) +values (5576, 1, 'Tipuri de documente', 5565, '03', null, null, 0); +insert into DEF_OBIECTE (ID_OBIECT, ID_PROGRAM, DESCRIERE, ID_TATA, COD, ID_UTILOP, DATAORA, STERS) +values (5577, 1, 'Export', 5576, '1', null, null, 0); +insert into DEF_OBIECTE (ID_OBIECT, ID_PROGRAM, DESCRIERE, ID_TATA, COD, ID_UTILOP, DATAORA, STERS) +values (5578, 1, 'Listare', 5576, '2', null, null, 0); +insert into DEF_OBIECTE (ID_OBIECT, ID_PROGRAM, DESCRIERE, ID_TATA, COD, ID_UTILOP, DATAORA, STERS) +values (5579, 1, 'Modificare', 5576, '3', null, null, 0); +insert into DEF_OBIECTE (ID_OBIECT, ID_PROGRAM, DESCRIERE, ID_TATA, COD, ID_UTILOP, DATAORA, STERS) +values (5580, 1, 'Refacere', 5576, '4', null, null, 0); +insert into DEF_OBIECTE (ID_OBIECT, ID_PROGRAM, DESCRIERE, ID_TATA, COD, ID_UTILOP, DATAORA, STERS) +values (5581, 1, 'Medii de transmisie', 5565, '04', null, null, 0); +insert into DEF_OBIECTE (ID_OBIECT, ID_PROGRAM, DESCRIERE, ID_TATA, COD, ID_UTILOP, DATAORA, STERS) +values (5582, 1, 'Export', 5581, '1', null, null, 0); +insert into DEF_OBIECTE (ID_OBIECT, ID_PROGRAM, DESCRIERE, ID_TATA, COD, ID_UTILOP, DATAORA, STERS) +values (5583, 1, 'Listare', 5581, '2', null, null, 0); +insert into DEF_OBIECTE (ID_OBIECT, ID_PROGRAM, DESCRIERE, ID_TATA, COD, ID_UTILOP, DATAORA, STERS) +values (5584, 1, 'Modificare', 5581, '3', null, null, 0); +insert into DEF_OBIECTE (ID_OBIECT, ID_PROGRAM, DESCRIERE, ID_TATA, COD, ID_UTILOP, DATAORA, STERS) +values (5585, 1, 'Refacere', 5581, '4', null, null, 0); +insert into DEF_OBIECTE (ID_OBIECT, ID_PROGRAM, DESCRIERE, ID_TATA, COD, ID_UTILOP, DATAORA, STERS) +values (5586, 1, 'Judete', 5565, '05', null, null, 0); +insert into DEF_OBIECTE (ID_OBIECT, ID_PROGRAM, DESCRIERE, ID_TATA, COD, ID_UTILOP, DATAORA, STERS) +values (5587, 1, 'Export', 5586, '1', null, null, 0); +insert into DEF_OBIECTE (ID_OBIECT, ID_PROGRAM, DESCRIERE, ID_TATA, COD, ID_UTILOP, DATAORA, STERS) +values (5588, 1, 'Listare', 5586, '2', null, null, 0); +insert into DEF_OBIECTE (ID_OBIECT, ID_PROGRAM, DESCRIERE, ID_TATA, COD, ID_UTILOP, DATAORA, STERS) +values (5589, 1, 'Modificare', 5586, '3', null, null, 0); +insert into DEF_OBIECTE (ID_OBIECT, ID_PROGRAM, DESCRIERE, ID_TATA, COD, ID_UTILOP, DATAORA, STERS) +values (5590, 1, 'Refacere', 5586, '4', null, null, 0); +insert into DEF_OBIECTE (ID_OBIECT, ID_PROGRAM, DESCRIERE, ID_TATA, COD, ID_UTILOP, DATAORA, STERS) +values (5591, 1, 'Localitati', 5565, '06', null, null, 0); +insert into DEF_OBIECTE (ID_OBIECT, ID_PROGRAM, DESCRIERE, ID_TATA, COD, ID_UTILOP, DATAORA, STERS) +values (5592, 1, 'Export', 5591, '1', null, null, 0); +insert into DEF_OBIECTE (ID_OBIECT, ID_PROGRAM, DESCRIERE, ID_TATA, COD, ID_UTILOP, DATAORA, STERS) +values (5593, 1, 'Listare', 5591, '2', null, null, 0); +insert into DEF_OBIECTE (ID_OBIECT, ID_PROGRAM, DESCRIERE, ID_TATA, COD, ID_UTILOP, DATAORA, STERS) +values (5594, 1, 'Modificare', 5591, '3', null, null, 0); +insert into DEF_OBIECTE (ID_OBIECT, ID_PROGRAM, DESCRIERE, ID_TATA, COD, ID_UTILOP, DATAORA, STERS) +values (5595, 1, 'Refacere', 5591, '4', null, null, 0); +insert into DEF_OBIECTE (ID_OBIECT, ID_PROGRAM, DESCRIERE, ID_TATA, COD, ID_UTILOP, DATAORA, STERS) +values (5596, 1, 'Valute', 5565, '07', null, null, 0); +insert into DEF_OBIECTE (ID_OBIECT, ID_PROGRAM, DESCRIERE, ID_TATA, COD, ID_UTILOP, DATAORA, STERS) +values (5597, 1, 'Export', 5596, '1', null, null, 0); +insert into DEF_OBIECTE (ID_OBIECT, ID_PROGRAM, DESCRIERE, ID_TATA, COD, ID_UTILOP, DATAORA, STERS) +values (5598, 1, 'Listare', 5596, '2', null, null, 0); +insert into DEF_OBIECTE (ID_OBIECT, ID_PROGRAM, DESCRIERE, ID_TATA, COD, ID_UTILOP, DATAORA, STERS) +values (5599, 1, 'Modificare', 5596, '3', null, null, 0); +insert into DEF_OBIECTE (ID_OBIECT, ID_PROGRAM, DESCRIERE, ID_TATA, COD, ID_UTILOP, DATAORA, STERS) +values (5600, 1, 'Refacere', 5596, '4', null, null, 0); +insert into DEF_OBIECTE (ID_OBIECT, ID_PROGRAM, DESCRIERE, ID_TATA, COD, ID_UTILOP, DATAORA, STERS) +values (5601, 1, 'Categorii de entitati', 5565, '08', null, null, 0); +insert into DEF_OBIECTE (ID_OBIECT, ID_PROGRAM, DESCRIERE, ID_TATA, COD, ID_UTILOP, DATAORA, STERS) +values (5602, 1, 'Export', 5601, '1', null, null, 0); +insert into DEF_OBIECTE (ID_OBIECT, ID_PROGRAM, DESCRIERE, ID_TATA, COD, ID_UTILOP, DATAORA, STERS) +values (5603, 1, 'Listare', 5601, '2', null, null, 0); +insert into DEF_OBIECTE (ID_OBIECT, ID_PROGRAM, DESCRIERE, ID_TATA, COD, ID_UTILOP, DATAORA, STERS) +values (5604, 1, 'Modificare', 5601, '3', null, null, 0); +insert into DEF_OBIECTE (ID_OBIECT, ID_PROGRAM, DESCRIERE, ID_TATA, COD, ID_UTILOP, DATAORA, STERS) +values (5605, 1, 'Refacere', 5601, '4', null, null, 0); +insert into DEF_OBIECTE (ID_OBIECT, ID_PROGRAM, DESCRIERE, ID_TATA, COD, ID_UTILOP, DATAORA, STERS) +values (5606, 1, 'Utilitati', -1, 'D', null, null, 0); +insert into DEF_OBIECTE (ID_OBIECT, ID_PROGRAM, DESCRIERE, ID_TATA, COD, ID_UTILOP, DATAORA, STERS) +values (5607, 1, 'Deschidere de luna', 5606, '01', null, null, 0); +insert into DEF_OBIECTE (ID_OBIECT, ID_PROGRAM, DESCRIERE, ID_TATA, COD, ID_UTILOP, DATAORA, STERS) +values (5608, 1, 'Export', 5607, '1', null, null, 0); +insert into DEF_OBIECTE (ID_OBIECT, ID_PROGRAM, DESCRIERE, ID_TATA, COD, ID_UTILOP, DATAORA, STERS) +values (5609, 1, 'Listare', 5607, '2', null, null, 0); +insert into DEF_OBIECTE (ID_OBIECT, ID_PROGRAM, DESCRIERE, ID_TATA, COD, ID_UTILOP, DATAORA, STERS) +values (5610, 1, 'Modificare', 5607, '3', null, null, 0); +insert into DEF_OBIECTE (ID_OBIECT, ID_PROGRAM, DESCRIERE, ID_TATA, COD, ID_UTILOP, DATAORA, STERS) +values (5611, 1, 'Refacere', 5607, '4', null, null, 0); +insert into DEF_OBIECTE (ID_OBIECT, ID_PROGRAM, DESCRIERE, ID_TATA, COD, ID_UTILOP, DATAORA, STERS) +values (5612, 1, 'Vizualizare istoric deschid./redeschid.', 5606, '02', null, null, 0); +insert into DEF_OBIECTE (ID_OBIECT, ID_PROGRAM, DESCRIERE, ID_TATA, COD, ID_UTILOP, DATAORA, STERS) +values (5613, 1, 'Blocare de luna', 5606, '03', null, null, 0); +insert into DEF_OBIECTE (ID_OBIECT, ID_PROGRAM, DESCRIERE, ID_TATA, COD, ID_UTILOP, DATAORA, STERS) +values (5614, 1, 'Optiuni', 5606, '04', null, null, 0); +insert into DEF_OBIECTE (ID_OBIECT, ID_PROGRAM, DESCRIERE, ID_TATA, COD, ID_UTILOP, DATAORA, STERS) +values (5615, 1, 'Categorii seturi', 5606, '05', null, null, 0); +commit; +prompt 100 records committed... +insert into DEF_OBIECTE (ID_OBIECT, ID_PROGRAM, DESCRIERE, ID_TATA, COD, ID_UTILOP, DATAORA, STERS) +values (5616, 1, 'Export', 5615, '1', null, null, 0); +insert into DEF_OBIECTE (ID_OBIECT, ID_PROGRAM, DESCRIERE, ID_TATA, COD, ID_UTILOP, DATAORA, STERS) +values (5617, 1, 'Listare', 5615, '2', null, null, 0); +insert into DEF_OBIECTE (ID_OBIECT, ID_PROGRAM, DESCRIERE, ID_TATA, COD, ID_UTILOP, DATAORA, STERS) +values (5618, 1, 'Modificare', 5615, '3', null, null, 0); +insert into DEF_OBIECTE (ID_OBIECT, ID_PROGRAM, DESCRIERE, ID_TATA, COD, ID_UTILOP, DATAORA, STERS) +values (5619, 1, 'Refacere', 5615, '4', null, null, 0); +insert into DEF_OBIECTE (ID_OBIECT, ID_PROGRAM, DESCRIERE, ID_TATA, COD, ID_UTILOP, DATAORA, STERS) +values (5620, 1, 'Configurare seturi', 5606, '06', null, null, 0); +insert into DEF_OBIECTE (ID_OBIECT, ID_PROGRAM, DESCRIERE, ID_TATA, COD, ID_UTILOP, DATAORA, STERS) +values (5621, 1, 'Export', 5620, '1', null, null, 0); +insert into DEF_OBIECTE (ID_OBIECT, ID_PROGRAM, DESCRIERE, ID_TATA, COD, ID_UTILOP, DATAORA, STERS) +values (5622, 1, 'Listare', 5620, '2', null, null, 0); +insert into DEF_OBIECTE (ID_OBIECT, ID_PROGRAM, DESCRIERE, ID_TATA, COD, ID_UTILOP, DATAORA, STERS) +values (5623, 1, 'Modificare', 5620, '3', null, null, 0); +insert into DEF_OBIECTE (ID_OBIECT, ID_PROGRAM, DESCRIERE, ID_TATA, COD, ID_UTILOP, DATAORA, STERS) +values (5624, 1, 'Refacere', 5620, '4', null, null, 0); +commit; +prompt 109 records loaded +prompt Enabling triggers for DEF_OBIECTE... +alter table DEF_OBIECTE enable all triggers; + + +insert into def_grup_drept_obiecte + (id_grup, id_obiect, id_utilop, dataora) + select g.id_grup, o.id_obiect, -3, sysdate + from (select id_grup + from def_grup_drept t + where id_program = 1 + and sters = 0) g, + (select id_obiect + from def_obiecte + where id_program = 1 + and sters = 0) o; +commit; + + +exec pack_migrare.UpdateVersiune('ff_2009_04_21_05_OBIECTE'); +commit; diff --git a/Drepturi utilizatori/ROADEF/scrie_obiecte.prg b/Drepturi utilizatori/ROADEF/scrie_obiecte.prg new file mode 100644 index 0000000..9f1eec7 --- /dev/null +++ b/Drepturi utilizatori/ROADEF/scrie_obiecte.prg @@ -0,0 +1,62 @@ +*!* ATENTIE LA SECVENTA, SE APELEAZA AUTOMAT TRIGGERUL LA INSERT +&& id = 2 +lnIdProgram = 1 +lcLocalDir=Addbs(Justpath(Sys(16,0))) +Cd (lcLocalDir) +If Used('obiecte') + Use In obiecte +Endif +Use obiecte In 0 +gnhandle=SQLConnect('jcsserver','contafin_oracle','123') +If Used('crsmax') + Use In CrsMax +Endif +lcSql=[select pack_drepturi.getid_obiect() as maxid from dual] +lnSucces=SQLExec(gnhandle,lcSql,'crsmax') +If lnSucces<0 + Messagebox("Eroare la citirea id-ului!") + Exit +Endif +Select CrsMax +lnMaxId=maxid +Use In CrsMax + +Select obiecte +Replace id_prog With lnidProgram All +Replace cod With Padl(Substr(Padl(Alltrim(cheie),5,[ ]),5,1),2,[0]) FOR TYPE(SUBSTR(ALLTRIM(cheie),LEN(ALLTRIM(cheie))-2))='N' +Replace cod With Padl(Substr(Padl(Alltrim(cheie),5,[ ]),4,2),2,[0]) FOR TYPE(SUBSTR(ALLTRIM(cheie),LEN(ALLTRIM(cheie))-2))<>'N' +Replace cod With Substr(cod,2,1) For !Inlist(Len(Alltrim(tata)),1,2) Or Type(Substr(cod,2,1))!='N' +Replace id_obiect With Recno()+lnMaxId All +Replace cheie With Alltrim(tata)+Alltrim(cod) All +Replace id_tata With -1 All +Select id_obiect,cheie From obiecte Where Alltrim(cheie) In (Select Distinct Alltrim(tata) As cheie From obiecte) Into Cursor crstati +Select crstati +Scan + lnIdObiect=id_obiect + lcCheie=Alltrim(cheie) + Select obiecte + Replace id_tata With lnIdObiect For Alltrim(tata)=lcCheie + Select crstati +Endscan +Use In crstati + +lcSql=[update def_obiecte set sters=2 where id_program=]+ALLTRIM(STR(lnIdProgram))+[ and sters=0] +lnSucces=SQLExec(gnhandle,lcSql) +If lnSucces<0 + Messagebox("Eroare la stergerea vechilor obiecte!") + Exit +Endif + +Select obiecte +Browse +Scan + lcSql=[insert into def_obiecte (id_obiect,id_program,id_tata,descriere,cod) ]+; + [values (]+Alltrim(Str(id_obiect))+[,]+ALLTRIM(STR(id_prog))+[,]+; + ALLTRIM(Str(id_tata))+[,']+Alltrim(explicatie)+[',']+Alltrim(cod)+[')] + lnSucces=SQLExec(gnhandle,lcSql) + If lnSucces<1 + Wait Window lcSql + Endif +Endscan +SQLDisconnect(gnhandle) +Use In obiecte \ No newline at end of file diff --git a/Drepturi utilizatori/ROAGEST/adaugare_drepturi.prg b/Drepturi utilizatori/ROAGEST/adaugare_drepturi.prg new file mode 100644 index 0000000..78fba60 --- /dev/null +++ b/Drepturi utilizatori/ROAGEST/adaugare_drepturi.prg @@ -0,0 +1,219 @@ +Procedure citeste_obiecte +Local lcMeniu,lcPageframe +lcMeniu=[contgest] +lcPageframe=[oprinc.pagefr1] + +Create Cursor CRSOBIECTE(ID_PROG N(1),CHEIE C(20),NIVEL N(2),EXPLICATIE C(100),TATA C(20),COD C(2),ID_OBIECT N(10),ID_TATA N(10)) +plCursor=.T. +citeste_meniu(90,lcmeniu,"Meniu") +citeste_pageframe(65,lcpageframe) +select * FROM crsobiecte INTO TABLE C:\crsobiecte.dbf +Endproc +************************************************************************ +Procedure citeste_meniu +Lparameters lnKey,lcNumeMeniu,lcOptiune +lcKey=Chr(lnKey) +*!* This.Nodes.Add(,1,lcKey,lcOptiune) +If plCursor + Insert Into CRSOBIECTE (CHEIE,NIVEL,EXPLICATIE,TATA) Values(lcKey,1,lcOptiune,[ ]) +Endif +lnKey2=65 +*!* k=0 +*!* Try +*!* lcKey2=lcKey+Chr(lnKey2) +*!* lnKey2=lnKey2+1 +*!* This.Nodes.Add(lcKey,4,lcKey2,'Utile') +*!* If plCursor +*!* Insert Into CRSOBIECTE (CHEIE,NIVEL,EXPLICATIE,TATA) Values(lcKey2,4,[Utile],lcKey) +*!* Endif +*!* For i=1 To Cntbar('utile') +*!* lcOptiune=Prmbar('utile',i) +*!* If !Empty(lcOptiune) +*!* k=k+1 +*!* This.Nodes.Add(lcKey2,4,lcKey2+Padl(Alltrim(Str(k)),2,[0]),lcOptiune) +*!* If plCursor +*!* Insert Into CRSOBIECTE (CHEIE,NIVEL,EXPLICATIE,TATA) Values(lcKey2+Padl(Alltrim(Str(k)),2,[0]),4,lcOptiune,lcKey2) +*!* Endif +*!* Endif +*!* Endfor +*!* Catch +*!* ENDTRY +k=0 +Try + lcKey2=lcKey+Chr(lnKey2) + lnKey2=lnKey2+1 +*!* This.Nodes.Add(lcKey,4,lcKey2,'Initializare') + If plCursor + Insert Into CRSOBIECTE (CHEIE,NIVEL,EXPLICATIE,TATA) Values(lcKey2,4,[Actualizare],lcKey) + Endif + For i=1 To Cntbar('actualizar') + lcOptiune=Prmbar('actualizar',i) + If !Empty(lcOptiune) + k=k+1 +*!* This.Nodes.Add(lcKey2,4,lcKey2+Padl(Alltrim(Str(k)),2,[0]),lcOptiune) + If plCursor + Insert Into CRSOBIECTE (CHEIE,NIVEL,EXPLICATIE,TATA) Values(lcKey2+Padl(Alltrim(Str(k)),2,[0]),4,lcOptiune,lcKey2) + Endif + Endif + Endfor +Catch +Endtry +*!* k=0 +*!* Try +*!* lcKey2=lcKey+Chr(lnKey2) +*!* *!* This.Nodes.Add(lcKey,4,lcKey2,'Actualizari') +*!* If plCursor +*!* Insert Into CRSOBIECTE (CHEIE,NIVEL,EXPLICATIE,TATA) Values(lcKey2,4,[Actualizari],lcKey) +*!* Endif +*!* For i=1 To Cntbar('_1bs12qror') +*!* lcOptiune=Prmbar('_1bs12qror',i) +*!* If !Empty(lcOptiune) +*!* k=k+1 +*!* *!* This.Nodes.Add(lcKey2,4,lcKey2+Padl(Alltrim(Str(k)),2,[0]),lcOptiune) +*!* If plCursor +*!* Insert Into CRSOBIECTE (CHEIE,NIVEL,EXPLICATIE,TATA) Values(lcKey2+Padl(Alltrim(Str(k)),2,[0]),4,lcOptiune,lcKey2) +*!* Endif +*!* Endif +*!* Endfor +*!* Catch +*!* Endtry +************************************************************************ +Procedure citeste_pageframe +Lparameters lnKey,lcPageframe,lcTata +Local lcKey,lcProp,lcOptiune,lnNivel,lnPozitie,i,j,k,l +Store [] To lcKey,lcProp,lcOptiune +Store 0 To lnNivel,lnPozitie,i,j,k,l +If Empty(lcTata) + lcTata=Null + lnNivel=1 +Else + lnNivel=4 +Endif +Set Exact On +With &lcPageframe + For i=1 To .PageCount + For j=1 To .PageCount + If .Pages(j).PageOrder=i + Exit + Endif + Endfor + With .Pages(j) + lcKey=Nvl(lcTata,[])+Chr(lnKey) +*!* This.Nodes.Add(lcTata,lnNivel,lcKey,.Caption) + lcProp="cnt"+lcKey +*!* This.AddProperty(lcProp,0) + If plCursor + Insert Into CRSOBIECTE (CHEIE,NIVEL,EXPLICATIE,TATA) Values(lcKey,lnNivel,.Caption,Nvl(lcTata,[ ])) + Endif + lcProp="cnt"+lcKey +*!* This.AddProperty(lcProp,0) + Dimension copii(128,3) + k=1 + For l=1 To .ControlCount + Do Case + Case Alltrim(Upper(.Objects(l).Class))='PAGEFRAME' + lcNume=lcPageframe+'.'+Alltrim(.Name)+'.'+Alltrim(Upper(.Objects(l).Name)) + citeste_pageframe(65,lcNume,lcKey) + Case Alltrim(Upper(.Objects(l).Class))='CW' And .Objects(l).nid_cw>0 + lcOptiune=.Objects(l).label_item1.Caption + lnPozitie=.Objects(l).nid_cw + copii(lnPozitie,1)=lcOptiune + copii(lnPozitie,2)=.Objects(l).ntip + copii(lnPozitie,3)=.Objects(l).cmeniu + k=k+1 + Endcase + Endfor + For l=1 To k-1 +*!* This.Nodes.Add(lcKey,4,lcKey+Padl(Alltrim(Str(l)),2,[0]),copii(l,1)) + If plCursor + Insert Into CRSOBIECTE (CHEIE,NIVEL,EXPLICATIE,TATA) Values(lcKey+Padl(Alltrim(Str(l)),2,[0]),4,copii(l,1),lcKey) + Endif +*!* If !Empty(copii(l,3)) +*!* This.adauga_meniuri(copii(l,3),copii(l,2),lcKey+Padl(Alltrim(Str(l)),2,[0])) +*!* Else + adauga_frunze(copii(l,2),lcKey+Padl(Alltrim(Str(l)),2,[0])) +*!* Endif + Endfor + Endwith + lnKey=lnKey+1 + Endfor +Endwith +Set Exact Off +Endproc +************************************************************************ +Procedure adauga_frunze +Lparameters lnTip,lcKey +Do Case +Case lnTip=0 && introducere +Case lnTip=1 && raport +*!* lcProp="cnt"+lcKey +*!* This.AddProperty(lcProp,0) +*!* This.Nodes.Add(lcKey,4,lcKey+"1","Export") +*!* This.Nodes.Add(lcKey,4,lcKey+"2","Listare") + If plCursor + Insert Into CRSOBIECTE (CHEIE,NIVEL,EXPLICATIE,TATA) Values(lcKey+"1",4,"Export",lcKey) + Insert Into CRSOBIECTE (CHEIE,NIVEL,EXPLICATIE,TATA) Values(lcKey+"2",4,"Listare",lcKey) + Endif +Case lnTip=2 && registru +*!* lcProp="cnt"+lcKey +*!* This.AddProperty(lcProp,0) +*!* This.Nodes.Add(lcKey,4,lcKey+"1","Export") +*!* This.Nodes.Add(lcKey,4,lcKey+"2","Listare") +*!* This.Nodes.Add(lcKey,4,lcKey+"3","Modificare") +*!* This.Nodes.Add(lcKey,4,lcKey+"4","Refacere") + If plCursor + Insert Into CRSOBIECTE (CHEIE,NIVEL,EXPLICATIE,TATA) Values(lcKey+"1",4,"Export",lcKey) + Insert Into CRSOBIECTE (CHEIE,NIVEL,EXPLICATIE,TATA) Values(lcKey+"2",4,"Listare",lcKey) + Insert Into CRSOBIECTE (CHEIE,NIVEL,EXPLICATIE,TATA) Values(lcKey+"3",4,"Modificare",lcKey) + Insert Into CRSOBIECTE (CHEIE,NIVEL,EXPLICATIE,TATA) Values(lcKey+"4",4,"Refacere",lcKey) + Endif +Case lnTip=3 && balanta\inreg. +*!* lcProp="cnt"+lcKey +*!* This.AddProperty(lcProp,0) +*!* This.Nodes.Add(lcKey,4,lcKey+"1","Export") +*!* This.Nodes.Add(lcKey,4,lcKey+"2","Listare") +*!* This.Nodes.Add(lcKey,4,lcKey+"3","Modificare") +*!* This.Nodes.Add(lcKey,4,lcKey+"4","Refacere") + If plCursor + Insert Into CRSOBIECTE (CHEIE,NIVEL,EXPLICATIE,TATA) Values(lcKey+"1",4,"Export",lcKey) + Insert Into CRSOBIECTE (CHEIE,NIVEL,EXPLICATIE,TATA) Values(lcKey+"2",4,"Listare",lcKey) + Insert Into CRSOBIECTE (CHEIE,NIVEL,EXPLICATIE,TATA) Values(lcKey+"3",4,"Modificare",lcKey) + Insert Into CRSOBIECTE (CHEIE,NIVEL,EXPLICATIE,TATA) Values(lcKey+"4",4,"Refacere",lcKey) + Endif +Case lnTip=4 && vizualizare +*!* lcProp="cnt"+lcKey +*!* This.AddProperty(lcProp,0) +*!* This.Nodes.Add(lcKey,4,lcKey+"1","Export") +*!* This.Nodes.Add(lcKey,4,lcKey+"2","Listare") +*!* This.Nodes.Add(lcKey,4,lcKey+"3","Modificare") +*!* This.Nodes.Add(lcKey,4,lcKey+"4","Stergere") +*!* This.Nodes.Add(lcKey,4,lcKey+"5","Vizualizare inreg. proprii") +*!* This.Nodes.Add(lcKey,4,lcKey+"6","Vizualizare toate inreg.") + If plCursor + Insert Into CRSOBIECTE (CHEIE,NIVEL,EXPLICATIE,TATA) Values(lcKey+"1",4,"Export",lcKey) + Insert Into CRSOBIECTE (CHEIE,NIVEL,EXPLICATIE,TATA) Values(lcKey+"2",4,"Listare",lcKey) + Insert Into CRSOBIECTE (CHEIE,NIVEL,EXPLICATIE,TATA) Values(lcKey+"3",4,"Modificare",lcKey) + Insert Into CRSOBIECTE (CHEIE,NIVEL,EXPLICATIE,TATA) Values(lcKey+"4",4,"Stergere",lcKey) + Insert Into CRSOBIECTE (CHEIE,NIVEL,EXPLICATIE,TATA) Values(lcKey+"5",4,"Vizualizare inreg.proprii",lcKey) + Insert Into CRSOBIECTE (CHEIE,NIVEL,EXPLICATIE,TATA) Values(lcKey+"6",4,"Vizualizare tot",lcKey) + ENDIF +Case lnTip=5 && personalizat +*!* lcProp="cnt"+lcKey +*!* This.AddProperty(lcProp,0) +*!* This.Nodes.Add(lcKey,4,lcKey+"1","Export") +*!* This.Nodes.Add(lcKey,4,lcKey+"2","Listare") +*!* This.Nodes.Add(lcKey,4,lcKey+"3","Modificare") +*!* This.Nodes.Add(lcKey,4,lcKey+"4","Stergere") +*!* This.Nodes.Add(lcKey,4,lcKey+"7","Altele...") +*!* This.Nodes.Add(lcKey,4,lcKey+"8","Altele...") + If plCursor + Insert Into CRSOBIECTE (CHEIE,NIVEL,EXPLICATIE,TATA) Values(lcKey+"1",4,"Export",lcKey) + Insert Into CRSOBIECTE (CHEIE,NIVEL,EXPLICATIE,TATA) Values(lcKey+"2",4,"Listare",lcKey) + Insert Into CRSOBIECTE (CHEIE,NIVEL,EXPLICATIE,TATA) Values(lcKey+"3",4,"Modificare",lcKey) + Insert Into CRSOBIECTE (CHEIE,NIVEL,EXPLICATIE,TATA) Values(lcKey+"4",4,"Stergere",lcKey) + Insert Into CRSOBIECTE (CHEIE,NIVEL,EXPLICATIE,TATA) Values(lcKey+"7",4,"Altele...",lcKey) + Insert Into CRSOBIECTE (CHEIE,NIVEL,EXPLICATIE,TATA) Values(lcKey+"8",4,"Altele...",lcKey) + Endif +Endcase +Endproc +************************************************************************ \ No newline at end of file diff --git a/Drepturi utilizatori/ROAGEST/crsobiecte.dbf b/Drepturi utilizatori/ROAGEST/crsobiecte.dbf new file mode 100644 index 0000000..23ffb8e Binary files /dev/null and b/Drepturi utilizatori/ROAGEST/crsobiecte.dbf differ diff --git a/Drepturi utilizatori/ROAGEST/obiecte.dbf b/Drepturi utilizatori/ROAGEST/obiecte.dbf new file mode 100644 index 0000000..3afac83 Binary files /dev/null and b/Drepturi utilizatori/ROAGEST/obiecte.dbf differ diff --git a/Drepturi utilizatori/ROAGEST/scrie_obiecte.prg b/Drepturi utilizatori/ROAGEST/scrie_obiecte.prg new file mode 100644 index 0000000..ee24304 --- /dev/null +++ b/Drepturi utilizatori/ROAGEST/scrie_obiecte.prg @@ -0,0 +1,62 @@ +&& id = 5 +lnIdProgram = 5 +lcLocalDir=Addbs(Justpath(Sys(16,0))) +Cd (lcLocalDir) +If Used('obiecte') + Use In obiecte +Endif +Use obiecte In 0 +gnhandle=SQLConnect('jcsserver','contafin_oracle','123') +If Used('crsmax') + Use In CrsMax +Endif +lcSql=[select pack_drepturi.getid_obiect() as maxid from dual] +lnSucces=SQLExec(gnhandle,lcSql,'crsmax') +If lnSucces<0 + Messagebox("Eroare la citirea id-ului!") + Exit +Endif +Select CrsMax +lnMaxId=maxid +Use In CrsMax +MESSAGEBOX(lnMaxId,0,"Id maxim pentru obiecte") + +Select obiecte +Replace id_prog With lnIdProgram All +Replace cod With Padl(Substr(Padl(Alltrim(cheie),5,[ ]),5,1),2,[0]) FOR TYPE(SUBSTR(ALLTRIM(cheie),LEN(ALLTRIM(cheie))-2))='N' +Replace cod With Padl(Substr(Padl(Alltrim(cheie),5,[ ]),4,2),2,[0]) FOR TYPE(SUBSTR(ALLTRIM(cheie),LEN(ALLTRIM(cheie))-2))<>'N' +Replace cod With Substr(cod,2,1) For !Inlist(Len(Alltrim(tata)),1,2) Or Type(Substr(cod,2,1))!='N' +Replace id_obiect With Recno()+lnMaxId All +Replace cheie With Alltrim(tata)+Alltrim(cod) All +Replace id_tata With -1 All +Select id_obiect,cheie From obiecte Where Alltrim(cheie) In (Select Distinct Alltrim(tata) As cheie From obiecte) Into Cursor crstati +Select crstati +Scan + lnIdObiect=id_obiect + lcCheie=Alltrim(cheie) + Select obiecte + Replace id_tata With lnIdObiect For Alltrim(tata)=lcCheie + Select crstati +Endscan +Use In crstati + +lcSql=[update def_obiecte set sters=2 where id_program=]+ALLTRIM(STR(lnIdProgram))+[ and sters=0] +lnSucces=SQLExec(gnhandle,lcSql) +If lnSucces<0 + Messagebox("Eroare la stergerea vechilor obiecte!") + Exit +Endif + +Select obiecte +Browse +Scan + lcSql=[insert into def_obiecte (id_obiect,id_program,id_tata,descriere,cod) ]+; + [values (]+Alltrim(Str(id_obiect))+[,]+ALLTRIM(STR(id_prog))+[,]+; + ALLTRIM(Str(id_tata))+[,']+Alltrim(explicatie)+[',']+Alltrim(cod)+[')] + lnSucces=SQLExec(gnhandle,lcSql) + If lnSucces<1 + Wait Window lcSql + Endif +Endscan +SQLDisconnect(gnhandle) +Use In obiecte \ No newline at end of file diff --git a/Drepturi utilizatori/ROALUCRARI/adaugare_drepturi.prg b/Drepturi utilizatori/ROALUCRARI/adaugare_drepturi.prg new file mode 100644 index 0000000..4a03368 --- /dev/null +++ b/Drepturi utilizatori/ROALUCRARI/adaugare_drepturi.prg @@ -0,0 +1,218 @@ +Procedure citeste_obiecte +Local lcMeniu,lcPageframe +*!* lcMeniu=[cont2000] +lcPageframe=[gofundal._pgfrmbase1] +Create Cursor CRSOBIECTE(ID_PROG N(1),CHEIE C(20),NIVEL N(2),EXPLICATIE C(100),TATA C(20),COD C(2),ID_OBIECT N(10),ID_TATA N(10)) +plCursor=.T. +*!* citeste_meniu(90,lcmeniu,"Meniu") +citeste_pageframe(65,lcpageframe) +select * FROM crsobiecte INTO TABLE C:\crsobiecte.dbf +Endproc +************************************************************************ +Procedure citeste_meniu +Lparameters lnKey,lcNumeMeniu,lcOptiune +lcKey=Chr(lnKey) +*!* This.Nodes.Add(,1,lcKey,lcOptiune) +If plCursor + Insert Into CRSOBIECTE (CHEIE,NIVEL,EXPLICATIE,TATA) Values(lcKey,1,lcOptiune,[ ]) +Endif +lnKey2=65 +*!* k=0 +*!* Try +*!* lcKey2=lcKey+Chr(lnKey2) +*!* lnKey2=lnKey2+1 +*!* This.Nodes.Add(lcKey,4,lcKey2,'Utile') +*!* If plCursor +*!* Insert Into CRSOBIECTE (CHEIE,NIVEL,EXPLICATIE,TATA) Values(lcKey2,4,[Utile],lcKey) +*!* Endif +*!* For i=1 To Cntbar('utile') +*!* lcOptiune=Prmbar('utile',i) +*!* If !Empty(lcOptiune) +*!* k=k+1 +*!* This.Nodes.Add(lcKey2,4,lcKey2+Padl(Alltrim(Str(k)),2,[0]),lcOptiune) +*!* If plCursor +*!* Insert Into CRSOBIECTE (CHEIE,NIVEL,EXPLICATIE,TATA) Values(lcKey2+Padl(Alltrim(Str(k)),2,[0]),4,lcOptiune,lcKey2) +*!* Endif +*!* Endif +*!* Endfor +*!* Catch +*!* ENDTRY +k=0 +Try + lcKey2=lcKey+Chr(lnKey2) + lnKey2=lnKey2+1 +*!* This.Nodes.Add(lcKey,4,lcKey2,'Initializare') + If plCursor + Insert Into CRSOBIECTE (CHEIE,NIVEL,EXPLICATIE,TATA) Values(lcKey2,4,[Initializare],lcKey) + Endif + For i=1 To Cntbar('initializa') + lcOptiune=Prmbar('initializa',i) + If !Empty(lcOptiune) + k=k+1 +*!* This.Nodes.Add(lcKey2,4,lcKey2+Padl(Alltrim(Str(k)),2,[0]),lcOptiune) + If plCursor + Insert Into CRSOBIECTE (CHEIE,NIVEL,EXPLICATIE,TATA) Values(lcKey2+Padl(Alltrim(Str(k)),2,[0]),4,lcOptiune,lcKey2) + Endif + Endif + Endfor +Catch +Endtry +k=0 +Try + lcKey2=lcKey+Chr(lnKey2) +*!* This.Nodes.Add(lcKey,4,lcKey2,'Actualizari') + If plCursor + Insert Into CRSOBIECTE (CHEIE,NIVEL,EXPLICATIE,TATA) Values(lcKey2,4,[Actualizari],lcKey) + Endif + For i=1 To Cntbar('_1bs12qror') + lcOptiune=Prmbar('_1bs12qror',i) + If !Empty(lcOptiune) + k=k+1 +*!* This.Nodes.Add(lcKey2,4,lcKey2+Padl(Alltrim(Str(k)),2,[0]),lcOptiune) + If plCursor + Insert Into CRSOBIECTE (CHEIE,NIVEL,EXPLICATIE,TATA) Values(lcKey2+Padl(Alltrim(Str(k)),2,[0]),4,lcOptiune,lcKey2) + Endif + Endif + Endfor +Catch +Endtry +************************************************************************ +Procedure citeste_pageframe +Lparameters lnKey,lcPageframe,lcTata +Local lcKey,lcProp,lcOptiune,lnNivel,lnPozitie,i,j,k,l +Store [] To lcKey,lcProp,lcOptiune +Store 0 To lnNivel,lnPozitie,i,j,k,l +If Empty(lcTata) + lcTata=Null + lnNivel=1 +Else + lnNivel=4 +Endif +Set Exact On +With &lcPageframe + For i=1 To .PageCount + For j=1 To .PageCount + If .Pages(j).PageOrder=i + Exit + Endif + Endfor + With .Pages(j) + lcKey=Nvl(lcTata,[])+Chr(lnKey) +*!* This.Nodes.Add(lcTata,lnNivel,lcKey,.Caption) + lcProp="cnt"+lcKey +*!* This.AddProperty(lcProp,0) + If plCursor + Insert Into CRSOBIECTE (CHEIE,NIVEL,EXPLICATIE,TATA) Values(lcKey,lnNivel,.Caption,Nvl(lcTata,[ ])) + Endif + lcProp="cnt"+lcKey +*!* This.AddProperty(lcProp,0) + Dimension copii(128,3) + k=1 + For l=1 To .ControlCount + Do Case + Case Alltrim(Upper(.Objects(l).Class))='PAGEFRAME' + lcNume=lcPageframe+'.'+Alltrim(.Name)+'.'+Alltrim(Upper(.Objects(l).Name)) + citeste_pageframe(65,lcNume,lcKey) + Case Alltrim(Upper(.Objects(l).Class))='CW' And .Objects(l).nid_cw>0 + lcOptiune=.Objects(l).label_item1.Caption + lnPozitie=.Objects(l).nid_cw + copii(lnPozitie,1)=lcOptiune + copii(lnPozitie,2)=.Objects(l).ntip + copii(lnPozitie,3)=.Objects(l).cmeniu + k=k+1 + Endcase + Endfor + For l=1 To k-1 +*!* This.Nodes.Add(lcKey,4,lcKey+Padl(Alltrim(Str(l)),2,[0]),copii(l,1)) + If plCursor + Insert Into CRSOBIECTE (CHEIE,NIVEL,EXPLICATIE,TATA) Values(lcKey+Padl(Alltrim(Str(l)),2,[0]),4,copii(l,1),lcKey) + Endif +*!* If !Empty(copii(l,3)) +*!* This.adauga_meniuri(copii(l,3),copii(l,2),lcKey+Padl(Alltrim(Str(l)),2,[0])) +*!* Else + adauga_frunze(copii(l,2),lcKey+Padl(Alltrim(Str(l)),2,[0])) +*!* Endif + Endfor + Endwith + lnKey=lnKey+1 + Endfor +Endwith +Set Exact Off +Endproc +************************************************************************ +Procedure adauga_frunze +Lparameters lnTip,lcKey +Do Case +Case lnTip=0 && introducere +Case lnTip=1 && raport +*!* lcProp="cnt"+lcKey +*!* This.AddProperty(lcProp,0) +*!* This.Nodes.Add(lcKey,4,lcKey+"1","Export") +*!* This.Nodes.Add(lcKey,4,lcKey+"2","Listare") + If plCursor + Insert Into CRSOBIECTE (CHEIE,NIVEL,EXPLICATIE,TATA) Values(lcKey+"1",4,"Export",lcKey) + Insert Into CRSOBIECTE (CHEIE,NIVEL,EXPLICATIE,TATA) Values(lcKey+"2",4,"Listare",lcKey) + Endif +Case lnTip=2 && registru +*!* lcProp="cnt"+lcKey +*!* This.AddProperty(lcProp,0) +*!* This.Nodes.Add(lcKey,4,lcKey+"1","Export") +*!* This.Nodes.Add(lcKey,4,lcKey+"2","Listare") +*!* This.Nodes.Add(lcKey,4,lcKey+"3","Modificare") +*!* This.Nodes.Add(lcKey,4,lcKey+"4","Refacere") + If plCursor + Insert Into CRSOBIECTE (CHEIE,NIVEL,EXPLICATIE,TATA) Values(lcKey+"1",4,"Export",lcKey) + Insert Into CRSOBIECTE (CHEIE,NIVEL,EXPLICATIE,TATA) Values(lcKey+"2",4,"Listare",lcKey) + Insert Into CRSOBIECTE (CHEIE,NIVEL,EXPLICATIE,TATA) Values(lcKey+"3",4,"Modificare",lcKey) + Insert Into CRSOBIECTE (CHEIE,NIVEL,EXPLICATIE,TATA) Values(lcKey+"4",4,"Refacere",lcKey) + Endif +Case lnTip=3 && balanta\inreg. +*!* lcProp="cnt"+lcKey +*!* This.AddProperty(lcProp,0) +*!* This.Nodes.Add(lcKey,4,lcKey+"1","Export") +*!* This.Nodes.Add(lcKey,4,lcKey+"2","Listare") +*!* This.Nodes.Add(lcKey,4,lcKey+"3","Modificare") +*!* This.Nodes.Add(lcKey,4,lcKey+"4","Refacere") + If plCursor + Insert Into CRSOBIECTE (CHEIE,NIVEL,EXPLICATIE,TATA) Values(lcKey+"1",4,"Export",lcKey) + Insert Into CRSOBIECTE (CHEIE,NIVEL,EXPLICATIE,TATA) Values(lcKey+"2",4,"Listare",lcKey) + Insert Into CRSOBIECTE (CHEIE,NIVEL,EXPLICATIE,TATA) Values(lcKey+"3",4,"Modificare",lcKey) + Insert Into CRSOBIECTE (CHEIE,NIVEL,EXPLICATIE,TATA) Values(lcKey+"4",4,"Refacere",lcKey) + Endif +Case lnTip=4 && vizualizare +*!* lcProp="cnt"+lcKey +*!* This.AddProperty(lcProp,0) +*!* This.Nodes.Add(lcKey,4,lcKey+"1","Export") +*!* This.Nodes.Add(lcKey,4,lcKey+"2","Listare") +*!* This.Nodes.Add(lcKey,4,lcKey+"3","Modificare") +*!* This.Nodes.Add(lcKey,4,lcKey+"4","Stergere") +*!* This.Nodes.Add(lcKey,4,lcKey+"5","Vizualizare inreg. proprii") +*!* This.Nodes.Add(lcKey,4,lcKey+"6","Vizualizare toate inreg.") + If plCursor + Insert Into CRSOBIECTE (CHEIE,NIVEL,EXPLICATIE,TATA) Values(lcKey+"1",4,"Export",lcKey) + Insert Into CRSOBIECTE (CHEIE,NIVEL,EXPLICATIE,TATA) Values(lcKey+"2",4,"Listare",lcKey) + Insert Into CRSOBIECTE (CHEIE,NIVEL,EXPLICATIE,TATA) Values(lcKey+"3",4,"Modificare",lcKey) + Insert Into CRSOBIECTE (CHEIE,NIVEL,EXPLICATIE,TATA) Values(lcKey+"4",4,"Stergere",lcKey) + Insert Into CRSOBIECTE (CHEIE,NIVEL,EXPLICATIE,TATA) Values(lcKey+"5",4,"Vizualizare inreg.proprii",lcKey) + Insert Into CRSOBIECTE (CHEIE,NIVEL,EXPLICATIE,TATA) Values(lcKey+"6",4,"Vizualizare tot",lcKey) + ENDIF +Case lnTip=5 && personalizat +*!* lcProp="cnt"+lcKey +*!* This.AddProperty(lcProp,0) +*!* This.Nodes.Add(lcKey,4,lcKey+"1","Export") +*!* This.Nodes.Add(lcKey,4,lcKey+"2","Listare") +*!* This.Nodes.Add(lcKey,4,lcKey+"3","Modificare") +*!* This.Nodes.Add(lcKey,4,lcKey+"4","Stergere") +*!* This.Nodes.Add(lcKey,4,lcKey+"7","Altele...") +*!* This.Nodes.Add(lcKey,4,lcKey+"8","Altele...") + If plCursor + Insert Into CRSOBIECTE (CHEIE,NIVEL,EXPLICATIE,TATA) Values(lcKey+"1",4,"Export",lcKey) + Insert Into CRSOBIECTE (CHEIE,NIVEL,EXPLICATIE,TATA) Values(lcKey+"2",4,"Listare",lcKey) + Insert Into CRSOBIECTE (CHEIE,NIVEL,EXPLICATIE,TATA) Values(lcKey+"3",4,"Modificare",lcKey) + Insert Into CRSOBIECTE (CHEIE,NIVEL,EXPLICATIE,TATA) Values(lcKey+"4",4,"Stergere",lcKey) + Insert Into CRSOBIECTE (CHEIE,NIVEL,EXPLICATIE,TATA) Values(lcKey+"7",4,"Altele...",lcKey) + Insert Into CRSOBIECTE (CHEIE,NIVEL,EXPLICATIE,TATA) Values(lcKey+"8",4,"Altele...",lcKey) + Endif +Endcase +Endproc +************************************************************************ \ No newline at end of file diff --git a/Drepturi utilizatori/ROALUCRARI/crsobiecte.dbf b/Drepturi utilizatori/ROALUCRARI/crsobiecte.dbf new file mode 100644 index 0000000..a40b235 Binary files /dev/null and b/Drepturi utilizatori/ROALUCRARI/crsobiecte.dbf differ diff --git a/Drepturi utilizatori/ROALUCRARI/def_obiecte_ROALUCRARI.sql b/Drepturi utilizatori/ROALUCRARI/def_obiecte_ROALUCRARI.sql new file mode 100644 index 0000000..b02270c --- /dev/null +++ b/Drepturi utilizatori/ROALUCRARI/def_obiecte_ROALUCRARI.sql @@ -0,0 +1,97 @@ +prompt PL/SQL Developer import file +prompt Created on Monday, April 17, 2006 by marius.atanasiu +set feedback off +set define off +prompt Disabling triggers for DEF_OBIECTE... +alter table DEF_OBIECTE disable all triggers; +prompt Deleting DEF_OBIECTE... +update DEF_OBIECTE set sters=2 where id_program=13; +commit; +prompt Loading DEF_OBIECTE... +insert into DEF_OBIECTE (ID_OBIECT, ID_PROGRAM, DESCRIERE, ID_TATA, COD, ID_UTILOP, DATAORA, STERS) +values (5070, 13, 'Configurare', -1, 'A', null, null, 0); +insert into DEF_OBIECTE (ID_OBIECT, ID_PROGRAM, DESCRIERE, ID_TATA, COD, ID_UTILOP, DATAORA, STERS) +values (5071, 13, 'Capitole de deviz', 5070, '01', null, null, 0); +insert into DEF_OBIECTE (ID_OBIECT, ID_PROGRAM, DESCRIERE, ID_TATA, COD, ID_UTILOP, DATAORA, STERS) +values (5072, 13, 'Vizualizare', 5071, '2', null, null, 0); +insert into DEF_OBIECTE (ID_OBIECT, ID_PROGRAM, DESCRIERE, ID_TATA, COD, ID_UTILOP, DATAORA, STERS) +values (5073, 13, 'Modificare', 5071, '3', null, null, 0); +insert into DEF_OBIECTE (ID_OBIECT, ID_PROGRAM, DESCRIERE, ID_TATA, COD, ID_UTILOP, DATAORA, STERS) +values (5074, 13, 'Stergere', 5071, '4', null, null, 0); +insert into DEF_OBIECTE (ID_OBIECT, ID_PROGRAM, DESCRIERE, ID_TATA, COD, ID_UTILOP, DATAORA, STERS) +values (5075, 13, 'Clienti', 5070, '02', null, null, 0); +insert into DEF_OBIECTE (ID_OBIECT, ID_PROGRAM, DESCRIERE, ID_TATA, COD, ID_UTILOP, DATAORA, STERS) +values (5076, 13, 'Vizualizare', 5075, '2', null, null, 0); +insert into DEF_OBIECTE (ID_OBIECT, ID_PROGRAM, DESCRIERE, ID_TATA, COD, ID_UTILOP, DATAORA, STERS) +values (5077, 13, 'Modificare', 5075, '3', null, null, 0); +insert into DEF_OBIECTE (ID_OBIECT, ID_PROGRAM, DESCRIERE, ID_TATA, COD, ID_UTILOP, DATAORA, STERS) +values (5078, 13, 'Stergere', 5075, '4', null, null, 0); +insert into DEF_OBIECTE (ID_OBIECT, ID_PROGRAM, DESCRIERE, ID_TATA, COD, ID_UTILOP, DATAORA, STERS) +values (5079, 13, 'Responsabili', 5070, '03', null, null, 0); +insert into DEF_OBIECTE (ID_OBIECT, ID_PROGRAM, DESCRIERE, ID_TATA, COD, ID_UTILOP, DATAORA, STERS) +values (5080, 13, 'Vizualizare', 5079, '2', null, null, 0); +insert into DEF_OBIECTE (ID_OBIECT, ID_PROGRAM, DESCRIERE, ID_TATA, COD, ID_UTILOP, DATAORA, STERS) +values (5081, 13, 'Modificare', 5079, '3', null, null, 0); +insert into DEF_OBIECTE (ID_OBIECT, ID_PROGRAM, DESCRIERE, ID_TATA, COD, ID_UTILOP, DATAORA, STERS) +values (5082, 13, 'Stergere', 5079, '4', null, null, 0); +insert into DEF_OBIECTE (ID_OBIECT, ID_PROGRAM, DESCRIERE, ID_TATA, COD, ID_UTILOP, DATAORA, STERS) +values (5083, 13, 'Configurare capitole de deviz', 5070, '04', null, null, 0); +insert into DEF_OBIECTE (ID_OBIECT, ID_PROGRAM, DESCRIERE, ID_TATA, COD, ID_UTILOP, DATAORA, STERS) +values (5084, 13, 'Vizualizare', 5083, '2', null, null, 0); +insert into DEF_OBIECTE (ID_OBIECT, ID_PROGRAM, DESCRIERE, ID_TATA, COD, ID_UTILOP, DATAORA, STERS) +values (5085, 13, 'Modificare', 5083, '3', null, null, 0); +insert into DEF_OBIECTE (ID_OBIECT, ID_PROGRAM, DESCRIERE, ID_TATA, COD, ID_UTILOP, DATAORA, STERS) +values (5087, 13, 'Configurare chei de repartizare a indirectelor', 5070, '05', null, null, 0); +insert into DEF_OBIECTE (ID_OBIECT, ID_PROGRAM, DESCRIERE, ID_TATA, COD, ID_UTILOP, DATAORA, STERS) +values (5088, 13, 'Vizualizare', 5087, '2', null, null, 0); +insert into DEF_OBIECTE (ID_OBIECT, ID_PROGRAM, DESCRIERE, ID_TATA, COD, ID_UTILOP, DATAORA, STERS) +values (5089, 13, 'Modificare', 5087, '3', null, null, 0); +insert into DEF_OBIECTE (ID_OBIECT, ID_PROGRAM, DESCRIERE, ID_TATA, COD, ID_UTILOP, DATAORA, STERS) +values (5091, 13, 'Lucrari', -1, 'B', null, null, 0); +insert into DEF_OBIECTE (ID_OBIECT, ID_PROGRAM, DESCRIERE, ID_TATA, COD, ID_UTILOP, DATAORA, STERS) +values (5092, 13, 'Oferte', 5091, '01', null, null, 0); +insert into DEF_OBIECTE (ID_OBIECT, ID_PROGRAM, DESCRIERE, ID_TATA, COD, ID_UTILOP, DATAORA, STERS) +values (5093, 13, 'Vizualizare', 5092, '2', null, null, 0); +insert into DEF_OBIECTE (ID_OBIECT, ID_PROGRAM, DESCRIERE, ID_TATA, COD, ID_UTILOP, DATAORA, STERS) +values (5094, 13, 'Modificare', 5092, '3', null, null, 0); +insert into DEF_OBIECTE (ID_OBIECT, ID_PROGRAM, DESCRIERE, ID_TATA, COD, ID_UTILOP, DATAORA, STERS) +values (5095, 13, 'Stergere', 5092, '4', null, null, 0); +insert into DEF_OBIECTE (ID_OBIECT, ID_PROGRAM, DESCRIERE, ID_TATA, COD, ID_UTILOP, DATAORA, STERS) +values (5096, 13, 'Lucrari', 5091, '02', null, null, 0); +insert into DEF_OBIECTE (ID_OBIECT, ID_PROGRAM, DESCRIERE, ID_TATA, COD, ID_UTILOP, DATAORA, STERS) +values (5097, 13, 'Vizualizare', 5096, '2', null, null, 0); +insert into DEF_OBIECTE (ID_OBIECT, ID_PROGRAM, DESCRIERE, ID_TATA, COD, ID_UTILOP, DATAORA, STERS) +values (5098, 13, 'Modificare', 5096, '3', null, null, 0); +insert into DEF_OBIECTE (ID_OBIECT, ID_PROGRAM, DESCRIERE, ID_TATA, COD, ID_UTILOP, DATAORA, STERS) +values (5099, 13, 'Stergere', 5096, '4', null, null, 0); +insert into DEF_OBIECTE (ID_OBIECT, ID_PROGRAM, DESCRIERE, ID_TATA, COD, ID_UTILOP, DATAORA, STERS) +values (5100, 13, 'Contracte', 5091, '03', null, null, 0); +insert into DEF_OBIECTE (ID_OBIECT, ID_PROGRAM, DESCRIERE, ID_TATA, COD, ID_UTILOP, DATAORA, STERS) +values (5101, 13, 'Vizualizare', 5100, '2', null, null, 0); +insert into DEF_OBIECTE (ID_OBIECT, ID_PROGRAM, DESCRIERE, ID_TATA, COD, ID_UTILOP, DATAORA, STERS) +values (5102, 13, 'Modificare', 5100, '3', null, null, 0); +insert into DEF_OBIECTE (ID_OBIECT, ID_PROGRAM, DESCRIERE, ID_TATA, COD, ID_UTILOP, DATAORA, STERS) +values (5103, 13, 'Stergere', 5100, '4', null, null, 0); +insert into DEF_OBIECTE (ID_OBIECT, ID_PROGRAM, DESCRIERE, ID_TATA, COD, ID_UTILOP, DATAORA, STERS) +values (5104, 13, 'Analiza', -1, 'C', null, null, 0); +insert into DEF_OBIECTE (ID_OBIECT, ID_PROGRAM, DESCRIERE, ID_TATA, COD, ID_UTILOP, DATAORA, STERS) +values (5105, 13, 'O lucrare', 5104, '01', null, null, 0); +insert into DEF_OBIECTE (ID_OBIECT, ID_PROGRAM, DESCRIERE, ID_TATA, COD, ID_UTILOP, DATAORA, STERS) +values (5106, 13, 'Toate lucrarile', 5104, '02', null, null, 0); +insert into DEF_OBIECTE (ID_OBIECT, ID_PROGRAM, DESCRIERE, ID_TATA, COD, ID_UTILOP, DATAORA, STERS) +values (5107, 13, 'Situatie comparativa Lista lucrari', 5104, '03', null, null, 0); +insert into DEF_OBIECTE (ID_OBIECT, ID_PROGRAM, DESCRIERE, ID_TATA, COD, ID_UTILOP, DATAORA, STERS) +values (5108, 13, 'O lucrare', 5104, '04', null, null, 0); +insert into DEF_OBIECTE (ID_OBIECT, ID_PROGRAM, DESCRIERE, ID_TATA, COD, ID_UTILOP, DATAORA, STERS) +values (5109, 13, 'Toate lucrarile', 5104, '05', null, null, 0); +insert into DEF_OBIECTE (ID_OBIECT, ID_PROGRAM, DESCRIERE, ID_TATA, COD, ID_UTILOP, DATAORA, STERS) +values (5110, 13, 'Situatie de post calcul pe societate', 5104, '06', null, null, 0); +insert into DEF_OBIECTE (ID_OBIECT, ID_PROGRAM, DESCRIERE, ID_TATA, COD, ID_UTILOP, DATAORA, STERS) +values (5111, 13, 'Opis', 5104, '07', null, null, 0); +commit; +prompt 42 records loaded +prompt Enabling triggers for DEF_OBIECTE... +alter table DEF_OBIECTE enable all triggers; +set feedback on +set define on +prompt Done. diff --git a/Drepturi utilizatori/ROALUCRARI/obiecte.dbf b/Drepturi utilizatori/ROALUCRARI/obiecte.dbf new file mode 100644 index 0000000..6064559 Binary files /dev/null and b/Drepturi utilizatori/ROALUCRARI/obiecte.dbf differ diff --git a/Drepturi utilizatori/ROALUCRARI/scrie_obiecte.prg b/Drepturi utilizatori/ROALUCRARI/scrie_obiecte.prg new file mode 100644 index 0000000..8da86f0 --- /dev/null +++ b/Drepturi utilizatori/ROALUCRARI/scrie_obiecte.prg @@ -0,0 +1,62 @@ +&& id = 13 +lnIdProgram = 13 +lcLocalDir=Addbs(Justpath(Sys(16,0))) +Cd (lcLocalDir) +If Used('obiecte') + Use In obiecte +Endif +Use obiecte In 0 +gnhandle=SQLConnect('jcsserver','contafin_oracle','123') +If Used('crsmax') + Use In CrsMax +Endif +lcSql=[select pack_drepturi.getid_obiect() as maxid from dual] +lnSucces=SQLExec(gnhandle,lcSql,'crsmax') +If lnSucces<0 + Messagebox("Eroare la citirea id-ului!") + Exit +Endif +Select CrsMax +lnMaxId=maxid +Use In CrsMax +MESSAGEBOX(lnMaxId,0,"Id maxim pentru obiecte") + +Select obiecte +Replace id_prog With lnIdProgram All +Replace cod With Padl(Substr(Padl(Alltrim(cheie),5,[ ]),5,1),2,[0]) FOR TYPE(SUBSTR(ALLTRIM(cheie),LEN(ALLTRIM(cheie))-2))='N' +Replace cod With Padl(Substr(Padl(Alltrim(cheie),5,[ ]),4,2),2,[0]) FOR TYPE(SUBSTR(ALLTRIM(cheie),LEN(ALLTRIM(cheie))-2))<>'N' +Replace cod With Substr(cod,2,1) For !Inlist(Len(Alltrim(tata)),1,2) Or Type(Substr(cod,2,1))!='N' +Replace id_obiect With Recno()+lnMaxId All +Replace cheie With Alltrim(tata)+Alltrim(cod) All +Replace id_tata With -1 All +Select id_obiect,cheie From obiecte Where Alltrim(cheie) In (Select Distinct Alltrim(tata) As cheie From obiecte) Into Cursor crstati +Select crstati +Scan + lnIdObiect=id_obiect + lcCheie=Alltrim(cheie) + Select obiecte + Replace id_tata With lnIdObiect For Alltrim(tata)=lcCheie + Select crstati +Endscan +Use In crstati + +lcSql=[update def_obiecte set sters=2 where id_program=]+ALLTRIM(STR(lnIdProgram))+[ and sters=0] +lnSucces=SQLExec(gnhandle,lcSql) +If lnSucces<0 + Messagebox("Eroare la stergerea vechilor obiecte!") + Exit +Endif + +Select obiecte +Browse +Scan + lcSql=[insert into def_obiecte (id_obiect,id_program,id_tata,descriere,cod) ]+; + [values (]+Alltrim(Str(id_obiect))+[,]+ALLTRIM(STR(id_prog))+[,]+; + ALLTRIM(Str(id_tata))+[,']+Alltrim(explicatie)+[',']+Alltrim(cod)+[')] + lnSucces=SQLExec(gnhandle,lcSql) + If lnSucces<1 + Wait Window lcSql + Endif +Endscan +SQLDisconnect(gnhandle) +Use In obiecte \ No newline at end of file diff --git a/Drepturi utilizatori/ROAMANAGER/adaugare_drepturi.prg b/Drepturi utilizatori/ROAMANAGER/adaugare_drepturi.prg new file mode 100644 index 0000000..0c9f55b --- /dev/null +++ b/Drepturi utilizatori/ROAMANAGER/adaugare_drepturi.prg @@ -0,0 +1,216 @@ +Procedure citeste_obiecte +Local lcMeniu,lcPageframe +lcMeniu=[manager] +lcPageframe=[oprinc.pagefr1] +Create Cursor CRSOBIECTE(ID_PROG N(1),CHEIE C(20),NIVEL N(2),EXPLICATIE C(100),TATA C(20),COD C(2),ID_OBIECT N(10),ID_TATA N(10)) +plCursor=.T. +citeste_meniu(90,lcmeniu,"Meniu") +citeste_pageframe(65,lcpageframe) +select * FROM crsobiecte INTO TABLE C:\crsobiecte.dbf +Endproc +************************************************************************ +Procedure citeste_meniu +Lparameters lnKey,lcNumeMeniu,lcOptiune +lcKey=Chr(lnKey) +*!* This.Nodes.Add(,1,lcKey,lcOptiune) +If plCursor + Insert Into CRSOBIECTE (CHEIE,NIVEL,EXPLICATIE,TATA) Values(lcKey,1,lcOptiune,[ ]) +Endif +lnKey2=65 +k=0 +Try + lcKey2=lcKey+Chr(lnKey2) + lnKey2=lnKey2+1 + If plCursor + Insert Into CRSOBIECTE (CHEIE,NIVEL,EXPLICATIE,TATA) Values(lcKey2,4,[Optiuni],lcKey) + Endif + For i=1 To Cntbar('optiuni') + lcOptiune=Prmbar('optiuni',i) + If !Empty(lcOptiune) + k=k+1 + If plCursor + Insert Into CRSOBIECTE (CHEIE,NIVEL,EXPLICATIE,TATA) Values(lcKey2+Padl(Alltrim(Str(k)),2,[0]),4,lcOptiune,lcKey2) + Endif + Endif + Endfor +Catch +ENDTRY +k=0 +Try + lcKey2=lcKey+Chr(lnKey2) + lnKey2=lnKey2+1 +*!* This.Nodes.Add(lcKey,4,lcKey2,'Initializare') + If plCursor + Insert Into CRSOBIECTE (CHEIE,NIVEL,EXPLICATIE,TATA) Values(lcKey2,4,[Vizualizare],lcKey) + Endif + For i=1 To Cntbar('vizualizar') + lcOptiune=Prmbar('vizualizar',i) + If !Empty(lcOptiune) + k=k+1 +*!* This.Nodes.Add(lcKey2,4,lcKey2+Padl(Alltrim(Str(k)),2,[0]),lcOptiune) + If plCursor + Insert Into CRSOBIECTE (CHEIE,NIVEL,EXPLICATIE,TATA) Values(lcKey2+Padl(Alltrim(Str(k)),2,[0]),4,lcOptiune,lcKey2) + Endif + Endif + Endfor +Catch +Endtry +k=0 +Try + lcKey2=lcKey+Chr(lnKey2) +*!* This.Nodes.Add(lcKey,4,lcKey2,'Actualizari') + If plCursor + Insert Into CRSOBIECTE (CHEIE,NIVEL,EXPLICATIE,TATA) Values(lcKey2,4,[Rapoarte generale],lcKey) + Endif + For i=1 To Cntbar('rapoartege') + lcOptiune=Prmbar('rapoartege',i) + If !Empty(lcOptiune) + k=k+1 +*!* This.Nodes.Add(lcKey2,4,lcKey2+Padl(Alltrim(Str(k)),2,[0]),lcOptiune) + If plCursor + Insert Into CRSOBIECTE (CHEIE,NIVEL,EXPLICATIE,TATA) Values(lcKey2+Padl(Alltrim(Str(k)),2,[0]),4,lcOptiune,lcKey2) + Endif + Endif + Endfor +Catch +Endtry +************************************************************************ +Procedure citeste_pageframe +Lparameters lnKey,lcPageframe,lcTata +Local lcKey,lcProp,lcOptiune,lnNivel,lnPozitie,i,j,k,l +Store [] To lcKey,lcProp,lcOptiune +Store 0 To lnNivel,lnPozitie,i,j,k,l +If Empty(lcTata) + lcTata=Null + lnNivel=1 +Else + lnNivel=4 +Endif +Set Exact On +With &lcPageframe + For i=1 To .PageCount + For j=1 To .PageCount + If .Pages(j).PageOrder=i + Exit + Endif + Endfor + With .Pages(j) + lcKey=Nvl(lcTata,[])+Chr(lnKey) +*!* This.Nodes.Add(lcTata,lnNivel,lcKey,.Caption) + lcProp="cnt"+lcKey +*!* This.AddProperty(lcProp,0) + If plCursor + Insert Into CRSOBIECTE (CHEIE,NIVEL,EXPLICATIE,TATA) Values(lcKey,lnNivel,.Caption,Nvl(lcTata,[ ])) + Endif + lcProp="cnt"+lcKey +*!* This.AddProperty(lcProp,0) + Dimension copii(128,3) + k=1 + For l=1 To .ControlCount + Do Case + Case Alltrim(Upper(.Objects(l).Class))='PAGEFRAME' + lcNume=lcPageframe+'.'+Alltrim(.Name)+'.'+Alltrim(Upper(.Objects(l).Name)) + citeste_pageframe(65,lcNume,lcKey) + Case Alltrim(Upper(.Objects(l).Class))='CW' And .Objects(l).nid_cw>0 + lcOptiune=.Objects(l).label_item1.Caption + lnPozitie=.Objects(l).nid_cw + copii(lnPozitie,1)=lcOptiune + copii(lnPozitie,2)=.Objects(l).ntip + copii(lnPozitie,3)=.Objects(l).cmeniu + k=k+1 + Endcase + Endfor + For l=1 To k-1 +*!* This.Nodes.Add(lcKey,4,lcKey+Padl(Alltrim(Str(l)),2,[0]),copii(l,1)) + If plCursor + Insert Into CRSOBIECTE (CHEIE,NIVEL,EXPLICATIE,TATA) Values(lcKey+Padl(Alltrim(Str(l)),2,[0]),4,copii(l,1),lcKey) + Endif +*!* If !Empty(copii(l,3)) +*!* This.adauga_meniuri(copii(l,3),copii(l,2),lcKey+Padl(Alltrim(Str(l)),2,[0])) +*!* Else + adauga_frunze(copii(l,2),lcKey+Padl(Alltrim(Str(l)),2,[0])) +*!* Endif + Endfor + Endwith + lnKey=lnKey+1 + Endfor +Endwith +Set Exact Off +Endproc +************************************************************************ +Procedure adauga_frunze +Lparameters lnTip,lcKey +Do Case +Case lnTip=0 && introducere +Case lnTip=1 && raport +*!* lcProp="cnt"+lcKey +*!* This.AddProperty(lcProp,0) +*!* This.Nodes.Add(lcKey,4,lcKey+"1","Export") +*!* This.Nodes.Add(lcKey,4,lcKey+"2","Listare") + If plCursor + Insert Into CRSOBIECTE (CHEIE,NIVEL,EXPLICATIE,TATA) Values(lcKey+"1",4,"Export",lcKey) + Insert Into CRSOBIECTE (CHEIE,NIVEL,EXPLICATIE,TATA) Values(lcKey+"2",4,"Listare",lcKey) + Endif +Case lnTip=2 && registru +*!* lcProp="cnt"+lcKey +*!* This.AddProperty(lcProp,0) +*!* This.Nodes.Add(lcKey,4,lcKey+"1","Export") +*!* This.Nodes.Add(lcKey,4,lcKey+"2","Listare") +*!* This.Nodes.Add(lcKey,4,lcKey+"3","Modificare") +*!* This.Nodes.Add(lcKey,4,lcKey+"4","Refacere") + If plCursor + Insert Into CRSOBIECTE (CHEIE,NIVEL,EXPLICATIE,TATA) Values(lcKey+"1",4,"Export",lcKey) + Insert Into CRSOBIECTE (CHEIE,NIVEL,EXPLICATIE,TATA) Values(lcKey+"2",4,"Listare",lcKey) + Insert Into CRSOBIECTE (CHEIE,NIVEL,EXPLICATIE,TATA) Values(lcKey+"3",4,"Modificare",lcKey) + Insert Into CRSOBIECTE (CHEIE,NIVEL,EXPLICATIE,TATA) Values(lcKey+"4",4,"Refacere",lcKey) + Endif +Case lnTip=3 && balanta\inreg. +*!* lcProp="cnt"+lcKey +*!* This.AddProperty(lcProp,0) +*!* This.Nodes.Add(lcKey,4,lcKey+"1","Export") +*!* This.Nodes.Add(lcKey,4,lcKey+"2","Listare") +*!* This.Nodes.Add(lcKey,4,lcKey+"3","Modificare") +*!* This.Nodes.Add(lcKey,4,lcKey+"4","Refacere") + If plCursor + Insert Into CRSOBIECTE (CHEIE,NIVEL,EXPLICATIE,TATA) Values(lcKey+"1",4,"Export",lcKey) + Insert Into CRSOBIECTE (CHEIE,NIVEL,EXPLICATIE,TATA) Values(lcKey+"2",4,"Listare",lcKey) + Insert Into CRSOBIECTE (CHEIE,NIVEL,EXPLICATIE,TATA) Values(lcKey+"3",4,"Modificare",lcKey) + Insert Into CRSOBIECTE (CHEIE,NIVEL,EXPLICATIE,TATA) Values(lcKey+"4",4,"Refacere",lcKey) + Endif +Case lnTip=4 && vizualizare +*!* lcProp="cnt"+lcKey +*!* This.AddProperty(lcProp,0) +*!* This.Nodes.Add(lcKey,4,lcKey+"1","Export") +*!* This.Nodes.Add(lcKey,4,lcKey+"2","Listare") +*!* This.Nodes.Add(lcKey,4,lcKey+"3","Modificare") +*!* This.Nodes.Add(lcKey,4,lcKey+"4","Stergere") +*!* This.Nodes.Add(lcKey,4,lcKey+"5","Vizualizare inreg. proprii") +*!* This.Nodes.Add(lcKey,4,lcKey+"6","Vizualizare toate inreg.") + If plCursor + Insert Into CRSOBIECTE (CHEIE,NIVEL,EXPLICATIE,TATA) Values(lcKey+"1",4,"Export",lcKey) + Insert Into CRSOBIECTE (CHEIE,NIVEL,EXPLICATIE,TATA) Values(lcKey+"2",4,"Listare",lcKey) + Insert Into CRSOBIECTE (CHEIE,NIVEL,EXPLICATIE,TATA) Values(lcKey+"3",4,"Modificare",lcKey) + Insert Into CRSOBIECTE (CHEIE,NIVEL,EXPLICATIE,TATA) Values(lcKey+"4",4,"Stergere",lcKey) + Insert Into CRSOBIECTE (CHEIE,NIVEL,EXPLICATIE,TATA) Values(lcKey+"5",4,"Vizualizare inreg.proprii",lcKey) + Insert Into CRSOBIECTE (CHEIE,NIVEL,EXPLICATIE,TATA) Values(lcKey+"6",4,"Vizualizare tot",lcKey) + ENDIF +Case lnTip=5 && personalizat +*!* lcProp="cnt"+lcKey +*!* This.AddProperty(lcProp,0) +*!* This.Nodes.Add(lcKey,4,lcKey+"1","Export") +*!* This.Nodes.Add(lcKey,4,lcKey+"2","Listare") +*!* This.Nodes.Add(lcKey,4,lcKey+"3","Modificare") +*!* This.Nodes.Add(lcKey,4,lcKey+"4","Stergere") +*!* This.Nodes.Add(lcKey,4,lcKey+"7","Altele...") +*!* This.Nodes.Add(lcKey,4,lcKey+"8","Altele...") + If plCursor + Insert Into CRSOBIECTE (CHEIE,NIVEL,EXPLICATIE,TATA) Values(lcKey+"1",4,"Export",lcKey) + Insert Into CRSOBIECTE (CHEIE,NIVEL,EXPLICATIE,TATA) Values(lcKey+"2",4,"Listare",lcKey) + Insert Into CRSOBIECTE (CHEIE,NIVEL,EXPLICATIE,TATA) Values(lcKey+"3",4,"Modificare",lcKey) + Insert Into CRSOBIECTE (CHEIE,NIVEL,EXPLICATIE,TATA) Values(lcKey+"4",4,"Stergere",lcKey) + Insert Into CRSOBIECTE (CHEIE,NIVEL,EXPLICATIE,TATA) Values(lcKey+"7",4,"Altele...",lcKey) + Insert Into CRSOBIECTE (CHEIE,NIVEL,EXPLICATIE,TATA) Values(lcKey+"8",4,"Altele...",lcKey) + Endif +Endcase +Endproc +************************************************************************ \ No newline at end of file diff --git a/Drepturi utilizatori/ROAMANAGER/crsobiecte.dbf b/Drepturi utilizatori/ROAMANAGER/crsobiecte.dbf new file mode 100644 index 0000000..a9db1d0 Binary files /dev/null and b/Drepturi utilizatori/ROAMANAGER/crsobiecte.dbf differ diff --git a/Drepturi utilizatori/ROAMANAGER/obiecte.dbf b/Drepturi utilizatori/ROAMANAGER/obiecte.dbf new file mode 100644 index 0000000..3f11771 Binary files /dev/null and b/Drepturi utilizatori/ROAMANAGER/obiecte.dbf differ diff --git a/Drepturi utilizatori/ROAMANAGER/scrie_obiecte.prg b/Drepturi utilizatori/ROAMANAGER/scrie_obiecte.prg new file mode 100644 index 0000000..6d0c8a4 --- /dev/null +++ b/Drepturi utilizatori/ROAMANAGER/scrie_obiecte.prg @@ -0,0 +1,62 @@ +&& id = 7 +lnIdProgram = 7 +lcLocalDir=Addbs(Justpath(Sys(16,0))) +Cd (lcLocalDir) +If Used('obiecte') + Use In obiecte +Endif +Use obiecte In 0 +gnhandle=SQLConnect('jcsserver','contafin_oracle','123') +If Used('crsmax') + Use In CrsMax +Endif +lcSql=[select pack_drepturi.getid_obiect() as maxid from dual] +lnSucces=SQLExec(gnhandle,lcSql,'crsmax') +If lnSucces<0 + Messagebox("Eroare la citirea id-ului!") + Exit +Endif +Select CrsMax +lnMaxId=maxid +Use In CrsMax +MESSAGEBOX(lnMaxId,0,"Id maxim pentru obiecte") + +Select obiecte +Replace id_prog With lnIdProgram All +Replace cod With Padl(Substr(Padl(Alltrim(cheie),5,[ ]),5,1),2,[0]) FOR TYPE(SUBSTR(ALLTRIM(cheie),LEN(ALLTRIM(cheie))-2))='N' +Replace cod With Padl(Substr(Padl(Alltrim(cheie),5,[ ]),4,2),2,[0]) FOR TYPE(SUBSTR(ALLTRIM(cheie),LEN(ALLTRIM(cheie))-2))<>'N' +Replace cod With Substr(cod,2,1) For !Inlist(Len(Alltrim(tata)),1,2) Or Type(Substr(cod,2,1))!='N' +Replace id_obiect With Recno()+lnMaxId All +Replace cheie With Alltrim(tata)+Alltrim(cod) All +Replace id_tata With -1 All +Select id_obiect,cheie From obiecte Where Alltrim(cheie) In (Select Distinct Alltrim(tata) As cheie From obiecte) Into Cursor crstati +Select crstati +Scan + lnIdObiect=id_obiect + lcCheie=Alltrim(cheie) + Select obiecte + Replace id_tata With lnIdObiect For Alltrim(tata)=lcCheie + Select crstati +Endscan +Use In crstati + +lcSql=[update def_obiecte set sters=2 where id_program=]+ALLTRIM(STR(lnIdProgram))+[ and sters=0] +lnSucces=SQLExec(gnhandle,lcSql) +If lnSucces<0 + Messagebox("Eroare la stergerea vechilor obiecte!") + Exit +Endif + +Select obiecte +Browse +Scan + lcSql=[insert into def_obiecte (id_obiect,id_program,id_tata,descriere,cod) ]+; + [values (]+Alltrim(Str(id_obiect))+[,]+ALLTRIM(STR(id_prog))+[,]+; + ALLTRIM(Str(id_tata))+[,']+Alltrim(explicatie)+[',']+Alltrim(cod)+[')] + lnSucces=SQLExec(gnhandle,lcSql) + If lnSucces<1 + Wait Window lcSql + Endif +Endscan +SQLDisconnect(gnhandle) +Use In obiecte \ No newline at end of file diff --git a/Drepturi utilizatori/def_obiecte_0311.sql b/Drepturi utilizatori/def_obiecte_0311.sql new file mode 100644 index 0000000..dbcd090 --- /dev/null +++ b/Drepturi utilizatori/def_obiecte_0311.sql @@ -0,0 +1,1134 @@ +prompt PL/SQL Developer import file +prompt Created on Thursday, October 27, 2005 by marius.atanasiu +set feedback off +set define off +prompt Disabling triggers for DEF_OBIECTE... +alter table DEF_OBIECTE disable all triggers; +prompt Disabling foreign key constraints for DEF_OBIECTE... +alter table DEF_OBIECTE disable constraint FK_DO01; +alter table DEF_OBIECTE disable constraint FK_DO02; +prompt Loading DEF_OBIECTE... +insert into DEF_OBIECTE (ID_OBIECT, ID_PROGRAM, DESCRIERE, ID_TATA, COD, ID_UTILOP, DATAORA, STERS) +values (2809, 8, 'Mecanici', 2807, '02', null, null, 0); +insert into DEF_OBIECTE (ID_OBIECT, ID_PROGRAM, DESCRIERE, ID_TATA, COD, ID_UTILOP, DATAORA, STERS) +values (2810, 8, 'Sectii', 2807, '03', null, null, 0); +insert into DEF_OBIECTE (ID_OBIECT, ID_PROGRAM, DESCRIERE, ID_TATA, COD, ID_UTILOP, DATAORA, STERS) +values (2811, 8, 'Asiguratori', 2807, '04', null, null, 0); +insert into DEF_OBIECTE (ID_OBIECT, ID_PROGRAM, DESCRIERE, ID_TATA, COD, ID_UTILOP, DATAORA, STERS) +values (2812, 8, 'Marci masini', 2807, '05', null, null, 0); +insert into DEF_OBIECTE (ID_OBIECT, ID_PROGRAM, DESCRIERE, ID_TATA, COD, ID_UTILOP, DATAORA, STERS) +values (2813, 8, 'Dealeri', 2807, '06', null, null, 0); +insert into DEF_OBIECTE (ID_OBIECT, ID_PROGRAM, DESCRIERE, ID_TATA, COD, ID_UTILOP, DATAORA, STERS) +values (2814, 8, 'Responsabili', 2807, '07', null, null, 0); +insert into DEF_OBIECTE (ID_OBIECT, ID_PROGRAM, DESCRIERE, ID_TATA, COD, ID_UTILOP, DATAORA, STERS) +values (2815, 8, 'Delegati', 2807, '08', null, null, 0); +insert into DEF_OBIECTE (ID_OBIECT, ID_PROGRAM, DESCRIERE, ID_TATA, COD, ID_UTILOP, DATAORA, STERS) +values (2816, 8, 'Norme', 2807, '09', null, null, 0); +insert into DEF_OBIECTE (ID_OBIECT, ID_PROGRAM, DESCRIERE, ID_TATA, COD, ID_UTILOP, DATAORA, STERS) +values (2817, 8, 'Preturi', 2807, '10', null, null, 0); +insert into DEF_OBIECTE (ID_OBIECT, ID_PROGRAM, DESCRIERE, ID_TATA, COD, ID_UTILOP, DATAORA, STERS) +values (2818, 8, 'Optiuni', 2807, '11', null, null, 0); +insert into DEF_OBIECTE (ID_OBIECT, ID_PROGRAM, DESCRIERE, ID_TATA, COD, ID_UTILOP, DATAORA, STERS) +values (2819, 8, 'Comenzi', -1, 'B', null, null, 0); +insert into DEF_OBIECTE (ID_OBIECT, ID_PROGRAM, DESCRIERE, ID_TATA, COD, ID_UTILOP, DATAORA, STERS) +values (2820, 8, 'Generare', 2819, '01', null, null, 0); +insert into DEF_OBIECTE (ID_OBIECT, ID_PROGRAM, DESCRIERE, ID_TATA, COD, ID_UTILOP, DATAORA, STERS) +values (2821, 8, 'Normare', 2819, '02', null, null, 0); +insert into DEF_OBIECTE (ID_OBIECT, ID_PROGRAM, DESCRIERE, ID_TATA, COD, ID_UTILOP, DATAORA, STERS) +values (2822, 8, 'Validare', 2819, '03', null, null, 0); +insert into DEF_OBIECTE (ID_OBIECT, ID_PROGRAM, DESCRIERE, ID_TATA, COD, ID_UTILOP, DATAORA, STERS) +values (2823, 8, 'Vizualizare stocuri', 2819, '04', null, null, 0); +insert into DEF_OBIECTE (ID_OBIECT, ID_PROGRAM, DESCRIERE, ID_TATA, COD, ID_UTILOP, DATAORA, STERS) +values (2824, 8, 'Comenzi in luna curenta', 2819, '05', null, null, 0); +insert into DEF_OBIECTE (ID_OBIECT, ID_PROGRAM, DESCRIERE, ID_TATA, COD, ID_UTILOP, DATAORA, STERS) +values (2825, 8, 'Istoric comenzi', 2819, '06', null, null, 0); +insert into DEF_OBIECTE (ID_OBIECT, ID_PROGRAM, DESCRIERE, ID_TATA, COD, ID_UTILOP, DATAORA, STERS) +values (2826, 8, 'Rapoarte', 2819, '07', null, null, 0); +insert into DEF_OBIECTE (ID_OBIECT, ID_PROGRAM, DESCRIERE, ID_TATA, COD, ID_UTILOP, DATAORA, STERS) +values (2827, 8, 'Export', 2826, '1', null, null, 0); +insert into DEF_OBIECTE (ID_OBIECT, ID_PROGRAM, DESCRIERE, ID_TATA, COD, ID_UTILOP, DATAORA, STERS) +values (2828, 8, 'Listare', 2826, '2', null, null, 0); +insert into DEF_OBIECTE (ID_OBIECT, ID_PROGRAM, DESCRIERE, ID_TATA, COD, ID_UTILOP, DATAORA, STERS) +values (2829, 8, 'Facturare', -1, 'C', null, null, 0); +insert into DEF_OBIECTE (ID_OBIECT, ID_PROGRAM, DESCRIERE, ID_TATA, COD, ID_UTILOP, DATAORA, STERS) +values (2830, 8, 'Factura deviz', 2829, '01', null, null, 0); +insert into DEF_OBIECTE (ID_OBIECT, ID_PROGRAM, DESCRIERE, ID_TATA, COD, ID_UTILOP, DATAORA, STERS) +values (2831, 8, 'Factura ITP', 2829, '02', null, null, 0); +insert into DEF_OBIECTE (ID_OBIECT, ID_PROGRAM, DESCRIERE, ID_TATA, COD, ID_UTILOP, DATAORA, STERS) +values (2832, 8, 'Factura spalare auto', 2829, '03', null, null, 0); +insert into DEF_OBIECTE (ID_OBIECT, ID_PROGRAM, DESCRIERE, ID_TATA, COD, ID_UTILOP, DATAORA, STERS) +values (2833, 8, 'Factura diverse', 2829, '04', null, null, 0); +insert into DEF_OBIECTE (ID_OBIECT, ID_PROGRAM, DESCRIERE, ID_TATA, COD, ID_UTILOP, DATAORA, STERS) +values (2834, 8, 'Facturi in luna curenta', 2829, '05', null, null, 0); +insert into DEF_OBIECTE (ID_OBIECT, ID_PROGRAM, DESCRIERE, ID_TATA, COD, ID_UTILOP, DATAORA, STERS) +values (2835, 8, 'Rapoarte', 2829, '06', null, null, 0); +insert into DEF_OBIECTE (ID_OBIECT, ID_PROGRAM, DESCRIERE, ID_TATA, COD, ID_UTILOP, DATAORA, STERS) +values (2836, 8, 'Export', 2835, '1', null, null, 0); +insert into DEF_OBIECTE (ID_OBIECT, ID_PROGRAM, DESCRIERE, ID_TATA, COD, ID_UTILOP, DATAORA, STERS) +values (2837, 8, 'Listare', 2835, '2', null, null, 0); +insert into DEF_OBIECTE (ID_OBIECT, ID_PROGRAM, DESCRIERE, ID_TATA, COD, ID_UTILOP, DATAORA, STERS) +values (2838, 8, 'Manopera', -1, 'D', null, null, 0); +insert into DEF_OBIECTE (ID_OBIECT, ID_PROGRAM, DESCRIERE, ID_TATA, COD, ID_UTILOP, DATAORA, STERS) +values (2839, 8, 'Manopera in luna curenta', 2838, '01', null, null, 0); +insert into DEF_OBIECTE (ID_OBIECT, ID_PROGRAM, DESCRIERE, ID_TATA, COD, ID_UTILOP, DATAORA, STERS) +values (2840, 8, 'Manopera comenzi inchise', 2838, '02', null, null, 0); +insert into DEF_OBIECTE (ID_OBIECT, ID_PROGRAM, DESCRIERE, ID_TATA, COD, ID_UTILOP, DATAORA, STERS) +values (2841, 8, 'Raport de salarizare', 2838, '03', null, null, 0); +insert into DEF_OBIECTE (ID_OBIECT, ID_PROGRAM, DESCRIERE, ID_TATA, COD, ID_UTILOP, DATAORA, STERS) +values (2842, 8, 'Rapoarte', 2838, '04', null, null, 0); +insert into DEF_OBIECTE (ID_OBIECT, ID_PROGRAM, DESCRIERE, ID_TATA, COD, ID_UTILOP, DATAORA, STERS) +values (2843, 8, 'Ore de manopera pe asiguratori', 2838, '05', null, null, 0); +insert into DEF_OBIECTE (ID_OBIECT, ID_PROGRAM, DESCRIERE, ID_TATA, COD, ID_UTILOP, DATAORA, STERS) +values (2844, 8, 'Manopera pe tehnicieni', 2838, '06', null, null, 0); +insert into DEF_OBIECTE (ID_OBIECT, ID_PROGRAM, DESCRIERE, ID_TATA, COD, ID_UTILOP, DATAORA, STERS) +values (2845, 8, 'Analiza', -1, 'E', null, null, 0); +insert into DEF_OBIECTE (ID_OBIECT, ID_PROGRAM, DESCRIERE, ID_TATA, COD, ID_UTILOP, DATAORA, STERS) +values (2846, 8, 'Verificare venituri', 2845, '01', null, null, 0); +insert into DEF_OBIECTE (ID_OBIECT, ID_PROGRAM, DESCRIERE, ID_TATA, COD, ID_UTILOP, DATAORA, STERS) +values (2847, 8, 'Productie neterminata', 2845, '02', null, null, 0); +insert into DEF_OBIECTE (ID_OBIECT, ID_PROGRAM, DESCRIERE, ID_TATA, COD, ID_UTILOP, DATAORA, STERS) +values (2851, 8, 'Modificare date clienti', 2808, '7', null, null, 0); +insert into DEF_OBIECTE (ID_OBIECT, ID_PROGRAM, DESCRIERE, ID_TATA, COD, ID_UTILOP, DATAORA, STERS) +values (2852, 8, 'Modificare nr. telefon', 2808, '3', null, null, 0); +insert into DEF_OBIECTE (ID_OBIECT, ID_PROGRAM, DESCRIERE, ID_TATA, COD, ID_UTILOP, DATAORA, STERS) +values (2807, 8, 'Configurare', -1, 'A', null, null, 0); +insert into DEF_OBIECTE (ID_OBIECT, ID_PROGRAM, DESCRIERE, ID_TATA, COD, ID_UTILOP, DATAORA, STERS) +values (2808, 8, 'Clienti', 2807, '01', null, null, 0); +insert into DEF_OBIECTE (ID_OBIECT, ID_PROGRAM, DESCRIERE, ID_TATA, COD, ID_UTILOP, DATAORA, STERS) +values (2523, 2, 'Initializare', 2513, 'A', 3, to_date('12-10-2005 12:07:47', 'dd-mm-yyyy hh24:mi:ss'), 0); +insert into DEF_OBIECTE (ID_OBIECT, ID_PROGRAM, DESCRIERE, ID_TATA, COD, ID_UTILOP, DATAORA, STERS) +values (2526, 2, 'Deschidere de luna noua', 2523, '01', 3, to_date('12-10-2005 12:07:47', 'dd-mm-yyyy hh24:mi:ss'), 0); +insert into DEF_OBIECTE (ID_OBIECT, ID_PROGRAM, DESCRIERE, ID_TATA, COD, ID_UTILOP, DATAORA, STERS) +values (2527, 2, 'Redeschidere de luna', 2523, '02', 3, to_date('12-10-2005 12:07:47', 'dd-mm-yyyy hh24:mi:ss'), 0); +insert into DEF_OBIECTE (ID_OBIECT, ID_PROGRAM, DESCRIERE, ID_TATA, COD, ID_UTILOP, DATAORA, STERS) +values (2534, 2, 'Plan conturi', 2523, '03', 3, to_date('12-10-2005 12:07:47', 'dd-mm-yyyy hh24:mi:ss'), 0); +insert into DEF_OBIECTE (ID_OBIECT, ID_PROGRAM, DESCRIERE, ID_TATA, COD, ID_UTILOP, DATAORA, STERS) +values (2535, 2, 'Entitati', 2523, '04', 3, to_date('12-10-2005 12:07:47', 'dd-mm-yyyy hh24:mi:ss'), 0); +insert into DEF_OBIECTE (ID_OBIECT, ID_PROGRAM, DESCRIERE, ID_TATA, COD, ID_UTILOP, DATAORA, STERS) +values (2536, 2, 'Balante Parteneri', 2523, '05', 3, to_date('12-10-2005 12:07:47', 'dd-mm-yyyy hh24:mi:ss'), 0); +insert into DEF_OBIECTE (ID_OBIECT, ID_PROGRAM, DESCRIERE, ID_TATA, COD, ID_UTILOP, DATAORA, STERS) +values (2539, 2, 'Actualizari', 2513, 'B', 3, to_date('12-10-2005 12:07:47', 'dd-mm-yyyy hh24:mi:ss'), 0); +insert into DEF_OBIECTE (ID_OBIECT, ID_PROGRAM, DESCRIERE, ID_TATA, COD, ID_UTILOP, DATAORA, STERS) +values (2543, 2, 'Initializare facturi/solduri', 2539, '01', 3, to_date('12-10-2005 12:07:47', 'dd-mm-yyyy hh24:mi:ss'), 0); +insert into DEF_OBIECTE (ID_OBIECT, ID_PROGRAM, DESCRIERE, ID_TATA, COD, ID_UTILOP, DATAORA, STERS) +values (2548, 2, 'Verificare Globala', 2539, '02', 3, to_date('12-10-2005 12:07:47', 'dd-mm-yyyy hh24:mi:ss'), 0); +insert into DEF_OBIECTE (ID_OBIECT, ID_PROGRAM, DESCRIERE, ID_TATA, COD, ID_UTILOP, DATAORA, STERS) +values (2549, 2, '*', -1, 'A', 3, to_date('12-10-2005 12:07:47', 'dd-mm-yyyy hh24:mi:ss'), 0); +insert into DEF_OBIECTE (ID_OBIECT, ID_PROGRAM, DESCRIERE, ID_TATA, COD, ID_UTILOP, DATAORA, STERS) +values (2550, 2, 'Note fara predefinire', 2549, '01', 3, to_date('12-10-2005 12:07:47', 'dd-mm-yyyy hh24:mi:ss'), 0); +insert into DEF_OBIECTE (ID_OBIECT, ID_PROGRAM, DESCRIERE, ID_TATA, COD, ID_UTILOP, DATAORA, STERS) +values (2551, 2, 'Note de inchidere', 2549, '02', 3, to_date('12-10-2005 12:07:47', 'dd-mm-yyyy hh24:mi:ss'), 0); +insert into DEF_OBIECTE (ID_OBIECT, ID_PROGRAM, DESCRIERE, ID_TATA, COD, ID_UTILOP, DATAORA, STERS) +values (2552, 2, 'Balanta', 2549, '03', 3, to_date('12-10-2005 12:07:47', 'dd-mm-yyyy hh24:mi:ss'), 0); +insert into DEF_OBIECTE (ID_OBIECT, ID_PROGRAM, DESCRIERE, ID_TATA, COD, ID_UTILOP, DATAORA, STERS) +values (2553, 2, 'Export', 2552, '1', 3, to_date('12-10-2005 12:07:47', 'dd-mm-yyyy hh24:mi:ss'), 0); +insert into DEF_OBIECTE (ID_OBIECT, ID_PROGRAM, DESCRIERE, ID_TATA, COD, ID_UTILOP, DATAORA, STERS) +values (2554, 2, 'Listare', 2552, '2', 3, to_date('12-10-2005 12:07:47', 'dd-mm-yyyy hh24:mi:ss'), 0); +insert into DEF_OBIECTE (ID_OBIECT, ID_PROGRAM, DESCRIERE, ID_TATA, COD, ID_UTILOP, DATAORA, STERS) +values (2555, 2, 'Modificare', 2552, '3', 3, to_date('12-10-2005 12:07:47', 'dd-mm-yyyy hh24:mi:ss'), 0); +insert into DEF_OBIECTE (ID_OBIECT, ID_PROGRAM, DESCRIERE, ID_TATA, COD, ID_UTILOP, DATAORA, STERS) +values (2556, 2, 'Refacere', 2552, '4', 3, to_date('12-10-2005 12:07:47', 'dd-mm-yyyy hh24:mi:ss'), 0); +insert into DEF_OBIECTE (ID_OBIECT, ID_PROGRAM, DESCRIERE, ID_TATA, COD, ID_UTILOP, DATAORA, STERS) +values (2557, 2, 'Registrul Jurnal', 2549, '04', 3, to_date('12-10-2005 12:07:47', 'dd-mm-yyyy hh24:mi:ss'), 0); +insert into DEF_OBIECTE (ID_OBIECT, ID_PROGRAM, DESCRIERE, ID_TATA, COD, ID_UTILOP, DATAORA, STERS) +values (2558, 2, 'Export', 2557, '1', 3, to_date('12-10-2005 12:07:47', 'dd-mm-yyyy hh24:mi:ss'), 0); +insert into DEF_OBIECTE (ID_OBIECT, ID_PROGRAM, DESCRIERE, ID_TATA, COD, ID_UTILOP, DATAORA, STERS) +values (2559, 2, 'Listare', 2557, '2', 3, to_date('12-10-2005 12:07:47', 'dd-mm-yyyy hh24:mi:ss'), 0); +insert into DEF_OBIECTE (ID_OBIECT, ID_PROGRAM, DESCRIERE, ID_TATA, COD, ID_UTILOP, DATAORA, STERS) +values (2560, 2, 'Modificare', 2557, '3', 3, to_date('12-10-2005 12:07:47', 'dd-mm-yyyy hh24:mi:ss'), 0); +insert into DEF_OBIECTE (ID_OBIECT, ID_PROGRAM, DESCRIERE, ID_TATA, COD, ID_UTILOP, DATAORA, STERS) +values (2561, 2, 'Stergere', 2557, '4', 3, to_date('12-10-2005 12:07:47', 'dd-mm-yyyy hh24:mi:ss'), 0); +insert into DEF_OBIECTE (ID_OBIECT, ID_PROGRAM, DESCRIERE, ID_TATA, COD, ID_UTILOP, DATAORA, STERS) +values (2562, 2, 'Vizualizare inreg.proprii', 2557, '5', 3, to_date('12-10-2005 12:07:47', 'dd-mm-yyyy hh24:mi:ss'), 0); +insert into DEF_OBIECTE (ID_OBIECT, ID_PROGRAM, DESCRIERE, ID_TATA, COD, ID_UTILOP, DATAORA, STERS) +values (2563, 2, 'Vizualizare tot', 2557, '6', 3, to_date('12-10-2005 12:07:47', 'dd-mm-yyyy hh24:mi:ss'), 0); +insert into DEF_OBIECTE (ID_OBIECT, ID_PROGRAM, DESCRIERE, ID_TATA, COD, ID_UTILOP, DATAORA, STERS) +values (2564, 2, 'Situatii contabile', 2549, '05', 3, to_date('12-10-2005 12:07:47', 'dd-mm-yyyy hh24:mi:ss'), 0); +insert into DEF_OBIECTE (ID_OBIECT, ID_PROGRAM, DESCRIERE, ID_TATA, COD, ID_UTILOP, DATAORA, STERS) +values (2565, 2, 'Export', 2564, '1', 3, to_date('12-10-2005 12:07:47', 'dd-mm-yyyy hh24:mi:ss'), 0); +insert into DEF_OBIECTE (ID_OBIECT, ID_PROGRAM, DESCRIERE, ID_TATA, COD, ID_UTILOP, DATAORA, STERS) +values (2566, 2, 'Listare', 2564, '2', 3, to_date('12-10-2005 12:07:47', 'dd-mm-yyyy hh24:mi:ss'), 0); +insert into DEF_OBIECTE (ID_OBIECT, ID_PROGRAM, DESCRIERE, ID_TATA, COD, ID_UTILOP, DATAORA, STERS) +values (2567, 2, 'Rapoarte', 2549, '06', 3, to_date('12-10-2005 12:07:47', 'dd-mm-yyyy hh24:mi:ss'), 0); +insert into DEF_OBIECTE (ID_OBIECT, ID_PROGRAM, DESCRIERE, ID_TATA, COD, ID_UTILOP, DATAORA, STERS) +values (2568, 2, 'Export', 2567, '1', 3, to_date('12-10-2005 12:07:47', 'dd-mm-yyyy hh24:mi:ss'), 0); +insert into DEF_OBIECTE (ID_OBIECT, ID_PROGRAM, DESCRIERE, ID_TATA, COD, ID_UTILOP, DATAORA, STERS) +values (2569, 2, 'Listare', 2567, '2', 3, to_date('12-10-2005 12:07:47', 'dd-mm-yyyy hh24:mi:ss'), 0); +insert into DEF_OBIECTE (ID_OBIECT, ID_PROGRAM, DESCRIERE, ID_TATA, COD, ID_UTILOP, DATAORA, STERS) +values (2570, 2, 'Capitaluri', -1, 'B', 3, to_date('12-10-2005 12:07:47', 'dd-mm-yyyy hh24:mi:ss'), 0); +insert into DEF_OBIECTE (ID_OBIECT, ID_PROGRAM, DESCRIERE, ID_TATA, COD, ID_UTILOP, DATAORA, STERS) +values (2571, 2, 'Capital social', 2570, '01', 3, to_date('12-10-2005 12:07:47', 'dd-mm-yyyy hh24:mi:ss'), 0); +insert into DEF_OBIECTE (ID_OBIECT, ID_PROGRAM, DESCRIERE, ID_TATA, COD, ID_UTILOP, DATAORA, STERS) +values (2572, 2, 'Rezerve reevaluare', 2570, '02', 3, to_date('12-10-2005 12:07:47', 'dd-mm-yyyy hh24:mi:ss'), 0); +insert into DEF_OBIECTE (ID_OBIECT, ID_PROGRAM, DESCRIERE, ID_TATA, COD, ID_UTILOP, DATAORA, STERS) +values (2573, 2, 'Rezerve', 2570, '03', 3, to_date('12-10-2005 12:07:47', 'dd-mm-yyyy hh24:mi:ss'), 0); +insert into DEF_OBIECTE (ID_OBIECT, ID_PROGRAM, DESCRIERE, ID_TATA, COD, ID_UTILOP, DATAORA, STERS) +values (2574, 2, 'Rezerve de conversie', 2570, '04', 3, to_date('12-10-2005 12:07:47', 'dd-mm-yyyy hh24:mi:ss'), 0); +insert into DEF_OBIECTE (ID_OBIECT, ID_PROGRAM, DESCRIERE, ID_TATA, COD, ID_UTILOP, DATAORA, STERS) +values (2575, 2, 'Profit si pierdere', 2570, '05', 3, to_date('12-10-2005 12:07:47', 'dd-mm-yyyy hh24:mi:ss'), 0); +insert into DEF_OBIECTE (ID_OBIECT, ID_PROGRAM, DESCRIERE, ID_TATA, COD, ID_UTILOP, DATAORA, STERS) +values (2576, 2, 'Repartizarea profitului', 2570, '06', 3, to_date('12-10-2005 12:07:47', 'dd-mm-yyyy hh24:mi:ss'), 0); +insert into DEF_OBIECTE (ID_OBIECT, ID_PROGRAM, DESCRIERE, ID_TATA, COD, ID_UTILOP, DATAORA, STERS) +values (2577, 2, 'Imprumuturi', 2570, '07', 3, to_date('12-10-2005 12:07:47', 'dd-mm-yyyy hh24:mi:ss'), 0); +insert into DEF_OBIECTE (ID_OBIECT, ID_PROGRAM, DESCRIERE, ID_TATA, COD, ID_UTILOP, DATAORA, STERS) +values (2578, 2, 'Imobilizari', -1, 'C', 3, to_date('12-10-2005 12:07:47', 'dd-mm-yyyy hh24:mi:ss'), 0); +insert into DEF_OBIECTE (ID_OBIECT, ID_PROGRAM, DESCRIERE, ID_TATA, COD, ID_UTILOP, DATAORA, STERS) +values (2579, 2, 'Necorporale', 2578, '01', 3, to_date('12-10-2005 12:07:47', 'dd-mm-yyyy hh24:mi:ss'), 0); +insert into DEF_OBIECTE (ID_OBIECT, ID_PROGRAM, DESCRIERE, ID_TATA, COD, ID_UTILOP, DATAORA, STERS) +values (2580, 2, 'Corporale', 2578, '02', 3, to_date('12-10-2005 12:07:47', 'dd-mm-yyyy hh24:mi:ss'), 0); +insert into DEF_OBIECTE (ID_OBIECT, ID_PROGRAM, DESCRIERE, ID_TATA, COD, ID_UTILOP, DATAORA, STERS) +values (2581, 2, 'Financiare', 2578, '03', 3, to_date('12-10-2005 12:07:47', 'dd-mm-yyyy hh24:mi:ss'), 0); +insert into DEF_OBIECTE (ID_OBIECT, ID_PROGRAM, DESCRIERE, ID_TATA, COD, ID_UTILOP, DATAORA, STERS) +values (2582, 2, 'In curs', 2578, '04', 3, to_date('12-10-2005 12:07:47', 'dd-mm-yyyy hh24:mi:ss'), 0); +insert into DEF_OBIECTE (ID_OBIECT, ID_PROGRAM, DESCRIERE, ID_TATA, COD, ID_UTILOP, DATAORA, STERS) +values (2583, 2, 'Leasing', 2578, '05', 3, to_date('12-10-2005 12:07:47', 'dd-mm-yyyy hh24:mi:ss'), 0); +insert into DEF_OBIECTE (ID_OBIECT, ID_PROGRAM, DESCRIERE, ID_TATA, COD, ID_UTILOP, DATAORA, STERS) +values (2584, 2, 'Rate', 2578, '06', 3, to_date('12-10-2005 12:07:47', 'dd-mm-yyyy hh24:mi:ss'), 0); +insert into DEF_OBIECTE (ID_OBIECT, ID_PROGRAM, DESCRIERE, ID_TATA, COD, ID_UTILOP, DATAORA, STERS) +values (2585, 2, 'Terti', -1, 'D', 3, to_date('12-10-2005 12:07:47', 'dd-mm-yyyy hh24:mi:ss'), 0); +insert into DEF_OBIECTE (ID_OBIECT, ID_PROGRAM, DESCRIERE, ID_TATA, COD, ID_UTILOP, DATAORA, STERS) +values (2586, 2, 'Furnizori', 2585, 'A', 3, to_date('12-10-2005 12:07:47', 'dd-mm-yyyy hh24:mi:ss'), 0); +insert into DEF_OBIECTE (ID_OBIECT, ID_PROGRAM, DESCRIERE, ID_TATA, COD, ID_UTILOP, DATAORA, STERS) +values (2587, 2, 'Furnizori', 2586, '01', 3, to_date('12-10-2005 12:07:47', 'dd-mm-yyyy hh24:mi:ss'), 0); +insert into DEF_OBIECTE (ID_OBIECT, ID_PROGRAM, DESCRIERE, ID_TATA, COD, ID_UTILOP, DATAORA, STERS) +values (2588, 2, 'Furnizori de imobilizari', 2586, '02', 3, to_date('12-10-2005 12:07:47', 'dd-mm-yyyy hh24:mi:ss'), 0); +insert into DEF_OBIECTE (ID_OBIECT, ID_PROGRAM, DESCRIERE, ID_TATA, COD, ID_UTILOP, DATAORA, STERS) +values (2589, 2, 'Facturi nesosite', 2586, '03', 3, to_date('12-10-2005 12:07:47', 'dd-mm-yyyy hh24:mi:ss'), 0); +insert into DEF_OBIECTE (ID_OBIECT, ID_PROGRAM, DESCRIERE, ID_TATA, COD, ID_UTILOP, DATAORA, STERS) +values (2590, 2, 'Efecte de platit', 2586, '04', 3, to_date('12-10-2005 12:07:47', 'dd-mm-yyyy hh24:mi:ss'), 0); +insert into DEF_OBIECTE (ID_OBIECT, ID_PROGRAM, DESCRIERE, ID_TATA, COD, ID_UTILOP, DATAORA, STERS) +values (2591, 2, 'Regularizari', 2586, '05', 3, to_date('12-10-2005 12:07:47', 'dd-mm-yyyy hh24:mi:ss'), 0); +insert into DEF_OBIECTE (ID_OBIECT, ID_PROGRAM, DESCRIERE, ID_TATA, COD, ID_UTILOP, DATAORA, STERS) +values (2592, 2, 'Registrul de cumparari', 2586, '06', 3, to_date('12-10-2005 12:07:47', 'dd-mm-yyyy hh24:mi:ss'), 0); +insert into DEF_OBIECTE (ID_OBIECT, ID_PROGRAM, DESCRIERE, ID_TATA, COD, ID_UTILOP, DATAORA, STERS) +values (2593, 2, 'Export', 2592, '1', 3, to_date('12-10-2005 12:07:47', 'dd-mm-yyyy hh24:mi:ss'), 0); +insert into DEF_OBIECTE (ID_OBIECT, ID_PROGRAM, DESCRIERE, ID_TATA, COD, ID_UTILOP, DATAORA, STERS) +values (2594, 2, 'Listare', 2592, '2', 3, to_date('12-10-2005 12:07:47', 'dd-mm-yyyy hh24:mi:ss'), 0); +insert into DEF_OBIECTE (ID_OBIECT, ID_PROGRAM, DESCRIERE, ID_TATA, COD, ID_UTILOP, DATAORA, STERS) +values (2595, 2, 'Modificare', 2592, '3', 3, to_date('12-10-2005 12:07:47', 'dd-mm-yyyy hh24:mi:ss'), 0); +commit; +prompt 100 records committed... +insert into DEF_OBIECTE (ID_OBIECT, ID_PROGRAM, DESCRIERE, ID_TATA, COD, ID_UTILOP, DATAORA, STERS) +values (2596, 2, 'Refacere', 2592, '4', 3, to_date('12-10-2005 12:07:47', 'dd-mm-yyyy hh24:mi:ss'), 0); +insert into DEF_OBIECTE (ID_OBIECT, ID_PROGRAM, DESCRIERE, ID_TATA, COD, ID_UTILOP, DATAORA, STERS) +values (2597, 2, 'Balante de furnizori', 2586, '07', 3, to_date('12-10-2005 12:07:47', 'dd-mm-yyyy hh24:mi:ss'), 0); +insert into DEF_OBIECTE (ID_OBIECT, ID_PROGRAM, DESCRIERE, ID_TATA, COD, ID_UTILOP, DATAORA, STERS) +values (2598, 2, 'Export', 2597, '1', 3, to_date('12-10-2005 12:07:47', 'dd-mm-yyyy hh24:mi:ss'), 0); +insert into DEF_OBIECTE (ID_OBIECT, ID_PROGRAM, DESCRIERE, ID_TATA, COD, ID_UTILOP, DATAORA, STERS) +values (2599, 2, 'Listare', 2597, '2', 3, to_date('12-10-2005 12:07:47', 'dd-mm-yyyy hh24:mi:ss'), 0); +insert into DEF_OBIECTE (ID_OBIECT, ID_PROGRAM, DESCRIERE, ID_TATA, COD, ID_UTILOP, DATAORA, STERS) +values (2600, 2, 'Modificare', 2597, '3', 3, to_date('12-10-2005 12:07:47', 'dd-mm-yyyy hh24:mi:ss'), 0); +insert into DEF_OBIECTE (ID_OBIECT, ID_PROGRAM, DESCRIERE, ID_TATA, COD, ID_UTILOP, DATAORA, STERS) +values (2601, 2, 'Refacere', 2597, '4', 3, to_date('12-10-2005 12:07:47', 'dd-mm-yyyy hh24:mi:ss'), 0); +insert into DEF_OBIECTE (ID_OBIECT, ID_PROGRAM, DESCRIERE, ID_TATA, COD, ID_UTILOP, DATAORA, STERS) +values (2602, 2, 'Situatii analitice si operative', 2586, '08', 3, to_date('12-10-2005 12:07:47', 'dd-mm-yyyy hh24:mi:ss'), 0); +insert into DEF_OBIECTE (ID_OBIECT, ID_PROGRAM, DESCRIERE, ID_TATA, COD, ID_UTILOP, DATAORA, STERS) +values (2603, 2, 'Export', 2602, '1', 3, to_date('12-10-2005 12:07:47', 'dd-mm-yyyy hh24:mi:ss'), 0); +insert into DEF_OBIECTE (ID_OBIECT, ID_PROGRAM, DESCRIERE, ID_TATA, COD, ID_UTILOP, DATAORA, STERS) +values (2604, 2, 'Listare', 2602, '2', 3, to_date('12-10-2005 12:07:47', 'dd-mm-yyyy hh24:mi:ss'), 0); +insert into DEF_OBIECTE (ID_OBIECT, ID_PROGRAM, DESCRIERE, ID_TATA, COD, ID_UTILOP, DATAORA, STERS) +values (2605, 2, 'Modificare', 2602, '3', 3, to_date('12-10-2005 12:07:47', 'dd-mm-yyyy hh24:mi:ss'), 0); +insert into DEF_OBIECTE (ID_OBIECT, ID_PROGRAM, DESCRIERE, ID_TATA, COD, ID_UTILOP, DATAORA, STERS) +values (2606, 2, 'Refacere', 2602, '4', 3, to_date('12-10-2005 12:07:47', 'dd-mm-yyyy hh24:mi:ss'), 0); +insert into DEF_OBIECTE (ID_OBIECT, ID_PROGRAM, DESCRIERE, ID_TATA, COD, ID_UTILOP, DATAORA, STERS) +values (2607, 2, 'Rapoarte', 2586, '09', 3, to_date('12-10-2005 12:07:47', 'dd-mm-yyyy hh24:mi:ss'), 0); +insert into DEF_OBIECTE (ID_OBIECT, ID_PROGRAM, DESCRIERE, ID_TATA, COD, ID_UTILOP, DATAORA, STERS) +values (2608, 2, 'Export', 2607, '1', 3, to_date('12-10-2005 12:07:47', 'dd-mm-yyyy hh24:mi:ss'), 0); +insert into DEF_OBIECTE (ID_OBIECT, ID_PROGRAM, DESCRIERE, ID_TATA, COD, ID_UTILOP, DATAORA, STERS) +values (2609, 2, 'Listare', 2607, '2', 3, to_date('12-10-2005 12:07:47', 'dd-mm-yyyy hh24:mi:ss'), 0); +insert into DEF_OBIECTE (ID_OBIECT, ID_PROGRAM, DESCRIERE, ID_TATA, COD, ID_UTILOP, DATAORA, STERS) +values (2610, 2, 'Clienti', 2585, 'B', 3, to_date('12-10-2005 12:07:47', 'dd-mm-yyyy hh24:mi:ss'), 0); +insert into DEF_OBIECTE (ID_OBIECT, ID_PROGRAM, DESCRIERE, ID_TATA, COD, ID_UTILOP, DATAORA, STERS) +values (2611, 2, 'Clienti', 2610, '01', 3, to_date('12-10-2005 12:07:47', 'dd-mm-yyyy hh24:mi:ss'), 0); +insert into DEF_OBIECTE (ID_OBIECT, ID_PROGRAM, DESCRIERE, ID_TATA, COD, ID_UTILOP, DATAORA, STERS) +values (2612, 2, 'Clienti incerti', 2610, '02', 3, to_date('12-10-2005 12:07:47', 'dd-mm-yyyy hh24:mi:ss'), 0); +insert into DEF_OBIECTE (ID_OBIECT, ID_PROGRAM, DESCRIERE, ID_TATA, COD, ID_UTILOP, DATAORA, STERS) +values (2613, 2, 'Facturi neintocmite', 2610, '03', 3, to_date('12-10-2005 12:07:47', 'dd-mm-yyyy hh24:mi:ss'), 0); +insert into DEF_OBIECTE (ID_OBIECT, ID_PROGRAM, DESCRIERE, ID_TATA, COD, ID_UTILOP, DATAORA, STERS) +values (2614, 2, 'Efecte de primit', 2610, '04', 3, to_date('12-10-2005 12:07:47', 'dd-mm-yyyy hh24:mi:ss'), 0); +insert into DEF_OBIECTE (ID_OBIECT, ID_PROGRAM, DESCRIERE, ID_TATA, COD, ID_UTILOP, DATAORA, STERS) +values (2615, 2, 'Regularizari', 2610, '05', 3, to_date('12-10-2005 12:07:47', 'dd-mm-yyyy hh24:mi:ss'), 0); +insert into DEF_OBIECTE (ID_OBIECT, ID_PROGRAM, DESCRIERE, ID_TATA, COD, ID_UTILOP, DATAORA, STERS) +values (2616, 2, 'Registrul de vanzari', 2610, '06', 3, to_date('12-10-2005 12:07:47', 'dd-mm-yyyy hh24:mi:ss'), 0); +insert into DEF_OBIECTE (ID_OBIECT, ID_PROGRAM, DESCRIERE, ID_TATA, COD, ID_UTILOP, DATAORA, STERS) +values (2617, 2, 'Export', 2616, '1', 3, to_date('12-10-2005 12:07:47', 'dd-mm-yyyy hh24:mi:ss'), 0); +insert into DEF_OBIECTE (ID_OBIECT, ID_PROGRAM, DESCRIERE, ID_TATA, COD, ID_UTILOP, DATAORA, STERS) +values (2618, 2, 'Listare', 2616, '2', 3, to_date('12-10-2005 12:07:47', 'dd-mm-yyyy hh24:mi:ss'), 0); +insert into DEF_OBIECTE (ID_OBIECT, ID_PROGRAM, DESCRIERE, ID_TATA, COD, ID_UTILOP, DATAORA, STERS) +values (2619, 2, 'Modificare', 2616, '3', 3, to_date('12-10-2005 12:07:47', 'dd-mm-yyyy hh24:mi:ss'), 0); +insert into DEF_OBIECTE (ID_OBIECT, ID_PROGRAM, DESCRIERE, ID_TATA, COD, ID_UTILOP, DATAORA, STERS) +values (2620, 2, 'Refacere', 2616, '4', 3, to_date('12-10-2005 12:07:47', 'dd-mm-yyyy hh24:mi:ss'), 0); +insert into DEF_OBIECTE (ID_OBIECT, ID_PROGRAM, DESCRIERE, ID_TATA, COD, ID_UTILOP, DATAORA, STERS) +values (2621, 2, 'Balante de clienti', 2610, '07', 3, to_date('12-10-2005 12:07:47', 'dd-mm-yyyy hh24:mi:ss'), 0); +insert into DEF_OBIECTE (ID_OBIECT, ID_PROGRAM, DESCRIERE, ID_TATA, COD, ID_UTILOP, DATAORA, STERS) +values (2622, 2, 'Export', 2621, '1', 3, to_date('12-10-2005 12:07:47', 'dd-mm-yyyy hh24:mi:ss'), 0); +insert into DEF_OBIECTE (ID_OBIECT, ID_PROGRAM, DESCRIERE, ID_TATA, COD, ID_UTILOP, DATAORA, STERS) +values (2623, 2, 'Listare', 2621, '2', 3, to_date('12-10-2005 12:07:47', 'dd-mm-yyyy hh24:mi:ss'), 0); +insert into DEF_OBIECTE (ID_OBIECT, ID_PROGRAM, DESCRIERE, ID_TATA, COD, ID_UTILOP, DATAORA, STERS) +values (2624, 2, 'Modificare', 2621, '3', 3, to_date('12-10-2005 12:07:47', 'dd-mm-yyyy hh24:mi:ss'), 0); +insert into DEF_OBIECTE (ID_OBIECT, ID_PROGRAM, DESCRIERE, ID_TATA, COD, ID_UTILOP, DATAORA, STERS) +values (2625, 2, 'Refacere', 2621, '4', 3, to_date('12-10-2005 12:07:47', 'dd-mm-yyyy hh24:mi:ss'), 0); +insert into DEF_OBIECTE (ID_OBIECT, ID_PROGRAM, DESCRIERE, ID_TATA, COD, ID_UTILOP, DATAORA, STERS) +values (2626, 2, 'Situatii analitice si operative', 2610, '08', 3, to_date('12-10-2005 12:07:47', 'dd-mm-yyyy hh24:mi:ss'), 0); +insert into DEF_OBIECTE (ID_OBIECT, ID_PROGRAM, DESCRIERE, ID_TATA, COD, ID_UTILOP, DATAORA, STERS) +values (2627, 2, 'Export', 2626, '1', 3, to_date('12-10-2005 12:07:47', 'dd-mm-yyyy hh24:mi:ss'), 0); +insert into DEF_OBIECTE (ID_OBIECT, ID_PROGRAM, DESCRIERE, ID_TATA, COD, ID_UTILOP, DATAORA, STERS) +values (2628, 2, 'Listare', 2626, '2', 3, to_date('12-10-2005 12:07:47', 'dd-mm-yyyy hh24:mi:ss'), 0); +insert into DEF_OBIECTE (ID_OBIECT, ID_PROGRAM, DESCRIERE, ID_TATA, COD, ID_UTILOP, DATAORA, STERS) +values (2629, 2, 'Modificare', 2626, '3', 3, to_date('12-10-2005 12:07:47', 'dd-mm-yyyy hh24:mi:ss'), 0); +insert into DEF_OBIECTE (ID_OBIECT, ID_PROGRAM, DESCRIERE, ID_TATA, COD, ID_UTILOP, DATAORA, STERS) +values (2630, 2, 'Refacere', 2626, '4', 3, to_date('12-10-2005 12:07:47', 'dd-mm-yyyy hh24:mi:ss'), 0); +insert into DEF_OBIECTE (ID_OBIECT, ID_PROGRAM, DESCRIERE, ID_TATA, COD, ID_UTILOP, DATAORA, STERS) +values (2631, 2, 'Rapoarte', 2610, '09', 3, to_date('12-10-2005 12:07:47', 'dd-mm-yyyy hh24:mi:ss'), 0); +insert into DEF_OBIECTE (ID_OBIECT, ID_PROGRAM, DESCRIERE, ID_TATA, COD, ID_UTILOP, DATAORA, STERS) +values (2632, 2, 'Export', 2631, '1', 3, to_date('12-10-2005 12:07:47', 'dd-mm-yyyy hh24:mi:ss'), 0); +insert into DEF_OBIECTE (ID_OBIECT, ID_PROGRAM, DESCRIERE, ID_TATA, COD, ID_UTILOP, DATAORA, STERS) +values (2633, 2, 'Listare', 2631, '2', 3, to_date('12-10-2005 12:07:47', 'dd-mm-yyyy hh24:mi:ss'), 0); +insert into DEF_OBIECTE (ID_OBIECT, ID_PROGRAM, DESCRIERE, ID_TATA, COD, ID_UTILOP, DATAORA, STERS) +values (2634, 2, 'Alti', 2585, 'C', 3, to_date('12-10-2005 12:07:47', 'dd-mm-yyyy hh24:mi:ss'), 0); +insert into DEF_OBIECTE (ID_OBIECT, ID_PROGRAM, DESCRIERE, ID_TATA, COD, ID_UTILOP, DATAORA, STERS) +values (2635, 2, 'Decontari in cadrul grupului', 2634, '01', 3, to_date('12-10-2005 12:07:47', 'dd-mm-yyyy hh24:mi:ss'), 0); +insert into DEF_OBIECTE (ID_OBIECT, ID_PROGRAM, DESCRIERE, ID_TATA, COD, ID_UTILOP, DATAORA, STERS) +values (2636, 2, 'Plata dividende', 2634, '02', 3, to_date('12-10-2005 12:07:47', 'dd-mm-yyyy hh24:mi:ss'), 0); +insert into DEF_OBIECTE (ID_OBIECT, ID_PROGRAM, DESCRIERE, ID_TATA, COD, ID_UTILOP, DATAORA, STERS) +values (2637, 2, 'Drepturi de personal neridicate', 2634, '03', 3, to_date('12-10-2005 12:07:47', 'dd-mm-yyyy hh24:mi:ss'), 0); +insert into DEF_OBIECTE (ID_OBIECT, ID_PROGRAM, DESCRIERE, ID_TATA, COD, ID_UTILOP, DATAORA, STERS) +values (2638, 2, 'Debitori', 2634, '04', 3, to_date('12-10-2005 12:07:47', 'dd-mm-yyyy hh24:mi:ss'), 0); +insert into DEF_OBIECTE (ID_OBIECT, ID_PROGRAM, DESCRIERE, ID_TATA, COD, ID_UTILOP, DATAORA, STERS) +values (2639, 2, 'Export', 2638, '1', 3, to_date('12-10-2005 12:07:47', 'dd-mm-yyyy hh24:mi:ss'), 0); +insert into DEF_OBIECTE (ID_OBIECT, ID_PROGRAM, DESCRIERE, ID_TATA, COD, ID_UTILOP, DATAORA, STERS) +values (2640, 2, 'Listare', 2638, '2', 3, to_date('12-10-2005 12:07:47', 'dd-mm-yyyy hh24:mi:ss'), 0); +insert into DEF_OBIECTE (ID_OBIECT, ID_PROGRAM, DESCRIERE, ID_TATA, COD, ID_UTILOP, DATAORA, STERS) +values (2641, 2, 'Modificare', 2638, '3', 3, to_date('12-10-2005 12:07:47', 'dd-mm-yyyy hh24:mi:ss'), 0); +insert into DEF_OBIECTE (ID_OBIECT, ID_PROGRAM, DESCRIERE, ID_TATA, COD, ID_UTILOP, DATAORA, STERS) +values (2642, 2, 'Refacere', 2638, '4', 3, to_date('12-10-2005 12:07:47', 'dd-mm-yyyy hh24:mi:ss'), 0); +insert into DEF_OBIECTE (ID_OBIECT, ID_PROGRAM, DESCRIERE, ID_TATA, COD, ID_UTILOP, DATAORA, STERS) +values (2643, 2, 'Creditori', 2634, '05', 3, to_date('12-10-2005 12:07:47', 'dd-mm-yyyy hh24:mi:ss'), 0); +insert into DEF_OBIECTE (ID_OBIECT, ID_PROGRAM, DESCRIERE, ID_TATA, COD, ID_UTILOP, DATAORA, STERS) +values (2644, 2, 'Export', 2643, '1', 3, to_date('12-10-2005 12:07:47', 'dd-mm-yyyy hh24:mi:ss'), 0); +insert into DEF_OBIECTE (ID_OBIECT, ID_PROGRAM, DESCRIERE, ID_TATA, COD, ID_UTILOP, DATAORA, STERS) +values (2645, 2, 'Listare', 2643, '2', 3, to_date('12-10-2005 12:07:47', 'dd-mm-yyyy hh24:mi:ss'), 0); +insert into DEF_OBIECTE (ID_OBIECT, ID_PROGRAM, DESCRIERE, ID_TATA, COD, ID_UTILOP, DATAORA, STERS) +values (2646, 2, 'Modificare', 2643, '3', 3, to_date('12-10-2005 12:07:47', 'dd-mm-yyyy hh24:mi:ss'), 0); +insert into DEF_OBIECTE (ID_OBIECT, ID_PROGRAM, DESCRIERE, ID_TATA, COD, ID_UTILOP, DATAORA, STERS) +values (2647, 2, 'Refacere', 2643, '4', 3, to_date('12-10-2005 12:07:47', 'dd-mm-yyyy hh24:mi:ss'), 0); +insert into DEF_OBIECTE (ID_OBIECT, ID_PROGRAM, DESCRIERE, ID_TATA, COD, ID_UTILOP, DATAORA, STERS) +values (2648, 2, 'Dividende', 2634, '06', 3, to_date('12-10-2005 12:07:47', 'dd-mm-yyyy hh24:mi:ss'), 0); +insert into DEF_OBIECTE (ID_OBIECT, ID_PROGRAM, DESCRIERE, ID_TATA, COD, ID_UTILOP, DATAORA, STERS) +values (2649, 2, 'Export', 2648, '1', 3, to_date('12-10-2005 12:07:47', 'dd-mm-yyyy hh24:mi:ss'), 0); +insert into DEF_OBIECTE (ID_OBIECT, ID_PROGRAM, DESCRIERE, ID_TATA, COD, ID_UTILOP, DATAORA, STERS) +values (2650, 2, 'Listare', 2648, '2', 3, to_date('12-10-2005 12:07:47', 'dd-mm-yyyy hh24:mi:ss'), 0); +insert into DEF_OBIECTE (ID_OBIECT, ID_PROGRAM, DESCRIERE, ID_TATA, COD, ID_UTILOP, DATAORA, STERS) +values (2651, 2, 'Modificare', 2648, '3', 3, to_date('12-10-2005 12:07:47', 'dd-mm-yyyy hh24:mi:ss'), 0); +insert into DEF_OBIECTE (ID_OBIECT, ID_PROGRAM, DESCRIERE, ID_TATA, COD, ID_UTILOP, DATAORA, STERS) +values (2652, 2, 'Refacere', 2648, '4', 3, to_date('12-10-2005 12:07:47', 'dd-mm-yyyy hh24:mi:ss'), 0); +insert into DEF_OBIECTE (ID_OBIECT, ID_PROGRAM, DESCRIERE, ID_TATA, COD, ID_UTILOP, DATAORA, STERS) +values (2653, 2, 'Cheltuieli in avans', 2634, '07', 3, to_date('12-10-2005 12:07:47', 'dd-mm-yyyy hh24:mi:ss'), 0); +insert into DEF_OBIECTE (ID_OBIECT, ID_PROGRAM, DESCRIERE, ID_TATA, COD, ID_UTILOP, DATAORA, STERS) +values (2654, 2, 'Export', 2653, '1', 3, to_date('12-10-2005 12:07:47', 'dd-mm-yyyy hh24:mi:ss'), 0); +insert into DEF_OBIECTE (ID_OBIECT, ID_PROGRAM, DESCRIERE, ID_TATA, COD, ID_UTILOP, DATAORA, STERS) +values (2655, 2, 'Listare', 2653, '2', 3, to_date('12-10-2005 12:07:47', 'dd-mm-yyyy hh24:mi:ss'), 0); +insert into DEF_OBIECTE (ID_OBIECT, ID_PROGRAM, DESCRIERE, ID_TATA, COD, ID_UTILOP, DATAORA, STERS) +values (2656, 2, 'Modificare', 2653, '3', 3, to_date('12-10-2005 12:07:47', 'dd-mm-yyyy hh24:mi:ss'), 0); +insert into DEF_OBIECTE (ID_OBIECT, ID_PROGRAM, DESCRIERE, ID_TATA, COD, ID_UTILOP, DATAORA, STERS) +values (2657, 2, 'Refacere', 2653, '4', 3, to_date('12-10-2005 12:07:47', 'dd-mm-yyyy hh24:mi:ss'), 0); +insert into DEF_OBIECTE (ID_OBIECT, ID_PROGRAM, DESCRIERE, ID_TATA, COD, ID_UTILOP, DATAORA, STERS) +values (2658, 2, 'Venituri in avans', 2634, '08', 3, to_date('12-10-2005 12:07:47', 'dd-mm-yyyy hh24:mi:ss'), 0); +insert into DEF_OBIECTE (ID_OBIECT, ID_PROGRAM, DESCRIERE, ID_TATA, COD, ID_UTILOP, DATAORA, STERS) +values (2659, 2, 'Export', 2658, '1', 3, to_date('12-10-2005 12:07:47', 'dd-mm-yyyy hh24:mi:ss'), 0); +insert into DEF_OBIECTE (ID_OBIECT, ID_PROGRAM, DESCRIERE, ID_TATA, COD, ID_UTILOP, DATAORA, STERS) +values (2660, 2, 'Listare', 2658, '2', 3, to_date('12-10-2005 12:07:47', 'dd-mm-yyyy hh24:mi:ss'), 0); +insert into DEF_OBIECTE (ID_OBIECT, ID_PROGRAM, DESCRIERE, ID_TATA, COD, ID_UTILOP, DATAORA, STERS) +values (2661, 2, 'Modificare', 2658, '3', 3, to_date('12-10-2005 12:07:47', 'dd-mm-yyyy hh24:mi:ss'), 0); +insert into DEF_OBIECTE (ID_OBIECT, ID_PROGRAM, DESCRIERE, ID_TATA, COD, ID_UTILOP, DATAORA, STERS) +values (2662, 2, 'Refacere', 2658, '4', 3, to_date('12-10-2005 12:07:47', 'dd-mm-yyyy hh24:mi:ss'), 0); +insert into DEF_OBIECTE (ID_OBIECT, ID_PROGRAM, DESCRIERE, ID_TATA, COD, ID_UTILOP, DATAORA, STERS) +values (2663, 2, 'Actionari', 2634, '09', 3, to_date('12-10-2005 12:07:47', 'dd-mm-yyyy hh24:mi:ss'), 0); +insert into DEF_OBIECTE (ID_OBIECT, ID_PROGRAM, DESCRIERE, ID_TATA, COD, ID_UTILOP, DATAORA, STERS) +values (2664, 2, 'Export', 2663, '1', 3, to_date('12-10-2005 12:07:47', 'dd-mm-yyyy hh24:mi:ss'), 0); +insert into DEF_OBIECTE (ID_OBIECT, ID_PROGRAM, DESCRIERE, ID_TATA, COD, ID_UTILOP, DATAORA, STERS) +values (2665, 2, 'Listare', 2663, '2', 3, to_date('12-10-2005 12:07:47', 'dd-mm-yyyy hh24:mi:ss'), 0); +insert into DEF_OBIECTE (ID_OBIECT, ID_PROGRAM, DESCRIERE, ID_TATA, COD, ID_UTILOP, DATAORA, STERS) +values (2666, 2, 'Modificare', 2663, '3', 3, to_date('12-10-2005 12:07:47', 'dd-mm-yyyy hh24:mi:ss'), 0); +insert into DEF_OBIECTE (ID_OBIECT, ID_PROGRAM, DESCRIERE, ID_TATA, COD, ID_UTILOP, DATAORA, STERS) +values (2667, 2, 'Refacere', 2663, '4', 3, to_date('12-10-2005 12:07:47', 'dd-mm-yyyy hh24:mi:ss'), 0); +insert into DEF_OBIECTE (ID_OBIECT, ID_PROGRAM, DESCRIERE, ID_TATA, COD, ID_UTILOP, DATAORA, STERS) +values (2668, 2, 'Balanta Parteneri', 2634, '10', 3, to_date('12-10-2005 12:07:47', 'dd-mm-yyyy hh24:mi:ss'), 0); +insert into DEF_OBIECTE (ID_OBIECT, ID_PROGRAM, DESCRIERE, ID_TATA, COD, ID_UTILOP, DATAORA, STERS) +values (2669, 2, 'Export', 2668, '1', 3, to_date('12-10-2005 12:07:47', 'dd-mm-yyyy hh24:mi:ss'), 0); +insert into DEF_OBIECTE (ID_OBIECT, ID_PROGRAM, DESCRIERE, ID_TATA, COD, ID_UTILOP, DATAORA, STERS) +values (2670, 2, 'Listare', 2668, '2', 3, to_date('12-10-2005 12:07:47', 'dd-mm-yyyy hh24:mi:ss'), 0); +insert into DEF_OBIECTE (ID_OBIECT, ID_PROGRAM, DESCRIERE, ID_TATA, COD, ID_UTILOP, DATAORA, STERS) +values (2671, 2, 'Modificare', 2668, '3', 3, to_date('12-10-2005 12:07:47', 'dd-mm-yyyy hh24:mi:ss'), 0); +insert into DEF_OBIECTE (ID_OBIECT, ID_PROGRAM, DESCRIERE, ID_TATA, COD, ID_UTILOP, DATAORA, STERS) +values (2672, 2, 'Refacere', 2668, '4', 3, to_date('12-10-2005 12:07:47', 'dd-mm-yyyy hh24:mi:ss'), 0); +insert into DEF_OBIECTE (ID_OBIECT, ID_PROGRAM, DESCRIERE, ID_TATA, COD, ID_UTILOP, DATAORA, STERS) +values (2673, 2, 'Balanta Parteneri Cumulata', 2634, '11', 3, to_date('12-10-2005 12:07:47', 'dd-mm-yyyy hh24:mi:ss'), 0); +insert into DEF_OBIECTE (ID_OBIECT, ID_PROGRAM, DESCRIERE, ID_TATA, COD, ID_UTILOP, DATAORA, STERS) +values (2674, 2, 'Export', 2673, '1', 3, to_date('12-10-2005 12:07:47', 'dd-mm-yyyy hh24:mi:ss'), 0); +insert into DEF_OBIECTE (ID_OBIECT, ID_PROGRAM, DESCRIERE, ID_TATA, COD, ID_UTILOP, DATAORA, STERS) +values (2675, 2, 'Listare', 2673, '2', 3, to_date('12-10-2005 12:07:47', 'dd-mm-yyyy hh24:mi:ss'), 0); +insert into DEF_OBIECTE (ID_OBIECT, ID_PROGRAM, DESCRIERE, ID_TATA, COD, ID_UTILOP, DATAORA, STERS) +values (2676, 2, 'Modificare', 2673, '3', 3, to_date('12-10-2005 12:07:47', 'dd-mm-yyyy hh24:mi:ss'), 0); +insert into DEF_OBIECTE (ID_OBIECT, ID_PROGRAM, DESCRIERE, ID_TATA, COD, ID_UTILOP, DATAORA, STERS) +values (2677, 2, 'Refacere', 2673, '4', 3, to_date('12-10-2005 12:07:47', 'dd-mm-yyyy hh24:mi:ss'), 0); +insert into DEF_OBIECTE (ID_OBIECT, ID_PROGRAM, DESCRIERE, ID_TATA, COD, ID_UTILOP, DATAORA, STERS) +values (2678, 2, 'Rapoarte', 2634, '12', 3, to_date('12-10-2005 12:07:47', 'dd-mm-yyyy hh24:mi:ss'), 0); +insert into DEF_OBIECTE (ID_OBIECT, ID_PROGRAM, DESCRIERE, ID_TATA, COD, ID_UTILOP, DATAORA, STERS) +values (2679, 2, 'Export', 2678, '1', 3, to_date('12-10-2005 12:07:47', 'dd-mm-yyyy hh24:mi:ss'), 0); +insert into DEF_OBIECTE (ID_OBIECT, ID_PROGRAM, DESCRIERE, ID_TATA, COD, ID_UTILOP, DATAORA, STERS) +values (2680, 2, 'Listare', 2678, '2', 3, to_date('12-10-2005 12:07:47', 'dd-mm-yyyy hh24:mi:ss'), 0); +insert into DEF_OBIECTE (ID_OBIECT, ID_PROGRAM, DESCRIERE, ID_TATA, COD, ID_UTILOP, DATAORA, STERS) +values (2681, 2, 'Trezorerie', -1, 'E', 3, to_date('12-10-2005 12:07:47', 'dd-mm-yyyy hh24:mi:ss'), 0); +insert into DEF_OBIECTE (ID_OBIECT, ID_PROGRAM, DESCRIERE, ID_TATA, COD, ID_UTILOP, DATAORA, STERS) +values (2682, 2, 'Casa', 2681, 'A', 3, to_date('12-10-2005 12:07:47', 'dd-mm-yyyy hh24:mi:ss'), 0); +insert into DEF_OBIECTE (ID_OBIECT, ID_PROGRAM, DESCRIERE, ID_TATA, COD, ID_UTILOP, DATAORA, STERS) +values (2683, 2, 'Casa incasari', 2682, '01', 3, to_date('12-10-2005 12:07:47', 'dd-mm-yyyy hh24:mi:ss'), 0); +insert into DEF_OBIECTE (ID_OBIECT, ID_PROGRAM, DESCRIERE, ID_TATA, COD, ID_UTILOP, DATAORA, STERS) +values (2684, 2, 'Casa plati', 2682, '02', 3, to_date('12-10-2005 12:07:47', 'dd-mm-yyyy hh24:mi:ss'), 0); +insert into DEF_OBIECTE (ID_OBIECT, ID_PROGRAM, DESCRIERE, ID_TATA, COD, ID_UTILOP, DATAORA, STERS) +values (2685, 2, 'Casa in valuta', 2682, '03', 3, to_date('12-10-2005 12:07:47', 'dd-mm-yyyy hh24:mi:ss'), 0); +insert into DEF_OBIECTE (ID_OBIECT, ID_PROGRAM, DESCRIERE, ID_TATA, COD, ID_UTILOP, DATAORA, STERS) +values (2686, 2, 'Registrul de casa', 2682, '04', 3, to_date('12-10-2005 12:07:47', 'dd-mm-yyyy hh24:mi:ss'), 0); +insert into DEF_OBIECTE (ID_OBIECT, ID_PROGRAM, DESCRIERE, ID_TATA, COD, ID_UTILOP, DATAORA, STERS) +values (2687, 2, 'Export', 2686, '1', 3, to_date('12-10-2005 12:07:47', 'dd-mm-yyyy hh24:mi:ss'), 0); +insert into DEF_OBIECTE (ID_OBIECT, ID_PROGRAM, DESCRIERE, ID_TATA, COD, ID_UTILOP, DATAORA, STERS) +values (2688, 2, 'Listare', 2686, '2', 3, to_date('12-10-2005 12:07:47', 'dd-mm-yyyy hh24:mi:ss'), 0); +insert into DEF_OBIECTE (ID_OBIECT, ID_PROGRAM, DESCRIERE, ID_TATA, COD, ID_UTILOP, DATAORA, STERS) +values (2689, 2, 'Modificare', 2686, '3', 3, to_date('12-10-2005 12:07:47', 'dd-mm-yyyy hh24:mi:ss'), 0); +insert into DEF_OBIECTE (ID_OBIECT, ID_PROGRAM, DESCRIERE, ID_TATA, COD, ID_UTILOP, DATAORA, STERS) +values (2690, 2, 'Refacere', 2686, '4', 3, to_date('12-10-2005 12:07:47', 'dd-mm-yyyy hh24:mi:ss'), 0); +insert into DEF_OBIECTE (ID_OBIECT, ID_PROGRAM, DESCRIERE, ID_TATA, COD, ID_UTILOP, DATAORA, STERS) +values (2691, 2, 'Solduri case', 2682, '05', 3, to_date('12-10-2005 12:07:47', 'dd-mm-yyyy hh24:mi:ss'), 0); +insert into DEF_OBIECTE (ID_OBIECT, ID_PROGRAM, DESCRIERE, ID_TATA, COD, ID_UTILOP, DATAORA, STERS) +values (2692, 2, 'Export', 2691, '1', 3, to_date('12-10-2005 12:07:47', 'dd-mm-yyyy hh24:mi:ss'), 0); +insert into DEF_OBIECTE (ID_OBIECT, ID_PROGRAM, DESCRIERE, ID_TATA, COD, ID_UTILOP, DATAORA, STERS) +values (2693, 2, 'Listare', 2691, '2', 3, to_date('12-10-2005 12:07:47', 'dd-mm-yyyy hh24:mi:ss'), 0); +insert into DEF_OBIECTE (ID_OBIECT, ID_PROGRAM, DESCRIERE, ID_TATA, COD, ID_UTILOP, DATAORA, STERS) +values (2694, 2, 'Modificare', 2691, '3', 3, to_date('12-10-2005 12:07:47', 'dd-mm-yyyy hh24:mi:ss'), 0); +insert into DEF_OBIECTE (ID_OBIECT, ID_PROGRAM, DESCRIERE, ID_TATA, COD, ID_UTILOP, DATAORA, STERS) +values (2695, 2, 'Refacere', 2691, '4', 3, to_date('12-10-2005 12:07:47', 'dd-mm-yyyy hh24:mi:ss'), 0); +commit; +prompt 200 records committed... +insert into DEF_OBIECTE (ID_OBIECT, ID_PROGRAM, DESCRIERE, ID_TATA, COD, ID_UTILOP, DATAORA, STERS) +values (2696, 2, 'Reg.de casa in valuta', 2682, '06', 3, to_date('12-10-2005 12:07:47', 'dd-mm-yyyy hh24:mi:ss'), 0); +insert into DEF_OBIECTE (ID_OBIECT, ID_PROGRAM, DESCRIERE, ID_TATA, COD, ID_UTILOP, DATAORA, STERS) +values (2697, 2, 'Export', 2696, '1', 3, to_date('12-10-2005 12:07:47', 'dd-mm-yyyy hh24:mi:ss'), 0); +insert into DEF_OBIECTE (ID_OBIECT, ID_PROGRAM, DESCRIERE, ID_TATA, COD, ID_UTILOP, DATAORA, STERS) +values (2698, 2, 'Listare', 2696, '2', 3, to_date('12-10-2005 12:07:47', 'dd-mm-yyyy hh24:mi:ss'), 0); +insert into DEF_OBIECTE (ID_OBIECT, ID_PROGRAM, DESCRIERE, ID_TATA, COD, ID_UTILOP, DATAORA, STERS) +values (2699, 2, 'Modificare', 2696, '3', 3, to_date('12-10-2005 12:07:47', 'dd-mm-yyyy hh24:mi:ss'), 0); +insert into DEF_OBIECTE (ID_OBIECT, ID_PROGRAM, DESCRIERE, ID_TATA, COD, ID_UTILOP, DATAORA, STERS) +values (2700, 2, 'Refacere', 2696, '4', 3, to_date('12-10-2005 12:07:47', 'dd-mm-yyyy hh24:mi:ss'), 0); +insert into DEF_OBIECTE (ID_OBIECT, ID_PROGRAM, DESCRIERE, ID_TATA, COD, ID_UTILOP, DATAORA, STERS) +values (2701, 2, 'Solduri case in valuta', 2682, '07', 3, to_date('12-10-2005 12:07:47', 'dd-mm-yyyy hh24:mi:ss'), 0); +insert into DEF_OBIECTE (ID_OBIECT, ID_PROGRAM, DESCRIERE, ID_TATA, COD, ID_UTILOP, DATAORA, STERS) +values (2702, 2, 'Export', 2701, '1', 3, to_date('12-10-2005 12:07:47', 'dd-mm-yyyy hh24:mi:ss'), 0); +insert into DEF_OBIECTE (ID_OBIECT, ID_PROGRAM, DESCRIERE, ID_TATA, COD, ID_UTILOP, DATAORA, STERS) +values (2703, 2, 'Listare', 2701, '2', 3, to_date('12-10-2005 12:07:47', 'dd-mm-yyyy hh24:mi:ss'), 0); +insert into DEF_OBIECTE (ID_OBIECT, ID_PROGRAM, DESCRIERE, ID_TATA, COD, ID_UTILOP, DATAORA, STERS) +values (2704, 2, 'Modificare', 2701, '3', 3, to_date('12-10-2005 12:07:47', 'dd-mm-yyyy hh24:mi:ss'), 0); +insert into DEF_OBIECTE (ID_OBIECT, ID_PROGRAM, DESCRIERE, ID_TATA, COD, ID_UTILOP, DATAORA, STERS) +values (2705, 2, 'Refacere', 2701, '4', 3, to_date('12-10-2005 12:07:47', 'dd-mm-yyyy hh24:mi:ss'), 0); +insert into DEF_OBIECTE (ID_OBIECT, ID_PROGRAM, DESCRIERE, ID_TATA, COD, ID_UTILOP, DATAORA, STERS) +values (2706, 2, 'Rapoarte', 2682, '08', 3, to_date('12-10-2005 12:07:47', 'dd-mm-yyyy hh24:mi:ss'), 0); +insert into DEF_OBIECTE (ID_OBIECT, ID_PROGRAM, DESCRIERE, ID_TATA, COD, ID_UTILOP, DATAORA, STERS) +values (2707, 2, 'Export', 2706, '1', 3, to_date('12-10-2005 12:07:47', 'dd-mm-yyyy hh24:mi:ss'), 0); +insert into DEF_OBIECTE (ID_OBIECT, ID_PROGRAM, DESCRIERE, ID_TATA, COD, ID_UTILOP, DATAORA, STERS) +values (2708, 2, 'Listare', 2706, '2', 3, to_date('12-10-2005 12:07:47', 'dd-mm-yyyy hh24:mi:ss'), 0); +insert into DEF_OBIECTE (ID_OBIECT, ID_PROGRAM, DESCRIERE, ID_TATA, COD, ID_UTILOP, DATAORA, STERS) +values (2709, 2, 'Banca', 2681, 'B', 3, to_date('12-10-2005 12:07:47', 'dd-mm-yyyy hh24:mi:ss'), 0); +insert into DEF_OBIECTE (ID_OBIECT, ID_PROGRAM, DESCRIERE, ID_TATA, COD, ID_UTILOP, DATAORA, STERS) +values (2710, 2, 'Banca incasari', 2709, '01', 3, to_date('12-10-2005 12:07:47', 'dd-mm-yyyy hh24:mi:ss'), 0); +insert into DEF_OBIECTE (ID_OBIECT, ID_PROGRAM, DESCRIERE, ID_TATA, COD, ID_UTILOP, DATAORA, STERS) +values (2711, 2, 'Banca plati', 2709, '02', 3, to_date('12-10-2005 12:07:47', 'dd-mm-yyyy hh24:mi:ss'), 0); +insert into DEF_OBIECTE (ID_OBIECT, ID_PROGRAM, DESCRIERE, ID_TATA, COD, ID_UTILOP, DATAORA, STERS) +values (2712, 2, 'Banca in valuta', 2709, '03', 3, to_date('12-10-2005 12:07:47', 'dd-mm-yyyy hh24:mi:ss'), 0); +insert into DEF_OBIECTE (ID_OBIECT, ID_PROGRAM, DESCRIERE, ID_TATA, COD, ID_UTILOP, DATAORA, STERS) +values (2713, 2, 'Registrul de banca', 2709, '04', 3, to_date('12-10-2005 12:07:47', 'dd-mm-yyyy hh24:mi:ss'), 0); +insert into DEF_OBIECTE (ID_OBIECT, ID_PROGRAM, DESCRIERE, ID_TATA, COD, ID_UTILOP, DATAORA, STERS) +values (2714, 2, 'Export', 2713, '1', 3, to_date('12-10-2005 12:07:47', 'dd-mm-yyyy hh24:mi:ss'), 0); +insert into DEF_OBIECTE (ID_OBIECT, ID_PROGRAM, DESCRIERE, ID_TATA, COD, ID_UTILOP, DATAORA, STERS) +values (2715, 2, 'Listare', 2713, '2', 3, to_date('12-10-2005 12:07:47', 'dd-mm-yyyy hh24:mi:ss'), 0); +insert into DEF_OBIECTE (ID_OBIECT, ID_PROGRAM, DESCRIERE, ID_TATA, COD, ID_UTILOP, DATAORA, STERS) +values (2716, 2, 'Modificare', 2713, '3', 3, to_date('12-10-2005 12:07:47', 'dd-mm-yyyy hh24:mi:ss'), 0); +insert into DEF_OBIECTE (ID_OBIECT, ID_PROGRAM, DESCRIERE, ID_TATA, COD, ID_UTILOP, DATAORA, STERS) +values (2717, 2, 'Refacere', 2713, '4', 3, to_date('12-10-2005 12:07:47', 'dd-mm-yyyy hh24:mi:ss'), 0); +insert into DEF_OBIECTE (ID_OBIECT, ID_PROGRAM, DESCRIERE, ID_TATA, COD, ID_UTILOP, DATAORA, STERS) +values (2718, 2, 'Solduri banci', 2709, '05', 3, to_date('12-10-2005 12:07:47', 'dd-mm-yyyy hh24:mi:ss'), 0); +insert into DEF_OBIECTE (ID_OBIECT, ID_PROGRAM, DESCRIERE, ID_TATA, COD, ID_UTILOP, DATAORA, STERS) +values (2719, 2, 'Export', 2718, '1', 3, to_date('12-10-2005 12:07:47', 'dd-mm-yyyy hh24:mi:ss'), 0); +insert into DEF_OBIECTE (ID_OBIECT, ID_PROGRAM, DESCRIERE, ID_TATA, COD, ID_UTILOP, DATAORA, STERS) +values (2720, 2, 'Listare', 2718, '2', 3, to_date('12-10-2005 12:07:47', 'dd-mm-yyyy hh24:mi:ss'), 0); +insert into DEF_OBIECTE (ID_OBIECT, ID_PROGRAM, DESCRIERE, ID_TATA, COD, ID_UTILOP, DATAORA, STERS) +values (2721, 2, 'Modificare', 2718, '3', 3, to_date('12-10-2005 12:07:47', 'dd-mm-yyyy hh24:mi:ss'), 0); +insert into DEF_OBIECTE (ID_OBIECT, ID_PROGRAM, DESCRIERE, ID_TATA, COD, ID_UTILOP, DATAORA, STERS) +values (2722, 2, 'Refacere', 2718, '4', 3, to_date('12-10-2005 12:07:47', 'dd-mm-yyyy hh24:mi:ss'), 0); +insert into DEF_OBIECTE (ID_OBIECT, ID_PROGRAM, DESCRIERE, ID_TATA, COD, ID_UTILOP, DATAORA, STERS) +values (2513, 2, 'Meniu', -1, 'Z', 3, to_date('12-10-2005 12:07:47', 'dd-mm-yyyy hh24:mi:ss'), 0); +insert into DEF_OBIECTE (ID_OBIECT, ID_PROGRAM, DESCRIERE, ID_TATA, COD, ID_UTILOP, DATAORA, STERS) +values (2723, 2, 'Reg.de banca in valuta', 2709, '06', 3, to_date('12-10-2005 12:07:47', 'dd-mm-yyyy hh24:mi:ss'), 0); +insert into DEF_OBIECTE (ID_OBIECT, ID_PROGRAM, DESCRIERE, ID_TATA, COD, ID_UTILOP, DATAORA, STERS) +values (2848, 8, 'Modificare tip comanda', 2821, '3', null, null, 0); +insert into DEF_OBIECTE (ID_OBIECT, ID_PROGRAM, DESCRIERE, ID_TATA, COD, ID_UTILOP, DATAORA, STERS) +values (2849, 8, 'Stergere comanda', 2821, '4', null, null, 0); +insert into DEF_OBIECTE (ID_OBIECT, ID_PROGRAM, DESCRIERE, ID_TATA, COD, ID_UTILOP, DATAORA, STERS) +values (2724, 2, 'Export', 2723, '1', 3, to_date('12-10-2005 12:07:47', 'dd-mm-yyyy hh24:mi:ss'), 0); +insert into DEF_OBIECTE (ID_OBIECT, ID_PROGRAM, DESCRIERE, ID_TATA, COD, ID_UTILOP, DATAORA, STERS) +values (2725, 2, 'Listare', 2723, '2', 3, to_date('12-10-2005 12:07:47', 'dd-mm-yyyy hh24:mi:ss'), 0); +insert into DEF_OBIECTE (ID_OBIECT, ID_PROGRAM, DESCRIERE, ID_TATA, COD, ID_UTILOP, DATAORA, STERS) +values (2726, 2, 'Modificare', 2723, '3', 3, to_date('12-10-2005 12:07:47', 'dd-mm-yyyy hh24:mi:ss'), 0); +insert into DEF_OBIECTE (ID_OBIECT, ID_PROGRAM, DESCRIERE, ID_TATA, COD, ID_UTILOP, DATAORA, STERS) +values (2727, 2, 'Refacere', 2723, '4', 3, to_date('12-10-2005 12:07:47', 'dd-mm-yyyy hh24:mi:ss'), 0); +insert into DEF_OBIECTE (ID_OBIECT, ID_PROGRAM, DESCRIERE, ID_TATA, COD, ID_UTILOP, DATAORA, STERS) +values (2728, 2, 'Solduri banci in valuta', 2709, '07', 3, to_date('12-10-2005 12:07:47', 'dd-mm-yyyy hh24:mi:ss'), 0); +insert into DEF_OBIECTE (ID_OBIECT, ID_PROGRAM, DESCRIERE, ID_TATA, COD, ID_UTILOP, DATAORA, STERS) +values (2729, 2, 'Export', 2728, '1', 3, to_date('12-10-2005 12:07:47', 'dd-mm-yyyy hh24:mi:ss'), 0); +insert into DEF_OBIECTE (ID_OBIECT, ID_PROGRAM, DESCRIERE, ID_TATA, COD, ID_UTILOP, DATAORA, STERS) +values (2730, 2, 'Listare', 2728, '2', 3, to_date('12-10-2005 12:07:47', 'dd-mm-yyyy hh24:mi:ss'), 0); +insert into DEF_OBIECTE (ID_OBIECT, ID_PROGRAM, DESCRIERE, ID_TATA, COD, ID_UTILOP, DATAORA, STERS) +values (2731, 2, 'Modificare', 2728, '3', 3, to_date('12-10-2005 12:07:47', 'dd-mm-yyyy hh24:mi:ss'), 0); +insert into DEF_OBIECTE (ID_OBIECT, ID_PROGRAM, DESCRIERE, ID_TATA, COD, ID_UTILOP, DATAORA, STERS) +values (2732, 2, 'Refacere', 2728, '4', 3, to_date('12-10-2005 12:07:47', 'dd-mm-yyyy hh24:mi:ss'), 0); +insert into DEF_OBIECTE (ID_OBIECT, ID_PROGRAM, DESCRIERE, ID_TATA, COD, ID_UTILOP, DATAORA, STERS) +values (2733, 2, 'Rapoarte', 2709, '08', 3, to_date('12-10-2005 12:07:47', 'dd-mm-yyyy hh24:mi:ss'), 0); +insert into DEF_OBIECTE (ID_OBIECT, ID_PROGRAM, DESCRIERE, ID_TATA, COD, ID_UTILOP, DATAORA, STERS) +values (2734, 2, 'Export', 2733, '1', 3, to_date('12-10-2005 12:07:47', 'dd-mm-yyyy hh24:mi:ss'), 0); +insert into DEF_OBIECTE (ID_OBIECT, ID_PROGRAM, DESCRIERE, ID_TATA, COD, ID_UTILOP, DATAORA, STERS) +values (2735, 2, 'Listare', 2733, '2', 3, to_date('12-10-2005 12:07:47', 'dd-mm-yyyy hh24:mi:ss'), 0); +insert into DEF_OBIECTE (ID_OBIECT, ID_PROGRAM, DESCRIERE, ID_TATA, COD, ID_UTILOP, DATAORA, STERS) +values (2736, 2, 'Alte', 2681, 'C', 3, to_date('12-10-2005 12:07:47', 'dd-mm-yyyy hh24:mi:ss'), 0); +insert into DEF_OBIECTE (ID_OBIECT, ID_PROGRAM, DESCRIERE, ID_TATA, COD, ID_UTILOP, DATAORA, STERS) +values (2737, 2, 'Avansuri de trezorerie', 2736, '01', 3, to_date('12-10-2005 12:07:47', 'dd-mm-yyyy hh24:mi:ss'), 0); +insert into DEF_OBIECTE (ID_OBIECT, ID_PROGRAM, DESCRIERE, ID_TATA, COD, ID_UTILOP, DATAORA, STERS) +values (2738, 2, 'Avansuri de trezorerie in valuta', 2736, '02', 3, to_date('12-10-2005 12:07:47', 'dd-mm-yyyy hh24:mi:ss'), 0); +insert into DEF_OBIECTE (ID_OBIECT, ID_PROGRAM, DESCRIERE, ID_TATA, COD, ID_UTILOP, DATAORA, STERS) +values (2739, 2, 'Operatiuni cu cec', 2736, '03', 3, to_date('12-10-2005 12:07:47', 'dd-mm-yyyy hh24:mi:ss'), 0); +insert into DEF_OBIECTE (ID_OBIECT, ID_PROGRAM, DESCRIERE, ID_TATA, COD, ID_UTILOP, DATAORA, STERS) +values (2740, 2, 'Alte operatiuni', 2736, '04', 3, to_date('12-10-2005 12:07:47', 'dd-mm-yyyy hh24:mi:ss'), 0); +insert into DEF_OBIECTE (ID_OBIECT, ID_PROGRAM, DESCRIERE, ID_TATA, COD, ID_UTILOP, DATAORA, STERS) +values (2741, 2, 'Achizitori', 2736, '05', 3, to_date('12-10-2005 12:07:47', 'dd-mm-yyyy hh24:mi:ss'), 0); +insert into DEF_OBIECTE (ID_OBIECT, ID_PROGRAM, DESCRIERE, ID_TATA, COD, ID_UTILOP, DATAORA, STERS) +values (2742, 2, 'Export', 2741, '1', 3, to_date('12-10-2005 12:07:47', 'dd-mm-yyyy hh24:mi:ss'), 0); +insert into DEF_OBIECTE (ID_OBIECT, ID_PROGRAM, DESCRIERE, ID_TATA, COD, ID_UTILOP, DATAORA, STERS) +values (2743, 2, 'Listare', 2741, '2', 3, to_date('12-10-2005 12:07:47', 'dd-mm-yyyy hh24:mi:ss'), 0); +insert into DEF_OBIECTE (ID_OBIECT, ID_PROGRAM, DESCRIERE, ID_TATA, COD, ID_UTILOP, DATAORA, STERS) +values (2744, 2, 'Modificare', 2741, '3', 3, to_date('12-10-2005 12:07:47', 'dd-mm-yyyy hh24:mi:ss'), 0); +insert into DEF_OBIECTE (ID_OBIECT, ID_PROGRAM, DESCRIERE, ID_TATA, COD, ID_UTILOP, DATAORA, STERS) +values (2745, 2, 'Refacere', 2741, '4', 3, to_date('12-10-2005 12:07:47', 'dd-mm-yyyy hh24:mi:ss'), 0); +insert into DEF_OBIECTE (ID_OBIECT, ID_PROGRAM, DESCRIERE, ID_TATA, COD, ID_UTILOP, DATAORA, STERS) +values (2746, 2, 'Cec - Reg. operatiuni', 2736, '06', 3, to_date('12-10-2005 12:07:47', 'dd-mm-yyyy hh24:mi:ss'), 0); +insert into DEF_OBIECTE (ID_OBIECT, ID_PROGRAM, DESCRIERE, ID_TATA, COD, ID_UTILOP, DATAORA, STERS) +values (2747, 2, 'Export', 2746, '1', 3, to_date('12-10-2005 12:07:47', 'dd-mm-yyyy hh24:mi:ss'), 0); +insert into DEF_OBIECTE (ID_OBIECT, ID_PROGRAM, DESCRIERE, ID_TATA, COD, ID_UTILOP, DATAORA, STERS) +values (2748, 2, 'Listare', 2746, '2', 3, to_date('12-10-2005 12:07:47', 'dd-mm-yyyy hh24:mi:ss'), 0); +insert into DEF_OBIECTE (ID_OBIECT, ID_PROGRAM, DESCRIERE, ID_TATA, COD, ID_UTILOP, DATAORA, STERS) +values (2749, 2, 'Modificare', 2746, '3', 3, to_date('12-10-2005 12:07:47', 'dd-mm-yyyy hh24:mi:ss'), 0); +insert into DEF_OBIECTE (ID_OBIECT, ID_PROGRAM, DESCRIERE, ID_TATA, COD, ID_UTILOP, DATAORA, STERS) +values (2750, 2, 'Refacere', 2746, '4', 3, to_date('12-10-2005 12:07:47', 'dd-mm-yyyy hh24:mi:ss'), 0); +insert into DEF_OBIECTE (ID_OBIECT, ID_PROGRAM, DESCRIERE, ID_TATA, COD, ID_UTILOP, DATAORA, STERS) +values (2751, 2, 'Cec - Solduri', 2736, '07', 3, to_date('12-10-2005 12:07:47', 'dd-mm-yyyy hh24:mi:ss'), 0); +insert into DEF_OBIECTE (ID_OBIECT, ID_PROGRAM, DESCRIERE, ID_TATA, COD, ID_UTILOP, DATAORA, STERS) +values (2752, 2, 'Export', 2751, '1', 3, to_date('12-10-2005 12:07:47', 'dd-mm-yyyy hh24:mi:ss'), 0); +insert into DEF_OBIECTE (ID_OBIECT, ID_PROGRAM, DESCRIERE, ID_TATA, COD, ID_UTILOP, DATAORA, STERS) +values (2753, 2, 'Listare', 2751, '2', 3, to_date('12-10-2005 12:07:47', 'dd-mm-yyyy hh24:mi:ss'), 0); +insert into DEF_OBIECTE (ID_OBIECT, ID_PROGRAM, DESCRIERE, ID_TATA, COD, ID_UTILOP, DATAORA, STERS) +values (2754, 2, 'Modificare', 2751, '3', 3, to_date('12-10-2005 12:07:47', 'dd-mm-yyyy hh24:mi:ss'), 0); +insert into DEF_OBIECTE (ID_OBIECT, ID_PROGRAM, DESCRIERE, ID_TATA, COD, ID_UTILOP, DATAORA, STERS) +values (2755, 2, 'Refacere', 2751, '4', 3, to_date('12-10-2005 12:07:47', 'dd-mm-yyyy hh24:mi:ss'), 0); +insert into DEF_OBIECTE (ID_OBIECT, ID_PROGRAM, DESCRIERE, ID_TATA, COD, ID_UTILOP, DATAORA, STERS) +values (2756, 2, 'Rapoarte', 2736, '08', 3, to_date('12-10-2005 12:07:47', 'dd-mm-yyyy hh24:mi:ss'), 0); +insert into DEF_OBIECTE (ID_OBIECT, ID_PROGRAM, DESCRIERE, ID_TATA, COD, ID_UTILOP, DATAORA, STERS) +values (2757, 2, 'Export', 2756, '1', 3, to_date('12-10-2005 12:07:47', 'dd-mm-yyyy hh24:mi:ss'), 0); +insert into DEF_OBIECTE (ID_OBIECT, ID_PROGRAM, DESCRIERE, ID_TATA, COD, ID_UTILOP, DATAORA, STERS) +values (2758, 2, 'Listare', 2756, '2', 3, to_date('12-10-2005 12:07:47', 'dd-mm-yyyy hh24:mi:ss'), 0); +insert into DEF_OBIECTE (ID_OBIECT, ID_PROGRAM, DESCRIERE, ID_TATA, COD, ID_UTILOP, DATAORA, STERS) +values (2759, 2, 'Cheltuieli', -1, 'F', 3, to_date('12-10-2005 12:07:47', 'dd-mm-yyyy hh24:mi:ss'), 0); +insert into DEF_OBIECTE (ID_OBIECT, ID_PROGRAM, DESCRIERE, ID_TATA, COD, ID_UTILOP, DATAORA, STERS) +values (2760, 2, 'Cheltuieli materiale', 2759, '01', 3, to_date('12-10-2005 12:07:47', 'dd-mm-yyyy hh24:mi:ss'), 0); +insert into DEF_OBIECTE (ID_OBIECT, ID_PROGRAM, DESCRIERE, ID_TATA, COD, ID_UTILOP, DATAORA, STERS) +values (2761, 2, 'Alte cheltuieli', 2759, '02', 3, to_date('12-10-2005 12:07:47', 'dd-mm-yyyy hh24:mi:ss'), 0); +insert into DEF_OBIECTE (ID_OBIECT, ID_PROGRAM, DESCRIERE, ID_TATA, COD, ID_UTILOP, DATAORA, STERS) +values (2762, 2, 'Venituri', -1, 'G', 3, to_date('12-10-2005 12:07:47', 'dd-mm-yyyy hh24:mi:ss'), 0); +insert into DEF_OBIECTE (ID_OBIECT, ID_PROGRAM, DESCRIERE, ID_TATA, COD, ID_UTILOP, DATAORA, STERS) +values (2763, 2, 'Inregistrare venituri', 2762, '01', 3, to_date('12-10-2005 12:07:47', 'dd-mm-yyyy hh24:mi:ss'), 0); +insert into DEF_OBIECTE (ID_OBIECT, ID_PROGRAM, DESCRIERE, ID_TATA, COD, ID_UTILOP, DATAORA, STERS) +values (2850, 8, 'Normare comanda', 2821, '7', null, null, 0); +insert into DEF_OBIECTE (ID_OBIECT, ID_PROGRAM, DESCRIERE, ID_TATA, COD, ID_UTILOP, DATAORA, STERS) +values (3361, 4, 'Structura personalului', 3360, '01', null, null, 0); +insert into DEF_OBIECTE (ID_OBIECT, ID_PROGRAM, DESCRIERE, ID_TATA, COD, ID_UTILOP, DATAORA, STERS) +values (3362, 4, 'Migratia personalului', 3360, '02', null, null, 0); +insert into DEF_OBIECTE (ID_OBIECT, ID_PROGRAM, DESCRIERE, ID_TATA, COD, ID_UTILOP, DATAORA, STERS) +values (3363, 4, 'Salariul mediu', 3360, '03', null, null, 0); +insert into DEF_OBIECTE (ID_OBIECT, ID_PROGRAM, DESCRIERE, ID_TATA, COD, ID_UTILOP, DATAORA, STERS) +values (3365, 5, 'Meniu', -1, 'Z', null, null, 0); +insert into DEF_OBIECTE (ID_OBIECT, ID_PROGRAM, DESCRIERE, ID_TATA, COD, ID_UTILOP, DATAORA, STERS) +values (3366, 5, 'Actualizare', 3365, 'A', null, null, 0); +insert into DEF_OBIECTE (ID_OBIECT, ID_PROGRAM, DESCRIERE, ID_TATA, COD, ID_UTILOP, DATAORA, STERS) +values (3367, 5, 'Initializare', 3366, '01', null, null, 0); +insert into DEF_OBIECTE (ID_OBIECT, ID_PROGRAM, DESCRIERE, ID_TATA, COD, ID_UTILOP, DATAORA, STERS) +values (3368, 5, 'Recalculare', 3366, '02', null, null, 0); +insert into DEF_OBIECTE (ID_OBIECT, ID_PROGRAM, DESCRIERE, ID_TATA, COD, ID_UTILOP, DATAORA, STERS) +values (3369, 5, 'Gestiuni', -1, 'A', null, null, 0); +insert into DEF_OBIECTE (ID_OBIECT, ID_PROGRAM, DESCRIERE, ID_TATA, COD, ID_UTILOP, DATAORA, STERS) +values (3370, 5, 'Inregistrari', 3369, '01', null, null, 0); +insert into DEF_OBIECTE (ID_OBIECT, ID_PROGRAM, DESCRIERE, ID_TATA, COD, ID_UTILOP, DATAORA, STERS) +values (3371, 5, 'Configurare', 3369, '02', null, null, 0); +insert into DEF_OBIECTE (ID_OBIECT, ID_PROGRAM, DESCRIERE, ID_TATA, COD, ID_UTILOP, DATAORA, STERS) +values (3372, 5, 'Export', 3371, '1', null, null, 0); +insert into DEF_OBIECTE (ID_OBIECT, ID_PROGRAM, DESCRIERE, ID_TATA, COD, ID_UTILOP, DATAORA, STERS) +values (3373, 5, 'Listare', 3371, '2', null, null, 0); +insert into DEF_OBIECTE (ID_OBIECT, ID_PROGRAM, DESCRIERE, ID_TATA, COD, ID_UTILOP, DATAORA, STERS) +values (3374, 5, 'Modificare', 3371, '3', null, null, 0); +insert into DEF_OBIECTE (ID_OBIECT, ID_PROGRAM, DESCRIERE, ID_TATA, COD, ID_UTILOP, DATAORA, STERS) +values (3375, 5, 'Refacere', 3371, '4', null, null, 0); +insert into DEF_OBIECTE (ID_OBIECT, ID_PROGRAM, DESCRIERE, ID_TATA, COD, ID_UTILOP, DATAORA, STERS) +values (3376, 5, 'Vizualizare', 3369, '03', null, null, 0); +insert into DEF_OBIECTE (ID_OBIECT, ID_PROGRAM, DESCRIERE, ID_TATA, COD, ID_UTILOP, DATAORA, STERS) +values (3377, 5, 'Export', 3376, '1', null, null, 0); +insert into DEF_OBIECTE (ID_OBIECT, ID_PROGRAM, DESCRIERE, ID_TATA, COD, ID_UTILOP, DATAORA, STERS) +values (3378, 5, 'Listare', 3376, '2', null, null, 0); +insert into DEF_OBIECTE (ID_OBIECT, ID_PROGRAM, DESCRIERE, ID_TATA, COD, ID_UTILOP, DATAORA, STERS) +values (3379, 5, 'Modificare', 3376, '3', null, null, 0); +insert into DEF_OBIECTE (ID_OBIECT, ID_PROGRAM, DESCRIERE, ID_TATA, COD, ID_UTILOP, DATAORA, STERS) +values (3380, 5, 'Stergere', 3376, '4', null, null, 0); +insert into DEF_OBIECTE (ID_OBIECT, ID_PROGRAM, DESCRIERE, ID_TATA, COD, ID_UTILOP, DATAORA, STERS) +values (3381, 5, 'Vizualizare inreg.proprii', 3376, '5', null, null, 0); +insert into DEF_OBIECTE (ID_OBIECT, ID_PROGRAM, DESCRIERE, ID_TATA, COD, ID_UTILOP, DATAORA, STERS) +values (3382, 5, 'Vizualizare tot', 3376, '6', null, null, 0); +insert into DEF_OBIECTE (ID_OBIECT, ID_PROGRAM, DESCRIERE, ID_TATA, COD, ID_UTILOP, DATAORA, STERS) +values (3383, 5, 'Rapoarte generale', 3369, '04', null, null, 0); +insert into DEF_OBIECTE (ID_OBIECT, ID_PROGRAM, DESCRIERE, ID_TATA, COD, ID_UTILOP, DATAORA, STERS) +values (3384, 5, 'Export', 3383, '1', null, null, 0); +insert into DEF_OBIECTE (ID_OBIECT, ID_PROGRAM, DESCRIERE, ID_TATA, COD, ID_UTILOP, DATAORA, STERS) +values (3385, 5, 'Listare', 3383, '2', null, null, 0); +insert into DEF_OBIECTE (ID_OBIECT, ID_PROGRAM, DESCRIERE, ID_TATA, COD, ID_UTILOP, DATAORA, STERS) +values (3386, 5, 'Registru Jurnal', 3369, '05', null, null, 0); +insert into DEF_OBIECTE (ID_OBIECT, ID_PROGRAM, DESCRIERE, ID_TATA, COD, ID_UTILOP, DATAORA, STERS) +values (3387, 5, 'Export', 3386, '1', null, null, 0); +insert into DEF_OBIECTE (ID_OBIECT, ID_PROGRAM, DESCRIERE, ID_TATA, COD, ID_UTILOP, DATAORA, STERS) +values (3388, 5, 'Listare', 3386, '2', null, null, 0); +insert into DEF_OBIECTE (ID_OBIECT, ID_PROGRAM, DESCRIERE, ID_TATA, COD, ID_UTILOP, DATAORA, STERS) +values (3389, 5, 'Modificare', 3386, '3', null, null, 0); +insert into DEF_OBIECTE (ID_OBIECT, ID_PROGRAM, DESCRIERE, ID_TATA, COD, ID_UTILOP, DATAORA, STERS) +values (3390, 5, 'Stergere', 3386, '4', null, null, 0); +insert into DEF_OBIECTE (ID_OBIECT, ID_PROGRAM, DESCRIERE, ID_TATA, COD, ID_UTILOP, DATAORA, STERS) +values (3391, 5, 'Vizualizare inreg.proprii', 3386, '5', null, null, 0); +insert into DEF_OBIECTE (ID_OBIECT, ID_PROGRAM, DESCRIERE, ID_TATA, COD, ID_UTILOP, DATAORA, STERS) +values (3392, 5, 'Vizualizare tot', 3386, '6', null, null, 0); +insert into DEF_OBIECTE (ID_OBIECT, ID_PROGRAM, DESCRIERE, ID_TATA, COD, ID_UTILOP, DATAORA, STERS) +values (3393, 5, 'Materii Prime si Materiale', -1, 'B', null, null, 0); +insert into DEF_OBIECTE (ID_OBIECT, ID_PROGRAM, DESCRIERE, ID_TATA, COD, ID_UTILOP, DATAORA, STERS) +values (3394, 5, 'Achizitie', 3393, '01', null, null, 0); +insert into DEF_OBIECTE (ID_OBIECT, ID_PROGRAM, DESCRIERE, ID_TATA, COD, ID_UTILOP, DATAORA, STERS) +values (3395, 5, 'Achizitie din Import', 3393, '02', null, null, 0); +insert into DEF_OBIECTE (ID_OBIECT, ID_PROGRAM, DESCRIERE, ID_TATA, COD, ID_UTILOP, DATAORA, STERS) +values (3396, 5, 'Consum', 3393, '03', null, null, 0); +insert into DEF_OBIECTE (ID_OBIECT, ID_PROGRAM, DESCRIERE, ID_TATA, COD, ID_UTILOP, DATAORA, STERS) +values (3397, 5, 'Transfer', 3393, '04', null, null, 0); +insert into DEF_OBIECTE (ID_OBIECT, ID_PROGRAM, DESCRIERE, ID_TATA, COD, ID_UTILOP, DATAORA, STERS) +values (3398, 5, 'Vanzare', 3393, '05', null, null, 0); +insert into DEF_OBIECTE (ID_OBIECT, ID_PROGRAM, DESCRIERE, ID_TATA, COD, ID_UTILOP, DATAORA, STERS) +values (3399, 5, 'Stocuri materiale', 3393, '06', null, null, 0); +insert into DEF_OBIECTE (ID_OBIECT, ID_PROGRAM, DESCRIERE, ID_TATA, COD, ID_UTILOP, DATAORA, STERS) +values (3400, 5, 'Export', 3399, '1', null, null, 0); +insert into DEF_OBIECTE (ID_OBIECT, ID_PROGRAM, DESCRIERE, ID_TATA, COD, ID_UTILOP, DATAORA, STERS) +values (3401, 5, 'Listare', 3399, '2', null, null, 0); +insert into DEF_OBIECTE (ID_OBIECT, ID_PROGRAM, DESCRIERE, ID_TATA, COD, ID_UTILOP, DATAORA, STERS) +values (3402, 5, 'Modificare', 3399, '3', null, null, 0); +insert into DEF_OBIECTE (ID_OBIECT, ID_PROGRAM, DESCRIERE, ID_TATA, COD, ID_UTILOP, DATAORA, STERS) +values (3403, 5, 'Refacere', 3399, '4', null, null, 0); +insert into DEF_OBIECTE (ID_OBIECT, ID_PROGRAM, DESCRIERE, ID_TATA, COD, ID_UTILOP, DATAORA, STERS) +values (3404, 5, 'Rapoarte', 3393, '07', null, null, 0); +insert into DEF_OBIECTE (ID_OBIECT, ID_PROGRAM, DESCRIERE, ID_TATA, COD, ID_UTILOP, DATAORA, STERS) +values (3405, 5, 'Export', 3404, '1', null, null, 0); +insert into DEF_OBIECTE (ID_OBIECT, ID_PROGRAM, DESCRIERE, ID_TATA, COD, ID_UTILOP, DATAORA, STERS) +values (3406, 5, 'Listare', 3404, '2', null, null, 0); +insert into DEF_OBIECTE (ID_OBIECT, ID_PROGRAM, DESCRIERE, ID_TATA, COD, ID_UTILOP, DATAORA, STERS) +values (3407, 5, 'Obiecte de Inventar', -1, 'C', null, null, 0); +insert into DEF_OBIECTE (ID_OBIECT, ID_PROGRAM, DESCRIERE, ID_TATA, COD, ID_UTILOP, DATAORA, STERS) +values (3408, 5, 'Achizitie', 3407, '01', null, null, 0); +insert into DEF_OBIECTE (ID_OBIECT, ID_PROGRAM, DESCRIERE, ID_TATA, COD, ID_UTILOP, DATAORA, STERS) +values (3409, 5, 'Consum', 3407, '02', null, null, 0); +insert into DEF_OBIECTE (ID_OBIECT, ID_PROGRAM, DESCRIERE, ID_TATA, COD, ID_UTILOP, DATAORA, STERS) +values (3410, 5, 'Transfer', 3407, '03', null, null, 0); +insert into DEF_OBIECTE (ID_OBIECT, ID_PROGRAM, DESCRIERE, ID_TATA, COD, ID_UTILOP, DATAORA, STERS) +values (3411, 5, 'Rulaje ob. de inventar in folosinta (8039)', 3407, '04', null, null, 0); +insert into DEF_OBIECTE (ID_OBIECT, ID_PROGRAM, DESCRIERE, ID_TATA, COD, ID_UTILOP, DATAORA, STERS) +values (3412, 5, 'Export', 3411, '1', null, null, 0); +insert into DEF_OBIECTE (ID_OBIECT, ID_PROGRAM, DESCRIERE, ID_TATA, COD, ID_UTILOP, DATAORA, STERS) +values (3413, 5, 'Listare', 3411, '2', null, null, 0); +insert into DEF_OBIECTE (ID_OBIECT, ID_PROGRAM, DESCRIERE, ID_TATA, COD, ID_UTILOP, DATAORA, STERS) +values (3414, 5, 'Modificare', 3411, '3', null, null, 0); +insert into DEF_OBIECTE (ID_OBIECT, ID_PROGRAM, DESCRIERE, ID_TATA, COD, ID_UTILOP, DATAORA, STERS) +values (3415, 5, 'Refacere', 3411, '4', null, null, 0); +insert into DEF_OBIECTE (ID_OBIECT, ID_PROGRAM, DESCRIERE, ID_TATA, COD, ID_UTILOP, DATAORA, STERS) +values (3416, 5, 'Obiecte de inventar in folosinta (8039)', 3407, '05', null, null, 0); +insert into DEF_OBIECTE (ID_OBIECT, ID_PROGRAM, DESCRIERE, ID_TATA, COD, ID_UTILOP, DATAORA, STERS) +values (3417, 5, 'Export', 3416, '1', null, null, 0); +insert into DEF_OBIECTE (ID_OBIECT, ID_PROGRAM, DESCRIERE, ID_TATA, COD, ID_UTILOP, DATAORA, STERS) +values (3418, 5, 'Listare', 3416, '2', null, null, 0); +insert into DEF_OBIECTE (ID_OBIECT, ID_PROGRAM, DESCRIERE, ID_TATA, COD, ID_UTILOP, DATAORA, STERS) +values (3419, 5, 'Modificare', 3416, '3', null, null, 0); +insert into DEF_OBIECTE (ID_OBIECT, ID_PROGRAM, DESCRIERE, ID_TATA, COD, ID_UTILOP, DATAORA, STERS) +values (3420, 5, 'Refacere', 3416, '4', null, null, 0); +insert into DEF_OBIECTE (ID_OBIECT, ID_PROGRAM, DESCRIERE, ID_TATA, COD, ID_UTILOP, DATAORA, STERS) +values (3421, 5, 'Obiecte de inventar in stoc / magazie (303)', 3407, '06', null, null, 0); +insert into DEF_OBIECTE (ID_OBIECT, ID_PROGRAM, DESCRIERE, ID_TATA, COD, ID_UTILOP, DATAORA, STERS) +values (3422, 5, 'Export', 3421, '1', null, null, 0); +insert into DEF_OBIECTE (ID_OBIECT, ID_PROGRAM, DESCRIERE, ID_TATA, COD, ID_UTILOP, DATAORA, STERS) +values (3423, 5, 'Listare', 3421, '2', null, null, 0); +insert into DEF_OBIECTE (ID_OBIECT, ID_PROGRAM, DESCRIERE, ID_TATA, COD, ID_UTILOP, DATAORA, STERS) +values (3424, 5, 'Modificare', 3421, '3', null, null, 0); +insert into DEF_OBIECTE (ID_OBIECT, ID_PROGRAM, DESCRIERE, ID_TATA, COD, ID_UTILOP, DATAORA, STERS) +values (3425, 5, 'Refacere', 3421, '4', null, null, 0); +insert into DEF_OBIECTE (ID_OBIECT, ID_PROGRAM, DESCRIERE, ID_TATA, COD, ID_UTILOP, DATAORA, STERS) +values (3426, 5, 'Rapoarte', 3407, '07', null, null, 0); +insert into DEF_OBIECTE (ID_OBIECT, ID_PROGRAM, DESCRIERE, ID_TATA, COD, ID_UTILOP, DATAORA, STERS) +values (3427, 5, 'Export', 3426, '1', null, null, 0); +insert into DEF_OBIECTE (ID_OBIECT, ID_PROGRAM, DESCRIERE, ID_TATA, COD, ID_UTILOP, DATAORA, STERS) +values (3428, 5, 'Listare', 3426, '2', null, null, 0); +insert into DEF_OBIECTE (ID_OBIECT, ID_PROGRAM, DESCRIERE, ID_TATA, COD, ID_UTILOP, DATAORA, STERS) +values (3429, 5, 'Produse', -1, 'D', null, null, 0); +insert into DEF_OBIECTE (ID_OBIECT, ID_PROGRAM, DESCRIERE, ID_TATA, COD, ID_UTILOP, DATAORA, STERS) +values (3430, 5, 'Achizitie', 3429, '01', null, null, 0); +insert into DEF_OBIECTE (ID_OBIECT, ID_PROGRAM, DESCRIERE, ID_TATA, COD, ID_UTILOP, DATAORA, STERS) +values (3431, 5, 'Intrare in gestiune', 3429, '02', null, null, 0); +insert into DEF_OBIECTE (ID_OBIECT, ID_PROGRAM, DESCRIERE, ID_TATA, COD, ID_UTILOP, DATAORA, STERS) +values (3432, 5, 'Consum', 3429, '03', null, null, 0); +insert into DEF_OBIECTE (ID_OBIECT, ID_PROGRAM, DESCRIERE, ID_TATA, COD, ID_UTILOP, DATAORA, STERS) +values (3433, 5, 'Transfer', 3429, '04', null, null, 0); +insert into DEF_OBIECTE (ID_OBIECT, ID_PROGRAM, DESCRIERE, ID_TATA, COD, ID_UTILOP, DATAORA, STERS) +values (3434, 5, 'Vanzare', 3429, '05', null, null, 0); +insert into DEF_OBIECTE (ID_OBIECT, ID_PROGRAM, DESCRIERE, ID_TATA, COD, ID_UTILOP, DATAORA, STERS) +values (3435, 5, 'Configurare', 3429, '06', null, null, 0); +insert into DEF_OBIECTE (ID_OBIECT, ID_PROGRAM, DESCRIERE, ID_TATA, COD, ID_UTILOP, DATAORA, STERS) +values (3436, 5, 'Export', 3435, '1', null, null, 0); +insert into DEF_OBIECTE (ID_OBIECT, ID_PROGRAM, DESCRIERE, ID_TATA, COD, ID_UTILOP, DATAORA, STERS) +values (3437, 5, 'Listare', 3435, '2', null, null, 0); +insert into DEF_OBIECTE (ID_OBIECT, ID_PROGRAM, DESCRIERE, ID_TATA, COD, ID_UTILOP, DATAORA, STERS) +values (3438, 5, 'Modificare', 3435, '3', null, null, 0); +insert into DEF_OBIECTE (ID_OBIECT, ID_PROGRAM, DESCRIERE, ID_TATA, COD, ID_UTILOP, DATAORA, STERS) +values (3439, 5, 'Refacere', 3435, '4', null, null, 0); +insert into DEF_OBIECTE (ID_OBIECT, ID_PROGRAM, DESCRIERE, ID_TATA, COD, ID_UTILOP, DATAORA, STERS) +values (3440, 5, 'Stocuri produse', 3429, '07', null, null, 0); +insert into DEF_OBIECTE (ID_OBIECT, ID_PROGRAM, DESCRIERE, ID_TATA, COD, ID_UTILOP, DATAORA, STERS) +values (3441, 5, 'Export', 3440, '1', null, null, 0); +insert into DEF_OBIECTE (ID_OBIECT, ID_PROGRAM, DESCRIERE, ID_TATA, COD, ID_UTILOP, DATAORA, STERS) +values (3442, 5, 'Listare', 3440, '2', null, null, 0); +insert into DEF_OBIECTE (ID_OBIECT, ID_PROGRAM, DESCRIERE, ID_TATA, COD, ID_UTILOP, DATAORA, STERS) +values (3443, 5, 'Modificare', 3440, '3', null, null, 0); +insert into DEF_OBIECTE (ID_OBIECT, ID_PROGRAM, DESCRIERE, ID_TATA, COD, ID_UTILOP, DATAORA, STERS) +values (3444, 5, 'Refacere', 3440, '4', null, null, 0); +insert into DEF_OBIECTE (ID_OBIECT, ID_PROGRAM, DESCRIERE, ID_TATA, COD, ID_UTILOP, DATAORA, STERS) +values (3445, 5, 'Rapoarte', 3429, '08', null, null, 0); +insert into DEF_OBIECTE (ID_OBIECT, ID_PROGRAM, DESCRIERE, ID_TATA, COD, ID_UTILOP, DATAORA, STERS) +values (3446, 5, 'Export', 3445, '1', null, null, 0); +insert into DEF_OBIECTE (ID_OBIECT, ID_PROGRAM, DESCRIERE, ID_TATA, COD, ID_UTILOP, DATAORA, STERS) +values (3447, 5, 'Listare', 3445, '2', null, null, 0); +insert into DEF_OBIECTE (ID_OBIECT, ID_PROGRAM, DESCRIERE, ID_TATA, COD, ID_UTILOP, DATAORA, STERS) +values (3448, 5, 'Marfuri la pret de achizitie', -1, 'E', null, null, 0); +insert into DEF_OBIECTE (ID_OBIECT, ID_PROGRAM, DESCRIERE, ID_TATA, COD, ID_UTILOP, DATAORA, STERS) +values (3449, 5, 'Achizitie', 3448, '01', null, null, 0); +insert into DEF_OBIECTE (ID_OBIECT, ID_PROGRAM, DESCRIERE, ID_TATA, COD, ID_UTILOP, DATAORA, STERS) +values (3450, 5, 'Achizitie din Import', 3448, '02', null, null, 0); +insert into DEF_OBIECTE (ID_OBIECT, ID_PROGRAM, DESCRIERE, ID_TATA, COD, ID_UTILOP, DATAORA, STERS) +values (3451, 5, 'Consum', 3448, '03', null, null, 0); +insert into DEF_OBIECTE (ID_OBIECT, ID_PROGRAM, DESCRIERE, ID_TATA, COD, ID_UTILOP, DATAORA, STERS) +values (3452, 5, 'Transfer', 3448, '04', null, null, 0); +insert into DEF_OBIECTE (ID_OBIECT, ID_PROGRAM, DESCRIERE, ID_TATA, COD, ID_UTILOP, DATAORA, STERS) +values (3453, 5, 'Vanzare', 3448, '05', null, null, 0); +insert into DEF_OBIECTE (ID_OBIECT, ID_PROGRAM, DESCRIERE, ID_TATA, COD, ID_UTILOP, DATAORA, STERS) +values (3454, 5, 'Stocuri marfa', 3448, '06', null, null, 0); +insert into DEF_OBIECTE (ID_OBIECT, ID_PROGRAM, DESCRIERE, ID_TATA, COD, ID_UTILOP, DATAORA, STERS) +values (3455, 5, 'Export', 3454, '1', null, null, 0); +insert into DEF_OBIECTE (ID_OBIECT, ID_PROGRAM, DESCRIERE, ID_TATA, COD, ID_UTILOP, DATAORA, STERS) +values (3456, 5, 'Listare', 3454, '2', null, null, 0); +insert into DEF_OBIECTE (ID_OBIECT, ID_PROGRAM, DESCRIERE, ID_TATA, COD, ID_UTILOP, DATAORA, STERS) +values (3457, 5, 'Modificare', 3454, '3', null, null, 0); +insert into DEF_OBIECTE (ID_OBIECT, ID_PROGRAM, DESCRIERE, ID_TATA, COD, ID_UTILOP, DATAORA, STERS) +values (3458, 5, 'Refacere', 3454, '4', null, null, 0); +insert into DEF_OBIECTE (ID_OBIECT, ID_PROGRAM, DESCRIERE, ID_TATA, COD, ID_UTILOP, DATAORA, STERS) +values (3459, 5, 'Rapoarte', 3448, '07', null, null, 0); +insert into DEF_OBIECTE (ID_OBIECT, ID_PROGRAM, DESCRIERE, ID_TATA, COD, ID_UTILOP, DATAORA, STERS) +values (3460, 5, 'Export', 3459, '1', null, null, 0); +commit; +prompt 100 records committed... +insert into DEF_OBIECTE (ID_OBIECT, ID_PROGRAM, DESCRIERE, ID_TATA, COD, ID_UTILOP, DATAORA, STERS) +values (3461, 5, 'Listare', 3459, '2', null, null, 0); +insert into DEF_OBIECTE (ID_OBIECT, ID_PROGRAM, DESCRIERE, ID_TATA, COD, ID_UTILOP, DATAORA, STERS) +values (3462, 5, 'Marfuri la pret de vanzare', -1, 'F', null, null, 0); +insert into DEF_OBIECTE (ID_OBIECT, ID_PROGRAM, DESCRIERE, ID_TATA, COD, ID_UTILOP, DATAORA, STERS) +values (3463, 5, 'Achizitie', 3462, '01', null, null, 0); +insert into DEF_OBIECTE (ID_OBIECT, ID_PROGRAM, DESCRIERE, ID_TATA, COD, ID_UTILOP, DATAORA, STERS) +values (3464, 5, 'Transfer', 3462, '02', null, null, 0); +insert into DEF_OBIECTE (ID_OBIECT, ID_PROGRAM, DESCRIERE, ID_TATA, COD, ID_UTILOP, DATAORA, STERS) +values (3465, 5, 'Vanzare', 3462, '03', null, null, 0); +insert into DEF_OBIECTE (ID_OBIECT, ID_PROGRAM, DESCRIERE, ID_TATA, COD, ID_UTILOP, DATAORA, STERS) +values (3466, 5, 'Configurare', 3462, '04', null, null, 0); +insert into DEF_OBIECTE (ID_OBIECT, ID_PROGRAM, DESCRIERE, ID_TATA, COD, ID_UTILOP, DATAORA, STERS) +values (3467, 5, 'Stocuri marfa', 3462, '05', null, null, 0); +insert into DEF_OBIECTE (ID_OBIECT, ID_PROGRAM, DESCRIERE, ID_TATA, COD, ID_UTILOP, DATAORA, STERS) +values (3468, 5, 'Export', 3467, '1', null, null, 0); +insert into DEF_OBIECTE (ID_OBIECT, ID_PROGRAM, DESCRIERE, ID_TATA, COD, ID_UTILOP, DATAORA, STERS) +values (3469, 5, 'Listare', 3467, '2', null, null, 0); +insert into DEF_OBIECTE (ID_OBIECT, ID_PROGRAM, DESCRIERE, ID_TATA, COD, ID_UTILOP, DATAORA, STERS) +values (3470, 5, 'Modificare', 3467, '3', null, null, 0); +insert into DEF_OBIECTE (ID_OBIECT, ID_PROGRAM, DESCRIERE, ID_TATA, COD, ID_UTILOP, DATAORA, STERS) +values (3471, 5, 'Refacere', 3467, '4', null, null, 0); +insert into DEF_OBIECTE (ID_OBIECT, ID_PROGRAM, DESCRIERE, ID_TATA, COD, ID_UTILOP, DATAORA, STERS) +values (3472, 5, 'Rapoarte', 3462, '06', null, null, 0); +insert into DEF_OBIECTE (ID_OBIECT, ID_PROGRAM, DESCRIERE, ID_TATA, COD, ID_UTILOP, DATAORA, STERS) +values (3473, 5, 'Export', 3472, '1', null, null, 0); +insert into DEF_OBIECTE (ID_OBIECT, ID_PROGRAM, DESCRIERE, ID_TATA, COD, ID_UTILOP, DATAORA, STERS) +values (3474, 5, 'Listare', 3472, '2', null, null, 0); +insert into DEF_OBIECTE (ID_OBIECT, ID_PROGRAM, DESCRIERE, ID_TATA, COD, ID_UTILOP, DATAORA, STERS) +values (3475, 5, 'Casa de marcat', 3462, '07', null, null, 0); +insert into DEF_OBIECTE (ID_OBIECT, ID_PROGRAM, DESCRIERE, ID_TATA, COD, ID_UTILOP, DATAORA, STERS) +values (3477, 7, 'Meniu', -1, 'Z', null, null, 0); +insert into DEF_OBIECTE (ID_OBIECT, ID_PROGRAM, DESCRIERE, ID_TATA, COD, ID_UTILOP, DATAORA, STERS) +values (3478, 7, 'Optiuni', 3477, 'A', null, null, 0); +insert into DEF_OBIECTE (ID_OBIECT, ID_PROGRAM, DESCRIERE, ID_TATA, COD, ID_UTILOP, DATAORA, STERS) +values (3479, 7, 'Optiuni', 3478, '01', null, null, 0); +insert into DEF_OBIECTE (ID_OBIECT, ID_PROGRAM, DESCRIERE, ID_TATA, COD, ID_UTILOP, DATAORA, STERS) +values (3480, 7, 'Vizualizare', 3477, 'B', null, null, 0); +insert into DEF_OBIECTE (ID_OBIECT, ID_PROGRAM, DESCRIERE, ID_TATA, COD, ID_UTILOP, DATAORA, STERS) +values (3481, 7, 'Balanta', 3480, '01', null, null, 0); +insert into DEF_OBIECTE (ID_OBIECT, ID_PROGRAM, DESCRIERE, ID_TATA, COD, ID_UTILOP, DATAORA, STERS) +values (3482, 7, 'Registru Jurnal', 3480, '02', null, null, 0); +insert into DEF_OBIECTE (ID_OBIECT, ID_PROGRAM, DESCRIERE, ID_TATA, COD, ID_UTILOP, DATAORA, STERS) +values (3483, 7, 'Rapoarte generale', 3477, 'C', null, null, 0); +insert into DEF_OBIECTE (ID_OBIECT, ID_PROGRAM, DESCRIERE, ID_TATA, COD, ID_UTILOP, DATAORA, STERS) +values (3484, 7, 'Vizualizare seturi de indicatori', 3483, '01', null, null, 0); +insert into DEF_OBIECTE (ID_OBIECT, ID_PROGRAM, DESCRIERE, ID_TATA, COD, ID_UTILOP, DATAORA, STERS) +values (3485, 7, 'Definire set nou de indicatori', 3483, '02', null, null, 0); +insert into DEF_OBIECTE (ID_OBIECT, ID_PROGRAM, DESCRIERE, ID_TATA, COD, ID_UTILOP, DATAORA, STERS) +values (3486, 7, 'Pregatire pentru prezentare', 3483, '03', null, null, 0); +insert into DEF_OBIECTE (ID_OBIECT, ID_PROGRAM, DESCRIERE, ID_TATA, COD, ID_UTILOP, DATAORA, STERS) +values (3487, 7, 'Seturi predefinite', 3483, '04', null, null, 0); +insert into DEF_OBIECTE (ID_OBIECT, ID_PROGRAM, DESCRIERE, ID_TATA, COD, ID_UTILOP, DATAORA, STERS) +values (3488, 7, 'Rapoarte generale', -1, 'A', null, null, 0); +insert into DEF_OBIECTE (ID_OBIECT, ID_PROGRAM, DESCRIERE, ID_TATA, COD, ID_UTILOP, DATAORA, STERS) +values (3489, 7, 'Centre de cost', -1, 'B', null, null, 0); +insert into DEF_OBIECTE (ID_OBIECT, ID_PROGRAM, DESCRIERE, ID_TATA, COD, ID_UTILOP, DATAORA, STERS) +values (3490, 7, 'Raport de eficienta', 3489, '01', null, null, 0); +insert into DEF_OBIECTE (ID_OBIECT, ID_PROGRAM, DESCRIERE, ID_TATA, COD, ID_UTILOP, DATAORA, STERS) +values (3491, 7, 'Export', 3490, '1', null, null, 0); +insert into DEF_OBIECTE (ID_OBIECT, ID_PROGRAM, DESCRIERE, ID_TATA, COD, ID_UTILOP, DATAORA, STERS) +values (3492, 7, 'Listare', 3490, '2', null, null, 0); +insert into DEF_OBIECTE (ID_OBIECT, ID_PROGRAM, DESCRIERE, ID_TATA, COD, ID_UTILOP, DATAORA, STERS) +values (3493, 7, 'Balanta pe centru', 3489, '02', null, null, 0); +insert into DEF_OBIECTE (ID_OBIECT, ID_PROGRAM, DESCRIERE, ID_TATA, COD, ID_UTILOP, DATAORA, STERS) +values (3494, 7, 'Export', 3493, '1', null, null, 0); +insert into DEF_OBIECTE (ID_OBIECT, ID_PROGRAM, DESCRIERE, ID_TATA, COD, ID_UTILOP, DATAORA, STERS) +values (3495, 7, 'Listare', 3493, '2', null, null, 0); +insert into DEF_OBIECTE (ID_OBIECT, ID_PROGRAM, DESCRIERE, ID_TATA, COD, ID_UTILOP, DATAORA, STERS) +values (3496, 7, 'Lucrari/Contracte', -1, 'C', null, null, 0); +insert into DEF_OBIECTE (ID_OBIECT, ID_PROGRAM, DESCRIERE, ID_TATA, COD, ID_UTILOP, DATAORA, STERS) +values (3497, 7, 'Raport de eficienta', 3496, '01', null, null, 0); +insert into DEF_OBIECTE (ID_OBIECT, ID_PROGRAM, DESCRIERE, ID_TATA, COD, ID_UTILOP, DATAORA, STERS) +values (3498, 7, 'Export', 3497, '1', null, null, 0); +insert into DEF_OBIECTE (ID_OBIECT, ID_PROGRAM, DESCRIERE, ID_TATA, COD, ID_UTILOP, DATAORA, STERS) +values (3499, 7, 'Listare', 3497, '2', null, null, 0); +insert into DEF_OBIECTE (ID_OBIECT, ID_PROGRAM, DESCRIERE, ID_TATA, COD, ID_UTILOP, DATAORA, STERS) +values (3500, 7, 'Raport materiale Cantitativ-valoric', 3496, '02', null, null, 0); +insert into DEF_OBIECTE (ID_OBIECT, ID_PROGRAM, DESCRIERE, ID_TATA, COD, ID_UTILOP, DATAORA, STERS) +values (3501, 7, 'Export', 3500, '1', null, null, 0); +insert into DEF_OBIECTE (ID_OBIECT, ID_PROGRAM, DESCRIERE, ID_TATA, COD, ID_UTILOP, DATAORA, STERS) +values (3502, 7, 'Listare', 3500, '2', null, null, 0); +insert into DEF_OBIECTE (ID_OBIECT, ID_PROGRAM, DESCRIERE, ID_TATA, COD, ID_UTILOP, DATAORA, STERS) +values (3503, 7, 'Total cheltuieli directe grupate pe tipuri', 3496, '03', null, null, 0); +insert into DEF_OBIECTE (ID_OBIECT, ID_PROGRAM, DESCRIERE, ID_TATA, COD, ID_UTILOP, DATAORA, STERS) +values (3504, 7, 'Export', 3503, '1', null, null, 0); +insert into DEF_OBIECTE (ID_OBIECT, ID_PROGRAM, DESCRIERE, ID_TATA, COD, ID_UTILOP, DATAORA, STERS) +values (3505, 7, 'Listare', 3503, '2', null, null, 0); +insert into DEF_OBIECTE (ID_OBIECT, ID_PROGRAM, DESCRIERE, ID_TATA, COD, ID_UTILOP, DATAORA, STERS) +values (3506, 7, 'Cheltuieli directe Lista documentelor grupate dupa tipul de cheltuiala', 3496, '04', null, null, 0); +insert into DEF_OBIECTE (ID_OBIECT, ID_PROGRAM, DESCRIERE, ID_TATA, COD, ID_UTILOP, DATAORA, STERS) +values (3507, 7, 'Export', 3506, '1', null, null, 0); +insert into DEF_OBIECTE (ID_OBIECT, ID_PROGRAM, DESCRIERE, ID_TATA, COD, ID_UTILOP, DATAORA, STERS) +values (3508, 7, 'Listare', 3506, '2', null, null, 0); +insert into DEF_OBIECTE (ID_OBIECT, ID_PROGRAM, DESCRIERE, ID_TATA, COD, ID_UTILOP, DATAORA, STERS) +values (3509, 7, 'Venituri/Cheltuieli directe Lista documentelor in ordine cronologica', 3496, '05', null, null, 0); +insert into DEF_OBIECTE (ID_OBIECT, ID_PROGRAM, DESCRIERE, ID_TATA, COD, ID_UTILOP, DATAORA, STERS) +values (3510, 7, 'Export', 3509, '1', null, null, 0); +insert into DEF_OBIECTE (ID_OBIECT, ID_PROGRAM, DESCRIERE, ID_TATA, COD, ID_UTILOP, DATAORA, STERS) +values (3511, 7, 'Listare', 3509, '2', null, null, 0); +insert into DEF_OBIECTE (ID_OBIECT, ID_PROGRAM, DESCRIERE, ID_TATA, COD, ID_UTILOP, DATAORA, STERS) +values (3512, 7, 'Facturat / Incasat', 3496, '06', null, null, 0); +insert into DEF_OBIECTE (ID_OBIECT, ID_PROGRAM, DESCRIERE, ID_TATA, COD, ID_UTILOP, DATAORA, STERS) +values (3513, 7, 'Export', 3512, '1', null, null, 0); +insert into DEF_OBIECTE (ID_OBIECT, ID_PROGRAM, DESCRIERE, ID_TATA, COD, ID_UTILOP, DATAORA, STERS) +values (3514, 7, 'Listare', 3512, '2', null, null, 0); +insert into DEF_OBIECTE (ID_OBIECT, ID_PROGRAM, DESCRIERE, ID_TATA, COD, ID_UTILOP, DATAORA, STERS) +values (3515, 7, 'Bugete', -1, 'D', null, null, 0); +insert into DEF_OBIECTE (ID_OBIECT, ID_PROGRAM, DESCRIERE, ID_TATA, COD, ID_UTILOP, DATAORA, STERS) +values (3516, 7, 'Previzionare', 3515, '01', null, null, 0); +insert into DEF_OBIECTE (ID_OBIECT, ID_PROGRAM, DESCRIERE, ID_TATA, COD, ID_UTILOP, DATAORA, STERS) +values (3517, 7, 'Export', 3516, '1', null, null, 0); +insert into DEF_OBIECTE (ID_OBIECT, ID_PROGRAM, DESCRIERE, ID_TATA, COD, ID_UTILOP, DATAORA, STERS) +values (3518, 7, 'Listare', 3516, '2', null, null, 0); +insert into DEF_OBIECTE (ID_OBIECT, ID_PROGRAM, DESCRIERE, ID_TATA, COD, ID_UTILOP, DATAORA, STERS) +values (3519, 7, 'Comparatie previzionat - realizat', 3515, '02', null, null, 0); +insert into DEF_OBIECTE (ID_OBIECT, ID_PROGRAM, DESCRIERE, ID_TATA, COD, ID_UTILOP, DATAORA, STERS) +values (3520, 7, 'Export', 3519, '1', null, null, 0); +insert into DEF_OBIECTE (ID_OBIECT, ID_PROGRAM, DESCRIERE, ID_TATA, COD, ID_UTILOP, DATAORA, STERS) +values (3521, 7, 'Listare', 3519, '2', null, null, 0); +insert into DEF_OBIECTE (ID_OBIECT, ID_PROGRAM, DESCRIERE, ID_TATA, COD, ID_UTILOP, DATAORA, STERS) +values (3522, 7, 'Evaluarea in valuta', -1, 'E', null, null, 0); +insert into DEF_OBIECTE (ID_OBIECT, ID_PROGRAM, DESCRIERE, ID_TATA, COD, ID_UTILOP, DATAORA, STERS) +values (3523, 7, 'Balanta', 3522, '01', null, null, 0); +insert into DEF_OBIECTE (ID_OBIECT, ID_PROGRAM, DESCRIERE, ID_TATA, COD, ID_UTILOP, DATAORA, STERS) +values (3524, 7, 'Export', 3523, '1', null, null, 0); +insert into DEF_OBIECTE (ID_OBIECT, ID_PROGRAM, DESCRIERE, ID_TATA, COD, ID_UTILOP, DATAORA, STERS) +values (3525, 7, 'Listare', 3523, '2', null, null, 0); +insert into DEF_OBIECTE (ID_OBIECT, ID_PROGRAM, DESCRIERE, ID_TATA, COD, ID_UTILOP, DATAORA, STERS) +values (3526, 7, 'Registru Jurnal', 3522, '02', null, null, 0); +insert into DEF_OBIECTE (ID_OBIECT, ID_PROGRAM, DESCRIERE, ID_TATA, COD, ID_UTILOP, DATAORA, STERS) +values (3527, 7, 'Export', 3526, '1', null, null, 0); +insert into DEF_OBIECTE (ID_OBIECT, ID_PROGRAM, DESCRIERE, ID_TATA, COD, ID_UTILOP, DATAORA, STERS) +values (3528, 7, 'Listare', 3526, '2', null, null, 0); +insert into DEF_OBIECTE (ID_OBIECT, ID_PROGRAM, DESCRIERE, ID_TATA, COD, ID_UTILOP, DATAORA, STERS) +values (3529, 7, 'Terti', 3522, '03', null, null, 0); +insert into DEF_OBIECTE (ID_OBIECT, ID_PROGRAM, DESCRIERE, ID_TATA, COD, ID_UTILOP, DATAORA, STERS) +values (3530, 7, 'Export', 3529, '1', null, null, 0); +insert into DEF_OBIECTE (ID_OBIECT, ID_PROGRAM, DESCRIERE, ID_TATA, COD, ID_UTILOP, DATAORA, STERS) +values (3531, 7, 'Listare', 3529, '2', null, null, 0); +insert into DEF_OBIECTE (ID_OBIECT, ID_PROGRAM, DESCRIERE, ID_TATA, COD, ID_UTILOP, DATAORA, STERS) +values (3532, 7, 'Fluxul de trezorerie', -1, 'F', null, null, 0); +insert into DEF_OBIECTE (ID_OBIECT, ID_PROGRAM, DESCRIERE, ID_TATA, COD, ID_UTILOP, DATAORA, STERS) +values (3533, 7, 'Calcul Flux de trezorerie', 3532, '01', null, null, 0); +insert into DEF_OBIECTE (ID_OBIECT, ID_PROGRAM, DESCRIERE, ID_TATA, COD, ID_UTILOP, DATAORA, STERS) +values (3534, 7, 'Formule Flux de trezorerie', 3532, '02', null, null, 0); +insert into DEF_OBIECTE (ID_OBIECT, ID_PROGRAM, DESCRIERE, ID_TATA, COD, ID_UTILOP, DATAORA, STERS) +values (3535, 7, 'Rapoarte', 3488, '01', null, null, 0); +insert into DEF_OBIECTE (ID_OBIECT, ID_PROGRAM, DESCRIERE, ID_TATA, COD, ID_UTILOP, DATAORA, STERS) +values (3536, 9, 'Lucrari', 3322, '02', null, null, 0); +insert into DEF_OBIECTE (ID_OBIECT, ID_PROGRAM, DESCRIERE, ID_TATA, COD, ID_UTILOP, DATAORA, STERS) +values (3538, 9, 'Modificare', 3536, '3', null, null, 0); +insert into DEF_OBIECTE (ID_OBIECT, ID_PROGRAM, DESCRIERE, ID_TATA, COD, ID_UTILOP, DATAORA, STERS) +values (3542, 9, 'Stergere', 3536, '4', null, null, 0); +insert into DEF_OBIECTE (ID_OBIECT, ID_PROGRAM, DESCRIERE, ID_TATA, COD, ID_UTILOP, DATAORA, STERS) +values (3322, 9, 'Configurare', -1, 'A', null, null, 0); +insert into DEF_OBIECTE (ID_OBIECT, ID_PROGRAM, DESCRIERE, ID_TATA, COD, ID_UTILOP, DATAORA, STERS) +values (3323, 9, 'Calcul tarifar/ ora', 3322, '01', null, null, 0); +insert into DEF_OBIECTE (ID_OBIECT, ID_PROGRAM, DESCRIERE, ID_TATA, COD, ID_UTILOP, DATAORA, STERS) +values (3324, 9, 'Pontare', -1, 'B', null, null, 0); +insert into DEF_OBIECTE (ID_OBIECT, ID_PROGRAM, DESCRIERE, ID_TATA, COD, ID_UTILOP, DATAORA, STERS) +values (3007, 3, 'Export', 3006, '1', null, null, 0); +insert into DEF_OBIECTE (ID_OBIECT, ID_PROGRAM, DESCRIERE, ID_TATA, COD, ID_UTILOP, DATAORA, STERS) +values (3005, 3, 'Configurare', -1, 'A', null, null, 0); +insert into DEF_OBIECTE (ID_OBIECT, ID_PROGRAM, DESCRIERE, ID_TATA, COD, ID_UTILOP, DATAORA, STERS) +values (3006, 3, 'Calcul sporuri', 3005, '01', null, null, 0); +insert into DEF_OBIECTE (ID_OBIECT, ID_PROGRAM, DESCRIERE, ID_TATA, COD, ID_UTILOP, DATAORA, STERS) +values (3008, 3, 'Listare', 3006, '2', null, null, 0); +insert into DEF_OBIECTE (ID_OBIECT, ID_PROGRAM, DESCRIERE, ID_TATA, COD, ID_UTILOP, DATAORA, STERS) +values (3009, 3, 'Modificare', 3006, '3', null, null, 0); +insert into DEF_OBIECTE (ID_OBIECT, ID_PROGRAM, DESCRIERE, ID_TATA, COD, ID_UTILOP, DATAORA, STERS) +values (3010, 3, 'Stergere', 3006, '4', null, null, 0); +insert into DEF_OBIECTE (ID_OBIECT, ID_PROGRAM, DESCRIERE, ID_TATA, COD, ID_UTILOP, DATAORA, STERS) +values (3011, 3, 'Vizualizare inreg.proprii', 3006, '5', null, null, 0); +insert into DEF_OBIECTE (ID_OBIECT, ID_PROGRAM, DESCRIERE, ID_TATA, COD, ID_UTILOP, DATAORA, STERS) +values (3012, 3, 'Vizualizare tot', 3006, '6', null, null, 0); +insert into DEF_OBIECTE (ID_OBIECT, ID_PROGRAM, DESCRIERE, ID_TATA, COD, ID_UTILOP, DATAORA, STERS) +values (3013, 3, 'Calcul popriri', 3005, '02', null, null, 0); +insert into DEF_OBIECTE (ID_OBIECT, ID_PROGRAM, DESCRIERE, ID_TATA, COD, ID_UTILOP, DATAORA, STERS) +values (3014, 3, 'Export', 3013, '1', null, null, 0); +insert into DEF_OBIECTE (ID_OBIECT, ID_PROGRAM, DESCRIERE, ID_TATA, COD, ID_UTILOP, DATAORA, STERS) +values (3015, 3, 'Listare', 3013, '2', null, null, 0); +insert into DEF_OBIECTE (ID_OBIECT, ID_PROGRAM, DESCRIERE, ID_TATA, COD, ID_UTILOP, DATAORA, STERS) +values (3016, 3, 'Modificare', 3013, '3', null, null, 0); +insert into DEF_OBIECTE (ID_OBIECT, ID_PROGRAM, DESCRIERE, ID_TATA, COD, ID_UTILOP, DATAORA, STERS) +values (3017, 3, 'Stergere', 3013, '4', null, null, 0); +insert into DEF_OBIECTE (ID_OBIECT, ID_PROGRAM, DESCRIERE, ID_TATA, COD, ID_UTILOP, DATAORA, STERS) +values (3018, 3, 'Vizualizare inreg.proprii', 3013, '5', null, null, 0); +insert into DEF_OBIECTE (ID_OBIECT, ID_PROGRAM, DESCRIERE, ID_TATA, COD, ID_UTILOP, DATAORA, STERS) +values (3019, 3, 'Vizualizare tot', 3013, '6', null, null, 0); +insert into DEF_OBIECTE (ID_OBIECT, ID_PROGRAM, DESCRIERE, ID_TATA, COD, ID_UTILOP, DATAORA, STERS) +values (3020, 3, 'Calcul salariu', 3005, '03', null, null, 0); +insert into DEF_OBIECTE (ID_OBIECT, ID_PROGRAM, DESCRIERE, ID_TATA, COD, ID_UTILOP, DATAORA, STERS) +values (3021, 3, 'Calcul centralizator', 3005, '04', null, null, 0); +insert into DEF_OBIECTE (ID_OBIECT, ID_PROGRAM, DESCRIERE, ID_TATA, COD, ID_UTILOP, DATAORA, STERS) +values (3022, 3, 'Nota de inchidere', 3005, '05', null, null, 0); +insert into DEF_OBIECTE (ID_OBIECT, ID_PROGRAM, DESCRIERE, ID_TATA, COD, ID_UTILOP, DATAORA, STERS) +values (3023, 3, 'Configurare rapoarte', 3005, '06', null, null, 0); +insert into DEF_OBIECTE (ID_OBIECT, ID_PROGRAM, DESCRIERE, ID_TATA, COD, ID_UTILOP, DATAORA, STERS) +values (3024, 3, 'State', -1, 'B', null, null, 0); +commit; +prompt 200 records committed... +insert into DEF_OBIECTE (ID_OBIECT, ID_PROGRAM, DESCRIERE, ID_TATA, COD, ID_UTILOP, DATAORA, STERS) +values (3025, 3, 'Evidenta personal', 3024, '01', null, null, 0); +insert into DEF_OBIECTE (ID_OBIECT, ID_PROGRAM, DESCRIERE, ID_TATA, COD, ID_UTILOP, DATAORA, STERS) +values (3026, 3, 'Introducere avansuri', 3024, '02', null, null, 0); +insert into DEF_OBIECTE (ID_OBIECT, ID_PROGRAM, DESCRIERE, ID_TATA, COD, ID_UTILOP, DATAORA, STERS) +values (3027, 3, 'Export', 3026, '1', null, null, 0); +insert into DEF_OBIECTE (ID_OBIECT, ID_PROGRAM, DESCRIERE, ID_TATA, COD, ID_UTILOP, DATAORA, STERS) +values (3028, 3, 'Sporuri', 3024, '03', null, null, 0); +insert into DEF_OBIECTE (ID_OBIECT, ID_PROGRAM, DESCRIERE, ID_TATA, COD, ID_UTILOP, DATAORA, STERS) +values (3029, 3, 'Export', 3028, '1', null, null, 0); +insert into DEF_OBIECTE (ID_OBIECT, ID_PROGRAM, DESCRIERE, ID_TATA, COD, ID_UTILOP, DATAORA, STERS) +values (3030, 3, 'Listare', 3028, '2', null, null, 0); +insert into DEF_OBIECTE (ID_OBIECT, ID_PROGRAM, DESCRIERE, ID_TATA, COD, ID_UTILOP, DATAORA, STERS) +values (3031, 3, 'Modificare', 3028, '3', null, null, 0); +insert into DEF_OBIECTE (ID_OBIECT, ID_PROGRAM, DESCRIERE, ID_TATA, COD, ID_UTILOP, DATAORA, STERS) +values (3032, 3, 'Popriri', 3024, '04', null, null, 0); +insert into DEF_OBIECTE (ID_OBIECT, ID_PROGRAM, DESCRIERE, ID_TATA, COD, ID_UTILOP, DATAORA, STERS) +values (3033, 3, 'Export', 3032, '1', null, null, 0); +insert into DEF_OBIECTE (ID_OBIECT, ID_PROGRAM, DESCRIERE, ID_TATA, COD, ID_UTILOP, DATAORA, STERS) +values (3034, 3, 'Listare', 3032, '2', null, null, 0); +insert into DEF_OBIECTE (ID_OBIECT, ID_PROGRAM, DESCRIERE, ID_TATA, COD, ID_UTILOP, DATAORA, STERS) +values (3035, 3, 'Modificare', 3032, '3', null, null, 0); +insert into DEF_OBIECTE (ID_OBIECT, ID_PROGRAM, DESCRIERE, ID_TATA, COD, ID_UTILOP, DATAORA, STERS) +values (3036, 3, 'Prime', 3024, '05', null, null, 0); +insert into DEF_OBIECTE (ID_OBIECT, ID_PROGRAM, DESCRIERE, ID_TATA, COD, ID_UTILOP, DATAORA, STERS) +values (3037, 3, 'Export', 3036, '1', null, null, 0); +insert into DEF_OBIECTE (ID_OBIECT, ID_PROGRAM, DESCRIERE, ID_TATA, COD, ID_UTILOP, DATAORA, STERS) +values (3038, 3, 'Calcul state', 3024, '06', null, null, 0); +insert into DEF_OBIECTE (ID_OBIECT, ID_PROGRAM, DESCRIERE, ID_TATA, COD, ID_UTILOP, DATAORA, STERS) +values (3039, 3, 'Export', 3038, '1', null, null, 0); +insert into DEF_OBIECTE (ID_OBIECT, ID_PROGRAM, DESCRIERE, ID_TATA, COD, ID_UTILOP, DATAORA, STERS) +values (3040, 3, 'Rapoarte', 3024, '07', null, null, 0); +insert into DEF_OBIECTE (ID_OBIECT, ID_PROGRAM, DESCRIERE, ID_TATA, COD, ID_UTILOP, DATAORA, STERS) +values (3041, 3, 'Concedii', -1, 'C', null, null, 0); +insert into DEF_OBIECTE (ID_OBIECT, ID_PROGRAM, DESCRIERE, ID_TATA, COD, ID_UTILOP, DATAORA, STERS) +values (3042, 3, 'Concedii de odihna', 3041, '01', null, null, 0); +insert into DEF_OBIECTE (ID_OBIECT, ID_PROGRAM, DESCRIERE, ID_TATA, COD, ID_UTILOP, DATAORA, STERS) +values (3043, 3, 'Export', 3042, '1', null, null, 0); +insert into DEF_OBIECTE (ID_OBIECT, ID_PROGRAM, DESCRIERE, ID_TATA, COD, ID_UTILOP, DATAORA, STERS) +values (3044, 3, 'Listare', 3042, '2', null, null, 0); +insert into DEF_OBIECTE (ID_OBIECT, ID_PROGRAM, DESCRIERE, ID_TATA, COD, ID_UTILOP, DATAORA, STERS) +values (3045, 3, 'Modificare', 3042, '3', null, null, 0); +insert into DEF_OBIECTE (ID_OBIECT, ID_PROGRAM, DESCRIERE, ID_TATA, COD, ID_UTILOP, DATAORA, STERS) +values (3046, 3, 'Refacere', 3042, '4', null, null, 0); +insert into DEF_OBIECTE (ID_OBIECT, ID_PROGRAM, DESCRIERE, ID_TATA, COD, ID_UTILOP, DATAORA, STERS) +values (3047, 3, 'Avansuri CO', 3041, '02', null, null, 0); +insert into DEF_OBIECTE (ID_OBIECT, ID_PROGRAM, DESCRIERE, ID_TATA, COD, ID_UTILOP, DATAORA, STERS) +values (3048, 3, 'Export', 3047, '1', null, null, 0); +insert into DEF_OBIECTE (ID_OBIECT, ID_PROGRAM, DESCRIERE, ID_TATA, COD, ID_UTILOP, DATAORA, STERS) +values (3049, 3, 'Listare', 3047, '2', null, null, 0); +insert into DEF_OBIECTE (ID_OBIECT, ID_PROGRAM, DESCRIERE, ID_TATA, COD, ID_UTILOP, DATAORA, STERS) +values (3050, 3, 'Modificare', 3047, '3', null, null, 0); +insert into DEF_OBIECTE (ID_OBIECT, ID_PROGRAM, DESCRIERE, ID_TATA, COD, ID_UTILOP, DATAORA, STERS) +values (3051, 3, 'Refacere', 3047, '4', null, null, 0); +insert into DEF_OBIECTE (ID_OBIECT, ID_PROGRAM, DESCRIERE, ID_TATA, COD, ID_UTILOP, DATAORA, STERS) +values (3052, 3, 'Concedii medicale', 3041, '03', null, null, 0); +insert into DEF_OBIECTE (ID_OBIECT, ID_PROGRAM, DESCRIERE, ID_TATA, COD, ID_UTILOP, DATAORA, STERS) +values (3053, 3, 'Export', 3052, '1', null, null, 0); +insert into DEF_OBIECTE (ID_OBIECT, ID_PROGRAM, DESCRIERE, ID_TATA, COD, ID_UTILOP, DATAORA, STERS) +values (3054, 3, 'Listare', 3052, '2', null, null, 0); +insert into DEF_OBIECTE (ID_OBIECT, ID_PROGRAM, DESCRIERE, ID_TATA, COD, ID_UTILOP, DATAORA, STERS) +values (3055, 3, 'Modificare', 3052, '3', null, null, 0); +insert into DEF_OBIECTE (ID_OBIECT, ID_PROGRAM, DESCRIERE, ID_TATA, COD, ID_UTILOP, DATAORA, STERS) +values (3056, 3, 'Refacere', 3052, '4', null, null, 0); +insert into DEF_OBIECTE (ID_OBIECT, ID_PROGRAM, DESCRIERE, ID_TATA, COD, ID_UTILOP, DATAORA, STERS) +values (3057, 3, 'Rapoarte', 3041, '04', null, null, 0); +insert into DEF_OBIECTE (ID_OBIECT, ID_PROGRAM, DESCRIERE, ID_TATA, COD, ID_UTILOP, DATAORA, STERS) +values (3058, 3, 'Export', 3057, '1', null, null, 0); +insert into DEF_OBIECTE (ID_OBIECT, ID_PROGRAM, DESCRIERE, ID_TATA, COD, ID_UTILOP, DATAORA, STERS) +values (3059, 3, 'Listare', 3057, '2', null, null, 0); +insert into DEF_OBIECTE (ID_OBIECT, ID_PROGRAM, DESCRIERE, ID_TATA, COD, ID_UTILOP, DATAORA, STERS) +values (3060, 3, 'Modificare', 3057, '3', null, null, 0); +insert into DEF_OBIECTE (ID_OBIECT, ID_PROGRAM, DESCRIERE, ID_TATA, COD, ID_UTILOP, DATAORA, STERS) +values (3061, 3, 'Stergere', 3057, '4', null, null, 0); +insert into DEF_OBIECTE (ID_OBIECT, ID_PROGRAM, DESCRIERE, ID_TATA, COD, ID_UTILOP, DATAORA, STERS) +values (3062, 3, 'Vizualizare inreg.proprii', 3057, '5', null, null, 0); +insert into DEF_OBIECTE (ID_OBIECT, ID_PROGRAM, DESCRIERE, ID_TATA, COD, ID_UTILOP, DATAORA, STERS) +values (3063, 3, 'Vizualizare tot', 3057, '6', null, null, 0); +insert into DEF_OBIECTE (ID_OBIECT, ID_PROGRAM, DESCRIERE, ID_TATA, COD, ID_UTILOP, DATAORA, STERS) +values (3064, 3, 'Analize', -1, 'D', null, null, 0); +insert into DEF_OBIECTE (ID_OBIECT, ID_PROGRAM, DESCRIERE, ID_TATA, COD, ID_UTILOP, DATAORA, STERS) +values (3065, 3, 'Borderou plati salarii', 3064, '01', null, null, 0); +insert into DEF_OBIECTE (ID_OBIECT, ID_PROGRAM, DESCRIERE, ID_TATA, COD, ID_UTILOP, DATAORA, STERS) +values (3066, 3, 'Vizualizare state', 3064, '02', null, null, 0); +insert into DEF_OBIECTE (ID_OBIECT, ID_PROGRAM, DESCRIERE, ID_TATA, COD, ID_UTILOP, DATAORA, STERS) +values (3067, 3, 'Export', 3066, '1', null, null, 0); +insert into DEF_OBIECTE (ID_OBIECT, ID_PROGRAM, DESCRIERE, ID_TATA, COD, ID_UTILOP, DATAORA, STERS) +values (3068, 3, 'Rapoarte', 3064, '03', null, null, 0); +insert into DEF_OBIECTE (ID_OBIECT, ID_PROGRAM, DESCRIERE, ID_TATA, COD, ID_UTILOP, DATAORA, STERS) +values (3069, 3, 'Nota de inchidere', 3064, '04', null, null, 0); +insert into DEF_OBIECTE (ID_OBIECT, ID_PROGRAM, DESCRIERE, ID_TATA, COD, ID_UTILOP, DATAORA, STERS) +values (3070, 3, 'Deschidere de luna', 3064, '05', null, null, 0); +insert into DEF_OBIECTE (ID_OBIECT, ID_PROGRAM, DESCRIERE, ID_TATA, COD, ID_UTILOP, DATAORA, STERS) +values (3325, 9, 'Pontare pe zile', 3324, '01', null, null, 0); +insert into DEF_OBIECTE (ID_OBIECT, ID_PROGRAM, DESCRIERE, ID_TATA, COD, ID_UTILOP, DATAORA, STERS) +values (3326, 9, 'Pontare pe lucrari', 3324, '02', null, null, 0); +insert into DEF_OBIECTE (ID_OBIECT, ID_PROGRAM, DESCRIERE, ID_TATA, COD, ID_UTILOP, DATAORA, STERS) +values (3327, 9, 'Foaia de lucru', 3324, '03', null, null, 0); +insert into DEF_OBIECTE (ID_OBIECT, ID_PROGRAM, DESCRIERE, ID_TATA, COD, ID_UTILOP, DATAORA, STERS) +values (3328, 9, 'Modificare', 3327, '3', null, null, 0); +insert into DEF_OBIECTE (ID_OBIECT, ID_PROGRAM, DESCRIERE, ID_TATA, COD, ID_UTILOP, DATAORA, STERS) +values (3329, 9, 'Rapoarte', 3324, '04', null, null, 0); +insert into DEF_OBIECTE (ID_OBIECT, ID_PROGRAM, DESCRIERE, ID_TATA, COD, ID_UTILOP, DATAORA, STERS) +values (3331, 4, 'Personal', -1, 'A', null, null, 0); +insert into DEF_OBIECTE (ID_OBIECT, ID_PROGRAM, DESCRIERE, ID_TATA, COD, ID_UTILOP, DATAORA, STERS) +values (3332, 4, 'Adaugare/modificare', 3331, '01', null, null, 0); +insert into DEF_OBIECTE (ID_OBIECT, ID_PROGRAM, DESCRIERE, ID_TATA, COD, ID_UTILOP, DATAORA, STERS) +values (3333, 4, 'Listare', 3332, '2', null, null, 0); +insert into DEF_OBIECTE (ID_OBIECT, ID_PROGRAM, DESCRIERE, ID_TATA, COD, ID_UTILOP, DATAORA, STERS) +values (3334, 4, 'Modificare', 3332, '3', null, null, 0); +insert into DEF_OBIECTE (ID_OBIECT, ID_PROGRAM, DESCRIERE, ID_TATA, COD, ID_UTILOP, DATAORA, STERS) +values (3335, 4, 'Familie', 3331, '02', null, null, 0); +insert into DEF_OBIECTE (ID_OBIECT, ID_PROGRAM, DESCRIERE, ID_TATA, COD, ID_UTILOP, DATAORA, STERS) +values (3336, 4, 'Listare', 3335, '2', null, null, 0); +insert into DEF_OBIECTE (ID_OBIECT, ID_PROGRAM, DESCRIERE, ID_TATA, COD, ID_UTILOP, DATAORA, STERS) +values (3337, 4, 'Modificare', 3335, '3', null, null, 0); +insert into DEF_OBIECTE (ID_OBIECT, ID_PROGRAM, DESCRIERE, ID_TATA, COD, ID_UTILOP, DATAORA, STERS) +values (3338, 4, 'Calificare', 3331, '03', null, null, 0); +insert into DEF_OBIECTE (ID_OBIECT, ID_PROGRAM, DESCRIERE, ID_TATA, COD, ID_UTILOP, DATAORA, STERS) +values (3339, 4, 'Listare', 3338, '2', null, null, 0); +insert into DEF_OBIECTE (ID_OBIECT, ID_PROGRAM, DESCRIERE, ID_TATA, COD, ID_UTILOP, DATAORA, STERS) +values (3340, 4, 'Modificare', 3338, '3', null, null, 0); +insert into DEF_OBIECTE (ID_OBIECT, ID_PROGRAM, DESCRIERE, ID_TATA, COD, ID_UTILOP, DATAORA, STERS) +values (3341, 4, 'Scolarizare', 3331, '04', null, null, 0); +insert into DEF_OBIECTE (ID_OBIECT, ID_PROGRAM, DESCRIERE, ID_TATA, COD, ID_UTILOP, DATAORA, STERS) +values (3342, 4, 'Listare', 3341, '2', null, null, 0); +insert into DEF_OBIECTE (ID_OBIECT, ID_PROGRAM, DESCRIERE, ID_TATA, COD, ID_UTILOP, DATAORA, STERS) +values (3343, 4, 'Modificare', 3341, '3', null, null, 0); +insert into DEF_OBIECTE (ID_OBIECT, ID_PROGRAM, DESCRIERE, ID_TATA, COD, ID_UTILOP, DATAORA, STERS) +values (3344, 4, 'Vechimi', 3331, '05', null, null, 0); +insert into DEF_OBIECTE (ID_OBIECT, ID_PROGRAM, DESCRIERE, ID_TATA, COD, ID_UTILOP, DATAORA, STERS) +values (3345, 4, 'Listare', 3344, '2', null, null, 0); +insert into DEF_OBIECTE (ID_OBIECT, ID_PROGRAM, DESCRIERE, ID_TATA, COD, ID_UTILOP, DATAORA, STERS) +values (3346, 4, 'Modificare', 3344, '3', null, null, 0); +insert into DEF_OBIECTE (ID_OBIECT, ID_PROGRAM, DESCRIERE, ID_TATA, COD, ID_UTILOP, DATAORA, STERS) +values (3347, 4, 'Plecari din unitate', 3331, '06', null, null, 0); +insert into DEF_OBIECTE (ID_OBIECT, ID_PROGRAM, DESCRIERE, ID_TATA, COD, ID_UTILOP, DATAORA, STERS) +values (3348, 4, 'Rapoarte', 3331, '07', null, null, 0); +insert into DEF_OBIECTE (ID_OBIECT, ID_PROGRAM, DESCRIERE, ID_TATA, COD, ID_UTILOP, DATAORA, STERS) +values (3349, 4, 'Contracte de munca', -1, 'B', null, null, 0); +insert into DEF_OBIECTE (ID_OBIECT, ID_PROGRAM, DESCRIERE, ID_TATA, COD, ID_UTILOP, DATAORA, STERS) +values (3350, 4, 'Configurare contract', 3349, '01', null, null, 0); +insert into DEF_OBIECTE (ID_OBIECT, ID_PROGRAM, DESCRIERE, ID_TATA, COD, ID_UTILOP, DATAORA, STERS) +values (3351, 4, 'Listare', 3350, '2', null, null, 0); +insert into DEF_OBIECTE (ID_OBIECT, ID_PROGRAM, DESCRIERE, ID_TATA, COD, ID_UTILOP, DATAORA, STERS) +values (3352, 4, 'Modificare', 3350, '3', null, null, 0); +insert into DEF_OBIECTE (ID_OBIECT, ID_PROGRAM, DESCRIERE, ID_TATA, COD, ID_UTILOP, DATAORA, STERS) +values (3353, 4, 'Listare contract', 3349, '02', null, null, 0); +insert into DEF_OBIECTE (ID_OBIECT, ID_PROGRAM, DESCRIERE, ID_TATA, COD, ID_UTILOP, DATAORA, STERS) +values (3354, 4, 'Concedii de odihna', -1, 'C', null, null, 0); +insert into DEF_OBIECTE (ID_OBIECT, ID_PROGRAM, DESCRIERE, ID_TATA, COD, ID_UTILOP, DATAORA, STERS) +values (3355, 4, 'Planificari CO', 3354, '01', null, null, 0); +insert into DEF_OBIECTE (ID_OBIECT, ID_PROGRAM, DESCRIERE, ID_TATA, COD, ID_UTILOP, DATAORA, STERS) +values (3356, 4, 'Listare', 3355, '2', null, null, 0); +insert into DEF_OBIECTE (ID_OBIECT, ID_PROGRAM, DESCRIERE, ID_TATA, COD, ID_UTILOP, DATAORA, STERS) +values (3357, 4, 'Modificare', 3355, '3', null, null, 0); +insert into DEF_OBIECTE (ID_OBIECT, ID_PROGRAM, DESCRIERE, ID_TATA, COD, ID_UTILOP, DATAORA, STERS) +values (3358, 4, 'Sit CO cuvenite', 3354, '02', null, null, 0); +insert into DEF_OBIECTE (ID_OBIECT, ID_PROGRAM, DESCRIERE, ID_TATA, COD, ID_UTILOP, DATAORA, STERS) +values (3359, 4, 'Rapoarte', 3354, '03', null, null, 0); +insert into DEF_OBIECTE (ID_OBIECT, ID_PROGRAM, DESCRIERE, ID_TATA, COD, ID_UTILOP, DATAORA, STERS) +values (3360, 4, 'Rapoarte de analiza', -1, 'D', null, null, 0); +insert into DEF_OBIECTE (ID_OBIECT, ID_PROGRAM, DESCRIERE, ID_TATA, COD, ID_UTILOP, DATAORA, STERS) +values (3544, 2, 'Note contabile', 2523, '06', null, null, 0); +commit; +commit; +delete from def_obiecte where id_obiect in (2827,2828,2836,2837); +prompt 552 records loaded +prompt Enabling foreign key constraints for DEF_OBIECTE... +alter table DEF_OBIECTE enable constraint FK_DO01; +alter table DEF_OBIECTE enable constraint FK_DO02; +prompt Enabling triggers for DEF_OBIECTE... +alter table DEF_OBIECTE enable all triggers; +set feedback on +set define on +prompt Done. diff --git a/Drepturi utilizatori/def_obiecte_completare_0311.sql b/Drepturi utilizatori/def_obiecte_completare_0311.sql new file mode 100644 index 0000000..a3d4884 --- /dev/null +++ b/Drepturi utilizatori/def_obiecte_completare_0311.sql @@ -0,0 +1,586 @@ +prompt PL/SQL Developer import file +prompt Created on Thursday, November 03, 2005 by marius.atanasiu +set feedback off +set define off +prompt Disabling triggers for DEF_OBIECTE... +alter table DEF_OBIECTE disable all triggers; +prompt Disabling foreign key constraints for DEF_OBIECTE... +alter table DEF_OBIECTE disable constraint FK_DO01; +alter table DEF_OBIECTE disable constraint FK_DO02; +prompt Loading DEF_OBIECTE... +insert into DEF_OBIECTE (ID_OBIECT, ID_PROGRAM, DESCRIERE, ID_TATA, COD, ID_UTILOP, DATAORA, STERS) +values (3361, 4, 'Structura personalului', 3360, '01', null, null, 0); +insert into DEF_OBIECTE (ID_OBIECT, ID_PROGRAM, DESCRIERE, ID_TATA, COD, ID_UTILOP, DATAORA, STERS) +values (3362, 4, 'Migratia personalului', 3360, '02', null, null, 0); +insert into DEF_OBIECTE (ID_OBIECT, ID_PROGRAM, DESCRIERE, ID_TATA, COD, ID_UTILOP, DATAORA, STERS) +values (3363, 4, 'Salariul mediu', 3360, '03', null, null, 0); +insert into DEF_OBIECTE (ID_OBIECT, ID_PROGRAM, DESCRIERE, ID_TATA, COD, ID_UTILOP, DATAORA, STERS) +values (3365, 5, 'Meniu', -1, 'Z', null, null, 0); +insert into DEF_OBIECTE (ID_OBIECT, ID_PROGRAM, DESCRIERE, ID_TATA, COD, ID_UTILOP, DATAORA, STERS) +values (3366, 5, 'Actualizare', 3365, 'A', null, null, 0); +insert into DEF_OBIECTE (ID_OBIECT, ID_PROGRAM, DESCRIERE, ID_TATA, COD, ID_UTILOP, DATAORA, STERS) +values (3367, 5, 'Initializare', 3366, '01', null, null, 0); +insert into DEF_OBIECTE (ID_OBIECT, ID_PROGRAM, DESCRIERE, ID_TATA, COD, ID_UTILOP, DATAORA, STERS) +values (3368, 5, 'Recalculare', 3366, '02', null, null, 0); +insert into DEF_OBIECTE (ID_OBIECT, ID_PROGRAM, DESCRIERE, ID_TATA, COD, ID_UTILOP, DATAORA, STERS) +values (3369, 5, 'Gestiuni', -1, 'A', null, null, 0); +insert into DEF_OBIECTE (ID_OBIECT, ID_PROGRAM, DESCRIERE, ID_TATA, COD, ID_UTILOP, DATAORA, STERS) +values (3370, 5, 'Inregistrari', 3369, '01', null, null, 0); +insert into DEF_OBIECTE (ID_OBIECT, ID_PROGRAM, DESCRIERE, ID_TATA, COD, ID_UTILOP, DATAORA, STERS) +values (3371, 5, 'Configurare', 3369, '02', null, null, 0); +insert into DEF_OBIECTE (ID_OBIECT, ID_PROGRAM, DESCRIERE, ID_TATA, COD, ID_UTILOP, DATAORA, STERS) +values (3372, 5, 'Export', 3371, '1', null, null, 0); +insert into DEF_OBIECTE (ID_OBIECT, ID_PROGRAM, DESCRIERE, ID_TATA, COD, ID_UTILOP, DATAORA, STERS) +values (3373, 5, 'Listare', 3371, '2', null, null, 0); +insert into DEF_OBIECTE (ID_OBIECT, ID_PROGRAM, DESCRIERE, ID_TATA, COD, ID_UTILOP, DATAORA, STERS) +values (3374, 5, 'Modificare', 3371, '3', null, null, 0); +insert into DEF_OBIECTE (ID_OBIECT, ID_PROGRAM, DESCRIERE, ID_TATA, COD, ID_UTILOP, DATAORA, STERS) +values (3375, 5, 'Refacere', 3371, '4', null, null, 0); +insert into DEF_OBIECTE (ID_OBIECT, ID_PROGRAM, DESCRIERE, ID_TATA, COD, ID_UTILOP, DATAORA, STERS) +values (3376, 5, 'Vizualizare', 3369, '03', null, null, 0); +insert into DEF_OBIECTE (ID_OBIECT, ID_PROGRAM, DESCRIERE, ID_TATA, COD, ID_UTILOP, DATAORA, STERS) +values (3377, 5, 'Export', 3376, '1', null, null, 0); +insert into DEF_OBIECTE (ID_OBIECT, ID_PROGRAM, DESCRIERE, ID_TATA, COD, ID_UTILOP, DATAORA, STERS) +values (3378, 5, 'Listare', 3376, '2', null, null, 0); +insert into DEF_OBIECTE (ID_OBIECT, ID_PROGRAM, DESCRIERE, ID_TATA, COD, ID_UTILOP, DATAORA, STERS) +values (3379, 5, 'Modificare', 3376, '3', null, null, 0); +insert into DEF_OBIECTE (ID_OBIECT, ID_PROGRAM, DESCRIERE, ID_TATA, COD, ID_UTILOP, DATAORA, STERS) +values (3380, 5, 'Stergere', 3376, '4', null, null, 0); +insert into DEF_OBIECTE (ID_OBIECT, ID_PROGRAM, DESCRIERE, ID_TATA, COD, ID_UTILOP, DATAORA, STERS) +values (3381, 5, 'Vizualizare inreg.proprii', 3376, '5', null, null, 0); +insert into DEF_OBIECTE (ID_OBIECT, ID_PROGRAM, DESCRIERE, ID_TATA, COD, ID_UTILOP, DATAORA, STERS) +values (3382, 5, 'Vizualizare tot', 3376, '6', null, null, 0); +insert into DEF_OBIECTE (ID_OBIECT, ID_PROGRAM, DESCRIERE, ID_TATA, COD, ID_UTILOP, DATAORA, STERS) +values (3383, 5, 'Rapoarte generale', 3369, '04', null, null, 0); +insert into DEF_OBIECTE (ID_OBIECT, ID_PROGRAM, DESCRIERE, ID_TATA, COD, ID_UTILOP, DATAORA, STERS) +values (3384, 5, 'Export', 3383, '1', null, null, 0); +insert into DEF_OBIECTE (ID_OBIECT, ID_PROGRAM, DESCRIERE, ID_TATA, COD, ID_UTILOP, DATAORA, STERS) +values (3385, 5, 'Listare', 3383, '2', null, null, 0); +insert into DEF_OBIECTE (ID_OBIECT, ID_PROGRAM, DESCRIERE, ID_TATA, COD, ID_UTILOP, DATAORA, STERS) +values (3386, 5, 'Registru Jurnal', 3369, '05', null, null, 0); +insert into DEF_OBIECTE (ID_OBIECT, ID_PROGRAM, DESCRIERE, ID_TATA, COD, ID_UTILOP, DATAORA, STERS) +values (3387, 5, 'Export', 3386, '1', null, null, 0); +insert into DEF_OBIECTE (ID_OBIECT, ID_PROGRAM, DESCRIERE, ID_TATA, COD, ID_UTILOP, DATAORA, STERS) +values (3388, 5, 'Listare', 3386, '2', null, null, 0); +insert into DEF_OBIECTE (ID_OBIECT, ID_PROGRAM, DESCRIERE, ID_TATA, COD, ID_UTILOP, DATAORA, STERS) +values (3389, 5, 'Modificare', 3386, '3', null, null, 0); +insert into DEF_OBIECTE (ID_OBIECT, ID_PROGRAM, DESCRIERE, ID_TATA, COD, ID_UTILOP, DATAORA, STERS) +values (3390, 5, 'Stergere', 3386, '4', null, null, 0); +insert into DEF_OBIECTE (ID_OBIECT, ID_PROGRAM, DESCRIERE, ID_TATA, COD, ID_UTILOP, DATAORA, STERS) +values (3391, 5, 'Vizualizare inreg.proprii', 3386, '5', null, null, 0); +insert into DEF_OBIECTE (ID_OBIECT, ID_PROGRAM, DESCRIERE, ID_TATA, COD, ID_UTILOP, DATAORA, STERS) +values (3392, 5, 'Vizualizare tot', 3386, '6', null, null, 0); +insert into DEF_OBIECTE (ID_OBIECT, ID_PROGRAM, DESCRIERE, ID_TATA, COD, ID_UTILOP, DATAORA, STERS) +values (3393, 5, 'Materii Prime si Materiale', -1, 'B', null, null, 0); +insert into DEF_OBIECTE (ID_OBIECT, ID_PROGRAM, DESCRIERE, ID_TATA, COD, ID_UTILOP, DATAORA, STERS) +values (3394, 5, 'Achizitie', 3393, '01', null, null, 0); +insert into DEF_OBIECTE (ID_OBIECT, ID_PROGRAM, DESCRIERE, ID_TATA, COD, ID_UTILOP, DATAORA, STERS) +values (3395, 5, 'Achizitie din Import', 3393, '02', null, null, 0); +insert into DEF_OBIECTE (ID_OBIECT, ID_PROGRAM, DESCRIERE, ID_TATA, COD, ID_UTILOP, DATAORA, STERS) +values (3396, 5, 'Consum', 3393, '03', null, null, 0); +insert into DEF_OBIECTE (ID_OBIECT, ID_PROGRAM, DESCRIERE, ID_TATA, COD, ID_UTILOP, DATAORA, STERS) +values (3397, 5, 'Transfer', 3393, '04', null, null, 0); +insert into DEF_OBIECTE (ID_OBIECT, ID_PROGRAM, DESCRIERE, ID_TATA, COD, ID_UTILOP, DATAORA, STERS) +values (3398, 5, 'Vanzare', 3393, '05', null, null, 0); +insert into DEF_OBIECTE (ID_OBIECT, ID_PROGRAM, DESCRIERE, ID_TATA, COD, ID_UTILOP, DATAORA, STERS) +values (3399, 5, 'Stocuri materiale', 3393, '06', null, null, 0); +insert into DEF_OBIECTE (ID_OBIECT, ID_PROGRAM, DESCRIERE, ID_TATA, COD, ID_UTILOP, DATAORA, STERS) +values (3400, 5, 'Export', 3399, '1', null, null, 0); +insert into DEF_OBIECTE (ID_OBIECT, ID_PROGRAM, DESCRIERE, ID_TATA, COD, ID_UTILOP, DATAORA, STERS) +values (3401, 5, 'Listare', 3399, '2', null, null, 0); +insert into DEF_OBIECTE (ID_OBIECT, ID_PROGRAM, DESCRIERE, ID_TATA, COD, ID_UTILOP, DATAORA, STERS) +values (3402, 5, 'Modificare', 3399, '3', null, null, 0); +insert into DEF_OBIECTE (ID_OBIECT, ID_PROGRAM, DESCRIERE, ID_TATA, COD, ID_UTILOP, DATAORA, STERS) +values (3403, 5, 'Refacere', 3399, '4', null, null, 0); +insert into DEF_OBIECTE (ID_OBIECT, ID_PROGRAM, DESCRIERE, ID_TATA, COD, ID_UTILOP, DATAORA, STERS) +values (3404, 5, 'Rapoarte', 3393, '07', null, null, 0); +insert into DEF_OBIECTE (ID_OBIECT, ID_PROGRAM, DESCRIERE, ID_TATA, COD, ID_UTILOP, DATAORA, STERS) +values (3405, 5, 'Export', 3404, '1', null, null, 0); +insert into DEF_OBIECTE (ID_OBIECT, ID_PROGRAM, DESCRIERE, ID_TATA, COD, ID_UTILOP, DATAORA, STERS) +values (3406, 5, 'Listare', 3404, '2', null, null, 0); +insert into DEF_OBIECTE (ID_OBIECT, ID_PROGRAM, DESCRIERE, ID_TATA, COD, ID_UTILOP, DATAORA, STERS) +values (3407, 5, 'Obiecte de Inventar', -1, 'C', null, null, 0); +insert into DEF_OBIECTE (ID_OBIECT, ID_PROGRAM, DESCRIERE, ID_TATA, COD, ID_UTILOP, DATAORA, STERS) +values (3408, 5, 'Achizitie', 3407, '01', null, null, 0); +insert into DEF_OBIECTE (ID_OBIECT, ID_PROGRAM, DESCRIERE, ID_TATA, COD, ID_UTILOP, DATAORA, STERS) +values (3409, 5, 'Consum', 3407, '02', null, null, 0); +insert into DEF_OBIECTE (ID_OBIECT, ID_PROGRAM, DESCRIERE, ID_TATA, COD, ID_UTILOP, DATAORA, STERS) +values (3410, 5, 'Transfer', 3407, '03', null, null, 0); +insert into DEF_OBIECTE (ID_OBIECT, ID_PROGRAM, DESCRIERE, ID_TATA, COD, ID_UTILOP, DATAORA, STERS) +values (3411, 5, 'Rulaje ob. de inventar in folosinta (8039)', 3407, '04', null, null, 0); +insert into DEF_OBIECTE (ID_OBIECT, ID_PROGRAM, DESCRIERE, ID_TATA, COD, ID_UTILOP, DATAORA, STERS) +values (3412, 5, 'Export', 3411, '1', null, null, 0); +insert into DEF_OBIECTE (ID_OBIECT, ID_PROGRAM, DESCRIERE, ID_TATA, COD, ID_UTILOP, DATAORA, STERS) +values (3413, 5, 'Listare', 3411, '2', null, null, 0); +insert into DEF_OBIECTE (ID_OBIECT, ID_PROGRAM, DESCRIERE, ID_TATA, COD, ID_UTILOP, DATAORA, STERS) +values (3414, 5, 'Modificare', 3411, '3', null, null, 0); +insert into DEF_OBIECTE (ID_OBIECT, ID_PROGRAM, DESCRIERE, ID_TATA, COD, ID_UTILOP, DATAORA, STERS) +values (3415, 5, 'Refacere', 3411, '4', null, null, 0); +insert into DEF_OBIECTE (ID_OBIECT, ID_PROGRAM, DESCRIERE, ID_TATA, COD, ID_UTILOP, DATAORA, STERS) +values (3416, 5, 'Obiecte de inventar in folosinta (8039)', 3407, '05', null, null, 0); +insert into DEF_OBIECTE (ID_OBIECT, ID_PROGRAM, DESCRIERE, ID_TATA, COD, ID_UTILOP, DATAORA, STERS) +values (3417, 5, 'Export', 3416, '1', null, null, 0); +insert into DEF_OBIECTE (ID_OBIECT, ID_PROGRAM, DESCRIERE, ID_TATA, COD, ID_UTILOP, DATAORA, STERS) +values (3418, 5, 'Listare', 3416, '2', null, null, 0); +insert into DEF_OBIECTE (ID_OBIECT, ID_PROGRAM, DESCRIERE, ID_TATA, COD, ID_UTILOP, DATAORA, STERS) +values (3419, 5, 'Modificare', 3416, '3', null, null, 0); +insert into DEF_OBIECTE (ID_OBIECT, ID_PROGRAM, DESCRIERE, ID_TATA, COD, ID_UTILOP, DATAORA, STERS) +values (3420, 5, 'Refacere', 3416, '4', null, null, 0); +insert into DEF_OBIECTE (ID_OBIECT, ID_PROGRAM, DESCRIERE, ID_TATA, COD, ID_UTILOP, DATAORA, STERS) +values (3421, 5, 'Obiecte de inventar in stoc / magazie (303)', 3407, '06', null, null, 0); +insert into DEF_OBIECTE (ID_OBIECT, ID_PROGRAM, DESCRIERE, ID_TATA, COD, ID_UTILOP, DATAORA, STERS) +values (3422, 5, 'Export', 3421, '1', null, null, 0); +insert into DEF_OBIECTE (ID_OBIECT, ID_PROGRAM, DESCRIERE, ID_TATA, COD, ID_UTILOP, DATAORA, STERS) +values (3423, 5, 'Listare', 3421, '2', null, null, 0); +insert into DEF_OBIECTE (ID_OBIECT, ID_PROGRAM, DESCRIERE, ID_TATA, COD, ID_UTILOP, DATAORA, STERS) +values (3424, 5, 'Modificare', 3421, '3', null, null, 0); +insert into DEF_OBIECTE (ID_OBIECT, ID_PROGRAM, DESCRIERE, ID_TATA, COD, ID_UTILOP, DATAORA, STERS) +values (3425, 5, 'Refacere', 3421, '4', null, null, 0); +insert into DEF_OBIECTE (ID_OBIECT, ID_PROGRAM, DESCRIERE, ID_TATA, COD, ID_UTILOP, DATAORA, STERS) +values (3426, 5, 'Rapoarte', 3407, '07', null, null, 0); +insert into DEF_OBIECTE (ID_OBIECT, ID_PROGRAM, DESCRIERE, ID_TATA, COD, ID_UTILOP, DATAORA, STERS) +values (3427, 5, 'Export', 3426, '1', null, null, 0); +insert into DEF_OBIECTE (ID_OBIECT, ID_PROGRAM, DESCRIERE, ID_TATA, COD, ID_UTILOP, DATAORA, STERS) +values (3428, 5, 'Listare', 3426, '2', null, null, 0); +insert into DEF_OBIECTE (ID_OBIECT, ID_PROGRAM, DESCRIERE, ID_TATA, COD, ID_UTILOP, DATAORA, STERS) +values (3429, 5, 'Produse', -1, 'D', null, null, 0); +insert into DEF_OBIECTE (ID_OBIECT, ID_PROGRAM, DESCRIERE, ID_TATA, COD, ID_UTILOP, DATAORA, STERS) +values (3430, 5, 'Achizitie', 3429, '01', null, null, 0); +insert into DEF_OBIECTE (ID_OBIECT, ID_PROGRAM, DESCRIERE, ID_TATA, COD, ID_UTILOP, DATAORA, STERS) +values (3431, 5, 'Intrare in gestiune', 3429, '02', null, null, 0); +insert into DEF_OBIECTE (ID_OBIECT, ID_PROGRAM, DESCRIERE, ID_TATA, COD, ID_UTILOP, DATAORA, STERS) +values (3432, 5, 'Consum', 3429, '03', null, null, 0); +insert into DEF_OBIECTE (ID_OBIECT, ID_PROGRAM, DESCRIERE, ID_TATA, COD, ID_UTILOP, DATAORA, STERS) +values (3433, 5, 'Transfer', 3429, '04', null, null, 0); +insert into DEF_OBIECTE (ID_OBIECT, ID_PROGRAM, DESCRIERE, ID_TATA, COD, ID_UTILOP, DATAORA, STERS) +values (3434, 5, 'Vanzare', 3429, '05', null, null, 0); +insert into DEF_OBIECTE (ID_OBIECT, ID_PROGRAM, DESCRIERE, ID_TATA, COD, ID_UTILOP, DATAORA, STERS) +values (3435, 5, 'Configurare', 3429, '06', null, null, 0); +insert into DEF_OBIECTE (ID_OBIECT, ID_PROGRAM, DESCRIERE, ID_TATA, COD, ID_UTILOP, DATAORA, STERS) +values (3436, 5, 'Export', 3435, '1', null, null, 0); +insert into DEF_OBIECTE (ID_OBIECT, ID_PROGRAM, DESCRIERE, ID_TATA, COD, ID_UTILOP, DATAORA, STERS) +values (3437, 5, 'Listare', 3435, '2', null, null, 0); +insert into DEF_OBIECTE (ID_OBIECT, ID_PROGRAM, DESCRIERE, ID_TATA, COD, ID_UTILOP, DATAORA, STERS) +values (3438, 5, 'Modificare', 3435, '3', null, null, 0); +insert into DEF_OBIECTE (ID_OBIECT, ID_PROGRAM, DESCRIERE, ID_TATA, COD, ID_UTILOP, DATAORA, STERS) +values (3439, 5, 'Refacere', 3435, '4', null, null, 0); +insert into DEF_OBIECTE (ID_OBIECT, ID_PROGRAM, DESCRIERE, ID_TATA, COD, ID_UTILOP, DATAORA, STERS) +values (3440, 5, 'Stocuri produse', 3429, '07', null, null, 0); +insert into DEF_OBIECTE (ID_OBIECT, ID_PROGRAM, DESCRIERE, ID_TATA, COD, ID_UTILOP, DATAORA, STERS) +values (3441, 5, 'Export', 3440, '1', null, null, 0); +insert into DEF_OBIECTE (ID_OBIECT, ID_PROGRAM, DESCRIERE, ID_TATA, COD, ID_UTILOP, DATAORA, STERS) +values (3442, 5, 'Listare', 3440, '2', null, null, 0); +insert into DEF_OBIECTE (ID_OBIECT, ID_PROGRAM, DESCRIERE, ID_TATA, COD, ID_UTILOP, DATAORA, STERS) +values (3443, 5, 'Modificare', 3440, '3', null, null, 0); +insert into DEF_OBIECTE (ID_OBIECT, ID_PROGRAM, DESCRIERE, ID_TATA, COD, ID_UTILOP, DATAORA, STERS) +values (3444, 5, 'Refacere', 3440, '4', null, null, 0); +insert into DEF_OBIECTE (ID_OBIECT, ID_PROGRAM, DESCRIERE, ID_TATA, COD, ID_UTILOP, DATAORA, STERS) +values (3445, 5, 'Rapoarte', 3429, '08', null, null, 0); +insert into DEF_OBIECTE (ID_OBIECT, ID_PROGRAM, DESCRIERE, ID_TATA, COD, ID_UTILOP, DATAORA, STERS) +values (3446, 5, 'Export', 3445, '1', null, null, 0); +insert into DEF_OBIECTE (ID_OBIECT, ID_PROGRAM, DESCRIERE, ID_TATA, COD, ID_UTILOP, DATAORA, STERS) +values (3447, 5, 'Listare', 3445, '2', null, null, 0); +insert into DEF_OBIECTE (ID_OBIECT, ID_PROGRAM, DESCRIERE, ID_TATA, COD, ID_UTILOP, DATAORA, STERS) +values (3448, 5, 'Marfuri la pret de achizitie', -1, 'E', null, null, 0); +insert into DEF_OBIECTE (ID_OBIECT, ID_PROGRAM, DESCRIERE, ID_TATA, COD, ID_UTILOP, DATAORA, STERS) +values (3449, 5, 'Achizitie', 3448, '01', null, null, 0); +insert into DEF_OBIECTE (ID_OBIECT, ID_PROGRAM, DESCRIERE, ID_TATA, COD, ID_UTILOP, DATAORA, STERS) +values (3450, 5, 'Achizitie din Import', 3448, '02', null, null, 0); +insert into DEF_OBIECTE (ID_OBIECT, ID_PROGRAM, DESCRIERE, ID_TATA, COD, ID_UTILOP, DATAORA, STERS) +values (3451, 5, 'Consum', 3448, '03', null, null, 0); +insert into DEF_OBIECTE (ID_OBIECT, ID_PROGRAM, DESCRIERE, ID_TATA, COD, ID_UTILOP, DATAORA, STERS) +values (3452, 5, 'Transfer', 3448, '04', null, null, 0); +insert into DEF_OBIECTE (ID_OBIECT, ID_PROGRAM, DESCRIERE, ID_TATA, COD, ID_UTILOP, DATAORA, STERS) +values (3453, 5, 'Vanzare', 3448, '05', null, null, 0); +insert into DEF_OBIECTE (ID_OBIECT, ID_PROGRAM, DESCRIERE, ID_TATA, COD, ID_UTILOP, DATAORA, STERS) +values (3454, 5, 'Stocuri marfa', 3448, '06', null, null, 0); +insert into DEF_OBIECTE (ID_OBIECT, ID_PROGRAM, DESCRIERE, ID_TATA, COD, ID_UTILOP, DATAORA, STERS) +values (3455, 5, 'Export', 3454, '1', null, null, 0); +insert into DEF_OBIECTE (ID_OBIECT, ID_PROGRAM, DESCRIERE, ID_TATA, COD, ID_UTILOP, DATAORA, STERS) +values (3456, 5, 'Listare', 3454, '2', null, null, 0); +insert into DEF_OBIECTE (ID_OBIECT, ID_PROGRAM, DESCRIERE, ID_TATA, COD, ID_UTILOP, DATAORA, STERS) +values (3457, 5, 'Modificare', 3454, '3', null, null, 0); +insert into DEF_OBIECTE (ID_OBIECT, ID_PROGRAM, DESCRIERE, ID_TATA, COD, ID_UTILOP, DATAORA, STERS) +values (3458, 5, 'Refacere', 3454, '4', null, null, 0); +insert into DEF_OBIECTE (ID_OBIECT, ID_PROGRAM, DESCRIERE, ID_TATA, COD, ID_UTILOP, DATAORA, STERS) +values (3459, 5, 'Rapoarte', 3448, '07', null, null, 0); +insert into DEF_OBIECTE (ID_OBIECT, ID_PROGRAM, DESCRIERE, ID_TATA, COD, ID_UTILOP, DATAORA, STERS) +values (3460, 5, 'Export', 3459, '1', null, null, 0); +commit; +prompt 100 records committed... +insert into DEF_OBIECTE (ID_OBIECT, ID_PROGRAM, DESCRIERE, ID_TATA, COD, ID_UTILOP, DATAORA, STERS) +values (3461, 5, 'Listare', 3459, '2', null, null, 0); +insert into DEF_OBIECTE (ID_OBIECT, ID_PROGRAM, DESCRIERE, ID_TATA, COD, ID_UTILOP, DATAORA, STERS) +values (3462, 5, 'Marfuri la pret de vanzare', -1, 'F', null, null, 0); +insert into DEF_OBIECTE (ID_OBIECT, ID_PROGRAM, DESCRIERE, ID_TATA, COD, ID_UTILOP, DATAORA, STERS) +values (3463, 5, 'Achizitie', 3462, '01', null, null, 0); +insert into DEF_OBIECTE (ID_OBIECT, ID_PROGRAM, DESCRIERE, ID_TATA, COD, ID_UTILOP, DATAORA, STERS) +values (3464, 5, 'Transfer', 3462, '02', null, null, 0); +insert into DEF_OBIECTE (ID_OBIECT, ID_PROGRAM, DESCRIERE, ID_TATA, COD, ID_UTILOP, DATAORA, STERS) +values (3465, 5, 'Vanzare', 3462, '03', null, null, 0); +insert into DEF_OBIECTE (ID_OBIECT, ID_PROGRAM, DESCRIERE, ID_TATA, COD, ID_UTILOP, DATAORA, STERS) +values (3466, 5, 'Configurare', 3462, '04', null, null, 0); +insert into DEF_OBIECTE (ID_OBIECT, ID_PROGRAM, DESCRIERE, ID_TATA, COD, ID_UTILOP, DATAORA, STERS) +values (3467, 5, 'Stocuri marfa', 3462, '05', null, null, 0); +insert into DEF_OBIECTE (ID_OBIECT, ID_PROGRAM, DESCRIERE, ID_TATA, COD, ID_UTILOP, DATAORA, STERS) +values (3468, 5, 'Export', 3467, '1', null, null, 0); +insert into DEF_OBIECTE (ID_OBIECT, ID_PROGRAM, DESCRIERE, ID_TATA, COD, ID_UTILOP, DATAORA, STERS) +values (3469, 5, 'Listare', 3467, '2', null, null, 0); +insert into DEF_OBIECTE (ID_OBIECT, ID_PROGRAM, DESCRIERE, ID_TATA, COD, ID_UTILOP, DATAORA, STERS) +values (3470, 5, 'Modificare', 3467, '3', null, null, 0); +insert into DEF_OBIECTE (ID_OBIECT, ID_PROGRAM, DESCRIERE, ID_TATA, COD, ID_UTILOP, DATAORA, STERS) +values (3471, 5, 'Refacere', 3467, '4', null, null, 0); +insert into DEF_OBIECTE (ID_OBIECT, ID_PROGRAM, DESCRIERE, ID_TATA, COD, ID_UTILOP, DATAORA, STERS) +values (3472, 5, 'Rapoarte', 3462, '06', null, null, 0); +insert into DEF_OBIECTE (ID_OBIECT, ID_PROGRAM, DESCRIERE, ID_TATA, COD, ID_UTILOP, DATAORA, STERS) +values (3473, 5, 'Export', 3472, '1', null, null, 0); +insert into DEF_OBIECTE (ID_OBIECT, ID_PROGRAM, DESCRIERE, ID_TATA, COD, ID_UTILOP, DATAORA, STERS) +values (3474, 5, 'Listare', 3472, '2', null, null, 0); +insert into DEF_OBIECTE (ID_OBIECT, ID_PROGRAM, DESCRIERE, ID_TATA, COD, ID_UTILOP, DATAORA, STERS) +values (3475, 5, 'Casa de marcat', 3462, '07', null, null, 0); +insert into DEF_OBIECTE (ID_OBIECT, ID_PROGRAM, DESCRIERE, ID_TATA, COD, ID_UTILOP, DATAORA, STERS) +values (3477, 7, 'Meniu', -1, 'Z', null, null, 0); +insert into DEF_OBIECTE (ID_OBIECT, ID_PROGRAM, DESCRIERE, ID_TATA, COD, ID_UTILOP, DATAORA, STERS) +values (3478, 7, 'Optiuni', 3477, 'A', null, null, 0); +insert into DEF_OBIECTE (ID_OBIECT, ID_PROGRAM, DESCRIERE, ID_TATA, COD, ID_UTILOP, DATAORA, STERS) +values (3479, 7, 'Optiuni', 3478, '01', null, null, 0); +insert into DEF_OBIECTE (ID_OBIECT, ID_PROGRAM, DESCRIERE, ID_TATA, COD, ID_UTILOP, DATAORA, STERS) +values (3480, 7, 'Vizualizare', 3477, 'B', null, null, 0); +insert into DEF_OBIECTE (ID_OBIECT, ID_PROGRAM, DESCRIERE, ID_TATA, COD, ID_UTILOP, DATAORA, STERS) +values (3481, 7, 'Balanta', 3480, '01', null, null, 0); +insert into DEF_OBIECTE (ID_OBIECT, ID_PROGRAM, DESCRIERE, ID_TATA, COD, ID_UTILOP, DATAORA, STERS) +values (3482, 7, 'Registru Jurnal', 3480, '02', null, null, 0); +insert into DEF_OBIECTE (ID_OBIECT, ID_PROGRAM, DESCRIERE, ID_TATA, COD, ID_UTILOP, DATAORA, STERS) +values (3483, 7, 'Rapoarte generale', 3477, 'C', null, null, 0); +insert into DEF_OBIECTE (ID_OBIECT, ID_PROGRAM, DESCRIERE, ID_TATA, COD, ID_UTILOP, DATAORA, STERS) +values (3484, 7, 'Vizualizare seturi de indicatori', 3483, '01', null, null, 0); +insert into DEF_OBIECTE (ID_OBIECT, ID_PROGRAM, DESCRIERE, ID_TATA, COD, ID_UTILOP, DATAORA, STERS) +values (3485, 7, 'Definire set nou de indicatori', 3483, '02', null, null, 0); +insert into DEF_OBIECTE (ID_OBIECT, ID_PROGRAM, DESCRIERE, ID_TATA, COD, ID_UTILOP, DATAORA, STERS) +values (3486, 7, 'Pregatire pentru prezentare', 3483, '03', null, null, 0); +insert into DEF_OBIECTE (ID_OBIECT, ID_PROGRAM, DESCRIERE, ID_TATA, COD, ID_UTILOP, DATAORA, STERS) +values (3487, 7, 'Seturi predefinite', 3483, '04', null, null, 0); +insert into DEF_OBIECTE (ID_OBIECT, ID_PROGRAM, DESCRIERE, ID_TATA, COD, ID_UTILOP, DATAORA, STERS) +values (3488, 7, 'Rapoarte generale', -1, 'A', null, null, 0); +insert into DEF_OBIECTE (ID_OBIECT, ID_PROGRAM, DESCRIERE, ID_TATA, COD, ID_UTILOP, DATAORA, STERS) +values (3489, 7, 'Centre de cost', -1, 'B', null, null, 0); +insert into DEF_OBIECTE (ID_OBIECT, ID_PROGRAM, DESCRIERE, ID_TATA, COD, ID_UTILOP, DATAORA, STERS) +values (3490, 7, 'Raport de eficienta', 3489, '01', null, null, 0); +insert into DEF_OBIECTE (ID_OBIECT, ID_PROGRAM, DESCRIERE, ID_TATA, COD, ID_UTILOP, DATAORA, STERS) +values (3491, 7, 'Export', 3490, '1', null, null, 0); +insert into DEF_OBIECTE (ID_OBIECT, ID_PROGRAM, DESCRIERE, ID_TATA, COD, ID_UTILOP, DATAORA, STERS) +values (3492, 7, 'Listare', 3490, '2', null, null, 0); +insert into DEF_OBIECTE (ID_OBIECT, ID_PROGRAM, DESCRIERE, ID_TATA, COD, ID_UTILOP, DATAORA, STERS) +values (3493, 7, 'Balanta pe centru', 3489, '02', null, null, 0); +insert into DEF_OBIECTE (ID_OBIECT, ID_PROGRAM, DESCRIERE, ID_TATA, COD, ID_UTILOP, DATAORA, STERS) +values (3494, 7, 'Export', 3493, '1', null, null, 0); +insert into DEF_OBIECTE (ID_OBIECT, ID_PROGRAM, DESCRIERE, ID_TATA, COD, ID_UTILOP, DATAORA, STERS) +values (3495, 7, 'Listare', 3493, '2', null, null, 0); +insert into DEF_OBIECTE (ID_OBIECT, ID_PROGRAM, DESCRIERE, ID_TATA, COD, ID_UTILOP, DATAORA, STERS) +values (3496, 7, 'Lucrari/Contracte', -1, 'C', null, null, 0); +insert into DEF_OBIECTE (ID_OBIECT, ID_PROGRAM, DESCRIERE, ID_TATA, COD, ID_UTILOP, DATAORA, STERS) +values (3497, 7, 'Raport de eficienta', 3496, '01', null, null, 0); +insert into DEF_OBIECTE (ID_OBIECT, ID_PROGRAM, DESCRIERE, ID_TATA, COD, ID_UTILOP, DATAORA, STERS) +values (3498, 7, 'Export', 3497, '1', null, null, 0); +insert into DEF_OBIECTE (ID_OBIECT, ID_PROGRAM, DESCRIERE, ID_TATA, COD, ID_UTILOP, DATAORA, STERS) +values (3499, 7, 'Listare', 3497, '2', null, null, 0); +insert into DEF_OBIECTE (ID_OBIECT, ID_PROGRAM, DESCRIERE, ID_TATA, COD, ID_UTILOP, DATAORA, STERS) +values (3500, 7, 'Raport materiale Cantitativ-valoric', 3496, '02', null, null, 0); +insert into DEF_OBIECTE (ID_OBIECT, ID_PROGRAM, DESCRIERE, ID_TATA, COD, ID_UTILOP, DATAORA, STERS) +values (3501, 7, 'Export', 3500, '1', null, null, 0); +insert into DEF_OBIECTE (ID_OBIECT, ID_PROGRAM, DESCRIERE, ID_TATA, COD, ID_UTILOP, DATAORA, STERS) +values (3502, 7, 'Listare', 3500, '2', null, null, 0); +insert into DEF_OBIECTE (ID_OBIECT, ID_PROGRAM, DESCRIERE, ID_TATA, COD, ID_UTILOP, DATAORA, STERS) +values (3503, 7, 'Total cheltuieli directe grupate pe tipuri', 3496, '03', null, null, 0); +insert into DEF_OBIECTE (ID_OBIECT, ID_PROGRAM, DESCRIERE, ID_TATA, COD, ID_UTILOP, DATAORA, STERS) +values (3504, 7, 'Export', 3503, '1', null, null, 0); +insert into DEF_OBIECTE (ID_OBIECT, ID_PROGRAM, DESCRIERE, ID_TATA, COD, ID_UTILOP, DATAORA, STERS) +values (3505, 7, 'Listare', 3503, '2', null, null, 0); +insert into DEF_OBIECTE (ID_OBIECT, ID_PROGRAM, DESCRIERE, ID_TATA, COD, ID_UTILOP, DATAORA, STERS) +values (3506, 7, 'Cheltuieli directe Lista documentelor grupate dupa tipul de cheltuiala', 3496, '04', null, null, 0); +insert into DEF_OBIECTE (ID_OBIECT, ID_PROGRAM, DESCRIERE, ID_TATA, COD, ID_UTILOP, DATAORA, STERS) +values (3507, 7, 'Export', 3506, '1', null, null, 0); +insert into DEF_OBIECTE (ID_OBIECT, ID_PROGRAM, DESCRIERE, ID_TATA, COD, ID_UTILOP, DATAORA, STERS) +values (3508, 7, 'Listare', 3506, '2', null, null, 0); +insert into DEF_OBIECTE (ID_OBIECT, ID_PROGRAM, DESCRIERE, ID_TATA, COD, ID_UTILOP, DATAORA, STERS) +values (3509, 7, 'Venituri/Cheltuieli directe Lista documentelor in ordine cronologica', 3496, '05', null, null, 0); +insert into DEF_OBIECTE (ID_OBIECT, ID_PROGRAM, DESCRIERE, ID_TATA, COD, ID_UTILOP, DATAORA, STERS) +values (3510, 7, 'Export', 3509, '1', null, null, 0); +insert into DEF_OBIECTE (ID_OBIECT, ID_PROGRAM, DESCRIERE, ID_TATA, COD, ID_UTILOP, DATAORA, STERS) +values (3511, 7, 'Listare', 3509, '2', null, null, 0); +insert into DEF_OBIECTE (ID_OBIECT, ID_PROGRAM, DESCRIERE, ID_TATA, COD, ID_UTILOP, DATAORA, STERS) +values (3512, 7, 'Facturat / Incasat', 3496, '06', null, null, 0); +insert into DEF_OBIECTE (ID_OBIECT, ID_PROGRAM, DESCRIERE, ID_TATA, COD, ID_UTILOP, DATAORA, STERS) +values (3513, 7, 'Export', 3512, '1', null, null, 0); +insert into DEF_OBIECTE (ID_OBIECT, ID_PROGRAM, DESCRIERE, ID_TATA, COD, ID_UTILOP, DATAORA, STERS) +values (3514, 7, 'Listare', 3512, '2', null, null, 0); +insert into DEF_OBIECTE (ID_OBIECT, ID_PROGRAM, DESCRIERE, ID_TATA, COD, ID_UTILOP, DATAORA, STERS) +values (3515, 7, 'Bugete', -1, 'D', null, null, 0); +insert into DEF_OBIECTE (ID_OBIECT, ID_PROGRAM, DESCRIERE, ID_TATA, COD, ID_UTILOP, DATAORA, STERS) +values (3516, 7, 'Previzionare', 3515, '01', null, null, 0); +insert into DEF_OBIECTE (ID_OBIECT, ID_PROGRAM, DESCRIERE, ID_TATA, COD, ID_UTILOP, DATAORA, STERS) +values (3517, 7, 'Export', 3516, '1', null, null, 0); +insert into DEF_OBIECTE (ID_OBIECT, ID_PROGRAM, DESCRIERE, ID_TATA, COD, ID_UTILOP, DATAORA, STERS) +values (3518, 7, 'Listare', 3516, '2', null, null, 0); +insert into DEF_OBIECTE (ID_OBIECT, ID_PROGRAM, DESCRIERE, ID_TATA, COD, ID_UTILOP, DATAORA, STERS) +values (3519, 7, 'Comparatie previzionat - realizat', 3515, '02', null, null, 0); +insert into DEF_OBIECTE (ID_OBIECT, ID_PROGRAM, DESCRIERE, ID_TATA, COD, ID_UTILOP, DATAORA, STERS) +values (3520, 7, 'Export', 3519, '1', null, null, 0); +insert into DEF_OBIECTE (ID_OBIECT, ID_PROGRAM, DESCRIERE, ID_TATA, COD, ID_UTILOP, DATAORA, STERS) +values (3521, 7, 'Listare', 3519, '2', null, null, 0); +insert into DEF_OBIECTE (ID_OBIECT, ID_PROGRAM, DESCRIERE, ID_TATA, COD, ID_UTILOP, DATAORA, STERS) +values (3522, 7, 'Evaluarea in valuta', -1, 'E', null, null, 0); +insert into DEF_OBIECTE (ID_OBIECT, ID_PROGRAM, DESCRIERE, ID_TATA, COD, ID_UTILOP, DATAORA, STERS) +values (3523, 7, 'Balanta', 3522, '01', null, null, 0); +insert into DEF_OBIECTE (ID_OBIECT, ID_PROGRAM, DESCRIERE, ID_TATA, COD, ID_UTILOP, DATAORA, STERS) +values (3524, 7, 'Export', 3523, '1', null, null, 0); +insert into DEF_OBIECTE (ID_OBIECT, ID_PROGRAM, DESCRIERE, ID_TATA, COD, ID_UTILOP, DATAORA, STERS) +values (3525, 7, 'Listare', 3523, '2', null, null, 0); +insert into DEF_OBIECTE (ID_OBIECT, ID_PROGRAM, DESCRIERE, ID_TATA, COD, ID_UTILOP, DATAORA, STERS) +values (3526, 7, 'Registru Jurnal', 3522, '02', null, null, 0); +insert into DEF_OBIECTE (ID_OBIECT, ID_PROGRAM, DESCRIERE, ID_TATA, COD, ID_UTILOP, DATAORA, STERS) +values (3527, 7, 'Export', 3526, '1', null, null, 0); +insert into DEF_OBIECTE (ID_OBIECT, ID_PROGRAM, DESCRIERE, ID_TATA, COD, ID_UTILOP, DATAORA, STERS) +values (3528, 7, 'Listare', 3526, '2', null, null, 0); +insert into DEF_OBIECTE (ID_OBIECT, ID_PROGRAM, DESCRIERE, ID_TATA, COD, ID_UTILOP, DATAORA, STERS) +values (3529, 7, 'Terti', 3522, '03', null, null, 0); +insert into DEF_OBIECTE (ID_OBIECT, ID_PROGRAM, DESCRIERE, ID_TATA, COD, ID_UTILOP, DATAORA, STERS) +values (3530, 7, 'Export', 3529, '1', null, null, 0); +insert into DEF_OBIECTE (ID_OBIECT, ID_PROGRAM, DESCRIERE, ID_TATA, COD, ID_UTILOP, DATAORA, STERS) +values (3531, 7, 'Listare', 3529, '2', null, null, 0); +insert into DEF_OBIECTE (ID_OBIECT, ID_PROGRAM, DESCRIERE, ID_TATA, COD, ID_UTILOP, DATAORA, STERS) +values (3532, 7, 'Fluxul de trezorerie', -1, 'F', null, null, 0); +insert into DEF_OBIECTE (ID_OBIECT, ID_PROGRAM, DESCRIERE, ID_TATA, COD, ID_UTILOP, DATAORA, STERS) +values (3533, 7, 'Calcul Flux de trezorerie', 3532, '01', null, null, 0); +insert into DEF_OBIECTE (ID_OBIECT, ID_PROGRAM, DESCRIERE, ID_TATA, COD, ID_UTILOP, DATAORA, STERS) +values (3534, 7, 'Formule Flux de trezorerie', 3532, '02', null, null, 0); +insert into DEF_OBIECTE (ID_OBIECT, ID_PROGRAM, DESCRIERE, ID_TATA, COD, ID_UTILOP, DATAORA, STERS) +values (3535, 7, 'Rapoarte', 3488, '01', null, null, 0); +insert into DEF_OBIECTE (ID_OBIECT, ID_PROGRAM, DESCRIERE, ID_TATA, COD, ID_UTILOP, DATAORA, STERS) +values (3536, 9, 'Lucrari', 3322, '02', null, null, 0); +insert into DEF_OBIECTE (ID_OBIECT, ID_PROGRAM, DESCRIERE, ID_TATA, COD, ID_UTILOP, DATAORA, STERS) +values (3538, 9, 'Modificare', 3536, '3', null, null, 0); +insert into DEF_OBIECTE (ID_OBIECT, ID_PROGRAM, DESCRIERE, ID_TATA, COD, ID_UTILOP, DATAORA, STERS) +values (3542, 9, 'Stergere', 3536, '4', null, null, 0); +insert into DEF_OBIECTE (ID_OBIECT, ID_PROGRAM, DESCRIERE, ID_TATA, COD, ID_UTILOP, DATAORA, STERS) +values (3322, 9, 'Configurare', -1, 'A', null, null, 0); +insert into DEF_OBIECTE (ID_OBIECT, ID_PROGRAM, DESCRIERE, ID_TATA, COD, ID_UTILOP, DATAORA, STERS) +values (3323, 9, 'Calcul tarifar/ ora', 3322, '01', null, null, 0); +insert into DEF_OBIECTE (ID_OBIECT, ID_PROGRAM, DESCRIERE, ID_TATA, COD, ID_UTILOP, DATAORA, STERS) +values (3324, 9, 'Pontare', -1, 'B', null, null, 0); +insert into DEF_OBIECTE (ID_OBIECT, ID_PROGRAM, DESCRIERE, ID_TATA, COD, ID_UTILOP, DATAORA, STERS) +values (3007, 3, 'Export', 3006, '1', null, null, 0); +insert into DEF_OBIECTE (ID_OBIECT, ID_PROGRAM, DESCRIERE, ID_TATA, COD, ID_UTILOP, DATAORA, STERS) +values (3005, 3, 'Configurare', -1, 'A', null, null, 0); +insert into DEF_OBIECTE (ID_OBIECT, ID_PROGRAM, DESCRIERE, ID_TATA, COD, ID_UTILOP, DATAORA, STERS) +values (3006, 3, 'Calcul sporuri', 3005, '01', null, null, 0); +insert into DEF_OBIECTE (ID_OBIECT, ID_PROGRAM, DESCRIERE, ID_TATA, COD, ID_UTILOP, DATAORA, STERS) +values (3008, 3, 'Listare', 3006, '2', null, null, 0); +insert into DEF_OBIECTE (ID_OBIECT, ID_PROGRAM, DESCRIERE, ID_TATA, COD, ID_UTILOP, DATAORA, STERS) +values (3009, 3, 'Modificare', 3006, '3', null, null, 0); +insert into DEF_OBIECTE (ID_OBIECT, ID_PROGRAM, DESCRIERE, ID_TATA, COD, ID_UTILOP, DATAORA, STERS) +values (3010, 3, 'Stergere', 3006, '4', null, null, 0); +insert into DEF_OBIECTE (ID_OBIECT, ID_PROGRAM, DESCRIERE, ID_TATA, COD, ID_UTILOP, DATAORA, STERS) +values (3011, 3, 'Vizualizare inreg.proprii', 3006, '5', null, null, 0); +insert into DEF_OBIECTE (ID_OBIECT, ID_PROGRAM, DESCRIERE, ID_TATA, COD, ID_UTILOP, DATAORA, STERS) +values (3012, 3, 'Vizualizare tot', 3006, '6', null, null, 0); +insert into DEF_OBIECTE (ID_OBIECT, ID_PROGRAM, DESCRIERE, ID_TATA, COD, ID_UTILOP, DATAORA, STERS) +values (3013, 3, 'Calcul popriri', 3005, '02', null, null, 0); +insert into DEF_OBIECTE (ID_OBIECT, ID_PROGRAM, DESCRIERE, ID_TATA, COD, ID_UTILOP, DATAORA, STERS) +values (3014, 3, 'Export', 3013, '1', null, null, 0); +insert into DEF_OBIECTE (ID_OBIECT, ID_PROGRAM, DESCRIERE, ID_TATA, COD, ID_UTILOP, DATAORA, STERS) +values (3015, 3, 'Listare', 3013, '2', null, null, 0); +insert into DEF_OBIECTE (ID_OBIECT, ID_PROGRAM, DESCRIERE, ID_TATA, COD, ID_UTILOP, DATAORA, STERS) +values (3016, 3, 'Modificare', 3013, '3', null, null, 0); +insert into DEF_OBIECTE (ID_OBIECT, ID_PROGRAM, DESCRIERE, ID_TATA, COD, ID_UTILOP, DATAORA, STERS) +values (3017, 3, 'Stergere', 3013, '4', null, null, 0); +insert into DEF_OBIECTE (ID_OBIECT, ID_PROGRAM, DESCRIERE, ID_TATA, COD, ID_UTILOP, DATAORA, STERS) +values (3018, 3, 'Vizualizare inreg.proprii', 3013, '5', null, null, 0); +insert into DEF_OBIECTE (ID_OBIECT, ID_PROGRAM, DESCRIERE, ID_TATA, COD, ID_UTILOP, DATAORA, STERS) +values (3019, 3, 'Vizualizare tot', 3013, '6', null, null, 0); +insert into DEF_OBIECTE (ID_OBIECT, ID_PROGRAM, DESCRIERE, ID_TATA, COD, ID_UTILOP, DATAORA, STERS) +values (3020, 3, 'Calcul salariu', 3005, '03', null, null, 0); +insert into DEF_OBIECTE (ID_OBIECT, ID_PROGRAM, DESCRIERE, ID_TATA, COD, ID_UTILOP, DATAORA, STERS) +values (3021, 3, 'Calcul centralizator', 3005, '04', null, null, 0); +insert into DEF_OBIECTE (ID_OBIECT, ID_PROGRAM, DESCRIERE, ID_TATA, COD, ID_UTILOP, DATAORA, STERS) +values (3022, 3, 'Nota de inchidere', 3005, '05', null, null, 0); +insert into DEF_OBIECTE (ID_OBIECT, ID_PROGRAM, DESCRIERE, ID_TATA, COD, ID_UTILOP, DATAORA, STERS) +values (3023, 3, 'Configurare rapoarte', 3005, '06', null, null, 0); +insert into DEF_OBIECTE (ID_OBIECT, ID_PROGRAM, DESCRIERE, ID_TATA, COD, ID_UTILOP, DATAORA, STERS) +values (3024, 3, 'State', -1, 'B', null, null, 0); +commit; +prompt 200 records committed... +insert into DEF_OBIECTE (ID_OBIECT, ID_PROGRAM, DESCRIERE, ID_TATA, COD, ID_UTILOP, DATAORA, STERS) +values (3025, 3, 'Evidenta personal', 3024, '01', null, null, 0); +insert into DEF_OBIECTE (ID_OBIECT, ID_PROGRAM, DESCRIERE, ID_TATA, COD, ID_UTILOP, DATAORA, STERS) +values (3026, 3, 'Introducere avansuri', 3024, '02', null, null, 0); +insert into DEF_OBIECTE (ID_OBIECT, ID_PROGRAM, DESCRIERE, ID_TATA, COD, ID_UTILOP, DATAORA, STERS) +values (3027, 3, 'Export', 3026, '1', null, null, 0); +insert into DEF_OBIECTE (ID_OBIECT, ID_PROGRAM, DESCRIERE, ID_TATA, COD, ID_UTILOP, DATAORA, STERS) +values (3028, 3, 'Sporuri', 3024, '03', null, null, 0); +insert into DEF_OBIECTE (ID_OBIECT, ID_PROGRAM, DESCRIERE, ID_TATA, COD, ID_UTILOP, DATAORA, STERS) +values (3029, 3, 'Export', 3028, '1', null, null, 0); +insert into DEF_OBIECTE (ID_OBIECT, ID_PROGRAM, DESCRIERE, ID_TATA, COD, ID_UTILOP, DATAORA, STERS) +values (3030, 3, 'Listare', 3028, '2', null, null, 0); +insert into DEF_OBIECTE (ID_OBIECT, ID_PROGRAM, DESCRIERE, ID_TATA, COD, ID_UTILOP, DATAORA, STERS) +values (3031, 3, 'Modificare', 3028, '3', null, null, 0); +insert into DEF_OBIECTE (ID_OBIECT, ID_PROGRAM, DESCRIERE, ID_TATA, COD, ID_UTILOP, DATAORA, STERS) +values (3032, 3, 'Popriri', 3024, '04', null, null, 0); +insert into DEF_OBIECTE (ID_OBIECT, ID_PROGRAM, DESCRIERE, ID_TATA, COD, ID_UTILOP, DATAORA, STERS) +values (3033, 3, 'Export', 3032, '1', null, null, 0); +insert into DEF_OBIECTE (ID_OBIECT, ID_PROGRAM, DESCRIERE, ID_TATA, COD, ID_UTILOP, DATAORA, STERS) +values (3034, 3, 'Listare', 3032, '2', null, null, 0); +insert into DEF_OBIECTE (ID_OBIECT, ID_PROGRAM, DESCRIERE, ID_TATA, COD, ID_UTILOP, DATAORA, STERS) +values (3035, 3, 'Modificare', 3032, '3', null, null, 0); +insert into DEF_OBIECTE (ID_OBIECT, ID_PROGRAM, DESCRIERE, ID_TATA, COD, ID_UTILOP, DATAORA, STERS) +values (3036, 3, 'Prime', 3024, '05', null, null, 0); +insert into DEF_OBIECTE (ID_OBIECT, ID_PROGRAM, DESCRIERE, ID_TATA, COD, ID_UTILOP, DATAORA, STERS) +values (3037, 3, 'Export', 3036, '1', null, null, 0); +insert into DEF_OBIECTE (ID_OBIECT, ID_PROGRAM, DESCRIERE, ID_TATA, COD, ID_UTILOP, DATAORA, STERS) +values (3038, 3, 'Calcul state', 3024, '06', null, null, 0); +insert into DEF_OBIECTE (ID_OBIECT, ID_PROGRAM, DESCRIERE, ID_TATA, COD, ID_UTILOP, DATAORA, STERS) +values (3039, 3, 'Export', 3038, '1', null, null, 0); +insert into DEF_OBIECTE (ID_OBIECT, ID_PROGRAM, DESCRIERE, ID_TATA, COD, ID_UTILOP, DATAORA, STERS) +values (3040, 3, 'Rapoarte', 3024, '07', null, null, 0); +insert into DEF_OBIECTE (ID_OBIECT, ID_PROGRAM, DESCRIERE, ID_TATA, COD, ID_UTILOP, DATAORA, STERS) +values (3041, 3, 'Concedii', -1, 'C', null, null, 0); +insert into DEF_OBIECTE (ID_OBIECT, ID_PROGRAM, DESCRIERE, ID_TATA, COD, ID_UTILOP, DATAORA, STERS) +values (3042, 3, 'Concedii de odihna', 3041, '01', null, null, 0); +insert into DEF_OBIECTE (ID_OBIECT, ID_PROGRAM, DESCRIERE, ID_TATA, COD, ID_UTILOP, DATAORA, STERS) +values (3043, 3, 'Export', 3042, '1', null, null, 0); +insert into DEF_OBIECTE (ID_OBIECT, ID_PROGRAM, DESCRIERE, ID_TATA, COD, ID_UTILOP, DATAORA, STERS) +values (3044, 3, 'Listare', 3042, '2', null, null, 0); +insert into DEF_OBIECTE (ID_OBIECT, ID_PROGRAM, DESCRIERE, ID_TATA, COD, ID_UTILOP, DATAORA, STERS) +values (3045, 3, 'Modificare', 3042, '3', null, null, 0); +insert into DEF_OBIECTE (ID_OBIECT, ID_PROGRAM, DESCRIERE, ID_TATA, COD, ID_UTILOP, DATAORA, STERS) +values (3046, 3, 'Refacere', 3042, '4', null, null, 0); +insert into DEF_OBIECTE (ID_OBIECT, ID_PROGRAM, DESCRIERE, ID_TATA, COD, ID_UTILOP, DATAORA, STERS) +values (3047, 3, 'Avansuri CO', 3041, '02', null, null, 0); +insert into DEF_OBIECTE (ID_OBIECT, ID_PROGRAM, DESCRIERE, ID_TATA, COD, ID_UTILOP, DATAORA, STERS) +values (3048, 3, 'Export', 3047, '1', null, null, 0); +insert into DEF_OBIECTE (ID_OBIECT, ID_PROGRAM, DESCRIERE, ID_TATA, COD, ID_UTILOP, DATAORA, STERS) +values (3049, 3, 'Listare', 3047, '2', null, null, 0); +insert into DEF_OBIECTE (ID_OBIECT, ID_PROGRAM, DESCRIERE, ID_TATA, COD, ID_UTILOP, DATAORA, STERS) +values (3050, 3, 'Modificare', 3047, '3', null, null, 0); +insert into DEF_OBIECTE (ID_OBIECT, ID_PROGRAM, DESCRIERE, ID_TATA, COD, ID_UTILOP, DATAORA, STERS) +values (3051, 3, 'Refacere', 3047, '4', null, null, 0); +insert into DEF_OBIECTE (ID_OBIECT, ID_PROGRAM, DESCRIERE, ID_TATA, COD, ID_UTILOP, DATAORA, STERS) +values (3052, 3, 'Concedii medicale', 3041, '03', null, null, 0); +insert into DEF_OBIECTE (ID_OBIECT, ID_PROGRAM, DESCRIERE, ID_TATA, COD, ID_UTILOP, DATAORA, STERS) +values (3053, 3, 'Export', 3052, '1', null, null, 0); +insert into DEF_OBIECTE (ID_OBIECT, ID_PROGRAM, DESCRIERE, ID_TATA, COD, ID_UTILOP, DATAORA, STERS) +values (3054, 3, 'Listare', 3052, '2', null, null, 0); +insert into DEF_OBIECTE (ID_OBIECT, ID_PROGRAM, DESCRIERE, ID_TATA, COD, ID_UTILOP, DATAORA, STERS) +values (3055, 3, 'Modificare', 3052, '3', null, null, 0); +insert into DEF_OBIECTE (ID_OBIECT, ID_PROGRAM, DESCRIERE, ID_TATA, COD, ID_UTILOP, DATAORA, STERS) +values (3056, 3, 'Refacere', 3052, '4', null, null, 0); +insert into DEF_OBIECTE (ID_OBIECT, ID_PROGRAM, DESCRIERE, ID_TATA, COD, ID_UTILOP, DATAORA, STERS) +values (3057, 3, 'Rapoarte', 3041, '04', null, null, 0); +insert into DEF_OBIECTE (ID_OBIECT, ID_PROGRAM, DESCRIERE, ID_TATA, COD, ID_UTILOP, DATAORA, STERS) +values (3058, 3, 'Export', 3057, '1', null, null, 0); +insert into DEF_OBIECTE (ID_OBIECT, ID_PROGRAM, DESCRIERE, ID_TATA, COD, ID_UTILOP, DATAORA, STERS) +values (3059, 3, 'Listare', 3057, '2', null, null, 0); +insert into DEF_OBIECTE (ID_OBIECT, ID_PROGRAM, DESCRIERE, ID_TATA, COD, ID_UTILOP, DATAORA, STERS) +values (3060, 3, 'Modificare', 3057, '3', null, null, 0); +insert into DEF_OBIECTE (ID_OBIECT, ID_PROGRAM, DESCRIERE, ID_TATA, COD, ID_UTILOP, DATAORA, STERS) +values (3061, 3, 'Stergere', 3057, '4', null, null, 0); +insert into DEF_OBIECTE (ID_OBIECT, ID_PROGRAM, DESCRIERE, ID_TATA, COD, ID_UTILOP, DATAORA, STERS) +values (3062, 3, 'Vizualizare inreg.proprii', 3057, '5', null, null, 0); +insert into DEF_OBIECTE (ID_OBIECT, ID_PROGRAM, DESCRIERE, ID_TATA, COD, ID_UTILOP, DATAORA, STERS) +values (3063, 3, 'Vizualizare tot', 3057, '6', null, null, 0); +insert into DEF_OBIECTE (ID_OBIECT, ID_PROGRAM, DESCRIERE, ID_TATA, COD, ID_UTILOP, DATAORA, STERS) +values (3064, 3, 'Analize', -1, 'D', null, null, 0); +insert into DEF_OBIECTE (ID_OBIECT, ID_PROGRAM, DESCRIERE, ID_TATA, COD, ID_UTILOP, DATAORA, STERS) +values (3065, 3, 'Borderou plati salarii', 3064, '01', null, null, 0); +insert into DEF_OBIECTE (ID_OBIECT, ID_PROGRAM, DESCRIERE, ID_TATA, COD, ID_UTILOP, DATAORA, STERS) +values (3066, 3, 'Vizualizare state', 3064, '02', null, null, 0); +insert into DEF_OBIECTE (ID_OBIECT, ID_PROGRAM, DESCRIERE, ID_TATA, COD, ID_UTILOP, DATAORA, STERS) +values (3067, 3, 'Export', 3066, '1', null, null, 0); +insert into DEF_OBIECTE (ID_OBIECT, ID_PROGRAM, DESCRIERE, ID_TATA, COD, ID_UTILOP, DATAORA, STERS) +values (3068, 3, 'Rapoarte', 3064, '03', null, null, 0); +insert into DEF_OBIECTE (ID_OBIECT, ID_PROGRAM, DESCRIERE, ID_TATA, COD, ID_UTILOP, DATAORA, STERS) +values (3069, 3, 'Nota de inchidere', 3064, '04', null, null, 0); +insert into DEF_OBIECTE (ID_OBIECT, ID_PROGRAM, DESCRIERE, ID_TATA, COD, ID_UTILOP, DATAORA, STERS) +values (3070, 3, 'Deschidere de luna', 3064, '05', null, null, 0); +insert into DEF_OBIECTE (ID_OBIECT, ID_PROGRAM, DESCRIERE, ID_TATA, COD, ID_UTILOP, DATAORA, STERS) +values (3325, 9, 'Pontare pe zile', 3324, '01', null, null, 0); +insert into DEF_OBIECTE (ID_OBIECT, ID_PROGRAM, DESCRIERE, ID_TATA, COD, ID_UTILOP, DATAORA, STERS) +values (3326, 9, 'Pontare pe lucrari', 3324, '02', null, null, 0); +insert into DEF_OBIECTE (ID_OBIECT, ID_PROGRAM, DESCRIERE, ID_TATA, COD, ID_UTILOP, DATAORA, STERS) +values (3327, 9, 'Foaia de lucru', 3324, '03', null, null, 0); +insert into DEF_OBIECTE (ID_OBIECT, ID_PROGRAM, DESCRIERE, ID_TATA, COD, ID_UTILOP, DATAORA, STERS) +values (3328, 9, 'Modificare', 3327, '3', null, null, 0); +insert into DEF_OBIECTE (ID_OBIECT, ID_PROGRAM, DESCRIERE, ID_TATA, COD, ID_UTILOP, DATAORA, STERS) +values (3329, 9, 'Rapoarte', 3324, '04', null, null, 0); +insert into DEF_OBIECTE (ID_OBIECT, ID_PROGRAM, DESCRIERE, ID_TATA, COD, ID_UTILOP, DATAORA, STERS) +values (3331, 4, 'Personal', -1, 'A', null, null, 0); +insert into DEF_OBIECTE (ID_OBIECT, ID_PROGRAM, DESCRIERE, ID_TATA, COD, ID_UTILOP, DATAORA, STERS) +values (3332, 4, 'Adaugare/modificare', 3331, '01', null, null, 0); +insert into DEF_OBIECTE (ID_OBIECT, ID_PROGRAM, DESCRIERE, ID_TATA, COD, ID_UTILOP, DATAORA, STERS) +values (3333, 4, 'Listare', 3332, '2', null, null, 0); +insert into DEF_OBIECTE (ID_OBIECT, ID_PROGRAM, DESCRIERE, ID_TATA, COD, ID_UTILOP, DATAORA, STERS) +values (3334, 4, 'Modificare', 3332, '3', null, null, 0); +insert into DEF_OBIECTE (ID_OBIECT, ID_PROGRAM, DESCRIERE, ID_TATA, COD, ID_UTILOP, DATAORA, STERS) +values (3335, 4, 'Familie', 3331, '02', null, null, 0); +insert into DEF_OBIECTE (ID_OBIECT, ID_PROGRAM, DESCRIERE, ID_TATA, COD, ID_UTILOP, DATAORA, STERS) +values (3336, 4, 'Listare', 3335, '2', null, null, 0); +insert into DEF_OBIECTE (ID_OBIECT, ID_PROGRAM, DESCRIERE, ID_TATA, COD, ID_UTILOP, DATAORA, STERS) +values (3337, 4, 'Modificare', 3335, '3', null, null, 0); +insert into DEF_OBIECTE (ID_OBIECT, ID_PROGRAM, DESCRIERE, ID_TATA, COD, ID_UTILOP, DATAORA, STERS) +values (3338, 4, 'Calificare', 3331, '03', null, null, 0); +insert into DEF_OBIECTE (ID_OBIECT, ID_PROGRAM, DESCRIERE, ID_TATA, COD, ID_UTILOP, DATAORA, STERS) +values (3339, 4, 'Listare', 3338, '2', null, null, 0); +insert into DEF_OBIECTE (ID_OBIECT, ID_PROGRAM, DESCRIERE, ID_TATA, COD, ID_UTILOP, DATAORA, STERS) +values (3340, 4, 'Modificare', 3338, '3', null, null, 0); +insert into DEF_OBIECTE (ID_OBIECT, ID_PROGRAM, DESCRIERE, ID_TATA, COD, ID_UTILOP, DATAORA, STERS) +values (3341, 4, 'Scolarizare', 3331, '04', null, null, 0); +insert into DEF_OBIECTE (ID_OBIECT, ID_PROGRAM, DESCRIERE, ID_TATA, COD, ID_UTILOP, DATAORA, STERS) +values (3342, 4, 'Listare', 3341, '2', null, null, 0); +insert into DEF_OBIECTE (ID_OBIECT, ID_PROGRAM, DESCRIERE, ID_TATA, COD, ID_UTILOP, DATAORA, STERS) +values (3343, 4, 'Modificare', 3341, '3', null, null, 0); +insert into DEF_OBIECTE (ID_OBIECT, ID_PROGRAM, DESCRIERE, ID_TATA, COD, ID_UTILOP, DATAORA, STERS) +values (3344, 4, 'Vechimi', 3331, '05', null, null, 0); +insert into DEF_OBIECTE (ID_OBIECT, ID_PROGRAM, DESCRIERE, ID_TATA, COD, ID_UTILOP, DATAORA, STERS) +values (3345, 4, 'Listare', 3344, '2', null, null, 0); +insert into DEF_OBIECTE (ID_OBIECT, ID_PROGRAM, DESCRIERE, ID_TATA, COD, ID_UTILOP, DATAORA, STERS) +values (3346, 4, 'Modificare', 3344, '3', null, null, 0); +insert into DEF_OBIECTE (ID_OBIECT, ID_PROGRAM, DESCRIERE, ID_TATA, COD, ID_UTILOP, DATAORA, STERS) +values (3347, 4, 'Plecari din unitate', 3331, '06', null, null, 0); +insert into DEF_OBIECTE (ID_OBIECT, ID_PROGRAM, DESCRIERE, ID_TATA, COD, ID_UTILOP, DATAORA, STERS) +values (3348, 4, 'Rapoarte', 3331, '07', null, null, 0); +insert into DEF_OBIECTE (ID_OBIECT, ID_PROGRAM, DESCRIERE, ID_TATA, COD, ID_UTILOP, DATAORA, STERS) +values (3349, 4, 'Contracte de munca', -1, 'B', null, null, 0); +insert into DEF_OBIECTE (ID_OBIECT, ID_PROGRAM, DESCRIERE, ID_TATA, COD, ID_UTILOP, DATAORA, STERS) +values (3350, 4, 'Configurare contract', 3349, '01', null, null, 0); +insert into DEF_OBIECTE (ID_OBIECT, ID_PROGRAM, DESCRIERE, ID_TATA, COD, ID_UTILOP, DATAORA, STERS) +values (3351, 4, 'Listare', 3350, '2', null, null, 0); +insert into DEF_OBIECTE (ID_OBIECT, ID_PROGRAM, DESCRIERE, ID_TATA, COD, ID_UTILOP, DATAORA, STERS) +values (3352, 4, 'Modificare', 3350, '3', null, null, 0); +insert into DEF_OBIECTE (ID_OBIECT, ID_PROGRAM, DESCRIERE, ID_TATA, COD, ID_UTILOP, DATAORA, STERS) +values (3353, 4, 'Listare contract', 3349, '02', null, null, 0); +insert into DEF_OBIECTE (ID_OBIECT, ID_PROGRAM, DESCRIERE, ID_TATA, COD, ID_UTILOP, DATAORA, STERS) +values (3354, 4, 'Concedii de odihna', -1, 'C', null, null, 0); +insert into DEF_OBIECTE (ID_OBIECT, ID_PROGRAM, DESCRIERE, ID_TATA, COD, ID_UTILOP, DATAORA, STERS) +values (3355, 4, 'Planificari CO', 3354, '01', null, null, 0); +insert into DEF_OBIECTE (ID_OBIECT, ID_PROGRAM, DESCRIERE, ID_TATA, COD, ID_UTILOP, DATAORA, STERS) +values (3356, 4, 'Listare', 3355, '2', null, null, 0); +insert into DEF_OBIECTE (ID_OBIECT, ID_PROGRAM, DESCRIERE, ID_TATA, COD, ID_UTILOP, DATAORA, STERS) +values (3357, 4, 'Modificare', 3355, '3', null, null, 0); +insert into DEF_OBIECTE (ID_OBIECT, ID_PROGRAM, DESCRIERE, ID_TATA, COD, ID_UTILOP, DATAORA, STERS) +values (3358, 4, 'Sit CO cuvenite', 3354, '02', null, null, 0); +insert into DEF_OBIECTE (ID_OBIECT, ID_PROGRAM, DESCRIERE, ID_TATA, COD, ID_UTILOP, DATAORA, STERS) +values (3359, 4, 'Rapoarte', 3354, '03', null, null, 0); +insert into DEF_OBIECTE (ID_OBIECT, ID_PROGRAM, DESCRIERE, ID_TATA, COD, ID_UTILOP, DATAORA, STERS) +values (3360, 4, 'Rapoarte de analiza', -1, 'D', null, null, 0); +insert into DEF_OBIECTE (ID_OBIECT, ID_PROGRAM, DESCRIERE, ID_TATA, COD, ID_UTILOP, DATAORA, STERS) +values (3544, 2, 'Note contabile', 2523, '06', null, null, 0); +commit; +prompt 280 records loaded +prompt Enabling foreign key constraints for DEF_OBIECTE... +alter table DEF_OBIECTE enable constraint FK_DO01; +alter table DEF_OBIECTE enable constraint FK_DO02; +prompt Enabling triggers for DEF_OBIECTE... +alter table DEF_OBIECTE enable all triggers; +set feedback on +set define on +prompt Done. diff --git a/Drepturi utilizatori/def_programe_2710.sql b/Drepturi utilizatori/def_programe_2710.sql new file mode 100644 index 0000000..71134ad --- /dev/null +++ b/Drepturi utilizatori/def_programe_2710.sql @@ -0,0 +1,38 @@ +prompt PL/SQL Developer import file +prompt Created on Thursday, October 27, 2005 by marius.atanasiu +set feedback off +set define off +prompt Disabling triggers for DEF_PROGRAME... +alter table DEF_PROGRAME disable all triggers; +prompt Disabling foreign key constraints for DEF_PROGRAME... +alter table DEF_PROGRAME disable constraint FK_DP01; +prompt Loading DEF_PROGRAME... +insert into DEF_PROGRAME (ID_PROG, DIRECTOR, EXPLICATIE, INSTALAT, ORDINE, STERS, IDE_PROGRAM, ID_UTILOP, DATAORA) +values (1, 'ROASAL', 'SALARIZAREA PERSONALULUI', 1, 4, 0, 3, 1, to_date('25-10-2005 11:10:52', 'dd-mm-yyyy hh24:mi:ss')); +insert into DEF_PROGRAME (ID_PROG, DIRECTOR, EXPLICATIE, INSTALAT, ORDINE, STERS, IDE_PROGRAM, ID_UTILOP, DATAORA) +values (2, 'ROAIMOB', 'GESTIUNEA IMOBILIZARILOR', 1, 3, 0, 6, 1, to_date('25-10-2005 11:14:25', 'dd-mm-yyyy hh24:mi:ss')); +insert into DEF_PROGRAME (ID_PROG, DIRECTOR, EXPLICATIE, INSTALAT, ORDINE, STERS, IDE_PROGRAM, ID_UTILOP, DATAORA) +values (3, 'ROADECL', 'DECLARATII SALARII', 1, 7, 0, 10, 1, to_date('25-10-2005 11:11:19', 'dd-mm-yyyy hh24:mi:ss')); +insert into DEF_PROGRAME (ID_PROG, DIRECTOR, EXPLICATIE, INSTALAT, ORDINE, STERS, IDE_PROGRAM, ID_UTILOP, DATAORA) +values (4, 'ROAAUTO', 'MANAGEMENTUL ACTIVITATII DE SERVICE AUTO', 1, 8, 0, 8, 1, to_date('25-10-2005 11:13:09', 'dd-mm-yyyy hh24:mi:ss')); +insert into DEF_PROGRAME (ID_PROG, DIRECTOR, EXPLICATIE, INSTALAT, ORDINE, STERS, IDE_PROGRAM, ID_UTILOP, DATAORA) +values (5, 'ROAGEST', 'GESTIUNEA STOCURILOR SI A OBIECTELOR DE INVENTAR', 1, 2, 0, 5, 1, to_date('18-10-2005 13:06:14', 'dd-mm-yyyy hh24:mi:ss')); +insert into DEF_PROGRAME (ID_PROG, DIRECTOR, EXPLICATIE, INSTALAT, ORDINE, STERS, IDE_PROGRAM, ID_UTILOP, DATAORA) +values (6, 'ROACONT', 'FINANCIAR CONTABILITATE', 1, 1, 0, 2, 1, to_date('18-10-2005 13:06:14', 'dd-mm-yyyy hh24:mi:ss')); +insert into DEF_PROGRAME (ID_PROG, DIRECTOR, EXPLICATIE, INSTALAT, ORDINE, STERS, IDE_PROGRAM, ID_UTILOP, DATAORA) +values (7, 'ROAMANAGER', 'MANAGER', 1, 10, 0, 7, 1, to_date('25-10-2005 11:10:21', 'dd-mm-yyyy hh24:mi:ss')); +insert into DEF_PROGRAME (ID_PROG, DIRECTOR, EXPLICATIE, INSTALAT, ORDINE, STERS, IDE_PROGRAM, ID_UTILOP, DATAORA) +values (8, 'ROADEF', 'DEFINIREA COMPANIEI', 1, 11, 0, 1, 1, to_date('25-10-2005 11:10:09', 'dd-mm-yyyy hh24:mi:ss')); +insert into DEF_PROGRAME (ID_PROG, DIRECTOR, EXPLICATIE, INSTALAT, ORDINE, STERS, IDE_PROGRAM, ID_UTILOP, DATAORA) +values (9, 'ROANOR', 'NORMAREA MUNCII', 1, 6, 0, 9, 1, to_date('25-10-2005 11:11:09', 'dd-mm-yyyy hh24:mi:ss')); +insert into DEF_PROGRAME (ID_PROG, DIRECTOR, EXPLICATIE, INSTALAT, ORDINE, STERS, IDE_PROGRAM, ID_UTILOP, DATAORA) +values (10, 'ROARES', 'RESURSE UMANE', 1, 5, 0, 4, 1, to_date('25-10-2005 11:10:59', 'dd-mm-yyyy hh24:mi:ss')); +commit; +prompt 11 records loaded +prompt Enabling foreign key constraints for DEF_PROGRAME... +alter table DEF_PROGRAME enable constraint FK_DP01; +prompt Enabling triggers for DEF_PROGRAME... +alter table DEF_PROGRAME enable all triggers; +set feedback on +set define on +prompt Done. diff --git a/Drepturi utilizatori/drepturi_utilizatori.sql b/Drepturi utilizatori/drepturi_utilizatori.sql new file mode 100644 index 0000000..b847ea6 --- /dev/null +++ b/Drepturi utilizatori/drepturi_utilizatori.sql @@ -0,0 +1,1773 @@ +---------------------------------------------------------- +-- Export file for user CONTAFIN_ORACLE -- +-- Created by marius.atanasiu on 10/27/2005, 4:01:16 PM -- +---------------------------------------------------------- + +spool drepturi_utilizatori.log + +prompt +prompt Creating table DEF_GRUP +prompt ======================= +prompt +create table DEF_GRUP +( + ID_GRUP NUMBER(5) not null, + GRUP VARCHAR2(50), + STERS NUMBER(1) default 0 not null, + ID_UTILOP NUMBER(5) not null, + DATAORA DATE not null, + NR_GRUP NUMBER(5), + ID_TATA NUMBER(5) +) +tablespace ROA + pctfree 10 + initrans 1 + maxtrans 255 + storage + ( + initial 64K + minextents 1 + maxextents unlimited + ); +alter table DEF_GRUP + add constraint PK_DFG primary key (ID_GRUP) + using index + tablespace ROA + pctfree 10 + initrans 2 + maxtrans 255 + storage + ( + initial 64K + minextents 1 + maxextents unlimited + ); +alter table DEF_GRUP + add constraint UK_DFG01 unique (GRUP, STERS) + using index + tablespace ROA + pctfree 10 + initrans 2 + maxtrans 255 + storage + ( + initial 64K + minextents 1 + maxextents unlimited + ); +alter table DEF_GRUP + add constraint FK_DFG01 foreign key (ID_UTILOP) + references UTILIZATORI (ID_UTIL); + +prompt +prompt Creating table DEF_GRUP_DREPT +prompt ============================= +prompt +create table DEF_GRUP_DREPT +( + ID_GRUP NUMBER(5) not null, + ID_PROGRAM NUMBER(5) not null, + ID_DGD NUMBER(5) not null, + ID_UTILOP NUMBER(5) not null, + DATAORA DATE not null, + STERS NUMBER(1) default 0 not null +) +tablespace ROA + pctfree 10 + initrans 1 + maxtrans 255 + storage + ( + initial 64K + minextents 1 + maxextents unlimited + ); +alter table DEF_GRUP_DREPT + add constraint PK_DGD primary key (ID_DGD) + using index + tablespace ROA + pctfree 10 + initrans 2 + maxtrans 255 + storage + ( + initial 64K + minextents 1 + maxextents unlimited + ); +alter table DEF_GRUP_DREPT + add constraint FK_DGD01 foreign key (ID_GRUP) + references DEF_GRUP (ID_GRUP); +alter table DEF_GRUP_DREPT + add constraint FK_DGD02 foreign key (ID_PROGRAM) + references NOM_PROGRAME (ID_PROGRAM); +alter table DEF_GRUP_DREPT + add constraint FK_DGD03 foreign key (ID_UTILOP) + references UTILIZATORI (ID_UTIL); + +prompt +prompt Creating table DEF_OBIECTE +prompt ========================== +prompt +create table DEF_OBIECTE +( + ID_OBIECT NUMBER(10) not null, + ID_PROGRAM NUMBER(2) not null, + DESCRIERE VARCHAR2(100) not null, + ID_TATA NUMBER(10) not null, + COD VARCHAR2(3) not null, + ID_UTILOP NUMBER(10), + DATAORA DATE, + STERS NUMBER(1) default 0 +) +tablespace ROA + pctfree 10 + initrans 1 + maxtrans 255 + storage + ( + initial 64K + minextents 1 + maxextents unlimited + ); +alter table DEF_OBIECTE + add constraint PK_DO primary key (ID_OBIECT) + using index + tablespace ROA + pctfree 10 + initrans 2 + maxtrans 255 + storage + ( + initial 64K + minextents 1 + maxextents unlimited + ); +alter table DEF_OBIECTE + add constraint FK_DO01 foreign key (ID_PROGRAM) + references NOM_PROGRAME (ID_PROGRAM); +alter table DEF_OBIECTE + add constraint FK_DO02 foreign key (ID_UTILOP) + references UTILIZATORI (ID_UTIL); + +prompt +prompt Creating table DEF_GRUP_DREPT_OBIECTE +prompt ===================================== +prompt +create table DEF_GRUP_DREPT_OBIECTE +( + ID_DGDO NUMBER(10) not null, + ID_OBIECT NUMBER(10) not null, + ID_GRUP NUMBER(10) not null, + ID_UTILOP NUMBER(10) not null, + DATAORA DATE not null, + STERS NUMBER(1) default 0 not null +) +tablespace ROA + pctfree 10 + initrans 1 + maxtrans 255 + storage + ( + initial 64K + minextents 1 + maxextents unlimited + ); +alter table DEF_GRUP_DREPT_OBIECTE + add constraint PK_DGDO primary key (ID_DGDO) + using index + tablespace ROA + pctfree 10 + initrans 2 + maxtrans 255 + storage + ( + initial 64K + minextents 1 + maxextents unlimited + ); +alter table DEF_GRUP_DREPT_OBIECTE + add constraint FK_DGDO01 foreign key (ID_OBIECT) + references DEF_OBIECTE (ID_OBIECT); +alter table DEF_GRUP_DREPT_OBIECTE + add constraint FK_DGDO02 foreign key (ID_GRUP) + references DEF_GRUP (ID_GRUP); +alter table DEF_GRUP_DREPT_OBIECTE + add constraint FK_DGDO03 foreign key (ID_UTILOP) + references UTILIZATORI (ID_UTIL); + +prompt +prompt Creating table DEF_PROGRAME +prompt =========================== +prompt +create table DEF_PROGRAME +( + ID_PROG NUMBER(5) not null, + DIRECTOR VARCHAR2(30), + EXPLICATIE VARCHAR2(150), + INSTALAT NUMBER(1), + ORDINE NUMBER(2), + STERS NUMBER(1) default 0 not null, + IDE_PROGRAM NUMBER(2) default 0 not null, + ID_UTILOP NUMBER(10) not null, + DATAORA DATE default SYSDATE not null +) +tablespace ROA + pctfree 10 + initrans 1 + maxtrans 255 + storage + ( + initial 64K + minextents 1 + maxextents unlimited + ); +alter table DEF_PROGRAME + add constraint PK_DEF_PROGRAME primary key (ID_PROG) + using index + tablespace ROA + pctfree 10 + initrans 2 + maxtrans 255 + storage + ( + initial 64K + minextents 1 + maxextents unlimited + ); +alter table DEF_PROGRAME + add constraint FK_DP01 foreign key (ID_UTILOP) + references UTILIZATORI (ID_UTIL); +alter table DEF_PROGRAME + add constraint FK_DP02 foreign key (IDE_PROGRAM) + references nom_programe (ID_PROGRAM); + +prompt +prompt Creating table DEF_UTIL_GRUP +prompt ============================ +prompt +create table DEF_UTIL_GRUP +( + ID_DUG NUMBER(10) not null, + ID_FIRMA NUMBER(10) not null, + ID_GRUP NUMBER(10) not null, + ID_UTIL NUMBER(10) not null, + DATAORA DATE not null, + STERS NUMBER(1) default 0 not null, + ID_UTILOP NUMBER(10) not null +) +tablespace ROA + pctfree 10 + initrans 1 + maxtrans 255 + storage + ( + initial 64K + minextents 1 + maxextents unlimited + ); +alter table DEF_UTIL_GRUP + add constraint PK_DUG primary key (ID_DUG) + using index + tablespace ROA + pctfree 10 + initrans 2 + maxtrans 255 + storage + ( + initial 64K + minextents 1 + maxextents unlimited + ); +alter table DEF_UTIL_GRUP + add constraint FK_DUG01 foreign key (ID_GRUP) + references DEF_GRUP (ID_GRUP); +alter table DEF_UTIL_GRUP + add constraint FK_DUG02 foreign key (ID_UTIL) + references UTILIZATORI (ID_UTIL); +alter table DEF_UTIL_GRUP + add constraint FK_DUG03 foreign key (ID_FIRMA) + references NOM_FIRME (ID_FIRMA); +alter table DEF_UTIL_GRUP + add constraint FK_DUG04 foreign key (ID_UTILOP) + references UTILIZATORI (ID_UTIL); + +prompt +prompt Creating sequence SEQ_DEF_GDO +prompt ============================= +prompt +create sequence SEQ_DEF_GDO +minvalue 1 +maxvalue 999999999999999999999999999 +start with 1 +increment by 1 +nocache; + +prompt +prompt Creating sequence SEQ_DEF_GRUP +prompt ============================== +prompt +create sequence SEQ_DEF_GRUP +minvalue 1 +maxvalue 999999999999999999999999999 +start with 1 +increment by 1 +nocache; + +prompt +prompt Creating sequence SEQ_DEF_GRUP_DREPT +prompt ==================================== +prompt +create sequence SEQ_DEF_GRUP_DREPT +minvalue 0 +maxvalue 999999999999999999999999999 +start with 0 +increment by 1 +nocache; + +prompt +prompt Creating sequence SEQ_DEF_OBIECTE +prompt ================================= +prompt +create sequence SEQ_DEF_OBIECTE +minvalue 1 +maxvalue 999999999999999999999999999 +start with 2853 +increment by 1 +nocache; + +prompt +prompt Creating sequence SEQ_DEF_PROGRAME +prompt ================================== +prompt +create sequence SEQ_DEF_PROGRAME +minvalue 1 +maxvalue 999999999999999999999999999 +start with 12 +increment by 1 +nocache; + +prompt +prompt Creating sequence SEQ_DEF_UTIL_GRUP +prompt =================================== +prompt +create sequence SEQ_DEF_UTIL_GRUP +minvalue 0 +maxvalue 999999999999999999999999999 +start with 0 +increment by 1 +nocache; + +prompt +prompt Creating view VDEF_GRUP +prompt ======================= +prompt +create or replace view vdef_grup as +select id_grup,grup,sys_connect_by_path(grup,'\') as tata,id_tata,level as nivel + from def_grup + where sters=0 + start with id_tata=-1 + connect by prior id_grup=id_tata +/ + +prompt +prompt Creating view VDEF_GRUP_DREPT +prompt ============================= +prompt +create or replace view vdef_grup_drept as +select a.id_grup,a.id_program,a.id_dgd,b.denumire,c.grup + from def_grup_drept a + left join nom_programe b on a.id_program=b.id_program + left join def_grup c on a.id_grup=c.id_grup + where a.sters=0 and c.sters=0 +/ + +prompt +prompt Creating view VDEF_GRUP_OBIECTE +prompt =============================== +prompt +create or replace view vdef_grup_obiecte as +select id_dgdo,id_obiect,id_grup from def_grup_drept_obiecte where sters=0 +/ + +prompt +prompt Creating view VDEF_OBIECTE +prompt ========================== +prompt +create or replace view vdef_obiecte as +select id_obiect,descriere,sys_connect_by_path(cod,'/') as cale, +replace(sys_connect_by_path(cod,'/'),'/','') as cheie,id_program, +level as nivel,connect_by_isleaf as frunza from def_obiecte +where sters=0 +start with id_tata=-1 +connect by prior id_obiect=id_tata +order by cheie +/ + +prompt +prompt Creating view VDEF_GRUP_OBIECTE_PROG +prompt ==================================== +prompt +create or replace view vdef_grup_obiecte_prog as +select a.id_grup,b.id_program,b.cheie from vdef_grup_obiecte a left join vdef_obiecte b on a.id_obiect=b.id_obiect +/ + +prompt +prompt Creating view VDEF_UTIL_GRUP +prompt ============================ +prompt +create or replace view vdef_util_grup as +select a.id_dug,a.id_firma,a.id_util,a.id_grup,b.grup,c.firma,d.utilizator + from def_util_grup a + left join def_grup b on a.id_grup=b.id_grup + left join nom_firme c on a.id_firma=c.id_firma + left join utilizatori d on a.id_util=d.id_util + where a.sters=0 and b.sters=0 and d.sters=0 +/ + +prompt +prompt Creating view VDEF_ORGANIGRAMA_FIRME_GRUP +prompt ========================================= +prompt +create or replace view vdef_organigrama_firme_grup as +select c.tip,c.id,c.denumire,c.id_tata,sys_connect_by_path(substr(c.denumire,1,2)||id,'/') as cheie, +connect_by_isleaf as frunza,level as nivel from +(select 0 as tip,a.id_firma as id,a.firma as denumire,-1 as id_tata from v_nom_firme a +union all +select distinct 1 as tip,b.id_grup+500 as id,b.grup as denumire,b.id_firma as id_tata from vdef_util_grup b) c +start with c.id_tata=-1 +connect by prior c.id=c.id_tata +order by nivel,tip,denumire +/ + +prompt +prompt Creating view VDEF_ORGANIGRAMA_FIRME_UTIL +prompt ========================================= +prompt +create or replace view vdef_organigrama_firme_util as +select c.tip,c.id,c.denumire,c.id_tata,sys_connect_by_path(substr(c.denumire,1,2)||id,'/') as cheie, +connect_by_isleaf as frunza,level as nivel from +(select 0 as tip,a.id_firma as id,a.firma as denumire,-1 as id_tata from v_nom_firme a +union all +select distinct 1 as tip,b.id_util+500 as id,b.utilizator as denumire,b.id_firma as id_tata from vdef_util_grup b) c +start with c.id_tata=-1 +connect by prior c.id=c.id_tata +order by nivel,tip,denumire +/ + +prompt +prompt Creating view VDEF_ORGANIGRAMA_GRUPURI +prompt ====================================== +prompt +create or replace view vdef_organigrama_grupuri as +select c.tip,c.id_grup,c.grup as denumire,c.id_tata,sys_connect_by_path(substr(c.grup,1,2)||id_grup,'/') as cheie, +connect_by_isleaf as frunza,level as nivel from +(select 0 as tip,a.id_grup,a.grup,a.id_tata from def_grup a where a.sters=0 +union all +select distinct 1 as tip,b.id_util+500 as id_grup,b.utilizator as grup,b.id_grup as id_tata from vdef_util_grup b) c +start with c.id_tata=-1 +connect by prior c.id_grup=c.id_tata +order by nivel,tip,denumire +/ + +prompt +prompt Creating view VDEF_PROGRAME +prompt =========================== +prompt +create or replace view vdef_programe as +select a.id_prog,b.denumire as nume,a.director,a.explicatie,a.instalat,a.ordine,a.ide_program + from def_programe a + left join vnom_programe b on a.ide_program=b.id_program + where a.sters = 0 +/ + +prompt +prompt Creating view VDEF_ORGANIGRAMA_PROGRAME_GRUP +prompt ============================================ +prompt +create or replace view vdef_organigrama_programe_grup as +select c.tip,c.id,c.denumire,c.id_tata,sys_connect_by_path(substr(c.denumire,1,2)||id,'/') as cheie, +connect_by_isleaf as frunza,level as nivel from +(select distinct 0 as tip,a.ide_program as id,a.explicatie as denumire,-1 as id_tata from vdef_programe a +union all +select distinct 1 as tip,b.id_grup+500 as id,b.grup as denumire,b.id_program as id_tata from vdef_grup_drept b) c +start with c.id_tata=-1 +connect by prior c.id=c.id_tata +order by nivel,tip,denumire +/ + +prompt +prompt Creating view VDEF_ORGANIGRAMA_PROGRAME_UTIL +prompt ============================================ +prompt +create or replace view vdef_organigrama_programe_util as +select c.tip,c.id,c.denumire,c.id_tata,sys_connect_by_path(substr(c.denumire,1,2)||id,'/') as cheie, +connect_by_isleaf as frunza,level as nivel from +(select distinct 0 as tip,a.ide_program as id,a.explicatie as denumire,-1 as id_tata from vdef_programe a +union all +select distinct 1 as tip,b1.id_util+500 as id,b1.utilizator as denumire,b.id_program as id_tata from vdef_grup_drept b +join vdef_util_grup b1 on b.id_grup=b1.id_grup) c +start with c.id_tata=-1 +connect by prior c.id=c.id_tata +order by nivel,tip,denumire +/ + +prompt +prompt Creating view VDEF_ORGANIGRAMA_PROG_FIRME +prompt ========================================= +prompt +create or replace view vdef_organigrama_prog_firme as +select c.tip,c.id,c.denumire,c.id_tata,sys_connect_by_path(substr(c.denumire,1,2)||id,'/') as cheie, +connect_by_isleaf as frunza,level as nivel from +(select distinct 0 as tip,a.ide_program as id,a.explicatie as denumire,-1 as id_tata from vdef_programe a +union all +select distinct 1 as tip,b1.id_firma+500 as id,b1.firma as denumire,b.id_program as id_tata from vdef_grup_drept b +join vdef_util_grup b1 on b.id_grup=b1.id_grup) c +start with c.id_tata=-1 +connect by prior c.id=c.id_tata +order by nivel,tip,denumire +/ + +prompt +prompt Creating view VDEF_ORGANIGRAMA_UTIL_FIRME +prompt ========================================= +prompt +create or replace view vdef_organigrama_util_firme as +select c.tip,c.id,c.denumire,c.id_tata,sys_connect_by_path(substr(c.denumire,1,2)||id,'/') as cheie, +connect_by_isleaf as frunza,level as nivel from +(select 0 as tip,a.id_util as id,a.utilizator as denumire,-1 as id_tata from vutilizatori a where a.inactiv=0 +union all +select distinct 1 as tip,b.id_firma+500 as id,b.firma as denumire,b.id_util as id_tata from vdef_util_grup b) c +start with c.id_tata=-1 +connect by prior c.id=c.id_tata +order by nivel,tip,denumire +/ + +prompt +prompt Creating view VDEF_ORGANIGRAMA_UTIL_GRUP +prompt ======================================== +prompt +create or replace view vdef_organigrama_util_grup as +select c.tip,c.id,c.denumire,c.id_tata,sys_connect_by_path(substr(c.denumire,1,2)||id,'/') as cheie, +connect_by_isleaf as frunza,level as nivel from +(select 0 as tip,a.id_util as id,a.utilizator as denumire,-1 as id_tata from vutilizatori a where a.inactiv=0 +union all +select distinct 1 as tip,b.id_grup+500 as id,b.grup as denumire,b.id_util as id_tata from vdef_util_grup b) c +start with c.id_tata=-1 +connect by prior c.id=c.id_tata +order by nivel,tip,denumire +/ + +prompt +prompt Creating view VDEF_UTIL_FIRME +prompt ============================= +prompt +create or replace view vdef_util_firme as +select a.id_program,b.id_util,b.id_firma from def_grup_drept a +left join def_util_grup b on a.id_grup=b.id_grup where a.sters=0 and b.sters=0 +/ + +prompt +prompt Creating view VDEF_UTIL_GRUP_OBIECTE +prompt ==================================== +prompt +create or replace view vdef_util_grup_obiecte as +select a.id_util,b.id_grup,b.id_obiect,c.cheie,c.id_program + from utilizatori a + left join def_grup_drept_obiecte b on a.id_grup=b.id_grup + left join vdef_obiecte c on b.id_obiect=c.id_obiect + where a.sters=0 and b.sters=0 +/ + +prompt +prompt Creating view VDEF_UTIL_OBIECTE +prompt =============================== +prompt +create or replace view vdef_util_obiecte as +select a.id_firma,a.id_util,c.id_program,c.cheie from def_util_grup a +left join def_grup_drept_obiecte b on a.id_grup=b.id_grup +left join vdef_obiecte c on b.id_obiect=c.id_obiect +where a.sters=0 and b.sters=0 +/ + +prompt +prompt Creating view VDEF_UTIL_PROGRAME +prompt ================================ +prompt +create or replace view vdef_util_programe as +select distinct a.id_util,b.id_program,c.nume,c.director,c.explicatie,c.ordine from def_util_grup a +left join def_grup_drept b on a.id_grup=b.id_grup +left join vdef_programe c on b.id_program=c.ide_program +where a.sters=0 and b.sters=0 and c.instalat=1 +/ + +prompt +prompt Creating package PACK_DREPTURI +prompt ============================== +prompt +create or replace package PACK_DREPTURI is + + -- Author : MARIUS.ATANASIU + -- Created : 10/7/2005 10:54:27 AM + -- Purpose : + + -- Public type declarations + procedure utilizatoriinsproc(V_UTILIZATOR IN VARCHAR2, + V_PAROLA IN VARCHAR2, + V_INACTIV IN NUMBER, + V_ID_UTILAD IN NUMBER); + + procedure utilizatorimodproc(V_UTILIZATOR IN VARCHAR2, + V_PAROLA IN VARCHAR2, + V_INACTIV IN NUMBER, + V_ID_UTIL IN NUMBER, + V_ID_UTILMOD IN NUMBER); + + procedure utilizatoridelproc(V_ID_UTIL IN NUMBER, V_ID_UTILS IN NUMBER); + + procedure parolamodproc(V_PAROLA IN VARCHAR2, V_ID_UTIL IN NUMBER); + + procedure programeinsproc(V_IDE_PROGRAM IN VARCHAR2, + V_CALE IN VARCHAR2, + V_TITLU IN VARCHAR2, + V_INSTALAT IN NUMBER, + V_ORDINE IN NUMBER, + V_ID_UTILAD IN NUMBER); + + procedure programemodproc(V_ID_PROGRAM IN NUMBER, + V_CALE IN VARCHAR2, + V_TITLU IN VARCHAR2, + V_INSTALAT IN NUMBER, + V_ORDINE IN NUMBER, + V_ID_UTILMOD IN NUMBER); + + procedure programedelproc(V_ID_PROGRAM IN NUMBER, V_ID_UTILS IN NUMBER); + + procedure firmeinsproc(V_FIRMA IN VARCHAR2, + V_FSCURT IN VARCHAR2, + V_COD_FISCAL IN VARCHAR2, + V_REG_COMERT IN VARCHAR2, + V_BANCA1 IN VARCHAR2, + V_CONT_BANCA1 IN VARCHAR2, + V_BANCA2 IN VARCHAR2, + V_CONT_BANCA2 IN VARCHAR2, + V_BANCA3 IN VARCHAR2, + V_CONT_BANCA3 IN VARCHAR2, + V_ADRESA IN VARCHAR2, + V_COD_FIRMA IN VARCHAR2, + V_PERS_JUR IN NUMBER, + V_CODANG IN NUMBER, + V_NUME IN VARCHAR2, + V_PRENUME IN VARCHAR2, + V_TELEFON1 IN VARCHAR2, + V_TELEFON2 IN VARCHAR2, + V_TELEFON3 IN VARCHAR2, + V_FAX IN VARCHAR2, + V_EMAIL IN VARCHAR2, + V_OASP IN VARCHAR2, + V_CAP_SOC_VAR IN NUMBER, + V_CAP_SOC_SUB IN NUMBER, + V_PUNCT_LUCRU IN VARCHAR2, + V_CAEN IN VARCHAR2, + V_SCHEMA IN VARCHAR2, + V_ID_MAMA IN NUMBER, + V_MAMA IN VARCHAR2, + V_SUCURSALA IN VARCHAR2, + V_ID_LOC IN NUMBER, + V_ID_UTILAD IN NUMBER); + + procedure firmemodproc(V_ID_FIRMA IN NUMBER, + V_FIRMA IN VARCHAR2, + V_FSCURT IN VARCHAR2, + V_COD_FISCAL IN VARCHAR2, + V_REG_COMERT IN VARCHAR2, + V_BANCA1 IN VARCHAR2, + V_CONT_BANCA1 IN VARCHAR2, + V_BANCA2 IN VARCHAR2, + V_CONT_BANCA2 IN VARCHAR2, + V_BANCA3 IN VARCHAR2, + V_CONT_BANCA3 IN VARCHAR2, + V_ADRESA IN VARCHAR2, + V_COD_FIRMA IN VARCHAR2, + V_PERS_JUR IN NUMBER, + V_CODANG IN NUMBER, + V_NUME IN VARCHAR2, + V_PRENUME IN VARCHAR2, + V_TELEFON1 IN VARCHAR2, + V_TELEFON2 IN VARCHAR2, + V_TELEFON3 IN VARCHAR2, + V_FAX IN VARCHAR2, + V_EMAIL IN VARCHAR2, + V_OASP IN VARCHAR2, + V_CAP_SOC_VAR IN NUMBER, + V_CAP_SOC_SUB IN NUMBER, + V_PUNCT_LUCRU IN VARCHAR2, + V_CAEN IN VARCHAR2, + V_SCHEMA IN VARCHAR2, + V_ID_MAMA IN NUMBER, + V_MAMA IN VARCHAR2, + V_SUCURSALA IN VARCHAR2, + V_ID_LOC IN NUMBER, + V_ID_UTILMOD IN NUMBER); + + procedure firmedelproc(V_ID_FIRMA IN VARCHAR2, V_ID_UTILS IN NUMBER); + + procedure grupinsproc(V_GRUP IN VARCHAR2, + V_ID_TATA IN NUMBER, + V_ID_UTILAD IN NUMBER); + + procedure grupmodproc(V_ID_GRUP IN NUMBER, + V_GRUP IN VARCHAR2, + V_ID_TATA IN NUMBER, + V_ID_UTILMOD IN NUMBER); + + procedure grupdelproc(V_ID_GRUP IN NUMBER, V_ID_UTILS IN NUMBER); + + procedure grupdreptinsproc(V_ID_GRUP IN NUMBER, + V_ID_PROGRAM IN NUMBER, + V_ACCES IN VARCHAR2, + V_ID_UTILAD IN NUMBER); + + procedure grupdreptmodproc(V_ID_GRUP IN NUMBER, + V_ID_PROGRAM IN NUMBER, + V_ACCES IN VARCHAR2, + V_ID_UTILMOD IN NUMBER); + + procedure grupdreptdelproc(V_ID_DGD IN NUMBER, V_ID_UTILS IN NUMBER); + + procedure utildreptinsproc(V_ID_UTIL IN NUMBER, + V_ID_GRUP IN NUMBER, + V_ID_FIRMA IN NUMBER, + V_ID_UTILAD IN NUMBER); + + procedure utildreptmodproc(V_ID_DUG IN NUMBER, + V_ID_UTIL IN NUMBER, + V_ID_GRUP IN NUMBER, + V_ID_FIRMA IN NUMBER, + V_ID_UTILMOD IN NUMBER); + + procedure utildreptdelproc(V_ID_DUG IN NUMBER, V_ID_UTILS IN NUMBER); + + procedure adauga_drepturi_grup(V_ID_GRUP IN NUMBER, + V_ID_TATA IN NUMBER, + V_ID_UTILAD IN NUMBER); + + procedure modifica_drepturi_grup(V_ID_GRUP IN NUMBER, + V_ID_TATA IN NUMBER, + V_ID_UTILMOD IN NUMBER); + + procedure sterge_drepturi_grup(V_ID_GRUP IN NUMBER, V_ID_UTILS IN NUMBER); + + procedure adauga_drepturi_obiecte(V_ID_GRUP IN NUMBER, + V_ID_PROGRAM IN NUMBER, + V_ACCES IN VARCHAR2, + V_ID_UTILAD IN NUMBER); + + procedure sterge_drepturi_obiecte(V_ID_GRUP IN NUMBER, + V_ID_PROGRAM IN NUMBER, + V_ID_UTILS IN NUMBER); + + procedure adauga_drepturi_firma(V_ID_UTIL IN NUMBER, + V_ID_GRUP IN NUMBER, + V_ID_FIRMA IN NUMBER, + V_ID_UTILAD IN NUMBER); + + procedure modifica_drepturi_firma(V_ID_DUG IN NUMBER, + V_ID_UTIL IN NUMBER, + V_ID_GRUP IN NUMBER, + V_ID_FIRMA IN NUMBER, + V_ID_UTILMOD IN NUMBER); + + procedure sterge_drepturi_firma(V_ID_DUG IN NUMBER, V_ID_UTILS IN NUMBER); + + procedure programe_grup(V_ID_GRUP IN DEF_GRUP.ID_GRUP%TYPE, + CRS_PROGRAME OUT PACK_TYPES.tip_cursor); + + procedure obiecte_program(V_ID_GRUP IN DEF_GRUP.ID_GRUP%TYPE, + V_ID_PROGRAM IN NUMBER, + CRS_OBIECTE OUT PACK_TYPES.tip_cursor); + + procedure actualizeaza_seq_obiecte; + + function verificautilizator(V_UTILIZATOR IN VARCHAR2, + V_PAROLA IN VARCHAR2) return number; + + function getid_obiect return number; + + function calculeaza_checksum(V_ID_UTIL IN NUMBER, V_NR_GRUP IN NUMBER) + return number; + +end PACK_DREPTURI; +/ + +prompt +prompt Creating package body PACK_DREPTURI +prompt =================================== +prompt +create or replace package body PACK_DREPTURI is + + procedure utilizatoriinsproc(V_UTILIZATOR IN VARCHAR2, + V_PAROLA IN VARCHAR2, + V_INACTIV IN NUMBER, + V_ID_UTILAD IN NUMBER) is + lnNrUtilizatori NUMBER(10); + begin + EXECUTE IMMEDIATE 'SELECT COUNT(*) FROM VUTILIZATORI WHERE UTILIZATOR=:1' + USING V_UTILIZATOR; + + IF lnNrUtilizatori > 0 THEN + RAISE_APPLICATION_ERROR(-20005, + 'Mai exista un utilizator cu acest nume!'); + END IF; + + EXECUTE IMMEDIATE 'INSERT INTO UTILIZATORI(UTILIZATOR,PAROLA,INACTIV,ID_UTILOP,DATAORA) ' || + 'VALUES (:1,:2,:3,:4,SYSDATE)' + USING V_UTILIZATOR, V_PAROLA, V_INACTIV, V_ID_UTILAD; + end; + ---------------------------------------------------------------------------------------- + procedure utilizatorimodproc(V_UTILIZATOR IN VARCHAR2, + V_PAROLA IN VARCHAR2, + V_INACTIV IN NUMBER, + V_ID_UTIL IN NUMBER, + V_ID_UTILMOD IN NUMBER) is + lnNrUtilizatori NUMBER(10); + lcParola UTILIZATORI.PAROLA%TYPE; + begin + EXECUTE IMMEDIATE 'SELECT COUNT(*) FROM VUTILIZATORI WHERE UTILIZATOR=:1 AND ID_UTIL!=:2' + USING V_UTILIZATOR, V_ID_UTIL; + + IF lnNrUtilizatori > 0 THEN + RAISE_APPLICATION_ERROR(-20005, + 'Mai exista un utilizator cu acest nume!'); + END IF; + + IF V_INACTIV = 1 THEN + lcParola := 'UtIlIzAtOrInAcTiV' || V_ID_UTIL; + EXECUTE IMMEDIATE 'UPDATE UTILIZATORI SET PAROLA=:1,INACTIV=:2,ID_UTILOP=:3,DATAORA=SYSDATE ' || + 'WHERE ID_UTIL=:4' + USING lcParola, V_INACTIV, V_ID_UTILMOD, V_ID_UTIL; + ELSE + lcParola := V_PAROLA; + IF lcParola IS NULL THEN + EXECUTE IMMEDIATE 'UPDATE UTILIZATORI SET UTILIZATOR=:1,INACTIV=:2,ID_UTILOP=:3,DATAORA=SYSDATE ' || + 'WHERE ID_UTIL=:4' + USING V_UTILIZATOR, V_INACTIV, V_ID_UTILMOD, V_ID_UTIL; + + ELSE + EXECUTE IMMEDIATE 'UPDATE UTILIZATORI SET UTILIZATOR=:1,PAROLA=:2,INACTIV=:3,ID_UTILOP=:4,DATAORA=SYSDATE ' || + 'WHERE ID_UTIL=:5' + USING V_UTILIZATOR, lcParola, V_INACTIV, V_ID_UTILMOD, V_ID_UTIL; + END IF; + END IF; + end; + ---------------------------------------------------------------------------------------- + procedure utilizatoridelproc(V_ID_UTIL IN NUMBER, V_ID_UTILS IN NUMBER) is + begin + IF V_ID_UTIL = -1 THEN + RAISE_APPLICATION_ERROR(-20005, 'Nu puteti sterge acest utilizator!'); + END IF; + + EXECUTE IMMEDIATE 'UPDATE UTILIZATORI SET STERS=1,ID_UTILOP=:1,DATAORA=SYSDATE ' || + 'WHERE ID_UTIL=:2' + USING V_ID_UTILS, V_ID_UTIL; + end; + ---------------------------------------------------------------------------------------- + procedure parolamodproc(V_PAROLA IN VARCHAR2, V_ID_UTIL IN NUMBER) is + begin + EXECUTE IMMEDIATE 'UPDATE UTILIZATORI SET PAROLA=:1,ID_UTILOP=:2,DATAORA=SYSDATE ' || + 'WHERE ID_UTIL=:3' + USING V_PAROLA, V_ID_UTIL, V_ID_UTIL; + end; + ---------------------------------------------------------------------------------------- + procedure programeinsproc(V_IDE_PROGRAM IN NUMBER, + V_CALE IN VARCHAR2, + V_TITLU IN VARCHAR2, + V_INSTALAT IN NUMBER, + V_ORDINE IN NUMBER, + V_ID_UTILAD IN NUMBER) is + lnPrograme NUMBER(2); + lcProgram NOM_PROGRAME.DENUMIRE%TYPE; + /* V_IDE_PROGRAM NOM_PROGRAME.ID_PROGRAM%TYPE;*/ + begin + /* EXECUTE IMMEDIATE 'SELECT ID_PROGRAM FROM NOM_PROGRAME WHERE DENUMIRE=:1' + INTO V_IDE_PROGRAM + USING V_PROGRAM; + + EXECUTE IMMEDIATE 'INSERT INTO NOM_PROGRAME(NUME,DIRECTOR,EXPLICATIE,INSTALAT,ORDINE,IDE_PROGRAM) '|| + 'VALUES (:1,:2,:3,:4,:5,:6)' + USING + */ + EXECUTE IMMEDIATE 'SELECT DENUMIRE FROM VNOM_PROGRAME WHERE ID_PROGRAM=:1' + INTO lcProgram + USING V_IDE_PROGRAM; + + EXECUTE IMMEDIATE 'SELECT COUNT(*) FROM VDEF_PROGRAME WHERE ORDINE=:1' + INTO lnPrograme + USING V_ORDINE; + + IF lnPrograme > 0 THEN + EXECUTE IMMEDIATE 'UPDATE DEF_PROGRAME SET ORDINE=ORDINE+1 WHERE ORDINE>=:1 AND STERS=0' + USING V_ORDINE; + END IF; + + EXECUTE IMMEDIATE 'INSERT INTO DEF_PROGRAME(DIRECTOR,EXPLICATIE,INSTALAT,ORDINE,IDE_PROGRAM,ID_UTILOP,DATAORA) ' || + 'VALUES (:1,:2,:3,:4,:5,:6,SYSDATE)' + USING V_CALE, V_TITLU, V_INSTALAT, V_ORDINE, V_IDE_PROGRAM, V_ID_UTILAD; + end; + ---------------------------------------------------------------------------------------- + procedure programemodproc(V_ID_PROGRAM IN NUMBER, + V_CALE IN VARCHAR2, + V_TITLU IN VARCHAR2, + V_INSTALAT IN NUMBER, + V_ORDINE IN NUMBER, + V_ID_UTILMOD IN NUMBER) is + lnPrograme NUMBER(2); + begin + EXECUTE IMMEDIATE 'SELECT COUNT(*) FROM VDEF_PROGRAME WHERE ID_PROG!=:1 ' || + 'AND ORDINE=:2 ' + INTO lnPrograme + USING V_ID_PROGRAM, V_ORDINE; + + IF lnPrograme > 0 THEN + EXECUTE IMMEDIATE 'UPDATE DEF_PROGRAME SET ORDINE=ORDINE+1 WHERE ORDINE>=:1 AND STERS=0' + USING V_ORDINE; + END IF; + + EXECUTE IMMEDIATE 'UPDATE DEF_PROGRAME SET DIRECTOR=:1,EXPLICATIE=:2,INSTALAT=:3,' || + 'ORDINE=:4,ID_UTILOP=:5,DATAORA=SYSDATE WHERE ID_PROG=:6' + USING V_CALE, V_TITLU, V_INSTALAT, V_ORDINE, V_ID_UTILMOD, V_ID_PROGRAM; + end; + ---------------------------------------------------------------------------------------- + procedure programedelproc(V_ID_PROGRAM IN NUMBER, V_ID_UTILS IN NUMBER) is + lnOrdine DEF_PROGRAME.ORDINE%TYPE; + begin + EXECUTE IMMEDIATE 'SELECT ORDINE FROM VDEF_PROGRAME WHERE ID_PROG=:1' + INTO lnOrdine + USING V_ID_PROGRAM; + + EXECUTE IMMEDIATE 'UPDATE DEF_PROGRAME SET ORDINE=ORDINE-1 WHERE ORDINE>=:1 AND STERS=0' + USING lnOrdine; + + EXECUTE IMMEDIATE 'UPDATE DEF_PROGRAME SET STERS=1,ORDINE=-1,ID_UTILOP=:1,DATAORA=SYSDATE ' || + 'WHERE ID_PROG=:2' + USING V_ID_UTILS, V_ID_PROGRAM; + end; + ---------------------------------------------------------------------------------------- + procedure firmeinsproc(V_FIRMA IN VARCHAR2, + V_FSCURT IN VARCHAR2, + V_COD_FISCAL IN VARCHAR2, + V_REG_COMERT IN VARCHAR2, + V_BANCA1 IN VARCHAR2, + V_CONT_BANCA1 IN VARCHAR2, + V_BANCA2 IN VARCHAR2, + V_CONT_BANCA2 IN VARCHAR2, + V_BANCA3 IN VARCHAR2, + V_CONT_BANCA3 IN VARCHAR2, + V_ADRESA IN VARCHAR2, + V_COD_FIRMA IN VARCHAR2, + V_PERS_JUR IN NUMBER, + V_CODANG IN NUMBER, + V_NUME IN VARCHAR2, + V_PRENUME IN VARCHAR2, + V_TELEFON1 IN VARCHAR2, + V_TELEFON2 IN VARCHAR2, + V_TELEFON3 IN VARCHAR2, + V_FAX IN VARCHAR2, + V_EMAIL IN VARCHAR2, + V_OASP IN VARCHAR2, + V_CAP_SOC_VAR IN NUMBER, + V_CAP_SOC_SUB IN NUMBER, + V_PUNCT_LUCRU IN VARCHAR2, + V_CAEN IN VARCHAR2, + V_SCHEMA IN VARCHAR2, + V_ID_MAMA IN NUMBER, + V_MAMA IN VARCHAR2, + V_SUCURSALA IN VARCHAR2, + V_ID_LOC IN NUMBER, + V_ID_UTILAD IN NUMBER) is + lnFirme NUMBER(2); + begin + EXECUTE IMMEDIATE 'SELECT COUNT(*) FROM V_NOM_FIRME WHERE SCHEMA=:1' + INTO lnFirme + USING V_SCHEMA; + + IF lnFirme > 0 THEN + RAISE_APPLICATION_ERROR(-20100, + 'Pe aceasta schema a mai fost definita o alta firma!'); + END IF; + + EXECUTE IMMEDIATE 'INSERT INTO NOM_FIRME(FIRMA,FSCURT,COD_FISCAL,REG_COMERT,' || + 'BANCA1,CONT_BANCA1,BANCA2,CONT_BANCA2,BANCA3,CONT_BANCA3,ADRESA,COD_FIRMA,' || + 'PERSOANA_JURIDICA,CODANG,NUME,PRENUME,TELEFON,TELEFON2,TELEFON3,FAX,EMAIL,OASP,' || + 'CAPITAL_SOC_VAR,CAPITAL_SOC_SUB,PUNCT_LUC,CAEN,SCHEMA,ID_MAMA,MAMA,SUCURSALA,' || + 'ID_LOC,ID_UTILOP,DATAORA) ' || + 'VALUES (:1,:2,:3,:4,:5,:6,:7,:8,:9,:10,:11,:12,:13,:14,:15,:16,:17,:18,:19,:20,:21,:22,' || + ':23,:24,:25,:26,:27,:28,:29,:30,:31,:32,SYSDATE)' + USING V_FIRMA, V_FSCURT, V_COD_FISCAL, V_REG_COMERT, V_BANCA1, V_CONT_BANCA1, V_BANCA2, V_CONT_BANCA2, V_BANCA3, V_CONT_BANCA3, V_ADRESA, V_COD_FIRMA, V_PERS_JUR, V_CODANG, V_NUME, V_PRENUME, V_TELEFON1, V_TELEFON2, V_TELEFON3, V_FAX, V_EMAIL, V_OASP, V_CAP_SOC_VAR, V_CAP_SOC_SUB, V_PUNCT_LUCRU, V_CAEN, V_SCHEMA, V_ID_MAMA, V_MAMA, V_SUCURSALA, V_ID_LOC, V_ID_UTILAD; + end; + ---------------------------------------------------------------------------------------- + procedure firmemodproc(V_ID_FIRMA IN NUMBER, + V_FIRMA IN VARCHAR2, + V_FSCURT IN VARCHAR2, + V_COD_FISCAL IN VARCHAR2, + V_REG_COMERT IN VARCHAR2, + V_BANCA1 IN VARCHAR2, + V_CONT_BANCA1 IN VARCHAR2, + V_BANCA2 IN VARCHAR2, + V_CONT_BANCA2 IN VARCHAR2, + V_BANCA3 IN VARCHAR2, + V_CONT_BANCA3 IN VARCHAR2, + V_ADRESA IN VARCHAR2, + V_COD_FIRMA IN VARCHAR2, + V_PERS_JUR IN NUMBER, + V_CODANG IN NUMBER, + V_NUME IN VARCHAR2, + V_PRENUME IN VARCHAR2, + V_TELEFON1 IN VARCHAR2, + V_TELEFON2 IN VARCHAR2, + V_TELEFON3 IN VARCHAR2, + V_FAX IN VARCHAR2, + V_EMAIL IN VARCHAR2, + V_OASP IN VARCHAR2, + V_CAP_SOC_VAR IN NUMBER, + V_CAP_SOC_SUB IN NUMBER, + V_PUNCT_LUCRU IN VARCHAR2, + V_CAEN IN VARCHAR2, + V_SCHEMA IN VARCHAR2, + V_ID_MAMA IN NUMBER, + V_MAMA IN VARCHAR2, + V_SUCURSALA IN VARCHAR2, + V_ID_LOC IN NUMBER, + V_ID_UTILMOD IN NUMBER) is + lnFirme NUMBER(2); + begin + EXECUTE IMMEDIATE 'SELECT COUNT(*) FROM V_NOM_FIRME WHERE SCHEMA=:1 AND ID_FIRMA!=:2' + INTO lnFirme + USING V_SCHEMA, V_ID_FIRMA; + + IF lnFirme > 0 THEN + RAISE_APPLICATION_ERROR(-20100, + 'Pe aceasta schema a mai fost definita o alta firma!'); + END IF; + + EXECUTE IMMEDIATE 'UPDATE NOM_FIRME SET FIRMA=:1,FSCURT=:2,COD_FISCAL=:3,' || + 'REG_COMERT=:4,BANCA1=:5,CONT_BANCA1=:6,BANCA2=:7,CONT_BANCA2=:8,BANCA3=:9,' || + 'CONT_BANCA3=:10,ADRESA=:11,COD_FIRMA=:12,PERSOANA_JURIDICA=:13,CODANG=:14,' || + 'NUME=:15,PRENUME=:16,TELEFON=:17,TELEFON2=:18,TELEFON3=:19,FAX=:20,' || + 'CAPITAL_SOC_VAR=:21,CAPITAL_SOC_SUB=:22,PUNCT_LUC=:23,CAEN=:24,SCHEMA=:25,' || + 'ID_MAMA=:26,MAMA=:27,SUCURSALA=:28,ID_LOC=:29,ID_UTILOP=:30,DATAORA=SYSDATE,EMAIL=:31, ' || + 'OASP=:32 WHERE ID_FIRMA=:33' + USING V_FIRMA, V_FSCURT, V_COD_FISCAL, V_REG_COMERT, V_BANCA1, V_CONT_BANCA1, V_BANCA2, V_CONT_BANCA2, V_BANCA3, V_CONT_BANCA3, V_ADRESA, V_COD_FIRMA, V_PERS_JUR, V_CODANG, V_NUME, V_PRENUME, V_TELEFON1, V_TELEFON2, V_TELEFON3, V_FAX, V_CAP_SOC_VAR, V_CAP_SOC_SUB, V_PUNCT_LUCRU, V_CAEN, V_SCHEMA, V_ID_MAMA, V_MAMA, V_SUCURSALA, V_ID_LOC, V_ID_UTILMOD, V_EMAIL, V_OASP, V_ID_FIRMA; + end; + ---------------------------------------------------------------------------------------- + procedure firmedelproc(V_ID_FIRMA IN VARCHAR2, V_ID_UTILS IN NUMBER) is + begin + + EXECUTE IMMEDIATE 'UPDATE NOM_FIRME SET STERS=1,ID_UTILOP=:1,DATAORA=SYSDATE ' || + 'WHERE ID_FIRMA=:2' + USING V_ID_UTILS, V_ID_FIRMA; + end; + ---------------------------------------------------------------------------------------- + procedure grupinsproc(V_GRUP IN VARCHAR2, + V_ID_TATA IN NUMBER, + V_ID_UTILAD IN NUMBER) is + V_ID_GRUP DEF_GRUP.ID_GRUP%TYPE; + lnAparitii NUMBER(3); + begin + EXECUTE IMMEDIATE 'SELECT COUNT(*) FROM DEF_GRUP WHERE STERS=0 AND GRUP=:1' + INTO lnAparitii + USING V_GRUP; + + IF lnAparitii > 0 THEN + RAISE_APPLICATION_ERROR(-20005, + 'Mai exista un grup cu acelasi nume!'); + END IF; + + EXECUTE IMMEDIATE 'INSERT INTO DEF_GRUP(GRUP,ID_TATA,ID_UTILOP,DATAORA) ' || + 'VALUES (:1,:2,:3,SYSDATE) RETURNING ID_GRUP INTO :4' + USING V_GRUP, V_ID_TATA, V_ID_UTILAD + RETURNING INTO V_ID_GRUP; + + IF V_ID_TATA != -1 THEN + pack_drepturi.adauga_drepturi_grup(V_ID_GRUP, V_ID_TATA, V_ID_UTILAD); + END IF; + + end; + ---------------------------------------------------------------------------------------- + procedure grupmodproc(V_ID_GRUP IN NUMBER, + V_GRUP IN VARCHAR2, + V_ID_TATA IN NUMBER, + V_ID_UTILMOD IN NUMBER) is + V_ID_TATA_VECHI DEF_GRUP.ID_TATA%TYPE; + lnCopii NUMBER(3); + lnAparitii NUMBER(3); + begin + EXECUTE IMMEDIATE 'SELECT COUNT(*) FROM DEF_GRUP WHERE STERS=0 AND GRUP=:1 AND ID_GRUP!=:2' + INTO lnAparitii + USING V_GRUP, V_ID_GRUP; + + IF lnAparitii > 0 THEN + RAISE_APPLICATION_ERROR(-20005, + 'Mai exista un grup cu acelasi nume!'); + END IF; + + EXECUTE IMMEDIATE 'SELECT ID_TATA FROM DEF_GRUP WHERE STERS=0 AND ID_GRUP=:1' + INTO V_ID_TATA_VECHI + USING V_ID_GRUP; + + EXECUTE IMMEDIATE 'SELECT COUNT(*) FROM DEF_GRUP WHERE STERS=0 AND ID_TATA=:1' + INTO lnCopii + USING V_ID_GRUP; + + IF lnCopii > 0 AND V_ID_TATA_VECHI != V_ID_TATA THEN + RAISE_APPLICATION_ERROR(-20005, + 'Nu se poate modifica grupul superior al acestui grup,deoarece are definite subgrupuri!'); + END IF; + + EXECUTE IMMEDIATE 'UPDATE DEF_GRUP SET GRUP=:1,ID_TATA=:2,ID_UTILOP=:3,DATAORA=SYSDATE ' || + 'WHERE ID_GRUP=:4' + USING V_GRUP, V_ID_TATA, V_ID_UTILMOD, V_ID_GRUP; + + IF V_ID_TATA_VECHI != V_ID_TATA THEN + pack_drepturi.modifica_drepturi_grup(V_ID_GRUP, + V_ID_TATA, + V_ID_UTILMOD); + END IF; + + end; + ---------------------------------------------------------------------------------------- + procedure grupdelproc(V_ID_GRUP IN NUMBER, V_ID_UTILS IN NUMBER) is + lnCopii NUMBER(3); + begin + IF V_ID_GRUP = 0 THEN + RAISE_APPLICATION_ERROR(-20005, 'Nu puteti sterge acest grup!'); + END IF; + + EXECUTE IMMEDIATE 'SELECT COUNT(*) FROM DEF_GRUP WHERE STERS=0 AND ID_TATA=:1' + INTO lnCopii + USING V_ID_GRUP; + + IF lnCopii > 0 THEN + RAISE_APPLICATION_ERROR(-20005, + 'Nu se poate sterge acest grup,deoarece are definite subgrupuri!'); + END IF; + + EXECUTE IMMEDIATE 'UPDATE DEF_GRUP SET STERS=1,ID_UTILOP=:1,DATAORA=SYSDATE ' || + 'WHERE ID_GRUP=:2' + USING V_ID_UTILS, V_ID_GRUP; + + pack_drepturi.sterge_drepturi_grup(V_ID_GRUP, V_ID_UTILS); + end; + ---------------------------------------------------------------------------------------- + procedure grupdreptinsproc(V_ID_GRUP IN NUMBER, + V_ID_PROGRAM IN NUMBER, + V_ACCES IN VARCHAR2, + V_ID_UTILAD IN NUMBER) is + lcGrup VARCHAR2(50); + lnIdGrup DEF_GRUP.ID_GRUP%TYPE; + lnGrupuri NUMBER(10); + lnSucces NUMBER(10); + lcSql VARCHAR2(500); + begin + EXECUTE IMMEDIATE 'SELECT GRUP FROM VDEF_GRUP WHERE ID_GRUP=:1' + INTO lcGrup + USING V_ID_GRUP; + + lcGrup := '%\' || lcGrup || '%'; + + lcSql := 'SELECT ID_GRUP FROM VDEF_GRUP WHERE TATA LIKE :1'; + lnGrupuri := dbms_sql.open_cursor(); + dbms_sql.parse(lnGrupuri, lcSql, dbms_sql.native); + dbms_sql.define_column(lnGrupuri, 1, lnIdGrup); + dbms_sql.bind_variable(lnGrupuri, ':1', lcGrup); + + lnSucces := dbms_sql.execute(lnGrupuri); + LOOP + EXIT WHEN dbms_sql.fetch_rows(lnGrupuri) = 0; + dbms_sql.column_value(lnGrupuri, 1, lnIdGrup); + + EXECUTE IMMEDIATE 'INSERT INTO DEF_GRUP_DREPT(ID_GRUP,ID_PROGRAM,ID_UTILOP,DATAORA) ' || + 'VALUES (:1,:2,:3,SYSDATE)' + USING lnIdGrup, V_ID_PROGRAM, V_ID_UTILAD; + + IF V_ACCES IS NOT NULL THEN + pack_drepturi.adauga_drepturi_obiecte(lnIdGrup, + V_ID_PROGRAM, + V_ACCES, + V_ID_UTILAD); + END IF; + END LOOP; + DBMS_SQL.CLOSE_CURSOR(lnGrupuri); + end; + ---------------------------------------------------------------------------------------- + procedure grupdreptmodproc(V_ID_GRUP IN NUMBER, + V_ID_PROGRAM IN NUMBER, + V_ACCES IN VARCHAR2, + V_ID_UTILMOD IN NUMBER) is + lcGrup VARCHAR2(50); + lnIdGrup DEF_GRUP.ID_GRUP%TYPE; + lnGrupuri NUMBER(10); + lnSucces NUMBER(10); + lcSql VARCHAR2(500); + begin + EXECUTE IMMEDIATE 'SELECT GRUP FROM VDEF_GRUP WHERE ID_GRUP=:1' + INTO lcGrup + USING V_ID_GRUP; + + lcGrup := '%\' || lcGrup || '%'; + + lcSql := 'SELECT ID_GRUP FROM VDEF_GRUP WHERE TATA LIKE :1'; + lnGrupuri := dbms_sql.open_cursor(); + dbms_sql.parse(lnGrupuri, lcSql, dbms_sql.native); + dbms_sql.define_column(lnGrupuri, 1, lnIdGrup); + dbms_sql.bind_variable(lnGrupuri, ':1', lcGrup); + + lnSucces := dbms_sql.execute(lnGrupuri); + LOOP + EXIT WHEN dbms_sql.fetch_rows(lnGrupuri) = 0; + dbms_sql.column_value(lnGrupuri, 1, lnIdGrup); + pack_drepturi.sterge_drepturi_obiecte(lnIdGrup, + V_ID_PROGRAM, + V_ID_UTILMOD); + + IF V_ACCES IS NOT NULL THEN + pack_drepturi.adauga_drepturi_obiecte(lnIdGrup, + V_ID_PROGRAM, + V_ACCES, + V_ID_UTILMOD); + END IF; + END LOOP; + DBMS_SQL.CLOSE_CURSOR(lnGrupuri); + end; + ---------------------------------------------------------------------------------------- + procedure grupdreptdelproc(V_ID_DGD IN NUMBER, V_ID_UTILS IN NUMBER) is + V_ID_GRUP DEF_GRUP_DREPT.ID_GRUP%TYPE; + lnIdProgram DEF_GRUP_DREPT.ID_PROGRAM%TYPE; + lcGrup VARCHAR2(50); + lnIdGrup DEF_GRUP.ID_GRUP%TYPE; + lnGrupuri NUMBER(10); + lnSucces NUMBER(10); + lcSql VARCHAR2(500); + begin + EXECUTE IMMEDIATE 'SELECT ID_PROGRAM,ID_GRUP FROM DEF_GRUP_DREPT WHERE ID_DGD=:1' + INTO lnIdProgram, V_ID_GRUP + USING V_ID_DGD; + + EXECUTE IMMEDIATE 'SELECT GRUP FROM VDEF_GRUP WHERE ID_GRUP=:1' + INTO lcGrup + USING V_ID_GRUP; + + lcGrup := '%\' || lcGrup || '%'; + + lcSql := 'SELECT ID_GRUP FROM VDEF_GRUP WHERE TATA LIKE :1'; + lnGrupuri := dbms_sql.open_cursor(); + dbms_sql.parse(lnGrupuri, lcSql, dbms_sql.native); + dbms_sql.define_column(lnGrupuri, 1, lnIdGrup); + dbms_sql.bind_variable(lnGrupuri, ':1', lcGrup); + + lnSucces := dbms_sql.execute(lnGrupuri); + LOOP + EXIT WHEN dbms_sql.fetch_rows(lnGrupuri) = 0; + dbms_sql.column_value(lnGrupuri, 1, lnIdGrup); + + EXECUTE IMMEDIATE 'UPDATE DEF_GRUP_DREPT SET STERS=1,ID_UTILOP=:1,' || + 'DATAORA=SYSDATE WHERE STERS=0 AND ' || + 'ID_GRUP=:2 AND ID_PROGRAM=:3' + USING V_ID_UTILS, lnIdGrup, lnIdProgram; + + pack_drepturi.sterge_drepturi_obiecte(lnIdGrup, + lnIdProgram, + V_ID_UTILS); + END LOOP; + DBMS_SQL.CLOSE_CURSOR(lnGrupuri); + end; + ---------------------------------------------------------------------------------------- + procedure utildreptinsproc(V_ID_UTIL IN NUMBER, + V_ID_GRUP IN NUMBER, + V_ID_FIRMA IN NUMBER, + V_ID_UTILAD IN NUMBER) is + lnSucces NUMBER(10); + lnFirme NUMBER(2); + lnIdFirma NOM_FIRME.ID_FIRMA%TYPE; + lcSql VARCHAR2(1000); + begin + IF V_ID_FIRMA > -1 THEN + pack_drepturi.adauga_drepturi_firma(V_ID_UTIL, + V_ID_GRUP, + V_ID_FIRMA, + V_ID_UTILAD); + ELSE + + lcSql := 'SELECT ID_FIRMA FROM V_NOM_FIRME WHERE ID_FIRMA NOT IN ' || + '(SELECT ID_FIRMA FROM VDEF_UTIL_GRUP WHERE ID_UTIL=:1 AND ID_GRUP=:2)'; + + lnFirme := dbms_sql.open_cursor(); + dbms_sql.parse(lnFirme, lcSql, dbms_sql.native); + dbms_sql.define_column(lnFirme, 1, lnIdFirma); + dbms_sql.bind_variable(lnFirme, ':1', V_ID_UTIL); + dbms_sql.bind_variable(lnFirme, ':2', V_ID_GRUP); + + lnSucces := dbms_sql.execute(lnFirme); + LOOP + EXIT WHEN dbms_sql.fetch_rows(lnFirme) = 0; + dbms_sql.column_value(lnFirme, 1, lnIdFirma); + pack_drepturi.adauga_drepturi_firma(V_ID_UTIL, + V_ID_GRUP, + lnIdFirma, + V_ID_UTILAD); + + END LOOP; + dbms_sql.close_cursor(lnFirme); + END IF; + end; + ---------------------------------------------------------------------------------------- + procedure utildreptmodproc(V_ID_DUG IN NUMBER, + V_ID_UTIL IN NUMBER, + V_ID_GRUP IN NUMBER, + V_ID_FIRMA IN NUMBER, + V_ID_UTILMOD IN NUMBER) is + lnSucces NUMBER(10); + lnFirme NUMBER(2); + lnIdFirma NOM_FIRME.ID_FIRMA%TYPE; + lcSql VARCHAR2(1000); + begin + IF V_ID_FIRMA > -1 THEN + pack_drepturi.sterge_drepturi_firma(V_ID_DUG, V_ID_UTILMOD); + pack_drepturi.adauga_drepturi_firma(V_ID_UTIL, + V_ID_GRUP, + V_ID_FIRMA, + V_ID_UTILMOD); + ELSE + + lcSql := 'SELECT ID_FIRMA FROM V_NOM_FIRME WHERE ID_FIRMA NOT IN ' || + '(SELECT ID_FIRMA FROM VDEF_UTIL_GRUP WHERE ID_UTIL=:1 AND ID_GRUP=:2)'; + lnFirme := dbms_sql.open_cursor(); + dbms_sql.parse(lnFirme, lcSql, dbms_sql.native); + dbms_sql.define_column(lnFirme, 1, lnIdFirma); + dbms_sql.bind_variable(lnFirme, ':1', V_ID_UTIL); + dbms_sql.bind_variable(lnFirme, ':2', V_ID_GRUP); + + lnSucces := dbms_sql.execute(lnFirme); + LOOP + EXIT WHEN dbms_sql.fetch_rows(lnFirme) = 0; + dbms_sql.column_value(lnFirme, 1, lnIdFirma); + pack_drepturi.adauga_drepturi_firma(V_ID_UTIL, + V_ID_GRUP, + lnIdFirma, + V_ID_UTILMOD); + + END LOOP; + dbms_sql.close_cursor(lnFirme); + END IF; + end; + ---------------------------------------------------------------------------------------- + procedure utildreptdelproc(V_ID_DUG IN NUMBER, V_ID_UTILS IN NUMBER) is + begin + pack_drepturi.sterge_drepturi_firma(V_ID_DUG, V_ID_UTILS); + + end; + ---------------------------------------------------------------------------------------- + procedure adauga_drepturi_firma(V_ID_UTIL IN NUMBER, + V_ID_GRUP IN NUMBER, + V_ID_FIRMA IN NUMBER, + V_ID_UTILAD IN NUMBER) is + lnAparitii NUMBER(10); + lcFirma VARCHAR2(100); + begin + EXECUTE IMMEDIATE 'SELECT COUNT(*) FROM DEF_UTIL_GRUP WHERE ID_UTIL=:1 AND ID_FIRMA=:2 ' || + 'AND STERS=0' + INTO lnAparitii + USING V_ID_UTIL, V_ID_FIRMA; + + IF lnAparitii > 0 THEN + EXECUTE IMMEDIATE 'SELECT FIRMA FROM V_NOM_FIRME WHERE ID_FIRMA=:1' + INTO lcFirma + USING V_ID_FIRMA; + RAISE_APPLICATION_ERROR(-20005, + 'Acest utilizator mai are drepturi pe firma ' || + lcFirma); + ELSE + EXECUTE IMMEDIATE 'INSERT INTO DEF_UTIL_GRUP(ID_UTIL,ID_GRUP,ID_FIRMA,ID_UTILOP,DATAORA) ' || + 'VALUES (:1,:2,:3,:4,SYSDATE)' + USING V_ID_UTIL, V_ID_GRUP, V_ID_FIRMA, V_ID_UTILAD; + END IF; + end; + ---------------------------------------------------------------------------------------- + procedure modifica_drepturi_firma(V_ID_DUG IN NUMBER, + V_ID_UTIL IN NUMBER, + V_ID_GRUP IN NUMBER, + V_ID_FIRMA IN NUMBER, + V_ID_UTILMOD IN NUMBER) is + begin + pack_drepturi.sterge_drepturi_firma(V_ID_DUG, V_ID_UTILMOD); + pack_drepturi.adauga_drepturi_firma(V_ID_UTIL, + V_ID_GRUP, + V_ID_FIRMA, + V_ID_UTILMOD); + end; + ---------------------------------------------------------------------------------------- + procedure sterge_drepturi_firma(V_ID_DUG IN NUMBER, V_ID_UTILS IN NUMBER) is + begin + EXECUTE IMMEDIATE 'UPDATE DEF_UTIL_GRUP SET STERS=1,ID_UTILOP=:1,DATAORA=SYSDATE ' || + 'WHERE ID_DUG=:2' + USING V_ID_UTILS, V_ID_DUG; + end; + ---------------------------------------------------------------------------------------- + procedure adauga_drepturi_grup(V_ID_GRUP IN NUMBER, + V_ID_TATA IN NUMBER, + V_ID_UTILAD IN NUMBER) is + begin + EXECUTE IMMEDIATE 'INSERT INTO DEF_GRUP_DREPT(ID_GRUP,ID_PROGRAM,ID_UTILOP,DATAORA) ' || + 'SELECT :1 AS ID_GRUP,ID_PROGRAM,:2 AS ID_UTILOP,SYSDATE AS DATAORA FROM ' || + 'DEF_GRUP_DREPT WHERE STERS=0 AND ID_GRUP=:3' + USING V_ID_GRUP, V_ID_UTILAD, V_ID_TATA; + + EXECUTE IMMEDIATE 'INSERT INTO DEF_GRUP_DREPT_OBIECTE (ID_OBIECT,ID_GRUP,ID_UTILOP,' || + 'DATAORA) SELECT ID_OBIECT,:1 AS ID_GRUP,:2 AS ID_UTILOP,SYSDATE AS DATAORA FROM ' || + 'DEF_GRUP_DREPT_OBIECTE WHERE STERS=0 AND ID_GRUP=:3' + USING V_ID_GRUP, V_ID_UTILAD, V_ID_TATA; + end; + ---------------------------------------------------------------------------------------- + procedure modifica_drepturi_grup(V_ID_GRUP IN NUMBER, + V_ID_TATA IN NUMBER, + V_ID_UTILMOD IN NUMBER) is + begin + pack_drepturi.sterge_drepturi_grup(V_ID_GRUP, V_ID_UTILMOD); + + IF V_ID_TATA != -1 THEN + pack_drepturi.adauga_drepturi_grup(V_ID_GRUP, + V_ID_TATA, + V_ID_UTILMOD); + END IF; + end; + ---------------------------------------------------------------------------------------- + procedure sterge_drepturi_grup(V_ID_GRUP IN NUMBER, V_ID_UTILS IN NUMBER) is + begin + EXECUTE IMMEDIATE 'UPDATE DEF_GRUP_DREPT SET STERS=1,ID_UTILOP=:1,DATAORA=SYSDATE ' || + 'WHERE ID_GRUP=:2 AND STERS=0' + USING V_ID_UTILS, V_ID_GRUP; + + EXECUTE IMMEDIATE 'UPDATE DEF_GRUP_DREPT_OBIECTE SET STERS=1,ID_UTILOP=:1,DATAORA=SYSDATE ' || + 'WHERE ID_GRUP=:2 AND STERS=0' + USING V_ID_UTILS, V_ID_GRUP; + end; + ---------------------------------------------------------------------------------------- + procedure adauga_drepturi_obiecte(V_ID_GRUP IN NUMBER, + V_ID_PROGRAM IN NUMBER, + V_ACCES IN VARCHAR2, + V_ID_UTILAD IN NUMBER) is + lcSir VARCHAR2(10000); + lcAcces VARCHAR2(10); + lnPozitie NUMBER(20); + lnIesire NUMBER(1); + lnCaractere NUMBER(2); + lnIdObiect NUMBER(10); + lnLungime NUMBER(10); + begin + lcSir := v_acces; + lnLungime := LENGTH(v_acces); + lnPozitie := 1; + + loop + exit when lnPozitie > lnLungime; + lcAcces := ''; + lnCaractere := 0; + lnIesire := 0; + + loop + if (ascii(substr(lcSir, lnPozitie + lnCaractere, 1)) between 48 and 57 and + ascii(substr(lcSir, lnPozitie + lnCaractere + 1, 1)) not between 48 and 57) or + (lnPozitie + lnCaractere = lnLungime) then + lnIesire := 1; + end if; + lnCaractere := lnCaractere + 1; + exit when lnIesire = 1; + end loop; + + lcAcces := substr(lcSir, lnPozitie, lnCaractere); + lnPozitie := lnPozitie + lnCaractere; + + EXECUTE IMMEDIATE 'SELECT ID_OBIECT FROM VDEF_OBIECTE WHERE CHEIE=:1 AND ID_PROGRAM=:2' + INTO lnIdObiect + USING lcAcces, v_id_program; + + EXECUTE IMMEDIATE 'INSERT INTO DEF_GRUP_DREPT_OBIECTE' || + '(ID_GRUP,ID_OBIECT,ID_UTILOP,DATAORA) VALUES(:1,:2,:3,SYSDATE)' + USING v_id_grup, lnIdObiect, v_id_utilad; + end loop; + end; + ---------------------------------------------------------------------------------------- + procedure sterge_drepturi_obiecte(V_ID_GRUP IN NUMBER, + V_ID_PROGRAM IN NUMBER, + V_ID_UTILS IN NUMBER) is + begin + EXECUTE IMMEDIATE 'UPDATE DEF_GRUP_DREPT_OBIECTE SET STERS=1,ID_UTILOP=:1,' || + 'DATAORA=SYSDATE WHERE ID_GRUP=:2 AND ' || + 'ID_OBIECT IN (SELECT ID_OBIECT FROM DEF_OBIECTE WHERE ' || + 'ID_PROGRAM=:3 AND STERS=0) AND STERS=0' + USING v_id_utils, v_id_grup, v_id_program; + end; + ---------------------------------------------------------------------------------------- + procedure programe_grup(V_ID_GRUP IN DEF_GRUP.ID_GRUP%TYPE, + CRS_PROGRAME OUT PACK_TYPES.tip_cursor) is + V_ID_TATA DEF_GRUP.ID_TATA%TYPE; + lcSelect varchar2(1000); + begin + EXECUTE IMMEDIATE 'SELECT ID_TATA FROM VDEF_GRUP WHERE ID_GRUP = :1' + INTO V_ID_TATA + USING V_ID_GRUP; + + IF V_ID_TATA = -1 THEN + lcSelect := 'SELECT IDE_PROGRAM,NUME FROM VDEF_PROGRAME WHERE INSTALAT=1 ' || + 'AND IDE_PROGRAM NOT IN (SELECT ID_PROGRAM FROM VDEF_GRUP_DREPT WHERE ' || + 'ID_GRUP=:1) ORDER BY NUME'; + + OPEN CRS_PROGRAME FOR lcSelect + USING V_ID_GRUP; + ELSE + lcSelect := 'SELECT IDE_PROGRAM,NUME FROM VDEF_PROGRAME WHERE IDE_PROGRAM ' || + 'IN (SELECT ID_PROGRAM AS IDE_PROGRAM FROM VDEF_GRUP_DREPT WHERE ID_GRUP=:1 ' || + 'MINUS SELECT ID_PROGRAM FROM VDEF_GRUP_DREPT WHERE ID_GRUP=:2) AND INSTALAT=1 ' || + 'ORDER BY NUME'; + + OPEN CRS_PROGRAME FOR lcSelect + USING V_ID_TATA, V_ID_GRUP; + END IF; + + end; + ---------------------------------------------------------------------------------------- + procedure obiecte_program(V_ID_GRUP IN DEF_GRUP.ID_GRUP%TYPE, + V_ID_PROGRAM IN NUMBER, + CRS_OBIECTE OUT PACK_TYPES.tip_cursor) is + V_ID_TATA DEF_GRUP.ID_TATA%TYPE; + lcSelect varchar2(1000); + begin + EXECUTE IMMEDIATE 'SELECT ID_TATA FROM VDEF_GRUP WHERE ID_GRUP =:1' + INTO V_ID_TATA + USING V_ID_GRUP; + + IF V_ID_TATA = -1 THEN + lcSelect := 'SELECT * FROM VDEF_OBIECTE WHERE ID_PROGRAM=:1 ORDER BY CHEIE'; + + OPEN CRS_OBIECTE FOR lcSelect + USING V_ID_PROGRAM; + ELSE + lcSelect := 'SELECT * FROM VDEF_OBIECTE WHERE ID_OBIECT IN (' || + 'SELECT ID_OBIECT FROM DEF_OBIECTE WHERE STERS=0 AND ID_PROGRAM=:1 ' || + 'START WITH ID_OBIECT IN (SELECT ID_OBIECT FROM DEF_GRUP_DREPT_OBIECTE WHERE ' || + 'STERS=0 AND ID_GRUP=:2) CONNECT BY PRIOR ID_TATA=ID_OBIECT) ORDER BY CHEIE'; + + OPEN CRS_OBIECTE FOR lcSelect + USING V_ID_PROGRAM, V_ID_TATA; + END IF; + + end; + ---------------------------------------------------------------------------------------- + procedure actualizeaza_seq_obiecte is + V_ID NUMBER(10); + V_DIF NUMBER(10); + V_CURR_VAL NUMBER(10); + V_CURR_VAL2 NUMBER(10); + begin + EXECUTE IMMEDIATE 'SELECT NVL(MAX(ID_OBIECT),1) FROM DEF_OBIECTE' + INTO V_ID; + + EXECUTE IMMEDIATE 'SELECT SEQ_DEF_OBIECTE.NEXTVAL FROM DUAL' + INTO V_CURR_VAL; + + V_DIF := V_ID - V_CURR_VAL; + + EXECUTE IMMEDIATE 'ALTER SEQUENCE SEQ_DEF_OBIECTE INCREMENT BY ' || + V_DIF || ' NOMINVALUE '; + EXECUTE IMMEDIATE 'SELECT SEQ_DEF_OBIECTE.NEXTVAL FROM DUAL' + INTO V_CURR_VAL2; + EXECUTE IMMEDIATE 'ALTER SEQUENCE SEQ_DEF_OBIECTE INCREMENT BY 1 MINVALUE 0'; + end; + ---------------------------------------------------------------------------------------- + function verificautilizator(V_UTILIZATOR IN VARCHAR2, + V_PAROLA IN VARCHAR2) return number is + lnIdUtilOrig utilizatori.id_util%type; + lnNrGrup NUMBER(10); + lnIdUtil NUMBER(10); + lnCheckSum NUMBER(2); + begin + begin + EXECUTE IMMEDIATE 'SELECT ID_UTIL FROM UTILIZATORI ' || + 'WHERE UTILIZATOR=:1 AND PAROLA=:2 ' || + 'AND INACTIV=0 AND STERS=0' + INTO lnIdUtilOrig + USING V_UTILIZATOR, V_PAROLA; + + begin + EXECUTE IMMEDIATE 'SELECT COUNT(*) FROM DEF_UTIL_GRUP ' || + 'WHERE STERS=0 AND ID_UTIL=:1 AND ID_GRUP=0' + INTO lnNrGrup + USING lnIdUtilOrig; + exception + when NO_DATA_FOUND then + lnNrGrup := -1; + end; + + lnCheckSum := pack_drepturi.calculeaza_checksum(lnIdUtilOrig, + lnNrGrup); + lnIdUtil := lnIdUtilOrig * 100 + lnCheckSum; + exception + when NO_DATA_FOUND then + lnIdUtil := -1; + end; + return lnIdUtil; + end; + ---------------------------------------------------------------------------------------- + function getid_obiect return number is + lnIdObiect obiecte.id_obiect%type; + begin + select seq_def_obiecte.nextval into lnIdObiect from dual; + return lnIdObiect; + end; + ---------------------------------------------------------------------------------------- + function calculeaza_checksum(V_ID_UTIL IN NUMBER, V_NR_GRUP IN NUMBER) + return number is + lnNumar NUMBER(10); + lnSuma NUMBER(10); + lnCheckSum NUMBER(2); + begin + lnSuma := 0; + lnNumar := V_ID_UTIL; + LOOP + EXIT WHEN lnNumar = 0; + lnSuma := lnSuma + MOD(lnNumar, 10); + lnNumar := TRUNC(lnNumar / 10); + END LOOP; + + lnCheckSum := 13 - MOD(lnSuma, 13); + IF V_NR_GRUP < 1 THEN + lnCheckSum := lnCheckSum - 1; + END IF; + + return lnCheckSum; + end; +end PACK_DREPTURI; +/ + +prompt +prompt Creating trigger TRG_DEF_GDO_BEFOINS +prompt ==================================== +prompt +create or replace trigger TRG_DEF_GDO_BEFOINS +before insert on DEF_GRUP_DREPT_OBIECTE +referencing old as old new as new +for each row +begin +select SEQ_DEF_GDO.NEXTVAL into :new.ID_DGDO from dual; +end; +/ + +prompt +prompt Creating trigger TRG_DEF_GRUP_BEFOINS +prompt ===================================== +prompt +create or replace trigger TRG_DEF_GRUP_BEFOINS +before insert on DEF_GRUP +referencing old as old new as new +for each row +begin +select SEQ_DEF_GRUP.NEXTVAL into :new.ID_GRUP from dual; +end; +/ + +prompt +prompt Creating trigger TRG_DEF_GRUP_DREPT_BEFOINS +prompt =========================================== +prompt +create or replace trigger TRG_DEF_GRUP_DREPT_BEFOINS +before insert on DEF_GRUP_DREPT +referencing old as old new as new +for each row +begin +select SEQ_DEF_GRUP_DREPT.NEXTVAL into :new.ID_DGD from dual; +end; +/ + +prompt +prompt Creating trigger TRG_DEF_OBIECTE_BEFOINS +prompt ======================================== +prompt +create or replace trigger TRG_DEF_OBIECTE_BEFOINS +before insert on DEF_OBIECTE +referencing old as old new as new +for each row +begin +select SEQ_DEF_OBIECTE.NEXTVAL into :new.ID_OBIECT from dual; +end; +/ + +prompt +prompt Creating trigger TRG_DEF_PROGRAME_BEFOINS +prompt ========================================= +prompt +create or replace trigger TRG_DEF_PROGRAME_BEFOINS +before insert on DEF_PROGRAME +referencing old as old new as new +for each row +begin +select SEQ_DEF_PROGRAME.NEXTVAL into :new.ID_PROG from dual; +end; +/ + +prompt +prompt Creating trigger TRG_DEF_UTIL_GRUP_BEFOINS +prompt ========================================== +prompt +create or replace trigger TRG_DEF_UTIL_GRUP_BEFOINS +before insert on DEF_UTIL_GRUP +referencing old as old new as new +for each row +begin +select SEQ_DEF_UTIL_GRUP.NEXTVAL into :new.ID_DUG from dual; +end; +/ + +CREATE OR REPLACE VIEW V_NOM_FIRME AS +SELECT ID_FIRMA, FIRMA, FSCURT, COD_FISCAL, REG_COMERT,BANCA1, CONT_BANCA1,BANCA2, CONT_BANCA2,BANCA3, CONT_BANCA3, +ADRESA,COD_FIRMA,ID_MAMA,MAMA,SUCURSALA,ID_LOC,PERSOANA_JURIDICA,CODANG,NUME,PRENUME,TELEFON, FAX,EMAIL,OASP, CAPITAL_SOC_VAR,CAPITAL_SOC_SUB,PUNCT_LUC,CAEN,SCHEMA,LOCALITATE,TELEFON2,TELEFON3 +FROM NOM_FIRME WHERE STERS=0; + +alter table utilizatori add dataora date default sysdate; + +alter table utilizatori add id_utilop number(5); + +alter table nom_firme add telefon2 varchar2(20); + +alter table nom_firme add telefon3 varchar2(20); + +alter table nom_firme add id_utilop number(10); + +alter table nom_firme add dataora date default sysdate; + +alter table nom_firme add sters number(1) default 0; + +update nom_firme set sters=0; + +alter table def_grup disable all triggers; + +insert into def_grup(grup,id_tata,id_utilop,dataora) values ('ADMINISTRARE',-1,1,SYSDATE); + +alter tabel def_grup enable all triggers; + +alter table nom_programe disable all triggers; + +insert into nom_programe (id_program,denumire,descriere) values(0,'ROASTART','Start'); + +alter table nom_programe enable all triggers; + +insert into def_grup_drept(id_grup,id_program,id_utilop,dataora) values (0,0,1,SYSDATE); + +alter table nom_firme disable all triggers; + +insert into nom_firme(firma,id_firma,schema,sters,id_utilop,dataora) values('START',0,'',1,1,SYSDATE); + +alter table nom_firme enable all triggers; + +insert into def_util_grup(id_util,id_grup,id_firma,id_utilop,dataora) values (1,0,0,1,SYSDATE); + +spool off diff --git a/Drepturi utilizatori/instructiuni drepturi.txt b/Drepturi utilizatori/instructiuni drepturi.txt new file mode 100644 index 0000000..ffbc3d8 --- /dev/null +++ b/Drepturi utilizatori/instructiuni drepturi.txt @@ -0,0 +1,47 @@ + - pe forme : DO_DEFAULT pe init + - trebuie completate cbuton1,cbuton2,cbuton3,cbuton4 cu numele butoanelor separate prin [;] + - daca glLunaInchisa, atunci visible=.F. + - pe click-urile de la cw: se muta tot in do_actiune ; de completat nid_cw si ntip ; linactiv=.T. daca se doreste ca cw sa fie enabled=.F. pentru toti utilizatorii + - imaginile butoanelor trebuie sa fie bazate pe OFUNDAL.IMAGINE + modificare pictureup,picturedown,mouseenter,mouseleave,do_actiune,click,picture + - trebuie completate proprietatile nid_img,ntip,ccod ale imaginilor ; de completat DODEFAULT pe click + - de completat cbuton1,... de la _frmbase + - verifica_drepturi('oprinc','pagefr1') in princ.show si unde se apeleaza DO start_firma IN ostartfirma.prg + - butoanele de modificare,stergere,refacere,excel si listare executa mai intai inainte_de_do_XXX + - daca se modifica visible = .T. pe forma pentru butoane, atunci trebuie modificate si proprietatile lactiv corespunzatoare in cazul in care butoanele executa inainte_de_do (do_modifica, do_sterge, do_refacere sau do_excel) + - de adaugat acces_meniu2 ( pentru programele care nu au definite obiecte ) sau acces_meniu ( pentru prog. care au definite obiectele ) + + VALORI PENTRU NTIP: +(0 - introducere\vizualizare simpla ; 1 - raport; 2 - registru; 3 - balanta\inreg. de parteneri; 4 - vizualizare ; 5 - personalizat) + 0 - INTRODUCERE + 1 - RAPORT + Acces: + - export in Excel + - listare + 2 - BALANTA/INREGISTRARI DE PART. + Acces : + - export in Excel + - listare + - modificare + - refacere/stergere + 3 - REGISTRU + Acces : + - export in Excel + - listare + - modificare + - refacere/stergere + 4 - VIZUALIZARI + Acces : + - export in Excel + - listare + - modificare + - refacere/stergere + - vizualizare inreg. ( doar inreg. proprii ) + - vizualizarea tuturor inreg. + 5 - PERSONALIZAT + Acces : + - export in Excel + - listare + - modificare + - stergere + - altele... + - altele... \ No newline at end of file diff --git a/Plugin/listare_facturi_email_cu_atasament_factura_si_recapitulatie.prg b/Plugin/listare_facturi_email_cu_atasament_factura_si_recapitulatie.prg new file mode 100644 index 0000000..e9707a1 --- /dev/null +++ b/Plugin/listare_facturi_email_cu_atasament_factura_si_recapitulatie.prg @@ -0,0 +1,150 @@ +* PLUGIN email factura, recapitulatie si alte documente pdf cu aceeasi structura ca factura.pdf +* MARIUS MUTU +* V 23.02.2016 +* INSTALARE: Se copie fisierul prg in directorul ROA\[APLICATIE]\PLUGIN\ +* FOLOSIRE: In formularul Vizualizare facturi se apasa butonul listare +* copiat din oproceduri_facturare.prg:email_facturi + +Lparameters toFacturiForm, toDate +*** Trimit email la facturile alese, sau la factura de pe inregistrarea curenta + +Local laFiles[1], lcBody, lcClient, lcDir, lcEmail, lcErrorMessage, lcFacturaFile, lcFile +Local lcFileName, lcFiles, lcNume, lcRaportEmail, lcRecapitulatiaFile, lcScheletonFile +Local lcSerieFactura, lcSubject, lcTipDocument, lcTo, lcWhere, ldDataFactura, llClearErrors +Local llJustPDF, llListareFactura, llListareRecapitulatia, llListareAlteDocumente, llSilent, llSucces, lnFile, lnFiles +Local lnIdVanzare, lnNumarFactura, lnRecno, loDate, loMail + +loMail = getoEmail() && email.prg + +lcWhere = "" +llListareFactura = .T. +llGenerareFactura = .T. +llListareRecapitulatia = .T. +llGenerareRecapitulatia = .T. +llListareAlteDocumente = .T. +If Type('toDate') = 'O' + llListareFactura = Iif(Type('toDate.nListareFactura') = 'N', Inlist(toDate.nListareFactura, 1, 2), .T.) + llGenerareFactura = Iif(Type('toDate.nListareFactura') = 'N', toDate.nListareFactura = 2, .F.) + + llListareRecapitulatia = Iif(Type('toDate.nListareRecapitulatia') = 'N', Inlist(toDate.nListareRecapitulatia, 1, 2), .F.) + llGenerareRecapitulatia = Iif(Type('toDate.nListareRecapitulatia') = 'N', toDate.nListareRecapitulatia = 2, .F.) + + llListareAlteDocumente = Iif(Type('toDate.nListareAlteDocumente') = 'L', toDate.nListareAlteDocumente = 1, .F.) +Endif + +Select crsFacturi +lnRecno = Recno() +Locate For ales = 1 +If !Found() + Goto m.lnRecno + lcWhere = m.lcWhere + 'recno() = ' + Alltrim(Str(m.lnRecno)) +Else + lcWhere = m.lcWhere + 'ales = 1' +Endif + +lcRaportEmail = Addbs(gcTempPath) + "email_" + Ttoc(Datetime(), 1) + '.xls' + +Select F.id_vanzare, F.data_act, F.numar_act, F.serie_act, F.total_fara_tva, F.total_tva, F.total_cu_tva, F.client, ; + email_facturare, Cast(Null As L) As email_succes, Cast(Null As c(250)) As email_mesaj ; + From crsFacturi F ; + Where &lcWhere ; + Into Cursor cEmail Readwrite + +lcSubjectTemplate = loMail.cSubject +lcBodyTemplate = loMail.cHtmlBody +Sele cEmail +Scan + lcFiles = "" + ldDataFactura = data_act + lcSerieFactura = Alltrim(serie_act) + lnNumarFactura = numar_act + lcNume = Upper(Alltrim(client)) + lcClient = m.lcNume + lnIdVanzare = id_vanzare + loDate = Null + + lcSubject = m.lcSubjectTemplate + lcSubject = Strtran(m.lcSubject, '', Alltrim(Str(m.lnNumarFactura)), 1, 1, 1) + lcSubject = Strtran(m.lcSubject, '', Alltrim(Dtoc(m.ldDataFactura)), 1, 1, 1) + lcSubject = Strtran(m.lcSubject, '', m.lcClient, 1, 1, 1) + loMail.cSubject = m.lcSubject + + lcBody = m.lcBodyTemplate + lcBody = Strtran(m.lcBody, '', Alltrim(Str(m.lnNumarFactura)), 1, 10, 1) + lcBody = Strtran(m.lcBody, '', Alltrim(Dtoc(m.ldDataFactura)), 1, 10, 1) + lcBody = Strtran(m.lcBody, '', m.lcClient, 1, 10, 1) + loMail.cHtmlBody = m.lcBody + + * Generare PDF factura + lcFacturaFile = GetPDFFacturaFile(m.ldDataFactura, m.lnNumarFactura) + If m.llListareFactura + If !File(m.lcFacturaFile) And m.llGenerareFactura + llSilent = .F. + llJustPDF = .T. + lcTipDocument = 'FACTURA' + loDate = toFacturiForm.do_listare_document(m.lnIdVanzare, m.llSilent, m.llJustPDF, m.lcTipDocument) && .ListareDocument(m.llSilent, m.llJustPDF, "cEmail") + Endif + loMail.EmailSetAttachment(m.lcFacturaFile) + lcFiles = m.lcFiles + Iif(File(m.lcFacturaFile), m.lcFacturaFile, "") + Endif && llListareFactura + + * Generare PDF recapitulatie + lcRecapitulatiaFile = GetPDFRecapitulatiaFile(ldDataFactura, m.lnNumarFactura) + If m.llListareRecapitulatia + If !File(m.lcRecapitulatiaFile) And m.llGenerareRecapitulatia + llSilent = .F. + llJustPDF = .T. + lcTipDocument = 'RECAPITULATIE' + loDate = toFacturiForm.do_listare_document(m.lnIdVanzare, m.llSilent, m.llJustPDF, m.lcTipDocument) && .ListareDocument(m.llSilent, m.llJustPDF, "cEmail") + Endif + loMail.EmailSetAttachment(m.lcRecapitulatiaFile) + lcFiles = m.lcFiles + Iif(File(m.lcRecapitulatiaFile), "," + m.lcRecapitulatiaFile, "") + Endif && llListareRecapitulatia + + * Atasez alte documente cu aceeasi structura ca factura.pdf + If m.llListareAlteDocumente + lcScheletonFile = Strtran(lcFacturaFile, 'factura', '*', 1, 10, 1) && d:\roa\pdf\20200402_12346_*.pdf (_recapitulatia.pdf, _situatie_stationare.pdf, _declaratie_comandant.pdf) + lcDir = Addbs(Justpath(m.lcFacturaFile)) + lnFiles = Adir(laFiles, m.lcScheletonFile) + For lnFile = 1 To m.lnFiles + lcFileName = laFiles[m.lnFile, 1] + * Nu mai atasez factura.pdf si recapitulatie.pdf + If Inlist(Lower(m.lcFileName), Lower(JUSTFNAME(m.lcFacturaFile)), Lower(JUSTFNAME(m.lcRecapitulatiaFile))) + Loop + Endif + lcFile = m.lcDir + m.lcFileName + loMail.EmailSetAttachment(m.lcFile) + lcFiles = m.lcFiles + Iif(File(m.lcFile), m.lcFile, "") + Endfor + Endif && llListareAlteDocumente + + * Email + Wait Window 'Email ' + Alltrim(Transform(Recno('cEmail'))) + '/' + Alltrim(Transform(Reccount('cEmail'))) + ' Client: ' + m.lcClient + ' Factura: ' + Alltrim(Str(m.lnNumarFactura)) Nowait + lcEmail = Alltrim(Nvl(cEmail.email_facturare, '')) && am adaugat direct in crsFacturi.email_facturare, ca sa nu mai folosesc loDate.oClient.email_facturare, daca fisierele pdf sunt deja listate + lcTo = Iif(!Empty(Nvl(m.lcEmail, '')), m.lcEmail, '') + loMail.cTo = m.lcTo + + llSucces = .T. + lcErrorMessage = '' + If loMail.Send() > 0 + llClearErrors = .T. + lcErrorMessage = loMail.GetErrorMessage(m.llClearErrors) + llSucces = .F. + Endif + Replace email_succes With m.llSucces, email_mesaj With Left(m.lcErrorMessage, 250) In cEmail + + If Inkey(0.5) = 27 && 'ESC' + If AMESSAGEBOX('Doriti sa intrerupeti operatia?', 4 + 32, _Screen.Caption) = 6 + Exit + Endif + Endif +Endscan + +Select cEmail +Copy To (m.lcRaportEmail) Type Xl5 +OPEN_DEFAULT_APP(m.lcRaportEmail) + +Use In (Select('cEmail')) + +Select crsFacturi +Go lnRecno diff --git a/Plugin/listare_facturi_omv_petrom_pdf_si_xml.prg b/Plugin/listare_facturi_omv_petrom_pdf_si_xml.prg new file mode 100644 index 0000000..3efcb2c --- /dev/null +++ b/Plugin/listare_facturi_omv_petrom_pdf_si_xml.prg @@ -0,0 +1,175 @@ +Lparameters toFacturiForm, toDate +Local lcBody, lcBodyTemplate, lcClickSignPDF, lcClient, lcContract, lcDivizia, lcEmail +Local lcErrorMessage, lcFacturaFile, lcFileSemnat, lcFiles, lcNume, lcRaportEmail, lcRun, lcSelect +Local lcSerieFactura, lcSql, lcSubject, lcSubjectTemplate, lcTipDocument, lcTo, lcValuta, lcWhere +Local lcXML, lcXMLFile, ldDataFactura, llClearErrors, llForceExit, llGenerareFactura, llInValuta +Local llJustPDF, llListareFactura, llSilent, llSucces, lnCurs, lnIdFact, lnIdVanzare, lnNumarFactura +Local lnOptDivizia, lnRecno, lnValoare, loDate, loMail + +lcSelect = Select() + +lcClickSignPDF = [C:\Program Files (x86)\clickSignPdf\clickSignPdfProfessional.exe] +If !File(m.lcClickSignPDF) + lcClickSignPDF = [C:\Program Files\clickSignPdf\clickSignPdfProfessional.exe] +Endif +If !File(m.lcClickSignPDF) + If AMESSAGEBOX('Nu este instalat clickSIGNpdf.exe! Continuati?',4+32,_Screen.Caption) <> 6 + Return + Endif +Endif + +loMail = getoEmail() && email.prg + +lcWhere = "" +llListareFactura = .T. +llGenerareFactura = .T. +If Type('toDate') = 'O' + llListareFactura = Iif(Type('toDate.nListareFactura') = 'N', Inlist(toDate.nListareFactura, 1, 2), .T.) + llGenerareFactura = Iif(Type('toDate.nListareFactura') = 'N', toDate.nListareFactura = 2, .T.) +Endif + +Select crsFacturi +lnRecno = Recno() +Locate For ales = 1 +If !Found() + Goto m.lnRecno + lcWhere = m.lcWhere + 'recno() = ' + Alltrim(Str(m.lnRecno)) +Else + lcWhere = m.lcWhere + 'ales = 1' +Endif + +lcRaportEmail = Addbs(gcTempPath) + "email_" + Ttoc(Datetime(), 1) + '.xls' + +Select F.id_vanzare, F.data_act, F.numar_act, F.serie_act, F.total_fara_tva, F.total_tva, F.total_cu_tva, F.client, F.valuta, F.contract, F.Curs, F.in_valuta,; + f.valval, F.tvaval, F.totval, F.email_facturare, Cast(Null As L) As email_succes, Cast(Null As c(250)) As email_mesaj ; + From crsFacturi F ; + Where &lcWhere ; + Into Cursor cEmail Readwrite + +lcSubjectTemplate = loMail.cSubject +lcBodyTemplate = loMail.cHtmlBody + +If Reccount('cEmail') > 0 + + lcFiles = "" + Sele cEmail + Scan + ldDataFactura = data_act + lcSerieFactura = Alltrim(serie_act) + lnNumarFactura = numar_act + lcNume = Upper(Alltrim(client)) + lcClient = m.lcNume + lnIdVanzare = id_vanzare + loDate = Null + lcValuta = Upper(Alltrim(valuta)) + lcContract = Alltrim(Nvl(contract, '')) + lnCurs = Curs + llInValuta = (Nvl(in_valuta,0) = 1) + + lcValuta = Upper(Alltrim(Nvl(valuta,''))) + Do Case + Case !m.llInValuta + lcValuta = 'RON' + Case Left(m.lcValuta,3) = 'EUR' && EURO + lcValuta = 'EUR' + Endcase + lnValoare = Iif(m.llInValuta, totval, total_cu_tva) + + lcSubject = m.lcSubjectTemplate + lcSubject = Strtran(m.lcSubject, '', Alltrim(Str(m.lnNumarFactura)), 1, 1, 1) + lcSubject = Strtran(m.lcSubject, '', Alltrim(Dtoc(m.ldDataFactura)), 1, 1, 1) + lcSubject = Strtran(m.lcSubject, '', m.lcClient, 1, 1, 1) + loMail.cSubject = m.lcSubject + + lcBody = m.lcBodyTemplate + lcBody = Strtran(m.lcBody, '', Alltrim(Str(m.lnNumarFactura)), 1, 10, 1) + lcBody = Strtran(m.lcBody, '', Alltrim(Dtoc(m.ldDataFactura)), 1, 10, 1) + lcBody = Strtran(m.lcBody, '', m.lcClient, 1, 10, 1) + loMail.cHtmlBody = m.lcBody + +* Generare PDF factura + lcFacturaFile = GetPDFFacturaFile(m.ldDataFactura, m.lnNumarFactura) + lcFacturaValutaFile = GetPDFFacturaValutaFile(m.ldDataFactura, m.lnNumarFactura) + If m.llListareFactura + If !File(m.lcFacturaFile) And m.llGenerareFactura + llSilent = .F. + llJustPDF = .T. + lcTipDocument = 'FACTURA' + loDate = toFacturiForm.do_listare_document(m.lnIdVanzare, m.llSilent, m.llJustPDF, m.lcTipDocument) && .ListareDocument(m.llSilent, m.llJustPDF, "cEmail") + Endif + Endif && llListareFactura + + If File(m.lcFacturaValutaFile) And File(m.lcFacturaFile) + lnRaspuns = AMESSAGEBOX('Doriti semnarea facturii in valuta (DA) sau a facturii in lei (NU)?',4+32,_Screen.Caption) + If m.lnRaspuns = 6 + lcFacturaFile = m.lcFacturaValutaFile + Endif + Endif +* Semnare PDF +* Lansare utilitar certsign.ro + OPEN_DEFAULT_APP(Justpath(m.lcFacturaFile)) && deschid directorul facturii + If File(m.lcClickSignPDF) + lcRun = [! /N "] + m.lcClickSignPDF + [" -i "] + m.lcFacturaFile + ["] + &lcRun + Endif + + lcFileSemnat = Strtran(m.lcFacturaFile, Juststem(m.lcFacturaFile), Juststem(m.lcFacturaFile) + '_signed') + + AMESSAGEBOX('Se verifica fisierul ' + lcFileSemnat + Chr(13) + Chr(10) + 'Apasati OK cand s-a semnat pdf-ul.',0, _Screen.Caption) +*WAIT WINDOW 'Se asteapta semnarea fisierului ' + m.lcFacturaFile NOWAIT + + llForceExit = .F. + Do While .T. + If File(m.lcFileSemnat) + Exit + Endif + Wait Window 'Se verifica ' + m.lcFileSemnat Nowait + If Inkey(1) = 27 && 'ESC' + If AMESSAGEBOX('Doriti sa intrerupeti operatia?',4+32, _Screen.Caption) = 6 + llForceExit = .T. + Exit + Endif + Endif + Enddo + + If m.llForceExit + Exit + Endif + + If File(m.lcFileSemnat) + loMail.EmailSetAttachment(m.lcFileSemnat) + Endif + +* Email + Wait Window 'Email ' + Alltrim(Transform(Recno('cEmail'))) + '/' + Alltrim(Transform(Reccount('cEmail'))) + ' Client: ' + m.lcClient + ' Factura: ' + Alltrim(Str(m.lnNumarFactura)) Nowait + lcEmail = Alltrim(Nvl(cEmail.email_facturare, '')) && am adaugat direct in crsFacturi.email_facturare, ca sa nu mai folosesc loDate.oClient.email_facturare, daca fisierele pdf sunt deja listate + lcTo = Iif(!Empty(Nvl(m.lcEmail, '')), m.lcEmail, '') + loMail.cTo = m.lcTo + + llSucces = .T. + lcErrorMessage = '' + If loMail.Send() > 0 + llClearErrors = .T. + lcErrorMessage = loMail.GetErrorMessage(m.llClearErrors) + llSucces = .F. + Endif + Replace email_succes With m.llSucces, email_mesaj With Left(m.lcErrorMessage, 250) In cEmail + + If Inkey(0.5) = 27 && 'ESC' + If AMESSAGEBOX('Doriti sa intrerupeti operatia?', 4 + 32, _Screen.Caption) = 6 + Exit + Endif + Endif + Endscan + + Select cEmail + Copy To (m.lcRaportEmail) Type Xl5 + OPEN_DEFAULT_APP(m.lcRaportEmail) +ENDIF && Reccount('cEmail') + +Use In (Select('cEmail')) + +Select (m.lcSelect) + + + diff --git a/PluginTemplate/listare_facturi_email_cu_atasament_factura_si_recapitulatie.prg b/PluginTemplate/listare_facturi_email_cu_atasament_factura_si_recapitulatie.prg new file mode 100644 index 0000000..e9707a1 --- /dev/null +++ b/PluginTemplate/listare_facturi_email_cu_atasament_factura_si_recapitulatie.prg @@ -0,0 +1,150 @@ +* PLUGIN email factura, recapitulatie si alte documente pdf cu aceeasi structura ca factura.pdf +* MARIUS MUTU +* V 23.02.2016 +* INSTALARE: Se copie fisierul prg in directorul ROA\[APLICATIE]\PLUGIN\ +* FOLOSIRE: In formularul Vizualizare facturi se apasa butonul listare +* copiat din oproceduri_facturare.prg:email_facturi + +Lparameters toFacturiForm, toDate +*** Trimit email la facturile alese, sau la factura de pe inregistrarea curenta + +Local laFiles[1], lcBody, lcClient, lcDir, lcEmail, lcErrorMessage, lcFacturaFile, lcFile +Local lcFileName, lcFiles, lcNume, lcRaportEmail, lcRecapitulatiaFile, lcScheletonFile +Local lcSerieFactura, lcSubject, lcTipDocument, lcTo, lcWhere, ldDataFactura, llClearErrors +Local llJustPDF, llListareFactura, llListareRecapitulatia, llListareAlteDocumente, llSilent, llSucces, lnFile, lnFiles +Local lnIdVanzare, lnNumarFactura, lnRecno, loDate, loMail + +loMail = getoEmail() && email.prg + +lcWhere = "" +llListareFactura = .T. +llGenerareFactura = .T. +llListareRecapitulatia = .T. +llGenerareRecapitulatia = .T. +llListareAlteDocumente = .T. +If Type('toDate') = 'O' + llListareFactura = Iif(Type('toDate.nListareFactura') = 'N', Inlist(toDate.nListareFactura, 1, 2), .T.) + llGenerareFactura = Iif(Type('toDate.nListareFactura') = 'N', toDate.nListareFactura = 2, .F.) + + llListareRecapitulatia = Iif(Type('toDate.nListareRecapitulatia') = 'N', Inlist(toDate.nListareRecapitulatia, 1, 2), .F.) + llGenerareRecapitulatia = Iif(Type('toDate.nListareRecapitulatia') = 'N', toDate.nListareRecapitulatia = 2, .F.) + + llListareAlteDocumente = Iif(Type('toDate.nListareAlteDocumente') = 'L', toDate.nListareAlteDocumente = 1, .F.) +Endif + +Select crsFacturi +lnRecno = Recno() +Locate For ales = 1 +If !Found() + Goto m.lnRecno + lcWhere = m.lcWhere + 'recno() = ' + Alltrim(Str(m.lnRecno)) +Else + lcWhere = m.lcWhere + 'ales = 1' +Endif + +lcRaportEmail = Addbs(gcTempPath) + "email_" + Ttoc(Datetime(), 1) + '.xls' + +Select F.id_vanzare, F.data_act, F.numar_act, F.serie_act, F.total_fara_tva, F.total_tva, F.total_cu_tva, F.client, ; + email_facturare, Cast(Null As L) As email_succes, Cast(Null As c(250)) As email_mesaj ; + From crsFacturi F ; + Where &lcWhere ; + Into Cursor cEmail Readwrite + +lcSubjectTemplate = loMail.cSubject +lcBodyTemplate = loMail.cHtmlBody +Sele cEmail +Scan + lcFiles = "" + ldDataFactura = data_act + lcSerieFactura = Alltrim(serie_act) + lnNumarFactura = numar_act + lcNume = Upper(Alltrim(client)) + lcClient = m.lcNume + lnIdVanzare = id_vanzare + loDate = Null + + lcSubject = m.lcSubjectTemplate + lcSubject = Strtran(m.lcSubject, '', Alltrim(Str(m.lnNumarFactura)), 1, 1, 1) + lcSubject = Strtran(m.lcSubject, '', Alltrim(Dtoc(m.ldDataFactura)), 1, 1, 1) + lcSubject = Strtran(m.lcSubject, '', m.lcClient, 1, 1, 1) + loMail.cSubject = m.lcSubject + + lcBody = m.lcBodyTemplate + lcBody = Strtran(m.lcBody, '', Alltrim(Str(m.lnNumarFactura)), 1, 10, 1) + lcBody = Strtran(m.lcBody, '', Alltrim(Dtoc(m.ldDataFactura)), 1, 10, 1) + lcBody = Strtran(m.lcBody, '', m.lcClient, 1, 10, 1) + loMail.cHtmlBody = m.lcBody + + * Generare PDF factura + lcFacturaFile = GetPDFFacturaFile(m.ldDataFactura, m.lnNumarFactura) + If m.llListareFactura + If !File(m.lcFacturaFile) And m.llGenerareFactura + llSilent = .F. + llJustPDF = .T. + lcTipDocument = 'FACTURA' + loDate = toFacturiForm.do_listare_document(m.lnIdVanzare, m.llSilent, m.llJustPDF, m.lcTipDocument) && .ListareDocument(m.llSilent, m.llJustPDF, "cEmail") + Endif + loMail.EmailSetAttachment(m.lcFacturaFile) + lcFiles = m.lcFiles + Iif(File(m.lcFacturaFile), m.lcFacturaFile, "") + Endif && llListareFactura + + * Generare PDF recapitulatie + lcRecapitulatiaFile = GetPDFRecapitulatiaFile(ldDataFactura, m.lnNumarFactura) + If m.llListareRecapitulatia + If !File(m.lcRecapitulatiaFile) And m.llGenerareRecapitulatia + llSilent = .F. + llJustPDF = .T. + lcTipDocument = 'RECAPITULATIE' + loDate = toFacturiForm.do_listare_document(m.lnIdVanzare, m.llSilent, m.llJustPDF, m.lcTipDocument) && .ListareDocument(m.llSilent, m.llJustPDF, "cEmail") + Endif + loMail.EmailSetAttachment(m.lcRecapitulatiaFile) + lcFiles = m.lcFiles + Iif(File(m.lcRecapitulatiaFile), "," + m.lcRecapitulatiaFile, "") + Endif && llListareRecapitulatia + + * Atasez alte documente cu aceeasi structura ca factura.pdf + If m.llListareAlteDocumente + lcScheletonFile = Strtran(lcFacturaFile, 'factura', '*', 1, 10, 1) && d:\roa\pdf\20200402_12346_*.pdf (_recapitulatia.pdf, _situatie_stationare.pdf, _declaratie_comandant.pdf) + lcDir = Addbs(Justpath(m.lcFacturaFile)) + lnFiles = Adir(laFiles, m.lcScheletonFile) + For lnFile = 1 To m.lnFiles + lcFileName = laFiles[m.lnFile, 1] + * Nu mai atasez factura.pdf si recapitulatie.pdf + If Inlist(Lower(m.lcFileName), Lower(JUSTFNAME(m.lcFacturaFile)), Lower(JUSTFNAME(m.lcRecapitulatiaFile))) + Loop + Endif + lcFile = m.lcDir + m.lcFileName + loMail.EmailSetAttachment(m.lcFile) + lcFiles = m.lcFiles + Iif(File(m.lcFile), m.lcFile, "") + Endfor + Endif && llListareAlteDocumente + + * Email + Wait Window 'Email ' + Alltrim(Transform(Recno('cEmail'))) + '/' + Alltrim(Transform(Reccount('cEmail'))) + ' Client: ' + m.lcClient + ' Factura: ' + Alltrim(Str(m.lnNumarFactura)) Nowait + lcEmail = Alltrim(Nvl(cEmail.email_facturare, '')) && am adaugat direct in crsFacturi.email_facturare, ca sa nu mai folosesc loDate.oClient.email_facturare, daca fisierele pdf sunt deja listate + lcTo = Iif(!Empty(Nvl(m.lcEmail, '')), m.lcEmail, '') + loMail.cTo = m.lcTo + + llSucces = .T. + lcErrorMessage = '' + If loMail.Send() > 0 + llClearErrors = .T. + lcErrorMessage = loMail.GetErrorMessage(m.llClearErrors) + llSucces = .F. + Endif + Replace email_succes With m.llSucces, email_mesaj With Left(m.lcErrorMessage, 250) In cEmail + + If Inkey(0.5) = 27 && 'ESC' + If AMESSAGEBOX('Doriti sa intrerupeti operatia?', 4 + 32, _Screen.Caption) = 6 + Exit + Endif + Endif +Endscan + +Select cEmail +Copy To (m.lcRaportEmail) Type Xl5 +OPEN_DEFAULT_APP(m.lcRaportEmail) + +Use In (Select('cEmail')) + +Select crsFacturi +Go lnRecno diff --git a/PluginTemplate/listare_facturi_omv_petrom_pdf_si_xml.prg b/PluginTemplate/listare_facturi_omv_petrom_pdf_si_xml.prg new file mode 100644 index 0000000..3efcb2c --- /dev/null +++ b/PluginTemplate/listare_facturi_omv_petrom_pdf_si_xml.prg @@ -0,0 +1,175 @@ +Lparameters toFacturiForm, toDate +Local lcBody, lcBodyTemplate, lcClickSignPDF, lcClient, lcContract, lcDivizia, lcEmail +Local lcErrorMessage, lcFacturaFile, lcFileSemnat, lcFiles, lcNume, lcRaportEmail, lcRun, lcSelect +Local lcSerieFactura, lcSql, lcSubject, lcSubjectTemplate, lcTipDocument, lcTo, lcValuta, lcWhere +Local lcXML, lcXMLFile, ldDataFactura, llClearErrors, llForceExit, llGenerareFactura, llInValuta +Local llJustPDF, llListareFactura, llSilent, llSucces, lnCurs, lnIdFact, lnIdVanzare, lnNumarFactura +Local lnOptDivizia, lnRecno, lnValoare, loDate, loMail + +lcSelect = Select() + +lcClickSignPDF = [C:\Program Files (x86)\clickSignPdf\clickSignPdfProfessional.exe] +If !File(m.lcClickSignPDF) + lcClickSignPDF = [C:\Program Files\clickSignPdf\clickSignPdfProfessional.exe] +Endif +If !File(m.lcClickSignPDF) + If AMESSAGEBOX('Nu este instalat clickSIGNpdf.exe! Continuati?',4+32,_Screen.Caption) <> 6 + Return + Endif +Endif + +loMail = getoEmail() && email.prg + +lcWhere = "" +llListareFactura = .T. +llGenerareFactura = .T. +If Type('toDate') = 'O' + llListareFactura = Iif(Type('toDate.nListareFactura') = 'N', Inlist(toDate.nListareFactura, 1, 2), .T.) + llGenerareFactura = Iif(Type('toDate.nListareFactura') = 'N', toDate.nListareFactura = 2, .T.) +Endif + +Select crsFacturi +lnRecno = Recno() +Locate For ales = 1 +If !Found() + Goto m.lnRecno + lcWhere = m.lcWhere + 'recno() = ' + Alltrim(Str(m.lnRecno)) +Else + lcWhere = m.lcWhere + 'ales = 1' +Endif + +lcRaportEmail = Addbs(gcTempPath) + "email_" + Ttoc(Datetime(), 1) + '.xls' + +Select F.id_vanzare, F.data_act, F.numar_act, F.serie_act, F.total_fara_tva, F.total_tva, F.total_cu_tva, F.client, F.valuta, F.contract, F.Curs, F.in_valuta,; + f.valval, F.tvaval, F.totval, F.email_facturare, Cast(Null As L) As email_succes, Cast(Null As c(250)) As email_mesaj ; + From crsFacturi F ; + Where &lcWhere ; + Into Cursor cEmail Readwrite + +lcSubjectTemplate = loMail.cSubject +lcBodyTemplate = loMail.cHtmlBody + +If Reccount('cEmail') > 0 + + lcFiles = "" + Sele cEmail + Scan + ldDataFactura = data_act + lcSerieFactura = Alltrim(serie_act) + lnNumarFactura = numar_act + lcNume = Upper(Alltrim(client)) + lcClient = m.lcNume + lnIdVanzare = id_vanzare + loDate = Null + lcValuta = Upper(Alltrim(valuta)) + lcContract = Alltrim(Nvl(contract, '')) + lnCurs = Curs + llInValuta = (Nvl(in_valuta,0) = 1) + + lcValuta = Upper(Alltrim(Nvl(valuta,''))) + Do Case + Case !m.llInValuta + lcValuta = 'RON' + Case Left(m.lcValuta,3) = 'EUR' && EURO + lcValuta = 'EUR' + Endcase + lnValoare = Iif(m.llInValuta, totval, total_cu_tva) + + lcSubject = m.lcSubjectTemplate + lcSubject = Strtran(m.lcSubject, '', Alltrim(Str(m.lnNumarFactura)), 1, 1, 1) + lcSubject = Strtran(m.lcSubject, '', Alltrim(Dtoc(m.ldDataFactura)), 1, 1, 1) + lcSubject = Strtran(m.lcSubject, '', m.lcClient, 1, 1, 1) + loMail.cSubject = m.lcSubject + + lcBody = m.lcBodyTemplate + lcBody = Strtran(m.lcBody, '', Alltrim(Str(m.lnNumarFactura)), 1, 10, 1) + lcBody = Strtran(m.lcBody, '', Alltrim(Dtoc(m.ldDataFactura)), 1, 10, 1) + lcBody = Strtran(m.lcBody, '', m.lcClient, 1, 10, 1) + loMail.cHtmlBody = m.lcBody + +* Generare PDF factura + lcFacturaFile = GetPDFFacturaFile(m.ldDataFactura, m.lnNumarFactura) + lcFacturaValutaFile = GetPDFFacturaValutaFile(m.ldDataFactura, m.lnNumarFactura) + If m.llListareFactura + If !File(m.lcFacturaFile) And m.llGenerareFactura + llSilent = .F. + llJustPDF = .T. + lcTipDocument = 'FACTURA' + loDate = toFacturiForm.do_listare_document(m.lnIdVanzare, m.llSilent, m.llJustPDF, m.lcTipDocument) && .ListareDocument(m.llSilent, m.llJustPDF, "cEmail") + Endif + Endif && llListareFactura + + If File(m.lcFacturaValutaFile) And File(m.lcFacturaFile) + lnRaspuns = AMESSAGEBOX('Doriti semnarea facturii in valuta (DA) sau a facturii in lei (NU)?',4+32,_Screen.Caption) + If m.lnRaspuns = 6 + lcFacturaFile = m.lcFacturaValutaFile + Endif + Endif +* Semnare PDF +* Lansare utilitar certsign.ro + OPEN_DEFAULT_APP(Justpath(m.lcFacturaFile)) && deschid directorul facturii + If File(m.lcClickSignPDF) + lcRun = [! /N "] + m.lcClickSignPDF + [" -i "] + m.lcFacturaFile + ["] + &lcRun + Endif + + lcFileSemnat = Strtran(m.lcFacturaFile, Juststem(m.lcFacturaFile), Juststem(m.lcFacturaFile) + '_signed') + + AMESSAGEBOX('Se verifica fisierul ' + lcFileSemnat + Chr(13) + Chr(10) + 'Apasati OK cand s-a semnat pdf-ul.',0, _Screen.Caption) +*WAIT WINDOW 'Se asteapta semnarea fisierului ' + m.lcFacturaFile NOWAIT + + llForceExit = .F. + Do While .T. + If File(m.lcFileSemnat) + Exit + Endif + Wait Window 'Se verifica ' + m.lcFileSemnat Nowait + If Inkey(1) = 27 && 'ESC' + If AMESSAGEBOX('Doriti sa intrerupeti operatia?',4+32, _Screen.Caption) = 6 + llForceExit = .T. + Exit + Endif + Endif + Enddo + + If m.llForceExit + Exit + Endif + + If File(m.lcFileSemnat) + loMail.EmailSetAttachment(m.lcFileSemnat) + Endif + +* Email + Wait Window 'Email ' + Alltrim(Transform(Recno('cEmail'))) + '/' + Alltrim(Transform(Reccount('cEmail'))) + ' Client: ' + m.lcClient + ' Factura: ' + Alltrim(Str(m.lnNumarFactura)) Nowait + lcEmail = Alltrim(Nvl(cEmail.email_facturare, '')) && am adaugat direct in crsFacturi.email_facturare, ca sa nu mai folosesc loDate.oClient.email_facturare, daca fisierele pdf sunt deja listate + lcTo = Iif(!Empty(Nvl(m.lcEmail, '')), m.lcEmail, '') + loMail.cTo = m.lcTo + + llSucces = .T. + lcErrorMessage = '' + If loMail.Send() > 0 + llClearErrors = .T. + lcErrorMessage = loMail.GetErrorMessage(m.llClearErrors) + llSucces = .F. + Endif + Replace email_succes With m.llSucces, email_mesaj With Left(m.lcErrorMessage, 250) In cEmail + + If Inkey(0.5) = 27 && 'ESC' + If AMESSAGEBOX('Doriti sa intrerupeti operatia?', 4 + 32, _Screen.Caption) = 6 + Exit + Endif + Endif + Endscan + + Select cEmail + Copy To (m.lcRaportEmail) Type Xl5 + OPEN_DEFAULT_APP(m.lcRaportEmail) +ENDIF && Reccount('cEmail') + +Use In (Select('cEmail')) + +Select (m.lcSelect) + + + diff --git a/Rapoarte/Arhiva/Formulare tipizate/aviz_a5_ft.fr2 b/Rapoarte/Arhiva/Formulare tipizate/aviz_a5_ft.fr2 new file mode 100644 index 0000000..ab97cb4 --- /dev/null +++ b/Rapoarte/Arhiva/Formulare tipizate/aviz_a5_ft.fr2 @@ -0,0 +1,626 @@ +*-------------------------------------------------------------------------------------------------------------------------------------------------------- +* (EN) AUTOGENERATED - ATTENTION!! - NOT INTENDED FOR EXECUTION!! USE ONLY FOR MERGING CHANGES AND STORING WITH SCM TOOLS!! +*-------------------------------------------------------------------------------------------------------------------------------------------------------- +*< FOXBIN2PRG: Version="1.21" SourceFile="aviz_a5_ft.frx" CPID="1252" /> (Solo para binarios VFP 9 / Only for VFP 9 binaries) +* + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ + + +
+ + + +
+
+ + + + + + + ENDTEXT + SET TEXTMERGE OFF + SET TEXTMERGE TO + + RETURN m.lcResult + ENDPROC + + PROCEDURE Init + IF DODEFAULT() + THIS.AppName = OUTPUTHTML_APPNAME_LOC + ELSE + RETURN .F. + ENDIF + + RETURN NOT THIS.HadError + ENDPROC + +ENDDEFINE + +DEFINE CLASS updatelistener AS _reportlistener OF "_reportlistener.vcx" && Provides user feedback while report output is generated. + *< CLASSDATA: Baseclass="reportlistener" Timestamp="" Scale="Pixels" Uniqueid="" /> + + #INCLUDE "reportlisteners.h" + * + *m: createtherm && Creates and configures the "update" feedback window. + *m: getparentwindowref && Provides a window reference for the top form in which the user feedback window should appear. + *m: getreportscopedriver && Adjusts the alias driving CommandClauses.RecordTotal at the beginning of a report when the DrivingAlias is engaged in one-to-many relationships. + *m: includeseconds_assign + *m: initstatustext_assign + *m: prepassstatustext_assign + *m: resetuserfeedback && Sets user feedback to an initialized state. + *m: runstatustext_assign + *m: secondstext_assign + *m: setthermformcaption && Sets the user feedback window title using the ThermFormCaption property. + *m: synchstatus && Compares driving recno with currrently-saved information to evaluate need to update user feedback. + *m: thermcaption_assign + *m: thermformcaption_assign + *m: thermformheight_assign + *m: thermformwidth_assign + *m: thermmargin_assign + *p: currentrecord && Holds the current record relative to the recordtotal in scope for the current report run. + *p: designateddriver && Original selected alias for the report. + *p: drivingaliascurrentrecno && Holds the RECNO() value in the cursor driving the report run, to assist in determining when to trigger a change in the user feedback. + *p: escapereference && Holds the name of a public variable used to facilitate interrupting a report run. + *p: frxbandrecno && Holds the RECNO() of the band-describing record in the FRX table this class has determined is optimal for triggering a change in user feedback during a report run. + *p: includeseconds && Indicates whether the default user feedback message should include timing data. + *p: initstatustext && Provides the user message shown when user feedback first appears. + *p: onescapecommand && Saves the user's previous ON ESCAPE command, if any, for restoration after the report run. + *p: percentdone && Calculation of the ratio between the number of records, or pages, already generated to the number of records, or pages, in the total report. + *p: prepassstatustext && User feedback message for use when the report is in a pre-generation pass to calculate _RECORDTOTAL. + *p: reportstartrundatetime && A datetime value indicating when the last report generation run began. + *p: reportstoprundatetime && A datetime value for use at the conclusion of a report run, empty during a report, storing when the last report generation run ended. + *p: runstatustext && Provides a user message shown during the course of a report run. + *p: secondstext && Provides the text message included to describe the time value in the default user feedback message during a report, when IncludeSeconds is .T. + *p: setescape && Saves the state of SET ESCAPE previous to the report run, for later restoration. + *p: setnotifycursor && Saves the state of SET NOTIFY CURSOR previous to the report run, for later restoration. + *p: successorsys2024 && Allows UpdateListener to "remember" if it has cancelled a report between the two report passes if it is in a two-pass process report, if it is a Successor. + *p: thermcaption && Holds an evaluated expression for use in the user feedback message shown during a report run. If this expression includes "cMessage", the contents of the argument provided to DoStatus will be included in the result of the evaluation. + *p: thermform && Holds an object reference to the user feedback form. + *p: thermformcaption && Holds the value used to set the title of the user feedback form. + *p: thermformheight && Holds the height of the user feedback form, in pixels. + *p: thermformwidth && Holds the width of the user feedback form, in pixels. + *p: thermmargin && Holds the value (in pixels) used to determine the difference between the size of the user feedback window and the thermometer bar it displays. + * + + PROTECTED currentrecord,designateddriver,drivingaliascurrentrecno,escapereference,frxbandrecno,onescapecommand,percentdone,setescape,setnotifycursor,successorsys2024,thermform + * + currentrecord = (0) + designateddriver = ("") + drivingaliascurrentrecno = (0) + escapereference = ("") + frxbandrecno = (0) + FRXDataSession = -1 + includeseconds = .T. + initstatustext = ("") + Name = "updatelistener" + onescapecommand = ("") + percentdone = (0) + prepassstatustext = ("") + reportstartrundatetime = (DTOT({})) + reportstoprundatetime = (DTOT({})) + runstatustext = ("") + secondstext = ("secs") + successorsys2024 = ("N") + thermcaption = ([cMessage+ " "+ TRANSFORM(INT(THIS.PercentDone*100)) + "%" + IIF(NOT THIS.IncludeSeconds, "" , " "+TRANSFORM(IIF(THIS.IsRunning,DATETIME(), THIS.ReportStopRunDateTime)-THIS.ReportStartRunDateTime)+" " + THIS.SecondsText)]) + thermform = .NULL. + thermformcaption = ("") + thermformheight = 40 + thermformwidth = 356 + thermmargin = 5 + _memberdata = + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + * + + PROCEDURE AfterBand + LPARAMETERS m.nBandObjCode, m.nFRXRecNo + DODEFAULT(m.nBandObjCode, m.nFRXRecNo) + THIS.synchStatus(m.nBandObjCode,m.nFRXRecNo) + THIS.resetDataSession() + + ENDPROC + + PROCEDURE AfterReport + IF SYS(2024) # "Y" + IF THIS.IsRunning OR TYPE("THIS.CommandClauses.RecordTotal") = "N" + THIS.CurrentRecord = THIS.CommandClauses.RecordTotal + ENDIF + THIS.UpdateStatus() + ENDIF + THIS.IsRunning = .F. + THIS.ClearStatus() + THIS.designatedDriver = "" + THIS.successorSys2024 = "N" + THIS.ThermForm = NULL + THIS.ReportStopRunDateTime = DATETIME() + THIS.PopGlobalSets() + DODEFAULT() + + + + ENDPROC + + PROCEDURE BeforeBand + LPARAMETERS m.nBandObjCode, m.nFRXRecNo + DODEFAULT(m.nBandObjCode, m.nFRXRecNo) + IF THIS.successorSys2024 = "Y" AND ; + THIS.CurrentPass = LISTENER_FULLPASS + * user cancelled during the prepass, + * we need to re-cancel. + THIS.setCurrentDataSession() + IF USED(THIS.designatedDriver) + GO BOTTOM IN (THIS.designatedDriver) + ENDIF + ENDIF + + THIS.synchStatus(m.nBandObjCode,m.nFRXRecNo) + THIS.resetDataSession() + ENDPROC + + PROCEDURE BeforeReport + DODEFAULT() + * THIS.ResetUserFeedback(.T.) + THIS.DrivingAliasCurrentRecno = 0 + THIS.IsRunning = .T. + THIS.resetDataSession() + + + + ENDPROC + + PROCEDURE CancelReport + IF THIS.IsRunning AND ; + (THIS.QuietMode OR ; + (THIS.pageLimit > 0 AND THIS.PageNo > THIS.pageLimit) OR ; + (NOT THIS.AllowModalMessages) OR ; + THIS.DoMessage(OUTPUTCLASS_REPORT_CANCELQUERY_LOC,; + MB_ICONQUESTION+MB_YESNO) = IDYES ) + + IF THIS.isSuccessor AND NOT EMPTY(THIS.designatedDriver) + * make an exception for this Listener + * to the rule that Successors don't + * handle cancelling the report, because + * this guy's job is to handle user intervention: + THIS.successorSys2024 = "Y" + THIS.setCurrentDataSession() + IF USED(THIS.designatedDriver) + GO BOTTOM IN (THIS.designatedDriver) + ENDIF + THIS.resetDataSession() + ENDIF + + DODEFAULT() + IF SYS(2024) = "Y" OR THIS.IsSuccessor + THIS.ThermForm = NULL + IF (THIS.pageLimit = -1 OR THIS.PageNo <= THIS.pageLimit) + THIS.DoMessage(OUTPUTCLASS_REPORT_INCOMPLETE_LOC, ; + MB_ICONEXCLAMATION) + ENDIF + ENDIF + ELSE + NODEFAULT + ENDIF + + ENDPROC + + PROCEDURE ClearStatus + NODEFAULT + IF NOT ISNULL(THIS.ThermForm) + IF THIS.ThermForm.Visible + THIS.ThermForm.Visible = .F. + ENDIF + ENDIF + + IF NOT ISNULL(THIS.Successor) + THIS.Successor.ClearStatus() + ENDIF + ENDPROC + + PROTECTED PROCEDURE createtherm && Creates and configures the "update" feedback window. + #define CTLCOLOR_MSGBOX 0 + #define CTLCOLOR_EDIT 1 + #define CTLCOLOR_LISTBOX 2 + #define CTLCOLOR_BTN 3 + #define CTLCOLOR_DLG 4 + #define CTLCOLOR_SCROLLBAR 5 + #define CTLCOLOR_STATIC 6 + #define CTLCOLOR_MAX 7 + #define COLOR_SCROLLBAR 0 + #define COLOR_BACKGROUND 1 + #define COLOR_ACTIVECAPTION 2 + #define COLOR_INACTIVECAPTION 3 + #define COLOR_MENU 4 + #define COLOR_WINDOW 5 + #define COLOR_WINDOWFRAME 6 + #define COLOR_MENUTEXT 7 + #define COLOR_WINDOWTEXT 8 + #define COLOR_CAPTIONTEXT 9 + #define COLOR_ACTIVEBORDER 10 + #define COLOR_INACTIVEBORDER 11 + #define COLOR_APPWORKSPACE 12 + #define COLOR_HIGHLIGHT 13 + #define COLOR_HIGHLIGHTTEXT 14 + #define COLOR_BTNFACE 15 + #define COLOR_BTNSHADOW 16 + #define COLOR_GRAYTEXT 17 + #define COLOR_BTNTEXT 18 + #define COLOR_INACTIVECAPTIONTEXT 19 + #define COLOR_BTNHIGHLIGHT 20 + #if("4" $ OS()) + #define COLOR_3DDKSHADOW 21 + #define COLOR_3DLIGHT 22 + #define COLOR_INFOTEXT 23 + #define COLOR_INFOBK 24 + #define COLOR_DESKTOP COLOR_BACKGROUND + #define COLOR_3DFACE COLOR_BTNFACE + #define COLOR_3DSHADOW COLOR_BTNSHADOW + #define COLOR_3DHIGHLIGHT COLOR_BTNHIGHLIGHT + #define COLOR_3DHILIGHT COLOR_BTNHIGHLIGHT + #define COLOR_BTNHILIGHT COLOR_BTNHIGHLIGHT + #endif + + IF ISNULL(THIS.ThermForm) + + DECLARE INTEGER GetSysColor IN Win32API INTEGER + + LOCAL m.liThermTop, m.liThermLeft, m.liThermWidth, m.liThermHeight, m.liSession + IF TYPE("THIS.CommandClauses.StartDataSession") = "N" + m.liSession = SET("DATASESSION") + TRY + SET DATASESSION TO (THIS.CommandClauses.StartDataSession) + CATCH WHEN .T. + THIS.resetDataSession() + ENDTRY + ENDIF + + THIS.ThermForm = CREATEOBJECT("FORM") + + + WITH THIS.ThermForm + + .ScaleMode = SCALEMODE_PIXELS + .Height = THIS.ThermFormHeight + .HalfHeightCaption = .T. + .Width = THIS.ThermFormWidth + .AutoCenter = .T. + .BorderStyle = BORDER_DOUBLE && fixed dialog + .ControlBox = .F. + .Closable = (NOT THIS.IsRunning) + .MaxButton = .F. + .MinButton = .F. + .Movable = (NOT THIS.IsRunning) + .AlwaysOnTop = .T. + .AllowOutput = .F. + .AddObject("ThermBack","shape") + .AddObject("ThermLabel","label") + .AddObject("ThermShape","shape") + m.liThermHeight = .Height - (THIS.ThermMargin* 2) + m.liThermWidth = .Width - (THIS.ThermMargin*2) + ENDWITH + + THIS.SetThermFormCaption() + + m.liThermTop = THIS.ThermMargin + m.liThermLeft = THIS.ThermMargin + + WITH THIS.ThermForm.ThermBack + .Top = m.liThermTop + .Left = m.liThermLeft + .Height = m.liThermHeight + .Width = m.liThermWidth + .Visible = .T. + .BorderStyle = BORDER_SINGLE + .BackStyle = 0 + ENDWITH + + WITH THIS.ThermForm.ThermLabel + .Top = (.Parent.Height - .Height) /2 + .Autosize = .T. + .BackStyle = FILLSTYLE_SOLID + .Caption = "" + .Visible = .T. + .ForeColor = GetSysColor( COLOR_MENUTEXT ) + ENDWITH + + WITH THIS.ThermForm.ThermShape + .Top = m.liThermTop +1 + .Left = m.liThermLeft+1 + .Height = m.liThermHeight -2 + .Width = 0 + .Visible = .T. + .BorderStyle = BORDER_NONE + .BackStyle = FILLSTYLE_SOLID + .FillStyle = FILLSTYLE_SOLID + .BackColor = .Parent.BackColor + .FillColor = GetSysColor(COLOR_HIGHLIGHT) + .DrawMode = DRAWMODE_MERGE_PEN_NOT + ENDWITH + + IF NOT EMPTY(m.liSession) + SET DATASESSION TO (m.liSession) + ENDIF + + + ENDIF + + RETURN NOT ISNULL(THIS.ThermForm) + ENDPROC + + PROCEDURE Destroy + STORE NULL TO THIS.thermForm + + DODEFAULT() + ENDPROC + + PROCEDURE DoStatus + LPARAMETERS m.cMessage + LOCAL m.loParentForm, m.lcCaption, m.lcParentFormName + NODEFAULT + + IF (NOT (THIS.QuietMode or ; + (THIS.IsRunning AND THIS.CommandClauses.NoDialog))) + + IF EMPTY(m.cMessage) OR ISNULL(m.cMessage) + m.cMessage = "" + ENDIF + + m.lcCaption = EVALUATE(THIS.ThermCaption) + IF ((NOT ISNULL(THIS.ThermForm)) OR (THIS.CreateTherm()) ) + + WITH THIS.ThermForm + + IF THIS.IsRunning + .Closable = .F. + .Movable = .F. + ENDIF + + .ThermShape.Width = MAX( (((THIS.PercentDone* .ThermBack.Width))-2) ,0) + .ThermLabel.Caption = m.lcCaption + .ThermLabel.Left = (.Width - .ThermLabel.Width) /2 + + IF NOT .Visible + + m.loParentForm = THIS.GetParentWindowRef() + + DO CASE + CASE VARTYPE(m.loParentForm) # "O" AND (NOT _SCREEN.Visible) + m.lcParentFormName = "MACDESKTOP" + CASE VARTYPE(m.loParentForm) # "O" + m.lcParentFormName = "SCREEN" + CASE (NOT m.loParentForm.Visible) AND ; + (m.loParentForm.DeskTop OR NOT EMPTY(m.loParentForm.MacDesktop) OR ; + m.loParentForm.ShowWindow = 2 OR (NOT _SCREEN.Visible)) + * in many cases, + * they've probably made a programming error, + * the parent should be visible according to + * the requirements of REPORT FORM ... IN WINDOW + * if it's a WINDOW clause they + * have no need to show it, might not be an error + * Either way, they should see the therm + * to know that the report is progressing + m.lcParentFormName = "MACDESKTOP" + CASE (NOT m.loParentForm.Visible) + * same comment as above + m.lcParentFormName = "SCREEN" + OTHERWISE + m.lcParentFormName = m.loParentForm.Name + ENDCASE + + SHOW WINDOW (.Name) IN WINDOW (m.lcParentFormName) + .AlwaysOnTop = .T. + .AutoCenter = .T. + .Visible = .T. + + ENDIF + + ENDWITH + + ENDIF + + ENDIF + + + + ENDPROC + + PROCEDURE getfrxstartupinfo + DODEFAULT() + + LOCAL m.llFRXAvailable + + m.llFRXAvailable = THIS.getReportScopeDriver() + + IF m.llFRXAvailable + THIS.SetFRXDataSession() + THIS.FRXBandRecno = 0 + + SELECT FRX + + IF THIS.CommandClauses.Summary + * don't use groups unless + * we're forced to by Summary. + * Group usage will not work if + * there's a group on .T. or some + * other nonsensical expression that + * doesn't change. + + LOCATE FOR ObjType = FRX_OBJTYP_BAND AND ; + Objcode = FRX_OBJCOD_GROUPHEADER + DO WHILE NOT EOF() + * find the innermost group + THIS.FRXBandRecno = RECNO() + CONTINUE + ENDDO + + IF THIS.frxBandRecno = 0 + * no groups in a Summary report + * doesn't make a lot of sense, but + * can happen. + LOCATE FOR ObjType = FRX_OBJTYP_BAND AND ; + Objcode = FRX_OBJCOD_PAGEHEADER + IF NOT EOF() + THIS.FRXBandRecno = RECNO() + ENDIF + ENDIF + + ENDIF + + IF THIS.FRXBandRecno = 0 + * not a Summary report. + * look for the appropriate detail + * using the report driver + LOCATE FOR ObjType = FRX_OBJTYP_BAND AND ; + Objcode = FRX_OBJCOD_DETAIL AND ; + TYPE(Expr) = "C" AND ; + UPPER(EVALUATE(ALLTRIM(Expr))) == UPPER(THIS.DrivingAlias) + DO WHILE NOT EOF() + THIS.FRXBandRecno = RECNO() + CONTINUE && try not to use the first detail band + ENDDO + + ENDIF + + IF THIS.frxBandRecno = 0 + * couldn't match up a band with + * the known driver + LOCATE FOR ObjType = FRX_OBJTYP_BAND AND ; + Objcode = FRX_OBJCOD_DETAIL AND ; + EMPTY(Expr) + IF NOT EOF() + THIS.FRXBandRecno = RECNO() + ELSE + IF THIS.FRXBandRecno = 0 + LOCATE FOR ObjType = FRX_OBJTYP_BAND AND ; + Objcode = FRX_OBJCOD_DETAIL + IF NOT EOF() + THIS.FRXBandRecno = RECNO() + ENDIF + ENDIF + ENDIF + ENDIF + + ENDIF + + THIS.setCurrentDataSession() + + ENDPROC + + PROTECTED PROCEDURE getparentwindowref && Provides a window reference for the top form in which the user feedback window should appear. + LOCAL m.loForm, m.loTopForm, m.lcInWindow + + * first top form in the list + * will be the current top form. + + ASSERT TYPE("_SCREEN.ActiveForm") # "O" OR ; + INLIST(_SCREEN.ActiveForm.ShowWindow, 0,1,2) + + m.loTopForm = NULL + + IF TYPE("THIS.CommandClauses.InWindow") = "C" + m.lcInWindow = UPPER(ALLTRIM(THIS.CommandClauses.InWindow)) + ENDIF + + IF EMPTY(lcInWindow) AND TYPE("THIS.CommandClauses.Window") = "C" + m.lcInWindow = UPPER(ALLTRIM(THIS.CommandClauses.Window)) + ENDIF + + + IF NOT EMPTY(m.lcInWindow) + + FOR EACH m.loForm IN _SCREEN.Forms FOXOBJECT + IF m.loForm.ShowWindow = 2 AND ; + UPPER(m.loForm.Name) == m.lcInWindow + m.loTopForm = m.loForm + EXIT + ENDIF + ENDFOR + + ENDIF + + DO CASE + + CASE VARTYPE(m.loTopForm) = "O" + * already found + CASE _SCREEN.FormCount = 0 OR ; + (TYPE("_SCREEN.ActiveForm") = "O" AND ; + _SCREEN.ActiveForm.ShowWindow = 0 ) && ShowWindow In Screen + + m.loTopForm = _SCREEN + + CASE (TYPE("_SCREEN.ActiveForm") = "O" AND ; + _SCREEN.ActiveForm.ShowWindow = 2 ) && ShowWindow As Top Form + + m.loTopForm = _SCREEN.ActiveForm + + OTHERWISE + + FOR EACH m.loForm IN _SCREEN.Forms FOXOBJECT + IF m.loForm.ShowWindow = 2 + m.loTopForm = m.loForm + EXIT + ENDIF + ENDFOR + + IF VARTYPE(m.loTopForm) # "O" + m.loTopForm = _SCREEN + ENDIF + + ENDCASE + + IF VARTYPE(m.loTopForm) # "O" OR ; + EMPTY(m.loTopForm.Name) + m.loTopForm = NULL + ENDIF + + RETURN m.loTopForm + + ENDPROC + + PROTECTED PROCEDURE getreportscopedriver && Adjusts the alias driving CommandClauses.RecordTotal at the beginning of a report when the DrivingAlias is engaged in one-to-many relationships. + LOCAL m.liSelect, m.lcAlias, ; + m.liSkips, laSkips[1] + + THIS.designatedDriver = THIS.drivingAlias + * used later if we have to cancel report as + * a Successor + + THIS.setFRXDataSession() + + IF USED("frx") + + m.liSelect = SELECT() + + SELECT FRX + LOCATE FOR ObjType = FRX_OBJTYP_BAND AND ; + Objcode = FRX_OBJCOD_DETAIL AND ; + TYPE(Expr) = "C" AND ; + UPPER(EVALUATE(ALLTRIM(Expr))) == UPPER(THIS.DrivingAlias) + IF FOUND() + SELECT (m.liSelect) + * if the driver is also a target alias, + * don't touch. + * otherwise: + ELSE + + LOCATE FOR ObjType = FRX_OBJTYP_BAND AND ; + Objcode = FRX_OBJCOD_DETAIL AND ; + NOT EMPTY(Expr) + IF FOUND() + * use the first detail band, on the theory + * that people are going to put pre-processing + * calculations before other bands, + * so an early band has the best chance to be + * the right driver. + THIS.drivingAlias = UPPER(EVALUATE(ALLTRIM(Expr))) + + SELECT (m.liSelect) + + ELSE + + * adjust the driver based on any + * one to many relationships we can find. + + SELECT (m.liSelect) + + THIS.setCurrentDataSession() + + m.lcAlias = THIS.drivingAlias + + m.liSelect = SELECT() + + DO WHILE NOT EMPTY(m.lcAlias) + + SELECT (m.lcAlias) + m.liSkips = ALINES(laSkips,SET("SKIP"),",") + IF m.liSkips = 0 OR EMPTY(laSkips[1]) + THIS.drivingAlias = m.lcAlias + m.lcAlias = "" + ELSE + m.lcAlias = laSkips[1] + * it doesn't really matter how many lines there + * are in the array; this is not going to be perfect + * but we can't predict which child + * has the most records. + ENDIF + ENDDO + + SELECT (m.liSelect) + + ENDIF + + ENDIF + ELSE + RETURN .F. + ENDIF + ENDPROC + + PROCEDURE includeseconds_assign + LPARAMETERS m.vNewVal + IF VARTYPE(m.vNewVal) = "L" + THIS.includeseconds = m.vNewVal + ENDIF + + ENDPROC + + PROCEDURE Init + IF DODEFAULT() + THIS.InitStatusText = OUTPUTCLASS_INITSTATUS_LOC + THIS.PrepassStatusText = OUTPUTCLASS_PREPSTATUS_LOC + THIS.RunStatusText = OUTPUTCLASS_RUNSTATUS_LOC + THIS.SecondsText = OUTPUTCLASS_TIME_SECONDS_LOC + THIS.thermCaption = OUTPUTCLASS_THERMCAPTION_LOC + RETURN (NOT THIS.HadError) + ELSE + RETURN .F. + ENDIF + + ENDPROC + + PROCEDURE initstatustext_assign + LPARAMETERS m.vNewVal + IF VARTYPE(m.vNewVal) = "C" + THIS.InitStatusText = m.vNewVal + ENDIF + ENDPROC + + PROCEDURE LoadReport + IF DODEFAULT() + THIS.ResetUserFeedback(.T.) + IF NOT (THIS.QuietMode OR ; + (TYPE("THIS.CommandClauses.NoDialog") = "L" AND ; + THIS.CommandClauses.NoDialog) ) + THIS.DoStatus(THIS.initStatusText) + * NB: a user can call LoadReport manually, + * hence the need for a TYPE() check here. + ENDIF + THIS.PushGlobalSets() + ELSE + THIS.ClearStatus() + RETURN .F. + ENDIF + ENDPROC + + PROCEDURE popglobalsets + DODEFAULT() + IF (NOT INLIST(_VFP.StartMode,2,3,5)) + LOCAL m.lcRef + m.lcRef = THIS.EscapeReference + IF (NOT EMPTY(m.lcRef)) AND ; + TYPE(m.lcRef) = "O" + * push occurred earlier + STORE NULL TO (m.lcRef) + RELEASE &lcRef. + THIS.escapeReference = "" + m.lcRef = THIS.OnEscapeCommand + ON ESCAPE &lcRef + POP KEY + IF THIS.SetNotifyCursor + SET NOTIFY CURSOR ON + ENDIF + IF THIS.SetEscape + SET ESCAPE OFF + ENDIF + ENDIF + ENDIF + + + ENDPROC + + PROCEDURE prepassstatustext_assign + LPARAMETERS m.vNewVal + IF VARTYPE(m.vNewVal) = "C" + THIS.PrepassStatusText = m.vNewVal + ENDIF + + ENDPROC + + PROCEDURE pushglobalsets + DODEFAULT() + IF (NOT INLIST(_VFP.StartMode,2,3,5)) + PUSH KEY CLEAR + LOCAL m.lcRef + SET MESSAGE TO "" + THIS.SetNotifyCursor = (SET("Notify",2) = "ON") + IF THIS.SetNotifyCursor + SET NOTIFY CURSOR OFF + ENDIF + THIS.OnEscapeCommand = ON("ESCAPE") + m.lcRef = SYS(2015) + PUBLIC &lcRef. + STORE THIS TO (m.lcRef) + ON ESCAPE &lcRef..CancelReport() + THIS.EscapeReference = m.lcRef + THIS.SetEscape = (SET("ESCAPE")="OFF") + IF THIS.SetEscape + SET ESCAPE ON + ENDIF + ENDIF + + + ENDPROC + + PROTECTED PROCEDURE resetuserfeedback && Sets user feedback to an initialized state. + LPARAMETERS m.tlResetTimes + THIS.CurrentRecord = 0 + THIS.PercentDone = 0 + IF m.tlResetTimes + THIS.ReportStartRunDateTime= DATETIME() + THIS.ReportStopRunDateTime= DTOT({}) + ENDIF + + ENDPROC + + PROCEDURE runstatustext_assign + LPARAMETERS m.vNewVal + IF VARTYPE(m.vNewVal) = "C" + THIS.RunStatusText = m.vNewVal + ENDIF + + + ENDPROC + + PROCEDURE secondstext_assign + LPARAMETERS m.vNewVal + IF VARTYPE(m.vNewVal) = "C" + THIS.SecondsText = m.vNewVal + ENDIF + + ENDPROC + + PROCEDURE setfrxrunstartupconditions + DODEFAULT() + IF TYPE("THIS.CommandClauses.Summary") # "L" + ADDPROPERTY(THIS.CommandClauses,"Summary",.F.) + ENDIF + IF TYPE("THIS.CommandClauses.RecordTotal") # "N" + ADDPROPERTY(THIS.CommandClauses,"RecordTotal",0) + ENDIF + + ENDPROC + + PROTECTED PROCEDURE setthermformcaption && Sets the user feedback window title using the ThermFormCaption property. + IF NOT ISNULL(THIS.ThermForm) + IF EMPTY(THIS.ThermFormCaption) + + IF TYPE("THIS.CommandClauses.File") = "C" + LOCAL m.cName + IF EMPTY(THIS.PrintJobName) + m.cName = PROPER(JUSTFNAME(THIS.CommandClauses.File)) + ELSE + m.cName = THIS.PrintJobName + ENDIF + THIS.ThermForm.Caption = ; + m.cName + ": " + OUTPUTCLASS_CANCEL_INSTRUCTIONS_LOC + ELSE + THIS.ThermForm.Caption = "" + ENDIF + ELSE + THIS.ThermForm.Caption = THIS.ThermFormCaption + ENDIF + ENDIF + + + + + + ENDPROC + + PROTECTED PROCEDURE synchstatus && Compares driving recno with currrently-saved information to evaluate need to update user feedback. + LPARAMETERS m.nBandObjCode, m.nFRXRecNo + IF THIS.isRunning AND (NOT THIS.hadError) AND ; + THIS.frxBandRecno = m.nFRXRecNo + THIS.setCurrentDataSession() + IF THIS.drivingAliasCurrentRecno # RECNO(THIS.drivingAlias) + THIS.currentRecord = THIS.CurrentRecord + 1 + THIS.drivingAliasCurrentRecno = RECNO(THIS.drivingAlias) + ENDIF + IF THIS.currentRecord >= THIS.CommandClauses.RecordTotal + IF THIS.CurrentPass = 0 AND THIS.TwoPassProcess + THIS.resetUserFeedback() + ELSE + THIS.currentRecord = THIS.CommandClauses.RecordTotal + ENDIF + ENDIF + THIS.UpdateStatus() + THIS.resetDataSession() + ENDIF + + + ENDPROC + + PROCEDURE thermcaption_assign + LPARAMETERS m.vNewVal + IF VARTYPE(m.vNewVal) = "C" + LOCAL m.lcType, m.cMessage + m.cMessage = "" + TRY + m.lcType = VARTYPE(EVALUATE(m.vNewVal)) + IF m.lcType = "C" + THIS.ThermCaption = m.vNewVal + ENDIF + CATCH + ENDTRY + ENDIF + + ENDPROC + + PROCEDURE thermformcaption_assign + LPARAMETERS m.vNewVal + IF VARTYPE(m.vNewVal) = "C" + THIS.ThermFormCaption = m.vNewVal + THIS.SetThermFormCaption() + ENDIF + + ENDPROC + + PROCEDURE thermformheight_assign + LPARAMETERS m.vNewVal + IF (NOT THIS.IsRunning) AND VARTYPE(m.vNewVal) = "N" AND ; + BETWEEN(m.vNewVal,30,SYSMETRIC(SYSMETRIC_SCREENHEIGHT )-30) AND ; + INT(m.vNewVal) # THIS.ThermFormHeight + THIS.thermformheight = INT(m.vNewVal) + IF THIS.ThermMargin > THIS.ThermFormHeight/4 + THIS.ThermMargin = THIS.ThermFormHeight/4 + ENDIF + THIS.thermForm = NULL + ENDIF + + ENDPROC + + PROCEDURE thermformwidth_assign + LPARAMETERS m.vNewVal + IF (NOT THIS.IsRunning) AND VARTYPE(m.vNewVal) = "N" AND ; + BETWEEN(m.vNewVal,100,SYSMETRIC( SYSMETRIC_SCREENWIDTH )-100) AND ; + INT(m.vNewVal) # THIS.ThermFormWidth + THIS.thermformwidth = INT(m.vNewVal) + IF THIS.ThermMargin > THIS.ThermFormWidth/4 + THIS.ThermMargin = THIS.ThermFormWidth/4 + ENDIF + THIS.ThermForm = NULL + ENDIF + + ENDPROC + + PROCEDURE thermmargin_assign + LPARAMETERS m.vNewVal + IF (NOT THIS.IsRunning) AND VARTYPE(m.vNewVal) = "N" AND ; + BETWEEN(m.vNewVal,1,MIN(THIS.ThermFormHeight/4,THIS.ThermFormWidth/4)) AND ; + INT(m.vNewVal) # THIS.ThermMargin + THIS.thermmargin = INT(m.vNewVal) + THIS.thermForm = NULL + ENDIF + + ENDPROC + + PROCEDURE UnloadReport + IF THIS.IsRunning + THIS.IsRunning = .F. + THIS.PopGlobalSets() + ENDIF + + THIS.ReportStopRunDateTime = DATETIME() + THIS.ClearStatus() + THIS.ThermForm = NULL + + DODEFAULT() + + THIS.resetDataSession() + + ENDPROC + + PROCEDURE UpdateStatus + NODEFAULT + * the THIS.IsRunning check here + * make sure that this code doesn't + * run if the Engine calls UpdateStatus + * after we're through + + IF THIS.IsRunning + IF THIS.CommandClauses.RecordTotal > 0 + THIS.PercentDone = (THIS.CurrentRecord/THIS.CommandClauses.RecordTotal) + + #IF OUTPUTCLASS_DEBUGGING + ? THIS.PercentDone, THIS.CurrentRecord, THIS.CommandClauses.RecordTotal, THIS.PageTotal + ? REPL(OUTPUTCLASS_STATUSCHAR_PCT_DONE,INT(THIS.PercentDone* OUTPUTCLASS_ONE_HUNDRED_PCT_MARK))+ ; + REPL(OUTPUTCLASS_STATUSCHAR_PCT_NOT_DONE,MAX(FLOOR(OUTPUTCLASS_ONE_HUNDRED_PCT_MARK - ; + (OUTPUTCLASS_ONE_HUNDRED_PCT_MARK *THIS.PercentDone)),0) ) + #ENDIF + + ENDIF + THIS.DoStatus(; + IIF(THIS.CurrentPass = LISTENER_PREPASS AND THIS.TwoPassProcess,; + THIS.PrepassStatusText, ; + THIS.RunStatusText) ) + ENDIF + + + + + ENDPROC + +ENDDEFINE + +DEFINE CLASS utilityreportlistener AS _reportlistener OF "_reportlistener.vcx" && Adds configuration table handling and output target file handling to _reportListener class + *< CLASSDATA: Baseclass="reportlistener" Timestamp="" Scale="Pixels" Uniqueid="" /> + + #INCLUDE "reportlisteners.h" + * + *m: closetargetfile && Finalizes file output. + *m: configurationobjtype_access + *m: createconfigtable && Creates a configuration table on demand. + *m: frxcursor_access + *m: frxcursor_assign + *m: getconfigtable && Assesses and provides the name of the current configuration table, optionally creating it on disk if it is not available. + *m: getpathforexternals && Determines the location at which the current configuration table and any other required external files will be expected. + *m: loadfrxcursor_assign + *m: opentargetfile && Initializes a file for output purposes. + *m: readconfiguration_assign + *m: setconfiguration && Checks the current configuration table for dynamic information in records of appropriate type, and executes these instructions if found. + *m: targetfileext_assign + *m: targetfilename_assign + *m: targethandle_assign + *m: verifyconfigtable && Ascertains that the format and and contents of the configuration meet requirements, adjusting it if necessary. + *m: verifytargetfile && Assures that the nominated filename and its network location are available at the beginning of a file-based report run. + *p: configurationobjtype && Holds the reserved value used to indicate that a configuration table row provides dynamic configuration information at runtime. + *p: configurationtable && Holds the name of the current configuration table. + *p: frxcursor && Holds a reference to an FRXCursor helper object to aid in run-time calculations related to FRX metadata and structure. + *p: loadfrxcursor && Determines whether this class should dynamically load an instance of the helper class FRXCursor when attempting to access a reference to it. + *p: readconfiguration && Indicates the conditions under which SetConfiguration code will run. 0=never, 1 = when the class instance Init runs, 2 = when the class instance runs BeforeReport, 3 = at both Init and BeforeReport. + *p: targetfileext && Provides the default file extension for file output. + *p: targetfilename && Provides the filename to which output will be written. A unique name is generated for the class instance, which will be overwritten for successive report runs if not adjusted by the user. + *p: targethandle && Provides a low-level file handle, to which output is written directly when the class provides raw data to the file, otherwise reserves the file during the report run so other applications don't write to it . + * + + PROTECTED configurationtable + * + configurationobjtype = 1000 + configurationtable = ("") + frxcursor = (NULL) + FRXDataSession = -1 + Name = "utilityreportlistener" + readconfiguration = (0) + targetfileext = ("TXT") + targetfilename = (FORCEPATH(SYS(2015),SYS(2023))) + targethandle = -1 + _memberdata = + + + + + + + + + + + + + + + + + + * + + PROCEDURE BeforeReport + DODEFAULT() + + IF INLIST(THIS.ReadConfiguration,; + OUTPUTCLASS_READCONFIG_REPORT,; + OUTPUTCLASS_READCONFIG_BOTH) + THIS.SetConfiguration() + ENDIF + ENDPROC + + PROTECTED PROCEDURE closetargetfile && Finalizes file output. + LOCAL laDummy[1] + + IF THIS.TargetHandle > -1 + + =FCLOSE(THIS.TargetHandle) + THIS.TargetHandle = -1 + + IF ADIR(laDummy,THIS.TargetFileName) = 1 AND ; + laDummy[1,2] > 0 + * NB: have to check this as well as + * error because some COM errors may not + * end up in THIS.HadError. + * if continuation, update status rather than + * modal message + IF THIS.HadError + THIS.DoMessage(OUTPUTCLASS_CREATEERRORS_LOC,MB_ICONEXCLAMATION ) + ELSE + IF THIS.DoMessage( OUTPUTCLASS_SUCCESS_LOC + ; + IIF(SYS(2024)="Y",CHR(13)+OUTPUTCLASS_REPORT_INCOMPLETE_LOC,""),; + MB_ICONINFORMATION + MB_YESNO ) = IDYES + _CLIPTEXT = THIS.TargetFileName + ENDIF + ENDIF + ELSE + THIS.DoMessage(OUTPUTCLASS_NOCREATE_LOC,MB_ICONSTOP ) + + ENDIF + + ENDIF + + ENDPROC + + PROCEDURE configurationobjtype_access + * readonly property + + RETURN OUTPUTCLASS_OBJTYPE_CONFIG + + ENDPROC + + PROCEDURE createconfigtable && Creates a configuration table on demand. + LPARAMETERS m.tcDBF, m.tlOverWrite + LOCAL m.liSelect, m.lcFile + + m.lcFile = FORCEEXT(m.tcDBF,"DBF") + + IF FILE(m.lcFile) AND m.tlOverWrite + ERASE (m.lcFile) RECYCLE + ERASE (FORCEEXT(m.lcFile,"FPT")) RECYCLE + ERASE (FORCEEXT(m.lcFile,"CDX")) RECYCLE + ENDIF + + m.liSelect = SELECT() + + SELECT 0 + + CREATE TABLE (m.lcFile) FREE ; + (objtype i, ; + objcode i, ; + objname v(60), ; + objvalue v(60), ; + objinfo m) + + IF NOT EMPTY(ALIAS()) && can happen if SAFETY ON and they decide not to overwrite + + INDEX ON Objtype TAG ObjType + INDEX ON ObjCode TAG ObjCode + INDEX ON ObjName TAG ObjName + INDEX ON ObjValue TAG ObjValue + INDEX ON DELETED() TAG OnDeleted + + INSERT INTO (ALIAS()) VALUES ; + (OUTPUTCLASS_OBJTYPE_CONFIG,0,'DoMessage','"Welcome to the demo run!",64','Sample initialization/config method call') + DELETE NEXT 1 + + INSERT INTO (ALIAS()) VALUES ; + (OUTPUTCLASS_OBJTYPE_CONFIG,0,'TargetFileName','"xxx"','Sample initialization/config property') + DELETE NEXT 1 + USE + + ENDIF + + SELECT (m.liSelect) + ENDPROC + + PROCEDURE Destroy + THIS.CloseTargetFile() + STORE NULL TO THIS.FRXCursor + DODEFAULT() + ENDPROC + + PROCEDURE frxcursor_access + IF (NOT THIS.IsRunning) AND ; + ISNULL(THIS.FRXCursor) AND THIS.LoadFRXCursor + LOCAL m.loError + DO CASE + CASE FILE("_FRXCURSOR.VCX") OR ATC("_FRXCURSOR.VCX",SET("CLASSLIB")) > 0 + + TRY + THIS.FRXCursor = NEWOBJECT("FRXCursor","_frxcursor.vcx") + CATCH TO m.loError + THIS.FRXCursor = NULL + ENDTRY + + CASE FILE(_REPORTOUTPUT) + + TRY + THIS.FRXCursor = NEWOBJECT("FRXCursor","_frxcursor.vcx", _REPORTOUTPUT) + CATCH TO m.loError + THIS.FRXCursor = NULL + ENDTRY + + + *!* CASE FILE(_REPORTBUILDER) + *!* omit in case of untested version changes + *!* TRY + *!* THIS.FRXCursor = NEWOBJECT("FRXCursor","frxcursor.vcx", _REPORTBUILDER) + *!* CATCH TO loError + *!* THIS.FRXCursor = NULL + *!* ENDTRY + + OTHERWISE + * not found + ENDCASE + + IF ISNULL(THIS.FRXCursor) + THIS.DoMessage(OUTPUTXML_FRXCURSOR_MISSING_LOC,MB_ICONEXCLAMATION ) + ENDIF + + ENDIF + RETURN THIS.frxcursor + + ENDPROC + + PROCEDURE frxcursor_assign + LPARAMETERS m.vNewVal + IF (NOT THIS.IsRunning) + THIS.frxcursor = m.vNewVal + ENDIF + + ENDPROC + + PROCEDURE getconfigtable && Assesses and provides the name of the current configuration table, optionally creating it on disk if it is not available. + LPARAMETERS m.tlForceExternal + + LOCAL m.lcDBF, m.lcPath + + m.lcDBF = "" + + IF m.tlForceExternal OR FILE(FULLPATH(FORCEEXT(OUTPUTCLASS_EXTERNALDBF,"DBF"))) + m.lcDBF = FULLPATH(FORCEEXT(OUTPUTCLASS_EXTERNALDBF,"DBF")) + ELSE + m.lcDBF = FORCEEXT(OUTPUTCLASS_INTERNALDBF,"DBF") + ENDIF + + IF NOT (FILE(m.lcDBF) OR THIS.IsRunning) + + m.lcPath = THIS.GetPathForExternals() + * this may be the internal *or* external dbf name; + * we could be testing and not yet built into an app, + * so accept either, before the next test: + m.lcDBF = FORCEPATH(m.lcDBF,m.lcPath) + + IF NOT FILE(m.lcDBF) + * now force to the external name: + m.lcDBF = FORCEEXT(FORCEPATH(OUTPUTCLASS_EXTERNALDBF,m.lcPath),"DBF") + * now check again + IF NOT FILE(m.lcDBF) + THIS.CreateConfigTable(m.lcDBF) + IF FILE(m.lcDBF) + THIS.DoMessage(OUTPUTCLASS_CONFIGTABLECREATED_LOC) + ENDIF + ENDIF + ENDIF + + ENDIF + + IF NOT FILE(m.lcDBF) + m.lcDBF = "" + ENDIF + + THIS.ConfigurationTable = m.lcDBF + + RETURN m.lcDBF + ENDPROC + + PROCEDURE getpathforexternals && Determines the location at which the current configuration table and any other required external files will be expected. + * this is mostly for standalone use + * first figure out where to put it + * with the idea of not littering + * the disk too much based on CURDIR(). + + * For app pieces, look for a container module + * and put it there. + * if there isn't one, + * put it with the VCX + + + + LOCAL m.liLevel, m.lcSys16, m.lcPath + + FOR m.liLevel = PROGRAM(-1) TO 1 STEP -1 + m.lcSys16 = UPPER(SYS(16,m.liLevel)) + IF INLIST(RIGHT(m.lcSys16,3),"APP","EXE","DLL") + m.lcPath = JUSTPATH(m.lcSys16) + EXIT + ENDIF + ENDFOR + + IF EMPTY(m.lcPath) + m.lcPath = JUSTPATH(THIS.ClassLibrary) + ENDIF + IF NOT DIRECTORY(m.lcPath) + m.lcPath = "" + ENDIF + + RETURN m.lcPath + ENDPROC + + PROCEDURE Init + IF DODEFAULT() + + IF INLIST(THIS.ReadConfiguration,; + OUTPUTCLASS_READCONFIG_INIT,; + OUTPUTCLASS_READCONFIG_BOTH) + THIS.SetConfiguration(.T.) + ENDIF + + ELSE + + RETURN .F. + + ENDIF + + RETURN NOT THIS.HadError + ENDPROC + + PROCEDURE loadfrxcursor_assign + LPARAMETERS m.vNewVal + IF VARTYPE(m.vNewVal) = "L" AND NOT THIS.IsRunning + THIS.loadfrxcursor = m.vNewVal + ENDIF + + ENDPROC + + PROTECTED PROCEDURE opentargetfile && Initializes a file for output purposes. + THIS.VerifyTargetFile() + + THIS.TargetHandle = FCREATE(THIS.TargetFileName) + + IF THIS.TargetHandle < 0 OR THIS.HadError + THIS.HadError = .T. + THIS.DoMessage(OUTPUTCLASS_NOFILECREATE_LOC,MB_ICONSTOP ) + ENDIF + + RETURN (NOT THIS.HadError) + + ENDPROC + + PROCEDURE readconfiguration_assign + LPARAMETERS m.vNewVal + IF VARTYPE(m.vNewVal) = "N" AND NOT THIS.IsRunning + THIS.ReadConfiguration = m.vNewVal + ENDIF + + ENDPROC + + PROCEDURE setconfiguration && Checks the current configuration table for dynamic information in records of appropriate type, and executes these instructions if found. + LPARAMETERS m.tlCalledFromInit + + IF NOT THIS.IsRunning + * do some config work, don't change sessions -- + * at this point we don't have our private session + * if we're being called in the Init + + LOCAL m.liSelect, m.lcPEM, m.llOpened, m.lcOrder, m.liType, m.llQuiet + + m.liSelect = SELECT() + + IF NOT USED("OutputConfig") + * if called from Init, + * do this in quietmode + * because the caller has no + * opportunity to + * turn off the message + m.llQuiet = (m.tlCalledFromInit AND NOT THIS.QuietMode) + IF m.llQuiet + THIS.QuietMode = .T. + ENDIF + THIS.GetConfigTable() + IF m.llQuiet + THIS.QuietMode = .F. + ENDIF + USE (THIS.ConfigurationTable) ALIAS "OutputConfig" IN 0 AGAIN NOUPDATE SHARED + m.llOpened = .T. + ELSE + m.lcOrder = ORDER("OutputConfig") + SET ORDER TO ObjCode + ENDIF + + IF (NOT THIS.HadError) AND THIS.VerifyConfigTable("OutputConfig") + + SELECT OutputConfig + m.liType = THIS.ConfigurationObjtype + + SCAN FOR ObjType = m.liType AND ; + NOT(DELETED() OR ; + ObjName == "" OR ; + ObjValue =="" ) + + IF PEMSTATUS(THIS,ObjName,5) + m.lcPEM = UPPER(PEMSTATUS(THIS,ObjName,3)) + DO CASE + CASE lcPEM == "PROPERTY" + STORE EVAL(ObjValue) TO ("THIS."+ObjName) + CASE INLIST("|"+lcPEM+"|","|METHOD|","|EVENT|") + EVAL("THIS."+ObjName+"("+ObjValue+")") + OTHERWISE + ENDCASE + ENDIF + + ENDSCAN + + IF m.llOpened + USE IN OutputConfig + ELSE + SET ORDER TO (m.lcOrder) IN OutputConfig + ENDIF + + ENDIF + + SELECT (m.liSelect) + + ENDIF + + ENDPROC + + PROCEDURE setfrxdatasessionenvironment + DODEFAULT() + SET DELETED ON + SET EXCLUSIVE OFF + SET TALK OFF + + ENDPROC + + PROCEDURE targetfileext_assign + LPARAMETERS m.vNewVal + IF VARTYPE(m.vNewVal) = "C" AND NOT THIS.IsRunning + THIS.targetfileext = m.vNewVal + ENDIF + + ENDPROC + + PROCEDURE targetfilename_assign + LPARAMETERS m.vNewVal + IF VARTYPE(m.vNewVal) = "C" AND NOT THIS.IsRunning + THIS.targetfilename = m.vNewVal + ENDIF + + ENDPROC + + PROCEDURE targethandle_assign + LPARAMETERS m.vNewVal + * Readonly during report run + IF VARTYPE(m.vNewVal) = "N" AND NOT THIS.IsRunning + THIS.targethandle = m.vNewVal + ENDIF + + ENDPROC + + PROCEDURE verifyconfigtable && Ascertains that the format and and contents of the configuration meet requirements, adjusting it if necessary. + LPARAMETERS m.tcAlias, m.tcFailureMsgTable, m.tcFailureMsgIndexes + + IF EMPTY(m.tcAlias) OR VARTYPE(m.tcAlias) # "C" + RETURN .F. + ENDIF + LOCAL m.lcTable, m.lcMessage, m.lcAlias, m.liSelect, ; + m.llReturn, m.liTagCount, laRequired[1], laKeys[1], ; + m.liFound, m.llExactOff, m.llSafetyOn + + m.llReturn = ; + TYPE(m.tcAlias+".OBJTYPE") = "N" AND ; + TYPE(m.tcAlias+".OBJCODE") = "N" AND ; + TYPE(m.tcAlias+".OBJNAME") = "C" AND ; + TYPE(m.tcAlias+".OBJVALUE") = "C" AND ; + TYPE(m.tcAlias+".OBJINFO") = "M" + + * additional fields may be included and order + * is not significant + + IF NOT m.llReturn + + m.lcMessage = IIF(EMPTY(m.tcFailureMsgTable),; + OUTPUTCLASS_CONFIGTABLEWRONG_LOC, ; + m.tcFailureMsgTable) + ; + CHR(13)+CHR(13)+ ; + DBF(m.tcAlias) + ENDIF + + + IF m.llReturn + + IF (SET("EXACT") = "OFF") + SET EXACT ON + m.llExactOff = .T. + ENDIF + + m.liSelect = SELECT() + SELECT (m.tcAlias) + + * check for required keys... + + DIME laRequired[5] + laRequired[1] = "OBJTYPE" + laRequired[2] = "OBJCODE" + laRequired[3] = "OBJNAME" + laRequired[4] = "OBJVALUE" + laRequired[5] = "DELETED()" + + IF TAGCOUNT() > 0 + DIME laKeys[TAGCOUNT()] + + FOR m.liTagCount = 1 TO TAGCOUNT() + laKeys[m.liTagCount] = UPPER(KEY(m.liTagCount)) + ENDFOR + + FOR m.liTagCount = 1 TO ALEN(laRequired) + m.liFound = ASCAN(laKeys,UPPER(laRequired[m.liTagCount])) + IF m.liFound = 0 + m.llReturn = .F. + EXIT + ENDIF + ENDFOR + ELSE + m.llReturn = .F. + ENDIF + + IF NOT m.llReturn + + m.llSafetyOn = (SET("SAFETY") = "ON") + SET SAFETY OFF + + TRY + USE (DBF(m.tcAlias)) EXCLU ALIAS (m.tcAlias) + INDEX ON Objtype TAG ObjType + INDEX ON ObjCode TAG ObjCode + INDEX ON ObjName TAG ObjName + INDEX ON ObjValue TAG ObjValue + INDEX ON DELETED() TAG OnDeleted + m.llReturn = .T. + CATCH + ENDTRY + + IF m.llSafetyOn + SET SAFETY OFF + ENDIF + + IF m.llReturn + DIME laKeys[TAGCOUNT()] + + FOR m.liTagCount = 1 TO TAGCOUNT() + laKeys[m.liTagCount] = UPPER(KEY(m.liTagCount)) + ENDFOR + + FOR m.liTagCount = 1 TO ALEN(laRequired) + m.liFound = ASCAN(laKeys,UPPER(laRequired[m.liTagCount])) + IF m.liFound = 0 + m.llReturn = .F. + EXIT + ENDIF + ENDFOR + ENDIF + + USE (DBF(m.tcAlias)) SHARED ALIAS (m.tcAlias) + + ENDIF + + IF NOT m.llReturn + m.lcMessage = IIF(EMPTY(m.tcFailureMsgIndexes),; + OUTPUTCLASS_CONFIGINDEXMISSING_LOC, ; + m.tcFailureMsgTable) + CHR(13) + FOR m.liTagCount = 1 TO ALEN(laRequired) + m.lcMessage = m.lcMessage + CHR(13) + ; + laRequired[m.liTagCount] + ENDFOR + ENDIF + + IF m.llExactOff + SET EXACT OFF + ENDIF + SELECT (m.liSelect) + + ENDIF + + IF NOT(m.llReturn) + THIS.DoMessage(m.lcMessage,MB_ICONSTOP ) + ENDIF + + RETURN m.llReturn + + + ENDPROC + + PROCEDURE verifytargetfile && Assures that the nominated filename and its network location are available at the beginning of a file-based report run. + LOCAL m.lcFile + + m.lcFile = ALLTR(CHRTRAN(THIS.TargetFileName,; + OUTPUTCLASS_FILENAME_CHARS_DISALLOWED,"_")) + + IF NOT DIRECTORY(JUSTPATH(m.lcFile)) + m.lcFile = FULLPATH(ALLTR(m.lcFile)) + ENDIF + + IF DIRECTORY(m.lcFile) + * we have to generate a filename + m.lcFile = FORCEPATH(SYS(2015), m.lcFile) + ENDIF + + THIS.TargetFileName = m.lcFile + + IF JUSTEXT(THIS.TargetFileName) == "" AND ; + RIGHT(THIS.TargetFileName,1) # "." + + THIS.TargetFileExt = CHRTRAN(THIS.TargetFileExt,; + OUTPUTCLASS_FILENAME_CHARS_DISALLOWED,"_") + + THIS.TargetFileName = FORCEEXT(THIS.TargetFileName, ; + THIS.TargetFileExt) + ENDIF + + IF FILE(THIS.TargetFileName) + ERASE (THIS.TargetFileName) NORECYCLE + ENDIF + + ENDPROC + +ENDDEFINE + +DEFINE CLASS xmldisplaylistener AS xmllistener OF "_reportlistener.vcx" && Tunes XML settings suitably for presentation output needs, and adds image-file-publishing capabilities. + *< CLASSDATA: Baseclass="reportlistener" Timestamp="" Scale="Pixels" Uniqueid="" /> + + #INCLUDE "reportlisteners.h" + * + *m: adjustshapeaspectratio && Adjust the height and width for the rendered contents of a Picture layout control to give accurate aspect ratio for the current file. + *m: checkreportforgeneralfields && Performs startup chores necessary to save out copies of general fields on disk when a report is rendered. + *m: copyimagefilestoexternalfilelocation_assign + *m: externalfilelocation_assign + *m: imagefilebasename_assign + *m: imagesrcattr_assign + *m: initializefilecopysettings && Provides required environment settings for non-filebased images to be copied to files at runtime. + *p: copyimagefilestoexternalfilelocation && Indicates whether file-based images should be copied to a common location from their original locations on your disk, for reference as image sources in the XML output. + *p: externalfilelocation && Optionally assigns a UNC or file system path, either relative or absolute, the XML result will assign to any external files, such as images, referenced in the main XML output file. + *p: formattingchanges && Reference in which classes can store information about actions taken to apply changes to object formatting attributes dynamically during a report run. + *p: imagefieldinstance && Keeps count of image instances for use in generating unique filenames for disk versions of non-filebased images in the report. + *p: imagefieldtofile && Holds generated filename for image being rendered to disk from a non-filebased image. + *p: imagefilebasename && Assigns an optional prefix to be added to generated image file names when image files are saved to disk during the rendering of general fields in a report run + *p: imagesrcattr && Supplies the name of the XML attribute used to show filename copied, or generated for non-filebased images, at runtime. + *p: jpgclsid && Provides the GUID used when accessing GDI+ to request a file to be saved as JPG type. + *p: oldexternalfilelocation && Saves the user's old externalfilelocation information during a report run, if the Listener has to temporarily change it to generate image files from non-filebased images. + *p: oldsendgdiplusimage && Saves the user's preference for GDIPlus image handle receipt if the Listener has to temporary change this setting to generate image files from non-filebased images. + *p: utilityimage && Utility image object for handling aspect ratio of scale-and-retain filebased images. + * + + PROTECTED imagefieldinstance,imagefieldtofile,jpgclsid,oldexternalfilelocation,oldsendgdiplusimage,utilityimage + * + externalfilelocation = ("") + formattingchanges = (.NULL.) + FRXDataSession = -1 + imagefieldinstance = 0 + imagefieldtofile = ("") + imagefilebasename = ("") + imagesrcattr = ("img") + includebandswithnoobjects = .T. + includeformattinginlayoutobjects = .T. + jpgclsid = (.NULL.) + Name = "xmldisplaylistener" + oldexternalfilelocation = ("") + oldsendgdiplusimage = 0 + utilityimage = .NULL. + _memberdata = + + + + + + + + + + + + + + + + * + + PROTECTED PROCEDURE adjustshapeaspectratio && Adjust the height and width for the rendered contents of a Picture layout control to give accurate aspect ratio for the current file. + LPARAMETERS m.tnWidth, m.tnHeight + IF VARTYPE(THIS.utilityImage) = "O" + * the image is coming from a file of some sort + * and we need to scale-and-retain + LOCAL m.llAdjustHeight, m.llAdjustWidth + DO CASE + CASE (tnWidth < tnHeight) + * use 100% of the width of the space and scale the height + m.llAdjustHeight = .T. + CASE (tnWidth > tnHeight) + * use 100% of the height of the space and scale the width + m.llAdjustWidth = .T. + CASE (m.tnWidth = m.tnHeight) + DO CASE + CASE THIS.utilityImage.Height > THIS.utilityImage.Width + m.llAdjustWidth = .T. + CASE THIS.utilityImage.Height < THIS.utilityImage.Width + m.llAdjustHeight = .T. + OTHERWISE + * both square, don't do adjustment + ENDCASE + ENDCASE + If m.llAdjustWidth + m.tnWidth = m.tnHeight * ; + (THIS.utilityImage.Width / THIS.utilityImage.Height) + ENDIF + If m.llAdjustHeight + m.tnHeight = m.tnWidth * ; + (THIS.utilityImage.Height / THIS.utilityImage.Width) + ENDIF + ENDIF + ENDPROC + + PROCEDURE BeforeReport + THIS.oldSendGDIPlusImage = THIS.SendGDIPlusImage + THIS.oldExternalFileLocation = THIS.ExternalFileLocation + IF THIS.checkReportForGeneralFields() + THIS.initializeFileCopySettings() + ENDIF + DODEFAULT() + THIS.resetDataSession() + + ENDPROC + + PROTECTED PROCEDURE checkreportforgeneralfields && Performs startup chores necessary to save out copies of general fields on disk when a report is rendered. + LOCAL m.liGeneralFields, m.lcID, m.llOpened + + m.liGeneralFields = 0 + + IF TYPE("THIS.CommandClauses.File") = "C" AND ; + (NOT EMPTY(THIS.CommandClauses.File)) AND ; + (FILE(THIS.CommandClauses.File)) && NB this is done before setting up dummy CommandClauses + + THIS.SetFRXDataSession() + + IF USED("FRX") + * this will be true + * if we call in BeforeReport, + * but that seems to cause a problem, + * when we re-assign SendGDIPlusImage + * so we're likely to call earlier, + * in the LoadReport method + SELECT FRX + ELSE + USE (THIS.CommandClauses.File) SHARED NOUPDATE ALIAS FRX IN 0 + SELECT FRX + m.llOpened = .T. + ENDIF + + COUNT FOR ObjType = FRX_OBJTYP_PICTURE AND ; + Offset = FRX_PICTURE_SOURCE_GENERAL TO ; + m.liGeneralFields + + IF m.llOpened + USE IN FRX + ENDIF + + THIS.ResetDataSession() + ENDIF + + RETURN ( m.liGeneralFields > 0 ) + + + + ENDPROC + + PROCEDURE contattr_assign + LPARAMETERS m.vNewVal + LOCAL m.lcVal + m.lcVal = THIS.ContAttr + DODEFAULT(m.vNewVal) + IF NOT (m.lcVal == THIS.ContAttr) + THIS.SynchXSLTProcessorUser() + ENDIF + ENDPROC + + PROCEDURE copyimagefilestoexternalfilelocation_assign + LPARAMETERS m.vNewVal + IF NOT THIS.IsRunning and VARTYPE(m.vNewVal) = "L" + IF NOT (m.vNewVal = THIS.CopyImageFilesToExternalFileLocation) + LOCAL m.liIndex + THIS.CopyImageFilesToExternalFileLocation = m.vNewVal + IF ISNULL(THIS.XSLTParameters) + THIS.XSLTParameters = CREATEOBJECT("Collection") + ENDIF + IF NOT ISNULL(THIS.XSLTParameters) + WITH THIS.XSLTParameters + FOR m.liIndex = 1 TO .COUNT + IF .GETKEY(m.liIndex) == "copyImageFiles" + .REMOVE(m.liIndex) + EXIT + ENDIF + NEXT + .ADD(IIF(m.vNewVal,"1","0"),"copyImageFiles") + ENDWITH + ENDIF + + IF THIS.CopyImageFilesToExternalFileLocation + IF EMPTY(THIS.ExternalFileLocation) OR ; + NOT DIRECTORY(FULLPATH(JUSTPATH(THIS.TargetFileName),THIS.ExternalFileLocation)) + THIS.ExternalFileLocation = "." + ENDIF + ENDIF + + ENDIF + + ENDIF + + ENDPROC + + PROCEDURE Destroy + STORE NULL TO ; + THIS.JPGclsid, ; + THIS.FormattingChanges, ; + THIS.UtilityImage + + DODEFAULT() + + + ENDPROC + + PROCEDURE externalfilelocation_assign + LPARAMETERS m.vNewVal + IF THIS.isRunning AND NOT EMPTY(THIS.externalFileLocation) + RETURN + ENDIF + IF VARTYPE(m.vNewVal) = "C" + + IF NOT (ALLTRIM(m.vNewVal) == THIS.externalFileLocation) + LOCAL m.liIndex, m.llRemove + + THIS.externalFileLocation = ALLTRIM(m.vNewVal) + IF EMPTY(THIS.externalFileLocation) + m.llRemove = .T. + ELSE + THIS.externalFileLocation = ADDBS(THIS.externalFileLocation) + ENDIF + + IF ISNULL(THIS.XSLTParameters) AND NOT m.llRemove + THIS.XSLTParameters = CREATEOBJECT("Collection") + ENDIF + + IF NOT ISNULL(THIS.XSLTParameters) + WITH THIS.XSLTParameters + FOR m.liIndex = 1 TO .COUNT + IF .GETKEY(m.liIndex) == "externalFileLocation" + .REMOVE(m.liIndex) + EXIT + ENDIF + NEXT + IF NOT (m.llRemove) + .ADD(THIS.externalFileLocation,"externalFileLocation") + ENDIF + ENDWITH + ENDIF + + ENDIF + + + ENDIF + + ENDPROC + + PROCEDURE getrawformattinginfo + LPARAMETERS m.tnLeft, m.tnTop, m.tnWidth, m.tnHeight, m.tnObjectContinuationType + LOCAL m.lcInfo + + THIS.adjustShapeAspectRatio (@tnWidth, @tnHeight) + + m.lcInfo = DODEFAULT(m.tnLeft, m.tnTop, m.tnWidth, m.tnHeight, m.tnObjectContinuationType) + IF NOT EMPTY(THIS.ImageFieldtoFile) + m.lcInfo = m.lcInfo + " "+THIS.ImageSrcAttr+"='"+THIS.ImageFieldtoFile+"'" + ENDIF + + RETURN m.lcInfo + ENDPROC + + PROCEDURE getvfprdlcontents + LPARAMETERS m.tcNodeName, m.tlAsString + + IF VARTYPE(THIS.CommandClauses) = "O" + + ADDPROPERTY(THIS.CommandClauses,; + "externalFileLocation", ; + THIS.externalFileLocation) + + ADDPROPERTY(THIS.CommandClauses, ; + "copyImageFilesToExternalFileLocation", ; + THIS.copyImageFilesToExternalFileLocation) + + ADDPROPERTY(THIS.CommandClauses, ; + "imageFileBaseName", ; + THIS.imageFileBaseName) + ENDIF + + RETURN DODEFAULT(m.tcNodeName, m.tlAsString) + ENDPROC + + PROCEDURE heightattr_assign + LPARAMETERS m.vNewVal + LOCAL m.lcVal + m.lcVal = THIS.HeightAttr + DODEFAULT(m.vNewVal) + IF NOT (m.lcVal == THIS.HeightAttr) + THIS.SynchXSLTProcessorUser() + ENDIF + ENDPROC + + PROCEDURE idattribute_assign + LPARAMETERS m.vNewVal + LOCAL m.lcVal + m.lcVal = THIS.IdAttribute + DODEFAULT(m.vNewVal) + IF NOT (m.lcVal == THIS.IdAttribute) + THIS.SynchXSLTProcessorUser() + ENDIF + ENDPROC + + PROCEDURE idrefattribute_assign + LPARAMETERS m.vNewVal + LOCAL m.lcVal + m.lcVal = THIS.IdRefAttribute + DODEFAULT(m.vNewVal) + IF NOT (m.lcVal == THIS.IdRefAttribute) + THIS.SynchXSLTProcessorUser() + ENDIF + ENDPROC + + PROCEDURE imagefilebasename_assign + LPARAMETERS m.vNewVal + THIS.ImageFileBaseName = ALLTR(CHRTRAN(JUSTSTEM(TRANSFORM(m.vNewVal)),; + OUTPUTCLASS_FILENAME_CHARS_DISALLOWED,"_")) + ENDPROC + + PROCEDURE imagesrcattr_assign + LPARAMETERS m.vNewVal + IF (NOT THIS.IsRunning) AND THIS.VerifyNCName(m.vNewVal) AND ; + (NOT m.vNewVal == THIS.imageSrcAttr) + THIS.imageSrcAttr = m.vNewVal + THIS.SynchXSLTProcessorUser() + ENDIF + + ENDPROC + + PROCEDURE Init + IF DODEFAULT() + THIS.AppName = OUTPUTXMLDISPLAY_APPNAME_LOC + ELSE + RETURN .F. + ENDIF + + RETURN NOT THIS.HadError + ENDPROC + + PROTECTED PROCEDURE initializefilecopysettings && Provides required environment settings for non-filebased images to be copied to files at runtime. + #define CLSID_JPG "{557CF401-1A04-11D3-9A73-0000F81EF32E}" + + + DECLARE INTEGER GdipSaveImageToFile in GDIPLUS.DLL ; + integer image,string filename,string @ CLSID_clsidEncoder,integer encoderParams + + LOCAL m.lcID + + IF ISNULL(THIS.Jpgclsid) OR EMPTY(THIS.Jpgclsid) + DECLARE integer CLSIDFromString IN ole32 string,string @ + m.lcID = SPACE(20) + CLSIDFromString(STRCONV(CLSID_JPG ,STRCONV_DBCS_UNICODE),@m.lcID) + THIS.Jpgclsid = m.lcID + m.lcID = "" + ENDIF + + IF THIS.SendGDIPlusImage < LISTENER_SEND_GDI_IMAGE_HANDLE + THIS.SendGDIPlusImage = LISTENER_SEND_GDI_IMAGE_HANDLE + ENDIF + + IF EMPTY(THIS.ExternalFileLocation) OR ; + NOT DIRECTORY(FULLPATH(JUSTPATH(THIS.TargetFileName),THIS.ExternalFileLocation)) + THIS.ExternalFileLocation = "." + ENDIF + + + ENDPROC + + PROCEDURE leftattr_assign + LPARAMETERS m.vNewVal + LOCAL m.lcVal + m.lcVal = THIS.LeftAttr + DODEFAULT(m.vNewVal) + IF NOT (m.lcVal == THIS.LeftAttr) + THIS.SynchXSLTProcessorUser() + ENDIF + ENDPROC + + PROCEDURE Render + LPARAMETERS m.nFRXRecNo,m.nLeft,m.nTop,m.nWidth,m.nHeight, ; + m.nObjectContinuationType, m.cContentsToBeRendered, m.GDIPlusImage + + LOCAL m.llCopyImage, m.lcFile + + IF m.GDIPlusImage > 0 AND ; + (ISNULL(THIS.Jpgclsid) OR EMPTY(THIS.Jpgclsid)) + * we didn't have any general fields but we do have + * an image control, referenced as an expression, + * they have explicitly turned on SendGDIPlusImage, and + * this is the first time we're hitting an image control: + THIS.initializeFileCopySettings() + ENDIF + + THIS.SetFRXDataSession() + GO m.nFRXRecNo IN FRX + + IF THIS.CopyImageFilesToExternalFileLocation + IF (FRX.ObjType = FRX_OBJTYP_PICTURE) AND ; + FRX.Offset # FRX_PICTURE_SOURCE_GENERAL AND ; + FILE(m.cContentsToBeRendered) + * use FILE() function here, + * need to find if it is + * built into an app + m.llCopyImage = .T. + ENDIF + ENDIF + + IF (FRX.ObjType = FRX_OBJTYP_PICTURE) AND ; + FRX.General = FRX_PICTUREMODE_SCALE_KEEP_SHAPE AND ; + FRX.Offset # FRX_PICTURE_SOURCE_GENERAL AND ; + FILE(m.cContentsToBeRendered) + * NB: doing this *only* when necessary for re-scaling. + * see above for why FILE() function -- this will work + * with the image object. + THIS.utilityImage = LOADPICTURE(m.cContentsToBeRendered) + ENDIF + + THIS.SetCurrentDataSession() + + DO CASE + + CASE m.llCopyImage + + m.lcFile = FORCEPATH(m.cContentsToBeRendered, ; + FULLPATH(THIS.ExternalFileLocation,ADDBS(JUSTPATH(THIS.TargetFileName)))) + + IF EMPTY(SYS(2000,m.lcFile)) + + * used to be: + * COPY FILE (cContentsToBeRendered) TO (lcFile) + * to handle files built into an app + + STRTOFILE(FILETOSTR(m.cContentsToBeRendered),m.lcFile) + + ENDIF + + IF EMPTY(SYS(2000,m.lcFile)) + THIS.ImageFieldToFile = "" + ELSE + THIS.ImageFieldToFile = JUSTFNAME(m.lcFile) + ENDIF + + CASE THIS.SendGDIPlusImage > LISTENER_SEND_GDI_IMAGE_NONE AND ; + m.GDIPlusImage > 0 AND ; + GdipSaveImageToFile(m.GDIPlusImage,; + STRCONV(FORCEPATH(THIS.ImageFileBaseName + "_"+ ; + TRANSFORM(THIS.ImageFieldInstance+1)+".jpg",; + FULLPATH(THIS.ExternalFileLocation,ADDBS(JUSTPATH(THIS.TargetFileName))))+CHR(0), ; + STRCONV_DBCS_UNICODE) ,THIS.JPGCLSID,0) = 0 + + THIS.ImageFieldInstance = THIS.ImageFieldInstance + 1 + + THIS.ImageFieldToFile = THIS.ImageFileBaseName +"_"+ ; + TRANSFORM(THIS.ImageFieldInstance)+".jpg" + + OTHERWISE + + THIS.ImageFieldToFile = "" + + ENDCASE + + DODEFAULT(m.nFRXRecNo, m.nLeft,m.nTop,m.nWidth,m.nHeight, ; + m.nObjectContinuationType, m.cContentsToBeRendered, m.GDIPlusImage) + + THIS.ImageFieldToFile = "" + THIS.UtilityImage = NULL + ENDPROC + + PROCEDURE resetdocument + THIS.ResetToDefault("ImageFieldInstance") + THIS.ResetToDefault("ImageFieldToFile") + THIS.ResetToDefault("UtilityImage") + DODEFAULT() + + + ENDPROC + + PROCEDURE setdomformattinginfo + LPARAMETERS m.toNode, m.tnLeft, m.tnTop, m.tnWidth,m.tnHeight, m.tnObjectContinuationType + + THIS.adjustShapeAspectRatio (@m.tnWidth, @m.tnHeight) + + DODEFAULT( m.toNode, m.tnLeft, m.tnTop, m.tnWidth,m.tnHeight, m.tnObjectContinuationType) + + IF NOT EMPTY(THIS.ImageFieldtoFile) + m.toNode.SetAttribute(THIS.ImageSrcAttr,THIS.ImageFieldtoFile ) + ENDIF + + ENDPROC + + PROCEDURE topattr_assign + LPARAMETERS m.vNewVal + LOCAL m.lcVal + m.lcVal = THIS.TopAttr + DODEFAULT(m.vNewVal) + IF NOT (m.lcVal == THIS.TopAttr) + THIS.SynchXSLTProcessorUser() + ENDIF + ENDPROC + + PROCEDURE UnloadReport + DODEFAULT() + IF NOT (THIS.noPageEject OR ; + ((TYPE("THIS.CommandClauses.NoPageEject") = "L") AND ; + THIS.CommandClauses.NoPageEject)) + IF NOT ISNULL(THIS.OldExternalFileLocation) + * even if empty + THIS.ExternalFileLocation = THIS.OldExternalFileLocation + THIS.OldExternalFileLocation = NULL + ENDIF + IF NOT (THIS.OldSendGDIPlusImage = THIS.SendGDIPlusImage) + THIS.SendGDIPlusImage = THIS.OldSendGDIPlusImage + ENDIF + ENDIF + THIS.resetDataSession() + + + ENDPROC + + PROCEDURE widthattr_assign + LPARAMETERS m.vNewVal + LOCAL m.lcVal + m.lcVal = THIS.WidthAttr + DODEFAULT(m.vNewVal) + IF NOT (m.lcVal == THIS.WidthAttr) + THIS.SynchXSLTProcessorUser() + ENDIF + ENDPROC + +ENDDEFINE + +DEFINE CLASS xmllistener AS utilityreportlistener OF "_reportlistener.vcx" && Provides XML output from a report run. + *< CLASSDATA: Baseclass="reportlistener" Timestamp="" Scale="Pixels" Uniqueid="" /> + + #INCLUDE "reportlisteners.h" + * + *m: applyusertransformtooutput && Applies a user-specified XSLT to XML output at the conclusion of a report run. + *m: applyusertransform_assign + *m: applyxslt && Provides generic facilities for applying XSLT to XML. + *m: contattr_assign + *m: currentdocument_assign + *m: getdefaultuserxslt && Provides a hook for subclasses to supply their preferred XSLT document for use when XMLListener automatically applies XSLT at the end of a report run. + *m: getfrxlayoutobjectfieldlist && Provides fields list to the getVFPRdlContents method, in a suitable comma-delimited format for inclusion as a macro in SQL SELECT statement from FRX cursor and related Bands and Objects cursors. + *m: getpathedimageinfo && Supplies a fully-pathed filename for an image file included in the report, using the original relative-path information stored in the FRX. + *m: getrawformattinginfo && Formulates the appropriate formatting attributes for an element when XMLListener is streaming XML to a file. + *m: getvfprdlcontents && Translates report definition layout metadata, from the FRX and the current report run, into an XML format useful to other applications. + *m: heightattr_assign + *m: idattribute_assign + *m: idrefattribute_assign + *m: includebandswithnoobjects_assign + *m: includebreaksindata_assign + *m: includedatasourcesinvfprdl_assign + *m: includeformattinginlayoutobjects_assign + *m: insertxmlconfigrecords && Adds a record to the configuration table describing a default XML node when XML Listener is creating or editing a shared configuration table. + *m: leftattr_assign + *m: loadprocessorobject && Provides a generic means to load an XSLT processor object from a string representing an XSLT document or a filename. + *m: nopageeject_assign + *m: preparefrxcopy && Prepares FRX alias or copy for use in creating VFP-RDL contents. + *m: removefrxcopy && Removes FRX copy used in preparing VFP-RDL. + *m: resetdocument && Resets the XML document after a report run. + *m: resetreport && Resets information for a report-level node during the production of an XML document that may span multiple reports. + *m: setdomformattinginfo && Formulates the appropriate formatting attributes for an element when XMLListener is using the DOM to create XML. + *m: synchxsltprocessoruser && Can be called in the assign of any Attribute-setting property to synchronize the XSLT associated with the class witht he new attribute values. + *m: topattr_assign + *m: verifyattributenames && Hook method called during XML Listener's augmented version of VerifyConfigTable, allowing subclasses to verify attribute names should they decide to store them in the configuration table similar to node names. + *m: verifyncname && Generic method to validate strings as XML-standard NCNames. + *m: verifynodenames && Method called during XML Listener's augmented version of VerifyConfigTable to check all node values in the configuration table for XML validity. + *m: widthattr_assign + *m: writeraw && Used to write raw XML data to a file. + *m: xmlmode_assign + *m: xmlrawconv && Used to convert any control characters to entity references when XML Listener is writing raw XML data to a file. + *m: xmlrawnode && Used to formulate the contents of an XML element node when XML Listener is writing the XML document as raw data to a file. + *m: xmlrawtag && Used to formulate the contents of an XML tag when XML Listener is writing the XML document as raw data to a file. + *m: xsltparameters_assign + *m: xsltprocessorrdl_assign + *m: xsltprocessoruser_assign + *p: applyusertransform && Indicates whether XMLListener should automatically apply an XSLT transform at the conclusion of a report run. + *p: columnnodes && Holds column-level output during a report run. + *p: contattr && Supplies the name of the attribute used to show continuation type for a layout object that can span bands or pages. + *p: currentband && Holds information about the band for which output is currently being generated during a report run. + *p: currentcolumn && Holds information about the column for which output is currently being generated during a report run. + *p: currentdocument && Holds information about the XML document for which output is currently being generated during a report run. + *p: currentpage && Holds information about the page for which output is currently being generated during a report run. + *p: datanodes && Holds non-formatting output (title, detail, group, and summary band objects) during a report run. + *p: heightattr && Supplies the name of the XML attribute used to show height for a layout object. + *p: idattribute && Supplies the name of the XML attribute used to provide the FRX record number for a layout object or page number of a formatting band (column or page) object. + *p: idrefattribute && Supplies the name of the XML attribute used to provide the current page for a layout object or FRX record number of a formatting band (column or page) object. + *p: includebandswithnoobjects && Indicates whether band-level information for bands with no contents should be included in the XML. + *p: includebreaksindata && 0 = provide page band nodes positioned along with other bands in the datastream, wherever they happen to occur, 1 = no pagebreak info, no page header and footer info, 2 = collection of pages with page headers and footers data + *p: includedatasourcesinvfprdl && Indicates whether information about the source tables, relations, indexes, etc should be included in the VFPRDL metadata section of the report XML. + *p: includeformattinginlayoutobjects && Indicates whether formatting information such as positioning attributes should be included in the report XML. + *p: includepage && Evaluates whether the current page is part of the output page set and should be included in the XML document result. + *p: leftattr && Supplies the name of the XML attribute used to show leftmost position for a layout object. + *p: nopageeject && Indicates whether the XML Listener should consider the current report run to be continued. Can be used without NOPAGEEJECT on the REPORT FORM command. + *p: pagenodes && Holds page-level output during a report run. + *p: topattr && Supplies the name of the XML attribute used to show topmost position for a layout object. + *p: widthattr && Supplies the name of the XML attribute used to show width for a layout object. + *p: xmlmode && 0 = data only, 1 = RDL only, 2 = data and RDL + *p: xsltparameters && Holds an optional parameter collection passed to the ApplyXSLT method when XMLListener automatically applies a user XSLT transformation at the conclusion of a report run. + *p: xsltprocessorrdl && Holds an RDL-specific processor object, reserved for future use. + *p: xsltprocessoruser && Holds a user-definable processor object which, if filled and available at the end of a run, can be used automatically by XML Listener to transform the raw XML document to requirements. + * + + PROTECTED columnnodes,currentband,currentcolumn,currentpage,datanodes,includepage,pagenodes,verifytargetfile + * + columnnodes = (NULL) + contattr = ("c") + currentband = (NULL) + currentcolumn = (NULL) + currentdocument = (NULL) + currentpage = (NULL) + datanodes = (NULL) + FRXDataSession = -1 + Height = 23 + heightattr = ("h") + idattribute = ("id") + idrefattribute = ("idref") + includebreaksindata = 0 + includepage = .T. + leftattr = ("l") + Name = "xmllistener" + nopageeject = .F. + pagenodes = (NULL) + targetfileext = ("XML") + topattr = ("t") + Width = 23 + widthattr = ("w") + xmlmode = 2 + xsltparameters = (NULL) + xsltprocessorrdl = (NULL) + xsltprocessoruser = (NULL) + _memberdata = + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + * + + PROCEDURE AfterBand + LPARAMETERS m.nBandObjCode, m.nFRXRecNo + + DODEFAULT(m.nBandObjCode, m.nFRXRecNo) + + + IF THIS.InvokeOnCurrentPass() AND ; + THIS.Targethandle > -1 + + LOCAL m.lcBand, m.loNode, m.lcID, m.lcIDRef, ; + m.llFormatBreakBand, m.loObjects, m.llOmitBand + + + THIS.SetFRXDataSession() + m.lcBand = IIF(SEEK(OUTPUTXML_OBJTYPE_NODES+FRX_OBJTYP_BAND+ ; + OUTPUTXML_OBJTYPE_BANDOFFSET+nBandObjCode,; + "Nodes","FrxNodes"),; + Nodes.ObjValue, ; + OUTPUTXML_GOOFTAG) + + GO m.nFRXRecNo IN FRX + IF NOT THIS.IncludeBandsWithNoObjects + m.loObjects = THIS.FRXCursor.GetObjectsInBand(FRX.UniqueID) + IF loObjects.Count = 0 + m.llOmitBand = .T. + ENDIF + m.loObjects = NULL + ENDIF + + THIS.SetCurrentDataSession() + + m.llFormatBreakBand = INLIST(m.nBandObjCode,; + FRX_OBJCOD_PAGEHEADER, ; + FRX_OBJCOD_PAGEFOOTER, ; + FRX_OBJCOD_COLHEADER, ; + FRX_OBJCOD_COLFOOTER) + + * first evaluate THIS.IncludeBreaksInData + DO CASE + CASE m.llOmitBand = .T. + * nothing + CASE THIS.IncludeBreaksInData = OUTPUTXML_BREAKS_INDATA OR ; + NOT m.llFormatBreakBand + + #IF OUTPUTXML = OUTPUTXML_RAW + + IF EMPTY(NVL(THIS.CurrentBand,"")) + * see continuation discussion in Render. + * our fix there may have left us with + * no band here + * do nothing + ELSE + + THIS.CurrentBand = NVL(THIS.CurrentBand,"") + ; + THIS.XMLRawTag( m.lcBand, .F., m.lcID, m.lcIDRef ) + + IF NOT (ISNULL(THIS.CurrentBand) OR EMPTY(THIS.CurrentBand)) + THIS.WriteRaw(THIS.CurrentBand) + THIS.CurrentBand = "" + ENDIF + + ENDIF + + #ELIF OUTPUTXML = OUTPUTXML_DOTNET + + #ELSE + * nothing to do here when using the DOM + THIS.CurrentBand = NULL + #ENDIF + + CASE THIS.IncludeBreaksInData = OUTPUTXML_BREAKS_COLLECTION + * build the collection which will be inserted into the + * data before finishing. + * but the band output at this point is .F. + #IF OUTPUTXML = OUTPUTXML_RAW + IF INLIST( m.nBandObjCode, ; + FRX_OBJCOD_PAGEHEADER, ; + FRX_OBJCOD_PAGEFOOTER) + THIS.CurrentPage = NVL(THIS.CurrentPage,"") + THIS.CurrentPage = THIS.CurrentPage + ; + THIS.XMLRawTag( m.lcBand, .F., m.lcID, m.lcIDRef ) + THIS.PageNodes = THIS.PageNodes + THIS.CurrentPage + THIS.CurrentPage = NULL + ELSE + THIS.CurrentColumn = NVL(THIS.CurrentColumn,"") + THIS.CurrentColumn = THIS.CurrentColumn + ; + THIS.XMLRawTag( m.lcBand, .F., m.lcID, m.lcIDRef ) + THIS.ColumnNodes = THIS.ColumnNodes + THIS.CurrentColumn + THIS.CurrentColumn = NULL + ENDIF + + #ELIF OUTPUTXML = OUTPUTXML_DOTNET + + #ELSE + + * we leave THIS.CurrentBand alone in this case, + * to use after the band has finished. + IF INLIST( nBandObjCode, ; + FRX_OBJCOD_PAGEHEADER, ; + FRX_OBJCOD_PAGEFOOTER) + THIS.CurrentPage = NULL + ELSE + THIS.CurrentColumn = NULL + ENDIF + + #ENDIF + CASE INLIST( m.nBandObjCode, ; + FRX_OBJCOD_COLHEADER, ; + FRX_OBJCOD_COLFOOTER) && XMLBREAKS_NONE and column band + + THIS.CurrentColumn = NULL + OTHERWISE && XMLBREAKS_NONE and page band + + THIS.CurrentPage = NULL + + ENDCASE + + THIS.resetDataSession() + + ENDIF + + + IF INLIST(m.nBandObjCode,FRX_OBJCOD_PAGEFOOTER, FRX_OBJCOD_TITLE) + THIS.includePage = .F. + ENDIF + + ENDPROC + + PROCEDURE AfterReport + + THIS.SetFRXDataSession() + + + IF THIS.TargetHandle > -1 AND NOT (THIS.HadError ) + + #IF OUTPUTXML = OUTPUTXML_RAW + + LOCAL m.lcNode + IF NOT THIS.XMLMode = OUTPUTXML_RDL_ONLY + + IF NOT EMPTY(NVL(THIS.CurrentBand,"")) + m.lcNode = SUBSTR(THIS.CurrentBand,2,AT(" ", THIS.CurrentBand)-2) + THIS.CurrentBand = THIS.CurrentBand + THIS.XMLRawTag(m.lcNode) + * write a closing tag + THIS.WriteRaw(THIS.CurrentBand) + ENDIF + + IF THIS.IncludeBreaksInData = OUTPUTXML_BREAKS_COLLECTION + IF NOT ISNULL(THIS.PageNodes) + lcNode = IIF(SEEK( OUTPUTXML_OBJTYPE_NODES+OUTPUTXML_OBJCODE_PAGES,; + "Nodes","FrxNodes"), ; + Nodes.ObjValue, ; + OUTPUTXML_GOOFTAG) + THIS.WriteRaw(THIS.PageNodes) + THIS.WriteRaw(THIS.XMLRawTag(m.lcNode)) + ENDIF + IF NOT ISNULL(THIS.ColumnNodes) + m.lcNode = IIF(SEEK( OUTPUTXML_OBJTYPE_NODES+OUTPUTXML_OBJCODE_COLS,; + "Nodes","FrxNodes"), ; + Nodes.ObjValue, ; + OUTPUTXML_GOOFTAG) + THIS.WriteRaw(THIS.ColumnNodes) + THIS.WriteRaw(THIS.XMLRawTag(m.lcNode)) + ENDIF + ENDIF + + m.lcNode = IIF(SEEK( OUTPUTXML_OBJTYPE_NODES+OUTPUTXML_OBJCODE_DATA,; + "Nodes","FrxNodes"), ; + Nodes.ObjValue, ; + OUTPUTXML_GOOFTAG) + + THIS.WriteRaw( THIS.XMLRawTag(m.lcNode)) + ENDIF + + m.lcNode = IIF(SEEK( OUTPUTXML_OBJTYPE_NODES+ FRX_OBJTYP_REPORTHEADER, ; + "Nodes","ObjType"), ; + Nodes.ObjValue, ; + OUTPUTXML_GOOFTAG) + THIS.WriteRaw( THIS.XMLRawTag(m.lcNode)) + + * check to see if continuation... + IF NOT OUTPUTXML_CONTINUATION + THIS.WriteRaw( THIS.XMLRawTag(THIS.CurrentDocument)) + ENDIF + + #ELIF OUTPUTXML = OUTPUTXML_DOTNET + * XMLTextWriter work + #ELSE + * domwork here + IF THIS.IncludeBreaksInData = OUTPUTXML_BREAKS_COLLECTION + * currently all this is done on entry, but + * if not: + * append the pages collection + * into the report data node -- + * that's where we should be right now + * THIS.DataNodes.AppendChild(THIS.PageNodes) + ** IF NOT ISNULL(THIS.ColumnNodes) + * THIS.DataNodes.AppendChild(THIS.ColumnNodes) + ** ENDIF + ENDIF + + IF NOT OUTPUTXML_CONTINUATION + THIS.CurrentDocument.Save(THIS.TargetFileName) + ENDIF + + #ENDIF + ENDIF + + IF OUTPUTXML_CONTINUATION + THIS.ResetReport() + ELSE + THIS.ResetDocument() + THIS.ApplyUserTransformToOutput() + IF THIS.ApplyUserTransform AND (NOT THIS.HadError) + * we suppressed this message earlier + IF THIS.DoMessage( OUTPUTCLASS_SUCCESS_LOC + ; + IIF(SYS(2024)="Y",CHR(13)+OUTPUTCLASS_REPORT_INCOMPLETE_LOC,""),; + MB_ICONINFORMATION + MB_YESNO ) = IDYES + _CLIPTEXT = THIS.TargetFileName + ENDIF + ENDIF + ENDIF + + THIS.resetDataSession() + + DODEFAULT() + ENDPROC + + PROTECTED PROCEDURE applyusertransformtooutput && Applies a user-specified XSLT to XML output at the conclusion of a report run. + DO CASE + CASE THIS.ApplyUserTransform AND NOT ; + (ISNULL(THIS.XSLTProcessorUser)) + + LOCAL m.lcResult + + * THIS.SaveTargetFileName is real + * THIS.TargetFileName is TMP + m.lcResult = THIS.ApplyXSLT(FILETOSTR(THIS.TargetFileName),THIS.XSLTProcessorUser, THIS.XSLTParameters) + IF FILE(THIS.SaveTargetFileName) + ERASE (THIS.SaveTargetFileName) NORECYCLE + ENDIF + STRTOFILE(m.lcResult,THIS.SaveTargetFileName) + ERASE (THIS.TargetFileName) NORECYCLE + THIS.TargetFileName = THIS.SaveTargetFileName + RETURN .T. + CASE THIS.ApplyUserTransform && no processor + IF FILE(THIS.SaveTargetFileName) + ERASE (THIS.SaveTargetFileName) NORECYCLE + ENDIF + COPY FILE (THIS.TargetFileName) TO (THIS.SaveTargetFileName) + ERASE (THIS.TargetFileName) NORECYCLE + THIS.TargetFileName = THIS.SaveTargetFileName + RETURN .F. + OTHERWISE + RETURN .F. + ENDCASE + + + + ENDPROC + + PROCEDURE applyusertransform_assign + LPARAMETERS m.vNewVal + IF VARTYPE(m.vNewVal) = "L" AND NOT THIS.IsRunning + THIS.ApplyUserTransform = m.vNewVal + IF THIS.ApplyUserTransform AND ; + (ISNULL(THIS.XSLTProcessorUser)) + THIS.GetDefaultUserXSLT() + ENDIF + ENDIF + + ENDPROC + + PROCEDURE applyxslt && Provides generic facilities for applying XSLT to XML. + LPARAMETERS m.tvSource, m.tvProcessor, m.tvParamCollection + + LOCAL m.loSource, m.loProcessor, m.lvReturn, m.llSuccess, m.liParam + + m.lvReturn = "" + + STORE NULL TO m.loSource, m.loProcessor + + IF VARTYPE(m.tvSource) = "C" + + * first param can be filename, string, or object + * if filename or string, test existance + * and try to load as a dom object + DO CASE + CASE FILE(m.tvSource) + m.loSource = CREATEOBJECT(OUTPUTXML_DOMDOCUMENTOBJECT) + m.loSource.Load(m.tvSource) + CASE LEN(m.tvSource) > 0 + m.loSource = CREATEOBJECT(OUTPUTXML_DOMDOCUMENTOBJECT) + m.loSource.LoadXML(m.tvSource) + ENDCASE + + IF NOT ISNULL(m.loSource) AND ; + LEN(m.loSource.XML) > 0 AND ; + EMPTY(m.loSource.parseError.reason) + m.llSuccess = .T. + ELSE + m.loSource = NULL + * IF NOT ISNULL(m.loSource) + * THIS.LastErrorMessage = loSource.parseError.reason + * ENDIF + ENDIF + ELSE + * if object, test nodetypestring availability + * and then for document/tree shape. + IF VARTYPE(m.tvSource) = "O" + TRY + IF INLIST("|"+UPPER(m.tvSource.nodeTypeString)+"|", ; + "|DOCUMENT|","|ELEMENT|") && quick and dirty test for tree shape + m.loSource = m.tvSource + m.llSuccess = .T. + ENDIF + ENDTRY + ENDIF + + ENDIF + + IF m.llSuccess + + * for failed transformations, return source XML + m.lvReturn = m.loSource.XML + + * as above + * second param can be filename or object + + * if filename, as above + * if object, test for appropriate interface + * figure out if it's a processor factory + * or an instance (either dom or stylesheet) + * and error out if we can't figure it out + m.llSuccess = .F. + IF VARTYPE(m.tvProcessor) = "C" + m.loProcessor = THIS.LoadProcessorObject(m.tvProcessor) + IF NOT ISNULL(m.loProcessor) + m.loProcessor = m.loProcessor.createProcessor() + ENDIF + ELSE + IF VARTYPE(m.tvProcessor) = "O" + TRY + IF VARTYPE(m.tvProcessor.styleSheet) = "O" + m.loProcessor = m.tvProcessor + * if the object was a processor object + * get a stylesheet instance + m.loProcessor = m.loProcessor.createProcessor() + ENDIF + CATCH + * just want to swallow the errors here because + * of the primitive tests being used + ENDTRY + ENDIF + ENDIF + + IF NOT ISNULL(m.loProcessor) + m.llSuccess = .T. + ENDIF + ENDIF + + IF m.llSuccess + + * param collection should be added to the + * instance at this point + + WITH m.loProcessor + IF VARTYPE(m.tvParamCollection) = "O" AND ; + UPPER(m.tvParamCollection.BaseClass) == "COLLECTION" AND ; + m.tvParamCollection.Count > 0 + + FOR m.liParam = 1 TO m.tvParamCollection.Count + .AddParameter(m.tvParamCollection.GetKey(m.liParam), ; + m.tvParamCollection.Item(m.liParam)) + ENDFOR + ENDIF + .input = m.loSource + .transform() + m.lvReturn = .output + ENDWITH + + ENDIF + + + RETURN m.lvReturn + ENDPROC + + PROCEDURE BeforeBand + LPARAMETERS m.nBandObjCode, m.nFRXRecNo, m.tlContinuedBand + + DODEFAULT(m.nBandObjCode, m.nFRXRecNo) + + IF INLIST(m.nBandObjCode,FRX_OBJCOD_PAGEHEADER, FRX_OBJCOD_TITLE,FRX_OBJCOD_SUMMARY) + THIS.includePage = THIS.IncludePageInOutput(_PAGENO) + *(THIS.PageNo >= THIS.CommandClauses.RangeFrom) AND ; + * ((THIS.CommandClauses.RangeTo = -1) OR (THIS.PageNo <= THIS.CommandClauses.RangeTo)) + * possibly to be adapted later: + * regardless of whether IncludePageInOutput() is used + * or the manual evaluation above (commented) is used, + * _PAGENO will work for continued reports only if NORESET is not used. + * THIS.PageNo/THIS.SharedPageNo will not work whether NORESET is used or not, + * for continued reports, + * unless you maintain a private offset. RANGE is + * sensitive to the current REPORT FORM command, not the full + * NOPAGEEJECT (chained) run + + ENDIF + + + IF THIS.InvokeOnCurrentPass() AND ; + THIS.Targethandle > -1 + + LOCAL m.lcBand, m.loNode, m.lcID, m.lcIDRef, ; + m.llFormatBreakBand, m.lcInterruptedBand,; + m.llOmitBand, m.loObjects + + THIS.SetFRXDataSession() + + GO m.nFRXRecNo IN FRX + + IF NOT THIS.IncludeBandsWithNoObjects + m.loObjects = THIS.FRXCursor.GetObjectsInBand(FRX.UniqueID) + IF m.loObjects.Count = 0 + m.llOmitBand = .T. + ENDIF + m.loObjects = NULL + ENDIF + + m.lcBand = IIF(SEEK(OUTPUTXML_OBJTYPE_NODES+ FRX_OBJTYP_BAND+ ; + OUTPUTXML_OBJTYPE_BANDOFFSET+nBandObjCode,; + "Nodes","FrxNodes"),; + Nodes.ObjValue, ; + OUTPUTXML_GOOFTAG) + THIS.SetCurrentDataSession() + + m.llFormatBreakBand = INLIST(nBandObjCode,; + FRX_OBJCOD_PAGEHEADER, ; + FRX_OBJCOD_PAGEFOOTER, ; + FRX_OBJCOD_COLHEADER, ; + FRX_OBJCOD_COLFOOTER) + + + IF m.llFormatBreakBand + + m.lcIDRef = TRANSFORM(m.nFRXRecNo) && TRANSFORM(IIF(EMPTY(FRX.UniqueID),"",FRX.UniqueID)) + m.lcID = TRANSFORM(IIF(THIS.sharedPageNo = 0, THIS.PageNo, THIS.sharedPageNo)) + + ELSE + + m.lcID = TRANSFORM(m.nFRXRecNo) && TRANSFORM(IIF(EMPTY(FRX.UniqueID),"",FRX.UniqueID) ) + IF m.tlContinuedBand + m.lcID = m.lcID + "+" + ENDIF + m.lcIDRef = TRANSFORM(IIF(THIS.sharedPageNo = 0, THIS.PageNo, THIS.sharedPageNo)) + + ENDIF + + * first evaluate THIS.IncludeBreaksInData + DO CASE + CASE m.llOmitBand + * do nothing -- TBD checked later. + CASE THIS.IncludeBreaksInData = OUTPUTXML_BREAKS_INDATA OR ; + NOT m.llFormatBreakBand + + #IF OUTPUTXML = OUTPUTXML_RAW + IF NOT (ISNULL(THIS.CurrentBand) OR EMPTY(THIS.CurrentBand)) + * a data band has spanned + * formatting breaks (pages or columns) + * and we haven't otherwise caught it. + * This should not happen. + m.lcInterruptedBand = SUBSTR(ALLTR(THIS.CurrentBand),2,AT(" ", THIS.CurrentBand)-2) + * write a closing tag + THIS.WriteRaw(THIS.CurrentBand + THIS.XMLRawTag(m.lcInterruptedBand)) + ENDIF + + + THIS.CurrentBand = THIS.XMLRawTag( m.lcBand,.T., m.lcID, m.lcIDRef ) + + + #ELIF OUTPUTXML = OUTPUTXML_DOTNET + + #ELSE + + m.loNode = THIS.CurrentDocument.CreateElement(m.lcBand) + m.loNode.SetAttribute(THIS.idAttribute,m.lcID) + m.loNode.SetAttribute(THIS.idrefAttribute,m.lcIDRef) + THIS.DataNodes.AppendChild(m.loNode) + THIS.CurrentBand = m.loNode + m.loNull = NULL + #ENDIF + + CASE THIS.IncludeBreaksInData = OUTPUTXML_BREAKS_COLLECTION + * build the collection which will be inserted into the + * data before finishing. + * but the band output at this point is .F. + #IF OUTPUTXML = OUTPUTXML_RAW + IF INLIST( m.nBandObjCode, ; + FRX_OBJCOD_PAGEHEADER, ; + FRX_OBJCOD_PAGEFOOTER) + THIS.CurrentPage = NVL(THIS.CurrentPage,"") + THIS.CurrentPage = THIS.CurrentPage + ; + THIS.XMLRawTag( m.lcBand, .T.,m.lcID, m.lcIDRef ) + ELSE + THIS.CurrentColumn = NVL(THIS.CurrentColumn,"") + THIS.CurrentColumn = THIS.CurrentColumn + ; + THIS.XMLRawTag( m.lcBand, .T., m.lcID, m.lcIDRef ) + ENDIF + + + #ELIF OUTPUTXML = OUTPUTXML_DOTNET + + #ELSE + + * we leave THIS.CurrentBand alone in this case, + * to use after the band has finished. + IF INLIST( m.nBandObjCode, ; + FRX_OBJCOD_PAGEHEADER, ; + FRX_OBJCOD_PAGEFOOTER) + THIS.CurrentPage = THIS.CurrentDocument.CreateElement(m.lcBand) + THIS.CurrentPage.SetAttribute(THIS.idAttribute,m.lcID) + THIS.CurrentPage.SetAttribute(THIS.idrefAttribute,m.lcIDRef) + THIS.PageNodes.AppendChild(THIS.CurrentPage) + ELSE + THIS.CurrentColumn = THIS.CurrentDocument.CreateElement(m.lcBand) + THIS.CurrentColumn.SetAttribute(THIS.idAttribute,m.lcID) + THIS.CurrentColumn.SetAttribute(THIS.idrefAttribute,m.lcIDRef) + THIS.ColumnNodes.AppendChild(THIS.CurrentColumn) + ENDIF + + #ENDIF + CASE INLIST( m.nBandObjCode, ; + FRX_OBJCOD_COLHEADER, ; + FRX_OBJCOD_COLFOOTER) && XMLBREAKS_NONE and column band + + THIS.CurrentColumn = "X" + + OTHERWISE && XMLBREAKS_NONE and page band + + THIS.CurrentPage = "X" + + ENDCASE + + THIS.resetDataSession() + + ENDIF + + + + ENDPROC + + PROCEDURE BeforeReport + DODEFAULT() + + IF (NOT THIS.HadError) + THIS.SetFRXDataSession() + IF USED("FRX") + LOCAL m.liSelect, m.lcDocument, m.lcReport, ; + m.lcRDL, m.lcPage, m.lcCol, m.lcData, m.loNode, m.loParent + m.liSelect = SELECT() + SELECT FRX + + IF THIS.TargetHandle = -1 AND THIS.ApplyUserTransform + THIS.verifyTargetFile() + IF EMPTY(JUSTEXT(THIS.TargetFileName)) + THIS.TargetFileName = FORCEEXT(THIS.TargetFileName,THIS.TargetFileExt) + ENDIF + THIS.AddProperty("SaveTargetFileName",THIS.TargetFileName) + THIS.TargetFileName = FORCEEXT(THIS.TargetFileName,"TMP") + ENDIF + + IF (THIS.TargetHandle > -1 OR THIS.OpenTargetFile()) + IF NOT USED("Nodes") + IF UPPER(FULLPATH(THIS.ConfigurationTable)) == ; + UPPER(FULLPATH(FORCEEXT(OUTPUTCLASS_INTERNALDBF,"DBF"))) + USE (THIS.ConfigurationTable) AGAIN IN 0 ; + NOUPDATE ALIAS Nodes SHARED + ELSE + USE (THIS.ConfigurationTable) AGAIN IN 0 ; + ALIAS Nodes SHARED + THIS.VerifyNodeNames() + THIs.VerifyAttributeNames() + ENDIF + ENDIF + + * create helper object + * create band and object cursors + * we may want to evaluate raw mode + * as well as THIS.XMLMode to see if these are needed: + IF (NOT (THIS.IncludeBandsWithNoObjects AND ; + THIS.XMLMode = OUTPUTXML_DATA_ONLY) ) && OR OUTPUTXML_PERFORMLOCALECONVERSION + THIS.LoadFRXCursor = .T. + IF ISNULL(THIS.FRXCursor) OR ; + (NOT THIS.FRXCursor.CreateObjectCursor("FRX", "OBJECTS", .F., .T.)) && force the load and make sure + && we have access to runtime + && version of the cursor + THIS.IncludeBandsWithNoObjects = .T. + ELSE + SELECT Bands + IF TAGNO("UniqueID") = 0 + INDEX ON UniqueID TAG UniqueID + ENDIF + SET ORDER TO 0 + SELECT Objects + IF TAGNO("UniqueID") = 0 + INDEX ON UniqueID TAG UniqueID + ENDIF + SET ORDER TO 0 + ENDIF + ENDIF + + THIS.IsRunning = .T. + SET ORDER TO 0 IN FRX + m.lcDocument = IIF(SEEK(OUTPUTXML_OBJTYPE_NODES+ ; + OUTPUTXML_OBJCODE_DOC,; + "Nodes","FrxNodes"), ; + Nodes.ObjValue, ; + OUTPUTXML_GOOFTAG) + m.lcReport = IIF(SEEK( OUTPUTXML_OBJTYPE_NODES+ FRX_OBJTYP_REPORTHEADER, ; + "Nodes","ObjType"), ; + Nodes.ObjValue, ; + OUTPUTXML_GOOFTAG) + + IF NOT THIS.XMLMode = OUTPUTXML_RDL_ONLY + m.lcData = IIF(SEEK( OUTPUTXML_OBJTYPE_NODES+ ; + OUTPUTXML_OBJCODE_DATA, ; + "Nodes","FrxNodes"), ; + Nodes.ObjValue, ; + OUTPUTXML_GOOFTAG) + ENDIF + IF NOT THIS.XMLMode = OUTPUTXML_DATA_ONLY + m.lcRDL = IIF(SEEK( OUTPUTXML_OBJTYPE_NODES+ ; + OUTPUTXML_OBJCODE_RDL, ; + "Nodes","FrxNodes"), ; + Nodes.ObjValue, ; + OUTPUTXML_GOOFTAG) + ENDIF + IF THIS.IncludeBreaksInData = OUTPUTXML_BREAKS_COLLECTION + m.lcPage = IIF(SEEK( OUTPUTXML_OBJTYPE_NODES+ ; + OUTPUTXML_OBJCODE_PAGES, ; + "Nodes","FrxNodes"), ; + Nodes.ObjValue, ; + OUTPUTXML_GOOFTAG) + * GO TOP IN FRX + * IF FRX.VPos > 1 + m.lcCol = IIF(SEEK( OUTPUTXML_OBJTYPE_NODES+; + OUTPUTXML_OBJCODE_COLS,; + "Nodes","FrxNodes"), ; + Nodes.ObjValue, ; + OUTPUTXML_GOOFTAG) + + * ENDIF + ENDIF + #IF OUTPUTXML = OUTPUTXML_RAW + IF EMPTY(THIS.CurrentDocument) OR ISNULL(THIS.CurrentDocument) + THIS.CurrentDocument = m.lcDocument + THIS.WriteRaw( ; + THIS.XMLRawTag( THIS.CurrentDocument,.T.) ) + ENDIF + THIS.WriteRaw( ; + THIS.XMLRawTag( m.lcReport,.T.) ) + * could add FRXname as ID here + IF NOT THIS.XMLMode = OUTPUTXML_DATA_ONLY + * write RDL here + THIS.WriteRaw( ; + THIS.XMLRawTag( m.lcRDL,.T.,THIS.xmlRawConv( THIS.CommandClauses.FILE)) ) + THIS.WriteRaw( STRCONV(THIS.GetVFPRDLContents(m.lcRDL, .T.),STRCONV_DBCS_UTF8) ) + THIS.WriteRaw( ; + THIS.XMLRawTag( m.lcRDL) ) + ENDIF + IF NOT THIS.XMLMode = OUTPUTXML_RDL_ONLY + THIS.WriteRaw( ; + THIS.XMLRawTag( m.lcData,.T.) ) + + IF THIS.IncludeBreaksInData = OUTPUTXML_BREAKS_COLLECTION + THIS.PageNodes = THIS.XMLRawTag( m.lcPage,.T.) + * IF NOT EMPTY(lcCol) + THIS.ColumnNodes = THIS.XMLRawTag(m.lcCol,.T.) + * ENDIF + ENDIF + ENDIF + + #ELIF OUTPUTXML = OUTPUTXML_DOTNET + * XMLTextWriter work + #ELSE + IF VARTYPE(THIS.CurrentDocument) # "O" + THIS.CurrentDocument = CREATEOBJECT(OUTPUTXML_DOMFREETHREADED_DOCUMENTOBJECT) + * COMPROP(THIS.CurrentDocument,"UTF8",1) + THIS.CurrentDocument.DocumentElement = THIS.CurrentDocument.CreateElement(m.lcDocument) + ENDIF + loNode = THIS.CurrentDocument.CreateElement(m.lcReport) + * setattribute id using FRXName here + * idref? + THIS.CurrentDocument.DocumentElement.AppendChild(m.loNode) + m.loParent = loNode + IF NOT THIS.XMLMode = OUTPUTXML_DATA_ONLY + m.loNode = THIS.CurrentDocument.CreateElement(m.lcRDL) + m.loNode.SetAttribute(THIS.idAttribute,THIS.CommandClauses.FILE) + m.loNode.AppendChild(THIS.GetVFPRDLContents(m.lcRDL)) + m.loParent.AppendChild(m.loNode) + ENDIF + IF NOT THIS.XMLMode = OUTPUTXML_RDL_ONLY + m.loNode = THIS.CurrentDocument.CreateElement(m.lcData) + * possibly add DE stuff here + m.loParent.AppendChild(m.loNode) + THIS.DataNodes = m.loNode + IF THIS.IncludeBreaksInData = OUTPUTXML_BREAKS_COLLECTION + THIS.PageNodes = THIS.CurrentDocument.CreateElement(m.lcPage) + THIS.DataNodes.AppendChild(THIS.PageNodes) + THIS.ColumnNodes = THIS.CurrentDocument.CreateElement(m.lcCol) + THIS.DataNodes.AppendChild(THIS.ColumnNodes) + ENDIF + ENDIF + #ENDIF + IF THIS.XMLMode = OUTPUTXML_RDL_ONLY + THIS.AfterReport() + ENDIF + ENDIF + + STORE NULL TO m.loNode, m.loParent + SELECT (m.liSelect) + ELSE + THIS.DoMessage(OUTPUTXML_FRXMISSING_LOC,MB_ICONSTOP ) + ENDIF + THIS.resetDataSession() + ENDIF + + RETURN + ENDPROC + + PROCEDURE closetargetfile + LOCAL m.llResetQuietMode + m.llResetQuietMode = ((NOT THIS.HadError) AND (NOT THIS.QuietMode) AND (THIS.ApplyUserTransform)) + IF m.llResetQuietMode + THIS.QuietMode = .T. + ENDIF + DODEFAULT() + IF m.llResetQuietMode + THIS.QuietMode = .F. + ENDIF + ENDPROC + + PROCEDURE contattr_assign + LPARAMETERS m.vNewVal + IF (NOT THIS.IsRunning) AND THIS.VerifyNCName(m.vNewVal) + THIS.contAttr = m.vNewVal + ENDIF + + + + ENDPROC + + PROCEDURE createconfigtable + LPARAMETERS m.tcDBF, m.tlOverWrite + * table is being created from scratch, + * may be in a VCX in an unknown environment + * (definitely not in REPORTOUTPUT.APP!) + + DODEFAULT(m.tcDBF, m.tlOverWrite) + + IF NOT THIS.HadError + LOCAL m.liSelect, m.llSafetyOn + m.llSafetyOn = (SET("SAFETY") = "ON") + SET SAFETY OFF + m.liSelect = SELECT() + SELECT 0 + USE (m.tcDBF) EXCLU + INDEX ON ObjType+ObjCode+ ; + IIF(ObjType=FRX_OBJTYP_BAND+OUTPUTXML_OBJTYPE_NODES, ; + OUTPUTXML_OBJTYPE_BANDOFFSET,0) ; + TAG FRXNodes + IF m.llSafetyOn + SET SAFETY OFF + ENDIF + THIS.InsertXMLConfigRecords() + USE + SELECT (m.liSelect) + ENDIF + + ENDPROC + + PROCEDURE currentdocument_assign + LPARAMETERS m.vNewVal + * TBD: evaluate for readonly status during the life of the report run + THIS.currentdocument = m.vNewVal + + ENDPROC + + PROCEDURE Destroy + THIS.ResetDocument() + STORE NULL TO ; + THIS.ColumnNodes, ; + THIS.CurrentBand, ; + THIS.CurrentColumn, ; + THIS.CurrentDocument, ; + THIS.CurrentPage, ; + THIS.DataNodes, ; + THIS.pageNodes, ; + THIS.XSLTProcessorRDL, ; + THIS.XSLTProcessorUser, ; + THIS.xsltParameters + + DODEFAULT() + ENDPROC + + PROCEDURE Error + LPARAMETERS m.nError, m.cMethod, m.nLine + + DODEFAULT(m.nError,m.cMethod,m.nLine) + * we could evaluate errors first, but generally, + THIS.CloseTargetFile() + THIS.QuietMode = .T. + THIS.CancelReport() + + + ENDPROC + + PROCEDURE frxcursor_access + DODEFAULT() + IF (NOT THIS.IsRunning) AND ; + ISNULL(THIS.FRXCursor) AND THIS.LoadFRXCursor + * don't attempt to load later + THIS.LoadFRXCursor = .F. + ENDIF + RETURN THIS.FRXCursor + ENDPROC + + PROTECTED PROCEDURE getdefaultuserxslt && Provides a hook for subclasses to supply their preferred XSLT document for use when XMLListener automatically applies XSLT at the end of a report run. + ** this is an abstract method for use by subclasses + ENDPROC + + PROTECTED PROCEDURE getfrxlayoutobjectfieldlist && Provides fields list to the getVFPRdlContents method, in a suitable comma-delimited format for inclusion as a macro in SQL SELECT statement from FRX cursor and related Bands and Objects cursors. + LPARAMETERS m.tcAlias + * frx + * PLATFORM,UNIQUEID,TIMESTAMP,OBJTYPE,OBJCODE,NAME,EXPR,VPOS,HPOS,HEIGHT,WIDTH,STYLE, + * PICTURE,ORDER,UNIQUE,COMMENT,ENVIRON,BOXCHAR,FILLCHAR,TAG,TAG2,PENRED,PENGREEN,PENBLUE, + * FILLRED,FILLGREEN,FILLBLUE,PENSIZE,PENPAT,FILLPAT,FONTFACE,FONTSTYLE,FONTSIZE,MODE,RULER, + * RULERLINES,GRID,GRIDV,GRIDH,FLOAT,STRETCH,STRETCHTOP,TOP,BOTTOM,SUPTYPE,SUPREST,NOREPEAT,RESETRPT,PAGEBREAK,COLBREAK,RESETPAGE,GENERAL,SPACING,DOUBLE,SWAPHEADER,SWAPFOOTER,EJECTBEFOR,EJECTAFTER,PLAIN,SUMMARY,ADDALIAS,OFFSET,TOPMARGIN,BOTMARGIN,TOTALTYPE,RESETTOTAL,RESOID,CURPOS,SUPALWAYS,SUPOVFLOW,SUPRPCOL,SUPGROUP,SUPVALCHNG,SUPEXPR,USER + * objects + * UNIQUEID,OBJTYPE,OBJCODE,EXPR,VPOS,HPOS,HEIGHT,WIDTH,OBJNAME,LOCALE_ID,START_BAND_ID,BAND_OFFSET,END_BAND_ID,BANDLABEL,SELECTED,OBJ_PICT,BAND_SEQ + * bands + * UNIQUEID,OBJTYPE,OBJCODE,EXPR,BANDLABEL,START,STOP,HEIGHT,P_START,P_STOP,P_HEIGHT,RESETTOTAL,BAND_SEQ,REL_BAND_ID + + + + RETURN ; + "RECNO() AS FrxRecno, "+m.tcAlias+".PLATFORM, "+m.tcAlias+".NAME,"+m.tcAlias+".EXPR,"+m.tcAlias+".OFFSET,"+m.tcAlias+".VPOS,"+m.tcAlias+".HPOS,"+m.tcAlias+".HEIGHT,"+; + ""+m.tcAlias+".OBJTYPE, "+m.tcAlias+".TAG, "+m.tcAlias+".TAG2,"+m.tcAlias+".PENSIZE,"+m.tcAlias+".PENPAT,"+m.tcAlias+".FILLPAT,"+; + ""+m.tcAlias+".WIDTH,"+m.tcAlias+".STYLE,"+m.tcAlias+".PICTURE,"+m.tcAlias+".ORDER,"+m.tcAlias+".COMMENT,"+m.tcAlias+".FILLCHAR,"+; + ""+m.tcAlias+".PENRED,"+m.tcAlias+".PENGREEN,"+m.tcAlias+".PENBLUE,"+m.tcAlias+".FILLRED,"+m.tcAlias+".FILLGREEN,"+m.tcAlias+".FILLBLUE,"+; + ""+m.tcAlias+".FONTFACE, "+m.tcAlias+".FONTSTYLE,"+m.tcAlias+".FONTSIZE,"+m.tcAlias+".MODE,"+m.tcAlias+".FLOAT,"+m.tcAlias+".STRETCH,"+m.tcAlias+".STRETCHTOP,"+; + "BITTEST( "+m.tcAlias+".FONTSTYLE, 0 ) AS FontBold,"+ ; + "BITTEST( "+m.tcAlias+".FONTSTYLE, 1 ) AS FontItalic,"+ ; + "BITTEST( "+m.tcAlias+".FONTSTYLE, 3 ) AS FontUnderline,"+ ; + "BITTEST( "+m.tcAlias+".FONTSTYLE, 7 ) AS FontStrikeThrough,"+ ; + "THIS.GetPathedImageInfo("+m.tcAlias+".ObjType, "+m.tcAlias+".Name, "+m.tcAlias+".Picture, "+m.tcAlias+".Offset) AS UnpathedImg,"+ ; + "THIS.GetPathedImageInfo("+m.tcAlias+".ObjType, "+m.tcAlias+".Name, "+m.tcAlias+".Picture, "+m.tcAlias+".Offset, .T.) AS PathedImg,"+ ; + ""+m.tcAlias+".TOP,"+m.tcAlias+".BOTTOM,"+m.tcAlias+".NOREPEAT,"+m.tcAlias+".PAGEBREAK,"+m.tcAlias+".COLBREAK,"+m.tcAlias+".RESETPAGE,"+m.tcAlias+".GENERAL,"+m.tcAlias+".SPACING,"+ ; + ""+m.tcAlias+".SWAPHEADER,"+m.tcAlias+".SWAPFOOTER,"+m.tcAlias+".EJECTBEFOR,"+m.tcAlias+".EJECTAFTER,"+m.tcAlias+".TOTALTYPE,"+m.tcAlias+".RESETTOTAL,"+ ; + "IIF("+m.tcAlias+".DOUBLE,"+m.tcAlias+".RESOID,1) AS FONTCHARSET,"+m.tcAlias+".SUPALWAYS,"+m.tcAlias+".SUPOVFLOW,"+m.tcAlias+".SUPRPCOL,"+m.tcAlias+".SUPGROUP,"+m.tcAlias+".SUPVALCHNG,"+m.tcAlias+".SUPEXPR,"+m.tcAlias+".USER,"+ ; + "OBJECTS.UniqueID AS ObjID, OBJECTS.ObjName, Objects.Locale_ID,"+ ; + "OBJECTS.START_BAND_ID,OBJECTS.BAND_OFFSET,OBJECTS.END_BAND_ID,"+ ; + "BANDS.UNIQUEID AS BandID,BANDS.OBJCODE AS BandType,Bands.BANDLABEL,Bands.START,"+; + "Bands.STOP,Bands.BAND_SEQ,Bands.REL_BAND_ID, ("+m.tcAlias+".ObjType=9 AND (NOT "+m.tcAlias+".Plain)) AS BandStretch" + ENDPROC + + PROTECTED PROCEDURE getpathedimageinfo && Supplies a fully-pathed filename for an image file included in the report, using the original relative-path information stored in the FRX. + LPARAMETERS m.tObjType, m.tName, m.tPicture, m.tOffset, m.tPathed + LOCAL m.lcReturn, m.lcFile + m.lcReturn = "" + IF m.tObjType = FRX_OBJTYP_PICTURE + DO CASE + CASE m.tOffset = 0 && literal filename + m.lcReturn = STRTRAN(m.tPicture,["],[]) + IF m.tPathed + m.lcReturn = FULLPATH(m.tPicture,THIS.CommandClauses.File) + ELSE + m.lcReturn = JUSTFNAME(m.tPicture) + ENDIF + CASE m.tOffset = 1 && general field + m.lcReturn = "["+m.tName+"]" + CASE m.tOffset = 2 AND TYPE(m.tName)= "O" && imagecontrol + m.lcReturn = "["+m.tName+"]" + CASE m.tOffset = 2 AND TYPE(m.tName) = "C" && expression + m.lcFile = EVALUATE(m.tName) + IF NOT FILE(m.lcFile) + m.lcFile = EVALUATE(STRTRAN(m.tName,"()","")) && indirect + ENDIF + IF FILE(m.lcFile) + IF m.tPathed + m.lcReturn = FULLPATH(EVALUATE(m.tName)) + ELSE + m.lcReturn = JUSTFNAME(EVALUATE(m.tName)) + ENDIF + ELSE + m.lcReturn = "["+m.tName+"]" + ENDIF + OTHERWISE + m.lcReturn = "["+m.tName+"]" + ENDCASE + ENDIF + m.lcReturn = PADR(CHRTRAN(m.lcReturn,"\","/"), OUTPUTXML_CHARFIELD_LIMIT) + + RETURN m.lcReturn + + + ENDPROC + + PROTECTED PROCEDURE getrawformattinginfo && Formulates the appropriate formatting attributes for an element when XMLListener is streaming XML to a file. + LPARAMETERS m.tnLeft, m.tnTop, m.tnWidth, m.tnHeight, m.tnObjectContinuationType + LOCAL m.lcInfo + + m.lcInfo = "" + + m.lcInfo = m.lcInfo + " "+THIS.contAttr+"='"+TRANSFORM(m.tnObjectContinuationType)+"'" + + IF THIS.IncludeFormattingInLayoutObjects + m.lcInfo = m.lcInfo + " "+THIS.leftAttr+"='"+ TRANSFORM(m.tnLeft)+"'" + m.lcInfo = m.lcInfo + " "+THIS.topAttr+"='"+TRANSFORM(m.tnTop)+"'" + m.lcInfo = m.lcInfo + " "+THIS.widthAttr+"='"+TRANSFORM(m.tnWidth)+"'" + m.lcInfo = m.lcInfo + " "+THIS.heightAttr+"='"+TRANSFORM(m.tnHeight)+"'" + ENDIF + RETURN m.lcInfo + ENDPROC + + PROTECTED PROCEDURE getvfprdlcontents && Translates report definition layout metadata, from the FRX and the current report run, into an XML format useful to other applications. + LPARAMETERS m.tcNodeName, m.tlAsString + * NB: no push/pop session here, don't bother + * because we're switching back and forth + * rapidly and not changing anything important + LOCAL m.liSelectCurrent, m.liSelectFRX, m.liSession, ; + m.liFlds, m.liDBFS, m.liIndex1, m.liIndex2, laFlds[1], ; + laDBFS[1], laRels[1], m.lcAlias, m.lcKey, m.llDesc, ; + m.lcFilter, m.lcRel, m.liRels, m.lcSkip, m.lcResult, m.llWholePage + LOCAL m.oXA, m.oXT1, m.oXT2, m.oXT3, m.oXT4, m.oXT5, m.oXML, m.oNode, m.oCommand + m.liSession = SET("DATASESSION") + SET DATASESSION TO THIS.FRXDataSession + m.liSelectFRX = SELECT() + IF THIS.IncludeDataSourcesInVFPRDL + CREATE CURSOR VFPDataSource (the_alias c(200), rpt_driver l, the_dbf m, the_order m, order_desc l, the_filter m, the_skip m ) + CREATE CURSOR flds (the_alias c(200), the_field m, the_type c(1)) + CREATE CURSOR rels (the_parent c(200), the_target c(200), the_expr m) + SELECT flds + INDEX ON the_alias TAG the_alias + SELECT rels + INDEX ON the_parent TAG the_alias + SELECT VFPDataSource + SET RELATION TO the_alias INTO flds, the_alias INTO rels + SET DATASESSION TO THIS.CurrentDataSession + m.liSelectCurrent = SELECT() + m.liDBFS = AUSED(laDBFS) + FOR m.liIndex = 1 TO m.liDBFS + SET DATASESSION TO THIS.CurrentDataSession + m.lcAlias = laDBFs[m.liIndex,1] + SELECT (m.lcAlias) + m.lcDBF = DBF() + m.liFlds = AFIELDS(laFlds) + m.lcKey = SET("ORDER") + m.llDesc = (" DESC" $ UPPER(m.lcKey)) + m.lcFilter = SET("FILTER") + m.lcSkip = SET("SKIP") + IF NOT EMPTY(m.lcKey) + m.lcKey = STRTRAN(UPPER(m.lcKey),"TAG","") + m.liIndex2 = ATC(" OF",m.lcKey) + IF m.liIndex2 > 0 + m.lcKey = LEFT(m.lcKey,m.liIndex2) + ENDIF + m.lcKey = ALLTR(m.lcKey) + m.liTag = TAGNO(m.lcKey) + IF m.liTag > 0 + m.lcKey = KEY(m.liTag) + ELSE + m.lcKey = "" + ENDIF + ENDIF + m.liRels = 0 + STORE "" TO laRels + DO WHILE .T. + m.lcRel = RELATION(m.liRels + 1) + IF EMPTY(m.lcRel) + EXIT + ELSE + m.liRels = m.liRels + 1 + DIME laRels[m.liRels,3] + laRels[m.liRels,1] = TARGET(m.liRels) + laRels[m.liRels,2] = m.lcRel + ENDIF + ENDDO + SET DATASESSION TO THIS.FRXDataSession + INSERT INTO VFPDataSource VALUES (m.lcAlias, (UPPER(m.lcAlias)==UPPER(THIS.Drivingalias)), m.lcDBF, m.lcKey, m.llDesc, m.lcFilter, m.lcSkip) + FOR m.liIndex2 = 1 TO m.liFlds + INSERT INTO flds VALUES (m.lcAlias, laFlds[m.liIndex2,1], laFlds[m.liIndex2,2]) + ENDFOR + FOR m.liIndex2 = 1 TO m.liRels + INSERT INTO rels VALUES (m.lcAlias, laRels[m.liIndex2,1], laRels[m.liIndex2,2]) + ENDFOR + ENDFOR + SET DATASESSION TO THIS.CurrentDataSession + SELECT (m.liSelectCurrent) + ENDIF + SET DATASESSION TO THIS.FRXdataSession + m.lcAlias = THIS.prepareFrxCopy() + m.lcResult = THIS.getFRXLayoutObjectFieldList(m.lcAlias) + SELECT &lcResult ; + FROM (m.lcAlias) ; + LEFT JOIN Bands ON &lcAlias..UniqueID = Bands.UniqueID ; + LEFT JOIN Objects ON &lcAlias..UniqueID = Objects.UniqueID ; + WHERE NOT DELETED() ; + INTO CURSOR VFPFRXLayoutObject READWRITE + THIS.removeFRXCopy(m.lcAlias) + SELECT VFPFRXLayoutObject + * get rid of compiled data: + IF TYPE("VFPFRXLayoutObject.Tag") # "U" + REPLACE Tag WITH "" ALL FOR NOT INLIST(ObjType,FRX_OBJTYP_VARIABLE,FRX_OBJTYP_BAND,FRX_OBJTYP_DATAENV ,FRX_OBJTYP_DATAOBJ) + ENDIF + IF TYPE("VFPFRXLayoutObject.Tag2") # "U" + REPLACE Tag2 WITH "" ALL FOR INLIST(ObjType,FRX_OBJTYP_REPORTHEADER,FRX_OBJTYP_DATAENV,FRX_OBJTYP_DATAOBJ) + ENDIF + IF TYPE("VFPFRXLayoutObject.Fontface") # "U" + REPLACE Fontface WITH "" ALL FOR INLIST(ObjType,FRX_OBJTYP_DATAENV,FRX_OBJTYP_DATAOBJ) + ENDIF + GO TOP IN VFPFRXLayoutObject + m.llWholePage = VFPFRXLayoutObject.Top + SELECT Nodes.ObjValue AS Name, ; + Nodes.ObjType-OUTPUTXML_OBJTYPE_NODES AS Type, ; + Nodes.ObjCode AS Code, ; + Nodes.ObjInfo AS Info ; + FROM Nodes ; + WHERE BETWEEN(ObjType,OUTPUTXML_OBJTYPE_NODES, OUTPUTXML_OBJTYPE_NODES+100) ; + AND NOT DELETED() ; + INTO CURSOR VFPFRXLayoutNode READWRITE + m.liFlds = AMEMBERS(laFlds, THIS,0) + FOR m.liIndex1 = 1 TO m.liFlds + IF ATC("attr",laFlds[m.liIndex1]) > 1 + INSERT INTO VFPFRXLayoutNode VALUES ; + (TRANSFORM(EVALUATE("THIS."+laFlds[m.liIndex1])),; + 0, ; + OUTPUTXML_OBJCODE_ATTRIBMEMBER,; + laFlds[m.liIndex1]+ " attribute nodename") + ENDIF + ENDFOR + m.oXA=CREATEOBJECT("XMLAdapter") + m.oXA.RespectCursorCP = .T. + m.oXT4 = m.oXA.AddTableSchema("VFPFRXLayoutObject") + m.oXT5 = m.oXA.AddTableSchema("VFPFRXLayoutNode") + m.oXA.RespectNesting=.T. + IF THIS.IncludeDataSourcesInVFPRDL + m.oXT1=oXA.AddTableSchema("VFPDataSource") + m.oXT2=oXA.AddTableSchema("flds") + m.oXT3=oXA.AddTableSchema("rels") + m.oXT1.Nest(m.oXT2) + m.oXT1.Nest(m.oXT3) + ENDIF + + m.oXA.XMLSchemaLocation = "" + m.oXA.ToXML("lcResult") + #IF OUTPUTXML = OUTPUTXML_DOM + m.oXML = CREATEOBJECT(OUTPUTXML_DOMFREETHREADED_DOCUMENTOBJECT) + #ELSE + m.oXML = CREATEOBJECT("Microsoft.XMLDOM") + #ENDIF + m.oXML.LoadXML(m.lcResult) + m.oNode = m.oXML.SelectSingleNode("/./*") + IF NOT ISNULL(THIS.CommandClauses) + m.oCommand = m.oXML.createElement("VFPFRXCommand") + m.liFlds = AMEMBERS(laFlds, THIS.CommandClauses) + FOR m.liIndex1 = 1 TO m.liFlds + m.lcKey = EVAL("THIS.CommandClauses."+laFlds[m.liIndex1]) + IF VARTYPE(m.lcKey) = "L" + IF m.lcKey + m.lcKey = "true" + ELSE + m.lcKey = "false" + ENDIF + ENDIF + m.oCommand.SetAttribute(laFlds[m.liIndex1], TRANSFORM(m.lcKey)) + ENDFOR + m.oCommand.SetAttribute("OutputType",TRANSFORM(THIS.OutputType)) + m.oCommand.SetAttribute("appName",THIS.appName) + m.oCommand.SetAttribute("targetFileName",THIS.targetFileName) + m.oNode.appendChild(m.oCommand) + ENDIF + m.oCommand = oXML.createElement("VFPFRXPrintJob") + m.oCommand.SetAttribute("pagewidth", THIS.SharedPageWidth) + m.oCommand.SetAttribute("pageheight", THIS.SharedPageHeight) + m.oCommand.SetAttribute("name",THIS.PrintJobName) + m.oCommand.SetAttribute("pagedesign",IIF(llWholePage,"whole","printable")) + TRY + * if PROMPT was used this will probably work + m.oCommand.SetAttribute("printresolution",TRANSFORM(PRTINFO(PRT_YRESOLUTION ,SET("PRINTER",3)))) + #IF .F. + * OUTPUTXML_RESOLUTIONFIX + * try to reset based on current printer FRX information + GO TOP IN FRX + SELECT FRX + m.liIndex = IIF(ALINES(laFlds,Picture,.T.) > 0, ASCAN(laFlds,"YRESOLUTION"),0) + IF m.liIndex = 0 + m.liIndex = IIF(ALINES(laFlds,Expr,.T.) > 0, ASCAN(laFlds,"YRESOLUTION"),0) + ENDIF + IF m.liIndex > 0 + m.liIndex = VAL(ALLTRIM(SUBSTR(laFlds[liIndex],AT("=",laFlds[m.liIndex])+1))) + IF m.liIndex > 0 + m.oCommand.SetAttribute("printresolution",TRANSFORM(m.liIndex)) + ELSE + m.oCommand.SetAttribute("printresolution","-1") + ENDIF + ENDIF + IF USED("SetPrinter") + USE IN SetPrinter + ENDIF + #ENDIF + CATCH WHEN .T. + * this can happen when there is no printer + m.oCommand.SetAttribute("printresolution","-1") + ENDTRY + m.oNode.appendChild(m.oCommand) + IF THIS.IncludeDataSourcesInVFPRDL + USE IN VFPDataSource + USE IN flds + USE IN rels + ENDIF + USE IN VFPFRXLayoutObject + USE IN VFPFRXLayoutNode + STORE NULL TO m.oXA, m.oXT1, m.oXT2, m.oXT3, m.oXT4, m.oXT5, m.oXML, m.oCommand + SELECT (m.liSelectFRX) + SET DATASESSION TO (m.liSession) + IF tlAsString + RETURN m.oNode.XML + ELSE + RETURN m.oNode + ENDIF + ENDPROC + + PROCEDURE heightattr_assign + LPARAMETERS m.vNewVal + IF (NOT THIS.IsRunning) AND THIS.VerifyNCName(m.vNewVal) + THIS.heightAttr = m.vNewVal + ENDIF + + + + ENDPROC + + PROCEDURE idattribute_assign + LPARAMETERS m.vNewVal + IF (NOT THIS.IsRunning) AND THIS.VerifyNCName(m.vNewVal) + THIS.idattribute = m.vNewVal + ENDIF + + ENDPROC + + PROCEDURE idrefattribute_assign + LPARAMETERS m.vNewVal + IF (NOT THIS.IsRunning) AND THIS.VerifyNCName(m.vNewVal) + THIS.idrefattribute = m.vNewVal + ENDIF + + ENDPROC + + PROCEDURE includebandswithnoobjects_assign + LPARAMETERS m.vNewVal + IF VARTYPE(m.vNewVal) = "L" AND NOT THIS.IsRunning + THIS.IncludeBandsWithNoObjects = m.vNewVal + ENDIF + + ENDPROC + + PROCEDURE includebreaksindata_assign + LPARAMETERS m.vNewVal + * Readonly during report run + + IF VARTYPE(m.vNewVal) = "N" AND ; + INLIST(m.vNewVal, ; + OUTPUTXML_BREAKS_INDATA,; + OUTPUTXML_BREAKS_NONE, ; + OUTPUTXML_BREAKS_COLLECTION) AND ; + NOT THIS.IsRunning + THIS.IncludeBreaksInData = m.vNewVal + ENDIF + + ENDPROC + + PROCEDURE includedatasourcesinvfprdl_assign + LPARAMETERS m.vNewVal + + IF VARTYPE(m.vNewVal) = "L" + THIS.IncludeDataSourcesinVFPRDL = m.vNewVal + ENDIF + + ENDPROC + + PROCEDURE includeformattinginlayoutobjects_assign + LPARAMETERS m.vNewVal + *TBD: evaluate whether + * it's okay to do this during a run? + + IF VARTYPE(m.vNewVal) = "L" + THIS.IncludeFormattingInLayoutObjects = m.vNewVal + ENDIF + + ENDPROC + + PROCEDURE Init + THIS.ReadConfiguration = OUTPUTCLASS_READCONFIG_INIT + + IF DODEFAULT() + THIS.AppName = OUTPUTXML_APPNAME_LOC + THIS.ResetDocument() + ELSE + RETURN .F. + ENDIF + + IF THIS.ApplyUserTransform + THIS.GetDefaultUserXSLT() + ENDIF + RETURN NOT THIS.HadError + ENDPROC + + PROTECTED PROCEDURE insertxmlconfigrecords && Adds a record to the configuration table describing a default XML node when XML Listener is creating or editing a shared configuration table. + * protected, + * assumes it is being called with config + * table already SELECTed. + + DELETE FOR ; + BETWEEN(OBJTYPE,OUTPUTXML_OBJTYPE_NODES, OUTPUTXML_OBJTYPE_NODES + 100) + + INSERT INTO (ALIAS()) VALUES ; + (OUTPUTXML_OBJTYPE_NODES+ FRX_OBJTYP_BAND, ; + FRX_OBJCOD_TITLE,'','Title','Title Band nodename') + INSERT INTO (ALIAS()) VALUES ; + (OUTPUTXML_OBJTYPE_NODES+ FRX_OBJTYP_BAND,; + FRX_OBJCOD_PAGEHEADER,'','PH','Page Header Band nodename') + INSERT INTO (ALIAS()) VALUES ; + (OUTPUTXML_OBJTYPE_NODES+ FRX_OBJTYP_BAND,; + FRX_OBJCOD_COLHEADER,'','CH','Column Header Band nodename') + INSERT INTO (ALIAS()) VALUES ; + (OUTPUTXML_OBJTYPE_NODES+ FRX_OBJTYP_BAND,; + FRX_OBJCOD_GROUPHEADER,'','GH','Group Header Band nodename') + INSERT INTO (ALIAS()) VALUES ; + (OUTPUTXML_OBJTYPE_NODES+ FRX_OBJTYP_BAND, ; + FRX_OBJCOD_DETAIL,'','D','Detail Band nodename') + INSERT INTO (ALIAS()) VALUES ; + (OUTPUTXML_OBJTYPE_NODES+FRX_OBJTYP_BAND, ; + FRX_OBJCOD_GROUPFOOTER,'','GF','Group Footer Band nodename') + INSERT INTO (ALIAS()) VALUES ; + (OUTPUTXML_OBJTYPE_NODES+ FRX_OBJTYP_BAND, ; + FRX_OBJCOD_COLFOOTER,'','CF','Column Footer Band nodename') + INSERT INTO (ALIAS()) VALUES ; + (OUTPUTXML_OBJTYPE_NODES+ FRX_OBJTYP_BAND, ; + FRX_OBJCOD_PAGEFOOTER,'','PF','Page Footer Band nodename') + INSERT INTO (ALIAS()) VALUES ; + (OUTPUTXML_OBJTYPE_NODES+ FRX_OBJTYP_BAND, ; + FRX_OBJCOD_SUMMARY,'','Summary','Summary Band nodename') + INSERT INTO (ALIAS()) VALUES ; + (OUTPUTXML_OBJTYPE_NODES+ FRX_OBJTYP_BAND, ; + FRX_OBJCOD_DETAILHEADER,'','DH','Detail Header Band nodename') + INSERT INTO (ALIAS()) VALUES ; + (OUTPUTXML_OBJTYPE_NODES+ FRX_OBJTYP_BAND, ; + FRX_OBJCOD_DETAILFOOTER,'','DF','Detail Footer Band nodename') + INSERT INTO (ALIAS()) VALUES ; + (OUTPUTXML_OBJTYPE_NODES+ FRX_OBJTYP_REPORTHEADER,; + FRX_OBJCOD_REPORTHEADER ,'','VFP-Report','Report root nodename') + INSERT INTO (ALIAS()) VALUES ; + (OUTPUTXML_OBJTYPE_NODES+ FRX_OBJTYP_LABEL, ; + FRX_OBJCOD_OTHER,'','T','Text object nodename') + INSERT INTO (ALIAS()) VALUES ; + (OUTPUTXML_OBJTYPE_NODES+ FRX_OBJTYP_FIELD, ; + FRX_OBJCOD_OTHER,'','E','Expression object nodename') + INSERT INTO (ALIAS()) VALUES ; + (OUTPUTXML_OBJTYPE_NODES+ FRX_OBJTYP_PICTURE,; + FRX_OBJCOD_OTHER,'','P','Picture object nodename') + INSERT INTO (ALIAS()) VALUES ; + (OUTPUTXML_OBJTYPE_NODES+ FRX_OBJTYP_RECTANGLE,; + FRX_OBJCOD_RECTANGLE,'','S','Shape object nodename') + INSERT INTO (ALIAS()) VALUES ; + (OUTPUTXML_OBJTYPE_NODES+ FRX_OBJTYP_LINE, ; + FRX_OBJCOD_OTHER,'','L','Line object nodename') + INSERT INTO (ALIAS()) VALUES ; + (OUTPUTXML_OBJTYPE_NODES+ FRX_OBJTYP_VARIABLE,; + FRX_OBJCOD_OTHER,'','V','Variable nodename') + INSERT INTO (ALIAS()) VALUES ; + (OUTPUTXML_OBJTYPE_NODES+ FRX_OBJTYP_FONTRES,; + FRX_OBJCOD_OTHER,'','FontRes','FontResource nodename') + INSERT INTO (ALIAS()) VALUES ; + (OUTPUTXML_OBJTYPE_NODES+ FRX_OBJTYP_DATAENV,; + FRX_OBJCOD_OTHER,'','DataEnv','DataEnvironment nodename') + INSERT INTO (ALIAS()) VALUES ; + (OUTPUTXML_OBJTYPE_NODES+ FRX_OBJTYP_DATAOBJ,; + FRX_OBJCOD_OTHER,'','DE-Cursor','DE-Cursor nodename') + INSERT INTO (ALIAS()) VALUES ; + (OUTPUTXML_OBJTYPE_NODES+ FRX_OBJTYP_DATAOBJ, ; + FRX_OBJCOD_OTHER+1,'','DE-Relation','DE-Relation nodename') + * offset the DE Relation because + * this information isn't in ObjType or ObjCode + * as distinct from DE-Cursor other than in the Name field + INSERT INTO (ALIAS()) VALUES ; + (OUTPUTXML_OBJTYPE_NODES+ FRX_OBJTYP_GROUP, ; + FRX_OBJCOD_OTHER,'','Group','Group selector nodename') + INSERT INTO (ALIAS()) VALUES ; + (OUTPUTXML_OBJTYPE_NODES, ; + OUTPUTXML_OBJCODE_DOC,'','Reports','XML Document root nodename') + INSERT INTO (ALIAS()) VALUES ; + (OUTPUTXML_OBJTYPE_NODES,; + OUTPUTXML_OBJCODE_DATA,'','Data','Report scope data root nodename') + INSERT INTO (ALIAS()) VALUES ; + (OUTPUTXML_OBJTYPE_NODES, ; + OUTPUTXML_OBJCODE_RDL,'','VFP-RDL','RDL layout description root nodename') + INSERT INTO (ALIAS()) VALUES ; + (OUTPUTXML_OBJTYPE_NODES, ; + OUTPUTXML_OBJCODE_PAGES,'','Pages','Pages collection root nodename') + INSERT INTO (ALIAS()) VALUES ; + (OUTPUTXML_OBJTYPE_NODES, ; + OUTPUTXML_OBJCODE_COLS,'','Columns','Column collection root nodename') + + ENDPROC + + PROCEDURE invokeoncurrentpass + RETURN (THIS.includePage) AND ; + (NOT THIS.XMLMode = OUTPUTXML_RDL_ONLY ) AND ; + ((NOT THIS.TwoPassProcess) OR THIS.CurrentPass = LISTENER_FULLPASS) + + + + ENDPROC + + PROCEDURE leftattr_assign + LPARAMETERS m.vNewVal + IF (NOT THIS.IsRunning) AND THIS.VerifyNCName(m.vNewVal) + THIS.leftAttr = m.vNewVal + ENDIF + + + ENDPROC + + PROTECTED PROCEDURE loadprocessorobject && Provides a generic means to load an XSLT processor object from a string representing an XSLT document or a filename. + LPARAMETERS m.tcVal + + LOCAL m.loReturn + m.loReturn = NULL + + IF VARTYPE(m.tcVal) = "C" AND NOT EMPTY(m.tcVal) + LOCAL m.loProcessor, m.loStylesheet + m.loProcessor = CREATEOBJECT(OUTPUTXML_XSLT_PROCESSOROBJECT) + m.loStyleSheet = CREATEOBJECT(OUTPUTXML_DOMFREETHREADED_DOCUMENTOBJECT) + IF FILE(m.tcVal) + m.loStyleSheet.Load(m.tcVal) + ELSE + * try to load it as a string + m.loStyleSheet.LoadXML(m.tcVal) + ENDIF + IF LEN(m.loStyleSheet.XML) > 0 AND ; + EMPTY(m.loStyleSheet.parseError.reason) + m.loProcessor.styleSheet = loStyleSheet + m.loReturn = m.loProcessor + * ELSE + * THIS.LastErrorMessage = loSStyleSheet.parseError.reason + ENDIF + ENDIF + + RETURN loReturn + ENDPROC + + PROCEDURE nopageeject_assign + LPARAMETERS m.vNewVal + IF VARTYPE(m.vNewVal) = "L" AND NOT THIS.IsRunning + THIS.NoPageEject = m.vNewVal + ENDIF + + ENDPROC + + PROCEDURE opentargetfile + #IF OUTPUTXML = OUTPUTXML_DOM + THIS.VerifyTargetFile() + THIS.TargetHandle = 0 + RETURN (NOT THIS.HadError) + #ELSE + RETURN DODEFAULT() + #ENDIF + + ENDPROC + + PROTECTED PROCEDURE preparefrxcopy && Prepares FRX alias or copy for use in creating VFP-RDL contents. + LOCAL m.lcAlias, m.lcFile + m.lcAlias = "FRX" + IF EMPTY(SYS(2000,THIS.CommandClauses.File)) AND ; + USED("FRX") + m.lcFile = FORCEEXT(FORCEPATH("F"+SYS(2015), JUSTPATH(THIS.targetFileName)),"FRX") + SELECT 0 + CREATE CURSOR x (onefield l) + * we're in the frxdatasession, this is safe + CREATE REPORT (m.lcFile) FROM (DBF("x")) + USE IN x + SELECT 0 + USE (m.lcFile) EXCLUSIVE ALIAS (JUSTSTEM(m.lcFile)) + m.lcAlias = ALIAS() + ZAP + SELECT FRX + SCAN + SCATTER MEMVAR MEMO + INSERT INTO (m.lcAlias) FROM MEMVAR + ENDSCAN + ENDIF + RETURN m.lcAlias + ENDPROC + + PROTECTED PROCEDURE removefrxcopy && Removes FRX copy used in preparing VFP-RDL. + LPARAMETERS m.tcAlias + LOCAL m.lcFile + IF m.tcAlias # "FRX" + m.lcFile = DBF(m.tcAlias) + USE IN (m.tcAlias) + ERASE (m.lcFile) + ERASE (FORCEEXT(m.lcFile,"FRT")) + ENDIF + + ENDPROC + + PROCEDURE Render + LPARAMETERS m.nFRXRecNo, m.nLeft,m.nTop,m.nWidth,m.nHeight, ; + m.nObjectContinuationType, m.cContentsToBeRendered, m.GDIPlusImage + + DODEFAULT(m.nFRXRecNo, m.nLeft,m.nTop,m.nWidth,m.nHeight, ; + m.nObjectContinuationType, m.cContentsToBeRendered, m.GDIPlusImage) + + IF THIS.InvokeOnCurrentPass() AND ; + THIS.Targethandle > -1 + + * also evaluate THIS.IncludeBreaksInData and + * the band for the object in question. + + * If the stars align, create the node for the object here. For now: + + LOCAL m.lcNode, m.loNode, m.lcFormattingInfo, m.lcContents, ; + m.llTextType, m.loBandRef, m.liBandRecno, m.lcID + + THIS.SetFRXDataSession() + + GO m.nFRXRecNo IN FRX + + + m.lcContents = m.cContentsToBeRendered + m.llTextType = INLIST(FRX.ObjType, FRX_OBJTYP_LABEL, FRX_OBJTYP_FIELD) + m.lcID = TRANSFORM(m.nFRXRecNo) + IF INLIST(m.nObjectContinuationType, ; + LISTENER_CONTINUATION_MIDDLE, ; + LISTENER_CONTINUATION_END) + m.lcID = m.lcID + "+" + ENDIF + + + IF THIS.IncludeBreaksInData = OUTPUTXML_BREAKS_COLLECTION ; + OR (ISNULL(THIS.CurrentPage) AND ISNULL(THIS.CurrentColumn)) + m.lcNode = IIF(SEEK(OUTPUTXML_OBJTYPE_NODES+FRX.ObjType,"Nodes","ObjType"), ; + Nodes.ObjValue,; + OUTPUTXML_GOOFTAG) + + #IF OUTPUTXML = OUTPUTXML_RAW + m.lcFormattingInfo = THIS.GetRawFormattingInfo( m.nLeft, m.nTop, m.nWidth,m.nHeight, m.nObjectContinuationType) + IF m.llTextType + * build 1515: render gets unicode + m.lcContents = STRCONV(TRANSFORM(m.lcContents),STRCONV_UNICODE_UTF8) + ELSE + m.lcContents = TRANSFORM(m.lcContents) + ENDIF + DO CASE + CASE NOT ISNULL(THIS.CurrentPage) + THIS.CurrentPage = THIS.CurrentPage + ; + THIS.XMLRawNode( ; + m.lcNode, ; + m.lcContents, ; + m.lcID,.F.,m.lcFormattingInfo) && FRX.UniqueID + CASE NOT ISNULL(THIS.CurrentColumn) + THIS.CurrentColumn = THIS.CurrentColumn + ; + THIS.XMLRawNode( ; + m.lcNode, ; + m.lcContents, ; + m.lcID,.F.,m.lcFormattingInfo) + OTHERWISE + * write directly to the stream + + * First, take care of continuation. + IF EMPTY(NVL(THIS.CurrentBand,"")) + * first object in a continued band + IF ISNULL(THIS.FRXCursor) + m.liBandRecno = 0 + ELSE + m.loBandRef = THIS.FRXCursor.GetBandFor(FRX.UniqueID, .T.) + SELECT FRX + LOCATE FOR UniqueID == loBandRef.UniqueID + IF EOF() + m.liBandRecno = 0 + ELSE + m.liBandRecno = RECNO() + ENDIF + ENDIF + IF m.liBandRecno = 0 + THIS.CurrentBand = THIS.XMLRawTag(OUTPUTXML_GOOFTAG, .T.,; + "0",TRANSFORM(IIF(THIS.sharedPageNo = 0, THIS.PageNo, THIS.sharedPageNo)) ) + ELSE + THIS.SetCurrentDataSession() + THIS.BeforeBand(FRX_OBJCOD_DETAIL,m.liBandRecno, .T.) + THIS.SetFRXDataSession() + ENDIF + THIS.CurrentBand = THIS.CurrentBand + ; + THIS.XMLRawNode( ; + m.lcNode, ; + m.lcContents, ; + m.lcID,.F.,m.lcFormattingInfo) + IF EOF() + THIS.WriteRaw(THIS.CurrentBand + ; + THIS.XMLRawTag(OUTPUTXML_GOOFTAG)) + THIS.CurrentBand = "" + ENDIF + GO m.nFRXRecNo IN FRX + ELSE + THIS.CurrentBand = THIS.CurrentBand + ; + THIS.XMLRawNode( ; + m.lcNode, ; + m.lcContents, ; + m.lcID,.F., m.lcFormattingInfo) + ENDIF + + ENDCASE + + #ELIF OUTPUTXML = OUTPUTXML_DOTNET + * XMLTextWriter work + #ELSE + * if continuation type is of type 2 or 3 + * and we're in a text type object + * we have to create a new + * continued band node as if a BeforeBand event has occurred. + IF ISNULL(THIS.CurrentBand) + * first object in a continued band + IF ISNULL(THIS.FRXcursor) + m.liBandRecno = 0 + ELSE + m.loBandRef = THIS.FRXCursor.GetBandFor(FRX.UniqueID, .T.) + SELECT FRX + LOCATE FOR UniqueID == m.loBandRef.UniqueID + m.liBandRecno = RECNO() + ENDIF + THIS.SetCurrentDataSession() + IF EOF() + THIS.BeforeBand(FRX_OBJCOD_DETAIL,1, .T.) + ELSE + THIS.BeforeBand(FRX_OBJCOD_DETAIL,m.liBandRecno, .T.) + ENDIF + THIS.SetFRXDataSession() + GO m.nFRXRecNo IN FRX + ENDIF + m.loNode = THIS.CurrentDocument.CreateElement(m.lcNode) + m.lcContents = TRANSFORM(m.lcContents) + * build 1515: render gets unicode, and is already regionally transformed + * EXCEPT if it's a filename for an image, in which case it's DBCS + IF m.llTextType + m.loNode.Text = CREATEBINARY(m.lcContents) + ELSE + m.loNode.Text = m.lcContents + ENDIF + m.loNode.SetAttribute(THIS.IdAttribute,m.lcID) + THIS.SetDOMFormattingInfo( m.loNode, m.nLeft, m.nTop, m.nWidth,m.nHeight, m.nObjectContinuationType) + DO CASE + CASE NOT ISNULL(THIS.CurrentPage) + THIS.CurrentPage.AppendChild(m.loNode) + CASE NOT ISNULL(THIS.CurrentColumn) + THIS.CurrentColumn.AppendChild(m.loNode) + OTHERWISE + THIS.CurrentBand.AppendChild(m.loNode) + ENDCASE + m.loNode = NULL + #ENDIF + ELSE + * otherwise object belongs to a formatting header or footer + * and we're not processing them (XMLBREAKS_NONE) + ENDIF + + THIS.resetDataSession() + + ENDIF + + RETURN + ENDPROC + + PROCEDURE resetdocument && Resets the XML document after a report run. + * Do *not* reset + * page number/total + THIS.ResetReport() + THIS.CloseTargetFile() + THIS.NoPageEject = .F. + IF THIS.HadError + THIS.ResetToDefault("QuietMode") + ENDIF + THIS.CurrentDocument = NULL + + + + + ENDPROC + + PROTECTED PROCEDURE resetreport && Resets information for a report-level node during the production of an XML document that may span multiple reports. + THIS.IncludePage = .T. + THIS.IsRunning = .F. + THIS.DataNodes = NULL + THIS.PageNodes = NULL + THIS.ColumnNodes = NULL + THIS.CurrentBand = NULL + THIS.CurrentPage = NULL + THIS.CurrentColumn = NULL + THIS.FRXCursor = NULL && have to force this, + && because FRXCursor can't be used + && between report runs -- it has + && no notion of switching datasessions + && and won't be able to "find" FRX in + && the next private session for the next run + + THIS.ClearStatus() + + + + + ENDPROC + + PROTECTED PROCEDURE setdomformattinginfo && Formulates the appropriate formatting attributes for an element when XMLListener is using the DOM to create XML. + LPARAMETERS m.toNode, m.tnLeft, m.tnTop, m.tnWidth,m.tnHeight, m.tnObjectContinuationType + + m.toNode.SetAttribute(THIS.ContAttr,TRANSFORM(m.tnObjectContinuationType)) + IF THIS.IncludeFormattingInLayoutObjects + m.toNode.SetAttribute(THIS.LeftAttr,TRANSFORM(m.tnLeft)) + m.toNode.SetAttribute(THIS.TopAttr,TRANSFORM(m.tnTop)) + m.toNode.SetAttribute(THIS.WidthAttr,TRANSFORM(m.tnWidth)) + m.toNode.SetAttribute(THIS.HeightAttr,TRANSFORM(m.tnHeight)) + ENDIF + + ENDPROC + + PROCEDURE setfrxdatasessionenvironment + DODEFAULT() + SET EXACT ON + SET SYSFORMATS ON + SET CENTURY ON + SET SAFETY OFF + ENDPROC + + PROCEDURE setfrxrunstartupconditions + DODEFAULT() + IF TYPE("THIS.CommandClauses.File") # "C" + ADDPROPERTY(THIS.CommandClauses,"File","") + ENDIF + IF TYPE("THIS.CommandClauses.NoPageEject") # "L" + ADDPROPERTY(THIS.CommandClauses,"NoPageEject",.F.) + ENDIF + + ENDPROC + + PROTECTED PROCEDURE synchxsltprocessoruser && Can be called in the assign of any Attribute-setting property to synchronize the XSLT associated with the class witht he new attribute values. + IF THIS.ApplyUserTransform AND NOT ISNULL(THIS.XSLTProcessorUser) + THIS.XSLTProcessorUser = NULL + THIS.ApplyUserTransform = .T. && kickstart + ENDIF + ENDPROC + + PROCEDURE targetfileext_assign + LPARAMETERS m.vNewVal + IF VARTYPE(m.vNewVal) = "C" AND ; + NOT UPPER(ALLTRIM(STRTRAN(m.vNewVal,".",""))) == "TMP" + DODEFAULT(m.vNewVal) + * this class reserves the extension + * TMP for swapping in and out when + * using temporary files and XLSTs transforms + ENDIF + ENDPROC + + PROCEDURE topattr_assign + LPARAMETERS m.vNewVal + IF (NOT THIS.IsRunning) AND THIS.VerifyNCName(m.vNewVal) + THIS.topAttr = m.vNewVal + ENDIF + + ENDPROC + + PROTECTED PROCEDURE verifyattributenames && Hook method called during XML Listener's augmented version of VerifyConfigTable, allowing subclasses to verify attribute names should they decide to store them in the configuration table similar to node names. + * abstract + ENDPROC + + PROCEDURE verifyconfigtable + LPARAMETERS m.tcAlias + + LOCAL m.llReturn, laRequired[1], m.liIndex, m.liSelect, m.liTag, m.lcTag, m.lcIndex + + m.llReturn = DODEFAULT(m.tcAlias) + + IF m.llReturn + * check for required tagnames (used in SEEKs) + + m.liSelect = SELECT() + SELECT (m.tcAlias) + + DIME laRequired[2,2] + laRequired[1,1] = "OBJTYPE" + laRequired[1,2] = "OBJTYPE" + laRequired[2,1] = "FRXNODES" + laRequired[2,2] = NORMALIZE("OBJTYPE+OBJCODE+IIF(OBJTYPE="+ ; + TRANSFORM(FRX_OBJTYP_BAND+OUTPUTXML_OBJTYPE_NODES)+"," + ; + TRANSFORM(OUTPUTXML_OBJTYPE_BANDOFFSET)+",0)") + + FOR m.liIndex = 1 TO ALEN(laRequired,1) + m.liTag = TAGNO(laRequired[m.liIndex,1]) + IF m.liTag = 0 OR NOT NORMALIZE(KEY(m.liTag)) == ; + laRequired[m.liIndex,2] + m.llReturn = .F. + ENDIF + ENDFOR + + IF NOT m.llReturn + + TRY + USE (DBF(m.tcAlias)) EXCLU ALIAS (m.tcAlias) + FOR m.liIndex = 1 TO ALEN(laRequired,1) + m.lcTag = laRequired[m.liIndex,1] + m.lcIndex = laRequired[m.liIndex,2] + INDEX ON &lcIndex TAG &lcTag + ENDFOR + + m.llReturn = .T. + CATCH + ENDTRY + + + IF m.llReturn + FOR m.liIndex = 1 TO ALEN(laRequired,1) + m.liTag = TAGNO(laRequired[m.liIndex,1]) + IF m.liTag = 0 OR NOT NORMALIZE(KEY(m.liTag)) == ; + laRequired[m.liIndex,2] + m.llReturn = .F. + ENDIF + ENDFOR + ENDIF + + USE (DBF(m.tcAlias)) SHARED ALIAS (m.tcAlias) + + + ENDIF + + IF NOT m.llReturn + m.lcMessage = OUTPUTXML_CONFIGTAGMISSING_LOC + CHR(13) + FOR m.liIndex = 1 TO ALEN(laRequired,1) + m.lcMessage = m.lcMessage + ; + CHR(13) + laRequired[m.liIndex,1] + ; + "=" + laRequired[m.liIndex,2] + ENDFOR + THIS.DoMessage(m.lcMessage,MB_ICONSTOP ) + ENDIF + + IF m.llReturn + + * just do one check, this is in case + * a different listener created the config file. + * the XML will run just fine without these records, + * it will just use its gooftag instead of regular + * nodenames if all or any are missing + + IF NOT SEEK( OUTPUTXML_OBJTYPE_NODES+ FRX_OBJTYP_REPORTHEADER, ; + ALIAS(),"ObjType") + TRY + IF IsReadOnly() + USE (DBF(m.tcAlias)) SHARED ALIAS (m.tcAlias) + ENDIF + THIS.InsertXMLConfigRecords() + CATCH + ENDTRY + + ENDIF + + ENDIF + + SELECT (m.liSelect) + + ENDIF + + RETURN m.llReturn + + + ENDPROC + + PROCEDURE verifyncname && Generic method to validate strings as XML-standard NCNames. + LPARAMETERS m.tcName + + LOCAL m.llValid, m.liChar, m.lcChar + + DO CASE + + CASE VARTYPE(m.tcName) # "C" OR EMPTY(m.tcName) + * invalid + CASE LEFT(m.tcName,1) # "_" AND NOT ISALPHA(LEFT(m.tcName,1)) + * invalid + CASE LEFT(UPPER(m.tcName),3) = "XML" + * invalid + OTHERWISE + m.llValid = .T. + FOR m.liChar = 2 TO LEN(tcName) + m.lcChar = SUBSTR(m.tcName,m.liChar,1) + IF NOT (ISALPHA(m.lcChar) OR ; + ISDIGIT(m.lcChar) OR ; + INLIST(m.lcChar,".","-","_")) + m.llValid = .F. + EXIT + ENDIF + ENDFOR + ENDCASE + + RETURN m.llValid + ENDPROC + + PROTECTED PROCEDURE verifynodenames && Method called during XML Listener's augmented version of VerifyConfigTable to check all node values in the configuration table for XML validity. + IF NOT USED("Nodes") + RETURN .F. + ENDIF + IF ISREADONLY("Nodes") + RETURN .T. + ENDIF + + LOCAL m.liSelect, m.llSuccess + m.liSelect = SELECT() + m.llSuccess = .T. + SELECT Nodes + SCAN FOR BETWEEN(ObjType,OUTPUTXML_OBJTYPE_NODES,OUTPUTXML_OBJTYPE_NODES+99) + IF NOT THIS.VerifyNCName(ObjValue) + DELETE + m.llSuccess = .F. + ENDIF + ENDSCAN + + SELECT (m.liSelect) + RETURN m.llSuccess + ENDPROC + + PROCEDURE widthattr_assign + LPARAMETERS m.vNewVal + IF (NOT THIS.IsRunning) AND THIS.VerifyNCName(m.vNewVal) + THIS.widthAttr = m.vNewVal + ENDIF + + ENDPROC + + PROTECTED PROCEDURE writeraw && Used to write raw XML data to a file. + LPARAMETERS m.tcContents + + FWRITE(THIS.TargetHandle, m.tcContents) + + ENDPROC + + PROCEDURE xmlmode_assign + LPARAMETERS m.vNewVal + * Readonly during report run + IF NOT THIS.IsRunning + IF VARTYPE(m.vNewVal) = "N" AND ; + INLIST(m.vNewVal,; + OUTPUTXML_DATA_ONLY,; + OUTPUTXML_RDL_ONLY, ; + OUTPUTXML_DATA_RDL) + THIS.xmlmode = m.vNewVal + ENDIF + ENDIF + + ENDPROC + + PROTECTED PROCEDURE xmlrawconv && Used to convert any control characters to entity references when XML Listener is writing raw XML data to a file. + LPARAMETERS m.tcValue + LOCAL m.lcValue, m.liChar + * must have ampersand as the first STRTRAN() + m.lcValue = STRTRAN(m.tcValue, '&', '&' ) + m.lcValue = STRTRAN(m.lcValue, '<', '<' ) + m.lcValue = STRTRAN(m.lcValue, '>', '>' ) + m.lcValue = STRTRAN(m.lcValue, '"', '"' ) + m.lcValue = STRTRAN(m.lcValue, ['], ''' ) + m.lcValue = CHRTRAN(m.lcValue, CHR(0)+CHR(4), " ") + RETURN m.lcValue + * TBD: make any adjustments + * and, if needed, for different element types if needed + + ENDPROC + + PROTECTED PROCEDURE xmlrawnode && Used to formulate the contents of an XML element node when XML Listener is writing the XML document as raw data to a file. + LPARAMETERS m.tcNode,m.tcValue, m.tvID, m.tvIDRef, m.tvFormatting + LOCAL m.lcValue, m.lcNode + IF PARAMETERS() < 2 + m.lcValue = "" + ELSE + m.lcValue = THIS.XMLRawConv(m.tcValue) + ENDIF + IF EMPTY(m.lcValue) + m.lcNode = THIS.XMLRawTag(m.tcNode,NULL, m.tvID, m.tvIDRef, m.tvFormatting) + ELSE + m.lcNode = THIS.XMLRawTag(m.tcNode, .T., m.tvID, m.tvIDRef, m.tvFormatting)+m.lcValue+THIS.XMLRawTag(m.tcNode) + ENDIF + + RETURN m.lcNode + + ENDPROC + + PROTECTED PROCEDURE xmlrawtag && Used to formulate the contents of an XML tag when XML Listener is writing the XML document as raw data to a file. + LPARAMETERS m.tcNode, m.tlOpen, m.tcID, m.tcIDRef, m.tvFormatting + LOCAL m.lcNode + + IF ISNULL(m.tlOpen) OR m.tlOpen + m.lcNode = "<" + m.tcNode + IF NOT EMPTY(m.tcID) + m.lcNode = m.lcNode + " "+THIS.idAttribute+"='"+m.tcID+"'" + ENDIF + IF NOT EMPTY(m.tcIDRef) + m.lcNode = m.lcNode + " "+THIS.idRefAttribute+"='"+m.tcIDRef+"'" + ENDIF + IF NOT EMPTY(m.tvFormatting) + m.lcNode = m.lcNode + " " + m.tvFormatting + ENDIF + IF ISNULL(m.tlOpen) + m.lcNode = m.lcNode + "/" + ENDIF + m.lcNode = m.lcNode + ">" + ELSE + m.lcNode = "" + ENDIF + + RETURN m.lcNode + ENDPROC + + PROCEDURE xsltparameters_assign + LPARAMETERS m.vNewVal + DO CASE + CASE VARTYPE(m.vNewVal) = "X" + THIS.XSLTParameters= NULL + CASE VARTYPE(m.vNewVal) = "O" + TRY + IF UPPER(m.vNewVal.BaseClass) == "COLLECTION" + THIS.XSLTParameters = m.vNewVal + ENDIF + CATCH + ENDTRY + OTHERWISE + * + ENDCASE + + + + + + + ENDPROC + + PROCEDURE xsltprocessorrdl_assign + LPARAMETERS m.vNewVal + DO CASE + CASE VARTYPE(m.vNewVal) = "X" + THIS.XSLTProcessorRDL = NULL + CASE VARTYPE(m.vNewVal) = "O" + TRY + IF VARTYPE(m.vNewVal.stylesheet) = "O" + THIS.XSLTProcessorRDL = m.vNewVal + ENDIF + CATCH + ENDTRY + CASE VARTYPE(m.vNewVal) = "C" + LOCAL m.loProcessor + m.loProcessor = THIS.LoadProcessorObject(m.vNewVal) + IF NOT ISNULL(m.loProcessor) + THIS.XSLTProcessorRDL = m.loProcessor + ENDIF + ENDCASE + + + + ENDPROC + + PROCEDURE xsltprocessoruser_assign + LPARAMETERS m.vNewVal + DO CASE + CASE VARTYPE(m.vNewVal) = "X" + THIS.XSLTProcessorUser = NULL + CASE VARTYPE(m.vNewVal) = "O" + TRY + IF VARTYPE(m.vNewVal.stylesheet) = "O" + THIS.XSLTProcessorUser = m.vNewVal + ENDIF + CATCH + ENDTRY + CASE VARTYPE(m.vNewVal) = "C" + LOCAL m.loProcessor + m.loProcessor = THIS.LoadProcessorObject(m.vNewVal) + IF NOT ISNULL(m.loProcessor) + THIS.XSLTProcessorUser = m.loProcessor + ENDIF + ENDCASE + + + + ENDPROC + +ENDDEFINE diff --git a/clase/_therm.vc2 b/clase/_therm.vc2 new file mode 100644 index 0000000..c6219a3 --- /dev/null +++ b/clase/_therm.vc2 @@ -0,0 +1,577 @@ +*-------------------------------------------------------------------------------------------------------------------------------------------------------- +* (EN) AUTOGENERATED - ATTENTION!! - NOT INTENDED FOR EXECUTION!! USE ONLY FOR MERGING CHANGES AND STORING WITH SCM TOOLS!! +*-------------------------------------------------------------------------------------------------------------------------------------------------------- +*< FOXBIN2PRG: Version="1.21" SourceFile="_therm.vcx" CPID="1252" /> (Solo para binarios VFP 9 / Only for VFP 9 binaries) +* +* +DEFINE CLASS _progressbar AS container + *< CLASSDATA: Baseclass="container" Timestamp="" Scale="Pixels" Uniqueid="" /> + + *-- OBJECTDATA items order determines ZOrder / El orden de los items OBJECTDATA determina el ZOrder + *< OBJECTDATA: ObjPath="Shape5" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="shpThermBar" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="lblPercentage" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="lblPercentage2" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="shape1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="shape2" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="Shape3" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="Shape4" UniqueID="" Timestamp="" /> + + * + *m: complete + *m: reset && Property Description will appear here. + *m: update + *p: ibasis + *p: ipercentage + *p: iprogress + * + + * + Height = 17 + ibasis = 0 + ipercentage = 0 + iprogress = 0 + Name = "_progressbar" + Width = 333 + * + + ADD OBJECT 'lblPercentage' AS label WITH ; + BackStyle = 0, ; + Caption = "0%", ; + FontName = "MS Sans Serif", ; + FontSize = 8, ; + Height = 13, ; + Left = 159, ; + Name = "lblPercentage", ; + Top = 2, ; + Width = 16 + *< END OBJECT: BaseClass="label" /> + + ADD OBJECT 'lblPercentage2' AS label WITH ; + BackColor = 0,0,255, ; + BackStyle = 0, ; + Caption = "Label1", ; + FontName = "MS Sans Serif", ; + FontSize = 8, ; + ForeColor = 255,255,255, ; + Height = 13, ; + Left = 159, ; + Name = "lblPercentage2", ; + Top = 2, ; + Width = 0 + *< END OBJECT: BaseClass="label" /> + + ADD OBJECT 'shape1' AS shape WITH ; + BorderColor = 128,128,128, ; + Height = 16, ; + Left = 0, ; + Name = "shape1", ; + Top = 0, ; + Width = 1 + *< END OBJECT: BaseClass="shape" /> + + ADD OBJECT 'shape2' AS shape WITH ; + BorderColor = 128,128,128, ; + Height = 1, ; + Left = 0, ; + Name = "shape2", ; + Top = 0, ; + Width = 332 + *< END OBJECT: BaseClass="shape" /> + + ADD OBJECT 'Shape3' AS shape WITH ; + BorderColor = 255,255,255, ; + Height = 1, ; + Left = 0, ; + Name = "Shape3", ; + Top = 16, ; + Width = 333 + *< END OBJECT: BaseClass="shape" /> + + ADD OBJECT 'Shape4' AS shape WITH ; + BorderColor = 255,255,255, ; + Height = 17, ; + Left = 332, ; + Name = "Shape4", ; + Top = 0, ; + Width = 1 + *< END OBJECT: BaseClass="shape" /> + + ADD OBJECT 'Shape5' AS shape WITH ; + BackStyle = 0, ; + BorderWidth = 0, ; + FillColor = 192,192,192, ; + FillStyle = 0, ; + Height = 16, ; + Left = 1, ; + Name = "Shape5", ; + Top = 1, ; + Width = 332 + *< END OBJECT: BaseClass="shape" /> + + ADD OBJECT 'shpThermBar' AS shape WITH ; + BackColor = 128,128,128, ; + BorderStyle = 0, ; + FillColor = 128,128,128, ; + FillStyle = 0, ; + Height = 17, ; + Left = 1, ; + Name = "shpThermBar", ; + Top = 1, ; + Width = 0 + *< END OBJECT: BaseClass="shape" /> + + PROCEDURE complete + local iSeconds + this.Update(iif(this.iBasis <> 0, this.iBasis, 100)) + m.iSeconds=seconds() + .5 + do while seconds() < m.iSeconds + && wait half a sec + enddo + + ENDPROC + + PROCEDURE Init + DECLARE INTEGER GetSysColor IN Win32API INTEGER + this.shpThermBar.FillColor = GetSysColor(13) &&COLOR HIGHLIGHT + this.shape5.FillColor = this.parent.backcolor + + ENDPROC + + PROCEDURE reset && Property Description will appear here. + Lparameters iBasis + this.iBasis = iif(type('m.iBasis') = 'N', m.iBasis, 0) + this.Update(0) + + ENDPROC + + PROCEDURE update + * m.iProgress is the percentage complete, or, if this.iBasis + * is non-zero, is used to calculate the percentage complete. + + Lparameters m.iProgress + + LOCAL iPercentage,iAvgCharWidth + this.iProgress = max(0, m.iProgress) + + if !empty(this.iBasis) + m.iPercentage = int(this.iProgress/this.iBasis*100) + else + m.iPercentage = this.iProgress + endif + m.iPercentage = min(100,max(0,m.iPercentage)) + if m.iPercentage <> this.iPercentage + if len(alltrim(str(m.iPercentage,3)))<>len(alltrim(str(this.iPercentage,3))) + iAvgCharWidth=fontmetric(6,this.lblPercentage.FontName, ; + this.lblPercentage.FontSize, ; + iif(this.lblPercentage.FontBold,'B','')+ ; + iif(this.lblPercentage.FontItalic,'I','')) + this.lblPercentage.Width=txtwidth(alltrim(str(m.iPercentage,3)) + '%', ; + this.lblPercentage.FontName,this.lblPercentage.FontSize, ; + iif(this.lblPercentage.FontBold,'B','')+ ; + iif(this.lblPercentage.FontItalic,'I','')) * iAvgCharWidth + + this.lblPercentage.Left=int((this.Shape5.Width - ; + this.lblPercentage.Width) / 2)+this.shpThermBar.Left-1 + this.lblPercentage2.Left=this.lblPercentage.Left + endif + this.iPercentage = m.iPercentage + + this.shpThermBar.Width = int((this.Shape5.Width)*this.iPercentage/100) + + this.lblPercentage.Caption = alltrim(str(m.iPercentage,3)) + '%' + this.lblPercentage2.Caption = this.lblPercentage.Caption + if this.shpThermBar.Left + this.shpThermBar.Width -1 >= ; + this.lblPercentage2.Left + if this.shpThermBar.Left + this.shpThermBar.Width - 1 >= ; + this.lblPercentage2.Left + this.lblPercentage.Width - 1 + this.lblPercentage2.Width = this.lblPercentage.Width + else + this.lblPercentage2.Width = ; + this.shpThermBar.Left + this.shpThermBar.Width - ; + this.lblPercentage2.Left - 1 + endif + else + this.lblPercentage2.Width = 0 + endif + endif + + ENDPROC + +ENDDEFINE + +DEFINE CLASS _thermometer AS form + *< CLASSDATA: Baseclass="form" Timestamp="" Scale="Pixels" Uniqueid="" /> + + *-- OBJECTDATA items order determines ZOrder / El orden de los items OBJECTDATA determina el ZOrder + *< OBJECTDATA: ObjPath="Shape10" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="Shape9" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="Shape8" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="Shape7" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="Shape6" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="Shape4" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="Shape3" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="Shape2" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="Shape1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="Shape5" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="lblTitle" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="lblTask" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="shpThermBar" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="lblPercentage" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="lblPercentage2" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="Shape11" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="Shape12" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="Shape13" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="Shape14" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="lblEscapeMessage" UniqueID="" Timestamp="" /> + + * + *m: complete && Displays 100% complete thermometer. + *m: update && Updates thermometer. Parameter iProgress, cTask. iProgress - percent to display, cTask - message to display. + *p: ccurrenttask && Current task. + *p: cthermref + *p: ibasis && Basis for calculating percentage. + *p: ipercentage && This is percentage complete to display + *p: iprogress && This is amount complete. + *p: shpthermbarmaxwidth + * + + * + AlwaysOnTop = .F. + AutoCenter = .T. + BorderStyle = 0 + Caption = "" + ccurrenttask = ('') + Closable = .F. + ControlBox = .F. + cthermref = ('') + DoCreate = .T. + Height = 88 + ibasis = (0) + ipercentage = (0) + iprogress = (0) + MaxButton = .F. + MinButton = .F. + Movable = .F. + Name = "_thermometer" + ScaleMode = 3 + shpthermbarmaxwidth = 322 + Width = 356 + * + + ADD OBJECT 'lblEscapeMessage' AS label WITH ; + Alignment = 2, ; + BackColor = 192,192,192, ; + BackStyle = 0, ; + Caption = "", ; + FontBold = .F., ; + FontCharSet = 238, ; + FontName = "Arial", ; + FontSize = 8, ; + Height = 14, ; + Left = 17, ; + Name = "lblEscapeMessage", ; + Top = 68, ; + Width = 322, ; + WordWrap = .F. + *< END OBJECT: BaseClass="label" /> + + ADD OBJECT 'lblPercentage' AS label WITH ; + BackStyle = 0, ; + Caption = "0%", ; + FontName = "MS Sans Serif", ; + FontSize = 8, ; + Height = 13, ; + Left = 170, ; + Name = "lblPercentage", ; + Top = 47, ; + Width = 16 + *< END OBJECT: BaseClass="label" /> + + ADD OBJECT 'lblPercentage2' AS label WITH ; + BackColor = 0,0,255, ; + BackStyle = 0, ; + Caption = "Label1", ; + FontName = "MS Sans Serif", ; + FontSize = 8, ; + ForeColor = 255,255,255, ; + Height = 13, ; + Left = 170, ; + Name = "lblPercentage2", ; + Top = 47, ; + Width = 0 + *< END OBJECT: BaseClass="label" /> + + ADD OBJECT 'lblTask' AS label WITH ; + BackColor = 192,192,192, ; + BackStyle = 0, ; + Caption = "", ; + FontCharSet = 238, ; + FontName = "Arial", ; + FontSize = 8, ; + Height = 16, ; + Left = 18, ; + Name = "lblTask", ; + Top = 27, ; + Width = 319, ; + WordWrap = .F. + *< END OBJECT: BaseClass="label" /> + + ADD OBJECT 'lblTitle' AS label WITH ; + BackColor = 192,192,192, ; + BackStyle = 0, ; + Caption = "", ; + FontCharSet = 238, ; + FontName = "Arial", ; + FontSize = 8, ; + Height = 16, ; + Left = 18, ; + Name = "lblTitle", ; + Top = 14, ; + Width = 319, ; + WordWrap = .F. + *< END OBJECT: BaseClass="label" /> + + ADD OBJECT 'Shape1' AS shape WITH ; + BackStyle = 0, ; + Height = 88, ; + Left = 0, ; + Name = "Shape1", ; + Top = 0, ; + Width = 356 + *< END OBJECT: BaseClass="shape" /> + + ADD OBJECT 'Shape10' AS shape WITH ; + BorderColor = 128,128,128, ; + Height = 81, ; + Left = 3, ; + Name = "Shape10", ; + Top = 3, ; + Width = 1 + *< END OBJECT: BaseClass="shape" /> + + ADD OBJECT 'Shape11' AS shape WITH ; + BorderColor = 128,128,128, ; + Height = 1, ; + Left = 16, ; + Name = "Shape11", ; + Top = 45, ; + Width = 322 + *< END OBJECT: BaseClass="shape" /> + + ADD OBJECT 'Shape12' AS shape WITH ; + BorderColor = 255,255,255, ; + Height = 1, ; + Left = 16, ; + Name = "Shape12", ; + Top = 61, ; + Width = 323 + *< END OBJECT: BaseClass="shape" /> + + ADD OBJECT 'Shape13' AS shape WITH ; + BorderColor = 128,128,128, ; + Height = 16, ; + Left = 16, ; + Name = "Shape13", ; + Top = 45, ; + Width = 1 + *< END OBJECT: BaseClass="shape" /> + + ADD OBJECT 'Shape14' AS shape WITH ; + BorderColor = 255,255,255, ; + Height = 17, ; + Left = 338, ; + Name = "Shape14", ; + Top = 45, ; + Width = 1 + *< END OBJECT: BaseClass="shape" /> + + ADD OBJECT 'Shape2' AS shape WITH ; + BorderColor = 255,255,255, ; + Height = 1, ; + Left = 1, ; + Name = "Shape2", ; + Top = 1, ; + Width = 353 + *< END OBJECT: BaseClass="shape" /> + + ADD OBJECT 'Shape3' AS shape WITH ; + BorderColor = 255,255,255, ; + Height = 85, ; + Left = 1, ; + Name = "Shape3", ; + Top = 1, ; + Width = 1 + *< END OBJECT: BaseClass="shape" /> + + ADD OBJECT 'Shape4' AS shape WITH ; + BorderColor = 128,128,128, ; + Height = 1, ; + Left = 1, ; + Name = "Shape4", ; + Top = 86, ; + Width = 354 + *< END OBJECT: BaseClass="shape" /> + + ADD OBJECT 'Shape5' AS shape WITH ; + BorderStyle = 0, ; + FillColor = 192,192,192, ; + FillStyle = 0, ; + Height = 15, ; + Left = 17, ; + Name = "Shape5", ; + Top = 47, ; + Width = 322 + *< END OBJECT: BaseClass="shape" /> + + ADD OBJECT 'Shape6' AS shape WITH ; + BorderColor = 128,128,128, ; + Height = 86, ; + Left = 354, ; + Name = "Shape6", ; + Top = 1, ; + Width = 1 + *< END OBJECT: BaseClass="shape" /> + + ADD OBJECT 'Shape7' AS shape WITH ; + BorderColor = 255,255,255, ; + Height = 1, ; + Left = 3, ; + Name = "Shape7", ; + Top = 84, ; + Width = 350 + *< END OBJECT: BaseClass="shape" /> + + ADD OBJECT 'Shape8' AS shape WITH ; + BorderColor = 255,255,255, ; + Height = 82, ; + Left = 352, ; + Name = "Shape8", ; + Top = 3, ; + Width = 1 + *< END OBJECT: BaseClass="shape" /> + + ADD OBJECT 'Shape9' AS shape WITH ; + BorderColor = 128,128,128, ; + Height = 1, ; + Left = 3, ; + Name = "Shape9", ; + Top = 3, ; + Width = 349 + *< END OBJECT: BaseClass="shape" /> + + ADD OBJECT 'shpThermBar' AS shape WITH ; + BorderStyle = 0, ; + FillColor = 128,128,128, ; + FillStyle = 0, ; + Height = 16, ; + Left = 17, ; + Name = "shpThermBar", ; + Top = 46, ; + Width = 0 + *< END OBJECT: BaseClass="shape" /> + + PROCEDURE complete && Displays 100% complete thermometer. + * This is the default complete message + Lparameters m.cTask + + #define THERMCOMPLETE_LOC "Terminat." + + LOCAL iSeconds,cThermRef + + if PCOUNT() = 0 + m.cTask = THERMCOMPLETE_LOC + endif + + this.Update(iif(this.iBasis <> 0, this.iBasis, 100), m.cTask) + m.iSeconds=seconds() + 1 + do while seconds() < m.iSeconds + *- wait a sec + enddo + + if !empty(this.cThermRef) + m.cThermRef = this.cThermRef + &cThermRef = .NULL. + release this + endif + + ENDPROC + + PROCEDURE Init + * m.cTitle is displayed on the first line of the window + * m.iBasis is used to calculate the percentage complete + * m.iInterval is the frequency used for updating the thermometer + + Lparameters cTitle, iBasis, iInterval + + this.shape5.fillcolor = this.backcolor && for Win95 compat + this.lblTitle.Caption = iif(empty(m.cTitle),'',m.cTitle) + this.iBasis = iif(empty(m.iBasis),0,m.iBasis) + + this.shpThermBar.FillColor = rgb(128,128,128) + + ENDPROC + + PROCEDURE update && Updates thermometer. Parameter iProgress, cTask. iProgress - percent to display, cTask - message to display. + * m.iProgress is the percentage complete, or, if Init() was passed + * an m.iBasis value, is used to calculate the percentage + * m.cTask is displayed on the second line of the window + + Lparameters m.iProgress, m.cTask + LOCAL iPercentage,iAvgCharWidth + + if parameters()<>0 .and. type('m.iProgress') = 'N' + this.iProgress = max(0, m.iProgress) + endif + if PCOUNT() >= 2 .and. type('m.cTask') = 'C' + * If we're specifically passed a null string, clear the current task, + * otherwise leave it alone + this.cCurrentTask = m.cTask + endif + + if !empty(this.iBasis) + m.iPercentage = int(this.iProgress/this.iBasis*100) + else + m.iPercentage = this.iProgress + endif + m.iPercentage = min(100,max(0,m.iPercentage)) + if m.iPercentage <> this.iPercentage + if len(alltrim(str(m.iPercentage,3)))<>len(alltrim(str(this.iPercentage,3))) + iAvgCharWidth=fontmetric(6,this.lblPercentage.FontName, ; + this.lblPercentage.FontSize, ; + iif(this.lblPercentage.FontBold,'B','')+ ; + iif(this.lblPercentage.FontItalic,'I','')) + this.lblPercentage.Width=txtwidth(alltrim(str(m.iPercentage,3)) + '%', ; + this.lblPercentage.FontName,this.lblPercentage.FontSize, ; + iif(this.lblPercentage.FontBold,'B','')+ ; + iif(this.lblPercentage.FontItalic,'I','')) * iAvgCharWidth + this.lblPercentage.Left=int((this.shpThermBarMaxWidth- ; + this.lblPercentage.Width) / 2)+this.shpThermBar.Left-1 + this.lblPercentage2.Left=this.lblPercentage.Left + endif + this.iPercentage = m.iPercentage + this.shpThermBar.Width = int((this.shpThermBarMaxWidth)*this.iPercentage/100) + this.lblPercentage.Caption = alltrim(str(m.iPercentage,3)) + '%' + this.lblPercentage2.Caption = this.lblPercentage.Caption + if this.shpThermBar.Left + this.shpThermBar.Width -1 >= ; + this.lblPercentage2.Left + if this.shpThermBar.Left + this.shpThermBar.Width - 1 >= ; + this.lblPercentage2.Left + this.lblPercentage.Width - 1 + this.lblPercentage2.Width = this.lblPercentage.Width + else + this.lblPercentage2.Width = ; + this.shpThermBar.Left + this.shpThermBar.Width - ; + this.lblPercentage2.Left - 1 + endif + else + this.lblPercentage2.Width = 0 + endif + endif + + if ! this.lblTask.Caption == this.cCurrentTask + this.lblTask.Caption = this.cCurrentTask + endif + + ENDPROC + +ENDDEFINE diff --git a/clase/_tx_base.vc2 b/clase/_tx_base.vc2 new file mode 100644 index 0000000..28fb971 --- /dev/null +++ b/clase/_tx_base.vc2 @@ -0,0 +1,14 @@ +*-------------------------------------------------------------------------------------------------------------------------------------------------------- +* (EN) AUTOGENERATED - ATTENTION!! - NOT INTENDED FOR EXECUTION!! USE ONLY FOR MERGING CHANGES AND STORING WITH SCM TOOLS!! +*-------------------------------------------------------------------------------------------------------------------------------------------------------- +*< FOXBIN2PRG: Version="1.21" SourceFile="_tx_base.vcx" CPID="1252" /> (Solo para binarios VFP 9 / Only for VFP 9 binaries) +* +* +DEFINE CLASS _txbase AS _textbox OF "_baza.vcx" + *< CLASSDATA: Baseclass="textbox" Timestamp="" Scale="Pixels" Uniqueid="" /> + + * + Name = "tx_simplu" + * + +ENDDEFINE diff --git a/clase/accessibility.vc2 b/clase/accessibility.vc2 new file mode 100644 index 0000000..c7a6689 --- /dev/null +++ b/clase/accessibility.vc2 @@ -0,0 +1,306 @@ +*-------------------------------------------------------------------------------------------------------------------------------------------------------- +* (EN) AUTOGENERATED - ATTENTION!! - NOT INTENDED FOR EXECUTION!! USE ONLY FOR MERGING CHANGES AND STORING WITH SCM TOOLS!! +*-------------------------------------------------------------------------------------------------------------------------------------------------------- +*< FOXBIN2PRG: Version="1.21" SourceFile="accessibility.vcx" CPID="1250" /> (Solo para binarios VFP 9 / Only for VFP 9 binaries) +* +* +DEFINE CLASS cusfonthandler AS custom + *< CLASSDATA: Baseclass="custom" Timestamp="" Scale="Pixels" Uniqueid="" /> + + * + *m: applyfont + *m: applyfonttogrid + *m: changefont + *m: computenewfontsize + *m: getfont + *m: promptforfont + *p: cdefaultfont && The default font to display when prompting the user for the new font, if the target container doesn't have font properties. + *p: cexceptclasses && Clasele exceptate de la marirea fontului: ex: LABEL + *p: cfontname && The name of the font chosen by the user.cResize The name of a class to use for resizing and repositioning controls. + *p: cresizelib && The name of the class library containing the resizer class. + *p: ldrilldown && Indicates whether the new font and size should be applied to contained objects. .T., by default. + *p: lnoresize && Indicates whether the resizing step should be omitted. .F., by default. + *p: ndefaultsize && The default font size to display when prompting the user for the new font, if the target container doesn't have font properties. + *p: nfontsize && The size of the font chosen by the user. + *p: noriginalsize && The original font size of the container (form), used in proportional sizing. + *p: oresize && An object reference to the resizing object. + *p: otarget && An object reference to the object (form) being refonted. + *p: _memberdata && XML Metadata for customizable properties + * + + * + cdefaultfont = Segoe UI + cexceptclasses = + cfontname = Segoe UI + cresizelib = + Height = 17 + ldrilldown = .T. + lnoresize = .T. + Name = "cusfonthandler" + ndefaultsize = 10 + nfontsize = 0 + noriginalsize = 0 + oresize = .NULL. + otarget = .NULL. + Width = 22 + _memberdata = + + + + + + + + + + + + + + + + + * + + PROCEDURE applyfont + * Applies the new font and size to an object and then, recursively, to its contents. + Lparameters oApplyTo + + Local nRatio + If Pemstatus(oApplyTo, "FontName",5) + With oApplyTo + * Compute new font size + nNewSize = This.ComputeNewFontSize(.FontSize) + *!* If nNewSize < 8 + *!* * Handle small fonts + *!* .FontSize = nNewSize + *!* ENDIF + If Pemstatus(oApplyTo,'lChangeFont',5) + If .lChangeFont + .FontName = This.cFontName + Endif + Endif + If Pemstatus(oApplyTo,'lResizeFont',5) + *!* IF .lResizeFont + If .lResizeFont And nNewSize >= 8 + .FontSize = nNewSize + Endif + Endif + Endwith + Endif + + If This.lDrillDown + * Apply the new font to all contained objects + * keeping the fonts proportional + If Pemstatus(oApplyTo, "Objects", 5) + * it's a container, so away we go + Try + For Each oObject In oApplyTo.Objects + * Don't modify objects with lResizeFont = .F. + If Pemstatus(oObject,'lResizeFont',5) + If !oObject.lResizeFont + * Am adaugat linia cu This.ApplyFont pentru ca pot avea alte obiecte in oObject pe care trebuie modificat fontul + * Ex. : un grid dintr-un pageframe + This.ApplyFont(oObject) + Loop + Endif + Endif + If Upper(oObject.BaseClass) = "GRID" + This.ApplyFontToGrid( oObject ) + Else + This.ApplyFont( oObject ) + Endif + Endfor && Each + Catch + Endtry + Endif && Pemstatus + Endif && This.lDrillDown + Return + + ENDPROC + + PROCEDURE applyfonttogrid + * Applies the new font and size to a grid and its contents. Grids require special handling. + * Change font in grid. Special handling is needed + * because any change to a grid or column's FontName + * and FontSize properties is automatically passed down to its members. + Lparameters oGrid As Grid + + Local aGridData[1], oTraverser, oColumn As Column + Local nEntries, nCount, aFontData[1] + oTraverser = CREATEOBJECT("cusTraverseGrid") && Newobject("cusTraverseGrid","Accessibility") + nEntries = oTraverser.BuildGridArray(oGrid, @aGridData) + Release oTraverser + *!* nEntries = Alen(aGridData) + Dimension aFontData[ nEntries, 2] + * Now get original font info + For nCount = 1 To nEntries + aFontData[ nCount, 1 ] = aGridData[ nCount ] + If Pemstatus(aGridData[ nCount ], "FontSize", 5) + aFontData[ nCount, 2 ] = ; + aGridData[ nCount ].FontSize + Else + aFontData[ nCount, 2 ] = -1 + Endif + Endfor + * Now apply font + * First, apply to grid + *!* modificare 13.09.2013 : vreau sa nu imi faca randul mai mic decat era initial + If !Pemstatus(oGrid,"nMinRowHeight",5) + AddProperty(oGrid,"nMinRowHeight",oGrid.RowHeight) + Endif + *!* modificare 13.09.2013 ^ + + *!* modificare 24.09.2013 : vreau sa nu imi faca header-ul mai mic decat era initial + If !Pemstatus(oGrid,"nMinHeaderHeight",5) + AddProperty(oGrid,"nMinHeaderHeight",oGrid.HeaderHeight) + Endif + *!* modificare 13.09.2013 ^ + + oGrid.FontName = This.cFontName + oGrid.FontSize = This.ComputeNewFontSize(oGrid.FontSize) + oGrid.RowHeight = MAX(oGrid.nMinRowHeight,oGrid.RowHeight) && modificare 13.09.2013 + oGrid.HeaderHeight = IIF(oGrid.nMinHeaderHeight = 0, 0, MAX(oGrid.nMinHeaderHeight,oGrid.HeaderHeight)) && modificare 24.09.2013 + * Now apply to grid members from the outside in + * using stored font information + For nCount = 1 To nEntries + If aFontData[ nCount, 2] <> -1 + aFontData[ nCount, 1].FontName = This.cFontName + aFontData[ nCount, 1].FontSize = ; + This.ComputeNewFontSize( aFontData[ nCount, 2] ) + Endif + Endfor + + ENDPROC + + PROCEDURE changefont + Lparameters oTarget, tnResizeFont, tcFontName + * The key method that lets the user choose a new font and size and apply it. + + This.oTarget = m.oTarget + + If This.Getfont(m.tnResizeFont, m.tcFontName) + If Not This.lNoResize And ; + NOT Pemstatus(This.oTarget, "lHasResizerData", 5) + * If we're resizing and haven't saved form info, + * save it now + This.cusResize.SaveFormDimensions( This.oTarget ) + Endif + This.ApplyFont( This.oTarget ) + * Now resize if requested and available + If Not This.lNoResize And ; + PEMSTATUS(This,"cusResize", 5) + * If we're resizing, do it. + This.cusResize.AdjustControls( This.oTarget ) + Endif + Endif && This.GetFont + + ENDPROC + + PROCEDURE computenewfontsize + * Computes the new font size of a control, given the old font size. + Lparameters nOldSize + + Local nRatio, nNewSize + Assert Vartype(nOldSize) = "N" Message "ComputeNewFontSize: Must pass numeric parameter" + nRatio = nOldSize/This.nOriginalSize + nNewSize = Round(This.nFontSize * nRatio,0) + Return nNewSize + + ENDPROC + + PROCEDURE getfont + LPARAMETERS tnResizeFont, tcFontName + * tnFontSize: = just resizes the font, without prompting the user + * Sets things up for the user to choose a new font and size. + + * Let the user choose a font. + Local lReturn + * First, set up defaults + If Pemstatus(This.oTarget,"FontName",5) + This.cFontName = This.oTarget.FontName + This.nFontSize = This.oTarget.FontSize + This.nOriginalSize = This.nFontSize + Else + This.cFontName = This.cDefaultFont + This.nFontSize = This.nDefaultSize + This.nOriginalSize = This.nFontSize + ENDIF + + IF TYPE('tnResizeFont') = 'N' + This.nFontSize = This.nFontSize + m.tnResizeFont + + IF TYPE('tcFontName') = 'C' AND !EMPTY(m.tcFontName) + This.cFontName = m.tcFontName + ENDIF + + lReturn = .T. + else + lReturn = This.PromptForFont() + ENDIF + Return m.lReturn + + ENDPROC + + PROCEDURE promptforfont + * Prompt the user for font input + * and store the results in the right properties + * In this version, the GETFONT() dialog is used + * but the bold and italic settings are ignored. + Local cNewFont, lReturn + cNewFont = Getfont(This.cFontName, This.nFontSize) + + If Not Empty(cNewFont) + Alines(aFontInfo, cNewFont, ",") + This.cFontName = aFontInfo[1] + This.nFontSize = Val(aFontInfo[2]) + lReturn = .T. + Else + lReturn = .F. + Endif + Return lReturn + + ENDPROC + +ENDDEFINE + +DEFINE CLASS custraversegrid AS custom + *< CLASSDATA: Baseclass="custom" Timestamp="" Scale="Pixels" Uniqueid="" /> + + * + *m: buildgridarray && Build an array containing an entry for each object \ncontained in the grid (drilling down to the very bottom level) + *p: _memberdata && XML Metadata for customizable properties + * + + * + Height = 17 + Name = "custraversegrid" + Width = 27 + _memberdata = + + + * + + PROCEDURE buildgridarray && Build an array containing an entry for each object \ncontained in the grid (drilling down to the very bottom level) + Lparameters oGrid, aGridData + Local lnDimension, loColumn, loControl + EXTERNAL ARRAY aGridData + + lnDimension = 0 + + For Each loColumn In oGrid.Columns + lnDimension = lnDimension + 1 + Dimension aGridData[m.lnDimension] + aGridData[m.lnDimension] = m.loColumn + + For Each loControl In loColumn.Controls + lnDimension = lnDimension + 1 + Dimension aGridData[m.lnDimension] + aGridData[m.lnDimension] = m.loControl + Endfor + Endfor + + RETURN m.lnDimension + ENDPROC + +ENDDEFINE diff --git a/clase/anaf_efactura.sc2 b/clase/anaf_efactura.sc2 new file mode 100644 index 0000000..37d3c1c --- /dev/null +++ b/clase/anaf_efactura.sc2 @@ -0,0 +1,529 @@ +*-------------------------------------------------------------------------------------------------------------------------------------------------------- +* (EN) AUTOGENERATED - ATTENTION!! - NOT INTENDED FOR EXECUTION!! USE ONLY FOR MERGING CHANGES AND STORING WITH SCM TOOLS!! +*-------------------------------------------------------------------------------------------------------------------------------------------------------- +*< FOXBIN2PRG: Version="1.21" SourceFile="anaf_efactura.scx" CPID="1252" /> (Solo para binarios VFP 9 / Only for VFP 9 binaries) +* +* +DEFINE CLASS anaf_efactura1 AS anaf_efactura OF "anaf_efactura.vcx" + *< CLASSDATA: Baseclass="form" Timestamp="" Scale="" Uniqueid="" /> + + * + DoCreate = .T. + Name = "Anaf_efactura1" + _shape1.Name = "_shape1" + _shape2.Name = "_shape2" + Lb_titlu_alb_b121.Name = "Lb_titlu_alb_b121" + BUT_TERMIN1.Name = "BUT_TERMIN1" + Gridsort1.Name = "Gridsort1" + But_start_criterii1.Name = "But_start_criterii1" + But_reset_criterii1.Name = "But_reset_criterii1" + But_excel1.Name = "But_excel1" + pgfeFactura.ErasePage = .T. + pgfeFactura.Name = "pgfeFactura" + pgfeFactura.Page1.chkDiferente.Alignment = 0 + pgfeFactura.Page1.chkDiferente.Name = "chkDiferente" + pgfeFactura.Page1.chkErori.Alignment = 0 + pgfeFactura.Page1.chkErori.Name = "chkErori" + pgfeFactura.Page1.chkFortareRaspunsuri.Alignment = 0 + pgfeFactura.Page1.chkFortareRaspunsuri.Name = "chkFortareRaspunsuri" + pgfeFactura.Page1.chkNetrimise.Alignment = 0 + pgfeFactura.Page1.chkNetrimise.Name = "chkNetrimise" + pgfeFactura.Page1.chkPersFizice.Alignment = 0 + pgfeFactura.Page1.chkPersFizice.Name = "chkPersFizice" + pgfeFactura.Page1.chkPJ.Alignment = 0 + pgfeFactura.Page1.chkPJ.Name = "chkPJ" + pgfeFactura.Page1.chkTrimis.Alignment = 0 + pgfeFactura.Page1.chkTrimis.Name = "chkTrimis" + pgfeFactura.Page1.chkTrimise.Alignment = 0 + pgfeFactura.Page1.chkTrimise.Name = "chkTrimise" + pgfeFactura.Page1.chkValidareOnline.Alignment = 0 + pgfeFactura.Page1.chkValidareOnline.Name = "chkValidareOnline" + pgfeFactura.Page1.cmdRaspunsuri.Name = "cmdRaspunsuri" + pgfeFactura.Page1.cmdTrimite.Name = "cmdTrimite" + pgfeFactura.Page1.Cmd_select_adv1.Name = "Cmd_select_adv1" + pgfeFactura.Page1.edtDetalii.Name = "edtDetalii" + pgfeFactura.Page1.grdDetaliiFacturi.Column1.Header1.Name = "Header1" + pgfeFactura.Page1.grdDetaliiFacturi.Column1.Name = "Column1" + pgfeFactura.Page1.grdDetaliiFacturi.Column1.Text1.Name = "Text1" + pgfeFactura.Page1.grdDetaliiFacturi.Column2.Header1.Name = "Header1" + pgfeFactura.Page1.grdDetaliiFacturi.Column2.Name = "Column2" + pgfeFactura.Page1.grdDetaliiFacturi.Column2.Text1.Name = "Text1" + pgfeFactura.Page1.grdDetaliiFacturi.Column3.Header1.Name = "Header1" + pgfeFactura.Page1.grdDetaliiFacturi.Column3.Name = "Column3" + pgfeFactura.Page1.grdDetaliiFacturi.Column3.Text1.Name = "Text1" + pgfeFactura.Page1.grdDetaliiFacturi.Column3._editbox1.Name = "_editbox1" + pgfeFactura.Page1.grdDetaliiFacturi.Column4.Header1.Name = "Header1" + pgfeFactura.Page1.grdDetaliiFacturi.Column4.Name = "Column4" + pgfeFactura.Page1.grdDetaliiFacturi.Column4.Text1.Name = "Text1" + pgfeFactura.Page1.grdDetaliiFacturi.Column5.Header1.Name = "Header1" + pgfeFactura.Page1.grdDetaliiFacturi.Column5.Name = "Column5" + pgfeFactura.Page1.grdDetaliiFacturi.Column5.Text1.Name = "Text1" + pgfeFactura.Page1.grdDetaliiFacturi.Column6.Header1.Name = "Header1" + pgfeFactura.Page1.grdDetaliiFacturi.Column6.Name = "Column6" + pgfeFactura.Page1.grdDetaliiFacturi.Column6.Text1.Name = "Text1" + pgfeFactura.Page1.grdDetaliiFacturi.Column7.Header1.Name = "Header1" + pgfeFactura.Page1.grdDetaliiFacturi.Column7.Name = "Column7" + pgfeFactura.Page1.grdDetaliiFacturi.Column7.Text1.Name = "Text1" + pgfeFactura.Page1.grdDetaliiFacturi.Column8.Header1.Name = "Header1" + pgfeFactura.Page1.grdDetaliiFacturi.Column8.Name = "Column8" + pgfeFactura.Page1.grdDetaliiFacturi.Column8.Text1.Name = "Text1" + pgfeFactura.Page1.grdDetaliiFacturi.Column9.Header1.Name = "Header1" + pgfeFactura.Page1.grdDetaliiFacturi.Column9.Name = "Column9" + pgfeFactura.Page1.grdDetaliiFacturi.Column9.Text1.Name = "Text1" + pgfeFactura.Page1.grdDetaliiFacturi.Name = "grdDetaliiFacturi" + pgfeFactura.Page1.grdFacturiEmise.cAles.Header1.Name = "Header1" + pgfeFactura.Page1.grdFacturiEmise.cAles.Name = "cAles" + pgfeFactura.Page1.grdFacturiEmise.cAles.Text1.Name = "Text1" + pgfeFactura.Page1.grdFacturiEmise.cAles._checkbox1.Alignment = 2 + pgfeFactura.Page1.grdFacturiEmise.cAles._checkbox1.Name = "_checkbox1" + pgfeFactura.Page1.grdFacturiEmise.cClient.Header1.Name = "Header1" + pgfeFactura.Page1.grdFacturiEmise.cClient.Name = "cClient" + pgfeFactura.Page1.grdFacturiEmise.cClient.Text1.Name = "Text1" + pgfeFactura.Page1.grdFacturiEmise.cCodFiscal.Header1.Name = "Header1" + pgfeFactura.Page1.grdFacturiEmise.cCodFiscal.Name = "cCodFiscal" + pgfeFactura.Page1.grdFacturiEmise.cCodFiscal.Text1.Name = "Text1" + pgfeFactura.Page1.grdFacturiEmise.cCurs.Header1.Name = "Header1" + pgfeFactura.Page1.grdFacturiEmise.cCurs.Name = "cCurs" + pgfeFactura.Page1.grdFacturiEmise.cCurs.Text1.Name = "Text1" + pgfeFactura.Page1.grdFacturiEmise.cData.Header1.Name = "Header1" + pgfeFactura.Page1.grdFacturiEmise.cData.Name = "cData" + pgfeFactura.Page1.grdFacturiEmise.cData.Text1.Name = "Text1" + pgfeFactura.Page1.grdFacturiEmise.cDataRaspuns.Header1.Name = "Header1" + pgfeFactura.Page1.grdFacturiEmise.cDataRaspuns.Name = "cDataRaspuns" + pgfeFactura.Page1.grdFacturiEmise.cDataRaspuns.Text1.Name = "Text1" + pgfeFactura.Page1.grdFacturiEmise.cDataTrimis.Header1.Name = "Header1" + pgfeFactura.Page1.grdFacturiEmise.cDataTrimis.Name = "cDataTrimis" + pgfeFactura.Page1.grdFacturiEmise.cDataTrimis.Text1.Name = "Text1" + pgfeFactura.Page1.grdFacturiEmise.cDiferenta.Header1.Name = "Header1" + pgfeFactura.Page1.grdFacturiEmise.cDiferenta.Name = "cDiferenta" + pgfeFactura.Page1.grdFacturiEmise.cDiferenta.Text1.Name = "Text1" + pgfeFactura.Page1.grdFacturiEmise.cId.Header1.Name = "Header1" + pgfeFactura.Page1.grdFacturiEmise.cId.Name = "cId" + pgfeFactura.Page1.grdFacturiEmise.cId.Text1.Name = "Text1" + pgfeFactura.Page1.grdFacturiEmise.cIdIncarcare.Header1.Name = "Header1" + pgfeFactura.Page1.grdFacturiEmise.cIdIncarcare.Name = "cIdIncarcare" + pgfeFactura.Page1.grdFacturiEmise.cIdIncarcare.Text1.Name = "Text1" + pgfeFactura.Page1.grdFacturiEmise.cInValuta.Header1.Name = "Header1" + pgfeFactura.Page1.grdFacturiEmise.cInValuta.Name = "cInValuta" + pgfeFactura.Page1.grdFacturiEmise.cInValuta.Text1.Name = "Text1" + pgfeFactura.Page1.grdFacturiEmise.cInValuta._checkbox1.Alignment = 2 + pgfeFactura.Page1.grdFacturiEmise.cInValuta._checkbox1.Name = "_checkbox1" + pgfeFactura.Page1.grdFacturiEmise.cJtotcTVA.Header1.Name = "Header1" + pgfeFactura.Page1.grdFacturiEmise.cJtotcTVA.Name = "cJtotcTVA" + pgfeFactura.Page1.grdFacturiEmise.cJtotcTVA.Text1.Name = "Text1" + pgfeFactura.Page1.grdFacturiEmise.cMesajRaspuns.Header1.Name = "Header1" + pgfeFactura.Page1.grdFacturiEmise.cMesajRaspuns.Name = "cMesajRaspuns" + pgfeFactura.Page1.grdFacturiEmise.cMesajRaspuns.Text1.Name = "Text1" + pgfeFactura.Page1.grdFacturiEmise.cMesajTrimis.Header1.Name = "Header1" + pgfeFactura.Page1.grdFacturiEmise.cMesajTrimis.Name = "cMesajTrimis" + pgfeFactura.Page1.grdFacturiEmise.cMesajTrimis.Text1.Name = "Text1" + pgfeFactura.Page1.grdFacturiEmise.cNr.Header1.Name = "Header1" + pgfeFactura.Page1.grdFacturiEmise.cNr.Name = "cNr" + pgfeFactura.Page1.grdFacturiEmise.cNr.Text1.Name = "Text1" + pgfeFactura.Page1.grdFacturiEmise.cNumeValuta.Header1.Name = "Header1" + pgfeFactura.Page1.grdFacturiEmise.cNumeValuta.Name = "cNumeValuta" + pgfeFactura.Page1.grdFacturiEmise.cNumeValuta.Text1.Name = "Text1" + pgfeFactura.Page1.grdFacturiEmise.cTest.Header1.Name = "Header1" + pgfeFactura.Page1.grdFacturiEmise.cTest.Name = "cTest" + pgfeFactura.Page1.grdFacturiEmise.cTest.Text1.Name = "Text1" + pgfeFactura.Page1.grdFacturiEmise.cTest._checkbox1.Alignment = 2 + pgfeFactura.Page1.grdFacturiEmise.cTest._checkbox1.Name = "_checkbox1" + pgfeFactura.Page1.grdFacturiEmise.cTipMesajRaspuns.Header1.Name = "Header1" + pgfeFactura.Page1.grdFacturiEmise.cTipMesajRaspuns.Name = "cTipMesajRaspuns" + pgfeFactura.Page1.grdFacturiEmise.cTipMesajRaspuns.Text1.Name = "Text1" + pgfeFactura.Page1.grdFacturiEmise.cTipPersoana.Header1.Name = "Header1" + pgfeFactura.Page1.grdFacturiEmise.cTipPersoana.Name = "cTipPersoana" + pgfeFactura.Page1.grdFacturiEmise.cTipPersoana.Text1.Name = "Text1" + pgfeFactura.Page1.grdFacturiEmise.cTotalCuTVA.Header1.Name = "Header1" + pgfeFactura.Page1.grdFacturiEmise.cTotalCuTVA.Name = "cTotalCuTVA" + pgfeFactura.Page1.grdFacturiEmise.cTotalCuTVA.Text1.Name = "Text1" + pgfeFactura.Page1.grdFacturiEmise.cTotalFaraTVA.Header1.Name = "Header1" + pgfeFactura.Page1.grdFacturiEmise.cTotalFaraTVA.Name = "cTotalFaraTVA" + pgfeFactura.Page1.grdFacturiEmise.cTotalFaraTVA.Text1.Name = "Text1" + pgfeFactura.Page1.grdFacturiEmise.cTotalTVA.Header1.Name = "Header1" + pgfeFactura.Page1.grdFacturiEmise.cTotalTVA.Name = "cTotalTVA" + pgfeFactura.Page1.grdFacturiEmise.cTotalTVA.Text1.Name = "Text1" + pgfeFactura.Page1.grdFacturiEmise.cTotVal.Header1.Name = "Header1" + pgfeFactura.Page1.grdFacturiEmise.cTotVal.Name = "cTotVal" + pgfeFactura.Page1.grdFacturiEmise.cTotVal.Text1.Name = "Text1" + pgfeFactura.Page1.grdFacturiEmise.cTrimis.Header1.Name = "Header1" + pgfeFactura.Page1.grdFacturiEmise.cTrimis.Name = "cTrimis" + pgfeFactura.Page1.grdFacturiEmise.cTrimis.Text1.Name = "Text1" + pgfeFactura.Page1.grdFacturiEmise.cTrimis._checkbox1.Alignment = 2 + pgfeFactura.Page1.grdFacturiEmise.cTrimis._checkbox1.Name = "_checkbox1" + pgfeFactura.Page1.grdFacturiEmise.cTvaVal.Header1.Name = "Header1" + pgfeFactura.Page1.grdFacturiEmise.cTvaVal.Name = "cTvaVal" + pgfeFactura.Page1.grdFacturiEmise.cTvaVal.Text1.Name = "Text1" + pgfeFactura.Page1.grdFacturiEmise.cUtilizator.Header1.Name = "Header1" + pgfeFactura.Page1.grdFacturiEmise.cUtilizator.Name = "cUtilizator" + pgfeFactura.Page1.grdFacturiEmise.cUtilizator.Text1.Name = "Text1" + pgfeFactura.Page1.grdFacturiEmise.cValVal.Header1.Name = "Header1" + pgfeFactura.Page1.grdFacturiEmise.cValVal.Name = "cValVal" + pgfeFactura.Page1.grdFacturiEmise.cValVal.Text1.Name = "Text1" + pgfeFactura.Page1.grdFacturiEmise.cxDiscount.Header1.Name = "Header1" + pgfeFactura.Page1.grdFacturiEmise.cxDiscount.Name = "cxDiscount" + pgfeFactura.Page1.grdFacturiEmise.cxDiscount.Text1.Name = "Text1" + pgfeFactura.Page1.grdFacturiEmise.cxNumeValuta.Header1.Name = "Header1" + pgfeFactura.Page1.grdFacturiEmise.cxNumeValuta.Name = "cxNumeValuta" + pgfeFactura.Page1.grdFacturiEmise.cxNumeValuta.Text1.Name = "Text1" + pgfeFactura.Page1.grdFacturiEmise.cxTaxe.Header1.Name = "Header1" + pgfeFactura.Page1.grdFacturiEmise.cxTaxe.Name = "cxTaxe" + pgfeFactura.Page1.grdFacturiEmise.cxTaxe.Text1.Name = "Text1" + pgfeFactura.Page1.grdFacturiEmise.cxTotalCuTVA.Header1.Name = "Header1" + pgfeFactura.Page1.grdFacturiEmise.cxTotalCuTVA.Name = "cxTotalCuTVA" + pgfeFactura.Page1.grdFacturiEmise.cxTotalCuTVA.Text1.Name = "Text1" + pgfeFactura.Page1.grdFacturiEmise.cxTotalDePlata.Header1.Name = "Header1" + pgfeFactura.Page1.grdFacturiEmise.cxTotalDePlata.Name = "cxTotalDePlata" + pgfeFactura.Page1.grdFacturiEmise.cxTotalDePlata.Text1.Name = "Text1" + pgfeFactura.Page1.grdFacturiEmise.cxTotalFaraTVA.Header1.Name = "Header1" + pgfeFactura.Page1.grdFacturiEmise.cxTotalFaraTVA.Name = "cxTotalFaraTVA" + pgfeFactura.Page1.grdFacturiEmise.cxTotalFaraTVA.Text1.Name = "Text1" + pgfeFactura.Page1.grdFacturiEmise.cxTotalTVA.Header1.Name = "Header1" + pgfeFactura.Page1.grdFacturiEmise.cxTotalTVA.Name = "cxTotalTVA" + pgfeFactura.Page1.grdFacturiEmise.cxTotalTVA.Text1.Name = "Text1" + pgfeFactura.Page1.grdFacturiEmise.cxValoareFaraTVA.Header1.Name = "Header1" + pgfeFactura.Page1.grdFacturiEmise.cxValoareFaraTVA.Name = "cxValoareFaraTVA" + pgfeFactura.Page1.grdFacturiEmise.cxValoareFaraTVA.Text1.Name = "Text1" + pgfeFactura.Page1.grdFacturiEmise.Name = "grdFacturiEmise" + pgfeFactura.Page1.Gridextra1.Name = "Gridextra1" + pgfeFactura.Page1.Gridextra2.Name = "Gridextra2" + pgfeFactura.Page1.lblDetalii.Name = "lblDetalii" + pgfeFactura.Page1.lblMesajRaspuns.Name = "lblMesajRaspuns" + pgfeFactura.Page1.lblMesajTrimis.Name = "lblMesajTrimis" + pgfeFactura.Page1.Name = "Page1" + pgfeFactura.Page1.PageOrder = 1 + pgfeFactura.Page1.txtMesajRaspuns.Name = "txtMesajRaspuns" + pgfeFactura.Page1.txtMesajTrimis.Name = "txtMesajTrimis" + pgfeFactura.Page1._grdfooter1.Name = "_grdfooter1" + pgfeFactura.Page1._shape1.Name = "_shape1" + pgfeFactura.Page2.edtDetalii.Name = "edtDetalii" + pgfeFactura.Page2.grdDetaliiFacturi.Column1.Header1.Name = "Header1" + pgfeFactura.Page2.grdDetaliiFacturi.Column1.Name = "Column1" + pgfeFactura.Page2.grdDetaliiFacturi.Column1.Text1.Name = "Text1" + pgfeFactura.Page2.grdDetaliiFacturi.Column2.Header1.Name = "Header1" + pgfeFactura.Page2.grdDetaliiFacturi.Column2.Name = "Column2" + pgfeFactura.Page2.grdDetaliiFacturi.Column2.Text1.Name = "Text1" + pgfeFactura.Page2.grdDetaliiFacturi.Column3.Header1.Name = "Header1" + pgfeFactura.Page2.grdDetaliiFacturi.Column3.Name = "Column3" + pgfeFactura.Page2.grdDetaliiFacturi.Column3.Text1.Name = "Text1" + pgfeFactura.Page2.grdDetaliiFacturi.Column3._editbox1.Name = "_editbox1" + pgfeFactura.Page2.grdDetaliiFacturi.Column4.Header1.Name = "Header1" + pgfeFactura.Page2.grdDetaliiFacturi.Column4.Name = "Column4" + pgfeFactura.Page2.grdDetaliiFacturi.Column4.Text1.Name = "Text1" + pgfeFactura.Page2.grdDetaliiFacturi.Column5.Header1.Name = "Header1" + pgfeFactura.Page2.grdDetaliiFacturi.Column5.Name = "Column5" + pgfeFactura.Page2.grdDetaliiFacturi.Column5.Text1.Name = "Text1" + pgfeFactura.Page2.grdDetaliiFacturi.Column6.Header1.Name = "Header1" + pgfeFactura.Page2.grdDetaliiFacturi.Column6.Name = "Column6" + pgfeFactura.Page2.grdDetaliiFacturi.Column6.Text1.Name = "Text1" + pgfeFactura.Page2.grdDetaliiFacturi.Column7.Header1.Name = "Header1" + pgfeFactura.Page2.grdDetaliiFacturi.Column7.Name = "Column7" + pgfeFactura.Page2.grdDetaliiFacturi.Column7.Text1.Name = "Text1" + pgfeFactura.Page2.grdDetaliiFacturi.Column8.Header1.Name = "Header1" + pgfeFactura.Page2.grdDetaliiFacturi.Column8.Name = "Column8" + pgfeFactura.Page2.grdDetaliiFacturi.Column8.Text1.Name = "Text1" + pgfeFactura.Page2.grdDetaliiFacturi.Column9.Header1.Name = "Header1" + pgfeFactura.Page2.grdDetaliiFacturi.Column9.Name = "Column9" + pgfeFactura.Page2.grdDetaliiFacturi.Column9.Text1.Name = "Text1" + pgfeFactura.Page2.grdDetaliiFacturi.Name = "grdDetaliiFacturi" + pgfeFactura.Page2.grdFacturiPrimite.cAles.Header1.Name = "Header1" + pgfeFactura.Page2.grdFacturiPrimite.cAles.Name = "cAles" + pgfeFactura.Page2.grdFacturiPrimite.cAles.Text1.Name = "Text1" + pgfeFactura.Page2.grdFacturiPrimite.cAles._checkbox1.Alignment = 2 + pgfeFactura.Page2.grdFacturiPrimite.cAles._checkbox1.Name = "_checkbox1" + pgfeFactura.Page2.grdFacturiPrimite.cCodFiscalEmitent.Header1.Name = "Header1" + pgfeFactura.Page2.grdFacturiPrimite.cCodFiscalEmitent.Name = "cCodFiscalEmitent" + pgfeFactura.Page2.grdFacturiPrimite.cCodFiscalEmitent.Text1.Name = "Text1" + pgfeFactura.Page2.grdFacturiPrimite.cData.Header1.Name = "Header1" + pgfeFactura.Page2.grdFacturiPrimite.cData.Name = "cData" + pgfeFactura.Page2.grdFacturiPrimite.cData.Text1.Name = "Text1" + pgfeFactura.Page2.grdFacturiPrimite.cDataScad.Header1.Name = "Header1" + pgfeFactura.Page2.grdFacturiPrimite.cDataScad.Name = "cDataScad" + pgfeFactura.Page2.grdFacturiPrimite.cDataScad.Text1.Name = "Text1" + pgfeFactura.Page2.grdFacturiPrimite.cDataTrimis.Header1.Name = "Header1" + pgfeFactura.Page2.grdFacturiPrimite.cDataTrimis.Name = "cDataTrimis" + pgfeFactura.Page2.grdFacturiPrimite.cDataTrimis.Text1.Name = "Text1" + pgfeFactura.Page2.grdFacturiPrimite.cDescarcat.Header1.Name = "Header1" + pgfeFactura.Page2.grdFacturiPrimite.cDescarcat.Name = "cDescarcat" + pgfeFactura.Page2.grdFacturiPrimite.cDescarcat.Text1.Name = "Text1" + pgfeFactura.Page2.grdFacturiPrimite.cDescarcat._checkbox1.Alignment = 2 + pgfeFactura.Page2.grdFacturiPrimite.cDescarcat._checkbox1.Name = "_checkbox1" + pgfeFactura.Page2.grdFacturiPrimite.cDescriere.Header1.Name = "Header1" + pgfeFactura.Page2.grdFacturiPrimite.cDescriere.Name = "cDescriere" + pgfeFactura.Page2.grdFacturiPrimite.cDescriere.Text1.Name = "Text1" + pgfeFactura.Page2.grdFacturiPrimite.cDescriere._editbox1.Name = "_editbox1" + pgfeFactura.Page2.grdFacturiPrimite.cDetaliiPlata.Header1.Name = "Header1" + pgfeFactura.Page2.grdFacturiPrimite.cDetaliiPlata.Name = "cDetaliiPlata" + pgfeFactura.Page2.grdFacturiPrimite.cDetaliiPlata.Text1.Name = "Text1" + pgfeFactura.Page2.grdFacturiPrimite.cDetaliiPlata._editbox1.Name = "_editbox1" + pgfeFactura.Page2.grdFacturiPrimite.cDiferenta.Header1.Name = "Header1" + pgfeFactura.Page2.grdFacturiPrimite.cDiferenta.Name = "cDiferenta" + pgfeFactura.Page2.grdFacturiPrimite.cDiferenta.Text1.Name = "Text1" + pgfeFactura.Page2.grdFacturiPrimite.cDiscount.Header1.Name = "Header1" + pgfeFactura.Page2.grdFacturiPrimite.cDiscount.Name = "cDiscount" + pgfeFactura.Page2.grdFacturiPrimite.cDiscount.Text1.Name = "Text1" + pgfeFactura.Page2.grdFacturiPrimite.cFilePath.Header1.Name = "Header1" + pgfeFactura.Page2.grdFacturiPrimite.cFilePath.Name = "cFilePath" + pgfeFactura.Page2.grdFacturiPrimite.cFilePath.Text1.Name = "Text1" + pgfeFactura.Page2.grdFacturiPrimite.cId.Header1.Name = "Header1" + pgfeFactura.Page2.grdFacturiPrimite.cId.Name = "cId" + pgfeFactura.Page2.grdFacturiPrimite.cId.Text1.Name = "Text1" + pgfeFactura.Page2.grdFacturiPrimite.cIdDescarcare.Header1.Name = "Header1" + pgfeFactura.Page2.grdFacturiPrimite.cIdDescarcare.Name = "cIdDescarcare" + pgfeFactura.Page2.grdFacturiPrimite.cIdDescarcare.Text1.Name = "Text1" + pgfeFactura.Page2.grdFacturiPrimite.cIdIncarcare.Header1.Name = "Header1" + pgfeFactura.Page2.grdFacturiPrimite.cIdIncarcare.Name = "cIdIncarcare" + pgfeFactura.Page2.grdFacturiPrimite.cIdIncarcare.Text1.Name = "Text1" + pgfeFactura.Page2.grdFacturiPrimite.cJtotcTVA.Header1.Name = "Header1" + pgfeFactura.Page2.grdFacturiPrimite.cJtotcTVA.Name = "cJtotcTVA" + pgfeFactura.Page2.grdFacturiPrimite.cJtotcTVA.Text1.Name = "Text1" + pgfeFactura.Page2.grdFacturiPrimite.cNr.Header1.Name = "Header1" + pgfeFactura.Page2.grdFacturiPrimite.cNr.Name = "cNr" + pgfeFactura.Page2.grdFacturiPrimite.cNr.Text1.Name = "Text1" + pgfeFactura.Page2.grdFacturiPrimite.cNumeValuta.Header1.Name = "Header1" + pgfeFactura.Page2.grdFacturiPrimite.cNumeValuta.Name = "cNumeValuta" + pgfeFactura.Page2.grdFacturiPrimite.cNumeValuta.Text1.Name = "Text1" + pgfeFactura.Page2.grdFacturiPrimite.cProcesat.Header1.Name = "Header1" + pgfeFactura.Page2.grdFacturiPrimite.cProcesat.Name = "cProcesat" + pgfeFactura.Page2.grdFacturiPrimite.cProcesat.Text1.Name = "Text1" + pgfeFactura.Page2.grdFacturiPrimite.cProcesat._checkbox1.Alignment = 2 + pgfeFactura.Page2.grdFacturiPrimite.cProcesat._checkbox1.Name = "_checkbox1" + pgfeFactura.Page2.grdFacturiPrimite.cProcesatServer.Header1.Name = "Header1" + pgfeFactura.Page2.grdFacturiPrimite.cProcesatServer.Name = "cProcesatServer" + pgfeFactura.Page2.grdFacturiPrimite.cProcesatServer.Text1.Name = "Text1" + pgfeFactura.Page2.grdFacturiPrimite.cProcesatServer._checkbox1.Alignment = 2 + pgfeFactura.Page2.grdFacturiPrimite.cProcesatServer._checkbox1.Name = "_checkbox1" + pgfeFactura.Page2.grdFacturiPrimite.cTaxe.Header1.Name = "Header1" + pgfeFactura.Page2.grdFacturiPrimite.cTaxe.Name = "cTaxe" + pgfeFactura.Page2.grdFacturiPrimite.cTaxe.Text1.Name = "Text1" + pgfeFactura.Page2.grdFacturiPrimite.cTipMesajRaspuns.Header1.Name = "Header1" + pgfeFactura.Page2.grdFacturiPrimite.cTipMesajRaspuns.Name = "cTipMesajRaspuns" + pgfeFactura.Page2.grdFacturiPrimite.cTipMesajRaspuns.Text1.Name = "Text1" + pgfeFactura.Page2.grdFacturiPrimite.cTotalCuTVA.Header1.Name = "Header1" + pgfeFactura.Page2.grdFacturiPrimite.cTotalCuTVA.Name = "cTotalCuTVA" + pgfeFactura.Page2.grdFacturiPrimite.cTotalCuTVA.Text1.Name = "Text1" + pgfeFactura.Page2.grdFacturiPrimite.cTotaldePlata.Header1.Name = "Header1" + pgfeFactura.Page2.grdFacturiPrimite.cTotaldePlata.Name = "cTotaldePlata" + pgfeFactura.Page2.grdFacturiPrimite.cTotaldePlata.Text1.Name = "Text1" + pgfeFactura.Page2.grdFacturiPrimite.cTotalFaraTVA.Header1.Name = "Header1" + pgfeFactura.Page2.grdFacturiPrimite.cTotalFaraTVA.Name = "cTotalFaraTVA" + pgfeFactura.Page2.grdFacturiPrimite.cTotalFaraTVA.Text1.Name = "Text1" + pgfeFactura.Page2.grdFacturiPrimite.cTotalTVA.Header1.Name = "Header1" + pgfeFactura.Page2.grdFacturiPrimite.cTotalTVA.Name = "cTotalTVA" + pgfeFactura.Page2.grdFacturiPrimite.cTotalTVA.Text1.Name = "Text1" + pgfeFactura.Page2.grdFacturiPrimite.cTotalTVARON.Header1.Name = "Header1" + pgfeFactura.Page2.grdFacturiPrimite.cTotalTVARON.Name = "cTotalTVARON" + pgfeFactura.Page2.grdFacturiPrimite.cTotalTVARON.Text1.Name = "Text1" + pgfeFactura.Page2.grdFacturiPrimite.cValoareFaraTVA.Header1.Name = "Header1" + pgfeFactura.Page2.grdFacturiPrimite.cValoareFaraTVA.Name = "cValoareFaraTVA" + pgfeFactura.Page2.grdFacturiPrimite.cValoareFaraTVA.Text1.Name = "Text1" + pgfeFactura.Page2.grdFacturiPrimite.cXClient.Header1.Name = "Header1" + pgfeFactura.Page2.grdFacturiPrimite.cXClient.Name = "cXClient" + pgfeFactura.Page2.grdFacturiPrimite.cXClient.Text1.Name = "Text1" + pgfeFactura.Page2.grdFacturiPrimite.cXFurnizor.Header1.Name = "Header1" + pgfeFactura.Page2.grdFacturiPrimite.cXFurnizor.Name = "cXFurnizor" + pgfeFactura.Page2.grdFacturiPrimite.cXFurnizor.Text1.Name = "Text1" + pgfeFactura.Page2.grdFacturiPrimite.Name = "grdFacturiPrimite" + pgfeFactura.Page2.Gridextra1.Name = "Gridextra1" + pgfeFactura.Page2.Gridextra2.Name = "Gridextra2" + pgfeFactura.Page2.lblDetalii.Name = "lblDetalii" + pgfeFactura.Page2.lblMesajRaspuns.Name = "lblMesajRaspuns" + pgfeFactura.Page2.Name = "Page2" + pgfeFactura.Page2.PageOrder = 3 + pgfeFactura.Page2.txtMesajRaspuns.Name = "txtMesajRaspuns" + pgfeFactura.Page2._grdfooter1.Name = "_grdfooter1" + pgfeFactura.Page2._shape1.Name = "_shape1" + pgfeFactura.Page3.edtDetalii.Name = "edtDetalii" + pgfeFactura.Page3.grdDetaliiFacturi.Column1.Header1.Name = "Header1" + pgfeFactura.Page3.grdDetaliiFacturi.Column1.Name = "Column1" + pgfeFactura.Page3.grdDetaliiFacturi.Column1.Text1.Name = "Text1" + pgfeFactura.Page3.grdDetaliiFacturi.Column2.Header1.Name = "Header1" + pgfeFactura.Page3.grdDetaliiFacturi.Column2.Name = "Column2" + pgfeFactura.Page3.grdDetaliiFacturi.Column2.Text1.Name = "Text1" + pgfeFactura.Page3.grdDetaliiFacturi.Column3.Header1.Name = "Header1" + pgfeFactura.Page3.grdDetaliiFacturi.Column3.Name = "Column3" + pgfeFactura.Page3.grdDetaliiFacturi.Column3.Text1.Name = "Text1" + pgfeFactura.Page3.grdDetaliiFacturi.Column3._editbox1.Name = "_editbox1" + pgfeFactura.Page3.grdDetaliiFacturi.Column4.Header1.Name = "Header1" + pgfeFactura.Page3.grdDetaliiFacturi.Column4.Name = "Column4" + pgfeFactura.Page3.grdDetaliiFacturi.Column4.Text1.Name = "Text1" + pgfeFactura.Page3.grdDetaliiFacturi.Column5.Header1.Name = "Header1" + pgfeFactura.Page3.grdDetaliiFacturi.Column5.Name = "Column5" + pgfeFactura.Page3.grdDetaliiFacturi.Column5.Text1.Name = "Text1" + pgfeFactura.Page3.grdDetaliiFacturi.Column6.Header1.Name = "Header1" + pgfeFactura.Page3.grdDetaliiFacturi.Column6.Name = "Column6" + pgfeFactura.Page3.grdDetaliiFacturi.Column6.Text1.Name = "Text1" + pgfeFactura.Page3.grdDetaliiFacturi.Column7.Header1.Name = "Header1" + pgfeFactura.Page3.grdDetaliiFacturi.Column7.Name = "Column7" + pgfeFactura.Page3.grdDetaliiFacturi.Column7.Text1.Name = "Text1" + pgfeFactura.Page3.grdDetaliiFacturi.Column8.Header1.Name = "Header1" + pgfeFactura.Page3.grdDetaliiFacturi.Column8.Name = "Column8" + pgfeFactura.Page3.grdDetaliiFacturi.Column8.Text1.Name = "Text1" + pgfeFactura.Page3.grdDetaliiFacturi.Column9.Header1.Name = "Header1" + pgfeFactura.Page3.grdDetaliiFacturi.Column9.Name = "Column9" + pgfeFactura.Page3.grdDetaliiFacturi.Column9.Text1.Name = "Text1" + pgfeFactura.Page3.grdDetaliiFacturi.Name = "grdDetaliiFacturi" + pgfeFactura.Page3.grdFacturiTrimise.cAles.Header1.Name = "Header1" + pgfeFactura.Page3.grdFacturiTrimise.cAles.Name = "cAles" + pgfeFactura.Page3.grdFacturiTrimise.cAles.Text1.Name = "Text1" + pgfeFactura.Page3.grdFacturiTrimise.cAles._checkbox1.Alignment = 2 + pgfeFactura.Page3.grdFacturiTrimise.cAles._checkbox1.Name = "_checkbox1" + pgfeFactura.Page3.grdFacturiTrimise.cCodFiscalBeneficiar.Header1.Name = "Header1" + pgfeFactura.Page3.grdFacturiTrimise.cCodFiscalBeneficiar.Name = "cCodFiscalBeneficiar" + pgfeFactura.Page3.grdFacturiTrimise.cCodFiscalBeneficiar.Text1.Name = "Text1" + pgfeFactura.Page3.grdFacturiTrimise.cData.Header1.Name = "Header1" + pgfeFactura.Page3.grdFacturiTrimise.cData.Name = "cData" + pgfeFactura.Page3.grdFacturiTrimise.cData.Text1.Name = "Text1" + pgfeFactura.Page3.grdFacturiTrimise.cDataScad.Header1.Name = "Header1" + pgfeFactura.Page3.grdFacturiTrimise.cDataScad.Name = "cDataScad" + pgfeFactura.Page3.grdFacturiTrimise.cDataScad.Text1.Name = "Text1" + pgfeFactura.Page3.grdFacturiTrimise.cDataTrimis.Header1.Name = "Header1" + pgfeFactura.Page3.grdFacturiTrimise.cDataTrimis.Name = "cDataTrimis" + pgfeFactura.Page3.grdFacturiTrimise.cDataTrimis.Text1.Name = "Text1" + pgfeFactura.Page3.grdFacturiTrimise.cDescarcat.Header1.Name = "Header1" + pgfeFactura.Page3.grdFacturiTrimise.cDescarcat.Name = "cDescarcat" + pgfeFactura.Page3.grdFacturiTrimise.cDescarcat.Text1.Name = "Text1" + pgfeFactura.Page3.grdFacturiTrimise.cDescarcat._checkbox1.Alignment = 2 + pgfeFactura.Page3.grdFacturiTrimise.cDescarcat._checkbox1.Name = "_checkbox1" + pgfeFactura.Page3.grdFacturiTrimise.cDescriere.Header1.Name = "Header1" + pgfeFactura.Page3.grdFacturiTrimise.cDescriere.Name = "cDescriere" + pgfeFactura.Page3.grdFacturiTrimise.cDescriere.Text1.Name = "Text1" + pgfeFactura.Page3.grdFacturiTrimise.cDescriere._editbox1.Name = "_editbox1" + pgfeFactura.Page3.grdFacturiTrimise.cDetaliiPlata.Header1.Name = "Header1" + pgfeFactura.Page3.grdFacturiTrimise.cDetaliiPlata.Name = "cDetaliiPlata" + pgfeFactura.Page3.grdFacturiTrimise.cDetaliiPlata.Text1.Name = "Text1" + pgfeFactura.Page3.grdFacturiTrimise.cDetaliiPlata._editbox1.Name = "_editbox1" + pgfeFactura.Page3.grdFacturiTrimise.cDiferenta.Header1.Name = "Header1" + pgfeFactura.Page3.grdFacturiTrimise.cDiferenta.Name = "cDiferenta" + pgfeFactura.Page3.grdFacturiTrimise.cDiferenta.Text1.Name = "Text1" + pgfeFactura.Page3.grdFacturiTrimise.cDiscount.Header1.Name = "Header1" + pgfeFactura.Page3.grdFacturiTrimise.cDiscount.Name = "cDiscount" + pgfeFactura.Page3.grdFacturiTrimise.cDiscount.Text1.Name = "Text1" + pgfeFactura.Page3.grdFacturiTrimise.cFilePath.Header1.Name = "Header1" + pgfeFactura.Page3.grdFacturiTrimise.cFilePath.Name = "cFilePath" + pgfeFactura.Page3.grdFacturiTrimise.cFilePath.Text1.Name = "Text1" + pgfeFactura.Page3.grdFacturiTrimise.cId.Header1.Name = "Header1" + pgfeFactura.Page3.grdFacturiTrimise.cId.Name = "cId" + pgfeFactura.Page3.grdFacturiTrimise.cId.Text1.Name = "Text1" + pgfeFactura.Page3.grdFacturiTrimise.cIdDescarcare.Header1.Name = "Header1" + pgfeFactura.Page3.grdFacturiTrimise.cIdDescarcare.Name = "cIdDescarcare" + pgfeFactura.Page3.grdFacturiTrimise.cIdDescarcare.Text1.Name = "Text1" + pgfeFactura.Page3.grdFacturiTrimise.cIdIncarcare.Header1.Name = "Header1" + pgfeFactura.Page3.grdFacturiTrimise.cIdIncarcare.Name = "cIdIncarcare" + pgfeFactura.Page3.grdFacturiTrimise.cIdIncarcare.Text1.Name = "Text1" + pgfeFactura.Page3.grdFacturiTrimise.cJtotcTVA.Header1.Name = "Header1" + pgfeFactura.Page3.grdFacturiTrimise.cJtotcTVA.Name = "cJtotcTVA" + pgfeFactura.Page3.grdFacturiTrimise.cJtotcTVA.Text1.Name = "Text1" + pgfeFactura.Page3.grdFacturiTrimise.cNr.Header1.Name = "Header1" + pgfeFactura.Page3.grdFacturiTrimise.cNr.Name = "cNr" + pgfeFactura.Page3.grdFacturiTrimise.cNr.Text1.Name = "Text1" + pgfeFactura.Page3.grdFacturiTrimise.cNumeValuta.Header1.Name = "Header1" + pgfeFactura.Page3.grdFacturiTrimise.cNumeValuta.Name = "cNumeValuta" + pgfeFactura.Page3.grdFacturiTrimise.cNumeValuta.Text1.Name = "Text1" + pgfeFactura.Page3.grdFacturiTrimise.cProcesat.Header1.Name = "Header1" + pgfeFactura.Page3.grdFacturiTrimise.cProcesat.Name = "cProcesat" + pgfeFactura.Page3.grdFacturiTrimise.cProcesat.Text1.Name = "Text1" + pgfeFactura.Page3.grdFacturiTrimise.cProcesat._checkbox1.Alignment = 2 + pgfeFactura.Page3.grdFacturiTrimise.cProcesat._checkbox1.Name = "_checkbox1" + pgfeFactura.Page3.grdFacturiTrimise.cProcesatServer.Header1.Name = "Header1" + pgfeFactura.Page3.grdFacturiTrimise.cProcesatServer.Name = "cProcesatServer" + pgfeFactura.Page3.grdFacturiTrimise.cProcesatServer.Text1.Name = "Text1" + pgfeFactura.Page3.grdFacturiTrimise.cProcesatServer._checkbox1.Alignment = 2 + pgfeFactura.Page3.grdFacturiTrimise.cProcesatServer._checkbox1.Name = "_checkbox1" + pgfeFactura.Page3.grdFacturiTrimise.cTaxe.Header1.Name = "Header1" + pgfeFactura.Page3.grdFacturiTrimise.cTaxe.Name = "cTaxe" + pgfeFactura.Page3.grdFacturiTrimise.cTaxe.Text1.Name = "Text1" + pgfeFactura.Page3.grdFacturiTrimise.cTest.Header1.Name = "Header1" + pgfeFactura.Page3.grdFacturiTrimise.cTest.Name = "cTest" + pgfeFactura.Page3.grdFacturiTrimise.cTest.Text1.Name = "Text1" + pgfeFactura.Page3.grdFacturiTrimise.cTest._checkbox1.Alignment = 2 + pgfeFactura.Page3.grdFacturiTrimise.cTest._checkbox1.Name = "_checkbox1" + pgfeFactura.Page3.grdFacturiTrimise.cTipMesajRaspuns.Header1.Name = "Header1" + pgfeFactura.Page3.grdFacturiTrimise.cTipMesajRaspuns.Name = "cTipMesajRaspuns" + pgfeFactura.Page3.grdFacturiTrimise.cTipMesajRaspuns.Text1.Name = "Text1" + pgfeFactura.Page3.grdFacturiTrimise.cTotalCuTVA.Header1.Name = "Header1" + pgfeFactura.Page3.grdFacturiTrimise.cTotalCuTVA.Name = "cTotalCuTVA" + pgfeFactura.Page3.grdFacturiTrimise.cTotalCuTVA.Text1.Name = "Text1" + pgfeFactura.Page3.grdFacturiTrimise.cTotaldePlata.Header1.Name = "Header1" + pgfeFactura.Page3.grdFacturiTrimise.cTotaldePlata.Name = "cTotaldePlata" + pgfeFactura.Page3.grdFacturiTrimise.cTotaldePlata.Text1.Name = "Text1" + pgfeFactura.Page3.grdFacturiTrimise.cTotalFaraTVA.Header1.Name = "Header1" + pgfeFactura.Page3.grdFacturiTrimise.cTotalFaraTVA.Name = "cTotalFaraTVA" + pgfeFactura.Page3.grdFacturiTrimise.cTotalFaraTVA.Text1.Name = "Text1" + pgfeFactura.Page3.grdFacturiTrimise.cTotalTVA.Header1.Name = "Header1" + pgfeFactura.Page3.grdFacturiTrimise.cTotalTVA.Name = "cTotalTVA" + pgfeFactura.Page3.grdFacturiTrimise.cTotalTVA.Text1.Name = "Text1" + pgfeFactura.Page3.grdFacturiTrimise.cTotalTVARON.Header1.Name = "Header1" + pgfeFactura.Page3.grdFacturiTrimise.cTotalTVARON.Name = "cTotalTVARON" + pgfeFactura.Page3.grdFacturiTrimise.cTotalTVARON.Text1.Name = "Text1" + pgfeFactura.Page3.grdFacturiTrimise.cValoareFaraTVA.Header1.Name = "Header1" + pgfeFactura.Page3.grdFacturiTrimise.cValoareFaraTVA.Name = "cValoareFaraTVA" + pgfeFactura.Page3.grdFacturiTrimise.cValoareFaraTVA.Text1.Name = "Text1" + pgfeFactura.Page3.grdFacturiTrimise.cXClient.Header1.Name = "Header1" + pgfeFactura.Page3.grdFacturiTrimise.cXClient.Name = "cXClient" + pgfeFactura.Page3.grdFacturiTrimise.cXClient.Text1.Name = "Text1" + pgfeFactura.Page3.grdFacturiTrimise.cXFurnizor.Header1.Name = "Header1" + pgfeFactura.Page3.grdFacturiTrimise.cXFurnizor.Name = "cXFurnizor" + pgfeFactura.Page3.grdFacturiTrimise.cXFurnizor.Text1.Name = "Text1" + pgfeFactura.Page3.grdFacturiTrimise.Name = "grdFacturiTrimise" + pgfeFactura.Page3.Gridextra1.Name = "Gridextra1" + pgfeFactura.Page3.Gridextra2.Name = "Gridextra2" + pgfeFactura.Page3.lblDetalii.Name = "lblDetalii" + pgfeFactura.Page3.lblMesajRaspuns.Name = "lblMesajRaspuns" + pgfeFactura.Page3.lblMesajTrimis.Name = "lblMesajTrimis" + pgfeFactura.Page3.Name = "Page3" + pgfeFactura.Page3.PageOrder = 2 + pgfeFactura.Page3.txtMesajRaspuns.Name = "txtMesajRaspuns" + pgfeFactura.Page3.txtMesajTrimis.Name = "txtMesajTrimis" + pgfeFactura.Page3._grdfooter1.Name = "_grdfooter1" + pgfeFactura.Page3._shape1.Name = "_shape1" + pgfeFactura.Page4.chkValidareOnline.Alignment = 0 + pgfeFactura.Page4.chkValidareOnline.Name = "chkValidareOnline" + pgfeFactura.Page4.lblMesajTrimis.Name = "lblMesajTrimis" + pgfeFactura.Page4.lblToken.Name = "lblToken" + pgfeFactura.Page4.Name = "Page4" + pgfeFactura.Page4.PageOrder = 4 + pgfeFactura.Page4.txtNetworkPath.Name = "txtNetworkPath" + pgfeFactura.Page4.txtResponsesPathLocal.Name = "txtResponsesPathLocal" + pgfeFactura.Page4.txtResponsesPathServer.Name = "txtResponsesPathServer" + pgfeFactura.Page4.txtSaveClientiFile.Name = "txtSaveClientiFile" + pgfeFactura.Page4.txtSaveClientiPath.Name = "txtSaveClientiPath" + pgfeFactura.Page4.txtSaveFurnizoriFile.Name = "txtSaveFurnizoriFile" + pgfeFactura.Page4.txtSaveFurnizoriPath.Name = "txtSaveFurnizoriPath" + pgfeFactura.Page4.txtServerPath.Name = "txtServerPath" + pgfeFactura.Page4._checkbox1.Alignment = 0 + pgfeFactura.Page4._checkbox1.Name = "_checkbox1" + pgfeFactura.Page4._checkbox2.Alignment = 0 + pgfeFactura.Page4._checkbox2.Name = "_checkbox2" + pgfeFactura.Page4._checkbox3.Alignment = 0 + pgfeFactura.Page4._checkbox3.Name = "_checkbox3" + pgfeFactura.Page4._label1.Name = "_label1" + pgfeFactura.Page4._label2.Name = "_label2" + pgfeFactura.Page4._label3.Name = "_label3" + pgfeFactura.Page4._label4.Name = "_label4" + pgfeFactura.Page4._label5.Name = "_label5" + pgfeFactura.Page4._label6.Name = "_label6" + pgfeFactura.Page4._label7.Name = "_label7" + But_sterge1.Name = "But_sterge1" + But_listare1.Name = "But_listare1" + chkTest.Alignment = 0 + chkTest.Name = "chkTest" + But_verifica1.Name = "But_verifica1" + But_attach1.Name = "But_attach1" + * + +ENDDEFINE + +DEFINE CLASS dataenvironment AS dataenvironment + *< CLASSDATA: Baseclass="dataenvironment" Timestamp="" Scale="" Uniqueid="" ClassIcon="1" /> + + * + DataSource = .NULL. + Height = 0 + Left = 0 + Name = "Dataenvironment" + Top = 0 + Width = 0 + * + +ENDDEFINE diff --git a/clase/anaf_efactura.vc2 b/clase/anaf_efactura.vc2 new file mode 100644 index 0000000..5a6e45a --- /dev/null +++ b/clase/anaf_efactura.vc2 @@ -0,0 +1,13488 @@ +*-------------------------------------------------------------------------------------------------------------------------------------------------------- +* (EN) AUTOGENERATED - ATTENTION!! - NOT INTENDED FOR EXECUTION!! USE ONLY FOR MERGING CHANGES AND STORING WITH SCM TOOLS!! +*-------------------------------------------------------------------------------------------------------------------------------------------------------- +*< FOXBIN2PRG: Version="1.21" SourceFile="anaf_efactura.vcx" CPID="1252" /> (Solo para binarios VFP 9 / Only for VFP 9 binaries) +* +* +DEFINE CLASS anaf_efactura AS _frmbase OF "_frm_base.vcx" + *< CLASSDATA: Baseclass="form" Timestamp="" Scale="Pixels" Uniqueid="" /> + + *-- OBJECTDATA items order determines ZOrder / El orden de los items OBJECTDATA determina el ZOrder + *< OBJECTDATA: ObjPath="But_start_criterii1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="But_reset_criterii1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="But_excel1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="pgfeFactura" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="pgfeFactura.Page1._SHAPE1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="pgfeFactura.Page1.grdFacturiEmise" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="pgfeFactura.Page1.grdFacturiEmise.cAles.Header1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="pgfeFactura.Page1.grdFacturiEmise.cAles.Text1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="pgfeFactura.Page1.grdFacturiEmise.cAles._checkbox1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="pgfeFactura.Page1.grdFacturiEmise.cNr.Header1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="pgfeFactura.Page1.grdFacturiEmise.cNr.Text1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="pgfeFactura.Page1.grdFacturiEmise.cData.Header1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="pgfeFactura.Page1.grdFacturiEmise.cData.Text1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="pgfeFactura.Page1.grdFacturiEmise.cClient.Header1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="pgfeFactura.Page1.grdFacturiEmise.cClient.Text1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="pgfeFactura.Page1.grdFacturiEmise.cTrimis.Header1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="pgfeFactura.Page1.grdFacturiEmise.cTrimis.Text1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="pgfeFactura.Page1.grdFacturiEmise.cTrimis._checkbox1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="pgfeFactura.Page1.grdFacturiEmise.cDataTrimis.Header1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="pgfeFactura.Page1.grdFacturiEmise.cDataTrimis.Text1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="pgfeFactura.Page1.grdFacturiEmise.cMesajTrimis.Header1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="pgfeFactura.Page1.grdFacturiEmise.cMesajTrimis.Text1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="pgfeFactura.Page1.grdFacturiEmise.cCodFiscal.Header1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="pgfeFactura.Page1.grdFacturiEmise.cCodFiscal.Text1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="pgfeFactura.Page1.grdFacturiEmise.cTipMesajRaspuns.Header1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="pgfeFactura.Page1.grdFacturiEmise.cTipMesajRaspuns.Text1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="pgfeFactura.Page1.grdFacturiEmise.cMesajRaspuns.Header1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="pgfeFactura.Page1.grdFacturiEmise.cMesajRaspuns.Text1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="pgfeFactura.Page1.grdFacturiEmise.cIdIncarcare.Header1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="pgfeFactura.Page1.grdFacturiEmise.cIdIncarcare.Text1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="pgfeFactura.Page1.grdFacturiEmise.cId.Header1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="pgfeFactura.Page1.grdFacturiEmise.cId.Text1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="pgfeFactura.Page1.grdFacturiEmise.cDataRaspuns.Header1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="pgfeFactura.Page1.grdFacturiEmise.cDataRaspuns.Text1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="pgfeFactura.Page1.grdFacturiEmise.cTest.Header1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="pgfeFactura.Page1.grdFacturiEmise.cTest.Text1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="pgfeFactura.Page1.grdFacturiEmise.cTest._checkbox1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="pgfeFactura.Page1.grdFacturiEmise.cUtilizator.Header1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="pgfeFactura.Page1.grdFacturiEmise.cUtilizator.Text1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="pgfeFactura.Page1.grdFacturiEmise.cxTotalCuTVA.Header1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="pgfeFactura.Page1.grdFacturiEmise.cxTotalCuTVA.Text1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="pgfeFactura.Page1.grdFacturiEmise.cJtotcTVA.Header1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="pgfeFactura.Page1.grdFacturiEmise.cJtotcTVA.Text1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="pgfeFactura.Page1.grdFacturiEmise.cDiferenta.Header1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="pgfeFactura.Page1.grdFacturiEmise.cDiferenta.Text1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="pgfeFactura.Page1.grdFacturiEmise.cxValoareFaraTVA.Header1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="pgfeFactura.Page1.grdFacturiEmise.cxValoareFaraTVA.Text1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="pgfeFactura.Page1.grdFacturiEmise.cxDiscount.Header1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="pgfeFactura.Page1.grdFacturiEmise.cxDiscount.Text1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="pgfeFactura.Page1.grdFacturiEmise.cxTaxe.Header1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="pgfeFactura.Page1.grdFacturiEmise.cxTaxe.Text1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="pgfeFactura.Page1.grdFacturiEmise.cxTotalFaraTVA.Header1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="pgfeFactura.Page1.grdFacturiEmise.cxTotalFaraTVA.Text1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="pgfeFactura.Page1.grdFacturiEmise.cxTotalTVA.Header1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="pgfeFactura.Page1.grdFacturiEmise.cxTotalTVA.Text1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="pgfeFactura.Page1.grdFacturiEmise.cxTotalDePlata.Header1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="pgfeFactura.Page1.grdFacturiEmise.cxTotalDePlata.Text1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="pgfeFactura.Page1.grdFacturiEmise.cTipPersoana.Header1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="pgfeFactura.Page1.grdFacturiEmise.cTipPersoana.Text1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="pgfeFactura.Page1.grdFacturiEmise.cInValuta.Header1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="pgfeFactura.Page1.grdFacturiEmise.cInValuta.Text1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="pgfeFactura.Page1.grdFacturiEmise.cInValuta._checkbox1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="pgfeFactura.Page1.grdFacturiEmise.cNumeValuta.Header1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="pgfeFactura.Page1.grdFacturiEmise.cNumeValuta.Text1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="pgfeFactura.Page1.grdFacturiEmise.cTotalFaraTVA.Header1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="pgfeFactura.Page1.grdFacturiEmise.cTotalFaraTVA.Text1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="pgfeFactura.Page1.grdFacturiEmise.cTotalTVA.Header1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="pgfeFactura.Page1.grdFacturiEmise.cTotalTVA.Text1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="pgfeFactura.Page1.grdFacturiEmise.cTotalCuTVA.Header1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="pgfeFactura.Page1.grdFacturiEmise.cTotalCuTVA.Text1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="pgfeFactura.Page1.grdFacturiEmise.cValVal.Header1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="pgfeFactura.Page1.grdFacturiEmise.cValVal.Text1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="pgfeFactura.Page1.grdFacturiEmise.cTvaVal.Header1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="pgfeFactura.Page1.grdFacturiEmise.cTvaVal.Text1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="pgfeFactura.Page1.grdFacturiEmise.cTotVal.Header1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="pgfeFactura.Page1.grdFacturiEmise.cTotVal.Text1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="pgfeFactura.Page1.grdFacturiEmise.cxNumeValuta.Header1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="pgfeFactura.Page1.grdFacturiEmise.cxNumeValuta.Text1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="pgfeFactura.Page1.grdFacturiEmise.cCurs.Header1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="pgfeFactura.Page1.grdFacturiEmise.cCurs.Text1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="pgfeFactura.Page1.grdFacturiEmise.cCreditNote.Header1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="pgfeFactura.Page1.grdFacturiEmise.cCreditNote.Text1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="pgfeFactura.Page1.grdFacturiEmise.cCreditNote._checkbox1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="pgfeFactura.Page1.cmdTrimite" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="pgfeFactura.Page1.cmdRaspunsuri" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="pgfeFactura.Page1.grdDetaliiFacturi" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="pgfeFactura.Page1.grdDetaliiFacturi.Column1.Header1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="pgfeFactura.Page1.grdDetaliiFacturi.Column1.Text1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="pgfeFactura.Page1.grdDetaliiFacturi.Column2.Header1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="pgfeFactura.Page1.grdDetaliiFacturi.Column2.Text1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="pgfeFactura.Page1.grdDetaliiFacturi.Column3.Header1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="pgfeFactura.Page1.grdDetaliiFacturi.Column3.Text1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="pgfeFactura.Page1.grdDetaliiFacturi.Column3._editbox1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="pgfeFactura.Page1.grdDetaliiFacturi.Column4.Header1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="pgfeFactura.Page1.grdDetaliiFacturi.Column4.Text1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="pgfeFactura.Page1.grdDetaliiFacturi.Column5.Header1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="pgfeFactura.Page1.grdDetaliiFacturi.Column5.Text1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="pgfeFactura.Page1.grdDetaliiFacturi.Column6.Header1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="pgfeFactura.Page1.grdDetaliiFacturi.Column6.Text1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="pgfeFactura.Page1.grdDetaliiFacturi.Column7.Header1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="pgfeFactura.Page1.grdDetaliiFacturi.Column7.Text1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="pgfeFactura.Page1.grdDetaliiFacturi.Column8.Header1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="pgfeFactura.Page1.grdDetaliiFacturi.Column8.Text1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="pgfeFactura.Page1.grdDetaliiFacturi.Column9.Header1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="pgfeFactura.Page1.grdDetaliiFacturi.Column9.Text1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="pgfeFactura.Page1.grdDetaliiFacturi.Column10.Header1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="pgfeFactura.Page1.grdDetaliiFacturi.Column10.Text1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="pgfeFactura.Page1.txtMesajTrimis" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="pgfeFactura.Page1.txtMesajRaspuns" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="pgfeFactura.Page1.edtDetalii" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="pgfeFactura.Page1.lblMesajTrimis" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="pgfeFactura.Page1.lblMesajRaspuns" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="pgfeFactura.Page1.lblDetalii" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="pgfeFactura.Page1.chkPersFizice" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="pgfeFactura.Page1.chkFortareRaspunsuri" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="pgfeFactura.Page1.chkTrimis" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="pgfeFactura.Page1.chkValidareOnline" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="pgfeFactura.Page1.Cmd_select_adv1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="pgfeFactura.Page1.Gridextra1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="pgfeFactura.Page1.Gridextra2" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="pgfeFactura.Page1._grdfooter1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="pgfeFactura.Page1.chkPJ" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="pgfeFactura.Page1.chkNetrimise" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="pgfeFactura.Page1.chkErori" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="pgfeFactura.Page1.chkTrimise" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="pgfeFactura.Page1.chkDiferente" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="pgfeFactura.Page1.cboAtasamente" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="pgfeFactura.Page1.lblAtasamente" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="pgfeFactura.Page2._SHAPE1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="pgfeFactura.Page2.grdFacturiPrimite" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="pgfeFactura.Page2.grdFacturiPrimite.cAles.Header1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="pgfeFactura.Page2.grdFacturiPrimite.cAles.Text1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="pgfeFactura.Page2.grdFacturiPrimite.cAles._checkbox1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="pgfeFactura.Page2.grdFacturiPrimite.cNr.Header1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="pgfeFactura.Page2.grdFacturiPrimite.cNr.Text1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="pgfeFactura.Page2.grdFacturiPrimite.cData.Header1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="pgfeFactura.Page2.grdFacturiPrimite.cData.Text1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="pgfeFactura.Page2.grdFacturiPrimite.cDataTrimis.Header1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="pgfeFactura.Page2.grdFacturiPrimite.cDataTrimis.Text1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="pgfeFactura.Page2.grdFacturiPrimite.cCodFiscalEmitent.Header1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="pgfeFactura.Page2.grdFacturiPrimite.cCodFiscalEmitent.Text1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="pgfeFactura.Page2.grdFacturiPrimite.cTipMesajRaspuns.Header1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="pgfeFactura.Page2.grdFacturiPrimite.cTipMesajRaspuns.Text1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="pgfeFactura.Page2.grdFacturiPrimite.cIdDescarcare.Header1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="pgfeFactura.Page2.grdFacturiPrimite.cIdDescarcare.Text1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="pgfeFactura.Page2.grdFacturiPrimite.cTotalCuTVA.Header1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="pgfeFactura.Page2.grdFacturiPrimite.cTotalCuTVA.Text1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="pgfeFactura.Page2.grdFacturiPrimite.cNumeValuta.Header1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="pgfeFactura.Page2.grdFacturiPrimite.cNumeValuta.Text1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="pgfeFactura.Page2.grdFacturiPrimite.cJtotcTVA.Header1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="pgfeFactura.Page2.grdFacturiPrimite.cJtotcTVA.Text1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="pgfeFactura.Page2.grdFacturiPrimite.cDataScad.Header1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="pgfeFactura.Page2.grdFacturiPrimite.cDataScad.Text1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="pgfeFactura.Page2.grdFacturiPrimite.cDescriere.Header1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="pgfeFactura.Page2.grdFacturiPrimite.cDescriere.Text1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="pgfeFactura.Page2.grdFacturiPrimite.cDescriere._editbox1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="pgfeFactura.Page2.grdFacturiPrimite.cTotalFaraTVA.Header1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="pgfeFactura.Page2.grdFacturiPrimite.cTotalFaraTVA.Text1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="pgfeFactura.Page2.grdFacturiPrimite.cTotalTVA.Header1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="pgfeFactura.Page2.grdFacturiPrimite.cTotalTVA.Text1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="pgfeFactura.Page2.grdFacturiPrimite.cXFurnizor.Header1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="pgfeFactura.Page2.grdFacturiPrimite.cXFurnizor.Text1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="pgfeFactura.Page2.grdFacturiPrimite.cDiscount.Header1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="pgfeFactura.Page2.grdFacturiPrimite.cDiscount.Text1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="pgfeFactura.Page2.grdFacturiPrimite.cTaxe.Header1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="pgfeFactura.Page2.grdFacturiPrimite.cTaxe.Text1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="pgfeFactura.Page2.grdFacturiPrimite.cValoareFaraTVA.Header1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="pgfeFactura.Page2.grdFacturiPrimite.cValoareFaraTVA.Text1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="pgfeFactura.Page2.grdFacturiPrimite.cTotaldePlata.Header1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="pgfeFactura.Page2.grdFacturiPrimite.cTotaldePlata.Text1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="pgfeFactura.Page2.grdFacturiPrimite.cId.Header1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="pgfeFactura.Page2.grdFacturiPrimite.cId.Text1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="pgfeFactura.Page2.grdFacturiPrimite.cDetaliiPlata.Header1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="pgfeFactura.Page2.grdFacturiPrimite.cDetaliiPlata.Text1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="pgfeFactura.Page2.grdFacturiPrimite.cDetaliiPlata._editbox1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="pgfeFactura.Page2.grdFacturiPrimite.cDiferenta.Header1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="pgfeFactura.Page2.grdFacturiPrimite.cDiferenta.Text1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="pgfeFactura.Page2.grdFacturiPrimite.cIdIncarcare.Header1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="pgfeFactura.Page2.grdFacturiPrimite.cIdIncarcare.Text1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="pgfeFactura.Page2.grdFacturiPrimite.cProcesat.Header1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="pgfeFactura.Page2.grdFacturiPrimite.cProcesat.Text1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="pgfeFactura.Page2.grdFacturiPrimite.cProcesat._CHECKBOX1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="pgfeFactura.Page2.grdFacturiPrimite.cDescarcat.Header1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="pgfeFactura.Page2.grdFacturiPrimite.cDescarcat.Text1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="pgfeFactura.Page2.grdFacturiPrimite.cDescarcat._checkbox1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="pgfeFactura.Page2.grdFacturiPrimite.cXClient.Header1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="pgfeFactura.Page2.grdFacturiPrimite.cXClient.Text1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="pgfeFactura.Page2.grdFacturiPrimite.cFilePath.Header1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="pgfeFactura.Page2.grdFacturiPrimite.cFilePath.Text1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="pgfeFactura.Page2.grdFacturiPrimite.cTotalTVARON.Header1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="pgfeFactura.Page2.grdFacturiPrimite.cTotalTVARON.Text1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="pgfeFactura.Page2.grdFacturiPrimite.cProcesatServer.Header1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="pgfeFactura.Page2.grdFacturiPrimite.cProcesatServer.Text1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="pgfeFactura.Page2.grdFacturiPrimite.cProcesatServer._CHECKBOX1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="pgfeFactura.Page2.grdFacturiPrimite.cCreditNote.Header1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="pgfeFactura.Page2.grdFacturiPrimite.cCreditNote.Text1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="pgfeFactura.Page2.grdFacturiPrimite.cCreditNote._checkbox1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="pgfeFactura.Page2.cmdTrimiteMesajFurnizor" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="pgfeFactura.Page2.edtDetalii" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="pgfeFactura.Page2.grdDetaliiFacturi" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="pgfeFactura.Page2.grdDetaliiFacturi.Column1.Header1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="pgfeFactura.Page2.grdDetaliiFacturi.Column1.Text1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="pgfeFactura.Page2.grdDetaliiFacturi.Column2.Header1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="pgfeFactura.Page2.grdDetaliiFacturi.Column2.Text1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="pgfeFactura.Page2.grdDetaliiFacturi.Column3.Header1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="pgfeFactura.Page2.grdDetaliiFacturi.Column3.Text1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="pgfeFactura.Page2.grdDetaliiFacturi.Column3._editbox1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="pgfeFactura.Page2.grdDetaliiFacturi.Column4.Header1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="pgfeFactura.Page2.grdDetaliiFacturi.Column4.Text1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="pgfeFactura.Page2.grdDetaliiFacturi.Column5.Header1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="pgfeFactura.Page2.grdDetaliiFacturi.Column5.Text1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="pgfeFactura.Page2.grdDetaliiFacturi.Column6.Header1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="pgfeFactura.Page2.grdDetaliiFacturi.Column6.Text1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="pgfeFactura.Page2.grdDetaliiFacturi.Column7.Header1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="pgfeFactura.Page2.grdDetaliiFacturi.Column7.Text1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="pgfeFactura.Page2.grdDetaliiFacturi.Column8.Header1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="pgfeFactura.Page2.grdDetaliiFacturi.Column8.Text1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="pgfeFactura.Page2.grdDetaliiFacturi.Column9.Header1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="pgfeFactura.Page2.grdDetaliiFacturi.Column9.Text1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="pgfeFactura.Page2.grdDetaliiFacturi.Column10.Header1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="pgfeFactura.Page2.grdDetaliiFacturi.Column10.Text1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="pgfeFactura.Page2.lblDetalii" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="pgfeFactura.Page2.txtMesajFurnizor" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="pgfeFactura.Page2.txtMesajRaspuns" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="pgfeFactura.Page2.Gridextra1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="pgfeFactura.Page2.lblMesajRaspuns" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="pgfeFactura.Page2.Gridextra2" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="pgfeFactura.Page2._grdfooter1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="pgfeFactura.Page3._SHAPE1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="pgfeFactura.Page3.grdFacturiTrimise" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="pgfeFactura.Page3.grdFacturiTrimise.cAles.Header1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="pgfeFactura.Page3.grdFacturiTrimise.cAles.Text1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="pgfeFactura.Page3.grdFacturiTrimise.cAles._checkbox1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="pgfeFactura.Page3.grdFacturiTrimise.cNr.Header1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="pgfeFactura.Page3.grdFacturiTrimise.cNr.Text1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="pgfeFactura.Page3.grdFacturiTrimise.cData.Header1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="pgfeFactura.Page3.grdFacturiTrimise.cData.Text1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="pgfeFactura.Page3.grdFacturiTrimise.cDataTrimis.Header1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="pgfeFactura.Page3.grdFacturiTrimise.cDataTrimis.Text1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="pgfeFactura.Page3.grdFacturiTrimise.cCodFiscalBeneficiar.Header1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="pgfeFactura.Page3.grdFacturiTrimise.cCodFiscalBeneficiar.Text1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="pgfeFactura.Page3.grdFacturiTrimise.cTipMesajRaspuns.Header1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="pgfeFactura.Page3.grdFacturiTrimise.cTipMesajRaspuns.Text1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="pgfeFactura.Page3.grdFacturiTrimise.cIdDescarcare.Header1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="pgfeFactura.Page3.grdFacturiTrimise.cIdDescarcare.Text1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="pgfeFactura.Page3.grdFacturiTrimise.cTotalCuTVA.Header1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="pgfeFactura.Page3.grdFacturiTrimise.cTotalCuTVA.Text1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="pgfeFactura.Page3.grdFacturiTrimise.cNumeValuta.Header1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="pgfeFactura.Page3.grdFacturiTrimise.cNumeValuta.Text1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="pgfeFactura.Page3.grdFacturiTrimise.cJtotcTVA.Header1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="pgfeFactura.Page3.grdFacturiTrimise.cJtotcTVA.Text1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="pgfeFactura.Page3.grdFacturiTrimise.cDataScad.Header1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="pgfeFactura.Page3.grdFacturiTrimise.cDataScad.Text1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="pgfeFactura.Page3.grdFacturiTrimise.cDescriere.Header1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="pgfeFactura.Page3.grdFacturiTrimise.cDescriere.Text1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="pgfeFactura.Page3.grdFacturiTrimise.cDescriere._editbox1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="pgfeFactura.Page3.grdFacturiTrimise.cTotalFaraTVA.Header1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="pgfeFactura.Page3.grdFacturiTrimise.cTotalFaraTVA.Text1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="pgfeFactura.Page3.grdFacturiTrimise.cTotalTVA.Header1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="pgfeFactura.Page3.grdFacturiTrimise.cTotalTVA.Text1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="pgfeFactura.Page3.grdFacturiTrimise.cXClient.Header1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="pgfeFactura.Page3.grdFacturiTrimise.cXClient.Text1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="pgfeFactura.Page3.grdFacturiTrimise.cDiscount.Header1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="pgfeFactura.Page3.grdFacturiTrimise.cDiscount.Text1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="pgfeFactura.Page3.grdFacturiTrimise.cTaxe.Header1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="pgfeFactura.Page3.grdFacturiTrimise.cTaxe.Text1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="pgfeFactura.Page3.grdFacturiTrimise.cValoareFaraTVA.Header1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="pgfeFactura.Page3.grdFacturiTrimise.cValoareFaraTVA.Text1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="pgfeFactura.Page3.grdFacturiTrimise.cTotaldePlata.Header1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="pgfeFactura.Page3.grdFacturiTrimise.cTotaldePlata.Text1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="pgfeFactura.Page3.grdFacturiTrimise.cId.Header1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="pgfeFactura.Page3.grdFacturiTrimise.cId.Text1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="pgfeFactura.Page3.grdFacturiTrimise.cDetaliiPlata.Header1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="pgfeFactura.Page3.grdFacturiTrimise.cDetaliiPlata.Text1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="pgfeFactura.Page3.grdFacturiTrimise.cDetaliiPlata._editbox1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="pgfeFactura.Page3.grdFacturiTrimise.cDiferenta.Header1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="pgfeFactura.Page3.grdFacturiTrimise.cDiferenta.Text1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="pgfeFactura.Page3.grdFacturiTrimise.cTest.Header1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="pgfeFactura.Page3.grdFacturiTrimise.cTest.Text1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="pgfeFactura.Page3.grdFacturiTrimise.cTest._CHECKBOX1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="pgfeFactura.Page3.grdFacturiTrimise.cIdIncarcare.Header1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="pgfeFactura.Page3.grdFacturiTrimise.cIdIncarcare.Text1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="pgfeFactura.Page3.grdFacturiTrimise.cProcesat.Header1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="pgfeFactura.Page3.grdFacturiTrimise.cProcesat.Text1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="pgfeFactura.Page3.grdFacturiTrimise.cProcesat._CHECKBOX1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="pgfeFactura.Page3.grdFacturiTrimise.cxFurnizor.Header1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="pgfeFactura.Page3.grdFacturiTrimise.cxFurnizor.Text1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="pgfeFactura.Page3.grdFacturiTrimise.cDescarcat.Header1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="pgfeFactura.Page3.grdFacturiTrimise.cDescarcat.Text1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="pgfeFactura.Page3.grdFacturiTrimise.cDescarcat._checkbox1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="pgfeFactura.Page3.grdFacturiTrimise.cFilePath.Header1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="pgfeFactura.Page3.grdFacturiTrimise.cFilePath.Text1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="pgfeFactura.Page3.grdFacturiTrimise.cTotalTVARON.Header1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="pgfeFactura.Page3.grdFacturiTrimise.cTotalTVARON.Text1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="pgfeFactura.Page3.grdFacturiTrimise.cProcesatServer.Header1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="pgfeFactura.Page3.grdFacturiTrimise.cProcesatServer.Text1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="pgfeFactura.Page3.grdFacturiTrimise.cProcesatServer._CHECKBOX1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="pgfeFactura.Page3.grdFacturiTrimise.cCreditNote.Header1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="pgfeFactura.Page3.grdFacturiTrimise.cCreditNote.Text1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="pgfeFactura.Page3.grdFacturiTrimise.cCreditNote._checkbox1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="pgfeFactura.Page3.edtDetalii" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="pgfeFactura.Page3.grdDetaliiFacturi" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="pgfeFactura.Page3.grdDetaliiFacturi.Column1.Header1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="pgfeFactura.Page3.grdDetaliiFacturi.Column1.Text1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="pgfeFactura.Page3.grdDetaliiFacturi.Column2.Header1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="pgfeFactura.Page3.grdDetaliiFacturi.Column2.Text1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="pgfeFactura.Page3.grdDetaliiFacturi.Column3.Header1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="pgfeFactura.Page3.grdDetaliiFacturi.Column3.Text1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="pgfeFactura.Page3.grdDetaliiFacturi.Column3._editbox1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="pgfeFactura.Page3.grdDetaliiFacturi.Column4.Header1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="pgfeFactura.Page3.grdDetaliiFacturi.Column4.Text1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="pgfeFactura.Page3.grdDetaliiFacturi.Column5.Header1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="pgfeFactura.Page3.grdDetaliiFacturi.Column5.Text1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="pgfeFactura.Page3.grdDetaliiFacturi.Column6.Header1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="pgfeFactura.Page3.grdDetaliiFacturi.Column6.Text1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="pgfeFactura.Page3.grdDetaliiFacturi.Column7.Header1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="pgfeFactura.Page3.grdDetaliiFacturi.Column7.Text1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="pgfeFactura.Page3.grdDetaliiFacturi.Column8.Header1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="pgfeFactura.Page3.grdDetaliiFacturi.Column8.Text1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="pgfeFactura.Page3.grdDetaliiFacturi.Column9.Header1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="pgfeFactura.Page3.grdDetaliiFacturi.Column9.Text1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="pgfeFactura.Page3.grdDetaliiFacturi.Column10.Header1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="pgfeFactura.Page3.grdDetaliiFacturi.Column10.Text1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="pgfeFactura.Page3.lblDetalii" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="pgfeFactura.Page3.txtMesajTrimis" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="pgfeFactura.Page3.txtMesajRaspuns" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="pgfeFactura.Page3.Gridextra1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="pgfeFactura.Page3.lblMesajTrimis" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="pgfeFactura.Page3.lblMesajRaspuns" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="pgfeFactura.Page3.Gridextra2" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="pgfeFactura.Page3._grdfooter1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="pgfeFactura.Page4.lblToken" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="pgfeFactura.Page4.txtSaveFurnizoriPath" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="pgfeFactura.Page4.txtSaveFurnizoriFile" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="pgfeFactura.Page4.txtSaveClientiPath" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="pgfeFactura.Page4.txtSaveClientiFile" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="pgfeFactura.Page4.txtResponsesPathLocal" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="pgfeFactura.Page4.txtResponsesPathServer" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="pgfeFactura.Page4.txtServerPath" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="pgfeFactura.Page4._label4" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="pgfeFactura.Page4._label2" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="pgfeFactura.Page4._label3" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="pgfeFactura.Page4._checkbox3" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="pgfeFactura.Page4._checkbox1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="pgfeFactura.Page4.chkValidareOnline" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="pgfeFactura.Page4._checkbox2" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="pgfeFactura.Page4._label1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="pgfeFactura.Page4._label5" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="pgfeFactura.Page4.lblMesajTrimis" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="pgfeFactura.Page4._label6" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="pgfeFactura.Page4.txtNetworkPath" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="pgfeFactura.Page4._label7" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="pgfeFactura.Page4._label8" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="But_sterge1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="But_listare1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="chkTest" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="But_verifica1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="But_attach1" UniqueID="" Timestamp="" /> + + * + *m: actualizeaza_grid3 + *m: actualizeaza_grid4 + *m: bifeazatrimismanual && Bifeaza o factura ca trimisa manual + *m: citesteraspunsuri + *m: do_ataseaza + *m: gettoken + *m: ltest_assign + *m: refreshdetaliifacturi + *m: refreshlbltoken + *m: trimitefacturi + *m: trimitemesajfurnizor + *p: cmesajfurnizor + *p: cresponsespath + *p: lprimaactivareprimite + *p: lprimaactivaretrimise + *p: ltest + *p: nidborderou + *p: ntip && 0=tranzit, 1=cheiaj + *p: ntrimis + *p: oanaf + * + + * + BorderStyle = 1 + Caption = "Form" + cbuton7 = pgfeFactura.page1.cmdTrimite;pgfeFactura.page1.cmdRaspunsuri + cmesajfurnizor = + cresponsespath = + DoCreate = .T. + FontBold = .F. + Height = 485 + lprimaactivareprimite = .F. + lprimaactivaretrimise = .F. + ltest = .F. + Name = "anaf_efactura" + nidborderou = 0 + ntip = 0 + ntrimis = 0 + oanaf = .NULL. + Width = 792 + WindowState = 2 + _memberdata = + + + + + + + + + + + + + + + + + + _shape1.Anchor = 10 + _shape1.Height = 29 + _shape1.Left = -1 + _shape1.Name = "_shape1" + _shape1.Top = 0 + _shape1.Width = 822 + _shape1.ZOrderSet = 0 + _shape2.Left = 741 + _shape2.Name = "_shape2" + _shape2.Top = -1 + _shape2.ZOrderSet = 1 + Lb_titlu_alb_b121.Caption = "eFactura" + Lb_titlu_alb_b121.Name = "Lb_titlu_alb_b121" + Lb_titlu_alb_b121.TabIndex = 10 + Lb_titlu_alb_b121.ZOrderSet = 2 + BUT_TERMIN1.Anchor = 9 + BUT_TERMIN1.Left = 761 + BUT_TERMIN1.Name = "BUT_TERMIN1" + BUT_TERMIN1.TabIndex = 9 + BUT_TERMIN1.Top = 1 + BUT_TERMIN1.ZOrderSet = 3 + Gridsort1.Left = 780 + Gridsort1.Name = "Gridsort1" + Gridsort1.Top = 449 + * + + ADD OBJECT 'But_attach1' AS but_attach WITH ; + Anchor = 9, ; + Left = 672, ; + Name = "But_attach1", ; + ToolTipText = "Atasamente", ; + Top = 1 + *< END OBJECT: ClassLib="cmd_butoane.vcx" BaseClass="commandbutton" /> + + ADD OBJECT 'But_excel1' AS but_excel WITH ; + Anchor = 8, ; + Left = 733, ; + Name = "But_excel1", ; + TabIndex = 12, ; + Top = 1, ; + ZOrderSet = 6 + *< END OBJECT: ClassLib="cmd_butoane.vcx" BaseClass="commandbutton" /> + + ADD OBJECT 'But_listare1' AS but_listare WITH ; + Anchor = 9, ; + Left = 702, ; + Name = "But_listare1", ; + TabIndex = 8, ; + Top = 1, ; + ZOrderSet = 10 + *< END OBJECT: ClassLib="cmd_butoane.vcx" BaseClass="commandbutton" /> + + ADD OBJECT 'But_reset_criterii1' AS but_reset_criterii WITH ; + Anchor = 9, ; + Left = 555, ; + Name = "But_reset_criterii1", ; + TabIndex = 5, ; + Top = 1, ; + Visible = .T., ; + ZOrderSet = 6 + *< END OBJECT: ClassLib="ocriterii.vcx" BaseClass="commandbutton" /> + + ADD OBJECT 'But_start_criterii1' AS but_start_criterii WITH ; + Anchor = 9, ; + Comment = "*:OnResize=RT", ; + Left = 584, ; + Name = "But_start_criterii1", ; + TabIndex = 6, ; + Top = 1, ; + ZOrderSet = 5 + *< END OBJECT: ClassLib="ocriterii.vcx" BaseClass="commandbutton" /> + + ADD OBJECT 'But_sterge1' AS but_sterge WITH ; + Anchor = 9, ; + Left = 614, ; + Name = "But_sterge1", ; + TabIndex = 7, ; + Top = 1, ; + ZOrderSet = 9 + *< END OBJECT: ClassLib="cmd_butoane.vcx" BaseClass="commandbutton" /> + + ADD OBJECT 'But_verifica1' AS but_verifica WITH ; + Anchor = 9, ; + Left = 644, ; + Name = "But_verifica1", ; + ToolTipText = "Verificare valoare cu TVA pe zile si coduri fiscale - Jurnal TVA (Fel doc: Factura, Bon fiscal) fata de eFactura trimise/primite", ; + Top = 1 + *< END OBJECT: ClassLib="cmd_butoane.vcx" BaseClass="commandbutton" /> + + ADD OBJECT 'chkTest' AS _checkbox WITH ; + Alignment = 0, ; + Anchor = 0, ; + Caption = "TEST", ; + ControlSource = "Thisform.lTest", ; + FontBold = .T., ; + ForeColor = 255,255,0, ; + Left = 75, ; + Name = "chkTest", ; + ToolTipText = "Trimite eFactura pe serverul Test la ANAF", ; + Top = 7, ; + Visible = .F. + *< END OBJECT: ClassLib="_baza.vcx" BaseClass="checkbox" /> + + ADD OBJECT 'pgfeFactura' AS _pageframe WITH ; + Anchor = 15, ; + ErasePage = .T., ; + Height = 485, ; + Left = 0, ; + Name = "pgfeFactura", ; + PageCount = 4, ; + Top = 26, ; + Width = 795, ; + Page1.Caption = "Transmitere eFactura", ; + Page1.Name = "Page1", ; + Page1.PageOrder = 1, ; + Page2.Caption = "Facturi primite in SPV", ; + Page2.Name = "Page2", ; + Page2.PageOrder = 3, ; + Page3.Caption = "Facturi trimise in SPV", ; + Page3.Name = "Page3", ; + Page3.PageOrder = 2, ; + Page4.Caption = "Configurare", ; + Page4.Name = "Page4", ; + Page4.PageOrder = 4 + *< END OBJECT: ClassLib="_baza.vcx" BaseClass="pageframe" /> + + ADD OBJECT 'pgfeFactura.Page1._grdfooter1' AS _grdfooter WITH ; + Anchor = 14, ; + ccolwithlabel = cClient, ; + csourcegrid = grdFacturiEmise, ; + csumcolumns = cxValoarefaraTVA,cxDiscount,cxTaxe,cxTotaldePlata,cxTotalFaraTVA,cxTotalTVA,cxTotalcuTVA,cJtotcTVA,cDiferenta,cTotalFaraTVA,cTotalTVA,cTotalcuTVA,cValVal,cTVAVal,cTotVal, ; + ctotallabelexpression = 'Total', ; + Left = 4, ; + Name = "_grdfooter1", ; + Top = 113, ; + Width = 780 + *< END OBJECT: ClassLib="_grd_base.vcx" BaseClass="grid" /> + + ADD OBJECT 'pgfeFactura.Page1._SHAPE1' AS _shape WITH ; + Anchor = 14, ; + BackStyle = 0, ; + FillColor = 255,255,240, ; + FillStyle = 0, ; + Height = 80, ; + Left = 4, ; + Name = "_SHAPE1", ; + Top = 298, ; + Width = 780, ; + ZOrderSet = 0 + *< END OBJECT: ClassLib="_baza.vcx" BaseClass="shape" /> + + ADD OBJECT 'pgfeFactura.Page1.cboAtasamente' AS _combobox WITH ; + Anchor = 12, ; + BoundColumn = 2, ; + BoundTo = .T., ; + ColumnCount = 2, ; + ColumnLines = .F., ; + ColumnWidths = "200,0", ; + Enabled = .F., ; + Height = 24, ; + Left = 285, ; + Name = "cboAtasamente", ; + RowSource = "Fara atasamente,0,Factura,1,Factura si alte documente,2,Alte documente,3", ; + RowSourceType = 1, ; + ToolTipText = "Ataseaza fisier pdf factura (datafact_nrfact_factura.pdf) la xml eFactura, daca fisierul exista deja in directorul atasamente", ; + Top = 399, ; + Value = 0, ; + Width = 243 + *< END OBJECT: ClassLib="_baza.vcx" BaseClass="combobox" /> + + ADD OBJECT 'pgfeFactura.Page1.chkDiferente' AS _checkbox WITH ; + Alignment = 0, ; + Anchor = 6, ; + AutoSize = .F., ; + BackColor = 225,225,225, ; + BackStyle = 1, ; + Caption = "Trimise (cu diferente Reg. Vz.)", ; + Height = 25, ; + Left = 522, ; + Name = "chkDiferente", ; + Style = 0, ; + Top = 151, ; + Value = .F., ; + Width = 197 + *< END OBJECT: ClassLib="_baza.vcx" BaseClass="checkbox" /> + + ADD OBJECT 'pgfeFactura.Page1.chkErori' AS _checkbox WITH ; + Alignment = 0, ; + Anchor = 6, ; + AutoSize = .F., ; + BackColor = 255,140,140, ; + BackStyle = 1, ; + Caption = "Trimise (cu raspuns Erori)", ; + Height = 25, ; + Left = 346, ; + Name = "chkErori", ; + Style = 0, ; + Top = 151, ; + Value = .F., ; + Width = 170 + *< END OBJECT: ClassLib="_baza.vcx" BaseClass="checkbox" /> + + ADD OBJECT 'pgfeFactura.Page1.chkFortareRaspunsuri' AS _checkbox WITH ; + Alignment = 0, ; + Anchor = 12, ; + Caption = "Forteaza rapuns", ; + FontBold = .F., ; + ForeColor = 64,128,128, ; + Left = 667, ; + Name = "chkFortareRaspunsuri", ; + ToolTipText = "Se descarca si se proceseaza inclusiv raspunsurile care au fost deja salvate", ; + Top = 380, ; + Value = .F., ; + ZOrderSet = 11 + *< END OBJECT: ClassLib="_baza.vcx" BaseClass="checkbox" /> + + ADD OBJECT 'pgfeFactura.Page1.chkNetrimise' AS _checkbox WITH ; + Alignment = 0, ; + Anchor = 6, ; + AutoSize = .F., ; + BackColor = 255,255,240, ; + BackStyle = 1, ; + Caption = "Netrimise", ; + Height = 25, ; + Left = 112, ; + Name = "chkNetrimise", ; + Style = 0, ; + Top = 151, ; + Value = .F., ; + Width = 79 + *< END OBJECT: ClassLib="_baza.vcx" BaseClass="checkbox" /> + + ADD OBJECT 'pgfeFactura.Page1.chkPersFizice' AS _checkbox WITH ; + Alignment = 0, ; + Anchor = 6, ; + Caption = "Inclusiv Pers. Fizice", ; + FontBold = .F., ; + ForeColor = 0,128,192, ; + Left = 7, ; + Name = "chkPersFizice", ; + ToolTipText = "Se selecteaza inclusiv facturile pentru persoanele fizice", ; + Top = 380, ; + Value = .T., ; + ZOrderSet = 11 + *< END OBJECT: ClassLib="_baza.vcx" BaseClass="checkbox" /> + + ADD OBJECT 'pgfeFactura.Page1.chkPJ' AS _checkbox WITH ; + Alignment = 0, ; + Anchor = 6, ; + AutoSize = .F., ; + BackStyle = 1, ; + Caption = "Pers. Juridice", ; + ForeColor = 0,128,192, ; + Height = 25, ; + Left = 7, ; + Name = "chkPJ", ; + Style = 0, ; + Top = 151, ; + Value = .F., ; + Width = 98 + *< END OBJECT: ClassLib="_baza.vcx" BaseClass="checkbox" /> + + ADD OBJECT 'pgfeFactura.Page1.chkTrimis' AS _checkbox WITH ; + Alignment = 0, ; + Anchor = 6, ; + Caption = "Trimis", ; + ControlSource = "crsFacturiEmise.trimis", ; + Enabled = .F., ; + FontBold = .T., ; + ForeColor = 0,64,128, ; + Left = 13, ; + Name = "chkTrimis", ; + ToolTipText = 'Bifeaza o factura ca "Trimisa", daca a fost trimisa manual in eFactura', ; + Top = 304, ; + ZOrderSet = 11 + *< END OBJECT: ClassLib="_baza.vcx" BaseClass="checkbox" /> + + ADD OBJECT 'pgfeFactura.Page1.chkTrimise' AS _checkbox WITH ; + Alignment = 0, ; + Anchor = 6, ; + AutoSize = .F., ; + BackColor = 255,165,255, ; + BackStyle = 1, ; + Caption = "Trimise (fara raspuns)", ; + Height = 25, ; + Left = 195, ; + Name = "chkTrimise", ; + Style = 0, ; + Top = 151, ; + Value = .F., ; + Width = 147 + *< END OBJECT: ClassLib="_baza.vcx" BaseClass="checkbox" /> + + ADD OBJECT 'pgfeFactura.Page1.chkValidareOnline' AS _checkbox WITH ; + Alignment = 0, ; + Anchor = 12, ; + Caption = "Validare online", ; + FontBold = .F., ; + ForeColor = 0,64,128, ; + Left = 539, ; + Name = "chkValidareOnline", ; + ToolTipText = "Se valideaza xml eFactura online pe serverul ANAF inainte de a se trimite in sistemul eFactura. Alternativ, se valideaza offline cu DukIntegrator", ; + Top = 380, ; + Value = 1, ; + ZOrderSet = 11 + *< END OBJECT: ClassLib="_baza.vcx" BaseClass="checkbox" /> + + ADD OBJECT 'pgfeFactura.Page1.Cmd_select_adv1' AS cmd_select_adv WITH ; + Anchor = 6, ; + ccoloana = ales, ; + cgrid = thisform.pgfeFactura.page1.grdFacturiEmise, ; + FontBold = .F., ; + FontUnderline = .T., ; + ForeColor = 0,64,128, ; + Left = 4, ; + Name = "Cmd_select_adv1", ; + Top = 397 + *< END OBJECT: ClassLib="cmd_butoane.vcx" BaseClass="commandbutton" /> + + ADD OBJECT 'pgfeFactura.Page1.cmdRaspunsuri' AS cmd_executa WITH ; + Anchor = 12, ; + caction = do_raspunsuri, ; + Caption = "\ + + ADD OBJECT 'pgfeFactura.Page1.cmdTrimite' AS cmd_executa WITH ; + Anchor = 12, ; + AutoSize = .F., ; + Caption = "\ + + ADD OBJECT 'pgfeFactura.Page1.edtDetalii' AS _editbox WITH ; + Anchor = 14, ; + ControlSource = "crsFacturiEmise.detalii", ; + Height = 57, ; + Left = 383, ; + Name = "edtDetalii", ; + ReadOnly = .T., ; + Top = 316, ; + Width = 396, ; + ZOrderSet = 7 + *< END OBJECT: ClassLib="_baza.vcx" BaseClass="editbox" /> + + ADD OBJECT 'pgfeFactura.Page1.grdDetaliiFacturi' AS _grdbase WITH ; + Anchor = 14, ; + BackColor = 255,255,255, ; + ColumnCount = 10, ; + DeleteMark = .F., ; + FontName = "Arial", ; + FontSize = 10, ; + GridLineColor = 192,192,192, ; + HeaderHeight = 35, ; + Height = 112, ; + lcamptextneeditabil = .F., ; + Left = 4, ; + Name = "grdDetaliiFacturi", ; + Panel = 1, ; + ReadOnly = .T., ; + RecordMark = .T., ; + RecordSource = "crsdetaliifacturi", ; + RowHeight = 19, ; + TabIndex = 1, ; + Top = 183, ; + Width = 780, ; + ZOrderSet = 1, ; + Column1.BackColor = 255,255,255, ; + Column1.ControlSource = "crsdetaliifacturi.nr", ; + Column1.FontName = "Arial", ; + Column1.FontSize = 10, ; + Column1.Name = "Column1", ; + Column1.ReadOnly = .T., ; + Column1.Width = 37, ; + Column2.BackColor = 255,255,255, ; + Column2.ControlSource = "crsdetaliifacturi.articol", ; + Column2.FontName = "Arial", ; + Column2.FontSize = 10, ; + Column2.Name = "Column2", ; + Column2.ReadOnly = .T., ; + Column2.Width = 146, ; + Column3.BackColor = 255,255,255, ; + Column3.ColumnOrder = 10, ; + Column3.ControlSource = "crsdetaliifacturi.detalii", ; + Column3.CurrentControl = "_editbox1", ; + Column3.FontName = "Arial", ; + Column3.FontSize = 10, ; + Column3.Name = "Column3", ; + Column3.ReadOnly = .T., ; + Column3.Width = 189, ; + Column4.BackColor = 255,255,255, ; + Column4.ColumnOrder = 3, ; + Column4.ControlSource = "crsdetaliifacturi.cantitate", ; + Column4.FontName = "Arial", ; + Column4.FontSize = 10, ; + Column4.Name = "Column4", ; + Column4.ReadOnly = .T., ; + Column4.Width = 56, ; + Column5.BackColor = 255,255,255, ; + Column5.ColumnOrder = 4, ; + Column5.ControlSource = "crsdetaliifacturi.um", ; + Column5.FontName = "Arial", ; + Column5.FontSize = 10, ; + Column5.Name = "Column5", ; + Column5.ReadOnly = .T., ; + Column5.Width = 40, ; + Column6.BackColor = 255,255,255, ; + Column6.ColumnOrder = 5, ; + Column6.ControlSource = "crsdetaliifacturi.pret", ; + Column6.FontName = "Arial", ; + Column6.FontSize = 10, ; + Column6.Name = "Column6", ; + Column6.ReadOnly = .T., ; + Column6.Width = 75, ; + Column7.BackColor = 255,255,255, ; + Column7.ColumnOrder = 8, ; + Column7.ControlSource = "crsdetaliifacturi.proctva", ; + Column7.FontName = "Arial", ; + Column7.FontSize = 10, ; + Column7.Name = "Column7", ; + Column7.ReadOnly = .T., ; + Column7.Width = 45, ; + Column8.BackColor = 255,255,255, ; + Column8.ColumnOrder = 9, ; + Column8.ControlSource = "crsdetaliifacturi.descriere", ; + Column8.FontName = "Arial", ; + Column8.FontSize = 10, ; + Column8.Name = "Column8", ; + Column8.ReadOnly = .T., ; + Column8.Width = 162, ; + Column9.BackColor = 255,255,255, ; + Column9.ColumnOrder = 6, ; + Column9.ControlSource = "crsdetaliifacturi.valoarefaratva", ; + Column9.FontName = "Arial", ; + Column9.FontSize = 10, ; + Column9.Name = "Column9", ; + Column9.ReadOnly = .T., ; + Column9.Width = 102, ; + Column10.BackColor = 255,255,255, ; + Column10.ColumnOrder = 7, ; + Column10.ControlSource = "crsdetaliifacturi.discountfaratva", ; + Column10.FontName = "Arial", ; + Column10.FontSize = 10, ; + Column10.Name = "Column10", ; + Column10.ReadOnly = .T., ; + Column10.Width = 109 + *< END OBJECT: ClassLib="_grd_base.vcx" BaseClass="grid" /> + + ADD OBJECT 'pgfeFactura.Page1.grdDetaliiFacturi.Column1.Header1' AS header WITH ; + Alignment = 2, ; + Caption = "Nr", ; + FontSize = 10, ; + Name = "Header1" + *< END OBJECT: BaseClass="header" /> + + ADD OBJECT 'pgfeFactura.Page1.grdDetaliiFacturi.Column1.Text1' AS textbox WITH ; + BackColor = 255,255,255, ; + BorderStyle = 0, ; + FontSize = 10, ; + ForeColor = 0,0,0, ; + Margin = 0, ; + Name = "Text1", ; + SelectedBackColor = 100,185,255 + *< END OBJECT: BaseClass="textbox" /> + + ADD OBJECT 'pgfeFactura.Page1.grdDetaliiFacturi.Column10.Header1' AS header WITH ; + Alignment = 2, ; + Caption = "Discount fara TVA", ; + FontSize = 10, ; + Name = "Header1" + *< END OBJECT: BaseClass="header" /> + + ADD OBJECT 'pgfeFactura.Page1.grdDetaliiFacturi.Column10.Text1' AS textbox WITH ; + BackColor = 255,255,255, ; + BorderStyle = 0, ; + FontSize = 10, ; + ForeColor = 0,0,0, ; + Margin = 0, ; + Name = "Text1", ; + ReadOnly = .T., ; + SelectedBackColor = 100,185,255 + *< END OBJECT: BaseClass="textbox" /> + + ADD OBJECT 'pgfeFactura.Page1.grdDetaliiFacturi.Column2.Header1' AS header WITH ; + Alignment = 2, ; + Caption = "Articol", ; + FontSize = 10, ; + Name = "Header1" + *< END OBJECT: BaseClass="header" /> + + ADD OBJECT 'pgfeFactura.Page1.grdDetaliiFacturi.Column2.Text1' AS textbox WITH ; + BackColor = 255,255,255, ; + BorderStyle = 0, ; + FontSize = 10, ; + ForeColor = 0,0,0, ; + Margin = 0, ; + Name = "Text1", ; + SelectedBackColor = 100,185,255 + *< END OBJECT: BaseClass="textbox" /> + + ADD OBJECT 'pgfeFactura.Page1.grdDetaliiFacturi.Column3._editbox1' AS _editbox WITH ; + FontSize = 10, ; + Left = 37, ; + Name = "_editbox1", ; + Top = 47 + *< END OBJECT: ClassLib="_baza.vcx" BaseClass="editbox" /> + + ADD OBJECT 'pgfeFactura.Page1.grdDetaliiFacturi.Column3.Header1' AS header WITH ; + Caption = "Detalii", ; + FontSize = 10, ; + Name = "Header1" + *< END OBJECT: BaseClass="header" /> + + ADD OBJECT 'pgfeFactura.Page1.grdDetaliiFacturi.Column3.Text1' AS textbox WITH ; + BackColor = 255,255,255, ; + BorderStyle = 0, ; + ForeColor = 0,0,0, ; + Margin = 0, ; + Name = "Text1", ; + SelectedBackColor = 100,185,255 + *< END OBJECT: BaseClass="textbox" /> + + ADD OBJECT 'pgfeFactura.Page1.grdDetaliiFacturi.Column4.Header1' AS header WITH ; + Alignment = 2, ; + Caption = "Cantitate", ; + FontSize = 10, ; + Name = "Header1" + *< END OBJECT: BaseClass="header" /> + + ADD OBJECT 'pgfeFactura.Page1.grdDetaliiFacturi.Column4.Text1' AS textbox WITH ; + BackColor = 255,255,255, ; + BorderStyle = 0, ; + FontSize = 10, ; + ForeColor = 0,0,0, ; + Margin = 0, ; + Name = "Text1", ; + SelectedBackColor = 100,185,255 + *< END OBJECT: BaseClass="textbox" /> + + ADD OBJECT 'pgfeFactura.Page1.grdDetaliiFacturi.Column5.Header1' AS header WITH ; + Alignment = 2, ; + Caption = "UM", ; + FontSize = 10, ; + Name = "Header1" + *< END OBJECT: BaseClass="header" /> + + ADD OBJECT 'pgfeFactura.Page1.grdDetaliiFacturi.Column5.Text1' AS textbox WITH ; + BackColor = 255,255,255, ; + BorderStyle = 0, ; + FontSize = 10, ; + ForeColor = 0,0,0, ; + Margin = 0, ; + Name = "Text1", ; + SelectedBackColor = 100,185,255 + *< END OBJECT: BaseClass="textbox" /> + + ADD OBJECT 'pgfeFactura.Page1.grdDetaliiFacturi.Column6.Header1' AS header WITH ; + Alignment = 2, ; + Caption = "Pret unitar", ; + FontSize = 10, ; + Name = "Header1" + *< END OBJECT: BaseClass="header" /> + + ADD OBJECT 'pgfeFactura.Page1.grdDetaliiFacturi.Column6.Text1' AS textbox WITH ; + BackColor = 255,255,255, ; + BorderStyle = 0, ; + FontSize = 10, ; + ForeColor = 0,0,0, ; + Margin = 0, ; + Name = "Text1", ; + SelectedBackColor = 100,185,255 + *< END OBJECT: BaseClass="textbox" /> + + ADD OBJECT 'pgfeFactura.Page1.grdDetaliiFacturi.Column7.Header1' AS header WITH ; + Alignment = 2, ; + Caption = "% TVA", ; + FontSize = 10, ; + Name = "Header1" + *< END OBJECT: BaseClass="header" /> + + ADD OBJECT 'pgfeFactura.Page1.grdDetaliiFacturi.Column7.Text1' AS textbox WITH ; + BackColor = 255,255,255, ; + BorderStyle = 0, ; + FontSize = 10, ; + ForeColor = 0,0,0, ; + Margin = 0, ; + Name = "Text1", ; + SelectedBackColor = 100,185,255 + *< END OBJECT: BaseClass="textbox" /> + + ADD OBJECT 'pgfeFactura.Page1.grdDetaliiFacturi.Column8.Header1' AS header WITH ; + Alignment = 2, ; + Caption = "Descriere", ; + FontSize = 10, ; + Name = "Header1" + *< END OBJECT: BaseClass="header" /> + + ADD OBJECT 'pgfeFactura.Page1.grdDetaliiFacturi.Column8.Text1' AS textbox WITH ; + BackColor = 255,255,255, ; + BorderStyle = 0, ; + FontSize = 10, ; + ForeColor = 0,0,0, ; + Margin = 0, ; + Name = "Text1", ; + SelectedBackColor = 100,185,255 + *< END OBJECT: BaseClass="textbox" /> + + ADD OBJECT 'pgfeFactura.Page1.grdDetaliiFacturi.Column9.Header1' AS header WITH ; + Alignment = 2, ; + Caption = "Valoare fara TVA", ; + FontSize = 10, ; + Name = "Header1" + *< END OBJECT: BaseClass="header" /> + + ADD OBJECT 'pgfeFactura.Page1.grdDetaliiFacturi.Column9.Text1' AS textbox WITH ; + BackColor = 255,255,255, ; + BorderStyle = 0, ; + FontSize = 10, ; + ForeColor = 0,0,0, ; + Margin = 0, ; + Name = "Text1", ; + ReadOnly = .T., ; + SelectedBackColor = 100,185,255 + *< END OBJECT: BaseClass="textbox" /> + + ADD OBJECT 'pgfeFactura.Page1.grdFacturiEmise' AS _grdbase WITH ; + Anchor = 15, ; + BackColor = 255,255,255, ; + ColumnCount = 36, ; + DeleteMark = .F., ; + FontShadow = .F., ; + FontSize = 10, ; + GridLineColor = 192,192,192, ; + HeaderHeight = 38, ; + Height = 113, ; + lcamptextneeditabil = .F., ; + Left = 4, ; + Name = "grdFacturiEmise", ; + Panel = 1, ; + ReadOnly = .T., ; + RecordMark = .T., ; + RecordSource = "crsFacturiEmise", ; + RowHeight = 19, ; + TabIndex = 1, ; + Top = 0, ; + Width = 780, ; + ZOrderSet = 1, ; + Column1.BackColor = 255,255,255, ; + Column1.ColumnOrder = 1, ; + Column1.ControlSource = "crsFacturiEmise.ales", ; + Column1.CurrentControl = "_checkbox1", ; + Column1.FontName = "Arial", ; + Column1.FontShadow = .F., ; + Column1.FontSize = 10, ; + Column1.Name = "cAles", ; + Column1.ReadOnly = .F., ; + Column1.Sparse = .F., ; + Column1.Width = 26, ; + Column2.BackColor = 255,255,255, ; + Column2.ColumnOrder = 2, ; + Column2.ControlSource = "numar_act", ; + Column2.FontName = "Arial", ; + Column2.FontShadow = .F., ; + Column2.FontSize = 10, ; + Column2.Name = "cNr", ; + Column2.ReadOnly = .T., ; + Column2.Width = 86, ; + Column3.Alignment = 6, ; + Column3.BackColor = 255,255,255, ; + Column3.ColumnOrder = 3, ; + Column3.ControlSource = "data_act", ; + Column3.FontName = "Arial", ; + Column3.FontShadow = .F., ; + Column3.FontSize = 10, ; + Column3.Name = "cData", ; + Column3.ReadOnly = .T., ; + Column3.Width = 69, ; + Column4.BackColor = 255,255,255, ; + Column4.ColumnOrder = 4, ; + Column4.ControlSource = "client", ; + Column4.FontName = "Arial", ; + Column4.FontShadow = .F., ; + Column4.FontSize = 10, ; + Column4.Name = "cClient", ; + Column4.ReadOnly = .T., ; + Column4.Width = 279, ; + Column5.BackColor = 255,255,255, ; + Column5.ColumnOrder = 7, ; + Column5.ControlSource = "crsFacturiEmise.trimis", ; + Column5.CurrentControl = "_checkbox1", ; + Column5.FontShadow = .F., ; + Column5.FontSize = 10, ; + Column5.Name = "cTrimis", ; + Column5.ReadOnly = .T., ; + Column5.Sparse = .F., ; + Column5.Width = 43, ; + Column6.BackColor = 255,255,255, ; + Column6.ColumnOrder = 8, ; + Column6.ControlSource = "data_trimis", ; + Column6.FontShadow = .F., ; + Column6.FontSize = 10, ; + Column6.Name = "cDataTrimis", ; + Column6.ReadOnly = .T., ; + Column7.BackColor = 255,255,255, ; + Column7.ColumnOrder = 11, ; + Column7.ControlSource = "mesaj_trimis", ; + Column7.FontShadow = .F., ; + Column7.FontSize = 10, ; + Column7.Name = "cMesajTrimis", ; + Column7.ReadOnly = .T., ; + Column7.Width = 379, ; + Column8.BackColor = 255,255,255, ; + Column8.ColumnOrder = 5, ; + Column8.ControlSource = "cod_fiscal", ; + Column8.FontShadow = .F., ; + Column8.FontSize = 10, ; + Column8.Name = "cCodFiscal", ; + Column8.ReadOnly = .T., ; + Column8.Width = 108, ; + Column9.BackColor = 255,255,255, ; + Column9.ColumnOrder = 14, ; + Column9.ControlSource = "tip_mesaj_raspuns", ; + Column9.FontShadow = .F., ; + Column9.FontSize = 10, ; + Column9.Name = "cTipMesajRaspuns", ; + Column9.ReadOnly = .T., ; + Column9.Width = 117, ; + Column10.BackColor = 255,255,255, ; + Column10.ColumnOrder = 15, ; + Column10.ControlSource = "mesaj_raspuns", ; + Column10.FontShadow = .F., ; + Column10.FontSize = 10, ; + Column10.Name = "cMesajRaspuns", ; + Column10.ReadOnly = .T., ; + Column10.ToolTipText = "Dublu click pentru afisarea detaliilor", ; + Column10.Width = 174, ; + Column11.BackColor = 255,255,255, ; + Column11.ColumnOrder = 10, ; + Column11.ControlSource = "id_incarcare", ; + Column11.FontShadow = .F., ; + Column11.FontSize = 10, ; + Column11.Name = "cIdIncarcare", ; + Column11.ReadOnly = .T., ; + Column11.Width = 101, ; + Column12.BackColor = 255,255,255, ; + Column12.ColumnOrder = 13, ; + Column12.ControlSource = "id_descarcare", ; + Column12.FontShadow = .F., ; + Column12.FontSize = 10, ; + Column12.Name = "cId", ; + Column12.ReadOnly = .T., ; + Column12.Width = 108, ; + Column13.BackColor = 255,255,255, ; + Column13.ColumnOrder = 12, ; + Column13.ControlSource = "data_raspuns", ; + Column13.FontShadow = .F., ; + Column13.FontSize = 10, ; + Column13.Name = "cDataRaspuns", ; + Column13.ReadOnly = .T., ; + Column13.Width = 94, ; + Column14.BackColor = 255,255,255, ; + Column14.ColumnOrder = 27, ; + Column14.ControlSource = "crsFacturiEmise.test", ; + Column14.CurrentControl = "_checkbox1", ; + Column14.FontShadow = .F., ; + Column14.FontSize = 10, ; + Column14.Name = "cTest", ; + Column14.ReadOnly = .T., ; + Column14.Sparse = .F., ; + Column14.Width = 31, ; + Column15.BackColor = 255,255,255, ; + Column15.ColumnOrder = 9, ; + Column15.ControlSource = "utilizator", ; + Column15.FontShadow = .F., ; + Column15.FontSize = 10, ; + Column15.Name = "cUtilizator", ; + Column15.ReadOnly = .T., ; + Column15.Width = 153, ; + Column16.BackColor = 255,255,255, ; + Column16.ColumnOrder = 16, ; + Column16.ControlSource = "xtotal_cu_tva", ; + Column16.FontShadow = .F., ; + Column16.FontSize = 10, ; + Column16.Format = "RK", ; + Column16.InputMask = "999 999 999 999.99", ; + Column16.Name = "cxTotalCuTVA", ; + Column16.ReadOnly = .T., ; + Column16.Width = 83, ; + Column17.BackColor = 255,255,255, ; + Column17.ColumnOrder = 19, ; + Column17.ControlSource = "jtotctva", ; + Column17.FontShadow = .F., ; + Column17.FontSize = 10, ; + Column17.Format = "RK", ; + Column17.InputMask = "999 999 999 999.99", ; + Column17.Name = "cJtotcTVA", ; + Column17.ReadOnly = .T., ; + Column17.Width = 97, ; + Column18.BackColor = 255,255,255, ; + Column18.ColumnOrder = 20, ; + Column18.ControlSource = "diferenta", ; + Column18.FontShadow = .F., ; + Column18.FontSize = 10, ; + Column18.Format = "RK", ; + Column18.InputMask = "999 999 999 999.99", ; + Column18.Name = "cDiferenta", ; + Column18.ReadOnly = .T., ; + Column18.Width = 91, ; + Column19.BackColor = 255,255,255, ; + Column19.ColumnOrder = 21, ; + Column19.ControlSource = "xvaloare_fara_tva", ; + Column19.FontShadow = .F., ; + Column19.FontSize = 10, ; + Column19.Format = "RK", ; + Column19.InputMask = "999 999 999 999.99", ; + Column19.Name = "cxValoareFaraTVA", ; + Column19.ReadOnly = .T., ; + Column19.Width = 94, ; + Column20.BackColor = 255,255,255, ; + Column20.ColumnOrder = 22, ; + Column20.ControlSource = "xdiscount_fara_tva", ; + Column20.FontShadow = .F., ; + Column20.FontSize = 10, ; + Column20.Format = "RK", ; + Column20.InputMask = "999 999 999 999.99", ; + Column20.Name = "cxDiscount", ; + Column20.ReadOnly = .T., ; + Column20.Width = 66, ; + Column21.BackColor = 255,255,255, ; + Column21.ColumnOrder = 23, ; + Column21.ControlSource = "xtaxe_fara_tva", ; + Column21.FontShadow = .F., ; + Column21.FontSize = 10, ; + Column21.Name = "cxTaxe", ; + Column21.ReadOnly = .T., ; + Column21.Width = 59, ; + Column22.BackColor = 255,255,255, ; + Column22.ColumnOrder = 24, ; + Column22.ControlSource = "xtotal_fara_tva", ; + Column22.FontShadow = .F., ; + Column22.FontSize = 10, ; + Column22.Format = "RK", ; + Column22.InputMask = "999 999 999 999.99", ; + Column22.Name = "cxTotalFaraTVA", ; + Column22.ReadOnly = .T., ; + Column22.Width = 79, ; + Column23.BackColor = 255,255,255, ; + Column23.ColumnOrder = 25, ; + Column23.ControlSource = "xtotal_tva", ; + Column23.FontShadow = .F., ; + Column23.FontSize = 10, ; + Column23.Format = "RK", ; + Column23.InputMask = "999 999 999 999.99", ; + Column23.Name = "cxTotalTVA", ; + Column23.ReadOnly = .T., ; + Column24.BackColor = 255,255,255, ; + Column24.ColumnOrder = 26, ; + Column24.ControlSource = "xtotal_de_plata", ; + Column24.FontShadow = .F., ; + Column24.FontSize = 10, ; + Column24.Format = "RK", ; + Column24.InputMask = "999 999 999 999.99", ; + Column24.Name = "cxTotalDePlata", ; + Column24.ReadOnly = .T., ; + Column24.Width = 79, ; + Column25.BackColor = 255,255,255, ; + Column25.ColumnOrder = 6, ; + Column25.ControlSource = "IIF(nvl(crsFacturiEmise.tip_persoana,1) = 1, 'PJ', 'PF')", ; + Column25.FontShadow = .F., ; + Column25.FontSize = 10, ; + Column25.Name = "cTipPersoana", ; + Column25.ReadOnly = .T., ; + Column26.BackColor = 255,255,255, ; + Column26.ColumnOrder = 18, ; + Column26.ControlSource = "in_valuta", ; + Column26.CurrentControl = "_checkbox1", ; + Column26.FontShadow = .F., ; + Column26.FontSize = 10, ; + Column26.Name = "cInValuta", ; + Column26.ReadOnly = .T., ; + Column26.Sparse = .F., ; + Column26.Width = 51, ; + Column27.BackColor = 255,255,255, ; + Column27.ColumnOrder = 34, ; + Column27.ControlSource = "nume_valuta", ; + Column27.FontShadow = .F., ; + Column27.FontSize = 10, ; + Column27.Name = "cNumeValuta", ; + Column27.ReadOnly = .T., ; + Column27.Width = 41, ; + Column28.BackColor = 255,255,255, ; + Column28.ColumnOrder = 28, ; + Column28.ControlSource = "total_fara_tva", ; + Column28.FontShadow = .F., ; + Column28.FontSize = 10, ; + Column28.Format = "RK", ; + Column28.InputMask = "999 999 999 999.99", ; + Column28.Name = "cTotalFaraTVA", ; + Column28.ReadOnly = .T., ; + Column28.Width = 86, ; + Column29.BackColor = 255,255,255, ; + Column29.ColumnOrder = 29, ; + Column29.ControlSource = "total_tva", ; + Column29.FontShadow = .F., ; + Column29.FontSize = 10, ; + Column29.Format = "RK", ; + Column29.InputMask = "999 999 999 999.99", ; + Column29.Name = "cTotalTVA", ; + Column29.ReadOnly = .T., ; + Column30.BackColor = 255,255,255, ; + Column30.ColumnOrder = 30, ; + Column30.ControlSource = "total_cu_tva", ; + Column30.FontShadow = .F., ; + Column30.FontSize = 10, ; + Column30.Format = "RK", ; + Column30.InputMask = "999 999 999 999.99", ; + Column30.Name = "cTotalCuTVA", ; + Column30.ReadOnly = .T., ; + Column31.BackColor = 255,255,255, ; + Column31.ColumnOrder = 31, ; + Column31.ControlSource = "valval", ; + Column31.FontShadow = .F., ; + Column31.FontSize = 10, ; + Column31.Format = "RK", ; + Column31.InputMask = "999 999 999 999.99", ; + Column31.Name = "cValVal", ; + Column31.ReadOnly = .T., ; + Column31.Width = 101, ; + Column32.BackColor = 255,255,255, ; + Column32.ColumnOrder = 32, ; + Column32.ControlSource = "tvaval", ; + Column32.FontShadow = .F., ; + Column32.FontSize = 10, ; + Column32.Format = "RK", ; + Column32.InputMask = "999 999 999 999.99", ; + Column32.Name = "cTvaVal", ; + Column32.ReadOnly = .T., ; + Column32.Width = 75, ; + Column33.BackColor = 255,255,255, ; + Column33.ColumnOrder = 33, ; + Column33.ControlSource = "totval", ; + Column33.FontShadow = .F., ; + Column33.FontSize = 10, ; + Column33.Format = "RK", ; + Column33.InputMask = "999 999 999 999.99", ; + Column33.Name = "cTotVal", ; + Column33.ReadOnly = .T., ; + Column33.Width = 96, ; + Column34.BackColor = 255,255,255, ; + Column34.ColumnOrder = 17, ; + Column34.ControlSource = "xnume_valuta", ; + Column34.FontShadow = .F., ; + Column34.FontSize = 10, ; + Column34.Name = "cxNumeValuta", ; + Column34.ReadOnly = .T., ; + Column34.Width = 53, ; + Column35.BackColor = 255,255,255, ; + Column35.ControlSource = "curs", ; + Column35.FontShadow = .F., ; + Column35.FontSize = 10, ; + Column35.Name = "cCurs", ; + Column35.ReadOnly = .T., ; + Column35.Width = 69, ; + Column36.BackColor = 255,255,255, ; + Column36.ControlSource = "crsFacturiEmise.creditnote", ; + Column36.CurrentControl = "_checkbox1", ; + Column36.FontShadow = .F., ; + Column36.FontSize = 10, ; + Column36.Name = "cCreditNote", ; + Column36.ReadOnly = .T., ; + Column36.Sparse = .F. + *< END OBJECT: ClassLib="_grd_base.vcx" BaseClass="grid" /> + + ADD OBJECT 'pgfeFactura.Page1.grdFacturiEmise.cAles._checkbox1' AS _checkbox WITH ; + Alignment = 2, ; + Caption = "", ; + FontShadow = .F., ; + FontSize = 10, ; + Left = 17, ; + Name = "_checkbox1", ; + ReadOnly = .F., ; + Top = 62 + *< END OBJECT: ClassLib="_baza.vcx" BaseClass="checkbox" /> + + ADD OBJECT 'pgfeFactura.Page1.grdFacturiEmise.cAles.Header1' AS header WITH ; + Alignment = 2, ; + Caption = "Ales", ; + FontName = "Arial", ; + FontShadow = .F., ; + FontSize = 10, ; + Name = "Header1" + *< END OBJECT: BaseClass="header" /> + + ADD OBJECT 'pgfeFactura.Page1.grdFacturiEmise.cAles.Text1' AS textbox WITH ; + BackColor = 255,255,255, ; + BorderStyle = 0, ; + FontName = "Arial", ; + ForeColor = 0,0,0, ; + Margin = 0, ; + Name = "Text1", ; + ReadOnly = .T., ; + SelectedBackColor = 100,185,255 + *< END OBJECT: BaseClass="textbox" /> + + ADD OBJECT 'pgfeFactura.Page1.grdFacturiEmise.cClient.Header1' AS header WITH ; + Alignment = 2, ; + Caption = "Client", ; + FontName = "Arial", ; + FontShadow = .F., ; + FontSize = 10, ; + Name = "Header1" + *< END OBJECT: BaseClass="header" /> + + ADD OBJECT 'pgfeFactura.Page1.grdFacturiEmise.cClient.Text1' AS textbox WITH ; + BackColor = 255,255,255, ; + BorderStyle = 0, ; + FontName = "Arial", ; + FontShadow = .F., ; + FontSize = 10, ; + ForeColor = 0,0,0, ; + Margin = 0, ; + Name = "Text1", ; + ReadOnly = .T., ; + SelectedBackColor = 100,185,255 + *< END OBJECT: BaseClass="textbox" /> + + ADD OBJECT 'pgfeFactura.Page1.grdFacturiEmise.cCodFiscal.Header1' AS header WITH ; + Alignment = 2, ; + Caption = "Cod fiscal", ; + FontShadow = .F., ; + FontSize = 10, ; + Name = "Header1" + *< END OBJECT: BaseClass="header" /> + + ADD OBJECT 'pgfeFactura.Page1.grdFacturiEmise.cCodFiscal.Text1' AS textbox WITH ; + BackColor = 255,255,255, ; + BorderStyle = 0, ; + FontShadow = .F., ; + FontSize = 10, ; + ForeColor = 0,0,0, ; + Margin = 0, ; + Name = "Text1", ; + ReadOnly = .T., ; + SelectedBackColor = 100,185,255 + *< END OBJECT: BaseClass="textbox" /> + + ADD OBJECT 'pgfeFactura.Page1.grdFacturiEmise.cCreditNote._checkbox1' AS _checkbox WITH ; + Alignment = 2, ; + Caption = "", ; + ControlSource = "crsFacturiEmise.creditnote", ; + Left = 46, ; + Name = "_checkbox1", ; + ReadOnly = .T., ; + Top = 63 + *< END OBJECT: ClassLib="_baza.vcx" BaseClass="checkbox" /> + + ADD OBJECT 'pgfeFactura.Page1.grdFacturiEmise.cCreditNote.Header1' AS header WITH ; + Alignment = 2, ; + Caption = "CreditNote", ; + FontSize = 10, ; + Name = "Header1" + *< END OBJECT: BaseClass="header" /> + + ADD OBJECT 'pgfeFactura.Page1.grdFacturiEmise.cCreditNote.Text1' AS textbox WITH ; + BackColor = 255,255,255, ; + BorderStyle = 0, ; + FontSize = 10, ; + ForeColor = 0,0,0, ; + Margin = 0, ; + Name = "Text1", ; + SelectedBackColor = 100,185,255 + *< END OBJECT: BaseClass="textbox" /> + + ADD OBJECT 'pgfeFactura.Page1.grdFacturiEmise.cCurs.Header1' AS header WITH ; + Alignment = 2, ; + Caption = "Curs", ; + FontSize = 10, ; + Name = "Header1" + *< END OBJECT: BaseClass="header" /> + + ADD OBJECT 'pgfeFactura.Page1.grdFacturiEmise.cCurs.Text1' AS textbox WITH ; + BackColor = 255,255,255, ; + BorderStyle = 0, ; + FontSize = 10, ; + ForeColor = 0,0,0, ; + Margin = 0, ; + Name = "Text1", ; + ReadOnly = .T., ; + SelectedBackColor = 100,185,255 + *< END OBJECT: BaseClass="textbox" /> + + ADD OBJECT 'pgfeFactura.Page1.grdFacturiEmise.cData.Header1' AS header WITH ; + Alignment = 2, ; + Caption = "Data fact. ", ; + FontName = "Arial", ; + FontShadow = .F., ; + FontSize = 10, ; + Name = "Header1" + *< END OBJECT: BaseClass="header" /> + + ADD OBJECT 'pgfeFactura.Page1.grdFacturiEmise.cData.Text1' AS textbox WITH ; + BackColor = 255,255,255, ; + BorderStyle = 0, ; + FontName = "Arial", ; + FontShadow = .F., ; + FontSize = 10, ; + ForeColor = 0,0,0, ; + Margin = 0, ; + Name = "Text1", ; + ReadOnly = .T., ; + SelectedBackColor = 100,185,255 + *< END OBJECT: BaseClass="textbox" /> + + ADD OBJECT 'pgfeFactura.Page1.grdFacturiEmise.cDataRaspuns.Header1' AS header WITH ; + Alignment = 2, ; + Caption = "Data raspuns", ; + FontShadow = .F., ; + FontSize = 10, ; + Name = "Header1" + *< END OBJECT: BaseClass="header" /> + + ADD OBJECT 'pgfeFactura.Page1.grdFacturiEmise.cDataRaspuns.Text1' AS textbox WITH ; + BackColor = 255,255,255, ; + BorderStyle = 0, ; + FontShadow = .F., ; + FontSize = 10, ; + ForeColor = 0,0,0, ; + Margin = 0, ; + Name = "Text1", ; + ReadOnly = .T., ; + SelectedBackColor = 100,185,255 + *< END OBJECT: BaseClass="textbox" /> + + ADD OBJECT 'pgfeFactura.Page1.grdFacturiEmise.cDataTrimis.Header1' AS header WITH ; + Alignment = 2, ; + Caption = "Data trimis", ; + FontShadow = .F., ; + FontSize = 10, ; + Name = "Header1" + *< END OBJECT: BaseClass="header" /> + + ADD OBJECT 'pgfeFactura.Page1.grdFacturiEmise.cDataTrimis.Text1' AS textbox WITH ; + BackColor = 255,255,255, ; + BorderStyle = 0, ; + FontShadow = .F., ; + FontSize = 10, ; + ForeColor = 0,0,0, ; + Margin = 0, ; + Name = "Text1", ; + ReadOnly = .T., ; + SelectedBackColor = 100,185,255 + *< END OBJECT: BaseClass="textbox" /> + + ADD OBJECT 'pgfeFactura.Page1.grdFacturiEmise.cDiferenta.Header1' AS header WITH ; + Alignment = 2, ; + Caption = "Diferenta fata de Reg. Vanzari", ; + FontSize = 10, ; + Name = "Header1", ; + WordWrap = .T. + *< END OBJECT: BaseClass="header" /> + + ADD OBJECT 'pgfeFactura.Page1.grdFacturiEmise.cDiferenta.Text1' AS textbox WITH ; + BackColor = 255,255,255, ; + BorderStyle = 0, ; + FontSize = 10, ; + ForeColor = 0,0,0, ; + Margin = 0, ; + Name = "Text1", ; + ReadOnly = .T., ; + SelectedBackColor = 100,185,255 + *< END OBJECT: BaseClass="textbox" /> + + ADD OBJECT 'pgfeFactura.Page1.grdFacturiEmise.cId.Header1' AS header WITH ; + Alignment = 2, ; + Caption = "Id descarcare", ; + FontShadow = .F., ; + FontSize = 10, ; + Name = "Header1" + *< END OBJECT: BaseClass="header" /> + + ADD OBJECT 'pgfeFactura.Page1.grdFacturiEmise.cId.Text1' AS textbox WITH ; + BackColor = 255,255,255, ; + BorderStyle = 0, ; + FontShadow = .F., ; + FontSize = 10, ; + ForeColor = 0,0,0, ; + Margin = 0, ; + Name = "Text1", ; + ReadOnly = .T., ; + SelectedBackColor = 100,185,255 + *< END OBJECT: BaseClass="textbox" /> + + ADD OBJECT 'pgfeFactura.Page1.grdFacturiEmise.cIdIncarcare.Header1' AS header WITH ; + Alignment = 2, ; + Caption = "Id incarcare", ; + FontShadow = .F., ; + FontSize = 10, ; + Name = "Header1" + *< END OBJECT: BaseClass="header" /> + + ADD OBJECT 'pgfeFactura.Page1.grdFacturiEmise.cIdIncarcare.Text1' AS textbox WITH ; + BackColor = 255,255,255, ; + BorderStyle = 0, ; + FontShadow = .F., ; + FontSize = 10, ; + ForeColor = 0,0,0, ; + Margin = 0, ; + Name = "Text1", ; + ReadOnly = .T., ; + SelectedBackColor = 100,185,255 + *< END OBJECT: BaseClass="textbox" /> + + ADD OBJECT 'pgfeFactura.Page1.grdFacturiEmise.cInValuta._checkbox1' AS _checkbox WITH ; + Alignment = 2, ; + Caption = "", ; + Left = 32, ; + Name = "_checkbox1", ; + Top = 75 + *< END OBJECT: ClassLib="_baza.vcx" BaseClass="checkbox" /> + + ADD OBJECT 'pgfeFactura.Page1.grdFacturiEmise.cInValuta.Header1' AS header WITH ; + Alignment = 2, ; + Caption = "In valuta", ; + FontSize = 10, ; + Name = "Header1" + *< END OBJECT: BaseClass="header" /> + + ADD OBJECT 'pgfeFactura.Page1.grdFacturiEmise.cInValuta.Text1' AS textbox WITH ; + BackColor = 255,255,255, ; + BorderStyle = 0, ; + FontSize = 10, ; + ForeColor = 0,0,0, ; + Margin = 0, ; + Name = "Text1", ; + ReadOnly = .T., ; + SelectedBackColor = 100,185,255 + *< END OBJECT: BaseClass="textbox" /> + + ADD OBJECT 'pgfeFactura.Page1.grdFacturiEmise.cJtotcTVA.Header1' AS header WITH ; + Alignment = 2, ; + Caption = "Valoare cu TVA Reg. Vanzari", ; + FontSize = 10, ; + Name = "Header1", ; + WordWrap = .T. + *< END OBJECT: BaseClass="header" /> + + ADD OBJECT 'pgfeFactura.Page1.grdFacturiEmise.cJtotcTVA.Text1' AS textbox WITH ; + BackColor = 255,255,255, ; + BorderStyle = 0, ; + FontSize = 10, ; + ForeColor = 0,0,0, ; + Margin = 0, ; + Name = "Text1", ; + ReadOnly = .T., ; + SelectedBackColor = 100,185,255 + *< END OBJECT: BaseClass="textbox" /> + + ADD OBJECT 'pgfeFactura.Page1.grdFacturiEmise.cMesajRaspuns.Header1' AS header WITH ; + Alignment = 2, ; + Caption = "Mesaj raspuns", ; + FontShadow = .F., ; + FontSize = 10, ; + Name = "Header1" + *< END OBJECT: BaseClass="header" /> + + ADD OBJECT 'pgfeFactura.Page1.grdFacturiEmise.cMesajRaspuns.Text1' AS textbox WITH ; + BackColor = 255,255,255, ; + BorderStyle = 0, ; + FontShadow = .F., ; + FontSize = 10, ; + ForeColor = 0,0,0, ; + Margin = 0, ; + Name = "Text1", ; + ReadOnly = .T., ; + SelectedBackColor = 100,185,255 + *< END OBJECT: BaseClass="textbox" /> + + ADD OBJECT 'pgfeFactura.Page1.grdFacturiEmise.cMesajTrimis.Header1' AS header WITH ; + Alignment = 2, ; + Caption = "Mesaj trimitere", ; + FontShadow = .F., ; + FontSize = 10, ; + Name = "Header1" + *< END OBJECT: BaseClass="header" /> + + ADD OBJECT 'pgfeFactura.Page1.grdFacturiEmise.cMesajTrimis.Text1' AS textbox WITH ; + BackColor = 255,255,255, ; + BorderStyle = 0, ; + FontShadow = .F., ; + FontSize = 10, ; + ForeColor = 0,0,0, ; + Margin = 0, ; + Name = "Text1", ; + ReadOnly = .T., ; + SelectedBackColor = 100,185,255 + *< END OBJECT: BaseClass="textbox" /> + + ADD OBJECT 'pgfeFactura.Page1.grdFacturiEmise.cNr.Header1' AS header WITH ; + Alignment = 2, ; + Caption = "Nr. fact.", ; + FontName = "Arial", ; + FontShadow = .F., ; + FontSize = 10, ; + Name = "Header1" + *< END OBJECT: BaseClass="header" /> + + ADD OBJECT 'pgfeFactura.Page1.grdFacturiEmise.cNr.Text1' AS textbox WITH ; + BackColor = 255,255,255, ; + BorderStyle = 0, ; + FontName = "Arial", ; + FontShadow = .F., ; + FontSize = 10, ; + ForeColor = 0,0,0, ; + Margin = 0, ; + Name = "Text1", ; + ReadOnly = .T., ; + SelectedBackColor = 100,185,255 + *< END OBJECT: BaseClass="textbox" /> + + ADD OBJECT 'pgfeFactura.Page1.grdFacturiEmise.cNumeValuta.Header1' AS header WITH ; + Alignment = 2, ; + Caption = "Valuta", ; + FontSize = 10, ; + Name = "Header1" + *< END OBJECT: BaseClass="header" /> + + ADD OBJECT 'pgfeFactura.Page1.grdFacturiEmise.cNumeValuta.Text1' AS textbox WITH ; + BackColor = 255,255,255, ; + BorderStyle = 0, ; + FontSize = 10, ; + ForeColor = 0,0,0, ; + Margin = 0, ; + Name = "Text1", ; + ReadOnly = .T., ; + SelectedBackColor = 100,185,255 + *< END OBJECT: BaseClass="textbox" /> + + ADD OBJECT 'pgfeFactura.Page1.grdFacturiEmise.cTest._checkbox1' AS _checkbox WITH ; + Alignment = 2, ; + Caption = "", ; + ControlSource = "test", ; + FontShadow = .F., ; + FontSize = 10, ; + Left = 44, ; + Name = "_checkbox1", ; + ReadOnly = .T., ; + Top = 39 + *< END OBJECT: ClassLib="_baza.vcx" BaseClass="checkbox" /> + + ADD OBJECT 'pgfeFactura.Page1.grdFacturiEmise.cTest.Header1' AS header WITH ; + Alignment = 2, ; + Caption = "Test", ; + FontShadow = .F., ; + FontSize = 10, ; + Name = "Header1" + *< END OBJECT: BaseClass="header" /> + + ADD OBJECT 'pgfeFactura.Page1.grdFacturiEmise.cTest.Text1' AS textbox WITH ; + BackColor = 255,255,255, ; + BorderStyle = 0, ; + ForeColor = 0,0,0, ; + Margin = 0, ; + Name = "Text1", ; + SelectedBackColor = 100,185,255 + *< END OBJECT: BaseClass="textbox" /> + + ADD OBJECT 'pgfeFactura.Page1.grdFacturiEmise.cTipMesajRaspuns.Header1' AS header WITH ; + Alignment = 2, ; + Caption = "Tip mesaj raspuns", ; + FontShadow = .F., ; + FontSize = 10, ; + Name = "Header1" + *< END OBJECT: BaseClass="header" /> + + ADD OBJECT 'pgfeFactura.Page1.grdFacturiEmise.cTipMesajRaspuns.Text1' AS textbox WITH ; + BackColor = 255,255,255, ; + BorderStyle = 0, ; + FontShadow = .F., ; + FontSize = 10, ; + ForeColor = 0,0,0, ; + Margin = 0, ; + Name = "Text1", ; + ReadOnly = .T., ; + SelectedBackColor = 100,185,255 + *< END OBJECT: BaseClass="textbox" /> + + ADD OBJECT 'pgfeFactura.Page1.grdFacturiEmise.cTipPersoana.Header1' AS header WITH ; + Caption = "Tip persoana", ; + FontSize = 10, ; + Name = "Header1" + *< END OBJECT: BaseClass="header" /> + + ADD OBJECT 'pgfeFactura.Page1.grdFacturiEmise.cTipPersoana.Text1' AS textbox WITH ; + BackColor = 255,255,255, ; + BorderStyle = 0, ; + FontSize = 10, ; + ForeColor = 0,0,0, ; + Margin = 0, ; + Name = "Text1", ; + ReadOnly = .T., ; + SelectedBackColor = 100,185,255 + *< END OBJECT: BaseClass="textbox" /> + + ADD OBJECT 'pgfeFactura.Page1.grdFacturiEmise.cTotalCuTVA.Header1' AS header WITH ; + Alignment = 2, ; + Caption = "Total cu TVA", ; + FontSize = 10, ; + Name = "Header1" + *< END OBJECT: BaseClass="header" /> + + ADD OBJECT 'pgfeFactura.Page1.grdFacturiEmise.cTotalCuTVA.Text1' AS textbox WITH ; + BackColor = 255,255,255, ; + BorderStyle = 0, ; + FontSize = 10, ; + ForeColor = 0,0,0, ; + Margin = 0, ; + Name = "Text1", ; + ReadOnly = .T., ; + SelectedBackColor = 100,185,255 + *< END OBJECT: BaseClass="textbox" /> + + ADD OBJECT 'pgfeFactura.Page1.grdFacturiEmise.cTotalFaraTVA.Header1' AS header WITH ; + Alignment = 2, ; + Caption = "Total fara TVA", ; + FontSize = 10, ; + Name = "Header1" + *< END OBJECT: BaseClass="header" /> + + ADD OBJECT 'pgfeFactura.Page1.grdFacturiEmise.cTotalFaraTVA.Text1' AS textbox WITH ; + BackColor = 255,255,255, ; + BorderStyle = 0, ; + FontSize = 10, ; + ForeColor = 0,0,0, ; + Margin = 0, ; + Name = "Text1", ; + ReadOnly = .T., ; + SelectedBackColor = 100,185,255 + *< END OBJECT: BaseClass="textbox" /> + + ADD OBJECT 'pgfeFactura.Page1.grdFacturiEmise.cTotalTVA.Header1' AS header WITH ; + Alignment = 2, ; + Caption = "Total TVA", ; + FontSize = 10, ; + Name = "Header1" + *< END OBJECT: BaseClass="header" /> + + ADD OBJECT 'pgfeFactura.Page1.grdFacturiEmise.cTotalTVA.Text1' AS textbox WITH ; + BackColor = 255,255,255, ; + BorderStyle = 0, ; + FontSize = 10, ; + ForeColor = 0,0,0, ; + Margin = 0, ; + Name = "Text1", ; + ReadOnly = .T., ; + SelectedBackColor = 100,185,255 + *< END OBJECT: BaseClass="textbox" /> + + ADD OBJECT 'pgfeFactura.Page1.grdFacturiEmise.cTotVal.Header1' AS header WITH ; + Alignment = 2, ; + Caption = "Valoare cu TVA in valuta", ; + FontSize = 10, ; + Name = "Header1", ; + WordWrap = .T. + *< END OBJECT: BaseClass="header" /> + + ADD OBJECT 'pgfeFactura.Page1.grdFacturiEmise.cTotVal.Text1' AS textbox WITH ; + BackColor = 255,255,255, ; + BorderStyle = 0, ; + FontSize = 10, ; + ForeColor = 0,0,0, ; + Margin = 0, ; + Name = "Text1", ; + ReadOnly = .T., ; + SelectedBackColor = 100,185,255 + *< END OBJECT: BaseClass="textbox" /> + + ADD OBJECT 'pgfeFactura.Page1.grdFacturiEmise.cTrimis._checkbox1' AS _checkbox WITH ; + Alignment = 2, ; + Caption = "", ; + ControlSource = "trimis", ; + FontShadow = .F., ; + FontSize = 10, ; + Left = 50, ; + Name = "_checkbox1", ; + ReadOnly = .T., ; + Top = 59 + *< END OBJECT: ClassLib="_baza.vcx" BaseClass="checkbox" /> + + ADD OBJECT 'pgfeFactura.Page1.grdFacturiEmise.cTrimis.Header1' AS header WITH ; + Alignment = 2, ; + Caption = "Trimis", ; + FontShadow = .F., ; + FontSize = 10, ; + Name = "Header1" + *< END OBJECT: BaseClass="header" /> + + ADD OBJECT 'pgfeFactura.Page1.grdFacturiEmise.cTrimis.Text1' AS textbox WITH ; + BackColor = 255,255,255, ; + BorderStyle = 0, ; + ForeColor = 0,0,0, ; + Margin = 0, ; + Name = "Text1", ; + SelectedBackColor = 100,185,255 + *< END OBJECT: BaseClass="textbox" /> + + ADD OBJECT 'pgfeFactura.Page1.grdFacturiEmise.cTvaVal.Header1' AS header WITH ; + Alignment = 2, ; + Caption = "Valoare TVA in valuta", ; + FontSize = 10, ; + Name = "Header1", ; + WordWrap = .T. + *< END OBJECT: BaseClass="header" /> + + ADD OBJECT 'pgfeFactura.Page1.grdFacturiEmise.cTvaVal.Text1' AS textbox WITH ; + BackColor = 255,255,255, ; + BorderStyle = 0, ; + FontSize = 10, ; + ForeColor = 0,0,0, ; + Margin = 0, ; + Name = "Text1", ; + ReadOnly = .T., ; + SelectedBackColor = 100,185,255 + *< END OBJECT: BaseClass="textbox" /> + + ADD OBJECT 'pgfeFactura.Page1.grdFacturiEmise.cUtilizator.Header1' AS header WITH ; + Alignment = 2, ; + Caption = "Utilizator trimis", ; + FontSize = 10, ; + Name = "Header1" + *< END OBJECT: BaseClass="header" /> + + ADD OBJECT 'pgfeFactura.Page1.grdFacturiEmise.cUtilizator.Text1' AS textbox WITH ; + BackColor = 255,255,255, ; + BorderStyle = 0, ; + FontSize = 10, ; + ForeColor = 0,0,0, ; + Margin = 0, ; + Name = "Text1", ; + ReadOnly = .T., ; + SelectedBackColor = 100,185,255 + *< END OBJECT: BaseClass="textbox" /> + + ADD OBJECT 'pgfeFactura.Page1.grdFacturiEmise.cValVal.Header1' AS header WITH ; + Alignment = 2, ; + Caption = "Valoare fara TVA in valuta", ; + FontSize = 10, ; + Name = "Header1", ; + WordWrap = .T. + *< END OBJECT: BaseClass="header" /> + + ADD OBJECT 'pgfeFactura.Page1.grdFacturiEmise.cValVal.Text1' AS textbox WITH ; + BackColor = 255,255,255, ; + BorderStyle = 0, ; + FontSize = 10, ; + ForeColor = 0,0,0, ; + Margin = 0, ; + Name = "Text1", ; + ReadOnly = .T., ; + SelectedBackColor = 100,185,255 + *< END OBJECT: BaseClass="textbox" /> + + ADD OBJECT 'pgfeFactura.Page1.grdFacturiEmise.cxDiscount.Header1' AS header WITH ; + Alignment = 2, ; + Caption = "Discount xml", ; + FontSize = 10, ; + Name = "Header1", ; + WordWrap = .T. + *< END OBJECT: BaseClass="header" /> + + ADD OBJECT 'pgfeFactura.Page1.grdFacturiEmise.cxDiscount.Text1' AS textbox WITH ; + BackColor = 255,255,255, ; + BorderStyle = 0, ; + FontSize = 10, ; + ForeColor = 0,0,0, ; + Margin = 0, ; + Name = "Text1", ; + ReadOnly = .T., ; + SelectedBackColor = 100,185,255 + *< END OBJECT: BaseClass="textbox" /> + + ADD OBJECT 'pgfeFactura.Page1.grdFacturiEmise.cxNumeValuta.Header1' AS header WITH ; + Alignment = 2, ; + Caption = "Valuta xml", ; + FontSize = 10, ; + Name = "Header1", ; + WordWrap = .T. + *< END OBJECT: BaseClass="header" /> + + ADD OBJECT 'pgfeFactura.Page1.grdFacturiEmise.cxNumeValuta.Text1' AS textbox WITH ; + BackColor = 255,255,255, ; + BorderStyle = 0, ; + FontSize = 10, ; + ForeColor = 0,0,0, ; + Margin = 0, ; + Name = "Text1", ; + SelectedBackColor = 100,185,255 + *< END OBJECT: BaseClass="textbox" /> + + ADD OBJECT 'pgfeFactura.Page1.grdFacturiEmise.cxTaxe.Header1' AS header WITH ; + Alignment = 2, ; + Caption = "Taxe xml", ; + FontSize = 10, ; + Name = "Header1", ; + WordWrap = .T. + *< END OBJECT: BaseClass="header" /> + + ADD OBJECT 'pgfeFactura.Page1.grdFacturiEmise.cxTaxe.Text1' AS textbox WITH ; + BackColor = 255,255,255, ; + BorderStyle = 0, ; + FontSize = 10, ; + ForeColor = 0,0,0, ; + Margin = 0, ; + Name = "Text1", ; + ReadOnly = .T., ; + SelectedBackColor = 100,185,255 + *< END OBJECT: BaseClass="textbox" /> + + ADD OBJECT 'pgfeFactura.Page1.grdFacturiEmise.cxTotalCuTVA.Header1' AS header WITH ; + Alignment = 2, ; + Caption = "Total cu TVA xml", ; + FontSize = 10, ; + Name = "Header1", ; + WordWrap = .T. + *< END OBJECT: BaseClass="header" /> + + ADD OBJECT 'pgfeFactura.Page1.grdFacturiEmise.cxTotalCuTVA.Text1' AS textbox WITH ; + BackColor = 255,255,255, ; + BorderStyle = 0, ; + FontSize = 10, ; + ForeColor = 0,0,0, ; + Margin = 0, ; + Name = "Text1", ; + ReadOnly = .T., ; + SelectedBackColor = 100,185,255 + *< END OBJECT: BaseClass="textbox" /> + + ADD OBJECT 'pgfeFactura.Page1.grdFacturiEmise.cxTotalDePlata.Header1' AS header WITH ; + Alignment = 2, ; + Caption = "Total de Plata xml", ; + FontSize = 10, ; + Name = "Header1", ; + WordWrap = .T. + *< END OBJECT: BaseClass="header" /> + + ADD OBJECT 'pgfeFactura.Page1.grdFacturiEmise.cxTotalDePlata.Text1' AS textbox WITH ; + BackColor = 255,255,255, ; + BorderStyle = 0, ; + FontSize = 10, ; + ForeColor = 0,0,0, ; + Margin = 0, ; + Name = "Text1", ; + ReadOnly = .T., ; + SelectedBackColor = 100,185,255 + *< END OBJECT: BaseClass="textbox" /> + + ADD OBJECT 'pgfeFactura.Page1.grdFacturiEmise.cxTotalFaraTVA.Header1' AS header WITH ; + Alignment = 2, ; + Caption = "Total fara TVA xml", ; + FontSize = 10, ; + Name = "Header1", ; + WordWrap = .T. + *< END OBJECT: BaseClass="header" /> + + ADD OBJECT 'pgfeFactura.Page1.grdFacturiEmise.cxTotalFaraTVA.Text1' AS textbox WITH ; + BackColor = 255,255,255, ; + BorderStyle = 0, ; + FontSize = 10, ; + ForeColor = 0,0,0, ; + Margin = 0, ; + Name = "Text1", ; + ReadOnly = .T., ; + SelectedBackColor = 100,185,255 + *< END OBJECT: BaseClass="textbox" /> + + ADD OBJECT 'pgfeFactura.Page1.grdFacturiEmise.cxTotalTVA.Header1' AS header WITH ; + Alignment = 2, ; + Caption = "Total TVA xml", ; + FontSize = 10, ; + Name = "Header1", ; + WordWrap = .T. + *< END OBJECT: BaseClass="header" /> + + ADD OBJECT 'pgfeFactura.Page1.grdFacturiEmise.cxTotalTVA.Text1' AS textbox WITH ; + BackColor = 255,255,255, ; + BorderStyle = 0, ; + FontSize = 10, ; + ForeColor = 0,0,0, ; + Margin = 0, ; + Name = "Text1", ; + ReadOnly = .T., ; + SelectedBackColor = 100,185,255 + *< END OBJECT: BaseClass="textbox" /> + + ADD OBJECT 'pgfeFactura.Page1.grdFacturiEmise.cxValoareFaraTVA.Header1' AS header WITH ; + Alignment = 2, ; + Caption = "Valoare fara TVA xml", ; + FontSize = 10, ; + Name = "Header1", ; + WordWrap = .T. + *< END OBJECT: BaseClass="header" /> + + ADD OBJECT 'pgfeFactura.Page1.grdFacturiEmise.cxValoareFaraTVA.Text1' AS textbox WITH ; + BackColor = 255,255,255, ; + BorderStyle = 0, ; + FontSize = 10, ; + ForeColor = 0,0,0, ; + Margin = 0, ; + Name = "Text1", ; + ReadOnly = .T., ; + SelectedBackColor = 100,185,255 + *< END OBJECT: BaseClass="textbox" /> + + ADD OBJECT 'pgfeFactura.Page1.Gridextra1' AS gridextra WITH ; + allowgridpreferences = .F., ; + gridexpression = thisform.pgfeFactura.page1.grdFacturiEmise, ; + Left = 748, ; + Name = "Gridextra1", ; + productname = ROA2, ; + Top = 97 + *< END OBJECT: ClassLib="..\utile\gridextras\gridextras.vcx" BaseClass="custom" /> + + ADD OBJECT 'pgfeFactura.Page1.Gridextra2' AS gridextra WITH ; + gridexpression = thisform.pgfeFactura.page1.grdDetaliiFacturi, ; + Left = 767, ; + Name = "Gridextra2", ; + productname = ROA2, ; + Top = 277 + *< END OBJECT: ClassLib="..\utile\gridextras\gridextras.vcx" BaseClass="custom" /> + + ADD OBJECT 'pgfeFactura.Page1.lblAtasamente' AS _label WITH ; + Anchor = 12, ; + AutoSize = .F., ; + Caption = "Director atasamente", ; + Height = 18, ; + Left = 285, ; + Name = "lblAtasamente", ; + Top = 381, ; + Width = 243 + *< END OBJECT: ClassLib="_baza.vcx" BaseClass="label" /> + + ADD OBJECT 'pgfeFactura.Page1.lblDetalii' AS _label WITH ; + Anchor = 6, ; + Caption = "Detalii raspuns", ; + FontBold = .T., ; + Height = 18, ; + Left = 383, ; + Name = "lblDetalii", ; + Top = 300, ; + Width = 96, ; + ZOrderSet = 10 + *< END OBJECT: ClassLib="_baza.vcx" BaseClass="label" /> + + ADD OBJECT 'pgfeFactura.Page1.lblMesajRaspuns' AS _label WITH ; + Anchor = 6, ; + Caption = "Mesaj raspuns", ; + FontBold = .T., ; + Height = 18, ; + Left = 13, ; + Name = "lblMesajRaspuns", ; + Top = 352, ; + Width = 92, ; + ZOrderSet = 9 + *< END OBJECT: ClassLib="_baza.vcx" BaseClass="label" /> + + ADD OBJECT 'pgfeFactura.Page1.lblMesajTrimis' AS _label WITH ; + Anchor = 6, ; + Caption = "Mesaj trimitere", ; + FontBold = .T., ; + Height = 18, ; + Left = 13, ; + Name = "lblMesajTrimis", ; + Top = 325, ; + Width = 97, ; + ZOrderSet = 8 + *< END OBJECT: ClassLib="_baza.vcx" BaseClass="label" /> + + ADD OBJECT 'pgfeFactura.Page1.txtMesajRaspuns' AS _textbox WITH ; + Anchor = 6, ; + ControlSource = "crsFacturiEmise.mesaj_raspuns", ; + Height = 23, ; + Left = 117, ; + Name = "txtMesajRaspuns", ; + ReadOnly = .T., ; + Top = 350, ; + Width = 260, ; + ZOrderSet = 6 + *< END OBJECT: ClassLib="_baza.vcx" BaseClass="textbox" /> + + ADD OBJECT 'pgfeFactura.Page1.txtMesajTrimis' AS _textbox WITH ; + Anchor = 6, ; + ControlSource = "crsFacturiEmise.mesaj_trimis", ; + Height = 23, ; + Left = 117, ; + Name = "txtMesajTrimis", ; + ReadOnly = .T., ; + Top = 323, ; + Width = 260, ; + ZOrderSet = 5 + *< END OBJECT: ClassLib="_baza.vcx" BaseClass="textbox" /> + + ADD OBJECT 'pgfeFactura.Page2._grdfooter1' AS _grdfooter WITH ; + Anchor = 14, ; + ccolwithlabel = cXFurnizor, ; + csourcegrid = grdFacturiPrimite, ; + csumcolumns = cValoarefaraTVA,cDiscount,cTaxe,cTotaldePlata,cTotalFaraTVA,cTotalTVA,cTotalcuTVA,cJtotcTVA,cDiferenta, ; + ctotallabelexpression = 'Total', ; + Left = 4, ; + Name = "_grdfooter1", ; + Top = 133, ; + Width = 780 + *< END OBJECT: ClassLib="_grd_base.vcx" BaseClass="grid" /> + + ADD OBJECT 'pgfeFactura.Page2._SHAPE1' AS _shape WITH ; + Anchor = 14, ; + BackStyle = 0, ; + FillColor = 255,255,240, ; + FillStyle = 0, ; + Height = 94, ; + Left = 4, ; + Name = "_SHAPE1", ; + Top = 317, ; + Width = 780, ; + ZOrderSet = 0 + *< END OBJECT: ClassLib="_baza.vcx" BaseClass="shape" /> + + ADD OBJECT 'pgfeFactura.Page2.cmdTrimiteMesajFurnizor' AS cmd_executa WITH ; + Anchor = 6, ; + AutoSize = .F., ; + Caption = "\ + + ADD OBJECT 'pgfeFactura.Page2.edtDetalii' AS _editbox WITH ; + Anchor = 14, ; + ControlSource = "crsFacturiPrimite.detalii", ; + Height = 66, ; + Left = 383, ; + Name = "edtDetalii", ; + ReadOnly = .T., ; + Top = 340, ; + Width = 398, ; + ZOrderSet = 2 + *< END OBJECT: ClassLib="_baza.vcx" BaseClass="editbox" /> + + ADD OBJECT 'pgfeFactura.Page2.grdDetaliiFacturi' AS _grdbase WITH ; + Anchor = 14, ; + BackColor = 255,255,255, ; + ColumnCount = 10, ; + DeleteMark = .F., ; + FontName = "Arial", ; + FontSize = 10, ; + GridLineColor = 192,192,192, ; + HeaderHeight = 35, ; + Height = 131, ; + lcamptextneeditabil = .F., ; + Left = 4, ; + Name = "grdDetaliiFacturi", ; + Panel = 1, ; + ReadOnly = .T., ; + RecordMark = .T., ; + RecordSource = "crsdetaliifacturi", ; + RowHeight = 19, ; + TabIndex = 1, ; + Top = 183, ; + Width = 780, ; + ZOrderSet = 1, ; + Column1.BackColor = 255,255,255, ; + Column1.ControlSource = "crsdetaliifacturi.nr", ; + Column1.FontName = "Arial", ; + Column1.FontSize = 10, ; + Column1.Name = "Column1", ; + Column1.ReadOnly = .T., ; + Column1.Width = 37, ; + Column2.BackColor = 255,255,255, ; + Column2.ControlSource = "crsdetaliifacturi.articol", ; + Column2.FontName = "Arial", ; + Column2.FontSize = 10, ; + Column2.Name = "Column2", ; + Column2.ReadOnly = .T., ; + Column2.Width = 146, ; + Column3.BackColor = 255,255,255, ; + Column3.ColumnOrder = 10, ; + Column3.ControlSource = "crsdetaliifacturi.detalii", ; + Column3.CurrentControl = "_editbox1", ; + Column3.FontName = "Arial", ; + Column3.FontSize = 10, ; + Column3.Name = "Column3", ; + Column3.ReadOnly = .T., ; + Column3.Width = 189, ; + Column4.BackColor = 255,255,255, ; + Column4.ColumnOrder = 3, ; + Column4.ControlSource = "crsdetaliifacturi.cantitate", ; + Column4.FontName = "Arial", ; + Column4.FontSize = 10, ; + Column4.Name = "Column4", ; + Column4.ReadOnly = .T., ; + Column4.Width = 56, ; + Column5.BackColor = 255,255,255, ; + Column5.ColumnOrder = 4, ; + Column5.ControlSource = "crsdetaliifacturi.um", ; + Column5.FontName = "Arial", ; + Column5.FontSize = 10, ; + Column5.Name = "Column5", ; + Column5.ReadOnly = .T., ; + Column5.Width = 40, ; + Column6.BackColor = 255,255,255, ; + Column6.ColumnOrder = 5, ; + Column6.ControlSource = "crsdetaliifacturi.pret", ; + Column6.FontName = "Arial", ; + Column6.FontSize = 10, ; + Column6.Name = "Column6", ; + Column6.ReadOnly = .T., ; + Column6.Width = 75, ; + Column7.BackColor = 255,255,255, ; + Column7.ColumnOrder = 8, ; + Column7.ControlSource = "crsdetaliifacturi.proctva", ; + Column7.FontName = "Arial", ; + Column7.FontSize = 10, ; + Column7.Name = "Column7", ; + Column7.ReadOnly = .T., ; + Column7.Width = 45, ; + Column8.BackColor = 255,255,255, ; + Column8.ColumnOrder = 9, ; + Column8.ControlSource = "crsdetaliifacturi.descriere", ; + Column8.FontName = "Arial", ; + Column8.FontSize = 10, ; + Column8.Name = "Column8", ; + Column8.ReadOnly = .T., ; + Column8.Width = 162, ; + Column9.BackColor = 255,255,255, ; + Column9.ColumnOrder = 6, ; + Column9.ControlSource = "crsdetaliifacturi.valoarefaratva", ; + Column9.FontName = "Arial", ; + Column9.FontSize = 10, ; + Column9.Name = "Column9", ; + Column9.ReadOnly = .T., ; + Column9.Width = 102, ; + Column10.BackColor = 255,255,255, ; + Column10.ColumnOrder = 7, ; + Column10.ControlSource = "crsdetaliifacturi.discountfaratva", ; + Column10.FontName = "Arial", ; + Column10.FontSize = 10, ; + Column10.Name = "Column10", ; + Column10.ReadOnly = .T., ; + Column10.Width = 109 + *< END OBJECT: ClassLib="_grd_base.vcx" BaseClass="grid" /> + + ADD OBJECT 'pgfeFactura.Page2.grdDetaliiFacturi.Column1.Header1' AS header WITH ; + Alignment = 2, ; + Caption = "Nr", ; + FontSize = 10, ; + Name = "Header1" + *< END OBJECT: BaseClass="header" /> + + ADD OBJECT 'pgfeFactura.Page2.grdDetaliiFacturi.Column1.Text1' AS textbox WITH ; + BackColor = 255,255,255, ; + BorderStyle = 0, ; + FontSize = 10, ; + ForeColor = 0,0,0, ; + Margin = 0, ; + Name = "Text1", ; + SelectedBackColor = 100,185,255 + *< END OBJECT: BaseClass="textbox" /> + + ADD OBJECT 'pgfeFactura.Page2.grdDetaliiFacturi.Column10.Header1' AS header WITH ; + Alignment = 2, ; + Caption = "Discount fara TVA", ; + FontSize = 10, ; + Name = "Header1" + *< END OBJECT: BaseClass="header" /> + + ADD OBJECT 'pgfeFactura.Page2.grdDetaliiFacturi.Column10.Text1' AS textbox WITH ; + BackColor = 255,255,255, ; + BorderStyle = 0, ; + FontSize = 10, ; + ForeColor = 0,0,0, ; + Margin = 0, ; + Name = "Text1", ; + ReadOnly = .T., ; + SelectedBackColor = 100,185,255 + *< END OBJECT: BaseClass="textbox" /> + + ADD OBJECT 'pgfeFactura.Page2.grdDetaliiFacturi.Column2.Header1' AS header WITH ; + Alignment = 2, ; + Caption = "Articol", ; + FontSize = 10, ; + Name = "Header1" + *< END OBJECT: BaseClass="header" /> + + ADD OBJECT 'pgfeFactura.Page2.grdDetaliiFacturi.Column2.Text1' AS textbox WITH ; + BackColor = 255,255,255, ; + BorderStyle = 0, ; + FontSize = 10, ; + ForeColor = 0,0,0, ; + Margin = 0, ; + Name = "Text1", ; + SelectedBackColor = 100,185,255 + *< END OBJECT: BaseClass="textbox" /> + + ADD OBJECT 'pgfeFactura.Page2.grdDetaliiFacturi.Column3._editbox1' AS _editbox WITH ; + FontSize = 10, ; + Left = 37, ; + Name = "_editbox1", ; + Top = 47 + *< END OBJECT: ClassLib="_baza.vcx" BaseClass="editbox" /> + + ADD OBJECT 'pgfeFactura.Page2.grdDetaliiFacturi.Column3.Header1' AS header WITH ; + Alignment = 2, ; + Caption = "Detalii", ; + FontSize = 10, ; + Name = "Header1" + *< END OBJECT: BaseClass="header" /> + + ADD OBJECT 'pgfeFactura.Page2.grdDetaliiFacturi.Column3.Text1' AS textbox WITH ; + BackColor = 255,255,255, ; + BorderStyle = 0, ; + ForeColor = 0,0,0, ; + Margin = 0, ; + Name = "Text1", ; + SelectedBackColor = 100,185,255 + *< END OBJECT: BaseClass="textbox" /> + + ADD OBJECT 'pgfeFactura.Page2.grdDetaliiFacturi.Column4.Header1' AS header WITH ; + Alignment = 2, ; + Caption = "Cantitate", ; + FontSize = 10, ; + Name = "Header1" + *< END OBJECT: BaseClass="header" /> + + ADD OBJECT 'pgfeFactura.Page2.grdDetaliiFacturi.Column4.Text1' AS textbox WITH ; + BackColor = 255,255,255, ; + BorderStyle = 0, ; + FontSize = 10, ; + ForeColor = 0,0,0, ; + Margin = 0, ; + Name = "Text1", ; + SelectedBackColor = 100,185,255 + *< END OBJECT: BaseClass="textbox" /> + + ADD OBJECT 'pgfeFactura.Page2.grdDetaliiFacturi.Column5.Header1' AS header WITH ; + Alignment = 2, ; + Caption = "UM", ; + FontSize = 10, ; + Name = "Header1" + *< END OBJECT: BaseClass="header" /> + + ADD OBJECT 'pgfeFactura.Page2.grdDetaliiFacturi.Column5.Text1' AS textbox WITH ; + BackColor = 255,255,255, ; + BorderStyle = 0, ; + FontSize = 10, ; + ForeColor = 0,0,0, ; + Margin = 0, ; + Name = "Text1", ; + SelectedBackColor = 100,185,255 + *< END OBJECT: BaseClass="textbox" /> + + ADD OBJECT 'pgfeFactura.Page2.grdDetaliiFacturi.Column6.Header1' AS header WITH ; + Alignment = 2, ; + Caption = "Pret unitar", ; + FontSize = 10, ; + Name = "Header1" + *< END OBJECT: BaseClass="header" /> + + ADD OBJECT 'pgfeFactura.Page2.grdDetaliiFacturi.Column6.Text1' AS textbox WITH ; + BackColor = 255,255,255, ; + BorderStyle = 0, ; + FontSize = 10, ; + ForeColor = 0,0,0, ; + Margin = 0, ; + Name = "Text1", ; + SelectedBackColor = 100,185,255 + *< END OBJECT: BaseClass="textbox" /> + + ADD OBJECT 'pgfeFactura.Page2.grdDetaliiFacturi.Column7.Header1' AS header WITH ; + Alignment = 2, ; + Caption = "% TVA", ; + FontSize = 10, ; + Name = "Header1" + *< END OBJECT: BaseClass="header" /> + + ADD OBJECT 'pgfeFactura.Page2.grdDetaliiFacturi.Column7.Text1' AS textbox WITH ; + BackColor = 255,255,255, ; + BorderStyle = 0, ; + FontSize = 10, ; + ForeColor = 0,0,0, ; + Margin = 0, ; + Name = "Text1", ; + SelectedBackColor = 100,185,255 + *< END OBJECT: BaseClass="textbox" /> + + ADD OBJECT 'pgfeFactura.Page2.grdDetaliiFacturi.Column8.Header1' AS header WITH ; + Alignment = 2, ; + Caption = "Descriere", ; + FontSize = 10, ; + Name = "Header1" + *< END OBJECT: BaseClass="header" /> + + ADD OBJECT 'pgfeFactura.Page2.grdDetaliiFacturi.Column8.Text1' AS textbox WITH ; + BackColor = 255,255,255, ; + BorderStyle = 0, ; + FontSize = 10, ; + ForeColor = 0,0,0, ; + Margin = 0, ; + Name = "Text1", ; + SelectedBackColor = 100,185,255 + *< END OBJECT: BaseClass="textbox" /> + + ADD OBJECT 'pgfeFactura.Page2.grdDetaliiFacturi.Column9.Header1' AS header WITH ; + Alignment = 2, ; + Caption = "Valoare fara TVA", ; + FontSize = 10, ; + Name = "Header1" + *< END OBJECT: BaseClass="header" /> + + ADD OBJECT 'pgfeFactura.Page2.grdDetaliiFacturi.Column9.Text1' AS textbox WITH ; + BackColor = 255,255,255, ; + BorderStyle = 0, ; + FontSize = 10, ; + ForeColor = 0,0,0, ; + Margin = 0, ; + Name = "Text1", ; + SelectedBackColor = 100,185,255 + *< END OBJECT: BaseClass="textbox" /> + + ADD OBJECT 'pgfeFactura.Page2.grdFacturiPrimite' AS _grdbase WITH ; + Anchor = 15, ; + BackColor = 255,255,255, ; + ColumnCount = 30, ; + DeleteMark = .F., ; + FontName = "Arial", ; + FontSize = 10, ; + GridLineColor = 192,192,192, ; + HeaderHeight = 37, ; + Height = 132, ; + lcamptextneeditabil = .F., ; + Left = 4, ; + Name = "grdFacturiPrimite", ; + Panel = 1, ; + ReadOnly = .T., ; + RecordMark = .T., ; + RecordSource = "crsFacturiPrimite", ; + RowHeight = 19, ; + TabIndex = 1, ; + Top = 0, ; + Width = 780, ; + ZOrderSet = 1, ; + Column1.BackColor = 255,255,255, ; + Column1.ColumnOrder = 1, ; + Column1.ControlSource = "crsFacturiPrimite.ales", ; + Column1.CurrentControl = "_checkbox1", ; + Column1.FontName = "Arial", ; + Column1.FontSize = 10, ; + Column1.Name = "cAles", ; + Column1.ReadOnly = .F., ; + Column1.Sparse = .F., ; + Column1.Width = 26, ; + Column2.BackColor = 255,255,255, ; + Column2.ColumnOrder = 2, ; + Column2.ControlSource = "numar_act", ; + Column2.FontName = "Arial", ; + Column2.FontSize = 10, ; + Column2.Name = "cNr", ; + Column2.ReadOnly = .T., ; + Column2.Width = 86, ; + Column3.BackColor = 255,255,255, ; + Column3.ColumnOrder = 3, ; + Column3.ControlSource = "data_act", ; + Column3.FontName = "Arial", ; + Column3.FontSize = 10, ; + Column3.Name = "cData", ; + Column3.ReadOnly = .T., ; + Column3.Width = 69, ; + Column4.BackColor = 255,255,255, ; + Column4.ColumnOrder = 18, ; + Column4.ControlSource = "data_raspuns", ; + Column4.FontName = "Arial", ; + Column4.FontSize = 10, ; + Column4.Name = "cDataTrimis", ; + Column4.ReadOnly = .T., ; + Column5.BackColor = 255,255,255, ; + Column5.ColumnOrder = 6, ; + Column5.ControlSource = "cod_fiscal_emitent", ; + Column5.FontName = "Arial", ; + Column5.FontSize = 10, ; + Column5.Name = "cCodFiscalEmitent", ; + Column5.ReadOnly = .T., ; + Column5.Width = 108, ; + Column6.BackColor = 255,255,255, ; + Column6.ColumnOrder = 20, ; + Column6.ControlSource = "tip_mesaj_raspuns", ; + Column6.FontName = "Arial", ; + Column6.FontSize = 10, ; + Column6.Name = "cTipMesajRaspuns", ; + Column6.ReadOnly = .T., ; + Column6.Width = 130, ; + Column7.BackColor = 255,255,255, ; + Column7.ColumnOrder = 19, ; + Column7.ControlSource = "id_descarcare", ; + Column7.FontName = "Arial", ; + Column7.FontSize = 10, ; + Column7.Name = "cIdDescarcare", ; + Column7.ReadOnly = .T., ; + Column7.Width = 111, ; + Column8.BackColor = 255,255,255, ; + Column8.ColumnOrder = 14, ; + Column8.ControlSource = "total_cu_tva", ; + Column8.FontName = "Arial", ; + Column8.FontSize = 10, ; + Column8.Format = "RK", ; + Column8.InputMask = "999 999 999 999.99", ; + Column8.Name = "cTotalCuTVA", ; + Column8.ReadOnly = .T., ; + Column8.Width = 104, ; + Column9.BackColor = 255,255,255, ; + Column9.ColumnOrder = 17, ; + Column9.ControlSource = "nume_valuta", ; + Column9.FontName = "Arial", ; + Column9.FontSize = 10, ; + Column9.Name = "cNumeValuta", ; + Column9.ReadOnly = .T., ; + Column9.Width = 38, ; + Column10.BackColor = 255,255,255, ; + Column10.ColumnOrder = 15, ; + Column10.ControlSource = "jtotctva", ; + Column10.FontName = "Arial", ; + Column10.FontSize = 10, ; + Column10.Format = "RK", ; + Column10.InputMask = "999 999 999 999.99", ; + Column10.Name = "cJtotcTVA", ; + Column10.ReadOnly = .T., ; + Column10.Width = 99, ; + Column11.BackColor = 255,255,255, ; + Column11.ColumnOrder = 4, ; + Column11.ControlSource = "data_scad", ; + Column11.FontName = "Arial", ; + Column11.FontSize = 10, ; + Column11.Name = "cDataScad", ; + Column11.ReadOnly = .T., ; + Column11.Width = 88, ; + Column12.BackColor = 255,255,255, ; + Column12.ColumnOrder = 21, ; + Column12.ControlSource = "descriere", ; + Column12.CurrentControl = "_editbox1", ; + Column12.FontName = "Arial", ; + Column12.FontSize = 10, ; + Column12.Name = "cDescriere", ; + Column12.ReadOnly = .T., ; + Column12.Width = 160, ; + Column13.BackColor = 255,255,255, ; + Column13.ColumnOrder = 11, ; + Column13.ControlSource = "total_fara_tva", ; + Column13.FontName = "Arial", ; + Column13.FontSize = 10, ; + Column13.Format = "RK", ; + Column13.InputMask = "999 999 999 999.99", ; + Column13.Name = "cTotalFaraTVA", ; + Column13.ReadOnly = .T., ; + Column13.Width = 102, ; + Column14.BackColor = 255,255,255, ; + Column14.ColumnOrder = 12, ; + Column14.ControlSource = "total_tva", ; + Column14.FontName = "Arial", ; + Column14.FontSize = 10, ; + Column14.Format = "RK", ; + Column14.InputMask = "999 999 999 999.99", ; + Column14.Name = "cTotalTVA", ; + Column14.ReadOnly = .T., ; + Column14.Width = 105, ; + Column15.BackColor = 255,255,255, ; + Column15.ColumnOrder = 5, ; + Column15.ControlSource = "xfurnizor", ; + Column15.FontName = "Arial", ; + Column15.FontSize = 10, ; + Column15.Name = "cXFurnizor", ; + Column15.ReadOnly = .T., ; + Column15.Width = 180, ; + Column16.BackColor = 255,255,255, ; + Column16.ColumnOrder = 8, ; + Column16.ControlSource = "discount_fara_tva", ; + Column16.FontName = "Arial", ; + Column16.FontSize = 10, ; + Column16.Format = "RK", ; + Column16.InputMask = "999 999 999 999.99", ; + Column16.Name = "cDiscount", ; + Column16.ReadOnly = .T., ; + Column17.BackColor = 255,255,255, ; + Column17.ColumnOrder = 9, ; + Column17.ControlSource = "taxe_fara_tva", ; + Column17.FontName = "Arial", ; + Column17.FontSize = 10, ; + Column17.Format = "RK", ; + Column17.InputMask = "999 999 999 999.99", ; + Column17.Name = "cTaxe", ; + Column17.ReadOnly = .T., ; + Column18.BackColor = 255,255,255, ; + Column18.ColumnOrder = 7, ; + Column18.ControlSource = "valoare_fara_tva", ; + Column18.FontName = "Arial", ; + Column18.FontSize = 10, ; + Column18.Format = "RK", ; + Column18.InputMask = "999 999 999 999.99", ; + Column18.Name = "cValoareFaraTVA", ; + Column18.ReadOnly = .T., ; + Column18.Width = 102, ; + Column19.BackColor = 255,255,255, ; + Column19.ColumnOrder = 10, ; + Column19.ControlSource = "total_de_plata", ; + Column19.FontName = "Arial", ; + Column19.FontSize = 10, ; + Column19.Format = "RK", ; + Column19.InputMask = "999 999 999 999.99", ; + Column19.Name = "cTotaldePlata", ; + Column19.ReadOnly = .T., ; + Column19.Width = 106, ; + Column20.BackColor = 255,255,255, ; + Column20.ColumnOrder = 23, ; + Column20.ControlSource = "id", ; + Column20.FontName = "Arial", ; + Column20.FontSize = 10, ; + Column20.Name = "cId", ; + Column20.ReadOnly = .T., ; + Column21.BackColor = 255,255,255, ; + Column21.ColumnOrder = 22, ; + Column21.ControlSource = "detalii_plata", ; + Column21.CurrentControl = "_editbox1", ; + Column21.FontName = "Arial", ; + Column21.FontSize = 10, ; + Column21.Name = "cDetaliiPlata", ; + Column21.ReadOnly = .T., ; + Column21.Width = 145, ; + Column22.BackColor = 255,255,255, ; + Column22.ColumnOrder = 16, ; + Column22.ControlSource = "diferenta", ; + Column22.FontName = "Arial", ; + Column22.FontSize = 10, ; + Column22.Format = "RK", ; + Column22.InputMask = "999 999 999 999.99", ; + Column22.Name = "cDiferenta", ; + Column22.ReadOnly = .T., ; + Column22.Width = 94, ; + Column23.BackColor = 255,255,255, ; + Column23.ColumnOrder = 24, ; + Column23.ControlSource = "id_incarcare", ; + Column23.FontName = "Arial", ; + Column23.FontSize = 10, ; + Column23.Name = "cIdIncarcare", ; + Column23.ReadOnly = .T., ; + Column23.Width = 105, ; + Column24.BackColor = 255,255,255, ; + Column24.ColumnOrder = 26, ; + Column24.ControlSource = "crsFacturiPrimite.procesat", ; + Column24.CurrentControl = "_CHECKBOX1", ; + Column24.FontName = "Arial", ; + Column24.FontSize = 10, ; + Column24.Name = "cProcesat", ; + Column24.ReadOnly = .T., ; + Column24.Sparse = .F., ; + Column25.BackColor = 255,255,255, ; + Column25.ColumnOrder = 27, ; + Column25.ControlSource = "crsFacturiPrimite.descarcat", ; + Column25.CurrentControl = "_checkbox1", ; + Column25.FontName = "Arial", ; + Column25.FontSize = 10, ; + Column25.Name = "cDescarcat", ; + Column25.ReadOnly = .T., ; + Column25.Sparse = .F., ; + Column26.BackColor = 255,255,255, ; + Column26.ColumnOrder = 25, ; + Column26.ControlSource = "crsFacturiPrimite.xclient", ; + Column26.FontName = "Arial", ; + Column26.FontSize = 10, ; + Column26.Name = "cXClient", ; + Column26.ReadOnly = .T., ; + Column26.Width = 137, ; + Column27.BackColor = 255,255,255, ; + Column27.ColumnOrder = 29, ; + Column27.ControlSource = "crsFacturiPrimite.filepath", ; + Column27.FontName = "Arial", ; + Column27.FontSize = 10, ; + Column27.Name = "cFilePath", ; + Column27.ReadOnly = .T., ; + Column27.Width = 269, ; + Column28.BackColor = 255,255,255, ; + Column28.ColumnOrder = 13, ; + Column28.ControlSource = "total_tva_ron", ; + Column28.FontName = "Arial", ; + Column28.FontSize = 10, ; + Column28.Format = "R", ; + Column28.InputMask = "999 999 999 999.99", ; + Column28.Name = "cTotalTVARON", ; + Column28.ReadOnly = .T., ; + Column28.Width = 93, ; + Column29.BackColor = 255,255,255, ; + Column29.ColumnOrder = 28, ; + Column29.ControlSource = "crsFacturiPrimite.procesat_server", ; + Column29.CurrentControl = "_CHECKBOX1", ; + Column29.FontName = "Arial", ; + Column29.FontSize = 10, ; + Column29.Name = "cProcesatServer", ; + Column29.ReadOnly = .T., ; + Column29.Sparse = .F., ; + Column30.Alignment = 2, ; + Column30.BackColor = 255,255,255, ; + Column30.ControlSource = "crsFacturiPrimite.creditnote", ; + Column30.CurrentControl = "_checkbox1", ; + Column30.FontName = "Arial", ; + Column30.FontSize = 10, ; + Column30.Name = "cCreditNote", ; + Column30.ReadOnly = .T., ; + Column30.Sparse = .F. + *< END OBJECT: ClassLib="_grd_base.vcx" BaseClass="grid" /> + + ADD OBJECT 'pgfeFactura.Page2.grdFacturiPrimite.cAles._checkbox1' AS _checkbox WITH ; + Alignment = 2, ; + Caption = "", ; + FontName = "Arial", ; + FontSize = 10, ; + Left = 17, ; + Name = "_checkbox1", ; + ReadOnly = .F., ; + Top = 62 + *< END OBJECT: ClassLib="_baza.vcx" BaseClass="checkbox" /> + + ADD OBJECT 'pgfeFactura.Page2.grdFacturiPrimite.cAles.Header1' AS header WITH ; + Alignment = 2, ; + Caption = "Ales", ; + FontName = "Arial", ; + FontSize = 10, ; + Name = "Header1" + *< END OBJECT: BaseClass="header" /> + + ADD OBJECT 'pgfeFactura.Page2.grdFacturiPrimite.cAles.Text1' AS textbox WITH ; + BackColor = 255,255,255, ; + BorderStyle = 0, ; + FontName = "Arial", ; + ForeColor = 0,0,0, ; + Margin = 0, ; + Name = "Text1", ; + ReadOnly = .T., ; + SelectedBackColor = 100,185,255 + *< END OBJECT: BaseClass="textbox" /> + + ADD OBJECT 'pgfeFactura.Page2.grdFacturiPrimite.cCodFiscalEmitent.Header1' AS header WITH ; + Alignment = 2, ; + Caption = "Cod fiscal", ; + FontName = "Arial", ; + FontSize = 10, ; + Name = "Header1" + *< END OBJECT: BaseClass="header" /> + + ADD OBJECT 'pgfeFactura.Page2.grdFacturiPrimite.cCodFiscalEmitent.Text1' AS textbox WITH ; + BackColor = 255,255,255, ; + BorderStyle = 0, ; + FontName = "Arial", ; + FontSize = 10, ; + ForeColor = 0,0,0, ; + Margin = 0, ; + Name = "Text1", ; + ReadOnly = .T., ; + SelectedBackColor = 100,185,255 + *< END OBJECT: BaseClass="textbox" /> + + ADD OBJECT 'pgfeFactura.Page2.grdFacturiPrimite.cCreditNote._checkbox1' AS _checkbox WITH ; + Alignment = 2, ; + Caption = "", ; + Centered = .T., ; + Left = 32, ; + Name = "_checkbox1", ; + Top = 75 + *< END OBJECT: ClassLib="_baza.vcx" BaseClass="checkbox" /> + + ADD OBJECT 'pgfeFactura.Page2.grdFacturiPrimite.cCreditNote.Header1' AS header WITH ; + Alignment = 2, ; + Caption = "CreditNote", ; + FontSize = 10, ; + Name = "Header1" + *< END OBJECT: BaseClass="header" /> + + ADD OBJECT 'pgfeFactura.Page2.grdFacturiPrimite.cCreditNote.Text1' AS textbox WITH ; + BackColor = 255,255,255, ; + BorderStyle = 0, ; + FontSize = 10, ; + ForeColor = 0,0,0, ; + Margin = 0, ; + Name = "Text1", ; + ReadOnly = .T., ; + SelectedBackColor = 100,185,255 + *< END OBJECT: BaseClass="textbox" /> + + ADD OBJECT 'pgfeFactura.Page2.grdFacturiPrimite.cData.Header1' AS header WITH ; + Alignment = 2, ; + Caption = "Data fact. ", ; + FontName = "Arial", ; + FontSize = 10, ; + Name = "Header1" + *< END OBJECT: BaseClass="header" /> + + ADD OBJECT 'pgfeFactura.Page2.grdFacturiPrimite.cData.Text1' AS textbox WITH ; + Alignment = 3, ; + BackColor = 255,255,255, ; + BorderStyle = 0, ; + FontName = "Arial", ; + FontSize = 10, ; + ForeColor = 0,0,0, ; + Margin = 0, ; + Name = "Text1", ; + ReadOnly = .T., ; + SelectedBackColor = 100,185,255 + *< END OBJECT: BaseClass="textbox" /> + + ADD OBJECT 'pgfeFactura.Page2.grdFacturiPrimite.cDataScad.Header1' AS header WITH ; + Alignment = 2, ; + Caption = "Data scadenta", ; + FontSize = 10, ; + Name = "Header1" + *< END OBJECT: BaseClass="header" /> + + ADD OBJECT 'pgfeFactura.Page2.grdFacturiPrimite.cDataScad.Text1' AS textbox WITH ; + BackColor = 255,255,255, ; + BorderStyle = 0, ; + FontSize = 10, ; + ForeColor = 0,0,0, ; + Margin = 0, ; + Name = "Text1", ; + ReadOnly = .T., ; + SelectedBackColor = 100,185,255 + *< END OBJECT: BaseClass="textbox" /> + + ADD OBJECT 'pgfeFactura.Page2.grdFacturiPrimite.cDataTrimis.Header1' AS header WITH ; + Alignment = 2, ; + Caption = "Data primit", ; + FontName = "Arial", ; + FontSize = 10, ; + Name = "Header1" + *< END OBJECT: BaseClass="header" /> + + ADD OBJECT 'pgfeFactura.Page2.grdFacturiPrimite.cDataTrimis.Text1' AS textbox WITH ; + BackColor = 255,255,255, ; + BorderStyle = 0, ; + FontName = "Arial", ; + FontSize = 10, ; + ForeColor = 0,0,0, ; + Margin = 0, ; + Name = "Text1", ; + ReadOnly = .T., ; + SelectedBackColor = 100,185,255 + *< END OBJECT: BaseClass="textbox" /> + + ADD OBJECT 'pgfeFactura.Page2.grdFacturiPrimite.cDescarcat._checkbox1' AS _checkbox WITH ; + Alignment = 2, ; + Caption = "", ; + FontSize = 10, ; + Left = 44, ; + Name = "_checkbox1", ; + Top = 63 + *< END OBJECT: ClassLib="_baza.vcx" BaseClass="checkbox" /> + + ADD OBJECT 'pgfeFactura.Page2.grdFacturiPrimite.cDescarcat.Header1' AS header WITH ; + Alignment = 2, ; + Caption = "Descarcat server", ; + FontSize = 10, ; + Name = "Header1", ; + WordWrap = .T. + *< END OBJECT: BaseClass="header" /> + + ADD OBJECT 'pgfeFactura.Page2.grdFacturiPrimite.cDescarcat.Text1' AS textbox WITH ; + BackColor = 255,255,255, ; + BorderStyle = 0, ; + FontSize = 10, ; + ForeColor = 0,0,0, ; + Margin = 0, ; + Name = "Text1", ; + ReadOnly = .T., ; + SelectedBackColor = 100,185,255 + *< END OBJECT: BaseClass="textbox" /> + + ADD OBJECT 'pgfeFactura.Page2.grdFacturiPrimite.cDescriere._editbox1' AS _editbox WITH ; + BorderStyle = 0, ; + FontSize = 10, ; + Left = 34, ; + Name = "_editbox1", ; + SpecialEffect = 1, ; + Top = 63 + *< END OBJECT: ClassLib="_baza.vcx" BaseClass="editbox" /> + + ADD OBJECT 'pgfeFactura.Page2.grdFacturiPrimite.cDescriere.Header1' AS header WITH ; + Alignment = 2, ; + Caption = "Descriere", ; + FontSize = 10, ; + Name = "Header1" + *< END OBJECT: BaseClass="header" /> + + ADD OBJECT 'pgfeFactura.Page2.grdFacturiPrimite.cDescriere.Text1' AS textbox WITH ; + BackColor = 255,255,255, ; + BorderStyle = 0, ; + FontSize = 10, ; + ForeColor = 0,0,0, ; + Margin = 0, ; + Name = "Text1", ; + ReadOnly = .T., ; + SelectedBackColor = 100,185,255 + *< END OBJECT: BaseClass="textbox" /> + + ADD OBJECT 'pgfeFactura.Page2.grdFacturiPrimite.cDetaliiPlata._editbox1' AS _editbox WITH ; + FontSize = 10, ; + Left = 48, ; + Name = "_editbox1", ; + ReadOnly = .T., ; + Top = 75 + *< END OBJECT: ClassLib="_baza.vcx" BaseClass="editbox" /> + + ADD OBJECT 'pgfeFactura.Page2.grdFacturiPrimite.cDetaliiPlata.Header1' AS header WITH ; + Alignment = 2, ; + Caption = "Detalii plata", ; + FontSize = 10, ; + Name = "Header1" + *< END OBJECT: BaseClass="header" /> + + ADD OBJECT 'pgfeFactura.Page2.grdFacturiPrimite.cDetaliiPlata.Text1' AS textbox WITH ; + BackColor = 255,255,255, ; + BorderStyle = 0, ; + ForeColor = 0,0,0, ; + Margin = 0, ; + Name = "Text1", ; + SelectedBackColor = 100,185,255 + *< END OBJECT: BaseClass="textbox" /> + + ADD OBJECT 'pgfeFactura.Page2.grdFacturiPrimite.cDiferenta.Header1' AS header WITH ; + Alignment = 2, ; + Caption = "Diferenta fata de Reg. Cumparari", ; + FontSize = 10, ; + Name = "Header1", ; + WordWrap = .T. + *< END OBJECT: BaseClass="header" /> + + ADD OBJECT 'pgfeFactura.Page2.grdFacturiPrimite.cDiferenta.Text1' AS textbox WITH ; + BackColor = 255,255,255, ; + BorderStyle = 0, ; + FontSize = 10, ; + ForeColor = 0,0,0, ; + Margin = 0, ; + Name = "Text1", ; + SelectedBackColor = 100,185,255 + *< END OBJECT: BaseClass="textbox" /> + + ADD OBJECT 'pgfeFactura.Page2.grdFacturiPrimite.cDiscount.Header1' AS header WITH ; + Alignment = 2, ; + Caption = "Discount", ; + FontSize = 10, ; + Name = "Header1" + *< END OBJECT: BaseClass="header" /> + + ADD OBJECT 'pgfeFactura.Page2.grdFacturiPrimite.cDiscount.Text1' AS textbox WITH ; + BackColor = 255,255,255, ; + BorderStyle = 0, ; + FontSize = 10, ; + ForeColor = 0,0,0, ; + Margin = 0, ; + Name = "Text1", ; + SelectedBackColor = 100,185,255 + *< END OBJECT: BaseClass="textbox" /> + + ADD OBJECT 'pgfeFactura.Page2.grdFacturiPrimite.cFilePath.Header1' AS header WITH ; + Alignment = 2, ; + Caption = "Fisier", ; + FontSize = 10, ; + Name = "Header1" + *< END OBJECT: BaseClass="header" /> + + ADD OBJECT 'pgfeFactura.Page2.grdFacturiPrimite.cFilePath.Text1' AS textbox WITH ; + BackColor = 255,255,255, ; + BorderStyle = 0, ; + FontSize = 10, ; + ForeColor = 0,0,0, ; + Margin = 0, ; + Name = "Text1", ; + ReadOnly = .T., ; + SelectedBackColor = 100,185,255 + *< END OBJECT: BaseClass="textbox" /> + + ADD OBJECT 'pgfeFactura.Page2.grdFacturiPrimite.cId.Header1' AS header WITH ; + Alignment = 2, ; + Caption = "Id", ; + FontSize = 10, ; + Name = "Header1" + *< END OBJECT: BaseClass="header" /> + + ADD OBJECT 'pgfeFactura.Page2.grdFacturiPrimite.cId.Text1' AS textbox WITH ; + BackColor = 255,255,255, ; + BorderStyle = 0, ; + FontSize = 10, ; + ForeColor = 0,0,0, ; + Margin = 0, ; + Name = "Text1", ; + ReadOnly = .T., ; + SelectedBackColor = 100,185,255 + *< END OBJECT: BaseClass="textbox" /> + + ADD OBJECT 'pgfeFactura.Page2.grdFacturiPrimite.cIdDescarcare.Header1' AS header WITH ; + Alignment = 2, ; + Caption = "Id descarcare", ; + FontName = "Arial", ; + FontSize = 10, ; + Name = "Header1" + *< END OBJECT: BaseClass="header" /> + + ADD OBJECT 'pgfeFactura.Page2.grdFacturiPrimite.cIdDescarcare.Text1' AS textbox WITH ; + BackColor = 255,255,255, ; + BorderStyle = 0, ; + FontName = "Arial", ; + FontSize = 10, ; + ForeColor = 0,0,0, ; + Margin = 0, ; + Name = "Text1", ; + ReadOnly = .T., ; + SelectedBackColor = 100,185,255 + *< END OBJECT: BaseClass="textbox" /> + + ADD OBJECT 'pgfeFactura.Page2.grdFacturiPrimite.cIdIncarcare.Header1' AS header WITH ; + Alignment = 2, ; + Caption = "Id incarcare", ; + FontSize = 10, ; + Name = "Header1" + *< END OBJECT: BaseClass="header" /> + + ADD OBJECT 'pgfeFactura.Page2.grdFacturiPrimite.cIdIncarcare.Text1' AS textbox WITH ; + BackColor = 255,255,255, ; + BorderStyle = 0, ; + FontSize = 10, ; + ForeColor = 0,0,0, ; + Margin = 0, ; + Name = "Text1", ; + ReadOnly = .T., ; + SelectedBackColor = 100,185,255 + *< END OBJECT: BaseClass="textbox" /> + + ADD OBJECT 'pgfeFactura.Page2.grdFacturiPrimite.cJtotcTVA.Header1' AS header WITH ; + Alignment = 2, ; + Caption = "Valoare cu TVA Reg. Cumparari", ; + FontSize = 10, ; + Name = "Header1", ; + WordWrap = .T. + *< END OBJECT: BaseClass="header" /> + + ADD OBJECT 'pgfeFactura.Page2.grdFacturiPrimite.cJtotcTVA.Text1' AS textbox WITH ; + BackColor = 255,255,255, ; + BorderStyle = 0, ; + FontSize = 10, ; + ForeColor = 0,0,0, ; + Margin = 0, ; + Name = "Text1", ; + SelectedBackColor = 100,185,255 + *< END OBJECT: BaseClass="textbox" /> + + ADD OBJECT 'pgfeFactura.Page2.grdFacturiPrimite.cNr.Header1' AS header WITH ; + Alignment = 2, ; + Caption = "Nr. fact.", ; + FontName = "Arial", ; + FontSize = 10, ; + Name = "Header1" + *< END OBJECT: BaseClass="header" /> + + ADD OBJECT 'pgfeFactura.Page2.grdFacturiPrimite.cNr.Text1' AS textbox WITH ; + BackColor = 255,255,255, ; + BorderStyle = 0, ; + FontName = "Arial", ; + FontSize = 10, ; + ForeColor = 0,0,0, ; + Margin = 0, ; + Name = "Text1", ; + ReadOnly = .T., ; + SelectedBackColor = 100,185,255 + *< END OBJECT: BaseClass="textbox" /> + + ADD OBJECT 'pgfeFactura.Page2.grdFacturiPrimite.cNumeValuta.Header1' AS header WITH ; + Alignment = 2, ; + Caption = "Valuta", ; + FontName = "Arial", ; + FontSize = 10, ; + Name = "Header1" + *< END OBJECT: BaseClass="header" /> + + ADD OBJECT 'pgfeFactura.Page2.grdFacturiPrimite.cNumeValuta.Text1' AS textbox WITH ; + BackColor = 255,255,255, ; + BorderStyle = 0, ; + FontName = "Arial", ; + FontSize = 10, ; + ForeColor = 0,0,0, ; + Margin = 0, ; + Name = "Text1", ; + ReadOnly = .T., ; + SelectedBackColor = 100,185,255 + *< END OBJECT: BaseClass="textbox" /> + + ADD OBJECT 'pgfeFactura.Page2.grdFacturiPrimite.cProcesat._CHECKBOX1' AS _checkbox WITH ; + Alignment = 2, ; + Caption = "", ; + FontSize = 10, ; + Left = 48, ; + Name = "_CHECKBOX1", ; + Top = 63 + *< END OBJECT: ClassLib="_baza.vcx" BaseClass="checkbox" /> + + ADD OBJECT 'pgfeFactura.Page2.grdFacturiPrimite.cProcesat.Header1' AS header WITH ; + Alignment = 2, ; + Caption = "Actualizat baza date", ; + FontSize = 10, ; + Name = "Header1", ; + WordWrap = .T. + *< END OBJECT: BaseClass="header" /> + + ADD OBJECT 'pgfeFactura.Page2.grdFacturiPrimite.cProcesat.Text1' AS textbox WITH ; + BackColor = 255,255,255, ; + BorderStyle = 0, ; + ForeColor = 0,0,0, ; + Margin = 0, ; + Name = "Text1", ; + ReadOnly = .T., ; + SelectedBackColor = 100,185,255 + *< END OBJECT: BaseClass="textbox" /> + + ADD OBJECT 'pgfeFactura.Page2.grdFacturiPrimite.cProcesatServer._CHECKBOX1' AS _checkbox WITH ; + Alignment = 2, ; + Caption = "", ; + ControlSource = "crsFacturiPrimite.procesat_server", ; + Left = 44, ; + Name = "_CHECKBOX1", ; + Top = 75 + *< END OBJECT: ClassLib="_baza.vcx" BaseClass="checkbox" /> + + ADD OBJECT 'pgfeFactura.Page2.grdFacturiPrimite.cProcesatServer.Header1' AS header WITH ; + Alignment = 2, ; + Caption = "Copiat server/retea", ; + Name = "Header1", ; + WordWrap = .T. + *< END OBJECT: BaseClass="header" /> + + ADD OBJECT 'pgfeFactura.Page2.grdFacturiPrimite.cProcesatServer.Text1' AS textbox WITH ; + BackColor = 255,255,255, ; + BorderStyle = 0, ; + FontSize = 10, ; + ForeColor = 0,0,0, ; + Margin = 0, ; + Name = "Text1", ; + SelectedBackColor = 100,185,255 + *< END OBJECT: BaseClass="textbox" /> + + ADD OBJECT 'pgfeFactura.Page2.grdFacturiPrimite.cTaxe.Header1' AS header WITH ; + Alignment = 2, ; + Caption = "Taxe", ; + FontSize = 10, ; + Name = "Header1" + *< END OBJECT: BaseClass="header" /> + + ADD OBJECT 'pgfeFactura.Page2.grdFacturiPrimite.cTaxe.Text1' AS textbox WITH ; + BackColor = 255,255,255, ; + BorderStyle = 0, ; + FontSize = 10, ; + ForeColor = 0,0,0, ; + Margin = 0, ; + Name = "Text1", ; + SelectedBackColor = 100,185,255 + *< END OBJECT: BaseClass="textbox" /> + + ADD OBJECT 'pgfeFactura.Page2.grdFacturiPrimite.cTipMesajRaspuns.Header1' AS header WITH ; + Alignment = 2, ; + Caption = "Tip mesaj raspuns", ; + FontName = "Arial", ; + FontSize = 10, ; + Name = "Header1" + *< END OBJECT: BaseClass="header" /> + + ADD OBJECT 'pgfeFactura.Page2.grdFacturiPrimite.cTipMesajRaspuns.Text1' AS textbox WITH ; + BackColor = 255,255,255, ; + BorderStyle = 0, ; + FontName = "Arial", ; + FontSize = 10, ; + ForeColor = 0,0,0, ; + Margin = 0, ; + Name = "Text1", ; + ReadOnly = .T., ; + SelectedBackColor = 100,185,255 + *< END OBJECT: BaseClass="textbox" /> + + ADD OBJECT 'pgfeFactura.Page2.grdFacturiPrimite.cTotalCuTVA.Header1' AS header WITH ; + Alignment = 2, ; + Caption = "Total cu TVA", ; + FontName = "Arial", ; + FontSize = 10, ; + Name = "Header1" + *< END OBJECT: BaseClass="header" /> + + ADD OBJECT 'pgfeFactura.Page2.grdFacturiPrimite.cTotalCuTVA.Text1' AS textbox WITH ; + BackColor = 255,255,255, ; + BorderStyle = 0, ; + FontName = "Arial", ; + FontSize = 10, ; + ForeColor = 0,0,0, ; + Margin = 0, ; + Name = "Text1", ; + ReadOnly = .T., ; + SelectedBackColor = 100,185,255 + *< END OBJECT: BaseClass="textbox" /> + + ADD OBJECT 'pgfeFactura.Page2.grdFacturiPrimite.cTotaldePlata.Header1' AS header WITH ; + Alignment = 2, ; + Caption = "Total de plata", ; + FontSize = 10, ; + Name = "Header1" + *< END OBJECT: BaseClass="header" /> + + ADD OBJECT 'pgfeFactura.Page2.grdFacturiPrimite.cTotaldePlata.Text1' AS textbox WITH ; + BackColor = 255,255,255, ; + BorderStyle = 0, ; + FontSize = 10, ; + ForeColor = 0,0,0, ; + Margin = 0, ; + Name = "Text1", ; + SelectedBackColor = 100,185,255 + *< END OBJECT: BaseClass="textbox" /> + + ADD OBJECT 'pgfeFactura.Page2.grdFacturiPrimite.cTotalFaraTVA.Header1' AS header WITH ; + Alignment = 2, ; + Caption = "Total fara TVA", ; + FontSize = 10, ; + Name = "Header1" + *< END OBJECT: BaseClass="header" /> + + ADD OBJECT 'pgfeFactura.Page2.grdFacturiPrimite.cTotalFaraTVA.Text1' AS textbox WITH ; + BackColor = 255,255,255, ; + BorderStyle = 0, ; + FontSize = 10, ; + ForeColor = 0,0,0, ; + Margin = 0, ; + Name = "Text1", ; + ReadOnly = .T., ; + SelectedBackColor = 100,185,255 + *< END OBJECT: BaseClass="textbox" /> + + ADD OBJECT 'pgfeFactura.Page2.grdFacturiPrimite.cTotalTVA.Header1' AS header WITH ; + Alignment = 2, ; + Caption = "Total TVA", ; + FontSize = 10, ; + Name = "Header1" + *< END OBJECT: BaseClass="header" /> + + ADD OBJECT 'pgfeFactura.Page2.grdFacturiPrimite.cTotalTVA.Text1' AS textbox WITH ; + BackColor = 255,255,255, ; + BorderStyle = 0, ; + FontSize = 10, ; + ForeColor = 0,0,0, ; + Margin = 0, ; + Name = "Text1", ; + ReadOnly = .T., ; + SelectedBackColor = 100,185,255 + *< END OBJECT: BaseClass="textbox" /> + + ADD OBJECT 'pgfeFactura.Page2.grdFacturiPrimite.cTotalTVARON.Header1' AS header WITH ; + Alignment = 2, ; + Caption = "Total TVA RON", ; + FontSize = 10, ; + Name = "Header1" + *< END OBJECT: BaseClass="header" /> + + ADD OBJECT 'pgfeFactura.Page2.grdFacturiPrimite.cTotalTVARON.Text1' AS textbox WITH ; + BackColor = 255,255,255, ; + BorderStyle = 0, ; + FontSize = 10, ; + ForeColor = 0,0,0, ; + Margin = 0, ; + Name = "Text1", ; + ReadOnly = .T., ; + SelectedBackColor = 100,185,255 + *< END OBJECT: BaseClass="textbox" /> + + ADD OBJECT 'pgfeFactura.Page2.grdFacturiPrimite.cValoareFaraTVA.Header1' AS header WITH ; + Alignment = 2, ; + Caption = "Valoare fara TVA", ; + FontSize = 10, ; + Name = "Header1" + *< END OBJECT: BaseClass="header" /> + + ADD OBJECT 'pgfeFactura.Page2.grdFacturiPrimite.cValoareFaraTVA.Text1' AS textbox WITH ; + BackColor = 255,255,255, ; + BorderStyle = 0, ; + FontSize = 10, ; + ForeColor = 0,0,0, ; + Margin = 0, ; + Name = "Text1", ; + SelectedBackColor = 100,185,255 + *< END OBJECT: BaseClass="textbox" /> + + ADD OBJECT 'pgfeFactura.Page2.grdFacturiPrimite.cXClient.Header1' AS header WITH ; + Alignment = 2, ; + Caption = "Client", ; + FontSize = 10, ; + Name = "Header1" + *< END OBJECT: BaseClass="header" /> + + ADD OBJECT 'pgfeFactura.Page2.grdFacturiPrimite.cXClient.Text1' AS textbox WITH ; + BackColor = 255,255,255, ; + BorderStyle = 0, ; + FontSize = 10, ; + ForeColor = 0,0,0, ; + Margin = 0, ; + Name = "Text1", ; + ReadOnly = .T., ; + SelectedBackColor = 100,185,255 + *< END OBJECT: BaseClass="textbox" /> + + ADD OBJECT 'pgfeFactura.Page2.grdFacturiPrimite.cXFurnizor.Header1' AS header WITH ; + Alignment = 2, ; + Caption = "Furnizor", ; + FontSize = 10, ; + Name = "Header1" + *< END OBJECT: BaseClass="header" /> + + ADD OBJECT 'pgfeFactura.Page2.grdFacturiPrimite.cXFurnizor.Text1' AS textbox WITH ; + BackColor = 255,255,255, ; + BorderStyle = 0, ; + FontSize = 10, ; + ForeColor = 0,0,0, ; + Margin = 0, ; + Name = "Text1", ; + ReadOnly = .T., ; + SelectedBackColor = 100,185,255 + *< END OBJECT: BaseClass="textbox" /> + + ADD OBJECT 'pgfeFactura.Page2.Gridextra1' AS gridextra WITH ; + gridexpression = thisform.pgfeFactura.page2.grdFacturiPrimite, ; + Left = 768, ; + Name = "Gridextra1", ; + productname = ROA2, ; + Top = 114 + *< END OBJECT: ClassLib="..\utile\gridextras\gridextras.vcx" BaseClass="custom" /> + + ADD OBJECT 'pgfeFactura.Page2.Gridextra2' AS gridextra WITH ; + gridexpression = thisform.pgfeFactura.page2.grdDetaliiFacturi, ; + Left = 767, ; + Name = "Gridextra2", ; + productname = ROA2, ; + Top = 280 + *< END OBJECT: ClassLib="..\utile\gridextras\gridextras.vcx" BaseClass="custom" /> + + ADD OBJECT 'pgfeFactura.Page2.lblDetalii' AS _label WITH ; + Anchor = 6, ; + Caption = "Detalii raspuns", ; + FontBold = .T., ; + Left = 384, ; + Name = "lblDetalii", ; + Top = 322, ; + ZOrderSet = 3 + *< END OBJECT: ClassLib="_baza.vcx" BaseClass="label" /> + + ADD OBJECT 'pgfeFactura.Page2.lblMesajRaspuns' AS _label WITH ; + Anchor = 6, ; + Caption = "Mesaj raspuns", ; + FontBold = .T., ; + Height = 18, ; + Left = 11, ; + Name = "lblMesajRaspuns", ; + Top = 366, ; + Width = 92, ; + ZOrderSet = 9 + *< END OBJECT: ClassLib="_baza.vcx" BaseClass="label" /> + + ADD OBJECT 'pgfeFactura.Page2.txtMesajFurnizor' AS _textbox WITH ; + Anchor = 6, ; + ControlSource = "thisform.cMesajFurnizor", ; + Height = 23, ; + Left = 12, ; + Name = "txtMesajFurnizor", ; + ReadOnly = .F., ; + Top = 339, ; + Width = 257, ; + ZOrderSet = 6 + *< END OBJECT: ClassLib="_baza.vcx" BaseClass="textbox" /> + + ADD OBJECT 'pgfeFactura.Page2.txtMesajRaspuns' AS _textbox WITH ; + Anchor = 6, ; + ControlSource = "crsFacturiPrimite.mesaj_raspuns", ; + Height = 23, ; + Left = 107, ; + Name = "txtMesajRaspuns", ; + ReadOnly = .T., ; + Top = 364, ; + Width = 260, ; + ZOrderSet = 6 + *< END OBJECT: ClassLib="_baza.vcx" BaseClass="textbox" /> + + ADD OBJECT 'pgfeFactura.Page3._grdfooter1' AS _grdfooter WITH ; + Anchor = 14, ; + ccolwithlabel = cXClient, ; + csourcegrid = grdFacturiTrimise, ; + csumcolumns = cValoarefaraTVA,cDiscount,cTaxe,cTotaldePlata,cTotalFaraTVA,cTotalTVA,cTotalcuTVA,cJtotcTVA,cDiferenta, ; + ctotallabelexpression = 'Total', ; + Left = 4, ; + Name = "_grdfooter1", ; + Top = 133, ; + Width = 780 + *< END OBJECT: ClassLib="_grd_base.vcx" BaseClass="grid" /> + + ADD OBJECT 'pgfeFactura.Page3._SHAPE1' AS _shape WITH ; + Anchor = 14, ; + BackStyle = 0, ; + FillColor = 255,255,240, ; + FillStyle = 0, ; + Height = 94, ; + Left = 4, ; + Name = "_SHAPE1", ; + Top = 317, ; + Width = 780, ; + ZOrderSet = 0 + *< END OBJECT: ClassLib="_baza.vcx" BaseClass="shape" /> + + ADD OBJECT 'pgfeFactura.Page3.edtDetalii' AS _editbox WITH ; + Anchor = 14, ; + ControlSource = "crsFacturiTrimise.detalii", ; + Height = 67, ; + Left = 383, ; + Name = "edtDetalii", ; + ReadOnly = .T., ; + Top = 340, ; + Width = 398, ; + ZOrderSet = 2 + *< END OBJECT: ClassLib="_baza.vcx" BaseClass="editbox" /> + + ADD OBJECT 'pgfeFactura.Page3.grdDetaliiFacturi' AS _grdbase WITH ; + Anchor = 14, ; + BackColor = 255,255,255, ; + ColumnCount = 10, ; + DeleteMark = .F., ; + FontName = "Arial", ; + FontSize = 10, ; + GridLineColor = 192,192,192, ; + HeaderHeight = 35, ; + Height = 131, ; + lcamptextneeditabil = .F., ; + Left = 4, ; + Name = "grdDetaliiFacturi", ; + Panel = 1, ; + ReadOnly = .T., ; + RecordMark = .T., ; + RecordSource = "crsdetaliifacturi", ; + RowHeight = 19, ; + TabIndex = 1, ; + Top = 183, ; + Width = 780, ; + ZOrderSet = 1, ; + Column1.BackColor = 255,255,255, ; + Column1.ControlSource = "crsdetaliifacturi.nr", ; + Column1.FontName = "Arial", ; + Column1.FontSize = 10, ; + Column1.Name = "Column1", ; + Column1.ReadOnly = .T., ; + Column1.Width = 37, ; + Column2.BackColor = 255,255,255, ; + Column2.ControlSource = "crsdetaliifacturi.articol", ; + Column2.FontName = "Arial", ; + Column2.FontSize = 10, ; + Column2.Name = "Column2", ; + Column2.ReadOnly = .T., ; + Column2.Width = 146, ; + Column3.BackColor = 255,255,255, ; + Column3.ColumnOrder = 10, ; + Column3.ControlSource = "crsdetaliifacturi.detalii", ; + Column3.CurrentControl = "_editbox1", ; + Column3.FontName = "Arial", ; + Column3.FontSize = 10, ; + Column3.Name = "Column3", ; + Column3.ReadOnly = .T., ; + Column3.Width = 189, ; + Column4.BackColor = 255,255,255, ; + Column4.ColumnOrder = 3, ; + Column4.ControlSource = "crsdetaliifacturi.cantitate", ; + Column4.FontName = "Arial", ; + Column4.FontSize = 10, ; + Column4.Name = "Column4", ; + Column4.ReadOnly = .T., ; + Column4.Width = 56, ; + Column5.BackColor = 255,255,255, ; + Column5.ColumnOrder = 4, ; + Column5.ControlSource = "crsdetaliifacturi.um", ; + Column5.FontName = "Arial", ; + Column5.FontSize = 10, ; + Column5.Name = "Column5", ; + Column5.ReadOnly = .T., ; + Column5.Width = 40, ; + Column6.BackColor = 255,255,255, ; + Column6.ColumnOrder = 5, ; + Column6.ControlSource = "crsdetaliifacturi.pret", ; + Column6.FontName = "Arial", ; + Column6.FontSize = 10, ; + Column6.Name = "Column6", ; + Column6.ReadOnly = .T., ; + Column6.Width = 75, ; + Column7.BackColor = 255,255,255, ; + Column7.ColumnOrder = 8, ; + Column7.ControlSource = "crsdetaliifacturi.proctva", ; + Column7.FontName = "Arial", ; + Column7.FontSize = 10, ; + Column7.Name = "Column7", ; + Column7.ReadOnly = .T., ; + Column7.Width = 45, ; + Column8.BackColor = 255,255,255, ; + Column8.ColumnOrder = 9, ; + Column8.ControlSource = "crsdetaliifacturi.descriere", ; + Column8.FontName = "Arial", ; + Column8.FontSize = 10, ; + Column8.Name = "Column8", ; + Column8.ReadOnly = .T., ; + Column8.Width = 162, ; + Column9.BackColor = 255,255,255, ; + Column9.ColumnOrder = 6, ; + Column9.ControlSource = "crsdetaliifacturi.valoarefaratva", ; + Column9.FontName = "Arial", ; + Column9.FontSize = 10, ; + Column9.Name = "Column9", ; + Column9.ReadOnly = .T., ; + Column9.Width = 102, ; + Column10.BackColor = 255,255,255, ; + Column10.ColumnOrder = 7, ; + Column10.ControlSource = "crsdetaliifacturi.discountfaratva", ; + Column10.FontName = "Arial", ; + Column10.FontSize = 10, ; + Column10.Name = "Column10", ; + Column10.ReadOnly = .T., ; + Column10.Width = 109 + *< END OBJECT: ClassLib="_grd_base.vcx" BaseClass="grid" /> + + ADD OBJECT 'pgfeFactura.Page3.grdDetaliiFacturi.Column1.Header1' AS header WITH ; + Alignment = 2, ; + Caption = "Nr", ; + FontSize = 10, ; + Name = "Header1" + *< END OBJECT: BaseClass="header" /> + + ADD OBJECT 'pgfeFactura.Page3.grdDetaliiFacturi.Column1.Text1' AS textbox WITH ; + BackColor = 255,255,255, ; + BorderStyle = 0, ; + FontSize = 10, ; + ForeColor = 0,0,0, ; + Margin = 0, ; + Name = "Text1", ; + SelectedBackColor = 100,185,255 + *< END OBJECT: BaseClass="textbox" /> + + ADD OBJECT 'pgfeFactura.Page3.grdDetaliiFacturi.Column10.Header1' AS header WITH ; + Alignment = 2, ; + Caption = "Discount fara TVA", ; + FontSize = 10, ; + Name = "Header1" + *< END OBJECT: BaseClass="header" /> + + ADD OBJECT 'pgfeFactura.Page3.grdDetaliiFacturi.Column10.Text1' AS textbox WITH ; + BackColor = 255,255,255, ; + BorderStyle = 0, ; + FontSize = 10, ; + ForeColor = 0,0,0, ; + Margin = 0, ; + Name = "Text1", ; + ReadOnly = .T., ; + SelectedBackColor = 100,185,255 + *< END OBJECT: BaseClass="textbox" /> + + ADD OBJECT 'pgfeFactura.Page3.grdDetaliiFacturi.Column2.Header1' AS header WITH ; + Alignment = 2, ; + Caption = "Articol", ; + FontSize = 10, ; + Name = "Header1" + *< END OBJECT: BaseClass="header" /> + + ADD OBJECT 'pgfeFactura.Page3.grdDetaliiFacturi.Column2.Text1' AS textbox WITH ; + BackColor = 255,255,255, ; + BorderStyle = 0, ; + FontSize = 10, ; + ForeColor = 0,0,0, ; + Margin = 0, ; + Name = "Text1", ; + SelectedBackColor = 100,185,255 + *< END OBJECT: BaseClass="textbox" /> + + ADD OBJECT 'pgfeFactura.Page3.grdDetaliiFacturi.Column3._editbox1' AS _editbox WITH ; + FontSize = 10, ; + Left = 37, ; + Name = "_editbox1", ; + Top = 47 + *< END OBJECT: ClassLib="_baza.vcx" BaseClass="editbox" /> + + ADD OBJECT 'pgfeFactura.Page3.grdDetaliiFacturi.Column3.Header1' AS header WITH ; + Alignment = 2, ; + Caption = "Detalii", ; + FontSize = 10, ; + Name = "Header1" + *< END OBJECT: BaseClass="header" /> + + ADD OBJECT 'pgfeFactura.Page3.grdDetaliiFacturi.Column3.Text1' AS textbox WITH ; + BackColor = 255,255,255, ; + BorderStyle = 0, ; + ForeColor = 0,0,0, ; + Margin = 0, ; + Name = "Text1", ; + SelectedBackColor = 100,185,255 + *< END OBJECT: BaseClass="textbox" /> + + ADD OBJECT 'pgfeFactura.Page3.grdDetaliiFacturi.Column4.Header1' AS header WITH ; + Alignment = 2, ; + Caption = "Cantitate", ; + FontSize = 10, ; + Name = "Header1" + *< END OBJECT: BaseClass="header" /> + + ADD OBJECT 'pgfeFactura.Page3.grdDetaliiFacturi.Column4.Text1' AS textbox WITH ; + BackColor = 255,255,255, ; + BorderStyle = 0, ; + FontSize = 10, ; + ForeColor = 0,0,0, ; + Margin = 0, ; + Name = "Text1", ; + SelectedBackColor = 100,185,255 + *< END OBJECT: BaseClass="textbox" /> + + ADD OBJECT 'pgfeFactura.Page3.grdDetaliiFacturi.Column5.Header1' AS header WITH ; + Alignment = 2, ; + Caption = "UM", ; + FontSize = 10, ; + Name = "Header1" + *< END OBJECT: BaseClass="header" /> + + ADD OBJECT 'pgfeFactura.Page3.grdDetaliiFacturi.Column5.Text1' AS textbox WITH ; + BackColor = 255,255,255, ; + BorderStyle = 0, ; + FontSize = 10, ; + ForeColor = 0,0,0, ; + Margin = 0, ; + Name = "Text1", ; + SelectedBackColor = 100,185,255 + *< END OBJECT: BaseClass="textbox" /> + + ADD OBJECT 'pgfeFactura.Page3.grdDetaliiFacturi.Column6.Header1' AS header WITH ; + Alignment = 2, ; + Caption = "Pret unitar", ; + FontSize = 10, ; + Name = "Header1" + *< END OBJECT: BaseClass="header" /> + + ADD OBJECT 'pgfeFactura.Page3.grdDetaliiFacturi.Column6.Text1' AS textbox WITH ; + BackColor = 255,255,255, ; + BorderStyle = 0, ; + FontSize = 10, ; + ForeColor = 0,0,0, ; + Margin = 0, ; + Name = "Text1", ; + SelectedBackColor = 100,185,255 + *< END OBJECT: BaseClass="textbox" /> + + ADD OBJECT 'pgfeFactura.Page3.grdDetaliiFacturi.Column7.Header1' AS header WITH ; + Alignment = 2, ; + Caption = "% TVA", ; + FontSize = 10, ; + Name = "Header1" + *< END OBJECT: BaseClass="header" /> + + ADD OBJECT 'pgfeFactura.Page3.grdDetaliiFacturi.Column7.Text1' AS textbox WITH ; + BackColor = 255,255,255, ; + BorderStyle = 0, ; + FontSize = 10, ; + ForeColor = 0,0,0, ; + Margin = 0, ; + Name = "Text1", ; + SelectedBackColor = 100,185,255 + *< END OBJECT: BaseClass="textbox" /> + + ADD OBJECT 'pgfeFactura.Page3.grdDetaliiFacturi.Column8.Header1' AS header WITH ; + Alignment = 2, ; + Caption = "Descriere", ; + FontSize = 10, ; + Name = "Header1" + *< END OBJECT: BaseClass="header" /> + + ADD OBJECT 'pgfeFactura.Page3.grdDetaliiFacturi.Column8.Text1' AS textbox WITH ; + BackColor = 255,255,255, ; + BorderStyle = 0, ; + FontSize = 10, ; + ForeColor = 0,0,0, ; + Margin = 0, ; + Name = "Text1", ; + SelectedBackColor = 100,185,255 + *< END OBJECT: BaseClass="textbox" /> + + ADD OBJECT 'pgfeFactura.Page3.grdDetaliiFacturi.Column9.Header1' AS header WITH ; + Alignment = 2, ; + Caption = "Valoare fara TVA", ; + FontSize = 10, ; + Name = "Header1" + *< END OBJECT: BaseClass="header" /> + + ADD OBJECT 'pgfeFactura.Page3.grdDetaliiFacturi.Column9.Text1' AS textbox WITH ; + BackColor = 255,255,255, ; + BorderStyle = 0, ; + FontSize = 10, ; + ForeColor = 0,0,0, ; + Margin = 0, ; + Name = "Text1", ; + ReadOnly = .T., ; + SelectedBackColor = 100,185,255 + *< END OBJECT: BaseClass="textbox" /> + + ADD OBJECT 'pgfeFactura.Page3.grdFacturiTrimise' AS _grdbase WITH ; + Anchor = 15, ; + BackColor = 255,255,255, ; + ColumnCount = 31, ; + DeleteMark = .F., ; + FontName = "Arial", ; + FontSize = 10, ; + GridLineColor = 192,192,192, ; + HeaderHeight = 37, ; + Height = 132, ; + lcamptextneeditabil = .F., ; + Left = 4, ; + Name = "grdFacturiTrimise", ; + Panel = 1, ; + ReadOnly = .T., ; + RecordMark = .T., ; + RecordSource = "crsFacturiTrimise", ; + RowHeight = 19, ; + TabIndex = 1, ; + Top = 0, ; + Width = 780, ; + ZOrderSet = 1, ; + Column1.BackColor = 255,255,255, ; + Column1.ColumnOrder = 1, ; + Column1.ControlSource = "crsFacturiTrimise.ales", ; + Column1.CurrentControl = "_checkbox1", ; + Column1.FontName = "Arial", ; + Column1.FontSize = 10, ; + Column1.Name = "cAles", ; + Column1.ReadOnly = .F., ; + Column1.Sparse = .F., ; + Column1.Width = 26, ; + Column2.BackColor = 255,255,255, ; + Column2.ColumnOrder = 2, ; + Column2.ControlSource = "numar_act", ; + Column2.FontName = "Arial", ; + Column2.FontSize = 10, ; + Column2.Name = "cNr", ; + Column2.ReadOnly = .T., ; + Column2.Width = 86, ; + Column3.BackColor = 255,255,255, ; + Column3.ColumnOrder = 3, ; + Column3.ControlSource = "data_act", ; + Column3.FontName = "Arial", ; + Column3.FontSize = 10, ; + Column3.Name = "cData", ; + Column3.ReadOnly = .T., ; + Column3.Width = 69, ; + Column4.BackColor = 255,255,255, ; + Column4.ColumnOrder = 18, ; + Column4.ControlSource = "data_raspuns", ; + Column4.FontName = "Arial", ; + Column4.FontSize = 10, ; + Column4.Name = "cDataTrimis", ; + Column4.ReadOnly = .T., ; + Column5.BackColor = 255,255,255, ; + Column5.ColumnOrder = 6, ; + Column5.ControlSource = "cod_fiscal_beneficiar", ; + Column5.FontName = "Arial", ; + Column5.FontSize = 10, ; + Column5.Name = "cCodFiscalBeneficiar", ; + Column5.ReadOnly = .T., ; + Column5.Width = 108, ; + Column6.BackColor = 255,255,255, ; + Column6.ColumnOrder = 20, ; + Column6.ControlSource = "tip_mesaj_raspuns", ; + Column6.FontName = "Arial", ; + Column6.FontSize = 10, ; + Column6.Name = "cTipMesajRaspuns", ; + Column6.ReadOnly = .T., ; + Column6.Width = 130, ; + Column7.BackColor = 255,255,255, ; + Column7.ColumnOrder = 19, ; + Column7.ControlSource = "id_descarcare", ; + Column7.FontName = "Arial", ; + Column7.FontSize = 10, ; + Column7.Name = "cIdDescarcare", ; + Column7.ReadOnly = .T., ; + Column7.Width = 111, ; + Column8.BackColor = 255,255,255, ; + Column8.ColumnOrder = 14, ; + Column8.ControlSource = "total_cu_tva", ; + Column8.FontName = "Arial", ; + Column8.FontSize = 10, ; + Column8.Format = "RK", ; + Column8.InputMask = "999 999 999 999.99", ; + Column8.Name = "cTotalCuTVA", ; + Column8.ReadOnly = .T., ; + Column8.Width = 104, ; + Column9.BackColor = 255,255,255, ; + Column9.ColumnOrder = 17, ; + Column9.ControlSource = "nume_valuta", ; + Column9.FontName = "Arial", ; + Column9.FontSize = 10, ; + Column9.Name = "cNumeValuta", ; + Column9.ReadOnly = .T., ; + Column9.Width = 38, ; + Column10.BackColor = 255,255,255, ; + Column10.ColumnOrder = 15, ; + Column10.ControlSource = "jtotctva", ; + Column10.FontName = "Arial", ; + Column10.FontSize = 10, ; + Column10.Format = "RK", ; + Column10.InputMask = "999 999 999 999.99", ; + Column10.Name = "cJtotcTVA", ; + Column10.ReadOnly = .T., ; + Column10.Width = 99, ; + Column11.BackColor = 255,255,255, ; + Column11.ColumnOrder = 4, ; + Column11.ControlSource = "data_scad", ; + Column11.FontName = "Arial", ; + Column11.FontSize = 10, ; + Column11.Name = "cDataScad", ; + Column11.ReadOnly = .T., ; + Column11.Width = 88, ; + Column12.BackColor = 255,255,255, ; + Column12.ColumnOrder = 21, ; + Column12.ControlSource = "descriere", ; + Column12.CurrentControl = "_editbox1", ; + Column12.FontName = "Arial", ; + Column12.FontSize = 10, ; + Column12.Name = "cDescriere", ; + Column12.ReadOnly = .T., ; + Column12.Width = 160, ; + Column13.BackColor = 255,255,255, ; + Column13.ColumnOrder = 11, ; + Column13.ControlSource = "total_fara_tva", ; + Column13.FontName = "Arial", ; + Column13.FontSize = 10, ; + Column13.Format = "RK", ; + Column13.InputMask = "999 999 999 999.99", ; + Column13.Name = "cTotalFaraTVA", ; + Column13.ReadOnly = .T., ; + Column13.Width = 102, ; + Column14.BackColor = 255,255,255, ; + Column14.ColumnOrder = 12, ; + Column14.ControlSource = "total_tva", ; + Column14.FontName = "Arial", ; + Column14.FontSize = 10, ; + Column14.Format = "RK", ; + Column14.InputMask = "999 999 999 999.99", ; + Column14.Name = "cTotalTVA", ; + Column14.ReadOnly = .T., ; + Column14.Width = 105, ; + Column15.BackColor = 255,255,255, ; + Column15.ColumnOrder = 5, ; + Column15.ControlSource = "xclient", ; + Column15.FontName = "Arial", ; + Column15.FontSize = 10, ; + Column15.Name = "cXClient", ; + Column15.ReadOnly = .T., ; + Column15.Width = 180, ; + Column16.BackColor = 255,255,255, ; + Column16.ColumnOrder = 8, ; + Column16.ControlSource = "discount_fara_tva", ; + Column16.FontName = "Arial", ; + Column16.FontSize = 10, ; + Column16.Format = "RK", ; + Column16.InputMask = "999 999 999 999.99", ; + Column16.Name = "cDiscount", ; + Column16.ReadOnly = .T., ; + Column17.BackColor = 255,255,255, ; + Column17.ColumnOrder = 9, ; + Column17.ControlSource = "taxe_fara_tva", ; + Column17.FontName = "Arial", ; + Column17.FontSize = 10, ; + Column17.Format = "RK", ; + Column17.InputMask = "999 999 999 999.99", ; + Column17.Name = "cTaxe", ; + Column17.ReadOnly = .T., ; + Column18.BackColor = 255,255,255, ; + Column18.ColumnOrder = 7, ; + Column18.ControlSource = "valoare_fara_tva", ; + Column18.FontName = "Arial", ; + Column18.FontSize = 10, ; + Column18.Format = "RK", ; + Column18.InputMask = "999 999 999 999.99", ; + Column18.Name = "cValoareFaraTVA", ; + Column18.ReadOnly = .T., ; + Column18.Width = 102, ; + Column19.BackColor = 255,255,255, ; + Column19.ColumnOrder = 10, ; + Column19.ControlSource = "total_de_plata", ; + Column19.FontName = "Arial", ; + Column19.FontSize = 10, ; + Column19.Format = "RK", ; + Column19.InputMask = "999 999 999 999.99", ; + Column19.Name = "cTotaldePlata", ; + Column19.ReadOnly = .T., ; + Column19.Width = 106, ; + Column20.BackColor = 255,255,255, ; + Column20.ColumnOrder = 23, ; + Column20.ControlSource = "id", ; + Column20.FontName = "Arial", ; + Column20.FontSize = 10, ; + Column20.Name = "cId", ; + Column20.ReadOnly = .T., ; + Column21.BackColor = 255,255,255, ; + Column21.ColumnOrder = 22, ; + Column21.ControlSource = "detalii_plata", ; + Column21.CurrentControl = "_editbox1", ; + Column21.FontName = "Arial", ; + Column21.FontSize = 10, ; + Column21.Name = "cDetaliiPlata", ; + Column21.ReadOnly = .T., ; + Column21.Width = 145, ; + Column22.BackColor = 255,255,255, ; + Column22.ColumnOrder = 16, ; + Column22.ControlSource = "diferenta", ; + Column22.FontName = "Arial", ; + Column22.FontSize = 10, ; + Column22.Format = "RK", ; + Column22.InputMask = "999 999 999 999.99", ; + Column22.Name = "cDiferenta", ; + Column22.ReadOnly = .T., ; + Column22.Width = 94, ; + Column23.BackColor = 255,255,255, ; + Column23.ColumnOrder = 24, ; + Column23.ControlSource = "crsFacturiTrimise.test", ; + Column23.CurrentControl = "_CHECKBOX1", ; + Column23.FontName = "Arial", ; + Column23.FontSize = 10, ; + Column23.Name = "cTest", ; + Column23.ReadOnly = .T., ; + Column23.Sparse = .F., ; + Column23.Width = 41, ; + Column24.BackColor = 255,255,255, ; + Column24.ColumnOrder = 25, ; + Column24.ControlSource = "crsFacturiTrimise.id_incarcare", ; + Column24.FontName = "Arial", ; + Column24.FontSize = 10, ; + Column24.Name = "cIdIncarcare", ; + Column24.ReadOnly = .T., ; + Column24.Width = 118, ; + Column25.BackColor = 255,255,255, ; + Column25.ColumnOrder = 27, ; + Column25.ControlSource = "crsFacturiTrimise.procesat", ; + Column25.CurrentControl = "_CHECKBOX1", ; + Column25.FontName = "Arial", ; + Column25.FontSize = 10, ; + Column25.Name = "cProcesat", ; + Column25.ReadOnly = .T., ; + Column25.Sparse = .F., ; + Column25.Width = 58, ; + Column26.BackColor = 255,255,255, ; + Column26.ColumnOrder = 26, ; + Column26.ControlSource = "crsFacturiTrimise.xfurnizor", ; + Column26.FontName = "Arial", ; + Column26.FontSize = 10, ; + Column26.Name = "cxFurnizor", ; + Column26.ReadOnly = .T., ; + Column26.Width = 147, ; + Column27.BackColor = 255,255,255, ; + Column27.ColumnOrder = 28, ; + Column27.ControlSource = "crsFacturiTrimise.descarcat", ; + Column27.CurrentControl = "_checkbox1", ; + Column27.FontName = "Arial", ; + Column27.FontSize = 10, ; + Column27.Name = "cDescarcat", ; + Column27.ReadOnly = .T., ; + Column27.Sparse = .F., ; + Column28.BackColor = 255,255,255, ; + Column28.ColumnOrder = 30, ; + Column28.ControlSource = "crsFacturiTrimise.filepath", ; + Column28.FontName = "Arial", ; + Column28.FontSize = 10, ; + Column28.Name = "cFilePath", ; + Column28.ReadOnly = .T., ; + Column28.Width = 306, ; + Column29.BackColor = 255,255,255, ; + Column29.ColumnOrder = 13, ; + Column29.ControlSource = "total_tva_ron", ; + Column29.FontName = "Arial", ; + Column29.FontSize = 10, ; + Column29.Format = "R", ; + Column29.InputMask = "999 999 999 999.99", ; + Column29.Name = "cTotalTVARON", ; + Column29.ReadOnly = .T., ; + Column29.Width = 93, ; + Column30.BackColor = 255,255,255, ; + Column30.ColumnOrder = 29, ; + Column30.ControlSource = "crsFacturiTrimise.procesat_server", ; + Column30.CurrentControl = "_CHECKBOX1", ; + Column30.FontName = "Arial", ; + Column30.FontSize = 10, ; + Column30.Name = "cProcesatServer", ; + Column30.ReadOnly = .T., ; + Column30.Sparse = .F., ; + Column31.BackColor = 255,255,255, ; + Column31.ControlSource = "crsFacturiTrimise.creditnote", ; + Column31.CurrentControl = "_checkbox1", ; + Column31.FontName = "Arial", ; + Column31.FontSize = 10, ; + Column31.Name = "cCreditNote", ; + Column31.ReadOnly = .T., ; + Column31.Sparse = .F., ; + Column31.Width = 66 + *< END OBJECT: ClassLib="_grd_base.vcx" BaseClass="grid" /> + + ADD OBJECT 'pgfeFactura.Page3.grdFacturiTrimise.cAles._checkbox1' AS _checkbox WITH ; + Alignment = 2, ; + Caption = "", ; + FontName = "Arial", ; + FontSize = 10, ; + Left = 17, ; + Name = "_checkbox1", ; + ReadOnly = .F., ; + Top = 62 + *< END OBJECT: ClassLib="_baza.vcx" BaseClass="checkbox" /> + + ADD OBJECT 'pgfeFactura.Page3.grdFacturiTrimise.cAles.Header1' AS header WITH ; + Alignment = 2, ; + Caption = "Ales", ; + FontName = "Arial", ; + FontSize = 10, ; + Name = "Header1" + *< END OBJECT: BaseClass="header" /> + + ADD OBJECT 'pgfeFactura.Page3.grdFacturiTrimise.cAles.Text1' AS textbox WITH ; + BackColor = 255,255,255, ; + BorderStyle = 0, ; + FontName = "Arial", ; + ForeColor = 0,0,0, ; + Margin = 0, ; + Name = "Text1", ; + ReadOnly = .T., ; + SelectedBackColor = 100,185,255 + *< END OBJECT: BaseClass="textbox" /> + + ADD OBJECT 'pgfeFactura.Page3.grdFacturiTrimise.cCodFiscalBeneficiar.Header1' AS header WITH ; + Alignment = 2, ; + Caption = "Cod fiscal", ; + FontName = "Arial", ; + FontSize = 10, ; + Name = "Header1" + *< END OBJECT: BaseClass="header" /> + + ADD OBJECT 'pgfeFactura.Page3.grdFacturiTrimise.cCodFiscalBeneficiar.Text1' AS textbox WITH ; + BackColor = 255,255,255, ; + BorderStyle = 0, ; + FontName = "Arial", ; + FontSize = 10, ; + ForeColor = 0,0,0, ; + Margin = 0, ; + Name = "Text1", ; + ReadOnly = .T., ; + SelectedBackColor = 100,185,255 + *< END OBJECT: BaseClass="textbox" /> + + ADD OBJECT 'pgfeFactura.Page3.grdFacturiTrimise.cCreditNote._checkbox1' AS _checkbox WITH ; + Alignment = 2, ; + Caption = "", ; + ControlSource = "crsFacturiTrimise.creditnote", ; + FontSize = 10, ; + Left = 38, ; + Name = "_checkbox1", ; + ReadOnly = .T., ; + Top = 51 + *< END OBJECT: ClassLib="_baza.vcx" BaseClass="checkbox" /> + + ADD OBJECT 'pgfeFactura.Page3.grdFacturiTrimise.cCreditNote.Header1' AS header WITH ; + Alignment = 2, ; + Caption = "Credit Note", ; + FontSize = 10, ; + Name = "Header1" + *< END OBJECT: BaseClass="header" /> + + ADD OBJECT 'pgfeFactura.Page3.grdFacturiTrimise.cCreditNote.Text1' AS textbox WITH ; + BackColor = 255,255,255, ; + BorderStyle = 0, ; + ForeColor = 0,0,0, ; + Margin = 0, ; + Name = "Text1", ; + SelectedBackColor = 100,185,255 + *< END OBJECT: BaseClass="textbox" /> + + ADD OBJECT 'pgfeFactura.Page3.grdFacturiTrimise.cData.Header1' AS header WITH ; + Alignment = 2, ; + Caption = "Data fact. ", ; + FontName = "Arial", ; + FontSize = 10, ; + Name = "Header1" + *< END OBJECT: BaseClass="header" /> + + ADD OBJECT 'pgfeFactura.Page3.grdFacturiTrimise.cData.Text1' AS textbox WITH ; + Alignment = 3, ; + BackColor = 255,255,255, ; + BorderStyle = 0, ; + FontName = "Arial", ; + FontSize = 10, ; + ForeColor = 0,0,0, ; + Margin = 0, ; + Name = "Text1", ; + ReadOnly = .T., ; + SelectedBackColor = 100,185,255 + *< END OBJECT: BaseClass="textbox" /> + + ADD OBJECT 'pgfeFactura.Page3.grdFacturiTrimise.cDataScad.Header1' AS header WITH ; + Alignment = 2, ; + Caption = "Data scadenta", ; + FontSize = 10, ; + Name = "Header1" + *< END OBJECT: BaseClass="header" /> + + ADD OBJECT 'pgfeFactura.Page3.grdFacturiTrimise.cDataScad.Text1' AS textbox WITH ; + BackColor = 255,255,255, ; + BorderStyle = 0, ; + FontSize = 10, ; + ForeColor = 0,0,0, ; + Margin = 0, ; + Name = "Text1", ; + ReadOnly = .T., ; + SelectedBackColor = 100,185,255 + *< END OBJECT: BaseClass="textbox" /> + + ADD OBJECT 'pgfeFactura.Page3.grdFacturiTrimise.cDataTrimis.Header1' AS header WITH ; + Alignment = 2, ; + Caption = "Data primit", ; + FontName = "Arial", ; + FontSize = 10, ; + Name = "Header1" + *< END OBJECT: BaseClass="header" /> + + ADD OBJECT 'pgfeFactura.Page3.grdFacturiTrimise.cDataTrimis.Text1' AS textbox WITH ; + BackColor = 255,255,255, ; + BorderStyle = 0, ; + FontName = "Arial", ; + FontSize = 10, ; + ForeColor = 0,0,0, ; + Margin = 0, ; + Name = "Text1", ; + ReadOnly = .T., ; + SelectedBackColor = 100,185,255 + *< END OBJECT: BaseClass="textbox" /> + + ADD OBJECT 'pgfeFactura.Page3.grdFacturiTrimise.cDescarcat._checkbox1' AS _checkbox WITH ; + Alignment = 2, ; + Caption = "", ; + FontSize = 10, ; + Left = 48, ; + Name = "_checkbox1", ; + ReadOnly = .T., ; + Top = 63 + *< END OBJECT: ClassLib="_baza.vcx" BaseClass="checkbox" /> + + ADD OBJECT 'pgfeFactura.Page3.grdFacturiTrimise.cDescarcat.Header1' AS header WITH ; + Alignment = 2, ; + Caption = "Descarcat server", ; + FontSize = 10, ; + Name = "Header1", ; + WordWrap = .T. + *< END OBJECT: BaseClass="header" /> + + ADD OBJECT 'pgfeFactura.Page3.grdFacturiTrimise.cDescarcat.Text1' AS textbox WITH ; + BackColor = 255,255,255, ; + BorderStyle = 0, ; + FontSize = 10, ; + ForeColor = 0,0,0, ; + Margin = 0, ; + Name = "Text1", ; + SelectedBackColor = 100,185,255 + *< END OBJECT: BaseClass="textbox" /> + + ADD OBJECT 'pgfeFactura.Page3.grdFacturiTrimise.cDescriere._editbox1' AS _editbox WITH ; + BorderStyle = 0, ; + FontSize = 10, ; + Left = 34, ; + Name = "_editbox1", ; + SpecialEffect = 1, ; + Top = 63 + *< END OBJECT: ClassLib="_baza.vcx" BaseClass="editbox" /> + + ADD OBJECT 'pgfeFactura.Page3.grdFacturiTrimise.cDescriere.Header1' AS header WITH ; + Alignment = 2, ; + Caption = "Descriere", ; + FontSize = 10, ; + Name = "Header1" + *< END OBJECT: BaseClass="header" /> + + ADD OBJECT 'pgfeFactura.Page3.grdFacturiTrimise.cDescriere.Text1' AS textbox WITH ; + BackColor = 255,255,255, ; + BorderStyle = 0, ; + FontSize = 10, ; + ForeColor = 0,0,0, ; + Margin = 0, ; + Name = "Text1", ; + ReadOnly = .T., ; + SelectedBackColor = 100,185,255 + *< END OBJECT: BaseClass="textbox" /> + + ADD OBJECT 'pgfeFactura.Page3.grdFacturiTrimise.cDetaliiPlata._editbox1' AS _editbox WITH ; + FontSize = 10, ; + Left = 48, ; + Name = "_editbox1", ; + ReadOnly = .T., ; + Top = 75 + *< END OBJECT: ClassLib="_baza.vcx" BaseClass="editbox" /> + + ADD OBJECT 'pgfeFactura.Page3.grdFacturiTrimise.cDetaliiPlata.Header1' AS header WITH ; + Alignment = 2, ; + Caption = "Detalii plata", ; + FontSize = 10, ; + Name = "Header1" + *< END OBJECT: BaseClass="header" /> + + ADD OBJECT 'pgfeFactura.Page3.grdFacturiTrimise.cDetaliiPlata.Text1' AS textbox WITH ; + BackColor = 255,255,255, ; + BorderStyle = 0, ; + ForeColor = 0,0,0, ; + Margin = 0, ; + Name = "Text1", ; + SelectedBackColor = 100,185,255 + *< END OBJECT: BaseClass="textbox" /> + + ADD OBJECT 'pgfeFactura.Page3.grdFacturiTrimise.cDiferenta.Header1' AS header WITH ; + Alignment = 2, ; + Caption = "Diferenta fata de Reg. Vanzari", ; + FontSize = 10, ; + Name = "Header1", ; + WordWrap = .T. + *< END OBJECT: BaseClass="header" /> + + ADD OBJECT 'pgfeFactura.Page3.grdFacturiTrimise.cDiferenta.Text1' AS textbox WITH ; + BackColor = 255,255,255, ; + BorderStyle = 0, ; + FontSize = 10, ; + ForeColor = 0,0,0, ; + Margin = 0, ; + Name = "Text1", ; + SelectedBackColor = 100,185,255 + *< END OBJECT: BaseClass="textbox" /> + + ADD OBJECT 'pgfeFactura.Page3.grdFacturiTrimise.cDiscount.Header1' AS header WITH ; + Alignment = 2, ; + Caption = "Discount", ; + FontSize = 10, ; + Name = "Header1" + *< END OBJECT: BaseClass="header" /> + + ADD OBJECT 'pgfeFactura.Page3.grdFacturiTrimise.cDiscount.Text1' AS textbox WITH ; + BackColor = 255,255,255, ; + BorderStyle = 0, ; + FontSize = 10, ; + ForeColor = 0,0,0, ; + Margin = 0, ; + Name = "Text1", ; + SelectedBackColor = 100,185,255 + *< END OBJECT: BaseClass="textbox" /> + + ADD OBJECT 'pgfeFactura.Page3.grdFacturiTrimise.cFilePath.Header1' AS header WITH ; + Alignment = 2, ; + Caption = "Fisier", ; + FontSize = 10, ; + Name = "Header1" + *< END OBJECT: BaseClass="header" /> + + ADD OBJECT 'pgfeFactura.Page3.grdFacturiTrimise.cFilePath.Text1' AS textbox WITH ; + BackColor = 255,255,255, ; + BorderStyle = 0, ; + FontSize = 10, ; + ForeColor = 0,0,0, ; + Margin = 0, ; + Name = "Text1", ; + ReadOnly = .T., ; + SelectedBackColor = 100,185,255 + *< END OBJECT: BaseClass="textbox" /> + + ADD OBJECT 'pgfeFactura.Page3.grdFacturiTrimise.cId.Header1' AS header WITH ; + Alignment = 2, ; + Caption = "Id", ; + FontSize = 10, ; + Name = "Header1" + *< END OBJECT: BaseClass="header" /> + + ADD OBJECT 'pgfeFactura.Page3.grdFacturiTrimise.cId.Text1' AS textbox WITH ; + BackColor = 255,255,255, ; + BorderStyle = 0, ; + FontSize = 10, ; + ForeColor = 0,0,0, ; + Margin = 0, ; + Name = "Text1", ; + ReadOnly = .T., ; + SelectedBackColor = 100,185,255 + *< END OBJECT: BaseClass="textbox" /> + + ADD OBJECT 'pgfeFactura.Page3.grdFacturiTrimise.cIdDescarcare.Header1' AS header WITH ; + Alignment = 2, ; + Caption = "Id descarcare", ; + FontName = "Arial", ; + FontSize = 10, ; + Name = "Header1" + *< END OBJECT: BaseClass="header" /> + + ADD OBJECT 'pgfeFactura.Page3.grdFacturiTrimise.cIdDescarcare.Text1' AS textbox WITH ; + BackColor = 255,255,255, ; + BorderStyle = 0, ; + FontName = "Arial", ; + FontSize = 10, ; + ForeColor = 0,0,0, ; + Margin = 0, ; + Name = "Text1", ; + ReadOnly = .T., ; + SelectedBackColor = 100,185,255 + *< END OBJECT: BaseClass="textbox" /> + + ADD OBJECT 'pgfeFactura.Page3.grdFacturiTrimise.cIdIncarcare.Header1' AS header WITH ; + Alignment = 2, ; + Caption = "Id incarcare", ; + FontSize = 10, ; + Name = "Header1" + *< END OBJECT: BaseClass="header" /> + + ADD OBJECT 'pgfeFactura.Page3.grdFacturiTrimise.cIdIncarcare.Text1' AS textbox WITH ; + BackColor = 255,255,255, ; + BorderStyle = 0, ; + FontSize = 10, ; + ForeColor = 0,0,0, ; + Margin = 0, ; + Name = "Text1", ; + ReadOnly = .T., ; + SelectedBackColor = 100,185,255 + *< END OBJECT: BaseClass="textbox" /> + + ADD OBJECT 'pgfeFactura.Page3.grdFacturiTrimise.cJtotcTVA.Header1' AS header WITH ; + Alignment = 2, ; + Caption = "Valoare cu TVA Reg. Vanzari", ; + FontSize = 10, ; + Name = "Header1", ; + WordWrap = .T. + *< END OBJECT: BaseClass="header" /> + + ADD OBJECT 'pgfeFactura.Page3.grdFacturiTrimise.cJtotcTVA.Text1' AS textbox WITH ; + BackColor = 255,255,255, ; + BorderStyle = 0, ; + FontSize = 10, ; + ForeColor = 0,0,0, ; + Margin = 0, ; + Name = "Text1", ; + SelectedBackColor = 100,185,255 + *< END OBJECT: BaseClass="textbox" /> + + ADD OBJECT 'pgfeFactura.Page3.grdFacturiTrimise.cNr.Header1' AS header WITH ; + Alignment = 2, ; + Caption = "Nr. fact.", ; + FontName = "Arial", ; + FontSize = 10, ; + Name = "Header1" + *< END OBJECT: BaseClass="header" /> + + ADD OBJECT 'pgfeFactura.Page3.grdFacturiTrimise.cNr.Text1' AS textbox WITH ; + BackColor = 255,255,255, ; + BorderStyle = 0, ; + FontName = "Arial", ; + FontSize = 10, ; + ForeColor = 0,0,0, ; + Margin = 0, ; + Name = "Text1", ; + ReadOnly = .T., ; + SelectedBackColor = 100,185,255 + *< END OBJECT: BaseClass="textbox" /> + + ADD OBJECT 'pgfeFactura.Page3.grdFacturiTrimise.cNumeValuta.Header1' AS header WITH ; + Alignment = 2, ; + Caption = "Valuta", ; + FontName = "Arial", ; + FontSize = 10, ; + Name = "Header1" + *< END OBJECT: BaseClass="header" /> + + ADD OBJECT 'pgfeFactura.Page3.grdFacturiTrimise.cNumeValuta.Text1' AS textbox WITH ; + BackColor = 255,255,255, ; + BorderStyle = 0, ; + FontName = "Arial", ; + FontSize = 10, ; + ForeColor = 0,0,0, ; + Margin = 0, ; + Name = "Text1", ; + ReadOnly = .T., ; + SelectedBackColor = 100,185,255 + *< END OBJECT: BaseClass="textbox" /> + + ADD OBJECT 'pgfeFactura.Page3.grdFacturiTrimise.cProcesat._CHECKBOX1' AS _checkbox WITH ; + Alignment = 2, ; + Caption = "", ; + FontSize = 10, ; + Left = 53, ; + Name = "_CHECKBOX1", ; + Top = 63 + *< END OBJECT: ClassLib="_baza.vcx" BaseClass="checkbox" /> + + ADD OBJECT 'pgfeFactura.Page3.grdFacturiTrimise.cProcesat.Header1' AS header WITH ; + Alignment = 2, ; + Caption = "Actualizat baza date", ; + FontSize = 10, ; + Name = "Header1", ; + WordWrap = .T. + *< END OBJECT: BaseClass="header" /> + + ADD OBJECT 'pgfeFactura.Page3.grdFacturiTrimise.cProcesat.Text1' AS textbox WITH ; + BackColor = 255,255,255, ; + BorderStyle = 0, ; + ForeColor = 0,0,0, ; + Margin = 0, ; + Name = "Text1", ; + ReadOnly = .T., ; + SelectedBackColor = 100,185,255 + *< END OBJECT: BaseClass="textbox" /> + + ADD OBJECT 'pgfeFactura.Page3.grdFacturiTrimise.cProcesatServer._CHECKBOX1' AS _checkbox WITH ; + Alignment = 2, ; + Caption = "", ; + ControlSource = "crsFacturiTrimise.procesat_server", ; + FontSize = 10, ; + Left = 50, ; + Name = "_CHECKBOX1", ; + ReadOnly = .T., ; + Top = 63 + *< END OBJECT: ClassLib="_baza.vcx" BaseClass="checkbox" /> + + ADD OBJECT 'pgfeFactura.Page3.grdFacturiTrimise.cProcesatServer.Header1' AS header WITH ; + Alignment = 2, ; + Caption = "Copiat server/retea", ; + FontSize = 10, ; + Name = "Header1", ; + WordWrap = .T. + *< END OBJECT: BaseClass="header" /> + + ADD OBJECT 'pgfeFactura.Page3.grdFacturiTrimise.cProcesatServer.Text1' AS textbox WITH ; + BackColor = 255,255,255, ; + BorderStyle = 0, ; + FontSize = 10, ; + ForeColor = 0,0,0, ; + Margin = 0, ; + Name = "Text1", ; + SelectedBackColor = 100,185,255 + *< END OBJECT: BaseClass="textbox" /> + + ADD OBJECT 'pgfeFactura.Page3.grdFacturiTrimise.cTaxe.Header1' AS header WITH ; + Alignment = 2, ; + Caption = "Taxe", ; + FontSize = 10, ; + Name = "Header1" + *< END OBJECT: BaseClass="header" /> + + ADD OBJECT 'pgfeFactura.Page3.grdFacturiTrimise.cTaxe.Text1' AS textbox WITH ; + BackColor = 255,255,255, ; + BorderStyle = 0, ; + FontSize = 10, ; + ForeColor = 0,0,0, ; + Margin = 0, ; + Name = "Text1", ; + SelectedBackColor = 100,185,255 + *< END OBJECT: BaseClass="textbox" /> + + ADD OBJECT 'pgfeFactura.Page3.grdFacturiTrimise.cTest._CHECKBOX1' AS _checkbox WITH ; + Alignment = 2, ; + Caption = "", ; + FontSize = 10, ; + Left = 42, ; + Name = "_CHECKBOX1", ; + Top = 75 + *< END OBJECT: ClassLib="_baza.vcx" BaseClass="checkbox" /> + + ADD OBJECT 'pgfeFactura.Page3.grdFacturiTrimise.cTest.Header1' AS header WITH ; + Alignment = 2, ; + Caption = "Test", ; + FontSize = 10, ; + Name = "Header1" + *< END OBJECT: BaseClass="header" /> + + ADD OBJECT 'pgfeFactura.Page3.grdFacturiTrimise.cTest.Text1' AS textbox WITH ; + BackColor = 255,255,255, ; + BorderStyle = 0, ; + ForeColor = 0,0,0, ; + Margin = 0, ; + Name = "Text1", ; + ReadOnly = .T., ; + SelectedBackColor = 100,185,255 + *< END OBJECT: BaseClass="textbox" /> + + ADD OBJECT 'pgfeFactura.Page3.grdFacturiTrimise.cTipMesajRaspuns.Header1' AS header WITH ; + Alignment = 2, ; + Caption = "Tip mesaj raspuns", ; + FontName = "Arial", ; + FontSize = 10, ; + Name = "Header1" + *< END OBJECT: BaseClass="header" /> + + ADD OBJECT 'pgfeFactura.Page3.grdFacturiTrimise.cTipMesajRaspuns.Text1' AS textbox WITH ; + BackColor = 255,255,255, ; + BorderStyle = 0, ; + FontName = "Arial", ; + FontSize = 10, ; + ForeColor = 0,0,0, ; + Margin = 0, ; + Name = "Text1", ; + ReadOnly = .T., ; + SelectedBackColor = 100,185,255 + *< END OBJECT: BaseClass="textbox" /> + + ADD OBJECT 'pgfeFactura.Page3.grdFacturiTrimise.cTotalCuTVA.Header1' AS header WITH ; + Alignment = 2, ; + Caption = "Total cu TVA", ; + FontName = "Arial", ; + FontSize = 10, ; + Name = "Header1" + *< END OBJECT: BaseClass="header" /> + + ADD OBJECT 'pgfeFactura.Page3.grdFacturiTrimise.cTotalCuTVA.Text1' AS textbox WITH ; + BackColor = 255,255,255, ; + BorderStyle = 0, ; + FontName = "Arial", ; + FontSize = 10, ; + ForeColor = 0,0,0, ; + Margin = 0, ; + Name = "Text1", ; + ReadOnly = .T., ; + SelectedBackColor = 100,185,255 + *< END OBJECT: BaseClass="textbox" /> + + ADD OBJECT 'pgfeFactura.Page3.grdFacturiTrimise.cTotaldePlata.Header1' AS header WITH ; + Alignment = 2, ; + Caption = "Total de plata", ; + FontSize = 10, ; + Name = "Header1" + *< END OBJECT: BaseClass="header" /> + + ADD OBJECT 'pgfeFactura.Page3.grdFacturiTrimise.cTotaldePlata.Text1' AS textbox WITH ; + BackColor = 255,255,255, ; + BorderStyle = 0, ; + FontSize = 10, ; + ForeColor = 0,0,0, ; + Margin = 0, ; + Name = "Text1", ; + SelectedBackColor = 100,185,255 + *< END OBJECT: BaseClass="textbox" /> + + ADD OBJECT 'pgfeFactura.Page3.grdFacturiTrimise.cTotalFaraTVA.Header1' AS header WITH ; + Alignment = 2, ; + Caption = "Total fara TVA", ; + FontSize = 10, ; + Name = "Header1" + *< END OBJECT: BaseClass="header" /> + + ADD OBJECT 'pgfeFactura.Page3.grdFacturiTrimise.cTotalFaraTVA.Text1' AS textbox WITH ; + BackColor = 255,255,255, ; + BorderStyle = 0, ; + FontSize = 10, ; + ForeColor = 0,0,0, ; + Margin = 0, ; + Name = "Text1", ; + ReadOnly = .T., ; + SelectedBackColor = 100,185,255 + *< END OBJECT: BaseClass="textbox" /> + + ADD OBJECT 'pgfeFactura.Page3.grdFacturiTrimise.cTotalTVA.Header1' AS header WITH ; + Alignment = 2, ; + Caption = "Total TVA", ; + FontSize = 10, ; + Name = "Header1" + *< END OBJECT: BaseClass="header" /> + + ADD OBJECT 'pgfeFactura.Page3.grdFacturiTrimise.cTotalTVA.Text1' AS textbox WITH ; + BackColor = 255,255,255, ; + BorderStyle = 0, ; + FontSize = 10, ; + ForeColor = 0,0,0, ; + Margin = 0, ; + Name = "Text1", ; + ReadOnly = .T., ; + SelectedBackColor = 100,185,255 + *< END OBJECT: BaseClass="textbox" /> + + ADD OBJECT 'pgfeFactura.Page3.grdFacturiTrimise.cTotalTVARON.Header1' AS header WITH ; + Alignment = 2, ; + Caption = "Total TVA RON", ; + FontSize = 10, ; + Name = "Header1" + *< END OBJECT: BaseClass="header" /> + + ADD OBJECT 'pgfeFactura.Page3.grdFacturiTrimise.cTotalTVARON.Text1' AS textbox WITH ; + BackColor = 255,255,255, ; + BorderStyle = 0, ; + FontSize = 10, ; + ForeColor = 0,0,0, ; + Margin = 0, ; + Name = "Text1", ; + ReadOnly = .T., ; + SelectedBackColor = 100,185,255 + *< END OBJECT: BaseClass="textbox" /> + + ADD OBJECT 'pgfeFactura.Page3.grdFacturiTrimise.cValoareFaraTVA.Header1' AS header WITH ; + Alignment = 2, ; + Caption = "Valoare fara TVA", ; + FontSize = 10, ; + Name = "Header1" + *< END OBJECT: BaseClass="header" /> + + ADD OBJECT 'pgfeFactura.Page3.grdFacturiTrimise.cValoareFaraTVA.Text1' AS textbox WITH ; + BackColor = 255,255,255, ; + BorderStyle = 0, ; + FontSize = 10, ; + ForeColor = 0,0,0, ; + Margin = 0, ; + Name = "Text1", ; + SelectedBackColor = 100,185,255 + *< END OBJECT: BaseClass="textbox" /> + + ADD OBJECT 'pgfeFactura.Page3.grdFacturiTrimise.cXClient.Header1' AS header WITH ; + Alignment = 2, ; + Caption = "Client", ; + FontSize = 10, ; + Name = "Header1" + *< END OBJECT: BaseClass="header" /> + + ADD OBJECT 'pgfeFactura.Page3.grdFacturiTrimise.cXClient.Text1' AS textbox WITH ; + BackColor = 255,255,255, ; + BorderStyle = 0, ; + FontSize = 10, ; + ForeColor = 0,0,0, ; + Margin = 0, ; + Name = "Text1", ; + ReadOnly = .T., ; + SelectedBackColor = 100,185,255 + *< END OBJECT: BaseClass="textbox" /> + + ADD OBJECT 'pgfeFactura.Page3.grdFacturiTrimise.cxFurnizor.Header1' AS header WITH ; + Alignment = 2, ; + Caption = "Furnizor", ; + FontSize = 10, ; + Name = "Header1" + *< END OBJECT: BaseClass="header" /> + + ADD OBJECT 'pgfeFactura.Page3.grdFacturiTrimise.cxFurnizor.Text1' AS textbox WITH ; + BackColor = 255,255,255, ; + BorderStyle = 0, ; + FontSize = 10, ; + ForeColor = 0,0,0, ; + Margin = 0, ; + Name = "Text1", ; + ReadOnly = .T., ; + SelectedBackColor = 100,185,255 + *< END OBJECT: BaseClass="textbox" /> + + ADD OBJECT 'pgfeFactura.Page3.Gridextra1' AS gridextra WITH ; + gridexpression = thisform.pgfeFactura.page3.grdFacturiTrimise, ; + Left = 767, ; + Name = "Gridextra1", ; + productname = ROA2, ; + Top = 106 + *< END OBJECT: ClassLib="..\utile\gridextras\gridextras.vcx" BaseClass="custom" /> + + ADD OBJECT 'pgfeFactura.Page3.Gridextra2' AS gridextra WITH ; + gridexpression = thisform.pgfeFactura.page3.grdDetaliiFacturi, ; + Left = 766, ; + Name = "Gridextra2", ; + productname = ROA2, ; + Top = 293 + *< END OBJECT: ClassLib="..\utile\gridextras\gridextras.vcx" BaseClass="custom" /> + + ADD OBJECT 'pgfeFactura.Page3.lblDetalii' AS _label WITH ; + Anchor = 6, ; + Caption = "Detalii raspuns", ; + FontBold = .T., ; + Left = 384, ; + Name = "lblDetalii", ; + Top = 322, ; + ZOrderSet = 3 + *< END OBJECT: ClassLib="_baza.vcx" BaseClass="label" /> + + ADD OBJECT 'pgfeFactura.Page3.lblMesajRaspuns' AS _label WITH ; + Anchor = 6, ; + Caption = "Mesaj raspuns", ; + FontBold = .T., ; + Height = 18, ; + Left = 11, ; + Name = "lblMesajRaspuns", ; + Top = 366, ; + Width = 92, ; + ZOrderSet = 9 + *< END OBJECT: ClassLib="_baza.vcx" BaseClass="label" /> + + ADD OBJECT 'pgfeFactura.Page3.lblMesajTrimis' AS _label WITH ; + Anchor = 6, ; + Caption = "Mesaj trimitere", ; + FontBold = .T., ; + Height = 18, ; + Left = 11, ; + Name = "lblMesajTrimis", ; + Top = 340, ; + Width = 97, ; + ZOrderSet = 8 + *< END OBJECT: ClassLib="_baza.vcx" BaseClass="label" /> + + ADD OBJECT 'pgfeFactura.Page3.txtMesajRaspuns' AS _textbox WITH ; + Anchor = 6, ; + ControlSource = "crsFacturiTrimise.mesaj_raspuns", ; + Height = 23, ; + Left = 107, ; + Name = "txtMesajRaspuns", ; + ReadOnly = .T., ; + Top = 364, ; + Width = 271, ; + ZOrderSet = 6 + *< END OBJECT: ClassLib="_baza.vcx" BaseClass="textbox" /> + + ADD OBJECT 'pgfeFactura.Page3.txtMesajTrimis' AS _textbox WITH ; + Anchor = 6, ; + ControlSource = "crsFacturiTrimise.mesaj_trimis", ; + Height = 23, ; + Left = 107, ; + Name = "txtMesajTrimis", ; + ReadOnly = .T., ; + Top = 338, ; + Width = 271, ; + ZOrderSet = 5 + *< END OBJECT: ClassLib="_baza.vcx" BaseClass="textbox" /> + + ADD OBJECT 'pgfeFactura.Page4._checkbox1' AS _checkbox WITH ; + Alignment = 0, ; + Caption = "Salvare zip eFactura in baza de date", ; + ControlSource = "m.gnEFACTURA_ZIP_DATABASE", ; + Enabled = .F., ; + FontBold = .F., ; + Left = 407, ; + Name = "_checkbox1", ; + ToolTipText = "Daca se salveaza arhivele zip eFactura in baza de date la descarcarea raspunsurilor", ; + Top = 63, ; + Value = 1, ; + ZOrderSet = 11 + *< END OBJECT: ClassLib="_baza.vcx" BaseClass="checkbox" /> + + ADD OBJECT 'pgfeFactura.Page4._checkbox2' AS _checkbox WITH ; + Alignment = 0, ; + Caption = "Salvare facturi primite/trimise pe server / director comun retea", ; + ControlSource = "m.gnEFACTURA_SAVE", ; + Enabled = .F., ; + FontBold = .F., ; + Left = 23, ; + Name = "_checkbox2", ; + ToolTipText = "Daca se salveaza facturile TRIMISE/PRIMITE intr-un director comun in retea", ; + Top = 84, ; + Value = 1, ; + ZOrderSet = 11 + *< END OBJECT: ClassLib="_baza.vcx" BaseClass="checkbox" /> + + ADD OBJECT 'pgfeFactura.Page4._checkbox3' AS _checkbox WITH ; + Alignment = 0, ; + Caption = "Generare PDF ANAF pe server/in retea", ; + ControlSource = "m.gnEFACTURA_SAVE_ANAF_PDF", ; + Enabled = .F., ; + FontBold = .F., ; + Left = 407, ; + Name = "_checkbox3", ; + ToolTipText = "Daca se genereaza PDF eFactura prin serviciul ANAF la descarcarea raspunsurilor pe server/in retea", ; + Top = 84, ; + Value = 1, ; + ZOrderSet = 11 + *< END OBJECT: ClassLib="_baza.vcx" BaseClass="checkbox" /> + + ADD OBJECT 'pgfeFactura.Page4._label1' AS _label WITH ; + Caption = "Nume fisier facturi primite", ; + FontBold = .F., ; + Height = 18, ; + Left = 395, ; + Name = "_label1", ; + Top = 244, ; + Width = 149, ; + ZOrderSet = 8 + *< END OBJECT: ClassLib="_baza.vcx" BaseClass="label" /> + + ADD OBJECT 'pgfeFactura.Page4._label2' AS _label WITH ; + Caption = "Director salvare facturi trimise", ; + FontBold = .F., ; + Height = 18, ; + Left = 23, ; + Name = "_label2", ; + Top = 292, ; + Width = 173, ; + ZOrderSet = 8 + *< END OBJECT: ClassLib="_baza.vcx" BaseClass="label" /> + + ADD OBJECT 'pgfeFactura.Page4._label3' AS _label WITH ; + Caption = "Nume fisier facturi trimise", ; + FontBold = .F., ; + Height = 18, ; + Left = 395, ; + Name = "_label3", ; + Top = 292, ; + Width = 149, ; + ZOrderSet = 8 + *< END OBJECT: ClassLib="_baza.vcx" BaseClass="label" /> + + ADD OBJECT 'pgfeFactura.Page4._label4' AS _label WITH ; + Caption = "Director local salvare raspunsuri ", ; + FontBold = .F., ; + Height = 18, ; + Left = 23, ; + Name = "_label4", ; + Top = 339, ; + Width = 190, ; + ZOrderSet = 8 + *< END OBJECT: ClassLib="_baza.vcx" BaseClass="label" /> + + ADD OBJECT 'pgfeFactura.Page4._label5' AS _label WITH ; + Caption = "Director server salvare raspunsuri", ; + FontBold = .F., ; + Height = 18, ; + Left = 23, ; + Name = "_label5", ; + Top = 196, ; + Width = 193, ; + ZOrderSet = 8 + *< END OBJECT: ClassLib="_baza.vcx" BaseClass="label" /> + + ADD OBJECT 'pgfeFactura.Page4._label6' AS _label WITH ; + Caption = "Director server salvare facturi", ; + FontBold = .F., ; + Height = 18, ; + Left = 23, ; + Name = "_label6", ; + Top = 108, ; + Width = 168, ; + ZOrderSet = 8 + *< END OBJECT: ClassLib="_baza.vcx" BaseClass="label" /> + + ADD OBJECT 'pgfeFactura.Page4._label7' AS _label WITH ; + Caption = "Director retea salvare facturi", ; + FontBold = .F., ; + Height = 18, ; + Left = 23, ; + Name = "_label7", ; + Top = 153, ; + Width = 163, ; + ZOrderSet = 8 + *< END OBJECT: ClassLib="_baza.vcx" BaseClass="label" /> + + ADD OBJECT 'pgfeFactura.Page4._label8' AS _label WITH ; + Caption = "Info: dublu click pe Token pentru generare / actualizare token eFactura", ; + FontBold = .F., ; + Height = 18, ; + Left = 22, ; + Name = "_label8", ; + Top = 29, ; + Width = 409, ; + ZOrderSet = 8 + *< END OBJECT: ClassLib="_baza.vcx" BaseClass="label" /> + + ADD OBJECT 'pgfeFactura.Page4.chkValidareOnline' AS _checkbox WITH ; + Alignment = 0, ; + Caption = "Validare online facturi trimise", ; + ControlSource = "m.gnEFACTURA_VALIDARE_ONLINE", ; + Enabled = .F., ; + FontBold = .F., ; + Left = 23, ; + Name = "chkValidareOnline", ; + ToolTipText = "Se valideaza xml eFactura online pe serverul ANAF inainte de a se trimite in sistemul eFactura. Alternativ, se valideaza offline cu DukIntegrator", ; + Top = 63, ; + Value = 1, ; + ZOrderSet = 11 + *< END OBJECT: ClassLib="_baza.vcx" BaseClass="checkbox" /> + + ADD OBJECT 'pgfeFactura.Page4.lblMesajTrimis' AS _label WITH ; + Caption = "Director salvare facturi primite", ; + FontBold = .F., ; + Height = 18, ; + Left = 23, ; + Name = "lblMesajTrimis", ; + Top = 244, ; + Width = 173, ; + ZOrderSet = 8 + *< END OBJECT: ClassLib="_baza.vcx" BaseClass="label" /> + + ADD OBJECT 'pgfeFactura.Page4.lblToken' AS _label WITH ; + Anchor = 0, ; + BackColor = 240,240,240, ; + Caption = "lblToken", ; + FontBold = .T., ; + ForeColor = 0,128,0, ; + Left = 23, ; + Name = "lblToken", ; + ToolTipText = "Dublu click pentru generare token sau actualizare data expirare token", ; + Top = 14 + *< END OBJECT: ClassLib="_baza.vcx" BaseClass="label" /> + + ADD OBJECT 'pgfeFactura.Page4.txtNetworkPath' AS _textbox WITH ; + ControlSource = "m.gcEFACTURA_NETWORK_PATH", ; + Height = 23, ; + Left = 23, ; + Name = "txtNetworkPath", ; + ReadOnly = .T., ; + ToolTipText = "Director de baza in retea pentru salvare raspunsuri zip eFactura primite", ; + Top = 171, ; + Width = 360, ; + ZOrderSet = 5 + *< END OBJECT: ClassLib="_baza.vcx" BaseClass="textbox" /> + + ADD OBJECT 'pgfeFactura.Page4.txtResponsesPathLocal' AS _textbox WITH ; + ControlSource = "", ; + Height = 23, ; + Left = 23, ; + Name = "txtResponsesPathLocal", ; + ReadOnly = .T., ; + ToolTipText = "Director local salvare raspunsuri. Dublu click pentru deschidere director", ; + Top = 357, ; + Width = 360, ; + ZOrderSet = 5 + *< END OBJECT: ClassLib="_baza.vcx" BaseClass="textbox" /> + + ADD OBJECT 'pgfeFactura.Page4.txtResponsesPathServer' AS _textbox WITH ; + ControlSource = "m.gcEFACTURA_RESPONSESPATH", ; + Height = 23, ; + Left = 23, ; + Name = "txtResponsesPathServer", ; + ReadOnly = .T., ; + ToolTipText = "Director server/retea pentru salvare raspunsuri zip eFactura primite", ; + Top = 214, ; + Width = 360, ; + ZOrderSet = 5 + *< END OBJECT: ClassLib="_baza.vcx" BaseClass="textbox" /> + + ADD OBJECT 'pgfeFactura.Page4.txtSaveClientiFile' AS _textbox WITH ; + ControlSource = "m.gcEFACTURA_SAVE_CLIENTI_FILE", ; + Height = 23, ; + Left = 395, ; + Name = "txtSaveClientiFile", ; + ReadOnly = .T., ; + ToolTipText = "Nume fisier raspunsuri zip eFactura trimise", ; + Top = 310, ; + Width = 360, ; + ZOrderSet = 5 + *< END OBJECT: ClassLib="_baza.vcx" BaseClass="textbox" /> + + ADD OBJECT 'pgfeFactura.Page4.txtSaveClientiPath' AS _textbox WITH ; + ControlSource = "m.gcEFACTURA_SAVE_CLIENTI_PATH", ; + Height = 23, ; + Left = 23, ; + Name = "txtSaveClientiPath", ; + ReadOnly = .T., ; + ToolTipText = "Cale director comun in retea pentru salvare raspunsuri zip eFactura trimise", ; + Top = 310, ; + Width = 360, ; + ZOrderSet = 5 + *< END OBJECT: ClassLib="_baza.vcx" BaseClass="textbox" /> + + ADD OBJECT 'pgfeFactura.Page4.txtSaveFurnizoriFile' AS _textbox WITH ; + ControlSource = "m.gcEFACTURA_SAVE_FURNIZORI_FILE", ; + Height = 23, ; + Left = 395, ; + Name = "txtSaveFurnizoriFile", ; + ReadOnly = .T., ; + ToolTipText = "Nume fisier raspunsuri zip eFactura primite", ; + Top = 262, ; + Width = 360, ; + ZOrderSet = 5 + *< END OBJECT: ClassLib="_baza.vcx" BaseClass="textbox" /> + + ADD OBJECT 'pgfeFactura.Page4.txtSaveFurnizoriPath' AS _textbox WITH ; + ControlSource = "m.gcEFACTURA_SAVE_FURNIZORI_PATH", ; + Height = 23, ; + Left = 23, ; + Name = "txtSaveFurnizoriPath", ; + ReadOnly = .T., ; + ToolTipText = "Cale director comun in retea pentru salvare raspunsuri zip eFactura primite", ; + Top = 262, ; + Width = 360, ; + ZOrderSet = 5 + *< END OBJECT: ClassLib="_baza.vcx" BaseClass="textbox" /> + + ADD OBJECT 'pgfeFactura.Page4.txtServerPath' AS _textbox WITH ; + ControlSource = "m.gcEFACTURA_SERVER_PATH", ; + Height = 23, ; + Left = 23, ; + Name = "txtServerPath", ; + ReadOnly = .T., ; + ToolTipText = "Director de baza pe server pentru salvare raspunsuri zip eFactura primite", ; + Top = 126, ; + Width = 360, ; + ZOrderSet = 5 + *< END OBJECT: ClassLib="_baza.vcx" BaseClass="textbox" /> + + PROCEDURE Activate + * + ENDPROC + + PROCEDURE actualizeaza_grid1 + Lparameters lcFiltru + If Empty(lcFiltru) + lcFiltru = poFacturiEmise.ca_baza1.cfiltru + Endif + Thisform.MousePointer = 11 + + Thisform.LockScreen = .T. + save_grid_tag(Thisform.pgfeFactura.page1.grdFacturiEmise) + poFacturiEmise.ca_baza1.cfiltru = lcFiltru + poFacturiEmise.ca_baza1.afisare() + restore_grid_tag(Thisform.pgfeFactura.page1.grdFacturiEmise) + Thisform.LockScreen = .F. + Thisform.MousePointer = 0 + + ENDPROC + + PROCEDURE actualizeaza_grid2 + Lparameters lcFiltru + If Empty(lcFiltru) + lcFiltru = poFacturiPrimite.ca_baza1.cfiltru + Endif + Thisform.MousePointer = 11 + + Thisform.LockScreen = .T. + save_grid_tag(Thisform.pgfeFactura.page2.grdFacturiPrimite) + poFacturiPrimite.ca_baza1.cfiltru = lcFiltru + poFacturiPrimite.ca_baza1.afisare() + restore_grid_tag(Thisform.pgfeFactura.page2.grdFacturiPrimite) + Thisform.LockScreen = .F. + Thisform.MousePointer = 0 + + ENDPROC + + PROCEDURE actualizeaza_grid3 + Lparameters lcFiltru + + Thisform.LockScreen = .T. + save_grid_tag(this.pgfeFactura.page1.grdDetaliiFacturi) + save_grid_tag(this.pgfeFactura.page2.grdDetaliiFacturi) + save_grid_tag(this.pgfeFactura.page3.grdDetaliiFacturi) + poFacturiDetalii.ca_baza1.cfiltru = m.lcFiltru + + poFacturiDetalii.ca_baza1.afisare() + + restore_grid_tag(this.pgfeFactura.page1.grdDetaliiFacturi) + restore_grid_tag(this.pgfeFactura.page2.grdDetaliiFacturi) + restore_grid_tag(this.pgfeFactura.page3.grdDetaliiFacturi) + Thisform.LockScreen = .F. + + ENDPROC + + PROCEDURE actualizeaza_grid4 + Lparameters lcFiltru + If Empty(lcFiltru) + lcFiltru = poFacturiTrimise.ca_baza1.cfiltru + Endif + Thisform.MousePointer = 11 + + Thisform.LockScreen = .T. + save_grid_tag(Thisform.pgfeFactura.page3.grdFacturiTrimise) + poFacturiTrimise.ca_baza1.cfiltru = lcFiltru + poFacturiTrimise.ca_baza1.afisare() + restore_grid_tag(Thisform.pgfeFactura.page3.grdFacturiTrimise) + Thisform.LockScreen = .F. + Thisform.MousePointer = 0 + + ENDPROC + + PROCEDURE bifeazatrimismanual && Bifeaza o factura ca trimisa manual + Local llSucces + lnTrimis = this.pgfeFactura.page1.chkTrimis.Value + llSucces = Thisform.oAnaf.BifeazaTrimisManual(crsFacturiEmise.id_fact, m.lnTrimis) + IF !m.llSucces + REPLACE trimis WITH Thisform.nTrimis IN crsFacturiEmise + ELSE + REPLACE tip_mesaj_raspuns WITH IIF(m.lnTrimis=1, 'FACTURA TRIMISA', ''), mesaj_trimis WITH IIF(m.lnTrimis=1, 'TRIMIS MANUAL', '') IN crsFacturiEmise + ENDIF + Thisform.pgfeFactura.page1.grdFacturiEmise.Refresh() + Return m.llSucces + ENDPROC + + PROCEDURE citesteraspunsuri + Local llSucces, lnOptiune, lnZile, llFortareRaspunsuri, llTest + lnOptiune = xmenu('Ultima zi;Ultimele 2 zile;Ultimele 3 zile;Ultimele 7 zile;Ultimele 15 zile;Ultimele 30 zile;Ultimele 60 zile') + IF EMPTY(m.lnOptiune) + RETURN + ENDIF + lnZile = IIF(m.lnOptiune = 1, 1, IIF(m.lnOptiune = 2, 2, IIF(m.lnOptiune = 3, 3, IIF(m.lnOptiune = 4, 7, IIF(m.lnOptiune = 5, 15, IIF(m.lnOptiune = 6, 30, 60)))))) + + llFortareRaspunsuri = this.pgfeFactura.page1.chkFortareRaspunsuri.Value + llTest = This.lTest + + *!* llSucces = Thisform.oAnaf.RaspunsuriFacturi(m.lnZile, m.llFortareRaspunsuri) + llSucces = efactura_client(m.lnZile, m.llFortareRaspunsuri, m.llTest) + + Thisform.LockScreen = .T. + save_grid_tag(Thisform.pgfeFactura.page2.grdFacturiPrimite) + save_grid_tag(Thisform.pgfeFactura.page3.grdFacturiTrimise) + poFacturiPrimite.ca_baza1.afisare() + poFacturiTrimise.ca_baza1.afisare() + restore_grid_tag(Thisform.pgfeFactura.page2.grdFacturiPrimite) + restore_grid_tag(Thisform.pgfeFactura.page3.grdFacturiTrimise) + Thisform.LockScreen = .F. + + Thisform.pgfeFactura.page1.grdFacturiEmise.SetFocus() + + Return m.llSucces + + + ENDPROC + + PROCEDURE do_ataseaza + Local lcCursor, lcText, llSucces, lnActivePage, lnId, lnOptiune + lnActivePage = This.pgfeFactura.ActivePage + + If !Inlist(m.lnActivePage, 1, 2, 3) + AMESSAGEBOX('Alegeti pagina "Transmitere eFactura", "Facturi trimise" sau "Facturi primite"!',0+48,_screen.Caption) + Return + ENDIF + + Do Case + Case m.lnActivePage = 1 + lcText = 'Emise' + lcCursor = 'crsFacturiEmise' + lnId = crsFacturiEmise.id + Case m.lnActivePage = 2 + lcText = 'Trimise' + lcCursor = 'crsFacturiTrimise' + lnId = crsFacturiTrimise.id + Case m.lnActivePage = 3 + lcText = 'Primite' + lcCursor = 'crsFacturiPrimite' + lnId = crsFacturiPrimite.id + ENDCASE + IF EMPTY(NVL(m.lnId,0)) + RETURN + ENDIF + + lnOptiune = xmenu('Descarcare arhiva zip raspuns ANAF') + IF m.lnOptiune = 1 + llSucces = Thisform.oAnaf.DownloadDetaliiZip(m.lnId) + ENDIF + ENDPROC + + PROCEDURE do_cauta + LOCAL lcfiltru, lcFiltru2, lcFiltru3, lcval1, lcColoana, ldData1, ldData2 + Local lcData1, llErori, llNetrimise, llPJ, llTrimise, llDiferente, lnActivePage + + WAIT WINDOW 'Selectie inregistrari...' NOWAIT + + * Execut Cautarea doar pentru pagina activa + lnActivePage = this.pgfeFactura.ActivePage + + lcFiltru = '' && filtru facturi emise + lcFiltru2 = '' && filtru facturi primite + lcFiltru3 = '' && filtru facturi trimise + + * Filtre Transmitere eFactura + WITH this.pgfeFactura.page1 + llPJ = .chkPJ.Value + llNetrimise = .chkNetrimise.Value + llTrimise = .chkTrimise.Value + llErori = .chkErori.Value + llDiferente = .chkDiferente.Value + ENDWITH + + * DACA FILTRUL NU CONTINE DATA_ACT, SELECTEZ DOAR INREGISTRARILE DIN LUNA CURENTA PANA LA ZI + * ESTE POSIBIL SA GENEREZ UN BORDEROU IN LUNA APRILIE PENTRU FACTURI DIN LUNA MARTIE, DECI AFISEZ SI BORDEROURI CU DATA >= LUNA CURENTA + ldData1 = DATE(m.gnAn, m.gnLuna, 1) + ldData2 = DATE() + + IF !('DATA_ACT'$upper(THISFORM.filtru_pretty) OR 'DATA_TRIMIS'$upper(THISFORM.filtru_pretty) ) + lcData1 = '01' + PADL(INT(m.gnLuna),2,'0') + ALLTRIM(STR(m.gnAn)) + lcFiltru = m.lcFiltru + [ and ((extract(year from data_act) = ?gnAn and extract(month from data_act) = ?gnLuna) OR (trimis = 1 and tip_mesaj_raspuns is null and extract(year from data_act) >=2023))] + lcFiltru2 = m.lcFiltru2 + [ and ((extract(year from data_act) = ?gnAn and extract(month from data_act) = ?gnLuna) or (data_act is null and data_raspuns >= to_date('] + m.lcData1 + [','ddmmyyyy')))] + lcFiltru3 = m.lcFiltru3 + [ and ((extract(year from data_act) = ?gnAn and extract(month from data_act) = ?gnLuna) or (data_act is null and data_raspuns >= to_date('] + m.lcData1 + [','ddmmyyyy')))] + ENDIF + + + * Facturile trimise/primite de pe serverul TEST/productie ANAF + lcFiltru = lcFiltru + [ and test = ] + IIF(Thisform.oAnaf.lTest, [1], [0]) + lcFiltru2 = lcFiltru2 + [ and test = ] + IIF(Thisform.oAnaf.lTest, [1], [0]) + lcFiltru3 = lcFiltru2 + [ and test = ] + IIF(Thisform.oAnaf.lTest, [1], [0]) + + * Filtre buton cautare + IF LEN(THISFORM.filtru_pretty)>0 + lcFiltru = m.lcFiltru + " and (" + ALLTRIM(THISFORM.filtru_pretty) + ")" + lcFiltru2 = m.lcFiltru2 + " and (" + ALLTRIM(THISFORM.filtru_pretty) + ")" + lcFiltru3 = m.lcFiltru3 + " and (" + ALLTRIM(THISFORM.filtru_pretty) + ")" + ENDIF + + IF m.llPJ + lcFiltru = m.lcfiltru + " and (tip_persoana=1)" + ENDIF + + IF m.llDiferente + lcFiltru = m.lcFiltru + " and (ABS(ROUND(NVL(xtotal_cu_tva , 0.00) * decode(in_valuta,1,curs,1), 2)-NVL(jtotctva, 0.00)) not between 0 and 0.5)" + ENDIF + + DO CASE + CASE m.llNetrimise + IF m.llErori + lcFiltru = m.lcfiltru + " and (NVL(trimis,0) = 0 or tip_mesaj_raspuns = 'ERORI FACTURA')" + ELSE + lcFiltru = m.lcfiltru + " and (NVL(trimis,0) = 0)" + ENDIF + CASE m.llTrimise + lcFiltru = m.lcfiltru + " and (trimis = 1 and data_raspuns IS NULL)" + CASE m.llErori + lcFiltru = m.lcfiltru + " and (trimis = 1 and tip_mesaj_raspuns = 'ERORI FACTURA')" + ENDCASE + + If Empty(m.lcFiltru) + aMessagebox("Alegeti un criteriu!",0+48,"Atentie") + Return + Endif + + IF !EMPTY(m.lcFiltru) AND LEFT(LOWER(ALLTRIM(m.lcFiltru)),3) = "and" + lcFiltru = SUBSTR(ALLTRIM(m.lcFiltru),4) + ENDIF + + IF !EMPTY(m.lcFiltru2) AND LEFT(LOWER(ALLTRIM(m.lcFiltru2)),3) = "and" + lcFiltru2 = SUBSTR(ALLTRIM(m.lcFiltru2),4) + ENDIF + + IF !EMPTY(m.lcFiltru3) AND LEFT(LOWER(ALLTRIM(m.lcFiltru3)),3) = "and" + lcFiltru3 = SUBSTR(ALLTRIM(m.lcFiltru3),4) + ENDIF + + * Facturi emise + IF !EMPTY(m.lcFiltru) AND m.lnActivePage = 1 + THISFORM.actualizeaza_grid1(m.lcFiltru) + IF this.pgfeFactura.ActivePage = 1 + Thisform.RefreshDetaliiFacturi('EMISE') + SELECT crsFacturiEmise + ENDIF + ENDIF + + * Facturi trimise + IF !EMPTY(m.lcFiltru3) AND m.lnActivePage = 2 + THISFORM.actualizeaza_grid4(m.lcFiltru3) + IF this.pgfeFactura.ActivePage = 2 + Thisform.RefreshDetaliiFacturi('TRIMISE') + SELECT crsFacturiTrimise + ENDIF + ENDIF + + * Facturi primite + IF !EMPTY(m.lcFiltru2) AND m.lnActivePage = 3 + THISFORM.actualizeaza_grid2(m.lcFiltru2) + IF this.pgfeFactura.ActivePage = 3 + Thisform.RefreshDetaliiFacturi('PRIMITE') + SELECT crsFacturiPrimite + ENDIF + ENDIF + + + This.pgfeFactura.page1._grdfooter1.calctotal() + This.pgfeFactura.page2._grdfooter1.calctotal() + This.pgfeFactura.page3._grdfooter1.calctotal() + + WAIT CLEAR + + Return m.lcFiltru + + ENDPROC + + PROCEDURE do_excel + Local lcCaption, lcCursor, lcSelect, lcSirIdEfact, lcSql, llSucces, lnIdEfactura, lnOptiune + Local lnPaginaActiva, lnRecno + lcSelect = Select() + lnRecno = Recno() + + lnPaginaActiva = This.pgfeFactura.ActivePage + Do Case + Case m.lnPaginaActiva = 1 + * Facturi emise + lnOptiune = xmenu('\>) + order by data_act, numar_act, id_efactura, nr + ENDTEXT + + Case m.lnPaginaActiva = 2 + * Facturi trimise + + TEXT TO lcSqlDetalii TEXTMERGE NOSHOW + select data_act, numar_act, data_scad, xclient, cod_fiscal_emitent, total_fara_tva, total_tva, total_cu_tva, discount_fara_tva, taxe_fara_tva, valoare_fara_tva, total_de_plata, nume_valuta, xdescriere, detalii_plata, id, id_efactura, nr, articol, detalii, cantitate, um, pret, proctva, descriere + from anaf_vefactura_trimis_detaliu + WHERE id_efactura in (<>) + order by data_act, numar_act, id_efactura, nr + ENDTEXT + + Case m.lnPaginaActiva = 3 + * Facturi primite + TEXT TO lcSqlDetalii TEXTMERGE NOSHOW + select data_act, numar_act, data_scad, xfurnizor, cod_fiscal_emitent, total_fara_tva, total_tva, total_cu_tva, discount_fara_tva, taxe_fara_tva, valoare_fara_tva, total_de_plata, nume_valuta, xdescriere, detalii_plata, id, id_efactura, nr, articol, detalii, cantitate, um, pret, proctva, descriere + from anaf_vefactura_primit_detaliu + WHERE id_efactura in (<>) + order by data_act, numar_act, id_efactura, nr + ENDTEXT + + Endcase + + llSucces = goExecutor.oExecuta(m.lcSqlDetalii, 'cFacturiDetaliiRap') + If m.llSucces + goExport.export2xlsx('cFacturiDetaliiRap', "lista_facturi_" + m.lcCaption + "_" + Dtos(Date())) + Endif + Use In (Select('cFacturiDetaliiRap')) + Endcase + + Select (m.lcSelect) + + + ENDPROC + + PROCEDURE do_listare + Private pcTitlu, pcSubtitlu + Local lcSelect, lctext, lnOptiune, lnRecno + Local lcSql, llSucces, lnIdEfactura + Local lcSirIdEfact, lcSelect + Local lcFisierPDF + Local lcCursor, lnPaginaActiva + Local lcDetalii, lcRaport, llVariable + + lcSelect = Select() + pcTitlu = '' + pcSubtitlu = '' + If This.filtru_traducere() # "" + lctext = " si " + This.filtru_traducere() + Else + lctext = "" + Endif + pcSubtitlu = This.filtru_pretty_ro + lctext + + lcSelect = Select() + lnRecno = Recno() + + lnPaginaActiva = this.pgfeFactura.ActivePage + DO CASE + CASE m.lnPaginaActiva = 1 + * FACTURI EMISE + lnOptiune = xmenu('\Centralizator facturi;\Lista facturi - detaliat;\Factura curenta;\-;PDF ANAF facturi alese;PDF ANAF factura curenta') + lcCursor = 'crsFacturiEmise' + CASE m.lnPaginaActiva = 2 + * Facturi TRIMISE + lnOptiune = xmenu('Centralizator facturi;Lista facturi trimise - detaliat;Factura trimisa curenta;\-;PDF ANAF facturi alese;PDF ANAF factura curenta;\-;Editare in browser') + lcCursor = 'crsFacturiTrimise' + CASE m.lnPaginaActiva = 3 + * Facturi PRIMITE + lnOptiune = xmenu('Centralizator facturi;Lista facturi primite - detaliat;Factura primita curenta;\-;PDF ANAF facturi alese;PDF ANAF factura curenta;\-;Editare in browser') + lcCursor = 'crsFacturiPrimite' + ENDCASE + + If Empty(m.lnOptiune) + Return + Endif + + Do Case + Case m.lnOptiune = 1 + * Centralizator + lcRaport = 'efact_facturi' + IF m.lnPaginaActiva = 2 + pcTitlu = 'eFactura Trimise' + ELSE + pcTitlu = 'eFactura Primite' + ENDIF + + llPrimite = (m.lnPaginaActiva = 3) + + SELECT 1 as tip, data_act, numar_act, IIF(m.llPrimite, cod_fiscal_emitent, cod_fiscal_beneficiar) as cod_fiscal, ; + IIF(m.llPrimite, xfurnizor, xclient) as partener, ; + total_fara_tva, total_tva, total_tva_ron, total_cu_tva, nume_valuta, id_incarcare, id_descarcare, creditnote ; + from (m.lcCursor) ; + ORDER BY data_act, numar_act ; + into cursor cCentralizator READWRITE + + * Calculez subtotaluri pe valute + SELECT 2 as tip, nume_valuta, SUM(NVL(total_fara_tva, 0.00)) as total_fara_tva, SUM(NVL(total_tva, 0.00)) as total_tva, SUM(NVL(total_tva_ron, 0.00)) as total_tva_ron, SUM(NVL(total_cu_tva, 0.00)) as total_cu_tva ; + FROM cCentralizator ; + GROUP BY nume_valuta ; + ORDER BY nume_valuta ; + INTO CURSOR cCentralizator1 + + SELECT cCentralizator + APPEND FROM DBF('cCentralizator1') + + * Calculez total general total_tva_ron, daca sunt mai multe valute + IF RECCOUNT('cCentralizator1') > 1 + SELECT 3 as tip, SUM(NVL(total_tva_ron,0.00)) as total_tva_ron ; + FROM cCentralizator1 ; + INTO CURSOR cCentralizator2 + + SELECT cCentralizator + APPEND FROM DBF('cCentralizator2') + USE IN (SELECT('cCentralizator2')) + ENDIF + USE IN (SELECT('cCentralizator1')) + + Thisform.AlwaysOnTop = .F. + goExport.export2frx("cCentralizator", m.lcRaport, , , , , , .T.) + Thisform.AlwaysOnTop = .T. + USE IN (SELECT('cCentralizator')) + + Case Inlist(m.lnOptiune, 2, 3) + * Listare facturi primite detaliat + IF m.lnPaginaActiva = 2 + pcTitlu = 'eFactura Trimise' + lcRaport = 'efact_facturi_trimise_detalii' + lnIdEfactura = crsFacturiTrimise.Id + ELSE + pcTitlu = 'eFactura Primite' + lcRaport = 'efact_facturi_primite_detalii' + lnIdEfactura = crsFacturiPrimite.Id + ENDIF + + If Empty(m.lnIdEfactura) + Exit + Endif + If m.lnOptiune = 2 + lcSirIdEfact = cursor2lista(m.lcCursor, "id", ",") + Else + lcSirIdEfact = Alltrim(Str(m.lnIdEfactura)) + Endif + + IF m.lnPaginaActiva = 2 + TEXT TO lcSql TEXTMERGE NOSHOW + select data_act, numar_act, data_scad, xfurnizor, cod_fiscal_emitent, xclient, cod_fiscal_beneficiar, total_fara_tva, total_tva, total_cu_tva, discount_fara_tva, taxe_fara_tva, valoare_fara_tva, total_de_plata, nume_valuta, xdescriere, detalii_plata, id_incarcare, id_descarcare, id, id_efactura, nr, articol, detalii, cantitate, um, pret, proctva, descriere, creditnote + from anaf_vefactura_trimis_detaliu + WHERE id_efactura in (<>) + order by data_act, numar_act, id_efactura, nr + ENDTEXT + ELSE + TEXT TO lcSql TEXTMERGE NOSHOW + select data_act, numar_act, data_scad, xfurnizor, cod_fiscal_emitent, xclient, cod_fiscal_beneficiar, total_fara_tva, total_tva, total_cu_tva, discount_fara_tva, taxe_fara_tva, valoare_fara_tva, total_de_plata, nume_valuta, xdescriere, detalii_plata, id_incarcare, id_descarcare, id, id_efactura, nr, articol, detalii, cantitate, um, pret, proctva, descriere, creditnote + from anaf_vefactura_primit_detaliu + WHERE id_efactura in (<>) + order by data_act, numar_act, id_efactura, nr + ENDTEXT + ENDIF + + llSucces = goExecutor.oExecuta(m.lcSql, 'cFacturiDetaliuRap') + If m.llSucces + * nu afisez descriere sau detalii daca sunt la fel cu articol + UPDATE cFacturiDetaliuRap SET descriere = '' WHERE articol = descriere + UPDATE cFacturiDetaliuRap SET detalii = '' WHERE articol = detalii + + Thisform.AlwaysOnTop = .F. + goExport.export2frx([cFacturiDetaliuRap], m.lcRaport, , , , , , .T.) + Thisform.AlwaysOnTop = .T. + Endif + + Use In (Select('cFacturiDetaliuRap')) + + Case m.lnOptiune = 5 + SELECT(m.lcCursor) + lnRecno = Recno() + llVariable = .T. + Scan For ales = 1 + lcDetalii = ALLTRIM(detalii) + + If !Empty(m.lcDetalii) + DO CASE + CASE m.lnPaginaActiva = 1 + lcFisierPDF = GetPdfPath('EFACTURA', 'EMISE') + 'efactura_' + WindowsSpecialCharacters(DTOS(data_act) + '_' + ALLTRIM(STR(numar_act)) + '_'+ STRTRAN(ALLTRIM(client), ' ', '_',1,100,1)) + '.pdf' + CASE m.lnPaginaActiva = 2 + lcFisierPDF = GetPdfPath('EFACTURA', 'TRIMISE') + 'efactura_' + WindowsSpecialCharacters(DTOS(data_act) + '_' + ALLTRIM(numar_act) + '_'+ STRTRAN(ALLTRIM(xclient), ' ', '_',1,100,1)) + '.pdf' + OTHERWISE + lcFisierPDF = GetPdfPath('EFACTURA', 'PRIMITE') + 'efactura_' + WindowsSpecialCharacters(DTOS(data_act) + '_' + ALLTRIM(numar_act) + '_'+ STRTRAN(ALLTRIM(xfurnizor), ' ', '_',1,100,1)) + '.pdf' + ENDCASE + + lcFisierPDF = Thisform.oAnaf.AnafeFacturaServer.Xml2PdfAnaf(m.lcDetalii, m.lcFisierPdf, m.llVariable) + If !EMPTY(m.lcFisierPDF) AND File(m.lcFisierPDF) + open_default_app(m.lcFisierPDF) + Endif + Endif + Endscan + Try + Goto m.lnRecno + Endtry + Case m.lnOptiune = 6 + + SELECT(m.lcCursor) + lcDetalii = ALLTRIM(detalii) + llVariable = .T. + + If !Empty(m.lcDetalii) + DO CASE + CASE m.lnPaginaActiva = 1 + lcFisierPDF = GetPdfPath('EFACTURA', 'EMISE') + 'efactura_' + WindowsSpecialCharacters(DTOS(data_act) + '_' + ALLTRIM(STR(numar_act)) + '_'+ STRTRAN(ALLTRIM(client), ' ', '_',1,100,1)) + '.pdf' + CASE m.lnPaginaActiva = 2 + lcFisierPDF = GetPdfPath('EFACTURA', 'TRIMISE') + 'efactura_' + WindowsSpecialCharacters(DTOS(data_act) + '_' + ALLTRIM(numar_act) + '_'+ STRTRAN(ALLTRIM(xclient), ' ', '_',1,100,1)) + '.pdf' + OTHERWISE + lcFisierPDF = GetPdfPath('EFACTURA', 'PRIMITE') + 'efactura_' + WindowsSpecialCharacters(DTOS(data_act) + '_' + ALLTRIM(numar_act) + '_'+ STRTRAN(ALLTRIM(xfurnizor), ' ', '_',1,100,1)) + '.pdf' + ENDCASE + goLog.Log(m.lcFisierPDF) + lcFisierPDF = Thisform.oAnaf.AnafeFacturaServer.Xml2PdfAnaf(m.lcDetalii, m.lcFisierPdf, m.llVariable) + If !EMPTY(m.lcFisierPDF) AND File(m.lcFisierPDF) + open_default_app(m.lcFisierPDF) + Endif + ENDIF + + CASE m.lnOptiune = 8 + * deschide preview browser cu xml + SELECT(m.lcCursor) + lcDetalii = ALLTRIM(detalii) && xml + llVariable = .T. + + Local loSender + loSender = NEWOBJECT("eFacturaXmlPreview", "xmlefactura-preview.prg") + loSender.webURL = "https://romfast.ro/efactura-generator/" + loSender.SendXML(m.lcDetalii, m.llVariable) + Endcase + + Select (m.lcSelect) + + + ENDPROC + + PROCEDURE do_sterge + Local lcSql, llSucces, lnId + llSucces = .F. + *!* If This.pgfeFactura.ActivePage <> 2 + *!* Return .F. + *!* Endif + *!* If Nvl(crsFacturiTrimise.test,0) = 0 + *!* AMESSAGEBOX('Puteti sterge doar facturi trimise de Test', 0+48,_Screen.Caption) + *!* Return .F. + *!* ENDIF + + lcParola = INPUTBOX('Parola','Parola','') + IF m.lcParola # TRANSFORM(YEAR(DATE())) + PADL(TRANSFORM(MONTH(DATE())),2,'0') + PADL(TRANSFORM(DAY(DATE())),2,'0') + RETURN + ENDIF + + lnPaginaActiva = This.pgfeFactura.ActivePage + + Do Case + Case m.lnPaginaActiva = 1 + lnId = Nvl(crsFacturiEmise.Id, 0) + Case m.lnPaginaActiva = 2 + lnId = Nvl(crsFacturiTrimise.Id, 0) + Case m.lnPaginaActiva = 3 + lnId = Nvl(crsFacturiPrimite.Id, 0) + OTHERWISE + RETURN + Endcase + + + TEXT TO lcSql TEXTMERGE NOSHOW + begin + delete from anaf_efactura_detalii where id_efactura = <>; + delete from anaf_efactura where id = <>; + end; + ENDTEXT + + If AMessagebox('Doriti sa stergeti mesajul de transmitere al facturii?' + Chr(13) + Chr(10) + ; + 'Atentie, operatia este ireversibila!',4+32,_Screen.Caption)= 6 + llSucces = goExecutor.oExecuta(m.lcSql) + Endif + + This.do_cauta() + + Return m.llSucces + + ENDPROC + + PROCEDURE do_verifica + Local lcText, lnActivePage + lnActivePage = This.pgfeFactura.ActivePage + If !Inlist(m.lnActivePage, 2, 3) + AMESSAGEBOX('Alegeti pagina "Facturi trimise" sau "Facturi primite"!',0+48,_screen.Caption) + Return + Endif + Do Case + Case m.lnActivePage = 2 + lcText = 'Trimise' + lcJTVA = 'vjv2025' + lcCursor = 'crsFacturiTrimise' + lcCodFiscalPart = 'cod_fiscal_beneficiar' + lcPart = 'xclient' + + TEXT TO lcBaza NOSHOW + RO24B+RO20B+RO21B+RO11B+RO19B+RO9B+RO5B+ROTI+CESCDD1+CESCDD2+WRSCDD+FODD+FOFDD+WRSCFDD+WRN+CEOPTR+CESVDD+CESVFDD+CESVFS+RO24NB+RO20NB+RO21NB+RO11NB+RO19NB+RO9NB+RO5NB + ENDTEXT + + TEXT TO lcTVA NOSHOW + RO24T+RO20T+RO21T+RO11T+RO19T+RO9T+RO5T+RO24NT+RO20NT++RO21NT+RO11NT+RO19NT+RO9NT+RO5NT + ENDTEXT + + Case m.lnActivePage = 3 + lcText = 'Primite' + lcJTVA = 'vjc2025' + lcCursor = 'crsFacturiPrimite' + lcCodFiscalPart = 'cod_fiscal_emitent' + lcPart = 'xfurnizor' + + TEXT TO lcBaza NOSHOW + RO24B + RO20B + RO21B + RO11B + RO19B + RO09B + RO05B + ROSCN + RO24NB + RO20NB + RO21NB + RO11NB + RO19NB + RO9NB + RO5NB + FO24B + FO20B + FO21B + FO11B + FO19B + FO09B + FOSCN + CEB + CESC + CEN + TI24B + TI20B + TI21B + TI11B + TI19B + TI09B + XX19TIB + XX21TIB + XX11TIB + ENDTEXT + + TEXT TO lcTVA NOSHOW + RO24T + RO20T + RO21T + RO11T + RO19T + RO09T + RO05T + RO24NT + RO20NT + RO21NT + RO11NT + RO19NT + RO9NT + RO5NT + FO24T + FO20T + FO21T + FO11T + FO19T + FO09T + CET + TI24T + TI20T + TI21T + TI11T + TI19T + TI09T + XX19TIT + XX21TIT + XX11TIT + ENDTEXT + + ENDCASE + + + * Selectez din Jurnalul TVA doar Facturi, Invoice-uri, Facturi simplificate (M), fara Bonuri fiscale cu CUI (C) + TEXT TO lcSql TEXTMERGE NOSHOW + select j.dataact, REGEXP_REPLACE(j.cod_fiscal, '[^[:digit:]]', '') as cod_fiscal, j.denumire, + sum(j.totctva) as totctva, + SUM(<>) as totftva, + SUM(<>) as tottva + from <> j + left join nom_fdoc f on j.id_fdoc = f.id_fdoc + where j.an = <> + and j.luna = <> + and extract(year from j.dataact) = <> + and extract(month from j.dataact) = <> + and f.tip_doc in ('F', 'INV', 'M') + group by j.dataact, j.cod_fiscal, j.denumire + ENDTEXT + llSucces = goExecutor.oExecuta(m.lcSql, 'cJTVATemp') + + *!* SELECT dataact, SUM(totctva) as totctva FROM cJTVATemp GROUP BY dataact INTO CURSOR cJtvaData + + *!* SELECT data_act, SUM(total_cu_tva) as total_cu_tva FROM (m.lcCursor) GROUP BY data_act INTO CURSOR cCrsData + + * Iau doar mesajele TIP FACTURA, nu MESAJ CUMPARATOR + SELECT NVL(data_act, {}) AS data_act, &lcCodFiscalPart as cod_fiscal, &lcPart as denumire, ; + SUM(IIF(creditnote = 1,-1,1)*total_fara_tva) as total_fara_tva, ; + SUM(IIF(creditnote = 1,-1,1)*total_tva) as total_tva, ; + SUM(IIF(creditnote = 1,-1,1)*total_cu_tva) as total_cu_tva ; + FROM (m.lcCursor) ; + WHERE LEFT(UPPER(TIP_MESAJ_RASPUNS), 7) = 'FACTURA' ; + GROUP BY 1,2,3 ; + INTO CURSOR cCrsDataPart + + *!* * Diferente pe zile + *!* SELECT CAST(NVL(a.dataact, b.data_act) as D) as dataact, CAST(a.totctva as N(16,2)) as jurnal_total_cu_tva, CAST(b.total_cu_tva as N(16,2)) as efactura_total_cu_tva, ; + *!* CAST(NVL(a.totctva, 0) - NVL(b.total_cu_tva,0) as N(16,2)) as diferenta ; + *!* FROM cJtvaData a FULL JOIN cCrsData b ON a.dataact = b.data_act ; + *!* ORDER BY 1 ; + *!* INTO CURSOR Diferente_Data + + * Diferente pe zile, cod fiscal + SELECT CAST(NVL(a.dataact, b.data_act) as D) as dataact, NVL(a.cod_fiscal, b.cod_fiscal) as cod_fiscal, NVL(a.denumire, b.denumire) as denumire,; + CAST(a.totctva as N(16,2)) as jurnal_total_cu_tva, CAST(b.total_cu_tva as N(16,2)) as efactura_total_cu_tva, ; + CAST(NVL(a.totctva, 0) - NVL(b.total_cu_tva,0) as N(16,2)) as diferenta_total_cu_tva, ; + CAST(a.totftva as N(16,2)) as jurnal_total_fara_tva, CAST(b.total_fara_tva as N(16,2)) as efactura_total_fara_tva, ; + CAST(NVL(a.totftva, 0) - NVL(b.total_fara_tva,0) as N(16,2)) as diferenta_total_fara_tva, ; + CAST(a.tottva as N(16,2)) as jurnal_total_tva, CAST(b.total_tva as N(16,2)) as efactura_total_tva, ; + CAST(NVL(a.tottva, 0) - NVL(b.total_tva,0) as N(16,2)) as diferenta_total_tva ; + FROM cJTVATemp a FULL JOIN cCrsDataPart b ON a.dataact = b.data_act AND a.cod_fiscal = b.cod_fiscal ; + ORDER BY 1, 3; + INTO CURSOR Diferente_Data_Partener + + *!* USE IN (SELECT('cJtvaData')) + *!* USE IN (SELECT('cCrsData')) + USE IN (SELECT('cCrsDataPart')) + + CREATE CURSOR cDiferente (dataact D, cod_fiscal C(100) null, denumire C(200) null, ; + jurnal_total_cu_tva N(20,2) null, efactura_total_cu_tva N(20,2) null, diferenta_total_cu_tva N(20,2) null, ; + jurnal_total_fara_tva N(20,2) null, efactura_total_fara_tva N(20,2) null, diferenta_total_fara_tva N(20,2) null, ; + jurnal_total_tva N(20,2) null, efactura_total_tva N(20,2) null, diferenta_total_tva N(20,2) null) + + SELECT cDiferente + *!* APPEND FROM DBF('Diferente_Data') + *!* APPEND BLANK + *!* APPEND BLANK + APPEND FROM DBF('Diferente_Data_Partener') + + *!* USE IN (SELECT('Diferente_Data')) + USE IN (SELECT('Diferente_Data_Partener')) + + * goExport.exportMultiTable2Xlsx("Diferente_Data,Diferente_Data_Partener", "verificare_efactura_" + LOWER(m.lcText) + '_' + ALLTRIM(STR(m.gnAn)) + PADL(INT(m.gnLuna),2, '0')) + goExport.export2xlsx("cDiferente", "verificare_efactura_" + m.gcS + '_'+ LOWER(m.lcText) + '_' + ALLTRIM(STR(m.gnAn)) + PADL(INT(m.gnLuna),2, '0')) + + USE IN (SELECT('cDiferente')) + ENDPROC + + PROCEDURE gettoken + Local lcToken + lcToken = this.oAnaf.getToken(.T.) + Thisform.RefreshLblToken() + + ENDPROC + + PROCEDURE inainte_de_do_termin + Local lnAtasamenteEfactura + + lnAtasamenteEfactura = thisform.pgfeFactura.page1.cboAtasamente.Value + goApp.WriteIni("efactura", "atasamente", ALLTRIM(STR(m.lnAtasamenteEfactura))) + + RETURN .T. + ENDPROC + + PROCEDURE Init + LPARAMETERS toAnaf + Local lcPdfPath, lcSection + Local lcAtasamente, lnAtasamente + + + This.oAnaf = toAnaf + This.RefreshLblToken() + *!* this.chkTest.ControlSource = "Thisform.oAnaf.lTest" + this.pgfeFactura.page4.txtResponsesPathLocal.ControlSource = 'Thisform.oANAF.cResponsesPath' + + This.pgfeFactura.page1.cmd_select_adv1.Setup() + + * Director atasamente. vizibil doar daca este configurata pdfpath + lcSection = 'pdf_factura_' + m.gcS && [pdf_factura_acn] + lcPdfPath = goApp.ReadIni(m.lcSection, "pdfpath") + lcPdfPath = NVL(m.lcPdfPath, '') + + lcAtasamente = goApp.ReadIni("efactura", "atasamente") && 0 fara atasamente, 1 factura, 2 toate, 3 fara factura + lnAtasamente = INT(VAL(NVL(m.lcAtasamente, 0))) + IF !BETWEEN(m.lnAtasamente, 0,3) OR EMPTY(m.lcPdfPath) OR !DIRECTORY(m.lcPdfPath) + lnAtasamente = 0 + ENDIF + + IF !EMPTY(m.lcPdfPath) + this.pgfeFactura.page1.lblAtasamente.Caption = 'Director atasamente: ' + JUSTPATH(m.lcPdfPath) + this.pgfeFactura.page1.cboAtasamente.Enabled = .T. + this.pgfeFactura.page1.cboAtasamente.Value = m.lnAtasamente + ELSE + this.pgfeFactura.page1.lblAtasamente.Caption = 'Director atasamente: Nu este configurat' + this.pgfeFactura.page1.cboAtasamente.Enabled = .F. + this.pgfeFactura.page1.cboAtasamente.Value = m.lnAtasamente + ENDIF + + * Mesajul era trunchiat la 41 de caractere + This.cMesajFurnizor = SPACE(200) + + + DODEFAULT() + ENDPROC + + PROCEDURE ltest_assign + lparameters tlTest + This.lTest = tlTest + + Thisform.oAnaf.lTest = m.tlTest + Thisform.oAnaf.AnafeFacturaServer.lTest = m.tlTest + ENDPROC + + PROCEDURE refreshdetaliifacturi + Lparameters tcTip + * tcTip: EMISE/TRIMISE/PRIMITE + + Local lcFiltru, lcTip, loGrid, lcCursor, lcDetalii, lnActivePage, lnId + lnId = 0 + lcCursor = '' + lcDetalii = '' + lcTip = Upper(Alltrim(Transform(m.tcTip))) + lcFiltru = [1=2] + lnActivePage = This.pgfeFactura.ActivePage + + + Do Case + Case m.lcTip = 'PRIMITE' + lcCursor = 'crsFacturiPrimite' + lcDetalii = crsFacturiPrimite.detalii + If !Empty(Nvl(crsFacturiPrimite.Id,0)) + lnId = crsFacturiPrimite.Id + Endif + Case m.lcTip = 'EMISE' + lcCursor = 'crsFacturiEmise' + lcDetalii = crsFacturiEmise.detalii + If !Empty(Nvl(crsFacturiEmise.Id,0)) + lnId = crsFacturiEmise.Id + Endif + Case m.lcTip = 'TRIMISE' + lcCursor = 'crsFacturiTrimise' + lcDetalii = crsFacturiTrimise.detalii + If !Empty(Nvl(crsFacturiTrimise.Id,0)) + lnId = crsFacturiTrimise.Id + Endif + Endcase + + IF !EMPTY(m.lnId) + lcFiltru = [id_efactura = ] + Alltrim(Str(m.lnId)) + ENDIF + + Thisform.actualizeaza_grid3(m.lcFiltru) + + **************************************************************************** + * Actualizez si anaf_efactura.detalii + * Aduc si xml efactura din anaf_efactura.detalii doar pentru factura curenta, pentru ca dureaza prea mult sa aduc pentru toate facturile + IF !EMPTY(m.lnId) AND EMPTY(NVL(m.lcDetalii, '')) + lcSql = [select detalii from anaf_efactura where id = ] + ALLTRIM(STR(m.lnId)) + llSucces = goExecutor.oSelecteaza2Value(m.lcSql, @lcDetalii) + IF m.llSucces + REPLACE detalii WITH m.lcDetalii IN &lcCursor + DO CASE + Case m.lnActivePage = 1 + This.pgfeFactura.page1.edtDetalii.Refresh() + Case m.lnActivePage = 2 + This.pgfeFactura.page3.edtDetalii.Refresh() + Case m.lnActivePage = 3 + This.pgfeFactura.page2.edtDetalii.Refresh() + ENDCASE + ENDIF + ENDIF + **************************************************************************** + + ENDPROC + + PROCEDURE refreshlbltoken + thisform.pgfeFactura.page4.lbltoken.caption = 'Token - expira: ' + TRANSFORM(this.oAnaf.token_expdate) + + * Daca mai este o saptamana pana la expirare sau este expirat + IF BETWEEN(DATE() - this.oAnaf.token_expdate, 0, 7) OR DATE() >= this.oAnaf.token_expdate + thisform.pgfeFactura.page4.lbltoken.FontBold = .T. + thisform.pgfeFactura.page4.lbltoken.ForeColor = RGB(255,0,0) + ENDIF + + thisform.pgfeFactura.page4.lbltoken.Refresh() + + ENDPROC + + PROCEDURE Show + LPARAMETERS nStyle + DODEFAULT(nStyle) + + * Colorez randurile facturi emise netrimise + WITH this.pgfeFactura.page1.grdFacturiEmise + * backcolor: rosu = ERORI FACTURA, galben = facturi netrimise, roz = facturi trimise fara raspuns, gri = diferenta fata de Jurnalul TVA, alb = facturi trimise + .SetAll("DynamicBackColor","IIF(ALLTRIM(NVL(tip_mesaj_raspuns,'')) = 'ERORI FACTURA', RGB(255,140,140), IIF(NVL(trimis,0) = 0, RGB(255,255,240), IIF(EMPTY(NVL(data_raspuns, {})), RGB(255,165,255), IIF(diferenta <> 0, RGB(235,235,235), RGB(255,255,255)))))", "Column") + + * Colorez forecolor pentru Persoane Fizice, si pentru creditnote + .SetAll("DynamicForeColor","IIF(tip_persoana = 2, RGB(0,128,192), IIF(creditnote = 1, RGB(255,0,0), RGB(0,0,0)))", "Column") + ENDWITH + + WITH this.pgfeFactura.page3.grdFacturiTrimise + .SetAll("DynamicBackColor","IIF(diferenta <> 0, RGB(225,225,225), RGB(255,255,255))", "Column") + .SetAll("DynamicForeColor","IIF(creditnote = 1, RGB(225,0,0), RGB(0,0,0))", "Column") + ENDWITH + + WITH this.pgfeFactura.page2.grdFacturiPrimite + .SetAll("DynamicBackColor","IIF(diferenta <> 0, RGB(225,225,225), RGB(255,255,255))", "Column") + .SetAll("DynamicForeColor","IIF(creditnote = 1, RGB(225,0,0), RGB(0,0,0))", "Column") + ENDWITH + + this.WindowState = 2 + + this.pgfeFactura.page1.gridextra1.setup() + this.pgfeFactura.page1.gridextra2.setup() + this.pgfeFactura.page2.gridextra1.setup() + this.pgfeFactura.page2.gridextra2.setup() + this.pgfeFactura.page3.gridextra1.setup() + this.pgfeFactura.page3.gridextra2.setup() + + this.pgfeFactura.page1._grdfooter1.attachtogrid(this.pgfeFactura.page1.grdFacturiEmise) + this.pgfeFactura.page1._grdfooter1.calctotal() + this.pgfeFactura.page2._grdfooter1.attachtogrid(this.pgfeFactura.page2.grdFacturiPrimite) + this.pgfeFactura.page2._grdfooter1.calctotal() + this.pgfeFactura.page3._grdfooter1.attachtogrid(this.pgfeFactura.page3.grdFacturiTrimise) + this.pgfeFactura.page3._grdfooter1.calctotal() + + this.pgfeFactura.page1.grdFacturiEmise.HeaderHeight = 35 + this.pgfeFactura.page2.grdFacturiPrimite.HeaderHeight = 35 + this.pgfeFactura.page3.grdFacturiTrimise.HeaderHeight = 35 + + + ENDPROC + + PROCEDURE trimitefacturi + Local llSucces, lnRecno, llValidareOnline + Local llNuTrimiteEFacturaANAF + llSucces = .F. + llNuTrimiteEFacturaANAF = .F. + + * Suprascriu tipul validarii prin plValidareEFacturaOnline pentru validare in xmlefactura.prg ValidareEFactura + Private plValidareEFacturaOnline, plFaraValidareEFactura, pnAtasamenteEfactura + plValidareEFacturaOnline = (This.pgfeFactura.page1.chkValidareOnline.Value=1) + plFaraValidareEFactura = .F. + + pnAtasamenteEfactura = this.pgfeFactura.page1.cboAtasamente.Value + + * Verific daca s-au selectat facturi trimise deja + lnRecno = Recno('crsFacturiEmise') + Select crsFacturiEmise + Locate For ales = 1 + IF !FOUND() + AMessagebox('Selectati facturi! Nu se continua!',0+48,_Screen.Caption) + Goto m.lnRecno In crsFacturiEmise + Return + ENDIF + + * Verific daca s-au selectat facturi trimise, dar la care nu am primit raspuns, data_raspuns = null + * Se poate continua daca utilizatorul doreste + Locate For ales = 1 And !EMPTY(NVL(id_incarcare,'')) AND EMPTY(NVL(data_Raspuns, {})) + IF FOUND() + IF AMessagebox('Atentie! Ati selectat facturi cu ID Incarcare (deja trimise) la care nu ati primit inca raspuns! Doriti sa le trimiteti din nou?' + CHR(13) + CHR(10) + CHR(13) + CHR(10) +; + 'Puteti trimite din nou doar facturile pentru care aveti raspuns "ERORI FACTURI"' + CHR(13) + CHR(10) + ; + 'Nu trimiteti facturi la care nu ati primit inca raspuns!',4+32,_Screen.Caption) <> 6 + Goto m.lnRecno In crsFacturiEmise + IF !This.lTest + RETURN + ENDIF + ENDIF + ENDIF + + * Verific daca s-au selectat facturi trimise, la care nu am primit raspuns, posibil ERORI FACTURA + * Se poate continua daca utilizatorul doreste + Locate For ales = 1 And !EMPTY(NVL(id_incarcare,'')) + IF FOUND() + IF AMessagebox('Atentie! Ati selectat facturi cu ID Incarcare (deja trimise)! Doriti sa le trimiteti din nou?' + CHR(13) + CHR(10) + CHR(13) + CHR(10) +; + 'Puteti trimite din nou doar facturile pentru care aveti TIP MESAJ RASPUNS = "ERORI FACTURI"' + CHR(13) + CHR(10) + ; + 'Nu trimiteti facturi la care nu ati primit inca raspuns!',4+32,_Screen.Caption) <> 6 + Goto m.lnRecno In crsFacturiEmise + IF !This.lTest + RETURN + ENDIF + + ENDIF + ENDIF + + * Verific daca s-au selectat facturi validate, tip_mesaj = FACTURA TRIMISA + * Nu se poate continua + Locate For ales = 1 And tip_mesaj_raspuns = 'FACTURA TRIMISA' + If Found() + AMessagebox('Atentie! Debifati facturile deja trimise cu succes (TIP MESAJ RASPUNS = "FACTURA TRIMISA")! Nu se continua!',0+48,_Screen.Caption) + Goto m.lnRecno In crsFacturiEmise + IF !This.lTest + RETURN + ENDIF + Endif + Try + Goto m.lnRecno In crsFacturiEmise + Catch + Go Top In crsFacturiEmise + Endtry + + lnOptiune = xmenu('\ 1 + ldDataSelectat = Date() - (m.lnOptiune - 2) + Update crsFacturiEmise Set ales = 0 Where data_act <> m.ldDataSelectat + Endif + + * Debifez facturile cu id incarcare, exceptie cele cu ERORI FACTURA && transmise cu succes + Update crsFacturiEmise Set ales = 0 Where !Empty(Nvl(id_incarcare,'')) And Alltrim(Nvl(tip_mesaj_raspuns,'')) <> 'ERORI FACTURA' && tip_mesaj_raspuns = 'FACTURA TRIMISA' + + Try + SELECT crsFacturiEmise + LOCATE FOR ales = 1 + IF !FOUND() + Goto lnRecno + ENDIF + this.Parent.grdFacturiEmise.SetFocus() + Catch + Endtry + + Endif + + ENDPROC + + PROCEDURE pgfeFactura.Page1.Deactivate + this.FontBold = .F. + ENDPROC + + PROCEDURE pgfeFactura.Page1.grdFacturiEmise.AfterRowColChange + Lparameters nColIndex + If Inlist(This.RowColChange, 1, 3) + + This.Parent.txtMesajTrimis.Refresh() + This.Parent.txtMesajRaspuns.Refresh() + This.Parent.edtDetalii.Refresh() + * Pot sa marchez/demarchez Trimis o factura emisa daca am trimis-o prin alte metode (am incarcat-o manual pe site-ul ANAF) + This.Parent.chkTrimis.Enabled = Empty(Nvl(crsFacturiEmise.id_incarcare, '')) + This.Parent.chkTrimis.Refresh() + + Thisform.RefreshDetaliiFacturi('EMISE') + Endif + + + + + + + ENDPROC + + PROCEDURE pgfeFactura.Page1.grdFacturiEmise.cClient.Text1.DblClick + loRec = nom_parteneri_modifica(crsFacturiEmise.id_client) + ENDPROC + + PROCEDURE pgfeFactura.Page1.grdFacturiEmise.cCodFiscal.Text1.DblClick + loRec = nom_parteneri_modifica(crsFacturiEmise.id_client) + ENDPROC + + PROCEDURE pgfeFactura.Page1.grdFacturiEmise.cIdIncarcare.Text1.DblClick + Local lcIdIncarcare, llSucces + + lcIdIncarcare = ALLTRIM(NVL(crsFacturiEmise.id_incarcare,'')) + + IF AMESSAGEBOX('Doriti sa modificati ID-ul de Incarcare ANAF?' + CHR(13) + CHR(10) +; + 'ATENTIE! Faceti acest lucru doar daca s-a trimis factura de mai multe ori si factura are acum ID de incarcare al mesajului de eroare "factura duplicata"!',4+32,_screen.Caption) = 6 + lcIdIncarcare = INPUTBOX("Id Incarcare","Id Incarcare", m.lcIdIncarcare) + IF EMPTY(NVL(m.lcIdIncarcare, '')) + RETURN + ENDIF + + + llSucces = Thisform.oAnaf.SuprascrieIdIncarcare(crsFacturiEmise.id_fact, m.lcIdIncarcare) + IF m.llSucces + REPLACE id_incarcare WITH m.lcIdIncarcare, mesaj_trimis WITH 'Transmis cu succes. Index incarcare = ' + m.lcIdIncarcare IN crsFacturiEmise + ENDIF + Thisform.pgfeFactura.page1.grdFacturiEmise.Refresh() + ENDIF + ENDPROC + + PROCEDURE pgfeFactura.Page1.grdFacturiEmise.cMesajRaspuns.Text1.DblClick + AMESSAGEBOX(crsFacturiEmise.detalii) + ENDPROC + + PROCEDURE pgfeFactura.Page1.lblAtasamente.DblClick + * Configurez directorul atasamente pdf factura + IF !thisform.pgfeFactura.page1.cboAtasamente.Enabled + lcPdfPath = GetDocumentPath("factura") + IF !EMPTY(NVL(m.lcPdfPath,'')) + thisform.pgfeFactura.page1.lblAtasamente.Caption = 'Director atasamente: ' + JUSTPATH(m.lcPdfPath) + thisform.pgfeFactura.page1.cboAtasamente.Enabled = .T. + thisform.pgfeFactura.page1.cboAtasamente.Value = 0 + ENDIF + ENDIF + + ENDPROC + + PROCEDURE pgfeFactura.Page2.Activate + this.FontBold = .T. + + * Aduc inregistrarile automat la prima activare a paginii + * La lansarea formularului, intru cu cursorul gol + IF !Thisform.lPrimaActivarePrimite + Thisform.lPrimaActivarePrimite = .T. + Thisform.do_cauta() + ENDIF + + Thisform.RefreshDetaliiFacturi('PRIMITE') + this.grdFacturiPrimite.SetFocus() + this.edtDetalii.Refresh() + ENDPROC + + PROCEDURE pgfeFactura.Page2.cmdTrimiteMesajFurnizor.Click + Thisform.TrimiteMesajFurnizor() + ENDPROC + + PROCEDURE pgfeFactura.Page2.Deactivate + this.FontBold = .F. + ENDPROC + + PROCEDURE pgfeFactura.Page2.edtDetalii.DblClick + Local lcFile, llSucces + PRIVATE pcDetalii, pnIdEfactura + + pnIdEfactura = NVL(crsFacturiPrimite.id,0) + + IF !EMPTY(m.pnIdEfactura) AND (EMPTY(NVL(crsFacturiPrimite.detalii,'')) OR UPPER(ALLTRIM(m.gcUserNameApp)) == 'SUPERVIZOR') + IF AMESSAGEBOX('Doriti sa completati detalii cu xml eFactura?',4+32, _Screen.Caption) = 6 + lcFile = GETFILE('xml') + IF !EMPTY(m.lcFile) AND FILE(m.lcFile) + pcDetalii = FILETOSTR(m.lcFile) + llSucces = goExecutor.oExecuta('update anaf_efactura set detalii = ?pcDetalii where id = ?pnIdEfactura') + ENDIF + ENDIF + ENDIF + + + ENDPROC + + PROCEDURE pgfeFactura.Page2.grdFacturiPrimite.AfterRowColChange + LPARAMETERS nColIndex + LOCAL lcFiltru + If Inlist(This.RowColChange, 1, 3) + This.Parent.edtDetalii.Refresh() + Thisform.RefreshDetaliiFacturi('PRIMITE') + Endif + + ENDPROC + + PROCEDURE pgfeFactura.Page2.grdFacturiPrimite.cCodFiscalEmitent.Text1.DblClick + IF !EMPTY(crsFacturiPrimite.detalii) + IF AMESSAGEBOX('Doriti sa extrageti articolele din detalii si sa completati in baza de date?',4+32,_screen.Caption)=6 + llSucces = Thisform.oAnaf.Detalii2UpdateFactura(crsFacturiPrimite.id, crsFacturiPrimite.detalii) + ENDIF + ENDIF + ENDPROC + + PROCEDURE pgfeFactura.Page2.grdFacturiPrimite.cNr.Text1.RightClick + lnOptiune = xmenu('Descarcare arhiva zip raspuns ANAF') + IF m.lnOptiune = 1 + llSucces = Thisform.oAnaf.DownloadDetaliiZip(crsFacturiPrimite.id) + ENDIF + ENDPROC + + PROCEDURE pgfeFactura.Page3.Activate + This.FontBold = .T. + + * Aduc inregistrarile automat la prima activare a paginii + * La lansarea formularului, intru cu cursorul gol + IF !Thisform.lPrimaActivareTrimise + Thisform.lPrimaActivareTrimise = .T. + Thisform.do_cauta() + ENDIF + + Thisform.RefreshDetaliiFacturi('TRIMISE') + this.grdFacturiTrimise.SetFocus() + this.edtDetalii.Refresh() + ENDPROC + + PROCEDURE pgfeFactura.Page3.Deactivate + this.FontBold = .F. + ENDPROC + + PROCEDURE pgfeFactura.Page3.grdFacturiTrimise.AfterRowColChange + LPARAMETERS nColIndex + LOCAL lcFiltru + If Inlist(This.RowColChange, 1, 3) + This.Parent.edtDetalii.Refresh() + This.Parent.txtMesajTrimis.Refresh() + This.Parent.txtMesajRaspuns.Refresh() + Thisform.RefreshDetaliiFacturi('TRIMISE') + Endif + + ENDPROC + + PROCEDURE pgfeFactura.Page3.grdFacturiTrimise.cCodFiscalBeneficiar.Text1.DblClick + IF !EMPTY(crsFacturiTrimise.detalii) + IF AMESSAGEBOX('Doriti sa extrageti articolele din detalii si sa completati in baza de date?',4+32,_screen.Caption)=6 + llSucces = Thisform.oAnaf.Detalii2UpdateFactura(crsFacturiTrimise.id, crsFacturiTrimise.detalii) + ENDIF + ENDIF + ENDPROC + + PROCEDURE pgfeFactura.Page3.grdFacturiTrimise.cId.Text1.DblClick + IF !EMPTY(crsFacturiTrimise.detalii) + IF AMESSAGEBOX('Doriti sa extrageti articolele din detalii si sa completati in baza de date?',4+32,_screen.Caption)=6 + llSucces = Thisform.oAnaf.Detalii2UpdateFactura(crsFacturiTrimise.id, crsFacturiTrimise.detalii) + ENDIF + ENDIF + ENDPROC + + PROCEDURE pgfeFactura.Page4.Activate + this.FontBold = .T. + ENDPROC + + PROCEDURE pgfeFactura.Page4.Deactivate + this.FontBold = .F. + ENDPROC + + PROCEDURE pgfeFactura.Page4.lblToken.DblClick + Thisform.GetToken() + ENDPROC + + PROCEDURE pgfeFactura.Page4.txtResponsesPathLocal.DblClick + open_default_app(this.value) + ENDPROC + +ENDDEFINE + +DEFINE CLASS anaf_efactura_xml AS _frmbase OF "_frm_base.vcx" + *< CLASSDATA: Baseclass="form" Timestamp="" Scale="Pixels" Uniqueid="" /> + + *-- OBJECTDATA items order determines ZOrder / El orden de los items OBJECTDATA determina el ZOrder + *< OBJECTDATA: ObjPath="Cmd_executa1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="cmdTrimite" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="grdFiles" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="grdFiles.cAles.Header1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="grdFiles.cAles.Text1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="grdFiles.cAles._checkbox1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="grdFiles.cFile.Header1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="grdFiles.cFile.Text1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="grdFiles.cProcesat.Header1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="grdFiles.cProcesat.Text1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="grdFiles.cProcesat._checkbox1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="grdFiles.cStare.Header1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="grdFiles.cStare.Text1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="grdFiles.cMesaj.Header1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="grdFiles.cMesaj.Text1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="grdFiles.cExtern.Header1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="grdFiles.cExtern.Text1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="grdFiles.cExtern._checkbox1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="chkTest" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="Cmd_select_adv1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="chkErori" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="chkValidareOnline" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="Gridextra1" UniqueID="" Timestamp="" /> + + * + *m: ltest_assign + *p: cdirectory + *p: lsilentios && Erori silentios + *p: ltest + *p: oanaf + * + + * + BorderStyle = 1 + cdirectory = + DoCreate = .T. + Height = 467 + lsilentios = .F. + ltest = .F. + Name = "anaf_efactura_xml" + oanaf = .NULL. + Width = 771 + _memberdata = + + + + + + _shape1.Anchor = 10 + _shape1.Height = 29 + _shape1.Left = 0 + _shape1.Name = "_shape1" + _shape1.Top = 0 + _shape1.Width = 780 + _shape2.Anchor = 8 + _shape2.Left = 719 + _shape2.Name = "_shape2" + _shape2.Top = 0 + Lb_titlu_alb_b121.Caption = "Fisiere xml eFactura" + Lb_titlu_alb_b121.Name = "Lb_titlu_alb_b121" + BUT_TERMIN1.Anchor = 8 + BUT_TERMIN1.Left = 739 + BUT_TERMIN1.Name = "BUT_TERMIN1" + BUT_TERMIN1.Top = 1 + Gridsort1.Name = "Gridsort1" + * + + ADD OBJECT 'chkErori' AS _checkbox WITH ; + Alignment = 0, ; + Anchor = 12, ; + Caption = "Erori silentioase", ; + ControlSource = "Thisform.lSilentios", ; + FontBold = .F., ; + ForeColor = 0,128,128, ; + Left = 476, ; + Name = "chkErori", ; + ToolTipText = "Programul continua trimiterea cu urmatorul fisier, fara sa intrebe daca se opreste/continua.", ; + Top = 419, ; + Visible = .T. + *< END OBJECT: ClassLib="_baza.vcx" BaseClass="checkbox" /> + + ADD OBJECT 'chkTest' AS _checkbox WITH ; + Alignment = 0, ; + Anchor = 12, ; + Caption = "Server ANAF Test", ; + ControlSource = "Thisform.lTest", ; + FontBold = .F., ; + ForeColor = 0,128,128, ; + Left = 476, ; + Name = "chkTest", ; + ToolTipText = "Trimite eFactura pe serverul de Test la ANAF", ; + Top = 401, ; + Visible = .T. + *< END OBJECT: ClassLib="_baza.vcx" BaseClass="checkbox" /> + + ADD OBJECT 'chkValidareOnline' AS _checkbox WITH ; + Alignment = 0, ; + Anchor = 12, ; + Caption = "Validare online", ; + FontBold = .F., ; + ForeColor = 0,64,128, ; + Left = 476, ; + Name = "chkValidareOnline", ; + ToolTipText = "Se valideaza xml eFactura online pe serverul ANAF inainte de a se trimite in sistemul eFactura. Alternativ, se valideaza offline cu DukIntegrator", ; + Top = 437, ; + Value = 1, ; + ZOrderSet = 11 + *< END OBJECT: ClassLib="_baza.vcx" BaseClass="checkbox" /> + + ADD OBJECT 'Cmd_executa1' AS cmd_executa WITH ; + Alignment = 2, ; + Anchor = 12, ; + AutoSize = .F., ; + Caption = "\ + + ADD OBJECT 'Cmd_select_adv1' AS cmd_select_adv WITH ; + Anchor = 6, ; + ccoloana = ales, ; + cgrid = Thisform.grdFiles, ; + FontBold = .F., ; + FontUnderline = .T., ; + ForeColor = 0,64,128, ; + Height = 27, ; + Left = 4, ; + Name = "Cmd_select_adv1", ; + Top = 402, ; + Width = 105 + *< END OBJECT: ClassLib="cmd_butoane.vcx" BaseClass="commandbutton" /> + + ADD OBJECT 'cmdTrimite' AS cmd_executa WITH ; + Anchor = 12, ; + AutoSize = .F., ; + Caption = "\ + + ADD OBJECT 'grdFiles' AS _grdbase WITH ; + Anchor = 15, ; + ColumnCount = 6, ; + DeleteMark = .F., ; + FontSize = 10, ; + Height = 358, ; + Left = 4, ; + Name = "grdFiles", ; + Panel = 1, ; + ReadOnly = .T., ; + RecordSource = "cXmlFiles", ; + RowHeight = 19, ; + Top = 38, ; + Width = 757, ; + Column1.ControlSource = "cXmlFiles.ales", ; + Column1.CurrentControl = "_checkbox1", ; + Column1.FontSize = 10, ; + Column1.Name = "cAles", ; + Column1.ReadOnly = .F., ; + Column1.Sparse = .F., ; + Column1.Width = 30, ; + Column2.ControlSource = "cXmlFiles.filepath", ; + Column2.FontSize = 10, ; + Column2.Name = "cFile", ; + Column2.ReadOnly = .T., ; + Column2.Width = 322, ; + Column3.ColumnOrder = 4, ; + Column3.ControlSource = "cXmlFiles.procesat", ; + Column3.CurrentControl = "_checkbox1", ; + Column3.FontSize = 10, ; + Column3.Name = "cProcesat", ; + Column3.ReadOnly = .T., ; + Column3.Sparse = .F., ; + Column3.Width = 56, ; + Column4.ColumnOrder = 5, ; + Column4.ControlSource = "cXmlFiles.stare", ; + Column4.FontSize = 10, ; + Column4.Name = "cStare", ; + Column4.ReadOnly = .T., ; + Column4.Width = 102, ; + Column5.ColumnOrder = 6, ; + Column5.ControlSource = "cXmlFiles.mesaj", ; + Column5.FontSize = 10, ; + Column5.Name = "cMesaj", ; + Column5.ReadOnly = .T., ; + Column5.Width = 211, ; + Column6.ColumnOrder = 3, ; + Column6.ControlSource = "cXmlFiles.extern", ; + Column6.CurrentControl = "_checkbox1", ; + Column6.FontSize = 10, ; + Column6.Name = "cExtern", ; + Column6.ReadOnly = .F., ; + Column6.Sparse = .F., ; + Column6.Width = 42 + *< END OBJECT: ClassLib="_grd_base.vcx" BaseClass="grid" /> + + ADD OBJECT 'grdFiles.cAles._checkbox1' AS _checkbox WITH ; + Alignment = 2, ; + Caption = "", ; + Left = 13, ; + Name = "_checkbox1", ; + Top = 59 + *< END OBJECT: ClassLib="_baza.vcx" BaseClass="checkbox" /> + + ADD OBJECT 'grdFiles.cAles.Header1' AS header WITH ; + Alignment = 2, ; + Caption = "Ales", ; + FontSize = 10, ; + Name = "Header1" + *< END OBJECT: BaseClass="header" /> + + ADD OBJECT 'grdFiles.cAles.Text1' AS textbox WITH ; + BackColor = 255,255,255, ; + BorderStyle = 0, ; + FontSize = 10, ; + ForeColor = 0,0,0, ; + Margin = 0, ; + Name = "Text1", ; + ReadOnly = .F., ; + SelectedBackColor = 100,185,255 + *< END OBJECT: BaseClass="textbox" /> + + ADD OBJECT 'grdFiles.cExtern._checkbox1' AS _checkbox WITH ; + Alignment = 2, ; + BackColor = 255,255,255, ; + Caption = "", ; + ControlSource = "cXmlFiles.extern", ; + Left = 22, ; + Name = "_checkbox1", ; + ReadOnly = .F., ; + Top = 69 + *< END OBJECT: ClassLib="_baza.vcx" BaseClass="checkbox" /> + + ADD OBJECT 'grdFiles.cExtern.Header1' AS header WITH ; + Alignment = 2, ; + Caption = "Extern", ; + FontSize = 10, ; + Name = "Header1" + *< END OBJECT: BaseClass="header" /> + + ADD OBJECT 'grdFiles.cExtern.Text1' AS textbox WITH ; + BackColor = 255,255,255, ; + BorderStyle = 0, ; + ForeColor = 0,0,0, ; + Margin = 0, ; + Name = "Text1", ; + SelectedBackColor = 100,185,255 + *< END OBJECT: BaseClass="textbox" /> + + ADD OBJECT 'grdFiles.cFile.Header1' AS header WITH ; + Alignment = 2, ; + Caption = "Fisier", ; + FontSize = 10, ; + Name = "Header1" + *< END OBJECT: BaseClass="header" /> + + ADD OBJECT 'grdFiles.cFile.Text1' AS textbox WITH ; + BackColor = 255,255,255, ; + BorderStyle = 0, ; + FontSize = 10, ; + ForeColor = 0,0,0, ; + Margin = 0, ; + Name = "Text1", ; + ReadOnly = .T., ; + SelectedBackColor = 100,185,255 + *< END OBJECT: BaseClass="textbox" /> + + ADD OBJECT 'grdFiles.cMesaj.Header1' AS header WITH ; + Alignment = 2, ; + Caption = "Mesaj", ; + FontSize = 10, ; + Name = "Header1" + *< END OBJECT: BaseClass="header" /> + + ADD OBJECT 'grdFiles.cMesaj.Text1' AS textbox WITH ; + BackColor = 255,255,255, ; + BorderStyle = 0, ; + FontSize = 10, ; + ForeColor = 0,0,0, ; + Margin = 0, ; + Name = "Text1", ; + ReadOnly = .T., ; + SelectedBackColor = 100,185,255 + *< END OBJECT: BaseClass="textbox" /> + + ADD OBJECT 'grdFiles.cProcesat._checkbox1' AS _checkbox WITH ; + Alignment = 2, ; + Caption = "", ; + Left = 32, ; + Name = "_checkbox1", ; + Top = 81 + *< END OBJECT: ClassLib="_baza.vcx" BaseClass="checkbox" /> + + ADD OBJECT 'grdFiles.cProcesat.Header1' AS header WITH ; + Alignment = 2, ; + Caption = "Procesat", ; + FontSize = 10, ; + Name = "Header1" + *< END OBJECT: BaseClass="header" /> + + ADD OBJECT 'grdFiles.cProcesat.Text1' AS textbox WITH ; + BackColor = 255,255,255, ; + BorderStyle = 0, ; + FontSize = 10, ; + ForeColor = 0,0,0, ; + Margin = 0, ; + Name = "Text1", ; + ReadOnly = .T., ; + SelectedBackColor = 100,185,255 + *< END OBJECT: BaseClass="textbox" /> + + ADD OBJECT 'grdFiles.cStare.Header1' AS header WITH ; + Alignment = 2, ; + Caption = "Stare", ; + FontSize = 10, ; + Name = "Header1" + *< END OBJECT: BaseClass="header" /> + + ADD OBJECT 'grdFiles.cStare.Text1' AS textbox WITH ; + BackColor = 255,255,255, ; + BorderStyle = 0, ; + FontSize = 10, ; + ForeColor = 0,0,0, ; + Margin = 0, ; + Name = "Text1", ; + ReadOnly = .T., ; + SelectedBackColor = 100,185,255 + *< END OBJECT: BaseClass="textbox" /> + + ADD OBJECT 'Gridextra1' AS gridextra WITH ; + gridexpression = Thisform.grdFiles, ; + Left = 732, ; + Name = "Gridextra1", ; + productname = ROA, ; + Top = 372 + *< END OBJECT: ClassLib="..\utile\gridextras\gridextras.vcx" BaseClass="custom" /> + + PROCEDURE Init + LPARAMETERS toAnaf + + DODEFAULT() + + This.oAnaf = toAnaf + + This.grdFiles.SetAll("DynamicBackColor", "IIF(stare = 'EROARE', RGB(255,140,140), RGB(255,255,255))", "Column") + This.grdFiles.cExtern.DynamicBackColor = "RGB(255,255,225)" + + This.gridextra1.setup() + ENDPROC + + PROCEDURE ltest_assign + lparameters tlTest + This.lTest = tlTest + + Thisform.oAnaf.lTest = m.tlTest + + ENDPROC + + PROCEDURE Show + LPARAMETERS nStyle + DODEFAULT(nStyle) + + this.Width = INT(0.7*_screen.Width) + this.Height = INT(0.7*_screen.Height) + this.AutoCenter = .T. + ENDPROC + + PROCEDURE cmdTrimite.Click + LOCAL lnOptiune, lcMesaj + Local loAnaf As 'AnafeFacturaServer' + Local llNuTrimiteEFacturaANAF, llSucces, llSilentios, llExtern + + llSilentios = Thisform.lSilentios && erori silentioase + + UPDATE cXMLFiles SET ales = 0 WHERE procesat = 1 + + SELECT cXmlFiles + LOCATE FOR ales = 1 + IF !FOUND() + AMESSAGEBOX('Alegeti fisiere (neprocesate)!',0+48,_screen.Caption) + RETURN + ENDIF + + + + llValidareOnline = (Thisform.chkValidareOnline.Value = 1) + lnOptiune = xmenu('\ 6 + Exit + Endif + ENDIF + ENDSCAN + ENDPROC + + PROCEDURE Cmd_executa1.Click + Local laFiles[1], lcFile, lcFileSkeleton, lcMenu, lcPath, lcSendFile, lcSendPath, llSucces, lnFile + Local lnFiles, lnOptiune + Local lcTempPath, lcText + + llSucces = .T. + + lcSendPath = Addbs(NVL(Thisform.oAnaf.cSendPath, '')) + IF !DIRECTORY(m.lcSendPath) + lcSendPath = '' + ENDIF + lcSendFile = '' + lcMenu = Iif(!Empty(m.lcSendPath), 'Directorul ' + m.lcSendPath + ';' , '\-;') + '\ + + *-- OBJECTDATA items order determines ZOrder / El orden de los items OBJECTDATA determina el ZOrder + *< OBJECTDATA: ObjPath="cmdMesaje" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="cmdAtasamente" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="But_start_criterii1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="But_reset_criterii1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="grdSPV" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="grdSPV.cAles.Header1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="grdSPV.cAles.Text1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="grdSPV.cAles._checkbox1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="grdSPV.cId.Header1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="grdSPV.cId.Text1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="grdSPV.cDetalii.Header1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="grdSPV.cDetalii.Text1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="grdSPV.cDataCreare.Header1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="grdSPV.cDataCreare.Text1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="grdSPV.cDescarcat.Header1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="grdSPV.cDescarcat.Text1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="grdSPV.cDescarcat._checkbox1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="grdSPV.cCIF.Header1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="grdSPV.cCIF.Text1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="grdSPV.cIdSolicitare.Header1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="grdSPV.cIdSolicitare.Text1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="grdSPV.cTip.Header1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="grdSPV.cTip.Text1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="grdSPV.cCitit.Header1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="grdSPV.cCitit.Text1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="grdSPV.cCitit._checkbox1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="grdSPV.cArhivat.Header1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="grdSPV.cArhivat.Text1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="grdSPV.cArhivat._checkbox1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="Cmd_select_adv1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="Gridextra1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="Lb_shortcuts1" UniqueID="" Timestamp="" /> + + * + *m: ltest_assign + *m: marcheazacitit + *m: optiunigrid + *m: updatespv + *p: cdirectory + *p: lsilentios && Erori silentios + *p: ltest + *p: oanaf + * + + * + BorderStyle = 1 + cdirectory = + DoCreate = .T. + Height = 467 + lsilentios = .F. + ltest = .F. + Name = "anaf_spv" + oanaf = .NULL. + Width = 771 + _memberdata = + + + + + + + + + _shape1.Anchor = 10 + _shape1.Height = 29 + _shape1.Left = 0 + _shape1.Name = "_shape1" + _shape1.Top = 0 + _shape1.Width = 780 + _shape2.Anchor = 8 + _shape2.Left = 719 + _shape2.Name = "_shape2" + _shape2.Top = 0 + Lb_titlu_alb_b121.Caption = "Mesaje SPV" + Lb_titlu_alb_b121.Left = 6 + Lb_titlu_alb_b121.Name = "Lb_titlu_alb_b121" + Lb_titlu_alb_b121.TabIndex = 4 + Lb_titlu_alb_b121.Top = 1 + BUT_TERMIN1.Anchor = 8 + BUT_TERMIN1.Left = 739 + BUT_TERMIN1.Name = "BUT_TERMIN1" + BUT_TERMIN1.TabIndex = 5 + BUT_TERMIN1.Top = 1 + Gridsort1.Name = "Gridsort1" + * + + ADD OBJECT 'But_reset_criterii1' AS but_reset_criterii WITH ; + Anchor = 9, ; + Left = 680, ; + Name = "But_reset_criterii1", ; + TabIndex = 5, ; + Top = 1, ; + Visible = .T., ; + ZOrderSet = 6 + *< END OBJECT: ClassLib="ocriterii.vcx" BaseClass="commandbutton" /> + + ADD OBJECT 'But_start_criterii1' AS but_start_criterii WITH ; + Anchor = 9, ; + Comment = "*:OnResize=RT", ; + Left = 709, ; + Name = "But_start_criterii1", ; + TabIndex = 6, ; + Top = 1, ; + ZOrderSet = 5 + *< END OBJECT: ClassLib="ocriterii.vcx" BaseClass="commandbutton" /> + + ADD OBJECT 'Cmd_select_adv1' AS cmd_select_adv WITH ; + Anchor = 6, ; + ccoloana = ales, ; + cgrid = Thisform.grdSPV, ; + FontBold = .F., ; + FontUnderline = .T., ; + ForeColor = 0,64,128, ; + Height = 27, ; + Left = 4, ; + Name = "Cmd_select_adv1", ; + TabIndex = 6, ; + Top = 432, ; + Width = 105 + *< END OBJECT: ClassLib="cmd_butoane.vcx" BaseClass="commandbutton" /> + + ADD OBJECT 'cmdAtasamente' AS cmd_executa WITH ; + Alignment = 2, ; + Anchor = 12, ; + AutoSize = .F., ; + Caption = "\ + + ADD OBJECT 'cmdMesaje' AS cmd_executa WITH ; + Alignment = 2, ; + Anchor = 12, ; + AutoSize = .F., ; + Caption = "\ + + ADD OBJECT 'grdSPV' AS _grdbase WITH ; + Anchor = 15, ; + ColumnCount = 10, ; + DeleteMark = .F., ; + FontSize = 10, ; + GridLineColor = 192,192,192, ; + GridLines = 1, ; + Height = 384, ; + Left = 4, ; + Name = "grdSPV", ; + Panel = 1, ; + ReadOnly = .T., ; + RecordSource = "cMesajeSPV", ; + RowHeight = 19, ; + TabIndex = 3, ; + Top = 36, ; + Width = 757, ; + Column1.ControlSource = "ales", ; + Column1.CurrentControl = "_checkbox1", ; + Column1.FontSize = 10, ; + Column1.Name = "cAles", ; + Column1.ReadOnly = .F., ; + Column1.Sparse = .F., ; + Column1.Width = 30, ; + Column2.ColumnOrder = 7, ; + Column2.ControlSource = "Id", ; + Column2.FontSize = 10, ; + Column2.Name = "cId", ; + Column2.ReadOnly = .T., ; + Column2.Width = 110, ; + Column3.ColumnOrder = 4, ; + Column3.ControlSource = "detalii", ; + Column3.FontSize = 10, ; + Column3.Name = "cDetalii", ; + Column3.ReadOnly = .T., ; + Column3.Width = 185, ; + Column4.ColumnOrder = 5, ; + Column4.ControlSource = "data_creare", ; + Column4.FontSize = 10, ; + Column4.Name = "cDataCreare", ; + Column4.ReadOnly = .T., ; + Column4.Width = 117, ; + Column5.ColumnOrder = 9, ; + Column5.ControlSource = "descarcat", ; + Column5.CurrentControl = "_checkbox1", ; + Column5.FontSize = 10, ; + Column5.Name = "cDescarcat", ; + Column5.ReadOnly = .F., ; + Column5.Sparse = .F., ; + Column5.Width = 68, ; + Column6.ColumnOrder = 6, ; + Column6.ControlSource = "cif", ; + Column6.FontSize = 10, ; + Column6.Name = "cCIF", ; + Column6.ReadOnly = .T., ; + Column7.ColumnOrder = 8, ; + Column7.ControlSource = "id_solicitare", ; + Column7.FontSize = 10, ; + Column7.Name = "cIdSolicitare", ; + Column7.ReadOnly = .T., ; + Column8.ColumnOrder = 3, ; + Column8.ControlSource = "tip", ; + Column8.FontSize = 10, ; + Column8.Name = "cTip", ; + Column8.ReadOnly = .T., ; + Column9.ColumnOrder = 2, ; + Column9.ControlSource = "citit", ; + Column9.CurrentControl = "_checkbox1", ; + Column9.FontSize = 10, ; + Column9.Name = "cCitit", ; + Column9.ReadOnly = .F., ; + Column9.Sparse = .F., ; + Column9.Width = 40, ; + Column10.ControlSource = "cMesajeSPV.arhivat", ; + Column10.CurrentControl = "_checkbox1", ; + Column10.FontSize = 10, ; + Column10.Name = "cArhivat", ; + Column10.ReadOnly = .F., ; + Column10.Sparse = .F., ; + Column10.Width = 57 + *< END OBJECT: ClassLib="_grd_base.vcx" BaseClass="grid" /> + + ADD OBJECT 'grdSPV.cAles._checkbox1' AS _checkbox WITH ; + Alignment = 2, ; + Caption = "", ; + ControlSource = "cMesajeSPV.ales", ; + FontSize = 10, ; + Left = 13, ; + Name = "_checkbox1", ; + Top = 59 + *< END OBJECT: ClassLib="_baza.vcx" BaseClass="checkbox" /> + + ADD OBJECT 'grdSPV.cAles.Header1' AS header WITH ; + Alignment = 2, ; + Caption = "Ales", ; + FontSize = 10, ; + Name = "Header1" + *< END OBJECT: BaseClass="header" /> + + ADD OBJECT 'grdSPV.cAles.Text1' AS textbox WITH ; + BackColor = 255,255,255, ; + BorderStyle = 0, ; + FontSize = 10, ; + ForeColor = 0,0,0, ; + Margin = 0, ; + Name = "Text1", ; + ReadOnly = .F., ; + SelectedBackColor = 100,185,255 + *< END OBJECT: BaseClass="textbox" /> + + ADD OBJECT 'grdSPV.cArhivat._checkbox1' AS _checkbox WITH ; + Alignment = 0, ; + Caption = "", ; + FontSize = 10, ; + Left = 34, ; + Name = "_checkbox1", ; + ReadOnly = .F., ; + Top = 45 + *< END OBJECT: ClassLib="_baza.vcx" BaseClass="checkbox" /> + + ADD OBJECT 'grdSPV.cArhivat.Header1' AS header WITH ; + Alignment = 2, ; + Caption = "Arhivat", ; + FontSize = 10, ; + Name = "Header1" + *< END OBJECT: BaseClass="header" /> + + ADD OBJECT 'grdSPV.cArhivat.Text1' AS textbox WITH ; + BackColor = 255,255,255, ; + BorderStyle = 0, ; + FontSize = 9, ; + ForeColor = 0,0,0, ; + Margin = 0, ; + Name = "Text1", ; + ReadOnly = .T., ; + SelectedBackColor = 100,185,255 + *< END OBJECT: BaseClass="textbox" /> + + ADD OBJECT 'grdSPV.cCIF.Header1' AS header WITH ; + Alignment = 2, ; + Caption = "CIF", ; + FontSize = 10, ; + Name = "Header1" + *< END OBJECT: BaseClass="header" /> + + ADD OBJECT 'grdSPV.cCIF.Text1' AS textbox WITH ; + BackColor = 255,255,255, ; + BorderStyle = 0, ; + FontSize = 10, ; + ForeColor = 0,0,0, ; + Margin = 0, ; + Name = "Text1", ; + SelectedBackColor = 100,185,255 + *< END OBJECT: BaseClass="textbox" /> + + ADD OBJECT 'grdSPV.cCitit._checkbox1' AS _checkbox WITH ; + Alignment = 0, ; + Caption = "", ; + ControlSource = "cMesajeSPV.citit", ; + FontSize = 10, ; + Left = 35, ; + Name = "_checkbox1", ; + ReadOnly = .F., ; + Top = 81 + *< END OBJECT: ClassLib="_baza.vcx" BaseClass="checkbox" /> + + ADD OBJECT 'grdSPV.cCitit.Header1' AS header WITH ; + Alignment = 2, ; + Caption = "Citit", ; + FontSize = 10, ; + Name = "Header1" + *< END OBJECT: BaseClass="header" /> + + ADD OBJECT 'grdSPV.cCitit.Text1' AS textbox WITH ; + BackColor = 255,255,255, ; + BorderStyle = 0, ; + FontSize = 10, ; + ForeColor = 0,0,0, ; + Margin = 0, ; + Name = "Text1", ; + SelectedBackColor = 100,185,255 + *< END OBJECT: BaseClass="textbox" /> + + ADD OBJECT 'grdSPV.cDataCreare.Header1' AS header WITH ; + Alignment = 2, ; + Caption = "Data creare", ; + FontSize = 10, ; + Name = "Header1" + *< END OBJECT: BaseClass="header" /> + + ADD OBJECT 'grdSPV.cDataCreare.Text1' AS textbox WITH ; + BackColor = 255,255,255, ; + BorderStyle = 0, ; + FontSize = 10, ; + ForeColor = 0,0,0, ; + Margin = 0, ; + Name = "Text1", ; + ReadOnly = .T., ; + SelectedBackColor = 100,185,255 + *< END OBJECT: BaseClass="textbox" /> + + ADD OBJECT 'grdSPV.cDescarcat._checkbox1' AS _checkbox WITH ; + Alignment = 2, ; + BackColor = 255,255,255, ; + Caption = "", ; + ControlSource = "cMesajeSPV.descarcat", ; + FontSize = 10, ; + Left = 22, ; + Name = "_checkbox1", ; + ReadOnly = .F., ; + Top = 69 + *< END OBJECT: ClassLib="_baza.vcx" BaseClass="checkbox" /> + + ADD OBJECT 'grdSPV.cDescarcat.Header1' AS header WITH ; + Alignment = 2, ; + Caption = "Descarcat", ; + FontSize = 10, ; + Name = "Header1" + *< END OBJECT: BaseClass="header" /> + + ADD OBJECT 'grdSPV.cDescarcat.Text1' AS textbox WITH ; + BackColor = 255,255,255, ; + BorderStyle = 0, ; + ForeColor = 0,0,0, ; + Margin = 0, ; + Name = "Text1", ; + SelectedBackColor = 100,185,255 + *< END OBJECT: BaseClass="textbox" /> + + ADD OBJECT 'grdSPV.cDetalii.Header1' AS header WITH ; + Alignment = 2, ; + Caption = "Detalii", ; + FontSize = 10, ; + Name = "Header1" + *< END OBJECT: BaseClass="header" /> + + ADD OBJECT 'grdSPV.cDetalii.Text1' AS textbox WITH ; + BackColor = 255,255,255, ; + BorderStyle = 0, ; + FontSize = 10, ; + ForeColor = 0,0,0, ; + Margin = 0, ; + Name = "Text1", ; + ReadOnly = .T., ; + SelectedBackColor = 100,185,255 + *< END OBJECT: BaseClass="textbox" /> + + ADD OBJECT 'grdSPV.cId.Header1' AS header WITH ; + Alignment = 2, ; + Caption = "Id", ; + FontSize = 10, ; + Name = "Header1" + *< END OBJECT: BaseClass="header" /> + + ADD OBJECT 'grdSPV.cId.Text1' AS textbox WITH ; + BackColor = 255,255,255, ; + BorderStyle = 0, ; + FontSize = 10, ; + ForeColor = 0,0,0, ; + Margin = 0, ; + Name = "Text1", ; + ReadOnly = .T., ; + SelectedBackColor = 100,185,255 + *< END OBJECT: BaseClass="textbox" /> + + ADD OBJECT 'grdSPV.cIdSolicitare.Header1' AS header WITH ; + Alignment = 2, ; + Caption = "Id solicitare", ; + FontSize = 10, ; + Name = "Header1" + *< END OBJECT: BaseClass="header" /> + + ADD OBJECT 'grdSPV.cIdSolicitare.Text1' AS textbox WITH ; + BackColor = 255,255,255, ; + BorderStyle = 0, ; + FontSize = 10, ; + ForeColor = 0,0,0, ; + Margin = 0, ; + Name = "Text1", ; + SelectedBackColor = 100,185,255 + *< END OBJECT: BaseClass="textbox" /> + + ADD OBJECT 'grdSPV.cTip.Header1' AS header WITH ; + Alignment = 2, ; + Caption = "Tip", ; + FontSize = 10, ; + Name = "Header1" + *< END OBJECT: BaseClass="header" /> + + ADD OBJECT 'grdSPV.cTip.Text1' AS textbox WITH ; + BackColor = 255,255,255, ; + BorderStyle = 0, ; + FontSize = 10, ; + ForeColor = 0,0,0, ; + Margin = 0, ; + Name = "Text1", ; + SelectedBackColor = 100,185,255 + *< END OBJECT: BaseClass="textbox" /> + + ADD OBJECT 'Gridextra1' AS gridextra WITH ; + gridexpression = Thisform.grdSPV, ; + Left = 732, ; + Name = "Gridextra1", ; + productname = ROA, ; + Top = 372 + *< END OBJECT: ClassLib="..\utile\gridextras\gridextras.vcx" BaseClass="custom" /> + + ADD OBJECT 'Lb_shortcuts1' AS lb_shortcuts WITH ; + Caption = "Dublu click = Bifeaza Citit ; Click dreapta = Citit/Arhivat/Descarca/Deschide atasament", ; + Left = 14, ; + Name = "Lb_shortcuts1", ; + Top = 15 + *< END OBJECT: ClassLib="lb.vcx" BaseClass="label" /> + + PROCEDURE actualizeaza_grid1 + Lparameters tcFiltru + Local lcFiltru + lcFiltru=tcFiltru + + If Empty(lcFiltru) + lcFiltru = poMesaje.ca_baza1.cfiltru + Endif + + Thisform.MousePointer= 11 + Thisform.LockScreen=.T. + save_grid_tag(Thisform.grdSPV) + poMesaje.ca_baza1.cfiltru=lcFiltru + poMesaje.ca_baza1.afisare() + restore_grid_tag(Thisform.grdSPV) + Thisform.LockScreen=.F. + Thisform.MousePointer= 0 + ENDPROC + + PROCEDURE do_cauta + Local lcFiltru, lcInit, llcautare + + * Filtre buton cautare + IF LEN(This.filtru_pretty) > 0 AND This.filtru_pretty#"none" + lcFiltru = "(" + ALLTRIM(THISFORM.filtru_pretty) + ")" + ELSE + lcFiltru = "(arhivat=0)" + + * daca se doreste ca la intrarea in form sa se puna un filtru: + lcInit = [Nearhivat;nofiled;1;;] + llcautare = This.but_start_criterii1.lcautare + This.but_start_criterii1.lcautare = .F. + This.but_start_criterii1.loadfiltru(m.lcInit) + This.but_start_criterii1.lcautare = m.llcautare + ENDIF + + IF (THIS.filtru_pretty#"none") + THISFORM.actualizeaza_grid1(m.lcFiltru) + IF RECCOUNT('cMesajeSPV')=0 + aMessagebox("Cautarea nu a intors rezultate!",0+48,"Info cautare") + ENDIF + ENDIF + + SELECT cMesajeSPV + GO TOP + + Return m.lcFiltru + + ENDPROC + + PROCEDURE Init + LPARAMETERS toAnaf + + Local lcInit, llcautare, lnCol, loColumn, loControl + + DODEFAULT() + + This.oAnaf = toAnaf + + This.gridextra1.setup() + + * Mesajele necitite au fundal albastru inchis sau deschis, alternativ + this.grdSPV.SetAll("DynamicBackColor", "IIF(citit = 1, RGB(255,255,255), IIF(MOD(RECNO(),2) = 0, RGB(150,255,250), RGB(125,255,210)))", "Column") + + * Right click in grid apare meniu + FOR lnCol = 1 TO This.grdSPV.ColumnCount + loColumn = This.grdSPV.Columns[lnCol] + FOR EACH loControl IN loColumn.Controls + IF LOWER( loControl.BaseClass ) = 'textbox' + BINDEVENT( loControl, 'RightClick', Thisform, 'OptiuniGrid' ) + BINDEVENT( loControl, 'DblClick', Thisform, 'MarcheazaCitit' ) + ENDIF + ENDFOR + ENDFOR + + * daca se doreste ca la intrarea in form sa se puna un filtru: + lcInit = [Nearhivat;nofiled;1;;] + llcautare = This.but_start_criterii1.lcautare + This.but_start_criterii1.lcautare = .F. + This.but_start_criterii1.loadfiltru(m.lcInit) + This.but_start_criterii1.lcautare = m.llcautare + ENDPROC + + PROCEDURE ltest_assign + lparameters tlTest + This.lTest = tlTest + + Thisform.oAnaf.lTest = m.tlTest + + ENDPROC + + PROCEDURE marcheazacitit + Local lnId + + lnId = NVL(cMesajeSPV.id, 0) + IF EMPTY(m.lnId) + RETURN + ENDIF + + llSucces = Thisform.oAnaf.UpdateSPV(m.lnId, 'citit', 1) + IF m.llSucces + This.UpdateSPV('citit', 1) + ENDIF + ENDPROC + + PROCEDURE optiunigrid + Local lcTip, llSucces, lnId, lnOptiune, ltDataCreare + + lnId = NVL(cMesajeSPV.id, 0) + IF EMPTY(m.lnId) + RETURN + ENDIF + + lnOptiune = xmenu('Marcheaza citit;Arhiveaza;Descarca atasament;Deschide atasament') + + DO CASE + CASE m.lnOptiune = 1 + llSucces = Thisform.oAnaf.UpdateSPV(m.lnId, 'citit', 1) + IF m.llSucces + Thisform.UpdateSPV('citit', 1) + ENDIF + CASE m.lnOptiune = 2 + llSucces = Thisform.oAnaf.UpdateSPV(m.lnId, 'arhivat', 1) + IF m.llSucces + Thisform.UpdateSPV('arhivat', 1) + ENDIF + + CASE m.lnOptiune = 3 + Thisform.oAnaf.DescarcaDetaliiSPV(m.lnId) + CASE m.lnOptiune = 4 + Thisform.oAnaf.DeschideAtasamentSPV(m.lnId) + ENDCASE + ENDPROC + + PROCEDURE Show + LPARAMETERS nStyle + DODEFAULT(nStyle) + + this.WindowState= 2 + + *!* this.Width = INT(0.7*_screen.Width) + *!* this.Height = INT(0.7*_screen.Height) + *!* this.AutoCenter = .T. + ENDPROC + + PROCEDURE updatespv + LPARAMETERS tcAtribut, tnValoare + + Local lcAtribut, lnValoare + + lcAtribut = LOWER(ALLTRIM(m.tcAtribut)) + lnValoare = IIF(!EMPTY(m.tnValoare), m.tnValoare, 0) + + REPLACE &lcAtribut WITH m.lnValoare IN cMesajeSPV + + ENDPROC + + PROCEDURE But_start_criterii1.loadcriterii + PARAMETERS tacriterii + EXTERNAL ARRAY tacriterii + #DEFINE crlf CHR(13)+CHR(10) + + * Am pus numar_act = Text pentru ca in facturi emise/primite, numar_act este Character, iar in facturi trimise este Number + lcStringCriterii= "Tip\tip\T\none\" + crlf + ; + "Detalii\detalii\T\none\" + crlf + ; + "Data creare\TRUNC(data_trimis)\D\none\" + crlf + ; + "Citit\nofiled\E\(citit = 1)\" + crlf + ; + "Necitit\nofiled\E\(NVL(citit,0) = 0)\" + crlf + ; + "Arhivat\nofiled\E\(arhivat = 1)\" + crlf + ; + "Nearhivat\nofiled\E\(NVL(arhivat,0) = 0)\" + crlf + ; + "Descarcat\nofiled\E\(descarcat = 1)\" + crlf + ; + "Nedescarcat\nofiled\E\(NVL(descarcat,0) = 0)\" + crlf + ; + "Id\id\T\none\" + crlf + ; + "Id solicitare\id_solicitare\T\none\" + + DODEFAULT() + ENDPROC + + PROCEDURE cmdAtasamente.Click + Local lnRecno + + SELECT cMesajeSPV + lnRecno = RECNO() + LOCATE FOR ales = 1 or descarcat = 0 + IF !FOUND() + AMESSAGEBOX('Alegeti cel putin un mesaj!',0+48,_screen.Caption) + ELSE + Thisform.oAnaf.DescarcaDetaliiSPV() + ENDIF + + TRY + SELECT cMesajeSPV + GOTO m.lnRecno + CATCH + ENDTRY + + + ENDPROC + + PROCEDURE cmdMesaje.Click + Thisform.oAnaf.GetSPV() + + Thisform.do_cauta() + + Thisform.grdSPV.Refresh() + Thisform.grdSPV.SetFocus() + ENDPROC + + PROCEDURE grdSPV.cArhivat._checkbox1.InteractiveChange + Local llSucces + + llSucces = Thisform.oAnaf.UpdateSPV(cMesajeSPV.id, 'arhivat', NVL(this.Value, 0)) + IF m.llSucces + Thisform.UpdateSPV('arhivat', 1) + ENDIF + ENDPROC + + PROCEDURE grdSPV.cCitit._checkbox1.InteractiveChange + Local llSucces + + llSucces = Thisform.oAnaf.UpdateSPV(cMesajeSPV.id, 'citit', NVL(this.Value, 0)) + IF m.llSucces + Thisform.UpdateSPV('citit', 1) + ENDIF + ENDPROC + + PROCEDURE grdSPV.cDescarcat._checkbox1.InteractiveChange + Local llSucces + + llSucces = Thisform.oAnaf.UpdateSPV(cMesajeSPV.id, 'descarcat', NVL(this.Value, 0)) + IF m.llSucces + Thisform.UpdateSPV('descarcat', 1) + ENDIF + ENDPROC + +ENDDEFINE + +DEFINE CLASS anaf_token AS _frmbase OF "_frm_base.vcx" + *< CLASSDATA: Baseclass="form" Timestamp="" Scale="Pixels" Uniqueid="" /> + + *-- OBJECTDATA items order determines ZOrder / El orden de los items OBJECTDATA determina el ZOrder + *< OBJECTDATA: ObjPath="_label1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="edtToken" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="Cmd_executa1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="lblGenDate" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="_label2" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="edtRefreshToken" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="_label3" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="Cmd_executa2" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="lblExpDate" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="_label4" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="_label5" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="_label6" UniqueID="" Timestamp="" /> + + * + *p: ctoken + *p: poanaf + * + + * + BorderStyle = 1 + ctoken = + DoCreate = .T. + Height = 401 + Name = "anaf_token" + poanaf = .F. + Width = 517 + _memberdata = + + + + _shape1.Height = 29 + _shape1.Left = 0 + _shape1.Name = "_shape1" + _shape1.Top = 0 + _shape1.Width = 528 + _shape2.Left = 469 + _shape2.Name = "_shape2" + _shape2.Top = 0 + Lb_titlu_alb_b121.Caption = "Token acces pentru SPV ANAF eFactura" + Lb_titlu_alb_b121.Name = "Lb_titlu_alb_b121" + BUT_TERMIN1.Left = 489 + BUT_TERMIN1.Name = "BUT_TERMIN1" + BUT_TERMIN1.Top = 1 + Gridsort1.Name = "Gridsort1" + * + + ADD OBJECT '_label1' AS _label WITH ; + AutoSize = .F., ; + Caption = "Genereaza token nou (necesita semnatura electronica)", ; + FontBold = .T., ; + Height = 18, ; + Left = 12, ; + Name = "_label1", ; + Top = 50, ; + Width = 372, ; + WordWrap = .T. + *< END OBJECT: ClassLib="_baza.vcx" BaseClass="label" /> + + ADD OBJECT '_label2' AS _label WITH ; + AutoSize = .T., ; + Caption = "Token", ; + FontBold = .T., ; + Height = 18, ; + Left = 14, ; + Name = "_label2", ; + Top = 246, ; + Width = 38, ; + WordWrap = .T. + *< END OBJECT: ClassLib="_baza.vcx" BaseClass="label" /> + + ADD OBJECT '_label3' AS _label WITH ; + AutoSize = .T., ; + Caption = "Refresh Token", ; + FontBold = .T., ; + Height = 18, ; + Left = 14, ; + Name = "_label3", ; + Top = 321, ; + Width = 90, ; + WordWrap = .T. + *< END OBJECT: ClassLib="_baza.vcx" BaseClass="label" /> + + ADD OBJECT '_label4' AS _label WITH ; + AutoSize = .T., ; + Caption = "Actualizare token eFactura (nu necesita semnatura electronica)", ; + FontBold = .T., ; + Height = 18, ; + Left = 12, ; + Name = "_label4", ; + Top = 109, ; + Width = 402, ; + WordWrap = .T. + *< END OBJECT: ClassLib="_baza.vcx" BaseClass="label" /> + + ADD OBJECT '_label5' AS _label WITH ; + AutoSize = .T., ; + Caption = "Tokenul expira la fiecare 3 luni si se poate reactualiza maxim 1 an fara semnatura electronica", ; + FontBold = .F., ; + Height = 34, ; + Left = 12, ; + Name = "_label5", ; + Top = 131, ; + Width = 408, ; + WordWrap = .T. + *< END OBJECT: ClassLib="_baza.vcx" BaseClass="label" /> + + ADD OBJECT '_label6' AS _label WITH ; + AutoSize = .T., ; + Caption = "Apasa Genereaza daca nu exista token sau nu se mai poate actualiza", ; + FontBold = .F., ; + Height = 18, ; + Left = 12, ; + Name = "_label6", ; + Top = 69, ; + Width = 407, ; + WordWrap = .T. + *< END OBJECT: ClassLib="_baza.vcx" BaseClass="label" /> + + ADD OBJECT 'Cmd_executa1' AS cmd_executa WITH ; + BackColor = 0,128,128, ; + Caption = "\ + + ADD OBJECT 'Cmd_executa2' AS cmd_executa WITH ; + BackColor = 0,128,192, ; + Caption = "\ + + ADD OBJECT 'edtRefreshToken' AS _editbox WITH ; + Format = "K", ; + Height = 53, ; + Left = 12, ; + Name = "edtRefreshToken", ; + Top = 340, ; + Width = 496 + *< END OBJECT: ClassLib="_baza.vcx" BaseClass="editbox" /> + + ADD OBJECT 'edtToken' AS _editbox WITH ; + Format = "K", ; + Height = 53, ; + Left = 12, ; + Name = "edtToken", ; + Top = 265, ; + Width = 496 + *< END OBJECT: ClassLib="_baza.vcx" BaseClass="editbox" /> + + ADD OBJECT 'lblExpDate' AS _label WITH ; + AutoSize = .F., ; + Caption = "Data expirare token:", ; + Height = 18, ; + Left = 11, ; + Name = "lblExpDate", ; + Top = 221, ; + Width = 384, ; + WordWrap = .T. + *< END OBJECT: ClassLib="_baza.vcx" BaseClass="label" /> + + ADD OBJECT 'lblGenDate' AS _label WITH ; + AutoSize = .F., ; + Caption = "Data generare token:", ; + Height = 18, ; + Left = 12, ; + Name = "lblGenDate", ; + Top = 194, ; + Width = 384, ; + WordWrap = .T. + *< END OBJECT: ClassLib="_baza.vcx" BaseClass="label" /> + + PROCEDURE do_executa + Lparameters tcTip + Do Case + Case Empty(m.tcTip) Or Lower(Alltrim(Transform(tcTip))) = 'new' + This.poAnaf.newToken() + Case Lower(Alltrim(Transform(tcTip))) = 'refresh' + This.poAnaf.refreshToken() + Endcase + this.Refresh() + ENDPROC + + PROCEDURE Init + LPARAMETERS toAnaf + This.poAnaf = toAnaf + this.edtToken.ControlSource = 'Thisform.poAnaf.AnafeFacturaServer.cToken' + this.edtRefreshToken.ControlSource = 'Thisform.poAnaf.AnafeFacturaServer.cRefreshToken' + this.lblGenDate.Caption = 'Data generare token: ' + IIF(!EMPTY(this.poAnaf.AnafeFacturaServer.dTokenGendate), DTOC(this.poAnaf.AnafeFacturaServer.dTokenGendate), '') + this.lblExpDate.Caption = 'Data expirare token: ' + IIF(!EMPTY(this.poAnaf.AnafeFacturaServer.dTokenExpdate), DTOC(this.poAnaf.AnafeFacturaServer.dTokenExpdate), '') + DODEFAULT() + ENDPROC + +ENDDEFINE + +DEFINE CLASS frm_configurare_efactura AS _frmbase OF "_frm_base.vcx" + *< CLASSDATA: Baseclass="form" Timestamp="" Scale="Pixels" Uniqueid="" /> + + *-- OBJECTDATA items order determines ZOrder / El orden de los items OBJECTDATA determina el ZOrder + *< OBJECTDATA: ObjPath="But_renunt1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="_label1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="chkContP" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="chkTipP" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="chkGestiuneP" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="chkSectieP" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="chkVenCheltP" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="chkContractP" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="_label6" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="_checkbox1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="_checkbox2" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="cboContE" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="cboContP" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="cboVenCheltE" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="cboSectieE" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="cboTipArticoleP" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="cboGestiuneP" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="cboGestiuneE" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="cboTipArticoleE" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="cboVenCheltP" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="cboSectieP" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="_label7" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="_label5" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="_label2" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="lblCont" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="_label3" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="_label4" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="_label11" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="_label10" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="_label8" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="_label9" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="_checkbox3" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="_checkbox4" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="_checkbox5" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="_checkbox6" UniqueID="" Timestamp="" /> + + * + *p: cconte && cont implicit articol client + *p: ccontp && cont implicit articol furnizor + * + + * + BorderStyle = 1 + cconte = 704 + ccontp = 628 + DoCreate = .T. + Height = 623 + Name = "frm_configurare_efactura" + Width = 424 + _memberdata = + + + + _shape1.Height = 29 + _shape1.Left = 0 + _shape1.Name = "_shape1" + _shape1.Top = 0 + _shape1.Width = 426 + _shape2.Left = 367 + _shape2.Name = "_shape2" + _shape2.Top = 0 + Lb_titlu_alb_b121.Caption = "Configurare import eFactura" + Lb_titlu_alb_b121.Name = "Lb_titlu_alb_b121" + Lb_titlu_alb_b121.TabIndex = 25 + BUT_TERMIN1.Anchor = 8 + BUT_TERMIN1.Left = 393 + BUT_TERMIN1.Name = "BUT_TERMIN1" + BUT_TERMIN1.TabIndex = 23 + BUT_TERMIN1.Top = 1 + Gridsort1.Name = "Gridsort1" + * + + ADD OBJECT '_checkbox1' AS _checkbox WITH ; + Alignment = 0, ; + Caption = "Preluare cont contabil din inregistrarile anterioare ale clientului", ; + ControlSource = "m.gnEFACTURA_CONT_ART_EF", ; + Left = 12, ; + Name = "_checkbox1", ; + TabIndex = 12, ; + Top = 359 + *< END OBJECT: ClassLib="_baza.vcx" BaseClass="checkbox" /> + + ADD OBJECT '_checkbox2' AS _checkbox WITH ; + Alignment = 0, ; + Caption = "Preluare tip articol din inregistrarile anterioare ale clientului", ; + Enabled = .F., ; + Left = 12, ; + Name = "_checkbox2", ; + TabIndex = 13, ; + Top = 380 + *< END OBJECT: ClassLib="_baza.vcx" BaseClass="checkbox" /> + + ADD OBJECT '_checkbox3' AS _checkbox WITH ; + Alignment = 0, ; + Caption = "Preluare gestiune din inregistrarile anterioare ale clientului", ; + ControlSource = "m.gnEFACTURA_GEST_ART_EF", ; + Left = 12, ; + Name = "_checkbox3", ; + TabIndex = 14, ; + Top = 401 + *< END OBJECT: ClassLib="_baza.vcx" BaseClass="checkbox" /> + + ADD OBJECT '_checkbox4' AS _checkbox WITH ; + Alignment = 0, ; + Caption = "Preluare sectie din inregistrarile anterioare ale clientului", ; + Enabled = .F., ; + Left = 12, ; + Name = "_checkbox4", ; + TabIndex = 15, ; + Top = 424 + *< END OBJECT: ClassLib="_baza.vcx" BaseClass="checkbox" /> + + ADD OBJECT '_checkbox5' AS _checkbox WITH ; + Alignment = 0, ; + Caption = "Preluare tip ven/chlt din inregistrarile anterioare ale clientului", ; + Enabled = .F., ; + Left = 12, ; + Name = "_checkbox5", ; + TabIndex = 16, ; + Top = 443 + *< END OBJECT: ClassLib="_baza.vcx" BaseClass="checkbox" /> + + ADD OBJECT '_checkbox6' AS _checkbox WITH ; + Alignment = 0, ; + Caption = "Preluare contract din inregistrarile anterioare ale clientului", ; + Enabled = .F., ; + Left = 12, ; + Name = "_checkbox6", ; + TabIndex = 17, ; + Top = 464 + *< END OBJECT: ClassLib="_baza.vcx" BaseClass="checkbox" /> + + ADD OBJECT '_label1' AS _label WITH ; + Caption = "Facturi primite", ; + FontBold = .T., ; + Left = 14, ; + Name = "_label1", ; + TabIndex = 26, ; + Top = 41 + *< END OBJECT: ClassLib="_baza.vcx" BaseClass="label" /> + + ADD OBJECT '_label10' AS _label WITH ; + Anchor = 0, ; + Caption = "Sectie implicita", ; + Left = 12, ; + Name = "_label10", ; + TabIndex = 32, ; + Top = 569, ; + ZOrderSet = 26 + *< END OBJECT: ClassLib="_baza.vcx" BaseClass="label" /> + + ADD OBJECT '_label11' AS _label WITH ; + Anchor = 0, ; + Caption = "Tip ven/chlt implicit", ; + Left = 12, ; + Name = "_label11", ; + TabIndex = 34, ; + Top = 594, ; + ZOrderSet = 26 + *< END OBJECT: ClassLib="_baza.vcx" BaseClass="label" /> + + ADD OBJECT '_label2' AS _label WITH ; + Anchor = 0, ; + Caption = "Tip articole implicit", ; + Left = 14, ; + Name = "_label2", ; + TabIndex = 28, ; + Top = 224, ; + ZOrderSet = 26 + *< END OBJECT: ClassLib="_baza.vcx" BaseClass="label" /> + + ADD OBJECT '_label3' AS _label WITH ; + Anchor = 0, ; + Caption = "Gestiune implicita", ; + Left = 14, ; + Name = "_label3", ; + TabIndex = 30, ; + Top = 249, ; + ZOrderSet = 26 + *< END OBJECT: ClassLib="_baza.vcx" BaseClass="label" /> + + ADD OBJECT '_label4' AS _label WITH ; + Anchor = 0, ; + Caption = "Sectie implicita", ; + Left = 14, ; + Name = "_label4", ; + TabIndex = 33, ; + Top = 274, ; + ZOrderSet = 26 + *< END OBJECT: ClassLib="_baza.vcx" BaseClass="label" /> + + ADD OBJECT '_label5' AS _label WITH ; + Anchor = 0, ; + Caption = "Tip ven/chlt implicit", ; + Left = 14, ; + Name = "_label5", ; + TabIndex = 31, ; + Top = 296, ; + ZOrderSet = 26 + *< END OBJECT: ClassLib="_baza.vcx" BaseClass="label" /> + + ADD OBJECT '_label6' AS _label WITH ; + Caption = "Facturi emise", ; + FontBold = .T., ; + Left = 12, ; + Name = "_label6", ; + TabIndex = 37, ; + Top = 335 + *< END OBJECT: ClassLib="_baza.vcx" BaseClass="label" /> + + ADD OBJECT '_label7' AS _label WITH ; + Anchor = 0, ; + Caption = "Cont articole implicit", ; + Left = 12, ; + Name = "_label7", ; + TabIndex = 36, ; + Top = 493, ; + ZOrderSet = 26 + *< END OBJECT: ClassLib="_baza.vcx" BaseClass="label" /> + + ADD OBJECT '_label8' AS _label WITH ; + Anchor = 0, ; + Caption = "Tip articole implicit", ; + Left = 12, ; + Name = "_label8", ; + TabIndex = 35, ; + Top = 517, ; + ZOrderSet = 26 + *< END OBJECT: ClassLib="_baza.vcx" BaseClass="label" /> + + ADD OBJECT '_label9' AS _label WITH ; + Anchor = 0, ; + Caption = "Gestiune implicita", ; + Left = 12, ; + Name = "_label9", ; + TabIndex = 29, ; + Top = 543, ; + ZOrderSet = 26 + *< END OBJECT: ClassLib="_baza.vcx" BaseClass="label" /> + + ADD OBJECT 'But_renunt1' AS but_renunt WITH ; + Anchor = 8, ; + Left = 365, ; + Name = "But_renunt1", ; + TabIndex = 24, ; + Top = 2 + *< END OBJECT: ClassLib="cmd_butoane.vcx" BaseClass="commandbutton" /> + + ADD OBJECT 'cboContE' AS _cbsearch WITH ; + BoundColumn = 1, ; + BoundTo = .T., ; + ColumnCount = 3, ; + ColumnLines = .F., ; + ColumnWidths = "50,250,50", ; + ControlSource = "m.gcEFACTURA_CONT_ART_E", ; + Format = "K", ; + Height = 24, ; + Left = 144, ; + Name = "cboContE", ; + RowSource = "cPlContE.cont, explicatie, tip_sold", ; + RowSourceType = 6, ; + TabIndex = 18, ; + Top = 489, ; + Width = 87, ; + ZOrderSet = 24 + *< END OBJECT: ClassLib="_cb_base.vcx" BaseClass="combobox" /> + + ADD OBJECT 'cboContP' AS _cbsearch WITH ; + BoundColumn = 1, ; + BoundTo = .T., ; + ColumnCount = 3, ; + ColumnLines = .F., ; + ColumnWidths = "50,250,50", ; + ControlSource = "m.gcEFACTURA_CONT_ART_P", ; + Format = "K", ; + Height = 24, ; + Left = 144, ; + Name = "cboContP", ; + RowSource = "cPlContP.cont, explicatie, tip_sold", ; + RowSourceType = 6, ; + TabIndex = 7, ; + Top = 196, ; + Width = 87, ; + ZOrderSet = 24 + *< END OBJECT: ClassLib="_cb_base.vcx" BaseClass="combobox" /> + + ADD OBJECT 'cboGestiuneE' AS _cbsearch WITH ; + BoundColumn = 3, ; + BoundTo = .T., ; + ColumnCount = 2, ; + ColumnLines = .F., ; + ColumnWidths = "300,50", ; + ControlSource = "m.gnEFACTURA_ID_GESTIUNE_E", ; + Format = "K", ; + Height = 24, ; + Left = 144, ; + Name = "cboGestiuneE", ; + RowSource = "cGestiuniE.nume_gestiune, cont, id_gestiune", ; + RowSourceType = 6, ; + TabIndex = 20, ; + Top = 539, ; + Width = 178, ; + ZOrderSet = 24 + *< END OBJECT: ClassLib="_cb_base.vcx" BaseClass="combobox" /> + + ADD OBJECT 'cboGestiuneP' AS _cbsearch WITH ; + BoundColumn = 3, ; + BoundTo = .T., ; + ColumnCount = 2, ; + ColumnLines = .F., ; + ColumnWidths = "300,50", ; + ControlSource = "m.gnEFACTURA_ID_GESTIUNE_P", ; + Format = "K", ; + Height = 24, ; + Left = 144, ; + Name = "cboGestiuneP", ; + RowSource = "cGestiuniP.nume_gestiune, cont, id_gestiune", ; + RowSourceType = 6, ; + TabIndex = 9, ; + Top = 246, ; + Width = 178, ; + ZOrderSet = 24 + *< END OBJECT: ClassLib="_cb_base.vcx" BaseClass="combobox" /> + + ADD OBJECT 'cboSectieE' AS _cbsearch WITH ; + BoundColumn = 2, ; + BoundTo = .T., ; + ColumnCount = 1, ; + ColumnLines = .F., ; + ColumnWidths = "300", ; + ControlSource = "m.gnEFACTURA_ID_SECTIE_E", ; + Format = "K", ; + Height = 24, ; + Left = 144, ; + Name = "cboSectieE", ; + RowSource = "cSectiiE.sectie, id_sectie", ; + RowSourceType = 6, ; + TabIndex = 21, ; + Top = 564, ; + Width = 178, ; + ZOrderSet = 24 + *< END OBJECT: ClassLib="_cb_base.vcx" BaseClass="combobox" /> + + ADD OBJECT 'cboSectieP' AS _cbsearch WITH ; + BoundColumn = 2, ; + BoundTo = .T., ; + ColumnCount = 1, ; + ColumnLines = .F., ; + ColumnWidths = "300", ; + ControlSource = "m.gnEFACTURA_ID_SECTIE_P", ; + Format = "K", ; + Height = 24, ; + Left = 144, ; + Name = "cboSectieP", ; + RowSource = "cSectiiP.sectie, id_sectie", ; + RowSourceType = 6, ; + TabIndex = 10, ; + Top = 271, ; + Width = 178, ; + ZOrderSet = 24 + *< END OBJECT: ClassLib="_cb_base.vcx" BaseClass="combobox" /> + + ADD OBJECT 'cboTipArticoleE' AS _cbsearch WITH ; + BoundColumn = 3, ; + BoundTo = .T., ; + ColumnCount = 3, ; + ColumnLines = .F., ; + ColumnWidths = "300,50,50", ; + ControlSource = "m.gnEFACTURA_ID_TIPART_E", ; + Format = "K", ; + Height = 24, ; + Left = 144, ; + Name = "cboTipArticoleE", ; + RowSource = "cTipArticoleE.tip, cont, id", ; + RowSourceType = 6, ; + TabIndex = 19, ; + Top = 514, ; + Width = 178, ; + ZOrderSet = 24 + *< END OBJECT: ClassLib="_cb_base.vcx" BaseClass="combobox" /> + + ADD OBJECT 'cboTipArticoleP' AS _cbsearch WITH ; + BoundColumn = 3, ; + BoundTo = .T., ; + ColumnCount = 3, ; + ColumnLines = .F., ; + ColumnWidths = "300,50,50", ; + ControlSource = "m.gnEFACTURA_ID_TIPART_P", ; + Format = "K", ; + Height = 24, ; + Left = 144, ; + Name = "cboTipArticoleP", ; + RowSource = "cTipArticoleP.tip, cont, id", ; + RowSourceType = 6, ; + TabIndex = 8, ; + Top = 221, ; + Width = 178, ; + ZOrderSet = 24 + *< END OBJECT: ClassLib="_cb_base.vcx" BaseClass="combobox" /> + + ADD OBJECT 'cboVenCheltE' AS _cbsearch WITH ; + BoundColumn = 3, ; + BoundTo = .T., ; + ColumnCount = 2, ; + ColumnLines = .F., ; + ColumnWidths = "300,50", ; + ControlSource = "m.gnEFACTURA_ID_VENCHELT_E", ; + Format = "K", ; + Height = 24, ; + Left = 144, ; + Name = "cboVenCheltE", ; + RowSource = "cVenChelE.venchelt, tip, id_venchelt", ; + RowSourceType = 6, ; + TabIndex = 22, ; + Top = 589, ; + Width = 178, ; + ZOrderSet = 24 + *< END OBJECT: ClassLib="_cb_base.vcx" BaseClass="combobox" /> + + ADD OBJECT 'cboVenCheltP' AS _cbsearch WITH ; + BoundColumn = 3, ; + BoundTo = .T., ; + ColumnCount = 2, ; + ColumnLines = .F., ; + ColumnWidths = "300,50", ; + ControlSource = "m.gnEFACTURA_ID_VENCHELT_P", ; + Format = "K", ; + Height = 24, ; + Left = 144, ; + Name = "cboVenCheltP", ; + RowSource = "cVenChelP.venchelt, tip, id_venchelt", ; + RowSourceType = 6, ; + TabIndex = 11, ; + Top = 296, ; + Width = 178, ; + ZOrderSet = 24 + *< END OBJECT: ClassLib="_cb_base.vcx" BaseClass="combobox" /> + + ADD OBJECT 'chkContP' AS _checkbox WITH ; + Alignment = 0, ; + Caption = "Preluare cont contabil din inregistrarile anterioare ale furnizorului", ; + ControlSource = "m.gnEFACTURA_CONT_ART_PF", ; + Left = 14, ; + Name = "chkContP", ; + TabIndex = 1, ; + Top = 65 + *< END OBJECT: ClassLib="_baza.vcx" BaseClass="checkbox" /> + + ADD OBJECT 'chkContractP' AS _checkbox WITH ; + Alignment = 0, ; + Caption = "Preluare contract din inregistrarile anterioare ale furnizorului", ; + Enabled = .F., ; + Left = 14, ; + Name = "chkContractP", ; + TabIndex = 6, ; + Top = 170 + *< END OBJECT: ClassLib="_baza.vcx" BaseClass="checkbox" /> + + ADD OBJECT 'chkGestiuneP' AS _checkbox WITH ; + Alignment = 0, ; + Caption = "Preluare gestiune din inregistrarile anterioare ale furnizorului", ; + ControlSource = "m.gnEFACTURA_GEST_ART_PF", ; + Left = 14, ; + Name = "chkGestiuneP", ; + TabIndex = 3, ; + Top = 107 + *< END OBJECT: ClassLib="_baza.vcx" BaseClass="checkbox" /> + + ADD OBJECT 'chkSectieP' AS _checkbox WITH ; + Alignment = 0, ; + Caption = "Preluare sectie din inregistrarile anterioare ale furnizorului", ; + Enabled = .F., ; + Left = 14, ; + Name = "chkSectieP", ; + TabIndex = 4, ; + Top = 130 + *< END OBJECT: ClassLib="_baza.vcx" BaseClass="checkbox" /> + + ADD OBJECT 'chkTipP' AS _checkbox WITH ; + Alignment = 0, ; + Caption = "Preluare tip articol din inregistrarile anterioare ale furnizorului", ; + Enabled = .F., ; + Left = 14, ; + Name = "chkTipP", ; + TabIndex = 2, ; + Top = 86 + *< END OBJECT: ClassLib="_baza.vcx" BaseClass="checkbox" /> + + ADD OBJECT 'chkVenCheltP' AS _checkbox WITH ; + Alignment = 0, ; + Caption = "Preluare tip ven/chlt din inregistrarile anterioare ale furnizorului", ; + Enabled = .F., ; + Left = 14, ; + Name = "chkVenCheltP", ; + TabIndex = 5, ; + Top = 149 + *< END OBJECT: ClassLib="_baza.vcx" BaseClass="checkbox" /> + + ADD OBJECT 'lblCont' AS _label WITH ; + Anchor = 0, ; + Caption = "Cont articole implicit", ; + Left = 14, ; + Name = "lblCont", ; + TabIndex = 27, ; + Top = 199, ; + ZOrderSet = 26 + *< END OBJECT: ClassLib="_baza.vcx" BaseClass="label" /> + + PROCEDURE cboGestiuneE.Valid + gnEFACTURA_ID_GESTIUNE_E = cGestiuniE.id_gestiune + ENDPROC + + PROCEDURE cboGestiuneP.Valid + gnEFACTURA_ID_GESTIUNE_P = cGestiuniP.id_gestiune + + ENDPROC + + PROCEDURE cboSectieE.Valid + gnEFACTURA_ID_SECTIE_E = cSectiiE.id_sectie + ENDPROC + + PROCEDURE cboSectieP.Valid + gnEFACTURA_ID_SECTIE_P = cSectiiP.id_sectie + ENDPROC + + PROCEDURE cboTipArticoleE.Valid + gnEFACTURA_ID_TIPART_E = cTipArticoleE.id + ENDPROC + + PROCEDURE cboTipArticoleP.Valid + gnEFACTURA_ID_TIPART_P = cTipArticoleP.id + + ENDPROC + + PROCEDURE cboVenCheltE.Valid + gnEFACTURA_ID_VENCHELT_E = cVenChelE.id_venchelt + ENDPROC + + PROCEDURE cboVenCheltP.Valid + gnEFACTURA_ID_VENCHELT_P = cVenChelP.id_venchelt + ENDPROC + +ENDDEFINE + +DEFINE CLASS frm_import_efactura AS _frmbase OF "_frm_base.vcx" + *< CLASSDATA: Baseclass="form" Timestamp="" Scale="Pixels" Uniqueid="" /> + + *-- OBJECTDATA items order determines ZOrder / El orden de los items OBJECTDATA determina el ZOrder + *< OBJECTDATA: ObjPath="_shape3" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="grdDetaliiFacturi" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="grdDetaliiFacturi.cNr.Header1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="grdDetaliiFacturi.cNr.Text1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="grdDetaliiFacturi.cArticol.Header1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="grdDetaliiFacturi.cArticol.Text1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="grdDetaliiFacturi.cDetalii.Header1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="grdDetaliiFacturi.cDetalii.Text1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="grdDetaliiFacturi.cDetalii._editbox1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="grdDetaliiFacturi.cCantitate.Header1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="grdDetaliiFacturi.cCantitate.Text1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="grdDetaliiFacturi.cUM.Header1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="grdDetaliiFacturi.cUM.Text1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="grdDetaliiFacturi.cPret.Header1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="grdDetaliiFacturi.cPret.Text1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="grdDetaliiFacturi.cProcTVA.Header1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="grdDetaliiFacturi.cProcTVA.Text1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="grdDetaliiFacturi.cDescriere.Header1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="grdDetaliiFacturi.cDescriere.Text1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="grdDetaliiFacturi.cCont.Header1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="grdDetaliiFacturi.cCont.Text1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="grdDetaliiFacturi.cTip.Header1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="grdDetaliiFacturi.cTip.Text1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="grdDetaliiFacturi.cTip._combobox1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="grdDetaliiFacturi.cGestiune.Header1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="grdDetaliiFacturi.cGestiune.Text1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="grdDetaliiFacturi.cGestiune._combobox1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="grdDetaliiFacturi.cArticolROA.Header1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="grdDetaliiFacturi.cArticolROA.Text1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="grdDetaliiFacturi.cUMROA.Header1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="grdDetaliiFacturi.cUMROA.Text1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="grdDetaliiFacturi.cValoareFaraTVA.Header1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="grdDetaliiFacturi.cValoareFaraTVA.Text1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="grdDetaliiFacturi.cCodBare.Header1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="grdDetaliiFacturi.cCodBare.Text1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="grdDetaliiFacturi.cCodClient.Header1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="grdDetaliiFacturi.cCodClient.Text1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="grdDetaliiFacturi.cCodFurnizor.Header1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="grdDetaliiFacturi.cCodFurnizor.Text1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="grdDetaliiFacturi.cCodCPV.Header1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="grdDetaliiFacturi.cCodCPV.Text1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="grdDetaliiFacturi.cCodNC8.Header1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="grdDetaliiFacturi.cCodNC8.Text1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="grdDetaliiFacturi.cAcont.Header1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="grdDetaliiFacturi.cAcont.Text1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="grdDetaliiFacturi.cCodMatROA.Header1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="grdDetaliiFacturi.cCodMatROA.Text1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="grdDetaliiFacturi.cInStoc.Header1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="grdDetaliiFacturi.cInStoc.Text1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="grdDetaliiFacturi.cInStoc._CHECKBOX1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="grdDetaliiFacturi.cPretvTVA.Header1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="grdDetaliiFacturi.cPretvTVA.Text1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="grdDetaliiFacturi.cDiscountFaraTVA.Header1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="grdDetaliiFacturi.cDiscountFaraTVA.Text1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="grdDetaliiFacturi.cTipTVA.Header1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="grdDetaliiFacturi.cTipTVA.Text1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="grdDetaliiFacturi.cDistribuie.Header1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="grdDetaliiFacturi.cDistribuie.Text1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="grdDetaliiFacturi.cDistribuie._CHECKBOX1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="grdFacturi" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="grdFacturi.cAles.Header1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="grdFacturi.cAles.Text1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="grdFacturi.cAles._checkbox1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="grdFacturi.cNr.Header1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="grdFacturi.cNr.Text1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="grdFacturi.cData.Header1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="grdFacturi.cData.Text1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="grdFacturi.cDataTrimis.Header1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="grdFacturi.cDataTrimis.Text1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="grdFacturi.cCodFiscalEmitent.Header1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="grdFacturi.cCodFiscalEmitent.Text1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="grdFacturi.cTipMesajRaspuns.Header1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="grdFacturi.cTipMesajRaspuns.Text1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="grdFacturi.cIdDescarcare.Header1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="grdFacturi.cIdDescarcare.Text1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="grdFacturi.cTotalCuTVA.Header1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="grdFacturi.cTotalCuTVA.Text1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="grdFacturi.cNumeValuta.Header1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="grdFacturi.cNumeValuta.Text1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="grdFacturi.cJtotcTVA.Header1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="grdFacturi.cJtotcTVA.Text1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="grdFacturi.cDataScad.Header1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="grdFacturi.cDataScad.Text1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="grdFacturi.cDescriere.Header1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="grdFacturi.cDescriere.Text1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="grdFacturi.cDescriere._editbox1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="grdFacturi.cTotalFaraTVA.Header1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="grdFacturi.cTotalFaraTVA.Text1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="grdFacturi.cTotalTVA.Header1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="grdFacturi.cTotalTVA.Text1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="grdFacturi.cXFurnizor.Header1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="grdFacturi.cXFurnizor.Text1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="grdFacturi.cDiscount.Header1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="grdFacturi.cDiscount.Text1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="grdFacturi.cTaxe.Header1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="grdFacturi.cTaxe.Text1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="grdFacturi.cValoareFaraTVA.Header1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="grdFacturi.cValoareFaraTVA.Text1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="grdFacturi.cTotaldePlata.Header1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="grdFacturi.cTotaldePlata.Text1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="grdFacturi.cId.Header1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="grdFacturi.cId.Text1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="grdFacturi.cDetaliiPlata.Header1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="grdFacturi.cDetaliiPlata.Text1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="grdFacturi.cDetaliiPlata._editbox1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="grdFacturi.cDiferenta.Header1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="grdFacturi.cDiferenta.Text1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="grdFacturi.cIdIncarcare.Header1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="grdFacturi.cIdIncarcare.Text1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="grdFacturi.cProcesat.Header1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="grdFacturi.cProcesat.Text1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="grdFacturi.cProcesat._CHECKBOX1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="grdFacturi.cIdFact.Header1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="grdFacturi.cIdFact.Text1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="But_start_criterii1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="But_excel1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="But_reset_criterii1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="But_listare1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="Cmd_executa1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="lblNrAct" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="txtNrAct" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="lblDataAct" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="txtDataAct" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="lblDataScad" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="txtDataScad" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="lblSerieAct" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="txtSerieAct" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="lblPartener" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="txtCodFiscal" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="chkDistribuieDiscount" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="txtPartener" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="chkTVAIncasare" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="lblValuta" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="txtValuta" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="txtAcont" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="lblCurs" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="txtCurs" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="lblCont" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="txtCont" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="lblLucrare" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="txtLucrare" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="lblContract" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="txtContract" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="lblSectie" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="txtSectie" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="lblVenChelt" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="txtVenChelt" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="lblResponsabil" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="txtResponsabil" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="Cmd_executa2" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="txtExplicatia" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="_label1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="but_tip" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="but_cont" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="but_gestiune" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="But_nou1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="Cmd_executa3" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="Gridextra1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="Gridextra2" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="Lb_shortcuts1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="cboDeducere" UniqueID="" Timestamp="" /> + + * + *m: cauta_contract + *m: cauta_lucrare + *m: cauta_partener + *m: cauta_responsabil + *m: cauta_sectie + *m: cauta_valuta + *m: cauta_venchelt + *m: completeazadetaliifactura + *m: completeazafactura + *m: creeazanote + *m: importgeneral + *m: importmodifica + *m: listarenir + *m: modificanote + *m: scrienote + *p: lprimite + *p: nidborderou + *p: ninvaluta + *p: ntip && 0=tranzit, 1=cheiaj + *p: ntrimis + *p: oanaf + *p: ofactura + * + + * + BorderStyle = 1 + Caption = "Form" + cbuton7 = pgfeFactura.page1.cmdTrimite;pgfeFactura.page1.cmdRaspunsuri + DoCreate = .T. + FontBold = .F. + Height = 540 + lprimite = .T. + Name = "frm_import_efactura" + nidborderou = 0 + ninvaluta = 0 + ntip = 0 + ntrimis = 0 + oanaf = .NULL. + ofactura = .NULL. + Width = 792 + WindowState = 2 + _memberdata = + + + + + + + + + + + + + + + + _shape1.Anchor = 10 + _shape1.Height = 29 + _shape1.Left = -1 + _shape1.Name = "_shape1" + _shape1.Top = 0 + _shape1.Width = 822 + _shape1.ZOrderSet = 1 + _shape2.Left = 741 + _shape2.Name = "_shape2" + _shape2.Top = -1 + _shape2.ZOrderSet = 4 + Lb_titlu_alb_b121.Caption = "Introducere eFactura in ROA" + Lb_titlu_alb_b121.Left = 6 + Lb_titlu_alb_b121.Name = "Lb_titlu_alb_b121" + Lb_titlu_alb_b121.TabIndex = 28 + Lb_titlu_alb_b121.Top = 6 + Lb_titlu_alb_b121.ZOrderSet = 5 + BUT_TERMIN1.Anchor = 9 + BUT_TERMIN1.Left = 761 + BUT_TERMIN1.Name = "BUT_TERMIN1" + BUT_TERMIN1.TabIndex = 27 + BUT_TERMIN1.Top = 1 + BUT_TERMIN1.ZOrderSet = 9 + Gridsort1.Left = 780 + Gridsort1.Name = "Gridsort1" + Gridsort1.Top = 482 + * + + ADD OBJECT '_label1' AS _label WITH ; + Anchor = 0, ; + Caption = "Explicatia", ; + Left = 12, ; + Name = "_label1", ; + TabIndex = 32, ; + Top = 408, ; + ZOrderSet = 17 + *< END OBJECT: ClassLib="_baza.vcx" BaseClass="label" /> + + ADD OBJECT '_shape3' AS _shape WITH ; + Anchor = 10, ; + BackColor = 255,255,245, ; + BackStyle = 1, ; + Height = 125, ; + Left = 7, ; + Name = "_shape3", ; + Top = 306, ; + Width = 780, ; + ZOrderSet = 0 + *< END OBJECT: ClassLib="_baza.vcx" BaseClass="shape" /> + + ADD OBJECT 'but_cont' AS cmd_executa WITH ; + AutoSize = .F., ; + Caption = "Cont", ; + FontBold = .F., ; + FontUnderline = .T., ; + ForeColor = 0,128,192, ; + Height = 22, ; + Left = 70, ; + Name = "but_cont", ; + SpecialEffect = 2, ; + TabIndex = 45, ; + ToolTipText = "Completeaza contul curent pentru toate pozitiile necompletate", ; + Top = 436, ; + Width = 60 + *< END OBJECT: ClassLib="cmd_butoane.vcx" BaseClass="commandbutton" /> + + ADD OBJECT 'But_excel1' AS but_excel WITH ; + Anchor = 8, ; + caction = do_excel, ; + Left = 733, ; + Name = "But_excel1", ; + TabIndex = 29, ; + Top = 1, ; + Visible = .T., ; + ZOrderSet = 7 + *< END OBJECT: ClassLib="cmd_butoane.vcx" BaseClass="commandbutton" /> + + ADD OBJECT 'but_gestiune' AS cmd_executa WITH ; + AutoSize = .F., ; + Caption = "Gestiune", ; + FontBold = .F., ; + FontUnderline = .T., ; + ForeColor = 0,128,192, ; + Height = 22, ; + Left = 194, ; + Name = "but_gestiune", ; + SpecialEffect = 2, ; + TabIndex = 46, ; + ToolTipText = "Completeaza gestiunea curenta pentru toate pozitiile necompletate", ; + Top = 435, ; + Width = 60 + *< END OBJECT: ClassLib="cmd_butoane.vcx" BaseClass="commandbutton" /> + + ADD OBJECT 'But_listare1' AS but_listare WITH ; + Anchor = 9, ; + caction = do_listare, ; + Left = 702, ; + Name = "But_listare1", ; + TabIndex = 26, ; + Top = 1, ; + Visible = .T., ; + ZOrderSet = 11 + *< END OBJECT: ClassLib="cmd_butoane.vcx" BaseClass="commandbutton" /> + + ADD OBJECT 'But_nou1' AS but_nou WITH ; + Left = 554, ; + Name = "But_nou1", ; + TabIndex = 8, ; + Top = 308 + *< END OBJECT: ClassLib="cmd_butoane.vcx" BaseClass="commandbutton" /> + + ADD OBJECT 'But_reset_criterii1' AS but_reset_criterii WITH ; + Anchor = 9, ; + Left = 642, ; + Name = "But_reset_criterii1", ; + TabIndex = 24, ; + Top = 1, ; + Visible = .T., ; + ZOrderSet = 8 + *< END OBJECT: ClassLib="ocriterii.vcx" BaseClass="commandbutton" /> + + ADD OBJECT 'But_start_criterii1' AS but_start_criterii WITH ; + Anchor = 9, ; + Comment = "*:OnResize=RT", ; + Left = 671, ; + Name = "But_start_criterii1", ; + TabIndex = 25, ; + Top = 1, ; + ZOrderSet = 6 + *< END OBJECT: ClassLib="ocriterii.vcx" BaseClass="commandbutton" /> + + ADD OBJECT 'but_tip' AS cmd_executa WITH ; + AutoSize = .F., ; + Caption = "Tip", ; + FontBold = .F., ; + FontUnderline = .T., ; + ForeColor = 0,128,192, ; + Height = 22, ; + Left = 10, ; + Name = "but_tip", ; + SpecialEffect = 2, ; + TabIndex = 44, ; + ToolTipText = "Completeaza tipul curent pentru toate pozitiile necompletate", ; + Top = 435, ; + Width = 60 + *< END OBJECT: ClassLib="cmd_butoane.vcx" BaseClass="commandbutton" /> + + ADD OBJECT 'cboDeducere' AS _combobox WITH ; + BoundColumn = 2, ; + BoundTo = .T., ; + ColumnCount = 2, ; + ColumnLines = .F., ; + ColumnWidths = "100,0", ; + Height = 24, ; + Left = 525, ; + Name = "cboDeducere", ; + RowSource = "Fara deducere, 0,Limitare 50%, 1,Limitare 100%,2", ; + RowSourceType = 1, ; + Top = 406, ; + Value = 0, ; + Width = 155 + *< END OBJECT: ClassLib="_baza.vcx" BaseClass="combobox" /> + + ADD OBJECT 'chkDistribuieDiscount' AS _checkbox WITH ; + Alignment = 0, ; + Anchor = 0, ; + BackColor = 128,128,255, ; + BackStyle = 1, ; + Caption = "Distribuie discount/taxe", ; + ControlSource = "", ; + ForeColor = 255,255,255, ; + Left = 524, ; + Name = "chkDistribuieDiscount", ; + TabIndex = 10, ; + ToolTipText = "Distribuie discount pe articole", ; + Top = 388, ; + Value = .F., ; + ZOrderSet = 23 + *< END OBJECT: ClassLib="_baza.vcx" BaseClass="checkbox" /> + + ADD OBJECT 'chkTVAIncasare' AS _checkbox WITH ; + Alignment = 0, ; + Anchor = 0, ; + Caption = "TVA inc.", ; + ControlSource = "crsFacturi.TVAIncasare", ; + Left = 589, ; + Name = "chkTVAIncasare", ; + TabIndex = 9, ; + Top = 314, ; + ZOrderSet = 23 + *< END OBJECT: ClassLib="_baza.vcx" BaseClass="checkbox" /> + + ADD OBJECT 'Cmd_executa1' AS cmd_executa WITH ; + Anchor = 0, ; + BackColor = 128,128,255, ; + Caption = "\ + + ADD OBJECT 'Cmd_executa2' AS cmd_executa WITH ; + Anchor = 0, ; + Caption = "\ + + ADD OBJECT 'Cmd_executa3' AS cmd_executa WITH ; + AutoSize = .F., ; + Caption = "Analitic", ; + FontBold = .F., ; + FontUnderline = .T., ; + ForeColor = 0,128,192, ; + Height = 22, ; + Left = 131, ; + Name = "Cmd_executa3", ; + SpecialEffect = 2, ; + TabIndex = 47, ; + ToolTipText = "Completeaza contul analitic curent pentru toate pozitiile necompletate cu acelasi cont", ; + Top = 435, ; + Width = 60 + *< END OBJECT: ClassLib="cmd_butoane.vcx" BaseClass="commandbutton" /> + + ADD OBJECT 'grdDetaliiFacturi' AS _grdbase WITH ; + Anchor = 15, ; + BackColor = 255,255,255, ; + ColumnCount = 26, ; + DeleteMark = .F., ; + FontName = "Arial", ; + FontSize = 10, ; + GridLineColor = 192,192,192, ; + HeaderHeight = 37, ; + Height = 76, ; + lcamptextneeditabil = .F., ; + Left = 7, ; + Name = "grdDetaliiFacturi", ; + Panel = 1, ; + ReadOnly = .T., ; + RecordMark = .T., ; + RecordSource = "crsdetaliifacturi", ; + RowHeight = 19, ; + TabIndex = 23, ; + Top = 458, ; + Width = 780, ; + ZOrderSet = 2, ; + Column1.BackColor = 255,255,255, ; + Column1.ColumnOrder = 1, ; + Column1.ControlSource = "crsdetaliifacturi.nr", ; + Column1.FontName = "Arial", ; + Column1.FontSize = 10, ; + Column1.Name = "cNr", ; + Column1.ReadOnly = .T., ; + Column1.Width = 37, ; + Column2.BackColor = 255,255,255, ; + Column2.ColumnOrder = 3, ; + Column2.ControlSource = "crsdetaliifacturi.articol", ; + Column2.FontName = "Arial", ; + Column2.FontSize = 10, ; + Column2.Name = "cArticol", ; + Column2.ReadOnly = .T., ; + Column2.Width = 146, ; + Column3.BackColor = 255,255,255, ; + Column3.ColumnOrder = 18, ; + Column3.ControlSource = "crsdetaliifacturi.detalii", ; + Column3.CurrentControl = "Text1", ; + Column3.FontName = "Arial", ; + Column3.FontSize = 10, ; + Column3.Name = "cDetalii", ; + Column3.ReadOnly = .T., ; + Column3.Width = 189, ; + Column4.BackColor = 255,255,255, ; + Column4.ColumnOrder = 9, ; + Column4.ControlSource = "crsdetaliifacturi.cantitate", ; + Column4.FontName = "Arial", ; + Column4.FontSize = 10, ; + Column4.Format = "RK", ; + Column4.Name = "cCantitate", ; + Column4.ReadOnly = .F., ; + Column4.Width = 76, ; + Column5.BackColor = 255,255,255, ; + Column5.ColumnOrder = 15, ; + Column5.ControlSource = "crsDetaliiFacturi.um_iso", ; + Column5.CurrentControl = "Text1", ; + Column5.FontName = "Arial", ; + Column5.FontSize = 10, ; + Column5.Name = "cUM", ; + Column5.ReadOnly = .T., ; + Column5.Width = 69, ; + Column6.BackColor = 255,255,255, ; + Column6.ColumnOrder = 10, ; + Column6.ControlSource = "crsdetaliifacturi.pret", ; + Column6.FontName = "Arial", ; + Column6.FontSize = 10, ; + Column6.Format = "RK", ; + Column6.Name = "cPret", ; + Column6.ReadOnly = .T., ; + Column6.Width = 99, ; + Column7.BackColor = 255,255,255, ; + Column7.ColumnOrder = 13, ; + Column7.ControlSource = "crsdetaliifacturi.proctva", ; + Column7.FontName = "Arial", ; + Column7.FontSize = 10, ; + Column7.Name = "cProcTVA", ; + Column7.ReadOnly = .T., ; + Column7.Width = 39, ; + Column8.BackColor = 255,255,255, ; + Column8.ColumnOrder = 17, ; + Column8.ControlSource = "crsdetaliifacturi.descriere", ; + Column8.FontName = "Arial", ; + Column8.FontSize = 10, ; + Column8.Name = "cDescriere", ; + Column8.ReadOnly = .T., ; + Column8.Width = 162, ; + Column9.BackColor = 255,255,255, ; + Column9.ColumnOrder = 6, ; + Column9.ControlSource = "crsdetaliifacturi.cont", ; + Column9.DynamicBackColor = "RGB(255,255,240)", ; + Column9.FontName = "Arial", ; + Column9.FontSize = 10, ; + Column9.Name = "cCont", ; + Column9.ReadOnly = .F., ; + Column9.Width = 49, ; + Column10.BackColor = 255,255,255, ; + Column10.Bound = .F., ; + Column10.ColumnOrder = 2, ; + Column10.ControlSource = "Iif(Seek(crsDetaliiFacturi.id_tip,'cTip','id'),cTip.tip,'')", ; + Column10.CurrentControl = "_combobox1", ; + Column10.FontName = "Arial", ; + Column10.FontSize = 10, ; + Column10.Name = "cTip", ; + Column10.ReadOnly = .F., ; + Column10.Sparse = .T., ; + Column10.Width = 139, ; + Column11.BackColor = 255,255,255, ; + Column11.Bound = .F., ; + Column11.ColumnOrder = 8, ; + Column11.ControlSource = "Iif(Seek(crsDetaliiFacturi.id_gestiune,'cGestiuni','id_gest'),cGestiuni.nume_gestiune,'')", ; + Column11.CurrentControl = "_combobox1", ; + Column11.DynamicBackColor = "RGB(255,255,240)", ; + Column11.FontName = "Arial", ; + Column11.FontSize = 10, ; + Column11.Name = "cGestiune", ; + Column11.ReadOnly = .F., ; + Column11.Sparse = .T., ; + Column11.Width = 143, ; + Column12.BackColor = 255,255,255, ; + Column12.ColumnOrder = 4, ; + Column12.ControlSource = "crsDetaliiFacturi.articol_roa", ; + Column12.CurrentControl = "Text1", ; + Column12.DynamicBackColor = "RGB(255,255,240)", ; + Column12.FontName = "Arial", ; + Column12.FontSize = 10, ; + Column12.Name = "cArticolROA", ; + Column12.ReadOnly = .F., ; + Column12.Sparse = .T., ; + Column12.ToolTipText = "Dublu click = Alege articol ; Click dreapta = Adauga / Alege articol", ; + Column12.Width = 182, ; + Column13.BackColor = 255,255,255, ; + Column13.ColumnOrder = 16, ; + Column13.ControlSource = "crsDetaliiFacturi.um_roa", ; + Column13.CurrentControl = "Text1", ; + Column13.FontName = "Arial", ; + Column13.FontSize = 10, ; + Column13.Name = "cUMROA", ; + Column13.ReadOnly = .F., ; + Column14.BackColor = 255,255,255, ; + Column14.ColumnOrder = 11, ; + Column14.ControlSource = "crsdetaliifacturi.valoarefaratva", ; + Column14.FontName = "Arial", ; + Column14.FontSize = 10, ; + Column14.Format = "RK", ; + Column14.Name = "cValoareFaraTVA", ; + Column14.ReadOnly = .T., ; + Column14.Width = 102, ; + Column15.BackColor = 255,255,255, ; + Column15.ColumnOrder = 19, ; + Column15.ControlSource = "codbare", ; + Column15.FontName = "Arial", ; + Column15.FontSize = 10, ; + Column15.Name = "cCodBare", ; + Column15.ReadOnly = .T., ; + Column16.BackColor = 255,255,255, ; + Column16.ColumnOrder = 20, ; + Column16.ControlSource = "codclient", ; + Column16.FontName = "Arial", ; + Column16.FontSize = 10, ; + Column16.Name = "cCodClient", ; + Column16.ReadOnly = .T., ; + Column17.BackColor = 255,255,255, ; + Column17.ColumnOrder = 21, ; + Column17.ControlSource = "codfurnizor", ; + Column17.FontName = "Arial", ; + Column17.FontSize = 10, ; + Column17.Name = "cCodFurnizor", ; + Column17.ReadOnly = .T., ; + Column18.BackColor = 255,255,255, ; + Column18.ColumnOrder = 22, ; + Column18.ControlSource = "codcpv", ; + Column18.FontName = "Arial", ; + Column18.FontSize = 10, ; + Column18.Name = "cCodCPV", ; + Column18.ReadOnly = .T., ; + Column19.BackColor = 255,255,255, ; + Column19.ColumnOrder = 23, ; + Column19.ControlSource = "codnc8", ; + Column19.FontName = "Arial", ; + Column19.FontSize = 10, ; + Column19.Name = "cCodNC8", ; + Column19.ReadOnly = .T., ; + Column20.BackColor = 255,255,255, ; + Column20.ColumnOrder = 7, ; + Column20.ControlSource = "crsdetaliifacturi.acont", ; + Column20.DynamicBackColor = "RGB(255,255,240)", ; + Column20.FontName = "Arial", ; + Column20.FontSize = 10, ; + Column20.Name = "cAcont", ; + Column20.ReadOnly = .F., ; + Column20.Width = 43, ; + Column21.BackColor = 255,255,255, ; + Column21.ColumnOrder = 5, ; + Column21.ControlSource = "codmat_roa", ; + Column21.FontName = "Arial", ; + Column21.FontSize = 10, ; + Column21.Name = "cCodMatROA", ; + Column21.ReadOnly = .T., ; + Column22.BackColor = 255,255,255, ; + Column22.ColumnOrder = 24, ; + Column22.ControlSource = "crsDetaliiFacturi.in_stoc", ; + Column22.CurrentControl = "_CHECKBOX1", ; + Column22.FontName = "Arial", ; + Column22.FontSize = 10, ; + Column22.Name = "cInStoc", ; + Column22.ReadOnly = .T., ; + Column22.Sparse = .F., ; + Column22.Width = 65, ; + Column23.BackColor = 255,255,255, ; + Column23.ColumnOrder = 14, ; + Column23.ControlSource = "crsdetaliifacturi.pretvtva", ; + Column23.DynamicBackColor = "RGB(255,255,240)", ; + Column23.FontName = "Arial", ; + Column23.FontSize = 10, ; + Column23.Format = "RK", ; + Column23.InputMask = (get_mask(12,gnPPRETV)), ; + Column23.Name = "cPretvTVA", ; + Column23.ReadOnly = .F., ; + Column23.Width = 97, ; + Column24.BackColor = 255,255,255, ; + Column24.ColumnOrder = 12, ; + Column24.ControlSource = "crsdetaliifacturi.discountfaratva", ; + Column24.FontName = "Arial", ; + Column24.FontSize = 10, ; + Column24.Name = "cDiscountFaraTVA", ; + Column24.ReadOnly = .T., ; + Column24.Width = 72, ; + Column25.BackColor = 255,255,255, ; + Column25.ColumnOrder = 25, ; + Column25.ControlSource = "tiptva", ; + Column25.FontName = "Arial", ; + Column25.FontSize = 10, ; + Column25.Name = "cTipTVA", ; + Column25.ReadOnly = .T., ; + Column25.Width = 50, ; + Column26.BackColor = 255,255,255, ; + Column26.ControlSource = "crsDetaliiFacturi.distribuie", ; + Column26.CurrentControl = "_CHECKBOX1", ; + Column26.FontName = "Arial", ; + Column26.FontSize = 10, ; + Column26.Name = "cDistribuie", ; + Column26.ReadOnly = .F., ; + Column26.Sparse = .F., ; + Column26.Width = 57 + *< END OBJECT: ClassLib="_grd_base.vcx" BaseClass="grid" /> + + ADD OBJECT 'grdDetaliiFacturi.cAcont.Header1' AS header WITH ; + Alignment = 2, ; + Caption = "Analitic", ; + Name = "Header1" + *< END OBJECT: BaseClass="header" /> + + ADD OBJECT 'grdDetaliiFacturi.cAcont.Text1' AS textbox WITH ; + BackColor = 255,255,255, ; + BorderStyle = 0, ; + FontSize = 10, ; + ForeColor = 0,0,0, ; + Margin = 0, ; + Name = "Text1", ; + ReadOnly = .F., ; + SelectedBackColor = 100,185,255 + *< END OBJECT: BaseClass="textbox" /> + + ADD OBJECT 'grdDetaliiFacturi.cArticol.Header1' AS header WITH ; + Alignment = 2, ; + Caption = "Articol eFactura", ; + FontSize = 10, ; + Name = "Header1" + *< END OBJECT: BaseClass="header" /> + + ADD OBJECT 'grdDetaliiFacturi.cArticol.Text1' AS textbox WITH ; + BackColor = 255,255,255, ; + BorderStyle = 0, ; + FontSize = 10, ; + ForeColor = 0,0,0, ; + Margin = 0, ; + Name = "Text1", ; + SelectedBackColor = 100,185,255 + *< END OBJECT: BaseClass="textbox" /> + + ADD OBJECT 'grdDetaliiFacturi.cArticolROA.Header1' AS header WITH ; + Alignment = 2, ; + Caption = "Articol ROA", ; + FontSize = 10, ; + Name = "Header1" + *< END OBJECT: BaseClass="header" /> + + ADD OBJECT 'grdDetaliiFacturi.cArticolROA.Text1' AS textbox WITH ; + BackColor = 255,255,255, ; + BorderStyle = 0, ; + FontSize = 10, ; + ForeColor = 0,0,0, ; + Margin = 0, ; + Name = "Text1", ; + ReadOnly = .F., ; + SelectedBackColor = 100,185,255 + *< END OBJECT: BaseClass="textbox" /> + + ADD OBJECT 'grdDetaliiFacturi.cCantitate.Header1' AS header WITH ; + Alignment = 2, ; + Caption = "Cantitate", ; + FontSize = 10, ; + Name = "Header1" + *< END OBJECT: BaseClass="header" /> + + ADD OBJECT 'grdDetaliiFacturi.cCantitate.Text1' AS textbox WITH ; + BackColor = 255,255,255, ; + BorderStyle = 0, ; + FontSize = 10, ; + ForeColor = 0,0,0, ; + Margin = 0, ; + Name = "Text1", ; + ReadOnly = .F., ; + SelectedBackColor = 100,185,255 + *< END OBJECT: BaseClass="textbox" /> + + ADD OBJECT 'grdDetaliiFacturi.cCodBare.Header1' AS header WITH ; + Alignment = 2, ; + Caption = "Cod bare", ; + FontSize = 10, ; + Name = "Header1" + *< END OBJECT: BaseClass="header" /> + + ADD OBJECT 'grdDetaliiFacturi.cCodBare.Text1' AS textbox WITH ; + BackColor = 255,255,255, ; + BorderStyle = 0, ; + FontSize = 10, ; + ForeColor = 0,0,0, ; + Margin = 0, ; + Name = "Text1", ; + ReadOnly = .T., ; + SelectedBackColor = 100,185,255 + *< END OBJECT: BaseClass="textbox" /> + + ADD OBJECT 'grdDetaliiFacturi.cCodClient.Header1' AS header WITH ; + Alignment = 2, ; + Caption = "Cod client", ; + FontSize = 10, ; + Name = "Header1" + *< END OBJECT: BaseClass="header" /> + + ADD OBJECT 'grdDetaliiFacturi.cCodClient.Text1' AS textbox WITH ; + BackColor = 255,255,255, ; + BorderStyle = 0, ; + FontSize = 10, ; + ForeColor = 0,0,0, ; + Margin = 0, ; + Name = "Text1", ; + ReadOnly = .T., ; + SelectedBackColor = 100,185,255 + *< END OBJECT: BaseClass="textbox" /> + + ADD OBJECT 'grdDetaliiFacturi.cCodCPV.Header1' AS header WITH ; + Alignment = 2, ; + Caption = "Cod CPV", ; + FontSize = 10, ; + Name = "Header1" + *< END OBJECT: BaseClass="header" /> + + ADD OBJECT 'grdDetaliiFacturi.cCodCPV.Text1' AS textbox WITH ; + BackColor = 255,255,255, ; + BorderStyle = 0, ; + FontSize = 10, ; + ForeColor = 0,0,0, ; + Margin = 0, ; + Name = "Text1", ; + ReadOnly = .T., ; + SelectedBackColor = 100,185,255 + *< END OBJECT: BaseClass="textbox" /> + + ADD OBJECT 'grdDetaliiFacturi.cCodFurnizor.Header1' AS header WITH ; + Alignment = 2, ; + Caption = "Cod furnizor", ; + FontSize = 10, ; + Name = "Header1" + *< END OBJECT: BaseClass="header" /> + + ADD OBJECT 'grdDetaliiFacturi.cCodFurnizor.Text1' AS textbox WITH ; + BackColor = 255,255,255, ; + BorderStyle = 0, ; + FontSize = 10, ; + ForeColor = 0,0,0, ; + Margin = 0, ; + Name = "Text1", ; + ReadOnly = .T., ; + SelectedBackColor = 100,185,255 + *< END OBJECT: BaseClass="textbox" /> + + ADD OBJECT 'grdDetaliiFacturi.cCodMatROA.Header1' AS header WITH ; + Caption = "Codmat ROA", ; + Name = "Header1" + *< END OBJECT: BaseClass="header" /> + + ADD OBJECT 'grdDetaliiFacturi.cCodMatROA.Text1' AS textbox WITH ; + BackColor = 255,255,255, ; + BorderStyle = 0, ; + ForeColor = 0,0,0, ; + Margin = 0, ; + Name = "Text1", ; + ReadOnly = .T., ; + SelectedBackColor = 100,185,255 + *< END OBJECT: BaseClass="textbox" /> + + ADD OBJECT 'grdDetaliiFacturi.cCodNC8.Header1' AS header WITH ; + Alignment = 2, ; + Caption = "Cod NC8", ; + FontSize = 10, ; + Name = "Header1" + *< END OBJECT: BaseClass="header" /> + + ADD OBJECT 'grdDetaliiFacturi.cCodNC8.Text1' AS textbox WITH ; + BackColor = 255,255,255, ; + BorderStyle = 0, ; + FontSize = 10, ; + ForeColor = 0,0,0, ; + Margin = 0, ; + Name = "Text1", ; + ReadOnly = .T., ; + SelectedBackColor = 100,185,255 + *< END OBJECT: BaseClass="textbox" /> + + ADD OBJECT 'grdDetaliiFacturi.cCont.Header1' AS header WITH ; + Alignment = 2, ; + Caption = "Cont", ; + FontSize = 10, ; + Name = "Header1" + *< END OBJECT: BaseClass="header" /> + + ADD OBJECT 'grdDetaliiFacturi.cCont.Text1' AS textbox WITH ; + BackColor = 255,255,255, ; + BorderStyle = 0, ; + FontSize = 10, ; + ForeColor = 0,0,0, ; + Margin = 0, ; + Name = "Text1", ; + ReadOnly = .F., ; + SelectedBackColor = 100,185,255 + *< END OBJECT: BaseClass="textbox" /> + + ADD OBJECT 'grdDetaliiFacturi.cDescriere.Header1' AS header WITH ; + Alignment = 2, ; + BackColor = 2,0,0, ; + Caption = "Descriere", ; + FontSize = 10, ; + Name = "Header1" + *< END OBJECT: BaseClass="header" /> + + ADD OBJECT 'grdDetaliiFacturi.cDescriere.Text1' AS textbox WITH ; + BackColor = 255,255,255, ; + BorderStyle = 0, ; + FontSize = 10, ; + ForeColor = 0,0,0, ; + Margin = 0, ; + Name = "Text1", ; + SelectedBackColor = 100,185,255 + *< END OBJECT: BaseClass="textbox" /> + + ADD OBJECT 'grdDetaliiFacturi.cDetalii._editbox1' AS _editbox WITH ; + Left = 37, ; + Name = "_editbox1", ; + Top = 47 + *< END OBJECT: ClassLib="_baza.vcx" BaseClass="editbox" /> + + ADD OBJECT 'grdDetaliiFacturi.cDetalii.Header1' AS header WITH ; + Alignment = 2, ; + Caption = "Detalii", ; + FontSize = 10, ; + Name = "Header1" + *< END OBJECT: BaseClass="header" /> + + ADD OBJECT 'grdDetaliiFacturi.cDetalii.Text1' AS textbox WITH ; + BackColor = 255,255,255, ; + BorderStyle = 0, ; + FontSize = 10, ; + ForeColor = 0,0,0, ; + Margin = 0, ; + Name = "Text1", ; + SelectedBackColor = 100,185,255 + *< END OBJECT: BaseClass="textbox" /> + + ADD OBJECT 'grdDetaliiFacturi.cDiscountFaraTVA.Header1' AS header WITH ; + Alignment = 2, ; + Caption = "Discount fara TVA", ; + FontSize = 10, ; + Name = "Header1", ; + WordWrap = .T. + *< END OBJECT: BaseClass="header" /> + + ADD OBJECT 'grdDetaliiFacturi.cDiscountFaraTVA.Text1' AS textbox WITH ; + BackColor = 255,255,255, ; + BorderStyle = 0, ; + FontSize = 10, ; + ForeColor = 0,0,0, ; + Margin = 0, ; + Name = "Text1", ; + ReadOnly = .T., ; + SelectedBackColor = 100,185,255 + *< END OBJECT: BaseClass="textbox" /> + + ADD OBJECT 'grdDetaliiFacturi.cDistribuie._CHECKBOX1' AS _checkbox WITH ; + Alignment = 2, ; + Caption = "", ; + ControlSource = "crsDetaliiFacturi.in_stoc", ; + Left = 39, ; + Name = "_CHECKBOX1", ; + ReadOnly = .F., ; + Top = 45 + *< END OBJECT: ClassLib="_baza.vcx" BaseClass="checkbox" /> + + ADD OBJECT 'grdDetaliiFacturi.cDistribuie.Header1' AS header WITH ; + Alignment = 2, ; + Caption = "Distribuie", ; + Name = "Header1" + *< END OBJECT: BaseClass="header" /> + + ADD OBJECT 'grdDetaliiFacturi.cDistribuie.Text1' AS textbox WITH ; + BackColor = 255,255,255, ; + BorderStyle = 0, ; + ForeColor = 0,0,0, ; + Margin = 0, ; + Name = "Text1", ; + SelectedBackColor = 100,185,255 + *< END OBJECT: BaseClass="textbox" /> + + ADD OBJECT 'grdDetaliiFacturi.cGestiune._combobox1' AS _combobox WITH ; + BorderStyle = 0, ; + BoundColumn = 2, ; + BoundTo = .T., ; + ControlSource = "crsdetaliifacturi.id_gestiune", ; + DisplayCount = 20, ; + FontSize = 10, ; + Left = 31, ; + Name = "_combobox1", ; + ReadOnly = .F., ; + RowSource = "cGestiuni2.nume_gestiune, id_gestiune", ; + RowSourceType = 6, ; + Top = 47 + *< END OBJECT: ClassLib="_baza.vcx" BaseClass="combobox" /> + + ADD OBJECT 'grdDetaliiFacturi.cGestiune.Header1' AS header WITH ; + Alignment = 2, ; + Caption = "Gestiune", ; + FontSize = 10, ; + Name = "Header1" + *< END OBJECT: BaseClass="header" /> + + ADD OBJECT 'grdDetaliiFacturi.cGestiune.Text1' AS textbox WITH ; + BackColor = 255,255,255, ; + BorderStyle = 0, ; + ForeColor = 0,0,0, ; + Margin = 0, ; + Name = "Text1", ; + SelectedBackColor = 100,185,255 + *< END OBJECT: BaseClass="textbox" /> + + ADD OBJECT 'grdDetaliiFacturi.cInStoc._CHECKBOX1' AS _checkbox WITH ; + Alignment = 2, ; + Caption = "", ; + ControlSource = "crsDetaliiFacturi.in_stoc", ; + Left = 48, ; + Name = "_CHECKBOX1", ; + Top = 33 + *< END OBJECT: ClassLib="_baza.vcx" BaseClass="checkbox" /> + + ADD OBJECT 'grdDetaliiFacturi.cInStoc.Header1' AS header WITH ; + Alignment = 2, ; + Caption = "Gestionabil ROA", ; + Name = "Header1", ; + WordWrap = .T. + *< END OBJECT: BaseClass="header" /> + + ADD OBJECT 'grdDetaliiFacturi.cInStoc.Text1' AS textbox WITH ; + BackColor = 255,255,255, ; + BorderStyle = 0, ; + ForeColor = 0,0,0, ; + Margin = 0, ; + Name = "Text1", ; + ReadOnly = .T., ; + SelectedBackColor = 100,185,255 + *< END OBJECT: BaseClass="textbox" /> + + ADD OBJECT 'grdDetaliiFacturi.cNr.Header1' AS header WITH ; + Alignment = 2, ; + Caption = "Nr", ; + FontSize = 10, ; + Name = "Header1" + *< END OBJECT: BaseClass="header" /> + + ADD OBJECT 'grdDetaliiFacturi.cNr.Text1' AS textbox WITH ; + BackColor = 255,255,255, ; + BorderStyle = 0, ; + FontSize = 10, ; + ForeColor = 0,0,0, ; + Margin = 0, ; + Name = "Text1", ; + SelectedBackColor = 100,185,255 + *< END OBJECT: BaseClass="textbox" /> + + ADD OBJECT 'grdDetaliiFacturi.cPret.Header1' AS header WITH ; + Alignment = 2, ; + Caption = "Pret achizitie fara TVA", ; + FontSize = 10, ; + Name = "Header1", ; + WordWrap = .T. + *< END OBJECT: BaseClass="header" /> + + ADD OBJECT 'grdDetaliiFacturi.cPret.Text1' AS textbox WITH ; + BackColor = 255,255,255, ; + BorderStyle = 0, ; + FontSize = 10, ; + ForeColor = 0,0,0, ; + Margin = 0, ; + Name = "Text1", ; + ReadOnly = .T., ; + SelectedBackColor = 100,185,255 + *< END OBJECT: BaseClass="textbox" /> + + ADD OBJECT 'grdDetaliiFacturi.cPretvTVA.Header1' AS header WITH ; + Alignment = 2, ; + Caption = "Pret vanzare cu TVA", ; + Name = "Header1", ; + WordWrap = .T. + *< END OBJECT: BaseClass="header" /> + + ADD OBJECT 'grdDetaliiFacturi.cPretvTVA.Text1' AS textbox WITH ; + BackColor = 255,255,255, ; + BorderStyle = 0, ; + ForeColor = 0,0,0, ; + Margin = 0, ; + Name = "Text1", ; + ReadOnly = .F., ; + SelectedBackColor = 100,185,255 + *< END OBJECT: BaseClass="textbox" /> + + ADD OBJECT 'grdDetaliiFacturi.cProcTVA.Header1' AS header WITH ; + Alignment = 2, ; + Caption = "% TVA", ; + FontSize = 10, ; + Name = "Header1" + *< END OBJECT: BaseClass="header" /> + + ADD OBJECT 'grdDetaliiFacturi.cProcTVA.Text1' AS textbox WITH ; + BackColor = 255,255,255, ; + BorderStyle = 0, ; + FontSize = 10, ; + ForeColor = 0,0,0, ; + Margin = 0, ; + Name = "Text1", ; + ReadOnly = .T., ; + SelectedBackColor = 100,185,255 + *< END OBJECT: BaseClass="textbox" /> + + ADD OBJECT 'grdDetaliiFacturi.cTip._combobox1' AS _combobox WITH ; + BorderStyle = 0, ; + BoundColumn = 4, ; + BoundTo = .T., ; + ControlSource = "crsdetaliifacturi.id_tip", ; + DisplayCount = 20, ; + FontSize = 10, ; + Left = 52, ; + Name = "_combobox1", ; + ReadOnly = .F., ; + RowSource = "select cast(alltrim(tip) + ' ' + alltrim(cont) as V(50)) as tip, cont, in_stoc, id from cTip order by ordine into cursor cTipTemp", ; + RowSourceType = 3, ; + Top = 47 + *< END OBJECT: ClassLib="_baza.vcx" BaseClass="combobox" /> + + ADD OBJECT 'grdDetaliiFacturi.cTip.Header1' AS header WITH ; + Alignment = 2, ; + Caption = "Tip", ; + FontSize = 10, ; + Name = "Header1" + *< END OBJECT: BaseClass="header" /> + + ADD OBJECT 'grdDetaliiFacturi.cTip.Text1' AS textbox WITH ; + BackColor = 255,255,255, ; + BorderStyle = 0, ; + ForeColor = 0,0,0, ; + Margin = 0, ; + Name = "Text1", ; + SelectedBackColor = 100,185,255 + *< END OBJECT: BaseClass="textbox" /> + + ADD OBJECT 'grdDetaliiFacturi.cTipTVA.Header1' AS header WITH ; + Alignment = 2, ; + Caption = "Tip TVA", ; + FontSize = 10, ; + Name = "Header1" + *< END OBJECT: BaseClass="header" /> + + ADD OBJECT 'grdDetaliiFacturi.cTipTVA.Text1' AS textbox WITH ; + BackColor = 255,255,255, ; + BorderStyle = 0, ; + FontSize = 10, ; + ForeColor = 0,0,0, ; + Margin = 0, ; + Name = "Text1", ; + ReadOnly = .T., ; + SelectedBackColor = 100,185,255 + *< END OBJECT: BaseClass="textbox" /> + + ADD OBJECT 'grdDetaliiFacturi.cUM.Header1' AS header WITH ; + Alignment = 2, ; + Caption = "UM", ; + FontSize = 10, ; + Name = "Header1" + *< END OBJECT: BaseClass="header" /> + + ADD OBJECT 'grdDetaliiFacturi.cUM.Text1' AS textbox WITH ; + BackColor = 255,255,255, ; + BorderStyle = 0, ; + FontSize = 10, ; + ForeColor = 0,0,0, ; + Margin = 0, ; + Name = "Text1", ; + SelectedBackColor = 100,185,255 + *< END OBJECT: BaseClass="textbox" /> + + ADD OBJECT 'grdDetaliiFacturi.cUMROA.Header1' AS header WITH ; + Alignment = 2, ; + Caption = "UM ROA", ; + FontSize = 10, ; + Name = "Header1" + *< END OBJECT: BaseClass="header" /> + + ADD OBJECT 'grdDetaliiFacturi.cUMROA.Text1' AS textbox WITH ; + BackColor = 255,255,255, ; + BorderStyle = 0, ; + ForeColor = 0,0,0, ; + Margin = 0, ; + Name = "Text1", ; + SelectedBackColor = 100,185,255 + *< END OBJECT: BaseClass="textbox" /> + + ADD OBJECT 'grdDetaliiFacturi.cValoareFaraTVA.Header1' AS header WITH ; + Alignment = 2, ; + Caption = "Valoare achizitie fara TVA", ; + FontSize = 10, ; + Name = "Header1", ; + WordWrap = .T. + *< END OBJECT: BaseClass="header" /> + + ADD OBJECT 'grdDetaliiFacturi.cValoareFaraTVA.Text1' AS textbox WITH ; + BackColor = 255,255,255, ; + BorderStyle = 0, ; + FontSize = 10, ; + ForeColor = 0,0,0, ; + Margin = 0, ; + Name = "Text1", ; + ReadOnly = .T., ; + SelectedBackColor = 100,185,255 + *< END OBJECT: BaseClass="textbox" /> + + ADD OBJECT 'grdFacturi' AS _grdbase WITH ; + Anchor = 11, ; + BackColor = 255,255,255, ; + ColumnCount = 25, ; + DeleteMark = .F., ; + FontName = "Arial", ; + FontSize = 10, ; + GridLineColor = 192,192,192, ; + HeaderHeight = 37, ; + Height = 265, ; + lcamptextneeditabil = .F., ; + Left = 7, ; + Name = "grdFacturi", ; + Panel = 1, ; + ReadOnly = .T., ; + RecordMark = .T., ; + RecordSource = "crsFacturi", ; + RowHeight = 19, ; + TabIndex = 22, ; + Top = 39, ; + Width = 780, ; + ZOrderSet = 3, ; + Column1.BackColor = 255,255,255, ; + Column1.ColumnOrder = 1, ; + Column1.ControlSource = "crsFacturi.ales", ; + Column1.CurrentControl = "_checkbox1", ; + Column1.FontName = "Arial", ; + Column1.FontSize = 10, ; + Column1.Name = "cAles", ; + Column1.ReadOnly = .F., ; + Column1.Sparse = .F., ; + Column1.Width = 26, ; + Column2.BackColor = 255,255,255, ; + Column2.ColumnOrder = 2, ; + Column2.ControlSource = "numar_act", ; + Column2.FontName = "Arial", ; + Column2.FontSize = 10, ; + Column2.Name = "cNr", ; + Column2.ReadOnly = .T., ; + Column2.Width = 86, ; + Column3.BackColor = 255,255,255, ; + Column3.ColumnOrder = 3, ; + Column3.ControlSource = "data_act", ; + Column3.FontName = "Arial", ; + Column3.FontSize = 10, ; + Column3.Name = "cData", ; + Column3.ReadOnly = .T., ; + Column3.Width = 69, ; + Column4.BackColor = 255,255,255, ; + Column4.ColumnOrder = 17, ; + Column4.ControlSource = "data_raspuns", ; + Column4.FontName = "Arial", ; + Column4.FontSize = 10, ; + Column4.Name = "cDataTrimis", ; + Column4.ReadOnly = .T., ; + Column5.BackColor = 255,255,255, ; + Column5.ColumnOrder = 6, ; + Column5.ControlSource = "cod_fiscal", ; + Column5.FontName = "Arial", ; + Column5.FontSize = 10, ; + Column5.Name = "cCodFiscalEmitent", ; + Column5.ReadOnly = .T., ; + Column5.Width = 108, ; + Column6.BackColor = 255,255,255, ; + Column6.ColumnOrder = 19, ; + Column6.ControlSource = "tip_mesaj_raspuns", ; + Column6.FontName = "Arial", ; + Column6.FontSize = 10, ; + Column6.Name = "cTipMesajRaspuns", ; + Column6.ReadOnly = .T., ; + Column6.Width = 130, ; + Column7.BackColor = 255,255,255, ; + Column7.ColumnOrder = 18, ; + Column7.ControlSource = "id_descarcare", ; + Column7.FontName = "Arial", ; + Column7.FontSize = 10, ; + Column7.Name = "cIdDescarcare", ; + Column7.ReadOnly = .T., ; + Column7.Width = 111, ; + Column8.BackColor = 255,255,255, ; + Column8.ColumnOrder = 13, ; + Column8.ControlSource = "total_cu_tva", ; + Column8.FontName = "Arial", ; + Column8.FontSize = 10, ; + Column8.Format = "RK", ; + Column8.InputMask = "999 999 999 999.99", ; + Column8.Name = "cTotalCuTVA", ; + Column8.ReadOnly = .T., ; + Column8.Width = 104, ; + Column9.BackColor = 255,255,255, ; + Column9.ColumnOrder = 16, ; + Column9.ControlSource = "nume_valuta", ; + Column9.FontName = "Arial", ; + Column9.FontSize = 10, ; + Column9.Name = "cNumeValuta", ; + Column9.ReadOnly = .T., ; + Column9.Width = 38, ; + Column10.BackColor = 255,255,255, ; + Column10.ColumnOrder = 14, ; + Column10.ControlSource = "jtotctva", ; + Column10.FontName = "Arial", ; + Column10.FontSize = 10, ; + Column10.Format = "RK", ; + Column10.InputMask = "999 999 999 999.99", ; + Column10.Name = "cJtotcTVA", ; + Column10.ReadOnly = .T., ; + Column10.Width = 99, ; + Column11.BackColor = 255,255,255, ; + Column11.ColumnOrder = 4, ; + Column11.ControlSource = "data_scad", ; + Column11.FontName = "Arial", ; + Column11.FontSize = 10, ; + Column11.Name = "cDataScad", ; + Column11.ReadOnly = .T., ; + Column11.Width = 88, ; + Column12.BackColor = 255,255,255, ; + Column12.ColumnOrder = 20, ; + Column12.ControlSource = "descriere", ; + Column12.CurrentControl = "_editbox1", ; + Column12.FontName = "Arial", ; + Column12.FontSize = 10, ; + Column12.Name = "cDescriere", ; + Column12.ReadOnly = .T., ; + Column12.Width = 160, ; + Column13.BackColor = 255,255,255, ; + Column13.ColumnOrder = 11, ; + Column13.ControlSource = "total_fara_tva", ; + Column13.FontName = "Arial", ; + Column13.FontSize = 10, ; + Column13.Format = "RK", ; + Column13.InputMask = "999 999 999 999.99", ; + Column13.Name = "cTotalFaraTVA", ; + Column13.ReadOnly = .T., ; + Column13.Width = 102, ; + Column14.BackColor = 255,255,255, ; + Column14.ColumnOrder = 12, ; + Column14.ControlSource = "total_tva", ; + Column14.FontName = "Arial", ; + Column14.FontSize = 10, ; + Column14.Format = "RK", ; + Column14.InputMask = "999 999 999 999.99", ; + Column14.Name = "cTotalTVA", ; + Column14.ReadOnly = .T., ; + Column14.Width = 105, ; + Column15.BackColor = 255,255,255, ; + Column15.ColumnOrder = 5, ; + Column15.ControlSource = "partener", ; + Column15.FontName = "Arial", ; + Column15.FontSize = 10, ; + Column15.Name = "cXFurnizor", ; + Column15.ReadOnly = .T., ; + Column15.Width = 180, ; + Column16.BackColor = 255,255,255, ; + Column16.ColumnOrder = 8, ; + Column16.ControlSource = "discount_fara_tva", ; + Column16.FontName = "Arial", ; + Column16.FontSize = 10, ; + Column16.Format = "RK", ; + Column16.InputMask = "999 999 999 999.99", ; + Column16.Name = "cDiscount", ; + Column16.ReadOnly = .T., ; + Column17.BackColor = 255,255,255, ; + Column17.ColumnOrder = 9, ; + Column17.ControlSource = "taxe_fara_tva", ; + Column17.FontName = "Arial", ; + Column17.FontSize = 10, ; + Column17.Format = "RK", ; + Column17.InputMask = "999 999 999 999.99", ; + Column17.Name = "cTaxe", ; + Column17.ReadOnly = .T., ; + Column18.BackColor = 255,255,255, ; + Column18.ColumnOrder = 7, ; + Column18.ControlSource = "valoare_fara_tva", ; + Column18.FontName = "Arial", ; + Column18.FontSize = 10, ; + Column18.Format = "RK", ; + Column18.InputMask = "999 999 999 999.99", ; + Column18.Name = "cValoareFaraTVA", ; + Column18.ReadOnly = .T., ; + Column18.Width = 102, ; + Column19.BackColor = 255,255,255, ; + Column19.ColumnOrder = 10, ; + Column19.ControlSource = "total_de_plata", ; + Column19.FontName = "Arial", ; + Column19.FontSize = 10, ; + Column19.Format = "RK", ; + Column19.InputMask = "999 999 999 999.99", ; + Column19.Name = "cTotaldePlata", ; + Column19.ReadOnly = .T., ; + Column19.Width = 106, ; + Column20.BackColor = 255,255,255, ; + Column20.ColumnOrder = 22, ; + Column20.ControlSource = "id", ; + Column20.FontName = "Arial", ; + Column20.FontSize = 10, ; + Column20.Name = "cId", ; + Column20.ReadOnly = .T., ; + Column21.BackColor = 255,255,255, ; + Column21.ColumnOrder = 21, ; + Column21.ControlSource = "detalii_plata", ; + Column21.CurrentControl = "_editbox1", ; + Column21.FontName = "Arial", ; + Column21.FontSize = 10, ; + Column21.Name = "cDetaliiPlata", ; + Column21.ReadOnly = .T., ; + Column21.Width = 145, ; + Column22.BackColor = 255,255,255, ; + Column22.ColumnOrder = 15, ; + Column22.ControlSource = "diferenta", ; + Column22.FontName = "Arial", ; + Column22.FontSize = 10, ; + Column22.Format = "RK", ; + Column22.InputMask = "999 999 999 999.99", ; + Column22.Name = "cDiferenta", ; + Column22.ReadOnly = .T., ; + Column22.Width = 94, ; + Column23.BackColor = 255,255,255, ; + Column23.ControlSource = "id_incarcare", ; + Column23.FontName = "Arial", ; + Column23.FontSize = 10, ; + Column23.Name = "cIdIncarcare", ; + Column23.ReadOnly = .T., ; + Column23.Width = 105, ; + Column24.BackColor = 255,255,255, ; + Column24.ControlSource = "crsFacturi.procesat", ; + Column24.CurrentControl = "_CHECKBOX1", ; + Column24.FontName = "Arial", ; + Column24.FontSize = 10, ; + Column24.Name = "cProcesat", ; + Column24.ReadOnly = .T., ; + Column24.Sparse = .F., ; + Column25.BackColor = 255,255,255, ; + Column25.ControlSource = "crsFacturi.id_fact", ; + Column25.FontName = "Arial", ; + Column25.FontSize = 10, ; + Column25.Name = "cIdFact", ; + Column25.ReadOnly = .T. + *< END OBJECT: ClassLib="_grd_base.vcx" BaseClass="grid" /> + + ADD OBJECT 'grdFacturi.cAles._checkbox1' AS _checkbox WITH ; + Alignment = 2, ; + Caption = "", ; + FontName = "Arial", ; + FontSize = 10, ; + Left = 17, ; + Name = "_checkbox1", ; + ReadOnly = .F., ; + Top = 62 + *< END OBJECT: ClassLib="_baza.vcx" BaseClass="checkbox" /> + + ADD OBJECT 'grdFacturi.cAles.Header1' AS header WITH ; + Alignment = 2, ; + Caption = "Ales", ; + FontName = "Arial", ; + FontSize = 10, ; + Name = "Header1" + *< END OBJECT: BaseClass="header" /> + + ADD OBJECT 'grdFacturi.cAles.Text1' AS textbox WITH ; + BackColor = 255,255,255, ; + BorderStyle = 0, ; + FontName = "Arial", ; + ForeColor = 0,0,0, ; + Margin = 0, ; + Name = "Text1", ; + ReadOnly = .T., ; + SelectedBackColor = 100,185,255 + *< END OBJECT: BaseClass="textbox" /> + + ADD OBJECT 'grdFacturi.cCodFiscalEmitent.Header1' AS header WITH ; + Alignment = 2, ; + Caption = "Cod fiscal", ; + FontName = "Arial", ; + FontSize = 10, ; + Name = "Header1" + *< END OBJECT: BaseClass="header" /> + + ADD OBJECT 'grdFacturi.cCodFiscalEmitent.Text1' AS textbox WITH ; + BackColor = 255,255,255, ; + BorderStyle = 0, ; + FontName = "Arial", ; + FontSize = 10, ; + ForeColor = 0,0,0, ; + Margin = 0, ; + Name = "Text1", ; + ReadOnly = .T., ; + SelectedBackColor = 100,185,255 + *< END OBJECT: BaseClass="textbox" /> + + ADD OBJECT 'grdFacturi.cData.Header1' AS header WITH ; + Alignment = 2, ; + Caption = "Data fact. ", ; + FontName = "Arial", ; + FontSize = 10, ; + Name = "Header1" + *< END OBJECT: BaseClass="header" /> + + ADD OBJECT 'grdFacturi.cData.Text1' AS textbox WITH ; + Alignment = 3, ; + BackColor = 255,255,255, ; + BorderStyle = 0, ; + FontName = "Arial", ; + FontSize = 10, ; + ForeColor = 0,0,0, ; + Margin = 0, ; + Name = "Text1", ; + ReadOnly = .T., ; + SelectedBackColor = 100,185,255 + *< END OBJECT: BaseClass="textbox" /> + + ADD OBJECT 'grdFacturi.cDataScad.Header1' AS header WITH ; + Alignment = 2, ; + Caption = "Data scadenta", ; + FontSize = 10, ; + Name = "Header1" + *< END OBJECT: BaseClass="header" /> + + ADD OBJECT 'grdFacturi.cDataScad.Text1' AS textbox WITH ; + BackColor = 255,255,255, ; + BorderStyle = 0, ; + FontSize = 10, ; + ForeColor = 0,0,0, ; + Margin = 0, ; + Name = "Text1", ; + ReadOnly = .T., ; + SelectedBackColor = 100,185,255 + *< END OBJECT: BaseClass="textbox" /> + + ADD OBJECT 'grdFacturi.cDataTrimis.Header1' AS header WITH ; + Alignment = 2, ; + Caption = "Data primit", ; + FontName = "Arial", ; + FontSize = 10, ; + Name = "Header1" + *< END OBJECT: BaseClass="header" /> + + ADD OBJECT 'grdFacturi.cDataTrimis.Text1' AS textbox WITH ; + BackColor = 255,255,255, ; + BorderStyle = 0, ; + FontName = "Arial", ; + FontSize = 10, ; + ForeColor = 0,0,0, ; + Margin = 0, ; + Name = "Text1", ; + ReadOnly = .T., ; + SelectedBackColor = 100,185,255 + *< END OBJECT: BaseClass="textbox" /> + + ADD OBJECT 'grdFacturi.cDescriere._editbox1' AS _editbox WITH ; + BorderStyle = 0, ; + FontSize = 10, ; + Left = 34, ; + Name = "_editbox1", ; + SpecialEffect = 1, ; + Top = 63 + *< END OBJECT: ClassLib="_baza.vcx" BaseClass="editbox" /> + + ADD OBJECT 'grdFacturi.cDescriere.Header1' AS header WITH ; + Alignment = 2, ; + Caption = "Descriere", ; + FontSize = 10, ; + Name = "Header1" + *< END OBJECT: BaseClass="header" /> + + ADD OBJECT 'grdFacturi.cDescriere.Text1' AS textbox WITH ; + BackColor = 255,255,255, ; + BorderStyle = 0, ; + FontSize = 10, ; + ForeColor = 0,0,0, ; + Margin = 0, ; + Name = "Text1", ; + ReadOnly = .T., ; + SelectedBackColor = 100,185,255 + *< END OBJECT: BaseClass="textbox" /> + + ADD OBJECT 'grdFacturi.cDetaliiPlata._editbox1' AS _editbox WITH ; + Left = 48, ; + Name = "_editbox1", ; + ReadOnly = .T., ; + Top = 75 + *< END OBJECT: ClassLib="_baza.vcx" BaseClass="editbox" /> + + ADD OBJECT 'grdFacturi.cDetaliiPlata.Header1' AS header WITH ; + Alignment = 2, ; + Caption = "Detalii plata", ; + Name = "Header1" + *< END OBJECT: BaseClass="header" /> + + ADD OBJECT 'grdFacturi.cDetaliiPlata.Text1' AS textbox WITH ; + BackColor = 255,255,255, ; + BorderStyle = 0, ; + ForeColor = 0,0,0, ; + Margin = 0, ; + Name = "Text1", ; + SelectedBackColor = 100,185,255 + *< END OBJECT: BaseClass="textbox" /> + + ADD OBJECT 'grdFacturi.cDiferenta.Header1' AS header WITH ; + Alignment = 2, ; + Caption = "Diferenta fata de Reg. Cumparari", ; + Name = "Header1", ; + WordWrap = .T. + *< END OBJECT: BaseClass="header" /> + + ADD OBJECT 'grdFacturi.cDiferenta.Text1' AS textbox WITH ; + BackColor = 255,255,255, ; + BorderStyle = 0, ; + FontSize = 10, ; + ForeColor = 0,0,0, ; + Margin = 0, ; + Name = "Text1", ; + SelectedBackColor = 100,185,255 + *< END OBJECT: BaseClass="textbox" /> + + ADD OBJECT 'grdFacturi.cDiscount.Header1' AS header WITH ; + Alignment = 2, ; + Caption = "Discount", ; + FontSize = 10, ; + Name = "Header1" + *< END OBJECT: BaseClass="header" /> + + ADD OBJECT 'grdFacturi.cDiscount.Text1' AS textbox WITH ; + BackColor = 255,255,255, ; + BorderStyle = 0, ; + FontSize = 10, ; + ForeColor = 0,0,0, ; + Margin = 0, ; + Name = "Text1", ; + SelectedBackColor = 100,185,255 + *< END OBJECT: BaseClass="textbox" /> + + ADD OBJECT 'grdFacturi.cId.Header1' AS header WITH ; + Alignment = 2, ; + Caption = "Id", ; + FontSize = 10, ; + Name = "Header1" + *< END OBJECT: BaseClass="header" /> + + ADD OBJECT 'grdFacturi.cId.Text1' AS textbox WITH ; + BackColor = 255,255,255, ; + BorderStyle = 0, ; + ForeColor = 0,0,0, ; + Margin = 0, ; + Name = "Text1", ; + ReadOnly = .T., ; + SelectedBackColor = 100,185,255 + *< END OBJECT: BaseClass="textbox" /> + + ADD OBJECT 'grdFacturi.cIdDescarcare.Header1' AS header WITH ; + Alignment = 2, ; + Caption = "Id descarcare", ; + FontName = "Arial", ; + FontSize = 10, ; + Name = "Header1" + *< END OBJECT: BaseClass="header" /> + + ADD OBJECT 'grdFacturi.cIdDescarcare.Text1' AS textbox WITH ; + BackColor = 255,255,255, ; + BorderStyle = 0, ; + FontName = "Arial", ; + FontSize = 10, ; + ForeColor = 0,0,0, ; + Margin = 0, ; + Name = "Text1", ; + ReadOnly = .T., ; + SelectedBackColor = 100,185,255 + *< END OBJECT: BaseClass="textbox" /> + + ADD OBJECT 'grdFacturi.cIdFact.Header1' AS header WITH ; + Alignment = 2, ; + Caption = "Id Fact", ; + Name = "Header1" + *< END OBJECT: BaseClass="header" /> + + ADD OBJECT 'grdFacturi.cIdFact.Text1' AS textbox WITH ; + BackColor = 255,255,255, ; + BorderStyle = 0, ; + FontSize = 10, ; + ForeColor = 0,0,0, ; + Margin = 0, ; + Name = "Text1", ; + ReadOnly = .T., ; + SelectedBackColor = 100,185,255 + *< END OBJECT: BaseClass="textbox" /> + + ADD OBJECT 'grdFacturi.cIdIncarcare.Header1' AS header WITH ; + Alignment = 2, ; + Caption = "Id incarcare", ; + Name = "Header1" + *< END OBJECT: BaseClass="header" /> + + ADD OBJECT 'grdFacturi.cIdIncarcare.Text1' AS textbox WITH ; + BackColor = 255,255,255, ; + BorderStyle = 0, ; + ForeColor = 0,0,0, ; + Margin = 0, ; + Name = "Text1", ; + ReadOnly = .T., ; + SelectedBackColor = 100,185,255 + *< END OBJECT: BaseClass="textbox" /> + + ADD OBJECT 'grdFacturi.cJtotcTVA.Header1' AS header WITH ; + Alignment = 2, ; + Caption = "Valoare cu TVA Reg. Cumparari", ; + FontSize = 10, ; + Name = "Header1", ; + WordWrap = .T. + *< END OBJECT: BaseClass="header" /> + + ADD OBJECT 'grdFacturi.cJtotcTVA.Text1' AS textbox WITH ; + BackColor = 255,255,255, ; + BorderStyle = 0, ; + FontSize = 10, ; + ForeColor = 0,0,0, ; + Margin = 0, ; + Name = "Text1", ; + SelectedBackColor = 100,185,255 + *< END OBJECT: BaseClass="textbox" /> + + ADD OBJECT 'grdFacturi.cNr.Header1' AS header WITH ; + Alignment = 2, ; + Caption = "Nr. fact.", ; + FontName = "Arial", ; + FontSize = 10, ; + Name = "Header1" + *< END OBJECT: BaseClass="header" /> + + ADD OBJECT 'grdFacturi.cNr.Text1' AS textbox WITH ; + BackColor = 255,255,255, ; + BorderStyle = 0, ; + FontName = "Arial", ; + FontSize = 10, ; + ForeColor = 0,0,0, ; + Margin = 0, ; + Name = "Text1", ; + ReadOnly = .T., ; + SelectedBackColor = 100,185,255 + *< END OBJECT: BaseClass="textbox" /> + + ADD OBJECT 'grdFacturi.cNumeValuta.Header1' AS header WITH ; + Alignment = 2, ; + Caption = "Valuta", ; + FontName = "Arial", ; + FontSize = 10, ; + Name = "Header1" + *< END OBJECT: BaseClass="header" /> + + ADD OBJECT 'grdFacturi.cNumeValuta.Text1' AS textbox WITH ; + BackColor = 255,255,255, ; + BorderStyle = 0, ; + FontName = "Arial", ; + FontSize = 10, ; + ForeColor = 0,0,0, ; + Margin = 0, ; + Name = "Text1", ; + ReadOnly = .T., ; + SelectedBackColor = 100,185,255 + *< END OBJECT: BaseClass="textbox" /> + + ADD OBJECT 'grdFacturi.cProcesat._CHECKBOX1' AS _checkbox WITH ; + Alignment = 2, ; + Caption = "", ; + Left = 48, ; + Name = "_CHECKBOX1", ; + Top = 63 + *< END OBJECT: ClassLib="_baza.vcx" BaseClass="checkbox" /> + + ADD OBJECT 'grdFacturi.cProcesat.Header1' AS header WITH ; + Alignment = 2, ; + Caption = "Procesat", ; + Name = "Header1" + *< END OBJECT: BaseClass="header" /> + + ADD OBJECT 'grdFacturi.cProcesat.Text1' AS textbox WITH ; + BackColor = 255,255,255, ; + BorderStyle = 0, ; + ForeColor = 0,0,0, ; + Margin = 0, ; + Name = "Text1", ; + ReadOnly = .T., ; + SelectedBackColor = 100,185,255 + *< END OBJECT: BaseClass="textbox" /> + + ADD OBJECT 'grdFacturi.cTaxe.Header1' AS header WITH ; + Alignment = 2, ; + Caption = "Taxe", ; + FontSize = 10, ; + Name = "Header1" + *< END OBJECT: BaseClass="header" /> + + ADD OBJECT 'grdFacturi.cTaxe.Text1' AS textbox WITH ; + BackColor = 255,255,255, ; + BorderStyle = 0, ; + FontSize = 10, ; + ForeColor = 0,0,0, ; + Margin = 0, ; + Name = "Text1", ; + SelectedBackColor = 100,185,255 + *< END OBJECT: BaseClass="textbox" /> + + ADD OBJECT 'grdFacturi.cTipMesajRaspuns.Header1' AS header WITH ; + Alignment = 2, ; + Caption = "Tip mesaj raspuns", ; + FontName = "Arial", ; + FontSize = 10, ; + Name = "Header1" + *< END OBJECT: BaseClass="header" /> + + ADD OBJECT 'grdFacturi.cTipMesajRaspuns.Text1' AS textbox WITH ; + BackColor = 255,255,255, ; + BorderStyle = 0, ; + FontName = "Arial", ; + FontSize = 10, ; + ForeColor = 0,0,0, ; + Margin = 0, ; + Name = "Text1", ; + ReadOnly = .T., ; + SelectedBackColor = 100,185,255 + *< END OBJECT: BaseClass="textbox" /> + + ADD OBJECT 'grdFacturi.cTotalCuTVA.Header1' AS header WITH ; + Alignment = 2, ; + Caption = "Total cu TVA", ; + FontName = "Arial", ; + FontSize = 10, ; + Name = "Header1" + *< END OBJECT: BaseClass="header" /> + + ADD OBJECT 'grdFacturi.cTotalCuTVA.Text1' AS textbox WITH ; + BackColor = 255,255,255, ; + BorderStyle = 0, ; + FontName = "Arial", ; + FontSize = 10, ; + ForeColor = 0,0,0, ; + Margin = 0, ; + Name = "Text1", ; + ReadOnly = .T., ; + SelectedBackColor = 100,185,255 + *< END OBJECT: BaseClass="textbox" /> + + ADD OBJECT 'grdFacturi.cTotaldePlata.Header1' AS header WITH ; + Alignment = 2, ; + Caption = "Total de plata", ; + FontSize = 10, ; + Name = "Header1" + *< END OBJECT: BaseClass="header" /> + + ADD OBJECT 'grdFacturi.cTotaldePlata.Text1' AS textbox WITH ; + BackColor = 255,255,255, ; + BorderStyle = 0, ; + FontSize = 10, ; + ForeColor = 0,0,0, ; + Margin = 0, ; + Name = "Text1", ; + SelectedBackColor = 100,185,255 + *< END OBJECT: BaseClass="textbox" /> + + ADD OBJECT 'grdFacturi.cTotalFaraTVA.Header1' AS header WITH ; + Alignment = 2, ; + Caption = "Total fara TVA", ; + FontSize = 10, ; + Name = "Header1" + *< END OBJECT: BaseClass="header" /> + + ADD OBJECT 'grdFacturi.cTotalFaraTVA.Text1' AS textbox WITH ; + BackColor = 255,255,255, ; + BorderStyle = 0, ; + FontSize = 10, ; + ForeColor = 0,0,0, ; + Margin = 0, ; + Name = "Text1", ; + ReadOnly = .T., ; + SelectedBackColor = 100,185,255 + *< END OBJECT: BaseClass="textbox" /> + + ADD OBJECT 'grdFacturi.cTotalTVA.Header1' AS header WITH ; + Alignment = 2, ; + Caption = "Total TVA", ; + FontSize = 10, ; + Name = "Header1" + *< END OBJECT: BaseClass="header" /> + + ADD OBJECT 'grdFacturi.cTotalTVA.Text1' AS textbox WITH ; + BackColor = 255,255,255, ; + BorderStyle = 0, ; + FontSize = 10, ; + ForeColor = 0,0,0, ; + Margin = 0, ; + Name = "Text1", ; + ReadOnly = .T., ; + SelectedBackColor = 100,185,255 + *< END OBJECT: BaseClass="textbox" /> + + ADD OBJECT 'grdFacturi.cValoareFaraTVA.Header1' AS header WITH ; + Alignment = 2, ; + Caption = "Valoare fara TVA", ; + FontSize = 10, ; + Name = "Header1" + *< END OBJECT: BaseClass="header" /> + + ADD OBJECT 'grdFacturi.cValoareFaraTVA.Text1' AS textbox WITH ; + BackColor = 255,255,255, ; + BorderStyle = 0, ; + FontSize = 10, ; + ForeColor = 0,0,0, ; + Margin = 0, ; + Name = "Text1", ; + SelectedBackColor = 100,185,255 + *< END OBJECT: BaseClass="textbox" /> + + ADD OBJECT 'grdFacturi.cXFurnizor.Header1' AS header WITH ; + Alignment = 2, ; + Caption = "Partener", ; + FontSize = 10, ; + Name = "Header1" + *< END OBJECT: BaseClass="header" /> + + ADD OBJECT 'grdFacturi.cXFurnizor.Text1' AS textbox WITH ; + BackColor = 255,255,255, ; + BorderStyle = 0, ; + FontSize = 10, ; + ForeColor = 0,0,0, ; + Margin = 0, ; + Name = "Text1", ; + ReadOnly = .T., ; + SelectedBackColor = 100,185,255 + *< END OBJECT: BaseClass="textbox" /> + + ADD OBJECT 'Gridextra1' AS gridextra WITH ; + gridexpression = thisform.grdFacturi, ; + Left = 745, ; + Name = "Gridextra1", ; + productname = ROA, ; + Top = 296 + *< END OBJECT: ClassLib="..\utile\gridextras\gridextras.vcx" BaseClass="custom" /> + + ADD OBJECT 'Gridextra2' AS gridextra WITH ; + gridexpression = thisform.grdDetaliiFacturi, ; + Left = 744, ; + Name = "Gridextra2", ; + productname = ROA, ; + Top = 456 + *< END OBJECT: ClassLib="..\utile\gridextras\gridextras.vcx" BaseClass="custom" /> + + ADD OBJECT 'Lb_shortcuts1' AS lb_shortcuts WITH ; + Caption = "Articol ROA: Dublu click = Cauta articol ; Click dreapta = Cauta/Adauga articol", ; + FontSize = 9, ; + ForeColor = 128,0,64, ; + Left = 264, ; + Name = "Lb_shortcuts1", ; + TabIndex = 48, ; + Top = 441 + *< END OBJECT: ClassLib="lb.vcx" BaseClass="label" /> + + ADD OBJECT 'lblCont' AS _label WITH ; + Anchor = 0, ; + Caption = "Cont", ; + Left = 186, ; + Name = "lblCont", ; + TabIndex = 43, ; + Top = 336, ; + ZOrderSet = 26 + *< END OBJECT: ClassLib="_baza.vcx" BaseClass="label" /> + + ADD OBJECT 'lblContract' AS _label WITH ; + Anchor = 0, ; + Caption = "Contract", ; + Left = 185, ; + Name = "lblContract", ; + TabIndex = 35, ; + Top = 385, ; + ZOrderSet = 21 + *< END OBJECT: ClassLib="_baza.vcx" BaseClass="label" /> + + ADD OBJECT 'lblCurs' AS _label WITH ; + Anchor = 0, ; + Caption = "Curs", ; + Left = 524, ; + Name = "lblCurs", ; + TabIndex = 42, ; + Top = 336, ; + ZOrderSet = 26 + *< END OBJECT: ClassLib="_baza.vcx" BaseClass="label" /> + + ADD OBJECT 'lblDataAct' AS _label WITH ; + Anchor = 0, ; + Caption = "Data doc.", ; + Left = 12, ; + Name = "lblDataAct", ; + TabIndex = 31, ; + Top = 360, ; + ZOrderSet = 15 + *< END OBJECT: ClassLib="_baza.vcx" BaseClass="label" /> + + ADD OBJECT 'lblDataScad' AS _label WITH ; + Anchor = 0, ; + Caption = "Data scad.", ; + Left = 12, ; + Name = "lblDataScad", ; + TabIndex = 33, ; + Top = 384, ; + ZOrderSet = 17 + *< END OBJECT: ClassLib="_baza.vcx" BaseClass="label" /> + + ADD OBJECT 'lblLucrare' AS _label WITH ; + Anchor = 0, ; + Caption = "Lucrare", ; + Left = 185, ; + Name = "lblLucrare", ; + TabIndex = 39, ; + Top = 360, ; + ZOrderSet = 21 + *< END OBJECT: ClassLib="_baza.vcx" BaseClass="label" /> + + ADD OBJECT 'lblNrAct' AS _label WITH ; + Anchor = 0, ; + Caption = "Nr. doc.", ; + Left = 12, ; + Name = "lblNrAct", ; + TabIndex = 30, ; + Top = 336, ; + ZOrderSet = 13 + *< END OBJECT: ClassLib="_baza.vcx" BaseClass="label" /> + + ADD OBJECT 'lblPartener' AS _label WITH ; + Anchor = 0, ; + Caption = "Partener", ; + Left = 186, ; + Name = "lblPartener", ; + TabIndex = 40, ; + Top = 312, ; + ZOrderSet = 21 + *< END OBJECT: ClassLib="_baza.vcx" BaseClass="label" /> + + ADD OBJECT 'lblResponsabil' AS _label WITH ; + Anchor = 0, ; + Caption = "Respons.", ; + Left = 524, ; + Name = "lblResponsabil", ; + TabIndex = 37, ; + Top = 360, ; + ZOrderSet = 21 + *< END OBJECT: ClassLib="_baza.vcx" BaseClass="label" /> + + ADD OBJECT 'lblSectie' AS _label WITH ; + Anchor = 0, ; + Caption = "Sectie", ; + Left = 356, ; + Name = "lblSectie", ; + TabIndex = 36, ; + Top = 360, ; + ZOrderSet = 21 + *< END OBJECT: ClassLib="_baza.vcx" BaseClass="label" /> + + ADD OBJECT 'lblSerieAct' AS _label WITH ; + Anchor = 0, ; + Caption = "Serie doc.", ; + Left = 12, ; + Name = "lblSerieAct", ; + TabIndex = 34, ; + Top = 312, ; + ZOrderSet = 19 + *< END OBJECT: ClassLib="_baza.vcx" BaseClass="label" /> + + ADD OBJECT 'lblValuta' AS _label WITH ; + Anchor = 0, ; + Caption = "Valuta", ; + Left = 356, ; + Name = "lblValuta", ; + TabIndex = 41, ; + Top = 336, ; + ZOrderSet = 24 + *< END OBJECT: ClassLib="_baza.vcx" BaseClass="label" /> + + ADD OBJECT 'lblVenChelt' AS _label WITH ; + Anchor = 0, ; + Caption = "Ven/Chlt", ; + Left = 356, ; + Name = "lblVenChelt", ; + TabIndex = 38, ; + Top = 385, ; + ZOrderSet = 21 + *< END OBJECT: ClassLib="_baza.vcx" BaseClass="label" /> + + ADD OBJECT 'txtAcont' AS _textbox WITH ; + Anchor = 0, ; + ControlSource = "crsFacturi.Acont", ; + Format = "K", ; + Height = 23, ; + Left = 300, ; + Name = "txtAcont", ; + TabIndex = 12, ; + Top = 334, ; + Width = 47, ; + ZOrderSet = 27 + *< END OBJECT: ClassLib="_baza.vcx" BaseClass="textbox" /> + + ADD OBJECT 'txtCodFiscal' AS _textbox WITH ; + Anchor = 0, ; + ControlSource = "crsFacturi.CodFiscalROA", ; + Height = 23, ; + Left = 445, ; + Name = "txtCodFiscal", ; + ReadOnly = .T., ; + TabIndex = 7, ; + ToolTipText = "Cod fiscal. Dublu click pentru alegere partener", ; + Top = 310, ; + Width = 108, ; + ZOrderSet = 22 + *< END OBJECT: ClassLib="_baza.vcx" BaseClass="textbox" /> + + ADD OBJECT 'txtCont' AS _textbox WITH ; + Anchor = 0, ; + ControlSource = "crsFacturi.Cont", ; + Format = "K", ; + Height = 23, ; + Left = 239, ; + Name = "txtCont", ; + TabIndex = 11, ; + Top = 334, ; + Width = 55, ; + ZOrderSet = 27 + *< END OBJECT: ClassLib="_baza.vcx" BaseClass="textbox" /> + + ADD OBJECT 'txtContract' AS _textbox WITH ; + Anchor = 0, ; + ControlSource = "crsFacturi.contract", ; + Height = 23, ; + Left = 239, ; + Name = "txtContract", ; + ReadOnly = .T., ; + TabIndex = 18, ; + ToolTipText = "Dublu click pentru alegere contract", ; + Top = 383, ; + Width = 109, ; + ZOrderSet = 22 + *< END OBJECT: ClassLib="_baza.vcx" BaseClass="textbox" /> + + ADD OBJECT 'txtCurs' AS _textbox WITH ; + Anchor = 0, ; + ControlSource = "crsFacturi.cursROA", ; + Format = "K", ; + Height = 23, ; + Left = 584, ; + Name = "txtCurs", ; + TabIndex = 14, ; + Top = 334, ; + Width = 61, ; + ZOrderSet = 27 + *< END OBJECT: ClassLib="_baza.vcx" BaseClass="textbox" /> + + ADD OBJECT 'txtDataAct' AS _textbox WITH ; + Anchor = 0, ; + ControlSource = "crsFacturi.Data_Act", ; + Format = "K", ; + Height = 23, ; + Left = 72, ; + Name = "txtDataAct", ; + TabIndex = 3, ; + Top = 358, ; + Width = 100, ; + ZOrderSet = 16 + *< END OBJECT: ClassLib="_baza.vcx" BaseClass="textbox" /> + + ADD OBJECT 'txtDataScad' AS _textbox WITH ; + Anchor = 0, ; + ControlSource = "crsFacturi.Data_Scad", ; + Format = "K", ; + Height = 23, ; + Left = 72, ; + Name = "txtDataScad", ; + TabIndex = 4, ; + Top = 382, ; + Width = 100, ; + ZOrderSet = 18 + *< END OBJECT: ClassLib="_baza.vcx" BaseClass="textbox" /> + + ADD OBJECT 'txtExplicatia' AS _textbox WITH ; + Anchor = 0, ; + ControlSource = "crsFacturi.explicatiaROA", ; + Format = "!K", ; + Height = 23, ; + Left = 72, ; + Name = "txtExplicatia", ; + TabIndex = 5, ; + ToolTipText = "Explicatia din Registrul Jurnal", ; + Top = 406, ; + Width = 165, ; + ZOrderSet = 27 + *< END OBJECT: ClassLib="_baza.vcx" BaseClass="textbox" /> + + ADD OBJECT 'txtLucrare' AS _textbox WITH ; + Anchor = 0, ; + ControlSource = "crsFacturi.nrord", ; + Height = 23, ; + Left = 239, ; + Name = "txtLucrare", ; + ReadOnly = .T., ; + TabIndex = 15, ; + ToolTipText = "Dublu click pentru alegere lucrare", ; + Top = 358, ; + Width = 109, ; + ZOrderSet = 22 + *< END OBJECT: ClassLib="_baza.vcx" BaseClass="textbox" /> + + ADD OBJECT 'txtNrAct' AS _textbox WITH ; + Anchor = 0, ; + ControlSource = "crsFacturi.NrActROA", ; + Format = "K", ; + Left = 72, ; + Name = "txtNrAct", ; + TabIndex = 2, ; + Top = 334, ; + Width = 100, ; + ZOrderSet = 14 + *< END OBJECT: ClassLib="_baza.vcx" BaseClass="textbox" /> + + ADD OBJECT 'txtPartener' AS _textbox WITH ; + Anchor = 0, ; + ControlSource = "crsFacturi.PartenerROA", ; + Height = 23, ; + Left = 239, ; + Name = "txtPartener", ; + ReadOnly = .T., ; + TabIndex = 6, ; + ToolTipText = "Dublu click pentru alegere partener", ; + Top = 310, ; + Width = 203, ; + ZOrderSet = 22 + *< END OBJECT: ClassLib="_baza.vcx" BaseClass="textbox" /> + + ADD OBJECT 'txtResponsabil' AS _textbox WITH ; + Anchor = 0, ; + ControlSource = "crsFacturi.nresp", ; + Height = 23, ; + Left = 584, ; + Name = "txtResponsabil", ; + ReadOnly = .T., ; + TabIndex = 17, ; + ToolTipText = "Dublu click pentru alegere Responsabil", ; + Top = 358, ; + Width = 109, ; + ZOrderSet = 22 + *< END OBJECT: ClassLib="_baza.vcx" BaseClass="textbox" /> + + ADD OBJECT 'txtSectie' AS _textbox WITH ; + Anchor = 0, ; + ControlSource = "crsFacturi.sectie", ; + Height = 23, ; + Left = 410, ; + Name = "txtSectie", ; + ReadOnly = .T., ; + TabIndex = 16, ; + ToolTipText = "Dublu click pentru alegere sectie", ; + Top = 358, ; + Width = 109, ; + ZOrderSet = 22 + *< END OBJECT: ClassLib="_baza.vcx" BaseClass="textbox" /> + + ADD OBJECT 'txtSerieAct' AS _textbox WITH ; + Anchor = 0, ; + ControlSource = "crsFacturi.SerieActROA", ; + Format = "!K", ; + Height = 23, ; + Left = 72, ; + Name = "txtSerieAct", ; + TabIndex = 1, ; + Top = 310, ; + Width = 100, ; + ZOrderSet = 20 + *< END OBJECT: ClassLib="_baza.vcx" BaseClass="textbox" /> + + ADD OBJECT 'txtValuta' AS _textbox WITH ; + Anchor = 0, ; + ControlSource = "crsFacturi.NumeValutaROA", ; + Height = 23, ; + Left = 410, ; + Name = "txtValuta", ; + ReadOnly = .T., ; + TabIndex = 13, ; + Top = 334, ; + Width = 45, ; + ZOrderSet = 25 + *< END OBJECT: ClassLib="_baza.vcx" BaseClass="textbox" /> + + ADD OBJECT 'txtVenChelt' AS _textbox WITH ; + Anchor = 0, ; + ControlSource = "crsFacturi.dst_chlt", ; + Height = 23, ; + Left = 410, ; + Name = "txtVenChelt", ; + ReadOnly = .T., ; + TabIndex = 19, ; + ToolTipText = "Dublu click pentru alegere Tip venit/cheltuiala", ; + Top = 383, ; + Width = 109, ; + ZOrderSet = 22 + *< END OBJECT: ClassLib="_baza.vcx" BaseClass="textbox" /> + + PROCEDURE Activate + * + ENDPROC + + PROCEDURE actualizeaza_grid1 + Lparameters lcFiltru + If Empty(lcFiltru) + lcFiltru = poFacturi.ca_baza1.cfiltru + Endif + Thisform.MousePointer = 11 + + Thisform.LockScreen = .T. + save_grid_tag(Thisform.grdFacturi) + poFacturi.ca_baza1.cfiltru = lcFiltru + poFacturi.ca_baza1.afisare() + restore_grid_tag(Thisform.grdFacturi) + Thisform.LockScreen = .F. + Thisform.MousePointer = 0 + + ENDPROC + + PROCEDURE actualizeaza_grid2 + Local lcFiltru + IF !EMPTY(NVL(crsFacturi.id,0)) + lcFiltru = "id_efactura = " + ALLTRIM(STR(crsFacturi.id)) + ELSE + lcFiltru = "1=2" + Endif + + SELECT crsDetaliiFacturi + SET FILTER TO &lcFiltru + + * Daca nu exista detaliile, le adaug din baza de date + LOCATE FOR !EMPTY(NVL(id,0)) + IF !FOUND() + USE IN (SELECT('crsDetaliiFacturiTemp')) + + poFacturiDetalii.ca_baza1.cfiltru = m.lcFiltru + poFacturiDetalii.ca_baza1.afisare() + + SELECT crsDetaliiFacturi + APPEND FROM DBF('crsDetaliiFacturiTemp') + LOCATE + USE IN (SELECT('crsDetaliiFacturiTemp')) + ENDIF + + this.grdDetaliiFacturi.refresh() + ENDPROC + + PROCEDURE cauta_contract + IF EMPTY(NVL(crsFacturi.cod_fiscal,'')) + RETURN + ENDIF + + Local llToate, lnIdPart, locauta, lnIdTipCtr + + llToate = .F. + lnIdPart = crsFacturi.IdPartROA + lnIdTipCtr = IIF(Thisform.lPrimite, -2, -1) && -1 clienti, -2 furnizori + locauta = caut_contract(lnIdTipCtr, lnIdPart, llToate) + + SELECT crsFacturi + REPLACE contract WITH locauta.numar, Id_Ctr WITH locauta.id_ctr + + thisform.txtContract.Refresh() + ENDPROC + + PROCEDURE cauta_lucrare + IF EMPTY(NVL(crsFacturi.cod_fiscal,'')) + RETURN + ENDIF + + Local lcFiltruOriginal, llNou, llToateIreg, locauta + + llToateIreg = .F. + llNou = .T. + lcFiltruOriginal = '' + locauta = caut_lucrare(llToateIreg, llNou, lcFiltruOriginal) + + SELECT crsFacturi + REPLACE NrOrd WITH locauta.nrord, Id_Lucrare WITH locauta.id_lucrare + thisform.txtLucrare.Refresh() + ENDPROC + + PROCEDURE cauta_partener + Local lcCont, lcTitlu, llNou, llToateIreg, locauta + lcCont = '' + lcTitlu = 'Alegeti partener' + llToateIreg = .F. + llNou = .T. + locauta = caut_parteneri(lcCont, lcTitlu, llToateIreg, llNou) + + IF !EMPTY(NVL(loCauta.id_part, 0)) + SELECT crsFacturi + REPLACE PartenerROA WITH locauta.denumire, IdPartROA WITH locauta.id_part, codfiscalROA WITH loCauta.cod_fiscal + ENDIF + + thisform.txtPartener.Refresh() + thisform.txtCodFiscal.Refresh() + ENDPROC + + PROCEDURE cauta_responsabil + Local loCauta + + IF EMPTY(NVL(crsFacturi.cod_fiscal,'')) + RETURN + ENDIF + + loCauta=caut_responsabil() + + SELECT crsFacturi + REPLACE nresp WITH locauta.nume, id_responsabil WITH locauta.id_responsabil + thisform.txtResponsabil.Refresh() + + + + ENDPROC + + PROCEDURE cauta_sectie + IF EMPTY(NVL(crsFacturi.cod_fiscal,'')) + RETURN + ENDIF + + Local loCauta + + loCauta = caut_sectie() + + SELECT crsFacturi + REPLACE sectie WITH loCauta.sectie, id_Sectie WITH loCauta.id_sectie + + This.txtSectie.Refresh() + + ENDPROC + + PROCEDURE cauta_valuta + IF EMPTY(NVL(crsFacturi.cod_fiscal,'')) + RETURN + ENDIF + + Local loCauta + + loCauta = caut_valuta(.F., .F., .T.) + + If gnbuton = 1 + SELECT crsFacturi + REPLACE IdValutaROA WITH loCauta.id_valuta, NumeValutaROA WITH loCauta.nume_val + Endif + + ENDPROC + + PROCEDURE cauta_venchelt + IF EMPTY(NVL(crsFacturi.cod_fiscal,'')) + RETURN + ENDIF + + Local loCauta + + loCauta = caut_venchelt() + + + SELECT crsFacturi + REPLACE dst_chlt WITH loCauta.explicatie, id_Venchelt WITH loCauta.id_venchelt + + This.txtVenChelt.Refresh() + + + ENDPROC + + PROCEDURE completeazadetaliifactura + * Completez tip articol, cont, gestiune implicite + * caut articol, codbare, cod client, cod furnizor articol in nomenclator articole ROA, ca sa gasesc Id Articol ROA + * caut articol in anaf_efactura, ca sa gasesc Id Articol ROA in efacturile aceluiasi furnizor + + * Doar o incercare de completare + Local lcCont, lcAcont, lnIdGestiune, lnIdTipArt, llPrimite + Local lcArticol, lcCodBare, lcCodClient, lcCodFurnizor, lcCodMat, lcCodMatF, lcCodMatP, llIdArticol + Local llNecompletat, lnIdArticol, lnIdPart, lnNr, lcCodFiscal, lcArticolROA + Local lcAcont0, lcCont0, llCompleteazaCont, llCompleteazaGestiune, lnIdGestiune0, lnIdTipArt0 + Local loArticol + + + llPrimite = Thisform.lPrimite + llNecompletat = (crsFacturi.completatdet = 0) + lnIdPart = crsFacturi.IdPartROA + llIdArticol = .F. + lcCodFiscal = ALLTRIM(NVL(crsFacturi.cod_fiscal, '')) + lnIdEFactura = crsFacturi.id + + If m.llNecompletat + If m.llPrimite + lnIdTipArt0 = m.gnEFACTURA_ID_TIPART_P + lcCont0 = m.gcEFACTURA_CONT_ART_P + lcAcont0 = '' + lnIdGestiune0 = m.gnEFACTURA_ID_GESTIUNE_P + + + * CONT, in facturile anterioare de la acelasi furnizor + llCompleteazaCont = (m.gnEFACTURA_CONT_ART_PF = 1) + * GESTIUNE, in facturile anterioare de la acelasi furnizor + llCompleteazaGestiune = (m.gnEFACTURA_GEST_ART_PF = 1) + + Else + lnIdTipArt0 = m.gnEFACTURA_ID_TIPART_E + lcCont0 = m.gcEFACTURA_CONT_ART_E + lcAcont0 = '' + lnIdGestiune0 = m.gnEFACTURA_ID_GESTIUNE_E + + llCompleteazaCont = (m.gnEFACTURA_CONT_ART_EF = 1) + llCompleteazaGestiune = (m.gnEFACTURA_GEST_ART_EF = 1) + Endif + + * ParseEFactura imi trebuie pentru codbare, cofurnizor, codclient. + * As putea sa le salvez in anaf_efactura_detalii, la descarcare + + * (nr, cant, um, articol, descriere, detalii, Pret, proctva, valoarefaratva, codfurnizor, codclient, codbare, codcpv, codnc8) + Select crsDetaliiFacturi + Scan For Empty(Nvl(id_articol,0)) OR m.llCompleteazaCont OR m.llCompleteazaGestiune + lnNr = nr + lcArticol = articol + lnIdArticol = id_articol + lcArticolROA = ALLTRIM(articol_roa) + lcCodBare = codbare + lcCodClient = codclient + lcCodFurnizor = codfurnizor + lnIdTipArt = m.lnIdTipArt0 + lcCont = m.lcCont0 + lcAcont = m.lcAcont0 + lnIdGestiune = m.lnIdGestiune0 + lcCodmatROA = ALLTRIM(codmat_roa) + lnInStoc = NVL(in_stoc, 0) + + * tcCodMat: primite = efactura.codClient, trimise = efactura.codFurnizor = nom_articole.codmat + * tcCodMatF: primite = efactura.codFurnizor = nom_articole.codmatf + * tcCodMatP: trimise = efactura.codClient = parteneri_articole_coduri.cod + If This.lPrimite + lcCodMat = m.lcCodClient + lcCodMatF = m.lcCodFurnizor + lcCodMatP = '' + Else + lcCodMat = m.lcCodFurnizor + lcCodMatF = '' + lcCodMatP = m.lcCodClient + Endif + + IF Empty(Nvl(m.lnIdArticol, 0)) + loArticol = GetArticolByCodDenumire(m.lcArticol, m.lcCodBare, m.lcCodMat, m.lcCodMatF, m.lcCodMatP, m.lnIdPart, m.llIdArticol) + lnIdArticol = loArticol.id_articol + lcArticolROA = loArticol.denumire + lcCodMatROA = ALLTRIM(NVL(loArticol.codmat, '')) + lcCont = NVL(loArticol.cont, '') + lcAcont = NVL(loArticol.acont, '') + lnInStoc = NVL(loArticol.in_stoc, 0) + ENDIF + + IF EMPTY(NVL(m.lnIdArticol,0)) OR m.llCompleteazaCont OR m.llCompleteazaGestiune + * caut in articolele anterioare de la acelasi furnizor + loArticol = GetArticolEFByPartDenumire(m.lcCodFiscal, m.llPrimite, m.lcArticol, m.llIdArticol, m.lnIdEfactura) + + IF EMPTY(NVL(m.lnIdArticol,0)) + IF !EMPTY(NVL(loArticol.id_articol,0)) + lnIdArticol = loArticol.id_articol + lcArticolROA = loArticol.articol_roa + lcCodMatROA = loArticol.codmat_roa + lnInStoc = NVL(loArticol.in_stoc, 0) + llCompleteazaArticol = .T. + ENDIF + ENDIF + + IF m.llCompleteazaCont + IF !EMPTY(NVL(loArticol.cont, '')) + lcCont = NVL(loArticol.cont, '') + lcAcont = NVL(loArticol.acont, '') + ENDIF + ENDIF + + IF m.llCompleteazaGestiune + IF !EMPTY(NVL(loArticol.id_gestiune,0)) + lnIdGestiune = loArticol.id_gestiune + ENDIF + ENDIF + ENDIF + + + Select crsDetaliiFacturi + If !Empty(Nvl(m.lnIdArticol, 0)) AND EMPTY(NVL(crsDetaliiFacturi.id_articol, 0)) + Replace id_articol With m.lnIdArticol, articol_roa WITH m.lcArticolROA, codmat_roa WITH m.lcCodMatROA, in_stoc WITH m.lnInStoc + ENDIF + + IF EMPTY(NVL(crsDetaliiFacturi.cont,'')) AND !EMPTY(m.lcCont) + REPLACE cont WITH m.lcCont, acont WITH m.lcAcont + ENDIF + IF m.llCompleteazaGestiune AND EMPTY(NVL(crsDetaliiFacturi.id_gestiune,0)) AND !EMPTY(NVL(m.lnIdGestiune,0)) + REPLACE id_gestiune WITH m.lnIdGestiune + ENDIF + ENDSCAN + + * Completare valori implicite din optiuni + * Articole + Update crsDetaliiFacturi Set id_tip = m.lnIdTipArt0 Where Empty(Nvl(id_tip,0)) + Update crsDetaliiFacturi Set Cont = m.lcCont0 Where Empty(Nvl(Cont,'')) + Update crsDetaliiFacturi Set id_gestiune = m.lnIdGestiune0 Where Empty(Nvl(id_gestiune,0)) + + GO TOP IN crsDetaliiFacturi + Endif && llNecompletat + + Replace completatdet With 1 In crsFacturi + + This.grdDetaliiFacturi.Refresh() + + ENDPROC + + PROCEDURE completeazafactura + * Facturi primite/emise + * Completez capul de factura: numar act, data act, partener ROA, cont furnizor/client, id valuta ROA, curs + * sectie, tip venit/cheltuiala implicita + + *!* 18.03.2025 + *!* daca firma nu are TVA la Incasare si este o factura de achizitie, verific daca furnizorul are TVA la incasare + + Local lcCodFiscal, lcCont, lcNumarAct, lcPartenerROA, lcSerieAct, llPrimite, llRTVAI, llSucces, llNecompletat + Local lnIdPartROA, lnInValuta, lnNrAct, lnTvaIncasare, loFactura, loPartener, lcDetalii + Local lcCodFiscalROA, lcNrAct, lcSql, lnIdSectie, lnIdVenChelt, loSectie, loVenchelt + + Private pcCodValuta, pnCurs, pnIdEFactura, pnIdValuta, pdDataAct + + llPrimite = Thisform.lPrimite + + If m.llPrimite + lnIdSectie = m.gnEFACTURA_ID_SECTIE_P + lnIdVenChelt = m.gnEFACTURA_ID_VENCHELT_P + Else + lnIdSectie = m.gnEFACTURA_ID_SECTIE_E + lnIdVenChelt = m.gnEFACTURA_ID_VENCHELT_E + Endif + + pnIdEFactura = Nvl(crsFacturi.Id, 0) + If Empty(m.pnIdEFactura) + Return + Endif + + Select crsFacturi + Scatter Name loFactura MEMO + llNecompletat = (crsFacturi.completat = 0) + lcDetalii = NVL(loFactura.detalii, '') + + * Fac vizibila bifa de distribuie discount daca efactura are discount global + This.chkDistribuieDiscount.Value = (loFactura.discount_fara_tva <> 0 or loFactura.taxe_fara_tva <> 0) + This.chkDistribuieDiscount.Visible = (loFactura.discount_fara_tva <> 0 or loFactura.taxe_fara_tva <> 0) + + If m.llNecompletat + If Empty(Nvl(Cont,'')) + lcCont = Iif(Thisform.lPrimite, '401', '4111') + Replace Cont With m.lcCont + ENDIF + + lcNumarAct = Alltrim(Nvl(loFactura.numar_act, '')) + If Empty(Nvl(loFactura.NrActROA,0)) + lcNrAct = Alltrim(Right(Alltrim(GetRegExp(m.lcNumarAct, "[0-9]+$",1)),14)) + lnNrAct = Int(Val(RIGHT(m.lcNrAct,14))) + Replace NrActROA With m.lnNrAct In crsFacturi + Endif + + If Empty(Nvl(loFactura.SerieActROA,'')) + lcNrAct = Nvl(Alltrim(Str(crsFacturi.NrActROA,14,0)), '') + lcSerieAct = GetRegExp(m.lcNumarAct, "[A-Za-z0-9]+",1) + lcSerieAct = Strtran(m.lcSerieAct, m.lcNrAct, '') + Replace SerieActROA With m.lcSerieAct + Endif + + + pdDataAct = crsFacturi.data_act + + * Valuta + pcCodValuta = Upper(Alltrim(Nvl(crsFacturi.nume_valuta, 'RON'))) + lnInValuta = Iif(m.pcCodValuta <> 'RON', 1, 0) + + If m.lnInValuta = 1 And Empty(Nvl(loFactura.IdValutaROA, 0)) + pnIdValuta = 0 + pnCurs = 0.0000 + + llSucces = goExecutor.oSelecteaza2Value("select id_valuta from vnom_valute where nume_val2 = ?pcCodValuta AND INACTIV = 0", @pnIdValuta) + If !m.llSucces + Return + Endif + + Select crsFacturi + Replace IdValutaROA With m.pnIdValuta, NumeValutaROA With m.pcCodValuta + + llSucces = goExecutor.oSelecteaza2Value("SELECT last_value(curs) over (partition by id_valuta order by data DESC) FROM CURS WHERE ?pdDataAct BETWEEN DATA AND DATA2", @pnCurs) + If !m.llSucces + Return + Endif + + Select crsFacturi + Replace CursROA With m.pnCurs + Endif + + * Partener + If Empty(Nvl(loFactura.IdPartROA, 0)) + lcCodFiscal = Alltrim(crsFacturi.cod_fiscal) + lcPartenerROA = '' + lnIdPartROA = Null + + loPartener = GetPartenerByCodFiscal(m.lcCodFiscal) + If !Isnull(loPartener) + * Partener existent + lcPartenerROA = Alltrim(Nvl(loPartener.denumire,'')) + lnIdPartROA = loPartener.id_part + lcCodFiscalROA = ALLTRIM(NVL(loPartener.cod_fiscal, '')) + + Select crsFacturi + Replace IdPartROA With m.lnIdPartROA,PartenerROA With m.lcPartenerROA, codFiscalROA WITH m.lcCodFiscalROA + Endif + + * TVA Incasare + lnTvaIncasare = Nvl(goCalendar.tva_incasare, 0) + * daca firma nu are TVA la Incasare si este o factura de achizitie, verific daca furnizorul are TVA la incasare + If m.lnTvaIncasare = 0 AND m.llPrimite + llRTVAI = VERIFICA_RTVAI_DATA(m.lcCodFiscal, m.pdDataAct) + lnTvaIncasare = Iif(m.llRTVAI, 1, 0) + Endif + Select crsFacturi + Replace TVAIncasare With m.lnTvaIncasare + + Endif + + * Completare valori din optiuni + If Empty(Nvl(loFactura.id_sectie, 0)) And !Empty(Nvl(m.lnIdSectie,0)) + loSectie = GetSectieById(m.lnIdSectie) + Replace id_sectie With m.lnIdSectie, sectie With loSectie.sectie In crsFacturi + Endif + If Empty(Nvl(loFactura.id_venchelt, 0)) And !Empty(Nvl(m.lnIdVenChelt,0)) + loVenchelt = GetVencheltById(m.lnIdVenChelt) + Replace id_venchelt With m.lnIdVenChelt, dst_chlt With loVenchelt.explicatie In crsFacturi + Endif + Endif && llNecompletat + + Select crsFacturi + Replace completat With 1 + + + *************** + **************************************************************************** + * Actualizez si anaf_efactura.detalii + * Aduc si xml efactura din anaf_efactura.detalii doar pentru factura curenta, pentru ca dureaza prea mult sa aduc pentru toate facturile + *************** + IF EMPTY(m.lcDetalii) + lcSql = [select detalii from anaf_efactura where id = ] + ALLTRIM(STR(m.pnIdEFactura)) + llSucces = goExecutor.oSelecteaza2Value(m.lcSql, @lcDetalii) + IF m.llSucces + SELECT crsFacturi + REPLACE detalii WITH m.lcDetalii + ENDIF + ENDIF + *************** + + With This + .txtSerieAct.Refresh + .txtNrAct.Refresh + .txtdataAct.Refresh + .txtDatascad.Refresh + .txtPartener.Refresh + .txtCodFiscal.Refresh + .txtCont.Refresh + .txtValuta.Refresh + .txtCurs.Refresh + .txtLucrare.Refresh + .txtContract.Refresh + .txtSectie.Refresh + .txtVenChelt.Refresh + .txtResponsabil.Refresh + .chkTVAIncasare.Refresh + .chkDistribuieDiscount.Refresh + Endwith + + ENDPROC + + PROCEDURE creeazanote + ENDPROC + + PROCEDURE do_cauta + lcFiltru = '' && filtru facturi primite + + * DACA FILTRUL NU CONTINE DATA_ACT, SELECTEZ DOAR INREGISTRARILE DIN LUNA CURENTA PANA LA ZI + * ESTE POSIBIL SA GENEREZ UN BORDEROU IN LUNA APRILIE PENTRU FACTURI DIN LUNA MARTIE, DECI AFISEZ SI BORDEROURI CU DATA >= LUNA CURENTA + ldData1 = DATE(m.gnAn, m.gnLuna, 1) + ldData2 = DATE() + + IF !('DATA_ACT'$upper(THISFORM.filtru_pretty) OR 'DATA_TRIMIS'$upper(THISFORM.filtru_pretty) ) + lcData1 = '01' + PADL(INT(m.gnLuna),2,'0') + ALLTRIM(STR(m.gnAn)) + + lcFiltru = m.lcFiltru + [ and ((extract(year from data_act) = ?gnAn and extract(month from data_act) = ?gnLuna) or (data_act is null and data_raspuns >= to_date('] + m.lcData1 + [','ddmmyyyy')))] + ENDIF + + * Filtre buton cautare + IF LEN(THISFORM.filtru_pretty)>0 + lcFiltru = m.lcFiltru + " and (" + ALLTRIM(THISFORM.filtru_pretty) + ")" + ENDIF + + If Empty(m.lcFiltru) + aMessagebox("Alegeti un criteriu!",0+48,"Atentie") + Return + Endif + + IF !EMPTY(m.lcFiltru) AND LEFT(LOWER(ALLTRIM(m.lcFiltru)),3) = "and" + lcFiltru = SUBSTR(ALLTRIM(m.lcFiltru),4) + ENDIF + + + * Facturi primite + IF !EMPTY(m.lcFiltru) + THISFORM.actualizeaza_grid1(m.lcFiltru) + THISFORM.actualizeaza_grid2() + SELECT crsFacturi + ENDIF + + + Return m.lcFiltru + + ENDPROC + + PROCEDURE do_excel + Private pcTitlu, pcSubtitlu + Local lcSelect, lctext, lnOptiune, lnRecno + Local lcSql, llSucces, lnIdEfactura + Local lcSirIdEfact, lcSelect + Local lcFisierPDF + Local lcCursor, lnPaginaActiva + Local lcDetalii, lcRaport, llVariable + + lcSelect = Select() + pcTitlu = '' + pcSubtitlu = '' + If This.filtru_traducere() # "" + lctext = " si " + This.filtru_traducere() + Else + lctext = "" + Endif + pcSubtitlu = This.filtru_pretty_ro + lctext + + lcSelect = Select() + lnRecno = Recno() + + llPrimite = this.lPrimite + + + DO CASE + CASE !m.llPrimite + * Facturi TRIMISE + lnOptiune = xmenu('Centralizator facturi;Facturi trimise;Factura curenta') + lcCursor = 'crsFacturi' + lcCaption = "emise" + loGrid = This.grdFacturi + CASE m.llPrimite + * Facturi PRIMITE + lnOptiune = xmenu('Centralizator facturi;Facturi primite;Factura curenta') + lcCursor = 'crsFacturi' + lcCaption = "primite" + loGrid = This.grdFacturi + ENDCASE + + If Empty(m.lnOptiune) + Return + Endif + + Do Case + Case m.lnOptiune = 1 + * Centralizator + goExport.export2xlsxGrid(loGrid, "centralizator_facturi_" + m.lcCaption + '_' + Dtos(Date())) + + Case Inlist(m.lnOptiune, 2, 3) + + * Listare facturi primite detaliat + lnIdEfactura = &lcCursor..Id + If Empty(m.lnIdEfactura) + Exit + Endif + If m.lnOptiune = 2 + lcSirIdEfact = cursor2lista(m.lcCursor, "id", ",") + Else + lcSirIdEfact = Alltrim(Str(m.lnIdEfactura)) + Endif + + + Do Case + Case !m.llPrimite + * Facturi trimise + + TEXT TO lcSqlDetalii TEXTMERGE NOSHOW + select data_act, numar_act, data_scad, xclient, cod_fiscal_emitent, total_fara_tva, total_tva, total_cu_tva, discount_fara_tva, taxe_fara_tva, valoare_fara_tva, total_de_plata, nume_valuta, xdescriere, detalii_plata, id, id_efactura, nr, articol, detalii, cantitate, um, pret, proctva, descriere + from anaf_vefactura_trimis_detaliu + WHERE id_efactura in (<>) + order by data_act, numar_act, id_efactura, nr + ENDTEXT + + Case m.llPrimite + * Facturi primite + TEXT TO lcSqlDetalii TEXTMERGE NOSHOW + select data_act, numar_act, data_scad, xfurnizor, cod_fiscal_emitent, total_fara_tva, total_tva, total_cu_tva, discount_fara_tva, taxe_fara_tva, valoare_fara_tva, total_de_plata, nume_valuta, xdescriere, detalii_plata, id, id_efactura, nr, articol, detalii, cantitate, um, pret, proctva, descriere + from anaf_vefactura_primit_detaliu + WHERE id_efactura in (<>) + order by data_act, numar_act, id_efactura, nr + ENDTEXT + + Endcase + + llSucces = goExecutor.oExecuta(m.lcSqlDetalii, 'cFacturiDetaliiRap') + If m.llSucces + goExport.export2xlsx('cFacturiDetaliiRap', "lista_facturi_" + m.lcCaption + "_" + Dtos(Date())) + Endif + Use In (Select('cFacturiDetaliiRap')) + Endcase + + Select (m.lcSelect) + + + + ENDPROC + + PROCEDURE do_executa + * IMPORT / creare note contabile + LOCAL lnIdEFactura, llSucces + Local lcCont, lcFacturi_dublate, lcMesajFact_dubl, lcSerieAct, lnIdPart, lnNrAct, lnOptiune + + + lnIdEFactura = Nvl(crsFacturi.Id, 0) + If Empty(m.lnIdEFactura) + Return + Endif + + * Salvare anaf_efactura_detalii.id_articol, id_gestiune, cont + llSucces = UpdateEFacturaArticolROA(m.lnIdEFactura) + + IF !m.llSucces + RETURN + ENDIF + + IF EMPTY(NVL(crsFacturi.IdPartROA, 0)) + AMESSAGEBOX('Completati partenerul ROA',0+48,_screen.Caption) + RETURN + ENDIF + + * Daca factura are articole gestionabile, lansez formularul de modificare note + rulaje + * Altfel, lansez formularul achizitie/vanzare generala (doar note contabile) + * Verific daca exista deja factura + lcCont = ALLTRIM(NVL(crsFacturi.cont, '')) + lnIdPart = crsFacturi.IdPartROA + lcSerieAct = crsFacturi.SerieActROA + lnNrAct = crsFacturi.NrActROA + lcMesajFact_dubl = '' + lcFacturi_dublate = facturi_duplicate(m.lcCont, m.lnIdPart, m.lcSerieAct, m.lnNrAct, m.lcMesajFact_dubl) + IF !EMPTY(m.lcFacturi_dublate) + IF AMESSAGEBOX(m.lcFacturi_dublate + CHR(13) + 'Doriti sa continuati?',4+32,_screen.Caption) <> 6 + RETURN + ENDIF + ENDIF + lnOptiune = xmenu('Import contabilitate;Import gestiune') + IF EMPTY(m.lnOptiune) + RETURN + ENDIF + + + + IF m.lnOptiune = 1 + Thisform.ImportGeneral() && factura achizitie/vanzare generala (doar note contabile) + ELSE + Thisform.ImportModifica() && formularul de modificare note + rulaje gestiuni + ENDIF + + + ENDPROC + + PROCEDURE do_listare + Private pcTitlu, pcSubtitlu + Local lcSelect, lctext, lnOptiune, lnRecno + Local lcSql, llSucces, lnIdEfactura + Local lcSirIdEfact, lcSelect + Local lcFisierPDF + Local lcCursor, lnPaginaActiva + Local lcDetalii, lcRaport, llVariable + + lcSelect = Select() + pcTitlu = '' + pcSubtitlu = '' + If This.filtru_traducere() # "" + lctext = " si " + This.filtru_traducere() + Else + lctext = "" + Endif + pcSubtitlu = This.filtru_pretty_ro + lctext + + lcSelect = Select() + lnRecno = Recno() + + llPrimite = this.lPrimite + + + DO CASE + CASE !m.llPrimite + * Facturi TRIMISE + lnOptiune = xmenu('Centralizator facturi;Lista facturi trimise - detaliat;Factura trimisa curenta;\-;PDF ANAF facturi alese;PDF ANAF factura curenta') + lcCursor = 'crsFacturi' + CASE m.llPrimite + * Facturi PRIMITE + lnOptiune = xmenu('Centralizator facturi;Lista facturi primite - detaliat;Factura primita curenta;\-;PDF ANAF facturi alese;PDF ANAF factura curenta;\-;\ 1 + SELECT 3 as tip, SUM(NVL(total_tva_ron,0.00)) as total_tva_ron ; + FROM cCentralizator1 ; + INTO CURSOR cCentralizator2 + + SELECT cCentralizator + APPEND FROM DBF('cCentralizator2') + USE IN (SELECT('cCentralizator2')) + ENDIF + USE IN (SELECT('cCentralizator1')) + + Thisform.AlwaysOnTop = .F. + goExport.export2frx("cCentralizator", m.lcRaport, , , , , , .T.) + Thisform.AlwaysOnTop = .T. + USE IN (SELECT('cCentralizator')) + + Case Inlist(m.lnOptiune, 2, 3) + * Listare facturi primite detaliat + IF !m.llPrimite + pcTitlu = 'eFactura Trimise' + lcRaport = 'efact_facturi_trimise_detalii' + lnIdEfactura = crsFacturi.Id + ELSE + pcTitlu = 'eFactura Primite' + lcRaport = 'efact_facturi_primite_detalii' + lnIdEfactura = crsFacturi.Id + ENDIF + + If Empty(m.lnIdEfactura) + Exit + Endif + If m.lnOptiune = 2 + lcSirIdEfact = cursor2lista(m.lcCursor, "id", ",") + Else + lcSirIdEfact = Alltrim(Str(m.lnIdEfactura)) + Endif + + IF !m.llPrimite + TEXT TO lcSql TEXTMERGE NOSHOW + select data_act, numar_act, data_scad, xfurnizor, cod_fiscal_emitent, xclient, cod_fiscal_beneficiar, total_fara_tva, total_tva, total_cu_tva, discount_fara_tva, taxe_fara_tva, valoare_fara_tva, total_de_plata, nume_valuta, xdescriere, detalii_plata, id_incarcare, id_descarcare, id, id_efactura, nr, articol, detalii, cantitate, um, pret, proctva, descriere, creditnote + from anaf_vefactura_trimis_detaliu + WHERE id_efactura in (<>) + order by data_act, numar_act, id_efactura, nr + ENDTEXT + ELSE + TEXT TO lcSql TEXTMERGE NOSHOW + select data_act, numar_act, data_scad, xfurnizor, cod_fiscal_emitent, xclient, cod_fiscal_beneficiar, total_fara_tva, total_tva, total_cu_tva, discount_fara_tva, taxe_fara_tva, valoare_fara_tva, total_de_plata, nume_valuta, xdescriere, detalii_plata, id_incarcare, id_descarcare, id, id_efactura, nr, articol, detalii, cantitate, um, pret, proctva, descriere, creditnote + from anaf_vefactura_primit_detaliu + WHERE id_efactura in (<>) + order by data_act, numar_act, id_efactura, nr + ENDTEXT + ENDIF + + llSucces = goExecutor.oExecuta(m.lcSql, 'cFacturiDetaliuRap') + If m.llSucces + * nu afisez descriere sau detalii daca sunt la fel cu articol + UPDATE cFacturiDetaliuRap SET descriere = '' WHERE articol = descriere + UPDATE cFacturiDetaliuRap SET detalii = '' WHERE articol = detalii + + Thisform.AlwaysOnTop = .F. + goExport.export2frx([cFacturiDetaliuRap], m.lcRaport, , , , , , .T.) + Thisform.AlwaysOnTop = .T. + Endif + + Use In (Select('cFacturiDetaliuRap')) + + Case m.lnOptiune = 5 + loAnaf = Createobject('AnafeFacturaServer') + SELECT(m.lcCursor) + lnRecno = Recno() + llVariable = .T. + Scan For ales = 1 + lcDetalii = ALLTRIM(detalii) + + If !Empty(m.lcDetalii) + DO CASE + CASE !m.llPrimite + lcFisierPDF = GetPdfPath('EFACTURA', 'TRIMISE') + 'efactura_' + WindowsSpecialCharacters(DTOS(data_act) + '_' + ALLTRIM(numar_act) + '_'+ STRTRAN(ALLTRIM(xclient), ' ', '_',1,100,1)) + '.pdf' + OTHERWISE + lcFisierPDF = GetPdfPath('EFACTURA', 'PRIMITE') + 'efactura_' + WindowsSpecialCharacters(DTOS(data_act) + '_' + ALLTRIM(numar_act) + '_'+ STRTRAN(ALLTRIM(xfurnizor), ' ', '_',1,100,1)) + '.pdf' + ENDCASE + + lcFisierPDF = loAnaf.Xml2PdfAnaf(m.lcDetalii, m.lcFisierPdf, m.llVariable) + + If !EMPTY(m.lcFisierPDF) AND File(m.lcFisierPDF) + open_default_app(m.lcFisierPDF) + Endif + Endif + Endscan + Try + Goto m.lnRecno + Endtry + Case m.lnOptiune = 6 + loAnaf = Createobject('AnafeFacturaServer') + SELECT(m.lcCursor) + lcDetalii = ALLTRIM(detalii) + llVariable = .T. + + If !Empty(m.lcDetalii) + DO CASE + CASE !m.llPrimite + lcFisierPDF = GetPdfPath('EFACTURA', 'TRIMISE') + 'efactura_' + WindowsSpecialCharacters(DTOS(data_act) + '_' + ALLTRIM(numar_act) + '_'+ STRTRAN(ALLTRIM(xclient), ' ', '_',1,100,1)) + '.pdf' + OTHERWISE + lcFisierPDF = GetPdfPath('EFACTURA', 'PRIMITE') + 'efactura_' + WindowsSpecialCharacters(DTOS(data_act) + '_' + ALLTRIM(numar_act) + '_'+ STRTRAN(ALLTRIM(xfurnizor), ' ', '_',1,100,1)) + '.pdf' + ENDCASE + goLog.Log(m.lcFisierPDF) + lcFisierPDF = loAnaf.Xml2PdfAnaf(m.lcDetalii, m.lcFisierPdf, m.llVariable) + If !EMPTY(m.lcFisierPDF) AND File(m.lcFisierPDF) + open_default_app(m.lcFisierPDF) + Endif + ENDIF + Case m.lnOptiune = 8 + * Listare NIR + This.ListareNIR() + Endcase + + Select (m.lcSelect) + + + ENDPROC + + PROCEDURE do_sterge + Local lcSql, llSucces, lnId + llSucces = .F. + If This.pgfeFactura.ActivePage <> 2 + Return .F. + Endif + If Nvl(crsFacturiTrimise.test,0) = 0 + AMESSAGEBOX('Puteti sterge doar facturi trimise de Test', 0+48,_Screen.Caption) + Return .F. + ENDIF + + lnId = NVL(crsFacturiTrimise.Id, 0) + + TEXT TO lcSql TEXTMERGE NOSHOW + begin + delete from anaf_efactura_detalii where id_efactura = <>; + delete from anaf_efactura where id = <>; + end; + ENDTEXT + + If AMessagebox('Doriti sa stergeti mesajul de transmitere al facturii?' + CHR(13) + CHR(10) + ; + 'Atentie, operatia este ireversibila!',4+32,_Screen.Caption)= 6 + llSucces = goExecutor.oExecuta(m.lcSql) + Endif + + this.do_cauta() + + Return m.llSucces + + ENDPROC + + PROCEDURE importgeneral + Local lcDenumireTax, lcDetalii, lcDetaliiPlata, lcExplicatie, lcNumeValuta, lcTipJ, lcXML, lcCodValuta, ldDataIreg, lcExplicatia + Local lcXMLFacturaDetalii, llAcont, llCalcTVA, llCursorCreat, llPlata, llPrimite, llSucces + Local lnTVAIncasare, llTaxareInversa, lnDeducere, lnDiscountFaraTVA, lnIdJtva, lnIdSet, lnInValuta, lnTaxeFaraTVA + Local lnTotalCuTVA, lnTotalFaraTVA, lnTotalTVA, lnTotaldePlata, lnValoareFaraTVA, loFactura, lnTotalFaraTVA, lnTotalTVA + Local lcCont, lcAcont, loRec + Local lcContTVA, lcTitlu, lnPTVA + Local lcContCredit, lcContDebit, lcFiltru + Local lcScc, lcScd, lnCurs, lnIdValuta, lnIdEfactura, llDistribuieArticole + Local lcContDiscount, lcContTaxe, lcSqlIdFact, lcXmlDisc, llDistribuieDiscountTaxe, lnProcTVA + Local lnProcent, lnRecno, lnTotalCuTVAx, lnTotalFaraTVAx, lnValoareFaraTVA0, loFactParse, loJtva + + + PRIVATE pnId, pnIdArticol, pnIdEFactura, pnIdFact, pnNrAct, pdDataAct, pnIdPart + + lcXML = '' + lnDeducere = Thisform.cboDeducere.Value && 0 = fara, 1 = deducere 50%, 2 = deducere 100% + llCalcTVA = .T. + llPlata = .T. + llAcont = .F. + llCursorCreat = .T. + llPrimite = Thisform.lPrimite + lcTipJ = Iif(Thisform.lPrimite, 'JC', 'JV') + + SELECT crsFacturi + SCATTER NAME loFactura MEMO + + *!* * Salvare anaf_efactura_detalii.id_articol, id_gestiune, cont + *!* llSucces = UpdateEFacturaArticolROA(loFactura.id) + + lnIdEfactura = loFactura.Id + lcCont = NVL(loFactura.cont, '') + lcAcont = NVL(loFactura.acont, '') + IF EMPTY(m.lcCont) + lcCont = IIF(thisform.lPrimite, '401', '4111') + ENDIF + + lnIdValuta = loFactura.IdValutaROA + lnCurs = loFactura.cursROA + lcCodValuta = Upper(Alltrim(Nvl(loFactura.nume_valuta, 'RON'))) + lnInValuta = Iif(m.lcCodValuta <> 'RON', 1, 0) + lnTVAIncasare = loFactura.TVAIncasare + llTaxareInversa = .F. + lnTotalFaraTVA = loFactura.total_fara_tva + lnTotalTVA = loFactura.total_tva + lnTotalCuTVA = loFactura.total_cu_tva + + lnDiscountFaraTVA = loFactura.discount_fara_tva && discount la nivelul facturii + lnTaxeFaraTVA = loFactura.taxe_fara_tva && taxe la nivelul facturii + llDistribuieDiscountTaxe = This.chkDistribuieDiscount.Value and (m.lnDiscountFaraTVA <> 0 or m.lnTaxeFaraTVA <> 0) + lcExplicatia = ALLTRIM(LEFT(loFactura.explicatiaROA, 100)) + + * Verific daca exista bife pe articole sa distribui valoarea pe restul articolelor (discount-uri, taxe) + SELECT crsDetaliiFacturi + lnRecno = RECNO() + LOCATE for distribuie = 1 + llDistribuieArticole = FOUND() + TRY + GOTO m.lnRecno + CATCH + GO TOP + ENDTRY + llDistribuieDiscountTaxe = m.llDistribuieDiscountTaxe or m.llDistribuieArticole + + + Create Cursor cDetaliiDiscTaxeTemp (valoare N(20,6), procentTVA N(5,2), discount N(1), motivdiscount V(200), motivdiscountcod V(50)) && discount : discount = 1 / taxe : discount = 0 + If m.lnDiscountFaraTVA <> 0 OR m.lnTaxeFaraTVA <> 0 + lcDetalii = loFactura.detalii + loFactParse = ParseEfactura(m.lcDetalii, .T.) + + lcXmlDisc = loFactParse.FacturaDetaliiDisc + Xmltocursor(m.lcXmlDisc, 'cDetaliiDiscTaxeTemp', 8192) + ENDIF + + IF thisform.lPrimite + lcTitlu = 'Factura de achizitie - Furnizori ' + m.lcCont + lcContTVA = IIF(m.lnTVAIncasare = 0, '4426', '4428') + lnIdSet = 10456 + lcContDebit = '' + lcContCredit = m.lcCont + lcScd = '' + lcScc = m.lcCont + lcContDiscount = '767' + lcContTaxe = '6588' && alte cheltuieli de exploatare + ELSE + lcTitlu = 'Factura de vanzare - Clienti ' + m.lcCont + lcContTVA = IIF(m.lnTVAIncasare = 0, '4427', '4428') + lnIdSet = 10464 + lcContDebit = m.lcCont + lcContCredit = '' + lcScd = m.lcCont + lcScc = '' + lcContDiscount = '667' + lcContTaxe = '7588' && alte venituri de exploatare + ENDIF + + * Creez cursoarele actactan (care se crea in pmenu.lans, cu partener, tva incasare) si cnote_contabile folosite in introducere_compacta + Do update_jtva_coloane With (m.lcTipJ) + + llSucces = goExecutor.oExecuta([select t.*, 0 As pozitie_1, 0 As pozitie_2, CAST(0 as NUMBER(4)) as nr_nota from vact_tot t where 1=2], [actactan]) + If !m.llSucces + Return + Endif + + Select crsDetaliiFacturi + lcFiltru = FILTER('crsDetaliiFacturi') + UPDATE crsDetaliiFacturi SET valoarefaratva = ROUND(NVL(cantitate,0)*NVL(pret,0),2) - NVL(discountfaratva,0) WHERE EMPTY(NVL(valoarefaratva,0)) AND &lcFiltru + Go Top + ldDataIreg = loFactura.data_Act + IF Month(m.ldDataIreg) <> m.gnluna Or Year(m.ldDataIreg) <> m.gnAn + ldDataIreg = ultimazi() + ENDIF + + SELECT * FROM crsDetaliiFacturi WHERE &lcFiltru INTO CURSOR crsDetaliiFacturi2 READWRITE + + * Adaug articol DISCOUNT/TAXE global + If Reccount('cDetaliiDiscTaxeTemp') > 0 AND !m.llDistribuieDiscountTaxe + Insert Into crsDetaliiFacturi2 (id_efactura, articol, cantitate, Pret, valoarefaratva, proctva, Cont, tiptva) ; + SELECT m.lnIdEfactura, CAST(IIF(!EMPTY(NVL(motivdiscount,'')), UPPER(ALLTRIM(motivdiscount)), IIF(discount = 1, 'DISCOUNT', 'TAXE')) as V(100)) As articol, ; + IIF(discount = 1, -1, 1) As cantitate, valoare As Pret, IIF(discount = 1, -1, 1) * valoare As valoarefaratva, procentTVA As proctva, ; + CAST(IIF(discount = 1, m.lcContDiscount, m.lcContTaxe) As C(4)) As cont, tiptva ; + FROM cDetaliiDiscTaxeTemp + ENDIF + + If m.llPrimite + Select *, Cast(NVL(Cont, '') As C(4)) As scd, Cast(NVL(acont, '') As C(4)) as ascd, Cast(NVL(loFactura.Cont, '') As C(4)) As scc, Cast(NVL(loFactura.Acont, '') As C(4)) as ascc, ; + IIF(INLIST(NVL(cont, ''), '667', '767', '609', '709'), 1, 0) as discount ; + from crsDetaliiFacturi2 ; + WHERE &lcFiltru ; + INTO Cursor crsDetaliiFacturiTemp Readwrite + Else + Select *, Cast(NVL(loFactura.Cont, '') As C(4)) As scd, Cast(NVL(loFactura.Acont, '') As C(4)) as ascd, Cast(NVL(Cont, '') As C(4)) As scc, Cast(NVL(acont, '') As C(4)) as ascc, ; + IIF(INLIST(NVL(cont, ''), '667', '767', '609', '709'), 1, 0) as discount ; + from crsDetaliiFacturi2 ; + WHERE &lcFiltru ; + INTO Cursor crsDetaliiFacturiTemp Readwrite + ENDIF + + * Distribui discount-ul/taxele (transport) globale pe articole + * Calculez valoarea articolelor pe procente TVA + * calculez procent discount/taxa pe valoare articole + * maresc/diminuez pretul articolelor cu procentul de distribuit + * Adaug articolele tip discount/taxe care trebuie distribuite + IF m.llDistribuieArticole + INSERT INTO cDetaliiDiscTaxeTemp (valoare, procentTVA, discount, motivdiscount) ; + SELECT ABS(valoarefaratva) as valoare, proctva as procentTVA, IIF(SIGN(valoarefaratva) = -1, 1, 0) as discount, IIF(SIGN(valoarefaratva) = -1, 'DISCOUNT', 'TAXE') AS motivdiscount ; + FROM crsDetaliiFacturiTemp ; + WHERE distribuie = 1 + + DELETE FROM crsDetaliiFacturiTemp WHERE distribuie = 1 + ENDIF + + If Reccount('cDetaliiDiscTaxeTemp') > 0 AND m.llDistribuieDiscountTaxe + Select proctva, Sum(valoarefaratva) As valoarefaratva ; + FROM crsDetaliiFacturiTemp ; + GROUP By proctva ; + INTO Cursor cTotaluriPeTva + + SELECT procenttva, SUM(IIF(discount = 1, -1, 1) * valoare) as valoare ; + FROM cDetaliiDiscTaxeTemp ; + GROUP BY procenttva ; + into cursor cDetaliiDiscTaxeTemp2 + + Select a.proctva, a.valoarefaratva, b.valoare, Round(b.valoare / a.valoarefaratva, 6) As procent ; + FROM cTotaluriPeTva a Join cDetaliiDiscTaxeTemp2 b On a.proctva = b.procentTVA ; + INTO Cursor cProcentePeTVA + + USE IN (SELECT('cDetaliiDiscTaxeTemp2')) + Use In (Select('cTotaluriPeTva')) + + Select cProcentePeTVA + Scan + lnProcTVA = proctva + lnProcent = (1+procent) + Update crsDetaliiFacturiTemp Set Pret = Round(Pret * m.lnProcent, 4), valoarefaratva = Round(valoarefaratva * m.lnProcent, 2) + Endscan + + Use In (Select('cProcentePeTVA')) + ENDIF && llDistribuieDiscountTaxe + + USE IN (SELECT('cDetaliiDiscTaxeTemp')) + USE IN (SELECT('crsDetaliiFacturi2')) + + ************************************************************************************************* + + SELECT actactan + APPEND BLANK + REPLACE id_set WITH m.lnIdSet, tva_incasare WITH loFactura.TvaIncasare, ; + dataireg WITH m.ldDataIreg, dataact WITH loFactura.Data_Act, datascad WITH loFactura.Data_Scad, nract WITH loFactura.NrActROA, serie_act With UPPER(loFactura.SerieActROA), ; + id_fdoc WITH thisform.nIdFdoc, fdoc WITH thisform.cFdoc, id_sectie WITH loFactura.id_Sectie, sectie WITH loFactura.sectie, ; + nrord WITH loFactura.nrord, id_lucrare WITH loFactura.id_Lucrare, contract WITH loFactura.contract, id_ctr WITH loFactura.id_ctr,; + dst_chlt WITH loFactura.dst_chlt, id_venchelt WITH loFactura.id_Venchelt, nresp WITH loFactura.nresp, id_responsabil WITH loFactura.id_responsabil, ; + explicatia with m.lcExplicatia, scd WITH m.lcScd, scc WITH m.lcScc + * Nu completez explicatia cu denumirea primului articol pentru ca se completeaza si pe nota de TVA. Nu doresc explicatii completate in nota contabila. + + If m.llPrimite + Select actactan + Replace id_partc With loFactura.IdPartROA, partc With loFactura.PartenerROA + ELSE + Select actactan + Replace id_partd With loFactura.IdPartROA, partd With loFactura.PartenerROA + ENDIF + + Select Cast(0 As N(5)) As id_note, MAX(articol) As explicatie, ; + scd, ascd, scc, ascc, m.lnIdSet As id_set, Cast(0 As I) As ordine, m.lnInValuta As in_valuta, 1 As cu_tva, proctva As ptva, tiptva, ; + CAST(0 As I) As id_jtax, Space(200) As denumiretax, ; + m.lcTipJ As tipjurnal, Cast(Null As I) As taxcode, Cast(Null As C(5)) As paymentcode, ; + SUM(ValoareFaraTVA) As ValoareFaraTVA, ; + CAST(0 As N(16,4)) As suma, Cast(0 As N(16,4)) As suma_val, Cast(0 As N(5)) As id_valuta, Cast('' As C(5)) As nume_val, Cast(0 As N(16,4)) As Curs, discount ; + from crsDetaliiFacturiTemp ; + group By scd, ascd, scc, ascc, proctva, tiptva, discount ; + INTO Cursor cnote_contabile Readwrite + + IF m.lnDeducere = 1 AND NVL(goCalendar.impozit_profit,0) = 1 && Deducere 50% cheltuieli si TVA pentru Platitorii de Impozit pe Profit + * La deducere TVA 50%, pun 2 note si pentru firmele impozit profic cu cheltuieli deductibile si nedeductibile + UPDATE cnote_contabile SET explicatie = 'CHELTUIELI DEDUCTIBILE' + + * 22.08.2025 + * Am introdus Calendar.impozit_profit + * Platitorii impozit venit, pentru limitare deducere 50% nu le trebuie 2 note CHELTUIELI DEDUCTIBILE si NEDEDUCTIBILE + SELECT * FROM cnote_contabile INTO CURSOR cnote_contabile2 READWRITE + UPDATE cnote_contabile2 SET explicatie = 'CHELTUIELI NEDEDUCTIBILE' + + SELECT cnote_contabile + APPEND FROM DBF('cnote_contabile2') + USE IN (SELECT('cnote_contabile2')) + + * Pun suma la jumatate pe fiecare nota + UPDATE cnote_contabile SET ValoareFaraTVA = ROUND(ValoareFaraTVA/2, m.gnPA) + ENDIF + + * Completez explicatia pe fiecare grup de note, din prima aparitie a grupului + *!* * Era buna o functie analitica Oracle: first over (partition by order by ) + *!* SELECT cnote_contabile + *!* SCAN + *!* SCATTER NAME loRec + *!* SELECT crsDetaliiFacturiTemp + *!* LOCATE FOR proctva = loRec.ptva AND NVL(scd,'x') = NVL(loRec.scd, 'x') AND NVL(ascd,'x') = NVL(loRec.ascd, 'x') AND NVL(scc,'x') = NVL(loRec.scc, 'x') AND NVL(ascc,'x') = NVL(loRec.ascc, 'x') + *!* IF FOUND() + *!* REPLACE explicatie WITH Left(crsDetaliiFacturiTemp.articol, 100) IN cnote_contabile + *!* ENDIF + *!* ENDSCAN + + USE IN (SELECT('crsDetaliiFacturiTemp')) + + IF m.gnNeplatitoare_tva = 1 + * Neplatitori de TVA, repartizez TVA pe articole + * Neplatitor TVA, trebuie sa aiba procent TVA = 0, si la facturile primite + CALCULATE SUM(valoarefaratva) FOR ptva = 0 TO lnValoareFaraTVA0 + + lnTotalFaraTVAx = m.lnTotalFaraTVA - m.lnValoareFaraTVA0 + lnTotalCuTVAx = m.lnTotalCuTVA - m.lnValoareFaraTVA0 + + IF m.lnTotalFaraTVAx = 0 + * Total zero - factura cu discount 100% sau compensare completa + CALCULATE SUM(ABS(valoarefaratva)) FOR ptva <> 0 TO lnTotalAbsValoare + + IF m.lnTotalAbsValoare <> 0 + lnTVADeDistribuit = m.lnTotalCuTVAx - m.lnTotalFaraTVAx + + UPDATE cnote_contabile SET ptva = 0, ; + valoarefaratva = valoarefaratva + ROUND(ROUND(ABS(valoarefaratva) / m.lnTotalAbsValoare, 6) * m.lnTVADeDistribuit * IIF(valoarefaratva >= 0, 1, -1), m.gnPA) ; + WHERE ptva <> 0 + ELSE + UPDATE cnote_contabile SET ptva = 0 WHERE ptva <> 0 + ENDIF + ELSE + * Cazul normal - logica originala + UPDATE cnote_contabile SET ptva = 0, ; + valoarefaratva = ROUND(ROUND(ValoareFaraTVA / m.lnTotalFaraTVAx, 6) * m.lnTotalCuTVAx, m.gnPA) ; + WHERE ptva <> 0 + ENDIF + + * Actualizez totalurile, ca sa nu recalculeze diferente baza si TVA + lnTotalFaraTVA = m.lnTotalCuTVA + lnTotalTVA = 0 + ENDIF + + If m.lnInValuta = 1 + Update cnote_contabile Set suma_val = ValoareFaraTVA, id_valuta = m.lnIdValuta, nume_val = m.lcCodValuta, Curs = m.lnCurs + Else + Update cnote_contabile Set suma = ValoareFaraTVA + Endif + + * Articole tip discount 667/767 + * inversez conturile, partenerii si suma + SELECT cnote_contabile + SCAN FOR discount = 1 + SCATTER NAME loRec + * baza 4111 = 667 negativ => 667 = 4111 pozitiv. inversez conturile si partenerii si suma (suma este negativa la reducere) + REPLACE scd WITH loRec.scc, ascd WITH loRec.ascc, scc WITH loRec.scd, ascc WITH loRec.ascd + *REPLACE id_partd WITH loRec.id_partc, partd WITH loRec.partc, id_partc WITH loRec.id_partd, partc WITH loRec.id_partd + REPLACE suma WITH -loRec.suma, suma_val WITH -loRec.suma_val + ENDSCAN + + * Completex IdJTVA + lnPTVA = GetProcTvaStandard() + Select cnote_contabile + SCAN + llTaxareInversa = (UPPER(ALLTRIM(NVL(tiptva,''))) = 'AE') + lnProcTVA = ptva && pentru neplatitorii de TVA, am mereu procent tva = 0 + + lnIdJtva = ProcentTva2IdJtva(m.lnProcTVA, m.lcTipJ, m.llTaxareInversa, m.lnTvaIncasare) + loJtva = GeJtvaColoana(m.lnIdJtva, m.lnTVAIncasare, m.lcTipJ) + lcDenumireTax = loJtva.denumire + + * TVA Taxare Inversa la facturi primite este 0 in eFactura, dar trebuie sa fie 4426 = 4427 in note contabile + * Maresc totalul cu tva cu tva taxare inversa calculat + IF m.llTaxareInversa + SELECT cnote_contabile + REPLACE ptva WITH m.lnPTVA + + IF thisform.lPrimite + lnTotalCuTVA = lnTotalCuTVA + ROUND(suma*m.lnPTVA/100, m.gnPC) + ENDIF + ENDIF + + Select cnote_contabile + Replace id_jtax With m.lnIdJtva, denumiretax With lcDenumireTax + Endscan + + USE IN (SELECT('xcont')) + CREATE CURSOR xcont (contPart C(4), idPart N(10) NULL, numePart V(250)) + INSERT INTO xcont (contpart, idpart, numepart) VALUES (m.lcCont, loFactura.IdPartROA, loFactura.PartenerROA) + + DO introducere_compacta WITH 'achi_mat',lcContDebit, m.lcContCredit,m.llCalcTVA, m.llPlata, m.lcTitlu,m.lcContTVA,m.lnIdSet, m.llAcont, m.lnDeducere, m.llCursorCreat, m.lnTotalCuTVA + + + * Salvare anaf_efactura_detalii.id_fact la importul eFactura achizitie + pnIdFact = 0 + pnNrAct = loFactura.NrActROA + pdDataAct = loFactura.Data_Act + pnIdPart = loFactura.IdPartROA + lcSqlIdFact = 'SELECT MIN(id_fact) as id_fact from act where sters = 0 and an=?gnAn and luna = ?gnLuna and nract = ?pnNrAct and dataact = ?pdDataAct and ' + IIF(m.llPrimite, 'id_partc', 'id_partd') + '=?pnIdPart' + + llSucces = goExecutor.oSelecteaza2Value(m.lcSqlIdFact, @pnIdFact) + + IF TYPE('pnIdFact') = 'N' AND NVL(m.pnIdFact,0) <> 0 + llSucces = UpdateEFacturaIdFact(m.lnIdEfactura, m.pnIdFact) + ENDIF + + USE IN (SELECT('xcont')) + + ENDPROC + + PROCEDURE importmodifica + Local Omodif As [frm_modific2024] + Local lcCodValuta, lcCont, lcContCredit, lcContDebit, lcContTVA, lcCursor, lcDenumireTax, lcAcont, lcExplicatia + Local lcExplicatie, lcFiltru, lcSql, lcTitlu, ldDataIreg, llRul, llSucces, llTaxareInversa, lnIdJtva + Local lnIdSet, lnInValuta, lnSucces, lnTVAIncasare, lnTotalCuTVA, loFactura, loRec + Local lcAcontTVA, lcTipJ, ldDataAct, llN100, llN50, llNeexigibil, llPrimite, lnCurs, lnIdGestiune + Local lnIdGestiune0, lnIdPart, lnIdTipDoc, lnIdValuta, lnNnir, lnTaxCode + Local lcAcontx, lcContx, lcGestiune, lcListaCont, lnDiferentaBaza, lnDiferentaTVA, lnTotalFaraTVA + Local lnTotalTVA, loJtva, loTotal, loRec, lnIdEfactura + Local lcContDiscount, lcDetalii, lcXmlDisc, llDistribuieDiscountTaxe, lnDiscount, lnDiscountFaraTVA + Local lnPret, lnProcTVA, lnProcent, lnValoareArticol, lnValoareFaraTVA, loFactParse, lcContTaxe, llDistribuieArticole + + LOCAL lcMesaj, lcMesajTemp, lcRaspuns + lcMesaj = '' + lcMesajTemp = '' + + + Private pdDataOra, pnIdFact + pnIdFact = 0 + pdDataOra = Datetime() + lnIdSet = 99999 + llRul = .T. + llPrimite = Thisform.lPrimite + lcTipJ = Iif(Thisform.lPrimite, 'JC', 'JV') + + Select crsFacturi + Scatter Name loFactura Memo + + lnIdEfactura = loFactura.Id + lcCont = Nvl(loFactura.Cont, '') + lcAcont = Nvl(loFactura.acont, '') + If Empty(m.lcCont) + lcCont = Iif(Thisform.lPrimite, '401', '4111') + Endif + + lcCodValuta = Upper(Alltrim(Nvl(loFactura.nume_valuta, 'RON'))) + lnIdValuta = loFactura.IdValutaROA + lnCurs = loFactura.cursROA + + lnInValuta = Iif(m.lcCodValuta <> 'RON', 1, 0) + lnTVAIncasare = loFactura.TVAIncasare + llTaxareInversa = .F. + lnTotalTVA = loFactura.total_tva + lnTotalFaraTVA = loFactura.total_fara_tva + lnTotalCuTVA = loFactura.total_cu_tva + ldDataAct = loFactura.data_act + lnIdPart = loFactura.IdPartROA + lnDiscountFaraTVA = loFactura.discount_fara_tva && discount la nivelul facturii + lnTaxeFaraTVA = loFactura.taxe_fara_tva && taxe la nivelul facturii + llDistribuieDiscountTaxe = This.chkDistribuieDiscount.Value and (m.lnDiscountFaraTVA <> 0 or m.lnTaxeFaraTVA <> 0) + lcExplicatia = Alltrim(LEFT(loFactura.explicatiaROA, 100)) + + * Verific daca exista bife pe articole sa distribui valoarea pe restul articolelor (discount-uri, taxe) + SELECT crsDetaliiFacturi + lnRecno = RECNO() + LOCATE for distribuie = 1 + llDistribuieArticole = FOUND() + TRY + GOTO m.lnRecno + CATCH + GO TOP + ENDTRY + llDistribuieDiscountTaxe = m.llDistribuieDiscountTaxe or m.llDistribuieArticole + + Create Cursor cDetaliiDiscTaxeTemp (valoare N(20,6), procentTVA N(5,2), discount N(1), motivdiscount V(200), motivdiscountcod V(50)) && discount : discount = 1 / taxe : discount = 0 + If m.lnDiscountFaraTVA <> 0 OR m.lnTaxeFaraTVA <> 0 + lcDetalii = loFactura.detalii + loFactParse = ParseEfactura(m.lcDetalii, .T.) + + lcXmlDisc = loFactParse.FacturaDetaliiDisc + Xmltocursor(m.lcXmlDisc, 'cDetaliiDiscTaxeTemp', 8192) + ENDIF + + llN50 = .F. + llN100 = .F. + llNeexigibil= .F. + + If Thisform.lPrimite + lcTitlu = 'Factura de achizitie - Furnizori ' + m.lcCont + lcContTVA = Iif(m.lnTVAIncasare = 0, '4426', '4428') + lcAcontTVA = '' + lnIdSet = 99999 + lcContDebit = '' + lcContCredit = m.lcCont + lnIdGestiune0 = m.gnEFACTURA_ID_GESTIUNE_P + lcContDiscount = '767' + lcContTaxe = '6588' && alte cheltuieli de exploatare + Else + lcTitlu = 'Factura de vanzare - Clienti ' + m.lcCont + lcContTVA = Iif(m.lnTVAIncasare = 0, '4427', '4428') + lcAcontTVA = '' + lnIdSet = 99999 + lcContDebit = m.lcCont + lcContCredit = '' + lnIdGestiune0 = m.gnEFACTURA_ID_GESTIUNE_E + lcContDiscount = '667' + lcContTaxe = '7588' && alte venituri de exploatare + Endif + + + * Verifica conturi analitice + lcListaCont = cursor2listac("crsDetaliiFacturi","cont",",") + + + lcSql = [select CONT, ACONT FROM vplcont_ANALITIC where inactiv = 0 and an = ?gnAn and cont in (] + m.lcListaCont + [) order by cont ] + llSucces = goExecutor.oExecuta(m.lcSql, 'cContAnaliticTemp') + If !m.llSucces + Return + ENDIF + + Select crsDetaliiFacturi + Scan + lcContx = Alltrim(Nvl(Cont, '')) + lcAcontx = Alltrim(Nvl(acont, '')) + If Empty(m.lcContx) + AMESSAGEBOX('Completati conturile pentru toate articolele!', 0+48, _Screen.Caption) + This.grdDetaliiFacturi.cCont.SetFocus() + Return + Endif + + If Empty(m.lcAcontx) + Select cContAnaliticTemp + Locate For Cont = m.lcContx + If Found() + AMESSAGEBOX('Completati analiticul pentru contul ' + m.lcContx + '!', 0+48, _Screen.Caption) + This.grdDetaliiFacturi.cAcont.SetFocus() + Return + Endif + Else + Select cContAnaliticTemp + Locate For Cont = m.lcContx And acont = m.lcAcontx + If !Found() + AMESSAGEBOX('Analiticul ' + m.lcContx + '.' + m.lcAcontx + ' nu exista in planul de conturi!', 0+48, _Screen.Caption) + This.grdDetaliiFacturi.cAcont.SetFocus() + Return + Endif + + Endif + + * Verificare ArticolRoa si Gestiune daca sunt lipsa + Select crsDetaliiFacturi + If LEFT(lcContx, 1) = '3' + DO CASE + CASE (Empty(NVL(id_articol,0)) AND Empty(NVL(id_gestiune,0))) + lcMesajTemp = lcMesajTemp + ALLTRIM(STR(nr)) + [ "] + ALLTRIM(NVL(articol, '')) + [" (articol ROA si gestiune)] + CHR(13) + CHR(10) + CASE Empty(NVL(id_articol,0)) + lcMesajTemp = lcMesajTemp + ALLTRIM(STR(nr)) + [ "] + ALLTRIM(NVL(articol,'')) + [" (articol ROA)] + CHR(13) + CHR(10) + CASE EMPTY(NVL(id_gestiune,0)) + lcMesajTemp = lcMesajTemp + ALLTRIM(STR(nr)) + [ "] + ALLTRIM(NVL(articol,'')) + [" (gestiune)] + CHR(13) + CHR(10) + ENDCASE + + ENDIF + ENDSCAN + + + IF !EMPTY(lcMesajTemp) + lcMesajTemp = " Urmatoarele randuri nu au completate Articolul ROA/Gestiunea si nu vor fi importate in rulaje " + CHR(13) + CHR(10) + CHR(13) + CHR(10) + ; + lcMesajTemp + CHR(13) + CHR(10) + ; + "Doriti sa continuati?" + + lcRaspuns = AMESSAGEBOX(lcMesajTemp, 4 + 48, _Screen.Caption) + + IF lcRaspuns = 7 + RETURN + ENDIF + ENDIF + + + Use In (Select('cContAnaliticTemp')) + + Select crsDetaliiFacturi + lcFiltru = Filter('crsDetaliiFacturi') + Update crsDetaliiFacturi Set valoarefaratva = Round(Nvl(cantitate,0)*Nvl(Pret,0),2) - NVL(discountfaratva,0) Where Empty(Nvl(valoarefaratva,0)) And &lcFiltru + Go Top + ldDataIreg = loFactura.data_act + If Month(m.ldDataIreg) <> m.gnluna Or Year(m.ldDataIreg) <> m.gnAn + ldDataIreg = ultimazi() + Endif + + SELECT * FROM crsDetaliiFacturi WHERE &lcFiltru INTO CURSOR crsDetaliiFacturi2 READWRITE + + * Adaug articol DISCOUNT/TAXE global + If Reccount('cDetaliiDiscTaxeTemp') > 0 AND !m.llDistribuieDiscountTaxe + Insert Into crsDetaliiFacturi2 (id_efactura, articol, cantitate, Pret, valoarefaratva, proctva, cont, tiptva) ; + SELECT m.lnIdEfactura, CAST(IIF(!EMPTY(NVL(motivdiscount,'')), UPPER(ALLTRIM(motivdiscount)), IIF(discount = 1, 'DISCOUNT', 'TAXE')) as V(100)) As articol, ; + IIF(discount = 1, -1, 1) As cantitate, valoare As Pret, IIF(discount = 1, -1, 1) * valoare As valoarefaratva, procentTVA As proctva, ; + CAST(IIF(discount = 1, m.lcContDiscount, m.lcContTaxe) As C(4)) As Cont, tiptva ; + FROM cDetaliiDiscTaxeTemp + ENDIF + + If m.llPrimite + Select *, ; + Cast(Nvl(Cont, '') As C(4)) As scd, Cast(Nvl(acont, '') As C(4)) As ascd, Cast(Nvl(loFactura.Cont, '') As C(4)) As scc, Cast(Nvl(loFactura.acont, '') As C(4)) As ascc, ; + m.lcContTVA As scd2, m.lcAcontTVA As ascd2, Cast(Nvl(loFactura.Cont, '') As C(4)) As scc2, Cast(Nvl(loFactura.acont, '') As C(4)) As ascc2, ; + IIF(Inlist(Nvl(Cont, ''), '667', '767', '609', '709'), 1, 0) As discount ; + from crsDetaliiFacturi2 ; + WHERE &lcFiltru ; + INTO Cursor crsDetaliiFacturiTemp Readwrite + Else + Select *, Cast(Nvl(loFactura.Cont, '') As C(4)) As scd, Cast(Nvl(loFactura.acont, '') As C(4)) As ascd, Cast(Nvl(Cont, '') As C(4)) As scc, Cast(Nvl(acont, '') As C(4)) As ascc, ; + Cast(Nvl(loFactura.Cont, '') As C(4)) As scd2, Cast(Nvl(loFactura.acont, '') As C(4)) As ascd2, m.lcContTVA As scc2, m.lcAcontTVA As ascc2, ; + IIF(Inlist(Nvl(Cont, ''), '667', '767', '609', '709'), 1, 0) As discount ; + from crsDetaliiFacturi2 ; + WHERE &lcFiltru ; + INTO Cursor crsDetaliiFacturiTemp Readwrite + Endif + + USE IN (SELECT('crsDetaliiFacturi2')) + + IF m.gnNeplatitoare_tva = 1 + CALCULATE SUM(valoarefaratva) FOR proctva = 0 TO lnValoareFaraTVA0 + + lnTotalFaraTVAx = m.lnTotalFaraTVA - m.lnValoareFaraTVA0 + lnTotalCuTVAx = m.lnTotalCuTVA - m.lnValoareFaraTVA0 + + IF m.lnTotalFaraTVAx = 0 + * Total zero - factura cu discount 100% sau compensare completa + * Redistribuim TVA proportional cu valoarea absoluta + CALCULATE SUM(ABS(valoarefaratva)) FOR proctva <> 0 TO lnTotalAbsValoare + + IF m.lnTotalAbsValoare <> 0 + * TVA de redistribuit = diferenta dintre totalCuTVA si totalFaraTVA + * (in cazul nostru ambele 0, deci lnTVADeDistribuit = 0 si nu facem nimic) + lnTVADeDistribuit = m.lnTotalCuTVAx - m.lnTotalFaraTVAx && = 0 in cazul tau + + UPDATE crsDetaliiFacturiTemp SET proctva = 0, ; + valoarefaratva = valoarefaratva + ; + ROUND(ROUND(ABS(valoarefaratva) / m.lnTotalAbsValoare, 6) * m.lnTVADeDistribuit * IIF(valoarefaratva >= 0, 1, -1), m.gnPA) ; + WHERE proctva <> 0 + UPDATE crsDetaliiFacturiTemp SET pret = pret + ; + ROUND(ROUND(ABS(pret) / m.lnTotalAbsValoare, 6) * m.lnTVADeDistribuit * IIF(pret >= 0, 1, -1), 6) ; + WHERE proctva <> 0 + UPDATE crsDetaliiFacturiTemp SET discountfaratva = discountfaratva + ; + ROUND(ROUND(ABS(discountfaratva) / m.lnTotalAbsValoare, 6) * m.lnTVADeDistribuit * IIF(discountfaratva >= 0, 1, -1), 6) ; + WHERE proctva <> 0 AND ABS(discountfaratva) > 0 + ENDIF + * Daca si lnTVADeDistribuit = 0, nu e nimic de facut, zero ramane zero + ELSE + * Cazul normal - totalul != 0, logica originala + UPDATE crsDetaliiFacturiTemp SET proctva = 0, valoarefaratva = ROUND(ROUND(ValoareFaraTVA / m.lnTotalFaraTVAx, 6) * m.lnTotalCuTVAx, m.gnPA) WHERE proctva <> 0 + UPDATE crsDetaliiFacturiTemp SET pret = ROUND(ROUND(pret / m.lnTotalFaraTVAx, 6) * m.lnTotalCuTVAx, 6) WHERE proctva <> 0 + UPDATE crsDetaliiFacturiTemp SET discountfaratva = ROUND(ROUND(discountfaratva / m.lnTotalFaraTVAx, 6) * m.lnTotalCuTVAx, m.gnPA) WHERE proctva <> 0 + ENDIF + + lnTotalFaraTVA = m.lnTotalCuTVA + lnTotalTVA = 0 + ENDIF + + * Discount la nivel de linie factura + * Pretul unitar este pretul de lista, nediminuat cu discount-ul + * Recalculez pretul unitar + SELECT crsDetaliiFacturiTemp + SCAN + lnValoareFaraTVA = valoarefaratva + lnValoareArticol = ROUND(cantitate * pret, m.gnPC) + lnDiscount = m.lnValoareArticol - m.lnValoareFaraTVA + IF m.lnDiscount <> 0 + lnPret = pret - ROUND(m.lnDiscount / cantitate, 4) + REPLACE pret WITH m.lnPret + ENDIF + ENDSCAN + + * Distribui discount-ul/taxele (transport) globale pe articolele GESTIONABILE + * Calculez valoarea articolelor pe procente TVA + * calculez procent discount/taxa pe valoare articole + * maresc/diminuez pretul articolelor cu procentul de distribuit + * Adaug articolele tip discount/taxe care trebuie distribuite + IF m.llDistribuieArticole + INSERT INTO cDetaliiDiscTaxeTemp (valoare, procentTVA, discount, motivdiscount) ; + SELECT ABS(valoarefaratva) as valoare, proctva as procentTVA, IIF(SIGN(valoarefaratva) = -1, 1, 0) as discount, IIF(SIGN(valoarefaratva) = -1, 'DISCOUNT', 'TAXE') AS motivdiscount ; + FROM crsDetaliiFacturiTemp ; + WHERE distribuie = 1 + + DELETE FROM crsDetaliiFacturiTemp WHERE distribuie = 1 + ENDIF + + If Reccount('cDetaliiDiscTaxeTemp') > 0 AND m.llDistribuieDiscountTaxe + Select proctva, Sum(valoarefaratva) As valoarefaratva ; + FROM crsDetaliiFacturiTemp ; + WHERE in_stoc = 1 ; + GROUP By proctva ; + INTO Cursor cTotaluriPeTva + + SELECT procenttva, SUM(IIF(discount = 1, -1, 1) * valoare) as valoare ; + FROM cDetaliiDiscTaxeTemp ; + GROUP BY procenttva ; + into cursor cDetaliiDiscTaxeTemp2 + + Select a.proctva, a.valoarefaratva, b.valoare, Round(b.valoare / a.valoarefaratva, 6) As procent ; + FROM cTotaluriPeTva a Join cDetaliiDiscTaxeTemp2 b On a.proctva = b.procentTVA ; + INTO Cursor cProcentePeTVA + + USE IN (SELECT('cDetaliiDiscTaxeTemp2')) + Use In (Select('cTotaluriPeTva')) + + Select cProcentePeTVA + Scan + lnProcTVA = proctva + lnProcent = (1+procent) + Update crsDetaliiFacturiTemp Set Pret = Round(Pret * m.lnProcent, 4), valoarefaratva = Round(valoarefaratva * m.lnProcent, 2) WHERE in_stoc = 1 + Endscan + + Use In (Select('cProcentePeTVA')) + ENDIF && llDistribuieDiscountTaxe + + USE IN (SELECT('cDetaliiDiscTaxeTemp')) + + + ************************************* + * GESTIUNE + ************************************* + lcSql = [select * from vrul_tot where 1=2] + lcCursor = [cRulTemp] + + llSucces = goExecutor.oExecuta(m.lcSql, m.lcCursor) + If m.llSucces + Select *, ; + CAST(0 As N(20,6)) As valoarectva, ; + CAST(0 As N(20,6)) As valoarevctva ; + From cRulTemp ; + Into Cursor trul Readwrite + + * iau doar articolele cu id_articol, id_gestiune si gestionabile (in_stoc = 1) + Select d.id_articol, d.articol_roa As denumire, codmat_roa As codmat, um_roa as um, d.cantitate As cant, d.Pret, Round(d.Pret * d.proctva/100, m.gnPC) As tva, ; + d.proctva, 1 + Round(d.proctva/100,2) As proc_tva, 1 + Round(d.proctva/100,2) As proc_tvav, d.pretv, d.tvav, d.pretvtva, ; + d.Cont, d.acont, CAST(Nvl(d.id_gestiune, m.lnIdGestiune0) AS N(5)) As id_gestiune, g.nume_gestiune, g.cgest, ; + Round(d.valoarefaratva, gnPC) As valoare, ; + Round(d.valoarefaratva * d.proctva/100, gnPC) As valtva, ; + Round(d.valoarefaratva, gnPC) + Round(d.valoarefaratva * d.proctva/100, gnPC) As valoarectva, ; + CAST(0 As N(20,6)) As adaos, ; + CAST(0 As N(20,6)) As valoarev, ; + CAST(0 As N(20,6)) As valtvav, ; + CAST(0 As N(20,6)) As valoarevctva, ; + CAST(0 As N(20,6)) As valoare_adaos, ; + CAST(0 As N(20,6)) As valtva_adaos ; + FROM crsDetaliiFacturiTemp d Left Join cGestiuni g On Nvl(d.id_gestiune, m.lnIdGestiune0) = g.id_gestiune ; + WHERE !Empty(Nvl(d.id_articol,0)) And !Empty(Nvl(g.id_gestiune,0)) AND Nvl(d.in_stoc,0) = 1 ; + INTO Cursor cArticoleGest Readwrite + + Update cArticoleGest Set valoarevctva = Round(pretvtva* cant, m.gnPC) Where pretv <> 0 + Update cArticoleGest Set valtvav = Round(valoarevctva * proctva/(100 + proctva), m.gnPC) Where pretv <> 0 + Update cArticoleGest Set valoarev = valoarevctva - valtvav Where pretv <> 0 + Update cArticoleGest Set adaos = pretv-Pret, valoare_adaos = valoarev - valoare Where pretv <> 0 + Update cArticoleGest Set valtva_adaos = Round(valoare_adaos * proctva/100, m.gnPC) Where pretv <> 0 + + + Update cArticoleGest Set id_articol = 0, denumire = 'NECUNOSCUT' Where Empty(Nvl(id_articol,0)) + * DE COMPLETAT serie, lot + + lnIdTipDoc = 1 && NIR + lnIdGestiune = Null + Select cArticoleGest + Locate For !Empty(Nvl(id_gestiune, 0)) + If Found() + lnIdGestiune = id_gestiune + Endif + lnNnir = 0 + + Select trul + Append From Dbf('cArticoleGest') + Replace All nnir With m.lnNnir, serie_act With loFactura.SerieActROA, nract With loFactura.NrActROA, dataact With loFactura.data_act + Replace All nrord With loFactura.nrord, id_lucrare With loFactura.id_lucrare + Replace All id_responsabil With loFactura.id_responsabil, nresp With loFactura.nresp + REPLACE ALL id_sectie WITH loFactura.id_Sectie, sectie WITH loFactura.sectie + + + If m.lnInValuta = 1 + Replace All Curs With m.lnCurs, id_valuta With m.lnIdValuta, nume_val With m.lcCodValuta + Endif + Replace All id_tip_rulaj With 0, tip_rulaj With "Intrare", id_set WITH m.lnIdSet + * serie, lot, daca exista in detalii factura + + Use In (Select('cArticoleGest')) + Endif && llSucces + + ************************************* + * CONTABILITATE + ************************************* + * tip 1 = baza, 2 = TVA, 3 = adaos comercial marfa 371 + Select 1 As tip, Cast(0 As N(5)) As id_note, Max(Upper(articol)) As explicatia, ; + scd, ascd, scc, ascc, m.lnIdSet As id_set, Cast(0 As I) As ordine, m.lnInValuta As in_valuta, 1 As cu_tva, proctva As ptva, 1 + Round(proctva/100,2) As proc_tva, tiptva, ; + CAST(0 As I) As id_jtax, Space(50) As denumiretax, ; + CAST(0 As I) As id_jtva_coloana , Space(50) As explicatie_Tva , ; + m.lcTipJ As tipjurnal, Cast(Null As I) As taxcode, Cast(Null As C(5)) As paymentcode, ; + SUM(valoarefaratva) As valoarefaratva, ; + CAST(0 As N(16,4)) As suma, Cast(0 As N(16,4)) As suma_val, Cast(0 As N(5)) As id_valuta, Cast('' As C(5)) As nume_val, Cast(0 As N(16,4)) As Curs, ; + id_gestiune As id_gestin, Space(100) As gestin, lnNnir As nnir, discount ; + from crsDetaliiFacturiTemp ; + group By proctva, tiptva, scd, ascd, scc, ascc, id_gestiune, discount ; + UNION ; + Select 2 As tip, Cast(0 As N(5)) As id_note, Max(Upper(articol)) As explicatia, ; + scd2 As scd, ascd2 As ascd, scc2 As scc, ascc2 As ascc, m.lnIdSet As id_set, Cast(0 As I) As ordine, m.lnInValuta As in_valuta, 1 As cu_tva, proctva As ptva, 1 + Round(proctva/100,2) As proc_tva, tiptva, ; + CAST(0 As I) As id_jtax, Space(50) As denumiretax, ; + CAST(0 As I) As id_jtva_coloana , Space(50) As explicatie_Tva , ; + m.lcTipJ As tipjurnal, Cast(Null As I) As taxcode, Cast(Null As C(5)) As paymentcode, ; + SUM(Round(proctva/100 * valoarefaratva, gnPC)) As valoarefaratva, ; + CAST(0 As N(16,4)) As suma, Cast(0 As N(16,4)) As suma_val, Cast(0 As N(5)) As id_valuta, Cast('' As C(5)) As nume_val, Cast(0 As N(16,4)) As Curs, ; + id_gestiune As id_gestin, Space(100) As gestin, lnNnir As nnir, discount ; + from crsDetaliiFacturiTemp ; + group By proctva, tiptva, scd2, ascd2, scc2, ascc2, id_gestiune, discount ; + UNION ; + Select 3 As tip, Cast(0 As N(5)) As id_note, 'VALOARE ADAOS FARA TVA' As explicatia, ; + cont As scd, acont As ascd, '378 ' As scc, Space(4) As ascc, m.lnIdSet As id_set, Cast(0 As I) As ordine, m.lnInValuta As in_valuta, 0 As cu_tva, proc_tvav As ptva, proc_tvav As proc_tva, ' ' as tiptva, ; + CAST(0 As I) As id_jtax, Space(50) As denumiretax, ; + CAST(0 As I) As id_jtva_coloana , Space(50) As explicatie_Tva , ; + m.lcTipJ As tipjurnal, Cast(Null As I) As taxcode, Cast(Null As C(5)) As paymentcode, ; + SUM(valoare_adaos) As valoarefaratva, ; + CAST(0 As N(16,4)) As suma, Cast(0 As N(16,4)) As suma_val, Cast(0 As N(5)) As id_valuta, Cast('' As C(5)) As nume_val, Cast(0 As N(16,4)) As Curs, ; + id_gestiune As id_gestin, Space(100) As gestin, lnNnir As nnir, 0 As discount ; + from trul ; + WHERE Cont = '371' And valoare_adaos <> 0 ; + group By Cont, acont, proc_tvav, id_gestiune ; + UNION ; + Select 4 As tip, Cast(0 As N(5)) As id_note, 'VALOARE TVA ADAOS' As explicatia, ; + cont As scd, acont As ascd, '4428' As scc, Space(4) As ascc, m.lnIdSet As id_set, Cast(0 As I) As ordine, m.lnInValuta As in_valuta, 0 As cu_tva, proc_tvav As ptva, proc_tvav As proc_tva, ' ' as tiptva, ; + CAST(0 As I) As id_jtax, Space(50) As denumiretax, ; + CAST(0 As I) As id_jtva_coloana , Space(50) As explicatie_Tva , ; + m.lcTipJ As tipjurnal, Cast(Null As I) As taxcode, Cast(Null As C(5)) As paymentcode, ; + SUM(Round(proc_tvav/100 * valoare_adaos, gnPC)) As valoarefaratva, ; + CAST(0 As N(16,4)) As suma, Cast(0 As N(16,4)) As suma_val, Cast(0 As N(5)) As id_valuta, Cast('' As C(5)) As nume_val, Cast(0 As N(16,4)) As Curs, ; + id_gestiune As id_gestin, Space(100) As gestin, lnNnir As nnir, 0 As discount ; + from trul ; + WHERE Cont = '371' And valoare_adaos <> 0 ; + group By Cont, acont, proc_tvav, id_gestiune ; + ORDER By 1, 11, 4, 6 ; + INTO Cursor cnote_contabile Readwrite + * ordonat dupa tip, procent tva, scd, scc + + Update cnote_contabile Set gestin = '', id_gestin = 0 Where Isnull(id_gestin) && in act nu se permite null pe id_gestin + DELETE FROM cnote_contabile WHERE NVL(valoarefaratva, 0) = 0 + + * Discount global, la nivelul documentului + If m.lnInValuta = 1 + Update cnote_contabile Set suma_val = valoarefaratva, suma = Round(suma_val * m.lnCurs, m.gnPC), id_valuta = m.lnIdValuta, nume_val = m.lcCodValuta, Curs = m.lnCurs + Else + Update cnote_contabile Set suma = valoarefaratva + Endif + + * Articole tip discount 667/767/609/709 + * inversez conturile, partenerii si suma + Select cnote_contabile + Scan For discount = 1 And tip = 1 + Scatter Name loRec + *!* DO CASE + *!* CASE tip = 1 && baza 4111 = 667 negativ => 667 = 4111 pozitiv. inversez conturile si partenerii si suma (suma este negativa la reducere) + Replace scd With loRec.scc, ascd With loRec.ascc, scc With loRec.scd, ascc With loRec.ascd + * REPLACE id_partd WITH loRec.id_partc, partd WITH loRec.partc, id_partc WITH loRec.id_partd, partc WITH loRec.id_partd + Replace suma With -loRec.suma, suma_val With -loRec.suma_val + *!* CASE tip = 2 && TVA 4111 = 4427, nu fac nimic, semnul este deja negativ + * + *!* ENDCASE + Endscan + + + * Adaug diferenta dintre totalul facturii si totalul notelor pe prima linie baza si TVA, care nu este discount + Select Sum(Iif(tip = 1, Iif(discount = 0, suma, -suma), 0.00)) As valoareftva, Sum(Iif(tip = 2, suma, 0.00)) As valoaretva From cnote_contabile Into Cursor cTotaluri + + Select cTotaluri + Scatter Name loTotal + lnDiferentaBaza = (m.lnTotalFaraTVA - loTotal.valoareftva) + lnDiferentaTVA = (m.lnTotalTVA - loTotal.valoaretva) + If lnDiferentaBaza <> 0 + Select cnote_contabile + Locate For tip = 1 And discount = 0 + If Found() + Replace suma With suma + m.lnDiferentaBaza + Else + Locate For tip = 1 And discount = 0 + If Found() + Replace suma With suma - m.lnDiferentaBaza + Endif + Endif + Endif + If m.lnDiferentaTVA <> 0 + Select cnote_contabile + Locate For tip = 2 And discount = 0 + If Found() + Replace suma With suma + m.lnDiferentaTVA + Endif + Endif + Use In (Select('cTotaluri')) + + * Completez Gestin + Select * From cGestiuni C Where id_gestiune In (Select Distinct id_gestin From cnote_contabile WHERE !EMPTY(NVL(id_gestin,0))) Into Cursor cGestiuniTemp NOFILTER + Select cGestiuniTemp + Scan + lnIdGestiune = id_gestiune + lcGestiune = nume_gestiune + Update cnote_contabile Set gestin = m.lcGestiune Where id_gestin = m.lnIdGestiune And Empty(gestin) + Endscan + Use In (Select('cGestiuniTemp')) + + Update cnote_contabile Set gestin = '', id_gestin = 0 Where Isnull(id_gestin) && in act nu se permite null pe id_gestin + + * Completex IdJTVA + Do update_jtva_coloane With m.lcTipJ, '', 6 + + Select cnote_contabile + Scan For Inlist(tip, 1, 2) + llTaxareInversa = (UPPER(ALLTRIM(NVL(tiptva,''))) = 'AE') + lnIdJtva = ProcentTva2IdJtva(ptva, m.lcTipJ, m.llTaxareInversa, m.lnTVAIncasare) + loJtva = GeJtvaColoana(m.lnIdJtva, m.lnTVAIncasare, m.lcTipJ) + lcDenumireTax = loJtva.denumire + If cnote_contabile.tip = 2 && TVA + lnIdJtva = loJtva.id_tva + loJtva = GeJtvaColoana(m.lnIdJtva, m.lnTVAIncasare, m.lcTipJ) + lcDenumireTax = loJtva.denumire + Endif + + If m.gl406 + lnTaxCode = GetTaxCodeIdPart(m.gnAn, m.gnluna, m.ldDataAct, m.lnIdJtva, m.lnIdPart, m.llN50, m.llN100, m.llNeexigibil) + Endif + + Select cnote_contabile + Replace id_jtax With m.lnIdJtva, denumiretax With lcDenumireTax, id_jtva_coloana With m.lnIdJtva, explicatie_Tva With m.lcDenumireTax + + If m.gl406 + Replace taxcode With m.lnTaxCode + ENDIF + + IF cnote_contabile.tip = 1 + UPDATE trul SET id_jtva_coloana = m.lnIdJtva WHERE proc_tva*100-100 = cnote_contabile.ptva AND EMPTY(NVL(id_jtva_coloana, 0)) + + If m.gl406 + UPDATE trul SET taxcode = m.lnTaxCode WHERE proc_tva*100-100 = cnote_contabile.ptva AND EMPTY(NVL(taxcode, 0)) + ENDIF + ENDIF + Endscan + + + ************************************************************************************** + * FORMULAR MODIFICARE NOTE + ************************************************************************************** + If m.llSucces + lcSql = [select * from vact_tot where 1=2] + lcCursor = [v_act] + + llSucces = goExecutor.oExecuta(m.lcSql, m.lcCursor) + Endif + If m.llSucces + Select .F. As ales, T.*, Cast(0 As N(2)) As tipnota, 1 As cu_tva From v_act T Into Cursor tact Readwrite + Use In (Select('v_act')) + Endif + + lcSql = [select * from vrul_obinv_tot where 1=2] + lcCursor = [cRulTemp] + + llSucces = goExecutor.oExecuta(m.lcSql, m.lcCursor) + If m.llSucces + Select *, ; + CAST(0 As N(20,6)) As valoarectva, ; + CAST(0 As N(20,6)) As valoarevctva ; + From cRulTemp ; + Into Cursor trul_obinv Readwrite + ENDIF + USE IN (SELECT('cRulTemp')) + + update_jtva_coloane("", "crsJtvaTemp", 1) + + If m.llSucces + Do nrord With "trul" + + Private poGeneratorNumere + poGeneratorNumere = Createobject('oGeneratorNumere') + IF RECCOUNT('trul') > 0 OR RECCOUNT('trul_obinv') > 0 + poGeneratorNumere.creeaza_cursor_serii(m.lnIdTipDoc) + lnNnir = poGeneratorNumere.aloca_numar(m.lnIdTipDoc, m.lnIdGestiune) + ELSE + lnNnir = 0 + ENDIF + + Select tact + Append From Dbf('cnote_contabile') + Replace All id_set With m.lnIdSet, tva_incasare With loFactura.TVAIncasare, ; + dataireg With m.ldDataIreg, dataact With loFactura.data_act, datascad With loFactura.Data_Scad, serie_act With loFactura.SerieActROA, nract With loFactura.NrActROA, ; + id_fdoc With Thisform.nIdFdoc, fdoc With Thisform.cFdoc, id_sectie With loFactura.id_sectie, sectie With loFactura.sectie, ; + nrord With loFactura.nrord, id_lucrare With loFactura.id_lucrare, contract With loFactura.contract, id_ctr With loFactura.id_ctr,; + dst_chlt With loFactura.dst_chlt, id_venchelt With loFactura.id_venchelt, nresp With loFactura.nresp, id_responsabil With loFactura.id_responsabil + + Update tact Set explicatia = m.lcExplicatia && nu doresc explicatia primul articol pe baza, tva, discount + + Update tact Set id_partc = loFactura.IdPartROA, partc = loFactura.PartenerROA Where scc = m.lcCont + Update tact Set id_partd = loFactura.IdPartROA, partd = loFactura.PartenerROA Where scd = m.lcCont + UPDATE tact SET id_sucursala = Nvl(m.gnIdSucursala, 0) + + UPDATE trul SET id_sucursala = Nvl(m.gnIdSucursala, 0) + UPDATE trul_obinv SET id_sucursala = Nvl(m.gnIdSucursala, 0) + + Update tact Set nnir = m.lnNnir + Update trul Set nnir = m.lnNnir + Update trul_obinv Set nnir = m.lnNnir + + Select tact + Go Top + + Select trul + Go Top + Omodif = Createobject([frm_modific2024], m.lnIdSet) + *!* DO FORM frm_modific2024 NAME omodif LINKED WITH m.lnIdSet NOSHOW + Omodif.Show() + + If m.gnButon=1 + If Thisform.do_deschide_tranzactie() + Replace id_jtva_coloana With Null, proc_tva With 0 For cu_tva = 0 In tact + Select * From tact Into Cursor actactan Readwrite + Select * From trul Into Cursor rul_temp Readwrite + Select * From trul_obinv Into Cursor rul_temp_obinv Readwrite + + Replace All id_util With gnIdUtil, sters With 0 In actactan + Replace All id_util With gnIdUtil, sters With 0 In rul_temp + Replace All id_util With gnIdUtil, sters With 0 In rul_temp_obinv + + lnSucces = oscrie_in_fisiere(0, .F., m.llRul) + llSucces = (m.lnSucces > 0) + + IF m.llSucces + * Salvare anaf_efactura_detalii.id_fact la importul eFactura achizitie + llSucces = goExecutor.oSelecteaza2Value('SELECT PACK_CONTAFIN.GET_IDFACT() FROM DUAL', @pnIdFact) + + IF m.llSucces AND TYPE('pnIdFact') = 'N' AND NVL(m.pnIdFact,0) <> 0 + llSucces = UpdateEFacturaIdFact(m.lnIdEfactura, m.pnIdFact) + IF m.llSucces + UPDATE crsFacturi SET id_fact = m.pnIdFact WHERE id = m.lnIdEfactura + ENDIF + ENDIF + ENDIF + + Thisform.do_inchide_tranzactie(Iif(m.llSucces,1, 2)) + + ENDIF + + IF m.llSucces + Thisform.ListareNIR(m.pnIdFact) + ENDIF + + Else + poGeneratorNumere.dezaloca_numar(m.lnIdTipDoc) + ENDIF && gnButon=1 + Endif + + + Release poGeneratorNumere + + Use In (Select('crsDetaliiFacturiTemp')) + Use In (Select('tAct')) + Use In (Select('actactan')) + Use In (Select('trul')) + Use In (Select('rul_temp')) + Use In (Select('trul_obinv')) + Use In (Select('rul_temp_obinv')) + USE IN (SELECT('crsJtvaTemp')) + + ENDPROC + + PROCEDURE Init + Lparameters tlPrimite + + Local lcFdoc, lcSql, llSucces, lnIdFdoc + + This.lPrimite = m.tlPrimite + + * Fel document + lnIdFdoc = null + lcFdoc = '' + lcSql = [SELECT ID_FDOC FROM NOM_FDOC WHERE STERS = 0 AND INACTIV = 0 AND FEL_DOCUMENT = 'FACTURA'] + llSucces = goExecutor.oSelecteaza2Value(m.lcSql, @lnIdFdoc) + If m.llSucces + lcFdoc = 'FACTURA' + ELSE + AMESSAGEBOX('Creati Fel document: FACTURA in Definirea Companiei!',0+48,_screen.Caption) + Return + ENDIF + + ADDPROPERTY(this, 'nIdFdoc', m.lnIdFdoc) + ADDPROPERTY(this, 'cFdoc', m.lcFdoc) + + * Colorez cu gri/turcuaz diferentele de valoare fata de Registrul TVA + this.grdFacturi.SetAll("DynamicBackColor","IIF(diferenta=total_cu_tva, RGB(225,225,225), IIF(diferenta <> 0, RGB(100,255,255), RGB(255,255,255)))", "Column") + + * Colorez cu rosu Credit Note + this.grdFacturi.SetAll("DynamicForeColor","IIF(creditnote = 1, RGB(225,0,0), RGB(0,0,0))", "Column") + this.gridextra1.setup() + this.gridextra2.setup() + ENDPROC + + PROCEDURE KeyPress + LPARAMETERS nKeyCode, nShiftAltCtrl + Local lcActiveControlName + + lcActiveControlName = '' + IF TYPE('this.ActiveControl.name') = 'C' + lcActiveControlName = UPPER(this.ActiveControl.name) + ENDIF + + IF nKeyCode = 13 AND nShiftAltCtrl = 0 AND m.lcActiveControlName = 'GRDFACTURI' && ENTER + TRY + this.txtSerieAct.SetFocus() + CATCH + ENDTRY + NODEFAULT + ELSE + DODEFAULT(nKeyCode, nShiftAltCtrl) + ENDIF + ENDPROC + + PROCEDURE listarenir + LPARAMETERS tnIdFact + + + Local llSucces, lnTip + PRIVATE pnIdFact, pnNnir + + IF !EMPTY(NVL(m.tnIdFact,0)) + pnIdFact = m.tnIdFact + ELSE + pnIdFact = NVL(crsFacturi.id_fact, 0) + ENDIF + + lnTip = IIF(!EMPTY(NVL(crsdetaliifacturi.pretvtva,0)), 7, 1) + IF !EMPTY(m.pnIdFact) + pnNnir = 0 + llSucces = goExecutor.oSelecteaza2Value([SELECT MIN(nnir) as nnir FROM rul WHERE id_fact = ?pnIdfact], @pnNnir) + IF m.llSucces AND !EMPTY(NVL(m.pnNnir,0)) + DO listare_nir_tot WITH m.pnNnir, m.pnNnir, m.lnTip + ELSE + AMESSAGEBOX('Nu s-a gasit numarul de NIR pentru Id Fact ' + TRANSFORM(m.pnIdFact),0+48,_Screen.Caption) + ENDIF + ELSE + AMESSAGEBOX('Factura nu are Id Fact. Nu se poate lista NIR-ul.',0+48,_Screen.Caption) + ENDIF + + ENDPROC + + PROCEDURE modificanote + Local loForm As [frm_modific2007] + Local llMaximize, llNotaNoua, lnIdSet, llSucces, lcSelect + Local lcSql, lnSucces, lnTaxCode + Local ldDataAct, llFurnizorTVAI, lnIdJtva + *:Global gcAcces + Private pnCod + + llSucces = .T. + lnIdSet = 90023 + lcSelect = Select() + + * cursor cActTemp (denumire, iban, nr, data, suma, explicatie, scd, scc, id_partd, id_partc, partd, partc, id_fdoc, fdoc) + update_jtva_coloane("JV", 'crsExplicatiiTVATemp', 1) + + lcSql = [SELECT * FROM vact WHERE 1=2] + llSucces = goExecutor.oExecuta(m.lcSql, 'actactan_temp') + If m.llSucces + Select actactan_temp + IF USED('actactan') + Append From Dbf('actactan') + ENDIF + + Select .F. As ales, a.explicatia4 As iban, Iif(!Empty(Nvl(a.id_jtva_coloana, 0)), 1, 0) As Cu_tva, Cast(0 As N(2)) As tipnota, a.*, b.denumire As explicatie_tva_2 ; + From actactan_temp a Left Join crsExplicatiiTVATemp b On a.id_jtva_coloana = b.id_jtva_coloana ; + Into Cursor tact Readwrite + + Update tact Set explicatie_tva = explicatie_tva_2, explicatia4 = '', id_Set = m.lnIdSet + UPDATE tAct SET nract = INT(VAL(DTOS(dataact) + ALLTRIM(STR(RECNO())))) WHERE EMPTY(NVL(nract,0)) + + + * Completare nract pentru notele retragere de numerar 5311 = 581 adaugate suplimentar, la fel ca in notele 581 = 5121 + SELECT nract FROM tAct WHERE nract < 0 INTO CURSOR cNrActNegativ + SELECT cNrActNegativ + SCAN + lnNractNegativ = nract + lnRec = -1*m.lnNractNegativ + SELECT tAct + LOCATE FOR RECNO() = m.lnRec + IF FOUND() + lnNract = nract + LOCATE FOR nract = m.lnNrActNegativ + IF FOUND() + REPLACE nract WITH m.lnNract + ENDIF + ENDIF + ENDSCAN + USE IN (SELECT('cNrActNegativ')) + + * Actualizez taxcode SAFT in functie de furnizori RTVAI + IF m.gl406 + SELECT tact + SCAN FOR !EMPTY(id_jtva_coloana) + lnIdJtva = id_jtva_coloana + ldDataAct = dataact + llFurnizorTVAI = .F. + lnTaxCode = GetTaxCode(m.gnAn, m.gnLuna, m.ldDataAct, m.lnIdJtva, m.llFurnizorTVAI) + SELECT tact + REPLACE taxcode WITH m.lnTaxCode + ENDSCAN + + UPDATE tact SET paymentcode = '42' WHERE LEFT(scd,3) = '512' OR LEFT(scc,3) = '512' && plata in contul bancar + ENDIF + Endif && llSucces + + If m.llSucces + gcAcces = "1;2;3;4;" + Select tact + Go Top + llNotaNoua = .T. + llMaximize = .T. + loForm = Createobject([frm_modific2007], m.lnIdSet, m.llNotaNoua) + loForm.lb_titlu_alb_b121.Caption = 'Import extrase bancare, deconturi curieri, procesatori plati' + Select tact + loForm.Show(1, m.llMaximize) + + If buton = 1 + Use In (Select('actactan')) + + Update tact Set id_jtva_coloana = Null, PROC_TVA = 0 Where Cu_tva = 0 + + lnSucces = SQLSetprop(m.gnhandle, "Transactions", 2) + llSucces = (m.lnSucces > 0) + If m.llSucces + * Generez coduri distinct pentru fiecare document. + * La vizualizare note este de preferat sa nu vad incasari si plati in acelasi document!!?? + + lcSql = [SELECT seq_cod.nextval FROM dual] + Select distinct dataact, nract From tact Into Cursor cCodTemp + Select cCodTemp + Scan + Wait Window 'Salvare nota ' + Transform(Recno()) + '/' + Transform(Reccount()) Nowait + pnCod = 0 + llSucces = goExecutor.oSelecteaza2Value(m.lcSql, @pnCod) + If m.llSucces + Update tact Set cod = m.pnCod Where EMPTY(NVL(cod,0)) AND NVL(nract,0) = NVL(cCodTemp.nract,0) AND NVL(dataact, DATE()) = NVL(cCodTemp.dataact, DATE()) + + Select * From tact Where cod = m.pnCod Into Cursor actactan Readwrite + + Select actactan + lnSucces = OSCRIE_IN_FISIERE(0, .F., .F., .T.) + llSucces = (m.lnSucces > 0) + Use In (Select('actactan')) + If !m.llSucces + Exit + Endif + Else + Exit + Endif + Endscan && cCodTemp + Use In (Select('cCodTemp')) + Endif && llSucces + + + If !m.llSucces + lcSql = "ROLLBACK" + Else + lcSql = "COMMIT" + Endif + lnSucces = goExecutor.oExecute(m.lcSql) + llSucces = (m.lnSucces > 0) + If !m.llSucces + AMESSAGEBOX(lcSql + Chr(13) + goExecutor.cEroare, 0 + 16, "Eroare") + Endif + + lnSucces = SQLSetprop(gnhandle, "Transactions", 1) + llSucces = (m.lnSucces > 0) + If !m.llSucces + AMESSAGEBOX('Programul nu a reusit sa treaca pe tranzactie automata. Iesiti din program si intrati din nou!', 0 + 48, 'Atentie!') + Endif + Else + llSucces = .F. + Endif && buton = 1 + Endif && llSucces + + Use In (Select('crsExplicatiiTVATemp')) + Select (m.lcSelect) + Return m.llSucces + + ENDPROC + + PROCEDURE scrienote + ENDPROC + + PROCEDURE Show + LPARAMETERS nStyle + DODEFAULT(nStyle) + + this.WindowState = 2 + this.grdFacturi.HeaderHeight = 35 + + SELECT crsFacturi + GO TOP + Thisform.CompleteazaFactura() && cap factura + Thisform.actualizeaza_grid2() + Thisform.CompleteazaDetaliiFactura() && detalii factura + + + ENDPROC + + PROCEDURE but_cont.Click + Local lcCont + + lcCont = ALLTRIM(NVL(crsDetaliiFacturi.cont,'')) + IF !EMPTY(m.lcCont) + UPDATE crsDetaliiFacturi SET cont = m.lcCont WHERE EMPTY(NVL(cont,'')) + ENDIF + + thisform.grdDetaliiFacturi.Refresh() + ENDPROC + + PROCEDURE but_gestiune.Click + Local lnIdGestiune + + lnIdGestiune = NVL(crsDetaliiFacturi.id_gestiune, 0) + IF !EMPTY(m.lnIdGestiune) + UPDATE crsDetaliiFacturi SET id_gestiune = m.lnIdGestiune WHERE EMPTY(NVL(id_gestiune, 0)) + ENDIF + + thisform.grdDetaliiFacturi.Refresh() + ENDPROC + + PROCEDURE But_nou1.Click + * Adaug partener ROA nou + Local loDate As "empty" + Local lcPartener, lnIdPartener, loDate2, loFactura, lcCodFiscal + Local llCNP, lnTipPersoana + + + SELECT crsFacturi + SCATTER NAME loFactura + If Empty(Nvl(loFactura.Id,0)) + Return + Endif + SET STEP ON + llCNP = ValidCNP(loFactura.cod_fiscal) + + lnTipPersoana = IIF(m.llCNP, 2, 1) && 1 && 1 = juridica, 2 = fizica + loDate = CREATEOBJECT("empty") + ADDPROPERTY(loDate, "denumire", ALLTRIM(loFactura.partener)) + ADDPROPERTY(loDate, "cod_fiscal", ALLTRIM(loFactura.cod_fiscal)) + ADDPROPERTY(loDate, "id_tip_part", IIF(thisform.lPrimite,17,16)) + ADDPROPERTY(loDate, "lSilentios", .F.) + loDate2 = nom_parteneri_nou(, , , m.lnTipPersoana, , m.loDate) + * Extrag adresa + *!* lcDetalii = loFactura.detalii + *!* loFactParse = ParseEfactura(m.lcDetalii, .T.) + + IF TYPE('loDate2') = 'O' AND TYPE('loDate2.id_part') = 'N' + lnIdPartener = Nvl(loDate2.id_part, 0) + lcPartener = Alltrim(Nvl(loDate2.denumire, '')) + lcCodFiscal = ALLTRIM(NVL(loDate2.cod_fiscal, '')) + IF !EMPTY(m.lnIdPartener) + SELECT crsFacturi + REPLACE PartenerROA WITH lcPartener, IdPartROA WITH lnIdPartener, CodFiscalROA WITH m.lcCodFiscal + ENDIF + ENDIF + + thisform.txtPartener.Refresh() + thisform.txtCodFiscal.Refresh() + + TEXT TO lcText + banca, cont_banca, motiv_inactiv, inactiv, eliberatde, dataeliberat, email, web, fax, id_adresa, adresa, telefon, telefon2, id_loc, localitate, ] + ; + [judet, id_judet, sector, apart, etaj, scara, bloc, strada, numar, codpostal, id_tara, tara, categorie_entitate, dataora, utilizator, swift_banca, adresa_banca, institutie_publica + ENDTEXT + ENDPROC + + PROCEDURE But_start_criterii1.loadcriterii + PARAMETERS tacriterii + EXTERNAL ARRAY tacriterii + #DEFINE crlf CHR(13)+CHR(10) + + lcStringCriterii= "Nr. factura\numar_act\N\none\" + crlf + ; + "Data factura\TRUNC(data_act)\D\none\" + crlf + ; + "Partener\partener\T\id_part\nom_parteneri" + crlf + ; + "Cod fiscal\cod_fiscal\T\none\" + crlf + ; + "Trimis\nofiled\E\(trimis = 1)\" + crlf + ; + "Data trimis\TRUNC(data_trimis)\D\none\" + crlf + ; + "Data raspuns\TRUNC(data_raspuns)\D\none\" + DODEFAULT() + ENDPROC + + PROCEDURE but_tip.Click + Local lnIdTip, lcCont + + lnIdTip = crsDetaliiFacturi.id_tip + lcCont = ALLTRIM(NVL(crsDetaliiFacturi.cont,'')) + + UPDATE crsDetaliiFacturi SET id_tip = m.lnIdTip, cont = m.lcCont WHERE EMPTY(NVL(id_tip,0)) + + thisform.grdDetaliiFacturi.Refresh() + ENDPROC + + PROCEDURE Cmd_executa2.Click + lcSql = "select cont, explicatie, tip_sold from vplcont_used where an=?gnAn and tip_cont = 0 order by cont" + llSucces = goExecutor.oExecuta(m.lcSql, "crsPlCont") + + Select Cont, explicatie, tip_sold From crsPlCont Into Cursor cPlContP Order By Cont + Select Cont, explicatie, tip_sold From crsPlCont Into Cursor cPlContE Order By Cont + + lcSql = "select id_gestiune, nume_gestiune, cont, acont, cgest, nume_tip from vnom_gestiuni where inactiv = 0 order by nume_gestiune" + llSucces = goExecutor.oExecuta(m.lcSql, "crsGestiuni") + SELECT crsGestiuni + APPEND BLANK + Select id_gestiune, nume_gestiune, Cont From crsGestiuni Order By nume_gestiune Into Cursor cGestiuniP NOFILTER + Select id_gestiune, nume_gestiune, Cont From crsGestiuni Order By nume_gestiune Into Cursor cGestiuniE NOFILTER + + + lcSql = "select id_sectie, sectie from vnom_sectii where inactiv = 0 order by sectie" + llSucces = goExecutor.oExecuta(m.lcSql, "crsSectii") + SELECT crsSectii + APPEND BLANK + Select id_sectie, sectie From crsSectii Into Cursor cSectiiP Order By sectie + Select id_sectie, sectie From crsSectii Into Cursor cSectiiE Order By sectie + + + lcSql = "select id_venchelt, explicatie as venchelt, decode(tip_venchelt, 1, 'VENIT', 'CHELTUIALA') as tip from vnom_venchel where inactiv = 0 order by explicatie" + llSucces = goExecutor.oExecuta(m.lcSql, "crsVenChel") + SELECT crsVenChel + APPEND BLANK + Select id_venchelt, venchelt, tip From crsVenChel Into Cursor cVenChelP Order By venchelt + Select id_venchelt, venchelt, tip From crsVenChel Into Cursor cVenChelE Order By venchelt + + gcEFACTURA_CONT_ART_E = ALLTRIM(gcEFACTURA_CONT_ART_E) + gcEFACTURA_CONT_ART_P = ALLTRIM(gcEFACTURA_CONT_ART_P) + gnEFACTURA_ID_SECTIE_E = INT(gnEFACTURA_ID_SECTIE_E) + gnEFACTURA_ID_SECTIE_P = INT(gnEFACTURA_ID_SECTIE_P) + gnEFACTURA_ID_GESTIUNE_E = INT(gnEFACTURA_ID_GESTIUNE_E) + gnEFACTURA_ID_GESTIUNE_P = INT(gnEFACTURA_ID_GESTIUNE_P) + gnEFACTURA_ID_VENCHELT_E = INT(gnEFACTURA_ID_VENCHELT_E) + gnEFACTURA_ID_VENCHELT_P = INT(gnEFACTURA_ID_VENCHELT_P) + gnEFACTURA_ID_TIPART_E = INT(gnEFACTURA_ID_TIPART_E) + gnEFACTURA_ID_TIPART_P = INT(gnEFACTURA_ID_TIPART_P) + + gnEFACTURA_CONT_ART_EF = INT(m.gnEFACTURA_CONT_ART_EF) + gnEFACTURA_CONT_ART_PF = INT(m.gnEFACTURA_CONT_ART_PF) + gnEFACTURA_GEST_ART_EF = INT(m.gnEFACTURA_GEST_ART_EF) + gnEFACTURA_GEST_ART_PF = INT(m.gnEFACTURA_GEST_ART_PF) + + loConf = Createobject("frm_configurare_efactura") + loConf.Show(1) + + + If gnButon = 1 + scrie_optiune('EFACTURA_CONT_ART_E', ALLTRIM(m.gcEFACTURA_CONT_ART_E), 'CONT ARTICOLE IMPLICIT FACTURI EMISE') + scrie_optiune('EFACTURA_CONT_ART_P', ALLTRIM(m.gcEFACTURA_CONT_ART_P), 'CONT ARTICOLE IMPLICIT FACTURI PRIMITE') + scrie_optiune('EFACTURA_ID_SECTIE_E', ALLTRIM(STR(INT(m.gnEFACTURA_ID_SECTIE_E))), 'ID SECTIE IMPLICIT FACTURI EMISE') + scrie_optiune('EFACTURA_ID_SECTIE_P', ALLTRIM(STR(INT(m.gnEFACTURA_ID_SECTIE_P))), 'ID SECTIE IMPLICIT FACTURI PRIMITE') + scrie_optiune('EFACTURA_ID_GESTIUNE_E', ALLTRIM(STR(INT(m.gnEFACTURA_ID_GESTIUNE_E))), 'ID GESTIUNE IMPLICIT FACTURI EMISE') + scrie_optiune('EFACTURA_ID_GESTIUNE_P', ALLTRIM(STR(INT(m.gnEFACTURA_ID_GESTIUNE_P))), 'ID GESTIUNE IMPLICIT FACTURI PRIMITE') + scrie_optiune('EFACTURA_ID_VENCHELT_E', ALLTRIM(STR(INT(m.gnEFACTURA_ID_VENCHELT_E))), 'ID VENIT/CHELT IMPLICIT FACTURI EMISE') + scrie_optiune('EFACTURA_ID_VENCHELT_P', ALLTRIM(STR(INT(m.gnEFACTURA_ID_VENCHELT_P))), 'ID VENIT/CHELT IMPLICIT FACTURI PRIMITE') + scrie_optiune('EFACTURA_ID_TIPART_E', ALLTRIM(STR(INT(m.gnEFACTURA_ID_TIPART_E))), 'ID TIP ARTICOL IMPLICIT FACTURI EMISE') + scrie_optiune('EFACTURA_ID_TIPART_P', ALLTRIM(STR(INT(m.gnEFACTURA_ID_TIPART_P))), 'ID TIP ARTICOL IMPLICIT FACTURI PRIMITE') + + scrie_optiune('EFACTURA_CONT_ART_EF', ALLTRIM(STR(m.gnEFACTURA_CONT_ART_EF)), 'PRELUARE CONT ARTICOL DIN FACTURILE EMISE ANTERIOARE') + scrie_optiune('EFACTURA_CONT_ART_PF', ALLTRIM(STR(m.gnEFACTURA_CONT_ART_PF)), 'PRELUARE CONT ARTICOL DIN FACTURILE PRIMITE ANTERIOARE') + scrie_optiune('EFACTURA_GEST_ART_EF', ALLTRIM(STR(m.gnEFACTURA_GEST_ART_EF)), 'PRELUARE GESTIUNE ARTICOL DIN FACTURILE EMISE ANTERIOARE') + scrie_optiune('EFACTURA_GEST_ART_PF', ALLTRIM(STR(m.gnEFACTURA_GEST_ART_PF)), 'PRELUARE GESTIUNE ARTICOL DIN FACTURILE PRIMITE ANTERIOARE') + Endif + + Use In (Select('crsPlCont')) + Use In (Select('cPlContP')) + Use In (Select('cPlContE')) + Use In (Select('crsGestiuni')) + Use In (Select('cGestiuniP')) + Use In (Select('cGestiuniE')) + Use In (Select('crsSectii')) + Use In (Select('cSectiiP')) + Use In (Select('cSectiiE')) + Use In (Select('crsVenchel')) + Use In (Select('cVenChelP')) + Use In (Select('cVenChelE')) + + ENDPROC + + PROCEDURE Cmd_executa3.Click + Local lcCont + + lcCont = ALLTRIM(NVL(crsDetaliiFacturi.cont,'')) + lcAcont = ALLTRIM(NVL(crsDetaliiFacturi.acont,'')) + IF !EMPTY(m.lcAcont) + UPDATE crsDetaliiFacturi SET acont = m.lcAcont WHERE cont = m.lcCont AND EMPTY(NVL(acont,'')) + ENDIF + + thisform.grdDetaliiFacturi.Refresh() + ENDPROC + + PROCEDURE grdDetaliiFacturi.cAcont.Text1.Click + This.LostFocus(.T.) + ENDPROC + + PROCEDURE grdDetaliiFacturi.cAcont.Text1.LostFocus + LPARAMETERS PlClick + Local lcAcont, lcCont, llReturn + + SELECT crsDetaliiFacturi + lcCont = cont + lcAcont = acont + IF EMPTY(m.lcCont) + RETURN + ENDIF + llReturn = verific_analitic(m.plClick, m.lcCont, m.lcAcont,'acont','crsDetaliiFacturi') && in oOperatii_comune.prg + ENDPROC + + PROCEDURE grdDetaliiFacturi.cArticolROA.Text1.DblClick + _cliptext = ALLTRIM(NVL(crsdetaliifacturi.articol,'')) + loArticol = caut_articol() && ocautare.prg + REPLACE id_articol WITH loArticol.id_articol, articol_roa WITH loArticol.denumire, um_roa WITH loArticol.um, codmat_roa WITH loArticol.codmat, in_stoc WITH loArticol.in_stoc IN crsDetaliiFacturi + + + ENDPROC + + PROCEDURE grdDetaliiFacturi.cArticolROA.Text1.InteractiveChange + _cliptext = ALLTRIM(NVL(crsdetaliifacturi.articol,'')) + loArticol = caut_articol() && ocautare.prg + REPLACE id_articol WITH loArticol.id_articol, articol_roa WITH loArticol.denumire, um_roa WITH loArticol.um, codmat_roa WITH loArticol.codmat, in_stoc WITH loArticol.in_stoc IN crsDetaliiFacturi + + ENDPROC + + PROCEDURE grdDetaliiFacturi.cArticolROA.Text1.RightClick + Local lnOptiune, lnIdArticol, loDate + Local lcArticol, lcCodUMISO, llSucces, loArticol + + lnIdArticol = 0 + + lnOptiune = xmenu("\ (Solo para binarios VFP 9 / Only for VFP 9 binaries) +* +* +*< LIBCOMMENT: Application Wizard framework class library. /> +* +DEFINE CLASS wzapplication AS container && Application class used as a framework for the Application Wizard. + *< CLASSDATA: Baseclass="container" Timestamp="" Scale="Pixels" Uniqueid="" /> + + * + *m: beforereadevents && Method executed before READ EVENTS is executed when ReadEvents is called. + *m: clearevents && Clears any pending read events. + *m: doform && Executes an SCX form. + *m: dolabel && Executes an LBX label + *m: domenu && Executes an MPR menu. + *m: doprogram && Executes a PRG, APP, or EXE program. + *m: doreport && Executes an FRX report. + *m: filenotfoundmsgbox && Displays a File Not Found messagebox. + *m: getcaption && Returns the caption of the application. + *m: geticon && Returns the icon of the application. + *m: onshutdown && Occurs when the user attempts to exit Visual FoxPro. + *m: readevents && Starts read events mode. + *m: readini + *m: refreshformscollection && Refresh forms collection arrays and counters. + *m: release && Releases the application from memory. + *m: releaseform && Release specifc or active form from memory. + *m: releaseforms && Release all application forms from memory. + *m: resetformscollection && Reset arrays and counters of forms collection. + *m: restart + *m: restoreenvironment && Restores environment settings. + *m: saveenvironment && Saves environment settings. + *m: setcaption && Sets the caption of the application. + *m: seticon && Sets the icon of the application. + *m: show && Displays the application. + *m: writeini + *p: ccaption && Caption of the application object. + *p: cicon && Icon of the application object. + *p: clastcaption && Last caption setting of _screen before application object was intantiated. + *p: clasticon && Last icon setting of _screen before application object was intantiated. + *p: cstartupform && Form (SCX) which is executed when the application object is shown. + *p: cstartupmenu && Menu (MPR) which is executed when the application object is shown. + *p: lcascadeforms && Specifies whether forms are cascaded if multiple instances of the same form are opened in the same top and left positions of the desktop. + *p: lreadevents && Enable READ EVENTS within ReadEvents method. + *p: nformcount && Forms collection count for application object. + *p: npixeloffset && Number of pixels which offset multiple instances of the same form. + *a: aformnames[1,0] && Form name collection for application object. + *a: aforms[1,0] && Forms collection for application object. + *p: _memberdata && XML Metadata for customizable properties + * + + PROTECTED ccaption,cicon,clastcaption,clasticon,Destroy,Init + * + BackColor = 0,0,255 + ccaption = + cicon = + clastcaption = + clasticon = + cstartupform = + cstartupmenu = + Height = 34 + lcascadeforms = .T. + lreadevents = .T. + Name = "wzapplication" + nformcount = 0 + npixeloffset = 22 + Visible = .F. + Width = 108 + _memberdata = + + + * + + PROTECTED PROCEDURE beforereadevents && Method executed before READ EVENTS is executed when ReadEvents is called. + ENDPROC + + PROCEDURE clearevents && Clears any pending read events. + CLEAR EVENTS + + ENDPROC + + PROTECTED PROCEDURE Destroy + CLEAR EVENTS + this.RestoreEnvironment + + ENDPROC + + PROCEDURE doform && Executes an SCX form. + LPARAMETERS tcFileName,tcClass,tlNoMultipleInstances,tlNoShow + LOCAL lcFileName,lcClass,oForm,oForm2,lcName,lnCount,lnTop,lnLeft + LOCAL lcFormName,lnFormCount + + _screen.visible=.t. + + lcFileName = UPPER(ALLTRIM(tcFileName)) + IF EMPTY(lcFileName) + RETURN .F. + ENDIF + lcClass=IIF(TYPE("tcClass")=="C",LOWER(ALLTRIM(tcClass)),"") + lcFileName=LOWER(FULLPATH(lcFileName)) + IF NOT "."$lcFileName + lcFileName=lcFileName+IIF(EMPTY(lcClass),".scx",".vcx") + ENDIF + IF NOT FILE(lcFileName) + this.FileNotFoundMsgBox(lcFileName) + RETURN .F. + ENDIF + lcFormName=IIF(EMPTY(lcClass),lcFileName,lcFileName+","+lcClass) + IF tlNoMultipleInstances + FOR lnCount = 1 TO this.nFormCount + IF this.aFormNames[lnCount]==lcFormName AND ; + TYPE("this.aForms[lnCount]")=="O" AND ; + NOT ISNULL(this.aForms[lnCount]) + this.aForms[lnCount].Show + RETURN .F. + ENDIF + ENDFOR + ENDIF + this.RefreshFormsCollection + this.nFormCount=this.nFormCount+1 + DIMENSION this.aForms[this.nFormCount],this.aFormNames[this.nFormCount] + this.aFormNames[this.nFormCount]=lcFormName + IF NOT EMPTY(lcClass) + SET CLASSLIB TO (lcFileName) ADDITIVE + this.aForms[this.nFormCount]=CREATEOBJECT(lcClass) + IF NOT tlNoShow AND TYPE("this.aForms[this.nFormCount]")=="O" AND ; + NOT ISNULL(this.aForms[this.nFormCount]) + this.aForms[this.nFormCount].Show + ENDIF + ELSE + DO FORM (lcFileName) NAME this.aForms[this.nFormCount] LINKED NOSHOW + ENDIF + lnFormCount=this.nFormCount + this.RefreshFormsCollection + IF this.lCascadeForms AND this.nFormCount>=lnFormCount + oForm=this.aForms[this.nFormCount] + lnTop=oForm.Top + lnLeft=oForm.Left + lcName=oForm.Name + IF WEXIST(lcName) AND oForm.WindowState#2 + FOR lnCount = 1 TO (this.nFormCount-1) + oForm2=this.aForms[lnCount] + IF TYPE("oForm2")#"O" OR ISNULL(oForm2) + LOOP + ENDIF + IF lcName==oForm2.Name AND WLROW(lcName)=WLROW(oForm2.Name) AND ; + WLCOL(lcName)=WLCOL(oForm2.Name) + lnTop=lnTop+this.nPixelOffset + lnLeft=lnLeft+this.nPixelOffset + ENDIF + ENDFOR + IF oForm.Top#lnTop + oForm.Top=lnTop + ENDIF + IF oForm.Left#lnLeft + oForm.Left=lnLeft + ENDIF + ENDIF + ENDIF + + *!* modificat 18.10.2004 + *!* Marius + IF !(m.tlNoShow OR (TYPE('glParametri') = 'L' AND 'LOGIN'$UPPER(lcFileName) and m.glParametri)) + this.aForms[this.nFormCount].Show + ENDIF + + ENDPROC + + PROCEDURE dolabel && Executes an LBX label + LPARAMETERS tcFileName,tlPrint + LOCAL lcFileName + + lcFileName=ALLTRIM(tcFileName) + IF EMPTY(lcFileName) + RETURN .F. + ENDIF + lcFileName=LOWER(FULLPATH(lcFileName)) + IF NOT "."$lcFileName + lcFileName=lcFileName+".lbx" + ENDIF + IF NOT FILE(lcFileName) + this.FileNotFoundMsgBox(lcFileName) + RETURN .F. + ENDIF + IF tlPrint + LABEL FORM (lcFileName) TO PRINTER PROMPT + ELSE + LABEL FORM (lcFileName) PREVIEW + ENDIF + + ENDPROC + + PROCEDURE domenu && Executes an MPR menu. + LPARAMETERS tcFileName + LOCAL lcFileName + + lcFileName=ALLTRIM(tcFileName) + IF EMPTY(lcFileName) + RETURN .F. + ENDIF + lcFileName=LOWER(FULLPATH(lcFileName)) + IF NOT "."$lcFileName + lcFileName=lcFileName+".mpr" + ENDIF + + IF TYPE('goLocale') = 'O' + goLocale.SetMenu(m.lcFileName, "menu", null) + ENDIF + + DO (m.lcFileName) + + + + ENDPROC + + PROCEDURE doprogram && Executes a PRG, APP, or EXE program. + LPARAMETERS tcFileName + LOCAL lcFileName + + lcFileName=ALLTRIM(tcFileName) + IF EMPTY(lcFileName) + RETURN .F. + ENDIF + lcFileName=LOWER(FULLPATH(lcFileName)) + IF NOT "."$lcFileName + lcFileName=lcFileName+".prg" + ENDIF + IF NOT FILE(lcFileName) + this.FileNotFoundMsgBox(lcFileName) + RETURN .F. + ENDIF + DO (lcFileName) + + ENDPROC + + PROCEDURE doreport && Executes an FRX report. + LPARAMETERS tcFileName,tlPrint + LOCAL lcFileName + + lcFileName=ALLTRIM(tcFileName) + IF EMPTY(lcFileName) + RETURN .F. + ENDIF + lcFileName=LOWER(FULLPATH(lcFileName)) + IF NOT "."$lcFileName + lcFileName=lcFileName+".frx" + ENDIF + IF NOT FILE(lcFileName) + this.FileNotFoundMsgBox(lcFileName) + RETURN .F. + ENDIF + IF tlPrint + REPORT FORM (lcFileName) TO PRINTER PROMPT + ELSE + REPORT FORM (lcFileName) PREVIEW + ENDIF + + ENDPROC + + PROCEDURE filenotfoundmsgbox && Displays a File Not Found messagebox. + LPARAMETERS tcFileName + + RETURN AMESSAGEBOX([Fisierul "]+tcFileName+[" nu a fost gasit!],16,gcNumeProgram) + + ENDPROC + + PROCEDURE getcaption && Returns the caption of the application. + RETURN this.cCaption + + ENDPROC + + PROCEDURE geticon && Returns the icon of the application. + RETURN this.cIcon + + ENDPROC + + PROTECTED PROCEDURE Init + this.SaveEnvironment + this.ResetFormsCollection + + ENDPROC + + PROCEDURE onshutdown && Occurs when the user attempts to exit Visual FoxPro. + If glQuit + Quit + Endif + + IF TYPE('m.buton') = 'U' + PRIVATE buton + buton = 1 + ENDIF + + OA=Createobject('frm_mesaj',gcNumeProgram,'intreb.ico','INTREBARE','Doriþi sã ieºiþi din program?') + OA.lbl_mesaj1.FontBold=.T. + OA.lbl_mesaj1.FontSize=12 + OA.lbl_mesaj1.Top=55 + OA.Show(1) + If buton=1 + ON SHUTDOWN + ON ERROR + CLEAR EVENTS + IF _VFP.StartMode <> 0 + QUIT + ENDIF + Else + PRIMADATA=.F. + Endif + + ENDPROC + + PROCEDURE readevents && Starts read events mode. + this.BeforeReadEvents + IF this.lReadEvents + READ EVENTS + ENDIF + + ENDPROC + + PROCEDURE readini + LPARAMETERS tcSection, tcVariable + + lcSection = IIF(!EMPTY(m.tcSection), ALLTRIM(LOWER(m.tcSection)), '') + lcVariable = IIF(!EMPTY(m.tcVariable), ALLTRIM(LOWER(m.tcVariable)), '') + lcValue = '' + + IF TYPE('goApi') = 'O' AND !EMPTY(m.lcSection) AND !EMPTY(m.lcVariable) + lcValue = goAPI.GetProfileString(m.gcSettingsFile, m.lcSection, m.lcVariable) + ENDIF + + RETURN NVL(m.lcValue,'') + ENDPROC + + PROCEDURE refreshformscollection && Refresh forms collection arrays and counters. + LOCAL lnCount,lnCount2 + + lnCount=1 + DO WHILE lnCount<=this.nFormCount + IF TYPE("this.aForms[lnCount]")=="O" AND NOT ISNULL(this.aForms[lnCount]) + lnCount=lnCount+1 + LOOP + ENDIF + FOR lnCount2 = lnCount TO (this.nFormCount-1) + this.aForms[lnCount2]=this.aForms[lnCount2+1] + this.aForms[lnCount2+1]=.NULL. + this.aFormNames[lnCount2]=this.aFormNames[lnCount2+1] + this.aFormNames[lnCount2+1]="" + ENDFOR + this.nFormCount=this.nFormCount-1 + IF this.nFormCount=0 + EXIT + ENDIF + DIMENSION this.aForms[this.nFormCount],this.aFormNames[this.nFormCount] + ENDDO + IF this.nFormCount=0 + this.ResetFormsCollection + ENDIF + + ENDPROC + + PROCEDURE release && Releases the application from memory. + IF NOT this.ReleaseForms() + RETURN .F. + ENDIF + this.ClearEvents + RELEASE this + + ENDPROC + + PROCEDURE releaseform && Release specifc or active form from memory. + LPARAMETERS toForm + + IF PARAMETERS()=0 + IF TYPE("_screen.ActiveForm")#"O" OR ISNULL(_screen.ActiveForm) + RETURN .F. + ENDIF + _screen.ActiveForm.Release + ELSE + IF TYPE("toForm")#"O" OR ISNULL(toForm) + RETURN .F. + ENDIF + toForm.Release + ENDIF + this.RefreshFormsCollection + + ENDPROC + + PROCEDURE releaseforms && Release all application forms from memory. + LOCAL lnFormCount + + this.RefreshFormsCollection + DO WHILE this.nFormCount>0 + lnFormCount=this.nFormCount + IF NOT this.ReleaseForm(this.aForms[lnFormCount]) OR this.nFormCount=lnFormCount + RETURN .F. + ENDIF + ENDDO + + ENDPROC + + PROTECTED PROCEDURE resetformscollection && Reset arrays and counters of forms collection. + this.nFormCount=0 + DIMENSION this.aForms[1],this.aFormNames[1] + this.aForms=.NULL. + this.aFormNames="" + + ENDPROC + + PROCEDURE restart + *!* e folosita in ROASTART + This.releaseform() + This.show() + ENDPROC + + PROTECTED PROCEDURE restoreenvironment && Restores environment settings. + IF NOT EMPTY(this.cLastCaption) AND NOT _screen.Caption==this.cLastCaption + _screen.Caption=this.cLastCaption + ENDIF + IF NOT EMPTY(this.cLastIcon) AND NOT _screen.Icon==this.cLastIcon + _screen.Icon=this.cLastIcon + ENDIF + + ENDPROC + + PROTECTED PROCEDURE saveenvironment && Saves environment settings. + this.cLastCaption=_screen.Caption + this.cLastIcon=_screen.Icon + + ENDPROC + + PROCEDURE setcaption && Sets the caption of the application. + LPARAMETERS tcCaption + + IF TYPE("tcCaption")#"C" + RETURN .F. + ENDIF + this.cCaption=tcCaption + _screen.Caption=tcCaption + + ENDPROC + + PROCEDURE seticon && Sets the icon of the application. + LPARAMETERS tcIcon + + IF TYPE("tcIcon")#"C" + RETURN .F. + ENDIF + this.cIcon=tcIcon + _screen.Icon=tcIcon + + ENDPROC + + PROCEDURE show && Displays the application. + LPARAMETERS nStyle + + this.DoMenu(this.cStartupMenu) + this.DoForm(this.cStartupForm) + this.ReadEvents + + ENDPROC + + PROCEDURE writeini + LPARAMETERS tcSection, tcVariable, tcValue + + lcSection = IIF(!EMPTY(m.tcSection), ALLTRIM(LOWER(m.tcSection)), '') + lcVariable = IIF(!EMPTY(m.tcVariable), ALLTRIM(LOWER(m.tcVariable)), '') + lcValue = IIF(!EMPTY(m.tcValue), ALLTRIM(TRANSFORM(m.tcValue)), '') + + IF TYPE('goApi') = 'O' AND !EMPTY(m.lcSection) AND !EMPTY(m.lcVariable) + goAPI.WriteProfileString(m.gcSettingsFile, m.lcSection, m.lcVariable, m.lcValue) + ENDIF + ENDPROC + +ENDDEFINE diff --git a/clase/autoresize.vc2 b/clase/autoresize.vc2 new file mode 100644 index 0000000..3fe065f --- /dev/null +++ b/clase/autoresize.vc2 @@ -0,0 +1,188 @@ +*-------------------------------------------------------------------------------------------------------------------------------------------------------- +* (EN) AUTOGENERATED - ATTENTION!! - NOT INTENDED FOR EXECUTION!! USE ONLY FOR MERGING CHANGES AND STORING WITH SCM TOOLS!! +*-------------------------------------------------------------------------------------------------------------------------------------------------------- +*< FOXBIN2PRG: Version="1.21" SourceFile="autoresize.vcx" CPID="1252" /> (Solo para binarios VFP 9 / Only for VFP 9 binaries) +* +* +DEFINE CLASS autoresize AS container + *< CLASSDATA: Baseclass="container" Timestamp="" Scale="Pixels" Uniqueid="" /> + + * + *p: firstrun && Internal + *p: resizeheight + *p: resizewidth + * + + HIDDEN firstrun + * + BackStyle = 0 + BorderColor = 128,64,0 + BorderWidth = 1 + firstrun = .T. + Height = 20 + Name = "autoresize" + resizeheight = (thisform.Height) + resizewidth = (thisform.Width) + ToolTipText = "Resizes controls on a form" + Visible = .F. + Width = 20 + * + + PROCEDURE Error + LPARAMETERS nError, cMethod, nLine + + *-------------------------------------------- + * Ignore all error from this class + *-------------------------------------------- + RETURN + + ENDPROC + + PROCEDURE Refresh + *------------------------------------------------------------ + * Description: Auto Resize - resizes all control on form. + * Parameters: tObj, Object to resize, default = thisform + * Return: n/a + * Use: In the Forms Resize event place "thisform.Refresh()" + *------------------------------------------------------------ + * Id Date By Description + * 1 01/07/2005 GLR Initial Creation v. 1.00.0001 + * 2 01/11/2005 GLR Free up Tag by move Anchors to ResizeAnchors + * 3 01/12/2005 GLR Add option to center control Horz. + * + *------------------------------------------------------------ + + + *!* Instructions + *!* + *!* 1. Place this control on your form + *!* 2. In each of the controls you wish to have auto resize, place in the + *!* TAG property a combination of follow letters. + *!* + *!* T : When the form's height grows, move control down. + *!* L : When the form's width grows, move control to the right + *!* H : When the form's height grows, make the control's height grow too + *!* W : When the form's width grows, make the control's width grow too + *!* C : Center the control horizonally. + *!* + *!* 3. Place in the Form's Resize event the statement + *!* + *!* THISFORM.Refresh() + *!* + *!* That is all there is to it. + + + LPARAMETERS tObj + + IF VARTYPE(tObj) # "O" + tObj = THISFORM + ENDIF + IF TYPE("__Hdiff")="U" AND TYPE("_Wdiff")="U" + + *-------------------------------------------- + * Deactivate screen + *-------------------------------------------- + Local __LS + __LS = thisform.LockScreen + thisform.LockScreen = .F. + + PRIVATE __Hdiff, __Wdiff + + *-------------------------------------------- + * Perset these properties + *-------------------------------------------- + IF EMPTY(THIS.ResizeHeight) OR EMPTY(THIS.ResizeWidth) + THIS.ResizeHeight = THISFORM.HEIGHT + THIS.ResizeWidth = THISFORM.WIDTH + ENDIF + + *-------------------------------------------- + * Determine how much has changed by resizing the form. + *-------------------------------------------- + + __Hdiff = THISFORM.HEIGHT-THIS.ResizeHeight + THIS.ResizeHeight = THISFORM.HEIGHT + __Wdiff = THISFORM.WIDTH-THIS.ResizeWidth + THIS.ResizeWidth = THISFORM.WIDTH + + *-------------------------------------------- + * If not resized, and not first time through, exit + *-------------------------------------------- + IF __Hdiff=0 AND __Wdiff=0 AND (NOT THIS.FirstRun) + RETURN + ENDIF + THIS.FirstRun = .F. + + ENDIF + + + WITH tObj + + *-------------------------------------------- + * Does the TAG property have Resize information + *-------------------------------------------- + IF TYPE("tObj.Tag")="C" ; + AND (NOT EMPTY(.TAG) ) ; + AND LEN(ALLTRIM(CHRTRAN(.TAG,"TLHW","")))=0 + + *-------------------------------------------- + * Free up the Tag property for the application + *-------------------------------------------- + *!* tObj.ADDPROPERTY("ResizeAnchors", UPPER(.TAG)) + *!* .Tag = "" + ENDIF + + *-------------------------------------------- + * Is there Anchors + *-------------------------------------------- + *!* IF PEMSTATUS(tObj,"ResizeAnchors",5) + *!* LOCAL lcTLHW + *!* lcTLHW = .ResizeAnchors + IF PEMSTATUS(tObj,"Tag",5) + LOCAL lcTLHW + lcTLHW = .TAG + + *-------------------------------------------- + * Resize this control + *-------------------------------------------- + .TOP = .TOP + IIF( "T"$lcTLHW, __Hdiff, 0 ) + + .LEFT = .LEFT + IIF( "L"$lcTLHW, __Wdiff, 0 ) + + .HEIGHT = .HEIGHT + IIF( "H"$lcTLHW, __Hdiff, 0 ) + + .WIDTH = .WIDTH + IIF( "W"$lcTLHW, __Wdiff, 0 ) + + *-- Center control horizonally + .LEFT = IIF( "C"$lcTLHW, (.PARENT.WIDTH - .WIDTH) / 2 , .LEFT ) + + ENDIF + + *-------------------------------------------- + * If this control has child controls, check them + *-------------------------------------------- + IF TYPE("tObj.Objects[1]")="O" + + FOR EACH lObj IN tObj.OBJECTS + + THIS.REFRESH( lObj ) + + NEXT + + ENDIF + + ENDWITH + + *-------------------------------------------- + * Reactivate Screen + *-------------------------------------------- + IF VARTYPE(__LS)="L" + thisform.LockScreen = __LS + ENDIF + + RETURN + + + ENDPROC + +ENDDEFINE diff --git a/clase/baza.vc2 b/clase/baza.vc2 new file mode 100644 index 0000000..5d6339c --- /dev/null +++ b/clase/baza.vc2 @@ -0,0 +1,14275 @@ +*-------------------------------------------------------------------------------------------------------------------------------------------------------- +* (EN) AUTOGENERATED - ATTENTION!! - NOT INTENDED FOR EXECUTION!! USE ONLY FOR MERGING CHANGES AND STORING WITH SCM TOOLS!! +*-------------------------------------------------------------------------------------------------------------------------------------------------------- +*< FOXBIN2PRG: Version="1.21" SourceFile="baza.vcx" CPID="1252" /> (Solo para binarios VFP 9 / Only for VFP 9 binaries) +* +* +DEFINE CLASS actbaza AS setbaza OF "baza.vcx" + *< CLASSDATA: Baseclass="formset" Timestamp="" Scale="" Uniqueid="" /> + + *-- OBJECTDATA items order determines ZOrder / El orden de los items OBJECTDATA determina el ZOrder + *< OBJECTDATA: ObjPath="ITEMS" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="ITEMS.Item1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="ITEMS.Item2" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="ITEMS.Item3" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="ITEMS.Item20" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="ITEMS.Item19" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="ITEMS.Item18" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="ITEMS.Item17" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="ITEMS.Item16" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="ITEMS.Item15" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="ITEMS.Item14" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="ITEMS.Item13" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="ITEMS.Item12" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="ITEMS.Item11" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="ITEMS.Item10" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="ITEMS.Item9" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="ITEMS.Item8" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="ITEMS.Item7" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="ITEMS.Item6" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="ITEMS.Item5" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="ITEMS.Item4" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="ITEMS.Text1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="ITEMS.Label1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="ITEMS.CotaTVA" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="ITEMS.Label4" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="VERIF" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="VERIF.Command1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="VERIF.Grid1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="VERIF.Grid1.Column1.Header1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="VERIF.Grid1.Column1.Text1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="VERIF.Grid1.Column2.Header2" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="VERIF.Grid1.Column2.Text1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="VERIF.Grid1.Column3.Header3" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="VERIF.Grid1.Column3.Text1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="VERIF.Grid1.Column4.Header4" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="VERIF.Grid1.Column4.Text1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="VERIF.Grid1.Column5.Header5" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="VERIF.Grid1.Column5.Text1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="VERIF.Grid1.Column6.Header6" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="VERIF.Grid1.Column6.Text1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="VERIF.Grid1.Column7.Header7" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="VERIF.Grid1.Column7.Text1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="VERIF.Grid1.Column8.Header8" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="VERIF.Grid1.Column8.Text1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="VERIF.Grid1.Column9.Header9" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="VERIF.Grid1.Column9.Text1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="VERIF.Grid1.Column10.Header1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="VERIF.Grid1.Column10.Text1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="VERIF.Grid1.Column11.Header1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="VERIF.Grid1.Column11.Text1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="VERIF.Grid1.Column13.Header1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="VERIF.Grid1.Column13.Text1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="VERIF.Grid1.Column14.Header1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="VERIF.Grid1.Column14.Text1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="VERIF.Grid1.Column15.Header1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="VERIF.Grid1.Column15.Text1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="VERIF.Grid1.Column16.Header1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="VERIF.Grid1.Column16.Text1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="VERIF.Grid1.Column17.Header1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="VERIF.Grid1.Column17.Text1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="VERIF.Grid1.Column18.Header1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="VERIF.Grid1.Column18.Text1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="VERIF.Grid1.Column19.Header1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="VERIF.Grid1.Column19.Text1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="VERIF.Grid1.Column20.Header1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="VERIF.Grid1.Column20.Text1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="VERIF.Grid1.Column25.Header1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="VERIF.Grid1.Column25.Text1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="VERIF.Grid1.Column26.Header1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="VERIF.Grid1.Column26.Text1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="VERIF.Grid1.Column27.Header1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="VERIF.Grid1.Column27.Text1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="VERIF.Grid1.Column28.Header1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="VERIF.Grid1.Column28.Text1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="VERIF.Grid1.Column29.Header1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="VERIF.Grid1.Column29.Text1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="VERIF.Grid1.Column31.Header1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="VERIF.Grid1.Column31.Text1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="VERIF.Grid1.Column32.Header1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="VERIF.Grid1.Column32.Text1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="VERIF.Grid1.Column33.Header1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="VERIF.Grid1.Column33.Text1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="VERIF.Grid1.Column34.Header1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="VERIF.Grid1.Column34.Text1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="VERIF.Grid1.Column35.Header1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="VERIF.Grid1.Column35.Text1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="VERIF.Grid1.Column36.Header1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="VERIF.Grid1.Column36.Text1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="VERIF.Grid1.Column12.Header1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="VERIF.Grid1.Column12.Text1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="VERIF.Renunt1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="VERIF.Precedent1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="Form1.Terminat1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="Formtermin12.Image1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="Formtermin12.Image2" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="Formtermin12.Image3" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="Formtermin12.Image4" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="Formtermin12.Image5" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="Formtermin12.Image6" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="Formtermin12.Image7" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="Formtermin12.Image8" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="Formtermin12.Image9" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="Formtermin12.Image10" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="Formtermin12.Shape2" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="Formtermin12.Urmator1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="Formtermin12.Renunt1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="Formtermin12.Verif1" UniqueID="" Timestamp="" /> + + * + *m: aduc_set + *m: adunadate + *m: adunadatenir + *m: setvariabile + *m: tabele + *m: verific_analitic + *m: verif_complet + *p: acont + *p: formgest + *p: id_set + *p: lverificaacont && Specifica daca se mai face verificarea existentei analiticului in actactan. + *p: nou_intrat + *p: pcobj + *p: pctva + *p: pntva + *p: prima_blocare_bon + *p: prima_blocare_nir + *a: variabile[30,4] + * + + * + acont = + AutoRelease = .T. + formgest = + id_set = 0 + lverificaacont = .T. + Name = "actbaza" + nou_intrat = .T. + pcobj = '' + pctva = '' + pntva = 0 + prima_blocare_bon = .T. + prima_blocare_nir = .T. + Form1.AlwaysOnBottom = .T. + Form1.AlwaysOnTop = .F. + Form1.AutoCenter = .F. + Form1.BackColor = 255,255,255 + Form1.BorderStyle = 3 + Form1.Caption = "" + Form1.Closable = .F. + Form1.ControlBox = .F. + Form1.DoCreate = .T. + Form1.Height = 51 + Form1.MaxButton = .F. + Form1.MinButton = .F. + Form1.Movable = .F. + Form1.Name = "Form1" + Form1.ScrollBars = 2 + Form1.TabIndex = 3 + Form1.Visible = .F. + Form1.Width = 118 + Formtermin12.AlwaysOnBottom = .F. + Formtermin12.AlwaysOnTop = .F. + Formtermin12.AutoCenter = .T. + Formtermin12.BorderStyle = 1 + Formtermin12.DoCreate = .T. + Formtermin12.Height = 425 + Formtermin12.Name = "Formtermin12" + Formtermin12.Shape1.Height = 33 + Formtermin12.Shape1.Left = 0 + Formtermin12.Shape1.Name = "Shape1" + Formtermin12.Shape1.Top = -1 + Formtermin12.Shape1.Width = 564 + Formtermin12.Shape1.ZOrderSet = 0 + Formtermin12.ShowTips = .T. + Formtermin12.Terminat1.Command1.Name = "Command1" + Formtermin12.Terminat1.Height = 27 + Formtermin12.Terminat1.Imbuton1.Height = 26 + Formtermin12.Terminat1.Imbuton1.Name = "Imbuton1" + Formtermin12.Terminat1.Imbuton1.Width = 26 + Formtermin12.Terminat1.Left = 527 + Formtermin12.Terminat1.Name = "Terminat1" + Formtermin12.Terminat1.TabIndex = 2 + Formtermin12.Terminat1.TabStop = .T. + Formtermin12.Terminat1.Top = 2 + Formtermin12.Terminat1.ZOrderSet = 11 + Formtermin12.Titlufrumos1.FontName = "Arial" + Formtermin12.Titlufrumos1.FontSize = 11 + Formtermin12.Titlufrumos1.Height = 27 + Formtermin12.Titlufrumos1.Left = 7 + Formtermin12.Titlufrumos1.Name = "Titlufrumos1" + Formtermin12.Titlufrumos1.TabIndex = 5 + Formtermin12.Titlufrumos1.Top = 4 + Formtermin12.Titlufrumos1.Width = 437 + Formtermin12.Titlufrumos1.ZOrderSet = 12 + Formtermin12.Width = 564 + Formtermin12.WindowType = 1 + * + + ADD OBJECT 'Form1.Terminat1' AS terminat WITH ; + Left = 12, ; + Name = "Terminat1", ; + Top = 12, ; + Imbuton1.Height = 26, ; + Imbuton1.Name = "Imbuton1", ; + Imbuton1.Width = 26, ; + Command1.Name = "Command1" + *< END OBJECT: ClassLib="baza.vcx" BaseClass="container" /> + + ADD OBJECT 'Formtermin12.Image1' AS image WITH ; + Height = 27, ; + Left = 12, ; + Name = "Image1", ; + Picture = ..\grafice\verificare2.bmp, ; + Top = 384, ; + Visible = .F., ; + Width = 30, ; + ZOrderSet = 1 + *< END OBJECT: BaseClass="image" /> + + ADD OBJECT 'Formtermin12.Image10' AS image WITH ; + Height = 27, ; + Left = 336, ; + Name = "Image10", ; + Picture = ..\grafice\excel_jos.bmp, ; + Top = 384, ; + Visible = .F., ; + Width = 30, ; + ZOrderSet = 10 + *< END OBJECT: BaseClass="image" /> + + ADD OBJECT 'Formtermin12.Image2' AS image WITH ; + Height = 27, ; + Left = 48, ; + Name = "Image2", ; + Picture = ..\grafice\precedent2.bmp, ; + Top = 384, ; + Visible = .F., ; + Width = 30, ; + ZOrderSet = 2 + *< END OBJECT: BaseClass="image" /> + + ADD OBJECT 'Formtermin12.Image3' AS image WITH ; + Height = 27, ; + Left = 84, ; + Name = "Image3", ; + Picture = ..\grafice\urmator2.bmp, ; + Top = 384, ; + Visible = .F., ; + Width = 30, ; + ZOrderSet = 3 + *< END OBJECT: BaseClass="image" /> + + ADD OBJECT 'Formtermin12.Image4' AS image WITH ; + Height = 27, ; + Left = 120, ; + Name = "Image4", ; + Picture = ..\grafice\renunt2.bmp, ; + Top = 384, ; + Visible = .F., ; + Width = 30, ; + ZOrderSet = 4 + *< END OBJECT: BaseClass="image" /> + + ADD OBJECT 'Formtermin12.Image5' AS image WITH ; + Height = 27, ; + Left = 156, ; + Name = "Image5", ; + Picture = ..\grafice\terminat_jos_verde.bmp, ; + Top = 384, ; + Visible = .F., ; + Width = 30, ; + ZOrderSet = 5 + *< END OBJECT: BaseClass="image" /> + + ADD OBJECT 'Formtermin12.Image6' AS image WITH ; + Height = 27, ; + Left = 192, ; + Name = "Image6", ; + Picture = ..\grafice\nou2.bmp, ; + Top = 384, ; + Visible = .F., ; + Width = 30, ; + ZOrderSet = 6 + *< END OBJECT: BaseClass="image" /> + + ADD OBJECT 'Formtermin12.Image7' AS image WITH ; + Height = 27, ; + Left = 228, ; + Name = "Image7", ; + Picture = ..\grafice\sterge2.bmp, ; + Top = 384, ; + Visible = .F., ; + Width = 30, ; + ZOrderSet = 7 + *< END OBJECT: BaseClass="image" /> + + ADD OBJECT 'Formtermin12.Image8' AS image WITH ; + Height = 27, ; + Left = 264, ; + Name = "Image8", ; + Picture = ..\grafice\modifica2.bmp, ; + Top = 384, ; + Visible = .F., ; + Width = 30, ; + ZOrderSet = 8 + *< END OBJECT: BaseClass="image" /> + + ADD OBJECT 'Formtermin12.Image9' AS image WITH ; + Height = 27, ; + Left = 300, ; + Name = "Image9", ; + Picture = ..\grafice\listare_jos.bmp, ; + Top = 384, ; + Visible = .F., ; + Width = 30, ; + ZOrderSet = 9 + *< END OBJECT: BaseClass="image" /> + + ADD OBJECT 'Formtermin12.Renunt1' AS renunt WITH ; + Height = 27, ; + Left = 495, ; + Name = "Renunt1", ; + TabIndex = 4, ; + TabStop = .T., ; + Top = 2, ; + ZOrderSet = 15, ; + Imbuton1.Height = 26, ; + Imbuton1.Name = "Imbuton1", ; + Imbuton1.Width = 26, ; + Command1.Name = "Command1" + *< END OBJECT: ClassLib="baza.vcx" BaseClass="container" /> + + ADD OBJECT 'Formtermin12.Shape2' AS shape WITH ; + BackColor = 255,255,255, ; + BackStyle = 1, ; + Height = 35, ; + Left = 456, ; + Name = "Shape2", ; + Top = -3, ; + Width = 108, ; + ZOrderSet = 13 + *< END OBJECT: BaseClass="shape" /> + + ADD OBJECT 'Formtermin12.Urmator1' AS urmator WITH ; + Height = 27, ; + Left = 530, ; + Name = "Urmator1", ; + TabIndex = 3, ; + Top = 2, ; + Visible = .F., ; + ZOrderSet = 14, ; + IMBUTON1.Height = 27, ; + IMBUTON1.Name = "IMBUTON1", ; + IMBUTON1.Width = 30, ; + COMMAND1.Name = "COMMAND1" + *< END OBJECT: ClassLib="baza.vcx" BaseClass="container" /> + + ADD OBJECT 'Formtermin12.Verif1' AS verif WITH ; + Height = 27, ; + Left = 462, ; + Name = "Verif1", ; + TabIndex = 1, ; + Top = 2, ; + ZOrderSet = 16, ; + Imbuton1.Height = 26, ; + Imbuton1.Name = "Imbuton1", ; + Imbuton1.Width = 26, ; + Command1.Name = "Command1" + *< END OBJECT: ClassLib="baza.vcx" BaseClass="container" /> + + ADD OBJECT 'ITEMS' AS formbaza WITH ; + AlwaysOnTop = .T., ; + AutoCenter = .F., ; + BackColor = 247,245,238, ; + BorderStyle = 0, ; + DoCreate = .T., ; + Height = 400, ; + Left = 0, ; + Movable = .F., ; + Name = "ITEMS", ; + ScrollBars = 2, ; + TabIndex = 1, ; + Top = 0, ; + Width = 542, ; + WindowType = 1 + *< END OBJECT: ClassLib="baza.vcx" BaseClass="form" /> + + ADD OBJECT 'ITEMS.CotaTVA' AS combobox WITH ; + BorderColor = 128,128,128, ; + BorderStyle = 1, ; + ColumnCount = 1, ; + ColumnLines = .F., ; + ControlSource = "", ; + FontName = "Arial Narrow", ; + Height = 20, ; + InputMask = "", ; + Left = 487, ; + Name = "CotaTVA", ; + RowSource = "cote_tva.procent", ; + RowSourceType = 6, ; + SpecialEffect = 1, ; + Style = 2, ; + TabIndex = 25, ; + TabStop = .F., ; + Top = 124, ; + Visible = .F., ; + Width = 47 + *< END OBJECT: BaseClass="combobox" /> + + ADD OBJECT 'ITEMS.Item1' AS item WITH ; + Left = 25, ; + Name = "Item1", ; + TabIndex = 1, ; + Top = 16, ; + Visible = .F., ; + ZOrderSet = 3, ; + Label_item1.Caption = "LABEL", ; + Label_item1.Name = "Label_item1", ; + Label_item1.TabIndex = 2, ; + Text_item1.Format = "k", ; + Text_item1.Name = "Text_item1", ; + Text_item1.TabIndex = 1, ; + Lineo1.Name = "Lineo1", ; + Lineo3.Name = "Lineo3", ; + Lineo4.Name = "Lineo4", ; + Lineo5.Name = "Lineo5", ; + Lineo2.Name = "Lineo2" + *< END OBJECT: ClassLib="baza.vcx" BaseClass="container" /> + + ADD OBJECT 'ITEMS.Item10' AS item WITH ; + Left = 25, ; + Name = "Item10", ; + TabIndex = 10, ; + Top = 187, ; + Visible = .F., ; + ZOrderSet = 3, ; + Label_item1.Caption = "LABEL", ; + Label_item1.Name = "Label_item1", ; + Text_item1.Name = "Text_item1", ; + Lineo1.Name = "Lineo1", ; + Lineo3.Name = "Lineo3", ; + Lineo4.Name = "Lineo4", ; + Lineo5.Name = "Lineo5", ; + Lineo2.Name = "Lineo2" + *< END OBJECT: ClassLib="baza.vcx" BaseClass="container" /> + + ADD OBJECT 'ITEMS.Item11' AS item WITH ; + Left = 25, ; + Name = "Item11", ; + TabIndex = 11, ; + Top = 206, ; + Visible = .F., ; + ZOrderSet = 3, ; + Label_item1.Caption = "LABEL", ; + Label_item1.Name = "Label_item1", ; + Text_item1.Name = "Text_item1", ; + Lineo1.Name = "Lineo1", ; + Lineo3.Name = "Lineo3", ; + Lineo4.Name = "Lineo4", ; + Lineo5.Name = "Lineo5", ; + Lineo2.Name = "Lineo2" + *< END OBJECT: ClassLib="baza.vcx" BaseClass="container" /> + + ADD OBJECT 'ITEMS.Item12' AS item WITH ; + Left = 25, ; + Name = "Item12", ; + TabIndex = 12, ; + Top = 225, ; + Visible = .F., ; + ZOrderSet = 3, ; + Label_item1.Caption = "LABEL", ; + Label_item1.Name = "Label_item1", ; + Text_item1.Name = "Text_item1", ; + Lineo1.Name = "Lineo1", ; + Lineo3.Name = "Lineo3", ; + Lineo4.Name = "Lineo4", ; + Lineo5.Name = "Lineo5", ; + Lineo2.Name = "Lineo2" + *< END OBJECT: ClassLib="baza.vcx" BaseClass="container" /> + + ADD OBJECT 'ITEMS.Item13' AS item WITH ; + Left = 25, ; + Name = "Item13", ; + TabIndex = 13, ; + Top = 244, ; + Visible = .F., ; + ZOrderSet = 3, ; + Label_item1.Caption = "LABEL", ; + Label_item1.Name = "Label_item1", ; + Label_item1.ZOrderSet = 0, ; + Text_item1.Name = "Text_item1", ; + Text_item1.ZOrderSet = 1, ; + Lineo1.Name = "Lineo1", ; + Lineo1.ZOrderSet = 2, ; + Lineo3.Name = "Lineo3", ; + Lineo3.ZOrderSet = 3, ; + Lineo4.Name = "Lineo4", ; + Lineo4.ZOrderSet = 6, ; + Lineo5.Name = "Lineo5", ; + Lineo5.ZOrderSet = 4, ; + Lineo2.Name = "Lineo2", ; + Lineo2.ZOrderSet = 5 + *< END OBJECT: ClassLib="baza.vcx" BaseClass="container" /> + + ADD OBJECT 'ITEMS.Item14' AS item WITH ; + Left = 25, ; + Name = "Item14", ; + TabIndex = 14, ; + Top = 263, ; + Visible = .F., ; + ZOrderSet = 3, ; + Label_item1.Caption = "LABEL", ; + Label_item1.Name = "Label_item1", ; + Text_item1.Name = "Text_item1", ; + Lineo1.Name = "Lineo1", ; + Lineo3.Name = "Lineo3", ; + Lineo4.Name = "Lineo4", ; + Lineo5.Name = "Lineo5", ; + Lineo2.Name = "Lineo2" + *< END OBJECT: ClassLib="baza.vcx" BaseClass="container" /> + + ADD OBJECT 'ITEMS.Item15' AS item WITH ; + Left = 25, ; + Name = "Item15", ; + TabIndex = 15, ; + Top = 282, ; + Visible = .F., ; + ZOrderSet = 3, ; + Label_item1.Caption = "LABEL", ; + Label_item1.Name = "Label_item1", ; + Text_item1.Name = "Text_item1", ; + Lineo1.Name = "Lineo1", ; + Lineo3.Name = "Lineo3", ; + Lineo4.Name = "Lineo4", ; + Lineo5.Name = "Lineo5", ; + Lineo2.Name = "Lineo2" + *< END OBJECT: ClassLib="baza.vcx" BaseClass="container" /> + + ADD OBJECT 'ITEMS.Item16' AS item WITH ; + Left = 25, ; + Name = "Item16", ; + TabIndex = 16, ; + Top = 301, ; + Visible = .F., ; + ZOrderSet = 3, ; + Label_item1.Caption = "LABEL", ; + Label_item1.Name = "Label_item1", ; + Text_item1.Name = "Text_item1", ; + Lineo1.Name = "Lineo1", ; + Lineo3.Name = "Lineo3", ; + Lineo4.Name = "Lineo4", ; + Lineo5.Name = "Lineo5", ; + Lineo2.Name = "Lineo2" + *< END OBJECT: ClassLib="baza.vcx" BaseClass="container" /> + + ADD OBJECT 'ITEMS.Item17' AS item WITH ; + Left = 25, ; + Name = "Item17", ; + TabIndex = 17, ; + Top = 320, ; + Visible = .F., ; + ZOrderSet = 3, ; + Label_item1.Caption = "LABEL", ; + Label_item1.Name = "Label_item1", ; + Text_item1.Name = "Text_item1", ; + Lineo1.Name = "Lineo1", ; + Lineo3.Name = "Lineo3", ; + Lineo4.Name = "Lineo4", ; + Lineo5.Name = "Lineo5", ; + Lineo2.Name = "Lineo2" + *< END OBJECT: ClassLib="baza.vcx" BaseClass="container" /> + + ADD OBJECT 'ITEMS.Item18' AS item WITH ; + Left = 25, ; + Name = "Item18", ; + TabIndex = 18, ; + Top = 339, ; + Visible = .F., ; + ZOrderSet = 3, ; + Label_item1.Caption = "LABEL", ; + Label_item1.Name = "Label_item1", ; + Text_item1.Name = "Text_item1", ; + Lineo1.Name = "Lineo1", ; + Lineo3.Name = "Lineo3", ; + Lineo4.Name = "Lineo4", ; + Lineo5.Name = "Lineo5", ; + Lineo2.Name = "Lineo2" + *< END OBJECT: ClassLib="baza.vcx" BaseClass="container" /> + + ADD OBJECT 'ITEMS.Item19' AS item WITH ; + Left = 25, ; + Name = "Item19", ; + TabIndex = 19, ; + Top = 358, ; + Visible = .F., ; + ZOrderSet = 3, ; + Label_item1.Caption = "LABEL", ; + Label_item1.Name = "Label_item1", ; + Text_item1.Name = "Text_item1", ; + Lineo1.Name = "Lineo1", ; + Lineo3.Name = "Lineo3", ; + Lineo4.Name = "Lineo4", ; + Lineo5.Name = "Lineo5", ; + Lineo2.Name = "Lineo2" + *< END OBJECT: ClassLib="baza.vcx" BaseClass="container" /> + + ADD OBJECT 'ITEMS.Item2' AS item WITH ; + Left = 25, ; + Name = "Item2", ; + TabIndex = 2, ; + Top = 35, ; + Visible = .F., ; + ZOrderSet = 3, ; + Label_item1.Caption = "LABEL", ; + Label_item1.Name = "Label_item1", ; + Text_item1.Name = "Text_item1", ; + Lineo1.Name = "Lineo1", ; + Lineo3.Name = "Lineo3", ; + Lineo4.Name = "Lineo4", ; + Lineo5.Name = "Lineo5", ; + Lineo2.Name = "Lineo2" + *< END OBJECT: ClassLib="baza.vcx" BaseClass="container" /> + + ADD OBJECT 'ITEMS.Item20' AS item WITH ; + Left = 25, ; + Name = "Item20", ; + TabIndex = 20, ; + Top = 377, ; + Visible = .F., ; + ZOrderSet = 3, ; + Label_item1.Caption = "LABEL", ; + Label_item1.Name = "Label_item1", ; + Text_item1.Name = "Text_item1", ; + Lineo1.Name = "Lineo1", ; + Lineo3.Name = "Lineo3", ; + Lineo4.Name = "Lineo4", ; + Lineo5.Name = "Lineo5", ; + Lineo2.Name = "Lineo2" + *< END OBJECT: ClassLib="baza.vcx" BaseClass="container" /> + + ADD OBJECT 'ITEMS.Item3' AS item WITH ; + Left = 25, ; + Name = "Item3", ; + TabIndex = 3, ; + Top = 54, ; + Visible = .F., ; + ZOrderSet = 3, ; + Label_item1.Caption = "LABEL", ; + Label_item1.Name = "Label_item1", ; + Text_item1.Name = "Text_item1", ; + Lineo1.Name = "Lineo1", ; + Lineo3.Name = "Lineo3", ; + Lineo4.Name = "Lineo4", ; + Lineo5.Name = "Lineo5", ; + Lineo2.Name = "Lineo2" + *< END OBJECT: ClassLib="baza.vcx" BaseClass="container" /> + + ADD OBJECT 'ITEMS.Item4' AS item WITH ; + Left = 25, ; + Name = "Item4", ; + TabIndex = 4, ; + Top = 73, ; + Visible = .F., ; + ZOrderSet = 3, ; + Label_item1.Caption = "LABEL", ; + Label_item1.Name = "Label_item1", ; + Text_item1.Name = "Text_item1", ; + Lineo1.Name = "Lineo1", ; + Lineo3.Name = "Lineo3", ; + Lineo4.Name = "Lineo4", ; + Lineo5.Name = "Lineo5", ; + Lineo2.Name = "Lineo2" + *< END OBJECT: ClassLib="baza.vcx" BaseClass="container" /> + + ADD OBJECT 'ITEMS.Item5' AS item WITH ; + Left = 25, ; + Name = "Item5", ; + TabIndex = 5, ; + Top = 92, ; + Visible = .F., ; + ZOrderSet = 3, ; + Label_item1.Caption = "LABEL", ; + Label_item1.Name = "Label_item1", ; + Text_item1.Name = "Text_item1", ; + Lineo1.Name = "Lineo1", ; + Lineo3.Name = "Lineo3", ; + Lineo4.Name = "Lineo4", ; + Lineo5.Name = "Lineo5", ; + Lineo2.Name = "Lineo2" + *< END OBJECT: ClassLib="baza.vcx" BaseClass="container" /> + + ADD OBJECT 'ITEMS.Item6' AS item WITH ; + Left = 25, ; + Name = "Item6", ; + TabIndex = 6, ; + Top = 111, ; + Visible = .F., ; + ZOrderSet = 3, ; + Label_item1.Caption = "LABEL", ; + Label_item1.Name = "Label_item1", ; + Text_item1.Name = "Text_item1", ; + Lineo1.Name = "Lineo1", ; + Lineo3.Name = "Lineo3", ; + Lineo4.Name = "Lineo4", ; + Lineo5.Name = "Lineo5", ; + Lineo2.Name = "Lineo2" + *< END OBJECT: ClassLib="baza.vcx" BaseClass="container" /> + + ADD OBJECT 'ITEMS.Item7' AS item WITH ; + Left = 25, ; + Name = "Item7", ; + TabIndex = 7, ; + Top = 130, ; + Visible = .F., ; + ZOrderSet = 3, ; + Label_item1.Caption = "LABEL", ; + Label_item1.Name = "Label_item1", ; + Text_item1.Name = "Text_item1", ; + Lineo1.Name = "Lineo1", ; + Lineo3.Name = "Lineo3", ; + Lineo4.Name = "Lineo4", ; + Lineo5.Name = "Lineo5", ; + Lineo2.Name = "Lineo2" + *< END OBJECT: ClassLib="baza.vcx" BaseClass="container" /> + + ADD OBJECT 'ITEMS.Item8' AS item WITH ; + Left = 25, ; + Name = "Item8", ; + TabIndex = 8, ; + Top = 149, ; + Visible = .F., ; + ZOrderSet = 3, ; + Label_item1.Caption = "LABEL", ; + Label_item1.Name = "Label_item1", ; + Text_item1.Name = "Text_item1", ; + Lineo1.Name = "Lineo1", ; + Lineo3.Name = "Lineo3", ; + Lineo4.Name = "Lineo4", ; + Lineo5.Name = "Lineo5", ; + Lineo2.Name = "Lineo2" + *< END OBJECT: ClassLib="baza.vcx" BaseClass="container" /> + + ADD OBJECT 'ITEMS.Item9' AS item WITH ; + Left = 25, ; + Name = "Item9", ; + TabIndex = 9, ; + Top = 168, ; + Visible = .F., ; + ZOrderSet = 3, ; + Label_item1.Caption = "LABEL", ; + Label_item1.Name = "Label_item1", ; + Text_item1.Name = "Text_item1", ; + Lineo1.Name = "Lineo1", ; + Lineo3.Name = "Lineo3", ; + Lineo4.Name = "Lineo4", ; + Lineo5.Name = "Lineo5", ; + Lineo2.Name = "Lineo2" + *< END OBJECT: ClassLib="baza.vcx" BaseClass="container" /> + + ADD OBJECT 'ITEMS.Label1' AS label WITH ; + AutoSize = .T., ; + BackStyle = 0, ; + Caption = "%", ; + Height = 17, ; + Left = 526, ; + Name = "Label1", ; + TabIndex = 22, ; + Top = 17, ; + Visible = .F., ; + Width = 13 + *< END OBJECT: BaseClass="label" /> + + ADD OBJECT 'ITEMS.Label4' AS label WITH ; + AutoSize = .T., ; + BackStyle = 0, ; + Caption = "TVA %", ; + FontName = "Comic Sans MS", ; + Height = 19, ; + Left = 492, ; + Name = "Label4", ; + TabIndex = 23, ; + Top = 107, ; + Visible = .F., ; + Width = 40 + *< END OBJECT: BaseClass="label" /> + + ADD OBJECT 'ITEMS.Text1' AS textbox WITH ; + BorderColor = 192,192,192, ; + BorderStyle = 1, ; + ControlSource = "Thisformset.pctva", ; + Format = "k", ; + Height = 20, ; + Left = 489, ; + Name = "Text1", ; + SpecialEffect = 2, ; + TabIndex = 21, ; + TabStop = .F., ; + Top = 17, ; + Visible = .F., ; + Width = 34 + *< END OBJECT: BaseClass="textbox" /> + + ADD OBJECT 'VERIF' AS formtermin WITH ; + DoCreate = .T., ; + Height = 330, ; + Name = "VERIF", ; + ShowTips = .T., ; + Visible = .F., ; + Width = 650, ; + Shape1.Height = 36, ; + Shape1.Left = 0, ; + Shape1.Name = "Shape1", ; + Shape1.Top = 0, ; + Shape1.Width = 545, ; + Shape1.ZOrderSet = 1, ; + Terminat1.Command1.Name = "Command1", ; + Terminat1.Command1.TabIndex = 1, ; + Terminat1.Imbuton1.Height = 26, ; + Terminat1.Imbuton1.Name = "Imbuton1", ; + Terminat1.Imbuton1.Width = 26, ; + Terminat1.Left = 615, ; + Terminat1.Name = "Terminat1", ; + Terminat1.TabIndex = 1, ; + Terminat1.Top = 3, ; + Terminat1.ZOrderSet = 2, ; + Titlufrumos1.Caption = "VERIFICAREA SETULUI DE NOTE CONTABILE", ; + Titlufrumos1.FontBold = .T., ; + Titlufrumos1.FontName = "Arial", ; + Titlufrumos1.FontSize = 11, ; + Titlufrumos1.Height = 30, ; + Titlufrumos1.Left = 6, ; + Titlufrumos1.Name = "Titlufrumos1", ; + Titlufrumos1.TabIndex = 6, ; + Titlufrumos1.Top = 5, ; + Titlufrumos1.Width = 364, ; + Titlufrumos1.ZOrderSet = 3 + *< END OBJECT: ClassLib="baza.vcx" BaseClass="form" /> + + ADD OBJECT 'VERIF.Command1' AS commandbutton WITH ; + Caption = "INAPOI", ; + Height = 27, ; + Left = 456, ; + Name = "Command1", ; + TabIndex = 4, ; + Top = 0, ; + Visible = .F., ; + Width = 36, ; + ZOrderSet = 4 + *< END OBJECT: BaseClass="commandbutton" /> + + ADD OBJECT 'VERIF.Grid1' AS grid WITH ; + BackColor = 255,255,255, ; + ColumnCount = 31, ; + DeleteMark = .F., ; + FontName = "Arial Narrow", ; + GridLineColor = 192,192,192, ; + GridLines = 3, ; + Height = 294, ; + Left = 0, ; + Name = "Grid1", ; + Panel = 1, ; + ReadOnly = .T., ; + RecordSource = "ACTACTAN", ; + RowHeight = 25, ; + TabIndex = 5, ; + Top = 36, ; + Width = 650, ; + ZOrderSet = 5, ; + Column1.Alignment = 1, ; + Column1.BackColor = 255,255,255, ; + Column1.ControlSource = "NRCRT()", ; + Column1.FontName = "Arial Narrow", ; + Column1.Name = "Column1", ; + Column1.ReadOnly = .T., ; + Column1.Width = 27, ; + Column2.Alignment = 1, ; + Column2.BackColor = 255,255,255, ; + Column2.ColumnOrder = 3, ; + Column2.ControlSource = "DATAIREG", ; + Column2.FontName = "Arial Narrow", ; + Column2.Name = "Column2", ; + Column2.ReadOnly = .T., ; + Column2.Width = 54, ; + Column3.Alignment = 0, ; + Column3.BackColor = 255,255,255, ; + Column3.ColumnOrder = 2, ; + Column3.ControlSource = "FDOC", ; + Column3.FontName = "Arial Narrow", ; + Column3.Name = "Column3", ; + Column3.ReadOnly = .T., ; + Column3.Width = 46, ; + Column4.Alignment = 1, ; + Column4.BackColor = 255,255,255, ; + Column4.ColumnOrder = 4, ; + Column4.ControlSource = "DATAACT", ; + Column4.FontName = "Arial Narrow", ; + Column4.Name = "Column4", ; + Column4.ReadOnly = .T., ; + Column4.Width = 58, ; + Column5.Alignment = 1, ; + Column5.BackColor = 255,255,255, ; + Column5.ColumnOrder = 5, ; + Column5.ControlSource = "NRACT", ; + Column5.FontName = "Arial Narrow", ; + Column5.Name = "Column5", ; + Column5.ReadOnly = .T., ; + Column5.Width = 53, ; + Column6.Alignment = 0, ; + Column6.BackColor = 255,255,255, ; + Column6.ColumnOrder = 11, ; + Column6.ControlSource = "partd", ; + Column6.FontName = "Arial Narrow", ; + Column6.Name = "Column6", ; + Column6.ReadOnly = .T., ; + Column6.Width = 77, ; + Column7.Alignment = 1, ; + Column7.BackColor = 255,255,255, ; + Column7.ColumnOrder = 7, ; + Column7.ControlSource = "SCD", ; + Column7.DynamicForeColor = "rgb(0,0,128)", ; + Column7.FontBold = .F., ; + Column7.FontName = "Arial Narrow", ; + Column7.ForeColor = 0,0,128, ; + Column7.Name = "Column7", ; + Column7.ReadOnly = .T., ; + Column7.Width = 46, ; + Column8.Alignment = 1, ; + Column8.BackColor = 255,255,255, ; + Column8.ColumnOrder = 9, ; + Column8.ControlSource = "SCC", ; + Column8.DynamicForeColor = "rgb(0,0,128)", ; + Column8.FontBold = .F., ; + Column8.FontName = "Arial Narrow", ; + Column8.Name = "Column8", ; + Column8.ReadOnly = .T., ; + Column8.Width = 47, ; + Column9.Alignment = 1, ; + Column9.BackColor = 255,255,255, ; + Column9.ColumnOrder = 6, ; + Column9.ControlSource = "SUMA", ; + Column9.DynamicForeColor = "IIF(SUMA>=0, RGB(0,0,0), RGB(255,0,0))", ; + Column9.FontBold = .F., ; + Column9.FontName = "Arial Narrow", ; + Column9.FontSize = 9, ; + Column9.Format = "r", ; + Column9.InputMask = (get_mask(12,gnPa)), ; + Column9.Name = "Column9", ; + Column9.ReadOnly = .T., ; + Column9.Width = 93, ; + Column10.Alignment = 0, ; + Column10.BackColor = 255,255,255, ; + Column10.ColumnOrder = 12, ; + Column10.ControlSource = "partc", ; + Column10.FontName = "Arial Narrow", ; + Column10.Name = "Column10", ; + Column10.ReadOnly = .T., ; + Column10.Width = 76, ; + Column11.Alignment = 0, ; + Column11.BackColor = 255,255,255, ; + Column11.ColumnOrder = 13, ; + Column11.ControlSource = "EXPLICATIA", ; + Column11.FontName = "Arial Narrow", ; + Column11.Name = "Column11", ; + Column11.ReadOnly = .T., ; + Column11.Width = 74, ; + Column12.BackColor = 255,255,255, ; + Column12.ColumnOrder = 17, ; + Column12.ControlSource = "perecheD", ; + Column12.FontName = "Arial Narrow", ; + Column12.Name = "Column13", ; + Column12.ReadOnly = .T., ; + Column12.Width = 65, ; + Column13.BackColor = 255,255,255, ; + Column13.ColumnOrder = 26, ; + Column13.ControlSource = "nume_3", ; + Column13.FontName = "Arial Narrow", ; + Column13.Name = "Column14", ; + Column13.ReadOnly = .T., ; + Column14.BackColor = 255,255,255, ; + Column14.ColumnOrder = 27, ; + Column14.ControlSource = "nume_5", ; + Column14.FontName = "Arial Narrow", ; + Column14.Name = "Column15", ; + Column14.ReadOnly = .T., ; + Column15.BackColor = 255,255,255, ; + Column15.ColumnOrder = 20, ; + Column15.ControlSource = "suma_val", ; + Column15.FontName = "Arial Narrow", ; + Column15.Format = "r", ; + Column15.InputMask = (get_mask(12,gnPval)), ; + Column15.Name = "Column16", ; + Column15.ReadOnly = .T., ; + Column15.Width = 66, ; + Column16.BackColor = 255,255,255, ; + Column16.ColumnOrder = 21, ; + Column16.ControlSource = "curs", ; + Column16.FontName = "Arial Narrow", ; + Column16.Format = "r", ; + Column16.InputMask = (get_mask(12,gnPcurs)), ; + Column16.Name = "Column17", ; + Column16.ReadOnly = .T., ; + Column16.Width = 65, ; + Column17.BackColor = 255,255,255, ; + Column17.ColumnOrder = 29, ; + Column17.ControlSource = "id_factd", ; + Column17.FontName = "Arial Narrow", ; + Column17.Name = "Column18", ; + Column17.ReadOnly = .T., ; + Column18.BackColor = 255,255,255, ; + Column18.ColumnOrder = 19, ; + Column18.ControlSource = "datascad", ; + Column18.FontName = "Arial Narrow", ; + Column18.Name = "Column19", ; + Column18.ReadOnly = .T., ; + Column18.Visible = .T., ; + Column18.Width = 61, ; + Column19.BackColor = 255,255,255, ; + Column19.ColumnOrder = 22, ; + Column19.ControlSource = "nume_val", ; + Column19.FontName = "Arial Narrow", ; + Column19.Name = "Column20", ; + Column19.ReadOnly = .T., ; + Column19.Width = 60, ; + Column20.BackColor = 255,255,255, ; + Column20.ColumnOrder = 23, ; + Column20.ControlSource = "nresp", ; + Column20.FontName = "Arial Narrow", ; + Column20.Name = "Column25", ; + Column20.ReadOnly = .T., ; + Column21.BackColor = 255,255,255, ; + Column21.ColumnOrder = 24, ; + Column21.ControlSource = "dst_chlt", ; + Column21.FontName = "Arial Narrow", ; + Column21.Name = "Column26", ; + Column21.ReadOnly = .T., ; + Column22.BackColor = 255,255,255, ; + Column22.ColumnOrder = 14, ; + Column22.ControlSource = "nrord", ; + Column22.FontName = "Arial Narrow", ; + Column22.Name = "Column27", ; + Column22.ReadOnly = .T., ; + Column22.Width = 87, ; + Column23.BackColor = 255,255,255, ; + Column23.ColumnOrder = 16, ; + Column23.ControlSource = "nnir", ; + Column23.FontName = "Arial Narrow", ; + Column23.Name = "Column28", ; + Column23.ReadOnly = .T., ; + Column23.Width = 55, ; + Column24.BackColor = 255,255,255, ; + Column24.ColumnOrder = 25, ; + Column24.ControlSource = "sectie", ; + Column24.FontName = "Arial Narrow", ; + Column24.Name = "Column29", ; + Column24.ReadOnly = .T., ; + Column25.BackColor = 242,255,255, ; + Column25.ColumnOrder = 8, ; + Column25.ControlSource = "ascd", ; + Column25.DynamicBackColor = "rgb(242,255,255)", ; + Column25.FontName = "Arial Narrow", ; + Column25.Format = "r", ; + Column25.InputMask = "xxxx", ; + Column25.Name = "Column31", ; + Column25.ReadOnly = .F., ; + Column25.Width = 39, ; + Column26.BackColor = 242,255,255, ; + Column26.ColumnOrder = 10, ; + Column26.ControlSource = "ascc", ; + Column26.DynamicBackColor = "rgb(242,255,255)", ; + Column26.FontName = "Arial Narrow", ; + Column26.Format = "r", ; + Column26.InputMask = "xxxx", ; + Column26.Name = "Column32", ; + Column26.ReadOnly = .F., ; + Column26.Width = 40, ; + Column27.BackColor = 255,255,255, ; + Column27.ColumnOrder = 31, ; + Column27.ControlSource = "proc_tva", ; + Column27.FontName = "Arial Narrow", ; + Column27.Name = "Column33", ; + Column27.ReadOnly = .T., ; + Column27.Width = 48, ; + Column28.BackColor = 255,255,255, ; + Column28.ColumnOrder = 18, ; + Column28.ControlSource = "perecheC", ; + Column28.FontName = "Arial Narrow", ; + Column28.Name = "Column34", ; + Column28.ReadOnly = .T., ; + Column28.Width = 68, ; + Column29.BackColor = 255,255,255, ; + Column29.ColumnOrder = 30, ; + Column29.ControlSource = "id_factc", ; + Column29.FontName = "Arial Narrow", ; + Column29.Name = "Column35", ; + Column29.ReadOnly = .T., ; + Column30.BackColor = 255,255,255, ; + Column30.ColumnOrder = 28, ; + Column30.ControlSource = "sucursala", ; + Column30.FontName = "Arial Narrow", ; + Column30.Name = "Column36", ; + Column30.ReadOnly = .T., ; + Column30.Width = 95, ; + Column31.BackColor = 255,255,255, ; + Column31.ColumnOrder = 15, ; + Column31.ControlSource = "contract", ; + Column31.FontName = "Arial Narrow", ; + Column31.Name = "Column12", ; + Column31.ReadOnly = .T., ; + Column31.Width = 65 + *< END OBJECT: BaseClass="grid" /> + + ADD OBJECT 'VERIF.Grid1.Column1.Header1' AS header WITH ; + Alignment = 2, ; + Caption = "NrCrt", ; + FontName = "Arial Narrow", ; + Name = "Header1" + *< END OBJECT: BaseClass="header" /> + + ADD OBJECT 'VERIF.Grid1.Column1.Text1' AS textbox WITH ; + Alignment = 1, ; + BackColor = 255,255,255, ; + BorderStyle = 0, ; + FontName = "Arial Narrow", ; + ForeColor = 0,0,0, ; + Margin = 0, ; + Name = "Text1", ; + ReadOnly = .T. + *< END OBJECT: BaseClass="textbox" /> + + ADD OBJECT 'VERIF.Grid1.Column10.Header1' AS header WITH ; + Alignment = 2, ; + Caption = "Partener Credit", ; + FontName = "Arial Narrow", ; + Name = "Header1" + *< END OBJECT: BaseClass="header" /> + + ADD OBJECT 'VERIF.Grid1.Column10.Text1' AS textbox WITH ; + Alignment = 0, ; + BackColor = 255,255,255, ; + BorderStyle = 0, ; + FontName = "Arial Narrow", ; + ForeColor = 0,0,0, ; + Margin = 0, ; + Name = "Text1", ; + ReadOnly = .T. + *< END OBJECT: BaseClass="textbox" /> + + ADD OBJECT 'VERIF.Grid1.Column11.Header1' AS header WITH ; + Alignment = 2, ; + Caption = "Explicatia", ; + FontName = "Arial Narrow", ; + Name = "Header1" + *< END OBJECT: BaseClass="header" /> + + ADD OBJECT 'VERIF.Grid1.Column11.Text1' AS textbox WITH ; + Alignment = 0, ; + BackColor = 255,255,255, ; + BorderStyle = 0, ; + FontName = "Arial Narrow", ; + ForeColor = 0,0,0, ; + Margin = 0, ; + Name = "Text1", ; + ReadOnly = .T. + *< END OBJECT: BaseClass="textbox" /> + + ADD OBJECT 'VERIF.Grid1.Column12.Header1' AS header WITH ; + Alignment = 2, ; + Caption = "Contract", ; + FontName = "Arial Narrow", ; + Name = "Header1" + *< END OBJECT: BaseClass="header" /> + + ADD OBJECT 'VERIF.Grid1.Column12.Text1' AS textbox WITH ; + BackColor = 255,255,255, ; + BorderStyle = 0, ; + ForeColor = 0,0,0, ; + Margin = 0, ; + Name = "Text1" + *< END OBJECT: BaseClass="textbox" /> + + ADD OBJECT 'VERIF.Grid1.Column13.Header1' AS header WITH ; + Alignment = 2, ; + Caption = "Nr.doc.platit", ; + FontName = "Arial Narrow", ; + Name = "Header1" + *< END OBJECT: BaseClass="header" /> + + ADD OBJECT 'VERIF.Grid1.Column13.Text1' AS textbox WITH ; + BackColor = 255,255,255, ; + BorderStyle = 0, ; + FontName = "Arial Narrow", ; + ForeColor = 0,0,0, ; + Margin = 0, ; + Name = "Text1" + *< END OBJECT: BaseClass="textbox" /> + + ADD OBJECT 'VERIF.Grid1.Column14.Header1' AS header WITH ; + Alignment = 2, ; + Caption = "Explicatia 4", ; + FontName = "Arial Narrow", ; + Name = "Header1" + *< END OBJECT: BaseClass="header" /> + + ADD OBJECT 'VERIF.Grid1.Column14.Text1' AS textbox WITH ; + BackColor = 255,255,255, ; + BorderStyle = 0, ; + FontName = "Arial Narrow", ; + ForeColor = 0,0,0, ; + Margin = 0, ; + Name = "Text1" + *< END OBJECT: BaseClass="textbox" /> + + ADD OBJECT 'VERIF.Grid1.Column15.Header1' AS header WITH ; + Alignment = 2, ; + Caption = "Explicatia 6", ; + FontName = "Arial Narrow", ; + Name = "Header1" + *< END OBJECT: BaseClass="header" /> + + ADD OBJECT 'VERIF.Grid1.Column15.Text1' AS textbox WITH ; + BackColor = 255,255,255, ; + BorderStyle = 0, ; + FontName = "Arial Narrow", ; + ForeColor = 0,0,0, ; + Margin = 0, ; + Name = "Text1" + *< END OBJECT: BaseClass="textbox" /> + + ADD OBJECT 'VERIF.Grid1.Column16.Header1' AS header WITH ; + Alignment = 2, ; + Caption = "Suma Valuta", ; + FontName = "Arial Narrow", ; + Name = "Header1" + *< END OBJECT: BaseClass="header" /> + + ADD OBJECT 'VERIF.Grid1.Column16.Text1' AS textbox WITH ; + BackColor = 255,255,255, ; + BorderStyle = 0, ; + FontName = "Arial Narrow", ; + ForeColor = 0,0,0, ; + Margin = 0, ; + Name = "Text1" + *< END OBJECT: BaseClass="textbox" /> + + ADD OBJECT 'VERIF.Grid1.Column17.Header1' AS header WITH ; + Alignment = 2, ; + Caption = "Curs valutar", ; + FontName = "Arial Narrow", ; + Name = "Header1" + *< END OBJECT: BaseClass="header" /> + + ADD OBJECT 'VERIF.Grid1.Column17.Text1' AS textbox WITH ; + BackColor = 255,255,255, ; + BorderStyle = 0, ; + FontName = "Arial Narrow", ; + ForeColor = 0,0,0, ; + Margin = 0, ; + Name = "Text1" + *< END OBJECT: BaseClass="textbox" /> + + ADD OBJECT 'VERIF.Grid1.Column18.Header1' AS header WITH ; + Alignment = 2, ; + Caption = "Id factD", ; + FontName = "Arial Narrow", ; + Name = "Header1" + *< END OBJECT: BaseClass="header" /> + + ADD OBJECT 'VERIF.Grid1.Column18.Text1' AS textbox WITH ; + BackColor = 255,255,255, ; + BorderStyle = 0, ; + FontName = "Arial Narrow", ; + ForeColor = 0,0,0, ; + Margin = 0, ; + Name = "Text1" + *< END OBJECT: BaseClass="textbox" /> + + ADD OBJECT 'VERIF.Grid1.Column19.Header1' AS header WITH ; + Alignment = 2, ; + Caption = "Data scadenta", ; + FontName = "Arial Narrow", ; + Name = "Header1" + *< END OBJECT: BaseClass="header" /> + + ADD OBJECT 'VERIF.Grid1.Column19.Text1' AS textbox WITH ; + BackColor = 255,255,255, ; + BorderStyle = 0, ; + FontName = "Arial Narrow", ; + ForeColor = 0,0,0, ; + Margin = 0, ; + Name = "Text1", ; + Visible = .T. + *< END OBJECT: BaseClass="textbox" /> + + ADD OBJECT 'VERIF.Grid1.Column2.Header2' AS header WITH ; + Alignment = 2, ; + Caption = "Data Inreg.", ; + FontName = "Arial Narrow", ; + Name = "Header2" + *< END OBJECT: BaseClass="header" /> + + ADD OBJECT 'VERIF.Grid1.Column2.Text1' AS textbox WITH ; + Alignment = 1, ; + BackColor = 255,255,255, ; + BorderStyle = 0, ; + FontName = "Arial Narrow", ; + ForeColor = 0,0,0, ; + Margin = 0, ; + Name = "Text1", ; + ReadOnly = .T. + *< END OBJECT: BaseClass="textbox" /> + + ADD OBJECT 'VERIF.Grid1.Column20.Header1' AS header WITH ; + Alignment = 2, ; + Caption = "Nume Valuta", ; + FontName = "Arial Narrow", ; + Name = "Header1" + *< END OBJECT: BaseClass="header" /> + + ADD OBJECT 'VERIF.Grid1.Column20.Text1' AS textbox WITH ; + BackColor = 255,255,255, ; + BorderStyle = 0, ; + FontName = "Arial Narrow", ; + ForeColor = 0,0,0, ; + Margin = 0, ; + Name = "Text1" + *< END OBJECT: BaseClass="textbox" /> + + ADD OBJECT 'VERIF.Grid1.Column25.Header1' AS header WITH ; + Alignment = 2, ; + Caption = "Responsabili", ; + FontName = "Arial Narrow", ; + Name = "Header1" + *< END OBJECT: BaseClass="header" /> + + ADD OBJECT 'VERIF.Grid1.Column25.Text1' AS textbox WITH ; + BackColor = 255,255,255, ; + BorderStyle = 0, ; + FontName = "Arial Narrow", ; + ForeColor = 0,0,0, ; + Margin = 0, ; + Name = "Text1" + *< END OBJECT: BaseClass="textbox" /> + + ADD OBJECT 'VERIF.Grid1.Column26.Header1' AS header WITH ; + Alignment = 2, ; + Caption = "Cheltuieli/Venituri", ; + FontName = "Arial Narrow", ; + Name = "Header1" + *< END OBJECT: BaseClass="header" /> + + ADD OBJECT 'VERIF.Grid1.Column26.Text1' AS textbox WITH ; + BackColor = 255,255,255, ; + BorderStyle = 0, ; + FontName = "Arial Narrow", ; + ForeColor = 0,0,0, ; + Margin = 0, ; + Name = "Text1" + *< END OBJECT: BaseClass="textbox" /> + + ADD OBJECT 'VERIF.Grid1.Column27.Header1' AS header WITH ; + Alignment = 2, ; + Caption = "Lucrare/Comanda", ; + FontName = "Arial Narrow", ; + Name = "Header1" + *< END OBJECT: BaseClass="header" /> + + ADD OBJECT 'VERIF.Grid1.Column27.Text1' AS textbox WITH ; + BackColor = 255,255,255, ; + BorderStyle = 0, ; + FontName = "Arial Narrow", ; + ForeColor = 0,0,0, ; + Margin = 0, ; + Name = "Text1" + *< END OBJECT: BaseClass="textbox" /> + + ADD OBJECT 'VERIF.Grid1.Column28.Header1' AS header WITH ; + Alignment = 2, ; + Caption = "Nr.NIR/Bon", ; + FontName = "Arial Narrow", ; + Name = "Header1" + *< END OBJECT: BaseClass="header" /> + + ADD OBJECT 'VERIF.Grid1.Column28.Text1' AS textbox WITH ; + BackColor = 255,255,255, ; + BorderStyle = 0, ; + FontName = "Arial Narrow", ; + ForeColor = 0,0,0, ; + Margin = 0, ; + Name = "Text1" + *< END OBJECT: BaseClass="textbox" /> + + ADD OBJECT 'VERIF.Grid1.Column29.Header1' AS header WITH ; + Alignment = 2, ; + Caption = "Sectie", ; + FontName = "Arial Narrow", ; + Name = "Header1" + *< END OBJECT: BaseClass="header" /> + + ADD OBJECT 'VERIF.Grid1.Column29.Text1' AS textbox WITH ; + BackColor = 255,255,255, ; + BorderStyle = 0, ; + FontName = "Arial Narrow", ; + ForeColor = 0,0,0, ; + Margin = 0, ; + Name = "Text1" + *< END OBJECT: BaseClass="textbox" /> + + ADD OBJECT 'VERIF.Grid1.Column3.Header3' AS header WITH ; + Alignment = 2, ; + Caption = "Fel Doc.", ; + FontName = "Arial Narrow", ; + Name = "Header3" + *< END OBJECT: BaseClass="header" /> + + ADD OBJECT 'VERIF.Grid1.Column3.Text1' AS textbox WITH ; + Alignment = 0, ; + BackColor = 255,255,255, ; + BorderStyle = 0, ; + FontName = "Arial Narrow", ; + ForeColor = 0,0,0, ; + Margin = 0, ; + Name = "Text1", ; + ReadOnly = .T. + *< END OBJECT: BaseClass="textbox" /> + + ADD OBJECT 'VERIF.Grid1.Column31.Header1' AS header WITH ; + Caption = "Analit.", ; + FontName = "Arial Narrow", ; + Name = "Header1" + *< END OBJECT: BaseClass="header" /> + + ADD OBJECT 'VERIF.Grid1.Column31.Text1' AS textbox WITH ; + BackColor = 242,255,255, ; + BorderStyle = 0, ; + FontName = "Arial Narrow", ; + ForeColor = 0,0,0, ; + Margin = 0, ; + Name = "Text1", ; + ReadOnly = .F. + *< END OBJECT: BaseClass="textbox" /> + + ADD OBJECT 'VERIF.Grid1.Column32.Header1' AS header WITH ; + Caption = "Analit.", ; + FontName = "Arial Narrow", ; + Name = "Header1" + *< END OBJECT: BaseClass="header" /> + + ADD OBJECT 'VERIF.Grid1.Column32.Text1' AS textbox WITH ; + BackColor = 242,255,255, ; + BorderStyle = 0, ; + FontName = "Arial Narrow", ; + ForeColor = 0,0,0, ; + Margin = 0, ; + Name = "Text1", ; + ReadOnly = .F. + *< END OBJECT: BaseClass="textbox" /> + + ADD OBJECT 'VERIF.Grid1.Column33.Header1' AS header WITH ; + Alignment = 2, ; + Caption = "Cota TVA", ; + FontName = "Arial Narrow", ; + Name = "Header1" + *< END OBJECT: BaseClass="header" /> + + ADD OBJECT 'VERIF.Grid1.Column33.Text1' AS textbox WITH ; + BackColor = 255,255,255, ; + BorderStyle = 0, ; + FontName = "Arial Narrow", ; + ForeColor = 0,0,0, ; + Margin = 0, ; + Name = "Text1" + *< END OBJECT: BaseClass="textbox" /> + + ADD OBJECT 'VERIF.Grid1.Column34.Header1' AS header WITH ; + Alignment = 2, ; + Caption = "Nr.doc.incasat", ; + FontName = "Arial Narrow", ; + Name = "Header1" + *< END OBJECT: BaseClass="header" /> + + ADD OBJECT 'VERIF.Grid1.Column34.Text1' AS textbox WITH ; + BackColor = 255,255,255, ; + BorderStyle = 0, ; + FontName = "Arial Narrow", ; + ForeColor = 0,0,0, ; + Margin = 0, ; + Name = "Text1" + *< END OBJECT: BaseClass="textbox" /> + + ADD OBJECT 'VERIF.Grid1.Column35.Header1' AS header WITH ; + Alignment = 2, ; + Caption = "Id factC", ; + FontName = "Arial Narrow", ; + Name = "Header1" + *< END OBJECT: BaseClass="header" /> + + ADD OBJECT 'VERIF.Grid1.Column35.Text1' AS textbox WITH ; + BackColor = 255,255,255, ; + BorderStyle = 0, ; + FontName = "Arial Narrow", ; + ForeColor = 0,0,0, ; + Margin = 0, ; + Name = "Text1" + *< END OBJECT: BaseClass="textbox" /> + + ADD OBJECT 'VERIF.Grid1.Column36.Header1' AS header WITH ; + Alignment = 2, ; + Caption = "Sucursala", ; + FontName = "Arial Narrow", ; + Name = "Header1" + *< END OBJECT: BaseClass="header" /> + + ADD OBJECT 'VERIF.Grid1.Column36.Text1' AS textbox WITH ; + BackColor = 255,255,255, ; + BorderStyle = 0, ; + FontName = "Arial Narrow", ; + ForeColor = 0,0,0, ; + Margin = 0, ; + Name = "Text1" + *< END OBJECT: BaseClass="textbox" /> + + ADD OBJECT 'VERIF.Grid1.Column4.Header4' AS header WITH ; + Alignment = 2, ; + Caption = "Data Act", ; + FontName = "Arial Narrow", ; + Name = "Header4" + *< END OBJECT: BaseClass="header" /> + + ADD OBJECT 'VERIF.Grid1.Column4.Text1' AS textbox WITH ; + Alignment = 1, ; + BackColor = 255,255,255, ; + BorderStyle = 0, ; + FontName = "Arial Narrow", ; + ForeColor = 0,0,0, ; + Margin = 0, ; + Name = "Text1", ; + ReadOnly = .T. + *< END OBJECT: BaseClass="textbox" /> + + ADD OBJECT 'VERIF.Grid1.Column5.Header5' AS header WITH ; + Alignment = 2, ; + Caption = "Nr.Doc.", ; + FontName = "Arial Narrow", ; + Name = "Header5" + *< END OBJECT: BaseClass="header" /> + + ADD OBJECT 'VERIF.Grid1.Column5.Text1' AS textbox WITH ; + Alignment = 1, ; + BackColor = 255,255,255, ; + BorderStyle = 0, ; + FontName = "Arial Narrow", ; + ForeColor = 0,0,0, ; + Margin = 0, ; + Name = "Text1", ; + ReadOnly = .T. + *< END OBJECT: BaseClass="textbox" /> + + ADD OBJECT 'VERIF.Grid1.Column6.Header6' AS header WITH ; + Alignment = 2, ; + Caption = "Partener Debit", ; + FontName = "Arial Narrow", ; + Name = "Header6" + *< END OBJECT: BaseClass="header" /> + + ADD OBJECT 'VERIF.Grid1.Column6.Text1' AS textbox WITH ; + Alignment = 0, ; + BackColor = 255,255,255, ; + BorderColor = 0,0,0, ; + BorderStyle = 0, ; + FontName = "Arial Narrow", ; + ForeColor = 0,0,0, ; + Margin = 0, ; + Name = "Text1", ; + ReadOnly = .T. + *< END OBJECT: BaseClass="textbox" /> + + ADD OBJECT 'VERIF.Grid1.Column7.Header7' AS header WITH ; + Alignment = 2, ; + Caption = "Cont Deb.", ; + FontName = "Arial Narrow", ; + Name = "Header7" + *< END OBJECT: BaseClass="header" /> + + ADD OBJECT 'VERIF.Grid1.Column7.Text1' AS textbox WITH ; + Alignment = 1, ; + BackColor = 255,255,255, ; + BorderStyle = 0, ; + FontBold = .F., ; + FontName = "Arial Narrow", ; + ForeColor = 0,0,128, ; + Margin = 0, ; + Name = "Text1", ; + ReadOnly = .T. + *< END OBJECT: BaseClass="textbox" /> + + ADD OBJECT 'VERIF.Grid1.Column8.Header8' AS header WITH ; + Alignment = 2, ; + Caption = "Cont Cred.", ; + FontName = "Arial Narrow", ; + Name = "Header8" + *< END OBJECT: BaseClass="header" /> + + ADD OBJECT 'VERIF.Grid1.Column8.Text1' AS textbox WITH ; + Alignment = 1, ; + BackColor = 255,255,255, ; + BorderStyle = 0, ; + FontBold = .F., ; + FontName = "Arial Narrow", ; + ForeColor = 0,0,0, ; + Margin = 0, ; + Name = "Text1", ; + ReadOnly = .T. + *< END OBJECT: BaseClass="textbox" /> + + ADD OBJECT 'VERIF.Grid1.Column9.Header9' AS header WITH ; + Alignment = 2, ; + Caption = "Suma", ; + FontName = "Arial Narrow", ; + Name = "Header9" + *< END OBJECT: BaseClass="header" /> + + ADD OBJECT 'VERIF.Grid1.Column9.Text1' AS textbox WITH ; + Alignment = 1, ; + BackColor = 255,255,255, ; + BorderStyle = 0, ; + FontBold = .F., ; + FontName = "Arial Narrow", ; + FontSize = 9, ; + ForeColor = 0,0,0, ; + Margin = 0, ; + Name = "Text1", ; + ReadOnly = .T. + *< END OBJECT: BaseClass="textbox" /> + + ADD OBJECT 'VERIF.Precedent1' AS precedent WITH ; + Left = 550, ; + Name = "Precedent1", ; + TabIndex = 2, ; + Top = 3, ; + ZOrderSet = 6, ; + Imbuton1.Height = 27, ; + Imbuton1.Name = "Imbuton1", ; + Imbuton1.Width = 27, ; + Command1.Name = "Command1", ; + Command1.TabIndex = 1 + *< END OBJECT: ClassLib="baza.vcx" BaseClass="container" /> + + ADD OBJECT 'VERIF.Renunt1' AS renunt WITH ; + Left = 582, ; + Name = "Renunt1", ; + TabIndex = 3, ; + Top = 3, ; + ZOrderSet = 7, ; + Imbuton1.Height = 26, ; + Imbuton1.Name = "Imbuton1", ; + Imbuton1.Width = 26, ; + Command1.Name = "Command1", ; + Command1.TabIndex = 1 + *< END OBJECT: ClassLib="baza.vcx" BaseClass="container" /> + + PROCEDURE Activate + *!* This.items.Activate + *!* *THIS.ITEMS.ZOrder(0) + *!* This.items.item1.text_item1.SetFocus + * + IF this.iteMS.Visible = .t. + this.itemS.Activate + IF this.nou_intrat + this.iteMS.item1.SetFocus + ENDIF + ENDIF + ENDPROC + + PROCEDURE aduc_set + Local i, loItem, lcexplicatie + Private lcLista + Store '' To lcLista + + m.an = Alltrim(Str(gnAn)) + m.nl = Padl(Alltrim(Str(gnLuna)),2,'0') + + *!* SELECT XSETS + *!* LOCATE FOR ID_SET=thisformset.id_set + *!* THISFORMSET.FORMGEST=FORMGEST + + m.NU_STERG=oxset.NU_STERG + If !Empty(This.FORMGEST) Or XSETS.MODEL=-1 + This.FORMTERMIN12.TERMINAT1.Visible=.F. + This.FORMTERMIN12.URMATOR1.Visible=.T. + Endif + + *!* SELECT a.NR_ITEM, b.*, D.NUME_SET FROM ; + *!* XREQUEST a, xitems b, XSETS D ; + *!* WHERE a.id_item=b.id_item AND a.ID_SET=D.ID_SET AND a.ID_SET=THISFORMSET.ID_SET ; + *!* INTO CURSOR cerere READWRITE ORDER BY b.prioritate, a.NR_ITEM + + Select a.NR_ITEM, b.*, D.NUME_SET, 0 As cu_proc_tva ; + FROM XREQUEST a ; + INNER Join xitems b On a.id_item = b.id_item ; + LEFT Join XSETS D On a.ID_SET = D.ID_SET ; + WHERE a.ID_SET = Thisformset.ID_SET And Evaluate(Iif(Empty(a.conditie),'.t.',Alltrim(a.conditie))) ; + INTO Cursor cerere Readwrite ; + ORDER By b.prioritate, a.NR_ITEM + + && + Select cerere + + *** COMPLETEZ CEREREA DE DATE CU LUCRAREA, SECTIA, SUCURSALA + && LUCRARE + + If gnCampLucrare = 1 + Select cerere + lcexplicatie = NUME_SET + Locate For id_item = 15 + If !Found() + Select xitems + Locate For id_item = 15 + Scatter Name loItem + Select cerere + Append Blank + Gather Name loItem + Replace NUME_SET With lcexplicatie + Endif + Endif + + && SECTIE + If gnCampSectie = 1 + Select cerere + lcexplicatie = NUME_SET + Locate For id_item = 16 + If !Found() + Select xitems + Locate For id_item = 16 + Scatter Name loItem + Select cerere + Append Blank + Gather Name loItem + Replace NUME_SET With lcexplicatie + Endif + Endif + && SUCURSALA + If gnCampSucursala = 1 + Select cerere + lcexplicatie = NUME_SET + Locate For id_item = 68 + If !Found() + Select xitems + Locate For id_item = 68 + Scatter Name loItem + Select cerere + Append Blank + Gather Name loItem + Replace NUME_SET With lcexplicatie + Endif + Endif + + Locate + lcCaption = Alltrim(NUME_SET) + lleste = .F. + ************************************************************************************************ + + Select Distinct Left(xscd,5) As contpart, 0 As pozitie, xscc As cont_coresp From xnote Where ID_SET = Thisformset.ID_SET And !Empty(xscd) ; + UNION ; + SELECT Distinct Left(xscc,5) As contpart, 1 As pozitie, xscd As cont_coresp From xnote Where ID_SET = Thisformset.ID_SET And !Empty(xscc) ; + INTO Cursor tcont Readwrite + + Select tcont + Scan + lcCont = Alltrim(contpart) + If Val(lcCont) = 0 Or 'X' $ Upper(lcCont) + If Type('CN') # 'U' And !Empty(CN) + lcCont = Alltrim(CN) + Replace contpart With lcCont + Else + Loop + Endif + Endif + If Empty(lcLista) + lcLista = lcCont + Else + lcLista = lcLista + ',' + lcCont + Endif + Endscan + + If !Empty(lcLista) + lcSql = [select distinct c.cont as cont_part, c.explicatie as explic_cont,c.fel_cont,c.id_tip_part as tip,c.cu_inregistrari, c.cu_proc_tva, e.cont_c as exceptie, e.debit as poz_in_caz_exceptie, e.invers ] + ; + [from ] + gcs + [.vcoresp_tip_cont c left join ] + gcs + [.exceptii_ireg e on c.cont = e.cont and e.invers = 1 ] + ; + [where c.cont in (] + lcLista + [) ] + *[where instr('] + lcLista + [',c.cont)> 0 ] + Else + lcSql = [select distinct c.cont as cont_part, c.explicatie as explic_cont,c.fel_cont,c.id_tip_part as tip,c.cu_inregistrari, c.cu_proc_tva, e.cont_c as exceptie, e.debit as poz_in_caz_exceptie, e.invers ] + ; + [from ] + gcs + [.vcoresp_tip_cont c left join ] + gcs + [.exceptii_ireg e on c.cont = e.cont and e.invers = 1 ] + ; + [where 1 = 2] + Endif + lcCursor = 'verif_part' + + lnSucces = goExecutor.oExecute(lcSql,lcCursor) + If lnSucces < 0 + aMessagebox('Eroare de conectare!',0+48, 'Atentie!') + This.Release + Return + Endif + + + Select v.*, T.*,Space(50) As tipuri_part,Space(50) As conturi_exc,Space(50) As numepart, 000000000000 As idpart ; + FROM verif_part v Left Join tcont T On v.cont_part = T.contpart Into Cursor xcont Readwrite + + + Select xcont + Replace All pozitie With 1 For pozitie = 0 And cont_coresp = exceptie And pozitie = poz_in_caz_exceptie And invers = 1 + Select xcont + Replace All pozitie With 0 For pozitie = 1 And cont_coresp = exceptie And pozitie = poz_in_caz_exceptie And invers = 1 + + + Select xcont + Replace All tipuri_part With Alltrim(Str(tip)), conturi_exc With Nvl(Alltrim(exceptie),'') + Replace All explic_cont With Alltrim(explic_cont) + [ INCASARI],contpart With Alltrim(contpart)+[0] For Inlist(Left(cont_part,2),'51','53') And pozitie = 0 + Replace All explic_cont With Alltrim(explic_cont) + [ PLATI],contpart With Alltrim(contpart)+[1] For Inlist(Left(cont_part,2),'51','53') And pozitie = 1 + + Scan For !Deleted() + Scatter Name oxcont + i = Recno() + Locate For Alltrim(contpart) = Alltrim(oxcont.contpart) And (pozitie # oxcont.pozitie Or tip # oxcont.tip Or (pozitie = oxcont.pozitie And (cont_coresp # oxcont.cont_coresp Or exceptie # oxcont.exceptie))) + If Found() + lcTip = Alltrim(tipuri_part) + lcExc = Nvl(Alltrim(conturi_exc),'') + If pozitie # oxcont.pozitie + lnFel = fel_cont + Else + lnFel = pozitie + Endif + Delete + Goto i + Replace pozitie With lnFel + Replace tipuri_part With Alltrim(tipuri_part) + ',' + lcTip + If !Empty(conturi_exc) + Replace conturi_exc With Alltrim(conturi_exc) + ',' + lcExc + Else + Replace conturi_exc With lcExc + Endif + Else + Goto i + Endif + Endscan + Release oxcont + + + + Select xcont + Scan + lcContExtins = contpart + lcCont = cont_part + lcExplic = Lower(Alltrim(explic_cont)) + lnPozitie = pozitie + lnFelCont = fel_cont + lnCuIreg = cu_inregistrari + lnCuProcTva = cu_proc_tva + Select xitems + Locate For id_item = 66 + Scatter Name opart + opart.label_item = Alltrim(opart.label_item) + ' ' + lcExplic + '(' + Alltrim(lcCont) + ')' + opart.var_item = 'V' + Alltrim(lcContExtins) + Select cerere + lcexplicatie = NUME_SET + Append Blank + Replace NUME_SET With lcexplicatie + Gather Name opart + Release opart + If lnPozitie # lnFelCont And lnCuIreg = 1 AND Thisformset.ID_SET <> 45 && modificare 22.11.2006 + Select xitems + Locate For id_item = 67 + Scatter Name opart + opart.label_item = Alltrim(opart.label_item) + ' ' + lcExplic + '(' + Alltrim(lcCont) + ')' + opart.var_item = 'P' + Alltrim(lcContExtins) + Select cerere + lcexplicatie = NUME_SET + Append Blank + Replace NUME_SET With lcexplicatie, cu_proc_tva With lnCuProcTva + Gather Name opart + Release opart + Endif + *!* IF gnResponsabLaIncasare = 1 AND lcCont = '5311' AND lnPozitie = 0 + *!* + *!* ENDIF + Select xcont + Endscan + + If Used('verif_part') + Use In verif_part + Endif + + If Used('tcont') + Use In tcont + Endif + + + Select cerere + Replace All NR_ITEM With Recno() + Select cerere + Index On Str(prioritate,3) + Str(NR_ITEM,10) Tag ordine Of &gcTempPath\apriori.Cdx + + **************************************************** + Local MAXITEMS,OX,OC + OC = This.FORMTERMIN12 + OX = This.ITEMS + + Select cerere + Calculate Cnt() To MAXITEMS + MM = Iif(MAXITEMS>14,14,MAXITEMS) + OX.Height = MM*(OX.ITEM1.Height-1)+2*OX.ITEM1.Top + OC.TItlufrumos1.Caption = Proper(lcCaption) + OC.Height = OX.Height+80 + OX.Top = OC.Top+60 + OX.Left = OC.Left + OC.Width/2-OX.Width/2 + lcobj = This.pcobj + + lnNrIt = 0 + lnNrRecalc = 0 + i = 0 + Select cerere + Scan + * I=NR_ITEM + i = i+1 + If Lower(Alltrim(var_item)) = 'tottva' + lnNrIt = i + Endif + If Lower(Alltrim(var_item)) = 'totftva' + lnNrRecalc = i + Endif + + N=Alltrim(Str(i)) + Z='OX.ITEM'+N+'.VISIBLE=.T.' + &Z + Z='OX.ITEM'+N+'.LABEL_ITEM1.CAPTION="'+Upper(Alltrim(label_item))+'"' + &Z + lcVar = lcobj + '.' + Alltrim(var_item) + If Type('&lcVar') = 'U' + lEValInit = Evaluate(Alltrim(x_init_val)) + x = AddProperty(&lcobj,Alltrim(var_item),lEValInit) + Endif + Z='OX.ITEM'+N+'.TEXT_ITEM1.CONTROLSOURCE="'+ lcobj + '.' +Alltrim(var_item)+'"' + &Z + Z='OX.ITEM'+N+'.pcobj = "' + lcobj + '"' + &Z + Z='OX.ITEM'+N+'.TEXT_ITEM1.format="'+Alltrim(xformat)+'"' + &Z + * Z='OX.ITEM'+N+'.TEXT_ITEM1.inputmask="'+ALLTRIM(xinputmask)+'"' + If !Empty(Alltrim(xinputmask)) + Z=[OX.ITEM] + N + [.TEXT_ITEM1.inputmask = '] + Evaluate(Alltrim(xinputmask)) + ['] + &Z + Endif + Z='OX.ITEM'+N+'.FIS_LISTA="'+Alltrim(FIS_LISTA)+'"' + &Z + Z='OX.ITEM'+N+'.CAMP_LISTA="'+Alltrim(CAMP_LISTA)+'"' + &Z + Z='OX.ITEM'+N+'.LABEL_ITEM="'+Upper(Alltrim(label_item))+'"' + &Z + Z='OX.ITEM'+N+'.TEXT_ITEM1.readonly=xreadonly' + &Z + Z='OX.ITEM'+N+'.id_fisier="'+Alltrim(id_fisier)+'"' + &Z + Z='OX.ITEM'+N+'.id_item='+Alltrim(Str(id_item)) + &Z + Z='OX.ITEM'+N+'.nProc_tva='+Alltrim(Str(cu_proc_tva)) + &Z + && modificare 06.03 + && casa de marcat + If !Empty(Thisformset.variabile) + lcProprObiect=lcobj + [.] +Alltrim(var_item) + lcProprFisier=Lower(Alltrim(FIS_LISTA)) + lnindex=Ascan(Thisformset.variabile,lcProprObiect,1,Alen(Thisformset.variabile,1),1,15) + If lnindex>0 + If Thisformset.variabile[lnindex,3] + Z='OX.ITEM'+N+'.TEXT_ITEM1.tabstop=.F.' + &Z + If Inlist(lcProprFisier,'vnom_parteneri') + lcContul = Strextract(lcProprObiect,'.V') + Select xcont + Locate For Val(contpart) = Val(lcContul) + lcContul = cont_part + lcTip = Alltrim(tipuri_part) + lnindexId=Ascan(Thisformset.variabile,'POACT.ID_V'+Substr(lcProprObiect,7),1,Alen(Thisformset.variabile,1),1,15) + Replace idpart With Val(Thisformset.variabile[lnindexId,2]) + Replace numepart With Thisformset.variabile[lnindex,2] + &lcProprObiect = Thisformset.variabile[lnindex,2] + Endif + Else + Z='OX.ITEM'+N+'.TEXT_ITEM1.tabstop=.T.' + &Z + Endif + *!* modificare 31.10.2006 + If Thisformset.variabile[lnIndex,4] + Z='OX.ITEM'+N+'.TEXT_ITEM1.enabled=.F.' + &Z + Else + Z='OX.ITEM'+N+'.TEXT_ITEM1.enabled=.T.' + &Z + Endif + *!* modificare 31.10.2006 ^ + Endif + ENDIF + && sfarsit modificare 06.03 + Select cerere + Endscan + + If lnNrIt <> 0 + Z = [ox.cotaTva.top = ox.item] + Alltrim(Str(lnNrIt)) + [.top] + &Z + This.ITEMS.cotaTVA.Visible = .T. + If lnNrRecalc <> 0 + This.ITEMS.cotaTVA.Tag = Alltrim(Str(lnNrRecalc)) + Else + This.ITEMS.cotaTVA.Tag = Alltrim(Str(lnNrIt)) + Endif + This.ITEMS.label4.Top = This.ITEMS.cotaTVA.Top - This.ITEMS.label4.Height + This.ITEMS.label4.Visible = .T. + + Select cote_tva + Go Top + m.ctva = proc_tva + lnproc = procent + This.ITEMS.cotaTVA.Value = Alltrim(Str(lnproc)) + This.pctva = Alltrim(Str(lnproc)) + This.pntva = m.ctva + Endif + OX.Paint + Set Index To + + ENDPROC + + PROCEDURE adunadate + LOCAL NRNOTE,SIRDEVAR + NRNOTE=0 + STORE '' TO SIRDEVAR + lcobj = THIS.pcobj + + m.proc_tva = this.pntva + ADDPROPERTY(&lcobj,'proc_tva',m.proc_Tva) + + SELECT ACTACTAN + ZAP + SCATTER NAME mact BLANK + + mact.proc_Tva=this.pntva + + SELECT * FROM XNOTE; + WHERE ID_SET=THISFORMSET.ID_SET; + INTO CURSOR XXNOTE ORDER BY NR_NOTA + + + IF _TALLY=0 + IF XSETS.MODEL#-1 && pentru rate-leasing, plati impozite, achizitii furnizori + * DO MESAJ WITH 'SETUL DE NOTE NU ESTE COMPLETAT','' + AMESSAGEBOX('SETUL DE NOTE NU ESTE COMPLETAT') + ENDIF + *Thisformset.Release + RETURN + ENDIF + + && ADAUG IN ACTACTAN + SELECT XXNOTE + GO BOTT + NRNOTE=NR_NOTA + lnNrcampuri = FCOUNT('xact')-1 + SELECT XXNOTE + SCAN + R=RECNO() + SIRDEVAR='UTIL,DATAORA' + + FOR i =lnNrcampuri TO 1 STEP -1 + IF INLIST(I,1,7,8,10,12,17,18,19,20) + LOOP + ENDIF + SELECT XXNOTE + Z='VAR_XNOTE=ALLTRIM(X' + ALLTRIM(STR(I)) + ')' + &Z + SELECT XACT + LOCATE + T='VAR_XACT=ALLTRIM(X' + ALLTRIM(STR(I)) + ')' + &T + IF !EMPTY(VAR_XNOTE) + IF TYPE('MACT.'+ VAR_XNOTE) # 'U' AND !(INLIST(I,25,28) AND VAR_XNOTE = 'nract') AND I <> 21 + Z='MACT.'+ VAR_XNOTE + '=' + THIS.pcobj + '.' +VAR_XNOTE + &Z + IF !EMPTY(VAR_XACT) + Z='MACT.'+ VAR_XACT + '=' + THIS.pcobj + '.' +VAR_XACT + &Z + ENDIF + ELSE + IF TYPE(THIS.pcobj + '.' +VAR_XNOTE) # 'U' + Z='MACT.'+ VAR_XACT + '=' + THIS.pcobj + '.' +VAR_XNOTE + &Z + ENDIF + ENDIF + + ENDIF + SELECT XXNOTE + NEXT + + SELECT XXNOTE + mact.SCD=XSCD + mact.SCC=XSCC + mact.ascd=xascd + mact.ascc=xascc + mact.ID_SET=ID_SET + mact.NR_NOTA=NR_NOTA + mact.proc_Tva=this.pntva + + SELECT ACTACTAN + APPEND BLANK + GATH NAME mact + IF !EMPTY(mact.neimpozab) + REPLACE proc_Tva WITH 1 + REPLACE SUMA WITH neimpozab + ENDIF + + SCATTER NAME mact BLANK + SELECT XXNOTE + GOTO R + ENDSCAN + + SELECT ACTACTAN + LOCATE FOR INLIST('U',UPPER(SUBSTR(SCD,4,1)),UPPER(SUBSTR(SCC,4,1))) + IF FOUND() + ulit=SUBSTR(m.contg,4,1) + REPLACE ALL SCD WITH LEFT(SCD,3) + ulit FOR INLIST('U',UPPER(SUBSTR(SCD,4,1))) + REPLACE ALL SCC WITH LEFT(SCC,3) + ulit FOR INLIST('U',UPPER(SUBSTR(SCC,4,1))) + ENDIF + + *---------------------------------------------------------------------------- + IF USED('XCONT') + * IF TYPE('XSETS.COMPENS')#'U' and (!EMPTY(XSETS.FRM_PLATA) OR !EMPTY(XSETS.COMPENS)) + + SELECT xcont + LOCATE FOR Pozitie # Fel_Cont AND Cu_Inregistrari = 1 + IF FOUND() + IF TYPE('XSETS.valuta')#'U' AND xsets.valuta + llVal = .t. + ELSE + llVal = .f. + ENDIF + + IF llVal + lcProcedura = 'calculcompens_valuta' + ll_cond=.T. + ELSE + lcProcedura = 'calculcompens' + ll_cond=.F. + ENDIF + + SELECT xcont + CALCULATE CNT() TO lnCount FOR cu_inregistrari = 1 AND pozitie # fel_cont + IF lnCount = 1 + SELECT xcont + LOCATE FOR cu_inregistrari = 1 AND pozitie # fel_cont + lcCont = ALLTRIM(cont_part) + lcFis = 'actcv' + lcCont + ELSE + LOCATE FOR cu_inregistrari = 1 AND pozitie = 0 AND fel_cont = 1 + lcFisD = 'actcv' + ALLTRIM(cont_part) + LOCATE FOR cu_inregistrari = 1 AND pozitie = 1 AND fel_cont = 0 + lcFisC = 'actcv' + ALLTRIM(cont_part) + IF USED(lcFisD) AND USED(lcFisC) + DO &lcProcedura WITH lcFisD, lcFisC IN ocompensari.prg + lcFis = 'CalculCompensare' + ELSE + lcFis = 'EroareCompletare' + ENDIF + ENDIF + + SET DELETED ON + PRIVATE oact,osalv + SELECT ACTACTAN + GO BOTTOM + SCATTER NAME osalv + + DELETE + IF USED(lcFis) + + SELECT (lcFis) + SCAN FOR ales + SCATTER NAME oact + + IF TYPE(lcFis+'.ascd')!="U" + osalv.ascd=oact.ascd + IF TYPE('oact.nract') # 'U' + osalv.perecheD = oact.nract + ELSE + osalv.perecheD = oact.nr_doc_d + ENDIF + IF TYPE('oact.id_fact') # 'U' + osalv.id_factD = oact.id_fact + ELSE + osalv.id_factD = oact.id_factd + ENDIF + + IF EMPTY(osalv.ascc) AND !EMPTY(THIS.ACONT) + osalv.ascc=THIS.ACONT + ENDIF + ENDIF + + IF TYPE(lcFis+'.ascc')!="U" + osalv.ascc=oact.ascc + IF TYPE('oact.nract') # 'U' + osalv.perecheC=oact.nract + ELSE + osalv.perecheC = oact.nr_doc_c + ENDIF + + IF TYPE('oact.id_fact') # 'U' + osalv.id_factC = oact.id_fact + ELSE + osalv.id_factC = oact.id_factC + ENDIF + + IF EMPTY(osalv.ascd) AND !EMPTY(THIS.ACONT) + osalv.ascd=THIS.ACONT + ENDIF + ENDIF + + IF TYPE(lcFis+'.proc_tva')!="U" + osalv.proc_Tva=oact.proc_Tva + ENDIF + SELECT ACTACTAN + APPEND BLANK + GATHER NAME osalv + IF TYPE('oact.sumaachi') # 'U' + REPLACE SUMA WITH oact.sumaachi + ENDIF + + IF TYPE(lcFis+'.id_lucrare')!="U" AND !ISNULL(oact.id_lucrare) + SELECT ACTACTAN + REPLACE id_lucrare WITH oact.id_lucrare + REPLACE nrord WITH oact.nrord + ELSE + SELECT ACTACTAN + REPLACE id_lucrare WITH osalv.id_lucrare + REPLACE nrord WITH osalv.nrord + ENDIF + + IF TYPE(lcFis+'.id_ctr')!="U" AND !ISNULL(oact.id_ctr) + SELECT ACTACTAN + REPLACE id_ctr WITH oact.id_ctr + REPLACE contract WITH oact.contract + ELSE + SELECT ACTACTAN + REPLACE id_ctr WITH osalv.id_ctr + REPLACE contract WITH osalv.contract + ENDIF + + IF gnRESP_LA_INCASARE = 0 AND TYPE(lcFis+'.id_responsabil')!="U" AND !ISNULL(oact.id_responsabil) + SELECT ACTACTAN + REPLACE id_responsabil WITH oact.id_responsabil + REPLACE nresp WITH oact.nresp + ELSE + SELECT ACTACTAN + REPLACE id_responsabil WITH osalv.id_responsabil + REPLACE nresp WITH osalv.nresp + ENDIF + + IF ll_cond + SELECT actactan + REPLACE SUMA WITH oact.achilei + REPLACE suma_val WITH oact.sumaachi2 + REPLACE CURS WITH oact.CURSval + DO CASE + CASE oact.difplus>0 + APPEND BLANK + GATHER NAME osalv + *!* 19.01.2015: 765-> 7651 + *!* REPLACE SCC WITH '765 ', ascc WITH '', SUMA WITH oact.difplus,explicatia WITH 'DIFERENTE FAVORABILE' + REPLACE SCC WITH '7651', ascc WITH '', SUMA WITH oact.difplus,explicatia WITH 'DIFERENTE FAVORABILE' + + *!* 19.01.2015: 765-> 7651 ^ + REPLACE suma_val WITH 0,CURS WITH oact.cursdif,perecheC WITH 0, id_factC WITH 0 + CASE oact.difminus>0 + APPEND BLANK + GATHER NAME osalv + *!* 19.01.2015: 665-> 6651 + *!* REPLACE SCD WITH '665 ', ascd WITH '', SUMA WITH oact.difminus,explicatia WITH 'DIFERENTE NEFAVORABILE' + REPLACE SCD WITH '6651', ascd WITH '', SUMA WITH oact.difminus,explicatia WITH 'DIFERENTE NEFAVORABILE' + *!* 19.01.2015: 665-> 6651 ^ + REPLACE suma_val WITH 0,CURS WITH oact.cursdif ,perecheD WITH 0, id_factD WITH 0 + ENDCASE + ENDIF + SELECT (lcFis) + ENDSCAN + ENDIF + RELEASE oact + RELEASE osalv + + ENDIF + ENDIF + + *!* modificare 22.11.2006 + IF gcNumeProgram='ROACONT' + IF TYPE("poact.cursdeb")<>"U" AND TYPE("poact.curscred")<>"U" AND ; + !EMPTY(poact.CURSDEB) AND !EMPTY(poact.CURSCRED) && pt alte programe tb sa introduc variabile globale(M.CURSDEB,m.CURSCRED) + SELECT ACTACTAN + REPLACE ALL SUMA WITH ROUND(poact.SUMA_2*MIN(poact.CURSDEB,poact.CURSCRED),gnPc) + DO CASE + CASE poact.CURSDEB>poact.CURSCRED + SELECT ACTACTAN + LOCATE FOR INLIST(SCD,'5124','5314') && si lista poate continua (vezi Planul de Conturi) + SCATTER NAME mact + REPLACE curs WITH poact.CURSCRED + APPEND BLANK + GATHER NAME mact + *!* 19.01.2015: 765-> 7651 + *!* REPLACE SCC WITH '765 ',SUMA WITH ROUND(mact.SUMA_val*(poact.CURSDEB-poact.CURSCRED),gnPc),explicatia WITH 'DIFERENTE FAVORABILE' + REPLACE SCC WITH '7651',SUMA WITH ROUND(mact.SUMA_val*(poact.CURSDEB-poact.CURSCRED),gnPc),explicatia WITH 'DIFERENTE FAVORABILE' + *!* 19.01.2015: 765-> 7651 ^ + + REPLACE suma_val WITH 0,curs WITH poact.CURSDEB + CASE poact.CURSDEB 6651 + *!* REPLACE SCD WITH '665 ',SUMA WITH ROUND(mact.SUMA_val*(-poact.CURSDEB+poact.CURSCRED),gnPc),explicatia WITH 'DIFERENTE NEFAVORABILE' + REPLACE SCD WITH '6651',SUMA WITH ROUND(mact.SUMA_val*(-poact.CURSDEB+poact.CURSCRED),gnPc),explicatia WITH 'DIFERENTE NEFAVORABILE' + *!* 19.01.2015: 665-> 6651 ^ + + REPLACE SUMA_val WITH 0,curs WITH poact.CURSCRED + ENDCASE + ENDIF + + SELECT ACTACTAN + LOCATE FOR INLIST(SCD,'667') + IF FOUND() + SCATTER NAME mact + IF mact.proc_Tva # 1 + APPEND BLANK + GATHER NAME mact + REPLACE SCD WITH SCC,SCC WITH '4427' ,SUMA WITH ROUND(-(m.ctva-1)*mact.SUMA,gnPc) + ELSE + REPLACE neimpozab WITH mact.SUMA + ENDIF + ENDIF + LOCATE FOR SCC='767' + IF FOUND() + SCATTER NAME mact + IF mact.proc_Tva # 1 + APPEND BLANK + GATHER NAME mact + REPLACE SCC WITH SCD,SCD WITH '4426' ,SUMA WITH ROUND(-(m.ctva-1)*mact.SUMA,gnPc) + ELSE + REPLACE neimpozab WITH mact.SUMA + ENDIF + ENDIF + ENDIF + *!* modificare 22.11.2006 ^ + + ****** am ramas aici !!! + *!* IF _program='cont' + *!* IF !EMPTY(M.CURSDEB) AND !EMPTY(m.CURSCRED) && pt alte programe tb sa introduc variabile globale(M.CURSDEB,m.CURSCRED) + *!* SELECT ACTACTAN + *!* REPLACE ALL SUMA WITH M.SUMA_2*MIN(M.CURSDEB,m.CURSCRED) + *!* DO CASE + *!* CASE m.CURSDEB>m.CURSCRED + *!* SELECT ACTACTAN + *!* LOCATE FOR INLIST(SCD,'5124','5314') && si lista poate continua (vezi Planul de Conturi) + *!* SCATTER NAME mact + *!* REPLACE suma_3 WITH m.CURSCRED + *!* APPEND BLANK + *!* GATHER NAME mact + *!* REPLACE SCC WITH '765 ',SUMA WITH mact.SUMA_2*(m.CURSDEB-m.CURSCRED),explicatia WITH 'DIFERENTE FAVORABILE' + *!* REPLACE SUMA_2 WITH 0,suma_3 WITH m.CURSDEB + *!* CASE m.CURSDEB 0 + lcSql = [select distinct (case when debit = 0 then cont else cont_c end) as scd, ] + ; + [(case when debit = 1 then cont else cont_c end) as scc ] + ; + [from ] + gcs + [.exceptii_ireg where invers = 1] + lcCursor = [Tva_exceptii] + + lnSucces = goExecutor.oExecute(lcSql,lcCursor) + IF lnSucces > 0 + SELECT tva_exceptii + SCAN + SCATTER NAME otva + SELECT actactan + LOCATE FOR ALLTRIM(scd) = ALLTRIM(otva.scd) AND ALLTRIM(scc) = ALLTRIM(otva.scc) + IF FOUND() + LOCATE FOR (scd = '4426' AND scc = otva.scd) OR (scc = '4427' AND scd = otva.scc) + IF FOUND() + REPLACE suma WITH -suma + ENDIF + ENDIF + SELECT tva_exceptii + ENDSCAN + ENDIF + IF USED('tva_exceptii') + USE IN Tva_exceptii + ENDIF + ENDIF + + + IF TYPE('XSETS.EXPL_FIXA')#'U' + SELECT XSETS + SCATTER FIELDS EXPL_FIXA,aleg_cont NAME opar + + SELECT ACTACTAN + IF !EMPTY(opar.EXPL_FIXA) + REPLACE ALL explicatia WITH opar.EXPL_FIXA FOR EMPTY(explicatia) + ENDIF + IF opar.aleg_cont + IF TYPE('pcAcn')#'U' + REPLACE ALL ascd WITH pcAcn FOR UPPER(ALLTRIM(SCD))='X' + REPLACE ALL ascc WITH pcAcn FOR UPPER(ALLTRIM(SCC))='X' + ENDIF + REPLACE ALL SCD WITH CN FOR UPPER(ALLTRIM(SCD))='X' + REPLACE ALL SCC WITH CN FOR UPPER(ALLTRIM(SCC))='X' + ENDIF + + RELEASE opar + ENDIF + + IF USED('xcont') + + + SELECT xcont + SCAN + lcContPart = ALLTRIM(cont_part) + lcContPartExtins = ALLTRIM(contpart) && cont+[0] sau [1] in functie de pozitie cont(folosit pt diferentiere banca incasari/plati) + IF ALLTRIM(lcContPartExtins) = ALLTRIM(lcContPart) + lcExtensieD = [] + lcExtensieC = [] + ELSE + lcExtensieD = [0] + lcExtensieC = [1] + ENDIF + + lcExceptii = ALLTRIM(conturi_exc) + lcExceptii = IIF(EMPTY(lcExceptii),'-1',lcExceptii) + lnIdPart = idpart + lcNumePart = UPPER(ALLTRIM(numePart)) + lnFelCont = fel_cont + lnPoz = pozitie + lnInvers = invers + * llCuIreg = IIF(cu_inregistrari = 0, .F., .T.) + llFactura = IIF(cu_inregistrari = 1 and pozitie = fel_cont, .t., .f.) + SELECT ACTACTAN + SCAN FOR INLIST(lcContPartExtins,ALLTRIM(SCD) + lcExtensieD, ALLTRIM(SCC) + lcExtensieC) + IF SCD = lcContPart + REPLACE id_partd WITH lnIdPart + REPLACE partd WITH lcNumePart + + IF llFactura AND (lnFelCont = 0 OR (INLIST(VAL(scc),&lcExceptii) AND lnInvers = 1)) + REPLACE id_fact WITH -1 + ENDIF + *!* 05.10.2006 + *!* MARIUS.MUTU + *!* SA NU PUNA ID_FACTD = -1 DECAT DACA NU E CONT EXCEPTIE + IF llFactura AND lnFelCont = 1 AND EMPTY(id_factd) AND !(INLIST(VAL(scc),&lcExceptii) AND lnInvers = 1) + REPLACE id_factd WITH -1 + ENDIF + ENDIF + IF SCC = lcContPart + REPLACE id_partc WITH lnIdPart + REPLACE partc WITH lcNumePart + + IF llFactura AND (lnFelCont = 1 OR (INLIST(VAL(scd),&lcExceptii) AND lnInvers = 1)) + REPLACE id_fact WITH -1 + ENDIF + *!* 05.10.2006 + *!* MARIUS.MUTU + *!* SA NU PUNA ID_FACTC = -1 DECAT DACA NU E CONT EXCEPTIE + IF llFactura AND lnFelCont = 0 AND EMPTY(id_factc) AND !(INLIST(VAL(scd),&lcExceptii) AND lnInvers = 1) + REPLACE id_factc WITH -1 + ENDIF + ENDIF + ENDSCAN + SELECT xcont + ENDSCAN + ENDIF + + && FURNIZORI - REFACTURARE NU TREBUIE SA AIBA TVA - NU AM VRUT SA SCHIMB M.CTVA INAINTE DE LANS(10539) + IF THIS.ID_SET = 10539 + SELECT ACTACTAN + REPLACE ALL neimpozab WITH SUMA,proc_Tva WITH 1 + ENDIF + + SELECT ACTACTAN + REPLACE ALL AN WITH gnAn,luna WITH gnLuna, ID_UTIL WITH gnidutil + + DO nrord WITH ('actactan') + RELEASE mact + + SELECT ACTACTAN + GO TOP + + + + + + + + + + + ENDPROC + + PROCEDURE adunadatenir + Local NRNOTE,SIRDEVAR + NRNOTE=0 + Store '' To SIRDEVAR + Set Safety Off + + Select ACTACTAN + Zap + + + Select * From XNOTE; + WHERE ID_SET=Thisformset.ID_SET; + INTO Cursor XXNOTE Order By NR_NOTA + + + If _Tally=0 + * Do MESAJ With 'SETUL DE NOTE NU ESTE COMPLETAT','' + AMESSAGEBOX("Setul de note nu este completat!",48,"Atentie") + Thisformset.Release + Endif + + + &&ADAUG IN ACTACTAN + + Select XXNOTE + Go Bott + NRNOTE=NR_NOTA + + Select XXNOTE + SCAN + nn=nr_nota*10 + R=Recno() + SIRDEVAR='UTIL,DATAORA' + For I=1 To 27 + If Inlist(I,17,18) + Loop + Endif + N=Alltrim(Str(I)) + ZZ='(Y'+N+'=.T.)' + *If &ZZ + Select XXNOTE + U='X'+N + Z='VARDEMEM=ALLTRIM('+U+')' + &Z + + Select XACT + Go Top + Z='t=ALLTRIM(xact.'+U+')' + &Z + If !Empty(vardemem) + Z='M.'+T+'=M.'+vardemem + &Z + SIRDEVAR=SIRDEVAR+','+T + Endif + + Select XXNOTE + *Endif + Next + Select XXNOTE + m.SCD=XSCD + m.SCC=XSCC + m.ascd=xascd + m.ascc=xascc + Select ACTACTAN + Append Blank + Z='GATH FIEL '+SIRDEVAR+' MEMV' + &Z + Gather Fields SCD,SCC,ascd,ascc Memv + REPLACE nr_nota WITH nn + Select XXNOTE + Goto R + Endscan + + Select ACTACTAN + Do nrord With ('actactan') + + ENDPROC + + PROCEDURE Init + SET ESCAPE ON + IF _program='cont' AND XSETS.MODEL#-1 + LOCAL lnProcTva + this.formTERMIN12.verif1.Visible=.t. + *!* lnProcTva=m.ctva*100-100 + *!* thisformset.pctva=ALLTRIM(STR(lnProcTva)) + ELSE + this.formTERMIN12.verif1.Visible=.f. + endif + ENDPROC + + PROCEDURE Load + pl_verificat=.f. + THIS.TABELE + ENDPROC + + PROCEDURE Release + SET ESCAPE OFF + + IF buton = 2 AND thisformset.iteMS.numar_plaja1.id_numar # 0 + thisformset.iteMS.numar_plaja1.dezalocare_numar() + ENDIF + + IF buton = 1 AND OXSET.MODEL = 1 && CONTABILIZARE + DELETE FROM ACTACTAN WHERE SUMA = 0 + DO oscrie_in_fisiere.prg + ENDIF + + IF USED('actactan') AND XSETS.MODEL#-1 + USE IN actactan + ENDIF + + IF USED('xcont') AND XSETS.MODEL#-1 + SELECT xcont + CALCULATE CNT() TO lnCount FOR cu_inregistrari = 1 AND pozitie # fel_cont + DO CASE + CASE lnCount = 1 + LOCATE FOR cu_inregistrari = 1 AND pozitie # fel_cont + lcCont = ALLTRIM(contpart) + lcFis = 'actcv' + lcCont + IF USED(lcFis) + USE IN (lcFis) + ENDIF + CASE lnCount >1 + LOCATE FOR cu_inregistrari = 1 AND pozitie = 0 AND fel_cont = 1 + lcFisD = 'actcv' + ALLTRIM(contpart) + LOCATE FOR cu_inregistrari = 1 AND pozitie = 1 AND fel_cont = 0 + lcFisC = 'actcv' + ALLTRIM(contpart) + lcFis = 'CalculCompensare' + IF USED(lcFis) + USE IN (lcFis) + ENDIF + IF USED(lcFisD) + USE IN (lcFisD) + ENDIF + IF USED(lcFisC) + USE IN (lcFisC) + ENDIF + OTHERWISE + * + ENDCASE + + + USE IN xcont + ENDIF + + IF USED('tpart') + USE IN tpart + ENDIF + IF USED('cerere') + USE IN cerere + ENDIF + + ENDPROC + + PROCEDURE setvariabile + lnnrvar=Alen(This.variabile,1) + + For i=1 To lnnrvar + If Empty(This.variabile[i,1]) + Exit + Endif + + lcVarName=Alltrim(This.variabile[i,1]) + If Type(lcVarName) = "U" + lcObiect = Substr(lcVarName,1,At(".",lcVarName,1)-1) + lcCamp = Substr(lcVarName,At(".",lcVarName,1)+1) + AddProperty(&lcObiect,lcCamp) + Endif + lcvartype=Type(lcVarName) + VarValue=This.variabile[i,2] + Do Case + Case lcvartype = "C" + luvarvalue = Alltrim(VarValue) + &lcVarName. = luvarvalue + Case lcvartype = "Y" + luvarvalue = Ntom(Val(VarValue)) + &lcVarName. = luvarvalue + Case lcvartype = "N" + luvarvalue = Val(VarValue) + &lcVarName. = luvarvalue + Case lcvartype = "T" + luvarvalue = Ctot(VarValue) + &lcVarName. = luvarvalue + Case lcvartype = "D" + luvarvalue = Ctod(VarValue) + &lcVarName. = luvarvalue + Case lcvartype = "L" + luvarvalue = Iif(Inlist(Upper(Left(VarValue, 1)), "T", "Y"), .T., .F.) + &lcVarName. = luvarvalue + Endcase + + Endfor + ENDPROC + + PROCEDURE Show + Lparameters nStyle + This.aduc_set + This.SetVariabile + + *!* With Thisformset.formtermin12 + *!* If .verif1.Visible=.F. + *!* .seip1.Left=.seip1.Left+.verif1.Width + *!* Endif + *!* ENDWITH + + *This.items.Activate + *!* THIS.ITEMS.ZOrder(0) + *!* This.items.item1.text_item1.SetFocus + Thisformset.Refresh + ENDPROC + + PROCEDURE tabele + *!* SET SAFETY OFF + *!* IF USED('ACTACTAN') + *!* USE IN ACTACTAN + *!* ENDIF + + *!* DO case + *!* case _program='cont' + *!* IF USED('ACTc') + *!* USE IN ACTc + *!* ENDIF + *!* USE &gcTempPath\ACTc AGAIN IN 0 ALIAS ACTACTAN EXCLUSIVE ORDER TAG nr_nota + *!* case _program='prod' + *!* IF USED('ACTp') + *!* USE IN ACTp + *!* ENDIF + *!* USE &gcTempPath\ACTp AGAIN IN 0 ALIAS ACTACTAN EXCLUSIVE ORDER TAG nr_nota + *!* otherwise + *!* IF USED('ACTg') + *!* USE IN ACTg + *!* ENDIF + *!* USE &gcTempPath\ACTg AGAIN IN 0 ALIAS ACTACTAN EXCLUSIVE ORDER TAG nr_nota + *!* ENDcase + + *!* SELECT ACTACTAN + *!* ZAP + + ENDPROC + + PROCEDURE verific_analitic + PARAMETERS tlClick, tccont, tcacont, tcColoana + + m.den='' + ll_l=.f. + + IF EMPTY(tccont) + RETURN ll_l + ENDIF + + IF USED('TCEVA') + USE IN Tceva + ENDIF + + lcSql=[select acont || ' - ' || explicatie as den, CONT, ACONT FROM ] + gcS + [.vplcont_ANALITIC where to_number(cont) = ] + tcCont + [ and inactiv = 0 and an = ] + pcAn + [ order by acont ] + lcCursor = 'tceva' + lnSucces = goExecutor.oExecute(lcSql,lcCursor) + + SELECT tceva + LOCATE + IF EOF() + IF !EMPTY(tcAcont) + * DO mesaj WITH 'Nu au fost definite simboluri analitice','pentru contul ' + tcCont + AMESSAGEBOX('Nu au fost definite simboluri analitice','pentru contul ' + tcCont) + ll_l=.t. + ENDIF + + IF USED('TCEVA') + USE IN Tceva + ENDIF + SELECT actactan + THISFORMset.veRIF.grid1.SetFocus + RETURN ll_l + ELSE + IF !tlClick + IF empty(tcAcont) + *!* SELECT actactan + *!* IF FLOCK() + *!* REPLACE &tcColoana WITH '0000' + *!* ENDIF + + IF USED('TCEVA') + USE IN Tceva + ENDIF + SELECT actactan + THISFORMset.veRIF.grid1.SetFocus + RETURN ll_l + ENDIF + ENDIF + ENDIF + + SELECT tceva + IF tlClick + DO caut_alfa_cursor WITH 'tceva','den','Alegeti simbolul analitic','m.den' + SELECT tceva + LOCATE FOR ALLTRIM(den) = ALLTRIM(m.den) + lcAcont = acont + + SELECT actactan + REPLACE &tcColoana WITH lcAcont + ELSE + LOCATE FOR ALLTRIM(cont)=ALLTRIM(tccont) AND ALLTRIM(acont)=ALLTRIM(tcacont) + IF !FOUND() + DO caut_alfa_cursor WITH 'tceva','den','Alegeti simbolul analitic','m.den' + SELECT tceva + LOCATE FOR ALLTRIM(den) = ALLTRIM(m.den) + lcAcont = acont + + SELECT actactan + REPLACE &tcColoana WITH lcAcont + ENDIF + ENDIF + + IF USED('TCEVA') + USE IN Tceva + ENDIF + + SELECT actactan + THISFORMset.veRIF.grid1.SetFocus + RETURN ll_l + ENDPROC + + PROCEDURE verif_complet + LOCAL COMPL,TE + TE='' + COMPL=.T. + + SELECT cerere + SCAN + lcVar = THIS.pcobj + '.' + ALLTRIM(var_item) + IF TYPE(lcVar) # 'U' + z='empty(' + THIS.pcobj + '.' +ALLTRIM(var_item)+')' + ELSE + z = '.t.' + ENDIF + IF &z AND !INLIST(ALLTRIM(UPPER(var_item)),'NEIMPOZAB','SUMA_2TVA') + COMPL=.F. + TE=TE+','+ALLTRIM(LABEL_ITEM) + ENDIF + ENDSCAN + + IF !COMPL + TE=IIF(AT(',',TE,1)=1,SUBSTR(TE,2),TE) + * DO mesaj WITH 'Nu ati completat campurile:',LEFT(TE,60)+'...' + AMESSAGEBOX('Nu ati completat campurile:'+ LEFT(TE,60) + '...') + ENDIF + + + IF 'data'$TE OR 'numarul doc'$TE OR 'numele gest'$TE && modificare 05.02.07 + RETURN .F. + ELSE + RETURN .T. + ENDIF + + ENDPROC + + PROCEDURE Formtermin12.Click + pl_verificat=.T. + ENDPROC + + PROCEDURE Formtermin12.Moved + thisformset.iteMS.Move + ENDPROC + + PROCEDURE Formtermin12.Renunt1.Command1.Click + BUTON=2 + + *!* IF thisformset.prima_blocare_nir=.f. + *!* elib_nir(m.nnir) + *!* endif + *!* IF thisformset.prima_blocare_bon=.f. + *!* elib_bon(m.nnir) + *!* ENDIF + + THISFORMSET.RELEASE + ENDPROC + + PROCEDURE Formtermin12.Shape1.Click + pl_verificat=.T. + ENDPROC + + PROCEDURE Formtermin12.Shape1.MouseDown + Lparameters nButton, nShift, nXCoord, nYCoord + If nButton = 1 + thisform.MouseIcon='HMOVE.CUR' + thisform.MousePointer= 99 + ReleaseCapture() + SendMessage(Thisform.nHWND, 0x112, 0xF012, 0x0) + thisform.MousePointer= 0 + SendMessage(Thisform.nHWND, 0x202, 0x0, 0x0) + Endif + ENDPROC + + PROCEDURE Formtermin12.Terminat1.Command1.Click + Thisform.VERIF1.command1.Click + *!*thisformset.verif.terminat1.command1.Click + + ENDPROC + + PROCEDURE Formtermin12.Titlufrumos1.Click + pl_verificat=.T. + ENDPROC + + PROCEDURE Formtermin12.Titlufrumos1.MouseDown + Lparameters nButton, nShift, nXCoord, nYCoord + If nButton = 1 + thisform.MouseIcon='HMOVE.CUR' + thisform.MousePointer= 99 + ReleaseCapture() + SendMessage(Thisform.nHWND, 0x112, 0xF012, 0x0) + thisform.MousePointer= 0 + SendMessage(Thisform.nHWND, 0x202, 0x0, 0x0) + Endif + ENDPROC + + PROCEDURE Formtermin12.Urmator1.COMMAND1.Click + If Thisformset.verif_complet() + IF !EMPTY(Thisformset.FORMGEST) + lcObj = thisformset.pcobj + Thisformset.hide + + SELECT actactan + lcFormGest = UPPER(ALLTRIM(Thisformset.FORMGEST)) + IF INLIST(LEFT(lcFormGest,6),"WEBNIR","VALOAR","SCHIMB","INVENT") + lcObj = lcFormGest && "WEBNIR"/ webnir_retetar + ENDIF + + lnTermin = lans_nir_bon(oxset.id_set, lcObj) && IN ointroduceri.prg + buton = lnTermin + Thisformset.release + ELSE + Thisform.VERIF1.command1.Click + Thisformset.release + ENDIF + Endif + ENDPROC + + PROCEDURE Formtermin12.Verif1.Click + If Thisformset.verif_complet() + pl_verificat=.t. + Thisformset.ADUNADATE + Select ACTACTAN + Thisform.Parent.verif.Visible=.T. + Thisform.Parent.verif.GRID1.Refresh + Thisform.Parent.items.alwaysontop=.f. + Thisform.Parent.items.zorder(1) + Thisform.Hide + Endif + + ENDPROC + + PROCEDURE ITEMS.CotaTVA.Valid + thisformset.pctva = this.Value + thisformset.pntva = cote_tva.proc_tva + x='thisformset.items.item'+ALLTRIM(this.Tag)+'.text_item1.valid' + &x + ENDPROC + + PROCEDURE ITEMS.Item1.LostFocus + thisformset.nou_intrat = .f. + ENDPROC + + PROCEDURE ITEMS.Move + LPARAMETERS nLeft, nTop, nWidth, nHeight + + *!* THIS.Left = nLEFT + nWIDTH/2 - THIS.WIDTH/2 + *!* THIS.TOP = nTOP + 60 + + THIS.Left=THISFORM.Parent.FORMTERMIN12.LEFT+THISFORM.Parent.FORMTERMIN12.WIDTH/2-THIS.WIDTH/2 + THIS.TOP=THISFORM.Parent.FORMTERMIN12.TOP + 60 + ENDPROC + + PROCEDURE ITEMS.Text1.LostFocus + x='this.parent.item'+ALLTRIM(this.Tag)+'.setfocus' + &x + this.TabStop= .F. + + ENDPROC + + PROCEDURE VERIF.Command1.Click + THISFORM.HIDE + THISFORM.Parent.FORMTermin12.Visible=.T. + THISFORM.Parent.ITEMS.Visible=.T. + ENDPROC + + PROCEDURE VERIF.Grid1.Column1.Text1.DblClick + *thisform.butdrept + ENDPROC + + PROCEDURE VERIF.Grid1.Column1.Text1.RightClick + do editscurt.mpr + ENDPROC + + PROCEDURE VERIF.Grid1.Column10.Text1.DblClick + *thisform.butdrept + ENDPROC + + PROCEDURE VERIF.Grid1.Column10.Text1.RightClick + do editscurt.mpr + ENDPROC + + PROCEDURE VERIF.Grid1.Column11.Text1.DblClick + *thisform.butdrept + ENDPROC + + PROCEDURE VERIF.Grid1.Column11.Text1.RightClick + do editscurt.mpr + ENDPROC + + PROCEDURE VERIF.Grid1.Column2.Text1.DblClick + *thisform.butdrept + ENDPROC + + PROCEDURE VERIF.Grid1.Column2.Text1.RightClick + do editscurt.mpr + ENDPROC + + PROCEDURE VERIF.Grid1.Column3.Text1.DblClick + *thisform.butdrept + ENDPROC + + PROCEDURE VERIF.Grid1.Column3.Text1.RightClick + do editscurt.mpr + ENDPROC + + PROCEDURE VERIF.Grid1.Column31.Text1.Click + this.LostFocus(.t.) + ENDPROC + + PROCEDURE VERIF.Grid1.Column31.Text1.LostFocus + Parameters PlClick + Select actactan + lcCont = scd + lcAcont = ascd + *ll_l=Thisformset.verific_analitic(PlClick, lcCont, lcAcont,'ascd') + llReturn = verific_analitic(plClick, lcCont, lcAcont,'ascd','actactan') + + If !llReturn + Replace actactan.ascd With '' + Return 0 + Endif + This.Parent.Parent.Refresh + + ENDPROC + + PROCEDURE VERIF.Grid1.Column31.Text1.Valid + *!* IF !EMPTY(ascd) + *!* ll_l=THISFORMset.verif_ASCD() + *!* IF ll_l + *!* REPLACE ACTACTAN.ASCD WITH '' + *!* RETURN 0 + *!* ENDIF + *!* THIS.Parent.Parent.Refresh + *!* ENDIF + ENDPROC + + PROCEDURE VERIF.Grid1.Column32.Text1.Click + this.LostFocus(.t.) + + ENDPROC + + PROCEDURE VERIF.Grid1.Column32.Text1.LostFocus + PARAMETERS PlClick + SELECT actactan + lcCont = scc + lcAcont = ascc + *ll_l=THISFORMset.verific_analitic(plClick, lcCont, lcAcont,'ascc') + llReturn = verific_analitic(plClick, lcCont, lcAcont,'ascc','actactan') + IF !llReturn + REPLACE ACTACTAN.ASCC WITH '' + RETURN 0 + ENDIF + THIS.Parent.Parent.Refresh + ENDPROC + + PROCEDURE VERIF.Grid1.Column32.Text1.Valid + *!* IF !EMPTY(ascc) + *!* ll_l=THISFORMset.verif_ASCC() + *!* IF ll_l + *!* REPLACE ACTACTAN.ASCC WITH '' + *!* RETURN 0 + *!* ENDIF + *!* THIS.Parent.Parent.Refresh + *!* ENDIF + ENDPROC + + PROCEDURE VERIF.Grid1.Column4.Text1.DblClick + *thisform.butdrept + ENDPROC + + PROCEDURE VERIF.Grid1.Column4.Text1.RightClick + do editscurt.mpr + ENDPROC + + PROCEDURE VERIF.Grid1.Column5.Text1.DblClick + *thisform.butdrept + ENDPROC + + PROCEDURE VERIF.Grid1.Column5.Text1.RightClick + do editscurt.mpr + ENDPROC + + PROCEDURE VERIF.Grid1.Column6.Text1.DblClick + *thisform.butdrept + ENDPROC + + PROCEDURE VERIF.Grid1.Column6.Text1.RightClick + do editscurt.mpr + ENDPROC + + PROCEDURE VERIF.Grid1.Column7.Text1.DblClick + *thisform.butdrept + ENDPROC + + PROCEDURE VERIF.Grid1.Column7.Text1.RightClick + do editscurt.mpr + ENDPROC + + PROCEDURE VERIF.Grid1.Column8.Text1.DblClick + *thisform.butdrept + ENDPROC + + PROCEDURE VERIF.Grid1.Column8.Text1.RightClick + do editscurt.mpr + ENDPROC + + PROCEDURE VERIF.Grid1.Column9.Text1.DblClick + *thisform.butdrept + ENDPROC + + PROCEDURE VERIF.Grid1.Column9.Text1.RightClick + do editscurt.mpr + ENDPROC + + PROCEDURE VERIF.Precedent1.Command1.Click + THISFORM.HIDE + THISFORM.Parent.FORMTermin12.Visible=.T. + Thisform.Parent.items.Visible = .t. + Thisform.Parent.items.alwaysontop=.t. + Thisform.Parent.items.zorder(0) + + ENDPROC + + PROCEDURE VERIF.Terminat1.Command1.Click + lCompletezPartener = .F. + llRet = verificare_note_contabile('actactan', Thisformset.lverificaacont,lCompletezPartener) + + If !llRet + Select actactan + This.Parent.Parent.gRID1.SetFocus + Return + Else + If Type('glListareBonFiscalCont')<>'U' And glListareBonFiscalCont + creare_bon_fiscal() && IN oproceduri_casademarcat.prg + Endif + If Type('glListareChitanta')<>'U' And glListareChitanta + listeaza_chitanta() && IN oproceduri_incasari.prg + Endif + DoDefault() + Endif + + *!* Local lcInMesaj,lcInMesajP,lcInMesajIreg + *!* Store '' To lcInMesaj,lcInMesajP, lcInMesajIreg + + *!* Select Distinct scd As Cont From actactan ; + *!* WHERE suma # 0 ; + *!* UNION ; + *!* select Distinct scc As Cont From actactan ; + *!* WHERE suma # 0 ; + *!* INTO Cursor tcont + + *!* i = 0 + *!* lclista = [] + *!* Select tcont + *!* Scan + *!* i = i + 1 + *!* If i = 1 + *!* lcLista = Alltrim(Cont) + *!* Else + *!* lcLista = lcLista + ',' + Alltrim(Cont) + *!* Endif + *!* Endscan + + *!* IF EMPTY(lclista) + *!* DODEFAULT() + *!* return + *!* ENDIF + + *!* lcSql = 'select distinct c.cont as contpart, c.fel_cont, c.cu_inregistrari, c.explicatie as explic_cont,e.cont_c as exceptie, e.debit as pozitie, e.invers, 0 as gasit ' + ; + *!* 'from ' + gcs + '.vcoresp_tip_cont c left join ' + gcs + '.exceptii_ireg e on c.cont = e.cont and e.invers = 1 ' + ; + *!* 'where to_number(c.cont) in (' + lcLista + ')' + *!* lcCursor = 'verif_part' + + *!* lnSucces = goExecutor.oExecute(lcSql,lcCursor) + *!* If lnSucces < 0 + *!* Messagebox('Eroare de conectare',0, 'Atentie!') + *!* Return + *!* Endif + + *!* If _Tally > 0 + *!* Select actactan + *!* Scan For !Empty(suma) + *!* Scatter Name loCont + *!* Select verif_part + *!* Locate For contpart=loCont.scd + *!* If Found() + *!* If Empty(loCont.Id_partd) And !(loCont.scd$lcInMesajP) + *!* lcInMesajP=lcInMesajP+','+loCont.scd + *!* Replace gasit With 1 + *!* Endif + + *!* If Empty(loCont.pereched) And cu_inregistrari = 1 And fel_cont = 1 And !(loCont.scd$lcInMesajIreg) + *!* Locate For contpart=loCont.scd And exceptie = loCont.scc And fel_cont = 1 And pozitie = 0 And invers = 1 + *!* If !Found() + *!* lcInMesajIreg = lcInMesajIreg + ',' + loCont.scd + *!* Endif + *!* Endif + *!* Endif + + *!* Select verif_part + *!* Locate For contpart=loCont.scc + *!* If Found() + *!* If Empty(loCont.Id_partc) And !(loCont.scc$lcInMesajP) + *!* lcInMesajP=lcInMesajP+','+loCont.scc + *!* Replace gasit With 1 + *!* Endif + *!* If cu_inregistrari = 1 And fel_cont = 0 And Empty(loCont.perechec) And !(loCont.scc$lcInMesajIreg) + *!* Locate For contpart=loCont.scc And exceptie = loCont.scd And fel_cont = 0 And pozitie = 1 And invers = 1 + *!* If !Found() + *!* lcInMesajIreg = lcInMesajIreg + ',' + loCont.scc + *!* Endif + *!* Endif + *!* Endif + *!* Select actactan + *!* Endscan + *!* Endif + *!* Use In verif_part + + *!* If !Empty(lcInMesajP) + *!* lcInMesajP=Iif(At(',',lcInMesajP,1)=1,Substr(lcInMesajP,2),lcInMesajP) + *!* Do mesaj With 'Nu ati completat partenerii pentru conturile:', lcInMesajP + *!* Return + *!* Endif + + *!* If !Empty(lcInMesajIreg) + *!* lcInMesajIreg=Iif(At(',',lcInMesajIreg,1)=1,Substr(lcInMesajIreg,2),lcInMesajIreg) + *!* Do mesaj With 'Nu ati completat doc. pereche pentru conturile:', lcInMesajIreg + *!* Return + *!* Endif + + *!* If thisformset.lverificaacont + *!* lcSql=[select CONT, ACONT FROM ] + gcs + [.vplcont_ANALITIC where inactiv = 0 and an = ] + pcAn + [ order by cont ] + *!* lcCursor = 'plcontana' + *!* lnSucces = goExecutor.oExecute(lcSql,lcCursor) + *!* If lnSucces < 0 + *!* Return + *!* Endif + + *!* Select actactan + *!* Scan For !Empty(suma) + *!* Scatter Name loCont + *!* If Empty(loCont.ascd) + *!* Select plcontana + *!* Locate For Cont=loCont.scd + *!* If Found() + *!* If !(loCont.scd$lcInMesaj) + *!* lcInMesaj=lcInMesaj+','+loCont.scd + *!* Endif + *!* Endif + *!* Endif + *!* If Empty(loCont.ascc) + *!* Select plcontana + *!* Locate For Cont=loCont.scc + *!* If Found() + *!* If !(loCont.scc$lcInMesaj) + *!* lcInMesaj=lcInMesaj+','+loCont.scc + *!* Endif + *!* Endif + *!* Endif + *!* Select actactan + *!* Endscan + *!* Release loCont + *!* Use In plcontana + + *!* If !Empty(lcInMesaj) + *!* lcInMesaj=Iif(At(',',lcInMesaj,1)=1,Substr(lcInMesaj,2),lcInMesaj) + *!* Do mesaj With 'Nu ati completat simbolurile analitice pentru conturile:',lcInMesaj + *!* Return + *!* Endif + + *!* Endif + *!* Select actactan + *!* DoDefault() + + + + ENDPROC + +ENDDEFINE + +DEFINE CLASS actbaza2007 AS _frmbase OF "_frm_base.vcx" + *< CLASSDATA: Baseclass="form" Timestamp="" Scale="Pixels" Uniqueid="" /> + + *-- OBJECTDATA items order determines ZOrder / El orden de los items OBJECTDATA determina el ZOrder + *< OBJECTDATA: ObjPath="Lb_shortcuts1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="But_urmator1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="But_precedent1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="But_renunt1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="But_verifica1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="verif" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="verif.Gridextra1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="items" UniqueID="" Timestamp="" /> + + * + *m: actualizeaza_explicatie_saft + *m: actualizeaza_explicatie_tva + *m: actualizeaza_plata_saft + *m: aduc_set + *m: adunadate + *m: adunadatenir + *m: cpaymentcode_assign + *m: creeaza_note_tva_incasare + *m: do_arata_butoane + *m: incarca_butoane + *m: ntaxcode_assign + *m: salveaza_butoane + *m: setvariabile + *m: updateexplicatiesaft + *m: updatepaymentsaft + *m: verif_analitic + *m: verif_complet + *p: acont + *p: cdenumire_set + *p: cnetaxabil + *p: cnumefisindex + *p: cpaymentcode && Cod mecanism plata SAFT + *p: ctaxabil + *p: ctaxcode && Denumire TaxCode + *p: formgest + *p: id_jnetax + *p: id_jtax + *p: id_jtva + *p: id_set + *p: lcorectie && Daca se face corectie de document gestiune + *p: lverificaacont + *p: ncod + *p: nou_intrat + *p: ntaxcode && cod taxa SAFT + *p: ntaxcoden && TaxCode pentru suma netaxabila + *p: ntvanetax + *p: ntvatax + *p: pcobj + *p: prima_blocare_bon + *p: prima_blocare_nir + *a: butoane[5,0] + *a: variabile[30,4] + * + + * + acont = + Caption = "Form" + cdenumire_set = + cnetaxabil = + cnumefisindex = + cpaymentcode = + ctaxabil = + ctaxcode = + DoCreate = .T. + FontCharSet = 238 + formgest = + Height = 550 + id_jnetax = NULL + id_jtax = NULL + id_jtva = NULL + id_set = 0 + lcorectie = .F. + lverificaacont = .T. + Name = "actbaza2007" + ncod = 0 + nou_intrat = .T. + ntaxcode = NULL + ntaxcoden = NULL + ntvanetax = 0 + ntvatax = 0 + pcobj = + prima_blocare_bon = .T. + prima_blocare_nir = .T. + TabIndex = 3 + Width = 744 + _memberdata = + + + + + + + + + + + _shape1.Anchor = 10 + _shape1.Height = 29 + _shape1.Left = 0 + _shape1.Name = "_shape1" + _shape1.Top = 0 + _shape1.Width = 745 + _shape1.ZOrderSet = 0 + _shape2.Anchor = 8 + _shape2.Height = 29 + _shape2.Left = 584 + _shape2.Name = "_shape2" + _shape2.Top = 0 + _shape2.Visible = .T. + _shape2.Width = 169 + _shape2.ZOrderSet = 1 + Lb_titlu_alb_b121.FontSize = 11 + Lb_titlu_alb_b121.Left = 4 + Lb_titlu_alb_b121.Name = "Lb_titlu_alb_b121" + Lb_titlu_alb_b121.TabIndex = 8 + Lb_titlu_alb_b121.Top = 1 + Lb_titlu_alb_b121.ZOrderSet = 2 + BUT_TERMIN1.Anchor = 9 + BUT_TERMIN1.Left = 714 + BUT_TERMIN1.Name = "BUT_TERMIN1" + BUT_TERMIN1.TabIndex = 2 + BUT_TERMIN1.Top = 1 + BUT_TERMIN1.Visible = .F. + BUT_TERMIN1.ZOrderSet = 3 + Gridsort1.Name = "Gridsort1" + * + + ADD OBJECT 'But_precedent1' AS but_precedent WITH ; + Anchor = 8, ; + Left = 618, ; + Name = "But_precedent1", ; + TabIndex = 5, ; + Top = 1, ; + Visible = .F., ; + ZOrderSet = 7 + *< END OBJECT: ClassLib="cmd_butoane.vcx" BaseClass="commandbutton" /> + + ADD OBJECT 'But_renunt1' AS but_renunt WITH ; + Anchor = 8, ; + Left = 682, ; + Name = "But_renunt1", ; + TabIndex = 6, ; + Top = 1, ; + ZOrderSet = 8 + *< END OBJECT: ClassLib="cmd_butoane.vcx" BaseClass="commandbutton" /> + + ADD OBJECT 'But_urmator1' AS but_urmator WITH ; + Anchor = 8, ; + Left = 650, ; + Name = "But_urmator1", ; + TabIndex = 3, ; + ToolTipText = "Continuare/Inainte (CTRL+F)", ; + Top = 1, ; + Visible = .F., ; + ZOrderSet = 6 + *< END OBJECT: ClassLib="cmd_butoane.vcx" BaseClass="commandbutton" /> + + ADD OBJECT 'But_verifica1' AS but_verifica WITH ; + Anchor = 8, ; + Left = 586, ; + Name = "But_verifica1", ; + TabIndex = 4, ; + ToolTipText = "Verificare (CTRL+L)", ; + Top = 1, ; + Visible = .F., ; + ZOrderSet = 9 + *< END OBJECT: ClassLib="cmd_butoane.vcx" BaseClass="commandbutton" /> + + ADD OBJECT 'items' AS ct_items WITH ; + Height = 550, ; + Left = 4, ; + Name = "items", ; + TabIndex = 1, ; + Top = 29, ; + Width = 716, ; + ZOrderSet = 11, ; + Gridsort1.Name = "Gridsort1", ; + _ct_controller_keypress1.Name = "_ct_controller_keypress1", ; + Item1.Label_item1.Name = "Label_item1", ; + Item1.Lineo1.Name = "Lineo1", ; + Item1.Lineo2.Name = "Lineo2", ; + Item1.Lineo3.Name = "Lineo3", ; + Item1.Lineo4.Name = "Lineo4", ; + Item1.Lineo5.Name = "Lineo5", ; + Item1.Name = "Item1", ; + Item1.Text_item1.Name = "Text_item1", ; + Item4.Label_item1.Name = "Label_item1", ; + Item4.Lineo1.Name = "Lineo1", ; + Item4.Lineo2.Name = "Lineo2", ; + Item4.Lineo3.Name = "Lineo3", ; + Item4.Lineo4.Name = "Lineo4", ; + Item4.Lineo5.Name = "Lineo5", ; + Item4.Name = "Item4", ; + Item4.Text_item1.Name = "Text_item1", ; + Item5.Label_item1.Name = "Label_item1", ; + Item5.Lineo1.Name = "Lineo1", ; + Item5.Lineo2.Name = "Lineo2", ; + Item5.Lineo3.Name = "Lineo3", ; + Item5.Lineo4.Name = "Lineo4", ; + Item5.Lineo5.Name = "Lineo5", ; + Item5.Name = "Item5", ; + Item5.Text_item1.Name = "Text_item1", ; + Item6.Label_item1.Name = "Label_item1", ; + Item6.Lineo1.Name = "Lineo1", ; + Item6.Lineo2.Name = "Lineo2", ; + Item6.Lineo3.Name = "Lineo3", ; + Item6.Lineo4.Name = "Lineo4", ; + Item6.Lineo5.Name = "Lineo5", ; + Item6.Name = "Item6", ; + Item6.Text_item1.Name = "Text_item1", ; + Item7.Label_item1.Name = "Label_item1", ; + Item7.Lineo1.Name = "Lineo1", ; + Item7.Lineo2.Name = "Lineo2", ; + Item7.Lineo3.Name = "Lineo3", ; + Item7.Lineo4.Name = "Lineo4", ; + Item7.Lineo5.Name = "Lineo5", ; + Item7.Name = "Item7", ; + Item7.Text_item1.Name = "Text_item1", ; + Item8.Label_item1.Name = "Label_item1", ; + Item8.Lineo1.Name = "Lineo1", ; + Item8.Lineo2.Name = "Lineo2", ; + Item8.Lineo3.Name = "Lineo3", ; + Item8.Lineo4.Name = "Lineo4", ; + Item8.Lineo5.Name = "Lineo5", ; + Item8.Name = "Item8", ; + Item8.Text_item1.Name = "Text_item1", ; + Item9.Label_item1.Name = "Label_item1", ; + Item9.Lineo1.Name = "Lineo1", ; + Item9.Lineo2.Name = "Lineo2", ; + Item9.Lineo3.Name = "Lineo3", ; + Item9.Lineo4.Name = "Lineo4", ; + Item9.Lineo5.Name = "Lineo5", ; + Item9.Name = "Item9", ; + Item9.Text_item1.Name = "Text_item1", ; + Item10.Label_item1.Name = "Label_item1", ; + Item10.Lineo1.Name = "Lineo1", ; + Item10.Lineo2.Name = "Lineo2", ; + Item10.Lineo3.Name = "Lineo3", ; + Item10.Lineo4.Name = "Lineo4", ; + Item10.Lineo5.Name = "Lineo5", ; + Item10.Name = "Item10", ; + Item10.Text_item1.Name = "Text_item1", ; + Item11.Label_item1.Name = "Label_item1", ; + Item11.Lineo1.Name = "Lineo1", ; + Item11.Lineo2.Name = "Lineo2", ; + Item11.Lineo3.Name = "Lineo3", ; + Item11.Lineo4.Name = "Lineo4", ; + Item11.Lineo5.Name = "Lineo5", ; + Item11.Name = "Item11", ; + Item11.Text_item1.Name = "Text_item1", ; + Item12.Label_item1.Name = "Label_item1", ; + Item12.Lineo1.Name = "Lineo1", ; + Item12.Lineo2.Name = "Lineo2", ; + Item12.Lineo3.Name = "Lineo3", ; + Item12.Lineo4.Name = "Lineo4", ; + Item12.Lineo5.Name = "Lineo5", ; + Item12.Name = "Item12", ; + Item12.Text_item1.Name = "Text_item1", ; + Item13.Label_item1.Name = "Label_item1", ; + Item13.Lineo1.Name = "Lineo1", ; + Item13.Lineo2.Name = "Lineo2", ; + Item13.Lineo3.Name = "Lineo3", ; + Item13.Lineo4.Name = "Lineo4", ; + Item13.Lineo5.Name = "Lineo5", ; + Item13.Name = "Item13", ; + Item13.Text_item1.Name = "Text_item1", ; + Item14.Label_item1.Name = "Label_item1", ; + Item14.Lineo1.Name = "Lineo1", ; + Item14.Lineo2.Name = "Lineo2", ; + Item14.Lineo3.Name = "Lineo3", ; + Item14.Lineo4.Name = "Lineo4", ; + Item14.Lineo5.Name = "Lineo5", ; + Item14.Name = "Item14", ; + Item14.Text_item1.Name = "Text_item1", ; + Item15.Label_item1.Name = "Label_item1", ; + Item15.Lineo1.Name = "Lineo1", ; + Item15.Lineo2.Name = "Lineo2", ; + Item15.Lineo3.Name = "Lineo3", ; + Item15.Lineo4.Name = "Lineo4", ; + Item15.Lineo5.Name = "Lineo5", ; + Item15.Name = "Item15", ; + Item15.Text_item1.Name = "Text_item1", ; + Item16.Label_item1.Name = "Label_item1", ; + Item16.Lineo1.Name = "Lineo1", ; + Item16.Lineo2.Name = "Lineo2", ; + Item16.Lineo3.Name = "Lineo3", ; + Item16.Lineo4.Name = "Lineo4", ; + Item16.Lineo5.Name = "Lineo5", ; + Item16.Name = "Item16", ; + Item16.Text_item1.Name = "Text_item1", ; + Item17.Label_item1.Name = "Label_item1", ; + Item17.Lineo1.Name = "Lineo1", ; + Item17.Lineo2.Name = "Lineo2", ; + Item17.Lineo3.Name = "Lineo3", ; + Item17.Lineo4.Name = "Lineo4", ; + Item17.Lineo5.Name = "Lineo5", ; + Item17.Name = "Item17", ; + Item17.Text_item1.Name = "Text_item1", ; + Item18.Label_item1.Name = "Label_item1", ; + Item18.Lineo1.Name = "Lineo1", ; + Item18.Lineo2.Name = "Lineo2", ; + Item18.Lineo3.Name = "Lineo3", ; + Item18.Lineo4.Name = "Lineo4", ; + Item18.Lineo5.Name = "Lineo5", ; + Item18.Name = "Item18", ; + Item18.Text_item1.Name = "Text_item1", ; + Item19.Label_item1.Name = "Label_item1", ; + Item19.Lineo1.Name = "Lineo1", ; + Item19.Lineo2.Name = "Lineo2", ; + Item19.Lineo3.Name = "Lineo3", ; + Item19.Lineo4.Name = "Lineo4", ; + Item19.Lineo5.Name = "Lineo5", ; + Item19.Name = "Item19", ; + Item19.Text_item1.Name = "Text_item1", ; + Item20.Label_item1.Name = "Label_item1", ; + Item20.Lineo1.Name = "Lineo1", ; + Item20.Lineo2.Name = "Lineo2", ; + Item20.Lineo3.Name = "Lineo3", ; + Item20.Lineo4.Name = "Lineo4", ; + Item20.Lineo5.Name = "Lineo5", ; + Item20.Name = "Item20", ; + Item20.Text_item1.Name = "Text_item1", ; + Item21.Label_item1.Name = "Label_item1", ; + Item21.Lineo1.Name = "Lineo1", ; + Item21.Lineo2.Name = "Lineo2", ; + Item21.Lineo3.Name = "Lineo3", ; + Item21.Lineo4.Name = "Lineo4", ; + Item21.Lineo5.Name = "Lineo5", ; + Item21.Name = "Item21", ; + Item21.Text_item1.Name = "Text_item1", ; + Item22.Label_item1.Name = "Label_item1", ; + Item22.Lineo1.Name = "Lineo1", ; + Item22.Lineo2.Name = "Lineo2", ; + Item22.Lineo3.Name = "Lineo3", ; + Item22.Lineo4.Name = "Lineo4", ; + Item22.Lineo5.Name = "Lineo5", ; + Item22.Name = "Item22", ; + Item22.Text_item1.Name = "Text_item1", ; + Item3.Label_item1.Name = "Label_item1", ; + Item3.Lineo1.Name = "Lineo1", ; + Item3.Lineo2.Name = "Lineo2", ; + Item3.Lineo3.Name = "Lineo3", ; + Item3.Lineo4.Name = "Lineo4", ; + Item3.Lineo5.Name = "Lineo5", ; + Item3.Name = "Item3", ; + Item3.Text_item1.Name = "Text_item1", ; + Item2.Label_item1.Name = "Label_item1", ; + Item2.Lineo1.Name = "Lineo1", ; + Item2.Lineo2.Name = "Lineo2", ; + Item2.Lineo3.Name = "Lineo3", ; + Item2.Lineo4.Name = "Lineo4", ; + Item2.Lineo5.Name = "Lineo5", ; + Item2.Name = "Item2", ; + Item2.Text_item1.Name = "Text_item1", ; + Item23.Label_item1.Name = "Label_item1", ; + Item23.Lineo1.Name = "Lineo1", ; + Item23.Lineo2.Name = "Lineo2", ; + Item23.Lineo3.Name = "Lineo3", ; + Item23.Lineo4.Name = "Lineo4", ; + Item23.Lineo5.Name = "Lineo5", ; + Item23.Name = "Item23", ; + Item23.Text_item1.Name = "Text_item1", ; + Item24.Label_item1.Name = "Label_item1", ; + Item24.Lineo1.Name = "Lineo1", ; + Item24.Lineo2.Name = "Lineo2", ; + Item24.Lineo3.Name = "Lineo3", ; + Item24.Lineo4.Name = "Lineo4", ; + Item24.Lineo5.Name = "Lineo5", ; + Item24.Name = "Item24", ; + Item24.Text_item1.Name = "Text_item1", ; + Item25.Label_item1.Name = "Label_item1", ; + Item25.Lineo1.Name = "Lineo1", ; + Item25.Lineo2.Name = "Lineo2", ; + Item25.Lineo3.Name = "Lineo3", ; + Item25.Lineo4.Name = "Lineo4", ; + Item25.Lineo5.Name = "Lineo5", ; + Item25.Name = "Item25", ; + Item25.Text_item1.Name = "Text_item1", ; + cbo_Netaxabil.Height = 20, ; + cbo_Netaxabil.Left = 486, ; + cbo_Netaxabil.Name = "cbo_Netaxabil", ; + cbo_Netaxabil.Top = 124, ; + cbo_Netaxabil.Width = 219, ; + lb_netaxabil.Name = "lb_netaxabil", ; + cbo_Taxabil.Height = 20, ; + cbo_Taxabil.Left = 486, ; + cbo_Taxabil.Name = "cbo_Taxabil", ; + cbo_Taxabil.Top = 168, ; + cbo_Taxabil.Width = 219, ; + lb_taxabil.Name = "lb_taxabil", ; + ck_deducere.Alignment = 0, ; + ck_deducere.Height = 18, ; + ck_deducere.Left = 486, ; + ck_deducere.Name = "ck_deducere", ; + ck_deducere.Top = 60, ; + ck_deducere.Width = 151, ; + ck_tva_la_incasare.Alignment = 0, ; + ck_tva_la_incasare.Name = "ck_tva_la_incasare", ; + cbo_saft.Height = 20, ; + cbo_saft.Left = 486, ; + cbo_saft.Name = "cbo_saft", ; + cbo_saft.Top = 214, ; + cbo_saft.Width = 219, ; + lb_saft.Name = "lb_saft", ; + cbo_plata_saft.Height = 20, ; + cbo_plata_saft.Left = 546, ; + cbo_plata_saft.Name = "cbo_plata_saft", ; + cbo_plata_saft.Top = 35, ; + cbo_plata_saft.Width = 159, ; + lb_plata_saft.Name = "lb_plata_saft" + *< END OBJECT: ClassLib="baza.vcx" BaseClass="container" /> + + ADD OBJECT 'Lb_shortcuts1' AS lb_shortcuts WITH ; + Caption = "CTRL+F = Continuare; ESC = Renun_are; CTRL+L = Verificare", ; + Left = 4, ; + Name = "Lb_shortcuts1", ; + TabIndex = 9, ; + Top = 16, ; + ZOrderSet = 5 + *< END OBJECT: ClassLib="lb.vcx" BaseClass="label" /> + + ADD OBJECT 'verif' AS ct_verif WITH ; + Anchor = 15, ; + Height = 499, ; + Left = 1, ; + Name = "verif", ; + TabIndex = 7, ; + Top = 32, ; + Visible = .F., ; + Width = 739, ; + ZOrderSet = 10, ; + Gridsort1.Name = "Gridsort1", ; + _ct_controller_keypress1.Name = "_ct_controller_keypress1", ; + Grid1.Anchor = 15, ; + Grid1.Column1.FontCharSet = 238, ; + Grid1.Column1.FontName = "Segoe UI", ; + Grid1.Column1.FontSize = 10, ; + Grid1.Column1.Header1.FontCharSet = 238, ; + Grid1.Column1.Header1.FontName = "Segoe UI", ; + Grid1.Column1.Header1.FontSize = 10, ; + Grid1.Column1.Header1.Name = "Header1", ; + Grid1.Column1.Name = "Column1", ; + Grid1.Column1.Text1.FontCharSet = 238, ; + Grid1.Column1.Text1.FontName = "Segoe UI", ; + Grid1.Column1.Text1.FontSize = 10, ; + Grid1.Column1.Text1.Name = "Text1", ; + Grid1.Column1.Width = 47, ; + Grid1.Column10.FontCharSet = 238, ; + Grid1.Column10.FontName = "Segoe UI", ; + Grid1.Column10.FontSize = 10, ; + Grid1.Column10.Header1.FontCharSet = 238, ; + Grid1.Column10.Header1.FontName = "Segoe UI", ; + Grid1.Column10.Header1.FontSize = 10, ; + Grid1.Column10.Header1.Name = "Header1", ; + Grid1.Column10.Name = "Column10", ; + Grid1.Column10.Text1.FontCharSet = 238, ; + Grid1.Column10.Text1.FontName = "Segoe UI", ; + Grid1.Column10.Text1.FontSize = 10, ; + Grid1.Column10.Text1.Name = "Text1", ; + Grid1.Column10.Width = 131, ; + Grid1.Column11.FontCharSet = 238, ; + Grid1.Column11.FontName = "Segoe UI", ; + Grid1.Column11.FontSize = 10, ; + Grid1.Column11.Header1.FontCharSet = 238, ; + Grid1.Column11.Header1.FontName = "Segoe UI", ; + Grid1.Column11.Header1.FontSize = 10, ; + Grid1.Column11.Header1.Name = "Header1", ; + Grid1.Column11.Name = "Column11", ; + Grid1.Column11.Text1.FontCharSet = 238, ; + Grid1.Column11.Text1.FontName = "Segoe UI", ; + Grid1.Column11.Text1.FontSize = 10, ; + Grid1.Column11.Text1.Name = "Text1", ; + Grid1.Column11.Width = 139, ; + Grid1.Column12.FontCharSet = 238, ; + Grid1.Column12.FontName = "Segoe UI", ; + Grid1.Column12.FontSize = 10, ; + Grid1.Column12.Header1.FontCharSet = 238, ; + Grid1.Column12.Header1.FontName = "Segoe UI", ; + Grid1.Column12.Header1.FontSize = 10, ; + Grid1.Column12.Header1.Name = "Header1", ; + Grid1.Column12.Name = "Column12", ; + Grid1.Column12.Text1.FontCharSet = 238, ; + Grid1.Column12.Text1.FontName = "Segoe UI", ; + Grid1.Column12.Text1.FontSize = 10, ; + Grid1.Column12.Text1.Name = "Text1", ; + Grid1.Column12.Width = 98, ; + Grid1.Column13.FontCharSet = 238, ; + Grid1.Column13.FontName = "Segoe UI", ; + Grid1.Column13.FontSize = 10, ; + Grid1.Column13.Header1.FontCharSet = 238, ; + Grid1.Column13.Header1.FontName = "Segoe UI", ; + Grid1.Column13.Header1.FontSize = 10, ; + Grid1.Column13.Header1.Name = "Header1", ; + Grid1.Column13.Name = "Column13", ; + Grid1.Column13.Text1.FontCharSet = 238, ; + Grid1.Column13.Text1.FontName = "Segoe UI", ; + Grid1.Column13.Text1.FontSize = 10, ; + Grid1.Column13.Text1.Name = "Text1", ; + Grid1.Column13.Width = 92, ; + Grid1.Column14.FontCharSet = 238, ; + Grid1.Column14.FontName = "Segoe UI", ; + Grid1.Column14.FontSize = 10, ; + Grid1.Column14.Header1.FontCharSet = 238, ; + Grid1.Column14.Header1.FontName = "Segoe UI", ; + Grid1.Column14.Header1.FontSize = 10, ; + Grid1.Column14.Header1.Name = "Header1", ; + Grid1.Column14.Name = "Column14", ; + Grid1.Column14.Text1.FontCharSet = 238, ; + Grid1.Column14.Text1.FontName = "Segoe UI", ; + Grid1.Column14.Text1.FontSize = 10, ; + Grid1.Column14.Text1.Name = "Text1", ; + Grid1.Column14.Width = 126, ; + Grid1.Column15.FontCharSet = 238, ; + Grid1.Column15.FontName = "Segoe UI", ; + Grid1.Column15.FontSize = 10, ; + Grid1.Column15.Header1.FontCharSet = 238, ; + Grid1.Column15.Header1.FontName = "Segoe UI", ; + Grid1.Column15.Header1.FontSize = 10, ; + Grid1.Column15.Header1.Name = "Header1", ; + Grid1.Column15.Name = "Column15", ; + Grid1.Column15.Text1.FontCharSet = 238, ; + Grid1.Column15.Text1.FontName = "Segoe UI", ; + Grid1.Column15.Text1.FontSize = 10, ; + Grid1.Column15.Text1.Name = "Text1", ; + Grid1.Column15.Width = 125, ; + Grid1.Column16.FontCharSet = 238, ; + Grid1.Column16.FontName = "Segoe UI", ; + Grid1.Column16.FontSize = 10, ; + Grid1.Column16.Header1.FontCharSet = 238, ; + Grid1.Column16.Header1.FontName = "Segoe UI", ; + Grid1.Column16.Header1.FontSize = 10, ; + Grid1.Column16.Header1.Name = "Header1", ; + Grid1.Column16.Name = "Column16", ; + Grid1.Column16.Text1.FontCharSet = 238, ; + Grid1.Column16.Text1.FontName = "Segoe UI", ; + Grid1.Column16.Text1.FontSize = 10, ; + Grid1.Column16.Text1.Name = "Text1", ; + Grid1.Column16.Width = 89, ; + Grid1.Column17.FontCharSet = 238, ; + Grid1.Column17.FontName = "Segoe UI", ; + Grid1.Column17.FontSize = 10, ; + Grid1.Column17.Header1.FontCharSet = 238, ; + Grid1.Column17.Header1.FontName = "Segoe UI", ; + Grid1.Column17.Header1.FontSize = 10, ; + Grid1.Column17.Header1.Name = "Header1", ; + Grid1.Column17.Name = "Column17", ; + Grid1.Column17.Text1.FontCharSet = 238, ; + Grid1.Column17.Text1.FontName = "Segoe UI", ; + Grid1.Column17.Text1.FontSize = 10, ; + Grid1.Column17.Text1.Name = "Text1", ; + Grid1.Column18.FontCharSet = 238, ; + Grid1.Column18.FontName = "Segoe UI", ; + Grid1.Column18.FontSize = 10, ; + Grid1.Column18.Header1.FontCharSet = 238, ; + Grid1.Column18.Header1.FontName = "Segoe UI", ; + Grid1.Column18.Header1.FontSize = 10, ; + Grid1.Column18.Header1.Name = "Header1", ; + Grid1.Column18.Name = "Column18", ; + Grid1.Column18.Text1.FontCharSet = 238, ; + Grid1.Column18.Text1.FontName = "Segoe UI", ; + Grid1.Column18.Text1.FontSize = 10, ; + Grid1.Column18.Text1.Name = "Text1", ; + Grid1.Column19.FontCharSet = 238, ; + Grid1.Column19.FontName = "Segoe UI", ; + Grid1.Column19.FontSize = 10, ; + Grid1.Column19.Header1.FontCharSet = 238, ; + Grid1.Column19.Header1.FontName = "Segoe UI", ; + Grid1.Column19.Header1.FontSize = 10, ; + Grid1.Column19.Header1.Name = "Header1", ; + Grid1.Column19.Name = "Column19", ; + Grid1.Column19.Text1.FontCharSet = 238, ; + Grid1.Column19.Text1.FontName = "Segoe UI", ; + Grid1.Column19.Text1.FontSize = 10, ; + Grid1.Column19.Text1.Name = "Text1", ; + Grid1.Column19.Width = 99, ; + Grid1.Column2.FontCharSet = 238, ; + Grid1.Column2.FontName = "Segoe UI", ; + Grid1.Column2.FontSize = 10, ; + Grid1.Column2.Header2.FontCharSet = 238, ; + Grid1.Column2.Header2.FontName = "Segoe UI", ; + Grid1.Column2.Header2.FontSize = 10, ; + Grid1.Column2.Header2.Name = "Header2", ; + Grid1.Column2.Name = "Column2", ; + Grid1.Column2.Text1.FontCharSet = 238, ; + Grid1.Column2.Text1.FontName = "Segoe UI", ; + Grid1.Column2.Text1.FontSize = 10, ; + Grid1.Column2.Text1.Name = "Text1", ; + Grid1.Column2.Width = 100, ; + Grid1.Column20.FontCharSet = 238, ; + Grid1.Column20.FontName = "Segoe UI", ; + Grid1.Column20.FontSize = 10, ; + Grid1.Column20.Header1.FontCharSet = 238, ; + Grid1.Column20.Header1.FontName = "Segoe UI", ; + Grid1.Column20.Header1.FontSize = 10, ; + Grid1.Column20.Header1.Name = "Header1", ; + Grid1.Column20.Name = "Column20", ; + Grid1.Column20.Text1.FontCharSet = 238, ; + Grid1.Column20.Text1.FontName = "Segoe UI", ; + Grid1.Column20.Text1.FontSize = 10, ; + Grid1.Column20.Text1.Name = "Text1", ; + Grid1.Column20.Width = 79, ; + Grid1.Column21.FontCharSet = 238, ; + Grid1.Column21.FontName = "Segoe UI", ; + Grid1.Column21.FontSize = 10, ; + Grid1.Column21.Header1.FontCharSet = 238, ; + Grid1.Column21.Header1.FontName = "Segoe UI", ; + Grid1.Column21.Header1.FontSize = 10, ; + Grid1.Column21.Header1.Name = "Header1", ; + Grid1.Column21.Name = "Column21", ; + Grid1.Column21.Text1.FontCharSet = 238, ; + Grid1.Column21.Text1.FontName = "Segoe UI", ; + Grid1.Column21.Text1.FontSize = 10, ; + Grid1.Column21.Text1.Name = "Text1", ; + Grid1.Column21.Width = 59, ; + Grid1.Column22.FontCharSet = 238, ; + Grid1.Column22.FontName = "Segoe UI", ; + Grid1.Column22.FontSize = 10, ; + Grid1.Column22.HEADER1.FontCharSet = 238, ; + Grid1.Column22.HEADER1.FontName = "Segoe UI", ; + Grid1.Column22.HEADER1.FontSize = 10, ; + Grid1.Column22.HEADER1.Name = "HEADER1", ; + Grid1.Column22.Name = "Column22", ; + Grid1.Column22.Text1.FontCharSet = 238, ; + Grid1.Column22.Text1.FontName = "Segoe UI", ; + Grid1.Column22.Text1.FontSize = 10, ; + Grid1.Column22.Text1.Name = "Text1", ; + Grid1.Column23.FontCharSet = 238, ; + Grid1.Column23.FontName = "Segoe UI", ; + Grid1.Column23.FontSize = 10, ; + Grid1.Column23.HEADER1.FontCharSet = 238, ; + Grid1.Column23.HEADER1.FontName = "Segoe UI", ; + Grid1.Column23.HEADER1.FontSize = 10, ; + Grid1.Column23.HEADER1.Name = "HEADER1", ; + Grid1.Column23.Name = "Column23", ; + Grid1.Column23.Text1.FontCharSet = 238, ; + Grid1.Column23.Text1.FontName = "Segoe UI", ; + Grid1.Column23.Text1.FontSize = 10, ; + Grid1.Column23.Text1.Name = "Text1", ; + Grid1.Column24.FontCharSet = 238, ; + Grid1.Column24.FontName = "Segoe UI", ; + Grid1.Column24.FontSize = 10, ; + Grid1.Column24.HEADER1.FontCharSet = 238, ; + Grid1.Column24.HEADER1.FontName = "Segoe UI", ; + Grid1.Column24.HEADER1.FontSize = 10, ; + Grid1.Column24.HEADER1.Name = "HEADER1", ; + Grid1.Column24.Name = "Column24", ; + Grid1.Column24.Text1.FontCharSet = 238, ; + Grid1.Column24.Text1.FontName = "Segoe UI", ; + Grid1.Column24.Text1.FontSize = 10, ; + Grid1.Column24.Text1.Name = "Text1", ; + Grid1.Column25.FontCharSet = 238, ; + Grid1.Column25.FontName = "Segoe UI", ; + Grid1.Column25.FontSize = 10, ; + Grid1.Column25.Header1.FontCharSet = 238, ; + Grid1.Column25.Header1.FontName = "Segoe UI", ; + Grid1.Column25.Header1.FontSize = 10, ; + Grid1.Column25.Header1.Name = "Header1", ; + Grid1.Column25.Name = "Column25", ; + Grid1.Column25.Text1.FontCharSet = 238, ; + Grid1.Column25.Text1.FontName = "Segoe UI", ; + Grid1.Column25.Text1.FontSize = 10, ; + Grid1.Column25.Text1.Name = "Text1", ; + Grid1.Column25.Width = 105, ; + Grid1.Column26.FontCharSet = 238, ; + Grid1.Column26.FontName = "Segoe UI", ; + Grid1.Column26.FontSize = 10, ; + Grid1.Column26.Header1.FontCharSet = 238, ; + Grid1.Column26.Header1.FontName = "Segoe UI", ; + Grid1.Column26.Header1.FontSize = 10, ; + Grid1.Column26.Header1.Name = "Header1", ; + Grid1.Column26.Name = "Column26", ; + Grid1.Column26.Text1.FontCharSet = 238, ; + Grid1.Column26.Text1.FontName = "Segoe UI", ; + Grid1.Column26.Text1.FontSize = 10, ; + Grid1.Column26.Text1.Name = "Text1", ; + Grid1.Column26.Width = 106, ; + Grid1.Column27.FontCharSet = 238, ; + Grid1.Column27.FontName = "Segoe UI", ; + Grid1.Column27.FontSize = 10, ; + Grid1.Column27.Header1.FontCharSet = 238, ; + Grid1.Column27.Header1.FontName = "Segoe UI", ; + Grid1.Column27.Header1.FontSize = 10, ; + Grid1.Column27.Header1.Name = "Header1", ; + Grid1.Column27.Name = "Column27", ; + Grid1.Column27.Text1.FontCharSet = 238, ; + Grid1.Column27.Text1.FontName = "Segoe UI", ; + Grid1.Column27.Text1.FontSize = 10, ; + Grid1.Column27.Text1.Name = "Text1", ; + Grid1.Column27.Width = 136, ; + Grid1.Column28.FontCharSet = 238, ; + Grid1.Column28.FontName = "Segoe UI", ; + Grid1.Column28.FontSize = 10, ; + Grid1.Column28.Header1.FontCharSet = 238, ; + Grid1.Column28.Header1.FontName = "Segoe UI", ; + Grid1.Column28.Header1.FontSize = 10, ; + Grid1.Column28.Header1.Name = "Header1", ; + Grid1.Column28.Name = "Column28", ; + Grid1.Column28.Text1.FontCharSet = 238, ; + Grid1.Column28.Text1.FontName = "Segoe UI", ; + Grid1.Column28.Text1.FontSize = 10, ; + Grid1.Column28.Text1.Name = "Text1", ; + Grid1.Column28.Width = 83, ; + Grid1.Column29.FontCharSet = 238, ; + Grid1.Column29.FontName = "Segoe UI", ; + Grid1.Column29.FontSize = 10, ; + Grid1.Column29.Header1.FontCharSet = 238, ; + Grid1.Column29.Header1.FontName = "Segoe UI", ; + Grid1.Column29.Header1.FontSize = 10, ; + Grid1.Column29.Header1.Name = "Header1", ; + Grid1.Column29.Name = "Column29", ; + Grid1.Column29.Text1.FontCharSet = 238, ; + Grid1.Column29.Text1.FontName = "Segoe UI", ; + Grid1.Column29.Text1.FontSize = 10, ; + Grid1.Column29.Text1.Name = "Text1", ; + Grid1.Column29.Width = 118, ; + Grid1.Column3.FontCharSet = 238, ; + Grid1.Column3.FontName = "Segoe UI", ; + Grid1.Column3.FontSize = 10, ; + Grid1.Column3.Header3.FontCharSet = 238, ; + Grid1.Column3.Header3.FontName = "Segoe UI", ; + Grid1.Column3.Header3.FontSize = 10, ; + Grid1.Column3.Header3.Name = "Header3", ; + Grid1.Column3.Name = "Column3", ; + Grid1.Column3.Text1.FontCharSet = 238, ; + Grid1.Column3.Text1.FontName = "Segoe UI", ; + Grid1.Column3.Text1.FontSize = 10, ; + Grid1.Column3.Text1.Name = "Text1", ; + Grid1.Column3.Width = 99, ; + Grid1.Column31.FontCharSet = 238, ; + Grid1.Column31.FontName = "Segoe UI", ; + Grid1.Column31.FontSize = 10, ; + Grid1.Column31.Header1.FontCharSet = 238, ; + Grid1.Column31.Header1.FontName = "Segoe UI", ; + Grid1.Column31.Header1.FontSize = 10, ; + Grid1.Column31.Header1.Name = "Header1", ; + Grid1.Column31.Name = "Column31", ; + Grid1.Column31.Text1.FontCharSet = 238, ; + Grid1.Column31.Text1.FontName = "Segoe UI", ; + Grid1.Column31.Text1.FontSize = 10, ; + Grid1.Column31.Text1.Name = "Text1", ; + Grid1.Column31.Width = 51, ; + Grid1.Column32.FontCharSet = 238, ; + Grid1.Column32.FontName = "Segoe UI", ; + Grid1.Column32.FontSize = 10, ; + Grid1.Column32.Header1.FontCharSet = 238, ; + Grid1.Column32.Header1.FontName = "Segoe UI", ; + Grid1.Column32.Header1.FontSize = 10, ; + Grid1.Column32.Header1.Name = "Header1", ; + Grid1.Column32.Name = "Column32", ; + Grid1.Column32.Text1.FontCharSet = 238, ; + Grid1.Column32.Text1.FontName = "Segoe UI", ; + Grid1.Column32.Text1.FontSize = 10, ; + Grid1.Column32.Text1.Name = "Text1", ; + Grid1.Column32.Width = 57, ; + Grid1.Column33.FontCharSet = 238, ; + Grid1.Column33.FontName = "Segoe UI", ; + Grid1.Column33.FontSize = 10, ; + Grid1.Column33.Header1.FontCharSet = 238, ; + Grid1.Column33.Header1.FontName = "Segoe UI", ; + Grid1.Column33.Header1.FontSize = 10, ; + Grid1.Column33.Header1.Name = "Header1", ; + Grid1.Column33.Name = "Column33", ; + Grid1.Column33.Text1.FontCharSet = 238, ; + Grid1.Column33.Text1.FontName = "Segoe UI", ; + Grid1.Column33.Text1.FontSize = 10, ; + Grid1.Column33.Text1.Name = "Text1", ; + Grid1.Column33.Width = 71, ; + Grid1.Column34.FontCharSet = 238, ; + Grid1.Column34.FontName = "Segoe UI", ; + Grid1.Column34.FontSize = 10, ; + Grid1.Column34.Header1.FontCharSet = 238, ; + Grid1.Column34.Header1.FontName = "Segoe UI", ; + Grid1.Column34.Header1.FontSize = 10, ; + Grid1.Column34.Header1.Name = "Header1", ; + Grid1.Column34.Name = "Column34", ; + Grid1.Column34.Text1.FontCharSet = 238, ; + Grid1.Column34.Text1.FontName = "Segoe UI", ; + Grid1.Column34.Text1.FontSize = 10, ; + Grid1.Column34.Text1.Name = "Text1", ; + Grid1.Column34.Width = 101, ; + Grid1.Column35.FontCharSet = 238, ; + Grid1.Column35.FontName = "Segoe UI", ; + Grid1.Column35.FontSize = 10, ; + Grid1.Column35.Header1.FontCharSet = 238, ; + Grid1.Column35.Header1.FontName = "Segoe UI", ; + Grid1.Column35.Header1.FontSize = 10, ; + Grid1.Column35.Header1.Name = "Header1", ; + Grid1.Column35.Name = "Column35", ; + Grid1.Column35.Text1.FontCharSet = 238, ; + Grid1.Column35.Text1.FontName = "Segoe UI", ; + Grid1.Column35.Text1.FontSize = 10, ; + Grid1.Column35.Text1.Name = "Text1", ; + Grid1.Column36.FontCharSet = 238, ; + Grid1.Column36.FontName = "Segoe UI", ; + Grid1.Column36.FontSize = 10, ; + Grid1.Column36.Header1.FontCharSet = 238, ; + Grid1.Column36.Header1.FontName = "Segoe UI", ; + Grid1.Column36.Header1.FontSize = 10, ; + Grid1.Column36.Header1.Name = "Header1", ; + Grid1.Column36.Name = "Column36", ; + Grid1.Column36.Text1.FontCharSet = 238, ; + Grid1.Column36.Text1.FontName = "Segoe UI", ; + Grid1.Column36.Text1.FontSize = 10, ; + Grid1.Column36.Text1.Name = "Text1", ; + Grid1.Column36.Width = 167, ; + Grid1.Column4.FontCharSet = 238, ; + Grid1.Column4.FontName = "Segoe UI", ; + Grid1.Column4.FontSize = 10, ; + Grid1.Column4.Header4.FontCharSet = 238, ; + Grid1.Column4.Header4.FontName = "Segoe UI", ; + Grid1.Column4.Header4.FontSize = 10, ; + Grid1.Column4.Header4.Name = "Header4", ; + Grid1.Column4.Name = "Column4", ; + Grid1.Column4.Text1.FontCharSet = 238, ; + Grid1.Column4.Text1.FontName = "Segoe UI", ; + Grid1.Column4.Text1.FontSize = 10, ; + Grid1.Column4.Text1.Name = "Text1", ; + Grid1.Column4.Width = 95, ; + Grid1.Column5.FontCharSet = 238, ; + Grid1.Column5.FontName = "Segoe UI", ; + Grid1.Column5.FontSize = 10, ; + Grid1.Column5.Header5.FontCharSet = 238, ; + Grid1.Column5.Header5.FontName = "Segoe UI", ; + Grid1.Column5.Header5.FontSize = 10, ; + Grid1.Column5.Header5.Name = "Header5", ; + Grid1.Column5.Name = "Column5", ; + Grid1.Column5.Text1.FontCharSet = 238, ; + Grid1.Column5.Text1.FontName = "Segoe UI", ; + Grid1.Column5.Text1.FontSize = 10, ; + Grid1.Column5.Text1.Name = "Text1", ; + Grid1.Column5.Width = 105, ; + Grid1.Column6.FontCharSet = 238, ; + Grid1.Column6.FontName = "Segoe UI", ; + Grid1.Column6.FontSize = 10, ; + Grid1.Column6.Header6.FontCharSet = 238, ; + Grid1.Column6.Header6.FontName = "Segoe UI", ; + Grid1.Column6.Header6.FontSize = 10, ; + Grid1.Column6.Header6.Name = "Header6", ; + Grid1.Column6.Name = "Column6", ; + Grid1.Column6.Text1.FontCharSet = 238, ; + Grid1.Column6.Text1.FontName = "Segoe UI", ; + Grid1.Column6.Text1.FontSize = 10, ; + Grid1.Column6.Text1.Name = "Text1", ; + Grid1.Column6.Width = 129, ; + Grid1.Column7.FontCharSet = 238, ; + Grid1.Column7.FontName = "Segoe UI", ; + Grid1.Column7.FontSize = 10, ; + Grid1.Column7.Header7.FontCharSet = 238, ; + Grid1.Column7.Header7.FontName = "Segoe UI", ; + Grid1.Column7.Header7.FontSize = 10, ; + Grid1.Column7.Header7.Name = "Header7", ; + Grid1.Column7.Name = "Column7", ; + Grid1.Column7.Text1.FontCharSet = 238, ; + Grid1.Column7.Text1.FontName = "Segoe UI", ; + Grid1.Column7.Text1.FontSize = 10, ; + Grid1.Column7.Text1.Name = "Text1", ; + Grid1.Column7.Width = 59, ; + Grid1.Column8.FontCharSet = 238, ; + Grid1.Column8.FontName = "Segoe UI", ; + Grid1.Column8.FontSize = 10, ; + Grid1.Column8.Header8.FontCharSet = 238, ; + Grid1.Column8.Header8.FontName = "Segoe UI", ; + Grid1.Column8.Header8.FontSize = 10, ; + Grid1.Column8.Header8.Name = "Header8", ; + Grid1.Column8.Name = "Column8", ; + Grid1.Column8.Text1.FontCharSet = 238, ; + Grid1.Column8.Text1.FontName = "Segoe UI", ; + Grid1.Column8.Text1.FontSize = 10, ; + Grid1.Column8.Text1.Name = "Text1", ; + Grid1.Column8.Width = 63, ; + Grid1.Column9.FontCharSet = 238, ; + Grid1.Column9.FontName = "Segoe UI", ; + Grid1.Column9.FontSize = 10, ; + Grid1.Column9.Header9.FontCharSet = 238, ; + Grid1.Column9.Header9.FontName = "Segoe UI", ; + Grid1.Column9.Header9.FontSize = 10, ; + Grid1.Column9.Header9.Name = "Header9", ; + Grid1.Column9.Name = "Column9", ; + Grid1.Column9.Text1.FontCharSet = 238, ; + Grid1.Column9.Text1.FontName = "Segoe UI", ; + Grid1.Column9.Text1.FontSize = 10, ; + Grid1.Column9.Text1.Name = "Text1", ; + Grid1.Column9.Width = 113, ; + Grid1.FontCharSet = 238, ; + Grid1.FontName = "Segoe UI", ; + Grid1.FontSize = 10, ; + Grid1.Height = 486, ; + Grid1.Left = 1, ; + Grid1.Name = "Grid1", ; + Grid1.Panel = 1, ; + Grid1.RowHeight = 20, ; + Grid1.Top = 1, ; + Grid1.Width = 734 + *< END OBJECT: ClassLib="baza.vcx" BaseClass="container" /> + + ADD OBJECT 'verif.Gridextra1' AS gridextra WITH ; + gridexpression = thisform.verif.grid1, ; + Left = 450, ; + Name = "Gridextra1", ; + Top = 345 + *< END OBJECT: ClassLib="..\utile\gridextras\gridextras.vcx" BaseClass="custom" /> + + PROCEDURE Activate + If This.iteMS.Visible = .T. + If This.nou_intrat + This.iteMS.item1.SetFocus() + Endif + Endif + ENDPROC + + PROCEDURE actualizeaza_explicatie_saft + IF !m.gl406 + RETURN + ENDIF + + Local llFurnizorRTVAI + With This.itemS + * Cod taxa SAFT + If !Used('crsTaxTable') + .cbo_saft.RowSource = [] + Use In (Select('crsTaxTable')) + + If !Used('saft_taxtable') + update_saft_taxtable() + ENDIF + + .cbo_saft.RowSourceType = 3 && sql + .cbo_saft.RowSource = [Select descriere, taxcode, tip, CAST(procent_taxa as N(6,2) null) as procent_taxa From saft_taxtable where (tva = 1 and procent_taxa = (Thisform.ntvatax*100-100)) or wht = 1 Order By tva, tva_livrari, tva_achizitii, wht, taxcode Into Cursor crsTaxTable] + .cbo_saft.ControlSource = [Thisform.nTaxCode] + .cbo_saft.BoundColumn = 2 + .cbo_saft.BoundTo = .T. + .cbo_saft.ColumnCount = 4 + .cbo_saft.ColumnWidths = "450,50,150,40" + Endif + This.UpdateExplicatieSAFT() + Endwith + + ENDPROC + + PROCEDURE actualizeaza_explicatie_tva + Lparameters tnTvaIncasare + + Local lnIdJtax + With This.itemS + If Used('crsjtax') + Select crsjtax + If Empty(tnTvaIncasare) + lnIdJtax = Nvl(id_jtva_ex,id_jtva_coloana) + Else + lnIdJtax = Nvl(id_jtva_neex,id_jtva_coloana) + Endif + .cbo_Taxabil.RowSource = [] + Use In crsjtax + Else + *!* modificare ROACONT v 2.4.15 : + *!* xsets.id_jtax era folosit mai departe cu valoarea veche si cand imi facea locate in cursor, nu mi-l gasea ( in cazul in care + *!* firma era cu tva la incasare ) + *!* lnIdJtax = getIdJtvaColoana(xsets.id_jtax,tnTvaIncasare) + lnIdJtax = getIdJtvaColoana(OXSET.id_jtax,tnTvaIncasare) + OXSET.id_jtax = lnIdJtax + *!* modificare ROACONT v 2.4.15 ^ + Endif + If Empty(tnTvaIncasare) + Select * From jtva_coloane Where afisat >= 1 And Isnull(id_jtva_ex) Order By ordine Into Cursor crsjtax && Where afisat = 1 + Else + Select * From jtva_coloane Where afisat >= 1 And Isnull(id_jtva_neex) Order By ordine Into Cursor crsjtax && Where afisat = 1 + Endif + .cbo_Taxabil.RowSource = [crsjtax.denumire] + Select crsjtax + Locate For id_jtva_coloana = lnIdJtax + If Found() + This.ctaxabil = denumire + This.ntvatax = (100 + cota_tva) / 100 + This.id_jtax = id_jtva_coloana + This.id_jtva = id_tva + .cbo_Taxabil.Value = This.ctaxabil + Endif + Endwith + + + ENDPROC + + PROCEDURE actualizeaza_plata_saft + * Nu actualizez paymentcode dupa fel document, daca deja apelez aceasta procedura la schimbarea documentului + * Nu actualizez daca nu este optiunea D406 activa si nu este set plata + Local llVisible + If !m.gl406 + Return + Endif + llVisible = This.items.cbo_plATA_SAFT.Visible + + With This.items + * Cod mecanism plata SAFT + If !Used('saft_mecanisme_plati') + update_saft_mecanisme_plati() + Endif + + If Empty(.cbo_plATA_SAFT.RowSource) + .cbo_plATA_SAFT.RowSourceType = 3 && sql + .cbo_plATA_SAFT.RowSource = [Select paymentname, methodname, mechanismcode From saft_mecanisme_plati where afisat=1 Order By ordine Into Cursor crsMecanismePlati] + .cbo_plATA_SAFT.ControlSource = [Thisform.cPaymentCode] + .cbo_plATA_SAFT.BoundColumn = 3 + .cbo_plATA_SAFT.BoundTo = .T. + .cbo_plATA_SAFT.ColumnCount = 2 + .cbo_plATA_SAFT.ColumnWidths = "250,150" + Endif + .cbo_plata_saft.visible = m.llVisible && se pune Visible = .T. cand se face BoundTo = .T. + ENDWITH + This.UpdatePaymentSAFT() + + + + ENDPROC + + PROCEDURE aduc_set + *!* 07.09.2009 + *!* marius.mutu + *!* la nota de inventar din roagest nu era vizibila intotdeauna fereastra cu item-uri? + *!* modificare 16.09.2009 + *!* ox.visible = .T. face ca focusul sa fie pus pe butonul ">" si nu pe primul textbox din formular + + *!* 15.04.2009 + *!* alex.lepadatu + *!* se cer partenerii pt conturile care au xnote.scd/scc_fara_partener = 1 + + *!* 15.07.2011 + *!* marius.mutu + *!* se afiseaza maxim 20 itemuri in loc de 14 + + *!* 13.01.2015 + *!* marius.mutu + *!* adaugare proprietate poAct.id_vCONT (pentru utilizarea la o operatie ulterioara) + + *!* 05.03.2026 + *!* NU CER DOCUMENT PERECHE PENTRU COMPENSARI AUTOMATE +/- 401/409/411/419 (106XX) SAU PENTRU ACH. PLATITA DIN 542 (45) + + Local i, loItem, lcexplicatie + Local lEValInit, lcCont, lcContExtins, lcContul, lcCursor, lcDenumire, lcExc, lcExplic, lcItem + Local lcItemNou, lcProprFisier, lcProprObiect, lcProprObiectId, lcSql, lcTip, lcTipItem, lcVar + Local lcVarItem, lcobj, lleste, lnCuIreg, lnCuProcTva, lnFel, lnFelCont, lnIdTipDoc, lnLeft, lnNrIt + Local lnNrIt2, lnNrItem, lnNrRecalc, lnNrRecalc2, lnPozitie, lnPrioritate, lnRecno, lnRezultat + Local lnSucces, lnTabIndex, lnTop, lncbTop, lnindex, lnindexId, lnlbTop + *:Global MM, N, NU_STERG, Z, an, nl, opart, oxcont, x + Private lcLista + Store '' To lcLista + + m.an = Alltrim(Str(gnAn)) + m.nl = Padl(Alltrim(Str(gnLuna)), 2, '0') + + m.NU_STERG = oxset.NU_STERG + *!* modificare ROAAUTO v 2.0.35 + *!* If !Empty(This.FORMGEST) Or XSETS.MODEL=-1 + *!* Thisform.do_arata_butoane(2,.F.) + *!* Thisform.do_arata_butoane(3,.T.) + *!* Endif + *!* modificare ROAAUTO v 2.0.35 ^ + Select a.NR_ITEM, a.id_tipdoc, b.*, D.NUME_SET, 0 As cu_proc_tva, 'X' As tip_item ; + From XREQUEST a ; + INNER Join xitems b On a.id_item = b.id_item ; + Left Join XSETS D On a.ID_SET = D.ID_SET ; + Where a.ID_SET = Thisform.ID_SET And Evaluate(Iif(Empty(Nvl(a.conditie, '')), '.t.', Alltrim(a.conditie))) ; + Into Cursor cerere Readwrite ; + Order By b.prioritate, a.NR_ITEM + *!* modificare serii numere - 10.2007 + lnRezultat = 0 + Select cerere + Scan For !Isnull(id_tipdoc) + lcexplicatie = NUME_SET + lnPrioritate = prioritate + lnNrItem = NR_ITEM + lnRecno = Recno() + lnIdTipDoc = id_tipdoc + lcVarItem = var_item + If lnIdTipDoc = -1 + lnRezultat = 1 + Else + lnRezultat = poGeneratorNumere.creeaza_cursor_serii(lnIdTipDoc) + Endif + Select cerere + Do Case + Case lnRezultat = 0 + Replace id_tipdoc With Null + Case Inlist(lnRezultat, 1, 3) + If lnRezultat = 1 + Replace id_tipdoc With Null + lcTipItem = 'T' + Else + lcTipItem = 'L' + Endif + Select xitems + Locate For id_item = 77 + Scatter Name loItem + Select cerere + Append Blank + Gather Name loItem + Replace NUME_SET With lcexplicatie, tip_item With lcTipItem, NR_ITEM With lnNrItem, ; + prioritate With lnPrioritate, id_tipdoc With Null + If lcTipItem = 'L' + Replace x_init_val With Alltrim(Str(lnIdTipDoc)), camp_lista With lcVarItem + Endif + Go lnRecno + Endcase + Endscan + Select * From cerere Into Cursor cerere Readwrite Order By prioritate, NR_ITEM, tip_item + *!* modificare serii numere - 10.2007 ^ + && + Select cerere + *** COMPLETEZ CEREREA DE DATE CU LUCRAREA, SECTIA, SUCURSALA + && LUCRARE + + If gnCampLucrare = 1 + Select cerere + lcexplicatie = NUME_SET + Locate For id_item = 15 + If !Found() + Select xitems + Locate For id_item = 15 + Scatter Name loItem + Select cerere + Append Blank + Gather Name loItem + Replace NUME_SET With lcexplicatie, id_tipdoc With Null + Endif + Endif + + && SECTIE + If gnCampSectie = 1 + Select cerere + lcexplicatie = NUME_SET + Locate For id_item = 16 + If !Found() + Select xitems + Locate For id_item = 16 + Scatter Name loItem + Select cerere + Append Blank + Gather Name loItem + Replace NUME_SET With lcexplicatie, id_tipdoc With Null + Endif + Endif + && SUCURSALA + If gnCampSucursala = 1 + Select cerere + lcexplicatie = NUME_SET + Locate For id_item = 68 + If !Found() + Select xitems + Locate For id_item = 68 + Scatter Name loItem + Select cerere + Append Blank + Gather Name loItem + Replace NUME_SET With lcexplicatie, id_tipdoc With Null + Endif + Endif + + Locate + Thisform.cdenumire_set = Alltrim(NUME_SET) + lleste = .F. + ************************************************************************************************ + *!* 15.04.2009 + *!* Select Distinct Left(xscd,5) As contpart, 0 As pozitie, xscc As cont_coresp From xnote Where ID_SET = Thisform.ID_SET And !Empty(xscd) ; + *!* UNION ; + *!* SELECT Distinct Left(xscc,5) As contpart, 1 As pozitie, xscd As cont_coresp From xnote Where ID_SET = Thisform.ID_SET And !Empty(xscc) ; + *!* INTO Cursor tcont Readwrite + + Select Distinct Left(xscd, 5) As contpart, 0 As pozitie, xscc As cont_coresp, Nvl(scd_fara_part, 0) As cont_fara_part; + From xnote ; + Where ID_SET = Thisform.ID_SET And !Empty(xscd) ; + Union ; + Select Distinct Left(xscc, 5) As contpart, 1 As pozitie, xscd As cont_coresp, Nvl(scc_fara_part, 0) As cont_fara_part; + From xnote ; + Where ID_SET = Thisform.ID_SET And !Empty(xscc) ; + Into Cursor tcont Readwrite + *!* 15.04.2009 ^ + + Select tcont + Scan + lcCont = Alltrim(contpart) + If Val(lcCont) = 0 Or 'X' $ Upper(lcCont) + If Type('CN') # 'U' And !Empty(CN) + lcCont = Alltrim(CN) + Replace contpart With lcCont + Else + Loop + Endif + Endif + If Empty(lcLista) + lcLista = lcCont + Else + lcLista = lcLista + ',' + lcCont + Endif + Endscan + + *!* 30.03.2007 + *!* exceptii_ireg.in_ireg = 1 + If !Empty(lcLista) + lcSql = [select distinct c.cont as cont_part, c.explicatie as explic_cont,c.fel_cont,c.id_tip_part as tip,c.cu_inregistrari, c.cu_proc_tva, e.cont_c as exceptie, e.debit as poz_in_caz_exceptie, e.invers ] + ; + [from ] + gcs + [.vcoresp_tip_cont c ] + ; + [left join ] + gcs + [.exceptii_ireg e on c.cont = e.cont and e.invers = 1 and e.in_ireg = 1 ] + ; + [and e.cont_c in (] + lcLista + [)] + ; && modificare 10.09.2013 + [where c.cont in (] + lcLista + [)] + *[where instr('] + lcLista + [',c.cont)> 0 ] + Else + lcSql = [select distinct c.cont as cont_part, c.explicatie as explic_cont,c.fel_cont,c.id_tip_part as tip,c.cu_inregistrari, c.cu_proc_tva, e.cont_c as exceptie, e.debit as poz_in_caz_exceptie, e.invers ] + ; + [from ] + gcs + [.vcoresp_tip_cont c left join ] + gcs + [.exceptii_ireg e on c.cont = e.cont and e.invers = 1 and e.in_ireg = 1 ] + ; + [where 1 = 2] + Endif + lcCursor = 'verif_part' + + lnSucces = goExecutor.oExecute(lcSql, lcCursor) + If lnSucces < 0 + aMessagebox('Eroare de conectare!', 0 + 48, 'Atentie!') + This.Release() + Return + Endif + + *!* modificare ROASITOP + *!* Select v.*, T.*,Space(50) As tipuri_part,Space(50) As conturi_exc,Space(50) As numepart, 000000000000 As idpart ; + *!* FROM verif_part v Left Join tcont T On v.cont_part = T.contpart Into Cursor xcont Readwrite + If Thisform.ID_SET = 50505 + Select v.*, T.*, Space(50) As tipuri_part, Space(50) As conturi_exc, Space(50) As numepart, 000000000000 As idpart ; + From verif_part v Left Join tcont T On v.cont_part = T.contpart Where v.cont_part <> '4111' ; + Into Cursor xcont Readwrite + Else + *!* 15.04.2009 + *!* Select v.*, T.*,Space(50) As tipuri_part,Space(50) As conturi_exc,Space(50) As numepart, 000000000000 As idpart ; + *!* FROM verif_part v Left Join tcont T On v.cont_part = T.contpart Into Cursor xcont Readwrite + + Select v.*, T.*, Space(50) As tipuri_part, Space(50) As conturi_exc, Space(50) As numepart, 000000000000 As idpart ; + From verif_part v Left Join tcont T On v.cont_part = T.contpart ; + Where T.cont_fara_part = 0 ; + Into Cursor xcont Readwrite + *!* 15.04.2009 ^ + Endif + *!* modificare ROASITOP ^ + + Select xcont + Replace All pozitie With 1 For pozitie = 0 And cont_coresp = exceptie And pozitie = poz_in_caz_exceptie And invers = 1 + Select xcont + Replace All pozitie With 0 For pozitie = 1 And cont_coresp = exceptie And pozitie = poz_in_caz_exceptie And invers = 1 + + *** FEL_CONT = 2 BIFUNCTIONALE + *** sa nu ceara document pereche pentru constituire de documente (fara plati/incasari pe cont corespondent) + Select xcont + Replace All fel_cont With 0 For fel_cont = 2 And pozitie = 0 And !Inlist(Left(cont_coresp, 2), '51', '53') + Replace All fel_cont With 1 For fel_cont = 2 And pozitie = 1 And !Inlist(Left(cont_coresp, 2), '51', '53') + + Select xcont + Replace All tipuri_part With Alltrim(Str(tip)), conturi_exc With Nvl(Alltrim(exceptie), '') + Replace All explic_cont With Alltrim(explic_cont) + [ INCASARI], contpart With Alltrim(contpart) + [0] For Inlist(Left(cont_part, 2), '51', '53') And pozitie = 0 + Replace All explic_cont With Alltrim(explic_cont) + [ PLATI], contpart With Alltrim(contpart) + [1] For Inlist(Left(cont_part, 2), '51', '53') And pozitie = 1 + + Scan For !Deleted() + Scatter Name oxcont + i = Recno() + Locate For Alltrim(contpart) = Alltrim(oxcont.contpart) And (pozitie # oxcont.pozitie Or tip # oxcont.tip Or (pozitie = oxcont.pozitie And (cont_coresp # oxcont.cont_coresp Or exceptie # oxcont.exceptie))) + If Found() + lcTip = Alltrim(tipuri_part) + lcExc = Nvl(Alltrim(conturi_exc), '') + *!* modificare 10.09.2013 : la diminuarea creantelor clientilor incerti ( 4118-4427 si 654-4118 ) nu + *!* se cerea documentul pereche pentru 4118, deoarece fel_cont ( lnFel ) era egal cu pozitia si nu mai intra + *!* pe ramura cu "If lnPozitie # lnFelCont And lnCuIreg = 1 And Thisform.ID_SET <> 45" de mai jos + If pozitie # oxcont.pozitie + lnFel = fel_cont + Else + lnFel = pozitie + Endif + + *!* If pozitie # oxcont.pozitie + *!* llSchimbaPozitie = .T. + *!* Else + *!* llSchimbaPozitie = .F. + *!* Endif + *!* modificare 10.09.2013 ^ + Delete + Goto i + *!* modificare 10.09.2013 + Replace pozitie With lnFel + *!* If llSchimbaPozitie + *!* Replace pozitie With Iif(pozitie=fel_cont,Mod(fel_cont+1,2),pozitie) + *!* Endif + *!* modificare 10.09.2013 ^ + Replace tipuri_part With Alltrim(tipuri_part) + ',' + lcTip + If !Empty(conturi_exc) + Replace conturi_exc With Alltrim(conturi_exc) + ',' + lcExc + Else + Replace conturi_exc With lcExc + Endif + Else + Goto i + Endif + Endscan + Release oxcont + + *!* caut conturile cu asociere de parteneri dupa gestiuni - nu mai cer partenerul daca au asociere definita + If oxset.model > 1 && ROAGEST, ROAOBINV + lcSql = [select distinct cont from asociere_parteneri_gestiuni] + lnSucces = goExecutor.oExecute(lcSql, "crsConturiParteneriGestiuni") + If lnSucces < 0 + aMessagebox(goExecutor.cEroare, 0 + 16, "Eroare") + Create Cursor crsConturiParteneriGestiuni (Cont c(4)) + Endif + Else + Create Cursor crsConturiParteneriGestiuni (Cont c(4)) + Endif + + Select xcont + Scan + lcContExtins = contpart + lcCont = cont_part + lcExplic = Lower(Alltrim(explic_cont)) + lnPozitie = pozitie + lnFelCont = fel_cont + lnCuIreg = cu_inregistrari + lnCuProcTva = cu_proc_tva + + *!* daca contul are asociere gestiune - partener in gestiune nu mai cer partenerul - se va completa automat in nir.inainte_de_do_termin + Select crsConturiParteneriGestiuni + Locate For Alltrim(Cont) = Alltrim(lcCont) + If Found() + Loop + Endif + + Select xitems + Locate For id_item = 66 + Scatter Name opart + opart.label_item = Alltrim(opart.label_item) + ' ' + lcExplic + '(' + Alltrim(lcCont) + ')' + opart.var_item = 'V' + Alltrim(lcContExtins) + Select cerere + lcexplicatie = NUME_SET + Append Blank + Replace NUME_SET With lcexplicatie + Gather Name opart + Release opart + + * NU CER DOCUMENT PERECHE PENTRU COMPENSARI AUTOMATE +/- 401/409/411/419 (106XX) SAU PENTRU ACH. PLATITA DIN 542 (45) + If lnPozitie # lnFelCont And lnCuIreg = 1 And !oxset.NU_DOC_PERECHE AND !Inlist(Thisform.ID_SET, 45, 10613, 10614, 10621, 10622, 10623, 10624) && modificare 22.11.2006 && 10613/10614/10621/10622/10623/10624 = comenpensare facturi clienti/furnizori/avans clienti/avans furnizori + *And Thisform.id_set < 1000000 + * daca e nota definita de utilizator, atunci nu cer doc. pereche + * deoarece nu am campul cu "suma" si nici nu multiplica notele care trebuie + + Select xitems + Locate For id_item = 67 + Scatter Name opart + opart.label_item = Alltrim(opart.label_item) + ' ' + lcExplic + '(' + Alltrim(lcCont) + ')' + opart.var_item = 'P' + Alltrim(lcContExtins) + Select cerere + lcexplicatie = NUME_SET + Append Blank + Replace NUME_SET With lcexplicatie, cu_proc_tva With lnCuProcTva + Gather Name opart + Release opart + Endif + *!* IF gnResponsabLaIncasare = 1 AND lcCont = '5311' AND lnPozitie = 0 + *!* + *!* ENDIF + Select xcont + Endscan + + If Used('verif_part') + Use In verif_part + Endif + + If Used('tcont') + Use In tcont + Endif + + + Select cerere + Replace All NR_ITEM With Recno() + Replace id_tipdoc With Null For id_tipdoc = 0 + Replace tip_item With 'X' For Empty(tip_item) + Local lcNumeFisIndex + lcNumeFisIndex = gcTempPath + [\] + Sys(2015) + [.cdx] + Thisform.cnumefisindex = lcNumeFisIndex + Select cerere + Index On Str(prioritate, 3) + Str(NR_ITEM, 10) Tag ordine Of &lcNumeFisIndex + *!* modificare migrare v 1.0 > v 2.0 + lcobj = This.pcobj + If Thisform.ID_SET = 229 + Select cerere + Locate For id_item = 66 && partener rezervare + If Found() + Replace label_item With 'Client rezervare', var_item With 'vpart_rez' + AddProperty(&lcobj, 'VID_PART_REZ', 0) + Endif + Endif + *!* modificare migrare v 1.0 > v 2.0 ^ + **************************************************** + Local MAXITEMS, OX, OC + OC = Thisform + OX = This.ITEMS + + Select cerere + Calculate Cnt() To MAXITEMS + *!* 15.07.2011 + *!* MM = Iif(MAXITEMS>14,14,MAXITEMS) + MM = Iif(MAXITEMS > 25, 25, MAXITEMS) + *!* 15.07.2011 ^ + OX.Height = MM * (OX.ITEM1.Height - 1) + 2 * OX.ITEM1.Top + OC.lb_titlu_alb_b121.Caption = Proper(Thisform.cdenumire_set) + *!* modificare ROAAUTO v 2.0.35 + OC.Height = OX.Height + Thisform._shape1.Height + *!* OC.Height = OX.Height+80 + *!* OX.Top = OC.Top+60 + *!* OX.Left = OC.Left + OC.Width/2-OX.Width/2 + *!* modificare ROAAUTO v 2.0.35 Y + lcobj = This.pcobj + + lnNrIt = 0 + lnNrIt2 = 0 + lnNrRecalc = 0 + lnNrRecalc2 = 0 + i = 0 + + Select cerere + Scan + * I=NR_ITEM + i = i + 1 + N = Alltrim(Str(i)) + *!* modificare serii numere - 10.2007 + If tip_item = 'L' + With OX + lcItem = 'ITEM' + N + lcItemNou = 'ITEM00' + N + lnTop = .&lcItem..Top + lnLeft = .&lcItem..Left + lnTabIndex = .&lcItem..TabIndex && modificare ROAGEST v 2.2.6 + .RemoveObject(lcItem) + .AddObject(lcItemNou, [ITEM_SERII], lcobj, Alltrim(x_init_val), Alltrim(var_item), Alltrim(camp_lista)) + With .&lcItemNou. + .Top = lnTop + .Left = lnLeft + .TabIndex = lnTabIndex && modificare ROAGEST v 2.2.6 : am pus lnTabIndex in loc de i + .Visible = .T. + Endwith + Endwith + Else + *!* modificare serii numere - 10.2007 ^ + If Lower(Alltrim(var_item)) = 'tottva' + lnNrIt = i + Endif + If Lower(Alltrim(var_item)) = 'neimpozab' + lnNrIt2 = i + Endif + If Lower(Alltrim(var_item)) = 'totftva' + lnNrRecalc = i + Endif + If Lower(Alltrim(var_item)) = 'suma' + lnNrRecalc2 = i + Endif + + Z = 'OX.ITEM' + N + '.VISIBLE=.T.' + &Z + *!* modificare serii numere - 10.2007 + Z = 'OX.ITEM' + N + '.ID_TIPDOC=' + Alltrim(Str(Nvl(id_tipdoc, -99))) + &Z + *!* modificare serii numere - 10.2007 ^ + Z = 'OX.ITEM' + N + '.LABEL_ITEM1.CAPTION="' + Upper(Alltrim(label_item)) + '"' + &Z + lcVar = lcobj + '.' + Alltrim(var_item) + If Type('&lcVar') = 'U' + lEValInit = Evaluate(Alltrim(x_init_val)) + x = AddProperty(&lcobj, Alltrim(var_item), lEValInit) + Endif + If id_item = 66 && adaugare poAct.id_vv401 + lEValInit = 0 + x = AddProperty(&lcobj, 'id_v' + Alltrim(var_item), lEValInit) + Endif + Z = 'OX.ITEM' + N + '.TEXT_ITEM1.CONTROLSOURCE="' + lcobj + '.' + Alltrim(var_item) + '"' + &Z + Z = 'OX.ITEM' + N + '.pcobj = "' + lcobj + '"' + &Z + Z = 'OX.ITEM' + N + '.TEXT_ITEM1.format="' + Alltrim(xformat) + '"' + &Z + * Z='OX.ITEM'+N+'.TEXT_ITEM1.inputmask="'+ALLTRIM(xinputmask)+'"' + If !Empty(Alltrim(xinputmask)) + Z = [OX.ITEM] + N + [.TEXT_ITEM1.inputmask = '] + Evaluate(Alltrim(xinputmask)) + ['] + &Z + Endif + Z = 'OX.ITEM' + N + '.FIS_LISTA="' + Alltrim(FIS_LISTA) + '"' + &Z + Z = 'OX.ITEM' + N + '.CAMP_LISTA="' + Alltrim(camp_lista) + '"' + &Z + Z = 'OX.ITEM' + N + '.LABEL_ITEM="' + Upper(Alltrim(label_item)) + '"' + &Z + Z = 'OX.ITEM' + N + '.TEXT_ITEM1.readonly=xreadonly' + &Z + Z = 'OX.ITEM' + N + '.id_fisier="' + Alltrim(id_fisier) + '"' + &Z + Z = 'OX.ITEM' + N + '.id_item=' + Alltrim(Str(id_item)) + &Z + *!* modificare 20.09.2007 + Z = 'OX.ITEM' + N + '.filtru="' + Alltrim(filtru) + '"' + &Z + *!* modificare 20.09.2007 ^ + Z = 'OX.ITEM' + N + '.nProc_tva=' + Alltrim(Str(cu_proc_tva)) + &Z + *!* modificare 21.08.2013 : dezactivez campul data_scadenta daca e scadenta automata + If Inlist(gcNumeProgram, [ROAFACTURARE], [ROADEVIZE]) And gnScadentaAutomata = 1 And id_item = 5 + Z = 'OX.ITEM' + N + '.TEXT_ITEM1.enabled = .T.' + &Z + Endif + *!* modificare 21.08.2013 ^ + && modificare 06.03 + && casa de marcat + If !Empty(Thisform.variabile) + lcProprObiect = Upper(lcobj + [.] + Alltrim(var_item)) && modificare 14.10.2013 : upper + lcProprFisier = Lower(Alltrim(FIS_LISTA)) + lnindex = Ascan(Thisform.variabile, lcProprObiect, 1, Alen(Thisform.variabile, 1), 1, 15) + If lnindex > 0 + If Thisform.variabile[lnindex, 3] + Z = 'OX.ITEM' + N + '.TEXT_ITEM1.tabstop=.F.' + &Z + If Inlist(lcProprFisier, 'vnom_parteneri') + lcContul = Strextract(lcProprObiect, '.V') + Select xcont + Locate For Val(contpart) = Val(lcContul) + lcContul = cont_part + lcTip = Alltrim(tipuri_part) + lcProprObiectId = 'POACT.ID_V' + Substr(lcProprObiect, 7) && poact.id_v4111 + lnindexId = Ascan(Thisform.variabile, m.lcProprObiectId, 1, Alen(Thisform.variabile, 1), 1, 15) + Replace idpart With Val(Thisform.variabile[lnindexId, 2]) + Replace numepart With Thisform.variabile[lnindex, 2] + &lcProprObiect = Thisform.variabile[lnindex, 2] + &lcProprObiectId = Thisform.variabile[lnindexId, 2] + Endif + Else + Z = 'OX.ITEM' + N + '.TEXT_ITEM1.tabstop=.T.' + &Z + Endif + *!* modificare 31.10.2006 + If Thisform.variabile[lnIndex, 4] + Z = 'OX.ITEM' + N + '.TEXT_ITEM1.enabled=.F.' + &Z + Else + Z = 'OX.ITEM' + N + '.TEXT_ITEM1.enabled=.T.' + &Z + Endif + *!* modificare 31.10.2006 ^ + Endif + Endif + && sfarsit modificare 06.03 + *!* modificare serii numere - 10.2007 + Endif + *!* modificare serii numere - 10.2007 ^ + Select cerere + Endscan + + *!* modificare 05.02 + *!* If lnNrIt <> 0 + *!* Z = [ox.cotaTva.top = ox.item] + Alltrim(Str(lnNrIt)) + [.top] + *!* &Z + *!* This.ITEMS.cotaTVA.Visible = .T. + *!* If lnNrRecalc <> 0 + *!* This.ITEMS.cotaTVA.Tag = Alltrim(Str(lnNrRecalc)) + *!* Else + *!* This.ITEMS.cotaTVA.Tag = Alltrim(Str(lnNrIt)) + *!* Endif + *!* This.ITEMS.label4.Top = This.ITEMS.cotaTVA.Top - This.ITEMS.label4.Height + *!* This.ITEMS.label4.Visible = .T. + + *!* Select cote_tva + *!* Go Top + *!* m.ctva = proc_tva + *!* lnproc = procent + *!* This.ITEMS.cotaTVA.Value = Alltrim(Str(lnproc)) + *!* This.pctva = Alltrim(Str(lnproc)) + *!* This.pntva = m.ctva + *!* Endif + If lnNrIt <> 0 + + Z = [ox.cbo_taxabil.top = ox.item] + Alltrim(Str(lnNrIt)) + [.top] + &Z + This.ITEMS.cbo_Taxabil.Visible = .T. + If lnNrRecalc <> 0 + This.ITEMS.cbo_Taxabil.Tag = Alltrim(Str(lnNrRecalc)) + Else + This.ITEMS.cbo_Taxabil.Tag = Alltrim(Str(lnNrIt)) + Endif + This.ITEMS.lb_taxabil.Top = This.ITEMS.cbo_Taxabil.Top - This.ITEMS.lb_taxabil.Height + This.ITEMS.lb_taxabil.Visible = .T. + + Select crsjtax + Locate For id_jtva_coloana = oxset.id_jtax + If !Found() + Go Top + Endif + lcDenumire = Alltrim(denumire) + This.id_jtax = id_jtva_coloana + This.ntvatax = (cota_Tva + 100 ) / 100 + This.id_jtva = id_tva + This.ITEMS.cbo_Taxabil.Value = lcDenumire + + * COD TAXA SAFT pentru TVA + If m.gl406 + OX.lb_saft.Top = OX.cbo_Taxabil.Top + OX.cbo_Taxabil.Height + 5 + OX.cbo_saft.Top = OX.lb_saft.Top + OX.lb_saft.Height + OX.lb_saft.Visible = .T. + OX.cbo_saft.Visible = .T. + Endif + ELSE + * ar trebui sa fie vizibil doar daca este o operatie taxabila (vezi mai sus) sau Taxa cu retinere la sursa (WHT) + * trebuie verificat in xsets daca setul are nevoie de WHT + If m.lnNrRecalc2<> 0 AND m.gl406 AND oxset.wht + * COD TAXA SAFT + Z = [ox.cbo_saft.top = ox.item] + Alltrim(Str(m.lnNrRecalc2)) + [.top] + &Z + OX.lb_saft.Top = ox.cbo_saft.top && ox.cbo_saft.top - ox.cbo_saft.height + OX.lb_saft.Visible = .T. + OX.cbo_saft.Visible = .T. + ENDIF + Endif + + * COD MECANISM PLATA SAFT + * daca xsets.plata setul are o plata si trebuie sa apara combo mecanism plata + If m.gl406 AND oxset.plata + OX.lb_plata_saft.Visible = .T. + OX.cbo_plata_saft.Visible = .T. + Endif + + + If lnNrIt2 <> 0 + Z = [ox.cbo_netaxabil.top = ox.item] + Alltrim(Str(lnNrIt2)) + [.top] + &Z + This.ITEMS.cbo_netaxabil.Visible = .T. + This.ITEMS.cbo_netaxabil.Tag = Alltrim(Str(lnNrIt2)) + This.ITEMS.lb_netaxabil.Top = This.ITEMS.cbo_netaxabil.Top - This.ITEMS.lb_netaxabil.Height + This.ITEMS.lb_netaxabil.Visible = .T. + + Select crsjnetax + Locate For id_jtva_coloana = oxset.id_jnetax + If !Found() + Go Top + Endif + lcDenumire = Alltrim(denumire) + This.id_jnetax = id_jtva_coloana + This.ntvanetax = (cota_Tva + 100 ) / 100 + This.ITEMS.cbo_netaxabil.Value = lcDenumire + This.nTaxCodeN = taxcode + Endif + *!* modificare 05.02 ^ + + *!* OX.Paint + *!* modificare 16.09.2009 + *!* 07.09.2009 + *!* ox.visible = .T. + *!* 07.09.2009 ^ + *!* modificare 16.09.2009 ^ + Set Index To + *!* modificare v 2.2.20 + If Inlist(oxset.ID_SET, 10457, 10424) OR ALLTRIM(NVL(oxset.tipjurnal,'')) = 'JC' + Thisform.ITEMS.ck_deducere.Visible = .T. + ENDIF + IF INLIST(oxset.id_set, 10609) && limitare deducere 50% cu frm_introd_compact2007 + Thisform.ITEMS.ck_deducere.Value = 1 + ENDIF + *!* modificare v 2.2.20 ^ + Release lcNumeFisIndex + ENDPROC + + PROCEDURE adunadate + *!* 28.05.2009 + *!* alex.lepadatu + *!* anulez efectele conversiei dintre valuta de incasare si valuta facturii + *!* mact.id_valuta = poact.id_valuta2 (daca var_xnote = nume_val2) + *!* 03.06.2009 + *!* marius.mutu + *!* cursul si valuta pentru diferenta de curs din tabelul cu facturile alese in loc de variabile + *!* pentru incasari/plati in alta valuta decat a facturii + *!* i=11=> nume_val, mact.nume_val = poAct.nume_val2 + + *!* 28.02.2012 + *!* marius.mutu + *!* 4426=4427 completare id_set-uri noi pt. notele TVA CE,TI - au TVA taxare inversa + + *!* 20.06.2012 + *!* marius.atanasiu - #3325 + *!* am completat id_valuta si numeval cu valuta aleasa in formular + + *!* 30.09.2015 + *!* marius.mutu + *!* calculcompens_part primeste tnProcTva = 0/1 daca contul este defalcat dupa cota TVA in ireg_parteneri (409,419) + *!* la compensare nu se punea cota de TVA din facturi pt. conturile 409,419 + + *!* 16.12.2015 + *!* marius.mutu + *!* se modifica nota 4426 = 401 in 4426 = 4427 pentru achizitii taxare inversa, CE 20% + + *!* 04.02.2016 + *!* marius.mutu + *!* completare analitice pe baza de grupuri utilizatori si pe baza de explicatii TVA + + *!* 17.08.2016 + *!* marius.mutu + *!* creeaza_note_tva_incasare. exceptie pentru set 10411: repunere cheltuieli in avans 6xx = 471 (471 are acelasi id ca factura 401 si o gaseste in Reg. Cump) + + *!* 30.09.2016 + *!* marius.mutu + *!* in ROAGEST nu completez analitice dupa explicatiile de tva aici, pentru ca nu sunt generate explicatiile de TVA de la articole inca + *!* se completeaza in NIR.inainte_de_do_termin + + *!* 25.01.2017 + *!* marius.mutu + *!* se modifica nota 4426 = 401 in 4426 = 4427 pentru achizitii servicii CE 19% id_jtva = 191 + + + *!* 02.01.2018 + *!* marius.mutu + *!* modificare cont Split TVA banca lei/valuta din 5121/5124 in 5126/5127 + + *!* 22.01.2018 + *!* marius.mutu + *!* Exigibilizare TVA Incasare pentru Bilete la Ordin 403/413 la inregistrarea BO sau la incasarea BO, in functie de optiunea gnRC_BO_EXIGIBILIZARE + + *!* 31.01.2018 + *!* marius.mutu + *!* exigibilizare tva incasare la girare efecte comerciale id_set 10628 403 = 413 + + *!* 15.02.2018 + *!* marius.mutu + *!* contul Y nu era completat + + *!* 12.06.2018 + *!* poAct.nume_val3 -> poAct.nume_val, poAct.id_valuta3 -> poAct.id_valuta (id_set 10633 schimb valutar intre conturi) + + *!* 06.04.2020 + *!* marius.mutu + *!* completez actactan.suma, suma_val din xxnote, daca este completat in xxnote (din note definite de utilizator) + + *!* 13.07.2020 + *!* marius.mutu + *!* completeza actactan.id_sectie, sectie, id_lucrare, nrord, id_responsabil, nresp, id_venchelt, dst_chlt din xnote (note definite de utilizator) + + *!* 18.05.2023 + *!* Regularizare 408 = 401, 418 = 4111 sa puna corect TAXCODE SAFT + + *!* 09.11.2023 + *!* Regularizare 408 = 401, 418 = 4111 sa puna corect TAXCODE SAFT pentru furnizori TVA Incasare 301301 in loc de 301101 + + *!* 05.03.2026 + *!* Completare proc_tva, id_jtva_coloana din xnote pentru notele definite de utilizatori id_set >= 1000000 + + Local lcCont, lcContPart, lcContPartExtins, lcCursor, lcCursorDefTVA, lcDateFactura, lcExceptii + Local lcExtensieC, lcExtensieD, lcFis, lcFisC, lcFisD, lcNumePart, lcProcedura, lcSCTrez, lcSql + Local lcobj, llFactura, llVal, ll_cond, lnCount, lnFelCont, lnIdFact, lnIdPart, lnInvers, lnNrAct, lcExplicatia4118 + Local lnNrcampuri, lnPoz, lnSucces + Local NRNOTE, SIRDEVAR + LOCAL llExigibilizareBOInregistrare, llExigibilizareBOIncasare + Local llFurnizorRTVAI, llN100, llN50, llTVAIncasare, lnIdJtvaNeex + Private pnReturnValue, pcContPart + pnReturnValue = 0 + pcContPart = "" + + lcExplicatia4118 = [] + *:Global R, T, Z, i, mact, opar, otva, pcSirFacturi, ulit + NRNOTE=0 + Store '' To SIRDEVAR + lcobj = This.pcobj + AddProperty(&lcobj,'proc_tva',This.ntvatax) + AddProperty(&lcobj,'id_jnetax',This.id_jnetax) + AddProperty(&lcobj,'id_jtax',This.id_jtax) + AddProperty(&lcobj,'id_jtva',This.id_jtva) + AddProperty(&lcobj,'tva_incasare',Thisform.items.ck_tva_la_incasare.Value) && modificare ROACONT v 2.4.0 + AddProperty(&lcobj,'staxcode',This.nTaxCode) + AddProperty(&lcobj,'staxcoden',This.nTaxCodeN) + AddProperty(&lcobj,'spaymentcode',This.cPaymentCode) + + llTVAIncasare = This.items.ck_tva_la_incasare.Visible And (This.items.ck_tva_la_incasare.Value = 1) And Empty(Nvl(This.FORMGEST,'')) && doar pentru seturile simple (fara gestiune, frm_introd_compact); altfel se afecteaza cod bazat pe conturi din gestiune + Select ACTACTAN + Zap + Scatter Name mact Blank + + Select * From XNOTE; + WHERE ID_SET=Thisform.ID_SET; + INTO Cursor XXNOTE Order By NR_NOTA + + If _Tally=0 + If XSETS.MODEL#-1 && pentru rate-leasing, plati impozite, achizitii furnizori + * DO MESAJ WITH 'SETUL DE NOTE NU ESTE COMPLETAT','' + AMESSAGEBOX("Setul de note nu este completat!",0+48,"Atentie") + Endif + *Thisform.Release + Return + ENDIF + && ADAUG IN ACTACTAN + *SET STEP ON + Select XXNOTE + Go Bott + NRNOTE=NR_NOTA + lnNrcampuri = Fcount('xact')-1 + Select XXNOTE + Scan + R=Recno() + SIRDEVAR='UTIL,DATAORA' + + For i =lnNrcampuri To 1 Step -1 + If Inlist(i,1,7,8,10,17,18,19,20) + Loop + Endif + Select XXNOTE + Z='VAR_XNOTE=ALLTRIM(X' + Alltrim(Str(i)) + ')' + &Z + Select XACT + Locate + T='VAR_XACT=ALLTRIM(X' + Alltrim(Str(i)) + ')' + &T + If !Empty(VAR_XNOTE) + If (Type('MACT.'+ VAR_XNOTE) # 'U' And !(Inlist(i,25,28) And VAR_XNOTE = 'nract') And i <> 21) Or INLIST(i,2,11) && fel document, valuta + *!* 03.06.2009 + *!* marius.mutu + *!* i=11=> nume_val, mact.nume_val = poAct.nume_val2 + *!* Z='MACT.'+ VAR_XNOTE + '=' + This.pcobj + '.' +VAR_XNOTE + Z='MACT.'+ Iif(i=2, 'fdoc', Iif(i=11, 'nume_val', VAR_XNOTE)) + '=' + This.pcobj + '.' +VAR_XNOTE + &Z + If !Empty(VAR_XACT) + *!* 28.05.2009 + *!* alex.lepadatu + *!* mact.id_valuta = poact.id_valuta2 (daca var_xnote = nume_val2) + Z='MACT.'+ VAR_XACT + '=' + This.pcobj + '.' + Iif(Lower(VAR_XNOTE) = 'nume_val2','id_valuta2',Iif(Lower(VAR_XNOTE) = 'nume_val3','id_valuta3',Iif(Lower(VAR_XNOTE) = 'fdocpl','id_fdoc2',VAR_XACT))) + &Z + Endif + Else + If Type(This.pcobj + '.' +VAR_XNOTE) # 'U' + Z='MACT.'+ VAR_XACT + '=' + This.pcobj + '.' +VAR_XNOTE + &Z + Endif + Endif + + Endif + Select XXNOTE + Next + + Select XXNOTE + mact.SCD=XSCD + mact.SCC=XSCC + mact.ascd=xascd + mact.ascc=xascc + mact.ID_SET=ID_SET + mact.NR_NOTA=NR_NOTA + mact.proc_Tva = This.ntvatax + If Empty(Nvl(mact.explicatia, '')) + mact.explicatia = explicatia + Endif + If Empty(Nvl(mact.explicatia4, '')) + mact.explicatia4 = explicatia4 + Endif + If Empty(Nvl(mact.explicatia5, '')) + mact.explicatia5 = explicatia5 + ENDIF + IF !EMPTY(xxnote.suma) AND EMPTY(mact.suma) + mact.suma = xxnote.suma + ENDIF + IF !EMPTY(xxnote.suma_val) AND EMPTY(mact.suma_val) + mact.suma_val = xxnote.suma_val + ENDIF + + IF !EMPTY(xxnote.sectie) AND EMPTY(mact.sectie) + mact.sectie = xxnote.sectie + ENDIF + IF !EMPTY(xxnote.id_sectie) AND EMPTY(mact.id_sectie) + mact.id_sectie = xxnote.id_sectie + ENDIF + IF !EMPTY(xxnote.nrord) AND EMPTY(mact.nrord) + mact.nrord = xxnote.nrord + ENDIF + IF !EMPTY(xxnote.id_lucrare) AND EMPTY(mact.id_lucrare) + mact.id_lucrare = xxnote.id_lucrare + ENDIF + IF !EMPTY(xxnote.nresp) AND EMPTY(mact.nresp) + mact.nresp = xxnote.nresp + ENDIF + IF !EMPTY(xxnote.id_responsabil) AND EMPTY(mact.id_responsabil) + mact.id_responsabil = xxnote.id_responsabil + ENDIF + IF !EMPTY(xxnote.dst_chlt) AND EMPTY(mact.dst_chlt) + mact.dst_chlt = xxnote.dst_chlt + ENDIF + IF !EMPTY(xxnote.id_venchelt) AND EMPTY(mact.id_venchelt) + mact.id_venchelt = xxnote.id_venchelt + ENDIF + IF !EMPTY(xxnote.contract) AND EMPTY(mact.contract) + mact.contract = xxnote.contract + ENDIF + IF !EMPTY(xxnote.id_ctr) AND EMPTY(mact.id_ctr) + mact.id_ctr = xxnote.id_ctr + ENDIF + IF !EMPTY(xxnote.taxcode) AND EMPTY(NVL(mact.taxcode,0)) + mact.taxcode = xxnote.taxcode + ENDIF + IF !EMPTY(xxnote.paymentcode) AND EMPTY(NVL(mact.paymentcode,'')) + mact.paymentcode = xxnote.paymentcode + ENDIF + + * ******************** + * Suprascriere id_jtva_coloana si proc_tva pentru note definite de utilizator + * ********************* + If !EMPTY(NVL(xxnote.proc_tva,0)) AND mact.id_set >= 1000000 + mact.proc_tva = xxnote.proc_tva + ENDIF + If !EMPTY(NVL(xxnote.id_jtva_coloana,0)) AND mact.id_set >= 1000000 + mact.id_jtva_coloana = xxnote.id_jtva_coloana + Endif + + Select ACTACTAN + Append Blank + Gath Name mact + If !Empty(mact.neimpozab) + Replace proc_Tva With This.ntvanetax,SUMA With neimpozab + Endif + + *!* 04.06.2009 + *!* marius.mutu + If Nvl(XXNOTE.suma_negativ,0) = 1 + Replace SUMA With -SUMA, suma_val With -suma_val In ACTACTAN + Endif + + Scatter Name mact Blank + Select XXNOTE + Goto R + Endscan + + Select ACTACTAN + Locate For Inlist('U',Upper(Substr(SCD,4,1)),Upper(Substr(SCC,4,1))) + If Found() + ulit=Substr(m.contg,4,1) + Replace All SCD With Left(SCD,3) + ulit For Inlist('U',Upper(Substr(SCD,4,1))) + Replace All SCC With Left(SCC,3) + ulit For Inlist('U',Upper(Substr(SCC,4,1))) + Endif + + *---------------------------------------------------------------------------- + *!* 28.05.2009 + *!* alex.lepadatu + *!* anulez efectele conversiei dintre valuta de incasare si valuta facturii + *!* IF [ocompensari_val_2] $ LOWER(XSETS.FRM_PLATA) + *!* LOCATE FOR(SCD = '5124' AND SCC = '5124') OR (SCD = '5121' AND SCC = '5121') + *!* IF FOUND() + *!* REPLACE SUMA WITH -SUMA, suma_val WITH -suma_val + *!* &&, suma_2 With -suma_2 + *!* ENDIF + *!* ENDIF + + *!* modificare ROACONT v 2.5.40 + *!* IF USED('XCONT') + If Used('XCONT') && AND THISFORM.ID_SET < 1000000 + *!* modificare ROACONT v 2.5.40 ^ + * IF TYPE('XSETS.COMPENS')#'U' and (!EMPTY(XSETS.FRM_PLATA) OR !EMPTY(XSETS.COMPENS)) + Select xcont + Locate For Pozitie # Fel_Cont And Cu_Inregistrari = 1 + If Found() + If Type('XSETS.valuta')#'U' And XSETS.valuta + llVal = .T. + Else + llVal = .F. + Endif + + *!* modificare v 2.5.27 + If Empty(XSETS.frm_plata) && Thisform.id_set = 10613 + * conturile 409 si 419 sunt defalcate dupa TVA in inregistrari parteneri + pnReturnValue = 0 + pcContPart = Alltrim(xcont.cont_part) + lnSucces = goExecutor.oSelect2Value("select max(cu_proc_tva) as cu_proc_tva from vconfig_cont_ireg where cont = ?pcContPart", @pnReturnValue) + If lnSucces < 0 + AMESSAGEBOX(goExecutor.cEroare,0+16,"Eroare") + Else + poAct.proc_Tva = m.pnReturnValue + Endif + + If calculcompens_part(xcont.cont_part, poAct.proc_Tva, llVal, poAct.id_valuta, poAct.id_valuta2, poAct.nume_val2) + lcFis = 'CalculCompensare' + Else + Return + Endif + Else + *!* modificare v 2.5.27 ^ + If llVal + lcProcedura = 'calculcompens_valuta' + ll_cond=.T. + Else + lcProcedura = 'calculcompens' + ll_cond=.F. + Endif + + Select xcont + Calculate Cnt() To lnCount For Cu_Inregistrari = 1 And Pozitie # Fel_Cont + If lnCount = 1 + Select xcont + Locate For Cu_Inregistrari = 1 And Pozitie # Fel_Cont + lcCont = Alltrim(cont_part) + lcFis = 'actcv' + lcCont + Else + Locate For Cu_Inregistrari = 1 And Pozitie = 0 And Fel_Cont = 1 + lcFisD = 'actcv' + Alltrim(cont_part) + Locate For Cu_Inregistrari = 1 And Pozitie = 1 And Fel_Cont = 0 + lcFisC = 'actcv' + Alltrim(cont_part) + If Used(lcFisD) And Used(lcFisC) + Do &lcProcedura With lcFisD, lcFisC In ocompensari.prg + lcFis = 'CalculCompensare' + Else + lcFis = 'EroareCompletare' + Endif + Endif + *!* modificare v 2.5.27 + Endif + *!* modificare v 2.5.27 ^ + + Set Deleted On + Private oact,osalv + Select ACTACTAN + Go Bottom + Scatter Name osalv + + Delete + If Used(lcFis) + *!* modificare v 2.5.26 + Local lcCursorTVAIncTemp + lcCursorTVAIncTemp = Sys(2015) + copiaza_structura_cursor([actactan],lcCursorTVAIncTemp) + *!* modificare v 2.5.26 ^ + + Select (lcFis) + Scan For ales + Scatter Name oact + + If Type(lcFis+'.ascd')!="U" + osalv.ascd=oact.ascd + If Type('oact.nract') # 'U' + osalv.perecheD = oact.nract + Else + osalv.perecheD = oact.nr_doc_d + Endif + If Type('oact.id_fact') # 'U' + osalv.id_factD = oact.id_fact + Else + osalv.id_factD = oact.id_factD + Endif + + If Empty(osalv.ascc) And !Empty(This.ACONT) + osalv.ascc=This.ACONT + Endif + Endif + + If Type(lcFis+'.ascc')!="U" + osalv.ascc=oact.ascc + If Type('oact.nract') # 'U' + osalv.perecheC=oact.nract + If Type('glListareChitanta')<>'U' And glListareChitanta + *!* modificare v 2.5.37 : am adaugat si oact.serie_act + lcDateFactura = Iif(!Isnull(oact.serie_act),Alltrim(oact.serie_act)+' ','')+; + TRANSFORM(oact.nract) + [ din ] + Dtoc(oact.dataact) + [, ] + If !(lcDateFactura$pcSirFacturi) + pcSirFacturi = pcSirFacturi + lcDateFactura + Endif + Endif + Else + osalv.perecheC = oact.nr_doc_c + Endif + + If Type('oact.id_fact') # 'U' + osalv.id_factC = oact.id_fact + Else + osalv.id_factC = oact.id_factC + Endif + + If Empty(osalv.ascd) And !Empty(This.ACONT) + osalv.ascd=This.ACONT + Endif + Endif + + *!* If Type(lcFis+'.proc_tva')!="U" + *!* osalv.proc_Tva=oact.proc_Tva + *!* Endif + If Type(lcFis+'.id_jtvacol')!="U" + osalv.id_jtva_coloana=oact.id_jtvacol + If Type(lcFis+'.proc_tva')!="U" + Select jtva_coloane + Locate For id_jtva_coloana = osalv.id_jtva_coloana + If Found() + osalv.proc_Tva=(cota_tva+100)/100 + Else + osalv.proc_Tva = 0 + Endif + If Empty(Nvl(oact.id_jtvacol,0)) And !Empty(oact.proc_Tva) + Do Case + Case ((Alltrim(osalv.SCD)$'408' And Alltrim(osalv.SCC)$'401,404,462') Or ; + (Alltrim(osalv.SCC)$'409' And Alltrim(osalv.SCD)$'401,404,462')) + Do Case + Case osalv.proc_Tva = 1.24 + osalv.id_jtva_coloana = 156 + Case osalv.proc_Tva = 1.20 + osalv.id_jtva_coloana = 176 + Case osalv.proc_Tva = 1.19 + osalv.id_jtva_coloana = 106 + Case osalv.proc_Tva = 1.09 + osalv.id_jtva_coloana = 111 + Case osalv.proc_Tva = 1.05 + osalv.id_jtva_coloana = 154 + Case osalv.proc_Tva = 1 + osalv.id_jtva_coloana = 113 + Endcase + Case ((Alltrim(osalv.SCC)$'418' And Alltrim(osalv.SCD)$'4111,4118,461') Or ; + (Alltrim(osalv.SCD)$'419' And Alltrim(osalv.SCC)$'4111,4118,461')) + Do Case + Case osalv.proc_Tva = 1.24 + osalv.id_jtva_coloana = 15 + Case osalv.proc_Tva = 1.20 + osalv.id_jtva_coloana = 27 + Case osalv.proc_Tva = 1.19 + osalv.id_jtva_coloana = 1 + Case osalv.proc_Tva = 1.09 + osalv.id_jtva_coloana = 3 + Case osalv.proc_Tva = 1.05 + osalv.id_jtva_coloana = 13 + Case osalv.proc_Tva = 1 + osalv.id_jtva_coloana = 8 + Endcase + Endcase + Endif + Endif + Endif + + + *** SCHIMB ID_JTVA NEEX PENTRU REGULARIZARE FACTURA NESOSITA/NEINTOCMITA + *** ID_JTVA SE IA DIN 408, 418, DAR TREBUIE SA FIE CONFORM BIFEI CK_TVA_LA_INCASARE + *** 408 = 401 / 411 = 418 + *!* modificare v 2.4.25 : am scos conditia (Alltrim(osalv.SCD)$'419' And Alltrim(osalv.SCC)$'4111,4118,461') + **! pentru ca imi punea expl. de baza / TVA neexigibil la imperechere facturi - avans ( 419 - 4111 ) + If m.llTVAIncasare And (((Alltrim(osalv.SCD)$'408' And Alltrim(osalv.SCC)$'401,404,462') Or ; + (Alltrim(osalv.SCC)$'409' And Alltrim(osalv.SCD)$'401,404,462')) Or ; + ((Alltrim(osalv.SCC)$'418' And Alltrim(osalv.SCD)$'4111,4118,461'))) + lnIdJtvaNeex = getIdJtvaColoana(osalv.id_jtva_coloana, 1) + If m.lnIdJtvaNeex <> 0 + osalv.id_jtva_coloana = m.lnIdJtvaNeex + Endif + + Endif + + * 18.05.2023 + * Regularizare 408 = 401, 4111 = 418 sa puna corect TAXCODE SAFT + If (((Alltrim(osalv.SCD)$'408' And Alltrim(osalv.SCC)$'401,404,462') Or ; + (Alltrim(osalv.SCC)$'409' And Alltrim(osalv.SCD)$'401,404,462')) Or ; + ((Alltrim(osalv.SCC)$'418' And Alltrim(osalv.SCD)$'4111,4118,461'))) + osalv.taxcode = GetTaxCode(m.gnAn, m.gnLuna, osalv.dataact, osalv.id_jtva_coloana, m.llTVAIncasare, .F., .F.) + Endif + + *!* modificare v 2.5.41 + *** CLIENTI INCERTI - CRESTEREA CREANTELOR 4118 = 411 + *** fiecare document pastreaza nract, dataact, datascad originale, in scop de evaluare penalitati + If osalv.SCD = '4118' + If Empty(m.lcExplicatia4118) + *** se suprascria explicatia cu numerele facturilor + lcExplicatia4118 = Alltrim(osalv.fdoc) + ' ' + Alltrim(Transform(osalv.nract)) + ' ' + Alltrim(Transform(osalv.dataact)) + Endif + osalv.explicatia = m.lcExplicatia4118 + osalv.explicatia5 = 'CLIENTI INCERTI' + osalv.id_fdoc = Evl(Nvl(oact.id_fdoc,0),osalv.id_fdoc) + osalv.fdoc = Evl(Nvl(oact.fdoc,[]),osalv.fdoc) + osalv.serie_act = oact.serie_act + osalv.nract = oact.nract + osalv.dataact = Evl(Nvl(oact.dataact,{}),osalv.dataact) + osalv.datascad = oact.datascad + osalv.id_lucrare = oact.id_lucrare + osalv.id_venchelt = oact.id_venchelt + Endif + *!* modificare v 2.5.41 ^ + + Select ACTACTAN + Append Blank + Gather Name osalv + If Type('oact.sumaachi') # 'U' + Replace SUMA With oact.sumaachi + Endif + + *!* ROACONT v 2.5.36 : am modificat conditia !ISNULL(oact.id_lucrare) in !EMPTY(NVL(oact.id_lucrare,0)) + If Type(lcFis+'.id_lucrare')!="U" And !Empty(Nvl(oact.id_lucrare,0)) + Select ACTACTAN + Replace id_lucrare With oact.id_lucrare + Replace nrord With oact.nrord + Else + Select ACTACTAN + Replace id_lucrare With osalv.id_lucrare + Replace nrord With osalv.nrord + Endif + + *!* ROACONT v 2.5.36 : am modificat conditia !ISNULL(oact.id_ctr) in !EMPTY(NVL(oact.id_ctr,0)) + If Type(lcFis+'.id_ctr')!="U" And !Empty(Nvl(oact.id_ctr,0)) + Select ACTACTAN + Replace id_ctr With oact.id_ctr + Replace contract With oact.contract + Else + Select ACTACTAN + Replace id_ctr With osalv.id_ctr + Replace contract With osalv.contract + Endif + + *!* ROACONT v 2.5.36 : am modificat conditia !ISNULL(oact.id_responsabil) in !EMPTY(NVL(oact.id_responsabil,0)) + If gnRESP_LA_INCASARE = 0 And Type(lcFis+'.id_responsabil')!="U" And !Empty(Nvl(oact.id_responsabil,0)) + Select ACTACTAN + Replace id_responsabil With oact.id_responsabil + Replace nresp With oact.nresp + Else + Select ACTACTAN + Replace id_responsabil With osalv.id_responsabil + Replace nresp With osalv.nresp + Endif + + If ll_cond + *!* 03.06.2009 + *!* marius.mutu + *!* cursul si valuta pentru diferenta de curs din tabelul cu facturile alese in loc de variabile + *!* pentru incasari/plati in alta valuta decat a facturii + Select ACTACTAN + *!* modificare 20.06.2012 ( vezi la inceput ) + *!* REPLACE SUMA WITH oact.achilei, suma_val WITH oact.sumaachi2, CURS WITH oact.cursval, id_valuta WITH oact.id_valuta, nume_val WITH oact.numeval + Replace SUMA With oact.achilei, suma_val With oact.sumaachi2, Curs With oact.cursval, id_valuta With &lcobj..id_valuta, nume_val With &lcobj..nume_val + Do Case + Case oact.difplus>0 + Append Blank + Gather Name osalv + *!* 19.01.2015: 765-> 7651 + *!* REPLACE SCC WITH '765 ', ascc WITH '', SUMA WITH oact.difplus,explicatia WITH 'DIFERENTE FAVORABILE' + Replace SCC With '7651', ascc With '', SUMA With oact.difplus,explicatia With 'DIFERENTE FAVORABILE' + *!* 19.01.2015: 765-> 7651 ^ + + *!* modificare 20.06.2012 ( vezi la inceput ) + *!* REPLACE suma_val WITH 0,CURS WITH oact.cursdif,perecheC WITH 0, id_factC WITH 0, id_valuta WITH oact.id_valuta, nume_val WITH oact.numeval + Replace suma_val With 0,Curs With oact.cursdif,perecheC With 0, id_factC With 0, id_valuta With &lcobj..id_valuta, nume_val With &lcobj..nume_val + Case oact.difminus>0 + Append Blank + Gather Name osalv + *!* modificare 20.06.2012 ( vezi la inceput ) + *!* REPLACE SCD WITH '665 ', ascd WITH '', SUMA WITH oact.difminus,explicatia WITH 'DIFERENTE NEFAVORABILE', id_valuta WITH oact.id_valuta, nume_val WITH oact.numeval + *!* 19.01.2015: 665-> 6651 + *!* REPLACE SCD WITH '665 ', ascd WITH '', SUMA WITH oact.difminus,explicatia WITH 'DIFERENTE NEFAVORABILE', id_valuta WITH &lcobj..id_valuta, nume_val WITH &lcobj..nume_val + Replace SCD With '6651', ascd With '', SUMA With oact.difminus,explicatia With 'DIFERENTE NEFAVORABILE', id_valuta With &lcobj..id_valuta, nume_val With &lcobj..nume_val + *!* 19.01.2015: 665-> 6651 ^ + Replace suma_val With 0,Curs With oact.cursdif ,perecheD With 0, id_factD With 0 + Endcase + Endif + + + * TVA la incasare pentru efecte comerciale devine exigibil la data incasarii prin banca sau la data girarii + * Bilete la ordin - TVA la incasare devine exigibil in functie de optiune, la inregistrare BO sau la incasarea BO + * Editura Eduard a inregistrat (gresit) operatia de girare ca si operatiile de acceptare BO si dorea sa se exigibilizeze la acceptare + llExigibilizareBOInregistrare = IIF(TYPE('gnRC_BO_EXIGIBILIZARE') = 'N', IIF(NVL(m.gnRC_BO_EXIGIBILIZARE,0) = 1, .T., .F.), .F.) && 413 = 4111 sau 401 = 403 + llExigibilizareBOIncasare = IIF(TYPE('gnRC_BO_EXIGIBILIZARE') = 'N', IIF(NVL(m.gnRC_BO_EXIGIBILIZARE,0) = 0, .T., .F.), .T.) && 5311/5121 = 413 + + *!* modificare ROACONT v 2.4.0 + If Type('oact.tva_incasare_a') <> 'U' + IF Inlist(Thisform.ID_SET,10302,10414) AND !m.llExigibilizareBOInregistrare + * + ELSE + If oact.tva_incasare_a = 1 OR (Inlist(Thisform.ID_SET, 10305, 10307, 10316, 10628) AND m.llExigibilizareBOIncasare) && 5xx-413 / 403-5xx / 405-5xx / 403-413 + + Select (lcCursorTVAIncTemp) + *!* nu mai am nevoie de nract ca la insert, pentru ca perechec si pereched vin completate de pe Oracle + If Type('oact.tva_incasare_d') = 'N' + If oact.tva_incasare_dtip = 'D' OR Thisform.ID_SET = 10628 + Locate For id_fact = oact.id_factD + If !Found() + Append Blank + Gather Name osalv + Replace id_fact With oact.id_factD, SUMA With oact.sumaachi + Else + Replace SUMA With SUMA + oact.sumaachi + Endif + Endif + If oact.tva_incasare_ctip = 'C' OR Thisform.ID_SET = 10628 + Locate For id_fact = oact.id_factC + If !Found() + Append Blank + Gather Name osalv + Replace id_fact With oact.id_factC, SUMA With oact.sumaachi + Else + Replace SUMA With SUMA + oact.sumaachi + ENDIF + ENDIF + ELSE + *** Incasare/Plata efecte comerciale + Locate For id_fact = oact.id_fact + If !Found() + Append Blank + Gather Name osalv + Replace id_fact With oact.id_fact, SUMA With oact.sumaachi + Else + Replace SUMA With SUMA + oact.sumaachi + ENDIF + Endif + Endif && oact.tva_incasare_a + ENDIF && Inlist(Thisform.ID_SET,10302,10414) AND !m.llExigibilizareBOInregistrare + Endif && Type('oact') + *!* modificare ROACONT v 2.4.0 ^ + Select (lcFis) + Endscan && lcFis + *!* modificare v 2.5.26 + + IF thisform.id_set <> 10411 && 10411: repunere cheltuieli in avans 6xx = 471 (471 are acelasi id ca factura 401 si o gaseste in Reg. Cump) + Thisform.creeaza_note_tva_incasare(lcCursorTVAIncTemp) + ENDIF + Use In (lcCursorTVAIncTemp) + *!* modificare v 2.5.26 ^ + Endif && USED(lcFis) + Release oact + Release osalv + + Endif + ENDIF + + *!* modificare 22.11.2006 + If gcNumeProgram='ROACONT' + * "Trezorerie > Banca > Banca in valuta > Incasari > Transferuri intre conturi aceeasi valuta" + If Type("poact.cursdeb")<>"U" And Type("poact.curscred")<>"U" And ; + !Empty(poAct.CURSDEB) And !Empty(poAct.CURSCRED) && pt alte programe tb sa introduc variabile globale(M.CURSDEB,m.CURSCRED) + Select ACTACTAN + Replace All SUMA With Round(poAct.suma_2*Min(poAct.CURSDEB,poAct.CURSCRED),gnPC) + Do Case + Case poAct.CURSDEB>poAct.CURSCRED + Select ACTACTAN + Locate For Inlist(SCD,'5124','5314') && si lista poate continua (vezi Planul de Conturi) + Scatter Name mact + Replace Curs With poAct.CURSCRED + Append Blank + Gather Name mact + *!* 19.01.2015: 765-> 7651 + *!* REPLACE SCC WITH '765 ',SUMA WITH ROUND(mact.suma_val*(poact.CURSDEB-poact.CURSCRED),gnPC),explicatia WITH 'DIFERENTE FAVORABILE' + + Replace SCC With '7651',SUMA With Round(mact.suma_val*(poAct.CURSDEB-poAct.CURSCRED),gnPC),explicatia With 'DIFERENTE FAVORABILE' + *!* 19.01.2015: 765-> 7651 ^ + + Replace suma_val With 0,Curs With poAct.CURSDEB + Case poAct.CURSDEB 6651 + *!* REPLACE SCD WITH '665 ',SUMA WITH ROUND(mact.suma_val*(-poact.CURSDEB+poact.CURSCRED),gnPC),explicatia WITH 'DIFERENTE NEFAVORABILE' + Replace SCD With '6651',SUMA With Round(mact.suma_val*(-poAct.CURSDEB+poAct.CURSCRED),gnPC),explicatia With 'DIFERENTE NEFAVORABILE' + *!* 19.01.2015: 665-> 6651 ^ + Replace suma_val With 0,Curs With poAct.CURSCRED + Endcase + Endif + + *!* 04.06.2009 + *!* marius.mutu + If .F. + Select ACTACTAN + Locate For Inlist(SCD,'667') + If Found() + Scatter Name mact + If mact.proc_Tva # 1 + Select jtva_coloane + Locate For id_jtva_coloana = mact.id_jtva_coloana + If Found() + mact.id_jtva_coloana = id_tva + Endif + Select ACTACTAN + Append Blank + Gather Name mact + Replace SCD With SCC,SCC With '4427' ,SUMA With Round((mact.proc_Tva-1)*-mact.SUMA,gnPC) + Else + Replace neimpozab With mact.SUMA + Endif + Endif + Locate For SCC='767' + If Found() + Scatter Name mact + If mact.proc_Tva # 1 + Select jtva_coloane + Locate For id_jtva_coloana = mact.id_jtva_coloana + If Found() + mact.id_jtva_coloana = id_tva + Endif + Select ACTACTAN + Append Blank + Gather Name mact + Replace SCC With SCD,SCD With '4426' ,SUMA With Round((mact.proc_Tva-1)*-mact.SUMA,gnPC) + Else + Replace neimpozab With mact.SUMA + Endif + Endif + Endif + Endif + *!* modificare 22.11.2006 ^ + + + *!* 04.06.2009 + *!* marius.mutu + If .F. + If This.ntvatax <> 0 + lcSql = [select distinct (case when debit = 0 then cont else cont_c end) as scd, ] + ; + [(case when debit = 1 then cont else cont_c end) as scc ] + ; + [from ] + gcs + [.exceptii_ireg where invers = 1] + lcCursor = [Tva_exceptii] + + lnSucces = goExecutor.oExecute(lcSql,lcCursor) + If lnSucces > 0 + Select tva_exceptii + Scan + Scatter Name otva + Select ACTACTAN + Locate For Alltrim(SCD) = Alltrim(otva.SCD) And Alltrim(SCC) = Alltrim(otva.SCC) + If Found() + Locate For (SCD = '4426' And SCC = otva.SCD) Or (SCC = '4427' And SCD = otva.SCC) + If Found() + Replace SUMA With -SUMA + Endif + Endif + Select tva_exceptii + Endscan + Endif + If Used('tva_exceptii') + Use In tva_exceptii + Endif + Endif + Endif + If Type('XSETS.EXPL_FIXA')#'U' + Select XSETS + Scatter Fields EXPL_FIXA,aleg_cont Name opar + + Select ACTACTAN + If !Empty(opar.EXPL_FIXA) + Replace All explicatia With opar.EXPL_FIXA For Empty(explicatia) + Endif + If opar.aleg_cont + Replace All SCD With CN For Upper(Alltrim(SCD))='X' + Replace All SCC With CN For Upper(Alltrim(SCC))='X' + + If Type('pcAcn')#'U' + Replace All ascd With pcAcn For Upper(Alltrim(SCD))='X' + Replace All ascc With pcAcn For Upper(Alltrim(SCC))='X' + Endif + + If Type('CNY')#'U' + Replace All scd With m.CNY For Upper(Alltrim(SCD))='Y' + Replace All scc With m.CNY For Upper(Alltrim(SCC))='Y' + Endif + + If Type('pcACNY')#'U' + Replace All ascd With m.pcACNY For Upper(Alltrim(SCD))='Y' + Replace All ascc With m.pcACNY For Upper(Alltrim(SCC))='Y' + Endif + Endif + + Release opar + Endif + + If Used('xcont') + + + Select xcont + Scan + lcContPart = Alltrim(cont_part) + lcContPartExtins = Alltrim(contpart) && cont+[0] sau [1] in functie de pozitie cont(folosit pt diferentiere banca incasari/plati) + If Alltrim(lcContPartExtins) = Alltrim(lcContPart) + lcExtensieD = [] + lcExtensieC = [] + Else + lcExtensieD = [0] + lcExtensieC = [1] + Endif + + lcExceptii = Alltrim(conturi_exc) + lcExceptii = Iif(Empty(lcExceptii),'-1',lcExceptii) + lcExceptii=Strtran(lcExceptii, 'X','0',1,100,1) + + lnIdPart = idpart + lcNumePart = Upper(Alltrim(numePart)) + lnFelCont = Fel_Cont + lnPoz = Pozitie + lnInvers = invers + * llCuIreg = IIF(cu_inregistrari = 0, .F., .T.) + llFactura = Iif(Cu_Inregistrari = 1 And Pozitie = Fel_Cont, .T., .F.) + Select ACTACTAN + Scan For Inlist(lcContPartExtins,Alltrim(SCD) + lcExtensieD, Alltrim(SCC) + lcExtensieC) + If SCD = lcContPart + Replace id_partd With lnIdPart + Replace partd With lcNumePart + + If llFactura And (lnFelCont = 0 Or (Inlist(Val(SCC),&lcExceptii) And lnInvers = 1)) + Replace id_fact With -1 + Endif + *!* 05.10.2006 + *!* MARIUS.MUTU + *!* SA NU PUNA ID_FACTD = -1 DECAT DACA NU E CONT EXCEPTIE + If llFactura And lnFelCont = 1 And Empty(id_factD) And !(Inlist(Val(SCC),&lcExceptii) And lnInvers = 1) + Replace id_factD With -1 + Endif + Endif + If SCC = lcContPart + Replace id_partc With lnIdPart + Replace partc With lcNumePart + + If llFactura And (lnFelCont = 1 Or (Inlist(Val(SCD),&lcExceptii) And lnInvers = 1)) + Replace id_fact With -1 + Endif + *!* 05.10.2006 + *!* MARIUS.MUTU + *!* SA NU PUNA ID_FACTC = -1 DECAT DACA NU E CONT EXCEPTIE + If llFactura And lnFelCont = 0 And Empty(id_factC) And !(Inlist(Val(SCD),&lcExceptii) And lnInvers = 1) + Replace id_factC With -1 + Endif + Endif + Endscan + Select xcont + Endscan + Endif + + *!* && FURNIZORI - REFACTURARE NU TREBUIE SA AIBA TVA - NU AM VRUT SA SCHIMB M.CTVA INAINTE DE LANS(10539) + If This.ID_SET = 10539 + Select ACTACTAN + Replace All neimpozab With SUMA,proc_Tva With 1,id_jtva_coloana With This.id_jnetax + Endif + + Select ACTACTAN + Replace All an With gnAn,luna With gnLuna, id_util With gnidutil + + *!* 28.02.2012 + *** TAXARE INVERSA RO/NON-UE + *** select * from jtva_coloane t where DENUMIRE LIKE '%TI%' AND (COLOANA_JC IS NOT NULL OR COLOANA_JC IS NOT NULL) AND ID_TVA IS NULL AND COTA_TVA <> 0 ORDER BY ID_JTVA_COLOANA + Replace All SCC With '4427' , ascc With '' For Inlist(id_jtva_coloana,138,140,142,144,146,163,187,193,207,217,219,225) + *** COMUNITATEA EUROPEANA + *** select * from jtva_coloane t where DENUMIRE LIKE '%CE%' AND (COLOANA_JC IS NOT NULL OR COLOANA_JC IS NOT NULL) AND ID_TVA IS NULL AND COTA_TVA <> 0 ORDER BY ID_JTVA_COLOANA + *!* modificare ROACONT v 2.2.25 : erau 164,166,168 in loc de 165,167,169 + Replace All SCC With '4427' , ascc With '' For Inlist(id_jtva_coloana,128,130,134,149,151,153,161,165,167,169,183,185,191,223,227,233) + *!* 28.02.2012 ^ + *!* modificare ROACONT v 2.4.0 + Replace All SCC With '4428' For Inlist(id_jtva_coloana,22,24,26,30,32,38,42) And SCC = '4427' && TVA LIVR.INTERN NEEX. + Replace All SCD With '4428' For Inlist(id_jtva_coloana,171,173,175,179,189,211,215) And SCD = '4426' && TVA ACH.INTERN NEEX. + *!* modificare ROACONT v 2.4.0 ^ + Do nrord With ('actactan') + Release mact + + Select ACTACTAN + Go Top + *!* modificare v 2.4.2 + If Upper(Alltrim(Nvl(XSETS.tipJurnal, ''))) = 'JC' && FURNIZORI / PASIV + lcSCTrez = 'scc' + Else + lcSCTrez = 'scd' + Endif + + *** TVA INCASARE + *** caut linia cu PLATA 401 = 5XX / INCASAREA 5XX = 411 + Locate For Inlist(Alltrim(&lcSCTrez),'5121','5124','5311','5314', '542') + If Found() And &lcobj..tva_incasare = 1 + Insert Into ACTACTAN(NR_NOTA,luna,an,serie_act,nract,SCD,ascc,SCC,; + SUMA,suma_val,perecheD,perecheC,explicatia4,explicatia5,Curs,id_util,; + id_responsabil,nresp,id_venchelt,dst_chlt,id_lucrare,nrord,; + id_ctr,contract,id_sectie,sectie,proc_Tva,ID_SET,id_fact,; + id_factD,id_factC,id_partd,partd,id_partc,partc,; + id_sucursala,sucursala,id_fdoc,fdoc,id_gestin,id_jtva_coloana, taxcode,; + gestin,id_gestout,gestout,id_valuta,nume_val,dataact,dataireg); + SELECT a.NR_NOTA, a.luna, a.an,; + IIF(Type(lcobj+[.nrchitanta])<>'U',[],Evaluate(lcobj+[.serie_act])) As serie_act,; + IIF(Type(lcobj+[.nrchitanta])<>'U',Evaluate(lcobj+[.nrchitanta]),Evaluate(lcobj+[.nract])) As nract,; + '4426' As SCD,a.ascd As ascc,'4428' As SCC,; + a.SUMA, a.suma_val,a.nract As perecheD,a.perecheC,a.explicatia4,a.explicatia5,a.Curs,a.id_util,; + a.id_responsabil,a.nresp,a.id_venchelt,a.dst_chlt,a.id_lucrare,a.nrord,; + a.id_ctr,a.contract,a.id_sectie,a.sectie,a.proc_Tva,a.ID_SET,-5 As id_fact,; + 0 As id_factD,0 As id_factC,0 As id_partd,'' As partd, 0 As id_partc, '' As partc,; + a.id_sucursala,a.sucursala,; + IIF(Type(lcobj+[.id_fdoc2])<>'U',Evaluate(lcobj+[.id_fdoc2]),Evaluate(lcobj+[.id_fdoc])) As id_fdoc,; + IIF(Type(lcobj+[.fdocpl])<>'U',Evaluate(lcobj+[.fdocpl]),Evaluate(lcobj+[.fdoc])) As fdoc,; + 0 As id_gestin,; + c.id_tva As id_jtva_coloana,; + CAST(GetTaxCode(m.gnAn, m.gnLuna, a.dataact, c.id_tva) as N(6) NULL) as taxcode,; + '' As gestin,0 As id_gestout,'' As gestout,a.id_valuta,a.nume_val,a.dataact,a.dataireg ; + FROM ACTACTAN a ; + LEFT Join jtva_coloane b On a.id_jtva_coloana = b.id_tva ; + LEFT Join jtva_coloane c On b.id_jtva_ex = c.id_jtva_coloana ; + WHERE a.SCD = '4428' And Like('4*',a.SCC) And !Isnull(b.id_jtva_ex) + + Insert Into ACTACTAN(NR_NOTA,luna,an,serie_act,nract,SCC,ascd,SCD,; + SUMA,suma_val,perecheD,perecheC,explicatia4,explicatia5,Curs,id_util,; + id_responsabil,nresp,id_venchelt,dst_chlt,id_lucrare,nrord,; + id_ctr,contract,id_sectie,sectie,proc_Tva,ID_SET,id_fact,; + id_factD,id_factC,id_partd,partd,id_partc,partc,; + id_sucursala,sucursala,id_fdoc,fdoc,id_gestin,id_jtva_coloana,taxcode,; + gestin,id_gestout,gestout,id_valuta,nume_val,dataact,dataireg); + SELECT a.NR_NOTA, a.luna, a.an,; + IIF(Type(lcobj+[.nrchitanta])<>'U',[],Evaluate(lcobj+[.serie_act])) As serie_act,; + IIF(Type(lcobj+[.nrchitanta])<>'U',Evaluate(lcobj+[.nrchitanta]),Evaluate(lcobj+[.nract])) As nract,; + '4427' As SCC,a.ascc As ascd,'4428' As SCD,; + a.SUMA, a.suma_val, a.perecheD,a.nract As perecheC,a.explicatia4,a.explicatia5,a.Curs,a.id_util,; + a.id_responsabil,a.nresp,a.id_venchelt,a.dst_chlt,a.id_lucrare,a.nrord,; + a.id_ctr,a.contract,a.id_sectie,a.sectie,a.proc_Tva,a.ID_SET,-5 As id_fact,; + 0 As id_factD,0 As id_factC,0 As id_partd,'' As partd, 0 As id_partc, '' As partc,; + a.id_sucursala,a.sucursala,; + IIF(Type(lcobj+[.id_fdoc2])<>'U',Evaluate(lcobj+[.id_fdoc2]),Evaluate(lcobj+[.id_fdoc])) As id_fdoc,; + IIF(Type(lcobj+[.fdocpl])<>'U',Evaluate(lcobj+[.fdocpl]),Evaluate(lcobj+[.fdoc])) As fdoc,; + 0 As id_gestin,; + c.id_tva As id_jtva_coloana,; + CAST(GetTaxCode(m.gnAn, m.gnLuna, a.dataact, c.id_tva) as N(6) NULL) as taxcode,; + '' As gestin,0 As id_gestout,'' As gestout,a.id_valuta,a.nume_val,a.dataact,a.dataireg ; + FROM ACTACTAN a ; + LEFT Join jtva_coloane b On a.id_jtva_coloana = b.id_tva ; + LEFT Join jtva_coloane c On b.id_jtva_ex = c.id_jtva_coloana ; + WHERE a.SCC = '4428' And Like('4*',a.SCD) And !Isnull(b.id_jtva_ex) + Endif + Go Top + *!* modificare v 2.4.2 ^ + + *!* modificare v 2.0.20 + * limitare deducere 50% ID_JTVA = 1004 + &lcobj..deducere = Thisform.items.ck_deducere.Value + If &lcobj..deducere = 1 + llN50 = (oxset.ID_SET = 10609) or (Thisform.items.ck_deducere.Value = 1) + llN100 = .F. + llFurnizorRTVAI = Iif(Type('thisform.items.oPartenerRTVAI.leinRtvai') = 'L', This.itemS.oPartenerRTVAI.leinRtvai, .F.) + + Insert Into ACTACTAN(NR_NOTA,serie_act,luna,an,nract,ascd,SCD,SCC,; + SUMA,suma_val,perecheD,perecheC,explicatia4,explicatia5,Curs,id_util,; + id_responsabil,nresp,id_venchelt,dst_chlt,id_lucrare,nrord,; + id_ctr,contract,id_sectie,sectie,proc_Tva,ID_SET,id_fact,; + id_factD,id_factC,id_partd,partd,id_partc,partc,; + id_sucursala,sucursala,id_fdoc,fdoc,id_gestin,id_jtva_coloana,taxcode,; + gestin,id_gestout,gestout,id_valuta,nume_val,dataact,dataireg) ; + SELECT a.NR_NOTA, a.serie_act, a.luna, a.an, a.nract, a.ascd, a.SCD, '4426' As SCC,; + ROUND(Round(a.SUMA*(a.proc_Tva-1), gnPC) * 0.5,gnPC) As SUMA, ; + ROUND(Round(a.suma_val*(a.proc_Tva-1),gnPC) * 0.5,gnPC) As suma_val,; + a.perecheD,a.perecheC,a.explicatia4,a.explicatia5,a.Curs,a.id_util,; + a.id_responsabil,a.nresp,a.id_venchelt,a.dst_chlt,a.id_lucrare,a.nrord,; + a.id_ctr,a.contract,a.id_sectie,a.sectie,0 As proc_Tva,ID_SET,id_fact,; + 0 As id_factD,0 As id_factC,0 As id_partd,'' As partd, 0 As id_partc, '' As partc,; + a.id_sucursala,a.sucursala,a.id_fdoc,a.fdoc,0 As id_gestin,1004 As id_jtva_coloana,; + CAST(GetTaxCode(m.gnAn, m.gnLuna, a.dataact, a.id_jtva_coloana, m.llFurnizorRTVAI, m.llN50, m.llN100) as N(6) NULL) as taxcode,; + '' As gestin,0 As id_gestout,'' As gestout,a.id_valuta,a.nume_val,a.dataact,a.dataireg ; + FROM ACTACTAN a ; + LEFT Join jtva_coloane b On a.id_jtva_coloana = b.id_jtva_coloana ; + WHERE (Nvl(a.id_jtva_coloana,0) = 0 Or (a.id_jtva_coloana <> 0 And b.afisat > 0)) ; + AND !Isnull(b.id_tva) ; && modificare v 2.4.5 + And Inlist(SCC,'401','404') + Endif + *!* modificare v 2.0.20 ^ + *!* modificare v 2.4.2 + Update ACTACTAN Set tva_incasare = &lcobj..tva_incasare + *!* modificare v 2.4.2 ^ + + Do completare_gruputil_analitice In oproceduri_comune.prg + * in ROAGEST nu completez analitice dupa explicatiile de tva aici, pentru ca nu sunt generate explicatiile de TVA de la articole inca + * se completeaza in NIR.inainte_de_do_termin + If oxset.model <= 1 && NU ROAGEST, ROAOBINV + Do completare_tva_analitice In oproceduri_comune.prg + + DO completare_taxname IN oproceduri_comune.prg + DO completare_paymentname IN oproceduri_comune.prg + DO completare_explicatie_tva IN oproceduri_comune.prg + ENDIF + + *!* 02.01.2018 + *!* modificare cont Split TVA banca lei/valuta din 5121/5124 in 5126/5127 + SELECT actactan + REPLACE ALL scd WITH '5126' FOR scd = '5121' AND 'TVA'$UPPER(ALLTRIM(partd)) + REPLACE ALL scc WITH '5126' FOR scc = '5121' AND 'TVA'$UPPER(ALLTRIM(partc)) + + REPLACE ALL scd WITH '5127' FOR scd = '5124' AND 'TVA'$UPPER(ALLTRIM(partd)) + REPLACE ALL scc WITH '5127' FOR scc = '5124' AND 'TVA'$UPPER(ALLTRIM(partc)) + GO TOP + ENDPROC + + PROCEDURE adunadatenir + Local NRNOTE,SIRDEVAR + NRNOTE=0 + Store '' To SIRDEVAR + Set Safety Off + + Select ACTACTAN + Zap + + + Select * From XNOTE; + WHERE ID_SET=Thisform.ID_SET; + INTO Cursor XXNOTE Order By NR_NOTA + + + If _Tally=0 + * Do MESAJ With 'SETUL DE NOTE NU ESTE COMPLETAT','' + AMESSAGEBOX("Setul de note nu este completat!",0+48,"Atentie") + Thisform.Release() + Endif + + + &&ADAUG IN ACTACTAN + + Select XXNOTE + Go Bott + NRNOTE=NR_NOTA + + Select XXNOTE + SCAN + nn=nr_nota*10 + R=Recno() + SIRDEVAR='UTIL,DATAORA' + For I=1 To 27 + If Inlist(I,17,18) + Loop + Endif + N=Alltrim(Str(I)) + ZZ='(Y'+N+'=.T.)' + *If &ZZ + Select XXNOTE + U='X'+N + Z='VARDEMEM=ALLTRIM('+U+')' + &Z + + Select XACT + Go Top + Z='t=ALLTRIM(xact.'+U+')' + &Z + If !Empty(vardemem) + Z='M.'+T+'=M.'+vardemem + &Z + SIRDEVAR=SIRDEVAR+','+T + Endif + + Select XXNOTE + *Endif + Next + Select XXNOTE + m.SCD=XSCD + m.SCC=XSCC + m.ascd=xascd + m.ascc=xascc + Select ACTACTAN + Append Blank + Z='GATH FIEL '+SIRDEVAR+' MEMV' + &Z + Gather Fields SCD,SCC,ascd,ascc Memv + REPLACE nr_nota WITH nn + Select XXNOTE + Goto R + Endscan + + Select ACTACTAN + Do nrord With ('actactan') + + ENDPROC + + PROCEDURE Click + *!* *!* formtermin12 + *!* pl_verificat=.T. + ENDPROC + + PROCEDURE cpaymentcode_assign + Lparameters tcPaymentCode + Local lcPaymentCode + If !m.gl406 + Return + Endif + lcPaymentCode = IIF(TYPE('tcPaymentCode') = 'C', ALLTRIM(NVL(m.tcPaymentCode,'')), '') + This.cPaymentCode = m.lcPaymentCode + + * Fac vizibile cbo_plata_saft in caz ca xsets.plata era diferit de 1 si totusi fel document are asociat cod plata SAFT + IF !EMPTY(m.lcPaymentCode) + This.items.lb_plata_saft.Visible = .T. + This.items.cbo_plata_saft.Visible = .T. + ENDIF + ENDPROC + + PROCEDURE creeaza_note_tva_incasare + LPARAMETERS tcCursorTVAIncasare + LOCAL loDateTVAInc + LOCAL lcCursorDefTVA, lcSql, llExigibilizareBOIncasare, llExigibilizareBOInregistrare + + * Bilete la ordin - TVA la incasare devine exigibil in functie de optiune, la inregistrare BO sau la incasarea BO + llExigibilizareBOInregistrare = IIF(TYPE('gnRC_BO_EXIGIBILIZARE') = 'N', IIF(NVL(m.gnRC_BO_EXIGIBILIZARE, 0) = 1, .T., .F.), .F.) && 413 = 4111 sau 401 = 403 + llExigibilizareBOIncasare = IIF(TYPE('gnRC_BO_EXIGIBILIZARE') = 'N', IIF(NVL(m.gnRC_BO_EXIGIBILIZARE, 0) = 0, .T., .F.), .T.) && 5311/5121 = 413 + IF USED(tcCursorTVAIncasare) + SELECT (tcCursorTVAIncasare) + SCAN + SCATTER NAME loDateTVAInc + DO CASE + CASE INLIST(THISFORM.id_set, 10305, 10307, 10316) AND m.llExigibilizareBOIncasare && 5xx - 403 / 413 - 5xx + * Incasare/Plata efecte comerciale + lcSql = [{call pack_contab.defalca_tva_incasare_docp(] + ALLTRIM(STR(loDateTVAInc.id_fact)) + [,] + ; + ['] + IIF(INLIST(THISFORM.id_set, 10305, 10307), [C], [D]) + [',] + ; + ALLTRIM(STR(loDateTVAInc.suma, 16, m.gnPC)) + [,] + ; + ALLTRIM(STR(loDateTVAInc.proc_tva, 16, 4)) + [,] + ; + [1,] + ; + [?gnLuna,?gnAn)}] + CASE THISFORM.id_set = 10628 AND m.llExigibilizareBOIncasare && 413 = 403 + * Girare efecte comerciale + IF MOD(RECNO(),2) = 1 + lcSql = [{call pack_contab.defalca_tva_incasare_docp(] + ALLTRIM(STR(loDateTVAInc.id_factd)) + [,] + ; + ['D',] + ; + ALLTRIM(STR(loDateTVAInc.suma, 16, m.gnPC)) + [,] + ; + ALLTRIM(STR(loDateTVAInc.proc_tva, 16, 4)) + [,] + ; + [1,] + ; + [?gnLuna,?gnAn)}] + ELSE + lcSql = [{call pack_contab.defalca_tva_incasare_docp(] + ALLTRIM(STR(loDateTVAInc.id_factc)) + [,] + ; + ['C',] + ; + ALLTRIM(STR(loDateTVAInc.suma, 16, m.gnPC)) + [,] + ; + ALLTRIM(STR(loDateTVAInc.proc_tva, 16, 4)) + [,] + ; + [1,] + ; + [?gnLuna,?gnAn)}] + ENDIF + OTHERWISE + lcSql = [{call pack_contab.defalca_tva_incasare(] + ALLTRIM(STR(loDateTVAInc.id_fact)) + [,] + ; + ALLTRIM(STR(loDateTVAInc.suma, 16, m.gnPC)) + [,] + ; + ALLTRIM(STR(loDateTVAInc.proc_tva, 16, 4)) + [,] + ; + IIF(!EMPTY(NVL(loDateTVAInc.id_jtva_coloana, 0)) AND !(loDateTVAInc.SCD = '408' AND loDateTVAInc.SCC = '401'), [0], [1]) + [,] + ; + [?gnLuna,?gnAn)}] + ENDCASE + lcCursorDefTVA = SYS(2015) + IF goExecutor.oExecuta(lcSql, lcCursorDefTVA) + INSERT INTO ACTACTAN(NR_NOTA, serie_act, luna, an, nract, ascd, SCD, ascc, SCC, ; + suma, explicatia4, explicatia5, CURS, id_util, ; + id_responsabil, nresp, id_venchelt, dst_chlt, id_lucrare, nrord, ; + id_ctr, contract, id_sectie, sectie, proc_tva, id_set, id_fact, ; + perecheC, perecheD, id_factD, id_factC, id_partd, partd, id_partc, partc, ; + id_sucursala, sucursala, id_fdoc, fdoc, ; + id_gestin, gestin, id_gestout, gestout, ; + id_jtva_coloana, id_valuta, nume_val, dataact, dataireg, taxcode) ; + SELECT RECCOUNT('actactan') + RECNO() AS NR_NOTA, loDateTVAInc.serie_act, ; + loDateTVAInc.luna, loDateTVAInc.an, loDateTVAInc.nract, a.ascd, a.SCD, a.ascc, a.SCC, ; + a.suma, loDateTVAInc.explicatia4, loDateTVAInc.explicatia5, loDateTVAInc.CURS, loDateTVAInc.id_util, ; + loDateTVAInc.id_responsabil, loDateTVAInc.nresp, loDateTVAInc.id_venchelt, loDateTVAInc.dst_chlt, ; + loDateTVAInc.id_lucrare, loDateTVAInc.nrord, loDateTVAInc.id_ctr, loDateTVAInc.contract, ; + loDateTVAInc.id_sectie, loDateTVAInc.sectie, a.proc_tva, loDateTVAInc.id_set, a.id_fact, ; + a.perecheC, a.perecheD, ; + 0 AS id_factD, 0 AS id_factC, 0 AS id_partd, '' AS partd, 0 AS id_partc, '' AS partc, ; + loDateTVAInc.id_sucursala, loDateTVAInc.sucursala, loDateTVAInc.id_fdoc, loDateTVAInc.fdoc, ; + loDateTVAInc.id_gestin, loDateTVAInc.gestin, loDateTVAInc.id_gestout, loDateTVAInc.gestout, ; + a.id_jtva_coloana, loDateTVAInc.id_valuta, loDateTVAInc.nume_val, loDateTVAInc.dataact, loDateTVAInc.dataireg, ; + CAST(GetTaxCode(loDateTVAInc.an, loDateTVAInc.luna, loDateTVAInc.dataact, a.id_jtva_coloana) as N(6) NULL) as taxcode ; + FROM (lcCursorDefTVA) a + + USE IN (lcCursorDefTVA) + ENDIF + ENDSCAN + ENDIF + + ENDPROC + + PROCEDURE do_arata_butoane + Lparameters tnTip, tlArata + *!* tnTip = 1 - renunt + *!* 2 - terminat + *!* 3 - inainte + *!* 4 - inapoi + *!* 5 - verificare + Local lcCaption, lnLeft, lnSpatiere + lcCaption = [] + lnSpatiere = 2 + lnLeft = Thisform.Width - lnSpatiere - Thisform.but_terMIN1.Width + *!* ordine butoane : + *!* precedent, renunt, verifica, urmator, termina + Do Case + Case tnTip = 5 + Thisform.but_verifica1.Visible = tlArata + Case tnTip = 4 + Thisform.but_precedent1.Visible = tlArata + Case tnTip = 3 + Thisform.but_urmator1.Visible = tlArata + Case tnTip = 2 + Thisform.but_terMIN1.Visible = tlArata + Otherwise + Thisform.but_renunt1.Visible = tlArata + Endcase + If Thisform.but_terMIN1.Visible + lcCaption = lcCaption + [; CTRL+F = Continuare] + With Thisform.but_terMIN1 + .Anchor = 0 + .Left = lnLeft + .Anchor = 8 + Endwith + lnLeft = lnLeft - lnSpatiere - Thisform.but_terMIN1.Width + Endif + If Thisform.but_verifica1.Visible + lcCaption = lcCaption + [; CTRL+F = Verificare] + With Thisform.but_verifica1 + .Anchor = 0 + .Left = lnLeft + .Anchor = 8 + Endwith + lnLeft = lnLeft - lnSpatiere - Thisform.but_verifica1.Width + Endif + If Thisform.but_urmator1.Visible + lcCaption = lcCaption + [; CTRL+F = Continuare] + With Thisform.but_urmator1 + .Anchor = 0 + .Left = lnLeft + .Anchor = 8 + Endwith + lnLeft = lnLeft - lnSpatiere - Thisform.but_urmator1.Width + Endif + If Thisform.but_renunt1.Visible + lcCaption = lcCaption + [; ESC = Renunþare] + With Thisform.but_renunt1 + .Anchor = 0 + .Left = lnLeft + .Anchor = 8 + Endwith + lnLeft = lnLeft - lnSpatiere - Thisform.but_renunt1.Width + Endif + If Thisform.but_precedent1.Visible + lcCaption = lcCaption + [; ESC = Înapoi] + With Thisform.but_precedent1 + .Anchor = 0 + .Left = lnLeft + .Anchor = 8 + Endwith + lnLeft = lnLeft - lnSpatiere - Thisform.but_precedent1.Width + Endif + With Thisform._shape2 + .Anchor = 0 + .Left = lnLeft + Thisform.but_terMIN1.Width + .Anchor = 8 + Endwith + Thisform.lb_shortcuts1.Caption = Substr(lcCaption,3) + Thisform.Refresh() + ENDPROC + + PROCEDURE do_precedent + Thisform.AutoCenter = .F. + Thisform.lb_titlu_alb_b121.Caption = Proper(Thisform.cdenumire_set) + Thisform.incarca_butoane() + Thisform.items.Visible = .T. + Thisform.Width = Thisform.items.Width + Thisform.verif.Visible = .F. + Thisform.Height = Thisform._shape1.Height + Thisform.items.Height + Thisform.Width = Thisform.items.Width + Thisform.AutoCenter = .T. + Thisform.Refresh() + + ENDPROC + + PROCEDURE do_urmator + If Thisform.verif_complet() + If !Empty(Thisform.FORMGEST) + lcObj = Thisform.pcobj + Thisform.Hide + + Select actactan + lcFormGest = Upper(Alltrim(Thisform.FORMGEST)) + If Inlist(Left(lcFormGest,6),"WEBNIR","VALOAR","SCHIMB","INVENT","RESTNI") + lcObj = lcFormGest && "WEBNIR"/ webnir_retetar + Endif + + *!* modificare facturare in valuta + If oxset.cursval + If citeste_cursuri_stoc(poAct.v8,poAct.id_valuta_vanz) + Select crscursuri + Locate For id_valuta = poAct.id_valuta_vanz + If Found() + poAct.Curs = Curs / multiplicator + Endif + Select actactan + Else + gnButon = 2 + Endif + Endif + *!* modificare facturare in valuta ^ + + If gnButon <> 2 + *!* modificare ROAGEST v 2.2.0 + If Type(m.lcObj) = 'O' + If Type(lcObj+".tva_incasare") = 'U' + AddProperty(&lcObj,'tva_incasare',Thisform.items.ck_tva_la_incasare.Value) + Else + lcValoare = lcObj+".tva_incasare="+Alltrim(Str(Thisform.items.ck_tva_la_incasare.Value)) + &lcValoare + ENDIF + + * Se foloseste la introdnir.UpdateExplicatieSAFT + If Type(lcObj+".oPartenerRTVAI") = 'U' + AddProperty(&lcObj,'oPartenerRTVAI',NULL) + ENDIF + * oPartenerRTVAI exista doar daca este factura de achizitie/furnizor + IF TYPE('Thisform.items.oPartenerRTVAI') = 'O' + &lcObj..oPartenerRTVAI = Thisform.items.oPartenerRTVAI + ENDIF + ENDIF + + * La factura de vanzare en-gros se alege explicatia TVA inainte de articolele din factura + IF TYPE(m.lcObj + ".id_jtva_coloana") <> 'U' + &lcObj..id_jtva_coloana = This.id_jtax + ENDIF + IF TYPE(m.lcObj + ".taxcode") <> 'U' + &lcObj..taxcode = This.nTaxCode + ENDIF + + lcCorectie = IIF(this.lCorectie, 'corectie,' + ALLTRIM(TRANSFORM(this.nCod)), '') + *!* modificare ROAGEST v 2.2.0 ^ + lnTermin = lans_nir_bon(oxset.id_set, lcObj, m.lcCorectie) && IN ointroduceri.prg + gnButon = lnTermin + Endif + Else + pl_verificat=.T. + Thisform.ADUNADATE() + buton = 1 + gnButon = 1 + Endif + Thisform.Release() + Endif + + ENDPROC + + PROCEDURE do_verifica + *!* 21.10.2011 + *!* marius.mutu + *!* verif.but_termin1.setfocus - era focus pe butonul precedent si se intorcea inapoi in items, pe butonul renunt + If Thisform.verif_complet() + pl_verificat=.T. + Thisform.ADUNADATE() + Select ACTACTAN + GO TOP && modificare v 2.5.27 + Thisform.AutoCenter = .F. + thisform.lb_titlu_alb_b121.Caption = [VERIFICAREA SETULUI DE NOTE CONTABILE] + Thisform.salveaza_butoane() + Thisform.verif.Visible=.T. + *!* 21.10.2011 + Thisform.but_termin1.setfocus() + *!* 21.10.2011 ^ + Thisform.verif.GRID1.Refresh() + Thisform.items.Visible = .F. + *thisform.WindowState = 2 + thisform.verif.Height = MAX(500, INT(_screen.Height*0.7)) + thisform.Width = INT(_screen.Width*0.7) + + Thisform.Height = Thisform._shape1.Height + Thisform.verif.Height + Thisform.Width = Thisform.verif.Width + 200 + Thisform.AutoCenter = .T. + Thisform.Refresh() + Thisform.verif.Anchor = 15 && modificare v 2.5.27 + buton = 1 + gnButon = 1 + Endif + ENDPROC + + PROCEDURE inainte_de_do_termin + Local lCompletezPartener,llRet,llReturn + llReturn = .F. + lCompletezPartener = .T. + llRet = verificare_note_contabile('actactan', Thisform.lverificaacont,lCompletezPartener) + Select ACTACTAN + Go Top + If Thisform.verif.Visible + Thisform.verif.GRID1.SetFocus() + Endif + If !llRet + Thisform.verif.GRID1.column7.Text1.SetFocus() && cont + Else + *!* modificare v 2.5.26 + *!* If Type('glListareBonFiscalCont')<>'U' And glListareBonFiscalCont + *!* creare_bon_fiscal() && IN oproceduri_casademarcat.prg + *!* Endif + *!* If Type('glListareChitanta')<>'U' And glListareChitanta + *!* Thisform.AlwaysOnTop = .F. + *!* listeaza_chitanta(pcSirFacturi) && IN oproceduri_incasari.prg + *!* Thisform.AlwaysOnTop = .T. + *!* Endif + *!* modificare v 2.5.26 ^ + llReturn = .T. + Endif + Return llReturn + ENDPROC + + PROCEDURE incarca_butoane + *!* tnTip = 1 - renunt + *!* 2 - terminat + *!* 3 - inainte + *!* 4 - inapoi + *!* 5 - verificare + For i = 1 To 5 + Thisform.do_arata_butoane(i,Thisform.butoane[i]) + Endfor + ENDPROC + + PROCEDURE Init + Set Escape On + DODEFAULT() + *!* modificare ROAAUTO v 2.0.35 + *!* *!* modificare ROASITOP + *!* *!* If _program='cont' And XSETS.MODEL#-1 + *!* If InList(_program,'cont','sitop') And XSETS.MODEL#-1 + *!* *!* modificare ROASITOP ^ + *!* Local lnProcTva + *!* Thisform.do_arata_butoane(5,.T.) + *!* Else + *!* Thisform.do_arata_butoane(5,.F.) + *!* Endif + Thisform.do_arata_butoane(2,.F.) + Do Case + Case Inlist(gcNumeProgram,[ROACONT],[ROASITOP]) And xsets.model#-1 + Local lnProcTva + Thisform.do_arata_butoane(5,.T.) + Case !Empty(xsets.FORMGEST) Or xsets.model=-1 + Thisform.do_arata_butoane(3,.T.) + Otherwise + Thisform.do_arata_butoane(5,.T.) + Endcase + *!* modificare ROAAUTO v 2.0.35 ^ + If Used('crsjnetax') + Use In crsjnetax + Endif + If Used('crsjtax') + Use In crsjtax + Endif + + this.cnetaxabil = '' + This.ntvanetax = 1 + This.id_jtax = NULL + This.id_jtva = NULL + This.id_jnetax = NULL + This.nTaxCodeN = NULL + + Select * From jtva_coloane Where afisat = 2 Order By ordine Into Cursor crsjnetax + With This.itemS + .cbo_Netaxabil.RowSource = [crsjnetax.denumire] + Select crsjnetax + Locate For id_jtva_coloana = XSETS.id_jnetax + If Found() + This.cnetaxabil = denumire + This.ntvanetax = (100 + cota_tva) / 100 + This.id_jnetax = id_jtva_coloana + .cbo_Netaxabil.Value = This.cnetaxabil + This.nTaxCodeN = taxcode + Endif + endwith + *!* modificare ROACONT v 2.4.0 + With Thisform.items.ck_tva_la_incasare + .Value = goCalendar.tva_incasare + If gnAn >= 2013 And !Isnull(xsets.tipjurnal) + .Visible = .T. + Else + .Visible = .F. + Endif + Endwith + *!* Select * From jtva_coloane WHERE afisat >= 1 Order By ordine Into Cursor crsjtax && Where afisat = 1 + *!* With This.itemS + *!* .cbo_Taxabil.RowSource = [crsjtax.denumire] + *!* Select crsjtax + *!* Locate For id_jtva_coloana = XSETS.id_jtax + *!* If Found() + *!* This.ctaxabil = denumire + *!* This.ntvatax = (100 + cota_tva) / 100 + *!* This.id_jtax = id_jtva_coloana + *!* This.id_jtva = id_tva + *!* .cbo_Taxabil.Value = This.ctaxabil + *!* Endif + *!* ENDWITH + *!* modificare ROACONT v 2.4.0 ^ + + this.verif.gridextra1.setup() + ENDPROC + + PROCEDURE KeyPress + Lparameters nKeyCode, nShiftAltCtrl + Local llRenunt, llUrmator, llVerific + llRenunt = Thisform.but_renunt1.Visible + llVerific = Thisform.but_verifica1.Visible + llUrmator = Thisform.but_urmator1.Visible + llPrecedent = Thisform.but_precedent1.Visible + llTerminat = Thisform.but_termin1.Visible + Do Case + Case nKeyCode=27 And nShiftAltCtrl=0 && ESC && RENUNT + Nodefault + Do Case + Case llPrecedent + Thisform.do_precedent() + Case llRenunt + If aMessagebox("Sunteti sigur ca doriti sa inchideti fereastra?",4+32+256,"Confirmare")==6 + Thisform.do_renunt() + Endif + Endcase + Case nKeyCode=6 And nShiftAltCtrl=2 && CTRL + F && TERMINAT / VERIFIC / URMATOR + Nodefault + Do Case + Case llVerific + Thisform.do_verifica() + Case llUrmator + Thisform.do_urmator() + Otherwise + Thisform.do_termin() + Endcase + Otherwise + DoDefault(nKeyCode, nShiftAltCtrl) + Endcase + + ENDPROC + + PROCEDURE Load + pl_verificat=.f. + ENDPROC + + PROCEDURE ntaxcode_assign + Lparameters tnTaxCode + + IF !m.gl406 + RETURN + ENDIF + This.nTaxCode = tnTaxCode + + Local lcProcentTaxa + lcProcentTaxa = '' + + IF SEEK(m.tnTaxCode, 'saft_taxtable', 'taxcode') + lcProcentTaxa = Alltrim(Transform(saft_taxtable.procent_taxa)) + '%' + ENDIF + + This.items.lb_saft.Caption = 'Taxa SAFT' + Iif(!Empty(NVL(This.nTaxCode,0)), ' (' + Alltrim(Transform(This.nTaxCode)) + ' ' + m.lcProcentTaxa + ')', '') + * Schimb in culoarea rosie pentru a atentiona utilizatorul ca valoarea a fost schimbata + This.items.lb_saft.ForeColor = Rgb(255, 0, 0) + + This.items.lb_saft.Refresh() + This.items.cbo_saft.Refresh() + + ENDPROC + + PROCEDURE Release + *!* 17.08.2016 + *!* marius.mutu + *!* id_set <> 99996 && factura anulata are valoare 0 + + *!* 10.08.2017 + *!* marius.mutu + *!* pentru corectie document gestiune se sterge documentul anterior si apoi se face scrierea + + Local lcCont, lcFis, lcFisC, lcFisD, llModificare, llSucces, lnCount, lnScrieSterge + Set Escape Off + Local lcNumeFisIndex + *!* modificare serie numere - 10.2007 + If buton = 2 + poGeneratorNumere.dezaloca_numere() + Else + &&14oct2008 ~ v2.0.78 + &&pastrez numarul alocat initial pentru a-l putea dezloca la release chiar daca se apasa terminat, doar daca numarul nirului este # de numarul alocat + *!* modificare ROAAUTO v 2.0.35 : daca se parcurgea Thisform.items.controls nu-mi mai facea Release + Select cerere + Scan For !Isnull(id_tipdoc) + poGeneratorNumere.verifica_numar(id_tipdoc, Evaluate(This.pcobj + '.' + Alltrim(var_item))) + Endscan + *!* For Each oitem In Thisform.iteMS.Controls + *!* If Type('oitem.id_tipdoc') = 'N' + *!* If !Inlist(oitem.id_tipdoc ,-1,-99) + *!* poGeneratorNumere.verifica_numar(oitem.id_tipdoc ,Evaluate(oitem.text_item1.ControlSource)) + *!* Endif + *!* Endif + *!* Next + *!* modificare ROAAUTO v 2.0.35 ^ + &&14oct2008 ~ v2.0.78 ^ + Endif + + *!* For i = 1 To 20 + *!* If poGeneratorNumere.paPlaje(i,1)<>0 + *!* poGeneratorNumere.verifica_numar(i,.nract) + *!* ENDIF + *!* ENDFOR + *!* If buton = 2 And Thisform.iteMS.numar_plaja1.id_numar # 0 + *!* Thisform.iteMS.numar_plaja1.dezalocare_numar() + *!* Endif + *!* modificare serie numere - 10.2007 ^ + + If buton = 1 And OXSET.MODEL = 1 && CONTABILIZARE + Delete From ACTACTAN Where SUMA = 0 AND id_set <> 99996 && factura anulata are valoare 0 + *!* modificare v 2.5.26 + + llSucces = .T. + + IF m.llSucces + If oscrie_in_fisiere() > 0 + If Type('glListareBonFiscalCont') <> 'U' And glListareBonFiscalCont + creare_bon_fiscal() && IN oproceduri_casademarcat.prg + Endif + If Type('glListareChitanta') <> 'U' And glListareChitanta + Thisform.AlwaysOnTop = .F. + listeaza_chitanta(pcSirFacturi) && IN oproceduri_incasari.prg + Thisform.AlwaysOnTop = .T. + Endif + Endif + *!* modificare v 2.5.26 ^ + ENDIF && llSucces + *!* 10.08.2017 ^ + Endif + + If Used('actactan') And XSETS.MODEL # -1 + Use In ACTACTAN + Endif + + If Used('xcont') And XSETS.MODEL # -1 + Select xcont + Calculate Cnt() To lnCount For cu_inregistrari = 1 And pozitie # fel_cont + Do Case + Case lnCount = 1 + Locate For cu_inregistrari = 1 And pozitie # fel_cont + lcCont = Alltrim(contpart) + lcFis = 'actcv' + lcCont + If Used(lcFis) + Use In (lcFis) + Endif + Case lnCount > 1 + Locate For cu_inregistrari = 1 And pozitie = 0 And fel_cont = 1 + lcFisD = 'actcv' + Alltrim(contpart) + Locate For cu_inregistrari = 1 And pozitie = 1 And fel_cont = 0 + lcFisC = 'actcv' + Alltrim(contpart) + lcFis = 'CalculCompensare' + If Used(lcFis) + Use In (lcFis) + Endif + If Used(lcFisD) + Use In (lcFisD) + Endif + If Used(lcFisC) + Use In (lcFisC) + Endif + Otherwise + * + Endcase + Use In xcont + Endif + + If Used('tpart') + Use In tpart + Endif + If Used('cerere') + Use In cerere + Endif + With This.iteMS + .cbo_Netaxabil.RowSource = [] + .cbo_taxabil.RowSource = [] + .cbo_saft.RowSource = [] + Endwith + + Use In (SELECT('crsjnetax')) + Use In (SELECT('crsjtax')) + USE IN (SELECT('crsTaxTable')) + + lcNumeFisIndex = Thisform.cnumefisindex + If !Empty(lcNumeFisIndex) And File(lcNumeFisIndex) + Delete File &lcNumeFisIndex + Endif + Release lcNumeFisIndex + ENDPROC + + PROCEDURE salveaza_butoane + *!* tnTip = 1 - renunt + *!* 2 - terminat + *!* 3 - inainte + *!* 4 - inapoi + *!* 5 - verificare + Thisform.butoane[1] = Thisform.but_renunt1.Visible + Thisform.butoane[2] = Thisform.but_terMIN1.Visible + Thisform.butoane[3] = Thisform.but_urmator1.Visible + Thisform.butoane[4] = Thisform.but_precedent1.Visible + Thisform.butoane[5] = Thisform.but_verifica1.Visible + Thisform.do_arata_butoane(1,.F.) + Thisform.do_arata_butoane(3,.F.) + Thisform.do_arata_butoane(5,.F.) + Thisform.do_arata_butoane(4,.T.) + Thisform.do_arata_butoane(2,.T.) + ENDPROC + + PROCEDURE setvariabile + lnnrvar=Alen(This.variabile,1) + + For i=1 To lnnrvar + If Empty(This.variabile[i,1]) + Exit + Endif + + lcVarName=Alltrim(This.variabile[i,1]) + If Type(lcVarName) = "U" + lcObiect = Substr(lcVarName,1,At(".",lcVarName,1)-1) + lcCamp = Substr(lcVarName,At(".",lcVarName,1)+1) + AddProperty(&lcObiect,lcCamp) + Endif + lcvartype=Type(lcVarName) + VarValue=This.variabile[i,2] + Do Case + Case lcvartype = "C" + luvarvalue = Alltrim(VarValue) + &lcVarName. = luvarvalue + Case lcvartype = "Y" + luvarvalue = Ntom(Val(VarValue)) + &lcVarName. = luvarvalue + Case lcvartype = "N" + luvarvalue = Val(VarValue) + &lcVarName. = luvarvalue + Case lcvartype = "T" + luvarvalue = Ctot(VarValue) + &lcVarName. = luvarvalue + Case lcvartype = "D" + luvarvalue = Ctod(VarValue) + &lcVarName. = luvarvalue + Case lcvartype = "L" + luvarvalue = Iif(Inlist(Upper(Left(VarValue, 1)), "T", "Y"), .T., .F.) + &lcVarName. = luvarvalue + Endcase + + Endfor + ENDPROC + + PROCEDURE Show + *!* 11.09.2017 + *!* marius.mutu + *!* corectie NIR/BON - verific partenerul in RTVAI + Lparameters nStyle + This.aduc_set + This.SetVariabile + Thisform.Refresh() + *!* 09.08.2011 + this.AutoCenter = .T. + *!* 09.08.2011 ^ + + + IF oitem.lCorectie AND goCalendar.tva_incasare = 0 and xsets.tipjurnal = 'JC' AND TYPE('this.ck_tva_la_incasare') = 'O' + IF this.ck_tva_la_incasare.visible AND !INLIST(XSETS.ID_SET, 101, 10565, 10575, 208, 209) + LOCAL loPartenerRTVAIX,loPartenerRTVAI + loPartenerRTVAIX = Createobject("empty") + loPartenerRTVAI = Createobject("empty") + AddProperty(loPartenerRTVAIX, "cod_fiscal",poAct.cod_fiscal) + AddProperty(loPartenerRTVAIX, "denumire", poAct.nume) + AddProperty(loPartenerRTVAIX, "dataact", poAct.dataact) + VERIFICA_RTVAI(loPartenerRTVAIX, @loPartenerRTVAI) + + this.ck_tva_la_incasare.value = IIF(loPartenerRtvai.leinRtvai,1,0) + + This.itemS.oPartenerRTVAI = loPartenerRtvai + ENDIF + ENDIF + + Thisform.verif.Width = INT(_Screen.Width*0.7) + Thisform.verif.Height = INT(_Screen.Height*0.7) + + + IF m.gl406 + This.actualizeaza_explicatie_saft() + This.actualizeaza_plata_saft() + ENDIF + ENDPROC + + PROCEDURE updateexplicatiesaft + IF !m.gl406 + RETURN + ENDIF + Local ldDataAct, llFurnizorRTVAI, lnIdJtva, lnIdJtvaN, llN50, llN100, llNeexigibil, lcSelect + lcSelect = SELECT() + + ldDataAct = poAct.dataact + llFurnizorRTVAI = Iif(Type('thisform.items.oPartenerRTVAI.leinRtvai') = 'L', This.itemS.oPartenerRTVAI.leinRtvai, .F.) + lnIdJtva = IIF(TYPE('This.id_jtax') = 'N', This.id_jtax, null) + lnIdJtvaN = IIF(TYPE('This.id_jnetax') = 'N', This.id_jnetax, null) + + * Nu mai transmit llN50, llN100 la GetTaxCode, pentru ca la factura pun cod taxa deductibil 100%, iar pe Explicatia Limitare deducere pun cod Nedeductibil 50/100 + llN50 = .F. && (oxset.ID_SET = 10609) or (Thisform.items.ck_deducere.Value = 1) + llN100 = .F. && (oxset.ID_SET = 10647) + + SELECT XNOTE + LOCATE FOR ID_SET = Thisform.ID_SET AND (LEFT(xscd,3) = '418' OR LEFT(xscc,3) = '408') + llNeexigibil = FOUND() && factura neintocmita/nesosita + + * Actualizez lista taxe SAFT in functie de cota TVA Taxabil + This.items.cbo_saft.Requery() + + IF !EMPTY(NVL(m.lnIdJtva,0)) + This.nTaxCode = GetTaxCode(m.gnAn, m.gnLuna, m.ldDataAct, m.lnIdJtva, m.llFurnizorRTVAI, m.llN50, m.llN100, m.llNeexigibil) + ELSE + This.nTaxCode = NULL + ENDIF + IF !EMPTY(NVL(m.lnIdJtvaN,0)) + This.nTaxCodeN = GetTaxCode(m.gnAn, m.gnLuna, m.ldDataAct, m.lnIdJtvaN, m.llFurnizorRTVAI, m.llN50, m.llN100, m.llNeexigibil) + ELSE + This.nTaxCodeN = NULL + ENDIF + This.items.cbo_saft.Refresh() + + SELECT (m.lcSelect) + ENDPROC + + PROCEDURE updatepaymentsaft + LOCAL lnIdFdoc + If !m.gl406 + Return + Endif + + lnIdFdoc = 0 + + * Fel document plata (achizitii platite din casa/achizitori) + IF TYPE('poAct.id_fdoc2') = 'N' + lnIdFdoc = NVL(poAct.id_fdoc2,0) + ENDIF + IF EMPTY(m.lnIdFdoc) + lnIdFdoc = Nvl(poAct.id_fdoc,0) + ENDIF + + If !Empty(m.lnIdFdoc) + This.cPaymentCode = GetPaymentCode(m.lnIdFdoc) + Else + This.cPaymentCode = '' + Endif + This.items.cbo_plata_saft.Refresh() + + ENDPROC + + PROCEDURE verif_analitic + PARAMETERS tlClick, tccont, tcacont, tcColoana + + m.den='' + ll_l=.f. + + IF EMPTY(tccont) + RETURN ll_l + ENDIF + + IF USED('TCEVA') + USE IN Tceva + ENDIF + + lcSql=[select acont || ' - ' || explicatie as den, CONT, ACONT FROM ] + gcS + [.vplcont_ANALITIC where to_number(cont) = ] + tcCont + [ and inactiv = 0 and an = ] + pcAn + [ order by acont ] + lcCursor = 'tceva' + lnSucces = goExecutor.oExecute(lcSql,lcCursor) + + SELECT tceva + LOCATE + IF EOF() + IF !EMPTY(tcAcont) + * DO mesaj WITH 'Nu au fost definite simboluri analitice','pentru contul ' + tcCont + AMESSAGEBOX("Nu au fost definite simboluri analitice pentru contul " + tcCont + " !",0+48,"Atentie") + ll_l=.t. + ENDIF + + IF USED('TCEVA') + USE IN Tceva + ENDIF + SELECT actactan + Thisform.veRIF.grid1.SetFocus + RETURN ll_l + ELSE + IF !tlClick + IF empty(tcAcont) + *!* SELECT actactan + *!* IF FLOCK() + *!* REPLACE &tcColoana WITH '0000' + *!* ENDIF + + IF USED('TCEVA') + USE IN Tceva + ENDIF + SELECT actactan + Thisform.veRIF.grid1.SetFocus + RETURN ll_l + ENDIF + ENDIF + ENDIF + + SELECT tceva + IF tlClick + DO caut_alfa_cursor WITH 'tceva','den','Alegeti simbolul analitic','m.den' + SELECT tceva + LOCATE FOR ALLTRIM(den) = ALLTRIM(m.den) + lcAcont = acont + + SELECT actactan + REPLACE &tcColoana WITH lcAcont + ELSE + LOCATE FOR ALLTRIM(cont)=ALLTRIM(tccont) AND ALLTRIM(acont)=ALLTRIM(tcacont) + IF !FOUND() + DO caut_alfa_cursor WITH 'tceva','den','Alegeti simbolul analitic','m.den' + SELECT tceva + LOCATE FOR ALLTRIM(den) = ALLTRIM(m.den) + lcAcont = acont + + SELECT actactan + REPLACE &tcColoana WITH lcAcont + ENDIF + ENDIF + + IF USED('TCEVA') + USE IN Tceva + ENDIF + + SELECT actactan + Thisform.veRIF.grid1.SetFocus + RETURN ll_l + ENDPROC + + PROCEDURE verif_complet + LOCAL COMPL,TE + TE='' + COMPL=.T. + + *!* modificare ROAPRODUCTIE v 2.0.0 : daca nu am nr.doc. in cererea de date, il completez cu ce am pe nnir + Select cerere + Go Top + Locate For Upper(var_item) = [NRACT] + If !Found() + Go Top + Locate For Upper(var_item) = [NNIR] + If Found() + poact.nract = poact.nnir + Endif + Endif + *!* modificare ROAPRODUCTIE v 2.0.0 ^ + + && verifica daca mai exista factura cu acest nr. pt. acelasi partener (411, 401, 404) + * IF (!EMPTY(poact.v4111) OR !EMPTY(poact.v401)) AND !EMPTY(poact.nract) + IF !EMPTY(poact.nract) + LOCAL lcFacturi_dublate, lcMesajFact_dubl + STORE '' TO lcFacturi_dublate, lcMesajFact_dubl + + *** xnote + SELECT xnote + LOCATE FOR id_set = oxset.id_set AND ALLTRIM(xscc) = '401' + IF FOUND() + SELECT idpart FROM xcont WHERE cont_part = '401' INTO CURSOR crsIdPart + SELECT crsIdPart + GO TOP + lnIdPart = idpart + IF USED('crsIdPart') + USE IN crsIdPart + ENDIF + lcFacturi_dublate = facturi_duplicate('401', lnIdPart, poact.serie_act, poact.nract, lcMesajFact_dubl) + ENDIF + + SELECT xnote + LOCATE FOR id_set = oxset.id_set AND ALLTRIM(xscc) = '404' + IF FOUND() + *!* modificare 31.10.2012 : am pus 404 in loc de 401 + SELECT idpart FROM xcont WHERE cont_part = '404' INTO CURSOR crsIdPart + SELECT crsIdPart + GO TOP + lnIdPart = idpart + IF USED('crsIdPart') + USE IN crsIdPart + ENDIF + lcFacturi_dublate = facturi_duplicate('404', lnIdPart, poact.serie_act, poact.nract, lcMesajFact_dubl) + ENDIF + + SELECT xnote + LOCATE FOR id_set = oxset.id_set AND ALLTRIM(xscd) = '4111' + IF FOUND() + *!* modificare 31.10.2012 : am pus 4111 in loc de 401 + SELECT idpart FROM xcont WHERE cont_part = '4111' INTO CURSOR crsIdPart + SELECT crsIdPart + GO TOP + lnIdPart = idpart + IF USED('crsIdPart') + USE IN crsIdPart + ENDIF + lcFacturi_dublate = facturi_duplicate('4111', lnIdPart, poact.serie_act, poact.nract, lcMesajFact_dubl) + ENDIF + + *!* *** achi_mat + *!* IF USED('achi_mat') && in congest nu e folosit achi_mat + *!* SELECT achi_mat + *!* LOCATE FOR id_set = oxset.id_set AND ALLTRIM(scc) = '401' + *!* IF FOUND() + *!* lcFacturi_dublate = facturi_duplicate('401', m.nume, m.nract, lcMesajFact_dubl) + *!* ENDIF + + *!* SELECT achi_mat + *!* LOCATE FOR id_set = oxset.id_set AND ALLTRIM(scc) = '404' + *!* IF FOUND() + *!* lcFacturi_dublate = facturi_duplicate('404', m.nume, m.nract, lcMesajFact_dubl) + *!* ENDIF + + *!* SELECT achi_mat + *!* LOCATE FOR id_set = oxset.id_set AND ALLTRIM(scd) = '411' + *!* IF FOUND() + *!* lcFacturi_dublate = facturi_duplicate('411', m.nume, m.nract, lcMesajFact_dubl) + *!* ENDIF + *!* ENDIF + *!* *** + lcMesajFact_dubl = lcMesajFact_dubl + IIF(!EMPTY(lcFacturi_dublate),IIF(!EMPTY(lcMesajFact_dubl),', ' + lcFacturi_dublate,lcFacturi_dublate),'') + + IF !EMPTY(lcMesajFact_dubl) + lnRaspuns = aMESSAGEBOX(lcMesajFact_dubl + CHR(13)+"Doriti sa continuati?",4+32,"Facturi dublate") + IF lnRaspuns = 7 + RETURN .F. + ENDIF + ENDIF + ENDIF + + SELECT cerere + SCAN + lcVar = THIS.pcobj + '.' + ALLTRIM(var_item) + IF TYPE(lcVar) # 'U' + z='empty(' + THIS.pcobj + '.' +ALLTRIM(var_item)+')' + ELSE + z = '.t.' + ENDIF + IF &z AND !INLIST(ALLTRIM(UPPER(var_item)),'NEIMPOZAB','SUMA_2TVA') + COMPL=.F. + TE=TE+','+ALLTRIM(LABEL_ITEM) + ENDIF + ENDSCAN + + IF !COMPL + TE=IIF(AT(',',TE,1)=1,SUBSTR(TE,2),TE) + * DO mesaj WITH 'Nu ati completat campurile:',LEFT(TE,60)+'...' + ENDIF + + + If 'data'$TE Or 'numarul doc'$TE Or 'numele gest'$TE ; && modificare 05.02.07 + Or 'numarul nir'$TE or 'numarul bon'$TE && modificare 20.09.13 + AMESSAGEBOX("Nu ati completat campurile:"+ Left(TE,60) + "...",0+48,"Atentie") + Return .F. + Else + *!* modificare 13.06.2013 ROADEVIZE v 0.9.8 + *!* Return .T. + If oxset.id_set = 32000 + If poAct.data_in_lucru > poAct.dataact + AMESSAGEBOX("Data documentului nu poate fi mai mica decat data intrarii in productie ("+Dtoc(poAct.data_in_lucru)+") !",48,"Atentie") + Return .F. + Else + Return .T. + Endif + Else + Return .T. + Endif + *!* modificare 13.06.2013 ^ + Endif + ENDPROC + + PROCEDURE items.actualizeaza_explicatie_tva + Lparameters tnTvaIncasare + Thisform.actualizeaza_explicatie_tva(tnTvaIncasare) + + ENDPROC + + PROCEDURE items.cbo_saft.LostFocus + * Schimb in culoarea neagra daca utilizatorul a trecut prin combobox + *this.ForeColor = RGB(0,0,0) + this.Parent.lb_Saft.ForeColor = RGB(0,0,0) + + + ENDPROC + + PROCEDURE items.cbo_Taxabil.InteractiveChange + DODEFAULT() + Thisform.UpdateExplicatieSAFT() + ENDPROC + + PROCEDURE items.ck_deducere.InteractiveChange + DODEFAULT() + Thisform.UpdateExplicatieSAFT() + ENDPROC + + PROCEDURE verif.Grid1.Column9.Text1.DblClick + *!* 08.06.2017 + *!* marius.mutu + *!* am pus readonly = .F. pe campul suma pentru a putea fi modificata suma de la nota TVA calculata si adaugata automat de program la anumite operatii + *!* Atentie!!! Efect secundar se poate modifica orice suma!!! + IF TYPE('gnEditareSumaVerificare') = 'N' AND m.gnEditareSumaVerificare = 1 + This.ReadOnly = .F. + this.parent.BackColor = RGB(242,255,255) + ENDIF + ENDPROC + +ENDDEFINE + +DEFINE CLASS banda2 AS shape + *< CLASSDATA: Baseclass="shape" Timestamp="" Scale="Pixels" Uniqueid="" /> + + * + BackColor = 0,64,128 + Height = 30 + Name = "banda2" + Width = 454 + * + +ENDDEFINE + +DEFINE CLASS bandabloc AS container + *< CLASSDATA: Baseclass="container" Timestamp="" Scale="Pixels" Uniqueid="" /> + + *-- OBJECTDATA items order determines ZOrder / El orden de los items OBJECTDATA determina el ZOrder + *< OBJECTDATA: ObjPath="Banda21" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="Blocbuton1" UniqueID="" Timestamp="" /> + + * + *m: asezare + * + + * + BackColor = 255,255,255 + Height = 32 + Name = "bandabloc" + Width = 385 + * + + ADD OBJECT 'Banda21' AS banda2 WITH ; + Height = 32, ; + Left = 1, ; + Name = "Banda21", ; + Top = 0, ; + Width = 707 + *< END OBJECT: ClassLib="baza.vcx" BaseClass="shape" /> + + ADD OBJECT 'Blocbuton1' AS blocbuton WITH ; + Height = 32, ; + Left = 264, ; + Name = "Blocbuton1", ; + Top = 0 + *< END OBJECT: ClassLib="baza.vcx" BaseClass="container" /> + + PROCEDURE asezare + LOCAL w + w=this.Parent.Width + this.Width=w + this.banda21.Width=w + this.blocbuton1.Left=w-this.blocbuton1.width + ENDPROC + +ENDDEFINE + +DEFINE CLASS blocbuton AS container + *< CLASSDATA: Baseclass="container" Timestamp="" Scale="Pixels" Uniqueid="" /> + + * + BackColor = 255,255,255 + Height = 30 + Name = "blocbuton" + Width = 120 + * + +ENDDEFINE + +DEFINE CLASS butoninv AS container + *< CLASSDATA: Baseclass="container" Timestamp="" Scale="Pixels" Uniqueid="" /> + + *-- OBJECTDATA items order determines ZOrder / El orden de los items OBJECTDATA determina el ZOrder + *< OBJECTDATA: ObjPath="Imbuton1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="Command1" UniqueID="" Timestamp="" /> + + * + BackStyle = 0 + BorderWidth = 0 + Height = 30 + Name = "butoninv" + Width = 30 + * + + ADD OBJECT 'Command1' AS commandbutton WITH ; + Caption = "Command1", ; + Height = 30, ; + Left = 0, ; + Name = "Command1", ; + Style = 1, ; + Top = 0, ; + Width = 30 + *< END OBJECT: BaseClass="commandbutton" /> + + ADD OBJECT 'Imbuton1' AS imbuton WITH ; + Height = 30, ; + Left = 0, ; + Name = "Imbuton1", ; + Picture = , ; + Stretch = 0, ; + Top = 0, ; + Width = 30 + *< END OBJECT: ClassLib="baza.vcx" BaseClass="image" /> + + PROCEDURE Command1.Click + this.Parent.click + ENDPROC + + PROCEDURE Command1.MouseEnter + LPARAMETERS nButton, nShift, nXCoord, nYCoord + this.Parent.mouseenter + ENDPROC + + PROCEDURE Command1.MouseLeave + LPARAMETERS nButton, nShift, nXCoord, nYCoord + this.Parent.mouseleave + ENDPROC + + PROCEDURE Imbuton1.Click + this.Parent.click + ENDPROC + + PROCEDURE Imbuton1.MouseEnter + LPARAMETERS nButton, nShift, nXCoord, nYCoord + this.Parent.mouseenter + ENDPROC + + PROCEDURE Imbuton1.MouseLeave + LPARAMETERS nButton, nShift, nXCoord, nYCoord + this.Parent.mouseleave + ENDPROC + +ENDDEFINE + +DEFINE CLASS combogrid AS combobox + *< CLASSDATA: Baseclass="combobox" Timestamp="" Scale="Pixels" Uniqueid="" /> + + * + BorderStyle = 0 + FontName = "Arial Narrow" + Height = 24 + Left = 60 + Name = "Combo1" + RowSourceType = 0 + Style = 2 + Top = 360 + Width = 100 + * + +ENDDEFINE + +DEFINE CLASS cote_tva AS _container OF "_baza.vcx" + *< CLASSDATA: Baseclass="container" Timestamp="" Scale="Pixels" Uniqueid="" /> + + *-- OBJECTDATA items order determines ZOrder / El orden de los items OBJECTDATA determina el ZOrder + *< OBJECTDATA: ObjPath="Lb_simplu1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="_cbbase1" UniqueID="" Timestamp="" /> + + * + Height = 45 + Name = "cote_tva" + Width = 60 + * + + ADD OBJECT '_cbbase1' AS _cbbase WITH ; + BorderColor = 128,128,128, ; + ColumnCount = 1, ; + ColumnLines = .F., ; + FontName = "Arial Narrow", ; + Height = 20, ; + Left = 6, ; + Name = "_cbbase1", ; + RowSource = "cote_tva.procent", ; + RowSourceType = 2, ; + SpecialEffect = 1, ; + Top = 21, ; + Width = 47 + *< END OBJECT: ClassLib="_cb_base.vcx" BaseClass="combobox" /> + + ADD OBJECT 'Lb_simplu1' AS lb_simplu WITH ; + Caption = "TVA %", ; + Left = 11, ; + Name = "Lb_simplu1", ; + Top = 5 + *< END OBJECT: ClassLib="lb.vcx" BaseClass="label" /> + +ENDDEFINE + +DEFINE CLASS ct_items AS _ctfrmbase OF "_ct_base.vcx" + *< CLASSDATA: Baseclass="container" Timestamp="" Scale="Pixels" Uniqueid="" /> + + *-- OBJECTDATA items order determines ZOrder / El orden de los items OBJECTDATA determina el ZOrder + *< OBJECTDATA: ObjPath="Item1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="Item25" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="Item24" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="Item23" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="Item2" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="Item3" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="Item22" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="Item21" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="Item20" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="Item19" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="Item18" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="Item17" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="Item16" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="Item15" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="Item14" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="Item13" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="Item12" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="Item11" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="Item10" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="Item9" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="Item8" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="Item7" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="Item6" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="Item5" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="Item4" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="cbo_Netaxabil" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="lb_netaxabil" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="cbo_Taxabil" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="lb_taxabil" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="ck_deducere" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="ck_tva_la_incasare" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="cbo_saft" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="lb_saft" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="cbo_plata_saft" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="lb_plata_saft" UniqueID="" Timestamp="" /> + + * + *m: actualizeaza_explicatie_tva + *p: opartenerrtvai && Informatii RTVAI pentru partenerul verificat + * + + * + BackStyle = 0 + Height = 550 + Name = "ct_items" + opartenerrtvai = .NULL. + Width = 678 + _memberdata = + + + Gridsort1.Name = "Gridsort1" + _ct_controller_keypress1.Left = 126 + _ct_controller_keypress1.Name = "_ct_controller_keypress1" + _ct_controller_keypress1.Top = 118 + * + + ADD OBJECT 'cbo_Netaxabil' AS combobox WITH ; + BorderColor = 128,128,128, ; + BorderStyle = 1, ; + ColumnCount = 1, ; + ColumnLines = .F., ; + ControlSource = "", ; + FontName = "Arial", ; + FontSize = 10, ; + Height = 20, ; + InputMask = "", ; + Left = 486, ; + Name = "cbo_Netaxabil", ; + RowSourceType = 6, ; + SpecialEffect = 1, ; + Style = 2, ; + TabIndex = 28, ; + TabStop = .F., ; + Top = 124, ; + Visible = .F., ; + Width = 159 + *< END OBJECT: BaseClass="combobox" /> + + ADD OBJECT 'cbo_plata_saft' AS combobox WITH ; + BorderColor = 128,128,128, ; + BorderStyle = 1, ; + ColumnCount = 1, ; + ColumnLines = .F., ; + ControlSource = "", ; + FontName = "Arial", ; + FontSize = 10, ; + Height = 20, ; + InputMask = "", ; + Left = 545, ; + Name = "cbo_plata_saft", ; + RowSourceType = 6, ; + SpecialEffect = 1, ; + Style = 2, ; + TabIndex = 27, ; + TabStop = .F., ; + Top = 35, ; + Visible = .F., ; + Width = 127 + *< END OBJECT: BaseClass="combobox" /> + + ADD OBJECT 'cbo_saft' AS combobox WITH ; + BorderColor = 128,128,128, ; + BorderStyle = 1, ; + ColumnCount = 1, ; + ColumnLines = .F., ; + ControlSource = "", ; + FontName = "Arial", ; + FontSize = 10, ; + Height = 20, ; + InputMask = "", ; + Left = 541, ; + Name = "cbo_saft", ; + RowSourceType = 6, ; + SpecialEffect = 1, ; + Style = 2, ; + TabIndex = 27, ; + TabStop = .F., ; + Top = 199, ; + Visible = .F., ; + Width = 134 + *< END OBJECT: BaseClass="combobox" /> + + ADD OBJECT 'cbo_Taxabil' AS combobox WITH ; + BorderColor = 128,128,128, ; + BorderStyle = 1, ; + ColumnCount = 1, ; + ColumnLines = .F., ; + ControlSource = "", ; + FontName = "Arial", ; + FontSize = 10, ; + Height = 20, ; + InputMask = "", ; + Left = 486, ; + Name = "cbo_Taxabil", ; + RowSourceType = 6, ; + SpecialEffect = 1, ; + Style = 2, ; + TabIndex = 27, ; + TabStop = .F., ; + Top = 168, ; + Visible = .F., ; + Width = 159 + *< END OBJECT: BaseClass="combobox" /> + + ADD OBJECT 'ck_deducere' AS _checkbox WITH ; + Alignment = 0, ; + AutoSize = .T., ; + Caption = "Limitare ded. TVA 50%", ; + FontName = "Arial", ; + Height = 18, ; + Left = 486, ; + Name = "ck_deducere", ; + TabIndex = 1, ; + TabStop = .F., ; + Top = 56, ; + Visible = .F., ; + Width = 151, ; + WordWrap = .T. + *< END OBJECT: ClassLib="_baza.vcx" BaseClass="checkbox" /> + + ADD OBJECT 'ck_tva_la_incasare' AS _checkbox WITH ; + Alignment = 0, ; + AutoSize = .F., ; + Caption = "TVA la încasare", ; + FontName = "Arial", ; + Height = 18, ; + Left = 486, ; + Name = "ck_tva_la_incasare", ; + TabIndex = 2, ; + TabStop = .F., ; + Top = 76, ; + Visible = .F., ; + Width = 109, ; + WordWrap = .T. + *< END OBJECT: ClassLib="_baza.vcx" BaseClass="checkbox" /> + + ADD OBJECT 'Item1' AS item WITH ; + Left = 25, ; + Name = "Item1", ; + TabIndex = 3, ; + Top = 16, ; + Visible = .F., ; + ZOrderSet = 3, ; + Label_item1.Caption = "LABEL", ; + Label_item1.Name = "Label_item1", ; + Label_item1.TabIndex = 2, ; + Text_item1.Format = "k", ; + Text_item1.Name = "Text_item1", ; + Text_item1.TabIndex = 1, ; + Lineo1.Name = "Lineo1", ; + Lineo3.Name = "Lineo3", ; + Lineo4.Name = "Lineo4", ; + Lineo5.Name = "Lineo5", ; + Lineo2.Name = "Lineo2" + *< END OBJECT: ClassLib="baza.vcx" BaseClass="container" /> + + ADD OBJECT 'Item10' AS item WITH ; + Left = 25, ; + Name = "Item10", ; + TabIndex = 12, ; + Top = 187, ; + Visible = .F., ; + ZOrderSet = 3, ; + Label_item1.Caption = "LABEL", ; + Label_item1.Name = "Label_item1", ; + Text_item1.Name = "Text_item1", ; + Lineo1.Name = "Lineo1", ; + Lineo3.Name = "Lineo3", ; + Lineo4.Name = "Lineo4", ; + Lineo5.Name = "Lineo5", ; + Lineo2.Name = "Lineo2" + *< END OBJECT: ClassLib="baza.vcx" BaseClass="container" /> + + ADD OBJECT 'Item11' AS item WITH ; + Left = 25, ; + Name = "Item11", ; + TabIndex = 13, ; + Top = 206, ; + Visible = .F., ; + ZOrderSet = 3, ; + Label_item1.Caption = "LABEL", ; + Label_item1.Name = "Label_item1", ; + Text_item1.Name = "Text_item1", ; + Lineo1.Name = "Lineo1", ; + Lineo3.Name = "Lineo3", ; + Lineo4.Name = "Lineo4", ; + Lineo5.Name = "Lineo5", ; + Lineo2.Name = "Lineo2" + *< END OBJECT: ClassLib="baza.vcx" BaseClass="container" /> + + ADD OBJECT 'Item12' AS item WITH ; + Left = 25, ; + Name = "Item12", ; + TabIndex = 14, ; + Top = 225, ; + Visible = .F., ; + ZOrderSet = 3, ; + Label_item1.Caption = "LABEL", ; + Label_item1.Name = "Label_item1", ; + Text_item1.Name = "Text_item1", ; + Lineo1.Name = "Lineo1", ; + Lineo3.Name = "Lineo3", ; + Lineo4.Name = "Lineo4", ; + Lineo5.Name = "Lineo5", ; + Lineo2.Name = "Lineo2" + *< END OBJECT: ClassLib="baza.vcx" BaseClass="container" /> + + ADD OBJECT 'Item13' AS item WITH ; + Left = 25, ; + Name = "Item13", ; + TabIndex = 15, ; + Top = 244, ; + Visible = .F., ; + ZOrderSet = 3, ; + Label_item1.Caption = "LABEL", ; + Label_item1.Name = "Label_item1", ; + Label_item1.ZOrderSet = 0, ; + Text_item1.Name = "Text_item1", ; + Text_item1.ZOrderSet = 1, ; + Lineo1.Name = "Lineo1", ; + Lineo1.ZOrderSet = 2, ; + Lineo3.Name = "Lineo3", ; + Lineo3.ZOrderSet = 3, ; + Lineo4.Name = "Lineo4", ; + Lineo4.ZOrderSet = 6, ; + Lineo5.Name = "Lineo5", ; + Lineo5.ZOrderSet = 4, ; + Lineo2.Name = "Lineo2", ; + Lineo2.ZOrderSet = 5 + *< END OBJECT: ClassLib="baza.vcx" BaseClass="container" /> + + ADD OBJECT 'Item14' AS item WITH ; + Left = 25, ; + Name = "Item14", ; + TabIndex = 16, ; + Top = 263, ; + Visible = .F., ; + ZOrderSet = 3, ; + Label_item1.Caption = "LABEL", ; + Label_item1.Name = "Label_item1", ; + Text_item1.Name = "Text_item1", ; + Lineo1.Name = "Lineo1", ; + Lineo3.Name = "Lineo3", ; + Lineo4.Name = "Lineo4", ; + Lineo5.Name = "Lineo5", ; + Lineo2.Name = "Lineo2" + *< END OBJECT: ClassLib="baza.vcx" BaseClass="container" /> + + ADD OBJECT 'Item15' AS item WITH ; + Left = 25, ; + Name = "Item15", ; + TabIndex = 17, ; + Top = 282, ; + Visible = .F., ; + ZOrderSet = 3, ; + Label_item1.Caption = "LABEL", ; + Label_item1.Name = "Label_item1", ; + Text_item1.Name = "Text_item1", ; + Lineo1.Name = "Lineo1", ; + Lineo3.Name = "Lineo3", ; + Lineo4.Name = "Lineo4", ; + Lineo5.Name = "Lineo5", ; + Lineo2.Name = "Lineo2" + *< END OBJECT: ClassLib="baza.vcx" BaseClass="container" /> + + ADD OBJECT 'Item16' AS item WITH ; + Left = 25, ; + Name = "Item16", ; + TabIndex = 18, ; + Top = 301, ; + Visible = .F., ; + ZOrderSet = 3, ; + Label_item1.Caption = "LABEL", ; + Label_item1.Name = "Label_item1", ; + Text_item1.Name = "Text_item1", ; + Lineo1.Name = "Lineo1", ; + Lineo3.Name = "Lineo3", ; + Lineo4.Name = "Lineo4", ; + Lineo5.Name = "Lineo5", ; + Lineo2.Name = "Lineo2" + *< END OBJECT: ClassLib="baza.vcx" BaseClass="container" /> + + ADD OBJECT 'Item17' AS item WITH ; + Left = 25, ; + Name = "Item17", ; + TabIndex = 19, ; + Top = 320, ; + Visible = .F., ; + ZOrderSet = 3, ; + Label_item1.Caption = "LABEL", ; + Label_item1.Name = "Label_item1", ; + Text_item1.Name = "Text_item1", ; + Lineo1.Name = "Lineo1", ; + Lineo3.Name = "Lineo3", ; + Lineo4.Name = "Lineo4", ; + Lineo5.Name = "Lineo5", ; + Lineo2.Name = "Lineo2" + *< END OBJECT: ClassLib="baza.vcx" BaseClass="container" /> + + ADD OBJECT 'Item18' AS item WITH ; + Left = 25, ; + Name = "Item18", ; + TabIndex = 20, ; + Top = 339, ; + Visible = .F., ; + ZOrderSet = 3, ; + Label_item1.Caption = "LABEL", ; + Label_item1.Name = "Label_item1", ; + Text_item1.Name = "Text_item1", ; + Lineo1.Name = "Lineo1", ; + Lineo3.Name = "Lineo3", ; + Lineo4.Name = "Lineo4", ; + Lineo5.Name = "Lineo5", ; + Lineo2.Name = "Lineo2" + *< END OBJECT: ClassLib="baza.vcx" BaseClass="container" /> + + ADD OBJECT 'Item19' AS item WITH ; + Left = 25, ; + Name = "Item19", ; + TabIndex = 21, ; + Top = 358, ; + Visible = .F., ; + ZOrderSet = 3, ; + Label_item1.Caption = "LABEL", ; + Label_item1.Name = "Label_item1", ; + Text_item1.Name = "Text_item1", ; + Lineo1.Name = "Lineo1", ; + Lineo3.Name = "Lineo3", ; + Lineo4.Name = "Lineo4", ; + Lineo5.Name = "Lineo5", ; + Lineo2.Name = "Lineo2" + *< END OBJECT: ClassLib="baza.vcx" BaseClass="container" /> + + ADD OBJECT 'Item2' AS item WITH ; + Left = 25, ; + Name = "Item2", ; + TabIndex = 4, ; + Top = 35, ; + Visible = .F., ; + ZOrderSet = 3, ; + Label_item1.Caption = "LABEL", ; + Label_item1.Name = "Label_item1", ; + Text_item1.Name = "Text_item1", ; + Lineo1.Name = "Lineo1", ; + Lineo3.Name = "Lineo3", ; + Lineo4.Name = "Lineo4", ; + Lineo5.Name = "Lineo5", ; + Lineo2.Name = "Lineo2" + *< END OBJECT: ClassLib="baza.vcx" BaseClass="container" /> + + ADD OBJECT 'Item20' AS item WITH ; + Left = 25, ; + Name = "Item20", ; + TabIndex = 22, ; + Top = 377, ; + Visible = .F., ; + ZOrderSet = 3, ; + Label_item1.Caption = "LABEL", ; + Label_item1.Name = "Label_item1", ; + Text_item1.Name = "Text_item1", ; + Lineo1.Name = "Lineo1", ; + Lineo3.Name = "Lineo3", ; + Lineo4.Name = "Lineo4", ; + Lineo5.Name = "Lineo5", ; + Lineo2.Name = "Lineo2" + *< END OBJECT: ClassLib="baza.vcx" BaseClass="container" /> + + ADD OBJECT 'Item21' AS item WITH ; + Left = 25, ; + Name = "Item21", ; + TabIndex = 23, ; + Top = 396, ; + Visible = .F., ; + ZOrderSet = 3, ; + Label_item1.Caption = "LABEL", ; + Label_item1.Name = "Label_item1", ; + Text_item1.Name = "Text_item1", ; + Lineo1.Name = "Lineo1", ; + Lineo3.Name = "Lineo3", ; + Lineo4.Name = "Lineo4", ; + Lineo5.Name = "Lineo5", ; + Lineo2.Name = "Lineo2" + *< END OBJECT: ClassLib="baza.vcx" BaseClass="container" /> + + ADD OBJECT 'Item22' AS item WITH ; + Left = 25, ; + Name = "Item22", ; + TabIndex = 24, ; + Top = 415, ; + Visible = .F., ; + ZOrderSet = 3, ; + Label_item1.Caption = "LABEL", ; + Label_item1.Name = "Label_item1", ; + Text_item1.Name = "Text_item1", ; + Lineo1.Name = "Lineo1", ; + Lineo3.Name = "Lineo3", ; + Lineo4.Name = "Lineo4", ; + Lineo5.Name = "Lineo5", ; + Lineo2.Name = "Lineo2" + *< END OBJECT: ClassLib="baza.vcx" BaseClass="container" /> + + ADD OBJECT 'Item23' AS item WITH ; + Left = 26, ; + Name = "Item23", ; + TabIndex = 24, ; + Top = 434, ; + Visible = .F., ; + ZOrderSet = 3, ; + Label_item1.Caption = "LABEL", ; + Label_item1.Name = "Label_item1", ; + Text_item1.Name = "Text_item1", ; + Lineo1.Name = "Lineo1", ; + Lineo3.Name = "Lineo3", ; + Lineo4.Name = "Lineo4", ; + Lineo5.Name = "Lineo5", ; + Lineo2.Name = "Lineo2" + *< END OBJECT: ClassLib="baza.vcx" BaseClass="container" /> + + ADD OBJECT 'Item24' AS item WITH ; + Left = 25, ; + Name = "Item24", ; + TabIndex = 24, ; + Top = 453, ; + Visible = .F., ; + ZOrderSet = 3, ; + Label_item1.Caption = "LABEL", ; + Label_item1.Name = "Label_item1", ; + Text_item1.Name = "Text_item1", ; + Lineo1.Name = "Lineo1", ; + Lineo3.Name = "Lineo3", ; + Lineo4.Name = "Lineo4", ; + Lineo5.Name = "Lineo5", ; + Lineo2.Name = "Lineo2" + *< END OBJECT: ClassLib="baza.vcx" BaseClass="container" /> + + ADD OBJECT 'Item25' AS item WITH ; + Left = 25, ; + Name = "Item25", ; + TabIndex = 24, ; + Top = 472, ; + Visible = .F., ; + ZOrderSet = 3, ; + Label_item1.Caption = "LABEL", ; + Label_item1.Name = "Label_item1", ; + Text_item1.Name = "Text_item1", ; + Lineo1.Name = "Lineo1", ; + Lineo3.Name = "Lineo3", ; + Lineo4.Name = "Lineo4", ; + Lineo5.Name = "Lineo5", ; + Lineo2.Name = "Lineo2" + *< END OBJECT: ClassLib="baza.vcx" BaseClass="container" /> + + ADD OBJECT 'Item3' AS item WITH ; + Left = 25, ; + Name = "Item3", ; + TabIndex = 5, ; + Top = 54, ; + Visible = .F., ; + ZOrderSet = 3, ; + Label_item1.Caption = "LABEL", ; + Label_item1.Name = "Label_item1", ; + Text_item1.Name = "Text_item1", ; + Lineo1.Name = "Lineo1", ; + Lineo3.Name = "Lineo3", ; + Lineo4.Name = "Lineo4", ; + Lineo5.Name = "Lineo5", ; + Lineo2.Name = "Lineo2" + *< END OBJECT: ClassLib="baza.vcx" BaseClass="container" /> + + ADD OBJECT 'Item4' AS item WITH ; + Left = 25, ; + Name = "Item4", ; + TabIndex = 6, ; + Top = 73, ; + Visible = .F., ; + ZOrderSet = 3, ; + Label_item1.Caption = "LABEL", ; + Label_item1.Name = "Label_item1", ; + Text_item1.Name = "Text_item1", ; + Lineo1.Name = "Lineo1", ; + Lineo3.Name = "Lineo3", ; + Lineo4.Name = "Lineo4", ; + Lineo5.Name = "Lineo5", ; + Lineo2.Name = "Lineo2" + *< END OBJECT: ClassLib="baza.vcx" BaseClass="container" /> + + ADD OBJECT 'Item5' AS item WITH ; + Left = 25, ; + Name = "Item5", ; + TabIndex = 7, ; + Top = 92, ; + Visible = .F., ; + ZOrderSet = 3, ; + Label_item1.Caption = "LABEL", ; + Label_item1.Name = "Label_item1", ; + Text_item1.Name = "Text_item1", ; + Lineo1.Name = "Lineo1", ; + Lineo3.Name = "Lineo3", ; + Lineo4.Name = "Lineo4", ; + Lineo5.Name = "Lineo5", ; + Lineo2.Name = "Lineo2" + *< END OBJECT: ClassLib="baza.vcx" BaseClass="container" /> + + ADD OBJECT 'Item6' AS item WITH ; + Left = 25, ; + Name = "Item6", ; + TabIndex = 8, ; + Top = 111, ; + Visible = .F., ; + ZOrderSet = 3, ; + Label_item1.Caption = "LABEL", ; + Label_item1.Name = "Label_item1", ; + Text_item1.Name = "Text_item1", ; + Lineo1.Name = "Lineo1", ; + Lineo3.Name = "Lineo3", ; + Lineo4.Name = "Lineo4", ; + Lineo5.Name = "Lineo5", ; + Lineo2.Name = "Lineo2" + *< END OBJECT: ClassLib="baza.vcx" BaseClass="container" /> + + ADD OBJECT 'Item7' AS item WITH ; + Left = 25, ; + Name = "Item7", ; + TabIndex = 9, ; + Top = 130, ; + Visible = .F., ; + ZOrderSet = 3, ; + Label_item1.Caption = "LABEL", ; + Label_item1.Name = "Label_item1", ; + Text_item1.Name = "Text_item1", ; + Lineo1.Name = "Lineo1", ; + Lineo3.Name = "Lineo3", ; + Lineo4.Name = "Lineo4", ; + Lineo5.Name = "Lineo5", ; + Lineo2.Name = "Lineo2" + *< END OBJECT: ClassLib="baza.vcx" BaseClass="container" /> + + ADD OBJECT 'Item8' AS item WITH ; + Left = 25, ; + Name = "Item8", ; + TabIndex = 10, ; + Top = 149, ; + Visible = .F., ; + ZOrderSet = 3, ; + Label_item1.Caption = "LABEL", ; + Label_item1.Name = "Label_item1", ; + Text_item1.Name = "Text_item1", ; + Lineo1.Name = "Lineo1", ; + Lineo3.Name = "Lineo3", ; + Lineo4.Name = "Lineo4", ; + Lineo5.Name = "Lineo5", ; + Lineo2.Name = "Lineo2" + *< END OBJECT: ClassLib="baza.vcx" BaseClass="container" /> + + ADD OBJECT 'Item9' AS item WITH ; + Left = 25, ; + Name = "Item9", ; + TabIndex = 11, ; + Top = 168, ; + Visible = .F., ; + ZOrderSet = 3, ; + Label_item1.Caption = "LABEL", ; + Label_item1.Name = "Label_item1", ; + Text_item1.Name = "Text_item1", ; + Lineo1.Name = "Lineo1", ; + Lineo3.Name = "Lineo3", ; + Lineo4.Name = "Lineo4", ; + Lineo5.Name = "Lineo5", ; + Lineo2.Name = "Lineo2" + *< END OBJECT: ClassLib="baza.vcx" BaseClass="container" /> + + ADD OBJECT 'lb_netaxabil' AS label WITH ; + AutoSize = .T., ; + BackStyle = 0, ; + Caption = "Netaxabil", ; + FontName = "Arial", ; + FontSize = 10, ; + Height = 18, ; + Left = 486, ; + Name = "lb_netaxabil", ; + TabIndex = 26, ; + Top = 107, ; + Visible = .F., ; + Width = 56 + *< END OBJECT: BaseClass="label" /> + + ADD OBJECT 'lb_plata_saft' AS label WITH ; + AutoSize = .T., ; + BackStyle = 0, ; + Caption = "Cod plata", ; + FontName = "Arial", ; + FontSize = 10, ; + Height = 18, ; + Left = 486, ; + Name = "lb_plata_saft", ; + TabIndex = 25, ; + Top = 36, ; + Visible = .F., ; + Width = 57 + *< END OBJECT: BaseClass="label" /> + + ADD OBJECT 'lb_saft' AS label WITH ; + AutoSize = .T., ; + BackStyle = 0, ; + Caption = "Cod taxa", ; + FontName = "Arial", ; + FontSize = 10, ; + Height = 18, ; + Left = 486, ; + Name = "lb_saft", ; + TabIndex = 25, ; + Top = 199, ; + Visible = .F., ; + Width = 54 + *< END OBJECT: BaseClass="label" /> + + ADD OBJECT 'lb_taxabil' AS label WITH ; + AutoSize = .T., ; + BackStyle = 0, ; + Caption = "Taxabil", ; + FontName = "Arial", ; + FontSize = 10, ; + Height = 18, ; + Left = 486, ; + Name = "lb_taxabil", ; + TabIndex = 25, ; + Top = 151, ; + Visible = .F., ; + Width = 43 + *< END OBJECT: BaseClass="label" /> + + PROCEDURE cbo_Netaxabil.InteractiveChange + *!* modificare ROACONT v 2.0.76 + With This.Parent.Parent + .cnetaxabil = crsjnetax.denumire + .ntvanetax = (100 + crsjnetax.cota_tva) / 100 + .id_jnetax = crsjnetax.id_jtva_coloana + .nTaxCodeN = crsjnetax.taxcode + Endwith + *!* modificare ROACONT v 2.0.76 ^ + ENDPROC + + PROCEDURE cbo_Netaxabil.Valid + *!* modificare ROACONT v 2.0.76 + Local lcComanda + *!* Thisformset.cnetaxabil = crsjnetax.denumire + *!* Thisformset.ntvanetax = (100 + crsjnetax.cota_tva) / 100 + *!* Thisformset.id_jnetax = crsjnetax.id_jtva_coloana + lcComanda='this.parent.item'+Alltrim(This.Tag)+'.text_item1.valid' + &lcComanda + Release lcComanda + *!* modificare ROACONT v 2.0.76 ^ + ENDPROC + + PROCEDURE cbo_plata_saft.InteractiveChange + Thisform.cTaxCode = Alltrim(Nvl(crsTaxTable.descriere,'')) + + ENDPROC + + PROCEDURE cbo_Taxabil.InteractiveChange + *!* modificare ROACONT v 2.0.76 + With This.Parent.Parent + .ctaxabil = crsjtax.denumire + .ntvatax = (100 + crsjtax.cota_tva) / 100 + .id_jtax = crsjtax.id_jtva_coloana + .id_jtva = crsjtax.id_tva + .nTaxCode = crsjtax.taxcode + Endwith + *!* modificare ROACONT v 2.0.76 ^ + ENDPROC + + PROCEDURE cbo_Taxabil.Valid + *!* modificare ROACONT v 2.0.76 + Local lcComanda + *!* Thisformset.ctaxabil = crsjtax.denumire + *!* Thisformset.ntvatax = (100 + crsjtax.cota_tva) / 100 + *!* Thisformset.id_jtax = crsjtax.id_jtva_coloana + *!* thisformset.id_jtva = crsjtax.id_tva + lcComanda='this.Parent.item'+ALLTRIM(this.Tag)+'.text_item1.valid' + &lcComanda + Release lcComanda + *!* modificare ROACONT v 2.0.76 ^ + ENDPROC + + PROCEDURE ck_tva_la_incasare.InteractiveChange + This.Parent.actualizeaza_explicatie_tva(This.Value) + ENDPROC + + PROCEDURE ck_tva_la_incasare.ProgrammaticChange + This.Parent.actualizeaza_explicatie_tva(This.Value) + ENDPROC + + PROCEDURE Item1.LostFocus + this.Parent.Parent.nou_intrat = .f. + ENDPROC + +ENDDEFINE + +DEFINE CLASS ct_verif AS _ctfrmbase OF "_ct_base.vcx" + *< CLASSDATA: Baseclass="container" Timestamp="" Scale="Pixels" Uniqueid="" /> + + *-- OBJECTDATA items order determines ZOrder / El orden de los items OBJECTDATA determina el ZOrder + *< OBJECTDATA: ObjPath="Grid1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="Grid1.Column1.Header1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="Grid1.Column1.Text1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="Grid1.Column2.Header2" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="Grid1.Column2.Text1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="Grid1.Column3.Header3" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="Grid1.Column3.Text1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="Grid1.Column4.Header4" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="Grid1.Column4.Text1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="Grid1.Column5.Header5" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="Grid1.Column5.Text1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="Grid1.Column6.Header6" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="Grid1.Column6.Text1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="Grid1.Column7.Header7" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="Grid1.Column7.Text1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="Grid1.Column8.Header8" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="Grid1.Column8.Text1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="Grid1.Column9.Header9" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="Grid1.Column9.Text1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="Grid1.Column10.Header1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="Grid1.Column10.Text1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="Grid1.Column11.Header1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="Grid1.Column11.Text1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="Grid1.Column13.Header1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="Grid1.Column13.Text1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="Grid1.Column14.Header1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="Grid1.Column14.Text1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="Grid1.Column15.Header1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="Grid1.Column15.Text1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="Grid1.Column16.Header1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="Grid1.Column16.Text1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="Grid1.Column17.Header1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="Grid1.Column17.Text1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="Grid1.Column18.Header1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="Grid1.Column18.Text1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="Grid1.Column19.Header1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="Grid1.Column19.Text1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="Grid1.Column20.Header1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="Grid1.Column20.Text1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="Grid1.Column25.Header1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="Grid1.Column25.Text1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="Grid1.Column26.Header1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="Grid1.Column26.Text1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="Grid1.Column27.Header1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="Grid1.Column27.Text1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="Grid1.Column28.Header1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="Grid1.Column28.Text1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="Grid1.Column29.Header1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="Grid1.Column29.Text1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="Grid1.Column31.Header1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="Grid1.Column31.Text1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="Grid1.Column32.Header1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="Grid1.Column32.Text1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="Grid1.Column33.Header1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="Grid1.Column33.Text1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="Grid1.Column34.Header1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="Grid1.Column34.Text1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="Grid1.Column35.Header1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="Grid1.Column35.Text1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="Grid1.Column36.Header1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="Grid1.Column36.Text1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="Grid1.Column12.Header1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="Grid1.Column12.Text1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="Grid1.Column21.Header1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="Grid1.Column21.Text1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="Grid1.Column22.Header1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="Grid1.Column22.Text1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="Grid1.Column23.Header1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="Grid1.Column23.Text1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="Grid1.Column24.Header1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="Grid1.Column24.Text1" UniqueID="" Timestamp="" /> + + * + Height = 295 + Name = "ct_verif" + Width = 650 + Gridsort1.Name = "Gridsort1" + _ct_controller_keypress1.Name = "_ct_controller_keypress1" + * + + ADD OBJECT 'Grid1' AS grid WITH ; + Anchor = 15, ; + BackColor = 255,255,255, ; + ColumnCount = 35, ; + DeleteMark = .F., ; + FontCharSet = 238, ; + FontSize = 10, ; + GridLineColor = 192,192,192, ; + GridLines = 3, ; + Height = 294, ; + Left = 1, ; + Name = "Grid1", ; + Panel = 1, ; + ReadOnly = .T., ; + RecordSource = "ACTACTAN", ; + RowHeight = 19, ; + TabIndex = 5, ; + Top = 1, ; + Width = 650, ; + ZOrderSet = 4, ; + Column1.Alignment = 1, ; + Column1.BackColor = 255,255,255, ; + Column1.ControlSource = "NRCRT()", ; + Column1.FontCharSet = 238, ; + Column1.FontName = "Arial", ; + Column1.FontSize = 10, ; + Column1.Name = "Column1", ; + Column1.ReadOnly = .T., ; + Column1.Width = 34, ; + Column2.Alignment = 1, ; + Column2.BackColor = 255,255,255, ; + Column2.ColumnOrder = 3, ; + Column2.ControlSource = "DATAIREG", ; + Column2.FontCharSet = 238, ; + Column2.FontName = "Arial", ; + Column2.FontSize = 10, ; + Column2.Name = "Column2", ; + Column2.ReadOnly = .T., ; + Column2.Width = 67, ; + Column3.Alignment = 0, ; + Column3.BackColor = 255,255,255, ; + Column3.ColumnOrder = 2, ; + Column3.ControlSource = "FDOC", ; + Column3.FontCharSet = 238, ; + Column3.FontName = "Arial", ; + Column3.FontSize = 10, ; + Column3.Name = "Column3", ; + Column3.ReadOnly = .T., ; + Column3.Width = 53, ; + Column4.Alignment = 1, ; + Column4.BackColor = 255,255,255, ; + Column4.ColumnOrder = 4, ; + Column4.ControlSource = "DATAACT", ; + Column4.FontCharSet = 238, ; + Column4.FontName = "Arial", ; + Column4.FontSize = 10, ; + Column4.Name = "Column4", ; + Column4.ReadOnly = .T., ; + Column4.Width = 58, ; + Column5.Alignment = 1, ; + Column5.BackColor = 255,255,255, ; + Column5.ColumnOrder = 6, ; + Column5.ControlSource = "NRACT", ; + Column5.FontCharSet = 238, ; + Column5.FontName = "Arial", ; + Column5.FontSize = 10, ; + Column5.Name = "Column5", ; + Column5.ReadOnly = .T., ; + Column5.Width = 82, ; + Column6.Alignment = 0, ; + Column6.BackColor = 255,255,255, ; + Column6.ColumnOrder = 12, ; + Column6.ControlSource = "partd", ; + Column6.FontCharSet = 238, ; + Column6.FontName = "Arial", ; + Column6.FontSize = 10, ; + Column6.Name = "Column6", ; + Column6.ReadOnly = .T., ; + Column6.Width = 87, ; + Column7.Alignment = 1, ; + Column7.BackColor = 255,255,255, ; + Column7.ColumnOrder = 8, ; + Column7.ControlSource = "SCD", ; + Column7.DynamicForeColor = "rgb(0,0,128)", ; + Column7.FontBold = .F., ; + Column7.FontCharSet = 238, ; + Column7.FontName = "Arial", ; + Column7.FontSize = 10, ; + Column7.ForeColor = 0,0,128, ; + Column7.Name = "Column7", ; + Column7.ReadOnly = .T., ; + Column7.Width = 62, ; + Column8.Alignment = 1, ; + Column8.BackColor = 255,255,255, ; + Column8.ColumnOrder = 10, ; + Column8.ControlSource = "SCC", ; + Column8.DynamicForeColor = "rgb(0,0,128)", ; + Column8.FontBold = .F., ; + Column8.FontCharSet = 238, ; + Column8.FontName = "Arial", ; + Column8.FontSize = 10, ; + Column8.Name = "Column8", ; + Column8.ReadOnly = .T., ; + Column8.Width = 66, ; + Column9.Alignment = 1, ; + Column9.BackColor = 255,255,255, ; + Column9.ColumnOrder = 7, ; + Column9.ControlSource = "SUMA", ; + Column9.DynamicForeColor = "IIF(SUMA>=0, RGB(0,0,0), RGB(255,0,0))", ; + Column9.FontBold = .F., ; + Column9.FontCharSet = 238, ; + Column9.FontName = "Arial", ; + Column9.FontSize = 10, ; + Column9.Format = "r", ; + Column9.InputMask = (get_mask(12,gnPa)), ; + Column9.Name = "Column9", ; + Column9.ReadOnly = .T., ; + Column9.Width = 93, ; + Column10.Alignment = 0, ; + Column10.BackColor = 255,255,255, ; + Column10.ColumnOrder = 13, ; + Column10.ControlSource = "partc", ; + Column10.FontCharSet = 238, ; + Column10.FontName = "Arial", ; + Column10.FontSize = 10, ; + Column10.Name = "Column10", ; + Column10.ReadOnly = .T., ; + Column10.Width = 91, ; + Column11.Alignment = 0, ; + Column11.BackColor = 255,255,255, ; + Column11.ColumnOrder = 17, ; + Column11.ControlSource = "EXPLICATIA", ; + Column11.FontCharSet = 238, ; + Column11.FontName = "Arial", ; + Column11.FontSize = 10, ; + Column11.Name = "Column11", ; + Column11.ReadOnly = .T., ; + Column11.Width = 74, ; + Column12.BackColor = 255,255,255, ; + Column12.ColumnOrder = 21, ; + Column12.ControlSource = "perecheD", ; + Column12.FontCharSet = 238, ; + Column12.FontName = "Arial", ; + Column12.FontSize = 10, ; + Column12.Name = "Column13", ; + Column12.ReadOnly = .T., ; + Column12.Width = 65, ; + Column13.BackColor = 255,255,255, ; + Column13.ColumnOrder = 30, ; + Column13.ControlSource = "nume_3", ; + Column13.FontCharSet = 238, ; + Column13.FontName = "Arial", ; + Column13.FontSize = 10, ; + Column13.Name = "Column14", ; + Column13.ReadOnly = .T., ; + Column14.BackColor = 255,255,255, ; + Column14.ColumnOrder = 31, ; + Column14.ControlSource = "nume_5", ; + Column14.FontCharSet = 238, ; + Column14.FontName = "Arial", ; + Column14.FontSize = 10, ; + Column14.Name = "Column15", ; + Column14.ReadOnly = .T., ; + Column15.BackColor = 255,255,255, ; + Column15.ColumnOrder = 24, ; + Column15.ControlSource = "suma_val", ; + Column15.FontCharSet = 238, ; + Column15.FontName = "Arial", ; + Column15.FontSize = 10, ; + Column15.Format = "r", ; + Column15.InputMask = (get_mask(12,gnPval)), ; + Column15.Name = "Column16", ; + Column15.ReadOnly = .T., ; + Column15.Width = 66, ; + Column16.BackColor = 255,255,255, ; + Column16.ColumnOrder = 25, ; + Column16.ControlSource = "curs", ; + Column16.FontCharSet = 238, ; + Column16.FontName = "Arial", ; + Column16.FontSize = 10, ; + Column16.Format = "r", ; + Column16.InputMask = (get_mask(12,gnPcurs)), ; + Column16.Name = "Column17", ; + Column16.ReadOnly = .T., ; + Column16.Width = 65, ; + Column17.BackColor = 255,255,255, ; + Column17.ColumnOrder = 33, ; + Column17.ControlSource = "id_factd", ; + Column17.FontCharSet = 238, ; + Column17.FontName = "Arial", ; + Column17.FontSize = 10, ; + Column17.Name = "Column18", ; + Column17.ReadOnly = .T., ; + Column18.BackColor = 255,255,255, ; + Column18.ColumnOrder = 23, ; + Column18.ControlSource = "datascad", ; + Column18.FontCharSet = 238, ; + Column18.FontName = "Arial", ; + Column18.FontSize = 10, ; + Column18.Name = "Column19", ; + Column18.ReadOnly = .T., ; + Column18.Visible = .T., ; + Column18.Width = 61, ; + Column19.BackColor = 255,255,255, ; + Column19.ColumnOrder = 26, ; + Column19.ControlSource = "nume_val", ; + Column19.FontCharSet = 238, ; + Column19.FontName = "Arial", ; + Column19.FontSize = 10, ; + Column19.Name = "Column20", ; + Column19.ReadOnly = .T., ; + Column19.Width = 60, ; + Column20.BackColor = 255,255,255, ; + Column20.ColumnOrder = 27, ; + Column20.ControlSource = "nresp", ; + Column20.FontCharSet = 238, ; + Column20.FontName = "Arial", ; + Column20.FontSize = 10, ; + Column20.Name = "Column25", ; + Column20.ReadOnly = .T., ; + Column21.BackColor = 255,255,255, ; + Column21.ColumnOrder = 28, ; + Column21.ControlSource = "dst_chlt", ; + Column21.FontCharSet = 238, ; + Column21.FontName = "Arial", ; + Column21.FontSize = 10, ; + Column21.Name = "Column26", ; + Column21.ReadOnly = .T., ; + Column22.BackColor = 255,255,255, ; + Column22.ColumnOrder = 18, ; + Column22.ControlSource = "nrord", ; + Column22.FontCharSet = 238, ; + Column22.FontName = "Arial", ; + Column22.FontSize = 10, ; + Column22.Name = "Column27", ; + Column22.ReadOnly = .T., ; + Column22.Width = 87, ; + Column23.BackColor = 255,255,255, ; + Column23.ColumnOrder = 20, ; + Column23.ControlSource = "nnir", ; + Column23.FontCharSet = 238, ; + Column23.FontName = "Arial", ; + Column23.FontSize = 10, ; + Column23.Name = "Column28", ; + Column23.ReadOnly = .T., ; + Column23.Width = 55, ; + Column24.BackColor = 255,255,255, ; + Column24.ColumnOrder = 29, ; + Column24.ControlSource = "sectie", ; + Column24.FontCharSet = 238, ; + Column24.FontName = "Arial", ; + Column24.FontSize = 10, ; + Column24.Name = "Column29", ; + Column24.ReadOnly = .T., ; + Column25.BackColor = 242,255,255, ; + Column25.ColumnOrder = 9, ; + Column25.ControlSource = "ascd", ; + Column25.DynamicBackColor = "rgb(242,255,255)", ; + Column25.FontCharSet = 238, ; + Column25.FontName = "Arial", ; + Column25.FontSize = 10, ; + Column25.Format = "r", ; + Column25.InputMask = "xxxx", ; + Column25.Name = "Column31", ; + Column25.ReadOnly = .F., ; + Column25.Width = 39, ; + Column26.BackColor = 242,255,255, ; + Column26.ColumnOrder = 11, ; + Column26.ControlSource = "ascc", ; + Column26.DynamicBackColor = "rgb(242,255,255)", ; + Column26.FontCharSet = 238, ; + Column26.FontName = "Arial", ; + Column26.FontSize = 10, ; + Column26.Format = "r", ; + Column26.InputMask = "xxxx", ; + Column26.Name = "Column32", ; + Column26.ReadOnly = .F., ; + Column26.Width = 40, ; + Column27.BackColor = 255,255,255, ; + Column27.ColumnOrder = 35, ; + Column27.ControlSource = "proc_tva", ; + Column27.FontCharSet = 238, ; + Column27.FontName = "Arial", ; + Column27.FontSize = 10, ; + Column27.Name = "Column33", ; + Column27.ReadOnly = .T., ; + Column27.Width = 60, ; + Column28.BackColor = 255,255,255, ; + Column28.ColumnOrder = 22, ; + Column28.ControlSource = "perecheC", ; + Column28.FontCharSet = 238, ; + Column28.FontName = "Arial", ; + Column28.FontSize = 10, ; + Column28.Name = "Column34", ; + Column28.ReadOnly = .T., ; + Column28.Width = 68, ; + Column29.BackColor = 255,255,255, ; + Column29.ColumnOrder = 34, ; + Column29.ControlSource = "id_factc", ; + Column29.FontCharSet = 238, ; + Column29.FontName = "Arial", ; + Column29.FontSize = 10, ; + Column29.Name = "Column35", ; + Column29.ReadOnly = .T., ; + Column30.BackColor = 255,255,255, ; + Column30.ColumnOrder = 32, ; + Column30.ControlSource = "sucursala", ; + Column30.FontCharSet = 238, ; + Column30.FontName = "Arial", ; + Column30.FontSize = 10, ; + Column30.Name = "Column36", ; + Column30.ReadOnly = .T., ; + Column30.Width = 95, ; + Column31.BackColor = 255,255,255, ; + Column31.ColumnOrder = 19, ; + Column31.ControlSource = "contract", ; + Column31.FontCharSet = 238, ; + Column31.FontName = "Arial", ; + Column31.FontSize = 10, ; + Column31.Name = "Column12", ; + Column31.ReadOnly = .T., ; + Column31.Width = 65, ; + Column32.BackColor = 255,255,255, ; + Column32.ColumnOrder = 5, ; + Column32.ControlSource = "serie_act", ; + Column32.FontCharSet = 238, ; + Column32.FontName = "Arial", ; + Column32.FontSize = 10, ; + Column32.Name = "Column21", ; + Column32.ReadOnly = .T., ; + Column32.Width = 65, ; + Column33.ColumnOrder = 14, ; + Column33.ControlSource = "explicatie_tva", ; + Column33.FontCharSet = 238, ; + Column33.Name = "Column22", ; + Column33.Width = 132, ; + Column34.ColumnOrder = 15, ; + Column34.ControlSource = "taxname", ; + Column34.FontCharSet = 238, ; + Column34.Name = "Column23", ; + Column34.Width = 84, ; + Column35.ColumnOrder = 16, ; + Column35.ControlSource = "paymentname", ; + Column35.FontCharSet = 238, ; + Column35.Name = "Column24", ; + Column35.Width = 89 + *< END OBJECT: BaseClass="grid" /> + + ADD OBJECT 'Grid1.Column1.Header1' AS header WITH ; + Alignment = 2, ; + Caption = "NrCrt", ; + FontCharSet = 238, ; + FontName = "Arial", ; + FontSize = 10, ; + Name = "Header1" + *< END OBJECT: BaseClass="header" /> + + ADD OBJECT 'Grid1.Column1.Text1' AS textbox WITH ; + Alignment = 1, ; + BackColor = 255,255,255, ; + BorderStyle = 0, ; + FontCharSet = 238, ; + FontName = "Arial", ; + FontSize = 10, ; + ForeColor = 0,0,0, ; + Margin = 0, ; + Name = "Text1", ; + ReadOnly = .T. + *< END OBJECT: BaseClass="textbox" /> + + ADD OBJECT 'Grid1.Column10.Header1' AS header WITH ; + Alignment = 2, ; + Caption = "Partener Credit", ; + FontCharSet = 238, ; + FontName = "Arial", ; + FontSize = 10, ; + Name = "Header1" + *< END OBJECT: BaseClass="header" /> + + ADD OBJECT 'Grid1.Column10.Text1' AS textbox WITH ; + Alignment = 0, ; + BackColor = 255,255,255, ; + BorderStyle = 0, ; + FontCharSet = 238, ; + FontName = "Arial", ; + FontSize = 10, ; + ForeColor = 0,0,0, ; + Margin = 0, ; + Name = "Text1", ; + ReadOnly = .T. + *< END OBJECT: BaseClass="textbox" /> + + ADD OBJECT 'Grid1.Column11.Header1' AS header WITH ; + Alignment = 2, ; + Caption = "Explicatia", ; + FontCharSet = 238, ; + FontName = "Arial", ; + FontSize = 10, ; + Name = "Header1" + *< END OBJECT: BaseClass="header" /> + + ADD OBJECT 'Grid1.Column11.Text1' AS textbox WITH ; + Alignment = 0, ; + BackColor = 255,255,255, ; + BorderStyle = 0, ; + FontCharSet = 238, ; + FontName = "Arial", ; + FontSize = 10, ; + ForeColor = 0,0,0, ; + Margin = 0, ; + Name = "Text1", ; + ReadOnly = .T. + *< END OBJECT: BaseClass="textbox" /> + + ADD OBJECT 'Grid1.Column12.Header1' AS header WITH ; + Alignment = 2, ; + Caption = "Contract", ; + FontCharSet = 238, ; + FontName = "Arial", ; + FontSize = 10, ; + Name = "Header1" + *< END OBJECT: BaseClass="header" /> + + ADD OBJECT 'Grid1.Column12.Text1' AS textbox WITH ; + BackColor = 255,255,255, ; + BorderStyle = 0, ; + FontCharSet = 238, ; + FontName = "Arial", ; + FontSize = 10, ; + ForeColor = 0,0,0, ; + Margin = 0, ; + Name = "Text1" + *< END OBJECT: BaseClass="textbox" /> + + ADD OBJECT 'Grid1.Column13.Header1' AS header WITH ; + Alignment = 2, ; + Caption = "Nr.doc.platit", ; + FontCharSet = 238, ; + FontName = "Arial", ; + FontSize = 10, ; + Name = "Header1" + *< END OBJECT: BaseClass="header" /> + + ADD OBJECT 'Grid1.Column13.Text1' AS textbox WITH ; + BackColor = 255,255,255, ; + BorderStyle = 0, ; + FontCharSet = 238, ; + FontName = "Arial", ; + FontSize = 10, ; + ForeColor = 0,0,0, ; + Margin = 0, ; + Name = "Text1" + *< END OBJECT: BaseClass="textbox" /> + + ADD OBJECT 'Grid1.Column14.Header1' AS header WITH ; + Alignment = 2, ; + Caption = "Explicatia 4", ; + FontCharSet = 238, ; + FontName = "Arial", ; + FontSize = 10, ; + Name = "Header1" + *< END OBJECT: BaseClass="header" /> + + ADD OBJECT 'Grid1.Column14.Text1' AS textbox WITH ; + BackColor = 255,255,255, ; + BorderStyle = 0, ; + FontCharSet = 238, ; + FontName = "Arial", ; + FontSize = 10, ; + ForeColor = 0,0,0, ; + Margin = 0, ; + Name = "Text1" + *< END OBJECT: BaseClass="textbox" /> + + ADD OBJECT 'Grid1.Column15.Header1' AS header WITH ; + Alignment = 2, ; + Caption = "Explicatia 6", ; + FontCharSet = 238, ; + FontName = "Arial", ; + FontSize = 10, ; + Name = "Header1" + *< END OBJECT: BaseClass="header" /> + + ADD OBJECT 'Grid1.Column15.Text1' AS textbox WITH ; + BackColor = 255,255,255, ; + BorderStyle = 0, ; + FontCharSet = 238, ; + FontName = "Arial", ; + FontSize = 10, ; + ForeColor = 0,0,0, ; + Margin = 0, ; + Name = "Text1" + *< END OBJECT: BaseClass="textbox" /> + + ADD OBJECT 'Grid1.Column16.Header1' AS header WITH ; + Alignment = 2, ; + Caption = "Suma Valuta", ; + FontCharSet = 238, ; + FontName = "Arial", ; + FontSize = 10, ; + Name = "Header1" + *< END OBJECT: BaseClass="header" /> + + ADD OBJECT 'Grid1.Column16.Text1' AS textbox WITH ; + BackColor = 255,255,255, ; + BorderStyle = 0, ; + FontCharSet = 238, ; + FontName = "Arial", ; + FontSize = 10, ; + ForeColor = 0,0,0, ; + Margin = 0, ; + Name = "Text1" + *< END OBJECT: BaseClass="textbox" /> + + ADD OBJECT 'Grid1.Column17.Header1' AS header WITH ; + Alignment = 2, ; + Caption = "Curs valutar", ; + FontCharSet = 238, ; + FontName = "Arial", ; + FontSize = 10, ; + Name = "Header1" + *< END OBJECT: BaseClass="header" /> + + ADD OBJECT 'Grid1.Column17.Text1' AS textbox WITH ; + BackColor = 255,255,255, ; + BorderStyle = 0, ; + FontCharSet = 238, ; + FontName = "Arial", ; + FontSize = 10, ; + ForeColor = 0,0,0, ; + Margin = 0, ; + Name = "Text1" + *< END OBJECT: BaseClass="textbox" /> + + ADD OBJECT 'Grid1.Column18.Header1' AS header WITH ; + Alignment = 2, ; + Caption = "Id factD", ; + FontCharSet = 238, ; + FontName = "Arial", ; + FontSize = 10, ; + Name = "Header1" + *< END OBJECT: BaseClass="header" /> + + ADD OBJECT 'Grid1.Column18.Text1' AS textbox WITH ; + BackColor = 255,255,255, ; + BorderStyle = 0, ; + FontCharSet = 238, ; + FontName = "Arial", ; + FontSize = 10, ; + ForeColor = 0,0,0, ; + Margin = 0, ; + Name = "Text1" + *< END OBJECT: BaseClass="textbox" /> + + ADD OBJECT 'Grid1.Column19.Header1' AS header WITH ; + Alignment = 2, ; + Caption = "Data scadenta", ; + FontCharSet = 238, ; + FontName = "Arial", ; + FontSize = 10, ; + Name = "Header1" + *< END OBJECT: BaseClass="header" /> + + ADD OBJECT 'Grid1.Column19.Text1' AS textbox WITH ; + BackColor = 255,255,255, ; + BorderStyle = 0, ; + FontCharSet = 238, ; + FontName = "Arial", ; + FontSize = 10, ; + ForeColor = 0,0,0, ; + Margin = 0, ; + Name = "Text1", ; + Visible = .T. + *< END OBJECT: BaseClass="textbox" /> + + ADD OBJECT 'Grid1.Column2.Header2' AS header WITH ; + Alignment = 2, ; + Caption = "Data Inreg.", ; + FontCharSet = 238, ; + FontName = "Arial", ; + FontSize = 10, ; + Name = "Header2" + *< END OBJECT: BaseClass="header" /> + + ADD OBJECT 'Grid1.Column2.Text1' AS textbox WITH ; + Alignment = 1, ; + BackColor = 255,255,255, ; + BorderStyle = 0, ; + FontCharSet = 238, ; + FontName = "Arial", ; + FontSize = 10, ; + ForeColor = 0,0,0, ; + Margin = 0, ; + Name = "Text1", ; + ReadOnly = .T. + *< END OBJECT: BaseClass="textbox" /> + + ADD OBJECT 'Grid1.Column20.Header1' AS header WITH ; + Alignment = 2, ; + Caption = "Nume Valuta", ; + FontCharSet = 238, ; + FontName = "Arial", ; + FontSize = 10, ; + Name = "Header1" + *< END OBJECT: BaseClass="header" /> + + ADD OBJECT 'Grid1.Column20.Text1' AS textbox WITH ; + BackColor = 255,255,255, ; + BorderStyle = 0, ; + FontCharSet = 238, ; + FontName = "Arial", ; + FontSize = 10, ; + ForeColor = 0,0,0, ; + Margin = 0, ; + Name = "Text1" + *< END OBJECT: BaseClass="textbox" /> + + ADD OBJECT 'Grid1.Column21.Header1' AS header WITH ; + Alignment = 2, ; + Caption = "Serie Doc.", ; + FontCharSet = 238, ; + FontName = "Arial", ; + FontSize = 10, ; + Name = "Header1" + *< END OBJECT: BaseClass="header" /> + + ADD OBJECT 'Grid1.Column21.Text1' AS textbox WITH ; + Alignment = 3, ; + BackColor = 255,255,255, ; + BorderStyle = 0, ; + FontCharSet = 238, ; + FontName = "Arial", ; + FontSize = 10, ; + ForeColor = 0,0,0, ; + Margin = 0, ; + Name = "Text1", ; + ReadOnly = .T. + *< END OBJECT: BaseClass="textbox" /> + + ADD OBJECT 'Grid1.Column22.Header1' AS header WITH ; + Alignment = 2, ; + Caption = "Explicatie TVA", ; + FontCharSet = 238, ; + Name = "Header1" + *< END OBJECT: BaseClass="header" /> + + ADD OBJECT 'Grid1.Column22.Text1' AS textbox WITH ; + BackColor = 255,255,255, ; + BorderStyle = 0, ; + FontCharSet = 238, ; + ForeColor = 0,0,0, ; + Margin = 0, ; + Name = "Text1" + *< END OBJECT: BaseClass="textbox" /> + + ADD OBJECT 'Grid1.Column23.Header1' AS header WITH ; + Alignment = 2, ; + Caption = "Cod taxa SAFT", ; + FontCharSet = 238, ; + Name = "Header1" + *< END OBJECT: BaseClass="header" /> + + ADD OBJECT 'Grid1.Column23.Text1' AS textbox WITH ; + BackColor = 255,255,255, ; + BorderStyle = 0, ; + FontCharSet = 238, ; + ForeColor = 0,0,0, ; + Margin = 0, ; + Name = "Text1" + *< END OBJECT: BaseClass="textbox" /> + + ADD OBJECT 'Grid1.Column24.Header1' AS header WITH ; + Alignment = 2, ; + Caption = "Cod plata SAFT", ; + FontCharSet = 238, ; + Name = "Header1" + *< END OBJECT: BaseClass="header" /> + + ADD OBJECT 'Grid1.Column24.Text1' AS textbox WITH ; + BackColor = 255,255,255, ; + BorderStyle = 0, ; + FontCharSet = 238, ; + ForeColor = 0,0,0, ; + Margin = 0, ; + Name = "Text1" + *< END OBJECT: BaseClass="textbox" /> + + ADD OBJECT 'Grid1.Column25.Header1' AS header WITH ; + Alignment = 2, ; + Caption = "Responsabili", ; + FontCharSet = 238, ; + FontName = "Arial", ; + FontSize = 10, ; + Name = "Header1" + *< END OBJECT: BaseClass="header" /> + + ADD OBJECT 'Grid1.Column25.Text1' AS textbox WITH ; + BackColor = 255,255,255, ; + BorderStyle = 0, ; + FontCharSet = 238, ; + FontName = "Arial", ; + FontSize = 10, ; + ForeColor = 0,0,0, ; + Margin = 0, ; + Name = "Text1" + *< END OBJECT: BaseClass="textbox" /> + + ADD OBJECT 'Grid1.Column26.Header1' AS header WITH ; + Alignment = 2, ; + Caption = "Cheltuieli/Venituri", ; + FontCharSet = 238, ; + FontName = "Arial", ; + FontSize = 10, ; + Name = "Header1" + *< END OBJECT: BaseClass="header" /> + + ADD OBJECT 'Grid1.Column26.Text1' AS textbox WITH ; + BackColor = 255,255,255, ; + BorderStyle = 0, ; + FontCharSet = 238, ; + FontName = "Arial", ; + FontSize = 10, ; + ForeColor = 0,0,0, ; + Margin = 0, ; + Name = "Text1" + *< END OBJECT: BaseClass="textbox" /> + + ADD OBJECT 'Grid1.Column27.Header1' AS header WITH ; + Alignment = 2, ; + Caption = "Lucrare/Comanda", ; + FontCharSet = 238, ; + FontName = "Arial", ; + FontSize = 10, ; + Name = "Header1" + *< END OBJECT: BaseClass="header" /> + + ADD OBJECT 'Grid1.Column27.Text1' AS textbox WITH ; + BackColor = 255,255,255, ; + BorderStyle = 0, ; + FontCharSet = 238, ; + FontName = "Arial", ; + FontSize = 10, ; + ForeColor = 0,0,0, ; + Margin = 0, ; + Name = "Text1" + *< END OBJECT: BaseClass="textbox" /> + + ADD OBJECT 'Grid1.Column28.Header1' AS header WITH ; + Alignment = 2, ; + Caption = "Nr.NIR/Bon", ; + FontCharSet = 238, ; + FontName = "Arial", ; + FontSize = 10, ; + Name = "Header1" + *< END OBJECT: BaseClass="header" /> + + ADD OBJECT 'Grid1.Column28.Text1' AS textbox WITH ; + BackColor = 255,255,255, ; + BorderStyle = 0, ; + FontCharSet = 238, ; + FontName = "Arial", ; + FontSize = 10, ; + ForeColor = 0,0,0, ; + Margin = 0, ; + Name = "Text1" + *< END OBJECT: BaseClass="textbox" /> + + ADD OBJECT 'Grid1.Column29.Header1' AS header WITH ; + Alignment = 2, ; + Caption = "Sectie", ; + FontCharSet = 238, ; + FontName = "Arial", ; + FontSize = 10, ; + Name = "Header1" + *< END OBJECT: BaseClass="header" /> + + ADD OBJECT 'Grid1.Column29.Text1' AS textbox WITH ; + BackColor = 255,255,255, ; + BorderStyle = 0, ; + FontCharSet = 238, ; + FontName = "Arial", ; + FontSize = 10, ; + ForeColor = 0,0,0, ; + Margin = 0, ; + Name = "Text1" + *< END OBJECT: BaseClass="textbox" /> + + ADD OBJECT 'Grid1.Column3.Header3' AS header WITH ; + Alignment = 2, ; + Caption = "Fel Doc.", ; + FontCharSet = 238, ; + FontName = "Arial", ; + FontSize = 10, ; + Name = "Header3" + *< END OBJECT: BaseClass="header" /> + + ADD OBJECT 'Grid1.Column3.Text1' AS textbox WITH ; + Alignment = 0, ; + BackColor = 255,255,255, ; + BorderStyle = 0, ; + FontCharSet = 238, ; + FontName = "Arial", ; + FontSize = 10, ; + ForeColor = 0,0,0, ; + Margin = 0, ; + Name = "Text1", ; + ReadOnly = .T. + *< END OBJECT: BaseClass="textbox" /> + + ADD OBJECT 'Grid1.Column31.Header1' AS header WITH ; + Caption = "Analit.", ; + FontCharSet = 238, ; + FontName = "Arial", ; + FontSize = 10, ; + Name = "Header1" + *< END OBJECT: BaseClass="header" /> + + ADD OBJECT 'Grid1.Column31.Text1' AS textbox WITH ; + BackColor = 242,255,255, ; + BorderStyle = 0, ; + FontCharSet = 238, ; + FontName = "Arial", ; + FontSize = 10, ; + ForeColor = 0,0,0, ; + Margin = 0, ; + Name = "Text1", ; + ReadOnly = .F. + *< END OBJECT: BaseClass="textbox" /> + + ADD OBJECT 'Grid1.Column32.Header1' AS header WITH ; + Caption = "Analit.", ; + FontCharSet = 238, ; + FontName = "Arial", ; + FontSize = 10, ; + Name = "Header1" + *< END OBJECT: BaseClass="header" /> + + ADD OBJECT 'Grid1.Column32.Text1' AS textbox WITH ; + BackColor = 242,255,255, ; + BorderStyle = 0, ; + FontCharSet = 238, ; + FontName = "Arial", ; + FontSize = 10, ; + ForeColor = 0,0,0, ; + Margin = 0, ; + Name = "Text1", ; + ReadOnly = .F. + *< END OBJECT: BaseClass="textbox" /> + + ADD OBJECT 'Grid1.Column33.Header1' AS header WITH ; + Alignment = 2, ; + Caption = "Cota TVA", ; + FontCharSet = 238, ; + FontName = "Arial", ; + FontSize = 10, ; + Name = "Header1" + *< END OBJECT: BaseClass="header" /> + + ADD OBJECT 'Grid1.Column33.Text1' AS textbox WITH ; + BackColor = 255,255,255, ; + BorderStyle = 0, ; + FontCharSet = 238, ; + FontName = "Arial", ; + FontSize = 10, ; + ForeColor = 0,0,0, ; + Margin = 0, ; + Name = "Text1" + *< END OBJECT: BaseClass="textbox" /> + + ADD OBJECT 'Grid1.Column34.Header1' AS header WITH ; + Alignment = 2, ; + Caption = "Nr.doc.incasat", ; + FontCharSet = 238, ; + FontName = "Arial", ; + FontSize = 10, ; + Name = "Header1" + *< END OBJECT: BaseClass="header" /> + + ADD OBJECT 'Grid1.Column34.Text1' AS textbox WITH ; + BackColor = 255,255,255, ; + BorderStyle = 0, ; + FontCharSet = 238, ; + FontName = "Arial", ; + FontSize = 10, ; + ForeColor = 0,0,0, ; + Margin = 0, ; + Name = "Text1" + *< END OBJECT: BaseClass="textbox" /> + + ADD OBJECT 'Grid1.Column35.Header1' AS header WITH ; + Alignment = 2, ; + Caption = "Id factC", ; + FontCharSet = 238, ; + FontName = "Arial", ; + FontSize = 10, ; + Name = "Header1" + *< END OBJECT: BaseClass="header" /> + + ADD OBJECT 'Grid1.Column35.Text1' AS textbox WITH ; + BackColor = 255,255,255, ; + BorderStyle = 0, ; + FontCharSet = 238, ; + FontName = "Arial", ; + FontSize = 10, ; + ForeColor = 0,0,0, ; + Margin = 0, ; + Name = "Text1" + *< END OBJECT: BaseClass="textbox" /> + + ADD OBJECT 'Grid1.Column36.Header1' AS header WITH ; + Alignment = 2, ; + Caption = "Sucursala", ; + FontCharSet = 238, ; + FontName = "Arial", ; + FontSize = 10, ; + Name = "Header1" + *< END OBJECT: BaseClass="header" /> + + ADD OBJECT 'Grid1.Column36.Text1' AS textbox WITH ; + BackColor = 255,255,255, ; + BorderStyle = 0, ; + FontCharSet = 238, ; + FontName = "Arial", ; + FontSize = 10, ; + ForeColor = 0,0,0, ; + Margin = 0, ; + Name = "Text1" + *< END OBJECT: BaseClass="textbox" /> + + ADD OBJECT 'Grid1.Column4.Header4' AS header WITH ; + Alignment = 2, ; + Caption = "Data Act", ; + FontCharSet = 238, ; + FontName = "Arial", ; + FontSize = 10, ; + Name = "Header4" + *< END OBJECT: BaseClass="header" /> + + ADD OBJECT 'Grid1.Column4.Text1' AS textbox WITH ; + Alignment = 1, ; + BackColor = 255,255,255, ; + BorderStyle = 0, ; + FontCharSet = 238, ; + FontName = "Arial", ; + FontSize = 10, ; + ForeColor = 0,0,0, ; + Margin = 0, ; + Name = "Text1", ; + ReadOnly = .T. + *< END OBJECT: BaseClass="textbox" /> + + ADD OBJECT 'Grid1.Column5.Header5' AS header WITH ; + Alignment = 2, ; + Caption = "Nr.Doc.", ; + FontCharSet = 238, ; + FontName = "Arial", ; + FontSize = 10, ; + Name = "Header5" + *< END OBJECT: BaseClass="header" /> + + ADD OBJECT 'Grid1.Column5.Text1' AS textbox WITH ; + Alignment = 1, ; + BackColor = 255,255,255, ; + BorderStyle = 0, ; + FontCharSet = 238, ; + FontName = "Arial", ; + FontSize = 10, ; + ForeColor = 0,0,0, ; + Margin = 0, ; + Name = "Text1", ; + ReadOnly = .T. + *< END OBJECT: BaseClass="textbox" /> + + ADD OBJECT 'Grid1.Column6.Header6' AS header WITH ; + Alignment = 2, ; + Caption = "Partener Debit", ; + FontCharSet = 238, ; + FontName = "Arial", ; + FontSize = 10, ; + Name = "Header6" + *< END OBJECT: BaseClass="header" /> + + ADD OBJECT 'Grid1.Column6.Text1' AS textbox WITH ; + Alignment = 0, ; + BackColor = 255,255,255, ; + BorderColor = 0,0,0, ; + BorderStyle = 0, ; + FontCharSet = 238, ; + FontName = "Arial", ; + FontSize = 10, ; + ForeColor = 0,0,0, ; + Margin = 0, ; + Name = "Text1", ; + ReadOnly = .T. + *< END OBJECT: BaseClass="textbox" /> + + ADD OBJECT 'Grid1.Column7.Header7' AS header WITH ; + Alignment = 2, ; + Caption = "Cont Deb.", ; + FontCharSet = 238, ; + FontName = "Arial", ; + FontSize = 10, ; + Name = "Header7" + *< END OBJECT: BaseClass="header" /> + + ADD OBJECT 'Grid1.Column7.Text1' AS textbox WITH ; + Alignment = 1, ; + BackColor = 255,255,255, ; + BorderStyle = 0, ; + FontBold = .F., ; + FontCharSet = 238, ; + FontName = "Arial", ; + FontSize = 10, ; + ForeColor = 0,0,128, ; + Margin = 0, ; + Name = "Text1", ; + ReadOnly = .T. + *< END OBJECT: BaseClass="textbox" /> + + ADD OBJECT 'Grid1.Column8.Header8' AS header WITH ; + Alignment = 2, ; + Caption = "Cont Cred.", ; + FontCharSet = 238, ; + FontName = "Arial", ; + FontSize = 10, ; + Name = "Header8" + *< END OBJECT: BaseClass="header" /> + + ADD OBJECT 'Grid1.Column8.Text1' AS textbox WITH ; + Alignment = 1, ; + BackColor = 255,255,255, ; + BorderStyle = 0, ; + FontBold = .F., ; + FontCharSet = 238, ; + FontName = "Arial", ; + FontSize = 10, ; + ForeColor = 0,0,0, ; + Margin = 0, ; + Name = "Text1", ; + ReadOnly = .T. + *< END OBJECT: BaseClass="textbox" /> + + ADD OBJECT 'Grid1.Column9.Header9' AS header WITH ; + Alignment = 2, ; + Caption = "Suma", ; + FontCharSet = 238, ; + FontName = "Arial", ; + FontSize = 10, ; + Name = "Header9" + *< END OBJECT: BaseClass="header" /> + + ADD OBJECT 'Grid1.Column9.Text1' AS textbox WITH ; + Alignment = 1, ; + BackColor = 255,255,255, ; + BorderStyle = 0, ; + FontBold = .F., ; + FontCharSet = 238, ; + FontName = "Arial", ; + FontSize = 10, ; + ForeColor = 0,0,0, ; + Margin = 0, ; + Name = "Text1", ; + ReadOnly = .T. + *< END OBJECT: BaseClass="textbox" /> + + PROCEDURE Init + DODEFAULT() + this.grid1.column23.Visible = m.gl406 && taxcode + this.grid1.column24.Visible = m.gl406 && paymentcode + ENDPROC + + PROCEDURE Grid1.Column1.Text1.RightClick + do editscurt.mpr + ENDPROC + + PROCEDURE Grid1.Column10.Text1.RightClick + do editscurt.mpr + ENDPROC + + PROCEDURE Grid1.Column11.Text1.RightClick + do editscurt.mpr + ENDPROC + + PROCEDURE Grid1.Column2.Text1.RightClick + do editscurt.mpr + ENDPROC + + PROCEDURE Grid1.Column3.Text1.RightClick + do editscurt.mpr + ENDPROC + + PROCEDURE Grid1.Column31.Text1.Click + this.LostFocus(.t.) + ENDPROC + + PROCEDURE Grid1.Column31.Text1.LostFocus + *!* 05.06.2009 + *!* marius.mutu + *!* completez analiticul pentru toate aparitiile contului + + Parameters PlClick + LOCAL lcCont, lcAcont, lnRecno, llReturn + + Select actactan + lcCont = scd + lcAcont = ascd + lnRecno = RECNO() + *ll_l=Thisformset.verific_analitic(PlClick, lcCont, lcAcont,'ascd') + llReturn = verific_analitic(plClick, lcCont, lcAcont,'ascd','actactan') + + If !llReturn + Replace actactan.ascd With '' + Return 0 + ELSE + *!* 05.06.2009 + *!* marius.mutu + SELECT actactan + REPLACE ALL ascd WITH lcAcont FOR ALLTRIM(scd) == ALLTRIM(lcCont) AND EMPTY(ascd) + REPLACE ALL ascc WITH lcAcont FOR ALLTRIM(scc) == ALLTRIM(lcCont) AND EMPTY(ascc) + GOTO lnRecno + Endif + This.Parent.Parent.Refresh + + ENDPROC + + PROCEDURE Grid1.Column31.Text1.Valid + *!* IF !EMPTY(ascd) + *!* ll_l=THISFORMset.verif_ASCD() + *!* IF ll_l + *!* REPLACE ACTACTAN.ASCD WITH '' + *!* RETURN 0 + *!* ENDIF + *!* THIS.Parent.Parent.Refresh + *!* ENDIF + ENDPROC + + PROCEDURE Grid1.Column32.Text1.Click + this.LostFocus(.t.) + + ENDPROC + + PROCEDURE Grid1.Column32.Text1.LostFocus + PARAMETERS PlClick + SELECT actactan + lcCont = scc + lcAcont = ascc + *ll_l=THISFORMset.verific_analitic(plClick, lcCont, lcAcont,'ascc') + llReturn = verific_analitic(plClick, lcCont, lcAcont,'ascc','actactan') + IF !llReturn + REPLACE ACTACTAN.ASCC WITH '' + RETURN 0 + ENDIF + THIS.Parent.Parent.Refresh + ENDPROC + + PROCEDURE Grid1.Column32.Text1.Valid + *!* IF !EMPTY(ascc) + *!* ll_l=THISFORMset.verif_ASCC() + *!* IF ll_l + *!* REPLACE ACTACTAN.ASCC WITH '' + *!* RETURN 0 + *!* ENDIF + *!* THIS.Parent.Parent.Refresh + *!* ENDIF + ENDPROC + + PROCEDURE Grid1.Column4.Text1.RightClick + do editscurt.mpr + ENDPROC + + PROCEDURE Grid1.Column5.Text1.RightClick + do editscurt.mpr + ENDPROC + + PROCEDURE Grid1.Column6.Text1.RightClick + do editscurt.mpr + ENDPROC + + PROCEDURE Grid1.Column7.Text1.RightClick + do editscurt.mpr + ENDPROC + + PROCEDURE Grid1.Column8.Text1.RightClick + do editscurt.mpr + ENDPROC + + PROCEDURE Grid1.Column9.Text1.RightClick + do editscurt.mpr + ENDPROC + +ENDDEFINE + +DEFINE CLASS da AS terminat OF "baza.vcx" + *< CLASSDATA: Baseclass="container" Timestamp="" Scale="Pixels" Uniqueid="" /> + + * + Height = 30 + Name = "da" + Width = 50 + Imbuton1.Height = 30 + Imbuton1.Name = "Imbuton1" + Imbuton1.Picture = ..\grafice\da_sus.bmp + Imbuton1.Width = 50 + Command1.Height = 30 + Command1.Left = 0 + Command1.Name = "Command1" + Command1.Top = 0 + Command1.Width = 50 + * + + PROCEDURE MouseEnter + LPARAMETERS nButton, nShift, nXCoord, nYCoord + this.imbuton1.picture='da_jos.BMP' + ENDPROC + + PROCEDURE MouseLeave + LPARAMETERS nButton, nShift, nXCoord, nYCoord + this.imbuton1.picture='da_sus.BMP' + ENDPROC + +ENDDEFINE + +DEFINE CLASS excel AS butoninv OF "baza.vcx" + *< CLASSDATA: Baseclass="container" Timestamp="" Scale="Pixels" Uniqueid="" /> + + * + Name = "excel" + Imbuton1.Height = 27 + Imbuton1.Name = "Imbuton1" + Imbuton1.Picture = ..\grafice\excel_sus.bmp + Imbuton1.ToolTipText = "Excel" + Imbuton1.Width = 30 + Command1.Name = "Command1" + Command1.Picture = ..\grafice\excel_sus.bmp + Command1.ToolTipText = "Excel" + * + + PROCEDURE MouseEnter + LPARAMETERS nButton, nShift, nXCoord, nYCoord + this.imbuton1.picture='excel_JOs.BMP' + ENDPROC + + PROCEDURE MouseLeave + LPARAMETERS nButton, nShift, nXCoord, nYCoord + this.imbuton1.picture='excel_sus.BMP' + ENDPROC + +ENDDEFINE + +DEFINE CLASS f_xitem AS formtermin OF "baza.vcx" + *< CLASSDATA: Baseclass="form" Timestamp="" Scale="Pixels" Uniqueid="" /> + + *-- OBJECTDATA items order determines ZOrder / El orden de los items OBJECTDATA determina el ZOrder + *< OBJECTDATA: ObjPath="Grid1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="Nou1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="Sterge1" UniqueID="" Timestamp="" /> + + * + DoCreate = .T. + Name = "f_xitem" + SHAPE1.Height = 36 + SHAPE1.Left = 0 + SHAPE1.Name = "SHAPE1" + SHAPE1.Top = 0 + SHAPE1.Width = 484 + TERMINAT1.COMMAND1.Name = "COMMAND1" + TERMINAT1.IMBUTON1.Height = 29 + TERMINAT1.IMBUTON1.Name = "IMBUTON1" + TERMINAT1.IMBUTON1.Width = 27 + TERMINAT1.Left = 500 + TERMINAT1.Name = "TERMINAT1" + TITLUFRUMOS1.Caption = "Cererea de date" + TITLUFRUMOS1.Name = "TITLUFRUMOS1" + * + + ADD OBJECT 'Grid1' AS grid WITH ; + Height = 278, ; + Left = 8, ; + Name = "Grid1", ; + ReadOnly = .T., ; + Top = 44, ; + Width = 474 + *< END OBJECT: BaseClass="grid" /> + + ADD OBJECT 'Nou1' AS nou WITH ; + Left = 501, ; + Name = "Nou1", ; + Top = 48, ; + Visible = .F., ; + IMBUTON1.Height = 29, ; + IMBUTON1.Name = "IMBUTON1", ; + IMBUTON1.Width = 27, ; + COMMAND1.Name = "COMMAND1" + *< END OBJECT: ClassLib="baza.vcx" BaseClass="container" /> + + ADD OBJECT 'Sterge1' AS sterge WITH ; + Left = 501, ; + Name = "Sterge1", ; + Top = 84, ; + Visible = .F., ; + IMBUTON1.Height = 26, ; + IMBUTON1.Name = "IMBUTON1", ; + IMBUTON1.Width = 26, ; + COMMAND1.Name = "COMMAND1" + *< END OBJECT: ClassLib="baza.vcx" BaseClass="container" /> + + PROCEDURE Nou1.COMMAND1.Click + SELECT xitems + IF FLOCK() + APPEND blan + ENDIF + UNLOCK + thisform.grid1.refresh + + ENDPROC + + PROCEDURE TITLUFRUMOS1.DblClick + thisform.grid1.ReadOnly=.f. + thisform.nou1.Visible=.t. + ENDPROC + +ENDDEFINE + +DEFINE CLASS formbaza AS form + *< CLASSDATA: Baseclass="form" Timestamp="" Scale="Pixels" Uniqueid="" /> + + * + AlwaysOnTop = .T. + AutoCenter = .T. + BackColor = 255,255,255 + BorderStyle = 3 + Caption = "" + Closable = .F. + ControlBox = .F. + DoCreate = .T. + Height = 250 + MaxButton = .F. + MinButton = .F. + Movable = .F. + Name = "formbaza" + ScrollBars = 3 + Width = 375 + * + +ENDDEFINE + +DEFINE CLASS formbloc AS formbaza OF "baza.vcx" + *< CLASSDATA: Baseclass="form" Timestamp="" Scale="Pixels" Uniqueid="" /> + + *-- OBJECTDATA items order determines ZOrder / El orden de los items OBJECTDATA determina el ZOrder + *< OBJECTDATA: ObjPath="Bandabloc1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="Bandabloc1.Blocbuton1.Terminat1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="Titlufrumos1" UniqueID="" Timestamp="" /> + + * + DoCreate = .T. + Height = 292 + Name = "formbloc" + ScrollBars = 0 + Width = 385 + WindowType = 1 + * + + ADD OBJECT 'Bandabloc1' AS bandabloc WITH ; + Left = 0, ; + Name = "Bandabloc1", ; + Top = 0, ; + Banda21.Name = "Banda21", ; + Blocbuton1.Height = 32, ; + Blocbuton1.Left = 336, ; + Blocbuton1.Name = "Blocbuton1", ; + Blocbuton1.Top = 0, ; + Blocbuton1.Width = 48 + *< END OBJECT: ClassLib="baza.vcx" BaseClass="container" /> + + ADD OBJECT 'Bandabloc1.Blocbuton1.Terminat1' AS terminat WITH ; + Left = 11, ; + Name = "Terminat1", ; + Top = 1, ; + Imbuton1.Height = 27, ; + Imbuton1.Name = "Imbuton1", ; + Imbuton1.Width = 30, ; + Command1.Name = "Command1" + *< END OBJECT: ClassLib="baza.vcx" BaseClass="container" /> + + ADD OBJECT 'Titlufrumos1' AS titlufrumos WITH ; + Height = 37, ; + Left = 5, ; + Name = "Titlufrumos1", ; + Top = 2, ; + Width = 319 + *< END OBJECT: ClassLib="baza.vcx" BaseClass="label" /> + +ENDDEFINE + +DEFINE CLASS formtermin AS formbaza OF "baza.vcx" + *< CLASSDATA: Baseclass="form" Timestamp="" Scale="Pixels" Uniqueid="" /> + + *-- OBJECTDATA items order determines ZOrder / El orden de los items OBJECTDATA determina el ZOrder + *< OBJECTDATA: ObjPath="Shape1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="Terminat1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="Titlufrumos1" UniqueID="" Timestamp="" /> + + * + *p: nhwnd + * + + * + BorderStyle = 1 + DoCreate = .T. + Height = 330 + Name = "formtermin" + nhwnd = 0 + ScrollBars = 2 + ShowTips = .T. + Width = 550 + WindowType = 1 + * + + ADD OBJECT 'Shape1' AS shape WITH ; + BackColor = 0,64,128, ; + BorderStyle = 0, ; + BorderWidth = 0, ; + Height = 36, ; + Left = 0, ; + Name = "Shape1", ; + Top = 0, ; + Width = 552, ; + ZOrderSet = 0 + *< END OBJECT: BaseClass="shape" /> + + ADD OBJECT 'Terminat1' AS terminat WITH ; + Left = 500, ; + Name = "Terminat1", ; + Picture = ..\grafice\orb.bmp, ; + ToolTipText = "Terminare (CTRL+F)", ; + Top = 3, ; + ZOrderSet = 1, ; + Imbuton1.Height = 29, ; + Imbuton1.Name = "Imbuton1", ; + Imbuton1.Width = 27, ; + Command1.Name = "Command1" + *< END OBJECT: ClassLib="baza.vcx" BaseClass="container" /> + + ADD OBJECT 'Titlufrumos1' AS titlufrumos WITH ; + Left = 7, ; + Name = "Titlufrumos1", ; + Top = -1, ; + ZOrderSet = 2 + *< END OBJECT: ClassLib="baza.vcx" BaseClass="label" /> + + PROCEDURE KeyPress + Lparameters nKeyCode, nShiftAltCtrl + Local llRenunt, llTerminat, llUrmator, llVerific + llTerminat = .F. + If Pemstatus(This, "terminat1", 5) + llTerminat = This.terminat1.Visible + Endif + + llRenunt = .F. + If Pemstatus(This, "renunt1", 5) + llRenunt = This.renunt1.Visible + Endif + + llVerific = .F. + If Pemstatus(This, "verif1", 5) + llVerific = This.verif1.Visible + Endif + + llUrmator = .F. + If Pemstatus(This, "urmator1", 5) + llUrmator = This.urmator1.Visible + Endif + + llPrecedent = .F. + If Pemstatus(This, "precedent1", 5) + llPrecedent = This.precedent1.Visible + Endif + + Do Case + Case nKeyCode=27 And nShiftAltCtrl=0 && ESC && PRECEDENT/RENUNT + Nodefault + If llPrecedent + This.precedent1.command1.setfocus() + This.precedent1.command1.Click() + Else + If aMessagebox("Sunteti sigur ca doriti sa inchideti fereastra?",4+32+256,"Confirmare")==6 + If llRenunt + this.renunt1.command1.setfocus() + This.renunt1.command1.Click() + Endif + Endif + Endif + Case nKeyCode=6 And nShiftAltCtrl=2 && CTRL + F && TERMINAT / VERIFIC / URMATOR + Nodefault + If llTerminat + This.terminat1.command1.setfocus() + This.terminat1.command1.Click() + Else + If llVerific + This.verif1.command1.setfocus() + This.verif1.command1.Click() + Else + If llUrmator + This.urmator1.command1.setfocus() + This.urmator1.command1.Click() + Endif + Endif + Endif + Otherwise + DoDefault(nKeyCode, nShiftAltCtrl) + Endcase + + + ENDPROC + + PROCEDURE Shape1.Init + nHwnd = 0 + TitleBar = 0 + DECLARE ReleaseCapture IN "user32" + DECLARE LONG SendMessage IN "user32"; + LONG HWND, LONG wMsg, LONG wParam, LONG LPARAM + IF VERSION(5) < 700 + *-- Need to get the forms window handle + ELSE + THISform.nHwnd = THISform.HWnd + ENDIF + ENDPROC + + PROCEDURE Shape1.MouseDown + LPARAMETERS nButton, nShift, nXCoord, nYCoord + IF nButton = 1 + ReleaseCapture() + SendMessage(THISform.nHWND, 0x112, 0xF012, 0x0) + SendMessage(THISform.nHWND, 0x202, 0x0, 0x0) + ENDIF + ENDPROC + + PROCEDURE Titlufrumos1.Init + nHwnd = 0 + TitleBar = 0 + DECLARE ReleaseCapture IN "user32" + DECLARE LONG SendMessage IN "user32"; + LONG HWND, LONG wMsg, LONG wParam, LONG LPARAM + IF VERSION(5) < 700 + *-- Need to get the forms window handle + ELSE + THISform.nHwnd = THISform.HWnd + ENDIF + ENDPROC + + PROCEDURE Titlufrumos1.MouseDown + LPARAMETERS nButton, nShift, nXCoord, nYCoord + IF nButton = 1 + ReleaseCapture() + SendMessage(THISform.nHWND, 0x112, 0xF012, 0x0) + SendMessage(THISform.nHWND, 0x202, 0x0, 0x0) + ENDIF + + ENDPROC + +ENDDEFINE + +DEFINE CLASS gridb AS grid + *< CLASSDATA: Baseclass="grid" Timestamp="" Scale="Pixels" Uniqueid="" /> + + *-- OBJECTDATA items order determines ZOrder / El orden de los items OBJECTDATA determina el ZOrder + *< OBJECTDATA: ObjPath="Column1.Header1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="Column1.Text1" UniqueID="" Timestamp="" /> + + * + *m: gasestecol + *m: headerclick + *m: iesire + *m: treaba + *p: listaord + *p: ordine + * + + * + BackColor = 255,255,255 + ColumnCount = 1 + DeleteMark = .F. + GridLineColor = 0,0,0 + GridLineWidth = 1 + Height = 200 + listaord = 0,0 + Name = "gridb" + ordine = 0 + Panel = 1 + ReadOnly = .T. + RecordMark = .T. + Width = 125 + Column1.BackColor = 255,255,255 + Column1.Name = "Column1" + Column1.ReadOnly = .T. + Column1.Width = 105 + * + + ADD OBJECT 'Column1.Header1' AS header WITH ; + BackColor = 255,255,255, ; + Caption = "Header1", ; + Name = "Header1" + *< END OBJECT: BaseClass="header" /> + + ADD OBJECT 'Column1.Text1' AS textbox WITH ; + BackColor = 255,255,255, ; + BackStyle = 0, ; + BorderStyle = 0, ; + ForeColor = 0,0,0, ; + Margin = 0, ; + Name = "Text1" + *< END OBJECT: BaseClass="textbox" /> + + PROCEDURE gasestecol + Parameters ii + + For j=1 To This.ColumnCount + Nn=Alltrim(Str(j)) + z='this.column'+Nn+'.columnorder=ii' + If &z + Return nn + Endif + Next j + RETURN '0' + + ENDPROC + + PROCEDURE headerclick + PARAMETERS co + l=this.listaord + + IF INLIST(co,&l) + this.ordine=co + this.treaba + endif + + ENDPROC + + PROCEDURE iesire + PARAMETERS Y + ENDPROC + + PROCEDURE Init + Local z,l,n + l=This.listaord + + + For i=1 To This.ColumnCount + If Inlist(i,&l) + n=this.gasestecol(i) &&gaseste coloana cu ordinea i + zz='this.column'+N+'.header1.forecolor=RGB(0,0,255)' + &zz + Endif + Next i + This.treaba + + ENDPROC + + PROCEDURE treaba + + + If This.ordine<>0 + This.SetAll('fontunderline',.F.,'header') + n=this.gasestecol(this.ordine) + z='this.column'+N+'.header1.fontunderline=.t.' + &z + + d=UPPER(This.RecordSource) + z='c=ALLTRIM(this.column'+N+'.controlsource)' + &z + c=UPPER(STRTRAN(c,'.','')) + c=STRTRAN(c,d,'') + Select &d + Set Order To Tag &c + GO top + This.Refresh + Endif + + ENDPROC + + PROCEDURE Column1.Header1.Click + this.Parent.Parent.headerclick(this.Parent.ColumnOrder) + + ENDPROC + + PROCEDURE Column1.Text1.KeyPress + LPARAMETERS nKeyCode, nShiftAltCtrl + do case + case nkeycode=13 + THIS.PARENT.Parent.IESIRE(1) + case nkeycode=9 + THIS.PARENT.Parent.IESIRE(-1) + endcase + ENDPROC + +ENDDEFINE + +DEFINE CLASS gridbicolor AS grid + *< CLASSDATA: Baseclass="grid" Timestamp="" Scale="Pixels" Uniqueid="" /> + + *-- OBJECTDATA items order determines ZOrder / El orden de los items OBJECTDATA determina el ZOrder + *< OBJECTDATA: ObjPath="Column1.Header1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="Column1.Text1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="Column2.Header1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="Column2.Text1" UniqueID="" Timestamp="" /> + + * + ColumnCount = 2 + DeleteMark = .F. + FontName = "Comic Sans MS" + GridLineColor = 192,192,192 + GridLines = 1 + HeaderHeight = 0 + Height = 261 + Left = 60 + Name = "Grid1" + Panel = 1 + ReadOnly = .T. + RecordMark = .F. + RecordSource = "XITEMS" + RowHeight = 26 + ScrollBars = 2 + Top = 50 + Width = 408 + Column1.BackColor = 247,245,238 + Column1.ControlSource = "LABEL_ITEM" + Column1.FontName = "Comic Sans MS" + Column1.Name = "Column1" + Column1.ReadOnly = .T. + Column1.Width = 190 + Column2.ControlSource = "" + Column2.FontName = "Comic Sans MS" + Column2.Name = "Column2" + Column2.ReadOnly = .T. + Column2.Width = 189 + * + + ADD OBJECT 'Column1.Header1' AS header WITH ; + Caption = "Header1", ; + FontName = "Comic Sans MS", ; + Name = "Header1" + *< END OBJECT: BaseClass="header" /> + + ADD OBJECT 'Column1.Text1' AS textbox WITH ; + BackColor = 247,245,238, ; + BorderStyle = 0, ; + FontName = "Comic Sans MS", ; + ForeColor = 0,0,0, ; + Format = "K!", ; + InputMask = "", ; + Margin = 0, ; + Name = "Text1", ; + ReadOnly = .T. + *< END OBJECT: BaseClass="textbox" /> + + ADD OBJECT 'Column2.Header1' AS header WITH ; + Caption = "Header1", ; + FontName = "Comic Sans MS", ; + Name = "Header1" + *< END OBJECT: BaseClass="header" /> + + ADD OBJECT 'Column2.Text1' AS textbox WITH ; + BackColor = 255,255,255, ; + BorderStyle = 0, ; + FontName = "Comic Sans MS", ; + ForeColor = 0,0,0, ; + Margin = 0, ; + Name = "Text1", ; + ReadOnly = .T. + *< END OBJECT: BaseClass="textbox" /> + +ENDDEFINE + +DEFINE CLASS help AS butoninv OF "baza.vcx" + *< CLASSDATA: Baseclass="container" Timestamp="" Scale="Pixels" Uniqueid="" /> + + * + Name = "help" + Imbuton1.Height = 27 + Imbuton1.Name = "Imbuton1" + Imbuton1.Picture = ..\grafice\help_sus.bmp + Imbuton1.Stretch = 2 + Imbuton1.Width = 30 + Command1.Name = "Command1" + * + + PROCEDURE MouseEnter + LPARAMETERS nButton, nShift, nXCoord, nYCoord + this.imbuton1.picture='help_jos.BMP' + ENDPROC + + PROCEDURE MouseLeave + LPARAMETERS nButton, nShift, nXCoord, nYCoord + this.imbuton1.picture='help_sus.BMP' + ENDPROC + +ENDDEFINE + +DEFINE CLASS imbuton AS image + *< CLASSDATA: Baseclass="image" Timestamp="" Scale="Pixels" Uniqueid="" /> + + * + Height = 23 + Name = "imbuton" + Picture = + Stretch = 2 + Width = 31 + * + +ENDDEFINE + +DEFINE CLASS item AS container + *< CLASSDATA: Baseclass="container" Timestamp="" Scale="Pixels" Uniqueid="" /> + + *-- OBJECTDATA items order determines ZOrder / El orden de los items OBJECTDATA determina el ZOrder + *< OBJECTDATA: ObjPath="Label_item1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="Text_item1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="Lineo1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="Lineo3" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="Lineo4" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="Lineo5" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="Lineo2" UniqueID="" Timestamp="" /> + + * + *p: camp_lista + *p: filtru + *p: fis_lista + *p: id_fisier + *p: id_item + *p: id_tipdoc + *p: label_item + *p: nproc_tva + *p: nvalinit + *p: pcobj + *p: tip + * + + * + BackColor = 247,245,238 + BackStyle = 1 + BorderColor = 0,0,128 + BorderWidth = 0 + camp_lista = + filtru = + fis_lista = + Height = 21 + id_fisier = '' + id_item = 0 + id_tipdoc = + label_item = + Name = "item" + nproc_tva = 0 + nvalinit = 0 + pcobj = '' + SpecialEffect = 1 + Width = 454 + * + + ADD OBJECT 'Label_item1' AS label_item WITH ; + AutoSize = .F., ; + BackColor = 255,255,255, ; + BackStyle = 1, ; + FontName = "Arial", ; + FontSize = 10, ; + Height = 18, ; + Left = 3, ; + Name = "Label_item1", ; + TabIndex = 2, ; + Top = 2, ; + Width = 234 + *< END OBJECT: ClassLib="baza.vcx" BaseClass="label" /> + + ADD OBJECT 'Lineo1' AS lineo WITH ; + Height = 0, ; + Left = 0, ; + Name = "Lineo1", ; + Top = 0, ; + Width = 452 + *< END OBJECT: ClassLib="baza.vcx" BaseClass="line" /> + + ADD OBJECT 'Lineo2' AS lineo WITH ; + Height = 21, ; + Left = 239, ; + Name = "Lineo2", ; + Top = 0, ; + Width = 0 + *< END OBJECT: ClassLib="baza.vcx" BaseClass="line" /> + + ADD OBJECT 'Lineo3' AS lineo WITH ; + Height = 0, ; + Left = 0, ; + Name = "Lineo3", ; + Top = 19, ; + Width = 452 + *< END OBJECT: ClassLib="baza.vcx" BaseClass="line" /> + + ADD OBJECT 'Lineo4' AS lineo WITH ; + Height = 21, ; + Left = 452, ; + Name = "Lineo4", ; + Top = 0, ; + Width = 0 + *< END OBJECT: ClassLib="baza.vcx" BaseClass="line" /> + + ADD OBJECT 'Lineo5' AS lineo WITH ; + Height = 21, ; + Left = 0, ; + Name = "Lineo5", ; + Top = 0, ; + Width = 0 + *< END OBJECT: ClassLib="baza.vcx" BaseClass="line" /> + + ADD OBJECT 'Text_item1' AS text_item WITH ; + BackColor = 255,255,255, ; + BorderColor = 226,226,226, ; + BorderStyle = 1, ; + FontCharSet = 238, ; + FontName = "Arial", ; + FontSize = 10, ; + Format = "k", ; + Left = 241, ; + Margin = 0, ; + Name = "Text_item1", ; + TabIndex = 1, ; + Top = 1, ; + Width = 211 + *< END OBJECT: ClassLib="baza.vcx" BaseClass="textbox" /> + + PROCEDURE MouseEnter + LPARAMETERS nButton, nShift, nXCoord, nYCoord + *!* THIS.LABEL_ITEM1.ForeColor=16777215 + *!* THIS.TEXT_ITEM1.ForeColor=16777215 + *!* THIS.LABEL_ITEM1.BACKColor=10485760 + *!* THIS.TEXT_ITEM1.BACKColor=10485760 + ENDPROC + + PROCEDURE MouseLeave + LPARAMETERS nButton, nShift, nXCoord, nYCoord + *!* THIS.LABEL_ITEM1.ForeColor=10485760 + *!* THIS.TEXT_ITEM1.ForeColor=10485760 + *!* THIS.LABEL_ITEM1.BACKColor=RGB(247,245,238) + *!* THIS.TEXT_ITEM1.BACKColor=16777215 + ENDPROC + + PROCEDURE Label_item1.Click + this.parent.text_item1.gotfocus + ENDPROC + + PROCEDURE Text_item1.GotFocus + *!* 28.05.2009 + *!* alex.lepadatu + *!* s-a completat in xsets ocompensari/ocompensari_val + *!* lcfrm_plata se citeste din tabela + *!* s-a modificat lcCond, pentru a pune conditia valuta_2 + + *!* 07.09.2009 + *!* marius.mutu + *!* alegere gestiune pentru id_set 90103 - inventar magazin + + *!* 06.07.2011 + *!* marius.mutu + *!* cautare in vcrm_politici_preturi dupa drepturi utilizator + + *!* 28.02.2013 + *!* marius.mutu + *!* tratare alegere document pereche pentru fel_cont = 2 (bifunctional) + + *!* 01.03.2013 + *!* marius.mutu + *!* NU MAI EXECUT NIMIC DACA ITEM-UL ESTE COMPLETAT IN VARIABILE SI ESTE DISABLED + *!* inainte nu se executa daca era tabstop = .F. + + *!* 08.08.2014 + *!* marius.mutu + *!* plati facturi in lei cu alta valuta - nu se mai verifica soldul in valuta al facturilor (nu au) + + *!* 13.01.2015 + *!* marius.mutu + *!* completare poAct.id_vCONT (pentru utilizarea la o operatie ulterioara) + + *!* 16.01.2015 + *!* marius.mutu + *!* DATAIREG daca deja e completata dataireg (copiat de la operatia anterioara) sa nu se suprascrie + + *!* 07.07.2016 + *!* marius.mutu + *!* se cere numarul de bonuri fiscale cand se ajunge pe campul EXPLICATIA, daca la document s-a ales un document cu tipul B (bonuri fiscale fara CUI, ex: MONETAR) + + Local lcSql, lnSucces, lcTipPart,lcProcDeApelat, loObj, lcpoActIdPart, loCauta + Local M,LcFrm_plata, loMonedaNationala + Store '' To lcProcDeApelat + M=Upper(This.ControlSource) + F=Lower(Alltrim(This.Parent.FIS_LISTA)) + C=Alltrim(This.Parent.CAMP_LISTA) + T=This.Parent.LABEL_ITEM + V=Upper(This.ControlSource) + lcIdFis = Alltrim(This.Parent.id_fisier) + lcObj = Upper(This.Parent.pcobj) + loObj = &lcObj + lcpoActIdPart = 'POACT.ID_V'+Substr(M,7) + + If F=[vnom_valute] + * SET STEP ON + ENDIF + + If Type('this.Parent.Parent.Parent')='O' And Pemstatus(This.Parent.Parent.Parent,'VARIABILE',5) + With This.Parent.Parent.Parent + If !Empty(.variabile) + lnindex=Ascan(.variabile,M,1,Alen(.variabile,1),1,15) + If lnindex>0 And .variabile[lnindex,4] && DISABLED + If Inlist(F,'vnom_parteneri') + lcContul = Strextract(V,'.V') + Select xcont + Locate For Val(contpart) = Val(lcContul) + lcContul = cont_part + lcTip = Alltrim(tipuri_part) + + lnindexId=Ascan(.variabile, m.lcpoActIdPart,1, Alen(.variabile,1),1,15) + Replace idpart With Val(.variabile[lnindexId,2]) + Replace numepart With .variabile[lnindex,2] + &V = .variabile[lnindex,2] && poAct.v4111 + If Type(lcpoActIdPart) <> 'U' + &lcpoActIdPart = Val(.variabile[lnindexId,2]) && poAct.id_vv4111 + Endif + Endif + Return && NU MAI EXECUT NIMIC DACA ITEM-UL ESTE COMPLETAT IN VARIABILE SI ESTE DISABLED + Endif + Endif + Endwith + Endif + + If !(Empty(F) Or Empty(C) Or Empty(T) Or Inlist(F,'vnom_parteneri','vnom_gestiuni','vlucrari_validat','vcontracte','vnom_responsabili','vcrm_politici_preturi')) + pcselect = ['select ] + C + [,] + lcIdFis + [ from ] + F + [ where 2=2'] + pcfiltru = [1=2] + pcschema = [''] + pcorder = C + pccoloane = C + pcTitlu = T + pcTitluColoane = T + *!* modificare facturare in valuta 20.09.2007 + pcFiltruOriginal = Iif(!Empty(This.Parent.filtru),This.Parent.filtru+[ and ],[])+[inactiv = 0] + *!* pcFiltruOriginal = [inactiv = 0] + *!* modificare facturare in valuta 20.09.2007 ^ + *!* modificare 14.06.2013 ROADEVIZE v 0.9.8 + If poAct.id_set = 32000 And This.Parent.id_item = 85 + pcTitluColoane = [Gestiune,Indicativ,Sectie] + ENDIF + *!* modificare 14.06.2013 ROADEVIZE v 0.9.8 + + Do Case + Case F = 'vnom_fdoc' + pcNumeProc = "vnom_fdoc" + pcselect = ['select fel_document,tip_doc, descriere,id_fdoc, id_fdoc2, paymentcode from vnom_fdoc where 2=2'] + pcColoane = [fel_document, tip_doc, descriere] + pcTitluColoane = [Fel Document, Tip, Descriere] + Case F = 'vnom_venchel' + pcNumeProc = "vnom_venchel" + Case F = 'vnom_sectii' + pcNumeProc = "vnom_sectii" + *!* 18.03.2008 + pcFiltruOriginal = pcFiltruOriginal + gcCondSucursala + *!* 18.03.2008 ^ + Otherwise + pcNumeProc = "" + Endcase + locauta = cauta_alfa(pcselect,pcfiltru,pcschema,pcorder,pccoloane,pcTitlu,pcTitluColoane,pcNumeProc,.F.,pcFiltruOriginal) + + * Verific daca tipul de document ales este de tip B = bonuri fiscale fara CUI + * Pe campul explicatie voi cere numarul de bonuri fiscale + IF F = 'vnom_fdoc' + IF !PEMSTATUS(this.parent.parent,'lBonFiscalFaraCUI',5) + this.parent.Parent.AddProperty('lBonFiscalFaraCUI', .F.) + ENDIF + this.parent.Parent.lBonFiscalFaraCUI = (UPPER(ALLTRIM(loCauta.tip_doc)) = 'B') + IF UPPER(ALLTRIM(oxset.tipjurnal)) = 'JV' AND this.Parent.Parent.lBonFiscalFaraCUI + IF ![*BON]$poAct.explicatia + poact.EXPLICATIA = [*BON=x*] + ALLTRIM(NVL(poact.EXPLICATIA, '')) + ENDIF + this.Parent.Parent.Refresh() + ENDIF + ENDIF + + lcLista = C + [,] + lcIdFis + Create Cursor clista (nume_var C(20)) + + ln = lista2cursor(lcLista,'clista','nume_var',",") + + Select clista + Scan + lEValInit = Evaluate('locauta.' + Alltrim(nume_var)) + x = AddProperty(&lcObj,Alltrim(nume_var),lEValInit) + Endscan + Use In clista + + If ',' $ C + *!* modificare 13.06.2013 ROADEVIZE v 0.9.8 + *!* lcPrimVal = Left(lcLista,At(C,',')) + lcPrimVal = Left(C,At(',',C)-1) + *!* modificare ^ + Else + lcPrimVal = Alltrim(C) + Endif + + z = [&v = locauta.] + lcPrimVal + &z + + *!* modificare facturare in valuta 20.09.2007 + *!* in nir suprascrie id_valuta pe care o ia din stoc + If F=[vnom_valute] And oxset.cursval + If Type(lcObj+[.nume_val_vanz])='U' + AddProperty(&lcObj,[nume_val_vanz],&lcObj..nume_val) + AddProperty(&lcObj,[id_valuta_vanz],&lcObj..id_valuta) + Else + &lcObj..nume_val_vanz = &lcObj..nume_val + &lcObj..id_valuta_vanz = &lcObj..id_valuta + Endif + &lcObj..nume_val = [] + &lcObj..id_valuta = 0 + Endif + *!* modificare facturare in valuta 20.09.2007 ^ + *!* modificare 14.06.2013 ROADEVIZE v 0.9.8 + If This.Parent.id_item = 85 + lcIdGest = Iif('gestin'$Lower(V),Strtran(Lower(V),'gestin','id_gestin'),Iif('gestout'$Lower(V),Strtran(Lower(V),'gestout','id_gestout'),[])) + &lcIdGest = locauta.id_gestiune + Endif + If &lcObj..id_set = 32000 And This.Parent.id_item = 86 && daca schimba lucrarea, ii sterg gestiunea si sectia + &lcObj..id_gestout = 0 + &lcObj..gestout = [] + &lcObj..id_sectie = 0 + This.Parent.Parent.Refresh() + Endif + *!* modificare 14.06.2013 ROADEVIZE v 0.9.8 + Endif + + If Inlist(F,'vlucrari_validat') + pcselect = ['select ] + C + [,] + lcIdFis + [ from ] + gcs + [.] + F + [ where 2=2'] + pcfiltru = [1=2] + pcschema = [''] + pcorder = C + pccoloane = C + pcTitlu = T + pcFiltruOriginal = [validat = 0 and inactiv = 0] + + locauta = cauta_alfa(pcselect,pcfiltru,pcschema,pcorder,pccoloane,pcTitlu,pcTitlu,[vnom_lucrari],.F.,pcFiltruOriginal) + lcLista = C + [,] + lcIdFis + Create Cursor clista (nume_var C(20)) + + ln = lista2cursor(lcLista,'clista','nume_var',",") + + Select clista + Scan + lEValInit = Evaluate('locauta.' + Alltrim(nume_var)) + x = AddProperty(&lcObj,Alltrim(nume_var),lEValInit) + Endscan + Use In clista + + If ',' $ C + lcPrimVal = Left(lcLista,At(C,',')) + Else + lcPrimVal = Alltrim(C) + Endif + + z = [&v = locauta.] + lcPrimVal + &z + Endif + + If Inlist(F,'vnom_gestiuni') + *!* 03.10.2007 + *!* *!* 05.07.2006 + *!* *!* MARIUS.MUTU + *!* Do Case + *!* Case Inlist(poAct.id_set, 91,92,95,96,97) && descarcare de gestiune pret de lista -- pentru HANUL PIRATILOR -- vreau sa pot alege gestiune de marfa si de materii prime + *!* lcListaTipGestiune = [2,5,6] + *!* Case Inlist(poAct.id_set, 90101) && nota de inventariere sa poata alege orice gestiune + *!* lcListaTipGestiune = [1,2,3,4,5,6] + *!* *!* modificare facturare in valuta 20.09.2007 + *!* Case Inlist(poAct.id_set,73,79,83,206,62,102,61,103,63,64,65,222,223,224,225,226,227) + *!* lcListaTipGestiune = Alltrim(Str(gnTipGest)) + *!* *!* modificare facturare in valuta 20.09.2007 ^ + *!* Case Alltrim(Str(gnTipGest)) = '6' + *!* lcListaTipGestiune = Alltrim(Str(gnTipGest)) + *!* Otherwise + *!* lcListaTipGestiune = [2,3,4,5] + *!* Endcase + Do Case + Case Inlist(poAct.id_set,91,92,95,96,97,106) && modificare ROAGRESTAURANT 1.0.0 + lcListaTipGestiune = [2,5,6,7] + *!* 07.09.2009 + *!* Case Inlist(poAct.id_set,90101,30009) && modificare 28.01.2008 : am adaugat si 30009 + Case Inlist(poAct.id_set,90101, 90103, 30009) && modificare 28.01.2008 : am adaugat si 30009 + *!* 07.09.2009 ^ + lcListaTipGestiune = [1,2,3,4,5,6,7] + *!* modificare ROAGEST v 2.0.132 + *!* Case INLIST(gnTipGest, 6, 7) + *!* lcListaTipGestiune = Alltrim(Str(gnTipGest)) + *!* modificare ROAGEST v 2.0.132 ^ + Case poAct.id_set = 215 And This.Parent.id_item = 10 && modificare v 2.0.6 + lcListaTipGestiune = [1,2,3,4,5] + Case Inlist(poAct.id_set, 216, 241, 242,255,256,257) And This.Parent.id_item = 10 && mf ach - retur de la marfa pv - trebuie sa aleg o gestiune pv + lcListaTipGestiune = [6,7] + *!* modificare ROAGEST v 2.0.132 + *!* Case INLIST(gnTipGest, 7) + *!* lcListaTipGestiune = Alltrim(Str(gnTipGest)) + Case Inlist(gnTipGest, 6, 7) + lcListaTipGestiune = Alltrim(Str(gnTipGest)) + *!* modificare ROAGEST v 2.0.132 ^ + Otherwise + lcListaTipGestiune = [2,3,4,5] + Endcase + *!* modificare 03.10.2007 ^ + *!* modificare ROAGEST v 2.0.6 + *!* Do Case + *!* Case "-1" $ gcGestPermis + *!* pcselect = ['select * from ] + gcs + [.vnom_GESTIUNI where inactiv = 0 and nr_pag IN (] + lcListaTipGestiune +[)'] + *!* Otherwise + pcselect = ['select * from ] + gcs + [.vnom_GESTIUNI '+] +; + ['where inactiv = 0 and nr_pag IN (] + lcListaTipGestiune + [) and id_gestiune in (select g.id_gestiune from ] + gcs + [.vgest_coresp_grupe_gestiuni g join ] + gcs + [.vgest_coresp_util_grupe u on g.id_grupe = u.id_grupe and u.id_util = ] + Alltrim(Str(gnIdUtil)) + [)'] + *!* Endcase + *!* modificare ROAGEST v 2.0.6 ^ + pcfiltru = [1=2] + pcschema = [''] + pcorder = [NUME_gestiune] + pccoloane = C + pcTitlu = T + pcTitluColoane = [Gestiune,Indicativ] + locauta = cauta_alfa(pcselect,pcfiltru,pcschema,pcorder,pccoloane,pcTitlu,pcTitluColoane,'') + + lcLista = C + [,] + lcIdFis + Create Cursor clista (nume_var C(20)) + ln = lista2cursor(lcLista,'clista','nume_var',",") + Select clista + Scan + lEValInit = Evaluate('locauta.' + Alltrim(nume_var)) + x = AddProperty(&lcObj,Alltrim(nume_var),lEValInit) + Endscan + Use In clista + + &V = locauta.nume_gestiune + lcIdGest = Iif('gestin'$Lower(V),Strtran(Lower(V),'gestin','id_gestin'),Iif('gestout'$Lower(V),Strtran(Lower(V),'gestout','id_gestout'),[])) + &lcIdGest = locauta.id_gestiune + Endif + + If Inlist(F,'vnom_responsabili') + *!* locauta = CautPartenerContabilitate(GetHash([cTitlu=>Responsabili??cTipuriParteneri=>]+Alltrim(Str(gnIdTipResponsabili))+[??lAdaugCorespondente=>1??cNumeProc=>]+; + *!* [nom_parteneri;]+Alltrim(Str(gnIdTipResponsabili))+[,'RESPONSABIL',1,2])) + *!* &V = Alltrim(locauta.denumire) + *!* &lcObj..id_responsabil = locauta.id_part + loCauta = caut_responsabil() + &V = Alltrim(locauta.nume) + &lcObj..id_responsabil = locauta.id_responsabil + Endif + + *** partener + If Inlist(F,'vnom_parteneri') + + lcContul = Strextract(V,'.V') + *!* modificare migrare v 1.0 > v 2.0 + If poAct.id_set = 229 + lcTip = [16] && client + Else + *!* modificare migrare v 1.0 > v 2.0 ^ + Select xcont + Locate For Val(contpart) = Val(lcContul) + lcContul = cont_part + * lntip = tip_part + lcTip = Alltrim(tipuri_part) + *!* modificare migrare v 1.0 > v 2.0 + Endif + *!* modificare migrare v 1.0 > v 2.0 ^ + + *!* locauta = cauta_alfa(lcSelect,lcfiltru,lcschema,lcorder,lccoloane,lcTitlu,lcTitluColoane,lcNumeProc,llAllInlist,lcFiltruOriginal, lcPrimaColoana) + + *!* 03.10.2006 + *!* MARIUS.MUTU + locauta = CautPartenerContabilitate(GetHash([cTitlu=>] + T + [??lAdaugCorespondente=>1??cTipuriParteneri=>] + lcTip)) + *!* modificare migrare v 1.0 > v 2.0 + If poAct.id_set = 229 + poAct.vid_part_rez = locauta.id_part + &V = locauta.nume + Else + *!* modificare migrare v 1.0 > v 2.0 + Select xcont + Replace idpart With locauta.id_part + Replace numepart With locauta.nume + &V = locauta.nume + If Type(lcpoActIdPart) <> 'U' + &lcpoActIdPart = locauta.id_part + Endif + *!* modificare migrare v 1.0 > v 2.0 + Endif + *!* modificare migrare v 1.0 > v 2.0 + + + + * 14.04.2015 Cautare in RTVAI + * nu cauta in RTVAI daca id_set = 101, 10565, 10575 (taxare inversa) sau 208,209 (achizitie din import), cod fiscal completat, doar partenerii din clasa 4xx (Terti) + IF xsets.tipjurnal = 'JC' AND TYPE('this.parent.parent.ck_tva_la_incasare') = 'O' AND !EMPTY(locauta.cod_fiscal) AND Substr(M,8,1) = '4' + IF this.parent.parent.ck_tva_la_incasare.visible AND !INLIST(XSETS.ID_SET, 101, 10565, 10575, 208, 209) + LOCAL loPartenerRTVAIX,loPartenerRTVAI + loPartenerRTVAIX = Createobject("empty") + loPartenerRTVAI = Createobject("empty") + AddProperty(loPartenerRTVAIX, "cod_fiscal",locauta.cod_fiscal) + AddProperty(loPartenerRTVAIX, "denumire", locauta.nume) + AddProperty(loPartenerRTVAIX, "dataact", &lcObj..dataact) + VERIFICA_RTVAI(loPartenerRTVAIX, @loPartenerRTVAI) + + + IF goCalendar.tva_incasare = 0 && Daca firma nu este cu tva la incasare, modific bifa TVAI in functie de furnizor + This.parent.parent.ck_tva_la_incasare.value = IIF(loPartenerRtvai.leinRtvai,1,0) + ENDIF + + IF TYPE('this.parent.parent.oPartenerRTVAI') = 'U' + ADDPROPERTY(this.parent.parent, "oPartenerRTVAI", NULL) + ENDIF + this.parent.parent.oPartenerRTVAI = loPartenerRtvai + IF PEMSTATUS(thisform,'UpdateExplicatieSAFT',5) + Thisform.UpdateExplicatieSAFT() + ENDIF + ENDIF + ENDIF + + Endif + *** \partener + + + *** contract + If Inlist(F,'vcontracte') + lcSelect = [select id_ctr, denumire, contract FROM vcontracte c left join vtipuri_contracte tc on c.id_tip_ctr = tc.ID_TIP_CTR ] + lcfiltru = [1=2] + lcschema = [id_ctr N(5), denumire c(30), contract C(30)] + lcorder = [denumire] + lccoloane = "denumire, contract" + lcTitlu = T + lcTitluColoane = [Partener,Contract] + If !Empty(oxset.tip_ctr) + lcIdCtr = Upper(oxset.tip_ctr) + If Type('lcIdCtr')<>'U' + * lcFiltruOriginal = [id_tip_ctr=] + ALLTRIM(STR(&lcIdCtr)) + lcFiltruOriginal = [1=1] + Do Case + Case lcIdCtr = 'GNIDCTRCLIENTI' + lcFiltruOriginal = [substr(tc.tata,2,6)='CLIENT'] + Case lcIdCtr = 'GNIDCTRFURNIZORI' + lcFiltruOriginal = [substr(tc.tata,2,6)='FURNIZ'] + Endcase + + Private pnId_tip_ctr + pnId_tip_ctr = &lcIdCtr + Else + lcFiltruOriginal = [] + Endif + Else + lcFiltruOriginal = [] + Endif + + Private pnId_tip_part + Store 0 To pnId_tip_part + lcIdTipPart = Alltrim(Nvl(oxset.tip_doc, '')) + If Type('lcIdTipPart')<>'U' And !Empty(m.lcIdTipPart) + pnId_tip_part = &lcIdTipPart + Endif + + llAllInlist = .F. + lcPrimaColoana = [denumire] + lcNumeProc = [contracte] + ';0,' + ALLTRIM(STR(m.pnId_tip_part)) + locauta = cauta_alfa(lcSelect,lcfiltru,lcschema,lcorder,lccoloane,lcTitlu,lcTitluColoane,lcNumeProc,llAllInlist,lcFiltruOriginal, lcPrimaColoana) + + &V = Alltrim(locauta.contract) + &lcObj..id_ctr = locauta.id_ctr + + Endif + *** \contract + + *!* 06.07.2011 + *!* lista preturi + If Inlist(F,'vcrm_politici_preturi') + + pcselect = [select nume_lista_preturi, id_pol from crm_vpolpretcurutil] + pcfiltru = [1=2] + pcschema = [] + pcorder = [nume_lista_preturi] + pccoloane = C + pcTitlu = T + pcFiltruOriginal = [id_util = ?gnIdUtil] + m.gcCondSucursala + + locauta = cauta_alfa(pcselect,pcfiltru,pcschema,pcorder,pccoloane,pcTitlu,pcTitlu,[vcrm_politici_preturi],.F.,pcFiltruOriginal) + lcLista = C + [,] + lcIdFis + Create Cursor clista (nume_var C(20)) + + ln = lista2cursor(lcLista,'clista','nume_var',",") + + Select clista + Scan + lEValInit = Evaluate('locauta.' + Alltrim(nume_var)) + x = AddProperty(&lcObj,Alltrim(nume_var),lEValInit) + Endscan + Use In clista + + If ',' $ C + lcPrimVal = Left(lcLista,At(C,',')) + Else + lcPrimVal = Alltrim(C) + Endif + + z = [&v = locauta.] + lcPrimVal + &z + Endif + *!* lista preturi ^ + *!* 06.07.2011 ^ + + *--------------------------------------------------------------------------------------------- + + If Type('XSETS.compens')#'U' && solutie temporara pentru Gestiuni (achizitie cu 542) + * IF (!EMPTY(XSETS.FRM_PLATA) OR !EMPTY(xsets.compens)) AND F = 'vireg_parteneri' + + If This.Parent.id_item = 67 And F = 'vireg_parteneri' + + Local LcFrm_plata,lcTabela,LcIde + lcContul = Alltrim(Strextract(V,'.P')) + lcCond = [ an = ] + Alltrim(Str(gnAn)) + [ and luna = ] + Alltrim(Str(gnluna))+ Iif(glEMama,' and NVL(id_sucursala,0) = 0 ',gcCondSucursala) + + Select xsets + llval = xsets.valuta + loMonedaNationala = GetMonedaNationala() + If llval + lcCond= lcCond + [ and i.id_valuta ] + Iif(Pemstatus(loObj,"id_valuta2",5), [in ( ] + Alltrim(Str(&lcObj..id_valuta)) + [,] + Alltrim(Str(Nvl(&lcObj..id_valuta2,0))) + [)], [ = ]+Alltrim(Str(&lcObj..id_valuta))) + + * Pot sa platesc facturi in LEI cu EUR + * Verific soldul in valuta <> 0 doar pentru facturile care NU sunt in Moneda nationala + If &lcObj..id_valuta <> loMonedaNationala.id_valuta + lcCond = lcCond + [ and ABS(i.precvaldeb + i.valdebit - i.precvalcred - i.valcredit)>0 ] + Endif + + Else + lcCond= lcCond + [ and (i.precvaldeb + i.valdebit - i.precvalcred - i.valcredit = 0) ] + Endif + + Private lcNume + + Select xcont + Locate For Val(contpart) = Val(lcContul) + lcContul = cont_part + lnIdPart = idpart + lcNume = numepart + lnFelCont = fel_cont + lnPozitie = pozitie + lcDenumire = Alltrim(explic_cont) + + pcselect = ['select i.* FROM ] + gcs + [.Vireg_parteneri i where 2=2 '] + pcfiltru = [ i.id_part = ] + Alltrim(Str(lnIdPart)) + [ AND ABS(i.precdeb + i.debit - i.preccred - i.credit)<>0 AND i.cont =]+ lcContul + [ and ] + lcCond + pcschema = [''] + pcorder = [''] + + Private podateintrod + Store '' To podateintrod + + gencursor('podateintrod','crs_actcv',pcselect,pcfiltru,[''],'') + + lcFis = 'actcv' + Alltrim(lcContul) + + If Used(lcFis) + Use In &lcFis + Endif + + Do Case + Case m.lnFelCont = 0 Or (m.lnFelCont = 2 And m.lnPozitie = 1) + lcsel = [SELECT *, ACONT AS ASCC, nume_val as numeval, curs as cursschimb, precdeb + debit as totctva, preccred+credit as achitat, credit as achitatl, ] +; + [precvaldeb + valdebit AS sumaval, precVALcred+VALcredit as achitatval, ] + Iif(This.Parent.nproc_tva = 1, [1], [0]) + [ as cu_tva, ] +; + [.f. as ales, 00000000000000.0000 as sumaachi, 000000000000.0000 as sumaachi2, 00000000000000.0000 as achilei, 00000000000000.0000 as difplus, ]+; + [ 00000000000000.0000 as difminus, 000000.000000 as cursval, 000000.000000 as cursdif, id_jtva_coloana as id_jtvacol, ] +; + [CAST(0 as n(10)) as id_valuta2, CAST('' as c(30)) as nume_val2, CAST(0 as n(15,2)) as sumaachi22,tva_incasare ] + ; + [FROM crs_actcv INTO CURSOR ] + lcFis + [ order by dataact,nract READWRITE ] + Otherwise + lcsel = [SELECT *, ACONT AS ASCD, nume_val as numeval, curs as cursschimb, preccred + credit as totctva, precdeb+debit as achitat, debit as achitatl,] + ; + [precvalcred + valcredit as sumaval, precVALdeb+VALdebit as achitatval, ] + Iif(This.Parent.nproc_tva = 1, [1], [0]) + [ as cu_tva, ] +; + [.f. as ales, 00000000000000.0000 as sumaachi, 00000000000000.0000 as sumaachi2, 00000000000000.0000 as achilei, 00000000000000.0000 as difplus, ]+; + [ 00000000000000.0000 as difminus, 000000.000000 as cursval, 000000.000000 as cursdif, id_jtva_coloana as id_jtvacol, ] + ; + [CAST(0 as n(10)) as id_valuta2, CAST('' as c(30)) as nume_val2, CAST(0 as n(15,2)) as sumaachi22,tva_incasare ] + ; + [FROM crs_actcv INTO CURSOR ] + lcFis + [ order by dataact,nract READWRITE ] + Endcase + &lcsel + + Select (lcFis) + + *** actualizez cursul de schimb al facturilor in lei (in cazul platilor cu valuta) + If m.llval And &lcObj..id_valuta = loMonedaNationala.id_valuta + Update (lcFis) Set cursschimb = 1 + Endif + + *!* 26.05.2009 + *!* alex.lepadatu + *!* s-a completat in xsets ocompensari/ocompensari_val + *!* lcfrm_plata se citeste din tabela + If Type('poAct.nume_val2') <> 'U' + If !Empty(Nvl(poAct.id_valuta2,0)) + Update (lcFis) Set id_valuta2 = poAct.id_valuta2, nume_Val2 = poAct.nume_Val2 + Endif + Endif + LcFrm_plata = Alltrim(xsets.FRM_PLATA) + LcFrm_plata = Left(LcFrm_plata,At(',',LcFrm_plata) - 1) + *!* 26.05.2009 ^^ + + + + If !llval + * LcFrm_plata = 'ocompensari' + If poAct.id_set = 90011 + lcProcDeApelat = [aleg_salnerid_de_achit with ']+lcFis+[' in ocont2003.prg] + Endif + If poAct.id_set = 90013 + lcProcDeApelat = [aleg_salnerid_de_achit with ']+lcFis+[' in ocont2003.prg] + Endif + If Type(lcObj+'.totctva') # 'U' + atr = [lnSuma =] + lcObj+'.totctva' + Else + If Type(lcObj+'.suma') # 'U' + atr = [lnSuma =] + lcObj+'.suma' + Else + atr = [lnSuma = 0] + Endif + Endif + &atr + Else + * LcFrm_plata = 'ocompensari_val' + If Type(lcObj+'.suma_2') # 'U' + atr = [lnSuma =] + lcObj+'.suma_2' + Else + atr = [lnSuma = 0] + Endif + &atr + If Type(lcObj+'.suma_3') # 'U' + atr = [lnCurs =] + lcObj+'.suma_3' + Else + atr = [lnCurs = 0] + Endif + &atr + Endif + + OPLATA=Createobject(LcFrm_plata) + * oplata.txtNume.value =lcNume + OPLATA.titlufrumos1.Caption = lcDenumire + [: ] + lcNume + If Type('oplata.cproclabifa') # 'U' + OPLATA.cproclabifa= lcProcDeApelat + Endif + OPLATA.pcFis = lcFis + OPLATA.SUMA = lnSuma + If Type('oplata.curs_val') # 'U' + OPLATA.curs_val = lnCurs + Endif + OPLATA.pnFelCont = lnFelCont + OPLATA.nCu_TVA = This.Parent.nproc_tva + OPLATA.Show(1) + + Select (lcFis) + Calculate Cnt() For ales To LnBife + If LnBife=1 + Locate For ales + &M=nract + Else + &M=0 + Endif + Endif + Endif + *** \inregistrari partener + With &lcObj + Do Case + Case '.DATAIREG'$V + If !pl_verificat && cand nu intra prin verif_complet() + If Empty(.dataireg) && daca deja e completata dataireg (copiat de la operatia anterioara) sa nu se suprascrie + .dataireg=Ttod(get_ora()) + Endif + If Month(.dataireg)<>gnluna Or Year(.dataireg)<>gnAn + .dataireg=ultimazi() + Endif + Endif + *!* CASE ALLTRIM(M)='M.CASAVALDEB' + *!* M.CASAVALDEB=M.NUME_5 + *!* CASE ALLTRIM(M)='M.CASAVALCRE' + *!* M.CASAVALCRE=M.NUME_5 + *!* CASE ALLTRIM(M)='M.BANVALDEB' + *!* M.BANVALDEB=M.NUME_3 + *!* CASE ALLTRIM(M)='M.BANVALCRED' + *!* M.BANVALCRED=M.NUME_3 + *!* CASE ALLTRIM(M)='M.CASADEB' + *!* M.CASADEB=M.CASA + *!* CASE ALLTRIM(M)='M.CASACRED' + *!* M.CASACRED=M.CASA + *!* CASE ALLTRIM(M)='M.BANCADEB' + *!* M.BANCADEB=M.NUME_2 + *!* CASE ALLTRIM(M)='M.BANCACRED' + *!* M.BANCACRED=M.NUME_2 + *!* CASE ALLTRIM(M)='M.NUME_4' + *!* M.NUME_4=M.NUMEVAL + Endcase + Endwith + + *!* modificare ROACONT v 2.0.76 + If '.SUMA_2TVA'$V Or '.SUMA_2'$V Or '.TOTFTVA'$V Or '.TOTTVA'$V Or '.TOTCTVA'$V Or '.SUMA_4'$V Or '.V10'$V + This.Parent.nvalinit = &V + Endif + *!* modificare ROACONT v 2.0.76 ^ + + * Daca este un Monetar/Bon fiscal fara CUI, cer numarul de bonuri fiscale / doar pentru vanzari, nu si pentru achizitii!!! + IF '.EXPLICATIA'$V && POACT.EXPLICATIA + IF UPPER(ALLTRIM(oxset.tipjurnal)) = 'JV' AND PEMSTATUS(this.parent.Parent, "lBonFiscalFaraCUI", 5) + IF this.parent.Parent.lBonFiscalFaraCUI + lcBonuri = INPUTBOX("Numar bonuri", "Numar bonuri fiscale (bonuri fara CUI sau factura)", "") + IF !EMPTY(m.lcBonuri) AND ISDIGIT(m.lcBonuri) + &V = [*BON=] + m.lcBonuri + [*] + STRTRAN(poAct.explicatia, STREXTRACT(poAct.explicatia,'*','*',1,1+4),[],1,1,1) + ENDIF + ENDIF + ENDIF + ENDIF + + + *!* 17.10.2006 + *!* marius.mutu + *!* daca se dadea renunt la alegerea contractului, responsabilului etc - nu se mai afisa fereastra urmatoare + gnButon = 1 + Buton = 1 + pnIesire = 1 + This.Refresh + + ENDPROC + + PROCEDURE Text_item1.KeyPress + Lparameters nKeyCode, nShiftAltCtrl + *!* modificare ROACONT v 2.0.76 + V=Upper(This.ControlSource) + If ('.SUMA_2TVA'$V Or '.SUMA_2'$V Or '.TOTFTVA'$V Or '.TOTTVA'$V Or '.TOTCTVA'$V Or '.SUMA_4'$V Or '.V10'$V) And nKeyCode <> 13 And This.Parent.nvalinit <> 0 + This.Parent.nvalinit = 0 + Endif + DoDefault(nKeyCode) + *!* modificare ROACONT v 2.0.76 ^ + + ENDPROC + + PROCEDURE Text_item1.Valid + *!* 13.11.2013 + *!* marius.mutu + *!* am corectat '.V10'$M dadea eroare pentru partenerii contului 1011 (poact.V1011). se astepta sa fie numeric + + *!* 11.06.2018 + *!* MARIUS.MUTU + *!* 10570 TRANSFER INTRE VALUTE - la introducerea curs incasare debit se calculeaza suma in valuta 2 (poAct.suma_22) + + Local M,lnTva, lcpoActIdPart + M=Upper(This.ControlSource) + F=Lower(Alltrim(This.Parent.FIS_LISTA)) + lcObj = Upper(This.Parent.pcobj) + lcpoActIdPart = 'POACT.ID_V'+Substr(M,7) + + If Inlist(F,'vnom_parteneri') + *!* SET STEP ON + ENDIF + + IF TRANSFORM(m) = "POACT.SUMA_22" + * SET STEP ON + endif + + *!* modificare ROACONT v 2.0.76 + If ('.SUMA_2TVA'$M Or '.SUMA_2'$M Or '.TOTFTVA'$M Or '.TOTTVA'$M Or '.TOTCTVA'$M Or '.SUMA_4'$M Or '.V10'$M) and TYPE('this.Parent.nvalinit') = 'N' AND this.Parent.nvalinit <> 0 + &M = This.Parent.nvalinit + Endif + *!* modificare ROACONT v 2.0.76 ^ + + If Type('this.Parent.Parent.Parent')='O' + *!* modificare JC/JV 2007 + If Pemstatus(This.Parent.Parent.Parent,'ntvatax',5) + lnTva = This.Parent.Parent.Parent.ntvatax + Else + *!* modificare JC/JV 2007 ^ + If Pemstatus(This.Parent.Parent.Parent,'pntva',5) + lnTva = This.Parent.Parent.Parent.pntva + Else + lnTva = m.ctva + Endif + Endif + Endif + + With &lcObj + Do Case + Case '.NUME_4'$M + *.NUME_4 = .NUME_VALUTA + Case '.SUMA_2TVA'$M + *!* modificare ROACONT v 2.0.76 + *!* If !Empty(.SUMA_2TVA) + *!* .TOTTVA = Round(.SUMA_2TVA * .suma_3, gnPC) + *!* .NEIMPOZAB = 0 + *!* Else + *!* .NEIMPOZAB = Round(.SUMA_2 * .suma_3, gnPC) + *!* .TOTTVA = 0 + *!* *!* 20.04.2007 + *!* *!* nu mai trebuie neimpozab + *!* .NEIMPOZAB = 0 + *!* *!* 20.04.2007 ^ + *!* Endif + .TOTTVA = Round(.SUMA_2TVA * .SUMA_3,gnPc) + .NEIMPOZAB = 0 + *!* modificare ROACONT v 2.0.76 ^ + Case '.SUMA_22' $ M + *!* nu calculez aici .totftva, ci in ocompensari_val_2 (doar suma care se converteste din valuta de incasare in valuta facturii) + *!* .TOTFTVA = Round(.SUMA_22 * .SUMA_32,gnPc) + Case '.SUMA_2'$M + *!* 20.04.2007 + *!* nu se completa tva in valuta + If Type(".SUMA_2TVA") <> "U" + *!* modificare ROACONT v 2.0.76 + *!* .SUMA_2TVA = Round(.SUMA_2*(lnTva-1), gnPval) + .SUMA_2TVA = Round((.SUMA_2-Iif(Type(".SUMA_4")<>"U",.SUMA_4,0))*(lnTva-1), gnPval) + *!* modificare ROACONT v 2.0.76 ^ + Endif + *!* 20.04.2007 ^ + If Type('.suma_3') # 'U' + .TOTFTVA = Round(IIF(TYPE(".SUMA_2") <> "U",.suma_2,.suma_32) * .suma_3, gnPC) + Endif + If Type('.SUMA_2TVA') # 'U' + If !Empty(.SUMA_2TVA) + .TOTTVA = Round(.SUMA_2TVA * .suma_3, gnPC) + *!* modificare ROACONT v 2.0.76 + *!* Else + *!* *!* .NEIMPOZAB = Round(.SUMA_2 * .suma_3, gnPC) + *!* .NEIMPOZAB = Round((.SUMA_2-Iif(Type(".SUMA_4")<>"U",.SUMA_4,0)) * .suma_3, gnPC) + *!* modificare ROACONT v 2.0.76 ^ + Endif + EndIf + + *!* 11.06.2018 + Case '.SUMA_32'$M && CURS VALUTAR INCASARE DEBIT + *** CALCULEZ SUMA IN VALUTA 2 poAct.suma_22 (10633 TRANSFER INTRE VALUTE) + IF EMPTY(.suma_22) AND .suma_32 <> 0 + IF !EMPTY(.totftva) + .suma_22 = ROUND(.totftva/.suma_32, m.gnPC) && SUMA LEI / CURS VALUTA INCASARE DEBIT + ELSE + IF !EMPTY(.suma_2) AND !EMPTY(.suma_3) AND !EMPTY(.suma_32) + .suma_22 = ROUND(ROUND(.suma_2 * .suma_3, m.gnPC)/.suma_32, m.gnPC) && (SUMA IN VALUTA PLATA * CURS VALUTA PLATA CREDIT) / CURS VALUTA INCASARE DEBIT + ENDIF + ENDIF + ENDIF + *!* 11.06.2018 ^ + + *!* adaugare facturare in valuta 13.09.2007 + Case '.v8'$M + If .v8 > .dataact + amessagebox("Data cursului nu trebuie sa fie mai mare decat data actului!",48,"Atentie") + Return 0 + ENDIF + *!* adaugare facturare in valuta 13.09.2007 ^ + Case '.DATAIREG'$M + If !(Month(.dataireg)=gnluna And Year(.dataireg)=gnan) + amessagebox("Data trebuie sa fie din luna "+Alltrim(pcnl)+"/"+Alltrim(pcan)+" !",48,"Atentie") + Return 0 + Endif + If !pl_verificat + .dataact = .dataireg + + *!* modificare 31.10.2006 + If INLIST(gcNumeProgram,[ROAFACTURARE],[ROADEVIZE]) + *!* modificare ROAFACTURARE v 2.2.4 + *!* .datascad = Iif(gnScadentaAutomata=0,Gomonth(.dataact,1),.dataact+gnZileScadentaFact) + .datascad = Iif(gnZileScadentaFact=-1,Gomonth(.dataact,1),.dataact+gnZileScadentaFact) + *!* modificare ROAFACTURARE v 2.2.4 ^ + This.Parent.Parent.Parent.Refresh() + Endif + *!* modificare 31.10.2006 ^ + *!* modificare facturare in valuta 19.09.2007 + If Type(lcObj+'.V8')<>'U' + .v8 = .dataact + Endif + *!* modificare facturare in valuta 19.09.2007 ^ + Endif + Case'.DATAACT'$M + If !((Month(.dataact)<=gnluna And Year(.dataact)=gnan) Or Year(.dataact)'U' + .v8 = .dataact + ENDIF + + IF PEMSTATUS(thisform,'UpdateExplicatieSAFT',5) + Thisform.UpdateExplicatieSAFT() + ENDIF + *!* modificare facturare in valuta 13.09.2007 ^ + Case '.NRACT'$M + If .nract = 0 + If !Inlist(This.Parent.id_tipdoc,-99,-1) + .nract = poGeneratorNumere.aloca_numar(This.Parent.id_tipdoc,Null) + Endif + If .nract = 0 + amessagebox("Introduceti numarul documentului (diferit de zero) !",48,"Atentie") + Return 0 + Endif + ELSE + && 20oct2008 -- verificarea se face pe release v2.0.78 + *!* *!* modificare serii numere - 10.2007 + *!* If !Inlist(This.Parent.id_tipdoc,-99,-1) + *!* poGeneratorNumere.verifica_numar(This.Parent.id_tipdoc,.nract) + *!* Endif + && 20oct2008 -- verificarea se face pe release v2.0.78 ^ + *!* modificare serii numere - 10.2007 ^ + Endif + Case '.DATASCAD'$M + If !(.dataact<=.datascad) + amessagebox("Data scadenta trebuie sa fie mai mare decat data actului!",48,"Atentie") + Return 0 + Endif + Case '.TOTFTVA'$M + *m.tottva=Round(m.totftva*(m.ctva-1),0) + *!* modificare ROACONT v 2.0.76 + *!* .TOTTVA=Round(.TOTFTVA*(lnTva-1),gnPC) + *!* .TOTCTVA=.TOTFTVA+.TOTTVA+.NEIMPOZAB + .TOTTVA=Round((.TOTFTVA-Iif(Type('.V10')<>"U",.V10,0))*(lnTva-1),gnPC) + .TOTCTVA=.TOTFTVA+.TOTTVA+.NEIMPOZAB-Iif(Type('.V10')<>"U",.V10,0) + *!* modificare ROACONT v 2.0.76 ^ + *!* 20.04.2007 + *!* trebuie sa se completeze si tva in valuta la schimbarea explicatie tva + If Type('.SUMA_2') # 'U' And Type('.SUMA_2TVA') # 'U' + *!* modificare ROACONT v 2.0.76 + *!* .SUMA_2TVA = Round(.SUMA_2*(lnTva-1), gnPval) + .SUMA_2TVA = Round((.SUMA_2-Iif(Type('.SUMA_4')<>"U",.SUMA_4,0))*(lnTva-1), gnPval) + *!* modificare ROACONT v 2.0.76 ^ + Endif + *!* 20.04.2007 ^ + Case '.TOTTVA'$M + * m.totftva=Round(M.tottva/(M.ctva-1),0) + If Type('.TOTCTVA') # 'U' + *!* modificare ROACONT v 2.0.76 + *!* .TOTCTVA=.TOTFTVA+.TOTTVA+.NEIMPOZAB + .TOTCTVA=.TOTFTVA+.TOTTVA+.NEIMPOZAB-Iif(Type('.V10')<>"U",.V10,0) + *!* modificare ROACONT v 2.0.76 ^ + Endif + Case '.TOTCTVA'$M + If lnTva=0 + lnTva=1 + Endif + If .TOTCTVA#0 Then + *!* modificare ROACONT v 2.0.76 + *!* If .TOTFTVA=0 + *!* .TOTFTVA=Round((.TOTCTVA-.NEIMPOZAB)/lnTva,gnPC) + *!* .TOTTVA=.TOTCTVA-.TOTFTVA-.NEIMPOZAB + *!* Else + *!* .TOTFTVA=.TOTCTVA-.TOTTVA-.NEIMPOZAB + *!* Endif + If .TOTFTVA=0 + .TOTFTVA=Round((.TOTCTVA-.NEIMPOZAB)/lnTva,gnPC)+Iif(Type('.V10')<>"U",.V10,0) + .TOTTVA=.TOTCTVA-.TOTFTVA-.NEIMPOZAB+Iif(Type('.V10')<>"U",.V10,0) + Else + .TOTFTVA=.TOTCTVA-.TOTTVA-.NEIMPOZAB+Iif(Type('.V10')<>"U",.V10,0) + Endif + *!* modificare ROACONT v 2.0.76 ^ + Endif + *!* modificare ROACONT v 2.0.76 + Case '.SUMA_4'$M + .SUMA_2TVA = Round((.SUMA_2-.SUMA_4)*(lnTva-1), gnPval) + .V10 = Round(.SUMA_4 * .suma_3, gnPC) + .TOTTVA = Round(.SUMA_2TVA * .suma_3, gnPC) + Case GETWORDNUM(M, 2, '.') = 'V10' && '.V10'$M + .TOTTVA = Round((.TOTFTVA - .V10)*(lnTva-1),gnPc) + .TOTCTVA = .TOTFTVA + .TOTTVA + .NEIMPOZAB - .V10 + *!* modificare ROACONT v 2.0.76 ^ + + *!* modificare serii numere - 10.2007 + *!* Case M='M.NNIR' And Type('THIS.Parent.Parent.Parent')=='O' + *!* If 'BON'$This.Parent.Parent.Parent.FORMGEST + *!* Locate For nnir = m.nnir And cante # 0 + *!* Else + *!* Locate For nnir = m.nnir And cant # 0 + *!* Endif + *!* If Found() + *!* amessagebox("Numar " + Left(This.Parent.Parent.Parent.FORMGEST,3) + " duplicat !",48,"Atentie") + *!* Endif + Case '.NNIR'$M + If .nnir = 0 + If !Inlist(This.Parent.id_tipdoc,-99,-1) + .nnir = poGeneratorNumere.aloca_numar(This.Parent.id_tipdoc,IIF(Type(lcObj+'.id_gestiune') <> 'U',.id_gestiune,null)) + Endif + If .nnir = 0 + amessagebox("Introduceti numarul nir-ului / bonului (diferit de zero) !",48,"Atentie") + Return 0 + Endif + *!* ELSE + + *!* in momentul cand modifica numarul, chiar daca ulterior a fost repus numarul initial, se dadea peste cap alocarea seriilor 14oct2008 - v2.0.78 + *!* If !Inlist(This.Parent.id_tipdoc,-99,-1) + *!* poGeneratorNumere.verifica_numar(This.Parent.id_tipdoc,.nnir) + *!* ENDIF + *!* in momentul cand modifica numarul, chiar daca ulterior a fost repus numarul initial, se dadea peste cap alocarea seriilor 14oct2008 - v2.0.78 ^ + *!* modificare ROAPRODUCTIE v 2.0.0 : daca nu am numarul de nir generat, atunci nract = 0 si am unele formulare in care nu apare nract ca sa-l pot modifica + Else + If !Inlist(This.Parent.id_tipdoc,-99,-1) And Type('oxset.factura') # 'U' + If Empty(.nract) And !oxset.factura + .nract = .nnir + Endif + Endif + *!* modificare ROAPRODUCTIE v 2.0.0 ^ + Endif + *!* modificare serii numere - 10.2007 ^ + * -------------------------------------------------------------------gest + + *!* CASE '.NNIR'$M + *!* this.Parent.parent.numar_plaja1.alocare_numar(this.Value) + *!* .nnir = this.Parent.Parent.numar_plaja1.numar_curent + + * ----------------------------------------------------------------------- + + + Case M='M.PRET' + m.TVA=Round(M.PRET*(M.CTVAA-1),gnPC) + m.PRETTVA=M.PRET+M.TVA + * m.procent=ROUND(m.procent,5) + m.pretv=Round(m.PRET*(1+m.procent),gnPC) + *M.PRETVTVA=ROUND(M.PRETV*M.CTVAV,3) + *M.TVAV=M.PRETVTVA-M.PRETV + m.TVAV=Round(M.pretv*(M.CTVAV-1),gnPC) + m.PRETVTVA=M.pretv+M.TVAV + Case M='M.PRETV' + m.TVAV=Round(M.pretv*(M.CTVAV-1),gnPC) + m.PRETVTVA=M.pretv+M.TVAV + If !Empty(m.PRET) And !Empty(m.pretv) + m.procent=Round(m.pretv/m.PRET-1,5) + Endif + Case M='M.PRETVTVA' + m.TVAV=Round(M.PRETVTVA*(M.CTVAV-1)/M.CTVAV,gnPC) + m.pretv=M.PRETVTVA-M.TVAV + If !Empty(m.PRET) And !Empty(m.pretv) + m.procent=Round(m.pretv/m.PRET-1,5) + ENDIF + CASE F = 'vnom_fdoc' + * Actualizez mecanismul de plata SAFT + IF PEMSTATUS(thisform,'UpdatePaymentSAFT',5) + Thisform.UpdatePaymentSAFT() + ENDIF + Endcase + Endwith + + Thisform.Refresh + + ENDPROC + + PROCEDURE Text_item1.When + *!* 16.01.2014 + *!* datascad nu se mai suprascrie daca este deja completata (de la o operatie anterioara) + Local M,P + M=Upper(This.ControlSource) + P=Upper(This.Parent.LAbel_item1.Caption) + lcObj = Upper(This.Parent.pcobj) + + With &lcObj + Do Case + Case '.DATAACT'$M + .DATAACT = .dataireg + *!* modificare 31.10.2006 + If INLIST(gcNumeProgram,[ROAFACTURARE],[ROADEVIZE]) + *!* modificare ROAFACTURARE v 2.2.4 + *!* .datascad = Iif(gnScadentaAutomata=0,Gomonth(.DATAACT,1),.DATAACT+gnZileScadentaFact) + .datascad = Iif(gnZileScadentaFact=-1,Gomonth(.dataact,1),.dataact+gnZileScadentaFact) + *!* modificare ROAFACTURARE v 2.2.4 ^ + This.Parent.Parent.Parent.Refresh() + Endif + *!* modificare 31.10.2006 ^ + *!* modificare facturare in valuta 19.09.2007 + If !pl_verificat And Type(lcObj+'.V8')<>'U' + .v8 = .DATAACT + Endif + *!* modificare facturare in valuta 19.09.2007 ^ + Case '.DATASCAD'$M + *!* modificare 31.10.2006 + If INLIST(gcNumeProgram,[ROAFACTURARE],[ROADEVIZE]) + *!* modificare ROAFACTURARE v 2.2.4 + *!* .datascad = Iif(gnScadentaAutomata=0,Gomonth(.DATAACT,1),.DATAACT+gnZileScadentaFact) + .datascad = Iif(gnZileScadentaFact=-1,Gomonth(.dataact,1),.dataact+gnZileScadentaFact) + *!* modificare ROAFACTURARE v 2.2.4 ^ + This.Parent.Parent.Parent.Refresh() + Else + *!* modificare 31.10.2006 ^ + IF EMPTY(.datascad) OR (!EMPTY(.datascad) AND .datascad < .dataact) + .datascad = Gomonth(.DATAACT,1) + ENDIF + *!* modificare 31.10.2006 + Endif + *!* modificare 31.10.2006 ^ + *!* modificare serii numere - 10.2007 + Case '.NNIR'$M And .nnir = 0 + If !Inlist(This.Parent.id_tipdoc,-99,-1) + .nnir = poGeneratorNumere.aloca_numar(This.Parent.id_tipdoc,IIF(Type(lcObj+'.id_gestiune') <> 'U',.id_gestiune,null)) + AddProperty(_Screen,[nid_tipdoc],This.Parent.id_tipdoc) + If Type('oxset.factura') # 'U' + If Empty(.nract) And !oxset.factura + .nract = .nnir + ENDIF + ENDIF + + *!* Else + *!* If Used('cerere') + *!* lcAliasSN = Alias() + *!* Select cerere + *!* Locate For id_item = 9 + *!* If Found() + *!* amessagebox("Nu ati ales gestiunea!",48,"Atentie") + *!* Else + *!* .nnir = poGeneratorNumere.aloca_numar(This.Parent.id_tipdoc,Null) + *!* Endif + *!* IF !empty(lcAliasSN) + *!* Select (lcAliasSN) + *!* ENDIF + *!* Endif + *!* Endif + Endif + Case '.NRACT'$M And .nract = 0 + If !Inlist(This.Parent.id_tipdoc,-99,-1) + .nract = poGeneratorNumere.aloca_numar(This.Parent.id_tipdoc,Null) + + Endif + *!* CASE '.NNIR'$M AND TYPE('this.Parent.Parent.numar_plaja1')='O' AND TYPE('this.Parent.Parent.numar_plaja1.oplaja')<>'O' && sa intre o singura data + *!* DO CASE + *!* CASE gnSerie = 1 && serii pe gestiuni + *!* IF TYPE('.id_gestiune')#'U' + *!* lnIdEnt = .id_gestiune + *!* ELSE + *!* *!* lcMesaj = 'Nu ati completat numele Gestiunii!' + *!* *!* lcTitlu = [Atentie] + *!* *!* lcTip = [Avertizare] + *!* *!* lcImagine = [exclam.ico] + *!* *!* ofrm_eroare = CREATEOBJECT('frm_mesaj',lctitlu,lcimagine,lctip,lcmesaj) + *!* *!* ofrm_eroare.show(1) + *!* *!* RELEASE ofrm_eroare + *!* amessagebox("Nu ati completat numele gestiunii!",48,"Atentie") + *!* RETURN + *!* ENDIF + *!* CASE gnSerie = 2 && o singura serie + *!* lnIdEnt = 0 + *!* CASE gnSerie = 3 && serii pe utilizatori + *!* lnIdEnt = gnIdUtil + *!* OTHERWISE + *!* lnIdEnt = -1 + *!* ENDCASE + *!* this.Parent.Parent.numar_plaja1.id_entitate = lnIdEnt + *!* *this.Parent.parent.numar_plaja1.tip = IIF('NIR'$ P,1,IIF('BON'$ P,2,0)) && P = Upper(This.Parent.LAbel_item1.Caption) + *!* this.Parent.parent.numar_plaja1.tip = IIF('NIR'$ P,1,IIF('LIVRARE'$ P,9,IIF('BON'$ P,2,IIF('PV_PROD'$ P,8,0)))) && P = Upper(This.Parent.LAbel_item1.Caption) + *!* this.Parent.Parent.numar_plaja1.serie = gnSerie + *!* this.Parent.Parent.numar_plaja1.alocare_numar() + *!* .nnir = this.Parent.Parent.numar_plaja1.numar_curent + *!* _screen.addproperty('nIdSerie',this.Parent.Parent.numar_plaja1.id_numar) && il folosesc in inventar_stoc + *!* IF TYPE('oxset.factura') # 'U' + *!* IF EMPTY(.nract) AND !oxset.factura + *!* .nract = .nnir + *!* ENDIF + *!* ENDIF + *!* modificare serii numere - 10.2007 ^ + Case '.TOTCTVA'$M + *!* modificare ROACONT v 2.0.76 + *!* .TOTCTVA=.totftva+.tottva+.neimpozab + .TOTCTVA=.TOTFTVA+.TOTTVA+.NEIMPOZAB-Iif(Type('.V10')<>"U",.V10,0) + *!* modificare ROACONT v 2.0.76 ^ + Endcase + Endwith + + This.Refresh + + ENDPROC + +ENDDEFINE + +DEFINE CLASS label_item AS _label OF "_baza.vcx" + *< CLASSDATA: Baseclass="label" Timestamp="" Scale="Pixels" Uniqueid="" /> + + * + AutoSize = .T. + BackStyle = 0 + Caption = "Label1" + FontBold = .F. + FontCharSet = 238 + FontName = "Courier New" + ForeColor = 0,0,128 + Height = 17 + Name = "label_item" + Width = 44 + * + +ENDDEFINE + +DEFINE CLASS lineo AS line + *< CLASSDATA: Baseclass="line" Timestamp="" Scale="Pixels" Uniqueid="" /> + + * + BorderColor = 192,192,192 + BorderStyle = 3 + Height = 0 + Name = "lineo" + Width = 111 + * + +ENDDEFINE + +DEFINE CLASS linie3d AS container + *< CLASSDATA: Baseclass="container" Timestamp="" Scale="Pixels" Uniqueid="" /> + + * + BackColor = 192,192,192 + Height = 4 + Name = "linie3d" + SpecialEffect = 0 + Width = 342 + * + +ENDDEFINE + +DEFINE CLASS linie3do AS linie3d OF "baza.vcx" + *< CLASSDATA: Baseclass="container" Timestamp="" Scale="Pixels" Uniqueid="" /> + + * + Name = "linie3do" + * + + PROCEDURE Init + THIS.Width=THIS.Parent.Width + THIS.LEFT=0 + + ENDPROC + +ENDDEFINE + +DEFINE CLASS linie3dv AS linie3d OF "baza.vcx" + *< CLASSDATA: Baseclass="container" Timestamp="" Scale="Pixels" Uniqueid="" /> + + * + Height = 110 + Name = "linie3dv" + Width = 4 + * + + PROCEDURE Init + THIS.Height=THIS.Parent.Height + THIS.TOP=0 + ENDPROC + +ENDDEFINE + +DEFINE CLASS list AS butoninv OF "baza.vcx" + *< CLASSDATA: Baseclass="container" Timestamp="" Scale="Pixels" Uniqueid="" /> + + * + Name = "list" + Imbuton1.Height = 27 + Imbuton1.Name = "Imbuton1" + Imbuton1.Picture = ..\grafice\listare_sus.bmp + Imbuton1.ToolTipText = "Listare la imprimanta" + Imbuton1.Width = 30 + Command1.Name = "Command1" + Command1.Picture = ..\grafice\listare_sus.bmp + Command1.ToolTipText = "Listare la imprimanta" + * + + PROCEDURE MouseEnter + LPARAMETERS nButton, nShift, nXCoord, nYCoord + this.imbuton1.picture='LISTARE_JOS.BMP' + ENDPROC + + PROCEDURE MouseLeave + LPARAMETERS nButton, nShift, nXCoord, nYCoord + this.imbuton1.picture='LISTARE_sus.BMP' + ENDPROC + +ENDDEFINE + +DEFINE CLASS modifica AS butoninv OF "baza.vcx" + *< CLASSDATA: Baseclass="container" Timestamp="" Scale="Pixels" Uniqueid="" /> + + * + Name = "modifica" + Imbuton1.Height = 29 + Imbuton1.Name = "Imbuton1" + Imbuton1.Picture = ..\grafice\modifica1.bmp + Imbuton1.ToolTipText = "Modificare" + Imbuton1.Width = 27 + Command1.Name = "Command1" + Command1.ToolTipText = "Modificare" + * + + PROCEDURE MouseEnter + LPARAMETERS nButton, nShift, nXCoord, nYCoord + this.imbuton1.picture='MODIFICA2.BMP' + ENDPROC + + PROCEDURE MouseLeave + LPARAMETERS nButton, nShift, nXCoord, nYCoord + this.imbuton1.picture='MODIFICA1.BMP' + ENDPROC + +ENDDEFINE + +DEFINE CLASS modiset AS setbaza OF "baza.vcx" + *< CLASSDATA: Baseclass="formset" Timestamp="" Scale="" Uniqueid="" /> + + *-- OBJECTDATA items order determines ZOrder / El orden de los items OBJECTDATA determina el ZOrder + *< OBJECTDATA: ObjPath="CERERE" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="CERERE.Titlufrumos2" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="CERERE.Renunt1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="CERERE.Precedent1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="CERERE.Urmator1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="CERERE.LINEO1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="CERERE.Gridb1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="CERERE.Gridb1.Column2.Header1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="CERERE.Gridb1.Column2.Text1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="CERERE.Gridb1.Column2.Combo1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="CERERE.Gridb1.Column3.Header1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="CERERE.Gridb1.Column3.Text1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="CERERE.Gridb1.Column4.Header1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="CERERE.Gridb1.Column4.Text1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="CERERE.Gridb1.Column5.Header1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="CERERE.Gridb1.Column5.Text1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="CERERE.Sterge1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="CERERE.Nou1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="REPARTIZARE" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="REPARTIZARE.Titlufrumos2" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="REPARTIZARE.Renunt1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="REPARTIZARE.Precedent1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="REPARTIZARE.Urmator1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="REPARTIZARE.Lineo2" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="REPARTIZARE.Pageframe1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="REPARTIZARE.Pageframe1.Page1.Gridb1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="REPARTIZARE.Pageframe1.Page1.Gridb1.Column2.Header1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="REPARTIZARE.Pageframe1.Page1.Gridb1.Column2.Text1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="REPARTIZARE.Pageframe1.Page1.Gridb1.Column3.Header1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="REPARTIZARE.Pageframe1.Page1.Gridb1.Column3.Text1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="REPARTIZARE.Pageframe1.Page1.Gridb1.Column4.Header1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="REPARTIZARE.Pageframe1.Page1.Gridb1.Column4.Text1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="REPARTIZARE.Pageframe1.Page1.Gridb1.Column5.Header1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="REPARTIZARE.Pageframe1.Page1.Gridb1.Column5.Text1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="REPARTIZARE.Pageframe1.Page1.Nou1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="REPARTIZARE.Pageframe1.Page1.Sterge1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="REPARTIZARE.Pageframe1.Page2.Gridb1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="REPARTIZARE.Pageframe1.Page2.Gridb1.Column2.Header1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="REPARTIZARE.Pageframe1.Page2.Gridb1.Column2.Text1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="REPARTIZARE.Pageframe1.Page2.Gridb1.Column2.Combo1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="REPARTIZARE.Pageframe1.Page2.Gridb1.Column3.Header1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="REPARTIZARE.Pageframe1.Page2.Gridb1.Column3.Text1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="REPARTIZARE.Pageframe1.Page2.Gridb1.Column3.Combogrid1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="REPARTIZARE.Pageframe1.Page2.Gridb1.Column4.Header1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="REPARTIZARE.Pageframe1.Page2.Gridb1.Column4.Text1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="REPARTIZARE.Pageframe1.Page2.Gridb1.Column4.Combogrid1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="REPARTIZARE.Pageframe1.Page2.Gridb1.Column5.Header1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="REPARTIZARE.Pageframe1.Page2.Gridb1.Column5.Text1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="REPARTIZARE.Pageframe1.Page2.Gridb1.Column5.Combogrid1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="REPARTIZARE.Pageframe1.Page2.Gridb1.Column6.Header1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="REPARTIZARE.Pageframe1.Page2.Gridb1.Column6.Text1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="REPARTIZARE.Pageframe1.Page2.Gridb1.Column6.Combogrid1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="REPARTIZARE.Pageframe1.Page2.Gridb1.Column7.Header1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="REPARTIZARE.Pageframe1.Page2.Gridb1.Column7.Text1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="REPARTIZARE.Pageframe1.Page2.Gridb1.Column7.Combogrid1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="REPARTIZARE.Pageframe1.Page2.Gridb1.Column8.Header1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="REPARTIZARE.Pageframe1.Page2.Gridb1.Column8.Text1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="REPARTIZARE.Pageframe1.Page2.Gridb1.Column8.Combogrid1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="REPARTIZARE.Pageframe1.Page2.Gridb1.Column9.Header1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="REPARTIZARE.Pageframe1.Page2.Gridb1.Column9.Text1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="REPARTIZARE.Pageframe1.Page2.Gridb1.Column9.Combogrid1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="REPARTIZARE.Pageframe1.Page3.Gridb1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="REPARTIZARE.Pageframe1.Page3.Gridb1.Column2.Header1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="REPARTIZARE.Pageframe1.Page3.Gridb1.Column2.Text1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="REPARTIZARE.Pageframe1.Page3.Gridb1.Column2.Combo1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="REPARTIZARE.Pageframe1.Page3.Gridb1.Column3.Header1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="REPARTIZARE.Pageframe1.Page3.Gridb1.Column3.Text1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="REPARTIZARE.Pageframe1.Page3.Gridb1.Column3.Combogrid1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="REPARTIZARE.Pageframe1.Page3.Gridb1.Column4.Header1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="REPARTIZARE.Pageframe1.Page3.Gridb1.Column4.Text1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="REPARTIZARE.Pageframe1.Page3.Gridb1.Column4.Combogrid1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="REPARTIZARE.Pageframe1.Page3.Gridb1.Column5.Header1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="REPARTIZARE.Pageframe1.Page3.Gridb1.Column5.Text1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="REPARTIZARE.Pageframe1.Page3.Gridb1.Column5.Combogrid1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="REPARTIZARE.Pageframe1.Page3.Gridb1.Column6.Header1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="REPARTIZARE.Pageframe1.Page3.Gridb1.Column6.Text1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="REPARTIZARE.Pageframe1.Page3.Gridb1.Column6.Combogrid1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="REPARTIZARE.Pageframe1.Page3.Gridb1.Column7.Header1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="REPARTIZARE.Pageframe1.Page3.Gridb1.Column7.Text1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="REPARTIZARE.Pageframe1.Page3.Gridb1.Column7.Combogrid1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="REPARTIZARE.Pageframe1.Page3.Gridb1.Column8.Header1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="REPARTIZARE.Pageframe1.Page3.Gridb1.Column8.Text1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="REPARTIZARE.Pageframe1.Page3.Gridb1.Column8.Combogrid1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="REPARTIZARE.Pageframe1.Page3.Gridb1.Column9.Header1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="REPARTIZARE.Pageframe1.Page3.Gridb1.Column9.Text1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="REPARTIZARE.Pageframe1.Page3.Gridb1.Column9.Combogrid1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="REPARTIZARE.Pageframe1.Page3.Gridb1.Column10.Header1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="REPARTIZARE.Pageframe1.Page3.Gridb1.Column10.Text1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="REPARTIZARE.Pageframe1.Page3.Gridb1.Column10.Combogrid1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="REPARTIZARE.Pageframe1.Page3.Gridb1.Column11.Header1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="REPARTIZARE.Pageframe1.Page3.Gridb1.Column11.Text1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="REPARTIZARE.Pageframe1.Page3.Gridb1.Column11.Combogrid1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="REPARTIZARE.Pageframe1.Page4.Gridb1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="REPARTIZARE.Pageframe1.Page4.Gridb1.Column2.Header1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="REPARTIZARE.Pageframe1.Page4.Gridb1.Column2.Text1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="REPARTIZARE.Pageframe1.Page4.Gridb1.Column2.Combo1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="REPARTIZARE.Pageframe1.Page4.Gridb1.Column3.Header1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="REPARTIZARE.Pageframe1.Page4.Gridb1.Column3.Text1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="REPARTIZARE.Pageframe1.Page4.Gridb1.Column3.Combogrid1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="REPARTIZARE.Pageframe1.Page4.Gridb1.Column4.Header1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="REPARTIZARE.Pageframe1.Page4.Gridb1.Column4.Text1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="REPARTIZARE.Pageframe1.Page4.Gridb1.Column4.Combogrid1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="REPARTIZARE.Pageframe1.Page4.Gridb1.Column5.Header1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="REPARTIZARE.Pageframe1.Page4.Gridb1.Column5.Text1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="REPARTIZARE.Pageframe1.Page4.Gridb1.Column5.Combogrid1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="REPARTIZARE.Pageframe1.Page4.Gridb1.Column6.Header1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="REPARTIZARE.Pageframe1.Page4.Gridb1.Column6.Text1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="REPARTIZARE.Pageframe1.Page4.Gridb1.Column6.Combogrid1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="VERIFICARE" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="VERIFICARE.Titlufrumos2" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="VERIFICARE.Renunt1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="VERIFICARE.Precedent1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="VERIFICARE.Lineo2" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="VERIFICARE.Edit1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="Model" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="Model.Titlufrumos2" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="Model.Renunt1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="Model.Precedent1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="Model.Urmator1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="Model.Lineo2" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="Model.Optiongroup1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="Model.Label1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="Model.Check1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="Model.combo1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="FORMTERMIN12.Titlufrumos2" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="FORMTERMIN12.Urmator1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="FORMTERMIN12.Renunt1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="FORMTERMIN12.LABEL_ITEM1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="FORMTERMIN12.Label_item2" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="FORMTERMIN12.TEXT_ITEM1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="FORMTERMIN12.Text_item2" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="FORMTERMIN12.Label_item3" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="FORMTERMIN12.Text_item3" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="FORMTERMIN12.Label_item4" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="FORMTERMIN12.Text_item4" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="FORMTERMIN12.LINEO1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="FORMTERMIN12.Lineo2" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="FORMTERMIN12.Lineo3" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="FORMTERMIN12.Lineo4" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="FORMTERMIN12.Lineo5" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="FORMTERMIN12.Lineo6" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="FORMTERMIN12.Lineo7" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="FORMTERMIN12.Lineo8" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="FORMTERMIN12.Lineo9" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="FORMTERMIN12.Precedent1" UniqueID="" Timestamp="" /> + + * + *m: cerere_urmatorul + *m: model_urmatorul + *m: terminatok + *m: terminat_oricum + *m: verificare_totala + *p: e_nou + *p: id_setmodel + *p: verifok + * + + * + id_setmodel = 0 + Name = "modiset" + WindowType = 1 + Form1.DoCreate = .T. + Form1.Name = "Form1" + Form1.Visible = .F. + FORMTERMIN12.BorderStyle = 1 + FORMTERMIN12.DoCreate = .T. + FORMTERMIN12.Height = 450 + FORMTERMIN12.Name = "FORMTERMIN12" + FORMTERMIN12.Shape1.Height = 36 + FORMTERMIN12.Shape1.Left = 0 + FORMTERMIN12.Shape1.Name = "Shape1" + FORMTERMIN12.Shape1.Top = 0 + FORMTERMIN12.Shape1.Width = 648 + FORMTERMIN12.ShowTips = .T. + FORMTERMIN12.Terminat1.Command1.Name = "Command1" + FORMTERMIN12.Terminat1.Imbuton1.Height = 27 + FORMTERMIN12.Terminat1.Imbuton1.Name = "Imbuton1" + FORMTERMIN12.Terminat1.Imbuton1.Width = 26 + FORMTERMIN12.Terminat1.Left = 408 + FORMTERMIN12.Terminat1.Name = "Terminat1" + FORMTERMIN12.Terminat1.TabIndex = 5 + FORMTERMIN12.Terminat1.Top = 414 + FORMTERMIN12.Terminat1.Visible = .F. + FORMTERMIN12.TITLUFRUMOS1.Caption = "EDITAREA SETULUI DE NOTE CONTABILE" + FORMTERMIN12.TITLUFRUMOS1.Height = 16 + FORMTERMIN12.TITLUFRUMOS1.Left = 7 + FORMTERMIN12.TITLUFRUMOS1.Name = "TITLUFRUMOS1" + FORMTERMIN12.TITLUFRUMOS1.TabIndex = 6 + FORMTERMIN12.TITLUFRUMOS1.Top = -1 + FORMTERMIN12.TITLUFRUMOS1.Width = 364 + FORMTERMIN12.Visible = .F. + FORMTERMIN12.Width = 600 + * + + ADD OBJECT 'CERERE' AS formtermin WITH ; + DoCreate = .T., ; + Height = 450, ; + Name = "CERERE", ; + ShowTips = .T., ; + Visible = .F., ; + Width = 600, ; + Shape1.Height = 36, ; + Shape1.Left = 0, ; + Shape1.Name = "Shape1", ; + Shape1.Top = 0, ; + Shape1.Width = 636, ; + Terminat1.Command1.Name = "Command1", ; + Terminat1.Imbuton1.Height = 27, ; + Terminat1.Imbuton1.Name = "Imbuton1", ; + Terminat1.Imbuton1.Width = 26, ; + Terminat1.Left = 452, ; + Terminat1.Name = "Terminat1", ; + Terminat1.Top = 414, ; + Terminat1.Visible = .F., ; + TITLUFRUMOS1.Caption = "EDITAREA SETULUI DE NOTE CONTABILE", ; + TITLUFRUMOS1.Height = 17, ; + TITLUFRUMOS1.Left = 7, ; + TITLUFRUMOS1.Name = "TITLUFRUMOS1", ; + TITLUFRUMOS1.Top = -1, ; + TITLUFRUMOS1.Width = 364 + *< END OBJECT: ClassLib="baza.vcx" BaseClass="form" /> + + ADD OBJECT 'CERERE.Gridb1' AS gridb WITH ; + ColumnCount = 5, ; + Height = 346, ; + Left = 13, ; + Name = "Gridb1", ; + Panel = 1, ; + ReadOnly = .T., ; + RecordMark = .T., ; + RecordSource = "treq", ; + Top = 43, ; + Width = 467, ; + COLUMN1.ControlSource = "nr_item", ; + COLUMN1.HEADER1.Alignment = 2, ; + COLUMN1.HEADER1.Caption = "Nr.", ; + COLUMN1.HEADER1.Name = "HEADER1", ; + COLUMN1.Name = "COLUMN1", ; + COLUMN1.ReadOnly = .F., ; + COLUMN1.TEXT1.Name = "TEXT1", ; + COLUMN1.TEXT1.ReadOnly = .F., ; + COLUMN1.Width = 53, ; + Column2.ControlSource = "label_item", ; + Column2.CurrentControl = "Combo1", ; + Column2.Name = "Column2", ; + Column2.ReadOnly = .T., ; + Column2.Sparse = .F., ; + Column2.Width = 384, ; + Column3.ControlSource = "id_item", ; + Column3.Name = "Column3", ; + Column3.ReadOnly = .T., ; + Column4.ControlSource = "x_item", ; + Column4.Name = "Column4", ; + Column4.ReadOnly = .T., ; + Column5.ControlSource = "var_item", ; + Column5.Name = "Column5", ; + Column5.ReadOnly = .T. + *< END OBJECT: ClassLib="baza.vcx" BaseClass="grid" /> + + ADD OBJECT 'CERERE.Gridb1.Column2.Combo1' AS combobox WITH ; + BorderStyle = 0, ; + Height = 24, ; + Left = 83, ; + Name = "Combo1", ; + ReadOnly = .F., ; + RowSource = "xitems.label_item", ; + RowSourceType = 6, ; + SpecialEffect = 1, ; + Style = 2, ; + Top = 30, ; + Width = 100 + *< END OBJECT: BaseClass="combobox" /> + + ADD OBJECT 'CERERE.Gridb1.Column2.Header1' AS header WITH ; + Alignment = 2, ; + Caption = "Element", ; + Name = "Header1" + *< END OBJECT: BaseClass="header" /> + + ADD OBJECT 'CERERE.Gridb1.Column2.Text1' AS textbox WITH ; + BackColor = 255,255,255, ; + BorderStyle = 0, ; + ForeColor = 0,0,0, ; + Margin = 0, ; + Name = "Text1" + *< END OBJECT: BaseClass="textbox" /> + + ADD OBJECT 'CERERE.Gridb1.Column3.Header1' AS header WITH ; + Alignment = 2, ; + Caption = "Id_item", ; + Name = "Header1" + *< END OBJECT: BaseClass="header" /> + + ADD OBJECT 'CERERE.Gridb1.Column3.Text1' AS textbox WITH ; + BackColor = 255,255,255, ; + BorderStyle = 0, ; + ForeColor = 0,0,0, ; + Margin = 0, ; + Name = "Text1", ; + ReadOnly = .T. + *< END OBJECT: BaseClass="textbox" /> + + ADD OBJECT 'CERERE.Gridb1.Column4.Header1' AS header WITH ; + Alignment = 2, ; + Caption = "X_item", ; + Name = "Header1" + *< END OBJECT: BaseClass="header" /> + + ADD OBJECT 'CERERE.Gridb1.Column4.Text1' AS textbox WITH ; + BackColor = 255,255,255, ; + BorderStyle = 0, ; + ForeColor = 0,0,0, ; + Margin = 0, ; + Name = "Text1", ; + ReadOnly = .T. + *< END OBJECT: BaseClass="textbox" /> + + ADD OBJECT 'CERERE.Gridb1.Column5.Header1' AS header WITH ; + Alignment = 2, ; + Caption = "Var_item", ; + Name = "Header1" + *< END OBJECT: BaseClass="header" /> + + ADD OBJECT 'CERERE.Gridb1.Column5.Text1' AS textbox WITH ; + BackColor = 255,255,255, ; + BorderStyle = 0, ; + ForeColor = 0,0,0, ; + Margin = 0, ; + Name = "Text1", ; + ReadOnly = .T. + *< END OBJECT: BaseClass="textbox" /> + + ADD OBJECT 'CERERE.LINEO1' AS lineo WITH ; + Height = 0, ; + Left = 5, ; + Name = "LINEO1", ; + Top = 407, ; + Width = 585 + *< END OBJECT: ClassLib="baza.vcx" BaseClass="line" /> + + ADD OBJECT 'CERERE.Nou1' AS nou WITH ; + Left = 492, ; + Name = "Nou1", ; + Top = 45, ; + Imbuton1.Height = 29, ; + Imbuton1.Name = "Imbuton1", ; + Imbuton1.Width = 27, ; + Command1.Name = "Command1" + *< END OBJECT: ClassLib="baza.vcx" BaseClass="container" /> + + ADD OBJECT 'CERERE.Precedent1' AS precedent WITH ; + Left = 487, ; + Name = "Precedent1", ; + Top = 414, ; + Imbuton1.Height = 27, ; + Imbuton1.Name = "Imbuton1", ; + Imbuton1.Width = 27, ; + Command1.Name = "Command1" + *< END OBJECT: ClassLib="baza.vcx" BaseClass="container" /> + + ADD OBJECT 'CERERE.Renunt1' AS renunt WITH ; + Left = 522, ; + Name = "Renunt1", ; + Top = 414, ; + Imbuton1.Height = 30, ; + Imbuton1.Name = "Imbuton1", ; + Imbuton1.Width = 30, ; + Command1.Name = "Command1" + *< END OBJECT: ClassLib="baza.vcx" BaseClass="container" /> + + ADD OBJECT 'CERERE.Sterge1' AS sterge WITH ; + Left = 492, ; + Name = "Sterge1", ; + Top = 78, ; + Imbuton1.Height = 26, ; + Imbuton1.Name = "Imbuton1", ; + Imbuton1.Width = 26, ; + Command1.Name = "Command1" + *< END OBJECT: ClassLib="baza.vcx" BaseClass="container" /> + + ADD OBJECT 'CERERE.Titlufrumos2' AS titlufrumos WITH ; + Caption = "Pasul 3 - Cererea de date de la operator", ; + Height = 21, ; + Left = 7, ; + Name = "Titlufrumos2", ; + Top = 18, ; + Width = 364 + *< END OBJECT: ClassLib="baza.vcx" BaseClass="label" /> + + ADD OBJECT 'CERERE.Urmator1' AS urmator WITH ; + Left = 559, ; + Name = "Urmator1", ; + Top = 414, ; + Imbuton1.Height = 26, ; + Imbuton1.Name = "Imbuton1", ; + Imbuton1.Width = 26, ; + Command1.Name = "Command1" + *< END OBJECT: ClassLib="baza.vcx" BaseClass="container" /> + + ADD OBJECT 'FORMTERMIN12.LABEL_ITEM1' AS label_item WITH ; + Caption = "Nr. set.", ; + Left = 12, ; + Name = "LABEL_ITEM1", ; + TabIndex = 10, ; + Top = 67 + *< END OBJECT: ClassLib="baza.vcx" BaseClass="label" /> + + ADD OBJECT 'FORMTERMIN12.Label_item2' AS label_item WITH ; + Caption = "Denumire", ; + Left = 12, ; + Name = "Label_item2", ; + TabIndex = 11, ; + Top = 120 + *< END OBJECT: ClassLib="baza.vcx" BaseClass="label" /> + + ADD OBJECT 'FORMTERMIN12.Label_item3' AS label_item WITH ; + Caption = "Lista notelor:", ; + Left = 12, ; + Name = "Label_item3", ; + TabIndex = 12, ; + Top = 144 + *< END OBJECT: ClassLib="baza.vcx" BaseClass="label" /> + + ADD OBJECT 'FORMTERMIN12.Label_item4' AS label_item WITH ; + Caption = "Identificator:", ; + Left = 12, ; + Name = "Label_item4", ; + TabIndex = 13, ; + Top = 96 + *< END OBJECT: ClassLib="baza.vcx" BaseClass="label" /> + + ADD OBJECT 'FORMTERMIN12.LINEO1' AS lineo WITH ; + Height = 0, ; + Left = 12, ; + Name = "LINEO1", ; + Top = 141, ; + Width = 573 + *< END OBJECT: ClassLib="baza.vcx" BaseClass="line" /> + + ADD OBJECT 'FORMTERMIN12.Lineo2' AS lineo WITH ; + Height = 0, ; + Left = 11, ; + Name = "Lineo2", ; + Top = 168, ; + Width = 573 + *< END OBJECT: ClassLib="baza.vcx" BaseClass="line" /> + + ADD OBJECT 'FORMTERMIN12.Lineo3' AS lineo WITH ; + Height = 0, ; + Left = 12, ; + Name = "Lineo3", ; + Top = 63, ; + Width = 573 + *< END OBJECT: ClassLib="baza.vcx" BaseClass="line" /> + + ADD OBJECT 'FORMTERMIN12.Lineo4' AS lineo WITH ; + Height = 0, ; + Left = 12, ; + Name = "Lineo4", ; + Top = 91, ; + Width = 573 + *< END OBJECT: ClassLib="baza.vcx" BaseClass="line" /> + + ADD OBJECT 'FORMTERMIN12.Lineo5' AS lineo WITH ; + Height = 0, ; + Left = 12, ; + Name = "Lineo5", ; + Top = 115, ; + Width = 573 + *< END OBJECT: ClassLib="baza.vcx" BaseClass="line" /> + + ADD OBJECT 'FORMTERMIN12.Lineo6' AS lineo WITH ; + Height = 107, ; + Left = 118, ; + Name = "Lineo6", ; + Top = 63, ; + Width = 0 + *< END OBJECT: ClassLib="baza.vcx" BaseClass="line" /> + + ADD OBJECT 'FORMTERMIN12.Lineo7' AS lineo WITH ; + Height = 107, ; + Left = 584, ; + Name = "Lineo7", ; + Top = 63, ; + Width = 0 + *< END OBJECT: ClassLib="baza.vcx" BaseClass="line" /> + + ADD OBJECT 'FORMTERMIN12.Lineo8' AS lineo WITH ; + Height = 107, ; + Left = 9, ; + Name = "Lineo8", ; + Top = 63, ; + Width = 0 + *< END OBJECT: ClassLib="baza.vcx" BaseClass="line" /> + + ADD OBJECT 'FORMTERMIN12.Lineo9' AS lineo WITH ; + Height = 0, ; + Left = 12, ; + Name = "Lineo9", ; + Top = 407, ; + Width = 581 + *< END OBJECT: ClassLib="baza.vcx" BaseClass="line" /> + + ADD OBJECT 'FORMTERMIN12.Precedent1' AS precedent WITH ; + Left = 488, ; + Name = "Precedent1", ; + TabIndex = 14, ; + Top = 415, ; + IMBUTON1.Height = 27, ; + IMBUTON1.Name = "IMBUTON1", ; + IMBUTON1.Width = 27, ; + COMMAND1.Name = "COMMAND1" + *< END OBJECT: ClassLib="baza.vcx" BaseClass="container" /> + + ADD OBJECT 'FORMTERMIN12.Renunt1' AS renunt WITH ; + Left = 524, ; + Name = "Renunt1", ; + TabIndex = 9, ; + Top = 414, ; + Imbuton1.Height = 30, ; + Imbuton1.Name = "Imbuton1", ; + Imbuton1.Width = 30, ; + Command1.Name = "Command1" + *< END OBJECT: ClassLib="baza.vcx" BaseClass="container" /> + + ADD OBJECT 'FORMTERMIN12.TEXT_ITEM1' AS text_item WITH ; + ControlSource = "M.NR_SET", ; + FontBold = .T., ; + Height = 20, ; + Left = 123, ; + Name = "TEXT_ITEM1", ; + TabIndex = 1, ; + Top = 67, ; + Width = 81 + *< END OBJECT: ClassLib="baza.vcx" BaseClass="textbox" /> + + ADD OBJECT 'FORMTERMIN12.Text_item2' AS text_item WITH ; + ControlSource = "M.NUME_SET", ; + FontBold = .T., ; + Height = 20, ; + Left = 123, ; + Name = "Text_item2", ; + TabIndex = 3, ; + Top = 120, ; + Width = 409 + *< END OBJECT: ClassLib="baza.vcx" BaseClass="textbox" /> + + ADD OBJECT 'FORMTERMIN12.Text_item3' AS text_item WITH ; + ControlSource = "M.LISTA_NOTE", ; + FontBold = .T., ; + Height = 20, ; + Left = 123, ; + Name = "Text_item3", ; + TabIndex = 4, ; + Top = 144, ; + Width = 409 + *< END OBJECT: ClassLib="baza.vcx" BaseClass="textbox" /> + + ADD OBJECT 'FORMTERMIN12.Text_item4' AS text_item WITH ; + ControlSource = "M.id_set", ; + FontBold = .T., ; + Height = 20, ; + Left = 123, ; + Name = "Text_item4", ; + TabIndex = 2, ; + Top = 94, ; + Width = 409 + *< END OBJECT: ClassLib="baza.vcx" BaseClass="textbox" /> + + ADD OBJECT 'FORMTERMIN12.Titlufrumos2' AS titlufrumos WITH ; + Caption = "Pasul 2 - Denumire, specificatii", ; + Height = 18, ; + Left = 6, ; + Name = "Titlufrumos2", ; + TabIndex = 7, ; + Top = 17, ; + Width = 364 + *< END OBJECT: ClassLib="baza.vcx" BaseClass="label" /> + + ADD OBJECT 'FORMTERMIN12.Urmator1' AS urmator WITH ; + Left = 560, ; + Name = "Urmator1", ; + TabIndex = 8, ; + Top = 414, ; + Imbuton1.Height = 26, ; + Imbuton1.Name = "Imbuton1", ; + Imbuton1.Width = 26, ; + Command1.Name = "Command1" + *< END OBJECT: ClassLib="baza.vcx" BaseClass="container" /> + + ADD OBJECT 'Model' AS formtermin WITH ; + BorderStyle = 1, ; + DoCreate = .T., ; + Height = 450, ; + Name = "Model", ; + ShowTips = .T., ; + Visible = .T., ; + Width = 600, ; + Shape1.Height = 36, ; + Shape1.Left = 0, ; + Shape1.Name = "Shape1", ; + Shape1.Top = 0, ; + Shape1.Width = 612, ; + Terminat1.Command1.Name = "Command1", ; + Terminat1.Imbuton1.Height = 27, ; + Terminat1.Imbuton1.Name = "Imbuton1", ; + Terminat1.Imbuton1.Width = 26, ; + Terminat1.Name = "Terminat1", ; + Terminat1.Visible = .F., ; + Titlufrumos1.Caption = "EDITAREA SETULUI DE NOTE CONTABILE", ; + Titlufrumos1.Height = 15, ; + Titlufrumos1.Left = 7, ; + Titlufrumos1.Name = "Titlufrumos1", ; + Titlufrumos1.Top = -1, ; + Titlufrumos1.Width = 364 + *< END OBJECT: ClassLib="baza.vcx" BaseClass="form" /> + + ADD OBJECT 'Model.Check1' AS checkbox WITH ; + Alignment = 0, ; + AutoSize = .T., ; + BackStyle = 0, ; + Caption = "Asemanator cu...", ; + Height = 17, ; + Left = 36, ; + Name = "Check1", ; + SpecialEffect = 0, ; + Top = 279, ; + Width = 110 + *< END OBJECT: BaseClass="checkbox" /> + + ADD OBJECT 'Model.combo1' AS listbox WITH ; + BoundColumn = 2, ; + BoundTo = .T., ; + ControlSource = "thisformset.id_setmodel", ; + Height = 96, ; + Left = 60, ; + Name = "combo1", ; + RowSource = "select nume_set,id_set,model,lista_note from xsets where id_set<>m.id_set into cursor cmodel order by nume_set", ; + RowSourceType = 3, ; + SpecialEffect = 2, ; + Top = 303, ; + Visible = .F., ; + Width = 480 + *< END OBJECT: BaseClass="listbox" /> + + ADD OBJECT 'Model.Label1' AS label WITH ; + AutoSize = .T., ; + BackStyle = 0, ; + Caption = "Cu inregistrare in gestiuni:", ; + Height = 17, ; + Left = 31, ; + Name = "Label1", ; + Top = 115, ; + Width = 147 + *< END OBJECT: BaseClass="label" /> + + ADD OBJECT 'Model.Lineo2' AS lineo WITH ; + Height = 0, ; + Left = 11, ; + Name = "Lineo2", ; + Top = 407, ; + Width = 581 + *< END OBJECT: ClassLib="baza.vcx" BaseClass="line" /> + + ADD OBJECT 'Model.Optiongroup1' AS optiongroup WITH ; + BackStyle = 0, ; + BorderStyle = 0, ; + ButtonCount = 9, ; + ControlSource = "M.MODEL", ; + Height = 204, ; + Left = 24, ; + Name = "Optiongroup1", ; + SpecialEffect = 0, ; + Top = 60, ; + Value = 1, ; + Width = 348, ; + Option1.BackStyle = 0, ; + Option1.Caption = "Set de note simple cu contabilizare", ; + Option1.Height = 17, ; + Option1.Left = 5, ; + Option1.Name = "Option1", ; + Option1.Top = 5, ; + Option1.Value = 1, ; + Option1.Width = 232, ; + Option2.BackStyle = 0, ; + Option2.Caption = "NIR materiale / marfa la pret de achizitie", ; + Option2.Height = 17, ; + Option2.Left = 36, ; + Option2.Name = "Option2", ; + Option2.Top = 71, ; + Option2.Width = 232, ; + Option3.BackStyle = 0, ; + Option3.Caption = "NIR marfa la pret de vanzare", ; + Option3.Height = 17, ; + Option3.Left = 36, ; + Option3.Name = "Option3", ; + Option3.Top = 90, ; + Option3.Width = 232, ; + Option4.AutoSize = .T., ; + Option4.BackStyle = 0, ; + Option4.Caption = "Bon de consum materiale", ; + Option4.Height = 17, ; + Option4.Left = 36, ; + Option4.Name = "Option4", ; + Option4.Top = 109, ; + Option4.Width = 160, ; + Option5.AutoSize = .T., ; + Option5.BackStyle = 0, ; + Option5.Caption = "Bon de consum marfa pe lucrari in curs de executie", ; + Option5.Height = 17, ; + Option5.Left = 36, ; + Option5.Name = "Option5", ; + Option5.Top = 128, ; + Option5.Width = 299, ; + Option6.AutoSize = .T., ; + Option6.BackStyle = 0, ; + Option6.Caption = "Vanzare marfa en-gros", ; + Option6.Height = 17, ; + Option6.Left = 36, ; + Option6.Name = "Option6", ; + Option6.Top = 147, ; + Option6.Width = 143, ; + Option7.AutoSize = .T., ; + Option7.BackStyle = 0, ; + Option7.Caption = "Vanzare en-detail marfa la pret de achizitie", ; + Option7.Height = 17, ; + Option7.Left = 36, ; + Option7.Name = "Option7", ; + Option7.Top = 166, ; + Option7.Width = 249, ; + Option8.AutoSize = .T., ; + Option8.BackStyle = 0, ; + Option8.Caption = "Vanzare en-detail marfa la pret de vanzare", ; + Option8.Height = 17, ; + Option8.Left = 36, ; + Option8.Name = "Option8", ; + Option8.Top = 185, ; + Option8.Width = 247, ; + Option9.AutoSize = .T., ; + Option9.BackStyle = 0, ; + Option9.Caption = "Cerere de date fara contabilizare", ; + Option9.Height = 17, ; + Option9.Left = 5, ; + Option9.Name = "Option9", ; + Option9.Top = 25, ; + Option9.Width = 196 + *< END OBJECT: BaseClass="optiongroup" /> + + ADD OBJECT 'Model.Precedent1' AS precedent WITH ; + Left = 487, ; + Name = "Precedent1", ; + Top = 413, ; + Visible = .F., ; + Imbuton1.Height = 27, ; + Imbuton1.Name = "Imbuton1", ; + Imbuton1.Width = 27, ; + Command1.Name = "Command1" + *< END OBJECT: ClassLib="baza.vcx" BaseClass="container" /> + + ADD OBJECT 'Model.Renunt1' AS renunt WITH ; + Left = 523, ; + Name = "Renunt1", ; + Top = 413, ; + Imbuton1.Height = 30, ; + Imbuton1.Name = "Imbuton1", ; + Imbuton1.Width = 30, ; + Command1.Name = "Command1" + *< END OBJECT: ClassLib="baza.vcx" BaseClass="container" /> + + ADD OBJECT 'Model.Titlufrumos2' AS titlufrumos WITH ; + Caption = "Pasul 1 - Modelul setului de note", ; + Height = 19, ; + Left = 9, ; + Name = "Titlufrumos2", ; + Top = 15, ; + Width = 364 + *< END OBJECT: ClassLib="baza.vcx" BaseClass="label" /> + + ADD OBJECT 'Model.Urmator1' AS urmator WITH ; + Left = 559, ; + Name = "Urmator1", ; + Top = 413, ; + Imbuton1.Height = 26, ; + Imbuton1.Name = "Imbuton1", ; + Imbuton1.Width = 26, ; + Command1.Name = "Command1" + *< END OBJECT: ClassLib="baza.vcx" BaseClass="container" /> + + ADD OBJECT 'REPARTIZARE' AS formtermin WITH ; + BorderStyle = 1, ; + DoCreate = .T., ; + Height = 450, ; + Name = "REPARTIZARE", ; + ShowTips = .T., ; + Visible = .F., ; + Width = 600, ; + Shape1.Height = 36, ; + Shape1.Left = 0, ; + Shape1.Name = "Shape1", ; + Shape1.Top = 0, ; + Shape1.Width = 612, ; + Terminat1.Command1.Name = "Command1", ; + Terminat1.Imbuton1.Height = 27, ; + Terminat1.Imbuton1.Name = "Imbuton1", ; + Terminat1.Imbuton1.Width = 26, ; + Terminat1.Left = 348, ; + Terminat1.Name = "Terminat1", ; + Terminat1.Top = 0, ; + Terminat1.Visible = .F., ; + TITLUFRUMOS1.Caption = "EDITAREA SETULUI DE NOTE CONTABILE", ; + TITLUFRUMOS1.Height = 16, ; + TITLUFRUMOS1.Left = 7, ; + TITLUFRUMOS1.Name = "TITLUFRUMOS1", ; + TITLUFRUMOS1.Top = -1, ; + TITLUFRUMOS1.Width = 364 + *< END OBJECT: ClassLib="baza.vcx" BaseClass="form" /> + + ADD OBJECT 'REPARTIZARE.Lineo2' AS lineo WITH ; + Height = 0, ; + Left = 8, ; + Name = "Lineo2", ; + Top = 407, ; + Width = 581 + *< END OBJECT: ClassLib="baza.vcx" BaseClass="line" /> + + ADD OBJECT 'REPARTIZARE.Pageframe1' AS pageframe WITH ; + ErasePage = .T., ; + Height = 350, ; + Left = 6, ; + Name = "Pageframe1", ; + PageCount = 4, ; + TabStyle = 1, ; + Top = 50, ; + Width = 579, ; + Page1.BackColor = 255,255,255, ; + Page1.Caption = "Note", ; + Page1.Name = "Page1", ; + Page2.BackColor = 240,240,240, ; + Page2.Caption = "Date", ; + Page2.Name = "Page2", ; + Page3.BackColor = 228,228,228, ; + Page3.Caption = "Explicatii", ; + Page3.Name = "Page3", ; + Page4.BackColor = 214,214,214, ; + Page4.Caption = "Sume", ; + Page4.Name = "Page4" + *< END OBJECT: BaseClass="pageframe" /> + + ADD OBJECT 'REPARTIZARE.Pageframe1.Page1.Gridb1' AS gridb WITH ; + ColumnCount = 5, ; + FontName = "Arial Narrow", ; + GridLineColor = 255,255,255, ; + GridLines = 3, ; + Height = 260, ; + Left = 10, ; + Name = "Gridb1", ; + Panel = 1, ; + ReadOnly = .F., ; + RecordMark = .T., ; + RecordSource = "tnote", ; + Top = 10, ; + Width = 553, ; + COLUMN1.Alignment = 2, ; + COLUMN1.BackColor = 245,245,245, ; + COLUMN1.ControlSource = "nr_nota", ; + COLUMN1.DynamicBackColor = "RGB(245,245,245)", ; + COLUMN1.FontName = "Arial Narrow", ; + COLUMN1.HEADER1.Caption = "Nr.", ; + COLUMN1.HEADER1.FontName = "Arial Narrow", ; + COLUMN1.HEADER1.Name = "HEADER1", ; + COLUMN1.Name = "COLUMN1", ; + COLUMN1.ReadOnly = .F., ; + COLUMN1.TEXT1.Alignment = 2, ; + COLUMN1.TEXT1.BackColor = 245,245,245, ; + COLUMN1.TEXT1.FontName = "Arial Narrow", ; + COLUMN1.TEXT1.Name = "TEXT1", ; + COLUMN1.TEXT1.ReadOnly = .F., ; + COLUMN1.Width = 27, ; + Column2.Alignment = 1, ; + Column2.BackColor = 247,245,238, ; + Column2.ControlSource = "xscd", ; + Column2.DynamicBackColor = "RGB(247,245,238)", ; + Column2.FontName = "Arial Narrow", ; + Column2.Format = "XXXX.", ; + Column2.Name = "Column2", ; + Column2.ReadOnly = .F., ; + Column2.Width = 98, ; + Column3.Alignment = 0, ; + Column3.BackColor = 247,245,238, ; + Column3.ControlSource = "xASCD", ; + Column3.DynamicBackColor = "RGB(247,245,238)", ; + Column3.FontName = "Arial Narrow", ; + Column3.Name = "Column3", ; + Column3.ReadOnly = .F., ; + Column3.Width = 62, ; + Column4.Alignment = 1, ; + Column4.BackColor = 226,226,226, ; + Column4.ControlSource = "xscc", ; + Column4.DynamicBackColor = "RGB(226,226,226)", ; + Column4.FontName = "Arial Narrow", ; + Column4.Format = "XXXX.", ; + Column4.Name = "Column4", ; + Column4.ReadOnly = .F., ; + Column4.Width = 103, ; + Column5.Alignment = 0, ; + Column5.BackColor = 226,226,226, ; + Column5.ControlSource = "xASCC", ; + Column5.DynamicBackColor = "RGB(226,226,226)", ; + Column5.FontName = "Arial Narrow", ; + Column5.Name = "Column5", ; + Column5.ReadOnly = .F., ; + Column5.Width = 61 + *< END OBJECT: ClassLib="baza.vcx" BaseClass="grid" /> + + ADD OBJECT 'REPARTIZARE.Pageframe1.Page1.Gridb1.Column2.Header1' AS header WITH ; + Caption = "Simbol cont debitor", ; + FontName = "Arial Narrow", ; + Name = "Header1" + *< END OBJECT: BaseClass="header" /> + + ADD OBJECT 'REPARTIZARE.Pageframe1.Page1.Gridb1.Column2.Text1' AS textbox WITH ; + Alignment = 1, ; + BackColor = 247,245,238, ; + BorderStyle = 0, ; + FontName = "Arial Narrow", ; + ForeColor = 0,0,0, ; + Margin = 0, ; + Name = "Text1" + *< END OBJECT: BaseClass="textbox" /> + + ADD OBJECT 'REPARTIZARE.Pageframe1.Page1.Gridb1.Column3.Header1' AS header WITH ; + Caption = "Simbol analitic", ; + FontName = "Arial Narrow", ; + Name = "Header1" + *< END OBJECT: BaseClass="header" /> + + ADD OBJECT 'REPARTIZARE.Pageframe1.Page1.Gridb1.Column3.Text1' AS textbox WITH ; + Alignment = 0, ; + BackColor = 247,245,238, ; + BorderStyle = 0, ; + FontName = "Arial Narrow", ; + ForeColor = 0,0,0, ; + Margin = 0, ; + Name = "Text1" + *< END OBJECT: BaseClass="textbox" /> + + ADD OBJECT 'REPARTIZARE.Pageframe1.Page1.Gridb1.Column4.Header1' AS header WITH ; + Caption = "Simbol cont creditor ", ; + FontName = "Arial Narrow", ; + Name = "Header1" + *< END OBJECT: BaseClass="header" /> + + ADD OBJECT 'REPARTIZARE.Pageframe1.Page1.Gridb1.Column4.Text1' AS textbox WITH ; + Alignment = 1, ; + BackColor = 226,226,226, ; + BorderStyle = 0, ; + FontName = "Arial Narrow", ; + ForeColor = 0,0,0, ; + Margin = 0, ; + Name = "Text1" + *< END OBJECT: BaseClass="textbox" /> + + ADD OBJECT 'REPARTIZARE.Pageframe1.Page1.Gridb1.Column5.Header1' AS header WITH ; + Caption = "Simbol analitic", ; + FontName = "Arial Narrow", ; + Name = "Header1" + *< END OBJECT: BaseClass="header" /> + + ADD OBJECT 'REPARTIZARE.Pageframe1.Page1.Gridb1.Column5.Text1' AS textbox WITH ; + Alignment = 0, ; + BackColor = 226,226,226, ; + BorderStyle = 0, ; + FontName = "Arial Narrow", ; + ForeColor = 0,0,0, ; + Margin = 0, ; + Name = "Text1" + *< END OBJECT: BaseClass="textbox" /> + + ADD OBJECT 'REPARTIZARE.Pageframe1.Page1.Nou1' AS nou WITH ; + Left = 13, ; + Name = "Nou1", ; + Top = 279, ; + Imbuton1.Height = 29, ; + Imbuton1.Name = "Imbuton1", ; + Imbuton1.Width = 27, ; + Command1.Name = "Command1" + *< END OBJECT: ClassLib="baza.vcx" BaseClass="container" /> + + ADD OBJECT 'REPARTIZARE.Pageframe1.Page1.Sterge1' AS sterge WITH ; + Left = 49, ; + Name = "Sterge1", ; + Top = 279, ; + Imbuton1.Height = 26, ; + Imbuton1.Name = "Imbuton1", ; + Imbuton1.Width = 26, ; + Command1.Name = "Command1" + *< END OBJECT: ClassLib="baza.vcx" BaseClass="container" /> + + ADD OBJECT 'REPARTIZARE.Pageframe1.Page2.Gridb1' AS gridb WITH ; + BackColor = 240,240,240, ; + ColumnCount = 9, ; + FontName = "Arial Narrow", ; + GridLineColor = 255,255,255, ; + Height = 298, ; + Left = 11, ; + Name = "Gridb1", ; + Panel = 1, ; + ReadOnly = .F., ; + RecordMark = .T., ; + RecordSource = "tnote", ; + Top = 11, ; + Width = 553, ; + COLUMN1.BackColor = 240,240,240, ; + COLUMN1.ControlSource = "NR_NOTA", ; + COLUMN1.FontName = "Arial Narrow", ; + COLUMN1.Header1.Caption = "Nr.", ; + COLUMN1.Header1.FontName = "Arial Narrow", ; + COLUMN1.Header1.Name = "Header1", ; + COLUMN1.Name = "COLUMN1", ; + COLUMN1.ReadOnly = .T., ; + COLUMN1.Text1.BackColor = 240,240,240, ; + COLUMN1.Text1.FontName = "Arial Narrow", ; + COLUMN1.Text1.Name = "Text1", ; + COLUMN1.Text1.ReadOnly = .T., ; + COLUMN1.Width = 24, ; + Column2.BackColor = 240,240,240, ; + Column2.ControlSource = "x2", ; + Column2.CurrentControl = "Combo1", ; + Column2.FontName = "Arial Narrow", ; + Column2.Name = "Column2", ; + Column2.ReadOnly = .F., ; + Column2.Sparse = .F., ; + Column3.BackColor = 240,240,240, ; + Column3.ControlSource = "x3", ; + Column3.CurrentControl = "Combogrid1", ; + Column3.FontName = "Arial Narrow", ; + Column3.Name = "Column3", ; + Column3.ReadOnly = .F., ; + Column3.Sparse = .F., ; + Column4.BackColor = 240,240,240, ; + Column4.ControlSource = "x4", ; + Column4.CurrentControl = "Combogrid1", ; + Column4.FontName = "Arial Narrow", ; + Column4.Name = "Column4", ; + Column4.ReadOnly = .F., ; + Column4.Sparse = .F., ; + Column5.BackColor = 240,240,240, ; + Column5.ControlSource = "x5", ; + Column5.CurrentControl = "Combogrid1", ; + Column5.DynamicBackColor = "iif(y5,rgb(255,255,255),rgb(240,240,240))", ; + Column5.FontName = "Arial Narrow", ; + Column5.Name = "Column5", ; + Column5.ReadOnly = .F., ; + Column5.Sparse = .F., ; + Column6.BackColor = 240,240,240, ; + Column6.ControlSource = "x6", ; + Column6.CurrentControl = "Combogrid1", ; + Column6.FontName = "Arial Narrow", ; + Column6.Name = "Column6", ; + Column6.ReadOnly = .F., ; + Column6.Sparse = .F., ; + Column7.BackColor = 240,240,240, ; + Column7.ControlSource = "x25", ; + Column7.CurrentControl = "Combogrid1", ; + Column7.DynamicBackColor = "iif(y25,rgb(255,255,255),rgb(240,240,240))", ; + Column7.FontName = "Arial Narrow", ; + Column7.Name = "Column7", ; + Column7.ReadOnly = .F., ; + Column7.Sparse = .F., ; + Column8.BackColor = 240,240,240, ; + Column8.ColumnOrder = 9, ; + Column8.ControlSource = "x26", ; + Column8.CurrentControl = "Combogrid1", ; + Column8.DynamicBackColor = "iif(y26,rgb(255,255,255),rgb(240,240,240))", ; + Column8.FontName = "Arial Narrow", ; + Column8.Name = "Column8", ; + Column8.ReadOnly = .F., ; + Column8.Sparse = .F., ; + Column9.BackColor = 240,240,240, ; + Column9.ColumnOrder = 8, ; + Column9.ControlSource = "x28", ; + Column9.CurrentControl = "Combogrid1", ; + Column9.DynamicBackColor = "iif(y28,rgb(255,255,255),rgb(240,240,240))", ; + Column9.FontName = "Arial Narrow", ; + Column9.Name = "Column9", ; + Column9.ReadOnly = .F., ; + Column9.Sparse = .F., ; + Column9.Width = 75 + *< END OBJECT: ClassLib="baza.vcx" BaseClass="grid" /> + + ADD OBJECT 'REPARTIZARE.Pageframe1.Page2.Gridb1.Column2.Combo1' AS combobox WITH ; + BorderStyle = 0, ; + BoundColumn = 2, ; + FontName = "Arial Narrow", ; + Height = 24, ; + Left = 24, ; + Name = "Combo1", ; + ReadOnly = .F., ; + RowSource = "select label_item,var_item from xitems where inlist(id_item,2,-1) order by id_item into cursor c2", ; + RowSourceType = 3, ; + Style = 2, ; + Top = 23, ; + Width = 100 + *< END OBJECT: BaseClass="combobox" /> + + ADD OBJECT 'REPARTIZARE.Pageframe1.Page2.Gridb1.Column2.Header1' AS header WITH ; + Caption = "Fel document", ; + FontName = "Arial Narrow", ; + Name = "Header1" + *< END OBJECT: BaseClass="header" /> + + ADD OBJECT 'REPARTIZARE.Pageframe1.Page2.Gridb1.Column2.Text1' AS textbox WITH ; + BackColor = 240,240,240, ; + BorderStyle = 0, ; + FontName = "Arial Narrow", ; + ForeColor = 0,0,0, ; + Margin = 0, ; + Name = "Text1" + *< END OBJECT: BaseClass="textbox" /> + + ADD OBJECT 'REPARTIZARE.Pageframe1.Page2.Gridb1.Column3.Combogrid1' AS combogrid WITH ; + BoundColumn = 2, ; + Left = 44, ; + Name = "Combogrid1", ; + RowSource = "select label_item,var_item from xitems where inlist(id_item,3,-1) order by id_item into cursor c3", ; + RowSourceType = 3, ; + Top = 35 + *< END OBJECT: ClassLib="baza.vcx" BaseClass="combobox" /> + + ADD OBJECT 'REPARTIZARE.Pageframe1.Page2.Gridb1.Column3.Header1' AS header WITH ; + Caption = "Data inregistrarii", ; + FontName = "Arial Narrow", ; + Name = "Header1" + *< END OBJECT: BaseClass="header" /> + + ADD OBJECT 'REPARTIZARE.Pageframe1.Page2.Gridb1.Column3.Text1' AS textbox WITH ; + BackColor = 240,240,240, ; + BorderStyle = 0, ; + FontName = "Arial Narrow", ; + ForeColor = 0,0,0, ; + Margin = 0, ; + Name = "Text1", ; + ReadOnly = .F. + *< END OBJECT: BaseClass="textbox" /> + + ADD OBJECT 'REPARTIZARE.Pageframe1.Page2.Gridb1.Column4.Combogrid1' AS combogrid WITH ; + BoundColumn = 2, ; + Left = 40, ; + Name = "Combogrid1", ; + RowSource = "select label_item,var_item from xitems where inlist(id_item,4,-1) order by id_item into cursor c4", ; + RowSourceType = 3, ; + Top = 23 + *< END OBJECT: ClassLib="baza.vcx" BaseClass="combobox" /> + + ADD OBJECT 'REPARTIZARE.Pageframe1.Page2.Gridb1.Column4.Header1' AS header WITH ; + Caption = "Data document", ; + FontName = "Arial Narrow", ; + Name = "Header1" + *< END OBJECT: BaseClass="header" /> + + ADD OBJECT 'REPARTIZARE.Pageframe1.Page2.Gridb1.Column4.Text1' AS textbox WITH ; + BackColor = 240,240,240, ; + BorderStyle = 0, ; + FontName = "Arial Narrow", ; + ForeColor = 0,0,0, ; + Margin = 0, ; + Name = "Text1", ; + ReadOnly = .F. + *< END OBJECT: BaseClass="textbox" /> + + ADD OBJECT 'REPARTIZARE.Pageframe1.Page2.Gridb1.Column5.Combogrid1' AS combogrid WITH ; + BoundColumn = 2, ; + ControlSource = "x5", ; + Left = 48, ; + Name = "Combogrid1", ; + RowSource = "select label_item,var_item from xitems where inlist(id_item,5,-1) order by id_item into cursor c5", ; + RowSourceType = 3, ; + Top = 35 + *< END OBJECT: ClassLib="baza.vcx" BaseClass="combobox" /> + + ADD OBJECT 'REPARTIZARE.Pageframe1.Page2.Gridb1.Column5.Header1' AS header WITH ; + Caption = "Data scadenta", ; + FontName = "Arial Narrow", ; + Name = "Header1" + *< END OBJECT: BaseClass="header" /> + + ADD OBJECT 'REPARTIZARE.Pageframe1.Page2.Gridb1.Column5.Text1' AS textbox WITH ; + BackColor = 240,240,240, ; + BorderStyle = 0, ; + FontName = "Arial Narrow", ; + ForeColor = 0,0,0, ; + Margin = 0, ; + Name = "Text1", ; + ReadOnly = .F. + *< END OBJECT: BaseClass="textbox" /> + + ADD OBJECT 'REPARTIZARE.Pageframe1.Page2.Gridb1.Column6.Combogrid1' AS combogrid WITH ; + BoundColumn = 2, ; + Left = 32, ; + Name = "Combogrid1", ; + RowSource = "select label_item,var_item from xitems where inlist(id_item,6,31,-1) order by id_item into cursor c6", ; + RowSourceType = 3, ; + Top = 35 + *< END OBJECT: ClassLib="baza.vcx" BaseClass="combobox" /> + + ADD OBJECT 'REPARTIZARE.Pageframe1.Page2.Gridb1.Column6.Header1' AS header WITH ; + Caption = "Nr. document", ; + FontName = "Arial Narrow", ; + Name = "Header1" + *< END OBJECT: BaseClass="header" /> + + ADD OBJECT 'REPARTIZARE.Pageframe1.Page2.Gridb1.Column6.Text1' AS textbox WITH ; + BackColor = 240,240,240, ; + BorderStyle = 0, ; + FontName = "Arial Narrow", ; + ForeColor = 0,0,0, ; + Margin = 0, ; + Name = "Text1", ; + ReadOnly = .F. + *< END OBJECT: BaseClass="textbox" /> + + ADD OBJECT 'REPARTIZARE.Pageframe1.Page2.Gridb1.Column7.Combogrid1' AS combogrid WITH ; + BoundColumn = 2, ; + Left = 28, ; + Name = "Combogrid1", ; + ReadOnly = .F., ; + RowSource = "select label_item,var_item from xitems where inlist(id_item,6,31,52,61,-1) order by id_item into cursor c25", ; + RowSourceType = 3, ; + Top = 23 + *< END OBJECT: ClassLib="baza.vcx" BaseClass="combobox" /> + + ADD OBJECT 'REPARTIZARE.Pageframe1.Page2.Gridb1.Column7.Header1' AS header WITH ; + Caption = "Nr. doc. platit", ; + FontName = "Arial Narrow", ; + Name = "Header1" + *< END OBJECT: BaseClass="header" /> + + ADD OBJECT 'REPARTIZARE.Pageframe1.Page2.Gridb1.Column7.Text1' AS textbox WITH ; + BackColor = 240,240,240, ; + BorderStyle = 0, ; + FontName = "Arial Narrow", ; + ForeColor = 0,0,0, ; + Margin = 0, ; + Name = "Text1", ; + ReadOnly = .F. + *< END OBJECT: BaseClass="textbox" /> + + ADD OBJECT 'REPARTIZARE.Pageframe1.Page2.Gridb1.Column8.Combogrid1' AS combogrid WITH ; + BoundColumn = 2, ; + Left = 36, ; + Name = "Combogrid1", ; + RowSource = "select label_item,var_item from xitems where inlist(id_item,6,26,43,-1) order by id_item into cursor c26", ; + RowSourceType = 3, ; + Top = 23 + *< END OBJECT: ClassLib="baza.vcx" BaseClass="combobox" /> + + ADD OBJECT 'REPARTIZARE.Pageframe1.Page2.Gridb1.Column8.Header1' AS header WITH ; + Caption = "Nr. NIR/BON", ; + FontName = "Arial Narrow", ; + Name = "Header1" + *< END OBJECT: BaseClass="header" /> + + ADD OBJECT 'REPARTIZARE.Pageframe1.Page2.Gridb1.Column8.Text1' AS textbox WITH ; + BackColor = 240,240,240, ; + BorderStyle = 0, ; + FontName = "Arial Narrow", ; + ForeColor = 0,0,0, ; + Margin = 0, ; + Name = "Text1", ; + ReadOnly = .F. + *< END OBJECT: BaseClass="textbox" /> + + ADD OBJECT 'REPARTIZARE.Pageframe1.Page2.Gridb1.Column9.Combogrid1' AS combobox WITH ; + BorderStyle = 0, ; + BoundColumn = 2, ; + FontName = "Arial Narrow", ; + Height = 24, ; + Left = 43, ; + Name = "Combogrid1", ; + RowSource = "select label_item,var_item from xitems where inlist(id_item,6,61,60,62,-1) order by id_item into cursor c28", ; + RowSourceType = 3, ; + Style = 2, ; + Top = 30, ; + Width = 100 + *< END OBJECT: BaseClass="combobox" /> + + ADD OBJECT 'REPARTIZARE.Pageframe1.Page2.Gridb1.Column9.Header1' AS header WITH ; + Caption = "Nr. doc. incasat", ; + FontName = "Arial Narrow", ; + Name = "Header1" + *< END OBJECT: BaseClass="header" /> + + ADD OBJECT 'REPARTIZARE.Pageframe1.Page2.Gridb1.Column9.Text1' AS textbox WITH ; + BackColor = 240,240,240, ; + BorderStyle = 0, ; + ForeColor = 0,0,0, ; + Margin = 0, ; + Name = "Text1" + *< END OBJECT: BaseClass="textbox" /> + + ADD OBJECT 'REPARTIZARE.Pageframe1.Page3.Gridb1' AS gridb WITH ; + BackColor = 214,214,214, ; + ColumnCount = 11, ; + FontName = "Arial Narrow", ; + GridLineColor = 255,255,255, ; + Height = 298, ; + Left = 10, ; + Name = "Gridb1", ; + Panel = 1, ; + ReadOnly = .F., ; + RecordMark = .T., ; + RecordSource = "tnote", ; + Top = 10, ; + Width = 553, ; + COLUMN1.BackColor = 214,214,214, ; + COLUMN1.ControlSource = "NR_NOTA", ; + COLUMN1.FontName = "Arial Narrow", ; + COLUMN1.HEADER1.Caption = "Nr.", ; + COLUMN1.HEADER1.FontName = "Arial Narrow", ; + COLUMN1.HEADER1.Name = "HEADER1", ; + COLUMN1.Name = "COLUMN1", ; + COLUMN1.ReadOnly = .T., ; + COLUMN1.TEXT1.BackColor = 214,214,214, ; + COLUMN1.TEXT1.FontName = "Arial Narrow", ; + COLUMN1.TEXT1.Name = "TEXT1", ; + COLUMN1.TEXT1.ReadOnly = .T., ; + COLUMN1.Width = 24, ; + Column2.BackColor = 214,214,214, ; + Column2.ControlSource = "x7", ; + Column2.CurrentControl = "Combo1", ; + Column2.FontName = "Arial Narrow", ; + Column2.Name = "Column2", ; + Column2.ReadOnly = .F., ; + Column2.Sparse = .F., ; + Column3.BackColor = 214,214,214, ; + Column3.ControlSource = "x8", ; + Column3.CurrentControl = "Combogrid1", ; + Column3.FontName = "Arial Narrow", ; + Column3.Name = "Column3", ; + Column3.ReadOnly = .F., ; + Column3.Sparse = .F., ; + Column4.BackColor = 214,214,214, ; + Column4.ControlSource = "x9", ; + Column4.CurrentControl = "Combogrid1", ; + Column4.FontName = "Arial Narrow", ; + Column4.Name = "Column4", ; + Column4.ReadOnly = .F., ; + Column4.Sparse = .F., ; + Column5.BackColor = 214,214,214, ; + Column5.ControlSource = "x10", ; + Column5.CurrentControl = "Combogrid1", ; + Column5.DynamicBackColor = "", ; + Column5.FontName = "Arial Narrow", ; + Column5.Name = "Column5", ; + Column5.ReadOnly = .F., ; + Column5.Sparse = .F., ; + Column6.BackColor = 214,214,214, ; + Column6.ColumnOrder = 9, ; + Column6.ControlSource = "x12", ; + Column6.CurrentControl = "Combogrid1", ; + Column6.FontName = "Arial Narrow", ; + Column6.Name = "Column6", ; + Column6.ReadOnly = .F., ; + Column6.Sparse = .F., ; + Column7.BackColor = 214,214,214, ; + Column7.ColumnOrder = 6, ; + Column7.ControlSource = "x15", ; + Column7.CurrentControl = "Combogrid1", ; + Column7.DynamicBackColor = "", ; + Column7.FontName = "Arial Narrow", ; + Column7.Name = "Column7", ; + Column7.ReadOnly = .F., ; + Column7.Sparse = .F., ; + Column8.BackColor = 214,214,214, ; + Column8.ColumnOrder = 7, ; + Column8.ControlSource = "x13", ; + Column8.CurrentControl = "Combogrid1", ; + Column8.DynamicBackColor = "", ; + Column8.FontName = "Arial Narrow", ; + Column8.Name = "Column8", ; + Column8.ReadOnly = .F., ; + Column8.Sparse = .F., ; + Column9.BackColor = 214,214,214, ; + Column9.ColumnOrder = 8, ; + Column9.ControlSource = "x14", ; + Column9.CurrentControl = "Combogrid1", ; + Column9.FontName = "Arial Narrow", ; + Column9.Name = "Column9", ; + Column9.ReadOnly = .F., ; + Column9.Sparse = .F., ; + Column10.BackColor = 214,214,214, ; + Column10.ControlSource = "x16", ; + Column10.CurrentControl = "Combogrid1", ; + Column10.FontName = "Arial Narrow", ; + Column10.Name = "Column10", ; + Column10.ReadOnly = .F., ; + Column10.Sparse = .F., ; + Column11.BackColor = 214,214,214, ; + Column11.ControlSource = "x27", ; + Column11.CurrentControl = "Combogrid1", ; + Column11.FontName = "Arial Narrow", ; + Column11.Name = "Column11", ; + Column11.ReadOnly = .F., ; + Column11.Sparse = .F. + *< END OBJECT: ClassLib="baza.vcx" BaseClass="grid" /> + + ADD OBJECT 'REPARTIZARE.Pageframe1.Page3.Gridb1.Column10.Combogrid1' AS combogrid WITH ; + BackColor = 214,214,214, ; + BoundColumn = 2, ; + Left = 24, ; + Name = "Combogrid1", ; + RowSource = "select label_item,var_item from xitems where inlist(id_item,16,-1) order by id_item into cursor c16", ; + RowSourceType = 3, ; + Top = 31 + *< END OBJECT: ClassLib="baza.vcx" BaseClass="combobox" /> + + ADD OBJECT 'REPARTIZARE.Pageframe1.Page3.Gridb1.Column10.Header1' AS header WITH ; + Caption = "Sectia", ; + FontName = "Arial Narrow", ; + Name = "Header1" + *< END OBJECT: BaseClass="header" /> + + ADD OBJECT 'REPARTIZARE.Pageframe1.Page3.Gridb1.Column10.Text1' AS textbox WITH ; + BackColor = 214,214,214, ; + BorderStyle = 0, ; + FontName = "Arial Narrow", ; + ForeColor = 0,0,0, ; + Margin = 0, ; + Name = "Text1" + *< END OBJECT: BaseClass="textbox" /> + + ADD OBJECT 'REPARTIZARE.Pageframe1.Page3.Gridb1.Column11.Combogrid1' AS combogrid WITH ; + BackColor = 214,214,214, ; + BoundColumn = 2, ; + Left = 32, ; + Name = "Combogrid1", ; + RowSource = "select label_item,var_item from xitems where inlist(id_item,27,-1) order by id_item into cursor c27", ; + RowSourceType = 3, ; + Top = 31 + *< END OBJECT: ClassLib="baza.vcx" BaseClass="combobox" /> + + ADD OBJECT 'REPARTIZARE.Pageframe1.Page3.Gridb1.Column11.Header1' AS header WITH ; + Caption = "Cod fiscal", ; + FontName = "Arial Narrow", ; + Name = "Header1" + *< END OBJECT: BaseClass="header" /> + + ADD OBJECT 'REPARTIZARE.Pageframe1.Page3.Gridb1.Column11.Text1' AS textbox WITH ; + BackColor = 214,214,214, ; + BorderStyle = 0, ; + FontName = "Arial Narrow", ; + ForeColor = 0,0,0, ; + Margin = 0, ; + Name = "Text1" + *< END OBJECT: BaseClass="textbox" /> + + ADD OBJECT 'REPARTIZARE.Pageframe1.Page3.Gridb1.Column2.Combo1' AS combobox WITH ; + BackColor = 214,214,214, ; + BorderStyle = 0, ; + BoundColumn = 2, ; + FontName = "Arial Narrow", ; + Height = 24, ; + Left = 24, ; + Name = "Combo1", ; + ReadOnly = .F., ; + RowSource = "select label_item,var_item from xitems where inlist(id_item,7,35,36,37,38,41,42,45,46,59,65,-1) order by id_item into cursor c7", ; + RowSourceType = 3, ; + Style = 2, ; + Top = 23, ; + Width = 100 + *< END OBJECT: BaseClass="combobox" /> + + ADD OBJECT 'REPARTIZARE.Pageframe1.Page3.Gridb1.Column2.Header1' AS header WITH ; + Caption = "Explicatia 1", ; + FontName = "Arial Narrow", ; + Name = "Header1" + *< END OBJECT: BaseClass="header" /> + + ADD OBJECT 'REPARTIZARE.Pageframe1.Page3.Gridb1.Column2.Text1' AS textbox WITH ; + BackColor = 240,240,240, ; + BorderStyle = 0, ; + FontName = "Arial Narrow", ; + ForeColor = 0,0,0, ; + Margin = 0, ; + Name = "Text1" + *< END OBJECT: BaseClass="textbox" /> + + ADD OBJECT 'REPARTIZARE.Pageframe1.Page3.Gridb1.Column3.Combogrid1' AS combogrid WITH ; + BackColor = 214,214,214, ; + BoundColumn = 2, ; + FontName = "Arial Narrow", ; + Left = 44, ; + Name = "Combogrid1", ; + RowSource = "select label_item,var_item from xitems where inlist(id_item,8,40,53,-1) order by id_item into cursor c8", ; + RowSourceType = 3, ; + Top = 35 + *< END OBJECT: ClassLib="baza.vcx" BaseClass="combobox" /> + + ADD OBJECT 'REPARTIZARE.Pageframe1.Page3.Gridb1.Column3.Header1' AS header WITH ; + Caption = "Explicatia 2", ; + FontName = "Arial Narrow", ; + Name = "Header1" + *< END OBJECT: BaseClass="header" /> + + ADD OBJECT 'REPARTIZARE.Pageframe1.Page3.Gridb1.Column3.Text1' AS textbox WITH ; + BackColor = 240,240,240, ; + BorderStyle = 0, ; + FontName = "Arial Narrow", ; + ForeColor = 0,0,0, ; + Margin = 0, ; + Name = "Text1", ; + ReadOnly = .F. + *< END OBJECT: BaseClass="textbox" /> + + ADD OBJECT 'REPARTIZARE.Pageframe1.Page3.Gridb1.Column4.Combogrid1' AS combogrid WITH ; + BackColor = 214,214,214, ; + BoundColumn = 2, ; + FontName = "Arial Narrow", ; + Left = 40, ; + Name = "Combogrid1", ; + RowSource = "select label_item,var_item from xitems where inlist(id_item,9,44,47,-1) order by id_item into cursor c9", ; + RowSourceType = 3, ; + Top = 23 + *< END OBJECT: ClassLib="baza.vcx" BaseClass="combobox" /> + + ADD OBJECT 'REPARTIZARE.Pageframe1.Page3.Gridb1.Column4.Header1' AS header WITH ; + Caption = "Explicatia 3", ; + FontName = "Arial Narrow", ; + Name = "Header1" + *< END OBJECT: BaseClass="header" /> + + ADD OBJECT 'REPARTIZARE.Pageframe1.Page3.Gridb1.Column4.Text1' AS textbox WITH ; + BackColor = 240,240,240, ; + BorderStyle = 0, ; + FontName = "Arial Narrow", ; + ForeColor = 0,0,0, ; + Margin = 0, ; + Name = "Text1", ; + ReadOnly = .F. + *< END OBJECT: BaseClass="textbox" /> + + ADD OBJECT 'REPARTIZARE.Pageframe1.Page3.Gridb1.Column5.Combogrid1' AS combogrid WITH ; + BackColor = 214,214,214, ; + BoundColumn = 2, ; + ControlSource = "x5", ; + FontName = "Arial Narrow", ; + Left = 48, ; + Name = "Combogrid1", ; + RowSource = "select label_item,var_item from xitems where inlist(id_item,10,39,51,54,-1) order by id_item into cursor c10", ; + RowSourceType = 3, ; + Top = 35 + *< END OBJECT: ClassLib="baza.vcx" BaseClass="combobox" /> + + ADD OBJECT 'REPARTIZARE.Pageframe1.Page3.Gridb1.Column5.Header1' AS header WITH ; + Caption = "Explicatia 4", ; + FontName = "Arial Narrow", ; + Name = "Header1" + *< END OBJECT: BaseClass="header" /> + + ADD OBJECT 'REPARTIZARE.Pageframe1.Page3.Gridb1.Column5.Text1' AS textbox WITH ; + BackColor = 240,240,240, ; + BorderStyle = 0, ; + FontName = "Arial Narrow", ; + ForeColor = 0,0,0, ; + Margin = 0, ; + Name = "Text1", ; + ReadOnly = .F. + *< END OBJECT: BaseClass="textbox" /> + + ADD OBJECT 'REPARTIZARE.Pageframe1.Page3.Gridb1.Column6.Combogrid1' AS combogrid WITH ; + BackColor = 214,214,214, ; + BoundColumn = 2, ; + FontName = "Arial Narrow", ; + Left = 32, ; + Name = "Combogrid1", ; + RowSource = "select label_item,var_item from xitems where inlist(id_item,12,49,50,-1) order by id_item into cursor c12", ; + RowSourceType = 3, ; + Top = 35 + *< END OBJECT: ClassLib="baza.vcx" BaseClass="combobox" /> + + ADD OBJECT 'REPARTIZARE.Pageframe1.Page3.Gridb1.Column6.Header1' AS header WITH ; + Caption = "Explicatia 6", ; + FontName = "Arial Narrow", ; + Name = "Header1" + *< END OBJECT: BaseClass="header" /> + + ADD OBJECT 'REPARTIZARE.Pageframe1.Page3.Gridb1.Column6.Text1' AS textbox WITH ; + BackColor = 240,240,240, ; + BorderStyle = 0, ; + FontName = "Arial Narrow", ; + ForeColor = 0,0,0, ; + Margin = 0, ; + Name = "Text1", ; + ReadOnly = .F. + *< END OBJECT: BaseClass="textbox" /> + + ADD OBJECT 'REPARTIZARE.Pageframe1.Page3.Gridb1.Column7.Combogrid1' AS combogrid WITH ; + BackColor = 214,214,214, ; + BoundColumn = 2, ; + FontName = "Arial Narrow", ; + Left = 28, ; + Name = "Combogrid1", ; + RowSource = "select label_item,var_item from xitems where inlist(id_item,15,-1) order by id_item into cursor c15", ; + RowSourceType = 3, ; + Top = 23 + *< END OBJECT: ClassLib="baza.vcx" BaseClass="combobox" /> + + ADD OBJECT 'REPARTIZARE.Pageframe1.Page3.Gridb1.Column7.Header1' AS header WITH ; + Caption = "Contract/Lucrare", ; + FontName = "Arial Narrow", ; + Name = "Header1" + *< END OBJECT: BaseClass="header" /> + + ADD OBJECT 'REPARTIZARE.Pageframe1.Page3.Gridb1.Column7.Text1' AS textbox WITH ; + BackColor = 240,240,240, ; + BorderStyle = 0, ; + FontName = "Arial Narrow", ; + ForeColor = 0,0,0, ; + Margin = 0, ; + Name = "Text1", ; + ReadOnly = .F. + *< END OBJECT: BaseClass="textbox" /> + + ADD OBJECT 'REPARTIZARE.Pageframe1.Page3.Gridb1.Column8.Combogrid1' AS combogrid WITH ; + BackColor = 214,214,214, ; + BoundColumn = 2, ; + FontName = "Arial Narrow", ; + Left = 36, ; + Name = "Combogrid1", ; + RowSource = "select label_item,var_item from xitems where inlist(id_item,13,-1) order by id_item into cursor c13", ; + RowSourceType = 3, ; + Top = 23 + *< END OBJECT: ClassLib="baza.vcx" BaseClass="combobox" /> + + ADD OBJECT 'REPARTIZARE.Pageframe1.Page3.Gridb1.Column8.Header1' AS header WITH ; + Caption = "Responsabil", ; + FontName = "Arial Narrow", ; + Name = "Header1" + *< END OBJECT: BaseClass="header" /> + + ADD OBJECT 'REPARTIZARE.Pageframe1.Page3.Gridb1.Column8.Text1' AS textbox WITH ; + BackColor = 240,240,240, ; + BorderStyle = 0, ; + FontName = "Arial Narrow", ; + ForeColor = 0,0,0, ; + Margin = 0, ; + Name = "Text1", ; + ReadOnly = .F. + *< END OBJECT: BaseClass="textbox" /> + + ADD OBJECT 'REPARTIZARE.Pageframe1.Page3.Gridb1.Column9.Combogrid1' AS combogrid WITH ; + BackColor = 214,214,214, ; + BoundColumn = 2, ; + Left = 40, ; + Name = "Combogrid1", ; + RowSource = "select label_item,var_item from xitems where inlist(id_item,14,63,-1) order by id_item into cursor c14", ; + RowSourceType = 3, ; + Top = 31 + *< END OBJECT: ClassLib="baza.vcx" BaseClass="combobox" /> + + ADD OBJECT 'REPARTIZARE.Pageframe1.Page3.Gridb1.Column9.Header1' AS header WITH ; + Caption = "Cheltuiala", ; + FontName = "Arial Narrow", ; + Name = "Header1" + *< END OBJECT: BaseClass="header" /> + + ADD OBJECT 'REPARTIZARE.Pageframe1.Page3.Gridb1.Column9.Text1' AS textbox WITH ; + BackColor = 214,214,214, ; + BorderStyle = 0, ; + FontName = "Arial Narrow", ; + ForeColor = 0,0,0, ; + Margin = 0, ; + Name = "Text1" + *< END OBJECT: BaseClass="textbox" /> + + ADD OBJECT 'REPARTIZARE.Pageframe1.Page4.Gridb1' AS gridb WITH ; + BackColor = 192,192,192, ; + ColumnCount = 6, ; + FontName = "Arial Narrow", ; + GridLineColor = 255,255,255, ; + Height = 298, ; + Left = 5, ; + Name = "Gridb1", ; + Panel = 1, ; + ReadOnly = .F., ; + RecordMark = .T., ; + RecordSource = "tnote", ; + Top = 6, ; + Width = 553, ; + COLUMN1.BackColor = 192,192,192, ; + COLUMN1.ControlSource = "NR_NOTA", ; + COLUMN1.FontName = "Arial Narrow", ; + COLUMN1.HEADER1.Caption = "Nr.", ; + COLUMN1.HEADER1.FontName = "Arial Narrow", ; + COLUMN1.HEADER1.Name = "HEADER1", ; + COLUMN1.Name = "COLUMN1", ; + COLUMN1.ReadOnly = .T., ; + COLUMN1.TEXT1.BackColor = 192,192,192, ; + COLUMN1.TEXT1.FontName = "Arial Narrow", ; + COLUMN1.TEXT1.Name = "TEXT1", ; + COLUMN1.TEXT1.ReadOnly = .T., ; + COLUMN1.Width = 24, ; + Column2.BackColor = 192,192,192, ; + Column2.ControlSource = "x21", ; + Column2.CurrentControl = "Combo1", ; + Column2.FontName = "Arial Narrow", ; + Column2.Name = "Column2", ; + Column2.ReadOnly = .F., ; + Column2.Sparse = .F., ; + Column2.Width = 94, ; + Column3.BackColor = 192,192,192, ; + Column3.ColumnOrder = 4, ; + Column3.ControlSource = "x22", ; + Column3.CurrentControl = "Combogrid1", ; + Column3.FontName = "Arial Narrow", ; + Column3.Name = "Column3", ; + Column3.ReadOnly = .F., ; + Column3.Sparse = .F., ; + Column3.Width = 83, ; + Column4.BackColor = 192,192,192, ; + Column4.ColumnOrder = 5, ; + Column4.ControlSource = "x23", ; + Column4.CurrentControl = "Combogrid1", ; + Column4.FontName = "Arial Narrow", ; + Column4.Name = "Column4", ; + Column4.ReadOnly = .F., ; + Column4.Sparse = .F., ; + Column5.BackColor = 192,192,192, ; + Column5.ColumnOrder = 6, ; + Column5.ControlSource = "x11", ; + Column5.CurrentControl = "Combogrid1", ; + Column5.DynamicBackColor = "", ; + Column5.FontName = "Arial Narrow", ; + Column5.Name = "Column5", ; + Column5.ReadOnly = .F., ; + Column5.Sparse = .F., ; + Column5.Width = 103, ; + Column6.BackColor = 192,192,192, ; + Column6.ColumnOrder = 3, ; + Column6.ControlSource = "x24", ; + Column6.CurrentControl = "Combogrid1", ; + Column6.FontName = "Arial Narrow", ; + Column6.Name = "Column6", ; + Column6.ReadOnly = .F., ; + Column6.Sparse = .F., ; + Column6.Width = 95 + *< END OBJECT: ClassLib="baza.vcx" BaseClass="grid" /> + + ADD OBJECT 'REPARTIZARE.Pageframe1.Page4.Gridb1.Column2.Combo1' AS combobox WITH ; + BackColor = 192,192,192, ; + BorderStyle = 0, ; + BoundColumn = 2, ; + FontName = "Arial Narrow", ; + Height = 24, ; + Left = 24, ; + Name = "Combo1", ; + ReadOnly = .F., ; + RowSource = "select label_item,var_item from xitems where inlist(id_item,21,24,28,29,30,32,33,34,57,58,-1) order by id_item into cursor c21", ; + RowSourceType = 3, ; + Style = 2, ; + Top = 23, ; + Width = 100 + *< END OBJECT: BaseClass="combobox" /> + + ADD OBJECT 'REPARTIZARE.Pageframe1.Page4.Gridb1.Column2.Header1' AS header WITH ; + Caption = "Suma ", ; + FontName = "Arial Narrow", ; + Name = "Header1" + *< END OBJECT: BaseClass="header" /> + + ADD OBJECT 'REPARTIZARE.Pageframe1.Page4.Gridb1.Column2.Text1' AS textbox WITH ; + BackColor = 240,240,240, ; + BorderStyle = 0, ; + FontName = "Arial Narrow", ; + ForeColor = 0,0,0, ; + Margin = 0, ; + Name = "Text1" + *< END OBJECT: BaseClass="textbox" /> + + ADD OBJECT 'REPARTIZARE.Pageframe1.Page4.Gridb1.Column3.Combogrid1' AS combogrid WITH ; + BackColor = 192,192,192, ; + BoundColumn = 2, ; + Left = 44, ; + Name = "Combogrid1", ; + RowSource = "select label_item,var_item from xitems where inlist(id_item,22,48,-1) order by id_item into cursor c22", ; + RowSourceType = 3, ; + Top = 35 + *< END OBJECT: ClassLib="baza.vcx" BaseClass="combobox" /> + + ADD OBJECT 'REPARTIZARE.Pageframe1.Page4.Gridb1.Column3.Header1' AS header WITH ; + Caption = "Suma in valuta", ; + FontName = "Arial Narrow", ; + Name = "Header1" + *< END OBJECT: BaseClass="header" /> + + ADD OBJECT 'REPARTIZARE.Pageframe1.Page4.Gridb1.Column3.Text1' AS textbox WITH ; + BackColor = 240,240,240, ; + BorderStyle = 0, ; + FontName = "Arial Narrow", ; + ForeColor = 0,0,0, ; + Margin = 0, ; + Name = "Text1", ; + ReadOnly = .F. + *< END OBJECT: BaseClass="textbox" /> + + ADD OBJECT 'REPARTIZARE.Pageframe1.Page4.Gridb1.Column4.Combogrid1' AS combogrid WITH ; + BackColor = 192,192,192, ; + BoundColumn = 2, ; + Left = 40, ; + Name = "Combogrid1", ; + RowSource = "select label_item,var_item from xitems where inlist(id_item,23,55,56,-1) order by id_item into cursor c23", ; + RowSourceType = 3, ; + Top = 23 + *< END OBJECT: ClassLib="baza.vcx" BaseClass="combobox" /> + + ADD OBJECT 'REPARTIZARE.Pageframe1.Page4.Gridb1.Column4.Header1' AS header WITH ; + Caption = "Curs valutar", ; + FontName = "Arial Narrow", ; + Name = "Header1" + *< END OBJECT: BaseClass="header" /> + + ADD OBJECT 'REPARTIZARE.Pageframe1.Page4.Gridb1.Column4.Text1' AS textbox WITH ; + BackColor = 240,240,240, ; + BorderStyle = 0, ; + FontName = "Arial Narrow", ; + ForeColor = 0,0,0, ; + Margin = 0, ; + Name = "Text1", ; + ReadOnly = .F. + *< END OBJECT: BaseClass="textbox" /> + + ADD OBJECT 'REPARTIZARE.Pageframe1.Page4.Gridb1.Column5.Combogrid1' AS combogrid WITH ; + BackColor = 192,192,192, ; + BoundColumn = 2, ; + ControlSource = "x5", ; + Left = 48, ; + Name = "Combogrid1", ; + RowSource = "select label_item,var_item from xitems where inlist(id_item,11,-1) order by id_item into cursor c11", ; + RowSourceType = 3, ; + Top = 35 + *< END OBJECT: ClassLib="baza.vcx" BaseClass="combobox" /> + + ADD OBJECT 'REPARTIZARE.Pageframe1.Page4.Gridb1.Column5.Header1' AS header WITH ; + Caption = "Numele valutei (Expl.5)", ; + FontName = "Arial Narrow", ; + Name = "Header1" + *< END OBJECT: BaseClass="header" /> + + ADD OBJECT 'REPARTIZARE.Pageframe1.Page4.Gridb1.Column5.Text1' AS textbox WITH ; + BackColor = 240,240,240, ; + BorderStyle = 0, ; + FontName = "Arial Narrow", ; + ForeColor = 0,0,0, ; + Margin = 0, ; + Name = "Text1", ; + ReadOnly = .F. + *< END OBJECT: BaseClass="textbox" /> + + ADD OBJECT 'REPARTIZARE.Pageframe1.Page4.Gridb1.Column6.Combogrid1' AS combogrid WITH ; + BackColor = 192,192,192, ; + BoundColumn = 2, ; + Left = 32, ; + Name = "Combogrid1", ; + RowSource = "select label_item,var_item from xitems where inlist(id_item,24,-1) order by id_item into cursor c24", ; + RowSourceType = 3, ; + Top = 35 + *< END OBJECT: ClassLib="baza.vcx" BaseClass="combobox" /> + + ADD OBJECT 'REPARTIZARE.Pageframe1.Page4.Gridb1.Column6.Header1' AS header WITH ; + Caption = "Suma neimpozabila", ; + FontName = "Arial Narrow", ; + Name = "Header1" + *< END OBJECT: BaseClass="header" /> + + ADD OBJECT 'REPARTIZARE.Pageframe1.Page4.Gridb1.Column6.Text1' AS textbox WITH ; + BackColor = 240,240,240, ; + BorderStyle = 0, ; + FontName = "Arial Narrow", ; + ForeColor = 0,0,0, ; + Margin = 0, ; + Name = "Text1", ; + ReadOnly = .F. + *< END OBJECT: BaseClass="textbox" /> + + ADD OBJECT 'REPARTIZARE.Precedent1' AS precedent WITH ; + Left = 488, ; + Name = "Precedent1", ; + Top = 414, ; + Imbuton1.Height = 27, ; + Imbuton1.Name = "Imbuton1", ; + Imbuton1.Width = 27, ; + Command1.Name = "Command1" + *< END OBJECT: ClassLib="baza.vcx" BaseClass="container" /> + + ADD OBJECT 'REPARTIZARE.Renunt1' AS renunt WITH ; + Left = 522, ; + Name = "Renunt1", ; + Top = 414, ; + Imbuton1.Height = 30, ; + Imbuton1.Name = "Imbuton1", ; + Imbuton1.Width = 30, ; + Command1.Name = "Command1" + *< END OBJECT: ClassLib="baza.vcx" BaseClass="container" /> + + ADD OBJECT 'REPARTIZARE.Titlufrumos2' AS titlufrumos WITH ; + Caption = "Pasul 4 - Notele contabile si repartizarea explicatiilor", ; + Height = 19, ; + Left = 6, ; + Name = "Titlufrumos2", ; + Top = 18, ; + Width = 364 + *< END OBJECT: ClassLib="baza.vcx" BaseClass="label" /> + + ADD OBJECT 'REPARTIZARE.Urmator1' AS urmator WITH ; + Left = 556, ; + Name = "Urmator1", ; + Top = 414, ; + Imbuton1.Height = 26, ; + Imbuton1.Name = "Imbuton1", ; + Imbuton1.Width = 26, ; + Command1.Name = "Command1" + *< END OBJECT: ClassLib="baza.vcx" BaseClass="container" /> + + ADD OBJECT 'VERIFICARE' AS formtermin WITH ; + DoCreate = .T., ; + Height = 450, ; + Name = "VERIFICARE", ; + Visible = .F., ; + Width = 600, ; + Shape1.Height = 36, ; + Shape1.Left = 0, ; + Shape1.Name = "Shape1", ; + Shape1.Top = 0, ; + Shape1.Width = 612, ; + Terminat1.Command1.Name = "Command1", ; + Terminat1.Imbuton1.Height = 27, ; + Terminat1.Imbuton1.Name = "Imbuton1", ; + Terminat1.Imbuton1.Width = 26, ; + Terminat1.Left = 552, ; + Terminat1.Name = "Terminat1", ; + Terminat1.Top = 414, ; + TITLUFRUMOS1.Caption = "EDITAREA SETULUI DE NOTE CONTABILE", ; + TITLUFRUMOS1.Height = 16, ; + TITLUFRUMOS1.Left = 7, ; + TITLUFRUMOS1.Name = "TITLUFRUMOS1", ; + TITLUFRUMOS1.Top = -1, ; + TITLUFRUMOS1.Width = 364 + *< END OBJECT: ClassLib="baza.vcx" BaseClass="form" /> + + ADD OBJECT 'VERIFICARE.Edit1' AS editbox WITH ; + ControlSource = "TVERIF.ERORI", ; + FontName = "Comic Sans MS", ; + Height = 348, ; + Left = 12, ; + Name = "Edit1", ; + SpecialEffect = 2, ; + Top = 48, ; + Width = 576 + *< END OBJECT: BaseClass="editbox" /> + + ADD OBJECT 'VERIFICARE.Lineo2' AS lineo WITH ; + Height = 0, ; + Left = 12, ; + Name = "Lineo2", ; + Top = 407, ; + Width = 576 + *< END OBJECT: ClassLib="baza.vcx" BaseClass="line" /> + + ADD OBJECT 'VERIFICARE.Precedent1' AS precedent WITH ; + Left = 481, ; + Name = "Precedent1", ; + Top = 414, ; + Imbuton1.Height = 27, ; + Imbuton1.Name = "Imbuton1", ; + Imbuton1.Width = 27, ; + Command1.Name = "Command1" + *< END OBJECT: ClassLib="baza.vcx" BaseClass="container" /> + + ADD OBJECT 'VERIFICARE.Renunt1' AS renunt WITH ; + Left = 516, ; + Name = "Renunt1", ; + Top = 414, ; + Imbuton1.Height = 30, ; + Imbuton1.Name = "Imbuton1", ; + Imbuton1.Width = 30, ; + Command1.Name = "Command1" + *< END OBJECT: ClassLib="baza.vcx" BaseClass="container" /> + + ADD OBJECT 'VERIFICARE.Titlufrumos2' AS titlufrumos WITH ; + Caption = "Pasul 5 - Verificare", ; + Height = 20, ; + Left = 6, ; + Name = "Titlufrumos2", ; + Top = 18, ; + Width = 364 + *< END OBJECT: ClassLib="baza.vcx" BaseClass="label" /> + + PROCEDURE cerere_urmatorul + SELECT treq + LOCATE FOR id_item=-1 OR id_item=0 + IF FOUND() + AMESSAGEBOX('Completati elementul nou adaugat',0+48) + RETURN + ENDIF + + + LOCAL lnRaspuns + lnRaspuns = AMESSAGEBOX('Se recalculeaza distribuirea explicatiilor?',4+48) + IF THISFORMSET.e_nou + SELECT TNOTE + FOR I=1 TO 27 + N=ALLTRIM(STR(I)) + ZZ='REPL ALL y'+N+' WITH .F.' + &ZZ + * IF buton=1 + IF lnRaspuns = 6 + ZZ='REPL ALL X'+N+' WITH ""' + &ZZ + ENDIF + NEXT + + + SELECT treq + SCAN FOR 'x'$LOWER(x_item) + X=ALLTRIM(STRTRAN(x_item,'x','')) + Vv=VAR_ITEM + IF VAL(X)<=27 + SELECT TNOTE + ZZ='REPLACE all y'+X+' WITH .T.' + &ZZ + * IF buton=1 + IF lnRaspuns = 6 + ZZ='REPLACE all X'+X+' WITH "'+Vv+'"' + &ZZ + ENDIF + ENDIF + SELECT treq + ENDSCAN + ENDIF + + &&&pregatire griduri + SELECT TNOTE + GO TOP + g1=THISFORMSET.REPARTIZARE.pageframe1.page2.gridb1 + WITH g1 + .column2.READONLY=TNOTE.y2 + .column3.READONLY=TNOTE.y3 + .column4.READONLY=TNOTE.y4 + .column5.READONLY=TNOTE.y5 + .column6.READONLY=TNOTE.y6 + .column7.READONLY=TNOTE.y25 + .column8.READONLY=TNOTE.y26 + ENDWITH + + + + THISFORMSET.CERERE.VISIBLE=.F. + THISFORMSET.REPARTIZARE.VISIBLE=.T. + + ENDPROC + + PROCEDURE Load + SELECT a.nr_item,a.id_item,b.label_item,b.x_item,B.VAR_ITEM from xrequest a,xitems b ; + WHERE a.id_item=b.id_item AND a.id_set=m.id_set; + INTO TABLE &loc\&nfscurt\tempo\treq ORDER BY nr_item + + IF _tally=0 + SELECT id_item, id_item as nr_item,label_item,x_item,VAR_ITEM from xitems; + where INLIST(id_item,2,3,4,6); + INTO TABLE &loc\&nfscurt\tempo\treq ORDER BY nr_item + SELECT treq + REPLACE ALL nr_item WITH RECNO() + endif + + SELECT treq + INDEX ON nr_item TAG nr_item OF &loc\&nfscurt\tempo\treq + SET ORDER TO tag nr_item + + SELECT * from xnote ; + WHERE id_set=m.id_set; + into TABLE &loc\&nfscurt\tempo\tnote ORDER BY nr_nota + INDEX ON nr_nota TAG nr_nota OF &loc\&nfscurt\tempo\tnote + SET ORDER TO tag nr_nota + + select nume_set,id_set,model from xsets order by nume_set into cursor cmodel + + CREATE TABLE &LOC\&NFSCURT\TEMPO\TVERIF (ERORI M) + SELECT TVERIF + APPEND BLANK + + + + STORE DATE() TO m.dataireg + ENDPROC + + PROCEDURE model_urmatorul + + PARAMETERS model_ales,ids + + + SET SAFETY off + && daca nu e model ales + IF ids=0 + RETURN + ENDIF + + && daca e model ales + + + &&inlocuiesc treq...cerere noua + + SELECT a.nr_item,a.id_item,b.label_item,b.x_item,B.VAR_ITEM from xrequest a,xitems b ; + WHERE a.id_item=b.id_item AND a.id_set=ids; + INTO CURSOR ttreq ORDER BY nr_item + + IF _tally=0 + SELECT id_item, id_item as nr_item,label_item,x_item,VAR_ITEM from xitems; + where INLIST(id_item,2,3,4,6); + INTO CURSOR ttreq ORDER BY nr_item + endif + + SELECT treq + zap + APPEND FROM DBF('ttreq') + *REPLACE ALL id_item WITH m.id_set + REPLACE ALL nr_item WITH RECNO() + + *USE IN ttreq + + SELECT * from xnote ; + WHERE id_set=ids; + into CURSOR ttnote ORDER BY nr_nota + + IF _tally<>0 + SELECT tnote + zap + APPEND FROM DBF('ttnote') + SELECT tnote + REPLACE ALL id_set WITH m.id_set + endif + + *USE IN ttnote + + + ENDPROC + + PROCEDURE terminatok + + && -> XSETS + Select XSETS + If Flock() + Gather Memv + Endif + Unlock + + + + + && TNOTE -> XNOTE-------------------------------------------------------------------------------- + Select XNOTE + Set Order To Tag IDNR + Select TNOTE + Scan + Scatter FIELDS EXCEPT id_set Memv + Select XNOTE + If Flock() + Seek Str(M.ID_SET)+Str(M.NR_NOTA) + If !Found() + Append Blank + ENDIF + + Gather Memv + Endif + Unlock + Select TNOTE + Endscan + && CE E IN XNOTE SI NU MAI E IN TNOTE... SI TREBUIE STERS? + Select NR_NOTA From XNOTE ; + WHERE ID_SET=M.ID_SET And; + NR_NOTA Not In (Select NR_NOTA From TNOTE); + INTO Cursor STERS + Delete From XNOTE Where ID_SET=M.ID_SET And NR_NOTA In (Select NR_NOTA From STERS) + + + + + && TREQ -> XREQUEST------------------------------------ + Select XREQUEST + Set Order To Tag IDNR + Select TREQ + Scan + Scatter Memv + Select XREQUEST + If Flock() + Seek Str(M.ID_SET)+Str(M.NR_ITEM) + If !Found() + Append Blank + Endif + Gather Memv + Endif + Unlock + Select TREQ + Endscan + + && CE E IN XREQUEST SI NU MAI E IN TREQ ... SI TREBUIE STERS? + Select NR_ITEM From XREQUEST ; + WHERE ID_SET=M.ID_SET And; + NR_ITEM Not In (Select NR_ITEM From TREQ); + INTO Cursor STERS + Delete From XREQUEST Where ID_SET=M.ID_SET And NR_ITEM In (Select NR_ITEM From STERS) + + + + thisformset.terminat_oricum + ENDPROC + + PROCEDURE terminat_oricum + USE IN TREQ + USE IN TVERIF + USE IN TNOTE + + thisformset.release + ENDPROC + + PROCEDURE verificare_totala + + E=CHR(13)+CHR(9)+'VERIFICARI EFECTUATE:'+CHR(13)+CHR(13) + E=E+'1) CORESPONDENTA CONTURILOR:'+CHR(9)+'OK'+CHR(13) + E=E+'2) REPARTIZAREA EXPLICATIILOR:'+CHR(9)+'OK'+CHR(13) + E=E+'3) REPARTIZAREA SUMELOR:'+CHR(9)+'OK'+CHR(13) + E=E+CHR(13) + E=E+'FELICITARI! SETUL DE INREGISTRARI ESTE FUNCTIONAL.' + + + SELECT TVERIF + GO TOP + REPLACE ERORI WITH E + *brow + + thisformset.verifok=.T. + ENDPROC + + PROCEDURE CERERE.Activate + SELECT treq + GO bott + thisform.gridb1.Refresh + + ENDPROC + + PROCEDURE CERERE.Gridb1.Column2.Combo1.Valid + SELECT xitems + *SELECT lit + a=id_item + b=x_item + c=var_item + SELECT treq + REPLACE id_item WITH a,x_item WITH b,var_item WITH c + ENDPROC + + PROCEDURE CERERE.Load + SELECT xitems + SET ORDER TO tag label_item + ENDPROC + + PROCEDURE CERERE.Nou1.Command1.Click + + + SELECT treq + + *CALCULATE MAX(nr_item) TO _ii + _ii=nr_item + REPLACE ALL nr_item WITH nr_item+1 FOR nr_item>_ii + + APPEND BLANK + REPLACE nr_item WITH _ii+1 + + thisform.gridb1.refresh + thisformset.e_nou=.t. + ENDPROC + + PROCEDURE CERERE.Precedent1.Command1.Click + thisform.Visible=.f. + thisformset.MODEL.Visible=.t. + thisformset.e_nou=.f. + ENDPROC + + PROCEDURE CERERE.Show + LPARAMETERS nStyle + thisform.activate + ENDPROC + + PROCEDURE CERERE.Sterge1.Command1.Click + SELECT treq + DELETE + LOCAL i + i=1 + SELECT treq + SCAN + REPLACE nr_item WITH i + i=i+1 + endscan + thisform.gridb1.refresh + thisformset.e_nou=.t. + ENDPROC + + PROCEDURE CERERE.Urmator1.Command1.Click + thisformset.CERERE_urmatorul + + ENDPROC + + PROCEDURE FORMTERMIN12.Init + SELECT XSETS + SCATTER MEMV + + ENDPROC + + PROCEDURE FORMTERMIN12.Precedent1.COMMAND1.Click + thisform.Visible=.f. + thisformset.MODEL.Visible=.t. + ENDPROC + + PROCEDURE FORMTERMIN12.Terminat1.Command1.Click + thisform.Visible=.f. + thisformset.MODEL.Visible=.t. + ENDPROC + + PROCEDURE FORMTERMIN12.Urmator1.Command1.Click + thisform.Visible=.f. + *thisformset.MODEL.Visible=.t. + thisformset.cerere.Visible=.t. + ENDPROC + + PROCEDURE Model.Activate + thisform.Refresh + + ENDPROC + + PROCEDURE Model.Check1.Valid + IF this.Value=1 + thisform.combo1.Visible=.t. + ELSE + thisform.combo1.Visible=.f. + endif + ENDPROC + + PROCEDURE Model.combo1.LostFocus + SELECT cmodel + SCATTER FIELDS lista_note memv + *WAIT WINDOW m.lista_note + ENDPROC + + PROCEDURE Model.Optiongroup1.Init + this.Value=m.model + + ENDPROC + + PROCEDURE Model.Optiongroup1.Valid + + m.model=this.Value + thisform.Refresh + + + *SELECT cmodel + *SET FILTER TO model=m.model + + ENDPROC + + PROCEDURE Model.Precedent1.Command1.Click + thisform.Visible=.f. + thisformset.FORMTERMIN12.Visible=.t. + + + ENDPROC + + PROCEDURE Model.Refresh + * + ENDPROC + + PROCEDURE Model.Urmator1.Command1.Click + + thisformset.model_urmatorul(thisform.check1.Value,thisformset.id_setmodel) + thisform.Visible=.f. + + *thisformset.CERERE.Visible=.t. + thisformset.forMTERMIN12.Visible=.t. + thisformset.forMTERMIN12.text_item3.Refresh + *WAIT WINDOW m.lista_note + ENDPROC + + PROCEDURE REPARTIZARE.Pageframe1.Page1.Activate + this.gridb1.Refresh + + ENDPROC + + PROCEDURE REPARTIZARE.Pageframe1.Page1.Nou1.Command1.Click + LOCAL mm,_ii + + SELECT TNOTE + *CALCULATE MAX(nr_nota) TO mm + _ii=nr_nota + REPLACE ALL nr_nota WITH nr_nota+1 FOR nr_nota>_ii + + APPEND BLANK + REPLACE nr_nota WITH _ii+1 + REPLACE id_set WITH m.id_set + THIS.PARENT.parent.GRIDB1.REFRESH + ENDPROC + + PROCEDURE REPARTIZARE.Pageframe1.Page1.Sterge1.Command1.Click + SELECT TNOTE + DELETE + + LOCAL i + SELECT tnote + i=1 + SCAN + REPLACE nr_nota WITH i + i=i+1 + endscan + THIS.PARENT.parent.GRIDB1.REFRESH + ENDPROC + + PROCEDURE REPARTIZARE.Pageframe1.Page2.Activate + this.gridb1.Refresh + + ENDPROC + + PROCEDURE REPARTIZARE.Pageframe1.Page3.Activate + this.gridb1.Refresh + + ENDPROC + + PROCEDURE REPARTIZARE.Pageframe1.Page4.Activate + this.gridb1.Refresh + + ENDPROC + + PROCEDURE REPARTIZARE.Precedent1.Command1.Click + thisform.Visible=.f. + thisformset.CERERE.Visible=.t. + + thisformset.e_nou=.f. + + ENDPROC + + PROCEDURE REPARTIZARE.Urmator1.Command1.Click + thisform.Visible=.f. + thisformset.VERIFICARE_totala + thisformset.VERIFICARE.TERMINAT1.VISIBLE=THISFORMSET.VERIFok + thisformset.VERIFICARE.Visible=.t. + thisformset.VERIFICARE.edit1.refresh + ENDPROC + + PROCEDURE VERIFICARE.Precedent1.Command1.Click + thisform.Visible=.f. + thisformset.REPARTIZARE.Visible=.t. + ENDPROC + + PROCEDURE VERIFICARE.Terminat1.Command1.Click + + + + THISFORMSET.TERMINATOK + + + ENDPROC + +ENDDEFINE + +DEFINE CLASS nou AS butoninv OF "baza.vcx" + *< CLASSDATA: Baseclass="container" Timestamp="" Scale="Pixels" Uniqueid="" /> + + * + Name = "nou" + Imbuton1.Height = 29 + Imbuton1.Name = "Imbuton1" + Imbuton1.Picture = ..\grafice\nou1.bmp + Imbuton1.ToolTipText = "Adaugare" + Imbuton1.Width = 27 + Command1.Name = "Command1" + Command1.ToolTipText = "Adaugare" + * + + PROCEDURE MouseEnter + LPARAMETERS nButton, nShift, nXCoord, nYCoord + this.imbuton1.picture='NOU2.BMP' + ENDPROC + + PROCEDURE MouseLeave + LPARAMETERS nButton, nShift, nXCoord, nYCoord + this.imbuton1.picture='NOU1.BMP' + ENDPROC + +ENDDEFINE + +DEFINE CLASS nu AS renunt OF "baza.vcx" + *< CLASSDATA: Baseclass="container" Timestamp="" Scale="Pixels" Uniqueid="" /> + + * + Name = "nu" + Width = 50 + Imbuton1.Height = 27 + Imbuton1.Name = "Imbuton1" + Imbuton1.Picture = ..\grafice\nu_sus.bmp + Imbuton1.Width = 51 + Command1.Name = "Command1" + Command1.Width = 50 + * + + PROCEDURE MouseEnter + LPARAMETERS nButton, nShift, nXCoord, nYCoord + this.imbuton1.picture='nu_jos.BMP' + ENDPROC + + PROCEDURE MouseLeave + LPARAMETERS nButton, nShift, nXCoord, nYCoord + this.imbuton1.picture='nu_sus.BMP' + ENDPROC + +ENDDEFINE + +DEFINE CLASS pict AS form + *< CLASSDATA: Baseclass="form" Timestamp="" Scale="Pixels" Uniqueid="" /> + + *-- OBJECTDATA items order determines ZOrder / El orden de los items OBJECTDATA determina el ZOrder + *< OBJECTDATA: ObjPath="Image1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="Image2" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="Image3" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="Image4" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="Image5" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="Image6" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="Image7" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="Image8" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="Image9" UniqueID="" Timestamp="" /> + + * + BackColor = 255,255,255 + Caption = "Form" + DoCreate = .T. + Height = 66 + Left = 0 + Name = "pict" + Top = 0 + Width = 460 + * + + ADD OBJECT 'Image1' AS image WITH ; + Height = 27, ; + Left = 24, ; + Name = "Image1", ; + Picture = ..\grafice\modifica2.bmp, ; + Top = 24, ; + Width = 30 + *< END OBJECT: BaseClass="image" /> + + ADD OBJECT 'Image2' AS image WITH ; + Height = 27, ; + Left = 60, ; + Name = "Image2", ; + Picture = ..\grafice\nou2.bmp, ; + Top = 24, ; + Width = 30 + *< END OBJECT: BaseClass="image" /> + + ADD OBJECT 'Image3' AS image WITH ; + Height = 27, ; + Left = 96, ; + Name = "Image3", ; + Picture = ..\grafice\precedent2.bmp, ; + Top = 24, ; + Width = 30 + *< END OBJECT: BaseClass="image" /> + + ADD OBJECT 'Image4' AS image WITH ; + Height = 27, ; + Left = 132, ; + Name = "Image4", ; + Picture = ..\grafice\renunt2.bmp, ; + Top = 24, ; + Width = 30 + *< END OBJECT: BaseClass="image" /> + + ADD OBJECT 'Image5' AS image WITH ; + Height = 27, ; + Left = 168, ; + Name = "Image5", ; + Picture = ..\grafice\sterge2.bmp, ; + Top = 24, ; + Width = 30 + *< END OBJECT: BaseClass="image" /> + + ADD OBJECT 'Image6' AS image WITH ; + Height = 27, ; + Left = 204, ; + Name = "Image6", ; + Picture = ..\grafice\terminat2.bmp, ; + Top = 24, ; + Width = 30 + *< END OBJECT: BaseClass="image" /> + + ADD OBJECT 'Image7' AS image WITH ; + Height = 27, ; + Left = 240, ; + Name = "Image7", ; + Picture = ..\grafice\urmator2.bmp, ; + Top = 24, ; + Width = 30 + *< END OBJECT: BaseClass="image" /> + + ADD OBJECT 'Image8' AS image WITH ; + Height = 27, ; + Left = 276, ; + Name = "Image8", ; + Picture = ..\grafice\verificare2.bmp, ; + Top = 24, ; + Width = 30 + *< END OBJECT: BaseClass="image" /> + + ADD OBJECT 'Image9' AS image WITH ; + Height = 27, ; + Left = 312, ; + Name = "Image9", ; + Picture = ..\grafice\modifica2.bmp, ; + Top = 24, ; + Width = 30 + *< END OBJECT: BaseClass="image" /> + +ENDDEFINE + +DEFINE CLASS precedent AS butoninv OF "baza.vcx" + *< CLASSDATA: Baseclass="container" Timestamp="" Scale="Pixels" Uniqueid="" /> + + * + Name = "precedent" + Imbuton1.Height = 27 + Imbuton1.Name = "Imbuton1" + Imbuton1.Picture = ..\grafice\precedent1.bmp + Imbuton1.ToolTipText = "Inapoi" + Imbuton1.Width = 30 + Command1.Name = "Command1" + Command1.ToolTipText = "Inapoi (ESC)" + * + + PROCEDURE MouseEnter + LPARAMETERS nButton, nShift, nXCoord, nYCoord + this.imbuton1.picture='precedent2.BMP' + ENDPROC + + PROCEDURE MouseLeave + LPARAMETERS nButton, nShift, nXCoord, nYCoord + this.imbuton1.picture='precedent1.BMP' + ENDPROC + +ENDDEFINE + +DEFINE CLASS renunt AS butoninv OF "baza.vcx" + *< CLASSDATA: Baseclass="container" Timestamp="" Scale="Pixels" Uniqueid="" /> + + * + Name = "renunt" + Imbuton1.Height = 26 + Imbuton1.Left = 0 + Imbuton1.Name = "Imbuton1" + Imbuton1.Picture = ..\grafice\renunt1.bmp + Imbuton1.ToolTipText = "Renuntare" + Imbuton1.Top = 0 + Imbuton1.Width = 26 + Command1.Name = "Command1" + Command1.ToolTipText = "Renuntare (ESC)" + * + + PROCEDURE MouseEnter + LPARAMETERS nButton, nShift, nXCoord, nYCoord + this.imbuton1.picture='renunt2.BMP' + ENDPROC + + PROCEDURE MouseLeave + LPARAMETERS nButton, nShift, nXCoord, nYCoord + this.imbuton1.picture='renunt1.BMP' + ENDPROC + + PROCEDURE Command1.Click + buton=2 + IF TYPE('thisformset')='O' + thisformset.release + ENDIF + thisform.release + ENDPROC + +ENDDEFINE + +DEFINE CLASS setbaza AS formset + *< CLASSDATA: Baseclass="formset" Timestamp="" Scale="" Uniqueid="" /> + + *-- OBJECTDATA items order determines ZOrder / El orden de los items OBJECTDATA determina el ZOrder + *< OBJECTDATA: ObjPath="Form1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="FormTERMIN12" UniqueID="" Timestamp="" /> + + * + Name = "setbaza" + * + + ADD OBJECT 'Form1' AS form WITH ; + Caption = "Form1", ; + DoCreate = .T., ; + Name = "Form1" + *< END OBJECT: BaseClass="form" /> + + ADD OBJECT 'FormTERMIN12' AS formtermin WITH ; + DoCreate = .T., ; + Name = "FormTERMIN12", ; + Shape1.Name = "Shape1", ; + Terminat1.Command1.Name = "Command1", ; + Terminat1.Imbuton1.Height = 27, ; + Terminat1.Imbuton1.Name = "Imbuton1", ; + Terminat1.Imbuton1.Width = 26, ; + Terminat1.Name = "Terminat1", ; + Titlufrumos1.Name = "Titlufrumos1" + *< END OBJECT: ClassLib="baza.vcx" BaseClass="form" /> + +ENDDEFINE + +DEFINE CLASS sterge AS butoninv OF "baza.vcx" + *< CLASSDATA: Baseclass="container" Timestamp="" Scale="Pixels" Uniqueid="" /> + + * + Name = "sterge" + Imbuton1.Height = 30 + Imbuton1.Name = "Imbuton1" + Imbuton1.Picture = ..\grafice\sterge1.bmp + Imbuton1.ToolTipText = "Stergere" + Imbuton1.Width = 30 + Command1.Name = "Command1" + Command1.ToolTipText = "Stergere" + * + + PROCEDURE MouseEnter + LPARAMETERS nButton, nShift, nXCoord, nYCoord + this.imbuton1.picture='STERGE2.BMP' + ENDPROC + + PROCEDURE MouseLeave + LPARAMETERS nButton, nShift, nXCoord, nYCoord + this.imbuton1.picture='STERGE1.BMP' + ENDPROC + +ENDDEFINE + +DEFINE CLASS terminat AS butoninv OF "baza.vcx" + *< CLASSDATA: Baseclass="container" Timestamp="" Scale="Pixels" Uniqueid="" /> + + * + Height = 30 + Name = "terminat" + Width = 30 + Imbuton1.BackStyle = 0 + Imbuton1.Height = 27 + Imbuton1.Name = "Imbuton1" + Imbuton1.Picture = ..\grafice\terminat_sus_verde.bmp + Imbuton1.Stretch = 0 + Imbuton1.ToolTipText = "Terminat" + Imbuton1.Width = 30 + Command1.Name = "Command1" + Command1.ToolTipText = "Terminat (CTRL+F)" + * + + PROCEDURE MouseEnter + LPARAMETERS nButton, nShift, nXCoord, nYCoord + this.imbuton1.picture='terminat_jos_verde.bmp' + ENDPROC + + PROCEDURE MouseLeave + LPARAMETERS nButton, nShift, nXCoord, nYCoord + this.imbuton1.picture='terminat_SUs_verde.bmp' + ENDPROC + + PROCEDURE Command1.Click + BUTON=1 + IF TYPE('thisformset')='O' + thisformset.release + ENDIF + THISFORM.Release + + ENDPROC + + PROCEDURE Command1.MouseEnter + LPARAMETERS nButton, nShift, nXCoord, nYCoord + this.Parent.mouseenter + ENDPROC + + PROCEDURE Command1.MouseLeave + LPARAMETERS nButton, nShift, nXCoord, nYCoord + this.Parent.mouseleave + ENDPROC + + PROCEDURE Imbuton1.MouseEnter + LPARAMETERS nButton, nShift, nXCoord, nYCoord + this.Parent.mouseenter + ENDPROC + + PROCEDURE Imbuton1.MouseLeave + LPARAMETERS nButton, nShift, nXCoord, nYCoord + this.Parent.mouseleave + ENDPROC + +ENDDEFINE + +DEFINE CLASS text AS _frmbase OF "_frm_base.vcx" + *< CLASSDATA: Baseclass="form" Timestamp="" Scale="Pixels" Uniqueid="" /> + + *-- OBJECTDATA items order determines ZOrder / El orden de los items OBJECTDATA determina el ZOrder + *< OBJECTDATA: ObjPath="Image1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="Label2" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="Label3" UniqueID="" Timestamp="" /> + + * + BorderStyle = 3 + DoCreate = .T. + Height = 91 + Name = "text" + Width = 372 + _shape1.Name = "_shape1" + _shape2.Height = 29 + _shape2.Left = 342 + _shape2.Name = "_shape2" + _shape2.Top = 0 + _shape2.Width = 31 + Lb_titlu_alb_b121.Caption = "" + Lb_titlu_alb_b121.Name = "Lb_titlu_alb_b121" + BUT_TERMIN1.Name = "BUT_TERMIN1" + Gridsort1.Name = "Gridsort1" + * + + ADD OBJECT 'Image1' AS image WITH ; + Height = 32, ; + Left = 12, ; + Name = "Image1", ; + Picture = ..\grafice\exclam.ico, ; + Top = 40, ; + Width = 32 + *< END OBJECT: BaseClass="image" /> + + ADD OBJECT 'Label2' AS label WITH ; + Alignment = 2, ; + BackStyle = 0, ; + Caption = "Label2", ; + Height = 17, ; + Left = 60, ; + Name = "Label2", ; + Top = 40, ; + Width = 299 + *< END OBJECT: BaseClass="label" /> + + ADD OBJECT 'Label3' AS label WITH ; + Alignment = 2, ; + BackStyle = 0, ; + Caption = "Label3", ; + Height = 17, ; + Left = 60, ; + Name = "Label3", ; + Top = 65, ; + Width = 299 + *< END OBJECT: BaseClass="label" /> + +ENDDEFINE + +DEFINE CLASS text_item AS _textbox OF "_baza.vcx" + *< CLASSDATA: Baseclass="textbox" Timestamp="" Scale="Pixels" Uniqueid="" /> + + * + BorderStyle = 0 + FontName = "Comic Sans MS" + Height = 20 + Margin = 0 + Name = "text_item" + SpecialEffect = 1 + Width = 130 + * + +ENDDEFINE + +DEFINE CLASS titlufrumos AS label + *< CLASSDATA: Baseclass="label" Timestamp="" Scale="Pixels" Uniqueid="" /> + + * + Alignment = 0 + AutoSize = .F. + BackColor = 255,255,255 + BackStyle = 0 + Caption = "TITLU FRUMOS" + FontBold = .F. + FontName = "Comic Sans MS" + FontSize = 10 + ForeColor = 255,255,255 + Height = 37 + Name = "titlufrumos" + Width = 364 + WordWrap = .T. + * + +ENDDEFINE + +DEFINE CLASS urmator AS butoninv OF "baza.vcx" + *< CLASSDATA: Baseclass="container" Timestamp="" Scale="Pixels" Uniqueid="" /> + + * + Name = "urmator" + Imbuton1.Height = 27 + Imbuton1.Name = "Imbuton1" + Imbuton1.Picture = ..\grafice\urmator1.bmp + Imbuton1.ToolTipText = "Continuare/Inainte" + Imbuton1.Width = 30 + Command1.Name = "Command1" + Command1.ToolTipText = "Continuare/Inainte (CTRL+F)" + * + + PROCEDURE MouseEnter + LPARAMETERS nButton, nShift, nXCoord, nYCoord + this.imbuton1.picture='urmator2.BMP' + ENDPROC + + PROCEDURE MouseLeave + LPARAMETERS nButton, nShift, nXCoord, nYCoord + this.imbuton1.picture='urmator1.BMP' + ENDPROC + +ENDDEFINE + +DEFINE CLASS verif AS butoninv OF "baza.vcx" + *< CLASSDATA: Baseclass="container" Timestamp="" Scale="Pixels" Uniqueid="" /> + + * + Name = "verif" + Imbuton1.Height = 27 + Imbuton1.Name = "Imbuton1" + Imbuton1.Picture = ..\grafice\verificare1.bmp + Imbuton1.ToolTipText = "Verificare" + Imbuton1.Width = 30 + Command1.Name = "Command1" + Command1.ToolTipText = "Verificare (CTRL+F)" + * + + PROCEDURE MouseEnter + LPARAMETERS nButton, nShift, nXCoord, nYCoord + this.imbuton1.picture='verificare2.BMP' + ENDPROC + + PROCEDURE MouseLeave + LPARAMETERS nButton, nShift, nXCoord, nYCoord + this.imbuton1.picture='verificare1.BMP' + ENDPROC + +ENDDEFINE diff --git a/clase/bbtabs.vc2 b/clase/bbtabs.vc2 new file mode 100644 index 0000000..5ff81e1 --- /dev/null +++ b/clase/bbtabs.vc2 @@ -0,0 +1,786 @@ +*-------------------------------------------------------------------------------------------------------------------------------------------------------- +* (EN) AUTOGENERATED - ATTENTION!! - NOT INTENDED FOR EXECUTION!! USE ONLY FOR MERGING CHANGES AND STORING WITH SCM TOOLS!! +*-------------------------------------------------------------------------------------------------------------------------------------------------------- +*< FOXBIN2PRG: Version="1.21" SourceFile="bbtabs.vcx" CPID="1252" /> (Solo para binarios VFP 9 / Only for VFP 9 binaries) +* +* +DEFINE CLASS bluetabh AS buletabs OF "bbtabs.vcx" + *< CLASSDATA: Baseclass="container" Timestamp="" Scale="Pixels" Uniqueid="" /> + + *-- OBJECTDATA items order determines ZOrder / El orden de los items OBJECTDATA determina el ZOrder + *< OBJECTDATA: ObjPath="Label1" UniqueID="" Timestamp="" /> + + * + Height = 34 + Name = "bluetabh" + Picture = dbtabh4.bmp + Width = 84 + cmdTab.Height = 31 + cmdTab.Left = 0 + cmdTab.Name = "cmdTab" + cmdTab.Top = 0 + cmdTab.Width = 49 + cmdTab.ZOrderSet = 0 + Image1.Height = 34 + Image1.Left = 0 + Image1.Name = "Image1" + Image1.Picture = ..\grafice\dbtabh3.bmp + Image1.Stretch = 2 + Image1.Top = 0 + Image1.Width = 84 + Image1.ZOrderSet = 1 + Image2.Height = 16 + Image2.Left = 15 + Image2.Name = "Image2" + Image2.Picture = ..\grafice\note.gif + Image2.Stretch = 2 + Image2.Top = 6 + Image2.Width = 16 + Image2.ZOrderSet = 2 + * + + ADD OBJECT 'Label1' AS _label WITH ; + Alignment = 0, ; + BackStyle = 0, ; + Caption = "Visits", ; + FontSize = 8, ; + ForeColor = 255,255,255, ; + Height = 16, ; + Left = 7, ; + Name = "Label1", ; + Top = 21, ; + Width = 29 + *< END OBJECT: ClassLib="_baza.vcx" BaseClass="label" /> + + PROCEDURE Init + * override base code + WITH This.cmdTab + .ZOrder(0) + .ToolTipText = This.ToolTipText + .Width = This.Image1.Width - 15 + ENDWITH + + ENDPROC + +ENDDEFINE + +DEFINE CLASS bottomactioncontainer AS _container OF "..\..\comun\clase\_baza.vcx" + *< CLASSDATA: Baseclass="container" Timestamp="" Scale="Pixels" Uniqueid="" /> + + *-- OBJECTDATA items order determines ZOrder / El orden de los items OBJECTDATA determina el ZOrder + *< OBJECTDATA: ObjPath="Shape3" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="Tabhyperlink1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="Tabhyperlink2" UniqueID="" Timestamp="" /> + + * + *p: _memberdata && XML Metadata for customizable properties + * + + * + BackStyle = 0 + BorderWidth = 0 + Height = 90 + Name = "bottomactioncontainer" + Width = 304 + _memberdata = + + + * + + ADD OBJECT 'Shape3' AS _shape WITH ; + Anchor = 14, ; + BackColor = 181,198,255, ; + BorderColor = 99,148,234, ; + Curvature = 15, ; + Height = 36, ; + Left = 0, ; + Name = "Shape3", ; + Top = 54, ; + Width = 246 + *< END OBJECT: ClassLib="..\..\comun\clase\_baza.vcx" BaseClass="shape" /> + + ADD OBJECT 'Tabhyperlink1' AS tabhyperlink WITH ; + Height = 18, ; + Left = 10, ; + Name = "Tabhyperlink1", ; + Top = 12, ; + Width = 161, ; + Image2.Height = 12, ; + Image2.Name = "Image2", ; + Image2.Width = 15, ; + Label1.Alignment = 0, ; + Label1.Name = "Label1" + *< END OBJECT: ClassLib="bbtabs.vcx" BaseClass="container" /> + + ADD OBJECT 'Tabhyperlink2' AS tabhyperlink WITH ; + Height = 18, ; + Left = 10, ; + Name = "Tabhyperlink2", ; + Top = 36, ; + Width = 161, ; + Image2.Height = 12, ; + Image2.Name = "Image2", ; + Image2.Width = 15, ; + Label1.Alignment = 0, ; + Label1.Name = "Label1" + *< END OBJECT: ClassLib="bbtabs.vcx" BaseClass="container" /> + +ENDDEFINE + +DEFINE CLASS bottomactioncontainerh AS bottomactioncontainer OF "bbtabs.vcx" + *< CLASSDATA: Baseclass="container" Timestamp="" Scale="Pixels" Uniqueid="" /> + + *-- OBJECTDATA items order determines ZOrder / El orden de los items OBJECTDATA determina el ZOrder + *< OBJECTDATA: ObjPath="Line1" UniqueID="" Timestamp="" /> + + * + Height = 35 + Name = "bottomactioncontainerh" + Width = 639 + _memberdata = + + + Shape3.Height = 39 + Shape3.Left = 0 + Shape3.Name = "Shape3" + Shape3.Top = -5 + Shape3.Width = 541 + Shape3.ZOrderSet = 0 + Tabhyperlink1.Anchor = 132 + Tabhyperlink1.Height = 18 + Tabhyperlink1.Image2.Height = 12 + Tabhyperlink1.Image2.Name = "Image2" + Tabhyperlink1.Image2.Width = 15 + Tabhyperlink1.Label1.Alignment = 0 + Tabhyperlink1.Label1.Name = "Label1" + Tabhyperlink1.Left = 10 + Tabhyperlink1.Name = "Tabhyperlink1" + Tabhyperlink1.Top = 12 + Tabhyperlink1.Width = 169 + Tabhyperlink1.ZOrderSet = 3 + Tabhyperlink2.Anchor = 132 + Tabhyperlink2.Height = 18 + Tabhyperlink2.Image2.Height = 12 + Tabhyperlink2.Image2.Name = "Image2" + Tabhyperlink2.Image2.Width = 15 + Tabhyperlink2.Label1.Alignment = 0 + Tabhyperlink2.Label1.Name = "Label1" + Tabhyperlink2.Left = 187 + Tabhyperlink2.Name = "Tabhyperlink2" + Tabhyperlink2.Top = 12 + Tabhyperlink2.Width = 169 + Tabhyperlink2.ZOrderSet = 4 + * + + ADD OBJECT 'Line1' AS line WITH ; + BorderColor = 99,148,234, ; + Height = 0, ; + Left = 0, ; + Name = "Line1", ; + Top = 0, ; + Width = 541 + *< END OBJECT: BaseClass="line" /> + + PROCEDURE Init + This.Shape3.Width = THis.Width - 1 + This.Shape3.Height = THis.Height - 4 + + ENDPROC + +ENDDEFINE + +DEFINE CLASS buletabs AS _container OF "_baza.vcx" + *< CLASSDATA: Baseclass="container" Timestamp="" Scale="Pixels" Uniqueid="" /> + + *-- OBJECTDATA items order determines ZOrder / El orden de los items OBJECTDATA determina el ZOrder + *< OBJECTDATA: ObjPath="cmdTab" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="Image1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="Image2" UniqueID="" Timestamp="" /> + + * + *m: tabclicked + *p: _memberdata && XML Metadata for customizable properties + * + + * + BackStyle = 0 + BorderWidth = 0 + Height = 57 + Name = "buletabs" + Picture = ..\ + Width = 41 + _memberdata = + + + * + + ADD OBJECT 'cmdTab' AS _commandbutton WITH ; + Caption = "", ; + Height = 48, ; + Left = 0, ; + Name = "cmdTab", ; + Style = 1, ; + Top = 2, ; + Width = 32 + *< END OBJECT: ClassLib="_baza.vcx" BaseClass="commandbutton" /> + + ADD OBJECT 'Image1' AS _image WITH ; + BackStyle = 0, ; + Height = 54, ; + Left = 1, ; + Name = "Image1", ; + Picture = ..\grafice\bluetab.bmp, ; + Top = 1, ; + Width = 31 + *< END OBJECT: ClassLib="_baza.vcx" BaseClass="image" /> + + ADD OBJECT 'Image2' AS _image WITH ; + BackStyle = 0, ; + Height = 18, ; + Left = 8, ; + Name = "Image2", ; + Picture = ..\grafice\note.gif, ; + Top = 10, ; + Width = 20 + *< END OBJECT: ClassLib="_baza.vcx" BaseClass="image" /> + + PROCEDURE Init + This.cmdTab.ZOrder(0) + ENDPROC + + PROCEDURE MouseEnter + LPARAMETERS nButton, nShift, nXCoord, nYCoord + *This.Parent.EnterMouse(This) + ENDPROC + + PROCEDURE MouseLeave + LPARAMETERS nButton, nShift, nXCoord, nYCoord + *This.Parent.LeaveMouse(This) + ENDPROC + + PROCEDURE tabclicked + * tab button was clicked + This.Parent.tabclicked(This) + ENDPROC + + PROCEDURE cmdTab.Click + This.Parent.tabclicked() + ENDPROC + + PROCEDURE cmdTab.MouseEnter + LPARAMETERS nButton, nShift, nXCoord, nYCoord + *This.Parent.MouseEnter(nButton, nShift, nXCoord, nYCoord) + ENDPROC + + PROCEDURE cmdTab.MouseLeave + LPARAMETERS nButton, nShift, nXCoord, nYCoord + *This.Parent.MouseLeave(nButton, nShift, nXCoord, nYCoord) + ENDPROC + +ENDDEFINE + +DEFINE CLASS clienttoptabs AS _container OF "_baza.vcx" + *< CLASSDATA: Baseclass="container" Timestamp="" Scale="Pixels" Uniqueid="" /> + + *-- OBJECTDATA items order determines ZOrder / El orden de los items OBJECTDATA determina el ZOrder + *< OBJECTDATA: ObjPath="Shape1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="Shape2" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="Shape3" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="lblHeader" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="_container1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="Line1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="Tab1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="shpPage" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="shpPage.Label2" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="shpPage.Label3" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="shpPage.Label4" UniqueID="" Timestamp="" /> + + * + *m: changehyperlinks && changes the links at bottom + *m: entermouse && called by mouse entering a tab + *m: leavemouse && called by mouse leaving a tab + *m: setupactions && Sets up the action links below. Requires a table called Actions.dbf + *m: setuparrays && sets up the array with the labels and bmps + *m: setuptabs && Sets up the tabs based on properties + *m: showhelp && sets up help + *m: tabclicked && Run when a tab is clicked. Usually sets the current tab. + *m: zreadme && Readme for this class usage + *p: activetab && the number of the active tab + *p: lasttabbmp && name of the last tab bmp visited. + *p: otab2use && The full path to the tab object to use for this control. eg. ThisForm.pagMyTabs + *p: tabbmpstr && comma separated string of bmps to show for the tabs + *p: tabcaptionstr && comma delimited string that contains the captions to use. Note: if 5 captions entered then there will be 5 tabs. Minimum is 1 caption = 1 tab.. Restrict the length of each caption so that they fit. + *p: tabnumber && Number of tabs to use. Used Internally + *a: tabbmps[1,1] && Used internally to hold bmp names of tabs + *a: tabcaptions[1,1] && used internally to store tab settings of caption + *p: _memberdata && XML Metadata for customizable properties + * + + * + activetab = 1 + BackStyle = 0 + BorderWidth = 0 + Height = 430 + lasttabbmp = + Name = "clienttoptabs" + otab2use = + tabbmpstr = homeside.bmp,contacts.bmp,visits.bmp,phone1.bmp + tabcaptionstr = Tab1,tab2,tab3,tab4 + tabnumber = 4 + Width = 414 + _memberdata = + + + + + + + + + + + + + + + + + + + + + + + + + * + + ADD OBJECT '_container1' AS _container WITH ; + Height = 35, ; + Left = 6, ; + Name = "_container1", ; + Top = 385, ; + Width = 402, ; + Shape3.Name = "Shape3", ; + Shape3.Width = 401, ; + Line1.Name = "Line1" + *< END OBJECT: ClassLib="opersonal.vcx" BaseClass="container" /> + + ADD OBJECT 'lblHeader' AS _label WITH ; + AutoSize = .T., ; + BackStyle = 0, ; + Caption = "Memberships", ; + FontBold = .T., ; + FontSize = 14, ; + ForeColor = 255,134,11, ; + Height = 25, ; + Left = 12, ; + Name = "lblHeader", ; + TabIndex = 7, ; + Top = 41, ; + Width = 129, ; + ZOrderSet = 4 + *< END OBJECT: ClassLib="_baza.vcx" BaseClass="label" /> + + ADD OBJECT 'Line1' AS _linie WITH ; + Anchor = 11, ; + BorderColor = 0,51,153, ; + Height = 0, ; + Left = 109, ; + Name = "Line1", ; + Top = 67, ; + Width = 305, ; + ZOrderSet = 6 + *< END OBJECT: ClassLib="_baza.vcx" BaseClass="line" /> + + ADD OBJECT 'Shape1' AS _shape WITH ; + Anchor = 15, ; + BackColor = 221,227,252, ; + BackStyle = 1, ; + BorderColor = 0,51,153, ; + Curvature = 15, ; + Height = 395, ; + Left = 0, ; + Name = "Shape1", ; + Top = 34, ; + Width = 414, ; + ZOrderSet = 0 + *< END OBJECT: ClassLib="_baza.vcx" BaseClass="shape" /> + + ADD OBJECT 'Shape2' AS _shape WITH ; + Anchor = 11, ; + BackColor = 221,227,252, ; + BackStyle = 1, ; + BorderStyle = 0, ; + Curvature = 15, ; + Height = 34, ; + Left = 1, ; + Name = "Shape2", ; + Top = 35, ; + Width = 413, ; + ZOrderSet = 1 + *< END OBJECT: ClassLib="_baza.vcx" BaseClass="shape" /> + + ADD OBJECT 'Shape3' AS _shape WITH ; + Anchor = 11, ; + BackColor = 221,227,252, ; + BackStyle = 1, ; + BorderStyle = 0, ; + Curvature = 0, ; + Height = 18, ; + Left = 1, ; + Name = "Shape3", ; + Top = 51, ; + Width = 412, ; + ZOrderSet = 3 + *< END OBJECT: ClassLib="_baza.vcx" BaseClass="shape" /> + + ADD OBJECT 'shpPage' AS container WITH ; + Height = 307, ; + Left = 6, ; + Name = "shpPage", ; + Top = 73, ; + Width = 402, ; + ZOrderSet = 7 + *< END OBJECT: BaseClass="container" /> + + ADD OBJECT 'shpPage.Label2' AS label WITH ; + BackStyle = 0, ; + Caption = "Drop a pageframe ONTOP of this control and size it the same as the grey area. Set the following properties: TABNUMBER = number of tabs of the page frame. TABCAPTIONSTR= Comma delimited list of the captions to display on the tabs.", ; + ForeColor = 0,0,255, ; + Height = 61, ; + Left = 6, ; + Name = "Label2", ; + Top = 79, ; + Width = 385, ; + WordWrap = .T. + *< END OBJECT: BaseClass="label" /> + + ADD OBJECT 'shpPage.Label3' AS label WITH ; + BackStyle = 0, ; + Caption = "Set TABBMPSTR= Comma delimited list of thebitmaps to display on the tabs. Set OTAB2USE to the current tab name as shown.eg ThisForm.pagTabs. If there are any actions to be created, open ACTIONS.DBF and fill in records.", ; + ForeColor = 128,128,0, ; + Height = 61, ; + Left = 6, ; + Name = "Label3", ; + Top = 146, ; + Width = 385, ; + WordWrap = .T. + *< END OBJECT: BaseClass="label" /> + + ADD OBJECT 'shpPage.Label4' AS label WITH ; + BackStyle = 0, ; + Caption = "SEE THE ZREADME METHOD FOR COMPLETE DOCUMENTATION.", ; + ForeColor = 128,0,0, ; + Height = 24, ; + Left = 6, ; + Name = "Label4", ; + Top = 242, ; + Width = 385, ; + WordWrap = .T. + *< END OBJECT: BaseClass="label" /> + + ADD OBJECT 'Tab1' AS bluetabh WITH ; + Left = 24, ; + Name = "Tab1", ; + Picture = ..\grafice\dbtabh4.bmp, ; + Top = 1, ; + Visible = .T., ; + ZOrderSet = 8, ; + cmdTab.Name = "cmdTab", ; + Image1.Name = "Image1", ; + Image1.Picture = ..\grafice\lbtabh3.bmp, ; + Image2.Name = "Image2", ; + Image2.Picture = ..\grafice\note.gif, ; + Label1.ForeColor = 0,51,153, ; + Label1.Name = "Label1" + *< END OBJECT: ClassLib="bbtabs.vcx" BaseClass="container" /> + + PROCEDURE changehyperlinks && changes the links at bottom + ENDPROC + + PROCEDURE entermouse && called by mouse entering a tab + LPARAMETERS toTab + * store the original bmp + + This.lasttabbmp = toTab.image1.picture + toTab.image1.picture = "OtabH3.bmp" + ENDPROC + + PROCEDURE Init + WITH This + * remove the placeholder + .RemoveObject("shpPage") + * setup the action links below + *!* .SetupActions(1) + * sets up the array with labels + .SetupArrays() + * setup the tabs above + .SetupTabs() + * Set the caption for the first tab + .lblHeader.Caption = This.TabCaptions[This.activetab] + * Activate the correct tab + IF NOT EMPTY(This.oTab2Use) + LOCAL oTabx + oTabx = EVALUATE(This.oTab2Use) + oTabx.Tabs = .F. + oTabx.Themes = .F. + ENDIF + + ENDWITH + ENDPROC + + PROCEDURE leavemouse && called by mouse leaving a tab + LPARAMETERS toTab + * store the saved bmp + toTab.image1.picture = This.lasttabbmp + + ENDPROC + + PROCEDURE setupactions && Sets up the action links below. Requires a table called Actions.dbf + * sets up the action Hyperlinks at the bottom. + LPARAMETERS tnTabno + *!* IF EMPTY(tnTabno) + *!* tnTabno = 1 + *!* ENDIF + *!* * sets up the action section below + *!* IF NOT USED("actions") + *!* USE actions IN 0 SHARED + *!* ENDIF + *!* SELECT actions + *!* LOCAL cnt + *!* * only 2 actions allowed + *!* FOR cnt = 1 TO 2 + *!* oAct = EVALUATE("This.Bottomactioncontainerh1.Tabhyperlink"+TRANSFORM(cnt)) + *!* oAct.Visible = .F. + *!* *WAIT WINDOW oAct.name + *!* ENDFOR + *!* cnt = 1 + + *!* SCAN FOR UPPER(formname) = UPPER(ThisForm.name) AND tabnumber = tnTabno AND NOT EMPTY(caption) + *!* *WAIT WINDOW oAct.name +" in scan loop" + *!* oAct = EVALUATE("This.Bottomactioncontainerh1.Tabhyperlink"+TRANSFORM(cnt)) + *!* IF VARTYPE(oAct) = "O" + *!* WITH oAct + *!* .Visible = .T. + *!* IF NOT EMPTY(icon) + *!* .Image2.Picture = ALLTRIM(icon) + *!* .Image2.Visible = .T. + *!* ELSE + *!* .Image2.Visible = .F. + *!* ENDIF + *!* IF NOT EMPTY(caption) + *!* .Label1.Caption = ALLTRIM(caption) + *!* .Label1.Visible = .T. + *!* ELSE + *!* .Label1.Visible = .F. + *!* ENDIF + *!* .ActionEvent = ALLTRIM(action) + *!* ENDWITH + *!* ENDIF + *!* cnt = cnt + 1 + *!* IF cnt > 2 + *!* EXIT + *!* ENDIF + *!* ENDSCAN + *!* USE IN SELECT("actions") + ENDPROC + + PROCEDURE setuparrays && sets up the array with the labels and bmps + * setup the array of bmps & captions for the tabs + LOCAL bb,startx,starty,bb,cc,endy + startx=1 + starty = 1 + bb=This.tabcaptionstr + cc=This.tabbmpstr + DIMENSION This.tabcaptions[This.tabnumber,2] + nRows = ALINES(this.tabcaptions , bb, .F., ",") + nRows = ALINES(this.tabbmps , cc, .F., ",") + bb=10 + ENDPROC + + PROCEDURE setuptabs && Sets up the tabs based on properties + LOCAL cnt,cPic,Cap + IF NOT "BBTABS"$SET("Classlib") + SET CLASSLIB TO bbtabs ADDITIVE + ENDIF + * GET number of tabs + nLeft = This.Tab1.Left + nTop = This.Tab1.Top + FOR cnt = 1 TO This.Tabnumber + * skip if first tab + IF cnt>1 + This.AddObject("Tab"+TRANSFORM(cnt),"bluetabh") + ENDIF + oTab = EVALUATE("This.tab"+TRANSFORM(cnt)) + WITH oTab + cPic = This.tabbmps[cnt] + .Image2.Picture = cPic + cCap = This.tabcaptions[cnt] + + * larger caption = larger tab + lnlen = LEN(STRTRAN(ALLTRIM(cCap),' ','')) + lnfontsize = .label1.fontsize + IF lnLen*lnfontsize > .image1.width + .image1.width = lnLen*lnfontsize + .width = lnLen*lnfontsize + .cmdtab.width = lnLen*(lnfontsize-1) + ENDIF + * larger caption = larger tab + + .Label1.Caption = cCap + .Left = nLeft + .Top = nTop + .Visible = .T. + .Zorder(1) + nLeft = nLeft+ .Width -8 + ENDWITH + ENDFOR + * activate the tab + oTab = EVALUATE("This.tab"+TRANSFORM(This.activetab)) + oTab.Zorder(0) + ENDPROC + + PROCEDURE showhelp && sets up help + ENDPROC + + PROCEDURE tabclicked && Run when a tab is clicked. Usually sets the current tab. + LPARAMETERS toTab + LOCAL LCA,LCnR + STORE '' TO LCA,LCnR + LCA = toTab.name + DO WHILE !ISALPHA(SUBSTR(LCA,LEN(LCA),1)) + LCnR = RIGHT(LCA,1)+LCnR + LCA = LEFT(LCA,LEN(LCA)-1) + ENDDO + nTab = VAL(LCnR) + ThisForm.lockscreen = .T. + * Activate the correct tab + IF NOT EMPTY(This.oTab2Use) + LOCAL oTabx + oTabx = EVALUATE(This.oTab2Use) + This.tabnumber = oTabx.PageCount + oPage = EVALUATE("oTabx.Page"+TRANSFORM(nTab)) + IF oPage.Enabled + oTabx.ActivePage = nTab + ELSE + WAIT WINDOW NOWAIT "Page is disabled" + RETURN + ENDIF + ELSE + RETURN + ENDIF + This.activetab = nTab + + * Caption + This.lblHeader.Caption = This.TabCaptions[nTab] &&EVALUATE("This.TabCaption"+TRANSFORM(nTab)) + LOCAL cnt + FOR cnt = 1 TO This.Tabnumber && STEP -1 + oTab = EVALUATE("This.Tab"+TRANSFORM(cnt)) + * reset all to blue + IF "LBTABH"$UPPER(oTab.Image1.Picture) + oTab.Image1.Picture = 'dbtabh3.bmp' &&'pics\bluetabh.bmp' + oTab.Label1.Forecolor = RGB(255,255,255) + ENDIF + * send the button back in order + oTab.Zorder(1) + ENDFOR + * change the clicked tab picture and bring to front + toTab.image1.picture = 'lbtabh4.bmp' &&'pics\Lbluetabh.bmp' + toTab.Label1.Forecolor = RGB(0,51,153) + toTab.zorder(0) + + * do stuff when page changes + This.setupActions(nTab) + + ThisForm.lockscreen = .F. + ENDPROC + + PROCEDURE zreadme && Readme for this class usage + TEXT TO xxx NOSHOW + To use this control: + 1. Drop a Pageframe ON TOP of this control. Do NOT place in inside this control's container. + 2. Set the foll Props: + TABCAPTIONSTR = A comma delimited string in sequential order of the captions to be displayed on the tabs. + TABBMPSTR = A comma delimited string of the names of the bitmaps to display on the tabs. + oTAB2USE = The full path to the tab that has been dropped in step 1 - eg. ThisForm.pgMyTabs + 3. If there are any actions to be created for each tab, open ACTIONS.DBF and create them as shown in the table. + These actions will appear in the space below the tabs. It is not necessary but looks better with actions which + can be something like calling the click event on a button etc. + + + + + + + + + + + + + + + ENDTEXT + ENDPROC + +ENDDEFINE + +DEFINE CLASS tabhyperlink AS _container OF "..\..\comun\clase\_baza.vcx" + *< CLASSDATA: Baseclass="container" Timestamp="" Scale="Pixels" Uniqueid="" /> + + *-- OBJECTDATA items order determines ZOrder / El orden de los items OBJECTDATA determina el ZOrder + *< OBJECTDATA: ObjPath="Image2" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="Label1" UniqueID="" Timestamp="" /> + + * + *p: actionevent + *p: _memberdata && XML Metadata for customizable properties + * + + * + actionevent = + BackStyle = 0 + BorderWidth = 0 + Height = 18 + Name = "tabhyperlink" + Width = 200 + _memberdata = + + + * + + ADD OBJECT 'Image2' AS _image WITH ; + Anchor = 4, ; + BackStyle = 0, ; + Height = 12, ; + Left = 2, ; + Name = "Image2", ; + Picture = addressbook.bmp, ; + Top = 0, ; + Width = 15 + *< END OBJECT: ClassLib="..\..\comun\clase\_baza.vcx" BaseClass="image" /> + + ADD OBJECT 'Label1' AS _label WITH ; + Anchor = 4, ; + AutoSize = .F., ; + BackStyle = 0, ; + Caption = "Open the Address book", ; + FontUnderline = .T., ; + ForeColor = 0,0,255, ; + Height = 17, ; + Left = 28, ; + MousePointer = 15, ; + Name = "Label1", ; + Top = 0, ; + Width = 170 + *< END OBJECT: ClassLib="..\..\comun\clase\_baza.vcx" BaseClass="label" /> + + PROCEDURE Label1.Click + IF NOT EMPTY(This.Parent.ActionEvent) + cCmd = This.Parent.ActionEvent + &cCmd + ENDIF + ENDPROC + +ENDDEFINE diff --git a/clase/bon_fisc.vc2 b/clase/bon_fisc.vc2 new file mode 100644 index 0000000..9ce6076 --- /dev/null +++ b/clase/bon_fisc.vc2 @@ -0,0 +1,715 @@ +*-------------------------------------------------------------------------------------------------------------------------------------------------------- +* (EN) AUTOGENERATED - ATTENTION!! - NOT INTENDED FOR EXECUTION!! USE ONLY FOR MERGING CHANGES AND STORING WITH SCM TOOLS!! +*-------------------------------------------------------------------------------------------------------------------------------------------------------- +*< FOXBIN2PRG: Version="1.21" SourceFile="bon_fisc.vcx" CPID="1252" /> (Solo para binarios VFP 9 / Only for VFP 9 binaries) +* +* +DEFINE CLASS bon_fisc AS checkbox + *< CLASSDATA: Baseclass="checkbox" Timestamp="" Scale="Pixels" Uniqueid="" /> + + * + Alignment = 0 + Caption = "Check1" + Height = 17 + Name = "bon_fisc" + Width = 60 + * + +ENDDEFINE + +DEFINE CLASS frm_tichete AS frm_termin_renunt OF "_frm_child.vcx" + *< CLASSDATA: Baseclass="form" Timestamp="" Scale="Pixels" Uniqueid="" /> + + *-- OBJECTDATA items order determines ZOrder / El orden de los items OBJECTDATA determina el ZOrder + *< OBJECTDATA: ObjPath="Clb_bon" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="Clb_nr" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="Clb_numerar" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="Clb_valoare" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="Lb_simplu1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="Clb_total" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="_linie1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="_linie2" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="Clb_discount" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="Clb_procent" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="Clb_procent._lbbase2" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="Clb_diminuat" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="cbo_tva_vanzare" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="Label4" UniqueID="" Timestamp="" /> + + * + *m: verificare + *p: bon + *p: diminuat + *p: discount + *p: nr + *p: numerar + *p: procent + *p: total + *p: tva + *p: valoare + * + + * + bon = 0 + diminuat = 0 + discount = 0 + DoCreate = .T. + Height = 231 + Name = "frm_tichete" + nr = 0 + numerar = 0 + procent = 0 + total = 0 + tva = 0.00 + valoare = 0 + Width = 571 + _shape1.Height = 29 + _shape1.Left = 0 + _shape1.Name = "_shape1" + _shape1.Top = 0 + _shape1.Width = 576 + _shape1.ZOrderSet = 1 + _shape2.Height = 29 + _shape2.Left = 511 + _shape2.Name = "_shape2" + _shape2.Top = 0 + _shape2.Width = 63 + _shape2.ZOrderSet = 2 + Lb_titlu_alb_b121.Caption = "Bon" + Lb_titlu_alb_b121.Name = "Lb_titlu_alb_b121" + Lb_titlu_alb_b121.TabIndex = 10 + Lb_titlu_alb_b121.ZOrderSet = 3 + BUT_TERMIN1.Left = 542 + BUT_TERMIN1.Name = "BUT_TERMIN1" + BUT_TERMIN1.TabIndex = 5 + BUT_TERMIN1.Top = 1 + BUT_TERMIN1.ZOrderSet = 4 + Gridsort1.Left = 12 + Gridsort1.Name = "Gridsort1" + Gridsort1.Top = 36 + But_renunt1.Left = 513 + But_renunt1.Name = "But_renunt1" + But_renunt1.TabIndex = 6 + But_renunt1.Top = 1 + But_renunt1.ZOrderSet = 6 + * + + ADD OBJECT '_linie1' AS _linie WITH ; + Height = 0, ; + Left = 345, ; + Name = "_linie1", ; + Top = 170, ; + Width = 10, ; + ZOrderSet = 13 + *< END OBJECT: ClassLib="_baza.vcx" BaseClass="line" /> + + ADD OBJECT '_linie2' AS _linie WITH ; + Height = 0, ; + Left = 345, ; + Name = "_linie2", ; + Top = 176, ; + Width = 10, ; + ZOrderSet = 14 + *< END OBJECT: ClassLib="_baza.vcx" BaseClass="line" /> + + ADD OBJECT 'cbo_tva_vanzare' AS combobox WITH ; + BorderColor = 128,128,128, ; + BorderStyle = 1, ; + ColumnCount = 3, ; + ColumnLines = .F., ; + ColumnWidths = "200,10,0", ; + Comment = "A", ; + ControlSource = "", ; + FontName = "Arial Narrow", ; + Height = 20, ; + InputMask = "", ; + Left = 419, ; + Name = "cbo_tva_vanzare", ; + RowSource = "jtva_vanzare.denumire,cota_tva,id_jtva_coloana", ; + RowSourceType = 6, ; + SpecialEffect = 1, ; + Style = 2, ; + TabIndex = 14, ; + TabStop = .F., ; + Top = 88, ; + Visible = .T., ; + Width = 149 + *< END OBJECT: BaseClass="combobox" /> + + ADD OBJECT 'Clb_bon' AS clb_tx_simplu WITH ; + Left = 228, ; + Name = "Clb_bon", ; + TabIndex = 11, ; + Top = 36, ; + ZOrderSet = 7, ; + Text_simplu1.ControlSource = "thisform.bon", ; + Text_simplu1.Height = 23, ; + Text_simplu1.InputMask = "999 999 999.99", ; + Text_simplu1.Left = 136, ; + Text_simplu1.Name = "Text_simplu1", ; + Text_simplu1.ReadOnly = .T., ; + Text_simplu1.Top = 3, ; + Text_simplu1.Width = 148, ; + Lb_simplu1.Caption = "Valoare Bon", ; + Lb_simplu1.Name = "Lb_simplu1" + *< END OBJECT: ClassLib="lb_tx.vcx" BaseClass="container" /> + + ADD OBJECT 'Clb_diminuat' AS clb_tx_simplu WITH ; + Left = 228, ; + Name = "Clb_diminuat", ; + TabIndex = 8, ; + Top = 120, ; + ZOrderSet = 19, ; + Text_simplu1.ControlSource = "thisform.diminuat", ; + Text_simplu1.Height = 23, ; + Text_simplu1.InputMask = "999 999 999.99", ; + Text_simplu1.Left = 135, ; + Text_simplu1.Name = "Text_simplu1", ; + Text_simplu1.ReadOnly = .T., ; + Text_simplu1.Top = 3, ; + Text_simplu1.Width = 149, ; + Lb_simplu1.Caption = "Total", ; + Lb_simplu1.Name = "Lb_simplu1" + *< END OBJECT: ClassLib="lb_tx.vcx" BaseClass="container" /> + + ADD OBJECT 'Clb_discount' AS clb_tx_simplu WITH ; + Height = 29, ; + Left = 168, ; + Name = "Clb_discount", ; + TabIndex = 2, ; + Top = 80, ; + Width = 246, ; + ZOrderSet = 15, ; + Text_simplu1.ControlSource = "thisform.discount", ; + Text_simplu1.Height = 23, ; + Text_simplu1.InputMask = "999 999 999.99", ; + Text_simplu1.Left = 91, ; + Text_simplu1.Name = "Text_simplu1", ; + Text_simplu1.ReadOnly = .F., ; + Text_simplu1.Top = 3, ; + Text_simplu1.Width = 149, ; + Lb_simplu1.Caption = "Valoare", ; + Lb_simplu1.Name = "Lb_simplu1" + *< END OBJECT: ClassLib="lb_tx.vcx" BaseClass="container" /> + + ADD OBJECT 'Clb_nr' AS clb_tx_simplu WITH ; + Height = 29, ; + Left = 12, ; + Name = "Clb_nr", ; + TabIndex = 3, ; + Top = 160, ; + Width = 152, ; + ZOrderSet = 8, ; + Text_simplu1.ControlSource = "thisform.nr", ; + Text_simplu1.Height = 23, ; + Text_simplu1.Left = 113, ; + Text_simplu1.Name = "Text_simplu1", ; + Text_simplu1.Top = 3, ; + Text_simplu1.Width = 35, ; + Lb_simplu1.Caption = "Tichete de masa", ; + Lb_simplu1.Name = "Lb_simplu1" + *< END OBJECT: ClassLib="lb_tx.vcx" BaseClass="container" /> + + ADD OBJECT 'Clb_numerar' AS clb_tx_simplu WITH ; + Left = 228, ; + Name = "Clb_numerar", ; + TabIndex = 9, ; + Top = 196, ; + ZOrderSet = 9, ; + Text_simplu1.ControlSource = "thisform.numerar", ; + Text_simplu1.Height = 23, ; + Text_simplu1.InputMask = "999 999 999.99", ; + Text_simplu1.Left = 135, ; + Text_simplu1.Name = "Text_simplu1", ; + Text_simplu1.ReadOnly = .T., ; + Text_simplu1.Top = 3, ; + Text_simplu1.Width = 149, ; + Lb_simplu1.Caption = "Numerar", ; + Lb_simplu1.Name = "Lb_simplu1" + *< END OBJECT: ClassLib="lb_tx.vcx" BaseClass="container" /> + + ADD OBJECT 'Clb_procent' AS clb_tx_simplu WITH ; + Height = 29, ; + Left = 12, ; + Name = "Clb_procent", ; + TabIndex = 1, ; + Top = 80, ; + Width = 144, ; + ZOrderSet = 16, ; + Text_simplu1.ControlSource = "thisform.procent", ; + Text_simplu1.Height = 23, ; + Text_simplu1.InputMask = "99.99", ; + Text_simplu1.Left = 76, ; + Text_simplu1.Name = "Text_simplu1", ; + Text_simplu1.ReadOnly = .F., ; + Text_simplu1.Top = 3, ; + Text_simplu1.Width = 44, ; + Lb_simplu1.Caption = "Discount", ; + Lb_simplu1.Name = "Lb_simplu1", ; + Lb_simplu1.Top = 6 + *< END OBJECT: ClassLib="lb_tx.vcx" BaseClass="container" /> + + ADD OBJECT 'Clb_procent._lbbase2' AS _lbbase WITH ; + Caption = "%", ; + Left = 126, ; + Name = "_lbbase2", ; + Top = 6 + *< END OBJECT: ClassLib="_lb_base.vcx" BaseClass="label" /> + + ADD OBJECT 'Clb_total' AS clb_tx_simplu WITH ; + Height = 29, ; + Left = 361, ; + Name = "Clb_total", ; + TabIndex = 7, ; + Top = 160, ; + Width = 158, ; + ZOrderSet = 12, ; + Text_simplu1.ControlSource = "thisform.total", ; + Text_simplu1.Height = 23, ; + Text_simplu1.Left = 5, ; + Text_simplu1.Name = "Text_simplu1", ; + Text_simplu1.ReadOnly = .T., ; + Text_simplu1.Top = 3, ; + Text_simplu1.Width = 146, ; + Lb_simplu1.Caption = "(total)", ; + Lb_simplu1.Left = 114, ; + Lb_simplu1.Name = "Lb_simplu1", ; + Lb_simplu1.Top = 6, ; + Lb_simplu1.Visible = .F. + *< END OBJECT: ClassLib="lb_tx.vcx" BaseClass="container" /> + + ADD OBJECT 'Clb_valoare' AS clb_tx_simplu WITH ; + Height = 29, ; + Left = 181, ; + Name = "Clb_valoare", ; + TabIndex = 4, ; + Top = 160, ; + Width = 158, ; + ZOrderSet = 10, ; + Text_simplu1.ControlSource = "thisform.valoare", ; + Text_simplu1.Height = 23, ; + Text_simplu1.InputMask = "999 999 999.99", ; + Text_simplu1.Left = 8, ; + Text_simplu1.Name = "Text_simplu1", ; + Text_simplu1.Top = 3, ; + Text_simplu1.Width = 85, ; + Lb_simplu1.Caption = "(valoare)", ; + Lb_simplu1.Left = 105, ; + Lb_simplu1.Name = "Lb_simplu1", ; + Lb_simplu1.Top = 6 + *< END OBJECT: ClassLib="lb_tx.vcx" BaseClass="container" /> + + ADD OBJECT 'Label4' AS label WITH ; + AutoSize = .T., ; + BackStyle = 0, ; + Caption = "Explicatie TVA", ; + FontName = "Comic Sans MS", ; + Height = 19, ; + Left = 450, ; + Name = "Label4", ; + TabIndex = 13, ; + Top = 69, ; + Visible = .T., ; + Width = 87, ; + ZOrderSet = 18 + *< END OBJECT: BaseClass="label" /> + + ADD OBJECT 'Lb_simplu1' AS lb_simplu WITH ; + Caption = "X", ; + Left = 170, ; + Name = "Lb_simplu1", ; + TabIndex = 12, ; + Top = 166, ; + ZOrderSet = 11 + *< END OBJECT: ClassLib="lb.vcx" BaseClass="label" /> + + PROCEDURE Activate + * + ENDPROC + + PROCEDURE inainte_de_do_termin + Thisform.verificare('0') + Local lcStringTichet,lcStringDisc + Store '' To lcStringTichet,lcStringDisc + pcStringImprim = '' + pcStringImprim = [2;] + [NUMERAR;0;] + Alltrim(Str(Thisform.numerar,9,3)) + [;] + CRLF + + *!* THISFORM.tva=VAL(THISFORM.cotaTVA.VALUE) + If Thisform.nr>0 And Thisform.valoare>0 + If Thisform.discount>0 + lcProc = Alltrim(Str(Thisform.procent,5,2)) + Else + lcProc = 0.00 + Endif + lcStringmp500= [T,1,______,_,__;0;]+ Alltrim(Str(Thisform.numerar*100,8,3))+[;;;;]+CRLF+; + [T,1,______,_,__;3;]+ Alltrim(Str(Thisform.Total*100,8,3))+[;;;;]+CRLF+; + IIF(Thisform.discount > 0,[T,1,______,_,__;4;] + CRLF + [C,1,______,_,__;1;]+lcProc+[;;;;] + CRLF,'')+; + [F,1,______,_,__;]+CRLF + + + + lcStringTichet = [2;] + [TICHET;0;] + Alltrim(Str(Thisform.Total,9,3)) + [;] + CRLF + Select actactan + Locate For Alltrim(scd)='5311' + If Found() + Scatter Name lmp500 + Replace suma With Thisform.numerar + Append Blank + Gather Name lmp500 + Replace suma With Min(Thisform.Total,Thisform.bon),scd With '5323' + Select actactan + Go Top + Endif + Else + lcStringmp500=[T,1,______,_,__;]+CRLF+[F,1,______,_,__;]+CRLF + Endif + + If Thisform.discount>0 + lcStringDisc = [2;] + [DISCOUNT;0;] + Alltrim(Str(Thisform.procent,2)) + [;] + CRLF + lctvad = (-1)*Round(Thisform.tva*Thisform.discount/(Thisform.tva+100),gnPc) + lcbazad = Thisform.discount+lctvad + Select actactan + Locate For Alltrim(scd)='4111' + If Found() + Scatter Name lmp500 + Append Blank + Gather Name lmp500 + Replace scd With '667',ascd With '',scc With '4111',ascc With '5',suma With lcbazad,id_partc With id_partd,partc With partd,partd With '',id_partd With 0 + Select jtva_coloane + Locate For id_jtva_coloana = lmp500.id_jtva_coloana + If Found() + lnIdTva = id_tva + Select actactan + Append Blank + Gather Name lmp500 + Replace scc With '4427',ascc With '',suma With lctvad,id_jtva_coloana With lnIdTva + Endif + Select actactan + Go Top + Endif + Endif + + pcStringImprim = pcStringImprim + lcStringTichet + lcStringDisc + + Return .T. + + + ENDPROC + + PROCEDURE Init + Parameters tnsuma + Thisform.bon=tnsuma + Thisform.numerar=tnsuma + Thisform.clb_procent.SetFocus() + *!* Select cote_tva + *!* Go Top + *!* Thisform.tva=procent + *!* Thisform.cotaTVA.Value=Alltrim(Str(Thisform.tva)) + *!* Thisform.cotaTVA.Refresh() + Select actactan + Locate For Alltrim(scd)='5311' + If Found() + lnIdJtva = id_jtva_coloana + Select jtva_vanzare + Locate For id_jtva_coloana = lnIdJtva + If !Found() + Go Top + Endif + Else + Select jtva_vanzare + Go Top + Endif + Thisform.tva = cota_tva + Thisform.cbO_TVA_VANZARE.Value = Alltrim(denumire) + DoDefault() + + ENDPROC + + PROCEDURE verificare + LPARAMETERS tcPar + DO CASE + CASE tcPar = 'thisform.procent' + thisform.discount = ROUND(thisform.bon*thisform.procent/100,gnPc) + thisform.clb_discount.Refresh + CASE tcPar = 'thisform.discount' + IF thisform.discount>thisform.bon + thisform.discount=0 + thisform.procent=0 + thisform.clb_procent.Refresh + thisform.clb_discount.Refresh + ELSE + thisform.procent = ROUND(thisform.discount*100/thisform.bon,2) + thisform.clb_procent.Refresh + + ENDIF + OTHERWISE + ENDCASE + + + thisform.diminuat=thisform.bon-thisform.discount + thisform.total=thisform.nr*thisform.valoare + IF thisform.total>thisform.diminuat + thisform.numerar=0 + ELSE + thisform.numerar=thisform.diminuat-thisform.total + ENDIF + thisform.clb_total.Refresh + thisform.clb_numerar.Refresh + thisform.clb_diminuat.Refresh + ENDPROC + + PROCEDURE cbo_tva_vanzare.InteractiveChange + Thisform.tva = jtva_vanzare.cota_tva + ENDPROC + + PROCEDURE Clb_discount.Text_simplu1.Valid + thisform.verificare(this.ControlSource) + ENDPROC + + PROCEDURE Clb_nr.Text_simplu1.Valid + thisform.verificare(this.ControlSource) + ENDPROC + + PROCEDURE Clb_procent.Text_simplu1.Valid + thisform.verificare(this.ControlSource) + ENDPROC + + PROCEDURE Clb_valoare.Text_simplu1.Valid + thisform.verificare(this.ControlSource) + ENDPROC + +ENDDEFINE + +DEFINE CLASS frm_tichete1408 AS frm_termin_renunt OF "_frm_child.vcx" + *< CLASSDATA: Baseclass="form" Timestamp="" Scale="Pixels" Uniqueid="" /> + + *-- OBJECTDATA items order determines ZOrder / El orden de los items OBJECTDATA determina el ZOrder + *< OBJECTDATA: ObjPath="Clb_bon" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="Clb_nr" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="Clb_numerar" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="Clb_valoare" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="Lb_simplu1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="Clb_total" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="_linie1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="_linie2" UniqueID="" Timestamp="" /> + + * + *m: verificare + *p: bon + *p: nr + *p: numerar + *p: total + *p: valoare + * + + * + bon = 0 + BorderStyle = 1 + DoCreate = .T. + Height = 144 + Name = "frm_tichete" + nr = 0 + numerar = 0 + total = 0 + valoare = 0 + Width = 525 + _shape1.Height = 29 + _shape1.Left = 0 + _shape1.Name = "_shape1" + _shape1.Top = 0 + _shape1.Width = 524 + _shape2.Height = 29 + _shape2.Left = 460 + _shape2.Name = "_shape2" + _shape2.Top = 0 + _shape2.Width = 63 + Lb_titlu_alb_b121.Caption = "Bon" + Lb_titlu_alb_b121.Name = "Lb_titlu_alb_b121" + Lb_titlu_alb_b121.TabIndex = 7 + BUT_TERMIN1.Left = 491 + BUT_TERMIN1.Name = "BUT_TERMIN1" + BUT_TERMIN1.TabIndex = 3 + BUT_TERMIN1.Top = 1 + Gridsort1.Left = 24 + Gridsort1.Name = "Gridsort1" + Gridsort1.Top = 108 + But_renunt1.Left = 462 + But_renunt1.Name = "But_renunt1" + But_renunt1.TabIndex = 4 + But_renunt1.Top = 1 + * + + ADD OBJECT '_linie1' AS _linie WITH ; + Height = 0, ; + Left = 344, ; + Name = "_linie1", ; + Top = 82, ; + Width = 10 + *< END OBJECT: ClassLib="_baza.vcx" BaseClass="line" /> + + ADD OBJECT '_linie2' AS _linie WITH ; + Height = 0, ; + Left = 344, ; + Name = "_linie2", ; + Top = 88, ; + Width = 10 + *< END OBJECT: ClassLib="_baza.vcx" BaseClass="line" /> + + ADD OBJECT 'Clb_bon' AS clb_tx_simplu WITH ; + Left = 228, ; + Name = "Clb_bon", ; + TabIndex = 8, ; + Top = 36, ; + Text_simplu1.ControlSource = "thisform.bon", ; + Text_simplu1.Height = 23, ; + Text_simplu1.InputMask = "999 999 999.99", ; + Text_simplu1.Left = 136, ; + Text_simplu1.Name = "Text_simplu1", ; + Text_simplu1.ReadOnly = .T., ; + Text_simplu1.Top = 3, ; + Text_simplu1.Width = 148, ; + Lb_simplu1.Caption = "Valoare Bon", ; + Lb_simplu1.Name = "Lb_simplu1" + *< END OBJECT: ClassLib="lb_tx.vcx" BaseClass="container" /> + + ADD OBJECT 'Clb_nr' AS clb_tx_simplu WITH ; + Height = 29, ; + Left = 11, ; + Name = "Clb_nr", ; + TabIndex = 1, ; + Top = 72, ; + Width = 152, ; + Text_simplu1.ControlSource = "thisform.nr", ; + Text_simplu1.Height = 23, ; + Text_simplu1.Left = 113, ; + Text_simplu1.Name = "Text_simplu1", ; + Text_simplu1.Top = 3, ; + Text_simplu1.Width = 35, ; + Lb_simplu1.Caption = "Tichete de masa", ; + Lb_simplu1.Name = "Lb_simplu1" + *< END OBJECT: ClassLib="lb_tx.vcx" BaseClass="container" /> + + ADD OBJECT 'Clb_numerar' AS clb_tx_simplu WITH ; + Left = 228, ; + Name = "Clb_numerar", ; + TabIndex = 6, ; + Top = 108, ; + Text_simplu1.ControlSource = "thisform.numerar", ; + Text_simplu1.Height = 23, ; + Text_simplu1.InputMask = "999 999 999.99", ; + Text_simplu1.Left = 135, ; + Text_simplu1.Name = "Text_simplu1", ; + Text_simplu1.ReadOnly = .T., ; + Text_simplu1.Top = 3, ; + Text_simplu1.Width = 149, ; + Lb_simplu1.Caption = "Numerar", ; + Lb_simplu1.Name = "Lb_simplu1" + *< END OBJECT: ClassLib="lb_tx.vcx" BaseClass="container" /> + + ADD OBJECT 'Clb_total' AS clb_tx_simplu WITH ; + Height = 29, ; + Left = 360, ; + Name = "Clb_total", ; + TabIndex = 5, ; + Top = 72, ; + Width = 158, ; + Text_simplu1.ControlSource = "thisform.total", ; + Text_simplu1.Height = 23, ; + Text_simplu1.Left = 5, ; + Text_simplu1.Name = "Text_simplu1", ; + Text_simplu1.ReadOnly = .T., ; + Text_simplu1.Top = 3, ; + Text_simplu1.Width = 146, ; + Lb_simplu1.Caption = "(total)", ; + Lb_simplu1.Left = 114, ; + Lb_simplu1.Name = "Lb_simplu1", ; + Lb_simplu1.Top = 6, ; + Lb_simplu1.Visible = .F. + *< END OBJECT: ClassLib="lb_tx.vcx" BaseClass="container" /> + + ADD OBJECT 'Clb_valoare' AS clb_tx_simplu WITH ; + Height = 29, ; + Left = 181, ; + Name = "Clb_valoare", ; + TabIndex = 2, ; + Top = 72, ; + Width = 158, ; + Text_simplu1.ControlSource = "thisform.valoare", ; + Text_simplu1.Height = 23, ; + Text_simplu1.InputMask = "999 999 999.99", ; + Text_simplu1.Left = 8, ; + Text_simplu1.Name = "Text_simplu1", ; + Text_simplu1.Top = 3, ; + Text_simplu1.Width = 85, ; + Lb_simplu1.Caption = "(valoare)", ; + Lb_simplu1.Left = 105, ; + Lb_simplu1.Name = "Lb_simplu1", ; + Lb_simplu1.Top = 6 + *< END OBJECT: ClassLib="lb_tx.vcx" BaseClass="container" /> + + ADD OBJECT 'Lb_simplu1' AS lb_simplu WITH ; + Caption = "X", ; + Left = 169, ; + Name = "Lb_simplu1", ; + TabIndex = 9, ; + Top = 78 + *< END OBJECT: ClassLib="lb.vcx" BaseClass="label" /> + + PROCEDURE Activate + * + ENDPROC + + PROCEDURE inainte_de_do_termin + thisform.verificare() + IF thisform.nr>0 AND thisform.valoare>0 + lcStringmp500= [T,1,______,_,__;0;]+ ALLTRIM(STR(thisform.numerar*100,8,3))+[;;;;]+CRLF+; + [T,1,______,_,__;3;]+ ALLTRIM(STR(thisform.total*100,8,3))+[;;;;]+CRLF+; + [F,1,______,_,__;]+CRLF + + SELECT actactan + LOCATE FOR ALLTRIM(scd)='5311' + IF FOUND() + SCATTER NAME lmp500 + replace suma WITH thisform.numerar + APPEND BLANK + GATHER NAME lmp500 + replace suma WITH MIN(thisform.total,thisform.bon),scd WITH '5323' + SELECT actactan + GO TOP + ENDIF + + ELSE + lcStringmp500=[T,1,______,_,__;]+CRLF+[F,1,______,_,__;]+CRLF + ENDIF + + + RETURN .t. + ENDPROC + + PROCEDURE Init + PARAMETERS tnsuma + thisform.bon=tnsuma + thisform.numerar=tnsuma + thisform.clb_nr.setfocus() + ENDPROC + + PROCEDURE verificare + thisform.total=thisform.nr*thisform.valoare + IF thisform.total>thisform.bon + thisform.numerar=0 + ELSE + thisform.numerar=thisform.bon-thisform.total + ENDIF + thisform.clb_total.Refresh + thisform.clb_numerar.Refresh + ENDPROC + + PROCEDURE Clb_nr.Text_simplu1.Valid + thisform.verificare() + ENDPROC + + PROCEDURE Clb_valoare.Text_simplu1.Valid + thisform.verificare() + ENDPROC + +ENDDEFINE diff --git a/clase/caut.vc2 b/clase/caut.vc2 new file mode 100644 index 0000000..c804c52 --- /dev/null +++ b/clase/caut.vc2 @@ -0,0 +1,1280 @@ +*-------------------------------------------------------------------------------------------------------------------------------------------------------- +* (EN) AUTOGENERATED - ATTENTION!! - NOT INTENDED FOR EXECUTION!! USE ONLY FOR MERGING CHANGES AND STORING WITH SCM TOOLS!! +*-------------------------------------------------------------------------------------------------------------------------------------------------------- +*< FOXBIN2PRG: Version="1.21" SourceFile="caut.vcx" CPID="1252" /> (Solo para binarios VFP 9 / Only for VFP 9 binaries) +* +* +DEFINE CLASS cautalf AS form + *< CLASSDATA: Baseclass="form" Timestamp="" Scale="Pixels" Uniqueid="" /> + + *-- OBJECTDATA items order determines ZOrder / El orden de los items OBJECTDATA determina el ZOrder + *< OBJECTDATA: ObjPath="Pageframe1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="Shape1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="Command3" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="CMDTERMIN1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="Command2" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="Command1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="Grid1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="Grid1.Column1.Header1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="Grid1.Column1.Text1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="Grid1.Column2.Header1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="Grid1.Column2.Text1" UniqueID="" Timestamp="" /> + + * + *m: dezactiv + *m: do_renunt + *m: do_termin + *m: inainte_de_do_renunt + *m: inainte_de_do_termin + *p: e1 + *p: e2 + *p: e3 + * + + * + AutoCenter = .T. + Caption = "" + Closable = .F. + ControlBox = .F. + DoCreate = .T. + HalfHeightCaption = .T. + Height = 217 + MaxButton = .F. + MinButton = .F. + Movable = .F. + Name = "cautalf" + ShowTips = .T. + Width = 341 + WindowState = 0 + WindowType = 1 + * + + ADD OBJECT 'CMDTERMIN1' AS cmd_termin WITH ; + Height = 24, ; + Left = 245, ; + Name = "CMDTERMIN1", ; + TabIndex = 3, ; + Top = 178, ; + Width = 80 + *< END OBJECT: ClassLib="cmd_butoane.vcx" BaseClass="commandbutton" /> + + ADD OBJECT 'Command1' AS commandbutton WITH ; + AutoSize = .F., ; + Caption = "", ; + FontBold = .T., ; + Height = 24, ; + Left = 23, ; + Name = "Command1", ; + Picture = ..\grafice\new.bmp, ; + StatusBarText = "Nume nou", ; + TabIndex = 6, ; + ToolTipText = "Nume nou", ; + Top = 178, ; + Width = 30 + *< END OBJECT: BaseClass="commandbutton" /> + + ADD OBJECT 'Command2' AS commandbutton WITH ; + Caption = "", ; + FontBold = .T., ; + Height = 24, ; + Left = 85, ; + Name = "Command2", ; + Picture = ..\grafice\edit1.bmp, ; + StatusBarText = "Modificare", ; + TabIndex = 4, ; + ToolTipText = "Modificare", ; + Top = 178, ; + Width = 30 + *< END OBJECT: BaseClass="commandbutton" /> + + ADD OBJECT 'Command3' AS commandbutton WITH ; + Caption = "", ; + FontBold = .T., ; + Height = 24, ; + Left = 54, ; + Name = "Command3", ; + Picture = ..\grafice\delete.bmp, ; + StatusBarText = "Stergere", ; + TabIndex = 5, ; + ToolTipText = "Stergere", ; + Top = 178, ; + Width = 30 + *< END OBJECT: BaseClass="commandbutton" /> + + ADD OBJECT 'Grid1' AS grid WITH ; + AllowHeaderSizing = .F., ; + AllowRowSizing = .F., ; + BackColor = 255,255,255, ; + ColumnCount = 2, ; + DeleteMark = .F., ; + GridLineColor = 255,255,255, ; + Height = 108, ; + Left = 12, ; + Name = "Grid1", ; + Panel = 1, ; + ReadOnly = .T., ; + RecordSource = "", ; + ScrollBars = 2, ; + TabIndex = 2, ; + Top = 68, ; + Width = 315, ; + Column1.BackColor = 255,255,255, ; + Column1.ControlSource = "", ; + Column1.Format = "!", ; + Column1.Name = "Column1", ; + Column1.ReadOnly = .T., ; + Column1.Width = 209, ; + Column2.BackColor = 255,255,255, ; + Column2.ControlSource = "", ; + Column2.Name = "Column2", ; + Column2.ReadOnly = .T., ; + Column2.Visible = .T., ; + Column2.Width = 73 + *< END OBJECT: BaseClass="grid" /> + + ADD OBJECT 'Grid1.Column1.Header1' AS header WITH ; + Caption = "Denumire", ; + Name = "Header1" + *< END OBJECT: BaseClass="header" /> + + ADD OBJECT 'Grid1.Column1.Text1' AS textbox WITH ; + BackColor = 255,255,255, ; + BorderStyle = 0, ; + ForeColor = 0,0,0, ; + Margin = 0, ; + Name = "Text1", ; + ReadOnly = .T. + *< END OBJECT: BaseClass="textbox" /> + + ADD OBJECT 'Grid1.Column2.Header1' AS header WITH ; + Alignment = 2, ; + Caption = "", ; + Name = "Header1" + *< END OBJECT: BaseClass="header" /> + + ADD OBJECT 'Grid1.Column2.Text1' AS textbox WITH ; + BackColor = 255,255,255, ; + BorderStyle = 0, ; + ForeColor = 0,0,0, ; + Margin = 0, ; + Name = "Text1", ; + Visible = .T. + *< END OBJECT: BaseClass="textbox" /> + + ADD OBJECT 'Pageframe1' AS pageframe WITH ; + ActivePage = 27, ; + ErasePage = .T., ; + Height = 214, ; + Left = 3, ; + Name = "Pageframe1", ; + PageCount = 27, ; + TabIndex = 1, ; + Tabs = .T., ; + TabStretch = 0, ; + TabStyle = 0, ; + Top = 2, ; + Width = 336, ; + Page1.Caption = "A", ; + Page1.Name = "Page1", ; + Page2.Caption = "B", ; + Page2.Name = "Page2", ; + Page3.Caption = "C", ; + Page3.Name = "Page3", ; + Page4.Caption = "D", ; + Page4.Name = "Page4", ; + Page5.Caption = "E", ; + Page5.Name = "Page5", ; + Page6.Caption = "F", ; + Page6.Name = "Page6", ; + Page7.Caption = "G", ; + Page7.Name = "Page7", ; + Page8.Caption = "H", ; + Page8.Name = "Page8", ; + Page9.Caption = "I", ; + Page9.Name = "Page9", ; + Page10.Caption = "J", ; + Page10.Name = "Page10", ; + Page11.Caption = "K", ; + Page11.Name = "Page11", ; + Page12.Caption = "L", ; + Page12.Name = "Page12", ; + Page13.Caption = "M", ; + Page13.Name = "Page13", ; + Page14.Caption = "N", ; + Page14.Name = "Page14", ; + Page15.Caption = "O", ; + Page15.Name = "Page15", ; + Page16.Caption = "P", ; + Page16.Name = "Page16", ; + Page17.Caption = "Q", ; + Page17.Name = "Page17", ; + Page18.Caption = "R", ; + Page18.Name = "Page18", ; + Page19.Caption = "S", ; + Page19.Name = "Page19", ; + Page20.Caption = "T", ; + Page20.Name = "Page20", ; + Page21.Caption = "U", ; + Page21.Name = "Page21", ; + Page22.Caption = "V", ; + Page22.Name = "Page22", ; + Page23.Caption = "W", ; + Page23.Name = "Page23", ; + Page24.Caption = "X", ; + Page24.Name = "Page24", ; + Page25.Caption = "Y", ; + Page25.Name = "Page25", ; + Page26.Caption = "Z", ; + Page26.Name = "Page26", ; + Page27.Caption = " ", ; + Page27.Name = "Page27" + *< END OBJECT: BaseClass="pageframe" /> + + ADD OBJECT 'Shape1' AS shape WITH ; + Height = 143, ; + Left = 7, ; + Name = "Shape1", ; + SpecialEffect = 0, ; + Top = 63, ; + Width = 325 + *< END OBJECT: BaseClass="shape" /> + + PROCEDURE dezactiv + PARAMETERS L + THISFORM.CMDTERMIN1.ENABLED=L + if !L + THISFORM.COMMAND1.ENABLED=L + THISFORM.COMMAND2.ENABLED=L + THISFORM.COMMAND3.ENABLED=L + ELSE + THISFORM.COMMAND1.ENABLED=THIS.E1 + THISFORM.COMMAND2.ENABLED=THIS.E2 + THISFORM.COMMAND3.ENABLED=THIS.E3 + ENDIF + + + ENDPROC + + PROCEDURE do_renunt + IF this.inainte_de_do_renunt() + gnButon = 2 + pnButon = 2 + Buton = 2 + pnIesire = 2 + this.Release + ENDIF + ENDPROC + + PROCEDURE do_termin + IF this.inainte_de_do_termin() + gnButon = 1 + pnButon = 1 + Buton = 1 + pnIesire = 1 + this.Release + ENDIF + ENDPROC + + PROCEDURE inainte_de_do_renunt + RETURN .t. + ENDPROC + + PROCEDURE inainte_de_do_termin + RETURN .t. + ENDPROC + + PROCEDURE Show + LPARAMETERS nStyle + local c,n1,n2,n3,N4 + + c=THISFORM.CAPTION + n1='NUMELE FURNIZORULUI' + n2='NUMELE CLIENTULUI' + n3='MODIFICARI FURNIZORI' + N4='MODIFICARI CLIENTI' + + lcTabel = ALLTRIM(thisform.grid1.RecordSource ) + LcCol = lcTabel + '.cod_fiscal' + + *!* IF INLIST(c,n1,n2,n3,N4,'NUMELE GESTIUNII') OR TYPE(lcCol) # 'U' + *!* thisform.grid1.column2.visible=.t. + *!* endif + + do case + *case inlist(c,n1,n3,n2,n4) + CASE TYPE(lcCol) # 'U' + thisform.grid1.column2.controlsource='cod_fiscal' + case c='NUMELE GESTIUNII' + thisform.grid1.column2.controlsource='GEST' + thisform.grid1.column2.HEADER1.CAPTION='Indicativ' + + endcase + + + if !inlist(c,'FELUL DOCUMENTULUI',n3,N4) + THIS.COMMAND3.ENABLED=.F. + THIS.COMMAND2.ENABLED=.F. + ENDIF + *if inlist(c,n3,N4,'NUMELE LUCRARII') + * THIS.COMMAND1.ENABLED=.F. + *ENDIF + + THIS.e1=THIS.COMMAND1.ENABLED + THIS.e2=THIS.COMMAND2.ENABLED + THIS.e3=THIS.COMMAND3.ENABLED + + ENDPROC + + PROCEDURE CMDTERMIN1.KeyPress + LPARAMETERS nKeyCode, nShiftAltCtrl + IF INKEY()=13 THEN + THIS.CLICK + ENDIF + ENDPROC + + PROCEDURE CMDTERMIN1.Valid + + + scatter memvar + + + ENDPROC + + PROCEDURE CMDTERMIN1.When + if eof() then + go top + endif + * + ENDPROC + + PROCEDURE Command1.Click + + THISFORM.DEZACTIV(.F.) + LOCAL c,CS + c=THISFORM.CAPTION + CS='onm.text1.controlsource="M.'+THISFORM.GRID1.COLUMN1.CONTROLSOURCE+'"' + + PcControlS = 'M.'+THISFORM.GRID1.COLUMN1.CONTROLSOURCE + + lcTabel = ALLTRIM(THISFORM.GRID1.RECORDSOURCE ) + LcCol = lcTabel + '.cod_fiscal' + + APPE BLANK + *!* IF INLIST(c,'NUMELE FURNIZORULUI','NUMELE CLIENTULUI') + IF TYPE(LcCol) # 'U' + ONM=CREATEOBJECT("NOUMODI_CODF") + ONM.CAPTION='NUME NOU' + ONM.text1.CONTROLSOURCE = PcControlS + ONM.text2.CONTROLSOURCE = 'm.cod_fiscal' + ONM.SHOW(1) + IF BUTON = 1 + SELECT (lcTabel) + APPEND BLANK + GATHER MEMVAR + ENDIF + ELSE + IF LIKE('*GEST*',c) + O=CREA('AFGEST') + O.SHOW(1) + ENDIF + ONM=CREATEOBJECT("NOUMODI") + ONM.CAPTION='NUME NOU' + &CS + ONM.SHOW(1) + SELECT (NUMEBAZA) + APPEND BLANK + GATHER FIELDS &NUMECIMP MEMVAR + ENDIF + THISFORM.DEZACTIV(.T.) + SELECT (lcTabel) + + THISFORM.PAGEFRAME1.REFRESH + + ENDPROC + + PROCEDURE Command2.Click + local CS,c + CS='onm.text1.controlsource="M.'+THISFORM.GRID1.COLUMN1.CONTROLSOURCE+'"' + c=thisform.caption + lcsel = thisform.grid1.RecordSource + lcTabel = ALLTRIM(thisform.grid1.RecordSource ) + LcCol = lcTabel + '.cod_fiscal' + SELECT (lcSel) + lcsalv = &numecimp + + THISFORM.DEZACTIV(.F.) + + DO CASE + CASE TYPE(LcCol) # 'U' + ONM=CREATEOBJECT("NOUMODI_CODF") + onm.caption='MODIFICARE' + ONM.LABEL1.CAPTION="Modificati:" + onm.text1.controlsource = numecimp + onm.text2.controlsource='m.cod_fiscal' + ONM.SHOW(1) + + CASE INLIST(C,'MODIFICARI FURNIZORI','MODIFICARI CLIENTI') + ONM=CREATEOBJECT("modianalit") + onm.caption='MODIFICARE' + onm.text1.controlsource='M.NUME' + onm.text2.controlsource='m.cod_fiscal' + ONM.SHOW(1) + + OTHERWISE + ONM=CREATEOBJECT("NOUMODI") + onm.caption='MODIFICARE' + &CS + ONM.LABEL1.CAPTION="Modificati:" + ONM.SHOW(1) + + ENDCASE + + IF buton = 1 + SELECT (NUMEBAZA) + lccond = numecimp + ' = ALLTRIM(lcsalv)' + LOCATE FOR &lccond + IF FOUND() + GATHER FIELDS &numecimp MEMVAR + do mesaj with 'Modificarea s-a efectuat','' + ENDIF + ENDIF + SELECT tnomenclator + go bottom + + THISFORM.DEZACTIV(.T.) + THISFORM.PAGEFRAME1.REFRESH + + + ENDPROC + + PROCEDURE Command3.Click + local CS + CS='onm.text1.controlsource="M.'+THISFORM.GRID1.COLUMN1.CONTROLSOURCE+'"' + + THISFORM.DEZACTIV(.F.) + + ONM=CREATEOBJECT("NOUMODI") + onm.caption='STERGERE' + ONM.LABEL1.CAPTION="Stergeti:" + &CS + ONM.TEXT1.READONLY=.T. + ONM.SHOW(1) + IF buton = 1 + SELECT (NUMEBAZA) + lccond = numecimp + ' = m.' + ALLTRIM(numecimp) + LOCATE FOR &lccond + IF FOUND() + DELETE + ENDIF + ENDIF + + SELECT tnomenclator + go bottom + + THISFORM.DEZACTIV(.T.) + THISFORM.PAGEFRAME1.REFRESH + ENDPROC + + PROCEDURE Grid1.Column1.Text1.KeyPress + LPARAMETERS nKey, nShiftAltCtrl + LOCAL NP,T + + if nkey==13 then + THISFORM.cmdTERMIN1.SetFocus + endif + + IF nkey>=97 AND NKEY<=122 + S=UPPER(CHR(NKEY)) + NP=ALLTRIM(STR(NKEY-96)) + T='THISFORM.PAGEFRAME1.ACTIVEPAGE='+NP + &T + THISFORM.PAGEFRAME1.REFRESH + ENDIF + + IF nkey>=65 AND NKEY<=90 + S=UPPER(CHR(NKEY)) + NP=ALLTRIM(STR(NKEY-64)) + T='THISFORM.PAGEFRAME1.ACTIVEPAGE='+NP + &T + THISFORM.PAGEFRAME1.REFRESH + ENDIF + + IF nkey==32 + S=' ' + THISFORM.PAGEFRAME1.ACTIVEPAGE=27 + THISFORM.PAGEFRAME1.REFRESH + ENDIF + ENDPROC + + PROCEDURE Grid1.Init + LOCAL LB + CIMP=ALLTRIM(THISFORM.GRID1.COLUMN1.CONTROLSOURCE) + *!* L="SET FILTER TO !deleted() and left(" + CIMP + ",2)#' '" + *!* &L + + ENDPROC + + PROCEDURE Pageframe1.Init + PUBLIC S + S=" " + + ENDPROC + + PROCEDURE Pageframe1.Page1.Click + S=THIS.CAPTION + THISFORM.REFRESH + ENDPROC + + PROCEDURE Pageframe1.Page10.Click + S=THIS.CAPTION + THISFORM.REFRESH + ENDPROC + + PROCEDURE Pageframe1.Page11.Click + S=THIS.CAPTION + THISFORM.REFRESH + ENDPROC + + PROCEDURE Pageframe1.Page12.Click + S=THIS.CAPTION + THISFORM.REFRESH + ENDPROC + + PROCEDURE Pageframe1.Page13.Click + S=THIS.CAPTION + THISFORM.REFRESH + ENDPROC + + PROCEDURE Pageframe1.Page14.Click + S=THIS.CAPTION + THISFORM.REFRESH + ENDPROC + + PROCEDURE Pageframe1.Page15.Click + S=THIS.CAPTION + THISFORM.REFRESH + ENDPROC + + PROCEDURE Pageframe1.Page16.Click + S=THIS.CAPTION + THISFORM.REFRESH + ENDPROC + + PROCEDURE Pageframe1.Page17.Click + S=THIS.CAPTION + THISFORM.REFRESH + ENDPROC + + PROCEDURE Pageframe1.Page18.Click + S=THIS.CAPTION + THISFORM.REFRESH + ENDPROC + + PROCEDURE Pageframe1.Page19.Click + S=THIS.CAPTION + THISFORM.REFRESH + ENDPROC + + PROCEDURE Pageframe1.Page2.Click + S=THIS.CAPTION + THISFORM.REFRESH + ENDPROC + + PROCEDURE Pageframe1.Page20.Click + S=THIS.CAPTION + THISFORM.REFRESH + ENDPROC + + PROCEDURE Pageframe1.Page21.Click + S=THIS.CAPTION + THISFORM.REFRESH + ENDPROC + + PROCEDURE Pageframe1.Page22.Click + S=THIS.CAPTION + THISFORM.REFRESH + ENDPROC + + PROCEDURE Pageframe1.Page23.Click + S=THIS.CAPTION + THISFORM.REFRESH + ENDPROC + + PROCEDURE Pageframe1.Page24.Click + S=THIS.CAPTION + THISFORM.REFRESH + ENDPROC + + PROCEDURE Pageframe1.Page25.Click + S=THIS.CAPTION + THISFORM.REFRESH + ENDPROC + + PROCEDURE Pageframe1.Page26.Click + S=THIS.CAPTION + THISFORM.REFRESH + ENDPROC + + PROCEDURE Pageframe1.Page27.Click + S=THIS.CAPTION + THISFORM.REFRESH + ENDPROC + + PROCEDURE Pageframe1.Page3.Click + S=THIS.CAPTION + THISFORM.REFRESH + ENDPROC + + PROCEDURE Pageframe1.Page4.Click + S=THIS.CAPTION + THISFORM.REFRESH + ENDPROC + + PROCEDURE Pageframe1.Page5.Click + S=THIS.CAPTION + THISFORM.REFRESH + ENDPROC + + PROCEDURE Pageframe1.Page6.Click + S=THIS.CAPTION + THISFORM.REFRESH + ENDPROC + + PROCEDURE Pageframe1.Page7.Click + S=THIS.CAPTION + THISFORM.REFRESH + ENDPROC + + PROCEDURE Pageframe1.Page8.Click + S=THIS.CAPTION + THISFORM.REFRESH + ENDPROC + + PROCEDURE Pageframe1.Page9.Click + S=THIS.CAPTION + THISFORM.REFRESH + ENDPROC + + PROCEDURE Pageframe1.Refresh + LOCAL L,L1 + CIMP=ALLTRIM(THISFORM.GRID1.COLUMN1.CONTROLSOURCE) + L="SET FILTER TO !deleted() and left("+CIMP+",5)#space(5)" + L1=L+" AND upper(left("+CIMP+",1))==upper(S)" + + IF S==" " THEN + &L + ELSE + &L1 + ENDIF + GO TOP + thisform.grid1.setfocus + ENDPROC + +ENDDEFINE + +DEFINE CLASS cautalfa AS cautalf OF "caut.vcx" + *< CLASSDATA: Baseclass="form" Timestamp="" Scale="Pixels" Uniqueid="" /> + + *-- OBJECTDATA items order determines ZOrder / El orden de los items OBJECTDATA determina el ZOrder + *< OBJECTDATA: ObjPath="tex" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="Label1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="CMDRENUNT1" UniqueID="" Timestamp="" /> + + * + DoCreate = .T. + Height = 347 + KeyPreview = .T. + Name = "cautalfa" + Width = 511 + Pageframe1.ErasePage = .T. + Pageframe1.Height = 343 + Pageframe1.Left = 3 + Pageframe1.Name = "Pageframe1" + Pageframe1.Page1.Name = "Page1" + Pageframe1.Page10.Name = "Page10" + Pageframe1.Page11.Name = "Page11" + Pageframe1.Page12.Name = "Page12" + Pageframe1.Page13.Name = "Page13" + Pageframe1.Page14.Name = "Page14" + Pageframe1.Page15.Name = "Page15" + Pageframe1.Page16.Name = "Page16" + Pageframe1.Page17.Name = "Page17" + Pageframe1.Page18.Name = "Page18" + Pageframe1.Page19.Name = "Page19" + Pageframe1.Page2.Name = "Page2" + Pageframe1.Page20.Name = "Page20" + Pageframe1.Page21.Name = "Page21" + Pageframe1.Page22.Name = "Page22" + Pageframe1.Page23.Name = "Page23" + Pageframe1.Page24.Name = "Page24" + Pageframe1.Page25.Name = "Page25" + Pageframe1.Page26.Name = "Page26" + Pageframe1.Page27.Name = "Page27" + Pageframe1.Page3.Name = "Page3" + Pageframe1.Page4.Name = "Page4" + Pageframe1.Page5.Name = "Page5" + Pageframe1.Page6.Name = "Page6" + Pageframe1.Page7.Name = "Page7" + Pageframe1.Page8.Name = "Page8" + Pageframe1.Page9.Name = "Page9" + Pageframe1.TabIndex = 3 + Pageframe1.Top = 2 + Pageframe1.Width = 513 + Shape1.Height = 281 + Shape1.Left = 7 + Shape1.Name = "Shape1" + Shape1.Top = 60 + Shape1.Width = 497 + Command3.Enabled = .F. + Command3.Left = 54 + Command3.Name = "Command3" + Command3.TabIndex = 6 + Command3.Top = 313 + CMDTERMIN1.Left = 396 + CMDTERMIN1.Name = "CMDTERMIN1" + CMDTERMIN1.TabIndex = 4 + CMDTERMIN1.Top = 313 + Command2.Enabled = .F. + Command2.Left = 85 + Command2.Name = "Command2" + Command2.TabIndex = 5 + Command2.Top = 313 + Command1.Enabled = .F. + Command1.Left = 23 + Command1.Name = "Command1" + Command1.TabIndex = 7 + Command1.ToolTipText = "Nume nou CTRL+N" + Command1.Top = 313 + Grid1.Column1.Header1.Name = "Header1" + Grid1.Column1.Name = "Column1" + Grid1.Column1.Text1.Name = "Text1" + Grid1.Column1.Width = 365 + Grid1.Column2.Header1.Name = "Header1" + Grid1.Column2.Name = "Column2" + Grid1.Column2.Text1.Name = "Text1" + Grid1.Height = 211 + Grid1.Left = 12 + Grid1.Name = "Grid1" + Grid1.Panel = 1 + Grid1.TabIndex = 2 + Grid1.Top = 99 + Grid1.Width = 480 + * + + ADD OBJECT 'CMDRENUNT1' AS cmd_renunt WITH ; + Height = 24, ; + Left = 311, ; + Name = "CMDRENUNT1", ; + Top = 313, ; + Visible = .F. + *< END OBJECT: ClassLib="cmd_butoane.vcx" BaseClass="commandbutton" /> + + ADD OBJECT 'Label1' AS label WITH ; + AutoSize = .T., ; + Caption = "Contine:", ; + Height = 17, ; + Left = 16, ; + Name = "Label1", ; + TabIndex = 8, ; + Top = 74, ; + Width = 46, ; + WordWrap = .T. + *< END OBJECT: BaseClass="label" /> + + ADD OBJECT 'tex' AS textbox WITH ; + Alignment = 0, ; + ControlSource = "tex", ; + Format = "!t", ; + Height = 23, ; + Left = 72, ; + Name = "tex", ; + TabIndex = 1, ; + Top = 70, ; + Width = 420 + *< END OBJECT: BaseClass="textbox" /> + + PROCEDURE Init + SET ESCAPE On + + ENDPROC + + PROCEDURE KeyPress + LPARAMETERS nKeyCode, nShiftAltCtrl + + IF NKEYCODE=14&&ALT+N + THISFORM.COMMAND1.CLICK + ENDIF + + + ENDPROC + + PROCEDURE Release + SET ESCAPE OFF + + + ENDPROC + + PROCEDURE CMDRENUNT1.Valid + pnbuton=2 + buton=2 + ENDPROC + + PROCEDURE CMDTERMIN1.Valid + buton=1 + ENDPROC + + PROCEDURE Command1.Click + dodefault() + *!* IF buton=1 + *!* VARIAB='M.'+THISFORM.GRID1.COLUMN1.CONTROLSOURCE + *!* *WAIT WINDOW VARIAB + *!* *TEX1=&VARIAB + *!* TEX=&VARIAB + *!* ELSE + *!* *TEX1='' + *!* TEX='' + *!* ENDIF + thisform.tex.SetFocus + *THISFORM.GRID1.REFRESH + + ENDPROC + + PROCEDURE Pageframe1.Init + PUBLIC S,TEX1 + S=" " + tex='' + TEX1='' + + ENDPROC + + PROCEDURE Pageframe1.Refresh + LOCAL L,L1,T + + CIMP=THISFORM.GRID1.COLUMN1.CONTROLSOURCE + + IF EMPTY(tex) + T=THISFORM.GRID1.RECORDSOURCE + L="SET FILTER TO !deleted() and left("+M.CIMP+",5)#space(5)" + L1=L+" AND upper(left("+M.CIMP+",1))==upper(S)" + + SELE &T + IF S==" " THEN + &L + ELSE + &L1 + ENDIF + + ELSE + * L='set filter to UPPER(LEFT('+M.CIMP+',LEN(tex)))==upper(tex)' + L='set filter to upper(tex)$UPPER('+M.CIMP+')' + &L + ENDIF + + GO TOP + THISFORM.GRID1.REFRESH + + ENDPROC + + PROCEDURE tex.InteractiveChange + TEX = UPPER(ALLTRIM(this.Value)) + thisform.pageframe1.refresh + + ENDPROC + + PROCEDURE tex.KeyPress + LPARAMETERS nKeyCode, nShiftAltCtrl + + *!* DO CASE + *!* CASE (NKEYCODE>=48 AND NKEYCODE<=57) OR (NKEYCODE>=65 AND NKEYCODE<=90) OR (NKEYCODE>=97 AND NKEYCODE<=122) OR NKEYCODE=32 OR NKEYCODE=46 + *!* TEX1=upper(TEX1+CHR(NKEYCODE)) + *!* TEX=TEX1 + *!* CASE NKEYCODE=127 && or NKEYCODE=7 + *!* TEX1=LEFT(tex,LEN(tex)-1) + *!* TEX=TEX1 + *!* CASE NKEYCODE=7 + *!* TEX1='' + *!* TEX=TEX1 + *!* THIS.REFRESH + *!* CASE NKEYCODE=13 + *!* TEX=TEX1 + *!* THIS.REFRESH + *!* ENDCASE + + *!* thisform.pageframe1.refresh + + ENDPROC + +ENDDEFINE + +DEFINE CLASS cautcont AS cautintre OF "caut.vcx" + *< CLASSDATA: Baseclass="form" Timestamp="" Scale="Pixels" Uniqueid="" /> + + *-- OBJECTDATA items order determines ZOrder / El orden de los items OBJECTDATA determina el ZOrder + *< OBJECTDATA: ObjPath="Combo3" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="Combo1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="Label3" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="CMDRENUNT1" UniqueID="" Timestamp="" /> + + * + DoCreate = .T. + Height = 145 + Name = "cautcont" + Width = 320 + SHAPE1.Height = 67 + SHAPE1.Left = 18 + SHAPE1.Name = "SHAPE1" + SHAPE1.Top = 8 + SHAPE1.Width = 284 + SHAPE1.ZOrderSet = 0 + Label1.Left = 37 + Label1.Name = "Label1" + Label1.TabIndex = 6 + Label1.Top = 18 + Label1.ZOrderSet = 1 + Text1.Left = 576 + Text1.Name = "Text1" + Text1.TabIndex = 4 + Text1.Top = 12 + Text1.Visible = .F. + Text1.ZOrderSet = 2 + CMDTERMIN1.Left = 216 + CMDTERMIN1.Name = "CMDTERMIN1" + CMDTERMIN1.TabIndex = 3 + CMDTERMIN1.Top = 108 + CMDTERMIN1.ZOrderSet = 8 + LABEL2.Left = 37 + LABEL2.Name = "LABEL2" + LABEL2.TabIndex = 7 + LABEL2.Top = 48 + LABEL2.ZOrderSet = 3 + Text2.Left = 576 + Text2.Name = "Text2" + Text2.TabIndex = 5 + Text2.Top = 40 + Text2.Visible = .F. + Text2.ZOrderSet = 4 + CMDRENUNT1.Name = "CMDRENUNT1" + * + + ADD OBJECT 'CMDRENUNT1' AS cmd_renunt WITH ; + Left = 128, ; + Name = "CMDRENUNT1", ; + Top = 108 + *< END OBJECT: ClassLib="cmd_butoane.vcx" BaseClass="commandbutton" /> + + ADD OBJECT 'Combo1' AS combobox WITH ; + ControlSource = "m.scc", ; + Height = 24, ; + Left = 192, ; + Name = "Combo1", ; + RowSource = "bal.cont", ; + RowSourceType = 6, ; + TabIndex = 2, ; + Top = 44, ; + Width = 90, ; + ZOrderSet = 6 + *< END OBJECT: BaseClass="combobox" /> + + ADD OBJECT 'Combo3' AS combobox WITH ; + ControlSource = "m.scd", ; + Height = 24, ; + Left = 192, ; + Name = "Combo3", ; + RowSource = "bal.cont", ; + RowSourceType = 6, ; + TabIndex = 1, ; + Top = 15, ; + Width = 90, ; + ZOrderSet = 5 + *< END OBJECT: BaseClass="combobox" /> + + ADD OBJECT 'Label3' AS label WITH ; + Caption = "Atentie! Nu este verificata corespondenta conturilor!", ; + FontBold = .T., ; + FontName = "Arial", ; + FontSize = 10, ; + ForeColor = 0,0,128, ; + Height = 36, ; + Left = 29, ; + Name = "Label3", ; + TabIndex = 8, ; + Top = 84, ; + Width = 283, ; + WordWrap = .T., ; + ZOrderSet = 7 + *< END OBJECT: BaseClass="label" /> + + PROCEDURE CMDRENUNT1.Valid + buton=2 + ENDPROC + + PROCEDURE CMDTERMIN1.Click + if empty(m.scd) or empty(m.scc) + do mesaj with 'Selectati conturile!','' + else + thisform.release + endif + ENDPROC + + PROCEDURE Combo1.KeyPress + LPARAMETERS nKeyCode, nShiftAltCtrl + public l + if nkeycode>=49 and nkeycode<=55 + l=nkeycode-48 + sele bal + set filter to val(left(cont,1))=l + m.scc=cont + this.refresh + endif + ENDPROC + + PROCEDURE Combo1.Valid + sele bal + set filter to + ENDPROC + + PROCEDURE Combo3.KeyPress + LPARAMETERS nKeyCode, nShiftAltCtrl + public l + if nkeycode>=49 and nkeycode<=55 + l=nkeycode-48 + sele bal + set filter to val(left(cont,1))=l + m.scd=cont + this.refresh + endif + + + ENDPROC + + PROCEDURE Combo3.Valid + sele bal + set filter to + + ENDPROC + +ENDDEFINE + +DEFINE CLASS cautintre AS form + *< CLASSDATA: Baseclass="form" Timestamp="" Scale="Pixels" Uniqueid="" /> + + *-- OBJECTDATA items order determines ZOrder / El orden de los items OBJECTDATA determina el ZOrder + *< OBJECTDATA: ObjPath="Shape1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="Label1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="Text1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="Cmdtermin1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="Label2" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="Text2" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="CMDRENUNT1" UniqueID="" Timestamp="" /> + + * + AutoCenter = .T. + Caption = " " + Closable = .F. + ControlBox = .F. + DoCreate = .T. + Height = 109 + MaxButton = .F. + MinButton = .F. + Movable = .F. + Name = "cautintre" + Width = 340 + * + + ADD OBJECT 'CMDRENUNT1' AS cmd_renunt WITH ; + Height = 27, ; + Left = 81, ; + Name = "CMDRENUNT1", ; + Top = 77, ; + Width = 84 + *< END OBJECT: ClassLib="cmd_butoane.vcx" BaseClass="commandbutton" /> + + ADD OBJECT 'Cmdtermin1' AS cmd_termin WITH ; + Height = 27, ; + Left = 170, ; + Name = "Cmdtermin1", ; + TabIndex = 3, ; + Top = 77, ; + Width = 84 + *< END OBJECT: ClassLib="cmd_butoane.vcx" BaseClass="commandbutton" /> + + ADD OBJECT 'Label1' AS label WITH ; + Caption = "Text1", ; + FontSize = 11, ; + Height = 17, ; + Left = 23, ; + Name = "Label1", ; + TabIndex = 4, ; + Top = 15, ; + Width = 156 + *< END OBJECT: BaseClass="label" /> + + ADD OBJECT 'Label2' AS label WITH ; + Caption = "Text2", ; + FontSize = 11, ; + Height = 17, ; + Left = 23, ; + Name = "Label2", ; + TabIndex = 5, ; + Top = 45, ; + Width = 156 + *< END OBJECT: BaseClass="label" /> + + ADD OBJECT 'Shape1' AS shape WITH ; + Height = 67, ; + Left = 4, ; + Name = "Shape1", ; + SpecialEffect = 0, ; + Top = 5, ; + Width = 332 + *< END OBJECT: BaseClass="shape" /> + + ADD OBJECT 'Text1' AS textbox WITH ; + ControlSource = "", ; + Format = "k", ; + Height = 22, ; + Left = 178, ; + Name = "Text1", ; + TabIndex = 1, ; + Top = 14, ; + Width = 134 + *< END OBJECT: BaseClass="textbox" /> + + ADD OBJECT 'Text2' AS textbox WITH ; + ControlSource = "", ; + Format = "k", ; + Height = 22, ; + Left = 178, ; + Name = "Text2", ; + TabIndex = 2, ; + Top = 42, ; + Width = 134 + *< END OBJECT: BaseClass="textbox" /> + + PROCEDURE Activate + *local t1,t2 + ENDPROC + + PROCEDURE Show + LPARAMETERS nStyle + ENDPROC + + PROCEDURE CMDRENUNT1.Click + DODEFAULT() + *ELSE + BUTON=2 + pnbuton=2 + IF TYPE('thisformset')='O' + THISFORMSET.RELEASE + ENDIF + THISFORM.RELEASE + ENDPROC + + PROCEDURE CMDRENUNT1.Valid + pnbuton=2 + ENDPROC + + PROCEDURE Cmdtermin1.Click + DODEFAULT() + *ELSE + BUTON=1 + pnbuton=1 + IF TYPE('thisformset')='O' + THISFORMSET.RELEASE + ENDIF + THISFORM.RELEASE + ENDPROC + + PROCEDURE Text1.Valid + thisform.text2.value=thisform.text1.value + + thisform.text2.refresh + + ENDPROC + + PROCEDURE Text2.Valid + *if thisform.text2.value + + *-- OBJECTDATA items order determines ZOrder / El orden de los items OBJECTDATA determina el ZOrder + *< OBJECTDATA: ObjPath="Shape1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="Label1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="Text1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="Cmdtermin1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="CMDRENUNT1" UniqueID="" Timestamp="" /> + + * + AutoCenter = .T. + Caption = "" + ControlBox = .F. + DoCreate = .T. + Height = 87 + Name = "cautlitere" + Width = 356 + * + + ADD OBJECT 'CMDRENUNT1' AS cmd_renunt WITH ; + Height = 27, ; + Left = 86, ; + Name = "CMDRENUNT1", ; + Top = 52, ; + Width = 84 + *< END OBJECT: ClassLib="cmd_butoane.vcx" BaseClass="commandbutton" /> + + ADD OBJECT 'Cmdtermin1' AS cmd_termin WITH ; + Left = 186, ; + Name = "Cmdtermin1", ; + TabIndex = 2, ; + Top = 52 + *< END OBJECT: ClassLib="cmd_butoane.vcx" BaseClass="commandbutton" /> + + ADD OBJECT 'Label1' AS label WITH ; + Caption = "Tastati primele litere: ", ; + FontSize = 11, ; + Height = 17, ; + Left = 24, ; + Name = "Label1", ; + TabIndex = 3, ; + Top = 17, ; + Width = 156 + *< END OBJECT: BaseClass="label" /> + + ADD OBJECT 'Shape1' AS shape WITH ; + Height = 36, ; + Left = 3, ; + Name = "Shape1", ; + SpecialEffect = 0, ; + Top = 7, ; + Width = 349 + *< END OBJECT: BaseClass="shape" /> + + ADD OBJECT 'Text1' AS textbox WITH ; + ControlSource = "litere", ; + Format = "k!", ; + Height = 24, ; + Left = 178, ; + Name = "Text1", ; + TabIndex = 1, ; + Top = 14, ; + Width = 134 + *< END OBJECT: BaseClass="textbox" /> + + PROCEDURE CMDRENUNT1.Valid + pnbuton=2 + ENDPROC + + PROCEDURE Text1.Valid + LOCAL L + L=THIS.CONTROLSOURCE+'=ALLTRIM('+THIS.CONTROLSOURCE+')' + &L + ENDPROC + +ENDDEFINE diff --git a/clase/caut_comun.vc2 b/clase/caut_comun.vc2 new file mode 100644 index 0000000..97a4289 --- /dev/null +++ b/clase/caut_comun.vc2 @@ -0,0 +1,410 @@ +*-------------------------------------------------------------------------------------------------------------------------------------------------------- +* (EN) AUTOGENERATED - ATTENTION!! - NOT INTENDED FOR EXECUTION!! USE ONLY FOR MERGING CHANGES AND STORING WITH SCM TOOLS!! +*-------------------------------------------------------------------------------------------------------------------------------------------------------- +*< FOXBIN2PRG: Version="1.21" SourceFile="caut_comun.vcx" CPID="1252" /> (Solo para binarios VFP 9 / Only for VFP 9 binaries) +* +* +DEFINE CLASS ck_filtru_numar AS checkbox + *< CLASSDATA: Baseclass="checkbox" Timestamp="" Scale="Pixels" Uniqueid="" /> + + * + *p: camp_nume + *p: criteriu1 + *p: criteriu2 + *p: filtru + *p: mask + *p: nrzec + *p: tip + * + + * + BackStyle = 0 + Caption = "Check1" + criteriu1 = 1 + criteriu2 = 2 + filtru = + Height = 17 + mask = + Name = "ck_filtru_numar" + nrzec = 0 + tip = N + Width = 60 + * + + PROCEDURE InteractiveChange + WITH this + .filtru = "" + IF .Value = 0 + RETURN + ENDIF + IF TYPE('.mask') = 'N' + .mask = ALLTRIM(STR(.mask)) + ENDIF + + DO FORM frm_filtru_numar WITH .camp_nume, .caption, .criteriu1, .criteriu2, .tip, .mask, .nrzec TO .filtru + IF .filtru = "" + .Value = 0 + ENDIF + + ENDWITH + ENDPROC + + PROCEDURE Valid + LOCAL ARRAY laSearch[1] + + AMEMBERS(laSearch,this.Parent,1,'G') + IF ASCAN(laSearch,'AFISACTUAL')#0 + this.Parent.afisactual + ENDIF + RELEASE laSearch + + ENDPROC + +ENDDEFINE + +DEFINE CLASS ck_filtru_text AS checkbox + *< CLASSDATA: Baseclass="checkbox" Timestamp="" Scale="Pixels" Uniqueid="" /> + + * + *p: camp_nume + *p: cintre + *p: criteriu + *p: criteriu2 + *p: cvaloare1 + *p: cvaloare2 + *p: filtru + * + + * + Alignment = 0 + BackStyle = 0 + camp_nume = + Caption = "Check1" + cintre = + criteriu = 1 + criteriu2 = 1 + cvaloare1 = + cvaloare2 = + filtru = + Height = 17 + Name = "ck_filtru_text" + Width = 60 + * + + PROCEDURE InteractiveChange + WITH this + .filtru = "" + IF .Value = 0 + RETURN + ENDIF + + PRIVATE pcValoare1, pcValoare2, pcIntre, pnCriteriu, pnCriteriu2 && variabile pe care le completeaza forma frm_filtru_text + pcValoare1 = .cValoare1 + pcValoare2 = .cValoare2 + pnCriteriu = .criteriu + pnCriteriu2 = .criteriu2 + pcIntre = .cIntre + + + + DO FORM frm_filtru_text WITH .camp_nume,.caption,.criteriu,.criteriu2 TO .filtru + + IF .filtru = "" + .Value = 0 + .cValoare1 = "" + .cValoare2 = "" + .criteriu = 1 + .criteriu2 = 1 + .cIntre = "" + ELSE + .cValoare1 = pcValoare1 + .cValoare2 = pcValoare2 + .criteriu = pnCriteriu + .criteriu2 = pnCriteriu2 + .cIntre = pcIntre + ENDIF + ENDWITH + ENDPROC + + PROCEDURE Valid + LOCAL ARRAY laSearch[1] + + AMEMBERS(laSearch,this.Parent,1,'G') + IF ASCAN(laSearch,'AFISACTUAL')#0 + this.Parent.afisactual + ENDIF + RELEASE laSearch + ENDPROC + +ENDDEFINE + +DEFINE CLASS frm_filtru_text AS formtermin OF "_frm_base.vcx" + *< CLASSDATA: Baseclass="form" Timestamp="" Scale="Pixels" Uniqueid="" /> + + *-- OBJECTDATA items order determines ZOrder / El orden de los items OBJECTDATA determina el ZOrder + *< OBJECTDATA: ObjPath="Criteriu" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="Text" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="Optiongroup1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="Criteriu2" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="Text2" UniqueID="" Timestamp="" /> + + * + *p: camp_nume + *p: filtru + * + + * + BorderStyle = 1 + DoCreate = .T. + filtru = + Height = 111 + lhide = .F. + Name = "frm_filtru_text" + ScrollBars = 0 + Width = 312 + _shape1.Name = "_shape1" + Lb_titlu_alb_b121.Name = "Lb_titlu_alb_b121" + Lb_titlu_alb_b121.TabIndex = 5 + BUT_TERMIN1.Left = 282 + BUT_TERMIN1.Name = "BUT_TERMIN1" + BUT_TERMIN1.TabIndex = 2 + BUT_TERMIN1.Top = 1 + Resizer1.Label1.Name = "Label1" + Resizer1.Name = "Resizer1" + Resizer1.TabIndex = 7 + * + + ADD OBJECT 'Criteriu' AS combobox WITH ; + BorderStyle = 0, ; + BoundColumn = 2, ; + BoundTo = .T., ; + ColumnCount = 2, ; + ColumnLines = .F., ; + ColumnWidths = "72,0", ; + FontItalic = .T., ; + Height = 24, ; + Left = 11, ; + Name = "Criteriu", ; + ReadOnly = .F., ; + RowSource = "incepe cu...,1,este...,2,nu este...,3,contine...,4,nu contine...,5", ; + RowSourceType = 1, ; + SpecialEffect = 2, ; + Style = 2, ; + TabIndex = 3, ; + ToolTipText = "Selectati criteriul de comparare", ; + Top = 62, ; + Width = 100 + *< END OBJECT: BaseClass="combobox" /> + + ADD OBJECT 'Criteriu2' AS combobox WITH ; + BorderStyle = 0, ; + BoundColumn = 2, ; + BoundTo = .T., ; + ColumnCount = 2, ; + ColumnLines = .F., ; + ColumnWidths = "72,0", ; + FontItalic = .T., ; + Height = 24, ; + Left = 11, ; + Name = "Criteriu2", ; + ReadOnly = .F., ; + RowSource = "incepe cu...,1,este...,2,nu este...,3,contine...,4,nu contine...,5", ; + RowSourceType = 1, ; + SpecialEffect = 2, ; + Style = 2, ; + TabIndex = 8, ; + ToolTipText = "Selectati criteriul de comparare", ; + Top = 120, ; + Width = 100 + *< END OBJECT: BaseClass="combobox" /> + + ADD OBJECT 'Optiongroup1' AS optiongroup WITH ; + BackStyle = 0, ; + BorderStyle = 0, ; + ButtonCount = 3, ; + Height = 18, ; + Left = 94, ; + Name = "Optiongroup1", ; + TabIndex = 4, ; + Top = 90, ; + Value = 3, ; + Width = 193, ; + Option1.AutoSize = .F., ; + Option1.BackStyle = 0, ; + Option1.Caption = "si", ; + Option1.FontItalic = .T., ; + Option1.Height = 17, ; + Option1.Left = 66, ; + Option1.Name = "Option1", ; + Option1.Top = 2, ; + Option1.Value = 0, ; + Option1.Width = 58, ; + Option2.BackStyle = 0, ; + Option2.Caption = "sau", ; + Option2.FontItalic = .T., ; + Option2.Height = 17, ; + Option2.Left = 134, ; + Option2.Name = "Option2", ; + Option2.Top = 2, ; + Option2.Width = 54, ; + Option3.BackStyle = 0, ; + Option3.Caption = "", ; + Option3.ForeColor = 128,128,128, ; + Option3.Height = 17, ; + Option3.Left = 5, ; + Option3.Name = "Option3", ; + Option3.Style = 0, ; + Option3.Top = 2, ; + Option3.Value = 1, ; + Option3.Width = 43 + *< END OBJECT: BaseClass="optiongroup" /> + + ADD OBJECT 'Text' AS textbox WITH ; + Format = "!KT", ; + Height = 25, ; + Left = 110, ; + Name = "Text", ; + TabIndex = 1, ; + ToolTipText = "", ; + Top = 62, ; + Width = 198 + *< END OBJECT: BaseClass="textbox" /> + + ADD OBJECT 'Text2' AS textbox WITH ; + Format = "!KT", ; + Height = 25, ; + Left = 110, ; + Name = "Text2", ; + TabIndex = 6, ; + ToolTipText = "", ; + Top = 120, ; + Width = 198 + *< END OBJECT: BaseClass="textbox" /> + + PROCEDURE Destroy + Do Case + Case Thisform.opTIONGROUP1.Value = 1 + lcIntre = [ AND ] + Case Thisform.opTIONGROUP1.Value = 2 + lcIntre = [ OR ] + Otherwise + lcIntre = '' + Endcase + + If Type("pcIntre") = "C" && variabila privata folosita in ck_filtru_text pt a initializa proprietatea cIntre + pcIntre = lcIntre + Endif + + + With This + Local lnCriteriu,lnCriteriu2, lcNume, lcNume2 + lnCriteriu = .criteriu.Value + lnCriteriu2 = .criteriu2.Value + + lcNume = .Text.Value + lcNume2 = .text2.Value + + If Type("pcValoare1") = "C" && variabila privata folosita in ck_filtru_text pt a initializa proprietatea cValoare1 + pcValoare1 = lcNume + Endif + If Type("pcValoare2") = "C" && variabila privata folosita in ck_filtru_text pt a initializa proprietatea cValoare2 + pcValoare2 = lcNume2 + Endif + If Type("pnCriteriu")="N" + pnCriteriu = lnCriteriu + Endif + If Type("pnCriteriu2")="N" + pnCriteriu2 = lnCriteriu2 + Endif + + If Empty(lnCriteriu) + .filtru = "" + Return This.filtru + Endif + + Do Case + Case lnCriteriu = 1 + .filtru = "LIKE([" + Upper(lcNume) + "*]," + [upper(] + .camp_nume + [))] + Case lnCriteriu = 2 + .filtru = [upper(] + .camp_nume + ")=[" + Upper(lcNume) + "]" + Case lnCriteriu = 3 + .filtru = [upper(] + .camp_nume + ")<>[" + Upper(lcNume) + "]" + Case lnCriteriu = 4 + .filtru = "LIKE([*" + Upper(lcNume) + "*]," + [upper(] + .camp_nume + [))] + Case lnCriteriu = 5 + *.filtru = "upper(" + .camp_nume + ") NOT LIKE %" + UPPER(lcNume) + "%" + .filtru = "!LIKE([*" + Upper(lcNume) + "*]," + [upper(] + .camp_nume + [))] + Endcase + + If !Empty(lcIntre) && AND !EMPTY(lcNume2) + + Do Case + Case lnCriteriu2 = 1 + .filtru = [(] + .filtru + lcIntre + "LIKE([" + Upper(lcNume2) + "*]," + [upper(] + .camp_nume + [)))] + Case lnCriteriu2 = 2 + .filtru = [(] + .filtru + lcIntre + [upper(] + .camp_nume + ")=[" + Upper(lcNume2) + "])" + Case lnCriteriu2 = 3 + .filtru = [(] + .filtru + lcIntre + [upper(] + .camp_nume + ")<>[" + Upper(lcNume2) + "])" + Case lnCriteriu2 = 4 + .filtru = [(] + .filtru + lcIntre + "LIKE([*" + Upper(lcNume2) + "*]," + [upper(] + .camp_nume + [)))] + Case lnCriteriu2 = 5 + .filtru = [(] + .filtru + lcIntre + "!LIKE([*" + Upper(lcNume2) + "*]," + [upper(] + .camp_nume + [)))] + Endcase + Endif + + Endwith + + ENDPROC + + PROCEDURE Init + LPARAMETERS lcCampNume,lcTitlu,lnCriteriu,lnCriteriu2 + + DODEFAULT() + lctitlu=STRTRAN(lcTitlu,'\<','') + WITH this + .criteriu.value = lnCriteriu + .criteriu2.value = lnCriteriu2 + .camp_nume = lcCampNume + .lb_titlu_alb_b121.Caption=UPPER(lcTitlu) + .text.ToolTipText='Introduceti expresia cu care se compara ' + lower(lcTitlu) + .text2.ToolTipText='Introduceti expresia cu care se compara ' + lower(lcTitlu) + IF EMPTY(lccampnume) + .text.Enabled = .F. + .criteriu.Enabled = .F. + .text2.Enabled = .F. + .criteriu2.Enabled = .F. + ENDIF + ENDWITH + ENDPROC + + PROCEDURE Unload + RETURN this.filtru + ENDPROC + + PROCEDURE Criteriu.InteractiveChange + thisform.text.SetFocus + ENDPROC + + PROCEDURE Criteriu2.InteractiveChange + thisform.text2.SetFocus + ENDPROC + + PROCEDURE Optiongroup1.Valid + IF this.Value # 3 + thisform.Height = 155 + ELSE + thisform.Height = 111 + ENDIF + ENDPROC + + PROCEDURE Text.LostFocus + + + ENDPROC + + PROCEDURE Text2.LostFocus + + + ENDPROC + +ENDDEFINE diff --git a/clase/caut_manager.vc2 b/clase/caut_manager.vc2 new file mode 100644 index 0000000..08fb2dd --- /dev/null +++ b/clase/caut_manager.vc2 @@ -0,0 +1,332 @@ +*-------------------------------------------------------------------------------------------------------------------------------------------------------- +* (EN) AUTOGENERATED - ATTENTION!! - NOT INTENDED FOR EXECUTION!! USE ONLY FOR MERGING CHANGES AND STORING WITH SCM TOOLS!! +*-------------------------------------------------------------------------------------------------------------------------------------------------------- +*< FOXBIN2PRG: Version="1.21" SourceFile="caut_manager.vcx" CPID="1252" /> (Solo para binarios VFP 9 / Only for VFP 9 binaries) +* +* +DEFINE CLASS ck_filtru_numar_manager AS checkbox + *< CLASSDATA: Baseclass="checkbox" Timestamp="" Scale="Pixels" Uniqueid="" /> + + * + *p: camp_nume + *p: criteriu1 + *p: criteriu2 + *p: cvaloare1 + *p: cvaloare2 + *p: filtru + *p: filtru_vfp + *p: mask + *p: nrzec + *p: tip + * + + * + Alignment = 0 + AutoSize = .T. + BackStyle = 0 + Caption = "Check1" + criteriu1 = 1 + criteriu2 = 2 + cvaloare1 = + cvaloare2 = + filtru = + filtru_vfp = + Height = 17 + mask = + Name = "ck_filtru_numar_manager" + nrzec = 0 + tip = N + Width = 60 + * + + PROCEDURE InteractiveChange + WITH this + .filtru = "" + .filtru_vfp = "" + IF .Value = 0 + RETURN + ENDIF + PRIVATE pcValoare1, pcValoare2, pcIntre, pnCriteriu, pnCriteriu2, pcFiltru, pcFiltruVFP && variabile pe care le completeaza forma frm_filtru_text + pnCriteriu = .criteriu1 + pnCriteriu2 = .criteriu2 + pcValoare1 = .cvaloare1 + pcValoare2 = .cvaloare2 + pcFiltruVFP = "" + pcFiltru = "" + IF TYPE('.mask') = 'N' + .mask = ALLTRIM(STR(.mask)) + ENDIF + + DO FORM frm_filtru_numar WITH .camp_nume, .caption, .criteriu1, .criteriu2, .tip, .mask, .nrzec TO .filtru + IF .filtru = "" + .Value = 0 + .criteriu1 = 1 + .criteriu2 = 1 + .cvaloare1 = "" + .cvaloare2 = "" + .filtru_vfp = "" + ELSE + .cvaloare1 = pcValoare1 + .cvaloare2 = pcValoare2 + .criteriu1 = pnCriteriu + .criteriu2 = pnCriteriu2 + .filtru_vfp = pcFiltruVFP + ENDIF + ENDWITH + ENDPROC + + PROCEDURE Valid + DoDefault() + + LOCAL lcTabel, lcFiltru, lcCamp_nume, lcCaption, lcFormula, lnCriteriu, lnCriteriu2, lcValoare1, lcValoare2, lcCIntre + STORE '' TO lcTabel, lcFiltru, lcCamp_nume, lcCaption, lcFormula, lcValoare1, lcValoare2, lcCIntre + STORE 0 TO lnCriteriu, lnCriteriu2 + + lcTabel = Thisform.grid_formula.RecordSource + + lcFiltru = This.filtru + lcCamp_nume = Alltrim(Upper(This.camp_nume)) + lcCaption = Alltrim(Upper(This.Caption)) + lcFormula = Alltrim(Upper(This.filtru)) + lnCriteriu1 = This.criteriu1 + lnCriteriu2 = This.criteriu2 + + lcValoare1 = This.cValoare1 + lcValoare2 = This.Cvaloare2 + + lnAND = AT('AND',UPPER(lcFiltru),2) && conditia incepe cu "AND" + IF lnAND > 0 + lcCIntre = ' SI ' + ENDIF + + lnOR = AT('OR',UPPER(lcFiltru)) + IF lnOR > 0 + lcCIntre = ' SAU ' + ENDIF + + Do Case + Case lnCriteriu1 = 1 + lcCriteriu1 = '>=' + Case lnCriteriu1 = 2 + lcCriteriu1 = '<=' + Case lnCriteriu1 = 3 + lcCriteriu1 = '=' + Case lnCriteriu1 = 4 + lcCriteriu1 = '<>' + Case lnCriteriu1 = 5 + lcCriteriu1 = '>' + Case lnCriteriu1 = 6 + lcCriteriu1 = '<' + Endcase + + Do Case + Case lnCriteriu2 = 1 + lcCriteriu2 = '>=' + Case lnCriteriu2 = 2 + lcCriteriu2 = '<=' + Case lnCriteriu2 = 3 + lcCriteriu2 = '=' + Case lnCriteriu2 = 4 + lcCriteriu2 = '<>' + Case lnCriteriu2 = 5 + lcCriteriu2 = '>' + Case lnCriteriu2 = 6 + lcCriteriu2 = '<' + Endcase + + If !Empty(lcCIntre) + lcTraducere = lcCriteriu1 + lcValoare1 + lcCIntre + " " + lcCriteriu2 + lcValoare2 + Else + lcTraducere = lcCriteriu1 + lcValoare1 + Endif + + If This.Value = 1 && este bifat, + If !Empty(lcFiltru) + Select (lcTabel) + Append Blank + Replace camp_nume With lcCamp_nume + Replace camp_numeT With lcCaption + Replace formula With lcFormula + Replace traducere With lcTraducere + Endif + Else + Select (lcTabel) + Locate For Alltrim(Upper(camp_numeT)) = lcCaption + If Found() + Delete + Endif + ENDIF + + Thisform.grid_formula.Refresh + + ENDPROC + +ENDDEFINE + +DEFINE CLASS ck_filtru_text_manager AS checkbox + *< CLASSDATA: Baseclass="checkbox" Timestamp="" Scale="Pixels" Uniqueid="" /> + + * + *p: camp_nume + *p: cintre + *p: criteriu + *p: criteriu2 + *p: cvaloare1 + *p: cvaloare2 + *p: filtru + *p: filtru_vfp + * + + * + Alignment = 0 + AutoSize = .T. + BackStyle = 0 + camp_nume = + Caption = "Check1" + cintre = + criteriu = 1 + criteriu2 = 1 + cvaloare1 = + cvaloare2 = + filtru = + filtru_vfp = + Height = 17 + Name = "ck_filtru_text_manager" + Width = 60 + * + + PROCEDURE InteractiveChange + WITH this + .filtru = "" + .filtru_vfp = "" + IF .Value = 0 + RETURN + ENDIF + + PRIVATE pcValoare1, pcValoare2, pcIntre, pnCriteriu, pnCriteriu2, pcFiltru, pcFiltruVFP && variabile pe care le completeaza forma frm_filtru_text + pcValoare1 = .cValoare1 + pcValoare2 = .cValoare2 + pnCriteriu = .criteriu + pnCriteriu2 = .criteriu2 + pcIntre = .cIntre + pcFiltruVFP = "" + pcFiltru = "" + + DO FORM frm_filtru_text WITH .camp_nume,.caption,.criteriu,.criteriu2 TO .filtru + + IF .filtru = "" + .Value = 0 + .cValoare1 = "" + .cValoare2 = "" + .criteriu = 1 + .criteriu2 = 1 + .cIntre = "" + .filtru_vfp = "" + ELSE + .cValoare1 = pcValoare1 + .cValoare2 = pcValoare2 + .criteriu = pnCriteriu + .criteriu2 = pnCriteriu2 + .cIntre = pcIntre + .filtru_vfp = pcFiltruVFP + ENDIF + + ENDWITH + ENDPROC + + PROCEDURE Valid + DoDefault() + + Local lcTabel, lcFiltru, lcCamp_nume, lcCaption, lcFormula, lnCriteriu, lnCriteriu2 + Local lcValoare1, lcValoare2, lcCIntre + + Store '' To lcTabel, lcFiltru, lcCamp_nume, lcCaption, lcFormula, lcValoare1, lcValoare2, lcCIntre + Store 0 To lnCriteriu, lnCriteriu2 + + lcTabel = Thisform.grid_formula.RecordSource + + lcFiltru = This.filtru + lcCamp_nume = Alltrim(Upper(This.camp_nume)) + lcCaption = Alltrim(Upper(This.Caption)) + lcFormula = Alltrim(Upper(This.filtru)) + lnCriteriu = This.criteriu + lnCriteriu2 = This.criteriu2 + + lcValoare1 = This.cValoare1 + lcValoare2 = This.Cvaloare2 + lcCIntre = This.cIntre + + Do Case + Case lnCriteriu = 1 + lcCriteriu = 'incepe cu... ' + Case lnCriteriu = 2 + lcCriteriu = 'este... ' + Case lnCriteriu = 3 + lcCriteriu = 'nu este... ' + Case lnCriteriu = 4 + lcCriteriu = 'contine... ' + Case lnCriteriu = 5 + lcCriteriu = 'nu contine... ' + Case lnCriteriu = 6 + lcCriteriu = 'nu are valori ' + Case lnCriteriu = 7 + lcCriteriu = 'are valori ' + Endcase + + Do Case + Case lnCriteriu2 = 1 + lcCriteriu2 = 'incepe cu... ' + Case lnCriteriu2 = 2 + lcCriteriu2 = 'este... ' + Case lnCriteriu2 = 3 + lcCriteriu2 = 'nu este... ' + Case lnCriteriu2 = 4 + lcCriteriu2 = 'contine... ' + Case lnCriteriu2 = 5 + lcCriteriu2 = 'nu contine... ' + Case lnCriteriu = 6 + lcCriteriu = 'nu are valori ' + Case lnCriteriu = 7 + lcCriteriu = 'are valori ' + Endcase + + Do Case + Case Alltrim(Upper(lcCIntre)) = 'OR' + lcCIntre = 'SAU' + Case Alltrim(Upper(lcCIntre)) = 'AND' + lcCIntre = 'SI' + Endcase + + If !Empty(lcCIntre) + lcTraducere = lcCriteriu + ['] + lcValoare1 + [' ] + lcCIntre + " " + lcCriteriu2 + ['] + lcValoare2 + ['] + Else + lcTraducere = lcCriteriu + ['] + lcValoare1 + ['] + Endif + + If This.Value = 1 && este bifat, + If !Empty(lcFiltru) + Select (lcTabel) + Append Blank + Replace camp_nume With lcCamp_nume + Replace camp_numeT With lcCaption + Replace formula With lcFormula + Replace traducere With lcTraducere + Endif + Else + Select (lcTabel) + Locate For Alltrim(Upper(camp_numeT)) = lcCaption + If Found() + Delete + Else + Locate For Alltrim(Upper(camp_numeT)) = lcCamp_nume && scd + If Found() + DELETE + ENDIF + Endif + Endif + + Thisform.grid_formula.Refresh + + ENDPROC + +ENDDEFINE diff --git a/clase/caut_ora.vc2 b/clase/caut_ora.vc2 new file mode 100644 index 0000000..7e056b8 --- /dev/null +++ b/clase/caut_ora.vc2 @@ -0,0 +1,3522 @@ +*-------------------------------------------------------------------------------------------------------------------------------------------------------- +* (EN) AUTOGENERATED - ATTENTION!! - NOT INTENDED FOR EXECUTION!! USE ONLY FOR MERGING CHANGES AND STORING WITH SCM TOOLS!! +*-------------------------------------------------------------------------------------------------------------------------------------------------------- +*< FOXBIN2PRG: Version="1.21" SourceFile="caut_ora.vcx" CPID="1252" /> (Solo para binarios VFP 9 / Only for VFP 9 binaries) +* +* +DEFINE CLASS caut_anluna AS _container OF "_baza.vcx" + *< CLASSDATA: Baseclass="container" Timestamp="" Scale="Pixels" Uniqueid="" /> + + *-- OBJECTDATA items order determines ZOrder / El orden de los items OBJECTDATA determina el ZOrder + *< OBJECTDATA: ObjPath="cboan" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="cboluna" UniqueID="" Timestamp="" /> + + * + *m: caut_ani + *m: caut_luni + *m: initializare_anluna + *p: ccursorluni && Numele cursorului pentru luni. Daca sunt mai multe obiecte caut_anluna, trebuie nume diferite. + *p: nan + *p: nluna + * + + * + ccursorluni = cursor_luni + Height = 22 + Name = "caut_anluna" + nan = 0 + nluna = 0 + Width = 153 + * + + ADD OBJECT 'cboan' AS _cbbase WITH ; + BoundTo = .T., ; + Height = 22, ; + Left = 0, ; + Name = "cboan", ; + Top = 0, ; + Width = 60 + *< END OBJECT: ClassLib="_cb_base.vcx" BaseClass="combobox" /> + + ADD OBJECT 'cboluna' AS _cbbase WITH ; + BoundColumn = 2, ; + Height = 22, ; + Left = 60, ; + Name = "cboluna", ; + Top = 0, ; + Width = 93 + *< END OBJECT: ClassLib="_cb_base.vcx" BaseClass="combobox" /> + + PROCEDURE caut_ani + LOCAL lcSchema + lcSchema = gcS + + lcSelect = [select * from lunilean ] + lcCursor = [luni] + + IF USED(lcCursor) + USE IN (lcCursor) + ENDIF + + lnSucces = goExecutor.oExecute(lcSelect,lcCursor) + IF lnSucces < 0 + aMESSAGEBOX('Eroare la selectie ' + goExecutor.cEroare) + RETURN + ENDIF + + lcSelect1 = [select to_number(TRIM(nl),'99') as nrluna,an from ] +; + lcSchema + [.calendar order by to_number(an,'9999') * 12 + nrluna] + lcCursor1 = [ocalendar] + + IF USED(lcCursor1) + USE IN (lcCursor1) + ENDIF + + lnSucces1 = goExecutor.oExecute(lcSelect1,lcCursor1) + IF lnSucces1 < 0 + aMESSAGEBOX('Eroare la selectie ' + goExecutor.cEroare) + RETURN + ENDIF + + SELECT DISTINCT an FROM ocalendar ORDER BY an INTO CURSOR cursor_ani + + this.cboan.RowSource = 'cursor_ani.an' + this.cboAn.RowSourceType = 2 + this.cboan.Value = str(gnAn) + this.nan = gnAn + this.cboan.refresh + + this.caut_luni(.t.) + ENDPROC + + PROCEDURE caut_luni + LPARAMETERS llinit, tnLuna + LOCAL lnluna, lcCursor, lcLuna + lnLuna = IIF(!EMPTY(m.tnLuna), m.tnLuna, m.gnLuna) + + SELECT ocalendar + + this.cboluna.RowSource = '' + lcCursor = this.cCursorluni + IF EMPTY(m.lcCursor) + lcCursor = 'cursor_luni' + ENDIF + + SELECT l.numeluna,l.nrluna FROM luni l; + JOIN ocalendar c ON c.nrluna = l.nrluna AND ALLTRIM(c.an) = ALLTRIM(this.cboan.value) ; + INTO CURSOR (m.lcCursor); + ORDER BY l.nrluna + + lcLuna = this.cboluna.DisplayValue + + this.cboluna.RowSource = m.lcCursor + this.cboluna.RowSourceType = 2 + + SELECT (m.lcCursor) + IF llinit + LOCATE FOR nrluna = m.lnLuna + this.cboluna.DisplayValue = &lcCursor..numeluna + ELSE + LOCATE FOR numeluna = m.lcLuna + IF FOUND() + this.cboluna.DisplayValue = m.lcLuna + ELSE + this.cboluna.DisplayValue = '' + ENDIF + ENDIF + + this.nluna = VAL(ALLTRIM(this.cboluna.value)) + + this.cboluna.refresh + + + ENDPROC + + PROCEDURE Init + this.caut_ani + ENDPROC + + PROCEDURE initializare_anluna + LPARAMETERS tnAn, tnLuna + + LOCAL lnAn, lnLuna + + lnAn = IIF(EMPTY(m.tnAn), INT(m.gnAn), INT(m.tnAn)) + lnLuna = IIF(EMPTY(m.tnLuna), INT(m.gnLuna), INT(m.tnLuna)) + + this.cboan.Value = str(m.lnAn) + this.nan = m.lnAn + + this.caut_luni(.T., m.lnLuna) + + this.refresh + ENDPROC + + PROCEDURE cboan.InteractiveChange + this.Parent.nan = val(ALLTRIM(this.value)) + this.Parent.caut_luni + ENDPROC + + PROCEDURE cboluna.InteractiveChange + this.Parent.nluna = VAL(ALLTRIM(this.value)) + ENDPROC + +ENDDEFINE + +DEFINE CLASS cb_filtru_text AS _combobox OF "_baza.vcx" + *< CLASSDATA: Baseclass="combobox" Timestamp="" Scale="Pixels" Uniqueid="" /> + + * + *p: ctraducere + *p: filtru + * + + * + ctraducere = + filtru = + Name = "cb_filtru_text" + * + +ENDDEFINE + +DEFINE CLASS ck_filtru_luna AS _checkbox OF "_baza.vcx" + *< CLASSDATA: Baseclass="checkbox" Timestamp="" Scale="Pixels" Uniqueid="" /> + + * + *p: camp_nume + *p: ctraducere + *p: cvaloare1 + *p: cvaloare2 + *p: filtru + *p: filtru_vfp + *p: luna + * + + * + Alignment = 0 + camp_nume = + ctraducere = + cvaloare1 = + cvaloare2 = + filtru = + filtru_vfp = + luna = + Name = "ck_filtru_luna" + _memberdata = + + + * + + PROCEDURE InteractiveChange + WITH this + .filtru = "" + .filtru_vfp = "" + IF .Value = 0 + RETURN + ENDIF + + PRIVATE pcValoare1, pcValoare2, pcFiltru, pcFiltruVFP && variabile pe care le completeaza forma frm_filtru_text + pcValoare1 = .cValoare1 + pcValoare2 = .cValoare2 + pcFiltruVFP = "" + pcFiltru = "" + + DO FORM frm_filtru_luna WITH .camp_nume, .caption, .luna TO .filtru + + IF .filtru == "" + .Value = 0 + .cValoare1 = "" + .cValoare2 = "" + .filtru_vfp = "" + ELSE + .cValoare1 = pcValoare1 + .cValoare2 = pcValoare2 + .filtru_vfp = pcFiltruVFP + ENDIF + .cTraducere = "perioada intre "+pcValoare1+" si "+pcValoare2 + ENDWITH + ENDPROC + +ENDDEFINE + +DEFINE CLASS ck_filtru_nom AS _checkbox OF "_baza.vcx" + *< CLASSDATA: Baseclass="checkbox" Timestamp="" Scale="Pixels" Uniqueid="" /> + + * + *p: camp_nume + *p: camp_tabela + *p: ctraducere + *p: cvaloare1 + *p: filtru + *p: filtru_vfp + *p: tabela + *p: titlu + * + + * + Alignment = 0 + camp_nume = + camp_tabela = + ctraducere = + cvaloare1 = + filtru = + filtru_vfp = + Name = "ck_filtru_nom" + tabela = + titlu = + * + + PROCEDURE InteractiveChange + WITH this + .filtru = "" + .filtru_vfp = "" + IF .Value = 0 + RETURN + ENDIF + PRIVATE pcval,pnbuton,pcselect,pcfiltru,oRetObj + STORE "" TO oRetObj + pnbuton=1 + pcselect=['select distinct ]+.camp_tabela+[ from ]+gcS+[.]+.tabela+[ where 2=2'] + pcfiltru=[2=2] + oRetObj=cauta_alfa(pcselect,pcfiltru,[''],[],.camp_tabela,.titlu,.caption) + IF pnbuton=1 + pcval = "oRetObj."+.camp_tabela + .cvaloare1 = ALLTRIM(&pcval) + .filtru = [ AND UPPER(SUBSTR(]+ALLTRIM(.camp_nume)+[,1,]+ALLTRIM(STR(LEN(.cvaloare1)))+[))=']+.cvaloare1+['] + .filtru_vfp = [ AND UPPER(LEFT(]+ALLTRIM(.camp_nume)+[,]+ALLTRIM(STR(LEN(.cvaloare1)))+[))==']+.cvaloare1+['] + .cTraducere = ALLTRIM(.camp_nume) + " incepe cu " + ALLTRIM(NVL(.cvaloare1,"")) + ELSE + .Value = 0 + .cValoare1 = "" + .filtru = "" + .filtru_vfp = "" + .cTraducere = "" + ENDIF + + RELEASE oRetObj + ENDWITH + ENDPROC + +ENDDEFINE + +DEFINE CLASS ck_filtru_nomgeneral AS _checkbox OF "_baza.vcx" + *< CLASSDATA: Baseclass="checkbox" Timestamp="" Scale="Pixels" Uniqueid="" /> + + * + *p: campuri_afisate + *p: campuri_headere + *p: campuri_selectate + *p: camp_filtru + *p: camp_tabela + *p: ctraducere + *p: filtru_nom + *p: filtru_ora + *p: filtru_vfp + *p: nvaloare + *p: ordine_nom + *p: tabela + *p: titlu + * + + * + Alignment = 0 + campuri_afisate = + campuri_headere = + campuri_selectate = + camp_filtru = + camp_tabela = + ctraducere = + filtru_nom = + filtru_ora = + filtru_vfp = + Name = "ck_filtru_nomgeneral" + nvaloare = + ordine_nom = + tabela = + titlu = + * + + PROCEDURE InteractiveChange + LOCAL lcSelect, lcFiltru, lcOrdine, lcNumeProc, llAllInlist,lcFiltruOriginal, lcPrimaColoana, lcSchema + LOCAL lcVal + LOCAL ocautare + + lcNumeProc = "" + llAllInlist = .F. + lcPrimaColoana = "" + lcSchema = "" + + + WITH this + .filtru_ora = "" + .filtru_vfp = "" + IF .Value = 0 + RETURN + ENDIF + PRIVATE pnbuton,pcselect,pcfiltru,pcordine,oCautare + STORE "" TO oCautare + pnbuton=1 + lcselect=[select ]+.campuri_selectate+[ from ]+gcS+[.]+.tabela + lcFiltruNom = .filtru_nom + + lnPos1 = AT('&',lcFiltruNom) + lnPos2 = AT('&',lcFiltruNom,2) + IF lnPos1 * lnPos2 > 0 + lcItem = SUBSTR(lcFiltruNom, lnPos1, lnPos2 - lnPos1 + 1) + lcFiltruOriginal = STRTRAN(lcFiltruNom, lcItem, '***') + lcItem = STRTRAN(lcItem, '&', '') + lcFiltruTemp = [(] + &lcItem+ [)] + lcFiltruOriginal = STRTRAN(lcFiltruOriginal, '***', lcFiltruTemp) + ELSE + lcFiltruOriginal = .filtru_nom + ENDIF + + lcfiltru = "1=2" + lcordine = .ordine_nom + oCautare = cauta_alfa(lcselect, lcfiltru, lcSchema,lcordine, .campuri_afisate, .titlu, .campuri_headere, lcNumeProc, llAllInList,lcFiltruOriginal, lcPrimaColoana) + IF pnbuton=1 + lcval = "oCautare."+.camp_tabela + .nvaloare = &lcval + .filtru_ora = [ AND ]+ALLTRIM(.camp_filtru)+[=]+ALLTRIM(STR(.nvaloare)) + .filtru_vfp = .filtru_ora + .cTraducere = " SI " + ALLTRIM(.camp_filtru)+[=]+ALLTRIM(STR(.nvaloare)) + ELSE + .Value = 0 + .nvaloare = 0 + .filtru_ora = "" + .filtru_vfp = "" + .cTraducere = "" + ENDIF + RELEASE oCautare + ENDWITH + ENDPROC + +ENDDEFINE + +DEFINE CLASS ck_filtru_numar AS _checkbox OF "_baza.vcx" + *< CLASSDATA: Baseclass="checkbox" Timestamp="" Scale="Pixels" Uniqueid="" /> + + * + *p: camp_nume + *p: cintre + *p: criteriu1 + *p: criteriu2 + *p: ctraducere + *p: cvaloare1 + *p: cvaloare2 + *p: filtru + *p: filtru_vfp + *p: mask + *p: nrzec + *p: tip + * + + * + Alignment = 0 + camp_nume = + cintre = + criteriu1 = 1 + criteriu2 = 2 + ctraducere = + cvaloare1 = + cvaloare2 = + filtru = + filtru_vfp = + mask = + Name = "ck_filtru_numar" + nrzec = 0 + tip = N + _memberdata = + + + * + + PROCEDURE InteractiveChange + WITH THIS + .filtru = "" + .filtru_vfp = "" + IF .VALUE = 0 + RETURN + ENDIF + PRIVATE pcValoare1, pcValoare2, pcIntre, pnCriteriu, pnCriteriu2, pcFiltru, pcFiltruVFP && variabile pe care le completeaza forma frm_filtru_text + pnCriteriu = .criteriu1 + pnCriteriu2 = .criteriu2 + pcValoare1 = .cvaloare1 + pcValoare2 = .cvaloare2 + pcFiltruVFP = "" + pcFiltru = "" + pcIntre = .cIntre + + IF TYPE('.mask') == 'N' + .mask = ALLTRIM(STR(.mask)) + ENDIF + + DO FORM frm_filtru_numar WITH .camp_nume, .CAPTION, .criteriu1, .criteriu2, .tip, .mask, .nrzec TO .filtru + IF .filtru == "" + .VALUE = 0 + .criteriu1 = 1 + .criteriu2 = 1 + .cvaloare1 = "" + .cvaloare2 = "" + .filtru_vfp = "" + .cIntre = "" + ELSE + .cvaloare1 = pcValoare1 + .cvaloare2 = pcValoare2 + .criteriu1 = pnCriteriu + .criteriu2 = pnCriteriu2 + .filtru_vfp = pcFiltruVFP + .cIntre = pcIntre + ENDIF + + IF .filtru == "" + lcTraducere = "" + ELSE + IF INLIST(.tip, "D", "T") + lcSemn1 = IIF(.criteriu1 = 1, [>=], [>]) + lcSemn2 = IIF(.criteriu2 = 1, [<=], [<]) + ELSE + DO CASE + CASE .criteriu1 = 1 + lcSemn1 = [>=] + CASE .criteriu1 = 2 + lcSemn1 = [<=] + CASE .criteriu1 = 3 + lcSemn1 = [=] + CASE .criteriu1 = 4 + lcSemn1 = [<>] + CASE .criteriu1 = 5 + lcSemn1 = [>] + CASE .criteriu1 = 6 + lcSemn1 = [<] + ENDCASE + DO CASE + CASE .criteriu2 = 1 + lcSemn2 = [>=] + CASE .criteriu2 = 2 + lcSemn2 = [<=] + CASE .criteriu2 = 3 + lcSemn2 = [=] + CASE .criteriu2 = 4 + lcSemn2 = [<>] + CASE .criteriu2 = 5 + lcSemn2 = [>] + CASE .criteriu2 = 6 + lcSemn2 = [<] + ENDCASE + ENDIF + + lcTraducere = STRTRAN(.CAPTION, "\<", "") + " " +lcSemn1 + ALLTRIM(TRANSFORM(.cvaloare1)) + [ ] + pcIntre + [ ] + STRTRAN(.CAPTION, "\<", "") + " " + lcSemn2 + ALLTRIM(TRANSFORM(.cvaloare2)) + + lcTraducere = STRTRAN(STRTRAN(lcTraducere, 'OR', 'SAU'), 'AND', 'SI') + ENDIF + .cTraducere = lcTraducere + ENDWITH + + ENDPROC + +ENDDEFINE + +DEFINE CLASS ck_filtru_text AS _checkbox OF "_baza.vcx" + *< CLASSDATA: Baseclass="checkbox" Timestamp="" Scale="Pixels" Uniqueid="" /> + + * + *p: camp_nume + *p: cintre + *p: criteriu + *p: criteriu2 + *p: ctraducere + *p: cvaloare1 + *p: cvaloare2 + *p: filtru + *p: filtru_vfp + * + + * + Alignment = 0 + camp_nume = + cintre = + criteriu = 1 + criteriu2 = 1 + ctraducere = + cvaloare1 = + cvaloare2 = + filtru = + filtru_vfp = + Name = "ck_filtru_text" + _memberdata = + + + * + + PROCEDURE InteractiveChange + WITH THIS + .filtru = "" + .filtru_vfp = "" + IF .VALUE = 0 + RETURN + ENDIF + + PRIVATE pcValoare1, pcValoare2, pcIntre, pnCriteriu, pnCriteriu2, pcFiltru, pcFiltruVFP && variabile pe care le completeaza forma frm_filtru_text + pcValoare1 = .cValoare1 + pcValoare2 = .cValoare2 + pnCriteriu = .criteriu + pnCriteriu2 = .criteriu2 + pcIntre = .cIntre + pcFiltruVFP = "" + pcFiltru = "" + + + DO FORM frm_filtru_text WITH .camp_nume,.CAPTION,.criteriu,.criteriu2 TO .filtru + + IF .filtru == "" + .VALUE = 0 + .cValoare1 = "" + .cValoare2 = "" + .criteriu = 1 + .criteriu2 = 1 + .cIntre = "" + .filtru_vfp = "" + ELSE + .cValoare1 = pcValoare1 + .cValoare2 = pcValoare2 + .criteriu = pnCriteriu + .criteriu2 = pnCriteriu2 + .cIntre = pcIntre + .filtru_vfp = pcFiltruVFP + ENDIF + + && TRADUCERE + lcTraducere = "" + IF !EMPTY(.filtru) + lcCriteriu = ' ' + lcCriteriu2 = ' ' + lcCIntre = "" + DO CASE + CASE .criteriu= 1 + lcCriteriu = 'incepe cu... ' + CASE .criteriu= 2 + lcCriteriu = 'este... ' + CASE .criteriu= 3 + lcCriteriu = 'nu este... ' + CASE .criteriu= 4 + lcCriteriu = 'contine... ' + CASE .criteriu= 5 + lcCriteriu = 'nu contine... ' + CASE .criteriu= 6 + lcCriteriu = 'nu are valori ' + CASE .criteriu= 7 + lcCriteriu = 'are valori ' + ENDCASE + + DO CASE + CASE .criteriu2= 1 + lcCriteriu2 = 'incepe cu... ' + CASE .criteriu2= 2 + lcCriteriu2 = 'este... ' + CASE .criteriu2= 3 + lcCriteriu2 = 'nu este... ' + CASE .criteriu2= 4 + lcCriteriu2 = 'contine... ' + CASE .criteriu2= 5 + lcCriteriu2 = 'nu contine... ' + CASE lnCriteriu2 = 6 + lcCriteriu2 = 'nu are valori ' + CASE .criteriu2= 7 + lcCriteriu2 = 'are valori ' + ENDCASE + + DO CASE + CASE ALLTRIM(UPPER(.cIntre)) = 'OR' + lcCIntre = 'SAU' + CASE ALLTRIM(UPPER(.cIntre)) = 'AND' + lcCIntre = 'SI' + ENDCASE + + IF !EMPTY(.cIntre) + lcTraducere = STRTRAN(.CAPTION, "\<", "") + " " + lcCriteriu + ['] + .cValoare1+ [' ] + lcCIntre + " " + lcCriteriu2 + ['] + .cValoare2 + ['] + ELSE + lcTraducere = STRTRAN(.CAPTION, "\<", "") + " " + lcCriteriu + ['] + .cValoare1+ ['] + ENDIF + ENDIF && !EMPTY(.filtru) + + .cTraducere = lcTraducere + + ENDWITH + + ENDPROC + +ENDDEFINE + +DEFINE CLASS ck_simplu AS _checkbox OF "_baza.vcx" + *< CLASSDATA: Baseclass="checkbox" Timestamp="" Scale="Pixels" Uniqueid="" /> + + * + *p: filtru + *p: filtru_vfp + * + + * + Alignment = 0 + filtru = + filtru_vfp = + Name = "ck_simplu" + * + +ENDDEFINE + +DEFINE CLASS criteriu_numar AS _cbbase OF "_cb_base.vcx" + *< CLASSDATA: Baseclass="combobox" Timestamp="" Scale="Pixels" Uniqueid="" /> + + * + BorderStyle = 0 + BoundColumn = 2 + BoundTo = .T. + ColumnCount = 2 + ColumnLines = .F. + ColumnWidths = "72,0" + FontItalic = .T. + FontSize = 10 + Name = "criteriu_numar" + RowSource = "> = ,1,< = ,2, = ,3, # ,4, > ,5, < ,6" + RowSourceType = 1 + SpecialEffect = 2 + ToolTipText = "Selectati criteriul de comparare" + Width = 55 + * + +ENDDEFINE + +DEFINE CLASS criteriu_text AS _cbbase OF "_cb_base.vcx" + *< CLASSDATA: Baseclass="combobox" Timestamp="" Scale="Pixels" Uniqueid="" /> + + * + BorderStyle = 0 + BoundColumn = 2 + BoundTo = .T. + ColumnCount = 2 + ColumnLines = .F. + ColumnWidths = "72,0" + FontItalic = .T. + Name = "criteriu" + RowSource = "incepe cu...,1,este...,2,nu este...,3,contine...,4,nu contine...,5,nu are valori,6,are valori,7" + RowSourceType = 1 + SpecialEffect = 2 + ToolTipText = "Selectati criteriul de comparare" + * + +ENDDEFINE + +DEFINE CLASS ct_clb_cautare AS _container OF "_baza.vcx" + *< CLASSDATA: Baseclass="container" Timestamp="" Scale="Pixels" Uniqueid="" /> + + *-- OBJECTDATA items order determines ZOrder / El orden de los items OBJECTDATA determina el ZOrder + *< OBJECTDATA: ObjPath="img_cautare" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="clb_tx_cautare" UniqueID="" Timestamp="" /> + + * + *m: do_activeaza + *m: do_apeleaza + *m: do_dezactiveaza + *m: do_schimba_explicatia && Schimba caption-ul de la label1. + *p: cconditie && Conditia pentru care se apeleaza procedura din cprocedura. + *p: clista_parametri && Lista parametri pentru procedura din cparametri ( separati prin virgula ). + *p: cprocedura && Numele procedurii care se apeleaza. + *p: ctooltip + *p: cvaloare_intoarsa && Numele variabilei/obiectului in care se va intoarce rezultatul in cazul in care cprocedura este o functie. + *p: cvar_afisata && Control source-ul pentru textfield. + *p: lactiv && .T. daca se pot face modificari. + *p: _memberdata && XML Metadata for customizable properties + * + + * + BorderWidth = 0 + cconditie = 2=2 + clista_parametri = + cprocedura = + ctooltip = + cvaloare_intoarsa = + cvar_afisata = + Height = 31 + lactiv = .T. + Name = "ct_clb_cautare" + Width = 351 + _memberdata = + + + + + + + * + + ADD OBJECT 'clb_tx_cautare' AS clb_tx_simplu WITH ; + Height = 29, ; + Left = 1, ; + Name = "clb_tx_cautare", ; + TabIndex = 2, ; + Top = 1, ; + Width = 314, ; + TEXT_SIMPLU1.Left = 126, ; + TEXT_SIMPLU1.Name = "TEXT_SIMPLU1", ; + TEXT_SIMPLU1.ReadOnly = .T., ; + TEXT_SIMPLU1.ToolTipText = "Pentru modificare apasati DEL sau butonul din dreapta ", ; + TEXT_SIMPLU1.Top = 3, ; + LB_SIMPLU1.Left = 6, ; + LB_SIMPLU1.Name = "LB_SIMPLU1", ; + LB_SIMPLU1.Top = 6 + *< END OBJECT: ClassLib="lb_tx.vcx" BaseClass="container" /> + + ADD OBJECT 'img_cautare' AS _image WITH ; + Height = 20, ; + Left = 326, ; + Name = "img_cautare", ; + Picture = ..\grafice\alege.bmp, ; + Stretch = 1, ; + Top = 5, ; + Width = 20 + *< END OBJECT: ClassLib="_baza.vcx" BaseClass="image" /> + + PROCEDURE do_activeaza + This.lactiv = .T. + This.img_cautare.Visible = .T. + This.clb_tx_cautare.text_simplu1.ToolTipText = This.ctooltip + This.clb_tx_cautare.text_simplu1.Refresh() + ENDPROC + + PROCEDURE do_apeleaza + Local loObject + lcListaParametri = Iif(Type('This.clista_parametri')='N',Alltrim(Str(This.clista_parametri)),Alltrim(This.clista_parametri)) + lcApelProcedura = This.cprocedura + Iif(!Empty(lcListaParametri),[(]+lcListaParametri+[)],[]) + lcValoareIntoarsa = This.cvaloare_intoarsa + If Empty(lcValoareIntoarsa) + &lcApelProcedura + Else + &lcValoareIntoarsa = &lcApelProcedura + Endif + This.clb_tx_cautare.text_simplu1.Refresh() + ENDPROC + + PROCEDURE do_dezactiveaza + This.lactiv = .F. + This.img_cautare.Visible = .F. + This.ctooltip = This.clb_tx_cautare.text_simplu1.ToolTipText + This.clb_tx_cautare.text_simplu1.ToolTipText = [] + This.clb_tx_cautare.text_simplu1.Refresh() + ENDPROC + + PROCEDURE do_schimba_explicatia && Schimba caption-ul de la label1. + Lparameters tcExplicatie + This.clb_tx_cautare.lb_SIMPLU1.Caption = Alltrim(tcExplicatie) + This.img_cautare.ToolTipText=[Alegeti ]+Alltrim(Lower(tcExplicatie)) + ENDPROC + + PROCEDURE Init + This.clb_tx_cautare.text_simplu1.ControlSource=This.cvar_afisata + This.img_cautare.ToolTipText=[Alegeti ]+Alltrim(Lower(This.clb_tx_cautare.lb_SIMPLU1.Caption)) + ENDPROC + + PROCEDURE clb_tx_cautare.TEXT_SIMPLU1.DblClick + *!* modificare migrare v 1.0 > v 2.0 + *!* lcConditie = This.Parent.Parent.cconditie + *!* If (&lcConditie) And This.Parent.Parent.lactiv + If This.Parent.Parent.lactiv + *!* modificare migrare v 1.0 > v 2.0 ^ + This.Parent.Parent.do_apeleaza() + Endif + ENDPROC + + PROCEDURE clb_tx_cautare.TEXT_SIMPLU1.KeyPress + Lparameters nKeyCode, nShiftAltCtrl + lcConditie = This.Parent.Parent.cconditie + If ((Inlist(nKeyCode,9,13) And nShiftAltCtrl=0 And &lcConditie) Or (nKeyCode = 7 And nShiftAltCtrl = 0)) ; + And This.Parent.Parent.lactiv + Nodefault + This.Parent.Parent.do_apeleaza() + Endif + ENDPROC + + PROCEDURE img_cautare.Click + If This.Parent.lactiv + This.Parent.do_apeleaza() + Endif + + ENDPROC + + PROCEDURE img_cautare.MouseEnter + Lparameters nButton, nShift, nXCoord, nYCoord + This.MousePointer = 15 + ENDPROC + + PROCEDURE img_cautare.MouseLeave + LPARAMETERS nButton, nShift, nXCoord, nYCoord + This.MousePointer = 0 + ENDPROC + +ENDDEFINE + +DEFINE CLASS ct_clb_cautare_var AS _container OF "_baza.vcx" + *< CLASSDATA: Baseclass="container" Timestamp="" Scale="Pixels" Uniqueid="" /> + + *-- OBJECTDATA items order determines ZOrder / El orden de los items OBJECTDATA determina el ZOrder + *< OBJECTDATA: ObjPath="shape_cautare" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="img_cautare" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="lb_cautare" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="tx_cautare" UniqueID="" Timestamp="" /> + + * + *m: do_activeaza + *m: do_apeleaza + *m: do_dezactiveaza + *m: do_schimba_explicatia && Schimba caption-ul de la label1. + *p: cconditie && Conditia pentru care se apeleaza procedura din cprocedura. + *p: clista_parametri && Lista parametri pentru procedura din cparametri ( separati prin virgula ). + *p: cprocedura && Numele procedurii care se apeleaza. + *p: ctooltip + *p: cvaloare_intoarsa && Numele variabilei/obiectului in care se va intoarce rezultatul in cazul in care cprocedura este o functie. + *p: cvar_afisata && Control source-ul pentru textfield. + *p: lactiv && .T. daca se pot face modificari. + *p: _memberdata && XML Metadata for customizable properties + * + + * + BorderWidth = 0 + cconditie = 2=2 + clista_parametri = + cprocedura = + ctooltip = + cvaloare_intoarsa = + cvar_afisata = + Height = 31 + lactiv = .T. + Name = "ct_clb_cautare_var" + Width = 354 + _memberdata = + + + + + + + * + + ADD OBJECT 'img_cautare' AS _image WITH ; + Height = 20, ; + Left = 326, ; + Name = "img_cautare", ; + Picture = ..\grafice\alege.bmp, ; + Stretch = 1, ; + Top = 5, ; + Width = 20, ; + ZOrderSet = 1 + *< END OBJECT: ClassLib="_baza.vcx" BaseClass="image" /> + + ADD OBJECT 'lb_cautare' AS _lbbase WITH ; + Left = 6, ; + Name = "lb_cautare", ; + Top = 8, ; + ZOrderSet = 4 + *< END OBJECT: ClassLib="_lb_base.vcx" BaseClass="label" /> + + ADD OBJECT 'shape_cautare' AS _shape WITH ; + BackStyle = 0, ; + Height = 29, ; + Left = 1, ; + Name = "shape_cautare", ; + Top = 1, ; + Width = 312, ; + ZOrderSet = 0 + *< END OBJECT: ClassLib="_baza.vcx" BaseClass="shape" /> + + ADD OBJECT 'tx_cautare' AS _txbase WITH ; + Format = "!K", ; + Height = 23, ; + Left = 125, ; + Name = "tx_cautare", ; + ReadOnly = .T., ; + ToolTipText = "Pentru modificare apasati DEL sau butonul din dreapta", ; + Top = 4, ; + Width = 184, ; + ZOrderSet = 3 + *< END OBJECT: ClassLib="_tx_base.vcx" BaseClass="textbox" /> + + PROCEDURE do_activeaza + This.lactiv = .T. + This.img_cautare.Visible = .T. + This.tx_cautare.ToolTipText = This.ctooltip + ENDPROC + + PROCEDURE do_apeleaza + Local loObject + lcListaParametri = Iif(Type('This.clista_parametri')='N',Alltrim(Str(This.clista_parametri)),Alltrim(This.clista_parametri)) + lcApelProcedura = This.cprocedura + Iif(!Empty(lcListaParametri),[(]+lcListaParametri+[)],[]) + lcValoareIntoarsa = This.cvaloare_intoarsa + If Empty(lcValoareIntoarsa) + &lcApelProcedura + Else + &lcValoareIntoarsa = &lcApelProcedura + Endif + This.tx_cautare.Refresh() + + ENDPROC + + PROCEDURE do_dezactiveaza + This.lactiv = .F. + This.img_cautare.Visible = .F. + This.ctooltip = This.tx_cautare.ToolTipText + This.tx_cautare.ToolTipText = [] + ENDPROC + + PROCEDURE do_schimba_explicatia && Schimba caption-ul de la label1. + Lparameters tcExplicatie + This.lb_cautare.Caption = Alltrim(tcExplicatie) + This.img_cautare.ToolTipText=[Alegeti ]+Alltrim(Lower(tcExplicatie)) + ENDPROC + + PROCEDURE Init + Lparameters tnMarime + Local lnMarime + *!* -1 - dimensiunile setate de utilizator + *!* 0 - + *!* 1 - + If Empty(tnMarime) + lnMarime = -1 + Else + lnMarime = tnMarime + Endif + Do Case + Case lnMarime = 0 + This.shape_cautare.Width = 284 + This.tx_caUTARE.Width = 96 + This.img_cautare.Left = 296 + This.Width = 324 + Case lnMarime = 1 + This.shape_cautare.Width = 314 + This.tx_caUTARE.Left = 126 + This.img_cautare.Left = 326 + This.Width = 354 + Endcase + This.tx_caUTARE.ControlSource=This.cvar_afisata + This.img_cautare.ToolTipText=[Alegeti ]+Alltrim(Lower(This.lb_cautare.Caption)) + ENDPROC + + PROCEDURE img_cautare.Click + If This.Parent.lactiv + This.Parent.do_apeleaza() + Endif + + ENDPROC + + PROCEDURE img_cautare.MouseEnter + Lparameters nButton, nShift, nXCoord, nYCoord + This.MousePointer = 15 + ENDPROC + + PROCEDURE img_cautare.MouseLeave + LPARAMETERS nButton, nShift, nXCoord, nYCoord + This.MousePointer = 0 + ENDPROC + + PROCEDURE tx_cautare.DblClick + *!* modificare migrare v 1.0 > v 2.0 + *!* lcConditie = This.Parent.Parent.cconditie + *!* If (&lcConditie) And This.Parent.Parent.lactiv + If This.Parent.lactiv + *!* modificare migrare v 1.0 > v 2.0 ^ + This.Parent.do_apeleaza() + Endif + ENDPROC + + PROCEDURE tx_cautare.KeyPress + Lparameters nKeyCode, nShiftAltCtrl + lcConditie = This.Parent.cconditie + If ((Inlist(nKeyCode,9,13) And nShiftAltCtrl=0 And &lcConditie) Or (nKeyCode = 7 And nShiftAltCtrl = 0)) ; + And This.Parent.lactiv + Nodefault + This.Parent.do_apeleaza() + Endif + ENDPROC + +ENDDEFINE + +DEFINE CLASS ct_opt_cautare AS _container OF "_baza.vcx" + *< CLASSDATA: Baseclass="container" Timestamp="" Scale="Pixels" Uniqueid="" /> + + *-- OBJECTDATA items order determines ZOrder / El orden de los items OBJECTDATA determina el ZOrder + *< OBJECTDATA: ObjPath="opt_cautare" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="tx_cautare" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="lb_explicatie" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="Criteriu" UniqueID="" Timestamp="" /> + + * + *m: do_apeleaza + *m: do_reset + *m: do_schimba_explicatia && Schimba caption-ul de la label1. + *p: cconditie && Conditia pentru care se apeleaza procedura din cprocedura. + *p: clista_parametri && Lista parametri pentru procedura din cparametri ( separati prin virgula ). + *p: cprocedura && Numele procedurii care se apeleaza. + *p: cvaloare_intoarsa && Numele variabilei/obiectului in care se va intoarce rezultatul in cazul in care cprocedura este o functie. + *p: cvarfiltru && Numele variabilei care va fi folosita in filtru. + *p: cvar_afisata && Control source-ul pentru textfield. + *p: ntip && 1 - fara criteriu; 2 - poate alege criteriul + *p: nvaloarecriteriu + *p: value && Specifies the current state of a control. + *p: _memberdata && XML Metadata for customizable properties + * + + * + cconditie = + clista_parametri = + cprocedura = + cvaloare_intoarsa = + cvarfiltru = + cvar_afisata = + Height = 71 + Name = "ct_opt_cautare" + ntip = 1 + nvaloarecriteriu = 1 + value = 1 + Width = 290 + _memberdata = + + + + + + + + + * + + ADD OBJECT 'Criteriu' AS criteriu_text WITH ; + ControlSource = "", ; + Enabled = .F., ; + Left = 19, ; + Name = "Criteriu", ; + ReadOnly = .F., ; + RowSource = "este...,1,nu este...,2", ; + Top = 42, ; + Value = 1 + *< END OBJECT: ClassLib="caut_ora.vcx" BaseClass="combobox" /> + + ADD OBJECT 'lb_explicatie' AS lb_simplu WITH ; + AutoSize = .F., ; + Caption = "Explicatie cautare", ; + Height = 17, ; + Left = 6, ; + Name = "lb_explicatie", ; + Top = 5, ; + Width = 282, ; + ZOrderSet = 2 + *< END OBJECT: ClassLib="lb.vcx" BaseClass="label" /> + + ADD OBJECT 'opt_cautare' AS _optiongrup WITH ; + AutoSize = .F., ; + BorderStyle = 0, ; + Height = 46, ; + Left = 0, ; + Name = "opt_cautare", ; + Top = 21, ; + Width = 285, ; + ZOrderSet = 0, ; + OPTION1.AutoSize = .T., ; + OPTION1.Caption = "Toate inregistrarile", ; + OPTION1.Left = 5, ; + OPTION1.Name = "OPTION1", ; + OPTION1.Top = 5, ; + OPTION2.AutoSize = .T., ; + OPTION2.Caption = "", ; + OPTION2.Height = 17, ; + OPTION2.Left = 5, ; + OPTION2.Name = "OPTION2", ; + OPTION2.Top = 24, ; + OPTION2.Width = 18 + *< END OBJECT: ClassLib="_baza.vcx" BaseClass="optiongroup" /> + + ADD OBJECT 'tx_cautare' AS _textbox WITH ; + Enabled = .F., ; + Height = 23, ; + Left = 121, ; + Name = "tx_cautare", ; + TabIndex = 3, ; + TabStop = .F., ; + Top = 42, ; + Width = 162, ; + ZOrderSet = 1 + *< END OBJECT: ClassLib="_baza.vcx" BaseClass="textbox" /> + + PROCEDURE do_apeleaza + Local loObject + This.tx_CAUTARE.Enabled = .T. + This.tx_CAUTARE.ReadOnly = .T. + This.crITERIU.Enabled = .T. + lcListaParametri = Iif(Type('This.clista_parametri')='N',Alltrim(Str(This.clista_parametri)),Alltrim(This.clista_parametri)) + lcApelProcedura = This.cprocedura + Iif(!Empty(lcListaParametri),[(]+lcListaParametri+[)],[]) + lcValoareIntoarsa = This.cvaloare_intoarsa + If Empty(lcValoareIntoarsa) + &lcApelProcedura + Else + &lcValoareIntoarsa = &lcApelProcedura + Endif + + ENDPROC + + PROCEDURE do_reset + This.tx_CAUTARE.ReadOnly = .F. + This.tx_CAUTARE.Enabled = .F. + This.crITERIU.Enabled = .F. + This.crITERIU.Value = 1 + lcValoareAfisata = This.cvar_afisata + &lcValoareAfisata = Null + lcValoareFiltru = This.cvarfiltru + &lcValoareFiltru = Null + This.Refresh() + + ENDPROC + + PROCEDURE do_schimba_explicatia && Schimba caption-ul de la label1. + Lparameters tcExplicatie + This.lb_EXPLICATIE.Caption= Alltrim(tcExplicatie) + ENDPROC + + PROCEDURE Init + This.tx_cautare.ControlSource=This.cvar_afisata + If This.ntip = 1 + This.tx_cautare.Width = This.tx_cautare.Width + This.criteriu.Width + This.tx_cautare.Left = This.criteriu.Left + This.criteriu.Visible = .F. + Endif + If Empty(This.cvarfiltru) + This.cvarfiltru = This.cvar_afisata + Endif + ENDPROC + + PROCEDURE Criteriu.InteractiveChange + This.Parent.nvaloarecriteriu = This.Value + ENDPROC + + PROCEDURE opt_cautare.Click + This.Parent.Value=This.Value + If This.Value = 2 + This.Parent.do_apeleaza() + Else + This.Parent.do_reset() + Endif + ENDPROC + + PROCEDURE opt_cautare.ProgrammaticChange + This.Parent.Value=This.Value + If This.Value = 2 + This.Parent.do_apeleaza() + Else + This.Parent.do_reset() + Endif + ENDPROC + + PROCEDURE tx_cautare.DblClick + If This.Parent.opT_CAUTARE.Value = 2 + This.Parent.do_apeleaza() + Endif + ENDPROC + +ENDDEFINE + +DEFINE CLASS ct_perioada AS _container OF "_baza.vcx" + *< CLASSDATA: Baseclass="container" Timestamp="" Scale="Pixels" Uniqueid="" /> + + *-- OBJECTDATA items order determines ZOrder / El orden de los items OBJECTDATA determina el ZOrder + *< OBJECTDATA: ObjPath="_optiongrup1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="_textbox1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="_textbox2" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="Caut_anluna1" UniqueID="" Timestamp="" /> + + * + Height = 50 + Name = "ct_perioada" + Width = 266 + * + + ADD OBJECT '_optiongrup1' AS _optiongrup WITH ; + AutoSize = .T., ; + BorderStyle = 0, ; + Height = 49, ; + Left = 0, ; + Name = "_optiongrup1", ; + TabIndex = 3, ; + Top = 0, ; + Width = 109, ; + ZOrderSet = 7, ; + Option1.AutoSize = .T., ; + Option1.Caption = "O singura luna", ; + Option1.Left = 5, ; + Option1.Name = "Option1", ; + Option1.Top = 5, ; + Option2.AutoSize = .T., ; + Option2.Caption = "O perioada", ; + Option2.Left = 5, ; + Option2.Name = "Option2", ; + Option2.Top = 27 + *< END OBJECT: ClassLib="_baza.vcx" BaseClass="optiongroup" /> + + ADD OBJECT '_textbox1' AS _textbox WITH ; + Alignment = 3, ; + Format = "RK", ; + Height = 23, ; + InputMask = "99/9999", ; + Left = 108, ; + Name = "_textbox1", ; + TabIndex = 14, ; + Top = 23, ; + Visible = .F., ; + Width = 78, ; + ZOrderSet = 8 + *< END OBJECT: ClassLib="_baza.vcx" BaseClass="textbox" /> + + ADD OBJECT '_textbox2' AS _textbox WITH ; + Alignment = 3, ; + Format = "RK", ; + Height = 23, ; + InputMask = "99/9999", ; + Left = 191, ; + Name = "_textbox2", ; + TabIndex = 15, ; + Top = 23, ; + Visible = .F., ; + Width = 68, ; + ZOrderSet = 9 + *< END OBJECT: ClassLib="_baza.vcx" BaseClass="textbox" /> + + ADD OBJECT 'Caut_anluna1' AS caut_anluna WITH ; + Left = 108, ; + Name = "Caut_anluna1", ; + TabIndex = 13, ; + Top = 2, ; + ZOrderSet = 10, ; + cboan.Name = "cboan", ; + cboluna.Name = "cboluna" + *< END OBJECT: ClassLib="caut_ora.vcx" BaseClass="container" /> + + PROCEDURE _optiongrup1.Valid + This.caut_anluna1.Visible = Iif(This.Value=1,.T.,.F.) + + This._textbox1.Visible = Iif(This.Value=2,.T.,.F.) + This._textbox2.Visible = Iif(This.Value=2,.T.,.F.) + If This.Value=1 + This.caut_anluna1.SetFocus + Else + This._textbox1.SetFocus + If Empty(This._textbox1.Value) + This._textbox1.Value = Padl(gnLuna,2,'0') + Padl(gnAn,4,'0') + Endif + If Empty(This._textbox2.Value) + This._textbox2.Value = This._textbox1.Value + Endif + Endif + ENDPROC + + PROCEDURE _textbox1.LostFocus + If Empty(Thisform._textbox2.Value) + Thisform._textbox2.Value=This.Value + Endif + ENDPROC + + PROCEDURE _textbox1.Valid + If !Empty(This.Value) + lcLuna=Substr(Alltrim(This.Value),1,2) + lcAn=Substr(Alltrim(This.Value),3) + If Empty(lcAn) Or Len(lcAn)<4 + lcAn=Alltrim(Str(Year(Date()))) + This.Value=Padl(lcLuna,2,'0')+lcAn + Endif + If Type("DATE(VAL(lcAn),VAL(lcLuna),1)")!="D" + aMESSAGEBOX("Data invalida!",0+16,"Eroare") + Return 0 + Endif + Endif + ENDPROC + + PROCEDURE _textbox2.LostFocus + If Empty(Thisform._textbox1.Value) + Thisform._textbox1.Value=This.Value + Endif + ENDPROC + + PROCEDURE _textbox2.Valid + If !Empty(This.Value) + lcLuna=Substr(Alltrim(This.Value),1,2) + lcAn=Substr(Alltrim(This.Value),3) + If Empty(lcAn) Or Len(lcAn)<4 + lcAn=Alltrim(Str(Year(Date()))) + This.Value=Padl(lcLuna,2,'0')+lcAn + Endif + If Type("DATE(VAL(lcAn),VAL(lcLuna),1)")!="D" + aMESSAGEBOX("Data invalida!",0+16,"Eroare") + Return 0 + Endif + Endif + ENDPROC + +ENDDEFINE + +DEFINE CLASS frm_caut_luna AS _frmbase OF "..\..\..\roagest\comun\clase\_frm_base.vcx" + *< CLASSDATA: Baseclass="form" Timestamp="" Scale="Pixels" Uniqueid="" /> + + *-- OBJECTDATA items order determines ZOrder / El orden de los items OBJECTDATA determina el ZOrder + *< OBJECTDATA: ObjPath="Clb_an_luna1" UniqueID="" Timestamp="" /> + + * + BorderStyle = 1 + DoCreate = .T. + Height = 63 + Name = "frm_caut_luna" + Width = 360 + _shape1.Name = "_shape1" + _shape2.Left = 360 + _shape2.Name = "_shape2" + _shape2.Top = 0 + Lb_titlu_alb_b121.Name = "Lb_titlu_alb_b121" + BUT_TERMIN1.Left = 330 + BUT_TERMIN1.Name = "BUT_TERMIN1" + BUT_TERMIN1.Top = 0 + Gridsort1.Name = "Gridsort1" + * + + ADD OBJECT 'Clb_an_luna1' AS clb_an_luna WITH ; + Height = 29, ; + Left = 4, ; + Name = "Clb_an_luna1", ; + Top = 32, ; + Width = 351, ; + LB_SIMPLU1.AutoSize = .F., ; + LB_SIMPLU1.Height = 17, ; + LB_SIMPLU1.Left = 8, ; + LB_SIMPLU1.Name = "LB_SIMPLU1", ; + LB_SIMPLU1.Top = 7, ; + LB_SIMPLU1.Width = 192, ; + cb1.Left = 211, ; + cb1.Name = "cb1", ; + cb1.Top = 2, ; + cb2.Left = 273, ; + cb2.Name = "cb2", ; + cb2.Top = 2 + *< END OBJECT: ClassLib="lb_tx.vcx" BaseClass="container" /> + + PROCEDURE Init + LPARAMETERS tcTitlu, tcLabelText + + IF !EMPTY(tcTitlu) AND TYPE('tcTitlu') = 'C' + this.lb_TITLU_ALB_B121.Caption = tcTitlu + ENDIF + + IF !EMPTY(tcLabelText) AND TYPE('tcLabelText') = 'C' + this.clb_an_luna1.lb_SIMPLU1.Caption = tcLabelText + ENDIF + ENDPROC + + PROCEDURE Clb_an_luna1.cb1.Valid + IF TYPE('poLuna') = 'O' + poLuna.nLuna = INT(VAL(this.Value)) + poLuna.nAn = INT(VAL(this.Parent.cb2.Value)) + ENDIF + ENDPROC + + PROCEDURE Clb_an_luna1.cb2.Valid + IF TYPE('poLuna') = 'O' + poLuna.nAn = INT(VAL(this.Value)) + poLuna.nLuna = INT(VAL(this.Parent.cb1.Value)) + ENDIF + ENDPROC + +ENDDEFINE + +DEFINE CLASS frm_data AS _frmbase OF "_frm_base.vcx" + *< CLASSDATA: Baseclass="form" Timestamp="" Scale="Pixels" Uniqueid="" /> + + *-- OBJECTDATA items order determines ZOrder / El orden de los items OBJECTDATA determina el ZOrder + *< OBJECTDATA: ObjPath="txt_data" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="But_renunt1" UniqueID="" Timestamp="" /> + + * + BorderStyle = 1 + DoCreate = .T. + Height = 71 + Name = "frm_data" + Width = 247 + _shape1.Height = 29 + _shape1.Left = 0 + _shape1.Name = "_shape1" + _shape1.Top = 0 + _shape1.Width = 241 + _shape2.Height = 29 + _shape2.Left = 184 + _shape2.Name = "_shape2" + _shape2.Top = 0 + _shape2.Width = 66 + Lb_titlu_alb_b121.Caption = "Data" + Lb_titlu_alb_b121.Name = "Lb_titlu_alb_b121" + Lb_titlu_alb_b121.TabIndex = 4 + BUT_TERMIN1.Left = 217 + BUT_TERMIN1.Name = "BUT_TERMIN1" + BUT_TERMIN1.TabIndex = 2 + BUT_TERMIN1.Top = 1 + Gridsort1.Left = 132 + Gridsort1.Name = "Gridsort1" + Gridsort1.Top = 5 + * + + ADD OBJECT 'But_renunt1' AS but_renunt WITH ; + Left = 186, ; + Name = "But_renunt1", ; + TabIndex = 3, ; + Top = 1 + *< END OBJECT: ClassLib="cmd_butoane.vcx" BaseClass="commandbutton" /> + + ADD OBJECT 'txt_data' AS textbox WITH ; + Alignment = 3, ; + ControlSource = "pdData", ; + Height = 23, ; + Left = 59, ; + Name = "txt_data", ; + TabIndex = 1, ; + Top = 39, ; + Width = 132 + *< END OBJECT: BaseClass="textbox" /> + +ENDDEFINE + +DEFINE CLASS frm_filtru_luna AS formtermin OF "_frm_base.vcx" + *< CLASSDATA: Baseclass="form" Timestamp="" Scale="Pixels" Uniqueid="" /> + + *-- OBJECTDATA items order determines ZOrder / El orden de los items OBJECTDATA determina el ZOrder + *< OBJECTDATA: ObjPath="Text2" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="Text1" UniqueID="" Timestamp="" /> + + * + *m: makef_ora + *m: makef_vfp + *p: camp_nume + *p: filtru + *p: filtru_vfp + * + + * + DoCreate = .T. + filtru = + filtru_vfp = + Height = 131 + Name = "frm_filtru_luna" + ScrollBars = 0 + Width = 263 + _shape1.Name = "_shape1" + _shape2.Left = 228 + _shape2.Name = "_shape2" + _shape2.Top = 0 + Lb_titlu_alb_b121.Name = "Lb_titlu_alb_b121" + BUT_TERMIN1.Left = 232 + BUT_TERMIN1.Name = "BUT_TERMIN1" + BUT_TERMIN1.Top = 1 + Gridsort1.Name = "Gridsort1" + * + + ADD OBJECT 'Text1' AS textbox WITH ; + Alignment = 1, ; + Format = "RK", ; + Height = 25, ; + InputMask = "99/9999", ; + Left = 62, ; + Name = "Text1", ; + TabIndex = 1, ; + ToolTipText = "", ; + Top = 47, ; + Value = , ; + Width = 191 + *< END OBJECT: BaseClass="textbox" /> + + ADD OBJECT 'Text2' AS textbox WITH ; + Alignment = 1, ; + Format = "RK", ; + Height = 25, ; + InputMask = "99/9999", ; + Left = 62, ; + Name = "Text2", ; + TabIndex = 2, ; + ToolTipText = "", ; + Top = 96, ; + Value = , ; + Width = 191 + *< END OBJECT: BaseClass="textbox" /> + + PROCEDURE Destroy + With This + Local lcLuna1, lcLuna2, lcSemn1, lcSemn2, lcFiltru, lcListaCampuri, lcCamp + lcListaCampuri = "" + lcCamp = "" + lcLuna1 = .text1.Value + lcLuna2 = .text2.Value + If Empty(lcLuna1) AND EMPTY(lcLuna2) + .filtru = "" + .filtru_vfp = "" + Return + Endif + pcValoare1 = SUBSTR(lcLuna1,1,2)+"/"+SUBSTR(lcLuna1,3) + pcValoare2 = SUBSTR(lcLuna2,1,2)+"/"+SUBSTR(lcLuna2,3) + + thisform.makef_ora(lcLuna1,lcLuna2) + thisform.makef_vfp(lcLuna1,lcLuna2) + pcFiltru = .filtru + pcFiltruVFP = .filtru_vfp + ENDWITH + ENDPROC + + PROCEDURE Init + LPARAMETERS lcCampNume,lcTitlu,lnCriteriu,lnCriteriu2 + + DODEFAULT() + lctitlu=STRTRAN(lcTitlu,'\<','') + WITH this + .camp_nume = lcCampNume + .Lb_titlu_alb_b121.Caption = UPPER(lcTitlu) + .text1.ToolTipText='Introduceti expresia cu care se compara ' + lower(lcTitlu) + .text2.ToolTipText='Introduceti expresia cu care se compara ' + lower(lcTitlu) + IF EMPTY(lccampnume) + .text1.Enabled = .F. + .criteriu.Enabled = .F. + .text2.Enabled = .F. + .criteriu2.Enabled = .F. + ENDIF + ENDWITH + ENDPROC + + PROCEDURE makef_ora + Lparameters lcLuna1,lcLuna2 + Local llCampuri,lcListaCampuri,lcFiltru + With Thisform + lcFiltru = [nume_camp_cautat between ]+Alltrim(Str(Val(Substr(lcLuna1,1,2))+Val(Substr(lcLuna1,3))*12))+[ and ]+; + ALLTRIM(Str(Val(Substr(lcLuna2,1,2))+Val(Substr(lcLuna2,3))*12))+[ ] + llCampuri=.F. + lcListaCampuri=.camp_nume + Do While !Empty(lcListaCampuri) + If Occurs(',',lcListaCampuri)>0 + lcCamp=Substr(lcListaCampuri,1,At(',',lcListaCampuri,1)-1) + lcListaCampuri=Substr(lcListaCampuri,At(',',lcListaCampuri,1)+1) + llCampuri=.T. + Else + lcCamp=lcListaCampuri + lcListaCampuri="" + Endif + .filtru = .filtru + [conditie_logica(] + Strtran(lcFiltru,"nume_camp_cautat",Upper(lcCamp)) + [)] + Enddo + If llCampuri + .filtru = Strtran([ AND (] + Strtran(.filtru,"conditie_logica"," OR ",2) + [)],"conditie_logica","") + Else + .filtru = Strtran(.filtru,"conditie_logica"," AND ") + Endif + Endwith + ENDPROC + + PROCEDURE makef_vfp + Lparameters lcLuna1,lcLuna2 + Local llCampuri,lcListaCampuri,lcFiltru + With Thisform + lcFiltru = [nume_camp_cautat>=]+Alltrim(Str(Val(Substr(lcLuna1,1,2))+Val(Substr(lcLuna1,3))*12))+[ and nume_camp_cautat<=]+; + ALLTRIM(Str(Val(Substr(lcLuna2,1,2))+Val(Substr(lcLuna2,3))*12))+[ ] + llCampuri=.F. + lcListaCampuri=.camp_nume + Do While !Empty(lcListaCampuri) + If Occurs(',',lcListaCampuri)>0 + lcCamp=Substr(lcListaCampuri,1,At(',',lcListaCampuri,1)-1) + lcListaCampuri=Substr(lcListaCampuri,At(',',lcListaCampuri,1)+1) + llCampuri=.T. + Else + lcCamp=lcListaCampuri + lcListaCampuri="" + Endif + .filtru_vfp = .filtru_vfp + [conditie_logica(] + Strtran(lcFiltru,"nume_camp_cautat",Upper(lcCamp)) + [)] + Enddo + If llCampuri + .filtru_vfp = Strtran([ AND (] + Strtran(.filtru_vfp,"conditie_logica"," OR ",2) + [)],"conditie_logica","") + Else + .filtru_vfp = Strtran(.filtru_vfp,"conditie_logica"," AND ") + Endif + Endwith + + ENDPROC + + PROCEDURE Unload + RETURN this.filtru + ENDPROC + + PROCEDURE Text1.LostFocus + thisform.text2.Value=this.Value + ENDPROC + + PROCEDURE Text1.Valid + IF !empty(this.value) + lcLuna=SUBSTR(ALLTRIM(this.Value),1,2) + lcAn=SUBSTR(ALLTRIM(this.Value),3) + IF EMPTY(lcAn) OR LEN(lcAn)<4 + lcAn=ALLTRIM(STR(YEAR(DATE()))) + this.value=PADL(lcLuna,2,'0')+lcAn + ENDIF + IF TYPE("DATE(VAL(lcAn),VAL(lcLuna),1)")!="D" + aMESSAGEBOX("Data invalida!",0+16,"Eroare") + RETURN 0 + ENDIF + ENDIF + ENDPROC + + PROCEDURE Text2.Valid + IF !empty(this.value) + lcLuna=SUBSTR(ALLTRIM(this.Value),1,2) + lcAn=SUBSTR(ALLTRIM(this.Value),3) + IF EMPTY(lcAn) OR LEN(lcAn)<4 + lcAn=ALLTRIM(STR(YEAR(DATE()))) + this.value=PADL(lcLuna,2,'0')+lcAn + ENDIF + IF TYPE("DATE(VAL(lcAn),VAL(lcLuna),1)")!="D" + aMESSAGEBOX("Data invalida!",0+16,"Eroare") + RETURN 0 + ENDIF + ENDIF + ENDPROC + +ENDDEFINE + +DEFINE CLASS frm_filtru_numar AS formtermin OF "_frm_base.vcx" + *< CLASSDATA: Baseclass="form" Timestamp="" Scale="Pixels" Uniqueid="" /> + + *-- OBJECTDATA items order determines ZOrder / El orden de los items OBJECTDATA determina el ZOrder + *< OBJECTDATA: ObjPath="Criteriu1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="Criteriu2" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="Grup_optiuni_filtru_numar1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="Text1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="Text2" UniqueID="" Timestamp="" /> + + * + *m: makef_ora + *m: makef_vfp + *p: camp_nume + *p: filtru + *p: filtru_vfp + *p: nrzec + *p: tip + * + + * + BorderStyle = 1 + DoCreate = .T. + filtru = + filtru_vfp = + Height = 131 + Name = "frm_filtru_numar" + nrzec = 0 + ScrollBars = 0 + tip = + Width = 298 + _shape1.Name = "_shape1" + _shape2.Left = 265 + _shape2.Name = "_shape2" + _shape2.Top = 0 + Lb_titlu_alb_b121.Name = "Lb_titlu_alb_b121" + BUT_TERMIN1.Left = 267 + BUT_TERMIN1.Name = "BUT_TERMIN1" + BUT_TERMIN1.Top = 1 + Gridsort1.Name = "Gridsort1" + * + + ADD OBJECT 'Criteriu1' AS criteriu_numar WITH ; + Left = 26, ; + Name = "Criteriu1", ; + TabIndex = 5, ; + Top = 42 + *< END OBJECT: ClassLib="caut_ora.vcx" BaseClass="combobox" /> + + ADD OBJECT 'Criteriu2' AS criteriu_numar WITH ; + Left = 26, ; + Name = "Criteriu2", ; + Top = 96 + *< END OBJECT: ClassLib="caut_ora.vcx" BaseClass="combobox" /> + + ADD OBJECT 'Grup_optiuni_filtru_numar1' AS grup_optiuni_filtru_numar WITH ; + Left = 91, ; + Name = "Grup_optiuni_filtru_numar1", ; + Top = 69, ; + Option1.Left = 5, ; + Option1.Name = "Option1", ; + Option1.Top = 5, ; + Option2.Left = 66, ; + Option2.Name = "Option2", ; + Option2.Top = 5 + *< END OBJECT: ClassLib="caut_ora.vcx" BaseClass="optiongroup" /> + + ADD OBJECT 'Text1' AS _textbox WITH ; + Alignment = 1, ; + Format = "K", ; + InputMask = "999 999 999 999", ; + Left = 82, ; + Name = "Text1", ; + TabIndex = 1, ; + Top = 43, ; + Value = 0, ; + Width = 191 + *< END OBJECT: ClassLib="_baza.vcx" BaseClass="textbox" /> + + ADD OBJECT 'Text2' AS _textbox WITH ; + Alignment = 1, ; + Format = "K", ; + InputMask = "999 999 999 999", ; + Left = 82, ; + Name = "Text2", ; + TabIndex = 2, ; + Top = 97, ; + Value = 0, ; + Width = 191 + *< END OBJECT: ClassLib="_baza.vcx" BaseClass="textbox" /> + + PROCEDURE Destroy + Local lcNumar1, lcNumar2, lnCriteriu1, lnCriteriu2, lcIntre, lnNrZec, lcNumarVFP1, lcNumarVFP2 + + With Thisform + + Do Case + Case .Grup_optiuni_filtru_numar1.Value = 1 + lcIntre = [ AND ] + Case .Grup_optiuni_filtru_numar1.Value = 2 + lcIntre = [ OR ] + Endcase + lnCriteriu1 = .criteriu1.Value + lnCriteriu2 = .criteriu2.Value + DO case + CASE .tip='N' + lnNrZec=Val(Alltrim(.nrZec)) + lcNumar1 = Alltrim(Str(.Text1.Value,MAX(20,Len(Str(.Text1.Value))),lnNrZec)) + lcNumar2 = Alltrim(Str(.Text2.Value,MAX(20,Len(Str(.Text2.Value))),lnNrZec)) + lcNumarVFP1 =lcNumar1 + lcNumarVFP2 = lcNumar2 + CASE LEFT(.tip,1)='D' + lcNumar1=Alltrim(Dtos(.Text1.Value)) + lcNumar2=Alltrim(Dtos(.Text2.Value)) + lcNumarVFP1=Alltrim(Dtoc(.Text1.Value)) + lcNumarVFP2=Alltrim(Dtoc(.Text2.Value)) + CASE .tip='T' + IF !EMPTY(.Text1.Value) + lcNumar1=Alltrim(TTOC(.Text1.Value,1)) + lcNumarVFP1=Alltrim(TTOC(.Text1.Value,1)) + ENDIF + IF !EMPTY(.Text2.Value) + lcNumar2=Alltrim(TTOC(.Text2.Value,1)) + lcNumarVFP2=Alltrim(TTOC(.Text2.Value,1)) + ENDIF + ENDCASE + If Empty(lcNumar1) And Empty(lcNumar2) + .filtru = "" + .filtru_vfp = "" + Return + ENDIF + + Thisform.makef_ora(lcNumar1,lcNumar2,lnCriteriu1,lnCriteriu2) + Thisform.makef_vfp(lcNumarVFP1,lcNumarVFP2,lnCriteriu1,lnCriteriu2) + pcFiltru = .filtru + pcFiltruVFP = .filtru_vfp + + If Type("pcValoare1") = "C" && variabila privata folosita in ck_filtru_text pt a initializa proprietatea cValoare1 + pcValoare1 = lcNumarVFP1 + Endif + If Type("pcValoare2") = "C" && variabila privata folosita in ck_filtru_text pt a initializa proprietatea cValoare2 + pcValoare2 = lcNumarVFP2 + Endif + If Type("pcIntre") = "C" && variabila privata folosita in ck_filtru_text pt a initializa proprietatea cIntre + pcIntre = lcIntre + Endif + If Type("pnCriteriu")="N" + pnCriteriu = lnCriteriu1 + ENDIF + + If Type("pnCriteriu2")="N" + pnCriteriu2 = lnCriteriu2 + Endif + Endwith + ENDPROC + + PROCEDURE Init + LPARAMETERS lcCampNume,lcTitlu,lnCriteriu1,lnCriteriu2,lcTip,lcMask,lnNrZec + + DODEFAULT() + + lctitlu=STRTRAN(lcTitlu,'\<','') + WITH this + .tip = lcTip + IF EMPTY(lcTip) + .tip='N' + ENDIF + .criteriu1.value = lnCriteriu1 + .criteriu2.value = lnCriteriu2 + .camp_nume = lcCampNume + .Lb_titlu_alb_b121.Caption = UPPER(lcTitlu) + .nrZec = ALLTRIM(STR(lnNrZec)) + * .text1.ToolTipText='Introduceti expresia cu care se compara ' + lower(lcTitlu) + IF EMPTY(lccampnume) + .text1.Enabled = .F. + .text2.Enabled = .F. + .criteriu1.Enabled = .F. + .criteriu2.Enabled = .F. + ENDIF + IF !EMPTY(lcMask) + .text1.inputmask=lcMask + .text2.inputmask=lcMask + ENDIF + IF LEFT(.tip,1)='D' && D, D1 (fara nvl()) + .Grup_optiuni_filtru_numar1.Visible=.F. + .text1.inputmask="" + .text1.value={} + .criteriu1.RowSource="> = ,1, > ,2" + .criteriu1.value=1 + .text2.inputmask="" + .text2.value={} + .criteriu2.RowSource="< = ,1, < ,2" + .criteriu2.value=1 + ENDIF + IF .tip='T' + .Grup_optiuni_filtru_numar1.Visible=.F. + .text1.inputmask="" + .text1.value={// : :} + .criteriu1.RowSource="> = ,1, > ,2" + .criteriu1.value=1 + .text2.inputmask="" + .text2.value={// : :} + .criteriu2.RowSource="< = ,1, < ,2" + .criteriu2.value=1 + ENDIF + ENDWITH + ENDPROC + + PROCEDURE makef_ora + Lparameters lcNumar1,lcNumar2,lnCriteriu1,lnCriteriu2 + Local llCampuri,lcListaCampuri,lcFiltru + lcFiltru="" + + With Thisform + If .tip=='N' + *!* lcNumar1=Alltrim(.text1.Value) + *!* lcNumar2=Alltrim(.text2.Value) + *!* If lcNumar1="0" And lcNumar2="0" + *!* .filtru = "" + *!* Return + *!* Endif + Do Case + Case lnCriteriu1 = 1 + lcSemn1 = [>=] + Case lnCriteriu1 = 2 + lcSemn1 = [<=] + Case lnCriteriu1 = 3 + lcSemn1 = [=] + Case lnCriteriu1 = 4 + lcSemn1 = [<>] + Case lnCriteriu1 = 5 + lcSemn1 = [>] + Case lnCriteriu1 = 6 + lcSemn1 = [<] + Endcase + Do Case + Case lnCriteriu2 = 1 + lcSemn2 = [>=] + Case lnCriteriu2 = 2 + lcSemn2 = [<=] + Case lnCriteriu2 = 3 + lcSemn2 = [=] + Case lnCriteriu2 = 4 + lcSemn2 = [<>] + Case lnCriteriu2 = 5 + lcSemn2 = [>] + Case lnCriteriu2 = 6 + lcSemn2 = [<] + Endcase + If This.Grup_optiuni_filtru_numar1.Value = 1 + lcFiltru = [nume_camp_cautat] + lcSemn1 + lcNumar1 + [ AND nume_camp_cautat ] + lcSemn2 + lcNumar2 + Else + lcFiltru = [nume_camp_cautat ] + lcSemn1 + lcNumar1 + [ OR nume_camp_cautat ] + lcSemn2 + lcNumar2 + Endif + Else + *!* lcNumar1 = Dtos(.text1.Value) + *!* lcNumar2 = Dtos(.text2.Value) + *!* If Empty(lcNumar1) And Empty(lcNumar2) + *!* .filtru = "" + *!* Return + *!* Endif + If .tip = 'T' + pcDataEmpty = [1900-01-01 00:00:00] + Else + pcDataEmpty = [1900-01-01] + Endif + If Empty(lcNumar1) + lcNumar1 = pcDataEmpty + Endif + If Empty(lcNumar2) + lcNumar2 = pcDataEmpty + Endif + + Do Case + Case lnCriteriu1 = 1 + If .tip = 'T' + lcNumar1 = ['] + lcNumar1 + [','YYYYMMDDHH24:MI:SS'] && >= + Else + lcNumar1 = ['] + lcNumar1 + [ 00:00:00','YYYY-MM-DD HH24:MI:SS'] && >= + Endif + Case lnCriteriu1 = 2 + If .tip = 'T' + lcNumar1 = ['] + lcNumar1 + [','YYYYMMDDHH24:MI:SS'] && >= + Else + lcNumar1 = ['] + lcNumar1 + [','YYYY-MM-DD'] && > + Endif + Endcase + + Do Case + Case lnCriteriu2 = 1 + If .tip = 'T' + lcNumar2 = ['] + lcNumar2 + [','YYYYMMDDHH24:MI:SS'] && <= + Else + lcNumar2 = ['] + lcNumar2 + [ 23:59:59','YYYY-MM-DD HH24:MI:SS'] && <= + Endif + Case lnCriteriu2 = 2 + If .tip = 'T' + lcNumar2 = ['] + lcNumar2 + [','YYYYMMDDHH24:MI:SS'] && <= + Else + lcNumar2 = ['] + lcNumar2 + [','YYYY-MM-DD'] && < + Endif + Endcase + If .Grup_optiuni_filtru_numar1.Value = 1 + If .tip = 'T' + lcFiltru = [NVL(nume_camp_cautat,to_date('] + pcDataEmpty + [','YYYY-MM-DD HH24:MI:SS')) between to_date(] + lcNumar1 + [) AND to_date(] + lcNumar2 + [)] + ELSE + IF .tip = 'D1' + lcFiltru = [nume_camp_cautat between to_date(] + lcNumar1 + [) AND to_date(] + lcNumar2 + [)] + ELSE + lcFiltru = [NVL(nume_camp_cautat,to_date('] + pcDataEmpty + [','YYYY-MM-DD')) between to_date(] + lcNumar1 + [) AND to_date(] + lcNumar2 + [)] + ENDIF + Endif + Else + If .tip = 'T' + lcFiltru = [NVL(nume_camp_cautat,to_date('] + pcDataEmpty + [','YYYY-MM-DD HH24:MI:SS')) between to_date(] + lcNumar1 + [) OR to_date(] + lcNumar2 + [)] + ELSE + IF .tip = 'D1' + lcFiltru = [nume_camp_cautat between to_date(] + lcNumar1 + [) OR to_date(] + lcNumar2 + [)] + ELSE + lcFiltru = [NVL(nume_camp_cautat,to_date('] + pcDataEmpty + [','YYYY-MM-DD')) between to_date(] + lcNumar1 + [) OR to_date(] + lcNumar2 + [)] + ENDIF + Endif + + Endif + Endif + llCampuri=.F. + lcListaCampuri=.camp_nume + Do While !Empty(lcListaCampuri) + If Occurs(',',lcListaCampuri)>0 + lcCamp=Substr(lcListaCampuri,1,At(',',lcListaCampuri,1)-1) + lcListaCampuri=Substr(lcListaCampuri,At(',',lcListaCampuri,1)+1) + llCampuri=.T. + Else + lcCamp=lcListaCampuri + lcListaCampuri="" + Endif + .filtru = .filtru + [conditie_logica(] + Strtran(lcFiltru,"nume_camp_cautat",Upper(lcCamp)) + [)] + Enddo + If llCampuri + .filtru = Strtran([ AND (] + Strtran(.filtru,"conditie_logica"," OR ",2) + [)],"conditie_logica","") + Else + .filtru = Strtran(.filtru,"conditie_logica"," AND ") + Endif + Endwith + + ENDPROC + + PROCEDURE makef_vfp + Lparameters lcNumar1,lcNumar2,lnCriteriu1,lnCriteriu2 + Local llCampuri,lcListaCampuri,lcFiltru + lcFiltru="" + With Thisform + If .tip='N' + *!* lcNumar1=Alltrim(.text1.Value) + *!* lcNumar2=Alltrim(.text2.Value) + *!* If (lcNumar1="0" And lcNumar2="0") + *!* .filtru_vfp = "" + *!* Return + *!* Endif + Do Case + Case lnCriteriu1 = 1 + lcSemn1 = [>=] + Case lnCriteriu1 = 2 + lcSemn1 = [<=] + Case lnCriteriu1 = 3 + lcSemn1 = [=] + Case lnCriteriu1 = 4 + lcSemn1 = [<>] + Case lnCriteriu1 = 5 + lcSemn1 = [>] + Case lnCriteriu1 = 6 + lcSemn1 = [<] + Endcase + Do Case + Case lnCriteriu2 = 1 + lcSemn2 = [>=] + Case lnCriteriu2 = 2 + lcSemn2 = [<=] + Case lnCriteriu2 = 3 + lcSemn2 = [=] + Case lnCriteriu2 = 4 + lcSemn2 = [<>] + Case lnCriteriu2 = 5 + lcSemn2 = [>] + Case lnCriteriu2 = 6 + lcSemn2 = [<] + Endcase + If .Grup_optiuni_filtru_numar1.Value = 1 + lcFiltru = [nume_camp_cautat] + lcSemn1 + lcNumar1 + [ AND nume_camp_cautat ] + lcSemn2 + lcNumar2 + Else + lcFiltru = [nume_camp_cautat ] + lcSemn1 + lcNumar1 + [ OR nume_camp_cautat ] + lcSemn2 + lcNumar2 + Endif + Else + *!* lcNumar1 = Dtos(.text1.Value) + *!* lcNumar2 = Dtos(.text2.Value) + *!* If Empty(lcNumar1) And Empty(lcNumar2) + *!* .filtru_vfp = "" + *!* Return + *!* Endif + Do Case + Case lnCriteriu1 = 1 + lcSemn1=[>=] + Case lnCriteriu1 = 2 + lcSemn1=[>] + Endcase + Do Case + Case lnCriteriu2 = 1 + lcSemn2=[<=] + Case lnCriteriu2 = 2 + lcSemn2=[<] + Endcase + If .Grup_optiuni_filtru_numar1.Value = 1 + lcFiltru = [nume_camp_cautat] + lcSemn1 +[CTOD('] +lcNumar1 + [') AND nume_camp_cautat ] + lcSemn2 +[CTOD(']+lcNumar2+[')] + Else + lcFiltru = [nume_camp_cautat ] + lcSemn1 +[CTOD(']+lcNumar1 + [') OR nume_camp_cautat ] + lcSemn2 + [CTOD(']+lcNumar2+[')] + Endif + Endif + llCampuri=.F. + lcListaCampuri=.camp_nume + Do While !Empty(lcListaCampuri) + If Occurs(',',lcListaCampuri)>0 + lcCamp=Substr(lcListaCampuri,1,At(',',lcListaCampuri,1)-1) + lcListaCampuri=Substr(lcListaCampuri,At(',',lcListaCampuri,1)+1) + llCampuri=.T. + Else + lcCamp=lcListaCampuri + lcListaCampuri="" + Endif + .filtru_vfp = .filtru_vfp + [conditie_logica(] + Strtran(lcFiltru,"nume_camp_cautat",Upper(lcCamp)) + [)] + Enddo + If llCampuri + .filtru_vfp = Strtran([ AND (] + Strtran(.filtru_vfp,"conditie_logica"," OR ",2) + [)],"conditie_logica","") + Else + .filtru_vfp = Strtran(.filtru_vfp,"conditie_logica"," AND ") + Endif + Endwith + + ENDPROC + + PROCEDURE Unload + RETURN this.filtru + ENDPROC + + PROCEDURE Criteriu1.InteractiveChange + thisform.text1.SetFocus + ENDPROC + + PROCEDURE Criteriu2.InteractiveChange + thisform.text2.SetFocus + ENDPROC + + PROCEDURE Text1.LostFocus + thisform.text2.Value=this.Value + ENDPROC + +ENDDEFINE + +DEFINE CLASS frm_filtru_text AS formtermin OF "_frm_base.vcx" + *< CLASSDATA: Baseclass="form" Timestamp="" Scale="Pixels" Uniqueid="" /> + + *-- OBJECTDATA items order determines ZOrder / El orden de los items OBJECTDATA determina el ZOrder + *< OBJECTDATA: ObjPath="Criteriu" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="Criteriu2" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="Grup_optiuni_filtru" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="Text" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="Text2" UniqueID="" Timestamp="" /> + + * + *m: makef_ora + *m: makef_vfp + *p: camp_nume + *p: filtru + *p: filtru_vfp + * + + * + DoCreate = .T. + filtru = + filtru_vfp = + Height = 115 + Name = "frm_filtru_text" + ScrollBars = 0 + Width = 320 + _shape1.Name = "_shape1" + _shape2.Left = 286 + _shape2.Name = "_shape2" + _shape2.Top = 0 + Lb_titlu_alb_b121.Name = "Lb_titlu_alb_b121" + BUT_TERMIN1.Left = 290 + BUT_TERMIN1.Name = "BUT_TERMIN1" + BUT_TERMIN1.Top = 1 + Gridsort1.Name = "Gridsort1" + * + + ADD OBJECT 'Criteriu' AS criteriu_text WITH ; + Left = 10, ; + Name = "Criteriu", ; + Top = 62 + *< END OBJECT: ClassLib="caut_ora.vcx" BaseClass="combobox" /> + + ADD OBJECT 'Criteriu2' AS criteriu_text WITH ; + Left = 10, ; + Name = "Criteriu2", ; + TabIndex = 6, ; + Top = 120 + *< END OBJECT: ClassLib="caut_ora.vcx" BaseClass="combobox" /> + + ADD OBJECT 'Grup_optiuni_filtru' AS grup_optiuni_filtru WITH ; + Left = 94, ; + Name = "Grup_optiuni_filtru", ; + TabIndex = 7, ; + Top = 90, ; + Option1.Left = 5, ; + Option1.Name = "Option1", ; + Option1.Top = 5, ; + Option2.Left = 66, ; + Option2.Name = "Option2", ; + Option2.Top = 5, ; + Option3.Left = 134, ; + Option3.Name = "Option3", ; + Option3.Top = 5 + *< END OBJECT: ClassLib="caut_ora.vcx" BaseClass="optiongroup" /> + + ADD OBJECT 'Text' AS _textbox WITH ; + Format = "!KT", ; + Height = 25, ; + Left = 110, ; + Name = "Text", ; + TabIndex = 1, ; + ToolTipText = "", ; + Top = 62, ; + Width = 198 + *< END OBJECT: ClassLib="_baza.vcx" BaseClass="textbox" /> + + ADD OBJECT 'Text2' AS _textbox WITH ; + Format = "!KT", ; + Height = 25, ; + Left = 110, ; + Name = "Text2", ; + TabIndex = 2, ; + Top = 120, ; + Width = 198 + *< END OBJECT: ClassLib="_baza.vcx" BaseClass="textbox" /> + + PROCEDURE Destroy + Do Case + Case Thisform.grup_optiuni_filtru.Value = 1 + lcIntre = '' + Case Thisform.grup_optiuni_filtru.Value = 2 + lcIntre = [ AND ] + Otherwise + lcIntre = [ OR ] + Endcase + + If Type("pcIntre") = "C" && variabila privata folosita in ck_filtru_text pt a initializa proprietatea cIntre + pcIntre = lcIntre + Endif + + With This + Local lnCriteriu,lnCriteriu2, lcNume, lcNume2 + lnCriteriu = .criteriu.Value + lnCriteriu2 = .criteriu2.Value + + lcNume = Alltrim(STRTRAN(.Text.Value,['],[''])) + lcNume2 = Alltrim(STRTRAN(.text2.Value,['],[''])) + + If Type("pcValoare1") = "C" && variabila privata folosita in ck_filtru_text pt a initializa proprietatea cValoare1 + pcValoare1 = lcNume + Endif + If Type("pcValoare2") = "C" && variabila privata folosita in ck_filtru_text pt a initializa proprietatea cValoare2 + pcValoare2 = lcNume2 + Endif + If Type("pnCriteriu") = "N" + pnCriteriu = lnCriteriu + Endif + If Type("pnCriteriu2") = "N" + pnCriteriu2 = lnCriteriu2 + Endif + + If Empty(lcNume) And Empty(lcNume2) AND lnCriteriu<=5 + .filtru = "" + .filtru_vfp = "" + Return + Endif + + Thisform.makef_ora(lcNume,lcNume2,lcIntre,lnCriteriu,lnCriteriu2) + Thisform.makef_vfp(lcNume,lcNume2,lcIntre,lnCriteriu,lnCriteriu2) + pcFiltru = .filtru + pcFiltruVFP = .filtru_vfp + Endwith + *!* Do Case + *!* Case lnCriteriu=1 + *!* lcFiltru = [nume_camp_cautat LIKE '] + Upper(Alltrim(lcNume)) + [%'] + *!* Case lnCriteriu=2 + *!* lcFiltru = [nume_camp_cautat ='] + Upper(Alltrim(lcNume)) + ['] + *!* Case lnCriteriu=3 + *!* lcFiltru = [nume_camp_cautat !='] + Upper(Alltrim(lcNume)) + ['] + *!* Case lnCriteriu=4 + *!* lcFiltru = [nume_camp_cautat LIKE '%] + Upper(Alltrim(lcNume)) + [%'] + *!* Case lnCriteriu=5 + *!* lcFiltru = [nume_camp_cautat NOT LIKE '%] + Upper(Alltrim(lcNume)) + [%'] + *!* Endcase + *!* If !Empty(lcIntre) + *!* Do Case + *!* Case lnCriteriu2=1 + *!* lcFiltru = lcFiltru + [ ] + Upper(Alltrim(lcIntre)) + [ nume_camp_cautat LIKE '] + Upper(Alltrim(lcNume2)) + [%'] + *!* Case lnCriteriu2=2 + *!* lcFiltru = lcFiltru + [ ] + Upper(Alltrim(lcIntre)) + [ nume_camp_cautat ='] + Upper(Alltrim(lcNume2)) + ['] + *!* Case lnCriteriu2=3 + *!* lcFiltru = lcFiltru + [ ] + Upper(Alltrim(lcIntre)) + [ nume_camp_cautat !='] + Upper(Alltrim(lcNume2)) + ['] + *!* Case lnCriteriu2=4 + *!* lcFiltru = lcFiltru + [ ] + Upper(Alltrim(lcIntre)) + [ nume_camp_cautat LIKE '%] + Upper(Alltrim(lcNume2)) + [%'] + *!* Case lnCriteriu2=5 + *!* lcFiltru = lcFiltru + [ ] + Upper(Alltrim(lcIntre)) + [ nume_camp_cautat NOT LIKE '%] + Upper(Alltrim(lcNume2)) + [%'] + *!* Endcase + *!* Endif + + *!* llCampuri=.F. + *!* lcListaCampuri=.camp_nume + *!* DO WHILE !EMPTY(lcListaCampuri) + *!* IF OCCURS(',',lcListaCampuri)>0 + *!* lcCamp=SUBSTR(lcListaCampuri,1,AT(',',lcListaCampuri,1)-1) + *!* lcListaCampuri=SUBSTR(lcListaCampuri,AT(',',lcListaCampuri,1)+1) + *!* llCampuri=.T. + *!* ELSE + *!* lcCamp=lcListaCampuri + *!* lcListaCampuri="" + *!* ENDIF + *!* .filtru = .filtru + [conditie_logica(] + STRTRAN(lcFiltru,"nume_camp_cautat",UPPER(lcCamp)) + [)] + *!* ENDDO + + *!* IF llCampuri + *!* .filtru = STRTRAN([ AND (] + STRTRAN(.filtru,"conditie_logica"," OR ",2) + [)],"conditie_logica","") + *!* ELSE + *!* .filtru = STRTRAN(.filtru,"conditie_logica"," AND ") + *!* ENDIF + ENDPROC + + PROCEDURE Init + Lparameters lcCampNume,lcTitlu,lnCriteriu,lnCriteriu2 + + DoDefault() + lcTitlu=Strtran(lcTitlu,'\<','') + With Thisform + .criteriu.Value = lnCriteriu + If lnCriteriu>5 + .Text.ReadOnly=.T. + Endif + .criteriu2.Value = lnCriteriu2 + If lnCriteriu2>5 + .Text2.ReadOnly=.T. + Endif + .camp_nume = lcCampNume + .Lb_titlu_alb_b121.Caption = UPPER(lcTitlu) + .Text.ToolTipText='Introduceti expresia cu care se compara ' + Lower(lcTitlu) + .text2.ToolTipText='Introduceti expresia cu care se compara ' + Lower(lcTitlu) + If Empty(lcCampNume) + .Text.Enabled = .F. + .criteriu.Enabled = .F. + .text2.Enabled = .F. + .criteriu2.Enabled = .F. + Endif + Endwith + ENDPROC + + PROCEDURE makef_ora + Lparameters lcNume,lcNume2,lcIntre,lnCriteriu,lnCriteriu2 + Local llCampuri,lcListaCampuri,lcFiltru + lcFiltru="" + With This + Do Case + Case lnCriteriu=1 + lcFiltru = [nume_camp_cautat LIKE '] + Upper(Alltrim(lcNume)) + [%'] + Case lnCriteriu=2 + lcFiltru = [nume_camp_cautat ='] + Upper(Alltrim(lcNume)) + ['] + Case lnCriteriu=3 + lcFiltru = [nume_camp_cautat !='] + Upper(Alltrim(lcNume)) + ['] + Case lnCriteriu=4 + lcFiltru = [nume_camp_cautat LIKE '%] + Upper(Alltrim(lcNume)) + [%'] + Case lnCriteriu=5 + lcFiltru = [nume_camp_cautat NOT LIKE '%] + Upper(Alltrim(lcNume)) + [%'] + Case lnCriteriu=6 + lcFiltru = [nume_camp_cautat is null] + Case lnCriteriu=7 + lcFiltru = [nume_camp_cautat is not null] + Endcase + If !Empty(lcIntre) + Do Case + Case lnCriteriu2=1 + lcFiltru = lcFiltru + [ ] + Upper(Alltrim(lcIntre)) + [ nume_camp_cautat LIKE '] + Upper(Alltrim(lcNume2)) + [%'] + Case lnCriteriu2=2 + lcFiltru = lcFiltru + [ ] + Upper(Alltrim(lcIntre)) + [ nume_camp_cautat ='] + Upper(Alltrim(lcNume2)) + ['] + Case lnCriteriu2=3 + lcFiltru = lcFiltru + [ ] + Upper(Alltrim(lcIntre)) + [ nume_camp_cautat !='] + Upper(Alltrim(lcNume2)) + ['] + Case lnCriteriu2=4 + lcFiltru = lcFiltru + [ ] + Upper(Alltrim(lcIntre)) + [ nume_camp_cautat LIKE '%] + Upper(Alltrim(lcNume2)) + [%'] + Case lnCriteriu2=5 + lcFiltru = lcFiltru + [ ] + Upper(Alltrim(lcIntre)) + [ nume_camp_cautat NOT LIKE '%] + Upper(Alltrim(lcNume2)) + [%'] + Case lnCriteriu=6 + lcFiltru = [nume_camp_cautat is null] + Case lnCriteriu=7 + lcFiltru = [nume_camp_cautat is not null] + Endcase + Endif + llCampuri=.F. + lcListaCampuri=.camp_nume + Do While !Empty(lcListaCampuri) + If Occurs(',',lcListaCampuri)>0 + lcCamp=Substr(lcListaCampuri,1,At(',',lcListaCampuri,1)-1) + lcListaCampuri=Substr(lcListaCampuri,At(',',lcListaCampuri,1)+1) + llCampuri=.T. + Else + lcCamp=lcListaCampuri + lcListaCampuri="" + Endif + .filtru = .filtru + [conditie_logica(] + Strtran(lcFiltru,"nume_camp_cautat",Upper(lcCamp)) + [)] + Enddo + If llCampuri + .filtru = Strtran([ AND (] + Strtran(.filtru,"conditie_logica"," OR ",2) + [)],"conditie_logica","") + Else + .filtru = Strtran(.filtru,"conditie_logica"," AND ") + Endif + Endwith + ENDPROC + + PROCEDURE makef_vfp + Lparameters lcNume,lcNume2,lcIntre,lnCriteriu,lnCriteriu2 + Local llCampuri,lcListaCampuri,lcFiltru + lcFiltru="" + With This + Do Case + Case lnCriteriu = 1 + lcFiltru = "LIKE([" + Upper(lcNume) + "*],UPPER(nume_camp_cautat))" + Case lnCriteriu = 2 + lcFiltru = "UPPER(nume_camp_cautat)=[" + Upper(lcNume) + "]" + Case lnCriteriu = 3 + lcFiltru = "UPPER(nume_camp_cautat)<>[" + Upper(lcNume) + "]" + Case lnCriteriu = 4 + lcFiltru = "LIKE([*" + Upper(lcNume) + "*],UPPER(nume_camp_cautat))" + Case lnCriteriu = 5 + *.filtru = "upper(" + .camp_nume + ") NOT LIKE %" + UPPER(lcNume) + "%" + lcFiltru = "!LIKE([*" + Upper(lcNume) + "*],UPPER(nume_camp_cautat))" + Case lnCriteriu=6 + lcFiltru = [EMPTY(nume_camp_cautat)] + Case lnCriteriu=7 + lcFiltru = [!EMPTY(nume_camp_cautat)] + Endcase + If !Empty(lcIntre) + Do Case + Case lnCriteriu2 = 1 + lcFiltru = lcFiltru + " " + Upper(Alltrim(lcIntre)) + " LIKE([" + Upper(lcNume2) + "*],UPPER(nume_camp_cautat))" + Case lnCriteriu2 = 2 + lcFiltru = lcFiltru + " " + Upper(Alltrim(lcIntre)) + " UPPER(nume_camp_cautat)=[" + Upper(lcNume2) + "]" + Case lnCriteriu2 = 3 + lcFiltru = lcFiltru + " " + Upper(Alltrim(lcIntre)) + " UPPER(nume_camp_cautat)<>[" + Upper(lcNume2) + "]" + Case lnCriteriu2 = 4 + lcFiltru = lcFiltru + " " + Upper(Alltrim(lcIntre)) + " LIKE([*" + Upper(lcNume2) + "*],UPPER(nume_camp_cautat))" + Case lnCriteriu2 = 5 + lcFiltru = lcFiltru + " " + Upper(Alltrim(lcIntre)) + " !LIKE([*" + Upper(lcNume2) + "*],UPPER(nume_camp_cautat))" + Case lnCriteriu=6 + lcFiltru = [EMPTY(nume_camp_cautat)] + Case lnCriteriu=7 + lcFiltru = [!EMPTY(nume_camp_cautat)] + Endcase + Endif + llCampuri=.F. + lcListaCampuri=.camp_nume + Do While !Empty(lcListaCampuri) + If Occurs(',',lcListaCampuri)>0 + lcCamp=Substr(lcListaCampuri,1,At(',',lcListaCampuri,1)-1) + lcListaCampuri=Substr(lcListaCampuri,At(',',lcListaCampuri,1)+1) + llCampuri=.T. + Else + lcCamp=lcListaCampuri + lcListaCampuri="" + Endif + .filtru_vfp = .filtru_vfp + [conditie_logica(] + Strtran(lcFiltru,"nume_camp_cautat",Upper(lcCamp)) + [)] + Enddo + + If llCampuri + .filtru_vfp = Strtran([ AND (] + Strtran(.filtru_vfp,"conditie_logica"," OR ",2) + [)],"conditie_logica","") + Else + .filtru_vfp = Strtran(.filtru_vfp,"conditie_logica"," AND ") + Endif + Endwith + ENDPROC + + PROCEDURE Unload + RETURN this.filtru + ENDPROC + + PROCEDURE Criteriu.InteractiveChange + If This.Value>5 + Thisform.Text.Value="" + Thisform.Text.ReadOnly=.T. + Else + Thisform.Text.ReadOnly=.F. + Thisform.Text.SetFocus + Endif + ENDPROC + + PROCEDURE Criteriu2.InteractiveChange + If This.Value>5 + Thisform.Text2.Value="" + Thisform.Text2.ReadOnly=.T. + Else + Thisform.Text2.ReadOnly=.F. + Thisform.Text2.SetFocus + Endif + ENDPROC + + PROCEDURE Grup_optiuni_filtru.InteractiveChange + IF this.Value # 1 + thisform.Height = 155 + ELSE + thisform.Height = 115 + ENDIF + + ENDPROC + +ENDDEFINE + +DEFINE CLASS frm_perioada AS _frmbase OF "_frm_base.vcx" + *< CLASSDATA: Baseclass="form" Timestamp="" Scale="Pixels" Uniqueid="" /> + + *-- OBJECTDATA items order determines ZOrder / El orden de los items OBJECTDATA determina el ZOrder + *< OBJECTDATA: ObjPath="_optiongrup1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="_textbox1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="_textbox2" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="_image1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="_image2" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="Caut_anluna1" UniqueID="" Timestamp="" /> + + * + BorderStyle = 1 + DoCreate = .T. + Height = 106 + Name = "frm_perioada" + Width = 375 + _shape1.Name = "_shape1" + _shape2.Left = 340 + _shape2.Name = "_shape2" + _shape2.Top = 0 + Lb_titlu_alb_b121.Name = "Lb_titlu_alb_b121" + Lb_titlu_alb_b121.TabIndex = 6 + BUT_TERMIN1.Left = 343 + BUT_TERMIN1.Name = "BUT_TERMIN1" + BUT_TERMIN1.TabIndex = 5 + BUT_TERMIN1.Top = 1 + Gridsort1.Name = "Gridsort1" + * + + ADD OBJECT '_image1' AS _image WITH ; + Height = 20, ; + Left = 112, ; + Name = "_image1", ; + Picture = ..\..\gestiuni\grafice\sg.ico, ; + Top = 49, ; + Width = 30 + *< END OBJECT: ClassLib="_baza.vcx" BaseClass="image" /> + + ADD OBJECT '_image2' AS _image WITH ; + Height = 20, ; + Left = 112, ; + Name = "_image2", ; + Picture = ..\..\gestiuni\grafice\sg.ico, ; + Top = 72, ; + Visible = .F., ; + Width = 30 + *< END OBJECT: ClassLib="_baza.vcx" BaseClass="image" /> + + ADD OBJECT '_optiongrup1' AS _optiongrup WITH ; + AutoSize = .T., ; + Height = 46, ; + Left = 3, ; + Name = "_optiongrup1", ; + TabIndex = 1, ; + Top = 48, ; + Width = 109, ; + Option1.AutoSize = .T., ; + Option1.Caption = "O singurã lunã", ; + Option1.FontCharSet = 238, ; + Option1.Left = 5, ; + Option1.Name = "Option1", ; + Option1.Top = 5, ; + Option2.AutoSize = .T., ; + Option2.Caption = "O perioadã", ; + Option2.FontCharSet = 238, ; + Option2.Left = 5, ; + Option2.Name = "Option2", ; + Option2.Top = 24 + *< END OBJECT: ClassLib="_baza.vcx" BaseClass="optiongroup" /> + + ADD OBJECT '_textbox1' AS _textbox WITH ; + Alignment = 3, ; + Format = "k", ; + Left = 144, ; + Name = "_textbox1", ; + TabIndex = 3, ; + Top = 72, ; + Value = {}, ; + Visible = .F. + *< END OBJECT: ClassLib="_baza.vcx" BaseClass="textbox" /> + + ADD OBJECT '_textbox2' AS _textbox WITH ; + Alignment = 3, ; + Format = "k", ; + Left = 264, ; + Name = "_textbox2", ; + TabIndex = 4, ; + Top = 72, ; + Value = {}, ; + Visible = .F. + *< END OBJECT: ClassLib="_baza.vcx" BaseClass="textbox" /> + + ADD OBJECT 'Caut_anluna1' AS caut_anluna WITH ; + Left = 144, ; + Name = "Caut_anluna1", ; + Top = 48, ; + cboan.Name = "cboan", ; + cboluna.Name = "cboluna" + *< END OBJECT: ClassLib="caut_ora.vcx" BaseClass="container" /> + + PROCEDURE inainte_de_do_termin + + + pcondper = IIF(thisform._optiongrup1.Value=1,ALLTRIM(STR(thisform.caut_anluna1.nan))+; + PADL(ALLTRIM(STR(thisform.caut_anluna1.nluna)),2,'0'),DTOS(thisform._textbox1.Value)+'_'+DTOS(thisform._textbox2.Value)) + DODEFAULT() + ENDPROC + + PROCEDURE _optiongrup1.Valid + thisform.caut_anluna1.Visible = IIF(this.Value=1,.t.,.f.) + thisform._image1.Visible = IIF(this.Value=1,.t.,.f.) + thisform._image2.Visible = IIF(this.Value=2,.t.,.f.) + thisform._textbox1.Visible = IIF(this.Value=2,.t.,.f.) + thisform._textbox2.Visible = IIF(this.Value=2,.t.,.f.) + IF this.Value=1 + thisform.caut_anluna1.SetFocus + ELSE + thisform._textbox1.SetFocus + ENDIF + ENDPROC + +ENDDEFINE + +DEFINE CLASS frm_perioada_luni AS _frmbase OF "_frm_base.vcx" + *< CLASSDATA: Baseclass="form" Timestamp="" Scale="Pixels" Uniqueid="" /> + + *-- OBJECTDATA items order determines ZOrder / El orden de los items OBJECTDATA determina el ZOrder + *< OBJECTDATA: ObjPath="_optiongrup1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="_textbox1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="_textbox2" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="_image1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="_image2" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="Caut_anluna1" UniqueID="" Timestamp="" /> + + * + *p: lmodificaluna + * + + * + DoCreate = .T. + Height = 106 + lmodificaluna = .T. + Name = "frm_perioada_luni" + Width = 375 + _shape1.Name = "_shape1" + _shape2.Height = 29 + _shape2.Left = 338 + _shape2.Name = "_shape2" + _shape2.Top = 0 + _shape2.Width = 38 + Lb_titlu_alb_b121.Caption = "Alegeþi luna" + Lb_titlu_alb_b121.Name = "Lb_titlu_alb_b121" + Lb_titlu_alb_b121.TabIndex = 6 + BUT_TERMIN1.Left = 343 + BUT_TERMIN1.Name = "BUT_TERMIN1" + BUT_TERMIN1.TabIndex = 5 + BUT_TERMIN1.Top = 1 + Gridsort1.Left = 34 + Gridsort1.Name = "Gridsort1" + Gridsort1.Top = 42 + * + + ADD OBJECT '_image1' AS _image WITH ; + Height = 20, ; + Left = 143, ; + Name = "_image1", ; + Picture = ..\grafice\sg.ico, ; + Stretch = 1, ; + Top = 44, ; + Width = 30 + *< END OBJECT: ClassLib="_baza.vcx" BaseClass="image" /> + + ADD OBJECT '_image2' AS _image WITH ; + Height = 20, ; + Left = 143, ; + Name = "_image2", ; + Picture = ..\grafice\sg.ico, ; + Stretch = 1, ; + Top = 68, ; + Visible = .F., ; + Width = 30 + *< END OBJECT: ClassLib="_baza.vcx" BaseClass="image" /> + + ADD OBJECT '_optiongrup1' AS _optiongrup WITH ; + AutoSize = .T., ; + Height = 46, ; + Left = 33, ; + Name = "_optiongrup1", ; + TabIndex = 1, ; + Top = 43, ; + Width = 109, ; + Option1.AutoSize = .T., ; + Option1.Caption = "O singurã lunã", ; + Option1.FontCharSet = 238, ; + Option1.Left = 5, ; + Option1.Name = "Option1", ; + Option1.Top = 5, ; + Option2.AutoSize = .T., ; + Option2.Caption = "O perioadã", ; + Option2.FontCharSet = 238, ; + Option2.Left = 5, ; + Option2.Name = "Option2", ; + Option2.Top = 24 + *< END OBJECT: ClassLib="_baza.vcx" BaseClass="optiongroup" /> + + ADD OBJECT '_textbox1' AS _textbox WITH ; + Alignment = 3, ; + Format = "RK", ; + Height = 23, ; + InputMask = "99/9999", ; + Left = 175, ; + Name = "_textbox1", ; + TabIndex = 3, ; + Top = 67, ; + Visible = .F., ; + Width = 78 + *< END OBJECT: ClassLib="_baza.vcx" BaseClass="textbox" /> + + ADD OBJECT '_textbox2' AS _textbox WITH ; + Alignment = 3, ; + Format = "RK", ; + Height = 23, ; + InputMask = "99/9999", ; + Left = 269, ; + Name = "_textbox2", ; + TabIndex = 4, ; + Top = 67, ; + Visible = .F., ; + Width = 68 + *< END OBJECT: ClassLib="_baza.vcx" BaseClass="textbox" /> + + ADD OBJECT 'Caut_anluna1' AS caut_anluna WITH ; + Left = 175, ; + Name = "Caut_anluna1", ; + TabIndex = 2, ; + Top = 43, ; + cboan.Name = "cboan", ; + cboluna.Name = "cboluna" + *< END OBJECT: ClassLib="caut_ora.vcx" BaseClass="container" /> + + PROCEDURE inainte_de_do_termin + If Thisform._optiongrup1.Value=1 + pcondper=Padl(Alltrim(Str(Thisform.caut_anluna1.nluna)),2,'0')+Alltrim(Str(Thisform.caut_anluna1.nan)) + Else + If Empty(Thisform._textbox1.Value) + aMessagebox("Nu ati completat luna initiala!",0+48,"Atentie") + Thisform._textbox1.SetFocus + Return .F. + Endif + If Empty(Thisform._textbox2.Value) + aMessagebox("Nu ati completat luna initiala!",0+48,"Atentie") + Thisform._textbox2.SetFocus + Return .F. + Endif + pcondper=Thisform._textbox1.Value+'_'+Thisform._textbox2.Value + Endif + DoDefault() + ENDPROC + + PROCEDURE Init + Lparameters tlModificaLuna,tlTip + Local lcLuna,lcAn + This.lmodificaluna = tlModificaLuna + If !This.lmodificaluna + Thisform._image1.Visible=.F. + Thisform.caut_anluna1.Enabled=.F. + Endif + lcLuna=Padl(Alltrim(Str(gnLuna)),2,'0') + lcAn=Alltrim(Str(gnAn)) + Thisform._textbox1.Value=lcLuna+lcAn + Thisform._textbox2.Value=lcLuna+lcAn + Thisform._optiongrup1.Value = Iif(Empty(tlTip),1,Iif(tlTip=1,2,1)) + ENDPROC + + PROCEDURE _optiongrup1.InteractiveChange + Thisform.caut_anluna1.Visible = Iif(This.Value=1,.T.,.F.) + If Thisform.lmodificaluna + Thisform._image1.Visible = Iif(This.Value=1,.T.,.F.) + Endif + Thisform._image2.Visible = Iif(This.Value=2,.T.,.F.) + Thisform._textbox1.Visible = Iif(This.Value=2,.T.,.F.) + Thisform._textbox2.Visible = Iif(This.Value=2,.T.,.F.) + ENDPROC + + PROCEDURE _optiongrup1.ProgrammaticChange + This.InteractiveChange() + + ENDPROC + + PROCEDURE _optiongrup1.Valid + If This.Value=1 + Thisform.caut_anluna1.SetFocus + Else + Thisform._textbox1.SetFocus + Endif + ENDPROC + + PROCEDURE _textbox1.LostFocus + If Empty(Thisform._textbox2.Value) + Thisform._textbox2.Value=This.Value + Endif + ENDPROC + + PROCEDURE _textbox1.Valid + IF !empty(this.value) + lcLuna=SUBSTR(ALLTRIM(this.Value),1,2) + lcAn=SUBSTR(ALLTRIM(this.Value),3) + IF EMPTY(lcAn) OR LEN(lcAn)<4 + lcAn=ALLTRIM(STR(YEAR(DATE()))) + this.value=PADL(lcLuna,2,'0')+lcAn + ENDIF + IF TYPE("DATE(VAL(lcAn),VAL(lcLuna),1)")!="D" + aMESSAGEBOX("Data invalida!",0+16,"Eroare") + RETURN 0 + ENDIF + ENDIF + ENDPROC + + PROCEDURE _textbox2.LostFocus + If Empty(Thisform._textbox1.Value) + Thisform._textbox1.Value=This.Value + Endif + ENDPROC + + PROCEDURE _textbox2.Valid + IF !empty(this.value) + lcLuna=SUBSTR(ALLTRIM(this.Value),1,2) + lcAn=SUBSTR(ALLTRIM(this.Value),3) + IF EMPTY(lcAn) OR LEN(lcAn)<4 + lcAn=ALLTRIM(STR(YEAR(DATE()))) + this.value=PADL(lcLuna,2,'0')+lcAn + ENDIF + IF TYPE("DATE(VAL(lcAn),VAL(lcLuna),1)")!="D" + aMESSAGEBOX("Data invalida!",0+16,"Eroare") + RETURN 0 + ENDIF + ENDIF + ENDPROC + +ENDDEFINE + +DEFINE CLASS frm_perioada_zzllaaaa AS _frmbase OF "_frm_base.vcx" + *< CLASSDATA: Baseclass="form" Timestamp="" Scale="Pixels" Uniqueid="" /> + + *-- OBJECTDATA items order determines ZOrder / El orden de los items OBJECTDATA determina el ZOrder + *< OBJECTDATA: ObjPath="lbPerioada" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="But_renunt1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="_txDataf" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="_txDatai" UniqueID="" Timestamp="" /> + + * + *p: pddataf + *p: pddatai + * + + * + BorderStyle = 1 + DoCreate = .T. + Height = 94 + Name = "frm_perioada_zzllaaaa" + pddataf = {} + pddatai = {} + Width = 205 + _shape1.Left = -59 + _shape1.Name = "_shape1" + _shape1.Top = 0 + _shape2.Height = 29 + _shape2.Left = 144 + _shape2.Name = "_shape2" + _shape2.Top = 0 + _shape2.Width = 61 + Lb_titlu_alb_b121.Caption = "Alegeþi perioada" + Lb_titlu_alb_b121.Left = 6 + Lb_titlu_alb_b121.Name = "Lb_titlu_alb_b121" + Lb_titlu_alb_b121.TabIndex = 5 + BUT_TERMIN1.Left = 174 + BUT_TERMIN1.Name = "BUT_TERMIN1" + BUT_TERMIN1.TabIndex = 3 + BUT_TERMIN1.Top = 1 + Gridsort1.Left = 144 + Gridsort1.Name = "Gridsort1" + Gridsort1.Top = 7 + * + + ADD OBJECT '_txDataf' AS _textbox WITH ; + ControlSource = "thisform.pddataf", ; + DisabledForeColor = 0,0,0, ; + ForeColor = 0,0,0, ; + Format = "k", ; + Height = 22, ; + Left = 97, ; + Name = "_txDataf", ; + TabIndex = 2, ; + Top = 58, ; + Width = 80, ; + ZOrderSet = 8 + *< END OBJECT: ClassLib="_baza.vcx" BaseClass="textbox" /> + + ADD OBJECT '_txDatai' AS _textbox WITH ; + ControlSource = "thisform.pddatai", ; + DisabledForeColor = 0,0,0, ; + ForeColor = 0,0,0, ; + Format = "k", ; + Height = 22, ; + Left = 13, ; + Name = "_txDatai", ; + TabIndex = 1, ; + Top = 58, ; + Width = 80, ; + ZOrderSet = 8 + *< END OBJECT: ClassLib="_baza.vcx" BaseClass="textbox" /> + + ADD OBJECT 'But_renunt1' AS but_renunt WITH ; + Left = 145, ; + Name = "But_renunt1", ; + TabIndex = 4, ; + Top = 1 + *< END OBJECT: ClassLib="cmd_butoane.vcx" BaseClass="commandbutton" /> + + ADD OBJECT 'lbPerioada' AS label WITH ; + Alignment = 2, ; + BackColor = 255,255,255, ; + Caption = "Perioada", ; + Comment = "*:OnResize=LT", ; + Height = 17, ; + Left = 13, ; + Name = "lbPerioada", ; + TabIndex = 6, ; + Top = 36, ; + Width = 63, ; + ZOrderSet = 16 + *< END OBJECT: BaseClass="label" /> + + PROCEDURE inainte_de_do_termin + pdDataI = THISFORM.pdDataI + pdDataF = THISFORM.pdDataF + + + DO CASE + CASE EMPTY(THISFORM.pdDataI) + AMESSAGEBOX("Nu ati completat data initiala!",0+48,"Atentie") + THISFORM._txDatai.SETFOCUS() + RETURN .F. + CASE EMPTY(THISFORM.pdDataF) + AMESSAGEBOX("Nu ati completat data finala!",0+48,"Atentie") + THISFORM._txDataf.SETFOCUS() + RETURN .F. + CASE THISFORM.pdDataI > THISFORM.pdDataF + AMESSAGEBOX("Data finala trebuie sa fie mai mare decat data initiala !",0+48,"Atentie") + THISFORM._txDataf.SETFOCUS() + RETURN .F. + ENDCASE + + RETURN .T. + ENDPROC + + PROCEDURE Init + DODEFAULT() + + LOCAL lcData1 + lcData1 = '01/'+ALLTRIM(STR(gnLuna))+'/'+ALLTRIM(STR(gnAn)) + thisform.pddatai = CTOD(lcData1) + thisform.pddataf = ULTIMAZI(STR(gnAn), STR(gnLuna)) + ENDPROC + +ENDDEFINE + +DEFINE CLASS frm_sel_cont AS formtermin OF "_frm_base.vcx" + *< CLASSDATA: Baseclass="form" Timestamp="" Scale="Pixels" Uniqueid="" /> + + *-- OBJECTDATA items order determines ZOrder / El orden de los items OBJECTDATA determina el ZOrder + *< OBJECTDATA: ObjPath="Shape3" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="Shape2" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="cboCont" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="lblCont" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="lblAcont" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="Optiongroup1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="Renunt1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="Label9" UniqueID="" Timestamp="" /> + + * + *m: go + *p: calias + *p: nfel_cont + *p: ocont + * + + * + BorderStyle = 1 + calias = + DoCreate = .T. + Height = 122 + Name = "frm_sel_cont" + nfel_cont = 0 + ocont = .NULL. + ScrollBars = 0 + Width = 205 + _shape1.Name = "_shape1" + _shape2.Height = 29 + _shape2.Left = 142 + _shape2.Name = "_shape2" + _shape2.Top = 0 + _shape2.Width = 67 + Lb_titlu_alb_b121.Name = "Lb_titlu_alb_b121" + BUT_TERMIN1.Left = 174 + BUT_TERMIN1.Name = "BUT_TERMIN1" + BUT_TERMIN1.Top = 1 + BUT_TERMIN1.Visible = .F. + * + + ADD OBJECT 'cboCont' AS combobox WITH ; + ColumnCount = 2, ; + ColumnLines = .F., ; + ColumnWidths = "40,40", ; + Height = 24, ; + Left = 12, ; + Name = "cboCont", ; + RowSourceType = 6, ; + Style = 2, ; + TabIndex = 1, ; + Top = 60, ; + Width = 84, ; + ZOrderSet = 4 + *< END OBJECT: BaseClass="combobox" /> + + ADD OBJECT 'Label9' AS label WITH ; + AutoSize = .T., ; + BackStyle = 0, ; + Caption = "Contul este considerat de:", ; + FontBold = .F., ; + Height = 17, ; + Left = 10, ; + Name = "Label9", ; + TabIndex = 14, ; + Top = 129, ; + Width = 146, ; + ZOrderSet = 10 + *< END OBJECT: BaseClass="label" /> + + ADD OBJECT 'lblAcont' AS label WITH ; + BackStyle = 0, ; + Caption = " ", ; + FontItalic = .T., ; + FontSize = 10, ; + ForeColor = 0,0,128, ; + Height = 18, ; + Left = 146, ; + Name = "lblAcont", ; + TabIndex = 5, ; + Top = 65, ; + Width = 40, ; + ZOrderSet = 6 + *< END OBJECT: BaseClass="label" /> + + ADD OBJECT 'lblCont' AS label WITH ; + BackStyle = 0, ; + Caption = " ", ; + FontItalic = .T., ; + FontSize = 10, ; + ForeColor = 0,0,128, ; + Height = 18, ; + Left = 111, ; + Name = "lblCont", ; + TabIndex = 4, ; + Top = 65, ; + Width = 30, ; + ZOrderSet = 5 + *< END OBJECT: BaseClass="label" /> + + ADD OBJECT 'Optiongroup1' AS optiongroup WITH ; + BackStyle = 0, ; + ButtonCount = 2, ; + ControlSource = "pnTipCont", ; + Height = 26, ; + Left = 35, ; + Name = "Optiongroup1", ; + TabIndex = 8, ; + Top = 152, ; + Value = 1, ; + Width = 120, ; + ZOrderSet = 8, ; + Option1.AutoSize = .T., ; + Option1.BackStyle = 0, ; + Option1.Caption = "Activ", ; + Option1.ControlSource = "", ; + Option1.Height = 17, ; + Option1.Left = 5, ; + Option1.Name = "Option1", ; + Option1.TabStop = .F., ; + Option1.Top = 5, ; + Option1.Value = 1, ; + Option1.Width = 42, ; + Option2.AutoSize = .T., ; + Option2.BackStyle = 0, ; + Option2.Caption = "Pasiv", ; + Option2.ControlSource = "", ; + Option2.Height = 17, ; + Option2.Left = 60, ; + Option2.Name = "Option2", ; + Option2.TabStop = .F., ; + Option2.Top = 5, ; + Option2.Value = 0, ; + Option2.Width = 48 + *< END OBJECT: BaseClass="optiongroup" /> + + ADD OBJECT 'Renunt1' AS but_renunt WITH ; + Left = 144, ; + Name = "Renunt1", ; + Top = 1 + *< END OBJECT: ClassLib="cmd_butoane.vcx" BaseClass="commandbutton" /> + + ADD OBJECT 'Shape2' AS shape WITH ; + BackColor = 236,233,216, ; + BackStyle = 0, ; + BorderColor = 181,210,225, ; + Height = 80, ; + Left = 6, ; + Name = "Shape2", ; + Top = 36, ; + Width = 191, ; + ZOrderSet = 0 + *< END OBJECT: BaseClass="shape" /> + + ADD OBJECT 'Shape3' AS shape WITH ; + BackColor = 236,233,216, ; + BackStyle = 0, ; + BorderColor = 181,210,225, ; + Height = 60, ; + Left = 6, ; + Name = "Shape3", ; + Top = 124, ; + Width = 191, ; + ZOrderSet = 0 + *< END OBJECT: BaseClass="shape" /> + + PROCEDURE go + lcAlias = (Thisform.calias) + IF !EMPTY(lcAlias) + SELECT (lcAlias) + With Thisform.ocont + .cont = cont + IF ISNULL(acont) + .acont = '' + ELSE + .acont=acont + ENDIF + ENDWITH + IF TYPE(lcAlias + '.fel_cont') # 'U' + this.opTIONGROUP1.value = &lcAlias..fel_cont + 1 + this.nfel_cont = &lcAlias..fel_cont + ENDIF + ENDIF + + With Thisform.ocont + Thisform.lblCont.Caption=.cont + Thisform.lblAcont.Caption=.acont + If !Empty(.cont) + Thisform.but_termin1.visible = .T. + ELSE + Thisform.but_termin1.visible =.F. + ENDIF + ENDWITH + ENDPROC + + PROCEDURE cboCont.MouseLeave + LPARAMETERS nButton, nShift, nXCoord, nYCoord + thisform.go() + ENDPROC + + PROCEDURE cboCont.Valid + thisform.Go() + ENDPROC + + PROCEDURE Optiongroup1.Valid + IF TYPE('eactiv') # 'U' + IF this.Value = 2 + eActiv = .f. + ELSE + eActiv = .t. + ENDIF + ENDIF + thisform.nfel_cont = this.Value - 1 + ENDPROC + +ENDDEFINE + +DEFINE CLASS frm_sel_curs AS frm_termin_renunt OF "_frm_child.vcx" + *< CLASSDATA: Baseclass="form" Timestamp="" Scale="Pixels" Uniqueid="" /> + + *-- OBJECTDATA items order determines ZOrder / El orden de los items OBJECTDATA determina el ZOrder + *< OBJECTDATA: ObjPath="Clb_curs1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="Clb_curs2" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="Clb_valuta" UniqueID="" Timestamp="" /> + + * + *p: lnorelease + *p: ncurs1 + *p: ncurs2 + *p: nid_valuta + * + + * + BorderStyle = 2 + DoCreate = .T. + Height = 159 + lnorelease = .F. + Name = "frm_sel_curs" + ncurs1 = 0 + ncurs2 = 0 + nid_valuta = 0 + Width = 306 + _SHAPE1.Name = "_SHAPE1" + _SHAPE2.Left = 232 + _SHAPE2.Name = "_SHAPE2" + _SHAPE2.Top = 0 + LB_TITLU_ALB_B121.Caption = "Cursul valutar" + LB_TITLU_ALB_B121.Name = "LB_TITLU_ALB_B121" + LB_TITLU_ALB_B121.TabIndex = 6 + BUT_TERMIN1.Left = 273 + BUT_TERMIN1.Name = "BUT_TERMIN1" + BUT_TERMIN1.TabIndex = 4 + BUT_TERMIN1.Top = 1 + Gridsort1.Name = "Gridsort1" + But_renunt1.Left = 244 + But_renunt1.Name = "But_renunt1" + But_renunt1.TabIndex = 5 + But_renunt1.Top = 1 + * + + ADD OBJECT 'Clb_curs1' AS clb_tx_simplu WITH ; + Left = 7, ; + Name = "Clb_curs1", ; + TabIndex = 1, ; + Top = 47, ; + Text_simplu1.Alignment = 3, ; + Text_simplu1.ControlSource = "thisform.ncurs1", ; + Text_simplu1.InputMask = (get_mask(6,gnPcurs)), ; + Text_simplu1.Name = "Text_simplu1", ; + Text_simplu1.Value = 0, ; + Lb_simplu1.Caption = "Curs B.N.R.", ; + Lb_simplu1.Name = "Lb_simplu1" + *< END OBJECT: ClassLib="lb_tx.vcx" BaseClass="container" /> + + ADD OBJECT 'Clb_curs2' AS clb_tx_simplu WITH ; + Left = 7, ; + Name = "Clb_curs2", ; + TabIndex = 2, ; + Top = 79, ; + Text_simplu1.Alignment = 3, ; + Text_simplu1.ControlSource = "thisform.ncurs2", ; + Text_simplu1.InputMask = (get_mask(6,gnPcurs)), ; + Text_simplu1.Name = "Text_simplu1", ; + Text_simplu1.Value = 0, ; + Lb_simplu1.Caption = "Cursul vamii", ; + Lb_simplu1.Name = "Lb_simplu1" + *< END OBJECT: ClassLib="lb_tx.vcx" BaseClass="container" /> + + ADD OBJECT 'Clb_valuta' AS clb_tx_simplu WITH ; + Left = 7, ; + Name = "Clb_valuta", ; + TabIndex = 3, ; + Top = 111, ; + Text_simplu1.Name = "Text_simplu1", ; + Text_simplu1.ReadOnly = .T., ; + Lb_simplu1.Caption = "Valuta", ; + Lb_simplu1.Name = "Lb_simplu1" + *< END OBJECT: ClassLib="lb_tx.vcx" BaseClass="container" /> + + PROCEDURE do_termin + IF this.lnorelease + this.Hide + ELSE + DODEFAULT() + ENDIF + ENDPROC + + PROCEDURE inainte_de_do_termin + IF EMPTY(this.clb_valuta.text_simplu1.Value) + aMESSAGEBOX('Completati numele valutei', 0, 'Atentie') + llRet = .f. + ELSE + llRet = .t. + ENDIF + + RETURN llRet + ENDPROC + + PROCEDURE Init + PARAMETERS tlRelease + thisform.lNoRelease = tlRelease + ENDPROC + + PROCEDURE Clb_curs1.Text_simplu1.Valid + IF thisform.ncurs2 = 0 + thisform.ncurs2 = thisform.ncurs1 + thisform.clb_curs2.Refresh + ENDIF + ENDPROC + + PROCEDURE Clb_valuta.Text_simplu1.GotFocus + pcselect = ['select nume_val,id_valuta from ] + gcs + [.nom_valute where 2=2'] + pcfiltru = [1=2] + pcschema = [''] + pcorder = [nume_val] + pccoloane = [nume_val] + pcTitlu = [Alegeti Valuta] + pcTitluColoane = [Valuta] + locauta = cauta_alfa(pcselect,pcfiltru,pcschema,pcorder,pccoloane,pcTitlu,pcTitluColoane,'') + this.Value = locauta.nume_val + thisform.nid_valuta = locauta.id_valuta + + ENDPROC + +ENDDEFINE + +DEFINE CLASS frm_sel_luna AS ffergen OF "_frm_base.vcx" + *< CLASSDATA: Baseclass="form" Timestamp="" Scale="Pixels" Uniqueid="" /> + + *-- OBJECTDATA items order determines ZOrder / El orden de los items OBJECTDATA determina el ZOrder + *< OBJECTDATA: ObjPath="Seip1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="lblTitlu" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="cboLuna" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="lblLuna" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="lblAn" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="CMDTERMIN1" UniqueID="" Timestamp="" /> + + * + *m: do_termin + *m: go + *p: calias + *p: oluna + * + + * + AutoCenter = .T. + BackColor = 255,255,255 + calias = + DoCreate = .T. + Height = 129 + Name = "frm_sel_luna" + oluna = .NULL. + TitleBar = 0 + Width = 240 + * + + ADD OBJECT 'cboLuna' AS combobox WITH ; + ColumnCount = 2, ; + Height = 24, ; + Left = 24, ; + Name = "cboLuna", ; + RowSourceType = 6, ; + Style = 2, ; + TabIndex = 1, ; + Top = 67, ; + Width = 72, ; + ZOrderSet = 3 + *< END OBJECT: BaseClass="combobox" /> + + ADD OBJECT 'CMDTERMIN1' AS but_termin WITH ; + Enabled = .F., ; + Left = 209, ; + Name = "CMDTERMIN1", ; + TabIndex = 2, ; + Top = 1, ; + ZOrderSet = 5 + *< END OBJECT: ClassLib="cmd_butoane.vcx" BaseClass="commandbutton" /> + + ADD OBJECT 'lblAn' AS label WITH ; + BackStyle = 0, ; + Caption = " ", ; + FontItalic = .T., ; + FontSize = 10, ; + ForeColor = 0,0,128, ; + Height = 17, ; + Left = 160, ; + Name = "lblAn", ; + TabIndex = 5, ; + Top = 71, ; + Width = 40 + *< END OBJECT: BaseClass="label" /> + + ADD OBJECT 'lblLuna' AS label WITH ; + BackStyle = 0, ; + Caption = " ", ; + FontItalic = .T., ; + FontSize = 10, ; + ForeColor = 0,0,128, ; + Height = 17, ; + Left = 125, ; + Name = "lblLuna", ; + TabIndex = 4, ; + Top = 71, ; + Width = 27 + *< END OBJECT: BaseClass="label" /> + + ADD OBJECT 'lblTitlu' AS label WITH ; + BackStyle = 0, ; + Caption = "Selectati anul si luna de inceput:", ; + Height = 13, ; + Left = 24, ; + Name = "lblTitlu", ; + TabIndex = 3, ; + Top = 38, ; + Width = 192, ; + ZOrderSet = 2 + *< END OBJECT: BaseClass="label" /> + + ADD OBJECT 'Seip1' AS _shape WITH ; + BackStyle = 0, ; + Height = 90, ; + Left = 12, ; + Name = "Seip1", ; + Top = 33, ; + Width = 216, ; + ZOrderSet = 0 + *< END OBJECT: ClassLib="_baza.vcx" BaseClass="shape" /> + + PROCEDURE Destroy + *luna_an=thisform.oluna + loluna=thisform.oluna + ENDPROC + + PROCEDURE do_termin + ENDPROC + + PROCEDURE go + Select(Thisform.calias) + With Thisform.oluna + .nl=nl + .an=an + + Thisform.lblLuna.Caption=.nl + Thisform.lblAn.Caption=.an + If !Empty(.nl) And !Empty(.an) + Thisform.cmdtermin1.Enabled=.T. + ELSE + Thisform.cmdtermin1.Enabled=.F. + Endif + Endwith + + ENDPROC + + PROCEDURE cboLuna.MouseLeave + LPARAMETERS nButton, nShift, nXCoord, nYCoord + thisform.go() + ENDPROC + + PROCEDURE cboLuna.Valid + thisform.Go() + ENDPROC + + PROCEDURE CMDTERMIN1.Click + thisform.Release() + ENDPROC + +ENDDEFINE + +DEFINE CLASS grup_optiuni_filtru AS _optiongrup OF "_baza.vcx" + *< CLASSDATA: Baseclass="optiongroup" Timestamp="" Scale="Pixels" Uniqueid="" /> + + * + BorderStyle = 0 + ButtonCount = 3 + Height = 27 + Name = "grup_optiuni_filtru" + Width = 193 + Option1.Caption = "" + Option1.ForeColor = 128,128,128 + Option1.Left = 5 + Option1.Name = "Option1" + Option1.Top = 5 + Option1.Width = 43 + Option2.Caption = "si" + Option2.FontItalic = .T. + Option2.Left = 66 + Option2.Name = "Option2" + Option2.Top = 5 + Option2.Width = 58 + Option3.BackStyle = 0 + Option3.Caption = "sau" + Option3.FontItalic = .T. + Option3.Height = 17 + Option3.Left = 134 + Option3.Name = "Option3" + Option3.Top = 5 + Option3.Width = 54 + * + +ENDDEFINE + +DEFINE CLASS grup_optiuni_filtru_numar AS _optiongrup OF "_baza.vcx" + *< CLASSDATA: Baseclass="optiongroup" Timestamp="" Scale="Pixels" Uniqueid="" /> + + * + AutoSize = .F. + BorderStyle = 0 + ButtonCount = 2 + Height = 27 + Name = "grup_optiuni_filtru_numar" + Width = 125 + Option1.Caption = "si" + Option1.FontItalic = .T. + Option1.Left = 5 + Option1.Name = "Option1" + Option1.Top = 5 + Option1.Width = 61 + Option2.Caption = "sau" + Option2.FontItalic = .T. + Option2.Left = 66 + Option2.Name = "Option2" + Option2.Top = 5 + Option2.Width = 54 + * + +ENDDEFINE diff --git a/clase/cauta_alfa_forms.vc2 b/clase/cauta_alfa_forms.vc2 new file mode 100644 index 0000000..27df05d --- /dev/null +++ b/clase/cauta_alfa_forms.vc2 @@ -0,0 +1,1886 @@ +*-------------------------------------------------------------------------------------------------------------------------------------------------------- +* (EN) AUTOGENERATED - ATTENTION!! - NOT INTENDED FOR EXECUTION!! USE ONLY FOR MERGING CHANGES AND STORING WITH SCM TOOLS!! +*-------------------------------------------------------------------------------------------------------------------------------------------------------- +*< FOXBIN2PRG: Version="1.21" SourceFile="cauta_alfa_forms.vcx" CPID="1252" /> (Solo para binarios VFP 9 / Only for VFP 9 binaries) +* +* +DEFINE CLASS cauta_alfa_form AS _frmbase OF "_frm_base.vcx" + *< CLASSDATA: Baseclass="form" Timestamp="" Scale="Pixels" Uniqueid="" /> + + *-- OBJECTDATA items order determines ZOrder / El orden de los items OBJECTDATA determina el ZOrder + *< OBJECTDATA: ObjPath="_GRID1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="_GRID1.Column1.Header1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="_GRID1.Column1.Text1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="_GRID1.Column2.Header1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="_GRID1.Column2.Text1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="_GRID1.Column3.Header1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="_GRID1.Column3.Text1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="_GRID1.Column4.Header1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="_GRID1.Column4.Text1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="But_renunt1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="cmd_select" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="Cmd_cauta1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="Cb_tx_cautare1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="But_nou1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="But_verifica1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="But_copiaza1" UniqueID="" Timestamp="" /> + + * + *m: do_activeaza_selectare + *m: do_alege + *m: do_schimba_explicatia + *p: cales + *p: cfiltru_original + *p: cidcolumn + *p: cnume_proc + *p: cpornire + *p: cproceduracopiaza + *p: cproceduraverifica + *p: crs_cursor + *p: crs_cursort + *p: lales + *p: ll_allinlist + *p: primacoloana + * + + * + BorderStyle = 3 + cales = + cfiltru_original = 2=2 + cgridsortlist = _grid1 + cidcolumn = + cnume_proc = + cpornire = 0 + cproceduracopiaza = + cproceduraverifica = + crs_cursor = + crs_cursort = + Desktop = .F. + DoCreate = .T. + Height = 331 + lales = .F. + Name = "cauta_alfa_form" + primacoloana = + Width = 507 + WindowType = 1 + _memberdata = + + + + _shape1.Anchor = 10 + _shape1.Height = 29 + _shape1.Left = 0 + _shape1.Name = "_shape1" + _shape1.Top = 0 + _shape1.Width = 508 + _shape2.Height = 29 + _shape2.Left = 371 + _shape2.Name = "_shape2" + _shape2.Top = 0 + _shape2.Width = 63 + Lb_titlu_alb_b121.FontName = "Arial Narrow" + Lb_titlu_alb_b121.Name = "Lb_titlu_alb_b121" + Lb_titlu_alb_b121.TabIndex = 7 + BUT_TERMIN1.Anchor = 8 + BUT_TERMIN1.Left = 476 + BUT_TERMIN1.Name = "BUT_TERMIN1" + BUT_TERMIN1.TabIndex = 4 + BUT_TERMIN1.Top = 1 + Gridsort1.Name = "Gridsort1" + * + + ADD OBJECT '_GRID1' AS _grid WITH ; + Anchor = 15, ; + ColumnCount = 4, ; + DeleteMark = .F., ; + FontName = "Segoe UI", ; + FontSize = 10, ; + Height = 217, ; + Left = 5, ; + Name = "_GRID1", ; + Panel = 1, ; + ReadOnly = .F., ; + RecordMark = .T., ; + RecordSource = "cursor_curent", ; + RowHeight = 20, ; + TabIndex = 3, ; + Top = 76, ; + Width = 499, ; + Column1.BackColor = 255,255,255, ; + Column1.ControlSource = "", ; + Column1.FontName = "Segoe UI", ; + Column1.FontSize = 10, ; + Column1.Name = "Column1", ; + Column1.ReadOnly = .F., ; + Column1.Width = 300, ; + Column2.BackColor = 255,255,255, ; + Column2.FontName = "Segoe UI", ; + Column2.FontSize = 10, ; + Column2.Name = "Column2", ; + Column2.ReadOnly = .F., ; + Column2.Width = 100, ; + Column3.BackColor = 255,255,255, ; + Column3.FontName = "Segoe UI", ; + Column3.FontSize = 10, ; + Column3.Name = "Column3", ; + Column3.ReadOnly = .F., ; + Column4.BackColor = 255,255,255, ; + Column4.FontName = "Segoe UI", ; + Column4.FontSize = 10, ; + Column4.Name = "Column4", ; + Column4.ReadOnly = .F. + *< END OBJECT: ClassLib="_baza.vcx" BaseClass="grid" /> + + ADD OBJECT '_GRID1.Column1.Header1' AS header WITH ; + Alignment = 2, ; + Caption = "Header1", ; + FontName = "Segoe UI", ; + FontSize = 10, ; + Name = "Header1" + *< END OBJECT: BaseClass="header" /> + + ADD OBJECT '_GRID1.Column1.Text1' AS textbox WITH ; + BackColor = 255,255,255, ; + BorderStyle = 0, ; + FontName = "Segoe UI", ; + FontSize = 10, ; + ForeColor = 0,0,0, ; + Margin = 0, ; + Name = "Text1", ; + ReadOnly = .F. + *< END OBJECT: BaseClass="textbox" /> + + ADD OBJECT '_GRID1.Column2.Header1' AS header WITH ; + Alignment = 2, ; + Caption = "Header1", ; + FontName = "Segoe UI", ; + FontSize = 10, ; + Name = "Header1" + *< END OBJECT: BaseClass="header" /> + + ADD OBJECT '_GRID1.Column2.Text1' AS textbox WITH ; + BackColor = 255,255,255, ; + BorderStyle = 0, ; + FontName = "Segoe UI", ; + FontSize = 10, ; + ForeColor = 0,0,0, ; + Margin = 0, ; + Name = "Text1", ; + ReadOnly = .F. + *< END OBJECT: BaseClass="textbox" /> + + ADD OBJECT '_GRID1.Column3.Header1' AS header WITH ; + Alignment = 2, ; + Caption = "Header1", ; + FontName = "Segoe UI", ; + FontSize = 10, ; + Name = "Header1" + *< END OBJECT: BaseClass="header" /> + + ADD OBJECT '_GRID1.Column3.Text1' AS textbox WITH ; + BackColor = 255,255,255, ; + BorderStyle = 0, ; + FontName = "Segoe UI", ; + FontSize = 10, ; + ForeColor = 0,0,0, ; + Margin = 0, ; + Name = "Text1", ; + ReadOnly = .F. + *< END OBJECT: BaseClass="textbox" /> + + ADD OBJECT '_GRID1.Column4.Header1' AS header WITH ; + Alignment = 2, ; + Caption = "Header1", ; + FontName = "Segoe UI", ; + FontSize = 10, ; + Name = "Header1" + *< END OBJECT: BaseClass="header" /> + + ADD OBJECT '_GRID1.Column4.Text1' AS textbox WITH ; + BackColor = 255,255,255, ; + BorderStyle = 0, ; + FontName = "Segoe UI", ; + FontSize = 10, ; + ForeColor = 0,0,0, ; + Margin = 0, ; + Name = "Text1", ; + ReadOnly = .F. + *< END OBJECT: BaseClass="textbox" /> + + ADD OBJECT 'But_copiaza1' AS but_copiaza WITH ; + Anchor = 8, ; + Left = 385, ; + Name = "But_copiaza1", ; + Top = 1 + *< END OBJECT: ClassLib="cmd_butoane.vcx" BaseClass="commandbutton" /> + + ADD OBJECT 'But_nou1' AS but_nou WITH ; + Anchor = 8, ; + Left = 355, ; + Name = "But_nou1", ; + TabIndex = 8, ; + Top = 1 + *< END OBJECT: ClassLib="cmd_butoane.vcx" BaseClass="commandbutton" /> + + ADD OBJECT 'But_renunt1' AS but_renunt WITH ; + Anchor = 8, ; + Left = 446, ; + Name = "But_renunt1", ; + TabIndex = 5, ; + Top = 1 + *< END OBJECT: ClassLib="cmd_butoane.vcx" BaseClass="commandbutton" /> + + ADD OBJECT 'But_verifica1' AS but_verifica WITH ; + Anchor = 8, ; + Left = 415, ; + Name = "But_verifica1", ; + TabIndex = 14, ; + ToolTipText = "Validare cod", ; + Top = 1 + *< END OBJECT: ClassLib="cmd_butoane.vcx" BaseClass="commandbutton" /> + + ADD OBJECT 'Cb_tx_cautare1' AS cb_tx_cautare WITH ; + Anchor = 10, ; + Height = 27, ; + Left = 25, ; + Name = "Cb_tx_cautare1", ; + TabIndex = 1, ; + Top = 45, ; + Width = 383, ; + Text.Format = "!", ; + Text.Height = 25, ; + Text.Left = 103, ; + Text.Name = "Text", ; + Text.TabIndex = 2, ; + Text.Top = 1, ; + Text.Width = 275, ; + Criteriu.Name = "Criteriu", ; + Criteriu.TabIndex = 1 + *< END OBJECT: ClassLib="lb_tx.vcx" BaseClass="container" /> + + ADD OBJECT 'Cmd_cauta1' AS cmd_cauta WITH ; + Anchor = 8, ; + Left = 419, ; + Name = "Cmd_cauta1", ; + TabIndex = 2, ; + Top = 45 + *< END OBJECT: ClassLib="cmd_butoane.vcx" BaseClass="commandbutton" /> + + ADD OBJECT 'cmd_select' AS _commandbutton WITH ; + Anchor = 6, ; + Caption = "\ + + PROCEDURE actualizeaza_grid1 + LPARAMETERS pcFiltru + LOCAL lcToolTip + LOCAL lcFiltru, lcCamp + LOCAL lcCursor, lcCursort + lcCursor = this.crs_cursor + lcCursort = this.crs_cursort + goLog.Log('1',program()) + lcCamp = ' ' + lcFiltru=pcFiltru + IF EMPTY(lcFiltru) + lcFiltru=deca_baza1.ca_baza1.cfiltru + ENDIF + + lcListaId = "" + IF this.lAles + lcIdColumn = this.cIdcolumn + SELECT &lcIdColumn FROM (lcCursor) WITH (BUFFERING = .T.) WHERE SUBSTR(this.cAles,RECNO(),1) = 'X' INTO CURSOR crsListaId + lcListaId = cursor2lista("crsListaId",lcIdColumn,",") + USE IN crsListaId + + IF !EMPTY(lcListaId) + lcFiltru = "((" + lcFiltru + ") OR (" + lcIdColumn + " IN (" + lcListaId + ")))" + ENDIF + ENDIF + lcToolTip = this._grid1.ToolTipText + goLog.Log('2',program()) + save_grid(This._grid1) + goLog.Log('3',program()) + deca_baza1.ca_baza1.cfiltru=lcfiltru + goLog.Log('4',program()) + deca_baza1.ca_baza1.afisare() + goLog.Log('5',program()) + + IF this.lAles + IF !EMPTY(lcListaId) + this.cAles = "" + SELECT (lcCursor) + SCAN + lcValue = TRANSFORM(&lcIdColumn) + IF lcValue$lcListaId + this.cAles = this.cAles + "X" + ELSE + this.cAles = this.cAles + " " + ENDIF + ENDSCAN + GO TOP + ELSE + this.cAles = REPLICATE(" ",Reccount(lcCursor)) + ENDIF + ENDIF + + IF (this.ll_allinlist) + *SELECT * from cursor_temp INTO CURSOR cursor_curent WHERE .F. readwrite + SELECT * FROM &lccursort INTO CURSOR &lccursor WHERE .F. READWRITE + *SELECT cursor_curent + SELECT (lccursor) + IF OCCURS([,],tccoloana) > 0 + lcField = LEFT(tccoloana,AT([,],tccoloana)-1) + lcCamp = lccursort + '.' + lcfield + *IF TYPE('cursor_temp.&lcField')# 'C' + IF TYPE(lcCamp) # 'C' + lcfield = FIELD(1) + ENDIF + ELSE + lcField = tccoloana + lcCamp = lccursort + '.' + lcfield + ENDIF + *IF TYPE('cursor_temp.&lcField')= 'C' + IF TYPE(lcCamp) = 'C' + INSERT INTO (lcCursor) (&lcfield) values("") + ENDIF + *SELECT cursor_curent + SELECT (lccursor) + *APPEND FROM DBF("cursor_temp") + APPEND FROM DBF(lccursort) + *USE IN cursor_temp + USE IN (lccursort) + ENDIF + goLog.Log('6',program()) + restore_grid(This._grid1) + this._grid1.ToolTipText = lcToolTip + *!* modificare 16.08.2010 - M.A. + If Thisform.lAles + Thisform.do_schimba_explicatia() + Endif + *!* modificare 16.08.2010 - M.A. ^ + goLog.Log('7',program()) + ENDPROC + + PROCEDURE Destroy + *!* modificare 16.08.2010 - M.A. + Unbindevents(Thisform,"lAles",Thisform,"do_activeaza_selectare") + If Thisform.lAles + Unbindevents(Thisform,"cales",Thisform,"do_schimba_explicatia") + Endif + *!* modificare 16.08.2010 - M.A. ^ + ENDPROC + + PROCEDURE do_activeaza_selectare + *!* modificare 16.08.2010 - M.A. + If Thisform.lAles + Thisform.cmd_select.Visible = .T. + Bindevent(Thisform,"cales",Thisform,"do_schimba_explicatia",1) + Endif + *!* modificare 16.08.2010 - M.A. ^ + ENDPROC + + PROCEDURE do_adauga + If Thisform.but_nou1.Visible + Select (This._GRID1.RecordSource) + Scatter Name poRec Blank + lcname = Thisform.cnume_proc + * Do &lcname In onomenclatoare.prg + IF !EMPTY(lcName) + lcRun = [do ] + lcName + [ in onomenclatoare.prg] + &lcRun + ENDIF + Thisform.do_cauta + Endif + + ENDPROC + + PROCEDURE do_alege + If Thisform.lAles + lcCursor = Thisform._GRID1.RecordSource + lnRecno = Recno(lcCursor) + If Substr(Thisform.cAles, lnRecno,1) = ' ' + lcReplacement = 'X' + Else + lcReplacement = ' ' + Endif + Thisform.cAles = Left(Thisform.cAles,lnRecno - 1) + lcReplacement + Substr(Thisform.cAles, lnRecno + 1) + pcAles = Thisform.cAles + Thisform._GRID1.Refresh() + Endif + ENDPROC + + PROCEDURE do_cauta + *!* 19.11.2011 + *!* marius.mutu + *!* lcvar = field(1) in loc de thisform.primacoloana + goLog.Log('1',Program()) + Private lcfiltru,lcval1 + lcfiltru='' + Local lcCursor, lcCursort + lcCursor = This.crs_cursor + lcCursort = This.crs_cursort + + && pot sa fac cautarea dupa mai multe coloane (ex: nr contract, denumire client) + lnCount = GETWORDCOUNT(Alltrim(This.primacoloana), [,]) + FOR lnColoana = 1 TO m.lnCount + lcColoana = GETWORDNUM(Alltrim(This.primacoloana), m.lnColoana, [,]) + With Thisform.cb_tx_cautare1 + lcval1=Strtran(Alltrim(Upper(.Text.Value)),['],['']) + Do Case + Case .criteriu.Value = "1" And !Empty(.Text.Value) + lcfiltru = m.lcFiltru + [ OR ] + Alltrim(Upper(lcColoana)) + [ LIKE '] + lcval1 + [%'] + Case .criteriu.Value = "2" And !Empty(.Text.Value) + lcfiltru = m.lcFiltru + [ OR ] + Alltrim(Upper(lcColoana)) + [ ='] + lcval1 + ['] + Case .criteriu.Value = "3" And !Empty(.Text.Value) + lcfiltru = m.lcFiltru + [ OR ] + Alltrim(Upper(lcColoana)) + [ !='] + lcval1 + ['] + Case .criteriu.Value = "4" And !Empty(.Text.Value) + lcfiltru = m.lcFiltru + [ OR ] + Alltrim(Upper(lcColoana)) + [ LIKE '%] + lcval1 + [%'] + Case .criteriu.Value = "5" And !Empty(.Text.Value) + lcfiltru = m.lcFiltru + [ OR ] + Alltrim(Upper(lcColoana)) + [ NOT LIKE '%] + lcval1 + [%'] + Case .criteriu.Value = "6" + lcfiltru = [2=2] + Endcase + Endwith + ENDFOR + lcFiltru = ALLTRIM(m.lcfiltru) + IF LEFT(m.lcfiltru, 3) = [OR ] + lcFiltru = SUBSTR(m.lcfiltru, 4) + ENDIF + + If Alltrim(lcval1) = [%] + lcfiltru = [2=2] + Endif + + If Empty(lcfiltru) + aMessagebox("Alegeti un criteriu!",0+48,"Atentie") + Thisform.cb_tx_cautare1.criteriu.SetFocus() + Return + Endif + + + lcfiltru = This.cfiltru_original + [ and ] + [(] + m.lcFiltru + [)] + goLog.Log('2',Program()) + Thisform.actualizeaza_grid1(lcfiltru) + goLog.Log('3',Program()) + Select (lcCursor) + *Select cursor_curent + Go Top + *If (Reccount('cursor_curent')=0) + If (Reccount(lcCursor)=0) + aMessagebox("Nu exista rezultate!",0+48,"Atentie") + Thisform.cb_tx_cautare1.criteriu.SetFocus() + Else + Go Top + *!* 19.12.2011 + *!* lcvar = ALLTRIM(IIF(AT('.',lcColoana)=0,lcColoana, SUBSTR(lcColoana,AT('.',lcColoana)+1))) + lcVar = Field(1) + *!* 19.12.2011 ^ + lcFirstInList = &lcVar + If Type([lcFirstInList]) = 'C' And (Reccount(lcCursor)>1 And Alltrim(lcFirstInList)=='') + *IF (Reccount('cursor_curent')>1 AND ALLTRIM(lcFirstInList)=='') + Goto 2 + ENDIF + * 06.06.2022 + thisform._griD1.AutoFit() + FOR lnColumn = 1 TO this._GRID1.ColumnCount + lcColumn = 'this._gRID1.column' + ALLTRIM(STR(m.lnColumn)) + loColumn = EVALUATE(m.lcColumn) + lnColumnw = loColumn.Width + lnMinW = IIF(m.lnColumn = 1, 300, IIF(m.lnColumn = 2, 100, 75)) + loColumn.Width = MAX(m.lnColumnw, m.lnMinW) + ENDFOR + * 06.06.2022 ^ + Thisform._GRID1.SetFocus() + Endif + goLog.Log('4',Program()) + + ENDPROC + + PROCEDURE do_copiaza + Local lcName, lcRun, loRec + If Thisform.but_copiaza1.Visible + Select (This._GRID1.RecordSource) + Scatter Name loRec + lcName = Thisform.cProceduraCopiaza + If !Empty(m.lcName) + lcRun = [do ] + lcName + [ with m.loRec in onomenclatoare.prg] + &lcRun + Endif + Endif + + ENDPROC + + PROCEDURE do_schimba_explicatia + *!* modificare 16.08.2010 - M.A. + Local lcCursor + lcCursor = Thisform._GRID1.RecordSource + If Used(lcCursor) + If Between(Occurs('X',Thisform.cAles),0,Reccount(lcCursor)-1) OR RECCOUNT(lcCursor) = 0 + Thisform.cmd_select.Caption = "\ 1 + *!* This._GRID1.coLUMN1.Width = This._GRID1.coLUMN1.Width - (This._GRID1.coLUMN1.Width/2) + *!* Endif + + tcTitluColoana = "," + tcTitluColoana + "," + For i=1 To lnNrCols + lcheader = [this._GRID1.coLUMN] + Alltrim(Str(i))+ [.hEADER1.Caption = PROPER(LEFT( SUBSTR(tcTitluColoana,AT(",",tcTitluColoana,i)+1),AT(",",tcTitluColoana,i+1)-AT(",",tcTitluColoana,i)-1))] + &lcheader + Endfor + + tccoloana = "," + tccoloana + "," + For i=1 To lnNrCols + lcControlSource = [this._GRID1.coLUMN] + Alltrim(Str(i))+ [.ControlSource = PROPER(LEFT( SUBSTR(tcColoana,AT(",",tcColoana,i)+1),AT(",",tcColoana,i+1)-AT(",",tcColoana,i)-1))] + &lcControlSource + Endfor + + && dupa care se face filtru: + If Empty(tcPrimaColoana) + This.primacoloana = Proper(Left( Substr(tccoloana,At(",",tccoloana,1)+1),At(",",tccoloana,1+1)-At(",",tccoloana,1)-1)) + Else + This.primacoloana = tcPrimaColoana + Endif + + If !Empty(tnPornire) + This.cPornire = Alltrim(Str(tnPornire)) + Else + This.cPornire = "1" + Endif + *!* modificare 06.12.2006 + Thisform.cb_tx_cautare1.do_initializeaza_ct(Thisform.cPornire) + *!* modificare 06.12.2006 ^ + + && setez DynamicBackColor + If Type('tcGridDynamicBackColor') = 'C' And !Empty(tcGridDynamicBackColor) + This._GRID1.SetAll("DynamicBackColor", tcGridDynamicBackColor, "Column") + Endif + + If Type('tcGridToolTip') = 'C' And !Empty(tcGridToolTip) + This._GRID1.ToolTipText = tcGridToolTip + Endif + + *!* adaugat 08.05.2009 + *!* alex.lepadatu + + Local loGrid, loColumnTexti + loGrid = Thisform._GRID1 + For i = 1 To loGrid.ColumnCount + loColumnTexti= loGrid.Columns(i).text1 + If !Thisform.lales + Bindevent(loColumnTexti,"dblClick",This,"do_termin") + Endif + Endfor + *!* 08.05.2009 + + ENDPROC + + PROCEDURE KeyPress + LPARAMETERS nKeyCode, nShiftAltCtrl + lcControl = UPPER(ALLTRIM(THIS.ACTIVECONTROL.NAME)) + LOCAL lcCursor, lcCursort + lcCursor = THIS.crs_cursor + lcCursort = THIS.crs_cursort + + **verificare: + **MESSAGEBOX("control:"+lcControl+" "+STR(nKeyCode)) + DO CASE + CASE nKeyCode = 32 AND lcControl = '_GRID1' && space + thisform.do_alege() + CASE nKeyCode = 13 AND lcControl = '_GRID1' && enter + NODEFAULT + THIS.buT_TERMIN1.SETFOCUS + *!* DACA APAS SAGEATA JOS SAU SUS SA SE DESCHIDA LISTA + *!* CASE INLIST(nKeyCode,5, 24) AND lcControl = 'CRITERIU'&& UPARROW, DNARROW + *!* KEYBOARD '{ALT+DNARROW}' + CASE nKeyCode = 13 AND lcControl = 'TEXT' && enter + NODEFAULT + *If Reccount('cursor_curent')==0 Or This.cb_tx_cautare1.Text.ReadOnly=.F. Or !Empty(This.cb_tx_cautare1.Text.Value) + *!* If Reccount(lcCursor)==0 Or This.cb_tx_cautare1.Text.ReadOnly=.F. Or !Empty(This.cb_tx_cautare1.Text.Value) + IF RECCOUNT(lcCursor)<> 0 OR THIS.cb_tx_cautare1.TEXT.READONLY OR !EMPTY(THIS.cb_tx_cautare1.TEXT.VALUE) + && daca exista inregistrari sau vreau toate inregistrarile sau este completat textul de cautare + THIS.do_cauta() + THIS._GRID1.SETFOCUS + ELSE + && sare pe terminat daca dau enter in textbox si nu am scris nimic + NODEFAULT + THIS.buT_TERMIN1.SETFOCUS + ENDIF + + CASE nKeyCode = 9 AND lcControl = 'TEXT' && tab + NODEFAULT + THIS._GRID1.SETFOCUS + + CASE (nKeyCode >=33 AND nKeyCode <=122) AND (lcControl <> 'TEXT') + NODEFAULT + THIS.cb_tx_cautare1.TEXT.VALUE = ALLTRIM(THIS.cb_tx_cautare1.TEXT.VALUE) + CHR(nKeyCode) + THIS.cb_tx_cautare1.SETFOCUS + KEYBOARD '{END}' + + CASE (nKeyCode = 127) AND (lcControl <> 'TEXT') && backspace + NODEFAULT + THIS.cb_tx_cautare1.TEXT.VALUE = LEFT(ALLTRIM(THIS.cb_tx_cautare1.TEXT.VALUE),LEN(ALLTRIM(THIS.cb_tx_cautare1.TEXT.VALUE))-1) + THIS.cb_tx_cautare1.SETFOCUS + KEYBOARD '{END}' + + OTHERWISE + DODEFAULT(nKeyCode, nShiftAltCtrl) + ENDCASE + + ENDPROC + + PROCEDURE Unload + RETURN this.cAles + ENDPROC + + PROCEDURE Cb_tx_cautare1.Criteriu.Init + + + + ENDPROC + + PROCEDURE cmd_select.Click + Thisform.do_selectall() + ENDPROC + + PROCEDURE _GRID1.Column1.Text1.Click + Thisform.do_alege() + ENDPROC + + PROCEDURE _GRID1.Init + DoDefault() + This.SetAll("dynamicbackcolor","iif(SUBSTR(thisform.cAles,RECNO(),1)='X',RGB(106,181,255), RGB(255,255,255))","Column") + ENDPROC + +ENDDEFINE + +DEFINE CLASS cauta_alfa_form_desktop AS cauta_alfa_form OF "cauta_alfa_forms.vcx" + *< CLASSDATA: Baseclass="form" Timestamp="" Scale="Pixels" Uniqueid="" /> + + * + Desktop = .T. + DoCreate = .T. + Name = "cauta_alfa_form_desktop" + _shape1.Name = "_shape1" + _shape2.Name = "_shape2" + Lb_titlu_alb_b121.Name = "Lb_titlu_alb_b121" + BUT_TERMIN1.Name = "BUT_TERMIN1" + Gridsort1.Name = "Gridsort1" + _GRID1.COLUMN1.Header1.Name = "Header1" + _GRID1.COLUMN1.Name = "COLUMN1" + _GRID1.COLUMN1.Text1.Name = "Text1" + _GRID1.COLUMN2.Header1.Name = "Header1" + _GRID1.COLUMN2.Name = "COLUMN2" + _GRID1.COLUMN2.Text1.Name = "Text1" + _GRID1.COLUMN3.Header1.Name = "Header1" + _GRID1.COLUMN3.Name = "COLUMN3" + _GRID1.COLUMN3.Text1.Name = "Text1" + _GRID1.COLUMN4.Header1.Name = "Header1" + _GRID1.COLUMN4.Name = "COLUMN4" + _GRID1.COLUMN4.Text1.Name = "Text1" + _GRID1.Name = "_GRID1" + But_renunt1.Name = "But_renunt1" + _commandbutton2.Name = "_commandbutton2" + Cmd_cauta1.Name = "Cmd_cauta1" + Cb_tx_cautare1.Criteriu.Name = "Criteriu" + Cb_tx_cautare1.Name = "Cb_tx_cautare1" + Cb_tx_cautare1.Text.Name = "Text" + But_nou1.Name = "But_nou1" + * + +ENDDEFINE + +DEFINE CLASS cauta_alfa_form_gs AS _frmbase OF "_frm_base.vcx" + *< CLASSDATA: Baseclass="form" Timestamp="" Scale="Pixels" Uniqueid="" /> + + *-- OBJECTDATA items order determines ZOrder / El orden de los items OBJECTDATA determina el ZOrder + *< OBJECTDATA: ObjPath="Ct_grid_search1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="But_renunt1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="_commandbutton2" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="But_nou1" UniqueID="" Timestamp="" /> + + * + *p: cales + *p: cfiltru_original + *p: cidcolumn + *p: cnume_proc + *p: cpornire + *p: crs_cursor + *p: crs_cursort + *p: lales + *p: ll_allinlist + *p: primacoloana + * + + * + cales = + cfiltru_original = 2=2 + cgridsortlist = ct_grid_search1._grid1 + cidcolumn = + cnume_proc = + cpornire = 0 + crs_cursor = + crs_cursort = + Desktop = .F. + DoCreate = .T. + Height = 493 + lales = .F. + Name = "cauta_alfa_form_gs" + primacoloana = + Width = 348 + WindowType = 1 + _shape1.Height = 29 + _shape1.Left = 0 + _shape1.Name = "_shape1" + _shape1.Top = 0 + _shape1.Width = 348 + _shape1.ZOrderSet = 1 + _shape2.Height = 29 + _shape2.Left = 285 + _shape2.Name = "_shape2" + _shape2.Top = 0 + _shape2.Width = 63 + _shape2.ZOrderSet = 2 + Lb_titlu_alb_b121.FontName = "Arial Narrow" + Lb_titlu_alb_b121.Name = "Lb_titlu_alb_b121" + Lb_titlu_alb_b121.TabIndex = 7 + Lb_titlu_alb_b121.ZOrderSet = 3 + BUT_TERMIN1.Left = 318 + BUT_TERMIN1.Name = "BUT_TERMIN1" + BUT_TERMIN1.TabIndex = 4 + BUT_TERMIN1.Top = 1 + BUT_TERMIN1.ZOrderSet = 4 + Gridsort1.Name = "Gridsort1" + * + + ADD OBJECT '_commandbutton2' AS _commandbutton WITH ; + Caption = "\ + + ADD OBJECT 'But_nou1' AS but_nou WITH ; + Left = 300, ; + Name = "But_nou1", ; + Top = 456, ; + ZOrderSet = 8 + *< END OBJECT: ClassLib="cmd_butoane.vcx" BaseClass="commandbutton" /> + + ADD OBJECT 'But_renunt1' AS but_renunt WITH ; + Left = 287, ; + Name = "But_renunt1", ; + TabIndex = 5, ; + Top = 1, ; + ZOrderSet = 6 + *< END OBJECT: ClassLib="cmd_butoane.vcx" BaseClass="commandbutton" /> + + ADD OBJECT 'Ct_grid_search1' AS ct_grid_search WITH ; + Left = 11, ; + Name = "Ct_grid_search1", ; + Top = 36, ; + ZOrderSet = 0, ; + _GRID1.Name = "_GRID1", ; + Titlu.Name = "Titlu", ; + Cb_tx_cautare1.Criteriu.Name = "Criteriu", ; + Cb_tx_cautare1.Name = "Cb_tx_cautare1", ; + Cb_tx_cautare1.Text.Name = "Text" + *< END OBJECT: ClassLib="ferestre_cere_date.vcx" BaseClass="container" /> + + PROCEDURE do_adauga + If Thisform.but_nou1.Visible + Select (Thisform.ct_grid_search1.cnumecursor) + Scatter Name poRec Blank + lcname = Thisform.cnume_proc + Do &lcname In onomenclatoare.prg + Thisform.do_cauta + Endif + + ENDPROC + + PROCEDURE Init + Lparameters tcCursor, tcNume_Proc, tcTitlu , tcTitluColoane, tcNumeColoane, tcSelect, tcSchema, tcFiltru, tcFiltruOriginal, tcOrder, tl_AllInList, tnPornire, toValoarePropusa + Thisform.lb_titlu_alb_b121.Caption=tcTitlu + Thisform.cnume_proc = tcNume_Proc + Thisform.ll_allinlist = tl_AllInList + If Empty(tcNume_Proc) + Thisform.But_nou1.Enabled=.F. + Thisform.But_nou1.Visible=.F. + Endif + **miscarefereastra: + DoDefault() + lnNrCols = Occurs(",",tcTitluColoana) + 1 + + This.cnume_proc = tcNume_Proc + If !Empty(tnPornire) + This.cPornire = Alltrim(Str(tnPornire)) + Else + This.cPornire = "1" + Endif + + With Thisform.ct_grid_search1 + .cnumecursor = tcCursor + .cSelect = tcSelect + .cSchema = tcSchema + .cFiltru = tcFiltru + .cFiltruOriginal = tcFiltruOriginal + .cTitlu = tcTitlu + .corder = tcOrder + .cnume_coloane = tcNumeColoane + .ctitlu_coloane = tcTitluColoane + Endwith + + Thisform.ct_grid_search1.initializare(.T.) + + Thisform.ct_grid_search1.Cb_tx_cautare1.criteriu.Init + + If !Empty(toValoarePropusa) + Thisform.ct_grid_search1.cb_tx_cautare1.Text.Value = toValoarePropusa + Endif + ENDPROC + + PROCEDURE KeyPress + Lparameters nKeyCode, nShiftAltCtrl + lcControl = Upper(Alltrim(This.ActiveControl.Name)) + lcCursor = This.ct_grid_search1._GRID1.RecordSource + + Do Case + Case nKeyCode = 13 And lcControl = '_GRID1' && enter + Nodefault + This.buT_TERMIN1.SetFocus() + + Case nKeyCode = 13 And lcControl = 'TEXT' && enter + Nodefault + With This.ct_grid_search1 + If Reccount(lcCursor)==0 Or .cb_tx_cautare1.Text.ReadOnly=.F. Or !Empty(.cb_tx_cautare1.Text.Value) + .do_cauta() + Endif + ._GRID1.SetFocus() + Endwith + + Case nKeyCode = 9 And lcControl = 'TEXT' && tab + Nodefault + This.ct_grid_search1._GRID1.SetFocus() + + Case (nKeyCode >=33 And nKeyCode <=122) And (lcControl <> 'TEXT') + Nodefault + With This.ct_grid_search1.cb_tx_cautare1 + .Text.Value = Alltrim(.Text.Value) + Chr(nKeyCode) + .SetFocus() + Endwith + Keyboard '{END}' + + Case (nKeyCode = 127) And (lcControl <> 'TEXT') && backspace + Nodefault + With This.ct_grid_search1.cb_tx_cautare1 + .Text.Value = Left(Alltrim(.Text.Value),Len(Alltrim(.Text.Value))-1) + .SetFocus() + Endwith + Keyboard '{END}' + Otherwise + DoDefault(nKeyCode, nShiftAltCtrl) + Endcase + ENDPROC + + PROCEDURE Unload + RETURN this.cAles + ENDPROC + + PROCEDURE _commandbutton2.Click + + lcname = thisform.cnume_proc + DO &lcname IN onomenclatoare.prg + + thisform.do_cauta + + + ENDPROC + +ENDDEFINE + +DEFINE CLASS cauta_alfa_form_plus AS _frmbase OF "_frm_base.vcx" + *< CLASSDATA: Baseclass="form" Timestamp="" Scale="Pixels" Uniqueid="" /> + + *-- OBJECTDATA items order determines ZOrder / El orden de los items OBJECTDATA determina el ZOrder + *< OBJECTDATA: ObjPath="_GRID1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="But_renunt1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="But_nou1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="But_start_criterii1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="lbSelecteaza" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="But_verifica1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="But_copiaza1" UniqueID="" Timestamp="" /> + + * + *m: do_alege + *p: cales + *p: cfiltru_original + *p: cidcolumn + *p: cnume_proc + *p: cpornire + *p: cproceduracopiaza + *p: cproceduraverifica + *p: crs_cursor + *p: crs_cursort + *p: cstringcriterii && string criterii pentru butonul de cautare + *p: lales + *p: ll_allinlist + *p: primacoloana + * + + * + BorderStyle = 3 + cales = + cfiltru_original = 2=2 + cgridsortlist = _grid1 + cidcolumn = + cnume_proc = + cpornire = 0 + cproceduracopiaza = + cproceduraverifica = + crs_cursor = + crs_cursort = + cstringcriterii = + Desktop = .F. + DoCreate = .T. + Height = 331 + lales = .F. + Name = "cauta_alfa_form_plus" + primacoloana = + Width = 707 + WindowType = 1 + _memberdata = + + + + + _shape1.Anchor = 10 + _shape1.Height = 29 + _shape1.Left = 0 + _shape1.Name = "_shape1" + _shape1.Top = 0 + _shape1.Width = 708 + _shape2.Height = 29 + _shape2.Left = 660 + _shape2.Name = "_shape2" + _shape2.Top = 0 + _shape2.Width = 63 + Lb_titlu_alb_b121.FontName = "Arial Narrow" + Lb_titlu_alb_b121.Name = "Lb_titlu_alb_b121" + Lb_titlu_alb_b121.TabIndex = 7 + BUT_TERMIN1.Anchor = 9 + BUT_TERMIN1.Left = 676 + BUT_TERMIN1.Name = "BUT_TERMIN1" + BUT_TERMIN1.TabIndex = 4 + BUT_TERMIN1.Top = 0 + Gridsort1.Name = "Gridsort1" + * + + ADD OBJECT '_GRID1' AS _grid WITH ; + Anchor = 15, ; + ColumnCount = -1, ; + DeleteMark = .F., ; + Height = 273, ; + Left = 5, ; + Name = "_GRID1", ; + Panel = 1, ; + ReadOnly = .T., ; + RecordMark = .T., ; + RecordSource = "cursor_curent", ; + TabIndex = 3, ; + Top = 51, ; + Width = 691 + *< END OBJECT: ClassLib="_baza.vcx" BaseClass="grid" /> + + ADD OBJECT 'But_copiaza1' AS but_copiaza WITH ; + Anchor = 8, ; + Left = 552, ; + Name = "But_copiaza1", ; + Top = 0 + *< END OBJECT: ClassLib="cmd_butoane.vcx" BaseClass="commandbutton" /> + + ADD OBJECT 'But_nou1' AS but_nou WITH ; + Anchor = 8, ; + Left = 520, ; + Name = "But_nou1", ; + Top = 0 + *< END OBJECT: ClassLib="cmd_butoane.vcx" BaseClass="commandbutton" /> + + ADD OBJECT 'But_renunt1' AS but_renunt WITH ; + Anchor = 9, ; + Left = 646, ; + Name = "But_renunt1", ; + TabIndex = 5, ; + Top = 0 + *< END OBJECT: ClassLib="cmd_butoane.vcx" BaseClass="commandbutton" /> + + ADD OBJECT 'But_start_criterii1' AS but_start_criterii WITH ; + Anchor = 9, ; + Comment = "*:OnResize=RT", ; + Left = 614, ; + Name = "But_start_criterii1", ; + Top = 0 + *< END OBJECT: ClassLib="ocriterii.vcx" BaseClass="commandbutton" /> + + ADD OBJECT 'But_verifica1' AS but_verifica WITH ; + Anchor = 8, ; + Left = 582, ; + Name = "But_verifica1", ; + TabIndex = 14, ; + ToolTipText = "Validare cod", ; + Top = 0 + *< END OBJECT: ClassLib="cmd_butoane.vcx" BaseClass="commandbutton" /> + + ADD OBJECT 'lbSelecteaza' AS _lbbase WITH ; + AutoSize = .T., ; + Caption = "Selecteaza tot", ; + FontBold = .T., ; + FontUnderline = .T., ; + ForeColor = 0,64,128, ; + Left = 7, ; + Name = "lbSelecteaza", ; + Top = 33 + *< END OBJECT: ClassLib="_lb_base.vcx" BaseClass="label" /> + + PROCEDURE actualizeaza_grid1 + LPARAMETERS pcFiltru + LOCAL lcToolTip + LOCAL lcFiltru, lcCamp + LOCAL lcCursor, lcCursort + lcCursor = this.crs_cursor + lcCursort = this.crs_cursort + + lcCamp = ' ' + lcFiltru=pcFiltru + IF EMPTY(lcFiltru) + lcFiltru=deca_baza1.ca_baza1.cfiltru + ENDIF + + lcListaId = "" + IF this.lAles + lcIdColumn = this.cIdcolumn + SELECT &lcIdColumn FROM (lcCursor) WITH (BUFFERING = .T.) WHERE SUBSTR(this.cAles,RECNO(),1) = 'X' INTO CURSOR crsListaId + lcListaId = cursor2lista("crsListaId",lcIdColumn,",") + USE IN crsListaId + + IF !EMPTY(lcListaId) + lcFiltru = "((" + lcFiltru + ") OR (" + lcIdColumn + " IN (" + lcListaId + ")))" + ENDIF + ENDIF + + + lcToolTip = this._grid1.ToolTipText + save_grid(This._grid1) + deca_baza1.ca_baza1.cfiltru=lcfiltru + deca_baza1.ca_baza1.afisare() + + IF this.lAles + IF !EMPTY(lcListaId) + this.cAles = "" + SELECT (lcCursor) + SCAN + lcValue = TRANSFORM(&lcIdColumn) + IF lcValue$lcListaId + this.cAles = this.cAles + "X" + ELSE + this.cAles = this.cAles + " " + ENDIF + ENDSCAN + GO TOP + ELSE + this.cAles = REPLICATE(" ",Reccount(lcCursor)) + ENDIF + ENDIF + + IF (this.ll_allinlist) + *SELECT * from cursor_temp INTO CURSOR cursor_curent WHERE .F. readwrite + SELECT * FROM &lccursort INTO CURSOR &lccursor WHERE .F. READWRITE + *SELECT cursor_curent + SELECT (lccursor) + IF OCCURS([,],tccoloana) > 0 + lcField = LEFT(tccoloana,AT([,],tccoloana)-1) + lcCamp = lccursort + '.' + lcfield + *IF TYPE('cursor_temp.&lcField')# 'C' + IF TYPE(lcCamp) # 'C' + lcfield = FIELD(1) + ENDIF + ELSE + lcField = tccoloana + lcCamp = lccursort + '.' + lcfield + ENDIF + *IF TYPE('cursor_temp.&lcField')= 'C' + IF TYPE(lcCamp) = 'C' + INSERT INTO (lcCursor) (&lcfield) values("") + ENDIF + *SELECT cursor_curent + SELECT (lccursor) + *APPEND FROM DBF("cursor_temp") + APPEND FROM DBF(lccursort) + *USE IN cursor_temp + USE IN (lccursort) + ENDIF + restore_grid(This._grid1) + this._grid1.ToolTipText = lcToolTip + ENDPROC + + PROCEDURE do_adauga + If Thisform.but_nou1.Visible + Select (This._GRID1.RecordSource) + Scatter Name poRec Blank + lcname = Thisform.cnume_proc + * Do &lcname In onomenclatoare.prg + IF !EMPTY(lcName) + lcRun = [do ] + lcName + [ in onomenclatoare.prg] + &lcRun + ENDIF + Thisform.do_cauta + Endif + + ENDPROC + + PROCEDURE do_alege + Lparameters tnSelecteazaToate && 0/.F. DEFAULT O INREGISTRARE, 1 = SELECTEAZA TOT, 2 = DESELECTEAZA TOT + + Local lnSelecteazaToate + If Pcount() = 0 Or Type('tnSelecteazaToate') <> 'N' + lnSelecteazaToate = 0 + Else + lnSelecteazaToate = tnSelecteazaToate + Endif + If Thisform.lAles + lcCursor = Thisform._GRID1.RecordSource + lnRecno = Recno(lcCursor) + Do Case + Case lnSelecteazaToate = 0 && selectez/deselectez inregistrarea curenta + If Substr(Thisform.cAles, lnRecno,1) = ' ' + lcReplacement = 'X' + Else + lcReplacement = ' ' + Endif + Thisform.cAles = Left(Thisform.cAles,lnRecno - 1) + lcReplacement + Substr(Thisform.cAles, lnRecno + 1) + Case lnSelecteazaToate = 1 && selecteaza tot + Thisform.cAles = REPLICATE('X', LEN(thisform.cAles)) + Otherwise && deselecteaza tot + Thisform.cAles = REPLICATE(' ', LEN(thisform.cAles)) + Endcase + + pcAles = Thisform.cAles + Thisform._GRID1.Refresh() + Endif + + ENDPROC + + PROCEDURE do_cauta + *!* 19.12.2011 + *!* marius.mutu + *!* lcvar = field(1) in loc de thisform.primacoloana + + Private lcfiltru,lcval1 + lcfiltru = '' + LOCAL lcCursor, lcCursort + lcCursor = this.crs_cursor + lcCursort = this.crs_cursort + + lcColoana = ALLTRIM(this.primacoloana) + *!* With Thisform.cb_tx_cautare1 + *!* lcval1=Strtran(Alltrim(Upper(.Text.Value)),['],['']) + *!* Do Case + *!* Case .criteriu.Value = "1" And !Empty(.Text.Value) + *!* lcfiltru = Alltrim(Upper(lcColoana)) + [ LIKE '] + lcval1 + [%'] + *!* Case .criteriu.Value = "2" And !Empty(.Text.Value) + *!* lcfiltru = Alltrim(Upper(lcColoana)) + [ ='] + lcval1 + ['] + *!* Case .criteriu.Value = "3" And !Empty(.Text.Value) + *!* lcfiltru = Alltrim(Upper(lcColoana)) + [ !='] + lcval1 + ['] + *!* Case .criteriu.Value = "4" And !Empty(.Text.Value) + *!* lcfiltru = Alltrim(Upper(lcColoana)) + [ LIKE '%] + lcval1 + [%'] + *!* Case .criteriu.Value = "5" And !Empty(.Text.Value) + *!* lcfiltru = Alltrim(Upper(lcColoana)) + [ NOT LIKE '%] + lcval1 + [%'] + *!* Case .criteriu.Value = "6" + *!* lcfiltru = [2=2] + *!* Endcase + *!* Endwith + + *!* IF ALLTRIM(lcval1) = [%] + *!* lcfiltru = [2=2] + *!* ENDIF + + *!* If Empty(lcfiltru) + *!* aMessagebox("Alegeti un criteriu!",0+48,"Atentie") + *!* Thisform.cb_tx_cautare1.criteriu.SetFocus() + *!* Return + *!* Endif + lcfiltru = This.cfiltru_original + + && filtru pretty + If Len(Thisform.filtru_pretty)>0 + filtrutext = Thisform.filtru_pretty + lcfiltru = lcfiltru+" and ("+Alltrim(filtrutext)+")" + Endif + + If This.filtru_pretty#"none" + Thisform.actualizeaza_grid1(lcfiltru) + + Select (lccursor) + *Select cursor_curent + Go Top + *If (Reccount('cursor_curent')=0) + If (Reccount(lccursor)=0) + aMessagebox("Nu exista rezultate!",0+48,"Atentie") + Thisform.cb_tx_cautare1.critERIU.SetFocus() + Else + Go Top + *!* 19.12.2011 + *!* lcvar = ALLTRIM(IIF(AT('.',lcColoana)=0,lcColoana, SUBSTR(lcColoana,AT('.',lcColoana)+1))) + lcVar = FIELD(1) + *!* 19.12.2011 ^ + lcFirstInList = &lcvar + If Type([lcFirstInList]) = 'C' And (Reccount(lccursor)>1 And Alltrim(lcFirstInList)=='') + *IF (Reccount('cursor_curent')>1 AND ALLTRIM(lcFirstInList)=='') + Goto 2 + ENDIF + this._grID1.AutoFit() + Thisform._GRID1.SetFocus() + Endif + Endif + + ENDPROC + + PROCEDURE do_copiaza + Local lcName, lcRun, loRec + If Thisform.but_copiaza1.Visible + Select (This._GRID1.RecordSource) + Scatter Name loRec + lcName = Thisform.cProceduraCopiaza + If !Empty(m.lcName) + lcRun = [do ] + lcName + [ with m.loRec in onomenclatoare.prg] + &lcRun + Endif + Endif + + ENDPROC + + PROCEDURE do_verifica + Local lcName, lcRun, loRec + If Thisform.but_verifica1.Visible + Select (This._GRID1.RecordSource) + Scatter Name loRec + lcName = Thisform.cProceduraVerifica + If !Empty(m.lcName) + lcRun = [do ] + lcName + [ with m.loRec in onomenclatoare.prg] + &lcRun + Endif + Endif + + ENDPROC + + PROCEDURE Init + Lparameters tcCursor, tcNume_Proc, tcTitluColoana, tccoloana, tl_AllInList, tcPrimaColoana, tnPornire, ; + tcGridDynamicBackColor, tcGridToolTip, tcStringCriterii, ; + tcProceduraVerifica, tcProceduraCopiaza + + DoDefault() + + This._GRID1.RecordSource = tcCursor + This.cnume_proc = tcNume_Proc + This.ll_allinlist = tl_AllInList + this.cStringCriterii = IIF(TYPE('tcStringCriterii') = 'C', tcStringCriterii, "") + + If Empty(tcNume_Proc) + Thisform.But_nou1.Enabled=.F. + Thisform.But_nou1.Visible=.F. + Endif + If Empty(tcProceduraVerifica) + Thisform.but_verifica1.Enabled=.F. + Thisform.but_verifica1.Visible=.F. + ENDIF + If Empty(tcProceduraCopiaza) + Thisform.but_copiaza1.Enabled=.F. + Thisform.but_copiaza1.Visible=.F. + ENDIF + + lnNrCols = Occurs(",",tcTitluColoana) + 1 + + **ajustare width coloana grid: + This.cnume_proc = tcNume_Proc + this.cProceduraCopiaza = m.tcProceduraCopiaza + this.cProceduraVerifica = m.tcProceduraVerifica + + This._GRID1.ColumnCount = lnNrCols + If lnNrCols > 1 + This._GRID1.coLUMN1.Width = This._GRID1.coLUMN1.Width - (This._GRID1.coLUMN1.Width/2) + Endif + + tcTitluColoana = "," + tcTitluColoana + "," + For i=1 To lnNrCols + lcheader = [this._GRID1.coLUMN] + Alltrim(Str(i))+ [.hEADER1.Caption = PROPER(LEFT( SUBSTR(tcTitluColoana,AT(",",tcTitluColoana,i)+1),AT(",",tcTitluColoana,i+1)-AT(",",tcTitluColoana,i)-1))] + &lcheader + Endfor + + tccoloana = "," + tccoloana + "," + For i=1 To lnNrCols + lcControlSource = [this._GRID1.coLUMN] + Alltrim(Str(i))+ [.ControlSource = PROPER(LEFT( SUBSTR(tcColoana,AT(",",tcColoana,i)+1),AT(",",tcColoana,i+1)-AT(",",tcColoana,i)-1))] + &lcControlSource + Endfor + + && dupa care se face filtru: + If Empty(tcPrimaColoana) + This.primacoloana = Proper(Left( Substr(tccoloana,At(",",tccoloana,1)+1),At(",",tccoloana,1+1)-At(",",tccoloana,1)-1)) + Else + This.primacoloana = tcPrimaColoana + Endif + + *!* If !Empty(tnPornire) + *!* This.cPornire = Alltrim(Str(tnPornire)) + *!* Else + *!* This.cPornire = "1" + *!* Endif + *!* modificare 06.12.2006 + *!* Thisform.cb_tx_cautare1.do_initializeaza_ct(Thisform.cPornire) + *!* modificare 06.12.2006 ^ + + && setez DynamicBackColor + This._GRID1.SetAll("dynamicbackcolor","iif(SUBSTR(thisform.cAles,RECNO(),1)='X',RGB(106,181,255), RGB(255,255,255))","Column") + If Type('tcGridDynamicBackColor') = 'C' And !Empty(tcGridDynamicBackColor) + This._GRID1.SetAll("DynamicBackColor", tcGridDynamicBackColor, "Column") + Endif + + If Type('tcGridToolTip') = 'C' And !Empty(tcGridToolTip) + This._GRID1.ToolTipText = tcGridToolTip + Endif + + + ENDPROC + + PROCEDURE KeyPress + LPARAMETERS nKeyCode, nShiftAltCtrl + lcControl = UPPER(ALLTRIM(THIS.ACTIVECONTROL.NAME)) + LOCAL lcCursor, lcCursort + lcCursor = THIS.crs_cursor + lcCursort = THIS.crs_cursort + + **verificare: + *!* MESSAGEBOX("control:"+lcControl+" "+STR(nKeyCode)) + DO CASE + CASE nKeyCode = 32 AND lcControl = '_GRID1' && space + thisform.do_alege() + CASE nKeyCode = 13 AND lcControl = '_GRID1' && enter + NODEFAULT + THIS.buT_TERMIN1.SETFOCUS + *!* DACA APAS SAGEATA JOS SAU SUS SA SE DESCHIDA LISTA + *!* CASE INLIST(nKeyCode,5, 24) AND lcControl = 'CRITERIU'&& UPARROW, DNARROW + *!* KEYBOARD '{ALT+DNARROW}' + CASE nKeyCode = 13 AND lcControl = 'TEXT' && enter + NODEFAULT + *If Reccount('cursor_curent')==0 Or This.cb_tx_cautare1.Text.ReadOnly=.F. Or !Empty(This.cb_tx_cautare1.Text.Value) + *!* If Reccount(lcCursor)==0 Or This.cb_tx_cautare1.Text.ReadOnly=.F. Or !Empty(This.cb_tx_cautare1.Text.Value) + *!* IF RECCOUNT(lcCursor)<> 0 OR THIS.cb_tx_cautare1.TEXT.READONLY OR !EMPTY(THIS.cb_tx_cautare1.TEXT.VALUE) + *!* && daca exista inregistrari sau vreau toate inregistrarile sau este completat textul de cautare + *!* THIS.do_cauta() + *!* THIS._GRID1.SETFOCUS + *!* ELSE + && sare pe terminat daca dau enter in textbox si nu am scris nimic + NODEFAULT + THIS.buT_TERMIN1.SETFOCUS + *!* ENDIF + + CASE nKeyCode = 9 AND lcControl = 'TEXT' && tab + NODEFAULT + THIS._GRID1.SETFOCUS + + *!* CASE (nKeyCode >=33 AND nKeyCode <=122) AND (lcControl <> 'TEXT') + *!* NODEFAULT + *!* THIS.cb_tx_cautare1.TEXT.VALUE = ALLTRIM(THIS.cb_tx_cautare1.TEXT.VALUE) + CHR(nKeyCode) + *!* THIS.cb_tx_cautare1.SETFOCUS + *!* KEYBOARD '{END}' + + *!* CASE (nKeyCode = 127) AND (lcControl <> 'TEXT') && backspace + *!* NODEFAULT + *!* THIS.cb_tx_cautare1.TEXT.VALUE = LEFT(ALLTRIM(THIS.cb_tx_cautare1.TEXT.VALUE),LEN(ALLTRIM(THIS.cb_tx_cautare1.TEXT.VALUE))-1) + *!* THIS.cb_tx_cautare1.SETFOCUS + *!* KEYBOARD '{END}' + + OTHERWISE + DODEFAULT(nKeyCode, nShiftAltCtrl) + ENDCASE + + ENDPROC + + PROCEDURE Show + LPARAMETERS nStyle + DODEFAULT(nStyle) + + *!* 24.07.2009 + Local loGrid, loColumnTexti + loGrid = Thisform._GRID1 + For i = 1 To loGrid.ColumnCount + loColumnTexti= loGrid.Columns(i).text1 + If !Thisform.lales + Bindevent(loColumnTexti,"dblClick",This,"do_termin") + ELSE + Bindevent(loColumnTexti,"Click",This,"do_alege") + Endif + Endfor + *!* 24.07.2009 + + ENDPROC + + PROCEDURE Unload + RETURN this.cAles + ENDPROC + + PROCEDURE But_start_criterii1.loadcriterii + PARAMETERS tacriterii + EXTERNAL ARRAY tacriterii + #DEFINE crlf CHR(13)+CHR(10) + PRIVATE lcStringCriterii + lcStringCriterii = thisform.cStringCriterii + *!* lcStringCriterii="Cod material\codmat\T\none\" + crlf + ; + *!* "Denumire articol\denumire\T\id_articol\nom_articol"+ crlf + ; + *!* "Subgrupa articol\none\I\id_subgrupa\nom_subgrupa_articol"+ crlf + + DODEFAULT() + + ENDPROC + + PROCEDURE lbSelecteaza.Click + Local lnSelecteazaToate + + lnSelecteazaToate = Iif(This.Caption = 'Selecteaza tot', 1, 2) + thisform.do_alege(lnSelecteazaToate) + + If This.Caption = 'Selecteaza tot' + This.Caption = 'Deselecteaza tot' + Else + This.Caption = 'Selecteaza tot' + Endif + + This.Refresh() + ENDPROC + +ENDDEFINE + +DEFINE CLASS cauta_alfa_form_vfp AS _frmbase OF "_frm_base.vcx" + *< CLASSDATA: Baseclass="form" Timestamp="" Scale="Pixels" Uniqueid="" /> + + *-- OBJECTDATA items order determines ZOrder / El orden de los items OBJECTDATA determina el ZOrder + *< OBJECTDATA: ObjPath="_GRID1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="_GRID1.Column1.Header1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="_GRID1.Column1.Text1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="_GRID1.Column2.Header1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="_GRID1.Column2.Text1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="_GRID1.Column3.Header1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="_GRID1.Column3.Text1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="_GRID1.Column4.Header1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="_GRID1.Column4.Text1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="But_renunt1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="Cmd_cauta1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="Cb_tx_cautare1" UniqueID="" Timestamp="" /> + + * + *p: cfiltru_original + *p: cnume_proc + *p: cpornire + *p: ll_allinlist + *p: primacoloana + * + + * + BorderStyle = 1 + cfiltru_original = 2=2 + cnume_proc = + cpornire = + DoCreate = .T. + Height = 331 + Name = "cauta_alfa_form_vfp" + primacoloana = + Width = 435 + WindowType = 1 + _shape1.Height = 29 + _shape1.Left = 0 + _shape1.Name = "_shape1" + _shape1.Top = 0 + _shape1.Width = 432 + _shape2.Height = 29 + _shape2.Left = 371 + _shape2.Name = "_shape2" + _shape2.Top = 0 + _shape2.Width = 63 + Lb_titlu_alb_b121.FontName = "Arial Narrow" + Lb_titlu_alb_b121.Name = "Lb_titlu_alb_b121" + Lb_titlu_alb_b121.TabIndex = 7 + BUT_TERMIN1.Left = 405 + BUT_TERMIN1.Name = "BUT_TERMIN1" + BUT_TERMIN1.TabIndex = 4 + BUT_TERMIN1.Top = 1 + Gridsort1.Name = "Gridsort1" + * + + ADD OBJECT '_GRID1' AS _grid WITH ; + ColumnCount = 4, ; + DeleteMark = .F., ; + Height = 217, ; + Left = 5, ; + Name = "_GRID1", ; + Panel = 1, ; + RecordMark = .F., ; + RecordSource = "cursor_curent", ; + TabIndex = 3, ; + Top = 76, ; + Width = 427, ; + Column1.ControlSource = "", ; + Column1.Name = "Column1", ; + Column1.Width = 403, ; + Column2.Name = "Column2", ; + Column3.Name = "Column3", ; + Column4.Name = "Column4" + *< END OBJECT: ClassLib="_baza.vcx" BaseClass="grid" /> + + ADD OBJECT '_GRID1.Column1.Header1' AS header WITH ; + Alignment = 2, ; + Caption = "Header1", ; + Name = "Header1" + *< END OBJECT: BaseClass="header" /> + + ADD OBJECT '_GRID1.Column1.Text1' AS textbox WITH ; + BackColor = 255,255,255, ; + BorderStyle = 0, ; + ForeColor = 0,0,0, ; + Margin = 0, ; + Name = "Text1" + *< END OBJECT: BaseClass="textbox" /> + + ADD OBJECT '_GRID1.Column2.Header1' AS header WITH ; + Alignment = 2, ; + Caption = "Header1", ; + Name = "Header1" + *< END OBJECT: BaseClass="header" /> + + ADD OBJECT '_GRID1.Column2.Text1' AS textbox WITH ; + BackColor = 255,255,255, ; + BorderStyle = 0, ; + ForeColor = 0,0,0, ; + Margin = 0, ; + Name = "Text1" + *< END OBJECT: BaseClass="textbox" /> + + ADD OBJECT '_GRID1.Column3.Header1' AS header WITH ; + Alignment = 2, ; + Caption = "Header1", ; + Name = "Header1" + *< END OBJECT: BaseClass="header" /> + + ADD OBJECT '_GRID1.Column3.Text1' AS textbox WITH ; + BackColor = 255,255,255, ; + BorderStyle = 0, ; + ForeColor = 0,0,0, ; + Margin = 0, ; + Name = "Text1" + *< END OBJECT: BaseClass="textbox" /> + + ADD OBJECT '_GRID1.Column4.Header1' AS header WITH ; + Alignment = 2, ; + Caption = "Header1", ; + Name = "Header1" + *< END OBJECT: BaseClass="header" /> + + ADD OBJECT '_GRID1.Column4.Text1' AS textbox WITH ; + BackColor = 255,255,255, ; + BorderStyle = 0, ; + ForeColor = 0,0,0, ; + Margin = 0, ; + Name = "Text1" + *< END OBJECT: BaseClass="textbox" /> + + ADD OBJECT 'But_renunt1' AS but_renunt WITH ; + Left = 375, ; + Name = "But_renunt1", ; + TabIndex = 5, ; + Top = 1 + *< END OBJECT: ClassLib="cmd_butoane.vcx" BaseClass="commandbutton" /> + + ADD OBJECT 'Cb_tx_cautare1' AS cb_tx_cautare WITH ; + Left = 25, ; + Name = "Cb_tx_cautare1", ; + TabIndex = 1, ; + Top = 45, ; + Text.Format = "!", ; + Text.Name = "Text", ; + Text.TabIndex = 2, ; + Criteriu.Name = "Criteriu", ; + Criteriu.TabIndex = 1 + *< END OBJECT: ClassLib="lb_tx.vcx" BaseClass="container" /> + + ADD OBJECT 'Cmd_cauta1' AS cmd_cauta WITH ; + Left = 332, ; + Name = "Cmd_cauta1", ; + TabIndex = 2, ; + Top = 45 + *< END OBJECT: ClassLib="cmd_butoane.vcx" BaseClass="commandbutton" /> + + PROCEDURE actualizeaza_grid1 + Lparameters pcFiltru + Local lcFiltru + lcFiltru=pcFiltru + Select cursor_curent + Set Filter To &lcFiltru + ENDPROC + + PROCEDURE do_cauta + Private lcfiltru,lcval1,lctip + lcfiltru='' + lcColoana = Alltrim(This.primacoloana) + lctip = Type(This._gRID1.RecordSource+[.]+This.primacoloana) && modificare 14.10.2011 + With Thisform.cb_tx_cautare1 + *!* modificare 14.10.2011 + If Inlist(lctip,[D],[T],[N]) + Do Case + Case lctip = [N] + lcval1 = Alltrim(Str(.Text.Value)) + Case lctip = [T] + lcval1 = [CTOT(']+Ttoc(.Text.Value) + [')] + Otherwise + lcval1 = [CTOD(']+Dtoc(.Text.Value) + [')] + Endcase + Do Case + Case .criteriu.Value = "1" && egala + lcfiltru = Alltrim(Upper(lcColoana)) + [ =] + lcval1 + [] + Case .criteriu.Value = "2" && diferita + lcfiltru = Alltrim(Upper(lcColoana)) + [ !=] + lcval1 + [] + Case .criteriu.Value = "3" && mai mare + lcfiltru = Alltrim(Upper(lcColoana)) + [ >] + lcval1 + [] + Case .criteriu.Value = "4" && mai mica + lcfiltru = Alltrim(Upper(lcColoana)) + [ <] + lcval1 + [] + Case .criteriu.Value = "5" && mai mare sau egala + lcfiltru = Alltrim(Upper(lcColoana)) + [ >=] + lcval1 + [] + Case .criteriu.Value = "6" && mai mica sau egala + lcfiltru = Alltrim(Upper(lcColoana)) + [ <=] + lcval1 + [] + Endcase + Else + *!* modificare 14.10.2011 ^ + lcval1=Strtran(Alltrim(Upper(.Text.Value)),['],['']) + Do Case + Case .criteriu.Value = "1" And !Empty(.Text.Value) + lcfiltru = [ LIKE('] + lcval1 + [*',]+Alltrim(Upper(lcColoana))+[)] + Case .criteriu.Value = "2" And !Empty(.Text.Value) + lcfiltru = Alltrim(Upper(lcColoana)) + [ ='] + lcval1 + ['] + Case .criteriu.Value = "3" And !Empty(.Text.Value) + lcfiltru = Alltrim(Upper(lcColoana)) + [ !='] + lcval1 + ['] + Case .criteriu.Value = "4" And !Empty(.Text.Value) + lcfiltru = [ LIKE('*] + lcval1 + [*',]+Alltrim(Upper(lcColoana))+[)] + Case .criteriu.Value = "5" And !Empty(.Text.Value) + lcfiltru = [ !LIKE('*] + lcval1 + [*',]+Alltrim(Upper(lcColoana))+[)] + Case .criteriu.Value = "6" + lcfiltru = [2=2] + Endcase + If Alltrim(lcval1) = [%] + lcfiltru = [2=2] + Endif + *!* modificare 14.10.2011 + Endif + *!* modificare 14.10.2011 ^ + Endwith + + If Empty(lcfiltru) + aMessagebox("Alegeti un criteriu!",0+48,"Atentie") + Thisform.cb_tx_cautare1.criteriu.SetFocus() + Return + Endif + + lcfiltru = This.cfiltru_original + [ and ] + lcfiltru + + Thisform.actualizeaza_grid1(lcfiltru) + Select cursor_curent + Go Top + If (Reccount('cursor_curent')=0) + aMessagebox("Nu exista rezultate!",0+48,"Atentie") + Thisform.cb_tx_cautare1.criteriu.SetFocus() + Else + Go Top + If Type(lcColoana)='C' + lcFirstInList = &lcColoana + If (Reccount('cursor_curent')>1 And Alltrim(lcFirstInList)=='') + Goto 2 + Endif + Endif + Thisform._gRID1.SetFocus() + Endif + ENDPROC + + PROCEDURE Init + Lparameters tcNume_Proc,tcTitluColoana,tccoloana,tl_AllInList,tnPornire,tcFiltruAfisat + This.cnume_proc = tcNume_Proc + This.ll_allinlist = tl_AllInList + **miscarefereastra: + DoDefault() + lnNrCols = Occurs(",",tcTitluColoana) + 1 + + **ajustare width coloana grid: + This.cnume_proc = tcNume_Proc + This._GRID1.ColumnCount = lnNrCols + If lnNrCols > 1 + This._GRID1.coLUMN1.Width = This._GRID1.coLUMN1.Width - (This._GRID1.coLUMN1.Width/2) + Endif + + *!* modificare 22.01.2007 + If !Empty(tnPornire) + This.cPornire = Alltrim(Str(tnPornire)) + Else + This.cPornire = "1" + Endif + *!* modificare 14.10.2011 : am mutat-o mai jos + *!* thisform.cb_tx_cautare1.do_initializeaza_ct(Thisform.cPornire) + *!* modificare 14.10.2011 ^ + *!* modificare 22.01.2007 ^ + + tcTitluColoana = "," + tcTitluColoana + "," + For i=1 To lnNrCols + lcheader = [this._GRID1.coLUMN] + Alltrim(Str(i))+ [.hEADER1.Caption = PROPER(LEFT( SUBSTR(tcTitluColoana,AT(",",tcTitluColoana,i)+1),AT(",",tcTitluColoana,i+1)-AT(",",tcTitluColoana,i)-1))] + &lcheader + Endfor + + tcColoana = "," + tcColoana + "," + For i=1 To lnNrCols + lcControlSource = [this._GRID1.coLUMN] + Alltrim(Str(i))+ [.ControlSource = PROPER(LEFT( SUBSTR(tcColoana,AT(",",tcColoana,i)+1),AT(",",tcColoana,i+1)-AT(",",tcColoana,i)-1))] + &lcControlSource + Endfor + + && dupa care se face filtru: + this.primacoloana = PROPER(LEFT( SUBSTR(tcColoana,AT(",",tcColoana,1)+1),AT(",",tcColoana,1+1)-AT(",",tcColoana,1)-1)) + *!* modificare 14.10.2011 + thisform.cb_tx_cautare1.do_initializeaza_ct(Thisform.cPornire,TYPE([cursor_curent.]+this.primacoloana)) + *!* modificare 14.10.2011 ^ + *!* modificare 04.08.2011 + If !Empty(tcFiltruAfisat) + Thisform.cb_tx_cautare1.text.Value = tcFiltruAfisat + Thisform.cmd_CAUTA1.Click() + Endif + *!* modificare 04.08.2011 ^ + ENDPROC + + PROCEDURE KeyPress + Lparameters nKeyCode, nShiftAltCtrl + lcControl = Upper(Alltrim(This.ActiveControl.Name)) + + + **verificare: + **MESSAGEBOX("control:"+lcControl+" "+STR(nKeyCode)) + DO case + case nKeyCode = 13 And lcControl = '_GRID1' && enter + Nodefault + This.buT_TERMIN1.SetFocus + + case nKeyCode = 13 And lcControl = 'TEXT' && enter + Nodefault + If Reccount('cursor_curent')==0 Or This.cb_tx_cautare1.Text.ReadOnly=.F. Or !Empty(This.cb_tx_cautare1.Text.Value) + This.do_cauta + Endif + This._GRID1.SetFocus + + case nKeyCode = 9 And lcControl = 'TEXT' && tab + Nodefault + This._GRID1.SetFocus + + case (nKeyCode >=33 And nKeyCode <=122) And (lcControl <> 'TEXT') + Nodefault + This.cb_tx_cautare1.Text.Value = Alltrim(This.cb_tx_cautare1.Text.Value) + Chr(nKeyCode) + This.cb_tx_cautare1.SetFocus + Keyboard '{END}' + + case (nKeyCode = 127) And (lcControl <> 'TEXT') && backspace + Nodefault + This.cb_tx_cautare1.Text.Value = Left(Alltrim(This.cb_tx_cautare1.Text.Value),Len(Alltrim(This.cb_tx_cautare1.Text.Value))-1) + This.cb_tx_cautare1.SetFocus + Keyboard '{END}' + + otherwise + DoDefault(nKeyCode, nShiftAltCtrl) + Endcase + + ENDPROC + +ENDDEFINE diff --git a/clase/cautare.vc2 b/clase/cautare.vc2 new file mode 100644 index 0000000..51363d4 --- /dev/null +++ b/clase/cautare.vc2 @@ -0,0 +1,1248 @@ +*-------------------------------------------------------------------------------------------------------------------------------------------------------- +* (EN) AUTOGENERATED - ATTENTION!! - NOT INTENDED FOR EXECUTION!! USE ONLY FOR MERGING CHANGES AND STORING WITH SCM TOOLS!! +*-------------------------------------------------------------------------------------------------------------------------------------------------------- +*< FOXBIN2PRG: Version="1.21" SourceFile="cautare.vcx" CPID="1252" /> (Solo para binarios VFP 9 / Only for VFP 9 binaries) +* +* +DEFINE CLASS caut_nou AS _container OF "_baza.vcx" + *< CLASSDATA: Baseclass="container" Timestamp="" Scale="Pixels" Uniqueid="" /> + + *-- OBJECTDATA items order determines ZOrder / El orden de los items OBJECTDATA determina el ZOrder + *< OBJECTDATA: ObjPath="Criteriu" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="Criteriu2" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="Grup_optiuni_filtru1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="Text" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="Text2" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="_combobox1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="Cmd_cauta1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="Cmd_reset1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="Lb_simplu1" UniqueID="" Timestamp="" /> + + * + *m: do_actiune + *m: do_cauta + *m: do_reset + *m: init_numar + *m: make_filtru + *m: make_filtru_ora + *m: reset_camp + *m: selectie_camp + *p: caction + *p: camp_activ + *p: camp_nume + *p: filtru + *p: filtru_vfp + *p: grid + *p: nrzec + *p: procedura + *p: tip_data + * + + * + caction = actualizeaza_grid1 + camp_activ = 0 + camp_nume = + filtru = + filtru_vfp = + grid = + Height = 81 + Name = "caut_nou" + nrzec = 0 + procedura = + tip_data = + Width = 510 + * + + ADD OBJECT '_combobox1' AS _combobox WITH ; + Height = 24, ; + Left = 7, ; + Name = "_combobox1", ; + RowSourceType = 5, ; + SpecialEffect = 1, ; + TabIndex = 1, ; + Top = 4, ; + Width = 109 + *< END OBJECT: ClassLib="_baza.vcx" BaseClass="combobox" /> + + ADD OBJECT 'Cmd_cauta1' AS cmd_cauta WITH ; + Caption = "Cautã", ; + Height = 23, ; + Left = 423, ; + Name = "Cmd_cauta1", ; + TabIndex = 4, ; + Top = 4, ; + Width = 84 + *< END OBJECT: ClassLib="cmd_butoane.vcx" BaseClass="commandbutton" /> + + ADD OBJECT 'Cmd_reset1' AS cmd_reset WITH ; + Height = 23, ; + Left = 422, ; + Name = "Cmd_reset1", ; + Top = 27 + *< END OBJECT: ClassLib="cmd_butoane.vcx" BaseClass="commandbutton" /> + + ADD OBJECT 'Criteriu' AS criteriu_text WITH ; + Left = 121, ; + Name = "Criteriu", ; + TabIndex = 5, ; + Top = 4 + *< END OBJECT: ClassLib="caut_ora.vcx" BaseClass="combobox" /> + + ADD OBJECT 'Criteriu2' AS criteriu_text WITH ; + Left = 121, ; + Name = "Criteriu2", ; + TabIndex = 6, ; + Top = 52, ; + Visible = .F. + *< END OBJECT: ClassLib="caut_ora.vcx" BaseClass="combobox" /> + + ADD OBJECT 'Grup_optiuni_filtru1' AS grup_optiuni_filtru WITH ; + Height = 27, ; + Left = 207, ; + Name = "Grup_optiuni_filtru1", ; + TabIndex = 7, ; + Top = 24, ; + Width = 193, ; + Option1.Left = 5, ; + Option1.Name = "Option1", ; + Option1.Top = 5, ; + Option2.Left = 66, ; + Option2.Name = "Option2", ; + Option2.Top = 5, ; + Option3.Left = 134, ; + Option3.Name = "Option3", ; + Option3.Top = 5 + *< END OBJECT: ClassLib="caut_ora.vcx" BaseClass="optiongroup" /> + + ADD OBJECT 'Lb_simplu1' AS lb_simplu WITH ; + Caption = "Acces rapid : CTRL + Q", ; + Height = 17, ; + Left = 7, ; + Name = "Lb_simplu1", ; + Top = 31, ; + Width = 127, ; + WordWrap = .T. + *< END OBJECT: ClassLib="lb.vcx" BaseClass="label" /> + + ADD OBJECT 'Text' AS _textbox WITH ; + Format = "!KT", ; + Height = 25, ; + Left = 221, ; + Name = "Text", ; + TabIndex = 2, ; + ToolTipText = "", ; + Top = 4, ; + Width = 198 + *< END OBJECT: ClassLib="_baza.vcx" BaseClass="textbox" /> + + ADD OBJECT 'Text2' AS _textbox WITH ; + Format = "!KT", ; + Height = 25, ; + Left = 221, ; + Name = "Text2", ; + TabIndex = 3, ; + Top = 52, ; + Visible = .F., ; + Width = 198 + *< END OBJECT: ClassLib="_baza.vcx" BaseClass="textbox" /> + + PROCEDURE do_actiune + EXTERNAL ARRAY TASC + lcfiltru = "1=1" + + FOR i=1 TO ALEN(tasc,1) + IF EMPTY(tasc[i,5]) + LOOP + ENDIF + lcfiltru = lcfiltru + [ AND ] + ALLTRIM(tasc[i,5]) + ENDFOR + this.filtru = lcfiltru + + LOCAL lcAction, lcCommand + lcAction = this.cAction + + IF EMPTY(lcAction) + RETURN + ENDIF + + IF TYPE('this.parent') = 'O' AND PEMSTATUS(this.parent,lcAction,5) + + lcCommand = [this.Parent.] + lcAction + [("] + this.filtru + [")] + &lcCommand + lcgrid = 'this.parent.'+ this.grid + IF TYPE(lcgrid) = 'O' + lcCommand2 = lcgrid + [.setfocus()] + &lcCommand2 + ENDIF + ELSE + IF TYPE('this.parent.PARENT') = 'O' AND PEMSTATUS(this.parent.parent,lcAction,5) + lcCommand = [this.Parent.Parent.] + lcAction + [(] + this.filtru + [)] + &lcCommand + ELSE + IF PEMSTATUS(THISFORM,lcAction,5) + lcCommand = [thisform.] + lcAction + [(] + this.filtru + [)] + &lcCommand + ENDIF + ENDIF + ENDIF + + + ENDPROC + + PROCEDURE do_cauta + EXTERNAL ARRAY TASC + Do Case + Case This.grup_optiuni_filtru1.Value = 1 + lcIntre = '' + Case This.grup_optiuni_filtru1.Value = 2 + lcIntre = [ AND ] + Otherwise + lcIntre = [ OR ] + Endcase + *!* IF TYPE("pcIntre") = "C" && variabila privata folosita in ck_filtru_text pt a initializa proprietatea cIntre + *!* pcIntre = lcIntre + *!* ENDIF + + + WITH this + LOCAL lnCriteriu,lnCriteriu2, lcNume, lcNume2 + lnCriteriu = .criteriu.Value + lnCriteriu2 = .criteriu2.Value + + IF .tip_data='C' + lcNume = ALLTRIM(.text.value) + lcNume2 = ALLTRIM(.text2.value) + ENDIF + + If .tip_data = 'N' + + lnNrZec=.nrZec + lcNume = Alltrim(Str(.Text.Value,MAX(20,Len(Str(.Text.Value))),.nrzec)) + lcNume2 = Alltrim(Str(.Text2.Value,MAX(20,Len(Str(.Text2.Value))),.nrzec)) + *!* lcNumarVFP1 =lcNumar1 + *!* lcNumarVFP2 = lcNumar2 + ENDIF + IF .tip_data = 'D' OR .tip_data = 'DT' + lcNume =Alltrim(Dtos(.Text.Value)) + lcNume2 =Alltrim(Dtos(.Text2.Value)) + lcNumarVFP1=Alltrim(Dtoc(.Text.Value)) + lcNumarVFP2=Alltrim(Dtoc(.Text2.Value)) + ENDIF + + IF .tip_data = 'T' + lcNume =Alltrim(Dtos(.Text.Value)) + lcNume2 =Alltrim(Dtos(.Text2.Value)) + lcNumarVFP1=Alltrim(Ttoc(.Text.Value)) + lcNumarVFP2=Alltrim(Ttoc(.Text2.Value)) + ENDIF + + + *!* IF TYPE("pcValoare1") = "C" && variabila privata folosita in ck_filtru_text pt a initializa proprietatea cValoare1 + *!* pcValoare1 = lcNume + *!* ENDIF + *!* IF TYPE("pcValoare2") = "C" && variabila privata folosita in ck_filtru_text pt a initializa proprietatea cValoare2 + *!* pcValoare2 = lcNume2 + *!* ENDIF + *!* IF TYPE("pnCriteriu")="N" + *!* pnCriteriu = lnCriteriu + *!* ENDIF + *!* IF TYPE("pnCriteriu2")="N" + *!* pnCriteriu2 = lnCriteriu2 + *!* ENDIF + + If Empty(lcNume) And Empty(lcNume2) AND lnCriteriu<=5 + tasc[this.camp_activ,5]=.f. + .filtru_vfp = "" + this.do_actiune() + RETURN + ENDIF + + .make_filtru_ora(lcNume,lcNume2,lcIntre,lnCriteriu,lnCriteriu2) + + ENDWITH + + this.do_actiune() + + ENDPROC + + PROCEDURE do_reset + EXTERNAL ARRAY TASC + FOR i=1 TO ALEN(tasc,1) + tasc[i,5] = .f. + ENDFOR + this.reset_camp() + this.do_actiune() + ENDPROC + + PROCEDURE Init + + *!* tas = EVALUATE(this.procedura) + WITH this + .Height = 51 + ._combobox1.RowSource="tasc" + ._combobox1.value=1 + .criteriu.Value=1 + .criteriu2.Value=1 + .selectie_camp(._COMBOBOX1.value) + ENDWITH + + + ENDPROC + + PROCEDURE init_numar + LPARAMETERS lnCriteriu1,lnCriteriu2,lcNrZec,lcMask + + + WITH this + + + IF TYPE('lnNrZec') # 'N' + .nrZec = 0 + ELSE + .nrZec = VAL(lcNrZec) + ENDIF + .criteriu.RowSource="> = ,1,< = ,2, = ,3, # ,4, > ,5, < ,6" + .criteriu2.RowSource="> = ,1,< = ,2, = ,3, # ,4, > ,5, < ,6" + .criteriu.value = lnCriteriu1 + .criteriu2.value = lnCriteriu2 + IF !EMPTY(lcMask) + .text.inputmask=lcMask + .text2.inputmask=lcMask + ELSE + .text.inputmask="" + .text2.inputmask="" + ENDIF + IF .tip_data='N' + .text.InputMask = "999 999 999 999" + .text.Value = 0 + .text2.InputMask = "999 999 999 999" + .text2.Value = 0 + ENDIF + IF .tip_Data = 'D' OR .tip_data = 'DT' + .text.value={} + .text2.value={} + ENDIF + IF .tip_Data = 'T' + .text.value = { //:} + .text2.value = { //:} + ENDIF + + ENDWITH + ENDPROC + + PROCEDURE make_filtru + LPARAMETERS lcNumar1,lcNumar2,lnCriteriu1,lnCriteriu2 + LOCAL llCampuri,lcListaCampuri,lcFiltru + lcFiltru="" + WITH THISFORM + IF .tip_data='N' + DO CASE + CASE lnCriteriu1 = 1 + lcsemn1 = [>=] + CASE lnCriteriu1 = 2 + lcsemn1 = [<=] + CASE lnCriteriu1 = 3 + lcsemn1 = [=] + CASE lnCriteriu1 = 4 + lcsemn1 = [<>] + CASE lnCriteriu1 = 5 + lcsemn1 = [>] + CASE lnCriteriu1 = 6 + lcsemn1 = [<] + ENDCASE + DO CASE + CASE lnCriteriu2 = 1 + lcsemn2 = [>=] + CASE lnCriteriu2 = 2 + lcsemn2 = [<=] + CASE lnCriteriu2 = 3 + lcsemn2 = [=] + CASE lnCriteriu2 = 4 + lcsemn2 = [<>] + CASE lnCriteriu2 = 5 + lcsemn2 = [>] + CASE lnCriteriu2 = 6 + lcsemn2 = [<] + ENDCASE + IF THIS.opTIONGROUP2.VALUE = 1 + .filtru_text = .camp_nume + lcsemn1 + lcNumar1 + [ and ] + .camp_nume + lcsemn2 + lcNumar2 + ELSE + .filtru_text = [(] + .camp_nume + lcsemn1 + lcNumar1 + [ or ] + .camp_nume + lcsemn2 + lcNumar2 + [)] + ENDIF + + ELSE + Do Case + Case lnCriteriu1 = 1 + lcSemn1=[>=] + Case lnCriteriu1 = 2 + lcSemn1=[>] + Endcase + Do Case + Case lnCriteriu2 = 1 + lcSemn2=[<=] + Case lnCriteriu2 = 2 + lcSemn2=[<] + Endcase + If .opTIONGROUP1.Value = 1 + DO CASE + CASE .tip_data= 'D' + .filtru_text = .camp_nume + lcSemn1 +[CTOD('] +lcNumar1 + [') AND ] + .camp_nume + lcSemn2 +[CTOD(']+lcNumar2+[')] + CASE .tip_data= 'DT' + .filtru_text = [TTOD(] + .camp_nume + [)] + lcSemn1 +[CTOD('] +lcNumar1 + [') AND ] + [TTOD(] + .camp_nume + [)] + lcSemn2 +[CTOD(']+lcNumar2+[')] + CASE .tip_data= 'T' + .filtru_text = .camp_nume + lcSemn1 +[CTOT('] +lcNumar1 + [') AND ] + .camp_nume + lcSemn2 +[CTOT(']+lcNumar2+[')] + + OTHERWISE + ENDCASE + + ELSE + DO CASE + CASE .tip_data= 'D' + .filtru_text = .camp_nume + lcSemn1 +[CTOD(']+lcNumar1 + [') OR ] + .camp_nume + lcSemn2 + [CTOD(']+lcNumar2+[')] + CASE .tip_data= 'DT' + .filtru_text = [TTOD(] + .camp_nume + [)] + lcSemn1 +[CTOD(']+lcNumar1 + [') OR ] + [TTOD(] + .camp_nume + [)] + lcSemn2 + [CTOD(']+lcNumar2+[')] + CASE .tip_data= 'T' + .filtru_text = .camp_nume + lcSemn1 +[CTOT('] +lcNumar1 + [') OR ] + .camp_nume + lcSemn2 +[CTOT(']+lcNumar2+[')] + OTHERWISE + ENDCASE + + Endif + + ENDIF + ENDWITH + + ENDPROC + + PROCEDURE make_filtru_ora + LPARAMETERS lcNume,lcNume2,lcIntre,lnCriteriu,lnCriteriu2 + EXTERNAL ARRAY TASC + LOCAL lcFiltru + lcFiltru="" + + + WITH THIS + IF .tip_data='C' + + + DO CASE + CASE lnCriteriu=1 + lcFiltru = [nume_camp_cautat LIKE '] + UPPER(ALLTRIM(lcNume)) + [%'] + CASE lnCriteriu=2 + lcFiltru = [nume_camp_cautat ='] + UPPER(ALLTRIM(lcNume)) + ['] + CASE lnCriteriu=3 + lcFiltru = [nume_camp_cautat !='] + UPPER(ALLTRIM(lcNume)) + ['] + CASE lnCriteriu=4 + lcFiltru = [nume_camp_cautat LIKE '%] + UPPER(ALLTRIM(lcNume)) + [%'] + CASE lnCriteriu=5 + lcFiltru = [nume_camp_cautat NOT LIKE '%] + UPPER(ALLTRIM(lcNume)) + [%'] + CASE lnCriteriu=6 + lcFiltru = [nume_camp_cautat is null] + CASE lnCriteriu=7 + lcFiltru = [nume_camp_cautat is not null] + ENDCASE + IF !EMPTY(lcIntre) + DO CASE + CASE lnCriteriu2=1 + lcFiltru = lcFiltru + [ ] + UPPER(ALLTRIM(lcIntre)) + [ nume_camp_cautat LIKE '] + UPPER(ALLTRIM(lcNume2)) + [%'] + CASE lnCriteriu2=2 + lcFiltru = lcFiltru + [ ] + UPPER(ALLTRIM(lcIntre)) + [ nume_camp_cautat ='] + UPPER(ALLTRIM(lcNume2)) + ['] + CASE lnCriteriu2=3 + lcFiltru = lcFiltru + [ ] + UPPER(ALLTRIM(lcIntre)) + [ nume_camp_cautat !='] + UPPER(ALLTRIM(lcNume2)) + ['] + CASE lnCriteriu2=4 + lcFiltru = lcFiltru + [ ] + UPPER(ALLTRIM(lcIntre)) + [ nume_camp_cautat LIKE '%] + UPPER(ALLTRIM(lcNume2)) + [%'] + CASE lnCriteriu2=5 + lcFiltru = lcFiltru + [ ] + UPPER(ALLTRIM(lcIntre)) + [ nume_camp_cautat NOT LIKE '%] + UPPER(ALLTRIM(lcNume2)) + [%'] + CASE lnCriteriu=6 + lcFiltru = [nume_camp_cautat is null] + CASE lnCriteriu=7 + lcFiltru = [nume_camp_cautat is not null] + ENDCASE + ENDIF + *!* .filtru = .filtru + [conditie_logica(] + STRTRAN(lcFiltru,"nume_camp_cautat",UPPER(.camp_nume)) + [)] + *!* .filtru = STRTRAN(.filtru,"conditie_logica"," AND ") + lcfiltru = [conditie_logica(] + STRTRAN(lcFiltru,"nume_camp_cautat",UPPER(.camp_nume)) + [)] + tasc[.camp_activ,5] = STRTRAN(lcfiltru,"conditie_logica"," ") + ENDIF + + IF .tip_data=='N' + + DO CASE + CASE lnCriteriu = 1 + lcSemn1 = [>=] + CASE lnCriteriu = 2 + lcSemn1 = [<=] + CASE lnCriteriu = 3 + lcSemn1 = [=] + CASE lnCriteriu = 4 + lcSemn1 = [<>] + CASE lnCriteriu = 5 + lcSemn1 = [>] + CASE lnCriteriu = 6 + lcSemn1 = [<] + ENDCASE + DO CASE + CASE lnCriteriu2 = 1 + lcSemn2 = [>=] + CASE lnCriteriu2 = 2 + lcSemn2 = [<=] + CASE lnCriteriu2 = 3 + lcSemn2 = [=] + CASE lnCriteriu2 = 4 + lcSemn2 = [<>] + CASE lnCriteriu2 = 5 + lcSemn2 = [>] + CASE lnCriteriu2 = 6 + lcSemn2 = [<] + ENDCASE + + DO CASE + CASE .gruP_OPTIUNI_FILTRU1.VALUE = 2 + lcFiltru = [nume_camp_cautat] + lcSemn1 + lcNume+ [ AND nume_camp_cautat ] + lcSemn2 + lcNume2 + CASE .gruP_OPTIUNI_FILTRU1.VALUE = 3 + lcFiltru = [nume_camp_cautat ] + lcSemn1 + lcNume+ [ OR nume_camp_cautat ] + lcSemn2 + lcNume2 + OTHERWISE + lcFiltru = [nume_camp_cautat ] + lcSemn1 + lcNume + ENDCASE + lcfiltru = [conditie_logica(] + STRTRAN(lcFiltru,"nume_camp_cautat",UPPER(.camp_nume)) + [)] + tasc[.camp_activ,5] = STRTRAN(lcfiltru,"conditie_logica"," ") + + ENDIF + + IF .tip_data='D' OR .tip_data='DT' + pcDataEmpty = [1900-01-01] + IF EMPTY(lcNumar1) + lcNume= pcDataEmpty + ENDIF + IF EMPTY(lcNumar2) + lcNume2= pcDataEmpty + ENDIF + + DO CASE + CASE lnCriteriu1 = 1 + lcNume= ['] + lcNume+ [ 00:00:00','YYYY-MM-DD HH24:MI:SS'] && >= + CASE lnCriteriu1 = 2 + lcNume= ['] + lcNume+ [','YYYY-MM-DD'] && > + ENDCASE + DO CASE + CASE lnCriteriu2 = 1 + lcNume2= ['] + lcNume2+ [ 23:59:59','YYYY-MM-DD HH24:MI:SS'] && <= + CASE lnCriteriu2 = 2 + lcNume2= ['] + lcNume2+ [','YYYY-MM-DD'] && < + ENDCASE + DO CASE + CASE .Grup_optiuni_filtru1.VALUE = 2 + lcFiltru = [NVL(nume_camp_cautat,to_date('] + pcDataEmpty + [','YYYY-MM-DD')) between to_date(] + lcNume+ [) AND to_date(] + lcNume2+ [)] + CASE .Grup_optiuni_filtru1.VALUE = 3 + lcFiltru = [NVL(nume_camp_cautat,to_date('] + pcDataEmpty + [','YYYY-MM-DD')) between to_date(] + lcNume+ [) OR to_date(] + lcNume2+ [)] + OTHERWISE + lcFiltru = [NVL(nume_camp_cautat,to_date('] + pcDataEmpty + [','YYYY-MM-DD'))=to_date(] + lcnume + [)] + ENDCASE + + + .filtru = .filtru + [conditie_logica(] + STRTRAN(lcFiltru,"nume_camp_cautat",UPPER(.camp_nume)) + [)] + .filtru = STRTRAN(.filtru,"conditie_logica"," AND ") + ENDIF + + ENDWITH + + ENDPROC + + PROCEDURE reset_camp + WITH this + DO CASE + CASE .tip_data='N' + .text.Value = 0 + .text2.Value = 0 + CASE .tip_Data = 'D' OR .tip_data = 'DT' + .text.value={} + .text2.value={} + CASE .tip_data='C' + .text.value='' + .text2.value='' + .text.inputmask="" + .text2.inputmask="" + OTHERWISE + ENDCASE + ENDWITH + ENDPROC + + PROCEDURE selectie_camp + LPARAMETERS tnvalue + EXTERNAL ARRAY TASC + lnvalue = tnvalue + + WITH this + .camp_nume=tasc[lnvalue,1] + .tip_data=UPPER(ALLTRIM(tasc[lnvalue,2])) + .camp_activ = lnvalue + IF .tip_data='C' + + .criteriu.RowSource="incepe cu...,1,este...,2,nu este...,3,contine...,4,nu contine...,5,nu are valori,6,are valori,7" + .criteriu2.RowSource="incepe cu...,1,este...,2,nu este...,3,contine...,4,nu contine...,5,nu are valori,6,are valori,7" + .criteriu.Refresh + .criteriu2.Refresh + .grup_optiuni_filtru1.value=1 + .reset_camp() + ELSE + .init_numar(1,2,tasc[lnvalue,3],tasc[lnvalue,4]) + .criteriu.Refresh + .criteriu2.Refresh + .text.Refresh + .text2.Refresh + .grup_optiuni_filtru1.value=2 + .grup_optiuni_filtru1.Refresh + ENDIF + + ENDWITH + ENDPROC + + PROCEDURE Criteriu.InteractiveChange + If This.Value>5 + This.Parent.Text.Value="" + this.parent.Text.ReadOnly=.T. + Else + This.Parent.Text.ReadOnly=.F. + This.Parent.Text.SetFocus + Endif + ENDPROC + + PROCEDURE Criteriu2.InteractiveChange + If This.Value>5 + this.parent.Text2.Value="" + this.parent.Text2.ReadOnly=.T. + Else + this.parent.Text2.ReadOnly=.F. + this.parent.Text2.SetFocus + Endif + ENDPROC + + PROCEDURE Grup_optiuni_filtru1.InteractiveChange + IF this.Value # 1 + this.Parent.Height = 81 + this.Parent.criteriu2.Visible= .T. + this.Parent.text2.Visible=.t. + ELSE + this.Parent.Height = 51 + this.Parent.criteriu2.Visible=.f. + this.Parent.text2.Visible=.f. + ENDIF + + ENDPROC + + PROCEDURE Grup_optiuni_filtru1.ProgrammaticChange + IF this.Value # 1 + this.Parent.Height = 81 + this.Parent.criteriu2.Visible= .T. + this.Parent.text2.Visible=.t. + ELSE + this.Parent.Height = 51 + this.Parent.criteriu2.Visible=.f. + this.Parent.text2.Visible=.f. + ENDIF + + ENDPROC + + PROCEDURE Text.LostFocus + this.Parent.text2.Value=this.Value + ENDPROC + + PROCEDURE _combobox1.Valid + this.Parent.selectie_camp(this.Value) + ENDPROC + +ENDDEFINE + +DEFINE CLASS frm_combobox AS formtermin OF "_frm_base.vcx" + *< CLASSDATA: Baseclass="form" Timestamp="" Scale="Pixels" Uniqueid="" /> + + *-- OBJECTDATA items order determines ZOrder / El orden de los items OBJECTDATA determina el ZOrder + *< OBJECTDATA: ObjPath="But_renunt1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="ct_text" UniqueID="" Timestamp="" /> + + * + *m: makef_ora + *m: makef_vfp + *p: camp_nume + *p: filtru + *p: filtru_vfp + * + + * + BorderStyle = 1 + DoCreate = .T. + filtru = + filtru_vfp = + Height = 73 + Name = "frm_combobox" + ScrollBars = 0 + Width = 388 + _shape1.Anchor = 10 + _shape1.Height = 29 + _shape1.Left = 0 + _shape1.Name = "_shape1" + _shape1.Top = 0 + _shape1.Width = 390 + _shape2.Anchor = 9 + _shape2.Height = 29 + _shape2.Left = 326 + _shape2.Name = "_shape2" + _shape2.Top = 0 + _shape2.Width = 64 + Lb_titlu_alb_b121.Name = "Lb_titlu_alb_b121" + Lb_titlu_alb_b121.TabIndex = 4 + BUT_TERMIN1.Anchor = 9 + BUT_TERMIN1.Left = 359 + BUT_TERMIN1.Name = "BUT_TERMIN1" + BUT_TERMIN1.TabIndex = 2 + BUT_TERMIN1.Top = 1 + Gridsort1.Left = 9 + Gridsort1.Name = "Gridsort1" + Gridsort1.Top = 22 + * + + ADD OBJECT 'But_renunt1' AS but_renunt WITH ; + Anchor = 9, ; + Left = 327, ; + Name = "But_renunt1", ; + TabIndex = 3, ; + Top = 1 + *< END OBJECT: ClassLib="cmd_butoane.vcx" BaseClass="commandbutton" /> + + ADD OBJECT 'ct_text' AS cb_tx_simplu WITH ; + Anchor = 10, ; + Height = 29, ; + Left = 5, ; + Name = "ct_text", ; + TabIndex = 1, ; + Top = 38, ; + Width = 381, ; + _cbbase1.Anchor = 10, ; + _cbbase1.ColumnCount = 1, ; + _cbbase1.ColumnLines = .F., ; + _cbbase1.Height = 23, ; + _cbbase1.Left = 140, ; + _cbbase1.Name = "_cbbase1", ; + _cbbase1.RowSourceType = 1, ; + _cbbase1.Top = 3, ; + _cbbase1.Width = 232, ; + _lbbase1.Name = "_lbbase1" + *< END OBJECT: ClassLib="lb_tx.vcx" BaseClass="container" /> + +ENDDEFINE + +DEFINE CLASS frm_editbox AS formtermin OF "_frm_base.vcx" + *< CLASSDATA: Baseclass="form" Timestamp="" Scale="Pixels" Uniqueid="" /> + + *-- OBJECTDATA items order determines ZOrder / El orden de los items OBJECTDATA determina el ZOrder + *< OBJECTDATA: ObjPath="But_renunt1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="ct_text" UniqueID="" Timestamp="" /> + + * + *m: makef_ora + *m: makef_vfp + *p: camp_nume + *p: filtru + *p: filtru_vfp + * + + * + BorderStyle = 1 + DoCreate = .T. + filtru = + filtru_vfp = + Height = 204 + Name = "frm_editbox" + ScrollBars = 0 + Width = 388 + _shape1.Anchor = 10 + _shape1.Height = 29 + _shape1.Left = 0 + _shape1.Name = "_shape1" + _shape1.Top = 0 + _shape1.Width = 390 + _shape2.Anchor = 9 + _shape2.Height = 29 + _shape2.Left = 326 + _shape2.Name = "_shape2" + _shape2.Top = 0 + _shape2.Width = 64 + Lb_titlu_alb_b121.Name = "Lb_titlu_alb_b121" + Lb_titlu_alb_b121.TabIndex = 4 + BUT_TERMIN1.Anchor = 9 + BUT_TERMIN1.Left = 359 + BUT_TERMIN1.Name = "BUT_TERMIN1" + BUT_TERMIN1.TabIndex = 2 + BUT_TERMIN1.Top = 1 + Gridsort1.Left = 9 + Gridsort1.Name = "Gridsort1" + Gridsort1.Top = 22 + * + + ADD OBJECT 'But_renunt1' AS but_renunt WITH ; + Anchor = 9, ; + Left = 327, ; + Name = "But_renunt1", ; + TabIndex = 3, ; + Top = 1 + *< END OBJECT: ClassLib="cmd_butoane.vcx" BaseClass="commandbutton" /> + + ADD OBJECT 'ct_text' AS ed_tx_simplu WITH ; + Anchor = 15, ; + Height = 156, ; + Left = 12, ; + Name = "ct_text", ; + TabIndex = 1, ; + Top = 40, ; + Width = 360, ; + _edbase1.Anchor = 15, ; + _edbase1.Height = 125, ; + _edbase1.Left = 9, ; + _edbase1.Name = "_edbase1", ; + _edbase1.Top = 24, ; + _edbase1.Width = 344, ; + _lbbase1.Name = "_lbbase1" + *< END OBJECT: ClassLib="lb_tx.vcx" BaseClass="container" /> + +ENDDEFINE + +DEFINE CLASS frm_filtru_text AS formtermin OF "..\..\comun\clase\_frm_base.vcx" + *< CLASSDATA: Baseclass="form" Timestamp="" Scale="Pixels" Uniqueid="" /> + + *-- OBJECTDATA items order determines ZOrder / El orden de los items OBJECTDATA determina el ZOrder + *< OBJECTDATA: ObjPath="Criteriu" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="Criteriu2" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="Grup_optiuni_filtru" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="Text" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="Text2" UniqueID="" Timestamp="" /> + + * + *m: makef_ora + *m: makef_vfp + *p: camp_nume + *p: filtru + *p: filtru_vfp + * + + * + DoCreate = .T. + filtru = + filtru_vfp = + Height = 115 + Name = "frm_filtru_text" + ScrollBars = 0 + Width = 320 + _shape1.Name = "_shape1" + _shape2.Left = 286 + _shape2.Name = "_shape2" + _shape2.Top = 0 + Lb_titlu_alb_b121.Name = "Lb_titlu_alb_b121" + BUT_TERMIN1.Left = 290 + BUT_TERMIN1.Name = "BUT_TERMIN1" + BUT_TERMIN1.Top = 1 + Gridsort1.Name = "Gridsort1" + * + + ADD OBJECT 'Criteriu' AS criteriu_text WITH ; + Left = 10, ; + Name = "Criteriu", ; + Top = 62 + *< END OBJECT: ClassLib="..\..\comun\clase\caut_ora.vcx" BaseClass="combobox" /> + + ADD OBJECT 'Criteriu2' AS criteriu_text WITH ; + Left = 10, ; + Name = "Criteriu2", ; + TabIndex = 6, ; + Top = 120 + *< END OBJECT: ClassLib="..\..\comun\clase\caut_ora.vcx" BaseClass="combobox" /> + + ADD OBJECT 'Grup_optiuni_filtru' AS grup_optiuni_filtru WITH ; + Left = 94, ; + Name = "Grup_optiuni_filtru", ; + TabIndex = 7, ; + Top = 90, ; + Option1.Left = 5, ; + Option1.Name = "Option1", ; + Option1.Top = 5, ; + Option2.Left = 66, ; + Option2.Name = "Option2", ; + Option2.Top = 5, ; + Option3.Left = 134, ; + Option3.Name = "Option3", ; + Option3.Top = 5 + *< END OBJECT: ClassLib="..\..\comun\clase\caut_ora.vcx" BaseClass="optiongroup" /> + + ADD OBJECT 'Text' AS _textbox WITH ; + Format = "!KT", ; + Height = 25, ; + Left = 110, ; + Name = "Text", ; + TabIndex = 1, ; + ToolTipText = "", ; + Top = 62, ; + Width = 198 + *< END OBJECT: ClassLib="..\..\comun\clase\_baza.vcx" BaseClass="textbox" /> + + ADD OBJECT 'Text2' AS _textbox WITH ; + Format = "!KT", ; + Height = 25, ; + Left = 110, ; + Name = "Text2", ; + TabIndex = 2, ; + Top = 120, ; + Width = 198 + *< END OBJECT: ClassLib="..\..\comun\clase\_baza.vcx" BaseClass="textbox" /> + + PROCEDURE Destroy + Do Case + Case Thisform.grup_optiuni_filtru.Value = 1 + lcIntre = '' + Case Thisform.grup_optiuni_filtru.Value = 2 + lcIntre = [ AND ] + Otherwise + lcIntre = [ OR ] + Endcase + + If Type("pcIntre") = "C" && variabila privata folosita in ck_filtru_text pt a initializa proprietatea cIntre + pcIntre = lcIntre + Endif + + With This + Local lnCriteriu,lnCriteriu2, lcNume, lcNume2 + lnCriteriu = .criteriu.Value + lnCriteriu2 = .criteriu2.Value + + lcNume = Alltrim(.Text.Value) + lcNume2 = Alltrim(.text2.Value) + + If Type("pcValoare1") = "C" && variabila privata folosita in ck_filtru_text pt a initializa proprietatea cValoare1 + pcValoare1 = lcNume + Endif + If Type("pcValoare2") = "C" && variabila privata folosita in ck_filtru_text pt a initializa proprietatea cValoare2 + pcValoare2 = lcNume2 + Endif + If Type("pnCriteriu") = "N" + pnCriteriu = lnCriteriu + Endif + If Type("pnCriteriu2") = "N" + pnCriteriu2 = lnCriteriu2 + Endif + + If Empty(lcNume) And Empty(lcNume2) AND lnCriteriu<=5 + .filtru = "" + .filtru_vfp = "" + Return + Endif + + Thisform.makef_ora(lcNume,lcNume2,lcIntre,lnCriteriu,lnCriteriu2) + Thisform.makef_vfp(lcNume,lcNume2,lcIntre,lnCriteriu,lnCriteriu2) + pcFiltru = .filtru + pcFiltruVFP = .filtru_vfp + Endwith + *!* Do Case + *!* Case lnCriteriu=1 + *!* lcFiltru = [nume_camp_cautat LIKE '] + Upper(Alltrim(lcNume)) + [%'] + *!* Case lnCriteriu=2 + *!* lcFiltru = [nume_camp_cautat ='] + Upper(Alltrim(lcNume)) + ['] + *!* Case lnCriteriu=3 + *!* lcFiltru = [nume_camp_cautat !='] + Upper(Alltrim(lcNume)) + ['] + *!* Case lnCriteriu=4 + *!* lcFiltru = [nume_camp_cautat LIKE '%] + Upper(Alltrim(lcNume)) + [%'] + *!* Case lnCriteriu=5 + *!* lcFiltru = [nume_camp_cautat NOT LIKE '%] + Upper(Alltrim(lcNume)) + [%'] + *!* Endcase + *!* If !Empty(lcIntre) + *!* Do Case + *!* Case lnCriteriu2=1 + *!* lcFiltru = lcFiltru + [ ] + Upper(Alltrim(lcIntre)) + [ nume_camp_cautat LIKE '] + Upper(Alltrim(lcNume2)) + [%'] + *!* Case lnCriteriu2=2 + *!* lcFiltru = lcFiltru + [ ] + Upper(Alltrim(lcIntre)) + [ nume_camp_cautat ='] + Upper(Alltrim(lcNume2)) + ['] + *!* Case lnCriteriu2=3 + *!* lcFiltru = lcFiltru + [ ] + Upper(Alltrim(lcIntre)) + [ nume_camp_cautat !='] + Upper(Alltrim(lcNume2)) + ['] + *!* Case lnCriteriu2=4 + *!* lcFiltru = lcFiltru + [ ] + Upper(Alltrim(lcIntre)) + [ nume_camp_cautat LIKE '%] + Upper(Alltrim(lcNume2)) + [%'] + *!* Case lnCriteriu2=5 + *!* lcFiltru = lcFiltru + [ ] + Upper(Alltrim(lcIntre)) + [ nume_camp_cautat NOT LIKE '%] + Upper(Alltrim(lcNume2)) + [%'] + *!* Endcase + *!* Endif + + *!* llCampuri=.F. + *!* lcListaCampuri=.camp_nume + *!* DO WHILE !EMPTY(lcListaCampuri) + *!* IF OCCURS(',',lcListaCampuri)>0 + *!* lcCamp=SUBSTR(lcListaCampuri,1,AT(',',lcListaCampuri,1)-1) + *!* lcListaCampuri=SUBSTR(lcListaCampuri,AT(',',lcListaCampuri,1)+1) + *!* llCampuri=.T. + *!* ELSE + *!* lcCamp=lcListaCampuri + *!* lcListaCampuri="" + *!* ENDIF + *!* .filtru = .filtru + [conditie_logica(] + STRTRAN(lcFiltru,"nume_camp_cautat",UPPER(lcCamp)) + [)] + *!* ENDDO + + *!* IF llCampuri + *!* .filtru = STRTRAN([ AND (] + STRTRAN(.filtru,"conditie_logica"," OR ",2) + [)],"conditie_logica","") + *!* ELSE + *!* .filtru = STRTRAN(.filtru,"conditie_logica"," AND ") + *!* ENDIF + ENDPROC + + PROCEDURE Init + Lparameters lcCampNume,lcTitlu,lnCriteriu,lnCriteriu2 + + DoDefault() + lcTitlu=Strtran(lcTitlu,'\<','') + With Thisform + .criteriu.Value = lnCriteriu + If lnCriteriu>5 + .Text.ReadOnly=.T. + Endif + .criteriu2.Value = lnCriteriu2 + If lnCriteriu2>5 + .Text2.ReadOnly=.T. + Endif + .camp_nume = lcCampNume + .Lb_titlu_alb_b121.Caption = UPPER(lcTitlu) + .Text.ToolTipText='Introduceti expresia cu care se compara ' + Lower(lcTitlu) + .text2.ToolTipText='Introduceti expresia cu care se compara ' + Lower(lcTitlu) + If Empty(lcCampNume) + .Text.Enabled = .F. + .criteriu.Enabled = .F. + .text2.Enabled = .F. + .criteriu2.Enabled = .F. + Endif + Endwith + ENDPROC + + PROCEDURE makef_ora + Lparameters lcNume,lcNume2,lcIntre,lnCriteriu,lnCriteriu2 + Local llCampuri,lcListaCampuri,lcFiltru + lcFiltru="" + With This + Do Case + Case lnCriteriu=1 + lcFiltru = [nume_camp_cautat LIKE '] + Upper(Alltrim(lcNume)) + [%'] + Case lnCriteriu=2 + lcFiltru = [nume_camp_cautat ='] + Upper(Alltrim(lcNume)) + ['] + Case lnCriteriu=3 + lcFiltru = [nume_camp_cautat !='] + Upper(Alltrim(lcNume)) + ['] + Case lnCriteriu=4 + lcFiltru = [nume_camp_cautat LIKE '%] + Upper(Alltrim(lcNume)) + [%'] + Case lnCriteriu=5 + lcFiltru = [nume_camp_cautat NOT LIKE '%] + Upper(Alltrim(lcNume)) + [%'] + Case lnCriteriu=6 + lcFiltru = [nume_camp_cautat is null] + Case lnCriteriu=7 + lcFiltru = [nume_camp_cautat is not null] + Endcase + If !Empty(lcIntre) + Do Case + Case lnCriteriu2=1 + lcFiltru = lcFiltru + [ ] + Upper(Alltrim(lcIntre)) + [ nume_camp_cautat LIKE '] + Upper(Alltrim(lcNume2)) + [%'] + Case lnCriteriu2=2 + lcFiltru = lcFiltru + [ ] + Upper(Alltrim(lcIntre)) + [ nume_camp_cautat ='] + Upper(Alltrim(lcNume2)) + ['] + Case lnCriteriu2=3 + lcFiltru = lcFiltru + [ ] + Upper(Alltrim(lcIntre)) + [ nume_camp_cautat !='] + Upper(Alltrim(lcNume2)) + ['] + Case lnCriteriu2=4 + lcFiltru = lcFiltru + [ ] + Upper(Alltrim(lcIntre)) + [ nume_camp_cautat LIKE '%] + Upper(Alltrim(lcNume2)) + [%'] + Case lnCriteriu2=5 + lcFiltru = lcFiltru + [ ] + Upper(Alltrim(lcIntre)) + [ nume_camp_cautat NOT LIKE '%] + Upper(Alltrim(lcNume2)) + [%'] + Case lnCriteriu=6 + lcFiltru = [nume_camp_cautat is null] + Case lnCriteriu=7 + lcFiltru = [nume_camp_cautat is not null] + Endcase + Endif + llCampuri=.F. + lcListaCampuri=.camp_nume + Do While !Empty(lcListaCampuri) + If Occurs(',',lcListaCampuri)>0 + lcCamp=Substr(lcListaCampuri,1,At(',',lcListaCampuri,1)-1) + lcListaCampuri=Substr(lcListaCampuri,At(',',lcListaCampuri,1)+1) + llCampuri=.T. + Else + lcCamp=lcListaCampuri + lcListaCampuri="" + Endif + .filtru = .filtru + [conditie_logica(] + Strtran(lcFiltru,"nume_camp_cautat",Upper(lcCamp)) + [)] + Enddo + If llCampuri + .filtru = Strtran([ AND (] + Strtran(.filtru,"conditie_logica"," OR ",2) + [)],"conditie_logica","") + Else + .filtru = Strtran(.filtru,"conditie_logica"," AND ") + Endif + Endwith + ENDPROC + + PROCEDURE makef_vfp + Lparameters lcNume,lcNume2,lcIntre,lnCriteriu,lnCriteriu2 + Local llCampuri,lcListaCampuri,lcFiltru + lcFiltru="" + With This + Do Case + Case lnCriteriu = 1 + lcFiltru = "LIKE([" + Upper(lcNume) + "*],UPPER(nume_camp_cautat))" + Case lnCriteriu = 2 + lcFiltru = "UPPER(nume_camp_cautat)=[" + Upper(lcNume) + "]" + Case lnCriteriu = 3 + lcFiltru = "UPPER(nume_camp_cautat)<>[" + Upper(lcNume) + "]" + Case lnCriteriu = 4 + lcFiltru = "LIKE([*" + Upper(lcNume) + "*],UPPER(nume_camp_cautat))" + Case lnCriteriu = 5 + *.filtru = "upper(" + .camp_nume + ") NOT LIKE %" + UPPER(lcNume) + "%" + lcFiltru = "!LIKE([*" + Upper(lcNume) + "*],UPPER(nume_camp_cautat))" + Case lnCriteriu=6 + lcFiltru = [EMPTY(nume_camp_cautat)] + Case lnCriteriu=7 + lcFiltru = [!EMPTY(nume_camp_cautat)] + Endcase + If !Empty(lcIntre) + Do Case + Case lnCriteriu2 = 1 + lcFiltru = lcFiltru + " " + Upper(Alltrim(lcIntre)) + " LIKE([" + Upper(lcNume2) + "*],UPPER(nume_camp_cautat))" + Case lnCriteriu2 = 2 + lcFiltru = lcFiltru + " " + Upper(Alltrim(lcIntre)) + " UPPER(nume_camp_cautat)=[" + Upper(lcNume2) + "]" + Case lnCriteriu2 = 3 + lcFiltru = lcFiltru + " " + Upper(Alltrim(lcIntre)) + " UPPER(nume_camp_cautat)<>[" + Upper(lcNume2) + "]" + Case lnCriteriu2 = 4 + lcFiltru = lcFiltru + " " + Upper(Alltrim(lcIntre)) + " LIKE([*" + Upper(lcNume2) + "*],UPPER(nume_camp_cautat))" + Case lnCriteriu2 = 5 + lcFiltru = lcFiltru + " " + Upper(Alltrim(lcIntre)) + " !LIKE([*" + Upper(lcNume2) + "*],UPPER(nume_camp_cautat))" + Case lnCriteriu=6 + lcFiltru = [EMPTY(nume_camp_cautat)] + Case lnCriteriu=7 + lcFiltru = [!EMPTY(nume_camp_cautat)] + Endcase + Endif + llCampuri=.F. + lcListaCampuri=.camp_nume + Do While !Empty(lcListaCampuri) + If Occurs(',',lcListaCampuri)>0 + lcCamp=Substr(lcListaCampuri,1,At(',',lcListaCampuri,1)-1) + lcListaCampuri=Substr(lcListaCampuri,At(',',lcListaCampuri,1)+1) + llCampuri=.T. + Else + lcCamp=lcListaCampuri + lcListaCampuri="" + Endif + .filtru_vfp = .filtru_vfp + [conditie_logica(] + Strtran(lcFiltru,"nume_camp_cautat",Upper(lcCamp)) + [)] + Enddo + + If llCampuri + .filtru_vfp = Strtran([ AND (] + Strtran(.filtru_vfp,"conditie_logica"," OR ",2) + [)],"conditie_logica","") + Else + .filtru_vfp = Strtran(.filtru_vfp,"conditie_logica"," AND ") + Endif + Endwith + ENDPROC + + PROCEDURE Unload + RETURN this.filtru + ENDPROC + + PROCEDURE Criteriu.InteractiveChange + If This.Value>5 + Thisform.Text.Value="" + Thisform.Text.ReadOnly=.T. + Else + Thisform.Text.ReadOnly=.F. + Thisform.Text.SetFocus + Endif + ENDPROC + + PROCEDURE Criteriu2.InteractiveChange + If This.Value>5 + Thisform.Text2.Value="" + Thisform.Text2.ReadOnly=.T. + Else + Thisform.Text2.ReadOnly=.F. + Thisform.Text2.SetFocus + Endif + ENDPROC + + PROCEDURE Grup_optiuni_filtru.InteractiveChange + IF this.Value # 1 + thisform.Height = 155 + ELSE + thisform.Height = 115 + ENDIF + + ENDPROC + +ENDDEFINE + +DEFINE CLASS frm_textbox AS formtermin OF "_frm_base.vcx" + *< CLASSDATA: Baseclass="form" Timestamp="" Scale="Pixels" Uniqueid="" /> + + *-- OBJECTDATA items order determines ZOrder / El orden de los items OBJECTDATA determina el ZOrder + *< OBJECTDATA: ObjPath="But_renunt1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="ct_text" UniqueID="" Timestamp="" /> + + * + *m: makef_ora + *m: makef_vfp + *p: camp_nume + *p: filtru + *p: filtru_vfp + * + + * + BorderStyle = 1 + DoCreate = .T. + filtru = + filtru_vfp = + Height = 76 + Name = "frm_textbox" + ScrollBars = 0 + Width = 388 + _shape1.Anchor = 10 + _shape1.Height = 29 + _shape1.Left = 0 + _shape1.Name = "_shape1" + _shape1.Top = 0 + _shape1.Width = 390 + _shape2.Anchor = 9 + _shape2.Height = 29 + _shape2.Left = 326 + _shape2.Name = "_shape2" + _shape2.Top = 0 + _shape2.Width = 64 + Lb_titlu_alb_b121.Name = "Lb_titlu_alb_b121" + Lb_titlu_alb_b121.TabIndex = 4 + BUT_TERMIN1.Anchor = 9 + BUT_TERMIN1.Left = 359 + BUT_TERMIN1.Name = "BUT_TERMIN1" + BUT_TERMIN1.TabIndex = 2 + BUT_TERMIN1.Top = 1 + Gridsort1.Left = 9 + Gridsort1.Name = "Gridsort1" + Gridsort1.Top = 22 + * + + ADD OBJECT 'But_renunt1' AS but_renunt WITH ; + Anchor = 9, ; + Left = 327, ; + Name = "But_renunt1", ; + TabIndex = 3, ; + Top = 1 + *< END OBJECT: ClassLib="cmd_butoane.vcx" BaseClass="commandbutton" /> + + ADD OBJECT 'ct_text' AS clb_tx_simplu WITH ; + Anchor = 10, ; + Height = 29, ; + Left = 5, ; + Name = "ct_text", ; + TabIndex = 1, ; + Top = 39, ; + Width = 381, ; + Text_simplu1.Anchor = 10, ; + Text_simplu1.Height = 23, ; + Text_simplu1.Left = 140, ; + Text_simplu1.Name = "Text_simplu1", ; + Text_simplu1.TabIndex = 1, ; + Text_simplu1.Top = 3, ; + Text_simplu1.Width = 233, ; + Lb_simplu1.Name = "Lb_simplu1", ; + Lb_simplu1.TabIndex = 2 + *< END OBJECT: ClassLib="lb_tx.vcx" BaseClass="container" /> + +ENDDEFINE diff --git a/clase/chatbot.bmp b/clase/chatbot.bmp new file mode 100644 index 0000000..aecf1f1 Binary files /dev/null and b/clase/chatbot.bmp differ diff --git a/clase/cmd_butoane.vc2 b/clase/cmd_butoane.vc2 new file mode 100644 index 0000000..d2d1c99 --- /dev/null +++ b/clase/cmd_butoane.vc2 @@ -0,0 +1,737 @@ +*-------------------------------------------------------------------------------------------------------------------------------------------------------- +* (EN) AUTOGENERATED - ATTENTION!! - NOT INTENDED FOR EXECUTION!! USE ONLY FOR MERGING CHANGES AND STORING WITH SCM TOOLS!! +*-------------------------------------------------------------------------------------------------------------------------------------------------------- +*< FOXBIN2PRG: Version="1.21" SourceFile="cmd_butoane.vcx" CPID="1252" /> (Solo para binarios VFP 9 / Only for VFP 9 binaries) +* +* +DEFINE CLASS but_attach AS buton OF "_cmd_base.vcx" + *< CLASSDATA: Baseclass="commandbutton" Timestamp="" Scale="Pixels" Uniqueid="" /> + + * + caction = do_ataseaza + cpicturedown = attach_jos.bmp + cpictureup = attach_sus.bmp + Name = "but_attach" + Picture = ..\grafice\attach_sus.bmp + ToolTipText = "Atasare" + * + +ENDDEFINE + +DEFINE CLASS but_cautare AS buton OF "_cmd_base.vcx" + *< CLASSDATA: Baseclass="commandbutton" Timestamp="" Scale="Pixels" Uniqueid="" /> + + * + caction = do_cauta + cpicturedown = searchalb.bmp + cpictureup = searchalb.bmp + Height = 28 + Name = "but_cautare" + Picture = ..\grafice\searchalb.bmp + SpecialEffect = 0 + Width = 31 + * + +ENDDEFINE + +DEFINE CLASS but_compara AS buton OF "_cmd_base.vcx" + *< CLASSDATA: Baseclass="commandbutton" Timestamp="" Scale="Pixels" Uniqueid="" /> + + * + caction = do_compara + cpicturedown = compara_jos.bmp + cpictureup = compara_sus.bmp + Name = "but_compara" + Picture = ..\grafice\compara_sus.bmp + ToolTipText = "Comparare" + * + +ENDDEFINE + +DEFINE CLASS but_copiaza AS buton OF "_cmd_base.vcx" + *< CLASSDATA: Baseclass="commandbutton" Timestamp="" Scale="Pixels" Uniqueid="" /> + + * + caction = do_copiaza + cpicturedown = copy_jos.bmp + cpictureup = copy_sus.bmp + Name = "but_copiaza" + Picture = ..\grafice\copy_sus.bmp + ToolTipText = "Copiere (CTRL+K)" + * + +ENDDEFINE + +DEFINE CLASS but_da AS buton OF "_cmd_base.vcx" + *< CLASSDATA: Baseclass="commandbutton" Timestamp="" Scale="Pixels" Uniqueid="" /> + + * + caction = do_termin + cpicturedown = da_jos.bmp + cpictureup = da_sus.bmp + Height = 31 + Name = "but_da" + Picture = ..\grafice\da_sus.bmp + ToolTipText = "Renuntare (ESC)" + Width = 54 + * + +ENDDEFINE + +DEFINE CLASS but_excel AS buton OF "_cmd_base.vcx" + *< CLASSDATA: Baseclass="commandbutton" Timestamp="" Scale="Pixels" Uniqueid="" /> + + * + caction = inainte_de_do_excel + cpicturedown = excel_jos.bmp + cpictureup = excel_sus.bmp + Name = "but_excel" + Picture = ..\grafice\excel_sus.bmp + ToolTipText = "Fisier Excel (CTRL+E)" + Visible = .F. + * + +ENDDEFINE + +DEFINE CLASS but_factura AS buton OF "_cmd_base.vcx" + *< CLASSDATA: Baseclass="commandbutton" Timestamp="" Scale="Pixels" Uniqueid="" /> + + * + caction = do_factura + cpicturedown = factura2.bmp + cpictureup = factura1.bmp + Name = "but_factura" + Picture = ..\grafice\factura1.bmp + ToolTipText = "Factura" + Visible = .F. + * + +ENDDEFINE + +DEFINE CLASS but_grafic AS buton OF "_cmd_base.vcx" + *< CLASSDATA: Baseclass="commandbutton" Timestamp="" Scale="Pixels" Uniqueid="" /> + + * + caction = do_grafic + cpicturedown = grafic_jos.bmp + cpictureup = grafic_sus.bmp + Name = "but_grafic" + Picture = ..\grafice\grafic_sus.bmp + ToolTipText = "Grafic (CTRL+G)" + * + +ENDDEFINE + +DEFINE CLASS but_help AS buton OF "_cmd_base.vcx" + *< CLASSDATA: Baseclass="commandbutton" Timestamp="" Scale="Pixels" Uniqueid="" /> + + * + caction = do_help + cpicturedown = help_jos.bmp + cpictureup = help_sus.bmp + Name = "but_help" + Picture = ..\..\comun\grafice\help_sus.bmp + ToolTipText = "Help (CTRL+ H)" + * + +ENDDEFINE + +DEFINE CLASS but_jos AS buton OF "_cmd_base.vcx" + *< CLASSDATA: Baseclass="commandbutton" Timestamp="" Scale="Pixels" Uniqueid="" /> + + * + caction = do_scrolldown + cpicturedown = jos2.bmp + cpictureup = jos1.bmp + Height = 30 + Name = "but_jos" + Picture = ..\grafice\jos1.bmp + ToolTipText = "Jos" + Width = 27 + * + +ENDDEFINE + +DEFINE CLASS but_listare AS buton OF "_cmd_base.vcx" + *< CLASSDATA: Baseclass="commandbutton" Timestamp="" Scale="Pixels" Uniqueid="" /> + + * + caction = inainte_de_do_listare + cpicturedown = listare_jos.bmp + cpictureup = listare_sus.bmp + Name = "but_listare" + Picture = ..\grafice\listare_sus.bmp + ToolTipText = "Listare (CTRL+P)" + Visible = .F. + * + +ENDDEFINE + +DEFINE CLASS but_listfactura AS buton OF "_cmd_base.vcx" + *< CLASSDATA: Baseclass="commandbutton" Timestamp="" Scale="Pixels" Uniqueid="" /> + + * + caction = do_listfact + cpicturedown = listare_jos.bmp + cpictureup = listare_sus.bmp + Name = "but_listfactura" + Picture = ..\grafice\listare_sus.bmp + Visible = .F. + * + +ENDDEFINE + +DEFINE CLASS but_modifica AS buton OF "_cmd_base.vcx" + *< CLASSDATA: Baseclass="commandbutton" Timestamp="" Scale="Pixels" Uniqueid="" /> + + * + caction = inainte_de_do_modifica + cpicturedown = modific_jos.bmp + cpictureup = modific_sus.bmp + MousePointer = 0 + Name = "but_modifica" + Picture = ..\grafice\modific_sus.bmp + ToolTipText = "Modificare (CTRL+M)" + Visible = .F. + * + +ENDDEFINE + +DEFINE CLASS but_modiparam AS buton OF "_cmd_base.vcx" + *< CLASSDATA: Baseclass="commandbutton" Timestamp="" Scale="Pixels" Uniqueid="" /> + + * + caction = do_modiparam + cpicturedown = modiparam_jos.bmp + cpictureup = modiparam_sus.bmp + Name = "but_modiparam" + Picture = ..\grafice\modiparam_sus.bmp + ToolTipText = "Modificare parametri" + * + +ENDDEFINE + +DEFINE CLASS but_nou AS buton OF "_cmd_base.vcx" + *< CLASSDATA: Baseclass="commandbutton" Timestamp="" Scale="Pixels" Uniqueid="" /> + + * + caction = do_adauga + cpicturedown = nou_jos.bmp + cpictureup = nou_sus.bmp + DisabledPicture = ..\grafice\nou_sus_dis.bmp + Name = "but_nou" + Picture = ..\grafice\nou_sus.bmp + ToolTipText = "Adaugare (CTRL+N)" + * + +ENDDEFINE + +DEFINE CLASS but_nou_gri AS buton OF "_cmd_base.vcx" + *< CLASSDATA: Baseclass="commandbutton" Timestamp="" Scale="Pixels" Uniqueid="" /> + + * + caction = do_adauga + cpicturedown = nou_jos_dis.bmp + cpictureup = nou_sus_dis.bmp + Name = "but_noup" + Picture = ..\grafice\nou_sus_dis.bmp + ToolTipText = "Adaugare (CTRL+N)" + * + +ENDDEFINE + +DEFINE CLASS but_nu AS buton OF "_cmd_base.vcx" + *< CLASSDATA: Baseclass="commandbutton" Timestamp="" Scale="Pixels" Uniqueid="" /> + + * + caction = do_renunt + cpicturedown = nu_jos.bmp + cpictureup = nu_sus.bmp + Height = 32 + Name = "but_nu" + Picture = ..\grafice\nu_sus.bmp + ToolTipText = "Renuntare (ESC)" + Width = 56 + * + +ENDDEFINE + +DEFINE CLASS but_precedent AS buton OF "_cmd_base.vcx" + *< CLASSDATA: Baseclass="commandbutton" Timestamp="" Scale="Pixels" Uniqueid="" /> + + * + caction = do_precedent + cpicturedown = precedent2.bmp + cpictureup = precedent1.bmp + Name = "but_precedent" + Picture = ..\grafice\precedent1.bmp + ToolTipText = "Verificare" + * + +ENDDEFINE + +DEFINE CLASS but_reface AS buton OF "_cmd_base.vcx" + *< CLASSDATA: Baseclass="commandbutton" Timestamp="" Scale="Pixels" Uniqueid="" /> + + * + caction = inainte_de_do_reface + cpicturedown = refac_jos.bmp + cpictureup = refac_sus.bmp + Name = "but_reface" + Picture = ..\grafice\refac_sus.bmp + ToolTipText = "Refacere" + Visible = .F. + * + +ENDDEFINE + +DEFINE CLASS but_renunt AS buton OF "_cmd_base.vcx" + *< CLASSDATA: Baseclass="commandbutton" Timestamp="" Scale="Pixels" Uniqueid="" /> + + * + caction = do_renunt + cpicturedown = renunt_jos.bmp + cpictureup = renunt_sus.bmp + Name = "but_renunt" + Picture = ..\grafice\renunt_sus.bmp + ToolTipText = "Renuntare (ESC)" + * + +ENDDEFINE + +DEFINE CLASS but_reset AS buton OF "_cmd_base.vcx" + *< CLASSDATA: Baseclass="commandbutton" Timestamp="" Scale="Pixels" Uniqueid="" /> + + * + *p: _memberdata && XML Metadata for customizable properties + * + + * + caction = do_reset + Caption = "" + cpicturedown = reset_jos.bmp + cpictureup = reset_sus.bmp + Name = "but_reset" + Picture = ..\grafice\reset_sus.bmp + ToolTipText = "Reseteaza" + _memberdata = + + + * + +ENDDEFINE + +DEFINE CLASS but_retur AS buton OF "_cmd_base.vcx" + *< CLASSDATA: Baseclass="commandbutton" Timestamp="" Scale="Pixels" Uniqueid="" /> + + * + caction = do_retur + cpicturedown = retur2.bmp + cpictureup = retur1.bmp + MousePointer = 0 + Name = "but_retur" + Picture = ..\grafice\retur1.bmp + ToolTipText = "Retur" + Visible = .F. + * + +ENDDEFINE + +DEFINE CLASS but_salveaza AS buton OF "_cmd_base.vcx" + *< CLASSDATA: Baseclass="commandbutton" Timestamp="" Scale="Pixels" Uniqueid="" /> + + * + caction = do_salvare + cpicturedown = save_jos.bmp + cpictureup = save_sus.bmp + Name = "but_salveaza" + Picture = ..\grafice\save_sus.bmp + ToolTipText = "Salvare" + * + +ENDDEFINE + +DEFINE CLASS but_sterge AS buton OF "_cmd_base.vcx" + *< CLASSDATA: Baseclass="commandbutton" Timestamp="" Scale="Pixels" Uniqueid="" /> + + * + caction = inainte_de_do_sterge + cpicturedown = sterg_jos.bmp + cpictureup = sterg_sus.bmp + DisabledPicture = ..\grafice\sterg2_sus_dis.bmp + Name = "but_sterge" + Picture = ..\grafice\sterg_sus.bmp + ToolTipText = "Stergere (CTRL+D)" + Visible = .F. + * + +ENDDEFINE + +DEFINE CLASS but_sus AS buton OF "_cmd_base.vcx" + *< CLASSDATA: Baseclass="commandbutton" Timestamp="" Scale="Pixels" Uniqueid="" /> + + * + caction = do_scrollup + cpicturedown = sus2.bmp + cpictureup = sus1.bmp + Height = 30 + Name = "but_sus" + Picture = ..\grafice\sus1.bmp + ToolTipText = "Sus" + Width = 27 + * + +ENDDEFINE + +DEFINE CLASS but_termin AS buton OF "_cmd_base.vcx" + *< CLASSDATA: Baseclass="commandbutton" Timestamp="" Scale="Pixels" Uniqueid="" /> + + * + caction = do_termin + cpicturedown = terminat_jos.bmp + cpictureup = terminat_sus.bmp + Name = "but_termin" + Picture = ..\grafice\terminat_sus.bmp + ToolTipText = "Terminare (CTRL+F)" + * + +ENDDEFINE + +DEFINE CLASS but_urmator AS buton OF "_cmd_base.vcx" + *< CLASSDATA: Baseclass="commandbutton" Timestamp="" Scale="Pixels" Uniqueid="" /> + + * + caction = do_urmator + cpicturedown = urmator2.bmp + cpictureup = urmator1.bmp + Name = "but_urmator" + Picture = ..\grafice\urmator1.bmp + ToolTipText = "Verificare" + * + +ENDDEFINE + +DEFINE CLASS but_urmator_tot AS buton OF "_cmd_base.vcx" + *< CLASSDATA: Baseclass="commandbutton" Timestamp="" Scale="Pixels" Uniqueid="" /> + + * + caction = do_urmator_tot + cpicturedown = urmator2_tot.bmp + cpictureup = urmator1_tot.bmp + Name = "but_urmator_tot" + Picture = ..\grafice\urmator1_tot.bmp + * + +ENDDEFINE + +DEFINE CLASS but_verifica AS buton OF "_cmd_base.vcx" + *< CLASSDATA: Baseclass="commandbutton" Timestamp="" Scale="Pixels" Uniqueid="" /> + + * + caction = do_verifica + cpicturedown = verificare2.bmp + cpictureup = verificare1.bmp + Name = "but_verifica" + Picture = ..\grafice\verificare1.bmp + ToolTipText = "Verificare" + * + +ENDDEFINE + +DEFINE CLASS cmd_adauga AS cmd_buton OF "_cmd_base.vcx" + *< CLASSDATA: Baseclass="commandbutton" Timestamp="" Scale="Pixels" Uniqueid="" /> + + * + caction = do_adauga + Caption = "\ + +ENDDEFINE + +DEFINE CLASS cmd_cauta AS cmd_buton OF "_cmd_base.vcx" + *< CLASSDATA: Baseclass="commandbutton" Timestamp="" Scale="Pixels" Uniqueid="" /> + + * + caction = do_cauta + Caption = "\ + +ENDDEFINE + +DEFINE CLASS cmd_executa AS cmd_buton OF "_cmd_base.vcx" + *< CLASSDATA: Baseclass="commandbutton" Timestamp="" Scale="Pixels" Uniqueid="" /> + + * + *p: lvizibil && .F. daca butonul nu este vizibil , .T. daca butonul este vizibil (in functie de drepturi). Proprietatea ptr. butoanele care au visible=.F. default. + * + + * + caction = do_executa + Caption = "\ + + + * + +ENDDEFINE + +DEFINE CLASS cmd_login AS cmd_buton OF "_cmd_base.vcx" + *< CLASSDATA: Baseclass="commandbutton" Timestamp="" Scale="Pixels" Uniqueid="" /> + + * + caction = do_login + Caption = "Log \ + +ENDDEFINE + +DEFINE CLASS cmd_logoff AS cmd_buton OF "_cmd_base.vcx" + *< CLASSDATA: Baseclass="commandbutton" Timestamp="" Scale="Pixels" Uniqueid="" /> + + * + caction = do_logoff + Caption = "Log \ + +ENDDEFINE + +DEFINE CLASS cmd_modifica AS cmd_buton OF "_cmd_base.vcx" + *< CLASSDATA: Baseclass="commandbutton" Timestamp="" Scale="Pixels" Uniqueid="" /> + + * + caction = inainte_de_do_modifica + Caption = "\ + +ENDDEFINE + +DEFINE CLASS cmd_renunt AS cmd_buton OF "_cmd_base.vcx" + *< CLASSDATA: Baseclass="commandbutton" Timestamp="" Scale="Pixels" Uniqueid="" /> + + * + caction = do_renunt + Caption = "\ + +ENDDEFINE + +DEFINE CLASS cmd_reset AS cmd_buton OF "_cmd_base.vcx" + *< CLASSDATA: Baseclass="commandbutton" Timestamp="" Scale="Pixels" Uniqueid="" /> + + * + caction = do_reset + Caption = "\ + +ENDDEFINE + +DEFINE CLASS cmd_select AS cmd_buton OF "_cmd_base.vcx" + *< CLASSDATA: Baseclass="commandbutton" Timestamp="" Scale="Pixels" Uniqueid="" /> + + * + *m: schimba_caption + * + + * + caction = do_select + Caption = "\ + +ENDDEFINE + +DEFINE CLASS cmd_select_adv AS cmd_buton OF "_cmd_base.vcx" + *< CLASSDATA: Baseclass="commandbutton" Timestamp="" Scale="Pixels" Uniqueid="" /> + + * + *m: do_bifeaza && Metoda delegat pentru click-ul pe coloana cu bifa. + *m: do_reset + *m: schimba_caption + *m: setup + *p: ccoloana && Numele coloanei din cursor pentru care se aplica bifa. + *p: ccursor + *p: cfiltrusuplimentar && Conditie SQL suplimentara (sintaxa FOR/WHERE), aplicata DOAR pe ramura de selectare (nu si la deselectare); goala = comportament neschimbat. + *p: cgrid && Numele obiectului (de ex. : thisform.grid1 ). + *p: ncheck && Index-ul obiectului de tip checkbox in array-ul Objects al coloanei din grid. + *p: ncoloana && Index-ul coloanei in array-ul Objects al gridului. + *p: nselectate && Numarul de randuri selectate + * + + HIDDEN ncheck,ncoloana + * + Caption = "\ + + + + + + + * + + PROCEDURE Click + If !Empty(This.ccoloana) And !Empty(This.ccursor) + lcCursor = This.ccursor + lcColoana = This.ccoloana + lcFiltru = Iif(Empty(Filter(lcCursor)),[2=2],Filter(lcCursor)) + Select (lcCursor) + If Reccount(lcCursor) > 0 + lnRecno = Recno() + Set Filter To + If This.nselectate = 0 + lcFiltruSelect = lcFiltru + If !Empty(This.cFiltruSuplimentar) + lcFiltruSelect = "(" + lcFiltru + ") AND (" + This.cFiltruSuplimentar + ")" + Endif + Calculate Cnt() To lnNrInreg For &lcFiltruSelect + Replace (lcColoana) With 1 For &lcFiltruSelect + This.nselectate = lnNrInreg + Else + Replace (lcColoana) With 0 For &lcFiltru + This.nselectate = 0 + Endif + Set Filter To &lcFiltru + Go Min(lnRecno,Reccount(lcCursor)) + If !Empty(Filter(lcCursor)) + lcGrid = This.cgrid + poGrid = &lcGrid + poGrid.Refresh() + Endif + Endif + Endif + This.schimba_caption + + ENDPROC + + PROCEDURE Destroy + Local lcGrid, i, j, loGrid + If !Empty(This.ccoloana) And !Empty(This.cgrid) + lcGrid = This.cgrid + TRY + loGrid = &lcGrid + i = This.ncoloana + j = This.ncheck + If Type(lcGrid+'.Objects(i).Objects(j)')="O" + Unbindevent(loGrid.Objects(i).Objects(j),"Click",This,"do_bifeaza") + ENDIF + CATCH + ENDTRY + Endif + ENDPROC + + PROCEDURE do_bifeaza && Metoda delegat pentru click-ul pe coloana cu bifa. + pcGrid = This.cgrid + poGrid = &pcGrid + This.nselectate = This.nselectate + Iif(poGrid.Objects(This.ncoloana).Objects(This.ncheck).Value=0,-1,1) + This.schimba_caption() + + ENDPROC + + PROCEDURE do_reset + This.nselectate = 0 + This.schimba_caption() + + ENDPROC + + PROCEDURE Init + DoDefault() + This.Setup() + ENDPROC + + PROCEDURE schimba_caption + If This.nselectate = 0 + This.Caption = "\ + + * + caction = inainte_de_do_sterge + Caption = "\<ªterge" + FontBold = .T. + Name = "cmd_sterge" + * + +ENDDEFINE + +DEFINE CLASS cmd_termin AS cmd_buton OF "_cmd_base.vcx" + *< CLASSDATA: Baseclass="commandbutton" Timestamp="" Scale="Pixels" Uniqueid="" /> + + * + caction = do_termin + Caption = "\ + +ENDDEFINE diff --git a/clase/comun.vc2 b/clase/comun.vc2 new file mode 100644 index 0000000..9b96a93 --- /dev/null +++ b/clase/comun.vc2 @@ -0,0 +1,10668 @@ +*-------------------------------------------------------------------------------------------------------------------------------------------------------- +* (EN) AUTOGENERATED - ATTENTION!! - NOT INTENDED FOR EXECUTION!! USE ONLY FOR MERGING CHANGES AND STORING WITH SCM TOOLS!! +*-------------------------------------------------------------------------------------------------------------------------------------------------------- +*< FOXBIN2PRG: Version="1.21" SourceFile="comun.vcx" CPID="1252" /> (Solo para binarios VFP 9 / Only for VFP 9 binaries) +* +* +DEFINE CLASS afisjurcom AS _frmbase OF "_frm_base.vcx" + *< CLASSDATA: Baseclass="form" Timestamp="" Scale="Pixels" Uniqueid="" /> + + *-- OBJECTDATA items order determines ZOrder / El orden de los items OBJECTDATA determina el ZOrder + *< OBJECTDATA: ObjPath="Clb_tx_simplu1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="_GRID1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="_GRID1.Column1.Header1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="_GRID1.Column1.Text1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="_GRID1.Column2.Header1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="_GRID1.Column2.Text1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="_GRID1.Column3.Header1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="_GRID1.Column3.Text1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="_GRID1.Column4.Header1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="_GRID1.Column4.Text1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="_GRID1.Column5.Header1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="_GRID1.Column5.Text1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="_GRID1.Column6.Header1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="_GRID1.Column6.Text1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="_GRID1.Column7.Header1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="_GRID1.Column7.Text1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="_GRID1.Column8.Header1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="_GRID1.Column8.Text1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="_GRID1.cScd.Header1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="_GRID1.cScd.Text1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="_GRID1.cAscd.Header1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="_GRID1.cAscd.Text1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="_GRID1.cScc.Header1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="_GRID1.cScc.Text1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="_GRID1.cAscc.Header1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="_GRID1.cAscc.Text1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="_GRID1.Column13.Header1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="_GRID1.Column13.Text1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="_GRID1.Column14.Header1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="_GRID1.Column14.Text1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="_GRID1.Column15.Header1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="_GRID1.Column15.Text1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="_GRID1.Column16.Header1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="_GRID1.Column16.Text1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="_GRID1.Column17.Header1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="_GRID1.Column17.Text1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="_GRID1.Column18.Header1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="_GRID1.Column18.Text1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="_GRID1.Column19.Header1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="_GRID1.Column19.Text1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="_GRID1.Column20.Header1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="_GRID1.Column20.Text1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="_GRID1.Column21.Header1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="_GRID1.Column21.Text1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="_GRID1.Column22.Header1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="_GRID1.Column22.Text1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="_GRID1.Column23.Header1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="_GRID1.Column23.Text1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="_GRID1.Column25.Header1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="_GRID1.Column25.Text1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="_GRID1.Column26.Header1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="_GRID1.Column26.Text1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="_GRID1.Column27.Header1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="_GRID1.Column27.Text1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="_GRID1.Column28.Header1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="_GRID1.Column28.Text1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="_GRID1.Column29.Header1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="_GRID1.Column29.Text1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="_GRID1.Column30.Header1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="_GRID1.Column30.Text1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="_GRID1.Column31.Header1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="_GRID1.Column31.Text1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="_GRID1.Column32.Header1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="_GRID1.Column32.Text1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="_GRID1.Column33.Header1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="_GRID1.Column33.Text1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="_GRID1.Column34.Header1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="_GRID1.Column34.Text1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="_GRID1.Column35.Header1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="_GRID1.Column35.Text1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="_GRID1.Column36.Header1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="_GRID1.Column36.Text1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="_GRID1.Column37.Header1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="_GRID1.Column37.Text1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="_GRID1.Column24.Header1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="_GRID1.Column24.Text1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="_GRID1.Column38.Header1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="_GRID1.Column38.Text1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="_GRID1.cSerie_act.Header1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="_GRID1.cSerie_act.Text1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="_GRID1.cValidat.Header1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="_GRID1.cValidat.Text1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="_GRID1.cDataV.Header1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="_GRID1.cDataV.Text1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="_GRID1.cUtilV.Header1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="_GRID1.cUtilV.Text1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="_GRID1.cIdFact.Header1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="_GRID1.cIdFact.Text1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="_GRID1.cIdFactD.Header1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="_GRID1.cIdFactD.Text1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="_GRID1.cIdFactC.Header1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="_GRID1.cIdFactC.Text1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="_GRID1.cCodFiscalD.Header1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="_GRID1.cCodFiscalD.Text1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="_GRID1.cCodFiscalC.Header1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="_GRID1.cCodFiscalC.Text1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="_GRID1.cLuna.Header1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="_GRID1.cLuna.Text1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="_GRID1.cAn.Header1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="_GRID1.cAn.Text1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="_GRID1.cBancaD.Header1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="_GRID1.cBancaD.Text1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="_GRID1.cContBancaD.Header1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="_GRID1.cContBancaD.Text1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="_GRID1.cBancaC.Header1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="_GRID1.cBancaC.Text1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="_GRID1.cContBancaC.Header1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="_GRID1.cContBancaC.Text1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="_GRID1.cTaxCode.Header1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="_GRID1.cTaxCode.Text1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="_GRID1.cSaftProcent.Header1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="_GRID1.cSaftProcent.Text1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="_GRID1.cPaymentCode.Header1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="_GRID1.cPaymentCode.Text1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="_GRID1.cRegistru.Header1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="_GRID1.cRegistru.Text1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="Ck_total" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="But_excel1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="But_sterge1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="But_modifica1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="But_listare1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="but_validare" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="But_help1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="But_start_criterii1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="But_reset_criterii1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="But_verifica1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="Lb_shortcuts1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="Gridextra1" UniqueID="" Timestamp="" /> + + * + *m: calculeaza_total + *m: do_validare + *m: e_in_vanzari + *p: cvaluta + *p: eactan + *p: ncurs + *p: nsuma + * + + * + BorderStyle = 1 + Caption = "Form" + cgridsortlist = _grid1 + cvaluta = + DoCreate = .T. + eactan = .F. + Height = 465 + Name = "afisjurcom" + ncurs = 0 + nsuma = 0 + Width = 795 + WindowState = 2 + WindowType = 1 + _shape1.Anchor = 11 + _shape1.Comment = "*:OnResize=ST" + _shape1.Height = 29 + _shape1.Left = 0 + _shape1.Name = "_shape1" + _shape1.Top = 0 + _shape1.Width = 796 + _shape2.Anchor = 9 + _shape2.Comment = "*:OnResize=RT" + _shape2.Height = 29 + _shape2.Left = 780 + _shape2.Name = "_shape2" + _shape2.Top = 0 + _shape2.Width = 31 + Lb_titlu_alb_b121.Caption = "REGISTRUL JURNAL" + Lb_titlu_alb_b121.Comment = "*:OnResize=LT" + Lb_titlu_alb_b121.FontBold = .T. + Lb_titlu_alb_b121.FontName = "Arial" + Lb_titlu_alb_b121.Left = 6 + Lb_titlu_alb_b121.Name = "Lb_titlu_alb_b121" + Lb_titlu_alb_b121.TabIndex = 49 + Lb_titlu_alb_b121.Top = 1 + BUT_TERMIN1.Anchor = 9 + BUT_TERMIN1.Comment = "*:OnResize=RT" + BUT_TERMIN1.Height = 27 + BUT_TERMIN1.Left = 766 + BUT_TERMIN1.Name = "BUT_TERMIN1" + BUT_TERMIN1.TabIndex = 45 + BUT_TERMIN1.Top = 1 + BUT_TERMIN1.Width = 30 + Gridsort1.Name = "Gridsort1" + * + + ADD OBJECT '_GRID1' AS _grid WITH ; + Anchor = 15, ; + ColumnCount = 57, ; + DeleteMark = .F., ; + FontSize = 10, ; + Height = 394, ; + HighlightStyle = 2, ; + Left = 1, ; + Name = "_GRID1", ; + Panel = 1, ; + RecordSource = "actjur", ; + RowHeight = 19, ; + TabIndex = 38, ; + Top = 36, ; + Width = 792, ; + Column1.ControlSource = "nrcrt()", ; + Column1.FontName = "Arial", ; + Column1.FontSize = 10, ; + Column1.ForeColor = 0,0,0, ; + Column1.Name = "Column1", ; + Column1.Width = 42, ; + Column2.ControlSource = "fdoc", ; + Column2.FontName = "Arial", ; + Column2.FontSize = 10, ; + Column2.ForeColor = 0,0,0, ; + Column2.Name = "Column2", ; + Column2.Width = 91, ; + Column3.ControlSource = "dataireg", ; + Column3.FontName = "Arial", ; + Column3.FontSize = 10, ; + Column3.ForeColor = 0,0,0, ; + Column3.Name = "Column3", ; + Column3.Width = 76, ; + Column4.ColumnOrder = 4, ; + Column4.ControlSource = "dataact", ; + Column4.FontName = "Arial", ; + Column4.FontSize = 10, ; + Column4.ForeColor = 0,0,0, ; + Column4.Name = "Column4", ; + Column4.Width = 74, ; + Column5.ColumnOrder = 6, ; + Column5.ControlSource = "nract", ; + Column5.FontName = "Arial", ; + Column5.FontSize = 10, ; + Column5.ForeColor = 0,0,0, ; + Column5.Name = "Column5", ; + Column5.Width = 101, ; + Column6.ColumnOrder = 7, ; + Column6.ControlSource = "partD", ; + Column6.FontName = "Arial", ; + Column6.FontSize = 10, ; + Column6.ForeColor = 0,0,0, ; + Column6.Name = "Column6", ; + Column6.Width = 164, ; + Column7.ColumnOrder = 9, ; + Column7.ControlSource = "partC", ; + Column7.FontName = "Arial", ; + Column7.FontSize = 10, ; + Column7.ForeColor = 0,0,0, ; + Column7.Name = "Column7", ; + Column7.Width = 142, ; + Column8.ColumnOrder = 11, ; + Column8.ControlSource = "explicatia", ; + Column8.FontName = "Arial", ; + Column8.FontSize = 10, ; + Column8.ForeColor = 0,0,0, ; + Column8.Name = "Column8", ; + Column8.Width = 135, ; + Column9.ColumnOrder = 12, ; + Column9.ControlSource = "scd", ; + Column9.FontBold = .T., ; + Column9.FontName = "Arial", ; + Column9.FontSize = 10, ; + Column9.ForeColor = 0,0,0, ; + Column9.Name = "cScd", ; + Column9.Width = 44, ; + Column10.ColumnOrder = 13, ; + Column10.ControlSource = "ascd", ; + Column10.FontName = "Arial", ; + Column10.FontSize = 10, ; + Column10.ForeColor = 0,0,0, ; + Column10.Name = "cAscd", ; + Column10.Width = 42, ; + Column11.ColumnOrder = 14, ; + Column11.ControlSource = "scc", ; + Column11.FontBold = .T., ; + Column11.FontName = "Arial", ; + Column11.FontSize = 10, ; + Column11.ForeColor = 0,0,0, ; + Column11.Name = "cScc", ; + Column11.Width = 44, ; + Column12.ColumnOrder = 15, ; + Column12.ControlSource = "ascc", ; + Column12.FontName = "Arial", ; + Column12.FontSize = 10, ; + Column12.ForeColor = 0,0,0, ; + Column12.Name = "cAscc", ; + Column12.Width = 44, ; + Column13.ColumnOrder = 16, ; + Column13.ControlSource = "suma", ; + Column13.FontName = "Arial", ; + Column13.FontSize = 10, ; + Column13.ForeColor = 0,0,0, ; + Column13.Format = "R", ; + Column13.InputMask = (get_mask(12,gnPA)), ; + Column13.Name = "Column13", ; + Column13.Width = 104, ; + Column14.ColumnOrder = 17, ; + Column14.ControlSource = "nrord", ; + Column14.FontName = "Arial", ; + Column14.FontSize = 10, ; + Column14.ForeColor = 0,0,0, ; + Column14.Name = "Column14", ; + Column14.Width = 108, ; + Column15.ColumnOrder = 19, ; + Column15.ControlSource = "iif(!empty(nvl(perecheD,0)), transform(perecheD) + iif(!empty(nvl(dataactD, {})), ' ' + transform(dataactD), ''), '')", ; + Column15.FontName = "Arial", ; + Column15.FontSize = 10, ; + Column15.ForeColor = 0,0,0, ; + Column15.Name = "Column15", ; + Column15.Width = 95, ; + Column16.ColumnOrder = 20, ; + Column16.ControlSource = "iif(!empty(nvl(perecheC,0)), transform(perecheC) + iif(!empty(nvl(dataactC, {})), ' ' + transform(dataactC), ''), '')", ; + Column16.FontName = "Arial", ; + Column16.FontSize = 10, ; + Column16.ForeColor = 0,0,0, ; + Column16.Name = "Column16", ; + Column16.Width = 120, ; + Column17.ColumnOrder = 26, ; + Column17.ControlSource = "datascad", ; + Column17.FontName = "Arial", ; + Column17.FontSize = 10, ; + Column17.ForeColor = 0,0,0, ; + Column17.Name = "Column17", ; + Column17.Width = 87, ; + Column18.ColumnOrder = 27, ; + Column18.ControlSource = "nnir", ; + Column18.FontName = "Arial", ; + Column18.FontSize = 10, ; + Column18.ForeColor = 0,0,0, ; + Column18.Name = "Column18", ; + Column18.Width = 100, ; + Column19.ColumnOrder = 28, ; + Column19.ControlSource = "nresp", ; + Column19.FontName = "Arial", ; + Column19.FontSize = 10, ; + Column19.ForeColor = 0,0,0, ; + Column19.Name = "Column19", ; + Column19.Width = 135, ; + Column20.ColumnOrder = 29, ; + Column20.ControlSource = "dst_chlt", ; + Column20.FontName = "Arial", ; + Column20.FontSize = 10, ; + Column20.ForeColor = 0,0,0, ; + Column20.Name = "Column20", ; + Column20.Width = 82, ; + Column21.ColumnOrder = 30, ; + Column21.ControlSource = "suma_val", ; + Column21.FontName = "Arial", ; + Column21.FontSize = 10, ; + Column21.ForeColor = 0,0,0, ; + Column21.Format = "R", ; + Column21.InputMask = (get_mask(12,gnPVal)), ; + Column21.Name = "Column21", ; + Column21.Width = 93, ; + Column22.ColumnOrder = 31, ; + Column22.ControlSource = "nume_val", ; + Column22.FontName = "Arial", ; + Column22.FontSize = 10, ; + Column22.ForeColor = 0,0,0, ; + Column22.Name = "Column22", ; + Column22.Width = 52, ; + Column23.ColumnOrder = 32, ; + Column23.ControlSource = "curs", ; + Column23.FontName = "Arial", ; + Column23.FontSize = 10, ; + Column23.ForeColor = 0,0,0, ; + Column23.InputMask = (get_mask(12,gnPcurs)), ; + Column23.Name = "Column23", ; + Column23.Width = 65, ; + Column24.ColumnOrder = 37, ; + Column24.ControlSource = "sectie", ; + Column24.FontName = "Arial", ; + Column24.FontSize = 10, ; + Column24.ForeColor = 0,0,0, ; + Column24.Name = "Column25", ; + Column24.Width = 105, ; + Column25.ColumnOrder = 21, ; + Column25.ControlSource = "proc_tva", ; + Column25.FontName = "Arial", ; + Column25.FontSize = 10, ; + Column25.ForeColor = 0,0,0, ; + Column25.InputMask = "99.99", ; + Column25.Name = "Column26", ; + Column25.Width = 58, ; + Column26.ColumnOrder = 44, ; + Column26.ControlSource = "cod", ; + Column26.FontName = "Arial", ; + Column26.FontSize = 10, ; + Column26.ForeColor = 0,0,0, ; + Column26.Name = "Column27", ; + Column26.Width = 111, ; + Column27.ColumnOrder = 39, ; + Column27.ControlSource = "util", ; + Column27.FontName = "Arial", ; + Column27.FontSize = 10, ; + Column27.ForeColor = 0,0,0, ; + Column27.Name = "Column28", ; + Column27.Width = 129, ; + Column28.ColumnOrder = 40, ; + Column28.ControlSource = "dataora", ; + Column28.FontName = "Arial", ; + Column28.FontSize = 10, ; + Column28.ForeColor = 0,0,0, ; + Column28.Name = "Column29", ; + Column28.Width = 121, ; + Column29.ColumnOrder = 41, ; + Column29.ControlSource = "utils", ; + Column29.FontName = "Arial", ; + Column29.FontSize = 10, ; + Column29.ForeColor = 0,0,0, ; + Column29.Name = "Column30", ; + Column29.Width = 111, ; + Column30.ColumnOrder = 42, ; + Column30.ControlSource = "dataoras", ; + Column30.FontName = "Arial", ; + Column30.FontSize = 10, ; + Column30.ForeColor = 0,0,0, ; + Column30.Name = "Column31", ; + Column30.Width = 103, ; + Column31.ColumnOrder = 43, ; + Column31.ControlSource = "id_set", ; + Column31.FontName = "Arial", ; + Column31.FontSize = 10, ; + Column31.ForeColor = 0,0,0, ; + Column31.Name = "Column32", ; + Column32.ColumnOrder = 38, ; + Column32.ControlSource = "sucursala", ; + Column32.FontName = "Arial", ; + Column32.FontSize = 10, ; + Column32.ForeColor = 0,0,0, ; + Column32.Name = "Column33", ; + Column32.Width = 164, ; + Column33.ColumnOrder = 33, ; + Column33.ControlSource = "explicatia4", ; + Column33.FontName = "Arial", ; + Column33.FontSize = 10, ; + Column33.ForeColor = 0,0,0, ; + Column33.Name = "Column34", ; + Column33.Width = 116, ; + Column34.ColumnOrder = 34, ; + Column34.ControlSource = "explicatia5", ; + Column34.FontName = "Arial", ; + Column34.FontSize = 10, ; + Column34.ForeColor = 0,0,0, ; + Column34.Name = "Column35", ; + Column34.Width = 116, ; + Column35.ColumnOrder = 35, ; + Column35.ControlSource = "GESTIN", ; + Column35.FontName = "Arial", ; + Column35.FontSize = 10, ; + Column35.ForeColor = 0,0,0, ; + Column35.Name = "Column36", ; + Column35.Width = 114, ; + Column36.ColumnOrder = 36, ; + Column36.ControlSource = "GESTOUT", ; + Column36.FontName = "Arial", ; + Column36.FontSize = 10, ; + Column36.ForeColor = 0,0,0, ; + Column36.Name = "Column37", ; + Column36.Width = 89, ; + Column37.ColumnOrder = 18, ; + Column37.ControlSource = "contract", ; + Column37.FontName = "Arial", ; + Column37.FontSize = 10, ; + Column37.ForeColor = 0,0,0, ; + Column37.Name = "Column24", ; + Column37.Width = 105, ; + Column38.ColumnOrder = 22, ; + Column38.ControlSource = "explicatie_tva", ; + Column38.FontName = "Arial", ; + Column38.FontSize = 10, ; + Column38.ForeColor = 0,0,0, ; + Column38.Name = "Column38", ; + Column38.Width = 158, ; + Column39.ColumnOrder = 5, ; + Column39.ControlSource = "serie_act", ; + Column39.FontName = "Arial", ; + Column39.FontSize = 10, ; + Column39.ForeColor = 0,0,0, ; + Column39.Name = "cSerie_act", ; + Column39.Width = 63, ; + Column40.ColumnOrder = 45, ; + Column40.ControlSource = "iif(validat = 0, 'NU', 'DA')", ; + Column40.FontName = "Arial", ; + Column40.FontSize = 10, ; + Column40.ForeColor = 0,0,0, ; + Column40.Name = "cValidat", ; + Column40.Width = 44, ; + Column41.ColumnOrder = 46, ; + Column41.ControlSource = "dataorav", ; + Column41.FontName = "Arial", ; + Column41.FontSize = 10, ; + Column41.ForeColor = 0,0,0, ; + Column41.Name = "cDataV", ; + Column41.Width = 100, ; + Column42.ColumnOrder = 47, ; + Column42.ControlSource = "utilv", ; + Column42.FontName = "Arial", ; + Column42.FontSize = 10, ; + Column42.ForeColor = 0,0,0, ; + Column42.Name = "cUtilV", ; + Column42.Width = 108, ; + Column43.ColumnOrder = 48, ; + Column43.ControlSource = "id_Fact", ; + Column43.FontName = "Arial", ; + Column43.FontSize = 10, ; + Column43.Name = "cIdFact", ; + Column43.Width = 71, ; + Column44.ColumnOrder = 49, ; + Column44.ControlSource = "id_factd", ; + Column44.FontName = "Arial", ; + Column44.FontSize = 10, ; + Column44.Name = "cIdFactD", ; + Column44.Width = 73, ; + Column45.ColumnOrder = 50, ; + Column45.ControlSource = "id_factc", ; + Column45.FontName = "Arial", ; + Column45.FontSize = 10, ; + Column45.Name = "cIdFactC", ; + Column45.Width = 77, ; + Column46.ColumnOrder = 8, ; + Column46.ControlSource = "cod_fiscald", ; + Column46.FontName = "Arial", ; + Column46.FontSize = 10, ; + Column46.Name = "cCodFiscalD", ; + Column46.Width = 94, ; + Column47.ColumnOrder = 10, ; + Column47.ControlSource = "cod_fiscalc", ; + Column47.FontName = "Arial", ; + Column47.FontSize = 10, ; + Column47.Name = "cCodFiscalC", ; + Column47.Width = 73, ; + Column48.ColumnOrder = 56, ; + Column48.ControlSource = "luna", ; + Column48.FontName = "Arial", ; + Column48.FontSize = 10, ; + Column48.Name = "cLuna", ; + Column48.ReadOnly = .T., ; + Column48.Width = 31, ; + Column49.ColumnOrder = 55, ; + Column49.ControlSource = "an", ; + Column49.FontName = "Arial", ; + Column49.FontSize = 10, ; + Column49.Name = "cAn", ; + Column49.ReadOnly = .T., ; + Column49.Width = 29, ; + Column50.ColumnOrder = 51, ; + Column50.ControlSource = "bancad", ; + Column50.FontSize = 10, ; + Column50.Name = "cBancaD", ; + Column50.ReadOnly = .T., ; + Column51.ColumnOrder = 52, ; + Column51.ControlSource = "cont_bancad", ; + Column51.FontSize = 10, ; + Column51.Name = "cContBancaD", ; + Column51.ReadOnly = .T., ; + Column51.Width = 138, ; + Column52.ColumnOrder = 53, ; + Column52.ControlSource = "bancac", ; + Column52.FontSize = 10, ; + Column52.Name = "cBancaC", ; + Column52.ReadOnly = .T., ; + Column53.ColumnOrder = 54, ; + Column53.ControlSource = "cont_bancac", ; + Column53.FontSize = 10, ; + Column53.Name = "cContBancaC", ; + Column53.ReadOnly = .T., ; + Column53.Width = 131, ; + Column54.ColumnOrder = 23, ; + Column54.ControlSource = "taxname", ; + Column54.FontSize = 10, ; + Column54.Name = "cTaxCode", ; + Column54.ReadOnly = .T., ; + Column54.Width = 92, ; + Column55.ColumnOrder = 24, ; + Column55.ControlSource = "saft_procent", ; + Column55.FontSize = 10, ; + Column55.Name = "cSaftProcent", ; + Column55.ReadOnly = .T., ; + Column55.Width = 89, ; + Column56.ColumnOrder = 25, ; + Column56.ControlSource = "paymentname", ; + Column56.FontSize = 10, ; + Column56.Name = "cPaymentCode", ; + Column56.ReadOnly = .T., ; + Column56.Width = 89, ; + Column57.ControlSource = "registru", ; + Column57.FontSize = 10, ; + Column57.Name = "cRegistru", ; + Column57.ReadOnly = .T., ; + Column57.Width = 87 + *< END OBJECT: ClassLib="_baza.vcx" BaseClass="grid" /> + + ADD OBJECT '_GRID1.cAn.Header1' AS header WITH ; + Alignment = 2, ; + Caption = "Anul", ; + FontName = "Arial", ; + FontSize = 10, ; + Name = "Header1" + *< END OBJECT: BaseClass="header" /> + + ADD OBJECT '_GRID1.cAn.Text1' AS textbox WITH ; + BackColor = 255,255,255, ; + BorderStyle = 0, ; + FontName = "Arial", ; + FontSize = 10, ; + ForeColor = 0,0,0, ; + Margin = 0, ; + Name = "Text1", ; + ReadOnly = .T., ; + SelectedBackColor = 100,185,255 + *< END OBJECT: BaseClass="textbox" /> + + ADD OBJECT '_GRID1.cAscc.Header1' AS header WITH ; + Alignment = 2, ; + Caption = "A Cred", ; + FontName = "Arial", ; + FontSize = 10, ; + Name = "Header1" + *< END OBJECT: BaseClass="header" /> + + ADD OBJECT '_GRID1.cAscc.Text1' AS textbox WITH ; + BackColor = 255,255,255, ; + BorderStyle = 0, ; + FontName = "Arial", ; + FontSize = 10, ; + ForeColor = 0,0,0, ; + Margin = 0, ; + Name = "Text1", ; + SelectedBackColor = 100,185,255 + *< END OBJECT: BaseClass="textbox" /> + + ADD OBJECT '_GRID1.cAscd.Header1' AS header WITH ; + Alignment = 2, ; + Caption = "A Deb", ; + FontName = "Arial", ; + FontSize = 10, ; + Name = "Header1" + *< END OBJECT: BaseClass="header" /> + + ADD OBJECT '_GRID1.cAscd.Text1' AS textbox WITH ; + BackColor = 255,255,255, ; + BorderStyle = 0, ; + FontName = "Arial", ; + FontSize = 10, ; + ForeColor = 0,0,0, ; + Margin = 0, ; + Name = "Text1", ; + SelectedBackColor = 100,185,255 + *< END OBJECT: BaseClass="textbox" /> + + ADD OBJECT '_GRID1.cBancaC.Header1' AS header WITH ; + Alignment = 2, ; + Caption = "Banca C", ; + FontSize = 10, ; + Name = "Header1" + *< END OBJECT: BaseClass="header" /> + + ADD OBJECT '_GRID1.cBancaC.Text1' AS textbox WITH ; + BackColor = 255,255,255, ; + BorderStyle = 0, ; + FontSize = 10, ; + ForeColor = 0,0,0, ; + Margin = 0, ; + Name = "Text1", ; + ReadOnly = .T., ; + SelectedBackColor = 100,185,255 + *< END OBJECT: BaseClass="textbox" /> + + ADD OBJECT '_GRID1.cBancaD.Header1' AS header WITH ; + Alignment = 2, ; + Caption = "Banca D", ; + FontSize = 10, ; + Name = "Header1" + *< END OBJECT: BaseClass="header" /> + + ADD OBJECT '_GRID1.cBancaD.Text1' AS textbox WITH ; + BackColor = 255,255,255, ; + BorderStyle = 0, ; + FontSize = 10, ; + ForeColor = 0,0,0, ; + Margin = 0, ; + Name = "Text1", ; + ReadOnly = .T., ; + SelectedBackColor = 100,185,255 + *< END OBJECT: BaseClass="textbox" /> + + ADD OBJECT '_GRID1.cCodFiscalC.Header1' AS header WITH ; + Alignment = 2, ; + Caption = "Cod fiscal C", ; + FontName = "Arial", ; + FontSize = 10, ; + Name = "Header1" + *< END OBJECT: BaseClass="header" /> + + ADD OBJECT '_GRID1.cCodFiscalC.Text1' AS textbox WITH ; + BackColor = 255,255,255, ; + BorderStyle = 0, ; + FontName = "Arial", ; + FontSize = 10, ; + ForeColor = 0,0,0, ; + Margin = 0, ; + Name = "Text1", ; + SelectedBackColor = 100,185,255 + *< END OBJECT: BaseClass="textbox" /> + + ADD OBJECT '_GRID1.cCodFiscalD.Header1' AS header WITH ; + Alignment = 2, ; + Caption = "Cod fiscal D", ; + FontName = "Arial", ; + FontSize = 10, ; + Name = "Header1" + *< END OBJECT: BaseClass="header" /> + + ADD OBJECT '_GRID1.cCodFiscalD.Text1' AS textbox WITH ; + BackColor = 255,255,255, ; + BorderStyle = 0, ; + FontName = "Arial", ; + FontSize = 10, ; + ForeColor = 0,0,0, ; + Margin = 0, ; + Name = "Text1", ; + SelectedBackColor = 100,185,255 + *< END OBJECT: BaseClass="textbox" /> + + ADD OBJECT '_GRID1.cContBancaC.Header1' AS header WITH ; + Alignment = 2, ; + Caption = "Cont banca C", ; + FontSize = 10, ; + Name = "Header1" + *< END OBJECT: BaseClass="header" /> + + ADD OBJECT '_GRID1.cContBancaC.Text1' AS textbox WITH ; + BackColor = 255,255,255, ; + BorderStyle = 0, ; + FontSize = 10, ; + ForeColor = 0,0,0, ; + Margin = 0, ; + Name = "Text1", ; + ReadOnly = .T., ; + SelectedBackColor = 100,185,255 + *< END OBJECT: BaseClass="textbox" /> + + ADD OBJECT '_GRID1.cContBancaD.Header1' AS header WITH ; + Alignment = 2, ; + Caption = "Cont banca D", ; + FontSize = 10, ; + Name = "Header1" + *< END OBJECT: BaseClass="header" /> + + ADD OBJECT '_GRID1.cContBancaD.Text1' AS textbox WITH ; + BackColor = 255,255,255, ; + BorderStyle = 0, ; + FontSize = 10, ; + ForeColor = 0,0,0, ; + Margin = 0, ; + Name = "Text1", ; + ReadOnly = .T., ; + SelectedBackColor = 100,185,255 + *< END OBJECT: BaseClass="textbox" /> + + ADD OBJECT '_GRID1.cDataV.Header1' AS header WITH ; + Alignment = 2, ; + Caption = "Dataora validarii", ; + FontName = "Arial", ; + FontSize = 10, ; + Name = "Header1" + *< END OBJECT: BaseClass="header" /> + + ADD OBJECT '_GRID1.cDataV.Text1' AS textbox WITH ; + BackColor = 255,255,255, ; + BorderStyle = 0, ; + FontName = "Arial", ; + FontSize = 10, ; + ForeColor = 0,0,0, ; + Margin = 0, ; + Name = "Text1", ; + SelectedBackColor = 100,185,255 + *< END OBJECT: BaseClass="textbox" /> + + ADD OBJECT '_GRID1.cIdFact.Header1' AS header WITH ; + Alignment = 2, ; + Caption = "Id fact", ; + FontName = "Arial", ; + FontSize = 10, ; + Name = "Header1" + *< END OBJECT: BaseClass="header" /> + + ADD OBJECT '_GRID1.cIdFact.Text1' AS textbox WITH ; + BackColor = 255,255,255, ; + BorderStyle = 0, ; + FontName = "Arial", ; + FontSize = 10, ; + ForeColor = 0,0,0, ; + Margin = 0, ; + Name = "Text1", ; + SelectedBackColor = 100,185,255 + *< END OBJECT: BaseClass="textbox" /> + + ADD OBJECT '_GRID1.cIdFactC.Header1' AS header WITH ; + Alignment = 2, ; + Caption = "Id FactC", ; + FontName = "Arial", ; + FontSize = 10, ; + Name = "Header1" + *< END OBJECT: BaseClass="header" /> + + ADD OBJECT '_GRID1.cIdFactC.Text1' AS textbox WITH ; + BackColor = 255,255,255, ; + BorderStyle = 0, ; + FontName = "Arial", ; + FontSize = 10, ; + ForeColor = 0,0,0, ; + Margin = 0, ; + Name = "Text1", ; + SelectedBackColor = 100,185,255 + *< END OBJECT: BaseClass="textbox" /> + + ADD OBJECT '_GRID1.cIdFactD.Header1' AS header WITH ; + Alignment = 2, ; + Caption = "Id FactD", ; + FontName = "Arial", ; + FontSize = 10, ; + Name = "Header1" + *< END OBJECT: BaseClass="header" /> + + ADD OBJECT '_GRID1.cIdFactD.Text1' AS textbox WITH ; + BackColor = 255,255,255, ; + BorderStyle = 0, ; + FontName = "Arial", ; + FontSize = 10, ; + ForeColor = 0,0,0, ; + Margin = 0, ; + Name = "Text1", ; + SelectedBackColor = 100,185,255 + *< END OBJECT: BaseClass="textbox" /> + + ADD OBJECT '_GRID1.cLuna.Header1' AS header WITH ; + Alignment = 2, ; + Caption = "Luna", ; + FontName = "Arial", ; + FontSize = 10, ; + Name = "Header1" + *< END OBJECT: BaseClass="header" /> + + ADD OBJECT '_GRID1.cLuna.Text1' AS textbox WITH ; + BackColor = 255,255,255, ; + BorderStyle = 0, ; + FontName = "Arial", ; + FontSize = 10, ; + ForeColor = 0,0,0, ; + Margin = 0, ; + Name = "Text1", ; + ReadOnly = .T., ; + SelectedBackColor = 100,185,255 + *< END OBJECT: BaseClass="textbox" /> + + ADD OBJECT '_GRID1.Column1.Header1' AS header WITH ; + Alignment = 2, ; + Caption = "Nr.Crt.", ; + FontName = "Arial", ; + FontSize = 10, ; + Name = "Header1" + *< END OBJECT: BaseClass="header" /> + + ADD OBJECT '_GRID1.Column1.Text1' AS textbox WITH ; + BackColor = 255,255,255, ; + BorderStyle = 0, ; + FontName = "Arial", ; + FontSize = 10, ; + ForeColor = 0,0,0, ; + Margin = 0, ; + Name = "Text1", ; + SelectedBackColor = 100,185,255 + *< END OBJECT: BaseClass="textbox" /> + + ADD OBJECT '_GRID1.Column13.Header1' AS header WITH ; + Alignment = 2, ; + Caption = "Suma", ; + FontName = "Arial", ; + FontSize = 10, ; + Name = "Header1" + *< END OBJECT: BaseClass="header" /> + + ADD OBJECT '_GRID1.Column13.Text1' AS textbox WITH ; + BackColor = 255,255,255, ; + BorderStyle = 0, ; + FontName = "Arial", ; + FontSize = 10, ; + ForeColor = 0,0,0, ; + Margin = 0, ; + Name = "Text1", ; + SelectedBackColor = 100,185,255 + *< END OBJECT: BaseClass="textbox" /> + + ADD OBJECT '_GRID1.Column14.Header1' AS header WITH ; + Alignment = 2, ; + Caption = "Lucrare/Comanda", ; + FontName = "Arial", ; + FontSize = 10, ; + Name = "Header1" + *< END OBJECT: BaseClass="header" /> + + ADD OBJECT '_GRID1.Column14.Text1' AS textbox WITH ; + BackColor = 255,255,255, ; + BorderStyle = 0, ; + FontName = "Arial", ; + FontSize = 10, ; + ForeColor = 0,0,0, ; + Margin = 0, ; + Name = "Text1", ; + SelectedBackColor = 100,185,255 + *< END OBJECT: BaseClass="textbox" /> + + ADD OBJECT '_GRID1.Column15.Header1' AS header WITH ; + Alignment = 2, ; + Caption = "Doc.platit", ; + FontName = "Arial", ; + FontSize = 10, ; + Name = "Header1" + *< END OBJECT: BaseClass="header" /> + + ADD OBJECT '_GRID1.Column15.Text1' AS textbox WITH ; + BackColor = 255,255,255, ; + BorderStyle = 0, ; + FontName = "Arial", ; + FontSize = 10, ; + ForeColor = 0,0,0, ; + Margin = 0, ; + Name = "Text1", ; + SelectedBackColor = 100,185,255 + *< END OBJECT: BaseClass="textbox" /> + + ADD OBJECT '_GRID1.Column16.Header1' AS header WITH ; + Alignment = 2, ; + Caption = "Doc.incasat", ; + FontName = "Arial", ; + FontSize = 10, ; + Name = "Header1" + *< END OBJECT: BaseClass="header" /> + + ADD OBJECT '_GRID1.Column16.Text1' AS textbox WITH ; + BackColor = 255,255,255, ; + BorderStyle = 0, ; + FontName = "Arial", ; + FontSize = 10, ; + ForeColor = 0,0,0, ; + Margin = 0, ; + Name = "Text1", ; + SelectedBackColor = 100,185,255 + *< END OBJECT: BaseClass="textbox" /> + + ADD OBJECT '_GRID1.Column17.Header1' AS header WITH ; + Alignment = 2, ; + Caption = "Data scadenta", ; + FontName = "Arial", ; + FontSize = 10, ; + Name = "Header1" + *< END OBJECT: BaseClass="header" /> + + ADD OBJECT '_GRID1.Column17.Text1' AS textbox WITH ; + BackColor = 255,255,255, ; + BorderStyle = 0, ; + FontName = "Arial", ; + FontSize = 10, ; + ForeColor = 0,0,0, ; + Margin = 0, ; + Name = "Text1", ; + SelectedBackColor = 100,185,255 + *< END OBJECT: BaseClass="textbox" /> + + ADD OBJECT '_GRID1.Column18.Header1' AS header WITH ; + Alignment = 2, ; + Caption = "NIR/Bon", ; + FontName = "Arial", ; + FontSize = 10, ; + Name = "Header1" + *< END OBJECT: BaseClass="header" /> + + ADD OBJECT '_GRID1.Column18.Text1' AS textbox WITH ; + BackColor = 255,255,255, ; + BorderStyle = 0, ; + FontName = "Arial", ; + FontSize = 10, ; + ForeColor = 0,0,0, ; + Margin = 0, ; + Name = "Text1", ; + SelectedBackColor = 100,185,255 + *< END OBJECT: BaseClass="textbox" /> + + ADD OBJECT '_GRID1.Column19.Header1' AS header WITH ; + Alignment = 2, ; + Caption = "Responsabil", ; + FontName = "Arial", ; + FontSize = 10, ; + Name = "Header1" + *< END OBJECT: BaseClass="header" /> + + ADD OBJECT '_GRID1.Column19.Text1' AS textbox WITH ; + BackColor = 255,255,255, ; + BorderStyle = 0, ; + FontName = "Arial", ; + FontSize = 10, ; + ForeColor = 0,0,0, ; + Margin = 0, ; + Name = "Text1", ; + SelectedBackColor = 100,185,255 + *< END OBJECT: BaseClass="textbox" /> + + ADD OBJECT '_GRID1.Column2.Header1' AS header WITH ; + Alignment = 2, ; + Caption = "Fel document", ; + FontName = "Arial", ; + FontSize = 10, ; + Name = "Header1" + *< END OBJECT: BaseClass="header" /> + + ADD OBJECT '_GRID1.Column2.Text1' AS textbox WITH ; + BackColor = 255,255,255, ; + BorderStyle = 0, ; + FontName = "Arial", ; + FontSize = 10, ; + ForeColor = 0,0,0, ; + Margin = 0, ; + Name = "Text1", ; + SelectedBackColor = 100,185,255 + *< END OBJECT: BaseClass="textbox" /> + + ADD OBJECT '_GRID1.Column20.Header1' AS header WITH ; + Alignment = 2, ; + Caption = "Chelt/Venituri", ; + FontName = "Arial", ; + FontSize = 10, ; + Name = "Header1" + *< END OBJECT: BaseClass="header" /> + + ADD OBJECT '_GRID1.Column20.Text1' AS textbox WITH ; + BackColor = 255,255,255, ; + BorderStyle = 0, ; + FontItalic = .F., ; + FontName = "Arial", ; + FontSize = 10, ; + ForeColor = 0,0,0, ; + Margin = 0, ; + Name = "Text1", ; + SelectedBackColor = 100,185,255 + *< END OBJECT: BaseClass="textbox" /> + + ADD OBJECT '_GRID1.Column21.Header1' AS header WITH ; + Alignment = 2, ; + Caption = "Suma in valuta", ; + FontName = "Arial", ; + FontSize = 10, ; + Name = "Header1" + *< END OBJECT: BaseClass="header" /> + + ADD OBJECT '_GRID1.Column21.Text1' AS textbox WITH ; + BackColor = 255,255,255, ; + BorderStyle = 0, ; + FontName = "Arial", ; + FontSize = 10, ; + ForeColor = 0,0,0, ; + Margin = 0, ; + Name = "Text1", ; + SelectedBackColor = 100,185,255 + *< END OBJECT: BaseClass="textbox" /> + + ADD OBJECT '_GRID1.Column22.Header1' AS header WITH ; + Alignment = 2, ; + Caption = "Valuta", ; + FontName = "Arial", ; + FontSize = 10, ; + Name = "Header1" + *< END OBJECT: BaseClass="header" /> + + ADD OBJECT '_GRID1.Column22.Text1' AS textbox WITH ; + BackColor = 255,255,255, ; + BorderStyle = 0, ; + FontName = "Arial", ; + FontSize = 10, ; + ForeColor = 0,0,0, ; + Margin = 0, ; + Name = "Text1", ; + SelectedBackColor = 100,185,255 + *< END OBJECT: BaseClass="textbox" /> + + ADD OBJECT '_GRID1.Column23.Header1' AS header WITH ; + Alignment = 2, ; + Caption = "Curs", ; + FontName = "Arial", ; + FontSize = 10, ; + Name = "Header1" + *< END OBJECT: BaseClass="header" /> + + ADD OBJECT '_GRID1.Column23.Text1' AS textbox WITH ; + BackColor = 255,255,255, ; + BorderStyle = 0, ; + FontName = "Arial", ; + FontSize = 10, ; + ForeColor = 0,0,0, ; + Margin = 0, ; + Name = "Text1", ; + SelectedBackColor = 100,185,255 + *< END OBJECT: BaseClass="textbox" /> + + ADD OBJECT '_GRID1.Column24.Header1' AS header WITH ; + Alignment = 2, ; + Caption = "Contract", ; + FontName = "Arial", ; + FontSize = 10, ; + Name = "Header1" + *< END OBJECT: BaseClass="header" /> + + ADD OBJECT '_GRID1.Column24.Text1' AS textbox WITH ; + BackColor = 255,255,255, ; + BorderStyle = 0, ; + FontName = "Arial", ; + FontSize = 10, ; + ForeColor = 0,0,0, ; + Margin = 0, ; + Name = "Text1", ; + SelectedBackColor = 100,185,255 + *< END OBJECT: BaseClass="textbox" /> + + ADD OBJECT '_GRID1.Column25.Header1' AS header WITH ; + Alignment = 2, ; + Caption = "Sectie", ; + FontName = "Arial", ; + FontSize = 10, ; + Name = "Header1" + *< END OBJECT: BaseClass="header" /> + + ADD OBJECT '_GRID1.Column25.Text1' AS textbox WITH ; + BackColor = 255,255,255, ; + BorderStyle = 0, ; + FontName = "Arial", ; + FontSize = 10, ; + ForeColor = 0,0,0, ; + Margin = 0, ; + Name = "Text1", ; + SelectedBackColor = 100,185,255 + *< END OBJECT: BaseClass="textbox" /> + + ADD OBJECT '_GRID1.Column26.Header1' AS header WITH ; + Alignment = 2, ; + Caption = "Cota TVA", ; + FontName = "Arial", ; + FontSize = 10, ; + Name = "Header1" + *< END OBJECT: BaseClass="header" /> + + ADD OBJECT '_GRID1.Column26.Text1' AS textbox WITH ; + BackColor = 255,255,255, ; + BorderStyle = 0, ; + FontName = "Arial", ; + FontSize = 10, ; + ForeColor = 0,0,0, ; + Margin = 0, ; + Name = "Text1", ; + SelectedBackColor = 100,185,255 + *< END OBJECT: BaseClass="textbox" /> + + ADD OBJECT '_GRID1.Column27.Header1' AS header WITH ; + Alignment = 2, ; + Caption = "Cod", ; + FontName = "Arial", ; + FontSize = 10, ; + Name = "Header1" + *< END OBJECT: BaseClass="header" /> + + ADD OBJECT '_GRID1.Column27.Text1' AS textbox WITH ; + BackColor = 255,255,255, ; + BorderStyle = 0, ; + FontName = "Arial", ; + FontSize = 10, ; + ForeColor = 0,0,0, ; + Margin = 0, ; + Name = "Text1", ; + SelectedBackColor = 100,185,255 + *< END OBJECT: BaseClass="textbox" /> + + ADD OBJECT '_GRID1.Column28.Header1' AS header WITH ; + Alignment = 2, ; + Caption = "Operator introducere", ; + FontName = "Arial", ; + FontSize = 10, ; + Name = "Header1" + *< END OBJECT: BaseClass="header" /> + + ADD OBJECT '_GRID1.Column28.Text1' AS textbox WITH ; + BackColor = 255,255,255, ; + BorderStyle = 0, ; + FontName = "Arial", ; + FontSize = 10, ; + ForeColor = 0,0,0, ; + Margin = 0, ; + Name = "Text1", ; + SelectedBackColor = 100,185,255 + *< END OBJECT: BaseClass="textbox" /> + + ADD OBJECT '_GRID1.Column29.Header1' AS header WITH ; + Alignment = 2, ; + Caption = "Dataora introducerii", ; + FontName = "Arial", ; + FontSize = 10, ; + Name = "Header1" + *< END OBJECT: BaseClass="header" /> + + ADD OBJECT '_GRID1.Column29.Text1' AS textbox WITH ; + BackColor = 255,255,255, ; + BorderStyle = 0, ; + FontName = "Arial", ; + FontSize = 10, ; + ForeColor = 0,0,0, ; + Margin = 0, ; + Name = "Text1", ; + SelectedBackColor = 100,185,255 + *< END OBJECT: BaseClass="textbox" /> + + ADD OBJECT '_GRID1.Column3.Header1' AS header WITH ; + Alignment = 2, ; + Caption = "Data inreg.", ; + FontName = "Arial", ; + FontSize = 10, ; + Name = "Header1" + *< END OBJECT: BaseClass="header" /> + + ADD OBJECT '_GRID1.Column3.Text1' AS textbox WITH ; + BackColor = 255,255,255, ; + BorderStyle = 0, ; + FontName = "Arial", ; + FontSize = 10, ; + ForeColor = 0,0,0, ; + Margin = 0, ; + Name = "Text1", ; + SelectedBackColor = 100,185,255 + *< END OBJECT: BaseClass="textbox" /> + + ADD OBJECT '_GRID1.Column30.Header1' AS header WITH ; + Alignment = 2, ; + Caption = "Operator stergere", ; + FontName = "Arial", ; + FontSize = 10, ; + Name = "Header1" + *< END OBJECT: BaseClass="header" /> + + ADD OBJECT '_GRID1.Column30.Text1' AS textbox WITH ; + BackColor = 255,255,255, ; + BorderStyle = 0, ; + FontName = "Arial", ; + FontSize = 10, ; + ForeColor = 0,0,0, ; + Margin = 0, ; + Name = "Text1", ; + SelectedBackColor = 100,185,255 + *< END OBJECT: BaseClass="textbox" /> + + ADD OBJECT '_GRID1.Column31.Header1' AS header WITH ; + Alignment = 2, ; + Caption = "Dataora stergerii", ; + FontName = "Arial", ; + FontSize = 10, ; + Name = "Header1" + *< END OBJECT: BaseClass="header" /> + + ADD OBJECT '_GRID1.Column31.Text1' AS textbox WITH ; + BackColor = 255,255,255, ; + BorderStyle = 0, ; + FontName = "Arial", ; + FontSize = 10, ; + ForeColor = 0,0,0, ; + Margin = 0, ; + Name = "Text1", ; + SelectedBackColor = 100,185,255 + *< END OBJECT: BaseClass="textbox" /> + + ADD OBJECT '_GRID1.Column32.Header1' AS header WITH ; + Alignment = 2, ; + Caption = "Tip operatie", ; + FontName = "Arial", ; + FontSize = 10, ; + Name = "Header1" + *< END OBJECT: BaseClass="header" /> + + ADD OBJECT '_GRID1.Column32.Text1' AS textbox WITH ; + BackColor = 255,255,255, ; + BorderStyle = 0, ; + FontName = "Arial", ; + FontSize = 10, ; + ForeColor = 0,0,0, ; + Margin = 0, ; + Name = "Text1", ; + SelectedBackColor = 100,185,255 + *< END OBJECT: BaseClass="textbox" /> + + ADD OBJECT '_GRID1.Column33.Header1' AS header WITH ; + Alignment = 2, ; + Caption = "Sucursala", ; + FontName = "Arial", ; + FontSize = 10, ; + Name = "Header1" + *< END OBJECT: BaseClass="header" /> + + ADD OBJECT '_GRID1.Column33.Text1' AS textbox WITH ; + BackColor = 255,255,255, ; + BorderStyle = 0, ; + FontName = "Arial", ; + FontSize = 10, ; + ForeColor = 0,0,0, ; + Margin = 0, ; + Name = "Text1", ; + SelectedBackColor = 100,185,255 + *< END OBJECT: BaseClass="textbox" /> + + ADD OBJECT '_GRID1.Column34.Header1' AS header WITH ; + Alignment = 2, ; + Caption = "Explicatia 4", ; + FontName = "Arial", ; + FontSize = 10, ; + Name = "Header1" + *< END OBJECT: BaseClass="header" /> + + ADD OBJECT '_GRID1.Column34.Text1' AS textbox WITH ; + BackColor = 255,255,255, ; + BorderStyle = 0, ; + FontName = "Arial", ; + FontSize = 10, ; + ForeColor = 0,0,0, ; + Margin = 0, ; + Name = "Text1", ; + SelectedBackColor = 100,185,255 + *< END OBJECT: BaseClass="textbox" /> + + ADD OBJECT '_GRID1.Column35.Header1' AS header WITH ; + Alignment = 2, ; + Caption = "Explicatia 5", ; + FontName = "Arial", ; + FontSize = 10, ; + Name = "Header1" + *< END OBJECT: BaseClass="header" /> + + ADD OBJECT '_GRID1.Column35.Text1' AS textbox WITH ; + BackColor = 255,255,255, ; + BorderStyle = 0, ; + FontName = "Arial", ; + FontSize = 10, ; + ForeColor = 0,0,0, ; + Margin = 0, ; + Name = "Text1", ; + SelectedBackColor = 100,185,255 + *< END OBJECT: BaseClass="textbox" /> + + ADD OBJECT '_GRID1.Column36.Header1' AS header WITH ; + Alignment = 2, ; + Caption = "Gestiune destinatie", ; + FontName = "Arial", ; + FontSize = 10, ; + Name = "Header1" + *< END OBJECT: BaseClass="header" /> + + ADD OBJECT '_GRID1.Column36.Text1' AS textbox WITH ; + BackColor = 255,255,255, ; + BorderStyle = 0, ; + FontName = "Arial", ; + FontSize = 10, ; + ForeColor = 0,0,0, ; + Margin = 0, ; + Name = "Text1", ; + SelectedBackColor = 100,185,255 + *< END OBJECT: BaseClass="textbox" /> + + ADD OBJECT '_GRID1.Column37.Header1' AS header WITH ; + Alignment = 2, ; + Caption = "Gestiune sursa", ; + FontName = "Arial", ; + FontSize = 10, ; + Name = "Header1" + *< END OBJECT: BaseClass="header" /> + + ADD OBJECT '_GRID1.Column37.Text1' AS textbox WITH ; + BackColor = 255,255,255, ; + BorderStyle = 0, ; + FontName = "Arial", ; + FontSize = 10, ; + ForeColor = 0,0,0, ; + Margin = 0, ; + Name = "Text1", ; + SelectedBackColor = 100,185,255 + *< END OBJECT: BaseClass="textbox" /> + + ADD OBJECT '_GRID1.Column38.Header1' AS header WITH ; + Alignment = 2, ; + Caption = "Explicatie TVA", ; + FontName = "Arial", ; + FontSize = 10, ; + Name = "Header1" + *< END OBJECT: BaseClass="header" /> + + ADD OBJECT '_GRID1.Column38.Text1' AS textbox WITH ; + BackColor = 255,255,255, ; + BorderStyle = 0, ; + FontName = "Arial", ; + FontSize = 10, ; + ForeColor = 0,0,0, ; + Margin = 0, ; + Name = "Text1", ; + SelectedBackColor = 100,185,255 + *< END OBJECT: BaseClass="textbox" /> + + ADD OBJECT '_GRID1.Column4.Header1' AS header WITH ; + Alignment = 2, ; + Caption = "Data Act", ; + FontName = "Arial", ; + FontSize = 10, ; + Name = "Header1" + *< END OBJECT: BaseClass="header" /> + + ADD OBJECT '_GRID1.Column4.Text1' AS textbox WITH ; + BackColor = 255,255,255, ; + BorderStyle = 0, ; + FontName = "Arial", ; + FontSize = 10, ; + ForeColor = 0,0,0, ; + Margin = 0, ; + Name = "Text1", ; + SelectedBackColor = 100,185,255 + *< END OBJECT: BaseClass="textbox" /> + + ADD OBJECT '_GRID1.Column5.Header1' AS header WITH ; + Alignment = 2, ; + Caption = "Nr.Doc.", ; + FontName = "Arial", ; + FontSize = 10, ; + Name = "Header1" + *< END OBJECT: BaseClass="header" /> + + ADD OBJECT '_GRID1.Column5.Text1' AS textbox WITH ; + BackColor = 255,255,255, ; + BorderStyle = 0, ; + FontName = "Arial", ; + FontSize = 10, ; + ForeColor = 0,0,0, ; + Margin = 0, ; + Name = "Text1", ; + SelectedBackColor = 100,185,255 + *< END OBJECT: BaseClass="textbox" /> + + ADD OBJECT '_GRID1.Column6.Header1' AS header WITH ; + Alignment = 2, ; + Caption = "Explicatie D", ; + FontName = "Arial", ; + FontSize = 10, ; + Name = "Header1" + *< END OBJECT: BaseClass="header" /> + + ADD OBJECT '_GRID1.Column6.Text1' AS textbox WITH ; + BackColor = 255,255,255, ; + BorderStyle = 0, ; + FontName = "Arial", ; + FontSize = 10, ; + ForeColor = 0,0,0, ; + Margin = 0, ; + Name = "Text1", ; + SelectedBackColor = 100,185,255 + *< END OBJECT: BaseClass="textbox" /> + + ADD OBJECT '_GRID1.Column7.Header1' AS header WITH ; + Alignment = 2, ; + Caption = "Explicatie C", ; + FontName = "Arial", ; + FontSize = 10, ; + Name = "Header1" + *< END OBJECT: BaseClass="header" /> + + ADD OBJECT '_GRID1.Column7.Text1' AS textbox WITH ; + BackColor = 255,255,255, ; + BorderStyle = 0, ; + FontName = "Arial", ; + FontSize = 10, ; + ForeColor = 0,0,0, ; + Margin = 0, ; + Name = "Text1", ; + SelectedBackColor = 100,185,255 + *< END OBJECT: BaseClass="textbox" /> + + ADD OBJECT '_GRID1.Column8.Header1' AS header WITH ; + Alignment = 2, ; + Caption = "Explicatie", ; + FontName = "Arial", ; + FontSize = 10, ; + Name = "Header1" + *< END OBJECT: BaseClass="header" /> + + ADD OBJECT '_GRID1.Column8.Text1' AS textbox WITH ; + BackColor = 255,255,255, ; + BorderStyle = 0, ; + FontName = "Arial", ; + FontSize = 10, ; + ForeColor = 0,0,0, ; + Margin = 0, ; + Name = "Text1", ; + SelectedBackColor = 100,185,255 + *< END OBJECT: BaseClass="textbox" /> + + ADD OBJECT '_GRID1.cPaymentCode.Header1' AS header WITH ; + Alignment = 2, ; + Caption = "Cod plata SAFT", ; + Name = "Header1" + *< END OBJECT: BaseClass="header" /> + + ADD OBJECT '_GRID1.cPaymentCode.Text1' AS textbox WITH ; + BackColor = 255,255,255, ; + BorderStyle = 0, ; + ForeColor = 0,0,0, ; + Margin = 0, ; + Name = "Text1", ; + ReadOnly = .T., ; + SelectedBackColor = 100,185,255 + *< END OBJECT: BaseClass="textbox" /> + + ADD OBJECT '_GRID1.cRegistru.Header1' AS header WITH ; + Alignment = 2, ; + Caption = "Registru", ; + Name = "Header1" + *< END OBJECT: BaseClass="header" /> + + ADD OBJECT '_GRID1.cRegistru.Text1' AS textbox WITH ; + BackColor = 255,255,255, ; + BorderStyle = 0, ; + ForeColor = 0,0,0, ; + Margin = 0, ; + Name = "Text1", ; + ReadOnly = .T., ; + SelectedBackColor = 100,185,255 + *< END OBJECT: BaseClass="textbox" /> + + ADD OBJECT '_GRID1.cSaftProcent.Header1' AS header WITH ; + Alignment = 2, ; + Caption = "Proc. taxa SAFT", ; + Name = "Header1" + *< END OBJECT: BaseClass="header" /> + + ADD OBJECT '_GRID1.cSaftProcent.Text1' AS textbox WITH ; + BackColor = 255,255,255, ; + BorderStyle = 0, ; + ForeColor = 0,0,0, ; + Margin = 0, ; + Name = "Text1", ; + ReadOnly = .T., ; + SelectedBackColor = 100,185,255 + *< END OBJECT: BaseClass="textbox" /> + + ADD OBJECT '_GRID1.cScc.Header1' AS header WITH ; + Alignment = 2, ; + Caption = "C Cred", ; + FontName = "Arial", ; + FontSize = 10, ; + Name = "Header1" + *< END OBJECT: BaseClass="header" /> + + ADD OBJECT '_GRID1.cScc.Text1' AS textbox WITH ; + BackColor = 255,255,255, ; + BorderStyle = 0, ; + FontBold = .T., ; + FontName = "Arial", ; + FontSize = 10, ; + ForeColor = 0,0,0, ; + Margin = 0, ; + Name = "Text1", ; + SelectedBackColor = 100,185,255 + *< END OBJECT: BaseClass="textbox" /> + + ADD OBJECT '_GRID1.cScd.Header1' AS header WITH ; + Alignment = 2, ; + Caption = "C Deb", ; + FontName = "Arial", ; + FontSize = 10, ; + Name = "Header1" + *< END OBJECT: BaseClass="header" /> + + ADD OBJECT '_GRID1.cScd.Text1' AS textbox WITH ; + BackColor = 255,255,255, ; + BorderStyle = 0, ; + FontBold = .T., ; + FontName = "Arial", ; + FontSize = 10, ; + ForeColor = 0,0,0, ; + Margin = 0, ; + Name = "Text1", ; + SelectedBackColor = 100,185,255 + *< END OBJECT: BaseClass="textbox" /> + + ADD OBJECT '_GRID1.cSerie_act.Header1' AS header WITH ; + Alignment = 2, ; + Caption = "Serie Doc.", ; + FontName = "Arial", ; + FontSize = 10, ; + Name = "Header1" + *< END OBJECT: BaseClass="header" /> + + ADD OBJECT '_GRID1.cSerie_act.Text1' AS textbox WITH ; + BackColor = 255,255,255, ; + BorderStyle = 0, ; + FontName = "Arial", ; + FontSize = 10, ; + ForeColor = 0,0,0, ; + Margin = 0, ; + Name = "Text1", ; + SelectedBackColor = 100,185,255 + *< END OBJECT: BaseClass="textbox" /> + + ADD OBJECT '_GRID1.cTaxCode.Header1' AS header WITH ; + Alignment = 2, ; + Caption = "Cod taxa SAFT", ; + FontSize = 10, ; + Name = "Header1" + *< END OBJECT: BaseClass="header" /> + + ADD OBJECT '_GRID1.cTaxCode.Text1' AS textbox WITH ; + BackColor = 255,255,255, ; + BorderStyle = 0, ; + FontSize = 10, ; + ForeColor = 0,0,0, ; + Margin = 0, ; + Name = "Text1", ; + ReadOnly = .T., ; + SelectedBackColor = 100,185,255 + *< END OBJECT: BaseClass="textbox" /> + + ADD OBJECT '_GRID1.cUtilV.Header1' AS header WITH ; + Alignment = 2, ; + Caption = "Operator validare", ; + FontName = "Arial", ; + FontSize = 10, ; + Name = "Header1" + *< END OBJECT: BaseClass="header" /> + + ADD OBJECT '_GRID1.cUtilV.Text1' AS textbox WITH ; + BackColor = 255,255,255, ; + BorderStyle = 0, ; + FontName = "Arial", ; + FontSize = 10, ; + ForeColor = 0,0,0, ; + Margin = 0, ; + Name = "Text1", ; + SelectedBackColor = 100,185,255 + *< END OBJECT: BaseClass="textbox" /> + + ADD OBJECT '_GRID1.cValidat.Header1' AS header WITH ; + Alignment = 2, ; + Caption = "Validat", ; + FontName = "Arial", ; + FontSize = 10, ; + Name = "Header1" + *< END OBJECT: BaseClass="header" /> + + ADD OBJECT '_GRID1.cValidat.Text1' AS textbox WITH ; + BackColor = 255,255,255, ; + BorderStyle = 0, ; + FontName = "Arial", ; + FontSize = 10, ; + ForeColor = 0,0,0, ; + Margin = 0, ; + Name = "Text1", ; + SelectedBackColor = 100,185,255 + *< END OBJECT: BaseClass="textbox" /> + + ADD OBJECT 'But_excel1' AS but_excel WITH ; + Anchor = 9, ; + Comment = "*:OnResize=RT", ; + Height = 27, ; + Left = 678, ; + Name = "But_excel1", ; + TabIndex = 42, ; + Top = 1, ; + Visible = .F., ; + Width = 30 + *< END OBJECT: ClassLib="cmd_butoane.vcx" BaseClass="commandbutton" /> + + ADD OBJECT 'But_help1' AS but_help WITH ; + Anchor = 9, ; + Comment = "*:OnResize=RT", ; + Height = 27, ; + Left = 559, ; + Name = "But_help1", ; + TabIndex = 40, ; + Top = 1, ; + Visible = .F., ; + Width = 30 + *< END OBJECT: ClassLib="cmd_butoane.vcx" BaseClass="commandbutton" /> + + ADD OBJECT 'But_listare1' AS but_listare WITH ; + Anchor = 9, ; + Comment = "*:OnResize=RT", ; + Height = 27, ; + Left = 648, ; + Name = "But_listare1", ; + TabIndex = 41, ; + Top = 1, ; + Visible = .F., ; + Width = 30 + *< END OBJECT: ClassLib="cmd_butoane.vcx" BaseClass="commandbutton" /> + + ADD OBJECT 'But_modifica1' AS but_modifica WITH ; + Anchor = 9, ; + Comment = "*:OnResize=RT", ; + Height = 27, ; + Left = 737, ; + Name = "But_modifica1", ; + TabIndex = 44, ; + Top = 1, ; + Visible = .F., ; + Width = 30 + *< END OBJECT: ClassLib="cmd_butoane.vcx" BaseClass="commandbutton" /> + + ADD OBJECT 'But_reset_criterii1' AS but_reset_criterii WITH ; + Anchor = 9, ; + Left = 500, ; + Name = "But_reset_criterii1", ; + Top = 1, ; + Visible = .T. + *< END OBJECT: ClassLib="ocriterii.vcx" BaseClass="commandbutton" /> + + ADD OBJECT 'But_start_criterii1' AS but_start_criterii WITH ; + Anchor = 9, ; + Comment = "*:OnResize=RT", ; + Left = 529, ; + Name = "But_start_criterii1", ; + Top = 1 + *< END OBJECT: ClassLib="ocriterii.vcx" BaseClass="commandbutton" /> + + ADD OBJECT 'But_sterge1' AS but_sterge WITH ; + Anchor = 9, ; + Comment = "*:OnResize=RT", ; + Height = 27, ; + Left = 707, ; + Name = "But_sterge1", ; + TabIndex = 43, ; + Top = 1, ; + Visible = .F., ; + Width = 30 + *< END OBJECT: ClassLib="cmd_butoane.vcx" BaseClass="commandbutton" /> + + ADD OBJECT 'but_validare' AS but_verifica WITH ; + Anchor = 9, ; + caction = do_validare, ; + Comment = "*:OnResize=RT", ; + Height = 27, ; + Left = 588, ; + Name = "but_validare", ; + TabIndex = 39, ; + ToolTipText = "Validare inregistrari", ; + Top = 1, ; + Visible = .T., ; + Width = 30 + *< END OBJECT: ClassLib="cmd_butoane.vcx" BaseClass="commandbutton" /> + + ADD OBJECT 'But_verifica1' AS but_verifica WITH ; + Anchor = 9, ; + cpicturedown = exclamare_jos.bmp, ; + cpictureup = exclamare_sus.bmp, ; + Left = 618, ; + Name = "But_verifica1", ; + Picture = ..\grafice\exclamare_sus.bmp, ; + ToolTipText = "Verificare note contabile cu rulajele dupa cod", ; + Top = 1 + *< END OBJECT: ClassLib="cmd_butoane.vcx" BaseClass="commandbutton" /> + + ADD OBJECT 'Ck_total' AS ck_filtru_text WITH ; + Alignment = 0, ; + AutoSize = .T., ; + Caption = "TOTAL", ; + Comment = "*:OnResize=LT", ; + FontBold = .T., ; + FontName = "Times New Roman", ; + Left = 338, ; + Name = "Ck_total", ; + TabIndex = 48, ; + Top = 440, ; + Visible = .F. + *< END OBJECT: ClassLib="caut_ora.vcx" BaseClass="checkbox" /> + + ADD OBJECT 'Clb_tx_simplu1' AS clb_tx_simplu WITH ; + Anchor = 12, ; + Comment = "*:OnResize=RB", ; + Left = 492, ; + Name = "Clb_tx_simplu1", ; + TabIndex = 47, ; + TabStop = .F., ; + Top = 432, ; + Text_simplu1.ControlSource = "thisform.nsuma", ; + Text_simplu1.FontCharSet = 238, ; + Text_simplu1.FontSize = 10, ; + Text_simplu1.InputMask = (get_mask(12,gnPA)), ; + Text_simplu1.Name = "Text_simplu1", ; + Text_simplu1.ReadOnly = .T., ; + Lb_simplu1.Caption = "TOTAL", ; + Lb_simplu1.FontBold = .T., ; + Lb_simplu1.FontSize = 10, ; + Lb_simplu1.Name = "Lb_simplu1" + *< END OBJECT: ClassLib="lb_tx.vcx" BaseClass="container" /> + + ADD OBJECT 'Gridextra1' AS gridextra WITH ; + gridexpression = Thisform._GRID1, ; + Left = 780, ; + Name = "Gridextra1", ; + Top = 420 + *< END OBJECT: ClassLib="..\..\..\roafacturare\comun\utile\gridextras\gridextras.vcx" BaseClass="custom" /> + + ADD OBJECT 'Lb_shortcuts1' AS lb_shortcuts WITH ; + Caption = "ESC = Renuntare; CTRL+Q = Cautare; CTRL+T = Resetare", ; + Left = 6, ; + Name = "Lb_shortcuts1", ; + Top = 16 + *< END OBJECT: ClassLib="lb.vcx" BaseClass="label" /> + + PROCEDURE Activate + *!* lnLeft=1000 + *!* FOR i=1 TO THISFORM.OBJECTS.COUNT + *!* IF UPPER(SUBSTR(THISFORM.OBJECTS(i).NAME,1,4))='BUT_' AND THISFORM.OBJECTS(i).VISIBLE=.T. + *!* IF thisform.Objects(i).left < lnleft AND UPPER(thisform.Objects(i).name)#"BUT_START_CRITERII1" AND UPPER(thisform.Objects(i).name)#"BUT_RESET_CRITERII1" + *!* lnleft = thisform.Objects(i).left + *!* ENDIF + *!* ENDIF + *!* ENDFOR + *!* thisform.but_start_criterii1.Left=lnLeft-30 + *!* thisform.but_reset_criterii1.Left=lnLeft-60 + + DODEFAULT() + ENDPROC + + PROCEDURE actualizeaza_grid1 + Lparameters tcFiltru + Local lcFiltru + lcFiltru=tcFiltru + + If Empty(lcFiltru) + lcFiltru=poactjur.ca_baza1.cfiltru + Endif + + Thisform.MousePointer= 11 + Thisform.LockScreen=.T. + save_grid_tag(Thisform._grid1) + poactjur.ca_baza1.cfiltru=lcFiltru + poactjur.ca_baza1.afisare() + If Thisform.ncurs <> 0 + Select ACTJUR + Repl All suma With Round(suma/Thisform.ncurs,gnPval) + Endif + restore_grid_tag(Thisform._grid1) + Thisform.LockScreen=.F. + Thisform.MousePointer= 0 + + ENDPROC + + PROCEDURE calculeaza_total + LOCAL lcSelect + lcSelect = SELECT() + SELECT actjur + IF this.clb_tx_simplu1.VISIBLE=.T. + SUM suma TO THISFORM.nsuma + this.clb_tx_simplu1.text_simplu1.Refresh() + ENDIF + GO TOP + SELECT (m.lcSelect) + ENDPROC + + PROCEDURE do_cauta + *!* 10.05.2017 + *!* marius.mutu + *!* caut " ANUL " in filtru in loc de "ANUL" sa stiu daca pun filtru suplimentar si dupa perioada + *!* nu se punea filtru suplimentar daca se facea o cautare dupa EXPLICATIA INCEPE CU 'ANULAT', pentru ca continea "ANUL" + + LOCAL lcFiltru, lcValoare1, lcValoare2, loCollection, i, lcTitlu + lcFiltru = "" + IF !THISFORM.lactiv6 + lcFiltru = lcFiltru + [ AND ID_UTIL=]+ALLTRIM(STR(gnidutil))+[ ] + ENDIF + + && DACA FILTRUL NU CONTINE PERIOADA, SELECTEZ DOAR INREGISTRARILE DIN LUNA CURENTA + IF !(' PERIOADA '$upper(THISFORM.filtru_pretty_ro_full) OR 'ANUL '$upper(THISFORM.filtru_pretty_ro_full)) + lcFiltru = [ AND LUNA=]+ALLTRIM(STR(gnluna))+[ AND AN=]+ALLTRIM(STR(gnan)) + lcFiltru + ENDIF + + + && DACA FILTRUL NU CONTINE INREGISTRARILE STERSE, SELECTEZ DOAR INREGISTRARILE STERS = 0 + *!* 24.03.2008 + *!* If At([6;],gcAcces)>0 + If !'STERS'$upper(Thisform.filtru_pretty_ro_full) + lcFiltru = [ AND STERS = 0] + lcFiltru + ENDIF + + *!* Endif + *!* 24.03.2008 ^ + + && DACA SUNT PE O SUCURSALA - SELECTEZ DOAR INREGISTRARILE DE PE SUCURSALA CURENTA + IF !ISNULL(gnIdSucursala) + lcFiltru = gcCondSucursala + lcFiltru + ENDIF + + && ACTUALIZEZ PERIOADA DIN TITLUL REGISTRULUI JURNAL + lcTitlu = THISFORM.lb_titlu_alb_b121.CAPTION + IF !'PERIOADA'$upper(THISFORM.filtru_pretty_ro_full) + lcTitlu = SUBSTR(lcTitlu, 1, AT("*", lcTitlu, 1)) + " " + PADL(ALLTRIM(STR(gnluna)),2,"0") + "/" + ALLTRIM(STR(gnan)) + ELSE + IF TYPE('this.ocriterii') = 'O' + loCollection = THIS.oCriterii.GetCriteriu("perioada") + i = 0 + lcValoare1 = "" + lcValoare2 = "" + FOR EACH criteriu IN loCollection + i = i + 1 + IF i = 1 + lcValoare1 = criteriu.valoare + ELSE + lcValoare2 = criteriu.valoare + ENDIF + IF i = 2 + EXIT + ENDIF + ENDFOR + IF EMPTY(STRTRAN(lcValoare1,'/','')) AND EMPTY(STRTRAN(lcValoare2,'/','')) + lcTitlu = SUBSTR(lcTitlu, 1, AT("*", lcTitlu, 1)) + " " + PADL(ALLTRIM(STR(gnluna)),2,"0") + "/" + ALLTRIM(STR(gnan)) + ELSE + IF EMPTY(STRTRAN(lcValoare2,'/','')) + lcValoare2 = lcValoare1 + ENDIF + ENDIF + + IF lcValoare1 = lcValoare2 + lcTitlu = SUBSTR(lcTitlu, 1, AT("*", lcTitlu,1)) + " " + lcValoare1 + ELSE + lcTitlu = SUBSTR(lcTitlu, 1, AT("*", lcTitlu,1)) + " " + lcValoare1 + " - " + lcValoare2 + ENDIF + ENDIF + ENDIF + If !Empty(Thisform.cValuta) + lcTitlu = lcTitlu + ; + " Evaluarea in valuta 1 "+ Thisform.cValuta + "=" +Alltrim(Str(Thisform.nCurs,10,gnPCurs))+" LEI" + Endif + THIS.lb_titlu_alb_b121.CAPTION = lcTitlu + + IF LEN(THISFORM.filtru_pretty)>0 + lcFiltru = lcFiltru+" and (" + ALLTRIM(THISFORM.filtru_pretty) + ")" + ENDIF + + IF !EMPTY(lcFiltru) + lcFiltru = SUBSTR(lcFiltru, 6) + ENDIF + + IF (THIS.filtru_pretty#"none") + THISFORM.actualizeaza_grid1(lcFiltru) + IF RECCOUNT('actjur')=0 + aMessagebox("Cautarea nu a intors rezultate!",0+48,"Info cautare") + ENDIF + ENDIF + + IF !THISFORM.eactan + DO nrord WITH "ACTJUR" + ENDIF + + + this.calculeaza_total() + + THISFORM.clb_tx_simplu1.text_simplu1.REFRESH + THISFORM._grid1.SETFOCUS + + + + ENDPROC + + PROCEDURE do_excel + If !Thisform.lactiv1 + Return + Endif + + Local lcAlias, lcFiltru, lcColumnList, lcHeaderList, lcSelect, lcOutput, lcFrom, lcWhere, lcOrder + + If !Used('actjur') Or Reccount('actjur') = 0 + Return + Endif + + lcAlias = 'actjur' + lcFiltru = Filter(lcAlias) + If Empty(lcFiltru) + lcFiltru = '.T.' + Endif + + + lcColumnList = '' + lcHeaderList = '' + lcSelect = '' + llSelect = .T. + lcType = 'CURSOR' + lcFrom = lcAlias + lcWhere = lcFiltru + lcOrder = 'dataireg,id_Act' + lcOutput = 'crsAct' + + get_schema_grid(This._GRID1, @lcColumnList, @lcHeaderList, @lcSelect, llSelect, lcType, lcFrom, lcWhere, lcOrder, lcOutput) + *!*MESSAGEBOX(lcSelect) + &lcSelect + + If Used(lcOutput) + Do export_xls With lcOutput IN oproceduri_comune.prg + Use In (lcOutput) + Endif + + Return + *!* + + *!* If Used('actjur') And Reccount('actjur')>0 + *!* Local i,xlsheet,XLApp,tmpsheet + *!* exista_excel=.T. + *!* p1='' + *!* p2='' + *!* With Thisform._grid1 + *!* For nCol=1 To .ColumnCount + *!* nColumn=.Columns(nCol).ColumnOrder + *!* p1=p1+.Columns(nCol).ControlSource+',' + *!* p2=p2+Strtran(.Columns(nCol).header1.Caption,Chr(32),'_')+',' + *!* Endfor + *!* p1=Substr(p1,1,Len(p1)-1) + *!* p2=Substr(p2,1,Len(p2)-1) + *!* Endwith + *!* On Error Do exportare With thisform._GRID1.RecordSource,p1,p2 + *!* tmpsheet = Getobject('','excel.sheet') + *!* On Error + + *!* If exista_excel + *!* Wait Window "Se transmit datele catre Excel..." Nowait + + *!* XLApp = tmpsheet.Application + + *!* XLApp.workbooks.Close() + *!* XLApp.workbooks.Add() + *!* poExcel = XLApp.ActiveSheet + + + *!* Go Top + *!* poExcel.Cells(1,1).Font.Size=16 + *!* poExcel.Cells(1,1).Font.Bold=.T. + *!* poExcel.Cells(1,1)=Thisform.lb_titlu_alb_b121.Caption + *!* nRows = 3 + *!* With Thisform._grid1 + *!* For nCol = 1 To .ColumnCount + *!* nColumn = .Columns(nCol).ColumnOrder + *!* poExcel.Columns(nColumn).ColumnWidth = .Columns(nCol).Width/7.5 + *!* poExcel.Cells(nRows,nColumn) = .Columns(nCol).header1.Caption + *!* poExcel.Cells(nRows,nColumn).Font.Bold = .T. + *!* poExcel.Cells(nRows,nColumn).Interior.ColorIndex = 16 + *!* Endfor + *!* Scan + *!* nRows = nRows + 1 + *!* For nCol = 1 To .ColumnCount + *!* nColumn = .Columns(nCol).ColumnOrder + *!* If At('CHECK',Upper(.Columns(nCol).CurrentControl))>0 + *!* poExcel.Cells(nRows,nColumn)=Iif(Eval(.Columns(nCol).ControlSource)==0,'NU','DA') + *!* Else + *!* poExcel.Cells(nRows,nColumn) = Eval(.Columns(nCol).ControlSource) + *!* Endif + *!* Endfor + *!* Endscan + *!* Endwith + + *!* XLApp.Visible = .T. + *!* Endif + *!* Endif + + *!* *!* If Used('actjur') And Reccount('actjur')>0 + *!* *!* Private pniesire,pccale + *!* *!* pccale="" + *!* *!* pniesire=0 + *!* *!* ofrmexcel=Createobject('frm_cale_f_excel') + *!* *!* ofrmexcel.Show(1) + *!* *!* If pniesire=1 + *!* *!* Thisform.MousePointer=11 + *!* *!* Thisform.LockScreen=.T. + *!* *!* poExcel = Createobject("Excel.Application") + *!* *!* poExcel.Visible=.F. + *!* *!* poExcel.WorkBooks.Add + *!* *!* Select actjur + *!* *!* Go Top + *!* *!* poExcel.Cells(1,1).Font.Size=16 + *!* *!* poExcel.Cells(1,1).Font.Bold=.T. + *!* *!* poExcel.Cells(1,1)=Thisform.lb_titlu_alb_b121.Caption + *!* *!* nRows = 2 + *!* *!* With Thisform._grid1 + *!* *!* For nCol = 1 To .ColumnCount + *!* *!* nColumn = .Columns(nCol).ColumnOrder + *!* *!* poExcel.Columns(nColumn).ColumnWidth = .Columns(nCol).Width/7.5 + *!* *!* poExcel.Cells(nRows,nColumn) = .Columns(nCol).header1.Caption + *!* *!* poExcel.Cells(nRows,nColumn).Font.Bold = .T. + *!* *!* poExcel.Cells(nRows,nColumn).Interior.ColorIndex = 16 + *!* *!* Endfor + *!* *!* Scan + *!* *!* nRows = nRows + 1 + *!* *!* For nCol = 1 To .ColumnCount + *!* *!* nColumn = .Columns(nCol).ColumnOrder + *!* *!* If At('CHECK',Upper(.Columns(nCol).CurrentControl))>0 + *!* *!* poExcel.Cells(nRows,nColumn)=Iif(Eval(.Columns(nCol).ControlSource)==0,'NU','DA') + *!* *!* Else + *!* *!* poExcel.Cells(nRows,nColumn) = Eval(.Columns(nCol).ControlSource) + *!* *!* Endif + *!* *!* Endfor + *!* *!* Endscan + *!* *!* Endwith + *!* *!* poExcel.ActiveWorkBook.SaveAs(pccale) + *!* *!* *!* poExcel.visible=.T. + *!* *!* *!* poExcel.ActiveWorkBook.Open(pccale) + *!* *!* poExcel.close() + *!* *!* poExcel.Quit + *!* *!* Release poExcel + *!* *!* Go Top + *!* *!* Thisform.LockScreen=.F. + *!* *!* Thisform.MousePointer= 0 + *!* *!* Endif + *!* *!* Endif + + ENDPROC + + PROCEDURE do_listare + Local lnIdMonedaNationala, lnValute, loCauta + *:Global frmRap + If !Thisform.lactiv2 + Return + Endif + + If Reccount('actjur') > 0 + Local llCereTitlu + Private pcperioada, pctitlu && ,pcdataora + Store '' To m.pcperioada, m.pctitlu && ,pcdataora + + pcperioada = [Luna: ] + Alltrim(Str(gnLuna)) + [ / ] + Alltrim(Str(gnAn)) + *!* lctitlu = [REGISTRUL JURNAL (EXTRAS)] + *!* pctitlu = ceretitlu_rap([Titlul raportului],lctitlu) + *!* pcdataora = get_ora(2) + pctitlu = [REGISTRUL JURNAL] + If !Empty(Thisform.cValuta) + pctitlu = m.pctitlu + " Evaluarea in valuta 1 " + Thisform.cValuta + "=" + Alltrim(Str(Thisform.nCurs, 10, gnPCurs)) + " LEI" + llCereTitlu = .F. + Else + llCereTitlu = .T. + Endif + *!* LOCAL lcText + *!* lctext = "" + *!* PRIVATE pcSubtitlu + *!* pcSubtitlu = THIS.filtru_pretty_ro + + *!* IF THIS.filtru_traducere()#"" + *!* lctext = THIS.filtru_traducere() + *!* ENDIF + *!* pcSubtitlu = THIS.filtru_pretty_ro + IIF(!(EMPTY(this.filtru_pretty_ro) or EMPTY(lcText)), " si ", "") + lctext + Private pcSubtitlu + pcSubtitlu = This.filtru_pretty_ro_full + + + + loCauta = GetMonedaNationala() + lnIdMonedaNationala = m.loCauta.id_valuta + + Select actjur + Calculate Cnt() For !Inlist(Nvl(id_valuta, 0), 0, m.lnIdMonedaNationala) To m.lnValute + + *!* ROACONT v 2.5.46 : am adaugat CAST la explicatii + Select 0 As tip, id_act, serie_act, nract, Nvl(dataact, {//}) As dataact, Nvl(dataireg, {//})As dataireg, ; + Nvl(EXPLICATIA, Space(100)) As EXPLICATIA, Nvl(scd, Space(4)) As scd, Nvl(ascd, Space(4)) As ascd, ; + Nvl(scc, Space(4)) As scc, Nvl(ascc, Space(4)) As ascc, suma, id_valuta, Nvl(nume_val, Space(4)) As nume_val, ; + suma_val, Curs, pereched, perechec, Nvl(NRORD, Space(30)) As NRORD, Nvl(PARTC, Space(50)) As PARTC, ; + Nvl(PARTD, Space(50)) As PARTD, Nvl(FDOC, Space(30)) As FDOC, ; + Nvl(EXPLICATIA4, Space(100)) As EXPLICATIA4, Nvl(EXPLICATIA5, Space(100)) As EXPLICATIA5, ; + Iif(glEMama, Nvl(sucursala, Space(100)), []) As sucursala, ; + CAST(IIF(glEMama,allt(nvl(sucursala,''))+'; ','') + ; + IIF(!EMPTY(NVL(partd,'')), ALLT(partd) + '; ', '') + ; + IIF(!EMPTY(NVL(partc,'')), ALLT(partc) + '; ', '') + ; + IIF(!EMPTY(NVL(explicatia,'')), ALLT(explicatia) +'; ', '') + ; + IIF(!EMPTY(NVL(nrord,'')), ALLT(Nrord)+'; ', '') + ; + IIF(!EMPTY(NVL(contract,'')), ALLT(contract)+'; ', '') + ; + iif(!empty(pereched),allt(str(pereched)) +';', '') + ; + iif(!empty(perechec),allt(str(perechec)) +';', '') + ; + iif(!empty(nvl(explicatia4,'')), alltrim(explicatia4)+';', '') + ; + iif(!empty(nvl(explicatia5,'')), alltrim(explicatia5)+';', '') + ; + IIF(!EMPTY(NVL(nume_val,'')) AND !EMPTY(NVL(curs,0)), allt(nume_val) + '; ', '') + ; + IIF(!EMPTY(NVL(curs,0)), allt(STR(curs,12,4)) + '; ', '') as M) as explicatii ; + From actjur ; + Order By dataireg, id_act ; + Into Cursor actjur_val Readwrite + + If m.lnValute > 0 + * Total pe valute + Select 1 As tip, nume_val, Sum(suma) As suma, Sum(suma_val) As suma_val From actjur_val Order By 2 Group By nume_val Into Cursor cTotalValuta + Select actjur_val + Append From Dbf('cTotalValuta') + Use In (Select('cTotalValuta')) + frmRap = 'rap_regjurnal_val.frx' + Else + frmRap = 'rap_regjurnal.frx' + Endif + + Thisform.AlwaysOnTop = .F. + *!* Report Format &frmRap To Printer Prompt Preview + goExport.export2frx([actjur_val], frmRap, m.llCereTitlu, , , , , .T.) + Thisform.AlwaysOnTop = .T. + + If Used('actjur_val') + Use In actjur_val + Endif + + Else + amessagebox("Nu exista inregistrari pentru listare!", 48, "Atentie") + Endif + + ENDPROC + + PROCEDURE do_modifica + *!* 24.05.2011 + *!* marius.mutu + *!* se pot modifica inregistrarile din sucursale + *!* in pack_contafin.scrie_in_act nu se mai suprascrie id_sucursala completata + + #Define CRLF Chr(13) + Chr(10) + + If !Thisform.lactiv3 + Return + Endif + + Local lnCod, llSters, lnSucces, llRul, llGestInvantar, llVanzari + Store .F. To llSters, llRul, llVanzari + lnSucces = 0 + + If glLunaInchisa + Return + Endif + + Local lleSters, lcConditieSters + + *!* lleSters = IIF(this.ck_sters.Value = 1, .T., .F.) + lleSters = Iif('STERS'$Upper(Thisform.filtru_pretty_ro_full), .T., .F.) + + If lleSters + lcConditieSters = [ ] + Else + lcConditieSters = [ STERS = 0 AND ] + Endif + + Select actjur + lnCod = cod + pnAn = an + pnLuna = luna + lnIdSet = id_set + lnSters = sters + *!* modificare ROAGEST v 2.1.36 + Private pdDataOra + pdDataOra = Null + lnIdFact = id_fact + lnIdfactd = id_factd + *!* modificare ROAGEST v 2.1.36 ^ + If (pnAn * 12) + pnLuna <> (gnAn * 12) + gnLuna + aMESSAGEBOX('Nu puteti modifica decat inregistrari din luna curenta!',0+48,'Atentie!') + Return + Endif + + *!* 24.05.2011 + If .F. + If glEMama And Nvl(actjur.id_sucursala,0) <> 0 + aMESSAGEBOX('Nu se pot modifica inregistrarile provenind din sucursale!',0+48,'Atentie!') + Return + Endif + Endif + *!* 24.05.2011 ^ + If Between(lnIdSet,30000,30009) + aMESSAGEBOX("Aceasta nota a fost introdusa din programul ROAPRODUCTIE si nu poate fi modificata!",0+48,"Atentie") + Return + Endif + + If lnSters = 1 + llSters=.T. + Endif + + If lnIdSet = 90101 && nota Inventariere si constatare Diferente + llGestInvantar = .T. + pdDataOra = actjur.dataora + Endif + + *!* modificare 19.06.2012 + *!* If Between(lnIdSet,25000,25099) OR Inlist(lnIdSet,79,83,206,61,62,63,102,103,64,65,73,222,223,224,225,226,227,236,238,239,240) ; + *!* or InList(lnIdSet,252,255,258,259,260,243,244,233,261,262,267) OR BETWEEN(lnIdSet,31000,31050) + *!* && 03.12.2010 : am adaugat 243,244,233,261,262 + *!* && 12.07.2011 : am adaugat 31000 > 31050 + *!* *!* modificare 06.03.2007 + *!* *!* If Iif(Type('gnModificareIdSetSpe')='U',0,gnModificareIdSetSpe)=0 + *!* *!* amessagebox("Nu puteti modifica aceasta nota!",0+48,"Atentie") + *!* *!* Return + *!* *!* Else + *!* llVanzari = .T. + *!* *!* Endif + *!* *!* modificare 06.03.2007 ^ + *!* Endif + *!* llVanzari = This.e_in_vanzari(lnCod) && modificare ROAGEST v 2.1.36 + *!* modificare 19.06.2012 ^ + + *!* IF BETWEEN(lnIdSet,40,500) + *!* llRul = .T. + *!* ENDIF + + If Used('actactan') + Use In actactan + Endif + *!* modificare 23.10.2012 + If Used('tact') + Use In tact + Endif + If Used('rul_temp') + Use In RUL_TEMP + Endif + If Used('trul') + Use In trul + Endif + If Used('rul_temp_obinv') + Use In RUL_TEMP_OBINV + Endif + If Used('trul_obinv') + Use In trul_obinv + Endif + *!* modificare 23.10.2012 ^ + lcSel = Thisform._GRID1.RecordSource + + + *!* lcSql = [select * from ] + gcs + [.vrul_tot where cod = ] + ALLTRIM(STR(lnCod)) + *!* lcCursor = [v_rul] + *!* lnSucces = goExecutor.oExecute(lcSql,lcCursor) + *!* goExecutor.oReset() + *!* IF lnSucces < 0 + *!* RETURN + *!* ENDIF + *!* SELECT * FROM v_rul INTO CURSOR rul_temp + *!* SELECT * FROM rul_temp INTO CURSOR trul READWRITE + *!* USE IN v_rul + + + *!* SELECT * FROM (lcSel) WHERE cod = lnCod INTO CURSOR actactan + *!* SELECT * FROM actactan INTO CURSOR tact READWRITE + + + lcSql = [select * from vact_tot where ] + lcConditieSters + [ an = ] + Transform(gnAn) + [ and luna = ] + Transform(gnLuna) + [ and cod = ] + Alltrim(Str(lnCod)) + [ order by id_act] + lcCursor = [v_act] + + lnSucces = goExecutor.oExecute(lcSql,lcCursor) + goExecutor.oReset() + + If lnSucces < 0 + aMESSAGEBOX(goExecutor.cEroare,0+16,"Eroare") + Return + Endif + + Select * From v_act Into Cursor actactan + *!* 24.05.2011 + *!* modificare v 2.4.4 : am adaugat tipnota + Select .F. As ales, T.*, Cast(0 As N(2)) As tipnota From actactan T Into Cursor tact Readwrite + *!* 24.05.2011 ^ + Use In v_act + + If lnSucces > 0 && AND llRul + lcSql = [select * from vrul_tot where ] + lcConditieSters + [ an = ] + Transform(gnAn) + [ and luna = ] + Transform(gnLuna) + [ and cod = ] + Alltrim(Str(lnCod)) + [ order by id_rul] + lcCursor = [v_rul] + + lnSucces = goExecutor.oExecute(lcSql,lcCursor) + goExecutor.oReset() + If lnSucces < 0 + aMESSAGEBOX(goExecutor.cEroare,0+16,"Eroare") + Endif + If Reccount(lcCursor)>0 + llRul = .T. + Endif + If lnSucces > 0 + UPDATE v_rul SET valoare = round(IIF(cant<>0, cant, cante)*pret,m.gnPC) WHERE EMPTY(NVL(valoare,0)) + UPDATE v_rul SET valtva = ROUND(IIF(cant<>0, cant, cante)*pret * (IIF(!EMPTY(NVL(proc_tva,0)), proc_tva, 1)-1), m.gnPC) WHERE EMPTY(NVL(valtva,0)) + + UPDATE v_rul SET valoarev = round(IIF(cant<>0, cant, cante)*pretv,m.gnPC) WHERE EMPTY(NVL(valoarev,0)) + UPDATE v_rul SET valtvav = ROUND(IIF(cant<>0, cant, cante)*pretv * (IIF(!EMPTY(NVL(proc_tvav,0)), proc_tvav, 1)-1), m.gnPC) WHERE EMPTY(NVL(valtvav,0)) + + Select *, ; + valoare + valtva As valoarectva, ; + valoarev + valtvav As valoarevctva ; + From v_rul ; + Into Cursor RUL_TEMP READWRITE + + Select * From RUL_TEMP Into Cursor trul Readwrite + Use In v_rul + + lcSql = [select * from vrul_obinv_tot where ] + lcConditieSters + [ an = ] + Transform(gnAn) + [ and luna = ] + Transform(gnLuna) + [ and cod = ] + Alltrim(Str(lnCod)) + [ order by id_rul_obinv] + lcCursor = [v_rul_obinv] + + lnSucces = goExecutor.oExecute(lcSql,lcCursor) + goExecutor.oReset() + If lnSucces < 0 + aMESSAGEBOX(goExecutor.cEroare,0+16,"Eroare") + Endif + If Reccount(lcCursor)>0 + llRul = .T. + Endif + Endif + + If lnSucces > 0 + UPDATE v_rul_obinv SET valoare = round(IIF(cant<>0, cant, cante)*pret,m.gnPC) WHERE EMPTY(NVL(valoare,0)) + UPDATE v_rul_obinv SET valtva = ROUND(IIF(cant<>0, cant, cante)*pret * (IIF(!EMPTY(NVL(proc_tva,0)), proc_tva, 1)-1), m.gnPC) WHERE EMPTY(NVL(valtva,0)) + + UPDATE v_rul_obinv SET valoarev = round(IIF(cant<>0, cant, cante)*pretv,m.gnPC) WHERE EMPTY(NVL(valoarev,0)) + UPDATE v_rul_obinv SET valtvav = ROUND(IIF(cant<>0, cant, cante)*pretv * (IIF(!EMPTY(NVL(proc_tvav,0)), proc_tvav, 1)-1), m.gnPC) WHERE EMPTY(NVL(valtvav,0)) + + Select *, ; + valoare + valtva As valoarectva, ; + valoarev + valtvav As valoarevctva ; + From v_rul_obinv ; + Into Cursor RUL_TEMP_OBINV READWRITE + + Select * From RUL_TEMP_OBINV Into Cursor trul_obinv Readwrite + Use In v_rul_obinv + Endif + Endif + + If lnSucces > 0 + If gnAn >= Iif(Type('gnAnFormNou')='U',2007,gnAnFormNou) + *!* modificare ROACONT v 2.0.78 : Nvl(id_jtva_coloana,0)=0 + *Select a.*,Iif(Isnull(id_jtva_coloana),0,1) As cu_Tva From tact a Into Cursor tact Readwrite + Select a.*,Iif(Nvl(id_jtva_coloana,0)=0,0,1) As cu_Tva From tact a Into Cursor tact Readwrite + *!* modificare ROACONT v 2.0.78 ^ + * Omodif = Createobject([frm_modific2007],lnIdSet) + Omodif = Createobject([frm_modific2024],lnIdSet) + * DO FORM frm_modific2024 NAME omodif LINKED WITH m.lnIdSet NOSHOW + Else + Omodif = Createobject([frm_modific]) + Endif + Select tact + Omodif.Show() + + If buton=1 + + llRul = .T. && este posibil sa modific si rul, rul_obinv + + If Thisform.do_deschide_tranzactie() + Select actactan + If !llSters + lnSucces = oscrie_in_fisiere(2,.T.,llRul) + Else + lnSucces = 1 + Endif + *!* modificare 04.2014 - scriere act_rul ^ + If lnSucces >0 + If Used('actactan') + Use In actactan + Endif + Select tact + If gnAn >= Iif(Type('gnAnFormNou')='U',2007,gnAnFormNou) + Replace id_jtva_coloana With Null,proc_tva With 0 For cu_Tva = 0 + Endif + Select * From tact Into Cursor actactan Readwrite + Replace All id_util With gnIdUtil, sters With 0 + If llRul + If Used('rul_temp') + Use In RUL_TEMP + Endif + Select * From trul Into Cursor RUL_TEMP Readwrite + Replace All id_util With gnIdUtil, sters With 0 + If Used('rul_temp_obinv') + Use In RUL_TEMP_OBINV + Endif + Select * From trul_obinv Into Cursor RUL_TEMP_OBINV Readwrite + Replace All id_util With gnIdUtil, sters With 0 + + Endif + lnSucces = oscrie_in_fisiere(0,.T.,llRul) + Endif + + *!* modificare ROAGEST v 2.1.36 + If lnSucces > 0 + lcSql = [begin pack_contafin.finalizeaza_modificare_nota(?pnLuna,?pnAn,?pdDataOra,] + Alltrim(Str(lnIdSet)) + [,] + ; + ALLTRIM(Str(lnCod)) + [,] + Alltrim(Str(lnIdFact)) + [,] + Alltrim(Str(lnIdfactd)) + [,?gnIdUtil); end;] + lnSucces = Iif(goExecutor.oExecuta(lcSql),1,-1) + Endif + *!* IF lnSucces > 0 AND llGestInvantar && nota de inventariere : update dataOra_validat cu dataora modificarii notei contabile + *!* lcSql = [update ] + gcs + [.gest_inventar set dataora_validat = pack_contafin.GET_DATAORA() where dataora_validat = ?pdDataOra and an = ?pnAn and luna = ?pnLuna] + *!* lnSucces = goExecutor.oExecute(lcSql) + *!* goExecutor.oReset() + *!* IF lnSucces < 0 + *!* aMESSAGEBOX(goExecutor.cEroare,0+16,"Eroare") + *!* ENDIF + *!* ENDIF + *!* IF lnSucces > 0 AND llVanzari && nota din ROAFACTURARE + *!* lcSql = [begin ] + gcs + [.pack_facturare.actualizeaza_vanzari(] + ALLTRIM(STR(lnCod)) + [,pack_contafin.get_cod()); end;] + *!* lnSucces = goExecutor.oExecute(lcSql) + *!* goExecutor.oReset() + *!* IF lnSucces < 0 + *!* aMESSAGEBOX(goExecutor.cEroare,0+16,"Eroare") + *!* ENDIF + *!* ENDIF + *!* *!* modificare ROACONT v 2.0.73 + *!* IF lnSucces > 0 + *!* lcSql = [update ] + gcS + [.atasamente_vanzari set cod = pack_contafin.get_cod() where cod = ] + ALLTRIM(STR(lnCod)) + *!* lnSucces = goExecutor.oExecute(lcSql) + *!* goExecutor.oReset() + *!* IF lnSucces < 0 + *!* aMESSAGEBOX(goExecutor.cEroare,0+16,"Eroare") + *!* ENDIF + *!* ENDIF + *!* *!* modificare ROACONT v 2.0.73 ^ + *!* modificare ROAGEST v 2.1.36 ^ + + *!* modificare 04.2014 - scriere act_rul + *!* IF lnSucces < 0 + *!* lnSucces = goExecutor.oExecute("ROLLBACK") + *!* ELSE + *!* lnSucces = goExecutor.oExecute("COMMIT") + *!* ENDIF + *!* + *!* IF lnSucces < 0 + *!* aMESSAGEBOX(goExecutor.cEroare,0+16,'Eroare') + *!* ENDIF + *!* + *!* lnSucces = sqlsetprop(gnhandle,"Transactions",1) + *!* IF lnSucces < 0 + *!* aMESSAGEBOX('Programul a trecut pe tranzactie manuala. Iesiti din program si intrati din nou!',0+48,'Atentie!') + *!* QUIT + *!* RETRY + *!* ENDIF + *!* THIS.do_cauta + *!* ENDIF + If Thisform.do_inchide_tranzactie(Iif(lnSucces<0,2,1)) + Thisform.do_cauta + Endif + Endif + Endif + *!* modificare 04.2014 - scriere act_rul ^ + Endif + + If Used('actactan') + Use In actactan + Endif + If Used('tact') + Use In tact + Endif + If Used('rul_temp') + Use In RUL_TEMP + Endif + If Used('rul_temp_obinv') + Use In RUL_TEMP_OBINV + Endif + If Used('trul') + Use In trul + Endif + If Used('trul_obinv') + Use In trul_obinv + Endif + + + ENDPROC + + PROCEDURE do_sterge + If !Thisform.lactiv4 + Return + Endif + + Local lnCod, llSters, lnSucces, llRul, llGestInvantar,lnIdFact,lnIdfactd, llVanzari, lnOptiune + Store .F. To llSters, llRul, llVanzari + lnSucces = 0 + lnOptiune = 0 + + If glLunaInchisa + Return + Endif + + Select actjur + lnCod = cod + pnAn = an + pnLuna = luna + lnIdSet = id_set + lnSters = sters + lnIdFact = id_fact + lnIdfactd = id_factd + *!* modificare ROAGEST v 2.1.36 + PRIVATE pdDataOra + pdDataOra = Null + *!* modificare ROAGEST v 2.1.36 ^ + If lnSters = 1 + Return + Endif + + If Between(lnIdSet,30000,30009) + amessagebox("Nu puteti sterge aceasta nota decat din programul ROAPRODUCTIE!",0+48,"Atentie") + Return + Endif + + Local lleSters, lcConditieSters + + lleSters = Iif('STERS'$UPPER(THISFORM.filtru_pretty_ro_full), .T., .F.) + lcConditieSters = [ STERS = 0 AND ] + + If (pnAn * 12) + pnLuna <> (gnAn * 12) + gnLuna + amessagebox('Nu puteti sterge decat inregistrari din luna curenta!',0+48,'Atentie!') + Return + Endif + + *** verificare restrictie stergere documente cu referinte (incasari/plati) + llReferinteDocumente = ReferinteDocumenteNota(pnAn, pnLuna, lnCod) && && odocumente.prg + + *!* 08.05.2008 + If lnIdSet = 90501 && reevaluare solduri in valuta la 31.12 + llReferinteDocumente = .F. + aMessageBox("Trebuie refacute situatiile de facturi pentru a se reveni la cursul de schimb original", 0+48, "Reevaluare solduri in valuta") + EndIf + *!* 08.05.2008 ^ + + If llReferinteDocumente + amessagebox("Documentul are referinte (incasari/plati). Nu poate fi sters.", 0+48,"Stergere") + Return + Endif + + lnOptiune = xmenu('Stergere document;\' + IIF(m.lnIdSet = 99996, '', '<') + 'Anulare document = stergere document si creare document anulat') + IF EMPTY(m.lnOptiune) + RETURN + ENDIF + + If lnIdSet = 90101 && nota Inventariere si constatare Diferente + llGestInvantar = .T. + pdDataOra = actjur.dataora + Endif + + + Use In (SELECT('actactan')) + Use In (SELECT('rul_temp')) + Use In (SELECT('rul_temp_obinv')) + + + *--------------------- + + lcSql = [select * from vact_tot where ] + lcConditieSters + [ an = ] + Transform(gnAn) + [ and luna = ] + Transform(gnLuna) + [ and cod = ] + Alltrim(Str(lnCod)) + [ order by id_act] + lcCursor = [v_act] + + lnSucces = goExecutor.oExecute(lcSql,lcCursor) + goExecutor.oReset() + If lnSucces < 0 + amessagebox(goExecutor.cEroare,0+16,"Eroare") + Endif + + If lnSucces > 0 + Select * From v_act Into Cursor actactan READWRITE + Use In v_act + Endif + + If lnSucces > 0 && AND llRul + lcSql = [select * from vrul_tot where ] + lcConditieSters + [ an = ] + Transform(gnAn) + [ and luna = ] + Transform(gnLuna) + [ and cod = ] + Alltrim(Str(lnCod)) + [ order by id_rul] + lcCursor = [v_rul] + + lnSucces = goExecutor.oExecute(lcSql,lcCursor) + goExecutor.oReset() + If lnSucces < 0 + amessagebox(goExecutor.cEroare,0+16,"Eroare") + Endif + If Reccount(lcCursor)>0 + llRul = .T. + Endif + If lnSucces > 0 + lcSql = [select * from vrul_obinv_tot where ] + lcConditieSters + [ an = ] + Transform(gnAn) + [ and luna = ] + Transform(gnLuna) + [ and cod = ] + Alltrim(Str(lnCod)) + [ order by id_rul_obinv] + lcCursor = [v_rul_obinv] + + lnSucces = goExecutor.oExecute(lcSql,lcCursor) + goExecutor.oReset() + If lnSucces < 0 + amessagebox(goExecutor.cEroare,0+16,"Eroare") + Endif + If Reccount(lcCursor)>0 + llRul = .T. + Endif + Endif + + If lnSucces > 0 + Select * From v_rul Into Cursor rul_temp + Use In v_rul + Select * From v_rul_obinv Into Cursor rul_temp_obinv + Use In v_rul_obinv + Endif + Endif + + + If lnSucces > 0 + overif=Createobject('verificare') + overif.Show(1) + Clear Class 'verificare' + + If buton = 1 + lnSucces = OSCRIE_IN_FISIERE(2,.F.,llRul) + IF lnSucces > 0 + lcSql = [begin pack_contafin.finalizeaza_stergere_nota(?pnLuna,?pnAn,?pdDataOra,] + ALLTRIM(STR(lnIdSet)) + [,] + ; + ALLTRIM(STR(lnCod)) + [,] + ALLTRIM(STR(lnIdFact)) + [,] + Alltrim(Str(lnIdfactd)) + [,?gnIdUtil); end;] + llSucces = goExecutor.oExecuta(lcSql) + + IF m.llSucces AND m.lnOptiune = 2 && anulare document + USE IN (SELECT('rul_temp')) + USE IN (SELECT('rul_temp_obinv')) + UPDATE actactan SET suma = 0, id_set = 99996, proc_tva = 0, id_jtva_coloana = null, suma_val = 0 + + lnSucces = OSCRIE_IN_FISIERE(0) + + ENDIF + ENDIF + + Endif + Endif + + + Use In (SELECT('actactan')) + Use In (SELECT('rul_temp')) + Use In (SELECT('rul_temp_obinv')) + + This.do_cauta + + ENDPROC + + PROCEDURE do_termin + THIS.BUT_STArt_criterii1.RESETstatus() + DODEFAULT() + + ENDPROC + + PROCEDURE do_validare + #DEFINE CRLF CHR(13) + CHR(10) + + LOCAL lnSucces, lnSucces2, lnRaspuns, lnIdAct, lcDocumentCurentValidat + lnSucces = 0 + lnSucces2 = 0 + + lcDocumentCurentValidat = IIF(actjur.VALIDAT = 1, '\', '') + lnIdAct = actjur.ID_ACT + + PRIVATE poRec + poRec = NULL + + IF !THIS.but_validare.VISIBLE + RETURN + ENDIF + + x = xmenu(lcDocumentCurentValidat + "Validare document \ 0 + + USE IN (SELECT('cCoduriTemp')) + ENDPROC + + PROCEDURE do_verifica + * 01.04.2021 + * se afiseaza si rulajele obiecte de inventar in folosinta + * se afiseaza inregistrarile si din alte luni decat luna curenta + + Local lleSters, lcConditieSters + Local loar As 'verif_act_rul' + Local lcSql, llSucces, lnAn, lnCod, lnLuna + + *!* lleSters = IIF(this.ck_sters.Value = 1, .T., .F.) + lleSters = Iif('STERS' $ Upper(Thisform.filtru_pretty_ro_full), .T., .F.) + + If lleSters + lcConditieSters = [ ] + Else + lcConditieSters = [ STERS = 0 AND ] + Endif + + Select actjur + lnCod = cod + lnAn = an + lnLuna = luna + + TEXT To lcSql Textmerge Noshow + select * from vact_tot where <> an = <> and luna = <> and cod = <> order by id_act + ENDTEXT + lcCursor = [v_act] + + llSucces = goExecutor.oExecuta(lcSql, lcCursor) + + If !m.llSucces + Return + Endif + + Select * From v_act Into Cursor actactan + Use In (Select('v_act')) + + + TEXT To lcSql Textmerge Noshow + select * from vrul_tot where <> an = <> and luna = <> and cod = <> order by id_rul + ENDTEXT + + llSucces = goExecutor.oExecuta(lcSql, [v_rul]) + If m.llSucces + + TEXT To lcSql Textmerge Noshow + select * from vrul_obinv_tot where <> an = <> and luna = <> and cod = <> order by id_rul_obinv + ENDTEXT + + llSucces = goExecutor.oExecuta(lcSql, [v_rul_obinv]) + If m.llSucces + Select v_rul + Append From Dbf('v_rul_obinv') + Use In (Select('v_rul_obinv')) + Endif + Endif + + If m.llSucces + Select *, ; + Round((cant + cante) * Pret, gnPc) As valoareftva, ; + Round((cant + cante) * tva, gnPc) As valoaretva, ; + Round((cant + cante) * (Pret + tva), gnPc) As valoarectva, ; + Round((cant + cante) * pretv, gnPc) As valoarevftva, ; + Round((cant + cante) * tvav, gnPc) As valoarevtva, ; + Round((cant + cante) * (pretv + tvav), gnPc) As valoarevctva, ; + Round((pretv - Pret) * (cant + cante), gnPc) As valoare_adaosftva, ; + Round((tvav - tva) * (cant + cante), gnPc) As valoare_adaostva ; + From v_rul ; + Into Cursor RUL_TEMP + + *!* SELECT * FROM RUL_TEMP INTO CURSOR trul READWRITE + Use In (Select('v_rul')) + Endif + + + + loar = Createobject('verif_act_rul') + loar.Show(1) + + Use In (Select('actactan')) + Use In (Select('RUL_TEMP')) + + ENDPROC + + PROCEDURE e_in_vanzari + *!* modificare ROAGEST v 2.1.36 + *!* Lparameters tnCod + *!* Local llEInVanzari,lcCursor,lnNr + *!* Store .F. To llEInVanzari + *!* lcSql = [select COUNT(*) as nr from vanzari where cod = ] + Alltrim(Str(tnCod)) + *!* lcCursor = [crstmpvanz] + *!* If goExecutor.oExecuta(lcSql,lcCursor) + *!* Select (lcCursor) + *!* lnNr = nr + *!* If lnNr > 0 + *!* llEInVanzari = .T. + *!* Endif + *!* Endif + *!* Use In Select(lcCursor) + *!* Return llEInVanzari + *!* modificare ROAGEST v 2.1.36 ^ + ENDPROC + + PROCEDURE Init + + Lparameters tnCurs,tcValuta + If !Empty(tnCurs) + Thisform.ncurs = tnCurs + Endif + + If !Empty(tcValuta) + Thisform.cvaluta = tcValuta + Endif + + DoDefault() + + With Thisform + *!* 16.11.2007 validare + && daca utilizatorul are drept de validare - fac vizibil butonul de validare + Private pnAreDreptValidare + pnAreDreptValidare = 0 + lnSucces = goExecutor.oFunction2Value([contafin_oracle.pack_drepturi.UtilHasValidare(?gnIdFirma,?gnIdUtil,'DREPTVALIDARE')], @pnAreDreptValidare) + If lnSucces < 0 + pnAreDreptValidare = 0 + AMESSAGEBOX(goExecutor.oPrelucrareEroare(),0+16,'Eroare') + Endif + If pnAreDreptValidare = 1 + This.but_validare.Visible = .T. + Else + This.but_validare.Visible = .F. + Endif + *!* 16.11.2007 validare ^ + + *!* If lnnivel=0 + *!* If .lactiv6 + *!* ._GRID1.column27.Visible=.T. && cod + *!* ._GRID1.column28.Visible=.T. && util + *!* ._GRID1.column29.Visible=.T. && dataora introducerii + *!* ._GRID1.column30.Visible=.T. && utils + *!* ._GRID1.column31.Visible=.T. && dataoras + *!* *.ck_util.VISIBLE=.T. + *!* *!* .ck_sters.VISIBLE=.T. + *!* *.ck_dataora.VISIBLE=.T. + *!* *!* modificare 22.11.2006 + *!* *!* .but_modifica1.VISIBLE=.T. + *!* Else + *!* ._GRID1.column27.Visible=.F. && cod + *!* ._GRID1.column28.Visible=.F. && util + *!* ._GRID1.column29.Visible=.F. && dataora introducerii + *!* ._GRID1.column30.Visible=.F. && utils + *!* ._GRID1.column31.Visible=.F. && dataoras + *!* *!* If lnnivel>2 + *!* *!* *!* .but_help1.left=.but_excel1.left + *!* *!* .but_listare1.Left=.but_sterge1.Left + *!* *!* .but_excel1.Left=.but_modifica1.Left + *!* *!* ._shape2.Left=630 + *!* *!* ._shape2.Width=166 + *!* *!* *!* thisform.but_sterge1.Visible=.F. + *!* *!* .RemoveObject("but_sterge1") + *!* *!* Else + *!* *!* .but_sterge1.Visible=.T. + *!* *!* *!* .but_help1.left=.but_listare1.left + *!* *!* .but_listare1.Left=.but_excel1.Left + *!* *!* .but_excel1.Left=.but_sterge1.Left + *!* *!* .but_sterge1.Left=.but_modifica1.Left + *!* *!* ._shape2.Left=595 + *!* *!* ._shape2.Width=201 + *!* *!* Endif + *!* *!* .RemoveObject("but_modifica1") + *!* *.ck_util.VISIBLE=.F. + *!* *!* .ck_sters.VISIBLE=.F. + *!* *.ck_dataora.VISIBLE=.F. + *!* *!* thisform.but_modifica1.Visible=.F. + *!* Endif + + *!* If lnnivel>1 Or m.contab='GEST' + *!* .lb_titlu_alb_b121.Caption="REGISTRU JURNAL - EXTRAS * "+PADL(ALLTRIM(STR(gnLuna)),2,'0')+"/"+ALLTRIM(STR(gnAn)) + *!* Else + .lb_titlu_alb_b121.Caption="REGISTRU JURNAL * "+Padl(Alltrim(Str(gnLuna)),2,'0')+"/"+Alltrim(Str(gnAn)) + *!* ENDIF + *!* WITH .ck_perioada + *!* .filtru=[ AND LUNA=]+ALLTRIM(STR(gnLuna))+[ AND AN=]+ALLTRIM(STR(gnAn)) + *!* .luna=PADL(ALLTRIM(STR(gnLuna)),2,'0')+"/"+ALLTRIM(STR(gnAn)) + *!* .cvaloare1=.luna + *!* .cvaloare2=.luna + *!* .VALUE = 1 + *!* ENDWITH + If !Empty(Thisform.cvaluta) + .lb_titlu_alb_b121.Caption = .lb_titlu_alb_b121.Caption + ; + " Evaluarea in valuta 1 "+ Thisform.cvaluta + "=" +Alltrim(Str(Thisform.ncurs,10,gnPCurs))+" LEI" + Endif + Endwith + + *Thisform.actualizeaza_grid1() + *** micsorare banda alba + lnLungimeBanda = Thisform.but_termIN1.Width + 10 + lnPozitieButon = Thisform.but_termIN1.Left + lnLungimeButon = Thisform.but_termIN1.Width + 1 && 30 + 1 (spatiu) + lnOffsetBanda = 6 && diferenta dintre _shape2.left si but_termin1.left + + If Thisform.lactiv3 And !glLunaInchisa + lnPozitieButon = lnPozitieButon - lnLungimeButon + lnLungimeBanda = lnLungimeBanda + lnLungimeButon + Thisform.but_modifica1.Left = lnPozitieButon + Endif + If Thisform.lactiv4 And !glLunaInchisa + lnPozitieButon = lnPozitieButon - lnLungimeButon + lnLungimeBanda = lnLungimeBanda + lnLungimeButon + Thisform.but_sterge1.Left = lnPozitieButon + Endif + If Thisform.lactiv1 + lnPozitieButon = lnPozitieButon - lnLungimeButon + lnLungimeBanda = lnLungimeBanda + lnLungimeButon + Thisform.but_excel1.Left = lnPozitieButon + Endif + If Thisform.lactiv2 + lnPozitieButon = lnPozitieButon - lnLungimeButon + lnLungimeBanda = lnLungimeBanda + lnLungimeButon + Thisform.but_listare1.Left = lnPozitieButon + Endif + If Thisform.lactiv6 + * THISFORM.ck_util.VISIBLE=.T. + *!* THISFORM.ck_sters.VISIBLE=.T. + Endif + *!* With Thisform._shape2 + *!* .Width = lnLungimeBanda + *!* .Left = lnPozitieButon - lnOffsetBanda + *!* Endwith + + If This.but_modifica1.Visible + This.but_modifica1.Visible=!glLunaInchisa + Endif + If This.but_sterge1.Visible + This.but_sterge1.Visible=!glLunaInchisa + Endif + + + lnLeft=Thisform.Width + For i=1 To Thisform.Objects.Count + If Upper(Substr(Thisform.Objects(i).Name,1,4))='BUT_' And Thisform.Objects(i).Visible And lnLeft>Thisform.Objects(i).Left + lnLeft=Thisform.Objects(i).Left + Endif + Endfor + Thisform._shape2.Left=lnLeft + *!* Locale + *!* goLocale.SetLocale( thisform ) + *!* Locale ^ + + ENDPROC + + PROCEDURE Show + Lparameters nStyle + *!* *THISFORM.COMMAND1.visible=.t. + *!* *THISFORM.COMMAND1.ENABLED=.t. + *!* if luna_inchisa + *!* *THISFORM.COMMAND1.visible=.f. + *!* *THISFORM.COMMAND1.ENABLED=.F. + *!* *THISFORM.COMMAND2.ENABLED=.F. + *!* endif + + *M.NIVEL=1 + If "REGISTRU JURNAL TOTAL"$UPPER(Thisform.lb_titlu_alb_b121.Caption) + *!* Thisform.ck_sters.Visible=.F. + Endif + + If Thisform.eactan=.T. + Thisform._grid1.column1.Visible=.F. + Thisform._grid1.column1.Width=0 + Thisform.ck_total.Visible=.T. + Endif + + If glLunaInchisa = .T. + Thisform.but_sterge1.Visible=.F. + Thisform.but_modifica1.Visible=.F. + ENDIF + + lnPozitieButon = THISFORM.but_termIN1.LEFT + lnLungimeButon = THISFORM.but_termIN1.WIDTH + 1 + + lnLeft=1000 + FOR i=1 TO THISFORM.OBJECTS.COUNT + IF UPPER(SUBSTR(THISFORM.OBJECTS(i).NAME,1,4))='BUT_' AND THISFORM.OBJECTS(i).VISIBLE=.T. + IF thisform.Objects(i).left < lnleft AND UPPER(thisform.Objects(i).name)#"BUT_START_CRITERII1" AND UPPER(thisform.Objects(i).name)#"BUT_RESET_CRITERII1" + lnleft = thisform.Objects(i).left + ENDIF + ENDIF + ENDFOR + thisform.but_start_criterii1.Left=lnLeft+60 + *thisform.but_reset_criterii1.Left=thisform.but_start_criterii1.left+thisform.but_reset_criterii1.width + + * SAFT + this._gRID1.cTaxcode.Visible = m.gl406 + this._gRID1.csaftProcent.Visible = m.gl406 + this._gRID1.cPaymentCode.Visible = m.gl406 + + this.gridextra1.setup() + ENDPROC + + PROCEDURE But_start_criterii1.loadcriterii + + PARAMETERS tacriterii + EXTERNAL ARRAY tacriterii + #DEFINE crlf CHR(13)+CHR(10) + *!* DEBUG + *!* SUSPEND + lcStringCriterii="Numar doc.\NRACT\N\none\" + crlf + ; + "Tip doc.\fdoc\T\id_fdoc\nom_feldoc"+ crlf + ; + "Serie doc.\serie_act\T\none\"+ crlf + ; + "Data doc.\dataact\D\none\" + crlf + ; + "Data inreg.\dataIREG\D\none\" + crlf + ; + "Explicatie D&C\partd,partc\T\|E|ID_PARTD=<> OR ID_PARTC=<>\nom_parteneri"+ crlf + ; + "Cod fiscal D&C\cod_fiscald,cod_fiscalc\T\none\"+ crlf + ; + "Explicatie D\partD\T\ID_PARTD\nom_parteneri"+ crlf + ; + "Explicatie C\partC\T\ID_PARTC\nom_parteneri"+ crlf + ; + "Explicatie\explicatia\T\none\"+ crlf + ; + "Explicatia 4\explicatia4\T\none\"+ crlf + ; + "Explicatia 5\explicatia5\T\none\"+ crlf + ; + "Explicatii\partD,partC,explicatia,explicatia4,explicatia5,fdoc,gestin,gestout,nrord,contract,nresp,dst_chlt,sectie,sucursala\T\none\"+ crlf + ; + "Gest. destinatie\gestin\T\ID_GESTIN\nom_gestiune"+ crlf + ; + "Gest. sursa\gestout\T\ID_GESTOUT\nom_gestiune" + crlf + ; + "Lucrare/Comanda\nrord\T\ID_LUCRARE\nom_lucrare" + crlf + ; + "Contract\contract\T\none\" + crlf + ; + "Cont deb.\scd\T\none\" + crlf + ; + "Cont deb. analit.\ascd\T\none\" + crlf + ; + "Cont cred.\scc\T\none\" + crlf + ; + "Cont cred. analit.\ascc\T\none\" + crlf + ; + "Cls. 1-7\nofiled\E\(to_number(SUBSTR(scd,1,1)) between 1 and 7 or to_number(SUBSTR(scc,1,1)) between 1 and 7)\" + crlf + ; + "Cls. 8\nofiled\E\(to_number(SUBSTR(scd,1,1)) = 8 or to_number(SUBSTR(scc,1,1)) = 8)\" + crlf + ; + "Cls. 9\nofiled\E\(to_number(SUBSTR(scd,1,1)) = 9 or to_number(SUBSTR(scc,1,1)) = 9)\" + crlf + ; + "Suma\suma\N|get_mask(12,gnPA)\none\" + crlf + ; + "Suma valuta\suma_val\N|get_mask(12,gnPval)\none\" + crlf + ; + "Nr doc. incasat\perecheC\N\none\" + crlf + ; + "Data doc. incasat\dataactC\D\none\" + crlf + ; + "Nr doc. platit\perecheD\N\none\" + crlf + ; + "Data doc. platit\dataactD\D\none\" + crlf + ; + "Doc/Incasat/Platit\nract,pereched,perechec\T\|E|NRACT=<> OR PERECHED=<> OR PERECHEC=<>\none"+ crlf + ; + "Nr. NIR/bon\nnir\N\none\" + crlf + ; + "Responsabil\nresp\T\ID_RESPONSABIL\nom_parteneri" + crlf + ; + "Cheltuieli/Venituri\dst_chlt\T\ ID_VENCHELT\nom_venchel" + crlf + ; + "Sectie\sectie\T\ID_SECTIE\nom_sectie" + crlf + ; + "Cod\cod\N\none\" + crlf + ; + "Tip operatie\id_set\N\none\" + crlf + ; + "Valuta\nume_val\T\ID_VALUTA\nom_valuta" + crlf + ; + "Cota TVA\proc_tva\N|get_mask(12,gnPA)\none\" + crlf + ; + "Explicatie TVA\explicatie_tva\T\none\" + crlf + ; + IIF(m.gl406, "Cod Taxa\taxname\T\none\" + crlf, "") + ; + IIF(m.gl406, "Cod Plata\paymentname\T\none\" + crlf, "") + ; + "Data introducerii\trunc(dataora)\D\none\" + crlf + ; + "Oper. introducere\util\T\ID_UTIL\nom_utilizator" + crlf + ; + "Validate\nofiled\E\(validat = 1)\" + crlf + ; + "Nevalidate\nofiled\E\(validat = 0)\" + crlf + ; + "Data validarii\trunc(dataorav)\D\none\" + crlf + ; + "Oper. validare\utilv\T\ID_UTILv\nom_utilizator" + crlf + ; + "Registru\registru\T\none\" + crlf + ; + IIF(glEMama, "Sucursala\sucursala\T\ID_SUCURSALA\nom_sucursala"+ crlf, "") + ; && aleg sucursale doar daca sunt pe mama + "Anul\an\N\none\" + crlf + ; + "Perioada\an*12+luna\D1\none\" + crlf + ; + "Sterse\nofiled\E\(1=1)\" + crlf + ; && modificare ROACONT v 2.0.78 + "Oper. stergere\utils\T\ID_UTILS\nom_utilizator" + crlf + ; + "Data stergerii\trunc(dataoras)\D\none\" && modificare ROACONT v 2.0.78 ^ + DODEFAULT() + + ENDPROC + + PROCEDURE Ck_total.InteractiveChange + * + ENDPROC + + PROCEDURE Gridextra1.applyfilter + DODEFAULT() + thisform.calculeaza_total() + ENDPROC + + PROCEDURE Gridextra1.clearfilter + DODEFAULT() + thisform.calculeaza_total() + ENDPROC + + PROCEDURE _GRID1.Init + *!* 06.04.2015 + *!* marius.mutu + *!* am adaugat o expresie complexa pereched + dataactd si dadea eroare lasetarea culorii + *!* nu am avuttimp sa depanez + + DODEFAULT() + + *!* IF m.nivel=0 + IF thisform.lactiv6 + + ENDIF + && inregistrarile sterse au dynamicforecolor rosu + Thisform._grid1.SetAll("DynamicForeColor", "IIF(sters=1, RGB(255,0,0), RGB(0,0,0))", "Column") + + && clasa 8 si 9 au dynamicforecolor verde pe conturi + Thisform._grid1.cScd.DynamicForeColor = "IIF(INLIST(LEFT(SCD,1), '8', '9') OR INLIST(LEFT(SCC,1), '8', '9'), RGB(0,128,0), RGB(0,0,0))" + Thisform._grid1.cAScd.DynamicForeColor = "IIF(INLIST(LEFT(SCD,1), '8', '9') OR INLIST(LEFT(SCC,1), '8', '9'), RGB(0,128,0), RGB(0,0,0))" + Thisform._grid1.cScc.DynamicForeColor = "IIF(INLIST(LEFT(SCD,1), '8', '9') OR INLIST(LEFT(SCC,1), '8', '9'), RGB(0,128,0), RGB(0,0,0))" + Thisform._grid1.cAScc.DynamicForeColor = "IIF(INLIST(LEFT(SCD,1), '8', '9') OR INLIST(LEFT(SCC,1), '8', '9'), RGB(0,128,0), RGB(0,0,0))" + + && inregistrarile nevalidate sunt gri + && campurile null au galben pai + lnnrcol=this.ColumnCount + FOR i = 1 TO lnnrcol + lcColor='this.Columns(' + ALLTRIM(STR(i)) + ').DynamicBackColor' + lcControlSource1 = 'this.Columns(' + ALLTRIM(STR(i)) + ').controlsource' + lcControlSource = &lcControlSource1 + *!* 16.11.2007 + && iif(validat = 0, 'NU', 'DA') dadea eroare la dynamicbackcolor + IF 'VALIDAT'$UPPER(lcControlSource) + lcControlSource = 'validat' + ENDIF + *!* 16.11.2007 ^ + + * am adaugat o expresie complexa pereched + dataactd si dadea eroare lasetarea culorii + IF 'pereched'$LOWER(lcControlSource) OR 'perechec'$LOWER(lcControlSource) + LOOP + ENDIF + lcSet = lcColor + [ = "IIF(validat = 0, RGB(240,241,255), IIF(ISNULL(] + lcControlSource + [),RGB(255,255,225),RGB(255,255,255)))"] + &lcSet + ENDFOR + + ENDPROC + +ENDDEFINE + +DEFINE CLASS frm_aleg_vizualizare AS _frmbase OF "_frm_base.vcx" + *< CLASSDATA: Baseclass="form" Timestamp="" Scale="Pixels" Uniqueid="" /> + + *-- OBJECTDATA items order determines ZOrder / El orden de los items OBJECTDATA determina el ZOrder + *< OBJECTDATA: ObjPath="But_renunt1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="ogTipViz" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="Lb_simplu1" UniqueID="" Timestamp="" /> + + * + DoCreate = .T. + Height = 120 + Name = "frm_aleg_vizualizare" + Width = 263 + _shape1.Name = "_shape1" + _shape1.Top = 0 + _shape2.Height = 29 + _shape2.Left = 203 + _shape2.Name = "_shape2" + _shape2.Top = 0 + _shape2.Width = 65 + Lb_titlu_alb_b121.Caption = "VIZUALIZARE RAPORT" + Lb_titlu_alb_b121.FontBold = .T. + Lb_titlu_alb_b121.Left = 5 + Lb_titlu_alb_b121.Name = "Lb_titlu_alb_b121" + Lb_titlu_alb_b121.TabIndex = 4 + Lb_titlu_alb_b121.Top = 6 + BUT_TERMIN1.Left = 234 + BUT_TERMIN1.Name = "BUT_TERMIN1" + BUT_TERMIN1.TabIndex = 2 + BUT_TERMIN1.Top = 1 + GRIDSORT1.Name = "GRIDSORT1" + * + + ADD OBJECT 'But_renunt1' AS but_renunt WITH ; + Left = 205, ; + Name = "But_renunt1", ; + TabIndex = 3, ; + Top = 1 + *< END OBJECT: ClassLib="cmd_butoane.vcx" BaseClass="commandbutton" /> + + ADD OBJECT 'Lb_simplu1' AS lb_simplu WITH ; + Caption = "Modalitate de vizualizare a raportului", ; + Left = 13, ; + Name = "Lb_simplu1", ; + TabIndex = 5, ; + Top = 39 + *< END OBJECT: ClassLib="lb.vcx" BaseClass="label" /> + + ADD OBJECT 'ogTipViz' AS _optiongrup WITH ; + AutoSize = .F., ; + ButtonCount = 2, ; + Height = 48, ; + Left = 58, ; + Name = "ogTipViz", ; + TabIndex = 1, ; + Top = 57, ; + Width = 146, ; + Option1.AutoSize = .T., ; + Option1.Caption = "\ + + PROCEDURE Destroy + pnOptiune=Thisform.ogTipViz.Value + ENDPROC + +ENDDEFINE + +DEFINE CLASS frm_cale_f_excel AS _frmbase OF "_frm_base.vcx" + *< CLASSDATA: Baseclass="form" Timestamp="" Scale="Pixels" Uniqueid="" /> + + *-- OBJECTDATA items order determines ZOrder / El orden de los items OBJECTDATA determina el ZOrder + *< OBJECTDATA: ObjPath="But_renunt1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="Clb_numefis" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="Clb_cale" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="Cmd_cauta1" UniqueID="" Timestamp="" /> + + * + DoCreate = .T. + Height = 160 + Name = "frm_cale_f_excel" + Width = 340 + _SHAPE1.Name = "_SHAPE1" + _SHAPE2.Height = 29 + _SHAPE2.Left = 268 + _SHAPE2.Name = "_SHAPE2" + _SHAPE2.Top = 0 + _SHAPE2.Width = 74 + LB_TITLU_ALB_B121.Caption = "Introduceti numele fisierului" + LB_TITLU_ALB_B121.Name = "LB_TITLU_ALB_B121" + LB_TITLU_ALB_B121.TabIndex = 5 + BUT_TERMIN1.Left = 307 + BUT_TERMIN1.Name = "BUT_TERMIN1" + BUT_TERMIN1.TabIndex = 3 + BUT_TERMIN1.Top = 1 + Gridsort1.Name = "Gridsort1" + * + + ADD OBJECT 'But_renunt1' AS but_renunt WITH ; + Left = 275, ; + Name = "But_renunt1", ; + TabIndex = 4, ; + Top = 1 + *< END OBJECT: ClassLib="cmd_butoane.vcx" BaseClass="commandbutton" /> + + ADD OBJECT 'Clb_cale' AS clb_tx_simplu WITH ; + Left = 24, ; + Name = "Clb_cale", ; + TabIndex = 6, ; + TabStop = .F., ; + Top = 76, ; + TEXT_SIMPLU1.Format = "!K", ; + TEXT_SIMPLU1.Name = "TEXT_SIMPLU1", ; + TEXT_SIMPLU1.ReadOnly = .T., ; + LB_SIMPLU1.Caption = "Cale", ; + LB_SIMPLU1.Name = "LB_SIMPLU1" + *< END OBJECT: ClassLib="lb_tx.vcx" BaseClass="container" /> + + ADD OBJECT 'Clb_numefis' AS clb_tx_simplu WITH ; + Left = 24, ; + Name = "Clb_numefis", ; + TabIndex = 1, ; + Top = 48, ; + TEXT_SIMPLU1.Format = "!K", ; + TEXT_SIMPLU1.Name = "TEXT_SIMPLU1", ; + LB_SIMPLU1.Caption = "Nume fisier", ; + LB_SIMPLU1.Name = "LB_SIMPLU1" + *< END OBJECT: ClassLib="lb_tx.vcx" BaseClass="container" /> + + ADD OBJECT 'Cmd_cauta1' AS cmd_cauta WITH ; + Caption = "\ + + PROCEDURE do_cauta + LOCAL lcCale + lcCale=GETDIR(gcAppPath,"Cale","Alegeti directorul",64) + IF !EMPTY(lcCale) + thisform.clb_cale.texT_SIMPLU1.Value=lcCale + ENDIF + ENDPROC + + PROCEDURE inainte_de_do_renunt + pniesire=0 + RETURN .T. + ENDPROC + + PROCEDURE inainte_de_do_termin + Local lcfisier,lccale + lccale=Alltrim(Thisform.clb_cale.text_simplu1.Value) + lcfisier=Alltrim(Thisform.clb_numefis.text_simplu1.Value) + If Empty(lcfisier) + aMessagebox("Nu ati introdus numele fisierului!",0+48,"Atentie") + Thisform.clb_numefis.SetFocus() + Return .F. + Else + lnpos=At('.',lcfisier) + lnlung=Len(lcfisier) + If enumefis(lcfisier) + If lnpos>0 + lcext=Upper(Substr(lcfisier,lnpos+1,lnlung-lnpos)) + Set Exact On + If lcext!="XLS" + aMessagebox("Extensia nu este corecta!",0+48,"Atentie") + Thisform.clb_numefis.text_simplu1.Value=Substr(lcfisier,1,lnpos)+"XLS" + Return .F. + Endif + *!* Set Exact Off + Else + lcfisier=lcfisier+".XLS" + Endif + Else + aMessagebox("Numele fisierului contine caractere nepermise!",0+48,"Atentie") + Return .F. + Endif + Endif + pccale=lccale+lcfisier + If File(pccale) + aMessagebox("Mai exista un fisier cu acest nume in directorul ales!",0+48,"Atentie") + Thisform.clb_numefis.SetFocus() + Return .F. + Endif + pniesire=1 + Return .T. + + ENDPROC + + PROCEDURE Init + thisform.clb_cale.text_simplu1.Value="C:\" + ENDPROC + + PROCEDURE Clb_cale.TEXT_SIMPLU1.Valid + *!* IF !EMPTY(this.value) AND !DIRECTORY(this.Value) + *!* MESSAGEBOX("Calea introdusa este invalida!",0+16,"Eroare") + *!* ENDIF + ENDPROC + +ENDDEFINE + +DEFINE CLASS frm_configurare_efactura AS _frmbase OF "_frm_base.vcx" + *< CLASSDATA: Baseclass="form" Timestamp="" Scale="Pixels" Uniqueid="" /> + + *-- OBJECTDATA items order determines ZOrder / El orden de los items OBJECTDATA determina el ZOrder + *< OBJECTDATA: ObjPath="But_renunt1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="_label1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="chkContP" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="chkTipP" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="chkGestiuneP" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="chkSectieP" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="chkVenCheltP" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="chkContractP" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="_label6" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="_checkbox1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="_checkbox2" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="cboContE" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="cboContP" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="cboVenCheltE" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="cboSectieE" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="cboTipArticoleP" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="cboGestiuneP" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="cboGestiuneE" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="cboTipArticoleE" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="cboVenCheltP" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="cboSectieP" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="_label7" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="_label5" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="_label2" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="lblCont" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="_label3" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="_label4" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="_label11" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="_label10" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="_label8" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="_label9" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="_checkbox3" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="_checkbox4" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="_checkbox5" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="_checkbox6" UniqueID="" Timestamp="" /> + + * + *p: cconte && cont implicit articol client + *p: ccontp && cont implicit articol furnizor + * + + * + BorderStyle = 1 + cconte = 704 + ccontp = 628 + DoCreate = .T. + Height = 623 + Name = "frm_configurare_efactura" + Width = 424 + _memberdata = + + + + _shape1.Height = 29 + _shape1.Left = 0 + _shape1.Name = "_shape1" + _shape1.Top = 0 + _shape1.Width = 426 + _shape2.Left = 367 + _shape2.Name = "_shape2" + _shape2.Top = 0 + Lb_titlu_alb_b121.Caption = "Configurare import eFactura" + Lb_titlu_alb_b121.Name = "Lb_titlu_alb_b121" + Lb_titlu_alb_b121.TabIndex = 25 + BUT_TERMIN1.Anchor = 8 + BUT_TERMIN1.Left = 393 + BUT_TERMIN1.Name = "BUT_TERMIN1" + BUT_TERMIN1.TabIndex = 23 + BUT_TERMIN1.Top = 1 + Gridsort1.Name = "Gridsort1" + * + + ADD OBJECT '_checkbox1' AS _checkbox WITH ; + Alignment = 0, ; + Caption = "Preluare cont contabil din inregistrarile anterioare ale clientului", ; + ControlSource = "m.gnEFACTURA_CONT_ART_EF", ; + Left = 12, ; + Name = "_checkbox1", ; + TabIndex = 12, ; + Top = 359 + *< END OBJECT: ClassLib="_baza.vcx" BaseClass="checkbox" /> + + ADD OBJECT '_checkbox2' AS _checkbox WITH ; + Alignment = 0, ; + Caption = "Preluare tip articol din inregistrarile anterioare ale clientului", ; + Enabled = .F., ; + Left = 12, ; + Name = "_checkbox2", ; + TabIndex = 13, ; + Top = 380 + *< END OBJECT: ClassLib="_baza.vcx" BaseClass="checkbox" /> + + ADD OBJECT '_checkbox3' AS _checkbox WITH ; + Alignment = 0, ; + Caption = "Preluare gestiune din inregistrarile anterioare ale clientului", ; + ControlSource = "m.gnEFACTURA_GEST_ART_EF", ; + Left = 12, ; + Name = "_checkbox3", ; + TabIndex = 14, ; + Top = 401 + *< END OBJECT: ClassLib="_baza.vcx" BaseClass="checkbox" /> + + ADD OBJECT '_checkbox4' AS _checkbox WITH ; + Alignment = 0, ; + Caption = "Preluare sectie din inregistrarile anterioare ale clientului", ; + Enabled = .F., ; + Left = 12, ; + Name = "_checkbox4", ; + TabIndex = 15, ; + Top = 424 + *< END OBJECT: ClassLib="_baza.vcx" BaseClass="checkbox" /> + + ADD OBJECT '_checkbox5' AS _checkbox WITH ; + Alignment = 0, ; + Caption = "Preluare tip ven/chlt din inregistrarile anterioare ale clientului", ; + Enabled = .F., ; + Left = 12, ; + Name = "_checkbox5", ; + TabIndex = 16, ; + Top = 443 + *< END OBJECT: ClassLib="_baza.vcx" BaseClass="checkbox" /> + + ADD OBJECT '_checkbox6' AS _checkbox WITH ; + Alignment = 0, ; + Caption = "Preluare contract din inregistrarile anterioare ale clientului", ; + Enabled = .F., ; + Left = 12, ; + Name = "_checkbox6", ; + TabIndex = 17, ; + Top = 464 + *< END OBJECT: ClassLib="_baza.vcx" BaseClass="checkbox" /> + + ADD OBJECT '_label1' AS _label WITH ; + Caption = "Facturi primite", ; + FontBold = .T., ; + Left = 14, ; + Name = "_label1", ; + TabIndex = 26, ; + Top = 41 + *< END OBJECT: ClassLib="_baza.vcx" BaseClass="label" /> + + ADD OBJECT '_label10' AS _label WITH ; + Anchor = 0, ; + Caption = "Sectie implicita", ; + Left = 12, ; + Name = "_label10", ; + TabIndex = 32, ; + Top = 569, ; + ZOrderSet = 26 + *< END OBJECT: ClassLib="_baza.vcx" BaseClass="label" /> + + ADD OBJECT '_label11' AS _label WITH ; + Anchor = 0, ; + Caption = "Tip ven/chlt implicit", ; + Left = 12, ; + Name = "_label11", ; + TabIndex = 34, ; + Top = 594, ; + ZOrderSet = 26 + *< END OBJECT: ClassLib="_baza.vcx" BaseClass="label" /> + + ADD OBJECT '_label2' AS _label WITH ; + Anchor = 0, ; + Caption = "Tip articole implicit", ; + Left = 14, ; + Name = "_label2", ; + TabIndex = 28, ; + Top = 224, ; + ZOrderSet = 26 + *< END OBJECT: ClassLib="_baza.vcx" BaseClass="label" /> + + ADD OBJECT '_label3' AS _label WITH ; + Anchor = 0, ; + Caption = "Gestiune implicita", ; + Left = 14, ; + Name = "_label3", ; + TabIndex = 30, ; + Top = 249, ; + ZOrderSet = 26 + *< END OBJECT: ClassLib="_baza.vcx" BaseClass="label" /> + + ADD OBJECT '_label4' AS _label WITH ; + Anchor = 0, ; + Caption = "Sectie implicita", ; + Left = 14, ; + Name = "_label4", ; + TabIndex = 33, ; + Top = 274, ; + ZOrderSet = 26 + *< END OBJECT: ClassLib="_baza.vcx" BaseClass="label" /> + + ADD OBJECT '_label5' AS _label WITH ; + Anchor = 0, ; + Caption = "Tip ven/chlt implicit", ; + Left = 14, ; + Name = "_label5", ; + TabIndex = 31, ; + Top = 296, ; + ZOrderSet = 26 + *< END OBJECT: ClassLib="_baza.vcx" BaseClass="label" /> + + ADD OBJECT '_label6' AS _label WITH ; + Caption = "Facturi emise", ; + FontBold = .T., ; + Left = 12, ; + Name = "_label6", ; + TabIndex = 37, ; + Top = 335 + *< END OBJECT: ClassLib="_baza.vcx" BaseClass="label" /> + + ADD OBJECT '_label7' AS _label WITH ; + Anchor = 0, ; + Caption = "Cont articole implicit", ; + Left = 12, ; + Name = "_label7", ; + TabIndex = 36, ; + Top = 493, ; + ZOrderSet = 26 + *< END OBJECT: ClassLib="_baza.vcx" BaseClass="label" /> + + ADD OBJECT '_label8' AS _label WITH ; + Anchor = 0, ; + Caption = "Tip articole implicit", ; + Left = 12, ; + Name = "_label8", ; + TabIndex = 35, ; + Top = 517, ; + ZOrderSet = 26 + *< END OBJECT: ClassLib="_baza.vcx" BaseClass="label" /> + + ADD OBJECT '_label9' AS _label WITH ; + Anchor = 0, ; + Caption = "Gestiune implicita", ; + Left = 12, ; + Name = "_label9", ; + TabIndex = 29, ; + Top = 543, ; + ZOrderSet = 26 + *< END OBJECT: ClassLib="_baza.vcx" BaseClass="label" /> + + ADD OBJECT 'But_renunt1' AS but_renunt WITH ; + Anchor = 8, ; + Left = 365, ; + Name = "But_renunt1", ; + TabIndex = 24, ; + Top = 2 + *< END OBJECT: ClassLib="cmd_butoane.vcx" BaseClass="commandbutton" /> + + ADD OBJECT 'cboContE' AS _cbsearch WITH ; + BoundColumn = 1, ; + BoundTo = .T., ; + ColumnCount = 3, ; + ColumnLines = .F., ; + ColumnWidths = "50,250,50", ; + ControlSource = "m.gcEFACTURA_CONT_ART_E", ; + Format = "K", ; + Height = 24, ; + Left = 144, ; + Name = "cboContE", ; + RowSource = "cPlContE.cont, explicatie, tip_sold", ; + RowSourceType = 6, ; + TabIndex = 18, ; + Top = 489, ; + Width = 87, ; + ZOrderSet = 24 + *< END OBJECT: ClassLib="_cb_base.vcx" BaseClass="combobox" /> + + ADD OBJECT 'cboContP' AS _cbsearch WITH ; + BoundColumn = 1, ; + BoundTo = .T., ; + ColumnCount = 3, ; + ColumnLines = .F., ; + ColumnWidths = "50,250,50", ; + ControlSource = "m.gcEFACTURA_CONT_ART_P", ; + Format = "K", ; + Height = 24, ; + Left = 144, ; + Name = "cboContP", ; + RowSource = "cPlContP.cont, explicatie, tip_sold", ; + RowSourceType = 6, ; + TabIndex = 7, ; + Top = 196, ; + Width = 87, ; + ZOrderSet = 24 + *< END OBJECT: ClassLib="_cb_base.vcx" BaseClass="combobox" /> + + ADD OBJECT 'cboGestiuneE' AS _cbsearch WITH ; + BoundColumn = 3, ; + BoundTo = .T., ; + ColumnCount = 2, ; + ColumnLines = .F., ; + ColumnWidths = "300,50", ; + ControlSource = "m.gnEFACTURA_ID_GESTIUNE_E", ; + Format = "K", ; + Height = 24, ; + Left = 144, ; + Name = "cboGestiuneE", ; + RowSource = "cGestiuniE.nume_gestiune, cont, id_gestiune", ; + RowSourceType = 6, ; + TabIndex = 20, ; + Top = 539, ; + Width = 178, ; + ZOrderSet = 24 + *< END OBJECT: ClassLib="_cb_base.vcx" BaseClass="combobox" /> + + ADD OBJECT 'cboGestiuneP' AS _cbsearch WITH ; + BoundColumn = 3, ; + BoundTo = .T., ; + ColumnCount = 2, ; + ColumnLines = .F., ; + ColumnWidths = "300,50", ; + ControlSource = "m.gnEFACTURA_ID_GESTIUNE_P", ; + Format = "K", ; + Height = 24, ; + Left = 144, ; + Name = "cboGestiuneP", ; + RowSource = "cGestiuniP.nume_gestiune, cont, id_gestiune", ; + RowSourceType = 6, ; + TabIndex = 9, ; + Top = 246, ; + Width = 178, ; + ZOrderSet = 24 + *< END OBJECT: ClassLib="_cb_base.vcx" BaseClass="combobox" /> + + ADD OBJECT 'cboSectieE' AS _cbsearch WITH ; + BoundColumn = 2, ; + BoundTo = .T., ; + ColumnCount = 1, ; + ColumnLines = .F., ; + ColumnWidths = "300", ; + ControlSource = "m.gnEFACTURA_ID_SECTIE_E", ; + Format = "K", ; + Height = 24, ; + Left = 144, ; + Name = "cboSectieE", ; + RowSource = "cSectiiE.sectie, id_sectie", ; + RowSourceType = 6, ; + TabIndex = 21, ; + Top = 564, ; + Width = 178, ; + ZOrderSet = 24 + *< END OBJECT: ClassLib="_cb_base.vcx" BaseClass="combobox" /> + + ADD OBJECT 'cboSectieP' AS _cbsearch WITH ; + BoundColumn = 2, ; + BoundTo = .T., ; + ColumnCount = 1, ; + ColumnLines = .F., ; + ColumnWidths = "300", ; + ControlSource = "m.gnEFACTURA_ID_SECTIE_P", ; + Format = "K", ; + Height = 24, ; + Left = 144, ; + Name = "cboSectieP", ; + RowSource = "cSectiiP.sectie, id_sectie", ; + RowSourceType = 6, ; + TabIndex = 10, ; + Top = 271, ; + Width = 178, ; + ZOrderSet = 24 + *< END OBJECT: ClassLib="_cb_base.vcx" BaseClass="combobox" /> + + ADD OBJECT 'cboTipArticoleE' AS _cbsearch WITH ; + BoundColumn = 3, ; + BoundTo = .T., ; + ColumnCount = 3, ; + ColumnLines = .F., ; + ColumnWidths = "300,50,50", ; + ControlSource = "m.gnEFACTURA_ID_TIPART_E", ; + Format = "K", ; + Height = 24, ; + Left = 144, ; + Name = "cboTipArticoleE", ; + RowSource = "cTipArticoleE.tip, cont, id", ; + RowSourceType = 6, ; + TabIndex = 19, ; + Top = 514, ; + Width = 178, ; + ZOrderSet = 24 + *< END OBJECT: ClassLib="_cb_base.vcx" BaseClass="combobox" /> + + ADD OBJECT 'cboTipArticoleP' AS _cbsearch WITH ; + BoundColumn = 3, ; + BoundTo = .T., ; + ColumnCount = 3, ; + ColumnLines = .F., ; + ColumnWidths = "300,50,50", ; + ControlSource = "m.gnEFACTURA_ID_TIPART_P", ; + Format = "K", ; + Height = 24, ; + Left = 144, ; + Name = "cboTipArticoleP", ; + RowSource = "cTipArticoleP.tip, cont, id", ; + RowSourceType = 6, ; + TabIndex = 8, ; + Top = 221, ; + Width = 178, ; + ZOrderSet = 24 + *< END OBJECT: ClassLib="_cb_base.vcx" BaseClass="combobox" /> + + ADD OBJECT 'cboVenCheltE' AS _cbsearch WITH ; + BoundColumn = 3, ; + BoundTo = .T., ; + ColumnCount = 2, ; + ColumnLines = .F., ; + ColumnWidths = "300,50", ; + ControlSource = "m.gnEFACTURA_ID_VENCHELT_E", ; + Format = "K", ; + Height = 24, ; + Left = 144, ; + Name = "cboVenCheltE", ; + RowSource = "cVenChelE.venchelt, tip, id_venchelt", ; + RowSourceType = 6, ; + TabIndex = 22, ; + Top = 589, ; + Width = 178, ; + ZOrderSet = 24 + *< END OBJECT: ClassLib="_cb_base.vcx" BaseClass="combobox" /> + + ADD OBJECT 'cboVenCheltP' AS _cbsearch WITH ; + BoundColumn = 3, ; + BoundTo = .T., ; + ColumnCount = 2, ; + ColumnLines = .F., ; + ColumnWidths = "300,50", ; + ControlSource = "m.gnEFACTURA_ID_VENCHELT_P", ; + Format = "K", ; + Height = 24, ; + Left = 144, ; + Name = "cboVenCheltP", ; + RowSource = "cVenChelP.venchelt, tip, id_venchelt", ; + RowSourceType = 6, ; + TabIndex = 11, ; + Top = 296, ; + Width = 178, ; + ZOrderSet = 24 + *< END OBJECT: ClassLib="_cb_base.vcx" BaseClass="combobox" /> + + ADD OBJECT 'chkContP' AS _checkbox WITH ; + Alignment = 0, ; + Caption = "Preluare cont contabil din inregistrarile anterioare ale furnizorului", ; + ControlSource = "m.gnEFACTURA_CONT_ART_PF", ; + Left = 14, ; + Name = "chkContP", ; + TabIndex = 1, ; + Top = 65 + *< END OBJECT: ClassLib="_baza.vcx" BaseClass="checkbox" /> + + ADD OBJECT 'chkContractP' AS _checkbox WITH ; + Alignment = 0, ; + Caption = "Preluare contract din inregistrarile anterioare ale furnizorului", ; + Enabled = .F., ; + Left = 14, ; + Name = "chkContractP", ; + TabIndex = 6, ; + Top = 170 + *< END OBJECT: ClassLib="_baza.vcx" BaseClass="checkbox" /> + + ADD OBJECT 'chkGestiuneP' AS _checkbox WITH ; + Alignment = 0, ; + Caption = "Preluare gestiune din inregistrarile anterioare ale furnizorului", ; + ControlSource = "m.gnEFACTURA_GEST_ART_PF", ; + Left = 14, ; + Name = "chkGestiuneP", ; + TabIndex = 3, ; + Top = 107 + *< END OBJECT: ClassLib="_baza.vcx" BaseClass="checkbox" /> + + ADD OBJECT 'chkSectieP' AS _checkbox WITH ; + Alignment = 0, ; + Caption = "Preluare sectie din inregistrarile anterioare ale furnizorului", ; + Enabled = .F., ; + Left = 14, ; + Name = "chkSectieP", ; + TabIndex = 4, ; + Top = 130 + *< END OBJECT: ClassLib="_baza.vcx" BaseClass="checkbox" /> + + ADD OBJECT 'chkTipP' AS _checkbox WITH ; + Alignment = 0, ; + Caption = "Preluare tip articol din inregistrarile anterioare ale furnizorului", ; + Enabled = .F., ; + Left = 14, ; + Name = "chkTipP", ; + TabIndex = 2, ; + Top = 86 + *< END OBJECT: ClassLib="_baza.vcx" BaseClass="checkbox" /> + + ADD OBJECT 'chkVenCheltP' AS _checkbox WITH ; + Alignment = 0, ; + Caption = "Preluare tip ven/chlt din inregistrarile anterioare ale furnizorului", ; + Enabled = .F., ; + Left = 14, ; + Name = "chkVenCheltP", ; + TabIndex = 5, ; + Top = 149 + *< END OBJECT: ClassLib="_baza.vcx" BaseClass="checkbox" /> + + ADD OBJECT 'lblCont' AS _label WITH ; + Anchor = 0, ; + Caption = "Cont articole implicit", ; + Left = 14, ; + Name = "lblCont", ; + TabIndex = 27, ; + Top = 199, ; + ZOrderSet = 26 + *< END OBJECT: ClassLib="_baza.vcx" BaseClass="label" /> + + PROCEDURE cboGestiuneE.Valid + gnEFACTURA_ID_GESTIUNE_E = cGestiuniE.id_gestiune + ENDPROC + + PROCEDURE cboGestiuneP.Valid + gnEFACTURA_ID_GESTIUNE_P = cGestiuniP.id_gestiune + + ENDPROC + + PROCEDURE cboSectieE.Valid + gnEFACTURA_ID_SECTIE_E = cSectiiE.id_sectie + ENDPROC + + PROCEDURE cboSectieP.Valid + gnEFACTURA_ID_SECTIE_P = cSectiiP.id_sectie + ENDPROC + + PROCEDURE cboTipArticoleE.Valid + gnEFACTURA_ID_TIPART_E = cTipArticoleE.id + ENDPROC + + PROCEDURE cboTipArticoleP.Valid + gnEFACTURA_ID_TIPART_P = cTipArticoleP.id + + ENDPROC + + PROCEDURE cboVenCheltE.Valid + gnEFACTURA_ID_VENCHELT_E = cVenChelE.id_venchelt + ENDPROC + + PROCEDURE cboVenCheltP.Valid + gnEFACTURA_ID_VENCHELT_P = cVenChelP.id_venchelt + ENDPROC + +ENDDEFINE + +DEFINE CLASS frm_deschidere_luna_cont AS _frmbase OF "_frm_base.vcx" + *< CLASSDATA: Baseclass="form" Timestamp="" Scale="Pixels" Uniqueid="" /> + + *-- OBJECTDATA items order determines ZOrder / El orden de los items OBJECTDATA determina el ZOrder + *< OBJECTDATA: ObjPath="Nu1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="Da1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="Lb_intrebare" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="ck_tva_incasare" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="ck_impozit_profit" UniqueID="" Timestamp="" /> + + * + BorderStyle = 1 + DoCreate = .T. + Height = 190 + Name = "frm_deschidere_luna_cont" + Width = 311 + _shape1.Anchor = 10 + _shape1.Height = 29 + _shape1.Left = 0 + _shape1.Name = "_shape1" + _shape1.Top = 0 + _shape1.Width = 311 + _shape2.Anchor = 8 + _shape2.Height = 29 + _shape2.Left = 287 + _shape2.Name = "_shape2" + _shape2.Top = 0 + _shape2.Visible = .F. + _shape2.Width = 16 + Lb_titlu_alb_b121.Caption = "Titlu" + Lb_titlu_alb_b121.FontBold = .T. + Lb_titlu_alb_b121.Name = "Lb_titlu_alb_b121" + BUT_TERMIN1.Anchor = 8 + BUT_TERMIN1.Left = 280 + BUT_TERMIN1.Name = "BUT_TERMIN1" + BUT_TERMIN1.Top = 1 + BUT_TERMIN1.Visible = .F. + GRIDSORT1.Left = 240 + GRIDSORT1.Name = "GRIDSORT1" + GRIDSORT1.Top = 36 + * + + ADD OBJECT 'ck_impozit_profit' AS _checkbox WITH ; + Alignment = 0, ; + Caption = "Impozit Profit (Initializare > Configurare Impozit)", ; + ControlSource = "pnImpozitProfit", ; + Enabled = .F., ; + Left = 10, ; + Name = "ck_impozit_profit", ; + Top = 162, ; + Visible = .T. + *< END OBJECT: ClassLib="_baza.vcx" BaseClass="checkbox" /> + + ADD OBJECT 'ck_tva_incasare' AS _checkbox WITH ; + Alignment = 0, ; + Caption = "TVA la încasare (Initializare > Configurare TVA)", ; + ControlSource = "pnTvaIncasare", ; + Enabled = .F., ; + Left = 10, ; + Name = "ck_tva_incasare", ; + Top = 142, ; + Visible = .T. + *< END OBJECT: ClassLib="_baza.vcx" BaseClass="checkbox" /> + + ADD OBJECT 'Da1' AS but_da WITH ; + Height = 30, ; + Left = 116, ; + Name = "Da1", ; + TabIndex = 2, ; + Top = 90, ; + Width = 55, ; + ZOrderSet = 2 + *< END OBJECT: ClassLib="cmd_butoane.vcx" BaseClass="commandbutton" /> + + ADD OBJECT 'Lb_intrebare' AS lb_simplu WITH ; + Alignment = 2, ; + AutoSize = .F., ; + Caption = "Intrebare", ; + Height = 36, ; + Left = 11, ; + Name = "Lb_intrebare", ; + Top = 41, ; + Width = 286 + *< END OBJECT: ClassLib="lb.vcx" BaseClass="label" /> + + ADD OBJECT 'Nu1' AS but_nu WITH ; + Height = 30, ; + Left = 172, ; + Name = "Nu1", ; + TabIndex = 3, ; + Top = 90, ; + Width = 55, ; + ZOrderSet = 1 + *< END OBJECT: ClassLib="cmd_butoane.vcx" BaseClass="commandbutton" /> + + PROCEDURE Init + Lparameters tcTitlu,tcIntrebare,tlDeschidereDeLuna + DoDefault() + Thisform.lb_titlu_alb_b121.Caption=Upper(tcTitlu) + Thisform.lb_intrebare.Caption=tcIntrebare + + + ENDPROC + +ENDDEFINE + +DEFINE CLASS frm_interval_date AS _frmbase OF "_frm_base.vcx" + *< CLASSDATA: Baseclass="form" Timestamp="" Scale="Pixels" Uniqueid="" /> + + *-- OBJECTDATA items order determines ZOrder / El orden de los items OBJECTDATA determina el ZOrder + *< OBJECTDATA: ObjPath="But_renunt1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="Clb_data" UniqueID="" Timestamp="" /> + + * + *p: ctip + * + + * + ctip = + DoCreate = .T. + Height = 100 + Name = "frm_interval_date" + Width = 338 + _SHAPE1.Name = "_SHAPE1" + _SHAPE1.Width = 338 + _SHAPE2.Height = 29 + _SHAPE2.Left = 268 + _SHAPE2.Name = "_SHAPE2" + _SHAPE2.Top = 0 + _SHAPE2.Width = 71 + LB_TITLU_ALB_B121.Caption = "Perioada raport" + LB_TITLU_ALB_B121.Name = "LB_TITLU_ALB_B121" + LB_TITLU_ALB_B121.TabIndex = 4 + BUT_TERMIN1.Left = 305 + BUT_TERMIN1.Name = "BUT_TERMIN1" + BUT_TERMIN1.TabIndex = 2 + BUT_TERMIN1.Top = 1 + Gridsort1.Name = "Gridsort1" + * + + ADD OBJECT 'But_renunt1' AS but_renunt WITH ; + Left = 272, ; + Name = "But_renunt1", ; + TabIndex = 3, ; + Top = 1 + *< END OBJECT: ClassLib="cmd_butoane.vcx" BaseClass="commandbutton" /> + + ADD OBJECT 'Clb_data' AS clb_nr_intre WITH ; + Left = 25, ; + Name = "Clb_data", ; + TabIndex = 1, ; + Top = 49, ; + tx_n1.Alignment = 3, ; + tx_n1.ControlSource = "pdData1", ; + tx_n1.InputMask = "", ; + tx_n1.Name = "tx_n1", ; + tx_n1.Value = ({}), ; + Lb_simplu1.Caption = "Data", ; + Lb_simplu1.Name = "Lb_simplu1", ; + tx_n2.Alignment = 3, ; + tx_n2.ControlSource = "pdData2", ; + tx_n2.InputMask = "", ; + tx_n2.Name = "tx_n2", ; + tx_n2.Value = ({}) + *< END OBJECT: ClassLib="lb_tx.vcx" BaseClass="container" /> + + PROCEDURE inainte_de_do_renunt + pniesire=0 + RETURN .T. + ENDPROC + + PROCEDURE inainte_de_do_termin + Local llReturn + Do Case + Case Empty(pdData1) + aMessagebox("Nu ati completat data de inceput!",0+48,"Atentie") + Thisform.clb_data.tx_n1.SetFocus() + llReturn=.F. + Case Empty(pdData2) + aMessagebox("Nu ati completat data de sfarsit!",0+48,"Atentie") + Thisform.clb_data.tx_n2.SetFocus() + llReturn=.F. + Otherwise + pniesire=1 + llReturn=.T. + Endcase + Return llReturn + + ENDPROC + +ENDDEFINE + +DEFINE CLASS frm_interval_luni AS _frmbase OF "..\..\..\roacomenzi\comun\clase\_frm_base.vcx" + *< CLASSDATA: Baseclass="form" Timestamp="" Scale="Pixels" Uniqueid="" /> + + *-- OBJECTDATA items order determines ZOrder / El orden de los items OBJECTDATA determina el ZOrder + *< OBJECTDATA: ObjPath="But_renunt1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="Clb_luna_intre1" UniqueID="" Timestamp="" /> + + * + *p: ctip + * + + * + BindControls = .T. + ctip = + DoCreate = .T. + Height = 100 + Name = "frm_interval_luni" + Width = 338 + _SHAPE1.Name = "_SHAPE1" + _SHAPE1.Width = 338 + _SHAPE2.Height = 29 + _SHAPE2.Left = 268 + _SHAPE2.Name = "_SHAPE2" + _SHAPE2.Top = 0 + _SHAPE2.Width = 71 + LB_TITLU_ALB_B121.Caption = "Interval" + LB_TITLU_ALB_B121.Name = "LB_TITLU_ALB_B121" + LB_TITLU_ALB_B121.TabIndex = 4 + BUT_TERMIN1.Left = 305 + BUT_TERMIN1.Name = "BUT_TERMIN1" + BUT_TERMIN1.TabIndex = 3 + BUT_TERMIN1.Top = 1 + Gridsort1.Name = "Gridsort1" + * + + ADD OBJECT 'But_renunt1' AS but_renunt WITH ; + Left = 272, ; + Name = "But_renunt1", ; + Top = 1 + *< END OBJECT: ClassLib="..\..\..\roacomenzi\comun\clase\cmd_butoane.vcx" BaseClass="commandbutton" /> + + ADD OBJECT 'Clb_luna_intre1' AS clb_luna_intre WITH ; + Left = 25, ; + Name = "Clb_luna_intre1", ; + Top = 49, ; + tx_n1.ControlSource = "pcAnLuna1", ; + tx_n1.Name = "tx_n1", ; + Lb_simplu1.Caption = "Interval", ; + Lb_simplu1.Name = "Lb_simplu1", ; + tx_n2.ControlSource = "pcAnLuna2", ; + tx_n2.Name = "tx_n2" + *< END OBJECT: ClassLib="..\..\..\roacomenzi\comun\clase\lb_tx.vcx" BaseClass="container" /> + + PROCEDURE inainte_de_do_termin + LOCAL llReturn + DO CASE + CASE EMPTY(pcAnLuna1) + aMESSAGEBOX("Nu ati completat luna de inceput!",0+48,"Atentie") + THISFORM.clb_data.tx_n1.SETFOCUS() + llReturn=.F. + CASE EMPTY(pcAnLuna2) + aMESSAGEBOX("Nu ati completat luna de sfarsit!",0+48,"Atentie") + THISFORM.clb_data.tx_n2.SETFOCUS() + llReturn=.F. + OTHERWISE + llReturn=.T. + ENDCASE + RETURN llReturn + + ENDPROC + +ENDDEFINE + +DEFINE CLASS frm_optiune AS _frmbase OF "_frm_base.vcx" + *< CLASSDATA: Baseclass="form" Timestamp="" Scale="Pixels" Uniqueid="" /> + + *-- OBJECTDATA items order determines ZOrder / El orden de los items OBJECTDATA determina el ZOrder + *< OBJECTDATA: ObjPath="But_renunt1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="ogOptiuni" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="Lb_intrebare" UniqueID="" Timestamp="" /> + + * + DoCreate = .T. + Height = 160 + Name = "frm_optiune" + Width = 266 + _shape1.Anchor = 10 + _shape1.Name = "_shape1" + _shape2.Anchor = 8 + _shape2.Height = 29 + _shape2.Left = 203 + _shape2.Name = "_shape2" + _shape2.Top = 0 + _shape2.Width = 65 + Lb_titlu_alb_b121.Caption = "Titlu" + Lb_titlu_alb_b121.FontBold = .T. + Lb_titlu_alb_b121.Name = "Lb_titlu_alb_b121" + BUT_TERMIN1.Anchor = 8 + BUT_TERMIN1.Left = 237 + BUT_TERMIN1.Name = "BUT_TERMIN1" + BUT_TERMIN1.Top = 1 + GRIDSORT1.Name = "GRIDSORT1" + * + + ADD OBJECT 'But_renunt1' AS but_renunt WITH ; + Anchor = 8, ; + Left = 206, ; + Name = "But_renunt1", ; + Top = 1 + *< END OBJECT: ClassLib="cmd_butoane.vcx" BaseClass="commandbutton" /> + + ADD OBJECT 'Lb_intrebare' AS lb_simplu WITH ; + Caption = "Intrebare", ; + Left = 11, ; + Name = "Lb_intrebare", ; + Top = 39 + *< END OBJECT: ClassLib="lb.vcx" BaseClass="label" /> + + ADD OBJECT 'ogOptiuni' AS _optiongrup WITH ; + AutoSize = .F., ; + ButtonCount = 4, ; + Height = 84, ; + Left = 22, ; + Name = "ogOptiuni", ; + Top = 60, ; + Width = 220, ; + Option1.AutoSize = .T., ; + Option1.Caption = "optiune 1", ; + Option1.Left = 5, ; + Option1.Name = "Option1", ; + Option1.Top = 5, ; + Option2.AutoSize = .T., ; + Option2.Caption = "optiune 2", ; + Option2.Left = 5, ; + Option2.Name = "Option2", ; + Option2.Top = 24, ; + Option3.AutoSize = .T., ; + Option3.BackStyle = 0, ; + Option3.Caption = "optiune 3", ; + Option3.Height = 17, ; + Option3.Left = 5, ; + Option3.Name = "Option3", ; + Option3.Top = 43, ; + Option3.Width = 69, ; + Option4.AutoSize = .T., ; + Option4.BackStyle = 0, ; + Option4.Caption = "optiune 4", ; + Option4.Height = 17, ; + Option4.Left = 5, ; + Option4.Name = "Option4", ; + Option4.Top = 62, ; + Option4.Width = 69 + *< END OBJECT: ClassLib="_baza.vcx" BaseClass="optiongroup" /> + + PROCEDURE Destroy + pnOptiune = Thisform.ogOptiuni.Value + ENDPROC + + PROCEDURE Init + Lparameters tcTitlu,tcIntrebare,tnNrOptiuni,tcOptiuni,tlFaraRenuntare + DoDefault() + Thisform.lb_titlu_alb_b121.Caption=Upper(tcTitlu) + Thisform.lb_intrebare.Caption=tcIntrebare + Thisform.ogOptiuni.ButtonCount=tnNrOptiuni + *!* Do Case + *!* Case tnNrOptiuni=2 + *!* Thisform.ogOptiuni.Height=48 + *!* Case tnNrOptiuni=3 + *!* Thisform.ogOptiuni.Height=60 + *!* Endcase + If !Empty(tlFaraRenuntare) + Thisform.but_RENUNT1.Visible = .F. + lnAnchor = Thisform._shaPE2.Anchor + Thisform._shaPE2.Anchor = 0 + lnDiferenta = Thisform.but_RENUNT1.Left - Thisform._shaPE2.Left + Thisform._shaPE2.Left = Thisform.but_teRMIN1.Left - lnDiferenta + Thisform._shaPE2.Anchor = lnAnchor + Endif + If !Empty(tcOptiuni) + lnPozI=1 + For i=1 To tnNrOptiuni + lnPozF=At([;],tcOptiuni,i) + Thisform.ogOptiuni.Buttons(i).Caption=Substr(tcOptiuni,lnPozI,lnPozF-lnPozI) + Thisform.ogOptiuni.Buttons(i).AutoSize=.T. + Thisform.ogOptiuni.Buttons(i).BackStyle=0 + lnPozI=lnPozF+1 + Endfor + Endif + Thisform.ogOptiuni.AutoSize=.T. + If Thisform.ogOptiuni.Width>Thisform.Width + Thisform.Width=Thisform.ogOptiuni.Width+Thisform.ogOptiuni.Left+10 + Endif + Thisform.Height=Thisform.ogOptiuni.Height+Thisform.ogOptiuni.Top+15 + Thisform.ogOptiuni.Left=Round((Thisform.Width-Thisform.ogOptiuni.Width)/2,0) + Thisform.AutoCenter=.T. + Thisform.Refresh() + + ENDPROC + +ENDDEFINE + +DEFINE CLASS verif_act_rul AS _frmbase OF "_frm_base.vcx" + *< CLASSDATA: Baseclass="form" Timestamp="" Scale="Pixels" Uniqueid="" /> + + *-- OBJECTDATA items order determines ZOrder / El orden de los items OBJECTDATA determina el ZOrder + *< OBJECTDATA: ObjPath="grdRulaje" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="grdRulaje.cNrCrt.Header1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="grdRulaje.cNrCrt.Text1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="grdRulaje.cNnir.Header1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="grdRulaje.cNnir.Text1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="grdRulaje.cDataact.Header1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="grdRulaje.cDataact.Text1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="grdRulaje.cCodmat.Header1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="grdRulaje.cCodmat.Text1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="grdRulaje.cDenumire.Header1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="grdRulaje.cDenumire.Text1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="grdRulaje.cUM.Header1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="grdRulaje.cUM.Text1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="grdRulaje.cPret.Header1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="grdRulaje.cPret.Text1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="grdRulaje.cCant.Header1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="grdRulaje.cCant.Text1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="grdRulaje.cCante.Header1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="grdRulaje.cCante.Text1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="grdRulaje.cCont.Header1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="grdRulaje.cCont.Text1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="grdRulaje.cCod.Header1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="grdRulaje.cCod.Text1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="grdRulaje.cAcont.Header1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="grdRulaje.cAcont.Text1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="grdRulaje.cGest.Header1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="grdRulaje.cGest.Text1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="grdRulaje.cNrord.Header1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="grdRulaje.cNrord.Text1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="grdRulaje.cCurs.Header1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="grdRulaje.cCurs.Text1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="grdRulaje.cPretd.Header1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="grdRulaje.cPretd.Text1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="grdRulaje.cProcent.Header1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="grdRulaje.cProcent.Text1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="grdRulaje.cAdaos.Header1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="grdRulaje.cAdaos.Text1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="grdRulaje.cTva.Header1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="grdRulaje.cTva.Text1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="grdRulaje.cValoareftva.Header1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="grdRulaje.cValoareftva.Text1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="grdRulaje.cPretv.Header1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="grdRulaje.cPretv.Text1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="grdRulaje.cTvav.Header1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="grdRulaje.cTvav.Text1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="grdRulaje.cPretvtva.Header1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="grdRulaje.cPretvtva.Text1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="grdRulaje.cProc_tva.Header1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="grdRulaje.cProc_tva.Text1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="grdRulaje.cUtil.Header1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="grdRulaje.cUtil.Text1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="grdRulaje.cDataora.Header1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="grdRulaje.cDataora.Text1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="grdRulaje.cSectie.Header1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="grdRulaje.cSectie.Text1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="grdRulaje.cDatain.Header1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="grdRulaje.cDatain.Text1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="grdRulaje.cDataOut.Header1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="grdRulaje.cDataOut.Text1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="grdRulaje.cNresp.Header1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="grdRulaje.cNresp.Text1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="grdRulaje.cGestC.Header1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="grdRulaje.cGestC.Text1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="grdRulaje.cNrespC.Header1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="grdRulaje.cNrespC.Text1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="grdRulaje.cTipRulaj.Header1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="grdRulaje.cTipRulaj.Text1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="grdRulaje.Column34.Header1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="grdRulaje.Column34.Text1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="grdRulaje.Column35.Header1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="grdRulaje.Column35.Text1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="grdRulaje.cGrupa.Header1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="grdRulaje.cGrupa.Text1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="grdRulaje.cNract.Header1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="grdRulaje.cNract.Text1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="grdRulaje.cSubgrupa.Header1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="grdRulaje.cSubgrupa.Text1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="grdRulaje.cUtils.Header1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="grdRulaje.cUtils.Text1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="grdRulaje.cDataoras.Header1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="grdRulaje.cDataoras.Text1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="grdRulaje.cSerie.Header1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="grdRulaje.cSerie.Text1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="grdRulaje.cNume_val.Header1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="grdRulaje.cNume_val.Text1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="grdRulaje.cSerie_act.Header1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="grdRulaje.cSerie_act.Text1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="grdRulaje.cCodmatF.Header1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="grdRulaje.cCodmatF.Text1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="grdRulaje.cLot.Header1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="grdRulaje.cLot.Text1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="grdRulaje.cDataExpirare.Header1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="grdRulaje.cDataExpirare.Text1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="grdRulaje.cSucursala.Header1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="grdRulaje.cSucursala.Text1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="grdRulaje.cPart_rez.Header1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="grdRulaje.cPart_rez.Text1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="grdRulaje.cNrord_rez.Header1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="grdRulaje.cNrord_rez.Text1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="grdRulaje.cValoaretva.Header1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="grdRulaje.cValoaretva.Text1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="grdRulaje.cValoarevftva.Header1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="grdRulaje.cValoarevftva.Text1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="grdRulaje.cProc_tvav.Header1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="grdRulaje.cProc_tvav.Text1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="grdRulaje.cAdaos_tva.Header1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="grdRulaje.cAdaos_tva.Text1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="grdRulaje.cValoare_adaosftva.Header1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="grdRulaje.cValoare_adaosftva.Text1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="grdRulaje.cvaloare_adaostva.header1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="grdRulaje.cvaloare_adaostva.Text1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="grdRulaje.cDiscunitar.Header1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="grdRulaje.cDiscunitar.Text1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="grdRulaje.cDiscunitar_tva.Header1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="grdRulaje.cDiscunitar_tva.Text1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="grdRulaje.cProc_disc.Header1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="grdRulaje.cProc_disc.Text1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="grdRulaje.cvaloarecTVA.Header1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="grdRulaje.cvaloarecTVA.Text1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="grdRulaje.cvaloarevTVA.Header1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="grdRulaje.cvaloarevTVA.Text1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="grdRulaje.cvaloarevcTVA.cvaloarevcTVA" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="grdRulaje.cvaloarevcTVA.Text1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="grdAct" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="grdAct.Column1.Header1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="grdAct.Column1.Text1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="grdAct.Column2.Header1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="grdAct.Column2.Text1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="grdAct.Column3.Header1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="grdAct.Column3.Text1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="grdAct.Column4.Header1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="grdAct.Column4.Text1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="grdAct.Column5.Header1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="grdAct.Column5.Text1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="grdAct.Column6.Header1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="grdAct.Column6.Text1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="grdAct.Column7.Header1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="grdAct.Column7.Text1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="grdAct.Column8.Header1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="grdAct.Column8.Text1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="grdAct.cScd.Header1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="grdAct.cScd.Text1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="grdAct.cAscd.Header1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="grdAct.cAscd.Text1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="grdAct.cScc.Header1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="grdAct.cScc.Text1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="grdAct.cAscc.Header1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="grdAct.cAscc.Text1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="grdAct.Column13.Header1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="grdAct.Column13.Text1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="grdAct.Column14.Header1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="grdAct.Column14.Text1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="grdAct.Column15.Header1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="grdAct.Column15.Text1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="grdAct.Column16.Header1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="grdAct.Column16.Text1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="grdAct.Column17.Header1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="grdAct.Column17.Text1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="grdAct.Column18.Header1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="grdAct.Column18.Text1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="grdAct.Column19.Header1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="grdAct.Column19.Text1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="grdAct.Column20.Header1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="grdAct.Column20.Text1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="grdAct.Column21.Header1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="grdAct.Column21.Text1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="grdAct.Column22.Header1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="grdAct.Column22.Text1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="grdAct.Column23.Header1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="grdAct.Column23.Text1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="grdAct.Column25.Header1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="grdAct.Column25.Text1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="grdAct.Column26.Header1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="grdAct.Column26.Text1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="grdAct.Column27.Header1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="grdAct.Column27.Text1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="grdAct.Column28.Header1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="grdAct.Column28.Text1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="grdAct.Column29.Header1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="grdAct.Column29.Text1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="grdAct.Column30.Header1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="grdAct.Column30.Text1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="grdAct.Column31.Header1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="grdAct.Column31.Text1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="grdAct.Column32.Header1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="grdAct.Column32.Text1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="grdAct.Column33.Header1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="grdAct.Column33.Text1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="grdAct.Column34.Header1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="grdAct.Column34.Text1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="grdAct.Column35.Header1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="grdAct.Column35.Text1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="grdAct.Column36.Header1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="grdAct.Column36.Text1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="grdAct.Column37.Header1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="grdAct.Column37.Text1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="grdAct.Column24.Header1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="grdAct.Column24.Text1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="grdAct.Column38.Header1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="grdAct.Column38.Text1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="grdAct.cSerie_act.Header1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="grdAct.cSerie_act.Text1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="grdAct.cIdFact.Header1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="grdAct.cIdFact.Text1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="grdAct.cIdFactD.Header1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="grdAct.cIdFactD.Text1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="grdAct.cIdFactC.Header1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="grdAct.cIdFactC.Text1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="Clb_tx_simplu1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="_grdfooter1" UniqueID="" Timestamp="" /> + + * + *p: nsuma + * + + * + BackColor = 192,192,192 + BorderStyle = 3 + DoCreate = .T. + Height = 508 + Name = "verif_act_rul" + nsuma = 0 + Width = 807 + _shape1.Anchor = 11 + _shape1.Height = 29 + _shape1.Left = 0 + _shape1.Name = "_shape1" + _shape1.Top = 0 + _shape1.Width = 828 + _shape1.ZOrderSet = 1 + _shape2.Anchor = 9 + _shape2.Left = 758 + _shape2.Name = "_shape2" + _shape2.Top = 0 + _shape2.ZOrderSet = 2 + Lb_titlu_alb_b121.Caption = "Verificare note contabile cu rulajele dupa cod" + Lb_titlu_alb_b121.Left = 6 + Lb_titlu_alb_b121.Name = "Lb_titlu_alb_b121" + Lb_titlu_alb_b121.TabIndex = 6 + Lb_titlu_alb_b121.ZOrderSet = 3 + BUT_TERMIN1.Anchor = 9 + BUT_TERMIN1.Left = 778 + BUT_TERMIN1.Name = "BUT_TERMIN1" + BUT_TERMIN1.TabIndex = 5 + BUT_TERMIN1.Top = 1 + BUT_TERMIN1.ZOrderSet = 4 + Gridsort1.Left = 120 + Gridsort1.Name = "Gridsort1" + Gridsort1.Top = 12 + * + + ADD OBJECT '_grdfooter1' AS _grdfooter WITH ; + ccolwithlabel = cNrCrt, ; + csourcegrid = grdRulaje, ; + csumcolumns = cValoareftva, cValoaretva, cValoarectva, cValoarevftva, cValoarevtva, cValoarevctva, cValoare_adaosftva, cvaloare_adaostva, ; + ctotallabelexpression = 'TOTAL', ; + Left = 6, ; + Name = "_grdfooter1", ; + Top = 466, ; + Width = 792, ; + ZOrderSet = 8 + *< END OBJECT: ClassLib="_grd_base.vcx" BaseClass="grid" /> + + ADD OBJECT 'Clb_tx_simplu1' AS clb_tx_simplu WITH ; + Anchor = 9, ; + Comment = "*:OnResize=RB", ; + Left = 508, ; + Name = "Clb_tx_simplu1", ; + TabIndex = 2, ; + TabStop = .F., ; + Top = 212, ; + ZOrderSet = 7, ; + Text_simplu1.ControlSource = "thisform.nsuma", ; + Text_simplu1.InputMask = (get_mask(12,gnPA)), ; + Text_simplu1.Name = "Text_simplu1", ; + Text_simplu1.ReadOnly = .T., ; + Lb_simplu1.Caption = "TOTAL", ; + Lb_simplu1.FontBold = .T., ; + Lb_simplu1.Name = "Lb_simplu1" + *< END OBJECT: ClassLib="lb_tx.vcx" BaseClass="container" /> + + ADD OBJECT 'grdAct' AS _grid WITH ; + Anchor = 11, ; + ColumnCount = 42, ; + DeleteMark = .F., ; + Height = 168, ; + HighlightStyle = 2, ; + Left = 6, ; + Name = "grdAct", ; + Panel = 1, ; + RecordSource = "actactan", ; + RowHeight = 19, ; + TabIndex = 1, ; + Top = 39, ; + Width = 792, ; + ZOrderSet = 6, ; + Column1.ControlSource = "nrcrt()", ; + Column1.FontName = "Arial", ; + Column1.FontSize = 10, ; + Column1.ForeColor = 0,0,0, ; + Column1.Name = "Column1", ; + Column1.Width = 30, ; + Column2.ControlSource = "fdoc", ; + Column2.FontName = "Arial", ; + Column2.FontSize = 10, ; + Column2.ForeColor = 0,0,0, ; + Column2.Name = "Column2", ; + Column2.Width = 38, ; + Column3.ControlSource = "dataireg", ; + Column3.FontName = "Arial", ; + Column3.FontSize = 10, ; + Column3.ForeColor = 0,0,0, ; + Column3.Name = "Column3", ; + Column3.Width = 54, ; + Column4.ColumnOrder = 4, ; + Column4.ControlSource = "dataact", ; + Column4.FontName = "Arial", ; + Column4.FontSize = 10, ; + Column4.ForeColor = 0,0,0, ; + Column4.Name = "Column4", ; + Column4.Width = 54, ; + Column5.ColumnOrder = 6, ; + Column5.ControlSource = "nract", ; + Column5.FontName = "Arial", ; + Column5.FontSize = 10, ; + Column5.ForeColor = 0,0,0, ; + Column5.Name = "Column5", ; + Column5.Width = 48, ; + Column6.ColumnOrder = 7, ; + Column6.ControlSource = "partD", ; + Column6.FontName = "Arial", ; + Column6.FontSize = 10, ; + Column6.ForeColor = 0,0,0, ; + Column6.Name = "Column6", ; + Column6.Width = 125, ; + Column7.ColumnOrder = 8, ; + Column7.ControlSource = "partC", ; + Column7.FontName = "Arial", ; + Column7.FontSize = 10, ; + Column7.ForeColor = 0,0,0, ; + Column7.Name = "Column7", ; + Column7.Width = 116, ; + Column8.ColumnOrder = 9, ; + Column8.ControlSource = "explicatia", ; + Column8.FontName = "Arial", ; + Column8.FontSize = 10, ; + Column8.ForeColor = 0,0,0, ; + Column8.Name = "Column8", ; + Column8.Width = 90, ; + Column9.ColumnOrder = 10, ; + Column9.ControlSource = "scd", ; + Column9.FontBold = .T., ; + Column9.FontName = "Arial", ; + Column9.FontSize = 10, ; + Column9.ForeColor = 0,0,0, ; + Column9.Name = "cScd", ; + Column9.Width = 32, ; + Column10.ColumnOrder = 11, ; + Column10.ControlSource = "ascd", ; + Column10.FontName = "Arial", ; + Column10.FontSize = 10, ; + Column10.ForeColor = 0,0,0, ; + Column10.Name = "cAscd", ; + Column10.Width = 35, ; + Column11.ColumnOrder = 12, ; + Column11.ControlSource = "scc", ; + Column11.FontBold = .T., ; + Column11.FontName = "Arial", ; + Column11.FontSize = 10, ; + Column11.ForeColor = 0,0,0, ; + Column11.Name = "cScc", ; + Column11.Width = 33, ; + Column12.ColumnOrder = 13, ; + Column12.ControlSource = "ascc", ; + Column12.FontName = "Arial", ; + Column12.FontSize = 10, ; + Column12.ForeColor = 0,0,0, ; + Column12.Name = "cAscc", ; + Column12.Width = 35, ; + Column13.ColumnOrder = 14, ; + Column13.ControlSource = "suma", ; + Column13.FontName = "Arial", ; + Column13.FontSize = 10, ; + Column13.ForeColor = 0,0,0, ; + Column13.Format = "R", ; + Column13.InputMask = (get_mask(12,gnPA)), ; + Column13.Name = "Column13", ; + Column13.Width = 85, ; + Column14.ColumnOrder = 15, ; + Column14.ControlSource = "nrord", ; + Column14.FontName = "Arial", ; + Column14.FontSize = 10, ; + Column14.ForeColor = 0,0,0, ; + Column14.Name = "Column14", ; + Column14.Width = 93, ; + Column15.ColumnOrder = 17, ; + Column15.ControlSource = "perecheD", ; + Column15.FontName = "Arial", ; + Column15.FontSize = 10, ; + Column15.ForeColor = 0,0,0, ; + Column15.Name = "Column15", ; + Column15.Width = 55, ; + Column16.ColumnOrder = 18, ; + Column16.ControlSource = "perecheC", ; + Column16.FontName = "Arial", ; + Column16.FontSize = 10, ; + Column16.ForeColor = 0,0,0, ; + Column16.Name = "Column16", ; + Column16.Width = 55, ; + Column17.ColumnOrder = 21, ; + Column17.ControlSource = "datascad", ; + Column17.FontName = "Arial", ; + Column17.FontSize = 10, ; + Column17.ForeColor = 0,0,0, ; + Column17.Name = "Column17", ; + Column17.Width = 47, ; + Column18.ColumnOrder = 22, ; + Column18.ControlSource = "nnir", ; + Column18.FontName = "Arial", ; + Column18.FontSize = 10, ; + Column18.ForeColor = 0,0,0, ; + Column18.Name = "Column18", ; + Column18.Width = 75, ; + Column19.ColumnOrder = 23, ; + Column19.ControlSource = "nresp", ; + Column19.FontName = "Arial", ; + Column19.FontSize = 10, ; + Column19.ForeColor = 0,0,0, ; + Column19.Name = "Column19", ; + Column20.ColumnOrder = 24, ; + Column20.ControlSource = "dst_chlt", ; + Column20.FontName = "Arial", ; + Column20.FontSize = 10, ; + Column20.ForeColor = 0,0,0, ; + Column20.Name = "Column20", ; + Column21.ColumnOrder = 25, ; + Column21.ControlSource = "suma_val", ; + Column21.FontName = "Arial", ; + Column21.FontSize = 10, ; + Column21.ForeColor = 0,0,0, ; + Column21.Format = "R", ; + Column21.InputMask = (get_mask(12,gnPVal)), ; + Column21.Name = "Column21", ; + Column22.ColumnOrder = 26, ; + Column22.ControlSource = "nume_val", ; + Column22.FontName = "Arial", ; + Column22.FontSize = 10, ; + Column22.ForeColor = 0,0,0, ; + Column22.Name = "Column22", ; + Column22.Width = 31, ; + Column23.ColumnOrder = 27, ; + Column23.ControlSource = "curs", ; + Column23.FontName = "Arial", ; + Column23.FontSize = 10, ; + Column23.ForeColor = 0,0,0, ; + Column23.InputMask = (get_mask(12,gnPcurs)), ; + Column23.Name = "Column23", ; + Column23.Width = 51, ; + Column24.ColumnOrder = 32, ; + Column24.ControlSource = "sectie", ; + Column24.FontName = "Arial", ; + Column24.FontSize = 10, ; + Column24.ForeColor = 0,0,0, ; + Column24.Name = "Column25", ; + Column25.ColumnOrder = 19, ; + Column25.ControlSource = "proc_tva", ; + Column25.FontName = "Arial", ; + Column25.FontSize = 10, ; + Column25.ForeColor = 0,0,0, ; + Column25.InputMask = "99.99", ; + Column25.Name = "Column26", ; + Column25.Width = 45, ; + Column26.ColumnOrder = 39, ; + Column26.ControlSource = "cod", ; + Column26.FontName = "Arial", ; + Column26.FontSize = 10, ; + Column26.ForeColor = 0,0,0, ; + Column26.Name = "Column27", ; + Column26.Width = 51, ; + Column27.ColumnOrder = 34, ; + Column27.ControlSource = "util", ; + Column27.FontName = "Arial", ; + Column27.FontSize = 10, ; + Column27.ForeColor = 0,0,0, ; + Column27.Name = "Column28", ; + Column27.Width = 84, ; + Column28.ColumnOrder = 35, ; + Column28.ControlSource = "dataora", ; + Column28.FontName = "Arial", ; + Column28.FontSize = 10, ; + Column28.ForeColor = 0,0,0, ; + Column28.Name = "Column29", ; + Column28.Width = 96, ; + Column29.ColumnOrder = 36, ; + Column29.ControlSource = "utils", ; + Column29.FontName = "Arial", ; + Column29.FontSize = 10, ; + Column29.ForeColor = 0,0,0, ; + Column29.Name = "Column30", ; + Column30.ColumnOrder = 37, ; + Column30.ControlSource = "dataoras", ; + Column30.FontName = "Arial", ; + Column30.FontSize = 10, ; + Column30.ForeColor = 0,0,0, ; + Column30.Name = "Column31", ; + Column30.Width = 83, ; + Column31.ColumnOrder = 38, ; + Column31.ControlSource = "id_set", ; + Column31.FontName = "Arial", ; + Column31.FontSize = 10, ; + Column31.ForeColor = 0,0,0, ; + Column31.Name = "Column32", ; + Column32.ColumnOrder = 33, ; + Column32.ControlSource = "sucursala", ; + Column32.FontName = "Arial", ; + Column32.FontSize = 10, ; + Column32.ForeColor = 0,0,0, ; + Column32.Name = "Column33", ; + Column33.ColumnOrder = 28, ; + Column33.ControlSource = "explicatia4", ; + Column33.FontName = "Arial", ; + Column33.FontSize = 10, ; + Column33.ForeColor = 0,0,0, ; + Column33.Name = "Column34", ; + Column34.ColumnOrder = 29, ; + Column34.ControlSource = "explicatia5", ; + Column34.FontName = "Arial", ; + Column34.FontSize = 10, ; + Column34.ForeColor = 0,0,0, ; + Column34.Name = "Column35", ; + Column35.ColumnOrder = 30, ; + Column35.ControlSource = "GESTIN", ; + Column35.FontName = "Arial", ; + Column35.FontSize = 10, ; + Column35.ForeColor = 0,0,0, ; + Column35.Name = "Column36", ; + Column36.ColumnOrder = 31, ; + Column36.ControlSource = "GESTOUT", ; + Column36.FontName = "Arial", ; + Column36.FontSize = 10, ; + Column36.ForeColor = 0,0,0, ; + Column36.Name = "Column37", ; + Column37.ColumnOrder = 16, ; + Column37.ControlSource = "contract", ; + Column37.FontName = "Arial", ; + Column37.FontSize = 10, ; + Column37.ForeColor = 0,0,0, ; + Column37.Name = "Column24", ; + Column37.Width = 58, ; + Column38.ColumnOrder = 20, ; + Column38.ControlSource = "explicatie_tva", ; + Column38.FontName = "Arial", ; + Column38.FontSize = 10, ; + Column38.ForeColor = 0,0,0, ; + Column38.Name = "Column38", ; + Column39.ColumnOrder = 5, ; + Column39.ControlSource = "serie_act", ; + Column39.FontName = "Arial", ; + Column39.FontSize = 10, ; + Column39.ForeColor = 0,0,0, ; + Column39.Name = "cSerie_act", ; + Column39.Width = 51, ; + Column40.ControlSource = "id_Fact", ; + Column40.FontName = "Arial", ; + Column40.FontSize = 10, ; + Column40.Name = "cIdFact", ; + Column41.ControlSource = "id_factd", ; + Column41.FontName = "Arial", ; + Column41.FontSize = 10, ; + Column41.Name = "cIdFactD", ; + Column42.ControlSource = "id_factc", ; + Column42.FontName = "Arial", ; + Column42.FontSize = 10, ; + Column42.Name = "cIdFactC" + *< END OBJECT: ClassLib="_baza.vcx" BaseClass="grid" /> + + ADD OBJECT 'grdAct.cAscc.Header1' AS header WITH ; + Alignment = 2, ; + Caption = "A Cred", ; + FontName = "Arial", ; + FontSize = 10, ; + Name = "Header1" + *< END OBJECT: BaseClass="header" /> + + ADD OBJECT 'grdAct.cAscc.Text1' AS textbox WITH ; + BackColor = 255,255,255, ; + BorderStyle = 0, ; + FontName = "Arial", ; + FontSize = 10, ; + ForeColor = 0,0,0, ; + Margin = 0, ; + Name = "Text1", ; + SelectedBackColor = 100,185,255 + *< END OBJECT: BaseClass="textbox" /> + + ADD OBJECT 'grdAct.cAscd.Header1' AS header WITH ; + Alignment = 2, ; + Caption = "A Deb", ; + FontName = "Arial", ; + FontSize = 10, ; + Name = "Header1" + *< END OBJECT: BaseClass="header" /> + + ADD OBJECT 'grdAct.cAscd.Text1' AS textbox WITH ; + BackColor = 255,255,255, ; + BorderStyle = 0, ; + FontName = "Arial", ; + FontSize = 10, ; + ForeColor = 0,0,0, ; + Margin = 0, ; + Name = "Text1", ; + SelectedBackColor = 100,185,255 + *< END OBJECT: BaseClass="textbox" /> + + ADD OBJECT 'grdAct.cIdFact.Header1' AS header WITH ; + Alignment = 2, ; + Caption = "Id fact", ; + FontName = "Arial", ; + FontSize = 10, ; + Name = "Header1" + *< END OBJECT: BaseClass="header" /> + + ADD OBJECT 'grdAct.cIdFact.Text1' AS textbox WITH ; + BackColor = 255,255,255, ; + BorderStyle = 0, ; + FontName = "Arial", ; + FontSize = 10, ; + ForeColor = 0,0,0, ; + Margin = 0, ; + Name = "Text1", ; + SelectedBackColor = 100,185,255 + *< END OBJECT: BaseClass="textbox" /> + + ADD OBJECT 'grdAct.cIdFactC.Header1' AS header WITH ; + Alignment = 2, ; + Caption = "Id FactC", ; + FontName = "Arial", ; + FontSize = 10, ; + Name = "Header1" + *< END OBJECT: BaseClass="header" /> + + ADD OBJECT 'grdAct.cIdFactC.Text1' AS textbox WITH ; + BackColor = 255,255,255, ; + BorderStyle = 0, ; + FontName = "Arial", ; + FontSize = 10, ; + ForeColor = 0,0,0, ; + Margin = 0, ; + Name = "Text1", ; + SelectedBackColor = 100,185,255 + *< END OBJECT: BaseClass="textbox" /> + + ADD OBJECT 'grdAct.cIdFactD.Header1' AS header WITH ; + Alignment = 2, ; + Caption = "Id FactD", ; + FontName = "Arial", ; + FontSize = 10, ; + Name = "Header1" + *< END OBJECT: BaseClass="header" /> + + ADD OBJECT 'grdAct.cIdFactD.Text1' AS textbox WITH ; + BackColor = 255,255,255, ; + BorderStyle = 0, ; + FontName = "Arial", ; + FontSize = 10, ; + ForeColor = 0,0,0, ; + Margin = 0, ; + Name = "Text1", ; + SelectedBackColor = 100,185,255 + *< END OBJECT: BaseClass="textbox" /> + + ADD OBJECT 'grdAct.Column1.Header1' AS header WITH ; + Alignment = 2, ; + Caption = "Nr.Crt.", ; + FontName = "Arial", ; + FontSize = 10, ; + Name = "Header1" + *< END OBJECT: BaseClass="header" /> + + ADD OBJECT 'grdAct.Column1.Text1' AS textbox WITH ; + BackColor = 255,255,255, ; + BorderStyle = 0, ; + FontName = "Arial", ; + FontSize = 10, ; + ForeColor = 0,0,0, ; + Margin = 0, ; + Name = "Text1", ; + SelectedBackColor = 100,185,255 + *< END OBJECT: BaseClass="textbox" /> + + ADD OBJECT 'grdAct.Column13.Header1' AS header WITH ; + Alignment = 2, ; + Caption = "Suma", ; + FontName = "Arial", ; + FontSize = 10, ; + Name = "Header1" + *< END OBJECT: BaseClass="header" /> + + ADD OBJECT 'grdAct.Column13.Text1' AS textbox WITH ; + BackColor = 255,255,255, ; + BorderStyle = 0, ; + FontName = "Arial", ; + FontSize = 10, ; + ForeColor = 0,0,0, ; + Margin = 0, ; + Name = "Text1", ; + SelectedBackColor = 100,185,255 + *< END OBJECT: BaseClass="textbox" /> + + ADD OBJECT 'grdAct.Column14.Header1' AS header WITH ; + Alignment = 2, ; + Caption = "Lucrare/Comanda", ; + FontName = "Arial", ; + FontSize = 10, ; + Name = "Header1" + *< END OBJECT: BaseClass="header" /> + + ADD OBJECT 'grdAct.Column14.Text1' AS textbox WITH ; + BackColor = 255,255,255, ; + BorderStyle = 0, ; + FontName = "Arial", ; + FontSize = 10, ; + ForeColor = 0,0,0, ; + Margin = 0, ; + Name = "Text1", ; + SelectedBackColor = 100,185,255 + *< END OBJECT: BaseClass="textbox" /> + + ADD OBJECT 'grdAct.Column15.Header1' AS header WITH ; + Alignment = 2, ; + Caption = "Doc.platit", ; + FontName = "Arial", ; + FontSize = 10, ; + Name = "Header1" + *< END OBJECT: BaseClass="header" /> + + ADD OBJECT 'grdAct.Column15.Text1' AS textbox WITH ; + BackColor = 255,255,255, ; + BorderStyle = 0, ; + FontName = "Arial", ; + FontSize = 10, ; + ForeColor = 0,0,0, ; + Margin = 0, ; + Name = "Text1", ; + SelectedBackColor = 100,185,255 + *< END OBJECT: BaseClass="textbox" /> + + ADD OBJECT 'grdAct.Column16.Header1' AS header WITH ; + Alignment = 2, ; + Caption = "Doc.incasat", ; + FontName = "Arial", ; + FontSize = 10, ; + Name = "Header1" + *< END OBJECT: BaseClass="header" /> + + ADD OBJECT 'grdAct.Column16.Text1' AS textbox WITH ; + BackColor = 255,255,255, ; + BorderStyle = 0, ; + FontName = "Arial", ; + FontSize = 10, ; + ForeColor = 0,0,0, ; + Margin = 0, ; + Name = "Text1", ; + SelectedBackColor = 100,185,255 + *< END OBJECT: BaseClass="textbox" /> + + ADD OBJECT 'grdAct.Column17.Header1' AS header WITH ; + Alignment = 2, ; + Caption = "Data scadenta", ; + FontName = "Arial", ; + FontSize = 10, ; + Name = "Header1" + *< END OBJECT: BaseClass="header" /> + + ADD OBJECT 'grdAct.Column17.Text1' AS textbox WITH ; + BackColor = 255,255,255, ; + BorderStyle = 0, ; + FontName = "Arial", ; + FontSize = 10, ; + ForeColor = 0,0,0, ; + Margin = 0, ; + Name = "Text1", ; + SelectedBackColor = 100,185,255 + *< END OBJECT: BaseClass="textbox" /> + + ADD OBJECT 'grdAct.Column18.Header1' AS header WITH ; + Alignment = 2, ; + Caption = "NIR/Bon", ; + FontName = "Arial", ; + FontSize = 10, ; + Name = "Header1" + *< END OBJECT: BaseClass="header" /> + + ADD OBJECT 'grdAct.Column18.Text1' AS textbox WITH ; + BackColor = 255,255,255, ; + BorderStyle = 0, ; + FontName = "Arial", ; + FontSize = 10, ; + ForeColor = 0,0,0, ; + Margin = 0, ; + Name = "Text1", ; + SelectedBackColor = 100,185,255 + *< END OBJECT: BaseClass="textbox" /> + + ADD OBJECT 'grdAct.Column19.Header1' AS header WITH ; + Alignment = 2, ; + Caption = "Responsabil", ; + FontName = "Arial", ; + FontSize = 10, ; + Name = "Header1" + *< END OBJECT: BaseClass="header" /> + + ADD OBJECT 'grdAct.Column19.Text1' AS textbox WITH ; + BackColor = 255,255,255, ; + BorderStyle = 0, ; + FontName = "Arial", ; + FontSize = 10, ; + ForeColor = 0,0,0, ; + Margin = 0, ; + Name = "Text1", ; + SelectedBackColor = 100,185,255 + *< END OBJECT: BaseClass="textbox" /> + + ADD OBJECT 'grdAct.Column2.Header1' AS header WITH ; + Alignment = 2, ; + Caption = "Fel document", ; + FontName = "Arial", ; + FontSize = 10, ; + Name = "Header1" + *< END OBJECT: BaseClass="header" /> + + ADD OBJECT 'grdAct.Column2.Text1' AS textbox WITH ; + BackColor = 255,255,255, ; + BorderStyle = 0, ; + FontName = "Arial", ; + FontSize = 10, ; + ForeColor = 0,0,0, ; + Margin = 0, ; + Name = "Text1", ; + SelectedBackColor = 100,185,255 + *< END OBJECT: BaseClass="textbox" /> + + ADD OBJECT 'grdAct.Column20.Header1' AS header WITH ; + Alignment = 2, ; + Caption = "Chelt/Venituri", ; + FontName = "Arial", ; + FontSize = 10, ; + Name = "Header1" + *< END OBJECT: BaseClass="header" /> + + ADD OBJECT 'grdAct.Column20.Text1' AS textbox WITH ; + BackColor = 255,255,255, ; + BorderStyle = 0, ; + FontItalic = .F., ; + FontName = "Arial", ; + FontSize = 10, ; + ForeColor = 0,0,0, ; + Margin = 0, ; + Name = "Text1", ; + SelectedBackColor = 100,185,255 + *< END OBJECT: BaseClass="textbox" /> + + ADD OBJECT 'grdAct.Column21.Header1' AS header WITH ; + Alignment = 2, ; + Caption = "Suma in valuta", ; + FontName = "Arial", ; + FontSize = 10, ; + Name = "Header1" + *< END OBJECT: BaseClass="header" /> + + ADD OBJECT 'grdAct.Column21.Text1' AS textbox WITH ; + BackColor = 255,255,255, ; + BorderStyle = 0, ; + FontName = "Arial", ; + FontSize = 10, ; + ForeColor = 0,0,0, ; + Margin = 0, ; + Name = "Text1", ; + SelectedBackColor = 100,185,255 + *< END OBJECT: BaseClass="textbox" /> + + ADD OBJECT 'grdAct.Column22.Header1' AS header WITH ; + Alignment = 2, ; + Caption = "Valuta", ; + FontName = "Arial", ; + FontSize = 10, ; + Name = "Header1" + *< END OBJECT: BaseClass="header" /> + + ADD OBJECT 'grdAct.Column22.Text1' AS textbox WITH ; + BackColor = 255,255,255, ; + BorderStyle = 0, ; + FontName = "Arial", ; + FontSize = 10, ; + ForeColor = 0,0,0, ; + Margin = 0, ; + Name = "Text1", ; + SelectedBackColor = 100,185,255 + *< END OBJECT: BaseClass="textbox" /> + + ADD OBJECT 'grdAct.Column23.Header1' AS header WITH ; + Alignment = 2, ; + Caption = "Curs", ; + FontName = "Arial", ; + FontSize = 10, ; + Name = "Header1" + *< END OBJECT: BaseClass="header" /> + + ADD OBJECT 'grdAct.Column23.Text1' AS textbox WITH ; + BackColor = 255,255,255, ; + BorderStyle = 0, ; + FontName = "Arial", ; + FontSize = 10, ; + ForeColor = 0,0,0, ; + Margin = 0, ; + Name = "Text1", ; + SelectedBackColor = 100,185,255 + *< END OBJECT: BaseClass="textbox" /> + + ADD OBJECT 'grdAct.Column24.Header1' AS header WITH ; + Alignment = 2, ; + Caption = "Contract", ; + FontName = "Arial", ; + FontSize = 10, ; + Name = "Header1" + *< END OBJECT: BaseClass="header" /> + + ADD OBJECT 'grdAct.Column24.Text1' AS textbox WITH ; + BackColor = 255,255,255, ; + BorderStyle = 0, ; + FontName = "Arial", ; + FontSize = 10, ; + ForeColor = 0,0,0, ; + Margin = 0, ; + Name = "Text1", ; + SelectedBackColor = 100,185,255 + *< END OBJECT: BaseClass="textbox" /> + + ADD OBJECT 'grdAct.Column25.Header1' AS header WITH ; + Alignment = 2, ; + Caption = "Sectie", ; + FontName = "Arial", ; + FontSize = 10, ; + Name = "Header1" + *< END OBJECT: BaseClass="header" /> + + ADD OBJECT 'grdAct.Column25.Text1' AS textbox WITH ; + BackColor = 255,255,255, ; + BorderStyle = 0, ; + FontName = "Arial", ; + FontSize = 10, ; + ForeColor = 0,0,0, ; + Margin = 0, ; + Name = "Text1", ; + SelectedBackColor = 100,185,255 + *< END OBJECT: BaseClass="textbox" /> + + ADD OBJECT 'grdAct.Column26.Header1' AS header WITH ; + Alignment = 2, ; + Caption = "Cota TVA", ; + FontName = "Arial", ; + FontSize = 10, ; + Name = "Header1" + *< END OBJECT: BaseClass="header" /> + + ADD OBJECT 'grdAct.Column26.Text1' AS textbox WITH ; + BackColor = 255,255,255, ; + BorderStyle = 0, ; + FontName = "Arial", ; + FontSize = 10, ; + ForeColor = 0,0,0, ; + Margin = 0, ; + Name = "Text1", ; + SelectedBackColor = 100,185,255 + *< END OBJECT: BaseClass="textbox" /> + + ADD OBJECT 'grdAct.Column27.Header1' AS header WITH ; + Alignment = 2, ; + Caption = "Cod", ; + FontName = "Arial", ; + FontSize = 10, ; + Name = "Header1" + *< END OBJECT: BaseClass="header" /> + + ADD OBJECT 'grdAct.Column27.Text1' AS textbox WITH ; + BackColor = 255,255,255, ; + BorderStyle = 0, ; + FontName = "Arial", ; + FontSize = 10, ; + ForeColor = 0,0,0, ; + Margin = 0, ; + Name = "Text1", ; + SelectedBackColor = 100,185,255 + *< END OBJECT: BaseClass="textbox" /> + + ADD OBJECT 'grdAct.Column28.Header1' AS header WITH ; + Alignment = 2, ; + Caption = "Operator introducere", ; + FontName = "Arial", ; + FontSize = 10, ; + Name = "Header1" + *< END OBJECT: BaseClass="header" /> + + ADD OBJECT 'grdAct.Column28.Text1' AS textbox WITH ; + BackColor = 255,255,255, ; + BorderStyle = 0, ; + FontName = "Arial", ; + FontSize = 10, ; + ForeColor = 0,0,0, ; + Margin = 0, ; + Name = "Text1", ; + SelectedBackColor = 100,185,255 + *< END OBJECT: BaseClass="textbox" /> + + ADD OBJECT 'grdAct.Column29.Header1' AS header WITH ; + Alignment = 2, ; + Caption = "Dataora introducerii", ; + FontName = "Arial", ; + FontSize = 10, ; + Name = "Header1" + *< END OBJECT: BaseClass="header" /> + + ADD OBJECT 'grdAct.Column29.Text1' AS textbox WITH ; + BackColor = 255,255,255, ; + BorderStyle = 0, ; + FontName = "Arial", ; + FontSize = 10, ; + ForeColor = 0,0,0, ; + Margin = 0, ; + Name = "Text1", ; + SelectedBackColor = 100,185,255 + *< END OBJECT: BaseClass="textbox" /> + + ADD OBJECT 'grdAct.Column3.Header1' AS header WITH ; + Alignment = 2, ; + Caption = "Data inreg.", ; + FontName = "Arial", ; + FontSize = 10, ; + Name = "Header1" + *< END OBJECT: BaseClass="header" /> + + ADD OBJECT 'grdAct.Column3.Text1' AS textbox WITH ; + BackColor = 255,255,255, ; + BorderStyle = 0, ; + FontName = "Arial", ; + FontSize = 10, ; + ForeColor = 0,0,0, ; + Margin = 0, ; + Name = "Text1", ; + SelectedBackColor = 100,185,255 + *< END OBJECT: BaseClass="textbox" /> + + ADD OBJECT 'grdAct.Column30.Header1' AS header WITH ; + Alignment = 2, ; + Caption = "Operator stergere", ; + FontName = "Arial", ; + FontSize = 10, ; + Name = "Header1" + *< END OBJECT: BaseClass="header" /> + + ADD OBJECT 'grdAct.Column30.Text1' AS textbox WITH ; + BackColor = 255,255,255, ; + BorderStyle = 0, ; + FontName = "Arial", ; + FontSize = 10, ; + ForeColor = 0,0,0, ; + Margin = 0, ; + Name = "Text1", ; + SelectedBackColor = 100,185,255 + *< END OBJECT: BaseClass="textbox" /> + + ADD OBJECT 'grdAct.Column31.Header1' AS header WITH ; + Alignment = 2, ; + Caption = "Dataora stergerii", ; + FontName = "Arial", ; + FontSize = 10, ; + Name = "Header1" + *< END OBJECT: BaseClass="header" /> + + ADD OBJECT 'grdAct.Column31.Text1' AS textbox WITH ; + BackColor = 255,255,255, ; + BorderStyle = 0, ; + FontName = "Arial", ; + FontSize = 10, ; + ForeColor = 0,0,0, ; + Margin = 0, ; + Name = "Text1", ; + SelectedBackColor = 100,185,255 + *< END OBJECT: BaseClass="textbox" /> + + ADD OBJECT 'grdAct.Column32.Header1' AS header WITH ; + Alignment = 2, ; + Caption = "Tip operatie", ; + FontName = "Arial", ; + FontSize = 10, ; + Name = "Header1" + *< END OBJECT: BaseClass="header" /> + + ADD OBJECT 'grdAct.Column32.Text1' AS textbox WITH ; + BackColor = 255,255,255, ; + BorderStyle = 0, ; + FontName = "Arial", ; + FontSize = 10, ; + ForeColor = 0,0,0, ; + Margin = 0, ; + Name = "Text1", ; + SelectedBackColor = 100,185,255 + *< END OBJECT: BaseClass="textbox" /> + + ADD OBJECT 'grdAct.Column33.Header1' AS header WITH ; + Alignment = 2, ; + Caption = "Sucursala", ; + FontName = "Arial", ; + FontSize = 10, ; + Name = "Header1" + *< END OBJECT: BaseClass="header" /> + + ADD OBJECT 'grdAct.Column33.Text1' AS textbox WITH ; + BackColor = 255,255,255, ; + BorderStyle = 0, ; + FontName = "Arial", ; + FontSize = 10, ; + ForeColor = 0,0,0, ; + Margin = 0, ; + Name = "Text1", ; + SelectedBackColor = 100,185,255 + *< END OBJECT: BaseClass="textbox" /> + + ADD OBJECT 'grdAct.Column34.Header1' AS header WITH ; + Alignment = 2, ; + Caption = "Explicatia 4", ; + FontName = "Arial", ; + FontSize = 10, ; + Name = "Header1" + *< END OBJECT: BaseClass="header" /> + + ADD OBJECT 'grdAct.Column34.Text1' AS textbox WITH ; + BackColor = 255,255,255, ; + BorderStyle = 0, ; + FontName = "Arial", ; + FontSize = 10, ; + ForeColor = 0,0,0, ; + Margin = 0, ; + Name = "Text1", ; + SelectedBackColor = 100,185,255 + *< END OBJECT: BaseClass="textbox" /> + + ADD OBJECT 'grdAct.Column35.Header1' AS header WITH ; + Alignment = 2, ; + Caption = "Explicatia 5", ; + FontName = "Arial", ; + FontSize = 10, ; + Name = "Header1" + *< END OBJECT: BaseClass="header" /> + + ADD OBJECT 'grdAct.Column35.Text1' AS textbox WITH ; + BackColor = 255,255,255, ; + BorderStyle = 0, ; + FontName = "Arial", ; + FontSize = 10, ; + ForeColor = 0,0,0, ; + Margin = 0, ; + Name = "Text1", ; + SelectedBackColor = 100,185,255 + *< END OBJECT: BaseClass="textbox" /> + + ADD OBJECT 'grdAct.Column36.Header1' AS header WITH ; + Alignment = 2, ; + Caption = "Gestiune destinatie", ; + FontName = "Arial", ; + FontSize = 10, ; + Name = "Header1" + *< END OBJECT: BaseClass="header" /> + + ADD OBJECT 'grdAct.Column36.Text1' AS textbox WITH ; + BackColor = 255,255,255, ; + BorderStyle = 0, ; + FontName = "Arial", ; + FontSize = 10, ; + ForeColor = 0,0,0, ; + Margin = 0, ; + Name = "Text1", ; + SelectedBackColor = 100,185,255 + *< END OBJECT: BaseClass="textbox" /> + + ADD OBJECT 'grdAct.Column37.Header1' AS header WITH ; + Alignment = 2, ; + Caption = "Gestiune sursa", ; + FontName = "Arial", ; + FontSize = 10, ; + Name = "Header1" + *< END OBJECT: BaseClass="header" /> + + ADD OBJECT 'grdAct.Column37.Text1' AS textbox WITH ; + BackColor = 255,255,255, ; + BorderStyle = 0, ; + FontName = "Arial", ; + FontSize = 10, ; + ForeColor = 0,0,0, ; + Margin = 0, ; + Name = "Text1", ; + SelectedBackColor = 100,185,255 + *< END OBJECT: BaseClass="textbox" /> + + ADD OBJECT 'grdAct.Column38.Header1' AS header WITH ; + Alignment = 2, ; + Caption = "Explicatie TVA", ; + FontName = "Arial", ; + FontSize = 10, ; + Name = "Header1" + *< END OBJECT: BaseClass="header" /> + + ADD OBJECT 'grdAct.Column38.Text1' AS textbox WITH ; + BackColor = 255,255,255, ; + BorderStyle = 0, ; + FontName = "Arial", ; + FontSize = 10, ; + ForeColor = 0,0,0, ; + Margin = 0, ; + Name = "Text1", ; + SelectedBackColor = 100,185,255 + *< END OBJECT: BaseClass="textbox" /> + + ADD OBJECT 'grdAct.Column4.Header1' AS header WITH ; + Alignment = 2, ; + Caption = "Data Act", ; + FontName = "Arial", ; + FontSize = 10, ; + Name = "Header1" + *< END OBJECT: BaseClass="header" /> + + ADD OBJECT 'grdAct.Column4.Text1' AS textbox WITH ; + BackColor = 255,255,255, ; + BorderStyle = 0, ; + FontName = "Arial", ; + FontSize = 10, ; + ForeColor = 0,0,0, ; + Margin = 0, ; + Name = "Text1", ; + SelectedBackColor = 100,185,255 + *< END OBJECT: BaseClass="textbox" /> + + ADD OBJECT 'grdAct.Column5.Header1' AS header WITH ; + Alignment = 2, ; + Caption = "Nr.Doc.", ; + FontName = "Arial", ; + FontSize = 10, ; + Name = "Header1" + *< END OBJECT: BaseClass="header" /> + + ADD OBJECT 'grdAct.Column5.Text1' AS textbox WITH ; + BackColor = 255,255,255, ; + BorderStyle = 0, ; + FontName = "Arial", ; + FontSize = 10, ; + ForeColor = 0,0,0, ; + Margin = 0, ; + Name = "Text1", ; + SelectedBackColor = 100,185,255 + *< END OBJECT: BaseClass="textbox" /> + + ADD OBJECT 'grdAct.Column6.Header1' AS header WITH ; + Alignment = 2, ; + Caption = "Explicatie D", ; + FontName = "Arial", ; + FontSize = 10, ; + Name = "Header1" + *< END OBJECT: BaseClass="header" /> + + ADD OBJECT 'grdAct.Column6.Text1' AS textbox WITH ; + BackColor = 255,255,255, ; + BorderStyle = 0, ; + FontName = "Arial", ; + FontSize = 10, ; + ForeColor = 0,0,0, ; + Margin = 0, ; + Name = "Text1", ; + SelectedBackColor = 100,185,255 + *< END OBJECT: BaseClass="textbox" /> + + ADD OBJECT 'grdAct.Column7.Header1' AS header WITH ; + Alignment = 2, ; + Caption = "Explicatie C", ; + FontName = "Arial", ; + FontSize = 10, ; + Name = "Header1" + *< END OBJECT: BaseClass="header" /> + + ADD OBJECT 'grdAct.Column7.Text1' AS textbox WITH ; + BackColor = 255,255,255, ; + BorderStyle = 0, ; + FontName = "Arial", ; + FontSize = 10, ; + ForeColor = 0,0,0, ; + Margin = 0, ; + Name = "Text1", ; + SelectedBackColor = 100,185,255 + *< END OBJECT: BaseClass="textbox" /> + + ADD OBJECT 'grdAct.Column8.Header1' AS header WITH ; + Alignment = 2, ; + Caption = "Explicatie", ; + FontName = "Arial", ; + FontSize = 10, ; + Name = "Header1" + *< END OBJECT: BaseClass="header" /> + + ADD OBJECT 'grdAct.Column8.Text1' AS textbox WITH ; + BackColor = 255,255,255, ; + BorderStyle = 0, ; + FontName = "Arial", ; + FontSize = 10, ; + ForeColor = 0,0,0, ; + Margin = 0, ; + Name = "Text1", ; + SelectedBackColor = 100,185,255 + *< END OBJECT: BaseClass="textbox" /> + + ADD OBJECT 'grdAct.cScc.Header1' AS header WITH ; + Alignment = 2, ; + Caption = "C Cred", ; + FontName = "Arial", ; + FontSize = 10, ; + Name = "Header1" + *< END OBJECT: BaseClass="header" /> + + ADD OBJECT 'grdAct.cScc.Text1' AS textbox WITH ; + BackColor = 255,255,255, ; + BorderStyle = 0, ; + FontBold = .T., ; + FontName = "Arial", ; + FontSize = 10, ; + ForeColor = 0,0,0, ; + Margin = 0, ; + Name = "Text1", ; + SelectedBackColor = 100,185,255 + *< END OBJECT: BaseClass="textbox" /> + + ADD OBJECT 'grdAct.cScd.Header1' AS header WITH ; + Alignment = 2, ; + Caption = "C Deb", ; + FontName = "Arial", ; + FontSize = 10, ; + Name = "Header1" + *< END OBJECT: BaseClass="header" /> + + ADD OBJECT 'grdAct.cScd.Text1' AS textbox WITH ; + BackColor = 255,255,255, ; + BorderStyle = 0, ; + FontBold = .T., ; + FontName = "Arial", ; + FontSize = 10, ; + ForeColor = 0,0,0, ; + Margin = 0, ; + Name = "Text1", ; + SelectedBackColor = 100,185,255 + *< END OBJECT: BaseClass="textbox" /> + + ADD OBJECT 'grdAct.cSerie_act.Header1' AS header WITH ; + Alignment = 2, ; + Caption = "Serie Doc.", ; + FontName = "Arial", ; + FontSize = 10, ; + Name = "Header1" + *< END OBJECT: BaseClass="header" /> + + ADD OBJECT 'grdAct.cSerie_act.Text1' AS textbox WITH ; + BackColor = 255,255,255, ; + BorderStyle = 0, ; + FontName = "Arial", ; + FontSize = 10, ; + ForeColor = 0,0,0, ; + Margin = 0, ; + Name = "Text1", ; + SelectedBackColor = 100,185,255 + *< END OBJECT: BaseClass="textbox" /> + + ADD OBJECT 'grdRulaje' AS _grdrow WITH ; + Anchor = 15, ; + ColumnCount = 61, ; + DeleteMark = .F., ; + GridLineColor = 128,128,128, ; + Height = 219, ; + Left = 6, ; + Name = "grdRulaje", ; + Panel = 1, ; + ReadOnly = .T., ; + RecordSource = "rul_temp", ; + TabIndex = 3, ; + Tag = "RESIZABLE", ; + Top = 248, ; + Width = 792, ; + ZOrderSet = 0, ; + Column1.ControlSource = "nrcrt()", ; + Column1.FontName = "Arial", ; + Column1.Format = "R", ; + Column1.InputMask = "999 999", ; + Column1.Name = "cNrCrt", ; + Column1.ReadOnly = .T., ; + Column1.Width = 44, ; + Column2.ControlSource = "nnir", ; + Column2.FontName = "Arial", ; + Column2.Name = "cNnir", ; + Column2.ReadOnly = .T., ; + Column2.Width = 60, ; + Column3.ColumnOrder = 3, ; + Column3.ControlSource = "dataact", ; + Column3.FontName = "Arial", ; + Column3.Name = "cDataact", ; + Column3.ReadOnly = .T., ; + Column3.Width = 60, ; + Column4.ColumnOrder = 6, ; + Column4.ControlSource = "codmat", ; + Column4.FontName = "Arial", ; + Column4.Name = "cCodmat", ; + Column4.ReadOnly = .T., ; + Column5.ColumnOrder = 7, ; + Column5.ControlSource = "denumire", ; + Column5.FontName = "Arial", ; + Column5.Name = "cDenumire", ; + Column5.ReadOnly = .T., ; + Column5.Width = 156, ; + Column6.ColumnOrder = 9, ; + Column6.ControlSource = "um", ; + Column6.FontName = "Arial", ; + Column6.Name = "cUM", ; + Column6.ReadOnly = .T., ; + Column6.Width = 39, ; + Column7.ColumnOrder = 19, ; + Column7.ControlSource = "pret", ; + Column7.DynamicForeColor = "IIF(pret>=0, RGB(0,0,0), RGB(255,0,0))", ; + Column7.FontName = "Arial", ; + Column7.Format = "R", ; + Column7.InputMask = (get_mask(12,gnPPRET)), ; + Column7.Name = "cPret", ; + Column7.ReadOnly = .T., ; + Column7.Width = 70, ; + Column8.ColumnOrder = 12, ; + Column8.ControlSource = "cant", ; + Column8.DynamicForeColor = "IIF(cant>=0, RGB(0,0,0), RGB(0,0,255))", ; + Column8.FontName = "Arial", ; + Column8.Format = "R", ; + Column8.InputMask = (get_mask(12,gnPCANT)), ; + Column8.Name = "cCant", ; + Column8.ReadOnly = .T., ; + Column8.Width = 68, ; + Column9.ColumnOrder = 13, ; + Column9.ControlSource = "cante", ; + Column9.FontName = "Arial", ; + Column9.Format = "R", ; + Column9.InputMask = (get_mask(12,gnPCANT)), ; + Column9.Name = "cCante", ; + Column9.ReadOnly = .T., ; + Column9.Width = 68, ; + Column10.ColumnOrder = 14, ; + Column10.ControlSource = "cont", ; + Column10.FontName = "Arial", ; + Column10.Name = "cCont", ; + Column10.ReadOnly = .T., ; + Column10.Width = 46, ; + Column11.ColumnOrder = 61, ; + Column11.ControlSource = "cod", ; + Column11.FontName = "Arial", ; + Column11.Name = "cCod", ; + Column11.ReadOnly = .T., ; + Column12.ColumnOrder = 15, ; + Column12.ControlSource = "acont", ; + Column12.FontName = "Arial", ; + Column12.Name = "cAcont", ; + Column12.ReadOnly = .T., ; + Column12.Width = 46, ; + Column13.ColumnOrder = 16, ; + Column13.ControlSource = "cgest", ; + Column13.FontName = "Arial", ; + Column13.Name = "cGest", ; + Column13.ReadOnly = .T., ; + Column13.Width = 54, ; + Column14.ColumnOrder = 18, ; + Column14.ControlSource = "nrord", ; + Column14.FontName = "Arial", ; + Column14.Name = "cNrord", ; + Column14.ReadOnly = .T., ; + Column15.ColumnOrder = 25, ; + Column15.ControlSource = "curs", ; + Column15.FontName = "Arial", ; + Column15.Format = "R", ; + Column15.InputMask = (get_mask(12,gnPcurs)), ; + Column15.Name = "cCurs", ; + Column15.ReadOnly = .T., ; + Column15.Width = 55, ; + Column16.ColumnOrder = 24, ; + Column16.ControlSource = "pretd", ; + Column16.FontName = "Arial", ; + Column16.Format = "R", ; + Column16.InputMask = (get_mask(12,gnPPretVal)), ; + Column16.Name = "cPretd", ; + Column16.ReadOnly = .T., ; + Column16.Width = 56, ; + Column17.ColumnOrder = 39, ; + Column17.ControlSource = "procent", ; + Column17.FontName = "Arial", ; + Column17.Format = "R", ; + Column17.InputMask = "999 999.99", ; + Column17.Name = "cProcent", ; + Column17.ReadOnly = .T., ; + Column17.Width = 50, ; + Column18.ColumnOrder = 35, ; + Column18.ControlSource = "iif(pretv#0,pretv-pret,0)", ; + Column18.FontName = "Arial", ; + Column18.Format = "R", ; + Column18.InputMask = (get_mask(12,MAX(gnPPret,gnPPretV))), ; + Column18.Name = "cAdaos", ; + Column18.ReadOnly = .T., ; + Column18.Width = 56, ; + Column19.ColumnOrder = 20, ; + Column19.ControlSource = "tva", ; + Column19.FontName = "Arial", ; + Column19.Format = "R", ; + Column19.InputMask = (get_mask(12,gnPPRET)), ; + Column19.Name = "cTva", ; + Column19.ReadOnly = .T., ; + Column19.Width = 75, ; + Column20.ColumnOrder = 21, ; + Column20.ControlSource = "valoareftva", ; + Column20.FontName = "Arial", ; + Column20.Format = "R", ; + Column20.InputMask = (get_mask(12,gnPc)), ; + Column20.Name = "cValoareftva", ; + Column20.ReadOnly = .T., ; + Column21.ColumnOrder = 28, ; + Column21.ControlSource = "pretv", ; + Column21.FontName = "Arial", ; + Column21.Format = "R", ; + Column21.InputMask = (get_mask(12,gnPPRETV)), ; + Column21.Name = "cPretv", ; + Column21.ReadOnly = .T., ; + Column22.ColumnOrder = 29, ; + Column22.ControlSource = "tvav", ; + Column22.FontName = "Arial", ; + Column22.Format = "R", ; + Column22.InputMask = (get_mask(12,gnPPRETV)), ; + Column22.Name = "cTvav", ; + Column22.ReadOnly = .T., ; + Column23.ColumnOrder = 30, ; + Column23.ControlSource = "pretvtva", ; + Column23.FontName = "Arial", ; + Column23.Format = "R", ; + Column23.InputMask = (get_mask(12,gnPPRETV)), ; + Column23.Name = "cPretvtva", ; + Column23.ReadOnly = .T., ; + Column23.Width = 94, ; + Column24.ColumnOrder = 27, ; + Column24.ControlSource = "proc_tva", ; + Column24.FontName = "Arial", ; + Column24.Format = "R", ; + Column24.InputMask = "9.99", ; + Column24.Name = "cProc_tva", ; + Column24.ReadOnly = .T., ; + Column24.Width = 57, ; + Column25.ColumnOrder = 57, ; + Column25.ControlSource = "util", ; + Column25.FontName = "Arial", ; + Column25.Name = "cUtil", ; + Column25.ReadOnly = .T., ; + Column25.Width = 95, ; + Column26.ColumnOrder = 58, ; + Column26.ControlSource = "dataora", ; + Column26.FontName = "Arial", ; + Column26.Name = "cDataora", ; + Column26.ReadOnly = .T., ; + Column26.Width = 95, ; + Column27.ColumnOrder = 45, ; + Column27.ControlSource = "sectie", ; + Column27.FontName = "Arial", ; + Column27.Name = "cSectie", ; + Column27.ReadOnly = .T., ; + Column28.ColumnOrder = 43, ; + Column28.ControlSource = "datain", ; + Column28.FontName = "Arial", ; + Column28.Name = "cDatain", ; + Column28.ReadOnly = .T., ; + Column29.ColumnOrder = 44, ; + Column29.ControlSource = "dataout", ; + Column29.FontName = "Arial", ; + Column29.Name = "cDataOut", ; + Column29.ReadOnly = .T., ; + Column30.ColumnOrder = 46, ; + Column30.ControlSource = "nresp", ; + Column30.FontName = "Arial", ; + Column30.Name = "cNresp", ; + Column30.ReadOnly = .T., ; + Column30.Width = 116, ; + Column31.ColumnOrder = 17, ; + Column31.ControlSource = "cgestc", ; + Column31.FontName = "Arial", ; + Column31.Name = "cGestC", ; + Column31.ReadOnly = .T., ; + Column32.ColumnOrder = 47, ; + Column32.ControlSource = "nrespc", ; + Column32.FontName = "Arial", ; + Column32.Name = "cNrespC", ; + Column32.ReadOnly = .T., ; + Column32.Width = 91, ; + Column33.ColumnOrder = 48, ; + Column33.ControlSource = "tip_rulaj", ; + Column33.FontName = "Arial", ; + Column33.Name = "cTipRulaj", ; + Column33.ReadOnly = .T., ; + Column34.ColumnOrder = 10, ; + Column34.ControlSource = "cant_bax", ; + Column34.FontName = "Arial", ; + Column34.Name = "Column34", ; + Column34.ReadOnly = .T., ; + Column34.Width = 41, ; + Column35.ColumnOrder = 11, ; + Column35.ControlSource = "um2", ; + Column35.FontName = "Arial", ; + Column35.Name = "Column35", ; + Column35.ReadOnly = .T., ; + Column35.Width = 35, ; + Column36.ColumnOrder = 49, ; + Column36.ControlSource = "grupa", ; + Column36.FontName = "Arial", ; + Column36.Name = "cGrupa", ; + Column36.ReadOnly = .T., ; + Column36.Width = 53, ; + Column37.ColumnOrder = 5, ; + Column37.ControlSource = "nract", ; + Column37.FontName = "Arial", ; + Column37.Name = "cNract", ; + Column37.ReadOnly = .T., ; + Column37.Width = 61, ; + Column38.ColumnOrder = 50, ; + Column38.ControlSource = "subgrupa", ; + Column38.FontName = "Arial", ; + Column38.Name = "cSubgrupa", ; + Column38.ReadOnly = .T., ; + Column38.Width = 71, ; + Column39.ColumnOrder = 59, ; + Column39.ControlSource = "utils", ; + Column39.FontName = "Arial", ; + Column39.Name = "cUtils", ; + Column39.ReadOnly = .T., ; + Column40.ColumnOrder = 60, ; + Column40.ControlSource = "dataoras", ; + Column40.FontName = "Arial", ; + Column40.Name = "cDataoras", ; + Column40.ReadOnly = .T., ; + Column40.Width = 80, ; + Column41.ColumnOrder = 8, ; + Column41.ControlSource = "serie", ; + Column41.FontName = "Arial", ; + Column41.Name = "cSerie", ; + Column41.ReadOnly = .T., ; + Column41.Width = 122, ; + Column42.ColumnOrder = 26, ; + Column42.ControlSource = "nume_val", ; + Column42.FontName = "Arial", ; + Column42.Name = "cNume_val", ; + Column42.ReadOnly = .T., ; + Column42.Width = 52, ; + Column43.ColumnOrder = 4, ; + Column43.ControlSource = "serie_act", ; + Column43.FontName = "Arial", ; + Column43.Name = "cSerie_act", ; + Column43.ReadOnly = .T., ; + Column43.Width = 43, ; + Column44.ColumnOrder = 51, ; + Column44.ControlSource = "codmatf", ; + Column44.FontName = "Arial", ; + Column44.Name = "cCodmatF", ; + Column44.ReadOnly = .T., ; + Column45.ColumnOrder = 52, ; + Column45.ControlSource = "lot", ; + Column45.FontName = "Arial", ; + Column45.Name = "cLot", ; + Column45.ReadOnly = .T., ; + Column46.ColumnOrder = 53, ; + Column46.ControlSource = "adata_expirare", ; + Column46.FontName = "Arial", ; + Column46.Name = "cDataExpirare", ; + Column46.ReadOnly = .T., ; + Column47.ColumnOrder = 56, ; + Column47.ControlSource = "sucursala", ; + Column47.FontName = "Arial", ; + Column47.Name = "cSucursala", ; + Column47.ReadOnly = .T., ; + Column48.ColumnOrder = 54, ; + Column48.ControlSource = "part_rez", ; + Column48.FontName = "Arial", ; + Column48.Name = "cPart_rez", ; + Column48.ReadOnly = .T., ; + Column49.ColumnOrder = 55, ; + Column49.ControlSource = "nrord_rez", ; + Column49.FontName = "Arial", ; + Column49.Name = "cNrord_rez", ; + Column49.ReadOnly = .T., ; + Column50.ColumnOrder = 22, ; + Column50.ControlSource = "valoaretva", ; + Column50.FontName = "Arial", ; + Column50.Format = "r", ; + Column50.InputMask = (get_mask(12,gnPc)), ; + Column50.Name = "cValoaretva", ; + Column50.ReadOnly = .T., ; + Column50.Width = 98, ; + Column51.ColumnOrder = 31, ; + Column51.ControlSource = "valoarevftva", ; + Column51.FontName = "Arial", ; + Column51.Format = "r", ; + Column51.InputMask = (get_mask(12,gnPc)), ; + Column51.Name = "cValoarevftva", ; + Column51.ReadOnly = .T., ; + Column52.ColumnOrder = 34, ; + Column52.ControlSource = "proc_tvav", ; + Column52.FontName = "Arial", ; + Column52.Name = "cProc_tvav", ; + Column52.ReadOnly = .T., ; + Column52.Width = 76, ; + Column53.ColumnOrder = 36, ; + Column53.ControlSource = "adaos_tva", ; + Column53.FontName = "Arial", ; + Column53.InputMask = (get_mask(12,MAX(gnPPret,gnPPretV))), ; + Column53.Name = "cAdaos_tva", ; + Column53.ReadOnly = .T., ; + Column54.ColumnOrder = 37, ; + Column54.ControlSource = "valoare_adaosftva", ; + Column54.FontName = "Arial", ; + Column54.Format = "r", ; + Column54.InputMask = (get_mask(12,gnPc)), ; + Column54.Name = "cValoare_adaosftva", ; + Column54.ReadOnly = .T., ; + Column55.ColumnOrder = 38, ; + Column55.ControlSource = "valoare_adaostva", ; + Column55.FontName = "Arial", ; + Column55.Format = "r", ; + Column55.InputMask = (get_mask(12,gnPc)), ; + Column55.Name = "cvaloare_adaostva", ; + Column55.ReadOnly = .T., ; + Column56.ColumnOrder = 40, ; + Column56.ControlSource = "discunitar", ; + Column56.FontName = "Arial", ; + Column56.InputMask = (get_mask(12,gnPPretV)), ; + Column56.Name = "cDiscunitar", ; + Column56.ReadOnly = .T., ; + Column57.ColumnOrder = 41, ; + Column57.ControlSource = "discunitar_tva", ; + Column57.FontName = "Arial", ; + Column57.InputMask = (get_mask(12,gnPPretV)), ; + Column57.Name = "cDiscunitar_tva", ; + Column57.ReadOnly = .T., ; + Column57.Width = 77, ; + Column58.ColumnOrder = 42, ; + Column58.ControlSource = "proc_disc", ; + Column58.FontName = "Arial", ; + Column58.Name = "cProc_disc", ; + Column58.ReadOnly = .T., ; + Column59.ColumnOrder = 23, ; + Column59.ControlSource = "valoarecTVA", ; + Column59.FontName = "Arial", ; + Column59.InputMask = (get_mask(12,gnPc)), ; + Column59.Name = "cvaloarecTVA", ; + Column59.ReadOnly = .T., ; + Column59.Width = 107, ; + Column60.ColumnOrder = 32, ; + Column60.ControlSource = "valoarevTVA", ; + Column60.FontName = "Arial", ; + Column60.Name = "cvaloarevTVA", ; + Column60.ReadOnly = .T., ; + Column60.Width = 103, ; + Column61.ColumnOrder = 33, ; + Column61.ControlSource = "valoarevctva", ; + Column61.FontName = "Arial", ; + Column61.InputMask = (get_mask(12,gnPc)), ; + Column61.Name = "cvaloarevcTVA", ; + Column61.ReadOnly = .T., ; + Column61.Width = 107 + *< END OBJECT: ClassLib="_grd_base.vcx" BaseClass="grid" /> + + ADD OBJECT 'grdRulaje.cAcont.Header1' AS header WITH ; + Alignment = 2, ; + Caption = "Analitic", ; + FontName = "Arial", ; + Name = "Header1" + *< END OBJECT: BaseClass="header" /> + + ADD OBJECT 'grdRulaje.cAcont.Text1' AS textbox WITH ; + BackColor = 255,255,255, ; + BorderStyle = 0, ; + FontName = "Arial", ; + ForeColor = 0,0,0, ; + Margin = 0, ; + Name = "Text1", ; + ReadOnly = .T., ; + SelectedBackColor = 100,185,255 + *< END OBJECT: BaseClass="textbox" /> + + ADD OBJECT 'grdRulaje.cAdaos.Header1' AS header WITH ; + Alignment = 2, ; + Caption = "Adaos", ; + FontName = "Arial", ; + Name = "Header1" + *< END OBJECT: BaseClass="header" /> + + ADD OBJECT 'grdRulaje.cAdaos.Text1' AS textbox WITH ; + BackColor = 255,255,255, ; + BorderStyle = 0, ; + FontName = "Arial", ; + ForeColor = 0,0,0, ; + Margin = 0, ; + Name = "Text1", ; + ReadOnly = .T., ; + SelectedBackColor = 100,185,255 + *< END OBJECT: BaseClass="textbox" /> + + ADD OBJECT 'grdRulaje.cAdaos_tva.Header1' AS header WITH ; + Alignment = 2, ; + Caption = "TVA adaos", ; + FontName = "Arial", ; + Name = "Header1" + *< END OBJECT: BaseClass="header" /> + + ADD OBJECT 'grdRulaje.cAdaos_tva.Text1' AS textbox WITH ; + BackColor = 255,255,255, ; + BorderStyle = 0, ; + FontName = "Arial", ; + ForeColor = 0,0,0, ; + Margin = 0, ; + Name = "Text1", ; + SelectedBackColor = 100,185,255 + *< END OBJECT: BaseClass="textbox" /> + + ADD OBJECT 'grdRulaje.cCant.Header1' AS header WITH ; + Alignment = 2, ; + Caption = "Intrari", ; + FontName = "Arial", ; + Name = "Header1" + *< END OBJECT: BaseClass="header" /> + + ADD OBJECT 'grdRulaje.cCant.Text1' AS textbox WITH ; + BackColor = 255,255,255, ; + BorderStyle = 0, ; + FontName = "Arial", ; + ForeColor = 0,0,0, ; + Margin = 0, ; + Name = "Text1", ; + ReadOnly = .T., ; + SelectedBackColor = 100,185,255 + *< END OBJECT: BaseClass="textbox" /> + + ADD OBJECT 'grdRulaje.cCante.Header1' AS header WITH ; + Alignment = 2, ; + Caption = "Iesiri", ; + FontName = "Arial", ; + Name = "Header1" + *< END OBJECT: BaseClass="header" /> + + ADD OBJECT 'grdRulaje.cCante.Text1' AS textbox WITH ; + BackColor = 255,255,255, ; + BorderStyle = 0, ; + FontName = "Arial", ; + ForeColor = 0,0,0, ; + Margin = 0, ; + Name = "Text1", ; + ReadOnly = .T., ; + SelectedBackColor = 100,185,255 + *< END OBJECT: BaseClass="textbox" /> + + ADD OBJECT 'grdRulaje.cCod.Header1' AS header WITH ; + Alignment = 2, ; + Caption = "Cod", ; + FontName = "Arial", ; + Name = "Header1" + *< END OBJECT: BaseClass="header" /> + + ADD OBJECT 'grdRulaje.cCod.Text1' AS textbox WITH ; + BackColor = 255,255,255, ; + BorderStyle = 0, ; + FontName = "Arial", ; + ForeColor = 0,0,0, ; + Margin = 0, ; + Name = "Text1", ; + ReadOnly = .T., ; + SelectedBackColor = 100,185,255 + *< END OBJECT: BaseClass="textbox" /> + + ADD OBJECT 'grdRulaje.cCodmat.Header1' AS header WITH ; + Alignment = 2, ; + Caption = "Cod material", ; + FontName = "Arial", ; + Name = "Header1" + *< END OBJECT: BaseClass="header" /> + + ADD OBJECT 'grdRulaje.cCodmat.Text1' AS textbox WITH ; + BackColor = 255,255,255, ; + BorderStyle = 0, ; + FontName = "Arial", ; + ForeColor = 0,0,0, ; + Margin = 0, ; + Name = "Text1", ; + ReadOnly = .T., ; + SelectedBackColor = 100,185,255 + *< END OBJECT: BaseClass="textbox" /> + + ADD OBJECT 'grdRulaje.cCodmatF.Header1' AS header WITH ; + Alignment = 2, ; + Caption = "Cod furnizor", ; + FontName = "Arial", ; + Name = "Header1" + *< END OBJECT: BaseClass="header" /> + + ADD OBJECT 'grdRulaje.cCodmatF.Text1' AS textbox WITH ; + BackColor = 255,255,255, ; + BorderStyle = 0, ; + FontName = "Arial", ; + ForeColor = 0,0,0, ; + Margin = 0, ; + Name = "Text1", ; + SelectedBackColor = 100,185,255 + *< END OBJECT: BaseClass="textbox" /> + + ADD OBJECT 'grdRulaje.cCont.Header1' AS header WITH ; + Alignment = 2, ; + Caption = "Cont", ; + FontName = "Arial", ; + Name = "Header1" + *< END OBJECT: BaseClass="header" /> + + ADD OBJECT 'grdRulaje.cCont.Text1' AS textbox WITH ; + BackColor = 255,255,255, ; + BorderStyle = 0, ; + FontName = "Arial", ; + ForeColor = 0,0,0, ; + Margin = 0, ; + Name = "Text1", ; + ReadOnly = .T., ; + SelectedBackColor = 100,185,255 + *< END OBJECT: BaseClass="textbox" /> + + ADD OBJECT 'grdRulaje.cCurs.Header1' AS header WITH ; + Alignment = 2, ; + Caption = "Curs valutar", ; + FontName = "Arial", ; + Name = "Header1" + *< END OBJECT: BaseClass="header" /> + + ADD OBJECT 'grdRulaje.cCurs.Text1' AS textbox WITH ; + BackColor = 255,255,255, ; + BorderStyle = 0, ; + FontName = "Arial", ; + ForeColor = 0,0,0, ; + Margin = 0, ; + Name = "Text1", ; + ReadOnly = .T., ; + SelectedBackColor = 100,185,255 + *< END OBJECT: BaseClass="textbox" /> + + ADD OBJECT 'grdRulaje.cDataact.Header1' AS header WITH ; + Alignment = 2, ; + Caption = "Data act", ; + FontName = "Arial", ; + Name = "Header1" + *< END OBJECT: BaseClass="header" /> + + ADD OBJECT 'grdRulaje.cDataact.Text1' AS textbox WITH ; + BackColor = 255,255,255, ; + BorderStyle = 0, ; + FontName = "Arial", ; + ForeColor = 0,0,0, ; + Margin = 0, ; + Name = "Text1", ; + ReadOnly = .T., ; + SelectedBackColor = 100,185,255 + *< END OBJECT: BaseClass="textbox" /> + + ADD OBJECT 'grdRulaje.cDataExpirare.Header1' AS header WITH ; + Alignment = 2, ; + Caption = "Data expirare", ; + FontName = "Arial", ; + Name = "Header1" + *< END OBJECT: BaseClass="header" /> + + ADD OBJECT 'grdRulaje.cDataExpirare.Text1' AS textbox WITH ; + BackColor = 255,255,255, ; + BorderStyle = 0, ; + FontName = "Arial", ; + ForeColor = 0,0,0, ; + Margin = 0, ; + Name = "Text1", ; + SelectedBackColor = 100,185,255 + *< END OBJECT: BaseClass="textbox" /> + + ADD OBJECT 'grdRulaje.cDatain.Header1' AS header WITH ; + Alignment = 2, ; + Caption = "Data intrare", ; + FontName = "Arial", ; + Name = "Header1" + *< END OBJECT: BaseClass="header" /> + + ADD OBJECT 'grdRulaje.cDatain.Text1' AS textbox WITH ; + BackColor = 255,255,255, ; + BorderStyle = 0, ; + FontName = "Arial", ; + ForeColor = 0,0,0, ; + Margin = 0, ; + Name = "Text1", ; + ReadOnly = .T., ; + SelectedBackColor = 100,185,255 + *< END OBJECT: BaseClass="textbox" /> + + ADD OBJECT 'grdRulaje.cDataora.Header1' AS header WITH ; + Alignment = 2, ; + Caption = "Dataora introducerii", ; + FontName = "Arial", ; + Name = "Header1" + *< END OBJECT: BaseClass="header" /> + + ADD OBJECT 'grdRulaje.cDataora.Text1' AS textbox WITH ; + BackColor = 255,255,255, ; + BorderStyle = 0, ; + FontName = "Arial", ; + ForeColor = 0,0,0, ; + Margin = 0, ; + Name = "Text1", ; + ReadOnly = .T., ; + SelectedBackColor = 100,185,255 + *< END OBJECT: BaseClass="textbox" /> + + ADD OBJECT 'grdRulaje.cDataoras.Header1' AS header WITH ; + Alignment = 2, ; + Caption = "Data / ora stergerii", ; + FontName = "Arial", ; + Name = "Header1" + *< END OBJECT: BaseClass="header" /> + + ADD OBJECT 'grdRulaje.cDataoras.Text1' AS textbox WITH ; + BackColor = 255,255,255, ; + BorderStyle = 0, ; + FontName = "Arial", ; + ForeColor = 0,0,0, ; + Margin = 0, ; + Name = "Text1", ; + SelectedBackColor = 100,185,255 + *< END OBJECT: BaseClass="textbox" /> + + ADD OBJECT 'grdRulaje.cDataOut.Header1' AS header WITH ; + Alignment = 2, ; + Caption = "Data iesire", ; + FontName = "Arial", ; + Name = "Header1" + *< END OBJECT: BaseClass="header" /> + + ADD OBJECT 'grdRulaje.cDataOut.Text1' AS textbox WITH ; + BackColor = 255,255,255, ; + BorderStyle = 0, ; + FontName = "Arial", ; + ForeColor = 0,0,0, ; + Margin = 0, ; + Name = "Text1", ; + ReadOnly = .T., ; + SelectedBackColor = 100,185,255 + *< END OBJECT: BaseClass="textbox" /> + + ADD OBJECT 'grdRulaje.cDenumire.Header1' AS header WITH ; + Alignment = 2, ; + Caption = "Denumire", ; + FontName = "Arial", ; + Name = "Header1" + *< END OBJECT: BaseClass="header" /> + + ADD OBJECT 'grdRulaje.cDenumire.Text1' AS textbox WITH ; + BackColor = 255,255,255, ; + BorderStyle = 0, ; + FontName = "Arial", ; + ForeColor = 0,0,0, ; + Margin = 0, ; + Name = "Text1", ; + ReadOnly = .T., ; + SelectedBackColor = 100,185,255 + *< END OBJECT: BaseClass="textbox" /> + + ADD OBJECT 'grdRulaje.cDiscunitar.Header1' AS header WITH ; + Alignment = 2, ; + Caption = "Discount unitar", ; + FontName = "Arial", ; + Name = "Header1" + *< END OBJECT: BaseClass="header" /> + + ADD OBJECT 'grdRulaje.cDiscunitar.Text1' AS textbox WITH ; + BackColor = 255,255,255, ; + BorderStyle = 0, ; + FontName = "Arial", ; + ForeColor = 0,0,0, ; + Margin = 0, ; + Name = "Text1", ; + SelectedBackColor = 100,185,255 + *< END OBJECT: BaseClass="textbox" /> + + ADD OBJECT 'grdRulaje.cDiscunitar_tva.Header1' AS header WITH ; + Alignment = 2, ; + Caption = "TVA discount unitar", ; + FontName = "Arial", ; + Name = "Header1" + *< END OBJECT: BaseClass="header" /> + + ADD OBJECT 'grdRulaje.cDiscunitar_tva.Text1' AS textbox WITH ; + BackColor = 255,255,255, ; + BorderStyle = 0, ; + FontName = "Arial", ; + ForeColor = 0,0,0, ; + Margin = 0, ; + Name = "Text1", ; + SelectedBackColor = 100,185,255 + *< END OBJECT: BaseClass="textbox" /> + + ADD OBJECT 'grdRulaje.cGest.Header1' AS header WITH ; + Alignment = 2, ; + Caption = "Gestiunea", ; + FontName = "Arial", ; + Name = "Header1" + *< END OBJECT: BaseClass="header" /> + + ADD OBJECT 'grdRulaje.cGest.Text1' AS textbox WITH ; + BackColor = 255,255,255, ; + BorderStyle = 0, ; + FontName = "Arial", ; + ForeColor = 0,0,0, ; + Margin = 0, ; + Name = "Text1", ; + ReadOnly = .T., ; + SelectedBackColor = 100,185,255 + *< END OBJECT: BaseClass="textbox" /> + + ADD OBJECT 'grdRulaje.cGestC.Header1' AS header WITH ; + Alignment = 2, ; + Caption = "Gestiune C", ; + FontName = "Arial", ; + Name = "Header1" + *< END OBJECT: BaseClass="header" /> + + ADD OBJECT 'grdRulaje.cGestC.Text1' AS textbox WITH ; + BackColor = 255,255,255, ; + BorderStyle = 0, ; + FontName = "Arial", ; + ForeColor = 0,0,0, ; + Margin = 0, ; + Name = "Text1", ; + ReadOnly = .T., ; + SelectedBackColor = 100,185,255 + *< END OBJECT: BaseClass="textbox" /> + + ADD OBJECT 'grdRulaje.cGrupa.Header1' AS header WITH ; + Alignment = 2, ; + Caption = "Grupa", ; + FontName = "Arial", ; + Name = "Header1" + *< END OBJECT: BaseClass="header" /> + + ADD OBJECT 'grdRulaje.cGrupa.Text1' AS textbox WITH ; + BackColor = 255,255,255, ; + BorderStyle = 0, ; + FontName = "Arial", ; + ForeColor = 0,0,0, ; + Margin = 0, ; + Name = "Text1", ; + SelectedBackColor = 100,185,255 + *< END OBJECT: BaseClass="textbox" /> + + ADD OBJECT 'grdRulaje.cLot.Header1' AS header WITH ; + Alignment = 2, ; + Caption = "Lot", ; + FontName = "Arial", ; + Name = "Header1" + *< END OBJECT: BaseClass="header" /> + + ADD OBJECT 'grdRulaje.cLot.Text1' AS textbox WITH ; + BackColor = 255,255,255, ; + BorderStyle = 0, ; + FontName = "Arial", ; + ForeColor = 0,0,0, ; + Margin = 0, ; + Name = "Text1", ; + SelectedBackColor = 100,185,255 + *< END OBJECT: BaseClass="textbox" /> + + ADD OBJECT 'grdRulaje.cNnir.Header1' AS header WITH ; + Alignment = 2, ; + Caption = "Nr. NIR/Bon", ; + FontName = "Arial", ; + Name = "Header1" + *< END OBJECT: BaseClass="header" /> + + ADD OBJECT 'grdRulaje.cNnir.Text1' AS textbox WITH ; + BackColor = 255,255,255, ; + BorderStyle = 0, ; + FontName = "Arial", ; + ForeColor = 0,0,0, ; + Margin = 0, ; + Name = "Text1", ; + ReadOnly = .T., ; + SelectedBackColor = 100,185,255 + *< END OBJECT: BaseClass="textbox" /> + + ADD OBJECT 'grdRulaje.cNract.Header1' AS header WITH ; + Alignment = 2, ; + Caption = "Nr.act", ; + FontName = "Arial", ; + Name = "Header1" + *< END OBJECT: BaseClass="header" /> + + ADD OBJECT 'grdRulaje.cNract.Text1' AS textbox WITH ; + BackColor = 255,255,255, ; + BorderStyle = 0, ; + FontName = "Arial", ; + ForeColor = 0,0,0, ; + Margin = 0, ; + Name = "Text1", ; + SelectedBackColor = 100,185,255 + *< END OBJECT: BaseClass="textbox" /> + + ADD OBJECT 'grdRulaje.cNrCrt.Header1' AS header WITH ; + Alignment = 2, ; + Caption = "Nr.crt.", ; + FontName = "Arial", ; + Name = "Header1" + *< END OBJECT: BaseClass="header" /> + + ADD OBJECT 'grdRulaje.cNrCrt.Text1' AS textbox WITH ; + BackColor = 255,255,255, ; + BorderStyle = 0, ; + FontName = "Arial", ; + ForeColor = 0,0,0, ; + Margin = 0, ; + Name = "Text1", ; + ReadOnly = .T., ; + SelectedBackColor = 100,185,255 + *< END OBJECT: BaseClass="textbox" /> + + ADD OBJECT 'grdRulaje.cNresp.Header1' AS header WITH ; + Alignment = 2, ; + Caption = "Responsabil", ; + FontName = "Arial", ; + Name = "Header1" + *< END OBJECT: BaseClass="header" /> + + ADD OBJECT 'grdRulaje.cNresp.Text1' AS textbox WITH ; + BackColor = 255,255,255, ; + BorderStyle = 0, ; + FontName = "Arial", ; + ForeColor = 0,0,0, ; + Margin = 0, ; + Name = "Text1", ; + ReadOnly = .T., ; + SelectedBackColor = 100,185,255 + *< END OBJECT: BaseClass="textbox" /> + + ADD OBJECT 'grdRulaje.cNrespC.Header1' AS header WITH ; + Alignment = 2, ; + Caption = "Responsabil C", ; + FontName = "Arial", ; + Name = "Header1" + *< END OBJECT: BaseClass="header" /> + + ADD OBJECT 'grdRulaje.cNrespC.Text1' AS textbox WITH ; + BackColor = 255,255,255, ; + BorderStyle = 0, ; + FontName = "Arial", ; + ForeColor = 0,0,0, ; + Margin = 0, ; + Name = "Text1", ; + ReadOnly = .T., ; + SelectedBackColor = 100,185,255 + *< END OBJECT: BaseClass="textbox" /> + + ADD OBJECT 'grdRulaje.cNrord.Header1' AS header WITH ; + Alignment = 2, ; + Caption = "Lucrare/Comanda", ; + FontName = "Arial", ; + Name = "Header1" + *< END OBJECT: BaseClass="header" /> + + ADD OBJECT 'grdRulaje.cNrord.Text1' AS textbox WITH ; + BackColor = 255,255,255, ; + BorderStyle = 0, ; + FontName = "Arial", ; + ForeColor = 0,0,0, ; + Margin = 0, ; + Name = "Text1", ; + ReadOnly = .T., ; + SelectedBackColor = 100,185,255 + *< END OBJECT: BaseClass="textbox" /> + + ADD OBJECT 'grdRulaje.cNrord_rez.Header1' AS header WITH ; + Alignment = 2, ; + Caption = "Lucrare rez.", ; + FontName = "Arial", ; + Name = "Header1" + *< END OBJECT: BaseClass="header" /> + + ADD OBJECT 'grdRulaje.cNrord_rez.Text1' AS textbox WITH ; + BackColor = 255,255,255, ; + BorderStyle = 0, ; + FontName = "Arial", ; + ForeColor = 0,0,0, ; + Margin = 0, ; + Name = "Text1", ; + SelectedBackColor = 100,185,255 + *< END OBJECT: BaseClass="textbox" /> + + ADD OBJECT 'grdRulaje.cNume_val.Header1' AS header WITH ; + Alignment = 2, ; + Caption = "Valuta", ; + FontName = "Arial", ; + Name = "Header1" + *< END OBJECT: BaseClass="header" /> + + ADD OBJECT 'grdRulaje.cNume_val.Text1' AS textbox WITH ; + BackColor = 255,255,255, ; + BorderStyle = 0, ; + FontName = "Arial", ; + ForeColor = 0,0,0, ; + Margin = 0, ; + Name = "Text1", ; + SelectedBackColor = 100,185,255 + *< END OBJECT: BaseClass="textbox" /> + + ADD OBJECT 'grdRulaje.Column34.Header1' AS header WITH ; + Alignment = 2, ; + Caption = "Cant 2", ; + FontName = "Arial", ; + Name = "Header1" + *< END OBJECT: BaseClass="header" /> + + ADD OBJECT 'grdRulaje.Column34.Text1' AS textbox WITH ; + BackColor = 255,255,255, ; + BorderStyle = 0, ; + FontName = "Arial", ; + ForeColor = 0,0,0, ; + Margin = 0, ; + Name = "Text1", ; + SelectedBackColor = 100,185,255 + *< END OBJECT: BaseClass="textbox" /> + + ADD OBJECT 'grdRulaje.Column35.Header1' AS header WITH ; + Alignment = 2, ; + Caption = "UM 2", ; + FontName = "Arial", ; + Name = "Header1" + *< END OBJECT: BaseClass="header" /> + + ADD OBJECT 'grdRulaje.Column35.Text1' AS textbox WITH ; + BackColor = 255,255,255, ; + BorderStyle = 0, ; + FontName = "Arial", ; + ForeColor = 0,0,0, ; + Margin = 0, ; + Name = "Text1", ; + SelectedBackColor = 100,185,255 + *< END OBJECT: BaseClass="textbox" /> + + ADD OBJECT 'grdRulaje.cPart_rez.Header1' AS header WITH ; + Alignment = 2, ; + Caption = "Part. rez.", ; + FontName = "Arial", ; + Name = "Header1" + *< END OBJECT: BaseClass="header" /> + + ADD OBJECT 'grdRulaje.cPart_rez.Text1' AS textbox WITH ; + BackColor = 255,255,255, ; + BorderStyle = 0, ; + FontName = "Arial", ; + ForeColor = 0,0,0, ; + Margin = 0, ; + Name = "Text1", ; + SelectedBackColor = 100,185,255 + *< END OBJECT: BaseClass="textbox" /> + + ADD OBJECT 'grdRulaje.cPret.Header1' AS header WITH ; + Alignment = 2, ; + Caption = "Pret", ; + FontName = "Arial", ; + Name = "Header1" + *< END OBJECT: BaseClass="header" /> + + ADD OBJECT 'grdRulaje.cPret.Text1' AS textbox WITH ; + BackColor = 255,255,255, ; + BorderStyle = 0, ; + FontName = "Arial", ; + ForeColor = 0,0,0, ; + Margin = 0, ; + Name = "Text1", ; + ReadOnly = .T., ; + SelectedBackColor = 100,185,255 + *< END OBJECT: BaseClass="textbox" /> + + ADD OBJECT 'grdRulaje.cPretd.Header1' AS header WITH ; + Alignment = 2, ; + Caption = "Pret in valuta", ; + FontName = "Arial", ; + Name = "Header1" + *< END OBJECT: BaseClass="header" /> + + ADD OBJECT 'grdRulaje.cPretd.Text1' AS textbox WITH ; + BackColor = 255,255,255, ; + BorderStyle = 0, ; + FontName = "Arial", ; + ForeColor = 0,0,0, ; + Margin = 0, ; + Name = "Text1", ; + ReadOnly = .T., ; + SelectedBackColor = 100,185,255 + *< END OBJECT: BaseClass="textbox" /> + + ADD OBJECT 'grdRulaje.cPretv.Header1' AS header WITH ; + Alignment = 2, ; + Caption = "Pret vanzare", ; + FontName = "Arial", ; + Name = "Header1" + *< END OBJECT: BaseClass="header" /> + + ADD OBJECT 'grdRulaje.cPretv.Text1' AS textbox WITH ; + BackColor = 255,255,255, ; + BorderStyle = 0, ; + FontName = "Arial", ; + ForeColor = 0,0,0, ; + Margin = 0, ; + Name = "Text1", ; + ReadOnly = .T., ; + SelectedBackColor = 100,185,255 + *< END OBJECT: BaseClass="textbox" /> + + ADD OBJECT 'grdRulaje.cPretvtva.Header1' AS header WITH ; + Alignment = 2, ; + Caption = "Pret vanzare cu TVA", ; + FontName = "Arial", ; + Name = "Header1" + *< END OBJECT: BaseClass="header" /> + + ADD OBJECT 'grdRulaje.cPretvtva.Text1' AS textbox WITH ; + BackColor = 255,255,255, ; + BorderStyle = 0, ; + FontName = "Arial", ; + ForeColor = 0,0,0, ; + Margin = 0, ; + Name = "Text1", ; + ReadOnly = .T., ; + SelectedBackColor = 100,185,255 + *< END OBJECT: BaseClass="textbox" /> + + ADD OBJECT 'grdRulaje.cProc_disc.Header1' AS header WITH ; + Alignment = 2, ; + Caption = "Procent discount", ; + FontName = "Arial", ; + Name = "Header1" + *< END OBJECT: BaseClass="header" /> + + ADD OBJECT 'grdRulaje.cProc_disc.Text1' AS textbox WITH ; + BackColor = 255,255,255, ; + BorderStyle = 0, ; + FontName = "Arial", ; + ForeColor = 0,0,0, ; + Margin = 0, ; + Name = "Text1", ; + SelectedBackColor = 100,185,255 + *< END OBJECT: BaseClass="textbox" /> + + ADD OBJECT 'grdRulaje.cProc_tva.Header1' AS header WITH ; + Alignment = 2, ; + Caption = "Cota TVA", ; + FontName = "Arial", ; + Name = "Header1" + *< END OBJECT: BaseClass="header" /> + + ADD OBJECT 'grdRulaje.cProc_tva.Text1' AS textbox WITH ; + BackColor = 255,255,255, ; + BorderStyle = 0, ; + FontName = "Arial", ; + ForeColor = 0,0,0, ; + Margin = 0, ; + Name = "Text1", ; + ReadOnly = .T., ; + SelectedBackColor = 100,185,255 + *< END OBJECT: BaseClass="textbox" /> + + ADD OBJECT 'grdRulaje.cProc_tvav.Header1' AS header WITH ; + Alignment = 2, ; + Caption = "Proc. TVA vanzare", ; + FontName = "Arial", ; + Name = "Header1" + *< END OBJECT: BaseClass="header" /> + + ADD OBJECT 'grdRulaje.cProc_tvav.Text1' AS textbox WITH ; + BackColor = 255,255,255, ; + BorderStyle = 0, ; + FontName = "Arial", ; + ForeColor = 0,0,0, ; + Margin = 0, ; + Name = "Text1", ; + SelectedBackColor = 100,185,255 + *< END OBJECT: BaseClass="textbox" /> + + ADD OBJECT 'grdRulaje.cProcent.Header1' AS header WITH ; + Alignment = 2, ; + Caption = "Procent", ; + FontName = "Arial", ; + Name = "Header1" + *< END OBJECT: BaseClass="header" /> + + ADD OBJECT 'grdRulaje.cProcent.Text1' AS textbox WITH ; + BackColor = 255,255,255, ; + BorderStyle = 0, ; + FontName = "Arial", ; + ForeColor = 0,0,0, ; + Margin = 0, ; + Name = "Text1", ; + ReadOnly = .T., ; + SelectedBackColor = 100,185,255 + *< END OBJECT: BaseClass="textbox" /> + + ADD OBJECT 'grdRulaje.cSectie.Header1' AS header WITH ; + Alignment = 2, ; + Caption = "Sectie", ; + FontName = "Arial", ; + Name = "Header1" + *< END OBJECT: BaseClass="header" /> + + ADD OBJECT 'grdRulaje.cSectie.Text1' AS textbox WITH ; + BackColor = 255,255,255, ; + BorderStyle = 0, ; + FontName = "Arial", ; + ForeColor = 0,0,0, ; + Margin = 0, ; + Name = "Text1", ; + ReadOnly = .T., ; + SelectedBackColor = 100,185,255 + *< END OBJECT: BaseClass="textbox" /> + + ADD OBJECT 'grdRulaje.cSerie.Header1' AS header WITH ; + Alignment = 2, ; + Caption = "Serie", ; + FontName = "Arial", ; + Name = "Header1" + *< END OBJECT: BaseClass="header" /> + + ADD OBJECT 'grdRulaje.cSerie.Text1' AS textbox WITH ; + BackColor = 255,255,255, ; + BorderStyle = 0, ; + FontName = "Arial", ; + ForeColor = 0,0,0, ; + Margin = 0, ; + Name = "Text1", ; + SelectedBackColor = 100,185,255 + *< END OBJECT: BaseClass="textbox" /> + + ADD OBJECT 'grdRulaje.cSerie_act.Header1' AS header WITH ; + Alignment = 2, ; + Caption = "Serie act", ; + FontName = "Arial", ; + Name = "Header1" + *< END OBJECT: BaseClass="header" /> + + ADD OBJECT 'grdRulaje.cSerie_act.Text1' AS textbox WITH ; + BackColor = 255,255,255, ; + BorderStyle = 0, ; + FontName = "Arial", ; + ForeColor = 0,0,0, ; + Margin = 0, ; + Name = "Text1", ; + SelectedBackColor = 100,185,255 + *< END OBJECT: BaseClass="textbox" /> + + ADD OBJECT 'grdRulaje.cSubgrupa.Header1' AS header WITH ; + Alignment = 2, ; + Caption = "Subgrupa", ; + FontName = "Arial", ; + Name = "Header1" + *< END OBJECT: BaseClass="header" /> + + ADD OBJECT 'grdRulaje.cSubgrupa.Text1' AS textbox WITH ; + BackColor = 255,255,255, ; + BorderStyle = 0, ; + FontName = "Arial", ; + ForeColor = 0,0,0, ; + Margin = 0, ; + Name = "Text1", ; + SelectedBackColor = 100,185,255 + *< END OBJECT: BaseClass="textbox" /> + + ADD OBJECT 'grdRulaje.cSucursala.Header1' AS header WITH ; + Alignment = 2, ; + Caption = "Sucursala", ; + FontName = "Arial", ; + Name = "Header1" + *< END OBJECT: BaseClass="header" /> + + ADD OBJECT 'grdRulaje.cSucursala.Text1' AS textbox WITH ; + BackColor = 255,255,255, ; + BorderStyle = 0, ; + FontName = "Arial", ; + ForeColor = 0,0,0, ; + Margin = 0, ; + Name = "Text1", ; + SelectedBackColor = 100,185,255 + *< END OBJECT: BaseClass="textbox" /> + + ADD OBJECT 'grdRulaje.cTipRulaj.Header1' AS header WITH ; + Alignment = 2, ; + Caption = "Tip rulaj", ; + FontName = "Arial", ; + Name = "Header1" + *< END OBJECT: BaseClass="header" /> + + ADD OBJECT 'grdRulaje.cTipRulaj.Text1' AS textbox WITH ; + BackColor = 255,255,255, ; + BorderStyle = 0, ; + FontName = "Arial", ; + ForeColor = 0,0,0, ; + Margin = 0, ; + Name = "Text1", ; + SelectedBackColor = 100,185,255 + *< END OBJECT: BaseClass="textbox" /> + + ADD OBJECT 'grdRulaje.cTva.Header1' AS header WITH ; + Alignment = 2, ; + Caption = "TVA achizitie", ; + FontName = "Arial", ; + Name = "Header1" + *< END OBJECT: BaseClass="header" /> + + ADD OBJECT 'grdRulaje.cTva.Text1' AS textbox WITH ; + BackColor = 255,255,255, ; + BorderStyle = 0, ; + FontName = "Arial", ; + ForeColor = 0,0,0, ; + Margin = 0, ; + Name = "Text1", ; + ReadOnly = .T., ; + SelectedBackColor = 100,185,255 + *< END OBJECT: BaseClass="textbox" /> + + ADD OBJECT 'grdRulaje.cTvav.Header1' AS header WITH ; + Alignment = 2, ; + Caption = "TVA vanzare", ; + FontName = "Arial", ; + Name = "Header1" + *< END OBJECT: BaseClass="header" /> + + ADD OBJECT 'grdRulaje.cTvav.Text1' AS textbox WITH ; + BackColor = 255,255,255, ; + BorderStyle = 0, ; + FontName = "Arial", ; + ForeColor = 0,0,0, ; + Margin = 0, ; + Name = "Text1", ; + ReadOnly = .T., ; + SelectedBackColor = 100,185,255 + *< END OBJECT: BaseClass="textbox" /> + + ADD OBJECT 'grdRulaje.cUM.Header1' AS header WITH ; + Alignment = 2, ; + Caption = "UM", ; + FontName = "Arial", ; + Name = "Header1" + *< END OBJECT: BaseClass="header" /> + + ADD OBJECT 'grdRulaje.cUM.Text1' AS textbox WITH ; + BackColor = 255,255,255, ; + BorderStyle = 0, ; + FontName = "Arial", ; + ForeColor = 0,0,0, ; + Margin = 0, ; + Name = "Text1", ; + ReadOnly = .T., ; + SelectedBackColor = 100,185,255 + *< END OBJECT: BaseClass="textbox" /> + + ADD OBJECT 'grdRulaje.cUtil.Header1' AS header WITH ; + Alignment = 2, ; + Caption = "Operator introducere", ; + FontName = "Arial", ; + Name = "Header1" + *< END OBJECT: BaseClass="header" /> + + ADD OBJECT 'grdRulaje.cUtil.Text1' AS textbox WITH ; + BackColor = 255,255,255, ; + BorderStyle = 0, ; + FontName = "Arial", ; + ForeColor = 0,0,0, ; + Margin = 0, ; + Name = "Text1", ; + ReadOnly = .T., ; + SelectedBackColor = 100,185,255 + *< END OBJECT: BaseClass="textbox" /> + + ADD OBJECT 'grdRulaje.cUtils.Header1' AS header WITH ; + Alignment = 2, ; + Caption = "Utilizator stergere", ; + FontName = "Arial", ; + Name = "Header1" + *< END OBJECT: BaseClass="header" /> + + ADD OBJECT 'grdRulaje.cUtils.Text1' AS textbox WITH ; + BackColor = 255,255,255, ; + BorderStyle = 0, ; + FontName = "Arial", ; + ForeColor = 0,0,0, ; + Margin = 0, ; + Name = "Text1", ; + SelectedBackColor = 100,185,255 + *< END OBJECT: BaseClass="textbox" /> + + ADD OBJECT 'grdRulaje.cValoare_adaosftva.Header1' AS header WITH ; + Alignment = 2, ; + Caption = "Valoare adaos fara TVA", ; + FontName = "Arial", ; + Name = "Header1" + *< END OBJECT: BaseClass="header" /> + + ADD OBJECT 'grdRulaje.cValoare_adaosftva.Text1' AS textbox WITH ; + BackColor = 255,255,255, ; + BorderStyle = 0, ; + FontName = "Arial", ; + ForeColor = 0,0,0, ; + Margin = 0, ; + Name = "Text1", ; + SelectedBackColor = 100,185,255 + *< END OBJECT: BaseClass="textbox" /> + + ADD OBJECT 'grdRulaje.cvaloare_adaostva.header1' AS header WITH ; + Alignment = 2, ; + Caption = "Valoare TVA adaos", ; + FontName = "Arial", ; + Name = "header1" + *< END OBJECT: BaseClass="header" /> + + ADD OBJECT 'grdRulaje.cvaloare_adaostva.Text1' AS textbox WITH ; + BackColor = 255,255,255, ; + BorderStyle = 0, ; + FontName = "Arial", ; + ForeColor = 0,0,0, ; + Margin = 0, ; + Name = "Text1", ; + SelectedBackColor = 100,185,255 + *< END OBJECT: BaseClass="textbox" /> + + ADD OBJECT 'grdRulaje.cvaloarecTVA.Header1' AS header WITH ; + Alignment = 2, ; + Caption = "Valoare achizitie cu TVA", ; + FontName = "Arial", ; + Name = "Header1" + *< END OBJECT: BaseClass="header" /> + + ADD OBJECT 'grdRulaje.cvaloarecTVA.Text1' AS textbox WITH ; + BackColor = 255,255,255, ; + BorderStyle = 0, ; + FontName = "Arial", ; + ForeColor = 0,0,0, ; + Margin = 0, ; + Name = "Text1", ; + SelectedBackColor = 100,185,255 + *< END OBJECT: BaseClass="textbox" /> + + ADD OBJECT 'grdRulaje.cValoareftva.Header1' AS header WITH ; + Alignment = 2, ; + Caption = "Valoare achizitie", ; + FontName = "Arial", ; + Name = "Header1" + *< END OBJECT: BaseClass="header" /> + + ADD OBJECT 'grdRulaje.cValoareftva.Text1' AS textbox WITH ; + BackColor = 255,255,255, ; + BorderStyle = 0, ; + FontName = "Arial", ; + ForeColor = 0,0,0, ; + Margin = 0, ; + Name = "Text1", ; + ReadOnly = .T., ; + SelectedBackColor = 100,185,255 + *< END OBJECT: BaseClass="textbox" /> + + ADD OBJECT 'grdRulaje.cValoaretva.Header1' AS header WITH ; + Alignment = 2, ; + Caption = "Valoare TVA achizitie", ; + FontName = "Arial", ; + Name = "Header1" + *< END OBJECT: BaseClass="header" /> + + ADD OBJECT 'grdRulaje.cValoaretva.Text1' AS textbox WITH ; + BackColor = 255,255,255, ; + BorderStyle = 0, ; + FontName = "Arial", ; + ForeColor = 0,0,0, ; + Margin = 0, ; + Name = "Text1", ; + SelectedBackColor = 100,185,255 + *< END OBJECT: BaseClass="textbox" /> + + ADD OBJECT 'grdRulaje.cvaloarevcTVA.cvaloarevcTVA' AS header WITH ; + Alignment = 2, ; + Caption = "Valoare vanzare cu TVA", ; + FontName = "Arial", ; + Name = "cvaloarevcTVA" + *< END OBJECT: BaseClass="header" /> + + ADD OBJECT 'grdRulaje.cvaloarevcTVA.Text1' AS textbox WITH ; + BackColor = 255,255,255, ; + BorderStyle = 0, ; + FontName = "Arial", ; + ForeColor = 0,0,0, ; + Margin = 0, ; + Name = "Text1", ; + SelectedBackColor = 100,185,255 + *< END OBJECT: BaseClass="textbox" /> + + ADD OBJECT 'grdRulaje.cValoarevftva.Header1' AS header WITH ; + Alignment = 2, ; + Caption = "Valoare vanzare", ; + FontName = "Arial", ; + Name = "Header1" + *< END OBJECT: BaseClass="header" /> + + ADD OBJECT 'grdRulaje.cValoarevftva.Text1' AS textbox WITH ; + BackColor = 255,255,255, ; + BorderStyle = 0, ; + FontName = "Arial", ; + ForeColor = 0,0,0, ; + Margin = 0, ; + Name = "Text1", ; + SelectedBackColor = 100,185,255 + *< END OBJECT: BaseClass="textbox" /> + + ADD OBJECT 'grdRulaje.cvaloarevTVA.Header1' AS header WITH ; + Alignment = 2, ; + Caption = "Valoare TVA vanzare", ; + FontName = "Arial", ; + Name = "Header1" + *< END OBJECT: BaseClass="header" /> + + ADD OBJECT 'grdRulaje.cvaloarevTVA.Text1' AS textbox WITH ; + BackColor = 255,255,255, ; + BorderStyle = 0, ; + FontName = "Arial", ; + ForeColor = 0,0,0, ; + Margin = 0, ; + Name = "Text1", ; + SelectedBackColor = 100,185,255 + *< END OBJECT: BaseClass="textbox" /> + + PROCEDURE Show + Lparameters nStyle + Select actactan + Sum suma To Thisform.nsuma + + + This.Width = INT(_screen.Width*0.9) + This.Height = Int(_Screen.Height * 0.7) + this.AutoCenter = .T. + + This._grdfooter1.attachtogrid(This.grdrulaje) + This._grdfooter1.calctotal() + ENDPROC + + PROCEDURE grdAct.Init + * Nu sterge + ENDPROC + + PROCEDURE grdRulaje.Init + *Nu sterge + ENDPROC + +ENDDEFINE + +DEFINE CLASS verificare AS formtermin OF "baza.vcx" && La stergerea setului de note contabile din registrul jurnal. + *< CLASSDATA: Baseclass="form" Timestamp="" Scale="Pixels" Uniqueid="" /> + + *-- OBJECTDATA items order determines ZOrder / El orden de los items OBJECTDATA determina el ZOrder + *< OBJECTDATA: ObjPath="Precedent1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="Blocbuton1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="Blocbuton1.Da1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="Blocbuton1.Nu1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="Grid1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="Grid1.Column1.Header1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="Grid1.Column1.Text1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="Grid1.Column2.Header2" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="Grid1.Column2.Text1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="Grid1.Column3.Header3" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="Grid1.Column3.Text1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="Grid1.Column4.Header4" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="Grid1.Column4.Text1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="Grid1.Column5.Header5" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="Grid1.Column5.Text1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="Grid1.Column6.Header6" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="Grid1.Column6.Text1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="Grid1.Column7.Header7" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="Grid1.Column7.Text1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="Grid1.Column8.Header8" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="Grid1.Column8.Text1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="Grid1.Column9.Header9" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="Grid1.Column9.Text1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="Grid1.Column10.Header1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="Grid1.Column10.Text1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="Grid1.Column11.Header1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="Grid1.Column11.Text1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="Grid1.Column12.Header1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="Grid1.Column12.Text1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="Grid1.Column13.Header1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="Grid1.Column13.Text1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="Grid1.Column14.Header1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="Grid1.Column14.Text1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="Grid1.Column16.Header1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="Grid1.Column16.Text1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="Grid1.Column17.Header1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="Grid1.Column17.Text1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="Grid1.Column18.Header1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="Grid1.Column18.Text1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="Grid1.Column19.Header1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="Grid1.Column19.Text1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="Grid1.Column20.Header1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="Grid1.Column20.Text1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="Grid1.Column21.Header1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="Grid1.Column21.Text1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="Grid1.Column22.Header1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="Grid1.Column22.Text1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="Grid1.Column23.Header1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="Grid1.Column23.Text1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="Grid1.Column24.Header1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="Grid1.Column24.Text1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="Grid1.Column25.Header1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="Grid1.Column25.Text1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="Grid1.Column26.Header1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="Grid1.Column26.Text1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="Grid1.Column27.Header1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="Grid1.Column27.Text1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="Grid1.Column28.Header1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="Grid1.Column28.Text1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="Grid1.Column29.Header1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="Grid1.Column29.Text1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="Grid1.Column30.Header1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="Grid1.Column30.Text1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="Grid1.Column31.Header1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="Grid1.Column31.Text1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="Grid1.Column32.Header1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="Grid1.Column32.Text1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="Grid1.Column33.Header1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="Grid1.Column33.Text1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="Grid1.Column15.Header1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="Grid1.Column15.Text1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="Grid1.Column34.Header1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="Grid1.Column34.Text1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="Grid1.Column35.Header1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="Grid1.Column35.Text1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="Grid1.Column36.Header1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="Grid1.Column36.Text1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="Grid1.Column37.Header1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="Grid1.Column37.Text1" UniqueID="" Timestamp="" /> + + * + *m: aleg_ascc + *m: aleg_ascd + *m: verif_ascc + *m: verif_ascd + * + + * + BorderStyle = 1 + Caption = "" + DataSession = 1 + DoCreate = .T. + Height = 388 + Name = "verificare" + Width = 832 + SHAPE1.Anchor = 10 + SHAPE1.Height = 36 + SHAPE1.Left = 0 + SHAPE1.Name = "SHAPE1" + SHAPE1.Top = 0 + SHAPE1.Width = 828 + TERMINAT1.COMMAND1.Name = "COMMAND1" + TERMINAT1.IMBUTON1.Height = 27 + TERMINAT1.IMBUTON1.Name = "IMBUTON1" + TERMINAT1.IMBUTON1.Width = 30 + TERMINAT1.Left = 792 + TERMINAT1.Name = "TERMINAT1" + TERMINAT1.Top = 2 + TERMINAT1.Visible = .F. + TITLUFRUMOS1.Caption = "STERGETI SETUL DE NOTE CONTABILE ?" + TITLUFRUMOS1.Height = 27 + TITLUFRUMOS1.Left = 7 + TITLUFRUMOS1.Name = "TITLUFRUMOS1" + TITLUFRUMOS1.Top = 5 + TITLUFRUMOS1.Width = 364 + * + + ADD OBJECT 'Blocbuton1' AS blocbuton WITH ; + Anchor = 8, ; + Height = 37, ; + Left = 719, ; + Name = "Blocbuton1", ; + Top = -1, ; + Visible = .T., ; + Width = 110 + *< END OBJECT: ClassLib="baza.vcx" BaseClass="container" /> + + ADD OBJECT 'Blocbuton1.Da1' AS da WITH ; + Left = 55, ; + Name = "Da1", ; + Top = 4, ; + Imbuton1.Height = 27, ; + Imbuton1.Name = "Imbuton1", ; + Imbuton1.Width = 51, ; + Command1.Name = "Command1" + *< END OBJECT: ClassLib="baza.vcx" BaseClass="container" /> + + ADD OBJECT 'Blocbuton1.Nu1' AS nu WITH ; + Left = 4, ; + Name = "Nu1", ; + Top = 4, ; + Imbuton1.Height = 27, ; + Imbuton1.Name = "Imbuton1", ; + Imbuton1.Width = 51, ; + Command1.Name = "Command1" + *< END OBJECT: ClassLib="baza.vcx" BaseClass="container" /> + + ADD OBJECT 'Grid1' AS grid WITH ; + Anchor = 15, ; + BackColor = 255,255,255, ; + ColumnCount = 37, ; + DeleteMark = .F., ; + FontSize = 10, ; + GridLineColor = 192,192,192, ; + GridLines = 3, ; + Height = 349, ; + Left = 0, ; + Name = "Grid1", ; + Panel = 1, ; + ReadOnly = .T., ; + RecordSource = "ACTACTAN", ; + RowHeight = 19, ; + TabIndex = 5, ; + Top = 35, ; + Width = 828, ; + ZOrderSet = 5, ; + Column1.Alignment = 1, ; + Column1.BackColor = 255,255,255, ; + Column1.ControlSource = "NRCRT()", ; + Column1.FontName = "Arial", ; + Column1.FontSize = 10, ; + Column1.Name = "Column1", ; + Column1.ReadOnly = .T., ; + Column1.Width = 34, ; + Column2.Alignment = 0, ; + Column2.BackColor = 255,255,255, ; + Column2.ColumnOrder = 3, ; + Column2.ControlSource = "DATAIREG", ; + Column2.FontName = "Arial", ; + Column2.FontSize = 10, ; + Column2.Name = "Column2", ; + Column2.ReadOnly = .T., ; + Column2.Width = 67, ; + Column3.Alignment = 0, ; + Column3.BackColor = 255,255,255, ; + Column3.ColumnOrder = 2, ; + Column3.ControlSource = "FDOC", ; + Column3.FontName = "Arial", ; + Column3.FontSize = 10, ; + Column3.Name = "Column3", ; + Column3.ReadOnly = .T., ; + Column3.Width = 90, ; + Column4.Alignment = 0, ; + Column4.BackColor = 255,255,255, ; + Column4.ColumnOrder = 4, ; + Column4.ControlSource = "DATAACT", ; + Column4.FontName = "Arial", ; + Column4.FontSize = 10, ; + Column4.Name = "Column4", ; + Column4.ReadOnly = .T., ; + Column4.Width = 70, ; + Column5.Alignment = 1, ; + Column5.BackColor = 255,255,255, ; + Column5.ColumnOrder = 5, ; + Column5.ControlSource = "NRACT", ; + Column5.FontName = "Arial", ; + Column5.FontSize = 10, ; + Column5.Name = "Column5", ; + Column5.ReadOnly = .T., ; + Column5.Width = 94, ; + Column6.Alignment = 0, ; + Column6.BackColor = 255,255,255, ; + Column6.ColumnOrder = 11, ; + Column6.ControlSource = "partd", ; + Column6.FontName = "Arial", ; + Column6.FontSize = 10, ; + Column6.Name = "Column6", ; + Column6.ReadOnly = .T., ; + Column6.Width = 134, ; + Column7.Alignment = 1, ; + Column7.BackColor = 255,255,255, ; + Column7.ColumnOrder = 6, ; + Column7.ControlSource = "SCD", ; + Column7.DynamicForeColor = "rgb(0,0,128)", ; + Column7.FontBold = .F., ; + Column7.FontName = "Arial", ; + Column7.FontSize = 10, ; + Column7.ForeColor = 0,0,128, ; + Column7.Name = "Column7", ; + Column7.ReadOnly = .T., ; + Column7.Width = 62, ; + Column8.Alignment = 1, ; + Column8.BackColor = 255,255,255, ; + Column8.ColumnOrder = 8, ; + Column8.ControlSource = "SCC", ; + Column8.DynamicForeColor = "rgb(0,0,128)", ; + Column8.FontBold = .F., ; + Column8.FontName = "Arial", ; + Column8.FontSize = 10, ; + Column8.Name = "Column8", ; + Column8.ReadOnly = .T., ; + Column8.Width = 66, ; + Column9.Alignment = 1, ; + Column9.BackColor = 255,255,255, ; + Column9.ColumnOrder = 10, ; + Column9.ControlSource = "SUMA", ; + Column9.DynamicForeColor = "IIF(SUMA>=0, RGB(0,0,0), RGB(255,0,0))", ; + Column9.FontBold = .F., ; + Column9.FontName = "Arial", ; + Column9.FontSize = 10, ; + Column9.Format = "r", ; + Column9.InputMask = (get_mask(12,gnPa)), ; + Column9.Name = "Column9", ; + Column9.ReadOnly = .T., ; + Column9.Width = 107, ; + Column10.Alignment = 0, ; + Column10.BackColor = 255,255,255, ; + Column10.ColumnOrder = 12, ; + Column10.ControlSource = "partc", ; + Column10.FontName = "Arial", ; + Column10.FontSize = 10, ; + Column10.Name = "Column10", ; + Column10.ReadOnly = .T., ; + Column10.Width = 132, ; + Column11.Alignment = 0, ; + Column11.BackColor = 255,255,255, ; + Column11.ColumnOrder = 13, ; + Column11.ControlSource = "EXPLICATIA", ; + Column11.FontName = "Arial", ; + Column11.FontSize = 10, ; + Column11.Name = "Column11", ; + Column11.ReadOnly = .T., ; + Column11.Width = 72, ; + Column12.BackColor = 255,255,255, ; + Column12.ColumnOrder = 29, ; + Column12.ControlSource = "COD", ; + Column12.FontName = "Arial", ; + Column12.FontSize = 10, ; + Column12.Name = "Column12", ; + Column12.ReadOnly = .T., ; + Column12.Width = 97, ; + Column13.BackColor = 255,255,255, ; + Column13.ColumnOrder = 17, ; + Column13.ControlSource = "pereched", ; + Column13.FontName = "Arial", ; + Column13.FontSize = 10, ; + Column13.Name = "Column13", ; + Column13.ReadOnly = .T., ; + Column13.Width = 91, ; + Column14.BackColor = 255,255,255, ; + Column14.ColumnOrder = 20, ; + Column14.ControlSource = "explicatia4", ; + Column14.FontName = "Arial", ; + Column14.FontSize = 10, ; + Column14.Name = "Column14", ; + Column14.ReadOnly = .T., ; + Column14.Width = 72, ; + Column15.BackColor = 255,255,255, ; + Column15.ColumnOrder = 22, ; + Column15.ControlSource = "suma_val", ; + Column15.FontName = "Arial", ; + Column15.FontSize = 10, ; + Column15.Format = "r", ; + Column15.InputMask = (get_mask(12,gnPval)), ; + Column15.Name = "Column16", ; + Column15.ReadOnly = .T., ; + Column15.Width = 67, ; + Column16.BackColor = 255,255,255, ; + Column16.ColumnOrder = 23, ; + Column16.ControlSource = "curs", ; + Column16.FontName = "Arial", ; + Column16.FontSize = 10, ; + Column16.Format = "r", ; + Column16.InputMask = (get_mask(12,gnPcurs)), ; + Column16.Name = "Column17", ; + Column16.ReadOnly = .T., ; + Column16.Width = 64, ; + Column17.BackColor = 255,255,255, ; + Column17.ColumnOrder = 28, ; + Column17.ControlSource = "proc_tva", ; + Column17.FontName = "Arial", ; + Column17.FontSize = 10, ; + Column17.InputMask = "999.99", ; + Column17.Name = "Column18", ; + Column17.ReadOnly = .T., ; + Column17.Width = 78, ; + Column18.BackColor = 255,255,255, ; + Column18.ColumnOrder = 19, ; + Column18.ControlSource = "datascad", ; + Column18.FontName = "Arial", ; + Column18.FontSize = 10, ; + Column18.Name = "Column19", ; + Column18.ReadOnly = .T., ; + Column18.Visible = .T., ; + Column18.Width = 88, ; + Column19.BackColor = 255,255,255, ; + Column19.ColumnOrder = 21, ; + Column19.ControlSource = "explicatia5", ; + Column19.FontName = "Arial", ; + Column19.FontSize = 10, ; + Column19.Name = "Column20", ; + Column19.ReadOnly = .T., ; + Column19.Width = 72, ; + Column20.BackColor = 255,255,255, ; + Column20.ColumnOrder = 31, ; + Column20.ControlSource = "util", ; + Column20.FontName = "Arial", ; + Column20.FontSize = 10, ; + Column20.Name = "Column21", ; + Column20.ReadOnly = .T., ; + Column20.Width = 122, ; + Column21.BackColor = 255,255,255, ; + Column21.ColumnOrder = 32, ; + Column21.ControlSource = "dataora", ; + Column21.FontName = "Arial", ; + Column21.FontSize = 10, ; + Column21.Name = "Column22", ; + Column21.ReadOnly = .T., ; + Column21.Width = 125, ; + Column22.BackColor = 255,255,255, ; + Column22.ColumnOrder = 33, ; + Column22.ControlSource = "utils", ; + Column22.FontName = "Arial", ; + Column22.FontSize = 10, ; + Column22.Name = "Column23", ; + Column22.ReadOnly = .T., ; + Column22.Width = 105, ; + Column23.BackColor = 255,255,255, ; + Column23.ColumnOrder = 34, ; + Column23.ControlSource = "dataoras", ; + Column23.FontName = "Arial", ; + Column23.FontSize = 10, ; + Column23.Name = "Column24", ; + Column23.ReadOnly = .T., ; + Column23.Width = 108, ; + Column24.BackColor = 255,255,255, ; + Column24.ColumnOrder = 25, ; + Column24.ControlSource = "nresp", ; + Column24.FontName = "Arial", ; + Column24.FontSize = 10, ; + Column24.Name = "Column25", ; + Column24.ReadOnly = .T., ; + Column24.Width = 78, ; + Column25.BackColor = 255,255,255, ; + Column25.ColumnOrder = 26, ; + Column25.ControlSource = "dst_chlt", ; + Column25.FontName = "Arial", ; + Column25.FontSize = 10, ; + Column25.Name = "Column26", ; + Column25.ReadOnly = .T., ; + Column25.Width = 105, ; + Column26.BackColor = 255,255,255, ; + Column26.ColumnOrder = 14, ; + Column26.ControlSource = "nrord", ; + Column26.FontName = "Arial", ; + Column26.FontSize = 10, ; + Column26.Name = "Column27", ; + Column26.ReadOnly = .T., ; + Column26.Width = 106, ; + Column27.BackColor = 255,255,255, ; + Column27.ColumnOrder = 16, ; + Column27.ControlSource = "nnir", ; + Column27.FontName = "Arial", ; + Column27.FontSize = 10, ; + Column27.Name = "Column28", ; + Column27.ReadOnly = .T., ; + Column27.Width = 98, ; + Column28.BackColor = 255,255,255, ; + Column28.ColumnOrder = 27, ; + Column28.ControlSource = "sectie", ; + Column28.FontName = "Arial", ; + Column28.FontSize = 10, ; + Column28.Name = "Column29", ; + Column28.ReadOnly = .T., ; + Column28.Width = 76, ; + Column29.BackColor = 255,255,255, ; + Column29.ColumnOrder = 24, ; + Column29.ControlSource = "neimpozab", ; + Column29.FontName = "Arial", ; + Column29.FontSize = 10, ; + Column29.InputMask = (get_mask(12,gnPa)), ; + Column29.Name = "Column30", ; + Column29.ReadOnly = .T., ; + Column30.BackColor = 242,255,255, ; + Column30.ColumnOrder = 7, ; + Column30.ControlSource = "ascd", ; + Column30.DynamicBackColor = "rgb(242,255,255)", ; + Column30.FontName = "Arial", ; + Column30.FontSize = 10, ; + Column30.Format = "r", ; + Column30.InputMask = "xxxx", ; + Column30.Name = "Column31", ; + Column30.ReadOnly = .T., ; + Column30.Width = 50, ; + Column31.BackColor = 242,255,255, ; + Column31.ColumnOrder = 9, ; + Column31.ControlSource = "ascc", ; + Column31.DynamicBackColor = "rgb(242,255,255)", ; + Column31.FontName = "Arial", ; + Column31.FontSize = 10, ; + Column31.Format = "r", ; + Column31.InputMask = "xxxx", ; + Column31.Name = "Column32", ; + Column31.ReadOnly = .T., ; + Column31.Width = 48, ; + Column32.BackColor = 255,255,255, ; + Column32.ColumnOrder = 18, ; + Column32.ControlSource = "perechec", ; + Column32.FontName = "Arial", ; + Column32.FontSize = 10, ; + Column32.Name = "Column33", ; + Column32.ReadOnly = .T., ; + Column32.Width = 88, ; + Column33.BackColor = 255,255,255, ; + Column33.ColumnOrder = 30, ; + Column33.ControlSource = "sucursala", ; + Column33.FontName = "Arial", ; + Column33.FontSize = 10, ; + Column33.Name = "Column15", ; + Column33.ReadOnly = .T., ; + Column33.Width = 109, ; + Column34.BackColor = 255,255,255, ; + Column34.ColumnOrder = 15, ; + Column34.ControlSource = "contract", ; + Column34.FontName = "Arial", ; + Column34.FontSize = 10, ; + Column34.Name = "Column34", ; + Column34.ReadOnly = .T., ; + Column34.Width = 72, ; + Column35.BackColor = 255,255,255, ; + Column35.ControlSource = "explicatie_tva", ; + Column35.FontName = "Arial", ; + Column35.FontSize = 10, ; + Column35.Name = "Column35", ; + Column35.ReadOnly = .T., ; + Column35.Width = 164, ; + Column36.BackColor = 255,255,255, ; + Column36.ControlSource = "taxname", ; + Column36.FontName = "Arial", ; + Column36.FontSize = 10, ; + Column36.Name = "Column36", ; + Column36.ReadOnly = .T., ; + Column36.Width = 111, ; + Column37.BackColor = 255,255,255, ; + Column37.ControlSource = "paymentname", ; + Column37.FontName = "Arial", ; + Column37.FontSize = 10, ; + Column37.Name = "Column37", ; + Column37.ReadOnly = .T., ; + Column37.Width = 96 + *< END OBJECT: BaseClass="grid" /> + + ADD OBJECT 'Grid1.Column1.Header1' AS header WITH ; + Alignment = 2, ; + Caption = "NrCrt", ; + FontName = "Arial", ; + FontSize = 10, ; + Name = "Header1" + *< END OBJECT: BaseClass="header" /> + + ADD OBJECT 'Grid1.Column1.Text1' AS textbox WITH ; + Alignment = 1, ; + BackColor = 255,255,255, ; + BorderStyle = 0, ; + FontName = "Arial", ; + FontSize = 10, ; + ForeColor = 0,0,0, ; + Margin = 0, ; + Name = "Text1", ; + ReadOnly = .T. + *< END OBJECT: BaseClass="textbox" /> + + ADD OBJECT 'Grid1.Column10.Header1' AS header WITH ; + Alignment = 2, ; + Caption = "Explicatia Credit", ; + FontName = "Arial", ; + FontSize = 10, ; + Name = "Header1" + *< END OBJECT: BaseClass="header" /> + + ADD OBJECT 'Grid1.Column10.Text1' AS textbox WITH ; + Alignment = 0, ; + BackColor = 255,255,255, ; + BorderStyle = 0, ; + FontName = "Arial", ; + FontSize = 10, ; + ForeColor = 0,0,0, ; + Margin = 0, ; + Name = "Text1", ; + ReadOnly = .T. + *< END OBJECT: BaseClass="textbox" /> + + ADD OBJECT 'Grid1.Column11.Header1' AS header WITH ; + Alignment = 2, ; + Caption = "Explicatia 3", ; + FontName = "Arial", ; + FontSize = 10, ; + Name = "Header1" + *< END OBJECT: BaseClass="header" /> + + ADD OBJECT 'Grid1.Column11.Text1' AS textbox WITH ; + Alignment = 0, ; + BackColor = 255,255,255, ; + BorderStyle = 0, ; + FontName = "Arial", ; + FontSize = 10, ; + ForeColor = 0,0,0, ; + Margin = 0, ; + Name = "Text1", ; + ReadOnly = .T. + *< END OBJECT: BaseClass="textbox" /> + + ADD OBJECT 'Grid1.Column12.Header1' AS header WITH ; + Alignment = 2, ; + Caption = "COD", ; + FontName = "Arial", ; + FontSize = 10, ; + Name = "Header1" + *< END OBJECT: BaseClass="header" /> + + ADD OBJECT 'Grid1.Column12.Text1' AS textbox WITH ; + BackColor = 255,255,255, ; + BorderStyle = 0, ; + FontName = "Arial", ; + FontSize = 10, ; + ForeColor = 0,0,0, ; + Margin = 0, ; + Name = "Text1" + *< END OBJECT: BaseClass="textbox" /> + + ADD OBJECT 'Grid1.Column13.Header1' AS header WITH ; + Alignment = 2, ; + Caption = "Nr.doc.platit", ; + FontName = "Arial", ; + FontSize = 10, ; + Name = "Header1" + *< END OBJECT: BaseClass="header" /> + + ADD OBJECT 'Grid1.Column13.Text1' AS textbox WITH ; + BackColor = 255,255,255, ; + BorderStyle = 0, ; + FontName = "Arial", ; + FontSize = 10, ; + ForeColor = 0,0,0, ; + Margin = 0, ; + Name = "Text1" + *< END OBJECT: BaseClass="textbox" /> + + ADD OBJECT 'Grid1.Column14.Header1' AS header WITH ; + Alignment = 2, ; + Caption = "Explicatia 4", ; + FontName = "Arial", ; + FontSize = 10, ; + Name = "Header1" + *< END OBJECT: BaseClass="header" /> + + ADD OBJECT 'Grid1.Column14.Text1' AS textbox WITH ; + BackColor = 255,255,255, ; + BorderStyle = 0, ; + FontName = "Arial", ; + FontSize = 10, ; + ForeColor = 0,0,0, ; + Margin = 0, ; + Name = "Text1" + *< END OBJECT: BaseClass="textbox" /> + + ADD OBJECT 'Grid1.Column15.Header1' AS header WITH ; + Alignment = 2, ; + Caption = "Sucursala", ; + FontName = "Arial", ; + FontSize = 10, ; + Name = "Header1" + *< END OBJECT: BaseClass="header" /> + + ADD OBJECT 'Grid1.Column15.Text1' AS textbox WITH ; + BackColor = 255,255,255, ; + BorderStyle = 0, ; + FontName = "Arial", ; + FontSize = 10, ; + ForeColor = 0,0,0, ; + Margin = 0, ; + Name = "Text1" + *< END OBJECT: BaseClass="textbox" /> + + ADD OBJECT 'Grid1.Column16.Header1' AS header WITH ; + Alignment = 2, ; + Caption = "Suma 2", ; + FontName = "Arial", ; + FontSize = 10, ; + Name = "Header1" + *< END OBJECT: BaseClass="header" /> + + ADD OBJECT 'Grid1.Column16.Text1' AS textbox WITH ; + BackColor = 255,255,255, ; + BorderStyle = 0, ; + FontName = "Arial", ; + FontSize = 10, ; + ForeColor = 0,0,0, ; + Margin = 0, ; + Name = "Text1" + *< END OBJECT: BaseClass="textbox" /> + + ADD OBJECT 'Grid1.Column17.Header1' AS header WITH ; + Alignment = 2, ; + Caption = "Suma 3", ; + FontName = "Arial", ; + FontSize = 10, ; + Name = "Header1" + *< END OBJECT: BaseClass="header" /> + + ADD OBJECT 'Grid1.Column17.Text1' AS textbox WITH ; + BackColor = 255,255,255, ; + BorderStyle = 0, ; + FontName = "Arial", ; + FontSize = 10, ; + ForeColor = 0,0,0, ; + Margin = 0, ; + Name = "Text1" + *< END OBJECT: BaseClass="textbox" /> + + ADD OBJECT 'Grid1.Column18.Header1' AS header WITH ; + Alignment = 2, ; + Caption = "Procent TVA", ; + FontName = "Arial", ; + FontSize = 10, ; + Name = "Header1" + *< END OBJECT: BaseClass="header" /> + + ADD OBJECT 'Grid1.Column18.Text1' AS textbox WITH ; + BackColor = 255,255,255, ; + BorderStyle = 0, ; + FontName = "Arial", ; + FontSize = 10, ; + ForeColor = 0,0,0, ; + Margin = 0, ; + Name = "Text1" + *< END OBJECT: BaseClass="textbox" /> + + ADD OBJECT 'Grid1.Column19.Header1' AS header WITH ; + Alignment = 2, ; + Caption = "Data scadenta", ; + FontName = "Arial", ; + FontSize = 10, ; + Name = "Header1" + *< END OBJECT: BaseClass="header" /> + + ADD OBJECT 'Grid1.Column19.Text1' AS textbox WITH ; + BackColor = 255,255,255, ; + BorderStyle = 0, ; + FontName = "Arial", ; + FontSize = 10, ; + ForeColor = 0,0,0, ; + Margin = 0, ; + Name = "Text1", ; + Visible = .T. + *< END OBJECT: BaseClass="textbox" /> + + ADD OBJECT 'Grid1.Column2.Header2' AS header WITH ; + Alignment = 2, ; + Caption = "Data Inreg.", ; + FontName = "Arial", ; + FontSize = 10, ; + Name = "Header2" + *< END OBJECT: BaseClass="header" /> + + ADD OBJECT 'Grid1.Column2.Text1' AS textbox WITH ; + Alignment = 0, ; + BackColor = 255,255,255, ; + BorderStyle = 0, ; + FontName = "Arial", ; + FontSize = 10, ; + ForeColor = 0,0,0, ; + Margin = 0, ; + Name = "Text1", ; + ReadOnly = .T. + *< END OBJECT: BaseClass="textbox" /> + + ADD OBJECT 'Grid1.Column20.Header1' AS header WITH ; + Alignment = 2, ; + Caption = "Explicatia 5", ; + FontName = "Arial", ; + FontSize = 10, ; + Name = "Header1" + *< END OBJECT: BaseClass="header" /> + + ADD OBJECT 'Grid1.Column20.Text1' AS textbox WITH ; + BackColor = 255,255,255, ; + BorderStyle = 0, ; + FontName = "Arial", ; + FontSize = 10, ; + ForeColor = 0,0,0, ; + Margin = 0, ; + Name = "Text1" + *< END OBJECT: BaseClass="textbox" /> + + ADD OBJECT 'Grid1.Column21.Header1' AS header WITH ; + Alignment = 2, ; + Caption = "Operator introducere", ; + FontName = "Arial", ; + FontSize = 10, ; + Name = "Header1" + *< END OBJECT: BaseClass="header" /> + + ADD OBJECT 'Grid1.Column21.Text1' AS textbox WITH ; + BackColor = 255,255,255, ; + BorderStyle = 0, ; + FontName = "Arial", ; + FontSize = 10, ; + ForeColor = 0,0,0, ; + Margin = 0, ; + Name = "Text1" + *< END OBJECT: BaseClass="textbox" /> + + ADD OBJECT 'Grid1.Column22.Header1' AS header WITH ; + Alignment = 2, ; + Caption = "Data&ora introducerii", ; + FontName = "Arial", ; + FontSize = 10, ; + Name = "Header1" + *< END OBJECT: BaseClass="header" /> + + ADD OBJECT 'Grid1.Column22.Text1' AS textbox WITH ; + BackColor = 255,255,255, ; + BorderStyle = 0, ; + FontName = "Arial", ; + FontSize = 10, ; + ForeColor = 0,0,0, ; + Margin = 0, ; + Name = "Text1" + *< END OBJECT: BaseClass="textbox" /> + + ADD OBJECT 'Grid1.Column23.Header1' AS header WITH ; + Alignment = 2, ; + Caption = "Operator stergere", ; + FontName = "Arial", ; + FontSize = 10, ; + Name = "Header1" + *< END OBJECT: BaseClass="header" /> + + ADD OBJECT 'Grid1.Column23.Text1' AS textbox WITH ; + BackColor = 255,255,255, ; + BorderStyle = 0, ; + FontName = "Arial", ; + FontSize = 10, ; + ForeColor = 0,0,0, ; + Margin = 0, ; + Name = "Text1" + *< END OBJECT: BaseClass="textbox" /> + + ADD OBJECT 'Grid1.Column24.Header1' AS header WITH ; + Alignment = 2, ; + Caption = "Data&ora stergerii", ; + FontName = "Arial", ; + FontSize = 10, ; + Name = "Header1" + *< END OBJECT: BaseClass="header" /> + + ADD OBJECT 'Grid1.Column24.Text1' AS textbox WITH ; + BackColor = 255,255,255, ; + BorderStyle = 0, ; + FontName = "Arial", ; + FontSize = 10, ; + ForeColor = 0,0,0, ; + Margin = 0, ; + Name = "Text1" + *< END OBJECT: BaseClass="textbox" /> + + ADD OBJECT 'Grid1.Column25.Header1' AS header WITH ; + Alignment = 2, ; + Caption = "Responsabili", ; + FontName = "Arial", ; + FontSize = 10, ; + Name = "Header1" + *< END OBJECT: BaseClass="header" /> + + ADD OBJECT 'Grid1.Column25.Text1' AS textbox WITH ; + BackColor = 255,255,255, ; + BorderStyle = 0, ; + FontName = "Arial", ; + FontSize = 10, ; + ForeColor = 0,0,0, ; + Margin = 0, ; + Name = "Text1" + *< END OBJECT: BaseClass="textbox" /> + + ADD OBJECT 'Grid1.Column26.Header1' AS header WITH ; + Alignment = 2, ; + Caption = "Cheltuieli/Venituri", ; + FontName = "Arial", ; + FontSize = 10, ; + Name = "Header1" + *< END OBJECT: BaseClass="header" /> + + ADD OBJECT 'Grid1.Column26.Text1' AS textbox WITH ; + BackColor = 255,255,255, ; + BorderStyle = 0, ; + FontName = "Arial", ; + FontSize = 10, ; + ForeColor = 0,0,0, ; + Margin = 0, ; + Name = "Text1" + *< END OBJECT: BaseClass="textbox" /> + + ADD OBJECT 'Grid1.Column27.Header1' AS header WITH ; + Alignment = 2, ; + Caption = "Lucrare/Comanda", ; + FontName = "Arial", ; + FontSize = 10, ; + Name = "Header1" + *< END OBJECT: BaseClass="header" /> + + ADD OBJECT 'Grid1.Column27.Text1' AS textbox WITH ; + BackColor = 255,255,255, ; + BorderStyle = 0, ; + FontName = "Arial", ; + FontSize = 10, ; + ForeColor = 0,0,0, ; + Margin = 0, ; + Name = "Text1" + *< END OBJECT: BaseClass="textbox" /> + + ADD OBJECT 'Grid1.Column28.Header1' AS header WITH ; + Alignment = 2, ; + Caption = "Nr.NIR/Bon", ; + FontName = "Arial", ; + FontSize = 10, ; + Name = "Header1" + *< END OBJECT: BaseClass="header" /> + + ADD OBJECT 'Grid1.Column28.Text1' AS textbox WITH ; + BackColor = 255,255,255, ; + BorderStyle = 0, ; + FontName = "Arial", ; + FontSize = 10, ; + ForeColor = 0,0,0, ; + Margin = 0, ; + Name = "Text1" + *< END OBJECT: BaseClass="textbox" /> + + ADD OBJECT 'Grid1.Column29.Header1' AS header WITH ; + Alignment = 2, ; + Caption = "Sectie", ; + FontName = "Arial", ; + FontSize = 10, ; + Name = "Header1" + *< END OBJECT: BaseClass="header" /> + + ADD OBJECT 'Grid1.Column29.Text1' AS textbox WITH ; + BackColor = 255,255,255, ; + BorderStyle = 0, ; + FontName = "Arial", ; + FontSize = 10, ; + ForeColor = 0,0,0, ; + Margin = 0, ; + Name = "Text1" + *< END OBJECT: BaseClass="textbox" /> + + ADD OBJECT 'Grid1.Column3.Header3' AS header WITH ; + Alignment = 2, ; + Caption = "Fel Doc.", ; + FontName = "Arial", ; + FontSize = 10, ; + Name = "Header3" + *< END OBJECT: BaseClass="header" /> + + ADD OBJECT 'Grid1.Column3.Text1' AS textbox WITH ; + Alignment = 0, ; + BackColor = 255,255,255, ; + BorderStyle = 0, ; + FontName = "Arial", ; + FontSize = 10, ; + ForeColor = 0,0,0, ; + Margin = 0, ; + Name = "Text1", ; + ReadOnly = .T. + *< END OBJECT: BaseClass="textbox" /> + + ADD OBJECT 'Grid1.Column30.Header1' AS header WITH ; + Alignment = 2, ; + Caption = "Neimpozabil", ; + FontName = "Arial", ; + FontSize = 10, ; + Name = "Header1" + *< END OBJECT: BaseClass="header" /> + + ADD OBJECT 'Grid1.Column30.Text1' AS textbox WITH ; + BackColor = 255,255,255, ; + BorderStyle = 0, ; + FontName = "Arial", ; + FontSize = 10, ; + ForeColor = 0,0,0, ; + Margin = 0, ; + Name = "Text1" + *< END OBJECT: BaseClass="textbox" /> + + ADD OBJECT 'Grid1.Column31.Header1' AS header WITH ; + Caption = "Analit.D", ; + FontName = "Arial", ; + FontSize = 10, ; + Name = "Header1" + *< END OBJECT: BaseClass="header" /> + + ADD OBJECT 'Grid1.Column31.Text1' AS textbox WITH ; + BackColor = 242,255,255, ; + BorderStyle = 0, ; + FontName = "Arial", ; + FontSize = 10, ; + ForeColor = 0,0,0, ; + Margin = 0, ; + Name = "Text1", ; + ReadOnly = .T. + *< END OBJECT: BaseClass="textbox" /> + + ADD OBJECT 'Grid1.Column32.Header1' AS header WITH ; + Caption = "Analit.C", ; + FontName = "Arial", ; + FontSize = 10, ; + Name = "Header1" + *< END OBJECT: BaseClass="header" /> + + ADD OBJECT 'Grid1.Column32.Text1' AS textbox WITH ; + BackColor = 242,255,255, ; + BorderStyle = 0, ; + FontName = "Arial", ; + FontSize = 10, ; + ForeColor = 0,0,0, ; + Margin = 0, ; + Name = "Text1", ; + ReadOnly = .T. + *< END OBJECT: BaseClass="textbox" /> + + ADD OBJECT 'Grid1.Column33.Header1' AS header WITH ; + Alignment = 2, ; + Caption = "Nr.doc.incasat", ; + FontName = "Arial", ; + FontSize = 10, ; + Name = "Header1" + *< END OBJECT: BaseClass="header" /> + + ADD OBJECT 'Grid1.Column33.Text1' AS textbox WITH ; + BackColor = 255,255,255, ; + BorderStyle = 0, ; + FontName = "Arial", ; + FontSize = 10, ; + ForeColor = 0,0,0, ; + Margin = 0, ; + Name = "Text1" + *< END OBJECT: BaseClass="textbox" /> + + ADD OBJECT 'Grid1.Column34.Header1' AS header WITH ; + Alignment = 2, ; + Caption = "Contract", ; + FontName = "Arial", ; + FontSize = 10, ; + Name = "Header1" + *< END OBJECT: BaseClass="header" /> + + ADD OBJECT 'Grid1.Column34.Text1' AS textbox WITH ; + BackColor = 255,255,255, ; + BorderStyle = 0, ; + FontName = "Arial", ; + FontSize = 10, ; + ForeColor = 0,0,0, ; + Margin = 0, ; + Name = "Text1" + *< END OBJECT: BaseClass="textbox" /> + + ADD OBJECT 'Grid1.Column35.Header1' AS header WITH ; + Alignment = 2, ; + Caption = "Explicatie TVA", ; + FontName = "Arial", ; + FontSize = 10, ; + Name = "Header1" + *< END OBJECT: BaseClass="header" /> + + ADD OBJECT 'Grid1.Column35.Text1' AS textbox WITH ; + BackColor = 255,255,255, ; + BorderStyle = 0, ; + FontName = "Arial", ; + FontSize = 10, ; + ForeColor = 0,0,0, ; + Margin = 0, ; + Name = "Text1", ; + ReadOnly = .T. + *< END OBJECT: BaseClass="textbox" /> + + ADD OBJECT 'Grid1.Column36.Header1' AS header WITH ; + Alignment = 2, ; + Caption = "Taxa SAFT", ; + FontName = "Arial", ; + FontSize = 10, ; + Name = "Header1" + *< END OBJECT: BaseClass="header" /> + + ADD OBJECT 'Grid1.Column36.Text1' AS textbox WITH ; + BackColor = 255,255,255, ; + BorderStyle = 0, ; + FontName = "Arial", ; + FontSize = 10, ; + ForeColor = 0,0,0, ; + Margin = 0, ; + Name = "Text1", ; + ReadOnly = .T. + *< END OBJECT: BaseClass="textbox" /> + + ADD OBJECT 'Grid1.Column37.Header1' AS header WITH ; + Alignment = 2, ; + Caption = "Cod plata SAFT", ; + FontName = "Arial", ; + FontSize = 10, ; + Name = "Header1" + *< END OBJECT: BaseClass="header" /> + + ADD OBJECT 'Grid1.Column37.Text1' AS textbox WITH ; + BackColor = 255,255,255, ; + BorderStyle = 0, ; + FontName = "Arial", ; + FontSize = 10, ; + ForeColor = 0,0,0, ; + Margin = 0, ; + Name = "Text1", ; + ReadOnly = .T. + *< END OBJECT: BaseClass="textbox" /> + + ADD OBJECT 'Grid1.Column4.Header4' AS header WITH ; + Alignment = 2, ; + Caption = "Data Act", ; + FontName = "Arial", ; + FontSize = 10, ; + Name = "Header4" + *< END OBJECT: BaseClass="header" /> + + ADD OBJECT 'Grid1.Column4.Text1' AS textbox WITH ; + Alignment = 0, ; + BackColor = 255,255,255, ; + BorderStyle = 0, ; + FontName = "Arial", ; + FontSize = 10, ; + ForeColor = 0,0,0, ; + Margin = 0, ; + Name = "Text1", ; + ReadOnly = .T. + *< END OBJECT: BaseClass="textbox" /> + + ADD OBJECT 'Grid1.Column5.Header5' AS header WITH ; + Alignment = 2, ; + Caption = "Nr.Doc.", ; + FontName = "Arial", ; + FontSize = 10, ; + Name = "Header5" + *< END OBJECT: BaseClass="header" /> + + ADD OBJECT 'Grid1.Column5.Text1' AS textbox WITH ; + Alignment = 1, ; + BackColor = 255,255,255, ; + BorderStyle = 0, ; + FontName = "Arial", ; + FontSize = 10, ; + ForeColor = 0,0,0, ; + Margin = 0, ; + Name = "Text1", ; + ReadOnly = .T. + *< END OBJECT: BaseClass="textbox" /> + + ADD OBJECT 'Grid1.Column6.Header6' AS header WITH ; + Alignment = 2, ; + Caption = "Explicatia Debit", ; + FontName = "Arial", ; + FontSize = 10, ; + Name = "Header6" + *< END OBJECT: BaseClass="header" /> + + ADD OBJECT 'Grid1.Column6.Text1' AS textbox WITH ; + Alignment = 0, ; + BackColor = 255,255,255, ; + BorderColor = 0,0,0, ; + BorderStyle = 0, ; + FontName = "Arial", ; + FontSize = 10, ; + ForeColor = 0,0,0, ; + Margin = 0, ; + Name = "Text1", ; + ReadOnly = .T. + *< END OBJECT: BaseClass="textbox" /> + + ADD OBJECT 'Grid1.Column7.Header7' AS header WITH ; + Alignment = 2, ; + Caption = "Cont Deb.", ; + FontName = "Arial", ; + FontSize = 10, ; + Name = "Header7" + *< END OBJECT: BaseClass="header" /> + + ADD OBJECT 'Grid1.Column7.Text1' AS textbox WITH ; + Alignment = 1, ; + BackColor = 255,255,255, ; + BorderStyle = 0, ; + FontBold = .F., ; + FontName = "Arial", ; + FontSize = 10, ; + ForeColor = 0,0,128, ; + Margin = 0, ; + Name = "Text1", ; + ReadOnly = .T. + *< END OBJECT: BaseClass="textbox" /> + + ADD OBJECT 'Grid1.Column8.Header8' AS header WITH ; + Alignment = 2, ; + Caption = "Cont Cred.", ; + FontName = "Arial", ; + FontSize = 10, ; + Name = "Header8" + *< END OBJECT: BaseClass="header" /> + + ADD OBJECT 'Grid1.Column8.Text1' AS textbox WITH ; + Alignment = 1, ; + BackColor = 255,255,255, ; + BorderStyle = 0, ; + FontBold = .F., ; + FontName = "Arial", ; + FontSize = 10, ; + ForeColor = 0,0,0, ; + Margin = 0, ; + Name = "Text1", ; + ReadOnly = .T. + *< END OBJECT: BaseClass="textbox" /> + + ADD OBJECT 'Grid1.Column9.Header9' AS header WITH ; + Alignment = 2, ; + Caption = "Suma", ; + FontName = "Arial", ; + FontSize = 10, ; + Name = "Header9" + *< END OBJECT: BaseClass="header" /> + + ADD OBJECT 'Grid1.Column9.Text1' AS textbox WITH ; + Alignment = 1, ; + BackColor = 255,255,255, ; + BorderStyle = 0, ; + FontBold = .F., ; + FontName = "Arial", ; + FontSize = 10, ; + ForeColor = 0,0,0, ; + Margin = 0, ; + Name = "Text1", ; + ReadOnly = .T. + *< END OBJECT: BaseClass="textbox" /> + + ADD OBJECT 'Precedent1' AS precedent WITH ; + Left = 761, ; + Name = "Precedent1", ; + Top = 2, ; + Visible = .F., ; + IMBUTON1.Height = 27, ; + IMBUTON1.Name = "IMBUTON1", ; + IMBUTON1.Width = 30, ; + COMMAND1.Name = "COMMAND1" + *< END OBJECT: ClassLib="baza.vcx" BaseClass="container" /> + + PROCEDURE aleg_ascc + *!* LOCAL cc,acc + *!* m.den='' + *!* SELECT actactan + *!* cc=scC + *!* acc=ascc + + *!* SELECT cont+'.'+acont+' - '+denumire as den FROM plcontana WHERE ALLTRIM(cont)=ALLTRIM(cc) INTO CURSOR ceva ORDER BY acont + *!* SELECT ceva + + *!* IF _tally=0 + *!* * DO mesaj WITH 'Nu au fost definite simboluri analitice','pentru contul '+cc + *!* IF USED('CEVA') + *!* USE IN ceva + *!* ENDIF + *!* SELECT actactan + *!* RETURN + *!* ENDIF + + *!* SELECT ceva + *!* DO caut_alfa_cursor WITH 'ceva','den','Alegeti simbolul analitic','m.den' + + *!* SELECT actactan + *!* REPLACE ascC WITH SUBSTR(m.den,6,4) + + *!* IF USED('CEVA') + *!* USE IN ceva + *!* ENDIF + *!* SELECT actactan + *!* thisform.grid1.refresh + ENDPROC + + PROCEDURE aleg_ascd + *!* LOCAL cc + *!* m.den='' + *!* SELECT actactan + *!* cc=scd + + *!* SELECT cont+'.'+acont+' - '+denumire as den FROM plcontana WHERE cont=cc INTO CURSOR ceva ORDER BY acont + *!* IF _tally=0 + *!* *DO mesaj WITH 'Nu au fost definite simboluri analitice','pentru contul '+cc + *!* IF USED('CEVA') + *!* USE IN ceva + *!* ENDIF + *!* SELECT actactan + *!* RETURN + *!* endif + + *!* DO caut_alfa_cursor WITH 'ceva','den','Alegeti simbolul analitic','m.den' + + *!* SELECT actactan + *!* REPLACE ascd WITH SUBSTR(m.den,6,4) + *!* IF USED('CEVA') + *!* USE IN ceva + *!* ENDIF + *!* SELECT actactan + *!* thisform.grid1.refresh + ENDPROC + + PROCEDURE Init + Local lnFormHeight, lnGridHeight + lnGridHeight = RECCOUNT('actactan') * this.griD1.RowHeight + this.grid1.HeaderHeight + lnFormHeight = m.lnGridHeight + this.shape1.Height + + this.Height = MAX(400, MIN(m.lnFormHeight, INT(_screen.Height*0.7))) + this.Width = INT(_screen.Width*0.7) + this.AutoCenter = .T. + + this.grID1.column36.Visible = m.gl406 && taxa saft + this.grID1.column37.Visible = m.gl406 && cod plata saft + + Do nrord With 'actactan' + Select actactan + Go Top + + + ENDPROC + + PROCEDURE verif_ascc + *!* LOCAL lc_d,acC + *!* m.den='' + *!* ll_l=.f. + *!* SELECT actactan + *!* lc_C=scC + *!* acC=ascC + + *!* SELECT cont+'.'+acont+' - '+denumire as den,cont,acont FROM plcontana ; + *!* WHERE ALLTRIM(cont)=ALLTRIM(lc_C) ; + *!* INTO CURSOR tceva ORDER BY acont + + *!* SELECT tceva + + *!* IF _tally=0 + *!* IF !EMPTY(acC) + *!* DO mesaj WITH 'Nu au fost definite simboluri analitice','pentru contul '+lc_C + *!* ll_l=.t. + *!* ENDIF + *!* + *!* IF USED('TCEVA') + *!* USE IN Tceva + *!* ENDIF + *!* SELECT actactan + *!* THIS.grid1.Setfocus + *!* RETURN ll_l + *!* ELSE + *!* IF !PlClick + *!* IF EMPTY(acc) + *!* SELECT actactan + *!* IF FLOCK() + *!* REPLACE ascc WITH '0000' + *!* ENDIF + *!* IF USED('TCEVA') + *!* USE IN Tceva + *!* ENDIF + *!* SELECT actactan + *!* THIS.grid1.SetFocus + *!* RETURN ll_l + *!* ENDIF + *!* ENDIF + *!* ENDIF + + *!* SELECT tceva + *!* IF PlClick + *!* DO caut_alfa_cursor WITH 'tceva','den','Alegeti simbolul analitic','m.den' + *!* SELECT actactan + *!* REPLACE ascC WITH SUBSTR(m.den,6,4) + *!* ELSE + *!* LOCATE FOR ALLTRIM(cont)=ALLTRIM(lc_C) AND ALLTRIM(acont)=ALLTRIM(acC) + *!* IF !FOUND() + *!* DO caut_alfa_cursor WITH 'tceva','den','Alegeti simbolul analitic','m.den' + *!* SELECT actactan + *!* REPLACE ascC WITH SUBSTR(m.den,6,4) + *!* ENDIF + *!* ENDIF + + *!* IF USED('TCEVA') + *!* USE IN Tceva + *!* ENDIF + + *!* SELECT actactan + *!* this.grid1.Refresh + *!* RETURN ll_l + ENDPROC + + PROCEDURE verif_ascd + *!* LOCAL lc_d,acd + *!* m.den='' + *!* ll_l=.f. + *!* SELECT actactan + *!* lc_d=scd + *!* acd=ascd + + *!* SELECT cont+'.'+acont+' - '+denumire as den,cont,acont FROM plcontana ; + *!* WHERE ALLTRIM(cont)=ALLTRIM(lc_d) ; + *!* INTO CURSOR tceva ORDER BY acont + + *!* SELECT tceva + + *!* IF _tally=0 + *!* IF !EMPTY(acd) + *!* DO mesaj WITH 'Nu au fost definite simboluri analitice','pentru contul '+lc_d + *!* ll_l=.t. + *!* ENDIF + *!* + *!* IF USED('TCEVA') + *!* USE IN Tceva + *!* ENDIF + *!* SELECT actactan + *!* THIS.Grid1.SetFocus + *!* RETURN ll_l + *!* ELSE + *!* IF !PlClick + *!* IF empty(acd) + *!* SELECT actactan + *!* IF FLOCK() + *!* REPLACE ascd WITH '0000' + *!* ENDIF + *!* IF USED('TCEVA') + *!* USE IN Tceva + *!* ENDIF + *!* SELECT actactan + *!* THIS.Grid1.SetFocus + *!* RETURN ll_l + *!* ENDIF + *!* ENDIF + *!* ENDIF + + *!* SELECT tceva + + *!* IF PlClick + *!* DO caut_alfa_cursor WITH 'tceva','den','Alegeti simbolul analitic','m.den' + *!* SELECT actactan + *!* REPLACE ascd WITH SUBSTR(m.den,6,4) + *!* ELSE + *!* LOCATE FOR ALLTRIM(cont)=ALLTRIM(lc_d) AND ALLTRIM(acont)=ALLTRIM(acd) + *!* IF !FOUND() + *!* DO caut_alfa_cursor WITH 'tceva','den','Alegeti simbolul analitic','m.den' + *!* SELECT actactan + *!* REPLACE ascd WITH SUBSTR(m.den,6,4) + *!* ENDIF + *!* ENDIF + + *!* IF USED('TCEVA') + *!* USE IN Tceva + *!* ENDIF + + *!* SELECT actactan + *!* THIS.Grid1.Refresh + *!* RETURN ll_l + ENDPROC + + PROCEDURE Grid1.Column1.Text1.DblClick + *thisform.butdrept + ENDPROC + + PROCEDURE Grid1.Column1.Text1.RightClick + do editscurt.mpr + ENDPROC + + PROCEDURE Grid1.Column10.Text1.DblClick + *thisform.butdrept + ENDPROC + + PROCEDURE Grid1.Column10.Text1.RightClick + do editscurt.mpr + ENDPROC + + PROCEDURE Grid1.Column11.Text1.DblClick + *thisform.butdrept + ENDPROC + + PROCEDURE Grid1.Column11.Text1.RightClick + do editscurt.mpr + ENDPROC + + PROCEDURE Grid1.Column12.Text1.DblClick + *thisform.butdrept + ENDPROC + + PROCEDURE Grid1.Column12.Text1.RightClick + do editscurt.mpr + ENDPROC + + PROCEDURE Grid1.Column2.Text1.DblClick + *thisform.butdrept + ENDPROC + + PROCEDURE Grid1.Column2.Text1.RightClick + do editscurt.mpr + ENDPROC + + PROCEDURE Grid1.Column3.Text1.DblClick + *thisform.butdrept + ENDPROC + + PROCEDURE Grid1.Column3.Text1.RightClick + do editscurt.mpr + ENDPROC + + PROCEDURE Grid1.Column31.Text1.Click + *!* *thisform.ALEG_ASCD() + *!* this.LostFocus(.t.) + ENDPROC + + PROCEDURE Grid1.Column31.Text1.LostFocus + *!* PARAMETERS PlClick + *!* ll_l=thisform.verif_ASCD() + *!* IF ll_l + *!* REPLACE ACTACTAN.ASCD WITH '' + *!* RETURN 0 + *!* ENDIF + *!* THIS.Parent.Parent.Refresh + *ENDIF + ENDPROC + + PROCEDURE Grid1.Column32.Text1.Click + *!* *thisform.ALEG_ASCC() + *!* this.LostFocus(.t.) + + ENDPROC + + PROCEDURE Grid1.Column32.Text1.LostFocus + *!* PARAMETERS PlClick + *!* *IF !EMPTY(ascc) + *!* ll_l=thisform.verif_ASCC() + *!* IF ll_l + *!* REPLACE ACTACTAN.ASCC WITH '' + *!* RETURN 0 + *!* ENDIF + *!* THIS.Parent.Parent.Refresh + *!* *ENDIF + ENDPROC + + PROCEDURE Grid1.Column4.Text1.DblClick + *thisform.butdrept + ENDPROC + + PROCEDURE Grid1.Column4.Text1.RightClick + do editscurt.mpr + ENDPROC + + PROCEDURE Grid1.Column5.Text1.DblClick + *thisform.butdrept + ENDPROC + + PROCEDURE Grid1.Column5.Text1.RightClick + do editscurt.mpr + ENDPROC + + PROCEDURE Grid1.Column6.Text1.DblClick + *thisform.butdrept + ENDPROC + + PROCEDURE Grid1.Column6.Text1.RightClick + do editscurt.mpr + ENDPROC + + PROCEDURE Grid1.Column7.Text1.DblClick + *thisform.butdrept + ENDPROC + + PROCEDURE Grid1.Column7.Text1.RightClick + do editscurt.mpr + ENDPROC + + PROCEDURE Grid1.Column8.Text1.DblClick + *thisform.butdrept + ENDPROC + + PROCEDURE Grid1.Column8.Text1.RightClick + do editscurt.mpr + ENDPROC + + PROCEDURE Grid1.Column9.Text1.DblClick + *thisform.butdrept + ENDPROC + + PROCEDURE Grid1.Column9.Text1.RightClick + do editscurt.mpr + ENDPROC + + PROCEDURE Precedent1.COMMAND1.Click + BUTON=3 + THISFORM.Release + ENDPROC + +ENDDEFINE + +DEFINE CLASS vizpage AS form + *< CLASSDATA: Baseclass="form" Timestamp="" Scale="Pixels" Uniqueid="" /> + + *-- OBJECTDATA items order determines ZOrder / El orden de los items OBJECTDATA determina el ZOrder + *< OBJECTDATA: ObjPath="BANDA21" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="pgcod" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="Shape1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="Text10" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="Text11" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="Grid1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="Grid1.Column2.Header2" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="Grid1.Column2.Text1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="Grid1.Column3.Header3" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="Grid1.Column3.Text1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="Grid1.Column4.Header4" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="Grid1.Column4.Text1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="Grid1.Column5.Header5" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="Grid1.Column5.Text1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="Grid1.Column6.Header6" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="Grid1.Column6.Text1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="Grid1.Column8.Header8" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="Grid1.Column8.Text1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="Grid1.Column7.Header1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="Grid1.Column7.Text1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="Grid1.Column9.Header1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="Grid1.Column9.Text1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="Grid1.Column10.Header1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="Grid1.Column10.Text1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="Grid1.Column11.Header1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="Grid1.Column11.Text1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="Grid1.Column12.Header1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="Grid1.Column12.Text1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="Grid1.Column13.Header1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="Grid1.Column13.Text1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="Grid1.Column14.Header1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="Grid1.Column14.Text1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="Grid1.Column15.Header1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="Grid1.Column15.Text1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="Grid1.Column16.Header1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="Grid1.Column16.Text1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="Grid1.Column17.Header1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="Grid1.Column17.Text1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="Grid1.Column18.Header1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="Grid1.Column18.Text1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="Grid1.Column19.Header1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="Grid1.Column19.Text1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="Grid1.Column20.Header1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="Grid1.Column20.Text1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="Grid1.Column21.Header1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="Grid1.Column21.Text1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="Grid1.Column22.Header1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="Grid1.Column22.Text1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="Text12" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="Text13" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="Text14" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="Text15" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="Text16" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="Text17" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="Text18" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="Text19" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="Text20" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="Text21" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="Text22" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="Text23" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="Text24" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="Text25" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="Text26" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="Text27" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="Label2" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="Label3" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="Label4" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="Label5" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="Label6" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="Label7" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="Label8" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="Label9" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="Label10" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="Label11" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="Label12" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="Label13" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="Label14" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="Label15" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="Label16" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="Label17" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="Label18" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="Label19" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="Label20" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="Label21" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="Label22" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="Label23" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="Label24" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="Label25" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="Label26" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="Label27" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="Text1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="Text2" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="Text3" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="Text4" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="Label1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="BANDABLOC1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="BANDABLOC1.BLOCBUTON1.Terminat1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="Titlufrumos1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="Text28" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="Label28" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="Text5" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="Text6" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="Text7" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="BLOCBUTON1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="BLOCBUTON1.Nu1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="BLOCBUTON1.Da1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="Text29" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="Label29" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="Text9" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="Text8" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="Tpreta" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="Tpretv" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="Lpreta" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="Lpretv" UniqueID="" Timestamp="" /> + + * + *m: setcaption + *m: updatelist + * + + * + AutoCenter = .T. + BackColor = 255,255,255 + BorderStyle = 1 + Caption = "Form1" + DoCreate = .T. + FontName = "Comic Sans MS" + Height = 377 + Name = "vizpage" + TitleBar = 0 + Width = 682 + WindowType = 1 + * + + ADD OBJECT 'BANDA21' AS banda2 WITH ; + Height = 34, ; + Left = 0, ; + Name = "BANDA21", ; + Top = 0, ; + Visible = .F., ; + Width = 683 + *< END OBJECT: ClassLib="baza.vcx" BaseClass="shape" /> + + ADD OBJECT 'BANDABLOC1' AS bandabloc WITH ; + Left = 0, ; + Name = "BANDABLOC1", ; + TabIndex = 60, ; + Top = 0, ; + BANDA21.Name = "BANDA21", ; + BLOCBUTON1.Name = "BLOCBUTON1" + *< END OBJECT: ClassLib="baza.vcx" BaseClass="container" /> + + ADD OBJECT 'BANDABLOC1.BLOCBUTON1.Terminat1' AS terminat WITH ; + Left = 88, ; + Name = "Terminat1", ; + Top = 2, ; + Imbuton1.Height = 27, ; + Imbuton1.Name = "Imbuton1", ; + Imbuton1.Width = 30, ; + Command1.Name = "Command1" + *< END OBJECT: ClassLib="baza.vcx" BaseClass="container" /> + + ADD OBJECT 'BLOCBUTON1' AS blocbuton WITH ; + Height = 35, ; + Left = 574, ; + Name = "BLOCBUTON1", ; + Top = -1, ; + Visible = .F., ; + Width = 110 + *< END OBJECT: ClassLib="baza.vcx" BaseClass="container" /> + + ADD OBJECT 'BLOCBUTON1.Da1' AS da WITH ; + Left = 54, ; + Name = "Da1", ; + Top = 3, ; + IMBUTON1.Height = 27, ; + IMBUTON1.Name = "IMBUTON1", ; + IMBUTON1.Width = 51, ; + COMMAND1.Name = "COMMAND1" + *< END OBJECT: ClassLib="baza.vcx" BaseClass="container" /> + + ADD OBJECT 'BLOCBUTON1.Nu1' AS nu WITH ; + Left = 4, ; + Name = "Nu1", ; + Top = 3, ; + IMBUTON1.Height = 27, ; + IMBUTON1.Name = "IMBUTON1", ; + IMBUTON1.Width = 51, ; + COMMAND1.Name = "COMMAND1" + *< END OBJECT: ClassLib="baza.vcx" BaseClass="container" /> + + ADD OBJECT 'Grid1' AS grid WITH ; + BackColor = 255,255,255, ; + ColumnCount = 21, ; + DeleteMark = .F., ; + FontName = "Arial Narrow", ; + FontSize = 9, ; + GridLineColor = 128,128,128, ; + Height = 241, ; + Left = 17, ; + Name = "Grid1", ; + Panel = 1, ; + ReadOnly = .T., ; + RecordSource = "rull", ; + RowHeight = 19, ; + TabIndex = 28, ; + Top = 106, ; + Width = 645, ; + ZOrderSet = 6, ; + Column1.Alignment = 0, ; + Column1.BackColor = 255,255,255, ; + Column1.ColumnOrder = 4, ; + Column1.ControlSource = "um", ; + Column1.FontName = "Arial Narrow", ; + Column1.FontSize = 9, ; + Column1.Name = "Column2", ; + Column1.ReadOnly = .T., ; + Column1.Width = 39, ; + Column2.Alignment = 1, ; + Column2.BackColor = 255,255,255, ; + Column2.ColumnOrder = 5, ; + Column2.ControlSource = "pret", ; + Column2.DynamicForeColor = "IIF(PRET>=0, RGB(0,0,0), RGB(255,0,0))", ; + Column2.FontName = "Arial Narrow", ; + Column2.FontSize = 9, ; + Column2.Format = "r", ; + Column2.InputMask = "99 999 999 999 999.99", ; + Column2.Name = "Column3", ; + Column2.ReadOnly = .T., ; + Column2.Width = 66, ; + Column3.Alignment = 0, ; + Column3.BackColor = 255,255,255, ; + Column3.ColumnOrder = 3, ; + Column3.ControlSource = "denumire", ; + Column3.FontName = "Arial Narrow", ; + Column3.FontSize = 9, ; + Column3.Format = "", ; + Column3.InputMask = "", ; + Column3.Name = "Column4", ; + Column3.ReadOnly = .T., ; + Column3.Width = 124, ; + Column4.Alignment = 1, ; + Column4.BackColor = 255,255,255, ; + Column4.ColumnOrder = 6, ; + Column4.ControlSource = "cant", ; + Column4.DynamicForeColor = "IIF(CANT>=0, RGB(0,0,0), RGB(0,0,255))", ; + Column4.FontName = "Arial Narrow", ; + Column4.FontSize = 9, ; + Column4.Format = "r", ; + Column4.InputMask = "999 999.999", ; + Column4.Name = "Column5", ; + Column4.ReadOnly = .T., ; + Column4.Width = 69, ; + Column5.Alignment = 1, ; + Column5.BackColor = 255,255,255, ; + Column5.ColumnOrder = 7, ; + Column5.ControlSource = "cante", ; + Column5.DynamicForeColor = "IIF(CANTE>=0, RGB(0,0,0), RGB(0,0,255))", ; + Column5.FontName = "Arial Narrow", ; + Column5.FontSize = 9, ; + Column5.Format = "r", ; + Column5.InputMask = "999 999.999", ; + Column5.Name = "Column6", ; + Column5.ReadOnly = .T., ; + Column5.Width = 67, ; + Column6.Alignment = 1, ; + Column6.BackColor = 255,255,255, ; + Column6.ColumnOrder = 9, ; + Column6.ControlSource = "gest", ; + Column6.FontName = "Arial Narrow", ; + Column6.FontSize = 9, ; + Column6.Format = "", ; + Column6.InputMask = "", ; + Column6.Name = "Column8", ; + Column6.ReadOnly = .T., ; + Column6.Width = 43, ; + Column7.BackColor = 255,255,255, ; + Column7.ColumnOrder = 8, ; + Column7.ControlSource = "scd", ; + Column7.FontName = "Arial Narrow", ; + Column7.FontSize = 9, ; + Column7.Name = "Column7", ; + Column7.ReadOnly = .T., ; + Column7.Width = 46, ; + Column8.BackColor = 255,255,255, ; + Column8.ColumnOrder = 14, ; + Column8.ControlSource = "pretv", ; + Column8.FontName = "Arial Narrow", ; + Column8.FontSize = 9, ; + Column8.Format = "r", ; + Column8.InputMask = "99 999 999 999 999", ; + Column8.Name = "Column9", ; + Column8.ReadOnly = .T., ; + Column8.Visible = .T., ; + Column8.Width = 75, ; + Column9.BackColor = 255,255,255, ; + Column9.ColumnOrder = 15, ; + Column9.ControlSource = "tva", ; + Column9.FontName = "Arial Narrow", ; + Column9.FontSize = 9, ; + Column9.Format = "r", ; + Column9.InputMask = "999 999 999 999", ; + Column9.Name = "Column10", ; + Column9.ReadOnly = .T., ; + Column9.Visible = .T., ; + Column9.Width = 75, ; + Column10.BackColor = 255,255,255, ; + Column10.ColumnOrder = 16, ; + Column10.ControlSource = "tvav", ; + Column10.FontName = "Arial Narrow", ; + Column10.FontSize = 9, ; + Column10.Format = "r", ; + Column10.InputMask = "999 999 999 999", ; + Column10.Name = "Column11", ; + Column10.ReadOnly = .T., ; + Column10.Visible = .T., ; + Column10.Width = 75, ; + Column11.BackColor = 255,255,255, ; + Column11.ColumnOrder = 17, ; + Column11.ControlSource = "(cant+cante)*(pret+tva)", ; + Column11.FontName = "Arial Narrow", ; + Column11.FontSize = 9, ; + Column11.Format = "r", ; + Column11.InputMask = "99 999 999 999 999", ; + Column11.Name = "Column12", ; + Column11.ReadOnly = .T., ; + Column11.Visible = .T., ; + Column11.Width = 75, ; + Column12.BackColor = 255,255,255, ; + Column12.ColumnOrder = 18, ; + Column12.ControlSource = "(cant+cante)*(pretv+tvav)", ; + Column12.FontName = "Arial Narrow", ; + Column12.FontSize = 9, ; + Column12.Format = "r", ; + Column12.InputMask = "99 999 999 999 999", ; + Column12.Name = "Column13", ; + Column12.ReadOnly = .T., ; + Column12.Visible = .T., ; + Column12.Width = 75, ; + Column13.BackColor = 255,255,255, ; + Column13.ColumnOrder = 10, ; + Column13.ControlSource = "curs", ; + Column13.FontName = "Arial Narrow", ; + Column13.FontSize = 9, ; + Column13.Format = "r", ; + Column13.InputMask = "9 999 999 999", ; + Column13.Name = "Column14", ; + Column13.ReadOnly = .T., ; + Column13.Width = 54, ; + Column14.BackColor = 255,255,255, ; + Column14.ColumnOrder = 12, ; + Column14.ControlSource = "procent", ; + Column14.FontName = "Arial Narrow", ; + Column14.FontSize = 9, ; + Column14.Format = "r", ; + Column14.InputMask = "999.99", ; + Column14.Name = "Column15", ; + Column14.ReadOnly = .T., ; + Column14.Width = 51, ; + Column15.BackColor = 255,255,255, ; + Column15.ColumnOrder = 13, ; + Column15.ControlSource = "adaos", ; + Column15.FontName = "Arial Narrow", ; + Column15.FontSize = 9, ; + Column15.Format = "r", ; + Column15.InputMask = "9 999 999 999", ; + Column15.Name = "Column16", ; + Column15.ReadOnly = .T., ; + Column15.Width = 56, ; + Column16.BackColor = 255,255,255, ; + Column16.ColumnOrder = 11, ; + Column16.ControlSource = "pretd", ; + Column16.FontName = "Arial Narrow", ; + Column16.FontSize = 9, ; + Column16.Format = "r", ; + Column16.InputMask = "9 999 999.99", ; + Column16.Name = "Column17", ; + Column16.ReadOnly = .T., ; + Column16.Width = 63, ; + Column17.BackColor = 255,255,255, ; + Column17.ColumnOrder = 2, ; + Column17.ControlSource = "codmat", ; + Column17.FontName = "Arial Narrow", ; + Column17.FontSize = 9, ; + Column17.Name = "Column18", ; + Column17.ReadOnly = .F., ; + Column17.Width = 63, ; + Column18.BackColor = 255,255,255, ; + Column18.ColumnOrder = 19, ; + Column18.ControlSource = "util", ; + Column18.FontName = "Arial Narrow", ; + Column18.FontSize = 9, ; + Column18.Name = "Column19", ; + Column18.ReadOnly = .T., ; + Column18.Width = 95, ; + Column19.BackColor = 255,255,255, ; + Column19.ColumnOrder = 20, ; + Column19.ControlSource = "dataora", ; + Column19.FontName = "Arial Narrow", ; + Column19.FontSize = 9, ; + Column19.Name = "Column20", ; + Column19.ReadOnly = .T., ; + Column19.Width = 94, ; + Column20.BackColor = 255,255,255, ; + Column20.ColumnOrder = 1, ; + Column20.ControlSource = "nnir", ; + Column20.FontName = "Arial Narrow", ; + Column20.FontSize = 9, ; + Column20.Name = "Column21", ; + Column20.ReadOnly = .T., ; + Column20.Width = 55, ; + Column21.BackColor = 255,255,255, ; + Column21.ColumnOrder = 21, ; + Column21.ControlSource = "sectie", ; + Column21.FontName = "Arial Narrow", ; + Column21.FontSize = 9, ; + Column21.Name = "Column22", ; + Column21.ReadOnly = .T., ; + Column21.Width = 75 + *< END OBJECT: BaseClass="grid" /> + + ADD OBJECT 'Grid1.Column10.Header1' AS header WITH ; + Alignment = 2, ; + Caption = "TVA achiz.", ; + FontName = "Arial Narrow", ; + Name = "Header1" + *< END OBJECT: BaseClass="header" /> + + ADD OBJECT 'Grid1.Column10.Text1' AS textbox WITH ; + BackColor = 255,255,255, ; + BorderStyle = 0, ; + FontName = "Arial Narrow", ; + ForeColor = 0,0,0, ; + Margin = 0, ; + Name = "Text1", ; + Visible = .T. + *< END OBJECT: BaseClass="textbox" /> + + ADD OBJECT 'Grid1.Column11.Header1' AS header WITH ; + Alignment = 2, ; + Caption = "TVA vanz.", ; + FontName = "Arial Narrow", ; + Name = "Header1" + *< END OBJECT: BaseClass="header" /> + + ADD OBJECT 'Grid1.Column11.Text1' AS textbox WITH ; + BackColor = 255,255,255, ; + BorderStyle = 0, ; + FontName = "Arial Narrow", ; + ForeColor = 0,0,0, ; + Margin = 0, ; + Name = "Text1", ; + Visible = .T. + *< END OBJECT: BaseClass="textbox" /> + + ADD OBJECT 'Grid1.Column12.Header1' AS header WITH ; + Alignment = 2, ; + Caption = "Valoare achiz.", ; + FontName = "Arial Narrow", ; + Name = "Header1" + *< END OBJECT: BaseClass="header" /> + + ADD OBJECT 'Grid1.Column12.Text1' AS textbox WITH ; + BackColor = 255,255,255, ; + BorderStyle = 0, ; + FontName = "Arial Narrow", ; + ForeColor = 0,0,0, ; + Margin = 0, ; + Name = "Text1", ; + Visible = .T. + *< END OBJECT: BaseClass="textbox" /> + + ADD OBJECT 'Grid1.Column13.Header1' AS header WITH ; + Alignment = 2, ; + Caption = "Valoare vanz.", ; + FontName = "Arial Narrow", ; + Name = "Header1" + *< END OBJECT: BaseClass="header" /> + + ADD OBJECT 'Grid1.Column13.Text1' AS textbox WITH ; + BackColor = 255,255,255, ; + BorderStyle = 0, ; + FontName = "Arial Narrow", ; + ForeColor = 0,0,0, ; + Margin = 0, ; + Name = "Text1", ; + Visible = .T. + *< END OBJECT: BaseClass="textbox" /> + + ADD OBJECT 'Grid1.Column14.Header1' AS header WITH ; + Alignment = 2, ; + Caption = "Curs valutar", ; + FontName = "Arial Narrow", ; + Name = "Header1" + *< END OBJECT: BaseClass="header" /> + + ADD OBJECT 'Grid1.Column14.Text1' AS textbox WITH ; + BackColor = 255,255,255, ; + BorderStyle = 0, ; + FontName = "Arial Narrow", ; + ForeColor = 0,0,0, ; + Margin = 0, ; + Name = "Text1" + *< END OBJECT: BaseClass="textbox" /> + + ADD OBJECT 'Grid1.Column15.Header1' AS header WITH ; + Alignment = 2, ; + Caption = "Procent", ; + FontName = "Arial Narrow", ; + Name = "Header1" + *< END OBJECT: BaseClass="header" /> + + ADD OBJECT 'Grid1.Column15.Text1' AS textbox WITH ; + BackColor = 255,255,255, ; + BorderStyle = 0, ; + FontName = "Arial Narrow", ; + ForeColor = 0,0,0, ; + Margin = 0, ; + Name = "Text1" + *< END OBJECT: BaseClass="textbox" /> + + ADD OBJECT 'Grid1.Column16.Header1' AS header WITH ; + Alignment = 2, ; + Caption = "Adaos", ; + FontName = "Arial Narrow", ; + Name = "Header1" + *< END OBJECT: BaseClass="header" /> + + ADD OBJECT 'Grid1.Column16.Text1' AS textbox WITH ; + BackColor = 255,255,255, ; + BorderStyle = 0, ; + FontName = "Arial Narrow", ; + ForeColor = 0,0,0, ; + Margin = 0, ; + Name = "Text1" + *< END OBJECT: BaseClass="textbox" /> + + ADD OBJECT 'Grid1.Column17.Header1' AS header WITH ; + Alignment = 2, ; + Caption = "Pret in valuta", ; + FontName = "Arial Narrow", ; + Name = "Header1" + *< END OBJECT: BaseClass="header" /> + + ADD OBJECT 'Grid1.Column17.Text1' AS textbox WITH ; + BackColor = 255,255,255, ; + BorderStyle = 0, ; + FontName = "Arial Narrow", ; + ForeColor = 0,0,0, ; + Margin = 0, ; + Name = "Text1" + *< END OBJECT: BaseClass="textbox" /> + + ADD OBJECT 'Grid1.Column18.Header1' AS header WITH ; + Alignment = 2, ; + Caption = "Cod material", ; + FontName = "Arial Narrow", ; + Name = "Header1" + *< END OBJECT: BaseClass="header" /> + + ADD OBJECT 'Grid1.Column18.Text1' AS textbox WITH ; + BackColor = 255,255,255, ; + BorderStyle = 0, ; + FontName = "Arial Narrow", ; + ForeColor = 0,0,0, ; + Margin = 0, ; + Name = "Text1", ; + ReadOnly = .F. + *< END OBJECT: BaseClass="textbox" /> + + ADD OBJECT 'Grid1.Column19.Header1' AS header WITH ; + Alignment = 2, ; + Caption = "Operator introducere", ; + FontName = "Arial Narrow", ; + Name = "Header1" + *< END OBJECT: BaseClass="header" /> + + ADD OBJECT 'Grid1.Column19.Text1' AS textbox WITH ; + BackColor = 255,255,255, ; + BorderStyle = 0, ; + FontName = "Arial Narrow", ; + ForeColor = 0,0,0, ; + Margin = 0, ; + Name = "Text1" + *< END OBJECT: BaseClass="textbox" /> + + ADD OBJECT 'Grid1.Column2.Header2' AS header WITH ; + Alignment = 2, ; + Caption = "UM", ; + FontName = "Arial Narrow", ; + FontSize = 9, ; + Name = "Header2" + *< END OBJECT: BaseClass="header" /> + + ADD OBJECT 'Grid1.Column2.Text1' AS textbox WITH ; + Alignment = 0, ; + BackColor = 255,255,255, ; + BorderStyle = 0, ; + FontName = "Arial Narrow", ; + FontSize = 9, ; + ForeColor = 0,0,0, ; + Margin = 0, ; + Name = "Text1", ; + ReadOnly = .T. + *< END OBJECT: BaseClass="textbox" /> + + ADD OBJECT 'Grid1.Column20.Header1' AS header WITH ; + Alignment = 2, ; + Caption = "Data&ora introducerii", ; + FontName = "Arial Narrow", ; + Name = "Header1" + *< END OBJECT: BaseClass="header" /> + + ADD OBJECT 'Grid1.Column20.Text1' AS textbox WITH ; + BackColor = 255,255,255, ; + BorderStyle = 0, ; + FontName = "Arial Narrow", ; + ForeColor = 0,0,0, ; + Margin = 0, ; + Name = "Text1" + *< END OBJECT: BaseClass="textbox" /> + + ADD OBJECT 'Grid1.Column21.Header1' AS header WITH ; + Alignment = 2, ; + Caption = "Nr. NIR/Bon", ; + FontName = "Arial Narrow", ; + Name = "Header1" + *< END OBJECT: BaseClass="header" /> + + ADD OBJECT 'Grid1.Column21.Text1' AS textbox WITH ; + BackColor = 255,255,255, ; + BorderStyle = 0, ; + FontName = "Arial Narrow", ; + ForeColor = 0,0,0, ; + Margin = 0, ; + Name = "Text1", ; + ReadOnly = .T. + *< END OBJECT: BaseClass="textbox" /> + + ADD OBJECT 'Grid1.Column22.Header1' AS header WITH ; + Alignment = 2, ; + Caption = "Sectie", ; + FontName = "Arial Narrow", ; + Name = "Header1" + *< END OBJECT: BaseClass="header" /> + + ADD OBJECT 'Grid1.Column22.Text1' AS textbox WITH ; + BackColor = 255,255,255, ; + BorderStyle = 0, ; + FontName = "Arial Narrow", ; + ForeColor = 0,0,0, ; + Margin = 0, ; + Name = "Text1" + *< END OBJECT: BaseClass="textbox" /> + + ADD OBJECT 'Grid1.Column3.Header3' AS header WITH ; + Alignment = 2, ; + Caption = "Pret achizitie", ; + FontName = "Arial Narrow", ; + FontSize = 9, ; + Name = "Header3" + *< END OBJECT: BaseClass="header" /> + + ADD OBJECT 'Grid1.Column3.Text1' AS textbox WITH ; + Alignment = 1, ; + BackColor = 255,255,255, ; + BorderStyle = 0, ; + FontName = "Arial Narrow", ; + FontSize = 9, ; + ForeColor = 0,0,0, ; + Margin = 0, ; + Name = "Text1", ; + ReadOnly = .T. + *< END OBJECT: BaseClass="textbox" /> + + ADD OBJECT 'Grid1.Column4.Header4' AS header WITH ; + Alignment = 2, ; + Caption = "Denumire", ; + FontName = "Arial Narrow", ; + FontSize = 9, ; + Name = "Header4" + *< END OBJECT: BaseClass="header" /> + + ADD OBJECT 'Grid1.Column4.Text1' AS textbox WITH ; + Alignment = 0, ; + BackColor = 255,255,255, ; + BorderStyle = 0, ; + FontName = "Arial Narrow", ; + FontSize = 9, ; + ForeColor = 0,0,0, ; + Margin = 0, ; + Name = "Text1", ; + ReadOnly = .T. + *< END OBJECT: BaseClass="textbox" /> + + ADD OBJECT 'Grid1.Column5.Header5' AS header WITH ; + Alignment = 2, ; + Caption = "Intrari", ; + FontName = "Arial Narrow", ; + FontSize = 9, ; + Name = "Header5" + *< END OBJECT: BaseClass="header" /> + + ADD OBJECT 'Grid1.Column5.Text1' AS textbox WITH ; + Alignment = 1, ; + BackColor = 255,255,255, ; + BorderStyle = 0, ; + FontName = "Arial Narrow", ; + FontSize = 9, ; + ForeColor = 0,0,0, ; + Margin = 0, ; + Name = "Text1", ; + ReadOnly = .T. + *< END OBJECT: BaseClass="textbox" /> + + ADD OBJECT 'Grid1.Column6.Header6' AS header WITH ; + Alignment = 2, ; + BackColor = 212,208,200, ; + Caption = "Iesiri", ; + FontName = "Arial Narrow", ; + FontSize = 9, ; + Name = "Header6" + *< END OBJECT: BaseClass="header" /> + + ADD OBJECT 'Grid1.Column6.Text1' AS textbox WITH ; + Alignment = 1, ; + BackColor = 255,255,255, ; + BorderColor = 0,0,0, ; + BorderStyle = 0, ; + FontName = "Arial Narrow", ; + FontSize = 9, ; + ForeColor = 0,0,0, ; + Margin = 0, ; + Name = "Text1", ; + ReadOnly = .T. + *< END OBJECT: BaseClass="textbox" /> + + ADD OBJECT 'Grid1.Column7.Header1' AS header WITH ; + Alignment = 2, ; + Caption = "Cont Deb.", ; + FontName = "Arial Narrow", ; + Name = "Header1" + *< END OBJECT: BaseClass="header" /> + + ADD OBJECT 'Grid1.Column7.Text1' AS textbox WITH ; + BackColor = 255,255,255, ; + BorderStyle = 0, ; + FontName = "Arial Narrow", ; + ForeColor = 0,0,0, ; + Margin = 0, ; + Name = "Text1" + *< END OBJECT: BaseClass="textbox" /> + + ADD OBJECT 'Grid1.Column8.Header8' AS header WITH ; + Alignment = 2, ; + Caption = "Gestiunea", ; + FontName = "Arial Narrow", ; + FontSize = 9, ; + Name = "Header8" + *< END OBJECT: BaseClass="header" /> + + ADD OBJECT 'Grid1.Column8.Text1' AS textbox WITH ; + Alignment = 1, ; + BackColor = 255,255,255, ; + BorderStyle = 0, ; + FontName = "Arial Narrow", ; + FontSize = 9, ; + ForeColor = 0,0,0, ; + Margin = 0, ; + Name = "Text1", ; + ReadOnly = .T. + *< END OBJECT: BaseClass="textbox" /> + + ADD OBJECT 'Grid1.Column9.Header1' AS header WITH ; + Alignment = 2, ; + Caption = "Pret vanz.", ; + FontName = "Arial Narrow", ; + Name = "Header1" + *< END OBJECT: BaseClass="header" /> + + ADD OBJECT 'Grid1.Column9.Text1' AS textbox WITH ; + BackColor = 255,255,255, ; + BorderStyle = 0, ; + FontName = "Arial Narrow", ; + ForeColor = 0,0,0, ; + Margin = 0, ; + Name = "Text1", ; + Visible = .T. + *< END OBJECT: BaseClass="textbox" /> + + ADD OBJECT 'Label1' AS label WITH ; + AutoSize = .T., ; + Caption = "Fel document", ; + FontName = "Arial Narrow", ; + FontSize = 10, ; + Height = 18, ; + Left = 24, ; + Name = "Label1", ; + TabIndex = 33, ; + Top = 114, ; + Width = 65 + *< END OBJECT: BaseClass="label" /> + + ADD OBJECT 'Label10' AS label WITH ; + AutoSize = .T., ; + Caption = "Suma", ; + FontName = "Arial Narrow", ; + FontSize = 10, ; + Height = 18, ; + Left = 233, ; + Name = "Label10", ; + TabIndex = 41, ; + Top = 114, ; + Width = 29 + *< END OBJECT: BaseClass="label" /> + + ADD OBJECT 'Label11' AS label WITH ; + AutoSize = .T., ; + Caption = "Lucrarea", ; + FontName = "Arial Narrow", ; + FontSize = 10, ; + Height = 18, ; + Left = 450, ; + Name = "Label11", ; + TabIndex = 42, ; + Top = 193, ; + Width = 45 + *< END OBJECT: BaseClass="label" /> + + ADD OBJECT 'Label12' AS label WITH ; + AutoSize = .T., ; + Caption = "Nr doc.platit", ; + FontName = "Arial Narrow", ; + FontSize = 10, ; + Height = 18, ; + Left = 450, ; + Name = "Label12", ; + TabIndex = 43, ; + Top = 114, ; + Width = 57 + *< END OBJECT: BaseClass="label" /> + + ADD OBJECT 'Label13' AS label WITH ; + AutoSize = .T., ; + Caption = "Data scadenta", ; + FontName = "Arial Narrow", ; + FontSize = 10, ; + Height = 18, ; + Left = 233, ; + Name = "Label13", ; + TabIndex = 44, ; + Top = 220, ; + Width = 69 + *< END OBJECT: BaseClass="label" /> + + ADD OBJECT 'Label14' AS label WITH ; + AutoSize = .T., ; + Caption = "NIR / Bon", ; + FontName = "Arial Narrow", ; + FontSize = 10, ; + Height = 18, ; + Left = 450, ; + Name = "Label14", ; + TabIndex = 45, ; + Top = 166, ; + Width = 49 + *< END OBJECT: BaseClass="label" /> + + ADD OBJECT 'Label15' AS label WITH ; + AutoSize = .T., ; + Caption = "Responsabil", ; + FontName = "Arial Narrow", ; + FontSize = 10, ; + Height = 18, ; + Left = 233, ; + Name = "Label15", ; + TabIndex = 46, ; + Top = 246, ; + Width = 60 + *< END OBJECT: BaseClass="label" /> + + ADD OBJECT 'Label16' AS label WITH ; + AutoSize = .T., ; + Caption = "Cheltuiala/Venit", ; + FontName = "Arial Narrow", ; + FontSize = 10, ; + Height = 18, ; + Left = 233, ; + Name = "Label16", ; + TabIndex = 47, ; + Top = 273, ; + Width = 74 + *< END OBJECT: BaseClass="label" /> + + ADD OBJECT 'Label17' AS label WITH ; + AutoSize = .T., ; + Caption = "Explicatia4", ; + FontName = "Arial Narrow", ; + FontSize = 10, ; + Height = 18, ; + Left = 233, ; + Name = "Label17", ; + TabIndex = 48, ; + Top = 299, ; + Width = 52 + *< END OBJECT: BaseClass="label" /> + + ADD OBJECT 'Label18' AS label WITH ; + AutoSize = .T., ; + Caption = "Explicatia5", ; + FontName = "Arial Narrow", ; + FontSize = 10, ; + Height = 18, ; + Left = 233, ; + Name = "Label18", ; + TabIndex = 49, ; + Top = 324, ; + Width = 52 + *< END OBJECT: BaseClass="label" /> + + ADD OBJECT 'Label19' AS label WITH ; + AutoSize = .T., ; + Caption = "Explicatia6", ; + FontName = "Arial Narrow", ; + FontSize = 10, ; + Height = 18, ; + Left = 450, ; + Name = "Label19", ; + TabIndex = 50, ; + Top = 220, ; + Width = 52 + *< END OBJECT: BaseClass="label" /> + + ADD OBJECT 'Label2' AS label WITH ; + AutoSize = .T., ; + Caption = "Data inregistrarii", ; + FontName = "Arial Narrow", ; + FontSize = 10, ; + Height = 18, ; + Left = 24, ; + Name = "Label2", ; + TabIndex = 32, ; + Top = 140, ; + Width = 78 + *< END OBJECT: BaseClass="label" /> + + ADD OBJECT 'Label20' AS label WITH ; + AutoSize = .T., ; + Caption = "Suma in valuta", ; + FontName = "Arial Narrow", ; + FontSize = 10, ; + Height = 18, ; + Left = 233, ; + Name = "Label20", ; + TabIndex = 51, ; + Top = 166, ; + Width = 71 + *< END OBJECT: BaseClass="label" /> + + ADD OBJECT 'Label21' AS label WITH ; + AutoSize = .T., ; + Caption = "Curs valutar", ; + FontName = "Arial Narrow", ; + FontSize = 10, ; + Height = 18, ; + Left = 233, ; + Name = "Label21", ; + TabIndex = 52, ; + Top = 193, ; + Width = 60 + *< END OBJECT: BaseClass="label" /> + + ADD OBJECT 'Label22' AS label WITH ; + AutoSize = .T., ; + Caption = "Neimpozabil", ; + FontName = "Arial Narrow", ; + FontSize = 10, ; + Height = 18, ; + Left = 233, ; + Name = "Label22", ; + TabIndex = 53, ; + Top = 140, ; + Width = 59 + *< END OBJECT: BaseClass="label" /> + + ADD OBJECT 'Label23' AS label WITH ; + AutoSize = .T., ; + Caption = "Sectie", ; + FontName = "Arial Narrow", ; + FontSize = 10, ; + Height = 18, ; + Left = 450, ; + Name = "Label23", ; + TabIndex = 54, ; + Top = 246, ; + Width = 30 + *< END OBJECT: BaseClass="label" /> + + ADD OBJECT 'Label24' AS label WITH ; + AutoSize = .T., ; + Caption = "Cod fiscal", ; + FontName = "Arial Narrow", ; + FontSize = 10, ; + Height = 18, ; + Left = 450, ; + Name = "Label24", ; + TabIndex = 56, ; + Top = 273, ; + Width = 47 + *< END OBJECT: BaseClass="label" /> + + ADD OBJECT 'Label25' AS label WITH ; + AutoSize = .T., ; + BackStyle = 0, ; + Caption = "Cod", ; + FontName = "Arial Narrow", ; + FontSize = 10, ; + Height = 18, ; + Left = 12, ; + Name = "Label25", ; + TabIndex = 57, ; + Top = 39, ; + Width = 22 + *< END OBJECT: BaseClass="label" /> + + ADD OBJECT 'Label26' AS label WITH ; + AutoSize = .T., ; + BackStyle = 0, ; + Caption = "Operator introducere", ; + FontName = "Arial Narrow", ; + FontSize = 10, ; + Height = 18, ; + Left = 121, ; + Name = "Label26", ; + TabIndex = 58, ; + Top = 38, ; + Width = 100 + *< END OBJECT: BaseClass="label" /> + + ADD OBJECT 'Label27' AS label WITH ; + AutoSize = .T., ; + BackStyle = 0, ; + Caption = "Data/ora introducerii", ; + FontName = "Arial Narrow", ; + FontSize = 10, ; + Height = 18, ; + Left = 346, ; + Name = "Label27", ; + TabIndex = 59, ; + Top = 38, ; + Width = 97 + *< END OBJECT: BaseClass="label" /> + + ADD OBJECT 'Label28' AS label WITH ; + AutoSize = .T., ; + Caption = "Nr doc.incasat", ; + FontName = "Arial Narrow", ; + FontSize = 10, ; + Height = 18, ; + Left = 450, ; + Name = "Label28", ; + TabIndex = 55, ; + Top = 140, ; + Width = 69 + *< END OBJECT: BaseClass="label" /> + + ADD OBJECT 'Label29' AS label WITH ; + AutoSize = .T., ; + BackStyle = 0, ; + Caption = "Tip op.", ; + FontName = "Arial Narrow", ; + FontSize = 10, ; + Height = 18, ; + Left = 568, ; + Name = "Label29", ; + TabIndex = 57, ; + Top = 39, ; + Width = 35 + *< END OBJECT: BaseClass="label" /> + + ADD OBJECT 'Label3' AS label WITH ; + AutoSize = .T., ; + Caption = "Data actului ", ; + FontName = "Arial Narrow", ; + FontSize = 10, ; + Height = 18, ; + Left = 24, ; + Name = "Label3", ; + TabIndex = 34, ; + Top = 166, ; + Width = 59 + *< END OBJECT: BaseClass="label" /> + + ADD OBJECT 'Label4' AS label WITH ; + AutoSize = .T., ; + Caption = "Nr document", ; + FontName = "Arial Narrow", ; + FontSize = 10, ; + Height = 18, ; + Left = 24, ; + Name = "Label4", ; + TabIndex = 35, ; + Top = 193, ; + Width = 62 + *< END OBJECT: BaseClass="label" /> + + ADD OBJECT 'Label5' AS label WITH ; + AutoSize = .T., ; + Caption = "Explicatia1", ; + FontName = "Arial Narrow", ; + FontSize = 10, ; + Height = 18, ; + Left = 24, ; + Name = "Label5", ; + TabIndex = 36, ; + Top = 220, ; + Width = 52 + *< END OBJECT: BaseClass="label" /> + + ADD OBJECT 'Label6' AS label WITH ; + AutoSize = .T., ; + Caption = "Explicatia2", ; + FontName = "Arial Narrow", ; + FontSize = 10, ; + Height = 18, ; + Left = 24, ; + Name = "Label6", ; + TabIndex = 37, ; + Top = 246, ; + Width = 52 + *< END OBJECT: BaseClass="label" /> + + ADD OBJECT 'Label7' AS label WITH ; + AutoSize = .T., ; + Caption = "Explicatia3", ; + FontName = "Arial Narrow", ; + FontSize = 10, ; + Height = 18, ; + Left = 24, ; + Name = "Label7", ; + TabIndex = 38, ; + Top = 273, ; + Width = 52 + *< END OBJECT: BaseClass="label" /> + + ADD OBJECT 'Label8' AS label WITH ; + AutoSize = .T., ; + Caption = "Analitic debitor", ; + FontName = "Arial Narrow", ; + FontSize = 10, ; + Height = 18, ; + Left = 24, ; + Name = "Label8", ; + TabIndex = 39, ; + Top = 299, ; + Width = 69 + *< END OBJECT: BaseClass="label" /> + + ADD OBJECT 'Label9' AS label WITH ; + AutoSize = .T., ; + Caption = "Analitic creditor", ; + FontName = "Arial Narrow", ; + FontSize = 10, ; + Height = 18, ; + Left = 24, ; + Name = "Label9", ; + TabIndex = 40, ; + Top = 324, ; + Width = 72 + *< END OBJECT: BaseClass="label" /> + + ADD OBJECT 'Lpreta' AS label WITH ; + AutoSize = .T., ; + BackStyle = 0, ; + Caption = "Total Achizitie", ; + FontName = "Arial Narrow", ; + FontSize = 10, ; + Height = 18, ; + Left = 129, ; + Name = "Lpreta", ; + TabIndex = 58, ; + Top = 67, ; + Visible = .F., ; + Width = 65 + *< END OBJECT: BaseClass="label" /> + + ADD OBJECT 'Lpretv' AS label WITH ; + AutoSize = .T., ; + BackStyle = 0, ; + Caption = "Toatal Vanzare", ; + FontName = "Arial Narrow", ; + FontSize = 10, ; + Height = 18, ; + Left = 354, ; + Name = "Lpretv", ; + TabIndex = 59, ; + Top = 67, ; + Visible = .F., ; + Width = 74 + *< END OBJECT: BaseClass="label" /> + + ADD OBJECT 'pgcod' AS pageframe WITH ; + ActivePage = 1, ; + ErasePage = .T., ; + Height = 302, ; + Left = 7, ; + Name = "pgcod", ; + PageCount = 3, ; + TabIndex = 1, ; + Tabs = .T., ; + TabStretch = 1, ; + TabStyle = 1, ; + Top = 62, ; + Width = 666, ; + Page1.Caption = "", ; + Page1.Name = "page1", ; + Page1.PageOrder = 1, ; + Page2.Caption = "", ; + Page2.Name = "page2", ; + Page2.PageOrder = 2, ; + Page3.Caption = "", ; + Page3.FontName = "MS Sans Serif", ; + Page3.Name = "page3", ; + Page3.PageOrder = 3 + *< END OBJECT: BaseClass="pageframe" /> + + ADD OBJECT 'Shape1' AS shape WITH ; + Height = 252, ; + Left = 13, ; + Name = "Shape1", ; + SpecialEffect = 0, ; + Top = 101, ; + Width = 653 + *< END OBJECT: BaseClass="shape" /> + + ADD OBJECT 'Text1' AS textbox WITH ; + ControlSource = "camp.fdoc", ; + DisabledBackColor = 255,255,255, ; + FontName = "Arial Narrow", ; + Height = 23, ; + Left = 104, ; + Name = "Text1", ; + ReadOnly = .T., ; + SpecialEffect = 2, ; + TabIndex = 2, ; + Top = 112, ; + Width = 115 + *< END OBJECT: BaseClass="textbox" /> + + ADD OBJECT 'Text10' AS textbox WITH ; + ControlSource = "camp.suma", ; + DisabledBackColor = 255,255,255, ; + FontName = "Arial Narrow", ; + Height = 23, ; + InputMask = "99 999 999 999 999", ; + Left = 309, ; + Name = "Text10", ; + ReadOnly = .T., ; + SpecialEffect = 2, ; + TabIndex = 11, ; + Top = 112, ; + Width = 115 + *< END OBJECT: BaseClass="textbox" /> + + ADD OBJECT 'Text11' AS textbox WITH ; + ControlSource = "camp.nrord", ; + DisabledBackColor = 255,255,255, ; + FontName = "Arial Narrow", ; + Height = 23, ; + Left = 525, ; + Name = "Text11", ; + ReadOnly = .T., ; + SpecialEffect = 2, ; + TabIndex = 12, ; + Top = 191, ; + Width = 115 + *< END OBJECT: BaseClass="textbox" /> + + ADD OBJECT 'Text12' AS textbox WITH ; + ControlSource = "camp.pereche", ; + DisabledBackColor = 255,255,255, ; + FontName = "Arial Narrow", ; + Height = 23, ; + Left = 525, ; + Name = "Text12", ; + ReadOnly = .T., ; + SpecialEffect = 2, ; + TabIndex = 13, ; + Top = 112, ; + Width = 115 + *< END OBJECT: BaseClass="textbox" /> + + ADD OBJECT 'Text13' AS textbox WITH ; + ControlSource = "camp.datascad", ; + DisabledBackColor = 255,255,255, ; + FontName = "Arial Narrow", ; + Height = 23, ; + Left = 309, ; + Name = "Text13", ; + ReadOnly = .T., ; + SpecialEffect = 2, ; + TabIndex = 14, ; + Top = 218, ; + Width = 115 + *< END OBJECT: BaseClass="textbox" /> + + ADD OBJECT 'Text14' AS textbox WITH ; + ControlSource = "camp.nnir", ; + DisabledBackColor = 255,255,255, ; + FontName = "Arial Narrow", ; + Height = 23, ; + Left = 525, ; + Name = "Text14", ; + ReadOnly = .T., ; + SpecialEffect = 2, ; + TabIndex = 15, ; + Top = 164, ; + Width = 115 + *< END OBJECT: BaseClass="textbox" /> + + ADD OBJECT 'Text15' AS textbox WITH ; + ControlSource = "camp.nresp", ; + DisabledBackColor = 255,255,255, ; + FontName = "Arial Narrow", ; + Height = 23, ; + Left = 309, ; + Name = "Text15", ; + ReadOnly = .T., ; + SpecialEffect = 2, ; + TabIndex = 16, ; + Top = 244, ; + Width = 115 + *< END OBJECT: BaseClass="textbox" /> + + ADD OBJECT 'Text16' AS textbox WITH ; + ControlSource = "camp.dst_chlt", ; + DisabledBackColor = 255,255,255, ; + FontName = "Arial Narrow", ; + Height = 23, ; + Left = 309, ; + Name = "Text16", ; + ReadOnly = .T., ; + SpecialEffect = 2, ; + TabIndex = 17, ; + Top = 270, ; + Width = 115 + *< END OBJECT: BaseClass="textbox" /> + + ADD OBJECT 'Text17' AS textbox WITH ; + ControlSource = "camp.nume_3", ; + DisabledBackColor = 255,255,255, ; + FontName = "Arial Narrow", ; + Height = 23, ; + Left = 309, ; + Name = "Text17", ; + ReadOnly = .T., ; + SpecialEffect = 2, ; + TabIndex = 18, ; + Top = 297, ; + Width = 115 + *< END OBJECT: BaseClass="textbox" /> + + ADD OBJECT 'Text18' AS textbox WITH ; + ControlSource = "camp.nume_4", ; + DisabledBackColor = 255,255,255, ; + FontName = "Arial Narrow", ; + Height = 23, ; + Left = 309, ; + Name = "Text18", ; + ReadOnly = .T., ; + SpecialEffect = 2, ; + TabIndex = 19, ; + Top = 323, ; + Width = 115 + *< END OBJECT: BaseClass="textbox" /> + + ADD OBJECT 'Text19' AS textbox WITH ; + ControlSource = "camp.nume_5", ; + DisabledBackColor = 255,255,255, ; + FontName = "Arial Narrow", ; + Height = 23, ; + Left = 525, ; + Name = "Text19", ; + ReadOnly = .T., ; + SpecialEffect = 2, ; + TabIndex = 23, ; + Top = 218, ; + Width = 115 + *< END OBJECT: BaseClass="textbox" /> + + ADD OBJECT 'Text2' AS textbox WITH ; + ControlSource = "camp.dataireg", ; + DisabledBackColor = 255,255,255, ; + FontName = "Arial Narrow", ; + Height = 23, ; + Left = 104, ; + Name = "Text2", ; + ReadOnly = .T., ; + SpecialEffect = 2, ; + TabIndex = 3, ; + Top = 138, ; + Width = 115 + *< END OBJECT: BaseClass="textbox" /> + + ADD OBJECT 'Text20' AS textbox WITH ; + ControlSource = "camp.suma_2", ; + DisabledBackColor = 255,255,255, ; + FontName = "Arial Narrow", ; + Height = 23, ; + InputMask = "999 999 999 999.99", ; + Left = 309, ; + Name = "Text20", ; + ReadOnly = .T., ; + SpecialEffect = 2, ; + TabIndex = 21, ; + Top = 164, ; + Width = 115 + *< END OBJECT: BaseClass="textbox" /> + + ADD OBJECT 'Text21' AS textbox WITH ; + ControlSource = "camp.suma_3", ; + DisabledBackColor = 255,255,255, ; + FontName = "Arial Narrow", ; + Height = 23, ; + InputMask = "99 999 999 999 999", ; + Left = 309, ; + Name = "Text21", ; + ReadOnly = .T., ; + SpecialEffect = 2, ; + TabIndex = 22, ; + Top = 191, ; + Width = 115 + *< END OBJECT: BaseClass="textbox" /> + + ADD OBJECT 'Text22' AS textbox WITH ; + ControlSource = "camp.neimpozab", ; + DisabledBackColor = 255,255,255, ; + FontName = "Arial Narrow", ; + Height = 23, ; + InputMask = "99 999 999 999 999", ; + Left = 309, ; + Name = "Text22", ; + ReadOnly = .T., ; + SpecialEffect = 2, ; + TabIndex = 20, ; + Top = 138, ; + Width = 115 + *< END OBJECT: BaseClass="textbox" /> + + ADD OBJECT 'Text23' AS textbox WITH ; + ControlSource = "camp.sectie", ; + DisabledBackColor = 255,255,255, ; + FontName = "Arial Narrow", ; + Height = 23, ; + Left = 525, ; + Name = "Text23", ; + ReadOnly = .T., ; + SpecialEffect = 2, ; + TabIndex = 24, ; + Top = 244, ; + Width = 115 + *< END OBJECT: BaseClass="textbox" /> + + ADD OBJECT 'Text24' AS textbox WITH ; + ControlSource = "camp.cod_fiscal", ; + DisabledBackColor = 255,255,255, ; + FontName = "Arial Narrow", ; + Height = 23, ; + Left = 525, ; + Name = "Text24", ; + ReadOnly = .T., ; + SpecialEffect = 2, ; + TabIndex = 25, ; + Top = 270, ; + Width = 115 + *< END OBJECT: BaseClass="textbox" /> + + ADD OBJECT 'Text25' AS textbox WITH ; + ControlSource = "camp.cod", ; + DisabledBackColor = 255,255,255, ; + FontName = "Arial Narrow", ; + Height = 23, ; + Left = 36, ; + Name = "Text25", ; + ReadOnly = .T., ; + SpecialEffect = 2, ; + TabIndex = 29, ; + Top = 36, ; + Width = 75 + *< END OBJECT: BaseClass="textbox" /> + + ADD OBJECT 'Text26' AS textbox WITH ; + ControlSource = "camp.util", ; + DisabledBackColor = 255,255,255, ; + FontName = "Arial Narrow", ; + Height = 23, ; + Left = 222, ; + Name = "Text26", ; + ReadOnly = .T., ; + SpecialEffect = 2, ; + TabIndex = 30, ; + Top = 36, ; + Width = 115 + *< END OBJECT: BaseClass="textbox" /> + + ADD OBJECT 'Text27' AS textbox WITH ; + ControlSource = "camp.dataora", ; + DisabledBackColor = 255,255,255, ; + FontName = "Arial Narrow", ; + Height = 23, ; + Left = 447, ; + Name = "Text27", ; + ReadOnly = .T., ; + SpecialEffect = 2, ; + TabIndex = 31, ; + Top = 36, ; + Width = 115 + *< END OBJECT: BaseClass="textbox" /> + + ADD OBJECT 'Text28' AS textbox WITH ; + ControlSource = "camp.pereche2", ; + DisabledBackColor = 255,255,255, ; + FontName = "Arial Narrow", ; + Height = 23, ; + Left = 525, ; + Name = "Text28", ; + ReadOnly = .T., ; + SpecialEffect = 2, ; + TabIndex = 26, ; + Top = 138, ; + Width = 115 + *< END OBJECT: BaseClass="textbox" /> + + ADD OBJECT 'Text29' AS textbox WITH ; + ControlSource = "camp.id_set", ; + DisabledBackColor = 255,255,255, ; + FontName = "Arial Narrow", ; + Height = 23, ; + Left = 602, ; + Name = "Text29", ; + ReadOnly = .T., ; + SpecialEffect = 2, ; + TabIndex = 29, ; + Top = 36, ; + Width = 75 + *< END OBJECT: BaseClass="textbox" /> + + ADD OBJECT 'Text3' AS textbox WITH ; + ControlSource = "camp.dataact", ; + DisabledBackColor = 255,255,255, ; + FontName = "Arial Narrow", ; + Height = 23, ; + Left = 104, ; + Name = "Text3", ; + ReadOnly = .T., ; + SpecialEffect = 2, ; + TabIndex = 4, ; + Top = 164, ; + Width = 115 + *< END OBJECT: BaseClass="textbox" /> + + ADD OBJECT 'Text4' AS textbox WITH ; + ControlSource = "camp.nract", ; + DisabledBackColor = 255,255,255, ; + FontName = "Arial Narrow", ; + Height = 23, ; + Left = 104, ; + Name = "Text4", ; + ReadOnly = .T., ; + SpecialEffect = 2, ; + TabIndex = 5, ; + Top = 191, ; + Width = 115 + *< END OBJECT: BaseClass="textbox" /> + + ADD OBJECT 'Text5' AS textbox WITH ; + ControlSource = "camp.nume", ; + DisabledBackColor = 255,255,255, ; + FontName = "Arial Narrow", ; + Height = 23, ; + Left = 104, ; + Name = "Text5", ; + ReadOnly = .T., ; + SpecialEffect = 2, ; + TabIndex = 6, ; + Top = 218, ; + Width = 115 + *< END OBJECT: BaseClass="textbox" /> + + ADD OBJECT 'Text6' AS textbox WITH ; + ControlSource = "camp.nume_2", ; + DisabledBackColor = 255,255,255, ; + FontName = "Arial Narrow", ; + Height = 23, ; + Left = 104, ; + Name = "Text6", ; + ReadOnly = .T., ; + SpecialEffect = 2, ; + TabIndex = 7, ; + Top = 244, ; + Width = 115 + *< END OBJECT: BaseClass="textbox" /> + + ADD OBJECT 'Text7' AS textbox WITH ; + ControlSource = "camp.explicatia", ; + DisabledBackColor = 255,255,255, ; + FontName = "Arial Narrow", ; + Height = 23, ; + Left = 104, ; + Name = "Text7", ; + ReadOnly = .T., ; + SpecialEffect = 2, ; + TabIndex = 8, ; + Top = 270, ; + Width = 115 + *< END OBJECT: BaseClass="textbox" /> + + ADD OBJECT 'Text8' AS textbox WITH ; + ControlSource = "camp.ascd", ; + DisabledBackColor = 255,255,255, ; + FontName = "Arial Narrow", ; + Height = 23, ; + Left = 104, ; + Name = "Text8", ; + ReadOnly = .T., ; + SpecialEffect = 2, ; + TabIndex = 9, ; + Top = 297, ; + Width = 115 + *< END OBJECT: BaseClass="textbox" /> + + ADD OBJECT 'Text9' AS textbox WITH ; + ControlSource = "camp.ascc", ; + DisabledBackColor = 255,255,255, ; + FontName = "Arial Narrow", ; + Height = 23, ; + Left = 104, ; + Name = "Text9", ; + ReadOnly = .T., ; + SpecialEffect = 2, ; + TabIndex = 10, ; + Top = 323, ; + Width = 115 + *< END OBJECT: BaseClass="textbox" /> + + ADD OBJECT 'Titlufrumos1' AS titlufrumos WITH ; + Caption = "Detalii inregistrari", ; + Height = 37, ; + Left = 12, ; + Name = "Titlufrumos1", ; + TabIndex = 27, ; + Top = 0, ; + Width = 252 + *< END OBJECT: ClassLib="baza.vcx" BaseClass="label" /> + + ADD OBJECT 'Tpreta' AS textbox WITH ; + ControlSource = "pnPretA", ; + DisabledBackColor = 255,255,255, ; + FontName = "Arial Narrow", ; + Height = 23, ; + Left = 197, ; + Name = "Tpreta", ; + ReadOnly = .T., ; + SpecialEffect = 2, ; + TabIndex = 30, ; + Top = 65, ; + Visible = .F., ; + Width = 115 + *< END OBJECT: BaseClass="textbox" /> + + ADD OBJECT 'Tpretv' AS textbox WITH ; + ControlSource = "pnPretV", ; + DisabledBackColor = 255,255,255, ; + FontName = "Arial Narrow", ; + Height = 23, ; + Left = 428, ; + Name = "Tpretv", ; + ReadOnly = .T., ; + SpecialEffect = 2, ; + TabIndex = 31, ; + Top = 65, ; + Visible = .F., ; + Width = 115 + *< END OBJECT: BaseClass="textbox" /> + + PROCEDURE Init + THISFORM.LockScreen = .T. + *WAIT WINDOW 'INIT' + SELECT rull + LOCATE FOR cod=m.cod + IF FOUND() + THISFORM.pgcod.PageCount = n+1 + THISFORM.pgcod.Pages(n+1).Caption = 'Gestiuni' + ELSE + THISFORM.pgcod.PageCount = n + ENDIF + *Call a method to update the captions on all the tabs + THISFORM.SetCaption + + *Call a method to update the list to display the proper values + + FOR i=1 TO thisform.pgcod.pagecount + thisform.pgcod.Pages(i).fontname='Comic Sans MS' &&'Arial Narrow' + thisform.pgcod.Pages(i).forecolor=8404992 + *thisform.pgcod.Pages(i).fontbold=.t. + *thisform.pgcod.Pages(i).fontsize=10 + ENDFOR + + SELECT aaa + LOCATE FOR scd=m.scd AND scc=m.scc AND nume_2=m.nume_2 + n=RECNO() + thisform.pgcod.ActivePage=n + this.grid1.Visible=.f. + this.grid1.ZOrder(1) + THISFORM.UpdateList + + THISFORM.LockScreen = .F. + ENDPROC + + PROCEDURE setcaption + *!* THISFORM.LockScreen = .T. + *!* FOR i = 1 to THISFORM.pgcod.PageCount + *!* FirstLetter = SUBSTR(THISFORM.Alphabet,((n - 1)*ROUND(LEN(THISFORM.Alphabet)/THISFORM.pgfRolodex.PageCount,0))+1,1) + *!* IF n = THISFORM.pgfRolodex.PageCount &&last page + *!* LastLetter = right(THISFORM.Alphabet,1) + *!* ELSE + *!* LastLetter = SUBSTR(THISFORM.Alphabet,((n)*ROUND(LEN(THISFORM.Alphabet)/THISFORM.pgfRolodex.PageCount,0)),1) + *!* ENDIF + *!* THISFORM.pgfRolodex.Pages(n).Caption = FirstLetter + "-" + LastLetter + *!* ENDFOR + *!* THISFORM.LockScreen = .F. + FOR i = 1 to n &&THISFORM.pgcod.PageCount + SELECT aaa + GO i + SCATTER FIELDS scd,scc NAME lloc + THISFORM.pgcod.Pages(i).Caption = lloc.scd + "-" + lloc.scc + ENDFOR + RELEASE lloc + + + ENDPROC + + PROCEDURE Show + LPARAMETERS nStyle + *WAIT WINDOW 'SHOW' + thisform.bandablOC1.asezare + ENDPROC + + PROCEDURE updatelist + If !This.pgcod.Pages(N).Caption='Gestiuni' + this.grid1.ZOrder(1) + Select aaa + + Go N + Scatter Name camp + For i=1 To Thisform.pgcod.PageCount + Thisform.pgcod.Pages(i).ForeColor=Iif(i=N,Rgb(0,0,255),Rgb(0,64,128)) + ENDFOR + this.tpreta.Visible = .F. + this.tpretv.Visible = .F. + this.lpreta.Visible = .F. + this.lpretv.Visible = .F. + ELSE + This.pgcod.ActivePage=n + For i=1 To Thisform.pgcod.PageCount + Thisform.pgcod.Pages(i).ForeColor=Iif(i=N,Rgb(0,0,255),Rgb(0,64,128)) + ENDFOR + this.grid1.Visible=.t. + Thisform.Refresh + Select rull + Set Filter To cod=m.cod + this.grid1.zorder(0) + + Select rull + SUM (cant -cante) * pret TO pnPretA + SUM (cant -cante) * pretv TO pnPretV + GO TOP + pnPretA = ABS(pnPretA) + pnPretV = ABS(pnPretV) + + this.tpreta.Visible = .t. + this.tpretv.Visible = .t. + this.lpreta.Visible = .T. + this.lpretv.Visible = .T. + + + *!* Do Form gestiuni + *!* This.pgcod.ActivePage=1 + *!* SELECT aaa + *!* GO top + *!* SCATTER NAME camp + *!* For i=1 To Thisform.pgcod.PageCount + *!* Thisform.pgcod.Pages(i).ForeColor=Iif(i=1,Rgb(0,0,255),Rgb(0,64,128)) + *!* Endfor + Endif + Thisform.Refresh + + ENDPROC + + PROCEDURE Grid1.AfterRowColChange + LPARAMETERS nColIndex + + + sele rull + scat FIEL CANT,COD memv + *!* if m.cant#0 + *!* thisform.pageframe1.page2.enabled=.t. + *!* thisform.optiongroup1.option2.enabled=.t. + *!* thisform.pageframe1.page3.enabled=.f. + *!* thisform.optiongroup1.option3.enabled=.f. + *!* else + *!* thisform.pageframe1.page2.enabled=.f. + *!* thisform.optiongroup1.option2.enabled=.f. + *!* thisform.pageframe1.page3.enabled=.t. + *!* thisform.optiongroup1.option3.enabled=.t. + *!* endif + ENDPROC + + PROCEDURE Grid1.Valid + *!* scatter FIEL COD memvar + *!* codfix=m.cod + + ENDPROC + + PROCEDURE pgcod.Click + *Updates the list to have the proper data + THISFORM.LockScreen = .T. + n=thisform.pgcod.activepage + THISFORM.UpdateList + THISFORM.LockScreen = .F. + ENDPROC + +ENDDEFINE diff --git a/clase/configurare.vc2 b/clase/configurare.vc2 new file mode 100644 index 0000000..3a12e43 --- /dev/null +++ b/clase/configurare.vc2 @@ -0,0 +1,5241 @@ +*-------------------------------------------------------------------------------------------------------------------------------------------------------- +* (EN) AUTOGENERATED - ATTENTION!! - NOT INTENDED FOR EXECUTION!! USE ONLY FOR MERGING CHANGES AND STORING WITH SCM TOOLS!! +*-------------------------------------------------------------------------------------------------------------------------------------------------------- +*< FOXBIN2PRG: Version="1.21" SourceFile="configurare.vcx" CPID="1252" /> (Solo para binarios VFP 9 / Only for VFP 9 binaries) +* +* +DEFINE CLASS buton_optiuni AS commandbutton + *< CLASSDATA: Baseclass="commandbutton" Timestamp="" Scale="Pixels" Uniqueid="" /> + + * + *p: culoare_activ + *p: culoare_inactiv + * + + * + BackColor = 255,255,255 + Caption = "Command1" + culoare_activ = RGB(217,241,255) + culoare_inactiv = rgb(192,192,192) + ForeColor = 0,64,128 + Height = 27 + Name = "buton_optiuni" + Width = 84 + * + + PROCEDURE MouseEnter + LPARAMETERS nButton, nShift, nXCoord, nYCoord + + this.BackColor=RGB(217,241,255) + + + + ENDPROC + + PROCEDURE MouseLeave + LPARAMETERS nButton, nShift, nXCoord, nYCoord + + IF TYPE('this.Parent.activecontrol') <> 'O' OR this.Parent.activecontrol.Name != this.name + this.BackColor = RGB(255,255,255) + ENDIF + + ENDPROC + +ENDDEFINE + +DEFINE CLASS cus_odata_gestiuni_config_old AS _cusodatabase OF "_cus_odata_base.vcx" + *< CLASSDATA: Baseclass="custom" Timestamp="" Scale="Pixels" Uniqueid="" /> + + * + Name = "cus_odata_gestiuni_config" + * + + PROCEDURE make_sql + Lparameters toRec,tnId + + lcActiune = Alltrim(This.cActiune) + + If Inlist(lcActiune, "UPDATE",'INSERT') And Type('toRec') != "O" + Return .F. + Endif + + If Inlist(lcActiune, "UPDATE",'DELETE') And Type('tnId') != "N" + Return .F. + Endif + + IF INLIST(lcActiune, "UPDATE",'DELETE') + lcId = Alltrim(Str(tnId)) + lcnom = [nom_gestiuni] + lc_camp_id = [id_gestiune] + lc_copil_lookup = [vrul] + lc_camp_id_lookup = [id_gestiune] + lc_copil_del = [gest_coresp_grupe_gestiuni] + lc_camp_id_del = [id_gestiune] + *!* lcnom = gcS + ".nom_gestiuni" + *!* lcamp = "nom_gestiuni.id_gestiune" + *!* lclook = gcS + ".rul" + *!* lclookid = "rul.id_gestiune" + ENDIF + + If Inlist(lcActiune, "UPDATE",'DELETE') + lcId = Alltrim(Str(tnId)) + Endif + + If Inlist(lcActiune, "UPDATE",'INSERT') + lcnume_gestiune = Nvl(STRTRAN(Alltrim(Upper(toRec.nume_gestiune)),['],['']),"") + lccgest = Nvl(UPPER(ALLTRIM(toRec.cgest)),"") + lccont = Nvl(ALLTRIM(toRec.cont),"") + lcacont = Nvl(ALLTRIM(toRec.acont),"") + lcnr_pag = Nvl(ALLTRIM(STR(toRec.nr_pag)),"") + lcinactiv = Nvl(ALLTRIM(STR(toRec.inactiv)),"") + *!* 22.02.2010 + lcid_sucursala = IIF(ISNULL(toRec.id_sucursala), "", ALLTRIM(STR(toRec.id_sucursala))) + lcid_responsabil = IIF(ISNULL(toRec.id_responsabil), "", ALLTRIM(STR(toRec.id_responsabil))) + *!* 22.02.2010 ^ + *!* 24.02.2010 + lcacont_cheltuiala = Nvl(ALLTRIM(toRec.acont_cheltuiala),"") + lcacont_adaos = Nvl(ALLTRIM(toRec.acont_adaos),"") + *!* 24.02.2010 ^ + Endif + + Do Case + *!* modificare 19.08.2008 + Case lcActiune = "INSERT" + lcSql = [begin pack_def.adauga_gestiune('] + lcnume_gestiune + [','] + lccgest + [','] + lccont + [',] + lcnr_pag + [,] + ; + ['] + lcacont + [',] + lcinactiv +[,]+lcid_sucursala+ [,] + lcid_responsabil + [); end;] + *!* lcSql = [begin nomgestinsproc('] + gcS+ [','] + lcnume_gestiune + [','] + lccgest +; + *!* [','] + lcont + [','] + lacont + [',] + lcnr_pag + [,] + lcinactiv + [); end;] + *!* *!* lcSql = [INSERT INTO ] + gcS + [.nom_gestiuni (nume_gestiune,ngest,cgest,cont,acont,nr_pag,inactiv) VALUES ('] +; + *!* *!* lcnume_gestiune + [',] + lcngest + [,'] + lccgest + [','] + lcont + [','] +; + *!* *!* lacont + [',] + lcnr_pag + [,] + lcinactiv + [)] + + Case lcActiune = "UPDATE" + lcSql = [begin pack_def.modifica_gestiune(] + lcId + [,'] + lcnume_gestiune + [','] + lccgest + [','] + lccont + ['] + ; + [,] + lcnr_pag + [,'] + lcacont + [',] + lcinactiv +[,]+lcid_sucursala + [,] + lcId_responsabil + [); ] +; + [end;] + + *!* lcSql = [UPDATE ] + gcS + [.nom_gestiuni SET nume_gestiune = '] + lcnume_gestiune + ; + *!* [', cgest = '] + lccgest + [', cont = '] + lcont + ; + *!* [', acont = '] + lacont + [', nr_pag = ] + lcnr_pag + [,inactiv =] + lcinactiv +; + *!* [ where id_gestiune = ] + lcId + *!* modificare 19.08.2008 ^ + Case lcActiune = "DELETE" + lcSql = [begin NOM_COPIL_DELPROC('] + gcS + [','] + lcnom + [','] + lc_camp_id +; + [',] + lcId + [,'] + lc_copil_lookup + [','] + lc_camp_id_lookup + [','] +; + lc_copil_del + [','] + lc_camp_id_del + ['); end;] + *!* lcSql = [begin nomdelproc('] + lcnom + [','] + lcamp + [',] + lcid + [,'] + lclook + [','] + lclookid + ['); end;] + + Endcase + + This.csql = lcSql + + ENDPROC + +ENDDEFINE + +DEFINE CLASS cus_odata_grupe AS _cusodatabase OF "..\..\comun\clase\_cus_odata_base.vcx" + *< CLASSDATA: Baseclass="custom" Timestamp="" Scale="Pixels" Uniqueid="" /> + + * + Name = "cus_odata_grupe" + * + + PROCEDURE make_sql + Lparameters toRec,tnId + + lcActiune = Alltrim(This.cActiune) + + If Inlist(lcActiune, "UPDATE",'INSERT') And Type('toRec') != "O" + Return .F. + Endif + + If Inlist(lcActiune, "UPDATE",'DELETE') And Type('tnId') != "N" + Return .F. + Endif + + IF INLIST(lcActiune, "UPDATE",'DELETE') + lcId = Alltrim(Str(tnId)) + *!* lcnom = gcS + ".gest_nom_grupe" + *!* lcamp = "gest_nom_grupe.id_grupe" + *!* lclook = gcS + ".gest_coresp_util_grupe" + *!* lclookid = "gest_coresp_util_grupe.id_grupe" + lcnom = [gest_nom_grupe] + lc_camp_id = [id_grupe] + lc_copil_lookup = [vgest_coresp_util_grupe] + lc_camp_id_lookup = [id_grupe] + lc_copil_del = [gest_coresp_grupe_gestiuni] + lc_camp_id_del = [id_grupe] + ENDIF + + If Inlist(lcActiune, "UPDATE",'DELETE') + lcId = Alltrim(Str(tnId)) + Endif + + If Inlist(lcActiune, "UPDATE",'INSERT') + lcnume_grupa = Nvl(STRTRAN(Alltrim(Upper(toRec.nume_grupa)),['],['']),"") + lcinactiv = Nvl(ALLTRIM(STR(toRec.inactiv)),"") + pnInactiv = NVL(toRec.inactiv,0) + IF EMPTY(toRec.parent_id) OR ISNULL(toRec.parent_id) + lcParentId = "NULL" + ELSE + lcParentId = NVL(TRANSFORM(toRec.parent_id),"") + ENDIF + Endif + + + Do Case + Case lcActiune = "INSERT" + lcSql = [INSERT INTO ] + gcS + [.gest_nom_grupe (nume_grupa, parent_id, inactiv) VALUES ('] +; + lcnume_grupa + [',] + lcParentId + [,] + lcinactiv + [)] + + Case lcActiune = "UPDATE" + lcSql = [UPDATE ] + gcS + [.gest_nom_grupe SET nume_grupa = '] + lcnume_grupa + ; + [', inactiv = ] + lcInactiv + [, parent_id = ] + lcParentId + [ where id_grupe = ] + lcId + * WAIT WINDOW lcSql + Case lcActiune = "DELETE" + lcSql = [begin NOM_COPIL_DELPROC('] + gcS + [','] + lcnom + [','] + lc_camp_id +; + [',] + lcId + [,'] + lc_copil_lookup + [','] + lc_camp_id_lookup + [','] +; + lc_copil_del + [','] + lc_camp_id_del + ['); end;] + *!* lcSql = [begin nomdelproc('] + lcnom + [','] + lcamp + [',] + lcid + [,'] +; + *!* lclook + [','] + lclookid + ['); end;] + + Endcase + + This.csql = lcSql + + ENDPROC + + PROCEDURE salvare + Lparameters toRec,tnId + + Private llSucces, lnSucces + + llSucces = .T. + lnSucces = -1 + lcActiune = Upper(Alltrim(This.cactiune)) + lcMesaj = '' + lcTitlu = '' + Do Case + Case lcActiune = "INSERT" + lcMesaj = "Doriti sa adaugati inregistrarea?" + lcTitlu = "Adaugare" + + Case lcActiune = "UPDATE" + lcMesaj = "Doriti sa salvati modificarile?" + lcTitlu = "Modificare" + + Case lcActiune = "DELETE" + lcMesaj = "Doriti sa stergeti inregistrarea?" + lcTitlu = "Stergere" + + ENDCASE + + lcimagine = [intreb.ico] + lctip = [Intrebare] + ofrm_intreb = CREATEOBJECT('frm_mesaj',lctitlu,lcimagine,lctip,lcmesaj) + ofrm_intreb.show(1) + RELEASE ofrm_intreb + + IF buton = 1 + PNIESIRE=1 + If This.validare() + + This.make_sql(toRec,tnId) + + lcSql = Upper(Alltrim(This.csql)) + + llConditie = 'INSERT'$lcSql Or 'UPDATE'$lcSql Or 'DELETE'$lcSql Or 'BEGIN'$lcSql + + If llConditie + lnSucces = goExecutor.oExecute(lcSql) + If lnSucces < 0 + + lcTextEroare = goExecutor.cEroare + + Do Case + CASE LIKE('*ORA-20???:*',lcTextEroare) + lnPozi=At("ORA-20",lcTextEroare)+11 + lnPozf=At("ORA",lcTextEroare,2) + lcMesaj=Substr(lcTextEroare,lnPozi,lnPozf-lnPozi) + lcTitlu="Eroare" + + *!* Case "ORA-20000"$lcTextEroare + *!* lnPozi=At("ORA-20000",lcTextEroare)+11 + *!* lnPozf=At("ORA",lcTextEroare,2) + *!* lcMesaj=Substr(lcTextEroare,lnPozi,lnPozf-lnPozi) + *!* lcTitlu="Eroare" + *!* Case "ORA-20001"$lcTextEroare + *!* lnPozi=At("ORA-20001",lcTextEroare)+11 + *!* lnPozf=At("ORA",lcTextEroare,2) + *!* lcMesaj=Substr(lcTextEroare,lnPozi,lnPozf-lnPozi) + *!* lcTitlu="Eroare" + Case lcActiune = "INSERT" + lcMesaj = "Inregistrarea nu a fost adaugata." + Chr(13) + Chr(10) + lcTextEroare + lcTitlu = "Adaugare" + Case lcActiune = "UPDATE" + lcMesaj = "Inregistrarea nu a fost modificata." + Chr(13) + Chr(10) + lcTextEroare + lcTitlu = "Modificare" + Case lcActiune = "DELETE" + lcMesaj = "Inregistrarea nu a fost stearsa." + Chr(13) + Chr(10) + lcTextEroare + lcTitlu = "Stergere" + Endcase + + lcimagine = [info_c.ico] + lctip = [Informare] + ofrm_info = CREATEOBJECT([frm_mesaj],lcTitlu,lcimagine,lctip,lcMesaj) + ofrm_info.show(1) + RELEASE ofrm_info + llSucces = .F. + ENDIF + + If lnSucces >=1 And lcActiune = "DELETE" + lcTitlu = "Stergere" + lctip = [Informare] + lcimagine = [info_c.ico] + lcMesaj = "Inregistrarea a fost stearsa." + ofrm_mesaj = CREATEOBJECT([frm_mesaj],lcTitlu,lcimagine,lctip,lcMesaj) + ofrm_mesaj.show(1) + RELEASE ofrm_mesaj + Endif + Endif + + Endif + + Else + PNIESIRE=2 + Endif + + + Return llSucces + + ENDPROC + +ENDDEFINE + +DEFINE CLASS frm_config_tipuri_gestiuni AS _frmbase OF "_frm_base.vcx" + *< CLASSDATA: Baseclass="form" Timestamp="" Scale="Pixels" Uniqueid="" /> + + *-- OBJECTDATA items order determines ZOrder / El orden de los items OBJECTDATA determina el ZOrder + *< OBJECTDATA: ObjPath="But_reface1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="List1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="List2" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="List3" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="_LBBASE1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="but_add" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="but_addall" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="but_rem" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="but_remall" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="_lbbase2" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="_lbbase3" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="_lbbase4" UniqueID="" Timestamp="" /> + + * + *m: actualizeaza_liste + *m: adauga_cont + *m: scoate_cont + * + + * + BorderStyle = 3 + DoCreate = .T. + Height = 384 + Name = "frm_config_tipuri_gestiuni" + Width = 339 + _shape1.Height = 29 + _shape1.Left = 0 + _shape1.Name = "_shape1" + _shape1.Top = 0 + _shape1.Width = 344 + _shape2.Height = 29 + _shape2.Left = 277 + _shape2.Name = "_shape2" + _shape2.Top = 0 + _shape2.Width = 62 + Lb_titlu_alb_b121.Caption = "Configurare tipuri de gestiuni" + Lb_titlu_alb_b121.Name = "Lb_titlu_alb_b121" + Lb_titlu_alb_b121.TabIndex = 10 + BUT_TERMIN1.Height = 27 + BUT_TERMIN1.Left = 307 + BUT_TERMIN1.Name = "BUT_TERMIN1" + BUT_TERMIN1.TabIndex = 9 + BUT_TERMIN1.Top = 1 + BUT_TERMIN1.Width = 31 + Gridsort1.Name = "Gridsort1" + * + + ADD OBJECT '_LBBASE1' AS _lbbase WITH ; + Caption = "Tipuri de gestiuni", ; + FontName = "Arial Narrow", ; + FontSize = 10, ; + Left = 12, ; + Name = "_LBBASE1", ; + TabIndex = 11, ; + Top = 38 + *< END OBJECT: ClassLib="_lb_base.vcx" BaseClass="label" /> + + ADD OBJECT '_lbbase2' AS _lbbase WITH ; + Caption = "Conturi disponibile*", ; + FontName = "Arial Narrow", ; + FontSize = 10, ; + Left = 12, ; + Name = "_lbbase2", ; + TabIndex = 12, ; + Top = 188 + *< END OBJECT: ClassLib="_lb_base.vcx" BaseClass="label" /> + + ADD OBJECT '_lbbase3' AS _lbbase WITH ; + Caption = "Conturi selectate", ; + FontName = "Arial Narrow", ; + FontSize = 10, ; + Left = 216, ; + Name = "_lbbase3", ; + TabIndex = 13, ; + Top = 188 + *< END OBJECT: ClassLib="_lb_base.vcx" BaseClass="label" /> + + ADD OBJECT '_lbbase4' AS _lbbase WITH ; + AutoSize = .F., ; + Caption = "* Tastati cea de-a doua cifra din contul dorit pentru pozitionare rapida", ; + FontItalic = .T., ; + FontSize = 8, ; + Height = 32, ; + Left = 14, ; + Name = "_lbbase4", ; + TabIndex = 14, ; + Top = 352, ; + Width = 307, ; + WordWrap = .T. + *< END OBJECT: ClassLib="_lb_base.vcx" BaseClass="label" /> + + ADD OBJECT 'but_add' AS cmd_buton WITH ; + cpicturedown = add.bmp, ; + cpictureup = add.bmp, ; + Height = 25, ; + Left = 156, ; + Name = "but_add", ; + Picture = ..\grafice\add.bmp, ; + TabIndex = 4, ; + Top = 216, ; + Width = 25 + *< END OBJECT: ClassLib="_cmd_base.vcx" BaseClass="commandbutton" /> + + ADD OBJECT 'but_addall' AS cmd_buton WITH ; + cpicturedown = addall.bmp, ; + cpictureup = addall.bmp, ; + Height = 25, ; + Left = 156, ; + Name = "but_addall", ; + Picture = ..\grafice\addall.bmp, ; + TabIndex = 5, ; + Top = 246, ; + Width = 25 + *< END OBJECT: ClassLib="_cmd_base.vcx" BaseClass="commandbutton" /> + + ADD OBJECT 'But_reface1' AS but_reface WITH ; + Left = 278, ; + Name = "But_reface1", ; + TabIndex = 8, ; + Top = 1 + *< END OBJECT: ClassLib="cmd_butoane.vcx" BaseClass="commandbutton" /> + + ADD OBJECT 'but_rem' AS cmd_buton WITH ; + cpicturedown = remove.bmp, ; + cpictureup = remove.bmp, ; + Height = 25, ; + Left = 156, ; + Name = "but_rem", ; + Picture = ..\grafice\remove.bmp, ; + TabIndex = 6, ; + Top = 276, ; + Width = 25 + *< END OBJECT: ClassLib="_cmd_base.vcx" BaseClass="commandbutton" /> + + ADD OBJECT 'but_remall' AS cmd_buton WITH ; + cpicturedown = remall.bmp, ; + cpictureup = remall.bmp, ; + Height = 25, ; + Left = 156, ; + Name = "but_remall", ; + Picture = ..\grafice\remall.bmp, ; + TabIndex = 7, ; + Top = 308, ; + Width = 25 + *< END OBJECT: ClassLib="_cmd_base.vcx" BaseClass="commandbutton" /> + + ADD OBJECT 'List1' AS listbox WITH ; + BoundColumn = 2, ; + BoundTo = .T., ; + Height = 120, ; + Left = 12, ; + Name = "List1", ; + RowSource = "crsTipuri_gest", ; + RowSourceType = 2, ; + TabIndex = 1, ; + Top = 56, ; + Width = 313 + *< END OBJECT: BaseClass="listbox" /> + + ADD OBJECT 'List2' AS listbox WITH ; + Height = 134, ; + Left = 12, ; + Name = "List2", ; + RowSource = "crsPlcont", ; + RowSourceType = 2, ; + Sorted = .F., ; + TabIndex = 2, ; + Top = 208, ; + Width = 109 + *< END OBJECT: BaseClass="listbox" /> + + ADD OBJECT 'List3' AS listbox WITH ; + BoundColumn = 2, ; + BoundTo = .T., ; + Height = 134, ; + Left = 216, ; + Name = "List3", ; + RowSource = "crsCoresp", ; + RowSourceType = 2, ; + TabIndex = 3, ; + Top = 206, ; + Width = 109 + *< END OBJECT: BaseClass="listbox" /> + + PROCEDURE actualizeaza_liste + + lcRowSource2 = this.list2.RowSource + lcRowSource3 = this.list3.RowSource + this.list2.RowSource = [] + this.list3.RowSource = [] + + poCoresp.ca_baza1.afisare() + poPlcont.ca_baza1.afisare() + + this.list2.RowSource = lcRowSource2 + this.list3.RowSource = lcRowSource3 + + thisform.refresh + *this.list2.refresh + *this.list3.refresh + + + + + + + + ENDPROC + + PROCEDURE adauga_cont + + PARAMETERS tlToate + + select crsTipuri_gest + lcId_tipgest = ALLTRIM(STR(id_tipgest)) + + SELECT crsPlcont + IF tlToate + SCAN + lccont = ALLTRIM(cont) + lcSql = [insert into ] + gcs + [.coresp_cont_tipgest (id_tipgest,cont) values ] +; + [(] + lcId_tipgest + [,'] + lccont + [')] + lnsucces = goExecutor.oExecute(lcSql) + IF lnsucces < 0 + lcmesaj = goExecutor.cEroare + ofrm_er = CREATEOBJECT('frm_mesaj','Eroare','exclam.ico','Avertizare',lcmesaj) + ofrm_er.show(1) + RELEASE ofrm_er + RETURN + ENDIF + ENDSCAN + ELSE + lccont = ALLTRIM(this.list2.Value) + *!* lcSql = [insert into ] + gcs + [.coresp_cont_tipgest (id_tipgest,cont) values ] +; + *!* [(] + lcId_tipgest + [,'] + lccont + [')] + lcSql = [insert into ] + gcs + [.coresp_cont_tipgest (id_tipgest,cont) values ] +; + [(?lcId_tipgest,?lccont)] + lnsucces = goExecutor.oExecute(lcSql) + IF lnsucces < 0 + lcmesaj = goExecutor.cEroare + ofrm_er = CREATEOBJECT('frm_mesaj','Eroare','exclam.ico','Avertizare',lcmesaj) + ofrm_er.show(1) + RELEASE ofrm_er + RETURN + ENDIF + ENDIF + + + ENDPROC + + PROCEDURE do_reface + lctitlu = [Refacere] + lcimagine = [intreb.ico] + lctip = [Intrebare] + lcmesaj = [Aceasta operatie va sterge corespondenta actuala ] +; + [dintre tipuri de gestiuni si conturi!Doriti sa continuati?] + + ofrm_mesaj = CREATEOBJECT([frm_mesaj],lctitlu,lcimagine,lctip,lcmesaj) + ofrm_mesaj.show(1) + RELEASE ofrm_mesaj + + IF buton=2 + RETURN + ENDIF + + lcComanda1 = [delete from ] + gcS + [.coresp_cont_tipgest] + lnSucces1 = goExecutor.oExecute(lcComanda1) + IF lnSucces1 < 0 + lcMesaj = goExecutor.cEroare + ofrm_er = CREATEOBJECT([frm_mesaj],[Eroare],[exclam.ico],[Avertizare],lcmesaj) + ofrm_er.show(1) + RELEASE ofrm_er + RETURN + ENDIF + + lcComanda2 = [insert into ] + gcS + [.coresp_cont_tipgest (select * from coresp_cont_tipgest)] + lnSucces2 = goExecutor.oExecute(lcComanda2) + IF lnSucces2 < 0 + lcMesaj = goExecutor.cEroare + ofrm_er = CREATEOBJECT([frm_mesaj],[Eroare],[exclam.ico],[Avertizare],lcmesaj) + ofrm_er.show(1) + RELEASE ofrm_er + RETURN + ENDIF + + lctitlu = [Refacere] + lcimagine = [info_c.ico] + lctip = [Informare] + lcmesaj1 = [Refacerea s-a terminat!] + + ofrm_mesaj = CREATEOBJECT([frm_mesaj],lctitlu,lcimagine,lctip,lcmesaj1) + ofrm_mesaj.show(1) + RELEASE ofrm_mesaj + + this.actualizeaza_liste + this.refresh + ENDPROC + + PROCEDURE Refresh + + ln2 = this.list2.ListCount + ln3 = this.list3.ListCount + this.but_add.Enabled = IIF(ln2 = 0,.f.,IIF(this.list2.ListIndex =0,.f.,.t.)) + this.but_addall.Enabled = IIF(ln2 = 0,.f.,.t.) + this.but_rem.Enabled = IIF(ln3 = 0,.f.,IIF(this.list3.ListIndex =0,.f.,.t.)) + this.but_remall.Enabled = IIF(ln3 = 0,.f.,.t.) + ENDPROC + + PROCEDURE scoate_cont + + + PARAMETERS tlToate + + SELECT crsCoresp + IF tlToate + lcSql = [update ] + gcs + [.coresp_cont_tipgest set sters = 1 where id_tipgest =?pnId_tipgest] + ELSE + lcId_cct = ALLTRIM(STR(id_cct)) + lcSql = [update ] + gcs + [.coresp_cont_tipgest set sters = 1 where id_cct =] + lcId_cct + ENDIF + + lnsucces = goExecutor.oExecute(lcSql) + IF lnsucces < 0 + lcmesaj = goExecutor.cEroare + ofrm_er = CREATEOBJECT('frm_mesaj','Eroare','exclam.ico','Avertizare',lcmesaj) + ofrm_er.show(1) + RELEASE ofrm_er + RETURN + ENDIF + + + + ENDPROC + + PROCEDURE but_add.Click + thisform.adauga_cont(.f.) + thisform.actualizeaza_liste + thisform.refresh + + ENDPROC + + PROCEDURE but_addall.Click + thisform.adauga_cont(.t.) + + thisform.actualizeaza_liste + thisform.refresh + ENDPROC + + PROCEDURE but_rem.Click + thisform.scoate_cont(.f.) + thisform.actualizeaza_liste + thisform.refresh + ENDPROC + + PROCEDURE but_remall.Click + thisform.scoate_cont(.t.) + + thisform.actualizeaza_liste + thisform.refresh + ENDPROC + + PROCEDURE List1.InteractiveChange + + SELECT crsTipuri_gest + pnId_tipgest = id_tipgest + + this.Parent.actualizeaza_liste + + ENDPROC + + PROCEDURE List2.InteractiveChange + + thisform.refresh + ENDPROC + + PROCEDURE List2.KeyPress + LPARAMETERS nKeyCode, nShiftAltCtrl + + IF INLIST(CHR(nKeyCode),'0','1','2','3','4','5','6','7','8','9') + SELECT crsPlcont + LOCATE FOR SUBSTR(cont,2,1) = CHR(nKeyCode) + IF FOUND() + this.Value = cont + ENDIF + this.refresh + + ENDIF + + ENDPROC + + PROCEDURE List3.InteractiveChange + + thisform.refresh + ENDPROC + +ENDDEFINE + +DEFINE CLASS frm_gestiuni_grupe_utilizatori AS _frmbase OF "_frm_base.vcx" + *< CLASSDATA: Baseclass="form" Timestamp="" Scale="Pixels" Uniqueid="" /> + + *-- OBJECTDATA items order determines ZOrder / El orden de los items OBJECTDATA determina el ZOrder + *< OBJECTDATA: ObjPath="Pagefr_config" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="Pagefr_config.pag1.grd_grupe" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="Pagefr_config.pag1.grd_grupe.Column1.Header1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="Pagefr_config.pag1.grd_grupe.Column1.Text1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="Pagefr_config.pag1.grd_grupe.Column2.Header1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="Pagefr_config.pag1.grd_grupe.Column2.Text1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="Pagefr_config.pag1.grd_grupe.Column3.Header1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="Pagefr_config.pag1.grd_grupe.Column3.Check2" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="Pagefr_config.pag1.grd_grupe.Column4.Header1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="Pagefr_config.pag1.grd_grupe.Column4.Text1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="Pagefr_config.pag1._lbbase2" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="Pagefr_config.pag1.grd_grupe_coresp" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="Pagefr_config.pag1.grd_grupe_coresp.Column1.Header1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="Pagefr_config.pag1.grd_grupe_coresp.Column1.Text1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="Pagefr_config.pag1.grd_grupe_coresp.Column2.Header1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="Pagefr_config.pag1.grd_grupe_coresp.Column2.Text1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="Pagefr_config.pag1.grd_grupe_coresp.Column3.Header1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="Pagefr_config.pag1.grd_grupe_coresp.Column3.Text1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="Pagefr_config.pag1.grd_grupe_coresp.Column4.Header1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="Pagefr_config.pag1.grd_grupe_coresp.Column4.Text1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="Pagefr_config.pag1.Gridextra1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="Pagefr_config.pag2.grd_gestiuni_coresp" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="Pagefr_config.pag2.grd_gestiuni_coresp.Cnr_crt.Header1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="Pagefr_config.pag2.grd_gestiuni_coresp.Cnr_crt.Text1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="Pagefr_config.pag2.grd_gestiuni_coresp.Cnume_grupa.Header1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="Pagefr_config.pag2.grd_gestiuni_coresp.Cnume_grupa.Text1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="Pagefr_config.pag2.grd_gestiuni" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="Pagefr_config.pag2.grd_gestiuni.cnr_crt.Header1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="Pagefr_config.pag2.grd_gestiuni.cnr_crt.Text1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="Pagefr_config.pag2.grd_gestiuni.cnume_gestiune.Header1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="Pagefr_config.pag2.grd_gestiuni.cnume_gestiune.Text1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="Pagefr_config.pag2.grd_gestiuni.ccgest.Header1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="Pagefr_config.pag2.grd_gestiuni.ccgest.Text1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="Pagefr_config.pag2.grd_gestiuni.ccont.Header1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="Pagefr_config.pag2.grd_gestiuni.ccont.Text1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="Pagefr_config.pag2.grd_gestiuni.cacont.Header1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="Pagefr_config.pag2.grd_gestiuni.cacont.Text1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="Pagefr_config.pag2.grd_gestiuni.Cnr_pag.Header1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="Pagefr_config.pag2.grd_gestiuni.Cnr_pag.Text1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="Pagefr_config.pag2.grd_gestiuni.cinactiv.Header1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="Pagefr_config.pag2.grd_gestiuni.cinactiv.Check1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="Pagefr_config.pag2.grd_gestiuni.cSucursala.Header1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="Pagefr_config.pag2.grd_gestiuni.cSucursala.Text1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="Pagefr_config.pag2.grd_gestiuni.cResponsabil.Header1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="Pagefr_config.pag2.grd_gestiuni.cResponsabil.Text1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="Pagefr_config.pag2.grd_gestiuni.Column10.Header1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="Pagefr_config.pag2.grd_gestiuni.Column10.Text1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="Pagefr_config.pag2.grd_gestiuni.cacont_cheltuiala.Header1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="Pagefr_config.pag2.grd_gestiuni.cacont_cheltuiala.Text1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="Pagefr_config.pag2.grd_gestiuni.cAcont_adaos.Header1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="Pagefr_config.pag2.grd_gestiuni.cAcont_adaos.Text1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="Pagefr_config.pag2.grd_gestiuni.cLucrare.Header1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="Pagefr_config.pag2.grd_gestiuni.cLucrare.Text1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="Pagefr_config.pag2.grd_gestiuni.Column14.Header1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="Pagefr_config.pag2.grd_gestiuni.Column14.Text1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="Pagefr_config.pag2.grd_gestiuni.Column15.Header1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="Pagefr_config.pag2.grd_gestiuni.Column15.Text1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="Pagefr_config.pag2.grd_gestiuni.Column16.Header1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="Pagefr_config.pag2.grd_gestiuni.Column16.Text1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="Pagefr_config.pag2.grd_gestiuni.Column17.Header1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="Pagefr_config.pag2.grd_gestiuni.Column17.Text1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="Pagefr_config.pag2._lbbase2" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="Pagefr_config.pag2.grd_grupe" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="Pagefr_config.pag2.grd_grupe.Cnr_crt.Header1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="Pagefr_config.pag2.grd_grupe.Cnr_crt.Text1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="Pagefr_config.pag2.grd_grupe.Cnume_grupa.Header1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="Pagefr_config.pag2.grd_grupe.Cnume_grupa.Text1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="Pagefr_config.pag2._lbbase1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="Pagefr_config.pag2.cmd_add" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="Pagefr_config.pag2.cmd_add_all" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="Pagefr_config.pag2.cmd_rem" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="Pagefr_config.pag2.cmd_rem_all" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="Pagefr_config.pag2.Gridextra1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="Pagefr_config.pag3.grd_utilizatori" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="Pagefr_config.pag3.grd_utilizatori.Cnr_crt.Header1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="Pagefr_config.pag3.grd_utilizatori.Cnr_crt.Text1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="Pagefr_config.pag3.grd_utilizatori.Cutilizator.Header1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="Pagefr_config.pag3.grd_utilizatori.Cutilizator.Text1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="Pagefr_config.pag3._lbbase2" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="Pagefr_config.pag3._lbbase1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="Pagefr_config.pag3.cmd_add" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="Pagefr_config.pag3.cmd_add_all" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="Pagefr_config.pag3.cmd_rem" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="Pagefr_config.pag3.cmd_rem_all" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="Pagefr_config.pag3.grd_grupe" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="Pagefr_config.pag3.grd_grupe.Column1.Header1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="Pagefr_config.pag3.grd_grupe.Column1.Text1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="Pagefr_config.pag3.grd_grupe.Column2.Header1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="Pagefr_config.pag3.grd_grupe.Column2.Text1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="Pagefr_config.pag3.grd_utilizatori_coresp" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="Pagefr_config.pag3.grd_utilizatori_coresp.Cnr_crt.Header1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="Pagefr_config.pag3.grd_utilizatori_coresp.Cnr_crt.Text1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="Pagefr_config.pag3.grd_utilizatori_coresp.Column2.Header1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="Pagefr_config.pag3.grd_utilizatori_coresp.Column2.Text1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="Pagefr_config.pag3.Gridextra1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="Shape1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="lbl_nom_caut" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="shp_butoane" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="But_excel1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="Cmd_cauta" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="But_nou1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="But_modifica1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="But_sterge1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="But_copiaza1" UniqueID="" Timestamp="" /> + + * + *m: actualizeaza_pagina + *m: adauga_drept_acces + *m: adauga_grupa + *m: sterge_drept_acces + *m: sterge_grupa + *p: cordine + *p: lasc + *p: nidgestiune && id_gestiune curent - pentru revenirea dupa modificare/adaugare + * + + * + BorderStyle = 2 + DoCreate = .T. + Height = 431 + lasc = .T. + Name = "frm_gestiuni_grupe_utilizatori" + nidgestiune = 0 + Width = 775 + WindowState = 2 + _memberdata = + + + _shape1.Anchor = 10 + _shape1.Height = 29 + _shape1.Left = 0 + _shape1.Name = "_shape1" + _shape1.Tag = "RESIZABLE,NOVERTICAL_RESIZE" + _shape1.Top = 0 + _shape1.Width = 780 + _shape1.ZOrderSet = 0 + _shape2.Anchor = 8 + _shape2.Height = 29 + _shape2.Left = 743 + _shape2.Name = "_shape2" + _shape2.Tag = "MOVABLE,NOVERTICAL_MOVE" + _shape2.Top = 0 + _shape2.Width = 32 + _shape2.ZOrderSet = 1 + Lb_titlu_alb_b121.Name = "Lb_titlu_alb_b121" + Lb_titlu_alb_b121.TabIndex = 8 + Lb_titlu_alb_b121.ZOrderSet = 2 + BUT_TERMIN1.Anchor = 8 + BUT_TERMIN1.Left = 744 + BUT_TERMIN1.Name = "BUT_TERMIN1" + BUT_TERMIN1.TabIndex = 9 + BUT_TERMIN1.Tag = "NOVERTICAL_MOVE,MOVABLE" + BUT_TERMIN1.Top = 1 + BUT_TERMIN1.ZOrderSet = 3 + Gridsort1.Name = "Gridsort1" + * + + ADD OBJECT 'But_copiaza1' AS but_copiaza WITH ; + Left = 47, ; + Name = "But_copiaza1", ; + Top = 107 + *< END OBJECT: ClassLib="cmd_butoane.vcx" BaseClass="commandbutton" /> + + ADD OBJECT 'But_excel1' AS but_excel WITH ; + Left = 136, ; + Name = "But_excel1", ; + TabIndex = 6, ; + Top = 107, ; + ZOrderSet = 9 + *< END OBJECT: ClassLib="cmd_butoane.vcx" BaseClass="commandbutton" /> + + ADD OBJECT 'But_modifica1' AS but_modifica WITH ; + Left = 77, ; + Name = "But_modifica1", ; + TabIndex = 4, ; + Top = 107, ; + ZOrderSet = 12 + *< END OBJECT: ClassLib="cmd_butoane.vcx" BaseClass="commandbutton" /> + + ADD OBJECT 'But_nou1' AS but_nou WITH ; + Left = 17, ; + Name = "But_nou1", ; + TabIndex = 3, ; + Top = 107, ; + ZOrderSet = 11 + *< END OBJECT: ClassLib="cmd_butoane.vcx" BaseClass="commandbutton" /> + + ADD OBJECT 'But_sterge1' AS but_sterge WITH ; + Left = 106, ; + Name = "But_sterge1", ; + TabIndex = 5, ; + Top = 107, ; + ZOrderSet = 13 + *< END OBJECT: ClassLib="cmd_butoane.vcx" BaseClass="commandbutton" /> + + ADD OBJECT 'Cmd_cauta' AS cmd_cauta WITH ; + Left = 188, ; + Name = "Cmd_cauta", ; + TabIndex = 2, ; + Top = 106, ; + ZOrderSet = 10 + *< END OBJECT: ClassLib="cmd_butoane.vcx" BaseClass="commandbutton" /> + + ADD OBJECT 'lbl_nom_caut' AS clb_tx_simplu WITH ; + Height = 29, ; + Left = 15, ; + Name = "lbl_nom_caut", ; + TabIndex = 1, ; + Top = 71, ; + Width = 257, ; + ZOrderSet = 7, ; + Text_simplu1.Height = 23, ; + Text_simplu1.Left = 81, ; + Text_simplu1.Name = "Text_simplu1", ; + Text_simplu1.Top = 3, ; + Text_simplu1.Width = 173, ; + Lb_simplu1.Caption = "Eticheta", ; + Lb_simplu1.Name = "Lb_simplu1" + *< END OBJECT: ClassLib="lb_tx.vcx" BaseClass="container" /> + + ADD OBJECT 'Pagefr_config' AS pagefr_config WITH ; + Anchor = 15, ; + ErasePage = .T., ; + Height = 402, ; + Left = 0, ; + Name = "Pagefr_config", ; + TabIndex = 7, ; + TabStretch = 0, ; + Tag = "RESIZABLE", ; + Top = 31, ; + Width = 779, ; + ZOrderSet = 4, ; + pag1.BackColor = 255,255,255, ; + pag1.Name = "pag1", ; + pag2.Name = "pag2", ; + pag3.Name = "pag3" + *< END OBJECT: ClassLib="configurare.vcx" BaseClass="pageframe" /> + + ADD OBJECT 'Pagefr_config.pag1._lbbase2' AS _lbbase WITH ; + Caption = "Gestiuni corespunzatoare", ; + Height = 18, ; + Left = 397, ; + Name = "_lbbase2", ; + TabIndex = 2, ; + Top = 69, ; + Width = 150 + *< END OBJECT: ClassLib="_lb_base.vcx" BaseClass="label" /> + + ADD OBJECT 'Pagefr_config.pag1.grd_grupe' AS _grdrow WITH ; + Anchor = 7, ; + ColumnCount = 4, ; + DeleteMark = .F., ; + FontSize = 10, ; + Height = 280, ; + HighlightStyle = 1, ; + Left = 5, ; + Name = "grd_grupe", ; + nrgbrow = 0, ; + Panel = 1, ; + RecordSource = "crsGrupe", ; + RowHeight = 19, ; + TabIndex = 1, ; + Tag = "RESIZABLE,NOHORIZONTAL_RESIZE", ; + Top = 87, ; + Width = 378, ; + Column1.ControlSource = "recno('crsGrupe')", ; + Column1.FontName = "Arial", ; + Column1.FontSize = 10, ; + Column1.Name = "Column1", ; + Column1.Width = 36, ; + Column2.ColumnOrder = 2, ; + Column2.ControlSource = "nume_grupa", ; + Column2.FontName = "Arial", ; + Column2.FontSize = 10, ; + Column2.Name = "Column2", ; + Column2.Width = 157, ; + Column3.Alignment = 2, ; + Column3.ColumnOrder = 4, ; + Column3.ControlSource = "inactiv", ; + Column3.FontName = "Arial", ; + Column3.FontSize = 10, ; + Column3.Name = "Column3", ; + Column3.Sparse = .F., ; + Column3.Width = 34, ; + Column4.ColumnOrder = 3, ; + Column4.ControlSource = "nume_parinte", ; + Column4.FontName = "Arial", ; + Column4.FontSize = 10, ; + Column4.Name = "Column4", ; + Column4.Width = 113 + *< END OBJECT: ClassLib="_grd_base.vcx" BaseClass="grid" /> + + ADD OBJECT 'Pagefr_config.pag1.grd_grupe.Column1.Header1' AS header WITH ; + Alignment = 2, ; + Caption = "Nr.Crt.", ; + FontName = "Arial", ; + FontSize = 10, ; + Name = "Header1" + *< END OBJECT: BaseClass="header" /> + + ADD OBJECT 'Pagefr_config.pag1.grd_grupe.Column1.Text1' AS textbox WITH ; + BackColor = 255,255,255, ; + BorderStyle = 0, ; + FontName = "Arial", ; + FontSize = 10, ; + ForeColor = 0,0,0, ; + Margin = 0, ; + Name = "Text1", ; + SelectedBackColor = 100,185,255 + *< END OBJECT: BaseClass="textbox" /> + + ADD OBJECT 'Pagefr_config.pag1.grd_grupe.Column2.Header1' AS header WITH ; + Alignment = 2, ; + Caption = "Grupa", ; + FontName = "Arial", ; + FontSize = 10, ; + Name = "Header1" + *< END OBJECT: BaseClass="header" /> + + ADD OBJECT 'Pagefr_config.pag1.grd_grupe.Column2.Text1' AS textbox WITH ; + BackColor = 255,255,255, ; + BorderStyle = 0, ; + FontName = "Arial", ; + FontSize = 10, ; + ForeColor = 0,0,0, ; + Margin = 0, ; + Name = "Text1", ; + SelectedBackColor = 100,185,255 + *< END OBJECT: BaseClass="textbox" /> + + ADD OBJECT 'Pagefr_config.pag1.grd_grupe.Column3.Check2' AS checkbox WITH ; + Alignment = 1, ; + Caption = "", ; + Centered = .T., ; + FontName = "Arial", ; + FontSize = 10, ; + Height = 17, ; + Left = 38, ; + Name = "Check2", ; + Top = 32, ; + Width = 60 + *< END OBJECT: BaseClass="checkbox" /> + + ADD OBJECT 'Pagefr_config.pag1.grd_grupe.Column3.Header1' AS header WITH ; + Alignment = 2, ; + Caption = "Inactiv", ; + FontName = "Arial", ; + FontSize = 10, ; + Name = "Header1" + *< END OBJECT: BaseClass="header" /> + + ADD OBJECT 'Pagefr_config.pag1.grd_grupe.Column4.Header1' AS header WITH ; + Alignment = 2, ; + Caption = "Grupa parinte", ; + FontName = "Arial", ; + Name = "Header1" + *< END OBJECT: BaseClass="header" /> + + ADD OBJECT 'Pagefr_config.pag1.grd_grupe.Column4.Text1' AS textbox WITH ; + BackColor = 255,255,255, ; + BorderStyle = 0, ; + FontName = "Arial", ; + ForeColor = 0,0,0, ; + Margin = 0, ; + Name = "Text1", ; + SelectedBackColor = 100,185,255 + *< END OBJECT: BaseClass="textbox" /> + + ADD OBJECT 'Pagefr_config.pag1.grd_grupe_coresp' AS _grdrow WITH ; + Anchor = 15, ; + ColumnCount = 4, ; + DeleteMark = .F., ; + FontSize = 10, ; + Height = 280, ; + HighlightStyle = 1, ; + Left = 393, ; + Name = "grd_grupe_coresp", ; + nrgbrow = 0, ; + Panel = 1, ; + RecordSource = "crsGrupe_Gestiuni", ; + RowHeight = 19, ; + TabIndex = 3, ; + Tag = "RESIZABLE", ; + Top = 87, ; + Width = 375, ; + Column1.ControlSource = "recno('crsGrupe_Gestiuni')", ; + Column1.FontName = "Arial", ; + Column1.FontSize = 10, ; + Column1.Name = "Column1", ; + Column1.Width = 36, ; + Column2.ControlSource = "cgest", ; + Column2.FontName = "Arial", ; + Column2.FontSize = 10, ; + Column2.Name = "Column2", ; + Column2.Width = 114, ; + Column3.ControlSource = "nume_gestiune", ; + Column3.FontName = "Arial", ; + Column3.FontSize = 10, ; + Column3.Name = "Column3", ; + Column3.Width = 205, ; + Column4.ControlSource = "nume_tip_gest", ; + Column4.FontName = "Arial", ; + Column4.FontSize = 10, ; + Column4.Name = "Column4", ; + Column4.Width = 148 + *< END OBJECT: ClassLib="_grd_base.vcx" BaseClass="grid" /> + + ADD OBJECT 'Pagefr_config.pag1.grd_grupe_coresp.Column1.Header1' AS header WITH ; + Alignment = 2, ; + Caption = "Nr.Crt.", ; + FontName = "Arial", ; + FontSize = 10, ; + Name = "Header1" + *< END OBJECT: BaseClass="header" /> + + ADD OBJECT 'Pagefr_config.pag1.grd_grupe_coresp.Column1.Text1' AS textbox WITH ; + BackColor = 255,255,255, ; + BorderStyle = 0, ; + FontName = "Arial", ; + FontSize = 10, ; + ForeColor = 0,0,0, ; + Margin = 0, ; + Name = "Text1", ; + SelectedBackColor = 100,185,255 + *< END OBJECT: BaseClass="textbox" /> + + ADD OBJECT 'Pagefr_config.pag1.grd_grupe_coresp.Column2.Header1' AS header WITH ; + Alignment = 2, ; + Caption = "Indicativ", ; + FontName = "Arial", ; + FontSize = 10, ; + Name = "Header1" + *< END OBJECT: BaseClass="header" /> + + ADD OBJECT 'Pagefr_config.pag1.grd_grupe_coresp.Column2.Text1' AS textbox WITH ; + BackColor = 255,255,255, ; + BorderStyle = 0, ; + FontName = "Arial", ; + FontSize = 10, ; + ForeColor = 0,0,0, ; + Margin = 0, ; + Name = "Text1", ; + SelectedBackColor = 100,185,255 + *< END OBJECT: BaseClass="textbox" /> + + ADD OBJECT 'Pagefr_config.pag1.grd_grupe_coresp.Column3.Header1' AS header WITH ; + Alignment = 2, ; + Caption = "Denumire gestiune", ; + FontName = "Arial", ; + FontSize = 10, ; + Name = "Header1" + *< END OBJECT: BaseClass="header" /> + + ADD OBJECT 'Pagefr_config.pag1.grd_grupe_coresp.Column3.Text1' AS textbox WITH ; + BackColor = 255,255,255, ; + BorderStyle = 0, ; + FontName = "Arial", ; + FontSize = 10, ; + ForeColor = 0,0,0, ; + Margin = 0, ; + Name = "Text1", ; + SelectedBackColor = 100,185,255 + *< END OBJECT: BaseClass="textbox" /> + + ADD OBJECT 'Pagefr_config.pag1.grd_grupe_coresp.Column4.Header1' AS header WITH ; + Alignment = 2, ; + Caption = "Tipul gestiunii", ; + FontName = "Arial", ; + FontSize = 10, ; + Name = "Header1" + *< END OBJECT: BaseClass="header" /> + + ADD OBJECT 'Pagefr_config.pag1.grd_grupe_coresp.Column4.Text1' AS textbox WITH ; + BackColor = 255,255,255, ; + BorderStyle = 0, ; + FontName = "Arial", ; + FontSize = 10, ; + ForeColor = 0,0,0, ; + Margin = 0, ; + Name = "Text1", ; + SelectedBackColor = 100,185,255 + *< END OBJECT: BaseClass="textbox" /> + + ADD OBJECT 'Pagefr_config.pag1.Gridextra1' AS gridextra WITH ; + gridexpression = thisform.pagefr_config.pag1.grd_grupe, ; + Left = 299, ; + Name = "Gridextra1", ; + Top = 37 + *< END OBJECT: ClassLib="..\utile\gridextras\gridextras.vcx" BaseClass="custom" /> + + ADD OBJECT 'Pagefr_config.pag2._lbbase1' AS _lbbase WITH ; + Anchor = 8, ; + Caption = "Grupele din care nu face parte", ; + Left = 599, ; + Name = "_lbbase1", ; + TabIndex = 3, ; + Tag = "MOVABLE,NOVERTICAL_MOVE", ; + Top = 71 + *< END OBJECT: ClassLib="_lb_base.vcx" BaseClass="label" /> + + ADD OBJECT 'Pagefr_config.pag2._lbbase2' AS _lbbase WITH ; + Anchor = 8, ; + Caption = "Grupele din care face parte", ; + Left = 391, ; + Name = "_lbbase2", ; + TabIndex = 3, ; + Tag = "MOVABLE,NOVERTICAL_MOVE", ; + Top = 71 + *< END OBJECT: ClassLib="_lb_base.vcx" BaseClass="label" /> + + ADD OBJECT 'Pagefr_config.pag2.cmd_add' AS commandbutton WITH ; + Anchor = 8, ; + Caption = "<", ; + FontBold = .T., ; + Height = 21, ; + Left = 564, ; + Name = "cmd_add", ; + TabIndex = 4, ; + Tag = "MOVABLE,NOVERTICAL_MOVE", ; + Top = 100, ; + Width = 28 + *< END OBJECT: BaseClass="commandbutton" /> + + ADD OBJECT 'Pagefr_config.pag2.cmd_add_all' AS commandbutton WITH ; + Anchor = 8, ; + Caption = "<<", ; + FontBold = .T., ; + Height = 21, ; + Left = 564, ; + Name = "cmd_add_all", ; + TabIndex = 5, ; + Tag = "MOVABLE,NOVERTICAL_MOVE", ; + Top = 133, ; + Width = 28 + *< END OBJECT: BaseClass="commandbutton" /> + + ADD OBJECT 'Pagefr_config.pag2.cmd_rem' AS commandbutton WITH ; + Anchor = 8, ; + Caption = ">", ; + FontBold = .T., ; + Height = 21, ; + Left = 564, ; + Name = "cmd_rem", ; + TabIndex = 6, ; + Tag = "MOVABLE,NOVERTICAL_MOVE", ; + Top = 166, ; + Width = 28 + *< END OBJECT: BaseClass="commandbutton" /> + + ADD OBJECT 'Pagefr_config.pag2.cmd_rem_all' AS commandbutton WITH ; + Anchor = 8, ; + Caption = ">>", ; + FontBold = .T., ; + Height = 21, ; + Left = 564, ; + Name = "cmd_rem_all", ; + TabIndex = 7, ; + Tag = "MOVABLE,NOVERTICAL_MOVE", ; + Top = 199, ; + Width = 28 + *< END OBJECT: BaseClass="commandbutton" /> + + ADD OBJECT 'Pagefr_config.pag2.grd_gestiuni' AS _grdrow WITH ; + Anchor = 15, ; + ColumnCount = 17, ; + DeleteMark = .F., ; + FontSize = 10, ; + Height = 280, ; + HighlightStyle = 1, ; + Left = 5, ; + Name = "grd_gestiuni", ; + nrgbrow = 0, ; + Panel = 1, ; + ReadOnly = .T., ; + RecordSource = "crsGestiuni", ; + RowHeight = 19, ; + TabIndex = 2, ; + Tag = "RESIZABLE", ; + Top = 87, ; + Width = 378, ; + Column1.ControlSource = "recno('crsGestiuni')", ; + Column1.FontName = "Arial", ; + Column1.FontSize = 10, ; + Column1.Name = "cnr_crt", ; + Column1.ReadOnly = .T., ; + Column1.Width = 34, ; + Column2.ControlSource = "nume_gestiune", ; + Column2.FontName = "Arial", ; + Column2.FontSize = 10, ; + Column2.Name = "cnume_gestiune", ; + Column2.ReadOnly = .T., ; + Column2.Width = 146, ; + Column3.ControlSource = "cgest", ; + Column3.FontName = "Arial", ; + Column3.FontSize = 10, ; + Column3.Name = "ccgest", ; + Column3.ReadOnly = .T., ; + Column3.Width = 79, ; + Column4.ControlSource = "cont", ; + Column4.FontName = "Arial", ; + Column4.FontSize = 10, ; + Column4.Name = "ccont", ; + Column4.ReadOnly = .T., ; + Column4.Width = 32, ; + Column5.ColumnOrder = 5, ; + Column5.ControlSource = "acont", ; + Column5.FontName = "Arial", ; + Column5.FontSize = 10, ; + Column5.Name = "cacont", ; + Column5.ReadOnly = .T., ; + Column5.Width = 34, ; + Column6.ColumnOrder = 8, ; + Column6.ControlSource = "nume_tip", ; + Column6.FontName = "Arial", ; + Column6.FontSize = 10, ; + Column6.Name = "Cnr_pag", ; + Column6.ReadOnly = .T., ; + Column6.Width = 144, ; + Column7.ColumnOrder = 17, ; + Column7.ControlSource = "inactiv", ; + Column7.FontName = "Arial", ; + Column7.FontSize = 10, ; + Column7.Name = "cinactiv", ; + Column7.ReadOnly = .T., ; + Column7.Sparse = .F., ; + Column7.Width = 38, ; + Column8.ColumnOrder = 9, ; + Column8.ControlSource = "sucursala", ; + Column8.FontName = "Arial", ; + Column8.FontSize = 10, ; + Column8.Name = "cSucursala", ; + Column8.ReadOnly = .T., ; + Column8.Width = 181, ; + Column9.ColumnOrder = 10, ; + Column9.ControlSource = "denumire", ; + Column9.FontName = "Arial", ; + Column9.FontSize = 10, ; + Column9.Name = "cResponsabil", ; + Column9.ReadOnly = .T., ; + Column9.Width = 169, ; + Column10.ColumnOrder = 12, ; + Column10.ControlSource = "sectie", ; + Column10.FontName = "Arial", ; + Column10.FontSize = 10, ; + Column10.Name = "Column10", ; + Column10.ReadOnly = .T., ; + Column10.Width = 137, ; + Column11.ColumnOrder = 6, ; + Column11.ControlSource = "acont_cheltuiala", ; + Column11.FontName = "Arial", ; + Column11.FontSize = 10, ; + Column11.Name = "cacont_cheltuiala", ; + Column11.ReadOnly = .T., ; + Column11.Width = 59, ; + Column12.ColumnOrder = 7, ; + Column12.ControlSource = "acont_adaos", ; + Column12.FontName = "Arial", ; + Column12.FontSize = 10, ; + Column12.Name = "cAcont_adaos", ; + Column12.ReadOnly = .T., ; + Column12.Width = 58, ; + Column13.ColumnOrder = 11, ; + Column13.ControlSource = "nrord", ; + Column13.FontName = "Arial", ; + Column13.FontSize = 10, ; + Column13.Name = "cLucrare", ; + Column13.ReadOnly = .T., ; + Column13.Width = 142, ; + Column14.ColumnOrder = 13, ; + Column14.ControlSource = "gestionar", ; + Column14.FontName = "Arial", ; + Column14.FontSize = 10, ; + Column14.Name = "Column14", ; + Column14.ReadOnly = .T., ; + Column14.Width = 125, ; + Column15.ColumnOrder = 14, ; + Column15.ControlSource = "comisie_receptie1", ; + Column15.FontName = "Arial", ; + Column15.FontSize = 10, ; + Column15.Name = "Column15", ; + Column15.ReadOnly = .T., ; + Column15.Width = 113, ; + Column16.ColumnOrder = 15, ; + Column16.ControlSource = "comisie_receptie2", ; + Column16.FontName = "Arial", ; + Column16.FontSize = 10, ; + Column16.Name = "Column16", ; + Column16.ReadOnly = .T., ; + Column16.Width = 108, ; + Column17.ColumnOrder = 16, ; + Column17.ControlSource = "comisie_receptie3", ; + Column17.FontName = "Arial", ; + Column17.FontSize = 10, ; + Column17.Name = "Column17", ; + Column17.ReadOnly = .T., ; + Column17.Width = 136 + *< END OBJECT: ClassLib="_grd_base.vcx" BaseClass="grid" /> + + ADD OBJECT 'Pagefr_config.pag2.grd_gestiuni.cacont.Header1' AS header WITH ; + Alignment = 2, ; + Caption = "Analitic", ; + FontName = "Arial", ; + FontSize = 10, ; + Name = "Header1" + *< END OBJECT: BaseClass="header" /> + + ADD OBJECT 'Pagefr_config.pag2.grd_gestiuni.cacont.Text1' AS textbox WITH ; + BackColor = 255,255,255, ; + BorderStyle = 0, ; + FontName = "Arial", ; + FontSize = 10, ; + ForeColor = 0,0,0, ; + Margin = 0, ; + Name = "Text1", ; + ReadOnly = .T., ; + SelectedBackColor = 100,185,255 + *< END OBJECT: BaseClass="textbox" /> + + ADD OBJECT 'Pagefr_config.pag2.grd_gestiuni.cAcont_adaos.Header1' AS header WITH ; + Alignment = 2, ; + Caption = "Analitic 37x", ; + FontName = "Arial", ; + FontSize = 10, ; + Name = "Header1" + *< END OBJECT: BaseClass="header" /> + + ADD OBJECT 'Pagefr_config.pag2.grd_gestiuni.cAcont_adaos.Text1' AS textbox WITH ; + BackColor = 255,255,255, ; + BorderStyle = 0, ; + FontName = "Arial", ; + FontSize = 10, ; + ForeColor = 0,0,0, ; + Margin = 0, ; + Name = "Text1", ; + ReadOnly = .T., ; + SelectedBackColor = 100,185,255 + *< END OBJECT: BaseClass="textbox" /> + + ADD OBJECT 'Pagefr_config.pag2.grd_gestiuni.cacont_cheltuiala.Header1' AS header WITH ; + Alignment = 2, ; + Caption = "Analitic 60x", ; + FontName = "Arial", ; + FontSize = 10, ; + Name = "Header1" + *< END OBJECT: BaseClass="header" /> + + ADD OBJECT 'Pagefr_config.pag2.grd_gestiuni.cacont_cheltuiala.Text1' AS textbox WITH ; + BackColor = 255,255,255, ; + BorderStyle = 0, ; + FontName = "Arial", ; + FontSize = 10, ; + ForeColor = 0,0,0, ; + Margin = 0, ; + Name = "Text1", ; + ReadOnly = .T., ; + SelectedBackColor = 100,185,255 + *< END OBJECT: BaseClass="textbox" /> + + ADD OBJECT 'Pagefr_config.pag2.grd_gestiuni.ccgest.Header1' AS header WITH ; + Alignment = 2, ; + Caption = "Indicativ", ; + FontName = "Arial", ; + FontSize = 10, ; + Name = "Header1" + *< END OBJECT: BaseClass="header" /> + + ADD OBJECT 'Pagefr_config.pag2.grd_gestiuni.ccgest.Text1' AS textbox WITH ; + BackColor = 255,255,255, ; + BorderStyle = 0, ; + FontName = "Arial", ; + FontSize = 10, ; + ForeColor = 0,0,0, ; + Margin = 0, ; + Name = "Text1", ; + ReadOnly = .T., ; + SelectedBackColor = 100,185,255 + *< END OBJECT: BaseClass="textbox" /> + + ADD OBJECT 'Pagefr_config.pag2.grd_gestiuni.ccont.Header1' AS header WITH ; + Alignment = 2, ; + Caption = "Cont", ; + FontName = "Arial", ; + FontSize = 10, ; + Name = "Header1" + *< END OBJECT: BaseClass="header" /> + + ADD OBJECT 'Pagefr_config.pag2.grd_gestiuni.ccont.Text1' AS textbox WITH ; + BackColor = 255,255,255, ; + BorderStyle = 0, ; + FontName = "Arial", ; + FontSize = 10, ; + ForeColor = 0,0,0, ; + Margin = 0, ; + Name = "Text1", ; + ReadOnly = .T., ; + SelectedBackColor = 100,185,255 + *< END OBJECT: BaseClass="textbox" /> + + ADD OBJECT 'Pagefr_config.pag2.grd_gestiuni.cinactiv.Check1' AS checkbox WITH ; + Alignment = 0, ; + Caption = "", ; + FontName = "Arial", ; + FontSize = 10, ; + Height = 17, ; + Left = 10, ; + Name = "Check1", ; + ReadOnly = .T., ; + Top = 28, ; + Width = 60 + *< END OBJECT: BaseClass="checkbox" /> + + ADD OBJECT 'Pagefr_config.pag2.grd_gestiuni.cinactiv.Header1' AS header WITH ; + Alignment = 2, ; + Caption = "Inactiv", ; + FontName = "Arial", ; + FontSize = 10, ; + Name = "Header1" + *< END OBJECT: BaseClass="header" /> + + ADD OBJECT 'Pagefr_config.pag2.grd_gestiuni.cLucrare.Header1' AS header WITH ; + Alignment = 2, ; + Caption = "Lucrare", ; + FontName = "Arial", ; + FontSize = 10, ; + Name = "Header1" + *< END OBJECT: BaseClass="header" /> + + ADD OBJECT 'Pagefr_config.pag2.grd_gestiuni.cLucrare.Text1' AS textbox WITH ; + BackColor = 255,255,255, ; + BorderStyle = 0, ; + FontName = "Arial", ; + FontSize = 10, ; + ForeColor = 0,0,0, ; + Margin = 0, ; + Name = "Text1", ; + ReadOnly = .T., ; + SelectedBackColor = 100,185,255 + *< END OBJECT: BaseClass="textbox" /> + + ADD OBJECT 'Pagefr_config.pag2.grd_gestiuni.cnr_crt.Header1' AS header WITH ; + Alignment = 2, ; + Caption = "Nr.Crt.", ; + FontName = "Arial", ; + FontSize = 10, ; + Name = "Header1" + *< END OBJECT: BaseClass="header" /> + + ADD OBJECT 'Pagefr_config.pag2.grd_gestiuni.cnr_crt.Text1' AS textbox WITH ; + BackColor = 255,255,255, ; + BorderStyle = 0, ; + FontName = "Arial", ; + FontSize = 10, ; + ForeColor = 0,0,0, ; + Margin = 0, ; + Name = "Text1", ; + ReadOnly = .T., ; + SelectedBackColor = 100,185,255 + *< END OBJECT: BaseClass="textbox" /> + + ADD OBJECT 'Pagefr_config.pag2.grd_gestiuni.Cnr_pag.Header1' AS header WITH ; + Alignment = 2, ; + Caption = "Tipul gestiunii", ; + FontName = "Arial", ; + FontSize = 10, ; + Name = "Header1" + *< END OBJECT: BaseClass="header" /> + + ADD OBJECT 'Pagefr_config.pag2.grd_gestiuni.Cnr_pag.Text1' AS textbox WITH ; + BackColor = 255,255,255, ; + BorderStyle = 0, ; + FontName = "Arial", ; + FontSize = 10, ; + ForeColor = 0,0,0, ; + Margin = 0, ; + Name = "Text1", ; + ReadOnly = .T., ; + SelectedBackColor = 100,185,255 + *< END OBJECT: BaseClass="textbox" /> + + ADD OBJECT 'Pagefr_config.pag2.grd_gestiuni.cnume_gestiune.Header1' AS header WITH ; + Alignment = 2, ; + Caption = "Denumire gestiune", ; + FontName = "Arial", ; + FontSize = 10, ; + Name = "Header1" + *< END OBJECT: BaseClass="header" /> + + ADD OBJECT 'Pagefr_config.pag2.grd_gestiuni.cnume_gestiune.Text1' AS textbox WITH ; + BackColor = 255,255,255, ; + BorderStyle = 0, ; + FontName = "Arial", ; + FontSize = 10, ; + ForeColor = 0,0,0, ; + Margin = 0, ; + Name = "Text1", ; + ReadOnly = .T., ; + SelectedBackColor = 100,185,255 + *< END OBJECT: BaseClass="textbox" /> + + ADD OBJECT 'Pagefr_config.pag2.grd_gestiuni.Column10.Header1' AS header WITH ; + Alignment = 2, ; + Caption = "Sectie", ; + FontName = "Arial", ; + FontSize = 10, ; + Name = "Header1" + *< END OBJECT: BaseClass="header" /> + + ADD OBJECT 'Pagefr_config.pag2.grd_gestiuni.Column10.Text1' AS textbox WITH ; + BackColor = 255,255,255, ; + BorderStyle = 0, ; + FontName = "Arial", ; + FontSize = 10, ; + ForeColor = 0,0,0, ; + Margin = 0, ; + Name = "Text1", ; + ReadOnly = .T., ; + SelectedBackColor = 100,185,255 + *< END OBJECT: BaseClass="textbox" /> + + ADD OBJECT 'Pagefr_config.pag2.grd_gestiuni.Column14.Header1' AS header WITH ; + Alignment = 2, ; + Caption = "Gestionar", ; + FontName = "Arial", ; + FontSize = 10, ; + Name = "Header1" + *< END OBJECT: BaseClass="header" /> + + ADD OBJECT 'Pagefr_config.pag2.grd_gestiuni.Column14.Text1' AS textbox WITH ; + BackColor = 255,255,255, ; + BorderStyle = 0, ; + FontName = "Arial", ; + FontSize = 10, ; + ForeColor = 0,0,0, ; + Margin = 0, ; + Name = "Text1", ; + ReadOnly = .T., ; + SelectedBackColor = 100,185,255 + *< END OBJECT: BaseClass="textbox" /> + + ADD OBJECT 'Pagefr_config.pag2.grd_gestiuni.Column15.Header1' AS header WITH ; + Alignment = 2, ; + Caption = "Receptie 1", ; + FontName = "Arial", ; + FontSize = 10, ; + Name = "Header1" + *< END OBJECT: BaseClass="header" /> + + ADD OBJECT 'Pagefr_config.pag2.grd_gestiuni.Column15.Text1' AS textbox WITH ; + BackColor = 255,255,255, ; + BorderStyle = 0, ; + FontName = "Arial", ; + FontSize = 10, ; + ForeColor = 0,0,0, ; + Margin = 0, ; + Name = "Text1", ; + ReadOnly = .T., ; + SelectedBackColor = 100,185,255 + *< END OBJECT: BaseClass="textbox" /> + + ADD OBJECT 'Pagefr_config.pag2.grd_gestiuni.Column16.Header1' AS header WITH ; + Alignment = 2, ; + Caption = "Receptie 2", ; + FontName = "Arial", ; + FontSize = 10, ; + Name = "Header1" + *< END OBJECT: BaseClass="header" /> + + ADD OBJECT 'Pagefr_config.pag2.grd_gestiuni.Column16.Text1' AS textbox WITH ; + BackColor = 255,255,255, ; + BorderStyle = 0, ; + FontName = "Arial", ; + FontSize = 10, ; + ForeColor = 0,0,0, ; + Margin = 0, ; + Name = "Text1", ; + ReadOnly = .T., ; + SelectedBackColor = 100,185,255 + *< END OBJECT: BaseClass="textbox" /> + + ADD OBJECT 'Pagefr_config.pag2.grd_gestiuni.Column17.Header1' AS header WITH ; + Alignment = 2, ; + Caption = "Receptie 3", ; + FontName = "Arial", ; + FontSize = 10, ; + Name = "Header1" + *< END OBJECT: BaseClass="header" /> + + ADD OBJECT 'Pagefr_config.pag2.grd_gestiuni.Column17.Text1' AS textbox WITH ; + BackColor = 255,255,255, ; + BorderStyle = 0, ; + FontName = "Arial", ; + FontSize = 10, ; + ForeColor = 0,0,0, ; + Margin = 0, ; + Name = "Text1", ; + ReadOnly = .T., ; + SelectedBackColor = 100,185,255 + *< END OBJECT: BaseClass="textbox" /> + + ADD OBJECT 'Pagefr_config.pag2.grd_gestiuni.cResponsabil.Header1' AS header WITH ; + Alignment = 2, ; + Caption = "Responsabil", ; + FontName = "Arial", ; + FontSize = 10, ; + Name = "Header1" + *< END OBJECT: BaseClass="header" /> + + ADD OBJECT 'Pagefr_config.pag2.grd_gestiuni.cResponsabil.Text1' AS textbox WITH ; + BackColor = 255,255,255, ; + BorderStyle = 0, ; + FontName = "Arial", ; + FontSize = 10, ; + ForeColor = 0,0,0, ; + Margin = 0, ; + Name = "Text1", ; + ReadOnly = .T., ; + SelectedBackColor = 100,185,255 + *< END OBJECT: BaseClass="textbox" /> + + ADD OBJECT 'Pagefr_config.pag2.grd_gestiuni.cSucursala.Header1' AS header WITH ; + Alignment = 2, ; + Caption = "Sucursala", ; + FontName = "Arial", ; + FontSize = 10, ; + Name = "Header1" + *< END OBJECT: BaseClass="header" /> + + ADD OBJECT 'Pagefr_config.pag2.grd_gestiuni.cSucursala.Text1' AS textbox WITH ; + BackColor = 255,255,255, ; + BorderStyle = 0, ; + FontName = "Arial", ; + FontSize = 10, ; + ForeColor = 0,0,0, ; + Margin = 0, ; + Name = "Text1", ; + ReadOnly = .T., ; + SelectedBackColor = 100,185,255 + *< END OBJECT: BaseClass="textbox" /> + + ADD OBJECT 'Pagefr_config.pag2.grd_gestiuni_coresp' AS _grdrow WITH ; + Anchor = 13, ; + ColumnCount = 2, ; + DeleteMark = .F., ; + FontSize = 10, ; + Height = 280, ; + HighlightStyle = 1, ; + Left = 390, ; + Name = "grd_gestiuni_coresp", ; + nrgbrow = 0, ; + Panel = 1, ; + RecordSource = "crsGrupe_Gestiuni", ; + RowHeight = 19, ; + TabIndex = 1, ; + Tag = "RESIZABLE,NOHORIZONTAL_RESIZE,MOVABLE,NOVERTICAL_MOVE", ; + Top = 87, ; + Width = 169, ; + Column1.ControlSource = "recno('crsGrupe_Gestiuni')", ; + Column1.FontName = "Arial", ; + Column1.FontSize = 10, ; + Column1.Name = "Cnr_crt", ; + Column1.Width = 34, ; + Column2.ControlSource = "nume_grupa", ; + Column2.FontName = "Arial", ; + Column2.FontSize = 10, ; + Column2.Name = "Cnume_grupa", ; + Column2.Width = 129 + *< END OBJECT: ClassLib="_grd_base.vcx" BaseClass="grid" /> + + ADD OBJECT 'Pagefr_config.pag2.grd_gestiuni_coresp.Cnr_crt.Header1' AS header WITH ; + Alignment = 2, ; + Caption = "Nr.Crt.", ; + FontName = "Arial", ; + FontSize = 10, ; + Name = "Header1" + *< END OBJECT: BaseClass="header" /> + + ADD OBJECT 'Pagefr_config.pag2.grd_gestiuni_coresp.Cnr_crt.Text1' AS textbox WITH ; + BackColor = 255,255,255, ; + BorderStyle = 0, ; + FontName = "Arial", ; + FontSize = 10, ; + ForeColor = 0,0,0, ; + Margin = 0, ; + Name = "Text1", ; + SelectedBackColor = 100,185,255 + *< END OBJECT: BaseClass="textbox" /> + + ADD OBJECT 'Pagefr_config.pag2.grd_gestiuni_coresp.Cnume_grupa.Header1' AS header WITH ; + Alignment = 2, ; + Caption = "Denumire grupa", ; + FontName = "Arial", ; + FontSize = 10, ; + Name = "Header1" + *< END OBJECT: BaseClass="header" /> + + ADD OBJECT 'Pagefr_config.pag2.grd_gestiuni_coresp.Cnume_grupa.Text1' AS textbox WITH ; + BackColor = 255,255,255, ; + BorderStyle = 0, ; + FontName = "Arial", ; + FontSize = 10, ; + ForeColor = 0,0,0, ; + Margin = 0, ; + Name = "Text1", ; + SelectedBackColor = 100,185,255 + *< END OBJECT: BaseClass="textbox" /> + + ADD OBJECT 'Pagefr_config.pag2.grd_grupe' AS _grdrow WITH ; + Anchor = 13, ; + ColumnCount = 2, ; + DeleteMark = .F., ; + FontSize = 10, ; + Height = 280, ; + Left = 598, ; + Name = "grd_grupe", ; + Panel = 1, ; + RecordSource = "crsGrupe", ; + RowHeight = 19, ; + TabIndex = 1, ; + Tag = "MOVABLE,NOVERTICAL_MOVE,RESIZABLE,NOHORIZONTAL_RESIZE", ; + Top = 87, ; + Width = 169, ; + Column1.ControlSource = "recno('crsGrupe')", ; + Column1.FontName = "Arial", ; + Column1.FontSize = 10, ; + Column1.Name = "Cnr_crt", ; + Column1.Width = 34, ; + Column2.ControlSource = "nume_grupa", ; + Column2.FontName = "Arial", ; + Column2.FontSize = 10, ; + Column2.Name = "Cnume_grupa", ; + Column2.Width = 129 + *< END OBJECT: ClassLib="_grd_base.vcx" BaseClass="grid" /> + + ADD OBJECT 'Pagefr_config.pag2.grd_grupe.Cnr_crt.Header1' AS header WITH ; + Alignment = 2, ; + Caption = "Nr.Crt.", ; + FontName = "Arial", ; + FontSize = 10, ; + Name = "Header1" + *< END OBJECT: BaseClass="header" /> + + ADD OBJECT 'Pagefr_config.pag2.grd_grupe.Cnr_crt.Text1' AS textbox WITH ; + BackColor = 255,255,255, ; + BorderStyle = 0, ; + FontName = "Arial", ; + FontSize = 10, ; + ForeColor = 0,0,0, ; + Margin = 0, ; + Name = "Text1", ; + SelectedBackColor = 100,185,255 + *< END OBJECT: BaseClass="textbox" /> + + ADD OBJECT 'Pagefr_config.pag2.grd_grupe.Cnume_grupa.Header1' AS header WITH ; + Alignment = 2, ; + Caption = "Denumire grupa", ; + FontName = "Arial", ; + FontSize = 10, ; + Name = "Header1" + *< END OBJECT: BaseClass="header" /> + + ADD OBJECT 'Pagefr_config.pag2.grd_grupe.Cnume_grupa.Text1' AS textbox WITH ; + BackColor = 255,255,255, ; + BorderStyle = 0, ; + FontName = "Arial", ; + FontSize = 10, ; + ForeColor = 0,0,0, ; + Margin = 0, ; + Name = "Text1", ; + SelectedBackColor = 100,185,255 + *< END OBJECT: BaseClass="textbox" /> + + ADD OBJECT 'Pagefr_config.pag2.Gridextra1' AS gridextra WITH ; + gridexpression = thisform.pagefr_config.pag2.grd_gestiuni, ; + Left = 299, ; + Name = "Gridextra1", ; + Top = 25 + *< END OBJECT: ClassLib="..\utile\gridextras\gridextras.vcx" BaseClass="custom" /> + + ADD OBJECT 'Pagefr_config.pag3._lbbase1' AS _lbbase WITH ; + Anchor = 2, ; + Caption = "Grupe la care nu are acces", ; + Left = 553, ; + Name = "_lbbase1", ; + TabIndex = 9, ; + Top = 72, ; + ZOrderSet = 2 + *< END OBJECT: ClassLib="_lb_base.vcx" BaseClass="label" /> + + ADD OBJECT 'Pagefr_config.pag3._lbbase2' AS _lbbase WITH ; + Anchor = 2, ; + Caption = "Grupe la care are acces", ; + Left = 294, ; + Name = "_lbbase2", ; + TabIndex = 8, ; + Top = 72, ; + ZOrderSet = 1 + *< END OBJECT: ClassLib="_lb_base.vcx" BaseClass="label" /> + + ADD OBJECT 'Pagefr_config.pag3.cmd_add' AS commandbutton WITH ; + Anchor = 2, ; + Caption = "<", ; + FontBold = .T., ; + Height = 21, ; + Left = 515, ; + Name = "cmd_add", ; + TabIndex = 4, ; + Tag = "", ; + Top = 100, ; + Width = 28, ; + ZOrderSet = 3 + *< END OBJECT: BaseClass="commandbutton" /> + + ADD OBJECT 'Pagefr_config.pag3.cmd_add_all' AS commandbutton WITH ; + Anchor = 2, ; + Caption = "<<", ; + FontBold = .T., ; + Height = 21, ; + Left = 515, ; + Name = "cmd_add_all", ; + TabIndex = 5, ; + Tag = "", ; + Top = 133, ; + Width = 28, ; + ZOrderSet = 4 + *< END OBJECT: BaseClass="commandbutton" /> + + ADD OBJECT 'Pagefr_config.pag3.cmd_rem' AS commandbutton WITH ; + Anchor = 2, ; + Caption = ">", ; + FontBold = .T., ; + Height = 21, ; + Left = 515, ; + Name = "cmd_rem", ; + TabIndex = 6, ; + Tag = "", ; + Top = 166, ; + Width = 28, ; + ZOrderSet = 5 + *< END OBJECT: BaseClass="commandbutton" /> + + ADD OBJECT 'Pagefr_config.pag3.cmd_rem_all' AS commandbutton WITH ; + Anchor = 2, ; + Caption = ">>", ; + FontBold = .T., ; + Height = 21, ; + Left = 515, ; + Name = "cmd_rem_all", ; + TabIndex = 7, ; + Tag = "", ; + Top = 199, ; + Width = 28, ; + ZOrderSet = 6 + *< END OBJECT: BaseClass="commandbutton" /> + + ADD OBJECT 'Pagefr_config.pag3.grd_grupe' AS _grdrow WITH ; + Anchor = 7, ; + ColumnCount = 2, ; + DeleteMark = .F., ; + FontSize = 10, ; + Height = 280, ; + HighlightStyle = 1, ; + Left = 552, ; + Name = "grd_grupe", ; + nrgbrow = 0, ; + Panel = 1, ; + RecordSource = "crsGrupe", ; + RowHeight = 19, ; + TabIndex = 3, ; + Tag = "RESIZABLE,NOHORIZONTAL_RESIZE", ; + Top = 87, ; + Width = 214, ; + ZOrderSet = 7, ; + Column1.ControlSource = "recno('crsGrupe')", ; + Column1.FontName = "Arial", ; + Column1.FontSize = 10, ; + Column1.Name = "Column1", ; + Column1.Width = 39, ; + Column2.ControlSource = "nume_grupa", ; + Column2.FontName = "Arial", ; + Column2.FontSize = 10, ; + Column2.Name = "Column2", ; + Column2.Width = 144 + *< END OBJECT: ClassLib="_grd_base.vcx" BaseClass="grid" /> + + ADD OBJECT 'Pagefr_config.pag3.grd_grupe.Column1.Header1' AS header WITH ; + Alignment = 2, ; + Caption = "Nr.Crt.", ; + FontName = "Arial", ; + FontSize = 10, ; + Name = "Header1" + *< END OBJECT: BaseClass="header" /> + + ADD OBJECT 'Pagefr_config.pag3.grd_grupe.Column1.Text1' AS textbox WITH ; + BackColor = 255,255,255, ; + BorderStyle = 0, ; + FontName = "Arial", ; + FontSize = 10, ; + ForeColor = 0,0,0, ; + Margin = 0, ; + Name = "Text1", ; + SelectedBackColor = 100,185,255 + *< END OBJECT: BaseClass="textbox" /> + + ADD OBJECT 'Pagefr_config.pag3.grd_grupe.Column2.Header1' AS header WITH ; + Alignment = 2, ; + Caption = "Denumire grupa", ; + FontName = "Arial", ; + FontSize = 10, ; + Name = "Header1" + *< END OBJECT: BaseClass="header" /> + + ADD OBJECT 'Pagefr_config.pag3.grd_grupe.Column2.Text1' AS textbox WITH ; + BackColor = 255,255,255, ; + BorderStyle = 0, ; + FontName = "Arial", ; + FontSize = 10, ; + ForeColor = 0,0,0, ; + Margin = 0, ; + Name = "Text1", ; + SelectedBackColor = 100,185,255 + *< END OBJECT: BaseClass="textbox" /> + + ADD OBJECT 'Pagefr_config.pag3.grd_utilizatori' AS _grdrow WITH ; + Anchor = 5, ; + ColumnCount = 2, ; + DeleteMark = .F., ; + FontSize = 10, ; + Height = 280, ; + HighlightStyle = 1, ; + Left = 5, ; + Name = "grd_utilizatori", ; + nrgbrow = 0, ; + Panel = 1, ; + RecordSource = "crsUtilizatori", ; + RowHeight = 19, ; + TabIndex = 1, ; + Tag = "RESIZABLE,NOHORIZONTAL_RESIZE", ; + Top = 87, ; + Width = 278, ; + ZOrderSet = 0, ; + Column1.ControlSource = "recno('crsUtilizatori')", ; + Column1.FontName = "Arial", ; + Column1.FontSize = 10, ; + Column1.Name = "Cnr_crt", ; + Column1.Width = 46, ; + Column2.ControlSource = "utilizator", ; + Column2.FontName = "Arial", ; + Column2.FontSize = 10, ; + Column2.Name = "Cutilizator", ; + Column2.Width = 199 + *< END OBJECT: ClassLib="_grd_base.vcx" BaseClass="grid" /> + + ADD OBJECT 'Pagefr_config.pag3.grd_utilizatori.Cnr_crt.Header1' AS header WITH ; + Alignment = 2, ; + Caption = "Nr.crt.", ; + FontName = "Arial", ; + FontSize = 10, ; + Name = "Header1" + *< END OBJECT: BaseClass="header" /> + + ADD OBJECT 'Pagefr_config.pag3.grd_utilizatori.Cnr_crt.Text1' AS textbox WITH ; + BackColor = 255,255,255, ; + BorderStyle = 0, ; + FontName = "Arial", ; + FontSize = 10, ; + ForeColor = 0,0,0, ; + Margin = 0, ; + Name = "Text1", ; + SelectedBackColor = 100,185,255 + *< END OBJECT: BaseClass="textbox" /> + + ADD OBJECT 'Pagefr_config.pag3.grd_utilizatori.Cutilizator.Header1' AS header WITH ; + Alignment = 2, ; + Caption = "Utilizator", ; + FontName = "Arial", ; + FontSize = 10, ; + Name = "Header1" + *< END OBJECT: BaseClass="header" /> + + ADD OBJECT 'Pagefr_config.pag3.grd_utilizatori.Cutilizator.Text1' AS textbox WITH ; + BackColor = 255,255,255, ; + BorderStyle = 0, ; + FontName = "Arial", ; + FontSize = 10, ; + ForeColor = 0,0,0, ; + Margin = 0, ; + Name = "Text1", ; + SelectedBackColor = 100,185,255 + *< END OBJECT: BaseClass="textbox" /> + + ADD OBJECT 'Pagefr_config.pag3.grd_utilizatori_coresp' AS _grdrow WITH ; + Anchor = 7, ; + ColumnCount = 2, ; + DeleteMark = .F., ; + FontSize = 10, ; + Height = 280, ; + HighlightStyle = 1, ; + Left = 293, ; + Name = "grd_utilizatori_coresp", ; + nrgbrow = 0, ; + Panel = 1, ; + RecordSource = "crsGrupe_Utilizatori", ; + RowHeight = 19, ; + TabIndex = 2, ; + Tag = "RESIZABLE,NOHORIZONTAL_RESIZE", ; + Top = 87, ; + Width = 214, ; + ZOrderSet = 8, ; + Column1.ControlSource = "recno('crsGrupe_Utilizatori')", ; + Column1.FontName = "Arial", ; + Column1.FontSize = 10, ; + Column1.Name = "Cnr_crt", ; + Column1.Width = 40, ; + Column2.ControlSource = "nume_grupa", ; + Column2.FontName = "Arial", ; + Column2.FontSize = 10, ; + Column2.Name = "Column2", ; + Column2.Width = 143 + *< END OBJECT: ClassLib="_grd_base.vcx" BaseClass="grid" /> + + ADD OBJECT 'Pagefr_config.pag3.grd_utilizatori_coresp.Cnr_crt.Header1' AS header WITH ; + Alignment = 2, ; + Caption = "Nr.Crt.", ; + FontName = "Arial", ; + FontSize = 10, ; + Name = "Header1" + *< END OBJECT: BaseClass="header" /> + + ADD OBJECT 'Pagefr_config.pag3.grd_utilizatori_coresp.Cnr_crt.Text1' AS textbox WITH ; + BackColor = 255,255,255, ; + BorderStyle = 0, ; + FontName = "Arial", ; + FontSize = 10, ; + ForeColor = 0,0,0, ; + Margin = 0, ; + Name = "Text1", ; + SelectedBackColor = 100,185,255 + *< END OBJECT: BaseClass="textbox" /> + + ADD OBJECT 'Pagefr_config.pag3.grd_utilizatori_coresp.Column2.Header1' AS header WITH ; + Alignment = 2, ; + Caption = "Denumire grupa", ; + FontName = "Arial", ; + FontSize = 10, ; + Name = "Header1" + *< END OBJECT: BaseClass="header" /> + + ADD OBJECT 'Pagefr_config.pag3.grd_utilizatori_coresp.Column2.Text1' AS textbox WITH ; + BackColor = 255,255,255, ; + BorderStyle = 0, ; + FontName = "Arial", ; + FontSize = 10, ; + ForeColor = 0,0,0, ; + Margin = 0, ; + Name = "Text1", ; + SelectedBackColor = 100,185,255 + *< END OBJECT: BaseClass="textbox" /> + + ADD OBJECT 'Pagefr_config.pag3.Gridextra1' AS gridextra WITH ; + gridexpression = thisform.pagefr_config.pag3.grd_utilizatori, ; + Left = 311, ; + Name = "Gridextra1", ; + Top = 37 + *< END OBJECT: ClassLib="..\utile\gridextras\gridextras.vcx" BaseClass="custom" /> + + ADD OBJECT 'Shape1' AS shape WITH ; + BackColor = 217,241,255, ; + BackStyle = 1, ; + Height = 77, ; + Left = 6, ; + Name = "Shape1", ; + Top = 64, ; + Width = 279, ; + ZOrderSet = 6 + *< END OBJECT: BaseClass="shape" /> + + ADD OBJECT 'shp_butoane' AS shape WITH ; + BackStyle = 0, ; + Height = 29, ; + Left = 15, ; + Name = "shp_butoane", ; + Top = 106, ; + Width = 121, ; + ZOrderSet = 8 + *< END OBJECT: BaseClass="shape" /> + + PROCEDURE actualizeaza_grid1 + + LPARAMETERS tnCol,tlAsc + + lnCol = tnCol + + WITH thisform.pagefr_config.pag2.grd_gestiuni + + FOR i=1 TO .ColumnCount + IF i=lnCol + .Columns(i).Header1.ForeColor = RGB(0,0,255) + .Columns(i).header1.Fontunderline = .t. + ELSE + .Columns(i).Header1.ForeColor = RGB(0,0,0) + .Columns(i).header1.Fontunderline = .f. + ENDIF + ENDFOR + + IF lnCol = 6 + thisform.cordine = [nr_pag] + ELSE + lcControlS = .Columns(lnCol).ControlSource + lnpos = RAT('.',lcControlS)+1 + thisform.cordine = SUBSTR(lcControlS,lnpos) + ENDIF + .readonly = .t. + ENDWITH + + lcOrdine_nou = thisform.cordine + lcOrdine_vechi = poGestiuni.ca_baza1.corder + + IF !EMPTY(tlAsc) + thisform.lasc = .t. + ELSE + IF UPPER(ALLTRIM(lcOrdine_nou))$UPPER(ALLTRIM(lcOrdine_vechi)) + thisform.lasc = !thisform.lasc + ELSE + thisform.lasc = .t. + ENDIF + ENDIF + + thisform.actualizeaza_pagina(2,poGestiuni.ca_baza1.cfiltru,.f.) + + + + + + + ENDPROC + + PROCEDURE actualizeaza_pagina + PARAMETERS tnpag,tcFiltru,tlDoarButoane + LOCAL lnpag,lcFiltru + + lnpag = tnpag + llDoarButoane = tlDoarButoane + lcFiltru = tcFiltru + + DO case + CASE lnpag =1 + IF !EMPTY(lcFiltru) + *poGrupe.ca_baza1.cfiltru =[1=1] + poGrupe.ca_baza1.cfiltru = lcFiltru + save_grid_tag(This.pagefr_config.pag1.grd_grupe) + save_grid_tag(This.pagefr_config.pag2.grd_grupe) + save_grid_tag(This.pagefr_config.pag3.grd_grupe) + poGrupe.ca_baza1.afisare() + restore_grid_tag(This.pagefr_config.pag1.grd_grupe) + restore_grid_tag(This.pagefr_config.pag2.grd_grupe) + restore_grid_tag(This.pagefr_config.pag3.grd_grupe) + This.pagefr_config.pag1.grd_grupe.nrecno = 1 + This.pagefr_config.pag1.grd_grupe.refresh + This.pagefr_config.pag1.grd_grupe.ReadOnly = .t. + + thisform.pagefr_config.pag1.gridextra1.applyfilter() + + SELECT crsGrupe + GO top + ENDIF + + lnId_grupe = crsGrupe.id_grupe + lcId_grupe = ALLTRIM(STR(lnId_grupe)) + poGrupe_Gestiuni.ca_baza1.cfiltru=IIF(!EMPTY(lnId_grupe),[a.id_grupe=]+lcId_grupe,[1=2]) + poGrupe_Gestiuni.ca_baza1.corder=[b.nume_gestiune] + + save_grid_tag(This.pagefr_config.pag1.grd_grupe_coresp) + save_grid_tag(This.pagefr_config.pag2.grd_gestiuni_coresp) + poGrupe_Gestiuni.ca_baza1.afisare() + restore_grid_tag(This.pagefr_config.pag1.grd_grupe_coresp) + restore_grid_tag(This.pagefr_config.pag2.grd_gestiuni_coresp) + This.pagefr_config.pag1.grd_grupe_coresp.refresh + This.pagefr_config.pag1.grd_grupe_coresp.ReadOnly = .t. + CASE lnpag =2 + IF !llDoarButoane + IF !EMPTY(lcFiltru) + poGestiuni.ca_baza1.cfiltru=lcFiltru + poGestiuni.ca_baza1.corder = thisform.cordine + [ ] + IIF(thisform.lasc,[ASC],[DESC]) + save_grid_tag(This.pagefr_config.pag2.grd_gestiuni) + poGestiuni.ca_baza1.afisare() + restore_grid_tag(This.pagefr_config.pag2.grd_gestiuni) + This.pagefr_config.pag2.grd_gestiuni.nrecno = 1 + This.pagefr_config.pag2.grd_gestiuni.refresh + This.pagefr_config.pag2.grd_gestiuni.ReadOnly = .t. + + thisform.pagefr_config.pag2.gridextra1.applyfilter() + + SELECT crsGestiuni + GO top + ENDIF + lnId_gestiune = crsGestiuni.id_gestiune + lcId_gestiune = ALLTRIM(STR(lnId_gestiune)) + poGrupe_Gestiuni.ca_baza1.cfiltru=IIF(!EMPTY(lnId_gestiune),[a.id_gestiune=]+lcId_gestiune,[1=2]) + poGrupe_Gestiuni.ca_baza1.corder=[c.nume_grupa] + + save_grid_tag(This.pagefr_config.pag2.grd_gestiuni_coresp) + save_grid_tag(This.pagefr_config.pag1.grd_grupe_coresp) + poGrupe_Gestiuni.ca_baza1.afisare() + restore_grid_tag(This.pagefr_config.pag2.grd_gestiuni_coresp) + restore_grid_tag(This.pagefr_config.pag1.grd_grupe_coresp) + This.pagefr_config.pag2.grd_gestiuni_coresp.ReadOnly = .t. + This.pagefr_config.pag2.grd_gestiuni_coresp.refresh + + * Actualizare grupe neselectate + IF !EMPTY(lnId_gestiune) + SELECT id_grupe FROM crsGrupe_Gestiuni INTO ARRAY aListaGrupe + IF _tally = 0 + lcListaGrupe = [] + ELSE + lcListaGrupe = [(] + FOR i=1 TO ALEN('aListaGrupe') + lcListaGrupe = lcListaGrupe + ALLTRIM(STR(aListaGrupe(i)))+[,] + ENDFOR + lcListaGrupe = SUBSTR(lcListaGrupe,1,LEN(lcListaGrupe)-1) + lcListaGrupe = lcListaGrupe + [)] + ENDIF + poGrupe.ca_baza1.cfiltru =IIF(EMPTY(lcListaGrupe),[1=1],[id_grupe not in ]+lcListaGrupe) + ELSE + poGrupe.ca_baza1.cfiltru = [1=2] + ENDIF + + save_grid_tag(This.pagefr_config.pag2.grd_grupe) + save_grid_tag(This.pagefr_config.pag1.grd_grupe) + save_grid_tag(This.pagefr_config.pag3.grd_grupe) + poGrupe.ca_baza1.afisare() + restore_grid_tag(This.pagefr_config.pag2.grd_grupe) + restore_grid_tag(This.pagefr_config.pag1.grd_grupe) + restore_grid_tag(This.pagefr_config.pag3.grd_grupe) + This.pagefr_config.pag2.grd_grupe.ReadOnly = .t. + This.pagefr_config.pag2.grd_grupe.refresh + + ENDIF + && actualizez starea butoanelor de adaugare/stergere drepturi de acces + + WITH this.pagefr_config.pag2 + IF reccount('crsGrupe_Gestiuni')=0 + .cmd_rem.enabled = .f. + .cmd_rem_all.enabled = .f. + ELSE + IF TYPE('.activecontrol')!='O' OR .activecontrol.name!='grd_gestiuni_coresp' + .cmd_rem.enabled = .f. + .cmd_rem_all.enabled=.t. + ELSE + .cmd_rem.enabled = .t. + .cmd_rem_all.enabled = .t. + ENDIF + ENDIF + IF reccount('crsGrupe')=0 + .cmd_add.enabled = .f. + .cmd_add_all.enabled = .f. + ELSE + IF TYPE('.activecontrol')!='O' OR .activecontrol.name!='grd_grupe' + .cmd_add.enabled = .f. + .cmd_add_all.enabled = .t. + ELSE + .cmd_add.enabled = .t. + .cmd_add_all.enabled = .t. + ENDIF + ENDIF + ENDWITH + + CASE lnpag =3 + IF !llDoarButoane + IF !EMPTY(lcFiltru) + poUtilizatori.ca_baza1.cfiltru=lcFiltru + save_grid_tag(This.pagefr_config.pag3.grd_utilizatori) + poUtilizatori.ca_baza1.afisare() + restore_grid_tag(This.pagefr_config.pag3.grd_utilizatori) + This.pagefr_config.pag3.grd_utilizatori.nrecno = 1 + This.pagefr_config.pag3.grd_utilizatori.ReadOnly = .t. + This.pagefr_config.pag3.grd_utilizatori.refresh + + thisform.pagefr_config.pag3.gridextra1.applyfilter() + + SELECT crsUtilizatori + GO top + ENDIF + lnid_util = crsUtilizatori.id_util + lcId_util = ALLTRIM(STR(lnId_util)) + + poGrupe_Utilizatori.ca_baza1.cfiltru=IIF(!EMPTY(lnId_util),[id_util=]+lcId_util,[1=2]) + + save_grid_tag(This.pagefr_config.pag3.grd_utilizatori_coresp) + poGrupe_Utilizatori.ca_baza1.afisare() + restore_grid_tag(This.pagefr_config.pag3.grd_utilizatori_coresp) + This.pagefr_config.pag3.grd_utilizatori_coresp.ReadOnly = .t. + This.pagefr_config.pag3.grd_utilizatori_coresp.refresh + + * Actualizare grupe neselectate + IF !EMPTY(lnId_util) + SELECT id_grupe FROM crsGrupe_Utilizatori INTO ARRAY aListaGrupe + IF _tally = 0 + lcListaGrupe = [] + ELSE + lcListaGrupe = [(] + FOR i=1 TO ALEN('aListaGrupe') + lcListaGrupe = lcListaGrupe + ALLTRIM(STR(aListaGrupe(i)))+[,] + ENDFOR + lcListaGrupe = SUBSTR(lcListaGrupe,1,LEN(lcListaGrupe)-1) + lcListaGrupe = lcListaGrupe + [)] + ENDIF + poGrupe.ca_baza1.cfiltru =IIF(EMPTY(lcListaGrupe),[1=1],[id_grupe not in ]+lcListaGrupe) + ELSE + poGrupe.ca_baza1.cfiltru = [1=2] + ENDIF + + save_grid_tag(This.pagefr_config.pag3.grd_grupe) + save_grid_tag(This.pagefr_config.pag1.grd_grupe) + save_grid_tag(This.pagefr_config.pag2.grd_grupe) + poGrupe.ca_baza1.afisare() + restore_grid_tag(This.pagefr_config.pag3.grd_grupe) + restore_grid_tag(This.pagefr_config.pag1.grd_grupe) + restore_grid_tag(This.pagefr_config.pag2.grd_grupe) + This.pagefr_config.pag3.grd_grupe.ReadOnly = .t. + This.pagefr_config.pag3.grd_grupe.refresh + ENDIF + + && actualizez starea butoanelor de adaugare/stergere drepturi de acces + WITH this.pagefr_config.pag3 + IF reccount('crsGrupe_Utilizatori')=0 + .cmd_rem.enabled = .f. + .cmd_rem_all.enabled = .f. + ELSE + IF TYPE('.activecontrol')!='O' OR .activecontrol.name!='grd_utilizatori_coresp' + .cmd_rem.enabled = .f. + .cmd_rem_all.enabled=.t. + ELSE + .cmd_rem.enabled = .t. + .cmd_rem_all.enabled = .t. + ENDIF + ENDIF + IF reccount('crsGrupe')=0 + .cmd_add.enabled = .f. + .cmd_add_all.enabled = .f. + ELSE + IF TYPE('.activecontrol')!='O' OR .activecontrol.name!='grd_grupe' + .cmd_add.enabled = .f. + .cmd_add_all.enabled = .t. + ELSE + .cmd_add.enabled = .t. + .cmd_add_all.enabled = .t. + ENDIF + ENDIF + ENDWITH + ENDCASE + + ENDPROC + + PROCEDURE adauga_drept_acces + PARAMETERS tlToate + + LOCAL lcId_grupa,lcId_util,llToate + llToate = tlToate + + SELECT crsUtilizatori + lcId_util = ALLTRIM(STR(crsUtilizatori.id_util)) + + lcSql_sterse = [select id_cug,id_grupe from ] + gcS + [.gest_coresp_util_grupe] + ; + [ where sters = 1 and id_util = ] + lcId_util + lcCursor = [crsSterse] + lnsucces_sterse = goExecutor.oExecute(lcSql_sterse,lcCursor) + IF lnSucces_sterse < 0 + lcMesaj = goExecutor.cEroare + ofrm_eroare = CREATEOBJECT('frm_mesaj','Eroare','exclam.ico','Avertizare',lcMesaj) + ofrm_eroare.show(1) + RELEASE ofrm_eroare + RETURN + ENDIF + + IF RECCOUNT(lcCursor) > 0 + SELECT * from (lcCursor) INTO ARRAY laCoresp_sterse + lnDim = RECCOUNT(lcCursor) + ELSE + lnDim = 0 + endif + + IF llToate + SELECT crsGrupe + SCAN + lnId_grupe = crsGrupe.id_grupe + lcId_grupe= ALLTRIM(STR(lnId_grupe)) + IF lnDim > 0 + lnPoz = ASCAN(laCoresp_sterse,lnId_grupe,1,lnDim,2,8) + ELSE + lnPoz = 0 + ENDIF + IF lnPoz != 0 + lnId_cug = laCoresp_sterse(lnPoz,1) + lcSql = [update ] + gcs + [.gest_coresp_util_grupe set sters = 0 where ] +; + [ id_cug = ] + ALLTRIM(STR(lnId_cug)) + else + lcSql = [insert into ]+gcS+[.gest_coresp_util_grupe(id_grupe,id_util) ]+; + [ values (]+lcId_grupe+[,]+lcId_util+[)] + endif + lnsucces = goExecutor.oExecute(lcSql) + IF lnSucces < 0 + lcMesaj = goExecutor.cEroare + ofrm_eroare = CREATEOBJECT('frm_mesaj','Eroare','exclam.ico','Avertizare',lcMesaj) + ofrm_eroare.show(1) + RELEASE ofrm_eroare + RETURN + ENDIF + ENDSCAN + ELSE + + SELECT crsGrupe + lnId_grupe = crsGrupe.id_grupe + lcId_grupe= ALLTRIM(STR(lnId_grupe)) + IF lnDim > 0 + lnPoz = ASCAN(laCoresp_sterse,lnId_grupe,1,lnDim,2,8) + ELSE + lnPoz = 0 + ENDIF + IF lnPoz != 0 + lnId_cug = laCoresp_sterse(lnPoz,1) + lcSql = [update ] + gcs + [.gest_coresp_util_grupe set sters = 0 where ] +; + [ id_cug = ] + ALLTRIM(STR(lnId_cug)) + else + lcSql = [insert into ]+gcS+[.gest_coresp_util_grupe(id_grupe,id_util) ]+; + [ values (]+lcId_grupe+[,]+lcId_util+[)] + endif + lnsucces = goExecutor.oExecute(lcSql) + IF lnSucces < 0 + lcMesaj = goExecutor.cEroare + ofrm_eroare = CREATEOBJECT('frm_mesaj','Eroare','exclam.ico','Avertizare',lcMesaj) + ofrm_eroare.show(1) + RELEASE ofrm_eroare + RETURN + ENDIF + ENDIF + + this.actualizeaza_pagina(3,[]) + DO ovariabile_globale.prg + this.pagefr_config.pag3.grd_grupe.SetFocus + + + + + ENDPROC + + PROCEDURE adauga_grupa + PARAMETERS tlToate + + LOCAL lcId_grupa,lcId_gestiune,llToate + llToate = tlToate + + SELECT crsGestiuni + lcId_gestiune = ALLTRIM(STR(crsGestiuni.id_gestiune)) + + IF llToate + SELECT crsGrupe + SCAN + lcId_grupe= ALLTRIM(STR(crsGrupe.id_grupe)) + lcSql = [insert into ]+gcS+[.gest_coresp_grupe_gestiuni(id_grupe,id_gestiune) ]+; + [ values (]+lcId_grupe+[,]+lcId_gestiune+[)] + lnsucces = goExecutor.oExecute(lcSql) + IF lnSucces < 0 + aMESSAGEBOX(goExecutor.cEroare,0+16,[Eroare]) + RETURN + ENDIF + ENDSCAN + ELSE + SELECT crsGrupe + lcId_grupe = ALLTRIM(STR(crsGrupe.id_grupe)) + + lcSql = [insert into ]+gcS+[.gest_coresp_grupe_gestiuni(id_grupe,id_gestiune) ]+; + [ values (]+lcId_grupe+[,]+lcId_gestiune+[)] + lnsucces = goExecutor.oExecute(lcSql) + IF lnSucces < 0 + aMESSAGEBOX(goExecutor.cEroare,0+16,[Eroare]) + RETURN + ENDIF + ENDIF + + this.actualizeaza_pagina(2,[],.f.) + this.pagefr_config.pag2.grd_grupe.SetFocus + + + + + ENDPROC + + PROCEDURE do_adauga + LPARAMETERS tlCopiaza + * tlCopiaza (default .F.) : daca creeaza o inregistrare noua prin copierea datelor existente + *!* 22.02.2010 + *!* marius.mutu + *!* adaugarea de gestiune apeleaza nom_gestiuni_nou din onomenclatoare.prg + *!* la fel ca si frm_gestiuni.do_adauga din onomenclatoare.vcx + + Local lnpag, lnIdGestiune + lnpag = This.pagefr_config.ActivePage + + Do Case + Case lnpag=1 + Select crsGrupe + IF m.tlCopiaza + Scatter Name loGrupa + loGrupa.id_grupe = NULL + ELSE + Scatter Name loGrupa Blank + ENDIF + + Do Adauga_Modifica_Inregistrare With [grupe],loGrupa,,[INSERT] + This.actualizeaza_pagina(1,poGrupe.ca_baza1.cfiltru) + Case lnpag=2 + *!* 22.02.2010 + + *!* SELECT crsGestiuni + *!* SCATTER NAME loGestiune blank + *!* DO Adauga_Modifica_Inregistrare WITH [gestiuni_config],loGestiune,,[INSERT] + *!* this.actualizeaza_pagina(2,poGestiuni.ca_baza1.cfiltru) + + IF m.tlCopiaza + lnIdGestiune = NVL(crsGestiuni.id_gestiune,0) + ELSE + lnIdGestiune = 0 + ENDIF + Do nom_gestiuni_nou WITH m.lnIdGestiune In onomenclatoare.prg + + If gnButon = 1 + *!* modificare v 2.0.150 + *!* this.actualizeaza_pagina(2,poGestiuni.ca_baza1.cfiltru) + This.do_cauta() + *!* modificare v 2.0.150 ^ + Endif + *!* 22.02.2010 ^ + Endcase + + ENDPROC + + PROCEDURE do_cauta + + LOCAL lnpag,lcFiltru + lnpag= this.pagefr_config.ActivePage + lcFiltru=[] + + lcNume = UPPER(ALLTRIM(this.lbl_nom_caut.text_simplu1.Value)) + + DO case + CASE lnpag = 1 + lcFiltru = IIF(!EMPTY(lcNume),[ nume_grupa like '%]+lcNume+[%'],[1=1]) + lcCrs = [crsGrupe] + CASE lnpag = 2 + lcFiltru = IIF(!EMPTY(lcNume),[ nume_gestiune like '%]+lcNume+[%'],[1=1]) + lcCrs = [crsGestiuni] + CASE lnpag = 3 + lcFiltru =IIF(!EMPTY(lcNume),[ utilizator like '%]+lcNume+[%'],[1=1]) + lcCrs = [crsUtilizatori] + ENDCASE + + + This.MousePointer= 11 + This.LockScreen=.T. + Thisform.actualizeaza_pagina(lnpag,lcFiltru) + SELECT (lcCrs) + + IF RECCOUNT()=0 + aMESSAGEBOX("Cautarea nu a intors rezultate!",0+64,"Info cautare") + ELSE + *!* 22.02.2010 + IF lnpag = 2 + IF NVL(thisform.nIdGestiune,0) > 0 + SELECT crsGestiuni + LOCATE FOR id_gestiune = thisform.nIdGestiune + IF !FOUND() + GO top + ENDIF + Thisform.nIdGestiune = 0 + ENDIF + ENDIF + *!* 22.02.2010 ^ + ENDIF + This.LockScreen=.F. + This.MousePointer= 0 + + + ENDPROC + + PROCEDURE do_copiaza + thisform.do_adauga(.T.) + ENDPROC + + PROCEDURE do_excel + DO export_excel_grid WITH this.pagefr_config.pag2.grd_gestiuni + + * export_excel(this.pagefr_config.pag2.grd_gestiuni,[GESTIUNI],,.t.) + ENDPROC + + PROCEDURE do_modifica + *!* 22.02.2010 + *!* marius.mutu + *!* modificarea de gestiune apeleaza procedura nom_gestiuni_modifica din onomenclatoare.prg + *!* la fel ca si frm_gestiuni.do_modifica din onomenclatoare.vcx + + Local lnId_Grupa, lnIdGestiune, loGrupa, loGestiune, loRec + Local lnpag + lnpag = This.pagefr_config.ActivePage + + Private pcnume + Store '' To pcnume + + Do Case + Case lnpag=1 + Select crsGrupe + Scatter Name loGrupa + lnId_Grupa = loGrupa.id_grupe + pcnume = loGrupa.nume_grupa + Do Adauga_Modifica_Inregistrare With [grupe],loGrupa,lnId_Grupa,[UPDATE] + This.actualizeaza_pagina(1,poGrupe.ca_baza1.cfiltru) + Select crsGrupe + Locate For id_grupe = loGrupa.id_grupe + If !Found() + Go Top + Endif + This.pagefr_config.paG1.grd_grupe.SetFocus() + Case lnpag=2 + If Reccount('crsGestiuni')>0 + Select crsGestiuni + lnIdGestiune = id_gestiune + + loRec = nom_gestiuni_modifica(lnIdGestiune) + + If !Isnull(loRec) + This.nIdGestiune = loRec.id_gestiune + + this.do_cauta() + *This.actualizeaza_pagina(2,poGestiuni.ca_baza1.cfiltru) + + Select crsGestiuni + Locate For id_gestiune = loRec.id_gestiune + If !Found() + Go Top + Endif + Endif + Else + amessagebox("Nu exista inregistrari pentru modificare!",48,"Atentie") + Endif + Endcase + + + ENDPROC + + PROCEDURE do_sterge + + LOCAL lnpag + lnpag = this.pagefr_config.ActivePage + + DO case + CASE lnpag=1 + SELECT crsGrupe + SCATTER NAME loGrupa + lnId_grupa = loGrupa.id_grupe + DO STERGE_INREGISTRARE WITH [grupe],lnId_grupa + this.actualizeaza_pagina(1,poGrupe.ca_baza1.cfiltru) + CASE lnpag=2 + SELECT crsGestiuni + SCATTER NAME loGestiune + lnId_gestiune = loGestiune.id_gestiune + *!* modificare v 2.2.21 + *!* DO STERGE_INREGISTRARE WITH [gestiuni_config],lnId_gestiune + DO STERGE_INREGISTRARE WITH [gestiuni],lnId_gestiune + *!* modificare v 2.2.21 ^ + this.actualizeaza_pagina(2,poGestiuni.ca_baza1.cfiltru) + ENDCASE + + ENDPROC + + PROCEDURE Init + DODEFAULT() + this.WindowState = 2 + this.pagefr_config.pag1.gridextra1.setup() + this.pagefr_config.pag2.gridextra1.setup() + this.pagefr_config.pag3.gridextra1.setup() + ENDPROC + + PROCEDURE sterge_drept_acces + PARAMETERS tlToate + + LOCAL llToate + llToate = tlToate + + SELECT crsUtilizatori + lcId_util = ALLTRIM(STR(crsUtilizatori.id_util)) + + IF llToate + *lcSql = [delete from ]+gcS+[.gest_coresp_util_grupe where id_util=]+lcId_util + lcSql = [update ] + gcS + [.gest_coresp_util_grupe set sters = 1 where id_util = ] + lcid_util + ELSE + SELECT crsGrupe_Utilizatori + lcId_cug = ALLTRIM(STR(crsGrupe_Utilizatori.id_cug)) + *lcSql =[delete from ]+gcS+[.gest_coresp_util_grupe where id_cug=]+lcId_cug + lcSql = [update ] + gcS + [.gest_coresp_util_grupe set sters = 1 where id_cug = ] + lcid_cug + ENDIF + + lnsucces = goExecutor.oExecute(lcSql) + IF lnSucces < 0 + aMESSAGEBOX(goExecutor.cEroare,0+16,[Eroare]) + RETURN + ENDIF + + this.actualizeaza_pagina(3,[]) + DO ovariabile_globale.prg + this.pagefr_config.pag3.grd_utilizatori_coresp.SetFocus + + ENDPROC + + PROCEDURE sterge_grupa + PARAMETERS tlToate + + LOCAL llToate + llToate = tlToate + + lcSql=[] + + SELECT crsGestiuni + lcId_gestiune = ALLTRIM(STR(crsGestiuni.id_gestiune)) + + IF llToate + *lcSql = [delete from ]+gcS+[.gest_coresp_grupe_gestiuni where id_gestiune=]+lcId_gestiune+; + [ and id_grupe <> -1] + lcSql = [update ] + gcS + [.gest_coresp_grupe_gestiuni set sters = 1 where ]+; + [id_gestiune = ] + lcId_gestiune + [ and id_grupe <> -1] + ELSE + SELECT crsGrupe_Gestiuni + lcId_cgg = ALLTRIM(STR(crsGrupe_Gestiuni.id_cgg)) + lnId_grupa = crsGrupe_Gestiuni.id_grupe + IF lnId_grupa <> -1 + *lcSql =[delete from ]+gcS+[.gest_coresp_grupe_gestiuni where id_cgg=]+lcId_cgg + lcSql = [update ] + gcS + [.gest_coresp_grupe_gestiuni set sters = 1 ] +; + [ where id_cgg = ] + lcId_cgg + ELSE + lcMesaj=[Aceasta grupa este asociata implicit si nu poate fi stearsa!] + lcTitlu = [Atentie!] + lctip = [AVERTIZARE] + lcImagine = [exclam.ico] + ofrm_av = CREATEOBJECT('frm_mesaj',lctitlu,lcimagine,lctip,lcmesaj) + ofrm_av.show(1) + RELEASE ofrm_av + ENDIF + ENDIF + + IF !EMPTY(lcSql) + lnsucces = goExecutor.oExecute(lcSql) + IF lnSucces < 0 + aMESSAGEBOX(goExecutor.cEroare,0+16,[Eroare]) + RETURN + ENDIF + ENDIF + + this.actualizeaza_pagina(2,[],.f.) + this.pagefr_config.pag2.grd_gestiuni_coresp.SetFocus + + ENDPROC + + PROCEDURE Pagefr_config.activare_pagina + PARAMETERS npag + + DODEFAULT(npag) + + this.setare_pagina(npag) + + ENDPROC + + PROCEDURE Pagefr_config.pag1.grd_grupe.AfterRowColChange + LPARAMETERS nColIndex + DODEFAULT() + + thisform.actualizeaza_pagina(1,.f.) + ENDPROC + + PROCEDURE Pagefr_config.pag2.cmd_add.Click + thisform.adauga_grupa(.f.) + ENDPROC + + PROCEDURE Pagefr_config.pag2.cmd_add_all.Click + thisform.adauga_grupa(.t.) + + ENDPROC + + PROCEDURE Pagefr_config.pag2.cmd_rem.Click + thisform.sterge_grupa(.f.) + ENDPROC + + PROCEDURE Pagefr_config.pag2.cmd_rem_all.Click + thisform.sterge_grupa(.t.) + ENDPROC + + PROCEDURE Pagefr_config.pag2.grd_gestiuni.AfterRowColChange + LPARAMETERS nColIndex + + DODEFAULT() + + THISFORM.actualizeaza_pagina(2,[],.f.) + *!* SELECT crsGestiuni + *!* lcId_gestiune = ALLTRIM(STR(crsGestiuni.id_gestiune)) + *!* poGrupe_Gestiuni.ca_baza1.cfiltru=[a.id_gestiune=]+lcId_gestiune + *!* *poGrupe_Gestiuni.ca_baza1.corder=[c.nume_grupa] + + *!* save_grid_tag(This.Parent.grd_gestiuni_coresp) + *!* save_grid_tag(This.Parent.PARENT.pag1.grd_grupe_coresp) + *!* poGrupe_Gestiuni.ca_baza1.afisare() + *!* restore_grid_tag(This.parent.grd_gestiuni_coresp) + *!* restore_grid_tag(This.parent.parent.pag1.grd_grupe_coresp) + *!* This.parent.grd_gestiuni_coresp.refresh + + ENDPROC + + PROCEDURE Pagefr_config.pag2.grd_gestiuni.cacont.Header1.DblClick + + + thisform.actualizeaza_grid1(5) + *!* thisform.cordine = [acont] + *!* lcOrdine_nou = thisform.cordine + *!* lcOrdine_vechi = poGestiuni.ca_baza1.corder + + *!* IF UPPER(ALLTRIM(lcOrdine_nou))$UPPER(ALLTRIM(lcOrdine_vechi)) + *!* thisform.lasc = !thisform.lasc + *!* ELSE + *!* thisform.lasc = .t. + *!* ENDIF + + *!* thisform.actualizeaza_pagina(2,[1=1],.f.) + + ENDPROC + + PROCEDURE Pagefr_config.pag2.grd_gestiuni.ccgest.Header1.DblClick + + + thisform.actualizeaza_grid1(3) + *!* thisform.cordine = [cgest] + *!* lcOrdine_nou = thisform.cordine + *!* lcOrdine_vechi = poGestiuni.ca_baza1.corder + + *!* IF UPPER(ALLTRIM(lcOrdine_nou))$UPPER(ALLTRIM(lcOrdine_vechi)) + *!* thisform.lasc = !thisform.lasc + *!* ELSE + *!* thisform.lasc = .t. + *!* ENDIF + + *!* thisform.actualizeaza_pagina(2,[1=1],.f.) + + ENDPROC + + PROCEDURE Pagefr_config.pag2.grd_gestiuni.ccont.Header1.DblClick + + + thisform.actualizeaza_grid1(4) + *!* thisform.cordine = [cont] + *!* lcOrdine_nou = thisform.cordine + *!* lcOrdine_vechi = poGestiuni.ca_baza1.corder + + *!* IF UPPER(ALLTRIM(lcOrdine_nou))$UPPER(ALLTRIM(lcOrdine_vechi)) + *!* thisform.lasc = !thisform.lasc + *!* ELSE + *!* thisform.lasc = .t. + *!* ENDIF + + *!* thisform.actualizeaza_pagina(2,[1=1],.f.) + + ENDPROC + + PROCEDURE Pagefr_config.pag2.grd_gestiuni.cinactiv.Header1.Click + + + thisform.actualizeaza_grid1(7) + *!* thisform.cordine = [inactiv] + *!* lcOrdine_nou = thisform.cordine + *!* lcOrdine_vechi = poGestiuni.ca_baza1.corder + + *!* IF UPPER(ALLTRIM(lcOrdine_nou))$UPPER(ALLTRIM(lcOrdine_vechi)) + *!* thisform.lasc = !thisform.lasc + *!* ELSE + *!* thisform.lasc = .t. + *!* ENDIF + + *!* thisform.actualizeaza_pagina(2,[1=1],.f.) + + ENDPROC + + PROCEDURE Pagefr_config.pag2.grd_gestiuni.Cnr_pag.Header1.Click + + + thisform.actualizeaza_grid1(6) + *!* thisform.cordine = [nr_pag] + *!* lcOrdine_nou = thisform.cordine + *!* lcOrdine_vechi = poGestiuni.ca_baza1.corder + + *!* IF UPPER(ALLTRIM(lcOrdine_nou))$UPPER(ALLTRIM(lcOrdine_vechi)) + *!* thisform.lasc = !thisform.lasc + *!* ELSE + *!* thisform.lasc = .t. + *!* ENDIF + + *!* thisform.actualizeaza_pagina(2,[1=1],.f.) + + ENDPROC + + PROCEDURE Pagefr_config.pag2.grd_gestiuni.cnume_gestiune.Header1.DblClick + + + thisform.actualizeaza_grid1(2) + *!* thisform.cordine = [nume_gestiune] + *!* lcOrdine_nou = thisform.cordine + *!* lcOrdine_vechi = poGestiuni.ca_baza1.corder + + *!* IF UPPER(ALLTRIM(lcOrdine_nou))$UPPER(ALLTRIM(lcOrdine_vechi)) + *!* thisform.lasc = !thisform.lasc + *!* ELSE + *!* thisform.lasc = .t. + *!* ENDIF + + *!* thisform.actualizeaza_pagina(2,[1=1],.f.) + + ENDPROC + + PROCEDURE Pagefr_config.pag2.grd_gestiuni_coresp.AfterRowColChange + LPARAMETERS nColIndex + + DODEFAULT() + + thisform.actualizeaza_pagina(2,[],.t.) + ENDPROC + + PROCEDURE Pagefr_config.pag2.grd_grupe.AfterRowColChange + LPARAMETERS nColIndex + + + DODEFAULT() + thisform.actualizeaza_pagina(2,[],.t.) + ENDPROC + + PROCEDURE Pagefr_config.pag3.cmd_add.Click + thisform.adauga_drept_acces(.f.) + ENDPROC + + PROCEDURE Pagefr_config.pag3.cmd_add_all.Click + thisform.adauga_drept_acces(.t.) + + ENDPROC + + PROCEDURE Pagefr_config.pag3.cmd_rem.Click + thisform.sterge_drept_acces(.f.) + ENDPROC + + PROCEDURE Pagefr_config.pag3.cmd_rem_all.Click + thisform.sterge_drept_acces(.t.) + ENDPROC + + PROCEDURE Pagefr_config.pag3.grd_grupe.AfterRowColChange + LPARAMETERS nColIndex + + DODEFAULT() + thisform.actualizeaza_pagina(3,[],.t.) + ENDPROC + + PROCEDURE Pagefr_config.pag3.grd_utilizatori.AfterRowColChange + LPARAMETERS nColIndex + DODEFAULT() + + thisform.actualizeaza_pagina(3,[],.f.) + *!* SELECT crsUtilizatori + *!* lnid_util = crsUtilizatori.id_util + *!* lcId_util = ALLTRIM(STR(lnId_util)) + *!* poGrupe_Utilizatori.ca_baza1.cfiltru=[id_util=]+lcId_util + *!* *poGrupe_Gestiuni.ca_baza1.corder=[c.nume_grupa] + + *!* save_grid_tag(This.Parent.grd_utilizatori_coresp) + *!* poGrupe_Utilizatori.ca_baza1.afisare() + *!* restore_grid_tag(This.parent.grd_utilizatori_coresp) + *!* This.parent.grd_utilizatori_coresp.refresh + + *!* * Actualizare grupe neselectate + *!* SELECT id_grupe FROM crsGrupe_Utilizatori INTO ARRAY aListaGrupe + *!* IF _tally = 0 + *!* lcListaGrupe = [] + *!* ELSE + *!* lcListaGrupe = [(] + *!* FOR i=1 TO ALEN('aListaGrupe') + *!* lcListaGrupe = lcListaGrupe + ALLTRIM(STR(aListaGrupe(i)))+[,] + *!* ENDFOR + *!* lcListaGrupe = SUBSTR(lcListaGrupe,1,LEN(lcListaGrupe)-1) + *!* lcListaGrupe = lcListaGrupe + [)] + *!* ENDIF + *!* poGrupe.ca_baza1.cfiltru =IIF(EMPTY(lcListaGrupe),[1=1],[id_grupe not in ]+lcListaGrupe) + + *!* save_grid_tag(This.parent.grd_grupe) + *!* save_grid_tag(This.parent.parent.pag1.grd_grupe) + *!* poGrupe.ca_baza1.afisare() + *!* restore_grid_tag(This.parent.grd_grupe) + *!* restore_grid_tag(This.parent.parent.pag1.grd_grupe) + *!* This.parent.grd_grupe.refresh + + + ENDPROC + + PROCEDURE Pagefr_config.pag3.grd_utilizatori_coresp.AfterRowColChange + LPARAMETERS nColIndex + + DODEFAULT() + thisform.actualizeaza_pagina(3,[],.t.) + ENDPROC + + PROCEDURE Pagefr_config.setare_pagina + PARAMETERS tnpag + LOCAL lnpag + lnpag = tnpag + + *thisform.lbl_nom_caut.text_simplu1.Value=[] + thisform.shp_butoane.Visible = IIF(lnpag=3,.f.,.t.) + thisform.shp_butoane.width = IIF(lnpag=2,121,91) + thisform.but_nou1.Visible = IIF(lnpag=3,.f.,.t.) + thisform.but_copiaza1.Visible = IIF(lnpag=3,.f.,.t.) + thisform.but_modifica1.Visible = IIF(lnpag=3,.f.,.t.) + thisform.but_sterge1.Visible = IIF(lnpag=3,.f.,.t.) + thisform.but_excel1.Visible = IIF(lnpag=2,.t.,.f.) + thisform.cmd_cauta.Left = IIF(lnpag=3,15,179) + + + DO case + CASE lnpag = 1 + thisform.lb_titlu_alb_b121.Caption = [Configurare grupe de gestiuni] + thisform.lbl_nom_caut.Lb_simplu1.Caption = [Grupa] + + CASE lnpag = 2 + thisform.lb_titlu_alb_b121.Caption = [Configurare gestiuni] + thisform.lbl_nom_caut.Lb_simplu1.Caption = [Gestiune] + thisform.actualizeaza_grid1(2,.t.) + *!* thisform.cordine = [nume_gestiune] + *!* thisform.lasc = .t. + + CASE lnpag = 3 + thisform.lb_titlu_alb_b121.Caption = [Configurare drepturi de acces pe grupe de gestiuni] + thisform.lbl_nom_caut.Lb_simplu1.Caption = [Utilizator] + + ENDCASE + + Thisform.MousePointer= 11 + Thisform.LockScreen=.T. + + thisform.actualizeaza_pagina(lnpag,) + + Thisform.LockScreen=.F. + Thisform.MousePointer= 0 + + + ENDPROC + + PROCEDURE _shape1.DblClick + IF thisform.WindowState= 2 + thisform.WindowState = 0 + ELSE + thisform.WindowState= 2 + ENDIF + ENDPROC + +ENDDEFINE + +DEFINE CLASS frm_grupe_nou AS _frmbase OF "..\comun\clase\_frm_base.vcx" + *< CLASSDATA: Baseclass="form" Timestamp="" Scale="Pixels" Uniqueid="" /> + + *-- OBJECTDATA items order determines ZOrder / El orden de los items OBJECTDATA determina el ZOrder + *< OBJECTDATA: ObjPath="clb_grupa" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="Ck_inactiv" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="But_renunt1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="Cus_odata_grupe" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="img_parinte" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="clb_parinte" UniqueID="" Timestamp="" /> + + * + *m: do_alege_parinte + *p: nid + *p: orec + * + + * + BorderStyle = 1 + DoCreate = .T. + Height = 149 + Name = "frm_grupe_nou" + Width = 387 + _shape1.Height = 29 + _shape1.Left = 0 + _shape1.Name = "_shape1" + _shape1.Top = 0 + _shape1.Width = 387 + _shape2.Height = 29 + _shape2.Left = 326 + _shape2.Name = "_shape2" + _shape2.Top = 0 + _shape2.Width = 61 + Lb_titlu_alb_b121.Caption = "Grupa de gestiune" + Lb_titlu_alb_b121.Name = "Lb_titlu_alb_b121" + Lb_titlu_alb_b121.TabIndex = 4 + BUT_TERMIN1.Left = 357 + BUT_TERMIN1.Name = "BUT_TERMIN1" + BUT_TERMIN1.TabIndex = 2 + BUT_TERMIN1.Top = 1 + Gridsort1.Name = "Gridsort1" + * + + ADD OBJECT 'But_renunt1' AS but_renunt WITH ; + Left = 327, ; + Name = "But_renunt1", ; + TabIndex = 3, ; + Top = 1 + *< END OBJECT: ClassLib="..\comun\clase\cmd_butoane.vcx" BaseClass="commandbutton" /> + + ADD OBJECT 'Ck_inactiv' AS ck_simplu WITH ; + Alignment = 0, ; + Caption = "Inactiv", ; + ControlSource = "porec.inactiv", ; + Left = 12, ; + Name = "Ck_inactiv", ; + TabIndex = 5, ; + TabStop = .F., ; + Top = 124 + *< END OBJECT: ClassLib="..\comun\clase\caut_ora.vcx" BaseClass="checkbox" /> + + ADD OBJECT 'clb_grupa' AS clb_tx_simplu WITH ; + Height = 29, ; + Left = 13, ; + Name = "clb_grupa", ; + TabIndex = 1, ; + Top = 83, ; + Width = 313, ; + Text_simplu1.ControlSource = "porec.nume_grupa", ; + Text_simplu1.Height = 23, ; + Text_simplu1.Left = 101, ; + Text_simplu1.MaxLength = 50, ; + Text_simplu1.Name = "Text_simplu1", ; + Text_simplu1.Top = 3, ; + Text_simplu1.Width = 208, ; + Lb_simplu1.Caption = "Nume grupa", ; + Lb_simplu1.Name = "Lb_simplu1" + *< END OBJECT: ClassLib="..\comun\clase\lb_tx.vcx" BaseClass="container" /> + + ADD OBJECT 'clb_parinte' AS clb_tx_simplu WITH ; + Height = 29, ; + Left = 13, ; + Name = "clb_parinte", ; + TabIndex = 6, ; + TabStop = .F., ; + ToolTipText = "Pentru modificare, faceti dublu-click!", ; + Top = 55, ; + Width = 313, ; + Text_simplu1.ControlSource = "porec.nume_parinte", ; + Text_simplu1.Height = 23, ; + Text_simplu1.Left = 101, ; + Text_simplu1.Name = "Text_simplu1", ; + Text_simplu1.ReadOnly = .T., ; + Text_simplu1.Top = 3, ; + Text_simplu1.Value = , ; + Text_simplu1.Width = 206, ; + Lb_simplu1.Caption = "Grupa parinte", ; + Lb_simplu1.Name = "Lb_simplu1" + *< END OBJECT: ClassLib="..\comun\clase\lb_tx.vcx" BaseClass="container" /> + + ADD OBJECT 'Cus_odata_grupe' AS cus_odata_grupe WITH ; + Left = 324, ; + Name = "Cus_odata_grupe", ; + Top = 123 + *< END OBJECT: ClassLib="configurare.vcx" BaseClass="custom" /> + + ADD OBJECT 'img_parinte' AS _image WITH ; + Height = 24, ; + Left = 331, ; + Name = "img_parinte", ; + Picture = ..\comun\grafice\alege.bmp, ; + Stretch = 2, ; + ToolTipText = "Alegeti valuta", ; + Top = 57, ; + Width = 24 + *< END OBJECT: ClassLib="..\comun\clase\_baza.vcx" BaseClass="image" /> + + PROCEDURE do_alege_parinte + Local loCauta + loCauta = caut_grupa_gestiune(poRec.id_grupe) + + IF !EMPTY(loCauta.id_grupe) + poRec.parent_id = loCauta.id_grupe + poRec.nume_parinte = loCauta.nume_grupa + ELSE + poRec.parent_id = NULL + poRec.nume_parinte = "" + ENDIF + + this.clb_parinte.text_simplu1.Refresh() + + + ENDPROC + + PROCEDURE inainte_de_do_termin + LOCAL PLRETURN + + lccontrol = UPPER(this.ActiveControl.BaseClass ) + IF INLIST(lccontrol,"TEXTBOX","EDITBOX","COMBOBOX") + lcval=This.Activecontrol.controlsource + &lcval=thisform.ActiveControl.value + ENDIF + + IF EMPTY(porec.nume_grupa) + *!* Messagebox('Nu ati completat numele grupei!',0+48,"Atentie") + *!* This.clb_tx_nume_grupa.SetFocus() + lcTitlu=[Atentie] + lcMesaj=[Nu ati completat numele grupei!] + lcimagine = [exclam.ico] + lctip = [Avertizare] + ofrm_av = CREATEOBJECT([frm_mesaj],lcTitlu,lcimagine,lctip,lcMesaj) + ofrm_av.show(1) + RELEASE ofrm_av + + This.clb_tx_nume_grupa.SetFocus() + plreturn=.F. + ELSE + + If Alltrim(Upper(This.cus_odata_grupe.cactiune))="INSERT" Or (Alltrim(Upper(This.cus_odata_grupe.cactiune))="UPDATE" And porec.nume_grupa!=pcnume) + pcexec=[select * from ]+gcS+[.vgest_nom_grupe where TRIM(nume_grupa)=']+Alltrim(porec.nume_grupa)+['] + Do While .T. + pnSucces = SQLEXEC(GNHANDLE,pcexec,'exista_nume_grupa') + If pnSucces = 0 + * instructiunea in curs de executie + Else + Exit + Endif + Enddo + If Reccount('exista_nume_grupa')>0 + *Messagebox('Mai exista acesta grupa inregistrata!',0+48,"Atentie") + lcTitlu=[Atentie] + lcMesaj=[Mai exista acesta grupa inregistrata!] + lcimagine = [exclam.ico] + lctip = [Avertizare] + ofrm_av = CREATEOBJECT([frm_mesaj],lcTitlu,lcimagine,lctip,lcMesaj) + ofrm_av.show(1) + RELEASE ofrm_av + + Thisform.clb_tx_nume_grupa.SetFocus() + Use In exista_nume_grupa + plreturn=.F. + ELSE + PLRETURN=This.cus_odata_grupe.salvare(This.OREC,This.NID) + ENDIF + ELSE + PLRETURN=This.cus_odata_grupe.salvare(This.OREC,This.NID) + ENDIF + ENDIF + + Return PLRETURN + + + ENDPROC + + PROCEDURE Init + LPARAMETERS toRec, tnId, tcActiune + + DODEFAULT() + + this.orec= toRec + this.nid = tnId + this.cus_odata_grupe.cactiune = tcActiune + ENDPROC + + PROCEDURE clb_parinte.Text_simplu1.DblClick + Thisform.do_alege_parinte() + ENDPROC + + PROCEDURE img_parinte.Click + Thisform.do_alege_parinte() + + ENDPROC + +ENDDEFINE + +DEFINE CLASS frm_raport_gestiuni AS frm_termin_renunt OF "_frm_child.vcx" + *< CLASSDATA: Baseclass="form" Timestamp="" Scale="Pixels" Uniqueid="" /> + + *-- OBJECTDATA items order determines ZOrder / El orden de los items OBJECTDATA determina el ZOrder + *< OBJECTDATA: ObjPath="Ct_clb_gestiunec" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="_CHECKBOX1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="Clb_data" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="Ct_clb_gestiune" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="Ct_clb_subgrupart" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="Ct_clb_articole" UniqueID="" Timestamp="" /> + + * + *m: do_cauta_articole + *m: do_cauta_gestiune + *m: do_cauta_gestiunec + *m: do_cauta_subgrupeart + * + + * + DoCreate = .T. + Height = 230 + Name = "frm_raport_gestiuni" + Width = 374 + _shape1.Name = "_shape1" + _shape2.Height = 29 + _shape2.Left = 308 + _shape2.Name = "_shape2" + _shape2.Top = 0 + _shape2.Width = 67 + Lb_titlu_alb_b121.Caption = "Raport de gestiune" + Lb_titlu_alb_b121.Name = "Lb_titlu_alb_b121" + Lb_titlu_alb_b121.TabIndex = 9 + BUT_TERMIN1.Left = 343 + BUT_TERMIN1.Name = "BUT_TERMIN1" + BUT_TERMIN1.TabIndex = 7 + BUT_TERMIN1.Top = 1 + Gridsort1.Name = "Gridsort1" + But_renunt1.Left = 312 + But_renunt1.Name = "But_renunt1" + But_renunt1.TabIndex = 8 + But_renunt1.Top = 1 + * + + ADD OBJECT '_CHECKBOX1' AS _checkbox WITH ; + Alignment = 0, ; + Caption = "Se grupeazã dupã gestiunea corespondentã", ; + ControlSource = "pnGrupezGestc", ; + Left = 22, ; + Name = "_CHECKBOX1", ; + TabIndex = 5, ; + Top = 157 + *< END OBJECT: ClassLib="_baza.vcx" BaseClass="checkbox" /> + + ADD OBJECT 'Clb_data' AS clb_nr_intre WITH ; + Height = 29, ; + Left = 15, ; + Name = "Clb_data", ; + TabIndex = 1, ; + Top = 39, ; + Width = 314, ; + tx_n1.Alignment = 3, ; + tx_n1.ControlSource = "pdData1", ; + tx_n1.Height = 23, ; + tx_n1.InputMask = "", ; + tx_n1.Left = 127, ; + tx_n1.Name = "tx_n1", ; + tx_n1.Top = 3, ; + tx_n1.Value = ({}), ; + tx_n1.Width = 87, ; + Lb_simplu1.Caption = "Perioada", ; + Lb_simplu1.Name = "Lb_simplu1", ; + tx_n2.Alignment = 3, ; + tx_n2.ControlSource = "pdData2", ; + tx_n2.Height = 23, ; + tx_n2.InputMask = "", ; + tx_n2.Left = 216, ; + tx_n2.Name = "tx_n2", ; + tx_n2.Top = 3, ; + tx_n2.Value = ({}), ; + tx_n2.Width = 94 + *< END OBJECT: ClassLib="lb_tx.vcx" BaseClass="container" /> + + ADD OBJECT 'Ct_clb_articole' AS ct_clb_cautare WITH ; + cconditie = EMPTY(NVL(pcSirIdArticole,'')), ; + cprocedura = thisform.do_cauta_articole, ; + cvar_afisata = pcSirNumeArticole, ; + Left = 14, ; + Name = "Ct_clb_articole", ; + TabIndex = 4, ; + Top = 122, ; + img_cautare.Name = "img_cautare", ; + clb_tx_cautare.Lb_simplu1.Caption = "Articole", ; + clb_tx_cautare.Lb_simplu1.Name = "Lb_simplu1", ; + clb_tx_cautare.Name = "clb_tx_cautare", ; + clb_tx_cautare.Text_simplu1.Name = "Text_simplu1" + *< END OBJECT: ClassLib="caut_ora.vcx" BaseClass="container" /> + + ADD OBJECT 'Ct_clb_gestiune' AS ct_clb_cautare WITH ; + cconditie = EMPTY(NVL(pnId_gestiune,0)), ; + cprocedura = thisform.do_cauta_gestiune, ; + cvar_afisata = pcNumeGest, ; + Left = 14, ; + Name = "Ct_clb_gestiune", ; + TabIndex = 2, ; + Top = 66, ; + img_cautare.Name = "img_cautare", ; + clb_tx_cautare.Lb_simplu1.Caption = "Gestiune", ; + clb_tx_cautare.Lb_simplu1.Name = "Lb_simplu1", ; + clb_tx_cautare.Name = "clb_tx_cautare", ; + clb_tx_cautare.Text_simplu1.Name = "Text_simplu1" + *< END OBJECT: ClassLib="caut_ora.vcx" BaseClass="container" /> + + ADD OBJECT 'Ct_clb_gestiunec' AS ct_clb_cautare WITH ; + cconditie = EMPTY(NVL(pnId_gestiunec,0)), ; + cprocedura = thisform.do_cauta_gestiunec, ; + cvar_afisata = pcNumeGestc, ; + Left = 14, ; + Name = "Ct_clb_gestiunec", ; + TabIndex = 6, ; + Top = 178, ; + Visible = .F., ; + img_cautare.Name = "img_cautare", ; + clb_tx_cautare.Lb_simplu1.Caption = "Gestiune coresp.", ; + clb_tx_cautare.Lb_simplu1.Name = "Lb_simplu1", ; + clb_tx_cautare.Name = "clb_tx_cautare", ; + clb_tx_cautare.Text_simplu1.Name = "Text_simplu1" + *< END OBJECT: ClassLib="caut_ora.vcx" BaseClass="container" /> + + ADD OBJECT 'Ct_clb_subgrupart' AS ct_clb_cautare WITH ; + cconditie = EMPTY(NVL(pcSirIdSubgrupArt,'')), ; + cprocedura = thisform.do_cauta_subgrupeart, ; + cvar_afisata = pcSirNumeSubgrupArt, ; + Left = 14, ; + Name = "Ct_clb_subgrupart", ; + TabIndex = 3, ; + Top = 94, ; + img_cautare.Name = "img_cautare", ; + clb_tx_cautare.Lb_simplu1.Caption = "Subgrupe articole", ; + clb_tx_cautare.Lb_simplu1.Name = "Lb_simplu1", ; + clb_tx_cautare.Name = "clb_tx_cautare", ; + clb_tx_cautare.Text_simplu1.Name = "Text_simplu1" + *< END OBJECT: ClassLib="caut_ora.vcx" BaseClass="container" /> + + PROCEDURE do_cauta_articole + Local lcXMLArticole + lcXMLArticole = cauta_articole([2=2], 1, , @pcSirIdArticole, @pcSirNumeArticole) + This._chECKBOX1.SetFocus() + ENDPROC + + PROCEDURE do_cauta_gestiune + Local loCauta + *!* 09.06.2008 + *!* se pot alege si gestiuni sursa la pret de vanzare (transfer de la pret de vz la pret de vz) + *!* modificare v 2.0.81 + *!* loCauta = caut_gestiune(pnNr_pag,gnIdUtil,.t.) &&_sursa([4,5,6]) + loCauta = caut_gestiune(pnNr_pag,gnIdUtil) + *!* modificare v 2.0.81 ^ + *!* 09.06.2008 ^ + If !Isnull(loCauta) And !Empty(loCauta.id_gestiune) + pnId_gestiune = loCauta.id_gestiune + pcNumeGest = loCauta.nume_gestiune + This.ct_clb_gestiune.Refresh() + EndIf + *!* This.ct_clb_lucrare.setfocus() + + ENDPROC + + PROCEDURE do_cauta_gestiunec + Local loCauta + *!* If Empty(NVL(pnId_gestiune,0)) + *!* amessagebox("Nu ati ales gestiunea sursa!",0+48,"Atentie") + *!* This.ct_clb_gestiune.SetFocus() + *!* Else + *!* loCauta = caut_gestiune_dest(pnId_gestiune) + loCauta = caut_gestiune_dest() + If !Isnull(loCauta) And !Empty(NVL(loCauta.id_gestiune,0)) + pnId_gestiunec = loCauta.id_gestiune + pcNumeGestc = loCauta.nume_gestiune + + This.ct_clb_gestiunec.Refresh() + *!* This.ct_clb_furnizor.SetFocus() + Endif + *!* Endif + + ENDPROC + + PROCEDURE do_cauta_subgrupeart + Local lcXMLSubgrupe + lcXMLSubgrupe = caut_subgrupa_articole([2=2], , .T., 1, , @pcSirIdSubgrupArt, @pcSirNumeSubgrupArt) + Thisform.ct_clb_articole.SetFocus() + + ENDPROC + + PROCEDURE _CHECKBOX1.InteractiveChange + IF this.Value = 1 + thisform.ct_clb_gestiunec.Visible = .t. + ELSE + thisform.ct_clb_gestiunec.Visible = .f. + ENDIF + ENDPROC + +ENDDEFINE + +DEFINE CLASS frm_raport_marfa AS _frmbase OF "_frm_base.vcx" + *< CLASSDATA: Baseclass="form" Timestamp="" Scale="Pixels" Uniqueid="" /> + + *-- OBJECTDATA items order determines ZOrder / El orden de los items OBJECTDATA determina el ZOrder + *< OBJECTDATA: ObjPath="Shape3" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="Shape2" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="Shape1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="_txDataf" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="_txDatai" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="_txtpolitica" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="_txtutilizator" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="But_cautare1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="Ed_tx_simplu1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="But_cautare2" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="lb_utilizator" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="lbPerioada" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="lb_politica" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="opt_utilizatori" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="opt_politici" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="BUT_LISTARE1" UniqueID="" Timestamp="" /> + + * + *m: do_cauta2 + *p: cnumepol + *p: cnumeutilizator + *p: ctitlu + *p: ntip_raport + *p: orezult + *p: pddataf + *p: pddatai + * + + * + cnumepol = + cnumeutilizator = + ctitlu = + DoCreate = .T. + Height = 335 + Name = "frm_raport_marfa" + ntip_raport = 1 + orezult = + pddataf = {} + pddatai = {} + Width = 377 + _shape1.Name = "_shape1" + _shape1.ZOrderSet = 2 + _shape2.Height = 29 + _shape2.Left = 312 + _shape2.Name = "_shape2" + _shape2.Top = 0 + _shape2.Width = 65 + _shape2.ZOrderSet = 4 + Lb_titlu_alb_b121.Caption = "Alegeti felul raportului" + Lb_titlu_alb_b121.Name = "Lb_titlu_alb_b121" + Lb_titlu_alb_b121.TabIndex = 8 + Lb_titlu_alb_b121.ZOrderSet = 5 + BUT_TERMIN1.Left = 345 + BUT_TERMIN1.Name = "BUT_TERMIN1" + BUT_TERMIN1.TabIndex = 6 + BUT_TERMIN1.Top = 1 + BUT_TERMIN1.ZOrderSet = 6 + Gridsort1.Name = "Gridsort1" + * + + ADD OBJECT '_txDataf' AS _textbox WITH ; + ControlSource = "thisform.pddataf", ; + DisabledForeColor = 0,0,0, ; + FontName = "Arial Narrow", ; + FontSize = 10, ; + ForeColor = 0,0,0, ; + Height = 22, ; + Left = 140, ; + Name = "_txDataf", ; + TabIndex = 3, ; + Top = 108, ; + Width = 111, ; + ZOrderSet = 8 + *< END OBJECT: ClassLib="_baza.vcx" BaseClass="textbox" /> + + ADD OBJECT '_txDatai' AS _textbox WITH ; + ControlSource = "thisform.pddatai", ; + DisabledForeColor = 0,0,0, ; + FontName = "Arial Narrow", ; + FontSize = 10, ; + ForeColor = 0,0,0, ; + Height = 22, ; + Left = 24, ; + Name = "_txDatai", ; + TabIndex = 2, ; + Top = 108, ; + Width = 106, ; + ZOrderSet = 8 + *< END OBJECT: ClassLib="_baza.vcx" BaseClass="textbox" /> + + ADD OBJECT '_txtpolitica' AS _textbox WITH ; + ControlSource = "thisform.cnumepol", ; + DisabledForeColor = 0,0,0, ; + Enabled = .F., ; + FontItalic = .T., ; + FontName = "Arial Narrow", ; + FontSize = 10, ; + ForeColor = 0,0,0, ; + Height = 22, ; + Left = 111, ; + Name = "_txtpolitica", ; + TabIndex = 10, ; + Top = 280, ; + Width = 215, ; + ZOrderSet = 8 + *< END OBJECT: ClassLib="_baza.vcx" BaseClass="textbox" /> + + ADD OBJECT '_txtutilizator' AS _textbox WITH ; + ControlSource = "thisform.cnumeutilizator", ; + DisabledForeColor = 0,0,0, ; + Enabled = .F., ; + FontItalic = .T., ; + FontName = "Arial Narrow", ; + FontSize = 10, ; + ForeColor = 0,0,0, ; + Height = 22, ; + Left = 111, ; + Name = "_txtutilizator", ; + TabIndex = 9, ; + Top = 195, ; + Width = 215, ; + ZOrderSet = 8 + *< END OBJECT: ClassLib="_baza.vcx" BaseClass="textbox" /> + + ADD OBJECT 'But_cautare1' AS but_cautare WITH ; + Left = 327, ; + Name = "But_cautare1", ; + TabIndex = 14, ; + Top = 191, ; + Visible = .F. + *< END OBJECT: ClassLib="cmd_butoane.vcx" BaseClass="commandbutton" /> + + ADD OBJECT 'But_cautare2' AS but_cautare WITH ; + caction = do_cauta2, ; + Left = 327, ; + Name = "But_cautare2", ; + TabIndex = 15, ; + Top = 276, ; + Visible = .F. + *< END OBJECT: ClassLib="cmd_butoane.vcx" BaseClass="commandbutton" /> + + ADD OBJECT 'BUT_LISTARE1' AS but_listare WITH ; + Left = 315, ; + Name = "BUT_LISTARE1", ; + Top = 1 + *< END OBJECT: ClassLib="cmd_butoane.vcx" BaseClass="commandbutton" /> + + ADD OBJECT 'Ed_tx_simplu1' AS ed_tx_simplu WITH ; + Height = 33, ; + Left = 7, ; + Name = "Ed_tx_simplu1", ; + TabIndex = 1, ; + Top = 34, ; + Width = 360, ; + _edbase1.ControlSource = "thisform.ctitlu", ; + _edbase1.FontName = "Arial Narrow", ; + _edbase1.FontSize = 10, ; + _edbase1.Format = "k", ; + _edbase1.Height = 27, ; + _edbase1.Left = 68, ; + _edbase1.Name = "_edbase1", ; + _edbase1.TabIndex = 1, ; + _edbase1.Top = 3, ; + _edbase1.Width = 287, ; + _LBBASE1.Caption = "Titlu raport", ; + _LBBASE1.FontName = "Arial Narrow", ; + _LBBASE1.FontSize = 10, ; + _LBBASE1.Left = 11, ; + _LBBASE1.Name = "_LBBASE1", ; + _LBBASE1.TabIndex = 2, ; + _LBBASE1.Top = 7 + *< END OBJECT: ClassLib="lb_tx.vcx" BaseClass="container" /> + + ADD OBJECT 'lb_politica' AS label WITH ; + Alignment = 2, ; + BackColor = 255,255,255, ; + Caption = "Politica de preturi", ; + Comment = "*:OnResize=LT", ; + FontName = "Arial Narrow", ; + FontSize = 10, ; + Height = 17, ; + Left = 20, ; + Name = "lb_politica", ; + TabIndex = 11, ; + Top = 237, ; + Width = 88, ; + ZOrderSet = 16 + *< END OBJECT: BaseClass="label" /> + + ADD OBJECT 'lb_utilizator' AS label WITH ; + Alignment = 2, ; + BackColor = 255,255,255, ; + Caption = "Utilizatori", ; + Comment = "*:OnResize=LT", ; + FontName = "Arial Narrow", ; + FontSize = 10, ; + Height = 17, ; + Left = 15, ; + Name = "lb_utilizator", ; + TabIndex = 12, ; + Top = 152, ; + Width = 63, ; + ZOrderSet = 16 + *< END OBJECT: BaseClass="label" /> + + ADD OBJECT 'lbPerioada' AS label WITH ; + Alignment = 2, ; + BackColor = 255,255,255, ; + Caption = "Perioada", ; + Comment = "*:OnResize=LT", ; + FontName = "Arial Narrow", ; + FontSize = 10, ; + Height = 17, ; + Left = 17, ; + Name = "lbPerioada", ; + TabIndex = 13, ; + Top = 74, ; + Width = 63, ; + ZOrderSet = 16 + *< END OBJECT: BaseClass="label" /> + + ADD OBJECT 'opt_politici' AS _optiongrup WITH ; + BorderStyle = 0, ; + Left = 20, ; + Name = "opt_politici", ; + TabIndex = 5, ; + Top = 256, ; + Option1.Caption = "Toate", ; + Option1.FontName = "Arial Narrow", ; + Option1.FontSize = 10, ; + Option1.Left = 5, ; + Option1.Name = "Option1", ; + Option1.Top = 5, ; + Option2.Caption = "Politica", ; + Option2.FontName = "Arial Narrow", ; + Option2.FontSize = 10, ; + Option2.Left = 5, ; + Option2.Name = "Option2", ; + Option2.Top = 24 + *< END OBJECT: ClassLib="_baza.vcx" BaseClass="optiongroup" /> + + ADD OBJECT 'opt_utilizatori' AS _optiongrup WITH ; + BorderStyle = 0, ; + Left = 20, ; + Name = "opt_utilizatori", ; + TabIndex = 4, ; + Top = 173, ; + Option1.Caption = "Toti", ; + Option1.FontName = "Arial Narrow", ; + Option1.FontSize = 10, ; + Option1.Left = 5, ; + Option1.Name = "Option1", ; + Option1.Top = 5, ; + Option2.Caption = "Utilizator", ; + Option2.FontName = "Arial Narrow", ; + Option2.FontSize = 10, ; + Option2.Left = 5, ; + Option2.Name = "Option2", ; + Option2.Top = 24 + *< END OBJECT: ClassLib="_baza.vcx" BaseClass="optiongroup" /> + + ADD OBJECT 'Shape1' AS shape WITH ; + BackStyle = 0, ; + Height = 66, ; + Left = 7, ; + Name = "Shape1", ; + Top = 162, ; + Width = 360, ; + ZOrderSet = 1 + *< END OBJECT: BaseClass="shape" /> + + ADD OBJECT 'Shape2' AS shape WITH ; + BackStyle = 0, ; + Height = 66, ; + Left = 7, ; + Name = "Shape2", ; + Top = 247, ; + Width = 360, ; + ZOrderSet = 1 + *< END OBJECT: BaseClass="shape" /> + + ADD OBJECT 'Shape3' AS shape WITH ; + BackStyle = 0, ; + Height = 66, ; + Left = 9, ; + Name = "Shape3", ; + Top = 84, ; + Width = 360, ; + ZOrderSet = 1 + *< END OBJECT: BaseClass="shape" /> + + PROCEDURE do_cauta + If Thisform.opt_utilizatori.Value=2 + pcselect = [select distinct utilizator from vvanzari_detalii] + pcfiltru = [1=2] + pcschema = [] + pcorder = [1] + pccoloane = [Utilizator] + pcTitlu = [Utilizator] + pcTitluColoane = [Utilizator] + locauta = cauta_alfa(pcselect,pcfiltru,pcschema,pcorder,pccoloane,pcTitlu,pcTitluColoane,"") && 11.07.2007 + If !Empty(locauta.utilizator) + Thisform.cnumeutilizator=locauta.utilizator + Thisform._txtutilizator.Refresh + Endif + Endif + ENDPROC + + PROCEDURE do_cauta2 + If Thisform.opt_politici.Value=2 + pcselect = [select distinct nume_lista_preturi from vvanzari_detalii] + pcfiltru = [1=2] + pcschema = [] + pcorder = [1] + pccoloane = [nume_lista_preturi] + pcTitlu = [Politica de preturi] + pcTitluColoane = [Politica de preturi] + locauta = cauta_alfa(pcselect,pcfiltru,pcschema,pcorder,pccoloane,pcTitlu,pcTitluColoane,"") && 11.07.2007 + If !Empty(locauta.nume_lista_preturi) + Thisform.cnumepol=locauta.nume_lista_preturi + Thisform._txtpolitica.Refresh + Endif + Endif + ENDPROC + + PROCEDURE do_listare + Do Case + Case Empty(Thisform.pddatai) + aMessagebox("Nu ati completat data initiala!",0+48,"Atentie") + Thisform._txDatai.SetFocus() + Case Empty(Thisform.pddataf) + aMessagebox("Nu ati completat data finala!",0+48,"Atentie") + Thisform._txDataf.SetFocus() + Case Thisform.pddatai>Thisform.pddataf + aMessagebox("Data initiala trebuie sa fie mai mica decat data finala a raportului!",0+48,"Atentie") + Thisform._txDatai.SetFocus() + Otherwise + Private pcschema,pcselect,pcfiltru,pcorder,pcgroup,poLista + Store '' To poLista + lnUtil=Thisform.opt_utilizatori.Value + lnPol=Thisform.opt_politici.Value + pcschema=[] + Do Case + Case Thisform.ntip_raport=1 && centralizator pe articole + pcselect=[select utilizator,nume_lista_preturi,denumire,um,pret,diferenta,]+; + [SUM(cantitate) as cantitate from ]+gcS+[.vvanzari_detalii where 1=2] + pcorder=[nume_lista_preturi,utilizator,denumire,um,pret,diferenta] + pcgroup=[nume_lista_preturi,utilizator,denumire,um,pret,diferenta] + lcRaport = [rap_marfuri_lista_centr] + Case Thisform.ntip_raport=2 && rulaje articole + pcselect=[select * from ] + gcS + [.vvanzari_detalii where 1=2] + pcorder=[dataora,numar_act,utilizator,denumire,um,pret] + pcgroup=[] + lcRaport = [rap_marfuri_lista_desf] + Case Thisform.ntip_raport=3 && centralizator valoric + pcselect=[select nume_lista_preturi, sum(cantitate*pret-diferenta) as valoare from vvanzari_detalii where 1=2] + pcorder=[nume_lista_preturi] + pcgroup=[nume_lista_preturi] + lcRaport = [rap_marfuri_lista_valoric] + Endcase + *!* pcfiltru=[trunc(dataora) between to_date(']+Dtos(Thisform.pddatai)+[','YYYYMMDD') and ]+; + *!* [to_date(']+Dtos(Thisform.pddataf)+[','YYYYMMDD') ]+; + *!* IIF(lnUtil=2,[ and utilizator=']+Upper(Alltrim(Thisform.cnumeutilizator))+['],[])+; + *!* IIF(lnPol=2,[ and nume_lista_preturi=']+Upper(Alltrim(Thisform.cnumepol))+['],[]) + pcfiltru=[dataora between to_date(']+Ttoc(Thisform.pddatai,1)+[','YYYYMMDD HH24:MI:SS') and ]+; + [to_date(']+Ttoc(Thisform.pddataf,1)+[','YYYYMMDD HH24:MI:SS') ]+; + IIF(lnUtil=2,[ and utilizator=']+Upper(Alltrim(Thisform.cnumeutilizator))+['],[])+; + IIF(lnPol=2,[ and nume_lista_preturi=']+Upper(Alltrim(Thisform.cnumepol))+['],[])+gcCondSucursala + + llAfiseaza=.F. + gencursor('polista','crsmarfuri',pcselect,pcfiltru,pcschema,pcorder,llAfiseaza,pcgroup) + poLista.ca_baza1.afisare() + pcTitlu = Thisform.ctitlu + pcPerioada = Alltrim(Transform(Thisform.pddatai)) + [ - ] + Alltrim(Transform(Thisform.pddataf)) + + *!* modificare 28.02.2008 + Thisform.AlwaysOnTop=.F. + goExport.export2frx([crsmarfuri],lcRaport) + Thisform.AlwaysOnTop=.T. + *!* If Reccount('crsmarfuri')>0 + *!* Thisform.AlwaysOnTop=.F. + *!* pcDataora = get_Ora(2) + *!* Select crsmarfuri + *!* Report Format (lcRaport) To Printer Prompt Noconsole Preview + *!* Thisform.AlwaysOnTop=.T. + *!* Else + *!* aMessagebox("Nu exista inregistrari pentru listare!",48,"Atentie") + *!* Endif + *!* modificare 28.02.2008 ^ + + If Used('crsmarfuri') + Use In crsmarfuri + Endif + + Endcase + + ENDPROC + + PROCEDURE Init + Lparameters tnTip + *!* 1 - centralizator + *!* 2 - desfasurat + Thisform.ntip_raport=Iif(Empty(tnTip),1,tnTip) + + this.ctitlu = [VANZARE MARFA LA PRET DE LISTA - ]+IIF(thisform.ntip_raport=1,[CENTRALIZATOR PE ARTICOLE],IIF(thisform.ntip_raport=2,[RULAJE ARTICOLE],[CENTRALIZATOR VALORIC PE LISTE DE PRETURI])) + + ltDataora = get_ora() + ldDataora = TTOD(ltDataora) + this.pddatai= DTOT(ldDataora) + this.pddataf = DTOT(ldDataora) + + DODEFAULT() + ENDPROC + + PROCEDURE Show + LPARAMETERS nStyle + ENDPROC + + PROCEDURE opt_politici.Click + If This.Value=1 + Thisform._txtpolitica.Value=[] + Thisform.but_cautare2.Visible=.F. + Else + Thisform.but_cautare2.Visible=.T. + Endif + ENDPROC + + PROCEDURE opt_utilizatori.Click + If This.Value=1 + Thisform._txtutilizator.Value=[] + Thisform.but_cautare1.Visible=.F. + Else + Thisform.but_cautare1.Visible=.T. + Endif + ENDPROC + +ENDDEFINE + +DEFINE CLASS frm_raport_stoc AS frm_termin_renunt OF "_frm_child.vcx" + *< CLASSDATA: Baseclass="form" Timestamp="" Scale="Pixels" Uniqueid="" /> + + *-- OBJECTDATA items order determines ZOrder / El orden de los items OBJECTDATA determina el ZOrder + *< OBJECTDATA: ObjPath="Shape5" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="optOrder" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="Shape2" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="Shape1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="Shape3" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="OptPerioada" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="_txtgestiuni" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="txtData1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="txtData2" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="ckTotalUM" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="Ck_stoc" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="optgestiuni" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="OptArticol" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="Label1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="Label2" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="OptGrupe" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="But_cautare1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="Ed_tx_simplu1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="But_listare1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="But_excel1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="ckpretachi" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="optCont" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="optAcont" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="Label3" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="optSubgrupa" UniqueID="" Timestamp="" /> + + * + *m: make_cursor_listare + *m: select_stoc + *p: csubtitlu + *p: ctitlu + *p: ddatafinal + *p: ddatainit + *p: orezult + *p: pcnumegest + * + + * + BorderStyle = 1 + csubtitlu = .F. + ctitlu = + DoCreate = .T. + Height = 337 + Name = "frm_raport_stoc" + orezult = + pcnumegest = + Width = 375 + _shape1.Name = "_shape1" + _shape1.ZOrderSet = 6 + _shape2.Height = 29 + _shape2.Left = 312 + _shape2.Name = "_shape2" + _shape2.Top = 0 + _shape2.Width = 65 + _shape2.ZOrderSet = 8 + Lb_titlu_alb_b121.Caption = "Alegeti felul raportului" + Lb_titlu_alb_b121.Name = "Lb_titlu_alb_b121" + Lb_titlu_alb_b121.TabIndex = 20 + Lb_titlu_alb_b121.ZOrderSet = 9 + BUT_TERMIN1.Left = 345 + BUT_TERMIN1.Name = "BUT_TERMIN1" + BUT_TERMIN1.TabIndex = 15 + BUT_TERMIN1.Top = 1 + BUT_TERMIN1.ZOrderSet = 14 + Gridsort1.Name = "Gridsort1" + But_renunt1.Left = 228 + But_renunt1.Name = "But_renunt1" + But_renunt1.TabIndex = 19 + But_renunt1.Top = 0 + But_renunt1.Visible = .F. + But_renunt1.ZOrderSet = 15 + * + + ADD OBJECT '_txtgestiuni' AS _textbox WITH ; + ControlSource = "thisform.pcnumegest", ; + DisabledForeColor = 0,0,0, ; + Enabled = .F., ; + FontItalic = .T., ; + FontName = "Arial Narrow", ; + FontSize = 10, ; + ForeColor = 0,0,0, ; + Height = 22, ; + Left = 111, ; + Name = "_txtgestiuni", ; + TabIndex = 21, ; + Top = 108, ; + Width = 215, ; + ZOrderSet = 11 + *< END OBJECT: ClassLib="_baza.vcx" BaseClass="textbox" /> + + ADD OBJECT 'But_cautare1' AS but_cautare WITH ; + Left = 327, ; + Name = "But_cautare1", ; + TabIndex = 8, ; + Top = 104, ; + ZOrderSet = 23 + *< END OBJECT: ClassLib="cmd_butoane.vcx" BaseClass="commandbutton" /> + + ADD OBJECT 'But_excel1' AS but_excel WITH ; + Left = 282, ; + Name = "But_excel1", ; + TabIndex = 14, ; + Top = 1, ; + Visible = .T., ; + ZOrderSet = 26 + *< END OBJECT: ClassLib="cmd_butoane.vcx" BaseClass="commandbutton" /> + + ADD OBJECT 'But_listare1' AS but_listare WITH ; + caction = do_listare, ; + Left = 313, ; + Name = "But_listare1", ; + TabIndex = 13, ; + Top = 1, ; + Visible = .T., ; + ZOrderSet = 25 + *< END OBJECT: ClassLib="cmd_butoane.vcx" BaseClass="commandbutton" /> + + ADD OBJECT 'Ck_stoc' AS checkbox WITH ; + Alignment = 0, ; + AutoSize = .T., ; + BackStyle = 0, ; + Caption = "Cu stoc final # 0", ; + Height = 17, ; + Left = 11, ; + Name = "Ck_stoc", ; + TabIndex = 9, ; + Top = 253, ; + Width = 106, ; + ZOrderSet = 17 + *< END OBJECT: BaseClass="checkbox" /> + + ADD OBJECT 'ckpretachi' AS checkbox WITH ; + Alignment = 0, ; + AutoSize = .T., ; + BackStyle = 0, ; + Caption = "Pret achizitie vizibil", ; + Height = 17, ; + Left = 240, ; + Name = "ckpretachi", ; + TabIndex = 10, ; + Top = 253, ; + Visible = .F., ; + Width = 119, ; + ZOrderSet = 27 + *< END OBJECT: BaseClass="checkbox" /> + + ADD OBJECT 'ckTotalUM' AS checkbox WITH ; + Alignment = 0, ; + AutoSize = .T., ; + BackStyle = 0, ; + Caption = "Cu total pe UM", ; + Height = 17, ; + Left = 132, ; + Name = "ckTotalUM", ; + TabIndex = 11, ; + Top = 253, ; + Width = 98, ; + ZOrderSet = 16 + *< END OBJECT: BaseClass="checkbox" /> + + ADD OBJECT 'Ed_tx_simplu1' AS ed_tx_simplu WITH ; + Height = 33, ; + Left = 7, ; + Name = "Ed_tx_simplu1", ; + TabIndex = 1, ; + Top = 34, ; + Width = 360, ; + ZOrderSet = 24, ; + _edbase1.ControlSource = "thisform.ctitlu", ; + _edbase1.FontName = "Arial Narrow", ; + _edbase1.FontSize = 10, ; + _edbase1.Format = "k", ; + _edbase1.Height = 27, ; + _edbase1.Left = 68, ; + _edbase1.Name = "_edbase1", ; + _edbase1.TabIndex = 1, ; + _edbase1.Top = 3, ; + _edbase1.Width = 287, ; + _LBBASE1.Caption = "Titlu raport", ; + _LBBASE1.FontName = "Arial Narrow", ; + _LBBASE1.FontSize = 10, ; + _LBBASE1.Left = 11, ; + _LBBASE1.Name = "_LBBASE1", ; + _LBBASE1.TabIndex = 2, ; + _LBBASE1.Top = 7 + *< END OBJECT: ClassLib="lb_tx.vcx" BaseClass="container" /> + + ADD OBJECT 'Label1' AS label WITH ; + Alignment = 2, ; + AutoSize = .T., ; + BackColor = 255,255,255, ; + Caption = "Selectie", ; + Comment = "*:OnResize=LT", ; + FontName = "Arial Narrow", ; + FontSize = 10, ; + Height = 18, ; + Left = 15, ; + Name = "Label1", ; + TabIndex = 24, ; + Top = 68, ; + Width = 38, ; + ZOrderSet = 20 + *< END OBJECT: BaseClass="label" /> + + ADD OBJECT 'Label2' AS label WITH ; + Alignment = 2, ; + AutoSize = .T., ; + BackColor = 255,255,255, ; + Caption = "Grupat dupa", ; + Comment = "*:OnResize=LT", ; + FontName = "Arial Narrow", ; + FontSize = 10, ; + Height = 18, ; + Left = 15, ; + Name = "Label2", ; + TabIndex = 22, ; + Top = 161, ; + Width = 61, ; + ZOrderSet = 21 + *< END OBJECT: BaseClass="label" /> + + ADD OBJECT 'Label3' AS label WITH ; + Alignment = 2, ; + AutoSize = .T., ; + BackColor = 255,255,255, ; + BackStyle = 1, ; + Caption = "Ordonat dupa", ; + Comment = "*:OnResize=LT", ; + FontName = "Arial Narrow", ; + FontSize = 10, ; + Height = 18, ; + Left = 15, ; + Name = "Label3", ; + TabIndex = 23, ; + Top = 209, ; + Width = 67, ; + ZOrderSet = 31 + *< END OBJECT: BaseClass="label" /> + + ADD OBJECT 'optAcont' AS checkbox WITH ; + Alignment = 0, ; + AutoSize = .T., ; + BackStyle = 0, ; + Caption = "Analitic", ; + Height = 17, ; + Left = 71, ; + Name = "optAcont", ; + TabIndex = 9, ; + Top = 185, ; + Width = 57, ; + ZOrderSet = 29 + *< END OBJECT: BaseClass="checkbox" /> + + ADD OBJECT 'OptArticol' AS optiongroup WITH ; + AutoSize = .T., ; + BackStyle = 0, ; + BorderStyle = 0, ; + ButtonCount = 1, ; + Height = 28, ; + Left = 11, ; + Name = "OptArticol", ; + SpecialEffect = 1, ; + TabIndex = 4, ; + Top = 128, ; + Value = 0, ; + Width = 56, ; + ZOrderSet = 19, ; + Option1.AutoSize = .T., ; + Option1.BackStyle = 0, ; + Option1.Caption = "Articol", ; + Option1.FontName = "Arial Narrow", ; + Option1.FontSize = 10, ; + Option1.Height = 18, ; + Option1.Left = 5, ; + Option1.Name = "Option1", ; + Option1.Top = 5, ; + Option1.Value = 0, ; + Option1.Width = 46 + *< END OBJECT: BaseClass="optiongroup" /> + + ADD OBJECT 'optCont' AS checkbox WITH ; + Alignment = 0, ; + AutoSize = .T., ; + BackStyle = 0, ; + Caption = "Cont", ; + Height = 17, ; + Left = 17, ; + Name = "optCont", ; + TabIndex = 9, ; + Top = 185, ; + Width = 44, ; + ZOrderSet = 28 + *< END OBJECT: BaseClass="checkbox" /> + + ADD OBJECT 'optgestiuni' AS optiongroup WITH ; + AutoSize = .T., ; + BackStyle = 0, ; + BorderStyle = 0, ; + ButtonCount = 1, ; + Height = 28, ; + Left = 11, ; + Name = "optgestiuni", ; + SpecialEffect = 1, ; + TabIndex = 2, ; + Top = 84, ; + Value = 0, ; + Width = 65, ; + ZOrderSet = 18, ; + Option1.AutoSize = .T., ; + Option1.BackStyle = 0, ; + Option1.Caption = "Gestiuni", ; + Option1.FontName = "Arial Narrow", ; + Option1.FontSize = 10, ; + Option1.Height = 18, ; + Option1.Left = 5, ; + Option1.Name = "Option1", ; + Option1.Top = 5, ; + Option1.Value = 0, ; + Option1.Width = 55 + *< END OBJECT: BaseClass="optiongroup" /> + + ADD OBJECT 'OptGrupe' AS optiongroup WITH ; + AutoSize = .T., ; + BackStyle = 0, ; + BorderStyle = 0, ; + ButtonCount = 1, ; + Height = 28, ; + Left = 11, ; + Name = "OptGrupe", ; + SpecialEffect = 1, ; + TabIndex = 3, ; + Top = 105, ; + Value = 0, ; + Width = 96, ; + ZOrderSet = 22, ; + Option1.AutoSize = .T., ; + Option1.BackStyle = 0, ; + Option1.Caption = "Grupe gestiuni", ; + Option1.FontName = "Arial Narrow", ; + Option1.FontSize = 10, ; + Option1.Height = 18, ; + Option1.Left = 5, ; + Option1.Name = "Option1", ; + Option1.Top = 5, ; + Option1.Value = 0, ; + Option1.Width = 86 + *< END OBJECT: BaseClass="optiongroup" /> + + ADD OBJECT 'optOrder' AS optiongroup WITH ; + AutoSize = .F., ; + BackStyle = 0, ; + BorderColor = 0,0,0, ; + BorderStyle = 1, ; + ButtonCount = 2, ; + Height = 27, ; + Left = 7, ; + Name = "optOrder", ; + SpecialEffect = 1, ; + TabIndex = 16, ; + Top = 221, ; + Value = 1, ; + Width = 360, ; + ZOrderSet = 2, ; + Option1.AutoSize = .T., ; + Option1.BackStyle = 0, ; + Option1.Caption = "Cod material, denumire", ; + Option1.Height = 17, ; + Option1.Left = 5, ; + Option1.Name = "Option1", ; + Option1.Top = 5, ; + Option1.Value = 1, ; + Option1.Width = 148, ; + Option2.AutoSize = .T., ; + Option2.BackStyle = 0, ; + Option2.Caption = "Denumire, cod material", ; + Option2.Height = 17, ; + Option2.Left = 178, ; + Option2.Name = "Option2", ; + Option2.Top = 5, ; + Option2.Width = 147 + *< END OBJECT: BaseClass="optiongroup" /> + + ADD OBJECT 'OptPerioada' AS _optiongrup WITH ; + AutoSize = .T., ; + BorderStyle = 0, ; + Height = 46, ; + Left = 12, ; + Name = "OptPerioada", ; + TabIndex = 12, ; + Top = 279, ; + Width = 100, ; + ZOrderSet = 10, ; + Option1.AutoSize = .T., ; + Option1.Caption = "Luna curenta", ; + Option1.Left = 5, ; + Option1.Name = "Option1", ; + Option1.Top = 5, ; + Option2.AutoSize = .T., ; + Option2.Caption = "O perioada", ; + Option2.Left = 5, ; + Option2.Name = "Option2", ; + Option2.Top = 24 + *< END OBJECT: ClassLib="_baza.vcx" BaseClass="optiongroup" /> + + ADD OBJECT 'optSubgrupa' AS checkbox WITH ; + Alignment = 0, ; + AutoSize = .T., ; + BackStyle = 0, ; + Caption = "Subgrupa articole", ; + Height = 17, ; + Left = 138, ; + Name = "optSubgrupa", ; + TabIndex = 9, ; + Top = 185, ; + Width = 115, ; + ZOrderSet = 30 + *< END OBJECT: BaseClass="checkbox" /> + + ADD OBJECT 'Shape1' AS shape WITH ; + BackStyle = 0, ; + Height = 83, ; + Left = 7, ; + Name = "Shape1", ; + Top = 78, ; + Width = 360, ; + ZOrderSet = 4 + *< END OBJECT: BaseClass="shape" /> + + ADD OBJECT 'Shape2' AS shape WITH ; + BackStyle = 0, ; + Height = 38, ; + Left = 7, ; + Name = "Shape2", ; + Top = 170, ; + Width = 360, ; + ZOrderSet = 3 + *< END OBJECT: BaseClass="shape" /> + + ADD OBJECT 'Shape3' AS shape WITH ; + BackStyle = 0, ; + Height = 53, ; + Left = 7, ; + Name = "Shape3", ; + Top = 275, ; + Width = 360, ; + ZOrderSet = 5 + *< END OBJECT: BaseClass="shape" /> + + ADD OBJECT 'Shape5' AS shape WITH ; + BackStyle = 0, ; + Height = 21, ; + Left = 7, ; + Name = "Shape5", ; + Top = 251, ; + Width = 360, ; + ZOrderSet = 1 + *< END OBJECT: BaseClass="shape" /> + + ADD OBJECT 'txtData1' AS _textbox WITH ; + Alignment = 3, ; + Format = "RKD", ; + Height = 23, ; + InputMask = "99/99/9999", ; + Left = 120, ; + Name = "txtData1", ; + TabIndex = 17, ; + Top = 302, ; + Visible = .F., ; + Width = 78, ; + ZOrderSet = 12 + *< END OBJECT: ClassLib="_baza.vcx" BaseClass="textbox" /> + + ADD OBJECT 'txtData2' AS _textbox WITH ; + Alignment = 3, ; + Format = "RK", ; + Height = 23, ; + InputMask = "99/99/9999", ; + Left = 203, ; + Name = "txtData2", ; + TabIndex = 18, ; + Top = 302, ; + Visible = .F., ; + Width = 78, ; + ZOrderSet = 13 + *< END OBJECT: ClassLib="_baza.vcx" BaseClass="textbox" /> + + PROCEDURE do_cauta + Do Case + Case This.optgestiuni.Value = 1 + *!* DO CASE + *!* CASE "-1" $ gcGestPermis + *!* pcselect = [select * from ] + gcs + [.vnom_GESTIUNI where inactiv = 0 and nr_pag = ?gnTipGest ] + *!* pcfiltru = [2=2] + *!* pcschema = [''] + *!* pcorder = [nume_gestiune] + *!* pccoloane = [nume_gestiune,cgest] + *!* pcTitlu = [Alegeti gestiunea] + *!* pcTitluColoane = [Gestiune,Indicativ] + *!* locauta = cauta_alfa(pcselect,pcfiltru,pcschema,pcorder,pccoloane,pcTitlu,pcTitluColoane,"",.t.) + *!* OTHERWISE + *!* pcselect = [select * from ] + gcs + [.vnom_GESTIUNI where inactiv = 0 and nr_pag = ?gnTipGest and id_gestiune in ] + ; + *!* [(select g.id_gestiune from ] + gcs + [.vgest_coresp_grupe_gestiuni g join ] + ; + *!* gcs + [.vgest_coresp_util_grupe u on g.id_grupe = u.id_grupe and u.id_util = ?gnIdUtil)] + *!* pcfiltru = [] + *!* pcschema = [''] + *!* pcorder = [nume_gestiune] + *!* pccoloane = [nume_gestiune,cgest] + *!* pcTitlu = [Alegeti gestiunea] + *!* pcTitluColoane = [Gestiune,Indicativ] + *!* locauta = cauta_alfa(pcselect,pcfiltru,pcschema,pcorder,pccoloane,pcTitlu,pcTitluColoane,"",.t.) + *!* ENDCASE + *!* modificare ROAGEST v 2.0.6 + *!* Do Case + *!* Case "-1" $ gcGestPermis + *!* pcselect = [select * from vnom_GESTIUNI] + *!* pcFiltruOrig = [inactiv = 0 and nr_pag = ?gnTipGest] + *!* pcfiltru = [1=2] + *!* pcschema = [] + *!* pcorder = [nume_gestiune] + *!* pccoloane = [nume_gestiune,cgest] + *!* pcTitlu = [Alegeti gestiunea] + *!* pcTitluColoane = [Gestiune,Indicativ] + *!* locauta = cauta_alfa(pcselect,pcfiltru,pcschema,pcorder,pccoloane,pcTitlu,pcTitluColoane,"",.T.,pcFiltruOrig) && 11.07.2007 + *!* Otherwise + pcselect = [select * from vnom_GESTIUNI] + pcFiltruOrig = [inactiv = 0 and nr_pag = ?gnTipGest and id_gestiune in ] + ; + [(select g.id_gestiune from vgest_coresp_grupe_gestiuni g join ] + ; + [vgest_coresp_util_grupe u on g.id_grupe = u.id_grupe and u.id_util = ?gnIdUtil)] + pcfiltru = [1=2] + pcschema = [] + pcorder = [nume_gestiune] + pccoloane = [nume_gestiune,cgest] + pcTitlu = [Alegeti gestiunea] + pcTitluColoane = [Gestiune,Indicativ] + locauta = cauta_alfa(pcselect,pcfiltru,pcschema,pcorder,pccoloane,pcTitlu,pcTitluColoane,"",.T.,pcFiltruOrig ) && 11.07.2007 + *!* EndCase + *!* modificare ROAGEST v 2.0.6 ^ + This.pcnumegest = locauta.nume_gestiune + Case This.optGrupe.Value = 1 + pcselect = [select * from vGEST_nom_grupe] + pcFiltruOrig = [inactiv = 0] + pcfiltru = [1=2] + pcschema = [] + pcorder = [nume_grupa] + pccoloane = [nume_grupa] + pcTitlu = [Alegeti grupa de gestiuni] + pcTitluColoane = [Grupa] + locauta = cauta_alfa(pcselect,pcfiltru,pcschema,pcorder,pccoloane,pcTitlu,pcTitluColoane,"",.F.,pcFiltruOrig ) && 11.07.2007 + This.pcnumegest = locauta.nume_grupa + Case This.optArticol.Value = 1 + pcselect = [select * from vNom_articole] + pcFiltruOrig = [inactiv = 0] + pcfiltru = [1=2] + pcschema = [] + pcorder = [denumire,codmat,cont] + pccoloane = [denumire,codmat,cont] + pcTitlu = [Alegeti articolul] + pcTitluColoane = [Articol,Cod material,Cont] + locauta = cauta_alfa(pcselect,pcfiltru,pcschema,pcorder,pccoloane,pcTitlu,pcTitluColoane,"",.T.,pcFiltruOrig ) && 11.07.2007 + This.pcnumegest = locauta.denumire + Otherwise + amessagebox("Nu ati ales criteriul de grupare!",0+48,"Atentie") + Thisform.ed_tx_simplu1.SetFocus() + Return + Endcase + + This._txtgestiuni.Refresh + This.orezult = locauta + + ENDPROC + + PROCEDURE do_excel + Private postocuri,pcschema,pcselect,pcfiltru,pcorder,osel,pcFiltruOriginal,pcGrupCont,pcGrupAcont,pcSelectStoc,pcgrupgest + Store [] To postocuri,pcFiltruOriginal,pcHeaderGrup,pcSelectStoc,pcGrupCont,pcGrupAcont,pcgrupgest + + thisform.make_cursor_listare() + + LOCAL lcFileName + lcFileName = "" + *!* THIS.creeaza_raport() + + If Used('crsStocuri') + If Reccount('crsStocuri') > 0 + Thisform.AlwaysOnTop=.F. + lcFileName = strtranx(this.lb_titlu_alb_b121.Caption, "([^a-zA-Z0-9])", [_] ) + export_xls('crsStocuri', lcFileName) + Thisform.AlwaysOnTop=.T. + Else + aMESSAGEBOX("Nu exista inregistrari pentru optiunile selectate!",0+48,"Atentie") + Endif + Use In crsStocuri + Endif + + Return .F. + + + + ENDPROC + + PROCEDURE do_listare + Local lcRaport, lcOrderGrup + Private postocuri,pcschema,pcselect,pcfiltru,pcorder,osel,pcFiltruOriginal,pcGrupCont,pcGrupAcont,pcGrupSubgrupa,pcSelectStoc,pcgrupgest,pcSubtitlu + Private pcConditieGrup, pcTotalGrup + Store [] To postocuri,pcFiltruOriginal,pcHeaderGrup,pcSelectStoc,pcGrupCont,pcGrupAcont,pcGrupSubgrupa,pcgrupgest,pcSubtitlu + Local llTotalUm, lcOrder2 + llTotalUm = (Thisform.ckTotalUM.Value = 1) + llSubgrupa = (Thisform.optsubgrupa.Value = 1) + llAcont = (Thisform.optAcont.Value = 1) + llCont = (Thisform.optCont.Value = 1) + pcConditieGrup = Iif(m.llCont, [+Padr(ALLTRIM(nvl(cont,'')), 4, ' ')], []) + Iif(m.llAcont, [+Padr(ALLTRIM(nvl(acont,'')), 4, ' ')], []) + Iif(m.llSubgrupa, [+Padr(ALLTRIM(nvl(subgrupa,'')), 50, ' ')], []) + If !Empty(m.pcConditieGrup) + pcConditieGrup = Substr(m.pcConditieGrup, 2) + ELSE + pcConditieGrup = ["1=1"] + Endif + + pcTotalGrup = Iif(m.llCont, "+' Cont: '+ALLTRIM(nvl(cont,''))", "") + Iif(m.llAcont, "+' Analitic: '+IIF(EMPTY(nvl(acont,'')), 'Fara', ALLTRIM(nvl(acont,'')))", "") + Iif(m.llSubgrupa, "+' Subgrupa: '+IIF(EMPTY(nvl(subgrupa,'')), 'Fara', ALLTRIM(nvl(subgrupa,'')))", "") + lcOrderGrup = Iif(m.llCont, ",cont", "") + Iif(m.llAcont, ",acont", "") + Iif(m.llSubgrupa, ",subgrupa", "") + If !Empty(m.lcOrderGrup) + lcOrderGrup = Substr(m.lcOrderGrup, 2) + ENDIF + + lcOrder2 = IIF(!Empty(m.lcOrderGrup), m.lcOrderGrup + ",", "") + Iif(This.optOrder.Value = 1, [codmat,denumire,serie,], [denumire,codmat,serie,]) + + Thisform.make_cursor_listare() + + If Used('crsStocuri') + pcGrupCont = Strtran(m.pcGrupCont,'a.','',1,1,1) + pcGrupAcont = Strtran(m.pcGrupAcont,'a.','',1,1,1) + + + If Inlist(gnTipGest,6,7) + If This.ckPretAchi.Value = 0 + lcRaport = [rap_stocvanz_grup.FRX] + Else + x = xmenu('Stoc grupat dupa pret achizitie, pret vanzare;Stoc grupat dupa pret achizitie, pret vanzare - simplu') + If x = 1 + lcRaport = [rap_stocvanzachi_grup.FRX] + Else + lcRaport = [rap_stocvanzachi_simplu_grup.FRX] + If Used('crsStocuri') + Delete From crsStocuri Where g4 <> 0 And g1 <> 0 And g5 = 0 + Endif + Endif + Endif + Else + If !m.llTotalUm + * Creez totaluri pe cont + acont + subgrupa + Select * From crsStocuri Where g4 = 0 Into Cursor crsStocuriTemp && doar articolele, fara subtotaluri pe unitati de masura + USE IN (SELECT('crsStocuri')) + + lcOrder2 = IIF(RIGHT(m.lcOrder2, 1) = ",", LEFT(m.lcOrder2, LEN(m.lcOrder2) - 1),m.lcOrder2) + Select * From crsStocuriTemp Into Cursor crsStocuri Order By &lcOrder2 + USE IN (SELECT('crsStocuriTemp')) + lcRaport = [rap_stocachi_grup3.FRX] && raport stoc fara total pe unitati de masura + ELSE + lcRaport = [rap_stocachi_grup.FRX] && raport stoc cu total pe unitati de masura + Endif + ENDIF && Inlist(gnTipGest,6,7) + + pcTitlu = Thisform.ctitlu + pcDataora = get_Ora(2) + pcSubtitlu = Thisform.csubtitlu + + If Reccount('crsStocuri') > 0 + Thisform.AlwaysOnTop=.F. + Select crsStocuri + Keyboard '{CTRL+F10}' + goExport.export2frx([crsStocuri], m.lcRaport, , , , , , .T.) + *Report Format &lcRaport To Printer Prompt Noconsole Preview + + Thisform.AlwaysOnTop=.T. + Else + aMESSAGEBOX("Nu exista inregistrari pentru optiunile selectate!",0+48,"Atentie") + Endif + Use In crsStocuri + Endif + + Return .F. + + ENDPROC + + PROCEDURE make_cursor_listare + Local lnOrderType + lnOrderType = This.optOrder.Value && 1 = CODMAT, DENUMIRE; 2 = DENUMIRE, CODMAT + + Local lcPretAchizitie,lcColoanaPretAchizitie && le folosesc la gestiunea la pret de vanzare + Store '' To lcPretAchizitie,lcColoanaPretAchizitie + + + If Inlist(gnTipGest, 6,7) + If Thisform.ckPretAchi.Value= 1 + lcPretAchizitie = [a.pret] + lcColoanaPretAchizitie = [pret] + Endif + lcPret = [a.pretv+a.tvav] + lcColoanaPret = [pretv] + Else + lcPret = [a.pret] + lcColoanaPret = [pret] + Endif + + If Thisform.optPerioada.Value = 1 + Thisform.ddatainit={} + Thisform.ddatafinal = {} + Else + Thisform.ddatainit = Thisform.txtData1.Value + Thisform.ddatafinal = Thisform.txtData2.Value + Endif + + lcSelectieCont = [NVL(a.cont,'')] + lcSelectieAcont = [NVL(a.acont,'')] + lcSelectieSubgrupa = [subgrupa] + lcSelectieArticol = [b.codmat,b.id_articol,b.denumire,a.serie] + lcSelectieUM = [b.um,b.cant_bax,b.um2] + lcSelectieGestiune = [c.id_gestiune, c.nume_gestiune, c.cgest] + lcSelectieAltele = [] + + osel = This.orezult + pcHeaderGrup = [] + pcGrupGest = [EOF()] + pcGrupCont = [EOF()] + pcGrupAcont = [EOF()] + pcGrupSubgrupa = [EOF()] + pcFiltruOriginal = [2=2] + + lcOrder = [] + lcGroup = [] + + lcSelectG1 = [-1 as g1,] + lcSelect1 = [] + lcSelectG2 = [-1 as g2,] + lcSelect2 = [] + lcSelectG3 = [-1 as g3,] + lcSelect3 = [] + lcSelectG31 = [-1 as g31,] + lcSelect31 = [] + + lcGroupG1 = [] + lcGroupCont = [] + lcGroupAcont = [] + lcGroupSubgrupa = [] + lcOrder2 = Iif(lnOrderType = 1, [b.codmat,b.denumire,a.serie,], [b.denumire,b.codmat,a.serie,]) + + If This.optCont.Value = 1 + pcGrupCont = lcSelectieCont + lcSelectG2 = [grouping_id(] + lcSelectieCont +[) as g2,] + lcSelect2 = lcSelectieCont + [ as cont,] + lcGroupCont = lcSelectieCont + [,] + *!* lcOrder = lcOrder + [g2,] + *!* lcOrder2 = lcSelectieCont + [,] + lcOrder = lcOrder + lcSelectieCont + [,g2,] + Endif + + If This.optAcont.Value = 1 + pcGrupAcont = lcSelectieAcont + lcSelectG3 = [grouping_id(] + lcSelectieAcont + [) as g3,] + lcSelect3 = lcSelectieAcont + [ as acont,] + lcGroupAcont = lcSelectieAcont + [,] + lcOrder = lcOrder + lcSelectieAcont + [,g3,] + *!* lcOrder = lcOrder + [g3,] + *!* lcOrder2 = lcSelectieAcont + [,] + Endif + If This.optSubgrupa.Value = 1 + pcGrupSubgrupa = lcSelectieSubgrupa + lcSelectG31 = [grouping_id(] + lcSelectieSubgrupa + [) as g31,] + lcSelect31 = lcSelectieSubgrupa + [ as subgrupa,] + lcGroupSubgrupa = lcSelectieSubgrupa + [,] + lcOrder = lcOrder + lcSelectieSubgrupa + [,g31,] + + Endif + + + Do Case + Case This.optgestiuni.Value = 1 + If Type('osel')#'O' + aMESSAGEBOX("Alegeti gestiunea!",0+48,"Atentie") + Return .F. + Endif + + If Alltrim(osel.nume_gestiune) # [] + nGest = osel.id_gestiune + pcFiltruOriginal = pcFiltruOriginal + [ and a.id_gestiune = ?nGest] + Else + pcFiltruOriginal = pcFiltruOriginal + [ and a.id_gestiune in ] + ; + [(select g.id_gestiune from vgest_coresp_grupe_gestiuni g join ] + ; + gcs + [.vgest_coresp_util_grupe u on g.id_grupe = u.id_grupe and u.id_util = ?gnIdUtil)] + Endif + *!* + pcHeaderGrup = [Gestiune : ] + pcGrupGest = [nume_gestiune] + lcSelectG1 = [grouping_id(] + lcSelectieGestiune + [) as g1,] + lcSelect1 = lcSelectieGestiune + [,] + lcGroupG1 = [(] + lcSelectieGestiune + [),] + lcSelectieAltele = lcSelectieArticol + [,] + lcSelectieUM + [,] + lcOrder = [g1,c.nume_gestiune,] + lcOrder + *!* lcOrder = [g1,] + lcOrder + *!* lcOrder2 = [c.nume_gestiune,] + lcOrder2 + *!* ^ + Case This.optGrupe.Value = 1 + If Type('osel')#'O' + aMESSAGEBOX('Alegeti grupa!',0+48,"Atentie") + Return .F. + Endif + If Alltrim(osel.nume_grupa) # [] + nGrupa = osel.id_grupe + pcFiltruOriginal = pcFiltruOriginal + [ and a.id_gestiune in (select id_gestiune from ] + gcs + [.vgest_coresp_grupe_gestiuni where id_grupe =?nGrupa)] + Endif + *!* + lcSelectieAltele = lcSelectieArticol + [,] + lcSelectieGestiune + [,] + lcSelectieUM + [,] + *!* ^ + Case This.optArticol.Value = 1 + If Type('osel')#'O' + aMESSAGEBOX('Alegeti articolul!',0+48,"Atentie") + Return .F. + Endif + + If Alltrim(osel.denumire) # [] + nArticol = osel.id_articol + pcFiltruOriginal = pcFiltruOriginal + [ and a.id_articol = ?nArticol] + Endif + *!* + pcGrupGest = [denumire] + pcHeaderGrup = [Articol : ] + lcGroupG1 = [(] + lcSelectieArticol + [),] + lcSelectG1 = [grouping_id(] + lcSelectieArticol + [) as g1,] + lcSelect1 = lcSelectieArticol + [,] + lcSelectieAltele = lcSelectieGestiune + [,] + lcSelectieUM + [,] + lcOrder = Iif(lnOrderType = 1, [g1,b.codmat,b.denumire,], [g1,b.denumire,b.codmat,]) + lcOrder + lcOrder2 = [] + *!* lcOrder = [g1,] + lcOrder + *!* lcOrder2 = [b.denumire,b.codmat,] + lcOrder2 + *!* ^ + Otherwise + lcSelectieAltele = lcSelectieGestiune + [,] + lcSelectieArticol + [,] + lcSelectieUM + [,] + Endcase + + If This.ck_stoc.Value = 1 + pcFiltruOriginal = pcFiltruOriginal + [ and a.cants + a.cant - a.cante<>0] + Endif + + pcselect = [select ] + lcSelectG1 + lcSelectG2 + lcSelectG3 + lcSelectG31 + ; + [grouping_id(] + lcPret + [,] + If !Empty(lcPretAchizitie) And !Empty(lcColoanaPretAchizitie) + pcselect = pcselect + lcPretAchizitie +[ , ] + Endif + pcselect = pcselect +lcSelectieAltele + [a.datain) as g4,] + ; + [grouping_id(b.um2, b.um) as g5,] + ; + lcSelect1 + lcSelect2 + lcSelect3 + lcSelect31 + ; + lcSelectieAltele + lcPret + [ as ] + lcColoanaPret + [,] + If !Empty(lcPretAchizitie) And !Empty(lcColoanaPretAchizitie) + pcselect = pcselect + lcPretAchizitie +[ as ]+ lcColoanaPretAchizitie +[,] + Endif + *!* modificare 07.11.2012 : la valoare_stoc am pus gnPc in loc de gnPa + pcselect = pcselect +[a.datain,NVL(b.um2, b.um) as um_final,] + ; + [sum(a.cants) as cants,sum(a.cant) as cant,sum(a.cante) as cante,] + ; + [sum(a.cants * b.cant_bax) as cants2,sum(a.cant * b.cant_bax) as cant2,sum(a.cante * b.cant_bax) as cante2,] + ; + [sum(a.cants * NVL2(b.um2, b.cant_bax, 1)) as cants3,sum(a.cant * NVL2(b.um2, b.cant_bax, 1)) as cant3,] + ; + [sum(a.cante * NVL2(b.um2, b.cant_bax, 1)) as cante3,] + ; + [sum(round((a.cants+a.cant-a.cante)*(] + lcPret + [),?gnPc)) as valoare_stoc ] + If !Empty(lcPretAchizitie) And !Empty(lcColoanaPretAchizitie) + *!* modificare 07.11.2012 : am pus gnPc in loc de gnPa + pcselect = pcselect +[,sum(round((a.cants+a.cant-a.cante)*(] + lcPretAchizitie + [),?gnPc)) as valstocachizitie ] + Endif + pcselect = pcselect +[from ] + + lcCondSucursala = Strtran(gcCondSucursala,[id_sucursala],[a.id_sucursala]) + + If Thisform.optPerioada.Value = 1 + Thisform.csubtitlu = 'Luna: ' + Alltrim(Str(gnLuna))+ ' / ' + Alltrim(Str(gnAn)) + pcselect = pcselect + [stoc a ] + Else + Thisform.select_stoc() + pcselect = pcselect + [(] + pcSelectStoc + [) a ] + lcCondSucursala = "" && am pus deja sucursala in select + Thisform.csubtitlu = 'Perioada: '+Allt(Dtoc(This.ddatainit))+' - '+Allt(Dtoc(This.ddatafinal)) + Endif + pcselect = pcselect +[join nom_articole b on a.id_articol = b.id_articol ] + ; + [ LEFT JOIN VGEST_ART_SBGR SG ON B.ID_SUBGRUPA = SG.ID_SUBGRUPA ] + ; + [ join nom_gestiuni c on a.id_gestiune = c.id_gestiune and c.nr_pag = ?gnTipGest ] + pcschema=[''] + + pcfiltru = Iif(Thisform.optPerioada.Value = 1, [a.an = ?gnAn and a.luna = ?gnLuna], []) + lcCondSucursala + + pcorder = lcOrder + [g4,g5,] + lcOrder2 + [b.um,b.um2,] + lcPret + llAfiseaza = .F. + pcGroup = [NVL(b.um2, b.um),rollup((b.um,b.cant_bax,b.um2),] + lcGroupG1 + lcGroupCont + lcGroupAcont + lcGroupSubgrupa + ; + [(] + lcPret + [, ] + If !Empty(lcPretAchizitie) And !Empty(lcColoanaPretAchizitie) + pcGroup = pcGroup + lcPretAchizitie +[,] + Endif + pcGroup = pcGroup + lcSelectieAltele + [NVL(b.um2, b.um),a.datain))] + + gencursor('postocuri','crsStocuri',pcselect,pcfiltru,pcschema,pcorder,llAfiseaza,pcGroup, .T., pcFiltruOriginal) + postocuri.ca_baza1.afisare() + *!* Select crsStocuri + *!* Copy To c:\stocuri + ENDPROC + + PROCEDURE select_stoc + Local ldDataInit, ldDataFinal, lcCondSucursala + ldDataInit = thisform.ddatainit + ldDataFinal = thisform.ddatafinal + lcCondSucursala = Lower(gcCondSucursala) + + ldDataInit0 = Gomonth(Date(Year(ldDataInit), Month(ldDataInit), 1),-1) + Text to pcSelectStoc textmerge noshow + select id_articol, + serie, + id_gestiune, + cont, + acont, + pret, + <> + Max(datain) as datain, + Max(dataout) as dataout, + sum(cants) as cants, + sum(cant) as cant, + sum(cante) as cante + from (select s.id_articol, + s.serie, + s.id_gestiune, + s.cont, + s.acont, + s.pret, + s.datain, + s.dataout, + <> + s.cants+s.cant-s.cante as cants, + 0 as cant, + 0 as cante + from stoc s + join nom_gestiuni g on s.id_gestiune = g.id_gestiune + join nom_articole a on s.id_articol = a.id_articol + where s.an = <> + and s.luna = <> + <> + < 6 and g.nr_pag <> 7 ')>> + union all + select r1.id_articol, + r1.serie, + r1.id_gestiune, + r1.cont, + r1.acont, + r1.pret, + max(case + when r1.cant <> 0 then + r1.dataact + else + cast(null as date) + end) as datain, + max(case + when r1.cante <> 0 then + r1.dataact + else + cast(null as date) + end) as dataout, + <> + sum(r1.cant - r1.cante) as cants, + 0 as cant, + 0 as cante + from rul r1 + join nom_gestiuni g1 on r1.id_gestiune = g1.id_gestiune + where r1.an = <> + and r1.luna = <> + and trunc(r1.dataact) < to_date('<>', 'yyyymmdd') + and r1.sters = 0 + <> + < 6 and g1.nr_pag <> 7')>> + group by r1.id_articol, + r1.serie, + r1.id_gestiune, + r1.cont, + r1.acont, + r1.pret + <> + union all + select r2.id_articol, + r2.serie, + r2.id_gestiune, + r2.cont, + r2.acont, + r2.pret, + max(case + when r2.cant <> 0 then + r2.dataact + else + cast(null as date) + end) as datain, + max(case + when r2.cante <> 0 then + r2.dataact + else + cast(null as date) + end) as dataout, + <> + 0 as cants, + sum(r2.cant) as cant, + sum(r2.cante) as cante + from rul r2 + left join nom_gestiuni g2 on r2.id_gestiune = g2.id_gestiune + where trunc(r2.dataact) between to_date('<>', 'yyyymmdd') and + to_date('<>', 'yyyymmdd') + and r2.sters = 0 + <> + < 6 AND g2.nr_pag <> 7')>> + group by r2.id_articol, + r2.serie, + r2.id_gestiune, + r2.cont, + r2.acont, + r2.pret + <>) + group by id_articol, + serie, + id_gestiune, + cont, + acont, + pret + <> + EndText + ENDPROC + + PROCEDURE Show + LPARAMETERS nStyle + this.ctitlu = [LISTA STOCURILOR IN LUNA ] + PADL(ALLTRIM(STR(gnLuna)),2,'0') + [.] + ALLTRIM(STR(gnAn)) + If INLIST(gnTipGest, 6,7) + thisform.ckPretAchi.Visible = .t. + ENDIF + ENDPROC + + PROCEDURE OptArticol.InteractiveChange + thisform.pcnumegest = [] + thisform._txtgestiuni.refresh + thisform.optGestiuni.Value = 0 + thisform.optgrupe.Value = 0 + thisform.ResetToDefault('orezult') + ENDPROC + + PROCEDURE optgestiuni.InteractiveChange + thisform.pcnumegest = [] + thisform.optGrupe.Value = 0 + thisform.optArticol.Value = 0 + thisform._txtgestiuni.refresh + thisform.ResetToDefault('orezult') + ENDPROC + + PROCEDURE OptGrupe.InteractiveChange + thisform.pcnumegest = [] + thisform._txtgestiuni.refresh + thisform.optGestiuni.Value = 0 + thisform.optArticol.Value = 0 + thisform.ResetToDefault('orezult') + ENDPROC + + PROCEDURE OptPerioada.Valid + *!* Thisform.caut_anluna1.Visible = Iif(This.Value=1,.T.,.F.) + + Thisform.txtData1.Visible = Iif(This.Value=2,.T.,.F.) + Thisform.txtData2.Visible = Iif(This.Value=2,.T.,.F.) + If This.Value=2 + Thisform.txtData1.SetFocus + IF EMPTY(Thisform.txtData1.Value) + Thisform.txtData1.Value = Date(gnAn,gnLuna,1) + ENDIF + IF EMPTY(Thisform.txtData2.Value) + + Thisform.txtData2.Value = Gomonth(Thisform.txtData1.Value,1)-1 + ENDIF + Endif + ENDPROC + + PROCEDURE txtData1.LostFocus + If Empty(Thisform.txtData2.Value) + Thisform.txtData2.Value=This.Value + Endif + ENDPROC + + PROCEDURE txtData1.Valid + *!* IF !empty(this.value) + *!* lcLuna=SUBSTR(ALLTRIM(this.Value),1,2) + *!* lcAn=SUBSTR(ALLTRIM(this.Value),3) + *!* IF EMPTY(lcAn) OR LEN(lcAn)<4 + *!* lcAn=ALLTRIM(STR(YEAR(DATE()))) + *!* this.value=PADL(lcLuna,2,'0')+lcAn + *!* ENDIF + *!* IF TYPE("DATE(VAL(lcAn),VAL(lcLuna),1)")!="D" + *!* aMESSAGEBOX("Data invalida!",0+16,"Eroare") + *!* RETURN 0 + *!* ENDIF + *!* ENDIF + ENDPROC + + PROCEDURE txtData2.LostFocus + If Empty(Thisform.txtData1.Value) + Thisform.txtData1.Value=This.Value + Endif + ENDPROC + + PROCEDURE txtData2.Valid + *!* IF !empty(this.value) + *!* lcLuna=SUBSTR(ALLTRIM(this.Value),1,2) + *!* lcAn=SUBSTR(ALLTRIM(this.Value),3) + *!* IF EMPTY(lcAn) OR LEN(lcAn)<4 + *!* lcAn=ALLTRIM(STR(YEAR(DATE()))) + *!* this.value=PADL(lcLuna,2,'0')+lcAn + *!* ENDIF + *!* IF TYPE("DATE(VAL(lcAn),VAL(lcLuna),1)")!="D" + *!* aMESSAGEBOX("Data invalida!",0+16,"Eroare") + *!* RETURN 0 + *!* ENDIF + *!* ENDIF + ENDPROC + +ENDDEFINE + +DEFINE CLASS pagefr_config AS pageframe + *< CLASSDATA: Baseclass="pageframe" Timestamp="" Scale="Pixels" Uniqueid="" /> + + * + *m: activare_pagina + *m: setare_pagina + *p: cul_activa + *p: cul_fundal + *p: cul_inactiva + * + + * + cul_activa = + cul_fundal = + cul_inactiva = + ErasePage = .T. + Height = 256 + Name = "pagefr_config" + PageCount = 3 + TabStyle = 1 + Themes = .F. + Width = 712 + Page1.BackColor = 255,255,255 + Page1.Caption = "Grupe de gestiuni" + Page1.ForeColor = 0,0,0 + Page1.Name = "pag1" + Page2.BackColor = 255,255,255 + Page2.Caption = "Gestiuni" + Page2.ForeColor = 0,0,0 + Page2.Name = "pag2" + Page3.BackColor = 255,255,255 + Page3.Caption = "Drepturi de acces pe grupe de gestiuni" + Page3.Name = "pag3" + * + + PROCEDURE activare_pagina + PARAMETERS npag + + FOR i=1 TO this.PageCount + cpag='this.pag'+ALLTRIM(STR(i))+'.' + IF i<>npag + &cpag.BackColor=this.cul_inactiva + &cpag.ForeColor=this.cul_activa + &cpag.FontBold=.f. + else + &cpag.BackColor=this.cul_activa + &cpag.ForeColor=this.cul_inactiva + &cpag.FontBold=.t. + ENDIF + NEXT + ENDPROC + + PROCEDURE Init + this.cul_fundal = RGB(255,255,255) + this.cul_activa = RGB(255,255,255) + this.cul_inactiva = RGB(0,64,128) + + this.SetAll('backcolor',this.cul_fundal,'page') + + + ENDPROC + + PROCEDURE setare_pagina + ENDPROC + + PROCEDURE pag1.Activate + this.Parent.activare_pagina(1) + + ENDPROC + + PROCEDURE pag2.Activate + this.Parent.activare_pagina(2) + ENDPROC + + PROCEDURE pag3.Activate + this.Parent.activare_pagina(3) + ENDPROC + +ENDDEFINE diff --git a/clase/configurare_doc.vc2 b/clase/configurare_doc.vc2 new file mode 100644 index 0000000..651bb87 --- /dev/null +++ b/clase/configurare_doc.vc2 @@ -0,0 +1,1028 @@ +*-------------------------------------------------------------------------------------------------------------------------------------------------------- +* (EN) AUTOGENERATED - ATTENTION!! - NOT INTENDED FOR EXECUTION!! USE ONLY FOR MERGING CHANGES AND STORING WITH SCM TOOLS!! +*-------------------------------------------------------------------------------------------------------------------------------------------------------- +*< FOXBIN2PRG: Version="1.21" SourceFile="configurare_doc.vcx" CPID="1252" /> (Solo para binarios VFP 9 / Only for VFP 9 binaries) +* +* +DEFINE CLASS cus_odata_campdoc AS _cusodatabase OF "_cus_odata_base.vcx" + *< CLASSDATA: Baseclass="custom" Timestamp="" Scale="Pixels" Uniqueid="" /> + + * + Name = "cus_odata_contract" + * + + PROCEDURE make_sql + Lparameters toRec,tnId + + lcActiune = Alltrim(This.cActiune) + + If Inlist(lcActiune, "UPDATE",'INSERT') And Type('toRec') != "O" + Return .F. + Endif + + If Inlist(lcActiune, "UPDATE",'DELETE') And Type('tnId') != "N" + Return .F. + Endif + + If Inlist(lcActiune, "UPDATE",'DELETE') + lcId = Alltrim(Str(tnId)) + + Endif + If Inlist(lcActiune, "UPDATE",'INSERT') + lcvariabila = NVL(UPPER(ALLTRIM(torec.variabila)),"") + lcDescriere = NVL(UPPER(ALLTRIM(torec.descriere)),"") + lcValoare = NVL(UPPER(ALLTRIM(torec.valoare)),"") + lcTabela = NVL(UPPER(ALLTRIM(torec.tabela)),"") + lcCamp_id = NVL(UPPER(ALLTRIM(torec.camp_id)),"") + lnDinSchema = Alltrim(Str(torec.dinschema)) + + + Endif + + + Do Case + Case lcActiune = "INSERT" + + lcSql = [INSERT INTO sal_contract (variabila,descriere,valoare,tabela,camp_id,dinschema) VALUES ('] + lcvariabila + [','] + lcDescriere + ; + [','] + lcValoare + [','] + lcTabela + [','] + lcCamp_id + [',] + lnDinSchema + [)] + + + Case lcActiune = "UPDATE" + + lcSql = [UPDATE sal_contract SET variabila = '] + lcvariabila + ; + [',descriere = '] + lcDescriere + [',valoare = '] + lcValoare + ; + [',tabela = '] + lcTabela + [',camp_id = '] + lcCamp_id + [',dinschema = ] + lnDinSchema + [ where id_contract = ] + lcId + + Case lcActiune = "DELETE" + + lcSql = [UPDATE sal_contract set sters = 1 where id_contract = ] + lcId + Endcase + + This.csql = lcSql + + ENDPROC + +ENDDEFINE + +DEFINE CLASS frm_campdoc AS frm_termin_renunt OF "_frm_child.vcx" + *< CLASSDATA: Baseclass="form" Timestamp="" Scale="Pixels" Uniqueid="" /> + + *-- OBJECTDATA items order determines ZOrder / El orden de los items OBJECTDATA determina el ZOrder + *< OBJECTDATA: ObjPath="Ct_grid_search1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="Ct_grid_search1.But_modifica1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="Ct_grid_search1.But_sterge1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="Ct_grid_search1.But_nou1" UniqueID="" Timestamp="" /> + + * + BorderStyle = 1 + DoCreate = .T. + Height = 387 + Name = "frm_campdoc" + Width = 522 + _shape1.Anchor = 10 + _shape1.Height = 29 + _shape1.Left = 0 + _shape1.Name = "_shape1" + _shape1.Top = 0 + _shape1.Width = 521 + _shape2.Height = 29 + _shape2.Left = 490 + _shape2.Name = "_shape2" + _shape2.Top = 0 + _shape2.Width = 31 + Lb_titlu_alb_b121.Caption = "CONFIGURARE CÂMPURI DOCUMENTE" + Lb_titlu_alb_b121.Name = "Lb_titlu_alb_b121" + BUT_TERMIN1.Anchor = 9 + BUT_TERMIN1.Left = 489 + BUT_TERMIN1.Name = "BUT_TERMIN1" + BUT_TERMIN1.Top = 1 + GRIDSORT1.Name = "GRIDSORT1" + But_renunt1.Anchor = 9 + But_renunt1.Left = 458 + But_renunt1.Name = "But_renunt1" + But_renunt1.Top = 1 + But_renunt1.Visible = .F. + * + + ADD OBJECT 'Ct_grid_search1' AS ct_grid_search WITH ; + Anchor = 15, ; + cnumecursor = sal_v_contract, ; + Height = 346, ; + Left = 7, ; + Name = "Ct_grid_search1", ; + Top = 36, ; + Width = 504, ; + _GRID1.Height = 281, ; + _GRID1.Left = 6, ; + _GRID1.Name = "_GRID1", ; + _GRID1.Top = 62, ; + _GRID1.Width = 491, ; + Titlu.Name = "Titlu", ; + Cb_tx_cautare1.Criteriu.Name = "Criteriu", ; + Cb_tx_cautare1.Left = 31, ; + Cb_tx_cautare1.Name = "Cb_tx_cautare1", ; + Cb_tx_cautare1.Text.Name = "Text", ; + Cb_tx_cautare1.Top = 31 + *< END OBJECT: ClassLib="ferestre_cere_date.vcx" BaseClass="container" /> + + ADD OBJECT 'Ct_grid_search1.But_modifica1' AS but_modifica WITH ; + Anchor = 9, ; + caction = do_modifica, ; + Left = 437, ; + Name = "But_modifica1", ; + Top = 31, ; + Visible = .T., ; + ZOrderSet = 7 + *< END OBJECT: ClassLib="cmd_butoane.vcx" BaseClass="commandbutton" /> + + ADD OBJECT 'Ct_grid_search1.But_nou1' AS but_nou WITH ; + Anchor = 9, ; + Left = 408, ; + Name = "But_nou1", ; + Top = 31, ; + ZOrderSet = 6 + *< END OBJECT: ClassLib="cmd_butoane.vcx" BaseClass="commandbutton" /> + + ADD OBJECT 'Ct_grid_search1.But_sterge1' AS but_sterge WITH ; + Anchor = 9, ; + caction = do_sterge, ; + Left = 465, ; + Name = "But_sterge1", ; + Top = 31, ; + Visible = .T., ; + ZOrderSet = 8 + *< END OBJECT: ClassLib="cmd_butoane.vcx" BaseClass="commandbutton" /> + + PROCEDURE do_adauga + Private pniesire + pniesire=0 + Select sal_v_contract + Scatter Name loRec Blank + + Do Adauga_Modifica_Inregistrare With "campdoc",loRec,,"INSERT",,"addcon" + If pniesire=1 + This.ct_grid_search1.initializare(.t.) + Endif + ENDPROC + + PROCEDURE do_modifica + Private pniesire + pniesire=0 + Select sal_v_contract + Scatter Name loRec + + Do Adauga_Modifica_Inregistrare With "campdoc",loRec,lorec.id_contract,"UPDATE",,"addcon" + If pniesire=1 + This.ct_grid_search1.initializare(.t.) + Endif + ENDPROC + + PROCEDURE do_sterge + Select sal_v_contract + Scatter Name lorec + Do sterge_inregistrare With 'campdoc',lorec.id_contract + This.ct_grid_search1.initializare(.T.) + Release lorec + ENDPROC + + PROCEDURE Show + LPARAMETERS nStyle + + this.ct_GRID_SEARCH1.initializare(.t.) + ENDPROC + + PROCEDURE _shape1.DblClick + + IF thisform.WindowState= 2 + thisform.WindowState = 0 + ELSE + thisform.WindowState= 2 + ENDIF + + ENDPROC + +ENDDEFINE + +DEFINE CLASS frm_campdoc_nou AS frm_termin_renunt OF "_frm_child.vcx" + *< CLASSDATA: Baseclass="form" Timestamp="" Scale="Pixels" Uniqueid="" /> + + *-- OBJECTDATA items order determines ZOrder / El orden de los items OBJECTDATA determina el ZOrder + *< OBJECTDATA: ObjPath="Clb_tx_simplu4" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="Clb_tx_simplu1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="Clb_tx_simplu2" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="Clb_tx_simplu3" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="Clb_tx_simplu5" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="Clb_tx_simplu6" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="Cus_odata_campdoc1" UniqueID="" Timestamp="" /> + + * + *p: nid + *p: orec + * + + * + BorderStyle = 1 + DoCreate = .T. + Height = 229 + Name = "frm_campdoc_nou" + nid = 0 + orec = + Width = 373 + _shape1.Name = "_shape1" + _shape2.Height = 29 + _shape2.Left = 312 + _shape2.Name = "_shape2" + _shape2.Top = 0 + _shape2.Width = 62 + Lb_titlu_alb_b121.Caption = "Configurare câmp document" + Lb_titlu_alb_b121.Name = "Lb_titlu_alb_b121" + Lb_titlu_alb_b121.TabIndex = 9 + BUT_TERMIN1.Name = "BUT_TERMIN1" + BUT_TERMIN1.TabIndex = 7 + Gridsort1.Height = 17 + Gridsort1.Left = 228 + Gridsort1.Name = "Gridsort1" + Gridsort1.Top = 204 + Gridsort1.Width = 36 + But_renunt1.Name = "But_renunt1" + But_renunt1.TabIndex = 8 + * + + ADD OBJECT 'Clb_tx_simplu1' AS clb_tx_simplu WITH ; + Height = 29, ; + Left = 12, ; + Name = "Clb_tx_simplu1", ; + TabIndex = 2, ; + Top = 73, ; + Width = 348, ; + TEXT_SIMPLU1.ControlSource = "porec.descriere", ; + TEXT_SIMPLU1.Height = 23, ; + TEXT_SIMPLU1.Left = 101, ; + TEXT_SIMPLU1.Name = "TEXT_SIMPLU1", ; + TEXT_SIMPLU1.Top = 3, ; + TEXT_SIMPLU1.Width = 235, ; + LB_SIMPLU1.Caption = "Descriere :", ; + LB_SIMPLU1.Name = "LB_SIMPLU1" + *< END OBJECT: ClassLib="lb_tx.vcx" BaseClass="container" /> + + ADD OBJECT 'Clb_tx_simplu2' AS clb_tx_simplu WITH ; + Height = 29, ; + Left = 12, ; + Name = "Clb_tx_simplu2", ; + TabIndex = 3, ; + Top = 101, ; + Width = 348, ; + TEXT_SIMPLU1.ControlSource = "porec.valoare", ; + TEXT_SIMPLU1.Height = 23, ; + TEXT_SIMPLU1.Left = 101, ; + TEXT_SIMPLU1.Name = "TEXT_SIMPLU1", ; + TEXT_SIMPLU1.Top = 3, ; + TEXT_SIMPLU1.Width = 235, ; + LB_SIMPLU1.Caption = "Valoare :", ; + LB_SIMPLU1.Name = "LB_SIMPLU1" + *< END OBJECT: ClassLib="lb_tx.vcx" BaseClass="container" /> + + ADD OBJECT 'Clb_tx_simplu3' AS clb_tx_simplu WITH ; + Height = 29, ; + Left = 12, ; + Name = "Clb_tx_simplu3", ; + TabIndex = 4, ; + Top = 129, ; + Width = 348, ; + TEXT_SIMPLU1.ControlSource = "porec.tabela", ; + TEXT_SIMPLU1.Height = 23, ; + TEXT_SIMPLU1.Left = 101, ; + TEXT_SIMPLU1.Name = "TEXT_SIMPLU1", ; + TEXT_SIMPLU1.Top = 3, ; + TEXT_SIMPLU1.Width = 235, ; + LB_SIMPLU1.Caption = "Tabel :", ; + LB_SIMPLU1.Name = "LB_SIMPLU1" + *< END OBJECT: ClassLib="lb_tx.vcx" BaseClass="container" /> + + ADD OBJECT 'Clb_tx_simplu4' AS clb_tx_simplu WITH ; + Height = 29, ; + Left = 12, ; + Name = "Clb_tx_simplu4", ; + TabIndex = 1, ; + Top = 45, ; + Width = 348, ; + Text_simplu1.ControlSource = "porec.variabila", ; + Text_simplu1.Height = 23, ; + Text_simplu1.Left = 101, ; + Text_simplu1.Name = "Text_simplu1", ; + Text_simplu1.Top = 3, ; + Text_simplu1.Width = 235, ; + Lb_simplu1.Caption = "Reper :", ; + Lb_simplu1.Name = "Lb_simplu1" + *< END OBJECT: ClassLib="lb_tx.vcx" BaseClass="container" /> + + ADD OBJECT 'Clb_tx_simplu5' AS clb_tx_simplu WITH ; + Height = 29, ; + Left = 12, ; + Name = "Clb_tx_simplu5", ; + TabIndex = 5, ; + Top = 157, ; + Width = 348, ; + Text_simplu1.ControlSource = "porec.camp_id", ; + Text_simplu1.Height = 23, ; + Text_simplu1.Left = 101, ; + Text_simplu1.Name = "Text_simplu1", ; + Text_simplu1.Top = 3, ; + Text_simplu1.Width = 235, ; + Lb_simplu1.Caption = "Camp_ID :", ; + Lb_simplu1.Name = "Lb_simplu1" + *< END OBJECT: ClassLib="lb_tx.vcx" BaseClass="container" /> + + ADD OBJECT 'Clb_tx_simplu6' AS clb_tx_simplu WITH ; + Height = 29, ; + Left = 12, ; + Name = "Clb_tx_simplu6", ; + TabIndex = 6, ; + Top = 185, ; + Width = 147, ; + Text_simplu1.ControlSource = "porec.dinschema", ; + Text_simplu1.Height = 23, ; + Text_simplu1.Left = 101, ; + Text_simplu1.Name = "Text_simplu1", ; + Text_simplu1.Top = 3, ; + Text_simplu1.Width = 43, ; + Lb_simplu1.Caption = "Din Schema :", ; + Lb_simplu1.Name = "Lb_simplu1" + *< END OBJECT: ClassLib="lb_tx.vcx" BaseClass="container" /> + + ADD OBJECT 'Cus_odata_campdoc1' AS cus_odata_campdoc WITH ; + Left = 182, ; + Name = "Cus_odata_campdoc1", ; + Top = 202 + *< END OBJECT: ClassLib="configurare_doc.vcx" BaseClass="custom" /> + + PROCEDURE inainte_de_do_termin + Local PLRETURN,lcActiune + This.but_TERMIN1.SetFocus() + lcActiune = This.cus_odata_campdoc1.cactiune + lcVariabila = Strtran(porec.variabila,[ ],[]) + Do Case + Case gnIdProgram = 75 And ; + NOT ((Substr(lcVariabila,1,1) = [N] And Type(Substr(lcVariabila,2,1)) = "N") Or ; + (Substr(lcVariabila,1,2) = [SS] And Type(Substr(lcVariabila,3,1)) = "N")) + amessagebox("Campul 'REPER' poate incepe doar cu N sau SS!",48,"Atentie") + Thisform.clb_tx_simplu4.teXT_SIMPLU1.SetFocus() + PLRETURN = .F. + Case gnIdProgram = 4 And ; + NOT ((Substr(lcVariabila,1,1) = [N] And Type(Substr(lcVariabila,2,1)) = "N") Or ; + (Substr(lcVariabila,1,1) = [S] And Type(Substr(lcVariabila,2,1)) = "N")) + amessagebox("Campul 'REPER' poate incepe doar cu N sau S!",48,"Atentie") + Thisform.clb_tx_simplu4.teXT_SIMPLU1.SetFocus() + PLRETURN = .F. + Case !INLIST(gnIdProgram,4,75) And ; + NOT (Substr(lcVariabila,1,1) = [N] And Type(Substr(lcVariabila,2,1)) = "N") + amessagebox("Campul 'REPER' poate incepe doar cu N!",48,"Atentie") + Thisform.clb_tx_simplu4.teXT_SIMPLU1.SetFocus() + PLRETURN = .F. + Otherwise + PLRETURN=This.cus_odata_campdoc1.salvare(This.OREC,This.NID) + Endcase + Return PLRETURN + + ENDPROC + + PROCEDURE Init + Lparameters toRec, tnId, tcActiune + + DoDefault() + + This.orec= toRec + This.nid = tnId + This.cus_odata_campdoc1.cactiune = tcActiune + ENDPROC + +ENDDEFINE + +DEFINE CLASS frm_configurare_doc AS _frmbase OF "_frm_base.vcx" + *< CLASSDATA: Baseclass="form" Timestamp="" Scale="Pixels" Uniqueid="" /> + + *-- OBJECTDATA items order determines ZOrder / El orden de los items OBJECTDATA determina el ZOrder + *< OBJECTDATA: ObjPath="sh_pas2" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="Ct_grid_search1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="lb_explicatie_pas2" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="sh_pas3" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="sh_pas4" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="ed_descriere" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="Clb_nume_fisier" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="Ct_cale_fisier" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="Cmd_executa1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="opt_tip_operatie" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="lb_pas1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="lb_pas2" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="But_reset1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="lb_pas3" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="lb_pas4" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="lb_explicatie_pas3" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="lb_explicatie_pas4" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="opt_document" UniqueID="" Timestamp="" /> + + * + *m: afiseaza_grid + *m: afiseaza_pas + *m: do_alege_calefisier + *m: do_alege_document + *m: do_alege_tip_operatie + *m: do_deschide_document + *m: do_selecteaza_document + *p: ccale_fisier + *p: cdescriere + *p: cnume_fisier + *p: cultimacale + *p: nid_entitate + *p: nid_referinta + *p: ntip + * + + * + ccale_fisier = + cdescriere = + cnume_fisier = + cultimacale = C:\ + DoCreate = .T. + Height = 417 + Name = "frm_configurare_doc" + nid_entitate = + nid_referinta = + ntip = + Width = 800 + WindowState = 2 + _shape1.Anchor = 11 + _shape1.Height = 29 + _shape1.Left = 0 + _shape1.Name = "_shape1" + _shape1.Top = 0 + _shape1.Width = 800 + _shape1.ZOrderSet = 6 + _shape2.Anchor = 9 + _shape2.Height = 29 + _shape2.Left = 729 + _shape2.Name = "_shape2" + _shape2.Top = 0 + _shape2.Width = 72 + _shape2.ZOrderSet = 7 + Lb_titlu_alb_b121.Caption = "Configurare documente" + Lb_titlu_alb_b121.Name = "Lb_titlu_alb_b121" + Lb_titlu_alb_b121.TabIndex = 11 + Lb_titlu_alb_b121.ZOrderSet = 8 + BUT_TERMIN1.Anchor = 9 + BUT_TERMIN1.Left = 767 + BUT_TERMIN1.Name = "BUT_TERMIN1" + BUT_TERMIN1.TabIndex = 10 + BUT_TERMIN1.Top = 1 + BUT_TERMIN1.ZOrderSet = 9 + Gridsort1.Left = 5 + Gridsort1.Name = "Gridsort1" + Gridsort1.Top = 42 + * + + ADD OBJECT 'But_reset1' AS but_reset WITH ; + Anchor = 9, ; + Left = 735, ; + Name = "But_reset1", ; + TabIndex = 14, ; + Top = 1, ; + ZOrderSet = 17 + *< END OBJECT: ClassLib="cmd_butoane.vcx" BaseClass="commandbutton" /> + + ADD OBJECT 'Clb_nume_fisier' AS clb_tx_simplu WITH ; + Anchor = 9, ; + BorderColor = 127,157,185, ; + Left = 434, ; + Name = "Clb_nume_fisier", ; + TabIndex = 6, ; + Top = 173, ; + Width = 314, ; + ZOrderSet = 11, ; + Text_simplu1.ControlSource = "Thisform.cnume_fisier", ; + Text_simplu1.Height = 23, ; + Text_simplu1.Left = 98, ; + Text_simplu1.Name = "Text_simplu1", ; + Text_simplu1.Top = 3, ; + Text_simplu1.Width = 213, ; + Lb_simplu1.Caption = "Nume fiºier", ; + Lb_simplu1.FontCharSet = 238, ; + Lb_simplu1.Name = "Lb_simplu1" + *< END OBJECT: ClassLib="lb_tx.vcx" BaseClass="container" /> + + ADD OBJECT 'Cmd_executa1' AS cmd_executa WITH ; + Anchor = 9, ; + Caption = "Înca\ + + ADD OBJECT 'Ct_cale_fisier' AS ct_clb_cautare_var WITH ; + Anchor = 9, ; + cconditie = EMPTY(NVL(Thisform.ccale_fisier,[])), ; + cprocedura = Thisform.do_alege_calefisier, ; + cvar_afisata = Thisform.ccale_fisier, ; + Left = 433, ; + Name = "Ct_cale_fisier", ; + TabIndex = 8, ; + Top = 277, ; + ZOrderSet = 12, ; + shape_cautare.BorderColor = 127,157,185, ; + shape_cautare.Name = "shape_cautare", ; + img_cautare.Name = "img_cautare", ; + lb_cautare.Caption = "Cale fiºier", ; + lb_cautare.FontCharSet = 238, ; + lb_cautare.Name = "lb_cautare", ; + tx_cautare.FontName = "Arial Narrow", ; + tx_cautare.Height = 23, ; + tx_cautare.Left = 75, ; + tx_cautare.Name = "tx_cautare", ; + tx_cautare.Top = 4, ; + tx_cautare.Width = 234 + *< END OBJECT: ClassLib="caut_ora.vcx" BaseClass="container" /> + + ADD OBJECT 'Ct_grid_search1' AS ct_grid_search WITH ; + Anchor = 15, ; + Height = 300, ; + Left = 7, ; + Name = "Ct_grid_search1", ; + TabIndex = 3, ; + Top = 109, ; + Width = 420, ; + ZOrderSet = 1, ; + _GRID1.Anchor = 15, ; + _GRID1.Height = 228, ; + _GRID1.Left = 12, ; + _GRID1.Name = "_GRID1", ; + _GRID1.Top = 60, ; + _GRID1.Width = 389, ; + Titlu.Name = "Titlu", ; + Titlu.Visible = .F., ; + Cb_tx_cautare1.Anchor = 3, ; + Cb_tx_cautare1.criteriu.Name = "criteriu", ; + Cb_tx_cautare1.Left = 73, ; + Cb_tx_cautare1.Name = "Cb_tx_cautare1", ; + Cb_tx_cautare1.Text.Name = "Text", ; + Cb_tx_cautare1.Top = 31 + *< END OBJECT: ClassLib="ferestre_cere_date.vcx" BaseClass="container" /> + + ADD OBJECT 'ed_descriere' AS ed_tx_simplu WITH ; + Anchor = 9, ; + BorderColor = 127,157,185, ; + Left = 434, ; + Name = "ed_descriere", ; + TabIndex = 7, ; + Top = 201, ; + Width = 314, ; + ZOrderSet = 10, ; + _edbase1.ControlSource = "Thisform.cdescriere", ; + _edbase1.Format = "!K", ; + _edbase1.Name = "_edbase1", ; + _lbbase1.Caption = "Descriere", ; + _lbbase1.Name = "_lbbase1" + *< END OBJECT: ClassLib="lb_tx.vcx" BaseClass="container" /> + + ADD OBJECT 'lb_explicatie_pas2' AS lb_simplu WITH ; + Anchor = 11, ; + Caption = ' Faceþi dublu-click în coloana "descriere" corespunzãtoare fiºierului pe care doriþi sã-l modificaþi.', ; + FontCharSet = 238, ; + Height = 47, ; + Left = 192, ; + Name = "lb_explicatie_pas2", ; + TabIndex = 5, ; + Top = 93, ; + Width = 207, ; + WordWrap = .T., ; + ZOrderSet = 2 + *< END OBJECT: ClassLib="lb.vcx" BaseClass="label" /> + + ADD OBJECT 'lb_explicatie_pas3' AS lb_simplu WITH ; + Anchor = 9, ; + AutoSize = .F., ; + Caption = " Modificaþi fiºierul în Word, dupã care salvaþi-l pe calculatorul dumneavoastrã ºi închideþi-l.", ; + FontCharSet = 238, ; + Height = 32, ; + Left = 468, ; + Name = "lb_explicatie_pas3", ; + TabIndex = 4, ; + Top = 48, ; + Width = 312, ; + WordWrap = .T., ; + ZOrderSet = 20 + *< END OBJECT: ClassLib="lb.vcx" BaseClass="label" /> + + ADD OBJECT 'lb_explicatie_pas4' AS lb_simplu WITH ; + Anchor = 9, ; + AutoSize = .F., ; + Caption = " Completaþi datele necesare ºi alegeþi fiºierul pe care doriþi sã-l încãrcaþi în baza de date.", ; + FontCharSet = 238, ; + Height = 32, ; + Left = 468, ; + Name = "lb_explicatie_pas4", ; + TabIndex = 5, ; + Top = 96, ; + Width = 300, ; + WordWrap = .T., ; + ZOrderSet = 21 + *< END OBJECT: ClassLib="lb.vcx" BaseClass="label" /> + + ADD OBJECT 'lb_pas1' AS lb_titlu_negru_b12 WITH ; + Caption = "1", ; + FontSize = 30, ; + Left = 19, ; + Name = "lb_pas1", ; + TabIndex = 12, ; + Top = 40, ; + ZOrderSet = 15 + *< END OBJECT: ClassLib="lb.vcx" BaseClass="label" /> + + ADD OBJECT 'lb_pas2' AS lb_titlu_negru_b12 WITH ; + Caption = "2", ; + FontSize = 30, ; + Left = 23, ; + Name = "lb_pas2", ; + TabIndex = 13, ; + Top = 89, ; + ZOrderSet = 16 + *< END OBJECT: ClassLib="lb.vcx" BaseClass="label" /> + + ADD OBJECT 'lb_pas3' AS lb_titlu_negru_b12 WITH ; + Anchor = 9, ; + Caption = "3", ; + FontSize = 30, ; + Left = 438, ; + Name = "lb_pas3", ; + TabIndex = 15, ; + Top = 40, ; + ZOrderSet = 18 + *< END OBJECT: ClassLib="lb.vcx" BaseClass="label" /> + + ADD OBJECT 'lb_pas4' AS lb_titlu_negru_b12 WITH ; + Anchor = 9, ; + Caption = "4", ; + FontSize = 30, ; + Left = 438, ; + Name = "lb_pas4", ; + TabIndex = 16, ; + Top = 89, ; + ZOrderSet = 19 + *< END OBJECT: ClassLib="lb.vcx" BaseClass="label" /> + + ADD OBJECT 'opt_document' AS _optiongrup WITH ; + AutoSize = .F., ; + BorderStyle = 0, ; + Height = 46, ; + Left = 58, ; + Name = "opt_document", ; + TabIndex = 2, ; + Top = 90, ; + Value = 0, ; + Width = 136, ; + ZOrderSet = 22, ; + Option1.AutoSize = .T., ; + Option1.Caption = "Document nou", ; + Option1.Left = 5, ; + Option1.Name = "Option1", ; + Option1.Top = 5, ; + Option1.Value = 0, ; + Option2.AutoSize = .T., ; + Option2.Caption = "Document existent :", ; + Option2.Left = 5, ; + Option2.Name = "Option2", ; + Option2.Top = 24 + *< END OBJECT: ClassLib="_baza.vcx" BaseClass="optiongroup" /> + + ADD OBJECT 'opt_tip_operatie' AS _optiongrup WITH ; + Anchor = 11, ; + AutoSize = .F., ; + Height = 46, ; + Left = 8, ; + Name = "opt_tip_operatie", ; + TabIndex = 1, ; + Top = 41, ; + Value = 0, ; + Width = 412, ; + ZOrderSet = 14, ; + Option1.AutoSize = .T., ; + Option1.Caption = "Modificã ºi salveazã", ; + Option1.FontCharSet = 238, ; + Option1.FontName = "Arial", ; + Option1.Left = 50, ; + Option1.Name = "Option1", ; + Option1.Top = 5, ; + Option1.Value = 0, ; + Option2.AutoSize = .T., ; + Option2.Caption = "Salveazã", ; + Option2.FontCharSet = 238, ; + Option2.Left = 50, ; + Option2.Name = "Option2", ; + Option2.Top = 24 + *< END OBJECT: ClassLib="_baza.vcx" BaseClass="optiongroup" /> + + ADD OBJECT 'sh_pas2' AS _shape WITH ; + Anchor = 15, ; + BackStyle = 0, ; + BorderColor = 209,209,191, ; + Curvature = 10, ; + Height = 312, ; + Left = 8, ; + Name = "sh_pas2", ; + Top = 90, ; + Width = 412, ; + ZOrderSet = 0 + *< END OBJECT: ClassLib="_baza.vcx" BaseClass="shape" /> + + ADD OBJECT 'sh_pas3' AS _shape WITH ; + Anchor = 9, ; + BackStyle = 0, ; + BorderColor = 209,209,191, ; + Curvature = 10, ; + Height = 46, ; + Left = 424, ; + Name = "sh_pas3", ; + Top = 41, ; + Width = 368, ; + ZOrderSet = 3 + *< END OBJECT: ClassLib="_baza.vcx" BaseClass="shape" /> + + ADD OBJECT 'sh_pas4' AS _shape WITH ; + Anchor = 13, ; + BackStyle = 0, ; + BorderColor = 209,209,191, ; + Curvature = 10, ; + Height = 312, ; + Left = 424, ; + Name = "sh_pas4", ; + Top = 90, ; + Width = 368, ; + ZOrderSet = 4 + *< END OBJECT: ClassLib="_baza.vcx" BaseClass="shape" /> + + PROCEDURE afiseaza_grid + Lparameters tlAfiseaza + With Thisform.ct_grid_search1 + .cb_tx_cautare1.Text.Enabled = tlAfiseaza + .cb_tx_cautare1.criteriu.Enabled = tlAfiseaza + ._GRID1.Visible = tlAfiseaza + If tlAfiseaza + .cb_tx_cautare1.criteriu.Value = [1] + .cb_tx_cautare1.Text.Value = [%] + .do_cauta() + ._Grid1.Autofit() + Else + .cb_tx_cautare1.Text.Value = [] + Endif + Endwith + ENDPROC + + PROCEDURE afiseaza_pas + Lparameters tnPas,tlAfiseaza + Do Case + Case tnPas = 1 + With Thisform.opt_tip_operatie + .Value = Iif(tlAfiseaza,0,.Value) + .Option1.Enabled = tlAfiseaza + .Option2.Enabled = tlAfiseaza + Endwith + Thisform.lb_pas1.Enabled = tlAfiseaza + If tlAfiseaza + Thisform.nid_referinta = Null + Thisform.nid_entitate = Null + Thisform.ntip = Null + Thisform.cdescriere = [] + Thisform.ccale_fisier = [] + Thisform.cnume_fisier = [] + Thisform.Refresh() + Endif + Case tnPas = 2 + With Thisform.opt_document + If tlAfiseaza + .Value = 0 + Endif + .Option1.Enabled = Iif(Thisform.opt_tip_operatie.Value=1,.F.,tlAfiseaza) + .Option2.Enabled = Iif(Thisform.opt_tip_operatie.Value=1,.F.,tlAfiseaza) + Endwith + Thisform.lb_explicatie_pas2.Visible = .F. + Thisform.afiseaza_grid(.F.) + Thisform.lb_pas2.Enabled = tlAfiseaza + Case tnPas = 3 + Thisform.lb_pas3.Enabled = tlAfiseaza + Thisform.lb_explicatie_pas3.Enabled = tlAfiseaza + Case tnPas = 4 + Thisform.lb_pas4.Enabled = tlAfiseaza + Thisform.lb_explicatie_pas4.Enabled = tlAfiseaza + Thisform.cmd_executa1.Enabled = tlAfiseaza + Thisform.clb_nume_fisier.text_simplu1.ReadOnly = IIF(Thisform.opt_document.Value=1,!tlAfiseaza,.T.) + Thisform.clb_nume_fisier.lb_simplu1.Enabled = IIF(Thisform.opt_document.Value=1,tlAfiseaza,.F.) + Thisform.ed_descriere._edbase1.ReadOnly = IIF(Thisform.opt_document.Value=1,!tlAfiseaza,.T.) + Thisform.ed_descriere._lbbase1.Enabled = IIF(Thisform.opt_document.Value=1,tlAfiseaza,.F.) + Thisform.ct_cale_fisier.lb_cautare.Enabled = tlAfiseaza + If tlAfiseaza + Thisform.ct_cale_fisier.do_activeaza() + Else + Thisform.ct_cale_fisier.do_dezactiveaza() + Endif + Endcase + ENDPROC + + PROCEDURE do_alege_calefisier + Local lcCaleFisier, lcNumeFisier + lcCaleFisier = Getfile([],[Nume fisier],[Alege],0,[Cautare fisier]) + If !Empty(lcCaleFisier) + lcNumeFisier = Juststem(lcCaleFisier) + Thisform.ccale_fisier = lcCaleFisier + If Thisform.opt_document.Value = 1 + Do Case + Case Empty(Nvl(Thisform.cnume_fisier,[])) + Thisform.cnume_fisier = Justfname(lcCaleFisier) + Case Juststem(Upper(Thisform.cnume_fisier)) <> Juststem(Upper(lcNumeFisier)) + If amessagebox("Doriti sa schimbati numele care va fi scris in baza de date din " + Juststem(Upper(Thisform.cnume_fisier)) + ; + " in " + Juststem(Upper(lcNumeFisier)) + "?",4+32,"Confirmare redenumire")=6 + Thisform.cnume_fisier = Justfname(lcCaleFisier) + Endif + Otherwise + lcNumeFisier = [] + Endcase + Endif + Thisform.Refresh() + Endif + + ENDPROC + + PROCEDURE do_alege_document + Local lnValoare + lnValoare = Thisform.opt_document.Value + Do Case + Case lnValoare = 1 + && gnIdProgram : 4 - ROARES; 75 - ROASALSPEC + Thisform.nid_entitate = IIF(gnIdProgram=75,1,5) + Thisform.ntip = 2 + Thisform.afiseaza_pas(2,.F.) + Thisform.afiseaza_pas(3,.F.) + Thisform.afiseaza_pas(4,.T.) + Thisform.afiseaza_grid(.F.) + Thisform.lb_explicatie_pas2.Visible = .F. + Case lnValoare = 2 + Thisform.afiseaza_pas(4,.F.) + Thisform.afiseaza_grid(.T.) + Thisform.lb_explicatie_pas2.Visible = .T. + Otherwise + lnValoare = 0 + Endcase + ENDPROC + + PROCEDURE do_alege_tip_operatie + Thisform.afiseaza_pas(1,.F.) + Thisform.afiseaza_pas(2,.T.) + If Thisform.opt_tip_operatie.Value = 1 + Thisform.opt_document.Value = 2 + Thisform.lb_explicatie_pas2.Caption = [ Faceþi dublu-click în coloana "descriere" corespunzãtoare fiºierului pe care doriþi sã-l modificaþi.] + Else + Thisform.lb_explicatie_pas2.Caption = [ Faceþi dublu-click în coloana "descriere" corespunzãtoare fiºierului pe care doriþi sã-l salvaþi.] + Endif + + ENDPROC + + PROCEDURE do_deschide_document + Thisform.afiseaza_pas(3,.T.) + Thisform.afiseaza_pas(4,.T.) + ENDPROC + + PROCEDURE do_executa + Do Case + Case Empty(Nvl(Thisform.cdescriere,[])) + amessagebox("Nu ati completat descrierea!",48,"Atentie") + Thisform.ed_descriere._edbase1.SetFocus() + Case Empty(Nvl(Thisform.ccale_fisier,[])) + amessagebox("Nu ati ales fisierul!",48,"Atentie") + Thisform.ct_cale_fisier.tx_cautare.SetFocus() + Case Empty(Nvl(Thisform.cnume_fisier,[])) + amessagebox("Nu ati completat numele fisierului!",48,"Atentie") + Thisform.clb_nume_fisier.text_simplu1.SetFocus() + Case Empty(Justext(Thisform.cnume_fisier)) + amessagebox("Nu ati completat extensia fisierului! ( De exemplu : " + Alltrim(Justfname(Thisform.cnume_fisier)) + ".doc )",48,"Atentie") + Thisform.clb_nume_fisier.text_simplu1.SetFocus() + Case !File(Thisform.ccale_fisier) && modificare ROARES v 2.0.4 + amessagebox("Fisierul ales nu a fost gasit!",48,"Atentie") + Thisform.ct_cale_fisier.tx_cautare.SetFocus() + Otherwise + If template_adauga(Thisform.opt_document.Value,Thisform.ntip,Thisform.nid_entitate,Thisform.nid_referinta,Thisform.cdescriere,; + Thisform.cnume_fisier,Thisform.ccale_fisier) + Thisform.cultimacale = Justpath(Thisform.ccale_fisier) + Thisform.do_reset() + Endif + Endcase + + ENDPROC + + PROCEDURE do_reset + Thisform.afiseaza_pas(1,.T.) + Thisform.afiseaza_pas(2,.F.) + Thisform.afiseaza_pas(3,.F.) + Thisform.afiseaza_pas(4,.F.) + ENDPROC + + PROCEDURE do_selecteaza_document + Local lcCursor,lcCaleFisier,loRec + lcCursor = Thisform.ct_grid_search1.cnumecursor + If Used(lcCursor) + If Reccount(lcCursor)>0 + Select (lcCursor) + Thisform.nid_referinta = id_referinta + Thisform.nid_entitate = id_entitate + Thisform.cnume_fisier = Alltrim(nume_fisier) + Thisform.cdescriere = Alltrim(descriere) + Thisform.ntip = tip + If Thisform.opt_tip_operatie.Value = 1 + loRec = template_citeste(Thisform.nid_referinta) + If !Isnull(loRec) + Thisform.ccale_fisier = Addbs(gcTempPath) + Thisform.cnume_fisier + Strtofile(loRec.fisier,Thisform.ccale_fisier) + open_default_app(Thisform.ccale_fisier) + Thisform.afiseaza_pas(2,.F.) + Thisform.afiseaza_pas(3,.T.) + Thisform.afiseaza_pas(4,.T.) + Else + amessagebox("Fisierul nu a fost citit din baza de date!",16,"Eroare") + Endif + Else + lcCaleFisier = Thisform.cultimacale + "\" + Thisform.cnume_fisier + If File(lcCaleFisier) + Thisform.ccale_fisier = lcCaleFisier + Else + lcCaleFisier = gcAppPath + "Date_" + gcAppName + "\" + Thisform.cnume_fisier + If File(lcCaleFisier) + Thisform.ccale_fisier = lcCaleFisier + Endif + Endif + Thisform.afiseaza_pas(2,.F.) + Thisform.afiseaza_pas(4,.T.) + Endif + Thisform.Refresh() + Endif + Endif + + ENDPROC + + PROCEDURE inainte_de_do_termin + Local llReturn, lcNumeCursor + llReturn = .T. + If !Empty(Nvl(Thisform.cdescriere,[])) Or !Empty(Nvl(Thisform.ccale_fisier,[])) Or !Empty(Nvl(Thisform.cnume_fisier,[])) + If amessagebox("Sunteti sigur ca doriti sa inchideti fereastra fara sa salvati?",4+32,"Configurare documente") = 7 + llReturn = .F. + Endif + Endif + If llReturn + lcNumeCursor = Thisform.ct_grid_search1.cnumecursor + If Used(lcNumeCursor) + Use In (lcNumeCursor) + Endif + Endif + Return llReturn + ENDPROC + + PROCEDURE Init + DoDefault() + Local lcView + If gnIdProgram = 75 + lcView = [sal_vdocumente_ss] && 75 - ROASALSPEC + Else + lcView = [sal_vdocumente_ru] && 4 - ROARES + Endif + With Thisform.ct_grid_search1 + ._GRID1.Visible = .F. + .cSchema = ['id_entitate n(10),id_referinta n(10),tip n(1),descriere_m c(250),descriere c(250),nume_fisier c(100)'] + .cSelect = ['select id_entitate,id_referinta,tip,descriere_m,descriere,nume_fisier from ] + lcView + [ where 1=2'] + .cTitlu_coloane = 'Descriere,Nume fisier' + .cNume_coloane = 'descriere_m;nume_fisier' + .cFiltruOriginal = [2=2] + .cOrder = 'descriere_m' + .cNumecursor = [crsdocs] + .initializare() + Endwith + Thisform.do_reset() + + ENDPROC + + PROCEDURE Ct_grid_search1.initializare + PARAMETERS tlNumerotare + DODEFAULT(tlNumerotare) + Bindevent(This._GRID1.Column1.Text1,[DblClick],Thisform,[do_selecteaza_document],1) + ENDPROC + + PROCEDURE opt_document.InteractiveChange + Thisform.do_alege_document() + ENDPROC + + PROCEDURE opt_document.ProgrammaticChange + Thisform.do_alege_document() + ENDPROC + + PROCEDURE opt_tip_operatie.InteractiveChange + Thisform.do_alege_tip_operatie() + ENDPROC + +ENDDEFINE diff --git a/clase/crypto.vc2 b/clase/crypto.vc2 new file mode 100644 index 0000000..8e4dcc7 --- /dev/null +++ b/clase/crypto.vc2 @@ -0,0 +1,14 @@ +*-------------------------------------------------------------------------------------------------------------------------------------------------------- +* (EN) AUTOGENERATED - ATTENTION!! - NOT INTENDED FOR EXECUTION!! USE ONLY FOR MERGING CHANGES AND STORING WITH SCM TOOLS!! +*-------------------------------------------------------------------------------------------------------------------------------------------------------- +*< FOXBIN2PRG: Version="1.21" SourceFile="crypto.vcx" CPID="1252" /> (Solo para binarios VFP 9 / Only for VFP 9 binaries) +* +* +DEFINE CLASS mycrypt AS _cryptapi OF "c:\program files\microsoft visual foxpro 9\ffc\_crypt.vcx" + *< CLASSDATA: Baseclass="custom" Timestamp="" Scale="Pixels" Uniqueid="" /> + + * + Name = "mycrypt" + * + +ENDDEFINE diff --git a/clase/decabaza.vc2 b/clase/decabaza.vc2 new file mode 100644 index 0000000..45b9d31 --- /dev/null +++ b/clase/decabaza.vc2 @@ -0,0 +1,272 @@ +*-------------------------------------------------------------------------------------------------------------------------------------------------------- +* (EN) AUTOGENERATED - ATTENTION!! - NOT INTENDED FOR EXECUTION!! USE ONLY FOR MERGING CHANGES AND STORING WITH SCM TOOLS!! +*-------------------------------------------------------------------------------------------------------------------------------------------------------- +*< FOXBIN2PRG: Version="1.21" SourceFile="decabaza.vcx" CPID="1252" /> (Solo para binarios VFP 9 / Only for VFP 9 binaries) +* +* +DEFINE CLASS ca_baza AS _cabase OF "_ca_base.vcx" + *< CLASSDATA: Baseclass="cursoradapter" Timestamp="" Scale="Pixels" Uniqueid="" /> + + #INCLUDE "..\..\..\program files\microsoft visual foxpro 8\foxpro.h" + * + *m: afisare + *m: cfiltru_assign + *m: corder_assign + *p: cfiltru + *p: cfiltruoriginal + *p: cgroup + *p: corder + *p: cselect + *p: lafisare + *p: lmodparam + * + + * + cfiltru = + cfiltruoriginal = + cgroup = + corder = + cselect = + Height = 22 + lafisare = .T. + Name = "ca_baza" + Width = 23 + * + + PROCEDURE afisare + #Define CRLF Chr(13) + Chr(10) + Local llReconnect, lnHandle, lnSucces, llSucces, lnEroare1, lnEroare2, lcTextEroare, llEroare + Local laEroare2[1], lcCursor, lcErrorHTTP, lcLog, lcLunaHTTP, lcProgram, lcTempCursor, lcUserName + Local lnRaspuns + + Local laEroare + llSucces = .F. + + If This.lmodparam + && selectcmd nu are inclus where + This.SelectCmd = This.cSelect + Else + This.SelectCmd = Left(Upper(This.SelectCmd), At('WHERE', Upper(This.SelectCmd)) - 1) + Endif + + If !Empty(This.cFiltru) Or !Empty(This.cFiltruoriginal) + This.SelectCmd = This.SelectCmd + ' WHERE ' + Else + This.SelectCmd = This.SelectCmd + ' ' + Endif + + This.SelectCmd = This.SelectCmd + Alltrim(This.cFiltru) + + If !Empty(This.cFiltru) And !Empty(This.cFiltruoriginal) + This.SelectCmd = This.SelectCmd + [ AND (] + Else + This.SelectCmd = This.SelectCmd + [ ] + Endif + + This.SelectCmd = This.SelectCmd + Alltrim(This.cFiltruoriginal) + + If !Empty(This.cFiltru) And !Empty(This.cFiltruoriginal) + This.SelectCmd = This.SelectCmd + [) ] + Else + This.SelectCmd = This.SelectCmd + [ ] + Endif + + This.SelectCmd = This.SelectCmd + Iif(!Empty(This.cgroup), " GROUP BY " + This.cgroup, " ") + Iif(!Empty(This.cOrder), ' ORDER BY ' + This.cOrder, ' ') + + *!* ELSE + *!* THIS.SELECTCMD = LEFT(UPPER(THIS.SELECTCMD),AT('WHERE',UPPER(THIS.SELECTCMD))+LEN('WHERE')-1)+; + *!* SPACE(1)+THIS.CFiltru+IIF(!EMPTY(THIS.cgroup),SPACE(1)+"GROUP BY "+this.cgroup,"")+IIF(!EMPTY(THIS.CORder),SPACE(1)+'ORDER BY'+SPACE(1)+THIS.CORder,'') + *!* ENDIF + + + + + Do While .T. + If Type('goLog') = 'O' + goLog.Log(This.SelectCmd, Program()) + Endif + lcCursor = This.Alias + If Used (lcCursor) + Use In (lcCursor) + Endif + This.CursorAttach(lcCursor) + + + If !Empty(This.CursorSchema) + llSucces = This.CursorFill(.T.) + Else + llSucces = This.CursorFill() + Endif + + + If Used(lcCursor) And llSucces + This.CursorDetach + + lcTempCursor = Sys(2015) + Use Dbf(lcCursor) In 0 Again Shared Alias (lcTempCursor) + Use In (lcCursor) + Use Dbf(lcTempCursor) In 0 Again Alias (lcCursor) + Use In (lcTempCursor) + + Exit + Endif + + If !llSucces + + Release laEroare + Declare laEroare(1) + + Aerror(laEroare) + If Alen(laEroare) > 1 + lnEroare1 = laEroare[1] + lnEroare2 = laEroare[5] + lcTextEroare = laEroare[3] + lnHandle = laEroare[6] + llEroare = .T. + + If Type('goMyXMLHTTP') = 'O' + lcLunaHTTP = Iif(Type('gnLuna') = 'N', Transform(gnLuna) + "/", "") + Iif(Type('GNAN') = 'N', Transform(gnAn), "") + lcErrorHTTP = Sys(0) + ":" + Iif(Type('GCS') = 'C', " " + GCS, "") + ": " + lcLunaHTTP + ; + CRLF + Alltrim(Str(lnEroare1)) + ' ' + Transform(laEroare[3]) + CRLF + Transform(This.SelectCmd) + CRLF + ; + TRANSFORM(This.CursorSchema) + CRLF + CRLF + GETCALLSTACK() + + lcUserName = gcUserNameApp + lcProgram = Juststem(Sys(16, 0)) + goMyXMLHTTP.postError(lcErrorHTTP, lcUserName, lcProgram) + Endif + + If lnEroare1 <> 1526 && eroare <> ODBC + lcTextEroare = Program() + CRLF + Alltrim(Str(lnEroare1)) + CRLF + laEroare[2] + CRLF + This.SelectCmd + CRLF + CRLF + This.CursorSchema + CRLF + CRLF + GETCALLSTACK() + If Type('goLog') = 'O' + goLog.Log(lcTextEroare, Program()) + Endif + AMessagebox(lcTextEroare, 0, "Eroare") + Quit + Retry + Endif + *!* IF lnHandle <> gnHandle && daca mesajul de eroare provine de la alta conexiune => nu s-a intamplat nici o eroare + *!* EXIT + *!* ENDIF + + If Inlist(lnEroare2, 12152, 3113, 3114, 12560, 4068, 28, 12) && 12512 = TNS: UNABLE TO SEND BREAK MESSAGE; 3114 = NOT CONNECTED TO ORACLE; 12560 = PROTOCOL ADAPTER ERROR + If Type('goLog') = 'O' + lcLog = laEroare(3) + CRLF + goLog.Log(lcLog, Program()) + Endif + + Do While .T. + lnRaspuns = AMessagebox('Eroare de conectare.' + CRLF + lcTextEroare + CRLF + 'Doriti reconectare?', 4 + 32, 'Eroare') && retry = 4; cancel = 2 + If lnRaspuns = 6 + + *!* goConn.disconnect() + llReconnect = .T. + lnHandle = goConn.Connect(goConn.cHost, goConn.cUser, goConn.cPassword, llReconnect) + + If lnHandle < 0 + Declare laEroare2(1) + Aerror(laEroare2) + lcTextEroare = laEroare2(3) + Release laEroare2 + Loop + Else + This.Parent.Datasource = lnHandle + Exit + Endif + Else + Quit + Retry + Endif && lnRaspuns = 6 + Enddo && .T. + Loop && daca am iesit cu un handle valid intru din nou in loop si fac cursorfill + Else + lcTextEroare = Program() + CRLF + Alltrim(Str(lnEroare1)) + CRLF + laEroare[3] + CRLF + This.SelectCmd + CRLF + CRLF + This.CursorSchema + CRLF + CRLF + GETCALLSTACK() + lnRaspuns = AMessagebox(lcTextEroare, 0, 'Eroare') && ok = 0 + If Type('goLog') = 'O' + goLog.Log(lcTextEroare, Program()) + Endif + Quit + Retry + Endif + + Else + Exit + Endif && INLIST(lnEroare2,12152,3114) + Endif && !llSucces + + Enddo && .T. + Release laEroare + + ENDPROC + + PROCEDURE AutoOpen + *** Setup code: DO NOT REMOVE + if not pemstatus(This, '__VFPSetup', 5) + This.AddProperty('__VFPSetup', 1) + This.Init() + endif + *** End of Setup code: DO NOT REMOVE + + ENDPROC + + PROCEDURE cfiltru_assign + LPARAMETERS vNewVal + *To do: Modify this routine for the Assign method + THIS.cfiltru = m.vNewVal + + IF this.lafisare + this.afisare() + ENDIF + + ENDPROC + + PROCEDURE corder_assign + Lparameters vNewVal + *To do: Modify this routine for the Assign method + This.cOrder = m.vNewVal + + IF this.lafisare + this.afisare() + ENDIF + + + ENDPROC + + PROCEDURE Init + local llReturn + do case + case not pemstatus(This, '__VFPSetup', 5) + This.AddProperty('__VFPSetup', 0) + case This.__VFPSetup = 2 + This.__VFPSetup = 0 + return + endcase + llReturn = dodefault() + *** Setup code: DO NOT REMOVE + + *** End of Setup code: DO NOT REMOVE + if This.__VFPSetup = 1 + This.__VFPSetup = 2 + endif + return llReturn + + ENDPROC + +ENDDEFINE + +DEFINE CLASS deca_baza AS _debase OF "_de_base.vcx" + *< CLASSDATA: Baseclass="dataenvironment" Timestamp="" Scale="Pixels" Uniqueid="" /> + + #INCLUDE "c:\program files\microsoft visual foxpro 8\foxpro.h" + * + *p: ctexteroare + *p: leroare + *p: neroare + * + + * + ctexteroare = + Name = "deca_baza" + neroare = 0 + * + +ENDDEFINE diff --git a/clase/drept_grupuri.vc2 b/clase/drept_grupuri.vc2 new file mode 100644 index 0000000..76c2a62 --- /dev/null +++ b/clase/drept_grupuri.vc2 @@ -0,0 +1,669 @@ +*-------------------------------------------------------------------------------------------------------------------------------------------------------- +* (EN) AUTOGENERATED - ATTENTION!! - NOT INTENDED FOR EXECUTION!! USE ONLY FOR MERGING CHANGES AND STORING WITH SCM TOOLS!! +*-------------------------------------------------------------------------------------------------------------------------------------------------------- +*< FOXBIN2PRG: Version="1.21" SourceFile="drept_grupuri.vcx" CPID="1252" /> (Solo para binarios VFP 9 / Only for VFP 9 binaries) +* +* +DEFINE CLASS cus_odata_grupuri AS _cusodatabase OF "_cus_odata_base.vcx" + *< CLASSDATA: Baseclass="custom" Timestamp="" Scale="Pixels" Uniqueid="" /> + + #INCLUDE "..\..\program files\microsoft visual foxpro 8\foxpro.h" + * + Name = "cus_odata_grupuri" + * + + PROCEDURE make_sql + Lparameters toRec,tnId + + lcActiune = Alltrim(This.cActiune) + + If Inlist(lcActiune, "UPDATE",'INSERT') And Type('toRec') != "O" + Return .F. + Endif + + If Inlist(lcActiune, "UPDATE",'DELETE') And Type('tnId') != "N" + Return .F. + Endif + + If Inlist(lcActiune, "UPDATE",'DELETE') + lcId = Alltrim(Str(tnId)) + Endif + + If Inlist(lcActiune, "UPDATE",'INSERT') + lcAcces = Alltrim(toRec.Acces) + Endif + + Do Case + Case lcActiune = "INSERT" + Case lcActiune = "UPDATE" + lcSql = [begin PACK_DREPTURI.grupdreptmodproc(] + Alltrim(Str(gnIdProgram))+ ; + [,] + lcId + [,']+ lcAcces +[',]+Alltrim(Str(gnIdUtil))+[); end;] + Case lcActiune = "DELETE" + Endcase + This.csql = lcSql + ENDPROC + +ENDDEFINE + +DEFINE CLASS frm_grupuri AS _frmbase OF "_frm_base.vcx" + *< CLASSDATA: Baseclass="form" Timestamp="" Scale="Pixels" Uniqueid="" /> + + *-- OBJECTDATA items order determines ZOrder / El orden de los items OBJECTDATA determina el ZOrder + *< OBJECTDATA: ObjPath="But_sterge1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="_grid1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="_grid1.cUtil.Header1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="_grid1.cUtil.Text1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="But_nou1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="But_modifica1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="Cmd_cauta1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="Clb_grup" UniqueID="" Timestamp="" /> + + * + DoCreate = .T. + Height = 250 + Name = "frm_grupuri" + Width = 450 + _shape1.Name = "_shape1" + _shape1.Width = 450 + _shape2.Height = 29 + _shape2.Left = 349 + _shape2.Name = "_shape2" + _shape2.Top = 0 + _shape2.Width = 103 + Lb_titlu_alb_b121.Caption = "Drepturi grupuri" + Lb_titlu_alb_b121.Name = "Lb_titlu_alb_b121" + BUT_TERMIN1.Left = 419 + BUT_TERMIN1.Name = "BUT_TERMIN1" + BUT_TERMIN1.Top = 1 + * + + ADD OBJECT '_grid1' AS _grid WITH ; + ColumnCount = 1, ; + DeleteMark = .F., ; + Height = 166, ; + Left = 7, ; + Name = "_grid1", ; + Panel = 1, ; + RecordSource = "crsgrupuri", ; + TabIndex = 3, ; + Top = 74, ; + Width = 425, ; + ZOrderSet = 5, ; + Column1.ControlSource = "grup", ; + Column1.Name = "cUtil", ; + Column1.Width = 395 + *< END OBJECT: ClassLib="_baza.vcx" BaseClass="grid" /> + + ADD OBJECT '_grid1.cUtil.Header1' AS header WITH ; + Alignment = 2, ; + Caption = "Grup", ; + Name = "Header1" + *< END OBJECT: BaseClass="header" /> + + ADD OBJECT '_grid1.cUtil.Text1' AS textbox WITH ; + BackColor = 255,255,255, ; + BorderStyle = 0, ; + ForeColor = 0,0,0, ; + Margin = 0, ; + Name = "Text1" + *< END OBJECT: BaseClass="textbox" /> + + ADD OBJECT 'But_modifica1' AS but_modifica WITH ; + Left = 356, ; + Name = "But_modifica1", ; + Top = 1 + *< END OBJECT: ClassLib="cmd_butoane.vcx" BaseClass="commandbutton" /> + + ADD OBJECT 'But_nou1' AS but_nou WITH ; + Left = 275, ; + Name = "But_nou1", ; + Top = 1, ; + Visible = .F. + *< END OBJECT: ClassLib="cmd_butoane.vcx" BaseClass="commandbutton" /> + + ADD OBJECT 'But_sterge1' AS but_sterge WITH ; + Left = 388, ; + Name = "But_sterge1", ; + Top = 1 + *< END OBJECT: ClassLib="cmd_butoane.vcx" BaseClass="commandbutton" /> + + ADD OBJECT 'Clb_grup' AS clb_tx_simplu WITH ; + Left = 26, ; + Name = "Clb_grup", ; + TabIndex = 1, ; + Top = 36, ; + ZOrderSet = 9, ; + Text_simplu1.Format = "!K", ; + Text_simplu1.Name = "Text_simplu1", ; + Lb_simplu1.Caption = "Grup", ; + Lb_simplu1.Name = "Lb_simplu1" + *< END OBJECT: ClassLib="lb_tx.vcx" BaseClass="container" /> + + ADD OBJECT 'Cmd_cauta1' AS cmd_cauta WITH ; + Left = 334, ; + Name = "Cmd_cauta1", ; + TabIndex = 2, ; + Top = 36, ; + ZOrderSet = 10 + *< END OBJECT: ClassLib="cmd_butoane.vcx" BaseClass="commandbutton" /> + + PROCEDURE actualizeaza_grid1 + Lparameters pcFiltru + Local lcFiltru + lcFiltru=pcFiltru + If Empty(lcFiltru) + lcFiltru=pogrupuri.ca_baza1.cfiltru + Endif + save_grid_tag(Thisform._grid1) + pogrupuri.ca_baza1.cfiltru=lcFiltru + pogrupuri.ca_baza1.afisare() + restore_grid_tag(Thisform._grid1) + If Reccount('crsgrupuri')>0 + Thisform._grid1.SetFocus() + Else + Thisform.clb_grup.SetFocus() + Endif + ENDPROC + + PROCEDURE do_adauga + *!* Private pniesire + *!* pniesire=0 + *!* Select crsutilizatori + *!* Scatter Name loRec Blank + *!* AddProperty(loRec,"parola","") + *!* Do Adauga_Modifica_Inregistrare With "utilizatori",loRec,,"INSERT" + *!* If pniesire=1 + *!* Thisform.actualizeaza_grid1() + *!* Endif + ENDPROC + + PROCEDURE do_cauta + Local lcFiltru + *!* lcFiltru=[id_firma=?gnIdFirma and id_prog=?gnIdProgram] + lcFiltru=[2=2] + lcNume=Thisform.clb_grup.text_simplu1.Value + If !Empty(lcNume) + lcFiltru=lcFiltru + [ and grup like '] + Alltrim(lcNume) + [%'] + Endif + Thisform.MousePointer= 11 + Thisform.LockScreen=.T. + Thisform.actualizeaza_grid1(lcFiltru) + If Reccount('crsgrupuri')=0 + Messagebox("Cautarea nu a intors rezultate!",0+64,"Info cautare") + Endif + Thisform.LockScreen=.F. + Thisform.MousePointer=0 + ENDPROC + + PROCEDURE do_modifica + If Reccount('crsgrupuri')>0 + Private pniesire + pniesire=0 + Select crsgrupuri + Scatter Name loRec + AddProperty(loRec,[acces],[]) + citeste_drepturi(loRec.id_grup) + Do Adauga_Modifica_Inregistrare With "grupuri",loRec,loRec.id_grup,"UPDATE" + If pniesire=1 + Thisform.actualizeaza_grid1() + Endif + Endif + + ENDPROC + +ENDDEFINE + +DEFINE CLASS frm_grupuri_nou AS _frmbase OF "_frm_base.vcx" + *< CLASSDATA: Baseclass="form" Timestamp="" Scale="Pixels" Uniqueid="" /> + + *-- OBJECTDATA items order determines ZOrder / El orden de los items OBJECTDATA determina el ZOrder + *< OBJECTDATA: ObjPath="But_renunt1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="Clb_grup" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="Oleacces1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="LB_SIMPLU1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="Cus_odata_grupuri1" UniqueID="" Timestamp="" /> + + * + *m: actualizeaza_acces + *m: citeste_noduri + *p: nid + *p: orec + * + + * + DoCreate = .T. + Height = 563 + Name = "frm_grupuri_nou" + nid = 0 + orec = + Width = 554 + _shape1.Height = 29 + _shape1.Left = 0 + _shape1.Name = "_shape1" + _shape1.Top = 0 + _shape1.Width = 552 + _shape2.Height = 29 + _shape2.Left = 482 + _shape2.Name = "_shape2" + _shape2.Top = 0 + _shape2.Width = 70 + Lb_titlu_alb_b121.Caption = "Operator" + Lb_titlu_alb_b121.Name = "Lb_titlu_alb_b121" + Lb_titlu_alb_b121.TabIndex = 7 + BUT_TERMIN1.Left = 518 + BUT_TERMIN1.Name = "BUT_TERMIN1" + BUT_TERMIN1.TabIndex = 7 + BUT_TERMIN1.Top = 1 + * + + ADD OBJECT 'But_renunt1' AS but_renunt WITH ; + Left = 487, ; + Name = "But_renunt1", ; + TabIndex = 8, ; + Top = 1 + *< END OBJECT: ClassLib="cmd_butoane.vcx" BaseClass="commandbutton" /> + + ADD OBJECT 'Clb_grup' AS clb_tx_simplu WITH ; + Height = 29, ; + Left = 114, ; + Name = "Clb_grup", ; + TabIndex = 1, ; + Top = 48, ; + Width = 326, ; + Text_simplu1.ControlSource = "porec.grup", ; + Text_simplu1.Format = "!K", ; + Text_simplu1.Left = 138, ; + Text_simplu1.Name = "Text_simplu1", ; + Lb_simplu1.Caption = "Operator", ; + Lb_simplu1.Name = "Lb_simplu1" + *< END OBJECT: ClassLib="lb_tx.vcx" BaseClass="container" /> + + ADD OBJECT 'Cus_odata_grupuri1' AS cus_odata_grupuri WITH ; + Left = 36, ; + Name = "Cus_odata_grupuri1", ; + Top = 36 + *< END OBJECT: ClassLib="drept_grupuri.vcx" BaseClass="custom" /> + + ADD OBJECT 'LB_SIMPLU1' AS lb_simplu WITH ; + Caption = "Optiuni accesibile", ; + Left = 13, ; + Name = "LB_SIMPLU1", ; + TabIndex = 10, ; + Top = 86 + *< END OBJECT: ClassLib="lb.vcx" BaseClass="label" /> + + ADD OBJECT 'Oleacces1' AS oleacces WITH ; + Height = 434, ; + Left = 22, ; + Name = "Oleacces1", ; + TabIndex = 6, ; + Top = 108, ; + Width = 516 + *< END OBJECT: ClassLib="drept_grupuri.vcx" BaseClass="olecontrol" OLEObject="c:\windows\system32\mscomctl.ocx" Value="0M8R4KGxGuEAAAAAAAAAAAAAAAAAAAAAPgADAP7/CQAGAAAAAAAAAAAAAAABAAAAAQAAAAAAAAAAEAAAAgAAAAEAAAD+////AAAAAAAAAAD////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////9/////v////7///8EAAAA/v///////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////1IAbwBvAHQAIABFAG4AdAByAHkAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAWAAUA//////////8BAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAJB8A9NKzsUBAwAAAMACAAAAAAAAAwBPAGwAZQBPAGIAagBlAGMAdABEAGEAdABhAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAB4AAgEDAAAAAgAAAP////8AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAagAAAAAAAAADAEEAYwBjAGUAcwBzAE8AYgBqAFMAaQB0AGUARABhAHQAYQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAJgACAP///////////////wAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAEAAABcAAAAAAAAAAMAQwBoAGEAbgBnAGUAZABQAHIAbwBwAHMAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAcAAIA////////////////AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAwAAAKIBAAAAAAAABAAAAAIAAAD+////BQAAAP7///8GAAAABwAAAAgAAAAJAAAACgAAAP7///////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////+2kEHHiYXREbFqAMDwKDYoIUM0EggAAABVNQAA2ywAALE8wWoBAAYAIgAAADkAAADtAwAACQAAAKEKGwAB782rXAAAAAAAAAABAAAAAAAAAAAAAAAAAAAAAAAAACQAAAA4AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA5MzY4MjY1RS04NUZFLTExZDEtOEJFMy0wMDAwRjg3NTREQTFmAHQAIABXAGkAbgBkAG8AdwBzACAAUgBlAHAAbwByAHQAIAABAACADgAAAEhpZGVTZWxlY3Rpb24ABQAAAEwAAAAADAAAAEluZGVudGF0aW9uABEAAABODQAAAAcAAAAAAAAAAAAFAHAMGwAHAAAAAAAAAAUAAICI3xIAAQAAAFwAH97svQEABQDM3xIATgBUAFwAUwB5AHMAdABlAG0AMwAyAAAAQ0AKAAAATGFiZWxFZGl0AAkAAABJCgAAAAEAAAAKAAAATGluZVN0eWxlAAkAAABJCgAAAAEAAAANAAAATW91c2VQb2ludGVyAAkAAABJCgAAAAAAAAAOAAAAUGF0aFNlcGFyYXRvcgAKAAAASAAAAAABAAAAXAcAAABTb3J0ZWQABQAAAEwAAAAABgAAAFN0eWxlAAkAAABJCgAAAAYAAAAMAAAAT0xFRHJhZ01vZGUACQAAAEkKAAAAAAAAAAwAAABPTEVEcm9wTW9kZQAJAAAASQoAAAAAAAAACwAAAEFwcGVhcmFuY2UACQAAAEkKAAAAAQAAAAwAAABCb3JkZXJTdHlsZQAJAAAASQoAAAABAAAACwAAAENoZWNrYm94ZXMABQAAAEwBAAAADgAAAEZ1bGxSb3dTZWxlY3QABQAAAEwAAAAADAAAAEhvdFRyYWNraW5nAAUAAABMAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" /> + + PROCEDURE actualizeaza_acces + ENDPROC + + PROCEDURE citeste_noduri + Local lcAcces + lcAcces=[] + For i=1 To Thisform.oleacces1.Nodes.Count() + If Thisform.oleacces1.Nodes.Item(i).Children=0 And Thisform.oleacces1.Nodes.Item(i).Checked + lcAcces=lcAcces+Thisform.oleacces1.Nodes.Item(i).Key + Endif + Endfor + porec.acces=lcAcces + + ENDPROC + + PROCEDURE inainte_de_do_termin + Private PLRETURN + Set Exact On + If Upper(Alltrim(Thisform.ActiveControl.Name))='TEXT_SIMPLU1' + lcval=This.ActiveControl.ControlSource + &lcval=Thisform.ActiveControl.Value + Endif + lcgrup=Alltrim(porec.grup) + Thisform.citeste_noduri() + lcActiune=Upper(Alltrim(Thisform.cus_odata_grupuri1.cactiune)) + PLRETURN=This.cus_odata_grupuri1.salvare(This.orec,This.nid) + pniesire=1 + Return PLRETURN + + ENDPROC + + PROCEDURE Init + Lparameters toRec, tnId, tcActiune + This.orec= toRec + This.nid = tnId + This.cus_odata_grupuri1.cactiune = tcActiune + If tcActiune='UPDATE' + Thisform.clb_grup.texT_SIMPLU1.ReadOnly=.T. + Select crsdrepturi + Scan + lcCheie=Alltrim(cheie) + loNode=Thisform.oleacces1.Object.nodes.Item(lcCheie) + loNode.Checked= .T. + Thisform.oleacces1.nodeCheck(loNode) + Endscan + Endif + ENDPROC + + PROCEDURE Oleacces1.KeyPress + *** ActiveX Control Event *** + Lparameters keyascii + Do Case + Case keyascii=6 + Thisform.KeyPress(6,2) + Case keyascii=27 + Thisform.KeyPress(27,0) + Otherwise + DoDefault() + Endcase + ENDPROC + +ENDDEFINE + +DEFINE CLASS oleacces AS _olecontrol OF "_baza.vcx" + *< CLASSDATA: Baseclass="olecontrol" Timestamp="" Scale="Pixels" Uniqueid="" Nombre="oleacces" Parent="" ObjName="oleacces" OLEObject="C:\WINDOWS\system32\MSCOMCTL.OCX" Value="0M8R4KGxGuEAAAAAAAAAAAAAAAAAAAAAPgADAP7/CQAGAAAAAAAAAAAAAAABAAAAAQAAAAAAAAAAEAAAAgAAAAEAAAD+////AAAAAAAAAAD////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////9/////v////7///8EAAAA/v///////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////1IAbwBvAHQAIABFAG4AdAByAHkAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAWAAUA//////////8BAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADCCV/eMzcUBAwAAAMACAAAAAAAAAwBPAGwAZQBPAGIAagBlAGMAdABEAGEAdABhAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAB4AAgEDAAAAAgAAAP////8AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAagAAAAAAAAADAEEAYwBjAGUAcwBzAE8AYgBqAFMAaQB0AGUARABhAHQAYQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAJgACAP///////////////wAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAEAAABcAAAAAAAAAAMAQwBoAGEAbgBnAGUAZABQAHIAbwBwAHMAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAcAAIA////////////////AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAwAAAKIBAAAAAAAABAAAAAIAAAD+////BQAAAP7///8GAAAABwAAAAgAAAAJAAAACgAAAP7///////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////+2kEHHiYXREbFqAMDwKDYoIUM0EggAAABIIQAAZhIAALE8wWoBAAYAIgAAABkAAADtAwAACQAAANnTGQAB782rXAAAAAAAAAABAAAAAAAAAAAAAAAAAAAAAAAAACQAAAA4AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA5MzY4MjY1RS04NUZFLTExZDEtOEJFMy0wMDAwRjg3NTREQTFmAHQAIABXAGkAbgBkAG8AdwBzACAAUgBlAHAAbwByAHQAIAABAACADgAAAEhpZGVTZWxlY3Rpb24ABQAAAEwAAAAADAAAAEluZGVudGF0aW9uABEAAABODQAAAAcAAAAAAAAAAAAFAKjVGQAHAAAAAAAAAAUAAIDA6xIAAQAAAFwAH97svQEABQAE7BIATgBUAFwAUwB5AHMAdABlAG0AMwAyAAAAQ0AKAAAATGFiZWxFZGl0AAkAAABJCgAAAAAAAAAKAAAATGluZVN0eWxlAAkAAABJCgAAAAEAAAANAAAATW91c2VQb2ludGVyAAkAAABJCgAAAAAAAAAOAAAAUGF0aFNlcGFyYXRvcgAKAAAASAAAAAABAAAAXAcAAABTb3J0ZWQABQAAAEwAAAAABgAAAFN0eWxlAAkAAABJCgAAAAYAAAAMAAAAT0xFRHJhZ01vZGUACQAAAEkKAAAAAAAAAAwAAABPTEVEcm9wTW9kZQAJAAAASQoAAAAAAAAACwAAAEFwcGVhcmFuY2UACQAAAEkKAAAAAQAAAAwAAABCb3JkZXJTdHlsZQAJAAAASQoAAAABAAAACwAAAENoZWNrYm94ZXMABQAAAEwBAAAADgAAAEZ1bGxSb3dTZWxlY3QABQAAAEwAAAAADAAAAEhvdFRyYWNraW5nAAUAAABMAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" /> + + * + *m: adauga_frunze + *m: bifeaza_nod + *m: citeste_meniu + *m: citeste_pageframe + *p: cmeniu && Numele meniului + *p: cpageframe + * + + * + cmeniu = + cpageframe = + Height = 178 + Name = "oleacces" + Width = 322 + * + + PROCEDURE adauga_frunze + Lparameters lnTip,lcKey + Do Case + Case lnTip=0 && introducere + Case lnTip=1 && raport + lcProp="cnt"+lcKey + This.AddProperty(lcProp,0) + This.Nodes.Add(lcKey,4,lcKey+"1","Export") + This.Nodes.Add(lcKey,4,lcKey+"2","Listare") + If plCursor + Insert Into CRSOBIECTE (CHEIE,NIVEL,EXPLICATIE,TATA) Values(lcKey+"1",4,"Export",lcKey) + Insert Into CRSOBIECTE (CHEIE,NIVEL,EXPLICATIE,TATA) Values(lcKey+"2",4,"Listare",lcKey) + Endif + Case lnTip=2 && registru + lcProp="cnt"+lcKey + This.AddProperty(lcProp,0) + This.Nodes.Add(lcKey,4,lcKey+"1","Export") + This.Nodes.Add(lcKey,4,lcKey+"2","Listare") + This.Nodes.Add(lcKey,4,lcKey+"3","Modificare") + This.Nodes.Add(lcKey,4,lcKey+"4","Refacere") + If plCursor + Insert Into CRSOBIECTE (CHEIE,NIVEL,EXPLICATIE,TATA) Values(lcKey+"1",4,"Export",lcKey) + Insert Into CRSOBIECTE (CHEIE,NIVEL,EXPLICATIE,TATA) Values(lcKey+"2",4,"Listare",lcKey) + Insert Into CRSOBIECTE (CHEIE,NIVEL,EXPLICATIE,TATA) Values(lcKey+"3",4,"Modificare",lcKey) + Insert Into CRSOBIECTE (CHEIE,NIVEL,EXPLICATIE,TATA) Values(lcKey+"4",4,"Refacere",lcKey) + Endif + Case lnTip=3 && balanta\inreg. + lcProp="cnt"+lcKey + This.AddProperty(lcProp,0) + This.Nodes.Add(lcKey,4,lcKey+"1","Export") + This.Nodes.Add(lcKey,4,lcKey+"2","Listare") + This.Nodes.Add(lcKey,4,lcKey+"3","Modificare") + This.Nodes.Add(lcKey,4,lcKey+"4","Refacere") + If plCursor + Insert Into CRSOBIECTE (CHEIE,NIVEL,EXPLICATIE,TATA) Values(lcKey+"1",4,"Export",lcKey) + Insert Into CRSOBIECTE (CHEIE,NIVEL,EXPLICATIE,TATA) Values(lcKey+"2",4,"Listare",lcKey) + Insert Into CRSOBIECTE (CHEIE,NIVEL,EXPLICATIE,TATA) Values(lcKey+"3",4,"Modificare",lcKey) + Insert Into CRSOBIECTE (CHEIE,NIVEL,EXPLICATIE,TATA) Values(lcKey+"4",4,"Refacere",lcKey) + Endif + Case lnTip=4 && vizualizare + lcProp="cnt"+lcKey + This.AddProperty(lcProp,0) + This.Nodes.Add(lcKey,4,lcKey+"1","Export") + This.Nodes.Add(lcKey,4,lcKey+"2","Listare") + This.Nodes.Add(lcKey,4,lcKey+"3","Modificare") + This.Nodes.Add(lcKey,4,lcKey+"4","Stergere") + This.Nodes.Add(lcKey,4,lcKey+"5","Vizualizare inreg. proprii") + This.Nodes.Add(lcKey,4,lcKey+"6","Vizualizare toate inreg.") + If plCursor + Insert Into CRSOBIECTE (CHEIE,NIVEL,EXPLICATIE,TATA) Values(lcKey+"1",4,"Export",lcKey) + Insert Into CRSOBIECTE (CHEIE,NIVEL,EXPLICATIE,TATA) Values(lcKey+"2",4,"Listare",lcKey) + Insert Into CRSOBIECTE (CHEIE,NIVEL,EXPLICATIE,TATA) Values(lcKey+"3",4,"Modificare",lcKey) + Insert Into CRSOBIECTE (CHEIE,NIVEL,EXPLICATIE,TATA) Values(lcKey+"4",4,"Stergere",lcKey) + Insert Into CRSOBIECTE (CHEIE,NIVEL,EXPLICATIE,TATA) Values(lcKey+"5",4,"Vizualizare inreg.proprii",lcKey) + Insert Into CRSOBIECTE (CHEIE,NIVEL,EXPLICATIE,TATA) Values(lcKey+"6",4,"Vizualizare tot",lcKey) + Endif + Endcase + ENDPROC + + PROCEDURE bifeaza_nod + Lparameters Node,llChecked + Local loChild,i + *!* If Isnull(Node.Parent) + *!* loProp='this.cnt'+Node.Key + *!* If Node.checked + *!* &loProp=Node.children + *!* Else + *!* &loProp=0 + *!* Endif + *!* Node.bold=Node.checked + *!* loChild=Node.Child.FirstSibling + *!* For i=1 To Node.children + *!* loChild.checked=Node.checked + *!* loChild=loChild.Next + *!* Endfor + *!* Else + *!* loProp='this.cnt'+Node.Parent.Key + *!* If Node.checked + *!* &loProp=&loProp+1 + *!* Node.Parent.bold=Node.checked + *!* If &loProp=Node.Parent.children + *!* Node.Parent.checked=.T. + *!* Endif + *!* Else + *!* &loProp=&loProp-1 + *!* If Node.Parent.checked + *!* Node.Parent.checked=.F. + *!* Endif + *!* If &loProp=0 + *!* Node.Parent.bold=.F. + *!* Endif + *!* Endif + *!* Endif + loChild=Node.Child.FirstSibling + For i=1 To Node.children + If loChild.children>0 + This.bifeaza_nod(loChild,llChecked) + loChild.bold=llChecked + Endif + loChild.checked=llChecked + loChild=loChild.Next + Endfor + ENDPROC + + PROCEDURE citeste_meniu + Lparameters lnKey,lcNumeMeniu,lcOptiune + lcKey=Chr(lnKey) + This.Nodes.Add(,1,lcKey,lcOptiune) + If plCursor + Insert Into CRSOBIECTE (CHEIE,NIVEL,EXPLICATIE,TATA) Values(lcKey,1,lcOptiune,[ ]) + Endif + lnKey2=65 + k=0 + Try + lcKey2=lcKey+Chr(lnKey2) + lnKey2=lnKey2+1 + This.Nodes.Add(lcKey,4,lcKey2,'Utile') + If plCursor + Insert Into CRSOBIECTE (CHEIE,NIVEL,EXPLICATIE,TATA) Values(lcKey2,4,[Utile],lcKey) + Endif + For i=1 To Cntbar('utile') + lcOptiune=Prmbar('utile',i) + If !Empty(lcOptiune) + k=k+1 + This.Nodes.Add(lcKey2,4,lcKey2+Padl(Alltrim(Str(k)),2,[0]),lcOptiune) + If plCursor + Insert Into CRSOBIECTE (CHEIE,NIVEL,EXPLICATIE,TATA) Values(lcKey2+Padl(Alltrim(Str(k)),2,[0]),4,lcOptiune,lcKey2) + Endif + Endif + Endfor + Catch + Endtry + k=0 + Try + lcKey2=lcKey+Chr(lnKey2) + lnKey2=lnKey2+1 + This.Nodes.Add(lcKey,4,lcKey2,'Initializare') + If plCursor + Insert Into CRSOBIECTE (CHEIE,NIVEL,EXPLICATIE,TATA) Values(lcKey2,4,[Initializare],lcKey) + Endif + For i=1 To Cntbar('initializa') + lcOptiune=Prmbar('initializa',i) + If !Empty(lcOptiune) + k=k+1 + This.Nodes.Add(lcKey2,4,lcKey2+Padl(Alltrim(Str(k)),2,[0]),lcOptiune) + If plCursor + Insert Into CRSOBIECTE (CHEIE,NIVEL,EXPLICATIE,TATA) Values(lcKey2+Padl(Alltrim(Str(k)),2,[0]),4,lcOptiune,lcKey2) + Endif + Endif + Endfor + Catch + Endtry + k=0 + Try + lcKey2=lcKey+Chr(lnKey2) + This.Nodes.Add(lcKey,4,lcKey2,'Actualizari') + If plCursor + Insert Into CRSOBIECTE (CHEIE,NIVEL,EXPLICATIE,TATA) Values(lcKey2,4,[Actualizari],lcKey) + Endif + For i=1 To Cntbar('_1bs12qror') + lcOptiune=Prmbar('_1bs12qror',i) + If !Empty(lcOptiune) + k=k+1 + This.Nodes.Add(lcKey2,4,lcKey2+Padl(Alltrim(Str(k)),2,[0]),lcOptiune) + If plCursor + Insert Into CRSOBIECTE (CHEIE,NIVEL,EXPLICATIE,TATA) Values(lcKey2+Padl(Alltrim(Str(k)),2,[0]),4,lcOptiune,lcKey2) + Endif + Endif + Endfor + Catch + Endtry + ENDPROC + + PROCEDURE citeste_pageframe + Lparameters lnKey,lcPageFrame,lcTata + Local lcKey,lcProp,lcOptiune,lnNivel,lnPozitie,i,j,k,l + Store [] To lcKey,lcProp,lcOptiune + Store 0 To lnNivel,lnPozitie,i,j,k,l + If Empty(lcTata) + lcTata=Null + lnNivel=1 + Else + lnNivel=4 + Endif + Set Exact On + With &lcPageFrame + For i=1 To .PageCount + For j=1 To .PageCount + If .Pages(j).PageOrder=i + Exit + Endif + Endfor + With .Pages(j) + lcKey=Nvl(lcTata,[])+Chr(lnKey) + This.Nodes.Add(lcTata,lnNivel,lcKey,.Caption) + lcProp="cnt"+lcKey + This.AddProperty(lcProp,0) + If plCursor + Insert Into CRSOBIECTE (CHEIE,NIVEL,EXPLICATIE,TATA) Values(lcKey,lnNivel,.Caption,Nvl(lcTata,[ ])) + Endif + lcProp="cnt"+lcKey + This.AddProperty(lcProp,0) + Dimension copii(128,3) + k=1 + For l=1 To .ControlCount + Do Case + Case Alltrim(Upper(.Objects(l).Class))='PAGEFRAME' + lcNume=lcPageFrame+'.'+Alltrim(.Name)+'.'+Alltrim(Upper(.Objects(l).Name)) + This.citeste_pageframe(65,lcNume,lcKey) + Case Alltrim(Upper(.Objects(l).Class))='CW' And .Objects(l).nid_cw>0 + lcOptiune=.Objects(l).label_item1.Caption + lnPozitie=.Objects(l).nid_cw + copii(lnPozitie,1)=lcOptiune + copii(lnPozitie,2)=.Objects(l).ntip + copii(lnPozitie,3)=.Objects(l).cmeniu + k=k+1 + Endcase + Endfor + For l=1 To k-1 + This.Nodes.Add(lcKey,4,lcKey+Padl(Alltrim(Str(l)),2,[0]),copii(l,1)) + If plCursor + Insert Into CRSOBIECTE (CHEIE,NIVEL,EXPLICATIE,TATA) Values(lcKey+Padl(Alltrim(Str(l)),2,[0]),4,copii(l,1),lcKey) + Endif + *!* If !Empty(copii(l,3)) + *!* This.adauga_meniuri(copii(l,3),copii(l,2),lcKey+Padl(Alltrim(Str(l)),2,[0])) + *!* Else + This.adauga_frunze(copii(l,2),lcKey+Padl(Alltrim(Str(l)),2,[0])) + *!* Endif + Endfor + Endwith + lnKey=lnKey+1 + Endfor + Endwith + Set Exact Off + + ENDPROC + + PROCEDURE Init + Private plCursor + Store .F. To plCursor + Local lnKey,lcOptiune + This.cmeniu=[cont2000] + This.cpageframe=[oprinc.pagefr1] + *!* Create Cursor CRSOBIECTE(ID_PROG N(1),CHEIE C(20),NIVEL N(2),EXPLICATIE C(100),TATA C(20),COD C(2),ID_OBIECT N(10),ID_TATA N(10)) + *!* plCursor=.T. + This.citeste_meniu(90,This.cmeniu,"Meniu") + This.citeste_pageframe(65,This.cpageframe) + *!* Select * From CRSOBIECTE Into Table C:\OBIECTE.Dbf + *!* USE IN crsobiecte + *!* USE IN obiecte + ENDPROC + + PROCEDURE NodeCheck + *** ActiveX Control Event *** + Lparameters Node + Local loNode + *!* If Messagebox("Doriti sa suspendati?",4,"")==6 + *!* Debug + *!* Suspend + *!* Endif + llChecked=Node.checked + If Node.children<>0 + Node.bold=llChecked + Endif + If Isnull(Node.Parent) + If Node.children<>0 + This.bifeaza_nod(Node,llChecked) + Endif + Else + If Node.children<>0 + This.bifeaza_nod(Node,llChecked) + Endif + loNode=Node + Do While !Isnull(loNode.Parent) + loNode=loNode.Parent + If loNode.bold!=llChecked + loNode.bold=llChecked + Endif + Enddo + Endif + ENDPROC + +ENDDEFINE diff --git a/clase/ferestre_atasamente.vc2 b/clase/ferestre_atasamente.vc2 new file mode 100644 index 0000000..8d3fa2a --- /dev/null +++ b/clase/ferestre_atasamente.vc2 @@ -0,0 +1,1027 @@ +*-------------------------------------------------------------------------------------------------------------------------------------------------------- +* (EN) AUTOGENERATED - ATTENTION!! - NOT INTENDED FOR EXECUTION!! USE ONLY FOR MERGING CHANGES AND STORING WITH SCM TOOLS!! +*-------------------------------------------------------------------------------------------------------------------------------------------------------- +*< FOXBIN2PRG: Version="1.21" SourceFile="ferestre_atasamente.vcx" CPID="1252" /> (Solo para binarios VFP 9 / Only for VFP 9 binaries) +* +* +*< LIBCOMMENT: Application Wizard framework class library. /> +* +DEFINE CLASS ct AS container + *< CLASSDATA: Baseclass="container" Timestamp="" Scale="Pixels" Uniqueid="" /> + + * + Height = 293 + Name = "ct" + Width = 651 + * + +ENDDEFINE + +DEFINE CLASS ct_atasamente AS ct OF "ferestre_atasamente.vcx" + *< CLASSDATA: Baseclass="container" Timestamp="" Scale="Pixels" Uniqueid="" /> + + *-- OBJECTDATA items order determines ZOrder / El orden de los items OBJECTDATA determina el ZOrder + *< OBJECTDATA: ObjPath="_shape1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="grid_linkuri" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="grid_linkuri.Column1.Header1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="grid_linkuri.Column1.Text1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="grid_linkuri.Column2.Header1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="grid_linkuri.Column2.Text1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="grid_linkuri.Column3.Header1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="grid_linkuri.Column3.Text1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="grid_linkuri.Column4.Header1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="grid_linkuri.Column4.Text1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="grid_linkuri.Column5.Header1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="grid_linkuri.Column5.Text1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="But_sterge1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="But_edit1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="But_attach1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="But_attach2" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="Label1" UniqueID="" Timestamp="" /> + + * + Height = 479 + Name = "ct_atasamente" + Width = 795 + * + + ADD OBJECT '_shape1' AS _shape WITH ; + Height = 479, ; + Left = 0, ; + Name = "_shape1", ; + SpecialEffect = 0, ; + Top = 0, ; + Width = 795, ; + ZOrderSet = 0 + *< END OBJECT: ClassLib="_baza.vcx" BaseClass="shape" /> + + ADD OBJECT 'But_attach1' AS but_attach WITH ; + Anchor = 9, ; + caction = do_upload, ; + cpicturedown = uparrow.bmp, ; + cpictureup = uparrow.bmp, ; + Height = 27, ; + Left = 674, ; + Name = "But_attach1", ; + Picture = ..\grafice\uparrow.bmp, ; + ToolTipText = "Salveaza document pe server", ; + Top = 2, ; + Width = 30, ; + ZOrderSet = 4 + *< END OBJECT: ClassLib="cmd_butoane.vcx" BaseClass="commandbutton" /> + + ADD OBJECT 'But_attach2' AS but_attach WITH ; + Anchor = 9, ; + caction = do_download, ; + cpicturedown = downarrow.bmp, ; + cpictureup = downarrow.bmp, ; + Height = 27, ; + Left = 704, ; + Name = "But_attach2", ; + Picture = ..\grafice\downarrow.bmp, ; + ToolTipText = "Descarca document", ; + Top = 2, ; + Width = 30, ; + ZOrderSet = 5 + *< END OBJECT: ClassLib="cmd_butoane.vcx" BaseClass="commandbutton" /> + + ADD OBJECT 'But_edit1' AS but_sterge WITH ; + Anchor = 9, ; + caction = do_open, ; + cpicturedown = eye_jos.bmp, ; + cpictureup = eye_sus.bmp, ; + Left = 734, ; + Name = "But_edit1", ; + Picture = ..\grafice\eye_sus.bmp, ; + TabIndex = 2, ; + ToolTipText = "Vizualizeaza document", ; + Top = 2, ; + Visible = .T., ; + ZOrderSet = 3 + *< END OBJECT: ClassLib="cmd_butoane.vcx" BaseClass="commandbutton" /> + + ADD OBJECT 'But_sterge1' AS but_sterge WITH ; + Anchor = 9, ; + caction = inainte_de_do_sterge_atasament, ; + Left = 763, ; + Name = "But_sterge1", ; + TabIndex = 2, ; + ToolTipText = "Sterge document", ; + Top = 2, ; + Visible = .T., ; + ZOrderSet = 2 + *< END OBJECT: ClassLib="cmd_butoane.vcx" BaseClass="commandbutton" /> + + ADD OBJECT 'grid_linkuri' AS _grdrow WITH ; + Anchor = 15, ; + ColumnCount = 5, ; + DeleteMark = .F., ; + GridLineColor = 192,192,192, ; + Height = 448, ; + HighlightStyle = 2, ; + Left = 0, ; + Name = "grid_linkuri", ; + Panel = 1, ; + ReadOnly = .T., ; + RecordMark = .F., ; + RecordSource = "crsAtasamente", ; + Top = 30, ; + Width = 794, ; + ZOrderSet = 1, ; + Column1.ControlSource = "recno()", ; + Column1.FontName = "Arial", ; + Column1.Name = "Column1", ; + Column1.ReadOnly = .T., ; + Column1.Width = 44, ; + Column2.ColumnOrder = 3, ; + Column2.ControlSource = "descriere", ; + Column2.FontName = "Arial", ; + Column2.Name = "Column2", ; + Column2.ReadOnly = .T., ; + Column2.Width = 253, ; + Column3.ColumnOrder = 2, ; + Column3.ControlSource = "nume_fisier", ; + Column3.FontName = "Arial", ; + Column3.Name = "Column3", ; + Column3.ReadOnly = .T., ; + Column3.Width = 289, ; + Column4.ControlSource = "utilizator", ; + Column4.FontName = "Arial", ; + Column4.Name = "Column4", ; + Column4.ReadOnly = .T., ; + Column4.Width = 88, ; + Column5.ControlSource = "dataora", ; + Column5.FontName = "Arial", ; + Column5.Name = "Column5", ; + Column5.ReadOnly = .T., ; + Column5.Width = 93 + *< END OBJECT: ClassLib="_grd_base.vcx" BaseClass="grid" /> + + ADD OBJECT 'grid_linkuri.Column1.Header1' AS header WITH ; + Alignment = 2, ; + Caption = "Nr. crt.", ; + FontName = "Arial", ; + Name = "Header1" + *< END OBJECT: BaseClass="header" /> + + ADD OBJECT 'grid_linkuri.Column1.Text1' AS textbox WITH ; + BackColor = 255,255,255, ; + BorderStyle = 0, ; + FontName = "Arial", ; + ForeColor = 0,0,0, ; + Margin = 0, ; + Name = "Text1", ; + ReadOnly = .T., ; + SelectedBackColor = 100,185,255 + *< END OBJECT: BaseClass="textbox" /> + + ADD OBJECT 'grid_linkuri.Column2.Header1' AS header WITH ; + Alignment = 2, ; + Caption = "Descriere", ; + FontName = "Arial", ; + Name = "Header1" + *< END OBJECT: BaseClass="header" /> + + ADD OBJECT 'grid_linkuri.Column2.Text1' AS textbox WITH ; + BackColor = 255,255,255, ; + BorderStyle = 0, ; + FontName = "Arial", ; + ForeColor = 0,0,0, ; + Margin = 0, ; + Name = "Text1", ; + ReadOnly = .T., ; + SelectedBackColor = 100,185,255 + *< END OBJECT: BaseClass="textbox" /> + + ADD OBJECT 'grid_linkuri.Column3.Header1' AS header WITH ; + Alignment = 2, ; + Caption = "Fisier", ; + FontName = "Arial", ; + Name = "Header1" + *< END OBJECT: BaseClass="header" /> + + ADD OBJECT 'grid_linkuri.Column3.Text1' AS textbox WITH ; + BackColor = 255,255,255, ; + BorderStyle = 0, ; + FontName = "Arial", ; + ForeColor = 0,0,0, ; + Margin = 0, ; + Name = "Text1", ; + ReadOnly = .T., ; + SelectedBackColor = 100,185,255 + *< END OBJECT: BaseClass="textbox" /> + + ADD OBJECT 'grid_linkuri.Column4.Header1' AS header WITH ; + Alignment = 2, ; + Caption = "Utilzator", ; + FontName = "Arial", ; + Name = "Header1" + *< END OBJECT: BaseClass="header" /> + + ADD OBJECT 'grid_linkuri.Column4.Text1' AS textbox WITH ; + BackColor = 255,255,255, ; + BorderStyle = 0, ; + FontName = "Arial", ; + ForeColor = 0,0,0, ; + Margin = 0, ; + Name = "Text1", ; + ReadOnly = .T., ; + SelectedBackColor = 100,185,255 + *< END OBJECT: BaseClass="textbox" /> + + ADD OBJECT 'grid_linkuri.Column5.Header1' AS header WITH ; + Alignment = 2, ; + Caption = "Dataora", ; + FontName = "Arial", ; + Name = "Header1" + *< END OBJECT: BaseClass="header" /> + + ADD OBJECT 'grid_linkuri.Column5.Text1' AS textbox WITH ; + BackColor = 255,255,255, ; + BorderStyle = 0, ; + FontName = "Arial", ; + ForeColor = 0,0,0, ; + Margin = 0, ; + Name = "Text1", ; + ReadOnly = .T., ; + SelectedBackColor = 100,185,255 + *< END OBJECT: BaseClass="textbox" /> + + ADD OBJECT 'Label1' AS label WITH ; + Caption = "Documente atasate la contract", ; + FontSize = 10, ; + Height = 17, ; + Left = 7, ; + Name = "Label1", ; + Top = 7, ; + Width = 169, ; + ZOrderSet = 6 + *< END OBJECT: BaseClass="label" /> + + PROCEDURE grid_linkuri.Column2.Text1.DblClick + *thisform.inainte_de_do_modifica() + this.Parent.Parent.Parent.but_edit1.Click + ENDPROC + + PROCEDURE grid_linkuri.Column3.Text1.DblClick + *thisform.do_open() + this.Parent.Parent.Parent.but_edit1.Click + + ENDPROC + + PROCEDURE grid_linkuri.Column3.Text1.RightClick + x = xmenu('Descarca document;Vizualizeaza document') + Do Case + Case x = 1 + *thisform.do_download() + this.Parent.Parent.Parent.buT_ATTACH2.Click + Case x = 2 + *thisform.do_open() + this.Parent.Parent.Parent.but_edit1.Click + Endcase + + ENDPROC + +ENDDEFINE + +DEFINE CLASS frm_atas_nou AS _frmbase OF "_frm_base.vcx" + *< CLASSDATA: Baseclass="form" Timestamp="" Scale="Pixels" Uniqueid="" /> + + *-- OBJECTDATA items order determines ZOrder / El orden de los items OBJECTDATA determina el ZOrder + *< OBJECTDATA: ObjPath="Label1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="txtDescriere" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="Label2" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="txtNume_fisier" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="cmdOpen" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="Command3" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="But_renunt1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="Ct_proiect" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="Ct_contract" UniqueID="" Timestamp="" /> + + * + *m: do_cauta_contract + *m: do_cauta_proiect + * + + * + BorderStyle = 1 + DoCreate = .T. + Height = 156 + Name = "frm_atas_nou" + Width = 681 + _shape1.Height = 29 + _shape1.Left = 0 + _shape1.Name = "_shape1" + _shape1.Top = 0 + _shape1.Width = 804 + _shape2.Height = 29 + _shape2.Left = 619 + _shape2.Name = "_shape2" + _shape2.Top = 0 + _shape2.Width = 61 + Lb_titlu_alb_b121.Caption = "Atasare document" + Lb_titlu_alb_b121.Left = 6 + Lb_titlu_alb_b121.Name = "Lb_titlu_alb_b121" + Lb_titlu_alb_b121.TabIndex = 10 + BUT_TERMIN1.Left = 650 + BUT_TERMIN1.Name = "BUT_TERMIN1" + BUT_TERMIN1.TabIndex = 7 + BUT_TERMIN1.Top = 1 + Gridsort1.Left = 132 + Gridsort1.Name = "Gridsort1" + Gridsort1.Top = 12 + * + + ADD OBJECT 'But_renunt1' AS but_renunt WITH ; + Left = 620, ; + Name = "But_renunt1", ; + TabIndex = 8, ; + Top = 1 + *< END OBJECT: ClassLib="cmd_butoane.vcx" BaseClass="commandbutton" /> + + ADD OBJECT 'cmdOpen' AS commandbutton WITH ; + Caption = "", ; + Enabled = .F., ; + Height = 22, ; + Left = 645, ; + Name = "cmdOpen", ; + Picture = ..\grafice\open.bmp, ; + TabIndex = 9, ; + ToolTipText = "Deschideti fisierul", ; + Top = 39, ; + Width = 27 + *< END OBJECT: BaseClass="commandbutton" /> + + ADD OBJECT 'Command3' AS commandbutton WITH ; + Caption = "...", ; + Height = 22, ; + Left = 616, ; + Name = "Command3", ; + TabIndex = 6, ; + ToolTipText = "Alegeti fisierul", ; + Top = 39, ; + Width = 29 + *< END OBJECT: BaseClass="commandbutton" /> + + ADD OBJECT 'Ct_contract' AS ct_clb_cautare_var WITH ; + cprocedura = Thisform.do_cauta_contract, ; + ctooltip = Contract, ; + cvar_afisata = polink.contract, ; + Left = 6, ; + Name = "Ct_contract", ; + TabIndex = 4, ; + Top = 119, ; + shape_cautare.Name = "shape_cautare", ; + img_cautare.Name = "img_cautare", ; + lb_cautare.Caption = "Contract", ; + lb_cautare.Name = "lb_cautare", ; + tx_cautare.Name = "tx_cautare" + *< END OBJECT: ClassLib="caut_ora.vcx" BaseClass="container" /> + + ADD OBJECT 'Ct_proiect' AS ct_clb_cautare_var WITH ; + cprocedura = Thisform.do_cauta_proiect, ; + ctooltip = Proiect, ; + cvar_afisata = polink.proiect, ; + Left = 6, ; + Name = "Ct_proiect", ; + TabIndex = 3, ; + Top = 91, ; + Visible = .F., ; + shape_cautare.Name = "shape_cautare", ; + img_cautare.Name = "img_cautare", ; + lb_cautare.Caption = "Proiect", ; + lb_cautare.Name = "lb_cautare", ; + tx_cautare.Name = "tx_cautare" + *< END OBJECT: ClassLib="caut_ora.vcx" BaseClass="container" /> + + ADD OBJECT 'Label1' AS label WITH ; + AutoSize = .T., ; + BackStyle = 0, ; + Caption = "Descriere", ; + Height = 17, ; + Left = 6, ; + Name = "Label1", ; + TabIndex = 11, ; + Top = 68, ; + Width = 56 + *< END OBJECT: BaseClass="label" /> + + ADD OBJECT 'Label2' AS label WITH ; + AutoSize = .T., ; + BackStyle = 0, ; + Caption = "Fisier", ; + Height = 17, ; + Left = 6, ; + Name = "Label2", ; + TabIndex = 5, ; + Top = 42, ; + Width = 33 + *< END OBJECT: BaseClass="label" /> + + ADD OBJECT 'txtDescriere' AS textbox WITH ; + ControlSource = "poLink.descriere", ; + Format = "!k", ; + Height = 23, ; + Left = 77, ; + Name = "txtDescriere", ; + TabIndex = 2, ; + Top = 65, ; + Width = 535 + *< END OBJECT: BaseClass="textbox" /> + + ADD OBJECT 'txtNume_fisier' AS textbox WITH ; + ControlSource = "poLink.nume_fisier", ; + Enabled = .F., ; + Format = "!k", ; + Height = 23, ; + Left = 77, ; + Name = "txtNume_fisier", ; + TabIndex = 1, ; + Top = 39, ; + Width = 535 + *< END OBJECT: BaseClass="textbox" /> + + PROCEDURE do_cauta_contract + Local lcSelect,lcFiltru,lcSchema,lcOrder,lccoloane,lcTitlu,lcTitluColoane, lcNumeProc, llToateIreg, lcFiltruOriginal + Local locauta + + *pcselect = [select id_proiect,SUBSTR(denumire,0,250) as denumire,SUBSTR(descriere,0,250) as descriere,client from con_vproiecte] + lcSelect = [select id_ctr, denumire, contract from vcontracte] + + lcFiltru = [1=2] + lcSchema = [id_ctr n(8), denumire c(100), contract c(100)] + lcOrder = [denumire] + lccoloane = [denumire, contract] + lcTitlu = [Alegeti contractul] + lcTitluColoane = [Partener, Contract] + lcFiltruOriginal = [] + locauta = cauta_alfa(lcSelect,lcFiltru,lcSchema,lcOrder,lccoloane,lcTitlu,lcTitluColoane, lcNumeProc, llToateIreg, lcFiltruOriginal) + *!* Parameters tcselect,tcfiltru,tcschema,tcorder,tccoloana,tcTitlu,tcTitluColoana,tcNume_Proc,tl_AllInList,tcFiltruOriginal + If buton # 2 + polink.contract = ALLTRIM(locauta.denumire) + ' ' + ALLTRIM(loCauta.contract) + polink.id_ctr = locauta.id_ctr + ELSE + polink.contract = [] + polink.id_ctr = null + Endif + This.Refresh + ENDPROC + + PROCEDURE do_cauta_proiect + Local lcSelect,lcFiltru,lcSchema,lcOrder,lccoloane,lcTitlu,lcTitluColoane, lcNumeProc, llToateIreg, lcFiltruOriginal + Local locauta + lcSelect = [select id_proiect,SUBSTR(denumire,0,250) as denumire,SUBSTR(descriere,0,250) as descriere,client ]+; + [ from con_vproiecte] + lcFiltru = [1=2] + lcSchema = [id_proiect n(10),denumire v(250),descriere v(250),client v(70)] + lcOrder = [indicativ] + lccoloane = [denumire,descriere,client] + lcTitlu = [Alegeti proiectul] + lcTitluColoane = [Denumire,Descriere,Client] + lcFiltruOriginal = [] + lcNumeProc = [] + llToateIreg=.F. + locauta = cauta_alfa(lcSelect,lcFiltru,lcSchema,lcOrder,lccoloane,lcTitlu,lcTitluColoane, lcNumeProc, llToateIreg, lcFiltruOriginal) + *!* Parameters tcselect,tcfiltru,tcschema,tcorder,tccoloana,tcTitlu,tcTitluColoana,tcNume_Proc,tl_AllInList,tcFiltruOriginal + If buton # 2 + polink.proiect = locauta.denumire + polink.id_proiect = locauta.id_proiect + Else + polink.proiect = goRegistratura.proiect + polink.id_proiect = goRegistratura.id_proiect + Endif + This.Refresh() + + ENDPROC + + PROCEDURE Show + Lparameters nStyle + If Upper(Alltrim(gcNumeProgram)) = "ROAREGISTRATURA" + Thisform.ct_proiect.Visible = .T. + Thisform.ct_contract.Visible = .T. + Else + Thisform.Height = 90 + Endif + + + ENDPROC + + PROCEDURE cmdOpen.Click + PRIVATE oWord + LOCAL lcDocument + + lcDocument = pcLink + + IF EMPTY(lcDocument) + aMESSAGEBOX("Alegeti fisierul pe care doriti sa-l deschideti! "+lcDocument,16,"Eroare") + RETURN + ENDIF + + IF !FILE(lcDocument) + aMESSAGEBOX("Nu exista fisierul "+lcDocument,16,"Eroare") + RETURN + ENDIF + + open_default_app(lcDocument) + + + ENDPROC + + PROCEDURE Command3.Click + LOCAL lcFisier + + pcLink = GETFILE("*","Alegeti fisierul") + lcFisier = JUSTFNAME(pcLink) + thisform.txtNume_fisier.Value = lcFisier + thisform.txtNume_fisier.SetFocus + + thisform.cmdOpen.Enabled = .T. + ENDPROC + +ENDDEFINE + +DEFINE CLASS frm_dg AS _frmbase OF "_frm_base.vcx" + *< CLASSDATA: Baseclass="form" Timestamp="" Scale="Pixels" Uniqueid="" /> + + *-- OBJECTDATA items order determines ZOrder / El orden de los items OBJECTDATA determina el ZOrder + *< OBJECTDATA: ObjPath="_shape3" UniqueID="" Timestamp="" /> + + * + *m: blocheaza_campuri + *m: deblocheaza_campuri + * + + * + BorderStyle = 0 + DoCreate = .T. + Height = 282 + Name = "frm_dg" + Width = 417 + WindowType = 0 + _shape1.Name = "_shape1" + _shape1.Top = 1000 + _shape1.ZOrderSet = 1 + _shape2.Left = 1000 + _shape2.Name = "_shape2" + _shape2.Visible = .F. + _shape2.ZOrderSet = 2 + Lb_titlu_alb_b121.FontBold = .F. + Lb_titlu_alb_b121.FontSize = 9 + Lb_titlu_alb_b121.ForeColor = 0,0,0 + Lb_titlu_alb_b121.Left = 8 + Lb_titlu_alb_b121.Name = "Lb_titlu_alb_b121" + Lb_titlu_alb_b121.Top = 6 + Lb_titlu_alb_b121.ZOrderSet = 3 + BUT_TERMIN1.Name = "BUT_TERMIN1" + BUT_TERMIN1.Top = 1000 + BUT_TERMIN1.ZOrderSet = 4 + Gridsort1.Name = "Gridsort1" + * + + ADD OBJECT '_shape3' AS _shape WITH ; + Anchor = 11, ; + BackColor = 197,214,254, ; + BorderColor = 197,214,254, ; + Height = 24, ; + Left = -1, ; + Name = "_shape3", ; + Top = -2, ; + Width = 804, ; + ZOrderSet = 0 + *< END OBJECT: ClassLib="_baza.vcx" BaseClass="shape" /> + + PROCEDURE Activate + DoDefault() + + If Upper(Alltrim(gcNumeProgram)) <> "ROALUCRARI" + This.Left = 202 + This.Width = _Screen.Width - 206 + This.Top = IIF(TYPE("oprinc")="O",oprinc.pagefr1.Top,goFundal._pgfrmbase1.Top) + 34 + 55 + This.Height = _Screen.Height - This.Top - 2 + Endif + + + + ENDPROC + + PROCEDURE blocheaza_campuri + ENDPROC + + PROCEDURE deblocheaza_campuri + ENDPROC + +ENDDEFINE + +DEFINE CLASS frm_viz_atasamente AS frm_dg OF "ferestre_atasamente.vcx" + *< CLASSDATA: Baseclass="form" Timestamp="" Scale="Pixels" Uniqueid="" /> + + *-- OBJECTDATA items order determines ZOrder / El orden de los items OBJECTDATA determina el ZOrder + *< OBJECTDATA: ObjPath="grid_linkuri" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="grid_linkuri.Column1.Header1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="grid_linkuri.Column1.Text1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="grid_linkuri.Column2.Header1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="grid_linkuri.Column2.Text1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="grid_linkuri.Column3.Header1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="grid_linkuri.Column3.Text1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="grid_linkuri.Column4.Header1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="grid_linkuri.Column4.Text1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="grid_linkuri.Column5.Header1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="grid_linkuri.Column5.Text1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="But_sterge1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="But_edit1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="But_attach1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="But_attach2" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="But_modifica1" UniqueID="" Timestamp="" /> + + * + *m: do_download + *m: do_open + *m: do_upload + * + + * + BorderStyle = 1 + cgridsortlist = grid_linkuri + DoCreate = .T. + Height = 330 + Name = "frm_viz_atasamente" + Width = 633 + _shape3.Name = "_shape3" + _shape1.Name = "_shape1" + _shape2.Height = 29 + _shape2.Name = "_shape2" + _shape2.Top = 0 + _shape2.Width = 91 + Lb_titlu_alb_b121.Caption = "Documente atasate" + Lb_titlu_alb_b121.Left = 6 + Lb_titlu_alb_b121.Name = "Lb_titlu_alb_b121" + Gridsort1.Left = 168 + Gridsort1.Name = "Gridsort1" + Gridsort1.Top = 12 + BUT_TERMIN1.Anchor = 9 + BUT_TERMIN1.Left = 604 + BUT_TERMIN1.Name = "BUT_TERMIN1" + BUT_TERMIN1.Top = -2 + BUT_TERMIN1.Visible = .F. + * + + ADD OBJECT 'But_attach1' AS but_attach WITH ; + Anchor = 9, ; + caction = do_upload, ; + cpicturedown = uparrow.bmp, ; + cpictureup = uparrow.bmp, ; + Enabled = .F., ; + Height = 31, ; + Left = 456, ; + Name = "But_attach1", ; + Picture = ..\grafice\uparrow.bmp, ; + ToolTipText = "Salveaza document pe server", ; + Top = -7, ; + Width = 30 + *< END OBJECT: ClassLib="cmd_butoane.vcx" BaseClass="commandbutton" /> + + ADD OBJECT 'But_attach2' AS but_attach WITH ; + Anchor = 9, ; + caction = do_download, ; + cpicturedown = downarrow.bmp, ; + cpictureup = downarrow.bmp, ; + Left = 486, ; + Name = "But_attach2", ; + Picture = ..\grafice\downarrow.bmp, ; + ToolTipText = "Descarca document", ; + Top = -3 + *< END OBJECT: ClassLib="cmd_butoane.vcx" BaseClass="commandbutton" /> + + ADD OBJECT 'But_edit1' AS but_sterge WITH ; + Anchor = 9, ; + caction = do_open, ; + cpicturedown = eye_jos.bmp, ; + cpictureup = eye_sus.bmp, ; + Left = 516, ; + Name = "But_edit1", ; + Picture = ..\grafice\eye_sus.bmp, ; + TabIndex = 2, ; + ToolTipText = "Vizualizeaza document", ; + Top = -2, ; + Visible = .T. + *< END OBJECT: ClassLib="cmd_butoane.vcx" BaseClass="commandbutton" /> + + ADD OBJECT 'But_modifica1' AS but_modifica WITH ; + Anchor = 9, ; + Enabled = .F., ; + Left = 542, ; + Name = "But_modifica1", ; + ToolTipText = "Modifica descriere", ; + Top = -2, ; + Visible = .T. + *< END OBJECT: ClassLib="cmd_butoane.vcx" BaseClass="commandbutton" /> + + ADD OBJECT 'But_sterge1' AS but_sterge WITH ; + Anchor = 9, ; + Enabled = .F., ; + Left = 574, ; + Name = "But_sterge1", ; + TabIndex = 2, ; + ToolTipText = "Sterge document", ; + Top = -2, ; + Visible = .T. + *< END OBJECT: ClassLib="cmd_butoane.vcx" BaseClass="commandbutton" /> + + ADD OBJECT 'grid_linkuri' AS _grdrow WITH ; + Anchor = 15, ; + ColumnCount = 5, ; + DeleteMark = .F., ; + GridLineColor = 192,192,192, ; + Height = 280, ; + HighlightStyle = 2, ; + Left = 6, ; + Name = "grid_linkuri", ; + Panel = 1, ; + ReadOnly = .T., ; + RecordMark = .F., ; + RecordSource = "crsAtasamente", ; + Top = 33, ; + Width = 614, ; + Column1.ControlSource = "recno()", ; + Column1.Name = "Column1", ; + Column1.ReadOnly = .T., ; + Column1.Width = 44, ; + Column2.ColumnOrder = 3, ; + Column2.ControlSource = "descriere", ; + Column2.Name = "Column2", ; + Column2.ReadOnly = .T., ; + Column2.Width = 269, ; + Column3.ColumnOrder = 2, ; + Column3.ControlSource = "nume_fisier", ; + Column3.Name = "Column3", ; + Column3.ReadOnly = .T., ; + Column3.Width = 303, ; + Column4.ControlSource = "utilizator", ; + Column4.Name = "Column4", ; + Column4.ReadOnly = .T., ; + Column4.Width = 88, ; + Column5.ControlSource = "dataora", ; + Column5.Name = "Column5", ; + Column5.ReadOnly = .T., ; + Column5.Width = 79 + *< END OBJECT: ClassLib="_grd_base.vcx" BaseClass="grid" /> + + ADD OBJECT 'grid_linkuri.Column1.Header1' AS header WITH ; + Alignment = 2, ; + Caption = "Nr. crt.", ; + Name = "Header1" + *< END OBJECT: BaseClass="header" /> + + ADD OBJECT 'grid_linkuri.Column1.Text1' AS textbox WITH ; + BackColor = 255,255,255, ; + BorderStyle = 0, ; + ForeColor = 0,0,0, ; + Margin = 0, ; + Name = "Text1", ; + ReadOnly = .T. + *< END OBJECT: BaseClass="textbox" /> + + ADD OBJECT 'grid_linkuri.Column2.Header1' AS header WITH ; + Alignment = 2, ; + Caption = "Descriere", ; + Name = "Header1" + *< END OBJECT: BaseClass="header" /> + + ADD OBJECT 'grid_linkuri.Column2.Text1' AS textbox WITH ; + BackColor = 255,255,255, ; + BorderStyle = 0, ; + ForeColor = 0,0,0, ; + Margin = 0, ; + Name = "Text1", ; + ReadOnly = .T. + *< END OBJECT: BaseClass="textbox" /> + + ADD OBJECT 'grid_linkuri.Column3.Header1' AS header WITH ; + Alignment = 2, ; + Caption = "Fisier", ; + Name = "Header1" + *< END OBJECT: BaseClass="header" /> + + ADD OBJECT 'grid_linkuri.Column3.Text1' AS textbox WITH ; + BackColor = 255,255,255, ; + BorderStyle = 0, ; + ForeColor = 0,0,0, ; + Margin = 0, ; + Name = "Text1", ; + ReadOnly = .T. + *< END OBJECT: BaseClass="textbox" /> + + ADD OBJECT 'grid_linkuri.Column4.Header1' AS header WITH ; + Alignment = 2, ; + Caption = "Utilzator", ; + Name = "Header1" + *< END OBJECT: BaseClass="header" /> + + ADD OBJECT 'grid_linkuri.Column4.Text1' AS textbox WITH ; + BackColor = 255,255,255, ; + BorderStyle = 0, ; + ForeColor = 0,0,0, ; + Margin = 0, ; + Name = "Text1" + *< END OBJECT: BaseClass="textbox" /> + + ADD OBJECT 'grid_linkuri.Column5.Header1' AS header WITH ; + Alignment = 2, ; + Caption = "Dataora", ; + Name = "Header1" + *< END OBJECT: BaseClass="header" /> + + ADD OBJECT 'grid_linkuri.Column5.Text1' AS textbox WITH ; + BackColor = 255,255,255, ; + BorderStyle = 0, ; + ForeColor = 0,0,0, ; + Margin = 0, ; + Name = "Text1" + *< END OBJECT: BaseClass="textbox" /> + + PROCEDURE blocheaza_campuri + this.but_attach1.Enabled = .F. + *this.but_attach2.Enabled = .F. + this.but_sterge1.Enabled = .F. + THIS.BUT_MODIFICA1.Enabled = .F. + + + + ENDPROC + + PROCEDURE deblocheaza_campuri + this.but_attach1.Enabled = .T. + *this.but_attach2.Enabled = .T. + this.but_sterge1.Enabled = .T. + THIS.BUT_MODIFICA1.Enabled = .T. + + ENDPROC + + PROCEDURE do_download + Lparameters tcFisSalvat + + Private poLink + Store '' To poLink + Local lcSchema, lcSelect, lcOrder, lcFiltru, lcFiltruOriginal, llAfiseaza, lcgroup, lcFiltruOriginal + Local lcTabel, lcFisSalvat, lnIdAtas, lcFisier + + lcTabel = Thisform.grid_linkuri.RecordSource + + Select (lcTabel) + If Reccount() >0 + If Pcount() = 0 Or Type('tcFisSalvat') <> 'C' + lcDir = Getdir('c:\',"Director","Directorul unde doriti sa salvati fisierul",64) + If Empty(lcDir) + Return + Endif + If !Empty(nume_fisier) + lcFisSalvat = Addbs(lcDir)+Alltrim(nume_fisier) + Endif + Else + lcFisSalvat = tcFisSalvat + Endif + If !Empty(lcFisSalvat) + + lnIdAtas = id_atas + lcSchema = [fisier w ] + lcSelect = [select fisier from atas_atasamente where id_atas = ] + Alltrim(Str(lnIdAtas)) + lcOrder = [] + lcgroup = [] + lcFiltru = [] + lcFiltruOriginal = [] + llModParam = .T. + llAfiseaza = .F. + + gencursor('poLink','cRegFisierTemp', lcSelect, lcFiltru, lcSchema, lcOrder, llAfiseaza, lcgroup, llModParam, lcFiltruOriginal) + poLink.ca_baza1.afisare() + If Used('cRegFisierTemp') + lcFisier = fisier + Use In (Select('cRegFisierTemp')) + + Strtofile(lcFisier, lcFisSalvat) + open_default_app(lcFisSalvat) + + Endif + + + Endif + Endif + + ENDPROC + + PROCEDURE do_open + Local lcTabel, lcFisSalvat + + lcTabel = Thisform.grid_linkuri.RecordSource + Select (lcTabel) + If Reccount() >0 + IF !EMPTY(NVL(nume_fisier,'')) + lcFisSalvat = Addbs(gcTempPath)+ALLTRIM(nume_fisier) + this.do_download(lcFisSalvat) + ENDIF + Endif + + ENDPROC + + PROCEDURE do_upload + Local lcTabelLinkuri + lcTabelLinkuri = Thisform.grid_linkuri.RecordSource + + DO upload WITH (lcTabelLinkuri) IN oproceduri_atasamente.prg + + Thisform.grid_linkuri.Refresh + + + ENDPROC + + PROCEDURE inainte_de_do_modifica + Local lcTabelLinkuri + lcTabelLinkuri = Thisform.grid_linkuri.RecordSource + + DO modifica_atasament WITH (lcTabelLinkuri) IN oproceduri_atasamente.prg + + Thisform.grid_linkuri.Refresh + ENDPROC + + PROCEDURE inainte_de_do_sterge + Local lcTabelLinkuri, lnRaspuns, lnInreg + lcTabelLinkuri = Thisform.grid_linkuri.RecordSource + Store 0 To lnRaspuns, lnInreg + + Select (lcTabelLinkuri) + lnRec = Recno() + Count For !Deleted() To lnInreg + + If lnInreg > 0 + lnRaspuns = amessagebox('Doriti sa stergeti documentul?',4+32,"Confirmare stergere") + If lnRaspuns = 7 && 7 = No ; 6 = Yes + Return + Endif + + Select (lcTabelLinkuri) + Goto lnRec + pcId_atas = Alltrim(Str(id_atas)) + *!* V 2.0.1 + lcSql = [update atas_referinte set sters = 1, dataoras = SYSDATE, id_utils = ] + Alltrim(Str(gnIdUtil)) + ; + [ WHERE id_atas = ] + pcId_atas + Do Case + Case Upper(Alltrim(gcNumeProgram)) = "ROAREGISTRATURA" + lcSql = lcSql + [ and id_program = 70 and id_entitate=]+Alltrim(Str(goRegistratura.id_reg)) + Case Upper(Alltrim(gcNumeProgram)) = "ROACONTRACTE" + lcSql = lcSql + [ and id_program = 21 and id_entitate=]+Alltrim(Str(goContract.id_ctr)) + Case Upper(Alltrim(gcNumeProgram)) = "ROALUCRARI" + lcSql = lcSql + [ and id_program = 13 and id_entitate=]+Alltrim(Str(crsProiecte.id_proiect)) + Endcase + + lnSucces = goExecutor.oExecute(lcSql) + + If lnSucces < 0 + aMESSAGEBOX(goExecutor.cEroare,0+16,"Eroare") + Return + Endif + + Select (lcTabelLinkuri) + Delete + + Thisform.grid_linkuri.SetFocus() + Thisform.but_attach1.SetFocus() + Select (lcTabelLinkuri) + Locate + Thisform.grid_linkuri.SetFocus() + Endif + + ENDPROC + + PROCEDURE Show + LPARAMETERS nStyle + If Upper(Alltrim(gcNumeProgram)) = "ROALUCRARI" && in RoaLucrari, arat fereastra pe click-dr la lista proiectelor + THIS.But_sterge1.Enabled = .T. + this.but_MODIFICA1.Enabled = .T. + this.buT_TERMIN1.Visible = .T. + ENDIF + + ENDPROC + + PROCEDURE grid_linkuri.Column2.Text1.DblClick + thisform.inainte_de_do_modifica() + ENDPROC + + PROCEDURE grid_linkuri.Column3.Text1.DblClick + thisform.do_open() + + ENDPROC + + PROCEDURE grid_linkuri.Column3.Text1.RightClick + x = xmenu('Descarca document;Vizualizeaza document;' + IIF(THISFORM.BUT_MODIFICA1.Enabled, 'Modifica descriere', '\Modifica descriere')) + Do Case + Case x = 1 + thisform.do_download() + Case x = 2 + thisform.do_open() + Case x = 3 + thisform.inainte_de_do_modifica() + Endcase + + ENDPROC + +ENDDEFINE diff --git a/clase/ferestre_cere_date.vc2 b/clase/ferestre_cere_date.vc2 new file mode 100644 index 0000000..cdb75f8 --- /dev/null +++ b/clase/ferestre_cere_date.vc2 @@ -0,0 +1,3707 @@ +*-------------------------------------------------------------------------------------------------------------------------------------------------------- +* (EN) AUTOGENERATED - ATTENTION!! - NOT INTENDED FOR EXECUTION!! USE ONLY FOR MERGING CHANGES AND STORING WITH SCM TOOLS!! +*-------------------------------------------------------------------------------------------------------------------------------------------------------- +*< FOXBIN2PRG: Version="1.21" SourceFile="ferestre_cere_date.vcx" CPID="1252" /> (Solo para binarios VFP 9 / Only for VFP 9 binaries) +* +* +DEFINE CLASS ct AS container + *< CLASSDATA: Baseclass="container" Timestamp="" Scale="Pixels" Uniqueid="" /> + + *-- OBJECTDATA items order determines ZOrder / El orden de los items OBJECTDATA determina el ZOrder + *< OBJECTDATA: ObjPath="Shape1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="Text1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="Text2" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="Text3" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="Text4" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="Line1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="Line2" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="Line3" UniqueID="" Timestamp="" /> + + * + BackColor = 255,255,255 + Height = 20 + Name = "ct" + Width = 52 + * + + ADD OBJECT 'Line1' AS line WITH ; + BorderColor = 128,128,128, ; + BorderStyle = 2, ; + Height = 36, ; + Left = 12, ; + Name = "Line1", ; + Top = -9, ; + Width = 0 + *< END OBJECT: BaseClass="line" /> + + ADD OBJECT 'Line2' AS line WITH ; + BorderColor = 128,128,128, ; + BorderStyle = 2, ; + Height = 36, ; + Left = 25, ; + Name = "Line2", ; + Top = -9, ; + Width = 0 + *< END OBJECT: BaseClass="line" /> + + ADD OBJECT 'Line3' AS line WITH ; + BorderColor = 128,128,128, ; + BorderStyle = 2, ; + Height = 36, ; + Left = 38, ; + Name = "Line3", ; + Top = -9, ; + Width = 0 + *< END OBJECT: BaseClass="line" /> + + ADD OBJECT 'Shape1' AS shape WITH ; + BackStyle = 0, ; + Height = 23, ; + Left = 0, ; + Name = "Shape1", ; + Top = 0, ; + Width = 53 + *< END OBJECT: BaseClass="shape" /> + + ADD OBJECT 'Text1' AS _textbox WITH ; + BackStyle = 1, ; + BorderStyle = 0, ; + Format = "K", ; + Height = 21, ; + Left = 1, ; + Name = "Text1", ; + SpecialEffect = 1, ; + TabIndex = 1, ; + Top = 1, ; + Width = 13 + *< END OBJECT: ClassLib="_baza.vcx" BaseClass="textbox" /> + + ADD OBJECT 'Text2' AS _textbox WITH ; + BackStyle = 1, ; + BorderStyle = 0, ; + Format = "K", ; + Height = 21, ; + Left = 13, ; + Name = "Text2", ; + SpecialEffect = 1, ; + TabIndex = 2, ; + Top = 1, ; + Width = 13 + *< END OBJECT: ClassLib="_baza.vcx" BaseClass="textbox" /> + + ADD OBJECT 'Text3' AS _textbox WITH ; + BackStyle = 1, ; + BorderStyle = 0, ; + Format = "K", ; + Height = 21, ; + Left = 25, ; + Name = "Text3", ; + SpecialEffect = 1, ; + TabIndex = 3, ; + Top = 1, ; + Width = 13 + *< END OBJECT: ClassLib="_baza.vcx" BaseClass="textbox" /> + + ADD OBJECT 'Text4' AS _textbox WITH ; + BackStyle = 1, ; + BorderStyle = 0, ; + Format = "K", ; + Height = 21, ; + Left = 38, ; + Name = "Text4", ; + SpecialEffect = 1, ; + TabIndex = 4, ; + Top = 1, ; + Width = 13 + *< END OBJECT: ClassLib="_baza.vcx" BaseClass="textbox" /> + + PROCEDURE LostFocus + FOR i=1 TO 4 + lcb = [this.text] + ALLTRIM(STR(i)) + [.resetToDefault('backColor')] + lcf = [this.text] + ALLTRIM(STR(i)) + [.resetToDefault('ForeColor')] + &lcb + &lcf + ENDFOR + ENDPROC + + PROCEDURE Text1.DblClick + FOR i = 1 TO 4 + lcb = [THIS.Parent.TEXT] + ALLTRIM(STR(i)) + [.BackColor = THIS.Parent.text] + ALLTRIM(STR(i)) + [.SelectedBackColor] + &lcb + lcf = [THIS.Parent.TEXT] + ALLTRIM(STR(i)) + [.ForeColor = THIS.Parent.text] + ALLTRIM(STR(i)) + [.SelectedForeColor] + &lcf + ENDFOR + + ENDPROC + + PROCEDURE Text1.InteractiveChange + FOR i = 1 TO 4 + lcb = [THIS.Parent.TEXT] + ALLTRIM(STR(i)) + [.ResetToDefault('backColor')] + &lcb + lcf = [THIS.Parent.TEXT] + ALLTRIM(STR(i)) + [.ResetToDefault('ForeColor')] + &lcf + lcd = [THIS.Parent.TEXT] + ALLTRIM(STR(i)) + [.format = 'K'] + &lcd + ENDFOR + this.Valid + ENDPROC + + PROCEDURE Text1.KeyPress + LPARAMETERS nKeyCode, nShiftAltCtrl + IF nKeyCode = 7 + FOR i = 1 TO 4 + lcIf = [THIS.Parent.TEXT] + ALLTRIM(STR(i)) + [.BackColor = THIS.Parent.text] + ALLTRIM(STR(i)) + [.SelectedBackColor] + IF &lcIf + lcAction = [THIS.Parent.TEXT] + ALLTRIM(STR(i)) + [.value = ''] + &lcAction + ENDIF + ENDFOR + ENDIF + this.InteractiveChange + ENDPROC + + PROCEDURE Text2.DblClick + FOR i = 1 TO 4 + lcb = [THIS.Parent.TEXT] + ALLTRIM(STR(i)) + [.BackColor = THIS.Parent.text] + ALLTRIM(STR(i)) + [.SelectedBackColor] + &lcb + lcf = [THIS.Parent.TEXT] + ALLTRIM(STR(i)) + [.ForeColor = THIS.Parent.text] + ALLTRIM(STR(i)) + [.SelectedForeColor] + &lcf + ENDFOR + this.Parent.text1.SetFocus + ENDPROC + + PROCEDURE Text2.InteractiveChange + FOR i = 1 TO 4 + lcb = [THIS.Parent.TEXT] + ALLTRIM(STR(i)) + [.ResetToDefault('backColor')] + &lcb + lcf = [THIS.Parent.TEXT] + ALLTRIM(STR(i)) + [.ResetToDefault('ForeColor')] + &lcf + lcd = [THIS.Parent.TEXT] + ALLTRIM(STR(i)) + [.format = 'K'] + &lcd + ENDFOR + this.Valid + ENDPROC + + PROCEDURE Text2.KeyPress + LPARAMETERS nKeyCode, nShiftAltCtrl + IF nKeyCode = 7 + FOR i = 1 TO 4 + lcIf = [THIS.Parent.TEXT] + ALLTRIM(STR(i)) + [.BackColor = THIS.Parent.text] + ALLTRIM(STR(i)) + [.SelectedBackColor] + IF &lcIf + lcAction = [THIS.Parent.TEXT] + ALLTRIM(STR(i)) + [.value = ''] + &lcAction + ENDIF + ENDFOR + ENDIF + ENDPROC + + PROCEDURE Text3.DblClick + FOR i = 1 TO 4 + lcb = [THIS.Parent.TEXT] + ALLTRIM(STR(i)) + [.BackColor = THIS.Parent.text] + ALLTRIM(STR(i)) + [.SelectedBackColor] + &lcb + lcf = [THIS.Parent.TEXT] + ALLTRIM(STR(i)) + [.ForeColor = THIS.Parent.text] + ALLTRIM(STR(i)) + [.SelectedForeColor] + &lcf + ENDFOR + this.Parent.text1.SetFocus + ENDPROC + + PROCEDURE Text3.InteractiveChange + FOR i = 1 TO 4 + lcb = [THIS.Parent.TEXT] + ALLTRIM(STR(i)) + [.ResetToDefault('backColor')] + &lcb + lcf = [THIS.Parent.TEXT] + ALLTRIM(STR(i)) + [.ResetToDefault('ForeColor')] + &lcf + lcd = [THIS.Parent.TEXT] + ALLTRIM(STR(i)) + [.format = 'K'] + &lcd + ENDFOR + this.Valid + ENDPROC + + PROCEDURE Text3.KeyPress + LPARAMETERS nKeyCode, nShiftAltCtrl + IF nKeyCode = 7 + FOR i = 1 TO 4 + lcIf = [THIS.Parent.TEXT] + ALLTRIM(STR(i)) + [.BackColor = THIS.Parent.text] + ALLTRIM(STR(i)) + [.SelectedBackColor] + IF &lcIf + lcAction = [THIS.Parent.TEXT] + ALLTRIM(STR(i)) + [.value = ''] + &lcAction + ENDIF + ENDFOR + ENDIF + ENDPROC + + PROCEDURE Text4.DblClick + FOR i = 1 TO 4 + lcb = [THIS.Parent.TEXT] + ALLTRIM(STR(i)) + [.BackColor = THIS.Parent.text] + ALLTRIM(STR(i)) + [.SelectedBackColor] + &lcb + lcf = [THIS.Parent.TEXT] + ALLTRIM(STR(i)) + [.ForeColor = THIS.Parent.text] + ALLTRIM(STR(i)) + [.SelectedForeColor] + &lcf + ENDFOR + this.Parent.text1.SetFocus + ENDPROC + + PROCEDURE Text4.InteractiveChange + FOR i = 1 TO 4 + lcb = [THIS.Parent.TEXT] + ALLTRIM(STR(i)) + [.ResetToDefault('backColor')] + &lcb + lcf = [THIS.Parent.TEXT] + ALLTRIM(STR(i)) + [.ResetToDefault('ForeColor')] + &lcf + lcd = [THIS.Parent.TEXT] + ALLTRIM(STR(i)) + [.format = 'K'] + &lcd + ENDFOR + this.Valid + ENDPROC + + PROCEDURE Text4.KeyPress + LPARAMETERS nKeyCode, nShiftAltCtrl + IF nKeyCode = 7 + FOR i = 1 TO 4 + lcIf = [THIS.Parent.TEXT] + ALLTRIM(STR(i)) + [.BackColor = THIS.Parent.text] + ALLTRIM(STR(i)) + [.SelectedBackColor] + IF &lcIf + lcAction = [THIS.Parent.TEXT] + ALLTRIM(STR(i)) + [.value = ''] + &lcAction + ENDIF + ENDFOR + ENDIF + ENDPROC + +ENDDEFINE + +DEFINE CLASS ct_adaos AS container + *< CLASSDATA: Baseclass="container" Timestamp="" Scale="Pixels" Uniqueid="" /> + + *-- OBJECTDATA items order determines ZOrder / El orden de los items OBJECTDATA determina el ZOrder + *< OBJECTDATA: ObjPath="lbBaza_adaos" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="lbTva_adaos" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="lbProc_adaos" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="txBaza_adaos" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="txTva_adaos" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="txProc_adaos" UniqueID="" Timestamp="" /> + + #INCLUDE "c:\program files\microsoft visual foxpro 8\foxpro.h" + * + *p: baza_adaos + *p: proc_adaos + *p: tva_adaos + * + + * + BackColor = 255,255,255 + baza_adaos = 0 + BorderWidth = 0 + Height = 80 + Name = "ct_adaos" + proc_adaos = 0 + tva_adaos = 0 + Width = 246 + * + + ADD OBJECT 'lbBaza_adaos' AS _lbbase WITH ; + AutoSize = .T., ; + Caption = "Valoare adaos (bazã):", ; + ForeColor = 7,118,177, ; + Height = 18, ; + Left = 4, ; + Name = "lbBaza_adaos", ; + TabIndex = 4, ; + Top = 9, ; + Width = 129 + *< END OBJECT: ClassLib="_lb_base.vcx" BaseClass="label" /> + + ADD OBJECT 'lbProc_adaos' AS lb_simplu WITH ; + AutoSize = .T., ; + Caption = "Procent adaos:", ; + ForeColor = 7,118,177, ; + Height = 18, ; + Left = 4, ; + Name = "lbProc_adaos", ; + TabIndex = 6, ; + Top = 55, ; + Width = 90 + *< END OBJECT: ClassLib="lb.vcx" BaseClass="label" /> + + ADD OBJECT 'lbTva_adaos' AS _lbbase WITH ; + AutoSize = .T., ; + Caption = "TVA adaos:", ; + ForeColor = 7,118,177, ; + Height = 18, ; + Left = 4, ; + Name = "lbTva_adaos", ; + TabIndex = 5, ; + Top = 32, ; + Visible = .F., ; + Width = 70 + *< END OBJECT: ClassLib="_lb_base.vcx" BaseClass="label" /> + + ADD OBJECT 'txBaza_adaos' AS _txbase WITH ; + Alignment = 1, ; + BorderColor = 64,0,64, ; + ControlSource = "this.parent.baza_adaos", ; + FontCharSet = 238, ; + FontName = "Arial", ; + Height = 23, ; + InputMask = (get_mask(12,gnPc)), ; + Left = 126, ; + Name = "txBaza_adaos", ; + ReadOnly = .T., ; + SpecialEffect = 1, ; + TabIndex = 1, ; + Top = 7, ; + Width = 114 + *< END OBJECT: ClassLib="_tx_base.vcx" BaseClass="textbox" /> + + ADD OBJECT 'txProc_adaos' AS _txbase WITH ; + Alignment = 1, ; + BorderColor = 64,0,64, ; + ControlSource = "this.parent.proc_adaos", ; + FontCharSet = 238, ; + FontName = "Arial", ; + Height = 23, ; + InputMask = (get_mask(12,2)), ; + Left = 126, ; + Name = "txProc_adaos", ; + SpecialEffect = 1, ; + TabIndex = 3, ; + Top = 53, ; + Width = 114 + *< END OBJECT: ClassLib="_tx_base.vcx" BaseClass="textbox" /> + + ADD OBJECT 'txTva_adaos' AS _txbase WITH ; + Alignment = 1, ; + BorderColor = 64,0,64, ; + ControlSource = "this.parent.tva_adaos", ; + FontCharSet = 238, ; + FontName = "Arial", ; + Height = 23, ; + InputMask = (get_mask(12,gnPc)), ; + Left = 126, ; + Name = "txTva_adaos", ; + ReadOnly = .T., ; + SpecialEffect = 1, ; + TabIndex = 2, ; + Top = 30, ; + Visible = .F., ; + Width = 114 + *< END OBJECT: ClassLib="_tx_base.vcx" BaseClass="textbox" /> + +ENDDEFINE + +DEFINE CLASS ct_cont_analitic AS container + *< CLASSDATA: Baseclass="container" Timestamp="" Scale="Pixels" Uniqueid="" /> + + *-- OBJECTDATA items order determines ZOrder / El orden de los items OBJECTDATA determina el ZOrder + *< OBJECTDATA: ObjPath="Label1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="acont" UniqueID="" Timestamp="" /> + + * + *m: ccont_assign + *p: ccont + * + + * + BackColor = 255,255,255 + BackStyle = 1 + BorderColor = 128,128,128 + BorderWidth = 1 + ccont = + Height = 30 + Name = "ct_cont_analitic" + Width = 340 + * + + ADD OBJECT 'acont' AS combobox WITH ; + Height = 24, ; + Left = 75, ; + Name = "acont", ; + Style = 2, ; + Top = 3, ; + Width = 264 + *< END OBJECT: BaseClass="combobox" /> + + ADD OBJECT 'Label1' AS label WITH ; + AutoSize = .T., ; + BackStyle = 0, ; + Caption = "Cont analitic", ; + Height = 17, ; + Left = 4, ; + Name = "Label1", ; + Top = 7, ; + Width = 70 + *< END OBJECT: BaseClass="label" /> + + PROCEDURE ccont_assign + LPARAMETERS vNewVal + *To do: Modify this routine for the Assign method + THIS.cCont = m.vNewVal + LOCAL lcCont + lcCont = this.ccont + IF !EMPTY(lcCont) + SELECT acont+' - '+denumire as den,cont,acont ; + FROM plcontana ; + WHERE LEFT(ALLTRIM(cont),4)=Left(lcCont,4) ; + INTO ARRAY laContAnalitic ; + ORDER BY acont + ENDIF + + + + IF USED("cursor_acont") + USE IN cursor_acont + ENDIF + CREATE CURSOR cursor_acont (den C(70), cont c(4), acont c(4)) + SELECT cursor_acont + APPEND BLANK + replace den WITH "< TOATE ANALITICELE >", cont WITH this.Ccont + + IF TYPE("laContAnalitic") != "U" + APPEND FROM ARRAY laContAnalitic + RELEASE laContAnalitic + ENDIF + + THIS.acont.RowSourceType = 2 + THIS.acont.RowSource = "cursor_acont" + ENDPROC + + PROCEDURE Destroy + IF USED("cursor_acont") + USE IN cursor_acont + ENDIF + ENDPROC + +ENDDEFINE + +DEFINE CLASS ct_discount AS container + *< CLASSDATA: Baseclass="container" Timestamp="" Scale="Pixels" Uniqueid="" /> + + *-- OBJECTDATA items order determines ZOrder / El orden de los items OBJECTDATA determina el ZOrder + *< OBJECTDATA: ObjPath="Combogrid3" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="lbBaza_discount" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="lbTva_discount" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="lbProc_discount" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="txBaza_discount" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="txTva_discount" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="txProc_discount" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="CotaTVA" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="LbTva" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="lb_explicatie_tva" UniqueID="" Timestamp="" /> + + #INCLUDE "c:\program files\microsoft visual foxpro 8\foxpro.h" + * + *p: baza_discount + *p: nid_jtva_coloana + *p: nid_tva + *p: pntva + *p: proc_discount + *p: tva_discount + * + + * + BackColor = 255,255,255 + baza_discount = 0 + BorderWidth = 0 + Height = 122 + Name = "ct_discount" + nid_jtva_coloana = 0 + nid_tva = 0 + proc_discount = 0 + tva_discount = 0 + Width = 315 + * + + ADD OBJECT 'Combogrid3' AS _cbbase WITH ; + BorderColor = 64,0,64, ; + BorderStyle = 0, ; + Height = 20, ; + Left = 2, ; + Name = "Combogrid3", ; + RowSource = "Fara discount,Discount global,Discount distribuit", ; + RowSourceType = 1, ; + SpecialEffect = 2, ; + TabIndex = 1, ; + TabStop = .F., ; + Top = 3, ; + Value = 1, ; + Width = 281 + *< END OBJECT: ClassLib="_cb_base.vcx" BaseClass="combobox" /> + + ADD OBJECT 'CotaTVA' AS combobox WITH ; + BorderColor = 128,128,128, ; + BorderStyle = 1, ; + BoundColumn = 1, ; + ColumnCount = 3, ; + ColumnLines = .F., ; + ColumnWidths = "10,200,0", ; + ControlSource = "", ; + Height = 24, ; + InputMask = "", ; + Left = 245, ; + Name = "CotaTVA", ; + RowSource = "crsjtax.cota_tva,denumire,id_jtva_coloana", ; + RowSourceType = 6, ; + SpecialEffect = 1, ; + Style = 2, ; + TabStop = .F., ; + Top = 50, ; + Visible = .F., ; + Width = 68 + *< END OBJECT: BaseClass="combobox" /> + + ADD OBJECT 'lb_explicatie_tva' AS lb_simplu WITH ; + AutoSize = .F., ; + Caption = "", ; + FontItalic = .T., ; + Height = 18, ; + Left = 1, ; + Name = "lb_explicatie_tva", ; + Top = 101, ; + Visible = .F., ; + Width = 311 + *< END OBJECT: ClassLib="lb.vcx" BaseClass="label" /> + + ADD OBJECT 'lbBaza_discount' AS lb_simplu WITH ; + AutoSize = .T., ; + Caption = "Valoare discount (bazã):", ; + ForeColor = 7,118,177, ; + Left = 5, ; + Name = "lbBaza_discount", ; + TabIndex = 5, ; + Top = 28, ; + Visible = .F., ; + Width = 143 + *< END OBJECT: ClassLib="lb.vcx" BaseClass="label" /> + + ADD OBJECT 'lbProc_discount' AS lb_simplu WITH ; + AutoSize = .T., ; + Caption = "Procent discount:", ; + ForeColor = 7,118,177, ; + Left = 5, ; + Name = "lbProc_discount", ; + TabIndex = 7, ; + Top = 76, ; + Visible = .F., ; + Width = 104 + *< END OBJECT: ClassLib="lb.vcx" BaseClass="label" /> + + ADD OBJECT 'LbTva' AS label WITH ; + AutoSize = .T., ; + BackStyle = 0, ; + Caption = "TVA %", ; + Height = 17, ; + Left = 263, ; + Name = "LbTva", ; + TabIndex = 21, ; + Top = 32, ; + Visible = .F., ; + Width = 37 + *< END OBJECT: BaseClass="label" /> + + ADD OBJECT 'lbTva_discount' AS lb_simplu WITH ; + AutoSize = .T., ; + Caption = "TVA discount:", ; + ForeColor = 7,118,177, ; + Left = 5, ; + Name = "lbTva_discount", ; + TabIndex = 6, ; + Top = 53, ; + Visible = .F., ; + Width = 84 + *< END OBJECT: ClassLib="lb.vcx" BaseClass="label" /> + + ADD OBJECT 'txBaza_discount' AS _txbase WITH ; + Alignment = 1, ; + BorderColor = 64,0,64, ; + BorderStyle = 1, ; + ControlSource = "this.parent.baza_discount", ; + Format = "r", ; + InputMask = (get_mask(12,gnPC)), ; + Left = 141, ; + Name = "txBaza_discount", ; + TabIndex = 2, ; + TabStop = .F., ; + Top = 28, ; + Visible = .F., ; + Width = 100 + *< END OBJECT: ClassLib="_tx_base.vcx" BaseClass="textbox" /> + + ADD OBJECT 'txProc_discount' AS _txbase WITH ; + Alignment = 1, ; + BorderColor = 64,0,64, ; + BorderStyle = 1, ; + ControlSource = "this.parent.proc_discount", ; + InputMask = "9999.9999", ; + Left = 141, ; + Name = "txProc_discount", ; + TabIndex = 4, ; + TabStop = .F., ; + Top = 74, ; + Visible = .F., ; + Width = 100 + *< END OBJECT: ClassLib="_tx_base.vcx" BaseClass="textbox" /> + + ADD OBJECT 'txTva_discount' AS _txbase WITH ; + Alignment = 1, ; + BorderColor = 64,0,64, ; + BorderStyle = 1, ; + ControlSource = "this.parent.tva_discount", ; + Format = "r", ; + InputMask = (get_mask(12,gnPC)), ; + Left = 141, ; + Name = "txTva_discount", ; + TabIndex = 3, ; + TabStop = .F., ; + Top = 51, ; + Visible = .F., ; + Width = 100 + *< END OBJECT: ClassLib="_tx_base.vcx" BaseClass="textbox" /> + + PROCEDURE Combogrid3.Valid + Do Case + Case This.Value=1 + This.Parent.txBaza_discount.Visible = .F. + This.Parent.lbBaza_discount.Visible = .F. + + This.Parent.txTva_discount.Visible = .F. + This.Parent.lbTva_discount.Visible = .F. + + This.Parent.txProc_discount.Visible = .F. + This.Parent.lbProc_discount.Visible = .F. + + this.Parent.cotaTVA.Visible = .f. + this.Parent.lbTva.Visible = .f. + this.Parent.lb_explicatie_tva.Visible = .F. + + this.Parent.baza_discount = 0 + this.Parent.tva_discount = 0 + this.Parent.proc_discount = 0 + + Case This.Value=2 + This.Parent.txBaza_discount.Visible = .T. + This.Parent.lbBaza_discount.Visible = .T. + + This.Parent.txTva_discount.Visible = .T. + This.Parent.lbTva_discount.Visible = .T. + + This.Parent.txProc_discount.Visible = .T. + This.Parent.lbProc_discount.Visible = .T. + This.Parent.txProc_discount.READONLY = .T. + + this.Parent.cotaTVA.Visible = .t. + this.Parent.lbTva.Visible = .t. + this.Parent.lb_explicatie_tva.Visible = .T. + + this.Parent.proc_discount = 0 + + Case This.Value=3 + This.Parent.txBaza_discount.Visible = .F. + This.Parent.lbBaza_discount.Visible = .F. + + This.Parent.txTva_discount.Visible = .F. + This.Parent.lbTva_discount.Visible = .F. + + This.Parent.txProc_discount.Visible = .T. + This.Parent.lbProc_discount.Visible = .T. + + this.Parent.cotaTVA.Visible = .f. + this.Parent.lbTva.Visible = .f. + this.Parent.lb_explicatie_tva.Visible = .F. + + this.Parent.baza_discount = 0 + this.Parent.tva_discount = 0 + This.Parent.txProc_discount.ReadOnly=.F. + + ENDCASE + this.Parent.Refresh + + + ENDPROC + + PROCEDURE CotaTVA.Valid + *!* modificare 2.2.4 : am inlocuit jtva_coloane cu crsjtax + This.Parent.pntva = (crsjtax.cota_tva+100)/100 + This.Parent.lb_explicatie_tva.Caption = Alltrim(Upper(crsjtax.denumire)) + this.parent.nid_jtva_coloana = crsjtax.id_jtva_coloana + this.Parent.nid_tva = crsjtax.id_tva + This.Parent.txBaza_discount.Valid + + ENDPROC + + PROCEDURE txBaza_discount.Valid + WITH this.Parent + .tva_discount = ROUND(.baza_discount * (.pntva - 1), gnPc) + .refresh + ENDWITH + ENDPROC + + PROCEDURE txTva_discount.Valid + this.Parent.Refresh + + ENDPROC + +ENDDEFINE + +DEFINE CLASS ct_factura AS container + *< CLASSDATA: Baseclass="container" Timestamp="" Scale="Pixels" Uniqueid="" /> + + *-- OBJECTDATA items order determines ZOrder / El orden de los items OBJECTDATA determina el ZOrder + *< OBJECTDATA: ObjPath="lbBaza" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="lbTva" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="txBaza" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="txTva" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="lbExplic" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="txTotal" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="lbTotal" UniqueID="" Timestamp="" /> + + #INCLUDE "c:\program files\microsoft visual foxpro 8\foxpro.h" + * + *p: totctva + *p: totftva + *p: tva + * + + * + BackColor = 255,255,255 + BorderWidth = 0 + Height = 75 + Name = "ct_factura" + totctva = 0 + totftva = 0 + tva = 0 + Width = 238 + * + + ADD OBJECT 'lbBaza' AS lb_simplu WITH ; + AutoSize = .T., ; + Caption = "Total (bazã):", ; + ForeColor = 7,118,177, ; + Height = 18, ; + Left = 59, ; + Name = "lbBaza", ; + TabIndex = 4, ; + Top = 29, ; + Width = 74 + *< END OBJECT: ClassLib="lb.vcx" BaseClass="label" /> + + ADD OBJECT 'lbExplic' AS lb_simplu WITH ; + AutoSize = .T., ; + Caption = "din care:", ; + ForeColor = 7,118,177, ; + Height = 18, ; + Left = 9, ; + Name = "lbExplic", ; + TabIndex = 6, ; + Top = 29, ; + Width = 52 + *< END OBJECT: ClassLib="lb.vcx" BaseClass="label" /> + + ADD OBJECT 'lbTotal' AS lb_simplu WITH ; + AutoSize = .T., ; + Caption = "TOTAL FACTURÃ", ; + ForeColor = 7,118,177, ; + Height = 18, ; + Left = 7, ; + Name = "lbTotal", ; + TabIndex = 7, ; + Top = 6, ; + Width = 106, ; + WordWrap = .F. + *< END OBJECT: ClassLib="lb.vcx" BaseClass="label" /> + + ADD OBJECT 'lbTva' AS lb_simplu WITH ; + AutoSize = .T., ; + Caption = "TVA:", ; + ForeColor = 7,118,177, ; + Height = 18, ; + Left = 59, ; + Name = "lbTva", ; + TabIndex = 5, ; + Top = 52, ; + Width = 31 + *< END OBJECT: ClassLib="lb.vcx" BaseClass="label" /> + + ADD OBJECT 'txBaza' AS _txbase WITH ; + Alignment = 1, ; + BorderColor = 64,0,64, ; + BorderStyle = 1, ; + ControlSource = "this.parent.totftva", ; + DisabledBackColor = 255,255,255, ; + Format = "r", ; + InputMask = (get_mask(12,gnPC)), ; + Left = 130, ; + Name = "txBaza", ; + ReadOnly = .T., ; + TabIndex = 2, ; + TabStop = .F., ; + Top = 27, ; + Width = 105 + *< END OBJECT: ClassLib="_tx_base.vcx" BaseClass="textbox" /> + + ADD OBJECT 'txTotal' AS _txbase WITH ; + Alignment = 1, ; + BorderColor = 64,0,64, ; + BorderStyle = 1, ; + ControlSource = "this.parent.totctva", ; + DisabledBackColor = 255,255,255, ; + Format = "r", ; + InputMask = (get_mask(12,gnPC)), ; + Left = 130, ; + Name = "txTotal", ; + ReadOnly = .T., ; + TabIndex = 1, ; + TabStop = .F., ; + Top = 4, ; + Width = 105 + *< END OBJECT: ClassLib="_tx_base.vcx" BaseClass="textbox" /> + + ADD OBJECT 'txTva' AS _txbase WITH ; + Alignment = 1, ; + BorderColor = 64,0,64, ; + BorderStyle = 1, ; + ControlSource = "this.parent.tva", ; + DisabledBackColor = 255,255,255, ; + Format = "r", ; + InputMask = (get_mask(12,gnPC)), ; + Left = 130, ; + Name = "txTva", ; + ReadOnly = .T., ; + TabIndex = 3, ; + TabStop = .F., ; + Top = 50, ; + Width = 105 + *< END OBJECT: ClassLib="_tx_base.vcx" BaseClass="textbox" /> + +ENDDEFINE + +DEFINE CLASS ct_grid_order AS _container OF "_baza.vcx" + *< CLASSDATA: Baseclass="container" Timestamp="" Scale="Pixels" Uniqueid="" /> + + *-- OBJECTDATA items order determines ZOrder / El orden de los items OBJECTDATA determina el ZOrder + *< OBJECTDATA: ObjPath="_GRID1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="Titlu" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="Cb_tx_cautare1" UniqueID="" Timestamp="" /> + + * + *m: actualizeaza_grid + *m: corderby_assign + *m: do_cauta + *m: initializare + *m: ordoneaza_grid + *p: casc + *p: cfiltru + *p: cfiltruoriginal + *p: cgroup + *p: cmask + *p: cnrcoloane_check + *p: cnumecursor + *p: cnume_coloane + *p: corder + *p: cproc_adauga + *p: cproc_modifica + *p: cschema + *p: cselect + *p: ctitlu + *p: ctitlu_coloane + *p: lmodparam + *p: ocursor + * + + * + BorderWidth = 0 + casc = ASC + cfiltru = + cfiltruoriginal = + cgroup = + cmask = + cnrcoloane_check = + cnumecursor = cursor_curent + cnume_coloane = + corder = + cproc_adauga = + cproc_modifica = + cschema = + cselect = + ctitlu = + ctitlu_coloane = + Height = 418 + Name = "ct_grid_order" + ocursor = + Width = 325 + * + + ADD OBJECT '_GRID1' AS _grid WITH ; + Anchor = 15, ; + DeleteMark = .F., ; + Height = 348, ; + HighlightStyle = 1, ; + Left = 6, ; + Name = "_GRID1", ; + RecordMark = .F., ; + RecordSource = "cursor_curent", ; + TabIndex = 2, ; + Top = 62, ; + Width = 310, ; + ZOrderSet = 1 + *< END OBJECT: ClassLib="_baza.vcx" BaseClass="grid" /> + + ADD OBJECT 'Cb_tx_cautare1' AS cb_tx_cautare WITH ; + Anchor = 10, ; + Left = 7, ; + Name = "Cb_tx_cautare1", ; + TabIndex = 1, ; + Top = 31, ; + ZOrderSet = 3, ; + Text.Anchor = 130, ; + Text.Format = "!", ; + Text.Name = "Text", ; + Text.TabIndex = 2, ; + Criteriu.Anchor = 2, ; + Criteriu.Name = "Criteriu", ; + Criteriu.TabIndex = 1 + *< END OBJECT: ClassLib="lb_tx.vcx" BaseClass="container" /> + + ADD OBJECT 'Titlu' AS lb_simplu WITH ; + Anchor = 3, ; + AutoSize = .T., ; + Caption = "TITLU", ; + ForeColor = 7,118,177, ; + Height = 18, ; + Left = 9, ; + Name = "Titlu", ; + TabIndex = 3, ; + Tag = "", ; + Top = 9, ; + Width = 35, ; + WordWrap = .F., ; + ZOrderSet = 4 + *< END OBJECT: ClassLib="lb.vcx" BaseClass="label" /> + + PROCEDURE actualizeaza_grid + LPARAMETERS pcFiltru + LOCAL lcFiltru + + lcCursor = this.cnumecursor + *!* lcFiltru=pcFiltru + *!* IF EMPTY(lcFiltru) + *!* lcFiltru = FILTER(lcCursor) + *!* ENDIF + + lcFiltru=pcFiltru + IF EMPTY(lcFiltru) + lcFiltru=IIF(!EMPTY(this.cfiltru),this.cfiltru,[1=1]) + ENDIF + this.cfiltru = lcfiltru + + + SELECT (lcCursor) + SET FILTER TO &lcFiltru + LOCATE + + DO nrord WITH lcCursor + + this._GRID1.SetFocus + this._GRID1.AutoFit + + + + + ENDPROC + + PROCEDURE corderby_assign + LPARAMETERS vNewVal + *To do: Modify this routine for the Assign method + + IF THIS.corder = m.vNewVal + lcASC = IIF(this.casc = 'ASC','DESC','ASC') + ELSE + lcASC = 'ASC' + ENDIF + THIS.cOrder = m.vNewVal + this.cAsc = lcAsc + IF TYPE(this.corder) # 'C' + this.cb_tx_cautare1.text.Enabled = .f. + ELSE + this.cb_tx_cautare1.text.Enabled = .t. + ENDIF + this.ordoneaza_grid() + + ENDPROC + + PROCEDURE do_cauta + Private lcfiltru,lcval1 + lcfiltru='' + + LOCAL lcColoana + lcColoana = ALLTRIM(this.cOrder) + IF EMPTY(lcColoana) OR OCCURS([,],lcColoana)>0 + aMessagebox("Selectati o coloana!",0+48,"Atentie") + This.cb_tx_cautare1.critERIU.SetFocus() + RETURN + ENDIF + + With This.cb_tx_cautare1 + lcval1=Strtran(Alltrim(Upper(.Text.Value)),['],['']) + *!* Do Case + *!* Case .criteriu.Value = "1" And !Empty(.Text.Value) + *!* lcfiltru = Alltrim(Upper(lcColoana)) + [ LIKE '] + lcval1 + [%'] + *!* Case .criteriu.Value = "2" And !Empty(.Text.Value) + *!* lcfiltru = Alltrim(Upper(lcColoana)) + [ ='] + lcval1 + ['] + *!* Case .criteriu.Value = "3" And !Empty(.Text.Value) + *!* lcfiltru = Alltrim(Upper(lcColoana)) + [ !='] + lcval1 + ['] + *!* Case .criteriu.Value = "4" And !Empty(.Text.Value) + *!* lcfiltru = Alltrim(Upper(lcColoana)) + [ LIKE '%] + lcval1 + [%'] + *!* Case .criteriu.Value = "5" And !Empty(.Text.Value) + *!* lcfiltru = Alltrim(Upper(lcColoana)) + [ NOT LIKE '%] + lcval1 + [%'] + *!* Case .criteriu.Value = "6" + *!* lcfiltru = [2=2] + *!* ENDCASE + + IF .criteriu.Value = "1" AND UPPER(lcval1) = [%] + .criteriu.Value = "6" + ENDIF + + DO CASE + CASE .criteriu.Value = "1" + lcfiltru = "LIKE([" + UPPER(lcval1) + "*]," + [upper(] + lcColoana + [))] + CASE .criteriu.Value = "2" + lcfiltru = [upper(] + lcColoana + ")=[" + lcval1 + "]" + CASE .criteriu.Value = "3" + lcfiltru = [upper(] + lcColoana + ")<>[" + lcval1 + "]" + CASE .criteriu.Value = "4" + lcfiltru = "LIKE([*" + lcval1 + "*]," + [upper(] + lcColoana + [))] + CASE .criteriu.Value = "5" + lcfiltru = "!LIKE([*" + lcval1 + "*]," + [upper(] + lcColoana + [))] + Case .criteriu.Value = "6" + lcfiltru = [2=2] + ENDCASE + Endwith + + + + If Empty(lcfiltru) + aMessagebox("Alegeti un criteriu!",0+48,"Atentie") + This.cb_tx_cautare1.criteriu.SetFocus() + Return + Endif + + IF !EMPTY(This.cfiltruoriginal) + lcfiltru = This.cfiltruoriginal + [ and ] + lcfiltru + ENDIF + + This.actualizeaza_grid(lcfiltru) + + + SELECT (this.cnumecursor) + Go Top + If (Reccount(this.cnumecursor)=0) + aMessagebox("Nu exista rezultate!",0+48,"Atentie") + This.cb_tx_cautare1.critERIU.SetFocus() + ELSE + GO TOP + lcFirstInList = &lcColoana + IF (Reccount(this.cnumecursor)>1 AND ALLTRIM(lcFirstInList)=='') + GOTO 2 + ENDIF + This._GRID1.SetFocus() + ENDIF + ENDPROC + + PROCEDURE initializare + PARAMETERS tlNumerotare + + llNrOrd = tlNumerotare + + *** CREEZ CURSORUL INITIAL + + lcTitlu = This.cTitlu + lcTitluColoane = This.cTitlu_coloane + lcNumeColoane = This.cNume_coloane + lcMask = ALLTRIM(This.cMask) + lcSql = This.cSelect + lcFiltru = Iif(!Empty(This.cFiltru),This.cFiltru + [ AND ] + This.cFiltruOriginal,This.cFiltruOriginal) + lcFiltruOriginal = This.cFiltruOriginal + lcSchema = This.cSchema + lcOrder = This.cOrder + llAfisare = .F. + lcNumeCursor = This.cNumecursor + lcNrColoane_check = ALLTRIM(this.cnrcoloane_check) + lcGroup = ALLTRIM(this.cgroup) + + && testez daca am de-a face cu coloane de tip checkbox + llCuCheck =IIF(EMPTY(lcNrColoane_check),.f.,.t.) + + This.titlu.Caption = lcTitlu + IF USED(lcNumeCursor) + USE IN &lcNumeCursor + ENDIF + + lnSucces = goExecutor.oExecute(lcSql,lcNumeCursor) + + IF lnSucces < 0 + aMESSAGEBOX(goExecutor.cEroare,0+16,"Eroare") + RETURN + ENDIF + + *!* IF !EMPTY(lcFiltru) + *!* SELECT (lcNumeCursor) + *!* SET FILTER TO &lcFiltru + *!* ENDIF + + *SELECT (lcNumeCursor) + + If Right(lcTitluColoane,1) # ',' + lcTitluColoane = lcTitluColoane + ',' + Endif + If Left(lcTitluColoane,1) # ',' + lcTitluColoane = ',' + lcTitluColoane + Endif + + If Right(lcNumeColoane ,1) # ';' + lcNumeColoane = lcNumeColoane + ';' + Endif + If Left(lcNumeColoane ,1) # ';' + lcNumeColoane = ';' + lcNumeColoane + Endif + + If Right(lcSchema ,1) # ',' + lcSchema = lcSchema + ',' + Endif + If Left(lcSchema,1) # ',' + lcSchema = ',' + lcSchema + ENDIF + + If Right(lcMask,1) # ';' && am virgula in get_mask + lcMask = lcMask + ';' + Endif + If Left(lcMask,1) # ';' + lcMask = ';' + lcMask + ENDIF + + IF llNrOrd && mai adaug o coloana la inceput + lcTitluColoane = ',' + lcTitluColoane + lcNumeColoane = ';' + lcNumeColoane + lcSchema = ',' + lcSchema + lcMask = ';[0]=' + lcMask + ENDIF + + lnNrCols = Occurs(",",lcTitluColoane) - 1 + + This._GRID1.RecordSource = lcNumeCursor + This._GRID1.ColumnCount = lnNrCols + + SELECT (lcNumeCursor) + For i=1 To lnNrCols + * this._grid1.AddColumn(i) + + IF llNrOrd AND i = 1 + lcHeader = [this._grid1.column1.hEADER1.Caption = 'Nr.'] + &lcHeader + this._GRID1.coLUMN1.ControlSource = '' + LOOP + ENDIF + + lcTitluCol = Strextract(lcTitluColoane,[,],[,],i) + lcControlCol = Strextract(lcNumeColoane,[;],[;],i) + lcHeader = [this._grid1.column] + Alltrim(Str(i))+ [.hEADER1.Caption = '] + lcTitluCol + ['] + &lcHeader + lcControlSource = [this._GRID1.coLUMN] + Alltrim(Str(i))+ [.ControlSource = '] + lcControlCol + ['] + &lcControlSource + lcMaskCol = Strextract(lcMask,[;],[;],i) + lcMaskCol = ALLTRIM(STREXTRACT(lcMaskCol,']=')) + IF !EMPTY(lcMaskCol) + lcInputmask = [this._GRID1.coLUMN] + Alltrim(Str(i))+ [.InputMask = '] + EVALUATE(lcMaskCol) + ['] + &lcInputmask + ENDIF + lcSchemaCol = Strextract(lcSchema,[,],[,],i) + + IF TYPE(lcControlCol) = 'N' + IF EMPTY(lcMaskCol) && nu e configurat + IF !EMPTY(lcSchemaCol) + lcSch = STREXTRACT(lcSchemaCol,'(',')',1) + lnInt = IIF([,] $ lcSch,VAL(STREXTRACT(lcSch,[],[,])),VAL(lcSch)) + lnZec = IIF([,] $ lcSch,VAL(STREXTRACT(lcSch,[,])),0) + ELSE + lnInt = 12 + lnZec = gnPA + ENDIF + lcInputmask = [this._GRID1.coLUMN] + Alltrim(Str(i))+ [.InputMask = '] + get_mask(lnInt,lnZec) + ['] + &lcInputmask + ENDIF + lcAlignment = [this._GRID1.coLUMN] + Alltrim(Str(i))+ [.Alignment = 1] + &lcAlignment + IF llCuCheck + && daca nr coloanei curente este in lista cNrColoane_check, atunci + && controlul curent al coloanei va fi un checkbox + lcVerific = 'INLIST(' + IIF(llNrOrd,ALLTRIM(STR(i-1)),ALLTRIM(STR(i))) + ',' +lcNrColoane_check + ')' + lcEste = &lcVerific + IF lcEste + lcAdaugCheck = [this._GRID1.coLUMN] + Alltrim(Str(i)) + [.AddObject('Check1',]+; + ['Checkbox')] + &lcAdaugCheck + lcControlCurent = [this._GRID1.coLUMN] + Alltrim(Str(i)) + [.CurrentControl = 'Check1'] + &lcControlCurent + lcRemText = [this._GRID1.coLUMN] + Alltrim(Str(i)) + [.RemoveObject('Text1')] + &lcRemText + lcSparse = [this._GRID1.coLUMN] + Alltrim(Str(i)) + [.Sparse = .f.] + &lcSparse + lcWidth = [this._GRID1.coLUMN] + Alltrim(Str(i)) + [.width = 30] + &lcWidth + lcCaption = [this._GRID1.coLUMN] + Alltrim(Str(i)) + [.Check1.caption = ''] + &lcCaption + lcReadOnly = [this._GRID1.coLUMN] + Alltrim(Str(i)) + [.ReadOnly = .f.] + &lcReadOnly + lcAli = [this._GRID1.coLUMN] + Alltrim(Str(i)) + [.Alignment = 2] + &lcAli + lcReadOnly_ch = [this._GRID1.coLUMN] + Alltrim(Str(i)) + [.Check1.ReadOnly = .f.] + &lcReadOnly_ch + lcControlSource = [this._GRID1.coLUMN] + Alltrim(Str(i))+ [.ControlSource = '] + lcControlCol + ['] + &lcControlSource + lcVisible = [this._GRID1.coLUMN] + Alltrim(Str(i)) + [.Check1.visible = .t.] + &lcVisible + + ENDIF + ENDIF + ELSE + lcAlignment = [this._GRID1.coLUMN] + Alltrim(Str(i))+ [.Alignment = 0] + &lcAlignment + ENDIF + Endfor + + * Replace default headers with custom one + i = 0 + For Each loColumn In This._GRID1.Columns + i = i + 1 + With loColumn + If !Empty(loColumn.ControlSource) + + * Save default caption, color and font + + lcOldCaption = loColumn.Header1.Caption + lcOldFontName = loColumn.Header1.FontName + lnOldForeColor = loColumn.Header1.ForeColor + llOldFontUnderline = loColumn.Header1.FontUnderline + + * Name Header Obj after ControlSource + + lcControlSrc = loColumn.ControlSource + lnControlSrc = Rat(".", lcControlSrc) + 1 + lcControlSrc = Substr(lcControlSrc, lnControlSrc) + + * Metoda dupa care se face ordonarea relativa la grid + lcMethodName = 'parent.corderby_assign' + lcPropColOrder = 'parent.cOrder' + lcPropSensOrder = 'parent.cAsc' + * Remove old and create new header + + .RemoveObject("Header1") + .AddObject("grh"+ALLTRIM(STR(i)), ; + "PSHeader", ; + lcOldCaption, lcOldFontName,lnOldForeColor,llOldFontUnderline,lcMethodName,lcControlSrc) + + If Upper(Alltrim(lcControlSrc)) = Upper(Alltrim(lcOrder)) + lcCuloare = [locolumn.grh] + ALLTRIM(STR(i)) + [.forecolor = RGB(0,0,255)] + &lcCuloare + lcUnderline = [locolumn.grh] + ALLTRIM(STR(i)) + [.FontUnderline = .t.] + &lcUnderline + Endif + Endif + Endwith + ENDFOR + + IF llNrOrd + DO nrord WITH lcNumeCursor + this._GRID1.coLUMN1.ControlSource = [nrcrt()] + THIS._GRID1.COLUMN1.inputmask = '999' + this._griD1.LockColumns = 1 + ENDIF + + this.cfiltru = IIF(!EMPTY(lcFiltruOriginal),lcFiltruOriginal,[1=1]) + this.ordoneaza_grid + This._GRID1.AutoFit + *this.actualizeaza_grid(lcFiltru) + + ENDPROC + + PROCEDURE ordoneaza_grid + lcCursor = This.cnumecursor + lcOrder = This.corder + [ ] + This.Casc + *lcFiltru = FILTER(lcCursor) + lcFiltru = This.cfiltru + If Empty(lcFiltru) + lcFiltru = [1=1] + Endif + + save_grid(This._grid1) + Select * From (lcCursor) Into Cursor tTemp + Use In (lcCursor) + Select * From tTemp Into Cursor (lcCursor) Order By &lcOrder Readwrite + Select (lcCursor) + Set Filter To &lcFiltru + Use In tTemp + restore_grid(This._grid1) + This._grid1.SetFocus + + ENDPROC + + PROCEDURE Resize + *!* this._GRID1.Width = this.Width - 15 + *!* this._GRID1.Height = this.Height - this._griD1.Top - 5 + + ENDPROC + + PROCEDURE Cb_tx_cautare1.Criteriu.Init + this.Value = "1" + ENDPROC + + PROCEDURE Cb_tx_cautare1.Text.KeyPress + LPARAMETERS nKeyCode, nShiftAltCtrl + IF nKeyCode = 13 + NODEFAULT + this.parent.Parent.do_cauta() + ENDIF + ENDPROC + +ENDDEFINE + +DEFINE CLASS ct_grid_search AS _container OF "_baza.vcx" + *< CLASSDATA: Baseclass="container" Timestamp="" Scale="Pixels" Uniqueid="" /> + + *-- OBJECTDATA items order determines ZOrder / El orden de los items OBJECTDATA determina el ZOrder + *< OBJECTDATA: ObjPath="_GRID1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="Titlu" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="Cb_tx_cautare1" UniqueID="" Timestamp="" /> + + * + *m: actualizeaza_grid + *m: corderby_assign + *m: do_cauta + *m: initializare + *m: schimba_criteriu + *p: casc + *p: ccoloanepermise + *p: cfiltru + *p: cfiltruoriginal + *p: cgroup + *p: cmask + *p: cnrcoloane_check + *p: cnumecursor + *p: cnume_coloane + *p: corder + *p: cpicture + *p: cproc_adauga + *p: cproc_modifica + *p: cschema + *p: cselect + *p: ctitlu + *p: ctitlu_coloane + *p: cwhere + *p: cwidth_coloane + *p: lmodparam + *p: lnumerotare + *p: lvalid && .T. daca se executa metoda Valid de la criteriu. + *p: npornire + *p: ocursor + * + + * + BorderWidth = 0 + casc = ASC + ccoloanepermise = + cfiltru = + cfiltruoriginal = + cgroup = + cmask = + cnrcoloane_check = + cnumecursor = cursor_curent + cnume_coloane = + corder = + cpicture = Up + cproc_adauga = + cproc_modifica = + cschema = + cselect = + ctitlu = + ctitlu_coloane = + cwhere = + cwidth_coloane = + Height = 418 + lnumerotare = .F. + lvalid = .T. + Name = "ct_grid_search" + npornire = 1 + ocursor = + Width = 325 + * + + ADD OBJECT '_GRID1' AS _grid WITH ; + Anchor = 15, ; + DeleteMark = .F., ; + Height = 348, ; + HighlightBackColor = 10,36,106, ; + HighlightStyle = 1, ; + Left = 6, ; + Name = "_GRID1", ; + ReadOnly = .F., ; + RecordMark = .T., ; + RecordSource = "cursor_curent", ; + SelectedItemBackColor = 40,60,193, ; + TabIndex = 2, ; + Top = 62, ; + Width = 310, ; + ZOrderSet = 1 + *< END OBJECT: ClassLib="_baza.vcx" BaseClass="grid" /> + + ADD OBJECT 'Cb_tx_cautare1' AS cb_tx_cautare WITH ; + Anchor = 10, ; + Left = 7, ; + Name = "Cb_tx_cautare1", ; + TabIndex = 1, ; + Top = 31, ; + ZOrderSet = 3, ; + Text.Anchor = 130, ; + Text.Format = "!k", ; + Text.Name = "Text", ; + Text.TabIndex = 2, ; + Criteriu.Anchor = 2, ; + Criteriu.Name = "Criteriu", ; + Criteriu.RowSource = "incepe cu...,1,este...,2,nu este...,3,contine...,4,nu contine...,5,toate,6", ; + Criteriu.TabIndex = 1 + *< END OBJECT: ClassLib="lb_tx.vcx" BaseClass="container" /> + + ADD OBJECT 'Titlu' AS lb_simplu WITH ; + Anchor = 3, ; + AutoSize = .T., ; + Caption = "TITLU", ; + ForeColor = 7,118,177, ; + Height = 18, ; + Left = 9, ; + Name = "Titlu", ; + TabIndex = 3, ; + Tag = "", ; + Top = 9, ; + Width = 35, ; + WordWrap = .F., ; + ZOrderSet = 4 + *< END OBJECT: ClassLib="lb.vcx" BaseClass="label" /> + + PROCEDURE actualizeaza_grid + LPARAMETERS pcFiltru + LOCAL lcFiltru + poLog.Log('recordsource/tooltiptext inainte de save_grid ' + ALLTRIM(TRANSFORM(This._grid1.RecordSource)) + '/' + ALLTRIM(TRANSFORM(This._grid1.ToolTipText)), PROGRAM()) + + lcFiltru=pcFiltru + IF EMPTY(lcFiltru) + lcFiltru=this.ocursor.ca_baza1.cfiltru + ENDIF + + lcOrder = IIF(!EMPTY(this.corder),this.corder + [ ] + this.casc, '') + save_grid(This._grid1) + + poLog.Log('recordsource/tooltiptext dupa save_grid ' + ALLTRIM(TRANSFORM(This._grid1.RecordSource)) + '/' + ALLTRIM(TRANSFORM(This._grid1.ToolTipText)), PROGRAM()) + + this.ocursor.ca_baza1.cfiltru = lcfiltru + this.ocursor.ca_baza1.corder = lcOrder + this.ocursor.ca_baza1.afisare() + poLog.Log('recordsource/tooltiptext inainte de restore_grid ' + ALLTRIM(TRANSFORM(This._grid1.RecordSource)) + '/' + ALLTRIM(TRANSFORM(This._grid1.ToolTipText)), PROGRAM()) + restore_grid(This._grid1) + poLog.Log('recordsource/tooltiptext dupa restore_grid ' + ALLTRIM(TRANSFORM(This._grid1.RecordSource)) + '/' + ALLTRIM(TRANSFORM(This._grid1.ToolTipText)), PROGRAM()) + + ENDPROC + + PROCEDURE corderby_assign + LPARAMETERS vNewVal + *To do: Modify this routine for the Assign method + + IF THIS.corder = m.vNewVal + lcASC = IIF(this.casc = 'ASC','DESC','ASC') + ELSE + lcASC = 'ASC' + ENDIF + THIS.cOrder = m.vNewVal + this.cAsc = lcAsc + IF lcAsc = 'ASC' + this.cPicture = 'Up.bmp' + ELSE + this.cPicture = 'Down.bmp' + ENDIF + If !Inlist(Type(This.corder),'C','T','D','N') + This.cb_tx_cautare1.Text.Enabled = .F. + Else + This.cb_tx_cautare1.Text.Enabled = .T. + Endif + this.actualizeaza_grid() + + ENDPROC + + PROCEDURE do_cauta + Private lcfiltru,lcval1 + lcfiltru='' + LOCAL lcColoana + lcColoana = '' + + Select (This.cnumecursor) + + lcColoana = Alltrim(This.cOrder) + With This.cb_tx_cautare1 + If Inlist(Type(lcColoana),'T','N','D') + lcval=.Text.Value + + Do Case + Case Type(lcColoana)='T' + lcval1=[to_date(']+TTOC(lcval,1)+[','YYYYMMDDHH24miss')] + Case Type(lcColoana)='D' + lcval1=[to_date(']+DTOS(lcval)+[','YYYYMMDD')] + Otherwise + lcval1=IIF(TYPE('lcval')='N',ALLTRIM(STR(lcval,20,4)),ALLTRIM(lcval)) + Endcase + + Do Case + Case At('%',lcval1)<>0 + lcfiltru = [2=2] + Case .criteriu.Value = "1" And !Empty(.Text.Value) + lcfiltru = Alltrim(Upper(lcColoana)) + [ >= ] + lcval1 + Case .criteriu.Value = "2" And !Empty(.Text.Value) + lcfiltru = Alltrim(Upper(lcColoana)) + [ <= ] + lcval1 + Case .criteriu.Value = "3" And !Empty(.Text.Value) + lcfiltru = Alltrim(Upper(lcColoana)) + [ = ] + lcval1 + Case .criteriu.Value = "4" And !Empty(.Text.Value) + lcfiltru = Alltrim(Upper(lcColoana)) + [ <> ] + lcval1 + Case .criteriu.Value = "5" And !Empty(.Text.Value) + lcfiltru = Alltrim(Upper(lcColoana)) + [ > ] + lcval1 + Case .criteriu.Value = "6" And !Empty(.Text.Value) + lcfiltru = Alltrim(Upper(lcColoana)) + [ < ] + lcval1 + Endcase + + Else + lcval1=Strtran(Alltrim(Upper(.Text.Value)),['],['']) + Do Case + Case .criteriu.Value = "1" And !Empty(.Text.Value) + lcfiltru = Alltrim(Upper(lcColoana)) + [ LIKE '] + lcval1 + [%'] + Case .criteriu.Value = "2" And !Empty(.Text.Value) + lcfiltru = Alltrim(Upper(lcColoana)) + [ ='] + lcval1 + ['] + Case .criteriu.Value = "3" And !Empty(.Text.Value) + lcfiltru = Alltrim(Upper(lcColoana)) + [ !='] + lcval1 + ['] + Case .criteriu.Value = "4" And !Empty(.Text.Value) + lcfiltru = Alltrim(Upper(lcColoana)) + [ LIKE '%] + lcval1 + [%'] + Case .criteriu.Value = "5" And !Empty(.Text.Value) + lcfiltru = Alltrim(Upper(lcColoana)) + [ NOT LIKE '%] + lcval1 + [%'] + Case .criteriu.Value = "6" + lcfiltru = [2=2] + Endcase + Endif + Endwith + + If Empty(lcfiltru) + aMessagebox("Alegeti un criteriu!",0+48,"Atentie") + This.cb_tx_cautare1.criteriu.SetFocus() + Return + Endif + + + lcfiltru = This.cfiltruoriginal + [ and ] + lcfiltru + + This.actualizeaza_grid(lcfiltru) + *This._GRID1.AutoFit + + Select (This.cnumecursor) + Go Top + If (Reccount(This.cnumecursor)=0) + This._GRID1.SetFocus() + aMessagebox("Nu exista rezultate!",0+48,"Atentie") + This.cb_tx_cautare1.criteriu.SetFocus() + Else + Go Top + If Type(lcColoana)='C' + lcFirstInList = &lcColoana + If (Reccount(This.cnumecursor)>1 And Alltrim(lcFirstInList)=='') + Goto 2 + Endif + Endif + This._GRID1.SetFocus() + Endif + + Return lcfiltru + + ENDPROC + + PROCEDURE initializare + Parameters tlNumerotare,tlPastreazaCriteriu + + LOCAL lnPornire + llNrOrd = tlNumerotare + This.lnumerotare = tlNumerotare + this.cb_tx_cautare1.criteriu.Value = this.nPornire + + *** CREEZ CURSORUL INITIAL + lcTitlu = Alltrim(This.cTitlu) + lcTitluColoane = Alltrim(This.cTitlu_coloane) + lcNumeColoane = Alltrim(This.cNume_coloane) + lcWidthColoane = Alltrim(This.cWidth_coloane) && 9.11.2008 + + lcSelect = Alltrim(This.cSelect) + lcFiltru = Iif(!Empty(This.cFiltru),This.cFiltru + Iif(!Empty(This.cFiltruOriginal),[ AND ] + This.cFiltruOriginal, ''),This.cFiltruOriginal)+Iif(!Empty(This.cwhere),Iif(!Empty(This.cFiltruOriginal),[ AND ],[ ]) +Alltrim(This.cwhere),[]) + lcFiltruOriginal = Alltrim(This.cFiltruOriginal)+Iif(!Empty(This.cwhere),Iif(!Empty(This.cFiltruOriginal),[ AND ],[ ]) +Alltrim(This.cwhere),[]) + lcSchema = Alltrim(This.cSchema) + lcMask = Alltrim(This.cMask) + lcOrder = Alltrim(This.cOrder) + llAfisare = .F. + lcNumeCursor = This.cNumecursor + lcNrColoane_check = Alltrim(This.cnrcoloane_check) + llModParam = This.lmodparam + lcGroup = Alltrim(This.cgroup) + + + && testez daca am de-a face cu coloane de tip checkbox + llCuCheck =Iif(Empty(lcNrColoane_check),.F.,.T.) + + This.titlu.Caption = lcTitlu + + If Used(lcNumeCursor) + Use In &lcNumeCursor + Endif + + Private podecabaza + podecabaza = '' + + gencursor('podecabaza',lcNumeCursor,lcSelect,lcFiltru,lcSchema,lcOrder,llAfisare,lcGroup,llModParam) + podecabaza.ca_baza1.afisare() + + This.ocursor = podecabaza + + If Right(lcTitluColoane,1) # ',' + lcTitluColoane = lcTitluColoane + ',' + Endif + If Left(lcTitluColoane,1) # ',' + lcTitluColoane = ',' + lcTitluColoane + Endif + If Right(lcNumeColoane ,1) # ';' + lcNumeColoane = lcNumeColoane + ';' + Endif + If Left(lcNumeColoane ,1) # ';' + lcNumeColoane = ';' + lcNumeColoane + Endif + If Right(lcMask,1) # ';' && am virgula in get_mask + lcMask = lcMask + ';' + Endif + If Left(lcMask,1) # ';' + lcMask = ';' + lcMask + Endif + If !Empty(lcWidthColoane) And Right(lcWidthColoane,1) # ';' + lcWidthColoane = lcWidthColoane + ';' + Endif + If !Empty(lcWidthColoane) And Left(lcWidthColoane,1) # ';' + lcWidthColoane = ';' + lcWidthColoane + Endif + + If llNrOrd && mai adaug o coloana la inceput + lcTitluColoane = ',' + lcTitluColoane + lcNumeColoane = ';' + lcNumeColoane + If !Empty(lcWidthColoane) + lcWidthColoane = ';20' + lcWidthColoane + Endif + lcMask = ';[0]=' + lcMask + Endif + + lnNrCols = Occurs(";",lcNumeColoane) - 1 + + This._GRID1.RecordSource = lcNumeCursor + This._GRID1.ColumnCount = lnNrCols + + Select (lcNumeCursor) + + For i=1 To lnNrCols + * this._grid1.AddColumn(i) + lcTitluCol = Alltrim(Strextract(lcTitluColoane,[,],[,],i)) + lcControlCol = Alltrim(Strextract(lcNumeColoane,[;],[;],i)) + lcWidthCol = Alltrim(Strextract(lcWidthColoane,[;],[;],i)) + If llNrOrd And i = 1 + lcHeader = [this._grid1.column1.hEADER1.Caption = 'Nr.'] + &lcHeader + This._GRID1.coLUMN1.ControlSource = '' + If !Empty(lcWidthColoane) + lcColumnWidth = [this._grID1.column] + Alltrim(Str(i))+ [.width = ] + lcWidthCol + &lcColumnWidth + Endif + Loop + Endif + + lcHeader = [this._grid1.column] + Alltrim(Str(i))+ [.hEADER1.Caption = '] + lcTitluCol + ['] + &lcHeader + lcControlSource = [this._GRID1.coLUMN] + Alltrim(Str(i))+ [.ControlSource = '] + lcControlCol + ['] + &lcControlSource + lcControlSource = [this._GRID1.coLUMN] + Alltrim(Str(i))+ [.ControlSource = '] + lcControlCol + ['] + &lcControlSource + lcReadOnlyCol = [this._GRID1.coLUMN] + Alltrim(Str(i)) + [.ReadOnly = .t.] + &lcReadOnlyCol + lcMaskCol = Strextract(lcMask,[;],[;],i) + lcMaskCol = Alltrim(Strextract(lcMaskCol,']=')) + If !Empty(lcMaskCol) + lcInputmask = [this._GRID1.coLUMN] + Alltrim(Str(i))+ [.InputMask = '] + Evaluate(lcMaskCol) + ['] + &lcInputmask + Endif + If !Empty(lcWidthColoane) + lcColumnWidth = [this._grID1.column] + Alltrim(Str(i))+ [.width = ] + lcWidthCol + &lcColumnWidth + Endif + + If Type(lcControlCol) = 'N' + If Empty(lcMaskCol) && dc nu e configurat + If Inlist(lcControlCol,"cantitate","cant_bax") + lcInputmask = [this._GRID1.coLUMN] + Alltrim(Str(i))+ [.InputMask = '] + get_mask(12,4) + ['] + Else + lcInputmask = [this._GRID1.coLUMN] + Alltrim(Str(i))+ [.InputMask = '] + get_mask(12,gnPA) + ['] + Endif + &lcInputmask + Endif + lcAlignment = [this._GRID1.coLUMN] + Alltrim(Str(i))+ [.Alignment = 1] + &lcAlignment + If llCuCheck + && daca nr coloanei curente este in lista cNrColoane_check, atunci + && controlul curent al coloanei va fi un checkbox + lcVerific = 'INLIST(' + Alltrim(Str(i)) + ',' +lcNrColoane_check + ')' + lcEste = &lcVerific + If lcEste + lcAdaugCheck = [this._GRID1.coLUMN] + Alltrim(Str(i)) + [.AddObject('Check1',]+; + ['Checkbox')] + &lcAdaugCheck + lcControlCurent = [this._GRID1.coLUMN] + Alltrim(Str(i)) + [.CurrentControl = 'Check1'] + &lcControlCurent + lcRemText = [this._GRID1.coLUMN] + Alltrim(Str(i)) + [.RemoveObject('Text1')] + &lcRemText + lcSparse = [this._GRID1.coLUMN] + Alltrim(Str(i)) + [.Sparse = .f.] + &lcSparse + lcCaption = [this._GRID1.coLUMN] + Alltrim(Str(i)) + [.Check1.caption = ''] + &lcCaption + lcReadOnly = [this._GRID1.coLUMN] + Alltrim(Str(i)) + [.ReadOnly = .f.] + &lcReadOnly + lcAli = [this._GRID1.coLUMN] + Alltrim(Str(i)) + [.Alignment = 2] + &lcAli + lcReadOnly_ch = [this._GRID1.coLUMN] + Alltrim(Str(i)) + [.Check1.ReadOnly = .f.] + &lcReadOnly_ch + lcControlSource = [this._GRID1.coLUMN] + Alltrim(Str(i))+ [.ControlSource = '] + lcControlCol + ['] + &lcControlSource + lcVisible = [this._GRID1.coLUMN] + Alltrim(Str(i)) + [.Check1.visible = .t.] + &lcVisible + lcWidth = [this._GRID1.coLUMN] + Alltrim(Str(i)) + [.width = 35] + &lcWidth + Endif + Endif + Else + lcAlignment = [this._GRID1.coLUMN] + Alltrim(Str(i))+ [.Alignment = 0] + &lcAlignment + Endif + Endfor + + * Replace default headers with custom one + i=0 + For Each loColumn In This._GRID1.Columns + i = i + 1 + With loColumn + If !Empty(loColumn.ControlSource) ; + AND (EMPTY(This.ccoloanepermise) OR (!EMPTY(This.ccoloanepermise) AND [,]+loColumn.ControlSource+[,]$[,]+This.ccoloanepermise+[,])) + && conditia de pe randul doi am adaugat-o ca sa restrictionez coloanele dupa care se poate face ordonare + && ROAGEST v 2.1.19 + + * Save default caption, color and font + + lcOldCaption = loColumn.Header1.Caption + lcOldFontName = loColumn.Header1.FontName + lnOldForeColor = loColumn.Header1.ForeColor + llOldFontUnderline = loColumn.Header1.FontUnderline + + * Name Header Obj after ControlSource + + lcControlSrc = loColumn.ControlSource + lnControlSrc = Rat(".", lcControlSrc) + 1 + lcControlSrc = Substr(lcControlSrc, lnControlSrc) + + * Metoda dupa care se face ordonarea relativa la grid + lcMethodName = 'parent.corderby_assign' + lcPropColOrder = 'parent.cOrder' + lcPropSensOrder = 'parent.cAsc' + llOldWordWrap = .F. + lcPictureProp = 'parent.cpicture' + + * Remove old and create new header + + .RemoveObject("Header1") + .AddObject("grh"+Alltrim(Str(i)), ; + "PSHeader", ; + lcOldCaption, lcOldFontName,lnOldForeColor,llOldFontUnderline,lcMethodName,lcControlSrc,llOldWordWrap,lcPictureProp) + + + If Upper(Alltrim(lcControlSrc)) = Upper(Alltrim(lcOrder)) + lcCuloare = [locolumn.grh] + Alltrim(Str(i)) + [.forecolor = RGB(0,0,255)] + &lcCuloare + lcUnderline = [locolumn.grh] + Alltrim(Str(i)) + [.FontUnderline = .t.] + &lcUnderline + Endif + + Endif + Endwith + Endfor + + If llNrOrd + This._GRID1.coLUMN1.ControlSource = [recno('] +lcNumeCursor + [')] + This._GRID1.coLUMN1.InputMask = '99999' + *This._GRID1.LockColumns = 1 + Endif + + This.schimba_criteriu(tlPastreazaCriteriu) + Bindevent(This,"cOrder",This,"schimba_criteriu",1) + If Empty(lcWidthColoane) + This._GRID1.AutoFit + Endif + + + ENDPROC + + PROCEDURE Resize + *!* this._GRID1.Width = this.Width - 15 + *!* this._GRID1.Height = this.Height - this._griD1.Top - 5 + + ENDPROC + + PROCEDURE schimba_criteriu + Lparameters tlPastreazaCriteriu + Local llPastreazaCriteriu + llPastreazaCriteriu = Iif(Empty(tlPastreazaCriteriu),.F.,tlPastreazaCriteriu) + With This.cb_tx_cautare1 + lcValoare = .Text.Value + Do Case + Case Type(This.corder)='T' + .criteriu.RowSource=[> = ,1,< = ,2, = ,3, # ,4, > ,5, < ,6] + This.lvalid=.F. + .Text.Enabled=.T. + .Text.ResetToDefault("InputMask") + If Type("lcValoare") <> 'T' Or !tlPastreazaCriteriu + .Text.Value={// : :} + Endif + Case Type(This.corder)='D' + .criteriu.RowSource=[> = ,1,< = ,2, = ,3, # ,4, > ,5, < ,6] + This.lvalid=.F. + .Text.Enabled=.T. + .Text.ResetToDefault("InputMask") + If Type("lcValoare") <> 'D' Or !tlPastreazaCriteriu + .Text.Value={//} + Endif + Case Type(This.corder)='N' + .criteriu.RowSource=[> = ,1,< = ,2, = ,3, # ,4, > ,5, < ,6] + This.lvalid=.F. + .Text.Enabled=.T. + .Text.InputMask=get_mask(14,gnPa) + If Type("lcValoare") <> 'N' Or !tlPastreazaCriteriu + .Text.Value=0 + Endif + Otherwise + .criteriu.RowSource=[incepe cu...,1,este...,2,nu este...,3,contine...,4,nu contine...,5,toate,6] + This.lvalid=.T. + .Text.ResetToDefault("InputMask") + If !tlPastreazaCriteriu + .Text.Value=[] + Endif + Endcase + .criteriu.Value = ALLTRIM(STR(this.nPornire)) && [1] + .criteriu.Refresh() + Endwith + + ENDPROC + + PROCEDURE Cb_tx_cautare1.Criteriu.Init + this.Value = "1" + ENDPROC + + PROCEDURE Cb_tx_cautare1.Criteriu.Valid + If This.Parent.Parent.lvalid + DoDefault() + Endif + ENDPROC + + PROCEDURE Cb_tx_cautare1.Text.KeyPress + LPARAMETERS nKeyCode, nShiftAltCtrl + IF nKeyCode = 13 + NODEFAULT + this.parent.Parent.do_cauta() + ENDIF + ENDPROC + +ENDDEFINE + +DEFINE CLASS frm_alege_banca AS _frmbase OF "_frm_base.vcx" + *< CLASSDATA: Baseclass="form" Timestamp="" Scale="Pixels" Uniqueid="" /> + + *-- OBJECTDATA items order determines ZOrder / El orden de los items OBJECTDATA determina el ZOrder + *< OBJECTDATA: ObjPath="grdbanci" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="grdbanci.cAles.Header1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="grdbanci.cAles._checkbox1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="grdbanci.cBanca.Header1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="grdbanci.cBanca.Text1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="grdbanci.cCont.Header1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="grdbanci.cCont.Text1" UniqueID="" Timestamp="" /> + + * + DoCreate = .T. + FontCharSet = 238 + Height = 150 + Name = "frm_alege_banca" + Width = 430 + _SHAPE1.Height = 29 + _SHAPE1.Left = 0 + _SHAPE1.Name = "_SHAPE1" + _SHAPE1.Top = 0 + _SHAPE1.Width = 432 + _SHAPE2.Height = 29 + _SHAPE2.Left = 395 + _SHAPE2.Name = "_SHAPE2" + _SHAPE2.Top = -1 + _SHAPE2.Width = 37 + LB_TITLU_ALB_B121.Caption = "ALEGEÞI CONTURILE ªI BÃNCILE" + LB_TITLU_ALB_B121.FontBold = .T. + LB_TITLU_ALB_B121.FontCharSet = 238 + LB_TITLU_ALB_B121.Name = "LB_TITLU_ALB_B121" + LB_TITLU_ALB_B121.TabIndex = 5 + BUT_TERMIN1.Left = 399 + BUT_TERMIN1.Name = "BUT_TERMIN1" + BUT_TERMIN1.TabIndex = 4 + BUT_TERMIN1.Top = 0 + Gridsort1.Left = 7 + Gridsort1.Name = "Gridsort1" + Gridsort1.Top = 42 + * + + ADD OBJECT 'grdbanci' AS _grdbase WITH ; + ColumnCount = 3, ; + DeleteMark = .F., ; + FontName = "Arial Narrow", ; + Height = 88, ; + Left = 20, ; + Name = "grdbanci", ; + Panel = 1, ; + RecordSource = "crsbanci", ; + ScrollBars = 2, ; + Top = 43, ; + Width = 386, ; + Column1.ControlSource = "ales", ; + Column1.FontName = "Arial Narrow", ; + Column1.Name = "cAles", ; + Column1.Sparse = .F., ; + Column1.Width = 26, ; + Column2.ControlSource = "banca", ; + Column2.FontName = "Arial Narrow", ; + Column2.Name = "cBanca", ; + Column2.Width = 168, ; + Column3.ControlSource = "cont", ; + Column3.FontName = "Arial Narrow", ; + Column3.Name = "cCont", ; + Column3.Width = 158 + *< END OBJECT: ClassLib="_grd_base.vcx" BaseClass="grid" /> + + ADD OBJECT 'grdbanci.cAles._checkbox1' AS _checkbox WITH ; + Alignment = 0, ; + AutoSize = .F., ; + Caption = "", ; + Centered = .T., ; + Left = 17, ; + Name = "_checkbox1", ; + Top = 28 + *< END OBJECT: ClassLib="_baza.vcx" BaseClass="checkbox" /> + + ADD OBJECT 'grdbanci.cAles.Header1' AS header WITH ; + Alignment = 2, ; + Caption = "Ales", ; + FontName = "Arial Narrow", ; + Name = "Header1" + *< END OBJECT: BaseClass="header" /> + + ADD OBJECT 'grdbanci.cBanca.Header1' AS header WITH ; + Alignment = 2, ; + Caption = "Banca", ; + FontName = "Arial Narrow", ; + Name = "Header1" + *< END OBJECT: BaseClass="header" /> + + ADD OBJECT 'grdbanci.cBanca.Text1' AS textbox WITH ; + BackColor = 255,255,255, ; + BorderStyle = 0, ; + FontName = "Arial Narrow", ; + ForeColor = 0,0,0, ; + Margin = 0, ; + Name = "Text1" + *< END OBJECT: BaseClass="textbox" /> + + ADD OBJECT 'grdbanci.cCont.Header1' AS header WITH ; + Alignment = 2, ; + Caption = "Cont", ; + FontName = "Arial Narrow", ; + Name = "Header1" + *< END OBJECT: BaseClass="header" /> + + ADD OBJECT 'grdbanci.cCont.Text1' AS textbox WITH ; + BackColor = 255,255,255, ; + BorderStyle = 0, ; + FontName = "Arial Narrow", ; + ForeColor = 0,0,0, ; + Margin = 0, ; + Name = "Text1" + *< END OBJECT: BaseClass="textbox" /> + + PROCEDURE inainte_de_do_termin + Local llReturn,lnRecno,lnAlese + Store .T. To llReturn + Select crsbanci + lnRecno = Recno() + Calculate Cnt() For ales = 1 To lnAlese + If lnAlese = 0 + Go lnRecno + amessagebox("Trebuie sa alegeti cel putin o banca si un cont!",48,"Atentie") + Thisform.grdbanci.SetFocus() + llReturn = .F. + Endif + Return llReturn + + ENDPROC + +ENDDEFINE + +DEFINE CLASS frm_alege_optlistfact AS _frmbase OF "_frm_base.vcx" + *< CLASSDATA: Baseclass="form" Timestamp="" Scale="Pixels" Uniqueid="" /> + + *-- OBJECTDATA items order determines ZOrder / El orden de los items OBJECTDATA determina el ZOrder + *< OBJECTDATA: ObjPath="ck_optiune1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="ck_optiune2" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="ck_optiune3" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="ck_optiune4" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="ck_optiune5" UniqueID="" Timestamp="" /> + + * + DoCreate = .T. + FontCharSet = 238 + Height = 150 + Name = "frm_alege_optlistfact" + Width = 430 + _SHAPE1.Height = 29 + _SHAPE1.Left = 0 + _SHAPE1.Name = "_SHAPE1" + _SHAPE1.Top = 0 + _SHAPE1.Width = 432 + _SHAPE2.Height = 29 + _SHAPE2.Left = 395 + _SHAPE2.Name = "_SHAPE2" + _SHAPE2.Top = -1 + _SHAPE2.Width = 37 + LB_TITLU_ALB_B121.Caption = "OPÞIUNI DE LISTARE" + LB_TITLU_ALB_B121.FontBold = .T. + LB_TITLU_ALB_B121.FontCharSet = 238 + LB_TITLU_ALB_B121.Name = "LB_TITLU_ALB_B121" + LB_TITLU_ALB_B121.TabIndex = 7 + BUT_TERMIN1.Left = 399 + BUT_TERMIN1.Name = "BUT_TERMIN1" + BUT_TERMIN1.TabIndex = 6 + BUT_TERMIN1.Top = 0 + Gridsort1.Left = 5 + Gridsort1.Name = "Gridsort1" + Gridsort1.Top = 33 + * + + ADD OBJECT 'ck_optiune1' AS _checkbox WITH ; + Alignment = 0, ; + Caption = "Se imprimã serii/loturi pe facturã / aviz.", ; + ControlSource = "poDate.listare_serii", ; + Height = 18, ; + Left = 28, ; + Name = "ck_optiune1", ; + TabIndex = 1, ; + Top = 41, ; + Width = 244 + *< END OBJECT: ClassLib="_baza.vcx" BaseClass="checkbox" /> + + ADD OBJECT 'ck_optiune2' AS _checkbox WITH ; + Alignment = 0, ; + Caption = "Se imprimã componenþa seturilor pe facturã / aviz / proformã.", ; + ControlSource = "poDate.listare_componenta_set", ; + Left = 28, ; + Name = "ck_optiune2", ; + TabIndex = 2, ; + Top = 61, ; + Width = 371 + *< END OBJECT: ClassLib="_baza.vcx" BaseClass="checkbox" /> + + ADD OBJECT 'ck_optiune3' AS _checkbox WITH ; + Alignment = 0, ; + Caption = "Se imprimã recapitulaþia.", ; + ControlSource = "poDate.listare_recapitulatie", ; + Left = 28, ; + Name = "ck_optiune3", ; + TabIndex = 3, ; + Top = 80, ; + Width = 163 + *< END OBJECT: ClassLib="_baza.vcx" BaseClass="checkbox" /> + + ADD OBJECT 'ck_optiune4' AS _checkbox WITH ; + Alignment = 0, ; + Caption = "Se imprimã lista de livrare.", ; + ControlSource = "poDate.listare_lista_livrare", ; + Left = 28, ; + Name = "ck_optiune4", ; + TabIndex = 4, ; + Top = 99, ; + Width = 172 + *< END OBJECT: ClassLib="_baza.vcx" BaseClass="checkbox" /> + + ADD OBJECT 'ck_optiune5' AS _checkbox WITH ; + Alignment = 0, ; + Caption = "Se imprimã componenþa seturilor pe lista de livrare.", ; + ControlSource = "poDate.listare_componenta_set_ll", ; + Left = 28, ; + Name = "ck_optiune5", ; + TabIndex = 5, ; + Top = 118, ; + Width = 315 + *< END OBJECT: ClassLib="_baza.vcx" BaseClass="checkbox" /> + + PROCEDURE Init + DoDefault() + lnHeight = Thisform.Height + If poDate.listare_lista_livrare <> 0 + If poDate.listare_componenta_set_ll = 0 + Thisform.ck_optiune5.Visible = .F. + lnHeight = lnHeight - Thisform.ck_optiune5.Height + Endif + If poDate.listare_componenta_set = 0 And poDate.listare_recapitulatie = 0 + If poDate.listare_serii = 0 + Thisform.ck_optiune5.Top = thisform.ck_optiune2.top + Thisform.ck_optiune4.Top = Thisform.ck_optiune1.Top + Else + Thisform.ck_optiune5.Top = thisform.ck_optiune3.top + Thisform.ck_optiune4.Top = Thisform.ck_optiune2.Top + Endif + Else + If poDate.listare_serii = 0 + Thisform.ck_optiune5.Top = thisform.ck_optiune4.top + Thisform.ck_optiune4.Top = Thisform.ck_optiune3.Top + Endif + Endif + Else + Thisform.ck_optiune4.Visible = .F. + Thisform.ck_optiune5.Visible = .F. + lnHeight = lnHeight - Thisform.ck_optiune4.Height * 2 + Endif + + If poDate.listare_componenta_set = 0 And poDate.listare_recapitulatie = 0 + Thisform.ck_optiune2.Visible = .F. + Thisform.ck_optiune3.Visible = .F. + lnHeight = lnHeight - Thisform.ck_optiune2.Height * 2 + Else + If poDate.listare_serii = 0 + Thisform.ck_optiune3.Top = Thisform.ck_optiune2.Top + Thisform.ck_optiune2.Top = Thisform.ck_optiune1.Top + Endif + Endif + + If poDate.listare_serii = 0 + Thisform.ck_optiune1.Visible = .F. + lnHeight = lnHeight - Thisform.ck_optiune1.Height + Endif + + Thisform.Height = lnHeight + Thisform.Refresh() + ENDPROC + + PROCEDURE ck_optiune4.InteractiveChange + If This.Value = 0 + Thisform.ck_optiune5.Value = 0 + Thisform.ck_optiune5.Enabled = .F. + Else + Thisform.ck_optiune5.Enabled = .T. + Endif + ENDPROC + +ENDDEFINE + +DEFINE CLASS frm_alte_date AS _frmbase OF "_frm_base.vcx" + *< CLASSDATA: Baseclass="form" Timestamp="" Scale="Pixels" Uniqueid="" /> + + *-- OBJECTDATA items order determines ZOrder / El orden de los items OBJECTDATA determina el ZOrder + *< OBJECTDATA: ObjPath="_shape4" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="shpTipFactura" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="_shape3" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="But_renunt1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="Ct_clb_delegat" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="Ct_clb_masina" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="Ct_clb_agent" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="Ed_tx_simplu1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="Clb_incasat" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="opt_incasat" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="Clb_nrchit" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="Clb_serie_chit" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="Clb_dataora_exp" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="But_modifica1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="chkPOS" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="chkDetaliat" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="cmdModificaBon" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="LB_SIMPLU1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="clb_adresa_facturare" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="_checkbox1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="Cb_casa" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="cboTipFactura" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="lblTipFactura" UniqueID="" Timestamp="" /> + + * + *m: actualizeaza_tipincasare + *m: do_aloca_nr_bon + *m: do_aloca_nr_pos + *m: do_cauta_adresa + *m: do_cauta_agent + *m: do_cauta_delegat + *m: do_cauta_masina + *m: do_modifica_bon && modifica seria bonuri fiscale + *m: do_modifica_pos + *p: nid + *p: nnrbon && numar bon fiscal + *p: nrezultatserii + *p: orec + *p: tdataora_exp + * + + * + BorderStyle = 3 + Caption = "Form" + DoCreate = .T. + Height = 299 + lactiv3 = .T. + Name = "frm_alte_date" + nnrbon = 0 + nrezultatserii = 0 + tdataora_exp = {} + Width = 405 + _memberdata = + + + _shape1.Anchor = 10 + _shape1.Height = 29 + _shape1.Left = 0 + _shape1.Name = "_shape1" + _shape1.Top = 0 + _shape1.Width = 407 + _shape1.ZOrderSet = 3 + _shape2.Height = 29 + _shape2.Left = 343 + _shape2.Name = "_shape2" + _shape2.Top = 0 + _shape2.Width = 64 + _shape2.ZOrderSet = 4 + Lb_titlu_alb_b121.Caption = "DETALII DELEGAT / MAªINA" + Lb_titlu_alb_b121.FontBold = .T. + Lb_titlu_alb_b121.Name = "Lb_titlu_alb_b121" + Lb_titlu_alb_b121.TabIndex = 18 + Lb_titlu_alb_b121.ZOrderSet = 5 + BUT_TERMIN1.Anchor = 8 + BUT_TERMIN1.Left = 375 + BUT_TERMIN1.Name = "BUT_TERMIN1" + BUT_TERMIN1.TabIndex = 10 + BUT_TERMIN1.Top = 1 + BUT_TERMIN1.ZOrderSet = 6 + GRIDSORT1.Left = 41 + GRIDSORT1.Name = "GRIDSORT1" + GRIDSORT1.Top = 29 + * + + ADD OBJECT '_checkbox1' AS _checkbox WITH ; + Alignment = 0, ; + Anchor = 0, ; + AutoSize = .T., ; + Caption = "Listare detaliata", ; + ControlSource = "poDate.nListareDetaliata", ; + Left = 53, ; + Name = "_checkbox1", ; + TabIndex = 7, ; + ToolTipText = "Se listeaza articolele detaliat pe factura sau se cumuleaza cantitatea pe articole", ; + Top = 253, ; + ZOrderSet = 24 + *< END OBJECT: ClassLib="_baza.vcx" BaseClass="checkbox" /> + + ADD OBJECT '_shape3' AS _shape WITH ; + Anchor = 0, ; + BackColor = 255,255,255, ; + Height = 138, ; + Left = 19, ; + Name = "_shape3", ; + Top = 306, ; + Visible = .F., ; + Width = 371, ; + ZOrderSet = 2 + *< END OBJECT: ClassLib="_baza.vcx" BaseClass="shape" /> + + ADD OBJECT '_shape4' AS _shape WITH ; + BackStyle = 0, ; + Height = 25, ; + Left = 178, ; + Name = "_shape4", ; + Top = 250, ; + Width = 218, ; + ZOrderSet = 0 + *< END OBJECT: ClassLib="..\..\..\roagest\comun\clase\_baza.vcx" BaseClass="shape" /> + + ADD OBJECT 'But_modifica1' AS but_modifica WITH ; + Left = 11, ; + Name = "But_modifica1", ; + TabIndex = 13, ; + TabStop = .F., ; + Top = 59, ; + Visible = .T., ; + ZOrderSet = 18 + *< END OBJECT: ClassLib="cmd_butoane.vcx" BaseClass="commandbutton" /> + + ADD OBJECT 'But_renunt1' AS but_renunt WITH ; + Anchor = 8, ; + Left = 345, ; + Name = "But_renunt1", ; + TabIndex = 11, ; + Top = 1, ; + ZOrderSet = 8 + *< END OBJECT: ClassLib="cmd_butoane.vcx" BaseClass="commandbutton" /> + + ADD OBJECT 'Cb_casa' AS cb_tx_simplu WITH ; + Anchor = 0, ; + Left = 36, ; + Name = "Cb_casa", ; + TabIndex = 17, ; + Top = 404, ; + Visible = .F., ; + Width = 314, ; + ZOrderSet = 25, ; + _CBBASE1.Left = 126, ; + _CBBASE1.Name = "_CBBASE1", ; + _CBBASE1.Top = 3, ; + _LBBASE1.Caption = "Casa", ; + _LBBASE1.Name = "_LBBASE1" + *< END OBJECT: ClassLib="lb_tx.vcx" BaseClass="container" /> + + ADD OBJECT 'cboTipFactura' AS _combobox WITH ; + BoundColumn = 2, ; + BoundTo = .T., ; + ColumnCount = 1, ; + ColumnLines = .F., ; + ColumnWidths = "150", ; + ControlSource = "poDate.tip_saft", ; + Height = 24, ; + Left = 250, ; + Name = "cboTipFactura", ; + RowSource = "select tip_saftname, cod from saft_tip_facturi into cursor cTipFacturaX", ; + RowSourceType = 3, ; + TabIndex = 8, ; + Top = 250, ; + Width = 142, ; + ZOrderSet = 26 + *< END OBJECT: ClassLib="..\..\..\roagest\comun\clase\_baza.vcx" BaseClass="combobox" /> + + ADD OBJECT 'chkDetaliat' AS _checkbox WITH ; + Alignment = 0, ; + Anchor = 0, ; + Caption = "Detaliat", ; + ControlSource = "poDate.nBonDetaliat", ; + Left = 323, ; + Name = "chkDetaliat", ; + TabIndex = 21, ; + ToolTipText = 'Se listeaza articolele detaliat pe bonul fiscal sau "Contravaloare factura ..."', ; + Top = 356, ; + ZOrderSet = 20 + *< END OBJECT: ClassLib="_baza.vcx" BaseClass="checkbox" /> + + ADD OBJECT 'chkPOS' AS _checkbox WITH ; + Alignment = 0, ; + Anchor = 0, ; + Caption = "POS", ; + ControlSource = "poDate.nIncasatPos", ; + Left = 272, ; + Name = "chkPOS", ; + TabIndex = 19, ; + ToolTipText = "Incasare bon fiscal prin CARD la POS", ; + Top = 356, ; + ZOrderSet = 19 + *< END OBJECT: ClassLib="_baza.vcx" BaseClass="checkbox" /> + + ADD OBJECT 'clb_adresa_facturare' AS ct_clb_cautare WITH ; + Anchor = 0, ; + cconditie = 1=2, ; + cprocedura = thisform.do_cauta_adresa, ; + cvar_afisata = poDate.adresa_facturare, ; + Height = 31, ; + Left = 44, ; + Name = "clb_adresa_facturare", ; + TabIndex = 5, ; + Top = 193, ; + Width = 350, ; + ZOrderSet = 23, ; + img_cautare.Name = "img_cautare", ; + clb_tx_cautare.Lb_simplu1.Caption = "Adresa facturare", ; + clb_tx_cautare.Lb_simplu1.Name = "Lb_simplu1", ; + clb_tx_cautare.Name = "clb_tx_cautare", ; + clb_tx_cautare.Text_simplu1.Left = 133, ; + clb_tx_cautare.Text_simplu1.Name = "Text_simplu1", ; + clb_tx_cautare.Text_simplu1.Width = 177 + *< END OBJECT: ClassLib="caut_ora.vcx" BaseClass="container" /> + + ADD OBJECT 'Clb_dataora_exp' AS clb_tx_simplu WITH ; + Anchor = 0, ; + Left = 45, ; + Name = "Clb_dataora_exp", ; + TabIndex = 6, ; + Top = 222, ; + Width = 314, ; + ZOrderSet = 17, ; + Text_simplu1.ControlSource = "poDate.dataora_exp", ; + Text_simplu1.Height = 23, ; + Text_simplu1.Left = 133, ; + Text_simplu1.Name = "Text_simplu1", ; + Text_simplu1.Top = 3, ; + Text_simplu1.Width = 177, ; + Lb_simplu1.Caption = "Data ºi ora expedierii", ; + Lb_simplu1.Name = "Lb_simplu1" + *< END OBJECT: ClassLib="lb_tx.vcx" BaseClass="container" /> + + ADD OBJECT 'Clb_incasat' AS clb_tx_simplu WITH ; + Anchor = 0, ; + Left = 36, ; + Name = "Clb_incasat", ; + TabIndex = 16, ; + Top = 376, ; + Visible = .F., ; + Width = 314, ; + ZOrderSet = 13, ; + Text_simplu1.ControlSource = "poDate.incasat", ; + Text_simplu1.Format = "RK", ; + Text_simplu1.InputMask = (get_mask(12,gnPc)), ; + Text_simplu1.Left = 126, ; + Text_simplu1.Name = "Text_simplu1", ; + Text_simplu1.Top = 3, ; + Lb_simplu1.Caption = "Încasat", ; + Lb_simplu1.Name = "Lb_simplu1" + *< END OBJECT: ClassLib="lb_tx.vcx" BaseClass="container" /> + + ADD OBJECT 'Clb_nrchit' AS clb_tx_simplu WITH ; + Anchor = 0, ; + Height = 29, ; + Left = 36, ; + Name = "Clb_nrchit", ; + TabIndex = 15, ; + Top = 348, ; + Visible = .F., ; + Width = 232, ; + ZOrderSet = 15, ; + Text_simplu1.ControlSource = "poDate.nr_incasare", ; + Text_simplu1.Height = 23, ; + Text_simplu1.InputMask = (get_mask(14,0)), ; + Text_simplu1.Left = 126, ; + Text_simplu1.Name = "Text_simplu1", ; + Text_simplu1.Top = 3, ; + Text_simplu1.Width = 101, ; + Lb_simplu1.Caption = "Nr. chitanta", ; + Lb_simplu1.Left = 8, ; + Lb_simplu1.Name = "Lb_simplu1", ; + Lb_simplu1.Top = 6 + *< END OBJECT: ClassLib="lb_tx.vcx" BaseClass="container" /> + + ADD OBJECT 'Clb_serie_chit' AS clb_serie_act WITH ; + Anchor = 0, ; + cvariabila = serie_chit, ; + cvariabiladoc = nr_incasare, ; + Left = 36, ; + Name = "Clb_serie_chit", ; + nid_tipdoc = 16, ; + pcobj = poDate, ; + TabIndex = 12, ; + Top = 320, ; + Visible = .F., ; + Width = 314, ; + ZOrderSet = 16, ; + Text_simplu1.ControlSource = "poDate.serie_act", ; + Text_simplu1.Name = "Text_simplu1", ; + Text_simplu1.TabIndex = 2, ; + _cbbase1.Name = "_cbbase1", ; + _cbbase1.TabIndex = 1, ; + _lbbase1.Caption = "Serie chitanta", ; + _lbbase1.Name = "_lbbase1", ; + _lbbase1.TabIndex = 3 + *< END OBJECT: ClassLib="serii_numere.vcx" BaseClass="container" /> + + ADD OBJECT 'cmdModificaBon' AS but_modifica WITH ; + Anchor = 0, ; + caction = do_modifica_bon, ; + Left = 353, ; + Name = "cmdModificaBon", ; + TabIndex = 22, ; + TabStop = .F., ; + Top = 320, ; + ZOrderSet = 21 + *< END OBJECT: ClassLib="cmd_butoane.vcx" BaseClass="commandbutton" /> + + ADD OBJECT 'Ct_clb_agent' AS ct_clb_cautare WITH ; + cconditie = 1=2, ; + cprocedura = thisform.do_cauta_agent, ; + cvar_afisata = poDate.nume_agent, ; + Left = 44, ; + Name = "Ct_clb_agent", ; + TabIndex = 1, ; + Top = 30, ; + ZOrderSet = 11, ; + IMG_CAUTARE.Name = "IMG_CAUTARE", ; + CLB_TX_CAUTARE.Lb_simplu1.Caption = "Agent", ; + CLB_TX_CAUTARE.Lb_simplu1.Name = "Lb_simplu1", ; + CLB_TX_CAUTARE.Name = "CLB_TX_CAUTARE", ; + CLB_TX_CAUTARE.Text_simplu1.Name = "Text_simplu1" + *< END OBJECT: ClassLib="caut_ora.vcx" BaseClass="container" /> + + ADD OBJECT 'Ct_clb_delegat' AS ct_clb_cautare WITH ; + cconditie = ISNULL(poDate.id_delegat), ; + cprocedura = thisform.do_cauta_delegat, ; + cvar_afisata = poDate.nume_delegat, ; + Left = 44, ; + Name = "Ct_clb_delegat", ; + TabIndex = 2, ; + Top = 58, ; + ZOrderSet = 9, ; + IMG_CAUTARE.Name = "IMG_CAUTARE", ; + CLB_TX_CAUTARE.LB_SIMPLU1.Caption = "Delegat", ; + CLB_TX_CAUTARE.LB_SIMPLU1.Name = "LB_SIMPLU1", ; + CLB_TX_CAUTARE.Name = "CLB_TX_CAUTARE", ; + CLB_TX_CAUTARE.TEXT_SIMPLU1.Name = "TEXT_SIMPLU1" + *< END OBJECT: ClassLib="caut_ora.vcx" BaseClass="container" /> + + ADD OBJECT 'Ct_clb_masina' AS ct_clb_cautare WITH ; + cconditie = empty(NVL(poDate.nrinmat,0)), ; + cprocedura = thisform.do_cauta_masina, ; + cvar_afisata = poDate.nrinmat, ; + Left = 44, ; + Name = "Ct_clb_masina", ; + TabIndex = 3, ; + Top = 86, ; + ZOrderSet = 10, ; + IMG_CAUTARE.Name = "IMG_CAUTARE", ; + CLB_TX_CAUTARE.LB_SIMPLU1.Caption = "Maºina", ; + CLB_TX_CAUTARE.LB_SIMPLU1.Name = "LB_SIMPLU1", ; + CLB_TX_CAUTARE.Name = "CLB_TX_CAUTARE", ; + CLB_TX_CAUTARE.TEXT_SIMPLU1.Name = "TEXT_SIMPLU1" + *< END OBJECT: ClassLib="caut_ora.vcx" BaseClass="container" /> + + ADD OBJECT 'Ed_tx_simplu1' AS ed_tx_simplu WITH ; + Anchor = 10, ; + Height = 80, ; + Left = 45, ; + Name = "Ed_tx_simplu1", ; + TabIndex = 4, ; + Top = 115, ; + Width = 350, ; + ZOrderSet = 12, ; + _EDBASE1.Anchor = 10, ; + _EDBASE1.ControlSource = "poDate.text_aditional", ; + _EDBASE1.Format = "!", ; + _EDBASE1.Height = 60, ; + _EDBASE1.Left = 3, ; + _EDBASE1.MaxLength = 1000, ; + _EDBASE1.Name = "_EDBASE1", ; + _EDBASE1.TabStop = .F., ; + _EDBASE1.Top = 17, ; + _EDBASE1.Width = 342, ; + _LBBASE1.AutoSize = .T., ; + _LBBASE1.Caption = "Text aditional (max. 1000 caractere)", ; + _LBBASE1.Height = 18, ; + _LBBASE1.Left = 8, ; + _LBBASE1.Name = "_LBBASE1", ; + _LBBASE1.Top = 1, ; + _LBBASE1.Width = 210, ; + _LBBASE1.WordWrap = .F. + *< END OBJECT: ClassLib="lb_tx.vcx" BaseClass="container" /> + + ADD OBJECT 'LB_SIMPLU1' AS lb_simplu WITH ; + Anchor = 0, ; + BackColor = 255,255,255, ; + BackStyle = 1, ; + Caption = "Detalii încasare", ; + Left = 29, ; + Name = "LB_SIMPLU1", ; + TabIndex = 20, ; + Top = 299, ; + Visible = .F., ; + ZOrderSet = 22 + *< END OBJECT: ClassLib="lb.vcx" BaseClass="label" /> + + ADD OBJECT 'lblTipFactura' AS _label WITH ; + Caption = "Tip factura", ; + Height = 18, ; + Left = 182, ; + Name = "lblTipFactura", ; + TabIndex = 14, ; + Top = 254, ; + Width = 62, ; + ZOrderSet = 27 + *< END OBJECT: ClassLib="..\..\..\roagest\comun\clase\_baza.vcx" BaseClass="label" /> + + ADD OBJECT 'opt_incasat' AS _optiongrup WITH ; + Anchor = 0, ; + AutoSize = .F., ; + ButtonCount = 4, ; + Height = 26, ; + Left = 44, ; + Name = "opt_incasat", ; + TabIndex = 9, ; + Top = 273, ; + Value = 1, ; + Width = 352, ; + ZOrderSet = 14, ; + Option1.AutoSize = .T., ; + Option1.Caption = "Fara încasare", ; + Option1.FontCharSet = 238, ; + Option1.Left = 5, ; + Option1.Name = "Option1", ; + Option1.TabIndex = 1, ; + Option1.Top = 6, ; + Option1.Value = 1, ; + Option2.AutoSize = .T., ; + Option2.Caption = "Chitanta", ; + Option2.FontCharSet = 238, ; + Option2.Left = 108, ; + Option2.Name = "Option2", ; + Option2.TabIndex = 2, ; + Option2.Top = 6, ; + Option2.Value = 0, ; + Option3.AutoSize = .T., ; + Option3.BackStyle = 0, ; + Option3.Caption = "Bon fiscal", ; + Option3.Height = 17, ; + Option3.Left = 186, ; + Option3.Name = "Option3", ; + Option3.TabIndex = 3, ; + Option3.Top = 6, ; + Option3.Value = 0, ; + Option3.Width = 72, ; + Option4.AutoSize = .T., ; + Option4.BackStyle = 0, ; + Option4.Caption = "POS Card", ; + Option4.Height = 17, ; + Option4.Left = 274, ; + Option4.Name = "Option4", ; + Option4.TabIndex = 4, ; + Option4.ToolTipText = "Se foloseste la emitere factura incasata prin POS/Card. Este echivalenta cu o incasare prin banca. Nu se listeaza la casa de marcat, spre deosebire de Bon fiscal.", ; + Option4.Top = 6, ; + Option4.Width = 73 + *< END OBJECT: ClassLib="_baza.vcx" BaseClass="optiongroup" /> + + ADD OBJECT 'shpTipFactura' AS _shape WITH ; + BackStyle = 0, ; + Height = 25, ; + Left = 45, ; + Name = "shpTipFactura", ; + Top = 250, ; + Width = 134, ; + ZOrderSet = 1 + *< END OBJECT: ClassLib="..\..\..\roagest\comun\clase\_baza.vcx" BaseClass="shape" /> + + PROCEDURE actualizeaza_tipincasare + *!* 07.01.2014 + *!* marius.mutu + *!* adaugat optiunea bon fiscal + poDate.tip_saft = 380 && factura initiala + Thisform.cboTipFactura.Refresh() + + Do Case + Case This.opt_incasat.Value=1 && Fara incasare + poGeneratorNumere.dezaloca_numar(16) && dezaloc numar chitanta + poGeneratorNumere.dezaloca_numar(3) && dezaloc numar bon fiscal + poGeneratorNumere.dezaloca_numar(26) && dezaloc numar POS/Card + + Thisform.Height = 300 + Thisform.cb_casa.Visible=.F. + Thisform.clb_serie_chit.Visible = .F. + Thisform.clb_nrchit.Visible=.F. + Thisform.clb_incasat.Visible=.F. + Thisform._shape3.Visible=.F. + Thisform.lb_simplu1.Visible=.F. + Thisform.cmdModificaBon.Visible=.F. && modifica nr bon fiscal + Thisform.clb_nrchit.text_simplu1.ReadOnly=.T. + Thisform.nnrbon = 0 + poDate.nr_incasare = 0 + poDate.incasat = 0 + Thisform.clb_serie_chit.Refresh() + Thisform.clb_nrchit.Refresh() + Thisform.clb_incasat.Refresh() + + thisform.chkPOS.Value = 0 + thisform.chkDetaliat.Value = 0 + thisform.chkPOS.Visible = .F. + thisform.chkDetaliat.Visible = .F. + *!* Case This.Value=2 + *!* Thisform.cb_casa.Visible=.T. + *!* Thisform.clb_nrchit.Visible=.T. + *!* Thisform.clb_nrchit.lb_simplu1.Caption=[Nr. bon] + *!* Thisform.clb_incasat.Visible=.T. + *!* Thisform._shape3.Visible=.T. + *!* Thisform.lb_simplu1.Visible=.T. + *!* Thisform.lactiv3=.T. + *!* Thisform.but_modifica1.Visible=.T. + *!* Thisform.clb_nrchit.text_simplu1.ReadOnly=.T. + *!* Thisform.do_aloca_nr_bon([CLICK]) + Case This.opt_incasat.Value = 2 && chitanta + poGeneratorNumere.dezaloca_numar(3) && dezaloc numar bon fiscal + poGeneratorNumere.dezaloca_numar(16) && dezaloc numar chitanta + poGeneratorNumere.dezaloca_numar(26) && dezaloc numar POS/Card + + If Thisform.nRezultatSerii = 0 + Thisform.nRezultatSerii = poGeneratorNumere.creeaza_cursor_serii(16) && 1 = CU SERIE, 2 = FARA SERIE CU PLAJE, 3 = CU SERIE SI PLAJE + Thisform.clb_serie_chit.do_initializeaza(Thisform.nRezultatSerii) + *!* modificare v 2.0.84 + If !Empty(Nvl(poDate.serie_act,[])) + *!* modificare v 2.0.88 + If Thisform.nRezultatSerii <> 1 + *!* modificare v 2.0.88 ^ + Select (Thisform.clb_serie_chit._cbbase1.RowSource) + Locate For Alltrim(serie) = Alltrim(poDate.serie_act) + If !Found() + Go Top + Endif + Thisform.clb_serie_chit._cbbase1.Value = Alltrim(serie) + *!* modificare v 2.0.88 + Endif + *!* modificare v 2.0.88 ^ + Endif + *!* modificare v 2.0.84 ^ + Endif + Thisform.Height = 450 + Thisform.cb_casa.Visible=.T. + Thisform.clb_serie_chit.Visible = .T. + Thisform.clb_nrchit.Visible=.T. + Thisform.clb_nrchit.lb_simplu1.Caption=[Nr. chitanta] + Thisform.clb_incasat.Visible=.T. + Thisform._shape3.Visible=.T. + Thisform.lb_simplu1.Visible=.T. + Thisform.cmdModificaBon.Visible=.F. && modifica nr bon fiscal + Thisform.clb_nrchit.text_simplu1.ReadOnly = .F. + Thisform.nnrbon = 0 + poDate.nr_incasare = 0 + poDate.incasat = poDate.totalctva + Thisform.clb_serie_chit.Refresh() + Thisform.clb_nrchit.Refresh() + Thisform.clb_incasat.Refresh() + Thisform.clb_serie_chit.genereazaNumar() + thisform.chkPOS.Value = 0 + thisform.chkPOS.Visible = .F. + thisform.chkDetaliat.Value = 0 + thisform.chkDetaliat.Visible = .F. + + Case This.opt_incasat.Value = 3 && Bon fiscal + + poGeneratorNumere.dezaloca_numar(3) && dezaloc numar bon fiscal + poGeneratorNumere.dezaloca_numar(16) && dezaloc numar chitanta + poGeneratorNumere.dezaloca_numar(26) && dezaloc numar POS/Card + + Thisform.Height = 450 + Thisform.cb_casa.Visible=.T. + Thisform.clb_serie_chit.Visible = .F. + Thisform.clb_nrchit.Visible=.T. + Thisform.clb_nrchit.lb_simplu1.Caption=[Nr. bon] + Thisform.clb_incasat.Visible=.T. + Thisform._shape3.Visible=.T. + Thisform.lb_simplu1.Visible=.T. + Thisform.cmdModificaBon.Visible=.T. && modifica nr bon fiscal + Thisform.clb_nrchit.text_simplu1.ReadOnly = .T. + Thisform.nnrbon = 0 + poDate.nr_incasare = 0 + Thisform.do_aloca_nr_bon([CLICK]) + poDate.incasat = poDate.totalctva + Thisform.clb_serie_chit.Refresh() + Thisform.clb_nrchit.Refresh() + Thisform.clb_incasat.Refresh() + + thisform.chkPOS.Value = 0 + thisform.chkPOS.Visible = .T. + thisform.chkDetaliat.Value = 0 + thisform.chkDetaliat.Visible = .T. + + * Daca initializez vanzari.tip_saft cu cod 751 (factura in scop informativ) in loc de 380 (factura initiala) + * pentru facturile incasate cu bon fiscal, initializez cu tip 751 ca sa nu apara duplicate in decontul TVA precompletat + IF TYPE('gnEFactura_tip_saft_bf') = 'N' AND !EMPTY(NVL(m.gnEFactura_tip_saft_bf, 0)) + poDate.tip_saft = m.gnEFactura_tip_saft_bf && 751/380 + Thisform.cboTipFactura.Refresh() + ENDIF + + Case This.opt_incasat.Value = 4 && POS/Card + + poGeneratorNumere.dezaloca_numar(3) && dezaloc numar bon fiscal + poGeneratorNumere.dezaloca_numar(16) && dezaloc numar chitanta + poGeneratorNumere.dezaloca_numar(26) && dezaloc numar POS/Card + + Thisform.Height = 450 + Thisform.cb_casa.Visible=.T. + Thisform.clb_serie_chit.Visible = .F. + Thisform.clb_nrchit.Visible=.T. + Thisform.clb_nrchit.lb_simplu1.Caption=[Nr. bon] + Thisform.clb_incasat.Visible=.T. + Thisform._shape3.Visible=.T. + Thisform.lb_simplu1.Visible=.T. + Thisform.cmdModificaBon.Visible=.T. && modifica nr bon fiscal + Thisform.clb_nrchit.text_simplu1.ReadOnly = .T. + thisform.cb_casa._lbbase1.Caption = 'Banca POS' + Thisform.nnrbon = 0 + poDate.nr_incasare = 0 + Thisform.do_aloca_nr_pos([CLICK]) + poDate.incasat = poDate.totalctva + Thisform.clb_serie_chit.Refresh() + Thisform.clb_nrchit.Refresh() + Thisform.clb_incasat.Refresh() + + thisform.chkPOS.Value = 1 + thisform.chkPOS.Visible = .F. + thisform.chkDetaliat.Value = 0 + thisform.chkDetaliat.Visible = .F. + + Endcase + ENDPROC + + PROCEDURE Destroy + If Used('v_nom_casa') + Use In v_nom_casa + Endif + ENDPROC + + PROCEDURE do_aloca_nr_bon + Lparameters tcActiune + Local lnNumarBon + Store -1 To lnNumarBon + + If Empty(Thisform.nnrbon) Or Upper(tcActiune)='UPDATE' + *!* lnNumarBon = aloca_numar_bf() && in oserii_numere.prg + poGeneratorNumere.creeaza_cursor_serii(3) + lnNumarBon = poGeneratorNumere.aloca_numar(3) + If lnNumarBon <> -1 + Thisform.clb_nrchit.text_simplu1.Value = lnNumarBon + Thisform.nnrbon = lnNumarBon + poDate.nr_incasare = Thisform.nnrbon + Endif + Else + poDate.nr_incasare = Thisform.nnrbon + ENDIF + Thisform.clb_nrchit.text_simplu1.Refresh() + ENDPROC + + PROCEDURE do_aloca_nr_pos + Lparameters tcActiune + Local lnNumarBon + Store -1 To lnNumarBon + + If Empty(Thisform.nnrbon) Or Upper(tcActiune)='UPDATE' + poGeneratorNumere.creeaza_cursor_serii(26) + lnNumarBon = poGeneratorNumere.aloca_numar(26) + If lnNumarBon <> -1 + Thisform.clb_nrchit.text_simplu1.Value = lnNumarBon + Thisform.nnrbon = lnNumarBon + poDate.nr_incasare = Thisform.nnrbon + Endif + Else + poDate.nr_incasare = Thisform.nnrbon + ENDIF + Thisform.clb_nrchit.text_simplu1.Refresh() + ENDPROC + + PROCEDURE do_cauta_adresa + Local locauta + locauta = caut_adresa(poDate.id_client) + IF ISNULL(loCauta) + RETURN + ENDIF + If !Empty(locauta.id_adresa) + poDate.adresa_facturare = Alltrim(locauta.adresa) + poDate.id_facturare = locauta.id_adresa + + Thisform.clb_adresa_facturare.Refresh() + Thisform.clb_dataora_exp.SetFocus() + Else + poDate.adresa_facturare = [] + poDate.id_facturare = Null + ENDIF + ENDPROC + + PROCEDURE do_cauta_agent + Local loCauta + loCauta = CautPartenerContabilitate(GetHash([cTitlu=>Agenti??cTipuriParteneri=>]+Alltrim(Str(gnIdTipAgenti))+[??lAdaugCorespondente=>1])) + If !Empty(Nvl(loCauta.id_part,0)) And !Empty(loCauta.denumire) + poDate.id_agent = loCauta.id_part + poDate.nume_agent = Alltrim(loCauta.denumire) + Thisform.ct_clb_agent.Refresh() + *!* modificare ROAFACTURARE v 2.0.67 ^ + *!* Thisform.ct_clb_delegat.SetFocus() + If poDate.eProforma = 0 + Thisform.ct_clb_delegat.SetFocus() + Else + Thisform.ed_tx_simplu1.SetFocus() + Endif + *!* modificare ROAFACTURARE v 2.0.67 ^ + Else + poDate.id_agent = Null + poDate.nume_agent = [] + Endif + + ENDPROC + + PROCEDURE do_cauta_delegat + Local loCauta + If Inlist(poDate.tip,23,25,27,30,41,-6) + loCauta=caut_delegati() + Else + *!* modificare ROAFACTURARE v 2.0.27 + *!* loCauta=caut_delegati(poDate.id_client) + loCauta=caut_delegati_hash(poDate.id_client,.T.) + *!* modificare ROAFACTURARE v 2.0.27 ^ + Endif + If !Empty(loCauta.id_responsabil) + poDate.id_delegat = loCauta.id_responsabil + poDate.nume_delegat = Alltrim(loCauta.nume) + poDate.BIdelegat = loCauta.bi + poDate.CNPdelegat = loCauta.cnp + *!* lcBi = Strtran(loCauta.bi,[ ],[]) + *!* poDate.serie_bi = Substr(lcBi,1,2) + *!* poDate.numar_bi = Alltrim(Substr(lcBi,3)) + *!* poDate.eliberatde = Alltrim(poDate.eliberatde) + Thisform.ct_clb_delegat.Refresh() + Thisform.ct_clb_masina.SetFocus() + Else + poDate.id_delegat = Null + poDate.nume_delegat = [] + poDate.BIdelegat = [] + poDate.CNPdelegat = [] + Endif + + ENDPROC + + PROCEDURE do_cauta_masina + locauta=caut_masina_gs() + If !Empty(locauta.id_masina) + poDate.nrinmat = Alltrim(locauta.nrinmat) + poDate.id_masina = locauta.id_masina + + Thisform.ct_clb_masina.Refresh() + Thisform.ed_tx_simplu1.SetFocus() + Else + poDate.nrinmat = [] + poDate.id_masina = Null + Endif + + ENDPROC + + PROCEDURE do_modifica + If !Empty(Nvl(poDate.id_delegat,0)) + loRec = nom_parteneri_modifica(poDate.id_delegat) + If !Isnull(loRec) + poDate.nume_delegat = Alltrim(loRec.denumire) + poDate.BIdelegat = loRec.reg_comert + poDate.CNPdelegat = loRec.cod_fiscal + Thisform.Refresh() + Endif + Endif + + ENDPROC + + PROCEDURE do_modifica_bon && modifica seria bonuri fiscale + Private pniesire + pniesire=0 + DO viz_config_serii_complet WITH 3 IN oserii_numere.prg + If pniesire=1 + *!* dezaloca_numar_bf() + poGeneratorNumere.dezaloca_numar(3) + Thisform.do_aloca_nr_bon([UPDATE]) + Endif + ENDPROC + + PROCEDURE do_modifica_pos + Private pniesire + pniesire=0 + DO viz_config_serii_complet WITH 26 IN oserii_numere.prg + If pniesire=1 + *!* dezaloca_numar_bf() + poGeneratorNumere.dezaloca_numar(26) + Thisform.do_aloca_nr_pos([UPDATE]) + Endif + ENDPROC + + PROCEDURE inainte_de_do_renunt + If Type('poGeneratorNumere') = 'O' + poGeneratorNumere.dezaloca_numar(16) + poGeneratorNumere.dezaloca_numar(3) + + Thisform.nnrbon = 0 + poDate.nr_incasare = 0 + poDate.incasat = 0 + ENDIF + + If Type('poGeneratorNumere') = 'O' And This.opt_incasat.Value = 2 And Thisform.nRezultatSerii <> 0 + poGeneratorNumere.dezaloca_numar(16) + Endif + *!* modificare ROACONTRACTE v 2.0.38 + If poDate.tip = 2 And poDate.afisare_scadenta = 0 And At([Scadenta la ],poDate.text_aditional) <> 0 + poDate.text_aditional = Strtran(poDate.text_aditional,[Scadenta la ] + Alltrim(Str(poDate.datascad - poDate.dataact)) + [ zile.],[]) + Endif + *!* modificare ROACONTRACTE v 2.0.38 ^ + Return .T. + ENDPROC + + PROCEDURE inainte_de_do_termin + *!* 08.01.2015 + *!* marius.mutu + *!* completare poDate.ntip_incasare cu 3 (bon fiscal) + + *!* 14.07.2016 + *!* marius.mutu + *!* nu se cere delegatul la BON FISCAL SI PROFORMA + + *!* 22.11.2021 + *!* marius.mutu + *!* completare poDate.ntip_incasare cu 4 (POS/Card) + + Local plReturn + lccontrol = Upper(This.ActiveControl.BaseClass ) + If Inlist(lccontrol,"TEXTBOX","EDITBOX","COMBOBOX") + lcval=This.ActiveControl.ControlSource + &lcval=Thisform.ActiveControl.Value + Endif + poDate.ntip_incasare = Iif(Thisform.opt_incasat.Value=2, 11, IIF(Thisform.opt_incasat.Value = 3, 2, IIF(Thisform.opt_incasat.Value = 4, 3, 0))) && modificare ROAFACTURARE v 2.0.84 + Do Case + *!* Case Empty(poDate.id_agent) + *!* amessagebox('Nu ati ales agentul!',0+48,"Atentie") + *!* Thisform.ct_clb_agent.SetFocus() + *!* plReturn=.F. + Case Empty(Nvl(poDate.id_delegat,0)) And gcNumeProgram = [ROAFACTURARE] And !(poDate.eProforma = 1 OR poDate.eBonFiscal = 1) && modificare ROAFACTURARE v 2.0.67 : am adaugat poDate.eProforma + amessagebox('Nu ati ales delegatul!',0+48,"Atentie") + Thisform.ct_clb_delegat.SetFocus() + plReturn=.F. + *!* modificare ROAFACTURARE v 2.0.80 + Case Empty(Nvl(poDate.dataora_exp,{})) And poDate.eProforma = 0 And gcNumeProgram = [ROAFACTURARE] + amessagebox("Nu ati scris data si ora expedierii!",0+48,"Atentie") + poDate.dataora_exp = This.tdataora_exp + Thisform.clb_dataora_exp.SetFocus() + plReturn = .F. + *!* modificare ROAFACTURARE v 2.0.80 ^ + Case Thisform.opt_incasat.Value = 2 And poDate.incasat > poDate.totalctva + amessagebox('Suma incasata nu poate fi mai mare decat valoarea facturii!',0+48,"Atentie") + Thisform.clb_incasat.SetFocus() + *!* Case Empty(poDate.id_masina) + *!* amessagebox('Nu ati ales masina!',0+48,"Atentie") + *!* Thisform.ct_clb_masina.SetFocus() + *!* plReturn=.F. + *!* modificare ROAFACTURARE v 2.0.84 + Case Ttod(poDate.dataora_exp) 0 + Thisform.opt_incasat.Value = 2 + Endif + + If Used('v_nom_casa') + Use In v_nom_casa + Endif + lcSql=[select id_part,nume from ] + gcS + [.vcoresp_tip_part where tip_partener='CASA LEI'] + lnSucces=goExecutor.oExecute(lcSql,[v_nom_casa]) + If lnSucces < 0 + poGeneratorNumere.dezaloca_numar(5) && factura + amessagebox(goExecutor.cEroare,0+16,'Eroare') + Return + Else + Thisform.cb_casa._cBBASE1.RowSource = [v_nom_casa.nume,id_part] + Thisform.cb_casa._cBBASE1.RowSourceType = 6 + If !Empty(gnid_part_casa) + Select v_nom_casa + Locate For id_part = gnid_part_casa + If Found() + poDate.id_casa = gnid_part_casa + Thisform.cb_casa._cBBASE1.Value = Alltrim(nume) + Endif + Endif + Endif + Endif + *!* modificare 01.08 ^ + *!* modificare ROAFACTURARE v 2.0.46 + If This.opt_incasat.Value = 2 + poDate.incasat = poDate.totalctva + Endif + *!* modificare ROAFACTURARE v 2.0.46 ^ + *!* modificare ROAFACTURARE v 2.0.67 + *!* modificare ROACONTRACTE v 2.0.38 + IF poDate.tip = 2 AND poDate.afisare_scadenta = 0 AND AT([Scadenta la ],poDate.text_aditional) = 0 + poDate.text_aditional = [Scadenta la ] + ALLTRIM(STR(poDate.datascad - poDate.dataact)) + [ zile.] + poDate.text_aditional + ENDIF + *!* modificare ROACONTRACTE v 2.0.38 ^ + Else + lnDif = Thisform.opt_incasat.Top - (Thisform._checkbox1.Top + Thisform._checkbox1.Height + 5) + Thisform.ed_tx_simplu1.Top = Thisform.ct_clb_delegat.Top + 1 + Thisform.lb_titlu_alb_b121.Caption = [DATE SUPLIMENTARE] + Thisform.opt_incasat.Visible = .F. + Thisform.RemoveObject('ct_clb_delegat') + Thisform.RemoveObject('ct_clb_masina') + Thisform.RemoveObject('clb_serie_chit') && modificare ROAFACTURARE v 2.0.80 + Thisform.RemoveObject('clb_nrchit') + Thisform.RemoveObject('clb_incasat') + Thisform.RemoveObject('cb_casa') + Thisform.RemoveObject('lb_simplu1') + Thisform.RemoveObject('_shape3') + Thisform.RemoveObject('chkPOS') + Thisform.RemoveObject('chkDetaliat') + Thisform.Height = Thisform._checkbox1.Top + Thisform._checkbox1.Height + lnDif + Thisform.AutoCenter = .T. + Thisform.Refresh() + Endif + *!* modificare ROAFACTURARE v 2.0.67 ^ + ENDPROC + + PROCEDURE Load + IF !USED('saft_tip_facturi') + update_saft_tip_facturi() + ENDIF + + ENDPROC + + PROCEDURE Cb_casa._CBBASE1.InteractiveChange + poDate.id_casa = v_nom_casa.id_part + ENDPROC + + PROCEDURE chkPOS.Valid + IF this.Value = 0 + thisform.cb_casa._lbbase1.Caption = 'Casa' + ELSE + thisform.cb_casa._lbbase1.Caption = 'Banca POS' + ENDIF + thisform.cb_casa._lbbase1.Refresh() + ENDPROC + + PROCEDURE Clb_nrchit.Text_simplu1.GotFocus + If Thisform.opt_incasat.Value = 2 && chitanta + Thisform.clb_serie_chit.genereazaNumar() + ENDIF + ENDPROC + + PROCEDURE Clb_serie_chit._cbbase1.InteractiveChange + This.Parent.genereazaNumar() + ENDPROC + + PROCEDURE cmdModificaBon.Click + Do Case + Case Thisform.opt_incasat.Value = 3 + Thisform.do_modifica_bon + Case Thisform.opt_incasat.Value = 4 + Thisform.do_modifica_pos + Endcase + + + ENDPROC + + PROCEDURE opt_incasat.Click + Thisform.actualizeaza_tipincasare() + + *!* Do Case + *!* Case This.Value=1 && Fara incasare + *!* Thisform.Height = 275 + *!* Thisform.cb_casa.Visible=.F. + *!* Thisform.clb_serie_chit.Visible = .F. + *!* Thisform.clb_nrchit.Visible=.F. + *!* Thisform.clb_incasat.Visible=.F. + *!* Thisform._shape3.Visible=.F. + *!* Thisform.lb_simplu1.Visible=.F. + *!* Thisform.cmdModificaBon.Visible=.F. && modifica nr bon fiscal + *!* Thisform.clb_nrchit.text_simplu1.ReadOnly=.T. + *!* poDate.nr_incasare = 0 + *!* poDate.incasat = 0 + *!* Thisform.clb_serie_chit.Refresh() + *!* Thisform.clb_nrchit.Refresh() + *!* Thisform.clb_incasat.Refresh() + *!* poGeneratorNumere.dezaloca_numar(16) + *!* thisform.chkPOS.Value = 0 + *!* thisform.chkDetaliat.Value = 0 + *!* thisform.chkPOS.Visible = .F. + *!* thisform.chkDetaliat.Visible = .F. + *!* *!* Case This.Value=2 + *!* *!* Thisform.cb_casa.Visible=.T. + *!* *!* Thisform.clb_nrchit.Visible=.T. + *!* *!* Thisform.clb_nrchit.lb_simplu1.Caption=[Nr. bon] + *!* *!* Thisform.clb_incasat.Visible=.T. + *!* *!* Thisform._shape3.Visible=.T. + *!* *!* Thisform.lb_simplu1.Visible=.T. + *!* *!* Thisform.lactiv3=.T. + *!* *!* Thisform.but_modifica1.Visible=.T. + *!* *!* Thisform.clb_nrchit.text_simplu1.ReadOnly=.T. + *!* *!* Thisform.do_aloca_nr_bon([CLICK]) + *!* Case This.Value = 2 && chitanta + *!* If Thisform.nRezultatSerii = 0 + *!* Thisform.nRezultatSerii = poGeneratorNumere.creeaza_cursor_serii(16) + *!* Thisform.clb_serie_chit.do_initializeaza(Thisform.nRezultatSerii) + *!* *!* modificare v 2.0.84 + *!* If !Empty(Nvl(poDate.serie_act,[])) + *!* *!* modificare v 2.0.88 + *!* If Thisform.nRezultatSerii <> 1 + *!* *!* modificare v 2.0.88 ^ + *!* Select (Thisform.clb_serie_chit._cbbase1.RowSource) + *!* Locate For Alltrim(serie) = Alltrim(poDate.serie_act) + *!* If !Found() + *!* Go Top + *!* Endif + *!* Thisform.clb_serie_chit._cbbase1.Value = Alltrim(serie) + *!* *!* modificare v 2.0.88 + *!* Endif + *!* *!* modificare v 2.0.88 ^ + *!* Endif + *!* *!* modificare v 2.0.84 ^ + *!* Endif + *!* Thisform.Height = 435 + *!* Thisform.cb_casa.Visible=.T. + *!* Thisform.clb_serie_chit.Visible = .T. + *!* Thisform.clb_nrchit.Visible=.T. + *!* Thisform.clb_nrchit.lb_simplu1.Caption=[Nr. chitanþã] + *!* Thisform.clb_incasat.Visible=.T. + *!* Thisform._shape3.Visible=.T. + *!* Thisform.lb_simplu1.Visible=.T. + *!* Thisform.cmdModificaBon.Visible=.F. && modifica nr bon fiscal + *!* Thisform.clb_nrchit.text_simplu1.ReadOnly = .F. + *!* poDate.incasat = poDate.totalctva + *!* Thisform.clb_serie_chit.Refresh() + *!* Thisform.clb_nrchit.Refresh() + *!* Thisform.clb_incasat.Refresh() + *!* Thisform.clb_serie_chit.genereazaNumar() + *!* thisform.chkPOS.Value = 0 + *!* thisform.chkPOS.Visible = .F. + *!* thisform.chkDetaliat.Value = 0 + *!* thisform.chkDetaliat.Visible = .F. + *!* + *!* Case This.Value = 3 && Bon fiscal + + *!* Thisform.Height = 435 + *!* Thisform.cb_casa.Visible=.T. + *!* Thisform.clb_serie_chit.Visible = .F. + *!* Thisform.clb_nrchit.Visible=.T. + *!* Thisform.clb_nrchit.lb_simplu1.Caption=[Nr. bon] + *!* Thisform.clb_incasat.Visible=.T. + *!* Thisform._shape3.Visible=.T. + *!* Thisform.lb_simplu1.Visible=.T. + *!* Thisform.cmdModificaBon.Visible=.T. && modifica nr bon fiscal + *!* Thisform.clb_nrchit.text_simplu1.ReadOnly = .T. + *!* Thisform.do_aloca_nr_bon([CLICK]) + *!* poDate.incasat = poDate.totalctva + *!* Thisform.clb_serie_chit.Refresh() + *!* Thisform.clb_nrchit.Refresh() + *!* Thisform.clb_incasat.Refresh() + *!* poGeneratorNumere.dezaloca_numar(16) + *!* thisform.chkPOS.Value = 0 + *!* thisform.chkPOS.Visible = .T. + *!* thisform.chkDetaliat.Value = 0 + *!* thisform.chkDetaliat.Visible = .T. + *!* Endcase + ENDPROC + + PROCEDURE opt_incasat.ProgrammaticChange + Thisform.actualizeaza_tipincasare() + ENDPROC + +ENDDEFINE + +DEFINE CLASS frm_cere_titlu AS _frmbase OF "_frm_base.vcx" + *< CLASSDATA: Baseclass="form" Timestamp="" Scale="Pixels" Uniqueid="" /> + + *-- OBJECTDATA items order determines ZOrder / El orden de los items OBJECTDATA determina el ZOrder + *< OBJECTDATA: ObjPath="Clb_tx_simplu1" UniqueID="" Timestamp="" /> + + * + BorderStyle = 1 + DoCreate = .T. + Height = 95 + Name = "frm_cere_titlu" + Width = 375 + _SHAPE1.Name = "_SHAPE1" + _SHAPE2.Height = 29 + _SHAPE2.Left = 344 + _SHAPE2.Name = "_SHAPE2" + _SHAPE2.Top = 0 + _SHAPE2.Width = 32 + LB_TITLU_ALB_B121.Caption = "" + LB_TITLU_ALB_B121.Name = "LB_TITLU_ALB_B121" + LB_TITLU_ALB_B121.TabIndex = 3 + BUT_TERMIN1.Left = 345 + BUT_TERMIN1.Name = "BUT_TERMIN1" + BUT_TERMIN1.TabIndex = 2 + BUT_TERMIN1.Top = 1 + Gridsort1.Name = "Gridsort1" + * + + ADD OBJECT 'Clb_tx_simplu1' AS clb_tx_simplu WITH ; + Height = 29, ; + Left = 15, ; + Name = "Clb_tx_simplu1", ; + TabIndex = 1, ; + Top = 43, ; + Width = 346, ; + TEXT_SIMPLU1.Left = 154, ; + TEXT_SIMPLU1.Name = "TEXT_SIMPLU1", ; + TEXT_SIMPLU1.Top = 3, ; + LB_SIMPLU1.Caption = "Titlu", ; + LB_SIMPLU1.FontSize = 12, ; + LB_SIMPLU1.Left = 8, ; + LB_SIMPLU1.Name = "LB_SIMPLU1", ; + LB_SIMPLU1.Top = 5 + *< END OBJECT: ClassLib="lb_tx.vcx" BaseClass="container" /> + + PROCEDURE Init + PARAMETERS tcTitlu, tcControlSource + DODEFAULT() + + IF PCOUNT()>0 AND TYPE('tcTitlu') = 'C' + this.clb_tx_simplu1.lb_simplu1.Caption = tcTitlu + ENDIF + + IF PCOUNT()>1 AND TYPE('tcControlSource') = 'C' + this.clb_tx_simplu1.text_simplu1.ControlSource = tcControlSource + ENDIF + ENDPROC + +ENDDEFINE + +DEFINE CLASS frm_optiuni_listare_fa AS _frmbase OF "_frm_base.vcx" + *< CLASSDATA: Baseclass="form" Timestamp="" Scale="Pixels" Uniqueid="" /> + + *-- OBJECTDATA items order determines ZOrder / El orden de los items OBJECTDATA determina el ZOrder + *< OBJECTDATA: ObjPath="But_renunt1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="sp_nr_copii" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="lb_nr_copii" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="ck_tip_listare" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="ck_pauza" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="img" UniqueID="" Timestamp="" /> + + * + *m: verifica_afisare_optiuni + *p: lmultiple + *p: nnrcopii + *p: orec + * + + * + DoCreate = .T. + Height = 185 + Name = "frm_optiuni_listare_fa" + nnrcopii = 1 + Width = 230 + _memberdata = + + + _shape1.Height = 29 + _shape1.Left = 0 + _shape1.Name = "_shape1" + _shape1.Top = 0 + _shape1.Width = 228 + _shape2.Height = 29 + _shape2.Left = 165 + _shape2.Name = "_shape2" + _shape2.Top = 0 + _shape2.Width = 64 + Lb_titlu_alb_b121.Caption = "Optiuni listare" + Lb_titlu_alb_b121.FontBold = .T. + Lb_titlu_alb_b121.Name = "Lb_titlu_alb_b121" + Lb_titlu_alb_b121.TabIndex = 6 + BUT_TERMIN1.Left = 197 + BUT_TERMIN1.Name = "BUT_TERMIN1" + BUT_TERMIN1.TabIndex = 4 + BUT_TERMIN1.Top = 1 + GRIDSORT1.Name = "GRIDSORT1" + * + + ADD OBJECT 'But_renunt1' AS but_renunt WITH ; + Left = 167, ; + Name = "But_renunt1", ; + TabIndex = 5, ; + Top = 1 + *< END OBJECT: ClassLib="cmd_butoane.vcx" BaseClass="commandbutton" /> + + ADD OBJECT 'ck_pauza' AS _checkbox WITH ; + Alignment = 0, ; + Caption = "Pauza dupa fiecare serie", ; + Left = 29, ; + Name = "ck_pauza", ; + TabIndex = 3, ; + Top = 156 + *< END OBJECT: ClassLib="_baza.vcx" BaseClass="checkbox" /> + + ADD OBJECT 'ck_tip_listare' AS _checkbox WITH ; + Alignment = 0, ; + Caption = "Listeaza toate copiile o data pentru fiecare exemplar", ; + Height = 32, ; + Left = 29, ; + Name = "ck_tip_listare", ; + TabIndex = 2, ; + Top = 118, ; + Width = 172, ; + WordWrap = .T. + *< END OBJECT: ClassLib="_baza.vcx" BaseClass="checkbox" /> + + ADD OBJECT 'img' AS _image WITH ; + Height = 45, ; + Left = 60, ; + Name = "img", ; + Picture = ..\grafice\listare\listaref_1.bmp, ; + Top = 67, ; + Width = 109 + *< END OBJECT: ClassLib="_baza.vcx" BaseClass="image" /> + + ADD OBJECT 'lb_nr_copii' AS _lbbase WITH ; + Caption = "Nr.copii", ; + Left = 30, ; + Name = "lb_nr_copii", ; + TabIndex = 7, ; + Top = 40 + *< END OBJECT: ClassLib="_lb_base.vcx" BaseClass="label" /> + + ADD OBJECT 'sp_nr_copii' AS _spinner WITH ; + ControlSource = "Thisform.nNrCopii", ; + Height = 24, ; + KeyboardHighValue = 9999, ; + KeyboardLowValue = 1, ; + Left = 129, ; + Name = "sp_nr_copii", ; + SpinnerHighValue = 9999.00, ; + SpinnerLowValue = 1.00, ; + TabIndex = 1, ; + Top = 36, ; + Value = 1, ; + Width = 84 + *< END OBJECT: ClassLib="_baza.vcx" BaseClass="spinner" /> + + PROCEDURE Destroy + If Thisform.lmultiple + Unbindevents(Thisform,"nNrCopii",Thisform,"verifica_afisare_optiuni") + Endif + ENDPROC + + PROCEDURE Init + Lparameters tlMultiple + DoDefault() + Thisform.lmultiple = tlMultiple + Thisform.verifica_afisare_optiuni() + If Thisform.lmultiple + Bindevent(Thisform,"nNrCopii",Thisform,"verifica_afisare_optiuni",1) + Endif + ENDPROC + + PROCEDURE verifica_afisare_optiuni + If This.lmultiple And Thisform.nNrCopii = 1 + Thisform.img.Visible = .F. + Thisform.ck_tip_listare.Visible = .F. + Thisform.ck_tip_listare.Value = 0 + Thisform.ck_pauza.Visible = .F. + Thisform.ck_pauza.Value = 0 + Thisform.Height = 70 + Thisform.AutoCenter = .T. + Else + If !Thisform.img.Visible + Thisform.img.Visible = .T. + Thisform.ck_tip_listare.Visible = .T. + Thisform.ck_tip_listare.Value = 0 + Thisform.ck_pauza.Visible = .T. + Thisform.ck_pauza.Value = 0 + Thisform.Height = 185 + Thisform.AutoCenter = .T. + Endif + Endif + Thisform.Refresh() + ENDPROC + + PROCEDURE ck_tip_listare.Click + If This.Value = 1 + Thisform.img.Picture = [listaref_2.bmp] + Else + Thisform.img.Picture = [listaref_1.bmp] + Endif + ENDPROC + +ENDDEFINE + +DEFINE CLASS gridb AS grid + *< CLASSDATA: Baseclass="grid" Timestamp="" Scale="Pixels" Uniqueid="" /> + + *-- OBJECTDATA items order determines ZOrder / El orden de los items OBJECTDATA determina el ZOrder + *< OBJECTDATA: ObjPath="Column1.Header1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="Column1.Text1" UniqueID="" Timestamp="" /> + + * + *m: gasestecol + *m: headerclick + *m: iesire + *m: treaba + *p: listaord + *p: ordine + * + + * + BackColor = 255,255,255 + ColumnCount = 1 + DeleteMark = .F. + GridLineColor = 0,0,0 + GridLineWidth = 1 + Height = 200 + listaord = 0,0 + Name = "gridb" + ordine = 0 + Panel = 1 + ReadOnly = .T. + RecordMark = .T. + Width = 125 + Column1.BackColor = 255,255,255 + Column1.Name = "Column1" + Column1.ReadOnly = .T. + Column1.Width = 105 + * + + ADD OBJECT 'Column1.Header1' AS header WITH ; + BackColor = 255,255,255, ; + Caption = "Header1", ; + Name = "Header1" + *< END OBJECT: BaseClass="header" /> + + ADD OBJECT 'Column1.Text1' AS textbox WITH ; + BackColor = 255,255,255, ; + BackStyle = 0, ; + BorderStyle = 0, ; + ForeColor = 0,0,0, ; + Margin = 0, ; + Name = "Text1" + *< END OBJECT: BaseClass="textbox" /> + + PROCEDURE gasestecol + Parameters ii + + For j=1 To This.ColumnCount + Nn=Alltrim(Str(j)) + z='this.column'+Nn+'.columnorder=ii' + If &z + Return nn + Endif + Next j + RETURN '0' + + ENDPROC + + PROCEDURE headerclick + PARAMETERS co + l=this.listaord + + IF INLIST(co,&l) + this.ordine=co + this.treaba + endif + + ENDPROC + + PROCEDURE iesire + PARAMETERS Y + ENDPROC + + PROCEDURE Init + Local z,l,n + l=This.listaord + + + For i=1 To This.ColumnCount + If Inlist(i,&l) + n=this.gasestecol(i) &&gaseste coloana cu ordinea i + zz='this.column'+N+'.header1.forecolor=RGB(0,0,255)' + &zz + Endif + Next i + This.treaba + + ENDPROC + + PROCEDURE treaba + + + If This.ordine<>0 + This.SetAll('fontunderline',.F.,'header') + n=this.gasestecol(this.ordine) + z='this.column'+N+'.header1.fontunderline=.t.' + &z + + d=UPPER(This.RecordSource) + z='c=ALLTRIM(this.column'+N+'.controlsource)' + &z + c=UPPER(STRTRAN(c,'.','')) + c=STRTRAN(c,d,'') + Select &d + Set Order To Tag &c + GO top + This.Refresh + Endif + + ENDPROC + + PROCEDURE Column1.Header1.Click + this.Parent.Parent.headerclick(this.Parent.ColumnOrder) + + ENDPROC + + PROCEDURE Column1.Text1.KeyPress + LPARAMETERS nKeyCode, nShiftAltCtrl + do case + case nkeycode=13 + THIS.PARENT.Parent.IESIRE(1) + case nkeycode=9 + THIS.PARENT.Parent.IESIRE(-1) + endcase + ENDPROC + +ENDDEFINE diff --git a/clase/ferestre_comune.vc2 b/clase/ferestre_comune.vc2 new file mode 100644 index 0000000..9f79f31 --- /dev/null +++ b/clase/ferestre_comune.vc2 @@ -0,0 +1,1063 @@ +*-------------------------------------------------------------------------------------------------------------------------------------------------------- +* (EN) AUTOGENERATED - ATTENTION!! - NOT INTENDED FOR EXECUTION!! USE ONLY FOR MERGING CHANGES AND STORING WITH SCM TOOLS!! +*-------------------------------------------------------------------------------------------------------------------------------------------------------- +*< FOXBIN2PRG: Version="1.21" SourceFile="ferestre_comune.vcx" CPID="1252" /> (Solo para binarios VFP 9 / Only for VFP 9 binaries) +* +* +DEFINE CLASS frm_login AS _frmbase OF "_frm_base.vcx" + *< CLASSDATA: Baseclass="form" Timestamp="" Scale="Pixels" Uniqueid="" /> + + *-- OBJECTDATA items order determines ZOrder / El orden de los items OBJECTDATA determina el ZOrder + *< OBJECTDATA: ObjPath="_shape4" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="_label1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="_textbox1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="_label2" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="_textbox2" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="Cb_server" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="Cmd_login1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="Odbcreg1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="Cmd_logoff1" UniqueID="" Timestamp="" /> + + #INCLUDE "..\include\security.h" + * + *m: populate_host + * + + * + BorderStyle = 1 + Caption = "LOGIN" + DoCreate = .T. + Height = 181 + Name = "frm_login" + Width = 303 + WindowState = 0 + _shape1.Name = "_shape1" + _shape1.ZOrderSet = 2 + _shape2.Height = 29 + _shape2.Left = 271 + _shape2.Name = "_shape2" + _shape2.Top = 0 + _shape2.Width = 32 + _shape2.ZOrderSet = 3 + Lb_titlu_alb_b121.Caption = "Not connected" + Lb_titlu_alb_b121.Name = "Lb_titlu_alb_b121" + Lb_titlu_alb_b121.TabIndex = 7 + Lb_titlu_alb_b121.Visible = .T. + Lb_titlu_alb_b121.ZOrderSet = 4 + But_termin1.Left = 274 + But_termin1.Name = "But_termin1" + But_termin1.TabIndex = 6 + But_termin1.Top = 1 + But_termin1.ZOrderSet = 5 + Gridsort1.Left = 0 + Gridsort1.Name = "Gridsort1" + Gridsort1.Top = 72 + * + + ADD OBJECT '_label1' AS _label WITH ; + BackStyle = 0, ; + Caption = "Operator", ; + FontBold = .T., ; + Height = 17, ; + Left = 18, ; + Name = "_label1", ; + TabIndex = 8, ; + Top = 79, ; + Width = 53, ; + ZOrderSet = 14 + *< END OBJECT: ClassLib="_baza.vcx" BaseClass="label" /> + + ADD OBJECT '_label2' AS _label WITH ; + BackStyle = 0, ; + Caption = "Parolã", ; + FontBold = .T., ; + Height = 17, ; + Left = 18, ; + Name = "_label2", ; + TabIndex = 9, ; + Top = 107, ; + Width = 39, ; + ZOrderSet = 16 + *< END OBJECT: ClassLib="_baza.vcx" BaseClass="label" /> + + ADD OBJECT '_shape4' AS _shape WITH ; + BackStyle = 0, ; + BorderStyle = 1, ; + Height = 61, ; + Left = 12, ; + Name = "_shape4", ; + Top = 70, ; + Width = 266, ; + ZOrderSet = 1 + *< END OBJECT: ClassLib="_baza.vcx" BaseClass="shape" /> + + ADD OBJECT '_textbox1' AS _textbox WITH ; + AutoComplete = 4, ; + ControlSource = "gcUserNameApp", ; + Format = "!K", ; + Height = 23, ; + Left = 90, ; + Name = "_textbox1", ; + TabIndex = 2, ; + Top = 76, ; + Width = 178, ; + ZOrderSet = 15 + *< END OBJECT: ClassLib="_baza.vcx" BaseClass="textbox" /> + + ADD OBJECT '_textbox2' AS _textbox WITH ; + ControlSource = "gcPasswordApp", ; + Format = "!K", ; + Height = 23, ; + Left = 90, ; + Name = "_textbox2", ; + PasswordChar = "*", ; + TabIndex = 3, ; + Top = 104, ; + Width = 178, ; + ZOrderSet = 17 + *< END OBJECT: ClassLib="_baza.vcx" BaseClass="textbox" /> + + ADD OBJECT 'Cb_server' AS cb_tx_simplu WITH ; + BorderWidth = 0, ; + Left = 2, ; + Name = "Cb_server", ; + TabIndex = 1, ; + Top = 36, ; + _cbbase1.Height = 23, ; + _cbbase1.Left = 90, ; + _cbbase1.Name = "_cbbase1", ; + _cbbase1.Top = 3, ; + _cbbase1.Width = 189, ; + _lbbase1.Caption = "Server", ; + _lbbase1.FontBold = .T., ; + _lbbase1.Name = "_lbbase1" + *< END OBJECT: ClassLib="..\..\..\roastart\comun\clase\lb_tx.vcx" BaseClass="container" /> + + ADD OBJECT 'Cmd_login1' AS cmd_login WITH ; + Caption = "In\ + + ADD OBJECT 'Cmd_logoff1' AS cmd_logoff WITH ; + Caption = "Re\ + + ADD OBJECT 'Odbcreg1' AS odbcreg WITH ; + Left = 240, ; + Name = "Odbcreg1", ; + Top = 144 + *< END OBJECT: ClassLib="registry.vcx" BaseClass="custom" /> + + PROCEDURE actualizeaza_drepturi + *!* + ENDPROC + + PROCEDURE Destroy + IF USED('crsHost') + USE IN crsHost + ENDIF + ENDPROC + + PROCEDURE do_login + *LPARAMETERS tcHost,tcUserName,tcPassword,tcUserNameApp,tcPasswordApp,tnIdUtil,tnIdProgram + Local llParametri,lcHost,lcUserName,lcPasword,lcUserNameApp,lcPaswordApp,lnIdutil,lnIdProgram, lcKey + Local lcSchema, lcMode + lcMode = "" + *!* lcEncKey = "233!do*32Di3-o23\409" + lcEncKey = ENCRYPTKEY + + If goRoa.lParametri + *!* daca parola transmisa de ROASTART ca parametru incepe cu *!* - este criptata - trebuie decryptata + + If Left(goRoa.cPassword, 3) = "*!*" + goRoa.cPassword = Substr(goRoa.cPassword,4) + If goRoa.lnewcryptxml=.T. + goRoa.cPassword=Strconv(goRoa.cPassword,14) + goRoa.cPassword = EncryptDecrypt(goRoa.cPassword, lcEncKey, "decrypt","blowfish") + Else + goRoa.cPassword = EncryptDecrypt(goRoa.cPassword, lcEncKey, "decrypt","old") + Endif + Endif + + lcHost = goRoa.cHost + lcUserName = goRoa.cUserName + lcPassword = goRoa.cPassword + lcUserNameApp = goRoa.cUserNameApp + lcPasswordApp = goRoa.cPasswordApp + lnIdutil = goRoa.nIdUtil + lnIdProgram = goRoa.nIdProgram + Else + ******==================================================== + lcHost = Upper(Alltrim(This.cb_server._cbbase1.Value)) + lcSchema = "" + lcPassword = "" + lcMode = "" + If !Empty(lcHost) + If Used('crsHost') + Select schema, pwd, IsEncrypted From crsHost Where Upper(Alltrim(Host)) = lcHost Into Cursor crsServer + Select crsServer + Go Top + lcSchema = schema + lcPassword = pwd + lcMode = IsEncrypted + Endif + Endif + goRoa.cHost = Alltrim(lcHost) + goRoa.cUserName = Alltrim(lcSchema) + goRoa.cPassword = Alltrim(lcPassword) + + *!* + lcMode = Iif(Empty(lcMode), "0", lcMode) + If Alltrim(lcMode) <> "0" + && parola este criptata + If goRoa.lnewcryptxml=.T. + goRoa.cPassword = EncryptDecrypt(goRoa.cPassword, lcEncKey, "decrypt","blowfish") + Else + goRoa.cPassword = EncryptDecrypt(goRoa.cPassword, lcEncKey, "decrypt","old") + Endif + Endif + + If Used('crsServer') + Use In crsServer + Endif + + llParametri = .F. + lcHost = goRoa.cHost + lcUserName = goRoa.cUserName + lcPassword = goRoa.cPassword + lcUserNameApp = Strtran(Upper(Alltrim(goRoa.cUserNameApp)),['],['']) + lcPasswordApp = Upper(Alltrim(goRoa.cPasswordApp)) + lnIdutil = goRoa.nIdUtil + lnIdProgram = goRoa.nIdProgram + + Endif + + + * se logheaza pe schema cu <123> + * apeleaza + * verifica daca utilizatorul este in si initializeaza variabila globala + + *** vad daca utilizatorul trebuie sa se logheze cu un alt DSN (jcsserver) cu alt username (contabilitate) fata de standard (jcsserver,contabilitate) + Local lcFileUtilizatori,lcUtilizatori,lnLen,laUtilizatori + + lcFileUtilizatori = gcUtilizatoriPath + "utilizatori.txt" + If File(lcFileUtilizatori) + lcUtilizatori = Filetostr(lcFileUtilizatori) + + Declare laUtilizatori[1] + lnLen = Alines(laUtilizatori,lcUtilizatori) + If lnLen > 0 + For i = 1 To lnLen + lnpos1 = At(';',laUtilizatori[i]) + lnpos2 = At(';',laUtilizatori[i],2) + lnpos3 = At(';',laUtilizatori[i],3) + + If lnpos1 * lnpos2 * lnpos3 = 0 + Exit + Endif + + lcUserApp = Upper(Alltrim(Substr(laUtilizatori[i],1,lnpos1-1))) + lcHostBD = Upper(Alltrim(Substr(laUtilizatori[i],lnpos1 + 1,lnpos2 - lnpos1 - 1))) + lcUserBD = Upper(Alltrim(Substr(laUtilizatori[i],lnpos2 + 1,lnpos3 - lnpos2 - 1))) + If lcUserApp == Upper(Alltrim(goRoa.cUserNameApp)) + + goRoa.cHost = lcHostBD + goRoa.cUserName = lcUserBD + + Exit + Endif + Endfor + Endif + Endif + + + Private pcexec,pnsucces + lcLog = 'Incercare de conectare: ' + lcUserNameApp + goRoa.scrieInLog(lcLog) + If This.nhandle>0 + lcLog = "Sunteti deja conectat " + lcUserNameApp + goRoa.scrieInLog(lcLog) + aMessagebox("Sunteti deja conectat!",0+48,"Atentie") + Return + Endif + + This.MousePointer= 11 + + + This.nhandle = goRoa.oConn.Connect(lcHost, lcUserName, lcPassword) + + If This.nhandle <= 0 + Thisform.cmd_login1.SetFocus() + Return + Endif + + goRoa.cIdUtil = 0 + llSucces = .F. + + If goRoa.lParametri + This.MousePointer= 11 + goRoa.cUserNameApp=verifica_id_util(gnIdUtil) + This.MousePointer=0 + If !Empty(goRoa.cUserNameApp) + llSucces=.T. + Endif + Else + This.MousePointer= 11 + lnIdutil=verifica_utilizator(lcUserNameApp,lcPasswordApp) + This.MousePointer= 0 + If lnIdutil>-1 + goRoa.nIdUtil = lnIdutil + goRoa.cUserNameApp = Upper(Alltrim(lcUserNameApp)) + goRoa.cIdUtil = goRoa.nIdUtil + llSucces = .T. + Endif + Endif + + If goRoa.lParametri + llDrept = .T. + Else + goRoa.nIdProgram = GET_PROGRAMID(goRoa.cNumeProgram) + llDrept = acces_program_util(goRoa.nIdProgram,gnIdUtil) + Endif + goRoa.nId_prg_owner = goRoa.nIdProgram + + If !llSucces Or !llDrept + This.nhandle = -1 + gnHandle = This.nhandle + SQLDisconnect(0) + + lcLog = 'Autentificarea nu a reusit: ' + lcUserNameApp + Iif(!llDrept,' Nu are drepturi pe acest program','') + goRoa.scrieInLog(lcLog) + + aMessagebox("Autentificarea nu a reusit!" + Chr(13) + Chr(10)+ "Utilizator sau parola incorecte." + Iif(!llDrept,Chr(13) + 'Nu are drepturi pe acest program',''),0+48,"Atentie") + Thisform._textbox1.SetFocus() + Return .F. + Endif + + lcLog = 'Connected: ' + Sys(0) + ' ' + lcUserNameApp + goRoa.scrieInLog(lcLog) + Thisform.Visible=.F. + This.lb_titlu_alb_b121.Caption = "Conectat: "+Alltrim(Str(This.nhandle)) + + _Screen.Caption="Conectat: "+Sys(0) + This.MousePointer= 0 + Thisform.Release + Do Form fundal Name gofundal Linked + *!* IF TYPE('oprinc') = 'O' + *!* IF PEMSTATUS(oprinc, "pagefr1", 5) + *!* oprinc.pagefr1.p1.click() + *!* ENDIF + *!* ENDIF + + ENDPROC + + PROCEDURE do_logoff + LOCAL lcLog + *lcLog = 'Attempting to logoff: ' + gcUserNameApp + lcLog = 'Incercare de deconectare: ' + gcUserNameApp + goRoa.scrieInLog(lcLog) + + Local lnSucces + If This.nHandle>0 + lnSucces = SQLDISCONNECT(This.nHandle) + If lnSucces = 1 + This.nHandle = -1 + *this.lb_titlu_alb_b121.ForeColor= RGB(128,0,0) + This.lb_titlu_alb_b121.Caption = "Deconectat" + aMessagebox("Ati fost deconectat!",0+64,"Info") + _screen.caption="Deconectat: "+SYS(0) + + lcLog = 'Deconectat' + thisform._textbox2.Value="" + thisform._textbox1.SetFocus() + ELSE + AERROR(laEroare) + IF TYPE('laEroare')!='U' + lcLog = 'Eroare la deconectare: ' + gcUserNameApp + CHR(13) + CHR(10) + laEroare[3] + RELEASE laEroare + ELSE + lcLog = 'Eroare la deconectare: ' + gcUserNameApp + ENDIF + + aMessagebox("Eroare la deconectare!",0+16,"Eroare") + ENDIF + goRoa.scrieInLog(lcLog) + Endif + + GNHANDLE = This.nHandle + + + Return Iif(This.nHandle<0,.T.,.F.) + + ENDPROC + + PROCEDURE do_modifica + thisform._checkbox1.Visible=!thisform._checkbox1.Visible + ENDPROC + + PROCEDURE Init + DoDefault() + LOCAL lcHost + + This.nhandle = goRoa.nHandle + If This.nhandle <= 0 + *this.lb_titlu_alb_b121.ForeColor= RGB(128,0,0) + This.lb_titlu_alb_b121.Caption = "Neconectat" + Else + *this.lb_titlu_alb_b121.ForeColor= RGB(0,128,128) + This.lb_titlu_alb_b121.Caption = "Conectat: "+Alltrim(Str(This.nhandle)) + Endif + + lnHosts = This.populate_host() + If lnHosts > 0 + Thisform.cb_server._CBBASE1.RowSourceType = 2 + Thisform.cb_server._CBBASE1.RowSource = 'crsHost.Host' + Select crsHost + Go Top + lcHost = Host + Thisform.cb_server._CBBASE1.Requery() + Thisform.cb_server._CBBASE1.Value=lcHost + Else + Quit + ENDIF + + && daca am pornit programul prin parametri nu arat forma + If goRoa.lParametri + This.Visible = .F. + This.do_login() + Endif + ENDPROC + + PROCEDURE KeyPress + Lparameters nKeyCode, nShiftAltCtrl + Do Case + Case nKeyCode=27 And nShiftAltCtrl=0 + Nodefault + If aMessagebox("Sunteti sigur ca doriti sa inchideti fereastra?",4+32+256,"Confirmare")==6 + This.do_renunt() + ENDIF + Case nKeyCode=6 And nShiftAltCtrl=2 + NODEFAULT + This.do_termin() + Endcase + + ENDPROC + + PROCEDURE populate_host + Local lnValid + lnValid = goRoa.GetcrsSecurity() + Dimension laDrivere[30] + Thisform.odbcreg1.getodbcdrvrs(@laDrivere,.T.) + Select crshost + Scan + lcHost=Alltrim(Upper(Host)) + If Ascan(laDrivere,lcHost,1)=0 + Delete Next 1 + Endif + Endscan + Return lnValid + ENDPROC + +ENDDEFINE + +DEFINE CLASS frm_mesaj AS _frmbase OF "_frm_base.vcx" + *< CLASSDATA: Baseclass="form" Timestamp="" Scale="Pixels" Uniqueid="" /> + + *-- OBJECTDATA items order determines ZOrder / El orden de los items OBJECTDATA determina el ZOrder + *< OBJECTDATA: ObjPath="lbl_mesaj1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="Nu1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="Da1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="imagine1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="lbl_mesaj2" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="txt_numar" UniqueID="" Timestamp="" /> + + * + *p: nnr + * + + * + BorderStyle = 1 + Desktop = .T. + DoCreate = .T. + Height = 192 + Name = "frm_mesaj" + nnr = 0 + Width = 400 + _shape1.Height = 29 + _shape1.Left = 0 + _shape1.Name = "_shape1" + _shape1.Top = 0 + _shape1.Width = 402 + _shape1.ZOrderSet = 3 + _SHAPE2.Height = 29 + _SHAPE2.Left = 367 + _SHAPE2.Name = "_SHAPE2" + _SHAPE2.Top = 0 + _SHAPE2.Width = 34 + _SHAPE2.ZOrderSet = 6 + LB_TITLU_ALB_B121.Caption = "Titlu" + LB_TITLU_ALB_B121.FontBold = .T. + LB_TITLU_ALB_B121.Name = "LB_TITLU_ALB_B121" + LB_TITLU_ALB_B121.TabIndex = 5 + LB_TITLU_ALB_B121.ZOrderSet = 7 + BUT_TERMIN1.Left = 368 + BUT_TERMIN1.Name = "BUT_TERMIN1" + BUT_TERMIN1.TabIndex = 1 + BUT_TERMIN1.Top = 1 + BUT_TERMIN1.ZOrderSet = 9 + Gridsort1.Name = "Gridsort1" + * + + ADD OBJECT 'Da1' AS but_da WITH ; + Height = 30, ; + Left = 151, ; + Name = "Da1", ; + TabIndex = 2, ; + Top = 156, ; + Width = 55, ; + ZOrderSet = 2 + *< END OBJECT: ClassLib="cmd_butoane.vcx" BaseClass="commandbutton" /> + + ADD OBJECT 'imagine1' AS image WITH ; + BackStyle = 0, ; + Height = 33, ; + Left = 12, ; + Name = "imagine1", ; + Picture = ..\..\, ; + Top = 48, ; + Width = 32, ; + ZOrderSet = 4 + *< END OBJECT: BaseClass="image" /> + + ADD OBJECT 'lbl_mesaj1' AS _lbbase WITH ; + Alignment = 2, ; + AutoSize = .F., ; + Caption = "mesaj1", ; + FontSize = 10, ; + Height = 102, ; + Left = 51, ; + Name = "lbl_mesaj1", ; + Style = 0, ; + TabIndex = 4, ; + Top = 42, ; + Width = 339, ; + WordWrap = .T., ; + ZOrderSet = 0 + *< END OBJECT: ClassLib="_lb_base.vcx" BaseClass="label" /> + + ADD OBJECT 'lbl_mesaj2' AS _lbbase WITH ; + Alignment = 2, ; + Caption = "mesaj2", ; + FontSize = 10, ; + Height = 18, ; + Left = 178, ; + Name = "lbl_mesaj2", ; + TabIndex = 6, ; + Top = 65, ; + Width = 44, ; + ZOrderSet = 5 + *< END OBJECT: ClassLib="_lb_base.vcx" BaseClass="label" /> + + ADD OBJECT 'Nu1' AS but_nu WITH ; + Height = 30, ; + Left = 207, ; + Name = "Nu1", ; + TabIndex = 3, ; + Top = 156, ; + Width = 55, ; + ZOrderSet = 1 + *< END OBJECT: ClassLib="cmd_butoane.vcx" BaseClass="commandbutton" /> + + ADD OBJECT 'txt_numar' AS textbox WITH ; + Alignment = 2, ; + BackStyle = 0, ; + BorderStyle = 0, ; + ControlSource = "thisform.nnr", ; + FontBold = .T., ; + FontSize = 10, ; + Height = 23, ; + InputMask = (get_mask(12,gnPa)), ; + Left = 264, ; + Name = "txt_numar", ; + TabIndex = 7, ; + TabStop = .F., ; + Top = 66, ; + Width = 97, ; + ZOrderSet = 8 + *< END OBJECT: BaseClass="textbox" /> + + PROCEDURE actualizeaza_drepturi + *!* + ENDPROC + + PROCEDURE Init + Lparameters tctitlu,tcimagine,tctip,tcmesaj1,tmesaj2 + + DoDefault() + + With This + .lb_titlu_alb_b121.Caption = tctitlu + .imagine1.Picture = Iif(Empty(tcimagine),[info_c.ico],tcimagine) + .lbl_mesaj1.Caption = Iif(Empty(tcmesaj1),[],tcmesaj1) + If Type('tmesaj2') = 'N' + .lbl_mesaj2.Visible = .F. + .nnr = tmesaj2 + lnCul = Iif(.nnr<0,Rgb(255,0,0),Iif(.nnr>0,Rgb(0,0,255),Rgb(0,255,0))) + .txt_numar.ForeColor = lnCul + .txt_numar.Left = 151 + Else + .lbl_mesaj2.Caption = Iif(Empty(tmesaj2),[],tmesaj2) + .txt_numar.Visible = .F. + Endif + + Do Case + Case Upper(Alltrim(tctip)) = [AVERTIZARE] Or Upper(Alltrim(tctip)) = [INFORMARE] Or Empty(tctip) + .da1.Visible = .F. + .nu1.Visible = .F. + ._shape2.Visible = .T. + .but_termin1.Visible = .T. + Case Upper(Alltrim(tctip)) = [INTREBARE] + .da1.Visible = .T. + .nu1.Visible = .T. + ._shape2.Visible = .F. + .but_termin1.Visible = .F. + Endcase + Endwith + ENDPROC + + PROCEDURE KeyPress + Lparameters nKeyCode, nShiftAltCtrl + Do Case + Case nKeyCode=27 And nShiftAltCtrl=0 + Nodefault + This.do_renunt() + Case nKeyCode=6 And nShiftAltCtrl=2 + NODEFAULT + This.do_termin() + Endcase + + ENDPROC + + PROCEDURE Show + LPARAMETERS nStyle + IF !FILE(THIS.Imagine1.PICTURE) + THIS.IMagine1.Visible=.F. + ENDIF + ENDPROC + +ENDDEFINE + +DEFINE CLASS frm_start_firma_nou AS _frmbase OF "_frm_base.vcx" + *< CLASSDATA: Baseclass="form" Timestamp="" Scale="Pixels" Uniqueid="" /> + + *-- OBJECTDATA items order determines ZOrder / El orden de los items OBJECTDATA determina el ZOrder + *< OBJECTDATA: ObjPath="Image1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="But_renunt1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="CbFima" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="CbLuna" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="CbAn" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="Lb_firma" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="Lb_luna" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="Lb_an" UniqueID="" Timestamp="" /> + + * + *m: caut_luna_an + *m: filtrez_luni + *p: can + *p: cfirma + *p: cluna + *p: nnrluna + * + + * + BorderStyle = 0 + can = + cfirma = + cluna = + DoCreate = .T. + Height = 144 + Name = "frm_start_firma_nou" + nnrluna = 0 + Width = 404 + _shape1.Height = 29 + _shape1.Left = 0 + _shape1.Name = "_shape1" + _shape1.Top = 0 + _shape1.Width = 435 + _shape1.ZOrderSet = 1 + _shape2.Height = 29 + _shape2.Left = 370 + _shape2.Name = "_shape2" + _shape2.Top = 0 + _shape2.Width = 63 + _shape2.ZOrderSet = 2 + Lb_titlu_alb_b121.Caption = "ALEGEÞI FIRMA / ANUL / LUNA" + Lb_titlu_alb_b121.FontSize = 10 + Lb_titlu_alb_b121.Left = 9 + Lb_titlu_alb_b121.Name = "Lb_titlu_alb_b121" + Lb_titlu_alb_b121.TabIndex = 6 + Lb_titlu_alb_b121.Top = 11 + Lb_titlu_alb_b121.ZOrderSet = 3 + BUT_TERMIN1.Left = 375 + BUT_TERMIN1.Name = "BUT_TERMIN1" + BUT_TERMIN1.TabIndex = 4 + BUT_TERMIN1.Top = 1 + BUT_TERMIN1.ZOrderSet = 4 + Gridsort1.Name = "Gridsort1" + * + + ADD OBJECT 'But_renunt1' AS but_renunt WITH ; + Left = 345, ; + Name = "But_renunt1", ; + TabIndex = 5, ; + Top = 1, ; + ZOrderSet = 5 + *< END OBJECT: ClassLib="cmd_butoane.vcx" BaseClass="commandbutton" /> + + ADD OBJECT 'CbAn' AS combobox WITH ; + ControlSource = "thisform.can", ; + FontName = "Arial Narrow", ; + Height = 24, ; + Left = 173, ; + Name = "CbAn", ; + ReadOnly = .F., ; + SpecialEffect = 1, ; + Style = 2, ; + TabIndex = 2, ; + Top = 75, ; + Width = 96, ; + ZOrderSet = 8 + *< END OBJECT: BaseClass="combobox" /> + + ADD OBJECT 'CbFima' AS combobox WITH ; + ColumnCount = 1, ; + ControlSource = "thisform.cfirma", ; + FontName = "Arial Narrow", ; + Height = 24, ; + HideSelection = .F., ; + Left = 172, ; + Name = "CbFima", ; + RowSource = "v_firme.firma", ; + RowSourceType = 2, ; + SpecialEffect = 1, ; + Style = 2, ; + TabIndex = 1, ; + Top = 40, ; + Width = 213, ; + ZOrderSet = 6 + *< END OBJECT: BaseClass="combobox" /> + + ADD OBJECT 'CbLuna' AS combobox WITH ; + ControlSource = "thisform.cluna", ; + FontName = "Arial Narrow", ; + Height = 24, ; + Left = 174, ; + Name = "CbLuna", ; + ReadOnly = .F., ; + RowSource = "v_lunilean.numeluna", ; + RowSourceType = 2, ; + SpecialEffect = 1, ; + Style = 2, ; + TabIndex = 3, ; + Top = 112, ; + Width = 96, ; + ZOrderSet = 7 + *< END OBJECT: BaseClass="combobox" /> + + ADD OBJECT 'Image1' AS image WITH ; + Height = 150, ; + Left = 0, ; + Name = "Image1", ; + Picture = ..\grafice\start.bmp, ; + Stretch = 2, ; + Top = 34, ; + Width = 402, ; + ZOrderSet = 0 + *< END OBJECT: BaseClass="image" /> + + ADD OBJECT 'Lb_an' AS lb_simplu WITH ; + Caption = "Anul:", ; + FontBold = .T., ; + FontName = "Courier New", ; + FontSize = 11, ; + Left = 83, ; + Name = "Lb_an", ; + TabIndex = 9, ; + Top = 79, ; + ZOrderSet = 11 + *< END OBJECT: ClassLib="lb.vcx" BaseClass="label" /> + + ADD OBJECT 'Lb_firma' AS lb_simplu WITH ; + Caption = "Firma:", ; + FontBold = .T., ; + FontName = "Courier New", ; + FontSize = 11, ; + Left = 82, ; + Name = "Lb_firma", ; + TabIndex = 7, ; + Top = 44, ; + ZOrderSet = 9 + *< END OBJECT: ClassLib="lb.vcx" BaseClass="label" /> + + ADD OBJECT 'Lb_luna' AS lb_simplu WITH ; + Caption = "Luna:", ; + FontBold = .T., ; + FontName = "Courier New", ; + FontSize = 11, ; + Left = 84, ; + Name = "Lb_luna", ; + TabIndex = 8, ; + Top = 117, ; + Width = 47, ; + ZOrderSet = 10 + *< END OBJECT: ClassLib="lb.vcx" BaseClass="label" /> + + PROCEDURE actualizeaza_drepturi + *!* + ENDPROC + + PROCEDURE caut_luna_an + LOCAL lcSchema, lnIdFirma, lnSchema_noua + + + + THISFORM.cfirma = THIS.cbFima.DISPLAYVALUE + + SELECT v_firme + LOCATE FOR ALLTRIM(firma) = ALLTRIM(THISFORM.cfirma) + *--- + lcschemaParola=ALLTRIM(v_firme.parola) + *--- + lcSchema = ALLTRIM(SCHEMA) + lnschema_noua = schema_noua + lnIdFirma = v_firme.id_firma + *!* modificare 17.12.2008 + gnIdFirma = lnIdFirma + *!* modificare 17.12.2008 ^ + IF !FOUND() + RETURN + ENDIF + IF USED("v_ancalendar") + USE IN v_anCalendar + ENDIF + + + *--- + *DO schimba_firma WITH gnHandle,lcSchema,lcschemaParola,lnschema_noua + lnsucces = schimba_firma(gnHandle,lcSchema,lnIdFirma,lcschemaParola,lnschema_noua) + IF lnsucces<0 + aMESSAGEBOX(goExecutor.cEroare, 0+16, 'Eroare') + RETURN + ENDIF + *--- + + LOCAL lcNumeCal + STORE '' TO lcNumeCal + lcSelect = [select varvalue, col_an, col_luna, tip_col_an, tip_col_luna from syn_optiuni_programe WHERE id_prg_owner = ]+ALLTRIM(STR(gnIdProgram)) +[ and UPPER(varname) = 'CALENDAR'] + lcCursor = [crsNumeCal] + lnsucces = goExecutor.oExecute(lcSelect,lcCursor) + IF lnsucces < 0 + aMESSAGEBOX('Eroare la selectie ' + goExecutor.cEroare,0+16,"Eroare") + RETURN + ENDIF + + SELECT crsNumeCal + IF RECCOUNT() = 0 + lcNumeCal = 'CALENDAR' + lcCol_an = 'an' + lcCol_luna = 'luna' + lcSel_Col_an = 'an' + lcSel_Col_luna = ' to_char(' + lcCol_luna + ') ' + ELSE + lcNumeCal = ALLTRIM(crsNumeCal.varvalue) + lcCol_an = ALLTRIM(col_an) && an + lcCol_luna = ALLTRIM(col_luna) && luna + lctip_col_an = UPPER(ALLTRIM(tip_col_an)) && roaCont = C, roaSal = N + lctip_col_luna = UPPER(ALLTRIM(tip_col_luna)) + + DO case + CASE lctip_col_an = 'N' + lcSel_Col_an = ' to_char(' + lcCol_an + ') ' + CASE lctip_col_an = 'C' + lcSel_Col_an = lcCol_an + ENDCASE + + DO CASE + CASE lctip_col_luna = 'N' + lcSel_Col_luna = ' to_char(' + lcCol_luna + ') ' + CASE lctip_col_luna = 'C' + lcSel_Col_luna = lcCol_luna + ENDCASE + ENDIF + + * IF UPPER(lctip_col_an) = 'N' + + lcSelect = [select ] + lcSel_Col_an + [ as an, ] + lcSel_Col_luna + [ as nl ] + ; + [ from ] + lcSchema + [.] + lcNumeCal + [ order by ] + lcCol_an + [ * 12 + ] + lcCol_luna + + * lcSelect = [select * from ] + lcSchema + [.] + lcNumeCal + [ order by an * 12 + nl] + + *lcSelect = [select * from ] + lcSchema + [.Calendar order by an * 12 + nl] + lcCursor = [v_ancalendar] + lnsucces = goExecutor.oExecute(lcSelect,lcCursor) + IF lnsucces < 0 + aMESSAGEBOX(goExecutor.cEroare, 0+16, 'Eroare') + RETURN + ENDIF + THISFORM.cban.ROWSOURCE = '' + IF USED("crs_ani") + USE IN crs_ani + ENDIF + + SELECT DISTINCT an FROM v_anCalendar ORDER BY an INTO CURSOR crs_ani + + SELECT v_anCalendar + GO BOTTOM + IF gcS <> lcSchema + gnLuna = 0 + gnAn = 0 + ENDIF + IF gnLuna*gnAn <> 0 + *!* SELECT v_lunilean + *!* LOCATE FOR nrluna = gnLuna + SELECT crs_ani + LOCATE FOR VAL(an) = gnAn + + + ELSE + *!* *!* SELECT v_lunilean + *!* *!* LOCATE FOR nrluna = VAL(v_ancalendar.nl) + SELECT crs_ani + GO BOTTOM + ENDIF + + *!* thisform.cbLuna.DisplayValue = v_lunilean.numeluna + *!* thisform.nnrluna = v_lunilean.nrLuna + SELECT crs_ani + + THISFORM.cban.ROWSOURCE = 'crs_ani.an' + THISFORM.cban.ROWSOURCETYPE = 2 + THISFORM.cban.DISPLAYVALUE = crs_ani.an + + THIS.cban.REFRESH + *!* this.cbluna.Refresh + *thisform.Refresh + + THISFORM.filtrez_luni + + ENDPROC + + PROCEDURE do_termin + IF this.inainte_de_do_termin() + gnButon = 1 + pnButon = 1 + Buton = 1 + pnIesire = 1 + this.hide + + ENDIF + + + ENDPROC + + PROCEDURE filtrez_luni + *!* thisform.cAn = thisform.cbAn.DisplayValue + SELECT v_ancalendar + SELECT c.nl,c.an,l.numeluna,l.nrluna ; + FROM v_ancalendar c; + JOIN v_lunilean l ON VAL(c.nl) = l.nrLuna AND VAL(c.an) = VAL(thisform.cAn) INTO CURSOR v_luni; + ORDER BY l.nrluna + thisform.cbLuna.RowSource = "v_luni.numeluna" + IF gnLuna # 0 AND gnAn = VAL(thisform.cAn) AND ALLTRIM(gcs) = ALLTRIM(this.cbfima.DisplayValue) + SELECT v_luni + LOCATE FOR nrLuna = gnLuna + ELSE + SELECT v_luni + GO BOTTOM + ENDIF + SELECT v_luni + thisform.cLuna = v_luni.numeluna + thisform.cbLuna.DisplayValue = v_luni.numeluna + thisform.nnrluna = v_luni.nrLuna + thisform.cbluna.Refresh + + ENDPROC + + PROCEDURE inainte_de_do_termin + If Empty(This.cfirma) + aMESSAGEBOX("Alegeti firma si dupa aceea apasati butonul Terminat",0,"Alegeti firma") + Return .F. + Else + Public gcNumeUtilEnt + gcNumeUtilEnt = [] + lcSql = [begin pack_def.citesteNumeEnt(?gnIdUtil,?@gcNumeUtilEnt); end;] + If !goExecutor.oExecuta(lcSql) + gcNumeUtilEnt = gcUserNameApp + Endif + Endif + Return .T. + ENDPROC + + PROCEDURE But_renunt1.Click + IF thisform.inainte_de_do_renunt() + gnButon = 2 + pnButon = 2 + Buton = 2 + pnIesire = 2 + + + Quit + If buton = 1 + thisform.Release + EndIf + ENDIF + + ENDPROC + + PROCEDURE CbAn.InteractiveChange + thisform.cAn = thisform.cbAn.DisplayValue + thisform.filtrez_luni + ENDPROC + + PROCEDURE CbFima.GotFocus + thisform.caut_luna_an + ENDPROC + + PROCEDURE CbFima.InteractiveChange + thisform.caut_luna_an + ENDPROC + + PROCEDURE CbFima.LostFocus + *thisform.caut_luna_an + ENDPROC + + PROCEDURE CbLuna.InteractiveChange + SELECT v_luni + LOCATE FOR ALLTRIM(numeluna) = ALLTRIM(this.DisplayValue) + IF FOUND() + thisform.nnrluna = v_luni.nrLuna + ENDIF + ENDPROC + + PROCEDURE CbLuna.LostFocus + SELECT v_luni + LOCATE FOR ALLTRIM(numeluna) = ALLTRIM(this.DisplayValue) + IF FOUND() + thisform.nnrluna = v_luni.nrLuna + ENDIF + ENDPROC + +ENDDEFINE diff --git a/clase/ferestre_flux.vc2 b/clase/ferestre_flux.vc2 new file mode 100644 index 0000000..c3ca04c --- /dev/null +++ b/clase/ferestre_flux.vc2 @@ -0,0 +1,1416 @@ +*-------------------------------------------------------------------------------------------------------------------------------------------------------- +* (EN) AUTOGENERATED - ATTENTION!! - NOT INTENDED FOR EXECUTION!! USE ONLY FOR MERGING CHANGES AND STORING WITH SCM TOOLS!! +*-------------------------------------------------------------------------------------------------------------------------------------------------------- +*< FOXBIN2PRG: Version="1.21" SourceFile="ferestre_flux.vcx" CPID="1252" /> (Solo para binarios VFP 9 / Only for VFP 9 binaries) +* +* +DEFINE CLASS frm_compensari AS _frmbase OF "_frm_base.vcx" + *< CLASSDATA: Baseclass="form" Timestamp="" Scale="Pixels" Uniqueid="" /> + + *-- OBJECTDATA items order determines ZOrder / El orden de los items OBJECTDATA determina el ZOrder + *< OBJECTDATA: ObjPath="grdCompensari" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="grdCompensari.cNract.Header1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="grdCompensari.cNract.Text1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="grdCompensari.cDataact.Header1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="grdCompensari.cDataact.Text1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="grdCompensari.cSuma.Header1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="grdCompensari.cSuma.Text1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="grdCompensari.cScd.Header1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="grdCompensari.cScd.Text1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="grdCompensari.cScc.Header1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="grdCompensari.cScc.Text1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="grdCompensari.cPartd.Header1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="grdCompensari.cPartd.Text1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="grdCompensari.cPartc.Header1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="grdCompensari.cPartc.Text1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="grdCompensari.cPereched.Header1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="grdCompensari.cPereched.Text1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="grdCompensari.cPerechec.Header1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="grdCompensari.cPerechec.Text1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="grdCompensari.cAles.Header1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="grdCompensari.cAles.Text1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="grdCompensari.cAles.Check1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="grdCompensari.cExplicatia.Header1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="grdCompensari.cExplicatia.Text1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="grdCompensari.cExplicatia4.Header1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="grdCompensari.cExplicatia4.Text1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="grdCompensari.cExplicatia5.Header1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="grdCompensari.cExplicatia5.Text1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="But_excel2" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="Label1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="Label2" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="Gridextra1" UniqueID="" Timestamp="" /> + + * + *m: totaluri + *p: noldvalue + * + + * + BorderStyle = 3 + DoCreate = .T. + Height = 593 + Name = "frm_compensari" + noldvalue = 0 + Width = 699 + _SHAPE1.Anchor = 10 + _SHAPE1.Height = 29 + _SHAPE1.Left = 0 + _SHAPE1.Name = "_SHAPE1" + _SHAPE1.Top = 0 + _SHAPE1.Width = 750 + _SHAPE2.Anchor = 9 + _SHAPE2.Height = 29 + _SHAPE2.Left = 636 + _SHAPE2.Name = "_SHAPE2" + _SHAPE2.Top = 0 + _SHAPE2.Width = 63 + LB_TITLU_ALB_B121.Caption = "COMPENSARI" + LB_TITLU_ALB_B121.Height = 21 + LB_TITLU_ALB_B121.Left = 6 + LB_TITLU_ALB_B121.Name = "LB_TITLU_ALB_B121" + LB_TITLU_ALB_B121.Top = 6 + LB_TITLU_ALB_B121.Width = 108 + BUT_TERMIN1.Anchor = 9 + BUT_TERMIN1.Left = 669 + BUT_TERMIN1.Name = "BUT_TERMIN1" + BUT_TERMIN1.Top = 1 + GRIDSORT1.Left = 528 + GRIDSORT1.Name = "GRIDSORT1" + GRIDSORT1.Top = 8 + * + + ADD OBJECT 'But_excel2' AS but_excel WITH ; + Anchor = 9, ; + Left = 639, ; + Name = "But_excel2", ; + Top = 1, ; + Visible = .T. + *< END OBJECT: ClassLib="cmd_butoane.vcx" BaseClass="commandbutton" /> + + ADD OBJECT 'grdCompensari' AS _grdrow WITH ; + Anchor = 15, ; + ColumnCount = 13, ; + DeleteMark = .F., ; + HeaderHeight = 32, ; + Height = 515, ; + HighlightStyle = 2, ; + Left = 7, ; + Name = "grdCompensari", ; + Panel = 1, ; + ReadOnly = .T., ; + RecordSource = "crsCompensari", ; + Top = 72, ; + Width = 684, ; + Column1.ControlSource = "nract", ; + Column1.Name = "cNract", ; + Column1.ReadOnly = .T., ; + Column1.Width = 80, ; + Column2.ControlSource = "TTOD(dataact)", ; + Column2.Name = "cDataact", ; + Column2.ReadOnly = .T., ; + Column2.Width = 59, ; + Column3.ColumnOrder = 5, ; + Column3.ControlSource = "suma", ; + Column3.Format = "]", ; + Column3.InputMask = (get_mask(14,gnPa)), ; + Column3.Name = "cSuma", ; + Column3.ReadOnly = .T., ; + Column3.Width = 71, ; + Column4.ColumnOrder = 3, ; + Column4.ControlSource = "scd", ; + Column4.Name = "cScd", ; + Column4.ReadOnly = .T., ; + Column4.Width = 50, ; + Column5.ColumnOrder = 4, ; + Column5.ControlSource = "scc", ; + Column5.Name = "cScc", ; + Column5.ReadOnly = .T., ; + Column5.Width = 51, ; + Column6.ColumnOrder = 7, ; + Column6.ControlSource = "partd", ; + Column6.Name = "cPartd", ; + Column6.ReadOnly = .T., ; + Column6.Width = 150, ; + Column7.ColumnOrder = 8, ; + Column7.ControlSource = "partc", ; + Column7.Name = "cPartc", ; + Column7.ReadOnly = .T., ; + Column7.Width = 153, ; + Column8.ColumnOrder = 9, ; + Column8.ControlSource = "pereched", ; + Column8.Name = "cPereched", ; + Column8.ReadOnly = .T., ; + Column8.Width = 77, ; + Column9.ColumnOrder = 10, ; + Column9.ControlSource = "perechec", ; + Column9.Name = "cPerechec", ; + Column9.ReadOnly = .T., ; + Column9.Width = 95, ; + Column10.ColumnOrder = 6, ; + Column10.ControlSource = "ales", ; + Column10.CurrentControl = "Check1", ; + Column10.Name = "cAles", ; + Column10.ReadOnly = .F., ; + Column10.Sparse = .F., ; + Column10.Width = 28, ; + Column11.ColumnOrder = 11, ; + Column11.ControlSource = "explicatia", ; + Column11.Name = "cExplicatia", ; + Column11.ReadOnly = .T., ; + Column11.Width = 157, ; + Column12.ColumnOrder = 12, ; + Column12.ControlSource = "explicatia4", ; + Column12.Name = "cExplicatia4", ; + Column12.ReadOnly = .T., ; + Column12.Width = 142, ; + Column13.ColumnOrder = 13, ; + Column13.ControlSource = "explicatia5", ; + Column13.Name = "cExplicatia5", ; + Column13.ReadOnly = .T., ; + Column13.Width = 166 + *< END OBJECT: ClassLib="_grd_base.vcx" BaseClass="grid" /> + + ADD OBJECT 'grdCompensari.cAles.Check1' AS checkbox WITH ; + Alignment = 2, ; + Caption = "", ; + Height = 17, ; + Left = 4, ; + Name = "Check1", ; + ReadOnly = .F., ; + Top = 47, ; + Width = 60 + *< END OBJECT: BaseClass="checkbox" /> + + ADD OBJECT 'grdCompensari.cAles.Header1' AS header WITH ; + Alignment = 2, ; + Caption = "Ales", ; + Name = "Header1" + *< END OBJECT: BaseClass="header" /> + + ADD OBJECT 'grdCompensari.cAles.Text1' AS textbox WITH ; + BackColor = 255,255,255, ; + BorderStyle = 0, ; + ForeColor = 0,0,0, ; + Margin = 0, ; + Name = "Text1" + *< END OBJECT: BaseClass="textbox" /> + + ADD OBJECT 'grdCompensari.cDataact.Header1' AS header WITH ; + Alignment = 2, ; + Caption = "Data doc.", ; + Name = "Header1" + *< END OBJECT: BaseClass="header" /> + + ADD OBJECT 'grdCompensari.cDataact.Text1' AS textbox WITH ; + BackColor = 255,255,255, ; + BorderStyle = 0, ; + ForeColor = 0,0,0, ; + Margin = 0, ; + Name = "Text1", ; + ReadOnly = .T. + *< END OBJECT: BaseClass="textbox" /> + + ADD OBJECT 'grdCompensari.cExplicatia.Header1' AS header WITH ; + Alignment = 2, ; + Caption = "Explicatia", ; + Name = "Header1" + *< END OBJECT: BaseClass="header" /> + + ADD OBJECT 'grdCompensari.cExplicatia.Text1' AS textbox WITH ; + BackColor = 255,255,255, ; + BorderStyle = 0, ; + ForeColor = 0,0,0, ; + Margin = 0, ; + Name = "Text1" + *< END OBJECT: BaseClass="textbox" /> + + ADD OBJECT 'grdCompensari.cExplicatia4.Header1' AS header WITH ; + Alignment = 2, ; + BackColor = 212,208,200, ; + Caption = "Explicatia 4", ; + Name = "Header1" + *< END OBJECT: BaseClass="header" /> + + ADD OBJECT 'grdCompensari.cExplicatia4.Text1' AS textbox WITH ; + BackColor = 255,255,255, ; + BorderStyle = 0, ; + ForeColor = 0,0,0, ; + Margin = 0, ; + Name = "Text1" + *< END OBJECT: BaseClass="textbox" /> + + ADD OBJECT 'grdCompensari.cExplicatia5.Header1' AS header WITH ; + Alignment = 2, ; + Caption = "Explicatia 5", ; + Name = "Header1" + *< END OBJECT: BaseClass="header" /> + + ADD OBJECT 'grdCompensari.cExplicatia5.Text1' AS textbox WITH ; + BackColor = 255,255,255, ; + BorderStyle = 0, ; + ForeColor = 0,0,0, ; + Margin = 0, ; + Name = "Text1" + *< END OBJECT: BaseClass="textbox" /> + + ADD OBJECT 'grdCompensari.cNract.Header1' AS header WITH ; + Alignment = 2, ; + Caption = "Nr doc.", ; + Name = "Header1" + *< END OBJECT: BaseClass="header" /> + + ADD OBJECT 'grdCompensari.cNract.Text1' AS textbox WITH ; + BackColor = 255,255,255, ; + BorderStyle = 0, ; + ForeColor = 0,0,0, ; + Margin = 0, ; + Name = "Text1", ; + ReadOnly = .T. + *< END OBJECT: BaseClass="textbox" /> + + ADD OBJECT 'grdCompensari.cPartc.Header1' AS header WITH ; + Alignment = 2, ; + Caption = "Partener credit", ; + Name = "Header1" + *< END OBJECT: BaseClass="header" /> + + ADD OBJECT 'grdCompensari.cPartc.Text1' AS textbox WITH ; + BackColor = 255,255,255, ; + BorderStyle = 0, ; + ForeColor = 0,0,0, ; + Margin = 0, ; + Name = "Text1", ; + ReadOnly = .T. + *< END OBJECT: BaseClass="textbox" /> + + ADD OBJECT 'grdCompensari.cPartd.Header1' AS header WITH ; + Alignment = 2, ; + Caption = "Partener debit", ; + Name = "Header1" + *< END OBJECT: BaseClass="header" /> + + ADD OBJECT 'grdCompensari.cPartd.Text1' AS textbox WITH ; + BackColor = 255,255,255, ; + BorderStyle = 0, ; + ForeColor = 0,0,0, ; + Margin = 0, ; + Name = "Text1", ; + ReadOnly = .T. + *< END OBJECT: BaseClass="textbox" /> + + ADD OBJECT 'grdCompensari.cPerechec.Header1' AS header WITH ; + Alignment = 2, ; + Caption = "Document incasat", ; + Name = "Header1", ; + WordWrap = .T. + *< END OBJECT: BaseClass="header" /> + + ADD OBJECT 'grdCompensari.cPerechec.Text1' AS textbox WITH ; + BackColor = 255,255,255, ; + BorderStyle = 0, ; + ForeColor = 0,0,0, ; + Margin = 0, ; + Name = "Text1", ; + ReadOnly = .T. + *< END OBJECT: BaseClass="textbox" /> + + ADD OBJECT 'grdCompensari.cPereched.Header1' AS header WITH ; + Alignment = 2, ; + Caption = "Document platit", ; + Name = "Header1", ; + WordWrap = .T. + *< END OBJECT: BaseClass="header" /> + + ADD OBJECT 'grdCompensari.cPereched.Text1' AS textbox WITH ; + BackColor = 255,255,255, ; + BorderStyle = 0, ; + ForeColor = 0,0,0, ; + Margin = 0, ; + Name = "Text1", ; + ReadOnly = .T. + *< END OBJECT: BaseClass="textbox" /> + + ADD OBJECT 'grdCompensari.cScc.Header1' AS header WITH ; + Alignment = 2, ; + Caption = "Cont cred.", ; + Name = "Header1", ; + WordWrap = .T. + *< END OBJECT: BaseClass="header" /> + + ADD OBJECT 'grdCompensari.cScc.Text1' AS textbox WITH ; + BackColor = 255,255,255, ; + BorderStyle = 0, ; + ForeColor = 0,0,0, ; + Margin = 0, ; + Name = "Text1", ; + ReadOnly = .T. + *< END OBJECT: BaseClass="textbox" /> + + ADD OBJECT 'grdCompensari.cScd.Header1' AS header WITH ; + Alignment = 2, ; + Caption = "Cont deb.", ; + Name = "Header1", ; + WordWrap = .T. + *< END OBJECT: BaseClass="header" /> + + ADD OBJECT 'grdCompensari.cScd.Text1' AS textbox WITH ; + BackColor = 255,255,255, ; + BorderStyle = 0, ; + ForeColor = 0,0,0, ; + Margin = 0, ; + Name = "Text1", ; + ReadOnly = .T. + *< END OBJECT: BaseClass="textbox" /> + + ADD OBJECT 'grdCompensari.cSuma.Header1' AS header WITH ; + Alignment = 2, ; + Caption = "Suma", ; + Name = "Header1" + *< END OBJECT: BaseClass="header" /> + + ADD OBJECT 'grdCompensari.cSuma.Text1' AS textbox WITH ; + BackColor = 255,255,255, ; + BorderStyle = 0, ; + ForeColor = 0,0,0, ; + Margin = 0, ; + Name = "Text1", ; + ReadOnly = .T. + *< END OBJECT: BaseClass="textbox" /> + + ADD OBJECT 'Gridextra1' AS gridextra WITH ; + gridexpression = Thisform.grdCompensari, ; + Left = 675, ; + Name = "Gridextra1", ; + Top = 47 + *< END OBJECT: ClassLib="..\utile\gridextras\gridextras.vcx" BaseClass="custom" /> + + ADD OBJECT 'Label1' AS label WITH ; + AutoSize = .T., ; + BackStyle = 0, ; + Caption = "Inregistari tip compensare care nu s-au luat in considerare in calculul fluxului de trezorerie", ; + Height = 17, ; + Left = 11, ; + Name = "Label1", ; + Top = 36, ; + Width = 493 + *< END OBJECT: BaseClass="label" /> + + ADD OBJECT 'Label2' AS label WITH ; + AutoSize = .T., ; + BackStyle = 0, ; + Caption = "Bifati inregistrarile de tip compensari care constituie flux de numerar real !", ; + FontBold = .T., ; + Height = 17, ; + Left = 11, ; + Name = "Label2", ; + Top = 52, ; + Width = 424 + *< END OBJECT: BaseClass="label" /> + + PROCEDURE grid_sort_bind + * nu sterge + * am inlocuit cu gridextras + ENDPROC + + PROCEDURE inainte_de_do_excel + Do export_excel with this.grdCompensari, this.lb_titlu_alb_b121.Caption + ENDPROC + + PROCEDURE inainte_de_do_termin + SELECT crsCompensari + SET FILTER TO + DODEFAULT() + ENDPROC + + PROCEDURE Init + DoDefault() + this.WindowState = 2 + this.gridextra1.setup() + ENDPROC + + PROCEDURE totaluri + ENDPROC + + PROCEDURE grdCompensari.cSuma.Text1.LostFocus + IF NVL(THIS.VALUE,0) <> NVL(THISFORM.nOldvalue,0) + thisform.totaluri("suma") + ENDIF + ENDPROC + +ENDDEFINE + +DEFINE CLASS frm_conturi_flux AS _frmbase OF "_frm_base.vcx" + *< CLASSDATA: Baseclass="form" Timestamp="" Scale="Pixels" Uniqueid="" /> + + *-- OBJECTDATA items order determines ZOrder / El orden de los items OBJECTDATA determina el ZOrder + *< OBJECTDATA: ObjPath="grdConturi" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="grdConturi.cRand.Header1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="grdConturi.cRand.Text1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="But_nou1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="But_sterge1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="Lb_simplu1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="Lb_simplu2" UniqueID="" Timestamp="" /> + + * + BorderStyle = 1 + DoCreate = .T. + Height = 291 + Name = "frm_conturi_flux" + Width = 186 + _SHAPE1.Name = "_SHAPE1" + _SHAPE2.Name = "_SHAPE2" + LB_TITLU_ALB_B121.Caption = "" + LB_TITLU_ALB_B121.FontSize = 11 + LB_TITLU_ALB_B121.Left = 4 + LB_TITLU_ALB_B121.Name = "LB_TITLU_ALB_B121" + LB_TITLU_ALB_B121.TabIndex = 5 + LB_TITLU_ALB_B121.Top = 6 + BUT_TERMIN1.Left = 155 + BUT_TERMIN1.Name = "BUT_TERMIN1" + BUT_TERMIN1.TabIndex = 2 + BUT_TERMIN1.Top = 1 + GRIDSORT1.Left = 4 + GRIDSORT1.Name = "GRIDSORT1" + GRIDSORT1.Top = 65 + * + + ADD OBJECT 'But_nou1' AS but_nou WITH ; + Left = 93, ; + Name = "But_nou1", ; + TabIndex = 4, ; + Top = 1 + *< END OBJECT: ClassLib="cmd_butoane.vcx" BaseClass="commandbutton" /> + + ADD OBJECT 'But_sterge1' AS but_sterge WITH ; + Left = 122, ; + Name = "But_sterge1", ; + TabIndex = 3, ; + Top = 1 + *< END OBJECT: ClassLib="cmd_butoane.vcx" BaseClass="commandbutton" /> + + ADD OBJECT 'grdConturi' AS _grdrow WITH ; + Anchor = 15, ; + ColumnCount = 1, ; + DeleteMark = .F., ; + Height = 147, ; + Left = 6, ; + Name = "grdConturi", ; + Panel = 1, ; + ReadOnly = .T., ; + RecordSource = "cConturiFlux", ; + ScrollBars = 2, ; + TabIndex = 1, ; + Top = 66, ; + Width = 169, ; + Column1.ControlSource = "cont", ; + Column1.Name = "cRand", ; + Column1.ReadOnly = .T., ; + Column1.Width = 130 + *< END OBJECT: ClassLib="_grd_base.vcx" BaseClass="grid" /> + + ADD OBJECT 'grdConturi.cRand.Header1' AS header WITH ; + Alignment = 2, ; + Caption = "Cont", ; + Name = "Header1" + *< END OBJECT: BaseClass="header" /> + + ADD OBJECT 'grdConturi.cRand.Text1' AS textbox WITH ; + BackColor = 255,255,255, ; + BorderStyle = 0, ; + ForeColor = 0,0,0, ; + Margin = 0, ; + Name = "Text1", ; + ReadOnly = .T., ; + SelectedBackColor = 100,185,255 + *< END OBJECT: BaseClass="textbox" /> + + ADD OBJECT 'Lb_simplu1' AS lb_simplu WITH ; + Alignment = 2, ; + AutoSize = .F., ; + Caption = "Conturi participante la Fluxul de Trezorerie", ; + FontBold = .F., ; + Height = 31, ; + Left = 6, ; + Name = "Lb_simplu1", ; + TabIndex = 6, ; + Top = 33, ; + Width = 174, ; + WordWrap = .T. + *< END OBJECT: ClassLib="lb.vcx" BaseClass="label" /> + + ADD OBJECT 'Lb_simplu2' AS lb_simplu WITH ; + Alignment = 0, ; + AutoSize = .F., ; + Caption = "Obs.: se iau in calcul toate conturile care au primele trei caractere din lista de conturi participante", ; + FontBold = .F., ; + FontSize = 10, ; + Height = 68, ; + Left = 4, ; + Name = "Lb_simplu2", ; + TabIndex = 7, ; + Top = 221, ; + Width = 174, ; + WordWrap = .T. + *< END OBJECT: ClassLib="lb.vcx" BaseClass="label" /> + + PROCEDURE do_adauga + Private poCauta + poCauta = null + + lcFiltru = [1=2] + lcSchema = [] + lcOrder = [cont,acont] + lcColoane = [cont,explicatie] + lcTitlu = [Alegeti Contul] + lcTitluColoane = [Cont,Explicatie] + lcSelect = [select explicatie, cont, id_plcont from vplcont_used] + lcFiltruOriginal = [ tip_cont = 0 and inactiv = 0 and an = ] + Alltrim(Str(gnan)) + lcNumeProc = [] + llToateIreg = .F. + lcPrimaColoana = [cont] + poCauta = cauta_alfa(lcSelect, lcfiltru, lcschema, lcorder, lccoloane, lcTitlu, lcTitluColoane, lcNumeProc, llToateIreg, lcFiltruOriginal, lcPrimaColoana) + If !Empty(poCauta.cont) + lcSql = [begin pack_mg_flux.update_conturi(?poCauta.cont,0); end;] + lnSucces = goExecutor.oExecute(lcSql) + If lnSucces < 0 + aMessageBox(goExecutor.cEroare,0+16,'Eroare') + Else + Insert into cConturiFlux (cont) values(Left(poCauta.cont,3)) + EndIf + EndIf + + this.grdConturi.SetFocus() + ENDPROC + + PROCEDURE do_sterge + If aMessageBox('Doriti sa stergeti inregistrarea?',4+32,'Conturi') = 6 + pcCont = Alltrim(cConturiFlux.cont) + lcSql = [begin pack_mg_flux.update_conturi(?pcCont,1); end;] + lnSucces = goExecutor.oExecute(lcSql) + If lnSucces < 0 + aMessageBox(goExecutor.cEroare,0+16,'Eroare') + Else + Select cConturiFlux + Delete + EndIf + EndIf + this.grdConturi.SetFocus() + this.grdConturi.Refresh() + ENDPROC + +ENDDEFINE + +DEFINE CLASS frm_flux AS _frmbase OF "_frm_base.vcx" + *< CLASSDATA: Baseclass="form" Timestamp="" Scale="Pixels" Uniqueid="" /> + + *-- OBJECTDATA items order determines ZOrder / El orden de los items OBJECTDATA determina el ZOrder + *< OBJECTDATA: ObjPath="_grdrow1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="_grdrow1.cRand.Header1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="_grdrow1.cRand.Text1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="_grdrow1.cDenumire.Header1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="_grdrow1.cDenumire.Text1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="_grdrow1.cPrecedent.Header1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="_grdrow1.cPrecedent.Text1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="_grdrow1.cCurent.Header1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="_grdrow1.cCurent.Text1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="But_listare1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="But_excel1" UniqueID="" Timestamp="" /> + + * + *m: grid_column_bind + *m: grid_column_lost_focus + *m: grid_column_when + *m: totaluri + *p: cperioada1 + *p: cperioada2 + *p: lprecedent + *p: noldvalue + * + + * + BorderStyle = 3 + cperioada1 = + cperioada2 = + DoCreate = .T. + Height = 593 + lprecedent = .F. + Name = "frm_flux" + noldvalue = 0 + Width = 699 + _SHAPE1.Anchor = 10 + _SHAPE1.Height = 29 + _SHAPE1.Left = 0 + _SHAPE1.Name = "_SHAPE1" + _SHAPE1.Top = 0 + _SHAPE1.Width = 750 + _SHAPE2.Anchor = 9 + _SHAPE2.Height = 29 + _SHAPE2.Left = 610 + _SHAPE2.Name = "_SHAPE2" + _SHAPE2.Top = 0 + _SHAPE2.Width = 89 + LB_TITLU_ALB_B121.Caption = "SITUATIA FLUXURILOR DE TREZORERIE - METODA DIRECTA" + LB_TITLU_ALB_B121.Height = 21 + LB_TITLU_ALB_B121.Left = 6 + LB_TITLU_ALB_B121.Name = "LB_TITLU_ALB_B121" + LB_TITLU_ALB_B121.Top = 6 + LB_TITLU_ALB_B121.Width = 456 + BUT_TERMIN1.Anchor = 9 + BUT_TERMIN1.Left = 669 + BUT_TERMIN1.Name = "BUT_TERMIN1" + BUT_TERMIN1.Top = 1 + GRIDSORT1.Left = 528 + GRIDSORT1.Name = "GRIDSORT1" + GRIDSORT1.Top = 8 + * + + ADD OBJECT '_grdrow1' AS _grdrow WITH ; + Anchor = 15, ; + ColumnCount = 4, ; + DeleteMark = .F., ; + Height = 552, ; + Left = 7, ; + Name = "_grdrow1", ; + Panel = 1, ; + RecordSource = "cFlux", ; + Top = 35, ; + Width = 684, ; + Column1.ControlSource = "rand", ; + Column1.Name = "cRand", ; + Column1.ReadOnly = .T., ; + Column1.Width = 41, ; + Column2.ControlSource = "denumire", ; + Column2.Name = "cDenumire", ; + Column2.ReadOnly = .T., ; + Column2.Width = 423, ; + Column3.ControlSource = "precedent", ; + Column3.Format = "RK", ; + Column3.InputMask = (get_mask(14,gnPa)), ; + Column3.Name = "cPrecedent", ; + Column3.Width = 97, ; + Column4.ControlSource = "curent", ; + Column4.Format = "RK", ; + Column4.InputMask = (get_mask(14,gnPa)), ; + Column4.Name = "cCurent", ; + Column4.Width = 89 + *< END OBJECT: ClassLib="_grd_base.vcx" BaseClass="grid" /> + + ADD OBJECT '_grdrow1.cCurent.Header1' AS header WITH ; + Alignment = 2, ; + Caption = "Curent", ; + Name = "Header1" + *< END OBJECT: BaseClass="header" /> + + ADD OBJECT '_grdrow1.cCurent.Text1' AS textbox WITH ; + BackColor = 255,255,255, ; + BorderStyle = 0, ; + ForeColor = 0,0,0, ; + Margin = 0, ; + Name = "Text1", ; + SelectedBackColor = 0,64,128 + *< END OBJECT: BaseClass="textbox" /> + + ADD OBJECT '_grdrow1.cDenumire.Header1' AS header WITH ; + Alignment = 2, ; + Caption = "Denumire", ; + Name = "Header1" + *< END OBJECT: BaseClass="header" /> + + ADD OBJECT '_grdrow1.cDenumire.Text1' AS textbox WITH ; + BackColor = 255,255,255, ; + BorderStyle = 0, ; + ForeColor = 0,0,0, ; + Margin = 0, ; + Name = "Text1", ; + ReadOnly = .T., ; + SelectedBackColor = 0,64,128 + *< END OBJECT: BaseClass="textbox" /> + + ADD OBJECT '_grdrow1.cPrecedent.Header1' AS header WITH ; + Alignment = 2, ; + Caption = "Precedent", ; + Name = "Header1" + *< END OBJECT: BaseClass="header" /> + + ADD OBJECT '_grdrow1.cPrecedent.Text1' AS textbox WITH ; + BackColor = 255,255,255, ; + BorderStyle = 0, ; + ForeColor = 0,0,0, ; + Margin = 0, ; + Name = "Text1", ; + SelectedBackColor = 0,64,128 + *< END OBJECT: BaseClass="textbox" /> + + ADD OBJECT '_grdrow1.cRand.Header1' AS header WITH ; + Alignment = 2, ; + Caption = "Rand", ; + Name = "Header1" + *< END OBJECT: BaseClass="header" /> + + ADD OBJECT '_grdrow1.cRand.Text1' AS textbox WITH ; + BackColor = 255,255,255, ; + BorderStyle = 0, ; + ForeColor = 0,0,0, ; + Margin = 0, ; + Name = "Text1", ; + ReadOnly = .T., ; + SelectedBackColor = 0,64,128 + *< END OBJECT: BaseClass="textbox" /> + + ADD OBJECT 'But_excel1' AS but_excel WITH ; + Anchor = 9, ; + Left = 639, ; + Name = "But_excel1", ; + Top = 1, ; + Visible = .T. + *< END OBJECT: ClassLib="cmd_butoane.vcx" BaseClass="commandbutton" /> + + ADD OBJECT 'But_listare1' AS but_listare WITH ; + Anchor = 9, ; + Left = 610, ; + Name = "But_listare1", ; + Top = 1, ; + Visible = .T. + *< END OBJECT: ClassLib="cmd_butoane.vcx" BaseClass="commandbutton" /> + + PROCEDURE grid_column_bind + Local lnColumnCount, loTextBox, i + + lnColumnCount = This._grdrow1.ColumnCount + For i = 3 To lnColumnCount + loTextBox = This._grdrow1.Columns(i).Text1 + Bindevent(loTextBox, "When", This, "grid_column_when") + Bindevent(loTextBox, "LostFocus", This, "grid_column_lost_focus") + Endfor + + ENDPROC + + PROCEDURE grid_column_lost_focus + Local laEvents[1], loTextBox + + Aevents( laEvents, 0 ) + loTextBox = laEvents[ 1 ] + If Vartype( loTextBox ) = 'O' + If Nvl(loTextBox.Value,0) <> Nvl(Thisform.nOldvalue,0) + Thisform.totaluri(loTextBox.controlsource) + Endif + Endif + + + + + ENDPROC + + PROCEDURE grid_column_when + Local laEvents[1], loTextBox + IF INLIST(cflux.tip,0,5) && TITLU, TOTAL + RETURN .F. + ENDIF + Aevents( laEvents, 0 ) + loTextBox = laEvents[ 1 ] + If Vartype( loTextBox ) = 'O' + thisform.nOldvalue = loTextBox.Value + Endif + ENDPROC + + PROCEDURE inainte_de_do_excel + thisform.AlwaysOnTop= .F. + + LOCAL lctabel , llTip + lctabel = thisform._grdrow1.RecordSource + llTip = !this.lDefalcat && .T. = precedent, curent; .F. = 01/2011, 02/2011... + SELECT (lcTabel) + DO lanseaza_excel_flux WITH (lctabel), llTip, this._grdrow1 + + thisform.AlwaysOnTop = .T. + ENDPROC + + PROCEDURE inainte_de_do_listare + Local lcTabel,lnCodOper + Private pcTitlu, plPrecedent, pcPrecedent, pcCurent, pcDataOra, pcAdministrator, pcIntocmit, pcCalitate + lnCodOper = 0 + pcTitlu = "SITUATIA FLUXURILOR DE TREZORERIE" + pcPrecedent = this.cPerioada1 + pcCurent = this.cPerioada2 + plPrecedent = this.lPrecedent + pcAdministrator = [] + pcIntocmit = [] + *!* pcCalitate = [CALITATE] + + && pcDataora = get_ora(2) + lcTabel = Thisform._grdrow1.RecordSource + + *!* 07.03.2011 + IF gcAppName = 'ROASITFIN' + *!* modificare v 2.0.8 + lcDir = Addbs(Alltrim(gcDirExpBil_tabele)) + Addbs(Alltrim(gofirma.firma)) + If Directory(lcDir) + lcFisUnitate = lcDir + "Unitate.dbf" + If File(lcFisUnitate) + Use (lcFisUnitate) In 0 Alias unitate + Select unitate + pcAdministrator = Nvl(adminf,[]) + pcIntocmit = Nvl(intocmitf,[]) + lnCodOper = cod_oper + Use In unitate + Endif + Endif + ENDIF && gcAppName + *!* 07.03.2011 ^ + *!* If !Empty(lnCodOper) + *!* lcSql = [select calintoc from sitfin_calIntoc where id=] + Alltrim(Str(lnCodOper)) + *!* lnSucces = goExecutor.oExecute(lcSql,'crsCalIntoc') + *!* If lnSucces < 0 + *!* amessagebox(goExecutor.cEroare,16,"Eroare") + *!* Else + *!* If Reccount('crsCalIntoc')>0 + *!* Select crsCalIntoc + *!* pcCalitate = Alltrim(calintoc) + *!* Endif + *!* Use In crsCalIntoc + *!* Endif + *!* Endif + *!* modificare v 2.0.8 ^ + + Thisform.AlwaysOnTop = .F. + goExport.export2frx(lcTabel, [flux_trezorerie_met_dir], .T., , , , , .T.) + Thisform.AlwaysOnTop = .T. + Release pcTitlu, plPrecedent, pcPrecedent, pcCurent, pcDataOra, pcAdministrator, pcIntocmit, pcCalitate + ENDPROC + + PROCEDURE Init + Lparameters tlPrecedent, tcPerioada1, tcPerioada2 + + this.cPerioada1 = Iif(Type('tcPerioada1') = 'C', tcPerioada1, '') + this.cPerioada2 = Iif(Type('tcPerioada2') = 'C', tcPerioada2, '') + this.lPrecedent = tlPrecedent + this.WindowState = 2 + DoDefault() + ENDPROC + + PROCEDURE Show + LPARAMETERS nStyle + + Local lcColoana, lnColumnCount, i + lnColumnCount = This._grdrow1.ColumnCount + For i = 3 To lnColumnCount + lcColoana = this._grdrow1.Columns(i).controlsource + thisform.totaluri(lcColoana) + ENDFOR + THIS.but_listare1.Visible = !this.lDefalcat + this._grdrow1.SetAll("DynamicBackColor", "IIF(INLIST(tip,0,5), RGB(200,200,200), RGB(255,255,255))", "Column") + ENDPROC + + PROCEDURE totaluri + Lparameters tcColoana + Local lcFormula, lcColoana, lcTabel, lnSuma, lnId_ind, lcRand + + If Empty(tcColoana) + lcColoana = "curent" + Else + lcColoana = Alltrim(tcColoana) + Endif + *!* 05.05.2011 + lcColoana = SUBSTR(lcColoana, AT('.', lcColoana) + 1) && cflux.curent => curent + *!* 05.05.2011 ^ + lcTabel = thisform._grdrow1.RecordSource + Select * From (lcTabel) WITH (BUFFERING = .T.) Into Cursor cTemp Readwrite NOFILTER + + Select cTemp + Scan For tip = 5 + lnSuma = 0 + lcFormula = Alltrim(cTemp.formula) + lcRand = rand + + lnSuma = calc_indicatori_randuri(lcFormula, "cTemp",lcColoana) + Select cTemp + Replace &lcColoana With lnSuma + Select (lcTabel) + Update (lcTabel) Set &lcColoana = lnSuma Where rand = lcRand + + Select cTemp + Endscan + Use In cTemp + + + + ENDPROC + + PROCEDURE _grdrow1.Init + this.SetAll("DynamicBackColor","IIF(tip=5,RGB(230,244,255),RGB(255,255,255))", "Column") + ENDPROC + +ENDDEFINE + +DEFINE CLASS frm_formule AS _frmbase OF "_frm_base.vcx" + *< CLASSDATA: Baseclass="form" Timestamp="" Scale="Pixels" Uniqueid="" /> + + *-- OBJECTDATA items order determines ZOrder / El orden de los items OBJECTDATA determina el ZOrder + *< OBJECTDATA: ObjPath="grid_randuri" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="grid_randuri.cRand.Header1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="grid_randuri.cRand.Text1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="grid_randuri.cDenumire.Header1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="grid_randuri.cDenumire.Text1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="grid_formule" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="grid_formule.cTip.Header1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="grid_formule.cTip.Text1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="grid_formule.cComentariu.Header1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="grid_formule.cComentariu.Edit1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="But_listare1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="edtDebit" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="edtCredit" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="_label1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="_label2" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="_label3" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="_label4" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="_label5" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="cboTip" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="txtCont" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="But_modifica1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="txtFTotal" UniqueID="" Timestamp="" /> + + * + *m: refresh_edit + *p: ccont + *p: ccredit + *p: cdebit + *p: ftotal && formula total + *p: leditare + *p: ltotal + *p: ntip + * + + * + BorderStyle = 3 + ccont = + ccredit = + cdebit = + DoCreate = .T. + ftotal = + Height = 501 + leditare = .F. + ltotal = .F. + Name = "frm_formule" + ntip = 1 + Width = 759 + _shape1.Anchor = 10 + _shape1.Height = 29 + _shape1.Left = 0 + _shape1.Name = "_shape1" + _shape1.Top = 0 + _shape1.Width = 780 + _shape2.Height = 29 + _shape2.Left = 697 + _shape2.Name = "_shape2" + _shape2.Top = -1 + _shape2.Width = 63 + Lb_titlu_alb_b121.Caption = "Flux de trezorerie - Formule" + Lb_titlu_alb_b121.Left = 6 + Lb_titlu_alb_b121.Name = "Lb_titlu_alb_b121" + Lb_titlu_alb_b121.TabIndex = 11 + BUT_TERMIN1.Anchor = 9 + BUT_TERMIN1.Left = 729 + BUT_TERMIN1.Name = "BUT_TERMIN1" + BUT_TERMIN1.TabIndex = 8 + BUT_TERMIN1.Top = 0 + Gridsort1.Left = 228 + Gridsort1.Name = "Gridsort1" + Gridsort1.Top = 7 + * + + ADD OBJECT '_label1' AS _label WITH ; + Anchor = 12, ; + BackStyle = 0, ; + Caption = "Debit", ; + FontBold = .T., ; + Left = 372, ; + Name = "_label1", ; + TabIndex = 12, ; + Top = 318 + *< END OBJECT: ClassLib="_baza.vcx" BaseClass="label" /> + + ADD OBJECT '_label2' AS _label WITH ; + Anchor = 12, ; + BackStyle = 0, ; + Caption = "Credit", ; + FontBold = .T., ; + Left = 372, ; + Name = "_label2", ; + TabIndex = 13, ; + Top = 376 + *< END OBJECT: ClassLib="_baza.vcx" BaseClass="label" /> + + ADD OBJECT '_label3' AS _label WITH ; + Anchor = 12, ; + BackStyle = 0, ; + Caption = "Total", ; + FontBold = .T., ; + Left = 372, ; + Name = "_label3", ; + TabIndex = 14, ; + Top = 420 + *< END OBJECT: ClassLib="_baza.vcx" BaseClass="label" /> + + ADD OBJECT '_label4' AS _label WITH ; + Anchor = 12, ; + BackStyle = 0, ; + Caption = "Cont", ; + FontBold = .T., ; + Left = 372, ; + Name = "_label4", ; + TabIndex = 15, ; + Top = 275 + *< END OBJECT: ClassLib="_baza.vcx" BaseClass="label" /> + + ADD OBJECT '_label5' AS _label WITH ; + Anchor = 12, ; + BackStyle = 0, ; + Caption = "Tip", ; + FontBold = .T., ; + Left = 372, ; + Name = "_label5", ; + TabIndex = 16, ; + Top = 248 + *< END OBJECT: ClassLib="_baza.vcx" BaseClass="label" /> + + ADD OBJECT 'But_listare1' AS but_listare WITH ; + Anchor = 9, ; + Left = 698, ; + Name = "But_listare1", ; + TabIndex = 9, ; + Top = 0 + *< END OBJECT: ClassLib="cmd_butoane.vcx" BaseClass="commandbutton" /> + + ADD OBJECT 'But_modifica1' AS but_modifica WITH ; + Anchor = 9, ; + Left = 669, ; + Name = "But_modifica1", ; + TabIndex = 10, ; + Top = 0 + *< END OBJECT: ClassLib="cmd_butoane.vcx" BaseClass="commandbutton" /> + + ADD OBJECT 'cboTip' AS _combobox WITH ; + Anchor = 12, ; + Enabled = .F., ; + Height = 24, ; + Left = 408, ; + Name = "cboTip", ; + RowSource = "0 - Titlu,1 - Incasari/plati repartizate conform formulei,2 - Incasari/plati ale caror documente pereche sunt repartizate conform formulei,5 - Totaluri ", ; + RowSourceType = 1, ; + TabIndex = 3, ; + Top = 248, ; + Width = 347 + *< END OBJECT: ClassLib="_baza.vcx" BaseClass="combobox" /> + + ADD OBJECT 'edtCredit' AS _editbox WITH ; + Anchor = 12, ; + ControlSource = "thisform.cCredit", ; + Left = 408, ; + Name = "edtCredit", ; + ReadOnly = .T., ; + TabIndex = 6, ; + Top = 356, ; + Width = 347 + *< END OBJECT: ClassLib="_baza.vcx" BaseClass="editbox" /> + + ADD OBJECT 'edtDebit' AS _editbox WITH ; + Anchor = 12, ; + ControlSource = "thisform.cDebit", ; + Height = 53, ; + Left = 408, ; + Name = "edtDebit", ; + ReadOnly = .T., ; + TabIndex = 5, ; + Top = 299, ; + Width = 347 + *< END OBJECT: ClassLib="_baza.vcx" BaseClass="editbox" /> + + ADD OBJECT 'grid_formule' AS _grdrow WITH ; + Anchor = 15, ; + ColumnCount = 2, ; + DeleteMark = .F., ; + FontName = "Arial Narrow", ; + Height = 204, ; + Left = 361, ; + Name = "grid_formule", ; + Panel = 1, ; + RecordSource = "cFluxCopil", ; + RowHeight = 55, ; + TabIndex = 2, ; + Top = 36, ; + Width = 392, ; + Column1.ControlSource = "tip", ; + Column1.FontName = "Arial Narrow", ; + Column1.Name = "cTip", ; + Column1.Width = 31, ; + Column2.ControlSource = "comentariu", ; + Column2.FontName = "Arial Narrow", ; + Column2.Name = "cComentariu", ; + Column2.Sparse = .F., ; + Column2.Width = 326 + *< END OBJECT: ClassLib="_grd_base.vcx" BaseClass="grid" /> + + ADD OBJECT 'grid_formule.cComentariu.Edit1' AS editbox WITH ; + Height = 53, ; + Left = 25, ; + Name = "Edit1", ; + Top = 35, ; + Width = 100 + *< END OBJECT: BaseClass="editbox" /> + + ADD OBJECT 'grid_formule.cComentariu.Header1' AS header WITH ; + Alignment = 2, ; + Caption = "Comentariu", ; + FontName = "Arial Narrow", ; + Name = "Header1" + *< END OBJECT: BaseClass="header" /> + + ADD OBJECT 'grid_formule.cTip.Header1' AS header WITH ; + Alignment = 2, ; + Caption = "Tip", ; + FontName = "Arial Narrow", ; + Name = "Header1" + *< END OBJECT: BaseClass="header" /> + + ADD OBJECT 'grid_formule.cTip.Text1' AS textbox WITH ; + BackColor = 255,255,255, ; + BorderStyle = 0, ; + FontName = "Arial Narrow", ; + ForeColor = 0,0,0, ; + Margin = 0, ; + Name = "Text1", ; + SelectedBackColor = 0,64,128 + *< END OBJECT: BaseClass="textbox" /> + + ADD OBJECT 'grid_randuri' AS _grdrow WITH ; + Anchor = 5, ; + ColumnCount = 2, ; + DeleteMark = .F., ; + FontName = "Arial Narrow", ; + Height = 455, ; + Left = 6, ; + Name = "grid_randuri", ; + Panel = 1, ; + RecordSource = "cFluxParinte", ; + TabIndex = 1, ; + Top = 36, ; + Width = 348, ; + Column1.ControlSource = "rand", ; + Column1.FontName = "Arial Narrow", ; + Column1.Name = "cRand", ; + Column1.Width = 29, ; + Column2.ControlSource = "denumire", ; + Column2.FontName = "Arial Narrow", ; + Column2.Name = "cDenumire", ; + Column2.Width = 284 + *< END OBJECT: ClassLib="_grd_base.vcx" BaseClass="grid" /> + + ADD OBJECT 'grid_randuri.cDenumire.Header1' AS header WITH ; + Alignment = 2, ; + Caption = "Denumire", ; + FontName = "Arial Narrow", ; + Name = "Header1" + *< END OBJECT: BaseClass="header" /> + + ADD OBJECT 'grid_randuri.cDenumire.Text1' AS textbox WITH ; + BackColor = 255,255,255, ; + BorderStyle = 0, ; + FontName = "Arial Narrow", ; + ForeColor = 0,0,0, ; + Margin = 0, ; + Name = "Text1", ; + SelectedBackColor = 0,64,128 + *< END OBJECT: BaseClass="textbox" /> + + ADD OBJECT 'grid_randuri.cRand.Header1' AS header WITH ; + Alignment = 2, ; + Caption = "Rand", ; + FontName = "Arial Narrow", ; + Name = "Header1" + *< END OBJECT: BaseClass="header" /> + + ADD OBJECT 'grid_randuri.cRand.Text1' AS textbox WITH ; + BackColor = 255,255,255, ; + BorderStyle = 0, ; + FontName = "Arial Narrow", ; + ForeColor = 0,0,0, ; + Margin = 0, ; + Name = "Text1", ; + SelectedBackColor = 0,64,128 + *< END OBJECT: BaseClass="textbox" /> + + ADD OBJECT 'txtCont' AS _textbox WITH ; + Anchor = 12, ; + ControlSource = "thisform.cCont", ; + Format = "K", ; + Height = 23, ; + InputMask = "9999", ; + Left = 408, ; + Name = "txtCont", ; + ReadOnly = .T., ; + TabIndex = 4, ; + Top = 273, ; + Width = 72 + *< END OBJECT: ClassLib="_baza.vcx" BaseClass="textbox" /> + + ADD OBJECT 'txtFTotal' AS _textbox WITH ; + Anchor = 12, ; + ControlSource = "thisform.FTotal", ; + Format = "!K", ; + Height = 23, ; + Left = 408, ; + Name = "txtFTotal", ; + ReadOnly = .T., ; + TabIndex = 7, ; + Top = 417, ; + Width = 347 + *< END OBJECT: ClassLib="_baza.vcx" BaseClass="textbox" /> + + PROCEDURE do_modifica + Lparameters tlNuModifica + && tlNuModifica - daca se schimba randul fara sa apas salvare, nu salvez modificarile + Local lcSelect + lcSelect = Select() + Private poRec + poRec = Null + + If !This.lEditare + This.lEditare = .T. + This.but_modifica1.cpicturedown = 'save_jos.bmp' + This.but_modifica1.cpictureup = 'save_sus.bmp' + This.but_modifica1.Picture = This.but_modifica1.cpictureup + This.cboTip.Enabled = .T. + This.txtCont.ReadOnly = .F. + This.edtDebit.ReadOnly = .F. + This.edtCredit.ReadOnly = .F. + This.txtFTotal.ReadOnly = .F. + This.but_modifica1.Refresh() + This.txtCont.SetFocus() + Else + This.lEditare = .F. + This.but_modifica1.cpicturedown = 'modific_jos.bmp' + This.but_modifica1.cpictureup = 'modific_sus.bmp' + This.but_modifica1.Picture = This.but_modifica1.cpictureup + This.cboTip.Enabled = .F. + This.txtCont.ReadOnly = .T. + This.edtDebit.ReadOnly = .T. + This.edtCredit.ReadOnly = .T. + This.txtFTotal.ReadOnly = .T. + + + If !tlNuModifica + Select cFluxCopil + Scatter Name poRec Memo + With poRec + .Tip = This.nTip + .Cont = Alltrim(This.cCont) + .Debit = Alltrim(This.cDebit) + .Credit = Alltrim(This.cCredit) + .Total = Iif(!Empty(Nvl(This.ftotal,'')), 1, 0) + .ftotal = Rtrim(Nvl(This.ftotal,'')) + .denumire = Rtrim(cFluxCopil.denumire) + .Rand = Rtrim(cFluxCopil.Rand) + .comentariu = FormulaFlux2Comentariu(.Debit,'D',.Tip,.Cont,.Total,.ftotal) + Iif(!Empty(.Credit), " " + FormulaFlux2Comentariu(.Credit,'C',.Tip,.Cont,0,""), "") + *!* pnIdRand = cfluxcopil.id_rand + *!* pcRand = Alltrim(cfluxcopil.rand) + *!* pcDenumire = Alltrim(cfluxcopil.denumire) + *!* pcComentariu = Alltrim(cfluxcopil.comentariu) + *!* pnModel = cfluxcopil.model + Endwith + + lcSql = [begin pack_mg_flux.update_formule(?.id_rand, ?.rand, ?.denumire, ?.tip, ?.cont, ?.debit, ?.credit, ?.ftotal, ?.total, ?.comentariu, ?.model); end;] + With poRec + lnSucces = goExecutor.oExecute(lcSql) + Endwith + If lnSucces < 0 + aMessageBox(goExecutor.cEroare, 0+16, 'Eroare') + Else + Select cFluxCopil + Gather Name poRec Memo + Update cFormule Set Tip = poRec.Tip, Cont = poRec.Cont, Debit = poRec.Debit, Credit = poRec.Credit, ; + ftotal = poRec.ftotal, comentariu = poRec.comentariu ; + where id_Rand = poRec.id_Rand + + Endif + Endif + Endif + + Select (lcSelect) + + ENDPROC + + PROCEDURE inainte_de_do_listare + Thisform.AlwaysOnTop = .F. + *!* SELECT cFormule + *!* REPORT FORM formuleFlux.frx TO PRINTER PROMPT PREVIEW + goExport.export2frx([cFormule],[formuleFlux]) + Thisform.AlwaysOnTop = .T. + + ENDPROC + + PROCEDURE refresh_edit + With Thisform + .nTip = cFluxCopil.tip + .cCont = Alltrim(cFluxCopil.Cont) + .cDebit = Alltrim(cFluxCopil.debit) + .cCredit = Alltrim(cFluxCopil.credit) + .lTotal = Nvl(cFluxCopil.Total,0) = 1 + .FTotal = Alltrim(Nvl(cFluxCopil.ftotal,'')) + + .cboTip.Refresh() + .txtCont.Refresh() + .edtDebit.Refresh() + .edtCredit.Refresh() + .txtFTotal.Refresh() + EndWith + ENDPROC + + PROCEDURE cboTip.Refresh + Do Case + Case Thisform.nTip = 0 + This.ListIndex = 1 + Case Thisform.nTip = 1 + This.ListIndex = 2 + Case Thisform.nTip = 2 + This.ListIndex = 3 + Otherwise + This.ListIndex = 4 + Endcase + + + ENDPROC + + PROCEDURE cboTip.Valid + Do case + Case this.ListIndex = 1 + thisform.nTip = 0 + Case this.ListIndex = 2 + thisform.nTip = 1 + Case this.ListIndex = 3 + thisform.nTip = 2 + Otherwise + thisform.nTip = 5 + EndCase + + ENDPROC + + PROCEDURE grid_formule.AfterRowColChange + Lparameters nColIndex + DoDefault() + thisform.refresh_edit() + If thisform.lEditare + thisform.do_modifica(.T.) + EndIf + ENDPROC + + PROCEDURE grid_randuri.AfterRowColChange + LPARAMETERS nColIndex + DoDefault() + thisform.refresh_edit() + If thisform.lEditare + thisform.do_modifica(.T.) + EndIf + ENDPROC + +ENDDEFINE diff --git a/clase/ferestre_oracle.vc2 b/clase/ferestre_oracle.vc2 new file mode 100644 index 0000000..f3f1b26 --- /dev/null +++ b/clase/ferestre_oracle.vc2 @@ -0,0 +1,1064 @@ +*-------------------------------------------------------------------------------------------------------------------------------------------------------- +* (EN) AUTOGENERATED - ATTENTION!! - NOT INTENDED FOR EXECUTION!! USE ONLY FOR MERGING CHANGES AND STORING WITH SCM TOOLS!! +*-------------------------------------------------------------------------------------------------------------------------------------------------------- +*< FOXBIN2PRG: Version="1.21" SourceFile="ferestre_oracle.vcx" CPID="1252" /> (Solo para binarios VFP 9 / Only for VFP 9 binaries) +* +* +DEFINE CLASS frm_login AS _frmbase OF "_frm_base.vcx" + *< CLASSDATA: Baseclass="form" Timestamp="" Scale="Pixels" Uniqueid="" /> + + *-- OBJECTDATA items order determines ZOrder / El orden de los items OBJECTDATA determina el ZOrder + *< OBJECTDATA: ObjPath="_shape4" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="_label1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="_textbox1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="_label2" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="_textbox2" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="Cb_server" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="Cmd_login1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="Odbcreg1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="Cmd_logoff1" UniqueID="" Timestamp="" /> + + #INCLUDE "..\include\security.h" + * + *m: populate_host + * + + * + BorderStyle = 1 + Caption = "LOGIN" + DoCreate = .T. + Height = 181 + Name = "frm_login" + Width = 303 + WindowState = 0 + _shape1.Name = "_shape1" + _shape1.ZOrderSet = 2 + _shape2.Height = 29 + _shape2.Left = 271 + _shape2.Name = "_shape2" + _shape2.Top = 0 + _shape2.Width = 32 + _shape2.ZOrderSet = 3 + Lb_titlu_alb_b121.Caption = "Not connected" + Lb_titlu_alb_b121.FontName = "Segoe UI" + Lb_titlu_alb_b121.Left = 6 + Lb_titlu_alb_b121.Name = "Lb_titlu_alb_b121" + Lb_titlu_alb_b121.TabIndex = 7 + Lb_titlu_alb_b121.Top = 3 + Lb_titlu_alb_b121.Visible = .T. + Lb_titlu_alb_b121.ZOrderSet = 4 + But_termin1.Left = 274 + But_termin1.Name = "But_termin1" + But_termin1.TabIndex = 6 + But_termin1.Top = 1 + But_termin1.ZOrderSet = 5 + Gridsort1.Left = 0 + Gridsort1.Name = "Gridsort1" + Gridsort1.Top = 72 + * + + ADD OBJECT '_label1' AS _label WITH ; + BackStyle = 0, ; + Caption = "Operator", ; + FontBold = .T., ; + Height = 18, ; + Left = 18, ; + Name = "_label1", ; + TabIndex = 8, ; + Top = 79, ; + Width = 58, ; + ZOrderSet = 14 + *< END OBJECT: ClassLib="_baza.vcx" BaseClass="label" /> + + ADD OBJECT '_label2' AS _label WITH ; + BackStyle = 0, ; + Caption = "Parolã", ; + FontBold = .T., ; + Height = 18, ; + Left = 18, ; + Name = "_label2", ; + TabIndex = 9, ; + Top = 107, ; + Width = 44, ; + ZOrderSet = 16 + *< END OBJECT: ClassLib="_baza.vcx" BaseClass="label" /> + + ADD OBJECT '_shape4' AS _shape WITH ; + BackStyle = 0, ; + BorderStyle = 1, ; + Height = 61, ; + Left = 12, ; + Name = "_shape4", ; + Top = 70, ; + Width = 266, ; + ZOrderSet = 1 + *< END OBJECT: ClassLib="_baza.vcx" BaseClass="shape" /> + + ADD OBJECT '_textbox1' AS _textbox WITH ; + AutoComplete = 4, ; + ControlSource = "gcUserNameApp", ; + FontCharSet = 238, ; + Format = "!K", ; + Height = 23, ; + Left = 90, ; + Name = "_textbox1", ; + TabIndex = 2, ; + Top = 76, ; + Width = 178, ; + ZOrderSet = 15 + *< END OBJECT: ClassLib="_baza.vcx" BaseClass="textbox" /> + + ADD OBJECT '_textbox2' AS _textbox WITH ; + ControlSource = "gcPasswordApp", ; + FontCharSet = 238, ; + Format = "!K", ; + Height = 23, ; + Left = 90, ; + Name = "_textbox2", ; + PasswordChar = "*", ; + TabIndex = 3, ; + Top = 104, ; + Width = 178, ; + ZOrderSet = 17 + *< END OBJECT: ClassLib="_baza.vcx" BaseClass="textbox" /> + + ADD OBJECT 'Cb_server' AS cb_tx_simplu WITH ; + BorderWidth = 0, ; + Left = 2, ; + Name = "Cb_server", ; + TabIndex = 1, ; + Top = 36, ; + _cbbase1.Height = 23, ; + _cbbase1.Left = 90, ; + _cbbase1.Name = "_cbbase1", ; + _cbbase1.Top = 3, ; + _cbbase1.Width = 189, ; + _lbbase1.Caption = "Server", ; + _lbbase1.FontBold = .T., ; + _lbbase1.Left = 17, ; + _lbbase1.Name = "_lbbase1", ; + _lbbase1.Top = 6 + *< END OBJECT: ClassLib="lb_tx.vcx" BaseClass="container" /> + + ADD OBJECT 'Cmd_login1' AS cmd_login WITH ; + Caption = "In\ + + ADD OBJECT 'Cmd_logoff1' AS cmd_logoff WITH ; + Caption = "Re\ + + ADD OBJECT 'Odbcreg1' AS odbcreg WITH ; + Left = 240, ; + Name = "Odbcreg1", ; + Top = 144 + *< END OBJECT: ClassLib="registry.vcx" BaseClass="custom" /> + + PROCEDURE actualizeaza_drepturi + *!* + ENDPROC + + PROCEDURE Destroy + IF USED('crsHost') + USE IN crsHost + ENDIF + ENDPROC + + PROCEDURE do_login + + *LPARAMETERS tcHost,tcUserName,tcPassword,tcUserNameApp,tcPasswordApp,tnIdUtil,tnIdProgram + Local llParametri,lcHost,lcUserName,lcPasword,lcUserNameApp,lcPaswordApp,lnIdutil,lnIdProgram, lcKey + Local lcSchema, lcMode + lcMode = "" + *!* lcEncKey = "233!do*32Di3-o23\409" + lcEncKey = ENCRYPTKEY + + If glParametri + *!* daca parola transmisa de ROASTART ca parametru incepe cu *!* - este criptata - trebuie decryptata + + If Left(gcPassword, 3) = "*!*" + gcPassword = Substr(gcPassword,4) + If gnewcryptxml=.T. + gcPassword=Strconv(gcPassword,14) + gcPassword = EncryptDecrypt(gcPassword, lcEncKey, "decrypt","blowfish") + Else + gcPassword = EncryptDecrypt(gcPassword, lcEncKey, "decrypt","old") + Endif + Endif + + lcHost = gcHost + lcUserName = gcUserName + lcPassword = gcPassword + lcUserNameApp = gcUserNameApp + lcPasswordApp = gcPasswordApp + lnIdutil = gnIdUtil + lnIdProgram = gnIdProgram + Else + ******==================================================== + lcHost = Upper(Alltrim(This.cb_server._cbbase1.Value)) + lcSchema = "" + lcPassword = "" + lcMode = "" + If !Empty(lcHost) + If Used('crsHost') + Select schema, pwd, IsEncrypted From crsHost Where Upper(Alltrim(Host)) = lcHost Into Cursor crsServer + Select crsServer + Go Top + lcSchema = schema + lcPassword = pwd + lcMode = IsEncrypted + Endif + Endif + gcHost = Alltrim(lcHost) + gcUserName = Alltrim(lcSchema) + gcPassword = Alltrim(lcPassword) + + *!* + lcMode = Iif(Empty(lcMode), "0", lcMode) + If Alltrim(lcMode) <> "0" + && parola este criptata + If gnewcryptxml=.T. + gcPassword = EncryptDecrypt(gcPassword, lcEncKey, "decrypt","blowfish") + Else + gcPassword = EncryptDecrypt(gcPassword, lcEncKey, "decrypt","old") + Endif + Endif + + If Used('crsServer') + Use In crsServer + Endif + + llParametri = .F. + lcHost = gcHost + lcUserName = gcUserName + lcPassword = gcPassword + lcUserNameApp = Strtran(Upper(Alltrim(gcUserNameApp)),['],['']) + lcPasswordApp = Upper(Alltrim(gcPasswordApp)) + lnIdutil = gnIdUtil + lnIdProgram = gnIdProgram + + Endif + + + * se logheaza pe schema cu <123> + * apeleaza + * verifica daca utilizatorul este in si initializeaza variabila globala + + *** vad daca utilizatorul trebuie sa se logheze cu un alt DSN (jcsserver) cu alt username (contabilitate) fata de standard (jcsserver,contabilitate) + Local lcFileUtilizatori,lcUtilizatori,lnLen,laUtilizatori + + lcFileUtilizatori = gcUtilizatoriPath + "utilizatori.txt" + If File(lcFileUtilizatori) + lcUtilizatori = Filetostr(lcFileUtilizatori) + + Declare laUtilizatori[1] + lnLen = Alines(laUtilizatori,lcUtilizatori) + If lnLen > 0 + For i = 1 To lnLen + lnpos1 = At(';',laUtilizatori[i]) + lnpos2 = At(';',laUtilizatori[i],2) + lnpos3 = At(';',laUtilizatori[i],3) + + If lnpos1 * lnpos2 * lnpos3 = 0 + Exit + Endif + + lcUserApp = Upper(Alltrim(Substr(laUtilizatori[i],1,lnpos1-1))) + lcHostBD = Upper(Alltrim(Substr(laUtilizatori[i],lnpos1 + 1,lnpos2 - lnpos1 - 1))) + lcUserBD = Upper(Alltrim(Substr(laUtilizatori[i],lnpos2 + 1,lnpos3 - lnpos2 - 1))) + If lcUserApp == Upper(Alltrim(gcUserNameApp)) + + gcHost = lcHostBD + gcUserName = lcUserBD + + Exit + Endif + Endfor + Endif + Endif + + + Private pcexec,pnsucces + lcLog = 'Incercare de conectare: ' + lcUserNameApp + goLog.Log(lcLog,Program()) + If This.nhandle>0 + lcLog = "Sunteti deja conectat " + lcUserNameApp + goLog.Log(lcLog,Program()) + aMessagebox("Sunteti deja conectat!",0+48,"Atentie") + Return + Endif + + This.MousePointer= 11 + + + This.nhandle = goConn.Connect(lcHost, lcUserName, lcPassword) + + If This.nhandle <= 0 + Thisform.cmd_login1.SetFocus() + Return + Endif + + gcIdUtil = 0 + llSucces = .F. + + If glParametri + This.MousePointer= 11 + gcUserNameApp=verifica_id_util(gnIdUtil) + This.MousePointer=0 + If !Empty(gcUserNameApp) + llSucces=.T. + Endif + Else + This.MousePointer= 11 + lnIdutil=verifica_utilizator(lcUserNameApp,lcPasswordApp) + This.MousePointer= 0 + If lnIdutil>-1 + gnIdUtil = lnIdutil + gcUserNameApp = Upper(Alltrim(lcUserNameApp)) + gcIdUtil = gnIdUtil + llSucces = .T. + Endif + Endif + + + + + If glParametri + llDrept = .T. + Else + gnIdProgram = GET_PROGRAMID(gcNumeProgram) + llDrept = acces_program_util(gnIdProgram,gnIdUtil) + Endif + gnId_prg_owner = gnIdProgram + + If !llSucces Or !llDrept + This.nhandle = -1 + gnHandle = This.nhandle + SQLDisconnect(0) + + lcLog = 'Autentificarea nu a reusit: ' + lcUserNameApp + Iif(!llDrept,' Nu are drepturi pe acest program','') + goLog.Log(lcLog,Program()) + + Messagebox("Autentificarea nu a reusit!" + Chr(13) + Chr(10)+ "Utilizator sau parola incorecte." + Iif(!llDrept,Chr(13) + 'Nu are drepturi pe acest program',''),0+48,"Atentie") + Thisform._textbox1.SetFocus() + Return .F. + Endif + + lcLog = 'Connected: ' + Sys(0) + ' ' + lcUserNameApp + goLog.Log(lcLog,Program()) + Thisform.Visible=.F. + This.lb_titlu_alb_b121.Caption = "Conectat: "+Alltrim(Str(This.nhandle)) + + _Screen.Caption="Conectat: "+Sys(0) + This.MousePointer= 0 + Thisform.Release + Do Form fundal Name gofundal Linked + *!* IF TYPE('oprinc') = 'O' + *!* IF PEMSTATUS(oprinc, "pagefr1", 5) + *!* oprinc.pagefr1.p1.click() + *!* ENDIF + *!* ENDIF + + ENDPROC + + PROCEDURE do_logoff + LOCAL lcLog + *lcLog = 'Attempting to logoff: ' + gcUserNameApp + lcLog = 'Incercare de deconectare: ' + gcUserNameApp + goLog.Log(lcLog,PROGRAM()) + + Local lnSucces + If This.nHandle>0 + lnSucces = SQLDISCONNECT(This.nHandle) + If lnSucces = 1 + This.nHandle = -1 + *this.lb_titlu_alb_b121.ForeColor= RGB(128,0,0) + This.lb_titlu_alb_b121.Caption = "Deconectat" + aMessagebox("Ati fost deconectat!",0+64,"Info") + _screen.caption="Deconectat: "+SYS(0) + + lcLog = 'Deconectat' + thisform._textbox2.Value="" + thisform._textbox1.SetFocus() + ELSE + AERROR(laEroare) + IF TYPE('laEroare')!='U' + lcLog = 'Eroare la deconectare: ' + gcUserNameApp + CHR(13) + CHR(10) + laEroare[3] + RELEASE laEroare + ELSE + lcLog = 'Eroare la deconectare: ' + gcUserNameApp + ENDIF + + aMessagebox("Eroare la deconectare!",0+16,"Eroare") + ENDIF + goLog.Log(lcLog,PROGRAM()) + Endif + + GNHANDLE = This.nHandle + + + Return Iif(This.nHandle<0,.T.,.F.) + + ENDPROC + + PROCEDURE do_modifica + thisform._checkbox1.Visible=!thisform._checkbox1.Visible + ENDPROC + + PROCEDURE Init + DoDefault() + LOCAL lcHost + + This.nhandle = gnHandle + If This.nhandle <= 0 + *this.lb_titlu_alb_b121.ForeColor= RGB(128,0,0) + This.lb_titlu_alb_b121.Caption = "Neconectat" + Else + *this.lb_titlu_alb_b121.ForeColor= RGB(0,128,128) + This.lb_titlu_alb_b121.Caption = "Conectat: "+Alltrim(Str(This.nhandle)) + Endif + + lnHosts = This.populate_host() + If lnHosts > 0 + Thisform.cb_server._CBBASE1.RowSourceType = 2 + Thisform.cb_server._CBBASE1.RowSource = 'crsHost.Host' + Select crsHost + Go Top + lcHost = Host + Thisform.cb_server._CBBASE1.Requery() + Thisform.cb_server._CBBASE1.Value=lcHost + Else + Quit + ENDIF + + && daca am pornit programul prin parametri nu arat forma + If glParametri + This.Visible = .F. + This.do_login() + Endif + ENDPROC + + PROCEDURE KeyPress + Lparameters nKeyCode, nShiftAltCtrl + Do Case + Case nKeyCode=27 And nShiftAltCtrl=0 + Nodefault + If aMessagebox("Sunteti sigur ca doriti sa inchideti fereastra?",4+32+256,"Confirmare")==6 + This.do_renunt() + ENDIF + Case nKeyCode=6 And nShiftAltCtrl=2 + NODEFAULT + This.do_termin() + Endcase + + ENDPROC + + PROCEDURE populate_host + Local lnValid + lnValid = Iif(Type('goRoa')='O',goRoa.GetcrsSecurity(),GetcrsSecurity(gcSecurityFile)) && modificare 03.10.2012 + Dimension laDrivere[30] + Thisform.odbcreg1.getodbcdrvrs(@laDrivere,.T.) + Select crshost + Scan + lcHost=Alltrim(Upper(Host)) + If Ascan(laDrivere,lcHost,1)=0 + Delete Next 1 + Endif + Endscan + Return lnValid + ENDPROC + +ENDDEFINE + +DEFINE CLASS frm_mesaj AS _frmbase OF "_frm_base.vcx" + *< CLASSDATA: Baseclass="form" Timestamp="" Scale="Pixels" Uniqueid="" /> + + *-- OBJECTDATA items order determines ZOrder / El orden de los items OBJECTDATA determina el ZOrder + *< OBJECTDATA: ObjPath="lbl_mesaj1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="Nu1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="Da1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="imagine1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="lbl_mesaj2" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="txt_numar" UniqueID="" Timestamp="" /> + + * + *p: nnr + * + + * + BorderStyle = 1 + Desktop = .T. + DoCreate = .T. + Height = 192 + Name = "frm_mesaj" + nnr = 0 + Width = 400 + _shape1.Height = 29 + _shape1.Left = 0 + _shape1.Name = "_shape1" + _shape1.Top = 0 + _shape1.Width = 402 + _shape1.ZOrderSet = 3 + _SHAPE2.Height = 29 + _SHAPE2.Left = 367 + _SHAPE2.Name = "_SHAPE2" + _SHAPE2.Top = 0 + _SHAPE2.Width = 34 + _SHAPE2.ZOrderSet = 6 + LB_TITLU_ALB_B121.Caption = "Titlu" + LB_TITLU_ALB_B121.FontBold = .T. + LB_TITLU_ALB_B121.Name = "LB_TITLU_ALB_B121" + LB_TITLU_ALB_B121.TabIndex = 5 + LB_TITLU_ALB_B121.ZOrderSet = 7 + BUT_TERMIN1.Left = 368 + BUT_TERMIN1.Name = "BUT_TERMIN1" + BUT_TERMIN1.TabIndex = 1 + BUT_TERMIN1.Top = 1 + BUT_TERMIN1.ZOrderSet = 9 + Gridsort1.Name = "Gridsort1" + * + + ADD OBJECT 'Da1' AS but_da WITH ; + Height = 30, ; + Left = 151, ; + Name = "Da1", ; + TabIndex = 2, ; + Top = 156, ; + Width = 55, ; + ZOrderSet = 2 + *< END OBJECT: ClassLib="cmd_butoane.vcx" BaseClass="commandbutton" /> + + ADD OBJECT 'imagine1' AS image WITH ; + BackStyle = 0, ; + Height = 33, ; + Left = 12, ; + Name = "imagine1", ; + Picture = ..\..\, ; + Top = 48, ; + Width = 32, ; + ZOrderSet = 4 + *< END OBJECT: BaseClass="image" /> + + ADD OBJECT 'lbl_mesaj1' AS _lbbase WITH ; + Alignment = 2, ; + AutoSize = .F., ; + Caption = "mesaj1", ; + FontSize = 10, ; + Height = 102, ; + Left = 51, ; + Name = "lbl_mesaj1", ; + Style = 0, ; + TabIndex = 4, ; + Top = 42, ; + Width = 339, ; + WordWrap = .T., ; + ZOrderSet = 0 + *< END OBJECT: ClassLib="_lb_base.vcx" BaseClass="label" /> + + ADD OBJECT 'lbl_mesaj2' AS _lbbase WITH ; + Alignment = 2, ; + Caption = "mesaj2", ; + FontSize = 10, ; + Height = 18, ; + Left = 178, ; + Name = "lbl_mesaj2", ; + TabIndex = 6, ; + Top = 65, ; + Width = 44, ; + ZOrderSet = 5 + *< END OBJECT: ClassLib="_lb_base.vcx" BaseClass="label" /> + + ADD OBJECT 'Nu1' AS but_nu WITH ; + Height = 30, ; + Left = 207, ; + Name = "Nu1", ; + TabIndex = 3, ; + Top = 156, ; + Width = 55, ; + ZOrderSet = 1 + *< END OBJECT: ClassLib="cmd_butoane.vcx" BaseClass="commandbutton" /> + + ADD OBJECT 'txt_numar' AS _textbox WITH ; + BackStyle = 0, ; + BorderStyle = 0, ; + ControlSource = "thisform.nnr", ; + FontBold = .T., ; + InputMask = (get_mask(12,gnPa)), ; + Left = 261, ; + Name = "txt_numar", ; + Top = 66 + *< END OBJECT: ClassLib="_baza.vcx" BaseClass="textbox" /> + + PROCEDURE actualizeaza_drepturi + *!* + ENDPROC + + PROCEDURE Init + Lparameters tctitlu,tcimagine,tctip,tcmesaj1,tmesaj2 + + DoDefault() + + With This + .lb_titlu_alb_b121.Caption = tctitlu + .imagine1.Picture = Iif(Empty(tcimagine),[info_c.ico],tcimagine) + .lbl_mesaj1.Caption = Iif(Empty(tcmesaj1),[],tcmesaj1) + If Type('tmesaj2') = 'N' + .lbl_mesaj2.Visible = .F. + .nnr = tmesaj2 + lnCul = Iif(.nnr<0,Rgb(255,0,0),Iif(.nnr>0,Rgb(0,0,255),Rgb(0,255,0))) + .txt_numar.ForeColor = lnCul + .txt_numar.Left = 151 + Else + .lbl_mesaj2.Caption = Iif(Empty(tmesaj2),[],tmesaj2) + .txt_numar.Visible = .F. + Endif + + Do Case + Case Upper(Alltrim(tctip)) = [AVERTIZARE] Or Upper(Alltrim(tctip)) = [INFORMARE] Or Empty(tctip) + .da1.Visible = .F. + .nu1.Visible = .F. + ._shape2.Visible = .T. + .but_termin1.Visible = .T. + Case Upper(Alltrim(tctip)) = [INTREBARE] + .da1.Visible = .T. + .nu1.Visible = .T. + ._shape2.Visible = .F. + .but_termin1.Visible = .F. + Endcase + Endwith + ENDPROC + + PROCEDURE KeyPress + Lparameters nKeyCode, nShiftAltCtrl + Do Case + Case nKeyCode=27 And nShiftAltCtrl=0 + Nodefault + This.do_renunt() + Case nKeyCode=6 And nShiftAltCtrl=2 + NODEFAULT + This.do_termin() + Endcase + + ENDPROC + + PROCEDURE Show + LPARAMETERS nStyle + IF !FILE(THIS.Imagine1.PICTURE) + THIS.IMagine1.Visible=.F. + ENDIF + ENDPROC + +ENDDEFINE + +DEFINE CLASS frm_start_firma_nou AS _frmbase OF "_frm_base.vcx" + *< CLASSDATA: Baseclass="form" Timestamp="" Scale="Pixels" Uniqueid="" /> + + *-- OBJECTDATA items order determines ZOrder / El orden de los items OBJECTDATA determina el ZOrder + *< OBJECTDATA: ObjPath="Image1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="But_renunt1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="CbFima" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="CbLuna" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="CbAn" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="Lb_firma" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="Lb_luna" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="Lb_an" UniqueID="" Timestamp="" /> + + * + *m: caut_luna_an + *m: filtrez_luni + *p: can + *p: cfirma + *p: cluna + *p: nnrluna + * + + * + BorderStyle = 0 + can = + cfirma = + cluna = + DoCreate = .T. + Height = 144 + Name = "frm_start_firma_nou" + nnrluna = 0 + Width = 404 + _shape1.Height = 29 + _shape1.Left = 0 + _shape1.Name = "_shape1" + _shape1.Top = 0 + _shape1.Width = 435 + _shape1.ZOrderSet = 1 + _shape2.Height = 29 + _shape2.Left = 370 + _shape2.Name = "_shape2" + _shape2.Top = 0 + _shape2.Width = 63 + _shape2.ZOrderSet = 2 + Lb_titlu_alb_b121.Caption = "ALEGEÞI FIRMA / ANUL / LUNA" + Lb_titlu_alb_b121.FontName = "Segoe UI" + Lb_titlu_alb_b121.FontSize = 12 + Lb_titlu_alb_b121.Left = 5 + Lb_titlu_alb_b121.Name = "Lb_titlu_alb_b121" + Lb_titlu_alb_b121.TabIndex = 6 + Lb_titlu_alb_b121.Top = 4 + Lb_titlu_alb_b121.ZOrderSet = 3 + BUT_TERMIN1.Left = 375 + BUT_TERMIN1.Name = "BUT_TERMIN1" + BUT_TERMIN1.TabIndex = 4 + BUT_TERMIN1.Top = 1 + BUT_TERMIN1.ZOrderSet = 4 + Gridsort1.Name = "Gridsort1" + * + + ADD OBJECT 'But_renunt1' AS but_renunt WITH ; + Left = 345, ; + Name = "But_renunt1", ; + TabIndex = 5, ; + Top = 1, ; + ZOrderSet = 5 + *< END OBJECT: ClassLib="cmd_butoane.vcx" BaseClass="commandbutton" /> + + ADD OBJECT 'CbAn' AS _combobox WITH ; + ControlSource = "thisform.can", ; + Height = 24, ; + Left = 108, ; + Name = "CbAn", ; + ReadOnly = .F., ; + SpecialEffect = 1, ; + Style = 2, ; + TabIndex = 2, ; + Top = 75, ; + Width = 96, ; + ZOrderSet = 8 + *< END OBJECT: ClassLib="_baza.vcx" BaseClass="combobox" /> + + ADD OBJECT 'CbFima' AS _combobox WITH ; + ColumnCount = 1, ; + ControlSource = "thisform.cfirma", ; + Height = 24, ; + HideSelection = .F., ; + Left = 107, ; + Name = "CbFima", ; + RowSource = "v_firme.firma", ; + RowSourceType = 2, ; + SpecialEffect = 1, ; + Style = 2, ; + TabIndex = 1, ; + Top = 40, ; + Width = 281, ; + ZOrderSet = 6 + *< END OBJECT: ClassLib="_baza.vcx" BaseClass="combobox" /> + + ADD OBJECT 'CbLuna' AS _combobox WITH ; + ControlSource = "thisform.cluna", ; + Height = 24, ; + Left = 109, ; + Name = "CbLuna", ; + ReadOnly = .F., ; + RowSource = "v_lunilean.numeluna", ; + RowSourceType = 2, ; + SpecialEffect = 1, ; + Style = 2, ; + TabIndex = 3, ; + Top = 112, ; + Width = 96, ; + ZOrderSet = 7 + *< END OBJECT: ClassLib="_baza.vcx" BaseClass="combobox" /> + + ADD OBJECT 'Image1' AS image WITH ; + Height = 150, ; + Left = 0, ; + Name = "Image1", ; + Picture = ..\grafice\start.bmp, ; + Stretch = 2, ; + Top = 34, ; + Width = 402, ; + ZOrderSet = 0 + *< END OBJECT: BaseClass="image" /> + + ADD OBJECT 'Lb_an' AS lb_simplu WITH ; + Caption = "Anul:", ; + FontBold = .T., ; + FontSize = 12, ; + Left = 46, ; + Name = "Lb_an", ; + TabIndex = 9, ; + Top = 75, ; + ZOrderSet = 11 + *< END OBJECT: ClassLib="lb.vcx" BaseClass="label" /> + + ADD OBJECT 'Lb_firma' AS lb_simplu WITH ; + Caption = "Firma:", ; + FontBold = .T., ; + FontSize = 12, ; + Left = 45, ; + Name = "Lb_firma", ; + TabIndex = 7, ; + Top = 40, ; + ZOrderSet = 9 + *< END OBJECT: ClassLib="lb.vcx" BaseClass="label" /> + + ADD OBJECT 'Lb_luna' AS lb_simplu WITH ; + Caption = "Luna:", ; + FontBold = .T., ; + FontSize = 12, ; + Left = 47, ; + Name = "Lb_luna", ; + TabIndex = 8, ; + Top = 113, ; + Width = 43, ; + ZOrderSet = 10 + *< END OBJECT: ClassLib="lb.vcx" BaseClass="label" /> + + PROCEDURE actualizeaza_drepturi + *!* + ENDPROC + + PROCEDURE caut_luna_an + LOCAL lcSchema, lnIdFirma, lnSchema_noua + + + + THISFORM.cfirma = THIS.cbFima.DISPLAYVALUE + + SELECT v_firme + LOCATE FOR ALLTRIM(firma) = ALLTRIM(THISFORM.cfirma) + *--- + lcschemaParola=ALLTRIM(v_firme.parola) + *--- + lcSchema = ALLTRIM(SCHEMA) + lnschema_noua = schema_noua + lnIdFirma = v_firme.id_firma + *!* modificare 17.12.2008 + gnIdFirma = lnIdFirma + *!* modificare 17.12.2008 ^ + IF !FOUND() + RETURN + ENDIF + IF USED("v_ancalendar") + USE IN v_anCalendar + ENDIF + + + *--- + *DO schimba_firma WITH gnHandle,lcSchema,lcschemaParola,lnschema_noua + lnsucces = schimba_firma(gnHandle,lcSchema,lnIdFirma,lcschemaParola,lnschema_noua) + IF lnsucces<0 + aMESSAGEBOX(goExecutor.cEroare, 0+16, 'Eroare') + RETURN + ENDIF + *--- + + LOCAL lcNumeCal + STORE '' TO lcNumeCal + lcSelect = [select varvalue, col_an, col_luna, tip_col_an, tip_col_luna from syn_optiuni_programe WHERE id_prg_owner = ]+ALLTRIM(STR(gnIdProgram)) +[ and UPPER(varname) = 'CALENDAR'] + lcCursor = [crsNumeCal] + lnsucces = goExecutor.oExecute(lcSelect,lcCursor) + IF lnsucces < 0 + aMESSAGEBOX('Eroare la selectie ' + goExecutor.cEroare,0+16,"Eroare") + RETURN + ENDIF + + SELECT crsNumeCal + IF RECCOUNT() = 0 + lcNumeCal = 'CALENDAR' + lcCol_an = 'an' + lcCol_luna = 'luna' + lcSel_Col_an = 'an' + lcSel_Col_luna = ' to_char(' + lcCol_luna + ') ' + ELSE + lcNumeCal = ALLTRIM(crsNumeCal.varvalue) + lcCol_an = ALLTRIM(col_an) && an + lcCol_luna = ALLTRIM(col_luna) && luna + lctip_col_an = UPPER(ALLTRIM(tip_col_an)) && roaCont = C, roaSal = N + lctip_col_luna = UPPER(ALLTRIM(tip_col_luna)) + + DO case + CASE lctip_col_an = 'N' + lcSel_Col_an = ' to_char(' + lcCol_an + ') ' + CASE lctip_col_an = 'C' + lcSel_Col_an = lcCol_an + ENDCASE + + DO CASE + CASE lctip_col_luna = 'N' + lcSel_Col_luna = ' to_char(' + lcCol_luna + ') ' + CASE lctip_col_luna = 'C' + lcSel_Col_luna = lcCol_luna + ENDCASE + ENDIF + + * IF UPPER(lctip_col_an) = 'N' + + lcSelect = [select ] + lcSel_Col_an + [ as an, ] + lcSel_Col_luna + [ as nl ] + ; + [ from ] + lcSchema + [.] + lcNumeCal + [ order by ] + lcCol_an + [ * 12 + ] + lcCol_luna + + * lcSelect = [select * from ] + lcSchema + [.] + lcNumeCal + [ order by an * 12 + nl] + + *lcSelect = [select * from ] + lcSchema + [.Calendar order by an * 12 + nl] + lcCursor = [v_ancalendar] + lnsucces = goExecutor.oExecute(lcSelect,lcCursor) + IF lnsucces < 0 + aMESSAGEBOX(goExecutor.cEroare, 0+16, 'Eroare') + RETURN + ENDIF + THISFORM.cban.ROWSOURCE = '' + IF USED("crs_ani") + USE IN crs_ani + ENDIF + + SELECT DISTINCT an FROM v_anCalendar ORDER BY an INTO CURSOR crs_ani + + SELECT v_anCalendar + GO BOTTOM + IF gcS <> lcSchema + gnLuna = 0 + gnAn = 0 + ENDIF + IF gnLuna*gnAn <> 0 + *!* SELECT v_lunilean + *!* LOCATE FOR nrluna = gnLuna + SELECT crs_ani + LOCATE FOR VAL(an) = gnAn + + + ELSE + *!* *!* SELECT v_lunilean + *!* *!* LOCATE FOR nrluna = VAL(v_ancalendar.nl) + SELECT crs_ani + GO BOTTOM + ENDIF + + *!* thisform.cbLuna.DisplayValue = v_lunilean.numeluna + *!* thisform.nnrluna = v_lunilean.nrLuna + SELECT crs_ani + + THISFORM.cban.ROWSOURCE = 'crs_ani.an' + THISFORM.cban.ROWSOURCETYPE = 2 + THISFORM.cban.DISPLAYVALUE = crs_ani.an + + THIS.cban.REFRESH + *!* this.cbluna.Refresh + *thisform.Refresh + + THISFORM.filtrez_luni + + ENDPROC + + PROCEDURE do_termin + IF this.inainte_de_do_termin() + gnButon = 1 + pnButon = 1 + Buton = 1 + pnIesire = 1 + this.hide + + ENDIF + + + ENDPROC + + PROCEDURE filtrez_luni + *!* thisform.cAn = thisform.cbAn.DisplayValue + SELECT v_ancalendar + SELECT c.nl,c.an,l.numeluna,l.nrluna ; + FROM v_ancalendar c; + JOIN v_lunilean l ON VAL(c.nl) = l.nrLuna AND VAL(c.an) = VAL(thisform.cAn) INTO CURSOR v_luni; + ORDER BY l.nrluna + thisform.cbLuna.RowSource = "v_luni.numeluna" + IF gnLuna # 0 AND gnAn = VAL(thisform.cAn) AND ALLTRIM(gcs) = ALLTRIM(this.cbfima.DisplayValue) + SELECT v_luni + LOCATE FOR nrLuna = gnLuna + ELSE + SELECT v_luni + GO BOTTOM + ENDIF + SELECT v_luni + thisform.cLuna = v_luni.numeluna + thisform.cbLuna.DisplayValue = v_luni.numeluna + thisform.nnrluna = v_luni.nrLuna + thisform.cbluna.Refresh + + ENDPROC + + PROCEDURE inainte_de_do_termin + If Empty(This.cfirma) + aMESSAGEBOX("Alegeti firma si dupa aceea apasati butonul Terminat",0,"Alegeti firma") + Return .F. + *!* comentat 25.02.2014 / liana neagu /sectiune mutata in oinit_optiuni.prg + *!* Else + *!* Public gcNumeUtilEnt + *!* gcNumeUtilEnt = [] + *!* lcSql = [begin pack_def.citesteNumeEnt(?gnIdUtil,?@gcNumeUtilEnt); end;] + *!* If !goExecutor.oExecuta(lcSql) + *!* gcNumeUtilEnt = gcUserNameApp + *!* Endif + *!* comentat 25.02.2014 ^ + Endif + Return .T. + ENDPROC + + PROCEDURE But_renunt1.Click + IF thisform.inainte_de_do_renunt() + gnButon = 2 + pnButon = 2 + Buton = 2 + pnIesire = 2 + + + Quit + If buton = 1 + thisform.Release + EndIf + ENDIF + + ENDPROC + + PROCEDURE CbAn.InteractiveChange + thisform.cAn = thisform.cbAn.DisplayValue + thisform.filtrez_luni + ENDPROC + + PROCEDURE CbFima.GotFocus + thisform.caut_luna_an + ENDPROC + + PROCEDURE CbFima.InteractiveChange + thisform.caut_luna_an + ENDPROC + + PROCEDURE CbFima.LostFocus + *thisform.caut_luna_an + ENDPROC + + PROCEDURE CbLuna.InteractiveChange + SELECT v_luni + LOCATE FOR ALLTRIM(numeluna) = ALLTRIM(this.DisplayValue) + IF FOUND() + thisform.nnrluna = v_luni.nrLuna + ENDIF + ENDPROC + + PROCEDURE CbLuna.LostFocus + SELECT v_luni + LOCATE FOR ALLTRIM(numeluna) = ALLTRIM(this.DisplayValue) + IF FOUND() + thisform.nnrluna = v_luni.nrLuna + ENDIF + ENDPROC + +ENDDEFINE diff --git a/clase/ferestre_seturi_indicatori.vc2 b/clase/ferestre_seturi_indicatori.vc2 new file mode 100644 index 0000000..b956d07 --- /dev/null +++ b/clase/ferestre_seturi_indicatori.vc2 @@ -0,0 +1,8128 @@ +*-------------------------------------------------------------------------------------------------------------------------------------------------------- +* (EN) AUTOGENERATED - ATTENTION!! - NOT INTENDED FOR EXECUTION!! USE ONLY FOR MERGING CHANGES AND STORING WITH SCM TOOLS!! +*-------------------------------------------------------------------------------------------------------------------------------------------------------- +*< FOXBIN2PRG: Version="1.21" SourceFile="ferestre_seturi_indicatori.vcx" CPID="1252" /> (Solo para binarios VFP 9 / Only for VFP 9 binaries) +* +* +DEFINE CLASS container_data AS container + *< CLASSDATA: Baseclass="container" Timestamp="" Scale="Pixels" Uniqueid="" /> + + *-- OBJECTDATA items order determines ZOrder / El orden de los items OBJECTDATA determina el ZOrder + *< OBJECTDATA: ObjPath="cboLuna" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="cboAnul" UniqueID="" Timestamp="" /> + + * + BackColor = 255,255,255 + Height = 32 + Name = "container_data" + Width = 147 + * + + ADD OBJECT 'cboAnul' AS combobox WITH ; + BoundTo = .T., ; + FontSize = 10, ; + Height = 24, ; + Left = 92, ; + Name = "cboAnul", ; + RowSource = "1990,1991,1992,1993,1994,1995,1996,1997,1998,1999,2000,2001,2002,2003,2004,2005,2006,2007,2008,2009,2010", ; + RowSourceType = 1, ; + Style = 2, ; + Top = 4, ; + Width = 52 + *< END OBJECT: BaseClass="combobox" /> + + ADD OBJECT 'cboLuna' AS combobox WITH ; + BoundColumn = 2, ; + BoundTo = .T., ; + ColumnCount = 2, ; + ColumnLines = .F., ; + ColumnWidths = "60,0", ; + FontSize = 10, ; + Height = 24, ; + Left = 4, ; + Name = "cboLuna", ; + RowSource = "Ianuarie,01,Februarie,02,Martie,03,Aprilie,04,Mai,05,Iunie,06,Iulie,07,August,08,Septembrie,09,Octombrie,10,Noiembrie,11,Decembrie,12 ", ; + RowSourceType = 1, ; + Style = 2, ; + Top = 4, ; + Width = 87 + *< END OBJECT: BaseClass="combobox" /> + +ENDDEFINE + +DEFINE CLASS container_text_cmd AS container + *< CLASSDATA: Baseclass="container" Timestamp="" Scale="Pixels" Uniqueid="" /> + + *-- OBJECTDATA items order determines ZOrder / El orden de los items OBJECTDATA determina el ZOrder + *< OBJECTDATA: ObjPath="edt" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="cmd" UniqueID="" Timestamp="" /> + + * + BackStyle = 0 + BorderColor = 192,192,192 + Height = 21 + Name = "container_text_cmd" + Width = 303 + * + + ADD OBJECT 'cmd' AS commandbutton WITH ; + Caption = "", ; + Height = 21, ; + Left = 277, ; + Name = "cmd", ; + Picture = ..\grafice\wzedit.bmp, ; + Top = 0, ; + Width = 24 + *< END OBJECT: BaseClass="commandbutton" /> + + ADD OBJECT 'edt' AS editbox WITH ; + ControlSource = "", ; + FontName = "Arial", ; + Height = 21, ; + Left = -1, ; + Name = "edt", ; + ReadOnly = .T., ; + Top = -1, ; + Width = 274 + *< END OBJECT: BaseClass="editbox" /> + + PROCEDURE cmd.Click + LOCAL lcLista, lcLabel + + * lcLista = thisform.container_bal.edtSD.Value + lcLista = this.Parent.edt.Value + + lcFis = gcTempPath+"tLista.dbf" + CREATE TABLE (lcFis) (valoare C(11)) + + DO completeaza_lista_bal WITH lcLista, lcFis IN oproceduri_seturi_indicatori.prg + + SELECT tLista + GO TOP + + lcControlSource = ALLTRIM(this.Parent.edt.ControlSource) + locb = CREATEOBJECT("frm_ind_bal",lcControlSource) + DO CASE + CASE RIGHT(ALLTRIM(lcControlSource),3) = "PD1" + locb.lb_titlu_alb_b121.caption = "PRECEDENT DEBITOR LA 1 IAN." + CASE RIGHT(ALLTRIM(lcControlSource),3) = "PC1" + locb.lb_titlu_alb_b121.caption = "PRECEDENT CREDITOR LA 1 IAN." + CASE RIGHT(ALLTRIM(lcControlSource),2) = "PD" + locb.lb_titlu_alb_b121.caption = "PRECEDENT DEBITOR" + CASE RIGHT(ALLTRIM(lcControlSource),2) = "PC" + locb.lb_titlu_alb_b121.caption = "PRECEDENT CREDITOR" + CASE RIGHT(ALLTRIM(lcControlSource),2) = "RD" + locb.lb_titlu_alb_b121.caption = "RULAJ DEBITOR" + CASE RIGHT(ALLTRIM(lcControlSource),2) = "RC" + locb.lb_titlu_alb_b121.caption = "RULAJ CREDITOR" + CASE RIGHT(ALLTRIM(lcControlSource),2) = "TD" + locb.lb_titlu_alb_b121.caption = "TOTAL DEBITOR" + CASE RIGHT(ALLTRIM(lcControlSource),2) = "TC" + locb.lb_titlu_alb_b121.caption = "TOTAL CREDITOR" + CASE RIGHT(ALLTRIM(lcControlSource),2) = "SD" + locb.lb_titlu_alb_b121.caption = "SOLD DEBITOR" + CASE RIGHT(ALLTRIM(lcControlSource),2) = "SC" + locb.lb_titlu_alb_b121.caption = "SOLD CREDITOR" + ENDCASE + locb.show(1) + + USE IN (SELECT("tLista")) && modificare v 2.3.8 : era dupa if si imi ramanea deschisa tabela + IF buton = 2 + RETURN + ENDIF + + thisform.send_formula + + THIS.Parent.edt.Refresh + + ENDPROC + +ENDDEFINE + +DEFINE CLASS frm_comentariu AS _frmbase OF "_frm_base.vcx" + *< CLASSDATA: Baseclass="form" Timestamp="" Scale="Pixels" Uniqueid="" /> + + *-- OBJECTDATA items order determines ZOrder / El orden de los items OBJECTDATA determina el ZOrder + *< OBJECTDATA: ObjPath="Edit1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="Image1" UniqueID="" Timestamp="" /> + + * + BorderStyle = 3 + DoCreate = .T. + Height = 244 + Name = "frm_comentariu" + Width = 424 + _shape1.Anchor = 11 + _shape1.Height = 29 + _shape1.Left = 0 + _shape1.Name = "_shape1" + _shape1.Top = 0 + _shape1.Width = 423 + _shape2.Anchor = 9 + _shape2.Height = 29 + _shape2.Left = 392 + _shape2.Name = "_shape2" + _shape2.Top = 0 + _shape2.Width = 32 + Lb_titlu_alb_b121.Left = 36 + Lb_titlu_alb_b121.Name = "Lb_titlu_alb_b121" + Lb_titlu_alb_b121.Top = 6 + BUT_TERMIN1.Anchor = 9 + BUT_TERMIN1.Left = 394 + BUT_TERMIN1.Name = "BUT_TERMIN1" + BUT_TERMIN1.Top = 1 + Gridsort1.Name = "Gridsort1" + * + + ADD OBJECT 'Edit1' AS editbox WITH ; + Anchor = 15, ; + ControlSource = "poIndComent.comentariu", ; + Height = 198, ; + Left = 10, ; + Name = "Edit1", ; + Top = 36, ; + Width = 403 + *< END OBJECT: BaseClass="editbox" /> + + ADD OBJECT 'Image1' AS image WITH ; + BackStyle = 0, ; + Height = 26, ; + Left = 4, ; + Name = "Image1", ; + Picture = ..\..\grafice\help_w_mare.bmp, ; + Top = 3, ; + Width = 24 + *< END OBJECT: BaseClass="image" /> + +ENDDEFINE + +DEFINE CLASS frm_ind_bal AS _frmbase OF "_frm_base.vcx" + *< CLASSDATA: Baseclass="form" Timestamp="" Scale="Pixels" Uniqueid="" /> + + *-- OBJECTDATA items order determines ZOrder / El orden de los items OBJECTDATA determina el ZOrder + *< OBJECTDATA: ObjPath="Shape1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="grid_plcont" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="grid_plcont.cCont.Header1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="grid_plcont.cCont.Text1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="grid_plcont.cAcont.Header1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="grid_plcont.cAcont.Text1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="grid_plcont.cDenumire.Header1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="grid_plcont.cDenumire.Text1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="txtCont" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="Command1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="But_renunt1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="Command2" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="Optiongroup1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="optTip" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="Label1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="Label2" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="grid_conturi" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="grid_conturi.cValoare.Header1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="grid_conturi.cValoare.Text1" UniqueID="" Timestamp="" /> + + * + *m: adauga_cont + *m: insert + *m: recompune + *m: remove_cont + *p: ccontrolsource + *p: ccuvant + *p: cgrup + *p: csemn + *p: nelemente + * + + * + BorderStyle = 1 + ccontrolsource = + ccuvant = + cgrup = C + csemn = + + DoCreate = .T. + Height = 415 + Name = "frm_ind_bal" + nelemente = 0 + Width = 611 + _shape1.Anchor = 11 + _shape1.Height = 29 + _shape1.Left = -1 + _shape1.Name = "_shape1" + _shape1.Top = 0 + _shape1.Width = 612 + _shape1.ZOrderSet = 1 + _shape2.Anchor = 9 + _shape2.Height = 29 + _shape2.Left = 552 + _shape2.Name = "_shape2" + _shape2.Top = -1 + _shape2.Width = 62 + _shape2.ZOrderSet = 2 + Lb_titlu_alb_b121.Name = "Lb_titlu_alb_b121" + Lb_titlu_alb_b121.TabIndex = 3 + Lb_titlu_alb_b121.ZOrderSet = 3 + BUT_TERMIN1.Anchor = 9 + BUT_TERMIN1.Left = 581 + BUT_TERMIN1.Name = "BUT_TERMIN1" + BUT_TERMIN1.TabIndex = 4 + BUT_TERMIN1.Top = 0 + BUT_TERMIN1.ZOrderSet = 4 + Gridsort1.Left = 132 + Gridsort1.Name = "Gridsort1" + Gridsort1.Top = 36 + * + + ADD OBJECT 'But_renunt1' AS but_renunt WITH ; + Anchor = 9, ; + Left = 551, ; + Name = "But_renunt1", ; + TabIndex = 6, ; + Top = 0, ; + ZOrderSet = 9 + *< END OBJECT: ClassLib="cmd_butoane.vcx" BaseClass="commandbutton" /> + + ADD OBJECT 'Command1' AS commandbutton WITH ; + AutoSize = .F., ; + Caption = "+", ; + FontBold = .T., ; + FontSize = 10, ; + Height = 25, ; + Left = 114, ; + Name = "Command1", ; + TabIndex = 5, ; + ToolTipText = "Adauga rand", ; + Top = 69, ; + Width = 25, ; + ZOrderSet = 8 + *< END OBJECT: BaseClass="commandbutton" /> + + ADD OBJECT 'Command2' AS commandbutton WITH ; + AutoSize = .F., ; + Caption = "-", ; + FontBold = .T., ; + FontSize = 10, ; + Height = 25, ; + Left = 114, ; + Name = "Command2", ; + TabIndex = 7, ; + ToolTipText = "Sterge rand", ; + Top = 99, ; + Width = 25, ; + ZOrderSet = 10 + *< END OBJECT: BaseClass="commandbutton" /> + + ADD OBJECT 'grid_conturi' AS _grdrow WITH ; + Anchor = 7, ; + ColumnCount = 1, ; + DeleteMark = .F., ; + FontSize = 10, ; + HeaderHeight = 0, ; + Height = 333, ; + HighlightStyle = 2, ; + Left = 10, ; + Name = "grid_conturi", ; + Panel = 1, ; + RecordMark = .F., ; + RecordSource = "tLista", ; + RowHeight = 19, ; + TabIndex = 12, ; + Top = 71, ; + Width = 100, ; + Column1.ControlSource = "valoare", ; + Column1.FontName = "Arial", ; + Column1.FontSize = 10, ; + Column1.Name = "cValoare", ; + Column1.Width = 78 + *< END OBJECT: ClassLib="_grd_base.vcx" BaseClass="grid" /> + + ADD OBJECT 'grid_conturi.cValoare.Header1' AS header WITH ; + Caption = "Header1", ; + FontName = "Arial", ; + FontSize = 10, ; + Name = "Header1" + *< END OBJECT: BaseClass="header" /> + + ADD OBJECT 'grid_conturi.cValoare.Text1' AS textbox WITH ; + BackColor = 255,255,255, ; + BorderStyle = 0, ; + FontName = "Arial", ; + FontSize = 10, ; + ForeColor = 0,0,0, ; + Margin = 0, ; + Name = "Text1", ; + SelectedBackColor = 100,185,255 + *< END OBJECT: BaseClass="textbox" /> + + ADD OBJECT 'grid_plcont' AS grid WITH ; + Anchor = 15, ; + ColumnCount = 3, ; + DeleteMark = .F., ; + FontSize = 10, ; + Height = 254, ; + HighlightStyle = 2, ; + Left = 169, ; + Name = "grid_plcont", ; + Panel = 1, ; + ReadOnly = .T., ; + RecordMark = .F., ; + RecordSource = "crsPlcont", ; + RowHeight = 19, ; + TabIndex = 2, ; + Top = 149, ; + Width = 435, ; + ZOrderSet = 6, ; + Column1.ControlSource = "cont", ; + Column1.FontName = "Arial", ; + Column1.FontSize = 10, ; + Column1.Name = "cCont", ; + Column1.ReadOnly = .T., ; + Column1.Width = 60, ; + Column2.ControlSource = "acont", ; + Column2.FontName = "Arial", ; + Column2.FontSize = 10, ; + Column2.Name = "cAcont", ; + Column2.ReadOnly = .T., ; + Column2.Width = 56, ; + Column3.ControlSource = "explicatie", ; + Column3.FontName = "Arial", ; + Column3.FontSize = 10, ; + Column3.Name = "cDenumire", ; + Column3.ReadOnly = .T., ; + Column3.Width = 290 + *< END OBJECT: BaseClass="grid" /> + + ADD OBJECT 'grid_plcont.cAcont.Header1' AS header WITH ; + Alignment = 2, ; + Caption = "Analitic", ; + FontName = "Arial", ; + FontSize = 10, ; + Name = "Header1", ; + WordWrap = .F. + *< END OBJECT: BaseClass="header" /> + + ADD OBJECT 'grid_plcont.cAcont.Text1' AS textbox WITH ; + BackColor = 255,255,255, ; + BorderStyle = 0, ; + FontName = "Arial", ; + FontSize = 10, ; + ForeColor = 0,0,0, ; + Margin = 0, ; + Name = "Text1", ; + ReadOnly = .T. + *< END OBJECT: BaseClass="textbox" /> + + ADD OBJECT 'grid_plcont.cCont.Header1' AS header WITH ; + Alignment = 2, ; + Caption = "Cont", ; + FontName = "Arial", ; + FontSize = 10, ; + Name = "Header1" + *< END OBJECT: BaseClass="header" /> + + ADD OBJECT 'grid_plcont.cCont.Text1' AS textbox WITH ; + BackColor = 255,255,255, ; + BorderStyle = 0, ; + FontName = "Arial", ; + FontSize = 10, ; + ForeColor = 0,0,0, ; + Margin = 0, ; + Name = "Text1", ; + ReadOnly = .T. + *< END OBJECT: BaseClass="textbox" /> + + ADD OBJECT 'grid_plcont.cDenumire.Header1' AS header WITH ; + Alignment = 2, ; + Caption = "Denumire", ; + FontName = "Arial", ; + FontSize = 10, ; + Name = "Header1" + *< END OBJECT: BaseClass="header" /> + + ADD OBJECT 'grid_plcont.cDenumire.Text1' AS textbox WITH ; + BackColor = 255,255,255, ; + BorderStyle = 0, ; + FontName = "Arial", ; + FontSize = 10, ; + ForeColor = 0,0,0, ; + Margin = 0, ; + Name = "Text1", ; + ReadOnly = .T. + *< END OBJECT: BaseClass="textbox" /> + + ADD OBJECT 'Label1' AS label WITH ; + AutoSize = .F., ; + BackStyle = 0, ; + Caption = "Conturile din formula de calcul", ; + FontSize = 10, ; + Height = 34, ; + Left = 10, ; + Name = "Label1", ; + TabIndex = 9, ; + Top = 33, ; + Width = 100, ; + WordWrap = .T., ; + ZOrderSet = 13 + *< END OBJECT: BaseClass="label" /> + + ADD OBJECT 'Label2' AS label WITH ; + AutoSize = .T., ; + BackStyle = 0, ; + Caption = "Alegeti contul dorit si dati click in tabel pt adaugare in campul ales", ; + FontSize = 10, ; + Height = 18, ; + Left = 169, ; + Name = "Label2", ; + TabIndex = 10, ; + Top = 107, ; + Width = 386, ; + ZOrderSet = 13 + *< END OBJECT: BaseClass="label" /> + + ADD OBJECT 'Optiongroup1' AS optiongroup WITH ; + AutoSize = .T., ; + BackStyle = 0, ; + ButtonCount = 2, ; + Height = 47, ; + Left = 169, ; + Name = "Optiongroup1", ; + TabIndex = 8, ; + Top = 38, ; + Value = 1, ; + Width = 37, ; + ZOrderSet = 11, ; + Option1.AutoSize = .T., ; + Option1.BackStyle = 0, ; + Option1.Caption = "+", ; + Option1.FontSize = 10, ; + Option1.Height = 18, ; + Option1.Left = 5, ; + Option1.Name = "Option1", ; + Option1.Top = 5, ; + Option1.Value = 1, ; + Option1.Width = 27, ; + Option2.AutoSize = .T., ; + Option2.BackStyle = 0, ; + Option2.Caption = "-", ; + Option2.FontSize = 10, ; + Option2.Height = 18, ; + Option2.Left = 5, ; + Option2.Name = "Option2", ; + Option2.Top = 24, ; + Option2.Width = 23 + *< END OBJECT: BaseClass="optiongroup" /> + + ADD OBJECT 'optTip' AS optiongroup WITH ; + AutoSize = .T., ; + BackStyle = 0, ; + ButtonCount = 4, ; + Height = 70, ; + Left = 210, ; + Name = "optTip", ; + TabIndex = 11, ; + Top = 38, ; + Value = 1, ; + Width = 124, ; + ZOrderSet = 12, ; + Option1.AutoSize = .T., ; + Option1.BackStyle = 0, ; + Option1.Caption = "Contul (C)", ; + Option1.FontSize = 10, ; + Option1.Height = 18, ; + Option1.Left = 5, ; + Option1.Name = "Option1", ; + Option1.Top = 5, ; + Option1.Value = 1, ; + Option1.Width = 77, ; + Option2.AutoSize = .T., ; + Option2.BackStyle = 0, ; + Option2.Caption = "Grupa 3 cifra (T)", ; + Option2.FontSize = 10, ; + Option2.Height = 18, ; + Option2.Left = 5, ; + Option2.Name = "Option2", ; + Option2.Top = 19, ; + Option2.Width = 112, ; + Option3.AutoSize = .T., ; + Option3.BackStyle = 0, ; + Option3.Caption = "Grupa 2 cifre (D)", ; + Option3.FontSize = 10, ; + Option3.Height = 18, ; + Option3.Left = 5, ; + Option3.Name = "Option3", ; + Option3.Top = 33, ; + Option3.Width = 114, ; + Option4.AutoSize = .T., ; + Option4.BackStyle = 0, ; + Option4.Caption = "Grupa 1 cifre (I)", ; + Option4.FontSize = 10, ; + Option4.Height = 18, ; + Option4.Left = 5, ; + Option4.Name = "Option4", ; + Option4.Top = 47, ; + Option4.Width = 108 + *< END OBJECT: BaseClass="optiongroup" /> + + ADD OBJECT 'Shape1' AS shape WITH ; + Anchor = 15, ; + Height = 377, ; + Left = 162, ; + Name = "Shape1", ; + Top = 33, ; + Width = 445, ; + ZOrderSet = 0 + *< END OBJECT: BaseClass="shape" /> + + ADD OBJECT 'txtCont' AS _textbox WITH ; + Comment = "*:onResize=lt", ; + FontSize = 10, ; + Format = "K", ; + Height = 23, ; + Left = 169, ; + Name = "txtCont", ; + TabIndex = 1, ; + ToolTipText = "Cautare cont", ; + Top = 123, ; + Width = 68, ; + ZOrderSet = 7 + *< END OBJECT: ClassLib="_baza.vcx" BaseClass="textbox" /> + + PROCEDURE adauga_cont + Parameters tcCont, tcAcont, tcSemn, tcGrup + + Local lcTabel, lcCont, lcAcont, lcSemn, lcGrup + lcTabel = Thisform.grid_conturi.RecordSource + lcCont = Alltrim(tcCont) + lcAcont = Alltrim(tcAcont) + lcSemn = Alltrim(tcSemn) + lcGrup = Alltrim(Upper(tcGrup)) + Select (lcTabel) + If Empty(valoare) + Do Case + Case lcGrup = 'C' + lcValoare = lcSemn + lcGrup + lcCont + Iif(!Empty(lcAcont) And !Isnull(lcAcont),'.'+lcAcont,'') + Case lcGrup = 'T' + lcValoare = lcSemn + lcGrup + Left(lcCont,3) + Iif(!Empty(lcAcont) And !Isnull(lcAcont),'.'+lcAcont,'') + Case lcGrup = 'D' + lcValoare = lcSemn + lcGrup + Left(lcCont,2) + Iif(!Empty(lcAcont) And !Isnull(lcAcont),'.'+lcAcont,'') + Case lcGrup = 'I' + lcValoare = lcSemn + lcGrup + Left(lcCont,1) + Iif(!Empty(lcAcont) And !Isnull(lcAcont),'.'+lcAcont,'') + Endcase + + Replace valoare With lcValoare + + Select (lcTabel) + LOCATE FOR EMPTY(valoare) + IF !FOUND() + Append Blank + Thisform.nElemente = Thisform.nElemente + 1 + ENDIF + Endif + + Thisform.grid_conturi.SetFocus + + ENDPROC + + PROCEDURE inainte_de_do_termin + pcListaModificata = thisform.recompune() + ENDPROC + + PROCEDURE Init + PARAMETERS tcControlSource + + DODEFAULT() + + lcTabel = thisform.grid_conturi.RecordSource + SELECT (lcTabel) + GO BOTTOM + lnElemente = RECCOUNT() + + thisform.nElemente = lnElemente + thisform.cControlsource = ALLTRIM(tcControlSource) + + this.Width = INT(_screen.Width*0.7) + this.Height = INT(_screen.Height*0.7) + this.AutoCenter = .T. + + + + + ENDPROC + + PROCEDURE insert + PARAMETERS tnNumar + + lcTabel = thisform.grid_conturi.RecordSource + SELECT (lcTabel) + APPEND BLANK + + * mut inregistrarile mai jos + FOR i = RECCOUNT()-1 TO tnNumar STEP -1 + SELECT (lcTabel) + GOTO RECORD i + lcVal = valoare + GOTO RECORD i+1 + REPLACE valoare WITH lcVal + ENDFOR + + * celula in care inserez o las goala + REPLACE valoare WITH "" FOR RECNO() = tnNumar + + SELECT (lcTabel) + GOTO tnNumar + thisform.grid_conturi.SetFocus() + + + + + + ENDPROC + + PROCEDURE recompune + LOCAL lcTabel, lcLista + lcTabel = thisform.grid_conturi.RecordSource + lcLista = '' + + lcControlSource = thisform.cControlsource + + SELECT (lcTabel) + SCAN + lcLista = lcLista + ALLTRIM(valoare) + SELECT (lcTabel) + ENDSCAN + + &lcControlSource = ALLTRIM(lcLista) + ENDPROC + + PROCEDURE remove_cont + PARAMETERS tnNumar + + LOCAL lnElemente + lnElemente = thisform.nElemente + lcTabel = thisform.grid_conturi.RecordSource + SELECT (lcTabel) + + * mut inregistrarile mai sus + FOR i = tnNumar TO lnElemente + SELECT (lcTabel) + GOTO RECORD i+1 + lcVal = valoare + GOTO RECORD i + REPLACE valoare WITH lcVal + ENDFOR + + SELECT (lcTabel) + DELETE FOR RECNO() = lnElemente+1 + PACK + + SELECT (lcTabel) + IF RECCOUNT()>tnNumar + GOTO tnNumar + ELSE + GO BOTTOM + ENDIF + + thisform.grid_conturi.RecordSource = (lcTabel) + thisform.grid_conturi.SetFocus() + + + ENDPROC + + PROCEDURE Command1.Click + lcTabel = thisform.grid_conturi.RecordSource + SELECT (lcTabel) + + lnNumar = RECNO() + + thisform.nElemente = thisform.nElemente + 1 + + thisform.insert(lnNumar) + + ENDPROC + + PROCEDURE Command2.Click + lcTabel = thisform.grid_conturi.RecordSource + SELECT (lcTabel) + + lnNumar = RECNO() + + thisform.nElemente = thisform.nElemente - 1 + thisform.remove_cont(lnNumar) + + ENDPROC + + PROCEDURE grid_conturi.Init + * Nu sterge + ENDPROC + + PROCEDURE grid_plcont.cAcont.Text1.Click + LOCAL lcCont, lcAcont + lcTabel = thisform.grid_plcont.RecordSource + lcCont = &lcTabel..cont + lcAcont = this.Value + + IF !EMPTY(lcAcont) AND !ISNULL(lcAcont) + thisform.adauga_cont(lcCont, lcAcont, thisform.cSemn, thisform.cGrup) + ENDIF + + + ENDPROC + + PROCEDURE grid_plcont.cCont.Text1.Click + LOCAL lcCont, lcAcont + lcCont = this.Value + lcAcont = '' + + thisform.adauga_cont(lcCont, lcAcont, thisform.cSemn, thisform.cGrup) + ENDPROC + + PROCEDURE grid_plcont.Init + * Nu sterge + ENDPROC + + PROCEDURE Optiongroup1.Valid + Do Case + Case This.Value = 1 + Thisform.Csemn = "+" + Case This.Value = 2 + Thisform.Csemn = "-" + Endcase + + ENDPROC + + PROCEDURE optTip.Valid + Do Case + Case This.Value = 1 + Thisform.cGrup = "C" + Case This.Value = 2 + Thisform.cGrup = "T" + Case This.Value = 3 + Thisform.cGrup = "D" + Case This.Value = 4 + Thisform.cGrup = "I" + Endcase + + ENDPROC + + PROCEDURE txtCont.KeyPress + Lparameters nKeyCode, nShiftAltCtrl + + LOCAL lcTabel, lcCautat + lcTabel = Thisform.grid_plcont.RecordSource + + If Inlist(nKeyCode,13,9) + lcCautat = Alltrim(Upper(This.Value)) + + lcCautat = Alltrim(Upper(This.Value)) + Select (lcTabel) + Locate For Left(Cont,Len(lcCautat)) = lcCautat + + thisform.grid_plcont.SetFocus + + Endif + + ENDPROC + +ENDDEFINE + +DEFINE CLASS frm_ind_rand AS _frmbase OF "_frm_base.vcx" + *< CLASSDATA: Baseclass="form" Timestamp="" Scale="Pixels" Uniqueid="" /> + + *-- OBJECTDATA items order determines ZOrder / El orden de los items OBJECTDATA determina el ZOrder + *< OBJECTDATA: ObjPath="Grid1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="Grid1.Column1.Header1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="Grid1.Column1.Text1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="Grid1.Column2.Header1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="Grid1.Column2.Text1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="Command3" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="Command4" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="Command5" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="But_renunt1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="Optiongroup1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="Label2" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="Label1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="Label4" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="Label3" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="Command6" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="Command7" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="Command8" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="Command9" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="Command1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="Command2" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="Command10" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="Command11" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="Command12" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="Command13" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="Command14" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="Command15" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="Command16" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="Command17" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="Command18" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="Command19" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="Command20" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="Command21" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="Command22" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="Command23" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="Command24" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="Command25" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="Command27" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="Command28" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="Command29" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="txtFormula" UniqueID="" Timestamp="" /> + + * + *m: adauga_constanta + *m: adauga_rand + *p: csemn + * + + * + BorderStyle = 3 + csemn = + + DoCreate = .T. + Height = 430 + Name = "frm_ind_rand" + ScrollBars = 2 + Width = 555 + _shape1.Anchor = 11 + _shape1.Height = 29 + _shape1.Left = -1 + _shape1.Name = "_shape1" + _shape1.Top = 0 + _shape1.Width = 553 + _shape1.ZOrderSet = 1 + _shape2.Anchor = 9 + _shape2.Height = 29 + _shape2.Left = 492 + _shape2.Name = "_shape2" + _shape2.Top = -1 + _shape2.Width = 62 + _shape2.ZOrderSet = 2 + Lb_titlu_alb_b121.Caption = "Formula - randuri" + Lb_titlu_alb_b121.Name = "Lb_titlu_alb_b121" + Lb_titlu_alb_b121.ZOrderSet = 3 + BUT_TERMIN1.Anchor = 9 + BUT_TERMIN1.Left = 523 + BUT_TERMIN1.Name = "BUT_TERMIN1" + BUT_TERMIN1.Top = 0 + BUT_TERMIN1.ZOrderSet = 4 + Gridsort1.Name = "Gridsort1" + * + + ADD OBJECT 'But_renunt1' AS but_renunt WITH ; + Anchor = 9, ; + Left = 493, ; + Name = "But_renunt1", ; + Top = 0, ; + ZOrderSet = 9 + *< END OBJECT: ClassLib="cmd_butoane.vcx" BaseClass="commandbutton" /> + + ADD OBJECT 'Command1' AS commandbutton WITH ; + AutoSize = .F., ; + Caption = "<", ; + FontBold = .T., ; + FontName = "Arial Narrow", ; + FontSize = 10, ; + Height = 23, ; + Left = 59, ; + Name = "Command1", ; + Top = 304, ; + Width = 15 + *< END OBJECT: BaseClass="commandbutton" /> + + ADD OBJECT 'Command10' AS commandbutton WITH ; + AutoSize = .F., ; + Caption = "'='", ; + FontBold = .T., ; + FontName = "Arial Narrow", ; + FontSize = 10, ; + Height = 23, ; + Left = 75, ; + Name = "Command10", ; + Top = 304, ; + Width = 15 + *< END OBJECT: BaseClass="commandbutton" /> + + ADD OBJECT 'Command11' AS commandbutton WITH ; + AutoSize = .F., ; + Caption = "0", ; + FontBold = .T., ; + FontName = "Arial Narrow", ; + FontSize = 10, ; + Height = 23, ; + Left = 121, ; + Name = "Command11", ; + Top = 318, ; + Width = 24 + *< END OBJECT: BaseClass="commandbutton" /> + + ADD OBJECT 'Command12' AS commandbutton WITH ; + Anchor = 9, ; + Caption = "", ; + FontSize = 10, ; + Height = 20, ; + Left = 524, ; + Name = "Command12", ; + Picture = ..\grafice\wzdelete.bmp, ; + Top = 31, ; + Width = 23 + *< END OBJECT: BaseClass="commandbutton" /> + + ADD OBJECT 'Command13' AS commandbutton WITH ; + AutoSize = .T., ; + Caption = "7", ; + FontBold = .T., ; + FontName = "Arial Narrow", ; + FontSize = 10, ; + Height = 29, ; + Left = 74, ; + Name = "Command13", ; + Top = 340, ; + Width = 24 + *< END OBJECT: BaseClass="commandbutton" /> + + ADD OBJECT 'Command14' AS commandbutton WITH ; + AutoSize = .T., ; + Caption = "8", ; + FontBold = .T., ; + FontName = "Arial Narrow", ; + FontSize = 10, ; + Height = 29, ; + Left = 98, ; + Name = "Command14", ; + Top = 340, ; + Width = 24 + *< END OBJECT: BaseClass="commandbutton" /> + + ADD OBJECT 'Command15' AS commandbutton WITH ; + AutoSize = .T., ; + Caption = "9", ; + FontBold = .T., ; + FontName = "Arial Narrow", ; + FontSize = 10, ; + Height = 29, ; + Left = 121, ; + Name = "Command15", ; + Top = 340, ; + Width = 24 + *< END OBJECT: BaseClass="commandbutton" /> + + ADD OBJECT 'Command16' AS commandbutton WITH ; + AutoSize = .T., ; + Caption = "4", ; + FontBold = .T., ; + FontName = "Arial Narrow", ; + FontSize = 10, ; + Height = 29, ; + Left = 74, ; + Name = "Command16", ; + Top = 368, ; + Width = 24 + *< END OBJECT: BaseClass="commandbutton" /> + + ADD OBJECT 'Command17' AS commandbutton WITH ; + AutoSize = .T., ; + Caption = "5", ; + FontBold = .T., ; + FontName = "Arial Narrow", ; + FontSize = 10, ; + Height = 29, ; + Left = 98, ; + Name = "Command17", ; + Top = 368, ; + Width = 24 + *< END OBJECT: BaseClass="commandbutton" /> + + ADD OBJECT 'Command18' AS commandbutton WITH ; + AutoSize = .T., ; + Caption = "6", ; + FontBold = .T., ; + FontName = "Arial Narrow", ; + FontSize = 10, ; + Height = 29, ; + Left = 121, ; + Name = "Command18", ; + Top = 368, ; + Width = 24 + *< END OBJECT: BaseClass="commandbutton" /> + + ADD OBJECT 'Command19' AS commandbutton WITH ; + AutoSize = .T., ; + Caption = "1", ; + FontBold = .T., ; + FontName = "Arial Narrow", ; + FontSize = 10, ; + Height = 29, ; + Left = 74, ; + Name = "Command19", ; + Top = 396, ; + Width = 24 + *< END OBJECT: BaseClass="commandbutton" /> + + ADD OBJECT 'Command2' AS commandbutton WITH ; + AutoSize = .F., ; + Caption = ">", ; + FontBold = .T., ; + FontName = "Arial Narrow", ; + FontSize = 10, ; + Height = 23, ; + Left = 91, ; + Name = "Command2", ; + Top = 304, ; + Width = 15 + *< END OBJECT: BaseClass="commandbutton" /> + + ADD OBJECT 'Command20' AS commandbutton WITH ; + AutoSize = .T., ; + Caption = "2", ; + FontBold = .T., ; + FontName = "Arial Narrow", ; + FontSize = 10, ; + Height = 29, ; + Left = 98, ; + Name = "Command20", ; + Top = 396, ; + Width = 24 + *< END OBJECT: BaseClass="commandbutton" /> + + ADD OBJECT 'Command21' AS commandbutton WITH ; + AutoSize = .T., ; + Caption = "3", ; + FontBold = .T., ; + FontName = "Arial Narrow", ; + FontSize = 10, ; + Height = 29, ; + Left = 121, ; + Name = "Command21", ; + Top = 396, ; + Width = 24 + *< END OBJECT: BaseClass="commandbutton" /> + + ADD OBJECT 'Command22' AS commandbutton WITH ; + AutoSize = .F., ; + Caption = "-", ; + FontBold = .T., ; + FontName = "Arial Narrow", ; + FontSize = 10, ; + Height = 29, ; + Left = 145, ; + Name = "Command22", ; + Top = 368, ; + Width = 21 + *< END OBJECT: BaseClass="commandbutton" /> + + ADD OBJECT 'Command23' AS commandbutton WITH ; + AutoSize = .F., ; + Caption = "+", ; + FontBold = .T., ; + FontName = "Arial Narrow", ; + FontSize = 10, ; + Height = 29, ; + Left = 145, ; + Name = "Command23", ; + Top = 396, ; + Width = 21 + *< END OBJECT: BaseClass="commandbutton" /> + + ADD OBJECT 'Command24' AS commandbutton WITH ; + AutoSize = .F., ; + Caption = "/", ; + FontBold = .T., ; + FontName = "Arial Narrow", ; + FontSize = 10, ; + Height = 23, ; + Left = 145, ; + Name = "Command24", ; + Top = 318, ; + Width = 21 + *< END OBJECT: BaseClass="commandbutton" /> + + ADD OBJECT 'Command25' AS commandbutton WITH ; + AutoSize = .F., ; + Caption = "*", ; + FontBold = .T., ; + FontName = "Arial Narrow", ; + FontSize = 10, ; + Height = 29, ; + Left = 145, ; + Name = "Command25", ; + Top = 340, ; + Width = 21 + *< END OBJECT: BaseClass="commandbutton" /> + + ADD OBJECT 'Command27' AS commandbutton WITH ; + AutoSize = .F., ; + Caption = "IIF", ; + FontBold = .T., ; + FontName = "Arial Narrow", ; + FontSize = 10, ; + Height = 20, ; + Left = 12, ; + Name = "Command27", ; + Top = 354, ; + Width = 33 + *< END OBJECT: BaseClass="commandbutton" /> + + ADD OBJECT 'Command28' AS commandbutton WITH ; + AutoSize = .F., ; + Caption = ",", ; + FontBold = .T., ; + FontName = "Arial Narrow", ; + FontSize = 10, ; + Height = 20, ; + Left = 12, ; + Name = "Command28", ; + Top = 378, ; + Width = 33 + *< END OBJECT: BaseClass="commandbutton" /> + + ADD OBJECT 'Command29' AS commandbutton WITH ; + AutoSize = .F., ; + Caption = "AND", ; + FontBold = .T., ; + FontName = "Arial Narrow", ; + FontSize = 10, ; + Height = 20, ; + Left = 12, ; + Name = "Command29", ; + Top = 402, ; + Width = 33 + *< END OBJECT: BaseClass="commandbutton" /> + + ADD OBJECT 'Command3' AS commandbutton WITH ; + AutoSize = .F., ; + Caption = "CASE", ; + FontBold = .T., ; + FontName = "Arial Narrow", ; + FontSize = 10, ; + Height = 20, ; + Left = 13, ; + Name = "Command3", ; + Top = 263, ; + Width = 39 + *< END OBJECT: BaseClass="commandbutton" /> + + ADD OBJECT 'Command4' AS commandbutton WITH ; + AutoSize = .F., ; + Caption = "WHEN", ; + FontBold = .T., ; + FontName = "Arial Narrow", ; + FontSize = 10, ; + Height = 20, ; + Left = 58, ; + Name = "Command4", ; + Top = 263, ; + Width = 39 + *< END OBJECT: BaseClass="commandbutton" /> + + ADD OBJECT 'Command5' AS commandbutton WITH ; + AutoSize = .F., ; + Caption = "THEN", ; + FontBold = .T., ; + FontName = "Arial Narrow", ; + FontSize = 10, ; + Height = 20, ; + Left = 14, ; + Name = "Command5", ; + Top = 283, ; + Width = 39 + *< END OBJECT: BaseClass="commandbutton" /> + + ADD OBJECT 'Command6' AS commandbutton WITH ; + AutoSize = .F., ; + Caption = "ELSE", ; + FontBold = .T., ; + FontName = "Arial Narrow", ; + FontSize = 10, ; + Height = 20, ; + Left = 58, ; + Name = "Command6", ; + Top = 283, ; + Width = 39 + *< END OBJECT: BaseClass="commandbutton" /> + + ADD OBJECT 'Command7' AS commandbutton WITH ; + AutoSize = .F., ; + Caption = "END", ; + FontBold = .T., ; + FontName = "Arial Narrow", ; + FontSize = 10, ; + Height = 20, ; + Left = 103, ; + Name = "Command7", ; + Top = 283, ; + Width = 39 + *< END OBJECT: BaseClass="commandbutton" /> + + ADD OBJECT 'Command8' AS commandbutton WITH ; + AutoSize = .F., ; + Caption = "(", ; + FontBold = .T., ; + FontName = "Arial Narrow", ; + FontSize = 10, ; + Height = 23, ; + Left = 14, ; + Name = "Command8", ; + Top = 304, ; + Width = 15 + *< END OBJECT: BaseClass="commandbutton" /> + + ADD OBJECT 'Command9' AS commandbutton WITH ; + AutoSize = .F., ; + Caption = ")", ; + FontBold = .T., ; + FontName = "Arial Narrow", ; + FontSize = 10, ; + Height = 23, ; + Left = 28, ; + Name = "Command9", ; + Top = 304, ; + Width = 15 + *< END OBJECT: BaseClass="commandbutton" /> + + ADD OBJECT 'Grid1' AS grid WITH ; + Anchor = 15, ; + ColumnCount = 2, ; + DeleteMark = .F., ; + FontSize = 10, ; + Height = 235, ; + HighlightStyle = 2, ; + Left = 182, ; + Name = "Grid1", ; + Panel = 1, ; + RecordMark = .F., ; + RecordSource = "cRanduri", ; + RowHeight = 19, ; + Top = 183, ; + Width = 365, ; + Column1.ControlSource = "rand", ; + Column1.FontName = "Arial", ; + Column1.FontSize = 10, ; + Column1.Name = "Column1", ; + Column1.Width = 56, ; + Column2.ControlSource = "nume_ind", ; + Column2.FontName = "Arial", ; + Column2.FontSize = 10, ; + Column2.Name = "Column2", ; + Column2.Width = 276 + *< END OBJECT: BaseClass="grid" /> + + ADD OBJECT 'Grid1.Column1.Header1' AS header WITH ; + Alignment = 2, ; + Caption = "Rand", ; + FontName = "Arial", ; + FontSize = 10, ; + Name = "Header1" + *< END OBJECT: BaseClass="header" /> + + ADD OBJECT 'Grid1.Column1.Text1' AS textbox WITH ; + BackColor = 255,255,255, ; + BorderStyle = 0, ; + FontName = "Arial", ; + FontSize = 10, ; + ForeColor = 0,0,0, ; + Margin = 0, ; + Name = "Text1" + *< END OBJECT: BaseClass="textbox" /> + + ADD OBJECT 'Grid1.Column2.Header1' AS header WITH ; + Alignment = 2, ; + Caption = "Nume indicator", ; + FontName = "Arial", ; + FontSize = 10, ; + Name = "Header1" + *< END OBJECT: BaseClass="header" /> + + ADD OBJECT 'Grid1.Column2.Text1' AS textbox WITH ; + BackColor = 255,255,255, ; + BorderStyle = 0, ; + FontName = "Arial", ; + FontSize = 10, ; + ForeColor = 0,0,0, ; + Margin = 0, ; + Name = "Text1" + *< END OBJECT: BaseClass="textbox" /> + + ADD OBJECT 'Label1' AS label WITH ; + AutoSize = .T., ; + BackStyle = 0, ; + Caption = "Operatii cu randuri", ; + FontName = "Arial", ; + FontSize = 10, ; + Height = 18, ; + Left = 12, ; + Name = "Label1", ; + TabIndex = 18, ; + Top = 175, ; + Width = 108, ; + ZOrderSet = 13 + *< END OBJECT: BaseClass="label" /> + + ADD OBJECT 'Label2' AS label WITH ; + AutoSize = .T., ; + BackStyle = 0, ; + Caption = "Indicatori definiti anterior", ; + FontName = "Arial", ; + FontSize = 10, ; + Height = 18, ; + Left = 183, ; + Name = "Label2", ; + TabIndex = 18, ; + Top = 167, ; + Width = 142, ; + ZOrderSet = 13 + *< END OBJECT: BaseClass="label" /> + + ADD OBJECT 'Label3' AS label WITH ; + AutoSize = .T., ; + BackStyle = 0, ; + Caption = "Operatii cu constante", ; + FontName = "Arial", ; + FontSize = 10, ; + Height = 18, ; + Left = 12, ; + Name = "Label3", ; + TabIndex = 18, ; + Top = 244, ; + Width = 126, ; + ZOrderSet = 13 + *< END OBJECT: BaseClass="label" /> + + ADD OBJECT 'Label4' AS label WITH ; + AutoSize = .T., ; + BackStyle = 0, ; + Caption = "Formula de calcul (apasati pe indicatorii din tabel pentru a-i adauga in formula)", ; + FontName = "Arial", ; + FontSize = 10, ; + Height = 18, ; + Left = 12, ; + Name = "Label4", ; + TabIndex = 18, ; + Top = 32, ; + Width = 453, ; + ZOrderSet = 13 + *< END OBJECT: BaseClass="label" /> + + ADD OBJECT 'Optiongroup1' AS optiongroup WITH ; + AutoSize = .F., ; + BackStyle = 0, ; + ButtonCount = 4, ; + Height = 30, ; + Left = 12, ; + Name = "Optiongroup1", ; + Top = 192, ; + Value = 1, ; + Width = 127, ; + ZOrderSet = 11, ; + Option1.AutoSize = .T., ; + Option1.BackStyle = 0, ; + Option1.Caption = "+", ; + Option1.FontBold = .T., ; + Option1.FontSize = 12, ; + Option1.Height = 22, ; + Option1.Left = 5, ; + Option1.Name = "Option1", ; + Option1.Top = 5, ; + Option1.Value = 1, ; + Option1.Width = 28, ; + Option2.AutoSize = .T., ; + Option2.BackStyle = 0, ; + Option2.Caption = "-", ; + Option2.FontBold = .T., ; + Option2.FontSize = 12, ; + Option2.Height = 22, ; + Option2.Left = 37, ; + Option2.Name = "Option2", ; + Option2.Top = 5, ; + Option2.Width = 24, ; + Option3.AutoSize = .T., ; + Option3.BackStyle = 0, ; + Option3.Caption = "*", ; + Option3.FontBold = .T., ; + Option3.FontSize = 12, ; + Option3.Height = 22, ; + Option3.Left = 67, ; + Option3.Name = "Option3", ; + Option3.Top = 5, ; + Option3.Width = 25, ; + Option4.AutoSize = .T., ; + Option4.BackStyle = 0, ; + Option4.Caption = "/", ; + Option4.FontBold = .T., ; + Option4.FontSize = 12, ; + Option4.Height = 22, ; + Option4.Left = 94, ; + Option4.Name = "Option4", ; + Option4.Top = 5, ; + Option4.Width = 23 + *< END OBJECT: BaseClass="optiongroup" /> + + ADD OBJECT 'txtFormula' AS editbox WITH ; + Anchor = 11, ; + ControlSource = "pcFormulaModi", ; + FontSize = 10, ; + Height = 113, ; + Left = 12, ; + Name = "txtFormula", ; + ReadOnly = .T., ; + Top = 53, ; + Width = 534 + *< END OBJECT: BaseClass="editbox" /> + + PROCEDURE adauga_constanta + Parameters tcConstanta + + Local lcConstanta, lcFormula + + lcConstanta = tcConstanta + + If Isnull(pcFormulaModi) + pcFormulaModi = lcConstanta + Else + pcFormulaModi = pcFormulaModi + lcConstanta + Endif + + Thisform.txtFormula.SetFocus() + + ENDPROC + + PROCEDURE adauga_rand + Parameters tcRand, tcSemn + + Local lcCont, lcSemn, lcValoare, lcFormula + lcFormula = '' + + lcRand = Alltrim(tcRand) + lcSemn = Alltrim(tcSemn) + + lcValoare = lcSemn +"[R" + lcRand + "]" + + lcFormula = Thisform.txtFormula.Value + + If Isnull(pcFormulaModi) + pcFormulaModi = lcValoare + Else + pcFormulaModi = pcFormulaModi + lcValoare + Endif + + + Thisform.txtFormula.SetFocus() + + + + + + ENDPROC + + PROCEDURE do_sterge + pcFormulaModi = SUBSTR(pcFormulaModi,1,LEN(pcFormulaModi)-1) + + Thisform.txtFormula.SetFocus() + ENDPROC + + PROCEDURE Init + DODEFAULT() + this.Width = INT(_screen.Width*0.7) + this.Height = INT(_screen.Height*0.7) + this.AutoCenter = .T. + ENDPROC + + PROCEDURE Command1.Click + LOCAL lcConstanta + lcConstanta = '<' + thisform.adauga_constanta(lcConstanta) + ENDPROC + + PROCEDURE Command10.Click + LOCAL lcConstanta + lcConstanta = '=' + thisform.adauga_constanta(lcConstanta) + ENDPROC + + PROCEDURE Command11.Click + LOCAL lcConstanta + lcConstanta = '0' + thisform.adauga_constanta(lcConstanta) + ENDPROC + + PROCEDURE Command12.Click + thisform.do_sterge() + ENDPROC + + PROCEDURE Command13.Click + LOCAL lcConstanta + lcConstanta = '7' + thisform.adauga_constanta(lcConstanta) + ENDPROC + + PROCEDURE Command14.Click + LOCAL lcConstanta + lcConstanta = '8' + thisform.adauga_constanta(lcConstanta) + ENDPROC + + PROCEDURE Command15.Click + LOCAL lcConstanta + lcConstanta = '9' + thisform.adauga_constanta(lcConstanta) + ENDPROC + + PROCEDURE Command16.Click + LOCAL lcConstanta + lcConstanta = '4' + thisform.adauga_constanta(lcConstanta) + ENDPROC + + PROCEDURE Command17.Click + LOCAL lcConstanta + lcConstanta = '5' + thisform.adauga_constanta(lcConstanta) + ENDPROC + + PROCEDURE Command18.Click + LOCAL lcConstanta + lcConstanta = '6' + thisform.adauga_constanta(lcConstanta) + ENDPROC + + PROCEDURE Command19.Click + LOCAL lcConstanta + lcConstanta = '1' + thisform.adauga_constanta(lcConstanta) + ENDPROC + + PROCEDURE Command2.Click + LOCAL lcConstanta + lcConstanta = '>' + thisform.adauga_constanta(lcConstanta) + ENDPROC + + PROCEDURE Command20.Click + LOCAL lcConstanta + lcConstanta = '2' + thisform.adauga_constanta(lcConstanta) + ENDPROC + + PROCEDURE Command21.Click + LOCAL lcConstanta + lcConstanta = '3' + thisform.adauga_constanta(lcConstanta) + ENDPROC + + PROCEDURE Command22.Click + LOCAL lcConstanta + lcConstanta = '-' + thisform.adauga_constanta(lcConstanta) + ENDPROC + + PROCEDURE Command23.Click + LOCAL lcConstanta + lcConstanta = '+' + thisform.adauga_constanta(lcConstanta) + ENDPROC + + PROCEDURE Command24.Click + LOCAL lcConstanta + lcConstanta = '/' + thisform.adauga_constanta(lcConstanta) + ENDPROC + + PROCEDURE Command25.Click + LOCAL lcConstanta + lcConstanta = '*' + thisform.adauga_constanta(lcConstanta) + ENDPROC + + PROCEDURE Command27.Click + LOCAL lcConstanta + lcConstanta = 'IIF' + thisform.adauga_constanta(lcConstanta) + ENDPROC + + PROCEDURE Command28.Click + LOCAL lcConstanta + lcConstanta = ',' + thisform.adauga_constanta(lcConstanta) + ENDPROC + + PROCEDURE Command29.Click + LOCAL lcConstanta + lcConstanta = ' AND ' + thisform.adauga_constanta(lcConstanta) + ENDPROC + + PROCEDURE Command3.Click + LOCAL lcConstanta + lcConstanta = 'CASE ' + thisform.adauga_constanta(lcConstanta) + ENDPROC + + PROCEDURE Command4.Click + LOCAL lcConstanta + lcConstanta = 'WHEN ' + thisform.adauga_constanta(lcConstanta) + ENDPROC + + PROCEDURE Command5.Click + LOCAL lcConstanta + lcConstanta = ' THEN ' + thisform.adauga_constanta(lcConstanta) + ENDPROC + + PROCEDURE Command6.Click + LOCAL lcConstanta + lcConstanta = ' ELSE ' + thisform.adauga_constanta(lcConstanta) + ENDPROC + + PROCEDURE Command7.Click + LOCAL lcConstanta + lcConstanta = ' END ' + thisform.adauga_constanta(lcConstanta) + ENDPROC + + PROCEDURE Command8.Click + LOCAL lcConstanta + lcConstanta = '(' + thisform.adauga_constanta(lcConstanta) + ENDPROC + + PROCEDURE Command9.Click + LOCAL lcConstanta + lcConstanta = ')' + thisform.adauga_constanta(lcConstanta) + ENDPROC + + PROCEDURE Grid1.Column1.Text1.Click + lcVal = this.Value + thisform.adauga_rand(lcVal,thisform.cSemn) + ENDPROC + + PROCEDURE Grid1.Init + * Nu sterge + ENDPROC + + PROCEDURE Optiongroup1.Valid + Do Case + Case This.Value = 1 + Thisform.Csemn = "+" + Case This.Value = 2 + Thisform.Csemn = "-" + Case This.Value = 3 + Thisform.Csemn = "*" + Case This.Value = 4 + Thisform.Csemn = "/" + ENDCASE + + ENDPROC + +ENDDEFINE + +DEFINE CLASS frm_ind_rj AS _frmbase OF "_frm_base.vcx" + *< CLASSDATA: Baseclass="form" Timestamp="" Scale="Pixels" Uniqueid="" /> + + *-- OBJECTDATA items order determines ZOrder / El orden de los items OBJECTDATA determina el ZOrder + *< OBJECTDATA: ObjPath="Ck_fdoc" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="Ck_explicatii" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="Ck_explicatia" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="Ck_scd" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="Ck_scc" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="Ck_ascd" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="Ck_ascc" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="Ck_nrord" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="Ck_nume_val" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="Ck_nresp" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="Ck_dst_chlt" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="Ck_sectie" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="Ck_sucursala" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="Ck_util" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="Ck_sters" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="Ck_nract" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="ck_pereched" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="Ck_perecheC" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="Ck_suma" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="Ck_suma_val" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="Ck_dataact" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="Ck_dataireg" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="Ck_dataora" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="Ck_nnir" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="Ck_cod" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="Ck_id_set" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="Ck_partD" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="Ck_partC" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="Ck_perioada" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="Ck_explicatia5" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="Ck_explicatia4" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="Ck_gestin" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="Ck_gestout" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="grid_formula" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="grid_formula.Column1.Header1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="grid_formula.Column1.Text1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="grid_formula.Column3.Header1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="grid_formula.Column3.Text1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="Line1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="But_renunt1" UniqueID="" Timestamp="" /> + + * + BorderStyle = 3 + DoCreate = .T. + Height = 434 + Name = "frm_ind_rj" + Width = 690 + _shape1.Anchor = 11 + _shape1.Height = 29 + _shape1.Left = 0 + _shape1.Name = "_shape1" + _shape1.Top = 0 + _shape1.Width = 688 + _shape2.Anchor = 9 + _shape2.Height = 29 + _shape2.Left = 629 + _shape2.Name = "_shape2" + _shape2.Top = 0 + _shape2.Width = 59 + Lb_titlu_alb_b121.Caption = "Indicator bazat pe Registru Jurnal" + Lb_titlu_alb_b121.Name = "Lb_titlu_alb_b121" + BUT_TERMIN1.Anchor = 9 + BUT_TERMIN1.Left = 659 + BUT_TERMIN1.Name = "BUT_TERMIN1" + BUT_TERMIN1.Top = 1 + Gridsort1.Name = "Gridsort1" + * + + ADD OBJECT 'But_renunt1' AS but_renunt WITH ; + Anchor = 9, ; + Left = 630, ; + Name = "But_renunt1", ; + Top = 1 + *< END OBJECT: ClassLib="cmd_butoane.vcx" BaseClass="commandbutton" /> + + ADD OBJECT 'Ck_ascc' AS ck_filtru_text_manager WITH ; + Alignment = 0, ; + AutoSize = .T., ; + camp_nume = ascc, ; + Caption = "Analitic C", ; + Comment = "*:OnResize=LT", ; + FontName = "Arial Narrow", ; + Left = 244, ; + Name = "Ck_ascc", ; + TabIndex = 16, ; + Top = 78 + *< END OBJECT: ClassLib="caut_manager.vcx" BaseClass="checkbox" /> + + ADD OBJECT 'Ck_ascd' AS ck_filtru_text_manager WITH ; + Alignment = 0, ; + AutoSize = .T., ; + camp_nume = ascd, ; + Caption = "Analitic D", ; + Comment = "*:OnResize=LT", ; + FontName = "Arial Narrow", ; + Left = 244, ; + Name = "Ck_ascd", ; + TabIndex = 15, ; + Top = 62 + *< END OBJECT: ClassLib="caut_manager.vcx" BaseClass="checkbox" /> + + ADD OBJECT 'Ck_cod' AS ck_filtru_numar_manager WITH ; + Alignment = 0, ; + AutoSize = .T., ; + camp_nume = cod, ; + Caption = "Cod", ; + FontName = "Arial Narrow", ; + Left = 491, ; + mask = (replicate('9',12)), ; + Name = "Ck_cod", ; + TabIndex = 27, ; + Top = 62 + *< END OBJECT: ClassLib="caut_manager.vcx" BaseClass="checkbox" /> + + ADD OBJECT 'Ck_dataact' AS ck_filtru_numar_manager WITH ; + Alignment = 0, ; + AutoSize = .T., ; + camp_nume = dataact, ; + Caption = "Data Act", ; + Enabled = .T., ; + FontName = "Arial Narrow", ; + Left = 4, ; + Name = "Ck_dataact", ; + TabIndex = 1, ; + tip = D, ; + Top = 31 + *< END OBJECT: ClassLib="caut_manager.vcx" BaseClass="checkbox" /> + + ADD OBJECT 'Ck_dataireg' AS ck_filtru_numar_manager WITH ; + Alignment = 0, ; + AutoSize = .T., ; + camp_nume = dataIREG, ; + Caption = "Data inreg.", ; + FontName = "Arial Narrow", ; + Left = 4, ; + Name = "Ck_dataireg", ; + TabIndex = 2, ; + tip = D, ; + Top = 46 + *< END OBJECT: ClassLib="caut_manager.vcx" BaseClass="checkbox" /> + + ADD OBJECT 'Ck_dataora' AS ck_filtru_numar_manager WITH ; + Alignment = 0, ; + AutoSize = .T., ; + camp_nume = dataora, ; + Caption = "Data introducerii", ; + FontName = "Arial Narrow", ; + ForeColor = 0,0,255, ; + Left = 572, ; + Name = "Ck_dataora", ; + TabIndex = 31, ; + tip = D, ; + Top = 62 + *< END OBJECT: ClassLib="caut_manager.vcx" BaseClass="checkbox" /> + + ADD OBJECT 'Ck_dst_chlt' AS ck_filtru_text_manager WITH ; + Alignment = 0, ; + AutoSize = .T., ; + camp_nume = dst_chlt, ; + Caption = "Chelt./Venituri", ; + Comment = "*:OnResize=LT", ; + FontName = "Arial Narrow", ; + Left = 491, ; + Name = "Ck_dst_chlt", ; + TabIndex = 25, ; + Top = 31 + *< END OBJECT: ClassLib="caut_manager.vcx" BaseClass="checkbox" /> + + ADD OBJECT 'Ck_explicatia' AS ck_filtru_text_manager WITH ; + Alignment = 0, ; + AutoSize = .T., ; + camp_nume = explicatia, ; + Caption = "Explicatia 3", ; + Comment = "*:OnResize=LT", ; + FontName = "Arial Narrow", ; + Left = 86, ; + Name = "Ck_explicatia", ; + TabIndex = 7, ; + Top = 62 + *< END OBJECT: ClassLib="caut_manager.vcx" BaseClass="checkbox" /> + + ADD OBJECT 'Ck_explicatia4' AS ck_filtru_text_manager WITH ; + Alignment = 0, ; + AutoSize = .T., ; + camp_nume = explicatia4, ; + Caption = "Explicatia 4", ; + Comment = "*:OnResize=LT", ; + FontName = "Arial Narrow", ; + Left = 86, ; + Name = "Ck_explicatia4", ; + TabIndex = 8, ; + Top = 78 + *< END OBJECT: ClassLib="caut_manager.vcx" BaseClass="checkbox" /> + + ADD OBJECT 'Ck_explicatia5' AS ck_filtru_text_manager WITH ; + Alignment = 0, ; + AutoSize = .T., ; + camp_nume = explicatia5, ; + Caption = "Explicatia 5", ; + Comment = "*:OnResize=LT", ; + FontName = "Arial Narrow", ; + Left = 162, ; + Name = "Ck_explicatia5", ; + TabIndex = 9, ; + Top = 31 + *< END OBJECT: ClassLib="caut_manager.vcx" BaseClass="checkbox" /> + + ADD OBJECT 'Ck_explicatii' AS ck_filtru_text_manager WITH ; + Alignment = 0, ; + AutoSize = .T., ; + camp_nume = partD,partC,explicatia,explicatia4,explicatia5, ; + Caption = "Explicatii", ; + Comment = "*:OnResize=LT", ; + FontName = "Arial Narrow", ; + Left = 162, ; + Name = "Ck_explicatii", ; + TabIndex = 10, ; + Top = 46 + *< END OBJECT: ClassLib="caut_manager.vcx" BaseClass="checkbox" /> + + ADD OBJECT 'Ck_fdoc' AS ck_filtru_text_manager WITH ; + Alignment = 0, ; + AutoSize = .T., ; + camp_nume = fdoc, ; + Caption = "Tip document", ; + Comment = "*:OnResize=LT", ; + FontName = "Arial Narrow", ; + Left = 4, ; + Name = "Ck_fdoc", ; + TabIndex = 3, ; + Top = 62 + *< END OBJECT: ClassLib="caut_manager.vcx" BaseClass="checkbox" /> + + ADD OBJECT 'Ck_gestin' AS ck_filtru_text_manager WITH ; + Alignment = 0, ; + AutoSize = .T., ; + camp_nume = gestin, ; + Caption = "Gestiune dest.", ; + Comment = "*:OnResize=LT", ; + FontName = "Arial Narrow", ; + Left = 162, ; + Name = "Ck_gestin", ; + TabIndex = 11, ; + Top = 62 + *< END OBJECT: ClassLib="caut_manager.vcx" BaseClass="checkbox" /> + + ADD OBJECT 'Ck_gestout' AS ck_filtru_text_manager WITH ; + Alignment = 0, ; + AutoSize = .T., ; + camp_nume = gestout, ; + Caption = "Gestiune sursa", ; + Comment = "*:OnResize=LT", ; + FontName = "Arial Narrow", ; + Left = 162, ; + Name = "Ck_gestout", ; + TabIndex = 12, ; + Top = 78 + *< END OBJECT: ClassLib="caut_manager.vcx" BaseClass="checkbox" /> + + ADD OBJECT 'Ck_id_set' AS ck_filtru_numar_manager WITH ; + Alignment = 0, ; + AutoSize = .T., ; + camp_nume = id_set, ; + Caption = "Tip Operatie", ; + FontName = "Arial Narrow", ; + Left = 491, ; + Name = "Ck_id_set", ; + TabIndex = 28, ; + Top = 78 + *< END OBJECT: ClassLib="caut_manager.vcx" BaseClass="checkbox" /> + + ADD OBJECT 'Ck_nnir' AS ck_filtru_numar_manager WITH ; + Alignment = 0, ; + AutoSize = .T., ; + camp_nume = nnir, ; + Caption = "Nr. NIR/Bon", ; + FontName = "Arial Narrow", ; + Left = 408, ; + mask = (replicate('9',12)), ; + Name = "Ck_nnir", ; + TabIndex = 23, ; + Top = 62 + *< END OBJECT: ClassLib="caut_manager.vcx" BaseClass="checkbox" /> + + ADD OBJECT 'Ck_nract' AS ck_filtru_numar_manager WITH ; + Alignment = 0, ; + AutoSize = .T., ; + camp_nume = NRACT, ; + Caption = "Nr. document", ; + FontName = "Arial Narrow", ; + Left = 4, ; + mask = (replicate('9',12)), ; + Name = "Ck_nract", ; + TabIndex = 4, ; + Top = 78 + *< END OBJECT: ClassLib="caut_manager.vcx" BaseClass="checkbox" /> + + ADD OBJECT 'Ck_nresp' AS ck_filtru_text_manager WITH ; + Alignment = 0, ; + AutoSize = .T., ; + camp_nume = nresp, ; + Caption = "Responsabil", ; + Comment = "*:OnResize=LT", ; + FontName = "Arial Narrow", ; + Left = 408, ; + Name = "Ck_nresp", ; + TabIndex = 24, ; + Top = 78 + *< END OBJECT: ClassLib="caut_manager.vcx" BaseClass="checkbox" /> + + ADD OBJECT 'Ck_nrord' AS ck_filtru_text_manager WITH ; + Alignment = 0, ; + AutoSize = .T., ; + camp_nume = nrord, ; + Caption = "Lucrare/Contract", ; + Comment = "*:OnResize=LT", ; + FontName = "Arial Narrow", ; + Left = 319, ; + Name = "Ck_nrord", ; + TabIndex = 17, ; + Top = 31 + *< END OBJECT: ClassLib="caut_manager.vcx" BaseClass="checkbox" /> + + ADD OBJECT 'Ck_nume_val' AS ck_filtru_text_manager WITH ; + Alignment = 0, ; + AutoSize = .T., ; + camp_nume = nume_val, ; + Caption = "Valuta", ; + Comment = "*:OnResize=LT", ; + FontName = "Arial Narrow", ; + Left = 319, ; + Name = "Ck_nume_val", ; + TabIndex = 19, ; + Top = 62 + *< END OBJECT: ClassLib="caut_manager.vcx" BaseClass="checkbox" /> + + ADD OBJECT 'Ck_partC' AS ck_filtru_text_manager WITH ; + Alignment = 0, ; + AutoSize = .T., ; + camp_nume = partC, ; + Caption = "Explicatia 2", ; + Comment = "*:OnResize=LT", ; + FontName = "Arial Narrow", ; + Left = 86, ; + Name = "Ck_partC", ; + TabIndex = 6, ; + Top = 46 + *< END OBJECT: ClassLib="caut_manager.vcx" BaseClass="checkbox" /> + + ADD OBJECT 'Ck_partD' AS ck_filtru_text_manager WITH ; + Alignment = 0, ; + AutoSize = .T., ; + camp_nume = partD, ; + Caption = "Explicatia 1", ; + Comment = "*:OnResize=LT", ; + FontName = "Arial Narrow", ; + Left = 86, ; + Name = "Ck_partD", ; + TabIndex = 5, ; + Top = 31 + *< END OBJECT: ClassLib="caut_manager.vcx" BaseClass="checkbox" /> + + ADD OBJECT 'Ck_perecheC' AS ck_filtru_numar_manager WITH ; + Alignment = 0, ; + AutoSize = .T., ; + camp_nume = perecheC, ; + Caption = "Nr.doc.incasat", ; + FontName = "Arial Narrow", ; + Left = 408, ; + mask = (replicate('9',12)), ; + Name = "Ck_perecheC", ; + TabIndex = 21, ; + Top = 31 + *< END OBJECT: ClassLib="caut_manager.vcx" BaseClass="checkbox" /> + + ADD OBJECT 'ck_pereched' AS ck_filtru_numar_manager WITH ; + Alignment = 0, ; + AutoSize = .T., ; + camp_nume = perecheD, ; + Caption = "Nr.doc.platit", ; + FontName = "Arial Narrow", ; + Left = 408, ; + mask = (replicate('9',12)), ; + Name = "ck_pereched", ; + TabIndex = 22, ; + Top = 46 + *< END OBJECT: ClassLib="caut_manager.vcx" BaseClass="checkbox" /> + + ADD OBJECT 'Ck_perioada' AS ck_filtru_luna WITH ; + Alignment = 0, ; + camp_nume = luna+an*12, ; + Caption = "Perioada", ; + Enabled = .F., ; + FontName = "Arial Narrow", ; + Left = 572, ; + luna = , ; + Name = "Ck_perioada", ; + TabIndex = 30, ; + Top = 46 + *< END OBJECT: ClassLib="caut_ora.vcx" BaseClass="checkbox" /> + + ADD OBJECT 'Ck_scc' AS ck_filtru_text_manager WITH ; + Alignment = 0, ; + AutoSize = .T., ; + camp_nume = scc, ; + Caption = "Cont creditor", ; + Comment = "*:OnResize=LT", ; + FontName = "Arial Narrow", ; + Left = 244, ; + Name = "Ck_scc", ; + TabIndex = 14, ; + Top = 46 + *< END OBJECT: ClassLib="caut_manager.vcx" BaseClass="checkbox" /> + + ADD OBJECT 'Ck_scd' AS ck_filtru_text_manager WITH ; + Alignment = 0, ; + AutoSize = .T., ; + camp_nume = scd, ; + Caption = "Cont debitor", ; + Comment = "*:OnResize=LT", ; + FontName = "Arial Narrow", ; + Left = 244, ; + Name = "Ck_scd", ; + TabIndex = 13, ; + Top = 31 + *< END OBJECT: ClassLib="caut_manager.vcx" BaseClass="checkbox" /> + + ADD OBJECT 'Ck_sectie' AS ck_filtru_text_manager WITH ; + Alignment = 0, ; + AutoSize = .T., ; + camp_nume = sectie, ; + Caption = "Sectie", ; + Comment = "*:OnResize=LT", ; + FontName = "Arial Narrow", ; + Left = 491, ; + Name = "Ck_sectie", ; + TabIndex = 26, ; + Top = 46 + *< END OBJECT: ClassLib="caut_manager.vcx" BaseClass="checkbox" /> + + ADD OBJECT 'Ck_sters' AS ck_filtru_text_manager WITH ; + Alignment = 0, ; + AutoSize = .T., ; + Caption = "Sterse", ; + Comment = "*:OnResize=LT", ; + Enabled = .F., ; + FontName = "Arial Narrow", ; + ForeColor = 255,0,0, ; + Height = 18, ; + Left = 639, ; + Name = "Ck_sters", ; + TabIndex = 33, ; + Top = 31, ; + Width = 45 + *< END OBJECT: ClassLib="caut_manager.vcx" BaseClass="checkbox" /> + + ADD OBJECT 'Ck_sucursala' AS ck_filtru_text_manager WITH ; + Alignment = 0, ; + AutoSize = .T., ; + camp_nume = sucursala, ; + Caption = "Sucursala", ; + Comment = "*:OnResize=LT", ; + FontName = "Arial Narrow", ; + Left = 572, ; + Name = "Ck_sucursala", ; + TabIndex = 29, ; + Top = 31 + *< END OBJECT: ClassLib="caut_manager.vcx" BaseClass="checkbox" /> + + ADD OBJECT 'Ck_suma' AS ck_filtru_numar_manager WITH ; + Alignment = 0, ; + AutoSize = .T., ; + camp_nume = suma, ; + Caption = "Suma", ; + FontName = "Arial Narrow", ; + Left = 319, ; + mask = (get_mask(12,gnPa)), ; + Name = "Ck_suma", ; + nrzec = (gnPa), ; + TabIndex = 18, ; + Top = 46 + *< END OBJECT: ClassLib="caut_manager.vcx" BaseClass="checkbox" /> + + ADD OBJECT 'Ck_suma_val' AS ck_filtru_numar_manager WITH ; + Alignment = 0, ; + AutoSize = .T., ; + camp_nume = suma_val, ; + Caption = "Suma valuta", ; + FontName = "Arial Narrow", ; + Left = 319, ; + mask = (get_mask(12,gnPVal)), ; + Name = "Ck_suma_val", ; + nrzec = (gnPval), ; + TabIndex = 20, ; + Top = 78 + *< END OBJECT: ClassLib="caut_manager.vcx" BaseClass="checkbox" /> + + ADD OBJECT 'Ck_util' AS ck_filtru_text_manager WITH ; + Alignment = 0, ; + AutoSize = .T., ; + camp_nume = util, ; + Caption = "Operator introducere", ; + Comment = "*:OnResize=LT", ; + FontName = "Arial Narrow", ; + ForeColor = 0,0,255, ; + Left = 572, ; + Name = "Ck_util", ; + TabIndex = 32, ; + Top = 78 + *< END OBJECT: ClassLib="caut_manager.vcx" BaseClass="checkbox" /> + + ADD OBJECT 'grid_formula' AS _grdrow WITH ; + Anchor = 15, ; + ColumnCount = 2, ; + DeleteMark = .F., ; + Height = 326, ; + HighlightStyle = 2, ; + Left = 5, ; + Name = "grid_formula", ; + Panel = 1, ; + RecordMark = .F., ; + RecordSource = "tLista_rjModificata", ; + RowHeight = 19, ; + Top = 102, ; + Width = 679, ; + Column1.ControlSource = "camp_numeT", ; + Column1.FontName = "Arial", ; + Column1.FontSize = 10, ; + Column1.Name = "Column1", ; + Column1.Width = 117, ; + Column2.ColumnOrder = 2, ; + Column2.ControlSource = "traducere", ; + Column2.FontName = "Arial", ; + Column2.FontSize = 10, ; + Column2.Name = "Column3", ; + Column2.Width = 536 + *< END OBJECT: ClassLib="_grd_base.vcx" BaseClass="grid" /> + + ADD OBJECT 'grid_formula.Column1.Header1' AS header WITH ; + Alignment = 2, ; + Caption = "Camp", ; + FontName = "Arial", ; + FontSize = 10, ; + Name = "Header1" + *< END OBJECT: BaseClass="header" /> + + ADD OBJECT 'grid_formula.Column1.Text1' AS textbox WITH ; + BackColor = 255,255,255, ; + BorderStyle = 0, ; + FontName = "Arial", ; + FontSize = 10, ; + ForeColor = 0,0,0, ; + Margin = 0, ; + Name = "Text1", ; + SelectedBackColor = 100,185,255 + *< END OBJECT: BaseClass="textbox" /> + + ADD OBJECT 'grid_formula.Column3.Header1' AS header WITH ; + Alignment = 2, ; + Caption = "Traducere", ; + FontName = "Arial", ; + FontSize = 10, ; + Name = "Header1" + *< END OBJECT: BaseClass="header" /> + + ADD OBJECT 'grid_formula.Column3.Text1' AS textbox WITH ; + BackColor = 255,255,255, ; + BorderStyle = 0, ; + FontName = "Arial", ; + FontSize = 10, ; + ForeColor = 0,0,0, ; + Margin = 0, ; + Name = "Text1", ; + SelectedBackColor = 100,185,255 + *< END OBJECT: BaseClass="textbox" /> + + ADD OBJECT 'Line1' AS line WITH ; + Anchor = 10, ; + Height = 0, ; + Left = 4, ; + Name = "Line1", ; + Top = 96, ; + Width = 679 + *< END OBJECT: BaseClass="line" /> + + PROCEDURE Init + DODEFAULT() + LOCAL lcTabel + lcTabel = thisform.gRID_FORMULA.RecordSource + SELECT (lcTabel) + SCAN + lcCamp_numeT = STRTRAN(ALLTRIM(camp_numeT),' ','') + lcCamp_nume = STRTRAN(ALLTRIM(camp_nume),' ','') + + lcCk = 'thisform.ck_'+lcCamp_numeT + IF TYPE("&lcCk") = 'U' + lcCk = 'thisform.ck_'+lcCamp_nume + ENDIF + + lcCk_value = lcCk + '.value =1' + &lcCk_value + SELECT (lcTabel) + ENDSCAN + + SELECT (lcTabel) + GO TOP + + this.Width = INT(_screen.Width*0.7) + this.Height = INT(_screen.Height*0.7) + this.AutoCenter = .T. + ENDPROC + + PROCEDURE Ck_perioada.Init + DODEFAULT() + this.Value = 1 + ENDPROC + + PROCEDURE Ck_sters.InteractiveChange + * + ENDPROC + +ENDDEFINE + +DEFINE CLASS frm_parametri_calcul AS _frmbase OF "_frm_base.vcx" + *< CLASSDATA: Baseclass="form" Timestamp="" Scale="Pixels" Uniqueid="" /> + + *-- OBJECTDATA items order determines ZOrder / El orden de los items OBJECTDATA determina el ZOrder + *< OBJECTDATA: ObjPath="Label1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="Label2" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="chkColoaneVenchelt" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="Check1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="Label3" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="Label4" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="cbo_venchelt" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="cboCumul" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="Label5" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="Container_data1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="Container_data2" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="But_renunt1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="cbo_centre" UniqueID="" Timestamp="" /> + + * + *p: cfisexport + *p: cnume_set + *p: nind_act + *p: nind_bal + * + + * + BorderStyle = 1 + cfisexport = '' + cnume_set = '' + DoCreate = .T. + Height = 162 + Name = "frm_parametri_calcul" + nind_act = 0 + nind_bal = 0 + Width = 448 + _shape1.Anchor = 11 + _shape1.Height = 29 + _shape1.Left = 0 + _shape1.Name = "_shape1" + _shape1.Top = 0 + _shape1.Width = 452 + _shape1.ZOrderSet = 0 + _shape2.Anchor = 9 + _shape2.Height = 29 + _shape2.Left = 411 + _shape2.Name = "_shape2" + _shape2.Top = 0 + _shape2.Width = 32 + _shape2.ZOrderSet = 1 + Lb_titlu_alb_b121.Name = "Lb_titlu_alb_b121" + Lb_titlu_alb_b121.TabIndex = 9 + Lb_titlu_alb_b121.ZOrderSet = 2 + BUT_TERMIN1.Anchor = 9 + BUT_TERMIN1.Left = 418 + BUT_TERMIN1.Name = "BUT_TERMIN1" + BUT_TERMIN1.TabIndex = 7 + BUT_TERMIN1.Top = 1 + BUT_TERMIN1.ZOrderSet = 3 + Gridsort1.Left = 216 + Gridsort1.Name = "Gridsort1" + Gridsort1.Top = 7 + * + + ADD OBJECT 'But_renunt1' AS but_renunt WITH ; + Anchor = 9, ; + Left = 388, ; + lvizibil = .F., ; + Name = "But_renunt1", ; + TabIndex = 8, ; + Top = 1 + *< END OBJECT: ClassLib="cmd_butoane.vcx" BaseClass="commandbutton" /> + + ADD OBJECT 'cbo_centre' AS combobox WITH ; + ColumnWidths = "100", ; + Height = 24, ; + Left = 104, ; + Name = "cbo_centre", ; + RowSource = "cFCentre.sectie", ; + RowSourceType = 2, ; + Style = 2, ; + TabIndex = 1, ; + Top = 36, ; + Width = 149 + *< END OBJECT: BaseClass="combobox" /> + + ADD OBJECT 'cbo_venchelt' AS combobox WITH ; + Anchor = 11, ; + ColumnCount = 2, ; + ColumnLines = .F., ; + ColumnWidths = "150,0", ; + Height = 24, ; + Left = 104, ; + Name = "cbo_venchelt", ; + RowSource = "cVenChelt.explicatie,id_venchelt", ; + RowSourceType = 2, ; + Style = 2, ; + TabIndex = 2, ; + Top = 62, ; + Width = 149, ; + ZOrderSet = 7 + *< END OBJECT: BaseClass="combobox" /> + + ADD OBJECT 'cboCumul' AS combobox WITH ; + BoundColumn = 2, ; + BoundTo = .T., ; + ColumnCount = 2, ; + ColumnLines = .F., ; + ColumnWidths = "50,0", ; + ControlSource = "poset.cumul", ; + FontBold = .F., ; + FontSize = 10, ; + Height = 24, ; + Left = 322, ; + Name = "cboCumul", ; + RowSource = "Luni,1,Trimestre,3,Semestre,6,Ani,12", ; + RowSourceType = 1, ; + Style = 2, ; + TabIndex = 6, ; + Top = 127, ; + Width = 82, ; + ZOrderSet = 10 + *< END OBJECT: BaseClass="combobox" /> + + ADD OBJECT 'Check1' AS checkbox WITH ; + Alignment = 0, ; + AutoSize = .T., ; + BackStyle = 0, ; + Caption = "Impartire la 1000", ; + FontBold = .F., ; + FontSize = 10, ; + Height = 18, ; + Left = 264, ; + Name = "Check1", ; + TabIndex = 14, ; + Top = 95, ; + Visible = .F., ; + Width = 115, ; + ZOrderSet = 6 + *< END OBJECT: BaseClass="checkbox" /> + + ADD OBJECT 'chkColoaneVenchelt' AS checkbox WITH ; + Alignment = 0, ; + AutoSize = .T., ; + BackStyle = 0, ; + Caption = "Coloane Cheltuieli/Venituri", ; + ControlSource = "pnColoaneCheltuieliVenituri", ; + FontBold = .F., ; + FontSize = 10, ; + Height = 18, ; + Left = 264, ; + Name = "chkColoaneVenchelt", ; + TabIndex = 5, ; + ToolTipText = 'Coloanele sunt generate de "tip cheltuiala/venit" sau de "timp"', ; + Top = 65, ; + Width = 171, ; + ZOrderSet = 6 + *< END OBJECT: BaseClass="checkbox" /> + + ADD OBJECT 'Container_data1' AS container_data WITH ; + Left = 104, ; + Name = "Container_data1", ; + TabIndex = 3, ; + Top = 88, ; + CBOLUNA.ControlSource = "poset.lunai", ; + CBOLUNA.Name = "CBOLUNA", ; + CBOANUL.ControlSource = "poset.anulI", ; + CBOANUL.Name = "CBOANUL", ; + CBOANUL.RowSource = "1990,1991,1992,1993,1994,1995,1996,1997,1998,1999,2000,2001,2002,2003,2004,2005,2006,2007,2008,2009,2010,2011,2012,2013,2014,2015,2016,2017,2018,2019,2020,2021,2022,2023,2024,2025,2026,2027,2028,2029,2030" + *< END OBJECT: ClassLib="ferestre_seturi_indicatori.vcx" BaseClass="container" /> + + ADD OBJECT 'Container_data2' AS container_data WITH ; + Left = 104, ; + Name = "Container_data2", ; + TabIndex = 4, ; + Top = 123, ; + CBOLUNA.ControlSource = "poset.lunaF", ; + CBOLUNA.Name = "CBOLUNA", ; + CBOANUL.ControlSource = "poset.anulF", ; + CBOANUL.Name = "CBOANUL", ; + CBOANUL.RowSource = "1990,1991,1992,1993,1994,1995,1996,1997,1998,1999,2000,2001,2002,2003,2004,2005,2006,2007,2008,2009,2010,2011,2012,2013,2014,2015,2016,2017,2018,2019,2020,2021,2022,2023,2024,2025,2026,2027,2028,2029,2030" + *< END OBJECT: ClassLib="ferestre_seturi_indicatori.vcx" BaseClass="container" /> + + ADD OBJECT 'Label1' AS label WITH ; + AutoSize = .T., ; + BackStyle = 0, ; + Caption = "Data initiala", ; + FontBold = .T., ; + FontSize = 10, ; + Height = 18, ; + Left = 7, ; + Name = "Label1", ; + TabIndex = 10, ; + Top = 95, ; + Width = 79, ; + ZOrderSet = 4 + *< END OBJECT: BaseClass="label" /> + + ADD OBJECT 'Label2' AS label WITH ; + AutoSize = .T., ; + BackStyle = 0, ; + Caption = "Data finala", ; + FontBold = .T., ; + FontSize = 10, ; + Height = 18, ; + Left = 7, ; + Name = "Label2", ; + TabIndex = 13, ; + Top = 130, ; + Width = 71, ; + ZOrderSet = 5 + *< END OBJECT: BaseClass="label" /> + + ADD OBJECT 'Label3' AS label WITH ; + AutoSize = .T., ; + BackStyle = 0, ; + Caption = "Cumulare", ; + FontBold = .F., ; + FontSize = 10, ; + Height = 18, ; + Left = 264, ; + Name = "Label3", ; + TabIndex = 15, ; + Top = 130, ; + Width = 57, ; + ZOrderSet = 7 + *< END OBJECT: BaseClass="label" /> + + ADD OBJECT 'Label4' AS label WITH ; + AutoSize = .T., ; + BackStyle = 0, ; + Caption = "Sectia", ; + FontBold = .T., ; + FontSize = 10, ; + Height = 18, ; + Left = 7, ; + Name = "Label4", ; + TabIndex = 11, ; + Top = 38, ; + Width = 42, ; + ZOrderSet = 5 + *< END OBJECT: BaseClass="label" /> + + ADD OBJECT 'Label5' AS label WITH ; + AutoSize = .T., ; + BackStyle = 0, ; + Caption = "Chelt./Venit.", ; + FontBold = .T., ; + FontSize = 10, ; + Height = 18, ; + Left = 7, ; + Name = "Label5", ; + TabIndex = 12, ; + Top = 65, ; + Width = 80, ; + ZOrderSet = 5 + *< END OBJECT: BaseClass="label" /> + + PROCEDURE inainte_de_do_termin + LOCAL lnLunaI, lnAnulI, lnLunaI, lnAnulF + LOCAL lcDataI, lcDataF, ldDataI, ldDataF + + lnLunaI = Thisform.Container_data1.cboLuna.Value + lnAnulI = Thisform.Container_data1.cboAnul.Value + lnLunaF = Thisform.Container_data2.cboLuna.Value + lnAnulF = Thisform.Container_data2.cboAnul.Value + + lcDataI = "1/" + Padl(Str(lnLunaI,2,0),2,"0") + "/"+Str(lnAnulI,4,0) + lcDataF = "1/" + Padl(Str(lnLunaF,2,0),2,"0") + "/"+ Str(lnAnulF,4,0) + ldDataI = Ctod(lcDataI) + ldDataF = Ctod(lcDataF) + If ldDataI > ldDataF + * Do mesaj With "Data initiala este mai mare decat data finala! Introduceti date valide!" + amessagebox('Data initiala este mai mare decat data finala! Introduceti date valide!',0+48,"Atentie") + Return .F. + ENDIF + + Return .T. + + ENDPROC + + PROCEDURE Init + Parameters tnIndAct, tnIndBal + + Thisform.nInd_act = tnIndAct + Thisform.nInd_bal = tnIndBal + + If Thisform.nInd_act = 0 + This.cbo_venchelt.Enabled= .F. + Else + This.cbo_venchelt.Enabled= .T. + Endif + + DoDefault() + If !initializeaza_sucursala() && oinit_optiuni.prg + Return + Endif + ENDPROC + + PROCEDURE cbo_centre.Init + THIS.VALUE = "" + ENDPROC + + PROCEDURE cbo_centre.Valid + pnid_sectie = cfcentre.id_sectie + this.Value = cFCentre.sectie + ENDPROC + + PROCEDURE cbo_venchelt.Init + THIS.VALUE = "" + + ENDPROC + + PROCEDURE cbo_venchelt.Valid + pnId_venChelt = cVenChelt.id_venchelt + this.Value = cVenChelt.explicatie + + IF THIS.VALUE = "" + thisform.chkColoaneVenchelt.Visible = .T. + pnColoaneCheltuieliVenituri = 0 + thisform.chkColoaneVenchelt.Refresh() + ELSE + thisform.chkColoaneVenchelt.Visible = .F. + ENDIF + + IF thisform.nInd_act <> 0 AND thisform.nInd_bal <> 0 + AMESSAGEBOX('Selectia pentru tipul de cheltuiala este valabila doar pentru indicatorii din jurnal!',48,"Atentie") + ENDIF + + + + + ENDPROC + +ENDDEFINE + +DEFINE CLASS frm_set AS _frmbase OF "_frm_base.vcx" + *< CLASSDATA: Baseclass="form" Timestamp="" Scale="Pixels" Uniqueid="" /> + + *-- OBJECTDATA items order determines ZOrder / El orden de los items OBJECTDATA determina el ZOrder + *< OBJECTDATA: ObjPath="Container_rj" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="Container_rj.cmd" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="Container_rj.grid_formule_rj" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="Container_rj.grid_formule_rj.Column1.Header1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="Container_rj.grid_formule_rj.Column1.Text1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="Container_rj.grid_formule_rj.Column2.Header1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="Container_rj.grid_formule_rj.Column2.Text1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="container_functii" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="container_functii.Label2" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="container_functii.edtFormFct" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="grid_set" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="grid_set.cRand.Header1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="grid_set.cRand.Text1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="grid_set.cNume_ind.Header1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="grid_set.cNume_ind.Text1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="grid_set.cAles.Header1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="grid_set.cAles.Check1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="grid_set.cComentariu.Header1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="grid_set.cComentariu.Text1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="grid_set.Column5.Header1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="grid_set.Column5.Text1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="Label1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="txtNume_set" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="But_nou1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="But_modifica1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="But_sterge1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="But_renunt1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="Container_bal" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="Container_bal.Label1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="Container_bal.Label2" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="Container_bal.Label3" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="Container_bal.Label4" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="Container_bal.Label5" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="Container_bal.Label6" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="Container_bal.Label7" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="Container_bal.Label8" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="Container_bal.Label9" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="Container_bal.Label10" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="Container_bal.Label11" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="Container_bal.Label12" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="Container_bal.Container_text_cmd1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="Container_bal.Container_text_cmd2" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="Container_bal.Container_text_cmd3" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="Container_bal.Container_text_cmd4" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="Container_bal.Container_text_cmd5" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="Container_bal.Container_text_cmd6" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="Container_bal.Container_text_cmd7" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="Container_bal.Container_text_cmd8" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="Container_bal.Container_text_cmd9" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="Container_bal.Container_text_cmd10" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="Container_randuri" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="Container_randuri.Label2" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="Container_randuri.cmd" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="Container_randuri.edtFormRd" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="But_grafic1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="Command2" UniqueID="" Timestamp="" /> + + * + *m: do_grafic + *m: do_modiparam + *m: send_formula + *p: cnume_set + *p: lnou + *p: nid_modipara + *p: nid_set + * + + * + BackColor = 240,240,240 + cnume_set = + DoCreate = .T. + Height = 500 + lnou = .F. + Name = "frm_set" + nid_modipara = 0 + nid_set = 0 + Width = 800 + _memberdata = + + + _SHAPE1.Anchor = 10 + _SHAPE1.Height = 29 + _SHAPE1.Left = 0 + _SHAPE1.Name = "_SHAPE1" + _SHAPE1.Top = 0 + _SHAPE1.Width = 801 + _SHAPE1.ZOrderSet = 2 + _SHAPE2.Anchor = 9 + _SHAPE2.Height = 29 + _SHAPE2.Left = 625 + _SHAPE2.Name = "_SHAPE2" + _SHAPE2.Top = 0 + _SHAPE2.Width = 180 + _SHAPE2.ZOrderSet = 3 + LB_TITLU_ALB_B121.Caption = "SET" + LB_TITLU_ALB_B121.Left = 6 + LB_TITLU_ALB_B121.Name = "LB_TITLU_ALB_B121" + LB_TITLU_ALB_B121.TabIndex = 13 + LB_TITLU_ALB_B121.ZOrderSet = 4 + BUT_TERMIN1.Anchor = 9 + BUT_TERMIN1.Left = 771 + BUT_TERMIN1.Name = "BUT_TERMIN1" + BUT_TERMIN1.TabIndex = 11 + BUT_TERMIN1.Top = 1 + BUT_TERMIN1.ZOrderSet = 5 + Gridsort1.Left = 432 + Gridsort1.Name = "Gridsort1" + Gridsort1.Top = 7 + * + + ADD OBJECT 'But_grafic1' AS but_grafic WITH ; + Anchor = 9, ; + Left = 713, ; + Name = "But_grafic1", ; + TabIndex = 10, ; + Top = 1, ; + ZOrderSet = 15 + *< END OBJECT: ClassLib="cmd_butoane.vcx" BaseClass="commandbutton" /> + + ADD OBJECT 'But_modifica1' AS but_modifica WITH ; + Anchor = 9, ; + Left = 653, ; + Name = "But_modifica1", ; + TabIndex = 8, ; + Top = 1, ; + ZOrderSet = 10 + *< END OBJECT: ClassLib="cmd_butoane.vcx" BaseClass="commandbutton" /> + + ADD OBJECT 'But_nou1' AS but_nou WITH ; + Anchor = 9, ; + Left = 623, ; + Name = "But_nou1", ; + TabIndex = 7, ; + Top = 1, ; + ZOrderSet = 9 + *< END OBJECT: ClassLib="cmd_butoane.vcx" BaseClass="commandbutton" /> + + ADD OBJECT 'But_renunt1' AS but_renunt WITH ; + Anchor = 9, ; + Left = 742, ; + Name = "But_renunt1", ; + TabIndex = 12, ; + Top = 1, ; + ZOrderSet = 12 + *< END OBJECT: ClassLib="cmd_butoane.vcx" BaseClass="commandbutton" /> + + ADD OBJECT 'But_sterge1' AS but_sterge WITH ; + Anchor = 9, ; + Left = 683, ; + Name = "But_sterge1", ; + TabIndex = 9, ; + Top = 1, ; + ZOrderSet = 11 + *< END OBJECT: ClassLib="cmd_butoane.vcx" BaseClass="commandbutton" /> + + ADD OBJECT 'Command2' AS commandbutton WITH ; + Anchor = 0, ; + AutoSize = .F., ; + Caption = "", ; + Comment = "*:onResize=lb", ; + Height = 17, ; + Left = 456, ; + Name = "Command2", ; + Picture = ..\..\grafice\ok.bmp, ; + TabIndex = 15, ; + ToolTipText = 'Bifeaza/debifeaza "ales"', ; + Top = 58, ; + Width = 20, ; + ZOrderSet = 16 + *< END OBJECT: BaseClass="commandbutton" /> + + ADD OBJECT 'Container_bal' AS container WITH ; + Anchor = 15, ; + BackColor = 255,255,255, ; + Height = 414, ; + Left = 484, ; + Name = "Container_bal", ; + TabIndex = 3, ; + Top = 79, ; + Visible = .F., ; + Width = 308, ; + ZOrderSet = 13 + *< END OBJECT: BaseClass="container" /> + + ADD OBJECT 'Container_bal.Container_text_cmd1' AS container_text_cmd WITH ; + Anchor = 10, ; + Height = 38, ; + Left = 84, ; + Name = "Container_text_cmd1", ; + Top = 6, ; + Width = 221, ; + edt.Anchor = 10, ; + edt.ControlSource = "pcPD1", ; + edt.FontSize = 10, ; + edt.Height = 38, ; + edt.Left = 0, ; + edt.Name = "edt", ; + edt.Top = -1, ; + edt.Width = 190, ; + CMD.Anchor = 8, ; + CMD.Left = 194, ; + CMD.Name = "CMD", ; + CMD.Top = 8 + *< END OBJECT: ClassLib="ferestre_seturi_indicatori.vcx" BaseClass="container" /> + + ADD OBJECT 'Container_bal.Container_text_cmd10' AS container_text_cmd WITH ; + Anchor = 10, ; + Height = 38, ; + Left = 84, ; + Name = "Container_text_cmd10", ; + Top = 357, ; + Width = 221, ; + edt.Anchor = 10, ; + edt.ControlSource = "pcSC", ; + edt.Height = 39, ; + edt.Left = 0, ; + edt.Name = "edt", ; + edt.Top = -1, ; + edt.Width = 190, ; + CMD.Anchor = 8, ; + CMD.Left = 194, ; + CMD.Name = "CMD", ; + CMD.Top = 8 + *< END OBJECT: ClassLib="ferestre_seturi_indicatori.vcx" BaseClass="container" /> + + ADD OBJECT 'Container_bal.Container_text_cmd2' AS container_text_cmd WITH ; + Anchor = 10, ; + Height = 38, ; + Left = 84, ; + Name = "Container_text_cmd2", ; + Top = 45, ; + Width = 221, ; + edt.Anchor = 10, ; + edt.ControlSource = "pcPC1", ; + edt.Height = 38, ; + edt.Left = 0, ; + edt.Name = "edt", ; + edt.Top = -1, ; + edt.Width = 190, ; + CMD.Anchor = 8, ; + CMD.Left = 194, ; + CMD.Name = "CMD", ; + CMD.Top = 8 + *< END OBJECT: ClassLib="ferestre_seturi_indicatori.vcx" BaseClass="container" /> + + ADD OBJECT 'Container_bal.Container_text_cmd3' AS container_text_cmd WITH ; + Anchor = 10, ; + Height = 38, ; + Left = 84, ; + Name = "Container_text_cmd3", ; + Top = 84, ; + Width = 221, ; + edt.Anchor = 10, ; + edt.ControlSource = "pcPD", ; + edt.Height = 38, ; + edt.Left = 0, ; + edt.Name = "edt", ; + edt.Top = -1, ; + edt.Width = 190, ; + CMD.Anchor = 8, ; + CMD.Left = 194, ; + CMD.Name = "CMD", ; + CMD.Top = 8 + *< END OBJECT: ClassLib="ferestre_seturi_indicatori.vcx" BaseClass="container" /> + + ADD OBJECT 'Container_bal.Container_text_cmd4' AS container_text_cmd WITH ; + Anchor = 10, ; + Height = 38, ; + Left = 84, ; + Name = "Container_text_cmd4", ; + Top = 123, ; + Width = 221, ; + edt.Anchor = 10, ; + edt.ControlSource = "pcPC", ; + edt.Height = 38, ; + edt.Left = 0, ; + edt.Name = "edt", ; + edt.Top = -1, ; + edt.Width = 190, ; + CMD.Anchor = 8, ; + CMD.Left = 194, ; + CMD.Name = "CMD", ; + CMD.Top = 8 + *< END OBJECT: ClassLib="ferestre_seturi_indicatori.vcx" BaseClass="container" /> + + ADD OBJECT 'Container_bal.Container_text_cmd5' AS container_text_cmd WITH ; + Anchor = 10, ; + Height = 38, ; + Left = 84, ; + Name = "Container_text_cmd5", ; + Top = 162, ; + Width = 221, ; + edt.Anchor = 10, ; + edt.ControlSource = "pcRD", ; + edt.Height = 39, ; + edt.Left = 0, ; + edt.Name = "edt", ; + edt.Top = -1, ; + edt.Width = 190, ; + CMD.Anchor = 8, ; + CMD.Left = 194, ; + CMD.Name = "CMD", ; + CMD.Top = 8 + *< END OBJECT: ClassLib="ferestre_seturi_indicatori.vcx" BaseClass="container" /> + + ADD OBJECT 'Container_bal.Container_text_cmd6' AS container_text_cmd WITH ; + Anchor = 10, ; + Height = 38, ; + Left = 84, ; + Name = "Container_text_cmd6", ; + Top = 201, ; + Width = 221, ; + edt.Anchor = 10, ; + edt.ControlSource = "pcRC", ; + edt.Height = 39, ; + edt.Left = 0, ; + edt.Name = "edt", ; + edt.Top = -1, ; + edt.Width = 190, ; + CMD.Anchor = 8, ; + CMD.Left = 194, ; + CMD.Name = "CMD", ; + CMD.Top = 8 + *< END OBJECT: ClassLib="ferestre_seturi_indicatori.vcx" BaseClass="container" /> + + ADD OBJECT 'Container_bal.Container_text_cmd7' AS container_text_cmd WITH ; + Anchor = 10, ; + Height = 38, ; + Left = 84, ; + Name = "Container_text_cmd7", ; + Top = 240, ; + Width = 221, ; + edt.Anchor = 10, ; + edt.ControlSource = "pcTD", ; + edt.Height = 39, ; + edt.Left = 0, ; + edt.Name = "edt", ; + edt.Top = -1, ; + edt.Width = 190, ; + CMD.Anchor = 8, ; + CMD.Left = 194, ; + CMD.Name = "CMD", ; + CMD.Top = 8 + *< END OBJECT: ClassLib="ferestre_seturi_indicatori.vcx" BaseClass="container" /> + + ADD OBJECT 'Container_bal.Container_text_cmd8' AS container_text_cmd WITH ; + Anchor = 10, ; + Height = 38, ; + Left = 84, ; + Name = "Container_text_cmd8", ; + Top = 279, ; + Width = 221, ; + edt.Anchor = 10, ; + edt.ControlSource = "pcTC", ; + edt.Height = 39, ; + edt.Left = 0, ; + edt.Name = "edt", ; + edt.Top = -1, ; + edt.Width = 190, ; + CMD.Anchor = 8, ; + CMD.Left = 194, ; + CMD.Name = "CMD", ; + CMD.Top = 8 + *< END OBJECT: ClassLib="ferestre_seturi_indicatori.vcx" BaseClass="container" /> + + ADD OBJECT 'Container_bal.Container_text_cmd9' AS container_text_cmd WITH ; + Anchor = 10, ; + Height = 38, ; + Left = 84, ; + Name = "Container_text_cmd9", ; + Top = 318, ; + Width = 221, ; + edt.Anchor = 10, ; + edt.ControlSource = "pcSD", ; + edt.Height = 39, ; + edt.Left = 0, ; + edt.Name = "edt", ; + edt.Top = -1, ; + edt.Width = 190, ; + CMD.Anchor = 8, ; + CMD.Left = 194, ; + CMD.Name = "CMD", ; + CMD.Top = 8 + *< END OBJECT: ClassLib="ferestre_seturi_indicatori.vcx" BaseClass="container" /> + + ADD OBJECT 'Container_bal.Label1' AS label WITH ; + AutoSize = .T., ; + BackStyle = 0, ; + Caption = "Sold Debit", ; + FontName = "Arial", ; + FontSize = 10, ; + Height = 18, ; + Left = 6, ; + Name = "Label1", ; + Top = 318, ; + Width = 62 + *< END OBJECT: BaseClass="label" /> + + ADD OBJECT 'Container_bal.Label10' AS label WITH ; + AutoSize = .T., ; + BackStyle = 0, ; + Caption = "Prec. Credit", ; + FontName = "Arial", ; + FontSize = 10, ; + Height = 18, ; + Left = 6, ; + Name = "Label10", ; + Top = 40, ; + Width = 71 + *< END OBJECT: BaseClass="label" /> + + ADD OBJECT 'Container_bal.Label11' AS label WITH ; + AutoSize = .T., ; + BackStyle = 0, ; + Caption = "1 ian.", ; + FontName = "Arial", ; + FontSize = 10, ; + Height = 18, ; + Left = 47, ; + Name = "Label11", ; + Top = 14, ; + Width = 34 + *< END OBJECT: BaseClass="label" /> + + ADD OBJECT 'Container_bal.Label12' AS label WITH ; + AutoSize = .T., ; + BackStyle = 0, ; + Caption = "1 ian.", ; + FontName = "Arial", ; + FontSize = 10, ; + Height = 18, ; + Left = 47, ; + Name = "Label12", ; + Top = 51, ; + Width = 34 + *< END OBJECT: BaseClass="label" /> + + ADD OBJECT 'Container_bal.Label2' AS label WITH ; + AutoSize = .T., ; + BackStyle = 0, ; + Caption = "Sold Credit", ; + FontName = "Arial", ; + FontSize = 10, ; + Height = 18, ; + Left = 6, ; + Name = "Label2", ; + Top = 357, ; + Width = 66 + *< END OBJECT: BaseClass="label" /> + + ADD OBJECT 'Container_bal.Label3' AS label WITH ; + AutoSize = .T., ; + BackStyle = 0, ; + Caption = "Total Debit", ; + FontName = "Arial", ; + FontSize = 10, ; + Height = 18, ; + Left = 6, ; + Name = "Label3", ; + Top = 240, ; + Width = 64 + *< END OBJECT: BaseClass="label" /> + + ADD OBJECT 'Container_bal.Label4' AS label WITH ; + AutoSize = .T., ; + BackStyle = 0, ; + Caption = "Total Credit", ; + FontName = "Arial", ; + FontSize = 10, ; + Height = 18, ; + Left = 6, ; + Name = "Label4", ; + Top = 279, ; + Width = 68 + *< END OBJECT: BaseClass="label" /> + + ADD OBJECT 'Container_bal.Label5' AS label WITH ; + AutoSize = .T., ; + BackStyle = 0, ; + Caption = "Rulaj Debit", ; + FontName = "Arial", ; + FontSize = 10, ; + Height = 18, ; + Left = 6, ; + Name = "Label5", ; + Top = 162, ; + Width = 65 + *< END OBJECT: BaseClass="label" /> + + ADD OBJECT 'Container_bal.Label6' AS label WITH ; + AutoSize = .T., ; + BackStyle = 0, ; + Caption = "Rulaj Credit", ; + FontName = "Arial", ; + FontSize = 10, ; + Height = 18, ; + Left = 6, ; + Name = "Label6", ; + Top = 202, ; + Width = 69 + *< END OBJECT: BaseClass="label" /> + + ADD OBJECT 'Container_bal.Label7' AS label WITH ; + AutoSize = .T., ; + BackStyle = 0, ; + Caption = "Prec. Debit", ; + FontName = "Arial", ; + FontSize = 10, ; + Height = 18, ; + Left = 6, ; + Name = "Label7", ; + Top = 85, ; + Width = 67 + *< END OBJECT: BaseClass="label" /> + + ADD OBJECT 'Container_bal.Label8' AS label WITH ; + AutoSize = .T., ; + BackStyle = 0, ; + Caption = "Prec. Credit", ; + FontName = "Arial", ; + FontSize = 10, ; + Height = 18, ; + Left = 6, ; + Name = "Label8", ; + Top = 123, ; + Width = 71 + *< END OBJECT: BaseClass="label" /> + + ADD OBJECT 'Container_bal.Label9' AS label WITH ; + AutoSize = .T., ; + BackStyle = 0, ; + Caption = "Prec. Debit", ; + FontName = "Arial", ; + FontSize = 10, ; + Height = 18, ; + Left = 6, ; + Name = "Label9", ; + Top = 3, ; + Width = 67 + *< END OBJECT: BaseClass="label" /> + + ADD OBJECT 'container_functii' AS container WITH ; + Anchor = 15, ; + BackColor = 255,255,255, ; + Height = 414, ; + Left = 484, ; + Name = "container_functii", ; + TabIndex = 4, ; + Top = 166, ; + Visible = .F., ; + Width = 308, ; + ZOrderSet = 1 + *< END OBJECT: BaseClass="container" /> + + ADD OBJECT 'container_functii.edtFormFct' AS textbox WITH ; + Anchor = 15, ; + ControlSource = "pcFormula", ; + Height = 24, ; + Left = 7, ; + Name = "edtFormFct", ; + ReadOnly = .T., ; + Top = 31, ; + Width = 295 + *< END OBJECT: BaseClass="textbox" /> + + ADD OBJECT 'container_functii.Label2' AS label WITH ; + AutoSize = .T., ; + BackStyle = 0, ; + Caption = "Formula", ; + Height = 17, ; + Left = 8, ; + Name = "Label2", ; + Top = 12, ; + Width = 48 + *< END OBJECT: BaseClass="label" /> + + ADD OBJECT 'Container_randuri' AS container WITH ; + Anchor = 15, ; + BackColor = 255,255,255, ; + Height = 414, ; + Left = 484, ; + Name = "Container_randuri", ; + TabIndex = 5, ; + Top = 79, ; + Visible = .F., ; + Width = 308, ; + ZOrderSet = 14 + *< END OBJECT: BaseClass="container" /> + + ADD OBJECT 'Container_randuri.cmd' AS commandbutton WITH ; + Anchor = 8, ; + Caption = "", ; + Height = 21, ; + Left = 279, ; + Name = "cmd", ; + Picture = ..\grafice\wzedit.bmp, ; + Top = 7, ; + Width = 24 + *< END OBJECT: BaseClass="commandbutton" /> + + ADD OBJECT 'Container_randuri.edtFormRd' AS editbox WITH ; + Anchor = 15, ; + ControlSource = "pcFormula", ; + FontSize = 10, ; + Height = 373, ; + Left = 7, ; + Name = "edtFormRd", ; + ReadOnly = .T., ; + Top = 30, ; + Width = 296 + *< END OBJECT: BaseClass="editbox" /> + + ADD OBJECT 'Container_randuri.Label2' AS label WITH ; + AutoSize = .T., ; + BackStyle = 0, ; + Caption = "Formula", ; + FontSize = 10, ; + Height = 18, ; + Left = 8, ; + Name = "Label2", ; + Top = 10, ; + Width = 49 + *< END OBJECT: BaseClass="label" /> + + ADD OBJECT 'Container_rj' AS container WITH ; + Anchor = 15, ; + BackColor = 255,255,255, ; + Height = 412, ; + Left = 484, ; + Name = "Container_rj", ; + TabIndex = 6, ; + Top = 79, ; + Visible = .F., ; + Width = 308, ; + ZOrderSet = 0 + *< END OBJECT: BaseClass="container" /> + + ADD OBJECT 'Container_rj.cmd' AS commandbutton WITH ; + Alignment = 4, ; + Anchor = 8, ; + Caption = "", ; + Height = 21, ; + Left = 280, ; + Name = "cmd", ; + Picture = ..\grafice\wzedit.bmp, ; + Top = 7, ; + Width = 22 + *< END OBJECT: BaseClass="commandbutton" /> + + ADD OBJECT 'Container_rj.grid_formule_rj' AS _grdrow WITH ; + Anchor = 15, ; + ColumnCount = 2, ; + DeleteMark = .T., ; + Height = 371, ; + HighlightStyle = 2, ; + Left = 7, ; + Name = "grid_formule_rj", ; + Panel = 1, ; + RecordMark = .F., ; + RecordSource = "tLista_rj", ; + RowHeight = 19, ; + Top = 35, ; + Width = 295, ; + Column1.ControlSource = "camp_numeT", ; + Column1.FontName = "Arial", ; + Column1.FontSize = 10, ; + Column1.Name = "Column1", ; + Column1.Width = 129, ; + Column2.ControlSource = "traducere", ; + Column2.FontName = "Arial", ; + Column2.FontSize = 10, ; + Column2.Name = "Column2", ; + Column2.Width = 178 + *< END OBJECT: ClassLib="_grd_base.vcx" BaseClass="grid" /> + + ADD OBJECT 'Container_rj.grid_formule_rj.Column1.Header1' AS header WITH ; + Alignment = 2, ; + Caption = "Camp", ; + FontName = "Arial", ; + FontSize = 10, ; + Name = "Header1" + *< END OBJECT: BaseClass="header" /> + + ADD OBJECT 'Container_rj.grid_formule_rj.Column1.Text1' AS textbox WITH ; + BackColor = 255,255,255, ; + BorderStyle = 0, ; + FontName = "Arial", ; + FontSize = 10, ; + ForeColor = 0,0,0, ; + Margin = 0, ; + Name = "Text1", ; + SelectedBackColor = 100,185,255 + *< END OBJECT: BaseClass="textbox" /> + + ADD OBJECT 'Container_rj.grid_formule_rj.Column2.Header1' AS header WITH ; + Alignment = 2, ; + Caption = "Conditie", ; + FontName = "Arial", ; + FontSize = 10, ; + Name = "Header1" + *< END OBJECT: BaseClass="header" /> + + ADD OBJECT 'Container_rj.grid_formule_rj.Column2.Text1' AS textbox WITH ; + BackColor = 255,255,255, ; + BorderStyle = 0, ; + FontName = "Arial", ; + FontSize = 10, ; + ForeColor = 0,0,0, ; + Margin = 0, ; + Name = "Text1", ; + SelectedBackColor = 100,185,255 + *< END OBJECT: BaseClass="textbox" /> + + ADD OBJECT 'grid_set' AS _grdrow WITH ; + Anchor = 5, ; + ColumnCount = 5, ; + DeleteMark = .T., ; + FontName = "Arial", ; + Height = 414, ; + HighlightStyle = 2, ; + Left = 6, ; + Name = "grid_set", ; + Panel = 1, ; + ReadOnly = .T., ; + RecordMark = .F., ; + RecordSource = "m_indicatori", ; + TabIndex = 2, ; + Top = 79, ; + Width = 471, ; + ZOrderSet = 6, ; + Column1.ControlSource = "rand", ; + Column1.FontName = "Arial", ; + Column1.Name = "cRand", ; + Column1.ReadOnly = .T., ; + Column1.Width = 42, ; + Column2.ControlSource = "nume_ind", ; + Column2.FontName = "Arial", ; + Column2.Name = "cNume_ind", ; + Column2.ReadOnly = .T., ; + Column2.Width = 277, ; + Column3.ControlSource = "ales", ; + Column3.FontName = "Arial", ; + Column3.Name = "cAles", ; + Column3.ReadOnly = .F., ; + Column3.Sparse = .F., ; + Column3.Width = 29, ; + Column4.ColumnOrder = 5, ; + Column4.ControlSource = 'iif(!EMPTY(comentariu) and !isnull(comentariu) ,"*","")', ; + Column4.FontName = "Arial", ; + Column4.Name = "cComentariu", ; + Column4.ReadOnly = .T., ; + Column4.Width = 16, ; + Column5.ColumnOrder = 4, ; + Column5.ControlSource = 'iif(tip=1,"Balanta",iif(tip=2,"Registru jurnal",iif(tip=3,"Facturi",iif(tip=4,"Altfel",iif(tip=5,"Rd.",iif(tip=6,"Functie","Necunoscut"))))))', ; + Column5.FontName = "Arial", ; + Column5.Name = "Column5", ; + Column5.ReadOnly = .T., ; + Column5.Width = 85 + *< END OBJECT: ClassLib="_grd_base.vcx" BaseClass="grid" /> + + ADD OBJECT 'grid_set.cAles.Check1' AS checkbox WITH ; + Alignment = 0, ; + Caption = "", ; + FontName = "Arial", ; + Height = 17, ; + Left = 19, ; + Name = "Check1", ; + ReadOnly = .F., ; + Top = 47, ; + Width = 60 + *< END OBJECT: BaseClass="checkbox" /> + + ADD OBJECT 'grid_set.cAles.Header1' AS header WITH ; + Alignment = 2, ; + Caption = "Ales", ; + FontName = "Arial", ; + Name = "Header1" + *< END OBJECT: BaseClass="header" /> + + ADD OBJECT 'grid_set.cComentariu.Header1' AS header WITH ; + Alignment = 2, ; + Caption = "?", ; + FontName = "Arial", ; + Name = "Header1" + *< END OBJECT: BaseClass="header" /> + + ADD OBJECT 'grid_set.cComentariu.Text1' AS textbox WITH ; + FontName = "Arial", ; + Height = 23, ; + Left = 0, ; + Name = "Text1", ; + SelectedBackColor = 100,185,255, ; + Top = 23, ; + Width = 100 + *< END OBJECT: BaseClass="textbox" /> + + ADD OBJECT 'grid_set.cNume_ind.Header1' AS header WITH ; + Alignment = 2, ; + Caption = "Nume indicator", ; + FontName = "Arial", ; + Name = "Header1" + *< END OBJECT: BaseClass="header" /> + + ADD OBJECT 'grid_set.cNume_ind.Text1' AS textbox WITH ; + BackColor = 255,255,255, ; + BorderStyle = 0, ; + FontName = "Arial", ; + ForeColor = 0,0,0, ; + Margin = 0, ; + Name = "Text1", ; + ReadOnly = .T., ; + SelectedBackColor = 100,185,255 + *< END OBJECT: BaseClass="textbox" /> + + ADD OBJECT 'grid_set.Column5.Header1' AS header WITH ; + Alignment = 2, ; + Caption = "Tip", ; + FontName = "Arial", ; + Name = "Header1" + *< END OBJECT: BaseClass="header" /> + + ADD OBJECT 'grid_set.Column5.Text1' AS textbox WITH ; + BackColor = 255,255,255, ; + BorderStyle = 0, ; + FontName = "Arial", ; + ForeColor = 0,0,0, ; + Margin = 0, ; + Name = "Text1", ; + ReadOnly = .T., ; + SelectedBackColor = 100,185,255 + *< END OBJECT: BaseClass="textbox" /> + + ADD OBJECT 'grid_set.cRand.Header1' AS header WITH ; + Alignment = 2, ; + Caption = "Rand", ; + FontName = "Arial", ; + Name = "Header1" + *< END OBJECT: BaseClass="header" /> + + ADD OBJECT 'grid_set.cRand.Text1' AS textbox WITH ; + BackColor = 255,255,255, ; + BorderStyle = 0, ; + FontName = "Arial", ; + ForeColor = 0,0,0, ; + Margin = 0, ; + Name = "Text1", ; + ReadOnly = .T., ; + SelectedBackColor = 100,185,255 + *< END OBJECT: BaseClass="textbox" /> + + ADD OBJECT 'Label1' AS label WITH ; + AutoSize = .T., ; + BackStyle = 0, ; + Caption = "Nume set", ; + Height = 17, ; + Left = 6, ; + Name = "Label1", ; + TabIndex = 14, ; + Top = 37, ; + Width = 56, ; + ZOrderSet = 7 + *< END OBJECT: BaseClass="label" /> + + ADD OBJECT 'txtNume_set' AS textbox WITH ; + ControlSource = "Thisform.cNume_set", ; + Format = "k", ; + Height = 23, ; + Left = 64, ; + Name = "txtNume_set", ; + TabIndex = 1, ; + Top = 34, ; + Width = 365, ; + ZOrderSet = 8 + *< END OBJECT: BaseClass="textbox" /> + + PROCEDURE do_adauga + LOCAL lcTabel, llSucces + lcTabel = thisform.grid_set.RecordSource + llSucces = adauga_indicator(thisform.nId_set, m.lcTabel) && IN oproceduri_seturi_indicatori.prg + + IF EMPTY(thisform.nId_set) + thisform.nId_set = &lcTabel..id_set + ENDIF + + thisform.grid_set.SetFocus() + ENDPROC + + PROCEDURE do_grafic + #DEFINE CRLF CHR(13) + CHR(10) + + THISFORM.ALWAYSONTOP = .F. + DO make_venChelt IN oproceduri_manager.prg + + PRIVATE pnId_set, pnLunaI, pnAnulI, pnLunaF, pnAnulF, pnCumul, pnCount, pcNume_set, pnId_sectie, pnId_venchelt + PRIVATE pnColoaneCheltuieliVenituri + pnColoaneCheltuieliVenituri = 0 + STORE 0 TO pnId_set, pnId_sectie, pnId_venchelt, pnCount && cate inregistrari are setul + pnId_set = THISFORM.nId_set + STORE '' TO pcNume_set + + + LOCAL lcAlias, llFaraGrafic, lcNumeSet + + lcSel = THISFORM.grid_set.RECORDSOURCE + lcNumeSet = THISFORM.txtnume_set.VALUE + + IF THISFORM.lNou + PRIVATE pnIndAct, pnIndBal + STORE 0 TO pnIndAct, pnIndBal + + lcfisier_export = gcTempPath + lcSel+".dbf" + *Do calculeaza_set With lcfisier_export, lcNumeSet In oproceduri_seturi_indicatori.prg + + SELECT DISTINCT id_set, ; + gnLuna AS lunaI, gnAn AS anulI, ; + gnLuna AS lunaF, gnAn AS anulF, ; + 00 AS cumul ; + FROM (lcSel) ; + INTO CURSOR cParametri + + SELECT COUNT(*) AS nrIndAct ; + FROM (lcSel) ; + WHERE tip = 2 ; + INTO CURSOR crsIndAct + + SELECT COUNT(*) AS nrIndBal ; + FROM (lcSel) ; + WHERE tip = 1 OR tip = 6 ; + INTO CURSOR crsIndBal + + SELECT crsIndAct + pnIndAct = nrIndAct + SELECT crsIndBal + pnIndBal = nrIndBal + + IF USED('nrIndAct') + USE IN nrIndAct + ENDIF + + IF USED('crsIndBal') + USE IN crsIndBal + ENDIF + + SELECT cParametri + SCATTER NAME poset + + poset.lunaI = gnLuna + poset.anulI = gnAn + poset.lunaF = gnLuna + poset.anulF = gnAn + poset.cumul = 1 && luni + + loexport = CREATEOBJECT("frm_parametri_calcul",pnIndAct,pnIndBal) + loexport.lb_titlu_alb_b121.CAPTION = ALLTRIM(lcNumeSet) + loexport.SHOW(1) + + IF buton = 2 + RETURN + ENDIF + + pnAnulI = poset.anulI + pnLunaI = poset.lunaI + pnAnulF = poset.anulF + pnLunaF = poset.lunaF + pnCumul = poset.cumul + + IF USED("cParametri") + USE IN cParametri + ENDIF + + ELSE + THISFORM.do_modiparam() + + IF buton = 2 + RETURN + ENDIF + + DO CASE + CASE THISFORM.nId_modipara = 1 && toate seturile + IF USED("crsSeturi") && situatii financiare + SELECT crsSeturi + ENDIF + IF USED("t_seturi") + SELECT t_seturi + ENDIF + CASE THISFORM.nId_modipara = 2 && seturi uzuale + PRIVATE poSetUz, pcschema1, pcselect1 + STORE '' TO poSetUz + pcschema1 = [] + pcselect1 = ['select * from mg_seturi_uzuale where 1=2'] + pcorder1 = [] + pcfiltru1 = [id_util =] + ALLTRIM(STR(gnIdUtil)) + llAfiseaza = .F. + gencursor('poSetUz','cIntermediar',pcselect1,pcfiltru1,pcschema1,pcorder1,llAfiseaza) + poSetUz.ca_baza1.afisare() + + IF USED('crsSeturiUzuale') + USE IN crsSeturiUzuale + ENDIF + + USE DBF("cIntermediar") IN 0 AGAIN ALIAS crsSeturiUzuale + IF USED("cIntermediar") + USE IN cIntermediar + ENDIF + + SELECT crsSeturiUzuale + ENDCASE + + LOCATE FOR id_set = THISFORM.nId_set + IF FOUND() + pnAnulI = anulI + pnLunaI = lunaI + pnAnulF = anulF + pnLunaF = lunaF + pnCumul = cumul + ELSE + RETURN + ENDIF + + IF faraGrafic = 0 + llFaraGrafic = .F. + ELSE + llFaraGrafic = .T. + ENDIF + + IF USED("crsSeturiUzuale") + USE IN crsSeturiUzuale + ENDIF + + ENDIF + + && daca creez coloane pentru fiecare tip chelt/venit apelez calculul setului pentru fiecare tip chelt/venit + && selectez numai tipurile de chelt/venituri pentru sectia si perioada aleasa + lcListaXtab = "" + IF pnColoaneCheltuieliVenituri = 1 + lcSel = [SELECT DISTINCT A.ID_VENCHELT, V.EXPLICATIE FROM ACT A ] + ; + [LEFT JOIN VNOM_VENCHEL V ON A.ID_VENCHELT = V.ID_VENCHELT ] + ; + [WHERE A.STERS = 0 AND A.an*12+A.luna between ?pnAnulI*12 + ?pnLunaI AND ?pnAnulF*12+?pnLunaF] + ; + IIF(!EMPTY(pnId_Sectie), [ AND A.ID_SECTIE = ?pnId_Sectie], []) + ; + STRTRAN(gcCondSucursala,[id_sucursala],[a.id_sucursala]) + lcSel = lcSel + [ ORDER BY NVL(V.EXPLICATIE,'_')] + lnSucces = goExecutor.oExecute(lcSel, "cVenCheltTemp") + IF lnSucces < 0 + AMESSAGEBOX(goExecutor.oPrelucrareEroare(),0+16,'Eroare') + RETURN + ENDIF + + SELECT cVenCheltTemp + SCAN && FOR NVL(id_venchelt,0) <> 0 + lcCheltuiala = strtranx(ALLTRIM(cVenCheltTemp.explicatie), "[^a-z0-9]",[_],1,,1) + pnId_venchelt = id_venchelt + IF NVL(id_venchelt,0) = 0 + pnId_venchelt = 99999 + lcCheltuiala = "Fara_tip_cheltuiala" + ENDIF + + WAIT WINDOW 'Se calculeaza ' + lcCheltuiala + " " + ALLTRIM(STR(RECNO())) + '/' + ALLTRIM(STR(RECCOUNT())) + ' ...' NOWAIT + + && DACA APAS ESC IES DIN SCAN CU CE AM CALCULAT PANA ACUM + lnKeyCode = INKEY(0.5) + IF lnKeyCode = 27 && ESC + EXIT + ENDIF + lcSel = [{call PACK_MG_EVOLUTIE.GEN_MG_INDICATORI(?pnLunaI,?pnAnulI,?pnLunaF,?pnAnulF,?pnCumul,?pnId_sectie,?pnId_venchelt)}] + lcCursor = 'xtab_o' + ALLTRIM(STR(pnId_venchelt)) + lnSucces = goExecutor.oExecute(lcSel,lcCursor) + IF lnSucces < 0 + AMESSAGEBOX(goExecutor.cEroare,0+16,"Eroare") + RETURN + ENDIF + + lcListaXtab = lcListaXtab + lcCursor + ";" + lcCheltuiala + "," + ENDSCAN + USE IN (SELECT('cVenCheltTemp')) + pnId_venchelt = 0 + lcSelect = "" + + && creez un cursor cu toate coloanele din xtab_o prin join + lcSelect = MAKE_XTABO_VENCHELT(lcListaXtab) && oproceduri_evolutie.prg + + IF !USED('xtab_o') + RETURN + ENDIF + + ELSE + lcSel = [{call PACK_MG_EVOLUTIE.GEN_MG_INDICATORI(?pnLunaI,?pnAnulI,?pnLunaF,?pnAnulF,?pnCumul,?pnId_sectie,?pnId_venchelt)}] + lcCursor = 'xtab_o' + lnSucces = goExecutor.oExecute(lcSel,lcCursor) + IF lnSucces < 0 + AMESSAGEBOX(goExecutor.cEroare,0+16,"Eroare") + RETURN + ENDIF + ENDIF + + SELECT xtab_o + IF RECCOUNT()=0 + amessagebox('Raportul nu contine nici o informatie!',0+48,"Atentie") + IF USED('xtab_o') + USE IN xtab_o + ENDIF + RETURN + ENDIF + ***--------- + PRIVATE poset + STORE '' TO poset + + LOCAL lcSchema1, lcSelect1, lcOrder1, lcFiltru1, llAfiseaza + lcSchema1 = [] + lcSelect1 = [select id_ind, ales from mg_tmp_indicatori] + lcOrder1 = [] + lcgroup = [] + lcFiltru1 = [ales=1 and id_set=]+ALLTRIM(STR(THISFORM.nId_set)) + lcFiltruOriginal = [] + llModParam = .T. + llAfiseaza = .F. + + gencursor('poSet','crsSet', lcSelect1, lcFiltru1, lcSchema1, lcOrder1, llAfiseaza, lcgroup, llModParam, lcFiltruOriginal) + poset.ca_baza1.afisare() + + ***--------- + lcFisXtab = gcTempPath + "xtab.dbf" + SELECT crsSet + LOCATE FOR ales = 1 + IF FOUND() + SELECT x.* ; + FROM xtab_o x JOIN crsSet i ON i.id_ind = x.id_ind ; + ORDER BY ord_rand, RAND INTO CURSOR XTAB READWRITE + *!* ORDER BY ord_rand, RAND INTO TABLE (lcFisXtab) + ELSE + SELECT x.* ; + FROM xtab_o x ; + ORDER BY ord_rand, RAND INTO CURSOR XTAB READWRITE + *!* ORDER BY ord_rand, RAND INTO TABLE (lcFisXtab) + ENDIF + lcFisXtab = DBF('XTAB') + + IF USED("crsSet") + USE IN crsSet + ENDIF + RELEASE poset + + DO viz_set_calc WITH 'xtab', THISFORM.nId_set, llFaraGrafic, lcNumeSet, pnId_sectie, pnId_venchelt + + RELEASE loSet + IF USED('xtab') + USE IN XTAB + ENDIF + + THISFORM.ALWAYSONTOP = .T. + + ENDPROC + + PROCEDURE do_modifica + LOCAL lcTabel, lnId_ind, llSucces + lcTabel = thisform.grid_set.RecordSource + SELECT (lcTabel) + lnId_ind = id_ind + + llSucces = modifica_indicator(thisform.nId_set, lnId_ind, m.lcTabel) && IN oproceduri_seturi_indicatori.prg + thisform.grid_set.SetFocus() + ENDPROC + + PROCEDURE do_modiparam + Local lcTabel, lcAlias + + lcTabel = Thisform.grid_set.RecordSource + Select (lcTabel) + + Private pnId_set, pnId_modipara + pnId_set = Thisform.nId_set + pnId_modipara = Thisform.nid_modipara + + lcSel = [{call pack_mg_evolutie.get_set_linie(?pnId_set, ?pnId_modipara, ?gnIdutil)}] + lcCursor = 'crsSet' + lnSucces = goExecutor.oExecute(lcSel,lcCursor) + + If lnSucces < 0 + amessagebox('Call pack_mg_evolutie.get_set_linie' + Chr(13) + goExecutor.cEroare,0+16,"Eroare") + Return + Endif + + ***---------- + Do Case + Case Thisform.nid_modipara = 1 && toate seturile + If Used("crsSeturi") && situatii financiare + Select crsSeturi + LOCATE FOR id_set = pnId_set + lcAlias = 'crsSeturi' + Endif + If Used("t_seturi") + Select t_seturi + LOCATE FOR id_set = pnId_set + lcAlias = 't_seturi' + Endif + Case Thisform.nid_modipara = 2 && seturi uzuale + Private poSetUz, pcschema1, pcselect1 + Store '' To poSetUz + pcschema1 = [] + pcselect1 = ['select * from mg_seturi_uzuale where 1=2'] + pcorder1 = [] + pcfiltru1 = [id_util =] + Alltrim(Str(gnIdUtil)) + llAfiseaza = .F. + gencursor('poSetUz','cIntermediar',pcselect1,pcfiltru1,pcschema1,pcorder1,llAfiseaza) + poSetUz.ca_baza1.afisare() + + If Used('crsSeturiUzuale') + SELECT crsSeturiUzuale + Use In crsSeturiUzuale + Endif + Use Dbf("cIntermediar") In 0 Again Alias crsSeturiUzuale + If Used("cIntermediar") + Use In cIntermediar + ENDIF + + SELECT crsSeturiUzuale + LOCATE FOR id_set = pnId_set + + Select crsSeturiUzuale + lcAlias = 'crsSeturiUzuale' + Endcase + ***-------------- + + *DO modifica_parametri WITH pnId_modipara, 'crsSet' IN oproceduri_seturi_indicatori.prg + Local llDinFormModi + llDinFormModi = .T. + Do modifica_parametri With pnId_modipara, lcAlias, llDinFormModi In oproceduri_seturi_indicatori.prg + + If Used("crsSet") + Use In crsSet + Endif + + ENDPROC + + PROCEDURE do_sterge + THISFORM.LOCKSCREEN = .T. + + *!* DEBUG + *!* SUSPEND + + PRIVATE pnid_ind + STORE 0 TO pnid_ind + + LOCAL lcTabel, lnInreg, lnRec, lnRaspuns + lcTabel = ALLTRIM(THISFORM.grid_set.RECORDSOURCE) + STORE 0 TO lnInreg + + SELECT (lcTabel) + IF RECCOUNT()>0 + lnRec = RECNO() && imi intoarece o valoare negativa = nr. inregistarilor adaugate + + + *!* lcMesaj = "Doriti sa stergeti inregistrarea?" + *!* lcTitlu = "Stergere" + + *!* lcimagine = [intreb.ico] + *!* lctip = [Intrebare] + *!* ofrm_intreb = Createobject('frm_mesaj',lcTitlu,lcimagine,lctip,lcMesaj) + *!* ofrm_intreb.Show(1) + *!* Release ofrm_intreb + + *!* If buton = 2 + *!* Return + *!* Endif + + lnRaspuns = amessagebox('Doriti sa stergeti indicatorul?',4+32,"Confirmare") + IF lnRaspuns = 7 && 7 = No ; 6 = Yes + THISFORM.LOCKSCREEN = .F. + RETURN + ENDIF + + save_grid_tag(THIS.grid_set) + + && sterg de pe server si le iau din nou + + *!* pnid_ind = &lcTabel..id_ind + *!* lcSql = [begin PACK_MG_EVOLUTIE.sterge_indicator(?pnId_set); end;] + *!* lnSucces = goExecutor.oExecute(lcSql) + + *!* If lnSucces < 0 + *!* Messagebox('sterge_indicator'+goExecutor.cEroare,0+16,"Eroare") + *!* Return + *!* ENDIF + *** + + *!* IF USED(lcTabel) + *!* USE IN &lcTabel + *!* ENDIF + *** + pcExec = [update mg_tmp_indicatori set sters = 1 where id_ind = ]+ ALLTRIM(STR(&lcTabel..id_ind)) + + lnSucces = goExecutor.oExecute(pcExec) + IF lnSucces < 0 + lcTextEroare = goExecutor.cEroare + AMESSAGEBOX(lcTextEroare,48,"Eroare") + RETURN + ENDIF + + IF USED(lcTabel) + USE IN &lcTabel + ENDIF + *** + PRIVATE poSetS,pcschema1,pcselect1 + STORE '' TO poSetS + pcschema1=[''] + pcselect1=['select id_ind, id_set, rand, ord_rand, nume_ind, formula, ales, tip, comentariu, sters from mg_tmp_indicatori where 1=2'] + pcorder1 = [] + pcfiltru1 = [sters=0 and id_set = ] +ALLTRIM(STR(THISFORM.nId_set)) + llAfiseaza = .F. + gencursor('poSetS','crsIntermediar',pcselect1,pcfiltru1,pcschema1,pcorder1,llAfiseaza) + poSetS.ca_baza1.afisare() + + SELECT * FROM crsIntermediar INTO CURSOR m_indicatori READWRITE ORDER BY RAND + RELEASE poSetS + + restore_grid_tag(THIS.grid_set) + + *!* CALCULATE CNT() FOR !DELETED() TO lnInreg + *!* WAIT WINDOW "lnInreg="+ALLTRIM(STR(lnInreg)) + *!* WAIT WINDOW "lnRec="+ALLTRIM(STR(lnrec)) + *!* + *!* IF lnRec >= lnInreg + *!* GOTO lnRec + *!* ELSE + *!* GO BOTTOM + *!* ENDIF + + THISFORM.grid_set.SETFOCUS + ENDIF + + THISFORM.LOCKSCREEN = .F. + + + ENDPROC + + PROCEDURE inainte_de_do_termin + Private pnId_set, pcNume_set, pnCumul, pnFaraGrafic + Local lcSql, llSucces, lcTabel + + pnId_set = Thisform.nId_set + pcNume_set = Alltrim(Nvl(Thisform.cNume_set, '')) + llSucces = .F. + lcTabel = Thisform.grid_set.RecordSource + pnCumul = 1 + pnFaraGrafic = 1 + + Select (lcTabel) + If Reccount() > 0 + If Empty(pcNume_set) + amessagebox('Completati numele setului!', 0 + 48, "Atentie") + Return m.llSucces + Endif + Endif + + * Adauga set nou + If This.lNou + lcSql = [begin PACK_MG_EVOLUTIE.adauga_set(?pnId_set, ?pcNume_set, ?gnLuna, ?gnAn, ?gnLuna, ?gnAn, ?pnCumul); end;] + llSucces = goExecutor.oExecuta(lcSql) + Else + llSucces = .T. + Endif + + * Copiaza indicatori din mg_tmp_indicatori in mg_indicatori + If m.llSucces + lcSql = [begin PACK_MG_EVOLUTIE.SET_SET(?pnId_set); end;] + llSucces = goExecutor.oExecuta(lcSql) + Endif + + * Modifica nume set + If m.llSucces + lcSql = [begin PACK_MG_EVOLUTIE.modifica_set(?pnId_set,?pcNume_set);end;] + llSucces = goExecutor.oExecuta(lcSql) + Endif + + + * Adaug set uzual + If This.lNou AND this.nid_modipara = 2 && uzual + lcSql = [begin PACK_MG_EVOLUTIE.adauga_uzual(?pnId_set,?gnIdUtil, ?gnLuna, ?gnAn, ?gnLuna, ?gnAn, ?pnCumul, ?pnFaraGrafic); end;] + llSucces = goExecutor.oExecuta(lcSql) + + If m.llSucces + oprinc.set_uzual_requery + Endif + Endif + + Return m.llSucces + ENDPROC + + PROCEDURE Init + PARAMETERS tnId_set, tcNume_set, tlNou, tnId_modiPara + + DODEFAULT() + + thisform.nId_set = m.tnId_set + thisform.cNume_set = m.tcNume_set + thisform.nId_modipara = m.tnId_modiPara + thisform.lNou = m.tlNou + + thisform.grid_set.AfterRowColChange + + this.Width = INT(_screen.Width*0.7) + this.Height = INT(_screen.Height*0.7) + this.AutoCenter = .T. + ENDPROC + + PROCEDURE Release + IF USED('cVenChelt') + USE IN cVenChelt + ENDIF + ENDPROC + + PROCEDURE send_formula + Private pnId_ind, pnId_set &&, pcFormula + Store 0 To pnId_ind + pnId_set = Thisform.nId_set + + Local lcTabel, lnTip + lcTabel = Thisform.grid_set.RecordSource + pnId_ind = &lcTabel..id_ind + If Empty(pnId_ind) + lcSql = [begin PACK_MG_EVOLUTIE.next_id_ind(?@pnId_ind); end;] + lnSucces = goExecutor.oExecute(lcSql) + + If lnSucces < 0 + AMessagebox(goExecutor.cEroare,0+16,"Eroare") + Return + Endif + Endif + + lnTip = &lcTabel..tip + + Do Case + Case lnTip = 1 && balanta + pcFormula = '' + If !Empty(pcPD1) + pcFormula = pcFormula + ''+Alltrim(pcPD1)+";" + Endif + If !Empty(pcPC1) + pcFormula = pcFormula + ''+Alltrim(pcPC1)+";" + Endif + If !Empty(pcPD) + pcFormula = pcFormula + ''+Alltrim(pcPD)+";" + Endif + If !Empty(pcPC) + pcFormula = pcFormula + ''+Alltrim(pcPC)+";" + Endif + If !Empty(pcRD) + pcFormula = pcFormula + ''+Alltrim(pcRD)+";" + Endif + If !Empty(pcRC) + pcFormula = pcFormula + ''+Alltrim(pcRC)+";" + Endif + If !Empty(pcTD) + pcFormula = pcFormula + ''+Alltrim(pcTD)+";" + Endif + If !Empty(pcTC) + pcFormula = pcFormula + ''+Alltrim(pcTC)+";" + Endif + If !Empty(pcSD) + pcFormula = pcFormula + ''+Alltrim(pcSD)+";" + Endif + If !Empty(pcSC) + pcFormula = pcFormula + ''+Alltrim(pcSC)+";" + Endif + Case lnTip = 2 && rj + pcFormula = '' + lcTabelRJ = Thisform.container_rj.grid_formule_rj.RecordSource + Select (lcTabelRJ) + SCAN + lcCampT = Alltrim(camp_numeT) && + lcCamp = Alltrim(camp_nume) + lcTraducere = Strtran(Alltrim(traducere),[''],[']) + pcFormulaI = Strtran(Alltrim(formula),[''],[']) && form. intermediara (doar pt. un camp) + pcFormula = pcFormula + '<' + lcCampT + '>|' + ; + '<' + lcCamp + '>|' + ; + '<' + lcTraducere + '>|' + ; + '<' + pcFormulaI + '>;' + + Select (lcTabelRJ) + Endscan + *!* Case lnTip = 5 && randuri + *!* pcFormula = pcFormula + Endcase + + Select (lcTabel) + Replace formula With pcFormula + + + lcSql = [begin PACK_MG_EVOLUTIE.update_mg_tmp_indicatori(?pnId_set, ?pnId_ind, ?pcFormula); end;] + lnSucces = goExecutor.oExecute(lcSql) + + If lnSucces < 0 + AMessagebox(goExecutor.cEroare,0+16,"Eroare") + Return + Endif + + + + + + ENDPROC + + PROCEDURE Command2.Click + LOCAL lcTabel + lcTabel = thisform.grid_set.RecordSource + SELECT (lcTabel) + LOCATE FOR ales = 1 + IF FOUND() + REPLACE ALL ales WITH 0 + ELSE + REPLACE ALL ales WITH 1 + ENDIF + + thisform.grid_set.cAles.check1.Valid + ENDPROC + + PROCEDURE Container_randuri.cmd.Click + LOCAL lcLista + lcLista = this.Parent.edtFormRd.Value + + SELECT rand, nume_ind FROM m_indicatori INTO CURSOR cRanduri + + pcFormulaModi = lcLista && pcFormula + SELECT cRanduri + lofr=CREATEOBJECT("frm_ind_rand") + lofr.show(1) + + IF buton = 2 + RETURN + ENDIF + + pcFormula = pcFormulaModi + + IF USED("cRanduri") + USE IN cRanduri + ENDIF + + thisform.send_formula + this.Parent.edtFormRd.Refresh + + ENDPROC + + PROCEDURE Container_rj.cmd.Click + LOCAL lofr, lcTabel + + lcTabel = thisform.container_rj.grid_formule_rj.RecordSource && tLista_rj + SELECT * FROM (lcTabel) INTO CURSOR tLista_rjModificata READWRITE + SELECT tLista_rjModificata + + lofr=CREATEOBJECT("frm_ind_rj") + lofr.show(1) + + IF buton = 2 + RETURN + ENDIF + + SELECT (lcTabel) + DELETE ALL + APPEND FROM DBF("tLista_rjModificata") + SELECT (lcTabel) + GO TOP + + thisform.container_rj.Refresh + thisform.send_formula + + + ENDPROC + + PROCEDURE Container_rj.grid_formule_rj.Init + * Nu sterge + ENDPROC + + PROCEDURE grid_set.AfterRowColChange + Lparameters nColIndex + + Local lcTabel, lnTip, lcTabelRJ && pcFormula, + STORE '' TO pcFormula + lcTabel = This.RecordSource + + Thisform.container_bal.Visible = .F. + Thisform.container_randuri.Visible = .F. + thisform.container_rj.Visible = .F. + thisform.container_functii.Visible = .F. + + lnTip = &lcTabel..tip + + Do Case + Case lnTip = 1 && balanta + pcFormula = &lcTabel..formula + Do desparte_formula_bal With pcFormula In oproceduri_seturi_indicatori.prg + Thisform.container_bal.Visible = .T. + Thisform.container_bal.Refresh + CASE lnTip = 2 && registru jurnal + pcFormula = &lcTabel..formula + lcTabelRj = thisform.container_rj.grid_formule_rj.RecordSource + + *!* lcTabelRJ = gcTempPath+"tLista_rj.dbf" + *!* CREATE TABLE (lcTabelRJ) (caption C(30), Formula C(200), traducere c(200)) + + Do desparte_formula_rj With pcFormula, lcTabelRJ In oproceduri_seturi_indicatori.prg + + thisform.container_rj.Visible = .T. + thisform.container_rj.Refresh + + Case lnTip = 5 && randuri + SELECT (lcTabel) + pcFormula = ALLTRIM(formula) + Thisform.container_randuri.Visible = .T. + thisform.container_randuri.Refresh + Case lnTip = 6 && functii + pcFormula = ALLTRIM(formula) + Thisform.container_functii.Visible = .T. + thisform.container_functii.Refresh + + Endcase + + + + + ENDPROC + + PROCEDURE grid_set.cAles.Check1.Valid + PRIVATE pnId_ind, pnValue + LOCAL lcTabel, lcSql, lnSucces + + lcTabel = thisform.grid_set.RecordSource + + pnId_ind = &lcTabel..id_ind + pnValue = this.Value + + lcSql = [begin PACK_MG_EVOLUTIE.update_alesIndicator(?pnId_ind,?pnValue); end;] + lnSucces = goExecutor.oExecute(lcSql) + + If lnSucces < 0 + AMessagebox(goExecutor.cEroare,0+16,"Eroare") + Return + Endif + ENDPROC + + PROCEDURE grid_set.cComentariu.Text1.Click + lcAlias = thisform.grid_set.RecordSource + Select (lcalias) + Scatter Name poIndComent Memo + + Select (lcalias) + poco = Createobject("frm_comentariu") + poco.lb_titlu_alb_b121.Caption = poIndComent.nume_ind + + *!* IF buton = 2 + *!* RETURN + *!* ENDIF + + *!* If tlpredef + *!* poco.ebcomentariu.ReadOnly=.T. + *!* Endif + + poco.Show(1) + Gather Name poIndComent Memo + ENDPROC + + PROCEDURE grid_set.Init + this.SetAll("DynamicBackColor","IIF(ales=1, RGB(255,255,225), RGB(244,250,255))", "Column") + + ENDPROC + +ENDDEFINE + +DEFINE CLASS frm_sitfin_2011 AS _frmbase OF "_frm_base.vcx" + *< CLASSDATA: Baseclass="form" Timestamp="" Scale="Pixels" Uniqueid="" /> + + *-- OBJECTDATA items order determines ZOrder / El orden de los items OBJECTDATA determina el ZOrder + *< OBJECTDATA: ObjPath="Shape3" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="Pagefr_calc1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="Shape1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="Label4" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="Panou_calc1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="cboSesiuni" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="edtInfo" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="Container_data1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="Shape2" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="Label2" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="But_calc_altesit_50" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="Command1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="_label5" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="_label6" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="But_calc_altesit_60" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="Command2" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="Command4" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="Command5" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="Command6" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="Command3" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="Label1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="cmdXMLtoPDF" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="cmdEroriXML" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="cmdXML" UniqueID="" Timestamp="" /> + + * + *m: afiseaza_mesaj + *m: cbilantpdf_assign + *m: cbilantrezultat_assign + *m: do_genereaza_xdp + *m: do_genereaza_xml + *m: updateinfo + *m: updatepdf + *p: cbilantpdf + *p: cbilantrezultat + *p: cbilantrezultatfile + *p: cbilantvalidatorfile + *p: cfisierxml + * + + * + BorderStyle = 3 + cbilantpdf = '' + cbilantrezultat = '' + cbilantrezultatfile = '' + cbilantvalidatorfile = '' + cfisierxml = '' + DoCreate = .T. + Height = 368 + Name = "frm_sitfin" + Width = 779 + _memberdata = + + + + + + + + + + _SHAPE1.Anchor = 11 + _SHAPE1.Height = 29 + _SHAPE1.Left = 0 + _SHAPE1.Name = "_SHAPE1" + _SHAPE1.Top = 0 + _SHAPE1.Width = 792 + _SHAPE1.ZOrderSet = 10 + _SHAPE2.Anchor = 9 + _SHAPE2.Height = 29 + _SHAPE2.Left = 750 + _SHAPE2.Name = "_SHAPE2" + _SHAPE2.Top = 0 + _SHAPE2.Width = 31 + _SHAPE2.ZOrderSet = 26 + LB_TITLU_ALB_B121.Caption = "SITUATII FINANCIARE" + LB_TITLU_ALB_B121.Name = "LB_TITLU_ALB_B121" + LB_TITLU_ALB_B121.ZOrderSet = 27 + BUT_TERMIN1.Anchor = 9 + BUT_TERMIN1.Left = 750 + BUT_TERMIN1.Name = "BUT_TERMIN1" + BUT_TERMIN1.Top = 1 + BUT_TERMIN1.ZOrderSet = 28 + GRIDSORT1.Name = "GRIDSORT1" + * + + ADD OBJECT '_label5' AS _label WITH ; + Caption = "Creati PDF-ul inteligent optional, pentru vizualizarea datelor. Functia de validare din PDF-ul inteligent nu face toate verificarile.", ; + FontSize = 7, ; + Left = 4, ; + Name = "_label5", ; + Top = 344, ; + ZOrderSet = 14 + *< END OBJECT: ClassLib="..\..\..\roadecl\comun\clase\_baza.vcx" BaseClass="label" /> + + ADD OBJECT '_label6' AS _label WITH ; + Caption = "Folositi intotdeauna functia Export XML pentru verificarea D112.", ; + FontBold = .T., ; + FontSize = 7, ; + ForeColor = 255,0,0, ; + Left = 150, ; + Name = "_label6", ; + Top = 331, ; + ZOrderSet = 15 + *< END OBJECT: ClassLib="..\..\..\roadecl\comun\clase\_baza.vcx" BaseClass="label" /> + + ADD OBJECT 'But_calc_altesit_50' AS but_calc_altesit WITH ; + Caption = "Situatia \ + + ADD OBJECT 'But_calc_altesit_60' AS but_calc_altesit WITH ; + Caption = "Situatia \ + + ADD OBJECT 'cboSesiuni' AS combobox WITH ; + ControlSource = "cSesiuni.traducere", ; + FontName = "Arial Narrow", ; + Height = 24, ; + Left = 64, ; + Name = "cboSesiuni", ; + RowSource = "cSesiuni.traducere,sesiune", ; + RowSourceType = 2, ; + Style = 2, ; + Top = 36, ; + Width = 80, ; + ZOrderSet = 6 + *< END OBJECT: BaseClass="combobox" /> + + ADD OBJECT 'cmdEroriXML' AS cmd_executa WITH ; + Anchor = 0, ; + AutoSize = .F., ; + Caption = "Avertizari \ + + ADD OBJECT 'cmdXML' AS cmd_executa WITH ; + Anchor = 0, ; + AutoSize = .T., ; + Caption = "Export \ + + ADD OBJECT 'cmdXMLtoPDF' AS cmd_executa WITH ; + Anchor = 0, ; + AutoSize = .F., ; + Caption = "XML >> PDF +Semnare", ; + Enabled = .F., ; + FontBold = .F., ; + FontSize = 7, ; + ForeColor = 0,0,255, ; + Height = 31, ; + Left = 301, ; + Name = "cmdXMLtoPDF", ; + Top = 294, ; + Width = 63, ; + WordWrap = .T., ; + ZOrderSet = 23 + *< END OBJECT: ClassLib="..\..\..\roadecl\comun\clase\cmd_butoane.vcx" BaseClass="commandbutton" /> + + ADD OBJECT 'Command1' AS commandbutton WITH ; + Caption = "Datele de identificare ale firmei", ; + FontName = "Arial Narrow", ; + Height = 29, ; + Left = 6, ; + Name = "Command1", ; + Top = 135, ; + Width = 138, ; + ZOrderSet = 13 + *< END OBJECT: BaseClass="commandbutton" /> + + ADD OBJECT 'Command2' AS commandbutton WITH ; + Caption = "Setare cale export", ; + FontName = "Arial Narrow", ; + Height = 24, ; + Left = 8, ; + Name = "Command2", ; + Top = 253, ; + Width = 133, ; + ZOrderSet = 17 + *< END OBJECT: BaseClass="commandbutton" /> + + ADD OBJECT 'Command3' AS commandbutton WITH ; + AutoSize = .F., ; + Caption = "Export in fisiere text", ; + FontSize = 7, ; + ForeColor = 0,0,255, ; + Height = 31, ; + Left = 377, ; + Name = "Command3", ; + Top = 294, ; + Width = 51, ; + WordWrap = .T., ; + ZOrderSet = 21 + *< END OBJECT: BaseClass="commandbutton" /> + + ADD OBJECT 'Command4' AS commandbutton WITH ; + Caption = "Raportul administratorului", ; + FontName = "Arial Narrow", ; + Height = 24, ; + Left = 570, ; + Name = "Command4", ; + Top = 330, ; + Width = 113, ; + ZOrderSet = 18 + *< END OBJECT: BaseClass="commandbutton" /> + + ADD OBJECT 'Command5' AS commandbutton WITH ; + Caption = "Proces verbal", ; + FontName = "Arial Narrow", ; + Height = 24, ; + Left = 686, ; + Name = "Command5", ; + Top = 330, ; + Width = 84, ; + ZOrderSet = 19 + *< END OBJECT: BaseClass="commandbutton" /> + + ADD OBJECT 'Command6' AS commandbutton WITH ; + AutoSize = .T., ; + Caption = "Export PDF inteligent", ; + ForeColor = 0,0,255, ; + Height = 27, ; + Left = 12, ; + Name = "Command6", ; + Top = 180, ; + Visible = .F., ; + Width = 132, ; + ZOrderSet = 20 + *< END OBJECT: BaseClass="commandbutton" /> + + ADD OBJECT 'Container_data1' AS container_data WITH ; + Height = 32, ; + Left = 6, ; + Name = "Container_data1", ; + Top = 99, ; + Width = 138, ; + ZOrderSet = 8, ; + CBOLUNA.Height = 24, ; + CBOLUNA.Left = 4, ; + CBOLUNA.Name = "CBOLUNA", ; + CBOLUNA.Top = 4, ; + CBOLUNA.Width = 80, ; + cboAnul.Height = 24, ; + cboAnul.Left = 86, ; + cboAnul.Name = "cboAnul", ; + cboAnul.Top = 4, ; + cboAnul.Width = 48 + *< END OBJECT: ClassLib="ferestre_seturi_indicatori.vcx" BaseClass="container" /> + + ADD OBJECT 'edtInfo' AS _editbox WITH ; + Anchor = 15, ; + Height = 290, ; + Left = 438, ; + Name = "edtInfo", ; + Top = 36, ; + Width = 336, ; + ZOrderSet = 7 + *< END OBJECT: ClassLib="..\..\..\roadecl\comun\clase\_baza.vcx" BaseClass="editbox" /> + + ADD OBJECT 'Label1' AS label WITH ; + AutoSize = .T., ; + BackStyle = 0, ; + Caption = "Formula la:", ; + FontName = "Arial", ; + FontSize = 8, ; + Height = 16, ; + Left = 6, ; + Name = "Label1", ; + Top = 40, ; + Width = 54, ; + ZOrderSet = 22 + *< END OBJECT: BaseClass="label" /> + + ADD OBJECT 'Label2' AS label WITH ; + AutoSize = .T., ; + BackStyle = 0, ; + Caption = "Luna contabila", ; + FontName = "Arial", ; + Height = 17, ; + Left = 6, ; + Name = "Label2", ; + Top = 80, ; + Width = 83, ; + ZOrderSet = 11 + *< END OBJECT: BaseClass="label" /> + + ADD OBJECT 'Label4' AS label WITH ; + AutoSize = .T., ; + BackStyle = 0, ; + Caption = "Bilant agenti economici", ; + FontSize = 14, ; + Height = 25, ; + Left = 203, ; + Name = "Label4", ; + Top = 37, ; + Width = 196, ; + ZOrderSet = 4 + *< END OBJECT: BaseClass="label" /> + + ADD OBJECT 'Pagefr_calc1' AS pagefr_calc WITH ; + ErasePage = .T., ; + Height = 261, ; + Left = 152, ; + Name = "Pagefr_calc1", ; + Top = 28, ; + ZOrderSet = 1, ; + PAGE1.Name = "PAGE1", ; + PAGE1.Panou_calc1.CONTAINER_FORMULAR_10.BUT_CALC1.Name = "BUT_CALC1", ; + PAGE1.Panou_calc1.CONTAINER_FORMULAR_10.But_edit1.Name = "But_edit1", ; + PAGE1.Panou_calc1.CONTAINER_FORMULAR_10.Label1.Name = "Label1", ; + PAGE1.Panou_calc1.CONTAINER_FORMULAR_10.Label2.Name = "Label2", ; + PAGE1.Panou_calc1.CONTAINER_FORMULAR_10.Label3.Name = "Label3", ; + PAGE1.Panou_calc1.CONTAINER_FORMULAR_10.lb_bil_data.Name = "lb_bil_data", ; + PAGE1.Panou_calc1.CONTAINER_FORMULAR_10.Name = "CONTAINER_FORMULAR_10", ; + PAGE1.Panou_calc1.CONTAINER_FORMULAR_10.optBilPrescurtat.Name = "optBilPrescurtat", ; + PAGE1.Panou_calc1.CONTAINER_FORMULAR_10.optBilPrescurtat.Option1.Left = 5, ; + PAGE1.Panou_calc1.CONTAINER_FORMULAR_10.optBilPrescurtat.Option1.Name = "Option1", ; + PAGE1.Panou_calc1.CONTAINER_FORMULAR_10.optBilPrescurtat.Option1.Top = -1, ; + PAGE1.Panou_calc1.CONTAINER_FORMULAR_10.optBilPrescurtat.Option2.Left = 93, ; + PAGE1.Panou_calc1.CONTAINER_FORMULAR_10.optBilPrescurtat.Option2.Name = "Option2", ; + PAGE1.Panou_calc1.CONTAINER_FORMULAR_10.optBilPrescurtat.Option2.Top = -1, ; + PAGE1.Panou_calc1.CONTAINER_FORMULAR_20.BUT_CALC1.Name = "BUT_CALC1", ; + PAGE1.Panou_calc1.CONTAINER_FORMULAR_20.But_edit1.Name = "But_edit1", ; + PAGE1.Panou_calc1.CONTAINER_FORMULAR_20.Label1.Name = "Label1", ; + PAGE1.Panou_calc1.CONTAINER_FORMULAR_20.Label2.Name = "Label2", ; + PAGE1.Panou_calc1.CONTAINER_FORMULAR_20.Label3.Name = "Label3", ; + PAGE1.Panou_calc1.CONTAINER_FORMULAR_20.lb_bil_data.Name = "lb_bil_data", ; + PAGE1.Panou_calc1.CONTAINER_FORMULAR_20.Name = "CONTAINER_FORMULAR_20", ; + PAGE1.Panou_calc1.CONTAINER_FORMULAR_30.BUT_CALC1.Name = "BUT_CALC1", ; + PAGE1.Panou_calc1.CONTAINER_FORMULAR_30.But_edit1.Name = "But_edit1", ; + PAGE1.Panou_calc1.CONTAINER_FORMULAR_30.Label1.Name = "Label1", ; + PAGE1.Panou_calc1.CONTAINER_FORMULAR_30.Label2.Name = "Label2", ; + PAGE1.Panou_calc1.CONTAINER_FORMULAR_30.Name = "CONTAINER_FORMULAR_30", ; + PAGE1.Panou_calc1.CONTAINER_FORMULAR_40.BUT_CALC1.Name = "BUT_CALC1", ; + PAGE1.Panou_calc1.CONTAINER_FORMULAR_40.But_edit1.Name = "But_edit1", ; + PAGE1.Panou_calc1.CONTAINER_FORMULAR_40.Label1.Name = "Label1", ; + PAGE1.Panou_calc1.CONTAINER_FORMULAR_40.Label2.Name = "Label2", ; + PAGE1.Panou_calc1.CONTAINER_FORMULAR_40.Name = "CONTAINER_FORMULAR_40", ; + PAGE1.Panou_calc1.Name = "Panou_calc1", ; + PAGE2.Name = "PAGE2", ; + PAGE2.Panou_calc1.CONTAINER_FORMULAR_10.BUT_CALC1.Name = "BUT_CALC1", ; + PAGE2.Panou_calc1.CONTAINER_FORMULAR_10.But_edit1.Name = "But_edit1", ; + PAGE2.Panou_calc1.CONTAINER_FORMULAR_10.Label1.Name = "Label1", ; + PAGE2.Panou_calc1.CONTAINER_FORMULAR_10.Label2.Name = "Label2", ; + PAGE2.Panou_calc1.CONTAINER_FORMULAR_10.Label3.Name = "Label3", ; + PAGE2.Panou_calc1.CONTAINER_FORMULAR_10.lb_bil_data.Name = "lb_bil_data", ; + PAGE2.Panou_calc1.CONTAINER_FORMULAR_10.Name = "CONTAINER_FORMULAR_10", ; + PAGE2.Panou_calc1.CONTAINER_FORMULAR_10.optBilPrescurtat.Name = "optBilPrescurtat", ; + PAGE2.Panou_calc1.CONTAINER_FORMULAR_10.optBilPrescurtat.Option1.Left = 5, ; + PAGE2.Panou_calc1.CONTAINER_FORMULAR_10.optBilPrescurtat.Option1.Name = "Option1", ; + PAGE2.Panou_calc1.CONTAINER_FORMULAR_10.optBilPrescurtat.Option1.Top = -1, ; + PAGE2.Panou_calc1.CONTAINER_FORMULAR_10.optBilPrescurtat.Option2.Left = 93, ; + PAGE2.Panou_calc1.CONTAINER_FORMULAR_10.optBilPrescurtat.Option2.Name = "Option2", ; + PAGE2.Panou_calc1.CONTAINER_FORMULAR_10.optBilPrescurtat.Option2.Top = -1, ; + PAGE2.Panou_calc1.CONTAINER_FORMULAR_20.BUT_CALC1.Name = "BUT_CALC1", ; + PAGE2.Panou_calc1.CONTAINER_FORMULAR_20.But_edit1.Name = "But_edit1", ; + PAGE2.Panou_calc1.CONTAINER_FORMULAR_20.Label1.Name = "Label1", ; + PAGE2.Panou_calc1.CONTAINER_FORMULAR_20.Label2.Name = "Label2", ; + PAGE2.Panou_calc1.CONTAINER_FORMULAR_20.Label3.Name = "Label3", ; + PAGE2.Panou_calc1.CONTAINER_FORMULAR_20.lb_bil_data.Name = "lb_bil_data", ; + PAGE2.Panou_calc1.CONTAINER_FORMULAR_20.Name = "CONTAINER_FORMULAR_20", ; + PAGE2.Panou_calc1.CONTAINER_FORMULAR_30.BUT_CALC1.Name = "BUT_CALC1", ; + PAGE2.Panou_calc1.CONTAINER_FORMULAR_30.But_edit1.Name = "But_edit1", ; + PAGE2.Panou_calc1.CONTAINER_FORMULAR_30.Label1.Name = "Label1", ; + PAGE2.Panou_calc1.CONTAINER_FORMULAR_30.Label2.Name = "Label2", ; + PAGE2.Panou_calc1.CONTAINER_FORMULAR_30.Name = "CONTAINER_FORMULAR_30", ; + PAGE2.Panou_calc1.CONTAINER_FORMULAR_40.BUT_CALC1.Name = "BUT_CALC1", ; + PAGE2.Panou_calc1.CONTAINER_FORMULAR_40.But_edit1.Name = "But_edit1", ; + PAGE2.Panou_calc1.CONTAINER_FORMULAR_40.Label1.Name = "Label1", ; + PAGE2.Panou_calc1.CONTAINER_FORMULAR_40.Label2.Name = "Label2", ; + PAGE2.Panou_calc1.CONTAINER_FORMULAR_40.Name = "CONTAINER_FORMULAR_40", ; + PAGE2.Panou_calc1.Name = "Panou_calc1", ; + Page3.Name = "Page3", ; + Page3.Panou_calc1.CONTAINER_FORMULAR_10.BUT_CALC1.Name = "BUT_CALC1", ; + Page3.Panou_calc1.CONTAINER_FORMULAR_10.But_edit1.Name = "But_edit1", ; + Page3.Panou_calc1.CONTAINER_FORMULAR_10.Label1.Name = "Label1", ; + Page3.Panou_calc1.CONTAINER_FORMULAR_10.Label2.Name = "Label2", ; + Page3.Panou_calc1.CONTAINER_FORMULAR_10.Label3.Name = "Label3", ; + Page3.Panou_calc1.CONTAINER_FORMULAR_10.lb_bil_data.Name = "lb_bil_data", ; + Page3.Panou_calc1.CONTAINER_FORMULAR_10.Name = "CONTAINER_FORMULAR_10", ; + Page3.Panou_calc1.CONTAINER_FORMULAR_10.optBilPrescurtat.Name = "optBilPrescurtat", ; + Page3.Panou_calc1.CONTAINER_FORMULAR_10.optBilPrescurtat.Option1.Left = 5, ; + Page3.Panou_calc1.CONTAINER_FORMULAR_10.optBilPrescurtat.Option1.Name = "Option1", ; + Page3.Panou_calc1.CONTAINER_FORMULAR_10.optBilPrescurtat.Option1.Top = -1, ; + Page3.Panou_calc1.CONTAINER_FORMULAR_10.optBilPrescurtat.Option2.Left = 93, ; + Page3.Panou_calc1.CONTAINER_FORMULAR_10.optBilPrescurtat.Option2.Name = "Option2", ; + Page3.Panou_calc1.CONTAINER_FORMULAR_10.optBilPrescurtat.Option2.Top = -1, ; + Page3.Panou_calc1.CONTAINER_FORMULAR_20.BUT_CALC1.Name = "BUT_CALC1", ; + Page3.Panou_calc1.CONTAINER_FORMULAR_20.But_edit1.Name = "But_edit1", ; + Page3.Panou_calc1.CONTAINER_FORMULAR_20.Label1.Name = "Label1", ; + Page3.Panou_calc1.CONTAINER_FORMULAR_20.Label2.Name = "Label2", ; + Page3.Panou_calc1.CONTAINER_FORMULAR_20.Label3.Name = "Label3", ; + Page3.Panou_calc1.CONTAINER_FORMULAR_20.lb_bil_data.Name = "lb_bil_data", ; + Page3.Panou_calc1.CONTAINER_FORMULAR_20.Name = "CONTAINER_FORMULAR_20", ; + Page3.Panou_calc1.CONTAINER_FORMULAR_30.BUT_CALC1.Name = "BUT_CALC1", ; + Page3.Panou_calc1.CONTAINER_FORMULAR_30.But_edit1.Name = "But_edit1", ; + Page3.Panou_calc1.CONTAINER_FORMULAR_30.Label1.Name = "Label1", ; + Page3.Panou_calc1.CONTAINER_FORMULAR_30.Label2.Name = "Label2", ; + Page3.Panou_calc1.CONTAINER_FORMULAR_30.Name = "CONTAINER_FORMULAR_30", ; + Page3.Panou_calc1.CONTAINER_FORMULAR_40.BUT_CALC1.Name = "BUT_CALC1", ; + Page3.Panou_calc1.CONTAINER_FORMULAR_40.But_edit1.Name = "But_edit1", ; + Page3.Panou_calc1.CONTAINER_FORMULAR_40.Label1.Name = "Label1", ; + Page3.Panou_calc1.CONTAINER_FORMULAR_40.Label2.Name = "Label2", ; + Page3.Panou_calc1.CONTAINER_FORMULAR_40.Name = "CONTAINER_FORMULAR_40", ; + Page3.Panou_calc1.Name = "Panou_calc1" + *< END OBJECT: ClassLib="..\..\clase\ferestre_sitfin.vcx" BaseClass="pageframe" /> + + ADD OBJECT 'Panou_calc1' AS panou_calc WITH ; + Left = 157, ; + Name = "Panou_calc1", ; + Top = 67, ; + ZOrderSet = 5, ; + Container_formular_10.But_calc1.Name = "But_calc1", ; + Container_formular_10.But_edit1.Name = "But_edit1", ; + Container_formular_10.Label1.Name = "Label1", ; + Container_formular_10.Label2.Name = "Label2", ; + Container_formular_10.Label3.Name = "Label3", ; + Container_formular_10.lb_bil_data.Name = "lb_bil_data", ; + Container_formular_10.Name = "Container_formular_10", ; + Container_formular_10.optBilPrescurtat.Name = "optBilPrescurtat", ; + Container_formular_10.optBilPrescurtat.Option1.Left = 5, ; + Container_formular_10.optBilPrescurtat.Option1.Name = "Option1", ; + Container_formular_10.optBilPrescurtat.Option1.Top = -1, ; + Container_formular_10.optBilPrescurtat.Option2.Left = 93, ; + Container_formular_10.optBilPrescurtat.Option2.Name = "Option2", ; + Container_formular_10.optBilPrescurtat.Option2.Top = -1, ; + Container_formular_20.But_calc1.Name = "But_calc1", ; + Container_formular_20.But_edit1.Name = "But_edit1", ; + Container_formular_20.Label1.Name = "Label1", ; + Container_formular_20.Label2.Name = "Label2", ; + Container_formular_20.Label3.Name = "Label3", ; + Container_formular_20.lb_bil_data.Name = "lb_bil_data", ; + Container_formular_20.Name = "Container_formular_20", ; + Container_formular_30.But_calc1.Name = "But_calc1", ; + Container_formular_30.But_edit1.Name = "But_edit1", ; + Container_formular_30.Label1.Name = "Label1", ; + Container_formular_30.Label2.Name = "Label2", ; + Container_formular_30.Name = "Container_formular_30", ; + Container_formular_40.But_calc1.Name = "But_calc1", ; + Container_formular_40.But_edit1.Name = "But_edit1", ; + Container_formular_40.Label1.Name = "Label1", ; + Container_formular_40.Label2.Name = "Label2", ; + Container_formular_40.Name = "Container_formular_40" + *< END OBJECT: ClassLib="..\..\clase\ferestre_sitfin.vcx" BaseClass="container" /> + + ADD OBJECT 'Shape1' AS shape WITH ; + BorderStyle = 0, ; + Height = 260, ; + Left = 150, ; + Name = "Shape1", ; + Top = 29, ; + Width = 282, ; + ZOrderSet = 3 + *< END OBJECT: BaseClass="shape" /> + + ADD OBJECT 'Shape2' AS shape WITH ; + BackStyle = 0, ; + Curvature = 10, ; + Height = 35, ; + Left = 150, ; + Name = "Shape2", ; + Top = 292, ; + Width = 218, ; + ZOrderSet = 9 + *< END OBJECT: BaseClass="shape" /> + + ADD OBJECT 'Shape3' AS shape WITH ; + BackStyle = 0, ; + Curvature = 10, ; + Height = 35, ; + Left = 373, ; + Name = "Shape3", ; + Top = 292, ; + Width = 59, ; + ZOrderSet = 0 + *< END OBJECT: BaseClass="shape" /> + + PROCEDURE afiseaza_mesaj + Lparameters tcMesaj,tnButoane + Local lnReturn,lcTitlu + lcTitlu = [Bilant] + If gcAppName = "CONSAL" + lnReturn = Messagebox(tcMesaj,tnButoane,lcTitlu) + Else + lnReturn = amessagebox(tcMesaj,tnButoane,lcTitlu) + Endif + Return lnReturn + ENDPROC + + PROCEDURE cbilantpdf_assign + lparameters tcBilantPDF + + this.cBilantPDF = m.tcBilantPDF + + *thisform.cmdEroriXML.Enabled= + + thisform.Refresh + + + + ENDPROC + + PROCEDURE cbilantrezultat_assign + lparameters tcBilantRezultat + This.cBilantRezultat = m.tcBilantRezultat + thisform.cmdEroriXML.Enabled = FILE(m.tcBilantRezultat) + thisform.cmdxmLtoPDF.Enabled = FILE(m.tcBilantRezultat) + + thisform.Refresh + + + + + ENDPROC + + PROCEDURE do_executa + Lparameters tnMenu + *!* tnMenu: 1 = XML, 2 = PDF, 3 = XML + PDF + *!* tnDecl: 100, 102 + #Define CRLF Chr(13) + Chr(10) + + + Local loEx As Exception + Local lnMenu, lcCaleFisier, lcCaleFisierPDF, lcNumeFisier + Local lcAppPath, lcCaleBilant, lcComunPath, lcSelect, lcTempPath, lnPos + Local lcFileName, lcFisierPDFNou, lcFisierPDFOriginal, lcFisierXDP, lcFisierXML, lcRun + Local loProcess As "api_apprun" Of "process.vcx" + Local lcBilantRezultatFile, lcBilantValidatorFile, lcMesaj, lcRezultat, lcVersiuneDUK + Local lcVersiuneFisiereBilant, lcVersiunePDF, llSucces + lcCaleFisier = "" + + lcSelect = Select() + If !Empty(tnMenu) + lnMenu = tnMenu + Else + lnMenu = xmenu("Genereaza \ 0 + lcComunPath = Left(m.lcAppPath, lnPos) + Endif + lcComunPath = lcComunPath + Iif(gcAppName = "CONCONT", "COMUNCONTAFIN\", "COMUNROA\") && d:\contafin\comuncontafin\ + + This.UpdateInfo("Creez structura director export...") + + *** Creez structura director export (caletemp\D112\aaaa_ll\firma\ + llSucces = .F. + Try + lcTempPath = Iif(gcAppName = "CONCONT", Addbs(m.dirgen),Addbs(gcDirMare)) + lcCaleFisier = m.lcTempPath + "Bilant\" && c:\temp\D112\ + + If !Directory(m.lcCaleFisier) + Md (m.lcCaleFisier) + Endif + + lcCaleFisier = m.lcCaleFisier + Alltrim(Str(gnAn)) + "_" + Padl(Alltrim(Str(gnLuna)),2, "0") + "\"&& c:\temp\D112\2011_01\ + If !Directory(m.lcCaleFisier) + Md (m.lcCaleFisier) + Endif + + lcCaleFisier = m.lcCaleFisier + Strtran(gcFirma,[ ],[_]) + "\" && c:\temp\D112\2011_01\firma\ + If !Directory(m.lcCaleFisier) + Md (m.lcCaleFisier) + Endif + This.UpdateInfo("S-a creat directorul " + m.lcCaleFisier) + + lcCaleFisierPDF = m.lcCaleFisier && c:\temp\D112\2011_01\firma\ + If !Directory(m.lcCaleFisierPDF) + Md (m.lcCaleFisierPDF) + Endif + This.UpdateInfo("S-a creat directorul " + m.lcCaleFisierPDF) + + llSucces = .T. + Catch To loEx + lcMesaj = "Creare director " + lcCaleFisier + " " + loEx.Message + This.UpdateInfo(lcMesaj) + + Thisform.afiseaza_mesaj(lcMesaj,0+48) + Endtry + If !llSucces + Return + Endif + + lcFisierPDFOriginal = lcComunPath + "Bilant.pdf" && d:\contafin\comuncontafin\d112.pdf + + *!* 18.01.2012 + *This.UpdatePDF(m.lcFisierPDFOriginal) && actualizez pdf de la romfast + *!* 18.01.2012 ^ + + If Upper(Substr(Alltrim(gofirma.cod_fiscal),1,2))='RO' + lcCod_fiscal = Substr(Alltrim(gofirma.cod_fiscal),3,Len(Alltrim(gofirma.cod_fiscal))-2) + Else + lcCod_fiscal = Alltrim(gofirma.cod_fiscal) + Endif + + + lcNumeFisier = "bilant_"+ lcCod_fiscal + "_" + Alltrim(Str(gnAn)) + "_" + Padl(gnLuna, 2, "0") + lcFileName = m.lcCaleFisier + lcNumeFisier + lcFileNamePDF = m.lcCaleFisierPDF + lcNumeFisier + lcFisierPDFNou = m.lcFileNamePDF + [.pdf] + lcFisierXDP = m.lcFileNamePDF + [.xdp] + + lcFisierXML = m.lcFileName + [.xml] + lcBilantValidatorFile = m.lcComunPath + [dist\DUKIntegrator.jar] + lcBilantRezultatFile = m.lcFisierXML + [.err.txt] + + lcVersiuneFisiereBilant = lcComunPath + "versiuni_fisiere.txt" + this.cBilantValidatorFile = lcBilantValidatorFile + This.cFisierXML = lcFisierXML + This.cBilantRezultatFile = lcBilantRezultatFile + + If Inlist(lnMenu, 2,3) + If File(lcFisierPDFNou) + Delete File (lcFisierPDFNou) + Endif + If File(lcFisierXDP) + Delete File (lcFisierXDP) + Endif + Endif + If Inlist(lnMenu, 1,3) + If File(lcFisierXML) + Delete File (lcFisierXML) + Endif + If File(m.lcBilantRezultatFile) + Delete File (m.lcBilantRezultatFile) + Endif + Endif + This.cBilantRezultat = "" + This.cBilantPDF = "" + + + Do Case + Case lnMenu = 1 + This.UpdateInfo("Se exporta datele in format XML") + Thisform.do_genereaza_xml(lcFisierXML) + This.UpdateInfo(Replicate('-', 100)) + Case lnMenu = 2 + This.UpdateInfo("Se exporta datele in format PDF") + Thisform.do_genereaza_xdp(lcFisierPDFOriginal, lcFisierXDP, lcFisierPDFNou) + This.UpdateInfo(Replicate('-', 100)) + Case lnMenu = 3 + This.UpdateInfo("Se exporta datele in format XML") + Thisform.do_genereaza_xml(lcFisierXML) + This.UpdateInfo(REPLICATE('-', 100)) + *!* Thisform.do_genereaza_xdp(lcFisierPDFOriginal, lcFisierXDP, lcFisierPDFNou) + *!* This.UpdateInfo(REPLICATE('-', 100)) + ENDCASE + + + + *** deschid fisierul XDP (pdf inteligent) + If Inlist(lnMenu,2,3) And File(lcFisierXDP) + *** copiez fisierul pdf inteligent original in directorul de export + Copy File (lcFisierPDFOriginal) To (lcFisierPDFNou) + This.cBilantPDF = m.lcFisierXDP + + If File(m.lcFisierXDP) + This.UpdateInfo([In PDF apasati butonul "Options > Trust this document always" de pe banda galbena pentru a incarca datele.]) + open_default_app(lcFisierXDP) + Endif + + Endif + + *** lansez programul de verificare D112 (dukvalidator.jar) + If Inlist(lnMenu,1,3) + This.UpdateInfo("Validare XML...") + + *!* - pt. validare declaratie: + *!* java -version:1.6 -jar "\dist\DUKIntegrator.jar" [-c caleConfig] -v tipDeclaratie fisierXML [fisierRezultat] [optiuneValidare] + + *!* - pt. validare declaratie + creare fisier PDF: + *!* java -version:1.6 -jar "\dist\DUKIntegrator.jar" [-c caleConfig] -p tipDeclaratie fisierXML [fisierRezultat] [optiuneValidare] [fisierPDF] + + *!* - pt. validare declaratie + creare fisier PDF semnat electronic: + *!* java -version:1.6 -jar "\dist\DUKIntegrator.jar" [-c caleConfig] -s tipDeclaratie fisierXML [fisierRezultat] [optiuneValidare] [fisierPDF] pinSmartCard smartCard [selectorCertificat] + + * CD (JUSTPATH(lcD112ValidatorFile)) + loProcess = Newobject("api_apprun","process.vcx") + loProcess.icLaunchDir = Justpath(lcBilantValidatorFile) + *!* 18.07.2011 + *!* lcMesaj = [java -jar "DUKIntegrator.jar" -v1 s1003 ] + m.lcFisierXML + [ ] + m.lcD112RezultatFile + [ ] + lcFisierPDFNou + *!* aMESSAGEBOX(lcMesaj) + + * loProcess.iccommandline = [java -jar "DUKIntegrator.jar" -v1 s1003 ] + m.lcFisierXML + [ ] + m.lcBilantRezultatFile + loProcess.iccommandline = [java -jar "DUKIntegrator.jar" -v s1003 ] + m.lcFisierXML + + *!* 18.07.2011 ^ + loProcess.launchappandwait() + + If !File(m.lcBilantRezultatFile) + This.UpdateInfo("Nu s-a obtinut fisierul rezultat " + m.lcBilantRezultatFile + ". Verificati manual.") + Else + lcRezultat = Filetostr(m.lcBilantRezultatFile) + llRezultatErori = AT('E:', lcRezultat) > 0 + If Upper(lcRezultat) = "OK" + This.UpdateInfo("Validare fara erori sau avertizari.") + Else + This.UpdateInfo("Validare cu " + IIF(llRezultatErori, "erori", "avertizari") + ". Verificati fisierul rezultat " + m.lcBilantRezultatFile) + ENDIF + This.cBilantRezultat = m.lcBilantRezultatFile + *!* open_default_app(m.lcD112RezultatFile) + This.UpdateInfo(lcRezultat) + ENDIF + This.UpdateInfo(REPLICATE('-', 100)) + Endif + + *** deschid fisierul XDP (pdf inteligent) + If Inlist(lnMenu,2,3) And File(lcFisierXDP) + This.UpdateInfo([Apasati butonul "Deschide PDF"]) + *** copiez fisierul pdf inteligent original in directorul de export + Copy File (lcFisierPDFOriginal) To (lcFisierPDFNou) + This.cBilantPDF = m.lcFisierXDP + *!* open_default_app(lcFisierXDP) + This.UpdateInfo(REPLICATE('-', 100)) + Endif + + *!* *** deschid explorer in directorul de export + lcRun = [RUN /N7 explorer.exe "] + m.lcCaleFisier + ["] + &lcRun + + + Select (lcSelect) + + + + ENDPROC + + PROCEDURE do_genereaza_xdp + Lparameters tcFisierPDFOriginal, tcFisierXDP, tcFisierPDFNou + Local lcSelect, lcDateStyle, lcMark, lcXDP, lcFirma + + lcSelect = Select() + lcDateStyle = Set("Date") + lcMark = Set("Mark") + + Set Date To Ymd + Set Mark To '-' + + + Set Textmerge On To Memvar lcXDP Noshow + \ + + \ + \ + \ + \ + + \ + \ + \S1003_A1.0.0 + \0 + \0 + \ + + \ + lcFirma = XmlSpecialCharacters(ALLTRIM(UPPER(NVL(goFirma.antet,'')))) && oproceduri_comune.prg + \<> + \BS + + \Constanta + \ + \ + \<> + \ + \17 + \mamaia + \ + \13 + \ + + If Upper(Substr(Alltrim(gofirma.cod_fiscal),1,2))='RO' + lcCod_fiscal = Substr(Alltrim(gofirma.cod_fiscal),3,Len(Alltrim(gofirma.cod_fiscal))-2) + Else + lcCod_fiscal = Alltrim(gofirma.cod_fiscal) + Endif + + \<> + \35 + \<> + + \0 + \0 + \01.01.2011 + \31.12.2011 + \31.12.2010 + + + \<> + \<> + \<> + + \SituaÅ£iile financiare anuale încheiate la 31.12.2011 de către entităţile al căror exerciÅ£iu financiar coincide cu anul calendaristic, cu exceptia entitatilor care au optat pentru un sistem simplificat de contabilitate.F10 - BILANT prescurtat F20 - CONTUL DE PROFIT ÅžI PIERDERE F30 - DATE INFORMATIVE F40 - SITUATIA ACTIVELOR IMOBILIZATE + + + \ + \0. + \<> + \ + \ + \<> + \1 + \2 + \0 + \<> + \ + \0 + \0 + \0 + \ + + *!* lcDirTabele = Addbs(Alltrim(gcDirExpBil_tabele)) + Alltrim(gofirma.firma) + "\" + *!* WAIT WINDOW gcDirExpBil_tabele + + *!* lcFisCpp = lcDirTabele + "Cpp.dbf" + *!* If !File(lcFisCpp) + *!* AMESSAGEBOX("Nu ati salvat Contul de profit si pierdere!", 0+48,"Atentie") + *!* Return + *!* ENDIF + + *!* Use (lcFisCpp) In 0 Alias cpp + *!* Select cpp + *!* Locate For ales=1 + *!* If Found() + *!* Scan For ales=1 + *!* * lcSir=lcSir+Alltrim(Str(valprec,20,0))+","+Alltrim(Str(valcur,20,0))+"," + *!* *\378558 + *!* \>><>>> + *!* Endscan + *!* Else + *!* Scan + *!* *lcSir=lcSir+Alltrim(Str(valprec,20,0))+","+Alltrim(Str(valcur,20,0))+"," + *!* \>><>>> + *!* Endscan + *!* Endif + *!* Use In cpp + + *!* \0 + *!* \ + + \ + + \ + \ + \ + \ + + + Set Textmerge To + + Strtofile(lcXDP, tcFisierXDP) + + + Set Date To &lcDateStyle + Set Mark To &lcMark + + Select (lcSelect) + + ENDPROC + + PROCEDURE do_genereaza_xml + *!* 07.04.2011 + *!* marius.mutu + *!* str(d_8,13) in loc de str(d_8) CNP_COPIL aparea 5.0E + + *!* 02.05.2011 + *!* marius.mutu + *!* cAngajatorC5 - adaug liniile doar daca nu au sume 0 + + Lparameters tcFisierXML + Local lcXML, lcXmlFile, loAsigurat + Local lcDateStyle, lcMark + Local lcCod_fiscal + + lcDateStyle = Set("Date") + lcMark = Set("Mark") + + Set Date To Dmy + Set Mark To '.' + + Set Textmerge On To Memvar lcXML Noshow + \ + *\ + + lcLuna = Thisform.container_data1.cboluna.Value + lcAnul = Thisform.container_data1.cboAnul.Value + + lcCod_fiscal = "" + lcCod_fiscal = Nvl(Alltrim(gofirma.cod_fiscal),'') + + If Substr(lcCod_fiscal,1,2) = "RO" + lcCod_fiscal = Substr(lcCod_fiscal,3,Len(lcCod_fiscal)-2) + Else + If Substr(lcCod_fiscal,1,1) = "R" + lcCod_fiscal = Substr(lcCod_fiscal,2,Len(lcCod_fiscal)-1) + Endif + Endif + + lcAntet = [] + \<> + + + lcDirTabele = Addbs(Alltrim(gcDirExpBil_tabele)) + Alltrim(gofirma.firma) + "\" + + lcFisBilant = lcDirTabele + "Bilant.dbf" + If !File(lcFisBilant) + AMESSAGEBOX("Nu ati salvat Bilantul!", 0+48,"Atentie") + Return + Endif + + Use (lcFisBilant) In 0 Alias bilant + lcSir_bilant = "] + + \<> + + *** end Export datele din bilant + + *** Export datele din CPP + lcFisCPP = lcDirTabele + "cpp.dbf" + If !File(lcFisCPP) + AMESSAGEBOX("Nu ati salvat Contul de profit si pierdere!", 0+48,"Atentie") + Return + Endif + + Use (lcFisCPP) In 0 Alias cpp + lcSir_cpp = "] + + \<> + *** --- end Export datele din CPP + + *** export datele din DateInf + + lcFisDateInf = lcDirTabele + "DateInf.dbf" + If !File(lcFisDateInf) + AMESSAGEBOX("Nu ati salvat Date Informative!", 0+48,"Atentie") + Return + Endif + + Use (lcFisDateInf) In 0 Alias dateInf + lcSir_DI = "] + \<> + *** --- end export datele din DateInf + + *** export datele din Active + lcFisActive = lcDirTabele + "Active.dbf" + If !File(lcFisActive) + AMESSAGEBOX("Nu ati salvat Situatia activelor!", 0+48,"Atentie") + Return + Endif + + Use (lcFisActive) In 0 Alias Active + lcSir_Active = "=13 + lcSir_Active = lcSir_Active + [F40_0] + Alltrim(Rand) + [1="]+ Alltrim(Str(soldi,20,0))+[" ] + lcSir_Active = lcSir_Active + [F40_0] + Alltrim(Rand) + [2="]+ Alltrim(Str(cresteri,20,0))+[" ] + lcSir_Active = lcSir_Active + [F40_0] + Alltrim(Rand) + [3="]+ Alltrim(Str(reduceri,20,0))+[" ] + lcSir_Active = lcSir_Active + [F40_0] + Alltrim(Rand) + [4="]+ Alltrim(Str(soldi+cresteri-reduceri,20,0))+[" ] + + Endcase + Endcase + + Endscan + + Use In Active + + lcSir_Active = lcSir_Active + [ />] + \<> + *** --- end export datele din DateInf + ***----------------- + + \ + + Set Textmerge To + + Strtofile(lcXML, m.tcFisierXML) + + Set Date To &lcDateStyle + Set Mark To &lcMark + + + ENDPROC + + PROCEDURE Init + DODEFAULT() + gcAcces=[1;2;3;4;] + lcSel = [begin pack_contafin.set_id_sucursala(?gnIdSucursala); end;] + lnSucces = goExecutor.oExecute(lcSel) + If lnSucces < 0 + aMESSAGEBOX(goExecutor.cEroare,0+16,"Eroare") + Return + Endif + ENDPROC + + PROCEDURE updateinfo + #DEFINE CRLF CHR(13) + CHR(10) + Lparameters tcInfo + + + Local loInfo + loInfo = this.edtInfo + If Upper(tcInfo) = 'RESET' + loInfo.Value = "" + Else + loInfo.Value = loInfo.Value + m.tcInfo + CRLF + CRLF + Endif + loInfo.Refresh() + + + ENDPROC + + PROCEDURE updatepdf + Lparameters tcPDFFile + *** tcPDFFile: calea completa a fisierului pdf D:\CONTAFIN\COMUNCONTAFIN\d390.pdf + + Local lcFile, lcPath, llOpen + lcFile = Justfname(m.tcPDFFile) + lcPath = Addbs(Justpath(m.tcPDFFile)) + llOpen = .F. + + Return DownloadSupportFile(m.lcFile, m.lcPath, m.llOpen) && proceduri_comune.prg + + + ENDPROC + + PROCEDURE cboSesiuni.Init + LOCAL lnPage, lcAct + + lnPunct = AT(".", THIS.ROWSOURCE) + lcTabelSesiuni = SUBSTR(THIS.ROWSOURCE, 1, lnPunct-1) + + SELECT (lcTabelSesiuni) + lcSesiune = sesiune && 2006_1 + lcAn = SUBSTR(lcSesiune,1,4) + lcSem = SUBSTR(lcSesiune,6,1) + + * IF ALLTRIM(lcSesiune) = '2006_1' + IF VAL(lcAn) >= 2006 + *IF ALLTRIM(lcSesiune) = '2006_1' + THISFORM.pagefr_calc1.VISIBLE = .F. + THISFORM.pANOU_CALC1.VISIBLE = .T. + IF lcSem = '1' + THISFORM.pANOU_CALC1.CONtainer_formular_40.VISIBLE = .F. + THISFORM.pANOU_CALC1.CONtainer_formular_10.optBilPrescurtat.VISIBLE = .F. + ENDIF + IF lcSem = '2' + THISFORM.pANOU_CALC1.CONtainer_formular_40.VISIBLE = .T. + THISFORM.pANOU_CALC1.CONtainer_formular_10.optBilPrescurtat.VISIBLE = .T. + ENDIF + ELSE + IF TYPE("thisform.pANOU_CALC1.Visible")<>'U' + THISFORM.pANOU_CALC1.VISIBLE = .F. + ENDIF + THISFORM.pagefr_calc1.VISIBLE = .T. + lnPage = THISFORM.pagefr_calc1.ACTIVEPAGE + lcAct = "thisform.pagefr_calc1.page" + ALLTRIM(STR(lnPage)) + ".activate" + &lcAct + ENDIF + + ENDPROC + + PROCEDURE cboSesiuni.InteractiveChange + LOCAL lnPage, lcAct + + lnPunct = AT(".", THIS.ROWSOURCE) + lcTabelSesiuni = SUBSTR(THIS.ROWSOURCE, 1, lnPunct-1) + + SELECT (lcTabelSesiuni) + lcSesiune = sesiune && 2006_1 + lcAn = SUBSTR(lcSesiune,1,4) + lcSem = SUBSTR(lcSesiune,6,1) + + IF VAL(lcAn) >= 2006 + * IF ALLTRIM(lcSesiune) = '2006_1' + THISFORM.pagefr_calc1.VISIBLE = .F. + THISFORM.pANOU_CALC1.VISIBLE = .T. + IF lcSem = '1' + THISFORM.pANOU_CALC1.CONtainer_formular_40.VISIBLE = .F. + THISFORM.pANOU_CALC1.CONtainer_formular_10.optBilPrescurtat.VISIBLE = .F. + ENDIF + IF lcSem = '2' + THISFORM.pANOU_CALC1.CONtainer_formular_10.optBilPrescurtat.VISIBLE = .T. + THISFORM.pANOU_CALC1.CONtainer_formular_40.VISIBLE = .T. + ENDIF + ELSE + THISFORM.pANOU_CALC1.VISIBLE = .F. + THISFORM.pagefr_calc1.VISIBLE = .T. + lnPage = THISFORM.pagefr_calc1.ACTIVEPAGE + lcAct = "thisform.pagefr_calc1.page" + ALLTRIM(STR(lnPage)) + ".activate" + &lcAct + ENDIF + + + ENDPROC + + PROCEDURE cmdEroriXML.Click + Local lcBilantRezultatFile + lcBilantRezultatFile = thisform.cBIlantRezultat + IF !EMPTY(m.lcBilantRezultatFile) AND FILE(m.lcBilantRezultatFile) + open_default_app(m.lcBIlantRezultatFile) + ENDIF + ENDPROC + + PROCEDURE cmdXML.Click + Thisform.do_executa(1) + ENDPROC + + PROCEDURE cmdXMLtoPDF.Click + *** lansez programul de verificare D112 (dukvalidator.jar) + loProcess = Newobject("api_apprun","process.vcx") + loProcess.icLaunchDir = Justpath(thisform.cBilantValidatorFile) + loProcess.iccommandline = [java -jar "DUKIntegrator.jar" ] + thisform.cFisierXML + loProcess.launchapp() + ENDPROC + + PROCEDURE Command1.Click + Do date_identif In oproceduri_sitfin.prg + ENDPROC + + PROCEDURE Command2.Click + locs = CREATEOBJECT("frm_caiSalvare") + locs.show(1) + ENDPROC + + PROCEDURE Command3.Click + Thisform.do_executa(3) + + PRIVATE pdDataI, pdDataF + + lcLuna = thisform.container_data1.cboluna.Value + lcanul = thisform.container_data1.cboAnul.Value + + + + DO case + CASE INLIST(VAL(lcLuna),1,3,5,7,8,10,12) + lcZiua = '31' + CASE INLIST(VAL(lcLuna),4,6,9,11) + lcZiua = '30' + OTHERWISE + lcZiua = '28' + ENDCASE + + pdDataI = CTOD('01/01/'+ALLTRIM(lcanul)) + pdDataF = CTOD(lcZiua + "/"+ ALLTRIM(lcluna)+'/'+ALLTRIM(lcanul)) + + LOCAL lnTip, llUnitate, llVerifActive, llBL + llUnitate = .T. + llVerifActive = .F. + lnBilPrescurtat = 0 + + lnTip = THISFORM.pagefr_calc1.ACTIVEPAGE && 1 - microintreprinderi + ** + lnPunct = AT(".",THISFORM.cboSesiuni.ROWSOURCE) + lcTabelSesiuni = SUBSTR(THISFORM.cboSesiuni.ROWSOURCE,1,lnPunct) + + SELECT (lcTabelSesiuni) + lcSesiune = ALLTRIM(sesiune) + lnSemestru = VAL(SUBSTR(lcSesiune,6,1)) + lcAn = SUBSTR(lcSesiune,1,4) + + IF ((lnTip <> 1) OR (VAL(lcAn)*12+lnSemestru >= 2006*12+2)) AND lnSemestru = 2 + llVerifActive = .T. + ENDIF + + IF TYPE('thisform.paNOU_CALC1.CONTAINER_FORMULAR_10.opTBILPRESCURTAT') <> 'U' + lnBilPrescurtat = THISFORM.paNOU_CALC1.CONTAINER_FORMULAR_10.opTBILPRESCURTAT.VALUE && 0-inainte de dec 06; 1-BS; 2-BL + ENDIF + + ** + IF EMPTY(NVL(gcSF_DirExpBil,'')) OR !DIRECTORY(NVL(gcSF_DirExpBil,'')) + MESSAGEBOX('Alegeti calea unde se exporta Bilantul!') + thisform.command2.Click + + IF EMPTY(NVL(gcSF_DirExpBil,'')) OR !DIRECTORY(NVL(gcSF_DirExpBil,'')) + RETURN + ENDIF + ENDIF + + * + IF VAL(lcanul)*12+VAL(lcLuna) >= 2011*12+12 + DO Export_balanta WITH lnTip, llUnitate, llVerifActive, lnBilPrescurtat IN oproceduri_sitfin.prg + ELSE + DO EXPORT WITH lnTip, llUnitate, llVerifActive, lnBilPrescurtat IN oproceduri_sitfin.prg + ENDIF + ENDPROC + + PROCEDURE Command3.Init + IF gnAn * 12 + gnLuna >= 2011*12 + 12 + this.Caption= "Export Balanta.txt" + ELSE + this.Caption= "Export in fisiere text" + ENDIF + + ENDPROC + + PROCEDURE Command4.Click + Thisform.AlwaysOnTop = .F. + + Local lcLuna, lcAnul + lcAnul = Thisform.container_data1.cboAnul.Value + lcLuna = Thisform.container_data1.cboLuna.Value + + lcmenu = "Model \<1;Model \<2" + lnx = xmenu(lcmenu) + + && deschid bilantul care e deja salvat + lcFisBilant = Addbs(Alltrim(gcDirExpBil_tabele)) + Addbs(Alltrim(gofirma.firma)) + "Bilant.dbf" + + If File(lcFisBilant) + Use (lcFisBilant) In 0 Alias rg_bilant + Select * From rg_bilant Into Cursor cBilant Readwrite + Select cBilant + Else + amessagebox("Salvati Bilantul in directorul " + Addbs(Alltrim(gcDirExpBil_tabele)) + Addbs(Alltrim(gofirma.firma)),0+48,"Atentie") + Create Cursor cBilant (Rand c(3), descriere c(30), valprec N(15), valcur N(15)) + Endif + + && deschid cpp care e deja salvat + lcFisCpp = Addbs(Alltrim(gcDirExpBil_tabele)) + Addbs(Alltrim(gofirma.firma)) +"cpp.dbf" + If File(lcFisCpp) + Use (lcFisCpp) In 0 Alias rg_cpp + Select * From rg_cpp Into Cursor cCpp Readwrite + Select cCpp + Else + amessagebox("Salvati Contul de profit si pierdere in directorul "+ Addbs(Alltrim(gcDirExpBil_tabele)) + Addbs(Alltrim(gofirma.firma)),0+48,"Atentie") + Create Cursor cCpp (Rand c(3), descriere c(30), valprec N(15), valcur N(15)) + Endif + + Do Case + Case lnx = 1 + && deschid dateInf care e deja salvat + lcFisDateInf = Addbs(Alltrim(gcDirExpBil_tabele)) + Addbs(Alltrim(gofirma.firma)) +"dateInf.dbf" + If File(lcFisDateInf) + Use (lcFisDateInf) In 0 Alias rg_dateInf + Select * From rg_dateInf Into Cursor cDateInf Readwrite + Select cDateInf + Else + amessagebox("Salvati Datele informative in directorul "+ Addbs(Alltrim(gcDirExpBil_tabele)) + Addbs(Alltrim(gofirma.firma)),0+48,"Atentie") + Create Cursor cDateInf (Rand c(3), descriere c(30), col1 N(15)) + Endif + + Do rapgest_2005 With 'cBilant', 'cCpp', 'cDateInf', lcLuna, lcAnul In oproceduri_sitfin.prg + + + If Used('rg_dateInf') + Use In rg_dateInf + Endif + If Used("cDateInf") + Use In cDateInf + Endif + + Case lnx = 2 + Do rapgest1 With 'cBilant', 'cCpp', lcLuna, lcAnul In oproceduri_sitfin.prg + Endcase + + + If Used('rg_Bilant') + Use In rg_bilant + Endif + If Used("cBilant") + Use In cBilant + Endif + + If Used('rg_cpp') + Use In rg_cpp + Endif + If Used("cCpp") + Use In cCpp + Endif + + Thisform.AlwaysOnTop = .T. + + ENDPROC + + PROCEDURE Command5.Click + Thisform.AlwaysOnTop = .F. + + Local lcLuna, lcAnul + lcAnul = Thisform.container_data1.cboAnul.Value + lcLuna = Thisform.container_data1.cboLuna.Value + + + && deschid cpp care e deja salvat + lcFisCpp = Addbs(Alltrim(gcDirExpBil_tabele)) + Addbs(Alltrim(gofirma.firma)) +"cpp.dbf" + If File(lcFisCpp) + Use (lcFisCpp) In 0 Alias rg_cpp + Select * From rg_cpp Into Cursor cCpp Readwrite + Select cCpp + Else + amessagebox("Salvati Contul de profit si pierdere in directorul "+ Addbs(Alltrim(gcDirExpBil_tabele)) + Addbs(Alltrim(gofirma.firma)),0+48,"Atentie") + Create Cursor cCpp (Rand c(3), descriere c(30), valprec N(15), valcur N(15)) + ENDIF + + Do procVerb WITH 'cCPP', lcLuna, lcAnul In oproceduri_sitfin.prg + + IF USED('rg_cpp') + Use In rg_Cpp + ENDIF + If Used("cCpp") + Use In cCpp + ENDIF + + Thisform.AlwaysOnTop = .T. + + ENDPROC + + PROCEDURE Command6.Click + Thisform.do_executa(3) && XML + PDF + ENDPROC + + PROCEDURE Container_data1.cboAnul.Init + this.Value = ALLTRIM(STR(gnAn)) + ENDPROC + + PROCEDURE Container_data1.cboAnul.InteractiveChange + thisform.pagefr_calc1.Refresh + + IF VAL(this.Value)*12 + VAL(this.Parent.cboLuna.Value) >= 2011*12 + 12 + thisform.command3.Caption = "Export Balanta.txt" + ELSE + thisform.command3.Caption = "Export in fisiere text" + ENDIF + + thisform.command3.Refresh + ENDPROC + + PROCEDURE Container_data1.CBOLUNA.Init + this.Value = PADL(gnLuna,2,'0') && ALLTRIM(STR(gnLuna)) + + ENDPROC + + PROCEDURE Container_data1.CBOLUNA.InteractiveChange + thisform.pagefr_calc1.Refresh + + IF VAL(this.Parent.cboAnul.value)*12 + VAL(this.Parent.cboLuna.Value) >= 2011*12 + 12 + thisform.command3.Caption = "Export Balanta.txt" + ELSE + thisform.command3.Caption = "Export in fisiere text" + ENDIF + + thisform.command3.Refresh + ENDPROC + + PROCEDURE Container_data1.CBOLUNA.Valid + ** setare variabile folosite pt. labeluri in rapoarte + LOCAL lnLuna, lnAnul + lnLuna = VAL(this.Value) + lnAnul = VAL(this.Parent.cboAnul.Value) + + If 12 * lnAnul + lnLuna >= 12*Val(Substr(gcDataRon,4,4))+Val(Left(gcDataRon,2)) && 07-2005 + pcMiiLei_ron = "- RON -" + pcMiiLei = "lei" + Else + pcMiiLei_ron = "- mii lei -" + pcMiiLei = "mii lei" + ENDIF + + ENDPROC + +ENDDEFINE + +DEFINE CLASS frm_tip_nume_rand_indicator AS _frmbase OF "_frm_base.vcx" + *< CLASSDATA: Baseclass="form" Timestamp="" Scale="Pixels" Uniqueid="" /> + + *-- OBJECTDATA items order determines ZOrder / El orden de los items OBJECTDATA determina el ZOrder + *< OBJECTDATA: ObjPath="Label1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="Text1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="Label2" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="Text2" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="But_renunt1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="Optiongroup1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="Label3" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="Text3" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="Label4" UniqueID="" Timestamp="" /> + + * + BorderStyle = 1 + DoCreate = .T. + Height = 129 + Name = "frm_tip_nume_rand_indicator" + Width = 757 + _shape1.Height = 29 + _shape1.Left = 0 + _shape1.Name = "_shape1" + _shape1.Top = 0 + _shape1.Width = 756 + _shape2.Height = 29 + _shape2.Left = 696 + _shape2.Name = "_shape2" + _shape2.Top = 0 + _shape2.Width = 61 + Lb_titlu_alb_b121.Caption = "Tip, rand, nume indicator" + Lb_titlu_alb_b121.Name = "Lb_titlu_alb_b121" + Lb_titlu_alb_b121.TabIndex = 7 + BUT_TERMIN1.Left = 726 + BUT_TERMIN1.Name = "BUT_TERMIN1" + BUT_TERMIN1.TabIndex = 5 + BUT_TERMIN1.Top = 1 + Gridsort1.Name = "Gridsort1" + * + + ADD OBJECT 'But_renunt1' AS but_renunt WITH ; + Left = 697, ; + Name = "But_renunt1", ; + TabIndex = 6, ; + Top = 1 + *< END OBJECT: ClassLib="cmd_butoane.vcx" BaseClass="commandbutton" /> + + ADD OBJECT 'Label1' AS label WITH ; + AutoSize = .T., ; + BackStyle = 0, ; + Caption = "Rand", ; + Height = 17, ; + Left = 125, ; + Name = "Label1", ; + TabIndex = 9, ; + Top = 32, ; + Width = 32 + *< END OBJECT: BaseClass="label" /> + + ADD OBJECT 'Label2' AS label WITH ; + AutoSize = .T., ; + BackStyle = 0, ; + Caption = "Nume indicator", ; + Height = 17, ; + Left = 187, ; + Name = "Label2", ; + TabIndex = 11, ; + Top = 32, ; + Width = 86 + *< END OBJECT: BaseClass="label" /> + + ADD OBJECT 'Label3' AS label WITH ; + AutoSize = .T., ; + BackStyle = 0, ; + Caption = "Tip indicator", ; + Height = 17, ; + Left = 7, ; + Name = "Label3", ; + TabIndex = 8, ; + Top = 32, ; + Width = 69 + *< END OBJECT: BaseClass="label" /> + + ADD OBJECT 'Label4' AS label WITH ; + AutoSize = .T., ; + BackStyle = 0, ; + Caption = "Ordine", ; + ForeColor = 160,160,160, ; + Height = 17, ; + Left = 125, ; + Name = "Label4", ; + TabIndex = 10, ; + Top = 72, ; + Width = 39 + *< END OBJECT: BaseClass="label" /> + + ADD OBJECT 'Optiongroup1' AS optiongroup WITH ; + AutoSize = .F., ; + BackStyle = 0, ; + ButtonCount = 6, ; + ControlSource = "poindicator.tip", ; + Height = 77, ; + Left = 7, ; + Name = "Optiongroup1", ; + TabIndex = 1, ; + Top = 48, ; + Value = 1, ; + Width = 109, ; + Option1.BackStyle = 0, ; + Option1.Caption = "Balanta", ; + Option1.Height = 17, ; + Option1.Left = 5, ; + Option1.Name = "Option1", ; + Option1.Top = 5, ; + Option1.Value = 1, ; + Option1.Width = 61, ; + Option2.AutoSize = .T., ; + Option2.BackStyle = 0, ; + Option2.Caption = "Registru jurnal", ; + Option2.Height = 17, ; + Option2.Left = 5, ; + Option2.Name = "Option2", ; + Option2.Top = 22, ; + Option2.Width = 99, ; + Option3.BackStyle = 0, ; + Option3.Caption = "Facturi", ; + Option3.Enabled = .F., ; + Option3.Height = 17, ; + Option3.Left = 5, ; + Option3.Name = "Option3", ; + Option3.Top = 76, ; + Option3.Visible = .F., ; + Option3.Width = 61, ; + Option4.BackStyle = 0, ; + Option4.Caption = "Altfel", ; + Option4.Enabled = .F., ; + Option4.Height = 17, ; + Option4.Left = 5, ; + Option4.Name = "Option4", ; + Option4.Top = 95, ; + Option4.Visible = .F., ; + Option4.Width = 61, ; + Option5.AutoSize = .T., ; + Option5.BackStyle = 0, ; + Option5.Caption = "Total", ; + Option5.Height = 17, ; + Option5.Left = 5, ; + Option5.Name = "Option5", ; + Option5.Top = 39, ; + Option5.Width = 45, ; + Option6.BackStyle = 0, ; + Option6.Caption = "Functie", ; + Option6.Enabled = .F., ; + Option6.Height = 17, ; + Option6.Left = 5, ; + Option6.Name = "Option6", ; + Option6.Top = 56, ; + Option6.Width = 61 + *< END OBJECT: BaseClass="optiongroup" /> + + ADD OBJECT 'Text1' AS textbox WITH ; + ControlSource = "poindicator.rand", ; + Format = "k", ; + Height = 23, ; + InputMask = "XXXX", ; + Left = 125, ; + Name = "Text1", ; + TabIndex = 2, ; + Top = 48, ; + Width = 55 + *< END OBJECT: BaseClass="textbox" /> + + ADD OBJECT 'Text2' AS textbox WITH ; + ControlSource = "poindicator.nume_ind", ; + Format = "k", ; + Height = 45, ; + Left = 187, ; + Name = "Text2", ; + TabIndex = 3, ; + Top = 48, ; + Width = 558 + *< END OBJECT: BaseClass="textbox" /> + + ADD OBJECT 'Text3' AS textbox WITH ; + Alignment = 3, ; + ControlSource = "poindicator.ord_rand", ; + ForeColor = 160,160,160, ; + Format = "kr", ; + Height = 23, ; + InputMask = "9999", ; + Left = 125, ; + Name = "Text3", ; + TabIndex = 4, ; + Top = 89, ; + Value = 0, ; + Width = 55 + *< END OBJECT: BaseClass="textbox" /> + + PROCEDURE inainte_de_do_termin + this.buT_TERMIN1.SetFocus() + ENDPROC + + PROCEDURE Optiongroup1.Valid + poIndicator.tip = this.Value + ENDPROC + +ENDDEFINE + +DEFINE CLASS frm_toate_seturile AS _frmbase OF "_frm_base.vcx" + *< CLASSDATA: Baseclass="form" Timestamp="" Scale="Pixels" Uniqueid="" /> + + *-- OBJECTDATA items order determines ZOrder / El orden de los items OBJECTDATA determina el ZOrder + *< OBJECTDATA: ObjPath="opt_sitfin" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="Image1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="grid_tipuri_speciale" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="grid_tipuri_speciale.Column1.Header1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="grid_tipuri_speciale.Column1.Text1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="grid_tipuri_speciale.Column2.Header1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="grid_tipuri_speciale.Column2.Check1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="grid_seturi" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="grid_seturi.cNrCrt.Header1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="grid_seturi.cNrCrt.Text1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="grid_seturi.cUzual.Header1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="grid_seturi.cUzual.Check1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="grid_seturi.cNume_Set.Header1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="grid_seturi.cNume_Set.Text1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="grid_seturi.cDataI.Header1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="grid_seturi.cDataI.Text1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="grid_seturi.cDataF.Header1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="grid_seturi.cDataF.Text1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="grid_seturi.cCumul.Header1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="grid_seturi.cCumul.Text1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="grid_seturi.cFaraGrafic.Header1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="grid_seturi.cFaraGrafic.Check1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="But_sterge1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="But_listare1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="But_grafic1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="But_copie_set" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="But_modifica1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="Cmd_cauta1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="But_nou1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="But_reface1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="Cmd_reset1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="Ck_nume_set" UniqueID="" Timestamp="" /> + + * + *m: do_copie_set + *m: do_grafic + *m: do_modiparam + *m: inainte_de_do_reset + *m: valid_uzual + * + + * + cgridsortlist = grid_seturi,grid_tipuri_speciale + DoCreate = .T. + Height = 464 + Name = "frm_toate_seturile" + Width = 711 + WindowState = 2 + _SHAPE1.Anchor = 11 + _SHAPE1.Height = 29 + _SHAPE1.Left = 0 + _SHAPE1.Name = "_SHAPE1" + _SHAPE1.Top = 0 + _SHAPE1.Width = 736 + _SHAPE1.ZOrderSet = 1 + _SHAPE2.Anchor = 9 + _SHAPE2.Height = 29 + _SHAPE2.Left = 470 + _SHAPE2.Name = "_SHAPE2" + _SHAPE2.Top = 0 + _SHAPE2.Width = 238 + _SHAPE2.ZOrderSet = 2 + LB_TITLU_ALB_B121.Caption = "SETURI DE INDICATORI" + LB_TITLU_ALB_B121.Left = 45 + LB_TITLU_ALB_B121.Name = "LB_TITLU_ALB_B121" + LB_TITLU_ALB_B121.TabIndex = 9 + LB_TITLU_ALB_B121.Top = 6 + LB_TITLU_ALB_B121.ZOrderSet = 3 + BUT_TERMIN1.Anchor = 9 + BUT_TERMIN1.Left = 681 + BUT_TERMIN1.Name = "BUT_TERMIN1" + BUT_TERMIN1.Picture = ..\grafice\terminat_sus.bmp + BUT_TERMIN1.TabIndex = 8 + BUT_TERMIN1.Top = 1 + BUT_TERMIN1.ZOrderSet = 12 + Gridsort1.Left = 256 + Gridsort1.Name = "Gridsort1" + Gridsort1.Top = 7 + * + + ADD OBJECT 'But_copie_set' AS but_grafic WITH ; + Anchor = 9, ; + caction = do_copie_set, ; + cpicturedown = copy_jos.bmp, ; + cpictureup = copy_sus.bmp, ; + Left = 590, ; + Name = "But_copie_set", ; + Picture = ..\grafice\copy_sus.bmp, ; + TabIndex = 7, ; + ToolTipText = "Copiere set de indicatori (CTRL+C)", ; + Top = 1, ; + ZOrderSet = 13 + *< END OBJECT: ClassLib="cmd_butoane.vcx" BaseClass="commandbutton" /> + + ADD OBJECT 'But_grafic1' AS but_grafic WITH ; + Anchor = 9, ; + Left = 650, ; + Name = "But_grafic1", ; + Picture = ..\grafice\grafic_sus.bmp, ; + TabIndex = 7, ; + Top = 1, ; + ZOrderSet = 11 + *< END OBJECT: ClassLib="cmd_butoane.vcx" BaseClass="commandbutton" /> + + ADD OBJECT 'But_listare1' AS but_listare WITH ; + Anchor = 9, ; + Left = 560, ; + Name = "But_listare1", ; + Picture = ..\grafice\listare_sus.bmp, ; + Top = 1, ; + ZOrderSet = 10 + *< END OBJECT: ClassLib="cmd_butoane.vcx" BaseClass="commandbutton" /> + + ADD OBJECT 'But_modifica1' AS but_modifica WITH ; + Anchor = 9, ; + Left = 500, ; + Name = "But_modifica1", ; + Picture = ..\grafice\modific_sus.bmp, ; + TabIndex = 3, ; + ToolTipText = "Modificare set de indicatori (CTRL+M)", ; + Top = 1, ; + ZOrderSet = 14 + *< END OBJECT: ClassLib="cmd_butoane.vcx" BaseClass="commandbutton" /> + + ADD OBJECT 'But_nou1' AS but_nou WITH ; + Anchor = 9, ; + Left = 470, ; + Name = "But_nou1", ; + Top = 1 + *< END OBJECT: ClassLib="cmd_butoane.vcx" BaseClass="commandbutton" /> + + ADD OBJECT 'But_reface1' AS but_reface WITH ; + Anchor = 9, ; + caction = inainte_de_do_reset, ; + Left = 620, ; + Name = "But_reface1", ; + Picture = ..\grafice\refac_sus.bmp, ; + Top = 1, ; + Visible = .F. + *< END OBJECT: ClassLib="cmd_butoane.vcx" BaseClass="commandbutton" /> + + ADD OBJECT 'But_sterge1' AS but_sterge WITH ; + Anchor = 9, ; + Left = 530, ; + Name = "But_sterge1", ; + Picture = ..\grafice\sterg_sus.bmp, ; + TabIndex = 6, ; + Top = 1, ; + ZOrderSet = 9 + *< END OBJECT: ClassLib="cmd_butoane.vcx" BaseClass="commandbutton" /> + + ADD OBJECT 'Ck_nume_set' AS ck_filtru_text WITH ; + Alignment = 0, ; + Anchor = 9, ; + AutoSize = .T., ; + camp_nume = s1.nume_set, ; + Caption = "Nume set", ; + Comment = "*:OnResize=LT", ; + Left = 511, ; + Name = "Ck_nume_set", ; + TabIndex = 1, ; + Top = 39, ; + ZOrderSet = 19 + *< END OBJECT: ClassLib="caut_ora.vcx" BaseClass="checkbox" /> + + ADD OBJECT 'Cmd_cauta1' AS cmd_cauta WITH ; + Anchor = 9, ; + Comment = "*:OnResize=LT", ; + Height = 27, ; + Left = 555, ; + Name = "Cmd_cauta1", ; + TabIndex = 34, ; + Top = 123, ; + Width = 75, ; + ZOrderSet = 20 + *< END OBJECT: ClassLib="cmd_butoane.vcx" BaseClass="commandbutton" /> + + ADD OBJECT 'Cmd_reset1' AS cmd_reset WITH ; + Anchor = 9, ; + Comment = "*:OnResize=LT", ; + Height = 27, ; + Left = 633, ; + Name = "Cmd_reset1", ; + TabIndex = 45, ; + Top = 123, ; + Width = 75, ; + ZOrderSet = 19 + *< END OBJECT: ClassLib="cmd_butoane.vcx" BaseClass="commandbutton" /> + + ADD OBJECT 'grid_seturi' AS _grdrow WITH ; + Anchor = 15, ; + ColumnCount = 7, ; + DeleteMark = .F., ; + Height = 416, ; + HighlightStyle = 2, ; + Left = 9, ; + Name = "grid_seturi", ; + Panel = 1, ; + RecordSource = "crsSeturi", ; + RecordSourceType = 1, ; + RowHeight = 19, ; + TabIndex = 1, ; + Top = 39, ; + Width = 497, ; + ZOrderSet = 8, ; + Column1.ControlSource = "", ; + Column1.FontName = "Arial", ; + Column1.FontSize = 10, ; + Column1.Name = "cNrCrt", ; + Column1.Width = 36, ; + Column2.ControlSource = "uzual", ; + Column2.FontName = "Arial", ; + Column2.FontSize = 10, ; + Column2.Name = "cUzual", ; + Column2.Sparse = .F., ; + Column2.Width = 33, ; + Column3.ControlSource = "nume_set", ; + Column3.FontName = "Arial", ; + Column3.FontSize = 10, ; + Column3.Name = "cNume_Set", ; + Column3.Width = 225, ; + Column4.ControlSource = 'cluna3(crsseturi.lunai) + " " + ALLTRIM(STR(crsseturi.anuli))', ; + Column4.FontName = "Arial", ; + Column4.FontSize = 10, ; + Column4.Name = "cDataI", ; + Column4.Width = 72, ; + Column5.ControlSource = 'cluna3(crsseturi.lunaf) + " " + ALLTRIM(STR(crsseturi.anulf))', ; + Column5.FontName = "Arial", ; + Column5.FontSize = 10, ; + Column5.Name = "cDataF", ; + Column5.Width = 65, ; + Column6.ControlSource = ' IIF(crsseturi.cumul = 1, "Luni",IIF(crsseturi.cumul=3,"Trimestre",IIF(crsseturi.cumul=6,"Semestre","Ani")))', ; + Column6.FontName = "Arial", ; + Column6.FontSize = 10, ; + Column6.Name = "cCumul", ; + Column6.Width = 75, ; + Column7.ControlSource = "faragrafic", ; + Column7.FontName = "Arial", ; + Column7.FontSize = 10, ; + Column7.Name = "cFaraGrafic", ; + Column7.Sparse = .F., ; + Column7.Width = 61 + *< END OBJECT: ClassLib="_grd_base.vcx" BaseClass="grid" /> + + ADD OBJECT 'grid_seturi.cCumul.Header1' AS header WITH ; + Alignment = 2, ; + Caption = "Cumul", ; + FontName = "Arial", ; + FontSize = 10, ; + Name = "Header1" + *< END OBJECT: BaseClass="header" /> + + ADD OBJECT 'grid_seturi.cCumul.Text1' AS textbox WITH ; + BackColor = 255,255,255, ; + BorderStyle = 0, ; + FontName = "Arial", ; + FontSize = 10, ; + ForeColor = 0,0,0, ; + Margin = 0, ; + Name = "Text1", ; + SelectedBackColor = 100,185,255 + *< END OBJECT: BaseClass="textbox" /> + + ADD OBJECT 'grid_seturi.cDataF.Header1' AS header WITH ; + Alignment = 2, ; + Caption = "Data finala", ; + FontName = "Arial", ; + FontSize = 10, ; + Name = "Header1" + *< END OBJECT: BaseClass="header" /> + + ADD OBJECT 'grid_seturi.cDataF.Text1' AS textbox WITH ; + BackColor = 255,255,255, ; + BorderStyle = 0, ; + FontName = "Arial", ; + FontSize = 10, ; + ForeColor = 0,0,0, ; + Margin = 0, ; + Name = "Text1", ; + SelectedBackColor = 100,185,255 + *< END OBJECT: BaseClass="textbox" /> + + ADD OBJECT 'grid_seturi.cDataI.Header1' AS header WITH ; + Alignment = 2, ; + Caption = "Data initiala", ; + FontName = "Arial", ; + FontSize = 10, ; + Name = "Header1" + *< END OBJECT: BaseClass="header" /> + + ADD OBJECT 'grid_seturi.cDataI.Text1' AS textbox WITH ; + BackColor = 255,255,255, ; + BorderStyle = 0, ; + FontName = "Arial", ; + FontSize = 10, ; + ForeColor = 0,0,0, ; + Margin = 0, ; + Name = "Text1", ; + SelectedBackColor = 100,185,255 + *< END OBJECT: BaseClass="textbox" /> + + ADD OBJECT 'grid_seturi.cFaraGrafic.Check1' AS checkbox WITH ; + Alignment = 0, ; + Caption = "", ; + FontName = "Arial", ; + FontSize = 10, ; + Height = 17, ; + Left = 27, ; + Name = "Check1", ; + Top = 47, ; + Width = 60 + *< END OBJECT: BaseClass="checkbox" /> + + ADD OBJECT 'grid_seturi.cFaraGrafic.Header1' AS header WITH ; + Alignment = 2, ; + Caption = "Fara grafic", ; + FontName = "Arial", ; + FontSize = 10, ; + Name = "Header1" + *< END OBJECT: BaseClass="header" /> + + ADD OBJECT 'grid_seturi.cNrCrt.Header1' AS header WITH ; + Alignment = 2, ; + Caption = "Nr. crt", ; + FontName = "Arial", ; + FontSize = 10, ; + Name = "Header1" + *< END OBJECT: BaseClass="header" /> + + ADD OBJECT 'grid_seturi.cNrCrt.Text1' AS textbox WITH ; + BackColor = 255,255,255, ; + BorderStyle = 0, ; + FontName = "Arial", ; + FontSize = 10, ; + ForeColor = 0,0,0, ; + Margin = 0, ; + Name = "Text1", ; + SelectedBackColor = 100,185,255 + *< END OBJECT: BaseClass="textbox" /> + + ADD OBJECT 'grid_seturi.cNume_Set.Header1' AS header WITH ; + Alignment = 2, ; + Caption = "Nume set", ; + FontName = "Arial", ; + FontSize = 10, ; + Name = "Header1" + *< END OBJECT: BaseClass="header" /> + + ADD OBJECT 'grid_seturi.cNume_Set.Text1' AS textbox WITH ; + BackColor = 255,255,255, ; + BorderStyle = 0, ; + FontName = "Arial", ; + FontSize = 10, ; + ForeColor = 0,0,0, ; + Margin = 0, ; + Name = "Text1", ; + SelectedBackColor = 100,185,255 + *< END OBJECT: BaseClass="textbox" /> + + ADD OBJECT 'grid_seturi.cUzual.Check1' AS checkbox WITH ; + Alignment = 0, ; + Caption = "", ; + FontName = "Arial", ; + FontSize = 10, ; + Height = 17, ; + Left = 16, ; + Name = "Check1", ; + Top = 35, ; + Width = 60 + *< END OBJECT: BaseClass="checkbox" /> + + ADD OBJECT 'grid_seturi.cUzual.Header1' AS header WITH ; + Alignment = 2, ; + Caption = "Uzual", ; + FontName = "Arial", ; + FontSize = 10, ; + Name = "Header1" + *< END OBJECT: BaseClass="header" /> + + ADD OBJECT 'grid_tipuri_speciale' AS _grdrow WITH ; + Anchor = 12, ; + ColumnCount = 2, ; + DeleteMark = .F., ; + Height = 92, ; + Left = 512, ; + Name = "grid_tipuri_speciale", ; + Panel = 1, ; + ReadOnly = .T., ; + RecordMark = .F., ; + RecordSource = "cTipuri_seturi", ; + RowHeight = 19, ; + Top = 363, ; + Width = 194, ; + Column1.ControlSource = "nume_tip_set", ; + Column1.FontName = "Arial", ; + Column1.FontSize = 10, ; + Column1.Name = "Column1", ; + Column1.ReadOnly = .T., ; + Column1.Width = 135, ; + Column2.ControlSource = "ales", ; + Column2.FontName = "Arial", ; + Column2.FontSize = 10, ; + Column2.Name = "Column2", ; + Column2.ReadOnly = .F., ; + Column2.Sparse = .F., ; + Column2.Width = 28 + *< END OBJECT: ClassLib="_grd_base.vcx" BaseClass="grid" /> + + ADD OBJECT 'grid_tipuri_speciale.Column1.Header1' AS header WITH ; + Alignment = 2, ; + Caption = "Tip set special", ; + FontName = "Arial", ; + FontSize = 10, ; + Name = "Header1" + *< END OBJECT: BaseClass="header" /> + + ADD OBJECT 'grid_tipuri_speciale.Column1.Text1' AS textbox WITH ; + BackColor = 255,255,255, ; + BorderStyle = 0, ; + FontName = "Arial", ; + FontSize = 10, ; + ForeColor = 0,0,0, ; + Margin = 0, ; + Name = "Text1", ; + ReadOnly = .T., ; + SelectedBackColor = 100,185,255 + *< END OBJECT: BaseClass="textbox" /> + + ADD OBJECT 'grid_tipuri_speciale.Column2.Check1' AS checkbox WITH ; + Alignment = 0, ; + Caption = "", ; + FontName = "Arial", ; + FontSize = 10, ; + Height = 17, ; + Left = 34, ; + Name = "Check1", ; + ReadOnly = .F., ; + Top = 35, ; + Width = 60 + *< END OBJECT: BaseClass="checkbox" /> + + ADD OBJECT 'grid_tipuri_speciale.Column2.Header1' AS header WITH ; + Alignment = 2, ; + Caption = " ", ; + FontName = "Arial", ; + FontSize = 10, ; + Name = "Header1" + *< END OBJECT: BaseClass="header" /> + + ADD OBJECT 'Image1' AS image WITH ; + BackStyle = 0, ; + Height = 28, ; + Left = 9, ; + Name = "Image1", ; + Picture = ..\..\grafice\balb_reg.bmp, ; + Top = 0, ; + Width = 31, ; + ZOrderSet = 5 + *< END OBJECT: BaseClass="image" /> + + ADD OBJECT 'opt_sitfin' AS optiongroup WITH ; + Anchor = 9, ; + AutoSize = .F., ; + BackStyle = 0, ; + ButtonCount = 3, ; + Height = 58, ; + Left = 511, ; + Name = "opt_sitfin", ; + Top = 64, ; + Value = 1, ; + Width = 196, ; + ZOrderSet = 0, ; + Option1.AutoSize = .T., ; + Option1.BackStyle = 0, ; + Option1.Caption = "Exceptand seturile financiare", ; + Option1.FontSize = 10, ; + Option1.Height = 18, ; + Option1.Left = 5, ; + Option1.Name = "Option1", ; + Option1.Top = 5, ; + Option1.Value = 1, ; + Option1.Width = 186, ; + Option2.AutoSize = .T., ; + Option2.BackStyle = 0, ; + Option2.Caption = "Seturile financiare", ; + Option2.FontSize = 10, ; + Option2.Height = 18, ; + Option2.Left = 5, ; + Option2.Name = "Option2", ; + Option2.Top = 20, ; + Option2.Width = 122, ; + Option3.AutoSize = .T., ; + Option3.BackStyle = 0, ; + Option3.Caption = "Toate seturile", ; + Option3.FontSize = 10, ; + Option3.Height = 18, ; + Option3.Left = 5, ; + Option3.Name = "Option3", ; + Option3.Top = 35, ; + Option3.Width = 97 + *< END OBJECT: BaseClass="optiongroup" /> + + PROCEDURE actualizeaza_grid1 + LPARAMETERS pcFiltru + LOCAL lcFiltru + lcFiltru = pcFiltru + IF EMPTY(lcFiltru) + lcFiltru = poSeturi.ca_baza1.cfiltru + ENDIF + + * lcOrder = This.corderby + " " + This.Casc + + save_grid_tag(thisform.grid_seturi) + poSeturi.ca_baza1.cfiltru = lcFiltru + *poSeturi.ca_baza1.corder = lcOrder + poSeturi.ca_baza1.afisare() + restore_grid_tag(thisform.grid_seturi) + IF RECCOUNT('crsseturi')>0 + thisform.grid_seturi.SetFocus() + ENDIF + + + ENDPROC + + PROCEDURE do_adauga + thisform.AlwaysOnTop = .F. + + * DO setNou IN oproceduri_seturi_indicatori.prg + + lnId_set = 0 + lnId_modiPara = 1 && toate seturile + SET STEP ON + DO editare_set WITH lnId_set, lnId_modiPara IN oproceduri_seturi_indicatori.prg + + thisform.AlwaysOnTop = .T. + ENDPROC + + PROCEDURE do_cauta + Local lcFiltru + lcFiltru = "" + + If This.ck_nume_set.Value = 1 + lcFiltru = lcFiltru + Thisform.ck_nume_set.filtru + Endif + + Do Case + Case This.opt_sitfin.Value = 1 && exceptand seturile financiare + lcFiltru = lcFiltru + [ and s1.sters = 0 and s1.id_set not in (select ss.id_set from mg_seturi_speciale ss where ss.id_tip_set =1 and ss.sters =0)] && (id_tip_set <> 1 or ISNULL(id_tip_set) or EMPTY(id_tip_set)) ] + Case This.opt_sitfin.Value = 2 && seturile financiare + lcFiltru = lcFiltru + [ and s1.sters = 0 and s1.id_set in (select id_set from mg_seturi_speciale where id_tip_set =1 and sters =0)] && id_tip_set = 1] + Case This.opt_sitfin.Value = 3 && toate seturile + lcFiltru = lcFiltru + [ and s1.sters = 0] + Endcase + + If !Empty(lcFiltru) + lcFiltru = Substr(lcFiltru,6) + Else + lcFiltru = [] + ENDIF + + Thisform.actualizeaza_grid1(lcFiltru) + Thisform.grid_seturi.SetFocus() + + ENDPROC + + PROCEDURE do_copie_set + PRIVATE pnId_set + LOCAL lcAlias, lnRaspuns + lcAlias = THISFORM.grid_seturi.RECORDSOURCE + SELECT (lcAlias) + IF RECCOUNT()>0 + SCATTER NAME posetc + pnId_set = id_set + + lnRaspuns = amessagebox("Doriti sa copiati setul " + ALLTRIM(posetc.nume_set) + "?",4+32,"Atentie") + IF lnRaspuns = 7 && 7 = No ; 6 = Yes + RETURN + ELSE + * Do copie_set With lnId_set In oproceduri_seturi_indicatori.prg + lcSql = [begin pack_mg_evolutie.copie_set(?pnId_set); end;] + lnSucces = goExecutor.oExecute(lcSql) + + IF lnSucces < 0 + AMESSAGEBOX(goExecutor.cEroare,0+16,"Eroare") + RETURN + ENDIF + + SELECT (lcAlias) + THISFORM.actualizeaza_grid1() + + SELECT (lcAlias) + LOCATE FOR id_set = pnId_set + + THISFORM.grid_seturi.SETFOCUS + ENDIF + ENDIF + + ENDPROC + + PROCEDURE do_grafic + THISFORM.ALWAYSONTOP = .F. + PRIVATE pnColoaneCheltuieliVenituri + pnColoaneCheltuieliVenituri = 0 + + LOCAL lcAlias, llFaraGrafic, lcNumeSet + lcAlias = THISFORM.grid_seturi.RECORDSOURCE + + DO make_venChelt IN oproceduri_manager.prg + + SELECT (lcAlias) + IF RECCOUNT()>0 + PRIVATE pnId_set, pnLunaI, pnAnulI, pnLunaF, pnAnulF, pnCumul, pnCount, pnId_sectie, pnId_venChelt + STORE 0 TO pnId_set, pnId_sectie, pnId_venChelt, pnCount && cate inregistrari are setul + + THIS.do_modiparam() + + IF buton = 2 + RETURN + ENDIF + + SELECT (lcAlias) + SCATTER NAME loSet + + pnLunaI = loSet.lunaI + pnAnulI = loSet.anulI + pnLunaF = loSet.lunaF + pnAnulF = loSet.anulF + pnCumul = loSet.cumul + pnId_set = loSet.id_set + + IF loSet.faraGrafic = 0 + llFaraGrafic = .F. + ELSE + llFaraGrafic = .T. + ENDIF + lcNumeSet = ALLTRIM(loSet.nume_set) + + && copii din mg_indicatori in temporarul mg_tmp_indicatori + lcSql = [begin PACK_MG_EVOLUTIE.GET_SET(?pnId_set,?@pnCount); end;] + lnSucces = goExecutor.oExecute(lcSql) + + IF lnSucces < 0 + AMESSAGEBOX(goExecutor.cEroare,0+16,"Eroare") + RETURN + ENDIF + + IF pnCount = 0 + amessagebox('Setul nu contine indicatori!',0+48,"Atentie") + RETURN + ENDIF + + t1 = DATETIME() + golog.LOG(TRANSFORM(t1),PROGRAM()) + + + && daca creez coloane pentru fiecare tip chelt/venit apelez calculul setului pentru fiecare tip chelt/venit + && selectez numai tipurile de chelt/venituri pentru sectia si perioada aleasa + lcListaXtab = "" + IF pnColoaneCheltuieliVenituri = 1 + lcSel = [SELECT DISTINCT A.ID_VENCHELT, V.EXPLICATIE FROM ACT A ] + ; + [LEFT JOIN VNOM_VENCHEL V ON A.ID_VENCHELT = V.ID_VENCHELT ] + ; + [WHERE A.STERS = 0 AND A.an*12+A.luna between ?pnAnulI*12 + ?pnLunaI AND ?pnAnulF*12+?pnLunaF] + ; + IIF(!EMPTY(pnId_sectie), [ AND A.ID_SECTIE = ?pnId_Sectie], []) + ; + STRTRAN(gcCondSucursala,[id_sucursala],[a.id_sucursala]) + lcSel = lcSel + [ ORDER BY NVL(V.EXPLICATIE,'_')] + lnSucces = goExecutor.oExecute(lcSel, "cVenCheltTemp") + IF lnSucces < 0 + AMESSAGEBOX(goExecutor.oPrelucrareEroare(),0+16,'Eroare') + RETURN + ENDIF + + SELECT cVenCheltTemp + SCAN && FOR NVL(id_venchelt,0) <> 0 + lcCheltuiala = strtranx(ALLTRIM(cVenCheltTemp.explicatie), "[^a-z0-9]",[_],1,,1) + pnId_venChelt = id_venchelt + IF NVL(id_venchelt,0) = 0 + pnId_venChelt = 99999 + lcCheltuiala = "Fara_tip_cheltuiala" + ENDIF + + WAIT WINDOW 'Se calculeaza ' + lcCheltuiala + " " + ALLTRIM(STR(RECNO())) + '/' + ALLTRIM(STR(RECCOUNT())) + ' ...' NOWAIT + + && DACA APAS ESC IES DIN SCAN CU CE AM CALCULAT PANA ACUM + lnKeyCode = INKEY(0.5) + IF lnKeyCode = 27 && ESC + EXIT + ENDIF + lcSel = [{call PACK_MG_EVOLUTIE.GEN_MG_INDICATORI(?pnLunaI,?pnAnulI,?pnLunaF,?pnAnulF,?pnCumul,?pnId_sectie,?pnId_venchelt)}] + lcCursor = 'xtab_o' + ALLTRIM(STR(pnId_venChelt)) + lnSucces = goExecutor.oExecute(lcSel,lcCursor) + IF lnSucces < 0 + AMESSAGEBOX(goExecutor.cEroare,0+16,"Eroare") + RETURN + ENDIF + + lcListaXtab = lcListaXtab + lcCursor + ";" + lcCheltuiala + "," + ENDSCAN + USE IN (SELECT('cVenCheltTemp')) + pnId_venChelt = 0 + lcSelect = "" + + && creez un cursor cu toate coloanele din xtab_o prin join + lcSelect = MAKE_XTABO_VENCHELT(lcListaXtab) && oproceduri_evolutie.prg + + IF !USED('xtab_o') + RETURN + ENDIF + + ELSE + lcSel = [{call PACK_MG_EVOLUTIE.GEN_MG_INDICATORI(?pnLunaI,?pnAnulI,?pnLunaF,?pnAnulF,?pnCumul,?pnId_sectie,?pnId_venChelt)}] + lcCursor = 'xtab_o' + lnSucces = goExecutor.oExecute(lcSel,lcCursor) + IF lnSucces < 0 + AMESSAGEBOX(goExecutor.cEroare,0+16,"Eroare") + RETURN + ENDIF + ENDIF + t2 = DATETIME() + golog.LOG(TRANSFORM(t2),PROGRAM()) + + golog.LOG(TRANSFORM(t2-t1),PROGRAM()) + *AMESSAGEBOX(Transform(t2-t1)) + + + SELECT xtab_o + IF RECCOUNT()=0 + amessagebox('Raportul nu contine nici o informatie!',0+48,"Atentie") + IF USED('xtab_o') + USE IN xtab_o + ENDIF + RETURN + ENDIF + ***--------- + PRIVATE poSet + STORE '' TO poSet + + LOCAL lcSchema1, lcSelect1, lcOrder1, lcFiltru1, llAfiseaza + lcSchema1 = [] + lcSelect1 = [select id_ind, ales from mg_tmp_indicatori] + lcOrder1 = [] + lcgroup = [] + lcFiltru1 = [ales=1 and id_set=]+ALLTRIM(STR(pnId_set)) + lcFiltruOriginal = [] + llModParam = .T. + llAfiseaza = .F. + + gencursor('poSet','crsSet', lcSelect1, lcFiltru1, lcSchema1, lcOrder1, llAfiseaza, lcgroup, llModParam, lcFiltruOriginal) + poSet.ca_baza1.afisare() + ***--------- + lcFisXtab = gcTempPath + "xtab.dbf" + SELECT crsSet + LOCATE FOR ales = 1 + IF FOUND() + SELECT x.* ; + FROM xtab_o x JOIN crsSet i ON i.id_ind = x.id_ind ; + ORDER BY ord_rand, RAND INTO CURSOR XTAB READWRITE + *!* ORDER BY ord_rand, RAND INTO TABLE (lcFisXtab) + ELSE + SELECT x.* ; + FROM xtab_o x ; + ORDER BY ord_rand, RAND INTO CURSOR XTAB READWRITE + *!* ORDER BY ord_rand, RAND INTO TABLE (lcFisXtab) + ENDIF + + IF USED("crsSet") + USE IN crsSet + ENDIF + RELEASE poSet + + DO viz_set_calc WITH 'xtab', pnId_set, llFaraGrafic, lcNumeSet, pnId_sectie, pnId_venChelt IN oproceduri_evolutie.prg + + RELEASE loSet + IF USED('xtab') + USE IN XTAB + ENDIF + IF USED('xtab_o') + USE IN xtab_o + ENDIF + ENDIF + + + THISFORM.ALWAYSONTOP = .T. + + ENDPROC + + PROCEDURE do_listare + thisform.AlwaysOnTop = .F. + LOCAL lcTabel, lnId_set, lnId_modiPara + + lcTabel = thisform.grid_seturi.RecordSource + SELECT (lcTabel) + IF RECCOUNT()>0 + lnId_set = id_set + lnId_modiPara = 1 && toate seturile + + DO listare_set WITH lnId_set IN oproceduri_seturi_indicatori.prg + ENDIF + + thisform.AlwaysOnTop = .T. + ENDPROC + + PROCEDURE do_modifica + thisform.AlwaysOnTop = .F. + LOCAL lcTabel, lnId_set, lnId_modiPara + + lcTabel = thisform.grid_seturi.RecordSource + + SELECT (lcTabel) + IF RECCOUNT()>0 + lnRec = RECNO() + + lnId_set = id_set + lnId_modiPara = 1 && toate seturile + + DO editare_set WITH lnId_set, lnId_modiPara IN oproceduri_seturi_indicatori.prg + + Thisform.actualizeaza_grid1() + SELECT (lcTabel) + GOTO lnRec + ENDIF + thisform.AlwaysOnTop = .T. + ENDPROC + + PROCEDURE do_modiparam + LOCAL lcTabel, lnTip + + lcTabel = thisform.grid_seturi.RecordSource + SELECT (lcTabel) + IF RECCOUNT()>0 + lnTip = 1 && toate seturile + + DO modifica_parametri WITH lnTip, (lcTabel) IN oproceduri_seturi_indicatori.prg + ENDIF + + + + ENDPROC + + PROCEDURE do_sterge + PRIVATE pnId_set + LOCAL lcTabel, lnRaspuns + + lcTabel = THISFORM.grid_seturi.RECORDSOURCE + SELECT (lcTabel) + IF RECCOUNT() > 0 + pnId_set = id_set + lnRec = RECNO() + + lnRaspuns = amessagebox('Doriti sa stergeti setul?',4+32,"Confirmare") + IF lnRaspuns = 7 && 7 = No ; 6 = Yes + RETURN + ENDIF + + lcSql = [begin PACK_MG_EVOLUTIE.sterge_set(?pnId_set); end;] + lnSucces = goExecutor.oExecute(lcSql) + + IF lnSucces < 0 + AMESSAGEBOX(goExecutor.cEroare,0+16,"Eroare") + RETURN + ENDIF + + THISFORM.actualizeaza_grid1() + + SELECT (lcTabel) + IF RECCOUNT() >= lnRec + GOTO lnRec + ELSE + GO BOTTOM + ENDIF + ENDIF + + + ENDPROC + + PROCEDURE inainte_de_do_reset + lnReturn = AMESSAGEBOX("Doriti sa resetati setul la cel predefinit?",4+32,"Resetare set") + IF lnReturn = 7 && 6 - DA, 7 - NU + RETURN + ENDIF + + lcTabel = thisform.grid_seturi.RecordSource + SELECT (lcTabel) + lcId_set = ALLTRIM(STR(id_set)) + lcId_util = ALLTRIM(STR(gnIdUtil)) + lcSql = [begin PACK_MG_EVOLUTIE.reset_set(] + lcId_set + [,] + lcId_util + [); end;] + lnSucces = goExecutor.oExecute(lcSql) + + IF lnSucces < 0 + AMESSAGEBOX(goExecutor.cEroare,0+16,"Eroare") + RETURN + ELSE + WAIT WINDOW "Setul a fost resetat!" + ENDIF + + ENDPROC + + PROCEDURE KeyPress + Lparameters nKeyCode, nShiftAltCtrl + Local lbviz + lbviz=This.bvizualizare + + Do Case + Case nKeyCode=3 And nShiftAltCtrl=2 && ctrl + C + If Pemstatus(This,"do_copie_set",5) + Nodefault + This.do_copie_set() + Endif + Case nKeyCode=7 And nShiftAltCtrl=2 && ctrl + G + If Pemstatus(This,"do_grafic",5) + Nodefault + This.do_grafic() + Endif + Otherwise + DoDefault(nKeyCode, nShiftAltCtrl) + Endcase + + ENDPROC + + PROCEDURE Release + IF USED('cVenChelt') + USE IN cVenChelt + ENDIF + ENDPROC + + PROCEDURE Show + LPARAMETERS nStyle + + this.WindowState = 2 + thisform.do_cauta() + + DODEFAULT(nStyle) + ENDPROC + + PROCEDURE valid_uzual + Lparameters tnId_set, tnUzual, tnLunaI, tnAnulI, tnLunaF, tnAnulF, tnCumul, tnFaraGrafic + + Private pnId_set, pnCount, pnLunaI, pnAnulI, pnLunaF, pnAnulF, pnCumul, pnFaraGrafic + pnId_set = tnId_set + Store 0 To pnCount + pnLunaI = tnLunaI + pnAnulI = tnAnulI + pnLunaF = tnLunaF + pnAnulF = tnAnulF + pnCumul = tnCumul + pnFaraGrafic = tnFaraGrafic + + LOCAL lnuzual + lnuzual = tnUzual + + If lnUzual = 1 + lcSql = [begin PACK_MG_EVOLUTIE.verifica_uzual(?pnId_set,?gnIdUtil,?@pnCount); end;] + lnSucces = goExecutor.oExecute(lcSql) + + If lnSucces < 0 + AMessagebox(goExecutor.cEroare,0+16,"Eroare") + Return + Endif + + If pnCount = 0 + lcSql = [begin PACK_MG_EVOLUTIE.adauga_uzual(?pnId_set,?gnIdUtil, ?pnLunaI, ?pnAnulI, ?pnLunaF, ?pnAnulF, ?pnCumul, ?pnFaraGrafic); end;] + lnSucces = goExecutor.oExecute(lcSql) + + If lnSucces < 0 + AMessagebox(goExecutor.cEroare,0+16,"Eroare") + Return + Endif + Endif + + Else && sterg din mg_seturi_uzuale + lcSql = [begin PACK_MG_EVOLUTIE.verifica_uzual(?pnId_set,?gnIdUtil,?@pnCount); end;] + lnSucces = goExecutor.oExecute(lcSql) + + If lnSucces < 0 + AMessagebox(goExecutor.cEroare,0+16,"Eroare") + Return + Endif + + If pnCount > 0 + lcSql = [begin PACK_MG_EVOLUTIE.sterge_uzual(?pnId_set,?gnIdUtil); end;] + lnSucces = goExecutor.oExecute(lcSql) + + If lnSucces < 0 + AMessagebox(goExecutor.cEroare,0+16,"Eroare") + Return + Endif + Endif + ENDIF + + oprinc.set_uzual_requery + + + ENDPROC + + PROCEDURE grid_seturi.AfterRowColChange + LPARAMETERS nColIndex + + lcTabel = thisform.grid_seturi.RecordSource + save_grid_tag(thisform.grid_tipuri_speciale) + + SELECT (lcTabel) + pnId_set = id_set + + lcSel = [{call pack_mg_evolutie.get_set_tip_special(?pnId_set)}] + lcCursor = 'crsTipuri_seturi' + lnSucces = goExecutor.oExecute(lcSel,lcCursor) + + If lnSucces < 0 + amessagebox('Call pack_mg_evolutie.get_set_tip_special' + Chr(13) + goExecutor.cEroare,0+16,"Eroare") + Return + ENDIF + + SELECT * FROM crsTipuri_seturi INTO CURSOR cTipuri_seturi READWRITE + + IF USED("crsTipuri_seturi") + USE IN crsTipuri_seturi + ENDIF + *** + SELECT (lcTabel) + IF id_set < 0 + thisform.but_reface1.Enabled = .T. + ELSE + thisform.but_reface1.Enabled = .F. + ENDIF + + restore_grid_tag(thisform.grid_tipuri_speciale) + + + ENDPROC + + PROCEDURE grid_seturi.cFaraGrafic.Check1.Valid + Private pnId_set, pnValue + Local lcTabel + + lcTabel = Thisform.grid_seturi.RecordSource + + Select (lcTabel) + pnId_set = id_set + + pnValue = This.Value + lcSql = [begin PACK_MG_EVOLUTIE.update_faraGrafic(?pnId_set,?pnValue); end;] + lnSucces = goExecutor.oExecute(lcSql) + + If lnSucces < 0 + AMessagebox(goExecutor.cEroare,0+16,"Eroare") + Return + ENDIF + + + + + ENDPROC + + PROCEDURE grid_seturi.cUzual.Check1.Valid + LOCAL lnId_set, llUzual, lnLunaI, lnAnulI, lnLunaF, lnAnulF, lnCumul, lnFaraGrafic, lcTabel + lcTabel = thisform.grid_seturi.RecordSource + + lnId_set = &lcTabel..id_set + llUzual = &lcTabel..uzual + lnLunaI = &lcTabel..lunaI + lnAnulI = &lcTabel..anulI + lnLunaF = &lcTabel..lunaF + lnAnulF = &lcTabel..anulF + lnCumul = &lcTabel..cumul + lnFaraGrafic = &lcTabel..faraGrafic + + thisform.valid_uzual(lnId_set, llUzual, lnLunaI, lnAnulI, lnLunaF, lnAnulF, lnCumul, lnFaraGrafic) + + ENDPROC + + PROCEDURE grid_seturi.Init + * this.SetAll("DynamicBackColor","IIF(this.nRecno = RECNO(),RGB(191,223,255),IIF(uzual,RGB(244,250,255),RGB(255,255,255)))", "Column") + + this.SetAll("DynamicBackColor","IIF(id_set < 0, RGB(223,255,223),IIF(uzual=1,RGB(230,244,255),RGB(255,255,255)))", "Column") + + + ENDPROC + + PROCEDURE grid_tipuri_speciale.Column2.Check1.Valid + LOCAL lnId_set, lnId_tip_set + STORE 0 TO lnId_set, lnId_tip_set + + lcTabel_seturi = thisform.grid_seturi.RecordSource + SELECT (lcTabel_seturi) + lnId_set = id_set + + lcTabel_tipuri = THISFORM.grid_tipuri_speciale.RECORDSOURCE + SELECT (lcTabel_tipuri) + lnId_tip_set = id_tip_set + + IF THIS.VALUE = 1 && ales + lcSql = [begin PACK_MG_EVOLUTIE.adauga_set_special(]+ALLTRIM(STR(lnId_set))+ [,]+ ALLTRIM(STR(lnId_tip_set)) + [); end;] + lnSucces = goExecutor.oExecute(lcSql) + + IF lnSucces < 0 + AMESSAGEBOX(goExecutor.cEroare,0+16,"Eroare") + RETURN + ENDIF + ELSE + lcSql = [begin PACK_MG_EVOLUTIE.sterge_set_special(]+ALLTRIM(STR(lnId_set))+ [,]+ ALLTRIM(STR(lnId_tip_set)) + [); end;] + lnSucces = goExecutor.oExecute(lcSql) + + IF lnSucces < 0 + AMESSAGEBOX(goExecutor.cEroare,0+16,"Eroare") + RETURN + ENDIF + ENDIF + + ENDPROC + +ENDDEFINE + +DEFINE CLASS frm_viz_set_calc AS _frmbase OF "_frm_base.vcx" + *< CLASSDATA: Baseclass="form" Timestamp="" Scale="Pixels" Uniqueid="" /> + + *-- OBJECTDATA items order determines ZOrder / El orden de los items OBJECTDATA determina el ZOrder + *< OBJECTDATA: ObjPath="edtComentariu" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="Resizer1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="container_grafic" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="container_grafic.Optiongroup1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="container_grafic._checkbox1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="container_grafic._checkbox2" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="container_grafic.olbl" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="But_listare1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="But_explorer" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="But_excel1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="cb_faraGrafic" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="cb_help" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="Grid1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="But_reface1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="Gridextra1" UniqueID="" Timestamp="" /> + + * + *m: aspect + *m: do_editare_set + *m: grid_bind_formula + *m: inainte_de_do_explorer + *m: sou + *p: cclass + *p: ctitlugrafic + *p: lfaragrafic + *p: llgrafic + *p: nheightgrid + *p: nid_sectie + *p: nid_set + *p: nid_venchelt + * + + * + BorderStyle = 3 + cclass = + ctitlugrafic = + DoCreate = .T. + Height = 499 + lfaragrafic = .F. + llgrafic = .F. + Name = "frm_viz_set_calc" + nheightgrid = 0 + nid_sectie = 0 + nid_set = 0 + nid_venchelt = 0 + Width = 795 + _shape1.Anchor = 11 + _shape1.Height = 29 + _shape1.Left = 0 + _shape1.Name = "_shape1" + _shape1.Top = 0 + _shape1.Width = 794 + _shape1.ZOrderSet = 1 + _shape2.Anchor = 9 + _shape2.Height = 29 + _shape2.Left = 673 + _shape2.Name = "_shape2" + _shape2.Top = 0 + _shape2.Width = 120 + _shape2.ZOrderSet = 2 + Lb_titlu_alb_b121.Name = "Lb_titlu_alb_b121" + Lb_titlu_alb_b121.TabIndex = 9 + Lb_titlu_alb_b121.ZOrderSet = 3 + BUT_TERMIN1.Anchor = 9 + BUT_TERMIN1.Left = 764 + BUT_TERMIN1.Name = "BUT_TERMIN1" + BUT_TERMIN1.TabIndex = 7 + BUT_TERMIN1.Top = 1 + BUT_TERMIN1.ZOrderSet = 4 + GRIDSORT1.Name = "GRIDSORT1" + * + + ADD OBJECT 'But_excel1' AS but_excel WITH ; + Anchor = 9, ; + Left = 706, ; + Name = "But_excel1", ; + TabIndex = 4, ; + Top = 1, ; + ZOrderSet = 8 + *< END OBJECT: ClassLib="cmd_butoane.vcx" BaseClass="commandbutton" /> + + ADD OBJECT 'But_explorer' AS but_excel WITH ; + Anchor = 9, ; + caction = inainte_de_do_explorer, ; + cpicturedown = explorer_jos.bmp, ; + cpictureup = explorer_sus.bmp, ; + Left = 676, ; + Name = "But_explorer", ; + Picture = ..\grafice\excel_sus.bmp, ; + TabIndex = 4, ; + ToolTipText = "Export Explorer", ; + Top = 1, ; + Visible = .T., ; + ZOrderSet = 8 + *< END OBJECT: ClassLib="cmd_butoane.vcx" BaseClass="commandbutton" /> + + ADD OBJECT 'But_listare1' AS but_listare WITH ; + Anchor = 9, ; + Height = 27, ; + Left = 735, ; + Name = "But_listare1", ; + TabIndex = 3, ; + Top = 1, ; + Width = 30, ; + ZOrderSet = 7 + *< END OBJECT: ClassLib="cmd_butoane.vcx" BaseClass="commandbutton" /> + + ADD OBJECT 'But_reface1' AS but_reface WITH ; + Anchor = 9, ; + Left = 646, ; + Name = "But_reface1", ; + Picture = ..\grafice\refac_sus.bmp, ; + Top = 1 + *< END OBJECT: ClassLib="cmd_butoane.vcx" BaseClass="commandbutton" /> + + ADD OBJECT 'cb_faraGrafic' AS commandbutton WITH ; + Anchor = 9, ; + Caption = "", ; + Height = 19, ; + Left = 775, ; + Name = "cb_faraGrafic", ; + TabIndex = 5, ; + Top = 174, ; + Width = 19, ; + ZOrderSet = 9 + *< END OBJECT: BaseClass="commandbutton" /> + + ADD OBJECT 'cb_help' AS commandbutton WITH ; + Anchor = 9, ; + AutoSize = .F., ; + Caption = "", ; + Height = 18, ; + Left = 774, ; + Name = "cb_help", ; + Picture = ..\grafice\help_mic.bmp, ; + TabIndex = 6, ; + Top = 33, ; + Width = 18, ; + ZOrderSet = 10 + *< END OBJECT: BaseClass="commandbutton" /> + + ADD OBJECT 'container_grafic' AS _container WITH ; + Anchor = 15, ; + BackStyle = 1, ; + Comment = "*:onResize=ss", ; + Height = 294, ; + Left = 0, ; + Name = "container_grafic", ; + TabIndex = 2, ; + Top = 195, ; + Visible = .F., ; + Width = 793, ; + ZOrderSet = 6 + *< END OBJECT: ClassLib="_baza.vcx" BaseClass="container" /> + + ADD OBJECT 'container_grafic._checkbox1' AS _checkbox WITH ; + Alignment = 0, ; + Caption = "Legenda", ; + Comment = "*:onResize=rb", ; + Enabled = .T., ; + FontBold = .F., ; + FontName = "MS Sans Serif", ; + FontSize = 8, ; + Left = 724, ; + Name = "_checkbox1", ; + TabIndex = 13, ; + Top = 80, ; + ZOrderSet = 15 + *< END OBJECT: ClassLib="_baza.vcx" BaseClass="checkbox" /> + + ADD OBJECT 'container_grafic._checkbox2' AS _checkbox WITH ; + Alignment = 0, ; + Caption = "Titlu", ; + Comment = "*:onResize=rb", ; + FontBold = .F., ; + FontName = "MS Sans Serif", ; + FontSize = 8, ; + Left = 724, ; + Name = "_checkbox2", ; + TabIndex = 14, ; + Top = 96, ; + ZOrderSet = 16 + *< END OBJECT: ClassLib="_baza.vcx" BaseClass="checkbox" /> + + ADD OBJECT 'container_grafic.olbl' AS oleboundcontrol WITH ; + Comment = "*:onResize=ss", ; + Height = 286, ; + Left = 4, ; + Name = "olbl", ; + Top = 4, ; + Width = 701, ; + ZOrderSet = 9 + *< END OBJECT: BaseClass="oleboundcontrol" /> + + ADD OBJECT 'container_grafic.Optiongroup1' AS optiongroup WITH ; + BackStyle = 0, ; + ButtonCount = 3, ; + Comment = "*:onResize=rb", ; + Height = 60, ; + Left = 721, ; + Name = "Optiongroup1", ; + TabIndex = 10, ; + Top = 129, ; + Value = 2, ; + Width = 68, ; + ZOrderSet = 14, ; + Option1.AutoSize = .T., ; + Option1.BackStyle = 0, ; + Option1.Caption = "\ + + ADD OBJECT 'edtComentariu' AS editbox WITH ; + Anchor = 9, ; + Height = 163, ; + Left = 611, ; + Name = "edtComentariu", ; + TabIndex = 8, ; + Top = 28, ; + Width = 162, ; + ZOrderSet = 0 + *< END OBJECT: BaseClass="editbox" /> + + ADD OBJECT 'Grid1' AS grid WITH ; + Anchor = 11, ; + DeleteMark = .F., ; + FontName = "Arial", ; + FontSize = 10, ; + Height = 163, ; + HighlightStyle = 2, ; + Left = 0, ; + Name = "Grid1", ; + RecordMark = .F., ; + RowHeight = 19, ; + TabIndex = 1, ; + Top = 28, ; + Width = 773, ; + ZOrderSet = 11 + *< END OBJECT: BaseClass="grid" /> + + ADD OBJECT 'Gridextra1' AS gridextra WITH ; + Left = 350, ; + Name = "Gridextra1", ; + Top = 45 + *< END OBJECT: ClassLib="..\utile\gridextras\gridextras.vcx" BaseClass="custom" /> + + ADD OBJECT 'Resizer1' AS resizer WITH ; + Left = 180, ; + Name = "Resizer1", ; + TabIndex = 10, ; + Top = 7, ; + ZOrderSet = 5, ; + Label1.Name = "Label1" + *< END OBJECT: ClassLib="resizer.vcx" BaseClass="control" /> + + PROCEDURE Activate + this.WindowState= 2 + If This.WindowState= 2 And Type('this.resizer1')='O' + This.resizer1.OnResize() + ENDIF + + If Thisform.lFaraGrafic && fara Grafic + this.container_grafic.Visible = .F. + this.grid1.Height = Thisform.grid1.Height + this.container_grafic.Height + 4 + this.cb_faraGrafic.Picture = 'chart_mic.bmp' + ELSE && cu grafic + this.container_grafic.Visible = .T. + ENDIF + + Thisform.nHeightGrid = Thisform.grid1.Height + ENDPROC + + PROCEDURE aspect + with THISFORM.container_grafic.olbl + .chArtAREA.font.bold=.f. + .chArtAREA.font.size=10 + .LEGEND.font.bold=.f. + .LEGEND.font.size=8 + .walls.interior.color=rgb(192,192,192) + .floor.interior.color=rgb(192,192,192) + .HasTitle = .T. + *.ChartTitle.Caption =ALLTRIM(pcTitlu) + .ChartTitle.Caption = ALLTRIM(thisform.cTitluGrafic) + endwith + ENDPROC + + PROCEDURE do_editare_set + LOCAL lnId_modiPara, lnId_ind + lnId_modiPara = 2 && seturi uzuale + lcTabel = thisform.grid1.RecordSource + SELECT (lcTabel) + lnId_ind = id_ind + + DO editare_set WITH thisform.nId_set, lnId_modiPara, lnId_ind IN oproceduri_seturi_indicatori.prg + ENDPROC + + PROCEDURE grid_bind_formula + lcGrid = 'thisform.grid1' + loGrid = &lcGrid + If !Pemstatus(loGrid,'name',5) + Loop + Endif + + For j = 1 To loGrid.ColumnCount + loText = loGrid.Columns(j).Text1 + Bindevent(loText, "DblClick", This, "do_editare_set") + Endfor + + ENDPROC + + PROCEDURE inainte_de_do_excel + LOCAL lcSelect, i + PRIVATE plFaraGrafic + LOCAL lcTabel, lcTitlu + lcTabel = THISFORM.grid1.RECORDSOURCE + lcTitlu = "" + IF !EMPTY(thisform.cTitluGrafic) + lcTitlu = thisform.cTitluGrafic + ENDIF + + plFaraGrafic = .F. + + IF thisform.container_grafic.Visible = .f. + plFaraGrafic = .T. + ENDIF + + *!* SELECT (lctabel) + *!* lcXtabV = gcTempPath + "xtabv.DBF" + *!* SELECT * FROM (lctabel) INTO TABLE (lcXtabV) + *!* ALTER TABLE XTABV drop COLUMN comentariu + + lcSelect = "" + FOR I = 1 TO FCOUNT(lcTabel) + IF LOWER(FIELD(i, lcTabel)) <> 'comentariu' + lcSelect = lcSelect + "," + FIELD(i, lcTabel) + ENDIF + ENDFOR + lcSelect = "select " + SUBSTR(lcSelect,2) + " from " + lcTabel + " into cursor xtabv" + &lcSelect + + + DO lanseaza_excel WITH "XtabV", lcTitlu, plFaraGrafic IN oproceduri_evolutie.prg + + USE IN (SELECT('xtabv')) + + ENDPROC + + PROCEDURE inainte_de_do_explorer + LOCAL lcTabel, lcXtabV, llfaragrafic + llfaragrafic = .F. + + lcTabel = thisform.grid1.RecordSource + SELECT (lctabel) + lcXtabV = ADDBS(gcTempPath) + "xtabv.DBF" + + SELECT * FROM (lcTabel) INTO TABLE (lcXtabV) + ALTER TABLE (lcXtabV) drop COLUMN comentariu + ALTER TABLE (lcXtabV) drop COLUMN id_ind + + IF thisform.container_grafic.Visible= .f. + llfaragrafic = .T. + ENDIF + + thisform.AlwaysOnTop = .F. + + DO lanseaza_html WITH "XtabV", thisform.cTitluGrafic, llfaragrafic + USE IN xtabv + + * thisform.AlwaysOnTop = .T. + + ENDPROC + + PROCEDURE inainte_de_do_listare + THISFORM.ALWAYSONTOP = .F. + + *!* lcmenu="Listare \ + + *-- OBJECTDATA items order determines ZOrder / El orden de los items OBJECTDATA determina el ZOrder + *< OBJECTDATA: ObjPath="Container_formular_10.But_calc1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="Container_formular_10.lb_bil_data" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="Container_formular_10.Label3" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="Container_formular_10.But_edit1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="Container_formular_10.optBilPrescurtat" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="Container_formular_20.But_calc1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="Container_formular_20.Label3" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="Container_formular_20.lb_bil_data" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="Container_formular_20.But_edit1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="Container_formular_30.But_calc1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="Container_formular_30.But_edit1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="Container_formular_40.But_calc1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="Container_formular_40.But_edit1" UniqueID="" Timestamp="" /> + + * + Name = "panou_calc" + Container_formular_10.Label1.Left = 6 + Container_formular_10.Label1.Name = "Label1" + Container_formular_10.Label2.Name = "Label2" + Container_formular_10.Name = "Container_formular_10" + Container_formular_20.Label1.Left = 7 + Container_formular_20.Label1.Name = "Label1" + Container_formular_20.Label2.Name = "Label2" + Container_formular_20.Name = "Container_formular_20" + Container_formular_30.Label1.Name = "Label1" + Container_formular_30.Label2.Name = "Label2" + Container_formular_30.Name = "Container_formular_30" + Container_formular_40.LABEL1.Name = "LABEL1" + Container_formular_40.LABEL2.Name = "LABEL2" + Container_formular_40.Name = "Container_formular_40" + * + + ADD OBJECT 'Container_formular_10.But_calc1' AS but_calc WITH ; + Left = 186, ; + Name = "But_calc1", ; + Top = 11 + *< END OBJECT: ClassLib="..\..\clase\ferestre_sitfin.vcx" BaseClass="commandbutton" /> + + ADD OBJECT 'Container_formular_10.But_edit1' AS but_edit WITH ; + Left = 229, ; + Name = "But_edit1", ; + Top = 11 + *< END OBJECT: ClassLib="..\..\clase\ferestre_sitfin.vcx" BaseClass="commandbutton" /> + + ADD OBJECT 'Container_formular_10.Label3' AS label WITH ; + AutoSize = .T., ; + BackStyle = 0, ; + Caption = "Precedent - Curent", ; + FontName = "Arial Narrow", ; + Height = 18, ; + Left = 6, ; + Name = "Label3", ; + TabIndex = 4, ; + Top = 30, ; + Width = 87 + *< END OBJECT: BaseClass="label" /> + + ADD OBJECT 'Container_formular_10.lb_bil_data' AS label WITH ; + AutoSize = .T., ; + BackStyle = 0, ; + Caption = "Label1", ; + FontName = "Arial Narrow", ; + Height = 18, ; + Left = 6, ; + Name = "lb_bil_data", ; + TabIndex = 4, ; + Top = 42, ; + Width = 29 + *< END OBJECT: BaseClass="label" /> + + ADD OBJECT 'Container_formular_10.optBilPrescurtat' AS optiongroup WITH ; + BackStyle = 0, ; + BorderStyle = 0, ; + ButtonCount = 2, ; + Height = 16, ; + Left = 119, ; + Name = "optBilPrescurtat", ; + Top = 41, ; + Value = 1, ; + Visible = .F., ; + Width = 136, ; + Option1.BackStyle = 0, ; + Option1.Caption = "Bilant prescurtat", ; + Option1.FontName = "Arial Narrow", ; + Option1.Height = 18, ; + Option1.Left = 5, ; + Option1.Name = "Option1", ; + Option1.Top = -1, ; + Option1.Value = 1, ; + Option1.Width = 84, ; + Option2.BackStyle = 0, ; + Option2.Caption = "Bilant", ; + Option2.FontName = "Arial Narrow", ; + Option2.Height = 18, ; + Option2.Left = 93, ; + Option2.Name = "Option2", ; + Option2.Top = -1, ; + Option2.Width = 41 + *< END OBJECT: BaseClass="optiongroup" /> + + ADD OBJECT 'Container_formular_20.But_calc1' AS but_calc WITH ; + Left = 186, ; + Name = "But_calc1", ; + Top = 13 + *< END OBJECT: ClassLib="..\..\clase\ferestre_sitfin.vcx" BaseClass="commandbutton" /> + + ADD OBJECT 'Container_formular_20.But_edit1' AS but_edit WITH ; + Left = 229, ; + Name = "But_edit1", ; + Top = 13 + *< END OBJECT: ClassLib="..\..\clase\ferestre_sitfin.vcx" BaseClass="commandbutton" /> + + ADD OBJECT 'Container_formular_20.Label3' AS label WITH ; + AutoSize = .T., ; + BackStyle = 0, ; + Caption = "Precedent - Curent", ; + FontName = "Arial Narrow", ; + Height = 18, ; + Left = 7, ; + Name = "Label3", ; + TabIndex = 4, ; + Top = 29, ; + Width = 87 + *< END OBJECT: BaseClass="label" /> + + ADD OBJECT 'Container_formular_20.lb_bil_data' AS label WITH ; + AutoSize = .T., ; + BackStyle = 0, ; + Caption = "Label1", ; + FontName = "Arial Narrow", ; + Height = 18, ; + Left = 7, ; + Name = "lb_bil_data", ; + TabIndex = 4, ; + Top = 42, ; + Width = 29 + *< END OBJECT: BaseClass="label" /> + + ADD OBJECT 'Container_formular_30.But_calc1' AS but_calc WITH ; + Left = 186, ; + Name = "But_calc1", ; + Top = 4 + *< END OBJECT: ClassLib="..\..\clase\ferestre_sitfin.vcx" BaseClass="commandbutton" /> + + ADD OBJECT 'Container_formular_30.But_edit1' AS but_edit WITH ; + Left = 229, ; + Name = "But_edit1", ; + Top = 4 + *< END OBJECT: ClassLib="..\..\clase\ferestre_sitfin.vcx" BaseClass="commandbutton" /> + + ADD OBJECT 'Container_formular_40.But_calc1' AS but_calc WITH ; + Left = 186, ; + Name = "But_calc1", ; + Top = 4 + *< END OBJECT: ClassLib="..\..\clase\ferestre_sitfin.vcx" BaseClass="commandbutton" /> + + ADD OBJECT 'Container_formular_40.But_edit1' AS but_edit WITH ; + Left = 229, ; + Name = "But_edit1", ; + Top = 4 + *< END OBJECT: ClassLib="..\..\clase\ferestre_sitfin.vcx" BaseClass="commandbutton" /> + + PROCEDURE Container_formular_10.lb_bil_data.Refresh + LOCAL lcLuna, lcAnulC, lnAnul, lnAnulP + + lcLuna = thisform.container_data1.cboluna.Value + lcAnulC = thisform.container_data1.cboAnul.Value + lnAnul = VAL(thisform.container_data1.cboAnul.Value) + lnAnulP = lnanul - 1 + this.Caption = "12 " + ALLTRIM(str(lnanulP)) + " - " + lcLuna +" "+ lcanulC + ENDPROC + + PROCEDURE Container_formular_20.lb_bil_data.Refresh + LOCAL lcLuna, lcAnulC, lnAnulP + + lcLuna = thisform.container_data1.cboluna.Value + lcAnulC = thisform.container_data1.cboAnul.Value + lnAnulP = val(thisform.container_data1.cboAnul.Value)-1 + this.Caption = lcLuna + ' ' + ALLTRIM(str(lnanulP)) + ' - ' + lcLuna + ' ' + lcAnulC + ENDPROC + +ENDDEFINE diff --git a/clase/frm_import_efactura.sc2 b/clase/frm_import_efactura.sc2 new file mode 100644 index 0000000..59663e6 --- /dev/null +++ b/clase/frm_import_efactura.sc2 @@ -0,0 +1,226 @@ +*-------------------------------------------------------------------------------------------------------------------------------------------------------- +* (EN) AUTOGENERATED - ATTENTION!! - NOT INTENDED FOR EXECUTION!! USE ONLY FOR MERGING CHANGES AND STORING WITH SCM TOOLS!! +*-------------------------------------------------------------------------------------------------------------------------------------------------------- +*< FOXBIN2PRG: Version="1.21" SourceFile="frm_import_efactura.scx" CPID="1252" /> (Solo para binarios VFP 9 / Only for VFP 9 binaries) +* +* +DEFINE CLASS dataenvironment AS dataenvironment + *< CLASSDATA: Baseclass="dataenvironment" Timestamp="" Scale="" Uniqueid="" ClassIcon="1" /> + + * + DataSource = .NULL. + Height = 0 + Left = 0 + Name = "Dataenvironment" + Top = 0 + Width = 0 + * + +ENDDEFINE + +DEFINE CLASS frm_import_efactura1 AS frm_import_efactura OF "anaf_efactura.vcx" + *< CLASSDATA: Baseclass="form" Timestamp="" Scale="" Uniqueid="" /> + + * + DoCreate = .T. + Name = "Frm_import_efactura1" + _shape3.Name = "_shape3" + _shape1.Name = "_shape1" + grdDetaliiFacturi.cAcont.Header1.Name = "Header1" + grdDetaliiFacturi.cAcont.Name = "cAcont" + grdDetaliiFacturi.cAcont.Text1.Name = "Text1" + grdDetaliiFacturi.cArticol.Header1.Name = "Header1" + grdDetaliiFacturi.cArticol.Name = "cArticol" + grdDetaliiFacturi.cArticol.Text1.Name = "Text1" + grdDetaliiFacturi.cArticolROA.Header1.Name = "Header1" + grdDetaliiFacturi.cArticolROA.Name = "cArticolROA" + grdDetaliiFacturi.cArticolROA.Text1.Name = "Text1" + grdDetaliiFacturi.cCantitate.Header1.Name = "Header1" + grdDetaliiFacturi.cCantitate.Name = "cCantitate" + grdDetaliiFacturi.cCantitate.Text1.Name = "Text1" + grdDetaliiFacturi.cCodBare.Header1.Name = "Header1" + grdDetaliiFacturi.cCodBare.Name = "cCodBare" + grdDetaliiFacturi.cCodBare.Text1.Name = "Text1" + grdDetaliiFacturi.cCodClient.Header1.Name = "Header1" + grdDetaliiFacturi.cCodClient.Name = "cCodClient" + grdDetaliiFacturi.cCodClient.Text1.Name = "Text1" + grdDetaliiFacturi.cCodCPV.Header1.Name = "Header1" + grdDetaliiFacturi.cCodCPV.Name = "cCodCPV" + grdDetaliiFacturi.cCodCPV.Text1.Name = "Text1" + grdDetaliiFacturi.cCodFurnizor.Header1.Name = "Header1" + grdDetaliiFacturi.cCodFurnizor.Name = "cCodFurnizor" + grdDetaliiFacturi.cCodFurnizor.Text1.Name = "Text1" + grdDetaliiFacturi.cCodMatROA.Header1.Name = "Header1" + grdDetaliiFacturi.cCodMatROA.Name = "cCodMatROA" + grdDetaliiFacturi.cCodMatROA.Text1.Name = "Text1" + grdDetaliiFacturi.cCodNC8.Header1.Name = "Header1" + grdDetaliiFacturi.cCodNC8.Name = "cCodNC8" + grdDetaliiFacturi.cCodNC8.Text1.Name = "Text1" + grdDetaliiFacturi.cCont.Header1.Name = "Header1" + grdDetaliiFacturi.cCont.Name = "cCont" + grdDetaliiFacturi.cCont.Text1.Name = "Text1" + grdDetaliiFacturi.cDescriere.Header1.Name = "Header1" + grdDetaliiFacturi.cDescriere.Name = "cDescriere" + grdDetaliiFacturi.cDescriere.Text1.Name = "Text1" + grdDetaliiFacturi.cDetalii.Header1.Name = "Header1" + grdDetaliiFacturi.cDetalii.Name = "cDetalii" + grdDetaliiFacturi.cDetalii.Text1.Name = "Text1" + grdDetaliiFacturi.cDetalii._editbox1.Name = "_editbox1" + grdDetaliiFacturi.cGestiune.Header1.Name = "Header1" + grdDetaliiFacturi.cGestiune.Name = "cGestiune" + grdDetaliiFacturi.cGestiune.Text1.Name = "Text1" + grdDetaliiFacturi.cGestiune._combobox1.Name = "_combobox1" + grdDetaliiFacturi.cInStoc.Header1.Name = "Header1" + grdDetaliiFacturi.cInStoc.Name = "cInStoc" + grdDetaliiFacturi.cInStoc.Text1.Name = "Text1" + grdDetaliiFacturi.cInStoc._CHECKBOX1.Alignment = 2 + grdDetaliiFacturi.cInStoc._CHECKBOX1.Name = "_CHECKBOX1" + grdDetaliiFacturi.cNr.Header1.Name = "Header1" + grdDetaliiFacturi.cNr.Name = "cNr" + grdDetaliiFacturi.cNr.Text1.Name = "Text1" + grdDetaliiFacturi.cPret.Header1.Name = "Header1" + grdDetaliiFacturi.cPret.Name = "cPret" + grdDetaliiFacturi.cPret.Text1.Name = "Text1" + grdDetaliiFacturi.cProcTVA.Header1.Name = "Header1" + grdDetaliiFacturi.cProcTVA.Name = "cProcTVA" + grdDetaliiFacturi.cProcTVA.Text1.Name = "Text1" + grdDetaliiFacturi.cTip.Header1.Name = "Header1" + grdDetaliiFacturi.cTip.Name = "cTip" + grdDetaliiFacturi.cTip.Text1.Name = "Text1" + grdDetaliiFacturi.cTip._combobox1.Name = "_combobox1" + grdDetaliiFacturi.cUM.Header1.Name = "Header1" + grdDetaliiFacturi.cUM.Name = "cUM" + grdDetaliiFacturi.cUM.Text1.Name = "Text1" + grdDetaliiFacturi.cUMROA.Header1.Name = "Header1" + grdDetaliiFacturi.cUMROA.Name = "cUMROA" + grdDetaliiFacturi.cUMROA.Text1.Name = "Text1" + grdDetaliiFacturi.cUMROA._combobox1.Name = "_combobox1" + grdDetaliiFacturi.cValoareFaraTVA.Header1.Name = "Header1" + grdDetaliiFacturi.cValoareFaraTVA.Name = "cValoareFaraTVA" + grdDetaliiFacturi.cValoareFaraTVA.Text1.Name = "Text1" + grdDetaliiFacturi.Name = "grdDetaliiFacturi" + grdFacturi.cAles.Header1.Name = "Header1" + grdFacturi.cAles.Name = "cAles" + grdFacturi.cAles.Text1.Name = "Text1" + grdFacturi.cAles._CHECKBOX1.Alignment = 2 + grdFacturi.cAles._CHECKBOX1.Name = "_CHECKBOX1" + grdFacturi.cCodFiscalEmitent.Header1.Name = "Header1" + grdFacturi.cCodFiscalEmitent.Name = "cCodFiscalEmitent" + grdFacturi.cCodFiscalEmitent.Text1.Name = "Text1" + grdFacturi.cData.Header1.Name = "Header1" + grdFacturi.cData.Name = "cData" + grdFacturi.cData.Text1.Name = "Text1" + grdFacturi.cDataScad.Header1.Name = "Header1" + grdFacturi.cDataScad.Name = "cDataScad" + grdFacturi.cDataScad.Text1.Name = "Text1" + grdFacturi.cDataTrimis.Header1.Name = "Header1" + grdFacturi.cDataTrimis.Name = "cDataTrimis" + grdFacturi.cDataTrimis.Text1.Name = "Text1" + grdFacturi.cDescriere.Header1.Name = "Header1" + grdFacturi.cDescriere.Name = "cDescriere" + grdFacturi.cDescriere.Text1.Name = "Text1" + grdFacturi.cDescriere._editbox1.Name = "_editbox1" + grdFacturi.cDetaliiPlata.Header1.Name = "Header1" + grdFacturi.cDetaliiPlata.Name = "cDetaliiPlata" + grdFacturi.cDetaliiPlata.Text1.Name = "Text1" + grdFacturi.cDetaliiPlata._editbox1.Name = "_editbox1" + grdFacturi.cDiferenta.Header1.Name = "Header1" + grdFacturi.cDiferenta.Name = "cDiferenta" + grdFacturi.cDiferenta.Text1.Name = "Text1" + grdFacturi.cDiscount.Header1.Name = "Header1" + grdFacturi.cDiscount.Name = "cDiscount" + grdFacturi.cDiscount.Text1.Name = "Text1" + grdFacturi.cId.Header1.Name = "Header1" + grdFacturi.cId.Name = "cId" + grdFacturi.cId.Text1.Name = "Text1" + grdFacturi.cIdDescarcare.Header1.Name = "Header1" + grdFacturi.cIdDescarcare.Name = "cIdDescarcare" + grdFacturi.cIdDescarcare.Text1.Name = "Text1" + grdFacturi.cIdIncarcare.Header1.Name = "Header1" + grdFacturi.cIdIncarcare.Name = "cIdIncarcare" + grdFacturi.cIdIncarcare.Text1.Name = "Text1" + grdFacturi.cJtotcTVA.Header1.Name = "Header1" + grdFacturi.cJtotcTVA.Name = "cJtotcTVA" + grdFacturi.cJtotcTVA.Text1.Name = "Text1" + grdFacturi.cNr.Header1.Name = "Header1" + grdFacturi.cNr.Name = "cNr" + grdFacturi.cNr.Text1.Name = "Text1" + grdFacturi.cNumeValuta.Header1.Name = "Header1" + grdFacturi.cNumeValuta.Name = "cNumeValuta" + grdFacturi.cNumeValuta.Text1.Name = "Text1" + grdFacturi.cProcesat.Header1.Name = "Header1" + grdFacturi.cProcesat.Name = "cProcesat" + grdFacturi.cProcesat.Text1.Name = "Text1" + grdFacturi.cProcesat._CHECKBOX1.Alignment = 2 + grdFacturi.cProcesat._CHECKBOX1.Name = "_CHECKBOX1" + grdFacturi.cTaxe.Header1.Name = "Header1" + grdFacturi.cTaxe.Name = "cTaxe" + grdFacturi.cTaxe.Text1.Name = "Text1" + grdFacturi.cTipMesajRaspuns.Header1.Name = "Header1" + grdFacturi.cTipMesajRaspuns.Name = "cTipMesajRaspuns" + grdFacturi.cTipMesajRaspuns.Text1.Name = "Text1" + grdFacturi.cTotalCuTVA.Header1.Name = "Header1" + grdFacturi.cTotalCuTVA.Name = "cTotalCuTVA" + grdFacturi.cTotalCuTVA.Text1.Name = "Text1" + grdFacturi.cTotaldePlata.Header1.Name = "Header1" + grdFacturi.cTotaldePlata.Name = "cTotaldePlata" + grdFacturi.cTotaldePlata.Text1.Name = "Text1" + grdFacturi.cTotalFaraTVA.Header1.Name = "Header1" + grdFacturi.cTotalFaraTVA.Name = "cTotalFaraTVA" + grdFacturi.cTotalFaraTVA.Text1.Name = "Text1" + grdFacturi.cTotalTVA.Header1.Name = "Header1" + grdFacturi.cTotalTVA.Name = "cTotalTVA" + grdFacturi.cTotalTVA.Text1.Name = "Text1" + grdFacturi.cValoareFaraTVA.Header1.Name = "Header1" + grdFacturi.cValoareFaraTVA.Name = "cValoareFaraTVA" + grdFacturi.cValoareFaraTVA.Text1.Name = "Text1" + grdFacturi.cXFurnizor.Header1.Name = "Header1" + grdFacturi.cXFurnizor.Name = "cXFurnizor" + grdFacturi.cXFurnizor.Text1.Name = "Text1" + grdFacturi.Name = "grdFacturi" + Gridsort1.Name = "Gridsort1" + _shape2.Name = "_shape2" + But_start_criterii1.Name = "But_start_criterii1" + But_excel1.Name = "But_excel1" + But_reset_criterii1.Name = "But_reset_criterii1" + Lb_titlu_alb_b121.Name = "Lb_titlu_alb_b121" + BUT_TERMIN1.Name = "BUT_TERMIN1" + But_listare1.Name = "But_listare1" + Cmd_executa1.Name = "Cmd_executa1" + lblNrAct.Name = "lblNrAct" + txtNrAct.Name = "txtNrAct" + lblDataAct.Name = "lblDataAct" + txtDataAct.Name = "txtDataAct" + lblDataScad.Name = "lblDataScad" + txtDataScad.Name = "txtDataScad" + lblSerieAct.Name = "lblSerieAct" + txtSerieAct.Name = "txtSerieAct" + lblPartener.Name = "lblPartener" + txtCodFiscal.Name = "txtCodFiscal" + txtPartener.Name = "txtPartener" + chkTVAIncasare.Alignment = 0 + chkTVAIncasare.Name = "chkTVAIncasare" + lblValuta.Name = "lblValuta" + txtValuta.Name = "txtValuta" + lblCurs.Name = "lblCurs" + txtCurs.Name = "txtCurs" + lblCont.Name = "lblCont" + txtCont.Name = "txtCont" + lblLucrare.Name = "lblLucrare" + txtLucrare.Name = "txtLucrare" + lblContract.Name = "lblContract" + txtContract.Name = "txtContract" + lblSectie.Name = "lblSectie" + txtSectie.Name = "txtSectie" + lblVenChelt.Name = "lblVenChelt" + txtVenChelt.Name = "txtVenChelt" + lblResponsabil.Name = "lblResponsabil" + txtResponsabil.Name = "txtResponsabil" + Cmd_executa2.Name = "Cmd_executa2" + but_tip.Name = "but_tip" + but_cont.Name = "but_cont" + but_gestiune.Name = "but_gestiune" + But_nou1.Name = "But_nou1" + * + +ENDDEFINE diff --git a/clase/gdiplus.h b/clase/gdiplus.h new file mode 100644 index 0000000..8b5d0c8 --- /dev/null +++ b/clase/gdiplus.h @@ -0,0 +1,454 @@ +* +* GDI+ Class library for Visual Foxpro +* +#ifndef _GDIPLUS_H_INCLUDED + +* Localisation +#include "gdiplus_locs.h" + +* Modify_GDIPLUS.VCX behavior (recompile _GDIPLUS.VCX to take effect) +* Set these constants to .F. to bypass most parameter checking +* (Code will run faster, but more dangerously) +#define GDIPLUS_CHECK_PARAMS .T. && Check parameter types +#define GDIPLUS_CHECK_OBJECT .T. && Check GDI+ object handle +#define GDIPLUS_CHECK_GDIPLUSNOTINIT .T. && Throw error if GDI+ not initialised + +* Classes instantiated from gdiplus.vcx +* If you subclass anything in _gdiplus.vcx, you MUST change at least +* GDIPLUS_CLASS_LIBRARY +#define GDIPLUS_CLASS_LIBRARY This.ClassLibrary +* #define GDIPLUS_CLASS_LIBRARY '_gdiplus.vcx' +#define GDIPLUS_CLASS_RECT 'GpRectangle' +#define GDIPLUS_CLASS_POINT 'GpPoint' +#define GDIPLUS_CLASS_SIZE 'GpSize' +#define GDIPLUS_CLASS_FONTFAMILY 'GpFontFamily' +#define GDIPLUS_CLASS_IMAGE 'GpImage' +#define GDIPLUS_CLASS_BITMAP 'GpBitmap' +#define GDIPLUS_CLASS_GRAPHICS 'GpGraphics' + +* Control error handler behavior (default for all objects: you +* can also change this per-object) +* If you want to change these modes in the GpBase.Init() method +* then uncomment and adjust the following +*#define GDIPLUS_ERRHANDLER_ALLOWMODAL (inlist(_VFP.StartMode,0,4)) +*#define GDIPLUS_ERRHANDLER_QUIET (not inlist(_VFP.StartMode,0,4)) +*#define GDIPLUS_ERRHANDLER_IGNOREERRORS .F. +*#define GDIPLUS_ERRHANDLER_APPNAME "GDI+ FFC Library" + +* Set to .T. to rethrow errors inside error handler (eg when debugging) +#define GDIPLUS_ERRHANDLER_RETHROW .F. + + +* Status enumeration +#define GDIPLUS_STATUS_OK 0 +#define GDIPLUS_STATUS_GenericError 1 +#define GDIPLUS_STATUS_InvalidParameter 2 +#define GDIPLUS_STATUS_OutOfMemory 3 +#define GDIPLUS_STATUS_ObjectBusy 4 +#define GDIPLUS_STATUS_InsufficientBuffer 5 +#define GDIPLUS_STATUS_NotImplemented 6 +#define GDIPLUS_STATUS_Win32Error 7 +#define GDIPLUS_STATUS_WrongState 8 +#define GDIPLUS_STATUS_Aborted 9 +#define GDIPLUS_STATUS_FileNotFound 10 +#define GDIPLUS_STATUS_ValueOverflow 11 +#define GDIPLUS_STATUS_AccessDenied 12 +#define GDIPLUS_STATUS_UnknownImageFormat 13 +#define GDIPLUS_STATUS_FontFamilyNotFound 14 +#define GDIPLUS_STATUS_FontStyleNotFound 15 +#define GDIPLUS_STATUS_NotTrueTypeFont 16 +#define GDIPLUS_STATUS_UnsupportedGdiplusVersion 17 +#define GDIPLUS_STATUS_GdiplusNotInitialized 18 +#define GDIPLUS_STATUS_PropertyNotFound 19 +#define GDIPLUS_STATUS_PropertyNotSupported 20 + + + +* Fill mode (how a closed path is filled) +#define GDIPLUS_FillMode_Alternate 0 +#define GDIPLUS_FillMode_Winding 1 + + +* Quality mode constants +#define GDIPLUS_QualityMode_Invalid -1 +#define GDIPLUS_QualityMode_Default 0 +#define GDIPLUS_QualityMode_Low 1 && Best performance +#define GDIPLUS_QualityMode_High 2 && Best rendering quality + +* Alpha Compositing mode constants +#define GDIPLUS_CompositingMode_SourceOver 0 +#define GDIPLUS_CompositingMode_SourceCopy 1 + +* Alpha Compositing quality constants +#define GDIPLUS_CompositingQuality_Invalid GDIPLUS_QualityMode_Invalid +#define GDIPLUS_CompositingQuality_Default GDIPLUS_QualityMode_Default +#define GDIPLUS_CompositingQuality_HighSpeed GDIPLUS_QualityMode_Low +#define GDIPLUS_CompositingQuality_HighQuality GDIPLUS_QualityMode_High +#define GDIPLUS_CompositingQuality_GammaCorrected 3 +#define GDIPLUS_CompositingQuality_AssumeLinear 4 + +* Units +#define GDIPLUS_Unit_World 0 && World coordinate (non-physical unit) +#define GDIPLUS_Unit_Display 1 && Variable -- for PageTransform only +#define GDIPLUS_Unit_Pixel 2 && one device pixel. +#define GDIPLUS_Unit_Point 3 && 1/72 inch. +#define GDIPLUS_Unit_Inch 4 && 1 inch. +#define GDIPLUS_Unit_Document 5 && 1/300 inch. +#define GDIPLUS_Unit_Millimeter 6 && 1 millimeter. + +#define GDIPLUS_MetafileFrameUnit_Pixel GDIPLUS_Unit_Pixel +#define GDIPLUS_MetafileFrameUnit_Point GDIPLUS_Unit_Point +#define GDIPLUS_MetafileFrameUnit_Inch GDIPLUS_Unit_Inch +#define GDIPLUS_MetafileFrameUnit_Document GDIPLUS_Unit_Document +#define GDIPLUS_MetafileFrameUnit_Millimeter GDIPLUS_Unit_Millimeter +#define GDIPLUS_MetafileFrameUnit_Gdi 7 && GDI compatible .01 MM units + + +* Coordinate Space +#define GDIPLUS_CoordinateSpace_World 0 +#define GDIPLUS_CoordinateSpace_Page 1 +#define GDIPLUS_CoordinateSpace_Device 2 + +* Wrap mode for brushes +#define GDIPLUS_WrapMode_Tile 0 +#define GDIPLUS_WrapMode_TileFlipX 1 +#define GDIPLUS_WrapMode_TileFlipY 2 +#define GDIPLUS_WrapMode_TileFlipXY 3 +#define GDIPLUS_WrapMode_Clamp 4 + + +* HatchBrush styles +#define GDIPLUS_HatchStyle_Horizontal 0 +#define GDIPLUS_HatchStyle_Vertical 1 +#define GDIPLUS_HatchStyle_ForwardDiagonal 2 +#define GDIPLUS_HatchStyle_BackwardDiagonal 3 +#define GDIPLUS_HatchStyle_Cross 4 +#define GDIPLUS_HatchStyle_DiagonalCross 5 +#define GDIPLUS_HatchStyle_05Percent 6 +#define GDIPLUS_HatchStyle_10Percent 7 +#define GDIPLUS_HatchStyle_20Percent 8 +#define GDIPLUS_HatchStyle_25Percent 9 +#define GDIPLUS_HatchStyle_30Percent 10 +#define GDIPLUS_HatchStyle_40Percent 11 +#define GDIPLUS_HatchStyle_50Percent 12 +#define GDIPLUS_HatchStyle_60Percent 13 +#define GDIPLUS_HatchStyle_70Percent 14 +#define GDIPLUS_HatchStyle_75Percent 15 +#define GDIPLUS_HatchStyle_80Percent 16 +#define GDIPLUS_HatchStyle_90Percent 17 +#define GDIPLUS_HatchStyle_LightDownwardDiagonal 18 +#define GDIPLUS_HatchStyle_LightUpwardDiagonal 19 +#define GDIPLUS_HatchStyle_DarkDownwardDiagonal 20 +#define GDIPLUS_HatchStyle_DarkUpwardDiagonal 21 +#define GDIPLUS_HatchStyle_WideDownwardDiagonal 22 +#define GDIPLUS_HatchStyle_WideUpwardDiagonal 23 +#define GDIPLUS_HatchStyle_LightVertical 24 +#define GDIPLUS_HatchStyle_LightHorizontal 25 +#define GDIPLUS_HatchStyle_NarrowVertical 26 +#define GDIPLUS_HatchStyle_NarrowHorizontal 27 +#define GDIPLUS_HatchStyle_DarkVertical 28 +#define GDIPLUS_HatchStyle_DarkHorizontal 29 +#define GDIPLUS_HatchStyle_DashedDownwardDiagonal 30 +#define GDIPLUS_HatchStyle_DashedUpwardDiagonal 31 +#define GDIPLUS_HatchStyle_DashedHorizontal 32 +#define GDIPLUS_HatchStyle_DashedVertical 33 +#define GDIPLUS_HatchStyle_SmallConfetti 34 +#define GDIPLUS_HatchStyle_LargeConfetti 35 +#define GDIPLUS_HatchStyle_ZigZag 36 +#define GDIPLUS_HatchStyle_Wave 37 +#define GDIPLUS_HatchStyle_DiagonalBrick 38 +#define GDIPLUS_HatchStyle_HorizontalBrick 39 +#define GDIPLUS_HatchStyle_Weave 40 +#define GDIPLUS_HatchStyle_Plaid 41 +#define GDIPLUS_HatchStyle_Divot 42 +#define GDIPLUS_HatchStyle_DottedGrid 43 +#define GDIPLUS_HatchStyle_DottedDiamond 44 +#define GDIPLUS_HatchStyle_Shingle 45 +#define GDIPLUS_HatchStyle_Trellis 46 +#define GDIPLUS_HatchStyle_Sphere 47 +#define GDIPLUS_HatchStyle_SmallGrid 48 +#define GDIPLUS_HatchStyle_SmallCheckerBoard 49 +#define GDIPLUS_HatchStyle_LargeCheckerBoard 50 +#define GDIPLUS_HatchStyle_OutlinedDiamond 51 +#define GDIPLUS_HatchStyle_SolidDiamond 52 + + +* Dash style constants + +#define GDIPLUS_DashStyle_Solid 0 +#define GDIPLUS_DashStyle_Dash 1 +#define GDIPLUS_DashStyle_Dot 2 +#define GDIPLUS_DashStyle_DashDot 3 +#define GDIPLUS_DashStyle_DashDotDot 4 +#define GDIPLUS_DashStyle_Custom 5 + +* Dash cap constants +#define GDIPLUS_DashCap_Flat 0 +#define GDIPLUS_DashCap_Round 2 +#define GDIPLUS_DashCap_Triangle 3 + +* LineCap +#define GDIPLUS_LineCap_Flat 0 +#define GDIPLUS_LineCap_Square 1 +#define GDIPLUS_LineCap_Round 2 +#define GDIPLUS_LineCap_Triangle 3 +#define GDIPLUS_LineCap_NoAnchor 0x10 && corresponds to flat cap +#define GDIPLUS_LineCap_SquareAnchor 0x11 && corresponds to square cap +#define GDIPLUS_LineCap_RoundAnchor 0x12 && corresponds to round cap +#define GDIPLUS_LineCap_DiamondAnchor 0x13 && corresponds to triangle cap +#define GDIPLUS_LineCap_ArrowAnchor 0x14 && no correspondence +#define GDIPLUS_LineCap_Custom 0xff && custom cap +#define GDIPLUS_LineCap_AnchorMask 0xf0 && mask to check for anchor or not. + +* Custom Line cap type constants +#define GDIPLUS_CustomLineCapType_Default 0 +#define GDIPLUS_CustomLineCapType_AdjustableArrow 1 + +* Line join constants +#define GDIPLUS_LineJoin_Miter 0 +#define GDIPLUS_LineJoin_Bevel 1 +#define GDIPLUS_LineJoin_Round 2 +#define GDIPLUS_LineJoin_MiterClipped 3 + +* Path point types (only the lowest 8 bits are used.) +* The lowest 3 bits are interpreted as point type +* The higher 5 bits are reserved for flags. +#define GDIPLUS_PathPointType_Start 0 && move +#define GDIPLUS_PathPointType_Line 1 && line +#define GDIPLUS_PathPointType_Bezier 3 && default Bezier (= cubic Bezier) +#define GDIPLUS_PathPointType_PathTypeMask 0x07 && type mask (lowest 3 bits). +#define GDIPLUS_PathPointType_DashMode 0x10 && currently in dash mode. +#define GDIPLUS_PathPointType_PathMarker 0x20 && a marker for the path. +#define GDIPLUS_PathPointType_CloseSubpath 0x80 && closed flag +#define GDIPLUS_PathPointType_Bezier3 3 && cubic Bezier + + +* WarpMode constants +#define GDIPLUS_WarpMode_Perspective 0 +#define GDIPLUS_WarpMode_Bilinear 1 + + +* LinearGradient Mode +#define GDIPLUS_LinearGradientMode_Horizontal 0 +#define GDIPLUS_LinearGradientMode_Vertical 1 +#define GDIPLUS_LinearGradientMode_ForwardDiagonal 2 +#define GDIPLUS_LinearGradientMode_BackwardDiagonal 3 + +* CombineMode (for regions) +#define GDIPLUS_CombineMode_Replace 0 +#define GDIPLUS_CombineMode_Intersect 1 +#define GDIPLUS_CombineMode_Union 2 +#define GDIPLUS_CombineMode_Xor 3 +#define GDIPLUS_CombineMode_Exclude 4 +#define GDIPLUS_CombineMode_Complement 5 + +* Image types +#define GDIPLUS_ImageType_Unknown 0 +#define GDIPLUS_ImageType_Bitmap 1 +#define GDIPLUS_ImageType_Metafile 2 + + +* StringAlignment enumeration +* Applies to GpStringFormat::Alignment, GpStringFormat::LineAlignment +#define GDIPLUS_STRINGALIGNMENT_Near 0 && in Left-To-Right locale, this is Left +#define GDIPLUS_STRINGALIGNMENT_Center 1 +#define GDIPLUS_STRINGALIGNMENT_Far 2 && in Left-To-Right locale, this is Right + + +* StringFormatFlags enumeration +* applies to GpStringFormat::FormatFlags +#define GDIPLUS_STRINGFORMATFLAGS_DirectionRightToLeft 1 +#define GDIPLUS_STRINGFORMATFLAGS_DirectionVertical 2 +#define GDIPLUS_STRINGFORMATFLAGS_NoFitBlackBox 4 +#define GDIPLUS_STRINGFORMATFLAGS_DisplayFormatControl 32 +#define GDIPLUS_STRINGFORMATFLAGS_NoFontFallback 1024 +#define GDIPLUS_STRINGFORMATFLAGS_MeasureTrailingSpaces 2048 +#define GDIPLUS_STRINGFORMATFLAGS_NoWrap 4096 +#define GDIPLUS_STRINGFORMATFLAGS_LineLimit 8192 +#define GDIPLUS_STRINGFORMATFLAGS_NoClip 16384 + +* StringTrimming enumeration +#define GDIPLUS_STRINGTRIMMING_None 0 && no trimming. +#define GDIPLUS_STRINGTRIMMING_Character 1 && nearest character. +#define GDIPLUS_STRINGTRIMMING_Word 2 && nearest wor +#define GDIPLUS_STRINGTRIMMING_EllipsisCharacter 3 && nearest character, ellipsis at end +#define GDIPLUS_STRINGTRIMMING_EllipsisWord 4 && nearest word, ellipsis at end +#define GDIPLUS_STRINGTRIMMING_EllipsisPath 5 && ellipsis in center, favouring last slash-delimited segment + +* StringDigitSubstitute +#define GDIPLUS_STRINGDIGITSUBSTITUTE_User 0 +#define GDIPLUS_STRINGDIGITSUBSTITUTE_None 1 +#define GDIPLUS_STRINGDIGITSUBSTITUTE_National 2 +#define GDIPLUS_STRINGDIGITSUBSTITUTE_Traditional 3 + +* HotkeyPrefix enumeration +#define GDIPLUS_HOTKEYPREFIX_None 0 && No hot-key prefix. +#define GDIPLUS_HOTKEYPREFIX_Show 1 && display hot-key prefix +#define GDIPLUS_HOTKEYPREFIX_Hide 2 && Do not display the hot-key prefix. + +* FontStyle: face types and common styles +#define GDIPLUS_FontStyle_Regular 0 +#define GDIPLUS_FontStyle_Bold 1 +#define GDIPLUS_FontStyle_Italic 2 +#define GDIPLUS_FontStyle_BoldItalic 3 +#define GDIPLUS_FontStyle_Underline 4 +#define GDIPLUS_FontStyle_Strikeout 8 + +#define GDIPLUS_InterpolationMode_Invalid GDIPLUS_QualityMode_Invalid +#define GDIPLUS_InterpolationMode_Default GDIPLUS_QualityMode_Default +#define GDIPLUS_InterpolationMode_LowQuality GDIPLUS_QualityMode_Low +#define GDIPLUS_InterpolationMode_HighQuality GDIPLUS_QualityMode_High +#define GDIPLUS_InterpolationMode_Bilinear 3 +#define GDIPLUS_InterpolationMode_Bicubic 4 +#define GDIPLUS_InterpolationMode_NearestNeighbor 5 +#define GDIPLUS_InterpolationMode_HighQualityBilinear 6 +#define GDIPLUS_InterpolationMode_HighQualityBicubic 7 + +#define GDIPLUS_PenAlignment_Center 0 +#define GDIPLUS_PenAlignment_Inset 1 + +* Brush types +#define GDIPLUS_BrushType_SolidColor 0 +#define GDIPLUS_BrushType_HatchFill 1 +#define GDIPLUS_BrushType_TextureFill 2 +#define GDIPLUS_BrushType_PathGradient 3 +#define GDIPLUS_BrushType_LinearGradient 4 + +* Pen's Fill types +#define GDIPLUS_PenType_SolidColor GDIPLUS_BrushType_SolidColor +#define GDIPLUS_PenType_HatchFill GDIPLUS_BrushType_HatchFill +#define GDIPLUS_PenType_TextureFill GDIPLUS_BrushType_TextureFill +#define GDIPLUS_PenType_PathGradient GDIPLUS_BrushType_PathGradient +#define GDIPLUS_PenType_LinearGradient GDIPLUS_BrushType_LinearGradient +#define GDIPLUS_PenType_Unknown -1 + +* Matrix Order +#define GDIPLUS_MatrixOrder_Prepend 0 +#define GDIPLUS_MatrixOrder_Append 1 + +* SmoothingMode +#define GDIPLUS_SmoothingMode_Invalid GDIPLUS_QualityMode_Invalid +#define GDIPLUS_SmoothingMode_Default GDIPLUS_QualityMode_Default +#define GDIPLUS_SmoothingMode_HighSpeed GDIPLUS_QualityMode_Low, +#define GDIPLUS_SmoothingMode_HighQuality GDIPLUS_QualityMode_High +#define GDIPLUS_SmoothingMode_None 3 +#define GDIPLUS_SmoothingMode_AntiAlias 4 + +* PixelOffsetMode +#define GDIPLUS_PixelOffsetMode_Invalid GDIPLUS_QualityMode_Invalid +#define GDIPLUS_PixelOffsetMode_Default GDIPLUS_QualityMode_Default +#define GDIPLUS_PixelOffsetMode_HighSpeed GDIPLUS_QualityMode_Low +#define GDIPLUS_PixelOffsetMode_HighQuality GDIPLUS_QualityMode_High +#define GDIPLUS_PixelOffsetMode_None 3 +#define GDIPLUS_PixelOffsetMode_Half 4 + + +* GpGraphics::Flush() modes +#define GDIPLUS_FlushIntention_Flush 0 +#define GDIPLUS_FlushIntention_Sync 1 + + + + +*--------------------------------------------------------------------------- +* Image file format identifiers (GUIDs) +#define GDIPLUS_IMAGEFORMAT_Undefined 0hA93C6BB92807D3119D7B0000F81EF32E +#define GDIPLUS_IMAGEFORMAT_MemoryBMP 0hAA3C6BB92807D3119D7B0000F81EF32E +#define GDIPLUS_IMAGEFORMAT_BMP 0hAB3C6BB92807D3119D7B0000F81EF32E +#define GDIPLUS_IMAGEFORMAT_EMF 0hAC3C6BB92807D3119D7B0000F81EF32E +#define GDIPLUS_IMAGEFORMAT_WMF 0hAD3C6BB92807D3119D7B0000F81EF32E +#define GDIPLUS_IMAGEFORMAT_JPEG 0hAE3C6BB92807D3119D7B0000F81EF32E +#define GDIPLUS_IMAGEFORMAT_PNG 0hAF3C6BB92807D3119D7B0000F81EF32E +#define GDIPLUS_IMAGEFORMAT_GIF 0hB03C6BB92807D3119D7B0000F81EF32E +#define GDIPLUS_IMAGEFORMAT_TIFF 0hB13C6BB92807D3119D7B0000F81EF32E +#define GDIPLUS_IMAGEFORMAT_EXIF 0hB23C6BB92807D3119D7B0000F81EF32E +#define GDIPLUS_IMAGEFORMAT_Icon 0hB53C6BB92807D3119D7B0000F81EF32E + +* Pixel formats +#define GDIPLUS_PIXELFORMAT_Indexed 0x00010000 && Indexes into a palette +#define GDIPLUS_PIXELFORMAT_GDI 0x00020000 && Is a GDI-supported format +#define GDIPLUS_PIXELFORMAT_Alpha 0x00040000 && Has an alpha component +#define GDIPLUS_PIXELFORMAT_PAlpha 0x00080000 && Pre-multiplied alpha +#define GDIPLUS_PIXELFORMAT_Extended 0x00100000 && Extended color 16 bits/channel +#define GDIPLUS_PIXELFORMAT_Canonical 0x00200000 +#define GDIPLUS_PIXELFORMAT_Undefined 0 +#define GDIPLUS_PIXELFORMAT_DontCare 0 + +#define GDIPLUS_PIXELFORMAT_1bppIndexed 0x00030101 +#define GDIPLUS_PIXELFORMAT_4bppIndexed 0x00030402 +#define GDIPLUS_PIXELFORMAT_8bppIndexed 0x00030803 +#define GDIPLUS_PIXELFORMAT_16bppGrayScale 0x00101004 +#define GDIPLUS_PIXELFORMAT_16bppRGB555 0x00021005 +#define GDIPLUS_PIXELFORMAT_16bppRGB565 0x00021006 +#define GDIPLUS_PIXELFORMAT_16bppARGB1555 0x00061007 +#define GDIPLUS_PIXELFORMAT_24bppRGB 0x00021808 +#define GDIPLUS_PIXELFORMAT_32bppRGB 0x00022009 +#define GDIPLUS_PIXELFORMAT_32bppARGB 0x0026200A +#define GDIPLUS_PIXELFORMAT_32bppPARGB 0x000E200B +#define GDIPLUS_PIXELFORMAT_48bppRGB 0x0010300C +#define GDIPLUS_PIXELFORMAT_64bppPARGB 0x001C400E + +* -------------- +* Image flags (see GpImage::Flags property) + #define GDIPLUS_ImageFlags_None 0 + #define GDIPLUS_ImageFlags_Scalable 0x0001 + #define GDIPLUS_ImageFlags_HasAlpha 0x0002 + #define GDIPLUS_ImageFlags_HasTranslucent 0x0004 + #define GDIPLUS_ImageFlags_PartiallyScalable 0x0008 + #define GDIPLUS_ImageFlags_ColorSpaceRGB 0x0010 + #define GDIPLUS_ImageFlags_ColorSpaceCMYK 0x0020 + #define GDIPLUS_ImageFlags_ColorSpaceGRAY 0x0040 + #define GDIPLUS_ImageFlags_ColorSpaceYCBCR 0x0080 + #define GDIPLUS_ImageFlags_ColorSpaceYCCK 0x0100 + #define GDIPLUS_ImageFlags_HasRealDPI 0x1000 + #define GDIPLUS_ImageFlags_HasRealPixelSize 0x2000 + #define GDIPLUS_ImageFlags_ReadOnly 0x00010000 + #define GDIPLUS_ImageFlags_Caching 0x00020000 + + + +* ------------- +* Encoder parameter type +#define GDIPLUS_ValueDataType_Byte 1 && 8-bit unsigned +#define GDIPLUS_ValueDataType_ASCII 2 && character string +#define GDIPLUS_ValueDataType_Short 3 && 16-bit unsigned +#define GDIPLUS_ValueDataType_Long 4 && 32-bit unsigned +#define GDIPLUS_ValueDataType_Rational 5 && fraction ulong/ulong +#define GDIPLUS_ValueDataType_LongRange 6 && Two ulongs (min,max) +#define GDIPLUS_ValueDataType_Undefined 7 && array of bytes +#define GDIPLUS_ValueDataType_RationalRange 8 && four ulongs +#define GDIPLUS_ValueDataType_Pointer 9 && pointer + +#define GDIPLUS_ENCODER_Compression 0h9D739DE0D4CCEE448EBA3FBF8BE4FC58 +#define GDIPLUS_ENCODER_ColorDepth 0h5570086666AD7C4C9A1838A2310B8337 +#define GDIPLUS_ENCODER_ScanMethod 0h61264E3A0931564E853642C156E7DCFA +#define GDIPLUS_ENCODER_Version 0h768CD1244A81A441BF531C219CCCF797 +#define GDIPLUS_ENCODER_RenderMethod 0h3AC5426D9A2225488BB75C99E2B9A8B8 +#define GDIPLUS_ENCODER_Quality 0hB5E45B1D4AFA2D459CDD5DB35105E7EB +#define GDIPLUS_ENCODER_Transformation 0hD1B20E8D8EA5A84EAA14108074B7B6F9 +#define GDIPLUS_ENCODER_LuminanceTable 0hCE3BB3ED6602774AB90427216099E717 +#define GDIPLUS_ENCODER_ChrominanceTable 0hDC55E4F2B30916438260676ADA32481C +#define GDIPLUS_ENCODER_SaveFlag 0hFC66222940ACBF478CFCA85B89A655DE + +* GpImage::RotateFlip() parameter +#define GDIPLUS_ROTATEFLIPTYPE_RotateNoneFlipNone 0 +#define GDIPLUS_ROTATEFLIPTYPE_Rotate90FlipNone 1 +#define GDIPLUS_ROTATEFLIPTYPE_Rotate180FlipNone 2 +#define GDIPLUS_ROTATEFLIPTYPE_Rotate270FlipNone 3 + +#define GDIPLUS_ROTATEFLIPTYPE_RotateNoneFlipX 4 +#define GDIPLUS_ROTATEFLIPTYPE_Rotate90FlipX 5 +#define GDIPLUS_ROTATEFLIPTYPE_Rotate180FlipX 6 +#define GDIPLUS_ROTATEFLIPTYPE_Rotate270FlipX 7 + +#define GDIPLUS_ROTATEFLIPTYPE_RotateNoneFlipY GDIPLUS_ROTATEFLIPTYPE_Rotate180FlipX +#define GDIPLUS_ROTATEFLIPTYPE_Rotate90FlipY GDIPLUS_ROTATEFLIPTYPE_Rotate270FlipX +#define GDIPLUS_ROTATEFLIPTYPE_Rotate180FlipY GDIPLUS_ROTATEFLIPTYPE_RotateNoneFlipX +#define GDIPLUS_ROTATEFLIPTYPE_Rotate270FlipY GDIPLUS_ROTATEFLIPTYPE_Rotate90FlipX + +#define GDIPLUS_ROTATEFLIPTYPE_RotateNoneFlipXY GDIPLUS_ROTATEFLIPTYPE_Rotate180FlipNone +#define GDIPLUS_ROTATEFLIPTYPE_Rotate90FlipXY GDIPLUS_ROTATEFLIPTYPE_Rotate270FlipNone +#define GDIPLUS_ROTATEFLIPTYPE_Rotate180FlipXY GDIPLUS_ROTATEFLIPTYPE_RotateNoneFlipNone +#define GDIPLUS_ROTATEFLIPTYPE_Rotate270FlipXY GDIPLUS_ROTATEFLIPTYPE_Rotate90FlipNone + +#endif && _GDIPLUS_H_INCLUDED \ No newline at end of file diff --git a/clase/gridsort.vc2 b/clase/gridsort.vc2 new file mode 100644 index 0000000..5bbdb11 --- /dev/null +++ b/clase/gridsort.vc2 @@ -0,0 +1,267 @@ +*-------------------------------------------------------------------------------------------------------------------------------------------------------- +* (EN) AUTOGENERATED - ATTENTION!! - NOT INTENDED FOR EXECUTION!! USE ONLY FOR MERGING CHANGES AND STORING WITH SCM TOOLS!! +*-------------------------------------------------------------------------------------------------------------------------------------------------------- +*< FOXBIN2PRG: Version="1.21" SourceFile="gridsort.vcx" CPID="1252" /> (Solo para binarios VFP 9 / Only for VFP 9 binaries) +* +* +DEFINE CLASS gridsort AS custom + *< CLASSDATA: Baseclass="custom" Timestamp="" Scale="Pixels" Uniqueid="" /> + + * + *m: delidx && Delete IDX files if you use a Table + *m: gridsort && Sort the column Ascending and Descending + *m: readme && Read Me First + *m: settooltip + *m: showmenu && show a menu containing the name of all column and let user choose to see what he/she wants + *p: ctooltip + *p: isdelidx + *p: ocolumnreference + * + + * + ctooltip = + isdelidx = .T. + Name = "gridsort" + ocolumnreference = .NULL. + Tag = "" + * + + PROCEDURE delidx && Delete IDX files if you use a Table + *************************************************** + * Method........: DelIdx + * Description...: This method automatically delete Idx files if you use thisa class with a table and set isdelidx to .T. + * Date..........: 10 January 2006 + * Author........: Ali Mohammad Hosein zadeh + *************************************************** + RETURN + + fnum=Adir(fnames,'*.idx') + For i=1 To fnum + If 'THISFORM'$Upper(fnames(i,1)) + Delete File Fullpath(fnames(i,1)) + Endif + Endfor + + ENDPROC + + PROCEDURE Destroy + If This.isdelidx + This.delidx + Endif + + ENDPROC + + PROCEDURE gridsort && Sort the column Ascending and Descending + *************************************************** + * Method........: GridSort + * Description...: This method sort the column that you click + * Date..........: 02 October 2005 + * Update........: 10 December 2005 + * Author........: Ali Mohammad Hosein zadeh + *************************************************** + Parameters ocolumn + Private cobj,fname,fldname,ccount,cstr,nstr,cname + *!* Procces to get the path to form + LOCAL lcFname, llReorder + llReorder = .F. + + *!* 21.11.2006 + *!* mutu.marius + && daca nu se transmite nimic - se ordoneaza dupa ultima coloana ordonata + IF (PCOUNT() = 0 OR TYPE('oColumn') # 'O') AND !ISNULL(this.oColumnreference) + oColumn = this.oColumnreference + llReorder = .T. + ENDIF + + IF TYPE('oColumn') # 'O' + RETURN + ENDIF + + IF ISNULL(oColumn) + RETURN + ENDIF + + && se retine ultima coloana ordonata + this.oColumnreference = oColumn + + cstr='ocolumn.' + nstr='' + cname='' + Do While .T. + cstr=cstr+'parent.' + nstr=cstr+'baseclass' + If &nstr='Form' + Exit + Else + nstr=cstr+'name' + cname=&nstr+'.'+cname + Endif + Enddo + *!* Make a temporary name for Idx file + cobj='ThisForm.'+cname+ocolumn.Name+"."+ocolumn.CurrentControl+".ControlSource" + fname = Strtran(cobj,'.','') + lcfname=ADDBS(SYS(2023)) + fname + *!* Assign field name to fldname + fldname=&cobj + *!* Assign The number or columns to ccount + cobj="ThisForm."+cname+"COLUMNCOUNT" + ccount=&cobj + *!* CLEAR any column's picture + For i=1 To ccount + cobj="ThisForm."+cname+"columns("+Alltrim(Str(i))+").header1.picture=''" + &cobj + ENDFOR + *!* Find out if it's first click or DESCENDING order + If Empty(ocolumn.Tag) OR (ocolumn.Tag="Down" AND !llReorder) OR (llReorder AND ocolumn.Tag="Up") + *!* INDEX ON field + IF TYPE(fldname) = 'C' + lcIndexName = 'left(' + fldname + ', 90)' + INDEX on &lcIndexName To (lcfname) + ELSE + Index On &fldname To (lcfname) + ENDIF + *!* SAVE order of column + ocolumn.Tag="Up" + *!* Assign the picture + cobj="ThisForm."+cname+ocolumn.Name+".header1.picture='up.bmp'" + &cobj + *!* FINALLY set order + Set Order To (fname) + Else + *!* INDEX ON field + IF TYPE(fldname) = 'C' + lcIndexName = 'left(' + fldname + ', 90)' + INDEX on &lcIndexName To (lcfname) + ELSE + Index On &fldname To (lcfname) + ENDIF + *!* SAVE order of column + ocolumn.Tag="Down" + *!* Assign the picture + cobj="ThisForm."+cname+ocolumn.Name+".header1.picture='down.bmp'" + &cobj + *!* FINALLY set order + Set Order To (fname) Descending + Endif + *!* Refresh the grid + Go Top + cobj="ThisForm."+cname+"Refresh" + &cobj + + + ENDPROC + + PROCEDURE Init + *!* Set Classlib To Locfile('wizbtns','vcx') + *!* Set Procedure To Locfile('gridproc','prg') + + ENDPROC + + PROCEDURE readme && Read Me First + * ********************************************************************************************** + * GridSort.vcx - Ali Mohammad Hosein Zadeh - info@binyazprograms.com - 10 January 2006 * + * ********************************************************************************************** + * Updated : 10 January 2006 + * Updated : 10 December 2005 + * ********************************************************************************************** + * Description: + * ------------ + * A class for Visual FoxPro 8.0,9.0 that do many things for your grid. + * + * Class exposes the following methods : + * ------------------------------------ + * GridSort - Sort the columns ascending or descending automatically + * SetToolTip - Sets the column's tooltip to it's ControlSource + * ShowMenu - Show the main menu that you can hide or show colums and you can filter the table or cursor + * DelIdx - For internal use.Delete Idx files if you use this class with a table and set isdelidx=.T. + * + * How to use : + * ------------ + * Grid Sort : + * It's enough to write this line in the header's click event: + * ThisForm.gridsort1.gridsort(This.Parent) + * SetToolTip : + * It's enough to write this line in the MouseMove of the column you want : + * ThisForm.gridsort1.settooltip(This,nXCoord,nYCoord) + * ShowMenu : + * It's enough to write this line in the RightClick of the grid you want : + * Thisform.gridsort1.showmenu(This) + * + * Limitations & Disclaimer: + * ------------------------- + * I authorize gridsort.vcx to be used by anyone for anything in which you would like to use it. + * Feel free to modify, hack, fold, spindle, mutilate or otherwise alter this class library + * any way you see fit. You may freely distribute this class library and may even tell + * your boss that you wrote it, just please don't post it back to the web with your name on it. + * This class library appears to function correctly but has not been extensively tested. + * + * Please E-Mail me if you have any questions, comments, improvements, suggestions, bugs found, + * bugs fixed or just to say "looky, I'm using it!". + * + * ********************************************************************************************** + ENDPROC + + PROCEDURE settooltip + *************************************************** + * Method........: SetToolTip + * Description...: This method sets the column's tooltip that you pass + * Date..........: 10 January 2006 + * Author........: Ali Mohammad Hosein zadeh + *************************************************** + Lparameters ocolumn,x,Y + Local nRelRow_Out, nRelCol_Out,nWhere_Out + ocolumn.Parent.SetFocus() + ocolumn.Parent.Gridhittest(x,Y,@nWhere_Out,@nRelRow_Out,@nRelCol_Out) + ocolumn.Parent.ActivateCell(nRelRow_Out, nRelCol_Out) + If This.ctooltip<>Eval("ocolumn." + ocolumn.CurrentControl + ".value") + This.ctooltip=ocolumn.Parent.ToolTipText + ocolumn.Parent.ToolTipText=Eval("alltrim(ocolumn." + ocolumn.CurrentControl + ".value)") + Endif + + ENDPROC + + PROCEDURE showmenu && show a menu containing the name of all column and let user choose to see what he/she wants + *************************************************** + * Method........: ShowMenu + * Description...: Show the main menu + * Date..........: 10 January 2006 + * Author........: Ali Mohammad Hosein zadeh + *************************************************** + Parameters ogrid + If Type("ogrid")<>"O" + Return + ENDIF + + Dimension nmenus(ogrid.ColumnCount,2) + + For i=1 To ogrid.ColumnCount + nmenus(i,1)=ogrid.Columns(i).header1.Caption + nmenus(i,2)=ogrid.Columns(i).Visible + ENDFOR + + Define Popup popmenus SHORTCUT Relative From Mrow(),Mcol() + + Define Bar 1 Of popmenus Prompt "All" + Define Bar 2 Of popmenus Prompt "Costum" + Define Bar 3 Of popmenus Prompt "\-" + + Set Mark Of Bar 1 Of popmenus Empty(Filter()) + Set Mark Of Bar 2 Of popmenus !Empty(Filter()) + + On Selection Bar 1 Of popmenus Do All In gridproc + On Selection Bar 2 Of popmenus Do custom_filter In gridproc + + For i=4 To Alen(nmenus,1)+3 + Define Bar i Of popmenus Prompt nmenus(i-3,1) + Set Mark Of Bar i Of popmenus To nmenus(i-3,2) + cstr="ogrid.Columns("+Alltrim(Str(i-3))+").visible=!ogrid.Columns("+Alltrim(Str(i-3))+").visible" + On Selection Bar i Of popmenus &cstr + ENDFOR + + ogrid.Refresh + + Activate Popup popmenus + + ENDPROC + +ENDDEFINE diff --git a/clase/gridtreeview.h b/clase/gridtreeview.h new file mode 100644 index 0000000..7079cbe --- /dev/null +++ b/clase/gridtreeview.h @@ -0,0 +1 @@ +#DEFINE _GridTreeViewVCX ".\GridTreeview.vcx" \ No newline at end of file diff --git a/clase/gridtreeview.vc2 b/clase/gridtreeview.vc2 new file mode 100644 index 0000000..7a5df8e --- /dev/null +++ b/clase/gridtreeview.vc2 @@ -0,0 +1,424 @@ +*-------------------------------------------------------------------------------------------------------------------------------------------------------- +* (EN) AUTOGENERATED - ATTENTION!! - NOT INTENDED FOR EXECUTION!! USE ONLY FOR MERGING CHANGES AND STORING WITH SCM TOOLS!! +*-------------------------------------------------------------------------------------------------------------------------------------------------------- +*< FOXBIN2PRG: Version="1.21" SourceFile="gridtreeview.vcx" CPID="1252" /> (Solo para binarios VFP 9 / Only for VFP 9 binaries) +* +* +DEFINE CLASS afficherniveau AS container + *< CLASSDATA: Baseclass="container" Timestamp="" Scale="Pixels" Uniqueid="" /> + + *-- OBJECTDATA items order determines ZOrder / El orden de los items OBJECTDATA determina el ZOrder + *< OBJECTDATA: ObjPath="CmdN0" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="CmdN1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="CmdN2" UniqueID="" Timestamp="" /> + + * + *m: afficherniveau + *p: ogrid + * + + * + BorderWidth = 0 + Height = 14 + Name = "afficherniveau" + Width = 43 + * + + ADD OBJECT 'CmdN0' AS commandbutton WITH ; + Caption = "0", ; + FontSize = 8, ; + Height = 14, ; + Left = 0, ; + Name = "CmdN0", ; + Top = 0, ; + Width = 13 + *< END OBJECT: BaseClass="commandbutton" /> + + ADD OBJECT 'CmdN1' AS commandbutton WITH ; + Caption = "1", ; + FontSize = 8, ; + Height = 14, ; + Left = 15, ; + Name = "CmdN1", ; + Top = 0, ; + Width = 13 + *< END OBJECT: BaseClass="commandbutton" /> + + ADD OBJECT 'CmdN2' AS commandbutton WITH ; + Caption = "2", ; + FontSize = 8, ; + Height = 14, ; + Left = 30, ; + Name = "CmdN2", ; + Top = 0, ; + Width = 13 + *< END OBJECT: BaseClass="commandbutton" /> + + PROCEDURE afficherniveau + LPARAMETERS nNiveau + UPDATE (This.oGrid.recordSource) ; + SET visible=(niveau<=nNiveau),; + expanded=IIF(niveau + + *-- OBJECTDATA items order determines ZOrder / El orden de los items OBJECTDATA determina el ZOrder + *< OBJECTDATA: ObjPath="ColumnTV.HeaderTV" UniqueID="" Timestamp="" /> + + #INCLUDE "gridtreeview.h" + * + *m: dynamic + *m: nodeclick + *p: niveau0 + *p: niveau1 + *p: niveau2 + *p: nrecno + * + + * + AllowHeaderSizing = .F. + AllowRowSizing = .F. + ColumnCount = 1 + DeleteMark = .F. + GridLineColor = 128,128,128 + GridLines = 3 + Height = 345 + Highlight = .F. + HighlightRow = .F. + Name = "gridtreeview" + nrecno = 0 + Panel = 1 + RecordMark = .F. + RowHeight = 20 + ScrollBars = 2 + Width = 383 + Column1.ControlSource = "" + Column1.Name = "ColumnTV" + Column1.ReadOnly = .T. + Column1.Sparse = .F. + Column1.Visible = .T. + Column1.Width = 135 + * + + ADD OBJECT 'ColumnTV.HeaderTV' AS header WITH ; + Caption = "Clé", ; + Name = "HeaderTV" + *< END OBJECT: BaseClass="header" /> + + PROCEDURE AfterRowColChange + LPARAMETERS nColIndex + this.nRecno=Recno(this.RecordSource) + thisform.lockScreen= .T. + this.columntv.Refresh + thisform.lockScreen= .f. + + ENDPROC + + PROCEDURE Destroy + SELECT (this.RecordSource) + SET FILTER to + + ENDPROC + + PROCEDURE dynamic + WITH Evaluate("this.columnTV."+ Evaluate(this.columnTV.dynamicCurrentControl)+".text1") + IF Recno(this.RecordSource)=this.nRecno + .disabledBackColor=Rgb(10,36,106) + .DisabledForeColor=Rgb(255,255,255) + ELSE + .disabledBackColor=Rgb(255,255,255) + .resetToDefault("DisabledForeColor") + ENDIF + ENDWITH + RETURN Rgb(255,255,255) + + ENDPROC + + PROCEDURE Init + thisform.lockScreen = .t. + + SELECT (this.recordsource) + SET FILTER TO visible + GO top + + WITH this.columnTV + + IF VARTYPE(.text1)="O" + .RemoveObject("text1") + ENDIF + SET CLASSLIB TO (_GridTreeViewVCX) additive + + .AddObject("niveau0","niveau") + .AddObject("niveau0p","niveau") + .AddObject("niveau0m","niveau") + + .AddObject("niveau1","niveau1") + .AddObject("niveau1p","niveau1") + .AddObject("niveau1m","niveau1") + + .AddObject("niveau2","niveau2") + + CLEAR CLASSLIB _GridTreeViewVCX + + STORE JUSTPATH(_GridTreeViewVCX)+"\leaf.bmp" ; + TO .niveau0.image.picture, ; + .niveau1.image.picture ,; + .niveau2.image.picture + STORE JUSTPATH(_GridTreeViewVCX)+"\open.bmp" ; + TO .niveau0m.image.picture, ; + .niveau1m.image.picture + STORE JUSTPATH(_GridTreeViewVCX)+"\closed.bmp" ; + TO .niveau0p.image.picture, ; + .niveau1p.image.picture + + STORE JUSTPATH(_GridTreeViewVCX)+"\minus.bmp" ; + TO .niveau0m.plusMoins.picture, ; + .niveau1m.plusMoins.picture + STORE JUSTPATH(_GridTreeViewVCX)+"\plus.bmp" ; + TO .niveau0p.plusMoins.picture, ; + .niveau1p.plusMoins.picture + + STORE .t. ; + TO .niveau0m.plusMoins.visible, ; + .niveau0p.plusMoins.visible ,; + .niveau1m.plusMoins.visible, ; + .niveau1p.plusMoins.visible + + .DynamicCurrentControl = ["Niveau"+str(]+.parent.RecordSource+[.niveau,1)+chrtran(]+.parent.RecordSource+[.expanded,"ON ","mp")] + .DynamicBackColor=[this.dynamic()] + ENDWITH + + thisform.lockScreen = .f. + + + ENDPROC + + PROCEDURE nodeclick + LOCAL niveau, cExpanded, key + + SELECT (this.recordSource) + cExpanded = ALLTRIM(expanded) + IF NOT EMPTY(expanded) + thisform.LockScreen = .T. + m.key = EVALUATE(KEY()) + IF expanded="O" + replace expanded WITH "N" + SKIP + REPLACE visible WITH .f. while LIKE(TRIM(m.key) + '*', EVALUATE(KEY())) + ELSE + SET FILTER TO + replace expanded WITH "O" + m.niveau = niveau + SKIP + SCAN REST WHILE LIKE(TRIM(m.key) + '*', EVALUATE(KEY())) + IF niveau = m.niveau + 1 + replace visible with .t. + cExpanded = Expanded + ELSE + IF m.cExpanded="O" + replace visible with .t. + ENDIF + ENDIF + ENDSCAN + ENDIF + SEEK m.key + SET FILTER TO visible + This.columnTV.dynamicCurrentControl=This.columnTV.dynamicCurrentControl + this.refresh + thisform.LockScreen = .f. + ENDIF + + ENDPROC + +ENDDEFINE + +DEFINE CLASS niveau AS container + *< CLASSDATA: Baseclass="container" Timestamp="" Scale="Pixels" Uniqueid="" /> + + *-- OBJECTDATA items order determines ZOrder / El orden de los items OBJECTDATA determina el ZOrder + *< OBJECTDATA: ObjPath="Text1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="Image" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="PlusMoins" UniqueID="" Timestamp="" /> + + * + BackStyle = 0 + BorderWidth = 0 + Height = 24 + Name = "niveau" + Width = 361 + * + + ADD OBJECT 'Image' AS image WITH ; + Height = 17, ; + Left = 18, ; + Name = "Image", ; + Top = 2, ; + Width = 17 + *< END OBJECT: BaseClass="image" /> + + ADD OBJECT 'PlusMoins' AS image WITH ; + Height = 17, ; + Left = 1, ; + Name = "PlusMoins", ; + Top = 2, ; + Visible = .F., ; + Width = 17 + *< END OBJECT: BaseClass="image" /> + + ADD OBJECT 'Text1' AS textbox WITH ; + BackStyle = 1, ; + BorderStyle = 0, ; + DisabledBackColor = 255,255,255, ; + DisabledForeColor = 0,0,0, ; + Enabled = .F., ; + FontBold = .T., ; + Height = 21, ; + Left = 33, ; + Name = "Text1", ; + ReadOnly = .T., ; + SpecialEffect = 1, ; + Top = 0, ; + Width = 327 + *< END OBJECT: BaseClass="textbox" /> + + PROCEDURE DblClick + this.parent.parent.nodeClick + ENDPROC + + PROCEDURE Image.DblClick + this.parent.parent.parent.nodeClick + ENDPROC + + PROCEDURE PlusMoins.MouseDown + LPARAMETERS nButton, nShift, nXCoord, nYCoord + IF nButton=1 + this.parent.parent.parent.nodeClick + ENDIF + ENDPROC + + PROCEDURE Text1.DblClick + this.parent.parent.parent.nodeClick + ENDPROC + + PROCEDURE Text1.Init + this.controlSource = this.parent.parent.parent.niveau0 + ENDPROC + +ENDDEFINE + +DEFINE CLASS niveau1 AS niveau OF "gridtreeview.vcx" + *< CLASSDATA: Baseclass="container" Timestamp="" Scale="Pixels" Uniqueid="" /> + + *-- OBJECTDATA items order determines ZOrder / El orden de los items OBJECTDATA determina el ZOrder + *< OBJECTDATA: ObjPath="LineV" UniqueID="" Timestamp="" /> + + * + Height = 21 + Name = "niveau1" + Text1.FontBold = .F. + Text1.Height = 20 + Text1.Left = 58 + Text1.Name = "Text1" + Text1.Top = 0 + Text1.Width = 301 + Text1.ZOrderSet = 0 + Image.Height = 17 + Image.Left = 42 + Image.Name = "Image" + Image.Top = 2 + Image.Width = 15 + PlusMoins.Left = 26 + PlusMoins.Name = "PlusMoins" + PlusMoins.Top = 2 + * + + ADD OBJECT 'LineV' AS line WITH ; + BorderColor = 128,128,128, ; + BorderWidth = 3, ; + Height = 27, ; + Left = 8, ; + Name = "LineV", ; + Top = -2, ; + Width = 0, ; + ZOrderSet = 1 + *< END OBJECT: BaseClass="line" /> + + PROCEDURE Text1.Init + this.controlSource = this.parent.parent.parent.niveau1 + ENDPROC + +ENDDEFINE + +DEFINE CLASS niveau2 AS niveau1 OF "gridtreeview.vcx" + *< CLASSDATA: Baseclass="container" Timestamp="" Scale="Pixels" Uniqueid="" /> + + *-- OBJECTDATA items order determines ZOrder / El orden de los items OBJECTDATA determina el ZOrder + *< OBJECTDATA: ObjPath="Line2V" UniqueID="" Timestamp="" /> + + * + Height = 21 + Name = "niveau2" + Text1.DisabledForeColor = 128,128,128 + Text1.FontBold = .T. + Text1.ForeColor = 128,128,128 + Text1.Height = 20 + Text1.Left = 80 + Text1.Name = "Text1" + Text1.Top = 0 + Text1.Width = 268 + Text1.ZOrderSet = 0 + LINEV.Name = "LINEV" + LINEV.ZOrderSet = 1 + Image.Left = 64 + Image.Name = "Image" + Image.Top = 2 + PlusMoins.Left = 48 + PlusMoins.Name = "PlusMoins" + PlusMoins.Top = 2 + * + + ADD OBJECT 'Line2V' AS line WITH ; + BorderColor = 192,192,192, ; + BorderWidth = 3, ; + Height = 20, ; + Left = 33, ; + Name = "Line2V", ; + Top = 0, ; + Width = 0, ; + ZOrderSet = 2 + *< END OBJECT: BaseClass="line" /> + + PROCEDURE Text1.Init + this.controlSource = this.parent.parent.parent.niveau2 + ENDPROC + +ENDDEFINE diff --git a/clase/imagegrid.vc2 b/clase/imagegrid.vc2 new file mode 100644 index 0000000..722b450 --- /dev/null +++ b/clase/imagegrid.vc2 @@ -0,0 +1,25 @@ +*-------------------------------------------------------------------------------------------------------------------------------------------------------- +* (EN) AUTOGENERATED - ATTENTION!! - NOT INTENDED FOR EXECUTION!! USE ONLY FOR MERGING CHANGES AND STORING WITH SCM TOOLS!! +*-------------------------------------------------------------------------------------------------------------------------------------------------------- +*< FOXBIN2PRG: Version="1.21" SourceFile="imagegrid.vcx" CPID="1252" /> (Solo para binarios VFP 9 / Only for VFP 9 binaries) +* +* +DEFINE CLASS imagegrid AS grid + *< CLASSDATA: Baseclass="grid" Timestamp="" Scale="Pixels" Uniqueid="" /> + + * + *m: onlinechanged + * + + * + Height = 200 + Name = "imagegrid" + Width = 320 + * + + PROCEDURE onlinechanged + LPARAMETERS lnInfo + + ENDPROC + +ENDDEFINE diff --git a/clase/importdata.vc2 b/clase/importdata.vc2 new file mode 100644 index 0000000..fe5ec2d --- /dev/null +++ b/clase/importdata.vc2 @@ -0,0 +1,385 @@ +*-------------------------------------------------------------------------------------------------------------------------------------------------------- +* (EN) AUTOGENERATED - ATTENTION!! - NOT INTENDED FOR EXECUTION!! USE ONLY FOR MERGING CHANGES AND STORING WITH SCM TOOLS!! +*-------------------------------------------------------------------------------------------------------------------------------------------------------- +*< FOXBIN2PRG: Version="1.21" SourceFile="importdata.vcx" CPID="1250" /> (Solo para binarios VFP 9 / Only for VFP 9 binaries) +* +* +DEFINE CLASS frm_import AS _frmbase OF "_frm_base.vcx" + *< CLASSDATA: Baseclass="form" Timestamp="" Scale="Pixels" Uniqueid="" /> + + *-- OBJECTDATA items order determines ZOrder / El orden de los items OBJECTDATA determina el ZOrder + *< OBJECTDATA: ObjPath="clb_tx_fisier" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="Cmd_cauta1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="grdOriginal" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="grdOriginal.cColumn.Header1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="grdOriginal.cColumn.Text1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="grdImport" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="grdImport.cColumn.Header1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="grdImport.cColumn.Text1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="grdImport.cColumnImport.Header1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="grdImport.cColumnImport._cbbase1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="But_precedent1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="But_urmator1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="Cmd_executa1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="But_renunt1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="grdTabel" UniqueID="" Timestamp="" /> + + * + *p: cfile + * + + * + cfile = + DoCreate = .T. + Height = 455 + Name = "frm_import" + Width = 626 + WindowState = 2 + _SHAPE1.Anchor = 10 + _SHAPE1.Height = 29 + _SHAPE1.Left = 0 + _SHAPE1.Name = "_SHAPE1" + _SHAPE1.Top = 0 + _SHAPE1.Width = 630 + _SHAPE2.Left = 276 + _SHAPE2.Name = "_SHAPE2" + _SHAPE2.Top = 0 + _SHAPE2.Visible = .F. + LB_TITLU_ALB_B121.Caption = "Import" + LB_TITLU_ALB_B121.Name = "LB_TITLU_ALB_B121" + LB_TITLU_ALB_B121.TabIndex = 10 + BUT_TERMIN1.Anchor = 8 + BUT_TERMIN1.Left = 596 + BUT_TERMIN1.Name = "BUT_TERMIN1" + BUT_TERMIN1.TabIndex = 8 + BUT_TERMIN1.Top = 1 + Gridsort1.Name = "Gridsort1" + * + + ADD OBJECT 'But_precedent1' AS but_precedent WITH ; + Left = 232, ; + Name = "But_precedent1", ; + Picture = ..\grafice\precedent1.bmp, ; + TabIndex = 6, ; + Top = 180 + *< END OBJECT: ClassLib="cmd_butoane.vcx" BaseClass="commandbutton" /> + + ADD OBJECT 'But_renunt1' AS but_renunt WITH ; + Anchor = 8, ; + Left = 566, ; + Name = "But_renunt1", ; + TabIndex = 9, ; + Top = 1 + *< END OBJECT: ClassLib="cmd_butoane.vcx" BaseClass="commandbutton" /> + + ADD OBJECT 'But_urmator1' AS but_urmator WITH ; + Left = 232, ; + Name = "But_urmator1", ; + TabIndex = 5, ; + Top = 150 + *< END OBJECT: ClassLib="cmd_butoane.vcx" BaseClass="commandbutton" /> + + ADD OBJECT 'clb_tx_fisier' AS clb_tx_simplu WITH ; + Height = 29, ; + Left = 12, ; + Name = "clb_tx_fisier", ; + TabIndex = 1, ; + Top = 48, ; + Width = 395, ; + TEXT_SIMPLU1.ControlSource = "thisform.cFile", ; + TEXT_SIMPLU1.Height = 23, ; + TEXT_SIMPLU1.Left = 50, ; + TEXT_SIMPLU1.Name = "TEXT_SIMPLU1", ; + TEXT_SIMPLU1.Top = 3, ; + TEXT_SIMPLU1.Width = 340, ; + LB_SIMPLU1.Caption = "Fisier", ; + LB_SIMPLU1.Name = "LB_SIMPLU1" + *< END OBJECT: ClassLib="lb_tx.vcx" BaseClass="container" /> + + ADD OBJECT 'Cmd_cauta1' AS cmd_cauta WITH ; + Caption = "...", ; + Height = 27, ; + Left = 413, ; + Name = "Cmd_cauta1", ; + TabIndex = 2, ; + Top = 48, ; + Width = 39 + *< END OBJECT: ClassLib="cmd_butoane.vcx" BaseClass="commandbutton" /> + + ADD OBJECT 'Cmd_executa1' AS cmd_executa WITH ; + Left = 468, ; + Name = "Cmd_executa1", ; + TabIndex = 3, ; + Top = 48 + *< END OBJECT: ClassLib="cmd_butoane.vcx" BaseClass="commandbutton" /> + + ADD OBJECT 'grdImport' AS _grdrow WITH ; + ColumnCount = 2, ; + DeleteMark = .F., ; + Height = 201, ; + Left = 264, ; + Name = "grdImport", ; + Panel = 1, ; + RecordSource = "crsTabelaImport", ; + TabIndex = 7, ; + Top = 87, ; + Width = 354, ; + Column1.ControlSource = "column_name", ; + Column1.Name = "cColumn", ; + Column1.Width = 187, ; + Column2.ControlSource = "column_import", ; + Column2.Name = "cColumnImport", ; + Column2.Sparse = .F., ; + Column2.Width = 134 + *< END OBJECT: ClassLib="_grd_base.vcx" BaseClass="grid" /> + + ADD OBJECT 'grdImport.cColumn.Header1' AS header WITH ; + Alignment = 2, ; + Caption = "Coloana", ; + Name = "Header1" + *< END OBJECT: BaseClass="header" /> + + ADD OBJECT 'grdImport.cColumn.Text1' AS textbox WITH ; + BackColor = 255,255,255, ; + BorderStyle = 0, ; + ForeColor = 0,0,0, ; + Margin = 0, ; + Name = "Text1" + *< END OBJECT: BaseClass="textbox" /> + + ADD OBJECT 'grdImport.cColumnImport._cbbase1' AS _cbbase WITH ; + BorderStyle = 0, ; + ControlSource = "column_import", ; + Left = 41, ; + Name = "_cbbase1", ; + RowSource = "crsCols.Column_Name", ; + RowSourceType = 2, ; + Top = 23 + *< END OBJECT: ClassLib="_cb_base.vcx" BaseClass="combobox" /> + + ADD OBJECT 'grdImport.cColumnImport.Header1' AS header WITH ; + Alignment = 2, ; + Caption = "Coloana Import", ; + Name = "Header1" + *< END OBJECT: BaseClass="header" /> + + ADD OBJECT 'grdOriginal' AS _grdrow WITH ; + ColumnCount = 1, ; + DeleteMark = .F., ; + Height = 201, ; + Left = 12, ; + Name = "grdOriginal", ; + Panel = 1, ; + RecordSource = "crsTabelaOriginala", ; + TabIndex = 4, ; + Top = 87, ; + Width = 219, ; + Column1.ControlSource = "column_name", ; + Column1.Name = "cColumn", ; + Column1.Width = 187 + *< END OBJECT: ClassLib="_grd_base.vcx" BaseClass="grid" /> + + ADD OBJECT 'grdOriginal.cColumn.Header1' AS header WITH ; + Alignment = 2, ; + Caption = "Coloana", ; + Name = "Header1" + *< END OBJECT: BaseClass="header" /> + + ADD OBJECT 'grdOriginal.cColumn.Text1' AS textbox WITH ; + BackColor = 255,255,255, ; + BorderStyle = 0, ; + ForeColor = 0,0,0, ; + Margin = 0, ; + Name = "Text1" + *< END OBJECT: BaseClass="textbox" /> + + ADD OBJECT 'grdTabel' AS _grdrow WITH ; + Anchor = 15, ; + Height = 144, ; + Left = 17, ; + Name = "grdTabel", ; + Panel = 1, ; + ReadOnly = .F., ; + RecordSource = "", ; + TabIndex = 7, ; + Top = 303, ; + Width = 602 + *< END OBJECT: ClassLib="_grd_base.vcx" BaseClass="grid" /> + + PROCEDURE Destroy + + IF USED('crsTabelaOriginala') + USE IN crsTabelaOriginala + ENDIF + IF USED('crsTabelaImport') + USE IN crsTabelaImport + ENDIF + IF USED('crsCols') + USE IN crsCols + ENDIF + + IF USED('fisImport') + USE IN fisImport + ENDIF + ENDPROC + + PROCEDURE do_cauta + CD c:\ + this.cFile = GETFILE('dbf','Selectati','Fisier',0,'Selectati fisierul de import') + this.clb_tx_fisier.Refresh() + ENDPROC + + PROCEDURE do_executa + LOCAL lcFile + lcFile = ALLTRIM(this.cFile) + IF EMPTY(lcFile) + RETURN + ENDIF + IF !FILE(lcFile) + aMESSAGEBOX('Nu exista fisierul ' +_lcFile,0+48,_screen.Caption) + RETURN + ENDIF + IF USED('fisImport') + USE IN fisImport + ENDIF + USE (lcFile) IN 0 SHARED ALIAS fisImport + + DELETE FROM crsTabelaImport + DELETE FROM crsTabelaOriginala + SELECT fisImport + lnColumns = FCOUNT('fisImport') + FOR i = 1 TO lnColumns + lcColumn = FIELD(i) + INSERT INTO crsTabelaOriginala (column_name) VALUES (lcColumn) + ENDFOR + + + SELECT crsTabelaOriginala + GO TOP + + this.LockScreen = .T. + this.grdTabel.RecordSource="" + this.grdTabel.ColumnCount = -1 + this.grdTabel.RecordSource="fisimport" + this.LockScreen = .F. + this.grdTabel.Refresh() + this.grdImport.Refresh() + this.grdOriginal.Refresh() + + this.grdOriginal.SetFocus() + ENDPROC + + PROCEDURE do_precedent + llSucces = .T. + lcColumn = UPPER(ALLTRIM(crsTabelaImport.column_name)) + IF EMPTY(lcColumn) + llSucces = .F. + ENDIF + DELETE FROM crsTabelaImport WHERE UPPER(ALLTRIM(column_name)) = lcColumn + this.grdImport.SetFocus() + ENDPROC + + PROCEDURE do_urmator + llSucces = .T. + lcColumn = UPPER(ALLTRIM(crsTabelaOriginala.column_name)) + IF EMPTY(lcColumn) + llSucces = .F. + ENDIF + IF llSucces + SELECT column_name FROM crsTabelaImport WHERE UPPER(ALLTRIM(column_name)) = lcColumn INTO CURSOR crsTemp + IF _tally = 1 + llSucces = .F. + ENDIF + IF USED('crsTemp') + USE IN crsTemp + ENDIF + ENDIF + IF llSucces + INSERT INTO crsTabelaImport (column_name) VALUES (lcColumn) + ENDIF + this.grdImport.SetFocus() + + + + + + ENDPROC + + PROCEDURE inainte_de_do_termin + LOCAL llSucces + llSucces = .F. + SELECT column_import, COUNT(*) as nr FROM crsTabelaImport GROUP BY column_import HAVING nr > 1 INTO CURSOR crsTemp + IF _tally > 0 + SELECT crsTemp + GO TOP + lcColoana = ALLTRIM(column_import) + aMESSAGEBOX('Alegeti alta coloana de import pentru ' + lcColoana) + ELSE + llSucces = .T. + ENDIF + USE IN crsTemp + + + + + *!* lcCreateCursor = [SELECT ] + lcSelect = [] + SELECT crsTabelaImport + SCAN + lcColumn = UPPER(ALLTRIM(column_name)) + *!* SELECT crsCols + *!* LOCATE FOR UPPER(ALLTRIM(column_name)) = lcColumn + *!* IF !FOUND() + *!* LOOP + *!* ENDIF + lcColumnName = UPPER(ALLTRIM(column_IMPORT)) + *!* lcColumnType = UPPER(ALLTRIM(column_type)) + *!* lnColumnSize1 = column_size1 + *!* lnColumnSize2 = column_size2 + + *!* lcCreateCursor = lcCreateCursor + lcColum + [ ] + lcColumnType + ; + *!* IIF(!EMPTY(lnColumnSize1),[(] + ALLTRIM(STR(lnColumnSize1)) + IIF(!EMPTY(lnColumnSize2),[,]+ALLTRIM(STR(lnColumnSize2))+[)],[]) + [)],[]) + [,] + lcSelect = lcSelect + lcColumn + [ as ] + lcColumnName + [,] + ENDSCAN + IF RIGHT(lcSelect,1) = [,] + lcSelect = LEFT(lcSelect, LEN(lcSelect) - 1) + ENDIF + + llUsed = .T. + IF !USED('fisImport') + llUsed = .F. + lcFile = ALLTRIM(this.cFile) + USE (lcFile) IN 0 SHARED ALIAS fisImport + ENDIF + IF EMPTY(lcSelect) + lcSelect = [ * ] + ENDIF + lcSelect = [SELECT ] + lcSelect + [ from fisImport into cursor crsReturn] + &lcSelect + + IF !llUsed + IF USED('fisImport') + USE IN fisImport + ENDIF + ENDIF + + RETURN llSucces + + ENDPROC + + PROCEDURE Load + CREATE CURSOR crsTabelaOriginala (column_name c(100)) + SELECT column_name,SPACE(100) as column_import FROM crsTabelaOriginala INTO CURSOR crsTabelaImport READWRITE + + + CREATE CURSOR crsCols (column_name c(100), column_type c(1), column_size1 n(10), column_size2 n(10)) + INSERT INTO crsCols (column_name, column_type, column_size1, column_size2) VALUES ('SCD', 'C', 4, 0) + INSERT INTO crsCols (column_name, column_type, column_size1, column_size2) VALUES ('ASCD', 'C', 4, 0) + INSERT INTO crsCols (column_name, column_type, column_size1, column_size2) VALUES ('SCC', 'C', 4, 0) + INSERT INTO crsCols (column_name, column_type, column_size1, column_size2) VALUES ('ASCC', 'C', 4, 0) + INSERT INTO crsCols (column_name, column_type, column_size1, column_size2) VALUES ('SUMA', 'N', 20, 4) + INSERT INTO crsCols (column_name, column_type, column_size1, column_size2) VALUES ('EXPLICATIA', 'C', 30, 0) + + ENDPROC + +ENDDEFINE diff --git a/clase/lb.vc2 b/clase/lb.vc2 new file mode 100644 index 0000000..2b1ab66 --- /dev/null +++ b/clase/lb.vc2 @@ -0,0 +1,68 @@ +*-------------------------------------------------------------------------------------------------------------------------------------------------------- +* (EN) AUTOGENERATED - ATTENTION!! - NOT INTENDED FOR EXECUTION!! USE ONLY FOR MERGING CHANGES AND STORING WITH SCM TOOLS!! +*-------------------------------------------------------------------------------------------------------------------------------------------------------- +*< FOXBIN2PRG: Version="1.21" SourceFile="lb.vcx" CPID="1252" /> (Solo para binarios VFP 9 / Only for VFP 9 binaries) +* +* +DEFINE CLASS lb_shortcuts AS _label OF "_baza.vcx" + *< CLASSDATA: Baseclass="label" Timestamp="" Scale="Pixels" Uniqueid="" /> + + * + AutoSize = .T. + BackStyle = 0 + Caption = "CTRL+F = Terminat/Continuare; ESC = Renuntare" + FontSize = 8 + ForeColor = 255,255,0 + Name = "lb_shortcuts" + * + +ENDDEFINE + +DEFINE CLASS lb_simplu AS _lbbase OF "_lb_base.vcx" + *< CLASSDATA: Baseclass="label" Timestamp="" Scale="Pixels" Uniqueid="" /> + + * + BackStyle = 0 + Name = "lb_simplu" + * + +ENDDEFINE + +DEFINE CLASS lb_titlu_alb_b12 AS _lbbase OF "_lb_base.vcx" + *< CLASSDATA: Baseclass="label" Timestamp="" Scale="Pixels" Uniqueid="" /> + + * + BackStyle = 0 + FontBold = .F. + FontName = "Arial" + FontSize = 12 + ForeColor = 255,255,255 + Name = "lb_titlu_alb_b12" + * + +ENDDEFINE + +DEFINE CLASS lb_titlu_albastru_b12 AS _lbbase OF "_lb_base.vcx" + *< CLASSDATA: Baseclass="label" Timestamp="" Scale="Pixels" Uniqueid="" /> + + * + BackStyle = 0 + FontBold = .T. + FontSize = 12 + ForeColor = 0,64,128 + Name = "lb_titlu_albastru_b12" + * + +ENDDEFINE + +DEFINE CLASS lb_titlu_negru_b12 AS _lbbase OF "_lb_base.vcx" + *< CLASSDATA: Baseclass="label" Timestamp="" Scale="Pixels" Uniqueid="" /> + + * + BackStyle = 0 + FontBold = .T. + FontSize = 12 + Name = "lb_titlu_negru_b12" + * + +ENDDEFINE diff --git a/clase/lb_tx.vc2 b/clase/lb_tx.vc2 new file mode 100644 index 0000000..6e1e1de --- /dev/null +++ b/clase/lb_tx.vc2 @@ -0,0 +1,837 @@ +*-------------------------------------------------------------------------------------------------------------------------------------------------------- +* (EN) AUTOGENERATED - ATTENTION!! - NOT INTENDED FOR EXECUTION!! USE ONLY FOR MERGING CHANGES AND STORING WITH SCM TOOLS!! +*-------------------------------------------------------------------------------------------------------------------------------------------------------- +*< FOXBIN2PRG: Version="1.21" SourceFile="lb_tx.vcx" CPID="1252" /> (Solo para binarios VFP 9 / Only for VFP 9 binaries) +* +* +DEFINE CLASS cb_tx_autofill AS _container OF "_baza.vcx" + *< CLASSDATA: Baseclass="container" Timestamp="" Scale="Pixels" Uniqueid="" /> + + *-- OBJECTDATA items order determines ZOrder / El orden de los items OBJECTDATA determina el ZOrder + *< OBJECTDATA: ObjPath="_lbbase1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="_cbautofill1" UniqueID="" Timestamp="" /> + + #INCLUDE "..\..\program files\microsoft visual foxpro 8\foxpro.h" + * + BackStyle = 0 + Height = 29 + Name = "cb_tx_autofill" + Width = 290 + * + + ADD OBJECT '_cbautofill1' AS _cbautofill WITH ; + Height = 23, ; + Left = 101, ; + Name = "_cbautofill1", ; + Top = 3, ; + Width = 184 + *< END OBJECT: ClassLib="_cb_base.vcx" BaseClass="combobox" /> + + ADD OBJECT '_lbbase1' AS _lbbase WITH ; + Left = 8, ; + Name = "_lbbase1", ; + Top = 6 + *< END OBJECT: ClassLib="_lb_base.vcx" BaseClass="label" /> + +ENDDEFINE + +DEFINE CLASS cb_tx_cautare AS _container OF "_baza.vcx" + *< CLASSDATA: Baseclass="container" Timestamp="" Scale="Pixels" Uniqueid="" /> + + *-- OBJECTDATA items order determines ZOrder / El orden de los items OBJECTDATA determina el ZOrder + *< OBJECTDATA: ObjPath="Text" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="Criteriu" UniqueID="" Timestamp="" /> + + * + *m: do_actualizeaza_ct + *m: do_initializeaza_ct + *p: cpornire + *p: ctip + *p: _memberdata && XML Metadata for customizable properties + * + + * + BackColor = 255,255,255 + BorderWidth = 0 + cpornire = + ctip = C + Height = 27 + Name = "cb_tx_cautare" + Width = 303 + _memberdata = + + + * + + ADD OBJECT 'Criteriu' AS _cbbase WITH ; + BorderStyle = 0, ; + BoundColumn = 2, ; + BoundTo = .T., ; + ColumnCount = 2, ; + ColumnLines = .F., ; + ColumnWidths = "72,0", ; + FontCharSet = 238, ; + FontItalic = .T., ; + Left = 3, ; + Name = "Criteriu", ; + RowSource = "incepe cu...,1,este...,2,nu este...,3,contine...,4,nu contine...,5,toate,6", ; + RowSourceType = 1, ; + SpecialEffect = 1, ; + Style = 2, ; + TabIndex = 1, ; + ToolTipText = "Selectati criteriul de comparare", ; + Top = 1 + *< END OBJECT: ClassLib="_cb_base.vcx" BaseClass="combobox" /> + + ADD OBJECT 'Text' AS _txbase WITH ; + Format = "!KT", ; + Height = 25, ; + Left = 103, ; + Name = "Text", ; + TabIndex = 2, ; + Top = 1, ; + Width = 198 + *< END OBJECT: ClassLib="_tx_base.vcx" BaseClass="textbox" /> + + PROCEDURE do_actualizeaza_ct + Lparameters tcValoare + Do Case + Case This.cTip = [N] + This.Text.Value = 0 + Case This.cTip = [D] + This.Text.Value = Ctod([]) + Case This.cTip = [T] + This.Text.Value = Ctot([]) + Otherwise + If Val(tcValoare)>5 + This.Text.Value="" + *This.Text.Enabled=.F. + This.Text.Enabled=.T. + Else + This.Text.Enabled=.T. + Endif + Endcase + + ENDPROC + + PROCEDURE do_initializeaza_ct + Lparameters tcValoare,tcTip + *!* modificare 14/10/2011 : am adaugat tcTip + If !Empty(tcTip) + Do Case + Case Inlist(tcTip,'T','N','D') + This.criteriu.RowSource = [=,1,diferita,2,>,3,<,4,>=,5,<=,6] + Otherwise + This.criteriu.RowSource = [incepe cu...,1,este...,2,nu este...,3,contine...,4,nu contine...,5,toate,6] + Endcase + This.cTip = tcTip + Else + This.cTip = [C] + Endif + If Empty(tcValoare) + lcValoare = [1] + Else + lcValoare = tcValoare + Endif + This.criteriu.Value = lcValoare + This.do_actualizeaza_ct(lcValoare) + + ENDPROC + + PROCEDURE Criteriu.Valid + This.Parent.do_actualizeaza_ct(This.Value) + + ENDPROC + +ENDDEFINE + +DEFINE CLASS cb_tx_simplu AS _container OF "_baza.vcx" + *< CLASSDATA: Baseclass="container" Timestamp="" Scale="Pixels" Uniqueid="" /> + + *-- OBJECTDATA items order determines ZOrder / El orden de los items OBJECTDATA determina el ZOrder + *< OBJECTDATA: ObjPath="_cbbase1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="_lbbase1" UniqueID="" Timestamp="" /> + + #INCLUDE "..\..\program files\microsoft visual foxpro 8\foxpro.h" + * + BackStyle = 0 + Height = 29 + Name = "cb_tx_simplu" + Width = 290 + * + + ADD OBJECT '_cbbase1' AS _cbbase WITH ; + Height = 23, ; + Left = 101, ; + Name = "_cbbase1", ; + Top = 3, ; + Width = 184 + *< END OBJECT: ClassLib="_cb_base.vcx" BaseClass="combobox" /> + + ADD OBJECT '_lbbase1' AS _lbbase WITH ; + Left = 8, ; + Name = "_lbbase1", ; + Top = 6 + *< END OBJECT: ClassLib="_lb_base.vcx" BaseClass="label" /> + +ENDDEFINE + +DEFINE CLASS clb_an_luna AS _container OF "_baza.vcx" + *< CLASSDATA: Baseclass="container" Timestamp="" Scale="Pixels" Uniqueid="" /> + + *-- OBJECTDATA items order determines ZOrder / El orden de los items OBJECTDATA determina el ZOrder + *< OBJECTDATA: ObjPath="Lb_simplu1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="cb1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="cb2" UniqueID="" Timestamp="" /> + + * + *p: _memberdata && XML Metadata for customizable properties + * + + * + Height = 29 + Name = "clb_an_luna" + Width = 201 + _memberdata = + + + * + + ADD OBJECT 'cb1' AS _combobox WITH ; + Height = 24, ; + Left = 49, ; + Name = "cb1", ; + RowSource = "1,2,3,4,5,6,7,8,9,10,11,12", ; + RowSourceType = 1, ; + TabIndex = 1, ; + Top = 2, ; + Width = 59 + *< END OBJECT: ClassLib="_baza.vcx" BaseClass="combobox" /> + + ADD OBJECT 'cb2' AS _combobox WITH ; + Height = 24, ; + Left = 121, ; + Name = "cb2", ; + RowSource = "2000,2001,2003,2004,2005,2006,2007,2008,2009,20010", ; + RowSourceType = 1, ; + TabIndex = 2, ; + Top = 2, ; + Width = 74 + *< END OBJECT: ClassLib="_baza.vcx" BaseClass="combobox" /> + + ADD OBJECT 'Lb_simplu1' AS _lbbase WITH ; + Caption = "Luna", ; + Left = 8, ; + Name = "Lb_simplu1", ; + TabIndex = 3, ; + Top = 7 + *< END OBJECT: ClassLib="_lb_base.vcx" BaseClass="label" /> + + PROCEDURE Init + this.cb2.rowsource = "1990" + FOR i = 1991 TO gnAn + 10 + this.cb2.rowsource = this.cb2.rowsource + "," + ALLTRIM(STR(i)) + ENDFOR + + this.cb1.Value=ALLTRIM(STR(gnLuna)) + this.cb2.Value=ALLTRIM(STR(gnAn)) + this.cb1.SetFocus() + ENDPROC + + PROCEDURE cb1.LostFocus + IF !empty(this.value) + lcLuna=ALLTRIM(this.Value) + lcAn=ALLTRIM(this.Parent.cb2.Value) + IF TYPE("DATE(VAL(lcAn),VAL(lcLuna),1)")!="D" + aMESSAGEBOX("Data invalida!",0+16,"Eroare") + RETURN 0 + ENDIF + ENDIF + ENDPROC + + PROCEDURE cb2.LostFocus + IF !empty(this.value) + lcLuna=ALLTRIM(this.Parent.cb1.Value) + lcAn=ALLTRIM(this.Value) + IF TYPE("DATE(VAL(lcAn),VAL(lcLuna),1)")!="D" + aMESSAGEBOX("Data invalida!",0+16,"Eroare") + RETURN 0 + ENDIF + ENDIF + ENDPROC + +ENDDEFINE + +DEFINE CLASS clb_luna_intre AS _container OF "_baza.vcx" + *< CLASSDATA: Baseclass="container" Timestamp="" Scale="Pixels" Uniqueid="" /> + + *-- OBJECTDATA items order determines ZOrder / El orden de los items OBJECTDATA determina el ZOrder + *< OBJECTDATA: ObjPath="tx_n1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="Lb_simplu1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="tx_n2" UniqueID="" Timestamp="" /> + + * + Height = 29 + Name = "clb_luna_intre" + Width = 290 + * + + ADD OBJECT 'Lb_simplu1' AS _lbbase WITH ; + Left = 8, ; + Name = "Lb_simplu1", ; + Top = 6 + *< END OBJECT: ClassLib="_lb_base.vcx" BaseClass="label" /> + + ADD OBJECT 'tx_n1' AS _txbase WITH ; + Alignment = 3, ; + Format = "RK", ; + Height = 23, ; + InputMask = "99/9999", ; + Left = 128, ; + Name = "tx_n1", ; + Top = 2, ; + Width = 76 + *< END OBJECT: ClassLib="_tx_base.vcx" BaseClass="textbox" /> + + ADD OBJECT 'tx_n2' AS _txbase WITH ; + Alignment = 3, ; + Format = "RK", ; + Height = 23, ; + InputMask = "99/9999", ; + Left = 208, ; + Name = "tx_n2", ; + Top = 2, ; + Width = 76 + *< END OBJECT: ClassLib="_tx_base.vcx" BaseClass="textbox" /> + + PROCEDURE tx_n1.Valid + IF !empty(this.value) + lcLuna=SUBSTR(ALLTRIM(this.Value),1,2) + lcAn=SUBSTR(ALLTRIM(this.Value),3) + IF TYPE("DATE(VAL(lcAn),VAL(lcLuna),1)")!="D" + aMESSAGEBOX("Data invalida!",0+16,"Eroare") + RETURN 0 + ENDIF + IF EMPTY(this.Parent.tx_n2.Value) + this.Parent.tx_n2.Value=this.value + this.Parent.tx_n2.Refresh + ENDIF + ENDIF + ENDPROC + + PROCEDURE tx_n2.Valid + IF !empty(this.value) + lcLuna=SUBSTR(ALLTRIM(this.Value),1,2) + lcAn=SUBSTR(ALLTRIM(this.Value),3) + IF TYPE("DATE(VAL(lcAn),VAL(lcLuna),1)")!="D" + aMESSAGEBOX("Data invalida!",0+16,"Eroare") + RETURN 0 + ENDIF + ELSE + IF !EMPTY(this.Parent.tx_n1.Value) + this.Value=this.Parent.tx_n1.Value + this.Refresh + ENDIF + ENDIF + ENDPROC + +ENDDEFINE + +DEFINE CLASS clb_n1n2_simplu AS _container OF "_baza.vcx" + *< CLASSDATA: Baseclass="container" Timestamp="" Scale="Pixels" Uniqueid="" /> + + *-- OBJECTDATA items order determines ZOrder / El orden de los items OBJECTDATA determina el ZOrder + *< OBJECTDATA: ObjPath="tx_n1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="Lb_simplu1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="tx_n2" UniqueID="" Timestamp="" /> + + * + BackStyle = 0 + Height = 29 + Name = "clb_n1n2_simplu" + Width = 290 + * + + ADD OBJECT 'Lb_simplu1' AS _lbbase WITH ; + Left = 8, ; + Name = "Lb_simplu1", ; + Top = 6 + *< END OBJECT: ClassLib="_lb_base.vcx" BaseClass="label" /> + + ADD OBJECT 'tx_n1' AS _txbase WITH ; + Alignment = 3, ; + Format = "RK", ; + Height = 23, ; + Left = 130, ; + Name = "tx_n1", ; + Top = 2, ; + Width = 76 + *< END OBJECT: ClassLib="_tx_base.vcx" BaseClass="textbox" /> + + ADD OBJECT 'tx_n2' AS _txbase WITH ; + Alignment = 3, ; + Format = "RK", ; + Height = 23, ; + Left = 210, ; + Name = "tx_n2", ; + Top = 2, ; + Width = 76 + *< END OBJECT: ClassLib="_tx_base.vcx" BaseClass="textbox" /> + + PROCEDURE tx_n1.Valid + this.Parent.tx_n2.value=this.value + this.Parent.tx_n2.Refresh + ENDPROC + + PROCEDURE tx_n2.Valid + IF empty(this.value) + IF !EMPTY(this.Parent.tx_n1.Value) + this.Value=this.Parent.tx_n1.Value + this.Refresh + ENDIF + ENDIF + ENDPROC + +ENDDEFINE + +DEFINE CLASS clb_nr_intre AS _container OF "_baza.vcx" + *< CLASSDATA: Baseclass="container" Timestamp="" Scale="Pixels" Uniqueid="" /> + + *-- OBJECTDATA items order determines ZOrder / El orden de los items OBJECTDATA determina el ZOrder + *< OBJECTDATA: ObjPath="tx_n1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="Lb_simplu1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="tx_n2" UniqueID="" Timestamp="" /> + + #INCLUDE "..\..\program files\microsoft visual foxpro 8\foxpro.h" + * + BorderWidth = 1 + Height = 29 + Name = "clb_nr_intre" + Width = 290 + * + + ADD OBJECT 'Lb_simplu1' AS _lbbase WITH ; + Left = 8, ; + Name = "Lb_simplu1", ; + Top = 6 + *< END OBJECT: ClassLib="_lb_base.vcx" BaseClass="label" /> + + ADD OBJECT 'tx_n1' AS _txbase WITH ; + Alignment = 3, ; + Format = "RK", ; + Height = 23, ; + InputMask = "999 999 999", ; + Left = 128, ; + Name = "tx_n1", ; + Top = 2, ; + Value = 0, ; + Width = 76 + *< END OBJECT: ClassLib="_tx_base.vcx" BaseClass="textbox" /> + + ADD OBJECT 'tx_n2' AS _txbase WITH ; + Alignment = 3, ; + Format = "RK", ; + Height = 23, ; + InputMask = "999 999 999", ; + Left = 208, ; + Name = "tx_n2", ; + Top = 2, ; + Value = 0, ; + Width = 76 + *< END OBJECT: ClassLib="_tx_base.vcx" BaseClass="textbox" /> + + PROCEDURE tx_n1.Valid + IF EMPTY(this.Parent.tx_n2.value) + this.Parent.tx_n2.value=this.value + ENDIF + this.Parent.tx_n2.Refresh + ENDPROC + + PROCEDURE tx_n2.Valid + IF empty(this.value) + IF !EMPTY(this.Parent.tx_n1.Value) + this.Value=this.Parent.tx_n1.Value + this.Refresh + ENDIF + ENDIF + ENDPROC + +ENDDEFINE + +DEFINE CLASS clb_tx_data AS _container OF "_baza.vcx" + *< CLASSDATA: Baseclass="container" Timestamp="" Scale="Pixels" Uniqueid="" /> + + *-- OBJECTDATA items order determines ZOrder / El orden de los items OBJECTDATA determina el ZOrder + *< OBJECTDATA: ObjPath="Text_simplu1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="Lb_simplu1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="Cmd_buton1" UniqueID="" Timestamp="" /> + + * + *m: dezactiveaza + *m: do_alege_data + *m: reactiveaza + *m: value_access + *m: value_assign + *p: opopup + *p: pcobj + *p: value && Specifies the current state of a control. + * + + * + BackStyle = 0 + Height = 29 + Name = "clb_tx_data" + opopup = + pcobj = + value = + Width = 290 + * + + ADD OBJECT 'Cmd_buton1' AS cmd_buton WITH ; + caction = do_alege_data, ; + cpicturedown = calendar.png, ; + cpictureup = calendar.png, ; + Height = 25, ; + Left = 256, ; + Name = "Cmd_buton1", ; + Picture = ..\grafice\calendar.png, ; + PicturePosition = 14, ; + TabStop = .F., ; + Top = 2, ; + Width = 31 + *< END OBJECT: ClassLib="_cmd_base.vcx" BaseClass="commandbutton" /> + + ADD OBJECT 'Lb_simplu1' AS _lbbase WITH ; + Left = 8, ; + Name = "Lb_simplu1", ; + Top = 6 + *< END OBJECT: ClassLib="_lb_base.vcx" BaseClass="label" /> + + ADD OBJECT 'Text_simplu1' AS _txbase WITH ; + Alignment = 3, ; + Format = "!K", ; + Height = 23, ; + Left = 168, ; + Name = "Text_simplu1", ; + Top = 3, ; + Value = {}, ; + Width = 84 + *< END OBJECT: ClassLib="_tx_base.vcx" BaseClass="textbox" /> + + PROCEDURE dezactiveaza + This.text_simplu1.ReadOnly = .T. + This.text_simplu1.TabStop =.F. + This.cmd_buton1.Enabled = .F. + ENDPROC + + PROCEDURE do_alege_data + This.oPopup = Createobject("_calpopup", This, Thisform) + If !Isnull(This.oPopup) + This.oPopup.ShowForm(Objtoclient(This.Text_simplu1, 2), Objtoclient(This.Text_simplu1,1) + This.Text_simplu1.Height - 1) + Endif + ENDPROC + + PROCEDURE reactiveaza + This.text_simplu1.ReadOnly = .F. + This.text_simplu1.TabStop =.T. + This.cmd_buton1.Enabled = .T. + ENDPROC + + PROCEDURE value_access + RETURN This.text_simplu1.Value + ENDPROC + + PROCEDURE value_assign + LPARAMETERS tdDataNoua + This.Text_simplu1.Value = m.tdDataNoua + ENDPROC + +ENDDEFINE + +DEFINE CLASS clb_tx_simplu AS _container OF "_baza.vcx" + *< CLASSDATA: Baseclass="container" Timestamp="" Scale="Pixels" Uniqueid="" /> + + *-- OBJECTDATA items order determines ZOrder / El orden de los items OBJECTDATA determina el ZOrder + *< OBJECTDATA: ObjPath="Text_simplu1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="Lb_simplu1" UniqueID="" Timestamp="" /> + + * + *p: pcobj + * + + * + BackStyle = 0 + Height = 29 + Name = "clb_tx_simplu" + pcobj = + Width = 290 + * + + ADD OBJECT 'Lb_simplu1' AS _lbbase WITH ; + Left = 8, ; + Name = "Lb_simplu1", ; + Top = 6 + *< END OBJECT: ClassLib="_lb_base.vcx" BaseClass="label" /> + + ADD OBJECT 'Text_simplu1' AS _txbase WITH ; + Format = "!K", ; + Height = 23, ; + Left = 101, ; + Name = "Text_simplu1", ; + Top = 3, ; + Width = 184 + *< END OBJECT: ClassLib="_tx_base.vcx" BaseClass="textbox" /> + +ENDDEFINE + +DEFINE CLASS ct_cb_tx AS _container OF "_baza.vcx" + *< CLASSDATA: Baseclass="container" Timestamp="" Scale="Pixels" Uniqueid="" /> + + *-- OBJECTDATA items order determines ZOrder / El orden de los items OBJECTDATA determina el ZOrder + *< OBJECTDATA: ObjPath="_cbbase1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="lb_explicatie" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="Text_simplu1" UniqueID="" Timestamp="" /> + + #INCLUDE "..\..\program files\microsoft visual foxpro 8\foxpro.h" + * + *m: do_activeaza + *m: do_actualizeaza_valori + *m: do_apeleaza + *m: do_dezactiveaza + *m: do_schimba_explicatie + *p: ccrs_col && Pentru RowSourceType = 6 + *p: ccrs_col_id && Coloana care contine id-ul ce va fi memorat in variabila de la cvar_id. + *p: ccursor + *p: clista_parametri + *p: clista_valori && Pentru RowSourceType = 2 + *p: cprocedura && Procedura care se apeleaza pe InteractiveChange de la combo. + *p: cvar_afisata && Control source-ul pentru textfield si combo. + *p: cvar_id && Numele variabilei in care se va copia id-ul. + *p: lactiv + *p: ntip && 1 > Fields (ccursor) ; 2 > Value (clista_valori) + *p: _memberdata && XML Metadata for customizable properties + * + + * + BackStyle = 0 + ccrs_col = + ccrs_col_id = + ccursor = + clista_parametri = + clista_valori = + cprocedura = + cvar_afisata = + cvar_id = + Height = 29 + lactiv = .T. + Name = "ct_cb_tx" + ntip = 1 + Width = 290 + _memberdata = + + + + + + + + + + + + + * + + ADD OBJECT '_cbbase1' AS _cbbase WITH ; + Anchor = 10, ; + Height = 23, ; + Left = 101, ; + Name = "_cbbase1", ; + Top = 3, ; + Visible = .F., ; + Width = 184 + *< END OBJECT: ClassLib="_cb_base.vcx" BaseClass="combobox" /> + + ADD OBJECT 'lb_explicatie' AS _lbbase WITH ; + Left = 8, ; + Name = "lb_explicatie", ; + Top = 6 + *< END OBJECT: ClassLib="_lb_base.vcx" BaseClass="label" /> + + ADD OBJECT 'Text_simplu1' AS _txbase WITH ; + Anchor = 10, ; + Format = "!K", ; + Height = 23, ; + Left = 101, ; + Name = "Text_simplu1", ; + ReadOnly = .T., ; + Top = 3, ; + Width = 184 + *< END OBJECT: ClassLib="_tx_base.vcx" BaseClass="textbox" /> + + PROCEDURE do_activeaza + This.lactiv = .T. + This.teXT_SIMPLU1.Visible = .F. + This._cbBASE1.Visible = .T. + ENDPROC + + PROCEDURE do_actualizeaza_valori + If This.ntip = 1 + Select (This.ccursor) + If !Empty(This.ccrs_col) And !Empty(This.cvar_afisata) + lcValoare = This.cvar_afisata + [ = ] + This.ccrs_col + &lcValoare + Endif + If !Empty(This.ccrs_col_id) And !Empty(This.cvar_id) + lcValoare = This.cvar_id + [ = ] + This.ccrs_col_id + &lcValoare + Endif + Endif + This.do_apeleaza() + ENDPROC + + PROCEDURE do_apeleaza + Local lcListaParametri, lcApelProcedura + lcListaParametri = Iif(Type('This.clista_parametri')='N',Alltrim(Str(This.clista_parametri)),Alltrim(This.clista_parametri)) + lcApelProcedura = This.cprocedura + Iif(!Empty(lcListaParametri),[(]+lcListaParametri+[)],[]) + If !Empty(lcApelProcedura) + &lcApelProcedura + Endif + ENDPROC + + PROCEDURE do_dezactiveaza + This.lactiv = .F. + This.teXT_SIMPLU1.Visible = .T. + This._cbBASE1.Visible = .F. + ENDPROC + + PROCEDURE do_schimba_explicatie + Lparameters tcExplicatie + This.lb_explicatie.Caption = Alltrim(tcExplicatie) + ENDPROC + + PROCEDURE Init + Lparameters tnMarime + Local lnMarime + *!* -1 - dimensiunile setate de utilizator + *!* 0 - + *!* 1 - + If Empty(tnMarime) + lnMarime = -1 + Else + lnMarime = tnMarime + Endif + Do Case + Case lnMarime = 0 + This.Width = 324 + This.Refresh() + Case lnMarime = 1 + This.Width = 354 + This.Refresh() + Endcase + Do Case + Case This.ntip = 1 + This._CBBASE1.RowSource = This.ccursor + [.] + This.ccrs_col + [,] + This.ccrs_col_id + This._CBBASE1.RowSourceType = 6 + This._CBBASE1.ControlSource = This.cvar_afisata + This.texT_SIMPLU1.ControlSource = This.cvar_afisata + Case This.ntip = 2 + This._CBBASE1.RowSource = This.clista_valori + This._CBBASE1.RowSourceType = 1 + This._CBBASE1.BoundColumn = 2 + This._CBBASE1.BoundTo = .T. + This._CBBASE1.ColumnCount = 2 + This._CBBASE1.ColumnLines = .F. + This._CBBASE1.ColumnWidths = ALLTRIM(STR(MAX(20,This._CBBASE1.Width)))+[,0] + This._CBBASE1.ControlSource = This.cvar_afisata + This.texT_SIMPLU1.ControlSource = [This.Parent._CBBASE1.DisplayValue] + ENDCASE + + ENDPROC + + PROCEDURE Refresh + This.texT_SIMPLU1.Refresh() + This._cBBASE1.Refresh() + DoDefault() + + ENDPROC + + PROCEDURE _cbbase1.InteractiveChange + This.Parent.do_actualizeaza_valori() + ENDPROC + +ENDDEFINE + +DEFINE CLASS ed_tx_simplu AS _container OF "_baza.vcx" + *< CLASSDATA: Baseclass="container" Timestamp="" Scale="Pixels" Uniqueid="" /> + + *-- OBJECTDATA items order determines ZOrder / El orden de los items OBJECTDATA determina el ZOrder + *< OBJECTDATA: ObjPath="_edbase1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="_lbbase1" UniqueID="" Timestamp="" /> + + #INCLUDE "..\..\program files\microsoft visual foxpro 8\foxpro.h" + * + BackStyle = 0 + BorderWidth = 1 + Height = 58 + Name = "ed_tx_simplu" + Width = 314 + * + + ADD OBJECT '_edbase1' AS _edbase WITH ; + Left = 68, ; + Name = "_edbase1", ; + TabIndex = 1, ; + Top = 2 + *< END OBJECT: ClassLib="_ed_base.vcx" BaseClass="editbox" /> + + ADD OBJECT '_lbbase1' AS _lbbase WITH ; + Left = 8, ; + Name = "_lbbase1", ; + TabIndex = 2, ; + Top = 6 + *< END OBJECT: ClassLib="_lb_base.vcx" BaseClass="label" /> + + PROCEDURE _edbase1.InteractiveChange + Local lnSelStart + If '!' $ This.Format + lnSelStart = This.SelStart + This.Value = Upper(This.Value) + This.SelStart = lnSelStart + Endif + ENDPROC + +ENDDEFINE + +DEFINE CLASS op_tx_simplu AS _container OF "_baza.vcx" + *< CLASSDATA: Baseclass="container" Timestamp="" Scale="Pixels" Uniqueid="" /> + + *-- OBJECTDATA items order determines ZOrder / El orden de los items OBJECTDATA determina el ZOrder + *< OBJECTDATA: ObjPath="Lb_simplu1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="_optiongrup1" UniqueID="" Timestamp="" /> + + * + Height = 51 + Name = "op_tx_simplu" + Width = 207 + * + + ADD OBJECT '_optiongrup1' AS _optiongrup WITH ; + Left = 132, ; + Name = "_optiongrup1", ; + Top = 4, ; + Option1.Left = 5, ; + Option1.Name = "Option1", ; + Option1.Top = 5, ; + Option2.Left = 5, ; + Option2.Name = "Option2", ; + Option2.Top = 24 + *< END OBJECT: ClassLib="_baza.vcx" BaseClass="optiongroup" /> + + ADD OBJECT 'Lb_simplu1' AS lb_simplu WITH ; + Left = 8, ; + Name = "Lb_simplu1", ; + Top = 16 + *< END OBJECT: ClassLib="lb.vcx" BaseClass="label" /> + +ENDDEFINE diff --git a/clase/locale.vc2 b/clase/locale.vc2 new file mode 100644 index 0000000..fc3b3a5 --- /dev/null +++ b/clase/locale.vc2 @@ -0,0 +1,4077 @@ +*-------------------------------------------------------------------------------------------------------------------------------------------------------- +* (EN) AUTOGENERATED - ATTENTION!! - NOT INTENDED FOR EXECUTION!! USE ONLY FOR MERGING CHANGES AND STORING WITH SCM TOOLS!! +*-------------------------------------------------------------------------------------------------------------------------------------------------------- +*< FOXBIN2PRG: Version="1.21" SourceFile="locale.vcx" CPID="1252" /> (Solo para binarios VFP 9 / Only for VFP 9 binaries) +* +* +DEFINE CLASS admin AS form + *< CLASSDATA: Baseclass="form" Timestamp="" Scale="Pixels" Uniqueid="" /> + + *-- OBJECTDATA items order determines ZOrder / El orden de los items OBJECTDATA determina el ZOrder + *< OBJECTDATA: ObjPath="pf" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="pf.pgPhrase.cboSrc" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="pf.pgPhrase.Label1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="pf.pgPhrase.Label2" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="pf.pgPhrase.Line1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="pf.pgPhrase.cboDst" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="pf.pgPhrase.Label3" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="pf.pgPhrase.Label4" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="pf.pgPhrase.edtSrc" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="pf.pgPhrase.edtDst" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="pf.pgPhrase.lstPhrase" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="pf.pgPhrase.Label5" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="pf.pgPhrase.cmdUpdateAll" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="pf.pgPhrase.txtNotes" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="pf.pgPhrase.lblNotes" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="pf.pgSite.lstSites" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="pf.pgSite.txtName" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="pf.pgSite.lblName" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="pf.pgSite.txtUrl" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="pf.pgSite.lblUrl" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="pf.pgSite.edtMarkers" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="pf.pgSite.lblMarkers" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="pf.pgSite.txtNotes" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="pf.pgSite.lblNotes" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="pf.pgSite.edtPage" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="pf.pgSite.lblPage" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="pf.pgSite.txtTimeout" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="pf.pgSite.lblTimeout" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="pf.pgSite.txtAttempt" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="pf.pgSite.lblAttempt" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="pf.pgSite.txtExclude" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="pf.pgSite.lblExclude" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="pf.pgSite.txtHits" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="pf.pgSite.lblHits" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="pf.pgSite.txtDuration" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="pf.pgSite.lblDuration" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="pf.pgSite.cmdSave" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="pf.pgSite.cmdLang" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="cmdClose" UniqueID="" Timestamp="" /> + + * + *m: getphrases + *p: olocale + * + + * + AlwaysOnTop = .T. + AutoCenter = .T. + BorderStyle = 2 + Caption = "Locale Administration" + DataSession = 2 + DoCreate = .T. + Height = 400 + MaxButton = .F. + MinButton = .F. + Name = "admin" + Width = 500 + WindowType = 1 + * + + ADD OBJECT 'cmdClose' AS commandbutton WITH ; + Cancel = .T., ; + Caption = "\ + + ADD OBJECT 'pf' AS pageframe WITH ; + ErasePage = .T., ; + Height = 360, ; + Left = 0, ; + Name = "pf", ; + PageCount = 2, ; + TabIndex = 2, ; + Top = 0, ; + Width = 502, ; + Page1.Caption = "Phrases", ; + Page1.Name = "pgPhrase", ; + Page2.Caption = "Sites & Languages", ; + Page2.Name = "pgSite" + *< END OBJECT: BaseClass="pageframe" /> + + ADD OBJECT 'pf.pgPhrase.cboDst' AS combobox WITH ; + Height = 24, ; + Left = 324, ; + Name = "cboDst", ; + TabIndex = 4, ; + Top = 165, ; + Width = 160 + *< END OBJECT: BaseClass="combobox" /> + + ADD OBJECT 'pf.pgPhrase.cboSrc' AS combobox WITH ; + Height = 24, ; + Left = 324, ; + Name = "cboSrc", ; + TabIndex = 8, ; + Top = 8, ; + Width = 160 + *< END OBJECT: BaseClass="combobox" /> + + ADD OBJECT 'pf.pgPhrase.cmdUpdateAll' AS commandbutton WITH ; + Caption = "\ + + ADD OBJECT 'pf.pgPhrase.edtDst' AS editbox WITH ; + Height = 54, ; + Left = 11, ; + Name = "edtDst", ; + TabIndex = 5, ; + Top = 206, ; + Width = 473 + *< END OBJECT: BaseClass="editbox" /> + + ADD OBJECT 'pf.pgPhrase.edtSrc' AS editbox WITH ; + DisabledBackColor = 235,235,235, ; + Height = 109, ; + Left = 170, ; + Name = "edtSrc", ; + ReadOnly = .T., ; + TabIndex = 2, ; + Top = 44, ; + Width = 314 + *< END OBJECT: BaseClass="editbox" /> + + ADD OBJECT 'pf.pgPhrase.Label1' AS label WITH ; + Alignment = 1, ; + BackStyle = 0, ; + Caption = "Source Language:", ; + Height = 17, ; + Left = 11, ; + Name = "Label1", ; + TabIndex = 9, ; + Top = 11, ; + Width = 308 + *< END OBJECT: BaseClass="label" /> + + ADD OBJECT 'pf.pgPhrase.Label2' AS label WITH ; + BackStyle = 0, ; + Caption = "Phrase", ; + Height = 17, ; + Left = 167, ; + Name = "Label2", ; + TabIndex = 10, ; + Top = 29, ; + Width = 192 + *< END OBJECT: BaseClass="label" /> + + ADD OBJECT 'pf.pgPhrase.Label3' AS label WITH ; + Alignment = 1, ; + BackStyle = 0, ; + Caption = "Destination Language:", ; + Height = 17, ; + Left = 95, ; + Name = "Label3", ; + TabIndex = 12, ; + Top = 168, ; + Width = 224 + *< END OBJECT: BaseClass="label" /> + + ADD OBJECT 'pf.pgPhrase.Label4' AS label WITH ; + BackStyle = 0, ; + Caption = "Phrase", ; + Height = 17, ; + Left = 11, ; + Name = "Label4", ; + TabIndex = 13, ; + Top = 191, ; + Width = 192 + *< END OBJECT: BaseClass="label" /> + + ADD OBJECT 'pf.pgPhrase.Label5' AS label WITH ; + BackStyle = 0, ; + Caption = "Phrases", ; + Height = 17, ; + Left = 11, ; + Name = "Label5", ; + TabIndex = 14, ; + Top = 29, ; + Width = 144 + *< END OBJECT: BaseClass="label" /> + + ADD OBJECT 'pf.pgPhrase.lblNotes' AS label WITH ; + Alignment = 1, ; + BackStyle = 0, ; + Caption = "Notes", ; + Height = 17, ; + Left = 11, ; + Name = "lblNotes", ; + TabIndex = 11, ; + Top = 262, ; + Width = 82, ; + WordWrap = .T. + *< END OBJECT: BaseClass="label" /> + + ADD OBJECT 'pf.pgPhrase.Line1' AS line WITH ; + Height = 0, ; + Left = 11, ; + Name = "Line1", ; + Top = 160, ; + Width = 473 + *< END OBJECT: BaseClass="line" /> + + ADD OBJECT 'pf.pgPhrase.lstPhrase' AS listbox WITH ; + Height = 109, ; + Left = 11, ; + Name = "lstPhrase", ; + TabIndex = 1, ; + Top = 44, ; + Width = 153 + *< END OBJECT: BaseClass="listbox" /> + + ADD OBJECT 'pf.pgPhrase.txtNotes' AS textbox WITH ; + Height = 23, ; + Left = 95, ; + Name = "txtNotes", ; + TabIndex = 6, ; + Top = 260, ; + Width = 389 + *< END OBJECT: BaseClass="textbox" /> + + ADD OBJECT 'pf.pgSite.cmdLang' AS commandbutton WITH ; + Caption = "\ + + ADD OBJECT 'pf.pgSite.cmdSave' AS commandbutton WITH ; + Caption = "\ + + ADD OBJECT 'pf.pgSite.edtMarkers' AS editbox WITH ; + Height = 108, ; + Left = 83, ; + Name = "edtMarkers", ; + TabIndex = 6, ; + Top = 176, ; + Width = 156 + *< END OBJECT: BaseClass="editbox" /> + + ADD OBJECT 'pf.pgSite.edtPage' AS editbox WITH ; + Height = 75, ; + Left = 83, ; + Name = "edtPage", ; + TabIndex = 5, ; + Top = 92, ; + Width = 408 + *< END OBJECT: BaseClass="editbox" /> + + ADD OBJECT 'pf.pgSite.lblAttempt' AS label WITH ; + Alignment = 1, ; + AutoSize = .F., ; + BackStyle = 0, ; + Caption = "Attempt", ; + Left = 257, ; + Name = "lblAttempt", ; + TabIndex = 20, ; + Top = 204, ; + Width = 75, ; + WordWrap = .T. + *< END OBJECT: BaseClass="label" /> + + ADD OBJECT 'pf.pgSite.lblDuration' AS label WITH ; + Alignment = 1, ; + AutoSize = .F., ; + BackStyle = 0, ; + Caption = "Duration", ; + Left = 381, ; + Name = "lblDuration", ; + TabIndex = 23, ; + Top = 204, ; + Width = 68, ; + WordWrap = .T. + *< END OBJECT: BaseClass="label" /> + + ADD OBJECT 'pf.pgSite.lblExclude' AS label WITH ; + Alignment = 1, ; + AutoSize = .F., ; + BackStyle = 0, ; + Caption = "Exclude", ; + Left = 257, ; + Name = "lblExclude", ; + TabIndex = 21, ; + Top = 228, ; + Width = 75, ; + WordWrap = .T. + *< END OBJECT: BaseClass="label" /> + + ADD OBJECT 'pf.pgSite.lblHits' AS label WITH ; + Alignment = 1, ; + AutoSize = .F., ; + BackStyle = 0, ; + Caption = "Hits", ; + Left = 381, ; + Name = "lblHits", ; + TabIndex = 22, ; + Top = 180, ; + Width = 68, ; + WordWrap = .T. + *< END OBJECT: BaseClass="label" /> + + ADD OBJECT 'pf.pgSite.lblMarkers' AS label WITH ; + Alignment = 1, ; + AutoSize = .F., ; + BackStyle = 0, ; + Caption = "Markers", ; + Left = 5, ; + Name = "lblMarkers", ; + TabIndex = 16, ; + Top = 176, ; + Width = 75, ; + WordWrap = .T. + *< END OBJECT: BaseClass="label" /> + + ADD OBJECT 'pf.pgSite.lblName' AS label WITH ; + Alignment = 1, ; + BackStyle = 0, ; + Caption = "Name", ; + Left = 173, ; + Name = "lblName", ; + TabIndex = 14, ; + Top = 12, ; + Width = 50, ; + WordWrap = .T. + *< END OBJECT: BaseClass="label" /> + + ADD OBJECT 'pf.pgSite.lblNotes' AS label WITH ; + Alignment = 1, ; + BackStyle = 0, ; + Caption = "Notes", ; + Left = 173, ; + Name = "lblNotes", ; + TabIndex = 17, ; + Top = 60, ; + Width = 50, ; + WordWrap = .T. + *< END OBJECT: BaseClass="label" /> + + ADD OBJECT 'pf.pgSite.lblPage' AS label WITH ; + Alignment = 1, ; + AutoSize = .F., ; + BackStyle = 0, ; + Caption = "Page", ; + Left = 5, ; + Name = "lblPage", ; + TabIndex = 18, ; + Top = 92, ; + Width = 75, ; + WordWrap = .T. + *< END OBJECT: BaseClass="label" /> + + ADD OBJECT 'pf.pgSite.lblTimeout' AS label WITH ; + Alignment = 1, ; + AutoSize = .F., ; + BackStyle = 0, ; + Caption = "Timeout", ; + Left = 257, ; + Name = "lblTimeout", ; + TabIndex = 19, ; + Top = 180, ; + Width = 75, ; + WordWrap = .T. + *< END OBJECT: BaseClass="label" /> + + ADD OBJECT 'pf.pgSite.lblUrl' AS label WITH ; + Alignment = 1, ; + BackStyle = 0, ; + Caption = "Url", ; + Left = 173, ; + Name = "lblUrl", ; + TabIndex = 15, ; + Top = 36, ; + Width = 50, ; + WordWrap = .T. + *< END OBJECT: BaseClass="label" /> + + ADD OBJECT 'pf.pgSite.lstSites' AS listbox WITH ; + Height = 72, ; + Left = 11, ; + Name = "lstSites", ; + TabIndex = 1, ; + Top = 8, ; + Width = 156 + *< END OBJECT: BaseClass="listbox" /> + + ADD OBJECT 'pf.pgSite.txtAttempt' AS textbox WITH ; + Height = 23, ; + Left = 335, ; + Name = "txtAttempt", ; + TabIndex = 8, ; + Top = 200, ; + Width = 39 + *< END OBJECT: BaseClass="textbox" /> + + ADD OBJECT 'pf.pgSite.txtDuration' AS textbox WITH ; + Height = 23, ; + Left = 450, ; + Name = "txtDuration", ; + TabIndex = 11, ; + Top = 200, ; + Width = 40 + *< END OBJECT: BaseClass="textbox" /> + + ADD OBJECT 'pf.pgSite.txtExclude' AS textbox WITH ; + Height = 23, ; + Left = 335, ; + Name = "txtExclude", ; + TabIndex = 9, ; + Top = 224, ; + Width = 39 + *< END OBJECT: BaseClass="textbox" /> + + ADD OBJECT 'pf.pgSite.txtHits' AS textbox WITH ; + Height = 23, ; + Left = 450, ; + Name = "txtHits", ; + TabIndex = 10, ; + Top = 176, ; + Width = 40 + *< END OBJECT: BaseClass="textbox" /> + + ADD OBJECT 'pf.pgSite.txtName' AS textbox WITH ; + Height = 23, ; + Left = 227, ; + MaxLength = 30, ; + Name = "txtName", ; + TabIndex = 2, ; + Top = 8, ; + Width = 219 + *< END OBJECT: BaseClass="textbox" /> + + ADD OBJECT 'pf.pgSite.txtNotes' AS textbox WITH ; + Height = 23, ; + Left = 227, ; + MaxLength = 250, ; + Name = "txtNotes", ; + TabIndex = 4, ; + Top = 56, ; + Width = 264 + *< END OBJECT: BaseClass="textbox" /> + + ADD OBJECT 'pf.pgSite.txtTimeout' AS textbox WITH ; + Height = 23, ; + Left = 335, ; + Name = "txtTimeout", ; + TabIndex = 7, ; + Top = 176, ; + Width = 39 + *< END OBJECT: BaseClass="textbox" /> + + ADD OBJECT 'pf.pgSite.txtUrl' AS textbox WITH ; + Height = 23, ; + Left = 227, ; + MaxLength = 100, ; + Name = "txtUrl", ; + TabIndex = 3, ; + Top = 32, ; + Width = 264 + *< END OBJECT: BaseClass="textbox" /> + + PROCEDURE Destroy + *------------------------------------------------------------ + * Description: + * Parameters: , , D=, + * Return: + * Use: + *------------------------------------------------------------ + * Id Date By Description + * 1 02/19/2004 Gregory L Reichert Initial Creation + *------------------------------------------------------------ + this.oLocale = .NULL. + ENDPROC + + PROCEDURE getphrases + ENDPROC + + PROCEDURE Init + *------------------------------------------------------------ + * Description: + * Parameters: , , D=, + * Return: + * Use: + *------------------------------------------------------------ + * Id Date By Description + * 1 02/19/2004 Gregory L Reichert Initial Creation + *------------------------------------------------------------ + + THISFORM.oLocale.setLocale( THISFORM ) + + + ENDPROC + + PROCEDURE Load + *------------------------------------------------------------ + * Description: + * Parameters: , , D=, + * Return: + * Use: + *------------------------------------------------------------ + * Id Date By Description + * 1 02/19/2004 Gregory L Reichert Initial Creation + *------------------------------------------------------------ + DO CASE + CASE TYPE("thisform.oLocale")="O" + this.oLocale = THISFORM.oLocale + CASE TYPE("oLocale")="O" + this.oLocale = m.oLocale + CASE TYPE("_screen.oLocale")="O" + this.oLocale = _SCREEN.oLocale + OTHERWISE + THISFORM.NewObject("oLocale","Locale","Locale.vcx") + this.oLocale = THISFORM.oLocale + ENDCASE + + RETURN + + ENDPROC + + PROCEDURE cmdClose.Click + *------------------------------------------------------------ + * Description: + * Parameters: , , D=, + * Return: + * Use: + *------------------------------------------------------------ + * Id Date By Description + * 1 02/19/2004 Gregory L Reichert Initial Creation + *------------------------------------------------------------ + RELEASE THISFORM + + ENDPROC + + PROCEDURE pf.pgPhrase.cboDst.Error + *------------------------------------------------------------ + * Description: + * Parameters: , , D=, + * Return: + * Use: + *------------------------------------------------------------ + * Id Date By Description + * 1 02/19/2004 Gregory L Reichert Initial Creation + *------------------------------------------------------------ + LPARAMETERS nError, cMethod, nLine + RETURN + + ENDPROC + + PROCEDURE pf.pgPhrase.cboDst.Init + *------------------------------------------------------------ + * Description: + * Parameters: , , D=, + * Return: + * Use: + *------------------------------------------------------------ + * Id Date By Description + * 1 02/19/2004 Gregory L Reichert Initial Creation + *------------------------------------------------------------ + + + THISFORM.oLocale.SQlexec( "select distinct language from locale order by 1 ","qDst", THISFORM.DataSessionId ) + this.RowSourceType = 2 + this.RowSource = 'qDst' + GOTO Top IN qDst + this.DisplayValue = qDst.language + + ENDPROC + + PROCEDURE pf.pgPhrase.cboDst.InteractiveChange + *------------------------------------------------------------ + * Description: + * Parameters: , , D=, + * Return: + * Use: + *------------------------------------------------------------ + * Id Date By Description + * 1 02/19/2004 Gregory L Reichert Initial Creation + *------------------------------------------------------------ + + + THISFORM.oLocale.SQlexec( "SELECT Phrase, Notes FROM locale WHERE TRIM(LANGUAGE)='"+ALLTRIM(this.VALUE) +"' AND ID="+TRANSFORM(qSrcPhrase.ID) ,"qDstPhrase", THISFORM.DataSessionId ) + + this.parent.edtDst.VALUE = qDstPhrase.Phrase + this.parent.txtNotes.VALUE = qDstPhrase.Notes + + ENDPROC + + PROCEDURE pf.pgPhrase.cboDst.ProgrammaticChange + *------------------------------------------------------------ + * Description: + * Parameters: , , D=, + * Return: + * Use: + *------------------------------------------------------------ + * Id Date By Description + * 1 02/19/2004 Gregory L Reichert Initial Creation + *------------------------------------------------------------ + this.InteractiveChange + ENDPROC + + PROCEDURE pf.pgPhrase.cboSrc.Error + *------------------------------------------------------------ + * Description: + * Parameters: , , D=, + * Return: + * Use: + *------------------------------------------------------------ + * Id Date By Description + * 1 02/19/2004 Gregory L Reichert Initial Creation + *------------------------------------------------------------ + LPARAMETERS nError, cMethod, nLine + RETURN + + ENDPROC + + PROCEDURE pf.pgPhrase.cboSrc.Init + *------------------------------------------------------------ + * Description: + * Parameters: , , D=, + * Return: + * Use: + *------------------------------------------------------------ + * Id Date By Description + * 1 02/19/2004 Gregory L Reichert Initial Creation + *------------------------------------------------------------ + + + THISFORM.oLocale.SQlexec( "select distinct language from locale order by 1 ","qSrc", THISFORM.DataSessionId ) + this.RowSourceType = 2 + this.RowSource = 'qSrc' + GOTO Top IN qSrc + this.DisplayValue = qSrc.language + + ENDPROC + + PROCEDURE pf.pgPhrase.cboSrc.InteractiveChange + *------------------------------------------------------------ + * Description: + * Parameters: , , D=, + * Return: + * Use: + *------------------------------------------------------------ + * Id Date By Description + * 1 02/19/2004 Gregory L Reichert Initial Creation + *------------------------------------------------------------ + THISFORM.oLocale.SQlexec( "SELECT left(Phrase,100) AS phrase2, ID, Phrase FROM locale WHERE TRIM(LANGUAGE)='"+ALLTRIM(this.VALUE) +"' ORDER BY phrase2 ","qSrcPhrase", THISFORM.DataSessionId ) + + this.parent.lstPhrase.Init + + + ENDPROC + + PROCEDURE pf.pgPhrase.cboSrc.ProgrammaticChange + *------------------------------------------------------------ + * Description: + * Parameters: , , D=, + * Return: + * Use: + *------------------------------------------------------------ + * Id Date By Description + * 1 02/19/2004 Gregory L Reichert Initial Creation + *------------------------------------------------------------ + + this.InteractiveChange + + ENDPROC + + PROCEDURE pf.pgPhrase.cmdUpdateAll.Click + *------------------------------------------------------------ + * Description: + * Parameters: , , D=, + * Return: + * Use: + *------------------------------------------------------------ + * Id Date By Description + * 1 02/19/2004 Gregory L Reichert Initial Creation + *------------------------------------------------------------ + + THISFORM.oLocale.ConvertAll( .T., .T. ) + + RETURN + + + + ENDPROC + + PROCEDURE pf.pgPhrase.edtDst.LostFocus + *------------------------------------------------------------ + * Description: + * Parameters: , , D=, + * Return: + * Use: + *------------------------------------------------------------ + * Id Date By Description + * 1 02/19/2004 Gregory L Reichert Initial Creation + *------------------------------------------------------------ + + THISFORM.oLocale.SQlexec(" Select ID from Locale WHERE TRIM(LANGUAGE)='"+ALLTRIM(this.parent.cboDst.DisplayValue) +"' AND ID=" + TRANSFORM(qSrcPhrase.ID ), "qtemp", THISFORM.DataSessionId ) + IF NOT EOF("qtemp") + THISFORM.oLocale.SQlexec(" UPDATE Locale SET Phrase='"+this.VALUE+"', Notes='"+this.parent.txtNotes.VALUE+"' WHERE TRIM(LANGUAGE)='"+ALLTRIM(this.parent.cboDst.DisplayValue) +"' AND ID=" + TRANSFORM(qSrcPhrase.ID ), , THISFORM.DataSessionId ) + ELSE + THISFORM.oLocale.SQlexec(" Insert into Locale (ID,Language, Phrase,Notes) value ("+TRANSFORM(qSrcPhrase.ID)+",'"+ALLTRIM(this.parent.cboDst.DisplayValue) +"','"+this.VALUE+"','"+this.parent.txtNotes.VALUE+"')",, THISFORM.DataSessionId ) + ENDIF + + + ENDPROC + + PROCEDURE pf.pgPhrase.edtSrc.Init + *------------------------------------------------------------ + * Description: + * Parameters: , , D=, + * Return: + * Use: + *------------------------------------------------------------ + * Id Date By Description + * 1 02/19/2004 Gregory L Reichert Initial Creation + *------------------------------------------------------------ + + GOTO Top IN qSrcPhrase + this.VALUE = qSrcPhrase.Phrase + + + ENDPROC + + PROCEDURE pf.pgPhrase.Init + *------------------------------------------------------------ + * Description: + * Parameters: , , D=, + * Return: + * Use: + *------------------------------------------------------------ + * Id Date By Description + * 1 02/19/2004 Gregory L Reichert Initial Creation + *------------------------------------------------------------ + + this.cboSrc.DisplayValue = THISFORM.oLocale.BaseLang + this.cboDst.DisplayValue = THISFORM.oLocale.Locale + this.lstPhrase.ListIndex = 1 + + + ENDPROC + + PROCEDURE pf.pgPhrase.lstPhrase.Init + *------------------------------------------------------------ + * Description: + * Parameters: , , D=, + * Return: + * Use: + *------------------------------------------------------------ + * Id Date By Description + * 1 02/19/2004 Gregory L Reichert Initial Creation + *------------------------------------------------------------ + this.RowSourceType = 2 + this.RowSource = 'qSrcPhrase' + this.ColumnCount = 2 + this.ColumnWidths = '1000,0' + this.BoundTo = .T. + this.BoundColumn = 1 + + ENDPROC + + PROCEDURE pf.pgPhrase.lstPhrase.InteractiveChange + *------------------------------------------------------------ + * Description: + * Parameters: , , D=, + * Return: + * Use: + *------------------------------------------------------------ + * Id Date By Description + * 1 02/19/2004 Gregory L Reichert Initial Creation + *------------------------------------------------------------ + + this.parent.edtSrc.VALUE = qSrcPhrase.Phrase + this.parent.cboDst.InteractiveChange + + ENDPROC + + PROCEDURE pf.pgPhrase.lstPhrase.ProgrammaticChange + *------------------------------------------------------------ + * Description: + * Parameters: , , D=, + * Return: + * Use: + *------------------------------------------------------------ + * Id Date By Description + * 1 02/19/2004 Gregory L Reichert Initial Creation + *------------------------------------------------------------ + this.InteractiveChange + ENDPROC + + PROCEDURE pf.pgPhrase.txtNotes.LostFocus + *------------------------------------------------------------ + * Description: + * Parameters: , , D=, + * Return: + * Use: + *------------------------------------------------------------ + * Id Date By Description + * 1 02/26/2004 Gregory L Reichert Initial Creation + *------------------------------------------------------------ + this.parent.edtDst.LostFocus + + ENDPROC + + PROCEDURE pf.pgSite.Activate + *------------------------------------------------------------ + * Description: + * Parameters: , , D=, + * Return: + * Use: + *------------------------------------------------------------ + * Id Date By Description + * 1 02/19/2004 Gregory L Reichert Initial Creation + *------------------------------------------------------------ + this.lstSites.ListIndex = 1 + this.lstSites.InteractiveChange + ENDPROC + + PROCEDURE pf.pgSite.cmdLang.Click + *------------------------------------------------------------ + * Description: + * Parameters: , , D=, + * Return: + * Use: + *------------------------------------------------------------ + * Id Date By Description + * 1 02/19/2004 Gregory L Reichert Initial Creation + *------------------------------------------------------------ + + LOCAL dbfLang + dbfLang = SYS(3) + + *-------------------------------------------- + * get copy of language for this site. + *-------------------------------------------- + THISFORM.oLocale.SQlexec( "Select * from Locale_Lang where Locale_lang.SiteID="+TRANSFORM(q_Sites.ID)+" order by name asc", "qLang1", THISFORM.DataSessionId ) + SELECT qLang1 + COPY TO (dbfLang) + USE (dbfLang) ALIAS qLang IN (SELECT("qLang")) + + *-------------------------------------------- + * Open Browse window to modify + *-------------------------------------------- + BROWSE Fields Name:20:H=oLocale.GetString("Name"), ; + Abbr:10:H=oLocale.GetString("Abbreviation"), ; + CP:10:H=oLocale.GetString("Code Page"), ; + Rule1:H=oLocale.GetString("Rule 1"), ; + Rule2:H=oLocale.GetString("Rule 2"), ; + Exclude:H=oLocale.GetString("Exclude") ; + TITLE oLocale.GetString("Locale - Languages for selected site.") + + *-------------------------------------------- + * Update original table. + *-------------------------------------------- + SELECT qLang + SCAN all + THISFORM.oLocale.SQlexec( "Update Locale_Lang "+; + "set Name='"+ALLTRIM(TRANSFORM(qLang.Name))+"',"+; + "Abbr='"+ALLTRIM(TRANSFORM(qLang.Abbr))+"',"+; + "CP="+ALLTRIM(TRANSFORM(qLang.CP))+","+; + "Rule1='"+ALLTRIM(TRANSFORM(qLang.Rule1))+"',"+; + "Rule2='"+ALLTRIM(TRANSFORM(qLang.Rule2))+"',"+; + "Exclude="+alltrim(TRANSFORM(qLang.Exclude))+" "+; + "where Id="+TRANSFORM(qLang.ID),, THISFORM.DataSessionId ) + ENDSCAN + + *-------------------------------------------- + * Close temporarty table, and erase + *-------------------------------------------- + USE IN qLang + ERASE (dbfLang) + + RETURN + + + + + ENDPROC + + PROCEDURE pf.pgSite.cmdSave.Click + *------------------------------------------------------------ + * Description: + * Parameters: , , D=, + * Return: + * Use: + *------------------------------------------------------------ + * Id Date By Description + * 1 02/19/2004 Gregory L Reichert Initial Creation + *------------------------------------------------------------ + + THISFORM.oLocale.SQlexec("Update Locale_Source Set "+; + "Name='"+TRANSFORM(this.parent.txtName.VALUE)+"',"+; + "url='"+TRANSFORM(this.parent.txturl.VALUE)+"',"+; + "Markers='"+TRANSFORM(this.parent.edtMarkers.VALUE)+"',"+; + "Page='"+TRANSFORM(this.parent.edtPage.VALUE)+"',"+; + "Notes='"+TRANSFORM(this.parent.txtNotes.VALUE)+"',"+; + "Timeout="+TRANSFORM(this.parent.txtTImeout.VALUE)+","+; + "Attempt="+TRANSFORM(this.parent.txtAttempt.VALUE)+","+; + "Exclude="+TRANSFORM(this.parent.txtExclude.VALUE)+","+; + "Hits="+TRANSFORM(this.parent.txtHits.VALUE)+","+; + "Duration="+TRANSFORM(this.parent.txtDuration.VALUE)+" "+; + "where ID="+TRANSFORM(q_Sites.ID),, THISFORM.DataSessionId ) + + this.parent.cmdSave.Enabled = .F. + + RETURN + + + + + ENDPROC + + PROCEDURE pf.pgSite.edtMarkers.InteractiveChange + *------------------------------------------------------------ + * Description: + * Parameters: , , D=, + * Return: + * Use: + *------------------------------------------------------------ + * Id Date By Description + * 1 02/26/2004 Gregory L Reichert Initial Creation + *------------------------------------------------------------ + this.parent.cmdSave.Enabled = .T. + + ENDPROC + + PROCEDURE pf.pgSite.edtPage.InteractiveChange + *------------------------------------------------------------ + * Description: + * Parameters: , , D=, + * Return: + * Use: + *------------------------------------------------------------ + * Id Date By Description + * 1 02/26/2004 Gregory L Reichert Initial Creation + *------------------------------------------------------------ + this.parent.cmdSave.Enabled = .T. + + ENDPROC + + PROCEDURE pf.pgSite.lstSites.Init + *------------------------------------------------------------ + * Description: + * Parameters: , , D=, + * Return: + * Use: + *------------------------------------------------------------ + * Id Date By Description + * 1 02/19/2004 Gregory L Reichert Initial Creation + *------------------------------------------------------------ + THISFORM.oLocale.SQlexec( "Select Name, id from Locale_Source order by Name","q_Sites", THISFORM.DataSessionId ) + this.RowSourceType = 2 + this.RowSource = 'q_Sites' + this.ColumnCount = 2 + this.ColumnWidths = '1000,0' + this.BoundTo = .T. + this.BoundColumn = 1 + + + ENDPROC + + PROCEDURE pf.pgSite.lstSites.InteractiveChange + *------------------------------------------------------------ + * Description: + * Parameters: , , D=, + * Return: + * Use: + *------------------------------------------------------------ + * Id Date By Description + * 1 02/19/2004 Gregory L Reichert Initial Creation + *------------------------------------------------------------ + + THISFORM.oLocale.SQlexec( "Select * from Locale_Source where ID="+TRANSFORM(q_Sites.ID), "q_Sites2", THISFORM.DataSessionId ) + this.parent.txtName.VALUE = q_sites2.Name + this.parent.txturl.VALUE = q_sites2.url + this.parent.edtMarkers.VALUE = q_sites2.Markers + this.parent.edtPage.VALUE = q_sites2.Page + this.parent.txtNotes.VALUE = q_sites2.Notes + this.parent.txtTImeout.VALUE = q_sites2.Timeout + this.parent.txtAttempt.VALUE = q_sites2.Attempt + this.parent.txtExclude.VALUE = q_sites2.Exclude + this.parent.txtHits.VALUE = q_sites2.Hits + this.parent.txtDuration.VALUE = q_sites2.Duration + + + + ENDPROC + + PROCEDURE pf.pgSite.txtAttempt.InteractiveChange + *------------------------------------------------------------ + * Description: + * Parameters: , , D=, + * Return: + * Use: + *------------------------------------------------------------ + * Id Date By Description + * 1 02/26/2004 Gregory L Reichert Initial Creation + *------------------------------------------------------------ + this.parent.cmdSave.Enabled = .T. + + ENDPROC + + PROCEDURE pf.pgSite.txtDuration.InteractiveChange + *------------------------------------------------------------ + * Description: + * Parameters: , , D=, + * Return: + * Use: + *------------------------------------------------------------ + * Id Date By Description + * 1 02/26/2004 Gregory L Reichert Initial Creation + *------------------------------------------------------------ + this.parent.cmdSave.Enabled = .T. + + ENDPROC + + PROCEDURE pf.pgSite.txtExclude.InteractiveChange + *------------------------------------------------------------ + * Description: + * Parameters: , , D=, + * Return: + * Use: + *------------------------------------------------------------ + * Id Date By Description + * 1 02/26/2004 Gregory L Reichert Initial Creation + *------------------------------------------------------------ + this.parent.cmdSave.Enabled = .T. + + ENDPROC + + PROCEDURE pf.pgSite.txtHits.InteractiveChange + *------------------------------------------------------------ + * Description: + * Parameters: , , D=, + * Return: + * Use: + *------------------------------------------------------------ + * Id Date By Description + * 1 02/26/2004 Gregory L Reichert Initial Creation + *------------------------------------------------------------ + this.parent.cmdSave.Enabled = .T. + + ENDPROC + + PROCEDURE pf.pgSite.txtName.InteractiveChange + *------------------------------------------------------------ + * Description: + * Parameters: , , D=, + * Return: + * Use: + *------------------------------------------------------------ + * Id Date By Description + * 1 02/26/2004 Gregory L Reichert Initial Creation + *------------------------------------------------------------ + this.parent.cmdSave.Enabled = .T. + + ENDPROC + + PROCEDURE pf.pgSite.txtNotes.InteractiveChange + *------------------------------------------------------------ + * Description: + * Parameters: , , D=, + * Return: + * Use: + *------------------------------------------------------------ + * Id Date By Description + * 1 02/26/2004 Gregory L Reichert Initial Creation + *------------------------------------------------------------ + this.parent.cmdSave.Enabled = .T. + + ENDPROC + + PROCEDURE pf.pgSite.txtTimeout.InteractiveChange + *------------------------------------------------------------ + * Description: + * Parameters: , , D=, + * Return: + * Use: + *------------------------------------------------------------ + * Id Date By Description + * 1 02/26/2004 Gregory L Reichert Initial Creation + *------------------------------------------------------------ + this.parent.cmdSave.Enabled = .T. + + ENDPROC + + PROCEDURE pf.pgSite.txtUrl.InteractiveChange + *------------------------------------------------------------ + * Description: + * Parameters: , , D=, + * Return: + * Use: + *------------------------------------------------------------ + * Id Date By Description + * 1 02/26/2004 Gregory L Reichert Initial Creation + *------------------------------------------------------------ + this.parent.cmdSave.Enabled = .T. + + ENDPROC + +ENDDEFINE + +DEFINE CLASS display AS container && Allow for interactive changing of Locale + *< CLASSDATA: Baseclass="container" Timestamp="" Scale="Pixels" Uniqueid="" /> + + *-- OBJECTDATA items order determines ZOrder / El orden de los items OBJECTDATA determina el ZOrder + *< OBJECTDATA: ObjPath="cmdUpdate" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="cboLocale" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="Label2" UniqueID="" Timestamp="" /> + + * + *p: cthisform && Override the references to public oLocale + *p: olocale + * + + * + BackStyle = 0 + BorderWidth = 0 + cthisform = + Height = 24 + Name = "display" + olocale = .NULL. + Width = 395 + * + + ADD OBJECT 'cboLocale' AS combobox WITH ; + Height = 24, ; + Left = 156, ; + Name = "cboLocale", ; + RowSource = "SELECT DISTINCT name from locale_lang ORDER BY name where not exclude into CURSOR qLang", ; + RowSourceType = 3, ; + StatusBarText = "Change languages for this form", ; + Style = 2, ; + ToolTipText = "Change languages for this form", ; + Top = 0, ; + Width = 100, ; + ZOrderSet = 28 + *< END OBJECT: BaseClass="combobox" /> + + ADD OBJECT 'cmdUpdate' AS commandbutton WITH ; + Caption = "Locale Options", ; + Height = 22, ; + Left = 264, ; + Name = "cmdUpdate", ; + StatusBarText = "Manage the languages and translated phrases.", ; + ToolTipText = "Regenerate all captions and tips", ; + Top = 1, ; + Width = 130 + *< END OBJECT: BaseClass="commandbutton" /> + + ADD OBJECT 'Label2' AS label WITH ; + Alignment = 1, ; + BackStyle = 0, ; + Caption = "Language:", ; + Height = 17, ; + Left = 0, ; + Name = "Label2", ; + ToolTipText = "Change language to change captions to that language.", ; + Top = 5, ; + Width = 153, ; + ZOrderSet = 29 + *< END OBJECT: BaseClass="label" /> + + PROCEDURE Destroy + *------------------------------------------------------------ + * Description: + * Parameters: , , D=, + * Return: + * Use: + *------------------------------------------------------------ + * Id Date By Description + * 1 02/16/2004 Gregory L Reichert Initial Creation + *------------------------------------------------------------ + USE IN (SELECT("qLang")) + this.oLocale = .NULL. + + + ENDPROC + + PROCEDURE Init + *------------------------------------------------------------ + * Description: + * Parameters: , , D=, + * Return: + * Use: + *------------------------------------------------------------ + * Id Date By Description + * 1 02/16/2004 Gregory L Reichert Initial Creation + *------------------------------------------------------------ + + DO CASE + *%% Gregory L Reichert 06/12/2004 DISPLAY.INIT : 600 : Added as a suggestion from Bhavbhuti + case (NOT EMPTY("THIS.cThisform")) AND TYPE(THIS.cThisform + ".oLocale")="O" + this.oLocale = evaluate( THIS.cThisNewProperty + ".oLocale" ) + + CASE TYPE("thisform.oLocale")="O" + this.oLocale = THISFORM.oLocale + CASE TYPE("m.oLocale")="O" + this.oLocale = m.oLocale + CASE TYPE("_screen.oLocale")="O" + this.oLocale = _SCREEN.oLocale + OTHERWISE + THISFORM.NewObject("oLocale","Locale","Locale.vcx") + this.oLocale = THISFORM.oLocale + ENDCASE + + this.cboLocale.ControlSource = "this.parent.oLocale.Locale" + this.cboLocale.BoundTo = .T. + + RETURN + + ENDPROC + + PROCEDURE cmdUpdate.Click + *------------------------------------------------------------ + * Description: Open the Administration Form + * Parameters: n/a + * Return: n/a + * Use: n/a + *------------------------------------------------------------ + * Id Date By Description + * 1 08/14/2003 Gregory L Reichert Initial Creation + *------------------------------------------------------------ + LOCAL oAdmin + oAdmin=NewObject("Admin","Locale.vcx") + oAdmin.Show + + *-------------------------------------------- + * upon return, bring the form forward + *-------------------------------------------- + LOCAL aot + aot = THISFORM.AlwaysOnTop + THISFORM.AlwaysOnTop =.T. + THISFORM.AlwaysOnTop = aot + this.SetFocus + + *-------------------------------------------- + * re-establish the translated phrases + *-------------------------------------------- + this.parent.oLocale.Locale = this.parent.oLocale.Locale + + + RETURN + + + + ENDPROC + +ENDDEFINE + +DEFINE CLASS locale AS container + *< CLASSDATA: Baseclass="container" Timestamp="" Scale="Pixels" Uniqueid="" /> + + * + *m: arraylookup && Search the aLocale array for a phrase + *m: callsite && Call a site and retreives the translated text + *m: captioncount && Count all possible text that can be trnaslated + *m: closepopup && Closes popup internet window. This sometimes occurs with access Dictionary.com + *m: convertall && Convert all Base phrases to all Languages + *m: dolabel && Translates and runs a Label + *m: doreport && Translated and runs a report, + *m: getstring && Translate a string from the BaseLang to a specific language + *m: getwindows + *m: loadarray && Loads the internal array with the current language translations. + *m: locale_assign + *m: ping && Test to see if Internet is available. + *m: registry && Get and Put to the Registry + *m: setlocale && Translates a object and child objects. + *m: setmenu && Runs and translates captions on menu. + *m: setup + *m: sqlexec && Executes SQL statement either locally or remotely. + *m: translate && Translate a phrase to a different language + *m: translate_property && Translates a single property of an object + *m: unescape && Remove HTML conversions + *p: baselang && Base source locale + *p: debug && If true, display debug information while translating. + *p: disable_images && Disables the images on the page. They are not downloaded for speed. + *p: fromregistry && if True, the current locale is store and retreived from the Registry. HKEY_CURRENT_USER\Software\Locale\Locale + *p: lastphrase && Last phrase translated, if the next phrase is the same, then LastTrasnlation is return instead of quering the Internet. + *p: lasttranslation && Last translated phrase + *p: lclosepopup && If true, any popup browser window that opens while translating is closed. + *p: llocale + *p: llsucces + *p: locale && Current Locale + *p: ltranslateactiveform + *p: nallsitesattempt && The number a times any single site is queried before giving up and moving to the next site. + *p: ncount && Number of words translated during this session. + *p: notranslation_attempt && If true, none of the site tested could produce a translation. + *p: online && if true, the internet is accessable. + *p: property_list && List of properties that need to be translated. + *p: quite && Pervents the WAIT window during translation. + *p: resetsites && Reset all sites to give each a equal change at trtanslating. + *p: searchinternet + *p: sqlconnect && SQL Connection Handle. default -1 + *p: sqlconnectionstring && Valid SQL Connection String. If blank, SQL statement are called as VFP. + *p: translate_color && The color the text assumes will translation is occuring. If -1, color does not change. + *p: usedchar && Used to Hot Key buttons. + *p: version && Class Vesion Number + *a: alocale[1,2] && Collection of language translations + *a: amenu[1,3] + *a: awindows[1,2] && List of openned OS Windows. + * + + HIDDEN ActiveControl,AddObject,AddProperty,BackColor,BackStyle,BorderColor,BorderWidth,Click,CloneObject,ColorSource,ControlCount,Controls,DblClick,Destroy,DragDrop,DragIcon,DragMode,DragOver,Drag,Draw,ForeColor,GotFocus,Height,HelpContextID,LostFocus,MiddleClick,MouseDown,MouseEnter,MouseIcon,MouseLeave,MouseMove,MousePointer,MouseUp,MouseWheel,Moved,Move,NewObject,Objects,OLECompleteDrag,OLEDragDrop,OLEDragMode,OLEDragOver,OLEDragPicture,OLEDrag,OLEDropEffects,OLEDropHasData,OLEDropMode,OLEGiveFeedback,OLESetData,OLEStartDrag,Picture,ReadExpression,ReadMethod,Refresh,RemoveObject,ResetToDefault,Resize,RightClick,SaveAsClass,SetAll,SetFocus,ShowWhatsThis,SpecialEffect,StatusBarText,Style,TabIndex,TabStop,Tag,ToolTipText,UIEnable,Visible,WhatsThisHelpID,Width,WriteExpression,WriteMethod,ZOrder + PROTECTED alocale,amenu,awindows,lastphrase,lasttranslation,Name,ncount,sqlconnect,usedchar,version + * + BackStyle = 0 + baselang = Romana + BorderColor = 255,0,255 + Comment = "8/18/2003" + debug = .F. + disable_images = .F. + Enabled = .T. + fromregistry = .T. + Height = 20 + lastphrase = + lasttranslation = + lclosepopup = .T. + llocale = .F. + llsucces = .F. + locale = English + ltranslateactiveform = .F. + nallsitesattempt = 1 + Name = "locale" + ncount = 0 + notranslation_attempt = .F. + online = .NULL. + property_list = Caption,ToolTipText,StatusBarText + quite = .F. + resetsites = .F. + searchinternet = .F. + sqlconnect = -1 + sqlconnectionstring = + TabStop = .F. + translate_color = (rgb(255,0,0)) + usedchar = ABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789 + version = 1.50.00299 + Width = 20 + * + + PROTECTED PROCEDURE arraylookup && Search the aLocale array for a phrase + *------------------------------------------------------------ + * Description: Locate phrase in translated array. + * Parameters: + * Return: + * Use: + *------------------------------------------------------------ + * Id Date By Description + * 1 02/28/2004 Gregory L Reichert Initial Creation + *------------------------------------------------------------ + LPARAMETERS tcPhrase, tnColumn + + LOCAL x, i + + *-------------------------------------------- + * if array is empty, attempt to load it. + *-------------------------------------------- + IF EMPTY(THIS.aLocale[1,1]) + THIS.LoadArray() + ENDIF + + *-------------------------------------------- + * Lookup phrase + *-------------------------------------------- + #IF VERSION(5)>=700 + x = ASCAN(THIS.aLocale,tcPhrase,1,ALEN(THIS.aLocale,1),tnColumn,1+2+4+8) + #ELSE + x = 0 + FOR i=1 TO ALEN(THIS.aLocale,1) + IF tcPhrase==THIS.aLocale[i,tnColumn] + x=i + EXIT + ENDIF + NEXT + #ENDIF + RETURN x + + ENDPROC + + PROCEDURE callsite && Call a site and retreives the translated text + *------------------------------------------------------------ + * Description: Generatces and calles Googles translate page. + * Parameters: tcPhrase, req, Def=, Phrase to be translated. + * Return: String: Translated phrase, or original if not able to translated. + * Use: internal + *------------------------------------------------------------ + * Id Date By Description + * 1 08/18/2003 Gregory L Reichert Initial Creation + *------------------------------------------------------------ + + LPARAMETERS tcPhrase + + *-------------------------------------------- + * if object diabled, return original phrase + *-------------------------------------------- + IF THIS.ENABLED= .F. + RETURN tcStr + ENDIF + + *-------------------------------------------- + * if not online, do nothing (suggested by: Bhavbhuti Nathwani ) + *-------------------------------------------- + IF ISNULL(this.online) + *------------------------------------------------------------ + * Is the internet accessable? + *------------------------------------------------------------ + THIS.online = THIS.ping("http://www.google.com") + MESSAGEBOX(TRANSFORM(this.online)) + ENDIF + + IF NOT THIS.online + RETURN tcPhrase + ENDIF + + *-------------------------------------------- + * get the Source and Destination language abbreveations. + *-------------------------------------------- + + #DEFINE READYSTATE_UNINITIALIZED 0 + #DEFINE READYSTATE_LOADING 1 + #DEFINE READYSTATE_LOADED 2 + #DEFINE READYSTATE_INTERACTIVE 3 + #DEFINE READYSTATE_COMPLETE 4 + + LOCAL lcSafety + lcSafety = SET("Safety") + SET SAFETY OFF + + *-------------------------------------------- + * Get the sites and info for source and destination languages. + *-------------------------------------------- + THIS.SQlexec( "SELECT "+ ; + "Locale_source.NAME AS sitename, "+ ; + "Locale_source.PAGE, "+ ; + "sLanguages.abbr AS src_abbr, "+ ; + "dLanguages.abbr AS dst_abbr, "+ ; + "sLanguages.rule1 AS src_rule, "+ ; + "dLanguages.rule2 AS dst_rule, "+ ; + "sLanguages.NAME AS src_Name, "+ ; + "dLanguages.NAME AS dst_name, "+ ; + "Locale_source.TIMEOUT, "+ ; + "Locale_Source.Attempt, "+ ; + "Locale_source.Markers, "+ ; + "Locale_source.ID, "+ ; + "Locale_source.duration/Locale_source.Hits AS Weight "+ ; + "FROM locale_xref "+ ; + "INNER JOIN Locale_source ON locale_xref.siteid = Locale_source.ID "+ ; + "INNER JOIN Locale_Lang dLanguages ON dLanguages.ID = locale_xref.dst_langid "+ ; + "INNER JOIN Locale_Lang sLanguages ON sLanguages.ID = locale_xref.src_langid "+ ; + "WHERE TRIM(sLanguages.NAME) = '"+ THIS.BaseLang +"' "+ ; + "AND TRIM(dLanguages.NAME) = '"+ THIS.Locale +"' "+ ; + "AND Locale_source.exclude=0 "+ ; + "", "qSites2" ) + SELECT * FROM qSites2 ORDER BY Weight ASC INTO CURSOR qSites NOFILTER + USE IN qSites2 + + LOCAL cHTML, Abbr + LOCAL slang, dlang + LOCAL lnTimeOut, lnAttempt, lcMarkers, lcMark, lcTmplName + LOCAL x,Y, F, ia + LOCAL lntsec, st + LOCAL cResult, lcRetValue + cResult="" + lcRetValue = tcPhrase + + IF TYPE("_VFP.HWND")="N" + THIS.GetWindows() + ENDIF + DECLARE Sleep IN kernel32 INTEGER millisec + + IF NOT THIS.quite + *-------------------------------------------- + * Display progress + *-------------------------------------------- + #DEFINE kkMeterString "....:....|....:....|" + WAIT WINDOW NOWAIT NOCLEAR "Translating to "+THIS.Locale+CHR(13)+CHR(10); + +"Words:"+LEFT(kkMeterString,(THIS.ncount%LEN(kkMeterString))+1)+CHR(13)+CHR(10); + +"Sites:"+LEFT(kkMeterString,(RECNO("qSites")%LEN(kkMeterString))+1) + ENDIF + + SELECT qSites + THIS.notranslation_attempt = EOF("qSites") + IF NOT EOF("qSites") + lcRetValue = "" + *-------------------------------------------- + * Walk through each site that have the language + *-------------------------------------------- + SCAN ALL FOR NOT EOF("qSites") + + IF NOT THIS.quite + #DEFINE kkMeterString "....:....|....:....|" + WAIT WINDOW NOWAIT NOCLEAR "Translating to "+THIS.Locale+CHR(13)+CHR(10); + +"Words:"+LEFT(kkMeterString,(THIS.ncount%LEN(kkMeterString))+1)+CHR(13)+CHR(10); + +"Sites:"+LEFT(kkMeterString,(RECNO("qSites")%LEN(kkMeterString))+1) + ENDIF + + IF THIS.DEBUG + ACTIVATE SCREEN + ? qSites.sitename,TRANSFORM(qSites.Weight),tcPhrase," ===> " + ENDIF + + IF THIS.DEBUG + lcTmplName = FULLPATH("Locale_"+ALLTRIM(qSites.sitename)+".htm") + ELSE + lcTmplName = FULLPATH("translate.htm") + ENDIF + + *-------------------------------------------- + * Create HTML page + *-------------------------------------------- + tcPhrase = ALLTRIM(tcPhrase) + cHTML = ALLTRIM(qSites.PAGE) + cHTML = STRTRAN(cHTML, "@phrase@", tcPhrase ) + m.Abbr = ALLTRIM(qSites.src_abbr) + m.Abbr = IIF(EMPTY(ALLTRIM(qSites.src_rule)),m.Abbr,EVALUATE(STRTRAN(ALLTRIM(qSites.src_rule),"@","m.abbr"))) + cHTML = STRTRAN(cHTML, "@src_lang@", m.Abbr ) + m.Abbr = ALLTRIM(qSites.dst_abbr) + m.Abbr = IIF(EMPTY(ALLTRIM(qSites.dst_rule)),m.Abbr,EVALUATE(STRTRAN(ALLTRIM(qSites.dst_rule),"@","m.abbr"))) + cHTML = STRTRAN(cHTML, "@dst_lang@", m.Abbr) + + *-------------------------------------------- + * write HTML page + *-------------------------------------------- + DO WHILE .T. + *- Gregory L Reichert 01/30/2004 07:24:25 LOCALE.CALLSITE : (3) : backward compatibility - changed parameter 0 to .F. + F = STRTOFILE(cHTML,lcTmplName,.F.) + DO CASE + CASE F # LENC(cHTML) + LOOP + CASE FILETOSTR(lcTmplName) # cHTML + LOOP + OTHERWISE + EXIT + ENDCASE + ENDDO + + *-------------------------------------------- + * Get parsing markers + *-------------------------------------------- + m.slang = ALLTRIM(qSites.src_Name) + m.dlang = ALLTRIM(qSites.dst_name) + m.lcMarkers = ALLTRIM(qSites.Markers) + LOCAL ARRAY amarkers[ MEMLINES(lcMarkers) ] + Y=0 + FOR x=1 TO MEMLINES(lcMarkers) + lcMark = MLINE(lcMarkers,x) + IF NOT EMPTY(lcMark) + Y=Y+1 + lcMark = STRTRAN(lcMark,"@slang@",m.slang) + lcMark = STRTRAN(lcMark,"@dlang@",m.dlang) + *- Gregory L Reichert 02/26/2004 07:49:57 LOCALE.CALLSITE : (1) : IE has a bad tendency of reformatting html pages from that of the original. Strip quote marks. + amarkers[y] = CHRTRANC(lcMark,["'],[]) + ENDIF + NEXT + + + *-------------------------------------------- + * Save original values, and turn off images adn sound. + *-------------------------------------------- + IF THIS.disable_images + LOCAL ARRAY aKeyVal[4,3] + aKeyVal[1,1]="Play_Animations" + aKeyVal[2,1]="Play_Background_Sounds" + aKeyVal[3,1]="Display Inline Videos" + aKeyVal[4,1]="Display Inline Images" + + FOR ia=1 TO ALEN(aKeyVal,1) + aKeyVal[ia,3]= THIS.Registry( "HKEY_CURRENT_USER\SOFTWARE\Microsoft\Internet Explorer\Main\"+aKeyVal[ia,1] ) + THIS.Registry( "HKEY_CURRENT_USER\SOFTWARE\Microsoft\Internet Explorer\Main\"+aKeyVal[ia,1] ,"no" ) + ENDFOR + + ENDIF + *-------------------------------------------- + * Execute the HTML page + *-------------------------------------------- + *- Gregory L Reichert 02/11/2004 07:03:00 LOCALE.CALLSITE : (1) : use IE directly. + LOCAL loIE + loIE=CREATEOBJECT('internetexplorer.application') + loIE.Silent = .t. && no dialogs + + m.lnTimeOut = MAX(20,qSites.TIMEOUT) + m.lnAttempt = MAX(1,qSites.Attempt) + + FOR x=1 TO lnAttempt + lntsec = SECONDS() + + loIE.Navigate( lcTmplName ) + + + *-------------------------------------------- + * wait until complete + *-------------------------------------------- + + st = SECONDS() + Sleep(50) + DO WHILE .T. + IF NOT VERSION(5)=700 + DOEVENTS && In 7.0, the DoEvents behavior changed to stop and wait for event. In 8.0, the behavior was changed back to 6.0 behavior. + ENDIF + DO CASE + CASE loIE.readyState=4 AND NOT loIE.busy + EXIT + CASE loIE.readyState=3 AND SECONDS()-st > 5 + EXIT + CASE SECONDS()-st > m.lnTimeOut + EXIT + ENDCASE + Sleep(50) + ENDDO + + + *-------------------------------------------- + * Update site weight for best site for translating + *-------------------------------------------- + THIS.SQlexec("UPDATE Locale_source SET duration=duration+"+TRANSFORM(SECONDS()-lntsec)+" WHERE ID="+TRANSFORM(qSites.ID) ) + + IF TYPE("loIE.DOCUMENT.Body.innerHTML")="C" + cResult = loIE.DOCUMENT.body.innerHTML + *-------------------------------------------- + * output the resulting page for auditing + *-------------------------------------------- + IF THIS.DEBUG + STRTOFILE( cResult, STRTRAN(lcTmplName , ".HTM","_OUT.HTM"),.F.) + ENDIF + + DO CASE + CASE EMPTY(cResult) + CASE ATCC(amarkers[1],cResult)=0 + OTHERWISE + *- Gregory L Reichert 02/11/2004 07:04:53 LOCALE.CALLSITE : (1) + *!* THIS.web.VISIBLE = .F. + EXIT + ENDCASE + ENDIF + + NEXT + + *-------------------------------------------- + * Reinstate the original values. + *-------------------------------------------- + IF THIS.disable_images + FOR ia=1 TO ALEN(aKeyVal,1) + THIS.Registry( "HKEY_CURRENT_USER\SOFTWARE\Microsoft\Internet Explorer\Main\"+aKeyVal[ia,1] ,aKeyVal[ia,3] ) + ENDFOR + ENDIF + + *-------------------------------------------- + * if expected return, parse out the translation + *-------------------------------------------- + *- Gregory L Reichert 02/26/2004 07:49:57 LOCALE.CALLSITE : (1) : IE has a bad tendency of reformatting html pages from that of the original. Strip quote marks. + cResult = CHRTRANC(cResult,["'],[]) + IF ATCC(amarkers[2], cResult)>0 + cResult = SUBSTRC(cResult,ATCC(amarkers[2],cResult)) + cResult = SUBSTRC(cResult, ATCC(amarkers[3],cResult)+LENC(amarkers[3])) + cResult = ALLTRIM(LEFTC(cResult, ATCC(amarkers[4],cResult)-1)) + IF OCCURS(",",cResult)>OCCURS(",",tcPhrase) + cResult = LEFTC(cResult,AT_C(",",cResult)-1) + ENDIF + ELSE + cResult = "" + ENDIF + IF THIS.DEBUG + ACTIVATE SCREEN + ?? "("+TRANSFORM(cResult)+")" + ENDIF + *-------------------------------------------- + * if a popup is openned by the web site, close it. + *-------------------------------------------- + IF TYPE("_VFP.HWND")="N" + THIS.closepopup() + ENDIF + + *-------------------------------------------- + * Check and de-encode text + *-------------------------------------------- + cResult = THIS.UnEscape( cResult ) + IF LEFT(cResult,1)="_" AND LEFT(tcPhrase,1)#"_" + cResult = ALLTRIM(SUBSTR(cResult,2)) + ENDIF + IF RIGHT(cResult,1)="_" AND RIGHT(tcPhrase,1)#"_" + cResult = ALLTRIM(SUBSTR(cResult,LEN(cResult)-1)) + ENDIF + + *-------------------------------------------- + * test for proper translation + *-------------------------------------------- + DO CASE + CASE EMPTY(cResult) + *- found nothing + CASE OCCURS("?",cResult)>1 + *- failed to translate correctly + CASE "<"$cResult + *- skip if pure html + CASE NOT (cResult==tcPhrase) + + *-------------------------------------------- + * update hit count + *-------------------------------------------- + THIS.SQlexec( "UPDATE Locale_source SET Hits=Hits+1 WHERE ID="+TRANSFORM(qSites.ID) ) + IF THIS.DEBUG + ACTIVATE SCREEN + ?? cResult + ENDIF + lcRetValue = cResult + EXIT + OTHERWISE + lcRetValue = MAX(lcRetValue, cResult) && take the one that is not "" + ENDCASE + cResult = "" && reset + + IF FILE(lcTmplName) AND NOT THIS.DEBUG + ERASE (lcTmplName) + ENDIF + ENDSCAN + ENDIF + *-------------------------------------------- + * clear the web page and disable it + *-------------------------------------------- + *- Gregory L Reichert 02/11/2004 07:04:37 LOCALE.CALLSITE : (1) + + SET SAFETY &lcSafety + RETURN lcRetValue + + ENDPROC + + PROCEDURE captioncount && Count all possible text that can be trnaslated + *------------------------------------------------------------ + * Description: Scan for Caption properties, and changes them to Localized version. + * Child objects are recurred and change also. + * Parameters: tcObj, req, def=, Base object to be translated. + * Return: Count of caption to translate + * Use: n = oLocale.CaptionCount( Thisform ) + *------------------------------------------------------------ + * Id Date By Description + * 1 07/31/2003 Gregory L Reichert Initial Creation + *------------------------------------------------------------ + + LPARAMETER tcObj + + LOCAL oObj + LOCAL lnCount + lnCount = 0 + + FOR EACH oObj IN tcObj.OBJECTS + + lnCount = lnCount + IIF( PEMSTATUS(oObj,"Caption",5) AND (TYPE("oObj.Caption")<>"U") AND NOT EMPTY(oObj.CAPTION) ,1,0) + lnCount = lnCount + IIF( PEMSTATUS(oObj,"TooltipText",5) AND (TYPE("oObj.TooltipText")<>"U") AND NOT EMPTY(oObj.TOOLTIPTEXT) ,1,0) + lnCount = lnCount + IIF( PEMSTATUS(oObj,"StatusbarText",5) AND (TYPE("oObj.StatusbarText")<>"U") AND NOT EMPTY(oObj.STATUSBARTEXT) ,1,0) + + IF PEMSTATUS(oObj,"Objects",5) + IF oObj.OBJECTS.COUNT>0 + lnCount = lnCount + THIS.captioncount( oObj ) + ENDIF + ENDIF + NEXT + + RETURN lnCount + + ENDPROC + + PROCEDURE closepopup && Closes popup internet window. This sometimes occurs with access Dictionary.com + *------------------------------------------------------------ + * Description: Attempts to close untitled popup browser windows caused by calling translating web sites. + * Parameters: tcWindowName, req, def=, Window Title to close. + * Return: n/a + * Use: internal + *------------------------------------------------------------ + * Id Date By Description + * 1 08/18/2003 Gregory L Reichert Initial Creation + *------------------------------------------------------------ + + *-- ignore popup windows + IF NOT THIS.lclosepopup + RETURN .T. + ENDIF + + LOCAL HWND, x,N, stuffer, lFound + + + * Get the HWND (handle) to the main FoxPro window + #IF VERSION(5)>=700 + HWND = _VFP.HWND + #ELSE + IF FILE(HOME()+"FoxTools.fll") + SET LIBRARY TO (HOME()+"FoxTools.fll") ADDITIVE + HWND = EVALUATE("MainHWND()") + RELEASE LIBRARY (HOME()+"FoxTools.fll") + ELSE + THIS.lclosepopup = .F. + RETURN + ENDIF + #ENDIF + + * Register the Windows API functions that will be called + DECLARE INTEGER GetWindowText IN WIN32API; + INTEGER HWND, ; + STRING @ lpString, ; + INTEGER nMaxCount + + DECLARE INTEGER GetWindow IN user32; + INTEGER HWND,; + INTEGER wFlag + + DECLARE SHORT PostMessage IN user32; + INTEGER HWND,; + INTEGER Msg,; + STRING @ wParam,; + INTEGER LPARAM + + DO WHILE HWND <> 0 + + stuffer = REPLICATE(CHR(0),512) + x = GetWindowText(HWND,@stuffer,511) + stuffer = LEFTC(stuffer,AT_C(CHR(0),stuffer)-1) + + IF LENC(TRIM(stuffer)) > 0 + + lFound = .F. + FOR N=1 TO ALEN(THIS.aWindows,1) + lFound = lFound OR (HWND==THIS.aWindows[n,1] ; + AND stuffer==THIS.aWindows[ n,2 ] ; + AND NOT LEFTC(stuffer,22)="Visual FoxPro Debugger") + IF lFound + EXIT + ENDIF + NEXT + IF NOT lFound + *-- popup window, close it. + ACTIVATE SCREEN + PostMessage(HWND, 0x10, 0, 0) + ENDIF + ENDIF + + HWND = GetWindow(HWND,2) + + ENDDO + + *!* dimension this.aWindows[1,2] + *!* this.aWindows[1,1] = 0 + *!* this.aWindows[1,2] = "" + + *- Gregory L Reichert 02/09/2004 07:00:22 LOCALE.CLOSEPOPUP : (1) : remove CLEAR DLLS, in VFP 6.0, it clears all DLLS. (suggested by: Bhavbhuti Nathwani ) + + ENDPROC + + PROCEDURE convertall && Convert all Base phrases to all Languages + *------------------------------------------------------------ + * Description: re-translate all phrases from base to all other languages. + * Parameters: n/a + * Return: n/a + * Use: oLocale.ConvertAll( .T., .T. ) + *------------------------------------------------------------ + * Id Date By Description + * 1 09/22/2003 Gregory L Reichert Initial Creation + * 2 03/08/2004 glr remove all, allow the baseLang to be addded too. + *------------------------------------------------------------ + + LPARAMETERS tlClearOld, tlResetLang + + *-------------------------------------------- + * if object diabled, return original phrase + *-------------------------------------------- + IF THIS.ENABLED= .F. + RETURN .T. + ENDIF + + IF tlResetLang + THIS.SQlexec("UPDATE Locale_Lang SET exclude = .f." ) + ENDIF + + LOCAL ARRAY d_lang[1] + LOCAL ARRAY aPhrase[1] + THIS.SQlexec( "SELECT distinct Name from Locale_lang WHERE not TRIM(Name)='"+THIS.BaseLang+"' order by 1","qtemp") + SELECT * FROM qtemp INTO ARRAY d_aLang + THIS.SQlexec( "SELECT Phrase, padr(Phrase,100) as Phrase2 from Locale WHERE TRIM(Language)='"+THIS.BaseLang+"' order by 2", "qtemp" ) + SELECT * FROM qtemp INTO ARRAY aPhrase + + *-- remove all translated phrases. + IF tlClearOld + * this.SQLexec("DELETE FROM Locale" ) + *- Gregory L Reichert 03/08/2004 06:24:56 LOCALE.CONVERTALL : (2) : remove all, allow the baseLang to be addded too. + THIS.SQlexec("DELETE FROM Locale WHERE not TRIM(Language)='"+THIS.BaseLang+"'" ) + IF ATC("foxpro",THIS.sqlconnectionstring)>0 OR EMPTY(THIS.sqlconnectionstring) + SELECT Locale + USE Locale EXCLUSIVE + PACK + USE + ENDIF + ENDIF + + LOCAL x, Y, N, cLast, cResult + + FOR x=1 TO ALEN(d_aLang,1) + + IF THIS.resetsites + *-- reset all sites to try all equally. + THIS.SQlexec( "UPDATE Locale_source SET duration=0.001, hits=1" ) + ENDIF + + *-- set destination language + THIS.Locale = d_aLang[x,1] + + *-- translate phrases + N=0 + cLast = "" + FOR Y=1 TO ALEN(aPhrase,1) + IF cLast==aPhrase[y,1] + LOOP + ENDIF + _VFP.CAPTION = TRANSFORM(THIS.Locale)+": "+TRANSFORM(aPhrase[y,1]) + cResult = THIS.GetString( aPhrase[y,1] ) + IF THIS.notranslation_attempt + N=ALEN(aPhrase,1) + EXIT + ENDIF + N = N + IIF(cResult==aPhrase[y,1],1,0) + NEXT + + IF N=ALEN(aPhrase,1) + *- none translated, exclude Langauge + THIS.SQlexec( "UPDATE Locale_Lang SET Exclude=.t. where TRIM(Name)='"+THIS.Locale+"'" ) + ENDIF + + NEXT + + _VFP.CAPTION = "Microsoft Visual FoxPro" + + RETURN .T. + + ENDPROC + + HIDDEN PROCEDURE Destroy + *------------------------------------------------------------ + * Description: Destory method + * Parameters: none + * Return: n/a + * Use: n/a + *------------------------------------------------------------ + * Id Date By Description + * 1 08/11/2003 Gregory L Reichert Initial Creation + * 2 02/12/2004 GLR Drop dependency on WSH + *------------------------------------------------------------ + + *-------------------------------------------- + * clear aMenu to remove references to objects. + *-------------------------------------------- + THIS.aMenu = "" + + *-------------------------------------------- + * close Locale tables + *-------------------------------------------- + IF THIS.SQLCONNECT >0 + SQLDISCONNECT( THIS.SQLCONNECT ) + ENDIF + USE IN (SELECT("locale")) + USE IN (SELECT("locale_lang")) + USE IN (SELECT("locale_xref")) + USE IN (SELECT("locale_source")) + + IF THIS.fromregistry + *- Gregory L Reichert 02/12/2004 13:33:25 LOCALE.DESTROY : (2) : remove dependancy on WSH + THIS.Registry( "HKEY_CURRENT_USER\Software\Locale\"+JUSTFNAME(_vfp.DefaultFilePath)+"\"+PROPER(JUSTSTEM(JUSTFNAME(SYS(16,0))))+"\Locale", THIS.Locale ) + ENDIF + + ENDPROC + + PROCEDURE dolabel && Translates and runs a Label + *------------------------------------------------------------ + * Description: Executes a Label after transslating the Labels + * Parameters: , , D=, + * Return: + * Use: + *------------------------------------------------------------ + * Id Date By Description + * 1 02/26/2004 Gregory L Reichert Initial Creation + *------------------------------------------------------------ + LPARAMETERS clbx, cClauses, tnSession + + *-------------------------------------------- + * change to correct datasession if passed. + *-------------------------------------------- + IF NOT EMPTY(tnSession) + LOCAL nDS + nDS = SET("DataSession") + SET DATASESSION TO (tnSession) + ENDIF + tnDataSession = SET("DataSession") + + LOCAL lbxName, ls + ls = SELECT() + SELECT 0 + lbxName = FULLPATH(SYS(3)+".lbx") + + *-------------------------------------------- + * Make a copy of the label file + *-------------------------------------------- + USE (FORCEEXT(clbx,"lbx")) NOUPDATE + COPY TO (lbxName) + USE (lbxName) EXCLUSIVE ALIAS Locale_label + + *-------------------------------------------- + * Translate the Labels + *-------------------------------------------- + IF THIS.ENABLED= .T. + LOCAL cExpr + SCAN ALL FOR INLIST( ObjType, 5 ) AND LEFT(EXPR,1)=["] AND RIGHT(EXPR,1)=["] + cExpr = THIS.GetString( ALLTRIM(EXPR)) + SET DATASESSION TO (tnDataSession) + SELECT Locale_label + REPLACE EXPR WITH m.cExpr + ENDSCAN + USE + ENDIF + + *-------------------------------------------- + * rename the Memo file to match the table + *-------------------------------------------- + IF FILE(FORCEEXT(lbxName,"fpt")) + RENAME (FORCEEXT(lbxName,"fpt")) TO (FORCEEXT(lbxName,"lbt")) + ENDIF + + *-------------------------------------------- + * Run the Label + *-------------------------------------------- + SELECT (ls) + LABEL FORM (lbxName) &cClauses + + *-------------------------------------------- + * erase the temporary label files. + *-------------------------------------------- + ERASE (lbxName) + ERASE (FORCEEXT(lbxName,"lbt")) + + IF NOT EMPTY(tnSession) + SET DATASESSION TO (nDS) + ENDIF + + RETURN + + ENDPROC + + PROCEDURE doreport && Translated and runs a report, + *------------------------------------------------------------ + * Description: Executes a Report after transslating the Labels + * Parameters: , , D=, + * Return: + * Use: + *------------------------------------------------------------ + * Id Date By Description + * 1 02/26/2004 Gregory L Reichert Initial Creation + *------------------------------------------------------------ + LPARAMETERS cFRX, cClauses, tnSession + + *-------------------------------------------- + * change to correct datasession if passed. + *-------------------------------------------- + IF NOT EMPTY(tnSession) + LOCAL nDS + nDS = SET("DataSession") + SET DATASESSION TO (tnSession) + ENDIF + tnDataSession = SET("DataSession") + + LOCAL frxName, ls + ls = SELECT() + SELECT 0 + frxName = FULLPATH(SYS(3)+".frx") + + *-------------------------------------------- + * Make temporary copy of report file + *-------------------------------------------- + USE (FORCEEXT(cFRX,"frx")) NOUPDATE + COPY TO (frxName) + USE (frxName) EXCLUSIVE ALIAS Locale_Report + + *-------------------------------------------- + * Translate the Labels + *-------------------------------------------- + IF THIS.ENABLED=.T. + LOCAL cExpr + SCAN ALL FOR INLIST( ObjType, 5 ) AND LEFT(EXPR,1)=["] AND RIGHT(EXPR,1)=["] + cExpr = THIS.GetString( ALLTRIM(EXPR)) + SET DATASESSION TO (tnDataSession) + SELECT Locale_Report + REPLACE EXPR WITH m.cExpr + ENDSCAN + USE + ENDIF + + *-------------------------------------------- + * rename the memo file + *-------------------------------------------- + IF FILE(FORCEEXT(frxName,"fpt")) + RENAME (FORCEEXT(frxName,"fpt")) TO (FORCEEXT(frxName,"frt")) + ENDIF + + *-------------------------------------------- + * run report + *-------------------------------------------- + SELECT (ls) + REPORT FORM (frxName) &cClauses + + *-------------------------------------------- + * clean up + *-------------------------------------------- + ERASE (frxName) + ERASE (FORCEEXT(frxName,"frt")) + + IF NOT EMPTY(tnSession) + SET DATASESSION TO (nDS) + ENDIF + + RETURN + + ENDPROC + + PROCEDURE Error + *------------------------------------------------------------ + * Description: + * Parameters: , , D=, + * Return: + * Use: + *------------------------------------------------------------ + * Id Date By Description + * 1 02/25/2004 Gregory L Reichert Initial Creation + *------------------------------------------------------------ + Lparameters nError, cMethod, nLine + If _vfp.StartMode = 0 + Debug + Suspend + Endif + Do Case + Case Lower(cMethod)="callsite" And nError=1426 + Return + Otherwise + * DODEFAULT( nError, cMethod, nLine ) + Error nError + Endcase + + ENDPROC + + PROCEDURE getstring && Translate a string from the BaseLang to a specific language + *------------------------------------------------------------ + * Description: Looks up the phrase in the this.aLocale array. + * If found, the trasnslated phrase is returned, + * otherwise, calling the web site is performed. + * Parameters: tcPhrase, req, def=, Phrase to translate. + * Return: String: translated phrase. + * Use: lcPhrase = oLocale.GetString( "This is a test" ) + *------------------------------------------------------------ + * Id Date By Description + * 1 08/04/2003 Gregory L Reichert Initial Creation + *------------------------------------------------------------ + + LPARAMETERS tcStr + + *-------------------------------------------- + * if object diabled, return original phrase + *-------------------------------------------- + IF THIS.ENABLED= .F. + RETURN tcStr + ENDIF + + LOCAL lcStr + lcStr = tcStr + + *-------------------------------------------- + * Exception List + *-------------------------------------------- + DO CASE + CASE EMPTY(tcStr) + CASE ALLTRIM(tcStr)=="\-" + CASE ALLTRIM(tcStr)=="..." + CASE ALLTRIM(tcStr)=="(" + OTHERWISE + + LOCAL lcLocale, llresult, x, isKey, isColon, lctmp, isQuoted, lcQuoteMark + lcLocale = THIS.Locale + + isKey = "\<"$tcStr + lcStr = STRTRAN(tcStr,"\<","") + isColon = RIGHTC(ALLTRIM(tcStr),1)=":" + isQuoted = ((LEFTC(tcStr,1)=["]) AND (RIGHTC(tcStr,1)=["])) ; + OR ((LEFTC(tcStr,1)=[']) AND (RIGHTC(tcStr,1)=['])) ; + OR ((LEFTC(tcStr,1)="[") AND (RIGHTC(tcStr,1)="]")) + lcQuoteMark = IIF(isQuoted, LEFTC(tcStr,1)+RIGHTC(tcStr,1),"") + + *-------------------------------------------- + * Locate base language phrase + *-------------------------------------------- + x = THIS.ArrayLookup( lcStr, 1 ) + llresult = .F. + IF x>0 AND LOWER(lcStr)==LOWER(THIS.aLocale[x,1]) + lcStr = ALLTRIM(THIS.aLocale[x,2]) + ELSE + lcStr = THIS.Translate( lcStr ) + IF EMPTY(lcStr) + lcStr = tcStr + ENDIF + ENDIF + + *-------------------------------------------- + * preserve hotkey indicator + *-------------------------------------------- + IF isKey + lctmp = CHRTRANC(UPPER(lcStr), THIS.usedchar, '' ) + lctmp = CHRTRANC(lcStr, lctmp, '') + lctmp = LEFTC(ALLTRIM(lctmp),1) + IF NOT EMPTY(lctmp) + THIS.usedchar = CHRTRANC(THIS.usedchar,lctmp,"") && remove from list + x = ATCC(lctmp,tcStr) + IF x>0 + lcStr = STUFFC( lcStr,x,1,"\<"+SUBSTRC(lcStr,x,1)) + ENDIF + ENDIF + ENDIF + + IF RIGHTC(ALLTRIM(lcStr),1)#":" AND isColon + lcStr = ALLTRIM(lcStr) + ":" + ENDIF + IF (LEFTC(lcStr,1)#LEFTC(lcQuoteMark,1)) AND isQuoted + lcStr = LEFTC(lcQuoteMark,1) + lcStr + RIGHTC(lcQuoteMark,1) + ENDIF + + ENDCASE + WAIT CLEAR + RETURN lcStr + + ENDPROC + + PROCEDURE getwindows + *------------------------------------------------------------ + * Description: build list of window hwnd + * Parameters: , , D=, + * Return: + * Use: + *------------------------------------------------------------ + * Id Date By Description + * 1 09/04/2003 Gregory L Reichert Initial Creation + * 2 02/04/2004 GLR dont clear DLL, may be needed in actual application. + *------------------------------------------------------------ + *-- ignore popup windows + IF NOT THIS.lclosepopup + RETURN .T. + ENDIF + + LOCAL HWND, x,N, stuffer + + * Get the HWND (handle) to the main FoxPro window + #IF VERSION(5)>=700 + HWND = _VFP.HWND + #ELSE + IF FILE(HOME()+"FoxTools.fll") + SET LIBRARY TO (HOME()+"FoxTools.fll") ADDITIVE + HWND = EVALUATE("MainHWND()") + RELEASE LIBRARY (HOME()+"FoxTools.fll") + ELSE + THIS.lclosepopup = .F. + RETURN + ENDIF + #ENDIF + + * Register the Windows API functions that will be called + DECLARE INTEGER GetWindowText IN WIN32API; + INTEGER HWND, ; + STRING @ lpString, ; + INTEGER nMaxCount + + DECLARE INTEGER GetWindow IN user32; + INTEGER HWND,; + INTEGER wFlag + + N = 0 + DO WHILE HWND <> 0 + + stuffer = REPLICATE(CHR(0),512) + x = GetWindowText(HWND,@stuffer,511) + stuffer = LEFTC(stuffer,AT_C(CHR(0),stuffer)-1) + + IF LEN(TRIM(stuffer)) > 0 + N = N + 1 + DIMENSION THIS.aWindows[ n, 2] + THIS.aWindows[ n,1 ] = HWND + THIS.aWindows[ n,2 ] = stuffer + ENDIF + + HWND = GetWindow(HWND,2) + + ENDDO + + *- Gregory L Reichert 02/04/2004 06:43:23 LOCALE.GETWINDOWS : (2) : dont clear, may be needed in actual application. + + RETURN + + + ENDPROC + + PROCEDURE Init + *------------------------------------------------------------ + * Description: Initialize Object + * Parameters: tcBaseLang, Opt, Def=.F., Base Language used to create form and controls. + * tcDestLang, Opt, Def=.F., Destination Language to be translated to. + * Return: N/A + * Use: oLocale= NewObject("Locale","Locale.vcx","","English","Spanish" ) + *------------------------------------------------------------ + * Id Date By Description + * 1 08/18/2003 Gregory L Reichert Initial Creation + * 2 2/16/2004 GLR Drop WebBrowser control. + *------------------------------------------------------------ + LPARAMETERS tcBaseLang, tcDestLang + SET SAFETY OFF + + ERASE ("Locale.log") + + *------------------------------------------------------------ + * Establish the base and locale languages. + *------------------------------------------------------------ + IF NOT EMPTY(tcBaseLang) + THIS.BaseLang = tcBaseLang + ENDIF + + IF NOT EMPTY(tcDestLang) + THIS.Locale = tcDestLang + ELSE + THIS.SETUP + ENDIF + + RETURN + + + *="DSN=Visual FoxPro Database;UID=;PWD=;SourceDB="+fullpath("")+"locale.dbc;SourceType=DBC;Exclusive=No;BackgroundFetch=No;Collate=Machine;Null=Yes;Deleted=Yes;" + + + ENDPROC + + PROTECTED PROCEDURE loadarray && Loads the internal array with the current language translations. + *------------------------------------------------------------ + * Description: Loads the internal trnaslated array from the Locale for the current Locale. + * Parameters: none + * Return: none + * Use: this.LoadArray() + *------------------------------------------------------------ + * Id Date By Description + * 1 08/05/2003 Gregory L Reichert Initial Creation + * 2 02/27/2004 GLR Remove property DBF. + *------------------------------------------------------------ + + *-------------------------------------------- + * if object diabled, return original phrase + *-------------------------------------------- + IF THIS.ENABLED= .F. + RETURN .T. + ENDIF + + LOCAL dbLocale + + *- Gregory L Reichert 02/27/2004 07:52:52 LOCALE.LOADARRAY : (2) : Obsolete - not used. + + LOCAL fl + fl = SELECT() + SELECT (SELECT("locale")) + *USE (dbLocale) + LOCAL BASE, LANG + BASE = THIS.BaseLang + LANG = THIS.Locale + + THIS.SQlexec( "SELECT aa.phrase, bb.phrase, aa.ID FROM Locale aa "+ ; + "INNER JOIN Locale bb "+; + "ON aa.ID=bb.ID "+; + "WHERE TRIM(aa.LANGUAGE)='"+m.BASE+"' "+ ; + "AND TRIM(bb.LANGUAGE)='"+m.LANG+"' "+ ; + "ORDER BY aa.ID ASC ", "qtemp2" ) + + IF _TALLY>0 + LOCAL ARRAY laLocale[_tally,3] + laLocale = "" + SELECT * FROM qtemp2 INTO ARRAY laLocale + DIMENSION THIS.aLocale[_tally,3] + =ACOPY(laLocale,THIS.aLocale) + ELSE + DIMENSION THIS.aLocale[1,3] + THIS.aLocale = "" + ENDIF + USE IN qtemp2 + USE IN (SELECT("locale")) + SELECT (fl) + + RETURN + + + ENDPROC + + PROTECTED PROCEDURE locale_assign + *------------------------------------------------------------ + * Description: Assign method to Locale. When the property is changed, the object + * attempts to translate all the controls on the form to the new assigned + * Locale. + * Parameters: n/a + * Return: n/a + * Use: internal + *------------------------------------------------------------ + * Id Date By Description + * 1 08/07/2003 Gregory L Reichert Initial Creation + *------------------------------------------------------------ + + LPARAMETERS vNewVal + + THIS.Locale = ALLTRIM(m.vNewVal) + + THIS.usedchar = "ABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789" + + THIS.LoadArray() + IF this.ltranslateactiveform + IF TYPE("_Screen.ActiveForm")="O" + IF TYPE("_SCREEN.ACTIVEFORM.Locale_Original")#"C" + LOCAL PropList + PropList = STRTRAN(THIS.property_list,[,],CHR(13)+CHR(10)) + _SCREEN.ACTIVEFORM.ADDPROPERTY("Locale_Original["+TRANSFORM(MEMLINES(m.PropList))+"]","") + ENDIF + LOCAL cTag + cTag = _SCREEN.ACTIVEFORM.Locale_Original[1] + IF EMPTY(cTag) + STORE _SCREEN.ACTIVEFORM.CAPTION TO cTag, _SCREEN.ACTIVEFORM.Locale_Original[1] + ENDIF + _SCREEN.ACTIVEFORM.CAPTION = THIS.GetString( cTag ) + THIS.setLocale( _SCREEN.ACTIVEFORM ) + ENDIF + ENDIF + RETURN + + ENDPROC + + PROCEDURE ping && Test to see if Internet is available. + * Program: Ping.PRG + * Description: Test that a internet URL is valid. + * Developer: Gregory L Reichert - www.GLRsoftware.com + *------------------------------------------------------------ + * From the original work of... + * readurl.prg 06-Mar-98 + + * 06-Mar-98 pulled from Q174524 on March 98 Technet CD + * 06-Mar-98 bug fixed about the length of the sReadBuffer + + *Any Internet or intranet URL can be passed as a parameter. Microsoft.com + *was chosen for this example. + + *Note that Microsoft Internet Explorer must be installed on the computer. + + * passed: URLName, in the form "http://www.microsoft.com" + * returns: the content of the URL + * usage: + * uWebContent = ReadURL( "http://www.microsoft.com" ) + * uWebContent = ReadURL( "http://www.SomeSite.com/SomeJPG.jpg" ) + * notes: + * 1 - IE does not need to be running to use this, but must be installed, + * as the program uses an option that gets information from the registry + + LPARAMETERS pcUrlName + + + DECLARE INTEGER InternetOpen IN wininet STRING sAgent, ; + INTEGER lAccessType, STRING sProxyName, ; + STRING sProxyBypass, INTEGER lFlags + + DECLARE INTEGER InternetOpenUrl IN wininet ; + INTEGER hInternetSession, STRING sUrl, STRING sHeaders,; + INTEGER lHeadersLength, INTEGER lFlags, INTEGER lContext + + DECLARE INTEGER InternetReadFile IN wininet INTEGER hfile, ; + STRING @sBuffer, INTEGER lNumberofBytesToRead, INTEGER @lBytesRead + + DECLARE short InternetCloseHandle IN wininet INTEGER hInst + + #DEFINE INTERNET_OPEN_TYPE_PRECONFIG 0 + #DEFINE INTERNET_OPEN_TYPE_DIRECT 1 + #DEFINE INTERNET_OPEN_TYPE_PROXY 3 + #DEFINE SYNCHRONOUS 0 + #DEFINE INTERNET_FLAG_RELOAD 2147483648 + #DEFINE CR CHR(13) + + LOCAL lsAgent, lhInternetSession, lhUrlFile, llOk, lnOk, lcReadBuffer, lnBytesRead + + * what application is using Internet services? + lsAgent = "Locale" + + lhInternetSession = InternetOpen( lsAgent, INTERNET_OPEN_TYPE_PRECONFIG, ; + '', '', SYNCHRONOUS) + + * debugging line - uncomment to see session handle + * WAIT WINDOW "Internet session handle: " + LTRIM(STR(hInternetSession)) + + IF lhInternetSession = 0 + * WAIT WINDOW "Internet session cannot be established" TIME 2 + RETURN .F. + ENDIF + + lhUrlFile = InternetOpenUrl( lhInternetSession, pcUrlName, '', 0, ; + INTERNET_FLAG_RELOAD, 0) + + * debugging line - uncomment to see URL handle + * WAIT WINDOW "URL Handle: " + LTRIM(STR(hUrlFile)) + + IF lhUrlFile = 0 + * WAIT WINDOW "URL cannot be opened" + RETURN .F. + ENDIF + + LOCAL lcRetVal + lcRetVal = "" + llOk = .T. + + DO WHILE llOk + * set aside a big buffer + LOCAL lsReadBuffer + lsReadBuffer = SPACE(32767) + lnBytesRead = 0 + lnOk = InternetReadFile( lhUrlFile, @lsReadBuffer, LEN(lsReadBuffer), @lnBytesRead) + + IF ( lnBytesRead > 0 ) + lcRetVal = lcRetVal + LEFTC( lsReadBuffer, lnBytesRead ) + ENDIF + + * error trap - either a read failure or read past eof() + llOk = ( lnOk = 1 ) AND ( lnBytesRead > 0 ) + ENDDO + + _CLIPTEXT = lcRetVal + + lcRetVal = ATCC("Google",lcRetVal)>0 + + * close all the handles we opened + InternetCloseHandle( lhUrlFile ) + InternetCloseHandle( lhInternetSession ) + RETURN lcRetVal + * Eof Ping.PRG + + ENDPROC + + PROCEDURE registry && Get and Put to the Registry + *------------------------------------------------------------ + * Description: Get and Set values in the Registry + * Parameters: tAction, req, D=, Either GET or PUT + * Return: n/a + * Use: n/a + *------------------------------------------------------------ + * Id Date By Description + * 1 08/11/2003 Gregory L Reichert Initial Creation + *------------------------------------------------------------ + + LPARAMETERS tKey, tValue + + LOCAL nPara + nPara = PARAMETERS() + + * Registry roots + LOCAL HKEY_CLASSES_ROOT, HKEY_CURRENT_USER, HKEY_LOCAL_MACHINE, HKEY_USERS + HKEY_CLASSES_ROOT = -2147483648 && BITSET(0,31) + HKEY_CURRENT_USER = -2147483647 && BITSET(0,31)+1 + HKEY_LOCAL_MACHINE = -2147483646 && BITSET(0,31)+2 + HKEY_USERS = -2147483645 && BITSET(0,31)+3 + + #DEFINE REG_SZ 1 && Data string + #DEFINE REG_BINARY 3 && Binary data in any form. + #DEFINE REG_DWORD 4 && A 32-bit number. + + DECLARE INTEGER RegCreateKey IN Win32API ; + INTEGER nHKey, STRING @cSubKey, INTEGER @nResult + + DECLARE INTEGER RegDeleteKey IN Win32API ; + INTEGER nHKey, STRING @cSubKey + + DECLARE INTEGER RegOpenKey IN Win32API ; + INTEGER nHKey, STRING @cSubKey, INTEGER @nResult + + DECLARE INTEGER RegCloseKey IN Win32API ; + INTEGER nHKey + + DECLARE INTEGER RegQueryValueEx IN Win32API ; + INTEGER nHKey, STRING lpszValueName, INTEGER dwReserved,; + INTEGER @lpdwType, STRING @lpbData, INTEGER @lpcbData + + DECLARE INTEGER RegSetValueEx IN Win32API ; + INTEGER hKey, STRING lpszValueName, INTEGER dwReserved,; + INTEGER fdwType, STRING lpbData, INTEGER cbData + + *-------------------------------------------- + * parse cKey + *-------------------------------------------- + LOCAL hKey, cKey, cData + hKey = LEFTC( tKey, AT_C("\", tKey)-1) + tKey = SUBSTRC( tKey, AT_C("\",tKey)+1) + cKey = LEFTC( tKey, RATC("\",tKey)-1) + tKey = SUBSTRC( tKey, RATC("\",tKey)+1) + cData = tKey + + LOCAL nCurrentKey,nErrCode + nCurrentKey = 0 + nErrCode = RegOpenKey(&hKey,cKey,@nCurrentKey) + IF nErrCode>0 + nErrCode = RegCreateKey(&hKey,cKey,@nCurrentKey) + ENDIF + + LOCAL lpdwReserved,lpdwType,lpbData,lpcbData,nErrCode, cKeyValue, nValueSize + STORE 0 TO lpdwReserved,lpdwType + STORE SPACE(256) TO lpbData + STORE LEN(m.lpbData) TO m.lpcbData + cKeyValue = "" + + DO CASE + CASE nPara = 2 + * Make sure we null terminate this guy + lpcbData = TRANSFORM(m.tValue)+CHR(0) + nValueSize = LEN(m.lpcbData) + + * Set the key value here + m.nErrCode = RegSetValueEx(nCurrentKey,m.cData,0,; + REG_SZ,m.lpcbData ,m.nValueSize) + + cKeyValue = m.nErrCode=0 + + CASE nPara = 1 + + m.nErrCode=RegQueryValueEx(nCurrentKey,cData, m.lpdwReserved,@lpdwType,@lpbData,@lpcbData) + m.cKeyValue = LEFTC(m.lpbData,m.lpcbData-1) + + OTHERWISE + *-- do nothing + ENDCASE + + =RegCloseKey(nCurrentKey) + + #IF VERSION(5)>600 + CLEAR DLLS RegCreateKey + CLEAR DLLS RegDeleteKey + CLEAR DLLS RegOpenKey + CLEAR DLLS RegCloseKey + CLEAR DLLS RegQueryValueEx + #ENDIF + + RETURN cKeyValue + + + ENDPROC + + PROCEDURE setlocale && Translates a object and child objects. + *------------------------------------------------------------ + * Description: Scan for Caption properties, and changes them to Localized version. + * Child objects are recurred and change also. + * Parameters: toObj, req, def=, Base object to be translated. + * Return: none + * Use: oLocale.SetLocale( Thisform ) + *------------------------------------------------------------ + * Id Date By Description + * 1 07/31/2003 Gregory L Reichert Initial Creation + * 2 03/01/2004 GLR Change looking for specfic object, to properties that are objects. + *------------------------------------------------------------ + + Lparameter toObj + *-------------------------------------------- + * if object diabled, return original phrase + *-------------------------------------------- + Do Case + Case This.Enabled= .F. + Return + Case Isnull(toObj) + RETURN + CASE TYPE('toObj.baseclass') <> 'C' + RETURN + Endcase + + Local oObj, cText, nFore, nDFore, lcCRLF, isFirst, i,j,k + Private cTag + + lcCRLF = Chr(13)+Chr(10) + isFirst = .F. + + If Type("xx_marker")="U" + *-- first time in + isFirst = .T. + This.ncount = 0 + Private xx_marker + xx_marker = .T. + This.online=.Null. && Test for internet connection again. This only occurs if a translation is needed, otherwise, the translation comes from table. + + *------------------------------------------------------------ + * reset to help find the most optimal site for the current language. + *------------------------------------------------------------ + If Pemstatus(toObj,"Datasession",5) + If toObj.DataSession=2 && Private + Set DataSession To (toObj.DataSessionId) + Endif + Endif + + *-------------------------------------------- + * Add start up of run, reset site to give all equal chance. + *-------------------------------------------- + If This.resetsites + This.SQLExec( "UPDATE Locale_source SET duration=0.001,hits=1" ) + Endif + *-- + Endif + + *-------------------------------------------- + * Initialize and translate Menus + *-------------------------------------------- + If .F. && Lower(toObj.BaseClass) == "form" + *-------------------------------------------- + * if there menus in the aMenu array, process them first. + *-------------------------------------------- + If .F. + This.setMenu( .T.,, (toObj) ) + Endif + Endif + + *-------------------------------------------- + * if it has forecolor, highlight current control + *-------------------------------------------- + If Between(This.translate_color, 0, Rgb(255,255,255)) + If (Pemstatus(toObj,"ForeColor",5) ; + AND Type("toObj.ForeColor")<>"U") + + nFore = toObj.ForeColor + toObj.ForeColor = This.translate_color + loOldError = On("error") + + Endif + If (Pemstatus(toObj,"DisabledForeColor",5) ; + AND Type("toObj.DisabledForeColor")<>"U") + + nDFore = toObj.DisabledForeColor + toObj.DisabledForeColor = This.translate_color + Endif + Endif + + *-------------------------------------------- + * load Localized Captions. + *-------------------------------------------- + Local PropList + PropList = Strtran(This.property_list,[,],Chr(13)+Chr(10)) + If Type("toObj.Locale_Original[1]")#"C" + toObj.AddProperty("Locale_Original["+Transform(Memlines(m.PropList))+"]","") + Endif + + *- Gregory L Reichert 03/08/2004 06:37:55 LOCALE.SETLOCALE : (3) : read the properties to translate from comma delimited list. + For i=1 To Memlines(m.PropList) + This.Translate_Property( toObj, Mline(m.PropList,i), i) + Next + + *- Gregory L Reichert 03/08/2004 06:29:01 LOCALE.SETLOCALE : (2) : Change looking for specfic object, to properties that are objects. + Local Array aMems[1,3] + k = Amembers( aMems, toObj, 1 ) + For j=1 To k + + *-------------------------------------------- + * get next control on this container + *-------------------------------------------- + Do Case + Case Inlist(Lower(aMems[j,1]), "parent") + Case Type("toObj."+aMems[j,1])#"O" + Case Isnull(Evaluate("toObj."+aMems[j,1])) + Otherwise + *-------------------------------------------- + * If the Property is Object, check for text to translate. + *-------------------------------------------- + oObj = Evaluate("toObj."+aMems[j,1]) + + *-------------------------------------------- + * Transverse to check for controls on this control. + *-------------------------------------------- + *- Gregory L Reichert 01/30/2004 07:21:06 LOCALE.SETLOCALE : (1) : Include other object collections (by Bhavbhuti Nathwani, Venus Software Operatcions ) + *- Gregory L Reichert 02/03/2004 06:34:25 LOCALE.SETLOCALE : (2) : Restructured to be both compatible with 6.0 with no Objects collection with other collections, and 8.0 both sets of collections. + *- Gregory L Reichert 02/11/2004 09:18:20 LOCALE.SETLOCALE : (3) : do not recurs if the object is the same as main object and not first time in this method. + If Not (Vartype(oObj)="O" And Compobj( oObj, toObj ) And Not isFirst) + This.setLocale( oObj ) + Endif + + Endcase + Next + + + *-------------------------------------------- + * reset forecolor to original + *-------------------------------------------- + If Between(This.translate_color, 0, Rgb(255,255,255)) + If (Pemstatus(toObj,"ForeColor",5) ; + AND Type("toObj.ForeColor")<>"U") + + toObj.ForeColor = nFore + Endif + If (Pemstatus(toObj,"DisabledForeColor",5) ; + AND Type("toObj.DisabledForeColor")<>"U") + + toObj.DisabledForeColor = nDFore + Endif + Endif + + If isFirst + *-------------------------------------------- + * clean up if this recurs is the first level + *-------------------------------------------- + Use In (Select("qSites")) + Use In (Select("qSites0")) + Use In (Select("Locale_Source")) + Use In (Select("Locale_xref")) + Use In (Select("Locale_Lang")) + + *-- refresh the entire object. + *!* modificare ROAGEST v 2.0.105 + *!* toObj.Refresh + *!* modificare ROAGEST v 2.0.105 ^ + Wait Clear + Endif + + Return + + ENDPROC + + PROCEDURE setmenu && Runs and translates captions on menu. + *------------------------------------------------------------ + * Description: Register and execute MPR code. + * Parameters: cMenuName, Filename and extension of MPR file. + * cMenuType, + * Return: + * Use: oLocale.SetMenu( "MyMenu.mpr","formmenu",thisform ) + *------------------------------------------------------------ + * Id Date By Description + * 1 02/16/2004 Gregory L Reichert Initial Creation + *------------------------------------------------------------ + + LPARAMETERS cMenuName, cMenuType, othisform + + + IF TYPE("cMenuName")="L" + IF TYPE("this.aMenu[1,1]")#"L" + LOCAL i + FOR i=1 TO ALEN(THIS.aMenu,1) + DO CASE + CASE LOWER(THIS.aMenu[i,2])="menu" + DO (THIS.aMenu[i,1]) + CASE LOWER(THIS.aMenu[i,2])="formmenu" AND (not ISNULL(THIS.aMenu[i,3])) AND COMPOBJ(THIS.aMenu[i,3],othisform) + KEYBOARD "{Enter}" CLEAR PLAIN + THIS.aMenu[i,3].ZORDER(0) + DO (THIS.aMenu[i,1]) WITH THIS.aMenu[i,3], .T. + CLEAR TYPEAHEAD + CASE LOWER(THIS.aMenu[i,2])="shortcut" && AND COMPOBJ(THIS.aMenu[i,3],othisform) + THIS.aMenu[i,3].ZORDER(0) + DO (THIS.aMenu[i,1]) + ENDCASE + NEXT + ENDIF + ELSE + IF TYPE("this.aMenu[1,1]")#"L" + DIMENSION THIS.aMenu[ ALEN(this.aMenu,1)+1, 3] + ENDIF + THIS.aMenu[ALEN(this.aMenu,1),1] = cMenuName + THIS.aMenu[ALEN(this.aMenu,1),2] = cMenuType + THIS.aMenu[ALEN(this.aMenu,1),3] = othisform + + DO CASE + CASE LOWER(cMenuType)="menu" + DO (cMenuName) + CASE LOWER(cMenuType)="formmenu" + KEYBOARD "{Enter}" CLEAR PLAIN + othisform.ZORDER(0) + DO (cMenuName) WITH othisform, .T. + CLEAR TYPEAHEAD + CASE LOWER(cMenuType)="shortcut" + DO (cMenuName) + ENDCASE + ENDIF + + RETURN + + ENDPROC + + PROTECTED PROCEDURE setup + *------------------------------------------------------------ + * Description: Attempt to determine the Locale of the VFP version, User OS setting, or default OS setting. + * Parameters: none + * Return: none + * Use: this.Setup + *------------------------------------------------------------ + * Id Date By Description + * 1 08/04/2003 Gregory L Reichert Initial Creation + *------------------------------------------------------------ + + LOCAL ow, lcLocale, lnLocale, cPath + + lcLocale = [] + + *-------------------------------------------- + * try registry + *-------------------------------------------- + IF THIS.fromregistry + *- Gregory L Reichert 02/12/2004 13:31:22 LOCALE.SETUP : (1) : drop dependancy on WSH + lcLocale = THIS.Registry( "HKEY_CURRENT_USER\Software\Locale\"+JUSTFNAME(_vfp.DefaultFilePath)+"\"+PROPER(JUSTSTEM(JUSTFNAME(SYS(16,0))))+"\Locale" ) + ENDIF + + IF EMPTY(lcLocale) + + *-------------------------------------------- + * Try Foxpro level + *-------------------------------------------- + lcLocale = IIF(VERSION(3)='00','English', lcLocale) + lcLocale = IIF(VERSION(3)='07','Russian', lcLocale) + lcLocale = IIF(VERSION(3)='33','French', lcLocale) + lcLocale = IIF(VERSION(3)='34','Spanish', lcLocale) + lcLocale = IIF(VERSION(3)='39','Italian', lcLocale) + lcLocale = IIF(VERSION(3)='48','Polish', lcLocale) + lcLocale = IIF(VERSION(3)='49','German', lcLocale) + lcLocale = IIF(VERSION(3)='55','Portuguese', lcLocale) + lcLocale = IIF(VERSION(3)='42','Czech', lcLocale) + lcLocale = IIF(VERSION(3)='82','Korean', lcLocale) + lcLocale = IIF(VERSION(3)='86','Simplified_Chinese', lcLocale) + lcLocale = IIF(VERSION(3)='88','Traditional_Chinese', lcLocale) + + IF EMPTY(lcLocale) + + *-- default English + lcLocale = "Romana" + + *-------------------------------------------- + * User Level + *-------------------------------------------- + DECLARE SHORT GetUserDefaultLangID IN kernel32 + lnLocale = GetUserDefaultLangID() + *- Gregory L Reichert 02/09/2004 07:02:23 LOCALE.SETUP : (1) : remove CLEAR DLLS, in VFP 6.0, it clears all DLLS. (suggested by: Bhavbhuti Nathwani ) + + IF lnLocale # 0x0800 + *lcLocale = IIF(lnLocale=0x0000 ,"Neutral",lcLocale) + *lcLocale = IIF(lnLocale=0x007f ,"The language for the invariant locale (LOCALE_INVARIANT). See MAKELCID.",lcLocale) + *lcLocale = IIF(lnLocale=0x0400 ,"Process or User Default Language",lcLocale) + *lcLocale = IIF(lnLocale=0x0800 ,"System Default Language",lcLocale) + *lcLocale = IIF(lnLocale=0x0436 ,"Afrikaans",lcLocale) + *lcLocale = IIF(lnLocale=0x041c ,"Albanian",lcLocale) + *lcLocale = IIF(lnLocale=0x0401 ,"Arabic",lcLocale) && (Saudi Arabia) + *lcLocale = IIF(lnLocale=0x0801 ,"Arabic",lcLocale) && (Iraq) + *lcLocale = IIF(lnLocale=0x0c01 ,"Arabic",lcLocale) && (Egypt) + *lcLocale = IIF(lnLocale=0x1001 ,"Arabic",lcLocale) && (Libya) + *lcLocale = IIF(lnLocale=0x1401 ,"Arabic",lcLocale) && (Algeria) + *lcLocale = IIF(lnLocale=0x1801 ,"Arabic",lcLocale) && (Morocco) + *lcLocale = IIF(lnLocale=0x1c01 ,"Arabic",lcLocale) && (Tunisia) + *lcLocale = IIF(lnLocale=0x2001 ,"Arabic",lcLocale) && (Oman) + *lcLocale = IIF(lnLocale=0x2401 ,"Arabic",lcLocale) && (Yemen) + *lcLocale = IIF(lnLocale=0x2801 ,"Arabic",lcLocale) && (Syria) + *lcLocale = IIF(lnLocale=0x2c01 ,"Arabic",lcLocale) && (Jordan) + *lcLocale = IIF(lnLocale=0x3001 ,"Arabic",lcLocale) && (Lebanon) + *lcLocale = IIF(lnLocale=0x3401 ,"Arabic",lcLocale) && (Kuwait) + *lcLocale = IIF(lnLocale=0x3801 ,"Arabic",lcLocale) && (U.A.E.) + *lcLocale = IIF(lnLocale=0x3c01 ,"Arabic",lcLocale) && (Bahrain) + *lcLocale = IIF(lnLocale=0x4001 ,"Arabic",lcLocale) && (Qatar) + *lcLocale = IIF(lnLocale=0x042b ,"Armenian",lcLocale) + *lcLocale = IIF(lnLocale=0x042c ,"Azeri",lcLocale) && (Latin) + *lcLocale = IIF(lnLocale=0x082c ,"Azeri",lcLocale) && (Cyrillic) + *lcLocale = IIF(lnLocale=0x042d ,"Basque",lcLocale) + *lcLocale = IIF(lnLocale=0x0423 ,"Belarusian",lcLocale) + *lcLocale = IIF(lnLocale=0x0402 ,"Bulgarian",lcLocale) + *lcLocale = IIF(lnLocale=0x0455 ,"Burmese",lcLocale) + *lcLocale = IIF(lnLocale=0x0403 ,"Catalan",lcLocale) + *lcLocale = IIF(lnLocale=0x0404 ,"Chinese",lcLocale) && (Taiwan) + *lcLocale = IIF(lnLocale=0x0804 ,"Chinese",lcLocale) && (PRC) + *lcLocale = IIF(lnLocale=0x0c04 ,"Chinese",lcLocale) && (Hong Kong SAR, PRC) + *lcLocale = IIF(lnLocale=0x1004 ,"Chinese",lcLocale) && (Singapore) + *lcLocale = IIF(lnLocale=0x1404 ,"Chinese",lcLocale) && (Macau SAR) + *lcLocale = IIF(lnLocale=0x041a ,"Croatian",lcLocale) + *lcLocale = IIF(lnLocale=0x0405 ,"Czech",lcLocale) + *lcLocale = IIF(lnLocale=0x0406 ,"Danish",lcLocale) + *lcLocale = IIF(lnLocale=0x0465 ,"Divehi",lcLocale) + lcLocale = IIF(lnLocale=0x0413 ,"Dutch",lcLocale) && (Netherlands) + lcLocale = IIF(lnLocale=0x0813 ,"Dutch",lcLocale) && (Belgium) + lcLocale = IIF(lnLocale=0x0409 ,"English",lcLocale) && (United States) + lcLocale = IIF(lnLocale=0x0809 ,"English",lcLocale) && (United Kingdom) + lcLocale = IIF(lnLocale=0x0c09 ,"English",lcLocale) && (Australian) + lcLocale = IIF(lnLocale=0x1009 ,"English",lcLocale) && (Canadian) + lcLocale = IIF(lnLocale=0x1409 ,"English",lcLocale) && (New Zealand) + lcLocale = IIF(lnLocale=0x1809 ,"English",lcLocale) && (Ireland) + lcLocale = IIF(lnLocale=0x1c09 ,"English",lcLocale) && (South Africa) + lcLocale = IIF(lnLocale=0x2009 ,"English",lcLocale) && (Jamaica) + lcLocale = IIF(lnLocale=0x2409 ,"English",lcLocale) && (Caribbean) + lcLocale = IIF(lnLocale=0x2809 ,"English",lcLocale) && (Belize) + lcLocale = IIF(lnLocale=0x2c09 ,"English",lcLocale) && (Trinidad) + lcLocale = IIF(lnLocale=0x3009 ,"English",lcLocale) && (Zimbabwe) + lcLocale = IIF(lnLocale=0x3409 ,"English",lcLocale) && (Philippines) + *lcLocale = IIF(lnLocale=0x0425 ,"Estonian",lcLocale) + *lcLocale = IIF(lnLocale=0x0438 ,"Faeroese",lcLocale) + *lcLocale = IIF(lnLocale=0x0429 ,"Farsi",lcLocale) + *lcLocale = IIF(lnLocale=0x040b ,"Finnish",lcLocale) + lcLocale = IIF(lnLocale=0x040c ,"French",lcLocale) && (Standard) + lcLocale = IIF(lnLocale=0x080c ,"French",lcLocale) && (Belgian) + lcLocale = IIF(lnLocale=0x0c0c ,"French",lcLocale) && (Canadian) + lcLocale = IIF(lnLocale=0x100c ,"French",lcLocale) && (Switzerland) + lcLocale = IIF(lnLocale=0x140c ,"French",lcLocale) && (Luxembourg) + lcLocale = IIF(lnLocale=0x180c ,"French",lcLocale) && (Monaco) + *lcLocale = IIF(lnLocale=0x0456 ,"Galician",lcLocale) + *lcLocale = IIF(lnLocale=0x0437 ,"Georgian",lcLocale) + lcLocale = IIF(lnLocale=0x0407 ,"German",lcLocale) && (Standard) + lcLocale = IIF(lnLocale=0x0807 ,"German",lcLocale) && (Switzerland) + lcLocale = IIF(lnLocale=0x0c07 ,"German",lcLocale) && (Austria) + lcLocale = IIF(lnLocale=0x1007 ,"German",lcLocale) && (Luxembourg) + lcLocale = IIF(lnLocale=0x1407 ,"German",lcLocale) && (Liechtenstein) + *lcLocale = IIF(lnLocale=0x0408 ,"Greek",lcLocale) + *lcLocale = IIF(lnLocale=0x0447 ,"Gujaratci",lcLocale) + *lcLocale = IIF(lnLocale=0x040d ,"Hebrew",lcLocale) + *lcLocale = IIF(lnLocale=0x0439 ,"Hindi",lcLocale) + *lcLocale = IIF(lnLocale=0x040e ,"Hungarian",lcLocale) + *lcLocale = IIF(lnLocale=0x040f ,"Icelandic",lcLocale) + *lcLocale = IIF(lnLocale=0x0421 ,"Indonesian",lcLocale) + lcLocale = IIF(lnLocale=0x0410 ,"Italian",lcLocale) && (Standard) + lcLocale = IIF(lnLocale=0x0810 ,"Italian",lcLocale) && (Switzerland) + *lcLocale = IIF(lnLocale=0x0411 ,"Japanese",lcLocale) + *lcLocale = IIF(lnLocale=0x044b ,"Kannada",lcLocale) + *lcLocale = IIF(lnLocale=0x0457 ,"Konkani",lcLocale) + *lcLocale = IIF(lnLocale=0x0412 ,"Korean",lcLocale) + *lcLocale = IIF(lnLocale=0x0812 ,"Korean",lcLocale) && (Johab) + *lcLocale = IIF(lnLocale=0x0440 ,"Kyrgyz",lcLocale) + *lcLocale = IIF(lnLocale=0x0426 ,"Latvian",lcLocale) + *lcLocale = IIF(lnLocale=0x0427 ,"Lithuanian",lcLocale) + *lcLocale = IIF(lnLocale=0x0827 ,"Lithuanian",lcLocale) && (Classic) + *lcLocale = IIF(lnLocale=0x042f ,"FYRO Macedonian",lcLocale) + *lcLocale = IIF(lnLocale=0x043e ,"Malay",lcLocale) && (Malaysian) + *lcLocale = IIF(lnLocale=0x083e ,"Malay",lcLocale) && (Brunei Darussalam) + *lcLocale = IIF(lnLocale=0x044e ,"Maratchi",lcLocale) + *lcLocale = IIF(lnLocale=0x0450 ,"Mongolian",lcLocale) + *lcLocale = IIF(lnLocale=0x0414 ,"Norwegian",lcLocale) && (Bokmal) + *lcLocale = IIF(lnLocale=0x0814 ,"Norwegian",lcLocale) && (Nynorsk) + *lcLocale = IIF(lnLocale=0x0415 ,"Polish",lcLocale) + lcLocale = IIF(lnLocale=0x0416 ,"Portuguese",lcLocale) && (Brazil) + lcLocale = IIF(lnLocale=0x0816 ,"Portuguese",lcLocale) && (Portugal) + *lcLocale = IIF(lnLocale=0x0446 ,"Punjabi",lcLocale) + lcLocale = IIF(lnLocale=0x0418 ,"Romana",lcLocale) + lcLocale = IIF(lnLocale=0x0419 ,"Russian",lcLocale) + *lcLocale = IIF(lnLocale=0x044f ,"Sanskrit",lcLocale) + *lcLocale = IIF(lnLocale=0x0c1a ,"Serbian",lcLocale) && (Cyrillic) + *lcLocale = IIF(lnLocale=0x081a ,"Serbian",lcLocale) && (Latin) + *lcLocale = IIF(lnLocale=0x041b ,"Slovak",lcLocale) + *lcLocale = IIF(lnLocale=0x0424 ,"Slovenian",lcLocale) + lcLocale = IIF(lnLocale=0x040a ,"Spanish",lcLocale) && (Spain, Traditional Sort) + lcLocale = IIF(lnLocale=0x080a ,"Spanish",lcLocale) && (Mexican) + lcLocale = IIF(lnLocale=0x0c0a ,"Spanish",lcLocale) && (Spain, Modern Sort) + lcLocale = IIF(lnLocale=0x100a ,"Spanish",lcLocale) && (Guatemala) + lcLocale = IIF(lnLocale=0x140a ,"Spanish",lcLocale) && (Costa Rica) + lcLocale = IIF(lnLocale=0x180a ,"Spanish",lcLocale) && (Panama) + lcLocale = IIF(lnLocale=0x1c0a ,"Spanish",lcLocale) && (Dominican Republic) + lcLocale = IIF(lnLocale=0x200a ,"Spanish",lcLocale) && (Venezuela) + lcLocale = IIF(lnLocale=0x240a ,"Spanish",lcLocale) && (Colombia) + lcLocale = IIF(lnLocale=0x280a ,"Spanish",lcLocale) && (Peru) + lcLocale = IIF(lnLocale=0x2c0a ,"Spanish",lcLocale) && (Argentina) + lcLocale = IIF(lnLocale=0x300a ,"Spanish",lcLocale) && (Ecuador) + lcLocale = IIF(lnLocale=0x340a ,"Spanish",lcLocale) && (Chile) + lcLocale = IIF(lnLocale=0x380a ,"Spanish",lcLocale) && (Uruguay) + lcLocale = IIF(lnLocale=0x3c0a ,"Spanish",lcLocale) && (Paraguay) + lcLocale = IIF(lnLocale=0x400a ,"Spanish",lcLocale) && (Bolivia) + lcLocale = IIF(lnLocale=0x440a ,"Spanish",lcLocale) && (El Salvador) + lcLocale = IIF(lnLocale=0x480a ,"Spanish",lcLocale) && (Honduras) + lcLocale = IIF(lnLocale=0x4c0a ,"Spanish",lcLocale) && (Nicaragua) + lcLocale = IIF(lnLocale=0x500a ,"Spanish",lcLocale) && (Puerto Rico) + *lcLocale = IIF(lnLocale=0x0430 ,"Sutu",lcLocale) + *lcLocale = IIF(lnLocale=0x0441 ,"Swahili",lcLocale) && (Kenya) + *lcLocale = IIF(lnLocale=0x041d ,"Swedish",lcLocale) + *lcLocale = IIF(lnLocale=0x081d ,"Swedish",lcLocale) && (Finland) + *lcLocale = IIF(lnLocale=0x045a ,"Syriac",lcLocale) + *lcLocale = IIF(lnLocale=0x0449 ,"Tamil",lcLocale) + *lcLocale = IIF(lnLocale=0x0444 ,"Tatar",lcLocale) && (Tatarstan) + *lcLocale = IIF(lnLocale=0x044a ,"Telugu",lcLocale) + *lcLocale = IIF(lnLocale=0x041e ,"Thai",lcLocale) + *lcLocale = IIF(lnLocale=0x041f ,"Turkish",lcLocale) + *lcLocale = IIF(lnLocale=0x0422 ,"Ukrainian",lcLocale) + *lcLocale = IIF(lnLocale=0x0420 ,"Urdu",lcLocale) && (Pakistan) + *lcLocale = IIF(lnLocale=0x0820 ,"Urdu",lcLocale) && (India) + *lcLocale = IIF(lnLocale=0x0443 ,"Uzbek",lcLocale) && (Latin) + *lcLocale = IIF(lnLocale=0x0843 ,"Uzbek",lcLocale) && (Cyrillic) + *lcLocale = IIF(lnLocale=0x042a ,"Vietnamese",lcLocale) + ELSE + *-------------------------------------------- + * System Level + *-------------------------------------------- + * - get from System Default + DECLARE INTEGER GetSystemDefaultLangID IN kernel32 + lnLocale = BITAND( GetSystemDefaultLangID(),0x1FF) + *- Gregory L Reichert 02/09/2004 07:02:43 LOCALE.SETUP : (1) : remove CLEAR DLLS, in VFP 6.0, it clears all DLLS. (suggested by: Bhavbhuti Nathwani ) + + *lcLocale = IIF(lnLocale=0x00 ,"Neutral", lcLocale ) + *lcLocale = IIF(lnLocale=0x01 ,"Arabic", lcLocale ) + *lcLocale = IIF(lnLocale=0x02 ,"Bulgarian", lcLocale ) + *lcLocale = IIF(lnLocale=0x03 ,"Catalan", lcLocale ) + *lcLocale = IIF(lnLocale=0x04 ,"Chinese", lcLocale ) + *lcLocale = IIF(lnLocale=0x05 ,"Czech", lcLocale ) + lcLocale = IIF(lnLocale=0x06 ,"Danish", lcLocale ) + lcLocale = IIF(lnLocale=0x07 ,"German", lcLocale ) + lcLocale = IIF(lnLocale=0x08 ,"Greek", lcLocale ) + lcLocale = IIF(lnLocale=0x09 ,"English", lcLocale ) + lcLocale = IIF(lnLocale=0x0a ,"Spanish", lcLocale ) + *lcLocale = IIF(lnLocale=0x0b ,"Finnish", lcLocale ) + lcLocale = IIF(lnLocale=0x0c ,"French", lcLocale ) + *lcLocale = IIF(lnLocale=0x0d ,"Hebrew", lcLocale ) + *lcLocale = IIF(lnLocale=0x0e ,"Hungarian", lcLocale ) + *lcLocale = IIF(lnLocale=0x0f ,"Icelandic", lcLocale ) + lcLocale = IIF(lnLocale=0x10 ,"Italian", lcLocale ) + *lcLocale = IIF(lnLocale=0x11 ,"Japanese", lcLocale ) + *lcLocale = IIF(lnLocale=0x12 ,"Korean", lcLocale ) + lcLocale = IIF(lnLocale=0x13 ,"Dutch", lcLocale ) + lcLocale = IIF(lnLocale=0x14 ,"Norwegian", lcLocale ) + *lcLocale = IIF(lnLocale=0x15 ,"Polish", lcLocale ) + lcLocale = IIF(lnLocale=0x16 ,"Portuguese", lcLocale ) + lcLocale = IIF(lnLocale=0x18 ,"Romana", lcLocale ) + lcLocale = IIF(lnLocale=0x19 ,"Russian", lcLocale ) + *lcLocale = IIF(lnLocale=0x1a ,"Croatian", lcLocale ) + *lcLocale = IIF(lnLocale=0x1a ,"Serbian", lcLocale ) + *lcLocale = IIF(lnLocale=0x1b ,"Slovak", lcLocale ) + *lcLocale = IIF(lnLocale=0x1c ,"Albanian", lcLocale ) + *lcLocale = IIF(lnLocale=0x1d ,"Swedish", lcLocale ) + *lcLocale = IIF(lnLocale=0x1e ,"Thai", lcLocale ) + *lcLocale = IIF(lnLocale=0x1f ,"Turkish", lcLocale ) + *lcLocale = IIF(lnLocale=0x20 ,"Urdu", lcLocale ) + *lcLocale = IIF(lnLocale=0x21 ,"Indonesian", lcLocale ) + *lcLocale = IIF(lnLocale=0x22 ,"Ukrainian", lcLocale ) + *lcLocale = IIF(lnLocale=0x23 ,"Belarusian", lcLocale ) + *lcLocale = IIF(lnLocale=0x24 ,"Slovenian", lcLocale ) + *lcLocale = IIF(lnLocale=0x25 ,"Estonian", lcLocale ) + *lcLocale = IIF(lnLocale=0x26 ,"Latvian", lcLocale ) + *lcLocale = IIF(lnLocale=0x27 ,"Lithuanian", lcLocale ) + *lcLocale = IIF(lnLocale=0x29 ,"Farsi", lcLocale ) + *lcLocale = IIF(lnLocale=0x2a ,"Vietnamese", lcLocale ) + *lcLocale = IIF(lnLocale=0x2b ,"Armenian", lcLocale ) + *lcLocale = IIF(lnLocale=0x2c ,"Azeri", lcLocale ) + *lcLocale = IIF(lnLocale=0x2d ,"Basque", lcLocale ) + *lcLocale = IIF(lnLocale=0x2f ,"FYRO Macedonian", lcLocale ) + *lcLocale = IIF(lnLocale=0x36 ,"Afrikaans", lcLocale ) + *lcLocale = IIF(lnLocale=0x37 ,"Georgian", lcLocale ) + *lcLocale = IIF(lnLocale=0x38 ,"Faeroese", lcLocale ) + *lcLocale = IIF(lnLocale=0x39 ,"Hindi", lcLocale ) + *lcLocale = IIF(lnLocale=0x3e ,"Malay", lcLocale ) + *lcLocale = IIF(lnLocale=0x3f ,"Kazak", lcLocale ) + *lcLocale = IIF(lnLocale=0x40 ,"Kyrgyz", lcLocale ) + *lcLocale = IIF(lnLocale=0x41 ,"Swahili", lcLocale ) + *lcLocale = IIF(lnLocale=0x43 ,"Uzbek", lcLocale ) + *lcLocale = IIF(lnLocale=0x44 ,"Tatar", lcLocale ) + *lcLocale = IIF(lnLocale=0x46 ,"Punjabi", lcLocale ) + *lcLocale = IIF(lnLocale=0x47 ,"Gujaratci", lcLocale ) + *lcLocale = IIF(lnLocale=0x49 ,"Tamil", lcLocale ) + *lcLocale = IIF(lnLocale=0x4a ,"Telugu", lcLocale ) + *lcLocale = IIF(lnLocale=0x4b ,"Kannada", lcLocale ) + *lcLocale = IIF(lnLocale=0x4e ,"Maratchi", lcLocale ) + *lcLocale = IIF(lnLocale=0x4f ,"Sanskrit", lcLocale ) + *lcLocale = IIF(lnLocale=0x50 ,"Mongolian", lcLocale ) + *lcLocale = IIF(lnLocale=0x56 ,"Galician", lcLocale ) + *lcLocale = IIF(lnLocale=0x57 ,"Konkani", lcLocale ) + *lcLocale = IIF(lnLocale=0x5a ,"Syriac", lcLocale ) + *lcLocale = IIF(lnLocale=0x65 ,"Divehi", lcLocale ) + + ENDIF + ENDIF + ENDIF + THIS.Locale = lcLocale + + RETURN + + + ENDPROC + + PROCEDURE sqlexec && Executes SQL statement either locally or remotely. + *------------------------------------------------------------ + * Description: + * Parameters: , , D=, + * Return: + * Use: + *------------------------------------------------------------ + * Id Date By Description + * 1 02/17/2004 Gregory L Reichert Initial Creation + *------------------------------------------------------------ + LPARAMETERS tcSQL, tcCursor, tnSession + Local llUsed, lcLocaleDb + llUsed = .F. + *-------------------------------------------- + * change to correct datasession if passed. + *-------------------------------------------- + IF NOT EMPTY(tnSession) + LOCAL nDS + nDS = SET("DataSession") + SET DATASESSION TO (tnSession) + ENDIF + If Dbused('locale') + llUsed = .T. + Else + lcLocaleDb = gcLocalePath + "locale.dbc" + Open Database (m.lcLocaleDb) + Endif + LOCAL fl, crlf + crlf = CHR(13)+CHR(10) + fl = SELECT() + SELECT (SELECT("qtemp")) + IF THIS.SQLCONNECT<=0 AND NOT EMPTY(THIS.sqlconnectionstring) + THIS.SQLCONNECT = SQLSTRINGCONNECT( THIS.sqlconnectionstring ) + IF THIS.SQLCONNECT<=0 + *-------------------------------------------- + * If connecting to Driver fails, attempt to proceed with + * direct FOX statements for remainder of the life of the Locale object + *-------------------------------------------- + THIS.sqlconnectionstring = "" + ENDIF + ENDIF + + LOCAL lcDel, lcExact + lcDel = SET("Deleted") + lcExact = SET("Exact") + SET DELETED ON && always ignore all deleted record if table is VFP based. + SET EXACT ON + + DO CASE + CASE EMPTY( THIS.sqlconnectionstring ) AND EMPTY( tcCursor ) + &tcSQL + CASE EMPTY( THIS.sqlconnectionstring ) AND NOT EMPTY( tcCursor ) + &tcSQL INTO CURSOR &tcCursor + CASE NOT EMPTY( THIS.sqlconnectionstring ) AND EMPTY( tcCursor ) + lnResult = SQlexec(THIS.SQLCONNECT, tcSQL) + CASE NOT EMPTY( THIS.sqlconnectionstring ) AND NOT EMPTY( tcCursor ) + lnResult = SQlexec( THIS.SQLCONNECT, tcSQL , tcCursor ) + ENDCASE + + SET DELETED &lcDel + SET EXACT &lcExact + + LOCAL ARRAY aEr[1] + IF ERROR()<>0 + =AERROR(aEr) + WAIT WINDOW aEr[2] NOWAIT NOCLEAR + ERROR aEr[1] + WAIT CLEAR + ENDIF + + IF THIS.SQLCONNECT>-1 + SQLDISCONNECT( THIS.SQLCONNECT ) + THIS.SQLCONNECT = -1 + ENDIF + + SELECT (fl) + IF NOT EMPTY(tnSession) + SET DATASESSION TO (nDS) + ENDIF + If !llUsed And Dbused('locale') + Close Databases + Endif + RETURN .T. + + ENDPROC + + PROCEDURE translate && Translate a phrase to a different language + *------------------------------------------------------------ + * Description: Translate phrase using Web Site. Generally this method is not called + * by outside rotuines, and is used internal when prior translation is + * not found in the aLocale array. if not found, the web site called to + * obtain the translation. + * Parameters: tcPhrase, req, def=, Phrase to be translated. + * tcLanguage, opt, def=this.Locale, Language to translate to. + * Return: String: Translated phrase, or original if unable to translate. + * Use: lcPhrase = oLocale.Translate( "This is a test" ) + *------------------------------------------------------------ + * Id Date By Description + * 1 08/04/2003 Gregory L Reichert Initial Creation + *------------------------------------------------------------ + LPARAMETERS tcPhrase + + *-------------------------------------------- + * if object diabled, return original phrase + *-------------------------------------------- + IF THIS.ENABLED= .F. + RETURN tcPhrase + ENDIF + + LOCAL cHTML,lcTranslated, x, lp, o, F, i, crlf + crlf = CHR(13)+CHR(10) + + *- Gregory L Reichert 02/09/2004 07:18:16 LOCALE.TRANSLATE : (2) : Moved to CallSite. + + *-------------------------------------------- + * Array columns in aLocale + *-------------------------------------------- + #DEFINE kSource 1 + #DEFINE kDestination 2 + #DEFINE kID 3 + + *-------------------------------------------- + * if tcLanguage missing, use .Locale + *-------------------------------------------- + + THIS.Locale = ALLTRIM(THIS.Locale) + + IF NOT THIS.quite + THIS.ncount = THIS.ncount + 1 + ENDIF + *-------------------------------------------- + * try google first. + *-------------------------------------------- + lcTranslated=tcPhrase + + x = THIS.ArrayLookup( tcPhrase, kDestination) + IF x>0 + *-- already translated. + RETURN tcPhrase + ENDIF + + LOCAL nAll + FOR nAll = 1 TO THIS.nallsitesattempt + + + *-------------------------------------------- + * call the sites and translate + *-------------------------------------------- + IF THIS.BaseLang == THIS.Locale + lcTranslated = tcPhrase + ELSE + IF This.Searchinternet + lcTranslated = THIS.CallSite( tcPhrase ) + ENDIF + ENDIF + + *-------------------------------------------- + * did it translate? + *-------------------------------------------- + DO CASE + CASE lcTranslated == THIS.lasttranslation AND tcPhrase # THIS.lastphrase + LOOP + CASE EMPTY(lcTranslated) + lcTranslated = tcPhrase + CASE OCCURS("??",lcTranslated)>0 && unable to tranlate + lcTranslated = tcPhrase + OTHERWISE + + *-------------------------------------------- + * for debug: log trnalation + *-------------------------------------------- + *!* modificare ROAGEST v 2.0.105 + *!* STRTOFILE( THIS.Locale+ ": " + tcPhrase + " => " + lcTranslated + CHR(13)+CHR(10), "Locale.log",.T.) + *!* modificare ROAGEST v 2.0.105 ^ + + LOCAL fl, lnID + fl = SELECT() + SELECT (SELECT("qtemp")) + + *-------------------------------------------- + * Insert into Locale + *-------------------------------------------- + *- find original phrases + tcPhrase = STRTRAN(STRTRAN(tcPhrase,crlf,"/r"),['],["]) + THIS.SQlexec( "SELECT ID FROM Locale" ; + +" WHERE TRIM(Phrase)='" + tcPhrase + "'" ; + +" AND TRIM(LANGUAGE)='"+THIS.BaseLang+"'" ; + +" and LEN(Phrase)=LEN('"+tcPhrase+"') " ; + +IIF(ATC("foxpro",THIS.sqlconnectionstring)>0 OR EMPTY(THIS.sqlconnectionstring)," AND NOT DELETED()","") ; + , "qtemp" ) + + IF EOF("qtemp") && not found, add + *- find highest ID number + THIS.SQlexec( "SELECT ID FROM Locale" ; + +" WHERE TRIM(LANGUAGE)='"+THIS.BaseLang+"'" ; + +" ORDER BY 1 DESC " ; + , "qtemp" ) + IF EOF("qtemp" ) + lnID = 1 + ELSE + *- increment + lnID = VAL(TRANSFORM(qtemp.ID))+1 + ENDIF + *- add original phrase + IF this.llocale + THIS.SQlexec( "INSERT INTO Locale (Phrase,LANGUAGE,Notes,ID) VALUES ( STRTRAN('"+tcPhrase+"','/r',crlf),'"+ THIS.BaseLang+"','',"+TRANSFORM(lnID)+" )") + *-------------------------------------------- + * update internal array + *-------------------------------------------- + THIS.LoadArray() + ENDIF + ELSE + lnID = qtemp.ID + ENDIF + + *- Gregory L Reichert 02/19/2004 10:18:43 LOCALE.TRANSLATE : (1) : also, if the phrase did not change, don't save as destination language. + DO CASE + CASE (THIS.BaseLang == THIS.Locale) + CASE THIS.notranslation_attempt + OTHERWISE + IF this.llocale + *-------------------------------------------- + * insert new tranlated record + *-------------------------------------------- + LOCAL lcNotes + lcNotes = IIF(tcPhrase==lcTranslated,"Could not be properly translated.","") + lcTranslated = STRTRAN(STRTRAN(lcTranslated,crlf,"/r"),['],["]) + + THIS.SQlexec( "INSERT INTO Locale (Phrase,LANGUAGE,Notes,ID) VALUES ( STRTRAN('"+lcTranslated+"','/r',crlf),'"+ THIS.Locale+"','"+lcNotes+"',"+TRANSFORM(lnID)+" )") + + *-------------------------------------------- + * update internal array + *-------------------------------------------- + THIS.LoadArray() + ENDIF + ENDCASE + *-------------------------------------------- + * clean up + *-------------------------------------------- + USE IN (SELECT("qtemp")) + SELECT (fl) + EXIT + ENDCASE + + NEXT + + THIS.lasttranslation = lcTranslated + THIS.lastphrase = tcPhrase + + *WAIT CLEAR + + RETURN lcTranslated + + ENDPROC + + PROCEDURE translate_property && Translates a single property of an object + *------------------------------------------------------------ + * Description: + * Parameters: , , D=, + * Return: + * Use: + *------------------------------------------------------------ + * Id Date By Description + * 1 03/05/2004 Gregory L Reichert Initial Creation + *------------------------------------------------------------ + LPARAMETERS oObj, tcProp, tcPos + + LOCAL lcCRLF, cText + + DO CASE + CASE NOT PEMSTATUS(oObj,tcProp,5) + CASE TYPE("oObj."+tcProp)="U" + CASE EMPTY(EVALUATE("oObj."+tcProp)) + OTHERWISE + + IF NOT EMPTY(oObj.Locale_Original[tcPos]) + *-- reset caption to original + cText = oObj.Locale_Original[tcPos] + ELSE + cText = EVALUATE("oObj."+tcProp) + IF ALEN(oObj.Locale_Original,1) < tcPos + DIMENSION oObj.Locale_Original[ tcPos ] + ENDIF + oObj.Locale_Original[tcPos] = cText + ENDIF + IF NOT EMPTY(cText) + STORE THIS.GetString(cText) TO ("oObj."+tcProp) + ENDIF + + ENDCASE + RETURN + + ENDPROC + + PROCEDURE unescape && Remove HTML conversions + *------------------------------------------------------------ + * Description: + * Parameters: , , D=, + * Return: + * Use: + *------------------------------------------------------------ + * Id Date By Description + * 1 03/01/2004 Gregory L Reichert Initial Creation + *------------------------------------------------------------ + + LPARAMETERS tcStr + + LOCAL lcStr + lcStr = tcStr + IF "&"$lcStr + lcStr = STRTRAN(lcStr,"&"+"amp;","&") + lcStr = STRTRAN(lcStr,"&"+"nbsp;"," ") + lcStr = STRTRAN(lcStr,"&"+"tab;"," ") + lcStr = STRTRAN(lcStr,"&"+"gt;",">") + lcStr = STRTRAN(lcStr,"&"+"lt;","<") + ENDIF + RETURN lcStr + + + ENDPROC + +ENDDEFINE + +DEFINE CLASS locale_dummy AS container + *< CLASSDATA: Baseclass="container" Timestamp="" Scale="Pixels" Uniqueid="" /> + + * + *m: arraylookup && Search the aLocale array for a phrase + *m: callsite && Call a site and retreives the translated text + *m: captioncount && Count all possible text that can be trnaslated + *m: closepopup && Closes popup internet window. This sometimes occurs with access Dictionary.com + *m: convertall && Convert all Base phrases to all Languages + *m: dolabel && Translates and runs a Label + *m: doreport && Translated and runs a report, + *m: getstring && Translate a string from the BaseLang to a specific language + *m: getwindows + *m: loadarray && Loads the internal array with the current language translations. + *m: locale_assign + *m: ping && Test to see if Internet is available. + *m: registry && Get and Put to the Registry + *m: setlocale && Translates a object and child objects. + *m: setmenu && Runs and translates captions on menu. + *m: setup + *m: sqlexec && Executes SQL statement either locally or remotely. + *m: translate && Translate a phrase to a different language + *m: translate_property && Translates a single property of an object + *m: unescape && Remove HTML conversions + *p: baselang && Base source locale + *p: debug && If true, display debug information while translating. + *p: disable_images && Disables the images on the page. They are not downloaded for speed. + *p: fromregistry && if True, the current locale is store and retreived from the Registry. HKEY_CURRENT_USER\Software\Locale\Locale + *p: lastphrase && Last phrase translated, if the next phrase is the same, then LastTrasnlation is return instead of quering the Internet. + *p: lasttranslation && Last translated phrase + *p: lclosepopup && If true, any popup browser window that opens while translating is closed. + *p: llocale + *p: llsucces + *p: locale && Current Locale + *p: ltranslateactiveform + *p: nallsitesattempt && The number a times any single site is queried before giving up and moving to the next site. + *p: ncount && Number of words translated during this session. + *p: notranslation_attempt && If true, none of the site tested could produce a translation. + *p: online && if true, the internet is accessable. + *p: property_list && List of properties that need to be translated. + *p: quite && Pervents the WAIT window during translation. + *p: resetsites && Reset all sites to give each a equal change at trtanslating. + *p: searchinternet + *p: sqlconnect && SQL Connection Handle. default -1 + *p: sqlconnectionstring && Valid SQL Connection String. If blank, SQL statement are called as VFP. + *p: translate_color && The color the text assumes will translation is occuring. If -1, color does not change. + *p: usedchar && Used to Hot Key buttons. + *p: version && Class Vesion Number + *a: alocale[1,2] && Collection of language translations + *a: amenu[1,3] + *a: awindows[1,2] && List of openned OS Windows. + * + + HIDDEN ActiveControl,AddObject,AddProperty,BackColor,BackStyle,BorderColor,BorderWidth,Click,CloneObject,ColorSource,ControlCount,Controls,DblClick,Destroy,DragDrop,DragIcon,DragMode,DragOver,Drag,Draw,ForeColor,GotFocus,Height,HelpContextID,LostFocus,MiddleClick,MouseDown,MouseEnter,MouseIcon,MouseLeave,MouseMove,MousePointer,MouseUp,MouseWheel,Moved,Move,NewObject,Objects,OLECompleteDrag,OLEDragDrop,OLEDragMode,OLEDragOver,OLEDragPicture,OLEDrag,OLEDropEffects,OLEDropHasData,OLEDropMode,OLEGiveFeedback,OLESetData,OLEStartDrag,Picture,ReadExpression,ReadMethod,Refresh,RemoveObject,ResetToDefault,Resize,RightClick,SaveAsClass,SetAll,SetFocus,ShowWhatsThis,SpecialEffect,StatusBarText,Style,TabIndex,TabStop,Tag,ToolTipText,UIEnable,Visible,WhatsThisHelpID,Width,WriteExpression,WriteMethod,ZOrder + PROTECTED alocale,amenu,awindows,lastphrase,lasttranslation,Name,ncount,sqlconnect,usedchar,version + * + BackStyle = 0 + baselang = Romana + BorderColor = 255,0,255 + Comment = "8/18/2003" + debug = .F. + disable_images = .F. + Enabled = .T. + fromregistry = .T. + Height = 20 + lastphrase = + lasttranslation = + lclosepopup = .T. + llocale = .F. + llsucces = .F. + locale = English + ltranslateactiveform = .F. + nallsitesattempt = 1 + Name = "locale_dummy" + ncount = 0 + notranslation_attempt = .F. + online = .NULL. + property_list = Caption,ToolTipText,StatusBarText + quite = .F. + resetsites = .F. + searchinternet = .F. + sqlconnect = -1 + sqlconnectionstring = + TabStop = .F. + translate_color = (rgb(255,0,0)) + usedchar = ABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789 + version = 1.50.00299 + Width = 20 + * + + PROTECTED PROCEDURE arraylookup && Search the aLocale array for a phrase + ENDPROC + + PROCEDURE callsite && Call a site and retreives the translated text + ENDPROC + + PROCEDURE captioncount && Count all possible text that can be trnaslated + ENDPROC + + PROCEDURE closepopup && Closes popup internet window. This sometimes occurs with access Dictionary.com + ENDPROC + + PROCEDURE convertall && Convert all Base phrases to all Languages + ENDPROC + + HIDDEN PROCEDURE Destroy + *------------------------------------------------------------ + * Description: Destory method + * Parameters: none + * Return: n/a + * Use: n/a + *------------------------------------------------------------ + * Id Date By Description + * 1 08/11/2003 Gregory L Reichert Initial Creation + * 2 02/12/2004 GLR Drop dependency on WSH + *------------------------------------------------------------ + + *-------------------------------------------- + * clear aMenu to remove references to objects. + *-------------------------------------------- + THIS.aMenu = "" + + *-------------------------------------------- + * close Locale tables + *-------------------------------------------- + IF THIS.SQLCONNECT >0 + SQLDISCONNECT( THIS.SQLCONNECT ) + ENDIF + USE IN (SELECT("locale")) + USE IN (SELECT("locale_lang")) + USE IN (SELECT("locale_xref")) + USE IN (SELECT("locale_source")) + + IF THIS.fromregistry + *- Gregory L Reichert 02/12/2004 13:33:25 LOCALE.DESTROY : (2) : remove dependancy on WSH + THIS.Registry( "HKEY_CURRENT_USER\Software\Locale\"+JUSTFNAME(_vfp.DefaultFilePath)+"\"+PROPER(JUSTSTEM(JUSTFNAME(SYS(16,0))))+"\Locale", THIS.Locale ) + ENDIF + ENDPROC + + PROCEDURE dolabel && Translates and runs a Label + ENDPROC + + PROCEDURE doreport && Translated and runs a report, + ENDPROC + + PROCEDURE getstring && Translate a string from the BaseLang to a specific language + LPARAMETERS tcStr + RETURN tcStr + ENDPROC + + PROCEDURE getwindows + ENDPROC + + PROCEDURE Init + *------------------------------------------------------------ + * Description: Initialize Object + * Parameters: tcBaseLang, Opt, Def=.F., Base Language used to create form and controls. + * tcDestLang, Opt, Def=.F., Destination Language to be translated to. + * Return: N/A + * Use: oLocale= NewObject("Locale","Locale.vcx","","English","Spanish" ) + *------------------------------------------------------------ + * Id Date By Description + * 1 08/18/2003 Gregory L Reichert Initial Creation + * 2 2/16/2004 GLR Drop WebBrowser control. + *------------------------------------------------------------ + LPARAMETERS tcBaseLang, tcDestLang + SET SAFETY OFF + + ERASE ("Locale.log") + + *------------------------------------------------------------ + * Establish the base and locale languages. + *------------------------------------------------------------ + IF NOT EMPTY(tcBaseLang) + THIS.BaseLang = tcBaseLang + ENDIF + + IF NOT EMPTY(tcDestLang) + THIS.Locale = tcDestLang + ELSE + THIS.SETUP + ENDIF + + RETURN + + + *="DSN=Visual FoxPro Database;UID=;PWD=;SourceDB="+fullpath("")+"locale.dbc;SourceType=DBC;Exclusive=No;BackgroundFetch=No;Collate=Machine;Null=Yes;Deleted=Yes;" + + + ENDPROC + + PROTECTED PROCEDURE loadarray && Loads the internal array with the current language translations. + ENDPROC + + PROTECTED PROCEDURE locale_assign + ENDPROC + + PROCEDURE ping && Test to see if Internet is available. + ENDPROC + + PROCEDURE registry && Get and Put to the Registry + ENDPROC + + PROCEDURE setlocale && Translates a object and child objects. + Lparameter toObj + Return + + ENDPROC + + PROCEDURE setmenu && Runs and translates captions on menu. + *------------------------------------------------------------ + * Description: Register and execute MPR code. + * Parameters: cMenuName, Filename and extension of MPR file. + * cMenuType, + * Return: + * Use: oLocale.SetMenu( "MyMenu.mpr","formmenu",thisform ) + *------------------------------------------------------------ + * Id Date By Description + * 1 02/16/2004 Gregory L Reichert Initial Creation + *------------------------------------------------------------ + + LPARAMETERS cMenuName, cMenuType, othisform + + + IF TYPE("cMenuName")="L" + IF TYPE("this.aMenu[1,1]")#"L" + LOCAL i + FOR i=1 TO ALEN(THIS.aMenu,1) + DO CASE + CASE LOWER(THIS.aMenu[i,2])="menu" + DO (THIS.aMenu[i,1]) + CASE LOWER(THIS.aMenu[i,2])="formmenu" AND (not ISNULL(THIS.aMenu[i,3])) AND COMPOBJ(THIS.aMenu[i,3],othisform) + KEYBOARD "{Enter}" CLEAR PLAIN + THIS.aMenu[i,3].ZORDER(0) + DO (THIS.aMenu[i,1]) WITH THIS.aMenu[i,3], .T. + CLEAR TYPEAHEAD + CASE LOWER(THIS.aMenu[i,2])="shortcut" && AND COMPOBJ(THIS.aMenu[i,3],othisform) + THIS.aMenu[i,3].ZORDER(0) + DO (THIS.aMenu[i,1]) + ENDCASE + NEXT + ENDIF + ELSE + IF TYPE("this.aMenu[1,1]")#"L" + DIMENSION THIS.aMenu[ ALEN(this.aMenu,1)+1, 3] + ENDIF + THIS.aMenu[ALEN(this.aMenu,1),1] = cMenuName + THIS.aMenu[ALEN(this.aMenu,1),2] = cMenuType + THIS.aMenu[ALEN(this.aMenu,1),3] = othisform + + DO CASE + CASE LOWER(cMenuType)="menu" + DO (cMenuName) + CASE LOWER(cMenuType)="formmenu" + KEYBOARD "{Enter}" CLEAR PLAIN + othisform.ZORDER(0) + DO (cMenuName) WITH othisform, .T. + CLEAR TYPEAHEAD + CASE LOWER(cMenuType)="shortcut" + DO (cMenuName) + ENDCASE + ENDIF + + RETURN + ENDPROC + + PROTECTED PROCEDURE setup + *------------------------------------------------------------ + * Description: Attempt to determine the Locale of the VFP version, User OS setting, or default OS setting. + * Parameters: none + * Return: none + * Use: this.Setup + *------------------------------------------------------------ + * Id Date By Description + * 1 08/04/2003 Gregory L Reichert Initial Creation + *------------------------------------------------------------ + + LOCAL ow, lcLocale, lnLocale, cPath + + lcLocale = [] + + *-------------------------------------------- + * try registry + *-------------------------------------------- + IF THIS.fromregistry + *- Gregory L Reichert 02/12/2004 13:31:22 LOCALE.SETUP : (1) : drop dependancy on WSH + lcLocale = THIS.Registry( "HKEY_CURRENT_USER\Software\Locale\"+JUSTFNAME(_vfp.DefaultFilePath)+"\"+PROPER(JUSTSTEM(JUSTFNAME(SYS(16,0))))+"\Locale" ) + ENDIF + + IF EMPTY(lcLocale) + + *-------------------------------------------- + * Try Foxpro level + *-------------------------------------------- + lcLocale = IIF(VERSION(3)='00','English', lcLocale) + lcLocale = IIF(VERSION(3)='07','Russian', lcLocale) + lcLocale = IIF(VERSION(3)='33','French', lcLocale) + lcLocale = IIF(VERSION(3)='34','Spanish', lcLocale) + lcLocale = IIF(VERSION(3)='39','Italian', lcLocale) + lcLocale = IIF(VERSION(3)='48','Polish', lcLocale) + lcLocale = IIF(VERSION(3)='49','German', lcLocale) + lcLocale = IIF(VERSION(3)='55','Portuguese', lcLocale) + lcLocale = IIF(VERSION(3)='42','Czech', lcLocale) + lcLocale = IIF(VERSION(3)='82','Korean', lcLocale) + lcLocale = IIF(VERSION(3)='86','Simplified_Chinese', lcLocale) + lcLocale = IIF(VERSION(3)='88','Traditional_Chinese', lcLocale) + + IF EMPTY(lcLocale) + + *-- default English + lcLocale = "Romana" + + *-------------------------------------------- + * User Level + *-------------------------------------------- + DECLARE SHORT GetUserDefaultLangID IN kernel32 + lnLocale = GetUserDefaultLangID() + *- Gregory L Reichert 02/09/2004 07:02:23 LOCALE.SETUP : (1) : remove CLEAR DLLS, in VFP 6.0, it clears all DLLS. (suggested by: Bhavbhuti Nathwani ) + + IF lnLocale # 0x0800 + *lcLocale = IIF(lnLocale=0x0000 ,"Neutral",lcLocale) + *lcLocale = IIF(lnLocale=0x007f ,"The language for the invariant locale (LOCALE_INVARIANT). See MAKELCID.",lcLocale) + *lcLocale = IIF(lnLocale=0x0400 ,"Process or User Default Language",lcLocale) + *lcLocale = IIF(lnLocale=0x0800 ,"System Default Language",lcLocale) + *lcLocale = IIF(lnLocale=0x0436 ,"Afrikaans",lcLocale) + *lcLocale = IIF(lnLocale=0x041c ,"Albanian",lcLocale) + *lcLocale = IIF(lnLocale=0x0401 ,"Arabic",lcLocale) && (Saudi Arabia) + *lcLocale = IIF(lnLocale=0x0801 ,"Arabic",lcLocale) && (Iraq) + *lcLocale = IIF(lnLocale=0x0c01 ,"Arabic",lcLocale) && (Egypt) + *lcLocale = IIF(lnLocale=0x1001 ,"Arabic",lcLocale) && (Libya) + *lcLocale = IIF(lnLocale=0x1401 ,"Arabic",lcLocale) && (Algeria) + *lcLocale = IIF(lnLocale=0x1801 ,"Arabic",lcLocale) && (Morocco) + *lcLocale = IIF(lnLocale=0x1c01 ,"Arabic",lcLocale) && (Tunisia) + *lcLocale = IIF(lnLocale=0x2001 ,"Arabic",lcLocale) && (Oman) + *lcLocale = IIF(lnLocale=0x2401 ,"Arabic",lcLocale) && (Yemen) + *lcLocale = IIF(lnLocale=0x2801 ,"Arabic",lcLocale) && (Syria) + *lcLocale = IIF(lnLocale=0x2c01 ,"Arabic",lcLocale) && (Jordan) + *lcLocale = IIF(lnLocale=0x3001 ,"Arabic",lcLocale) && (Lebanon) + *lcLocale = IIF(lnLocale=0x3401 ,"Arabic",lcLocale) && (Kuwait) + *lcLocale = IIF(lnLocale=0x3801 ,"Arabic",lcLocale) && (U.A.E.) + *lcLocale = IIF(lnLocale=0x3c01 ,"Arabic",lcLocale) && (Bahrain) + *lcLocale = IIF(lnLocale=0x4001 ,"Arabic",lcLocale) && (Qatar) + *lcLocale = IIF(lnLocale=0x042b ,"Armenian",lcLocale) + *lcLocale = IIF(lnLocale=0x042c ,"Azeri",lcLocale) && (Latin) + *lcLocale = IIF(lnLocale=0x082c ,"Azeri",lcLocale) && (Cyrillic) + *lcLocale = IIF(lnLocale=0x042d ,"Basque",lcLocale) + *lcLocale = IIF(lnLocale=0x0423 ,"Belarusian",lcLocale) + *lcLocale = IIF(lnLocale=0x0402 ,"Bulgarian",lcLocale) + *lcLocale = IIF(lnLocale=0x0455 ,"Burmese",lcLocale) + *lcLocale = IIF(lnLocale=0x0403 ,"Catalan",lcLocale) + *lcLocale = IIF(lnLocale=0x0404 ,"Chinese",lcLocale) && (Taiwan) + *lcLocale = IIF(lnLocale=0x0804 ,"Chinese",lcLocale) && (PRC) + *lcLocale = IIF(lnLocale=0x0c04 ,"Chinese",lcLocale) && (Hong Kong SAR, PRC) + *lcLocale = IIF(lnLocale=0x1004 ,"Chinese",lcLocale) && (Singapore) + *lcLocale = IIF(lnLocale=0x1404 ,"Chinese",lcLocale) && (Macau SAR) + *lcLocale = IIF(lnLocale=0x041a ,"Croatian",lcLocale) + *lcLocale = IIF(lnLocale=0x0405 ,"Czech",lcLocale) + *lcLocale = IIF(lnLocale=0x0406 ,"Danish",lcLocale) + *lcLocale = IIF(lnLocale=0x0465 ,"Divehi",lcLocale) + lcLocale = IIF(lnLocale=0x0413 ,"Dutch",lcLocale) && (Netherlands) + lcLocale = IIF(lnLocale=0x0813 ,"Dutch",lcLocale) && (Belgium) + lcLocale = IIF(lnLocale=0x0409 ,"English",lcLocale) && (United States) + lcLocale = IIF(lnLocale=0x0809 ,"English",lcLocale) && (United Kingdom) + lcLocale = IIF(lnLocale=0x0c09 ,"English",lcLocale) && (Australian) + lcLocale = IIF(lnLocale=0x1009 ,"English",lcLocale) && (Canadian) + lcLocale = IIF(lnLocale=0x1409 ,"English",lcLocale) && (New Zealand) + lcLocale = IIF(lnLocale=0x1809 ,"English",lcLocale) && (Ireland) + lcLocale = IIF(lnLocale=0x1c09 ,"English",lcLocale) && (South Africa) + lcLocale = IIF(lnLocale=0x2009 ,"English",lcLocale) && (Jamaica) + lcLocale = IIF(lnLocale=0x2409 ,"English",lcLocale) && (Caribbean) + lcLocale = IIF(lnLocale=0x2809 ,"English",lcLocale) && (Belize) + lcLocale = IIF(lnLocale=0x2c09 ,"English",lcLocale) && (Trinidad) + lcLocale = IIF(lnLocale=0x3009 ,"English",lcLocale) && (Zimbabwe) + lcLocale = IIF(lnLocale=0x3409 ,"English",lcLocale) && (Philippines) + *lcLocale = IIF(lnLocale=0x0425 ,"Estonian",lcLocale) + *lcLocale = IIF(lnLocale=0x0438 ,"Faeroese",lcLocale) + *lcLocale = IIF(lnLocale=0x0429 ,"Farsi",lcLocale) + *lcLocale = IIF(lnLocale=0x040b ,"Finnish",lcLocale) + lcLocale = IIF(lnLocale=0x040c ,"French",lcLocale) && (Standard) + lcLocale = IIF(lnLocale=0x080c ,"French",lcLocale) && (Belgian) + lcLocale = IIF(lnLocale=0x0c0c ,"French",lcLocale) && (Canadian) + lcLocale = IIF(lnLocale=0x100c ,"French",lcLocale) && (Switzerland) + lcLocale = IIF(lnLocale=0x140c ,"French",lcLocale) && (Luxembourg) + lcLocale = IIF(lnLocale=0x180c ,"French",lcLocale) && (Monaco) + *lcLocale = IIF(lnLocale=0x0456 ,"Galician",lcLocale) + *lcLocale = IIF(lnLocale=0x0437 ,"Georgian",lcLocale) + lcLocale = IIF(lnLocale=0x0407 ,"German",lcLocale) && (Standard) + lcLocale = IIF(lnLocale=0x0807 ,"German",lcLocale) && (Switzerland) + lcLocale = IIF(lnLocale=0x0c07 ,"German",lcLocale) && (Austria) + lcLocale = IIF(lnLocale=0x1007 ,"German",lcLocale) && (Luxembourg) + lcLocale = IIF(lnLocale=0x1407 ,"German",lcLocale) && (Liechtenstein) + *lcLocale = IIF(lnLocale=0x0408 ,"Greek",lcLocale) + *lcLocale = IIF(lnLocale=0x0447 ,"Gujaratci",lcLocale) + *lcLocale = IIF(lnLocale=0x040d ,"Hebrew",lcLocale) + *lcLocale = IIF(lnLocale=0x0439 ,"Hindi",lcLocale) + *lcLocale = IIF(lnLocale=0x040e ,"Hungarian",lcLocale) + *lcLocale = IIF(lnLocale=0x040f ,"Icelandic",lcLocale) + *lcLocale = IIF(lnLocale=0x0421 ,"Indonesian",lcLocale) + lcLocale = IIF(lnLocale=0x0410 ,"Italian",lcLocale) && (Standard) + lcLocale = IIF(lnLocale=0x0810 ,"Italian",lcLocale) && (Switzerland) + *lcLocale = IIF(lnLocale=0x0411 ,"Japanese",lcLocale) + *lcLocale = IIF(lnLocale=0x044b ,"Kannada",lcLocale) + *lcLocale = IIF(lnLocale=0x0457 ,"Konkani",lcLocale) + *lcLocale = IIF(lnLocale=0x0412 ,"Korean",lcLocale) + *lcLocale = IIF(lnLocale=0x0812 ,"Korean",lcLocale) && (Johab) + *lcLocale = IIF(lnLocale=0x0440 ,"Kyrgyz",lcLocale) + *lcLocale = IIF(lnLocale=0x0426 ,"Latvian",lcLocale) + *lcLocale = IIF(lnLocale=0x0427 ,"Lithuanian",lcLocale) + *lcLocale = IIF(lnLocale=0x0827 ,"Lithuanian",lcLocale) && (Classic) + *lcLocale = IIF(lnLocale=0x042f ,"FYRO Macedonian",lcLocale) + *lcLocale = IIF(lnLocale=0x043e ,"Malay",lcLocale) && (Malaysian) + *lcLocale = IIF(lnLocale=0x083e ,"Malay",lcLocale) && (Brunei Darussalam) + *lcLocale = IIF(lnLocale=0x044e ,"Maratchi",lcLocale) + *lcLocale = IIF(lnLocale=0x0450 ,"Mongolian",lcLocale) + *lcLocale = IIF(lnLocale=0x0414 ,"Norwegian",lcLocale) && (Bokmal) + *lcLocale = IIF(lnLocale=0x0814 ,"Norwegian",lcLocale) && (Nynorsk) + *lcLocale = IIF(lnLocale=0x0415 ,"Polish",lcLocale) + lcLocale = IIF(lnLocale=0x0416 ,"Portuguese",lcLocale) && (Brazil) + lcLocale = IIF(lnLocale=0x0816 ,"Portuguese",lcLocale) && (Portugal) + *lcLocale = IIF(lnLocale=0x0446 ,"Punjabi",lcLocale) + lcLocale = IIF(lnLocale=0x0418 ,"Romana",lcLocale) + lcLocale = IIF(lnLocale=0x0419 ,"Russian",lcLocale) + *lcLocale = IIF(lnLocale=0x044f ,"Sanskrit",lcLocale) + *lcLocale = IIF(lnLocale=0x0c1a ,"Serbian",lcLocale) && (Cyrillic) + *lcLocale = IIF(lnLocale=0x081a ,"Serbian",lcLocale) && (Latin) + *lcLocale = IIF(lnLocale=0x041b ,"Slovak",lcLocale) + *lcLocale = IIF(lnLocale=0x0424 ,"Slovenian",lcLocale) + lcLocale = IIF(lnLocale=0x040a ,"Spanish",lcLocale) && (Spain, Traditional Sort) + lcLocale = IIF(lnLocale=0x080a ,"Spanish",lcLocale) && (Mexican) + lcLocale = IIF(lnLocale=0x0c0a ,"Spanish",lcLocale) && (Spain, Modern Sort) + lcLocale = IIF(lnLocale=0x100a ,"Spanish",lcLocale) && (Guatemala) + lcLocale = IIF(lnLocale=0x140a ,"Spanish",lcLocale) && (Costa Rica) + lcLocale = IIF(lnLocale=0x180a ,"Spanish",lcLocale) && (Panama) + lcLocale = IIF(lnLocale=0x1c0a ,"Spanish",lcLocale) && (Dominican Republic) + lcLocale = IIF(lnLocale=0x200a ,"Spanish",lcLocale) && (Venezuela) + lcLocale = IIF(lnLocale=0x240a ,"Spanish",lcLocale) && (Colombia) + lcLocale = IIF(lnLocale=0x280a ,"Spanish",lcLocale) && (Peru) + lcLocale = IIF(lnLocale=0x2c0a ,"Spanish",lcLocale) && (Argentina) + lcLocale = IIF(lnLocale=0x300a ,"Spanish",lcLocale) && (Ecuador) + lcLocale = IIF(lnLocale=0x340a ,"Spanish",lcLocale) && (Chile) + lcLocale = IIF(lnLocale=0x380a ,"Spanish",lcLocale) && (Uruguay) + lcLocale = IIF(lnLocale=0x3c0a ,"Spanish",lcLocale) && (Paraguay) + lcLocale = IIF(lnLocale=0x400a ,"Spanish",lcLocale) && (Bolivia) + lcLocale = IIF(lnLocale=0x440a ,"Spanish",lcLocale) && (El Salvador) + lcLocale = IIF(lnLocale=0x480a ,"Spanish",lcLocale) && (Honduras) + lcLocale = IIF(lnLocale=0x4c0a ,"Spanish",lcLocale) && (Nicaragua) + lcLocale = IIF(lnLocale=0x500a ,"Spanish",lcLocale) && (Puerto Rico) + *lcLocale = IIF(lnLocale=0x0430 ,"Sutu",lcLocale) + *lcLocale = IIF(lnLocale=0x0441 ,"Swahili",lcLocale) && (Kenya) + *lcLocale = IIF(lnLocale=0x041d ,"Swedish",lcLocale) + *lcLocale = IIF(lnLocale=0x081d ,"Swedish",lcLocale) && (Finland) + *lcLocale = IIF(lnLocale=0x045a ,"Syriac",lcLocale) + *lcLocale = IIF(lnLocale=0x0449 ,"Tamil",lcLocale) + *lcLocale = IIF(lnLocale=0x0444 ,"Tatar",lcLocale) && (Tatarstan) + *lcLocale = IIF(lnLocale=0x044a ,"Telugu",lcLocale) + *lcLocale = IIF(lnLocale=0x041e ,"Thai",lcLocale) + *lcLocale = IIF(lnLocale=0x041f ,"Turkish",lcLocale) + *lcLocale = IIF(lnLocale=0x0422 ,"Ukrainian",lcLocale) + *lcLocale = IIF(lnLocale=0x0420 ,"Urdu",lcLocale) && (Pakistan) + *lcLocale = IIF(lnLocale=0x0820 ,"Urdu",lcLocale) && (India) + *lcLocale = IIF(lnLocale=0x0443 ,"Uzbek",lcLocale) && (Latin) + *lcLocale = IIF(lnLocale=0x0843 ,"Uzbek",lcLocale) && (Cyrillic) + *lcLocale = IIF(lnLocale=0x042a ,"Vietnamese",lcLocale) + ELSE + *-------------------------------------------- + * System Level + *-------------------------------------------- + * - get from System Default + DECLARE INTEGER GetSystemDefaultLangID IN kernel32 + lnLocale = BITAND( GetSystemDefaultLangID(),0x1FF) + *- Gregory L Reichert 02/09/2004 07:02:43 LOCALE.SETUP : (1) : remove CLEAR DLLS, in VFP 6.0, it clears all DLLS. (suggested by: Bhavbhuti Nathwani ) + + *lcLocale = IIF(lnLocale=0x00 ,"Neutral", lcLocale ) + *lcLocale = IIF(lnLocale=0x01 ,"Arabic", lcLocale ) + *lcLocale = IIF(lnLocale=0x02 ,"Bulgarian", lcLocale ) + *lcLocale = IIF(lnLocale=0x03 ,"Catalan", lcLocale ) + *lcLocale = IIF(lnLocale=0x04 ,"Chinese", lcLocale ) + *lcLocale = IIF(lnLocale=0x05 ,"Czech", lcLocale ) + lcLocale = IIF(lnLocale=0x06 ,"Danish", lcLocale ) + lcLocale = IIF(lnLocale=0x07 ,"German", lcLocale ) + lcLocale = IIF(lnLocale=0x08 ,"Greek", lcLocale ) + lcLocale = IIF(lnLocale=0x09 ,"English", lcLocale ) + lcLocale = IIF(lnLocale=0x0a ,"Spanish", lcLocale ) + *lcLocale = IIF(lnLocale=0x0b ,"Finnish", lcLocale ) + lcLocale = IIF(lnLocale=0x0c ,"French", lcLocale ) + *lcLocale = IIF(lnLocale=0x0d ,"Hebrew", lcLocale ) + *lcLocale = IIF(lnLocale=0x0e ,"Hungarian", lcLocale ) + *lcLocale = IIF(lnLocale=0x0f ,"Icelandic", lcLocale ) + lcLocale = IIF(lnLocale=0x10 ,"Italian", lcLocale ) + *lcLocale = IIF(lnLocale=0x11 ,"Japanese", lcLocale ) + *lcLocale = IIF(lnLocale=0x12 ,"Korean", lcLocale ) + lcLocale = IIF(lnLocale=0x13 ,"Dutch", lcLocale ) + lcLocale = IIF(lnLocale=0x14 ,"Norwegian", lcLocale ) + *lcLocale = IIF(lnLocale=0x15 ,"Polish", lcLocale ) + lcLocale = IIF(lnLocale=0x16 ,"Portuguese", lcLocale ) + lcLocale = IIF(lnLocale=0x18 ,"Romana", lcLocale ) + lcLocale = IIF(lnLocale=0x19 ,"Russian", lcLocale ) + *lcLocale = IIF(lnLocale=0x1a ,"Croatian", lcLocale ) + *lcLocale = IIF(lnLocale=0x1a ,"Serbian", lcLocale ) + *lcLocale = IIF(lnLocale=0x1b ,"Slovak", lcLocale ) + *lcLocale = IIF(lnLocale=0x1c ,"Albanian", lcLocale ) + *lcLocale = IIF(lnLocale=0x1d ,"Swedish", lcLocale ) + *lcLocale = IIF(lnLocale=0x1e ,"Thai", lcLocale ) + *lcLocale = IIF(lnLocale=0x1f ,"Turkish", lcLocale ) + *lcLocale = IIF(lnLocale=0x20 ,"Urdu", lcLocale ) + *lcLocale = IIF(lnLocale=0x21 ,"Indonesian", lcLocale ) + *lcLocale = IIF(lnLocale=0x22 ,"Ukrainian", lcLocale ) + *lcLocale = IIF(lnLocale=0x23 ,"Belarusian", lcLocale ) + *lcLocale = IIF(lnLocale=0x24 ,"Slovenian", lcLocale ) + *lcLocale = IIF(lnLocale=0x25 ,"Estonian", lcLocale ) + *lcLocale = IIF(lnLocale=0x26 ,"Latvian", lcLocale ) + *lcLocale = IIF(lnLocale=0x27 ,"Lithuanian", lcLocale ) + *lcLocale = IIF(lnLocale=0x29 ,"Farsi", lcLocale ) + *lcLocale = IIF(lnLocale=0x2a ,"Vietnamese", lcLocale ) + *lcLocale = IIF(lnLocale=0x2b ,"Armenian", lcLocale ) + *lcLocale = IIF(lnLocale=0x2c ,"Azeri", lcLocale ) + *lcLocale = IIF(lnLocale=0x2d ,"Basque", lcLocale ) + *lcLocale = IIF(lnLocale=0x2f ,"FYRO Macedonian", lcLocale ) + *lcLocale = IIF(lnLocale=0x36 ,"Afrikaans", lcLocale ) + *lcLocale = IIF(lnLocale=0x37 ,"Georgian", lcLocale ) + *lcLocale = IIF(lnLocale=0x38 ,"Faeroese", lcLocale ) + *lcLocale = IIF(lnLocale=0x39 ,"Hindi", lcLocale ) + *lcLocale = IIF(lnLocale=0x3e ,"Malay", lcLocale ) + *lcLocale = IIF(lnLocale=0x3f ,"Kazak", lcLocale ) + *lcLocale = IIF(lnLocale=0x40 ,"Kyrgyz", lcLocale ) + *lcLocale = IIF(lnLocale=0x41 ,"Swahili", lcLocale ) + *lcLocale = IIF(lnLocale=0x43 ,"Uzbek", lcLocale ) + *lcLocale = IIF(lnLocale=0x44 ,"Tatar", lcLocale ) + *lcLocale = IIF(lnLocale=0x46 ,"Punjabi", lcLocale ) + *lcLocale = IIF(lnLocale=0x47 ,"Gujaratci", lcLocale ) + *lcLocale = IIF(lnLocale=0x49 ,"Tamil", lcLocale ) + *lcLocale = IIF(lnLocale=0x4a ,"Telugu", lcLocale ) + *lcLocale = IIF(lnLocale=0x4b ,"Kannada", lcLocale ) + *lcLocale = IIF(lnLocale=0x4e ,"Maratchi", lcLocale ) + *lcLocale = IIF(lnLocale=0x4f ,"Sanskrit", lcLocale ) + *lcLocale = IIF(lnLocale=0x50 ,"Mongolian", lcLocale ) + *lcLocale = IIF(lnLocale=0x56 ,"Galician", lcLocale ) + *lcLocale = IIF(lnLocale=0x57 ,"Konkani", lcLocale ) + *lcLocale = IIF(lnLocale=0x5a ,"Syriac", lcLocale ) + *lcLocale = IIF(lnLocale=0x65 ,"Divehi", lcLocale ) + + ENDIF + ENDIF + ENDIF + THIS.Locale = lcLocale + + RETURN + + + ENDPROC + + PROCEDURE sqlexec && Executes SQL statement either locally or remotely. + ENDPROC + + PROCEDURE translate && Translate a phrase to a different language + ENDPROC + + PROCEDURE translate_property && Translates a single property of an object + ENDPROC + + PROCEDURE unescape && Remove HTML conversions + ENDPROC + +ENDDEFINE diff --git a/clase/oOptiuni.vc2 b/clase/oOptiuni.vc2 new file mode 100644 index 0000000..448f484 --- /dev/null +++ b/clase/oOptiuni.vc2 @@ -0,0 +1,1462 @@ +*-------------------------------------------------------------------------------------------------------------------------------------------------------- +* (EN) AUTOGENERATED - ATTENTION!! - NOT INTENDED FOR EXECUTION!! USE ONLY FOR MERGING CHANGES AND STORING WITH SCM TOOLS!! +*-------------------------------------------------------------------------------------------------------------------------------------------------------- +*< FOXBIN2PRG: Version="1.21" SourceFile="ooptiuni.vcx" CPID="1252" /> (Solo para binarios VFP 9 / Only for VFP 9 binaries) +* +* +DEFINE CLASS cus_odata_cote AS _cusodatabase OF "..\libs\_cus_odata_base.vcx" + *< CLASSDATA: Baseclass="custom" Timestamp="" Scale="Pixels" Uniqueid="" /> + + #INCLUDE "..\..\program files\microsoft visual foxpro 8\foxpro.h" + * + *p: cschema + * + + * + cschema = + Name = "cus_odata_cote" + * + + PROCEDURE make_sql + Lparameters toRec,tnId + + lcActiune = Alltrim(This.cActiune) + lcs = this.cschema + If Inlist(lcActiune, "UPDATE",'INSERT') And Type('toRec') != "O" + Return .F. + Endif + + If Inlist(lcActiune, "UPDATE",'DELETE') And Type('tnId') != "N" + Return .F. + Endif + + IF INLIST(lcActiune, "UPDATE",'DELETE') + lcId = Alltrim(Str(tnId)) + + ENDIF + + + If Inlist(lcActiune, "UPDATE",'INSERT') + lcnume = Nvl(STRTRAN(Alltrim(Upper(toRec.descriere)),['],['']),"") + lcLuna = ALLTRIM(STR(toRec.luna)) + lcAn = ALLTRIM(STR(toRec.an)) + lcProcent = ALLTRIM(STR(toRec.procent)) + lcproc = ALLTRIM(STR(toRec.proc_tva,5,2)) + + Endif + + + Do Case + Case lcActiune = "INSERT" + + lcSql = [INSERT INTO ] + lcS + [.cote_tva (descriere,procent,proc_tva,an,luna) VALUES ('] +; + lcnume + [',] + lcProcent + [,] + lcproc + [,] + lcan + [,] + lcluna + [)] + + Case lcActiune = "UPDATE" + + lcSql = [UPDATE ] + lcS + [.cote_tva SET descriere = '] + lcnume + ; + [', procent = ] + lcprocent + [,proc_tva = ] + lcproc + [, an = ] + lcan + [, luna = ] + lcluna +; + [ where id_proc_tva = ] + lcId + + + Case lcActiune = "DELETE" + + lcSql = [delete from ] + lcS + [.cote_tva where id_proc_tva=] + lcId + + Endcase + + This.csql = lcSql + + ENDPROC + +ENDDEFINE + +DEFINE CLASS cus_odata_exceptii AS _cusodatabase OF "..\libs\_cus_odata_base.vcx" + *< CLASSDATA: Baseclass="custom" Timestamp="" Scale="Pixels" Uniqueid="" /> + + #INCLUDE "..\..\program files\microsoft visual foxpro 8\foxpro.h" + * + *p: cschema + * + + * + cschema = + Name = "cus_odata_exceptii" + * + + PROCEDURE make_sql + Lparameters toRec,tnId + + lcActiune = Alltrim(This.cActiune) + lcs = this.cschema + If Inlist(lcActiune, "UPDATE",'INSERT') And Type('toRec') != "O" + Return .F. + Endif + + If Inlist(lcActiune, "UPDATE",'DELETE') And Type('tnId') != "N" + Return .F. + Endif + + IF INLIST(lcActiune, "UPDATE",'DELETE') + lcId = Alltrim(Str(tnId)) + + ENDIF + + + If Inlist(lcActiune, "UPDATE",'INSERT') + lcCont = Nvl(STRTRAN(Alltrim(Upper(toRec.cont)),['],['']),"") + lcContC = Nvl(STRTRAN(Alltrim(Upper(toRec.cont_c)),['],['']),"") + lcDebit = ALLTRIM(STR(toRec.debit)) + lcInvers = '1' + + Endif + + + Do Case + Case lcActiune = "INSERT" + + lcSql = [INSERT INTO ] + lcS + [.exceptii_ireg (cont,cont_c,debit,invers) VALUES ('] +; + lcCont + [','] + lcContC + [',] + lcDebit + [,] + lcInvers + [)] + + Case lcActiune = "UPDATE" + + lcSql = [UPDATE ] + lcS + [.exceptii_ireg SET cont = '] + lccont + ; + [', cont_c = '] + lcContC + [',debit = ] + lcDebit + [, invers = ] + lcInvers +; + [ where id_exceptii = ] + lcId + + + Case lcActiune = "DELETE" + + lcSql = [delete from ] + lcS + [.exceptii_ireg where id_exceptii = ] + lcId + Endcase + + This.csql = lcSql + + ENDPROC + +ENDDEFINE + +DEFINE CLASS cus_odata_optiuni AS _cusodatabase OF "..\libs\_cus_odata_base.vcx" + *< CLASSDATA: Baseclass="custom" Timestamp="" Scale="Pixels" Uniqueid="" /> + + #INCLUDE "..\..\program files\microsoft visual foxpro 8\foxpro.h" + * + *p: cschema + * + + * + cschema = + Name = "cus_odata_optiuni" + * + + PROCEDURE make_sql + Lparameters toRec,tnId + + lcActiune = Alltrim(This.cActiune) + lcs = this.cschema + If Inlist(lcActiune, "UPDATE",'INSERT') And Type('toRec') != "O" + Return .F. + Endif + + If Inlist(lcActiune, "UPDATE",'DELETE') And Type('tnId') != "N" + Return .F. + Endif + + IF INLIST(lcActiune, "UPDATE",'DELETE') + lcId = Alltrim(Str(tnId)) + + ENDIF + + If Inlist(lcActiune, "UPDATE",'DELETE') + lcId = Alltrim(Str(tnId)) + Endif + + If Inlist(lcActiune, "UPDATE",'INSERT') + lcnume = Nvl(STRTRAN(Alltrim(Upper(toRec.varname)),['],['']),"") + lctip = Nvl(STRTRAN(Alltrim(Upper(toRec.vartype)),['],['']),"") + lcval = Nvl(STRTRAN(Alltrim(Upper(toRec.varvalue)),['],['']),"") + lcdesc = Nvl(STRTRAN(Alltrim(Upper(toRec.vardesc)),['],['']),"") + + + Endif + + + Do Case + Case lcActiune = "INSERT" + + lcSql = [INSERT INTO ] + lcS + [.optiuni (varname,vartype,varvalue,vardesc) VALUES ('] +; + lcnume + [','] + lctip + [','] + lcval + [','] + lcdesc + [')] + + Case lcActiune = "UPDATE" + + lcSql = [UPDATE ] + lcS + [.optiuni SET varname = '] + lcnume + ; + [', vartype = '] + lctip + [',varvalue = '] + lcval + [', vardesc = '] + lcdesc + ; + [' where id_optiuni = ] + lcId + + Case lcActiune = "DELETE" + + lcSql = [delete from ] + lcS + [.optiuni where id_optiuni=] + lcId + + Endcase + + This.csql = lcSql + + ENDPROC + +ENDDEFINE + +DEFINE CLASS frm_cote_nou AS _frmbase OF "_frm_base.vcx" + *< CLASSDATA: Baseclass="form" Timestamp="" Scale="Pixels" Uniqueid="" /> + + *-- OBJECTDATA items order determines ZOrder / El orden de los items OBJECTDATA determina el ZOrder + *< OBJECTDATA: ObjPath="But_renunt1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="Clb_tx_simplu1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="Clb_tx_simplu3" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="Clb_tx_simplu6" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="Clb_tx_simplu2" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="Cus_odata_cote1" UniqueID="" Timestamp="" /> + + * + *p: cschema + *p: nid + *p: orec + * + + * + BorderStyle = 1 + DoCreate = .T. + Height = 165 + Name = "frm_cote_nou" + Width = 314 + _shape1.Name = "_shape1" + _shape2.Height = 29 + _shape2.Left = 252 + _shape2.Name = "_shape2" + _shape2.Top = 0 + _shape2.Width = 76 + Lb_titlu_alb_b121.Caption = "Cote tva" + Lb_titlu_alb_b121.Name = "Lb_titlu_alb_b121" + Lb_titlu_alb_b121.TabIndex = 7 + BUT_TERMIN1.Left = 283 + BUT_TERMIN1.Name = "BUT_TERMIN1" + BUT_TERMIN1.TabIndex = 5 + BUT_TERMIN1.Top = 1 + Gridsort1.Name = "Gridsort1" + * + + ADD OBJECT 'But_renunt1' AS but_renunt WITH ; + Left = 253, ; + Name = "But_renunt1", ; + TabIndex = 6, ; + Top = 1 + *< END OBJECT: ClassLib="cmd_butoane.vcx" BaseClass="commandbutton" /> + + ADD OBJECT 'Clb_tx_simplu1' AS clb_tx_simplu WITH ; + Left = 15, ; + Name = "Clb_tx_simplu1", ; + TabIndex = 1, ; + Top = 44, ; + Text_simplu1.ControlSource = "porec.descriere", ; + Text_simplu1.Format = "!K", ; + Text_simplu1.Name = "Text_simplu1", ; + Lb_simplu1.Caption = "Descriere", ; + Lb_simplu1.Name = "Lb_simplu1" + *< END OBJECT: ClassLib="lb_tx.vcx" BaseClass="container" /> + + ADD OBJECT 'Clb_tx_simplu2' AS clb_tx_simplu WITH ; + Left = 15, ; + Name = "Clb_tx_simplu2", ; + TabIndex = 2, ; + Top = 72, ; + Text_simplu1.ControlSource = "porec.procent", ; + Text_simplu1.Format = "!K", ; + Text_simplu1.Name = "Text_simplu1", ; + Lb_simplu1.Caption = "Procent", ; + Lb_simplu1.Name = "Lb_simplu1" + *< END OBJECT: ClassLib="lb_tx.vcx" BaseClass="container" /> + + ADD OBJECT 'Clb_tx_simplu3' AS clb_tx_simplu WITH ; + Left = 15, ; + Name = "Clb_tx_simplu3", ; + TabIndex = 3, ; + Top = 100, ; + Text_simplu1.ControlSource = "porec.luna", ; + Text_simplu1.Format = "!K", ; + Text_simplu1.Name = "Text_simplu1", ; + Lb_simplu1.Caption = "Luna", ; + Lb_simplu1.Name = "Lb_simplu1" + *< END OBJECT: ClassLib="lb_tx.vcx" BaseClass="container" /> + + ADD OBJECT 'Clb_tx_simplu6' AS clb_tx_simplu WITH ; + Left = 15, ; + Name = "Clb_tx_simplu6", ; + TabIndex = 4, ; + Top = 128, ; + Text_simplu1.ControlSource = "porec.an", ; + Text_simplu1.Format = "!K", ; + Text_simplu1.Name = "Text_simplu1", ; + Lb_simplu1.Caption = "An", ; + Lb_simplu1.Name = "Lb_simplu1" + *< END OBJECT: ClassLib="lb_tx.vcx" BaseClass="container" /> + + ADD OBJECT 'Cus_odata_cote1' AS cus_odata_cote WITH ; + Left = 120, ; + Name = "Cus_odata_cote1", ; + Top = 26 + *< END OBJECT: ClassLib="ooptiuni.vcx" BaseClass="custom" /> + + PROCEDURE inainte_de_do_termin + LOCAL PLRETURN + + lccontrol = UPPER(this.ActiveControl.BaseClass ) + IF INLIST(lccontrol,"TEXTBOX","EDITBOX","COMBOBOX") + lcval=This.Activecontrol.controlsource + &lcval=thisform.ActiveControl.value + ENDIF + + + Do Case + Case Empty(porec.descriere) + aMessagebox('Nu ati completat descrierea cotei de tva!',0+48,"Atentie") + This.clb_tx_simplu1.SetFocus() + plreturn=.F. + + *!* Case Empty(porec.procent) + *!* Messagebox('Nu ati completat procentul de tva!',0+48,"Atentie") + *!* This.clb_tx_simplu2.SetFocus() + *!* plreturn=.F. + + Case Empty(porec.luna) + aMessagebox('Nu ati completat luna!',0+48,"Atentie") + This.clb_tx_simplu3.SetFocus() + plreturn=.F. + + Case Empty(porec.an) + aMessagebox('Nu ati completat anul!',0+48,"Atentie") + This.clb_tx_simplu6.SetFocus() + plreturn=.F. + + OTHERWISE + this.cus_odata_cote1.cschema=this.cschema + PLRETURN=This.cus_odata_cote1.salvare(This.OREC,This.NID) + ENDCASE + + Return PLRETURN + + ENDPROC + + PROCEDURE Init + LPARAMETERS toRec, tnId, tcActiune + + DODEFAULT() + + this.orec= toRec + this.nid = tnId + this.cus_odata_cote1.cactiune = tcActiune + ENDPROC + + PROCEDURE Clb_tx_simplu2.Text_simplu1.Valid + + porec.proc_tva = (100+this.value)/100 + ENDPROC + +ENDDEFINE + +DEFINE CLASS frm_cote_tva AS _frmbase OF "_frm_base.vcx" + *< CLASSDATA: Baseclass="form" Timestamp="" Scale="Pixels" Uniqueid="" /> + + *-- OBJECTDATA items order determines ZOrder / El orden de los items OBJECTDATA determina el ZOrder + *< OBJECTDATA: ObjPath="grid_cot" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="grid_cot.Column1.Header1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="grid_cot.Column1.Text1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="grid_cot.Column2.Header1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="grid_cot.Column2.Text1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="grid_cot.Column3.Header1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="grid_cot.Column3.Text1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="grid_cot.Column4.Header1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="grid_cot.Column4.Text1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="Cmd_cauta1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="lb_nom_cot" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="But_nou1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="But_sterge1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="But_modifica1" UniqueID="" Timestamp="" /> + + * + *p: cschema + * + + * + BorderStyle = 1 + cschema = CONTAFIN_ORACLE + DoCreate = .T. + Height = 351 + Name = "frm_cote_tva" + Width = 524 + _shape1.Height = 29 + _shape1.Left = 0 + _shape1.Name = "_shape1" + _shape1.Top = 0 + _shape1.Width = 522 + _shape2.Height = 29 + _shape2.Left = 402 + _shape2.Name = "_shape2" + _shape2.Top = 0 + _shape2.Width = 120 + Lb_titlu_alb_b121.Caption = "COTE TVA" + Lb_titlu_alb_b121.Name = "Lb_titlu_alb_b121" + BUT_TERMIN1.Left = 494 + BUT_TERMIN1.Name = "BUT_TERMIN1" + BUT_TERMIN1.Top = 1 + Gridsort1.Name = "Gridsort1" + * + + ADD OBJECT 'But_modifica1' AS but_modifica WITH ; + Left = 434, ; + Name = "But_modifica1", ; + Top = 1 + *< END OBJECT: ClassLib="cmd_butoane.vcx" BaseClass="commandbutton" /> + + ADD OBJECT 'But_nou1' AS but_nou WITH ; + Left = 403, ; + Name = "But_nou1", ; + Top = 1 + *< END OBJECT: ClassLib="cmd_butoane.vcx" BaseClass="commandbutton" /> + + ADD OBJECT 'But_sterge1' AS but_sterge WITH ; + Left = 463, ; + Name = "But_sterge1", ; + Top = 1 + *< END OBJECT: ClassLib="cmd_butoane.vcx" BaseClass="commandbutton" /> + + ADD OBJECT 'Cmd_cauta1' AS cmd_cauta WITH ; + Left = 299, ; + Name = "Cmd_cauta1", ; + TabIndex = 2, ; + Top = 52 + *< END OBJECT: ClassLib="cmd_butoane.vcx" BaseClass="commandbutton" /> + + ADD OBJECT 'grid_cot' AS _grid WITH ; + ColumnCount = 4, ; + DeleteMark = .F., ; + Height = 264, ; + Left = 5, ; + Name = "grid_cot", ; + Panel = 1, ; + RecordSource = "v_cote_tva", ; + RowHeight = 23, ; + Top = 84, ; + Width = 513, ; + Column1.ControlSource = "descriere", ; + Column1.Name = "Column1", ; + Column1.Width = 305, ; + Column2.ControlSource = "procent", ; + Column2.Name = "Column2", ; + Column2.Width = 66, ; + Column3.ControlSource = "luna", ; + Column3.Name = "Column3", ; + Column3.Width = 43, ; + Column4.ControlSource = "an", ; + Column4.Name = "Column4", ; + Column4.Width = 64 + *< END OBJECT: ClassLib="_baza.vcx" BaseClass="grid" /> + + ADD OBJECT 'grid_cot.Column1.Header1' AS header WITH ; + Alignment = 2, ; + Caption = "Descriere", ; + Name = "Header1" + *< END OBJECT: BaseClass="header" /> + + ADD OBJECT 'grid_cot.Column1.Text1' AS textbox WITH ; + BackColor = 255,255,255, ; + BorderStyle = 0, ; + ForeColor = 0,0,0, ; + Margin = 0, ; + Name = "Text1" + *< END OBJECT: BaseClass="textbox" /> + + ADD OBJECT 'grid_cot.Column2.Header1' AS header WITH ; + Alignment = 2, ; + Caption = "Procent %", ; + Name = "Header1" + *< END OBJECT: BaseClass="header" /> + + ADD OBJECT 'grid_cot.Column2.Text1' AS textbox WITH ; + BackColor = 255,255,255, ; + BorderStyle = 0, ; + ForeColor = 0,0,0, ; + Margin = 0, ; + Name = "Text1" + *< END OBJECT: BaseClass="textbox" /> + + ADD OBJECT 'grid_cot.Column3.Header1' AS header WITH ; + Alignment = 2, ; + Caption = "Luna", ; + Name = "Header1" + *< END OBJECT: BaseClass="header" /> + + ADD OBJECT 'grid_cot.Column3.Text1' AS textbox WITH ; + Height = 23, ; + Left = 31, ; + Name = "Text1", ; + Top = 35, ; + Width = 100 + *< END OBJECT: BaseClass="textbox" /> + + ADD OBJECT 'grid_cot.Column4.Header1' AS header WITH ; + Alignment = 2, ; + Caption = "An", ; + Name = "Header1" + *< END OBJECT: BaseClass="header" /> + + ADD OBJECT 'grid_cot.Column4.Text1' AS textbox WITH ; + BackColor = 255,255,255, ; + BorderStyle = 0, ; + ForeColor = 0,0,0, ; + Margin = 0, ; + Name = "Text1" + *< END OBJECT: BaseClass="textbox" /> + + ADD OBJECT 'lb_nom_cot' AS clb_tx_simplu WITH ; + Left = 8, ; + Name = "lb_nom_cot", ; + TabIndex = 1, ; + Top = 52, ; + Text_simplu1.Name = "Text_simplu1", ; + Lb_simplu1.Caption = "Nume", ; + Lb_simplu1.Name = "Lb_simplu1" + *< END OBJECT: ClassLib="lb_tx.vcx" BaseClass="container" /> + + PROCEDURE actualizeaza_grid1 + LPARAMETERS pcFiltru + LOCAL lcFiltru + lcFiltru=pcFiltru + IF EMPTY(lcFiltru) + lcFiltru=pcot.ca_baza1.cfiltru + ENDIF + save_grid_tag(thisform.grid_cot) + pcot.ca_baza1.cfiltru=lcFiltru + pcot.ca_baza1.afisare() + restore_grid_tag(thisform.grid_cot) + IF RECCOUNT('v_cote_tva')>0 + thisform.grid_cot.SetFocus() + ELSE + thisform.lb_nom_cot.SetFocus() + ENDIF + + ENDPROC + + PROCEDURE do_adauga + SELECT v_cote_tva + SCATTER NAME loRec BLANK + PRIVATE lcot,poRec + lcot='' + poRec = loRec + DO Adauga_Modifica_Inregistrare WITH "cote",loRec,,"INSERT",.t.,'lcot' + lcot.cschema = this.cschema + lcot.show(1) + RELEASE lcot,poRec + this.actualizeaza_grid1() + ENDPROC + + PROCEDURE do_cauta + Local lcFiltru + lcFiltru=[] + lcNume = STRTRAN(Upper(Alltrim(This.lb_nom_cot.text_simplu1.value)),['],['']) + If !Empty(lcNume) + lcFiltru=[descriere like ']+lcNume+[%' and an=]+pcAn + ELSE + lcFiltru = [an=]+pcAn + Endif + This.MousePointer= 11 + This.LockScreen=.T. + Thisform.actualizeaza_grid1(lcFiltru) + IF RECCOUNT()=0 + aMESSAGEBOX("Cautarea nu a intors rezultate!",0+64,"Info cautare") + ENDIF + This.LockScreen=.F. + This.MousePointer= 0 + ENDPROC + + PROCEDURE do_modifica + Select v_cote_tva + Scatter Name loRec + PRIVATE lcot,poRec + lcot = '' + poRec = loRec + Do Adauga_Modifica_Inregistrare With "cote",loRec,loRec.Id_proc_tva,"UPDATE",.t.,'lcot' + lcot.cschema = this.cschema + lcot.show(1) + RELEASE lcot,poRec + thisform.actualizeaza_grid1() + ENDPROC + + PROCEDURE do_sterge + SELECT v_cote_tva + SCATTER NAME lorec MEMO + PRIVATE lcot + lcot = '' + Do STERGE_INREGISTRARE With "cote",loRec.id_proc_tva,.t.,'lcot' + lcot.cschema = this.cschema + lcot.salvare(,loRec.id_proc_tva) + RELEASE lcot + + this.actualizeaza_grid1() + + + ENDPROC + + PROCEDURE Unload + IF USED('v_cote_tva') + USE IN v_cote_tva + ENDIF + ENDPROC + +ENDDEFINE + +DEFINE CLASS frm_exceptii_ireg AS _frmbase OF "_frm_base.vcx" + *< CLASSDATA: Baseclass="form" Timestamp="" Scale="Pixels" Uniqueid="" /> + + *-- OBJECTDATA items order determines ZOrder / El orden de los items OBJECTDATA determina el ZOrder + *< OBJECTDATA: ObjPath="grid_ex" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="grid_ex.Column1.Header1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="grid_ex.Column1.Text1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="grid_ex.Column2.Header1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="grid_ex.Column2.Text1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="grid_ex.Column3.Header1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="grid_ex.Column3.Text1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="grid_ex.Column4.Header1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="grid_ex.Column4.Text1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="grid_ex.Column5.Header1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="grid_ex.Column5.Text1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="Cmd_cauta1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="lb_nom_ex" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="But_nou1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="But_sterge1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="But_modifica1" UniqueID="" Timestamp="" /> + + * + *p: cschema + * + + * + BorderStyle = 1 + cschema = CONTAFIN_ORACLE + DoCreate = .T. + Height = 351 + Name = "frm_exceptii_ireg" + Width = 463 + _shape1.Height = 29 + _shape1.Left = 0 + _shape1.Name = "_shape1" + _shape1.Top = 0 + _shape1.Width = 466 + _shape2.Height = 29 + _shape2.Left = 346 + _shape2.Name = "_shape2" + _shape2.Top = 0 + _shape2.Width = 120 + Lb_titlu_alb_b121.Caption = "EXCEPTII" + Lb_titlu_alb_b121.Name = "Lb_titlu_alb_b121" + BUT_TERMIN1.Left = 433 + BUT_TERMIN1.Name = "BUT_TERMIN1" + BUT_TERMIN1.Top = 1 + Gridsort1.Name = "Gridsort1" + * + + ADD OBJECT 'But_modifica1' AS but_modifica WITH ; + Left = 373, ; + Name = "But_modifica1", ; + Top = 1 + *< END OBJECT: ClassLib="cmd_butoane.vcx" BaseClass="commandbutton" /> + + ADD OBJECT 'But_nou1' AS but_nou WITH ; + Left = 342, ; + Name = "But_nou1", ; + Top = 1 + *< END OBJECT: ClassLib="cmd_butoane.vcx" BaseClass="commandbutton" /> + + ADD OBJECT 'But_sterge1' AS but_sterge WITH ; + Left = 402, ; + Name = "But_sterge1", ; + Top = 1 + *< END OBJECT: ClassLib="cmd_butoane.vcx" BaseClass="commandbutton" /> + + ADD OBJECT 'Cmd_cauta1' AS cmd_cauta WITH ; + Left = 299, ; + Name = "Cmd_cauta1", ; + TabIndex = 2, ; + Top = 52 + *< END OBJECT: ClassLib="cmd_butoane.vcx" BaseClass="commandbutton" /> + + ADD OBJECT 'grid_ex' AS _grid WITH ; + ColumnCount = 5, ; + DeleteMark = .F., ; + Height = 264, ; + Left = 4, ; + Name = "grid_ex", ; + Panel = 1, ; + RecordSource = "v_exceptii_ireg", ; + RowHeight = 23, ; + Top = 84, ; + Width = 456, ; + Column1.ControlSource = "cont", ; + Column1.Name = "Column1", ; + Column1.Width = 124, ; + Column2.ControlSource = "cont_c", ; + Column2.Name = "Column2", ; + Column2.Width = 119, ; + Column3.ControlSource = "iif(debit=0,'DEBIT','CREDIT')", ; + Column3.Name = "Column3", ; + Column3.Width = 179, ; + Column4.ControlSource = "invers", ; + Column4.Name = "Column4", ; + Column4.Visible = .F., ; + Column4.Width = 59, ; + Column5.ControlSource = "id_set", ; + Column5.Name = "Column5", ; + Column5.Visible = .F., ; + Column5.Width = 70 + *< END OBJECT: ClassLib="_baza.vcx" BaseClass="grid" /> + + ADD OBJECT 'grid_ex.Column1.Header1' AS header WITH ; + Alignment = 2, ; + Caption = "Cont", ; + Name = "Header1" + *< END OBJECT: BaseClass="header" /> + + ADD OBJECT 'grid_ex.Column1.Text1' AS textbox WITH ; + BackColor = 255,255,255, ; + BorderStyle = 0, ; + ForeColor = 0,0,0, ; + Margin = 0, ; + Name = "Text1" + *< END OBJECT: BaseClass="textbox" /> + + ADD OBJECT 'grid_ex.Column2.Header1' AS header WITH ; + Alignment = 2, ; + Caption = "Cont_corespondent", ; + Name = "Header1" + *< END OBJECT: BaseClass="header" /> + + ADD OBJECT 'grid_ex.Column2.Text1' AS textbox WITH ; + BackColor = 255,255,255, ; + BorderStyle = 0, ; + ForeColor = 0,0,0, ; + Margin = 0, ; + Name = "Text1" + *< END OBJECT: BaseClass="textbox" /> + + ADD OBJECT 'grid_ex.Column3.Header1' AS header WITH ; + Alignment = 2, ; + Caption = "Pozitie cont", ; + Name = "Header1" + *< END OBJECT: BaseClass="header" /> + + ADD OBJECT 'grid_ex.Column3.Text1' AS textbox WITH ; + Height = 23, ; + Left = 31, ; + Name = "Text1", ; + Top = 35, ; + Width = 100 + *< END OBJECT: BaseClass="textbox" /> + + ADD OBJECT 'grid_ex.Column4.Header1' AS header WITH ; + Alignment = 2, ; + Caption = "Invers", ; + Name = "Header1" + *< END OBJECT: BaseClass="header" /> + + ADD OBJECT 'grid_ex.Column4.Text1' AS textbox WITH ; + BackColor = 255,255,255, ; + BorderStyle = 0, ; + ForeColor = 0,0,0, ; + Margin = 0, ; + Name = "Text1", ; + Visible = .F. + *< END OBJECT: BaseClass="textbox" /> + + ADD OBJECT 'grid_ex.Column5.Header1' AS header WITH ; + Alignment = 2, ; + Caption = "Id_set", ; + Name = "Header1" + *< END OBJECT: BaseClass="header" /> + + ADD OBJECT 'grid_ex.Column5.Text1' AS textbox WITH ; + BackColor = 255,255,255, ; + BorderStyle = 0, ; + ForeColor = 0,0,0, ; + Margin = 0, ; + Name = "Text1", ; + Visible = .F. + *< END OBJECT: BaseClass="textbox" /> + + ADD OBJECT 'lb_nom_ex' AS clb_tx_simplu WITH ; + Left = 8, ; + Name = "lb_nom_ex", ; + TabIndex = 1, ; + Top = 52, ; + Text_simplu1.Name = "Text_simplu1", ; + Lb_simplu1.Caption = "Cont", ; + Lb_simplu1.Name = "Lb_simplu1" + *< END OBJECT: ClassLib="lb_tx.vcx" BaseClass="container" /> + + PROCEDURE actualizeaza_grid1 + LPARAMETERS pcFiltru + LOCAL lcFiltru + lcFiltru=pcFiltru + IF EMPTY(lcFiltru) + lcFiltru=pex.ca_baza1.cfiltru + ENDIF + save_grid_tag(thisform.grid_ex) + pex.ca_baza1.cfiltru=lcFiltru + pex.ca_baza1.afisare() + restore_grid_tag(thisform.grid_ex) + IF RECCOUNT('v_exceptii_ireg')>0 + thisform.grid_ex.SetFocus() + ELSE + thisform.lb_nom_ex.SetFocus() + ENDIF + + ENDPROC + + PROCEDURE do_adauga + SELECT v_exceptii_ireg + SCATTER NAME loRec BLANK + PRIVATE lex,poRec + + lex='' + poRec = loRec + DO Adauga_Modifica_Inregistrare WITH "exceptii",loRec,,"INSERT",.t.,'lex' + lex.cschema = this.cschema + lex.show(1) + RELEASE lex,poRec + this.actualizeaza_grid1() + ENDPROC + + PROCEDURE do_cauta + Local lcFiltru + lcFiltru=[] + lcNume = STRTRAN(Upper(Alltrim(This.lb_nom_ex.text_simplu1.value)),['],['']) + If !Empty(lcNume) + lcFiltru=[cont like ']+lcNume+[%'] + ELSE + lcFiltru = [2=2] + Endif + This.MousePointer= 11 + This.LockScreen=.T. + Thisform.actualizeaza_grid1(lcFiltru) + IF RECCOUNT()=0 + aMESSAGEBOX("Cautarea nu a intors rezultate!",0+64,"Info cautare") + ENDIF + This.LockScreen=.F. + This.MousePointer= 0 + ENDPROC + + PROCEDURE do_modifica + Select v_exceptii_ireg + Scatter Name loRec + PRIVATE lex,poRec + lex = '' + poRec = loRec + Do Adauga_Modifica_Inregistrare With "exceptii",loRec,loRec.Id_exceptii,"UPDATE",.t.,'lex' + lex.cschema = this.cschema + lex.show(1) + RELEASE lex,poRec + thisform.actualizeaza_grid1() + ENDPROC + + PROCEDURE do_sterge + SELECT v_exceptii_ireg + SCATTER NAME lorec MEMO + PRIVATE lex + lex = '' + Do STERGE_INREGISTRARE With "exceptii",loRec.id_exceptii,.t.,'lex' + lex.cschema = this.cschema + lex.salvare(,loRec.id_exceptii) + RELEASE lex + + this.actualizeaza_grid1() + + + ENDPROC + + PROCEDURE Unload + IF USED('v_exceptii_ireg') + USE IN v_exceptii_ireg + ENDIF + ENDPROC + +ENDDEFINE + +DEFINE CLASS frm_exceptii_nou AS _frmbase OF "_frm_base.vcx" + *< CLASSDATA: Baseclass="form" Timestamp="" Scale="Pixels" Uniqueid="" /> + + *-- OBJECTDATA items order determines ZOrder / El orden de los items OBJECTDATA determina el ZOrder + *< OBJECTDATA: ObjPath="But_renunt1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="Clb_tx_simplu1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="Clb_tx_simplu2" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="Cus_odata_exceptii1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="Cb_tx_simplu1" UniqueID="" Timestamp="" /> + + * + *p: cschema + *p: nid + *p: orec + * + + * + BorderStyle = 1 + DoCreate = .T. + Height = 133 + Name = "frm_exceptii_nou" + Width = 314 + _shape1.Name = "_shape1" + _shape2.Height = 29 + _shape2.Left = 252 + _shape2.Name = "_shape2" + _shape2.Top = 0 + _shape2.Width = 76 + Lb_titlu_alb_b121.Caption = "Exceptii" + Lb_titlu_alb_b121.Name = "Lb_titlu_alb_b121" + Lb_titlu_alb_b121.TabIndex = 6 + BUT_TERMIN1.Left = 283 + BUT_TERMIN1.Name = "BUT_TERMIN1" + BUT_TERMIN1.TabIndex = 4 + BUT_TERMIN1.Top = 1 + Gridsort1.Name = "Gridsort1" + * + + ADD OBJECT 'But_renunt1' AS but_renunt WITH ; + Left = 253, ; + Name = "But_renunt1", ; + TabIndex = 5, ; + Top = 1 + *< END OBJECT: ClassLib="cmd_butoane.vcx" BaseClass="commandbutton" /> + + ADD OBJECT 'Cb_tx_simplu1' AS cb_tx_simplu WITH ; + Height = 29, ; + Left = 15, ; + Name = "Cb_tx_simplu1", ; + TabIndex = 3, ; + Top = 102, ; + Width = 290, ; + _cbbase1.BoundTo = .T., ; + _cbbase1.Name = "_cbbase1", ; + _cbbase1.RowSource = "DEBIT,CREDIT", ; + _cbbase1.RowSourceType = 1, ; + _lbbase1.Caption = "Pozitie", ; + _lbbase1.Name = "_lbbase1" + *< END OBJECT: ClassLib="lb_tx.vcx" BaseClass="container" /> + + ADD OBJECT 'Clb_tx_simplu1' AS clb_tx_simplu WITH ; + Left = 15, ; + Name = "Clb_tx_simplu1", ; + TabIndex = 1, ; + Top = 44, ; + Text_simplu1.ControlSource = "porec.cont", ; + Text_simplu1.Format = "!K", ; + Text_simplu1.Name = "Text_simplu1", ; + Lb_simplu1.Caption = "Cont", ; + Lb_simplu1.Name = "Lb_simplu1" + *< END OBJECT: ClassLib="lb_tx.vcx" BaseClass="container" /> + + ADD OBJECT 'Clb_tx_simplu2' AS clb_tx_simplu WITH ; + Left = 15, ; + Name = "Clb_tx_simplu2", ; + TabIndex = 2, ; + Top = 72, ; + Text_simplu1.ControlSource = "porec.cont_c", ; + Text_simplu1.Format = "!K", ; + Text_simplu1.Name = "Text_simplu1", ; + Lb_simplu1.Caption = "Corespondent", ; + Lb_simplu1.Name = "Lb_simplu1" + *< END OBJECT: ClassLib="lb_tx.vcx" BaseClass="container" /> + + ADD OBJECT 'Cus_odata_exceptii1' AS cus_odata_exceptii WITH ; + Left = 168, ; + Name = "Cus_odata_exceptii1", ; + Top = 33 + *< END OBJECT: ClassLib="ooptiuni.vcx" BaseClass="custom" /> + + PROCEDURE inainte_de_do_termin + LOCAL PLRETURN + + porec.debit = IIF(this.cb_tx_simplu1._CBBASE1.Value="DEBIT",0,1) + lccontrol = UPPER(this.ActiveControl.BaseClass ) + IF INLIST(lccontrol,"TEXTBOX","EDITBOX","COMBOBOX") + lcval=This.Activecontrol.controlsource + &lcval=thisform.ActiveControl.value + ENDIF + + + Do Case + Case Empty(porec.cont) + aMessagebox('Nu ati completat contul!',0+48,"Atentie") + This.clb_tx_simplu1.SetFocus() + plreturn=.F. + + Case Empty(porec.cont_c) + aMessagebox('Nu ati completat contul corespondent!',0+48,"Atentie") + This.clb_tx_simplu2.SetFocus() + plreturn=.F. + + *!* Case Empty(porec.debit) + *!* Messagebox('Nu ati completat pozitia contului!',0+48,"Atentie") + *!* This.clb_tx_simplu3.SetFocus() + *!* plreturn=.F. + + OTHERWISE + + lcCont = ALLTRIM(porec.cont) + lcContC = ALLTRIM(porec.cont_c) + lcSql = [select * from ] + gcS + [.plcont where cont=]+lcCont + lcCursor = [cur_cont] + lnSucces = goExecutor.oExecute(lcSql,lcCursor) + goExecutor.oReset() &&Verific contu in plcont + + IF RECCOUNT('cur_cont')=0 + aMESSAGEBOX('Contul '+lcCont+' nu este definit in planul de conturi!',0,'Eroare') + PLRETURN=.f. + USE IN cur_cont + RETURN PLRETURN + ENDIF + IF USED('cur_cont') + USE IN cur_cont + ENDIF + + lcSql = [select * from ] + gcS + [.plcont where cont=]+lcContC + lcCursor = [cur_cont_c] + lnSucces = goExecutor.oExecute(lcSql,lcCursor) + goExecutor.oReset() &&Verific contul corespondent + IF RECCOUNT('cur_cont_c')=0 + aMESSAGEBOX('Contul '+lcContC+' nu este definit in planul de conturi!',0,'Eroare') + PLRETURN=.f. + USE IN cur_cont_c + RETURN PLRETURN + ENDIF + IF USED('cur_cont_c') + USE IN cur_cont_c + ENDIF + this.cus_odata_exceptii1.cschema=this.cschema + PLRETURN=This.cus_odata_exceptii1.salvare(This.OREC,This.NID) + ENDCASE + + Return PLRETURN + + ENDPROC + + PROCEDURE Init + LPARAMETERS toRec, tnId, tcActiune + + DODEFAULT() + IF porec.debit=0 + this.cb_tx_simplu1._cBBASE1.DisplayValue='DEBIT' + ELSE + this.cb_tx_simplu1._cBBASE1.DisplayValue='CREDIT' + ENDIF + this.orec= toRec + this.nid = tnId + this.cus_odata_exceptii1.cactiune = tcActiune + ENDPROC + +ENDDEFINE + +DEFINE CLASS frm_optiuni AS _frmbase OF "_frm_base.vcx" + *< CLASSDATA: Baseclass="form" Timestamp="" Scale="Pixels" Uniqueid="" /> + + *-- OBJECTDATA items order determines ZOrder / El orden de los items OBJECTDATA determina el ZOrder + *< OBJECTDATA: ObjPath="grid_opt" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="grid_opt.Column1.Header1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="grid_opt.Column1.Text1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="grid_opt.Column2.Header1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="grid_opt.Column2.Text1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="grid_opt.Column3.Header1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="grid_opt.Column3.Edit1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="grid_opt.Column4.Header1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="grid_opt.Column4.Text1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="Cmd_cauta1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="lb_nom_opt" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="But_nou1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="But_sterge1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="But_modifica1" UniqueID="" Timestamp="" /> + + * + *p: cschema + * + + * + BorderStyle = 1 + cschema = CONTAFIN_ORACLE + DoCreate = .T. + Height = 351 + Name = "frm_optiuni" + Width = 524 + _shape1.Height = 29 + _shape1.Left = 0 + _shape1.Name = "_shape1" + _shape1.Top = 0 + _shape1.Width = 522 + _shape2.Height = 29 + _shape2.Left = 402 + _shape2.Name = "_shape2" + _shape2.Top = 0 + _shape2.Width = 120 + Lb_titlu_alb_b121.Caption = "OPTIUNI" + Lb_titlu_alb_b121.Name = "Lb_titlu_alb_b121" + BUT_TERMIN1.Left = 494 + BUT_TERMIN1.Name = "BUT_TERMIN1" + BUT_TERMIN1.Top = 1 + Gridsort1.Name = "Gridsort1" + * + + ADD OBJECT 'But_modifica1' AS but_modifica WITH ; + Left = 434, ; + Name = "But_modifica1", ; + Top = 1 + *< END OBJECT: ClassLib="cmd_butoane.vcx" BaseClass="commandbutton" /> + + ADD OBJECT 'But_nou1' AS but_nou WITH ; + Left = 403, ; + Name = "But_nou1", ; + Top = 1 + *< END OBJECT: ClassLib="cmd_butoane.vcx" BaseClass="commandbutton" /> + + ADD OBJECT 'But_sterge1' AS but_sterge WITH ; + Left = 463, ; + Name = "But_sterge1", ; + Top = 1 + *< END OBJECT: ClassLib="cmd_butoane.vcx" BaseClass="commandbutton" /> + + ADD OBJECT 'Cmd_cauta1' AS cmd_cauta WITH ; + Left = 299, ; + Name = "Cmd_cauta1", ; + TabIndex = 2, ; + Top = 52 + *< END OBJECT: ClassLib="cmd_butoane.vcx" BaseClass="commandbutton" /> + + ADD OBJECT 'grid_opt' AS _grid WITH ; + ColumnCount = 4, ; + DeleteMark = .F., ; + Height = 264, ; + Left = 5, ; + Name = "grid_opt", ; + Panel = 1, ; + RecordSource = "v_optiuni", ; + RowHeight = 23, ; + Top = 84, ; + Width = 513, ; + Column1.ControlSource = "varname", ; + Column1.Name = "Column1", ; + Column1.Width = 106, ; + Column2.ControlSource = "vartype", ; + Column2.Name = "Column2", ; + Column2.Width = 70, ; + Column3.ControlSource = "varvalue", ; + Column3.Name = "Column3", ; + Column3.Sparse = .F., ; + Column3.Width = 157, ; + Column4.ControlSource = "vardesc", ; + Column4.Name = "Column4", ; + Column4.Width = 145 + *< END OBJECT: ClassLib="_baza.vcx" BaseClass="grid" /> + + ADD OBJECT 'grid_opt.Column1.Header1' AS header WITH ; + Alignment = 2, ; + Caption = "Nume", ; + Name = "Header1" + *< END OBJECT: BaseClass="header" /> + + ADD OBJECT 'grid_opt.Column1.Text1' AS textbox WITH ; + BackColor = 255,255,255, ; + BorderStyle = 0, ; + ForeColor = 0,0,0, ; + Margin = 0, ; + Name = "Text1" + *< END OBJECT: BaseClass="textbox" /> + + ADD OBJECT 'grid_opt.Column2.Header1' AS header WITH ; + Alignment = 2, ; + Caption = "Tip data", ; + Name = "Header1" + *< END OBJECT: BaseClass="header" /> + + ADD OBJECT 'grid_opt.Column2.Text1' AS textbox WITH ; + BackColor = 255,255,255, ; + BorderStyle = 0, ; + ForeColor = 0,0,0, ; + Margin = 0, ; + Name = "Text1" + *< END OBJECT: BaseClass="textbox" /> + + ADD OBJECT 'grid_opt.Column3.Edit1' AS editbox WITH ; + Height = 53, ; + Left = 94, ; + Name = "Edit1", ; + Top = 23, ; + Width = 100 + *< END OBJECT: BaseClass="editbox" /> + + ADD OBJECT 'grid_opt.Column3.Header1' AS header WITH ; + Alignment = 2, ; + Caption = "Valoare", ; + Name = "Header1" + *< END OBJECT: BaseClass="header" /> + + ADD OBJECT 'grid_opt.Column4.Header1' AS header WITH ; + Alignment = 2, ; + Caption = "Descriere", ; + Name = "Header1" + *< END OBJECT: BaseClass="header" /> + + ADD OBJECT 'grid_opt.Column4.Text1' AS textbox WITH ; + BackColor = 255,255,255, ; + BorderStyle = 0, ; + ForeColor = 0,0,0, ; + Margin = 0, ; + Name = "Text1" + *< END OBJECT: BaseClass="textbox" /> + + ADD OBJECT 'lb_nom_opt' AS clb_tx_simplu WITH ; + Left = 8, ; + Name = "lb_nom_opt", ; + TabIndex = 1, ; + Top = 52, ; + Text_simplu1.Name = "Text_simplu1", ; + Lb_simplu1.Caption = "Nume", ; + Lb_simplu1.Name = "Lb_simplu1" + *< END OBJECT: ClassLib="lb_tx.vcx" BaseClass="container" /> + + PROCEDURE actualizeaza_grid1 + LPARAMETERS pcFiltru + LOCAL lcFiltru + lcFiltru=pcFiltru + IF EMPTY(lcFiltru) + lcFiltru=popt.ca_baza1.cfiltru + ENDIF + save_grid_tag(thisform.grid_opt) + popt.ca_baza1.cfiltru=lcFiltru + popt.ca_baza1.afisare() + restore_grid_tag(thisform.grid_opt) + IF RECCOUNT('v_optiuni')>0 + thisform.grid_opt.SetFocus() + ELSE + thisform.lb_nom_opt.SetFocus() + ENDIF + + ENDPROC + + PROCEDURE do_adauga + SELECT v_optiuni + SCATTER NAME loRec MEMO BLANK + PRIVATE lopt,poRec + lopt='' + poRec = loRec + DO Adauga_Modifica_Inregistrare WITH "optiuni",loRec,,"INSERT",.t.,'lopt' + lopt.cschema = this.cschema + lopt.show(1) + RELEASE lopt,poRec + this.actualizeaza_grid1() + ENDPROC + + PROCEDURE do_cauta + Local lcFiltru + lcFiltru=[] + lcNume = STRTRAN(Upper(Alltrim(This.lb_nom_opt.text_simplu1.value)),['],['']) + If !Empty(lcNume) + lcFiltru=[varname like ']+lcNume+[%'] + ELSE + lcFiltru = [2=2] + Endif + This.MousePointer= 11 + This.LockScreen=.T. + Thisform.actualizeaza_grid1(lcFiltru) + IF RECCOUNT()=0 + aMESSAGEBOX("Cautarea nu a intors rezultate!",0+64,"Info cautare") + ENDIF + This.LockScreen=.F. + This.MousePointer= 0 + ENDPROC + + PROCEDURE do_modifica + Select v_optiuni + Scatter Name loRec MEMO + PRIVATE lopt,poRec + lopt = '' + poRec = loRec + Do Adauga_Modifica_Inregistrare With "optiuni",loRec,loRec.Id_optiuni,"UPDATE",.t.,'lopt' + lopt.cschema = this.cschema + lopt.show(1) + RELEASE lopt,poRec + thisform.actualizeaza_grid1() + ENDPROC + + PROCEDURE do_sterge + SELECT v_optiuni + SCATTER NAME lorec MEMO + PRIVATE lopt + lopt = '' + Do STERGE_INREGISTRARE With "optiuni",loRec.id_optiuni,.t.,'lopt' + lopt.cschema = this.cschema + lopt.salvare(,loRec.id_optiuni) + RELEASE lopt + + this.actualizeaza_grid1() + + + ENDPROC + + PROCEDURE Unload + IF USED('v_optiuni') + USE IN v_optiuni + ENDIF + ENDPROC + +ENDDEFINE + +DEFINE CLASS frm_optiuni_nou AS _frmbase OF "_frm_base.vcx" + *< CLASSDATA: Baseclass="form" Timestamp="" Scale="Pixels" Uniqueid="" /> + + *-- OBJECTDATA items order determines ZOrder / El orden de los items OBJECTDATA determina el ZOrder + *< OBJECTDATA: ObjPath="But_renunt1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="Clb_tx_simplu1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="Clb_tx_simplu3" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="Clb_tx_simplu6" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="Cus_odata_optiuni1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="Cb_tx_simplu1" UniqueID="" Timestamp="" /> + + * + *p: cschema + *p: nid + *p: orec + * + + * + BorderStyle = 1 + DoCreate = .T. + Height = 165 + Name = "frm_optiuni_nou" + Width = 314 + _shape1.Name = "_shape1" + _shape2.Height = 29 + _shape2.Left = 252 + _shape2.Name = "_shape2" + _shape2.Top = 0 + _shape2.Width = 76 + Lb_titlu_alb_b121.Caption = "Optiuni" + Lb_titlu_alb_b121.Name = "Lb_titlu_alb_b121" + Lb_titlu_alb_b121.TabIndex = 7 + BUT_TERMIN1.Left = 283 + BUT_TERMIN1.Name = "BUT_TERMIN1" + BUT_TERMIN1.TabIndex = 5 + BUT_TERMIN1.Top = 1 + Gridsort1.Name = "Gridsort1" + * + + ADD OBJECT 'But_renunt1' AS but_renunt WITH ; + Left = 253, ; + Name = "But_renunt1", ; + TabIndex = 6, ; + Top = 1 + *< END OBJECT: ClassLib="cmd_butoane.vcx" BaseClass="commandbutton" /> + + ADD OBJECT 'Cb_tx_simplu1' AS cb_tx_simplu WITH ; + Left = 15, ; + Name = "Cb_tx_simplu1", ; + TabIndex = 2, ; + Top = 72, ; + _cbbase1.ControlSource = "porec.vartype", ; + _cbbase1.Name = "_cbbase1", ; + _cbbase1.RowSource = "CHARACTER,CURRENCY,NUMERIC,DATETIME,DATE,LOGICAL", ; + _cbbase1.RowSourceType = 1, ; + _lbbase1.Caption = "Tip data", ; + _lbbase1.Name = "_lbbase1" + *< END OBJECT: ClassLib="lb_tx.vcx" BaseClass="container" /> + + ADD OBJECT 'Clb_tx_simplu1' AS clb_tx_simplu WITH ; + Left = 15, ; + Name = "Clb_tx_simplu1", ; + TabIndex = 1, ; + Top = 44, ; + Text_simplu1.ControlSource = "porec.varname", ; + Text_simplu1.Format = "!K", ; + Text_simplu1.Name = "Text_simplu1", ; + Lb_simplu1.Caption = "Nume", ; + Lb_simplu1.Name = "Lb_simplu1" + *< END OBJECT: ClassLib="lb_tx.vcx" BaseClass="container" /> + + ADD OBJECT 'Clb_tx_simplu3' AS clb_tx_simplu WITH ; + Left = 15, ; + Name = "Clb_tx_simplu3", ; + TabIndex = 3, ; + Top = 100, ; + Text_simplu1.ControlSource = "porec.varvalue", ; + Text_simplu1.Format = "!K", ; + Text_simplu1.Name = "Text_simplu1", ; + Lb_simplu1.Caption = "Valoare", ; + Lb_simplu1.Name = "Lb_simplu1" + *< END OBJECT: ClassLib="lb_tx.vcx" BaseClass="container" /> + + ADD OBJECT 'Clb_tx_simplu6' AS clb_tx_simplu WITH ; + Left = 15, ; + Name = "Clb_tx_simplu6", ; + TabIndex = 4, ; + Top = 128, ; + Text_simplu1.ControlSource = "porec.vardesc", ; + Text_simplu1.Format = "!K", ; + Text_simplu1.Name = "Text_simplu1", ; + Lb_simplu1.Caption = "Descriere", ; + Lb_simplu1.Name = "Lb_simplu1" + *< END OBJECT: ClassLib="lb_tx.vcx" BaseClass="container" /> + + ADD OBJECT 'Cus_odata_optiuni1' AS cus_odata_optiuni WITH ; + Left = 144, ; + Name = "Cus_odata_optiuni1", ; + Top = 24 + *< END OBJECT: ClassLib="ooptiuni.vcx" BaseClass="custom" /> + + PROCEDURE inainte_de_do_termin + LOCAL PLRETURN + + lccontrol = UPPER(this.ActiveControl.BaseClass ) + IF INLIST(lccontrol,"TEXTBOX","EDITBOX","COMBOBOX") + lcval=This.Activecontrol.controlsource + &lcval=thisform.ActiveControl.value + ENDIF + + + Do Case + Case Empty(porec.varname) + aMessagebox('Nu ati completat denumirea variabilei!',0+48,"Atentie") + This.clb_tx_simplu1.SetFocus() + plreturn=.F. + + Case Empty(porec.vartype) + aMessagebox('Nu ati completat tipul de data!',0+48,"Atentie") + This.CB_tx_simplu1.SetFocus() + plreturn=.F. + + Case Empty(porec.varvalue) + aMessagebox('Nu ati completat valoarea variabilei!',0+48,"Atentie") + This.clb_tx_simplu5.SetFocus() + plreturn=.F. + + OTHERWISE + this.cus_odata_optiuni1.cschema=this.cschema + PLRETURN=This.cus_odata_optiuni1.salvare(This.OREC,This.NID) + ENDCASE + + Return PLRETURN + + ENDPROC + + PROCEDURE Init + LPARAMETERS toRec, tnId, tcActiune + + DODEFAULT() + + this.orec= toRec + this.nid = tnId + this.cus_odata_optiuni1.cactiune = tcActiune + ENDPROC + +ENDDEFINE diff --git a/clase/obalanta.vc2 b/clase/obalanta.vc2 new file mode 100644 index 0000000..c517bc3 --- /dev/null +++ b/clase/obalanta.vc2 @@ -0,0 +1,7283 @@ +*-------------------------------------------------------------------------------------------------------------------------------------------------------- +* (EN) AUTOGENERATED - ATTENTION!! - NOT INTENDED FOR EXECUTION!! USE ONLY FOR MERGING CHANGES AND STORING WITH SCM TOOLS!! +*-------------------------------------------------------------------------------------------------------------------------------------------------------- +*< FOXBIN2PRG: Version="1.21" SourceFile="obalanta.vcx" CPID="1252" /> (Solo para binarios VFP 9 / Only for VFP 9 binaries) +* +* +DEFINE CLASS frm_balanta AS formtermin OF "_frm_base.vcx" + *< CLASSDATA: Baseclass="form" Timestamp="" Scale="Pixels" Uniqueid="" /> + + *-- OBJECTDATA items order determines ZOrder / El orden de los items OBJECTDATA determina el ZOrder + *< OBJECTDATA: ObjPath="But_listare1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="oMenuShortcut" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="But_excel1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="But_reface1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="txtprecdeb1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="Text1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="txtpreccred1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="Text2" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="txtcont" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="Label1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="Ct1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="txtcont2" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="Label2" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="But_modifica1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="Label3" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="Label4" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="Text7" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="Text8" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="Grid1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="Grid1.ccont.Header1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="Grid1.ccont.Text1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="Grid1.cdenumire.Header2" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="Grid1.cdenumire.Text1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="Grid1.cprecdeb.Header3" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="Grid1.cprecdeb.Text1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="Grid1.cpreccred.Header4" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="Grid1.cpreccred.Text1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="Grid1.cruldeb.Header5" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="Grid1.cruldeb.Text1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="Grid1.crulcred.Header6" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="Grid1.crulcred.Text1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="Grid1.ctotdeb.Header7" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="Grid1.ctotdeb.Text1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="Grid1.ctotcred.Header8" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="Grid1.ctotcred.Text1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="Grid1.csoldcred.Header1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="Grid1.csoldcred.Text1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="Grid1.csolddeb.Header1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="Grid1.csolddeb.Text1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="Grid1.cacont.Header1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="Grid1.cacont.Text1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="Grid1.cprecdeb1.Header1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="Grid1.cprecdeb1.Text1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="Grid1.cpreccred1.Header1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="Grid1.cpreccred1.Text1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="Grid1.cSucursala.Header1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="Grid1.cSucursala.Text1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="Grid1.cCod.Header1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="Grid1.cCod.Text1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="Text3" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="Text4" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="Text6" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="Label8" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="lblsld1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="lbldebit" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="lblcredit" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="_label1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="_label2" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="Text5" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="Label5" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="_label3" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="cktotal4" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="ckanalitic" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="cktotal2" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="cktotal1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="cktotal3" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="cksold1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="Gridextra1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="Check1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="Ck_cont" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="cboSucursale" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="Ck_acont" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="Ck_denumire" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="But_modiparam1" UniqueID="" Timestamp="" /> + + * + *m: adauga_linie + *m: afisactual + *m: butapend + *m: butdrept + *m: calculeaza + *m: calculeaza_orizontal + *m: calculeaza_vertical + *m: cfield_assign + *m: conditieistoricact + *m: do_situatii_cont + *m: fisacont + *m: in_bal + *m: meniu_as + *m: reconstruct + *m: rulcred + *m: ruldeb + *m: ruldebcred + *m: sterge_linie + *m: totcred + *m: totdeb + *m: totdebcred + *p: calias + *p: cbal + *p: ccont + *p: cfield + *p: cprocedurainainte + *p: lcentru + *p: nan1 + *p: nan2 + *p: nluna1 + *p: nluna2 + *p: nnewvalue + *p: noldvalue + *p: oafbalana + * + + * + AlwaysOnTop = .F. + BackColor = 255,255,255 + BorderStyle = 1 + calias = TBALANTA + cbal = + cbuton4 = but_reface1 + cfield = + cprocedurainainte = balanta + DoCreate = .T. + FontCharSet = 1 + FontName = "Arial" + FontSize = 10 + Height = 478 + lactiv1 = .F. + lactiv2 = .F. + lactiv3 = .F. + lactiv4 = .F. + lcentru = .F. + Name = "frm_balanta" + nan1 = 2000 + nan2 = 2000 + nluna1 = 1 + nluna2 = 1 + nnewvalue = 0 + noldvalue = 0 + ScrollBars = 0 + Width = 1024 + WindowType = 1 + _shape1.Anchor = 10 + _shape1.BorderStyle = 0 + _shape1.Height = 35 + _shape1.Left = 0 + _shape1.Name = "_shape1" + _shape1.Top = 0 + _shape1.Width = 1056 + _shape1.ZOrderSet = 1 + _shape2.Comment = "*:OnResize=RT" + _shape2.Height = 36 + _shape2.Left = 845 + _shape2.Name = "_shape2" + _shape2.Top = -1 + _shape2.Width = 177 + _shape2.ZOrderSet = 2 + Lb_titlu_alb_b121.Caption = "Balanta de verificare" + Lb_titlu_alb_b121.Name = "Lb_titlu_alb_b121" + Lb_titlu_alb_b121.TabIndex = 18 + Lb_titlu_alb_b121.ZOrderSet = 3 + BUT_TERMIN1.Anchor = 9 + BUT_TERMIN1.Comment = "*:OnResize=RT" + BUT_TERMIN1.Left = 992 + BUT_TERMIN1.Name = "BUT_TERMIN1" + BUT_TERMIN1.TabIndex = 17 + BUT_TERMIN1.Top = 4 + BUT_TERMIN1.ZOrderSet = 5 + Gridsort1.Left = 12 + Gridsort1.Name = "Gridsort1" + Gridsort1.Top = 252 + * + + ADD OBJECT '_label1' AS _label WITH ; + Anchor = 9, ; + AutoSize = .F., ; + BackColor = 255,255,255, ; + BackStyle = 1, ; + BorderStyle = 1, ; + Caption = " Rulaje", ; + Comment = "*:OnResize=RT", ; + FontCharSet = 238, ; + FontSize = 10, ; + Height = 17, ; + Left = 637, ; + Name = "_label1", ; + TabIndex = 40, ; + Top = 48, ; + Width = 126, ; + ZOrderSet = 31 + *< END OBJECT: ClassLib="_baza.vcx" BaseClass="label" /> + + ADD OBJECT '_label2' AS _label WITH ; + Anchor = 9, ; + AutoSize = .F., ; + BackColor = 255,255,255, ; + BackStyle = 1, ; + BorderStyle = 1, ; + Caption = " Total sume", ; + Comment = "*:OnResize=RT", ; + FontCharSet = 238, ; + FontSize = 10, ; + Height = 17, ; + Left = 765, ; + Name = "_label2", ; + TabIndex = 41, ; + Top = 48, ; + Width = 126, ; + ZOrderSet = 32 + *< END OBJECT: ClassLib="_baza.vcx" BaseClass="label" /> + + ADD OBJECT '_label3' AS _label WITH ; + AutoSize = .T., ; + BackStyle = 0, ; + Caption = "Afisare", ; + Comment = "*:OnResize=LT", ; + FontBold = .T., ; + Height = 18, ; + Left = 183, ; + Name = "_label3", ; + TabIndex = 32, ; + Top = 40, ; + Width = 46, ; + ZOrderSet = 19 + *< END OBJECT: ClassLib="_baza.vcx" BaseClass="label" /> + + ADD OBJECT 'But_excel1' AS but_excel WITH ; + Anchor = 9, ; + Comment = "*:OnResize=RT", ; + Left = 963, ; + Name = "But_excel1", ; + TabIndex = 16, ; + Top = 4, ; + Visible = .F., ; + ZOrderSet = 9 + *< END OBJECT: ClassLib="cmd_butoane.vcx" BaseClass="commandbutton" /> + + ADD OBJECT 'But_listare1' AS but_listare WITH ; + Anchor = 9, ; + Comment = "*:OnResize=RT", ; + Left = 933, ; + Name = "But_listare1", ; + TabIndex = 15, ; + Top = 4, ; + Visible = .F., ; + ZOrderSet = 7 + *< END OBJECT: ClassLib="cmd_butoane.vcx" BaseClass="commandbutton" /> + + ADD OBJECT 'But_modifica1' AS but_modifica WITH ; + Anchor = 9, ; + Comment = "*:OnResize=RT", ; + Left = 876, ; + Name = "But_modifica1", ; + TabIndex = 13, ; + Top = 4, ; + ZOrderSet = 18 + *< END OBJECT: ClassLib="cmd_butoane.vcx" BaseClass="commandbutton" /> + + ADD OBJECT 'But_modiparam1' AS but_modiparam WITH ; + Anchor = 9, ; + caction = do_situatii_cont, ; + Left = 904, ; + Name = "But_modiparam1", ; + TabIndex = 14, ; + ToolTipText = "Situatii cont", ; + Top = 4 + *< END OBJECT: ClassLib="cmd_butoane.vcx" BaseClass="commandbutton" /> + + ADD OBJECT 'But_reface1' AS but_reface WITH ; + Anchor = 9, ; + Comment = "*:OnResize=RT", ; + Left = 846, ; + Name = "But_reface1", ; + TabIndex = 12, ; + Top = 4, ; + Visible = .F., ; + ZOrderSet = 10 + *< END OBJECT: ClassLib="cmd_butoane.vcx" BaseClass="commandbutton" /> + + ADD OBJECT 'cboSucursale' AS _combobox WITH ; + Alignment = 0, ; + FontSize = 10, ; + Height = 24, ; + Left = 10, ; + Name = "cboSucursale", ; + RowSource = "", ; + RowSourceType = 1, ; + TabIndex = 5, ; + ToolTipText = "", ; + Top = 132, ; + Visible = .F., ; + Width = 171 + *< END OBJECT: ClassLib="_baza.vcx" BaseClass="combobox" /> + + ADD OBJECT 'Check1' AS checkbox WITH ; + Alignment = 0, ; + Anchor = 9, ; + BackStyle = 0, ; + Caption = "Sintetice", ; + Comment = "*:OnResize=RT", ; + FontSize = 10, ; + Height = 19, ; + Left = 308, ; + Name = "Check1", ; + SpecialEffect = 0, ; + Style = 1, ; + TabIndex = 43, ; + Top = 47, ; + Visible = .T., ; + Width = 71 + *< END OBJECT: BaseClass="checkbox" /> + + ADD OBJECT 'Ck_acont' AS ck_filtru_text WITH ; + Alignment = 0, ; + AutoSize = .T., ; + camp_nume = acont, ; + Caption = "", ; + Comment = "*:OnResize=ST", ; + FontCharSet = 1, ; + FontName = "Arial", ; + FontSize = 10, ; + Left = 146, ; + Name = "Ck_acont", ; + TabIndex = 45, ; + ToolTipText = "Selectie analitic", ; + Top = 87 + *< END OBJECT: ClassLib="caut_ora.vcx" BaseClass="checkbox" /> + + ADD OBJECT 'Ck_cont' AS ck_filtru_text WITH ; + Alignment = 0, ; + AutoSize = .T., ; + camp_nume = cont, ; + Caption = "", ; + Comment = "*:OnResize=ST", ; + FontCharSet = 1, ; + FontName = "Arial", ; + FontSize = 10, ; + Left = 146, ; + Name = "Ck_cont", ; + TabIndex = 44, ; + ToolTipText = "Selectie cont", ; + Top = 60 + *< END OBJECT: ClassLib="caut_ora.vcx" BaseClass="checkbox" /> + + ADD OBJECT 'Ck_denumire' AS ck_filtru_text WITH ; + Alignment = 0, ; + AutoSize = .T., ; + camp_nume = denumire, ; + Caption = "Denumire", ; + Comment = "*:OnResize=ST", ; + FontBold = .T., ; + FontCharSet = 1, ; + Left = 10, ; + Name = "Ck_denumire", ; + TabIndex = 4, ; + ToolTipText = "Selectie denumire", ; + Top = 110 + *< END OBJECT: ClassLib="caut_ora.vcx" BaseClass="checkbox" /> + + ADD OBJECT 'ckanalitic' AS checkbox WITH ; + Alignment = 0, ; + AutoSize = .T., ; + BackStyle = 0, ; + Caption = "Analitice", ; + Comment = "*:OnResize=LT", ; + ControlSource = "", ; + FontBold = .F., ; + FontName = "Arial", ; + FontSize = 10, ; + Height = 18, ; + Left = 184, ; + Name = "ckanalitic", ; + TabIndex = 7, ; + Top = 70, ; + Value = 0, ; + Width = 69, ; + ZOrderSet = 37 + *< END OBJECT: BaseClass="checkbox" /> + + ADD OBJECT 'cksold1' AS checkbox WITH ; + Alignment = 0, ; + AutoSize = .T., ; + BackStyle = 0, ; + Caption = "\ + + ADD OBJECT 'cktotal1' AS checkbox WITH ; + Alignment = 0, ; + AutoSize = .T., ; + BackStyle = 0, ; + Caption = "Total clase (gr.1)", ; + Comment = "*:OnResize=LT", ; + ControlSource = "", ; + FontBold = .F., ; + FontName = "Arial", ; + FontSize = 10, ; + Height = 18, ; + Left = 184, ; + Name = "cktotal1", ; + TabIndex = 9, ; + Top = 98, ; + Value = 0, ; + Width = 116, ; + ZOrderSet = 37 + *< END OBJECT: BaseClass="checkbox" /> + + ADD OBJECT 'cktotal2' AS checkbox WITH ; + Alignment = 0, ; + AutoSize = .T., ; + BackStyle = 0, ; + Caption = "Total grupe (gr.2)", ; + Comment = "*:OnResize=LT", ; + ControlSource = "", ; + FontBold = .F., ; + FontName = "Arial", ; + FontSize = 10, ; + Height = 18, ; + Left = 184, ; + Name = "cktotal2", ; + TabIndex = 10, ; + Top = 112, ; + Value = 0, ; + Width = 117, ; + ZOrderSet = 37 + *< END OBJECT: BaseClass="checkbox" /> + + ADD OBJECT 'cktotal3' AS checkbox WITH ; + Alignment = 0, ; + AutoSize = .T., ; + BackStyle = 0, ; + Caption = "Total conturi (gr.3)", ; + Comment = "*:OnResize=LT", ; + ControlSource = "", ; + FontBold = .F., ; + FontName = "Arial", ; + FontSize = 10, ; + Height = 18, ; + Left = 184, ; + Name = "cktotal3", ; + TabIndex = 11, ; + Top = 126, ; + Value = 0, ; + Width = 124, ; + ZOrderSet = 37 + *< END OBJECT: BaseClass="checkbox" /> + + ADD OBJECT 'cktotal4' AS checkbox WITH ; + Alignment = 0, ; + AutoSize = .T., ; + BackStyle = 0, ; + Caption = "Conturi", ; + Comment = "*:OnResize=LT", ; + ControlSource = "", ; + FontBold = .F., ; + FontName = "Arial", ; + FontSize = 10, ; + Height = 18, ; + Left = 184, ; + Name = "cktotal4", ; + TabIndex = 6, ; + Top = 56, ; + Value = 1, ; + Width = 60, ; + ZOrderSet = 37 + *< END OBJECT: BaseClass="checkbox" /> + + ADD OBJECT 'Ct1' AS ct WITH ; + Height = 25, ; + Left = 83, ; + Name = "Ct1", ; + SpecialEffect = 0, ; + TabIndex = 3, ; + Top = 84, ; + Width = 59, ; + ZOrderSet = 15, ; + Shape1.Name = "Shape1", ; + Text1.Height = 21, ; + Text1.Left = 1, ; + Text1.Name = "Text1", ; + Text1.Top = 1, ; + Text1.Width = 13, ; + Text2.Left = 14, ; + Text2.Name = "Text2", ; + Text2.Top = 1, ; + Text3.Left = 26, ; + Text3.Name = "Text3", ; + Text3.Top = 1, ; + Text4.Height = 21, ; + Text4.Left = 39, ; + Text4.Name = "Text4", ; + Text4.Top = 1, ; + Text4.Width = 14, ; + Line1.Left = 14, ; + Line1.Name = "Line1", ; + Line1.Top = -9, ; + Line2.Left = 26, ; + Line2.Name = "Line2", ; + Line2.Top = -9, ; + Line3.Left = 39, ; + Line3.Name = "Line3", ; + Line3.Top = -9 + *< END OBJECT: ClassLib="ferestre_cere_date.vcx" BaseClass="container" /> + + ADD OBJECT 'Grid1' AS grid WITH ; + Anchor = 15, ; + BackColor = 255,255,255, ; + ColumnCount = 15, ; + Comment = "*:OnResize=SS", ; + DeleteMark = .F., ; + FontSize = 10, ; + GridLineColor = 192,192,192, ; + Height = 311, ; + Left = 9, ; + Name = "Grid1", ; + Panel = 1, ; + ReadOnly = .T., ; + RecordSource = "TBALANTA", ; + RowHeight = 20, ; + TabIndex = 19, ; + Top = 157, ; + Width = 1007, ; + ZOrderSet = 21, ; + Column1.Alignment = 0, ; + Column1.BackColor = 255,255,255, ; + Column1.ColumnOrder = 1, ; + Column1.ControlSource = "CONT", ; + Column1.FontName = "Arial", ; + Column1.FontSize = 10, ; + Column1.Format = "", ; + Column1.InputMask = "", ; + Column1.Name = "ccont", ; + Column1.ReadOnly = .T., ; + Column1.Width = 29, ; + Column2.Alignment = 0, ; + Column2.BackColor = 255,255,255, ; + Column2.ColumnOrder = 3, ; + Column2.ControlSource = "DENUMIRE", ; + Column2.FontName = "Arial", ; + Column2.FontSize = 10, ; + Column2.Name = "cdenumire", ; + Column2.ReadOnly = .T., ; + Column2.Width = 141, ; + Column3.Alignment = 1, ; + Column3.BackColor = 187,235,255, ; + Column3.ColumnOrder = 6, ; + Column3.ControlSource = "PRECDEB", ; + Column3.DynamicForeColor = "IIF(PRECDEB>=0, RGB(0,0,0), RGB(255,0,0))", ; + Column3.FontName = "Arial", ; + Column3.FontSize = 10, ; + Column3.Format = "r", ; + Column3.InputMask = (get_mask(16,gnPA)), ; + Column3.Name = "cprecdeb", ; + Column3.ReadOnly = .T., ; + Column3.Width = 72, ; + Column4.Alignment = 1, ; + Column4.BackColor = 187,235,255, ; + Column4.ColumnOrder = 7, ; + Column4.ControlSource = "PRECCRED", ; + Column4.DynamicForeColor = "IIF(PRECCRED>=0, RGB(0,0,0), RGB(255,0,0))", ; + Column4.FontName = "Arial", ; + Column4.FontSize = 10, ; + Column4.Format = "r", ; + Column4.InputMask = (get_mask(16,gnPA)), ; + Column4.Name = "cpreccred", ; + Column4.ReadOnly = .T., ; + Column4.Width = 72, ; + Column5.Alignment = 1, ; + Column5.BackColor = 236,249,255, ; + Column5.ColumnOrder = 8, ; + Column5.ControlSource = "RULDEB", ; + Column5.DynamicForeColor = "IIF(RULDEB>=0, RGB(0,0,0), RGB(255,0,0))", ; + Column5.FontName = "Arial", ; + Column5.FontSize = 10, ; + Column5.Format = "R", ; + Column5.InputMask = (get_mask(16,gnPA)), ; + Column5.Name = "cruldeb", ; + Column5.ReadOnly = .T., ; + Column5.Width = 72, ; + Column6.Alignment = 1, ; + Column6.BackColor = 236,249,255, ; + Column6.ColumnOrder = 9, ; + Column6.ControlSource = "RULCRED", ; + Column6.DynamicForeColor = "IIF(RULCRED>=0, RGB(0,0,0), RGB(255,0,0))", ; + Column6.FontName = "Arial", ; + Column6.FontSize = 10, ; + Column6.Format = "R", ; + Column6.InputMask = (get_mask(16,gnPA)), ; + Column6.Name = "crulcred", ; + Column6.ReadOnly = .T., ; + Column6.Width = 73, ; + Column7.Alignment = 1, ; + Column7.BackColor = 187,235,255, ; + Column7.ColumnOrder = 10, ; + Column7.ControlSource = "TOTDEB", ; + Column7.DynamicForeColor = "IIF(TOTDEB>=0, RGB(0,0,0), RGB(255,0,0))", ; + Column7.FontName = "Arial", ; + Column7.FontSize = 10, ; + Column7.Format = "r", ; + Column7.InputMask = (get_mask(16,gnPA)), ; + Column7.Name = "ctotdeb", ; + Column7.ReadOnly = .T., ; + Column7.Width = 83, ; + Column8.Alignment = 1, ; + Column8.BackColor = 187,235,255, ; + Column8.ColumnOrder = 11, ; + Column8.ControlSource = "TOTCRED", ; + Column8.DynamicForeColor = "IIF(TOTCRED>=0, RGB(0,0,0), RGB(255,0,0))", ; + Column8.FontName = "Arial", ; + Column8.FontSize = 10, ; + Column8.Format = "r", ; + Column8.InputMask = (get_mask(16,gnPA)), ; + Column8.Name = "ctotcred", ; + Column8.ReadOnly = .T., ; + Column8.Width = 85, ; + Column9.Alignment = 1, ; + Column9.BackColor = 236,249,255, ; + Column9.ColumnOrder = 13, ; + Column9.ControlSource = "SOLDCRED", ; + Column9.DynamicForeColor = "IIF(SOLDCRED>=0, RGB(0,0,0), RGB(255,0,0))", ; + Column9.FontName = "Arial", ; + Column9.FontSize = 10, ; + Column9.Format = "r", ; + Column9.InputMask = (get_mask(16,gnPA)), ; + Column9.Name = "csoldcred", ; + Column9.ReadOnly = .T., ; + Column9.Width = 70, ; + Column10.Alignment = 1, ; + Column10.BackColor = 236,249,255, ; + Column10.ColumnOrder = 12, ; + Column10.ControlSource = "SOLDDEB", ; + Column10.DynamicForeColor = "IIF(SOLDDEB>=0, RGB(0,0,0), RGB(255,0,0))", ; + Column10.FontName = "Arial", ; + Column10.FontSize = 10, ; + Column10.Format = "r", ; + Column10.InputMask = (get_mask(16,gnPA)), ; + Column10.Name = "csolddeb", ; + Column10.ReadOnly = .T., ; + Column10.Width = 66, ; + Column11.BackColor = 255,255,255, ; + Column11.ColumnOrder = 2, ; + Column11.ControlSource = "ACONT", ; + Column11.FontName = "Arial", ; + Column11.FontSize = 10, ; + Column11.Name = "cacont", ; + Column11.ReadOnly = .T., ; + Column11.Width = 40, ; + Column12.BackColor = 236,249,255, ; + Column12.ColumnOrder = 4, ; + Column12.ControlSource = "precdeb1", ; + Column12.FontName = "Arial", ; + Column12.FontSize = 10, ; + Column12.Format = "RK", ; + Column12.InputMask = (get_mask(18,gnPA)), ; + Column12.Name = "cprecdeb1", ; + Column12.ReadOnly = .T., ; + Column12.Visible = .T., ; + Column12.Width = 100, ; + Column13.BackColor = 236,249,255, ; + Column13.ColumnOrder = 5, ; + Column13.ControlSource = "preccred1", ; + Column13.FontName = "Arial", ; + Column13.FontSize = 10, ; + Column13.Format = "RK", ; + Column13.InputMask = (get_mask(18,gnPA)), ; + Column13.Name = "cpreccred1", ; + Column13.ReadOnly = .T., ; + Column13.Visible = .T., ; + Column13.Width = 108, ; + Column14.BackColor = 255,255,255, ; + Column14.ControlSource = "sucursala", ; + Column14.FontName = "Arial", ; + Column14.FontSize = 10, ; + Column14.Name = "cSucursala", ; + Column14.ReadOnly = .T., ; + Column14.Width = 164, ; + Column15.BackColor = 255,255,255, ; + Column15.ControlSource = "cod", ; + Column15.FontSize = 10, ; + Column15.Name = "cCod", ; + Column15.ReadOnly = .T., ; + Column15.Width = 86 + *< END OBJECT: BaseClass="grid" /> + + ADD OBJECT 'Grid1.cacont.Header1' AS header WITH ; + Alignment = 2, ; + Caption = "Analitic", ; + FontName = "Arial", ; + FontSize = 10, ; + Name = "Header1" + *< END OBJECT: BaseClass="header" /> + + ADD OBJECT 'Grid1.cacont.Text1' AS textbox WITH ; + BackColor = 255,255,255, ; + BorderStyle = 0, ; + FontName = "Arial", ; + FontSize = 10, ; + ForeColor = 0,0,0, ; + Margin = 0, ; + Name = "Text1", ; + ReadOnly = .T. + *< END OBJECT: BaseClass="textbox" /> + + ADD OBJECT 'Grid1.cCod.Header1' AS header WITH ; + Alignment = 2, ; + Caption = "Cod", ; + Name = "Header1" + *< END OBJECT: BaseClass="header" /> + + ADD OBJECT 'Grid1.cCod.Text1' AS textbox WITH ; + BackColor = 255,255,255, ; + BorderStyle = 0, ; + ForeColor = 0,0,0, ; + Margin = 0, ; + Name = "Text1", ; + ReadOnly = .T. + *< END OBJECT: BaseClass="textbox" /> + + ADD OBJECT 'Grid1.ccont.Header1' AS header WITH ; + Alignment = 2, ; + Caption = "Cont", ; + FontName = "Arial", ; + FontSize = 10, ; + Name = "Header1" + *< END OBJECT: BaseClass="header" /> + + ADD OBJECT 'Grid1.ccont.Text1' AS textbox WITH ; + Alignment = 0, ; + BackColor = 255,255,255, ; + BorderStyle = 0, ; + FontName = "Arial", ; + FontSize = 10, ; + ForeColor = 0,0,0, ; + Margin = 0, ; + Name = "Text1", ; + ReadOnly = .T. + *< END OBJECT: BaseClass="textbox" /> + + ADD OBJECT 'Grid1.cdenumire.Header2' AS header WITH ; + Alignment = 2, ; + Caption = "Denumire", ; + FontName = "Arial", ; + FontSize = 10, ; + Name = "Header2" + *< END OBJECT: BaseClass="header" /> + + ADD OBJECT 'Grid1.cdenumire.Text1' AS textbox WITH ; + Alignment = 0, ; + BackColor = 255,255,255, ; + BorderStyle = 0, ; + FontName = "Arial", ; + FontSize = 10, ; + ForeColor = 0,0,0, ; + Margin = 0, ; + Name = "Text1", ; + ReadOnly = .T. + *< END OBJECT: BaseClass="textbox" /> + + ADD OBJECT 'Grid1.cpreccred.Header4' AS header WITH ; + Alignment = 2, ; + Caption = "Prec.Credit", ; + FontName = "Arial", ; + FontSize = 10, ; + Name = "Header4" + *< END OBJECT: BaseClass="header" /> + + ADD OBJECT 'Grid1.cpreccred.Text1' AS textbox WITH ; + Alignment = 1, ; + BackColor = 187,235,255, ; + BorderStyle = 0, ; + FontName = "Arial", ; + FontSize = 10, ; + ForeColor = 0,0,0, ; + Margin = 0, ; + Name = "Text1", ; + ReadOnly = .T. + *< END OBJECT: BaseClass="textbox" /> + + ADD OBJECT 'Grid1.cpreccred1.Header1' AS header WITH ; + Alignment = 2, ; + Caption = "Sold Credit 1 ian. ", ; + FontName = "Arial", ; + FontSize = 10, ; + Name = "Header1" + *< END OBJECT: BaseClass="header" /> + + ADD OBJECT 'Grid1.cpreccred1.Text1' AS textbox WITH ; + BackColor = 236,249,255, ; + BorderStyle = 0, ; + FontName = "Arial", ; + FontSize = 10, ; + ForeColor = 0,0,0, ; + Margin = 0, ; + Name = "Text1", ; + Visible = .T. + *< END OBJECT: BaseClass="textbox" /> + + ADD OBJECT 'Grid1.cprecdeb.Header3' AS header WITH ; + Alignment = 2, ; + Caption = "Prec.Debit", ; + FontName = "Arial", ; + FontSize = 10, ; + Name = "Header3" + *< END OBJECT: BaseClass="header" /> + + ADD OBJECT 'Grid1.cprecdeb.Text1' AS textbox WITH ; + Alignment = 1, ; + BackColor = 187,235,255, ; + BorderStyle = 0, ; + FontName = "Arial", ; + FontSize = 10, ; + ForeColor = 0,0,0, ; + Margin = 0, ; + Name = "Text1", ; + ReadOnly = .T. + *< END OBJECT: BaseClass="textbox" /> + + ADD OBJECT 'Grid1.cprecdeb1.Header1' AS header WITH ; + Alignment = 2, ; + Caption = "Sold Debit 1 ian.", ; + FontName = "Arial", ; + FontSize = 10, ; + Name = "Header1" + *< END OBJECT: BaseClass="header" /> + + ADD OBJECT 'Grid1.cprecdeb1.Text1' AS textbox WITH ; + BackColor = 236,249,255, ; + BorderStyle = 0, ; + FontName = "Arial", ; + FontSize = 10, ; + ForeColor = 0,0,0, ; + Margin = 0, ; + Name = "Text1", ; + Visible = .T. + *< END OBJECT: BaseClass="textbox" /> + + ADD OBJECT 'Grid1.crulcred.Header6' AS header WITH ; + Alignment = 2, ; + Caption = "Rul.Credit", ; + FontName = "Arial", ; + FontSize = 10, ; + Name = "Header6" + *< END OBJECT: BaseClass="header" /> + + ADD OBJECT 'Grid1.crulcred.Text1' AS textbox WITH ; + Alignment = 1, ; + BackColor = 236,249,255, ; + BorderColor = 0,0,0, ; + BorderStyle = 0, ; + FontName = "Arial", ; + FontSize = 10, ; + ForeColor = 0,0,0, ; + Margin = 0, ; + Name = "Text1", ; + ReadOnly = .T. + *< END OBJECT: BaseClass="textbox" /> + + ADD OBJECT 'Grid1.cruldeb.Header5' AS header WITH ; + Alignment = 2, ; + Caption = "Rul.Debit", ; + FontName = "Arial", ; + FontSize = 10, ; + Name = "Header5" + *< END OBJECT: BaseClass="header" /> + + ADD OBJECT 'Grid1.cruldeb.Text1' AS textbox WITH ; + Alignment = 1, ; + BackColor = 236,249,255, ; + BorderStyle = 0, ; + FontName = "Arial", ; + FontSize = 10, ; + ForeColor = 0,0,0, ; + Margin = 0, ; + Name = "Text1", ; + ReadOnly = .T. + *< END OBJECT: BaseClass="textbox" /> + + ADD OBJECT 'Grid1.csoldcred.Header1' AS header WITH ; + Alignment = 2, ; + Caption = "Sold Credit", ; + FontName = "Arial", ; + FontSize = 10, ; + Name = "Header1" + *< END OBJECT: BaseClass="header" /> + + ADD OBJECT 'Grid1.csoldcred.Text1' AS textbox WITH ; + Alignment = 1, ; + BackColor = 236,249,255, ; + BorderStyle = 0, ; + FontName = "Arial", ; + FontSize = 10, ; + ForeColor = 0,0,0, ; + Margin = 0, ; + Name = "Text1", ; + ReadOnly = .T. + *< END OBJECT: BaseClass="textbox" /> + + ADD OBJECT 'Grid1.csolddeb.Header1' AS header WITH ; + Alignment = 2, ; + Caption = "Sold Debit", ; + FontName = "Arial", ; + FontSize = 10, ; + Name = "Header1" + *< END OBJECT: BaseClass="header" /> + + ADD OBJECT 'Grid1.csolddeb.Text1' AS textbox WITH ; + Alignment = 1, ; + BackColor = 236,249,255, ; + BorderStyle = 0, ; + FontName = "Arial", ; + FontSize = 10, ; + ForeColor = 0,0,0, ; + Margin = 0, ; + Name = "Text1", ; + ReadOnly = .T. + *< END OBJECT: BaseClass="textbox" /> + + ADD OBJECT 'Grid1.cSucursala.Header1' AS header WITH ; + Alignment = 2, ; + Caption = "Sucursala", ; + FontName = "Arial", ; + FontSize = 10, ; + Name = "Header1" + *< END OBJECT: BaseClass="header" /> + + ADD OBJECT 'Grid1.cSucursala.Text1' AS textbox WITH ; + BackColor = 255,255,255, ; + BorderStyle = 0, ; + FontName = "Arial", ; + FontSize = 10, ; + ForeColor = 0,0,0, ; + Margin = 0, ; + Name = "Text1", ; + ReadOnly = .T. + *< END OBJECT: BaseClass="textbox" /> + + ADD OBJECT 'Grid1.ctotcred.Header8' AS header WITH ; + Alignment = 2, ; + Caption = "Total Credit", ; + FontName = "Arial", ; + FontSize = 10, ; + Name = "Header8" + *< END OBJECT: BaseClass="header" /> + + ADD OBJECT 'Grid1.ctotcred.Text1' AS textbox WITH ; + Alignment = 1, ; + BackColor = 187,235,255, ; + BorderStyle = 0, ; + FontName = "Arial", ; + FontSize = 10, ; + ForeColor = 0,0,0, ; + Margin = 0, ; + Name = "Text1", ; + ReadOnly = .T. + *< END OBJECT: BaseClass="textbox" /> + + ADD OBJECT 'Grid1.ctotdeb.Header7' AS header WITH ; + Alignment = 2, ; + Caption = "Total Debit", ; + FontName = "Arial", ; + FontSize = 10, ; + Name = "Header7" + *< END OBJECT: BaseClass="header" /> + + ADD OBJECT 'Grid1.ctotdeb.Text1' AS textbox WITH ; + Alignment = 1, ; + BackColor = 187,235,255, ; + BorderStyle = 0, ; + FontName = "Arial", ; + FontSize = 10, ; + ForeColor = 0,0,0, ; + Margin = 0, ; + Name = "Text1", ; + ReadOnly = .T. + *< END OBJECT: BaseClass="textbox" /> + + ADD OBJECT 'Gridextra1' AS gridextra WITH ; + Left = 627, ; + Name = "Gridextra1", ; + Top = 269 + *< END OBJECT: ClassLib="..\utile\gridextras\gridextras.vcx" BaseClass="custom" /> + + ADD OBJECT 'Label1' AS _label WITH ; + AutoSize = .T., ; + BackStyle = 0, ; + Caption = "Selectie cont", ; + Comment = "*:OnResize=LT", ; + FontBold = .T., ; + FontCharSet = 1, ; + Height = 18, ; + Left = 8, ; + Name = "Label1", ; + TabIndex = 31, ; + Top = 38, ; + Width = 85, ; + ZOrderSet = 14 + *< END OBJECT: ClassLib="_baza.vcx" BaseClass="label" /> + + ADD OBJECT 'Label2' AS _label WITH ; + AutoSize = .T., ; + BackStyle = 0, ; + Caption = "De la", ; + Comment = "*:OnResize=LT", ; + FontBold = .F., ; + Height = 18, ; + Left = 9, ; + Name = "Label2", ; + TabIndex = 34, ; + Top = 61, ; + Width = 32, ; + ZOrderSet = 17 + *< END OBJECT: ClassLib="_baza.vcx" BaseClass="label" /> + + ADD OBJECT 'Label3' AS _label WITH ; + AutoSize = .T., ; + BackStyle = 0, ; + Caption = "Analitic", ; + Comment = "*:OnResize=LT", ; + FontBold = .T., ; + Height = 18, ; + Left = 9, ; + Name = "Label3", ; + TabIndex = 35, ; + Top = 87, ; + Width = 50, ; + ZOrderSet = 19 + *< END OBJECT: ClassLib="_baza.vcx" BaseClass="label" /> + + ADD OBJECT 'Label4' AS _label WITH ; + AutoSize = .T., ; + BackStyle = 0, ; + Caption = "la", ; + Comment = "*:OnResize=LT", ; + FontBold = .F., ; + Height = 18, ; + Left = 86, ; + Name = "Label4", ; + TabIndex = 33, ; + Top = 61, ; + Width = 12, ; + ZOrderSet = 20 + *< END OBJECT: ClassLib="_baza.vcx" BaseClass="label" /> + + ADD OBJECT 'Label5' AS _label WITH ; + Anchor = 9, ; + AutoSize = .F., ; + BackColor = 255,255,255, ; + BackStyle = 1, ; + BorderStyle = 1, ; + Caption = " Solduri", ; + Comment = "*:OnResize=RT", ; + FontCharSet = 238, ; + FontSize = 10, ; + Height = 17, ; + Left = 893, ; + Name = "Label5", ; + TabIndex = 42, ; + Top = 48, ; + Width = 127, ; + ZOrderSet = 34 + *< END OBJECT: ClassLib="_baza.vcx" BaseClass="label" /> + + ADD OBJECT 'Label8' AS _label WITH ; + Anchor = 9, ; + AutoSize = .F., ; + BackColor = 255,255,255, ; + BackStyle = 1, ; + BorderStyle = 1, ; + Caption = " Total precedente", ; + Comment = "*:OnResize=RT", ; + FontCharSet = 238, ; + FontSize = 10, ; + Height = 17, ; + Left = 509, ; + Name = "Label8", ; + TabIndex = 37, ; + Top = 48, ; + Width = 127, ; + ZOrderSet = 16 + *< END OBJECT: ClassLib="_baza.vcx" BaseClass="label" /> + + ADD OBJECT 'lblcredit' AS _label WITH ; + Anchor = 9, ; + AutoSize = .F., ; + BackColor = 255,255,255, ; + BackStyle = 1, ; + BorderStyle = 1, ; + Caption = " Credit", ; + Comment = "*:OnResize=RT", ; + Height = 17, ; + Left = 308, ; + Name = "lblcredit", ; + TabIndex = 38, ; + Top = 94, ; + Width = 71, ; + ZOrderSet = 18 + *< END OBJECT: ClassLib="_baza.vcx" BaseClass="label" /> + + ADD OBJECT 'lbldebit' AS _label WITH ; + Anchor = 9, ; + AutoSize = .F., ; + BackColor = 255,255,255, ; + BackStyle = 1, ; + BorderStyle = 1, ; + Caption = " Debit", ; + Comment = "*:OnResize=RT", ; + Height = 17, ; + Left = 308, ; + Name = "lbldebit", ; + TabIndex = 39, ; + Top = 70, ; + Width = 71, ; + ZOrderSet = 17 + *< END OBJECT: ClassLib="_baza.vcx" BaseClass="label" /> + + ADD OBJECT 'lblsld1' AS _label WITH ; + Anchor = 9, ; + AutoSize = .F., ; + BackColor = 255,255,255, ; + BackStyle = 1, ; + BorderStyle = 1, ; + Caption = " Solduri 1 Ian.", ; + Comment = "*:OnResize=RT", ; + FontCharSet = 238, ; + FontSize = 10, ; + Height = 17, ; + Left = 380, ; + Name = "lblsld1", ; + TabIndex = 36, ; + Top = 48, ; + Visible = .T., ; + Width = 123, ; + ZOrderSet = 16 + *< END OBJECT: ClassLib="_baza.vcx" BaseClass="label" /> + + ADD OBJECT 'oMenuShortcut' AS menulib WITH ; + Left = 264, ; + Name = "oMenuShortcut", ; + TabIndex = 22, ; + Top = 0, ; + ZOrderSet = 8 + *< END OBJECT: ClassLib="utility.vcx" BaseClass="container" /> + + ADD OBJECT 'Text1' AS _textbox WITH ; + Alignment = 1, ; + Anchor = 9, ; + Comment = "*:OnResize=RT", ; + ControlSource = "m.sprecdeb", ; + DisabledBackColor = 187,235,255, ; + Enabled = .T., ; + FontSize = 10, ; + Format = "r", ; + Height = 23, ; + InputMask = (get_mask(15,gnPA)), ; + Left = 509, ; + Name = "Text1", ; + ReadOnly = .T., ; + SpecialEffect = 1, ; + TabIndex = 23, ; + Top = 67, ; + Width = 127, ; + ZOrderSet = 10 + *< END OBJECT: ClassLib="_baza.vcx" BaseClass="textbox" /> + + ADD OBJECT 'Text2' AS _textbox WITH ; + Alignment = 1, ; + Anchor = 9, ; + Comment = "*:OnResize=RT", ; + ControlSource = "m.spreccred", ; + DisabledBackColor = 187,235,255, ; + Enabled = .T., ; + FontSize = 10, ; + ForeColor = 0,0,0, ; + Format = "r", ; + Height = 23, ; + InputMask = (get_mask(15,gnPA)), ; + Left = 509, ; + Name = "Text2", ; + ReadOnly = .T., ; + SpecialEffect = 1, ; + TabIndex = 25, ; + Top = 91, ; + Width = 127, ; + ZOrderSet = 11 + *< END OBJECT: ClassLib="_baza.vcx" BaseClass="textbox" /> + + ADD OBJECT 'Text3' AS _textbox WITH ; + Alignment = 1, ; + Anchor = 9, ; + Comment = "*:OnResize=RT", ; + ControlSource = "m.srulcred", ; + DisabledBackColor = 236,249,255, ; + Enabled = .T., ; + FontSize = 10, ; + Format = "r", ; + Height = 23, ; + InputMask = (get_mask(15,gnPA)), ; + Left = 637, ; + Name = "Text3", ; + ReadOnly = .T., ; + SpecialEffect = 1, ; + TabIndex = 27, ; + Top = 91, ; + Width = 127, ; + ZOrderSet = 12 + *< END OBJECT: ClassLib="_baza.vcx" BaseClass="textbox" /> + + ADD OBJECT 'Text4' AS _textbox WITH ; + Alignment = 1, ; + Anchor = 9, ; + Comment = "*:OnResize=RT", ; + ControlSource = "m.sruldeb", ; + DisabledBackColor = 236,249,255, ; + Enabled = .T., ; + FontSize = 10, ; + Format = "r", ; + Height = 23, ; + InputMask = (get_mask(15,gnPA)), ; + Left = 637, ; + Name = "Text4", ; + ReadOnly = .T., ; + SpecialEffect = 1, ; + TabIndex = 29, ; + Top = 67, ; + Width = 127, ; + ZOrderSet = 14 + *< END OBJECT: ClassLib="_baza.vcx" BaseClass="textbox" /> + + ADD OBJECT 'Text5' AS _textbox WITH ; + Alignment = 1, ; + Anchor = 9, ; + Comment = "*:OnResize=RT", ; + ControlSource = "m.stotdeb", ; + DisabledBackColor = 187,235,255, ; + Enabled = .T., ; + FontSize = 10, ; + Format = "r", ; + Height = 23, ; + InputMask = (get_mask(15,gnPA)), ; + Left = 765, ; + Name = "Text5", ; + ReadOnly = .T., ; + SpecialEffect = 1, ; + TabIndex = 28, ; + Top = 67, ; + Width = 127, ; + ZOrderSet = 13 + *< END OBJECT: ClassLib="_baza.vcx" BaseClass="textbox" /> + + ADD OBJECT 'Text6' AS _textbox WITH ; + Alignment = 1, ; + Anchor = 9, ; + Comment = "*:OnResize=RT", ; + ControlSource = "m.stotcred", ; + DisabledBackColor = 187,235,255, ; + Enabled = .T., ; + FontSize = 10, ; + Format = "r", ; + Height = 23, ; + InputMask = (get_mask(15,gnPA)), ; + Left = 765, ; + Name = "Text6", ; + ReadOnly = .T., ; + SpecialEffect = 1, ; + TabIndex = 30, ; + Top = 91, ; + Width = 127, ; + ZOrderSet = 15 + *< END OBJECT: ClassLib="_baza.vcx" BaseClass="textbox" /> + + ADD OBJECT 'Text7' AS _textbox WITH ; + Alignment = 1, ; + Anchor = 9, ; + Comment = "*:OnResize=RT", ; + ControlSource = "m.ssolddeb", ; + DisabledBackColor = 236,249,255, ; + Enabled = .T., ; + FontSize = 10, ; + Format = "r", ; + Height = 23, ; + InputMask = (get_mask(15,gnPA)), ; + Left = 893, ; + Name = "Text7", ; + ReadOnly = .T., ; + SpecialEffect = 1, ; + TabIndex = 20, ; + Top = 67, ; + Width = 127, ; + ZOrderSet = 21 + *< END OBJECT: ClassLib="_baza.vcx" BaseClass="textbox" /> + + ADD OBJECT 'Text8' AS _textbox WITH ; + Alignment = 1, ; + Anchor = 9, ; + Comment = "*:OnResize=RT", ; + ControlSource = "m.ssoldcred", ; + DisabledBackColor = 236,249,255, ; + Enabled = .T., ; + FontSize = 10, ; + Format = "r", ; + Height = 23, ; + InputMask = (get_mask(15,gnPA)), ; + Left = 893, ; + Name = "Text8", ; + ReadOnly = .T., ; + SpecialEffect = 1, ; + TabIndex = 26, ; + Top = 91, ; + Width = 127, ; + ZOrderSet = 22 + *< END OBJECT: ClassLib="_baza.vcx" BaseClass="textbox" /> + + ADD OBJECT 'txtcont' AS _textbox WITH ; + Comment = "*:OnResize=LT", ; + ControlSource = "", ; + Height = 25, ; + Left = 41, ; + Name = "txtcont", ; + SpecialEffect = 1, ; + TabIndex = 1, ; + Top = 58, ; + Width = 44, ; + ZOrderSet = 13 + *< END OBJECT: ClassLib="_baza.vcx" BaseClass="textbox" /> + + ADD OBJECT 'txtcont2' AS _textbox WITH ; + Comment = "*:OnResize=LT", ; + ControlSource = "", ; + Format = "k", ; + Height = 25, ; + Left = 97, ; + Name = "txtcont2", ; + SpecialEffect = 1, ; + TabIndex = 2, ; + Top = 58, ; + Width = 44, ; + ZOrderSet = 16 + *< END OBJECT: ClassLib="_baza.vcx" BaseClass="textbox" /> + + ADD OBJECT 'txtpreccred1' AS _textbox WITH ; + Alignment = 1, ; + Anchor = 9, ; + Comment = "*:OnResize=RT", ; + ControlSource = "m.spreccred1", ; + DisabledBackColor = 236,249,255, ; + Enabled = .T., ; + FontSize = 10, ; + ForeColor = 0,0,0, ; + Format = "r", ; + Height = 23, ; + InputMask = (get_mask(12,gnPA)), ; + Left = 380, ; + Name = "txtpreccred1", ; + ReadOnly = .T., ; + SpecialEffect = 1, ; + TabIndex = 24, ; + Top = 91, ; + Visible = .T., ; + Width = 127, ; + ZOrderSet = 11 + *< END OBJECT: ClassLib="_baza.vcx" BaseClass="textbox" /> + + ADD OBJECT 'txtprecdeb1' AS _textbox WITH ; + Alignment = 1, ; + Anchor = 9, ; + Comment = "*:OnResize=RT", ; + ControlSource = "m.sprecdeb1", ; + DisabledBackColor = 236,249,255, ; + Enabled = .T., ; + FontSize = 10, ; + Format = "r", ; + Height = 23, ; + InputMask = (get_mask(12,gnPA)), ; + Left = 380, ; + Name = "txtprecdeb1", ; + ReadOnly = .T., ; + SpecialEffect = 1, ; + TabIndex = 21, ; + Top = 67, ; + Visible = .T., ; + Width = 127, ; + ZOrderSet = 10 + *< END OBJECT: ClassLib="_baza.vcx" BaseClass="textbox" /> + + PROCEDURE adauga_linie + LOCAL lcIdSucursala, lnIdSucursala, lcSucursala + Private pcbal,pcCont,pcSCont,pcACont,pnButon + Store "" To pcbal,pcCont,pcSCont,pcACont + pnButon=1 + pcbal=This.CALIas + + STORE "" TO locauta + lnIdSucursala = NULL + lcSucursala = '' + IF glEMama + llToateIreg = .F. + llNou = .F. + llBlank = .T. + loCauta = caut_sucursala(llToateIreg, llNou, llBlank) + lnIdSucursala = loCauta.id_sucursala + lcSucursala = loCauta.sucursala + ELSE + lnIdSucursala = gnIdSucursala && pentru o sucursala este id-ul firmei, iar pe firma independenta este null + ENDIF + lcIdSucursala = IIF(NVL(lnIdSucursala,0) = 0, 'NULL', ALLTRIM(STR(lnIdSucursala))) + + pcCont=SELECT_CONT() + If pnButon=2 + Return + Endif + If Empty(pcCont) + Return + Endif + + pcSCont=Left(pcCont,4) + lnPos=At(".",pcCont) + If lnPos>0 + pcACont=Padr(Substr(pcCont,lnPos+1),4," ") + Endif + + + + pcexec=[begin PACK_INREGISTRARI.balinsproc(]+lcIdSucursala+[,]+Alltrim(Str(gnAn))+[,]+Alltrim(Str(gnLuna))+; + [,']+Alltrim(pcSCont)+[',']+Alltrim(pcACont)+['); end;] + lnSucces=goExecutor.oexecute(pcexec) + If lnSucces < 0 + lcTextEroare = goExecutor.cEroare + aMessagebox(lcTextEroare,48,"Eroare") + Return + Endif + + If !Empty(pcACont) + Thisform.ckanalitic.Value=1 + Endif + + Thisform.MousePointer=11 + Thisform.LockScreen=.T. + Thisform.reconstruct + Thisform.afisactual + Select (pcbal) + Locate For Cont=pcSCont And acont=pcACont AND NVL(id_sucursala,0) = NVL(lnIdSucursala,0) + Thisform.LockScreen=.F. + Thisform.MousePointer= 0 + Thisform.grid1.SetFocus + + ENDPROC + + PROCEDURE afisactual + #Define CRLF Chr(13) + Chr(10) + + + Private lcbal,lcacont && ,lccont1,lccont2 - le-am pus inainte de do form + lcbal=Thisform.calias + + Local T1 + T1="" + T='.t.' + + lccont1=Alltrim(This.txtcont.Value) + lccont2=Alltrim(This.txtcont2.Value) + + If Empty(lccont2) + lccont2 = lccont1 + Endif + + *lcacont=ALLTRIM(this.txtacont.value) + lcacont1=Alltrim(This.ct1.text1.Value) + lcacont2=Alltrim(This.ct1.text2.Value) + lcacont3=Alltrim(This.ct1.text3.Value) + lcacont4=Alltrim(This.ct1.text4.Value) + + Do Case + Case Len(lccont1)=1 + *T=[G1="]+LCCONT+["] + T = T + [ and VAL(LEFT(G1,1))>=VAL(lcCont1)] + Case Len(lccont1)=2 + *T=[G2="]+LCCONT+["] + T = T + [ and VAL(PADR(ALLTRIM(G2),2,'0'))>=VAL(lcCont1)] + Case Len(lccont1)=3 + *T=[G3="]+LCCONT+["] + T = T + [ and VAL(PADR(ALLTRIM(G3),3,'0'))>=VAL(lcCont1)] + Case Len(lccont1)=4 + *T=[G4="]+LCCONT+["] + T = T + [ and VAL(PADR(ALLTRIM(G4),4,'0'))>=VAL(lcCont1)] + Endcase + + Do Case + Case Len(lccont2)=1 + *T=[G1="]+LCCONT+["] + T = T + [ and VAL(LEFT(G1,1))<=VAL(lcCont2)] + Case Len(lccont2)=2 + *T=[G2="]+LCCONT+["] + T = T + [ and VAL(PADR(ALLTRIM(G2),2,'0'))<=VAL(lcCont2)] + Case Len(lccont2)=3 + *T=[G3="]+LCCONT+["] + T = T + [ and VAL(PADR(ALLTRIM(G3),3,'0'))<=VAL(lcCont2)] + Case Len(lccont2)=4 + *T=[G4="]+LCCONT+["] + T = T + [ and VAL(PADR(ALLTRIM(G4),4,'0'))<=VAL(lcCont2)] + Endcase + + + && SOLDURI LA 1 IANUARIE + If This.cksold1.Value=0 + With Thisform.grid1 + .cprecdeb1.Visible=.F. + .cpreccred1.Visible=.F. + Endwith + With Thisform + .lblsld1.Visible=.F. + .txtprecdeb1.Visible=.F. + .txtpreccred1.Visible=.F. + .lbldebit.Left=.text1.Left-.lbldebit.Width + .lblcredit.Left=.text2.Left-.lblcredit.Width + .check1.Left=.label8.Left-.lbldebit.Width + Endwith + Else + + With Thisform.grid1 + .cprecdeb1.Visible=.T. + .cpreccred1.Visible=.T. + Endwith + With Thisform + .lblsld1.Visible=.T. + .txtprecdeb1.Visible=.T. + .txtpreccred1.Visible=.T. + .lbldebit.Left=.txtprecdeb1.Left-.lbldebit.Width + .lblcredit.Left=.txtpreccred1.Left-.lblcredit.Width + .check1.Left=.lblsld1.Left-.lbldebit.Width + Endwith + Endif + && SOLDURI LA 1 IANUARIE ^ + + + */----------------------------------------------------- + &&& conditia de filtrare pt balanta sintetica + llTotal1=Iif(This.cktotal1.Value=1,.T.,.F.) + llTotal2=Iif(This.cktotal2.Value=1,.T.,.F.) + llTotal3=Iif(This.cktotal3.Value=1,.T.,.F.) + llTotal4=Iif(This.cktotal4.Value=1,.T.,.F.) + llAnalitic=Iif(This.ckanalitic.Value=1,.T.,.F.) + + + If glEMama + lnIdSucursala = crsSucursale.ID_SUCURSALA + llBalantaCentralizata = lnIdSucursala = -1 && BALANTA CENTRALIZATA + llBalantaDefalcata = lnIdSucursala = -2 && BALANTA DEFALCATA + llBalantaGrup = lnIdSucursala = -3 && BALANTA GRUP (FARA ID SUCURSALA) + Else + lnIdSucursala = Null + llBalantaCentralizata = .F. && BALANTA CENTRALIZATA + llBalantaDefalcata = .F. + llBalantaGrup = .F. && BALANTA GRUP (FARA ID SUCURSALA) + Endif + + *!* PE MAMA TOTALURILE SUNT CALCULATE DOAR PE CONTURILE CENTRALIZATE + *!* DEZACTIVEZ BIFELE DE TOTALURI DACA NU ALEG BALANTA CENTRALIZATA + If glEMama + With This + .cktotal1.Enabled = llBalantaCentralizata + .cktotal2.Enabled = llBalantaCentralizata + .cktotal3.Enabled = llBalantaCentralizata + Endwith + Endif + + + lclista=[] + *!* ARAT TOTALURILE PE CLASE/GRUPE DOAR DACA SUNT PE BALANTA CENTRALIZATA SAU PE SUCURSALA/FIRMA INDEPENDENTA + If llBalantaCentralizata Or !glEMama + If llTotal1 + lclista=lclista+[,1] + Endif + If llTotal2 + lclista=lclista+[,2] + Endif + If llTotal3 + lclista=lclista+[,3] + Endif + Endif + If glEMama + If llTotal4 + If llBalantaCentralizata + lclista=lclista + [,6] && conturi sintetice din balanta centralizata + Else + lclista=lclista + [,4] && conturi sintetice din balanta normala + Endif + Endif + If llAnalitic + If llBalantaCentralizata + lclista=lclista + [,7] && conturi analitice din balanta centralizata + Else + lclista=lclista + [,5] && conturi analitice din balanta normala + Endif + Endif + + Else + If llTotal4 + lclista=lclista+[,4] + Endif + If llAnalitic + lclista=lclista+[,5] + Endif + Endif + + + + If !Empty(lclista) + If Left(lclista,1)="," + lclista=Substr(lclista,2) + Endif + T = T + [ AND INLIST(BNIVEL,]+lclista+[)] + Else + T = T + [ AND .F.] + Endif + + lccond2=[] + + If !Empty(lcacont1) + lccond2= lccond2 + [ and SUBSTR(acont,1,1)="]+lcacont1+["] + Endif + If !Empty(lcacont2) + lccond2= lccond2 + [ and SUBSTR(acont,2,1)="]+lcacont2+["] + Endif + If !Empty(lcacont3) + lccond2= lccond2 + [ and SUBSTR(acont,3,1)="]+lcacont3+["] + Endif + If !Empty(lcacont4) + lccond2= lccond2 + [ and SUBSTR(acont,4,1)="]+lcacont4+["] + Endif + + T= T + lccond2 + If Thisform.ck_cont.Value = 1 + T = T + Thisform.ck_cont.filtru_vfp + Endif + If Thisform.ck_acont.Value = 1 + T = T + Thisform.ck_acont.filtru_vfp + Endif + If Thisform.ck_denumire.Value = 1 + T = T + Thisform.ck_denumire.filtru_vfp + Endif + + + *!* 12.02.2008 + *!* ARAT CONTURILE DE PE O SUCURSALA SAU DOAR CONTURILE DE PE MAMA + lcSucursale = "" + If glEMama + Do Case + Case llBalantaGrup + lcSucursale = " and Nvl(id_sucursala,0) = 0" + Case Nvl(lnIdSucursala,0) > 0 + lcSucursale = " and id_sucursala = " + Alltrim(Str(lnIdSucursala)) + Endcase + Endif + T = T + lcSucursale + *!* 12.02.2008 ^ + *!*Messagebox(T + CRLF + CRLF + GETCALLSTACK()) + T=[SET FILT TO ]+T + Select (lcbal) + *!* Copy To C:\BAL.Dbf + &T + + Local lcFor + lcFor = [INLIST(bnivel, 4, 6)] && TOTALURI PE CONTURI SINTETICE - 4 = SUCURSALA/FIRMA INDEPENDENTA; 6 = MAMA + If This.check1.Value = 1 && TOTALURI PE CONTURI ANALITICE - 5 = SUCURSALA/FIRMA INDEPENDENTA; 7 = MAMA + lcFor = [INLIST(bnivel, 5, 7)] + Endif + *!* SELECT * FROM (lcbal) INTO TABLE c:\lcbal.dbf + Select (lcbal) + Sum PRECDEB1,PRECCRED1, iif(precdeb>=preccred, abs(precdeb-preccred), 0.00), iif(precdeb=0,ABS(totdeb-totcred),0),soldcred WITH IIF(totdeb-totcred<0,ABS(totdeb-totcred),0) + UNLOCK + * brow + ENDIF + + + + + + ENDPROC + + PROCEDURE calculeaza_vertical + Private lccont,lcAlias,lnRec,lnDifValue,lcField,lnValoare,laarray + + lcAlias=This.calias + Select (lcAlias) + lnRec=Recno() + lccont=Alltrim(This.ccont) + *WAIT WINDOW 'lccont= '+lccont + lcField=This.cfield + lnDifValue=This.nnewvalue- This.noldvalue + *WAIT WINDOW 'lndifvalue = '+STR(lndifValue) + *WAIT WINDOW 'calculeaza vertical '+lcalias + + lnlung=4 + Dimension laarray[lnlung] + Store Space(4) To laarray + For i=1 To lnlung-1 + * WAIT WINDOW 'i= '+STR(i) + laarray[i] = Substr(lccont,1,i) + * WAIT WINDOW laArray[i] + lcVar="G"+Alltrim(Str(i)) + lcVar1="G"+Alltrim(Str(i+1)) + LCCOND=[LOCATE FOR LEFT(]+lcVar+[,]+Alltrim(Str(i))+[)="]+Left(laarray[I],i)+[" AND EMPTY(]+lcVar1+[)] + * WAIT WINDOW lccond + Select (lcAlias) + &LCCOND + If Found() + If Flock() + lnValoare=Evaluate(lcField)+lnDifValue + Replace &lcField With lnValoare + This.calculeaza_orizontal(lcAlias) && calculez pentru liniile cu totaluri + Unlock + Endif + Endif + Endfor + + Select (lcAlias) + Goto lnRec + ENDPROC + + PROCEDURE cfield_assign + LPARAMETERS vNewVal + *To do: Modify this routine for the Assign method + THIS.cfield = m.vNewVal + + PRIVATE lcAlias,lcSufix,lcVar + lcAlias=thisform.calias + lcSufix=this.cField + lcVar=lcAlias+[.]+lcSufix + lcCont=lcAlias+[.cont] + THISFORM.nOldValue=EVALUATE(lcVar) + thisform.ccont=EVALUATE(lcCont) + *WAIT WINDOW 'ccont '+thisform.ccont + + ENDPROC + + PROCEDURE conditieistoricact + Local lcConditie + lcConditie = "" + + If glEMama + lnIdSucursala = crsSucursale.ID_SUCURSALA + llBalantaCentralizata = lnIdSucursala = -1 && BALANTA CENTRALIZATA + llBalantaDefalcata = lnIdSucursala = -2 && BALANTA DEFALCATA + llBalantaGrup = lnIdSucursala = -3 && BALANTA GRUP (FARA ID SUCURSALA) + Do Case + Case !Empty(Nvl(tbalanta.ID_SUCURSALA,0)) + lcConditie = " and id_sucursala = " + Alltrim(Str(tbalanta.ID_SUCURSALA)) + Case llBalantaDefalcata + If Empty(Nvl(tbalanta.ID_SUCURSALA,0)) + lcConditie = " and id_sucursala is null" + Else + lcConditie = " and id_sucursala = " + Alltrim(Str(tbalanta.ID_SUCURSALA)) + Endif + Case llBalantaGrup + lcConditie = " and id_sucursala is null" + Endcase + Else + lcConditie = gcCondSucursala + Endif + Return lcConditie + + ENDPROC + + PROCEDURE Destroy + USE IN (SELECT('crsSucursale')) + ENDPROC + + PROCEDURE do_excel + If gcNumeProgram = [ROAMANAGER] + x= xmenu("\0 + *!* poExcel.Cells(nRows,nColumn)=Iif(Eval(.Columns(nCol).ControlSource)==0,'NU','DA') + *!* Else + *!* poExcel.Cells(nRows,nColumn) = IIF(empty(Eval(.Columns(nCol).ControlSource)),'',Eval(.Columns(nCol).ControlSource)) + *!* Endif + *!* Endfor + *!* Endscan + *!* Endwith + + *!* XLApp.Visible = .T. + *!* Endif + ENDPROC + + PROCEDURE do_listare + *!* 24.01.2011 + *!* marius.mutu + *!* balanta cumulata + + *!* 04.08.2011 + *!* marius.mutu + *!* listare foxypreview + + Private pcPerioadaRef &&, pcDataOra + Local lnOptiuneRaport, Tlist + + + + lnOptiuneRaport = xmenu('4 egalitati (Total sume precedente/Rulaje curente) ;' + ; + '4 egalitati (Solduri initiale/Rulaje curente);' + ; + '4 egalitati (Solduri 1 ianuarie/Total rulaje);' + ; + '\-;' + ; + '5 egalitati (A3);' + ; + '6 egalitati (A3)') + + If Empty(m.lnOptiuneRaport) + Return + Endif + + *!* pcDataOra = '' + *!* pcDataOra = get_ora(2) + *!* 24.01.2011 + If !Empty(This.nAn2) + pcPerioadaRef = 'Perioada ' + Padl(Alltrim(Str(This.nLuna1)),2,'0') + "/" + Alltrim(Str(This.nAn1)) + " - " + Padl(Alltrim(Str(This.nLuna2)),2,'0') + "/" + Alltrim(Str(This.nAn2)) + Else + pcPerioadaRef = 'Luna ' + Padl(Alltrim(Str(gnLuna)),2,'0') + "/" + Alltrim(Str(gnAn)) + Endif + *!* 24.01.2011 ^ + + LNG1=Thisform.cktotal1.Value + LNG2=Thisform.cktotal3.Value + LNG3=Thisform.cktotal3.Value + LNG4=Thisform.cktotal4.Value + LNG5=Thisform.ckanalitic.Value + + *!* DACA SUNT PE FIRMA MAMA SI SE LISTEAZA CONTURILE DEFALCATE SAU DOAR DE PE O SUCURSALA + *!* AFISEZ "TOATE SUCURSALELE" / "SUCURSALA X" + lcSucursala = '' + If glEMama + Do Case + Case crsSucursale.id_sucursala = -2 && BALANTA CENTRALIZATA + lcSucursala = ' * TOATE SUCURSALELE * ' + Case crsSucursale.id_sucursala > 0 + lcSucursala = ' * ' + Strtran(Upper(Alltrim(crsSucursale.sucursala)),'BALANTA') + ' * ' + Endcase + Endif + LCBAL=Thisform.CALIas + Select (LCBAL) + + LCPARTIALA=Iif(!Empty(Thisform.TXTcont.Value)," PARTIALA "," ") + LCPARTIALA = lcSucursala + LCPARTIALA + + Do Case + Case LNG5=1 + m.titlu='- ANALITICA'+LCPARTIALA+'-' + Select (LCBAL) + &T + Replace All bifa With .F. + + Select Distinct Cont,bnivel,bifa From &LCBAL ; + WHERE bnivel= 5 ; + INTO Cursor listbal Readwrite + + If _Tally # 0 + Do Form frm_list_balana + + Select listbal + Scan For bifa + Scatter Name olist + Select (LCBAL) + Replace All bifa With .T. For Cont=olist.Cont And Inlist(bnivel, 5, 7) && total analitice pe firma sucursala/mama + Select listbal + Endscan + Release olist + + Select (LCBAL) + Tlist = T + ' and !bifa ' + &Tlist + Endif + Use In listbal + Select (LCBAL) + + Case LNG4=1 And LNG5=0 + m.titlu='- SINTETICA'+LCPARTIALA+'-' + Otherwise + If Empty(LCPARTIALA) + m.titlu="" + Else + m.titlu='-'+LCPARTIALA+'-' + Endif + Endcase + + lcRaport = "" + Do Case + Case m.lnOptiuneRaport = 1 + lcRaport="rapbal_a4_4_14_6_30" && A4 4 EGALITATI (TSP, RLC ,TS, SF) + + Case m.lnOptiuneRaport = 2 + lcRaport="rapbal_a4_4_14_6_30_a" && A4 4 EGALITATI (SI, RLC, TS, SF) + + Case m.lnOptiuneRaport = 3 + lcRaport="rapbal_a4_4_14_6_30_a1" && A4 4 EGALITATI (SI, TR, TS, SF) + + Case m.lnOptiuneRaport = 5 + lcRaport="rapbal_a3_5_14_6_30_a" && A3 5 EGALITATI (SI, TSP, RLC, TS, SF) + + Case m.lnOptiuneRaport = 6 + lcRaport="rapbal_a3_6_14_6_30_b" && A3 6 EGALITATI (SI, TSP, RLC, TR, TS, SF) + Endcase + + This.AlwaysOnTop = .F. + *!* 04.08.2011 + *!* goExport.export2frx(lcbal,lcRaport) + goExport.export2frx(LCBAL,lcRaport, , , , , , .T.) + *!* 04.08.2011 ^ + This.AlwaysOnTop = .T. + *!* If Reccount(LCBAL)>0 + *!* This.AlwaysOnTop = .F. + *!* Report Format (lcRaport) To Printer Prompt Preview + *!* This.AlwaysOnTop = .T. + *!* Else + *!* amessagebox("Nu exista inregistrari pentru listare!",48,"Atentie") + *!* Endif + + ENDPROC + + PROCEDURE do_reface + x= xmenu('Refacere \ 0 + aMessagebox('Refacerea s-a terminat!',0+64,"Info refacere") + Thisform.reconstruct + Thisform.afisactual + Do inainte With this.cProceduraInainte In oinainte_de.prg + ENDIF + ENDPROC + + PROCEDURE do_situatii_cont + Local lnOptiune + Local lcBal, lcCont + lcBal = Thisform.calias + Select (m.lcBal) + lcCont = Alltrim(Nvl(Cont, '')) + If Empty(m.lcCont) + AMESSAGEBOX('Alegeti un cont din balanta!', 0 + 48, _Screen.Caption) + Return + Endif + + lnOptiune = xmenu('Fisa cont;\-;Rulaj debit;Rulaj Credit;Rulaje Debit&Credit;\-;Total Debit;Total Credit;Total Debit&Credit') + If Empty(m.lnOptiune) + Return + Endif + Do Case + Case m.lnOptiune = 1 + Thisform.fisacont + Case m.lnOptiune = 3 + Thisform.RULDEB + Case m.lnOptiune = 4 + Thisform.RULCRED + Case m.lnOptiune = 5 + Thisform.RULDEBCRED + Case m.lnOptiune = 7 + Thisform.TOTDEB + Case m.lnOptiune = 8 + Thisform.TOTCRED + Case m.lnOptiune = 9 + Thisform.TOTDEBCRED + Endcase + ENDPROC + + PROCEDURE fisacont + Private lcbal + lcbal=Thisform.calias + *!* modificare v 2.0.110 + *!* lcCondSucursala = Thisform.conditieistoricact() + *!* modificare v 2.0.110 ^ + Select (lcbal) + Scatter Name locont + *!* modificare v 2.0.110 + If Empty(Substr(Nvl(locont.Cont,''),1,4)) + amessagebox("Nu exista contul in selectie!",48,"Atentie") + Else + lcCondSucursala = Thisform.conditieistoricact() + *!* modificare v 2.0.110 ^ + + Private pcselect1,pcfiltru1,pcorder1,pcschema1,poact + Store "" To poact + *!* pcschema1=['ID_ACT N(20),LUNA N(2),AN N(4),COD N(20),DATAIREG D,NRACT N(14),DATAACT D,'+]+; + *!* ['EXPLICATIA C(100),SCD C(4),ASCD C(4),SCC C(4),ASCC C(4),SUMA N(19,2),PERECHED N(14),'+]+; + *!* ['PERECHEC N(14),SUMA_VAL N(19,2),NUME_VAL C(5),CURS N(8,2),DATASCAD D,NEIMPOZAB N(19,2),'+]+; + *!* ['NNIR N(10),ID_UTIL N(5),UTIL C(30),DATAORA T,ID_UTILS N(5),UTILS C(30),DATAORAS T,'+]+; + *!* ['ID_RESPONSABIL N(5),NRESP C(30),ID_VENCHELT N(5),DST_CHLT C(100),ID_LUCRARE N(5),NRORD C(30),ID_SECTIE N(5),'+]+; + *!* ['SECTIE C(30),PROC_TVA N(5,2),ID_SET N(20),ID_FACT N(20),ID_PARTD N(10),PARTD C(50),ID_PARTC N(10),'+]+; + *!* ['PARTC C(50),ID_SUCURSALA N(5),SUCURSALA C(50),ID_FDOC N(5),FDOC C(30),'+]+; + *!* ['EXPLICATIA4 C(100),EXPLICATIA5 C(100),ID_GESTD N(5),GESTD C(50),ID_GESTC N(5),GESTC C(50)'] + pcschema1=[''] + pcselect1=['select dataireg,dataact,serie_act,nract,partd,partc,explicatia,suma,scd,ascd,scc,ascc,fdoc,util,dataora, explicatie_tva from vact where 1=2'] + *!* modificare v 2.0.110 + *!* pcfiltru1=[(luna=]+Alltrim(Str(gnLuna))+[ and an=]+Alltrim(Str(gnAn))+[) and (SCD=]+Substr(locont.Cont,1,4)+ lcCondSucursala + [ or scc=]+Substr(locont.Cont,1,4)+[)] + pcfiltru1=[luna=]+Alltrim(Str(gnLuna))+[ and an=]+Alltrim(Str(gnAn))+[ and (SCD=']+ALLTRIM(Substr(locont.Cont,1,4))+[' or scc=']+ALLTRIM(Substr(locont.Cont,1,4))+[')] + lcCondSucursala + *!* modificare v 2.0.110 ^ + pcorder1=[dataact,serie_act,nract] + llAfisare=.F. + *!* gencursor('poact','act',pcselect1,pcfiltru1,pcschema1,pcorder1,llAfisare) + gencursor('poact','acn1',pcselect1,pcfiltru1,pcschema1,pcorder1,llAfisare) + poact.ca_baza1.afisare() + + *!* SELE ACT + *!* SET FILTER TO SCD=SUBSTR(locont.CONT,1,4) AND !DELETED() + *!* Do NRORD With "ACT" + *!* ORC=Createobj("AFDEBCRED") + *!* ORC.LABELTITLU.Caption="FISA CONTULUI "+locont.Cont + *!* ORC.ALI = 'ACT' + *!* ORC.Show(1) + + Do NRORD With "ACN1" + Select acn1 + Go Top + ORC=Createobject("frm_debcred") + ORC.lb_titlu_alb_b121.Caption=Thisform.lb_titlu_alb_b121.Caption+" - FISA CONTULUI "+locont.Cont + ORC.lb_titlu1.Caption="FISA CONTULUI "+locont.Cont + ORC._grdbase1.RemoveObject("cUtil") + ORC._grdbase1.RemoveObject("cDataOra") + ORC.Show(1) + + *!* SELECT act + *!* SET FILTER TO + Use In acn1 + Release poact + Select(lcbal) + *!* modificare v 2.0.110 + Endif + *!* modificare v 2.0.110 ^ + + ENDPROC + + PROCEDURE inainte_de_do_excel + If Thisform.lactiv1 + This.do_excel + Endif + ENDPROC + + PROCEDURE inainte_de_do_listare + If Thisform.lactiv2 + This.do_listare + Endif + ENDPROC + + PROCEDURE inainte_de_do_modifica + *!* NU POT FACE MODIFICARI DACA NU AM DREPT PE MODIFICARE SAU INTR-O LUNA INCHISA + If !Thisform.lactiv3 Or glLunaInchisa + Return + Endif + + *!* NU POT FACE MODIFICARI PE BALANTA CUMULATA - NU AM ID_BAL + IF glEMama + IF crsSucursale.ID_SUCURSALA = -1 + aMessageBox('Nu se pot face modificari pe balanta centralizata!' + CRLF + 'Selectati balanta defalcata pe sucursale',0+64,'Balanta') + RETURN + ENDIF + ENDIF + + Thisform.meniu_as + Thisform.grID1.SetFocus + ENDPROC + + PROCEDURE inainte_de_do_reface + If Thisform.lactiv4 And !glLunaInchisa + This.do_reface() + Endif + + ENDPROC + + PROCEDURE Init + DoDefault() + Thisform.WindowState = 2 + + If .F. + lnLungimeBanda = Thisform.but_termin1.Width + 10 + lnPozitieButon = Thisform.but_termin1.Left + lnLungimeButon = Thisform.but_termin1.Width + 1 && 30 + 1 (spatiu) + lnOffsetBanda = 6 && diferenta dintre _shape2.left si but_termin1.left + + + If Thisform.lactiv2 + lnPozitieButon = lnPozitieButon - lnLungimeButon + lnLungimeBanda = lnLungimeBanda + lnLungimeButon + Thisform.but_listare1.Left = lnPozitieButon + Endif + If Thisform.lactiv1 + lnPozitieButon = lnPozitieButon - lnLungimeButon + lnLungimeBanda = lnLungimeBanda + lnLungimeButon + Thisform.but_excel1.Left = lnPozitieButon + Endif + If Thisform.lactiv3 And !glLunaInchisa + lnPozitieButon = lnPozitieButon - lnLungimeButon + lnLungimeBanda = lnLungimeBanda + lnLungimeButon + Thisform.but_modifica1.Left = lnPozitieButon + Endif + If Thisform.lactiv4 And !glLunaInchisa + lnPozitieButon = lnPozitieButon - lnLungimeButon + lnLungimeBanda = lnLungimeBanda + lnLungimeButon + Thisform.BUT_reface1.Left = lnPozitieButon + Endif + With Thisform._shape2 + * With Thisform.banda_alba + .Width = lnLungimeBanda + .Left = lnPozitieButon - lnOffsetBanda + Endwith + Endif && .F. + + If This.BUT_reface1.Visible + This.BUT_reface1.Visible=!glLunaInchisa + Endif + If This.but_modifica1.Visible + This.but_modifica1.Visible=!glLunaInchisa + Endif + + Public sz + This.calias=This.grid1.RecordSource && TBALANTA + Private lcbal + lcbal=Thisform.calias + + Select(lcbal) + Go Top + + Store 0.0000 To m.sprecdeb1,m.spreccred1,m.ssoldideb, m.ssoldicred, m.sprecdeb,m.spreccred,m.sruldeb,m.srulcred,m.stotdeb,m.stotcred,m.ssolddeb,m.ssoldcred + + If .F. + With Thisform.grid1 + .cprecdeb1.Width=0 + .cpreccred1.Width=0 + Endwith + Endif + + IF glEMama + lnSucces = ccsucursale_mama() && IN updateserver.prg && vnom_sucursale_mama + + CREATE CURSOR crsSucursale (id_sucursala n(5), sucursala c(100)) + INSERT INTO crsSucursale (id_sucursala, sucursala) VALUES (-1, 'Balanta centralizata') + INSERT INTO crsSucursale (id_sucursala, sucursala) VALUES (-2, 'Balanta pe sucursale') + INSERT INTO crsSucursale (id_sucursala, sucursala) VALUES (-3, 'Balanta grup') + SELECT crsSucursale + APPEND FROM DBF('vnom_sucursale_mama') + REPLACE ALL sucursala WITH 'Balanta ' + PROPER(ALLTRIM(sucursala)) FOR id_sucursala > 0 + + close_ccsucursale_mama() + SELECT crsSucursale + GO TOP + WITH this.cboSucursale + .RowSourceType = 6 + .RowSource = "crsSucursale.sucursala" + .Visible = .T. + this.cboSucursale.Value = crsSucursale.sucursala + EndWith + Else + this.grid1.cSucursala.Visible = .F. + ENDIF + *!* Locale + *!* goLocale.SetLocale( thisform ) + *!* Locale ^ + this.gridextra1.setup() + *MESSAGEBOX(this.grid1.cdenumire.text1.FontName + ' ' + TRANSFORM(this.grid1.cdenumire.text1.FontName)) + + Thisform.afisactual + + + ENDPROC + + PROCEDURE in_bal + Parameters tnIdSucursala, tcCont,tcAcont,tlCalculeaza + Private lcCont,lcField,lcOldAlias,lcTabela + LOCAL lcIdSucursala + + lcOldAlias=Alias() + lcField=This.cfield + lnvalue=This.nnewvalue + lnOldValue=This.noldvalue + + If lnvalue=lnOldValue + Return + Endif + + If Empty(tcAcont) + lcAcont="" + Else + lcAcont=Upper(Alltrim(tcAcont)) + Endif + + If Empty(tcCont) + lcCont="" + Else + lcCont=Upper(Alltrim(tcCont)) + Endif + + lcIdSucursala = ALLTRIM(STR(NVL(tnIdSucursala,0))) + If !Empty(lcAcont) + lcTabela = "balana" + lcCond = [NVL(id_sucursala,0) = ] + lcIdSucursala + [ AND TRIM(UPPER(cont))=']+lcCont+[' and TRIM(UPPER(acont))=']+lcAcont+[' and an = ] + ALLTRIM(STR(gnAn)) + [ and luna = ] + ALLTRIM(STR(gnLuna)) + Else + lcTabela = "bal" + lcCond = [NVL(id_sucursala,0) = ] + lcIdSucursala + [ AND TRIM(UPPER(cont))=']+lcCont+[' and an = ] + ALLTRIM(STR(gnAn)) + [ and luna = ] + ALLTRIM(STR(gnLuna)) + Endif + + *!* If !EXISTACAMP(lcTabela,lcField) && DACA NU EXISTA CAMPUL NU FAC NIMIC + *!* Return + *!* Endif + + && setare zecimale + pcexec=[update ] + ALLTRIM(lcTabela) + [ set ] + ALLTRIM(lcField) + [=] + ALLTRIM(STR(lnvalue,24,4)) + [ ] + ; + [where ]+lcCond + + + lnSucces=goExecutor.oexecute(pcexec) + If lnSucces < 0 + lcTextEroare = goExecutor.cEroare + aMessagebox(lcTextEroare,48,"Eroare") + Return + Endif + + If tlCalculeaza + This.calculeaza_orizontal() + Endif + + If !Empty(lcOldAlias) + Select (lcOldAlias) + Endif + ENDPROC + + PROCEDURE meniu_as + Private lcbal + lcbal=Thisform.calias + + If Thisform.grid1.ReadOnly + lcText=[\=0, RGB(0,0,0), RGB(255,0,0)) + ENDPROC + + PROCEDURE Text2.Refresh + THIS.FORECOLOR=IIF(M.SPRECCRED>=0, RGB(0,0,0), RGB(255,0,0)) + ENDPROC + + PROCEDURE Text3.Refresh + THIS.FORECOLOR=IIF(M.SRULCRED>=0, RGB(0,0,0), RGB(255,0,0)) + ENDPROC + + PROCEDURE Text4.Refresh + THIS.FORECOLOR=IIF(M.SRULDEB>=0, RGB(0,0,0), RGB(255,0,0)) + ENDPROC + + PROCEDURE Text5.Refresh + THIS.FORECOLOR=IIF(M.STOTDEB>=0, RGB(0,0,0), RGB(255,0,0)) + ENDPROC + + PROCEDURE Text6.Refresh + THIS.FORECOLOR=IIF(M.STOTCRED>=0, RGB(0,0,0), RGB(255,0,0)) + ENDPROC + + PROCEDURE Text7.Init + sum solddeb to m.ssolddeb + this.refresh + ENDPROC + + PROCEDURE Text8.Init + sum soldcred to m.ssoldcred + this.refresh + ENDPROC + + PROCEDURE txtcont.Valid + thisform.txtcont2.Value = this.Value + thisform.afisactual + + ENDPROC + + PROCEDURE txtcont2.Valid + thisform.afisactual + ENDPROC + + PROCEDURE txtpreccred1.Refresh + THIS.FORECOLOR=IIF(M.SPRECCRED1>=0, RGB(0,0,0), RGB(255,0,0)) + ENDPROC + + PROCEDURE txtprecdeb1.Refresh + THIS.FORECOLOR=IIF(M.SPRECDEB1>=0, RGB(0,0,0), RGB(255,0,0)) + ENDPROC + +ENDDEFINE + +DEFINE CLASS frm_balanta_original AS formtermin OF "_frm_base.vcx" + *< CLASSDATA: Baseclass="form" Timestamp="" Scale="Pixels" Uniqueid="" /> + + *-- OBJECTDATA items order determines ZOrder / El orden de los items OBJECTDATA determina el ZOrder + *< OBJECTDATA: ObjPath="Optiongroup1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="But_listare1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="oMenuShortcut" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="But_excel1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="But_reface1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="pf" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="pf.p1.Shape1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="pf.p1.Label5" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="pf.p1.Text7" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="pf.p1.Text8" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="pf.p1.Label2" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="pf.p1.Label4" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="pf.p1.Text1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="pf.p1.txtprecdeb1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="pf.p1.Text2" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="pf.p1.txtpreccred1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="pf.p1.Text3" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="pf.p1.Text5" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="pf.p1.Text4" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="pf.p1.Text6" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="pf.p1.Label8" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="pf.p1.lblsld1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="pf.p1.lbldebit" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="pf.p1.Check1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="pf.p1.lblcredit" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="pf.P2.Shape1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="pf.P2.cktotal4" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="pf.P2.ckanalitic" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="pf.P2.cktotal2" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="pf.P2.cktotal1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="pf.P2.cktotal3" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="pf.P2.cksold1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="pf.P2.Ck_cont" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="pf.P2.cboSucursale" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="pf.P2.Ck_acont" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="pf.P2.Ck_denumire" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="pf.p3.Shape1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="pf.p3.Optiongroup1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="pf.P4.Shape1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="pf.P4.cboRaport" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="pf.P4.Label2" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="Resizer1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="txtcont" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="Label1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="Ct1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="txtcont2" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="Label2" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="But_modifica1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="Label3" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="Label4" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="Gridextra1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="Grid1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="Grid1.ccont.Header1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="Grid1.ccont.Text1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="Grid1.cdenumire.Header2" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="Grid1.cdenumire.Text1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="Grid1.cprecdeb.Header3" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="Grid1.cprecdeb.Text1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="Grid1.cpreccred.Header4" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="Grid1.cpreccred.Text1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="Grid1.cruldeb.Header5" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="Grid1.cruldeb.Text1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="Grid1.crulcred.Header6" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="Grid1.crulcred.Text1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="Grid1.ctotdeb.Header7" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="Grid1.ctotdeb.Text1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="Grid1.ctotcred.Header8" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="Grid1.ctotcred.Text1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="Grid1.csoldcred.Header1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="Grid1.csoldcred.Text1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="Grid1.csolddeb.Header1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="Grid1.csolddeb.Text1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="Grid1.cacont.Header1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="Grid1.cacont.Text1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="Grid1.cprecdeb1.Header1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="Grid1.cprecdeb1.Text1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="Grid1.cpreccred1.Header1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="Grid1.cpreccred1.Text1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="Grid1.cSucursala.Header1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="Grid1.cSucursala.Text1" UniqueID="" Timestamp="" /> + + * + *m: adauga_linie + *m: afisactual + *m: butapend + *m: butdrept + *m: calculeaza + *m: calculeaza_orizontal + *m: calculeaza_vertical + *m: cfield_assign + *m: conditieistoricact + *m: fisacont + *m: in_bal + *m: meniu_as + *m: reconstruct + *m: rulcred + *m: ruldeb + *m: ruldebcred + *m: sterge_linie + *m: totcred + *m: totdeb + *m: totdebcred + *p: calias + *p: cbal + *p: ccont + *p: cfield + *p: cprocedurainainte + *p: lcentru + *p: nan1 + *p: nan2 + *p: nluna1 + *p: nluna2 + *p: nnewvalue + *p: noldvalue + *p: oafbalana + * + + * + AlwaysOnTop = .F. + BackColor = 255,255,255 + BorderStyle = 1 + calias = TBALANTA + cbal = + cbuton4 = but_reface1 + cfield = + cprocedurainainte = balanta + DoCreate = .T. + FontCharSet = 238 + FontName = "Segoe UI" + FontSize = 10 + Height = 478 + lactiv1 = .F. + lactiv2 = .F. + lactiv3 = .F. + lactiv4 = .F. + lcentru = .F. + Name = "frm_balanta" + nan1 = 2000 + nan2 = 2000 + nluna1 = 1 + nluna2 = 1 + nnewvalue = 0 + noldvalue = 0 + ScrollBars = 0 + Width = 806 + WindowType = 1 + _shape1.Anchor = 10 + _shape1.BorderStyle = 0 + _shape1.Height = 35 + _shape1.Left = 0 + _shape1.Name = "_shape1" + _shape1.Top = 0 + _shape1.Width = 828 + _shape1.ZOrderSet = 1 + _shape2.Comment = "*:OnResize=RT" + _shape2.Height = 36 + _shape2.Left = 648 + _shape2.Name = "_shape2" + _shape2.Top = -1 + _shape2.Width = 153 + _shape2.ZOrderSet = 2 + Lb_titlu_alb_b121.Caption = "Balanta de verificare" + Lb_titlu_alb_b121.Name = "Lb_titlu_alb_b121" + Lb_titlu_alb_b121.ZOrderSet = 3 + BUT_TERMIN1.Anchor = 9 + BUT_TERMIN1.Comment = "*:OnResize=RT" + BUT_TERMIN1.Left = 768 + BUT_TERMIN1.Name = "BUT_TERMIN1" + BUT_TERMIN1.Top = 4 + BUT_TERMIN1.ZOrderSet = 5 + Gridsort1.Name = "Gridsort1" + * + + ADD OBJECT 'But_excel1' AS but_excel WITH ; + Anchor = 9, ; + Comment = "*:OnResize=RT", ; + Left = 739, ; + Name = "But_excel1", ; + Top = 4, ; + Visible = .F., ; + ZOrderSet = 9 + *< END OBJECT: ClassLib="cmd_butoane.vcx" BaseClass="commandbutton" /> + + ADD OBJECT 'But_listare1' AS but_listare WITH ; + Anchor = 9, ; + Comment = "*:OnResize=RT", ; + Left = 709, ; + Name = "But_listare1", ; + Top = 4, ; + Visible = .F., ; + ZOrderSet = 7 + *< END OBJECT: ClassLib="cmd_butoane.vcx" BaseClass="commandbutton" /> + + ADD OBJECT 'But_modifica1' AS but_modifica WITH ; + Anchor = 9, ; + Comment = "*:OnResize=RT", ; + Left = 679, ; + Name = "But_modifica1", ; + Top = 4, ; + ZOrderSet = 18 + *< END OBJECT: ClassLib="cmd_butoane.vcx" BaseClass="commandbutton" /> + + ADD OBJECT 'But_reface1' AS but_reface WITH ; + Anchor = 9, ; + Comment = "*:OnResize=RT", ; + Left = 649, ; + Name = "But_reface1", ; + Top = 4, ; + Visible = .F., ; + ZOrderSet = 10 + *< END OBJECT: ClassLib="cmd_butoane.vcx" BaseClass="commandbutton" /> + + ADD OBJECT 'Ct1' AS ct WITH ; + Height = 25, ; + Left = 67, ; + Name = "Ct1", ; + SpecialEffect = 0, ; + TabIndex = 3, ; + Top = 113, ; + Width = 59, ; + ZOrderSet = 15, ; + Shape1.Name = "Shape1", ; + Text1.Height = 21, ; + Text1.Left = 1, ; + Text1.Name = "Text1", ; + Text1.Top = 1, ; + Text1.Width = 13, ; + Text2.Left = 14, ; + Text2.Name = "Text2", ; + Text2.Top = 1, ; + Text3.Left = 26, ; + Text3.Name = "Text3", ; + Text3.Top = 1, ; + Text4.Height = 21, ; + Text4.Left = 39, ; + Text4.Name = "Text4", ; + Text4.Top = 1, ; + Text4.Width = 14, ; + Line1.Left = 14, ; + Line1.Name = "Line1", ; + Line1.Top = -9, ; + Line2.Left = 26, ; + Line2.Name = "Line2", ; + Line2.Top = -9, ; + Line3.Left = 39, ; + Line3.Name = "Line3", ; + Line3.Top = -9 + *< END OBJECT: ClassLib="ferestre_cere_date.vcx" BaseClass="container" /> + + ADD OBJECT 'Grid1' AS grid WITH ; + Anchor = 15, ; + BackColor = 255,255,255, ; + ColumnCount = 14, ; + Comment = "*:OnResize=SS", ; + DeleteMark = .F., ; + FontSize = 10, ; + GridLineColor = 192,192,192, ; + Height = 322, ; + Left = 0, ; + Name = "Grid1", ; + Panel = 1, ; + ReadOnly = .T., ; + RecordSource = "TBALANTA", ; + RowHeight = 20, ; + TabIndex = 4, ; + Top = 143, ; + Width = 799, ; + ZOrderSet = 21, ; + Column1.Alignment = 0, ; + Column1.BackColor = 255,255,255, ; + Column1.ColumnOrder = 1, ; + Column1.ControlSource = "CONT", ; + Column1.FontName = "Arial", ; + Column1.FontSize = 10, ; + Column1.Format = "", ; + Column1.InputMask = "", ; + Column1.Name = "ccont", ; + Column1.ReadOnly = .T., ; + Column1.Width = 29, ; + Column2.Alignment = 0, ; + Column2.BackColor = 255,255,255, ; + Column2.ColumnOrder = 3, ; + Column2.ControlSource = "DENUMIRE", ; + Column2.FontName = "Arial", ; + Column2.FontSize = 10, ; + Column2.Name = "cdenumire", ; + Column2.ReadOnly = .T., ; + Column2.Width = 141, ; + Column3.Alignment = 1, ; + Column3.BackColor = 187,235,255, ; + Column3.ColumnOrder = 6, ; + Column3.ControlSource = "PRECDEB", ; + Column3.DynamicForeColor = "IIF(PRECDEB>=0, RGB(0,0,0), RGB(255,0,0))", ; + Column3.FontName = "Arial", ; + Column3.FontSize = 10, ; + Column3.Format = "r", ; + Column3.InputMask = (get_mask(16,gnPA)), ; + Column3.Name = "cprecdeb", ; + Column3.ReadOnly = .T., ; + Column3.Width = 72, ; + Column4.Alignment = 1, ; + Column4.BackColor = 187,235,255, ; + Column4.ColumnOrder = 7, ; + Column4.ControlSource = "PRECCRED", ; + Column4.DynamicForeColor = "IIF(PRECCRED>=0, RGB(0,0,0), RGB(255,0,0))", ; + Column4.FontName = "Arial", ; + Column4.FontSize = 10, ; + Column4.Format = "r", ; + Column4.InputMask = (get_mask(16,gnPA)), ; + Column4.Name = "cpreccred", ; + Column4.ReadOnly = .T., ; + Column4.Width = 72, ; + Column5.Alignment = 1, ; + Column5.BackColor = 236,249,255, ; + Column5.ColumnOrder = 8, ; + Column5.ControlSource = "RULDEB", ; + Column5.DynamicForeColor = "IIF(RULDEB>=0, RGB(0,0,0), RGB(255,0,0))", ; + Column5.FontName = "Arial", ; + Column5.FontSize = 10, ; + Column5.Format = "R", ; + Column5.InputMask = (get_mask(16,gnPA)), ; + Column5.Name = "cruldeb", ; + Column5.ReadOnly = .T., ; + Column5.Width = 72, ; + Column6.Alignment = 1, ; + Column6.BackColor = 236,249,255, ; + Column6.ColumnOrder = 9, ; + Column6.ControlSource = "RULCRED", ; + Column6.DynamicForeColor = "IIF(RULCRED>=0, RGB(0,0,0), RGB(255,0,0))", ; + Column6.FontName = "Arial", ; + Column6.FontSize = 10, ; + Column6.Format = "R", ; + Column6.InputMask = (get_mask(16,gnPA)), ; + Column6.Name = "crulcred", ; + Column6.ReadOnly = .T., ; + Column6.Width = 73, ; + Column7.Alignment = 1, ; + Column7.BackColor = 187,235,255, ; + Column7.ColumnOrder = 10, ; + Column7.ControlSource = "TOTDEB", ; + Column7.DynamicForeColor = "IIF(TOTDEB>=0, RGB(0,0,0), RGB(255,0,0))", ; + Column7.FontName = "Arial", ; + Column7.FontSize = 10, ; + Column7.Format = "r", ; + Column7.InputMask = (get_mask(16,gnPA)), ; + Column7.Name = "ctotdeb", ; + Column7.ReadOnly = .T., ; + Column7.Width = 83, ; + Column8.Alignment = 1, ; + Column8.BackColor = 187,235,255, ; + Column8.ColumnOrder = 11, ; + Column8.ControlSource = "TOTCRED", ; + Column8.DynamicForeColor = "IIF(TOTCRED>=0, RGB(0,0,0), RGB(255,0,0))", ; + Column8.FontName = "Arial", ; + Column8.FontSize = 10, ; + Column8.Format = "r", ; + Column8.InputMask = (get_mask(16,gnPA)), ; + Column8.Name = "ctotcred", ; + Column8.ReadOnly = .T., ; + Column8.Width = 85, ; + Column9.Alignment = 1, ; + Column9.BackColor = 236,249,255, ; + Column9.ColumnOrder = 13, ; + Column9.ControlSource = "SOLDCRED", ; + Column9.DynamicForeColor = "IIF(SOLDCRED>=0, RGB(0,0,0), RGB(255,0,0))", ; + Column9.FontName = "Arial", ; + Column9.FontSize = 10, ; + Column9.Format = "r", ; + Column9.InputMask = (get_mask(16,gnPA)), ; + Column9.Name = "csoldcred", ; + Column9.ReadOnly = .T., ; + Column9.Width = 70, ; + Column10.Alignment = 1, ; + Column10.BackColor = 236,249,255, ; + Column10.ColumnOrder = 12, ; + Column10.ControlSource = "SOLDDEB", ; + Column10.DynamicForeColor = "IIF(SOLDDEB>=0, RGB(0,0,0), RGB(255,0,0))", ; + Column10.FontName = "Arial", ; + Column10.FontSize = 10, ; + Column10.Format = "r", ; + Column10.InputMask = (get_mask(16,gnPA)), ; + Column10.Name = "csolddeb", ; + Column10.ReadOnly = .T., ; + Column10.Width = 66, ; + Column11.BackColor = 255,255,255, ; + Column11.ColumnOrder = 2, ; + Column11.ControlSource = "ACONT", ; + Column11.FontName = "Arial", ; + Column11.FontSize = 10, ; + Column11.Name = "cacont", ; + Column11.ReadOnly = .T., ; + Column11.Width = 40, ; + Column12.BackColor = 236,249,255, ; + Column12.ColumnOrder = 4, ; + Column12.ControlSource = "precdeb1", ; + Column12.FontName = "Arial", ; + Column12.FontSize = 10, ; + Column12.Format = "RK", ; + Column12.InputMask = (get_mask(18,gnPA)), ; + Column12.Name = "cprecdeb1", ; + Column12.ReadOnly = .T., ; + Column12.Visible = .F., ; + Column12.Width = 0, ; + Column13.BackColor = 236,249,255, ; + Column13.ColumnOrder = 5, ; + Column13.ControlSource = "preccred1", ; + Column13.FontName = "Arial", ; + Column13.FontSize = 10, ; + Column13.Format = "RK", ; + Column13.InputMask = (get_mask(18,gnPA)), ; + Column13.Name = "cpreccred1", ; + Column13.ReadOnly = .T., ; + Column13.Visible = .F., ; + Column13.Width = 0, ; + Column14.BackColor = 255,255,255, ; + Column14.ControlSource = "sucursala", ; + Column14.FontName = "Arial", ; + Column14.FontSize = 10, ; + Column14.Name = "cSucursala", ; + Column14.ReadOnly = .T., ; + Column14.Width = 164 + *< END OBJECT: BaseClass="grid" /> + + ADD OBJECT 'Grid1.cacont.Header1' AS header WITH ; + Alignment = 2, ; + Caption = "Analitic", ; + FontName = "Arial", ; + FontSize = 10, ; + Name = "Header1" + *< END OBJECT: BaseClass="header" /> + + ADD OBJECT 'Grid1.cacont.Text1' AS textbox WITH ; + BackColor = 255,255,255, ; + BorderStyle = 0, ; + FontName = "Arial", ; + FontSize = 10, ; + ForeColor = 0,0,0, ; + Margin = 0, ; + Name = "Text1", ; + ReadOnly = .T. + *< END OBJECT: BaseClass="textbox" /> + + ADD OBJECT 'Grid1.ccont.Header1' AS header WITH ; + Alignment = 2, ; + Caption = "Cont", ; + FontName = "Arial", ; + FontSize = 10, ; + Name = "Header1" + *< END OBJECT: BaseClass="header" /> + + ADD OBJECT 'Grid1.ccont.Text1' AS textbox WITH ; + Alignment = 0, ; + BackColor = 255,255,255, ; + BorderStyle = 0, ; + FontName = "Arial", ; + FontSize = 10, ; + ForeColor = 0,0,0, ; + Margin = 0, ; + Name = "Text1", ; + ReadOnly = .T. + *< END OBJECT: BaseClass="textbox" /> + + ADD OBJECT 'Grid1.cdenumire.Header2' AS header WITH ; + Alignment = 2, ; + Caption = "Denumire", ; + FontName = "Arial", ; + FontSize = 10, ; + Name = "Header2" + *< END OBJECT: BaseClass="header" /> + + ADD OBJECT 'Grid1.cdenumire.Text1' AS textbox WITH ; + Alignment = 0, ; + BackColor = 255,255,255, ; + BorderStyle = 0, ; + FontName = "Arial", ; + FontSize = 10, ; + ForeColor = 0,0,0, ; + Margin = 0, ; + Name = "Text1", ; + ReadOnly = .T. + *< END OBJECT: BaseClass="textbox" /> + + ADD OBJECT 'Grid1.cpreccred.Header4' AS header WITH ; + Alignment = 2, ; + Caption = "Prec.Credit", ; + FontName = "Arial", ; + FontSize = 10, ; + Name = "Header4" + *< END OBJECT: BaseClass="header" /> + + ADD OBJECT 'Grid1.cpreccred.Text1' AS textbox WITH ; + Alignment = 1, ; + BackColor = 187,235,255, ; + BorderStyle = 0, ; + FontName = "Arial", ; + FontSize = 10, ; + ForeColor = 0,0,0, ; + Margin = 0, ; + Name = "Text1", ; + ReadOnly = .T. + *< END OBJECT: BaseClass="textbox" /> + + ADD OBJECT 'Grid1.cpreccred1.Header1' AS header WITH ; + Alignment = 2, ; + Caption = "Sold Credit 1 ian. ", ; + FontName = "Arial", ; + FontSize = 10, ; + Name = "Header1" + *< END OBJECT: BaseClass="header" /> + + ADD OBJECT 'Grid1.cpreccred1.Text1' AS textbox WITH ; + BackColor = 236,249,255, ; + BorderStyle = 0, ; + FontName = "Arial", ; + FontSize = 10, ; + ForeColor = 0,0,0, ; + Margin = 0, ; + Name = "Text1", ; + Visible = .F. + *< END OBJECT: BaseClass="textbox" /> + + ADD OBJECT 'Grid1.cprecdeb.Header3' AS header WITH ; + Alignment = 2, ; + Caption = "Prec.Debit", ; + FontName = "Arial", ; + FontSize = 10, ; + Name = "Header3" + *< END OBJECT: BaseClass="header" /> + + ADD OBJECT 'Grid1.cprecdeb.Text1' AS textbox WITH ; + Alignment = 1, ; + BackColor = 187,235,255, ; + BorderStyle = 0, ; + FontName = "Arial", ; + FontSize = 10, ; + ForeColor = 0,0,0, ; + Margin = 0, ; + Name = "Text1", ; + ReadOnly = .T. + *< END OBJECT: BaseClass="textbox" /> + + ADD OBJECT 'Grid1.cprecdeb1.Header1' AS header WITH ; + Alignment = 2, ; + Caption = "Sold Debit 1 ian.", ; + FontName = "Arial", ; + FontSize = 10, ; + Name = "Header1" + *< END OBJECT: BaseClass="header" /> + + ADD OBJECT 'Grid1.cprecdeb1.Text1' AS textbox WITH ; + BackColor = 236,249,255, ; + BorderStyle = 0, ; + FontName = "Arial", ; + FontSize = 10, ; + ForeColor = 0,0,0, ; + Margin = 0, ; + Name = "Text1", ; + Visible = .F. + *< END OBJECT: BaseClass="textbox" /> + + ADD OBJECT 'Grid1.crulcred.Header6' AS header WITH ; + Alignment = 2, ; + Caption = "Rul.Credit", ; + FontName = "Arial", ; + FontSize = 10, ; + Name = "Header6" + *< END OBJECT: BaseClass="header" /> + + ADD OBJECT 'Grid1.crulcred.Text1' AS textbox WITH ; + Alignment = 1, ; + BackColor = 236,249,255, ; + BorderColor = 0,0,0, ; + BorderStyle = 0, ; + FontName = "Arial", ; + FontSize = 10, ; + ForeColor = 0,0,0, ; + Margin = 0, ; + Name = "Text1", ; + ReadOnly = .T. + *< END OBJECT: BaseClass="textbox" /> + + ADD OBJECT 'Grid1.cruldeb.Header5' AS header WITH ; + Alignment = 2, ; + Caption = "Rul.Debit", ; + FontName = "Arial", ; + FontSize = 10, ; + Name = "Header5" + *< END OBJECT: BaseClass="header" /> + + ADD OBJECT 'Grid1.cruldeb.Text1' AS textbox WITH ; + Alignment = 1, ; + BackColor = 236,249,255, ; + BorderStyle = 0, ; + FontName = "Arial", ; + FontSize = 10, ; + ForeColor = 0,0,0, ; + Margin = 0, ; + Name = "Text1", ; + ReadOnly = .T. + *< END OBJECT: BaseClass="textbox" /> + + ADD OBJECT 'Grid1.csoldcred.Header1' AS header WITH ; + Alignment = 2, ; + Caption = "Sold Credit", ; + FontName = "Arial", ; + FontSize = 10, ; + Name = "Header1" + *< END OBJECT: BaseClass="header" /> + + ADD OBJECT 'Grid1.csoldcred.Text1' AS textbox WITH ; + Alignment = 1, ; + BackColor = 236,249,255, ; + BorderStyle = 0, ; + FontName = "Arial", ; + FontSize = 10, ; + ForeColor = 0,0,0, ; + Margin = 0, ; + Name = "Text1", ; + ReadOnly = .T. + *< END OBJECT: BaseClass="textbox" /> + + ADD OBJECT 'Grid1.csolddeb.Header1' AS header WITH ; + Alignment = 2, ; + Caption = "Sold Debit", ; + FontName = "Arial", ; + FontSize = 10, ; + Name = "Header1" + *< END OBJECT: BaseClass="header" /> + + ADD OBJECT 'Grid1.csolddeb.Text1' AS textbox WITH ; + Alignment = 1, ; + BackColor = 236,249,255, ; + BorderStyle = 0, ; + FontName = "Arial", ; + FontSize = 10, ; + ForeColor = 0,0,0, ; + Margin = 0, ; + Name = "Text1", ; + ReadOnly = .T. + *< END OBJECT: BaseClass="textbox" /> + + ADD OBJECT 'Grid1.cSucursala.Header1' AS header WITH ; + Alignment = 2, ; + Caption = "Sucursala", ; + FontName = "Arial", ; + FontSize = 10, ; + Name = "Header1" + *< END OBJECT: BaseClass="header" /> + + ADD OBJECT 'Grid1.cSucursala.Text1' AS textbox WITH ; + BackColor = 255,255,255, ; + BorderStyle = 0, ; + FontName = "Arial", ; + FontSize = 10, ; + ForeColor = 0,0,0, ; + Margin = 0, ; + Name = "Text1", ; + ReadOnly = .T. + *< END OBJECT: BaseClass="textbox" /> + + ADD OBJECT 'Grid1.ctotcred.Header8' AS header WITH ; + Alignment = 2, ; + Caption = "Total Credit", ; + FontName = "Arial", ; + FontSize = 10, ; + Name = "Header8" + *< END OBJECT: BaseClass="header" /> + + ADD OBJECT 'Grid1.ctotcred.Text1' AS textbox WITH ; + Alignment = 1, ; + BackColor = 187,235,255, ; + BorderStyle = 0, ; + FontName = "Arial", ; + FontSize = 10, ; + ForeColor = 0,0,0, ; + Margin = 0, ; + Name = "Text1", ; + ReadOnly = .T. + *< END OBJECT: BaseClass="textbox" /> + + ADD OBJECT 'Grid1.ctotdeb.Header7' AS header WITH ; + Alignment = 2, ; + Caption = "Total Debit", ; + FontName = "Arial", ; + FontSize = 10, ; + Name = "Header7" + *< END OBJECT: BaseClass="header" /> + + ADD OBJECT 'Grid1.ctotdeb.Text1' AS textbox WITH ; + Alignment = 1, ; + BackColor = 187,235,255, ; + BorderStyle = 0, ; + FontName = "Arial", ; + FontSize = 10, ; + ForeColor = 0,0,0, ; + Margin = 0, ; + Name = "Text1", ; + ReadOnly = .T. + *< END OBJECT: BaseClass="textbox" /> + + ADD OBJECT 'Gridextra1' AS gridextra WITH ; + Left = 627, ; + Name = "Gridextra1", ; + Top = 377 + *< END OBJECT: ClassLib="..\utile\gridextras\gridextras.vcx" BaseClass="custom" /> + + ADD OBJECT 'Label1' AS _label WITH ; + AutoSize = .T., ; + BackStyle = 0, ; + Caption = "Selectie cont", ; + Comment = "*:OnResize=LT", ; + FontBold = .F., ; + FontCharSet = 1, ; + FontName = "Segoe UI", ; + FontSize = 10, ; + Height = 19, ; + Left = 8, ; + Name = "Label1", ; + TabIndex = 13, ; + Top = 67, ; + Width = 75, ; + ZOrderSet = 14 + *< END OBJECT: ClassLib="_baza.vcx" BaseClass="label" /> + + ADD OBJECT 'Label2' AS _label WITH ; + AutoSize = .T., ; + BackStyle = 0, ; + Caption = "De la", ; + Comment = "*:OnResize=LT", ; + FontBold = .F., ; + Height = 18, ; + Left = 9, ; + Name = "Label2", ; + TabIndex = 13, ; + Top = 90, ; + Width = 32, ; + ZOrderSet = 17 + *< END OBJECT: ClassLib="_baza.vcx" BaseClass="label" /> + + ADD OBJECT 'Label3' AS _label WITH ; + AutoSize = .T., ; + BackStyle = 0, ; + Caption = "Analitic", ; + Comment = "*:OnResize=LT", ; + FontBold = .F., ; + Height = 18, ; + Left = 9, ; + Name = "Label3", ; + TabIndex = 13, ; + Top = 116, ; + Width = 45, ; + ZOrderSet = 19 + *< END OBJECT: ClassLib="_baza.vcx" BaseClass="label" /> + + ADD OBJECT 'Label4' AS _label WITH ; + AutoSize = .T., ; + BackStyle = 0, ; + Caption = "la", ; + Comment = "*:OnResize=LT", ; + FontBold = .F., ; + Height = 18, ; + Left = 89, ; + Name = "Label4", ; + TabIndex = 13, ; + Top = 90, ; + Width = 12, ; + ZOrderSet = 20 + *< END OBJECT: ClassLib="_baza.vcx" BaseClass="label" /> + + ADD OBJECT 'oMenuShortcut' AS menulib WITH ; + Left = 264, ; + Name = "oMenuShortcut", ; + TabIndex = 6, ; + Top = 0, ; + ZOrderSet = 8 + *< END OBJECT: ClassLib="utility.vcx" BaseClass="container" /> + + ADD OBJECT 'Optiongroup1' AS optiongroup WITH ; + AutoSize = .T., ; + BackStyle = 0, ; + BorderStyle = 0, ; + ButtonCount = 10, ; + Comment = "*:OnResize=LT", ; + ControlSource = "", ; + Height = 79, ; + Left = 396, ; + Name = "Optiongroup1", ; + SpecialEffect = 1, ; + TabIndex = 11, ; + Top = 60, ; + Value = 1, ; + Width = 203, ; + ZOrderSet = 4, ; + Option1.AutoSize = .T., ; + Option1.BackStyle = 0, ; + Option1.Caption = "\ + + ADD OBJECT 'pf' AS pageframe WITH ; + Anchor = 15, ; + Comment = "*:OnResize=ST", ; + ErasePage = .T., ; + Height = 111, ; + Left = 1, ; + Name = "pf", ; + PageCount = 4, ; + TabIndex = 5, ; + Top = 35, ; + Width = 800, ; + ZOrderSet = 11, ; + Page1.BackColor = 255,255,255, ; + Page1.Caption = "Total sume", ; + Page1.FontBold = .T., ; + Page1.FontCharSet = 238, ; + Page1.FontSize = 10, ; + Page1.Name = "p1", ; + Page2.BackColor = 255,255,255, ; + Page2.Caption = "Selectii", ; + Page2.FontBold = .T., ; + Page2.FontCharSet = 238, ; + Page2.FontSize = 10, ; + Page2.Name = "P2", ; + Page3.BackColor = 255,255,255, ; + Page3.Caption = "Fise de cont ", ; + Page3.FontBold = .T., ; + Page3.FontCharSet = 238, ; + Page3.FontSize = 10, ; + Page3.Name = "p3", ; + Page4.BackColor = 255,255,255, ; + Page4.Caption = "Listare", ; + Page4.FontBold = .T., ; + Page4.FontCharSet = 238, ; + Page4.FontSize = 10, ; + Page4.Name = "P4" + *< END OBJECT: BaseClass="pageframe" /> + + ADD OBJECT 'pf.p1.Check1' AS checkbox WITH ; + Alignment = 0, ; + BackStyle = 0, ; + Caption = "Sintetice", ; + Comment = "*:OnResize=RT", ; + FontSize = 10, ; + Height = 19, ; + Left = 199, ; + Name = "Check1", ; + SpecialEffect = 0, ; + Style = 1, ; + Top = 6, ; + Visible = .T., ; + Width = 71 + *< END OBJECT: BaseClass="checkbox" /> + + ADD OBJECT 'pf.p1.Label2' AS _label WITH ; + Anchor = 9, ; + AutoSize = .F., ; + BackColor = 255,255,255, ; + BackStyle = 1, ; + BorderStyle = 1, ; + Caption = " Rulaje", ; + Comment = "*:OnResize=RT", ; + FontCharSet = 238, ; + FontSize = 10, ; + Height = 17, ; + Left = 405, ; + Name = "Label2", ; + Top = 7, ; + Width = 126, ; + ZOrderSet = 31 + *< END OBJECT: ClassLib="_baza.vcx" BaseClass="label" /> + + ADD OBJECT 'pf.p1.Label4' AS _label WITH ; + Anchor = 9, ; + AutoSize = .F., ; + BackColor = 255,255,255, ; + BackStyle = 1, ; + BorderStyle = 1, ; + Caption = " Total sume", ; + Comment = "*:OnResize=RT", ; + FontCharSet = 238, ; + FontSize = 10, ; + Height = 17, ; + Left = 533, ; + Name = "Label4", ; + Top = 7, ; + Width = 126, ; + ZOrderSet = 32 + *< END OBJECT: ClassLib="_baza.vcx" BaseClass="label" /> + + ADD OBJECT 'pf.p1.Label5' AS _label WITH ; + Anchor = 9, ; + AutoSize = .F., ; + BackColor = 255,255,255, ; + BackStyle = 1, ; + BorderStyle = 1, ; + Caption = " Solduri", ; + Comment = "*:OnResize=RT", ; + FontCharSet = 238, ; + FontSize = 10, ; + Height = 17, ; + Left = 661, ; + Name = "Label5", ; + Top = 7, ; + Width = 127, ; + ZOrderSet = 34 + *< END OBJECT: ClassLib="_baza.vcx" BaseClass="label" /> + + ADD OBJECT 'pf.p1.Label8' AS _label WITH ; + Anchor = 9, ; + AutoSize = .F., ; + BackColor = 255,255,255, ; + BackStyle = 1, ; + BorderStyle = 1, ; + Caption = " Total precedente", ; + Comment = "*:OnResize=RT", ; + FontCharSet = 238, ; + FontSize = 10, ; + Height = 17, ; + Left = 277, ; + Name = "Label8", ; + TabIndex = 19, ; + Top = 7, ; + Width = 127, ; + ZOrderSet = 16 + *< END OBJECT: ClassLib="_baza.vcx" BaseClass="label" /> + + ADD OBJECT 'pf.p1.lblcredit' AS _label WITH ; + AutoSize = .F., ; + BackColor = 255,255,255, ; + BackStyle = 1, ; + BorderStyle = 1, ; + Caption = " Credit", ; + Comment = "*:OnResize=RT", ; + Height = 17, ; + Left = 199, ; + Name = "lblcredit", ; + TabIndex = 20, ; + Top = 53, ; + Width = 71, ; + ZOrderSet = 18 + *< END OBJECT: ClassLib="_baza.vcx" BaseClass="label" /> + + ADD OBJECT 'pf.p1.lbldebit' AS _label WITH ; + AutoSize = .F., ; + BackColor = 255,255,255, ; + BackStyle = 1, ; + BorderStyle = 1, ; + Caption = " Debit", ; + Comment = "*:OnResize=RT", ; + Height = 17, ; + Left = 199, ; + Name = "lbldebit", ; + TabIndex = 20, ; + Top = 29, ; + Width = 71, ; + ZOrderSet = 17 + *< END OBJECT: ClassLib="_baza.vcx" BaseClass="label" /> + + ADD OBJECT 'pf.p1.lblsld1' AS _label WITH ; + Anchor = 9, ; + AutoSize = .F., ; + BackColor = 255,255,255, ; + BackStyle = 1, ; + BorderStyle = 1, ; + Caption = " Solduri 1 Ian.", ; + Comment = "*:OnResize=RT", ; + FontCharSet = 238, ; + FontSize = 10, ; + Height = 17, ; + Left = 148, ; + Name = "lblsld1", ; + TabIndex = 19, ; + Top = 7, ; + Visible = .F., ; + Width = 123, ; + ZOrderSet = 16 + *< END OBJECT: ClassLib="_baza.vcx" BaseClass="label" /> + + ADD OBJECT 'pf.p1.Shape1' AS shape WITH ; + Anchor = 10, ; + BackColor = 236,249,255, ; + BorderStyle = 3, ; + Comment = "*:OnResize=ST", ; + Height = 76, ; + Left = 2, ; + Name = "Shape1", ; + Top = 1, ; + Width = 790 + *< END OBJECT: BaseClass="shape" /> + + ADD OBJECT 'pf.p1.Text1' AS _textbox WITH ; + Alignment = 1, ; + Anchor = 9, ; + Comment = "*:OnResize=RT", ; + ControlSource = "m.sprecdeb", ; + DisabledBackColor = 187,235,255, ; + Enabled = .T., ; + FontSize = 10, ; + Format = "r", ; + Height = 23, ; + InputMask = (get_mask(15,gnPA)), ; + Left = 277, ; + Name = "Text1", ; + ReadOnly = .T., ; + SpecialEffect = 1, ; + TabIndex = 6, ; + Top = 26, ; + Width = 127, ; + ZOrderSet = 10 + *< END OBJECT: ClassLib="_baza.vcx" BaseClass="textbox" /> + + ADD OBJECT 'pf.p1.Text2' AS _textbox WITH ; + Alignment = 1, ; + Anchor = 9, ; + Comment = "*:OnResize=RT", ; + ControlSource = "m.spreccred", ; + DisabledBackColor = 187,235,255, ; + Enabled = .T., ; + FontSize = 10, ; + ForeColor = 0,0,0, ; + Format = "r", ; + Height = 23, ; + InputMask = (get_mask(15,gnPA)), ; + Left = 277, ; + Name = "Text2", ; + ReadOnly = .T., ; + SpecialEffect = 1, ; + TabIndex = 7, ; + Top = 50, ; + Width = 127, ; + ZOrderSet = 11 + *< END OBJECT: ClassLib="_baza.vcx" BaseClass="textbox" /> + + ADD OBJECT 'pf.p1.Text3' AS _textbox WITH ; + Alignment = 1, ; + Anchor = 9, ; + Comment = "*:OnResize=RT", ; + ControlSource = "m.srulcred", ; + DisabledBackColor = 236,249,255, ; + Enabled = .T., ; + FontSize = 10, ; + Format = "r", ; + Height = 23, ; + InputMask = (get_mask(15,gnPA)), ; + Left = 405, ; + Name = "Text3", ; + ReadOnly = .T., ; + SpecialEffect = 1, ; + TabIndex = 8, ; + Top = 50, ; + Width = 127, ; + ZOrderSet = 12 + *< END OBJECT: ClassLib="_baza.vcx" BaseClass="textbox" /> + + ADD OBJECT 'pf.p1.Text4' AS _textbox WITH ; + Alignment = 1, ; + Anchor = 9, ; + Comment = "*:OnResize=RT", ; + ControlSource = "m.sruldeb", ; + DisabledBackColor = 236,249,255, ; + Enabled = .T., ; + FontSize = 10, ; + Format = "r", ; + Height = 23, ; + InputMask = (get_mask(15,gnPA)), ; + Left = 405, ; + Name = "Text4", ; + ReadOnly = .T., ; + SpecialEffect = 1, ; + TabIndex = 10, ; + Top = 26, ; + Width = 127, ; + ZOrderSet = 14 + *< END OBJECT: ClassLib="_baza.vcx" BaseClass="textbox" /> + + ADD OBJECT 'pf.p1.Text5' AS _textbox WITH ; + Alignment = 1, ; + Anchor = 9, ; + Comment = "*:OnResize=RT", ; + ControlSource = "m.stotdeb", ; + DisabledBackColor = 187,235,255, ; + Enabled = .T., ; + FontSize = 10, ; + Format = "r", ; + Height = 23, ; + InputMask = (get_mask(15,gnPA)), ; + Left = 533, ; + Name = "Text5", ; + ReadOnly = .T., ; + SpecialEffect = 1, ; + TabIndex = 9, ; + Top = 26, ; + Width = 127, ; + ZOrderSet = 13 + *< END OBJECT: ClassLib="_baza.vcx" BaseClass="textbox" /> + + ADD OBJECT 'pf.p1.Text6' AS _textbox WITH ; + Alignment = 1, ; + Anchor = 9, ; + Comment = "*:OnResize=RT", ; + ControlSource = "m.stotcred", ; + DisabledBackColor = 187,235,255, ; + Enabled = .T., ; + FontSize = 10, ; + Format = "r", ; + Height = 23, ; + InputMask = (get_mask(15,gnPA)), ; + Left = 533, ; + Name = "Text6", ; + ReadOnly = .T., ; + SpecialEffect = 1, ; + TabIndex = 11, ; + Top = 50, ; + Width = 127, ; + ZOrderSet = 15 + *< END OBJECT: ClassLib="_baza.vcx" BaseClass="textbox" /> + + ADD OBJECT 'pf.p1.Text7' AS _textbox WITH ; + Alignment = 1, ; + Anchor = 9, ; + Comment = "*:OnResize=RT", ; + ControlSource = "m.ssolddeb", ; + DisabledBackColor = 236,249,255, ; + Enabled = .T., ; + FontSize = 10, ; + Format = "r", ; + Height = 23, ; + InputMask = (get_mask(15,gnPA)), ; + Left = 661, ; + Name = "Text7", ; + ReadOnly = .T., ; + SpecialEffect = 1, ; + TabIndex = 6, ; + Top = 26, ; + Width = 127, ; + ZOrderSet = 21 + *< END OBJECT: ClassLib="_baza.vcx" BaseClass="textbox" /> + + ADD OBJECT 'pf.p1.Text8' AS _textbox WITH ; + Alignment = 1, ; + Anchor = 9, ; + Comment = "*:OnResize=RT", ; + ControlSource = "m.ssoldcred", ; + DisabledBackColor = 236,249,255, ; + Enabled = .T., ; + FontSize = 10, ; + Format = "r", ; + Height = 23, ; + InputMask = (get_mask(15,gnPA)), ; + Left = 661, ; + Name = "Text8", ; + ReadOnly = .T., ; + SpecialEffect = 1, ; + TabIndex = 7, ; + Top = 50, ; + Width = 127, ; + ZOrderSet = 22 + *< END OBJECT: ClassLib="_baza.vcx" BaseClass="textbox" /> + + ADD OBJECT 'pf.p1.txtpreccred1' AS _textbox WITH ; + Alignment = 1, ; + Anchor = 9, ; + Comment = "*:OnResize=RT", ; + ControlSource = "m.spreccred1", ; + DisabledBackColor = 236,249,255, ; + Enabled = .T., ; + FontSize = 10, ; + ForeColor = 0,0,0, ; + Format = "r", ; + Height = 23, ; + InputMask = (get_mask(12,gnPA)), ; + Left = 148, ; + Name = "txtpreccred1", ; + ReadOnly = .T., ; + SpecialEffect = 1, ; + TabIndex = 7, ; + Top = 50, ; + Visible = .F., ; + Width = 127, ; + ZOrderSet = 11 + *< END OBJECT: ClassLib="_baza.vcx" BaseClass="textbox" /> + + ADD OBJECT 'pf.p1.txtprecdeb1' AS _textbox WITH ; + Alignment = 1, ; + Anchor = 9, ; + Comment = "*:OnResize=RT", ; + ControlSource = "m.sprecdeb1", ; + DisabledBackColor = 236,249,255, ; + Enabled = .T., ; + FontSize = 10, ; + Format = "r", ; + Height = 23, ; + InputMask = (get_mask(12,gnPA)), ; + Left = 148, ; + Name = "txtprecdeb1", ; + ReadOnly = .T., ; + SpecialEffect = 1, ; + TabIndex = 6, ; + Top = 26, ; + Visible = .F., ; + Width = 127, ; + ZOrderSet = 10 + *< END OBJECT: ClassLib="_baza.vcx" BaseClass="textbox" /> + + ADD OBJECT 'pf.P2.cboSucursale' AS _combobox WITH ; + Alignment = 0, ; + Anchor = 9, ; + FontSize = 10, ; + Height = 24, ; + Left = 134, ; + Name = "cboSucursale", ; + RowSource = "", ; + RowSourceType = 1, ; + TabIndex = 15, ; + ToolTipText = "", ; + Top = 23, ; + Visible = .F., ; + Width = 193 + *< END OBJECT: ClassLib="_baza.vcx" BaseClass="combobox" /> + + ADD OBJECT 'pf.P2.Ck_acont' AS ck_filtru_text WITH ; + Alignment = 0, ; + Anchor = 9, ; + AutoSize = .T., ; + camp_nume = acont, ; + Caption = "Selectie analitic", ; + Comment = "*:OnResize=ST", ; + FontCharSet = 1, ; + FontName = "Arial", ; + FontSize = 10, ; + Left = 651, ; + Name = "Ck_acont", ; + Top = 41 + *< END OBJECT: ClassLib="caut_ora.vcx" BaseClass="checkbox" /> + + ADD OBJECT 'pf.P2.Ck_cont' AS ck_filtru_text WITH ; + Alignment = 0, ; + Anchor = 9, ; + AutoSize = .T., ; + camp_nume = cont, ; + Caption = "Selectie cont", ; + Comment = "*:OnResize=ST", ; + FontCharSet = 1, ; + FontName = "Arial", ; + FontSize = 10, ; + Left = 651, ; + Name = "Ck_cont", ; + Top = 25 + *< END OBJECT: ClassLib="caut_ora.vcx" BaseClass="checkbox" /> + + ADD OBJECT 'pf.P2.Ck_denumire' AS ck_filtru_text WITH ; + Alignment = 0, ; + Anchor = 9, ; + AutoSize = .T., ; + camp_nume = denumire, ; + Caption = "Selectie denumire", ; + Comment = "*:OnResize=ST", ; + FontCharSet = 1, ; + FontName = "Arial", ; + FontSize = 10, ; + Left = 651, ; + Name = "Ck_denumire", ; + Top = 56 + *< END OBJECT: ClassLib="caut_ora.vcx" BaseClass="checkbox" /> + + ADD OBJECT 'pf.P2.ckanalitic' AS checkbox WITH ; + Alignment = 0, ; + Anchor = 9, ; + AutoSize = .T., ; + BackStyle = 0, ; + Caption = "Conturi analitice", ; + Comment = "*:OnResize=LT", ; + ControlSource = "", ; + FontBold = .F., ; + FontName = "Arial", ; + FontSize = 10, ; + Height = 18, ; + Left = 501, ; + Name = "ckanalitic", ; + TabIndex = 4, ; + Top = 25, ; + Value = 0, ; + Width = 112, ; + ZOrderSet = 37 + *< END OBJECT: BaseClass="checkbox" /> + + ADD OBJECT 'pf.P2.cksold1' AS checkbox WITH ; + Alignment = 0, ; + Anchor = 9, ; + AutoSize = .T., ; + BackStyle = 0, ; + Caption = "\ + + ADD OBJECT 'pf.P2.cktotal1' AS checkbox WITH ; + Alignment = 0, ; + Anchor = 9, ; + AutoSize = .T., ; + BackStyle = 0, ; + Caption = "Total clase (gr.1)", ; + Comment = "*:OnResize=LT", ; + ControlSource = "", ; + FontBold = .F., ; + FontName = "Arial", ; + FontSize = 10, ; + Height = 18, ; + Left = 336, ; + Name = "cktotal1", ; + TabIndex = 2, ; + Top = 10, ; + Value = 0, ; + Width = 116, ; + ZOrderSet = 37 + *< END OBJECT: BaseClass="checkbox" /> + + ADD OBJECT 'pf.P2.cktotal2' AS checkbox WITH ; + Alignment = 0, ; + Anchor = 9, ; + AutoSize = .T., ; + BackStyle = 0, ; + Caption = "Total grupe (gr.2)", ; + Comment = "*:OnResize=LT", ; + ControlSource = "", ; + FontBold = .F., ; + FontName = "Arial", ; + FontSize = 10, ; + Height = 18, ; + Left = 336, ; + Name = "cktotal2", ; + TabIndex = 3, ; + Top = 25, ; + Value = 0, ; + Width = 117, ; + ZOrderSet = 37 + *< END OBJECT: BaseClass="checkbox" /> + + ADD OBJECT 'pf.P2.cktotal3' AS checkbox WITH ; + Alignment = 0, ; + Anchor = 9, ; + AutoSize = .T., ; + BackStyle = 0, ; + Caption = "Total conturi (gr.3)", ; + Comment = "*:OnResize=LT", ; + ControlSource = "", ; + FontBold = .F., ; + FontName = "Arial", ; + FontSize = 10, ; + Height = 18, ; + Left = 336, ; + Name = "cktotal3", ; + TabIndex = 5, ; + Top = 41, ; + Value = 0, ; + Width = 124, ; + ZOrderSet = 37 + *< END OBJECT: BaseClass="checkbox" /> + + ADD OBJECT 'pf.P2.cktotal4' AS checkbox WITH ; + Alignment = 0, ; + Anchor = 9, ; + AutoSize = .T., ; + BackStyle = 0, ; + Caption = "Conturi", ; + Comment = "*:OnResize=LT", ; + ControlSource = "", ; + FontBold = .F., ; + FontName = "Arial", ; + FontSize = 10, ; + Height = 18, ; + Left = 501, ; + Name = "cktotal4", ; + TabIndex = 6, ; + Top = 10, ; + Value = 1, ; + Width = 60, ; + ZOrderSet = 37 + *< END OBJECT: BaseClass="checkbox" /> + + ADD OBJECT 'pf.P2.Shape1' AS shape WITH ; + Anchor = 10, ; + BackColor = 236,249,255, ; + BorderStyle = 3, ; + Comment = "*:OnResize=ST", ; + Height = 76, ; + Left = 2, ; + Name = "Shape1", ; + Top = 1, ; + Width = 790 + *< END OBJECT: BaseClass="shape" /> + + ADD OBJECT 'pf.p3.Optiongroup1' AS optiongroup WITH ; + Anchor = 9, ; + AutoSize = .F., ; + BackStyle = 0, ; + BorderStyle = 0, ; + ButtonCount = 8, ; + Comment = "*:OnResize=RT", ; + ControlSource = "", ; + Height = 61, ; + Left = 377, ; + Name = "Optiongroup1", ; + SpecialEffect = 1, ; + Top = 12, ; + Value = 8, ; + Width = 385, ; + ZOrderSet = 3, ; + Option1.AutoSize = .F., ; + Option1.BackStyle = 0, ; + Option1.Caption = "\ + + ADD OBJECT 'pf.p3.Shape1' AS shape WITH ; + Anchor = 10, ; + BackColor = 236,249,255, ; + BorderStyle = 3, ; + Comment = "*:OnResize=ST", ; + Height = 76, ; + Left = 2, ; + Name = "Shape1", ; + Top = 1, ; + Width = 786 + *< END OBJECT: BaseClass="shape" /> + + ADD OBJECT 'pf.P4.cboRaport' AS combobox WITH ; + Anchor = 9, ; + BoundTo = .T., ; + ColumnCount = 1, ; + Comment = "*:OnResize=RT", ; + FontSize = 10, ; + Height = 24, ; + Left = 578, ; + Name = "cboRaport", ; + RowSource = "4 egalitati 14-6-30 (A4),4 egalitati 14-6-30/A (A4),4 egalitati special (A4),5 egalitati 14-6-30/a (A3),6 egalitati 14-6-30/b (A3)", ; + RowSourceType = 1, ; + Style = 2, ; + Top = 20, ; + Width = 200 + *< END OBJECT: BaseClass="combobox" /> + + ADD OBJECT 'pf.P4.Label2' AS _label WITH ; + Anchor = 9, ; + AutoSize = .T., ; + BackStyle = 0, ; + Caption = "Raport balanta", ; + Comment = "*:OnResize=RT", ; + FontBold = .F., ; + FontCharSet = 238, ; + FontSize = 10, ; + Height = 18, ; + Left = 479, ; + Name = "Label2", ; + TabIndex = 13, ; + Top = 25, ; + Width = 86, ; + ZOrderSet = 14 + *< END OBJECT: ClassLib="_baza.vcx" BaseClass="label" /> + + ADD OBJECT 'pf.P4.Shape1' AS shape WITH ; + Anchor = 10, ; + BackColor = 236,249,255, ; + BorderStyle = 3, ; + Comment = "*:OnResize=ST", ; + Height = 76, ; + Left = 2, ; + Name = "Shape1", ; + Top = 1, ; + Width = 786 + *< END OBJECT: BaseClass="shape" /> + + ADD OBJECT 'Resizer1' AS resizer WITH ; + Left = 792, ; + Name = "Resizer1", ; + TabIndex = 16, ; + Top = 405, ; + ZOrderSet = 12, ; + Label1.Name = "Label1" + *< END OBJECT: ClassLib="resizer.vcx" BaseClass="control" /> + + ADD OBJECT 'txtcont' AS _textbox WITH ; + Comment = "*:OnResize=LT", ; + ControlSource = "", ; + Height = 25, ; + Left = 44, ; + Name = "txtcont", ; + SpecialEffect = 1, ; + TabIndex = 1, ; + Top = 87, ; + Width = 44, ; + ZOrderSet = 13 + *< END OBJECT: ClassLib="_baza.vcx" BaseClass="textbox" /> + + ADD OBJECT 'txtcont2' AS _textbox WITH ; + Comment = "*:OnResize=LT", ; + ControlSource = "", ; + Format = "k", ; + Height = 25, ; + Left = 100, ; + Name = "txtcont2", ; + SpecialEffect = 1, ; + TabIndex = 2, ; + Top = 87, ; + Width = 44, ; + ZOrderSet = 16 + *< END OBJECT: ClassLib="_baza.vcx" BaseClass="textbox" /> + + PROCEDURE adauga_linie + LOCAL lcIdSucursala, lnIdSucursala, lcSucursala + Private pcbal,pcCont,pcSCont,pcACont,pnButon + Store "" To pcbal,pcCont,pcSCont,pcACont + pnButon=1 + pcbal=This.CALIas + + STORE "" TO locauta + lnIdSucursala = NULL + lcSucursala = '' + IF glEMama + llToateIreg = .F. + llNou = .F. + llBlank = .T. + loCauta = caut_sucursala(llToateIreg, llNou, llBlank) + lnIdSucursala = loCauta.id_sucursala + lcSucursala = loCauta.sucursala + ELSE + lnIdSucursala = gnIdSucursala && pentru o sucursala este id-ul firmei, iar pe firma independenta este null + ENDIF + lcIdSucursala = IIF(NVL(lnIdSucursala,0) = 0, 'NULL', ALLTRIM(STR(lnIdSucursala))) + + pcCont=SELECT_CONT() + If pnButon=2 + Return + Endif + If Empty(pcCont) + Return + Endif + + pcSCont=Left(pcCont,4) + lnPos=At(".",pcCont) + If lnPos>0 + pcACont=Padr(Substr(pcCont,lnPos+1),4," ") + Endif + + + + pcexec=[begin PACK_INREGISTRARI.balinsproc(]+lcIdSucursala+[,]+Alltrim(Str(gnAn))+[,]+Alltrim(Str(gnLuna))+; + [,']+Alltrim(pcSCont)+[',']+Alltrim(pcACont)+['); end;] + lnSucces=goExecutor.oexecute(pcexec) + If lnSucces < 0 + lcTextEroare = goExecutor.cEroare + aMessagebox(lcTextEroare,48,"Eroare") + Return + Endif + + If !Empty(pcACont) + Thisform.pf.p2.ckanalitic.Value=1 + Endif + + Thisform.MousePointer=11 + Thisform.LockScreen=.T. + Thisform.reconstruct + Thisform.afisactual + Select (pcbal) + Locate For Cont=pcSCont And acont=pcACont AND NVL(id_sucursala,0) = NVL(lnIdSucursala,0) + Thisform.LockScreen=.F. + Thisform.MousePointer= 0 + Thisform.grid1.SetFocus + + ENDPROC + + PROCEDURE afisactual + #Define CRLF Chr(13) + Chr(10) + + + Private lcbal,lcacont && ,lccont1,lccont2 - le-am pus inainte de do form + lcbal=Thisform.calias + + Local T1 + T1="" + T='.t.' + + lccont1=Alltrim(This.txtcont.Value) + lccont2=Alltrim(This.txtcont2.Value) + + If Empty(lccont2) + lccont2 = lccont1 + Endif + + *lcacont=ALLTRIM(this.txtacont.value) + lcacont1=Alltrim(This.ct1.text1.Value) + lcacont2=Alltrim(This.ct1.text2.Value) + lcacont3=Alltrim(This.ct1.text3.Value) + lcacont4=Alltrim(This.ct1.text4.Value) + + Do Case + Case Len(lccont1)=1 + *T=[G1="]+LCCONT+["] + T = T + [ and VAL(LEFT(G1,1))>=VAL(lcCont1)] + Case Len(lccont1)=2 + *T=[G2="]+LCCONT+["] + T = T + [ and VAL(PADR(ALLTRIM(G2),2,'0'))>=VAL(lcCont1)] + Case Len(lccont1)=3 + *T=[G3="]+LCCONT+["] + T = T + [ and VAL(PADR(ALLTRIM(G3),3,'0'))>=VAL(lcCont1)] + Case Len(lccont1)=4 + *T=[G4="]+LCCONT+["] + T = T + [ and VAL(PADR(ALLTRIM(G4),4,'0'))>=VAL(lcCont1)] + Endcase + + Do Case + Case Len(lccont2)=1 + *T=[G1="]+LCCONT+["] + T = T + [ and VAL(LEFT(G1,1))<=VAL(lcCont2)] + Case Len(lccont2)=2 + *T=[G2="]+LCCONT+["] + T = T + [ and VAL(PADR(ALLTRIM(G2),2,'0'))<=VAL(lcCont2)] + Case Len(lccont2)=3 + *T=[G3="]+LCCONT+["] + T = T + [ and VAL(PADR(ALLTRIM(G3),3,'0'))<=VAL(lcCont2)] + Case Len(lccont2)=4 + *T=[G4="]+LCCONT+["] + T = T + [ and VAL(PADR(ALLTRIM(G4),4,'0'))<=VAL(lcCont2)] + Endcase + + + && SOLDURI LA 1 IANUARIE + If This.pf.p2.cksold1.Value=0 + With Thisform.grid1 + .cprecdeb1.Visible=.F. + .cpreccred1.Visible=.F. + Endwith + With Thisform.pf.p1 + .lblsld1.Visible=.F. + .txtprecdeb1.Visible=.F. + .txtpreccred1.Visible=.F. + .lbldebit.Left=.text1.Left-.lbldebit.Width + .lblcredit.Left=.text2.Left-.lblcredit.Width + .check1.Left=.label8.Left-.lbldebit.Width + Endwith + Else + + With Thisform.grid1 + .cprecdeb1.Visible=.T. + .cpreccred1.Visible=.T. + Endwith + With Thisform.pf.p1 + .lblsld1.Visible=.T. + .txtprecdeb1.Visible=.T. + .txtpreccred1.Visible=.T. + .lbldebit.Left=.txtprecdeb1.Left-.lbldebit.Width + .lblcredit.Left=.txtpreccred1.Left-.lblcredit.Width + .check1.Left=.lblsld1.Left-.lbldebit.Width + Endwith + Endif + && SOLDURI LA 1 IANUARIE ^ + + */----------------------------------------------------- + &&& conditia de filtrare pt balanta sintetica + llTotal1=Iif(This.pf.p2.cktotal1.Value=1,.T.,.F.) + llTotal2=Iif(This.pf.p2.cktotal2.Value=1,.T.,.F.) + llTotal3=Iif(This.pf.p2.cktotal3.Value=1,.T.,.F.) + llTotal4=Iif(This.pf.p2.cktotal4.Value=1,.T.,.F.) + llAnalitic=Iif(This.pf.p2.ckanalitic.Value=1,.T.,.F.) + + + If glEMama + lnIdSucursala = crsSucursale.ID_SUCURSALA + llBalantaCentralizata = lnIdSucursala = -1 && BALANTA CENTRALIZATA + llBalantaDefalcata = lnIdSucursala = -2 && BALANTA DEFALCATA + llBalantaGrup = lnIdSucursala = -3 && BALANTA GRUP (FARA ID SUCURSALA) + Else + lnIdSucursala = Null + llBalantaCentralizata = .F. && BALANTA CENTRALIZATA + llBalantaDefalcata = .F. + llBalantaGrup = .F. && BALANTA GRUP (FARA ID SUCURSALA) + Endif + + *!* PE MAMA TOTALURILE SUNT CALCULATE DOAR PE CONTURILE CENTRALIZATE + *!* DEZACTIVEZ BIFELE DE TOTALURI DACA NU ALEG BALANTA CENTRALIZATA + If glEMama + With This.pf.p2 + .cktotal1.Enabled = llBalantaCentralizata + .cktotal2.Enabled = llBalantaCentralizata + .cktotal3.Enabled = llBalantaCentralizata + Endwith + Endif + + + lclista=[] + *!* ARAT TOTALURILE PE CLASE/GRUPE DOAR DACA SUNT PE BALANTA CENTRALIZATA SAU PE SUCURSALA/FIRMA INDEPENDENTA + If llBalantaCentralizata Or !glEMama + If llTotal1 + lclista=lclista+[,1] + Endif + If llTotal2 + lclista=lclista+[,2] + Endif + If llTotal3 + lclista=lclista+[,3] + Endif + Endif + If glEMama + If llTotal4 + If llBalantaCentralizata + lclista=lclista + [,6] && conturi sintetice din balanta centralizata + Else + lclista=lclista + [,4] && conturi sintetice din balanta normala + Endif + Endif + If llAnalitic + If llBalantaCentralizata + lclista=lclista + [,7] && conturi analitice din balanta centralizata + Else + lclista=lclista + [,5] && conturi analitice din balanta normala + Endif + Endif + + Else + If llTotal4 + lclista=lclista+[,4] + Endif + If llAnalitic + lclista=lclista+[,5] + Endif + Endif + + + + If !Empty(lclista) + If Left(lclista,1)="," + lclista=Substr(lclista,2) + Endif + T = T + [ AND INLIST(BNIVEL,]+lclista+[)] + Else + T = T + [ AND .F.] + Endif + + lccond2=[] + + If !Empty(lcacont1) + lccond2= lccond2 + [ and SUBSTR(acont,1,1)="]+lcacont1+["] + Endif + If !Empty(lcacont2) + lccond2= lccond2 + [ and SUBSTR(acont,2,1)="]+lcacont2+["] + Endif + If !Empty(lcacont3) + lccond2= lccond2 + [ and SUBSTR(acont,3,1)="]+lcacont3+["] + Endif + If !Empty(lcacont4) + lccond2= lccond2 + [ and SUBSTR(acont,4,1)="]+lcacont4+["] + Endif + + T= T + lccond2 + If Thisform.pf.p2.ck_cont.Value = 1 + T = T + Thisform.pf.p2.ck_cont.filtru_vfp + Endif + If Thisform.pf.p2.ck_acont.Value = 1 + T = T + Thisform.pf.p2.ck_acont.filtru_vfp + Endif + If Thisform.pf.p2.ck_denumire.Value = 1 + T = T + Thisform.pf.p2.ck_denumire.filtru_vfp + Endif + + + *!* 12.02.2008 + *!* ARAT CONTURILE DE PE O SUCURSALA SAU DOAR CONTURILE DE PE MAMA + lcSucursale = "" + If glEMama + Do Case + Case llBalantaGrup + lcSucursale = " and Nvl(id_sucursala,0) = 0" + Case Nvl(lnIdSucursala,0) > 0 + lcSucursale = " and id_sucursala = " + Alltrim(Str(lnIdSucursala)) + Endcase + Endif + T = T + lcSucursale + *!* 12.02.2008 ^ + *!*Messagebox(T + CRLF + CRLF + GETCALLSTACK()) + T=[SET FILT TO ]+T + Select (lcbal) + *!* Copy To C:\BAL.Dbf + &T + + Local lcFor + lcFor = [INLIST(bnivel, 4, 6)] && TOTALURI PE CONTURI SINTETICE - 4 = SUCURSALA/FIRMA INDEPENDENTA; 6 = MAMA + If This.pf.p1.check1.Value = 1 && TOTALURI PE CONTURI ANALITICE - 5 = SUCURSALA/FIRMA INDEPENDENTA; 7 = MAMA + lcFor = [INLIST(bnivel, 5, 7)] + Endif + *!* SELECT * FROM (lcbal) INTO TABLE c:\lcbal.dbf + Select (lcbal) + Sum PRECDEB1,PRECCRED1,precdeb,preccred,ruldeb,rulcred,totdeb,totcred,solddeb,soldcred For &lcFor ; + to m.sprecdeb1,m.spreccred1,m.sprecdeb,m.spreccred,m.sruldeb,m.srulcred,m.stotdeb,m.stotcred,m.ssolddeb,m.ssoldcred + + + + With Thisform.pf.p1 + .text1.Refresh + .text2.Refresh + .text3.Refresh + .text4.Refresh + .text5.Refresh + .text6.Refresh + .text7.Refresh + .text8.Refresh + .txtpreccred1.Refresh + .txtprecdeb1.Refresh + Endwith + + Select (lcbal) + Go Top + This.grid1.Refresh + + ENDPROC + + PROCEDURE butapend + *!* LOCAL lbMenu[4] + *!* PRIVATE lcbal + *!* lcbal=THISFORM.calias + + + *!* lbMenu="" + *!* lbMenu[1]="\=0,ABS(totdeb-totcred),0),soldcred WITH IIF(totdeb-totcred<0,ABS(totdeb-totcred),0) + UNLOCK + * brow + ENDIF + + + + + + ENDPROC + + PROCEDURE calculeaza_vertical + Private lccont,lcAlias,lnRec,lnDifValue,lcField,lnValoare,laarray + + lcAlias=This.calias + Select (lcAlias) + lnRec=Recno() + lccont=Alltrim(This.ccont) + *WAIT WINDOW 'lccont= '+lccont + lcField=This.cfield + lnDifValue=This.nnewvalue- This.noldvalue + *WAIT WINDOW 'lndifvalue = '+STR(lndifValue) + *WAIT WINDOW 'calculeaza vertical '+lcalias + + lnlung=4 + Dimension laarray[lnlung] + Store Space(4) To laarray + For i=1 To lnlung-1 + * WAIT WINDOW 'i= '+STR(i) + laarray[i] = Substr(lccont,1,i) + * WAIT WINDOW laArray[i] + lcVar="G"+Alltrim(Str(i)) + lcVar1="G"+Alltrim(Str(i+1)) + LCCOND=[LOCATE FOR LEFT(]+lcVar+[,]+Alltrim(Str(i))+[)="]+Left(laarray[I],i)+[" AND EMPTY(]+lcVar1+[)] + * WAIT WINDOW lccond + Select (lcAlias) + &LCCOND + If Found() + If Flock() + lnValoare=Evaluate(lcField)+lnDifValue + Replace &lcField With lnValoare + This.calculeaza_orizontal(lcAlias) && calculez pentru liniile cu totaluri + Unlock + Endif + Endif + Endfor + + Select (lcAlias) + Goto lnRec + ENDPROC + + PROCEDURE cfield_assign + LPARAMETERS vNewVal + *To do: Modify this routine for the Assign method + THIS.cfield = m.vNewVal + + PRIVATE lcAlias,lcSufix,lcVar + lcAlias=thisform.calias + lcSufix=this.cField + lcVar=lcAlias+[.]+lcSufix + lcCont=lcAlias+[.cont] + THISFORM.nOldValue=EVALUATE(lcVar) + thisform.ccont=EVALUATE(lcCont) + *WAIT WINDOW 'ccont '+thisform.ccont + + ENDPROC + + PROCEDURE conditieistoricact + Local lcConditie + lcConditie = "" + + If glEMama + lnIdSucursala = crsSucursale.ID_SUCURSALA + llBalantaCentralizata = lnIdSucursala = -1 && BALANTA CENTRALIZATA + llBalantaDefalcata = lnIdSucursala = -2 && BALANTA DEFALCATA + llBalantaGrup = lnIdSucursala = -3 && BALANTA GRUP (FARA ID SUCURSALA) + Do Case + Case !Empty(Nvl(tbalanta.ID_SUCURSALA,0)) + lcConditie = " and id_sucursala = " + Alltrim(Str(tbalanta.ID_SUCURSALA)) + Case llBalantaDefalcata + If Empty(Nvl(tbalanta.ID_SUCURSALA,0)) + lcConditie = " and id_sucursala is null" + Else + lcConditie = " and id_sucursala = " + Alltrim(Str(tbalanta.ID_SUCURSALA)) + Endif + Case llBalantaGrup + lcConditie = " and id_sucursala is null" + Endcase + Else + lcConditie = gcCondSucursala + Endif + Return lcConditie + + ENDPROC + + PROCEDURE Destroy + USE IN (SELECT('crsSucursale')) + ENDPROC + + PROCEDURE do_excel + If gcNumeProgram = [ROAMANAGER] + x= xmenu("\0 + *!* poExcel.Cells(nRows,nColumn)=Iif(Eval(.Columns(nCol).ControlSource)==0,'NU','DA') + *!* Else + *!* poExcel.Cells(nRows,nColumn) = IIF(empty(Eval(.Columns(nCol).ControlSource)),'',Eval(.Columns(nCol).ControlSource)) + *!* Endif + *!* Endfor + *!* Endscan + *!* Endwith + + *!* XLApp.Visible = .T. + *!* Endif + ENDPROC + + PROCEDURE do_listare + *!* 24.01.2011 + *!* marius.mutu + *!* balanta cumulata + + *!* 04.08.2011 + *!* marius.mutu + *!* listare foxypreview + + Private pcPerioadaRef &&, pcDataOra + Local Tlist + + *!* pcDataOra = '' + *!* pcDataOra = get_ora(2) + *!* 24.01.2011 + IF !EMPTY(this.nAn2) + pcPerioadaRef = 'Perioada ' + Padl(Alltrim(Str(this.nLuna1)),2,'0') + "/" + Alltrim(Str(this.nAn1)) + " - " + Padl(Alltrim(Str(this.nLuna2)),2,'0') + "/" + Alltrim(Str(this.nAn2)) + ELSE + pcPerioadaRef = 'Luna ' + Padl(Alltrim(Str(gnLuna)),2,'0') + "/" + Alltrim(Str(gnAn)) + ENDIF + *!* 24.01.2011 ^ + Local lcOptiuneRaport + Local Tlist + lcOptiuneRaport = Upper(Alltrim(Thisform.pf.p4.cboRaport.Value)) + + LNG1=Thisform.pf.p2.cktotal1.Value + LNG2=Thisform.pf.p2.cktotal3.Value + LNG3=Thisform.pf.p2.cktotal3.Value + LNG4=Thisform.pf.p2.cktotal4.Value + LNG5=Thisform.pf.p2.ckanalitic.Value + + *!* DACA SUNT PE FIRMA MAMA SI SE LISTEAZA CONTURILE DEFALCATE SAU DOAR DE PE O SUCURSALA + *!* AFISEZ "TOATE SUCURSALELE" / "SUCURSALA X" + lcSucursala = '' + IF glEMama + DO CASE + CASE crsSucursale.id_sucursala = -2 && BALANTA CENTRALIZATA + lcSucursala = ' * TOATE SUCURSALELE * ' + CASE crsSucursale.id_sucursala > 0 + lcSucursala = ' * ' + Strtran(UPPER(Alltrim(crsSucursale.sucursala)),'BALANTA') + ' * ' + ENDCASE + ENDIF + LCBAL=Thisform.CALIas + Select (LCBAL) + + LCPARTIALA=Iif(!Empty(Thisform.TXTcont.Value)," PARTIALA "," ") + LCPARTIALA = lcSucursala + LCPARTIALA + + Do Case + Case LNG5=1 + m.titlu='- ANALITICA'+LCPARTIALA+'-' + Select (LCBAL) + &T + Replace All bifa With .F. + + Select Distinct Cont,bnivel,bifa From &LCBAL ; + WHERE bnivel= 5 ; + INTO Cursor listbal Readwrite + + If _Tally # 0 + Do Form frm_list_balana + + Select listbal + Scan For bifa + Scatter Name olist + Select (LCBAL) + Replace All bifa With .T. For Cont=olist.Cont AND INLIST(bnivel, 5, 7) && total analitice pe firma sucursala/mama + Select listbal + Endscan + Release olist + + Select (LCBAL) + Tlist = T + ' and !bifa ' + &Tlist + Endif + Use In listbal + Select (LCBAL) + + Case LNG4=1 And LNG5=0 + m.titlu='- SINTETICA'+LCPARTIALA+'-' + Otherwise + If Empty(LCPARTIALA) + m.titlu="" + Else + m.titlu='-'+LCPARTIALA+'-' + Endif + Endcase + + lcRaport = "" + Do Case + Case lcOptiuneRaport = Upper("4 Egalitati 14-6-30 (A4)") + lcRaport="rapbal_a4_4_14_6_30" && A4 4 EGALITATI (TSP, RLC ,TS, SF) + + Case lcOptiuneRaport = Upper("4 Egalitati 14-6-30/A (A4)") + lcRaport="rapbal_a4_4_14_6_30_a" && A4 4 EGALITATI (SI, RLC, TS, SF) + + Case lcOptiuneRaport = Upper("4 egalitati special (A4)") + lcRaport="rapbal_a4_4_14_6_30_a1" && A4 4 EGALITATI (SI, TR, TS, SF) + + Case lcOptiuneRaport = Upper("5 Egalitati 14-6-30/a (A3)") + lcRaport="rapbal_a3_5_14_6_30_a" && A3 5 EGALITATI (SI, TSP, RLC, TS, SF) + + Case lcOptiuneRaport = Upper("6 Egalitati 14-6-30/b (A3)") + lcRaport="rapbal_a3_6_14_6_30_b" && A3 6 EGALITATI (SI, TSP, RLC, TR, TS, SF) + Endcase + + This.AlwaysOnTop = .F. + *!* 04.08.2011 + *!* goExport.export2frx(lcbal,lcRaport) + goExport.export2frx(lcbal,lcRaport, , , , , , .T.) + *!* 04.08.2011 ^ + This.AlwaysOnTop = .T. + *!* If Reccount(LCBAL)>0 + *!* This.AlwaysOnTop = .F. + *!* Report Format (lcRaport) To Printer Prompt Preview + *!* This.AlwaysOnTop = .T. + *!* Else + *!* amessagebox("Nu exista inregistrari pentru listare!",48,"Atentie") + *!* Endif + ENDPROC + + PROCEDURE do_reface + x= xmenu('Refacere \ 0 + aMessagebox('Refacerea s-a terminat!',0+64,"Info refacere") + Thisform.reconstruct + Thisform.afisactual + Do inainte With this.cProceduraInainte In oinainte_de.prg + ENDIF + ENDPROC + + PROCEDURE fisacont + Private lcbal + lcbal=Thisform.calias + *!* modificare v 2.0.110 + *!* lcCondSucursala = Thisform.conditieistoricact() + *!* modificare v 2.0.110 ^ + Select (lcbal) + Scatter Name locont + *!* modificare v 2.0.110 + If Empty(Substr(Nvl(locont.Cont,''),1,4)) + amessagebox("Nu exista contul in selectie!",48,"Atentie") + Else + lcCondSucursala = Thisform.conditieistoricact() + *!* modificare v 2.0.110 ^ + + Private pcselect1,pcfiltru1,pcorder1,pcschema1,poact + Store "" To poact + *!* pcschema1=['ID_ACT N(20),LUNA N(2),AN N(4),COD N(20),DATAIREG D,NRACT N(14),DATAACT D,'+]+; + *!* ['EXPLICATIA C(100),SCD C(4),ASCD C(4),SCC C(4),ASCC C(4),SUMA N(19,2),PERECHED N(14),'+]+; + *!* ['PERECHEC N(14),SUMA_VAL N(19,2),NUME_VAL C(5),CURS N(8,2),DATASCAD D,NEIMPOZAB N(19,2),'+]+; + *!* ['NNIR N(10),ID_UTIL N(5),UTIL C(30),DATAORA T,ID_UTILS N(5),UTILS C(30),DATAORAS T,'+]+; + *!* ['ID_RESPONSABIL N(5),NRESP C(30),ID_VENCHELT N(5),DST_CHLT C(100),ID_LUCRARE N(5),NRORD C(30),ID_SECTIE N(5),'+]+; + *!* ['SECTIE C(30),PROC_TVA N(5,2),ID_SET N(20),ID_FACT N(20),ID_PARTD N(10),PARTD C(50),ID_PARTC N(10),'+]+; + *!* ['PARTC C(50),ID_SUCURSALA N(5),SUCURSALA C(50),ID_FDOC N(5),FDOC C(30),'+]+; + *!* ['EXPLICATIA4 C(100),EXPLICATIA5 C(100),ID_GESTD N(5),GESTD C(50),ID_GESTC N(5),GESTC C(50)'] + pcschema1=[''] + pcselect1=['select dataireg,dataact,serie_act,nract,partd,partc,explicatia,suma,scd,ascd,scc,ascc,fdoc,util,dataora, explicatie_tva from ] + gcS + [.vact where 1=2'] + *!* modificare v 2.0.110 + *!* pcfiltru1=[(luna=]+Alltrim(Str(gnLuna))+[ and an=]+Alltrim(Str(gnAn))+[) and (SCD=]+Substr(locont.Cont,1,4)+ lcCondSucursala + [ or scc=]+Substr(locont.Cont,1,4)+[)] + pcfiltru1=[luna=]+Alltrim(Str(gnLuna))+[ and an=]+Alltrim(Str(gnAn))+[ and (SCD=']+Substr(locont.Cont,1,4)+[' or scc=']+Substr(locont.Cont,1,4)+[')] + lcCondSucursala + *!* modificare v 2.0.110 ^ + pcorder1=[dataact,serie_act,nract] + llAfisare=.F. + *!* gencursor('poact','act',pcselect1,pcfiltru1,pcschema1,pcorder1,llAfisare) + gencursor('poact','acn1',pcselect1,pcfiltru1,pcschema1,pcorder1,llAfisare) + poact.ca_baza1.afisare() + + *!* SELE ACT + *!* SET FILTER TO SCD=SUBSTR(locont.CONT,1,4) AND !DELETED() + *!* Do NRORD With "ACT" + *!* ORC=Createobj("AFDEBCRED") + *!* ORC.LABELTITLU.Caption="FISA CONTULUI "+locont.Cont + *!* ORC.ALI = 'ACT' + *!* ORC.Show(1) + + Do NRORD With "ACN1" + Select acn1 + Go Top + ORC=Createobject("frm_debcred") + ORC.lb_titlu_alb_b121.Caption=Thisform.lb_titlu_alb_b121.Caption+" - FISA CONTULUI "+locont.Cont + ORC.lb_titlu1.Caption="FISA CONTULUI "+locont.Cont + ORC._grdbase1.RemoveObject("cUtil") + ORC._grdbase1.RemoveObject("cDataOra") + ORC.Show(1) + + *!* SELECT act + *!* SET FILTER TO + Use In acn1 + Release poact + Select(lcbal) + *!* modificare v 2.0.110 + Endif + *!* modificare v 2.0.110 ^ + + ENDPROC + + PROCEDURE inainte_de_do_excel + If Thisform.lactiv1 + This.do_excel + Endif + ENDPROC + + PROCEDURE inainte_de_do_listare + If Thisform.lactiv2 + This.do_listare + Endif + ENDPROC + + PROCEDURE inainte_de_do_modifica + *!* NU POT FACE MODIFICARI DACA NU AM DREPT PE MODIFICARE SAU INTR-O LUNA INCHISA + If !Thisform.lactiv3 Or glLunaInchisa + Return + Endif + + *!* NU POT FACE MODIFICARI PE BALANTA CUMULATA - NU AM ID_BAL + IF glEMama + IF crsSucursale.ID_SUCURSALA = -1 + aMessageBox('Nu se pot face modificari pe balanta centralizata!' + CRLF + 'Selectati balanta defalcata pe sucursale',0+64,'Balanta') + RETURN + ENDIF + ENDIF + + Thisform.meniu_as + Thisform.grID1.SetFocus + ENDPROC + + PROCEDURE inainte_de_do_reface + If Thisform.lactiv4 And !glLunaInchisa + This.do_reface() + Endif + + ENDPROC + + PROCEDURE Init + DoDefault() + Thisform.WindowState = 2 + + If .F. + lnLungimeBanda = Thisform.but_termin1.Width + 10 + lnPozitieButon = Thisform.but_termin1.Left + lnLungimeButon = Thisform.but_termin1.Width + 1 && 30 + 1 (spatiu) + lnOffsetBanda = 6 && diferenta dintre _shape2.left si but_termin1.left + + + If Thisform.lactiv2 + lnPozitieButon = lnPozitieButon - lnLungimeButon + lnLungimeBanda = lnLungimeBanda + lnLungimeButon + Thisform.but_listare1.Left = lnPozitieButon + Endif + If Thisform.lactiv1 + lnPozitieButon = lnPozitieButon - lnLungimeButon + lnLungimeBanda = lnLungimeBanda + lnLungimeButon + Thisform.but_excel1.Left = lnPozitieButon + Endif + If Thisform.lactiv3 And !glLunaInchisa + lnPozitieButon = lnPozitieButon - lnLungimeButon + lnLungimeBanda = lnLungimeBanda + lnLungimeButon + Thisform.but_modifica1.Left = lnPozitieButon + Endif + If Thisform.lactiv4 And !glLunaInchisa + lnPozitieButon = lnPozitieButon - lnLungimeButon + lnLungimeBanda = lnLungimeBanda + lnLungimeButon + Thisform.BUT_reface1.Left = lnPozitieButon + Endif + With Thisform._shape2 + * With Thisform.banda_alba + .Width = lnLungimeBanda + .Left = lnPozitieButon - lnOffsetBanda + Endwith + Endif && .F. + + If This.BUT_reface1.Visible + This.BUT_reface1.Visible=!glLunaInchisa + Endif + If This.but_modifica1.Visible + This.but_modifica1.Visible=!glLunaInchisa + Endif + + Public sz + This.calias=This.grid1.RecordSource && TBALANTA + Private lcbal + lcbal=Thisform.calias + + Select(lcbal) + Go Top + + Store 0.0000 To m.sprecdeb1,m.spreccred1,m.sprecdeb,m.spreccred,m.sruldeb,m.srulcred,m.stotdeb,m.stotcred,m.ssolddeb,m.ssoldcred + + If .F. + With Thisform.grid1 + .cprecdeb1.Width=0 + .cpreccred1.Width=0 + Endwith + Endif + + IF glEMama + lnSucces = ccsucursale_mama() && IN updateserver.prg && vnom_sucursale_mama + + CREATE CURSOR crsSucursale (id_sucursala n(5), sucursala c(100)) + INSERT INTO crsSucursale (id_sucursala, sucursala) VALUES (-1, 'Balanta centralizata') + INSERT INTO crsSucursale (id_sucursala, sucursala) VALUES (-2, 'Balanta pe sucursale') + INSERT INTO crsSucursale (id_sucursala, sucursala) VALUES (-3, 'Balanta grup') + SELECT crsSucursale + APPEND FROM DBF('vnom_sucursale_mama') + REPLACE ALL sucursala WITH 'Balanta ' + PROPER(ALLTRIM(sucursala)) FOR id_sucursala > 0 + + close_ccsucursale_mama() + SELECT crsSucursale + GO TOP + WITH this.pf.p2.cboSucursale + .RowSourceType = 6 + .RowSource = "crsSucursale.sucursala" + .Visible = .T. + this.pf.p2.cboSucursale.Value = crsSucursale.sucursala + EndWith + Else + this.grid1.cSucursala.Visible = .F. + ENDIF + *!* Locale + *!* goLocale.SetLocale( thisform ) + *!* Locale ^ + this.gridextra1.setup() + *MESSAGEBOX(this.grid1.cdenumire.text1.FontName + ' ' + TRANSFORM(this.grid1.cdenumire.text1.FontName)) + + Thisform.afisactual + + + ENDPROC + + PROCEDURE in_bal + Parameters tnIdSucursala, tcCont,tcAcont,tlCalculeaza + Private lcCont,lcField,lcOldAlias,lcTabela + LOCAL lcIdSucursala + + lcOldAlias=Alias() + lcField=This.cfield + lnvalue=This.nnewvalue + lnOldValue=This.noldvalue + + If lnvalue=lnOldValue + Return + Endif + + If Empty(tcAcont) + lcAcont="" + Else + lcAcont=Upper(Alltrim(tcAcont)) + Endif + + If Empty(tcCont) + lcCont="" + Else + lcCont=Upper(Alltrim(tcCont)) + Endif + + lcIdSucursala = ALLTRIM(STR(NVL(tnIdSucursala,0))) + If !Empty(lcAcont) + lcTabela = "balana" + lcCond = [NVL(id_sucursala,0) = ] + lcIdSucursala + [ AND TRIM(UPPER(cont))=']+lcCont+[' and TRIM(UPPER(acont))=']+lcAcont+[' and an = ] + ALLTRIM(STR(gnAn)) + [ and luna = ] + ALLTRIM(STR(gnLuna)) + Else + lcTabela = "bal" + lcCond = [NVL(id_sucursala,0) = ] + lcIdSucursala + [ AND TRIM(UPPER(cont))=']+lcCont+[' and an = ] + ALLTRIM(STR(gnAn)) + [ and luna = ] + ALLTRIM(STR(gnLuna)) + Endif + + *!* If !EXISTACAMP(lcTabela,lcField) && DACA NU EXISTA CAMPUL NU FAC NIMIC + *!* Return + *!* Endif + + && setare zecimale + pcexec=[update ] + ALLTRIM(lcTabela) + [ set ] + ALLTRIM(lcField) + [=] + ALLTRIM(STR(lnvalue,24,4)) + [ ] + ; + [where ]+lcCond + + + lnSucces=goExecutor.oexecute(pcexec) + If lnSucces < 0 + lcTextEroare = goExecutor.cEroare + aMessagebox(lcTextEroare,48,"Eroare") + Return + Endif + + If tlCalculeaza + This.calculeaza_orizontal() + Endif + + If !Empty(lcOldAlias) + Select (lcOldAlias) + Endif + ENDPROC + + PROCEDURE meniu_as + Private lcbal + lcbal=Thisform.calias + + If Thisform.grid1.ReadOnly + lcText=[\=0, RGB(0,0,0), RGB(255,0,0)) + ENDPROC + + PROCEDURE pf.p1.Text2.Refresh + THIS.FORECOLOR=IIF(M.SPRECCRED>=0, RGB(0,0,0), RGB(255,0,0)) + ENDPROC + + PROCEDURE pf.p1.Text3.Refresh + THIS.FORECOLOR=IIF(M.SRULCRED>=0, RGB(0,0,0), RGB(255,0,0)) + ENDPROC + + PROCEDURE pf.p1.Text4.Refresh + THIS.FORECOLOR=IIF(M.SRULDEB>=0, RGB(0,0,0), RGB(255,0,0)) + ENDPROC + + PROCEDURE pf.p1.Text5.Refresh + THIS.FORECOLOR=IIF(M.STOTDEB>=0, RGB(0,0,0), RGB(255,0,0)) + ENDPROC + + PROCEDURE pf.p1.Text6.Refresh + THIS.FORECOLOR=IIF(M.STOTCRED>=0, RGB(0,0,0), RGB(255,0,0)) + ENDPROC + + PROCEDURE pf.p1.Text7.Init + sum solddeb to m.ssolddeb + this.refresh + ENDPROC + + PROCEDURE pf.p1.Text8.Init + sum soldcred to m.ssoldcred + this.refresh + ENDPROC + + PROCEDURE pf.p1.txtpreccred1.Refresh + THIS.FORECOLOR=IIF(M.SPRECCRED1>=0, RGB(0,0,0), RGB(255,0,0)) + ENDPROC + + PROCEDURE pf.p1.txtprecdeb1.Refresh + THIS.FORECOLOR=IIF(M.SPRECDEB1>=0, RGB(0,0,0), RGB(255,0,0)) + ENDPROC + + PROCEDURE pf.P2.cboSucursale.Valid + thisform.afisactual + ENDPROC + + PROCEDURE pf.P2.ckanalitic.Click + + + ENDPROC + + PROCEDURE pf.P2.ckanalitic.Valid + thisform.afisactual + ENDPROC + + PROCEDURE pf.P2.cksold1.Valid + thisform.afisactual + + ENDPROC + + PROCEDURE pf.P2.cktotal1.Valid + thisform.afisactual + ENDPROC + + PROCEDURE pf.P2.cktotal2.Valid + thisform.afisactual + ENDPROC + + PROCEDURE pf.P2.cktotal3.Valid + thisform.afisactual + ENDPROC + + PROCEDURE pf.P2.cktotal4.Valid + thisform.afisactual + ENDPROC + + PROCEDURE pf.P2.Ck_acont.Valid + thisform.afisactual + ENDPROC + + PROCEDURE pf.P2.Ck_cont.Valid + thisform.afisactual + ENDPROC + + PROCEDURE pf.P2.Ck_denumire.Valid + thisform.afisactual + ENDPROC + + PROCEDURE pf.p3.Optiongroup1.Option1.Click + *!* lcbal=thisform.calias + + *!* THIS.PARENT.OPTION2.ENABLED=.F. + *!* THIS.PARENT.OPTION3.ENABLED=.F. + *!* THIS.PARENT.OPTION4.ENABLED=.F. + *!* THIS.PARENT.OPTION5.ENABLED=.F. + + *!* SELECT(LCBAL) + *!* SET FILTER TO !DELETED() + THISFORM.GRID1.SetFocus + ENDPROC + + PROCEDURE pf.p3.Optiongroup1.Option2.Click + thisform.fisacont + THIS.parent.Value=8 && balanta + ENDPROC + + PROCEDURE pf.p3.Optiongroup1.Option3.Click + THISFORM.RULDEB + THIS.parent.Value=8 && balanta + ENDPROC + + PROCEDURE pf.p3.Optiongroup1.Option4.Click + THISFORM.RULCRED + THIS.parent.Value=8 && balanta + ENDPROC + + PROCEDURE pf.p3.Optiongroup1.Option5.Click + THISFORM.RULDEBCRED + THIS.parent.Value=8 && balanta + ENDPROC + + PROCEDURE pf.p3.Optiongroup1.Option6.Click + THISFORM.TOTDEB + THIS.parent.Value=8 && balanta + ENDPROC + + PROCEDURE pf.p3.Optiongroup1.Option7.Click + THISFORM.TOTCRED + THIS.parent.Value=8 && balanta + ENDPROC + + PROCEDURE pf.p3.Optiongroup1.Option8.Click + THISFORM.TOTDEBCRED + THIS.parent.Value=8 && balanta + ENDPROC + + PROCEDURE pf.P4.cboRaport.Init + this.Value = '4 egalitati 14-6-30 (A4)' + ENDPROC + + PROCEDURE txtcont.Valid + thisform.txtcont2.Value = this.Value + thisform.afisactual + + ENDPROC + + PROCEDURE txtcont2.Valid + thisform.afisactual + ENDPROC + +ENDDEFINE diff --git a/clase/ocasabanca.vc2 b/clase/ocasabanca.vc2 new file mode 100644 index 0000000..4263d36 --- /dev/null +++ b/clase/ocasabanca.vc2 @@ -0,0 +1,6336 @@ +*-------------------------------------------------------------------------------------------------------------------------------------------------------- +* (EN) AUTOGENERATED - ATTENTION!! - NOT INTENDED FOR EXECUTION!! USE ONLY FOR MERGING CHANGES AND STORING WITH SCM TOOLS!! +*-------------------------------------------------------------------------------------------------------------------------------------------------------- +*< FOXBIN2PRG: Version="1.21" SourceFile="ocasabanca.vcx" CPID="1252" /> (Solo para binarios VFP 9 / Only for VFP 9 binaries) +* +* +DEFINE CLASS frm_casaban AS _frmbase OF "_frm_base.vcx" + *< CLASSDATA: Baseclass="form" Timestamp="" Scale="Pixels" Uniqueid="" /> + + *-- OBJECTDATA items order determines ZOrder / El orden de los items OBJECTDATA determina el ZOrder + *< OBJECTDATA: ObjPath="Shape1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="Shape4" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="But_modifica1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="But_listare1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="But_excel1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="Text8" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="Text7" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="Text3" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="Text5" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="Text6" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="Text4" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="Label3" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="Label5" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="Label9" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="Label4" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="Label2" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="oMenuShortcut" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="grid1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="grid1.cFDOC.Header1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="grid1.cFDOC.Text1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="grid1.cDataact.Header1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="grid1.cDataact.Text1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="grid1.cDataireg.Header1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="grid1.cDataireg.Text1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="grid1.cNract.Header1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="grid1.cNract.Text1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="grid1.cbancasa.Header1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="grid1.cbancasa.Text1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="grid1.cExplicatia.Header1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="grid1.cExplicatia.Text1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="grid1.cIncasari.Header1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="grid1.cIncasari.Text1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="grid1.cPlati.Header1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="grid1.cPlati.Text1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="grid1.cScd.Header1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="grid1.cScd.Text1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="grid1.cScc.Header1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="grid1.cScc.Text1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="grid1.cNrord.Header1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="grid1.cNrord.Text1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="grid1.cnResp.Header1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="grid1.cnResp.Text1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="grid1.cSucursala.Header1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="grid1.cSucursala.Text1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="grid1.cAscd.Header1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="grid1.cAscd.Text1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="grid1.cAscc.Header1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="grid1.cAscc.Text1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="grid1.cAlteExplicatii.Header1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="grid1.cAlteExplicatii.Text1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="grid1.cRegComert.Header1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="grid1.cRegComert.Text1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="grid1.cCodFiscal.Header1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="grid1.cCodFiscal.Text1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="grid1.cSoldCum.Header1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="grid1.cSoldCum.Text1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="BUT_STERGE1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="But_start_criterii1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="But_reset_criterii1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="opt_defalcat" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="Ck_dataact" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="Ck_dataireg" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="Ck_bancasa" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="But_import1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="cboBanca" UniqueID="" Timestamp="" /> + + * + *m: butdrept + *m: clickdreapta + *m: do_import + *m: do_modifica_defalcare + *m: listare_chitanta + *m: listare_dispozitie + *m: notacontab + *p: ccont + *p: ddataact1 + *p: ddataact2 + *p: lafisaretot + *p: lalegmultiplu && .T. daca se pot alege mai multi parteneri. + *p: laratainregoperator + *p: nidbancasa + *p: npreccred + *p: npreccredi + *p: npreccredval + *p: npreccredvali + *p: nprecdeb + *p: nprecdebi + *p: nprecdebval + *p: nprecdebvali + *p: nrcont + *p: nsoldf + *p: nsoldi + *p: ntotincasari + *p: ntotplati + *p: tip + * + + * + BorderStyle = 1 + cbuton7 = But_import1 + ccont = + ddataact1 = {} + ddataact2 = {} + DoCreate = .T. + Height = 565 + lafisaretot = .F. + laratainregoperator = .F. + Name = "frm_casaban" + nidbancasa = 0 + npreccred = 0.00 + npreccredi = 0 + npreccredval = 0 + npreccredvali = 0 + nprecdeb = 0.00 + nprecdebi = 0 + nprecdebval = 0 + nprecdebvali = 0 + nrcont = + nsoldf = 0 + nsoldi = 0 + ntotincasari = 0 + ntotplati = 0 + tip = + Width = 800 + _memberdata = + + + + _shape1.Anchor = 10 + _shape1.Height = 29 + _shape1.Left = -72 + _shape1.Name = "_shape1" + _shape1.Top = 0 + _shape1.Width = 800 + _shape1.ZOrderSet = 0 + _shape2.Height = 29 + _shape2.Left = 696 + _shape2.Name = "_shape2" + _shape2.Top = 0 + _shape2.Width = 104 + _shape2.ZOrderSet = 1 + Lb_titlu_alb_b121.Caption = "REGISTRUL IN LEI" + Lb_titlu_alb_b121.FontBold = .T. + Lb_titlu_alb_b121.Name = "Lb_titlu_alb_b121" + Lb_titlu_alb_b121.TabIndex = 12 + Lb_titlu_alb_b121.ZOrderSet = 4 + BUT_TERMIN1.Anchor = 9 + BUT_TERMIN1.Left = 766 + BUT_TERMIN1.Name = "BUT_TERMIN1" + BUT_TERMIN1.TabIndex = 6 + BUT_TERMIN1.Top = 1 + BUT_TERMIN1.ZOrderSet = 5 + Gridsort1.Left = 201 + Gridsort1.Name = "Gridsort1" + Gridsort1.ocolumnreference = thisform.grid1 + Gridsort1.Top = 31 + * + + ADD OBJECT 'But_excel1' AS but_excel WITH ; + Anchor = 9, ; + Left = 710, ; + Name = "But_excel1", ; + TabIndex = 8, ; + Top = 1, ; + ZOrderSet = 9 + *< END OBJECT: ClassLib="cmd_butoane.vcx" BaseClass="commandbutton" /> + + ADD OBJECT 'But_import1' AS but_modiparam WITH ; + Anchor = 9, ; + caction = do_import, ; + Left = 568, ; + Name = "But_import1", ; + TabIndex = 17, ; + ToolTipText = "Import din fisier MT940, xls...", ; + Top = 1, ; + Visible = .F. + *< END OBJECT: ClassLib="cmd_butoane.vcx" BaseClass="commandbutton" /> + + ADD OBJECT 'But_listare1' AS but_listare WITH ; + Anchor = 9, ; + Left = 738, ; + Name = "But_listare1", ; + TabIndex = 7, ; + Top = 1, ; + Visible = .T., ; + ZOrderSet = 8 + *< END OBJECT: ClassLib="cmd_butoane.vcx" BaseClass="commandbutton" /> + + ADD OBJECT 'But_modifica1' AS but_modifica WITH ; + Anchor = 9, ; + Left = 598, ; + lvizibil = .F., ; + Name = "But_modifica1", ; + TabIndex = 11, ; + Top = 1, ; + Visible = .F., ; + ZOrderSet = 7 + *< END OBJECT: ClassLib="cmd_butoane.vcx" BaseClass="commandbutton" /> + + ADD OBJECT 'But_reset_criterii1' AS but_reset_criterii WITH ; + Anchor = 9, ; + Left = 626, ; + Name = "But_reset_criterii1", ; + TabIndex = 10, ; + Top = 1, ; + Visible = .T., ; + ZOrderSet = 26 + *< END OBJECT: ClassLib="ocriterii.vcx" BaseClass="commandbutton" /> + + ADD OBJECT 'But_start_criterii1' AS but_start_criterii WITH ; + Anchor = 9, ; + Left = 654, ; + Name = "But_start_criterii1", ; + TabIndex = 9, ; + Top = 1, ; + ZOrderSet = 25 + *< END OBJECT: ClassLib="ocriterii.vcx" BaseClass="commandbutton" /> + + ADD OBJECT 'BUT_STERGE1' AS but_sterge WITH ; + Anchor = 9, ; + Left = 682, ; + Name = "BUT_STERGE1", ; + TabIndex = 25, ; + Top = 1 + *< END OBJECT: ClassLib="cmd_butoane.vcx" BaseClass="commandbutton" /> + + ADD OBJECT 'cboBanca' AS _cbbase WITH ; + BoundColumn = 3, ; + BoundTo = .T., ; + ColumnCount = 4, ; + ColumnLines = .F., ; + ColumnWidths = "350,200,0,0", ; + ControlSource = "Thisform.nIdBancasa", ; + FontName = "Arial", ; + Height = 24, ; + Left = 19, ; + Name = "cboBanca", ; + RowSource = "select bancasa, PADL(transform(sold, '999 999 999.99') + ' ' + padr(ALLT(numeval), 5, ' ') , 25, ' ') as sold, id_bancasa, ord, numeval from cBancasaLista order by 4,1 into cursor cCasbanListaTemp", ; + RowSourceType = 3, ; + Top = 87, ; + Width = 299 + *< END OBJECT: ClassLib="_cb_base.vcx" BaseClass="combobox" /> + + ADD OBJECT 'Ck_bancasa' AS ck_filtru_nom WITH ; + Alignment = 0, ; + camp_nume = bancasa, ; + camp_tabela = bancasa, ; + Caption = "Banca", ; + Left = 18, ; + Name = "Ck_bancasa", ; + tabela = vbancasa, ; + TabIndex = 1, ; + titlu = Alegeti banca, ; + Top = 32 + *< END OBJECT: ClassLib="caut_ora.vcx" BaseClass="checkbox" /> + + ADD OBJECT 'Ck_dataact' AS ck_filtru_numar WITH ; + Alignment = 0, ; + AutoSize = .T., ; + camp_nume = dataact, ; + Caption = "Data act", ; + Left = 18, ; + Name = "Ck_dataact", ; + TabIndex = 2, ; + tip = D, ; + Top = 49 + *< END OBJECT: ClassLib="caut_ora.vcx" BaseClass="checkbox" /> + + ADD OBJECT 'Ck_dataireg' AS ck_filtru_numar WITH ; + Alignment = 0, ; + AutoSize = .T., ; + camp_nume = dataireg, ; + Caption = "Data inreg.", ; + Left = 18, ; + Name = "Ck_dataireg", ; + TabIndex = 3, ; + tip = D, ; + Top = 66 + *< END OBJECT: ClassLib="caut_ora.vcx" BaseClass="checkbox" /> + + ADD OBJECT 'grid1' AS _grdbase WITH ; + Anchor = 15, ; + ColumnCount = 19, ; + DeleteMark = .F., ; + FontName = "Arial", ; + GridLineColor = 192,192,192, ; + Height = 414, ; + Left = 12, ; + Name = "grid1", ; + Panel = 1, ; + RecordSource = "casban", ; + RowHeight = 19, ; + TabIndex = 5, ; + Top = 144, ; + Width = 780, ; + ZOrderSet = 23, ; + Column1.ColumnOrder = 1, ; + Column1.ControlSource = "fdoc", ; + Column1.FontName = "Arial", ; + Column1.FontSize = 10, ; + Column1.Name = "cFDOC", ; + Column1.ReadOnly = .T., ; + Column1.Visible = .T., ; + Column1.Width = 102, ; + Column2.ColumnOrder = 2, ; + Column2.ControlSource = "dataact", ; + Column2.FontName = "Arial", ; + Column2.FontSize = 10, ; + Column2.Name = "cDataact", ; + Column2.Visible = .T., ; + Column2.Width = 81, ; + Column3.ColumnOrder = 3, ; + Column3.ControlSource = "dataireg", ; + Column3.FontName = "Arial", ; + Column3.FontSize = 10, ; + Column3.Name = "cDataireg", ; + Column3.Visible = .T., ; + Column3.Width = 83, ; + Column4.ControlSource = "nract", ; + Column4.FontName = "Arial", ; + Column4.FontSize = 10, ; + Column4.Name = "cNract", ; + Column4.Visible = .T., ; + Column4.Width = 94, ; + Column5.ControlSource = "bancasa", ; + Column5.FontName = "Arial", ; + Column5.FontSize = 10, ; + Column5.Name = "cbancasa", ; + Column5.Visible = .T., ; + Column5.Width = 180, ; + Column6.ControlSource = "nume", ; + Column6.FontName = "Arial", ; + Column6.FontSize = 10, ; + Column6.Name = "cExplicatia", ; + Column6.Visible = .T., ; + Column6.Width = 104, ; + Column7.ColumnOrder = 7, ; + Column7.ControlSource = "incasari", ; + Column7.FontName = "Arial", ; + Column7.FontSize = 10, ; + Column7.Format = "R", ; + Column7.InputMask = (get_mask(15,gnPA)), ; + Column7.Name = "cIncasari", ; + Column7.Visible = .T., ; + Column7.Width = 108, ; + Column8.ColumnOrder = 8, ; + Column8.ControlSource = "plati", ; + Column8.FontName = "Arial", ; + Column8.FontSize = 10, ; + Column8.Format = "R", ; + Column8.InputMask = (get_mask(15,gnPA)), ; + Column8.Name = "cPlati", ; + Column8.Visible = .T., ; + Column8.Width = 116, ; + Column9.ColumnOrder = 10, ; + Column9.ControlSource = "scd", ; + Column9.FontName = "Arial", ; + Column9.FontSize = 10, ; + Column9.Name = "cScd", ; + Column9.Visible = .T., ; + Column9.Width = 70, ; + Column10.ColumnOrder = 12, ; + Column10.ControlSource = "scc", ; + Column10.FontName = "Arial", ; + Column10.FontSize = 10, ; + Column10.Name = "cScc", ; + Column10.Visible = .T., ; + Column10.Width = 64, ; + Column11.ColumnOrder = 15, ; + Column11.ControlSource = "nrord", ; + Column11.FontName = "Arial", ; + Column11.FontSize = 10, ; + Column11.Name = "cNrord", ; + Column11.Visible = .T., ; + Column11.Width = 118, ; + Column12.ColumnOrder = 16, ; + Column12.ControlSource = "nresp", ; + Column12.FontName = "Arial", ; + Column12.FontSize = 10, ; + Column12.Name = "cnResp", ; + Column12.Visible = .T., ; + Column12.Width = 116, ; + Column13.ColumnOrder = 17, ; + Column13.ControlSource = "sucursala", ; + Column13.FontName = "Arial", ; + Column13.FontSize = 10, ; + Column13.Name = "cSucursala", ; + Column13.Width = 167, ; + Column14.ColumnOrder = 11, ; + Column14.ControlSource = "ascd", ; + Column14.FontName = "Arial", ; + Column14.FontSize = 10, ; + Column14.Name = "cAscd", ; + Column14.Width = 60, ; + Column15.ColumnOrder = 13, ; + Column15.ControlSource = "ascc", ; + Column15.FontName = "Arial", ; + Column15.FontSize = 10, ; + Column15.Name = "cAscc", ; + Column15.Width = 78, ; + Column16.ColumnOrder = 14, ; + Column16.ControlSource = "explicatia", ; + Column16.FontName = "Arial", ; + Column16.FontSize = 10, ; + Column16.Name = "cAlteExplicatii", ; + Column16.Width = 145, ; + Column17.ColumnOrder = 18, ; + Column17.ControlSource = "reg_comert", ; + Column17.FontName = "Arial", ; + Column17.FontSize = 10, ; + Column17.Name = "cRegComert", ; + Column17.Width = 117, ; + Column18.ColumnOrder = 19, ; + Column18.ControlSource = "cod_fiscal", ; + Column18.FontName = "Arial", ; + Column18.FontSize = 10, ; + Column18.Name = "cCodFiscal", ; + Column18.ReadOnly = .T., ; + Column18.Width = 119, ; + Column19.ColumnOrder = 9, ; + Column19.ControlSource = "soldcum", ; + Column19.FontName = "Arial", ; + Column19.Format = "R", ; + Column19.InputMask = (get_mask(15,gnPA)), ; + Column19.Name = "cSoldCum", ; + Column19.ReadOnly = .T., ; + Column19.Width = 107 + *< END OBJECT: ClassLib="_grd_base.vcx" BaseClass="grid" /> + + ADD OBJECT 'grid1.cAlteExplicatii.Header1' AS header WITH ; + Alignment = 2, ; + Caption = "Alte explicatii", ; + FontName = "Arial", ; + FontSize = 10, ; + Name = "Header1" + *< END OBJECT: BaseClass="header" /> + + ADD OBJECT 'grid1.cAlteExplicatii.Text1' AS textbox WITH ; + BackColor = 255,255,255, ; + BorderStyle = 0, ; + FontName = "Arial", ; + FontSize = 10, ; + ForeColor = 0,0,0, ; + Margin = 0, ; + Name = "Text1", ; + SelectedBackColor = 100,185,255 + *< END OBJECT: BaseClass="textbox" /> + + ADD OBJECT 'grid1.cAscc.Header1' AS header WITH ; + Alignment = 2, ; + Caption = "Analitic cred.", ; + FontName = "Arial", ; + FontSize = 10, ; + Name = "Header1" + *< END OBJECT: BaseClass="header" /> + + ADD OBJECT 'grid1.cAscc.Text1' AS textbox WITH ; + BackColor = 255,255,255, ; + BorderStyle = 0, ; + FontName = "Arial", ; + FontSize = 10, ; + ForeColor = 0,0,0, ; + Margin = 0, ; + Name = "Text1", ; + SelectedBackColor = 0,64,128 + *< END OBJECT: BaseClass="textbox" /> + + ADD OBJECT 'grid1.cAscd.Header1' AS header WITH ; + Alignment = 2, ; + Caption = "Analitic deb.", ; + FontName = "Arial", ; + FontSize = 10, ; + Name = "Header1" + *< END OBJECT: BaseClass="header" /> + + ADD OBJECT 'grid1.cAscd.Text1' AS textbox WITH ; + BackColor = 255,255,255, ; + BorderStyle = 0, ; + FontName = "Arial", ; + FontSize = 10, ; + ForeColor = 0,0,0, ; + Margin = 0, ; + Name = "Text1", ; + SelectedBackColor = 0,64,128 + *< END OBJECT: BaseClass="textbox" /> + + ADD OBJECT 'grid1.cbancasa.Header1' AS header WITH ; + Alignment = 2, ; + Caption = "Banca", ; + FontName = "Arial", ; + FontSize = 10, ; + Name = "Header1" + *< END OBJECT: BaseClass="header" /> + + ADD OBJECT 'grid1.cbancasa.Text1' AS textbox WITH ; + BackColor = 255,255,255, ; + BorderStyle = 0, ; + FontName = "Arial", ; + FontSize = 10, ; + ForeColor = 0,0,0, ; + Margin = 0, ; + Name = "Text1", ; + SelectedBackColor = 0,64,128, ; + Visible = .T. + *< END OBJECT: BaseClass="textbox" /> + + ADD OBJECT 'grid1.cCodFiscal.Header1' AS header WITH ; + Alignment = 2, ; + Caption = "Cod Fiscal/CNP", ; + FontName = "Arial", ; + FontSize = 10, ; + Name = "Header1" + *< END OBJECT: BaseClass="header" /> + + ADD OBJECT 'grid1.cCodFiscal.Text1' AS textbox WITH ; + BackColor = 255,255,255, ; + BorderStyle = 0, ; + FontName = "Arial", ; + FontSize = 10, ; + ForeColor = 0,0,0, ; + Margin = 0, ; + Name = "Text1", ; + ReadOnly = .T., ; + SelectedBackColor = 100,185,255 + *< END OBJECT: BaseClass="textbox" /> + + ADD OBJECT 'grid1.cDataact.Header1' AS header WITH ; + Alignment = 2, ; + Caption = "Data act", ; + FontName = "Arial", ; + FontSize = 10, ; + Name = "Header1" + *< END OBJECT: BaseClass="header" /> + + ADD OBJECT 'grid1.cDataact.Text1' AS textbox WITH ; + BackColor = 255,255,255, ; + BorderStyle = 0, ; + FontName = "Arial", ; + FontSize = 10, ; + ForeColor = 0,0,0, ; + Margin = 0, ; + Name = "Text1", ; + SelectedBackColor = 0,64,128, ; + Visible = .T. + *< END OBJECT: BaseClass="textbox" /> + + ADD OBJECT 'grid1.cDataireg.Header1' AS header WITH ; + Alignment = 2, ; + Caption = "Data inreg.", ; + FontName = "Arial", ; + FontSize = 10, ; + Name = "Header1" + *< END OBJECT: BaseClass="header" /> + + ADD OBJECT 'grid1.cDataireg.Text1' AS textbox WITH ; + BackColor = 255,255,255, ; + BorderStyle = 0, ; + FontName = "Arial", ; + FontSize = 10, ; + ForeColor = 0,0,0, ; + Margin = 0, ; + Name = "Text1", ; + SelectedBackColor = 0,64,128, ; + Visible = .T. + *< END OBJECT: BaseClass="textbox" /> + + ADD OBJECT 'grid1.cExplicatia.Header1' AS header WITH ; + Alignment = 2, ; + Caption = "Explicatia", ; + FontName = "Arial", ; + FontSize = 10, ; + Name = "Header1" + *< END OBJECT: BaseClass="header" /> + + ADD OBJECT 'grid1.cExplicatia.Text1' AS textbox WITH ; + BackColor = 255,255,255, ; + BorderStyle = 0, ; + FontName = "Arial", ; + FontSize = 10, ; + ForeColor = 0,0,0, ; + Margin = 0, ; + Name = "Text1", ; + SelectedBackColor = 0,64,128, ; + Visible = .T. + *< END OBJECT: BaseClass="textbox" /> + + ADD OBJECT 'grid1.cFDOC.Header1' AS header WITH ; + Alignment = 2, ; + Caption = "Fel Doc.", ; + FontName = "Arial", ; + FontSize = 10, ; + Name = "Header1" + *< END OBJECT: BaseClass="header" /> + + ADD OBJECT 'grid1.cFDOC.Text1' AS textbox WITH ; + BackColor = 255,255,255, ; + BorderStyle = 0, ; + FontName = "Arial", ; + FontSize = 10, ; + ForeColor = 0,0,0, ; + Margin = 0, ; + Name = "Text1", ; + ReadOnly = .T., ; + SelectedBackColor = 0,64,128, ; + Visible = .T. + *< END OBJECT: BaseClass="textbox" /> + + ADD OBJECT 'grid1.cIncasari.Header1' AS header WITH ; + Alignment = 2, ; + Caption = "Incasari", ; + FontName = "Arial", ; + FontSize = 10, ; + Name = "Header1" + *< END OBJECT: BaseClass="header" /> + + ADD OBJECT 'grid1.cIncasari.Text1' AS textbox WITH ; + BackColor = 255,255,255, ; + BorderStyle = 0, ; + FontName = "Arial", ; + FontSize = 10, ; + ForeColor = 0,0,0, ; + Margin = 0, ; + Name = "Text1", ; + SelectedBackColor = 0,64,128, ; + Visible = .T. + *< END OBJECT: BaseClass="textbox" /> + + ADD OBJECT 'grid1.cNract.Header1' AS header WITH ; + Alignment = 2, ; + Caption = "Nr. act", ; + FontName = "Arial", ; + FontSize = 10, ; + Name = "Header1" + *< END OBJECT: BaseClass="header" /> + + ADD OBJECT 'grid1.cNract.Text1' AS textbox WITH ; + BackColor = 255,255,255, ; + BorderStyle = 0, ; + FontName = "Arial", ; + FontSize = 10, ; + ForeColor = 0,0,0, ; + Margin = 0, ; + Name = "Text1", ; + SelectedBackColor = 0,64,128, ; + Visible = .T. + *< END OBJECT: BaseClass="textbox" /> + + ADD OBJECT 'grid1.cnResp.Header1' AS header WITH ; + Alignment = 2, ; + Caption = "Responsabil", ; + FontName = "Arial", ; + FontSize = 10, ; + Name = "Header1" + *< END OBJECT: BaseClass="header" /> + + ADD OBJECT 'grid1.cnResp.Text1' AS textbox WITH ; + BackColor = 255,255,255, ; + BorderStyle = 0, ; + FontName = "Arial", ; + FontSize = 10, ; + ForeColor = 0,0,0, ; + Margin = 0, ; + Name = "Text1", ; + SelectedBackColor = 0,64,128, ; + Visible = .T. + *< END OBJECT: BaseClass="textbox" /> + + ADD OBJECT 'grid1.cNrord.Header1' AS header WITH ; + Alignment = 2, ; + Caption = "Lucrare/Contract", ; + FontName = "Arial", ; + FontSize = 10, ; + Name = "Header1" + *< END OBJECT: BaseClass="header" /> + + ADD OBJECT 'grid1.cNrord.Text1' AS textbox WITH ; + BackColor = 255,255,255, ; + BorderStyle = 0, ; + FontName = "Arial", ; + FontSize = 10, ; + ForeColor = 0,0,0, ; + Margin = 0, ; + Name = "Text1", ; + SelectedBackColor = 0,64,128, ; + Visible = .T. + *< END OBJECT: BaseClass="textbox" /> + + ADD OBJECT 'grid1.cPlati.Header1' AS header WITH ; + Alignment = 2, ; + Caption = "Plati", ; + FontName = "Arial", ; + FontSize = 10, ; + Name = "Header1" + *< END OBJECT: BaseClass="header" /> + + ADD OBJECT 'grid1.cPlati.Text1' AS textbox WITH ; + BackColor = 255,255,255, ; + BorderStyle = 0, ; + FontName = "Arial", ; + FontSize = 10, ; + ForeColor = 0,0,0, ; + Margin = 0, ; + Name = "Text1", ; + SelectedBackColor = 0,64,128, ; + Visible = .T. + *< END OBJECT: BaseClass="textbox" /> + + ADD OBJECT 'grid1.cRegComert.Header1' AS header WITH ; + Alignment = 2, ; + Caption = "Reg. Comert/CI", ; + FontName = "Arial", ; + FontSize = 10, ; + Name = "Header1" + *< END OBJECT: BaseClass="header" /> + + ADD OBJECT 'grid1.cRegComert.Text1' AS textbox WITH ; + BackColor = 255,255,255, ; + BorderStyle = 0, ; + FontName = "Arial", ; + FontSize = 10, ; + ForeColor = 0,0,0, ; + Margin = 0, ; + Name = "Text1", ; + SelectedBackColor = 100,185,255 + *< END OBJECT: BaseClass="textbox" /> + + ADD OBJECT 'grid1.cScc.Header1' AS header WITH ; + Alignment = 2, ; + Caption = "Cont cred.", ; + FontName = "Arial", ; + FontSize = 10, ; + Name = "Header1" + *< END OBJECT: BaseClass="header" /> + + ADD OBJECT 'grid1.cScc.Text1' AS textbox WITH ; + BackColor = 255,255,255, ; + BorderStyle = 0, ; + FontName = "Arial", ; + FontSize = 10, ; + ForeColor = 0,0,0, ; + Margin = 0, ; + Name = "Text1", ; + SelectedBackColor = 0,64,128, ; + Visible = .T. + *< END OBJECT: BaseClass="textbox" /> + + ADD OBJECT 'grid1.cScd.Header1' AS header WITH ; + Alignment = 2, ; + Caption = "Cont deb.", ; + FontName = "Arial", ; + FontSize = 10, ; + Name = "Header1" + *< END OBJECT: BaseClass="header" /> + + ADD OBJECT 'grid1.cScd.Text1' AS textbox WITH ; + BackColor = 255,255,255, ; + BorderStyle = 0, ; + FontName = "Arial", ; + FontSize = 10, ; + ForeColor = 0,0,0, ; + Margin = 0, ; + Name = "Text1", ; + SelectedBackColor = 0,64,128, ; + Visible = .T. + *< END OBJECT: BaseClass="textbox" /> + + ADD OBJECT 'grid1.cSoldCum.Header1' AS header WITH ; + Alignment = 2, ; + Caption = "Sold cumulat", ; + Name = "Header1" + *< END OBJECT: BaseClass="header" /> + + ADD OBJECT 'grid1.cSoldCum.Text1' AS textbox WITH ; + BackColor = 255,255,255, ; + BorderStyle = 0, ; + ForeColor = 0,0,0, ; + Margin = 0, ; + Name = "Text1", ; + ReadOnly = .T., ; + SelectedBackColor = 100,185,255 + *< END OBJECT: BaseClass="textbox" /> + + ADD OBJECT 'grid1.cSucursala.Header1' AS header WITH ; + Alignment = 2, ; + Caption = "Sucursala", ; + FontName = "Arial", ; + FontSize = 10, ; + Name = "Header1" + *< END OBJECT: BaseClass="header" /> + + ADD OBJECT 'grid1.cSucursala.Text1' AS textbox WITH ; + BackColor = 255,255,255, ; + BorderStyle = 0, ; + FontName = "Arial", ; + FontSize = 10, ; + ForeColor = 0,0,0, ; + Margin = 0, ; + Name = "Text1", ; + SelectedBackColor = 0,64,128 + *< END OBJECT: BaseClass="textbox" /> + + ADD OBJECT 'Label2' AS _label WITH ; + Anchor = 9, ; + AutoSize = .T., ; + BackColor = 255,255,255, ; + Caption = "Rulaje in perioada", ; + Height = 18, ; + Left = 275, ; + Name = "Label2", ; + TabIndex = 23, ; + Top = 37, ; + Width = 105, ; + ZOrderSet = 21 + *< END OBJECT: ClassLib="_baza.vcx" BaseClass="label" /> + + ADD OBJECT 'Label3' AS _label WITH ; + Anchor = 9, ; + AutoSize = .T., ; + BackColor = 255,255,255, ; + Caption = "Sold final", ; + Height = 18, ; + Left = 688, ; + Name = "Label3", ; + TabIndex = 22, ; + Top = 63, ; + Width = 55, ; + ZOrderSet = 16 + *< END OBJECT: ClassLib="_baza.vcx" BaseClass="label" /> + + ADD OBJECT 'Label4' AS _label WITH ; + Anchor = 9, ; + AutoSize = .T., ; + BackColor = 255,255,255, ; + Caption = "Incasari", ; + Height = 18, ; + Left = 392, ; + Name = "Label4", ; + TabIndex = 19, ; + Top = 63, ; + Width = 47, ; + ZOrderSet = 19 + *< END OBJECT: ClassLib="_baza.vcx" BaseClass="label" /> + + ADD OBJECT 'Label5' AS _label WITH ; + Anchor = 9, ; + AutoSize = .T., ; + BackColor = 255,255,255, ; + Caption = "Plati", ; + Height = 18, ; + Left = 550, ; + Name = "Label5", ; + TabIndex = 21, ; + Top = 64, ; + Width = 28, ; + ZOrderSet = 17 + *< END OBJECT: ClassLib="_baza.vcx" BaseClass="label" /> + + ADD OBJECT 'Label9' AS _label WITH ; + Anchor = 9, ; + AutoSize = .T., ; + BackColor = 255,255,255, ; + Caption = "Sold precedent", ; + Height = 18, ; + Left = 203, ; + Name = "Label9", ; + TabIndex = 20, ; + Top = 60, ; + Width = 89, ; + ZOrderSet = 18 + *< END OBJECT: ClassLib="_baza.vcx" BaseClass="label" /> + + ADD OBJECT 'oMenuShortcut' AS menulib WITH ; + Left = 446, ; + Name = "oMenuShortcut", ; + TabIndex = 24, ; + Top = 9, ; + ZOrderSet = 22 + *< END OBJECT: ClassLib="utility.vcx" BaseClass="container" /> + + ADD OBJECT 'opt_defalcat' AS _optiongrup WITH ; + AutoSize = .T., ; + Height = 28, ; + Left = 19, ; + Name = "opt_defalcat", ; + TabIndex = 4, ; + Top = 115, ; + Visible = .F., ; + Width = 298, ; + Option1.AutoSize = .T., ; + Option1.Caption = "Defalcat dupã documentul pereche", ; + Option1.FontCharSet = 238, ; + Option1.Left = 5, ; + Option1.Name = "Option1", ; + Option1.Top = 5, ; + Option2.AutoSize = .T., ; + Option2.Caption = "Cumulat", ; + Option2.Left = 228, ; + Option2.Name = "Option2", ; + Option2.Top = 6 + *< END OBJECT: ClassLib="_baza.vcx" BaseClass="optiongroup" /> + + ADD OBJECT 'Shape1' AS shape WITH ; + Anchor = 9, ; + BackColor = 255,255,255, ; + Height = 65, ; + Left = 175, ; + Name = "Shape1", ; + SpecialEffect = 0, ; + Top = 47, ; + Width = 614, ; + ZOrderSet = 2 + *< END OBJECT: BaseClass="shape" /> + + ADD OBJECT 'Shape4' AS shape WITH ; + Anchor = 9, ; + BackColor = 255,255,255, ; + Height = 41, ; + Left = 326, ; + Name = "Shape4", ; + SpecialEffect = 0, ; + Top = 71, ; + Width = 316, ; + ZOrderSet = 3 + *< END OBJECT: BaseClass="shape" /> + + ADD OBJECT 'Text3' AS _textbox WITH ; + Alignment = 1, ; + Anchor = 9, ; + BackColor = 255,255,255, ; + ControlSource = "thisform.nsoldi", ; + Format = "r", ; + Height = 23, ; + InputMask = (get_mask(12,gnPA)), ; + Left = 180, ; + Name = "Text3", ; + ReadOnly = .T., ; + TabIndex = 13, ; + TabStop = .F., ; + Top = 81, ; + Width = 133, ; + ZOrderSet = 12 + *< END OBJECT: ClassLib="_baza.vcx" BaseClass="textbox" /> + + ADD OBJECT 'Text4' AS _textbox WITH ; + Alignment = 1, ; + Anchor = 9, ; + BackColor = 255,255,255, ; + ControlSource = "thisform.ntotincasari", ; + Format = "r", ; + Height = 23, ; + InputMask = (get_mask(12,gnPA)), ; + Left = 352, ; + Name = "Text4", ; + ReadOnly = .T., ; + TabIndex = 14, ; + TabStop = .F., ; + Top = 81, ; + Width = 133, ; + ZOrderSet = 15 + *< END OBJECT: ClassLib="_baza.vcx" BaseClass="textbox" /> + + ADD OBJECT 'Text5' AS _textbox WITH ; + Alignment = 1, ; + Anchor = 9, ; + BackColor = 255,255,255, ; + ControlSource = "thisform.ntotplati", ; + Format = "r", ; + Height = 23, ; + InputMask = (get_mask(12,gnPA)), ; + Left = 497, ; + Name = "Text5", ; + ReadOnly = .T., ; + TabIndex = 15, ; + TabStop = .F., ; + Top = 81, ; + Width = 133, ; + ZOrderSet = 13 + *< END OBJECT: ClassLib="_baza.vcx" BaseClass="textbox" /> + + ADD OBJECT 'Text6' AS _textbox WITH ; + Alignment = 1, ; + Anchor = 9, ; + BackColor = 255,255,255, ; + ControlSource = "thisform.nsoldf", ; + Format = "r", ; + Height = 23, ; + InputMask = (get_mask(12,gnPA)), ; + Left = 649, ; + Name = "Text6", ; + ReadOnly = .T., ; + TabIndex = 16, ; + TabStop = .F., ; + Top = 81, ; + Width = 133, ; + ZOrderSet = 14 + *< END OBJECT: ClassLib="_baza.vcx" BaseClass="textbox" /> + + ADD OBJECT 'Text7' AS _textbox WITH ; + Anchor = 9, ; + BackColor = 255,255,255, ; + ControlSource = "thisform.ddataact1", ; + Height = 23, ; + Left = 430, ; + Name = "Text7", ; + ReadOnly = .T., ; + SpecialEffect = 0, ; + TabIndex = 17, ; + TabStop = .F., ; + Top = 35, ; + Visible = .T., ; + Width = 133, ; + ZOrderSet = 11 + *< END OBJECT: ClassLib="_baza.vcx" BaseClass="textbox" /> + + ADD OBJECT 'Text8' AS _textbox WITH ; + Anchor = 9, ; + BackColor = 255,255,255, ; + ControlSource = "thisform.ddataact2", ; + Height = 23, ; + Left = 569, ; + Name = "Text8", ; + ReadOnly = .T., ; + SpecialEffect = 0, ; + TabIndex = 18, ; + TabStop = .F., ; + Top = 35, ; + Width = 133, ; + ZOrderSet = 10 + *< END OBJECT: ClassLib="_baza.vcx" BaseClass="textbox" /> + + PROCEDURE actualizeaza_grid1 + LPARAMETERS tcFiltru,tcFiltru2 + + LOCAL lnprecdeb, lnpreccred + lnprecdeb = THIS.nprecdebI + lnpreccred = THIS.npreccredI + LOCAL lnSoldi, lnSoldf + + THISFORM.MOUSEPOINTER= 11 + THISFORM.LOCKSCREEN = .T. + + IF !EMPTY(tcFiltru2) + IF USED('crssume') + USE IN crssume + ENDIF + pcexec=[select sum(incasari) as precdeb,sum(plati) as preccred from ]+gcS+[.vbancasa_] + Alltrim(thisform.ccont) + [ where ]+tcFiltru2 + lnsucces=goExecutor.oexecute(pcexec,'crsSold') + IF lnsucces > 0 + SELECT crsSold + GO TOP + lnprecdeb = NVL(precdeb,0) + lnpreccred = NVL(preccred,0) + USE IN crsSold + ELSE + aMESSAGEBOX(goExecutor.cEroare, 0 + 16, 'Eroare') + ENDIF + ENDIF + + save_grid_tag(THISFORM.grid1) + pobancasa.ca_baza1.cfiltru=tcFiltru + pobancasa.ca_baza1.afisare() + restore_grid_tag(THISFORM.grid1) + + SELECT casban + UPDATE casban SET dataireg = {} WHERE nrcrt = 1 + UPDATE casban SET dataact = {} WHERE nrcrt = 1 + CALCULATE SUM(incasari),SUM(plati) FOR !EMPTY(dataireg) TO lntotincasari, lntotplati + GO TOP + lnSoldi = lnprecdeb - lnprecCred + lnSoldf = lnSoldi + lntotincasari - lntotplati + + WITH THIS + .nSoldi = lnSoldi + .nSoldf = lnSoldf + .nTotincasari = lntotincasari + .nTotPlati = lntotplati + .nprecDeb = lnPrecDeb + .nprecCred = lnPrecCred + ENDWITH + + THISFORM.LOCKSCREEN=.F. + THISFORM.MOUSEPOINTER= 0 + + THISFORM.text3.REFRESH + THISFORM.text4.REFRESH + THISFORM.text5.REFRESH + THISFORM.text6.REFRESH + THISFORM.text7.SETFOCUS + THISFORM.text8.SETFOCUS + + SELE casban + THISFORM.grid1.SETFOCUS + + ENDPROC + + PROCEDURE butdrept + local laMenu[1] + *!* scatter memvar + laMenu="" + laMenu[1] = "Nota contabila" + + + thisform.oMenuShortcut.ShowMenu(@laMenu) + + DO CASE + CASE BAR()=1 + thisform.NOTACONTAB + ENDCASE + *!* thisform.actualizeaza_grid1() + ENDPROC + + PROCEDURE clickdreapta + Local lnOptiune + THIS.AlwaysOnTop = .F. + Select casban + lnOptiune = xmenu("Dispozitie de " + Iif(casban.incasari<>0, "incasare", "plata") + ; + " A4;Dispozitie de " + Iif(casban.incasari<>0, "incasare", "plata") + ' A5'+ Iif(casban.incasari <> 0, ";Relistare chitanta", "")) + If EMPTY(m.lnOptiune) + RETURN + ENDIF + + If Inlist(m.lnOptiune, 1,2) + This.listare_dispozitie(Iif(m.lnOptiune = 1, 'A4', 'A5')) + Else + This.listare_chitanta() + Endif + + THIS.AlwaysOnTop = .T. + ENDPROC + + PROCEDURE do_cauta + LPARAMETERS tlDontSetFocus + * tlDontSetFocus = .T. nu se apeleaza grid.setfocus daca este apelat do_cauta din cboBanca.valid. da eroare + + *!* 19.01.2017 + *!* Thisform.grID1.SetFocus in loc de butcriterii.setfocus pentru ca puneam filtru pe data act din checkbox, apoi dadeam un enter in plus si aparea din nou + *!* fereastra de cautare, la care dadeam renunt si nu se mai facea cautarea + + Local lcFiltru, lcFiltruBancasa, lcFiltruDate, lcFiltru2 + Local lnIdBancasa, lnSold, lnSoldVal + Local lcFiltruIdBancasa + *:Global filtrutext + + lcFiltru=[] + lcFiltru2=[] + lcFiltruBancasa=[] + lcFiltruDate=[] + + This.ddataact1 = Ctod('01/'+Alltrim(Str(gnLuna))+'/'+Alltrim(Str(gnAn))) + This.ddataact2=Gomonth(This.ddataact1,1)-1 + + With Thisform.ck_bancasa + If .Value=1 + lcFiltru = lcFiltru + .filtru + *lcFiltruBancasa = [(UPPER(SUBSTR(bancasa,1,]+ALLTRIM(STR(LEN(.cvaloare1)))+[))=']+UPPER(ALLTRIM(.cvaloare1))+[')] + lcFiltruBancasa = [1=1 ] + .filtru + Endif + Endwith + + IF !EMPTY(NVL(thisform.nIdBancasa,0) ) + lcFiltruIdBancasa = [ and id_bancasa = ] + ALLTRIM(STR(thisform.nIdBancasa)) + lcFiltru = m.lcFiltru + m.lcFiltruIdBancasa + lcFiltruBancasa = m.lcFiltruBancasa + IIF(!EMPTY(m.lcFiltruBancasa), m.lcFiltruIdBancasa, [1=1 ] + m.lcFiltruIdBancasa) + ENDIF + + With Thisform.ck_dataact + If .Value=1 + lcFiltru=lcFiltru+.filtru + lcFiltruDate = lcFiltruDate + [ OR dataact0 + filtrutext = Thisform.filtru_pretty + If At("AND", filtrutext) = 1 + filtrutext = Right(filtrutext, Len(filtrutext) - 4) + Endif + + lcFiltru =lcFiltru + " and (" + Alltrim(filtrutext) + ")" + Endif + + lcFiltru = Iif(Empty(lcFiltru),[2=2],Substr(lcFiltru,5)) + gcCondSucursala + Do Case + Case !Empty(lcFiltruBancasa) And !Empty(lcFiltruDate) + lcFiltru2 = lcFiltruBancasa + [ AND (NRCRT = 1]+lcFiltruDate+[) ] + gcCondSucursala + Case !Empty(lcFiltruBancasa) + *lcFiltru2=SUBSTR(lcFiltruBancasa,1,LEN(lcFiltruBancasa)-1)+[ AND NRCRT=1)] + lcFiltru2 = [(] + lcFiltruBancasa + [ AND NRCRT = 1) ] + gcCondSucursala + Case !Empty(lcFiltruDate) + lcFiltru2 = [(NRCRT = 1] + lcFiltruDate + [) ] + gcCondSucursala + Otherwise + lcFiltru2 = [NRCRT = 1 ] + gcCondSucursala + Endcase + + If (This.filtru_pretty#"none") + Thisform.actualizeaza_grid1(lcFiltru, lcFiltru2) + If Reccount("casban") = 0 + aMESSAGEBOX("Cautarea nu a intors rezultate!", 64, "Info cautare") + + Endif + Endif + + * Recreez cursorul cBancasaLista in caz ca am importat un extras sau s-au facut modificari de alt utilizator + creeaza_cursor_bancasalista(Thisform.ccont) + This.cboBanca.Requery() + + * Completez soldul cumulat dupa fiecare operatiune, defalcat pe banci + SELECT distinct id_bancasa FROM casban WHERE !EMPTY(NVL(id_bancasa,0)) INTO CURSOR cIdBancasaTemp + SELECT cIdbancasaTemp + SCAN + lnIdBancasa = id_bancasa + lnSold = 0 + SELECT casban + SCAN FOR id_bancasa = m.lnIdBancasa + lnSold = m.lnSold + incasari - plati + REPLACE soldcum WITH m.lnSold + ENDSCAN && lcCursor + ENDSCAN && cIdbancasaTemp + USE IN (SELECT('cIdBancasaTemp')) + GO TOP IN casban + + * Nu mai pun setfocus pe grid, pentru ca apelez do_cauta din cboBanca.valid() si da eroare "nu se poate apela setfocus din valid" + IF !m.tlDontSetFocus + Thisform.grID1.SetFocus + ENDIF + + + + ENDPROC + + PROCEDURE do_excel + lcAlias = this.grid1.RecordSource + lcFiltru = FILTER(lcAlias) + IF EMPTY(lcFiltru) + lcFiltru = '.T.' + ENDIF + + lcColumnList = '' + lcHeaderList = '' + lcSelect = '' + llSelect = .T. + lcType = 'CURSOR' + lcFrom = lcAlias + lcWhere = lcFiltru + lcOrder = '' + lcOutput = 'crsExcel' + + get_schema_grid(this.grid1,@lcColumnList, @lcHeaderList, @lcSelect, llSelect, lcType, lcFrom, lcWhere, lcOrder, lcOutput) + &lcSelect + *!* MESSAGEBOX(p3) + IF USED(lcOutput) + DO export_xls WITH lcOutput IN oproceduri_comune.prg + USE IN (lcOutput) + ENDIF + + ENDPROC + + PROCEDURE do_import + do form frm_import_extrase_banca.scx + + Thisform.do_cauta() + Thisform.but_start_criterii1.refreshstatus() + ENDPROC + + PROCEDURE do_listare + *****REluat from cont2000: + Local lcCursor, lcRaport, lnXmenuRet, llCasa + Thisform.AlwaysOnTop=.F. + If This.filtru_traducere()#"" + lctext=" si "+This.filtru_traducere() + Else + lctext="" + Endif + + llCasa = Iif(Thisform.lb_titlu_alb_b121.Caption="REGISTRUL DE CASA",.T.,.F.) + lcDispozitie = "Dispozitie de " + Iif(casban.incasari<>0, "incasare", "plata") + lcDispozitieTot = ";Dispozitii de incasare/plata toata selectia" + *!* modificare v 2.0.111 + *!* lnXmenuRet = xmenu("Listare registru;Listare selectie") + lnXmenuRet = xmenu(Iif(llCasa,"Listare registru - o casa;Listare registru - case cumulate;Listare selectie;\-;" + ; + m.lcDispozitie + m.lcDispozitieTot + ; + IIF(casban.incasari<>0,";Listare chitanta;Listare chitante toata selectia",""),; + "Listare registru;Listare selectie;\-;" + m.lcDispozitie + m.lcDispozitieTot)) + *!* modificare v 2.0.111 ^ + Do Case + Case lnXmenuRet = 1 && Listare + pcSubtitlu = This.filtru_pretty_ro + lctext + *!* modificare v 2.0.111 + *!* If Thisform.Ck_bancasa.Value = 0 + If Thisform.ck_bancasa.Value = 0 Or (Thisform.ck_bancasa.Value = 1 And !Like([*=*],Thisform.ck_bancasa.filtru)) + *!* modificare v 2.0.111 ^ + Thisform.ck_bancasa.Value = 1 + Thisform.ck_bancasa.InteractiveChange + If gnButon=2 + Thisform.ck_bancasa.Value = 0 + Return + Endif + Thisform.do_cauta + Endif + + Private pnSoldi, pnSoldf, pnPrecDeb, pnPrecCred + pnSoldi = This.nSoldi + pnSoldf = This.nSoldf + pnPrecDeb = This.nPrecDeb + pnPrecCred = This.nPrecCred + + + *!* pcDataOra = get_ora(2) + *!* modificare v 2.0.117 + If raport_regcasa_restrans(1,llCasa,[casban],[casban_ordonat]) + *!* modificare v 2.0.117 ^ + If llCasa + Select casban + *!* modificare v 2.0.117 + *!* Select * From casban Order By dataireg,dataact,cod Where nrcrt = 2 Into Cursor casban_ordonat Readwrite + *!* modificare v 2.0.117 ^ + lcRaport = [registru_casa_rpt1] + lcCursor = [casban_ordonat] + Endif + + If !llCasa + *!* modificare v 2.0.117 + *!* Select casban + *!* Select * From casban Order By dataact,cod Where nrcrt = 2 Into Cursor casban_ordonat Readwrite + *!* modificare v 2.0.117 ^ + lcRaport = [registru_banca_rpt1] + lcCursor = [casban_ordonat] + Endif + + *!* 29.05.2008 + *!* daca nu am rulaje in luna vreau sa listez soldul initial = soldul final fara inregistrari + *!* si trebuie sa pun o linie goala in tabel pt listare + If Reccount('casban_ordonat') = 0 + Select bancasa From casban Where nrcrt = 1 Into Cursor cSolduriTemp + Select casban_ordonat + Append From Dbf('cSolduriTemp') + Use In (Select('cSolduriTemp')) + Endif + *!* 29.05.2008 ^ + + goExport.export2frx(m.lcCursor, m.lcRaport, , , , , , .T.) + Use In (Select('casban_ordonat')) + *!* modificare v 2.0.117 + Endif + *!* modificare v 2.0.117 ^ + Thisform.AlwaysOnTop=.T. + *!* modificare v 2.0.111 + Case lnXmenuRet = 2 And llCasa + pcSubtitlu = This.filtru_pretty_ro + lctext + If Thisform.ck_bancasa.Value = 0 Or (Thisform.ck_bancasa.Value = 1 And Like([*=*],Thisform.ck_bancasa.filtru)) + Thisform.lalegmultiplu = .F. + Thisform.ck_bancasa.Value = 1 + Thisform.lalegmultiplu = .T. + Thisform.ck_bancasa.InteractiveChange + If gnButon=2 + Thisform.ck_bancasa.Value = 0 + Thisform.lalegmultiplu = .F. + Return + Endif + Thisform.do_cauta + Endif + + Private pnSoldi, pnSoldf, pnPrecDeb, pnPrecCred + pnSoldi = This.nSoldi + pnSoldf = This.nSoldf + pnPrecDeb = This.nPrecDeb + pnPrecCred = This.nPrecCred + + Select casban + *!* modificare v 2.0.117 + *!* Select * From casban Order By dataireg,bancasa,dataact,cod Where nrcrt = 2 Into Cursor casban_ordonat Readwrite + If raport_regcasa_restrans(2,llCasa,[casban],[casban_ordonat]) + *!* modificare v 2.0.117 ^ + lcRaport = [registru_casa_rpt3] + lcCursor = [casban_ordonat] + + If Reccount('casban_ordonat') = 0 + Select bancasa From casban Where nrcrt = 1 Into Cursor cSolduriTemp + Select casban_ordonat + Append From Dbf('cSolduriTemp') + Use In (Select('cSolduriTemp')) + Endif + + goExport.export2frx(m.lcCursor, m.lcRaport, , , , , , .T.) + Use In (Select('casban_ordonat')) + *!* modificare v 2.0.117 + Endif + *!* modificare v 2.0.117 ^ + Thisform.AlwaysOnTop=.T. + Thisform.lalegmultiplu = .F. + *!* CASE lnXmenuRet = 3 + Case (lnXmenuRet = 3 and m.llCasa) Or (lnXmenuRet = 2 And !llCasa) && Selectie listare + *!* modificare v 2.0.111 ^ + Private pctitlu, pcSubtitlu + pctitlu = Thisform.lb_titlu_alb_b121.Caption + [ (extras)] + pcSubtitlu = This.filtru_pretty_ro_full + lcCursor = [casban] + lcRaport = [registru_casabanca_rpt2] + goExport.export2frx(m.lcCursor, m.lcRaport, , , , , , .T.) + Case (m.lnXmenuRet = 5 and m.llCasa) or (m.lnXmenuRet = 4 And !llCasa) && dispozitie plata/incasare + This.listare_dispozitie() + Case (m.lnXmenuRet = 6 and m.llCasa) or (m.lnXmenuRet = 5 And !llCasa) && dispozitii plata/incasare + This.listare_dispozitie("", .T.) + CASE (m.lnXmenuRet = 7 AND m.llCasa) + This.listare_chitanta() + CASE (m.lnXmenuRet = 8 AND m.llCasa) + This.listare_chitanta(.T.) + Endcase + ENDPROC + + PROCEDURE do_modifica_defalcare + Lparameters tnOptiune + *!* nu o apelez si din ProgrammaticChange pentru ca initializez valoarea lui opt_defalcat cu glBanCasaCum, + *!* cu care am apelat deja creeaza_cursor_bancasa inainte sa intru in formular + Thisform.grid1.salveaza_grid() + Thisform.ck_bancasa.tabela = [vbancasa_] + Alltrim(Thisform.ccont) + Iif(tnOptiune=1,[],[_CUM]) + creeaza_cursor_bancasa(Thisform.ccont,tnOptiune==2) + Thisform.grid1.incarca_grid() + Thisform.do_cauta() + ENDPROC + + PROCEDURE do_reset + this.ck_bancasa.Value = 0 + this.ck_dataact.Value = 0 + this.ck_dataireg.Value = 0 + + DODEFAULT() + ENDPROC + + PROCEDURE do_sterge + Local overif As 'verificare' + Local lcCursor, llRul, llSucces + + If !Thisform.lactiv4 + Return + Endif + + Local lnCod, lnSucces, lnRecno, lcSql + Store .F. To llRul + lnSucces = 0 + + If glLunaInchisa + Return + Endif + + + Select casban + lnRecno = Recno() + lnCod = cod + If Empty(Nvl(lnCod,0)) + Return + Endif + + + Use In (SELECT('actactan')) + + lcSql = [select * from vact_tot where an = ] + Transform(gnAn) + [ and luna = ] + Transform(gnLuna) + [ and cod = ] + Alltrim(Str(lnCod)) + [ order by id_act] + lcCursor = [v_act] + llSucces = goExecutor.oExecuta(lcSql,lcCursor) + + If m.llSucces + Select * From v_act Into Cursor actactan + + Select Max(id_util) As id_utilizator From actactan Into Cursor crsUtilizator + If id_utilizator <> gnIdUtil + AMessagebox([Nu aveti dreptul de a sterge inregistrarea!], 0 + 48,[Atentie]) + llSucces = .F. + ENDIF + Use In (Select("crsUtilizator")) + + IF m.llSucces + overif = Createobject('verificare') + overif.Show(1) + Clear Class 'verificare' + + If buton = 1 + lnSucces = OSCRIE_IN_FISIERE(2,.F.,llRul) + llSucces = (m.lnSucces > 0) + ENDIF + ENDIF + ENDIF + + Use In (SELECT('v_act')) + Use In (SELECT('actactan')) + + This.do_cauta + Go Iif(lnRecno < 2, 1, Iif(lnRecno <> Reccount(),lnRecno - 1, lnRecno)) + Thisform.grid1.SetFocus() + + ENDPROC + + PROCEDURE do_termin + THIS.BUT_STArt_criterii1.RESETstatus() + DODEFAULT() + + ENDPROC + + PROCEDURE Init + Lparameters tcCont, tlArataInregOperator, tlAfisareTot + * tlAfisareTot = .T. daca se afiseaza toate inregistrarile la intrarea in formular + *!* tlArataInregOperator - .T. se arata doar inregistrarile operatorului + + This.lArataInregOperator = tlArataInregOperator + This.lAfisareTot = m.tlAfisareTot + + Thisform.ccont = Alltrim(tcCont) + IF !PEMSTATUS(Thisform.ck_BANCASA,'tabela',5) + ADDPROPERTY(Thisform.ck_BANCASA, 'tabela', '') + ENDIF + IF !PEMSTATUS(Thisform.ck_BANCASA,'titlu',5) + ADDPROPERTY(Thisform.ck_BANCASA, 'titlu', '') + ENDIF + Thisform.ck_BANCASA.tabela = [vbancasa_] + Alltrim(tcCont) + + *!* modificare v 2.5.40 + If Inlist(Thisform.ccont, '5311','5121') + Thisform.opt_defalcat.Visible = .T. + Thisform.opt_defalcat.Value = IIF(glBanCasaCum,2,1) + Endif + *!* modificare v 2.5.40 ^ + PRIVATE pcbanca,pccec,pccasa,pntotincasari,pntotplati,pnsoldi,pnsoldf,pnsuma1,pddataact1,pddataact2 + STORE 0 TO pntotincasari,pntotplati,pnsoldi,pnsoldf,pnsuma1 + STORE "" TO pcbanca,pccec,pccasa + + + DODEFAULT() + + * Afisez toate inregistrarile cand intru pentru banca/casa. Sunt putine + IF this.lAfisareTot + This.do_reset() && afisarea tuturor inregistrarilor + ENDIF + + this.WindowState = 2 + ENDPROC + + PROCEDURE listare_chitanta + LPARAMETERS tlToataSelectia + * tlToataSelectia: .T. = se listeaza chitante pentru toata selectia, .F. se listeaza doar chitanta de pe inregistrarea curenta + Local lcCursor, lcConditie, lnCod, lnRecno + + lcCursor = Thisform.grid1.RecordSource + Select (lcCursor) + lnCod = cod + lnRecno = RECNO() + lcConditie = IIF(m.tlToataSelectia, [incasari<>0], [cod = ] + ALLTRIM(STR(m.lnCod))) + llSilent = .F. + IF m.tlToataSelectia + llSilent = (AMESSAGEBOX('Listare silentioasa la imprimanta implicita (Da) sau previzualizati fiecare chitanta (Nu)?',4+32,_Screen.Caption) = 6) && listare silentioasa cand se listeaza toata selectia + ENDIF + If Reccount(lcCursor) > 0 + Select (lcCursor) + SCAN FOR &lcConditie + lnCod = &lcCursor..cod + lnNract = nract + WAIT WINDOW 'Relistare chitanta ' + ALLTRIM(STR(m.lnNract)) NOWAIT + relisteaza_chitanta(m.lnCod, m.llSilent) + ENDSCAN + SELECT (m.lcCursor) + TRY + GOTO m.lnRecno + CATCH + GO TOP IN (m.lcCursor) + ENDTRY + Endif + ENDPROC + + PROCEDURE listare_dispozitie + Lparameters tcPagina, tlToataSelectia + * tlToataSelectia: .T. = se listeaza chitante pentru toata selectia, .F. se listeaza doar chitanta de pe inregistrarea curenta + *** tcPagina: A4/A5 + + Local lcPagina, lcSelect + Local lcConditie, lcExplicatia, lcRegComert, lnRecno + Local lnCod + Private pcSerie, pcNumar, pcFunctie, pcSumaLitere, pnSuma, pdDataact, pnNrAct + Private pcExplic, pcExplic2, pcExplicatie, pcNume, pcScop, pcTip + *:Global gnButon + Store '' To m.pcSerie, m.pcNumar, m.pcFunctie, m.pcSumaLitere, m.pcExplic, m.pcExplic2, m.pcExplicatie, m.pcNume, m.pcScop, m.pcTip + Store 0 To m.pnSuma, m.pnNrAct + Store {} To m.pdDataact + m.lcSelect = Select() + + m.lcPagina = Iif(!Empty(m.tcPagina), Upper(Transform(m.tcPagina)), 'A4') + + Select casban + lnRecno = Recno() + lnCod = cod + lcConditie = Iif(m.tlToataSelectia, [.T.], [cod = ] + Alltrim(Str(m.lnCod))) + Scan For &lcConditie + m.pcExplicatie = 'Nume' + m.pcScop = '' + m.pcNume = Alltrim(Nvl(nume, '')) + lcRegComert = Alltrim(Nvl(reg_comert, '')) + + m.pcNumar = m.lcRegComert + m.pdDataact = Nvl(dataact, {}) + m.pnNrAct = Nvl(nract, 0) + lcExplicatia = Alltrim(explicatia) + + If (casban.incasari <> 0) + m.pnSuma = incasari + m.pcTip = 'INCASARE' + m.pcExplic = 'incasarii' + m.pcExplic2 = 'Incasat' + Else + m.pnSuma = plati + m.pcTip = 'PLATA' + m.pcExplic = 'platii' + m.pcExplic2 = 'Platit' + Endif + m.pcSumaLitere = suma_in_vorbe(m.pnSuma) + + gnButon = 1 + If !Pemstatus(This, 'cScop', 5) + AddProperty(This, 'cScop', pcScop) + AddProperty(This, 'cFunctie', pcFunctie) + *!* ADDPROPERTY(This, 'cSerie', pcSerie) + *!* ADDPROPERTY(This, 'cNumar', pcNumar) + Endif + pcScop = Iif(!Empty(m.lcExplicatia), m.lcExplicatia, This.cScop) + pcFunctie = This.cFunctie + *!* pcSerie = This.cSerie + *!* pcNumar = This.cNumar + + Do Form datedisp542 + + This.cScop = pcScop + This.cFunctie = pcFunctie + *!* This.cSerie = pcSerie + *!* This.cNumar = pcNumar + + If gnButon = 1 + Select casban + + Create Cursor crscasban (nract N(20), suma N(16, 2), dataact d) + Select crscasban + Append Blank + Replace suma With m.pnSuma, nract With m.pnNrAct, dataact With m.pdDataact + + + Thisform.AlwaysOnTop = .F. + *goExport.export2frx([crscasban], Iif(m.lcPagina = 'A4', [dispozitie542], [dispozitie542_a5])) + goExport.export2frx([crscasban], Iif(m.lcPagina = 'A4', [dispozitie542], [dispozitie542_a5]), .F., , , , , .T., , ) + Thisform.AlwaysOnTop = .T. + Endif + + Use In (Select('crscasban')) + SELECT casban + Endscan && casban + + SELECT casban + TRY + GOTO m.lnRecno + CATCH + GO TOP IN casban + ENDTRY + Release m.pcSerie, m.pcNumar, m.pcFunctie, m.pcSumaLitere, m.pnSuma, m.pdDataact, m.pnNrAct + + Select (m.lcSelect) + + ENDPROC + + PROCEDURE notacontab + Private pcselect,pcfiltru,pcschema,pcorder,llAfisare,poact,pcnume + Store "" To poact,pcnume + Store .F. To llAfisare + Select casban + pcnume = NVL(nume,'') + pcschema=['ID_ACT N(20),LUNA N(2),AN N(4),COD N(20),DATAIREG D,nract N(20),DATAACT D,'+]+; + ['EXPLICATIA C(100),SCD C(4),ASCD C(4),SCC C(4),ASCC C(4),SUMA N(19,2),PERECHED N(14),'+]+; + ['PERECHEC N(14),SUMA_VAL N(19,2),NUME_VAL C(5),CURS N(8,2),DATASCAD D,NEIMPOZAB N(19,2),'+]+; + ['NNIR N(10),ID_UTIL N(5),UTIL C(30),DATAORA T,ID_UTILS N(5),UTILS C(30),DATAORAS T,'+]+; + ['ID_RESPONSABIL N(5),NRESP C(30),ID_VENCHELT N(5),DST_CHLT C(100),ID_LUCRARE N(5),NRORD C(30),ID_SECTIE N(5),'+]+; + ['SECTIE C(30),PROC_TVA N(5,2),ID_SET N(20),ID_FACT N(20),ID_PARTD N(10),PARTD C(50),ID_PARTC N(10),'+]+; + ['PARTC C(50),ID_SUCURSALA N(5),SUCURSALA C(50),ID_FDOC N(5),FDOC C(30),'+]+; + ['EXPLICATIA4 C(100),EXPLICATIA5 C(100),ID_GESTD N(5),GESTD C(50),ID_GESTC N(5),GESTC C(50)'] + pcschema=[''] + pcselect=['select * from ]+gcS+[.vact where 2=2'] + pcfiltru=[luna=]+Alltrim(Str(gnLuna))+[ and an=]+Alltrim(Str(gnAn))+; + [ and cod=]+Alltrim(Str(cod)) + && nu e nevoie de gnIdSucursala deoarece codul e unc + pcorder=[dataact,serie_act,nract] + gencursor("poact","acn1",pcselect,pcfiltru,pcschema,pcorder,llAfisare) + poact.ca_baza1.afisare() + + Thisform.but_termin1.Enabled=.F. + Select acn1 + Do nrord With "ACN1" + GO TOP + *!* ORC=Createobj("AFDEBCRED") + *!* ORC.LABELTITLU.Caption="NOTA CONTABILA" + *!* ORC.ali = 'act' + *!* ORC.Show(1) + Thisform.AlwaysOnTop = .F. + ORC=Createobj("frm_debcred") + ORC.Lb_titlu_alb_b121.Caption="Nota contabila "+Alltrim(Nvl(pcnume,[])) + ORC.lb_titlu1.Caption="NOTA CONTABILA" + ORC._grdbase1.RemoveObject("cUtil") + ORC._grdbase1.RemoveObject("cDataOra") + ORC.Show(1) + Thisform.but_termin1.Enabled=.T. + Thisform.AlwaysOnTop = .T. + Use In (SELECT('acn1')) + Release ORC,poact + *Thisform.actualizeaza_grid1() + ENDPROC + + PROCEDURE Show + LPARAMETERS nStyle + DODEFAULT(nStyle) + This.cboBanca.Requery() + ENDPROC + + PROCEDURE But_reset_criterii1.Click + thisform.nIdBancasa = 0 + DODEFAULT() + ENDPROC + + PROCEDURE But_start_criterii1.loadcriterii + PARAMETERS tacriterii + EXTERNAL ARRAY tacriterii + #define crlf CHR(13)+CHR(10) + *!* lcStringCriterii= thisform.ck_bancasa.Caption + "\" + thisform.ck_bancasa.camp_nume + *!* lcstringcriterii=lcstringcriterii + "\T\none\" + crlf + ; + *!* "Nr. act\nract\N\none\" + crlf + ; + *!* "Data act\dataact\D\none\" + crlf + ; + *!* "Data inregistrarii\dataireg\D\none\" + crlf + ; + *!* "Fel document\fdoc\T\none\" + crlf + ; + *!* "Lucrare\nrord\T\none\" + crlf + ; + *!* "Explicatia\nume\T\none\" + crlf + ; + *!* "Incasari\incasari\N\none\" + crlf + ; + *!* "Plati\plati\N\none\" + crlf + ; + *!* "Cont debitor\scd\T\none\" + crlf + ; + *!* "Cont creditor\scc\T\none\" + crlf + ; + *!* "Responsabil\nresp\T\none\" + lcstringcriterii= "Nr. act\nract\N\none\" + crlf + ; + "Fel document\fdoc\T\ID_FDOC\nom_feldoc" + crlf + ; + "Lucrare\nrord\T\ID_LUCRARE\nom_lucrare" + crlf + ; + "Explicatia\nume\T\none\" + crlf + ; + "Incasari\incasari\N\none\" + crlf + ; + "Plati\plati\N\none\" + crlf + ; + "Cont debitor\scd\T\none\" + crlf + ; + "Analitic debitor\ascd\T\none\" + crlf + ; + "Cont creditor\scc\T\none\" + crlf + ; + "Analitic creditor\ascc\T\none\" + crlf + ; + "Responsabil\nresp\T\ID_RESPONSABIL\nom_parteneri" + ; + Iif(glEMama,crlf+"Sucursala\sucursala\T\none\",[]) + DODEFAULT() + ENDPROC + + PROCEDURE cboBanca.DropDown + This.FontName= "Courier New" + + ENDPROC + + PROCEDURE cboBanca.Init + DODEFAULT() + IF USED('cCasbanListaTemp') + GO TOP IN cCasbanListaTemp + thisform.nIdBancasa = cCasbanListaTemp.id_bancasa + ENDIF + ENDPROC + + PROCEDURE cboBanca.Valid + * cand deschid lista, pun Courier New ca sa fie aliniate soldurile la dreapta + * cand inchid lista pe valid, pun la loc Arial + This.FontName = "Arial" + Thisform.do_cauta(.T.) + ENDPROC + + PROCEDURE Ck_bancasa.InteractiveChange + Local lcCont, lcTitlu, llToateIreg, loCauta, lcNume, lnIdPart, lcSirIdPart, lcSirNume, llCasa, lcXMLParteneri + + With This + .filtru = "" + .filtru_vfp = "" + If .Value = 0 + Return + Endif + Endwith + + lcCont = Thisform.nrcont + lcTitlu = Thisform.lb_titlu_alb_b121.Caption + llToateIreg = .F. + + *!* modificare v 2.0.111 + *!* locauta = caut_parteneri(lcCont , lcTitlu, llToateIreg) + *!* lcNume = ALLTRIM(loCauta.denumire) + *!* lnIdPart = loCauta.id_part + If Thisform.lalegmultiplu + lcXMLParteneri = caut_parteneri_xml(lcCont,lcTitlu,llToateIreg) + If !Empty(lcXMLParteneri) And gnbuton = 1 + Xmltocursor(lcXMLParteneri, "crsCasaTemp") + If Reccount('crsCasaTemp') = 0 + amessagebox('Nu aþi selectat vreo casã!',0+48,'Atentie') + Return + Endif + lcSirIdPart = cursor2lista("crsCasaTemp", "id_part", ",") + lcSirNume = cursor2lista("crsCasaTemp","denumire",",") + Use In crsCasaTemp + Else + amessagebox("Nu aþi selectat vreo casã!",0+48,"Atentie") + Return + Endif + Else + loCauta = caut_parteneri(lcCont , lcTitlu, llToateIreg) + lcNume = Alltrim(loCauta.denumire) + lnIdPart = loCauta.id_part + Endif + + With This + *!* IF !EMPTY(lcNume) AND !EMPTY(lnIdPart) + *!* .cvaloare1 = lcNume + *!* *.filtru = [ AND UPPER(SUBSTR(]+ALLTRIM(.camp_nume)+[,1,]+ALLTRIM(STR(LEN(.cvaloare1)))+[))=']+.cvaloare1+['] + *!* .filtru = [ AND id_bancasa = ] + ALLTRIM(STR(lnIdPart)) + *!* .filtru_vfp = [ AND id_bancasa = ] + ALLTRIM(STR(lnIdPart)) + *!* .cTraducere = this.caption + " este " + ALLTRIM(NVL(.cvaloare1,"")) + *!* ELSE + *!* .cvaloare1 = "" + *!* .filtru = "" + *!* .Value = 0 + *!* .cTraducere = "" + *!* endif + Do Case + Case !Thisform.lalegmultiplu And !Empty(lcNume) And !Empty(lnIdPart) + .cvaloare1 = lcNume + .filtru = [ AND id_bancasa = ] + Alltrim(Str(lnIdPart)) + .filtru_vfp = [ AND id_bancasa = ] + Alltrim(Str(lnIdPart)) + .cTraducere = This.Caption + " este " + Alltrim(Nvl(.cvaloare1,"")) + Case Thisform.lalegmultiplu And !Empty(lcSirIdPart) And !Empty(lcSirNume) + .cvaloare1 = lcSirNume + .filtru = [ AND id_bancasa in (] + Alltrim(lcSirIdPart) + [)] + .filtru_vfp = [ AND INLIST(id_bancasa,] + Alltrim(lcSirIdPart) + [)] + .cTraducere = This.Caption + " : " + Alltrim(Nvl(.cvaloare1,"")) + Otherwise + .cvaloare1 = "" + .filtru = "" + .Value = 0 + .cTraducere = "" + Endcase + *!* modificare v 2.0.111 ^ + If This.Value = 0 + .cvaloare1 = "" + .filtru = "" + .Value = 0 + .cTraducere = "" + Endif + Endwith + Thisform.do_cauta() + Thisform.but_start_criterii1.refreshstatus() + + ENDPROC + + PROCEDURE Ck_dataact.InteractiveChange + DODEFAULT() + thisform.do_cauta() + thisform.but_start_criterii1.refreshstatus() + ENDPROC + + PROCEDURE Ck_dataireg.InteractiveChange + DODEFAULT() + thisform.do_cauta() + thisform.but_start_criterii1.refreshstatus() + ENDPROC + + PROCEDURE grid1.cAscc.Header1.Click + ThisForm.gridsort1.gridsort(This.Parent) + ENDPROC + + PROCEDURE grid1.cAscd.Header1.Click + ThisForm.gridsort1.gridsort(This.Parent) + ENDPROC + + PROCEDURE grid1.cbancasa.Header1.Click + ThisForm.gridsort1.gridsort(This.Parent) + ENDPROC + + PROCEDURE grid1.cbancasa.Text1.DblClick + If nrcrt=2 + Thisform.butdrept() + Endif + ENDPROC + + PROCEDURE grid1.cbancasa.Text1.RightClick + thisform.clickdreapta() + ENDPROC + + PROCEDURE grid1.cDataact.Header1.Click + ThisForm.gridsort1.gridsort(This.Parent) + ENDPROC + + PROCEDURE grid1.cDataact.Text1.DblClick + If nrcrt=2 + Thisform.butdrept() + Endif + ENDPROC + + PROCEDURE grid1.cDataact.Text1.RightClick + thisform.clickdreapta() + ENDPROC + + PROCEDURE grid1.cDataireg.Header1.Click + ThisForm.gridsort1.gridsort(This.Parent) + ENDPROC + + PROCEDURE grid1.cDataireg.Text1.DblClick + If nrcrt=2 + Thisform.butdrept() + Endif + ENDPROC + + PROCEDURE grid1.cDataireg.Text1.RightClick + thisform.clickdreapta() + ENDPROC + + PROCEDURE grid1.cExplicatia.Header1.Click + ThisForm.gridsort1.gridsort(This.Parent) + ENDPROC + + PROCEDURE grid1.cExplicatia.Text1.DblClick + If nrcrt=2 + Thisform.butdrept() + Endif + ENDPROC + + PROCEDURE grid1.cExplicatia.Text1.RightClick + thisform.clickdreapta() + ENDPROC + + PROCEDURE grid1.cFDOC.Header1.Click + ThisForm.gridsort1.gridsort(This.Parent) + ENDPROC + + PROCEDURE grid1.cFDOC.Text1.DblClick + If nrcrt=2 + Thisform.butdrept() + Endif + ENDPROC + + PROCEDURE grid1.cFDOC.Text1.RightClick + thisform.clickdreapta() + ENDPROC + + PROCEDURE grid1.cIncasari.Header1.Click + ThisForm.gridsort1.gridsort(This.Parent) + ENDPROC + + PROCEDURE grid1.cIncasari.Text1.DblClick + If nrcrt=2 + Thisform.butdrept() + Endif + ENDPROC + + PROCEDURE grid1.cIncasari.Text1.RightClick + thisform.clickdreapta() + ENDPROC + + PROCEDURE grid1.cNract.Header1.Click + ThisForm.gridsort1.gridsort(This.Parent) + ENDPROC + + PROCEDURE grid1.cNract.Text1.DblClick + If nrcrt=2 + Thisform.butdrept() + Endif + ENDPROC + + PROCEDURE grid1.cNract.Text1.RightClick + thisform.clickdreapta() + ENDPROC + + PROCEDURE grid1.cnResp.Header1.Click + ThisForm.gridsort1.gridsort(This.Parent) + ENDPROC + + PROCEDURE grid1.cnResp.Text1.DblClick + If nrcrt=2 + Thisform.butdrept() + Endif + ENDPROC + + PROCEDURE grid1.cnResp.Text1.RightClick + thisform.clickdreapta() + ENDPROC + + PROCEDURE grid1.cNrord.Header1.Click + ThisForm.gridsort1.gridsort(This.Parent) + ENDPROC + + PROCEDURE grid1.cNrord.Text1.DblClick + If nrcrt=2 + Thisform.butdrept() + Endif + ENDPROC + + PROCEDURE grid1.cNrord.Text1.RightClick + thisform.clickdreapta() + ENDPROC + + PROCEDURE grid1.cPlati.Header1.Click + ThisForm.gridsort1.gridsort(This.Parent) + ENDPROC + + PROCEDURE grid1.cPlati.Text1.DblClick + If nrcrt=2 + Thisform.butdrept() + Endif + ENDPROC + + PROCEDURE grid1.cPlati.Text1.RightClick + thisform.clickdreapta() + ENDPROC + + PROCEDURE grid1.cScc.Header1.Click + ThisForm.gridsort1.gridsort(This.Parent) + ENDPROC + + PROCEDURE grid1.cScc.Text1.DblClick + If nrcrt=2 + Thisform.butdrept() + Endif + ENDPROC + + PROCEDURE grid1.cScc.Text1.RightClick + thisform.clickdreapta() + ENDPROC + + PROCEDURE grid1.cScd.Header1.Click + ThisForm.gridsort1.gridsort(This.Parent) + ENDPROC + + PROCEDURE grid1.cScd.Text1.DblClick + If nrcrt=2 + Thisform.butdrept() + Endif + ENDPROC + + PROCEDURE grid1.cScd.Text1.RightClick + thisform.clickdreapta() + ENDPROC + + PROCEDURE grid1.cSucursala.Header1.Click + ThisForm.gridsort1.gridsort(This.Parent) + ENDPROC + + PROCEDURE opt_defalcat.InteractiveChange + Thisform.do_modifica_defalcare(This.Value) + ENDPROC + + PROCEDURE Text3.Refresh + *THIS.FORECOLOR=IIF(M.PRECDEB-M.PRECCRED>=0, RGB(0,0,0), RGB(255,0,0)) + ENDPROC + + PROCEDURE Text4.Refresh + *THIS.FORECOLOR=IIF(TINCASARI>=0, RGB(0,0,0), RGB(255,0,0)) + ENDPROC + + PROCEDURE Text5.Refresh + *THIS.FORECOLOR=IIF(TPLATI>=0, RGB(0,0,0), RGB(255,0,0)) + ENDPROC + + PROCEDURE Text6.Refresh + *THIS.FORECOLOR=IIF(TINCASARI-TPLATI>=0, RGB(0,0,0), RGB(255,0,0)) + ENDPROC + + PROCEDURE Text7.GotFocus + *!* if bdataact==.f. then + *!* m.dataact1="" + *!* endif + *!* this.refresh + ENDPROC + +ENDDEFINE + +DEFINE CLASS frm_casaban_restrans AS _frmbase OF "_frm_base.vcx" + *< CLASSDATA: Baseclass="form" Timestamp="" Scale="Pixels" Uniqueid="" /> + + *-- OBJECTDATA items order determines ZOrder / El orden de los items OBJECTDATA determina el ZOrder + *< OBJECTDATA: ObjPath="grd_feldocument" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="grd_feldocument.cAles.Header1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="grd_feldocument.cAles._checkbox1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="grd_feldocument.cFel_document.Header1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="grd_feldocument.cFel_document.Text1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="Lb_explicatie1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="grd_parteneri" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="grd_parteneri.cAles.Header1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="grd_parteneri.cAles._checkbox1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="grd_parteneri.cDenumire.Header1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="grd_parteneri.cDenumire.Text1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="grd_parteneri.cCod_fiscal.Header1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="grd_parteneri.cCod_fiscal.Text1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="Lb_explicatie2" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="BUT_RENUNT1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="Cmd_select_adv1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="Clb_denumire" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="Lb_simplu3" UniqueID="" Timestamp="" /> + + * + BorderStyle = 1 + DoCreate = .T. + Height = 480 + Name = "frm_casaban_restrans" + Width = 404 + _shape1.Height = 29 + _shape1.Left = 0 + _shape1.Name = "_shape1" + _shape1.Top = 0 + _shape1.Width = 404 + _shape2.Height = 29 + _shape2.Left = 312 + _shape2.Name = "_shape2" + _shape2.Top = 0 + _shape2.Width = 67 + Lb_titlu_alb_b121.Caption = "CUMULARE INREGISTRARI" + Lb_titlu_alb_b121.FontBold = .T. + Lb_titlu_alb_b121.Name = "Lb_titlu_alb_b121" + Lb_titlu_alb_b121.TabIndex = 7 + BUT_TERMIN1.Left = 372 + BUT_TERMIN1.Name = "BUT_TERMIN1" + BUT_TERMIN1.TabIndex = 5 + BUT_TERMIN1.Top = 1 + Gridsort1.Name = "Gridsort1" + * + + ADD OBJECT 'BUT_RENUNT1' AS but_renunt WITH ; + Left = 342, ; + Name = "BUT_RENUNT1", ; + TabIndex = 6, ; + Top = 1 + *< END OBJECT: ClassLib="cmd_butoane.vcx" BaseClass="commandbutton" /> + + ADD OBJECT 'Clb_denumire' AS clb_tx_simplu WITH ; + Height = 29, ; + Left = 17, ; + Name = "Clb_denumire", ; + Top = 257, ; + Width = 367, ; + Text_simplu1.Height = 23, ; + Text_simplu1.Left = 101, ; + Text_simplu1.Name = "Text_simplu1", ; + Text_simplu1.Top = 3, ; + Text_simplu1.Width = 258, ; + Lb_simplu1.Caption = "Denumire", ; + Lb_simplu1.Name = "Lb_simplu1" + *< END OBJECT: ClassLib="lb_tx.vcx" BaseClass="container" /> + + ADD OBJECT 'Cmd_select_adv1' AS cmd_select_adv WITH ; + ccoloana = ales, ; + cgrid = thisform.grd_parteneri, ; + Left = 12, ; + Name = "Cmd_select_adv1", ; + TabIndex = 3, ; + Top = 448 + *< END OBJECT: ClassLib="cmd_butoane.vcx" BaseClass="commandbutton" /> + + ADD OBJECT 'grd_feldocument' AS _grdbase WITH ; + ColumnCount = 2, ; + DeleteMark = .F., ; + FontName = "Segoe UI", ; + FontSize = 10, ; + Height = 135, ; + Left = 12, ; + Name = "grd_feldocument", ; + Panel = 1, ; + RecordSource = "crsdocumente", ; + RowHeight = 20, ; + TabIndex = 1, ; + Top = 76, ; + Width = 385, ; + Column1.ControlSource = "ales", ; + Column1.FontName = "Segoe UI", ; + Column1.FontSize = 10, ; + Column1.Name = "cAles", ; + Column1.Sparse = .F., ; + Column1.Width = 30, ; + Column2.ControlSource = "fel_document", ; + Column2.FontName = "Segoe UI", ; + Column2.FontSize = 10, ; + Column2.Name = "cFel_document", ; + Column2.Width = 323 + *< END OBJECT: ClassLib="_grd_base.vcx" BaseClass="grid" /> + + ADD OBJECT 'grd_feldocument.cAles._checkbox1' AS _checkbox WITH ; + Alignment = 2, ; + AutoSize = .F., ; + Caption = "", ; + Centered = .T., ; + FontName = "Segoe UI", ; + FontSize = 10, ; + Left = 23, ; + Name = "_checkbox1", ; + Top = 34 + *< END OBJECT: ClassLib="_baza.vcx" BaseClass="checkbox" /> + + ADD OBJECT 'grd_feldocument.cAles.Header1' AS header WITH ; + Alignment = 2, ; + Caption = "Ales", ; + FontName = "Segoe UI", ; + FontSize = 10, ; + Name = "Header1" + *< END OBJECT: BaseClass="header" /> + + ADD OBJECT 'grd_feldocument.cFel_document.Header1' AS header WITH ; + Alignment = 2, ; + Caption = "Fel document", ; + FontName = "Segoe UI", ; + FontSize = 10, ; + Name = "Header1" + *< END OBJECT: BaseClass="header" /> + + ADD OBJECT 'grd_feldocument.cFel_document.Text1' AS textbox WITH ; + BackColor = 255,255,255, ; + BorderStyle = 0, ; + FontName = "Segoe UI", ; + FontSize = 10, ; + ForeColor = 0,0,0, ; + Margin = 0, ; + Name = "Text1", ; + SelectedBackColor = 100,185,255 + *< END OBJECT: BaseClass="textbox" /> + + ADD OBJECT 'grd_parteneri' AS _grdbase WITH ; + ColumnCount = 3, ; + DeleteMark = .F., ; + FontName = "Segoe UI", ; + FontSize = 10, ; + Height = 152, ; + Left = 12, ; + Name = "grd_parteneri", ; + Panel = 1, ; + RecordSource = "crsparteneri", ; + RowHeight = 20, ; + TabIndex = 2, ; + Top = 291, ; + Width = 385, ; + Column1.ControlSource = "ales", ; + Column1.FontName = "Segoe UI", ; + Column1.FontSize = 10, ; + Column1.Name = "cAles", ; + Column1.Sparse = .F., ; + Column1.Width = 30, ; + Column2.ControlSource = "denumire", ; + Column2.FontName = "Segoe UI", ; + Column2.FontSize = 10, ; + Column2.Name = "cDenumire", ; + Column2.Width = 244, ; + Column3.ControlSource = "cod_fiscal", ; + Column3.FontName = "Segoe UI", ; + Column3.FontSize = 10, ; + Column3.Name = "cCod_fiscal" + *< END OBJECT: ClassLib="_grd_base.vcx" BaseClass="grid" /> + + ADD OBJECT 'grd_parteneri.cAles._checkbox1' AS _checkbox WITH ; + Alignment = 2, ; + AutoSize = .F., ; + Caption = "", ; + Centered = .T., ; + FontName = "Segoe UI", ; + FontSize = 10, ; + Left = 23, ; + Name = "_checkbox1", ; + Top = 34 + *< END OBJECT: ClassLib="_baza.vcx" BaseClass="checkbox" /> + + ADD OBJECT 'grd_parteneri.cAles.Header1' AS header WITH ; + Alignment = 2, ; + Caption = "Ales", ; + FontName = "Segoe UI", ; + FontSize = 10, ; + Name = "Header1" + *< END OBJECT: BaseClass="header" /> + + ADD OBJECT 'grd_parteneri.cCod_fiscal.Header1' AS header WITH ; + Alignment = 2, ; + Caption = "C.I.F./C.N.P.", ; + FontName = "Segoe UI", ; + FontSize = 10, ; + Name = "Header1" + *< END OBJECT: BaseClass="header" /> + + ADD OBJECT 'grd_parteneri.cCod_fiscal.Text1' AS textbox WITH ; + BackColor = 255,255,255, ; + BorderStyle = 0, ; + FontName = "Segoe UI", ; + FontSize = 10, ; + ForeColor = 0,0,0, ; + Margin = 0, ; + Name = "Text1", ; + SelectedBackColor = 100,185,255 + *< END OBJECT: BaseClass="textbox" /> + + ADD OBJECT 'grd_parteneri.cDenumire.Header1' AS header WITH ; + Alignment = 2, ; + Caption = "Denumire", ; + FontName = "Segoe UI", ; + FontSize = 10, ; + Name = "Header1" + *< END OBJECT: BaseClass="header" /> + + ADD OBJECT 'grd_parteneri.cDenumire.Text1' AS textbox WITH ; + BackColor = 255,255,255, ; + BorderStyle = 0, ; + FontName = "Segoe UI", ; + FontSize = 10, ; + ForeColor = 0,0,0, ; + Margin = 0, ; + Name = "Text1", ; + SelectedBackColor = 100,185,255 + *< END OBJECT: BaseClass="textbox" /> + + ADD OBJECT 'Lb_explicatie1' AS _label WITH ; + Caption = "Alegeti felurile de document care se vor cumula", ; + Left = 12, ; + Name = "Lb_explicatie1", ; + TabIndex = 8, ; + Top = 55 + *< END OBJECT: ClassLib="_baza.vcx" BaseClass="label" /> + + ADD OBJECT 'Lb_explicatie2' AS _label WITH ; + AutoSize = .T., ; + Caption = "Alegeti partenerii pentru care se vor cumula tipurile alese mai sus", ; + Height = 19, ; + Left = 4, ; + Name = "Lb_explicatie2", ; + TabIndex = 9, ; + Top = 231, ; + Width = 382, ; + WordWrap = .T. + *< END OBJECT: ClassLib="_baza.vcx" BaseClass="label" /> + + ADD OBJECT 'Lb_simplu3' AS _label WITH ; + Caption = 'Daca nu doriti sa cumulati inregistrarile, apasati pe "TERMINAT".', ; + Left = 13, ; + Name = "Lb_simplu3", ; + TabIndex = 8, ; + Top = 36 + *< END OBJECT: ClassLib="_baza.vcx" BaseClass="label" /> + + PROCEDURE inainte_de_do_termin + Local llReturn + Store .T. To llReturn + + Select crsdocumente + lnRecno = Recno() + Calculate Cnt() For ales = 1 To pnDocAles + Go (lnRecno) + + Select crsparteneri + lnRecno = Recno() + Calculate Cnt() For ales = 1 To pnPartAles + Go (lnRecno) + + Do Case + Case pnDocAles = 0 AND pnPartAles <> 0 + amessagebox("Nu ati ales tipul de document pentru care se va face cumularea!",48,"Atentie") + This.grd_feldocument.SetFocus() + llReturn = .F. + Case pnDocAles <> 0 AND pnPartAles = 0 + amessagebox("Nu ati ales partenerii pentru care se va face cumularea!",48,"Atentie") + This.grd_parteneri.SetFocus() + llReturn = .F. + Otherwise + llReturn = .T. + Endcase + + Return llReturn + ENDPROC + + PROCEDURE Clb_denumire.Text_simplu1.KeyPress + Lparameters nKeyCode, nShiftAltCtrl + If nKeyCode = 13 And !Empty(This.Value) + Nodefault + Select crsparteneri + Locate For Like(Alltrim(This.Value)+[*],denumire) + If !Found() + Go Top + Endif + Thisform.grd_parteneri.SetFocus() + Else + DoDefault() + Endif + + ENDPROC + +ENDDEFINE + +DEFINE CLASS frm_casaban_val AS _frmbase OF "_frm_base.vcx" + *< CLASSDATA: Baseclass="form" Timestamp="" Scale="Pixels" Uniqueid="" /> + + *-- OBJECTDATA items order determines ZOrder / El orden de los items OBJECTDATA determina el ZOrder + *< OBJECTDATA: ObjPath="Shape1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="Grid1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="Grid1.cFdoc.Header1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="Grid1.cFdoc.Text1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="Grid1.cDataact.Header2" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="Grid1.cDataact.Text1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="Grid1.cNract.Header3" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="Grid1.cNract.Text1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="Grid1.cbancasa.Header1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="Grid1.cbancasa.Text1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="Grid1.cIncasari.Header5" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="Grid1.cIncasari.Text1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="Grid1.cPlati.Header6" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="Grid1.cPlati.Text1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="Grid1.cScd.Header7" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="Grid1.cScd.Text1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="Grid1.cScc.Header8" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="Grid1.cScc.Text1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="Grid1.cExplicatia.Header1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="Grid1.cExplicatia.Text1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="Grid1.cIncasVal.Header1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="Grid1.cIncasVal.Text1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="Grid1.cPlatiVal.Header1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="Grid1.cPlatiVal.Text1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="Grid1.cCurs.Header1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="Grid1.cCurs.Text1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="Grid1.Column13.Header1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="Grid1.Column13.Text1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="Grid1.cNumeVal.Header1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="Grid1.cNumeVal.Text1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="Grid1.cPereche.Header1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="Grid1.cPereche.Text1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="Grid1.cDataIreg.Header1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="Grid1.cDataIreg.Text1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="Grid1.cNrord.Header1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="Grid1.cNrord.Text1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="Grid1.cNresp.Header1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="Grid1.cNresp.Text1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="Grid1.cAscd.Header1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="Grid1.cAscd.Text1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="Grid1.cAscc.Header1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="Grid1.cAscc.Text1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="Grid1.cExplicatia2.Header1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="Grid1.cExplicatia2.Text1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="Grid1.cRegComert.Header1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="Grid1.cRegComert.Text1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="Grid1.cCodFiscal.Header1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="Grid1.cCodFiscal.Text1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="Grid1.cSoldCum.Header1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="Grid1.cSoldCum.Text1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="But_modifica1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="But_listare1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="But_excel1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="Text8" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="Text7" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="Text5" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="Text2" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="Text6" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="Text1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="Text4" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="Text9" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="Text3" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="Text10" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="Label4" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="Label6" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="Label1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="Label7" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="oMenuShortcut" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="But_start_criterii1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="But_reset_criterii1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="Label3" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="Label5" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="Ck_dataact" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="Ck_bancasa" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="Label2" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="opt_defalcat" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="cboBanca" UniqueID="" Timestamp="" /> + + * + *m: butapend + *m: butdrept + *m: clickdreapta + *m: do_modifica_defalcare + *m: listare_chitanta + *m: listare_dispozitie + *m: notacontab + *p: ccont + *p: ddataact1 + *p: ddataact2 + *p: lafisaretot + *p: laratainregoperator && Daca se afiseaza doar inregistrarile utilizatorului curent + *p: nidbancasa + *p: npreccred + *p: npreccredi + *p: npreccredval + *p: npreccredvali + *p: nprecdeb + *p: nprecdebi + *p: nprecdebval + *p: nprecdebvali + *p: nrcont + *p: nrcontval + *p: nsoldf + *p: nsoldfval + *p: nsoldi + *p: nsoldival + *p: ntotincasari + *p: ntotincasval + *p: ntotplati + *p: ntotplatival + *p: tip + * + + * + ccont = + ddataact1 = {} + ddataact2 = {} + DoCreate = .T. + Height = 550 + lafisaretot = .F. + laratainregoperator = .F. + Name = "frm_casaban_val" + nidbancasa = 0 + npreccred = 0 + npreccredi = 0 + npreccredval = 0 + npreccredvali = 0 + nprecdeb = 0 + nprecdebi = 0 + nprecdebval = 0 + nprecdebvali = 0 + nrcont = + nrcontval = + nsoldf = 0 + nsoldfval = 0 + nsoldi = 0 + nsoldival = 0 + ntotincasari = 0 + ntotincasval = 0 + ntotplati = 0 + ntotplatival = 0 + tip = + Width = 800 + _memberdata = + + + + + _shape1.Anchor = 10 + _shape1.Height = 29 + _shape1.Left = 0 + _shape1.Name = "_shape1" + _shape1.Top = 0 + _shape1.Width = 800 + _shape2.Height = 29 + _shape2.Left = 696 + _shape2.Name = "_shape2" + _shape2.Top = 0 + _shape2.Width = 104 + Lb_titlu_alb_b121.Caption = "REGISTRUL IN VALUTA" + Lb_titlu_alb_b121.FontBold = .T. + Lb_titlu_alb_b121.Name = "Lb_titlu_alb_b121" + Lb_titlu_alb_b121.TabIndex = 21 + BUT_TERMIN1.Anchor = 9 + BUT_TERMIN1.Left = 766 + BUT_TERMIN1.Name = "BUT_TERMIN1" + BUT_TERMIN1.TabIndex = 17 + BUT_TERMIN1.Top = 1 + Gridsort1.Name = "Gridsort1" + * + + ADD OBJECT 'But_excel1' AS but_excel WITH ; + Anchor = 9, ; + Left = 702, ; + Name = "But_excel1", ; + TabIndex = 20, ; + Top = 1 + *< END OBJECT: ClassLib="cmd_butoane.vcx" BaseClass="commandbutton" /> + + ADD OBJECT 'But_listare1' AS but_listare WITH ; + Anchor = 9, ; + Left = 734, ; + Name = "But_listare1", ; + TabIndex = 18, ; + Top = 1, ; + Visible = .T. + *< END OBJECT: ClassLib="cmd_butoane.vcx" BaseClass="commandbutton" /> + + ADD OBJECT 'But_modifica1' AS but_modifica WITH ; + Anchor = 9, ; + Left = 610, ; + lvizibil = .F., ; + Name = "But_modifica1", ; + TabIndex = 19, ; + Top = 1, ; + Visible = .F. + *< END OBJECT: ClassLib="cmd_butoane.vcx" BaseClass="commandbutton" /> + + ADD OBJECT 'But_reset_criterii1' AS but_reset_criterii WITH ; + Anchor = 9, ; + Left = 640, ; + Name = "But_reset_criterii1", ; + TabIndex = 9, ; + Top = 1, ; + Visible = .T., ; + ZOrderSet = 26 + *< END OBJECT: ClassLib="ocriterii.vcx" BaseClass="commandbutton" /> + + ADD OBJECT 'But_start_criterii1' AS but_start_criterii WITH ; + Anchor = 9, ; + Left = 670, ; + Name = "But_start_criterii1", ; + TabIndex = 8, ; + Top = 1, ; + ZOrderSet = 25 + *< END OBJECT: ClassLib="ocriterii.vcx" BaseClass="commandbutton" /> + + ADD OBJECT 'cboBanca' AS _cbbase WITH ; + BoundColumn = 3, ; + BoundTo = .T., ; + ColumnCount = 4, ; + ColumnLines = .F., ; + ColumnWidths = "350,200,0,0", ; + ControlSource = "Thisform.nIdBancasa", ; + FontName = "Arial", ; + Height = 24, ; + Left = 13, ; + Name = "cboBanca", ; + RowSource = "select bancasa, PADL(transform(sold, '999 999 999.99') + ' ' + padr(ALLT(numeval), 5, ' ') , 25, ' ') as sold, id_bancasa, ord, numeval from cBancasaLista order by 4,1 into cursor cCasbanListaTemp", ; + RowSourceType = 3, ; + Top = 78, ; + Width = 299 + *< END OBJECT: ClassLib="_cb_base.vcx" BaseClass="combobox" /> + + ADD OBJECT 'Ck_bancasa' AS ck_filtru_nom WITH ; + Alignment = 0, ; + camp_nume = bancasa, ; + camp_tabela = bancasa, ; + Caption = "Banca", ; + Left = 17, ; + Name = "Ck_bancasa", ; + tabela = vbancasa_val, ; + TabIndex = 1, ; + titlu = Alegeti banca, ; + Top = 40 + *< END OBJECT: ClassLib="caut_ora.vcx" BaseClass="checkbox" /> + + ADD OBJECT 'Ck_dataact' AS ck_filtru_numar WITH ; + Alignment = 0, ; + AutoSize = .T., ; + camp_nume = dataact, ; + Caption = "Data act", ; + Left = 17, ; + Name = "Ck_dataact", ; + TabIndex = 3, ; + tip = D, ; + Top = 58 + *< END OBJECT: ClassLib="caut_ora.vcx" BaseClass="checkbox" /> + + ADD OBJECT 'Grid1' AS _grdbase WITH ; + Anchor = 15, ; + ColumnCount = 24, ; + DeleteMark = .F., ; + FontCharSet = 1, ; + GridLineColor = 192,192,192, ; + Height = 385, ; + Left = 12, ; + Name = "Grid1", ; + Panel = 1, ; + ReadOnly = .T., ; + RecordSource = "casban", ; + RowHeight = 19, ; + TabIndex = 16, ; + Tag = "RESIZABLE", ; + Top = 158, ; + Width = 780, ; + ZOrderSet = 5, ; + Column1.Alignment = 0, ; + Column1.BackColor = 255,255,255, ; + Column1.ColumnOrder = 1, ; + Column1.ControlSource = "fdoc", ; + Column1.FontCharSet = 1, ; + Column1.FontName = "Arial", ; + Column1.FontSize = 10, ; + Column1.Format = "", ; + Column1.InputMask = "", ; + Column1.Name = "cFdoc", ; + Column1.ReadOnly = .T., ; + Column1.Width = 106, ; + Column2.Alignment = 0, ; + Column2.BackColor = 255,255,255, ; + Column2.ColumnOrder = 2, ; + Column2.ControlSource = "dataact", ; + Column2.FontCharSet = 1, ; + Column2.FontName = "Arial", ; + Column2.FontSize = 10, ; + Column2.Name = "cDataact", ; + Column2.ReadOnly = .T., ; + Column2.Width = 70, ; + Column3.Alignment = 0, ; + Column3.BackColor = 255,255,255, ; + Column3.ColumnOrder = 4, ; + Column3.ControlSource = "nract", ; + Column3.FontCharSet = 1, ; + Column3.FontName = "Arial", ; + Column3.FontSize = 10, ; + Column3.Format = "", ; + Column3.InputMask = "", ; + Column3.Name = "cNract", ; + Column3.ReadOnly = .T., ; + Column3.Width = 87, ; + Column4.Alignment = 0, ; + Column4.BackColor = 255,255,255, ; + Column4.ColumnOrder = 5, ; + Column4.ControlSource = "bancasa", ; + Column4.FontCharSet = 1, ; + Column4.FontName = "Arial", ; + Column4.FontSize = 10, ; + Column4.Format = "", ; + Column4.InputMask = "", ; + Column4.Name = "cbancasa", ; + Column4.ReadOnly = .T., ; + Column4.Width = 153, ; + Column5.Alignment = 1, ; + Column5.BackColor = 255,255,255, ; + Column5.ColumnOrder = 7, ; + Column5.ControlSource = "incasari", ; + Column5.DynamicForeColor = "IIF(INCASARI>=0, RGB(0,0,0), RGB(255,0,0))", ; + Column5.FontCharSet = 1, ; + Column5.FontName = "Arial", ; + Column5.FontSize = 10, ; + Column5.Format = "r", ; + Column5.InputMask = (get_mask(12,gnPA)), ; + Column5.Name = "cIncasari", ; + Column5.ReadOnly = .T., ; + Column5.Width = 97, ; + Column6.Alignment = 1, ; + Column6.BackColor = 255,255,255, ; + Column6.ColumnOrder = 8, ; + Column6.ControlSource = "plati", ; + Column6.DynamicForeColor = "IIF(PLATI>=0, RGB(0,0,0), RGB(255,0,0))", ; + Column6.FontCharSet = 1, ; + Column6.FontName = "Arial", ; + Column6.FontSize = 10, ; + Column6.Format = "r", ; + Column6.InputMask = (get_mask(12,gnPA)), ; + Column6.Name = "cPlati", ; + Column6.ReadOnly = .T., ; + Column6.Width = 97, ; + Column7.Alignment = 0, ; + Column7.BackColor = 255,255,255, ; + Column7.ColumnOrder = 9, ; + Column7.ControlSource = "scd", ; + Column7.FontCharSet = 1, ; + Column7.FontName = "Arial", ; + Column7.FontSize = 10, ; + Column7.Format = "", ; + Column7.InputMask = "", ; + Column7.Name = "cScd", ; + Column7.ReadOnly = .T., ; + Column7.Width = 60, ; + Column8.Alignment = 0, ; + Column8.BackColor = 255,255,255, ; + Column8.ColumnOrder = 11, ; + Column8.ControlSource = "scc", ; + Column8.FontCharSet = 1, ; + Column8.FontName = "Arial", ; + Column8.FontSize = 10, ; + Column8.Format = "", ; + Column8.InputMask = "", ; + Column8.Name = "cScc", ; + Column8.ReadOnly = .T., ; + Column8.Width = 60, ; + Column9.Alignment = 0, ; + Column9.BackColor = 255,255,255, ; + Column9.ColumnOrder = 6, ; + Column9.ControlSource = "nume", ; + Column9.FontCharSet = 1, ; + Column9.FontName = "Arial", ; + Column9.FontSize = 10, ; + Column9.Name = "cExplicatia", ; + Column9.ReadOnly = .T., ; + Column9.Width = 151, ; + Column10.BackColor = 255,255,255, ; + Column10.ColumnOrder = 13, ; + Column10.ControlSource = "incasval", ; + Column10.FontCharSet = 1, ; + Column10.FontName = "Arial", ; + Column10.FontSize = 10, ; + Column10.Format = "r", ; + Column10.InputMask = (get_mask(12,gnPA)), ; + Column10.Name = "cIncasVal", ; + Column10.ReadOnly = .T., ; + Column10.Width = 109, ; + Column11.BackColor = 255,255,255, ; + Column11.ColumnOrder = 14, ; + Column11.ControlSource = "platival", ; + Column11.FontCharSet = 1, ; + Column11.FontName = "Arial", ; + Column11.FontSize = 10, ; + Column11.Format = "r", ; + Column11.InputMask = (get_mask(12,gnPA)), ; + Column11.Name = "cPlatiVal", ; + Column11.ReadOnly = .T., ; + Column11.Width = 92, ; + Column12.BackColor = 255,255,255, ; + Column12.ColumnOrder = 17, ; + Column12.ControlSource = "curs", ; + Column12.FontCharSet = 1, ; + Column12.FontName = "Arial", ; + Column12.FontSize = 10, ; + Column12.Format = "r", ; + Column12.InputMask = "", ; + Column12.Name = "cCurs", ; + Column12.ReadOnly = .T., ; + Column12.Width = 87, ; + Column13.BackColor = 255,255,255, ; + Column13.ColumnOrder = 16, ; + Column13.ControlSource = "", ; + Column13.FontCharSet = 1, ; + Column13.FontName = "Arial", ; + Column13.FontSize = 10, ; + Column13.Format = "r", ; + Column13.InputMask = "999 999 999", ; + Column13.Name = "Column13", ; + Column13.ReadOnly = .T., ; + Column13.Visible = .F., ; + Column13.Width = 0, ; + Column14.BackColor = 255,255,255, ; + Column14.ColumnOrder = 18, ; + Column14.ControlSource = "numeval", ; + Column14.FontCharSet = 1, ; + Column14.FontName = "Arial", ; + Column14.FontSize = 10, ; + Column14.Name = "cNumeVal", ; + Column14.ReadOnly = .T., ; + Column14.Width = 99, ; + Column15.BackColor = 255,255,255, ; + Column15.ColumnOrder = 22, ; + Column15.ControlSource = "sucursala", ; + Column15.FontCharSet = 1, ; + Column15.FontName = "Arial", ; + Column15.FontSize = 10, ; + Column15.Name = "cPereche", ; + Column15.ReadOnly = .T., ; + Column15.Width = 164, ; + Column16.ColumnOrder = 3, ; + Column16.ControlSource = "dataireg", ; + Column16.FontCharSet = 1, ; + Column16.FontName = "Arial", ; + Column16.FontSize = 10, ; + Column16.Name = "cDataIreg", ; + Column16.ReadOnly = .T., ; + Column16.Width = 79, ; + Column17.ColumnOrder = 20, ; + Column17.ControlSource = "nrord", ; + Column17.FontCharSet = 1, ; + Column17.FontName = "Arial", ; + Column17.FontSize = 10, ; + Column17.Name = "cNrord", ; + Column17.ReadOnly = .T., ; + Column17.Width = 161, ; + Column18.ColumnOrder = 21, ; + Column18.ControlSource = "nresp", ; + Column18.FontCharSet = 1, ; + Column18.FontName = "Arial", ; + Column18.FontSize = 10, ; + Column18.Name = "cNresp", ; + Column18.ReadOnly = .T., ; + Column18.Width = 167, ; + Column19.ColumnOrder = 10, ; + Column19.ControlSource = "ascd", ; + Column19.FontCharSet = 1, ; + Column19.FontName = "Arial", ; + Column19.FontSize = 10, ; + Column19.Name = "cAscd", ; + Column19.ReadOnly = .T., ; + Column19.Width = 70, ; + Column20.ColumnOrder = 12, ; + Column20.ControlSource = "ascc", ; + Column20.FontCharSet = 1, ; + Column20.FontName = "Arial", ; + Column20.FontSize = 10, ; + Column20.Name = "cAscc", ; + Column20.ReadOnly = .T., ; + Column20.Width = 81, ; + Column21.ColumnOrder = 19, ; + Column21.ControlSource = "explicatia", ; + Column21.FontCharSet = 1, ; + Column21.FontName = "Arial", ; + Column21.FontSize = 10, ; + Column21.Name = "cExplicatia2", ; + Column21.ReadOnly = .T., ; + Column21.Width = 143, ; + Column22.ColumnOrder = 23, ; + Column22.ControlSource = "reg_comert", ; + Column22.FontCharSet = 1, ; + Column22.FontName = "Arial", ; + Column22.FontSize = 10, ; + Column22.Name = "cRegComert", ; + Column22.ReadOnly = .T., ; + Column22.Width = 145, ; + Column23.ColumnOrder = 24, ; + Column23.ControlSource = "cod_fiscal", ; + Column23.FontCharSet = 1, ; + Column23.FontName = "Arial", ; + Column23.FontSize = 10, ; + Column23.Name = "cCodFiscal", ; + Column23.ReadOnly = .T., ; + Column23.Width = 130, ; + Column24.ColumnOrder = 15, ; + Column24.ControlSource = "soldcum", ; + Column24.FontCharSet = 1, ; + Column24.Format = "R", ; + Column24.InputMask = (get_mask(15,gnPA)), ; + Column24.Name = "cSoldCum", ; + Column24.ReadOnly = .T., ; + Column24.Width = 111 + *< END OBJECT: ClassLib="_grd_base.vcx" BaseClass="grid" /> + + ADD OBJECT 'Grid1.cAscc.Header1' AS header WITH ; + Alignment = 2, ; + Caption = "Analitic Cred.", ; + FontCharSet = 1, ; + FontName = "Arial", ; + FontSize = 10, ; + Name = "Header1" + *< END OBJECT: BaseClass="header" /> + + ADD OBJECT 'Grid1.cAscc.Text1' AS textbox WITH ; + BackColor = 255,255,255, ; + BorderStyle = 0, ; + FontCharSet = 1, ; + FontName = "Arial", ; + FontSize = 10, ; + ForeColor = 0,0,0, ; + Margin = 0, ; + Name = "Text1", ; + SelectedBackColor = 100,185,255 + *< END OBJECT: BaseClass="textbox" /> + + ADD OBJECT 'Grid1.cAscd.Header1' AS header WITH ; + Alignment = 2, ; + Caption = "Analitic Deb.", ; + FontCharSet = 1, ; + FontName = "Arial", ; + FontSize = 10, ; + Name = "Header1" + *< END OBJECT: BaseClass="header" /> + + ADD OBJECT 'Grid1.cAscd.Text1' AS textbox WITH ; + BackColor = 255,255,255, ; + BorderStyle = 0, ; + FontCharSet = 1, ; + FontName = "Arial", ; + FontSize = 10, ; + ForeColor = 0,0,0, ; + Margin = 0, ; + Name = "Text1", ; + SelectedBackColor = 100,185,255 + *< END OBJECT: BaseClass="textbox" /> + + ADD OBJECT 'Grid1.cbancasa.Header1' AS header WITH ; + Alignment = 2, ; + Caption = "Banca", ; + FontCharSet = 1, ; + FontName = "Arial", ; + FontSize = 10, ; + Name = "Header1" + *< END OBJECT: BaseClass="header" /> + + ADD OBJECT 'Grid1.cbancasa.Text1' AS textbox WITH ; + Alignment = 0, ; + BackColor = 255,255,255, ; + BorderStyle = 0, ; + FontCharSet = 1, ; + FontName = "Arial", ; + FontSize = 10, ; + ForeColor = 0,0,0, ; + Margin = 0, ; + Name = "Text1", ; + ReadOnly = .T., ; + SelectedBackColor = 100,185,255 + *< END OBJECT: BaseClass="textbox" /> + + ADD OBJECT 'Grid1.cCodFiscal.Header1' AS header WITH ; + Alignment = 2, ; + Caption = "Cod fiscal/CNP", ; + FontCharSet = 1, ; + FontName = "Arial", ; + FontSize = 10, ; + Name = "Header1" + *< END OBJECT: BaseClass="header" /> + + ADD OBJECT 'Grid1.cCodFiscal.Text1' AS textbox WITH ; + BackColor = 255,255,255, ; + BorderStyle = 0, ; + FontCharSet = 1, ; + FontName = "Arial", ; + FontSize = 10, ; + ForeColor = 0,0,0, ; + Margin = 0, ; + Name = "Text1", ; + ReadOnly = .T., ; + SelectedBackColor = 100,185,255 + *< END OBJECT: BaseClass="textbox" /> + + ADD OBJECT 'Grid1.cCurs.Header1' AS header WITH ; + Alignment = 2, ; + Caption = "Curs schimb", ; + FontCharSet = 1, ; + FontName = "Arial", ; + FontSize = 10, ; + Name = "Header1" + *< END OBJECT: BaseClass="header" /> + + ADD OBJECT 'Grid1.cCurs.Text1' AS textbox WITH ; + BackColor = 255,255,255, ; + BorderStyle = 0, ; + FontCharSet = 1, ; + FontName = "Arial", ; + FontSize = 10, ; + ForeColor = 0,0,0, ; + Margin = 0, ; + Name = "Text1", ; + ReadOnly = .T., ; + SelectedBackColor = 100,185,255 + *< END OBJECT: BaseClass="textbox" /> + + ADD OBJECT 'Grid1.cDataact.Header2' AS header WITH ; + Alignment = 2, ; + Caption = "Data act", ; + FontCharSet = 1, ; + FontName = "Arial", ; + FontSize = 10, ; + Name = "Header2" + *< END OBJECT: BaseClass="header" /> + + ADD OBJECT 'Grid1.cDataact.Text1' AS textbox WITH ; + Alignment = 0, ; + BackColor = 255,255,255, ; + BorderStyle = 0, ; + FontCharSet = 1, ; + FontName = "Arial", ; + FontSize = 10, ; + ForeColor = 0,0,0, ; + Margin = 0, ; + Name = "Text1", ; + ReadOnly = .T., ; + SelectedBackColor = 100,185,255 + *< END OBJECT: BaseClass="textbox" /> + + ADD OBJECT 'Grid1.cDataIreg.Header1' AS header WITH ; + Alignment = 2, ; + Caption = "Data inreg.", ; + FontCharSet = 1, ; + FontName = "Arial", ; + FontSize = 10, ; + Name = "Header1" + *< END OBJECT: BaseClass="header" /> + + ADD OBJECT 'Grid1.cDataIreg.Text1' AS textbox WITH ; + BackColor = 255,255,255, ; + BorderStyle = 0, ; + FontCharSet = 1, ; + FontName = "Arial", ; + FontSize = 10, ; + ForeColor = 0,0,0, ; + Margin = 0, ; + Name = "Text1", ; + SelectedBackColor = 100,185,255 + *< END OBJECT: BaseClass="textbox" /> + + ADD OBJECT 'Grid1.cExplicatia.Header1' AS header WITH ; + Alignment = 2, ; + Caption = "Explicatia", ; + FontCharSet = 1, ; + FontName = "Arial", ; + FontSize = 10, ; + Name = "Header1" + *< END OBJECT: BaseClass="header" /> + + ADD OBJECT 'Grid1.cExplicatia.Text1' AS textbox WITH ; + Alignment = 0, ; + BackColor = 255,255,255, ; + BorderStyle = 0, ; + FontCharSet = 1, ; + FontName = "Arial", ; + FontSize = 10, ; + ForeColor = 0,0,0, ; + Margin = 0, ; + Name = "Text1", ; + ReadOnly = .T., ; + SelectedBackColor = 100,185,255 + *< END OBJECT: BaseClass="textbox" /> + + ADD OBJECT 'Grid1.cExplicatia2.Header1' AS header WITH ; + Alignment = 2, ; + Caption = "Alte explicatii", ; + FontCharSet = 1, ; + FontName = "Arial", ; + FontSize = 10, ; + Name = "Header1" + *< END OBJECT: BaseClass="header" /> + + ADD OBJECT 'Grid1.cExplicatia2.Text1' AS textbox WITH ; + BackColor = 255,255,255, ; + BorderStyle = 0, ; + FontCharSet = 1, ; + FontName = "Arial", ; + FontSize = 10, ; + ForeColor = 0,0,0, ; + Margin = 0, ; + Name = "Text1", ; + ReadOnly = .T., ; + SelectedBackColor = 100,185,255 + *< END OBJECT: BaseClass="textbox" /> + + ADD OBJECT 'Grid1.cFdoc.Header1' AS header WITH ; + Alignment = 2, ; + Caption = "Fel Doc.", ; + FontCharSet = 1, ; + FontName = "Arial", ; + FontSize = 10, ; + Name = "Header1" + *< END OBJECT: BaseClass="header" /> + + ADD OBJECT 'Grid1.cFdoc.Text1' AS textbox WITH ; + Alignment = 0, ; + BackColor = 255,255,255, ; + BorderStyle = 0, ; + FontCharSet = 1, ; + FontName = "Arial", ; + FontSize = 10, ; + ForeColor = 0,0,0, ; + Margin = 0, ; + Name = "Text1", ; + ReadOnly = .T., ; + SelectedBackColor = 100,185,255 + *< END OBJECT: BaseClass="textbox" /> + + ADD OBJECT 'Grid1.cIncasari.Header5' AS header WITH ; + Alignment = 2, ; + Caption = "Incasari", ; + FontCharSet = 1, ; + FontName = "Arial", ; + FontSize = 10, ; + Name = "Header5" + *< END OBJECT: BaseClass="header" /> + + ADD OBJECT 'Grid1.cIncasari.Text1' AS textbox WITH ; + Alignment = 1, ; + BackColor = 255,255,255, ; + BorderStyle = 0, ; + FontCharSet = 1, ; + FontName = "Arial", ; + FontSize = 10, ; + ForeColor = 0,0,0, ; + Margin = 0, ; + Name = "Text1", ; + ReadOnly = .T., ; + SelectedBackColor = 100,185,255 + *< END OBJECT: BaseClass="textbox" /> + + ADD OBJECT 'Grid1.cIncasVal.Header1' AS header WITH ; + Alignment = 2, ; + Caption = "Incasari valuta", ; + FontCharSet = 1, ; + FontName = "Arial", ; + FontSize = 10, ; + Name = "Header1" + *< END OBJECT: BaseClass="header" /> + + ADD OBJECT 'Grid1.cIncasVal.Text1' AS textbox WITH ; + BackColor = 255,255,255, ; + BorderStyle = 0, ; + FontCharSet = 1, ; + FontName = "Arial", ; + FontSize = 10, ; + ForeColor = 0,0,0, ; + Margin = 0, ; + Name = "Text1", ; + ReadOnly = .T., ; + SelectedBackColor = 100,185,255 + *< END OBJECT: BaseClass="textbox" /> + + ADD OBJECT 'Grid1.cNract.Header3' AS header WITH ; + Alignment = 2, ; + Caption = "Nr. act", ; + FontCharSet = 1, ; + FontName = "Arial", ; + FontSize = 10, ; + Name = "Header3" + *< END OBJECT: BaseClass="header" /> + + ADD OBJECT 'Grid1.cNract.Text1' AS textbox WITH ; + Alignment = 0, ; + BackColor = 255,255,255, ; + BorderStyle = 0, ; + FontCharSet = 1, ; + FontName = "Arial", ; + FontSize = 10, ; + ForeColor = 0,0,0, ; + Margin = 0, ; + Name = "Text1", ; + ReadOnly = .T., ; + SelectedBackColor = 100,185,255 + *< END OBJECT: BaseClass="textbox" /> + + ADD OBJECT 'Grid1.cNresp.Header1' AS header WITH ; + Alignment = 2, ; + Caption = "Responsabil", ; + FontCharSet = 1, ; + FontName = "Arial", ; + FontSize = 10, ; + Name = "Header1" + *< END OBJECT: BaseClass="header" /> + + ADD OBJECT 'Grid1.cNresp.Text1' AS textbox WITH ; + BackColor = 255,255,255, ; + BorderStyle = 0, ; + FontCharSet = 1, ; + FontName = "Arial", ; + FontSize = 10, ; + ForeColor = 0,0,0, ; + Margin = 0, ; + Name = "Text1", ; + SelectedBackColor = 100,185,255 + *< END OBJECT: BaseClass="textbox" /> + + ADD OBJECT 'Grid1.cNrord.Header1' AS header WITH ; + Alignment = 2, ; + Caption = "Lucrare", ; + FontCharSet = 1, ; + FontName = "Arial", ; + FontSize = 10, ; + Name = "Header1" + *< END OBJECT: BaseClass="header" /> + + ADD OBJECT 'Grid1.cNrord.Text1' AS textbox WITH ; + BackColor = 255,255,255, ; + BorderStyle = 0, ; + FontCharSet = 1, ; + FontName = "Arial", ; + FontSize = 10, ; + ForeColor = 0,0,0, ; + Margin = 0, ; + Name = "Text1", ; + SelectedBackColor = 100,185,255 + *< END OBJECT: BaseClass="textbox" /> + + ADD OBJECT 'Grid1.cNumeVal.Header1' AS header WITH ; + Alignment = 2, ; + Caption = "Nume valuta", ; + FontCharSet = 1, ; + FontName = "Arial", ; + FontSize = 10, ; + Name = "Header1" + *< END OBJECT: BaseClass="header" /> + + ADD OBJECT 'Grid1.cNumeVal.Text1' AS textbox WITH ; + BackColor = 255,255,255, ; + BorderStyle = 0, ; + FontCharSet = 1, ; + FontName = "Arial", ; + FontSize = 10, ; + ForeColor = 0,0,0, ; + Margin = 0, ; + Name = "Text1", ; + ReadOnly = .T., ; + SelectedBackColor = 100,185,255 + *< END OBJECT: BaseClass="textbox" /> + + ADD OBJECT 'Grid1.Column13.Header1' AS header WITH ; + Alignment = 2, ; + Caption = "Curs BNR", ; + FontCharSet = 1, ; + FontName = "Arial", ; + FontSize = 10, ; + Name = "Header1" + *< END OBJECT: BaseClass="header" /> + + ADD OBJECT 'Grid1.Column13.Text1' AS textbox WITH ; + BackColor = 255,255,255, ; + BorderStyle = 0, ; + FontCharSet = 1, ; + FontName = "Arial", ; + FontSize = 10, ; + ForeColor = 0,0,0, ; + Margin = 0, ; + Name = "Text1", ; + ReadOnly = .T., ; + SelectedBackColor = 100,185,255, ; + Visible = .F. + *< END OBJECT: BaseClass="textbox" /> + + ADD OBJECT 'Grid1.cPereche.Header1' AS header WITH ; + Alignment = 2, ; + Caption = "Sucursala", ; + FontCharSet = 1, ; + FontName = "Arial", ; + FontSize = 10, ; + Name = "Header1" + *< END OBJECT: BaseClass="header" /> + + ADD OBJECT 'Grid1.cPereche.Text1' AS textbox WITH ; + BackColor = 255,255,255, ; + BorderStyle = 0, ; + FontCharSet = 1, ; + FontName = "Arial", ; + FontSize = 10, ; + ForeColor = 0,0,0, ; + Margin = 0, ; + Name = "Text1", ; + SelectedBackColor = 100,185,255 + *< END OBJECT: BaseClass="textbox" /> + + ADD OBJECT 'Grid1.cPlati.Header6' AS header WITH ; + Alignment = 2, ; + Caption = "Plati", ; + FontCharSet = 1, ; + FontName = "Arial", ; + FontSize = 10, ; + Name = "Header6" + *< END OBJECT: BaseClass="header" /> + + ADD OBJECT 'Grid1.cPlati.Text1' AS textbox WITH ; + Alignment = 1, ; + BackColor = 255,255,255, ; + BorderColor = 0,0,0, ; + BorderStyle = 0, ; + FontCharSet = 1, ; + FontName = "Arial", ; + FontSize = 10, ; + ForeColor = 0,0,0, ; + Margin = 0, ; + Name = "Text1", ; + ReadOnly = .T., ; + SelectedBackColor = 100,185,255 + *< END OBJECT: BaseClass="textbox" /> + + ADD OBJECT 'Grid1.cPlatiVal.Header1' AS header WITH ; + Alignment = 2, ; + Caption = "Plati valuta", ; + FontCharSet = 1, ; + FontName = "Arial", ; + FontSize = 10, ; + Name = "Header1" + *< END OBJECT: BaseClass="header" /> + + ADD OBJECT 'Grid1.cPlatiVal.Text1' AS textbox WITH ; + BackColor = 255,255,255, ; + BorderStyle = 0, ; + FontCharSet = 1, ; + FontName = "Arial", ; + FontSize = 10, ; + ForeColor = 0,0,0, ; + Margin = 0, ; + Name = "Text1", ; + ReadOnly = .T., ; + SelectedBackColor = 100,185,255 + *< END OBJECT: BaseClass="textbox" /> + + ADD OBJECT 'Grid1.cRegComert.Header1' AS header WITH ; + Alignment = 2, ; + Caption = "Reg. Comert/CI", ; + FontCharSet = 1, ; + FontName = "Arial", ; + FontSize = 10, ; + Name = "Header1" + *< END OBJECT: BaseClass="header" /> + + ADD OBJECT 'Grid1.cRegComert.Text1' AS textbox WITH ; + BackColor = 255,255,255, ; + BorderStyle = 0, ; + FontCharSet = 1, ; + FontName = "Arial", ; + FontSize = 10, ; + ForeColor = 0,0,0, ; + Margin = 0, ; + Name = "Text1", ; + ReadOnly = .T., ; + SelectedBackColor = 100,185,255 + *< END OBJECT: BaseClass="textbox" /> + + ADD OBJECT 'Grid1.cScc.Header8' AS header WITH ; + Alignment = 2, ; + Caption = "Cont.Cred.", ; + FontCharSet = 1, ; + FontName = "Arial", ; + FontSize = 10, ; + Name = "Header8" + *< END OBJECT: BaseClass="header" /> + + ADD OBJECT 'Grid1.cScc.Text1' AS textbox WITH ; + Alignment = 0, ; + BackColor = 255,255,255, ; + BorderStyle = 0, ; + FontCharSet = 1, ; + FontName = "Arial", ; + FontSize = 10, ; + ForeColor = 0,0,0, ; + Margin = 0, ; + Name = "Text1", ; + ReadOnly = .T., ; + SelectedBackColor = 100,185,255 + *< END OBJECT: BaseClass="textbox" /> + + ADD OBJECT 'Grid1.cScd.Header7' AS header WITH ; + Alignment = 2, ; + Caption = "Cont.Deb.", ; + FontCharSet = 1, ; + FontName = "Arial", ; + FontSize = 10, ; + Name = "Header7" + *< END OBJECT: BaseClass="header" /> + + ADD OBJECT 'Grid1.cScd.Text1' AS textbox WITH ; + Alignment = 0, ; + BackColor = 255,255,255, ; + BorderStyle = 0, ; + FontCharSet = 1, ; + FontName = "Arial", ; + FontSize = 10, ; + ForeColor = 0,0,0, ; + Margin = 0, ; + Name = "Text1", ; + ReadOnly = .T., ; + SelectedBackColor = 100,185,255 + *< END OBJECT: BaseClass="textbox" /> + + ADD OBJECT 'Grid1.cSoldCum.Header1' AS header WITH ; + Alignment = 2, ; + Caption = "Sold cumulat valuta", ; + Name = "Header1" + *< END OBJECT: BaseClass="header" /> + + ADD OBJECT 'Grid1.cSoldCum.Text1' AS textbox WITH ; + BackColor = 255,255,255, ; + BorderStyle = 0, ; + ForeColor = 0,0,0, ; + Margin = 0, ; + Name = "Text1", ; + ReadOnly = .T., ; + SelectedBackColor = 100,185,255 + *< END OBJECT: BaseClass="textbox" /> + + ADD OBJECT 'Label1' AS _label WITH ; + Anchor = 9, ; + AutoSize = .T., ; + BackColor = 255,255,255, ; + Caption = "Lei", ; + Height = 18, ; + Left = 201, ; + Name = "Label1", ; + TabIndex = 35, ; + Top = 79, ; + Width = 19, ; + ZOrderSet = 20 + *< END OBJECT: ClassLib="_baza.vcx" BaseClass="label" /> + + ADD OBJECT 'Label2' AS _label WITH ; + Anchor = 9, ; + AutoSize = .T., ; + BackColor = 255,255,255, ; + Caption = "Rulaje in perioada", ; + Height = 18, ; + Left = 251, ; + Name = "Label2", ; + TabIndex = 38, ; + Top = 32, ; + Width = 105, ; + ZOrderSet = 31 + *< END OBJECT: ClassLib="_baza.vcx" BaseClass="label" /> + + ADD OBJECT 'Label3' AS _label WITH ; + Anchor = 9, ; + AutoSize = .T., ; + BackColor = 255,255,255, ; + Caption = "Sold final", ; + Height = 18, ; + Left = 730, ; + Name = "Label3", ; + TabIndex = 37, ; + Top = 57, ; + Width = 55, ; + ZOrderSet = 27 + *< END OBJECT: ClassLib="_baza.vcx" BaseClass="label" /> + + ADD OBJECT 'Label4' AS _label WITH ; + Anchor = 9, ; + AutoSize = .T., ; + BackColor = 255,255,255, ; + Caption = "Incasari", ; + Height = 18, ; + Left = 471, ; + Name = "Label4", ; + TabIndex = 33, ; + Top = 58, ; + Width = 47, ; + ZOrderSet = 20 + *< END OBJECT: ClassLib="_baza.vcx" BaseClass="label" /> + + ADD OBJECT 'Label5' AS _label WITH ; + Anchor = 9, ; + AutoSize = .T., ; + BackColor = 255,255,255, ; + Caption = "Plati", ; + Height = 18, ; + Left = 625, ; + Name = "Label5", ; + TabIndex = 36, ; + Top = 59, ; + Width = 28, ; + ZOrderSet = 27 + *< END OBJECT: ClassLib="_baza.vcx" BaseClass="label" /> + + ADD OBJECT 'Label6' AS _label WITH ; + Anchor = 9, ; + AutoSize = .T., ; + BackColor = 255,255,255, ; + Caption = "Valuta", ; + Height = 18, ; + Left = 201, ; + Name = "Label6", ; + TabIndex = 34, ; + Top = 107, ; + Width = 39, ; + ZOrderSet = 20 + *< END OBJECT: ClassLib="_baza.vcx" BaseClass="label" /> + + ADD OBJECT 'Label7' AS _label WITH ; + Anchor = 9, ; + AutoSize = .T., ; + BackColor = 255,255,255, ; + Caption = "Sold precedent", ; + Height = 18, ; + Left = 291, ; + Name = "Label7", ; + TabIndex = 32, ; + Top = 58, ; + Width = 89, ; + ZOrderSet = 20 + *< END OBJECT: ClassLib="_baza.vcx" BaseClass="label" /> + + ADD OBJECT 'oMenuShortcut' AS menulib WITH ; + Left = 504, ; + Name = "oMenuShortcut", ; + TabIndex = 40, ; + Top = 9 + *< END OBJECT: ClassLib="utility.vcx" BaseClass="container" /> + + ADD OBJECT 'opt_defalcat' AS _optiongrup WITH ; + AutoSize = .T., ; + Height = 27, ; + Left = 13, ; + Name = "opt_defalcat", ; + TabIndex = 4, ; + Top = 107, ; + Visible = .F., ; + Width = 297, ; + Option1.AutoSize = .T., ; + Option1.Caption = "Defalcat dupã documentul pereche", ; + Option1.FontCharSet = 238, ; + Option1.Left = 5, ; + Option1.Name = "Option1", ; + Option1.Top = 5, ; + Option2.AutoSize = .T., ; + Option2.Caption = "Cumulat", ; + Option2.Left = 227, ; + Option2.Name = "Option2", ; + Option2.Top = 5 + *< END OBJECT: ClassLib="_baza.vcx" BaseClass="optiongroup" /> + + ADD OBJECT 'Shape1' AS shape WITH ; + Anchor = 9, ; + BackColor = 255,255,255, ; + Height = 92, ; + Left = 192, ; + Name = "Shape1", ; + SpecialEffect = 0, ; + Top = 42, ; + Width = 602, ; + ZOrderSet = 2 + *< END OBJECT: BaseClass="shape" /> + + ADD OBJECT 'Text1' AS _textbox WITH ; + Alignment = 1, ; + Anchor = 9, ; + BackColor = 255,255,255, ; + ControlSource = "thisform.ntotplatival", ; + Format = "r", ; + Height = 23, ; + InputMask = (get_mask(12,gnPA)), ; + Left = 521, ; + Name = "Text1", ; + ReadOnly = .T., ; + TabIndex = 26, ; + TabStop = .F., ; + Top = 104, ; + Width = 130, ; + ZOrderSet = 14 + *< END OBJECT: ClassLib="_baza.vcx" BaseClass="textbox" /> + + ADD OBJECT 'Text10' AS _textbox WITH ; + Alignment = 1, ; + Anchor = 9, ; + BackColor = 255,255,255, ; + ControlSource = "thisform.nsoldival", ; + Format = "r", ; + Height = 23, ; + InputMask = (get_mask(12,gnPA)), ; + Left = 252, ; + Name = "Text10", ; + ReadOnly = .T., ; + TabIndex = 24, ; + TabStop = .F., ; + Top = 104, ; + Width = 130, ; + ZOrderSet = 16 + *< END OBJECT: ClassLib="_baza.vcx" BaseClass="textbox" /> + + ADD OBJECT 'Text2' AS _textbox WITH ; + Alignment = 1, ; + Anchor = 9, ; + BackColor = 255,255,255, ; + ControlSource = "thisform.nsoldfval", ; + Format = "r", ; + Height = 23, ; + InputMask = (get_mask(12,gnPA)), ; + Left = 656, ; + Name = "Text2", ; + ReadOnly = .T., ; + TabIndex = 29, ; + TabStop = .F., ; + Top = 104, ; + Width = 130, ; + ZOrderSet = 14 + *< END OBJECT: ClassLib="_baza.vcx" BaseClass="textbox" /> + + ADD OBJECT 'Text3' AS _textbox WITH ; + Alignment = 1, ; + Anchor = 9, ; + BackColor = 255,255,255, ; + ControlSource = "thisform.nsoldi", ; + Format = "r", ; + Height = 23, ; + InputMask = (get_mask(12,gnPA)), ; + Left = 252, ; + Name = "Text3", ; + ReadOnly = .T., ; + TabIndex = 23, ; + TabStop = .F., ; + Top = 76, ; + Width = 130, ; + ZOrderSet = 16 + *< END OBJECT: ClassLib="_baza.vcx" BaseClass="textbox" /> + + ADD OBJECT 'Text4' AS _textbox WITH ; + Alignment = 1, ; + Anchor = 9, ; + BackColor = 255,255,255, ; + ControlSource = "thisform.ntotincasari", ; + Format = "r", ; + Height = 23, ; + InputMask = (get_mask(12,gnPA)), ; + Left = 387, ; + Name = "Text4", ; + ReadOnly = .T., ; + TabIndex = 22, ; + TabStop = .F., ; + Top = 76, ; + Width = 130, ; + ZOrderSet = 16 + *< END OBJECT: ClassLib="_baza.vcx" BaseClass="textbox" /> + + ADD OBJECT 'Text5' AS _textbox WITH ; + Alignment = 1, ; + Anchor = 9, ; + BackColor = 255,255,255, ; + ControlSource = "thisform.ntotplati", ; + FontName = "Arial Narrow", ; + Format = "r", ; + Height = 23, ; + InputMask = (get_mask(12,gnPA)), ; + Left = 521, ; + Name = "Text5", ; + ReadOnly = .T., ; + TabIndex = 27, ; + TabStop = .F., ; + Top = 76, ; + Width = 130, ; + ZOrderSet = 14 + *< END OBJECT: ClassLib="_baza.vcx" BaseClass="textbox" /> + + ADD OBJECT 'Text6' AS _textbox WITH ; + Alignment = 1, ; + Anchor = 9, ; + BackColor = 255,255,255, ; + ControlSource = "thisform.nsoldf", ; + Format = "r", ; + Height = 23, ; + InputMask = (get_mask(12,gnPA)), ; + Left = 656, ; + Name = "Text6", ; + ReadOnly = .T., ; + TabIndex = 28, ; + TabStop = .F., ; + Top = 76, ; + Width = 130, ; + ZOrderSet = 14 + *< END OBJECT: ClassLib="_baza.vcx" BaseClass="textbox" /> + + ADD OBJECT 'Text7' AS _textbox WITH ; + Anchor = 9, ; + BackColor = 255,255,255, ; + ControlSource = "thisform.ddataact1", ; + Height = 23, ; + Left = 387, ; + Name = "Text7", ; + ReadOnly = .T., ; + SpecialEffect = 0, ; + TabIndex = 30, ; + TabStop = .F., ; + Top = 33, ; + Visible = .T., ; + Width = 130 + *< END OBJECT: ClassLib="_baza.vcx" BaseClass="textbox" /> + + ADD OBJECT 'Text8' AS _textbox WITH ; + Anchor = 9, ; + BackColor = 255,255,255, ; + ControlSource = "thisform.ddataact2", ; + Height = 23, ; + Left = 521, ; + Name = "Text8", ; + ReadOnly = .T., ; + SpecialEffect = 0, ; + TabIndex = 31, ; + TabStop = .F., ; + Top = 33, ; + Width = 130 + *< END OBJECT: ClassLib="_baza.vcx" BaseClass="textbox" /> + + ADD OBJECT 'Text9' AS _textbox WITH ; + Alignment = 1, ; + Anchor = 9, ; + BackColor = 255,255,255, ; + ControlSource = "thisform.ntotincasval", ; + Format = "r", ; + Height = 23, ; + InputMask = (get_mask(12,gnPA)), ; + Left = 387, ; + Name = "Text9", ; + ReadOnly = .T., ; + TabIndex = 25, ; + TabStop = .F., ; + Top = 104, ; + Width = 130, ; + ZOrderSet = 16 + *< END OBJECT: ClassLib="_baza.vcx" BaseClass="textbox" /> + + PROCEDURE actualizeaza_grid1 + Lparameters tcFiltru, tcFiltru2 + + LOCAL lntotincasari,lntotplati,lntotincasval,lntotplatival, lnSoldi, lnSoldf, lnSoldiVal, lnSoldfVal + LOCAL lnPrecDeb, lnPrecCred, lnPrecDebval, lnPrecCredval + + lcFiltru = tcFiltru + lcFiltru2 = tcFiltru2 + + lnPrecDeb = this.nprecdebI + lnPrecCred = this.npreccredI + lnPrecDebval = this.nprecdebvalI + lnPrecCredval = this.npreccredvalI + + + Thisform.MousePointer = 11 + Thisform.LockScreen = .T. + + + && actualizez soldurile precedente + If !Empty(tcFiltru2) + If Used('crsSold') + Use In crsSold + Endif + lcSelect = [select sum(incasari) as precdeb, sum(plati) as preccred, ] + ; + [sum(incasval) as precdebval, sum(platival) as preccredval ] + ; + [from ] + gcS + [.vbancasa_] + Alltrim(thisform.ccont) + [ where ] + tcFiltru2 + lcCursor = [crsSold] + lnSucces = goExecutor.oExecute(lcSelect,lcCursor) + IF lnSucces < 0 + aMESSAGEBOX(goExecutor.cEroare,0+16,'Eroare') + ENDIF + + SELECT crsSold + GO TOP + lnPrecDeb = precdeb + lnPrecCred = preccred + lnPrecDebVal = precdebval + lnPrecCredVal = preccredval + USE IN crsSold + ENDIF + + + save_grid_tag(Thisform.grid1) + pobancasa.ca_baza1.cfiltru=lcFiltru + pobancasa.ca_baza1.afisare() + restore_grid_tag(Thisform.grid1) + + Select casban + Update casban Set dataireg = {} Where nrcrt = 1 + Update casban Set dataact = {} Where nrcrt = 1 + Calculate Sum(incasari),Sum(plati),Sum(incasval),Sum(platival) For !Empty(dataireg) ; + To lntotincasari,lntotplati,lntotincasval,lntotplatival + GO TOP + + lnsoldi = lnPrecdeb - lnprecCred + lnsoldival = lnPrecDebval - lnPrecCredval + + lnsoldf = lnsoldi + lntotincasari - lntotplati + lnsoldfval = lnsoldival + lntotincasval - lntotplatival + + WITH THIS + .nSoldi = lnSoldi + .nSoldf = lnSoldf + .nTotincasari = lntotincasari + .nTotPlati = lntotplati + .nSoldiVal = lnSoldiVal + .nSoldfVal = lnSoldfVal + .nTotincasVal = lntotincasVal + .nTotPlatiVal = lntotplatiVal + .nprecDeb = lnPrecDeb + .nprecCred = lnPrecCred + .nprecDebVal = lnPrecDebVal + .nprecCredVal = lnPrecCredVal + ENDWITH + + Thisform.text1.Refresh + Thisform.text2.Refresh + Thisform.text3.Refresh + Thisform.text4.Refresh + Thisform.text5.Refresh + Thisform.text6.Refresh + Thisform.text7.Refresh + Thisform.text8.Refresh + Thisform.text9.Refresh + Thisform.text10.Refresh + + Thisform.LockScreen = .F. + Thisform.MousePointer = 0 + + Select casban + Go Top + Thisform.grid1.Refresh + ENDPROC + + PROCEDURE butapend + LOCAL C,lbMenu[4] + + + lbMenu="" + lbMenu[1]="\0, "incasare", "plata") + ; + " A4;Dispozitie de " + Iif(casban.incasari<>0, "incasare", "plata") + ' A5' + Iif(casban.incasari <> 0, ";Relistare chitanta", "")) + If Empty(m.lnOptiune) + Return + Endif + If Inlist(m.lnOptiune, 1,2) + This.listare_dispozitie(Iif(m.lnOptiune = 1, 'A4', 'A5')) + Else + This.listare_chitanta() + Endif + + + THIS.AlwaysOnTop = .T. + ENDPROC + + PROCEDURE do_cauta + Lparameters tlDontSetFocus + * tlDontSetFocus = .T. nu se apeleaza grid.setfocus daca este apelat do_cauta din cboBanca.valid. da eroare + + Local lcFiltru, lcFiltruBancasa, lcFiltruDate, lcFiltru2, lnIdBancasa + + lcFiltru = "2=2" + lcFiltruBancasa = "" + lcFiltruDate = "" + lcFiltru2 = "" + + This.ddataact1 = Ctod('01/' + Alltrim(Str(gnLuna)) + '/' + Alltrim(Str(gnAn))) + This.ddataact2 = Gomonth(This.ddataact1, 1) - 1 + + + With Thisform.ck_bancasa + If .Value = 1 + lcFiltru = lcFiltru + .filtru + lcFiltruBancasa = [1=1 ] + .filtru + Endif + Endwith + + If !Empty(Nvl(Thisform.nIdBancasa, 0) ) + Do Case + Case cCasbanListaTemp.ord = 2 && valuta + lcFiltruValuta = [ and numeval = '] + Alltrim(cCasbanListaTemp.numeval) + ['] + lcFiltru = m.lcFiltru + m.lcFiltruValuta + lcFiltruBancasa = m.lcFiltruBancasa + Iif(!Empty(m.lcFiltruBancasa), m.lcFiltruIdBancasa, [1=1 ] + m.lcFiltruValuta) + Otherwise + lcFiltruIdBancasa = [ and id_bancasa = ] + Alltrim(Str(Thisform.nIdBancasa)) + lcFiltru = m.lcFiltru + m.lcFiltruIdBancasa + lcFiltruBancasa = m.lcFiltruBancasa + Iif(!Empty(m.lcFiltruBancasa), m.lcFiltruIdBancasa, [1=1 ] + m.lcFiltruIdBancasa) + Endcase + Endif + + With Thisform.ck_dataact + If .Value = 1 + lcFiltru = lcFiltru + .filtru + This.ddataact1 = .cvaloare1 + This.ddataact2 = .cvaloare2 + lcFiltruDate = lcFiltruDate + [ OR dataact 0 + filtrutext = Thisform.filtru_pretty + If At("AND", filtrutext) = 1 + filtrutext = Right(filtrutext, Len(filtrutext) - 4) + Endif + + lcFiltru = lcFiltru + " and (" + Alltrim(filtrutext) + ")" + Endif + + lcFiltru = lcFiltru + gcCondSucursala + + Do Case + Case !Empty(lcFiltruBancasa) And !Empty(lcFiltruDate) + lcFiltru2 = lcFiltruBancasa + [ AND (NRCRT=1 ] + lcFiltruDate + [) ] + gcCondSucursala + Case !Empty(lcFiltruBancasa) + *lcFiltru2=SUBSTR(lcFiltruBancasa,1,LEN(lcFiltruBancasa)-1)+[ AND NRCRT=1)] + lcFiltru2 = [(] + lcFiltruBancasa + [ AND NRCRT=1) ] + gcCondSucursala + Case !Empty(lcFiltruDate) + lcFiltru2 = [(NRCRT=1 ] + lcFiltruDate + [) ] + gcCondSucursala + Otherwise + lcFiltru2 = [NRCRT=1 ] + gcCondSucursala + Endcase + + *!* THISFORM.actualizeaza_grid1(lcFiltru,lcFiltru2) + *!* IF RECCOUNT('casban')=0 + *!* aMESSAGEBOX("Cautarea nu a intors rezultate!",64,"Info cautare") + *!* THISFORM.ck_bancasa.SETFOCUS() + *!* ENDIF + If (This.filtru_pretty # "none") + Thisform.actualizeaza_grid1(lcFiltru, lcFiltru2) + If Reccount("casban") = 0 + aMESSAGEBOX("Cautarea nu a intors rezultate!", 64, "Info cautare") + Endif + Endif + + * Recreez cursorul cBancasaLista in caz ca am importat un extras sau s-au facut modificari de alt utilizator + creeaza_cursor_bancasalista(Thisform.ccont) + This.cboBanca.Requery() + + * Completez soldul cumulat dupa fiecare operatiune, defalcat pe banci + Select Distinct id_bancasa From casban WHERE !EMPTY(NVL(id_bancasa,0)) Into Cursor cIdBancasaTemp + Select cIdBancasaTemp + Scan + lnIdBancasa = id_bancasa + lnSold = 0 + Select casban + Scan For id_bancasa = m.lnIdBancasa + lnSold = m.lnSold + incasval - platival + Replace soldcum With m.lnSold + Endscan && lcCursor + Endscan && cIdbancasaTemp + Use In (Select('cIdBancasaTemp')) + Go Top In casban + + * Nu mai pun setfocus pe grid, pentru ca apelez do_cauta din cboBanca.valid() si da eroare "nu se poate apela setfocus din valid" + If !m.tlDontSetFocus + Thisform.grID1.SetFocus + Endif + + *!* THISFORM.but_start_criterii1.SETFOCUS + + + ENDPROC + + PROCEDURE do_excel + lcAlias = this.grid1.RecordSource + lcFiltru = FILTER(lcAlias) + IF EMPTY(lcFiltru) + lcFiltru = '.T.' + ENDIF + + lcColumnList = '' + lcHeaderList = '' + lcSelect = '' + llSelect = .T. + lcType = 'CURSOR' + lcFrom = lcAlias + lcWhere = lcFiltru + lcOrder = '' + lcOutput = 'crsExcel' + + get_schema_grid(this.grid1,@lcColumnList, @lcHeaderList, @lcSelect, llSelect, lcType, lcFrom, lcWhere, lcOrder, lcOutput) + &lcSelect + *!* MESSAGEBOX(p3) + IF USED(lcOutput) + DO export_xls WITH lcOutput IN oproceduri_comune.prg + USE IN (lcOutput) + ENDIF + + ENDPROC + + PROCEDURE do_listare + Thisform.AlwaysOnTop = .F. + Local lcDispozitie, lctext, llCasa, lnXmenuRet + + Private pcBancasa, pcCampgrup, pcTitlu, pcTitlugrup + Private pnSoldi, pnSoldf, pnSoldiVal, pnSoldfVal, pnPrecDeb, pnPrecCred, pnPrecDebVal, pnPrecCredVal + pnSoldi = This.nSoldi + pnSoldf = This.nSoldf + pnSoldiVal = This.nSoldiVal + pnSoldfVal = This.nSoldfVal + pnPrecDeb = This.nPrecDeb + pnPrecCred = This.nPrecCred + pnPrecDebVal = This.nPrecDebVal + pnPrecCredVal = This.nPrecCredVal + + If This.filtru_traducere() # "" + lctext = " si " + This.filtru_traducere() + Else + lctext = "" + Endif + + llCasa = 'CASA' $ Thisform.lb_titlu_alb_b121.Caption + lcDispozitie = "Dispozitie de " + Iif(NVL(casban.incasari,0) <> 0, "incasare", "plata") + lcDispozitieTot = ";Dispozitii de incasare/plata toata selectia" + + lnXmenuRet = xmenu(Iif(m.llCasa, "Listare registru;" + ; + m.lcDispozitie + ; + m.lcDispozitieTot + ; + Iif(casban.incasari <> 0, ";Listare chitanta;Listare chitante toata selectia", ""), "Listare registru;")) + Do Case + Case m.lnXmenuRet = 1 + + *!* pcDataora = get_ora(2) + If Thisform.lb_titlu_alb_b121.Caption = 'REGISTRUL DE BANCA IN VALUTA' + Select * From casban Order By dataact, cod Where nrcrt = 2 Into Cursor casban_ordonat Readwrite + + pcTitlu = 'REGISTRUL DE BANCA IN VALUTA' + pcCampgrup = [dataact] + pcBancasa = 'Banca: ' + pcTitlugrup = [Data actului: ] + Else + Select * From casban Order By dataireg, dataact, cod Where nrcrt = 2 Into Cursor casban_ordonat Readwrite + pcTitlu = 'REGISTRUL DE CASA IN VALUTA' + pcCampgrup = [dataireg] + pcBancasa = 'Casa: ' + pcTitlugrup = [Data inregistrarii: ] + + Endif + + *!* 29.05.2008 + *!* daca nu am rulaje in luna vreau sa listez soldul initial = soldul final fara inregistrari + *!* si trebuie sa pun o linie goala in tabel pt listare + If Reccount('casban_ordonat') = 0 + Select bancasa From casban Where nrcrt = 1 Into Cursor cSolduriTemp + Select casban_ordonat + Append From Dbf('cSolduriTemp') + Use In (Select('cSolduriTemp')) + Endif + *!* 29.05.2008 ^ + + goExport.export2frx([casban_ordonat], [registru_casabanca_valuta_rpt1], , , , , , .T.) + Use In casban_ordonat + Case (m.lnXmenuRet = 2 and m.llCasa) && dispozitie plata/incasare + This.listare_dispozitie() + Case (m.lnXmenuRet = 3 and m.llCasa) && dispozitie plata/incasare + This.listare_dispozitie() + CASE (m.lnXmenuRet = 4 AND m.llCasa) && chitanta + This.listare_chitanta() + CASE (m.lnXmenuRet = 5 AND m.llCasa) && toate chitantele + This.listare_chitanta(.T.) + Endcase + + Thisform.AlwaysOnTop = .T. + + ENDPROC + + PROCEDURE do_modifica_defalcare + Lparameters tnOptiune + *!* nu o apelez si din ProgrammaticChange pentru ca initializez valoarea lui opt_defalcat cu glBanCasaCum, + *!* cu care am apelat deja creeaza_cursor_bancasa inainte sa intru in formular + Thisform.grid1.salveaza_grid() + Thisform.ck_bancasa.tabela = [vbancasa_val_] + Alltrim(Thisform.ccont) + Iif(tnOptiune=1,[],[_CUM]) + creeaza_cursor_bancasa(Thisform.ccont,tnOptiune==2) + Thisform.grid1.incarca_grid() + Thisform.do_cauta() + ENDPROC + + PROCEDURE do_reset + Thisform.ck_bancasa.Value=0 + Thisform.ck_dataact.Value=0 + DODEFAULT() + ENDPROC + + PROCEDURE do_sterge + *!* sele casban + *!* SCAT FIEL COD MEMV + + *!* IF !USED('actjur') + *!* USE &gcdate\act IN 0 AGAIN ALIAS actjur + *!* SELECT actjur + *!* ENDIF + + *!* *!* SELECT act.cod_fiscal,act.nume_3,act.nume_4,act.suma_2,act.suma_3,; + *!* *!* ACT.COD,ACT.DATAACT,ACT.NRACT,ACT.DATAIREG,ACT.NUME,ACT.NUME_2,ACT.EXPLICATIA,; + *!* *!* ACT.SCC,ACT.SCD,ACT.FDOC,ACT.SUMA,act.pereche,act.datascad,act.nume_5,act.util,act.utils,act.dataora,act.dataoras,; + *!* *!* act.nresp,act.dst_chlt,act.nrord; + *!* *!* FROM ACT; + *!* *!* where deleted(); + *!* *!* INTO CURSOR ACTACTAN order by dataireg + + *!* *!* OJ=CREA('AFISJUR') + *!* *!* OJ.stergere + *!* *!* OJ.RELEASE + + *!* lncod=m.cod + *!* STERGE_DIN_FISIERE(.t.,lnCod) + + *!* IF USED('actactan') + *!* USE IN actactan + *!* ENDIF + *!* IF USED('actjur') + *!* USE IN actjur + *!* ENDIF + + *!* IF buton=2 + *!* RETURN + *!* ENDIF + + *!* DO save_grid WITH thisform.Grid1 + + *!* sele casa + *!* loca for cod=-1 + *!* if !found() + *!* appe blan + *!* repl cod with -1 + *!* endif + *!* repl scc with '' + *!* repl scd with '' + + *!* *!* select BAL + *!* *!* loca for left(cont,4)='5311' + *!* *!* SCATTER MEMVAR + + *!* IF USED('AAA') + *!* USE IN AAA + *!* ENDIF + + *!* SELECT COD,DATAIREG,casa,INCASARI,PLATI,SCD,SCC,ALLTRIM(STR(COD))+ALLTRIM(casa) as zz FROM casa INTO CURSOR aaa order by dataireg + + *!* SELECT aaa + *!* TOTAL TO &loc\&nfscurt\tempo\tb ON zz fields incasari,plati + + *!* USE &loc\&nfscurt\tempo\tb IN 0 ALIAS tb + *!* SELECT tb + + *!* SELECT DISTINCT t.*,a.fdoc,a.dataact,a.nract,a.NUME from tb t LEFT JOIN act a ON t.cod=a.cod ; + *!* where inlist('5311',a.scc,a.scd) or t.cod=-1 ; + *!* INTO CURSOR casban + *!* USE IN tb + *!* + *!* sele casban + *!* INDEX ON CASA+STR(DAY(DATAIREG)) TAG CASADATA OF &LOC\&NFSCURT\TEMPO\CASBAN + *!* INDEX ON DATAireg TAG DATAireg OF &LOC\&NFSCURT\TEMPO\CASBAN + + + *!* DO restore_grid WITH thisform.Grid1 + + *!* *DO MESAJ WITH 'Modificarile vor fi vizibile','dupa redeschiderea Reg. de Casa' + ENDPROC + + PROCEDURE do_termin + THIS.BUT_STArt_criterii1.RESETstatus() + DODEFAULT() + ENDPROC + + PROCEDURE Init + LPARAMETERS tcCont, tlArataInregOperator, tlAfisareTot + * tlAfisareTot = .T. daca se afiseaza toate inregistrarile la intrarea in formular + *!* tlArataInregOperator - .T. se arata doar inregistrarile operatorului + + thisform.lArataInregOperator = tlArataInregOperator + This.lAfisareTot = m.tlAfisareTot + + Thisform.ccont = Alltrim(tcCont) + Thisform.ck_BANCASA.tabela = [vbancasa_] + Alltrim(tcCont) + + If Inlist(Thisform.ccont, '5314','5124') + Thisform.opt_defalcat.Visible = .T. + Thisform.opt_defalcat.Value = IIF(glBanCasaCum,2,1) + Endif + + Private pcbanca,pccec,pccasa,pnincasari,pnplati,pndifrul,pntdif,pnsuma1,pnincasarival,pnplatival,pndifrulval,pntdifval + Store 0 To pnincasari,pnplati,pndifrul,pntdif,pnsuma1,pnincasarival,pnplatival,pndifrulval,pntdifval + + Store "" To pcbanca,pccec,pccasa + + * Afisez toate inregistrarile cand intru pentru banca/casa. Sunt putine + IF this.lAfisareTot + This.do_reset() && afisarea tuturor inregistrarilor + ENDIF + + Thisform.WindowState=2 + DoDefault() + + ENDPROC + + PROCEDURE listare_chitanta + LPARAMETERS tlToataSelectia + * tlToataSelectia: .T. = se listeaza chitante pentru toata selectia, .F. se listeaza doar chitanta de pe inregistrarea curenta + Local lcCursor, lcConditie, lnCod, lnRecno + + lcCursor = Thisform.grid1.RecordSource + Select (lcCursor) + lnCod = cod + lnRecno = RECNO() + lcConditie = IIF(m.tlToataSelectia, [incasari<>0], [cod = ] + ALLTRIM(STR(m.lnCod))) + llSilent = .F. + IF m.tlToataSelectia + llSilent = (AMESSAGEBOX('Listare silentioasa la imprimanta implicita (Da) sau previzualizati fiecare chitanta (Nu)?',4+32,_Screen.Caption) = 6) && listare silentioasa cand se listeaza toata selectia + ENDIF + If Reccount(lcCursor) > 0 + Select (lcCursor) + SCAN FOR &lcConditie + lnCod = &lcCursor..cod + lnNract = nract + WAIT WINDOW 'Relistare chitanta ' + ALLTRIM(STR(m.lnNract)) NOWAIT + relisteaza_chitanta(m.lnCod, m.llSilent) + ENDSCAN + SELECT (m.lcCursor) + TRY + GOTO m.lnRecno + CATCH + GO TOP IN (m.lcCursor) + ENDTRY + Endif + ENDPROC + + PROCEDURE listare_dispozitie + Lparameters tcPagina, tlToataSelectia + *** tcPagina: A4/A5 + + Local lcPagina, lcSelect + Local lcConditie, lcExplicatia, lcRegComert, lnCod, lnRecno + Private pcSerie, pcNumar, pcFunctie, pcSumaLitere, pnSuma, pdDataact, pnNrAct, pcNumeValuta + Private pcExplic, pcExplic2, pcExplicatie, pcNume, pcScop, pcTip + *:Global gnButon + Store '' To m.pcSerie, m.pcNumar, m.pcFunctie, m.pcSumaLitere, m.pcExplic, m.pcExplic2, m.pcExplicatie, m.pcNume, m.pcScop, m.pcTip + Store 0 To m.pnSuma, m.pnNrAct + Store {} To m.pdDataact + m.lcSelect = Select() + + m.lcPagina = Iif(!Empty(m.tcPagina), Upper(Transform(m.tcPagina)), 'A4') + + Select casban + lnRecno = Recno() + lnCod = cod + lcConditie = Iif(m.tlToataSelectia, [.T.], [cod = ] + Alltrim(Str(m.lnCod))) + Scan For &lcConditie + m.pcExplicatie = 'Responsabil' + m.pcScop = '' + m.pcNume = Alltrim(Nvl(nume, '')) + m.pdDataact = Nvl(dataact, {}) + m.pnNrAct = Nvl(nract, 0) + lcExplicatia = Alltrim(explicatia) + m.pcNumeValuta = Alltrim(Nvl(numeval,'')) + lcRegComert = Alltrim(Nvl(reg_comert, '')) + * Primele caractere sunt seria, cifrele sunt numarul cartii de identitate + Do While .T. + If Isalpha(m.lcRegComert) + m.pcSerie = m.pcSerie + Left(m.lcRegComert,1) + m.lcRegComert = Substr(m.lcRegComert,2) + Else + m.pcNumar = m.lcRegComert + Exit + Endif + Enddo && .T. + + + If (casban.incasval <> 0) + m.pnSuma = incasval + m.pcTip = 'INCASARE' + m.pcExplic = 'incasarii' + m.pcExplic2 = 'Incasat' + Else + m.pnSuma = platival + m.pcTip = 'PLATA' + m.pcExplic = 'platii' + m.pcExplic2 = 'Platit' + Endif + + m.pcSumaLitere = suma_in_vorbe(m.pnSuma, pcNumeValuta) + + gnButon = 1 + If !Pemstatus(This, 'cScop', 5) + AddProperty(This, 'cScop', pcScop) + AddProperty(This, 'cFunctie', pcFunctie) + *!* ADDPROPERTY(This, 'cSerie', pcSerie) + *!* ADDPROPERTY(This, 'cNumar', pcNumar) + Endif + pcScop = Iif(!Empty(m.lcExplicatia), m.lcExplicatia, This.cScop) + pcFunctie = This.cFunctie + *!* pcSerie = This.cSerie + *!* pcNumar = This.cNumar + + Do Form datedisp542 + + This.cScop = pcScop + This.cFunctie = pcFunctie + *!* This.cSerie = pcSerie + *!* This.cNumar = pcNumar + + If gnButon = 1 + Select casban + + Create Cursor crscasban (nract N(20), suma N(16, 2), dataact d) + Select crscasban + Append Blank + Replace suma With m.pnSuma, nract With m.pnNrAct, dataact With m.pdDataact + + + Thisform.AlwaysOnTop = .F. + * goExport.export2frx([crscasban], Iif(m.lcPagina = 'A4', [dispozitie542], [dispozitie542_a5])) + goExport.export2frx([crscasban], Iif(m.lcPagina = 'A4', [dispozitie542], [dispozitie542_a5]), .F., , , , , .T., , ) + Thisform.AlwaysOnTop = .T. + Endif + + Use In (Select('crscasban')) + Endscan && casaban + Release m.pcSerie, m.pcNumar, m.pcFunctie, m.pcSumaLitere, m.pnSuma, m.pdDataact, m.pnNrAct + + Select (m.lcSelect) + + ENDPROC + + PROCEDURE notacontab + Private pcselect,pcfiltru,pcschema,pcorder,llAfisare,poact,pcnume + Store "" To poact,pcnume + Store .F. To llAfisare + Select casban + pcnume = NVL(nume, '') + pcschema=['ID_ACT N(20),LUNA N(2),AN N(4),COD N(20),DATAIREG D,nract N(20),DATAACT D,'+]+; + ['EXPLICATIA C(100),SCD C(4),ASCD C(4),SCC C(4),ASCC C(4),SUMA N(19,2),PERECHED N(14),'+]+; + ['PERECHEC N(14),SUMA_VAL N(19,2),NUME_VAL C(5),CURS N(8,2),DATASCAD D,NEIMPOZAB N(19,2),'+]+; + ['NNIR N(10),ID_UTIL N(5),UTIL C(30),DATAORA T,ID_UTILS N(5),UTILS C(30),DATAORAS T,'+]+; + ['ID_RESPONSABIL N(5),NRESP C(30),ID_VENCHELT N(5),DST_CHLT C(100),ID_LUCRARE N(5),NRORD C(30),ID_SECTIE N(5),'+]+; + ['SECTIE C(30),PROC_TVA N(5,2),ID_SET N(20),ID_FACT N(20),ID_PARTD N(10),PARTD C(50),ID_PARTC N(10),'+]+; + ['PARTC C(50),ID_SUCURSALA N(5),SUCURSALA C(50),ID_FDOC N(5),FDOC C(30),'+]+; + ['EXPLICATIA4 C(100),EXPLICATIA5 C(100),ID_GESTD N(5),GESTD C(50),ID_GESTC N(5),GESTC C(50)'] + pcschema=[''] + pcselect=['select * from ]+gcS+[.vact where 2=2'] + pcfiltru=[luna=]+Alltrim(Str(gnLuna))+[ and an=]+Alltrim(Str(gnAn))+; + [ and cod=]+Alltrim(Str(cod)) + pcorder=[dataact,serie_act,nract] + gencursor("poact","acn1",pcselect,pcfiltru,pcschema,pcorder,llAfisare) + poact.ca_baza1.afisare() + + Thisform.but_termin1.Enabled=.F. + Select acn1 + Do nrord With "ACN1" + GO TOP + *!* ORC=Createobj("AFDEBCRED") + *!* ORC.LABELTITLU.Caption="NOTA CONTABILA" + *!* ORC.ali = 'act' + *!* ORC.Show(1) + Thisform.AlwaysOnTop = .F. + ORC=Createobj("frm_debcred") + ORC.Lb_titlu_alb_b121.Caption="Nota contabila "+Alltrim(pcnume) + ORC.lb_titlu1.Caption="NOTA CONTABILA" + ORC._grdbase1.RemoveObject("cUtil") + ORC._grdbase1.RemoveObject("cDataOra") + ORC.Show(1) + Thisform.but_termin1.Enabled=.T. + Thisform.AlwaysOnTop = .T. + Use In (SELECT('acn1')) + Release ORC,poact + *Thisform.actualizeaza_grid1() + ENDPROC + + PROCEDURE But_reset_criterii1.Click + thisform.nIdBancasa = 0 + DODEFAULT() + ENDPROC + + PROCEDURE But_start_criterii1.loadcriterii + PARAMETERS tacriterii + EXTERNAL ARRAY tacriterii + #define crlf CHR(13)+CHR(10) + *!* lcStringCriterii= thisform.ck_bancasa.Caption + "\" + thisform.ck_bancasa.camp_nume + *!* lcstringcriterii=lcstringcriterii + "\T\none\" + crlf + ; + *!* "Nr. act\nract\N\none\" + crlf + ; + *!* "Data act\dataact\D\none\" + crlf + ; + *!* "Data inregistrarii\dataireg\D\none\" + crlf + ; + *!* "Fel document\fdoc\T\none\" + crlf + ; + *!* "Lucrare\nrord\T\none\" + crlf + ; + *!* "Explicatia\nume\T\none\" + crlf + ; + *!* "Incasari\incasari\N\none\" + crlf + ; + *!* "Plati\plati\N\none\" + crlf + ; + *!* "Cont debitor\scd\T\none\" + crlf + ; + *!* "Cont creditor\scc\T\none\" + crlf + ; + *!* "Responsabil\nresp\T\none\" + lcstringcriterii= "Nr. act\nract\N\none\" + crlf + ; + "Fel document\fdoc\T\ID_FDOC\nom_feldoc" + crlf + ; + "Lucrare\nrord\T\ID_LUCRARE\nom_lucrare" + crlf + ; + "Explicatia\nume\T\none\" + crlf + ; + "Incasari\incasari\N\none\" + crlf + ; + "Incasari valuta\incasval\N\none\" + crlf + ; + "Plati\plati\N\none\" + crlf + ; + "Plati valuta\platival\N\none\" + crlf + ; + "Cont debitor\scd\T\none\" + crlf + ; + "Analitic debitor\ascd\T\none\" + crlf + ; + "Cont creditor\scc\T\none\" + crlf + ; + "Analitic creditor\ascc\T\none\" + crlf + ; + "Valuta\numeval\T\id_valuta\nom_valute" + crlf + ; + "Responsabil\nresp\T\ID_RESPONSABIL\nom_parenteri" + ; + Iif(glEMama,crlf+"Sucursala\sucursala\T\none","") + DODEFAULT() + ENDPROC + + PROCEDURE cboBanca.DropDown + This.FontName= "Courier New" + + ENDPROC + + PROCEDURE cboBanca.Init + DODEFAULT() + IF USED('cCasbanListaTemp') + GO TOP IN cCasbanListaTemp + thisform.nIdBancasa = cCasbanListaTemp.id_bancasa + ENDIF + ENDPROC + + PROCEDURE cboBanca.Valid + * cand deschid lista, pun Courier New ca sa fie aliniate soldurile la dreapta + * cand inchid lista pe valid, pun la loc Arial + This.FontName = "Arial" + Thisform.do_cauta(.T.) + ENDPROC + + PROCEDURE Ck_bancasa.InteractiveChange + LOCAL lcCont, lcTitlu, llToateIreg, loCauta + + WITH THIS + .filtru = "" + .filtru_vfp = "" + IF .VALUE = 0 + RETURN + ENDIF + ENDWITH + + lcCont = THISFORM.nrcont + lcTitlu = THISFORM.lb_titlu_alb_b121.CAPTION + llToateIreg = .F. + + loCauta = caut_parteneri( lcCont , lcTitlu, llToateIreg) + lcNume = ALLTRIM(loCauta.denumire) + lnIdPart = loCauta.id_part + WITH THIS + IF !EMPTY(lcNume) AND !EMPTY(lnIdPart) + .cvaloare1 = lcNume + *.filtru = [ AND UPPER(SUBSTR(]+ALLTRIM(.camp_nume)+[,1,]+ALLTRIM(STR(LEN(.cvaloare1)))+[))=']+.cvaloare1+['] + .filtru = [ AND id_bancasa = ] + ALLTRIM(STR(lnIdPart)) + .filtru_vfp = [ AND id_bancasa = ] + ALLTRIM(STR(lnIdPart)) + .cTraducere = this.caption + " este " + ALLTRIM(NVL(.cvaloare1,"")) + ELSE + .cvaloare1 = "" + .filtru = "" + .VALUE = 0 + .cTraducere = "" + ENDIF + + IF THIS.VALUE = 0 + .cvaloare1 = "" + .filtru = "" + .VALUE = 0 + .cTraducere = "" + ENDIF + + ENDWITH + + thisform.do_cauta() + thisform.but_start_criterii1.refreshstatus() + + ENDPROC + + PROCEDURE Ck_dataact.InteractiveChange + DODEFAULT() + thisform.do_cauta() + thisform.but_start_criterii1.refreshstatus() + ENDPROC + + PROCEDURE Grid1.cbancasa.Text1.DblClick + If nrcrt=2 + Thisform.butdrept() + Endif + ENDPROC + + PROCEDURE Grid1.cbancasa.Text1.RightClick + thisform.clickdreapta() + ENDPROC + + PROCEDURE Grid1.cCurs.Text1.DblClick + If nrcrt=2 + Thisform.butdrept() + Endif + ENDPROC + + PROCEDURE Grid1.cCurs.Text1.RightClick + do editscurt.mpr + ENDPROC + + PROCEDURE Grid1.cDataact.Text1.DblClick + If nrcrt=2 + Thisform.butdrept() + Endif + ENDPROC + + PROCEDURE Grid1.cDataact.Text1.RightClick + thisform.clickdreapta() + ENDPROC + + PROCEDURE Grid1.cDataIreg.Text1.DblClick + If nrcrt=2 + Thisform.butdrept() + Endif + ENDPROC + + PROCEDURE Grid1.cExplicatia.Text1.DblClick + If nrcrt=2 + Thisform.butdrept() + Endif + ENDPROC + + PROCEDURE Grid1.cExplicatia.Text1.RightClick + thisform.clickdreapta() + ENDPROC + + PROCEDURE Grid1.cFdoc.Text1.DblClick + If nrcrt=2 + Thisform.butdrept() + Endif + ENDPROC + + PROCEDURE Grid1.cFdoc.Text1.RightClick + thisform.clickdreapta() + ENDPROC + + PROCEDURE Grid1.cIncasari.Text1.DblClick + If nrcrt=2 + Thisform.butdrept() + Endif + ENDPROC + + PROCEDURE Grid1.cIncasari.Text1.RightClick + thisform.clickdreapta() + ENDPROC + + PROCEDURE Grid1.cIncasVal.Text1.DblClick + If nrcrt=2 + Thisform.butdrept() + Endif + ENDPROC + + PROCEDURE Grid1.cIncasVal.Text1.RightClick + do editscurt.mpr + ENDPROC + + PROCEDURE Grid1.cNract.Text1.DblClick + If nrcrt=2 + Thisform.butdrept() + Endif + ENDPROC + + PROCEDURE Grid1.cNract.Text1.RightClick + thisform.clickdreapta() + ENDPROC + + PROCEDURE Grid1.cNresp.Text1.DblClick + If nrcrt=2 + Thisform.butdrept() + Endif + ENDPROC + + PROCEDURE Grid1.cNrord.Text1.DblClick + If nrcrt=2 + Thisform.butdrept() + Endif + ENDPROC + + PROCEDURE Grid1.cNumeVal.Text1.DblClick + If nrcrt=2 + Thisform.butdrept() + Endif + ENDPROC + + PROCEDURE Grid1.Column13.Text1.DblClick + If nrcrt=2 + Thisform.butdrept() + Endif + ENDPROC + + PROCEDURE Grid1.Column13.Text1.RightClick + do editscurt.mpr + ENDPROC + + PROCEDURE Grid1.cPereche.Text1.DblClick + If nrcrt=2 + Thisform.butdrept() + Endif + ENDPROC + + PROCEDURE Grid1.cPlati.Text1.DblClick + If nrcrt=2 + Thisform.butdrept() + Endif + ENDPROC + + PROCEDURE Grid1.cPlati.Text1.RightClick + thisform.clickdreapta() + ENDPROC + + PROCEDURE Grid1.cPlatiVal.Text1.DblClick + If nrcrt=2 + Thisform.butdrept() + Endif + ENDPROC + + PROCEDURE Grid1.cPlatiVal.Text1.RightClick + do editscurt.mpr + ENDPROC + + PROCEDURE Grid1.cScc.Text1.DblClick + If nrcrt=2 + Thisform.butdrept() + Endif + ENDPROC + + PROCEDURE Grid1.cScc.Text1.RightClick + do editscurt.mpr + ENDPROC + + PROCEDURE Grid1.cScd.Text1.DblClick + If nrcrt=2 + Thisform.butdrept() + Endif + ENDPROC + + PROCEDURE Grid1.cScd.Text1.RightClick + do editscurt.mpr + ENDPROC + + PROCEDURE opt_defalcat.InteractiveChange + Thisform.do_modifica_defalcare(This.Value) + ENDPROC + + PROCEDURE Text1.Refresh + *THIS.FORECOLOR=IIF(TPLATI>=0, RGB(0,0,0), RGB(255,0,0)) + ENDPROC + + PROCEDURE Text10.Refresh + *THIS.FORECOLOR=IIF(TINCASARI>=0, RGB(0,0,0), RGB(255,0,0)) + ENDPROC + + PROCEDURE Text2.Refresh + *THIS.FORECOLOR=IIF(TINCASARI-TPLATI>=0, RGB(0,0,0), RGB(255,0,0)) + ENDPROC + + PROCEDURE Text3.Refresh + *THIS.FORECOLOR=IIF(TINCASARI>=0, RGB(0,0,0), RGB(255,0,0)) + ENDPROC + + PROCEDURE Text4.Refresh + *THIS.FORECOLOR=IIF(TINCASARI>=0, RGB(0,0,0), RGB(255,0,0)) + ENDPROC + + PROCEDURE Text5.Refresh + *THIS.FORECOLOR=IIF(TPLATI>=0, RGB(0,0,0), RGB(255,0,0)) + ENDPROC + + PROCEDURE Text6.Refresh + *THIS.FORECOLOR=IIF(TINCASARI-TPLATI>=0, RGB(0,0,0), RGB(255,0,0)) + ENDPROC + + PROCEDURE Text7.GotFocus + *!* IF bdataact==.F. THEN + *!* m.dataact1="" + *!* ENDIF + *!* THIS.REFRESH + ENDPROC + + PROCEDURE Text8.GotFocus + *!* if bdataact==.f. then + *!* m.dataact2="" + *!* endif + *!* this.refresh + ENDPROC + + PROCEDURE Text9.Refresh + *THIS.FORECOLOR=IIF(TINCASARI>=0, RGB(0,0,0), RGB(255,0,0)) + ENDPROC + +ENDDEFINE + +DEFINE CLASS verificare AS formtermin OF "baza.vcx" && La stergerea setului de note contabile din registrul jurnal. + *< CLASSDATA: Baseclass="form" Timestamp="" Scale="Pixels" Uniqueid="" /> + + *-- OBJECTDATA items order determines ZOrder / El orden de los items OBJECTDATA determina el ZOrder + *< OBJECTDATA: ObjPath="Precedent1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="Blocbuton1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="Blocbuton1.Da1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="Blocbuton1.Nu1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="Grid1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="Grid1.Column1.Header1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="Grid1.Column1.Text1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="Grid1.Column2.Header2" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="Grid1.Column2.Text1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="Grid1.Column3.Header3" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="Grid1.Column3.Text1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="Grid1.Column4.Header4" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="Grid1.Column4.Text1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="Grid1.Column5.Header5" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="Grid1.Column5.Text1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="Grid1.Column6.Header6" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="Grid1.Column6.Text1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="Grid1.Column7.Header7" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="Grid1.Column7.Text1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="Grid1.Column8.Header8" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="Grid1.Column8.Text1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="Grid1.Column9.Header9" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="Grid1.Column9.Text1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="Grid1.Column10.Header1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="Grid1.Column10.Text1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="Grid1.Column11.Header1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="Grid1.Column11.Text1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="Grid1.Column12.Header1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="Grid1.Column12.Text1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="Grid1.Column13.Header1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="Grid1.Column13.Text1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="Grid1.Column14.Header1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="Grid1.Column14.Text1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="Grid1.Column16.Header1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="Grid1.Column16.Text1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="Grid1.Column17.Header1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="Grid1.Column17.Text1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="Grid1.Column18.Header1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="Grid1.Column18.Text1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="Grid1.Column19.Header1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="Grid1.Column19.Text1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="Grid1.Column20.Header1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="Grid1.Column20.Text1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="Grid1.Column21.Header1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="Grid1.Column21.Text1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="Grid1.Column22.Header1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="Grid1.Column22.Text1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="Grid1.Column23.Header1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="Grid1.Column23.Text1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="Grid1.Column24.Header1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="Grid1.Column24.Text1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="Grid1.Column25.Header1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="Grid1.Column25.Text1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="Grid1.Column26.Header1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="Grid1.Column26.Text1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="Grid1.Column27.Header1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="Grid1.Column27.Text1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="Grid1.Column28.Header1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="Grid1.Column28.Text1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="Grid1.Column29.Header1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="Grid1.Column29.Text1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="Grid1.Column30.Header1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="Grid1.Column30.Text1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="Grid1.Column31.Header1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="Grid1.Column31.Text1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="Grid1.Column32.Header1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="Grid1.Column32.Text1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="Grid1.Column33.Header1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="Grid1.Column33.Text1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="Grid1.Column15.Header1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="Grid1.Column15.Text1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="Grid1.Column34.Header1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="Grid1.Column34.Text1" UniqueID="" Timestamp="" /> + + * + *m: aleg_ascc + *m: aleg_ascd + *m: verif_ascc + *m: verif_ascd + * + + * + BorderStyle = 1 + DataSession = 1 + DoCreate = .T. + Height = 329 + Name = "verificare" + Width = 666 + SHAPE1.Height = 36 + SHAPE1.Left = 0 + SHAPE1.Name = "SHAPE1" + SHAPE1.Top = 0 + SHAPE1.Width = 668 + TERMINAT1.COMMAND1.Name = "COMMAND1" + TERMINAT1.IMBUTON1.Height = 27 + TERMINAT1.IMBUTON1.Name = "IMBUTON1" + TERMINAT1.IMBUTON1.Width = 30 + TERMINAT1.Left = 634 + TERMINAT1.Name = "TERMINAT1" + TERMINAT1.Top = 2 + TERMINAT1.Visible = .F. + TITLUFRUMOS1.Caption = "STERGETI SETUL DE NOTE CONTABILE ?" + TITLUFRUMOS1.Height = 27 + TITLUFRUMOS1.Left = 7 + TITLUFRUMOS1.Name = "TITLUFRUMOS1" + TITLUFRUMOS1.Top = 5 + TITLUFRUMOS1.Width = 364 + * + + ADD OBJECT 'Blocbuton1' AS blocbuton WITH ; + Height = 37, ; + Left = 559, ; + Name = "Blocbuton1", ; + Top = -1, ; + Visible = .T., ; + Width = 110 + *< END OBJECT: ClassLib="baza.vcx" BaseClass="container" /> + + ADD OBJECT 'Blocbuton1.Da1' AS da WITH ; + Left = 55, ; + Name = "Da1", ; + Top = 4, ; + Imbuton1.Height = 27, ; + Imbuton1.Name = "Imbuton1", ; + Imbuton1.Width = 51, ; + Command1.Name = "Command1" + *< END OBJECT: ClassLib="baza.vcx" BaseClass="container" /> + + ADD OBJECT 'Blocbuton1.Nu1' AS nu WITH ; + Left = 4, ; + Name = "Nu1", ; + Top = 4, ; + Imbuton1.Height = 27, ; + Imbuton1.Name = "Imbuton1", ; + Imbuton1.Width = 51, ; + Command1.Name = "Command1" + *< END OBJECT: ClassLib="baza.vcx" BaseClass="container" /> + + ADD OBJECT 'Grid1' AS grid WITH ; + BackColor = 255,255,255, ; + ColumnCount = 34, ; + DeleteMark = .F., ; + FontCharSet = 238, ; + FontName = "Segoe UI", ; + FontSize = 10, ; + GridLineColor = 192,192,192, ; + GridLines = 3, ; + Height = 294, ; + Left = 0, ; + Name = "Grid1", ; + Panel = 1, ; + ReadOnly = .T., ; + RecordSource = "ACTACTAN", ; + RowHeight = 20, ; + TabIndex = 5, ; + Top = 35, ; + Width = 667, ; + ZOrderSet = 5, ; + Column1.Alignment = 1, ; + Column1.BackColor = 255,255,255, ; + Column1.ControlSource = "NRCRT()", ; + Column1.FontCharSet = 238, ; + Column1.FontName = "Segoe UI", ; + Column1.FontSize = 10, ; + Column1.Name = "Column1", ; + Column1.ReadOnly = .T., ; + Column1.Width = 42, ; + Column2.Alignment = 0, ; + Column2.BackColor = 255,255,255, ; + Column2.ColumnOrder = 3, ; + Column2.ControlSource = "DATAIREG", ; + Column2.FontCharSet = 238, ; + Column2.FontName = "Segoe UI", ; + Column2.FontSize = 10, ; + Column2.Name = "Column2", ; + Column2.ReadOnly = .T., ; + Column2.Width = 99, ; + Column3.Alignment = 0, ; + Column3.BackColor = 255,255,255, ; + Column3.ColumnOrder = 2, ; + Column3.ControlSource = "FDOC", ; + Column3.FontCharSet = 238, ; + Column3.FontName = "Segoe UI", ; + Column3.FontSize = 10, ; + Column3.Name = "Column3", ; + Column3.ReadOnly = .T., ; + Column3.Width = 109, ; + Column4.Alignment = 0, ; + Column4.BackColor = 255,255,255, ; + Column4.ColumnOrder = 4, ; + Column4.ControlSource = "DATAACT", ; + Column4.FontCharSet = 238, ; + Column4.FontName = "Segoe UI", ; + Column4.FontSize = 10, ; + Column4.Name = "Column4", ; + Column4.ReadOnly = .T., ; + Column4.Width = 99, ; + Column5.Alignment = 1, ; + Column5.BackColor = 255,255,255, ; + Column5.ColumnOrder = 5, ; + Column5.ControlSource = "NRACT", ; + Column5.FontCharSet = 238, ; + Column5.FontName = "Segoe UI", ; + Column5.FontSize = 10, ; + Column5.Name = "Column5", ; + Column5.ReadOnly = .T., ; + Column5.Width = 85, ; + Column6.Alignment = 0, ; + Column6.BackColor = 255,255,255, ; + Column6.ColumnOrder = 11, ; + Column6.ControlSource = "partd", ; + Column6.FontCharSet = 238, ; + Column6.FontName = "Segoe UI", ; + Column6.FontSize = 10, ; + Column6.Name = "Column6", ; + Column6.ReadOnly = .T., ; + Column6.Width = 143, ; + Column7.Alignment = 1, ; + Column7.BackColor = 255,255,255, ; + Column7.ColumnOrder = 6, ; + Column7.ControlSource = "SCD", ; + Column7.DynamicForeColor = "rgb(0,0,128)", ; + Column7.FontBold = .F., ; + Column7.FontCharSet = 238, ; + Column7.FontName = "Segoe UI", ; + Column7.FontSize = 10, ; + Column7.ForeColor = 0,0,128, ; + Column7.Name = "Column7", ; + Column7.ReadOnly = .T., ; + Column7.Width = 68, ; + Column8.Alignment = 1, ; + Column8.BackColor = 255,255,255, ; + Column8.ColumnOrder = 8, ; + Column8.ControlSource = "SCC", ; + Column8.DynamicForeColor = "rgb(0,0,128)", ; + Column8.FontBold = .F., ; + Column8.FontCharSet = 238, ; + Column8.FontName = "Segoe UI", ; + Column8.FontSize = 10, ; + Column8.Name = "Column8", ; + Column8.ReadOnly = .T., ; + Column8.Width = 71, ; + Column9.Alignment = 1, ; + Column9.BackColor = 255,255,255, ; + Column9.ColumnOrder = 10, ; + Column9.ControlSource = "SUMA", ; + Column9.DynamicForeColor = "IIF(SUMA>=0, RGB(0,0,0), RGB(255,0,0))", ; + Column9.FontBold = .F., ; + Column9.FontCharSet = 238, ; + Column9.FontName = "Segoe UI", ; + Column9.FontSize = 10, ; + Column9.Format = "r", ; + Column9.InputMask = (get_mask(12,gnPa)), ; + Column9.Name = "Column9", ; + Column9.ReadOnly = .T., ; + Column9.Width = 114, ; + Column10.Alignment = 0, ; + Column10.BackColor = 255,255,255, ; + Column10.ColumnOrder = 12, ; + Column10.ControlSource = "partc", ; + Column10.FontCharSet = 238, ; + Column10.FontName = "Segoe UI", ; + Column10.FontSize = 10, ; + Column10.Name = "Column10", ; + Column10.ReadOnly = .T., ; + Column10.Width = 142, ; + Column11.Alignment = 0, ; + Column11.BackColor = 255,255,255, ; + Column11.ColumnOrder = 13, ; + Column11.ControlSource = "EXPLICATIA", ; + Column11.FontCharSet = 238, ; + Column11.FontName = "Segoe UI", ; + Column11.FontSize = 10, ; + Column11.Name = "Column11", ; + Column11.ReadOnly = .T., ; + Column11.Width = 95, ; + Column12.BackColor = 255,255,255, ; + Column12.ColumnOrder = 29, ; + Column12.ControlSource = "COD", ; + Column12.FontCharSet = 238, ; + Column12.FontName = "Segoe UI", ; + Column12.FontSize = 10, ; + Column12.Name = "Column12", ; + Column12.ReadOnly = .T., ; + Column12.Width = 93, ; + Column13.BackColor = 255,255,255, ; + Column13.ColumnOrder = 17, ; + Column13.ControlSource = "pereched", ; + Column13.FontCharSet = 238, ; + Column13.FontName = "Segoe UI", ; + Column13.FontSize = 10, ; + Column13.Name = "Column13", ; + Column13.ReadOnly = .T., ; + Column13.Width = 95, ; + Column14.BackColor = 255,255,255, ; + Column14.ColumnOrder = 20, ; + Column14.ControlSource = "explicatia4", ; + Column14.FontCharSet = 238, ; + Column14.FontName = "Segoe UI", ; + Column14.FontSize = 10, ; + Column14.Name = "Column14", ; + Column14.ReadOnly = .T., ; + Column14.Width = 132, ; + Column15.BackColor = 255,255,255, ; + Column15.ColumnOrder = 22, ; + Column15.ControlSource = "suma_val", ; + Column15.FontCharSet = 238, ; + Column15.FontName = "Segoe UI", ; + Column15.FontSize = 10, ; + Column15.Format = "r", ; + Column15.InputMask = (get_mask(12,gnPval)), ; + Column15.Name = "Column16", ; + Column15.ReadOnly = .T., ; + Column16.BackColor = 255,255,255, ; + Column16.ColumnOrder = 23, ; + Column16.ControlSource = "curs", ; + Column16.FontCharSet = 238, ; + Column16.FontName = "Segoe UI", ; + Column16.FontSize = 10, ; + Column16.Format = "r", ; + Column16.InputMask = (get_mask(12,gnPcurs)), ; + Column16.Name = "Column17", ; + Column16.ReadOnly = .T., ; + Column17.BackColor = 255,255,255, ; + Column17.ColumnOrder = 28, ; + Column17.ControlSource = "proc_tva", ; + Column17.FontCharSet = 238, ; + Column17.FontName = "Segoe UI", ; + Column17.FontSize = 10, ; + Column17.InputMask = "999.99", ; + Column17.Name = "Column18", ; + Column17.ReadOnly = .T., ; + Column17.Width = 86, ; + Column18.BackColor = 255,255,255, ; + Column18.ColumnOrder = 19, ; + Column18.ControlSource = "datascad", ; + Column18.FontCharSet = 238, ; + Column18.FontName = "Segoe UI", ; + Column18.FontSize = 10, ; + Column18.Name = "Column19", ; + Column18.ReadOnly = .T., ; + Column18.Visible = .T., ; + Column18.Width = 100, ; + Column19.BackColor = 255,255,255, ; + Column19.ColumnOrder = 21, ; + Column19.ControlSource = "explicatia5", ; + Column19.FontCharSet = 238, ; + Column19.FontName = "Segoe UI", ; + Column19.FontSize = 10, ; + Column19.Name = "Column20", ; + Column19.ReadOnly = .T., ; + Column19.Width = 128, ; + Column20.BackColor = 255,255,255, ; + Column20.ColumnOrder = 31, ; + Column20.ControlSource = "util", ; + Column20.FontCharSet = 238, ; + Column20.FontName = "Segoe UI", ; + Column20.FontSize = 10, ; + Column20.Name = "Column21", ; + Column20.ReadOnly = .T., ; + Column20.Width = 129, ; + Column21.BackColor = 255,255,255, ; + Column21.ColumnOrder = 32, ; + Column21.ControlSource = "dataora", ; + Column21.FontCharSet = 238, ; + Column21.FontName = "Segoe UI", ; + Column21.FontSize = 10, ; + Column21.Name = "Column22", ; + Column21.ReadOnly = .T., ; + Column21.Width = 131, ; + Column22.BackColor = 255,255,255, ; + Column22.ColumnOrder = 33, ; + Column22.ControlSource = "utils", ; + Column22.FontCharSet = 238, ; + Column22.FontName = "Segoe UI", ; + Column22.FontSize = 10, ; + Column22.Name = "Column23", ; + Column22.ReadOnly = .T., ; + Column22.Width = 111, ; + Column23.BackColor = 255,255,255, ; + Column23.ColumnOrder = 34, ; + Column23.ControlSource = "dataoras", ; + Column23.FontCharSet = 238, ; + Column23.FontName = "Segoe UI", ; + Column23.FontSize = 10, ; + Column23.Name = "Column24", ; + Column23.ReadOnly = .T., ; + Column23.Width = 113, ; + Column24.BackColor = 255,255,255, ; + Column24.ColumnOrder = 25, ; + Column24.ControlSource = "nresp", ; + Column24.FontCharSet = 238, ; + Column24.FontName = "Segoe UI", ; + Column24.FontSize = 10, ; + Column24.Name = "Column25", ; + Column24.ReadOnly = .T., ; + Column24.Width = 120, ; + Column25.BackColor = 255,255,255, ; + Column25.ColumnOrder = 26, ; + Column25.ControlSource = "dst_chlt", ; + Column25.FontCharSet = 238, ; + Column25.FontName = "Segoe UI", ; + Column25.FontSize = 10, ; + Column25.Name = "Column26", ; + Column25.ReadOnly = .T., ; + Column26.BackColor = 255,255,255, ; + Column26.ColumnOrder = 14, ; + Column26.ControlSource = "nrord", ; + Column26.FontCharSet = 238, ; + Column26.FontName = "Segoe UI", ; + Column26.FontSize = 10, ; + Column26.Name = "Column27", ; + Column26.ReadOnly = .T., ; + Column26.Width = 119, ; + Column27.BackColor = 255,255,255, ; + Column27.ColumnOrder = 16, ; + Column27.ControlSource = "nnir", ; + Column27.FontCharSet = 238, ; + Column27.FontName = "Segoe UI", ; + Column27.FontSize = 10, ; + Column27.Name = "Column28", ; + Column27.ReadOnly = .T., ; + Column27.Width = 107, ; + Column28.BackColor = 255,255,255, ; + Column28.ColumnOrder = 27, ; + Column28.ControlSource = "sectie", ; + Column28.FontCharSet = 238, ; + Column28.FontName = "Segoe UI", ; + Column28.FontSize = 10, ; + Column28.Name = "Column29", ; + Column28.ReadOnly = .T., ; + Column28.Width = 113, ; + Column29.BackColor = 255,255,255, ; + Column29.ColumnOrder = 24, ; + Column29.ControlSource = "neimpozab", ; + Column29.FontCharSet = 238, ; + Column29.FontName = "Segoe UI", ; + Column29.FontSize = 10, ; + Column29.InputMask = (get_mask(12,gnPa)), ; + Column29.Name = "Column30", ; + Column29.ReadOnly = .T., ; + Column29.Width = 90, ; + Column30.BackColor = 242,255,255, ; + Column30.ColumnOrder = 7, ; + Column30.ControlSource = "ascd", ; + Column30.DynamicBackColor = "rgb(242,255,255)", ; + Column30.FontCharSet = 238, ; + Column30.FontName = "Segoe UI", ; + Column30.FontSize = 10, ; + Column30.Format = "r", ; + Column30.InputMask = "xxxx", ; + Column30.Name = "Column31", ; + Column30.ReadOnly = .T., ; + Column30.Width = 59, ; + Column31.BackColor = 242,255,255, ; + Column31.ColumnOrder = 9, ; + Column31.ControlSource = "ascc", ; + Column31.DynamicBackColor = "rgb(242,255,255)", ; + Column31.FontCharSet = 238, ; + Column31.FontName = "Segoe UI", ; + Column31.FontSize = 10, ; + Column31.Format = "r", ; + Column31.InputMask = "xxxx", ; + Column31.Name = "Column32", ; + Column31.ReadOnly = .T., ; + Column31.Width = 55, ; + Column32.BackColor = 255,255,255, ; + Column32.ColumnOrder = 18, ; + Column32.ControlSource = "perechec", ; + Column32.FontCharSet = 238, ; + Column32.FontName = "Segoe UI", ; + Column32.FontSize = 10, ; + Column32.Name = "Column33", ; + Column32.ReadOnly = .T., ; + Column32.Width = 112, ; + Column33.BackColor = 255,255,255, ; + Column33.ColumnOrder = 30, ; + Column33.ControlSource = "sucursala", ; + Column33.FontCharSet = 238, ; + Column33.FontName = "Segoe UI", ; + Column33.FontSize = 10, ; + Column33.Name = "Column15", ; + Column33.ReadOnly = .T., ; + Column33.Width = 174, ; + Column34.BackColor = 255,255,255, ; + Column34.ColumnOrder = 15, ; + Column34.ControlSource = "contract", ; + Column34.FontCharSet = 238, ; + Column34.FontName = "Segoe UI", ; + Column34.FontSize = 10, ; + Column34.Name = "Column34", ; + Column34.ReadOnly = .T., ; + Column34.Width = 99 + *< END OBJECT: BaseClass="grid" /> + + ADD OBJECT 'Grid1.Column1.Header1' AS header WITH ; + Alignment = 2, ; + Caption = "NrCrt", ; + FontCharSet = 238, ; + FontName = "Segoe UI", ; + FontSize = 10, ; + Name = "Header1" + *< END OBJECT: BaseClass="header" /> + + ADD OBJECT 'Grid1.Column1.Text1' AS textbox WITH ; + Alignment = 1, ; + BackColor = 255,255,255, ; + BorderStyle = 0, ; + FontCharSet = 238, ; + FontName = "Segoe UI", ; + FontSize = 10, ; + ForeColor = 0,0,0, ; + Margin = 0, ; + Name = "Text1", ; + ReadOnly = .T. + *< END OBJECT: BaseClass="textbox" /> + + ADD OBJECT 'Grid1.Column10.Header1' AS header WITH ; + Alignment = 2, ; + Caption = "Explicatia 2", ; + FontCharSet = 238, ; + FontName = "Segoe UI", ; + FontSize = 10, ; + Name = "Header1" + *< END OBJECT: BaseClass="header" /> + + ADD OBJECT 'Grid1.Column10.Text1' AS textbox WITH ; + Alignment = 0, ; + BackColor = 255,255,255, ; + BorderStyle = 0, ; + FontCharSet = 238, ; + FontName = "Segoe UI", ; + FontSize = 10, ; + ForeColor = 0,0,0, ; + Margin = 0, ; + Name = "Text1", ; + ReadOnly = .T. + *< END OBJECT: BaseClass="textbox" /> + + ADD OBJECT 'Grid1.Column11.Header1' AS header WITH ; + Alignment = 2, ; + Caption = "Explicatia 3", ; + FontCharSet = 238, ; + FontName = "Segoe UI", ; + FontSize = 10, ; + Name = "Header1" + *< END OBJECT: BaseClass="header" /> + + ADD OBJECT 'Grid1.Column11.Text1' AS textbox WITH ; + Alignment = 0, ; + BackColor = 255,255,255, ; + BorderStyle = 0, ; + FontCharSet = 238, ; + FontName = "Segoe UI", ; + FontSize = 10, ; + ForeColor = 0,0,0, ; + Margin = 0, ; + Name = "Text1", ; + ReadOnly = .T. + *< END OBJECT: BaseClass="textbox" /> + + ADD OBJECT 'Grid1.Column12.Header1' AS header WITH ; + Alignment = 2, ; + Caption = "COD", ; + FontCharSet = 238, ; + FontName = "Segoe UI", ; + FontSize = 10, ; + Name = "Header1" + *< END OBJECT: BaseClass="header" /> + + ADD OBJECT 'Grid1.Column12.Text1' AS textbox WITH ; + BackColor = 255,255,255, ; + BorderStyle = 0, ; + FontCharSet = 238, ; + FontName = "Segoe UI", ; + FontSize = 10, ; + ForeColor = 0,0,0, ; + Margin = 0, ; + Name = "Text1" + *< END OBJECT: BaseClass="textbox" /> + + ADD OBJECT 'Grid1.Column13.Header1' AS header WITH ; + Alignment = 2, ; + Caption = "Nr.doc.platit", ; + FontCharSet = 238, ; + FontName = "Segoe UI", ; + FontSize = 10, ; + Name = "Header1" + *< END OBJECT: BaseClass="header" /> + + ADD OBJECT 'Grid1.Column13.Text1' AS textbox WITH ; + BackColor = 255,255,255, ; + BorderStyle = 0, ; + FontCharSet = 238, ; + FontName = "Segoe UI", ; + FontSize = 10, ; + ForeColor = 0,0,0, ; + Margin = 0, ; + Name = "Text1" + *< END OBJECT: BaseClass="textbox" /> + + ADD OBJECT 'Grid1.Column14.Header1' AS header WITH ; + Alignment = 2, ; + Caption = "Explicatia 4", ; + FontCharSet = 238, ; + FontName = "Segoe UI", ; + FontSize = 10, ; + Name = "Header1" + *< END OBJECT: BaseClass="header" /> + + ADD OBJECT 'Grid1.Column14.Text1' AS textbox WITH ; + BackColor = 255,255,255, ; + BorderStyle = 0, ; + FontCharSet = 238, ; + FontName = "Segoe UI", ; + FontSize = 10, ; + ForeColor = 0,0,0, ; + Margin = 0, ; + Name = "Text1" + *< END OBJECT: BaseClass="textbox" /> + + ADD OBJECT 'Grid1.Column15.Header1' AS header WITH ; + Alignment = 2, ; + Caption = "Sucursala", ; + FontCharSet = 238, ; + FontName = "Segoe UI", ; + FontSize = 10, ; + Name = "Header1" + *< END OBJECT: BaseClass="header" /> + + ADD OBJECT 'Grid1.Column15.Text1' AS textbox WITH ; + BackColor = 255,255,255, ; + BorderStyle = 0, ; + FontCharSet = 238, ; + FontName = "Segoe UI", ; + FontSize = 10, ; + ForeColor = 0,0,0, ; + Margin = 0, ; + Name = "Text1" + *< END OBJECT: BaseClass="textbox" /> + + ADD OBJECT 'Grid1.Column16.Header1' AS header WITH ; + Alignment = 2, ; + Caption = "Suma 2", ; + FontCharSet = 238, ; + FontName = "Segoe UI", ; + FontSize = 10, ; + Name = "Header1" + *< END OBJECT: BaseClass="header" /> + + ADD OBJECT 'Grid1.Column16.Text1' AS textbox WITH ; + BackColor = 255,255,255, ; + BorderStyle = 0, ; + FontCharSet = 238, ; + FontName = "Segoe UI", ; + FontSize = 10, ; + ForeColor = 0,0,0, ; + Margin = 0, ; + Name = "Text1" + *< END OBJECT: BaseClass="textbox" /> + + ADD OBJECT 'Grid1.Column17.Header1' AS header WITH ; + Alignment = 2, ; + Caption = "Suma 3", ; + FontCharSet = 238, ; + FontName = "Segoe UI", ; + FontSize = 10, ; + Name = "Header1" + *< END OBJECT: BaseClass="header" /> + + ADD OBJECT 'Grid1.Column17.Text1' AS textbox WITH ; + BackColor = 255,255,255, ; + BorderStyle = 0, ; + FontCharSet = 238, ; + FontName = "Segoe UI", ; + FontSize = 10, ; + ForeColor = 0,0,0, ; + Margin = 0, ; + Name = "Text1" + *< END OBJECT: BaseClass="textbox" /> + + ADD OBJECT 'Grid1.Column18.Header1' AS header WITH ; + Alignment = 2, ; + Caption = "Procent TVA", ; + FontCharSet = 238, ; + FontName = "Segoe UI", ; + FontSize = 10, ; + Name = "Header1" + *< END OBJECT: BaseClass="header" /> + + ADD OBJECT 'Grid1.Column18.Text1' AS textbox WITH ; + BackColor = 255,255,255, ; + BorderStyle = 0, ; + FontCharSet = 238, ; + FontName = "Segoe UI", ; + FontSize = 10, ; + ForeColor = 0,0,0, ; + Margin = 0, ; + Name = "Text1" + *< END OBJECT: BaseClass="textbox" /> + + ADD OBJECT 'Grid1.Column19.Header1' AS header WITH ; + Alignment = 2, ; + Caption = "Data scadenta", ; + FontCharSet = 238, ; + FontName = "Segoe UI", ; + FontSize = 10, ; + Name = "Header1" + *< END OBJECT: BaseClass="header" /> + + ADD OBJECT 'Grid1.Column19.Text1' AS textbox WITH ; + BackColor = 255,255,255, ; + BorderStyle = 0, ; + FontCharSet = 238, ; + FontName = "Segoe UI", ; + FontSize = 10, ; + ForeColor = 0,0,0, ; + Margin = 0, ; + Name = "Text1", ; + Visible = .T. + *< END OBJECT: BaseClass="textbox" /> + + ADD OBJECT 'Grid1.Column2.Header2' AS header WITH ; + Alignment = 2, ; + Caption = "Data Inreg.", ; + FontCharSet = 238, ; + FontName = "Segoe UI", ; + FontSize = 10, ; + Name = "Header2" + *< END OBJECT: BaseClass="header" /> + + ADD OBJECT 'Grid1.Column2.Text1' AS textbox WITH ; + Alignment = 0, ; + BackColor = 255,255,255, ; + BorderStyle = 0, ; + FontCharSet = 238, ; + FontName = "Segoe UI", ; + FontSize = 10, ; + ForeColor = 0,0,0, ; + Margin = 0, ; + Name = "Text1", ; + ReadOnly = .T. + *< END OBJECT: BaseClass="textbox" /> + + ADD OBJECT 'Grid1.Column20.Header1' AS header WITH ; + Alignment = 2, ; + Caption = "Explicatia 5", ; + FontCharSet = 238, ; + FontName = "Segoe UI", ; + FontSize = 10, ; + Name = "Header1" + *< END OBJECT: BaseClass="header" /> + + ADD OBJECT 'Grid1.Column20.Text1' AS textbox WITH ; + BackColor = 255,255,255, ; + BorderStyle = 0, ; + FontCharSet = 238, ; + FontName = "Segoe UI", ; + FontSize = 10, ; + ForeColor = 0,0,0, ; + Margin = 0, ; + Name = "Text1" + *< END OBJECT: BaseClass="textbox" /> + + ADD OBJECT 'Grid1.Column21.Header1' AS header WITH ; + Alignment = 2, ; + Caption = "Operator introducere", ; + FontCharSet = 238, ; + FontName = "Segoe UI", ; + FontSize = 10, ; + Name = "Header1" + *< END OBJECT: BaseClass="header" /> + + ADD OBJECT 'Grid1.Column21.Text1' AS textbox WITH ; + BackColor = 255,255,255, ; + BorderStyle = 0, ; + FontCharSet = 238, ; + FontName = "Segoe UI", ; + FontSize = 10, ; + ForeColor = 0,0,0, ; + Margin = 0, ; + Name = "Text1" + *< END OBJECT: BaseClass="textbox" /> + + ADD OBJECT 'Grid1.Column22.Header1' AS header WITH ; + Alignment = 2, ; + Caption = "Data&ora introducerii", ; + FontCharSet = 238, ; + FontName = "Segoe UI", ; + FontSize = 10, ; + Name = "Header1" + *< END OBJECT: BaseClass="header" /> + + ADD OBJECT 'Grid1.Column22.Text1' AS textbox WITH ; + BackColor = 255,255,255, ; + BorderStyle = 0, ; + FontCharSet = 238, ; + FontName = "Segoe UI", ; + FontSize = 10, ; + ForeColor = 0,0,0, ; + Margin = 0, ; + Name = "Text1" + *< END OBJECT: BaseClass="textbox" /> + + ADD OBJECT 'Grid1.Column23.Header1' AS header WITH ; + Alignment = 2, ; + Caption = "Operator stergere", ; + FontCharSet = 238, ; + FontName = "Segoe UI", ; + FontSize = 10, ; + Name = "Header1" + *< END OBJECT: BaseClass="header" /> + + ADD OBJECT 'Grid1.Column23.Text1' AS textbox WITH ; + BackColor = 255,255,255, ; + BorderStyle = 0, ; + FontCharSet = 238, ; + FontName = "Segoe UI", ; + FontSize = 10, ; + ForeColor = 0,0,0, ; + Margin = 0, ; + Name = "Text1" + *< END OBJECT: BaseClass="textbox" /> + + ADD OBJECT 'Grid1.Column24.Header1' AS header WITH ; + Alignment = 2, ; + Caption = "Data&ora stergerii", ; + FontCharSet = 238, ; + FontName = "Segoe UI", ; + FontSize = 10, ; + Name = "Header1" + *< END OBJECT: BaseClass="header" /> + + ADD OBJECT 'Grid1.Column24.Text1' AS textbox WITH ; + BackColor = 255,255,255, ; + BorderStyle = 0, ; + FontCharSet = 238, ; + FontName = "Segoe UI", ; + FontSize = 10, ; + ForeColor = 0,0,0, ; + Margin = 0, ; + Name = "Text1" + *< END OBJECT: BaseClass="textbox" /> + + ADD OBJECT 'Grid1.Column25.Header1' AS header WITH ; + Alignment = 2, ; + Caption = "Responsabili", ; + FontCharSet = 238, ; + FontName = "Segoe UI", ; + FontSize = 10, ; + Name = "Header1" + *< END OBJECT: BaseClass="header" /> + + ADD OBJECT 'Grid1.Column25.Text1' AS textbox WITH ; + BackColor = 255,255,255, ; + BorderStyle = 0, ; + FontCharSet = 238, ; + FontName = "Segoe UI", ; + FontSize = 10, ; + ForeColor = 0,0,0, ; + Margin = 0, ; + Name = "Text1" + *< END OBJECT: BaseClass="textbox" /> + + ADD OBJECT 'Grid1.Column26.Header1' AS header WITH ; + Alignment = 2, ; + Caption = "Cheltuieli/Venituri", ; + FontCharSet = 238, ; + FontName = "Segoe UI", ; + FontSize = 10, ; + Name = "Header1" + *< END OBJECT: BaseClass="header" /> + + ADD OBJECT 'Grid1.Column26.Text1' AS textbox WITH ; + BackColor = 255,255,255, ; + BorderStyle = 0, ; + FontCharSet = 238, ; + FontName = "Segoe UI", ; + FontSize = 10, ; + ForeColor = 0,0,0, ; + Margin = 0, ; + Name = "Text1" + *< END OBJECT: BaseClass="textbox" /> + + ADD OBJECT 'Grid1.Column27.Header1' AS header WITH ; + Alignment = 2, ; + Caption = "Lucrare/Comanda", ; + FontCharSet = 238, ; + FontName = "Segoe UI", ; + FontSize = 10, ; + Name = "Header1" + *< END OBJECT: BaseClass="header" /> + + ADD OBJECT 'Grid1.Column27.Text1' AS textbox WITH ; + BackColor = 255,255,255, ; + BorderStyle = 0, ; + FontCharSet = 238, ; + FontName = "Segoe UI", ; + FontSize = 10, ; + ForeColor = 0,0,0, ; + Margin = 0, ; + Name = "Text1" + *< END OBJECT: BaseClass="textbox" /> + + ADD OBJECT 'Grid1.Column28.Header1' AS header WITH ; + Alignment = 2, ; + Caption = "Nr.NIR/Bon", ; + FontCharSet = 238, ; + FontName = "Segoe UI", ; + FontSize = 10, ; + Name = "Header1" + *< END OBJECT: BaseClass="header" /> + + ADD OBJECT 'Grid1.Column28.Text1' AS textbox WITH ; + BackColor = 255,255,255, ; + BorderStyle = 0, ; + FontCharSet = 238, ; + FontName = "Segoe UI", ; + FontSize = 10, ; + ForeColor = 0,0,0, ; + Margin = 0, ; + Name = "Text1" + *< END OBJECT: BaseClass="textbox" /> + + ADD OBJECT 'Grid1.Column29.Header1' AS header WITH ; + Alignment = 2, ; + Caption = "Sectie", ; + FontCharSet = 238, ; + FontName = "Segoe UI", ; + FontSize = 10, ; + Name = "Header1" + *< END OBJECT: BaseClass="header" /> + + ADD OBJECT 'Grid1.Column29.Text1' AS textbox WITH ; + BackColor = 255,255,255, ; + BorderStyle = 0, ; + FontCharSet = 238, ; + FontName = "Segoe UI", ; + FontSize = 10, ; + ForeColor = 0,0,0, ; + Margin = 0, ; + Name = "Text1" + *< END OBJECT: BaseClass="textbox" /> + + ADD OBJECT 'Grid1.Column3.Header3' AS header WITH ; + Alignment = 2, ; + Caption = "Fel Doc.", ; + FontCharSet = 238, ; + FontName = "Segoe UI", ; + FontSize = 10, ; + Name = "Header3" + *< END OBJECT: BaseClass="header" /> + + ADD OBJECT 'Grid1.Column3.Text1' AS textbox WITH ; + Alignment = 0, ; + BackColor = 255,255,255, ; + BorderStyle = 0, ; + FontCharSet = 238, ; + FontName = "Segoe UI", ; + FontSize = 10, ; + ForeColor = 0,0,0, ; + Margin = 0, ; + Name = "Text1", ; + ReadOnly = .T. + *< END OBJECT: BaseClass="textbox" /> + + ADD OBJECT 'Grid1.Column30.Header1' AS header WITH ; + Alignment = 2, ; + Caption = "Neimpozabil", ; + FontCharSet = 238, ; + FontName = "Segoe UI", ; + FontSize = 10, ; + Name = "Header1" + *< END OBJECT: BaseClass="header" /> + + ADD OBJECT 'Grid1.Column30.Text1' AS textbox WITH ; + BackColor = 255,255,255, ; + BorderStyle = 0, ; + FontCharSet = 238, ; + FontName = "Segoe UI", ; + FontSize = 10, ; + ForeColor = 0,0,0, ; + Margin = 0, ; + Name = "Text1" + *< END OBJECT: BaseClass="textbox" /> + + ADD OBJECT 'Grid1.Column31.Header1' AS header WITH ; + Caption = "Analit.", ; + FontCharSet = 238, ; + FontName = "Segoe UI", ; + FontSize = 10, ; + Name = "Header1" + *< END OBJECT: BaseClass="header" /> + + ADD OBJECT 'Grid1.Column31.Text1' AS textbox WITH ; + BackColor = 242,255,255, ; + BorderStyle = 0, ; + FontCharSet = 238, ; + FontName = "Segoe UI", ; + FontSize = 10, ; + ForeColor = 0,0,0, ; + Margin = 0, ; + Name = "Text1", ; + ReadOnly = .T. + *< END OBJECT: BaseClass="textbox" /> + + ADD OBJECT 'Grid1.Column32.Header1' AS header WITH ; + Caption = "Analit.", ; + FontCharSet = 238, ; + FontName = "Segoe UI", ; + FontSize = 10, ; + Name = "Header1" + *< END OBJECT: BaseClass="header" /> + + ADD OBJECT 'Grid1.Column32.Text1' AS textbox WITH ; + BackColor = 242,255,255, ; + BorderStyle = 0, ; + FontCharSet = 238, ; + FontName = "Segoe UI", ; + FontSize = 10, ; + ForeColor = 0,0,0, ; + Margin = 0, ; + Name = "Text1", ; + ReadOnly = .T. + *< END OBJECT: BaseClass="textbox" /> + + ADD OBJECT 'Grid1.Column33.Header1' AS header WITH ; + Alignment = 2, ; + Caption = "Nr.doc.incasat", ; + FontCharSet = 238, ; + FontName = "Segoe UI", ; + FontSize = 10, ; + Name = "Header1" + *< END OBJECT: BaseClass="header" /> + + ADD OBJECT 'Grid1.Column33.Text1' AS textbox WITH ; + BackColor = 255,255,255, ; + BorderStyle = 0, ; + FontCharSet = 238, ; + FontName = "Segoe UI", ; + FontSize = 10, ; + ForeColor = 0,0,0, ; + Margin = 0, ; + Name = "Text1" + *< END OBJECT: BaseClass="textbox" /> + + ADD OBJECT 'Grid1.Column34.Header1' AS header WITH ; + Alignment = 2, ; + Caption = "Contract", ; + FontCharSet = 238, ; + FontName = "Segoe UI", ; + FontSize = 10, ; + Name = "Header1" + *< END OBJECT: BaseClass="header" /> + + ADD OBJECT 'Grid1.Column34.Text1' AS textbox WITH ; + BackColor = 255,255,255, ; + BorderStyle = 0, ; + FontCharSet = 238, ; + FontName = "Segoe UI", ; + FontSize = 10, ; + ForeColor = 0,0,0, ; + Margin = 0, ; + Name = "Text1" + *< END OBJECT: BaseClass="textbox" /> + + ADD OBJECT 'Grid1.Column4.Header4' AS header WITH ; + Alignment = 2, ; + Caption = "Data Act", ; + FontCharSet = 238, ; + FontName = "Segoe UI", ; + FontSize = 10, ; + Name = "Header4" + *< END OBJECT: BaseClass="header" /> + + ADD OBJECT 'Grid1.Column4.Text1' AS textbox WITH ; + Alignment = 0, ; + BackColor = 255,255,255, ; + BorderStyle = 0, ; + FontCharSet = 238, ; + FontName = "Segoe UI", ; + FontSize = 10, ; + ForeColor = 0,0,0, ; + Margin = 0, ; + Name = "Text1", ; + ReadOnly = .T. + *< END OBJECT: BaseClass="textbox" /> + + ADD OBJECT 'Grid1.Column5.Header5' AS header WITH ; + Alignment = 2, ; + Caption = "Nr.Doc.", ; + FontCharSet = 238, ; + FontName = "Segoe UI", ; + FontSize = 10, ; + Name = "Header5" + *< END OBJECT: BaseClass="header" /> + + ADD OBJECT 'Grid1.Column5.Text1' AS textbox WITH ; + Alignment = 1, ; + BackColor = 255,255,255, ; + BorderStyle = 0, ; + FontCharSet = 238, ; + FontName = "Segoe UI", ; + FontSize = 10, ; + ForeColor = 0,0,0, ; + Margin = 0, ; + Name = "Text1", ; + ReadOnly = .T. + *< END OBJECT: BaseClass="textbox" /> + + ADD OBJECT 'Grid1.Column6.Header6' AS header WITH ; + Alignment = 2, ; + Caption = "Explicatia 1", ; + FontCharSet = 238, ; + FontName = "Segoe UI", ; + FontSize = 10, ; + Name = "Header6" + *< END OBJECT: BaseClass="header" /> + + ADD OBJECT 'Grid1.Column6.Text1' AS textbox WITH ; + Alignment = 0, ; + BackColor = 255,255,255, ; + BorderColor = 0,0,0, ; + BorderStyle = 0, ; + FontCharSet = 238, ; + FontName = "Segoe UI", ; + FontSize = 10, ; + ForeColor = 0,0,0, ; + Margin = 0, ; + Name = "Text1", ; + ReadOnly = .T. + *< END OBJECT: BaseClass="textbox" /> + + ADD OBJECT 'Grid1.Column7.Header7' AS header WITH ; + Alignment = 2, ; + Caption = "Cont Deb.", ; + FontCharSet = 238, ; + FontName = "Segoe UI", ; + FontSize = 10, ; + Name = "Header7" + *< END OBJECT: BaseClass="header" /> + + ADD OBJECT 'Grid1.Column7.Text1' AS textbox WITH ; + Alignment = 1, ; + BackColor = 255,255,255, ; + BorderStyle = 0, ; + FontBold = .F., ; + FontCharSet = 238, ; + FontName = "Segoe UI", ; + FontSize = 10, ; + ForeColor = 0,0,128, ; + Margin = 0, ; + Name = "Text1", ; + ReadOnly = .T. + *< END OBJECT: BaseClass="textbox" /> + + ADD OBJECT 'Grid1.Column8.Header8' AS header WITH ; + Alignment = 2, ; + Caption = "Cont Cred.", ; + FontCharSet = 238, ; + FontName = "Segoe UI", ; + FontSize = 10, ; + Name = "Header8" + *< END OBJECT: BaseClass="header" /> + + ADD OBJECT 'Grid1.Column8.Text1' AS textbox WITH ; + Alignment = 1, ; + BackColor = 255,255,255, ; + BorderStyle = 0, ; + FontBold = .F., ; + FontCharSet = 238, ; + FontName = "Segoe UI", ; + FontSize = 10, ; + ForeColor = 0,0,0, ; + Margin = 0, ; + Name = "Text1", ; + ReadOnly = .T. + *< END OBJECT: BaseClass="textbox" /> + + ADD OBJECT 'Grid1.Column9.Header9' AS header WITH ; + Alignment = 2, ; + Caption = "Suma", ; + FontCharSet = 238, ; + FontName = "Segoe UI", ; + FontSize = 10, ; + Name = "Header9" + *< END OBJECT: BaseClass="header" /> + + ADD OBJECT 'Grid1.Column9.Text1' AS textbox WITH ; + Alignment = 1, ; + BackColor = 255,255,255, ; + BorderStyle = 0, ; + FontBold = .F., ; + FontCharSet = 238, ; + FontName = "Segoe UI", ; + FontSize = 10, ; + ForeColor = 0,0,0, ; + Margin = 0, ; + Name = "Text1", ; + ReadOnly = .T. + *< END OBJECT: BaseClass="textbox" /> + + ADD OBJECT 'Precedent1' AS precedent WITH ; + Left = 603, ; + Name = "Precedent1", ; + Top = 2, ; + Visible = .F., ; + IMBUTON1.Height = 27, ; + IMBUTON1.Name = "IMBUTON1", ; + IMBUTON1.Width = 30, ; + COMMAND1.Name = "COMMAND1" + *< END OBJECT: ClassLib="baza.vcx" BaseClass="container" /> + + PROCEDURE aleg_ascc + *!* LOCAL cc,acc + *!* m.den='' + *!* SELECT actactan + *!* cc=scC + *!* acc=ascc + + *!* SELECT cont+'.'+acont+' - '+denumire as den FROM plcontana WHERE ALLTRIM(cont)=ALLTRIM(cc) INTO CURSOR ceva ORDER BY acont + *!* SELECT ceva + + *!* IF _tally=0 + *!* * DO mesaj WITH 'Nu au fost definite simboluri analitice','pentru contul '+cc + *!* IF USED('CEVA') + *!* USE IN ceva + *!* ENDIF + *!* SELECT actactan + *!* RETURN + *!* ENDIF + + *!* SELECT ceva + *!* DO caut_alfa_cursor WITH 'ceva','den','Alegeti simbolul analitic','m.den' + + *!* SELECT actactan + *!* REPLACE ascC WITH SUBSTR(m.den,6,4) + + *!* IF USED('CEVA') + *!* USE IN ceva + *!* ENDIF + *!* SELECT actactan + *!* thisform.grid1.refresh + ENDPROC + + PROCEDURE aleg_ascd + *!* LOCAL cc + *!* m.den='' + *!* SELECT actactan + *!* cc=scd + + *!* SELECT cont+'.'+acont+' - '+denumire as den FROM plcontana WHERE cont=cc INTO CURSOR ceva ORDER BY acont + *!* IF _tally=0 + *!* *DO mesaj WITH 'Nu au fost definite simboluri analitice','pentru contul '+cc + *!* IF USED('CEVA') + *!* USE IN ceva + *!* ENDIF + *!* SELECT actactan + *!* RETURN + *!* endif + + *!* DO caut_alfa_cursor WITH 'ceva','den','Alegeti simbolul analitic','m.den' + + *!* SELECT actactan + *!* REPLACE ascd WITH SUBSTR(m.den,6,4) + *!* IF USED('CEVA') + *!* USE IN ceva + *!* ENDIF + *!* SELECT actactan + *!* thisform.grid1.refresh + ENDPROC + + PROCEDURE Init + Do nrord With 'actactan' + Select actactan + Go Top + ENDPROC + + PROCEDURE verif_ascc + *!* LOCAL lc_d,acC + *!* m.den='' + *!* ll_l=.f. + *!* SELECT actactan + *!* lc_C=scC + *!* acC=ascC + + *!* SELECT cont+'.'+acont+' - '+denumire as den,cont,acont FROM plcontana ; + *!* WHERE ALLTRIM(cont)=ALLTRIM(lc_C) ; + *!* INTO CURSOR tceva ORDER BY acont + + *!* SELECT tceva + + *!* IF _tally=0 + *!* IF !EMPTY(acC) + *!* DO mesaj WITH 'Nu au fost definite simboluri analitice','pentru contul '+lc_C + *!* ll_l=.t. + *!* ENDIF + *!* + *!* IF USED('TCEVA') + *!* USE IN Tceva + *!* ENDIF + *!* SELECT actactan + *!* THIS.grid1.Setfocus + *!* RETURN ll_l + *!* ELSE + *!* IF !PlClick + *!* IF EMPTY(acc) + *!* SELECT actactan + *!* IF FLOCK() + *!* REPLACE ascc WITH '0000' + *!* ENDIF + *!* IF USED('TCEVA') + *!* USE IN Tceva + *!* ENDIF + *!* SELECT actactan + *!* THIS.grid1.SetFocus + *!* RETURN ll_l + *!* ENDIF + *!* ENDIF + *!* ENDIF + + *!* SELECT tceva + *!* IF PlClick + *!* DO caut_alfa_cursor WITH 'tceva','den','Alegeti simbolul analitic','m.den' + *!* SELECT actactan + *!* REPLACE ascC WITH SUBSTR(m.den,6,4) + *!* ELSE + *!* LOCATE FOR ALLTRIM(cont)=ALLTRIM(lc_C) AND ALLTRIM(acont)=ALLTRIM(acC) + *!* IF !FOUND() + *!* DO caut_alfa_cursor WITH 'tceva','den','Alegeti simbolul analitic','m.den' + *!* SELECT actactan + *!* REPLACE ascC WITH SUBSTR(m.den,6,4) + *!* ENDIF + *!* ENDIF + + *!* IF USED('TCEVA') + *!* USE IN Tceva + *!* ENDIF + + *!* SELECT actactan + *!* this.grid1.Refresh + *!* RETURN ll_l + ENDPROC + + PROCEDURE verif_ascd + *!* LOCAL lc_d,acd + *!* m.den='' + *!* ll_l=.f. + *!* SELECT actactan + *!* lc_d=scd + *!* acd=ascd + + *!* SELECT cont+'.'+acont+' - '+denumire as den,cont,acont FROM plcontana ; + *!* WHERE ALLTRIM(cont)=ALLTRIM(lc_d) ; + *!* INTO CURSOR tceva ORDER BY acont + + *!* SELECT tceva + + *!* IF _tally=0 + *!* IF !EMPTY(acd) + *!* DO mesaj WITH 'Nu au fost definite simboluri analitice','pentru contul '+lc_d + *!* ll_l=.t. + *!* ENDIF + *!* + *!* IF USED('TCEVA') + *!* USE IN Tceva + *!* ENDIF + *!* SELECT actactan + *!* THIS.Grid1.SetFocus + *!* RETURN ll_l + *!* ELSE + *!* IF !PlClick + *!* IF empty(acd) + *!* SELECT actactan + *!* IF FLOCK() + *!* REPLACE ascd WITH '0000' + *!* ENDIF + *!* IF USED('TCEVA') + *!* USE IN Tceva + *!* ENDIF + *!* SELECT actactan + *!* THIS.Grid1.SetFocus + *!* RETURN ll_l + *!* ENDIF + *!* ENDIF + *!* ENDIF + + *!* SELECT tceva + + *!* IF PlClick + *!* DO caut_alfa_cursor WITH 'tceva','den','Alegeti simbolul analitic','m.den' + *!* SELECT actactan + *!* REPLACE ascd WITH SUBSTR(m.den,6,4) + *!* ELSE + *!* LOCATE FOR ALLTRIM(cont)=ALLTRIM(lc_d) AND ALLTRIM(acont)=ALLTRIM(acd) + *!* IF !FOUND() + *!* DO caut_alfa_cursor WITH 'tceva','den','Alegeti simbolul analitic','m.den' + *!* SELECT actactan + *!* REPLACE ascd WITH SUBSTR(m.den,6,4) + *!* ENDIF + *!* ENDIF + + *!* IF USED('TCEVA') + *!* USE IN Tceva + *!* ENDIF + + *!* SELECT actactan + *!* THIS.Grid1.Refresh + *!* RETURN ll_l + ENDPROC + + PROCEDURE Grid1.Column1.Text1.DblClick + *thisform.butdrept + ENDPROC + + PROCEDURE Grid1.Column1.Text1.RightClick + do editscurt.mpr + ENDPROC + + PROCEDURE Grid1.Column10.Text1.DblClick + *thisform.butdrept + ENDPROC + + PROCEDURE Grid1.Column10.Text1.RightClick + do editscurt.mpr + ENDPROC + + PROCEDURE Grid1.Column11.Text1.DblClick + *thisform.butdrept + ENDPROC + + PROCEDURE Grid1.Column11.Text1.RightClick + do editscurt.mpr + ENDPROC + + PROCEDURE Grid1.Column12.Text1.DblClick + *thisform.butdrept + ENDPROC + + PROCEDURE Grid1.Column12.Text1.RightClick + do editscurt.mpr + ENDPROC + + PROCEDURE Grid1.Column2.Text1.DblClick + *thisform.butdrept + ENDPROC + + PROCEDURE Grid1.Column2.Text1.RightClick + do editscurt.mpr + ENDPROC + + PROCEDURE Grid1.Column3.Text1.DblClick + *thisform.butdrept + ENDPROC + + PROCEDURE Grid1.Column3.Text1.RightClick + do editscurt.mpr + ENDPROC + + PROCEDURE Grid1.Column31.Text1.Click + *!* *thisform.ALEG_ASCD() + *!* this.LostFocus(.t.) + ENDPROC + + PROCEDURE Grid1.Column31.Text1.LostFocus + *!* PARAMETERS PlClick + *!* ll_l=thisform.verif_ASCD() + *!* IF ll_l + *!* REPLACE ACTACTAN.ASCD WITH '' + *!* RETURN 0 + *!* ENDIF + *!* THIS.Parent.Parent.Refresh + *ENDIF + ENDPROC + + PROCEDURE Grid1.Column32.Text1.Click + *!* *thisform.ALEG_ASCC() + *!* this.LostFocus(.t.) + + ENDPROC + + PROCEDURE Grid1.Column32.Text1.LostFocus + *!* PARAMETERS PlClick + *!* *IF !EMPTY(ascc) + *!* ll_l=thisform.verif_ASCC() + *!* IF ll_l + *!* REPLACE ACTACTAN.ASCC WITH '' + *!* RETURN 0 + *!* ENDIF + *!* THIS.Parent.Parent.Refresh + *!* *ENDIF + ENDPROC + + PROCEDURE Grid1.Column4.Text1.DblClick + *thisform.butdrept + ENDPROC + + PROCEDURE Grid1.Column4.Text1.RightClick + do editscurt.mpr + ENDPROC + + PROCEDURE Grid1.Column5.Text1.DblClick + *thisform.butdrept + ENDPROC + + PROCEDURE Grid1.Column5.Text1.RightClick + do editscurt.mpr + ENDPROC + + PROCEDURE Grid1.Column6.Text1.DblClick + *thisform.butdrept + ENDPROC + + PROCEDURE Grid1.Column6.Text1.RightClick + do editscurt.mpr + ENDPROC + + PROCEDURE Grid1.Column7.Text1.DblClick + *thisform.butdrept + ENDPROC + + PROCEDURE Grid1.Column7.Text1.RightClick + do editscurt.mpr + ENDPROC + + PROCEDURE Grid1.Column8.Text1.DblClick + *thisform.butdrept + ENDPROC + + PROCEDURE Grid1.Column8.Text1.RightClick + do editscurt.mpr + ENDPROC + + PROCEDURE Grid1.Column9.Text1.DblClick + *thisform.butdrept + ENDPROC + + PROCEDURE Grid1.Column9.Text1.RightClick + do editscurt.mpr + ENDPROC + + PROCEDURE Precedent1.COMMAND1.Click + BUTON=3 + THISFORM.Release + ENDPROC + +ENDDEFINE diff --git a/clase/ocomenzi.vc2 b/clase/ocomenzi.vc2 new file mode 100644 index 0000000..e1e79b1 --- /dev/null +++ b/clase/ocomenzi.vc2 @@ -0,0 +1,8301 @@ +*-------------------------------------------------------------------------------------------------------------------------------------------------------- +* (EN) AUTOGENERATED - ATTENTION!! - NOT INTENDED FOR EXECUTION!! USE ONLY FOR MERGING CHANGES AND STORING WITH SCM TOOLS!! +*-------------------------------------------------------------------------------------------------------------------------------------------------------- +*< FOXBIN2PRG: Version="1.21" SourceFile="ocomenzi.vcx" CPID="1252" /> (Solo para binarios VFP 9 / Only for VFP 9 binaries) +* +* +DEFINE CLASS ct_comenzi AS _ctfrmbase OF "_ct_base.vcx" + *< CLASSDATA: Baseclass="container" Timestamp="" Scale="Pixels" Uniqueid="" /> + + *-- OBJECTDATA items order determines ZOrder / El orden de los items OBJECTDATA determina el ZOrder + *< OBJECTDATA: ObjPath="_grdrow1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="_grdrow1.cNr_comanda.Header1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="_grdrow1.cNr_comanda.Text1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="_grdrow1.cData_comanda.Header1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="_grdrow1.cData_comanda.Text1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="_grdrow1.cNume.Header1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="_grdrow1.cNume.Text1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="_grdrow1.cData_livrare.Header1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="_grdrow1.cData_livrare.Text1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="_grdrow1.cAgent.Header1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="_grdrow1.cAgent.Text1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="_grdrow1.cDelegat.Header1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="_grdrow1.cDelegat.Text1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="_grdrow1.cNrinmat.Header1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="_grdrow1.cNrinmat.Text1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="_grdrow1.cLucrare.Header1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="_grdrow1.cLucrare.Text1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="_grdrow1.cFacturat.Header1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="_grdrow1.cFacturat._checkbox1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="_grdrow1.cDataora.Header1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="_grdrow1.cDataora.Text1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="_grdrow1.cUtilizator.Header1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="_grdrow1.cUtilizator.Text1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="_grdrow1.cSelectat.Header1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="_grdrow1.cSelectat._checkbox1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="_grdrow1.cDataLivrat.Header1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="_grdrow1.cDataLivrat.Text1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="_grdrow1.cNr_livrare.Header1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="_grdrow1.cNr_livrare.Text1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="_grdrow1.cTip_comanda.Header1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="_grdrow1.cTip_comanda.Text1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="_grdrow1.cAdresa_facturare.Header1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="_grdrow1.cAdresa_facturare.Text1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="_grdrow1.cAdresa_livrare.Header1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="_grdrow1.cAdresa_livrare.Text1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="_grdrow1.cComanda_externa.Header1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="_grdrow1.cComanda_externa.Text1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="_grdrow1.cNumar_contract.Header1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="_grdrow1.cNumar_contract.Text1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="_grdrow1.cCodFiscal.Header1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="_grdrow1.cCodFiscal.Text1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="_grdrow1.cIdPart.Header1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="_grdrow1.cIdPart.Text1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="_grdrow2" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="_grdrow2.cDenumire.Header1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="_grdrow2.cDenumire.Text1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="_grdrow2.cCantitate.Header1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="_grdrow2.cCantitate.Text1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="_grdrow2.cPret.Header1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="_grdrow2.cPret.Text1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="_grdrow2.cCodmat.Header1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="_grdrow2.cCodmat.Text1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="_grdrow2.cNrCrt.Header1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="_grdrow2.cNrCrt.Text1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="_grdrow2.cPret_cu_tva.Header1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="_grdrow2.cPret_cu_tva._checkbox1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="_grdrow2.cCodBare.Header1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="_grdrow2.cCodBare.Text1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="_grdrow2.cPTVA.Header1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="_grdrow2.cPTVA.Text1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="_grdrow2.cNumeListaPreturi.Header1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="_grdrow2.cNumeListaPreturi.Text1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="Clb_tx_total" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="Cmd_executa1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="Cmd_executa3" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="lb_comenzi_elemente" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="But_nou1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="But_modifica1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="But_sterge1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="But_listare1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="But_copie" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="Cmd_executa2" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="Cmd_select_adv1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="Cmd_executa4" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="But_factura1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="But_start_criterii1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="But_reset_criterii1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="But_attach1" UniqueID="" Timestamp="" /> + + * + *m: do_adauga_lucrare + *m: do_adauga_lucrare_noua + *m: do_factura + *m: do_listeaza_disp + *m: do_relisteaza_disp + *p: nid_sectie + * + + * + BackStyle = 0 + cgridsortlist = _grdrow1 + filtru_pretty = + filtru_pretty_ro = + filtru_pretty_ro_full = + Height = 497 + Name = "ct_comenzi" + nid_sectie = 0 + Width = 781 + Gridsort1.Name = "Gridsort1" + _ct_controller_keypress1.Height = 65 + _ct_controller_keypress1.Left = 134 + _ct_controller_keypress1.Name = "_ct_controller_keypress1" + _ct_controller_keypress1.Top = 67 + _ct_controller_keypress1.Width = 23 + * + + ADD OBJECT '_grdrow1' AS _grdrow WITH ; + Anchor = 15, ; + ColumnCount = 21, ; + DeleteMark = .F., ; + Height = 399, ; + Left = 6, ; + Name = "_grdrow1", ; + Panel = 1, ; + RecordSource = "crscomenzi", ; + RowHeight = 19, ; + TabIndex = 15, ; + Top = 28, ; + Width = 160, ; + Column1.ColumnOrder = 2, ; + Column1.ControlSource = "nr_comanda", ; + Column1.FontName = "Arial", ; + Column1.FontSize = 10, ; + Column1.Name = "cNr_comanda", ; + Column1.ReadOnly = .T., ; + Column2.ColumnOrder = 3, ; + Column2.ControlSource = "data_comanda", ; + Column2.FontName = "Arial", ; + Column2.FontSize = 10, ; + Column2.Name = "cData_comanda", ; + Column2.ReadOnly = .T., ; + Column2.Width = 83, ; + Column3.ColumnOrder = 4, ; + Column3.ControlSource = "nume", ; + Column3.FontName = "Arial", ; + Column3.FontSize = 10, ; + Column3.Name = "cNume", ; + Column3.ReadOnly = .T., ; + Column3.Width = 118, ; + Column4.ColumnOrder = 10, ; + Column4.ControlSource = "data_livrare", ; + Column4.FontName = "Arial", ; + Column4.FontSize = 10, ; + Column4.Name = "cData_livrare", ; + Column4.ReadOnly = .T., ; + Column4.Width = 82, ; + Column5.ColumnOrder = 14, ; + Column5.ControlSource = "nume_agent", ; + Column5.FontName = "Arial", ; + Column5.FontSize = 10, ; + Column5.Name = "cAgent", ; + Column5.ReadOnly = .T., ; + Column5.Width = 125, ; + Column6.ColumnOrder = 15, ; + Column6.ControlSource = "nume_delegat", ; + Column6.FontName = "Arial", ; + Column6.FontSize = 10, ; + Column6.Name = "cDelegat", ; + Column6.ReadOnly = .T., ; + Column7.ColumnOrder = 16, ; + Column7.ControlSource = "nrinmat", ; + Column7.FontName = "Arial", ; + Column7.FontSize = 10, ; + Column7.Name = "cNrinmat", ; + Column7.ReadOnly = .T., ; + Column8.ColumnOrder = 11, ; + Column8.ControlSource = "nrord", ; + Column8.FontName = "Arial", ; + Column8.FontSize = 10, ; + Column8.Name = "cLucrare", ; + Column8.ReadOnly = .T., ; + Column8.Width = 92, ; + Column9.ColumnOrder = 19, ; + Column9.ControlSource = "facturat", ; + Column9.FontName = "Arial", ; + Column9.FontSize = 10, ; + Column9.Name = "cFacturat", ; + Column9.ReadOnly = .T., ; + Column9.Sparse = .F., ; + Column9.Width = 55, ; + Column10.ColumnOrder = 20, ; + Column10.ControlSource = "dataora", ; + Column10.FontName = "Arial", ; + Column10.FontSize = 10, ; + Column10.Name = "cDataora", ; + Column10.ReadOnly = .T., ; + Column10.Width = 93, ; + Column11.ColumnOrder = 21, ; + Column11.ControlSource = "utilizator", ; + Column11.FontName = "Arial", ; + Column11.FontSize = 10, ; + Column11.Name = "cUtilizator", ; + Column11.ReadOnly = .T., ; + Column12.ColumnOrder = 1, ; + Column12.ControlSource = "selectat", ; + Column12.FontName = "Arial", ; + Column12.FontSize = 10, ; + Column12.Name = "cSelectat", ; + Column12.Sparse = .F., ; + Column12.Width = 51, ; + Column13.ColumnOrder = 13, ; + Column13.ControlSource = "data_livrat", ; + Column13.FontName = "Arial", ; + Column13.FontSize = 10, ; + Column13.Name = "cDataLivrat", ; + Column13.ReadOnly = .T., ; + Column14.ColumnOrder = 12, ; + Column14.ControlSource = "nr_livrare", ; + Column14.FontName = "Arial", ; + Column14.FontSize = 10, ; + Column14.Name = "cNr_livrare", ; + Column14.ReadOnly = .T., ; + Column15.ColumnOrder = 18, ; + Column15.ControlSource = "tip_comanda", ; + Column15.FontName = "Arial", ; + Column15.FontSize = 10, ; + Column15.Name = "cTip_comanda", ; + Column16.ColumnOrder = 7, ; + Column16.ControlSource = "adresa_facturare", ; + Column16.FontName = "Arial", ; + Column16.FontSize = 10, ; + Column16.Name = "cAdresa_facturare", ; + Column16.Width = 94, ; + Column17.ColumnOrder = 8, ; + Column17.ControlSource = "adresa_livrare", ; + Column17.FontName = "Arial", ; + Column17.FontSize = 10, ; + Column17.Name = "cAdresa_livrare", ; + Column17.Width = 79, ; + Column18.ColumnOrder = 9, ; + Column18.ControlSource = "comanda_externa", ; + Column18.FontName = "Arial", ; + Column18.FontSize = 10, ; + Column18.Name = "cComanda_externa", ; + Column18.Width = 102, ; + Column19.ColumnOrder = 17, ; + Column19.ControlSource = "numar_contract", ; + Column19.FontName = "Arial", ; + Column19.FontSize = 10, ; + Column19.Name = "cNumar_contract", ; + Column19.Width = 88, ; + Column20.ColumnOrder = 5, ; + Column20.ControlSource = "cod_fiscal", ; + Column20.Name = "cCodFiscal", ; + Column20.ReadOnly = .T., ; + Column20.Width = 105, ; + Column21.ColumnOrder = 6, ; + Column21.ControlSource = "id_part", ; + Column21.Name = "cIdPart", ; + Column21.ReadOnly = .T. + *< END OBJECT: ClassLib="_grd_base.vcx" BaseClass="grid" /> + + ADD OBJECT '_grdrow1.cAdresa_facturare.Header1' AS header WITH ; + Alignment = 2, ; + Caption = "Adresa facturare", ; + FontName = "Arial", ; + FontSize = 10, ; + Name = "Header1" + *< END OBJECT: BaseClass="header" /> + + ADD OBJECT '_grdrow1.cAdresa_facturare.Text1' AS textbox WITH ; + BackColor = 255,255,255, ; + BorderStyle = 0, ; + FontName = "Arial", ; + FontSize = 10, ; + ForeColor = 0,0,0, ; + Margin = 0, ; + Name = "Text1", ; + SelectedBackColor = 100,185,255 + *< END OBJECT: BaseClass="textbox" /> + + ADD OBJECT '_grdrow1.cAdresa_livrare.Header1' AS header WITH ; + Alignment = 2, ; + Caption = "Adresa livrare", ; + FontName = "Arial", ; + FontSize = 10, ; + Name = "Header1" + *< END OBJECT: BaseClass="header" /> + + ADD OBJECT '_grdrow1.cAdresa_livrare.Text1' AS textbox WITH ; + BackColor = 255,255,255, ; + BorderStyle = 0, ; + FontName = "Arial", ; + FontSize = 10, ; + ForeColor = 0,0,0, ; + Margin = 0, ; + Name = "Text1", ; + SelectedBackColor = 100,185,255 + *< END OBJECT: BaseClass="textbox" /> + + ADD OBJECT '_grdrow1.cAgent.Header1' AS header WITH ; + Alignment = 2, ; + Caption = "Agent", ; + FontName = "Arial", ; + FontSize = 10, ; + Name = "Header1" + *< END OBJECT: BaseClass="header" /> + + ADD OBJECT '_grdrow1.cAgent.Text1' AS textbox WITH ; + BackColor = 255,255,255, ; + BorderStyle = 0, ; + FontName = "Arial", ; + FontSize = 10, ; + ForeColor = 0,0,0, ; + Margin = 0, ; + Name = "Text1", ; + ReadOnly = .T., ; + SelectedBackColor = 100,185,255 + *< END OBJECT: BaseClass="textbox" /> + + ADD OBJECT '_grdrow1.cCodFiscal.Header1' AS header WITH ; + Alignment = 2, ; + Caption = "Cod fiscal", ; + Name = "Header1" + *< END OBJECT: BaseClass="header" /> + + ADD OBJECT '_grdrow1.cCodFiscal.Text1' AS textbox WITH ; + BackColor = 255,255,255, ; + BorderStyle = 0, ; + ForeColor = 0,0,0, ; + Margin = 0, ; + Name = "Text1", ; + ReadOnly = .T., ; + SelectedBackColor = 100,185,255 + *< END OBJECT: BaseClass="textbox" /> + + ADD OBJECT '_grdrow1.cComanda_externa.Header1' AS header WITH ; + Alignment = 2, ; + Caption = "Comanda externa", ; + FontName = "Arial", ; + FontSize = 10, ; + Name = "Header1" + *< END OBJECT: BaseClass="header" /> + + ADD OBJECT '_grdrow1.cComanda_externa.Text1' AS textbox WITH ; + BackColor = 255,255,255, ; + BorderStyle = 0, ; + FontName = "Arial", ; + FontSize = 10, ; + ForeColor = 0,0,0, ; + Margin = 0, ; + Name = "Text1", ; + SelectedBackColor = 100,185,255 + *< END OBJECT: BaseClass="textbox" /> + + ADD OBJECT '_grdrow1.cData_comanda.Header1' AS header WITH ; + Alignment = 2, ; + Caption = "Data comanda", ; + FontName = "Arial", ; + FontSize = 10, ; + Name = "Header1" + *< END OBJECT: BaseClass="header" /> + + ADD OBJECT '_grdrow1.cData_comanda.Text1' AS textbox WITH ; + BackColor = 255,255,255, ; + BorderStyle = 0, ; + FontName = "Arial", ; + FontSize = 10, ; + ForeColor = 0,0,0, ; + Margin = 0, ; + Name = "Text1", ; + ReadOnly = .T., ; + SelectedBackColor = 100,185,255 + *< END OBJECT: BaseClass="textbox" /> + + ADD OBJECT '_grdrow1.cData_livrare.Header1' AS header WITH ; + Alignment = 2, ; + Caption = "Data livrare", ; + FontName = "Arial", ; + FontSize = 10, ; + Name = "Header1" + *< END OBJECT: BaseClass="header" /> + + ADD OBJECT '_grdrow1.cData_livrare.Text1' AS textbox WITH ; + BackColor = 255,255,255, ; + BorderStyle = 0, ; + FontName = "Arial", ; + FontSize = 10, ; + ForeColor = 0,0,0, ; + Margin = 0, ; + Name = "Text1", ; + ReadOnly = .T., ; + SelectedBackColor = 100,185,255 + *< END OBJECT: BaseClass="textbox" /> + + ADD OBJECT '_grdrow1.cDataLivrat.Header1' AS header WITH ; + Alignment = 2, ; + Caption = "Data livrat", ; + FontName = "Arial", ; + FontSize = 10, ; + Name = "Header1" + *< END OBJECT: BaseClass="header" /> + + ADD OBJECT '_grdrow1.cDataLivrat.Text1' AS textbox WITH ; + BackColor = 255,255,255, ; + BorderStyle = 0, ; + FontName = "Arial", ; + FontSize = 10, ; + ForeColor = 0,0,0, ; + Margin = 0, ; + Name = "Text1", ; + ReadOnly = .T., ; + SelectedBackColor = 100,185,255 + *< END OBJECT: BaseClass="textbox" /> + + ADD OBJECT '_grdrow1.cDataora.Header1' AS header WITH ; + Alignment = 2, ; + Caption = "Data si ora ad.", ; + FontName = "Arial", ; + FontSize = 10, ; + Name = "Header1" + *< END OBJECT: BaseClass="header" /> + + ADD OBJECT '_grdrow1.cDataora.Text1' AS textbox WITH ; + BackColor = 255,255,255, ; + BorderStyle = 0, ; + FontName = "Arial", ; + FontSize = 10, ; + ForeColor = 0,0,0, ; + Margin = 0, ; + Name = "Text1", ; + ReadOnly = .T., ; + SelectedBackColor = 100,185,255 + *< END OBJECT: BaseClass="textbox" /> + + ADD OBJECT '_grdrow1.cDelegat.Header1' AS header WITH ; + Alignment = 2, ; + Caption = "Delegat", ; + FontName = "Arial", ; + FontSize = 10, ; + Name = "Header1" + *< END OBJECT: BaseClass="header" /> + + ADD OBJECT '_grdrow1.cDelegat.Text1' AS textbox WITH ; + BackColor = 255,255,255, ; + BorderStyle = 0, ; + FontName = "Arial", ; + FontSize = 10, ; + ForeColor = 0,0,0, ; + Margin = 0, ; + Name = "Text1", ; + ReadOnly = .T., ; + SelectedBackColor = 100,185,255 + *< END OBJECT: BaseClass="textbox" /> + + ADD OBJECT '_grdrow1.cFacturat._checkbox1' AS _checkbox WITH ; + Alignment = 2, ; + AutoSize = .F., ; + Caption = "", ; + Centered = .T., ; + FontName = "Arial", ; + FontSize = 10, ; + Left = 40, ; + Name = "_checkbox1", ; + ReadOnly = .T., ; + Top = 47 + *< END OBJECT: ClassLib="_baza.vcx" BaseClass="checkbox" /> + + ADD OBJECT '_grdrow1.cFacturat.Header1' AS header WITH ; + Alignment = 2, ; + Caption = "Facturata", ; + FontName = "Arial", ; + FontSize = 10, ; + Name = "Header1" + *< END OBJECT: BaseClass="header" /> + + ADD OBJECT '_grdrow1.cIdPart.Header1' AS header WITH ; + Alignment = 2, ; + Caption = "Id partener", ; + Name = "Header1" + *< END OBJECT: BaseClass="header" /> + + ADD OBJECT '_grdrow1.cIdPart.Text1' AS textbox WITH ; + BackColor = 255,255,255, ; + BorderStyle = 0, ; + ForeColor = 0,0,0, ; + Margin = 0, ; + Name = "Text1", ; + ReadOnly = .T., ; + SelectedBackColor = 100,185,255 + *< END OBJECT: BaseClass="textbox" /> + + ADD OBJECT '_grdrow1.cLucrare.Header1' AS header WITH ; + Alignment = 2, ; + Caption = "Lucrare", ; + FontName = "Arial", ; + FontSize = 10, ; + Name = "Header1" + *< END OBJECT: BaseClass="header" /> + + ADD OBJECT '_grdrow1.cLucrare.Text1' AS textbox WITH ; + BackColor = 255,255,255, ; + BorderStyle = 0, ; + FontName = "Arial", ; + FontSize = 10, ; + ForeColor = 0,0,0, ; + Margin = 0, ; + Name = "Text1", ; + ReadOnly = .T., ; + SelectedBackColor = 100,185,255 + *< END OBJECT: BaseClass="textbox" /> + + ADD OBJECT '_grdrow1.cNr_comanda.Header1' AS header WITH ; + Alignment = 2, ; + Caption = "Nr.comanda", ; + FontName = "Arial", ; + FontSize = 10, ; + Name = "Header1" + *< END OBJECT: BaseClass="header" /> + + ADD OBJECT '_grdrow1.cNr_comanda.Text1' AS textbox WITH ; + BackColor = 255,255,255, ; + BorderStyle = 0, ; + FontName = "Arial", ; + FontSize = 10, ; + ForeColor = 0,0,0, ; + Margin = 0, ; + Name = "Text1", ; + ReadOnly = .T., ; + SelectedBackColor = 100,185,255 + *< END OBJECT: BaseClass="textbox" /> + + ADD OBJECT '_grdrow1.cNr_livrare.Header1' AS header WITH ; + Alignment = 2, ; + Caption = "Nr.livrare", ; + FontName = "Arial", ; + FontSize = 10, ; + Name = "Header1" + *< END OBJECT: BaseClass="header" /> + + ADD OBJECT '_grdrow1.cNr_livrare.Text1' AS textbox WITH ; + BackColor = 255,255,255, ; + BorderStyle = 0, ; + FontName = "Arial", ; + FontSize = 10, ; + ForeColor = 0,0,0, ; + Margin = 0, ; + Name = "Text1", ; + ReadOnly = .T., ; + SelectedBackColor = 100,185,255 + *< END OBJECT: BaseClass="textbox" /> + + ADD OBJECT '_grdrow1.cNrinmat.Header1' AS header WITH ; + Alignment = 2, ; + Caption = "Masina", ; + FontName = "Arial", ; + FontSize = 10, ; + Name = "Header1" + *< END OBJECT: BaseClass="header" /> + + ADD OBJECT '_grdrow1.cNrinmat.Text1' AS textbox WITH ; + BackColor = 255,255,255, ; + BorderStyle = 0, ; + FontName = "Arial", ; + FontSize = 10, ; + ForeColor = 0,0,0, ; + Margin = 0, ; + Name = "Text1", ; + ReadOnly = .T., ; + SelectedBackColor = 100,185,255 + *< END OBJECT: BaseClass="textbox" /> + + ADD OBJECT '_grdrow1.cNumar_contract.Header1' AS header WITH ; + Alignment = 2, ; + Caption = "Numar contract", ; + FontName = "Arial", ; + FontSize = 10, ; + Name = "Header1" + *< END OBJECT: BaseClass="header" /> + + ADD OBJECT '_grdrow1.cNumar_contract.Text1' AS textbox WITH ; + BackColor = 255,255,255, ; + BorderStyle = 0, ; + FontName = "Arial", ; + FontSize = 10, ; + ForeColor = 0,0,0, ; + Margin = 0, ; + Name = "Text1", ; + SelectedBackColor = 100,185,255 + *< END OBJECT: BaseClass="textbox" /> + + ADD OBJECT '_grdrow1.cNume.Header1' AS header WITH ; + Alignment = 2, ; + Caption = "Beneficiar", ; + FontName = "Arial", ; + FontSize = 10, ; + Name = "Header1" + *< END OBJECT: BaseClass="header" /> + + ADD OBJECT '_grdrow1.cNume.Text1' AS textbox WITH ; + BackColor = 255,255,255, ; + BorderStyle = 0, ; + FontName = "Arial", ; + FontSize = 10, ; + ForeColor = 0,0,0, ; + Margin = 0, ; + Name = "Text1", ; + ReadOnly = .T., ; + SelectedBackColor = 100,185,255 + *< END OBJECT: BaseClass="textbox" /> + + ADD OBJECT '_grdrow1.cSelectat._checkbox1' AS _checkbox WITH ; + Alignment = 2, ; + AutoSize = .F., ; + Caption = "", ; + Centered = .T., ; + FontName = "Arial", ; + FontSize = 10, ; + Left = 25, ; + Name = "_checkbox1", ; + Top = 35 + *< END OBJECT: ClassLib="_baza.vcx" BaseClass="checkbox" /> + + ADD OBJECT '_grdrow1.cSelectat.Header1' AS header WITH ; + Alignment = 2, ; + Caption = "Selectat", ; + FontName = "Arial", ; + FontSize = 10, ; + Name = "Header1" + *< END OBJECT: BaseClass="header" /> + + ADD OBJECT '_grdrow1.cTip_comanda.Header1' AS header WITH ; + Alignment = 2, ; + Caption = "Tip comanda", ; + FontName = "Arial", ; + FontSize = 10, ; + Name = "Header1" + *< END OBJECT: BaseClass="header" /> + + ADD OBJECT '_grdrow1.cTip_comanda.Text1' AS textbox WITH ; + BackColor = 255,255,255, ; + BorderStyle = 0, ; + FontName = "Arial", ; + FontSize = 10, ; + ForeColor = 0,0,0, ; + Margin = 0, ; + Name = "Text1", ; + SelectedBackColor = 100,185,255 + *< END OBJECT: BaseClass="textbox" /> + + ADD OBJECT '_grdrow1.cUtilizator.Header1' AS header WITH ; + Alignment = 2, ; + Caption = "Utilizator", ; + FontName = "Arial", ; + FontSize = 10, ; + Name = "Header1" + *< END OBJECT: BaseClass="header" /> + + ADD OBJECT '_grdrow1.cUtilizator.Text1' AS textbox WITH ; + BackColor = 255,255,255, ; + BorderStyle = 0, ; + FontName = "Arial", ; + FontSize = 10, ; + ForeColor = 0,0,0, ; + Margin = 0, ; + Name = "Text1", ; + ReadOnly = .T., ; + SelectedBackColor = 100,185,255 + *< END OBJECT: BaseClass="textbox" /> + + ADD OBJECT '_grdrow2' AS _grdrow WITH ; + Anchor = 13, ; + ColumnCount = 9, ; + DeleteMark = .F., ; + FontSize = 10, ; + Height = 383, ; + Left = 172, ; + Name = "_grdrow2", ; + Panel = 1, ; + RecordSource = "crscomenzielemente", ; + RowHeight = 19, ; + TabIndex = 25, ; + Top = 44, ; + Width = 598, ; + Column1.ColumnOrder = 2, ; + Column1.ControlSource = "denumire", ; + Column1.FontName = "Arial", ; + Column1.FontSize = 10, ; + Column1.Name = "cDenumire", ; + Column1.Width = 179, ; + Column2.ColumnOrder = 3, ; + Column2.ControlSource = "cantitate", ; + Column2.FontName = "Arial", ; + Column2.FontSize = 10, ; + Column2.Format = "R", ; + Column2.InputMask = (get_mask(14,IIF(TYPE("gnPcant")='U',3,gnPcant))), ; + Column2.Name = "cCantitate", ; + Column2.Width = 53, ; + Column3.ColumnOrder = 4, ; + Column3.ControlSource = "pret", ; + Column3.FontName = "Arial", ; + Column3.FontSize = 10, ; + Column3.Format = "R", ; + Column3.InputMask = (get_mask(14,IIF(TYPE("gnPPretV")='U',2,gnPPretV))), ; + Column3.Name = "cPret", ; + Column3.Width = 77, ; + Column4.ColumnOrder = 6, ; + Column4.ControlSource = "codmat", ; + Column4.FontName = "Arial", ; + Column4.FontSize = 10, ; + Column4.Name = "cCodmat", ; + Column4.Width = 81, ; + Column5.ColumnOrder = 1, ; + Column5.ControlSource = "nrcrt", ; + Column5.FontName = "Arial", ; + Column5.FontSize = 10, ; + Column5.Name = "cNrCrt", ; + Column5.Width = 36, ; + Column6.ColumnOrder = 5, ; + Column6.ControlSource = "pret_cu_tva", ; + Column6.FontName = "Arial", ; + Column6.FontSize = 10, ; + Column6.Name = "cPret_cu_tva", ; + Column6.ReadOnly = .T., ; + Column6.Sparse = .F., ; + Column6.Width = 47, ; + Column7.ControlSource = "codbare", ; + Column7.FontSize = 10, ; + Column7.Name = "cCodBare", ; + Column7.ReadOnly = .T., ; + Column7.Width = 106, ; + Column8.ControlSource = "ptva", ; + Column8.FontSize = 10, ; + Column8.Name = "cPTVA", ; + Column8.ReadOnly = .T., ; + Column8.Width = 56, ; + Column9.ControlSource = "nume_lista_preturi", ; + Column9.FontSize = 10, ; + Column9.Name = "cNumeListaPreturi", ; + Column9.ReadOnly = .T., ; + Column9.Width = 142 + *< END OBJECT: ClassLib="_grd_base.vcx" BaseClass="grid" /> + + ADD OBJECT '_grdrow2.cCantitate.Header1' AS header WITH ; + Alignment = 2, ; + Caption = "Cantitate", ; + FontName = "Arial", ; + FontSize = 10, ; + Name = "Header1" + *< END OBJECT: BaseClass="header" /> + + ADD OBJECT '_grdrow2.cCantitate.Text1' AS textbox WITH ; + BackColor = 255,255,255, ; + BorderStyle = 0, ; + FontName = "Arial", ; + FontSize = 10, ; + ForeColor = 0,0,0, ; + Margin = 0, ; + Name = "Text1", ; + SelectedBackColor = 100,185,255 + *< END OBJECT: BaseClass="textbox" /> + + ADD OBJECT '_grdrow2.cCodBare.Header1' AS header WITH ; + Alignment = 2, ; + Caption = "Cod bare", ; + FontSize = 10, ; + Name = "Header1" + *< END OBJECT: BaseClass="header" /> + + ADD OBJECT '_grdrow2.cCodBare.Text1' AS textbox WITH ; + BackColor = 255,255,255, ; + BorderStyle = 0, ; + FontSize = 10, ; + ForeColor = 0,0,0, ; + Margin = 0, ; + Name = "Text1", ; + ReadOnly = .T., ; + SelectedBackColor = 100,185,255 + *< END OBJECT: BaseClass="textbox" /> + + ADD OBJECT '_grdrow2.cCodmat.Header1' AS header WITH ; + Alignment = 2, ; + Caption = "Cod material", ; + FontName = "Arial", ; + FontSize = 10, ; + Name = "Header1" + *< END OBJECT: BaseClass="header" /> + + ADD OBJECT '_grdrow2.cCodmat.Text1' AS textbox WITH ; + BackColor = 255,255,255, ; + BorderStyle = 0, ; + FontName = "Arial", ; + FontSize = 10, ; + ForeColor = 0,0,0, ; + Margin = 0, ; + Name = "Text1", ; + SelectedBackColor = 100,185,255 + *< END OBJECT: BaseClass="textbox" /> + + ADD OBJECT '_grdrow2.cDenumire.Header1' AS header WITH ; + Alignment = 2, ; + Caption = "Articol", ; + FontName = "Arial", ; + FontSize = 10, ; + Name = "Header1" + *< END OBJECT: BaseClass="header" /> + + ADD OBJECT '_grdrow2.cDenumire.Text1' AS textbox WITH ; + BackColor = 255,255,255, ; + BorderStyle = 0, ; + FontName = "Arial", ; + FontSize = 10, ; + ForeColor = 0,0,0, ; + Margin = 0, ; + Name = "Text1", ; + SelectedBackColor = 100,185,255 + *< END OBJECT: BaseClass="textbox" /> + + ADD OBJECT '_grdrow2.cNrCrt.Header1' AS header WITH ; + Alignment = 2, ; + Caption = "Nr.crt.", ; + FontName = "Arial", ; + FontSize = 10, ; + Name = "Header1" + *< END OBJECT: BaseClass="header" /> + + ADD OBJECT '_grdrow2.cNrCrt.Text1' AS textbox WITH ; + BackColor = 255,255,255, ; + BorderStyle = 0, ; + FontName = "Arial", ; + FontSize = 10, ; + ForeColor = 0,0,0, ; + Margin = 0, ; + Name = "Text1", ; + SelectedBackColor = 100,185,255 + *< END OBJECT: BaseClass="textbox" /> + + ADD OBJECT '_grdrow2.cNumeListaPreturi.Header1' AS header WITH ; + Alignment = 2, ; + Caption = "Lista preturi", ; + Name = "Header1" + *< END OBJECT: BaseClass="header" /> + + ADD OBJECT '_grdrow2.cNumeListaPreturi.Text1' AS textbox WITH ; + BackColor = 255,255,255, ; + BorderStyle = 0, ; + ForeColor = 0,0,0, ; + Margin = 0, ; + Name = "Text1", ; + ReadOnly = .T., ; + SelectedBackColor = 100,185,255 + *< END OBJECT: BaseClass="textbox" /> + + ADD OBJECT '_grdrow2.cPret.Header1' AS header WITH ; + Alignment = 2, ; + Caption = "Pret", ; + FontName = "Arial", ; + FontSize = 10, ; + Name = "Header1" + *< END OBJECT: BaseClass="header" /> + + ADD OBJECT '_grdrow2.cPret.Text1' AS textbox WITH ; + BackColor = 255,255,255, ; + BorderStyle = 0, ; + FontName = "Arial", ; + FontSize = 10, ; + ForeColor = 0,0,0, ; + Margin = 0, ; + Name = "Text1", ; + SelectedBackColor = 100,185,255 + *< END OBJECT: BaseClass="textbox" /> + + ADD OBJECT '_grdrow2.cPret_cu_tva._checkbox1' AS _checkbox WITH ; + Alignment = 2, ; + AutoSize = .F., ; + Caption = "", ; + Centered = .T., ; + FontName = "Arial", ; + FontSize = 10, ; + Left = 27, ; + Name = "_checkbox1", ; + ReadOnly = .T., ; + Top = 31 + *< END OBJECT: ClassLib="_baza.vcx" BaseClass="checkbox" /> + + ADD OBJECT '_grdrow2.cPret_cu_tva.Header1' AS header WITH ; + Alignment = 2, ; + Caption = "Cu TVA", ; + FontName = "Arial", ; + FontSize = 10, ; + Name = "Header1" + *< END OBJECT: BaseClass="header" /> + + ADD OBJECT '_grdrow2.cPTVA.Header1' AS header WITH ; + Alignment = 2, ; + Caption = "Proc. TVA", ; + Name = "Header1" + *< END OBJECT: BaseClass="header" /> + + ADD OBJECT '_grdrow2.cPTVA.Text1' AS textbox WITH ; + BackColor = 255,255,255, ; + BorderStyle = 0, ; + ForeColor = 0,0,0, ; + Margin = 0, ; + Name = "Text1", ; + ReadOnly = .T., ; + SelectedBackColor = 100,185,255 + *< END OBJECT: BaseClass="textbox" /> + + ADD OBJECT 'But_attach1' AS but_attach WITH ; + Anchor = 8, ; + Left = 681, ; + Name = "But_attach1", ; + ToolTipText = "Atasare factura la comanda", ; + Top = 3 + *< END OBJECT: ClassLib="cmd_butoane.vcx" BaseClass="commandbutton" /> + + ADD OBJECT 'But_copie' AS but_grafic WITH ; + Anchor = 8, ; + caction = do_copiaza, ; + cpicturedown = copy_jos.bmp, ; + cpictureup = copy_sus.bmp, ; + Left = 589, ; + Name = "But_copie", ; + Picture = ..\grafice\copy_sus.bmp, ; + TabIndex = 18, ; + ToolTipText = "Copiere comanda (CTRL+C)", ; + Top = 3, ; + ZOrderSet = 13 + *< END OBJECT: ClassLib="cmd_butoane.vcx" BaseClass="commandbutton" /> + + ADD OBJECT 'But_factura1' AS but_factura WITH ; + Anchor = 9, ; + Left = 739, ; + Name = "But_factura1", ; + Top = 3, ; + Visible = .T. + *< END OBJECT: ClassLib="cmd_butoane.vcx" BaseClass="commandbutton" /> + + ADD OBJECT 'But_listare1' AS but_listare WITH ; + Anchor = 9, ; + Left = 710, ; + Name = "But_listare1", ; + TabIndex = 24, ; + Top = 3 + *< END OBJECT: ClassLib="cmd_butoane.vcx" BaseClass="commandbutton" /> + + ADD OBJECT 'But_modifica1' AS but_modifica WITH ; + Anchor = 8, ; + Left = 619, ; + Name = "But_modifica1", ; + TabIndex = 16, ; + Top = 3 + *< END OBJECT: ClassLib="cmd_butoane.vcx" BaseClass="commandbutton" /> + + ADD OBJECT 'But_nou1' AS but_nou WITH ; + Anchor = 8, ; + Left = 560, ; + Name = "But_nou1", ; + TabIndex = 1, ; + Top = 3 + *< END OBJECT: ClassLib="cmd_butoane.vcx" BaseClass="commandbutton" /> + + ADD OBJECT 'But_reset_criterii1' AS but_reset_criterii WITH ; + Anchor = 9, ; + Left = 498, ; + Name = "But_reset_criterii1", ; + Picture = ..\grafice\reset_sus.bmp, ; + Top = 3, ; + Visible = .T. + *< END OBJECT: ClassLib="ocriterii.vcx" BaseClass="commandbutton" /> + + ADD OBJECT 'But_start_criterii1' AS but_start_criterii WITH ; + Anchor = 9, ; + Comment = "*:OnResize=RT", ; + Left = 527, ; + Name = "But_start_criterii1", ; + Picture = ..\grafice\find_sus.bmp, ; + Top = 3 + *< END OBJECT: ClassLib="ocriterii.vcx" BaseClass="commandbutton" /> + + ADD OBJECT 'But_sterge1' AS but_sterge WITH ; + Anchor = 8, ; + Left = 649, ; + Name = "But_sterge1", ; + TabIndex = 17, ; + Top = 3 + *< END OBJECT: ClassLib="cmd_butoane.vcx" BaseClass="commandbutton" /> + + ADD OBJECT 'Clb_tx_total' AS clb_tx_simplu WITH ; + Anchor = 12, ; + Left = 480, ; + Name = "Clb_tx_total", ; + TabIndex = 26, ; + TabStop = .F., ; + Top = 434, ; + Text_simplu1.Alignment = 3, ; + Text_simplu1.InputMask = (get_mask(14,IIF(TYPE("gnPc")='U',2,gnPc))), ; + Text_simplu1.Name = "Text_simplu1", ; + Text_simplu1.ReadOnly = .T., ; + Text_simplu1.Value = 0, ; + Lb_simplu1.Caption = "Total comandã", ; + Lb_simplu1.Name = "Lb_simplu1" + *< END OBJECT: ClassLib="lb_tx.vcx" BaseClass="container" /> + + ADD OBJECT 'Cmd_executa1' AS cmd_executa WITH ; + Anchor = 4, ; + caction = do_adauga_lucrare, ; + Caption = "\ + + ADD OBJECT 'Cmd_executa2' AS cmd_executa WITH ; + Anchor = 4, ; + caction = do_relisteaza_disp, ; + Caption = "\ + + ADD OBJECT 'Cmd_executa3' AS cmd_executa WITH ; + Anchor = 4, ; + caction = do_listeaza_disp, ; + Caption = "\ + + ADD OBJECT 'Cmd_executa4' AS cmd_executa WITH ; + Anchor = 4, ; + caction = do_adauga_lucrare_noua, ; + Caption = "Adaugã pe lucrare n\ + + ADD OBJECT 'Cmd_select_adv1' AS cmd_select_adv WITH ; + Anchor = 4, ; + ccoloana = selectat, ; + cgrid = this.parent._grdrow1, ; + FontBold = .F., ; + ForeColor = 0,64,128, ; + Height = 29, ; + Left = 7, ; + Name = "Cmd_select_adv1", ; + TabIndex = 19, ; + Top = 433, ; + Width = 111, ; + WordWrap = .T. + *< END OBJECT: ClassLib="cmd_butoane.vcx" BaseClass="commandbutton" /> + + ADD OBJECT 'lb_comenzi_elemente' AS lb_simplu WITH ; + Anchor = 9, ; + Caption = "Elemente comandã", ; + Height = 18, ; + Left = 172, ; + Name = "lb_comenzi_elemente", ; + TabIndex = 28, ; + Top = 21, ; + Width = 114 + *< END OBJECT: ClassLib="lb.vcx" BaseClass="label" /> + + PROCEDURE actualizeaza_cursoare + *!* modificare v 2.0.11 : am adaugat This.nid_sectie si gnId_sectie + Local llCautare + llCautare = .F. + + If !Used('crscomenzi') Or gcS!=This.cSchema Or Nvl(gnId_sectie,0)!= This.nid_sectie + If gcS!=This.cSchema Or Nvl(gnId_sectie,0)!= This.nid_sectie + llCautare = .T. + Endif + This.cSchema=gcS + This.nid_sectie = Nvl(gnId_sectie,0) + This.creeaza_cursoare() + *!* If llCautare + *!* This.do_cauta() + *!* Endif + Endif + ENDPROC + + PROCEDURE actualizeaza_grid1 + Lparameters tcFiltru + + If Empty(tcFiltru) + lcFiltru=pocomenzi.ca_baza1.cfiltru + Else + lcFiltru=tcFiltru + Endif + + This._grdrow1.salveaza_grid() + If Used('crstempcomenzi') + Use In crstempcomenzi + Endif + Select * From crscomenzi With (Buffering = .T.) Where selectat=1 Into Cursor crstempcomenzi Readwrite + lnSelectate=Reccount('crstempcomenzi') + pocomenzi.ca_baza1.cfiltru=lcFiltru + pocomenzi.ca_baza1.afisare() + lcOrder=pocomenzi.ca_baza1.corder + Insert Into crstempcomenzi Select * From crscomenzi Where id_comanda Not In (Select id_comanda From crstempcomenzi) + Select crstempcomenzi + If Used('crscomenzi') + Use In crscomenzi + Endif + lcComanda=[Select * From crstempcomenzi order by selectat desc,]+lcOrder+[ Into Cursor crscomenzi readwrite] + &lcComanda + *!* modificare v 2.0.1 + *!* This.actualizeaza_selectate(lnSelectate) + *!* modificare v 2.0.1 ^ + If Used('crstempcomenzi') + Use In crstempcomenzi + Endif + This._grdrow1.incarca_grid() + *!* This._grdrow1.SetAll("DynamicForeColor","IIF(inchisa=1,RGB(128,128,128),RGB(0,0,0))","Column") + + * comenzi lucrari inchise: italic + * comenzi facturate : verde + * comenzi nefacturate: negru + This._grdrow1.SetAll("DynamicFontItalic","IIF(inchisa=1,.T.,.F.)","Column") + THIS._GRdrow1.SetAll("DynamicForeColor", "IIF(facturat = 1, RGB(0,128,128), RGB(0,0,0))","Column") + + *!* modificare v 2.0.27 + This._grdrow1.cAdresa_facturare.DynamicBackColor = "IIF(afs=1,rgb(255,128,128),iif(afi=1,rgb(225,225,225),rgb(255,255,255)))" + This._grdrow1.cAdresa_livrare.DynamicBackColor = "IIF(als=1,rgb(255,128,128),iif(ali=1,rgb(225,225,225),rgb(255,255,255)))" + *!* modificare v 2.0.27 ^ + If Reccount('crscomenzi')>0 + This.cmd_executa1.Enabled=.T. + This.cmd_executa3.Enabled=.T. + This.cmd_select_adv1.Enabled=.T. + Else + This.cmd_executa1.Enabled=.F. + This.cmd_executa3.Enabled=.F. + This.cmd_select_adv1.Enabled=.F. + Endif + ENDPROC + + PROCEDURE actualizeaza_grid2 + Lparameters tcFiltru + If Empty(tcFiltru) + lcFiltru=pocomenzielemente.ca_baza1.cfiltru + Else + lcFiltru=tcFiltru + Endif + + This._grdrow2.salveaza_grid() + pocomenzielemente.ca_baza1.cfiltru=lcFiltru + pocomenzielemente.ca_baza1.afisare() + *!* modificare v 2.0.28 + This._grdrow2.cCantitate.InputMask = get_mask(14,gnPCant) + This._grdrow2.cPret.InputMask = get_mask(14,gnPPretV) + This.clb_tx_total.text_simplu1.InputMask = get_mask(14,gnPc) + *!* modificare v 2.0.28 ^ + This._grdrow2.incarca_grid() + + If Used('crssuma') + Use In crssuma + Endif + Select Nvl(Sum(Round(Pret*cantitate,gnPc)),0) As Total From crscomenzielemente Into Cursor crssuma + Select crssuma + This.clb_tx_total.text_simplu1.Value=Total + If Used('crssuma') + Use In crssuma + Endif + + ENDPROC + + PROCEDURE creeaza_cursoare + Local lcSchema,lcSelect,lcOrder,lcFiltru,llAfiseaza + Store '' To pocomenzi,pocomenzielemente + This._grdrow1.salveaza_grid() + This._grdrow2.salveaza_grid() + *!* modificare v 2.0.20 : am adaugat id_ctr, numar_contract + *!* modificare v 2.0.24 : am adaugat id_util_um, dataora_um + *!* modificare v 2.0.27 : am adaugat afs, afi, als, ali + lcSchema=[selectat n(1),id_comanda n(20),COMANDA_EXTERNA c(20),id_codclient c(20),id_lucrare n(20),id_part n(20),id_gestiune n(20),id_agent n(20),id_delegat n(20),id_masina n(20),]+; + [nr_comanda c(100),data_comanda t,nume c(100),cod_fiscal C(20),data_livrare t,nume_agent c(70),nume_delegat c(70),]+; + [serie_bi c(4),numar_bi c(10),eliberatde c(50),nrinmat c(10),nrord c(30),facturat n(1),dataora t,]+; + [utilizator c(40),data_livrat t,interna n(1),proc_discount n(10,2),]+; + [nr_livrare c(50),inchisa n(1),tip_comanda c(50),id_sectie n(5),id_sectie2 n(5),id_facturare n(5),]+; + [id_livrare n(5),adresa_facturare c(50),afs n(1),afi n(1),adresa_livrare c(50),als n(1),ali n(1),cod_client c(50),id_ctr n(10),numar_contract c(100),]+; + [id_util_um n(10),dataora_um t] + lcSelect=[select 0 as selectat,a.id_comanda,a.COMANDA_EXTERNA,a.id_codclient,a.id_lucrare,a.id_part,a.id_gestiune,a.id_agent,a.id_delegat,a.id_masina,]+; + [a.nr_comanda,a.data_comanda,a.nume,a.cod_fiscal,a.data_livrare,a.nume_agent,a.nume_delegat,a.serie_bi,a.numar_bi,a.eliberatde,]+; + [a.nrinmat,a.nrord,a.facturat,a.dataora,a.utilizator,a.data_livrat,a.interna,a.proc_discount,a.nr_livrare,a.inchisa,] + ; + [a.tip_comanda,a.id_sectie,a.id_sectie2,a.id_facturare,a.id_livrare,] + ; + [NVL(b.denumire_adresa, b.adresa) as adresa_facturare,b.sters as afs,b.inactiv as afi,] + ; + [NVL(c.denumire_adresa, c.adresa) as adresa_livrare,c.sters as als,c.inactiv as ali,] +; + [d.cod as cod_client,a.id_ctr,a.numar_contract,a.id_util_um,a.dataora_um ] + ; + [from vcomenzi a left join vadrese_parteneri b on b.id_adresa=a.id_facturare left join vadrese_parteneri c on c.id_adresa=a.id_livrare left join parteneri_coduri d on d.id=a.id_codclient] + + lcOrder=[data_comanda] + IIF(TYPE('gnRF_ORDONARECOMENZI') = 'N' AND m.gnRF_ORDONARECOMENZI = 2, " DESC", "") && 1 = ASC, 2 = DESC + lcFiltru = [id_comanda = -9999999] + lcFiltruOriginal = [] && [id_sectie =]+ALLTRIM(STR(gnId_sectie)) + llAfiseaza = .F. + lcgroup = [] + llModParam = .T. + llAfiseaza = .F. + *gencursor('pocomenzi','crscomenzi',lcSelect,lcFiltru,lcSchema,lcOrder,llAfiseaza) + gencursor('pocomenzi','crscomenzi', lcSelect, lcFiltru, lcSchema, lcOrder, llAfiseaza, lcgroup, llModParam, lcFiltruOriginal) + pocomenzi.ca_baza1.afisare() + + *!* modificare v 2.0.8 : am adaugat pret_cu_tva + lcSchema=[nrcrt n(20),id_comanda_element n(20),id_comanda n(20),id_articol n(20),id_pol n(20),nume_lista_preturi C(200),denumire c(100),pret n(16,3),cantitate n(16,3),um c(10),codmat c(40),codbare c(50),pret_cu_tva n(1),ptva n(5,2)] + lcSelect=[select row_number() over (order by id_comanda_element) as nrcrt,id_comanda_element,id_comanda,] + ; + [id_articol,id_pol,nume_lista_preturi,denumire,pret,cantitate,um,codmat,codbare,pret_cu_tva,ptva from vcomenzi_elemente ] + lcOrder=[id_comanda_element] + lcFiltru = [id_comanda = -9999999] + llAfiseaza = .F. + *gencursor('pocomenzielemente','crscomenzielemente',lcSelect,lcFiltru,lcSchema,lcOrder,llAfiseaza) + gencursor('pocomenzielemente','crscomenzielemente', lcSelect, lcFiltru, lcSchema, lcOrder, llAfiseaza, lcgroup, llModParam, lcFiltruOriginal) + pocomenzielemente.ca_baza1.afisare() + + This.clb_tx_total.text_simplu1.Value = 0 + This._grdrow1.incarca_grid() + This._grdrow2.incarca_grid() + *!* modificare v 2.0.11 + *!* *!* modificare v 2.0.1 + *!* This.do_cauta() + *!* *!* modificare v 2.0.1 ^ + *!* modificare v 2.0.11 ^ + ENDPROC + + PROCEDURE do_adauga + Private pniesire,pcNrComanda + Store [] To pcNrComanda + pniesire=0 + If Used('crscomanda_curenta') + Use In crscomanda_curenta + Endif + Select a.*,Round(a.Pret*a.cantitate,gnPc) As valoare From crscomenzielemente a Where 1=2 Into Cursor crscomanda_curenta Readwrite + Select crscomenzi + Scatter Name loRec Blank + + goExecutor.oFunction2Value([pack_comenzi.genereaza_nr_comanda],@pcNrComanda) + loRec.interna = 2 + loRec.nr_comanda=pcNrComanda + *!* update_articole_politica_utilizator() + Do Adauga_Modifica_Inregistrare With "comenzi",loRec,,"INSERT" + If pniesire=1 + This.actualizeaza_grid1() + Select crscomenzi + Locate For data_comanda=loRec.data_comanda And nr_comanda=loRec.nr_comanda + This.do_modifica(1) + *!* This._grdrow1.SetFocus() + Endif + ENDPROC + + PROCEDURE do_adauga_lucrare + If Used('crstempcomlucrare') + Use In crstempcomlucrare + Endif + Select * From crscomenzi Where selectat=1 Into Cursor crstempcomlucrare + If Reccount('crstempcomlucrare')=0 + amessagebox("Selectati cel putin o comanda!",0+48,"Atentie") + Use In crstempcomlucrare + Return + Endif + + Select crstempcomlucrare + Calculate Count() For !Isnull(id_lucrare) To lnNrLucrari + Calculate Max(data_livrare) To ltMaxDataLivrare + + If lnNrLucrari>0 + If amessagebox("Exista comenzi selectate care se afla deja pe lucrari.Doriti sa le mutati pe alta lucrare?",4+48+256,"Atentie")<>6 + Use In crstempcomlucrare + Return + Endif + Endif + + Local loCauta + loCauta=caut_lucrari_curente_gs() + *!* Do Case + *!* Case (!Isnull(loCauta.termen_executie) Or !Empty(loCauta.termen_executie)) And loCauta.termen_executie0 + If amessagebox("Exista comenzi selectate care se afla deja pe lucrari.Doriti sa le mutati pe alta lucrare?",4+48+256,"Atentie")<>6 + Use In crstempcomlucrare + Return + Endif + Endif + + + *!* modificare v 2.0.9 + If verifica_lucrare(NULL,[crstempcomlucrare]) + *!* modificare v 2.0.9 ^ + ptDataLucrare = get_ora() + ofrmData = Createobject("frm_data") + ofrmData.txt_data.ControlSource = 'ptDataLucrare' + ofrmData.Show(1) + If gnButon = 1 + lcSql = [begin pack_comenzi.genereaza_lucrare(?ptDataLucrare,?Nvl(gnOre_executie,1),?gnIdUtil,] + ALLTRIM(STR(This.nid_sectie)) + [,?@pcNrOrd,?@pnIdLucrare); end;] + lnSucces = goExecutor.oExecute(lcSql) + If lnSucces < 0 + amessagebox(goExecutor.oPrelucrareEroare(),16,"Eroare") + Else + MakeTransactable('crscomenzi') + If IsTransactable('crscomenzi') + && cu tranzactii + lcSirIdComenzi=[] + Begin Transaction + Select crstempcomlucrare + Scan + lnIdComanda=id_comanda + lcSirIdComenzi=lcSirIdComenzi+Alltrim(Str(lnIdComanda))+[;] + Update crscomenzi Set id_lucrare=pnIdLucrare,nrord=Alltrim(pcNrOrd) Where id_comanda=lnIdComanda + Endscan + + lcSql = [begin pack_comenzi.adauga_lucrare_pe_comenzi('] + Alltrim(lcSirIdComenzi) + [',] + ; + ALLTRIM(Str(pnIdLucrare)) + [,] + Alltrim(Str(gnIdUtil)) + [,]+Alltrim(Str(This.nid_sectie))+[); end;] + lnSucces = goExecutor.oExecute(lcSql) + + If lnSucces < 0 + amessagebox(goExecutor.oPrelucrareEroare(),0+16,"Eroare") + Rollback + Else + End Transaction + amessagebox("Comenzile au fost adaugate pe lucrare!",0+64,"Info actualizare") + Endif + + Else + && fara tranzactii + Select crstempcomlucrare + Scan + lnIdComanda=id_comanda + lcSirIdComenzi=lcSirIdComenzi+Alltrim(Str(lnIdComanda))+[;] + Update crscomenzi Set id_lucrare=pnIdLucrare,nrord=Alltrim(pcNrOrd) Where id_comanda=lnIdComanda + Endscan + + lcSql = [begin pack_comenzi.adauga_lucrare_pe_comenzi('] + Alltrim(Str(lcSirIdComenzi)) + [',] + ; + ALLTRIM(Str(pnIdLucrare)) + [,] + Alltrim(Str(gnIdUtil)) + [,]+Alltrim(Str(This.nid_sectie))+[); end;] + lnSucces = goExecutor.oExecute(lcSql) + + If lnSucces < 0 + amessagebox(goExecutor.oPrelucrareEroare(),0+16,"Eroare") + Else + Select crstempcomlucrare + Scan + lnIdComanda=id_comanda + Update crscomenzi Set id_lucrare=pnIdLucrare,nrord=Alltrim(pcNrOrd) Where id_comanda=lnIdComanda + Endscan + amessagebox("Comenzile au fost adaugate pe lucrare!",0+64,"Info actualizare") + Endif + Endif + *!* this.actualizeaza_grid1() + Endif + Endif + *!* modificare v 2.0.9 + Endif + *!* modificare v 2.0.9 ^ + + Use In crstempcomlucrare + Release pnIdLucrare,pcNrOrd + ENDPROC + + PROCEDURE do_cauta + Local lcFiltru + lcFiltru = [id_sectie = ] + Alltrim(Str(This.nid_sectie)) + + IF LEN(THIS.filtru_pretty)>0 + lcFiltru = m.lcFiltru+" and (" + ALLTRIM(THIS.filtru_pretty) + ")" + ENDIF + + *!* IF ![inchisa]$m.lcFiltru + *!* lcFiltru = lcFiltru + [ and inchisa = 0] + *!* ENDIF + + This.actualizeaza_grid1(m.lcFiltru) + + If Reccount('crscomenzi')>0 + This._grdrow1.SetFocus() + Else + If Reccount('crscomenzielemente')>0 + This.actualizeaza_grid2([1=2]) + ENDIF + IF this.lShowRezultate + amessagebox("Cautarea nu a intors rezultate!",0+64,"Info cautare") + ENDIF + Endif + + + ENDPROC + + PROCEDURE do_copiaza + If Reccount('crscomenzi') > 0 + Private pnId_comanda, pnId_comanda_nou, pcSir, pcSeparator + Store 0 To pnId_comanda, pnId_comanda_nou + Store "" To pcSir,pcSeparator + + If Used('crscopycom') + Use In crscopycom + Endif + Select * From crscomenzi Where selectat=1 Into Cursor crscopycom Readwrite + Do Case + Case Reccount('crscopycom')=0 + amessagebox("Selectati cel putin o comanda!",0+48,"Atentie") + Use In crscopycom + Return + Case Reccount('crscopycom')=1 + Select crscopycom + pnId_comanda = id_comanda + lnNr_comanda = Alltrim(nr_comanda) + lcData_comanda = Dtoc(Ttod(data_comanda)) + + lnRaspuns = amessagebox('Doriti sa copiati comanda nr: ' + lnNr_comanda + ' din data ' + lcData_comanda +' ?',4+32,"Confirmare copiere") + If lnRaspuns = 7 + Use In crscopycom + Return + Endif + + lcSql = [begin pack_comenzi.copiaza_comanda(?pnId_comanda, NULL, ?gnIdUtil, ?@pnId_comanda_nou); end;] + Otherwise + lnRaspuns = amessagebox('Doriti sa copiati comenzile selectate pentru data de azi?',4+32,"Confirmare copiere") + If lnRaspuns = 7 + Use In crscopycom + Return + Endif + + pcSeparator = [|] + Select crscopycom + Scan + pcSir = pcSir + Alltrim(Str(id_comanda)) + pcSeparator + Endscan + + lcSql = [begin pack_comenzi.copiaza_comenzi(?pcSir,?pcSeparator,?gnIdUtil); end;] + Endcase + + lnSucces = goExecutor.oExecute(lcSql) + If lnSucces < 0 + amessagebox(goExecutor.oPrelucrareEroare(),0+16,"Eroare") + Else + This.actualizeaza_grid1() + If pnId_comanda_nou <> 0 + This.Refresh() + Select crscomenzi + Locate For id_comanda = pnId_comanda_nou + If Found() + *!* modificare v 2.0.8 + This.actualizeaza_grid2([id_comanda=]+Alltrim(Str(pnId_comanda_nou))) + *!* modificare v 2.0.8 ^ + This.inainte_de_do_modifica() + Endif + Endif + Endif + Use In crscopycom + Else + amessagebox("Nu exista inregistrari in vizualizare!",0+48,"Atentie") + Endif + + ENDPROC + + PROCEDURE do_factura + LOCAL lnRec + SELECT crsComenzi + SCATTER NAME goComanda MEMO + lnRec = RECNO() + + DO facturare_comenzi IN oproceduri_facturare.prg + + this.do_cauta() + + SELECT crsComenzi + TRY + GOTO m.lnRec + CATCH + GO TOP + ENDTRY + ENDPROC + + PROCEDURE do_listare + LOCAL lnOptiune, lnRecno + If Reccount("crscomenzi")>0 + lnRecno = RECNO('crsComenzi') + *!* Private pcDataOra && modificare v 2.0.11 + lnOptiune = xmenu('\0 + Select (lcCursor) + ocomanda.detalii_adresa_livrare = Alltrim(adresa) + Endif + If Used(lcCursor) + Use In (lcCursor) + Endif + Endif + Endif + + Use In (SELECT('crsp')) + + Select Distinct pret_cu_tva From crscomenzielemente Into Cursor crsp + If Reccount('crsp') = 1 + Select crsp + ocomanda.explicatie_tva = Iif(pret_cu_tva=0,[fãrã TVA],[cu TVA]) + Endif + Use In crsp + + lcRaport = IIF(m.lnOptiune = 2, [detalii_comanda], [detalii_comanda_ingust]) + goExport.export2frx([crscomenzielemente], m.lcRaport, , , , , , .T.) + + Release ocomanda + + Otherwise + Return + Endcase + + SELECT crsComenzi + TRY + GOTO m.lnRecno + CATCH + GO TOP + ENDTRY + Else + amessagebox("Nu exista inregistrari in selectie!",0+48,"Atentie") + ENDIF + this._grdrow1.SetFocus() + + ENDPROC + + PROCEDURE do_listeaza_disp + Private pniesire,podetlivrare + pniesire=0 + If Used('crstempcomlivrare') + Use In crstempcomlivrare + Endif + Select * From crscomenzi Where selectat=1 Into Cursor crstempcomlivrare Readwrite + If Reccount('crstempcomlivrare')=0 + amessagebox("Selectati cel putin o comanda!",0+48,"Atentie") + Use In crstempcomlivrare + Return + Endif + + Select crstempcomlivrare + Calculate Count() For !Isnull(id_agent) Or !Isnull(id_delegat) Or !Isnull(id_masina) To lnNrAgenti + Calculate Max(data_livrare),Max(data_comanda) To ltMaxDataLivrare,ltMaxDataComanda + Calculate Count() For interna=1 To lnComenziInterne + + Do Case + Case lnComenziInterne=Reccount('crstempcomlivrare') + amessagebox("Pentru comenzile interne nu se pot lista dispozitii!",0+48,"Atentie") + Use In crstempcomlivrare + Return + Case lnComenziInterne>0 + amessagebox("Ati selectat si comenzi interne. Pentru acestea nu se vor lista dispozitii!",0+48,"Atentie") + Endcase + + If lnNrAgenti>0 + If amessagebox("Exista comenzi selectate pentru care au fost deja listate dispozitiile. Doriti sa le modificati datele?",4+48+256,"Atentie")<>6 + Use In crstempcomlivrare + Return + Endif + Endif + + Select crstempcomlivrare + Scatter Name podetlivrare Blank + podetlivrare.data_comanda=ltMaxDataComanda + podetlivrare.data_livrat=get_ora() + ofrmlivrare=Createobject('frm_livrare') + ofrmlivrare.Show(1) + + If pniesire=1 + Private pcNrLivrare,pcDataOra,pcText + Select crstempcomlivrare + Scan For interna<>1 + Store [] To pcNrLivrare + lnIdComanda=id_comanda + lcSql = [begin pack_comenzi.livreaza_comanda(] + Alltrim(Str(lnIdComanda)) + [,] + ; + IIF(Empty(Nvl(podetlivrare.id_agent,'')),[NULL],[?podetlivrare.id_agent]) + [,] + ; + IIF(Empty(Nvl(podetlivrare.id_delegat,'')),[NULL],[?podetlivrare.id_delegat]) + [,] + ; + IIF(Empty(Nvl(podetlivrare.id_masina,'')),[NULL],[?podetlivrare.id_masina]) + ; + [,to_date(']+Ttoc(podetlivrare.data_livrat,1)+[','YYYYMMDDHH24MISS'),] + ; + Alltrim(Str(gnIdUtil)) + [,?@pcNrLivrare); end;] + lnSucces = goExecutor.oExecute(lcSql) + If lnSucces < 0 + amessagebox(goExecutor.cEroare,0+16,"Eroare") + Return + Endif + + Update crscomenzi Set id_agent=podetlivrare.id_agent,id_delegat=podetlivrare.id_delegat,id_masina=podetlivrare.id_masina,data_livrat=podetlivrare.data_livrat,; + nume_agent=podetlivrare.nume_agent,nume_delegat=podetlivrare.nume_delegat,nrinmat=podetlivrare.nrinmat,nr_livrare=pcNrLivrare Where id_comanda=lnIdComanda + + Select crstempcomlivrare + Replace id_agent With podetlivrare.id_agent,id_delegat With podetlivrare.id_delegat,id_masina With podetlivrare.id_masina,; + data_livrat With podetlivrare.data_livrat, nume_agent With Nvl(podetlivrare.nume_agent,[]), nume_delegat With Nvl(podetlivrare.nume_delegat,[]),; + nrinmat With Nvl(podetlivrare.nrinmat,[]),nr_livrare With pcNrLivrare + + Scatter Name olivrare + olivrare.serie_bi=Iif(Empty(Nvl(podetlivrare.serie_bi,[])),Replicate([_],4),Alltrim(podetlivrare.serie_bi)) + olivrare.numar_bi=Iif(Empty(Nvl(podetlivrare.numar_bi,[])),Replicate([_],8),Alltrim(podetlivrare.numar_bi)) + olivrare.eliberatde=Iif(Empty(Nvl(podetlivrare.eliberatde,[])),Replicate([_],24),Alltrim(podetlivrare.eliberatde)) + lcSql = [select codmat,denumire,um,cantitate,pret,sysdate as dataora from ] + This.cSchema + [.vcomenzi_elemente ] + ; + [where id_comanda=?olivrare.id_comanda] + lcCursor = [crslivrarecomanda] + lnSucces = goExecutor.oExecute(lcSql,lcCursor) + If lnSucces < 0 + amessagebox(goExecutor.cEroare,0+16,"Eroare") + Return + Endif + + If Reccount('crslivrarecomanda')>0 + *!* this.AlwaysOnTop=.F. + Select crslivrarecomanda + pcDataOra=Ttoc(dataora) + pcText = Space(12)+'Veþi elibera produsele de mai jos cãtre '+Alltrim(olivrare.nume)+; + ' prin delegatul '+Alltrim(olivrare.nume_delegat)+' cu delegaþia nr. '+Replicate([_],20)+; + ', buletin de identitate seria '+olivrare.serie_bi+' nr.'+olivrare.numar_bi+; + ' eliberat de '+olivrare.eliberatde+' .' + *!* modificare v 2.0.11 + *!* Keyboard "{CTRL+F10}" + *!* Report Form dispozitie_livrare To Printer Prompt Preview + goExport.export2frx([crslivrarecomanda],[dispozitie_livrare], , , , , , .T.) + *!* modificare v 2.0.11 ^ + *!* this.AlwaysOnTop=.T. + Else + amessagebox("Nu exista elemente pe comanda "+Alltrim(olivrare.nr_comanda)+" !",0+48,"Atentie") + Endif + + If Used('crslivrarecomanda') + Use In crslivrarecomanda + Endif + + Select crstempcomlivrare + Endscan + *!* this.actualizeaza_grid1() + + Select crscomenzi + Locate For id_comanda = olivrare.id_comanda + Endif + + Use In crstempcomlivrare + This._grdrow1.SetFocus() + RELEASE podetlivrare,olivrare + ENDPROC + + PROCEDURE do_modifica + Lparameters tnTip + && 0 - modificare + && 1 - vine din adaugare + If Reccount('crscomenzi')>0 + Local lnTip + lnTip = Iif(Empty(tnTip),0,1) + Select crscomenzi + Scatter Name loRec + Do Case + Case loRec.inchisa=1 + amessagebox("Aceasta comanda este pe o lucrare inchisa si nu mai poate fi modificata!",0+48,"Atentie") + Case loRec.facturat=1 + amessagebox("Aceasta comanda a fost facturata si nu mai poate fi modificata!",0+48,"Atentie") + Otherwise + Private pniesire,pcNrComanda + Store [] To pcNrComanda + pniesire=0 + If Used('crscomanda_curenta') + Use In crscomanda_curenta + Endif + *!* modificare v 2.0.24 + loBackupXML = Createobject("BackupXML", "comanda_" + Alltrim(Str(loRec.id_comanda))) && oproceduri_comune.prg + AddProperty(loRec,"oBackupXML",loBackupXML) + AddProperty(loRec,"lcomandareincarcata",.F.) + If loBackupXML.ExistsBackupSet() + ldDataOraBackupXML = loBackupXML.ReadValue("DATAORA_UM") + *!* modificare v 2.0.26 : am adaugat conditia EMPTY... + If Ttoc(Nvl(Iif(Empty(ldDataOraBackupXML),Null,ldDataOraBackupXML),Datetime(1900,1,1))) = Ttoc(Nvl(Iif(Empty(loRec.dataora_um),Null,loRec.dataora_um),Datetime(1900,1,1))) + If amessagebox("S-au gasit modificari care nu au fost salvate in baza de date.Doriti sa le incarcati?",4+32,"Confirmare") = 6 + loBackupXML.RestoreBackupSet() + loRec.lcomandareincarcata = .T. + Else + loBackupXML.DeleteBackUpSet() + Endif + Else + loBackupXML.DeleteBackUpSet() + Endif + Endif + If !loRec.lcomandareincarcata + If lnTip = 0 + Select a.*,Round(a.Pret*a.cantitate,gnPc) As valoare From crscomenzielemente a Into Cursor crscomanda_curenta Readwrite + Else + Select a.*,Round(a.Pret*a.cantitate,gnPc) As valoare From crscomenzielemente a Where 1=2 Into Cursor crscomanda_curenta Readwrite + Endif + loBackupXML.SaveBackupSet("crscomanda_curenta") + loBackupXML.SaveBackupSet("DATAORA_UM","VARIABLE",loRec.dataora_um) + Endif + *!* If lnTip = 0 + *!* Select a.*,Round(a.Pret*a.cantitate,gnPc) As valoare From crscomenzielemente a Into Cursor crscomanda_curenta Readwrite + *!* Else + *!* Select a.*,Round(a.Pret*a.cantitate,gnPc) As valoare From crscomenzielemente a Where 1=2 Into Cursor crscomanda_curenta Readwrite + *!* Endif + *!* modificare v 2.0.24 ^ + *!* modificare 21.01.2008 + Do Case + Case Inlist(loRec.interna,2,5) && modificare v 2.0.20 + If lnTip = 0 And Reccount('crscomanda_curenta')>0 + Select crscomanda_curenta + lnIdPol = id_pol + Else + loCauta = caut_politici_curente_utilizator() + If !Empty(Nvl(loCauta.id_pol,0)) + lnIdPol = loCauta.id_pol + Else + Select crscomenzi + Return + Endif + Endif + update_articole_politica(lnIdPol) + Case loRec.interna = 3 + lcOptiune = [IDPOLITICAPRET] + update_articole_politica_comenzi(lcOptiune) + Otherwise + lcOptiune = [ID_LISTA_PRETURI_PV] + update_articole_politica_comenzi(lcOptiune) + Endcase + *!* Do Case + *!* Case loRec.interna = 2 + *!* lcOptiune = [IDPOLITICAPRETC] + *!* Case loRec.interna = 3 + *!* lcOptiune = [IDPOLITICAPRET] + *!* Otherwise + *!* lcOptiune = [ID_LISTA_PRETURI_PV] + *!* Endcase + *!* update_articole_politica_comenzi(lcOptiune) + *!* modificare 21.01.2008 ^ + *!* modificare v 2.0.8 + If lnTip = 0 And Reccount('crscomanda_curenta') > 0 + *!* modificare v 2.0.11 + If Reccount('v_articole') = 0 + amessagebox("Politica aleasa initial pe aceasta comanda nu mai este valabila!",48,"Atentie") + Use In v_articole + Return + Else + *!* modificare v 2.0.11 ^ + Select v_articole + lnIdPolNArt = id_pol + lnPretCuTvaNArt = pret_cu_tva + Select crscomanda_curenta + lnIdPolVArt = id_pol + lnPretCuTvaVArt = pret_cu_tva + If lnPretCuTvaNArt <> lnPretCuTvaVArt + amessagebox("Politica aleasa initial pe aceasta comanda era " + Iif(lnPretCuTvaVArt=1,[cu],[fara]) + " TVA," + ; + "iar acum este " + Iif(lnPretCuTvaNArt=1,[cu],[fara]) + " TVA!",48,"Atentie") + Use In v_articole + Return + Endif + If lnIdPolNArt <> lnIdPolVArt + amessagebox("Politica aleasa initial pe aceasta comanda este diferita de politica de preturi implicita!",48,"Atentie") + Use In v_articole + Return + Endif + *!* modificare v 2.0.11 + Endif + *!* modificare v 2.0.11 ^ + Endif + *!* modificare v 2.0.8 ^ + *!* modificare v 2.0.16 + *!* Do Adauga_Modifica_Inregistrare With "comenzi",loRec,loRec.id_comanda,"UPDATE" + Private pcMesajVerificareCom + pcMesajVerificareCom = [] + lcSql = [begin ?@pcMesajVerificareCom:=pack_comenzi.verifica_acces_comanda(]+Alltrim(Str(loRec.id_comanda))+[); end;] + If !goExecutor.oExecuta(lcSql) + pniesire = 0 + Else + AddProperty(loRec,"cmesajverificare",pcMesajVerificareCom) + Do Adauga_Modifica_Inregistrare With "comenzi",loRec,loRec.id_comanda,"UPDATE" + If Isnull(pcMesajVerificareCom) + lcSql = [begin pack_comenzi.deblocheaza_acces_comanda(] + Alltrim(Str(loRec.id_comanda)) + [); end;] + goExecutor.oExecuta(lcSql) + Endif + Endif + Release pcMesajVerificareCom + *!* modificare v 2.0.16 ^ + If pniesire=1 + *!* modificare v 2.0.24 + loBackupXML.DeleteBackUpSet() + *!* modificare v 2.0.24 ^ + If loRec.selectat=1 + Update crscomenzi Set nr_comanda=loRec.nr_comanda,id_part=loRec.id_part,nume=loRec.nume,; + data_comanda=loRec.data_comanda,interna=loRec.interna,data_livrare=loRec.data_livrare, ; + tip_comanda = Iif(loRec.interna = 1,'INTERNA',Iif(loRec.interna = 2,'EXTERNA - SIMPLA',Iif(loRec.interna = 5,'EXTERNA - PE BAZA DE CONTRACT','SUBUNITATE'))) ; + where id_comanda=loRec.id_comanda + Endif + This.actualizeaza_grid1() + Select crscomenzi + Locate For id_comanda=loRec.id_comanda + This._grdrow1.SetFocus() + Endif + *!* modificare v 2.0.24 + Release loBackupXML + *!* modificare v 2.0.24 ^ + Endcase + Else + amessagebox("Nu exista inregistrari in vizualizare!",0+48,"Atentie") + Endif + + ENDPROC + + PROCEDURE do_relisteaza_disp + Private pniesire + pniesire=0 + If Used('crstempcomlivrare') + Use In crstempcomlivrare + Endif + Select * From crscomenzi Where selectat=1 Into Cursor crstempcomlivrare Readwrite + If Reccount('crstempcomlivrare')=0 + amessagebox("Selectati cel putin o comanda!",0+48,"Atentie") + Use In crstempcomlivrare + Return + Endif + + Select crstempcomlivrare + Calculate Count() For interna=1 To lnComenziInterne + Calculate Count() For Empty(nr_livrare) Or Isnull(nr_livrare) To lnNrLivrari + + If lnComenziInterne=Reccount('crstempcomlivrare') + amessagebox("Pentru comenzile interne nu se pot lista dispozitii!",0+48,"Atentie") + Use In crstempcomlivrare + Return + Else + lcMesajAtentionare = [] + If lnComenziInterne>0 + lcMesajAtentionare = [Ati selectat si comenzi interne. Pentru acestea nu se vor lista dispozitii!] + Chr(13) + Chr(10) + Endif + If lnNrLivrari > 0 + lcMesajAtentionare = lcMesajAtentionare + [Ati selectat si comenzi care nu au generate numere de livrare.] + ; + CHR(13) + Chr(10) + Chr(9) + [Pentru acestea trebuie sa apasati butonul 'Listeaza dispozitii de livrare'!] + Endif + If !Empty(lcMesajAtentionare) + amessagebox(lcMesajAtentionare,0+48,"Atentie") + Endif + Endif + + Select crstempcomlivrare + Private pcDataOra,pcText + Store '' To pcDataOra,pcText + Select crstempcomlivrare + Scan For interna<>1 And !Empty(Nvl(nr_livrare,0)) + Scatter Name olivrare + lcSql = [select codmat,denumire,um,cantitate,pret,sysdate as dataora from ] + This.cSchema + [.vcomenzi_elemente ] + ; + [where id_comanda= ?olivrare.id_comanda] + lcCursor = [crslivrarecomanda] + lnSucces = goExecutor.oExecute(lcSql,lcCursor) + If lnSucces < 0 + amessagebox(goExecutor.cEroare,0+16,"Eroare") + Return + Endif + + If Reccount('crslivrarecomanda')>0 + *!* this.AlwaysOnTop=.F. + Select crslivrarecomanda + olivrare.serie_bi=Iif(Empty(Nvl(olivrare.serie_bi,[])),Replicate([_],4),Alltrim(olivrare.serie_bi)) + olivrare.numar_bi=Iif(Empty(Nvl(olivrare.numar_bi,[])),Replicate([_],8),Alltrim(olivrare.numar_bi)) + olivrare.eliberatde=Iif(Empty(Nvl(olivrare.eliberatde,[])),Replicate([_],24),Alltrim(olivrare.eliberatde)) + + pcDataOra=Ttoc(dataora) + pcText = Space(12)+'Veþi elibera produsele de mai jos cãtre '+Alltrim(olivrare.nume)+; + ' prin delegatul '+Alltrim(olivrare.nume_delegat)+' cu delegaþia nr. '+Replicate([_],20)+; + ', buletin de identitate seria '+olivrare.serie_bi+' nr.'+olivrare.numar_bi+; + ' eliberat de '+olivrare.eliberatde+' .' + *!* modificare v 2.0.11 + *!* Keyboard "{CTRL+F10}" + *!* Report Form dispozitie_livrare To Printer Prompt Preview + goExport.export2frx([crslivrarecomanda],[dispozitie_livrare], , , , , , .T.) + *!* modificare v 2.0.11 ^ + *!* this.AlwaysOnTop=.T. + Else + amessagebox("Nu exista elemente pe comanda "+Alltrim(olivrare.nr_comanda)+" !",0+48,"Atentie") + Endif + + If Used('crslivrarecomanda') + Use In crslivrarecomanda + Endif + + Select crstempcomlivrare + Endscan + *!* this.actualizeaza_grid1() + Select crscomenzi + If Type('olivrare')<>'U' + Locate For id_comanda = olivrare.id_comanda + Endif + + Use In crstempcomlivrare + This._grdrow1.SetFocus() + Release olivrare + ENDPROC + + PROCEDURE do_reset + THIS.filtru_pretty = "" + THIS.filtru_pretty_ro = "" + THIS.filtru_pretty_ro_full = "" + IF TYPE("this.but_start_criterii1") = 'O' + THIS.but_start_criterii1.TOOLTIPTEXT=THIS.filtru_pretty_ro + THIS.but_start_criterii1.SETFOCUS + THIS.but_start_criterii1.pornit = "nu" + ENDIF + THIS.do_cauta() + THIS.REFRESH + + + ENDPROC + + PROCEDURE do_sterge + If Reccount('crscomenzi')>0 + Select crscomenzi + Scatter Name loRec + Do Case + Case loRec.inchisa=1 + amessagebox("Aceasta comanda este pe o lucrare inchisa si nu mai poate fi stearsa!",0+48,"Atentie") + Case loRec.facturat=1 + amessagebox("Aceasta comanda a fost facturata si nu mai poate fi stearsa!",0+48,"Atentie") + Otherwise + Private pniesire + pniesire=0 + *!* modificare v 2.0.16 + *!* Do STERGE_INREGISTRARE With "comenzi",loRec.id_comanda + Private pcMesajVerificareCom + pcMesajVerificareCom = [] + lcSql = [begin ?@pcMesajVerificareCom:=pack_comenzi.verifica_acces_comanda(]+Alltrim(Str(loRec.id_comanda))+[); end;] + lnSucces = goExecutor.oExecute(lcSql) + If lnSucces < 0 + amessagebox(goExecutor.cEroare,16,"Eroare") + pniesire = 0 + Else + If !Isnull(pcMesajVerificareCom) + amessagebox(pcMesajVerificareCom,48,"Atentie") + pniesire = 0 + Else + Do STERGE_INREGISTRARE With "comenzi",loRec.id_comanda + lcSql = [begin pack_comenzi.deblocheaza_acces_comanda(] + Alltrim(Str(loRec.id_comanda)) + [); end;] + lnSucces = goExecutor.oExecute(lcSql) + If lnSucces < 0 + amessagebox(goExecutor.cEroare,16,"Eroare") + Endif + Endif + Endif + Release pcMesajVerificareCom + *!* modificare v 2.0.16 ^ + If pniesire=1 + If loRec.selectat=1 + Update crscomenzi Set selectat=0 Where id_comanda=loRec.id_comanda + Endif + This.actualizeaza_grid1() + Endif + Endcase + Else + amessagebox("Nu exista inregistrari in vizualizare!",0+48,"Atentie") + Endif + ENDPROC + + PROCEDURE Init + gcAcces=[1;2;3;4;] + DoDefault() + + ENDPROC + + PROCEDURE But_attach1.Click + Local lcSql, llSucces + PRIVATE pnIdComanda, pnIdVanzare + pnIdComanda = crsComenzi.id_comanda + pnIdVanzare = 0 + lnIdPart = crsComenzi.id_part + + IF !EMPTY(NVL(m.lnIdPart,0)) AND AMESSAGEBOX('Doriti sa asociati comanda pe o factura deja emisa?',4+32,_Screen.Caption) = 6 + loCauta = caut_facturi_multiple_client(m.lnIdPart) + If !Isnull(loCauta) And !Empty(NVL(loCauta.id_vanzare,0)) + pnIdVanzare = loCauta.id_vanzare + + lcSql = [BEGIN pack_comenzi.adauga_comanda_pe_factura(?pnIdComanda, ?pnIdVanzare); end;] + llSucces = goExecutor.oExecuta(m.lcSql) + IF m.llSucces + AMESSAGEBOX('Comanda a fost asociata pe factura!',0+64,_screen.Caption) + ENDIF + ENDIF + ENDIF + + + ENDPROC + + PROCEDURE But_reset_criterii1.Click + LOCAL lcFiltru, lcComenziInitial + + THIS.Parent.filtru_pretty = "" + THIS.Parent.filtru_pretty_ro = "" + THIS.Parent.filtru_pretty_ro_full = "" + + IF TYPE("this.parent.but_start_criterii1") = 'O' + THIS.Parent.but_start_criterii1.TOOLTIPTEXT=THIS.Parent.filtru_pretty_ro + THIS.Parent.but_start_criterii1.SETFOCUS + THIS.Parent.but_start_criterii1.pornit = "nu" + IF PEMSTATUS(this.Parent, 'oCriterii',5) + REMOVEPROPERTY(this.Parent, "oCriterii") + ENDIF + ENDIF + + lnComenziInitial = IIF(!EMPTY(NVL(m.gnComenziInitial,0)), INT(m.gnComenziInitial), 3) && nefacturate + lcfiltru = [Stare facturat;nofiled;] + ALLTRIM(STR(m.lnComenziInitial)) + [;|Stare lucrare;nofiled;1;] && facturate sau recente 90 zile, deschise + + This.Parent.but_start_criterii1.loadfiltru(m.lcFiltru) + THIS.Parent.REFRESH + ENDPROC + + PROCEDURE But_start_criterii1.loadcriterii + PARAMETERS tacriterii + EXTERNAL ARRAY tacriterii + #DEFINE crlf CHR(13)+CHR(10) + + lcStringCriterii="Data comandã\data_comanda\D\none\" + crlf + ; + "Numar comanda\nr_comanda\T\none\" + crlf + ; + "Beneficiar\nume\T\none\"+ crlf + ; + "Client\nume\T\id_part\nom_parteneri"+ crlf + ; + "Data livrare\data_comanda\D\none\" + crlf + ; + "Agent\nume_agent\T\id_agent\nom_parteneri"+ crlf + ; + "Delegat\nume_delegat\T\id_delegat\nom_parteneri"+ crlf + ; + "Lucrare\nrord\T\id_lucrare\nom_lucrare" + crlf + ; + "Contract\numar_contract\T\id_ctr\nom_contracte" + crlf + ; + "Masina\nrinmat\T\none\"+ crlf + ; + "Data introducere\trunc(dataora)\D\none\" + crlf + ; + "Oper. introducere\utilizator\T\id_util\nom_utilizator" + crlf + ; + "Stare facturat\nofiled\A\Toate,Facturate,Nefacturate," + ; + "Nefacturate sau Recente 1 zi,Nefacturate sau Recente 3 zile,Nefacturate sau Recente 7 zile," + ; + "Nefacturate sau Recente 15 zile,Nefacturate sau Recente 30 zile,Nefacturate sau Recente 60 zile,Nefacturate sau Recente 90 zile#" + ; + "1=1,facturat=1,facturat=0," + ; + "(facturat=0 or trunc(data_comanda)>=trunc(sysdate)-1)," + ; + "(facturat=0 or trunc(data_comanda)>=trunc(sysdate)-3)," + ; + "(facturat=0 or trunc(data_comanda)>=trunc(sysdate)-7)," + ; + "(facturat=0 or trunc(data_comanda)>=trunc(sysdate)-15)," + ; + "(facturat=0 or trunc(data_comanda)>=trunc(sysdate)-30),(facturat=0 or trunc(data_comanda)>=trunc(sysdate)-60),(facturat=0 or trunc(data_comanda)>=trunc(sysdate)-90)\" + crlf + ; + "Stare lucrare\nofiled\A\Deschise,Inchise,Toate#inchisa=0,inchisa=1,1=1\" + crlf + ; + "Tip\nofiled\A\Toate,Interne,Externe,Subunitati#1=1,interna=1,(interna = 2 or interna = 5),interna=3\" + + DODEFAULT() + + ENDPROC + + PROCEDURE _grdrow1.AfterRowColChange + *!* 03.03.2015 + *!* marius.mutu + *!* + goComanda pentru facturare comanda + + Lparameters nColIndex + *!* DoDefault() + SELECT crsComenzi + SCATTER NAME goComanda MEMO + + If This.RowColChange <> 2 + this.Parent.but_factura1.Visible = (goComanda.facturat = 0) + this.Parent.but_factura1.Refresh() + + lcFiltru=[id_comanda=]+Alltrim(Str(crscomenzi.id_comanda)) + This.Parent.actualizeaza_grid2(lcFiltru) + Endif + ENDPROC + + PROCEDURE _grdrow1.Init + * Nu sterge se suprascrie cu Arial Narrow + ENDPROC + + PROCEDURE _grdrow2.Init + * Nu sterge se suprascrie cu Arial Narrow + ENDPROC + +ENDDEFINE + +DEFINE CLASS ct_lucrari_detalii AS _ctfrmbase OF "_ct_base.vcx" + *< CLASSDATA: Baseclass="container" Timestamp="" Scale="Pixels" Uniqueid="" /> + + *-- OBJECTDATA items order determines ZOrder / El orden de los items OBJECTDATA determina el ZOrder + *< OBJECTDATA: ObjPath="_grdrow1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="_grdrow1.cNrord.Header1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="_grdrow1.cNrord.Text1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="_grdrow1.cData_lucrare.Header1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="_grdrow1.cData_lucrare.Text1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="_grdrow1.cExplicatie.Header1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="_grdrow1.cExplicatie.Text1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="_grdrow1.cTermen_executie.Header1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="_grdrow1.cTermen_executie.Text1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="_grdrow1.cDataora.Header1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="_grdrow1.cDataora.Text1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="_grdrow1.cUtilizator.Header1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="_grdrow1.cUtilizator.Text1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="_grdrow1.cInchisa.Header1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="_grdrow1.cInchisa._checkbox1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="_grdrow1.cExecutata.Header1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="_grdrow1.cExecutata._checkbox1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="_grdrow3" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="_grdrow3.cDenumire.Header1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="_grdrow3.cDenumire.Text1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="_grdrow3.cCantitate.Header1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="_grdrow3.cCantitate.Text1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="_grdrow3.cUM.Header1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="_grdrow3.cUM.Text1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="_grdrow3.cCantitate2.Header1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="_grdrow3.cCantitate2.Text1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="_grdrow3.cUM2.Header1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="_grdrow3.cUM2.Text1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="_grdrow3.cCodmat.Header1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="_grdrow3.cCodmat.Text1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="_grdrow2" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="_grdrow2.cNr_comanda.Header1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="_grdrow2.cNr_comanda.Text1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="_grdrow2.cData_comanda.Header1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="_grdrow2.cData_comanda.Text1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="_grdrow2.cNume.Header1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="_grdrow2.cNume.Text1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="_grdrow2.cData_livrare.Header1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="_grdrow2.cData_livrare.Text1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="_grdrow2.cTip_comanda.Header1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="_grdrow2.cTip_comanda.Text1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="lb_lucrari_elemente" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="lb_comenzi" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="But_nou1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="But_modifica1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="But_sterge1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="But_listare1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="But_start_criterii1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="But_reset_criterii1" UniqueID="" Timestamp="" /> + + * + *m: actualizeaza_grid3 + *p: nid_sectie + * + + * + BackStyle = 0 + cgridsortlist = _grdrow1,_grdrow2,_grdrow3 + Height = 497 + Name = "ct_lucrari_detalii" + nid_sectie = 0 + Width = 781 + Gridsort1.Height = 17 + Gridsort1.Left = 540 + Gridsort1.Name = "Gridsort1" + Gridsort1.Top = 0 + Gridsort1.Width = 32 + _ct_controller_keypress1.Name = "_ct_controller_keypress1" + * + + ADD OBJECT '_grdrow1' AS _grdrow WITH ; + Anchor = 15, ; + ColumnCount = 8, ; + DeleteMark = .F., ; + FontSize = 10, ; + Height = 282, ; + Left = 9, ; + Name = "_grdrow1", ; + Panel = 1, ; + RecordSource = "crslucrari", ; + RowHeight = 19, ; + TabIndex = 8, ; + Top = 12, ; + Width = 492, ; + Column1.ColumnOrder = 1, ; + Column1.ControlSource = "nrord", ; + Column1.FontName = "Arial", ; + Column1.FontSize = 10, ; + Column1.Name = "cNrord", ; + Column2.ColumnOrder = 2, ; + Column2.ControlSource = "data_lucrare", ; + Column2.FontName = "Arial", ; + Column2.FontSize = 10, ; + Column2.Name = "cData_lucrare", ; + Column2.Width = 84, ; + Column3.ColumnOrder = 3, ; + Column3.ControlSource = "explicatie", ; + Column3.FontName = "Arial", ; + Column3.FontSize = 10, ; + Column3.Name = "cExplicatie", ; + Column3.Width = 142, ; + Column4.ColumnOrder = 5, ; + Column4.ControlSource = "termen_executie", ; + Column4.FontName = "Arial", ; + Column4.FontSize = 10, ; + Column4.Name = "cTermen_executie", ; + Column4.Width = 99, ; + Column5.ColumnOrder = 7, ; + Column5.ControlSource = "dataora", ; + Column5.FontName = "Arial", ; + Column5.FontSize = 10, ; + Column5.Name = "cDataora", ; + Column5.Width = 93, ; + Column6.ColumnOrder = 8, ; + Column6.ControlSource = "utilizator", ; + Column6.FontName = "Arial", ; + Column6.FontSize = 10, ; + Column6.Name = "cUtilizator", ; + Column6.Width = 96, ; + Column7.ColumnOrder = 4, ; + Column7.ControlSource = "inchisa", ; + Column7.FontName = "Arial", ; + Column7.FontSize = 10, ; + Column7.Name = "cInchisa", ; + Column7.Sparse = .F., ; + Column7.Width = 43, ; + Column8.ColumnOrder = 6, ; + Column8.ControlSource = "executata", ; + Column8.FontName = "Arial", ; + Column8.FontSize = 10, ; + Column8.Name = "cExecutata", ; + Column8.Sparse = .F., ; + Column8.Width = 63 + *< END OBJECT: ClassLib="_grd_base.vcx" BaseClass="grid" /> + + ADD OBJECT '_grdrow1.cData_lucrare.Header1' AS header WITH ; + Alignment = 2, ; + Caption = "Data lucrare", ; + FontName = "Arial", ; + FontSize = 10, ; + Name = "Header1" + *< END OBJECT: BaseClass="header" /> + + ADD OBJECT '_grdrow1.cData_lucrare.Text1' AS textbox WITH ; + BackColor = 255,255,255, ; + BorderStyle = 0, ; + FontName = "Arial", ; + FontSize = 10, ; + ForeColor = 0,0,0, ; + Margin = 0, ; + Name = "Text1", ; + SelectedBackColor = 100,185,255 + *< END OBJECT: BaseClass="textbox" /> + + ADD OBJECT '_grdrow1.cDataora.Header1' AS header WITH ; + Alignment = 2, ; + Caption = "Data si ora ad.", ; + FontName = "Arial", ; + FontSize = 10, ; + Name = "Header1" + *< END OBJECT: BaseClass="header" /> + + ADD OBJECT '_grdrow1.cDataora.Text1' AS textbox WITH ; + BackColor = 255,255,255, ; + BorderStyle = 0, ; + FontName = "Arial", ; + FontSize = 10, ; + ForeColor = 0,0,0, ; + Margin = 0, ; + Name = "Text1", ; + SelectedBackColor = 100,185,255 + *< END OBJECT: BaseClass="textbox" /> + + ADD OBJECT '_grdrow1.cExecutata._checkbox1' AS _checkbox WITH ; + Alignment = 0, ; + AutoSize = .F., ; + Caption = "", ; + Centered = .T., ; + FontName = "Arial", ; + FontSize = 10, ; + Left = 36, ; + Name = "_checkbox1", ; + Top = 35 + *< END OBJECT: ClassLib="_baza.vcx" BaseClass="checkbox" /> + + ADD OBJECT '_grdrow1.cExecutata.Header1' AS header WITH ; + Alignment = 2, ; + Caption = "Executata", ; + FontName = "Arial", ; + FontSize = 10, ; + Name = "Header1" + *< END OBJECT: BaseClass="header" /> + + ADD OBJECT '_grdrow1.cExplicatie.Header1' AS header WITH ; + Alignment = 2, ; + Caption = "Explicatia", ; + FontName = "Arial", ; + FontSize = 10, ; + Name = "Header1" + *< END OBJECT: BaseClass="header" /> + + ADD OBJECT '_grdrow1.cExplicatie.Text1' AS textbox WITH ; + BackColor = 255,255,255, ; + BorderStyle = 0, ; + FontName = "Arial", ; + FontSize = 10, ; + ForeColor = 0,0,0, ; + Margin = 0, ; + Name = "Text1", ; + SelectedBackColor = 100,185,255 + *< END OBJECT: BaseClass="textbox" /> + + ADD OBJECT '_grdrow1.cInchisa._checkbox1' AS _checkbox WITH ; + Alignment = 2, ; + AutoSize = .F., ; + Caption = "", ; + Centered = .T., ; + FontName = "Arial", ; + FontSize = 10, ; + Left = 28, ; + Name = "_checkbox1", ; + Top = 59 + *< END OBJECT: ClassLib="_baza.vcx" BaseClass="checkbox" /> + + ADD OBJECT '_grdrow1.cInchisa.Header1' AS header WITH ; + Alignment = 2, ; + Caption = "Inchisa", ; + FontName = "Arial", ; + FontSize = 10, ; + Name = "Header1" + *< END OBJECT: BaseClass="header" /> + + ADD OBJECT '_grdrow1.cNrord.Header1' AS header WITH ; + Alignment = 2, ; + Caption = "Nr. lucrare", ; + FontName = "Arial", ; + FontSize = 10, ; + Name = "Header1" + *< END OBJECT: BaseClass="header" /> + + ADD OBJECT '_grdrow1.cNrord.Text1' AS textbox WITH ; + BackColor = 255,255,255, ; + BorderStyle = 0, ; + FontName = "Arial", ; + FontSize = 10, ; + ForeColor = 0,0,0, ; + Margin = 0, ; + Name = "Text1", ; + SelectedBackColor = 100,185,255 + *< END OBJECT: BaseClass="textbox" /> + + ADD OBJECT '_grdrow1.cTermen_executie.Header1' AS header WITH ; + Alignment = 2, ; + Caption = "Termen executie", ; + FontName = "Arial", ; + FontSize = 10, ; + Name = "Header1" + *< END OBJECT: BaseClass="header" /> + + ADD OBJECT '_grdrow1.cTermen_executie.Text1' AS textbox WITH ; + BackColor = 255,255,255, ; + BorderStyle = 0, ; + FontName = "Arial", ; + FontSize = 10, ; + ForeColor = 0,0,0, ; + Margin = 0, ; + Name = "Text1", ; + SelectedBackColor = 100,185,255 + *< END OBJECT: BaseClass="textbox" /> + + ADD OBJECT '_grdrow1.cUtilizator.Header1' AS header WITH ; + Alignment = 2, ; + Caption = "Utilizator", ; + FontName = "Arial", ; + FontSize = 10, ; + Name = "Header1" + *< END OBJECT: BaseClass="header" /> + + ADD OBJECT '_grdrow1.cUtilizator.Text1' AS textbox WITH ; + BackColor = 255,255,255, ; + BorderStyle = 0, ; + FontName = "Arial", ; + FontSize = 10, ; + ForeColor = 0,0,0, ; + Margin = 0, ; + Name = "Text1", ; + SelectedBackColor = 100,185,255 + *< END OBJECT: BaseClass="textbox" /> + + ADD OBJECT '_grdrow2' AS _grdrow WITH ; + Anchor = 14, ; + ColumnCount = 5, ; + DeleteMark = .F., ; + FontSize = 10, ; + Height = 160, ; + Left = 9, ; + Name = "_grdrow2", ; + Panel = 1, ; + RecordSource = "crscomenzi2", ; + RowHeight = 19, ; + TabIndex = 9, ; + Top = 320, ; + Width = 480, ; + Column1.ColumnOrder = 1, ; + Column1.ControlSource = "nr_comanda", ; + Column1.FontName = "Arial", ; + Column1.FontSize = 10, ; + Column1.Name = "cNr_comanda", ; + Column2.ColumnOrder = 2, ; + Column2.ControlSource = "data_comanda", ; + Column2.FontName = "Arial", ; + Column2.FontSize = 10, ; + Column2.Name = "cData_comanda", ; + Column2.Width = 84, ; + Column3.ColumnOrder = 3, ; + Column3.ControlSource = "nume", ; + Column3.FontName = "Arial", ; + Column3.FontSize = 10, ; + Column3.Name = "cNume", ; + Column3.Width = 160, ; + Column4.ColumnOrder = 4, ; + Column4.ControlSource = "data_livrare", ; + Column4.FontName = "Arial", ; + Column4.FontSize = 10, ; + Column4.Name = "cData_livrare", ; + Column4.Width = 82, ; + Column5.ControlSource = "tip_comanda", ; + Column5.FontName = "Arial", ; + Column5.FontSize = 10, ; + Column5.Name = "cTip_comanda" + *< END OBJECT: ClassLib="_grd_base.vcx" BaseClass="grid" /> + + ADD OBJECT '_grdrow2.cData_comanda.Header1' AS header WITH ; + Alignment = 2, ; + Caption = "Data comanda", ; + FontName = "Arial", ; + FontSize = 10, ; + Name = "Header1" + *< END OBJECT: BaseClass="header" /> + + ADD OBJECT '_grdrow2.cData_comanda.Text1' AS textbox WITH ; + BackColor = 255,255,255, ; + BorderStyle = 0, ; + FontName = "Arial", ; + FontSize = 10, ; + ForeColor = 0,0,0, ; + Margin = 0, ; + Name = "Text1", ; + SelectedBackColor = 100,185,255 + *< END OBJECT: BaseClass="textbox" /> + + ADD OBJECT '_grdrow2.cData_livrare.Header1' AS header WITH ; + Alignment = 2, ; + Caption = "Data livrare", ; + FontName = "Arial", ; + FontSize = 10, ; + Name = "Header1" + *< END OBJECT: BaseClass="header" /> + + ADD OBJECT '_grdrow2.cData_livrare.Text1' AS textbox WITH ; + BackColor = 255,255,255, ; + BorderStyle = 0, ; + FontName = "Arial", ; + FontSize = 10, ; + ForeColor = 0,0,0, ; + Margin = 0, ; + Name = "Text1", ; + SelectedBackColor = 100,185,255 + *< END OBJECT: BaseClass="textbox" /> + + ADD OBJECT '_grdrow2.cNr_comanda.Header1' AS header WITH ; + Alignment = 2, ; + Caption = "Nr.comanda", ; + FontName = "Arial", ; + FontSize = 10, ; + Name = "Header1" + *< END OBJECT: BaseClass="header" /> + + ADD OBJECT '_grdrow2.cNr_comanda.Text1' AS textbox WITH ; + BackColor = 255,255,255, ; + BorderStyle = 0, ; + FontName = "Arial", ; + FontSize = 10, ; + ForeColor = 0,0,0, ; + Margin = 0, ; + Name = "Text1", ; + SelectedBackColor = 100,185,255 + *< END OBJECT: BaseClass="textbox" /> + + ADD OBJECT '_grdrow2.cNume.Header1' AS header WITH ; + Alignment = 2, ; + Caption = "Beneficiar", ; + FontName = "Arial", ; + FontSize = 10, ; + Name = "Header1" + *< END OBJECT: BaseClass="header" /> + + ADD OBJECT '_grdrow2.cNume.Text1' AS textbox WITH ; + BackColor = 255,255,255, ; + BorderStyle = 0, ; + FontName = "Arial", ; + FontSize = 10, ; + ForeColor = 0,0,0, ; + Margin = 0, ; + Name = "Text1", ; + SelectedBackColor = 100,185,255 + *< END OBJECT: BaseClass="textbox" /> + + ADD OBJECT '_grdrow2.cTip_comanda.Header1' AS header WITH ; + Alignment = 2, ; + Caption = "Tip comanda", ; + FontName = "Arial", ; + FontSize = 10, ; + Name = "Header1" + *< END OBJECT: BaseClass="header" /> + + ADD OBJECT '_grdrow2.cTip_comanda.Text1' AS textbox WITH ; + BackColor = 255,255,255, ; + BorderStyle = 0, ; + FontName = "Arial", ; + FontSize = 10, ; + ForeColor = 0,0,0, ; + Margin = 0, ; + Name = "Text1", ; + SelectedBackColor = 100,185,255 + *< END OBJECT: BaseClass="textbox" /> + + ADD OBJECT '_grdrow3' AS _grdrow WITH ; + Anchor = 13, ; + ColumnCount = 6, ; + DeleteMark = .F., ; + FontSize = 10, ; + Height = 430, ; + Left = 513, ; + Name = "_grdrow3", ; + Panel = 1, ; + RecordSource = "crslucrarielemente", ; + RowHeight = 19, ; + TabIndex = 10, ; + Top = 52, ; + Width = 264, ; + Column1.ControlSource = "denumire", ; + Column1.FontName = "Arial", ; + Column1.FontSize = 10, ; + Column1.Name = "cDenumire", ; + Column1.Width = 147, ; + Column2.ControlSource = "cantitate", ; + Column2.FontName = "Arial", ; + Column2.FontSize = 10, ; + Column2.InputMask = (get_mask(14,IIF(TYPE("gnPcant")='U',3,gnPcant))), ; + Column2.Name = "cCantitate", ; + Column2.Width = 56, ; + Column3.ControlSource = "um", ; + Column3.FontName = "Arial", ; + Column3.FontSize = 10, ; + Column3.Name = "cUM", ; + Column3.Width = 33, ; + Column4.ControlSource = "cantitate2", ; + Column4.FontName = "Arial", ; + Column4.FontSize = 10, ; + Column4.InputMask = (get_mask(14,IIF(TYPE("gnPcant")='U',3,gnPcant))), ; + Column4.Name = "cCantitate2", ; + Column4.Width = 67, ; + Column5.ControlSource = "um2", ; + Column5.FontName = "Arial", ; + Column5.FontSize = 10, ; + Column5.Name = "cUM2", ; + Column5.Width = 43, ; + Column6.ControlSource = "codmat", ; + Column6.FontName = "Arial", ; + Column6.FontSize = 10, ; + Column6.Name = "cCodmat", ; + Column6.Width = 77 + *< END OBJECT: ClassLib="_grd_base.vcx" BaseClass="grid" /> + + ADD OBJECT '_grdrow3.cCantitate.Header1' AS header WITH ; + Alignment = 2, ; + Caption = "Cantitate", ; + FontName = "Arial", ; + FontSize = 10, ; + Name = "Header1" + *< END OBJECT: BaseClass="header" /> + + ADD OBJECT '_grdrow3.cCantitate.Text1' AS textbox WITH ; + BackColor = 255,255,255, ; + BorderStyle = 0, ; + FontName = "Arial", ; + FontSize = 10, ; + ForeColor = 0,0,0, ; + Margin = 0, ; + Name = "Text1", ; + SelectedBackColor = 100,185,255 + *< END OBJECT: BaseClass="textbox" /> + + ADD OBJECT '_grdrow3.cCantitate2.Header1' AS header WITH ; + Alignment = 2, ; + Caption = "Cantitate 2", ; + FontName = "Arial", ; + FontSize = 10, ; + Name = "Header1" + *< END OBJECT: BaseClass="header" /> + + ADD OBJECT '_grdrow3.cCantitate2.Text1' AS textbox WITH ; + BackColor = 255,255,255, ; + BorderStyle = 0, ; + FontName = "Arial", ; + FontSize = 10, ; + ForeColor = 0,0,0, ; + Margin = 0, ; + Name = "Text1", ; + SelectedBackColor = 100,185,255 + *< END OBJECT: BaseClass="textbox" /> + + ADD OBJECT '_grdrow3.cCodmat.Header1' AS header WITH ; + Alignment = 2, ; + Caption = "Cod material", ; + FontName = "Arial", ; + FontSize = 10, ; + Name = "Header1" + *< END OBJECT: BaseClass="header" /> + + ADD OBJECT '_grdrow3.cCodmat.Text1' AS textbox WITH ; + BackColor = 255,255,255, ; + BorderStyle = 0, ; + FontName = "Arial", ; + FontSize = 10, ; + ForeColor = 0,0,0, ; + Margin = 0, ; + Name = "Text1", ; + SelectedBackColor = 100,185,255 + *< END OBJECT: BaseClass="textbox" /> + + ADD OBJECT '_grdrow3.cDenumire.Header1' AS header WITH ; + Alignment = 2, ; + Caption = "Articol", ; + FontName = "Arial", ; + FontSize = 10, ; + Name = "Header1" + *< END OBJECT: BaseClass="header" /> + + ADD OBJECT '_grdrow3.cDenumire.Text1' AS textbox WITH ; + BackColor = 255,255,255, ; + BorderStyle = 0, ; + FontName = "Arial", ; + FontSize = 10, ; + ForeColor = 0,0,0, ; + Margin = 0, ; + Name = "Text1", ; + SelectedBackColor = 100,185,255 + *< END OBJECT: BaseClass="textbox" /> + + ADD OBJECT '_grdrow3.cUM.Header1' AS header WITH ; + Alignment = 2, ; + Caption = "U.M.", ; + FontName = "Arial", ; + FontSize = 10, ; + Name = "Header1" + *< END OBJECT: BaseClass="header" /> + + ADD OBJECT '_grdrow3.cUM.Text1' AS textbox WITH ; + BackColor = 255,255,255, ; + BorderStyle = 0, ; + FontName = "Arial", ; + FontSize = 10, ; + ForeColor = 0,0,0, ; + Margin = 0, ; + Name = "Text1", ; + SelectedBackColor = 100,185,255 + *< END OBJECT: BaseClass="textbox" /> + + ADD OBJECT '_grdrow3.cUM2.Header1' AS header WITH ; + Alignment = 2, ; + Caption = "U.M. 2", ; + FontName = "Arial", ; + FontSize = 10, ; + Name = "Header1" + *< END OBJECT: BaseClass="header" /> + + ADD OBJECT '_grdrow3.cUM2.Text1' AS textbox WITH ; + BackColor = 255,255,255, ; + BorderStyle = 0, ; + FontName = "Arial", ; + FontSize = 10, ; + ForeColor = 0,0,0, ; + Margin = 0, ; + Name = "Text1", ; + SelectedBackColor = 100,185,255 + *< END OBJECT: BaseClass="textbox" /> + + ADD OBJECT 'But_listare1' AS but_listare WITH ; + Anchor = 9, ; + Left = 749, ; + Name = "But_listare1", ; + TabIndex = 11, ; + Top = 3, ; + Visible = .T. + *< END OBJECT: ClassLib="cmd_butoane.vcx" BaseClass="commandbutton" /> + + ADD OBJECT 'But_modifica1' AS but_modifica WITH ; + Anchor = 8, ; + Left = 689, ; + Name = "But_modifica1", ; + TabIndex = 13, ; + Top = 3 + *< END OBJECT: ClassLib="cmd_butoane.vcx" BaseClass="commandbutton" /> + + ADD OBJECT 'But_nou1' AS but_nou WITH ; + Anchor = 8, ; + Left = 659, ; + Name = "But_nou1", ; + TabIndex = 14, ; + Top = 3 + *< END OBJECT: ClassLib="cmd_butoane.vcx" BaseClass="commandbutton" /> + + ADD OBJECT 'But_reset_criterii1' AS but_reset_criterii WITH ; + Anchor = 9, ; + Left = 601, ; + Name = "But_reset_criterii1", ; + Picture = ..\grafice\reset_sus.bmp, ; + Top = 3, ; + Visible = .T. + *< END OBJECT: ClassLib="ocriterii.vcx" BaseClass="commandbutton" /> + + ADD OBJECT 'But_start_criterii1' AS but_start_criterii WITH ; + Anchor = 9, ; + Comment = "*:OnResize=RT", ; + Left = 630, ; + Name = "But_start_criterii1", ; + Picture = ..\grafice\find_sus.bmp, ; + Top = 3 + *< END OBJECT: ClassLib="ocriterii.vcx" BaseClass="commandbutton" /> + + ADD OBJECT 'But_sterge1' AS but_sterge WITH ; + Anchor = 8, ; + Left = 719, ; + Name = "But_sterge1", ; + TabIndex = 12, ; + Top = 3 + *< END OBJECT: ClassLib="cmd_butoane.vcx" BaseClass="commandbutton" /> + + ADD OBJECT 'lb_comenzi' AS lb_simplu WITH ; + Anchor = 6, ; + Caption = "Comenzi asociate", ; + Left = 9, ; + Name = "lb_comenzi", ; + TabIndex = 17, ; + Top = 299 + *< END OBJECT: ClassLib="lb.vcx" BaseClass="label" /> + + ADD OBJECT 'lb_lucrari_elemente' AS lb_simplu WITH ; + Anchor = 9, ; + Caption = "Elemente lucrare", ; + Height = 18, ; + Left = 513, ; + Name = "lb_lucrari_elemente", ; + TabIndex = 16, ; + Top = 31, ; + Width = 100 + *< END OBJECT: ClassLib="lb.vcx" BaseClass="label" /> + + PROCEDURE actualizeaza_cursoare + *!* modificare v 2.0.11 : am adaugat This.nid_sectie si gnId_sectie + Local llCautare + llCautare = .F. + If !Used('crslucrari') Or gcS!=This.cSchema Or Nvl(gnId_sectie,0)!= This.nid_sectie + If gcS!=This.cSchema Or Nvl(gnId_sectie,0)!=This.nid_sectie + llCautare = .T. + Endif + This.cSchema=gcS + This.nid_sectie = Nvl(gnId_sectie,0) + This.creeaza_cursoare() + *!* If llCautare + *!* This.do_cauta() + *!* Endif + Endif + ENDPROC + + PROCEDURE actualizeaza_grid1 + Lparameters tcFiltru + + If Empty(tcFiltru) + lcFiltru=polucrari.ca_baza1.cfiltru + Else + lcFiltru=tcFiltru + Endif + + This._grdrow1.salveaza_grid() + polucrari.ca_baza1.cfiltru=lcFiltru + polucrari.ca_baza1.afisare() + This._grdrow1.incarca_grid() + + * lucrari inchise: italic + * lucrari executate: gri + + This._grdrow1.SetAll("DynamicFontItalic","IIF(inchisa=1,.T.,.F.)","Column") + This._grdrow1.SetAll("DynamicForeColor","IIF(executata=1,RGB(128,128,128),RGB(0,0,0))","Column") + ENDPROC + + PROCEDURE actualizeaza_grid2 + Lparameters tcFiltru + + If Empty(tcFiltru) + lcFiltru=pocomenzi2.ca_baza1.cfiltru + Else + lcFiltru=tcFiltru + Endif + + This._grdrow2.salveaza_grid() + pocomenzi2.ca_baza1.cfiltru=lcFiltru + pocomenzi2.ca_baza1.afisare() + This._grdrow2.incarca_grid() + ENDPROC + + PROCEDURE actualizeaza_grid3 + Lparameters tcFiltru + + If Empty(tcFiltru) + lcFiltru=polucrarielemente.ca_baza1.cfiltru + Else + lcFiltru=tcFiltru + Endif + + This._grdrow3.salveaza_grid() + polucrarielemente.ca_baza1.cfiltru=lcFiltru + polucrarielemente.ca_baza1.afisare() + This._grdrow3.incarca_grid() + ENDPROC + + PROCEDURE creeaza_cursoare + Local lcSchema,lcSelect,lcOrder,lcFiltru,llAfiseaza + Store '' To polucrari,pocomenzi2,polucrarielemente + This._grdrow1.salveaza_grid() + This._grdrow2.salveaza_grid() + This._grdrow3.salveaza_grid() + + lcSchema=[id_lucrare n(20),nrord c(30),termen_executie t,id_lucrari_detalii n(20),explicatie c(100),data_lucrare t,]+; + [dataora t,utilizator c(30),inchisa n(1),executata n(1)] + lcSelect=[select id_lucrare,nrord,termen_executie,id_lucrari_detalii,explicatie,data_lucrare,]+; + [dataora,utilizator,inchisa,executata from vlucrari_detalii where 1=2] + lcOrder=[data_lucrare] + lcFiltru = [1=2] + llAfiseaza = .F. + gencursor('polucrari','crslucrari',lcSelect,lcFiltru,lcSchema,lcOrder,llAfiseaza) + polucrari.ca_baza1.afisare() + + lcSchema=[id_comanda n(20),id_lucrare n(20),id_part n(20),id_gestiune n(20),]+; + [nr_comanda c(100),data_comanda t,nume c(70),data_livrare t,interna n(1),tip_comanda c(20)] + lcSelect=[select id_comanda,id_lucrare,id_part,id_gestiune,]+; + [nr_comanda,data_comanda,nume,data_livrare,interna,tip_comanda ]+; + [from vcomenzi where 1=2] + lcOrder=[data_comanda] + lcFiltru = [1=2] + llAfiseaza = .F. + gencursor('pocomenzi2','crscomenzi2',lcSelect,lcFiltru,lcSchema,lcOrder,llAfiseaza) + pocomenzi2.ca_baza1.afisare() + + lcSchema=[id_lucrare n(20),denumire c(100),cantitate n(16,3),um c(10),cantitate2 n(16,3),um2 c(10),codmat c(100)] + lcSelect=[select id_lucrare,denumire,cantitate,um,cantitate2,um2,codmat from vlucrari_elemente where 1=2] + lcOrder=[] && [codmat,denumire] + lcFiltru = [id_lucrare = -9999999] + llAfiseaza = .F. + gencursor('polucrarielemente','crslucrarielemente',lcSelect,lcFiltru,lcSchema,lcOrder,llAfiseaza) + polucrarielemente.ca_baza1.afisare() + + This._grdrow1.incarca_grid() + This._grdrow2.incarca_grid() + This._grdrow3.incarca_grid() + ENDPROC + + PROCEDURE do_adauga + Private pniesire,pcNrOrd + Store [] To pcNrOrd + pniesire=0 + Select crslucrari + Scatter Name loRec Blank + goExecutor.oFunction2Value([pack_comenzi.genereaza_nr_lucrare],@pcNrOrd) + loRec.nrord=pcNrOrd + Do Adauga_Modifica_Inregistrare With "lucrari_detalii",loRec,,"INSERT" + If pniesire=1 + This.actualizeaza_grid1() + Select crslucrari + Locate For data_lucrare=loRec.data_lucrare And nrord=loRec.nrord + This._grdrow1.SetFocus() + Endif + ENDPROC + + PROCEDURE do_cauta + Local lcFiltru + lcFiltru = [id_sectie = ] + Alltrim(Str(This.nid_sectie)) + + IF LEN(THIS.filtru_pretty)>0 + lcFiltru = m.lcFiltru+" and (" + ALLTRIM(THIS.filtru_pretty) + ")" + ENDIF + + IF ![inchisa]$m.lcFiltru + lcFiltru = lcFiltru + [ and inchisa = 0] + ENDIF + + This.actualizeaza_grid1(lcFiltru) + + If Reccount('crslucrari')>0 + This._grdrow1.SetFocus() + Else + If Reccount('crscomenzi2')>0 + This.actualizeaza_grid2([1=2]) + Endif + If Reccount('crslucrarielemente')>0 + This.actualizeaza_grid3([1=2]) + ENDIF + IF this.lShowRezultate + amessagebox("Cautarea nu a intors rezultate!",0+64,"Info cautare") + ENDIF + Endif + + ENDPROC + + PROCEDURE do_listare + Local lnOptiune, lnRecno + Local laStructura[1] + *:Global olucrare + If Reccount("crslucrari") > 0 + lnRecno = Recno('crsLucrari') + + *!* Private pcDataOra && modificare v 2.0.11 + lnOptiune = xmenu('\0 + Select crslucrari + Scatter Name loRec + Do Case + Case loRec.inchisa=1 + amessagebox("Aceasta lucrare este inchisa si nu mai poate fi modificata!",0+48,"Atentie") + Case loRec.executata=1 + amessagebox("Aceasta lucrare a fost executata si nu mai poate fi modificata!",0+48,"Atentie") + Otherwise + Private pniesire + pniesire=0 + Do Adauga_Modifica_Inregistrare With "lucrari_detalii",loRec,loRec.id_lucrare,"UPDATE" + If pniesire=1 + This.actualizeaza_grid1() + Select crslucrari + Locate For data_lucrare=loRec.data_lucrare And nrord=loRec.nrord + This._grdrow1.SetFocus() + Endif + Endcase + Endif + + ENDPROC + + PROCEDURE do_reset + *!* This.ck_nrord.Value=0 + *!* This.ck_explicatie.Value=0 + *!* This.ck_data_lucrare.Value=0 + *!* This.ck_termen_executie.Value=0 + *!* This.optinchise.Value=This.optinchise.ndefault + *!* This.optexecutate.Value=This.optexecutate.ndefault + *!* This.ck_nrord.SetFocus() + + THIS.filtru_pretty = "" + THIS.filtru_pretty_ro = "" + THIS.filtru_pretty_ro_full = "" + IF TYPE("this.but_start_criterii1") = 'O' + THIS.but_start_criterii1.TOOLTIPTEXT=THIS.filtru_pretty_ro + THIS.but_start_criterii1.SETFOCUS + THIS.but_start_criterii1.pornit = "nu" + ENDIF + THIS.do_cauta() + THIS.REFRESH + ENDPROC + + PROCEDURE do_sterge + LOCAL loRec + + If Reccount('crslucrari')>0 + Select crslucrari + Scatter Name loRec + Do Case + Case loRec.inchisa=1 + amessagebox("Aceasta lucrare este inchisa si nu mai poate fi stearsa!",0+48,"Atentie") + Case loRec.executata=1 + amessagebox("Aceasta lucrare a fost executata si nu mai poate fi stearsa!",0+48,"Atentie") + Otherwise + Private pniesire + * Local loRec + pniesire=0 + Do STERGE_INREGISTRARE With "lucrari_detalii",loRec.id_lucrare + If pniesire=1 + This.actualizeaza_grid1() + Endif + Endcase + Endif + + ENDPROC + + PROCEDURE Init + gcAcces=[1;2;3;4;] + DoDefault() + ENDPROC + + PROCEDURE But_reset_criterii1.Click + LOCAL lcFiltru + + THIS.Parent.filtru_pretty = "" + THIS.Parent.filtru_pretty_ro = "" + THIS.Parent.filtru_pretty_ro_full = "" + IF TYPE("this.but_start_criterii1") = 'O' + THIS.Parent.but_start_criterii1.TOOLTIPTEXT=THIS.Parent.filtru_pretty_ro + THIS.Parent.but_start_criterii1.SETFOCUS + THIS.Parent.but_start_criterii1.pornit = "nu" + ENDIF + + lcfiltru = [Stare executat;nofiled;1;|Stare deschis;nofiled;1;] + This.Parent.but_start_criterii1.loadfiltru("") + This.Parent.but_start_criterii1.loadfiltru(m.lcFiltru) + THIS.Parent.REFRESH + ENDPROC + + PROCEDURE But_start_criterii1.loadcriterii + PARAMETERS tacriterii + EXTERNAL ARRAY tacriterii + #DEFINE crlf CHR(13)+CHR(10) + + lcStringCriterii="Data lucrare\data_lucrare\D\none\" + crlf + ; + "Nr. lucrare\nrord\T\id_lucrare\nom_lucrare" + crlf + ; + "Explicatie\explicatie\T\none\"+ crlf + ; + "Termen executie\termen_executie\D\none\" + crlf + ; + "Stare executat\nofiled\A\Neexecutate,Executate,Toate#executata=0,executata=1,1=1\" + crlf + ; + "Stare deschis\nofiled\A\Deschise,Inchise,Toate#inchisa=0,inchisa=1,1=1\" + + DODEFAULT() + + ENDPROC + + PROCEDURE _grdrow1.AfterRowColChange + Lparameters nColIndex + DoDefault() + If This.RowColChange <> 2 + lcFiltru=[id_lucrare=]+Alltrim(Str(crslucrari.id_lucrare)) + This.Parent.actualizeaza_grid2(lcFiltru) + This.Parent.actualizeaza_grid3(lcFiltru) + Endif + + ENDPROC + + PROCEDURE _grdrow1.Init + * Nu sterge se suprascrie cu Arial Narrow + ENDPROC + + PROCEDURE _grdrow2.Init + * Nu sterge se suprascrie cu Arial Narrow + ENDPROC + + PROCEDURE _grdrow3.Init + * Nu sterge se suprascrie cu Arial Narrow + ENDPROC + +ENDDEFINE + +DEFINE CLASS cus_odata_comenzi AS _cusodatabase OF "..\comun\clase\_cus_odata_base.vcx" + *< CLASSDATA: Baseclass="custom" Timestamp="" Scale="Pixels" Uniqueid="" /> + + * + Name = "cus_odata_comenzi" + * + + PROCEDURE make_sql + Lparameters toRec,tnId + + Local lcActiune, lcIdNume, lcDataLivrare + lcActiune = Alltrim(This.cActiune) + + If Inlist(lcActiune, "UPDATE",'INSERT') And Type('toRec') != "O" + Return .F. + Endif + + If Inlist(lcActiune, "UPDATE",'DELETE') And Type('tnId') != "N" + Return .F. + Endif + + If Inlist(lcActiune, "UPDATE",'DELETE') + lcId = Alltrim(Str(tnId)) + Endif + + If Inlist(lcActiune, "UPDATE",'INSERT') + lcNrComanda=Alltrim(toRec.nr_comanda) + lcDataComanda=Alltrim(Ttoc(toRec.data_comanda,1)) + lcInterna=Alltrim(Str(toRec.interna)) + lnProcDiscount = Alltrim(Str(toRec.proc_discount,10,2)) + + If Pemstatus(toRec,"ID_Facturare",4) + lcAdresaFacturare=Iif(!(Isnull(toRec.ID_Facturare)Or Empty(toRec.ID_Facturare)),Alltrim(Str(toRec.ID_Facturare)),"NULL") + Else + lcAdresaFacturare="NULL" + Endif + + If Pemstatus(toRec,"ID_Livrare",4) + lcAdresaLivrare=Iif(!(Isnull(toRec.ID_Livrare)Or Empty(toRec.ID_Livrare)),Alltrim(Str(toRec.ID_Livrare)),"NULL") + Else + lcAdresaLivrare="" + Endif + + If Pemstatus(toRec,"id_codclient",4) + If (!Isnull(toRec.id_codclient) and !Empty(toRec.id_codclient)) + lcid_codclient=Alltrim(TRANSFORM(toRec.id_codclient)) + Else + lcid_codclient="NULL" + Endif + Else + lcid_codclient="NULL" + Endif + + If Pemstatus(toRec,"COMANDA_EXTERNA",4) + lcCOMANDA_EXTERNA=Alltrim(Nvl(toRec.COMANDA_EXTERNA,"")) + Else + lcCOMANDA_EXTERNA="" + Endif + + lcIdCtr = [NULL] + + Do Case + Case toRec.interna=1 + lcIdNume=[NULL] + lcDataLivrare=[']+Alltrim(Ttoc(toRec.data_livrare,1))+['] + Case toRec.interna=2 + lcIdNume=Alltrim(Str(toRec.id_part)) + lcDataLivrare=[']+Alltrim(Ttoc(toRec.data_livrare,1))+['] + Case toRec.interna = 3 + lcIdNume=Alltrim(Str(toRec.id_gestiune)) + lcDataLivrare=[']+Alltrim(Ttoc(toRec.data_livrare,1))+['] + Case toRec.interna = 4 + lcIdNume=Alltrim(Str(toRec.id_sectie2)) + lcDataLivrare=[']+Alltrim(Ttoc(toRec.data_livrare,1))+['] + *!* modificare v 2.0.20 + Case toRec.interna=5 + lcIdNume=Alltrim(Str(toRec.id_part)) + lcDataLivrare=[']+Alltrim(Ttoc(toRec.data_livrare,1))+['] + lcIdCtr = ALLTRIM(STR(toRec.id_ctr)) + *!* modificare v 2.0.20 ^ + Endcase + Endif + Do Case + Case lcActiune = "INSERT" + lcSql = [begin pack_comenzi.adauga_comanda('] + lcNrComanda + [',to_date('] + lcDataComanda + [','YYYYMMDDHH24miss'),] +; + lcIdNume + [,to_date(] + lcDataLivrare + [,'YYYYMMDDHH24miss'),] + lnProcDiscount + [,] + lcInterna + [,] + Alltrim(Str(gnIdUtil)) + [,]+Alltrim(Str(gnId_sectie)) + [,] +lcAdresaFacturare+[,]+lcAdresaLivrare +; + [,] + lcid_codclient + [,'] + lcCOMANDA_EXTERNA + [',] + lcIdCtr + [); end;] + Case lcActiune = "UPDATE" + lcSql = [begin pack_comenzi.modifica_comanda(] + lcId + [,'] + lcNrComanda + [',to_date('] + lcDataComanda + [','YYYYMMDDHH24miss'),] +; + lcIdNume + [,to_date(] + lcDataLivrare + [,'YYYYMMDDHH24miss'),] + lnProcDiscount + [,] + lcInterna + [,] + Alltrim(Str(gnIdUtil)) + [,] +lcAdresaFacturare+[,] +; + lcAdresaLivrare + [,] + lcid_codclient + [,'] + lcCOMANDA_EXTERNA + [',] + lcIdCtr + [); end;] + Case lcActiune = "DELETE" + lcSql = [begin pack_comenzi.sterge_comanda(] + lcId + [,] + Alltrim(Str(gnIdUtil)) + [); end;] + + Endcase + This.csql = lcSql + + ENDPROC + +ENDDEFINE + +DEFINE CLASS cus_odata_lucrari_detalii AS _cusodatabase OF "..\comun\clase\_cus_odata_base.vcx" + *< CLASSDATA: Baseclass="custom" Timestamp="" Scale="Pixels" Uniqueid="" /> + + * + Name = "cus_odata_lucrari_detalii" + * + + PROCEDURE make_sql + Lparameters toRec,tnId + + lcActiune = Alltrim(This.cActiune) + + If Inlist(lcActiune, "UPDATE",'INSERT') And Type('toRec') != "O" + Return .F. + Endif + + If Inlist(lcActiune, "UPDATE",'DELETE') And Type('tnId') != "N" + Return .F. + Endif + + If Inlist(lcActiune, "UPDATE",'DELETE') + lcId = Alltrim(Str(tnId)) + Endif + + If Inlist(lcActiune, "UPDATE",'INSERT') + lcNrord=Alltrim(toRec.nrord) + lcDataLucrare=Alltrim(Ttoc(toRec.data_lucrare,1)) + lcExplicatie=Alltrim(NVL(toRec.explicatie,[])) + lcTermenExecutie=Alltrim(Ttoc(toRec.termen_executie,1)) + Endif + + Do Case + Case lcActiune = "INSERT" + lcSql = [begin pack_comenzi.adauga_lucrare('] + lcNrord + [',to_date('] + lcDataLucrare + [','YYYYMMDDHH24miss'),] +; + ['] + lcExplicatie + [',to_date('] + lcTermenExecutie + [','YYYYMMDDHH24miss'),] + Alltrim(Str(gnIdUtil)) + [,]+ALLTRIM(STR(gnId_sectie))+[); end;] + + Case lcActiune = "UPDATE" + lcSql = [begin pack_comenzi.modifica_lucrare(] + lcId + [,'] + lcNrord + [',to_date('] + lcDataLucrare + [','YYYYMMDDHH24miss'),] +; + ['] + lcExplicatie + [',to_date('] + lcTermenExecutie + [','YYYYMMDDHH24miss'),] + Alltrim(Str(gnIdUtil)) + [); end;] + + Case lcActiune = "DELETE" + lcSql = [begin pack_comenzi.sterge_lucrare(] + lcId + [,] + Alltrim(Str(gnIdUtil)) + [); end;] + + Endcase + This.csql = lcSql + ENDPROC + +ENDDEFINE + +DEFINE CLASS frm_articol_comanda AS _frmbase OF "_frm_base.vcx" + *< CLASSDATA: Baseclass="form" Timestamp="" Scale="Pixels" Uniqueid="" /> + + *-- OBJECTDATA items order determines ZOrder / El orden de los items OBJECTDATA determina el ZOrder + *< OBJECTDATA: ObjPath="clb_articol" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="But_renunt1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="clb_codmat" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="clb_pret" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="clb_um" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="clb_cantitate" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="Clb_valoare" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="lb_explicatie_pret" UniqueID="" Timestamp="" /> + + * + *p: nid + *p: nnivelmodificare && - 1 daca utilizatorul are voie sa modifice toate datele ; 0 daca are voie sa modifice doar nr. de telefon + *p: orec + * + + * + DoCreate = .T. + Height = 254 + Name = "frm_articol_comanda" + nnivelmodificare = -1 + Width = 338 + _shape1.Height = 29 + _shape1.Left = 0 + _shape1.Name = "_shape1" + _shape1.Top = 0 + _shape1.Width = 340 + _shape2.Height = 29 + _shape2.Left = 270 + _shape2.Name = "_shape2" + _shape2.Top = 0 + _shape2.Width = 69 + Lb_titlu_alb_b121.Caption = "ADÃUGARE ARTICOL" + Lb_titlu_alb_b121.FontBold = .T. + Lb_titlu_alb_b121.Name = "Lb_titlu_alb_b121" + Lb_titlu_alb_b121.TabIndex = 9 + BUT_TERMIN1.Height = 27 + BUT_TERMIN1.Left = 306 + BUT_TERMIN1.Name = "BUT_TERMIN1" + BUT_TERMIN1.TabIndex = 7 + BUT_TERMIN1.Top = 1 + BUT_TERMIN1.Width = 30 + Gridsort1.Name = "Gridsort1" + * + + ADD OBJECT 'But_renunt1' AS but_renunt WITH ; + Height = 27, ; + Left = 274, ; + Name = "But_renunt1", ; + TabIndex = 8, ; + Top = 1, ; + Width = 30 + *< END OBJECT: ClassLib="cmd_butoane.vcx" BaseClass="commandbutton" /> + + ADD OBJECT 'clb_articol' AS clb_tx_simplu WITH ; + Left = 24, ; + Name = "clb_articol", ; + TabIndex = 2, ; + TabStop = .F., ; + Top = 76, ; + Text_simplu1.ControlSource = "poArticol.nume_articol", ; + Text_simplu1.Name = "Text_simplu1", ; + Text_simplu1.ReadOnly = .T., ; + Lb_simplu1.Caption = "Articol", ; + Lb_simplu1.Name = "Lb_simplu1" + *< END OBJECT: ClassLib="lb_tx.vcx" BaseClass="container" /> + + ADD OBJECT 'clb_cantitate' AS clb_tx_simplu WITH ; + Left = 24, ; + Name = "clb_cantitate", ; + TabIndex = 4, ; + Top = 132, ; + Width = 290, ; + TEXT_SIMPLU1.Alignment = 1, ; + TEXT_SIMPLU1.ControlSource = "poArticol.cantitate", ; + TEXT_SIMPLU1.InputMask = (get_mask(14,gnPcant)), ; + TEXT_SIMPLU1.Name = "TEXT_SIMPLU1", ; + LB_SIMPLU1.Caption = "Cantitate", ; + LB_SIMPLU1.Name = "LB_SIMPLU1" + *< END OBJECT: ClassLib="lb_tx.vcx" BaseClass="container" /> + + ADD OBJECT 'clb_codmat' AS clb_tx_simplu WITH ; + Left = 24, ; + Name = "clb_codmat", ; + TabIndex = 1, ; + TabStop = .F., ; + Top = 48, ; + TEXT_SIMPLU1.ControlSource = "poArticol.codmat", ; + TEXT_SIMPLU1.Name = "TEXT_SIMPLU1", ; + TEXT_SIMPLU1.ReadOnly = .T., ; + LB_SIMPLU1.Caption = "Cod material", ; + LB_SIMPLU1.Name = "LB_SIMPLU1" + *< END OBJECT: ClassLib="lb_tx.vcx" BaseClass="container" /> + + ADD OBJECT 'clb_pret' AS clb_tx_simplu WITH ; + Left = 24, ; + Name = "clb_pret", ; + TabIndex = 5, ; + Top = 160, ; + Width = 290, ; + TEXT_SIMPLU1.Alignment = 1, ; + TEXT_SIMPLU1.ControlSource = "poArticol.pret", ; + TEXT_SIMPLU1.InputMask = (get_mask(14,gnPPretV)), ; + TEXT_SIMPLU1.Name = "TEXT_SIMPLU1", ; + TEXT_SIMPLU1.ReadOnly = .F., ; + LB_SIMPLU1.Caption = "Preþ", ; + LB_SIMPLU1.Name = "LB_SIMPLU1" + *< END OBJECT: ClassLib="lb_tx.vcx" BaseClass="container" /> + + ADD OBJECT 'clb_um' AS clb_tx_simplu WITH ; + Left = 24, ; + Name = "clb_um", ; + TabIndex = 3, ; + TabStop = .F., ; + Top = 104, ; + Width = 290, ; + TEXT_SIMPLU1.Alignment = 1, ; + TEXT_SIMPLU1.ControlSource = "poArticol.um", ; + TEXT_SIMPLU1.Name = "TEXT_SIMPLU1", ; + TEXT_SIMPLU1.ReadOnly = .T., ; + LB_SIMPLU1.Caption = "U.M.", ; + LB_SIMPLU1.Name = "LB_SIMPLU1" + *< END OBJECT: ClassLib="lb_tx.vcx" BaseClass="container" /> + + ADD OBJECT 'Clb_valoare' AS clb_tx_simplu WITH ; + Left = 24, ; + Name = "Clb_valoare", ; + TabIndex = 6, ; + TabStop = .F., ; + Top = 188, ; + Width = 290, ; + TEXT_SIMPLU1.Alignment = 1, ; + TEXT_SIMPLU1.InputMask = (get_mask(14,gnPa)), ; + TEXT_SIMPLU1.Name = "TEXT_SIMPLU1", ; + TEXT_SIMPLU1.ReadOnly = .T., ; + TEXT_SIMPLU1.Value = 0, ; + LB_SIMPLU1.Caption = "Valoare", ; + LB_SIMPLU1.Name = "LB_SIMPLU1" + *< END OBJECT: ClassLib="lb_tx.vcx" BaseClass="container" /> + + ADD OBJECT 'lb_explicatie_pret' AS _lbbase WITH ; + Alignment = 1, ; + AutoSize = .F., ; + Caption = "Pretul ºi valoarea sunt cu/fãrã TVA.", ; + Height = 17, ; + Left = 24, ; + Name = "lb_explicatie_pret", ; + TabIndex = 10, ; + Top = 226, ; + Width = 288 + *< END OBJECT: ClassLib="_lb_base.vcx" BaseClass="label" /> + + PROCEDURE inainte_de_do_termin + Local plReturn + lccontrol = Upper(This.ActiveControl.BaseClass ) + If Inlist(lccontrol,"TEXTBOX","EDITBOX","COMBOBOX") + lcval=This.ActiveControl.ControlSource + &lcval=Thisform.ActiveControl.Value + Endif + + Do Case + Case poArticol.cantitate <= 0 + aMessagebox("Cantitatea trebuie sa fie mai mare decat 0!",0+48,"Atentie") + Thisform.clb_cantitate.SetFocus() + plReturn=.F. + Case poArticol.Pret = 0 + If aMessagebox("Pretul de vanzare este 0!" + Chr(13) + Chr(10) + "Doriti sa continuati?" + Chr(13) + Chr(10) + Chr(13) + Chr(10) + "Pretul articolului se poate modifica din 'Politici de preturi si tarife'." ,4+32,'Comanda') <> 6 + plReturn=.F. + Else + plReturn=.T. + Endif + Otherwise + plReturn=.T. + Endcase + + Return plReturn + + ENDPROC + + PROCEDURE Init + Local lcExplicatie, llSuprascriePret + DoDefault() + *!* arat pretul cu rosu daca este <= 0 + This.clb_pret.text_simplu1.ForeColor = Iif(poArticol.Pret > 0, Rgb(0, 0, 0), Rgb(255, 0, 0)) + If poArticol.pret_cu_tva = 1 + lcExplicatie = [Preþul ºi valoarea afiºate conþin TVA.] + Else + lcExplicatie = [Preþul ºi valoarea afiºate nu conþin TVA.] + Endif + Thisform.lb_explicatie_pret.Caption = lcExplicatie + + llSuprascriePret = Iif(Type('gnSuprascriePretComanda') = 'N', m.gnSuprascriePretComanda = 1, .F.) + This.clb_pret.text_simplu1.ReadOnly = !m.llSuprascriePret + This.clb_pret.text_simplu1.TabStop = m.llSuprascriePret + ENDPROC + + PROCEDURE clb_cantitate.TEXT_SIMPLU1.InteractiveChange + lcval=This.ControlSource + &lcval=This.Value + Thisform.clb_valoare.teXT_SIMPLU1.Value=Round(poArticol.Pret*poArticol.cantitate,gnPc) + Thisform.clb_valoare.teXT_SIMPLU1.Refresh() + + ENDPROC + + PROCEDURE clb_pret.TEXT_SIMPLU1.InteractiveChange + lcval=This.ControlSource + &lcval=This.Value + Thisform.clb_valoare.teXT_SIMPLU1.Value=Round(poArticol.Pret*poArticol.cantitate,gnPc) + Thisform.clb_valoare.teXT_SIMPLU1.Refresh() + + ENDPROC + +ENDDEFINE + +DEFINE CLASS frm_comenzi_nou AS _frmbase OF "_frm_base.vcx" + *< CLASSDATA: Baseclass="form" Timestamp="" Scale="Pixels" Uniqueid="" /> + + *-- OBJECTDATA items order determines ZOrder / El orden de los items OBJECTDATA determina el ZOrder + *< OBJECTDATA: ObjPath="But_renunt1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="clb_data_comanda" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="clb_data_livrare" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="grd_comanda_curenta" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="grd_comanda_curenta.cArticol.Header1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="grd_comanda_curenta.cArticol.Text1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="grd_comanda_curenta.cValoare.Header1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="grd_comanda_curenta.cValoare.Text1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="grd_comanda_curenta.cPret.Header1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="grd_comanda_curenta.cPret.Text1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="grd_comanda_curenta.cCantitate.Header1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="grd_comanda_curenta.cCantitate.Text1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="grd_comanda_curenta.cPret_cu_tva.Header1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="grd_comanda_curenta.cPret_cu_tva._checkbox1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="grd_comanda_curenta.cCodBare.Header1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="grd_comanda_curenta.cCodBare.Text1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="But_urmator1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="But_precedent1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="lb_comanda" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="txtArticoleLista" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="clb_nr_comanda" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="CUS_ODATA_COMENZI1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="Clb_tx_total" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="Ct_nume" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="opt_interna" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="cmb_AdresaFacturare" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="lbl_AdresadeFacturare" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="lbl_AdresadeLivrare" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="cmb_AdresaLivrare" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="cmb_CodClient" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="lbl_codclient" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="Clb_tx_simplu1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="grd_articole_politica" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="grd_articole_politica.cArticol.Header1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="grd_articole_politica.cArticol.Text1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="grd_articole_politica.cUM.Header1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="grd_articole_politica.cUM.Text1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="grd_articole_politica.cCodmat.Header1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="grd_articole_politica.cCodmat.Text1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="grd_articole_politica.cPret.Header1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="grd_articole_politica.cPret.Text1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="grd_articole_politica.cStoc.Header1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="grd_articole_politica.cStoc.Text1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="grd_articole_politica.cCodBare.Header1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="grd_articole_politica.cCodBare.Text1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="lb_articole" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="txtArticole" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="ct_articole" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="But_reset1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="Clb_tx_simplu2" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="Clb_tx_simplu2._lbbase2" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="Ct_contract" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="Gridextra1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="Gridextra2" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="chkStoc" UniqueID="" Timestamp="" /> + + * + *m: arataadrese + *m: arata_coduri_clienti + *m: arata_date + *m: do_alege_client + *m: do_alege_gestiune + *m: do_alege_sectie + *m: do_calculeaza_total + *m: do_cauta_contract + *m: do_creeaza_filtru + *m: do_scrie_articole + *m: showadresafacturarelivrare + *m: show_cod_client + *p: cnewvalue + *p: cnume_val && Numele valutei alese. + *p: coldvalue + *p: lcomandamodificata && .T. daca au fost modificate articolele sau cantitatile articolelor de pe comanda. + *p: lmodificare && .T. daca poate sa faca modificari. + *p: ncantitate_init && Cantitatea initiala la intrarea in coloana "Cantitate". + *p: ncritdenumire + *p: nid + *p: npret_init && Pret initial la intrarea in coloana "Pret" + *p: orec + * + + * + BorderStyle = 1 + cgridsortlist = grd_articole_politica,grd_comanda_curenta + cnewvalue = + cnume_val = + coldvalue = + DoCreate = .T. + Height = 586 + lcomandamodificata = .F. + lmodificare = .T. + Name = "frm_comenzi_nou" + ncantitate_init = 0 + ncritdenumire = 1 + npret_init = 0 + Width = 800 + _memberdata = + + + _shape1.Anchor = 10 + _shape1.Height = 29 + _shape1.Left = 0 + _shape1.Name = "_shape1" + _shape1.Top = 0 + _shape1.Width = 803 + _shape2.Height = 29 + _shape2.Left = 736 + _shape2.Name = "_shape2" + _shape2.Top = 0 + _shape2.Width = 69 + Lb_titlu_alb_b121.Caption = "COMANDÃ" + Lb_titlu_alb_b121.FontBold = .T. + Lb_titlu_alb_b121.Name = "Lb_titlu_alb_b121" + Lb_titlu_alb_b121.TabIndex = 25 + BUT_TERMIN1.Anchor = 8 + BUT_TERMIN1.Height = 27 + BUT_TERMIN1.Left = 769 + BUT_TERMIN1.Name = "BUT_TERMIN1" + BUT_TERMIN1.TabIndex = 20 + BUT_TERMIN1.Top = 1 + BUT_TERMIN1.Width = 30 + Gridsort1.Left = 9 + Gridsort1.Name = "Gridsort1" + Gridsort1.Top = 38 + * + + ADD OBJECT 'But_precedent1' AS but_precedent WITH ; + Anchor = 8, ; + Left = 314, ; + Name = "But_precedent1", ; + TabIndex = 19, ; + ToolTipText = "Sterge articol de pe comanda", ; + Top = 302 + *< END OBJECT: ClassLib="cmd_butoane.vcx" BaseClass="commandbutton" /> + + ADD OBJECT 'But_renunt1' AS but_renunt WITH ; + Anchor = 8, ; + Height = 27, ; + Left = 739, ; + Name = "But_renunt1", ; + TabIndex = 21, ; + Top = 1, ; + Width = 30 + *< END OBJECT: ClassLib="cmd_butoane.vcx" BaseClass="commandbutton" /> + + ADD OBJECT 'But_reset1' AS but_reset WITH ; + Anchor = 8, ; + Left = 314, ; + Name = "But_reset1", ; + TabIndex = 31, ; + Top = 200 + *< END OBJECT: ClassLib="cmd_butoane.vcx" BaseClass="commandbutton" /> + + ADD OBJECT 'But_urmator1' AS but_urmator WITH ; + Anchor = 8, ; + Left = 314, ; + Name = "But_urmator1", ; + TabIndex = 17, ; + ToolTipText = "Adauga articol pe comanda", ; + Top = 265 + *< END OBJECT: ClassLib="cmd_butoane.vcx" BaseClass="commandbutton" /> + + ADD OBJECT 'chkStoc' AS _checkbox WITH ; + Alignment = 0, ; + Caption = "Articolele cu stoc", ; + Left = 17, ; + Name = "chkStoc", ; + TabStop = .F., ; + Top = 227 + *< END OBJECT: ClassLib="_baza.vcx" BaseClass="checkbox" /> + + ADD OBJECT 'clb_data_comanda' AS clb_tx_simplu WITH ; + Height = 29, ; + Left = 12, ; + Name = "clb_data_comanda", ; + TabIndex = 3, ; + Top = 89, ; + Width = 302, ; + TEXT_SIMPLU1.ControlSource = "porec.data_comanda", ; + TEXT_SIMPLU1.Left = 114, ; + TEXT_SIMPLU1.Name = "TEXT_SIMPLU1", ; + TEXT_SIMPLU1.Top = 3, ; + LB_SIMPLU1.Caption = "Datã comandã", ; + LB_SIMPLU1.Name = "LB_SIMPLU1" + *< END OBJECT: ClassLib="lb_tx.vcx" BaseClass="container" /> + + ADD OBJECT 'clb_data_livrare' AS clb_tx_simplu WITH ; + Height = 29, ; + Left = 12, ; + Name = "clb_data_livrare", ; + TabIndex = 5, ; + Top = 145, ; + Width = 302, ; + TEXT_SIMPLU1.ControlSource = "porec.data_livrare", ; + TEXT_SIMPLU1.Left = 114, ; + TEXT_SIMPLU1.Name = "TEXT_SIMPLU1", ; + TEXT_SIMPLU1.Top = 3, ; + LB_SIMPLU1.Caption = "Datã livrare", ; + LB_SIMPLU1.Name = "LB_SIMPLU1" + *< END OBJECT: ClassLib="lb_tx.vcx" BaseClass="container" /> + + ADD OBJECT 'clb_nr_comanda' AS clb_tx_simplu WITH ; + Height = 29, ; + Left = 12, ; + Name = "clb_nr_comanda", ; + TabIndex = 2, ; + TabStop = .F., ; + Top = 61, ; + Width = 302, ; + TEXT_SIMPLU1.ControlSource = "porec.nr_comanda", ; + TEXT_SIMPLU1.Left = 114, ; + TEXT_SIMPLU1.Name = "TEXT_SIMPLU1", ; + TEXT_SIMPLU1.ReadOnly = .T., ; + TEXT_SIMPLU1.Top = 3, ; + LB_SIMPLU1.Caption = "Numãr comandã", ; + LB_SIMPLU1.Name = "LB_SIMPLU1" + *< END OBJECT: ClassLib="lb_tx.vcx" BaseClass="container" /> + + ADD OBJECT 'Clb_tx_simplu1' AS clb_tx_simplu WITH ; + Height = 29, ; + Left = 361, ; + Name = "Clb_tx_simplu1", ; + TabIndex = 6, ; + Top = 37, ; + Width = 322, ; + Text_simplu1.ControlSource = "porec.COMANDA_EXTERNA", ; + Text_simplu1.Left = 125, ; + Text_simplu1.Name = "Text_simplu1", ; + Text_simplu1.Top = 3, ; + Lb_simplu1.Caption = "Comandã externã", ; + Lb_simplu1.Name = "Lb_simplu1" + *< END OBJECT: ClassLib="lb_tx.vcx" BaseClass="container" /> + + ADD OBJECT 'Clb_tx_simplu2' AS clb_tx_simplu WITH ; + Height = 48, ; + Left = 693, ; + Name = "Clb_tx_simplu2", ; + TabIndex = 11, ; + Top = 37, ; + Width = 90, ; + Text_simplu1.ControlSource = "porec.proc_discount", ; + Text_simplu1.Height = 23, ; + Text_simplu1.InputMask = (get_mask(5,2)), ; + Text_simplu1.Left = 7, ; + Text_simplu1.Name = "Text_simplu1", ; + Text_simplu1.Top = 22, ; + Text_simplu1.Width = 53, ; + Lb_simplu1.Caption = "Proc. discount", ; + Lb_simplu1.Left = 3, ; + Lb_simplu1.Name = "Lb_simplu1", ; + Lb_simplu1.Top = 6 + *< END OBJECT: ClassLib="lb_tx.vcx" BaseClass="container" /> + + ADD OBJECT 'Clb_tx_simplu2._lbbase2' AS _lbbase WITH ; + Caption = "%", ; + Left = 65, ; + Name = "_lbbase2", ; + Top = 25 + *< END OBJECT: ClassLib="_lb_base.vcx" BaseClass="label" /> + + ADD OBJECT 'Clb_tx_total' AS clb_tx_simplu WITH ; + Anchor = 12, ; + Height = 29, ; + Left = 483, ; + Name = "Clb_tx_total", ; + TabIndex = 27, ; + TabStop = .F., ; + Top = 548, ; + Width = 306, ; + Text_simplu1.Alignment = 3, ; + Text_simplu1.InputMask = (get_mask(14,gnPc)), ; + Text_simplu1.Left = 117, ; + Text_simplu1.Name = "Text_simplu1", ; + Text_simplu1.ReadOnly = .T., ; + Text_simplu1.Top = 3, ; + Text_simplu1.Value = 0, ; + Lb_simplu1.Caption = "Total comandã", ; + Lb_simplu1.Name = "Lb_simplu1" + *< END OBJECT: ClassLib="lb_tx.vcx" BaseClass="container" /> + + ADD OBJECT 'cmb_AdresaFacturare' AS combobox WITH ; + BoundColumn = 1, ; + BoundTo = .F., ; + ControlSource = "", ; + FontSize = 10, ; + Height = 24, ; + Left = 481, ; + Name = "cmb_AdresaFacturare", ; + RowSourceType = 6, ; + Style = 2, ; + TabIndex = 9, ; + Top = 120, ; + Visible = .F., ; + Width = 309 + *< END OBJECT: BaseClass="combobox" /> + + ADD OBJECT 'cmb_AdresaLivrare' AS combobox WITH ; + ControlSource = "", ; + FontSize = 10, ; + Height = 24, ; + Left = 481, ; + Name = "cmb_AdresaLivrare", ; + Style = 2, ; + TabIndex = 10, ; + Top = 145, ; + Visible = .F., ; + Width = 309 + *< END OBJECT: BaseClass="combobox" /> + + ADD OBJECT 'cmb_CodClient' AS combobox WITH ; + ColumnCount = 3, ; + ColumnLines = .F., ; + ColumnWidths = "200,0,0", ; + ControlSource = "", ; + FontSize = 10, ; + Height = 24, ; + Left = 481, ; + Name = "cmb_CodClient", ; + Style = 2, ; + TabIndex = 8, ; + Top = 95, ; + Visible = .F., ; + Width = 200 + *< END OBJECT: BaseClass="combobox" /> + + ADD OBJECT 'ct_articole' AS criteriu_text WITH ; + Height = 24, ; + Left = 90, ; + Name = "ct_articole", ; + TabIndex = 12, ; + Top = 200, ; + Value = 2, ; + Width = 84 + *< END OBJECT: ClassLib="caut_ora.vcx" BaseClass="combobox" /> + + ADD OBJECT 'Ct_contract' AS ct_clb_cautare_var WITH ; + cconditie = EMPTY(NVL(poRec.id_ctr,0)), ; + cprocedura = Thisform.do_cauta_contract, ; + cvar_afisata = porec.numar_contract, ; + Height = 31, ; + Left = 360, ; + Name = "Ct_contract", ; + TabIndex = 7, ; + Top = 64, ; + Visible = .F., ; + Width = 324, ; + shape_cautare.Height = 29, ; + shape_cautare.Left = 1, ; + shape_cautare.Name = "shape_cautare", ; + shape_cautare.Top = 1, ; + shape_cautare.Width = 291, ; + img_cautare.Left = 298, ; + img_cautare.Name = "img_cautare", ; + img_cautare.Top = 5, ; + lb_cautare.Caption = "Contract", ; + lb_cautare.Left = 10, ; + lb_cautare.Name = "lb_cautare", ; + lb_cautare.Top = 8, ; + tx_cautare.Height = 23, ; + tx_cautare.Left = 127, ; + tx_cautare.Name = "tx_cautare", ; + tx_cautare.Top = 4, ; + tx_cautare.Width = 159 + *< END OBJECT: ClassLib="caut_ora.vcx" BaseClass="container" /> + + ADD OBJECT 'Ct_nume' AS ct_clb_cautare WITH ; + cconditie = , ; + cvar_afisata = porec.nume, ; + Height = 31, ; + Left = 11, ; + Name = "Ct_nume", ; + TabIndex = 4, ; + Top = 116, ; + Visible = .F., ; + Width = 337, ; + img_cautare.Left = 307, ; + img_cautare.Name = "img_cautare", ; + img_cautare.Top = 5, ; + clb_tx_cautare.Lb_simplu1.Caption = "Nume client", ; + clb_tx_cautare.Lb_simplu1.Left = 8, ; + clb_tx_cautare.Lb_simplu1.Name = "Lb_simplu1", ; + clb_tx_cautare.Left = 1, ; + clb_tx_cautare.Name = "clb_tx_cautare", ; + clb_tx_cautare.Text_simplu1.Left = 114, ; + clb_tx_cautare.Text_simplu1.Name = "Text_simplu1", ; + clb_tx_cautare.Text_simplu1.Top = 3, ; + clb_tx_cautare.Top = 1, ; + clb_tx_cautare.Width = 302 + *< END OBJECT: ClassLib="caut_ora.vcx" BaseClass="container" /> + + ADD OBJECT 'CUS_ODATA_COMENZI1' AS cus_odata_comenzi WITH ; + Left = 660, ; + Name = "CUS_ODATA_COMENZI1", ; + Top = 180 + *< END OBJECT: ClassLib="ocomenzi.vcx" BaseClass="custom" /> + + ADD OBJECT 'grd_articole_politica' AS _grdrow WITH ; + Anchor = 15, ; + ColumnCount = 6, ; + DeleteMark = .F., ; + Height = 324, ; + HighlightStyle = 2, ; + Left = 17, ; + Name = "grd_articole_politica", ; + Panel = 1, ; + RecordSource = "v_articole", ; + RowHeight = 19, ; + TabIndex = 16, ; + Top = 252, ; + Width = 296, ; + Column1.ColumnOrder = 2, ; + Column1.ControlSource = "nume_articol", ; + Column1.FontName = "Arial", ; + Column1.FontSize = 10, ; + Column1.Name = "cArticol", ; + Column1.ReadOnly = .T., ; + Column1.Width = 185, ; + Column2.ColumnOrder = 4, ; + Column2.ControlSource = "um", ; + Column2.FontName = "Arial", ; + Column2.FontSize = 10, ; + Column2.Name = "cUM", ; + Column2.ReadOnly = .T., ; + Column2.Width = 74, ; + Column3.ColumnOrder = 1, ; + Column3.ControlSource = "codmat", ; + Column3.FontName = "Arial", ; + Column3.FontSize = 10, ; + Column3.Name = "cCodmat", ; + Column3.ReadOnly = .T., ; + Column3.Width = 90, ; + Column4.ColumnOrder = 5, ; + Column4.ControlSource = "pret", ; + Column4.DynamicForeColor = "IIF(pret > 0, RGB(0,0,0), RGB(255,0,0))", ; + Column4.FontName = "Arial", ; + Column4.FontSize = 10, ; + Column4.InputMask = (get_mask(14,gnPPretV)), ; + Column4.Name = "cPret", ; + Column4.ReadOnly = .T., ; + Column4.Width = 74, ; + Column5.ColumnOrder = 6, ; + Column5.ControlSource = "stoc", ; + Column5.Format = "RK", ; + Column5.InputMask = (get_mask(14,gnPcant)), ; + Column5.Name = "cStoc", ; + Column5.ReadOnly = .T., ; + Column6.ColumnOrder = 3, ; + Column6.ControlSource = "codbare", ; + Column6.FontSize = 10, ; + Column6.Name = "cCodBare", ; + Column6.ReadOnly = .T., ; + Column6.Width = 115 + *< END OBJECT: ClassLib="_grd_base.vcx" BaseClass="grid" /> + + ADD OBJECT 'grd_articole_politica.cArticol.Header1' AS header WITH ; + Alignment = 2, ; + Caption = "Articol", ; + FontName = "Arial", ; + FontSize = 10, ; + Name = "Header1" + *< END OBJECT: BaseClass="header" /> + + ADD OBJECT 'grd_articole_politica.cArticol.Text1' AS textbox WITH ; + BackColor = 255,255,255, ; + BorderStyle = 0, ; + FontName = "Arial", ; + FontSize = 10, ; + ForeColor = 0,0,0, ; + Margin = 0, ; + Name = "Text1", ; + ReadOnly = .T., ; + SelectedBackColor = 100,185,255 + *< END OBJECT: BaseClass="textbox" /> + + ADD OBJECT 'grd_articole_politica.cCodBare.Header1' AS header WITH ; + Alignment = 2, ; + Caption = "Cod bare", ; + Name = "Header1" + *< END OBJECT: BaseClass="header" /> + + ADD OBJECT 'grd_articole_politica.cCodBare.Text1' AS textbox WITH ; + BackColor = 255,255,255, ; + BorderStyle = 0, ; + FontSize = 10, ; + ForeColor = 0,0,0, ; + Margin = 0, ; + Name = "Text1", ; + ReadOnly = .T., ; + SelectedBackColor = 100,185,255 + *< END OBJECT: BaseClass="textbox" /> + + ADD OBJECT 'grd_articole_politica.cCodmat.Header1' AS header WITH ; + Alignment = 2, ; + Caption = "Cod material", ; + FontName = "Arial", ; + FontSize = 10, ; + Name = "Header1" + *< END OBJECT: BaseClass="header" /> + + ADD OBJECT 'grd_articole_politica.cCodmat.Text1' AS textbox WITH ; + BackColor = 255,255,255, ; + BorderStyle = 0, ; + FontName = "Arial", ; + FontSize = 10, ; + ForeColor = 0,0,0, ; + Margin = 0, ; + Name = "Text1", ; + ReadOnly = .T., ; + SelectedBackColor = 100,185,255 + *< END OBJECT: BaseClass="textbox" /> + + ADD OBJECT 'grd_articole_politica.cPret.Header1' AS header WITH ; + Alignment = 2, ; + Caption = "Pret", ; + FontName = "Arial", ; + FontSize = 10, ; + Name = "Header1" + *< END OBJECT: BaseClass="header" /> + + ADD OBJECT 'grd_articole_politica.cPret.Text1' AS textbox WITH ; + BackColor = 255,255,255, ; + BorderStyle = 0, ; + FontName = "Arial", ; + FontSize = 10, ; + ForeColor = 0,0,0, ; + Margin = 0, ; + Name = "Text1", ; + ReadOnly = .T., ; + SelectedBackColor = 100,185,255 + *< END OBJECT: BaseClass="textbox" /> + + ADD OBJECT 'grd_articole_politica.cStoc.Header1' AS header WITH ; + Alignment = 2, ; + Caption = "Stoc", ; + Name = "Header1" + *< END OBJECT: BaseClass="header" /> + + ADD OBJECT 'grd_articole_politica.cStoc.Text1' AS textbox WITH ; + BackColor = 255,255,255, ; + BorderStyle = 0, ; + ForeColor = 0,0,0, ; + Margin = 0, ; + Name = "Text1", ; + ReadOnly = .T., ; + SelectedBackColor = 100,185,255 + *< END OBJECT: BaseClass="textbox" /> + + ADD OBJECT 'grd_articole_politica.cUM.Header1' AS header WITH ; + Alignment = 2, ; + Caption = "UM", ; + FontName = "Arial", ; + FontSize = 10, ; + Name = "Header1" + *< END OBJECT: BaseClass="header" /> + + ADD OBJECT 'grd_articole_politica.cUM.Text1' AS textbox WITH ; + BackColor = 255,255,255, ; + BorderStyle = 0, ; + FontName = "Arial", ; + FontSize = 10, ; + ForeColor = 0,0,0, ; + Margin = 0, ; + Name = "Text1", ; + ReadOnly = .T., ; + SelectedBackColor = 100,185,255 + *< END OBJECT: BaseClass="textbox" /> + + ADD OBJECT 'grd_comanda_curenta' AS _grdrow WITH ; + Anchor = 13, ; + ColumnCount = 6, ; + DeleteMark = .F., ; + Height = 288, ; + HighlightStyle = 2, ; + Left = 346, ; + Name = "grd_comanda_curenta", ; + Panel = 1, ; + RecordSource = "crscomanda_curenta", ; + RowHeight = 19, ; + TabIndex = 18, ; + Top = 252, ; + Width = 444, ; + Column1.ColumnOrder = 1, ; + Column1.ControlSource = "denumire", ; + Column1.FontName = "Arial", ; + Column1.FontSize = 10, ; + Column1.Name = "cArticol", ; + Column1.ReadOnly = .T., ; + Column1.Width = 208, ; + Column2.ColumnOrder = 4, ; + Column2.ControlSource = "valoare", ; + Column2.FontName = "Arial", ; + Column2.FontSize = 10, ; + Column2.InputMask = (get_mask(14,gnPc)), ; + Column2.Name = "cValoare", ; + Column2.ReadOnly = .T., ; + Column2.Width = 80, ; + Column3.ColumnOrder = 3, ; + Column3.ControlSource = "pret", ; + Column3.FontName = "Arial", ; + Column3.FontSize = 10, ; + Column3.InputMask = (get_mask(14,gnPPretV)), ; + Column3.Name = "cPret", ; + Column3.Width = 62, ; + Column4.ColumnOrder = 2, ; + Column4.ControlSource = "cantitate", ; + Column4.FontName = "Arial", ; + Column4.FontSize = 10, ; + Column4.InputMask = (get_mask(14,gnPcant)), ; + Column4.Name = "cCantitate", ; + Column4.ReadOnly = .T., ; + Column4.Width = 59, ; + Column5.ControlSource = "pret_cu_tva", ; + Column5.FontName = "Arial", ; + Column5.FontSize = 10, ; + Column5.Name = "cPret_cu_tva", ; + Column5.ReadOnly = .T., ; + Column5.Sparse = .F., ; + Column5.Width = 39, ; + Column6.ControlSource = "codbare", ; + Column6.FontSize = 10, ; + Column6.Name = "cCodBare", ; + Column6.ReadOnly = .T., ; + Column6.Width = 124 + *< END OBJECT: ClassLib="_grd_base.vcx" BaseClass="grid" /> + + ADD OBJECT 'grd_comanda_curenta.cArticol.Header1' AS header WITH ; + Alignment = 2, ; + Caption = "Articol", ; + FontName = "Arial", ; + FontSize = 10, ; + Name = "Header1" + *< END OBJECT: BaseClass="header" /> + + ADD OBJECT 'grd_comanda_curenta.cArticol.Text1' AS textbox WITH ; + BackColor = 255,255,255, ; + BorderStyle = 0, ; + Enabled = .T., ; + FontName = "Arial", ; + FontSize = 10, ; + ForeColor = 0,0,0, ; + Margin = 0, ; + Name = "Text1", ; + ReadOnly = .T., ; + SelectedBackColor = 100,185,255 + *< END OBJECT: BaseClass="textbox" /> + + ADD OBJECT 'grd_comanda_curenta.cCantitate.Header1' AS header WITH ; + Alignment = 2, ; + Caption = "Cantitate", ; + FontName = "Arial", ; + FontSize = 10, ; + Name = "Header1" + *< END OBJECT: BaseClass="header" /> + + ADD OBJECT 'grd_comanda_curenta.cCantitate.Text1' AS textbox WITH ; + BackColor = 255,255,255, ; + BorderStyle = 0, ; + FontName = "Arial", ; + FontSize = 10, ; + ForeColor = 0,0,0, ; + Margin = 0, ; + Name = "Text1", ; + ReadOnly = .T., ; + SelectedBackColor = 100,185,255 + *< END OBJECT: BaseClass="textbox" /> + + ADD OBJECT 'grd_comanda_curenta.cCodBare.Header1' AS header WITH ; + Alignment = 2, ; + Caption = "Cod bare", ; + Name = "Header1" + *< END OBJECT: BaseClass="header" /> + + ADD OBJECT 'grd_comanda_curenta.cCodBare.Text1' AS textbox WITH ; + BackColor = 255,255,255, ; + BorderStyle = 0, ; + FontSize = 10, ; + ForeColor = 0,0,0, ; + Margin = 0, ; + Name = "Text1", ; + ReadOnly = .T., ; + SelectedBackColor = 100,185,255 + *< END OBJECT: BaseClass="textbox" /> + + ADD OBJECT 'grd_comanda_curenta.cPret.Header1' AS header WITH ; + Alignment = 2, ; + Caption = "Pret", ; + FontName = "Arial", ; + FontSize = 10, ; + Name = "Header1" + *< END OBJECT: BaseClass="header" /> + + ADD OBJECT 'grd_comanda_curenta.cPret.Text1' AS textbox WITH ; + BackColor = 255,255,255, ; + BorderStyle = 0, ; + FontName = "Arial", ; + FontSize = 10, ; + ForeColor = 0,0,0, ; + Margin = 0, ; + Name = "Text1", ; + ReadOnly = .F., ; + SelectedBackColor = 100,185,255 + *< END OBJECT: BaseClass="textbox" /> + + ADD OBJECT 'grd_comanda_curenta.cPret_cu_tva._checkbox1' AS _checkbox WITH ; + Alignment = 0, ; + AutoSize = .F., ; + Caption = "", ; + Centered = .T., ; + FontName = "Arial", ; + FontSize = 10, ; + Left = 27, ; + Name = "_checkbox1", ; + ReadOnly = .T., ; + Top = 35 + *< END OBJECT: ClassLib="_baza.vcx" BaseClass="checkbox" /> + + ADD OBJECT 'grd_comanda_curenta.cPret_cu_tva.Header1' AS header WITH ; + Alignment = 2, ; + Caption = "Cu TVA", ; + FontName = "Arial", ; + FontSize = 10, ; + Name = "Header1" + *< END OBJECT: BaseClass="header" /> + + ADD OBJECT 'grd_comanda_curenta.cValoare.Header1' AS header WITH ; + Alignment = 2, ; + Caption = "Valoare", ; + FontName = "Arial", ; + FontSize = 10, ; + Name = "Header1" + *< END OBJECT: BaseClass="header" /> + + ADD OBJECT 'grd_comanda_curenta.cValoare.Text1' AS textbox WITH ; + BackColor = 255,255,255, ; + BorderStyle = 0, ; + FontName = "Arial", ; + FontSize = 10, ; + ForeColor = 0,0,0, ; + Margin = 0, ; + Name = "Text1", ; + ReadOnly = .T., ; + SelectedBackColor = 100,185,255 + *< END OBJECT: BaseClass="textbox" /> + + ADD OBJECT 'Gridextra1' AS gridextra WITH ; + gridexpression = thisform.grd_articole_politica, ; + Left = 6, ; + Name = "Gridextra1", ; + productname = ROA, ; + Top = 304 + *< END OBJECT: ClassLib="..\utile\gridextras\gridextras.vcx" BaseClass="custom" /> + + ADD OBJECT 'Gridextra2' AS gridextra WITH ; + gridexpression = thisform.grd_comanda_curenta, ; + Left = 786, ; + Name = "Gridextra2", ; + productname = ROA, ; + Top = 253 + *< END OBJECT: ClassLib="..\utile\gridextras\gridextras.vcx" BaseClass="custom" /> + + ADD OBJECT 'lb_articole' AS lb_simplu WITH ; + Caption = "Articol/Cod", ; + Left = 20, ; + Name = "lb_articole", ; + TabIndex = 23, ; + Top = 204 + *< END OBJECT: ClassLib="lb.vcx" BaseClass="label" /> + + ADD OBJECT 'lb_comanda' AS lb_simplu WITH ; + Anchor = 8, ; + Caption = "Articol comandã", ; + Height = 18, ; + Left = 353, ; + Name = "lb_comanda", ; + TabIndex = 26, ; + Top = 205, ; + Width = 96 + *< END OBJECT: ClassLib="lb.vcx" BaseClass="label" /> + + ADD OBJECT 'lbl_AdresadeFacturare' AS label WITH ; + BackStyle = 0, ; + Caption = "Adresa de facturare", ; + FontSize = 10, ; + Height = 18, ; + Left = 362, ; + Name = "lbl_AdresadeFacturare", ; + TabIndex = 28, ; + Top = 124, ; + Visible = .F., ; + Width = 115 + *< END OBJECT: BaseClass="label" /> + + ADD OBJECT 'lbl_AdresadeLivrare' AS label WITH ; + BackStyle = 0, ; + Caption = "Adresa de livrare :", ; + FontSize = 10, ; + Height = 17, ; + Left = 362, ; + Name = "lbl_AdresadeLivrare", ; + TabIndex = 29, ; + Top = 149, ; + Visible = .F., ; + Width = 111 + *< END OBJECT: BaseClass="label" /> + + ADD OBJECT 'lbl_codclient' AS label WITH ; + BackStyle = 0, ; + Caption = "Cod client :", ; + FontSize = 10, ; + Height = 17, ; + Left = 362, ; + Name = "lbl_codclient", ; + TabIndex = 30, ; + Top = 99, ; + Visible = .F., ; + Width = 96 + *< END OBJECT: BaseClass="label" /> + + ADD OBJECT 'opt_interna' AS combobox WITH ; + ControlSource = "porec.interna", ; + FontCharSet = 238, ; + Height = 24, ; + Left = 12, ; + Name = "opt_interna", ; + Style = 2, ; + TabIndex = 1, ; + Top = 37, ; + Width = 302 + *< END OBJECT: BaseClass="combobox" /> + + ADD OBJECT 'txtArticole' AS textbox WITH ; + Anchor = 10, ; + FontSize = 10, ; + Format = "!k", ; + Height = 23, ; + Left = 179, ; + Name = "txtArticole", ; + TabIndex = 13, ; + ToolTipText = "Cautare dupa articol, cod material sau cod bare", ; + Top = 201, ; + Width = 131 + *< END OBJECT: BaseClass="textbox" /> + + ADD OBJECT 'txtArticoleLista' AS textbox WITH ; + Anchor = 8, ; + Format = "!k", ; + Height = 23, ; + Left = 453, ; + Name = "txtArticoleLista", ; + TabIndex = 24, ; + ToolTipText = "Tastati primele litere pentru cautare articole in lista de preturi", ; + Top = 203, ; + Width = 237 + *< END OBJECT: BaseClass="textbox" /> + + PROCEDURE arataadrese + Local llRaspuns,llRaspuns2 + Store .F. To llRaspuns,llRaspuns2 + If !Empty(Nvl(poRec.id_part,0)) + lnid_part=poRec.id_part + lnid_comanda=poRec.id_comanda + *!* modificare v 2.0.27 : am adaugat sters = 0 si inactiv = 0 + CREATE CURSOR v_adrese (denumire_adresa V(250), strada V(200), id_adresa N(20)) + + lcSql = [select SUBSTR(NVL(denumire_adresa, adresa), 1, 250) as denumire_adresa,strada,id_adresa from vadrese_parteneri where id_part=]+Transform(lnid_part)+[ and sters = 0 and inactiv = 0] + lcCursor = [v_adrese] + If goExecutor.oExecuta(lcSql,'v_adrese_temp') + SELECT v_adrese + APPEND FROM DBF('v_adrese_temp') + USE IN (SELECT('v_adrese_temp')) + + Select v_adrese + If Reccount(lcCursor)>0 + llRaspuns = .T. + With Thisform.cmb_AdresaFacturare + .ColumnCount=1 + .BoundColumn=3 + .BoundTo= .T. + .RowSource=lcCursor + .RowSourceType= 2 + * .ControlSource="porec.ID_Facturare" + Endwith + With Thisform.cmb_AdresaLivrare + .ColumnCount=1 + .BoundColumn=3 + .BoundTo= .T. + .RowSource=lcCursor + .RowSourceType= 2 + * .ControlSource="porec.ID_Livrare" + Endwith + + Thisform.showadresafacturarelivrare(.T.) + lcSql = [select id_facturare,id_livrare from comenzi where sters=0 and id_comanda=]+Transform(lnid_comanda) + lcCursor1 = [v_adrese_COMANDA] + if goExecutor.oExecuta(lcSql,lcCursor1) + If Reccount(lcCursor1)>0 + Select v_adrese_COMANDA + Scatter Name porecob + Thisform.cmb_AdresaFacturare.Value=porecob.id_facturare + Thisform.cmb_AdresaLivrare.Value =porecob.id_livrare + llRaspuns2 = .T. + Endif + Endif + If !llRaspuns2 + Thisform.cmb_AdresaFacturare.Value=v_adrese.id_adresa + Thisform.cmb_AdresaLivrare.Value =v_adrese.id_adresa + poRec.id_livrare=v_adrese.id_adresa + poRec.id_facturare=v_adrese.id_adresa + Endif + Endif + Endif + Endif + If !llRaspuns + Thisform.showadresafacturarelivrare(.F.) + Endif + ENDPROC + + PROCEDURE arata_coduri_clienti + Local llRaspuns, llRaspuns2 + Store .F. To llRaspuns,llRaspuns2 + If !Empty(Nvl(poRec.id_part,0)) + lnid_part=poRec.id_part + lnid_comanda=poRec.id_comanda + lcSql = [select COD,ID_PART,ID from parteneri_coduri where id_part=]+Transform(lnid_part) + lcCursor = [v_coduri] + lnSucces = goExecutor.oExecute(lcSql,lcCursor) + If lnSucces < 0 + amessagebox(goExecutor.cEroare,16,"Eroare") + Else + If Reccount(lcCursor)>0 + llRaspuns = .T. + With Thisform.cmb_codclient + .ColumnCount=3 + .BoundColumn=3 + .BoundTo= .T. + .RowSource=lcCursor + .RowSourceType= 2 + Endwith + Thisform.show_cod_client(.T.) + lcSql = [select id_codclient from comenzi where sters=0 and id_comanda=]+Transform(lnid_comanda) + lcCursor1 = [v_codclient_comanda] + lnSucces = goExecutor.oExecute(lcSql,lcCursor1) + If lnSucces < 0 + amessagebox(goExecutor.cEroare,16,"Eroare") + Else + If Reccount(lcCursor1)>0 + llRaspuns2 = .T. + Select v_codclient_comanda + Scatter Name porecob + Thisform.cmb_codclient.Value=porecob.id_codclient + Endif + Endif + If !llRaspuns2 + Thisform.cmb_codclient.Value=v_coduri.Id + poRec.id_codclient=v_coduri.Id + Endif + Endif + Endif + Endif + If !llRaspuns + Thisform.show_cod_client(.F.) + Endif + + ENDPROC + + PROCEDURE arata_date + *!* modificare v 2.0.10 + *!* Lparameters tnValue + Local lnValue + *!* lnValue = tnValue + lnValue = Thisform.opt_interna.ListIndex + *!* modificare v 2.0.10 ^ + Do Case + Case lnValue = 1 + Thisform.ct_nume.Visible = .F. + Thisform.clb_data_livrare.Visible = .F. + Thisform.clb_tx_simplu1.Visible = .F. && modificare v 2.0.20 + Thisform.ct_contract.Visible = .F. && modificare v 2.0.20 + Case lnValue = 2 + With Thisform.ct_nume + .Visible = .T. + .cconditie = [EMPTY(NVL(poRec.nume,'')) AND EMPTY(NVL(poRec.id_part,0))] + .cprocedura = [thisform.do_alege_client] + .clb_tx_cautare.lb_simplu1.Caption = [Nume client] + Endwith + Thisform.clb_data_livrare.Visible = .T. + Thisform.clb_tx_simplu1.Visible = .T. && modificare v 2.0.20 + Thisform.ct_contract.Visible = .F. && modificare v 2.0.20 + *!* modificare v 2.0.20 + Case lnValue = 5 + With Thisform.ct_nume + .Visible = .T. + .cconditie = [EMPTY(NVL(poRec.nume,'')) AND EMPTY(NVL(poRec.id_part,0))] + .cprocedura = [thisform.do_alege_client] + .clb_tx_cautare.lb_simplu1.Caption = [Nume client] + Endwith + Thisform.clb_data_livrare.Visible = .T. + Thisform.clb_tx_simplu1.Visible = .T. + Thisform.ct_contract.Visible = .T. + *!* modificare v 2.0.20 ^ + Case lnValue = 3 + With Thisform.ct_nume + .Visible = .T. + .cconditie = [EMPTY(NVL(poRec.nume,'')) AND EMPTY(NVL(poRec.id_gestiune,0))] + .cprocedura = [thisform.do_alege_gestiune] + .clb_tx_cautare.lb_simplu1.Caption = [Gestiune] + Endwith + Thisform.clb_data_livrare.Visible = .T. + Thisform.clb_tx_simplu1.Visible = .F. && modificare v 2.0.20 + Thisform.ct_contract.Visible = .F. && modificare v 2.0.20 + Case lnValue = 4 + With Thisform.ct_nume + .Visible = .T. + .cconditie = [EMPTY(NVL(poRec.nume,'')) AND EMPTY(NVL(poRec.id_sectie,0))] + .cprocedura = [thisform.do_alege_sectie] + .clb_tx_cautare.lb_simplu1.Caption = [Secþie] + Endwith + Thisform.clb_data_livrare.Visible = .T. + Thisform.clb_tx_simplu1.Visible = .F. && modificare v 2.0.20 + Thisform.ct_contract.Visible = .F. && modificare v 2.0.20 + Endcase + + ENDPROC + + PROCEDURE Destroy + If Used('v_articole') + Use In v_articole + Endif + If Used('crscomanda_curenta') + Use In crscomanda_curenta + EndIf + If Used('crssterse') + Use in crssterse + EndIf + ENDPROC + + PROCEDURE do_adauga + If Used('v_articole') And Reccount('v_articole')>0 + Private poArticol + Select v_articole + Scatter Name poArticol + + Select crscomanda_curenta + Locate For id_articol = poArticol.id_articol + If Found() + Thisform.grd_comanda_curenta.SetFocus() + Else + gnButon=2 + AddProperty(poArticol,'cantitate',0) + + ofrmadarticol=Createobject("frm_articol_comanda") + ofrmadarticol.Show(1) + If gnButon=1 And !Empty(This.nId) And !Isnull(This.nId) + *!* modificare v 2.0.4 + *!* lcSql = [begin pack_comenzi.adauga_articol_comanda(] + Alltrim(Str(This.nId)) + [,] + Alltrim(Str(poArticol.id_articol)) + [,] + Alltrim(Str(poArticol.id_pol)) + [,] + ; + *!* ALLTRIM(Str(poArticol.cantitate,14,3)) + [,] + Alltrim(Str(gnIdUtil)) + [,]+ALLTRIM(STR(gnId_sectie))+[); end;] + *!* lnSucces = goExecutor.oExecute(lcSql) + + *!* If lnSucces < 0 + *!* aMESSAGEBOX(goExecutor.cEroare,0+16,"Eroare") + *!* Return + *!* Endif + *!* modificare v 2.0.4 ^ + Thisform.grd_comanda_curenta.salveaza_grid() + Select crscomanda_curenta + Append Blank + *!* modificare v 2.0.26 : am adaugat pret_cu_tva + Replace denumire With poArticol.nume_articol,cantitate With poArticol.cantitate,id_articol With poArticol.id_articol,; + id_pol With poArticol.id_pol,Pret With poArticol.Pret,valoare With Round(poArticol.cantitate*poArticol.Pret,gnPc),; + pret_cu_tva WITH poArticol.pret_cu_tva + With Thisform.grd_comanda_curenta + lnNrInregVizibile = Floor((.Height - .HeaderHeight)/.RowHeight) + Endwith + If lnNrInregVizibile < Recno('crscomanda_curenta') + lnRecNo = Recno() - lnNrInregVizibile + Go lnRecNo + Else + Go Top + Endif + *!* modificare v 2.0.24 + Thisform.lcomandamodificata = .T. + Thisform.oRec.oBackupXML.SaveBackupSet("crscomanda_curenta") + *!* modificare v 2.0.24 ^ && modificare v 2.0.24 + Thisform.grd_comanda_curenta.incarca_grid() + + Thisform.do_calculeaza_total() + *!* Thisform.grd_comanda_curenta.SetFocus() + Endif + Thisform.txtArticole.SetFocus() + Endif + + Release ofrmadarticol, poArticol + Endif + ENDPROC + + PROCEDURE do_alege_client + Local loCauta + loCauta = CautPartenerContabilitate(GetHash([cTitlu=>Alegeþi clientul??cCont=>4111??lAdaugCorespondente=>1])) + If gnButon = 1 And !Empty(loCauta.id_part) And !Empty(loCauta.denumire) + poRec.id_part = loCauta.id_part + poRec.nume = Alltrim(loCauta.denumire) + Thisform.arataadrese() + Thisform.arata_coduri_clienti() + If poRec.interna = 5 And !Empty(Nvl(poRec.data_comanda,{})) + Private pnId,pcNumar + pnId = 0 + pcNumar = [] + lcSql = [begin pack_comenzi.cauta_contract_comanda(?poRec.data_comanda,?poRec.id_part,?gnIdSucursala,?@pnId,?@pcNumar); end;] + lnSucces = goExecutor.oExecute(lcSql) + If lnSucces < 0 + amessagebox(goExecutor.cEroare,16,"Eroare") + Else + poRec.id_ctr = pnId + poRec.numar_contract = pcNumar + Thisform.ct_contract.tx_cautare.Refresh() + Endif + Release pnId,pcNumar + Endif + Thisform.clb_data_livrare.SetFocus() + Else + poRec.id_part = 0 + poRec.nume = [] + Endif + + + ENDPROC + + PROCEDURE do_alege_gestiune + Local loCauta + loCauta = caut_gestiune() + If !Empty(Nvl(loCauta.id_gestiune,0)) And !Empty(loCauta.nume_gestiune) + poRec.id_gestiune = loCauta.id_gestiune + poRec.nume = Alltrim(loCauta.nume_gestiune) + Thisform.clb_data_livrare.SetFocus() + Else + poRec.id_gestiune = 0 + poRec.nume = [] + Endif + ENDPROC + + PROCEDURE do_alege_sectie + Local loCauta + loCauta = caut_sectie() + If !Empty(Nvl(loCauta.id_sectie,0)) And !Empty(loCauta.sectie) + poRec.id_sectie2 = loCauta.id_sectie + poRec.nume = Alltrim(loCauta.sectie) + Thisform.clb_data_livrare.SetFocus() + Else + poRec.id_sectie2 = 0 + poRec.nume = [] + Endif + ENDPROC + + PROCEDURE do_calculeaza_total + *!* modificare v 2.0.4 + *!* Select Nvl(Sum(valoare),0) As valoare From crscomanda_curenta Into Cursor crstempsuma + Select Nvl(Sum(valoare),0) As valoare From crscomanda_curenta Into Cursor crstempsuma + *!* modificare v 2.0.4 ^ + Select crstempsuma + lnTotal = valoare + Thisform.clb_tx_total.text_simplu1.Value = lnTotal + + If Used('crstempsuma') + Use In crstempsuma + Endif + ENDPROC + + PROCEDURE do_cauta_contract + Local loCauta + If Empty(Nvl(poRec.id_part,0)) + amessagebox("Nu ati ales clientul!",0+48,"Atentie") + Thisform.ct_nume.SetFocus() + Else + loCauta = caut_contract_activ(-1,poRec.id_part,poRec.data_comanda) + If gnButon <> 2 + poRec.id_ctr = loCauta.id_ctr + *!* modificare v 2.0.23 + *!* poRec.numar_contract = Alltrim(Str(loCauta.numar))+[/]+Day(loCauta.Data)+[.]+Month(loCauta.Data)+[.]+Year(loCauta.Data) + poRec.numar_contract = Alltrim(loCauta.contract) + *!* modificare v 2.0.23 ^ + Do Case + Case This.cmb_CodClient.Visible + This.cmb_CodClient.SetFocus() + Case This.cmb_AdresaFacturare.Visible + This.cmb_AdresaFacturare.SetFocus() + Case This.cmb_AdresaLivrare.Visible + This.cmb_AdresaLivrare.SetFocus() + Otherwise + This.clb_tx_simplu2.SetFocus() + Endcase + Endif + Endif + + ENDPROC + + PROCEDURE do_creeaza_filtru + Lparameters toCriteriu,tcNumeCamp,tcValoare + Local lnCriteriu,lcFiltru + lnCriteriu = toCriteriu.Value + Do Case + Case lnCriteriu = 1 + lcFiltru = "LIKE('" + Upper(Strtran(tcValoare,['],[''])) + "*',UPPER(Nvl("+Alltrim(tcNumeCamp)+",'')))" + Case lnCriteriu = 2 + lcFiltru = "UPPER(Nvl("+Alltrim(tcNumeCamp)+",''))='" + Upper(Strtran(tcValoare,['],[''])) + "'" + Case lnCriteriu = 3 + lcFiltru = "UPPER(Nvl("+Alltrim(tcNumeCamp)+",''))<>'" + Upper(Strtran(tcValoare,['],[''])) + "'" + Case lnCriteriu = 4 + lcFiltru = "LIKE('*" + Upper(Strtran(tcValoare,['],[''])) + "*',UPPER(Nvl("+Alltrim(tcNumeCamp)+",'')))" + Case lnCriteriu = 5 + lcFiltru = "!LIKE('*" + Upper(Strtran(tcValoare,['],[''])) + "*',UPPER(Nvl("+Alltrim(tcNumeCamp)+",'')))" + Case lnCriteriu=6 + lcFiltru = "EMPTY(Nvl("+Alltrim(tcNumeCamp)+",''))" + Case lnCriteriu=7 + lcFiltru = "!EMPTY(Nvl("+Alltrim(tcNumeCamp)+",''))" + Endcase + Return lcFiltru + ENDPROC + + PROCEDURE do_modifica + Lparameters tnCantitate + SET STEP ON + *!* Thisform.grd_comanda_curenta.salveaza_grid() + Select crscomanda_curenta + *!* Replace cantitate With tnCantitate,valoare With Round(tnCantitate*Pret,gnPc),nrcrt With -99 + Replace valoare With Round(cantitate*Pret,gnPc),nrcrt With -99 + + *!* modificare v 2.0.24 + Thisform.lcomandamodificata = .T. + Thisform.oRec.oBackupXML.SaveBackupSet("crscomanda_curenta") + *!* modificare v 2.0.24 ^ + Thisform.do_calculeaza_total() + *!* Thisform.grd_comanda_curenta.incarca_grid() + ENDPROC + + PROCEDURE do_precedent + If !Empty(This.nId) And !Isnull(This.nId) + Thisform.do_sterge() + Endif + + ENDPROC + + PROCEDURE do_reset + lcCriteriuDenumire = goExport.citesteSetareRegistru("CRITDENUMIRE") + If !Empty(lcCriteriuDenumire) And Type('VAL(lcCriteriuDenumire)') = 'N' + Thisform.ncritDenumire = Val(lcCriteriuDenumire) + Endif + Thisform.ct_articole.Value = Thisform.ncritDenumire + Thisform.txtArticole.Value = [] + Select v_articole + Set Filter To + Go Top + Thisform.grd_articole_politica.SetFocus() + + ENDPROC + + PROCEDURE do_scrie_articole + Local llReturn + Store .T. To llReturn + *!* modificare v 2.0.18 : am pus crssterse inainte de crscomanda_curenta pentru ca altfel imi da eroare cand vreau + *!* sa adaug un articol pe care l-am sters in aceeasi sesiune ( la adaugare il mai gasesc o data pe comanda ) + Select crssterse + Scan + lnId = id_c + lcSql = [begin pack_comenzi.sterge_articol_comanda(] + Alltrim(Str(lnId)) + [,] + ; + Alltrim(Str(gnIdUtil)) + [); end;] + lnSucces = goExecutor.oExecute(lcSql) + If lnSucces < 0 + aMESSAGEBOX(goExecutor.cEroare,0+16,"Eroare") + llReturn = .F. + Exit + Endif + Select crssterse + Endscan + If llReturn + Select crscomanda_curenta + Scan + Scatter Name poArticol + Do Case + Case Empty(Nvl(poArticol.id_comanda_element,0)) + lcSql = [begin pack_comenzi.adauga_articol_comanda(] + Alltrim(Str(This.nId)) + [,] + ; + Alltrim(Str(poArticol.id_articol)) + [,] + Alltrim(Str(poArticol.id_pol)) + [,] + ; + ALLTRIM(Str(poArticol.cantitate,14,3)) + [,] + ; + ALLTRIM(Str(poArticol.pret,14,4)) + [,] + ; + Alltrim(Str(gnIdUtil)) + [,] + ; + Alltrim(Str(gnId_sectie))+[); end;] + Case poArticol.nrcrt = -99 && a fost modificata comanda + lcSql = [begin pack_comenzi.modifica_articol_comanda(] + Alltrim(Str(poArticol.id_comanda_element)) + [,] + ; + ALLTRIM(Str(poArticol.cantitate,14,3)) + [,] + ; + ALLTRIM(Str(poArticol.pret,14,4)) + [,] + ; + Alltrim(Str(gnIdUtil)) + [); end;] + Otherwise + Loop + Endcase + lnSucces = goExecutor.oExecute(lcSql) + If lnSucces < 0 + aMESSAGEBOX(goExecutor.cEroare,0+16,"Eroare") + llReturn = .F. + Exit + Endif + Select crscomanda_curenta + Endscan + Endif + Return llReturn + ENDPROC + + PROCEDURE do_sterge + If !Empty(This.nid) And !Isnull(This.nid) + If Reccount('crscomanda_curenta')>0 + Private poArticol + Select crscomanda_curenta + Scatter Name poArticol + If aMESSAGEBOX("Doriti sa stergeti articolul "+Alltrim(poArticol.denumire)+" de pe comanda?",4+32,"Confirmare stergere")==6 + *!* modificare v 2.0.4 + *!* lcSql = [begin pack_comenzi.sterge_articol_comanda(] + Alltrim(Str(This.nid)) + [,] + Alltrim(Str(poArticol.id_articol)) + [,] + ; + *!* ALLTRIM(Str(poArticol.id_pol)) + [,] + Alltrim(Str(gnIdUtil)) + [); end;] + *!* lnSucces = goExecutor.oExecute(lcSql) + + *!* If lnSucces < 0 + *!* aMESSAGEBOX(goExecutor.cEroare,0+16,"Eroare") + *!* Return + *!* Endif + *!* save_grid_tag(Thisform.grd_comanda_curenta) + *!* Select * From crscomanda_curenta Where id_articol <> poArticol.id_articol Order By denumire ; + *!* INTO Cursor crscomanda_curenta Readwrite + *!* restore_grid_tag(Thisform.grd_comanda_curenta) + Thisform.grd_comanda_curenta.salveaza_grid() + If !Empty(Nvl(poArticol.id_comanda_element,0)) + Select crssterse + Append Blank + Replace id_c With poArticol.id_comanda_element + Endif + Select crscomanda_curenta + Delete + *!* modificare v 2.0.24 + Thisform.lcomandamodificata = .T. + Thisform.oRec.oBackupXML.SaveBackupSet("crscomanda_curenta") + *!* modificare v 2.0.24 ^ && modificare v 2.0.24 + Thisform.grd_comanda_curenta.incarca_grid() + *!* modificare v 2.0.4 ^ + Thisform.do_calculeaza_total() + + Thisform.grd_comanda_curenta.SetFocus() + Endif + Endif + Release poArticol + Endif + + ENDPROC + + PROCEDURE do_urmator + If !Empty(This.nId) And !Isnull(This.nId) && pe politica noua sa nu faca nimic + Thisform.do_adauga() + Endif + + ENDPROC + + PROCEDURE inainte_de_do_renunt + *!* modificare v 2.0.24 + Local llReturn + llReturn = .T. + *!* modificare v 2.0.26 + If This.cus_odata_comenzi1.cactiune = [UPDATE] + *!* modificare v 2.0.26 ^ + If Thisform.lcomandamodificata Or Thisform.oRec.lcomandareincarcata + If aMESSAGEBOX("Ati facut modificari articolelor din comanda, dar nu le-ati salvat in baza de date." + ; + CRLF + CRLF + "Doriti sa pastrati modificarile intr-un fisier local pentru o reincarcare ulterioara?" + ; + CRLF + "ATENTIE : Apasati DA in cazul in care a aparut vreo eroare la salvarea in baza de date!",4+32,"Atentie") = 6 + Thisform.oRec.oBackupXML.SaveBackupSet("crscomanda_curenta") + Thisform.oRec.oBackupXML.SaveBackupSet("DATAORA_UM","VARIABLE",Thisform.oRec.dataora_um) + Else + Thisform.oRec.oBackupXML.DeleteBackupSet() + Endif + Else + Thisform.oRec.oBackupXML.DeleteBackupSet() + Endif + *!* modificare v 2.0.26 + Endif + *!* modificare v 2.0.26 ^ + Return llReturn + *!* modificare v 2.0.24 ^ + ENDPROC + + PROCEDURE inainte_de_do_termin + Local llReturn + llReturn = .T. + lccontrol = Upper(This.ActiveControl.BaseClass ) + If Inlist(lccontrol,"TEXTBOX","EDITBOX","COMBOBOX") + lcval=This.ActiveControl.ControlSource + &lcval=Thisform.ActiveControl.Value + Endif + Do Case + Case Empty(porec.nr_comanda) + aMessagebox('Nu ati completat numarul comenzii!',0+48,"Atentie") + Thisform.clb_nr_comanda.text_SIMPLU1.SetFocus() + llReturn = .F. + Case Empty(porec.data_comanda) Or Isnull(porec.data_comanda) + aMessagebox('Nu ati completat data comenzii!',0+48,"Atentie") + Thisform.clb_data_comanda.text_SIMPLU1.SetFocus() + llReturn = .F. + Case Inlist(Thisform.opt_interna.ListIndex,2,5) And Empty(Nvl(porec.id_part,0)) && modificare v 2.0.20 + aMessagebox('Nu ati ales clientul!',0+48,"Atentie") + Thisform.ct_nume.SetFocus() + llReturn = .F. + Case Thisform.opt_interna.ListIndex ==3 And (Empty(porec.id_gestiune) Or Isnull(porec.id_gestiune)) + aMessagebox('Nu ati ales gestiunea!',0+48,"Atentie") + Thisform.ct_nume.SetFocus() + llReturn = .F. + Case Inlist(Thisform.opt_interna.ListIndex,2,5) And Empty(Nvl(porec.data_livrare,{})) && modificare v 2.0.20 + aMessagebox('Nu ati completat data livrarii!',0+48,"Atentie") + Thisform.clb_data_livrare.text_SIMPLU1.SetFocus() + llReturn = .F. + Case Inlist(Thisform.opt_interna.ListIndex,2,5) And porec.data_livrare 0] + ENDIF + Set filter to &lcFiltru + Go top + Thisform.grd_articole_politica.SetFocus() + *!* go top + *!* locate for &lcFiltru + *!* If Found() + *!* thisform.grd_articole_politica.SetFocus() + *!* Else + *!* amessagebox("Articolul nu a fost gasit!",48,"Atentie") + *!* Go lnRecno + *!* If lcControl = [TXTARTICOLE] + *!* Thisform.txtArticole.SetFocus() + *!* Else + *!* Thisform.txtcodmat.SetFocus() + *!* EndIf + *!* Endif + Endif + Case nKeyCode=27 And nShiftAltCtrl=0 + Nodefault + If aMessagebox("Sunteti sigur ca doriti sa inchideti fereastra?",4+32+256,"Confirmare")==6 + This.do_renunt() + Endif + Case nKeyCode=6 And nShiftAltCtrl=2 + Nodefault + This.do_termin() + Endcase + + ENDPROC + + PROCEDURE showadresafacturarelivrare + Lparameters llShow + + If llShow=.T. + Thisform.lbl_Adresadefacturare.Visible= .T. + Thisform.lbl_AdresadeLivrare.Visible=.T. + Thisform.cmb_AdresaFacturare.Visible=.T. + Thisform.cmb_AdresaLivrare.Visible=.T. + Else + Thisform.lbl_Adresadefacturare.Visible= .F. + Thisform.lbl_AdresadeLivrare.Visible=.F. + Thisform.cmb_AdresaFacturare.Visible=.F. + Thisform.cmb_AdresaLivrare.Visible=.F. + Endif + + ENDPROC + + PROCEDURE show_cod_client + Lparameters llShow + + If llShow=.T. + Thisform.cmb_CodClient.Visible=.T. + Thisform.lbl_codclient.Visible= .T. + Else + Thisform.cmb_CodClient.Visible=.F. + Thisform.lbl_codclient.Visible= .F. + Endif + + ENDPROC + + PROCEDURE clb_data_comanda.TEXT_SIMPLU1.InteractiveChange + If Empty(Thisform.nid) + poRec.data_livrare = This.Value + gnOre_livrare * 3600 + Thisform.clb_data_livrare.Refresh() + Endif + ENDPROC + + PROCEDURE cmb_AdresaFacturare.MouseMove + LPARAMETERS nButton, nShift, nXCoord, nYCoord + this.ToolTipText=ALLTRIM(this.list(this.ListIndex,2)) + ENDPROC + + PROCEDURE cmb_AdresaFacturare.Valid + porec.Id_facturare=v_adrese.id_adresa + ENDPROC + + PROCEDURE cmb_AdresaLivrare.MouseMove + LPARAMETERS nButton, nShift, nXCoord, nYCoord + this.ToolTipText=ALLTRIM(this.list(this.ListIndex,2)) + ENDPROC + + PROCEDURE cmb_AdresaLivrare.Valid + porec.Id_livrare=v_adrese.id_adresa + ENDPROC + + PROCEDURE cmb_CodClient.Valid + porec.id_codclient=v_coduri.id + ENDPROC + + PROCEDURE ct_articole.InteractiveChange + With Thisform.txtArticole + If This.Value>5 + .Value="" + .ReadOnly=.T. + Else + .ReadOnly=.F. + .SetFocus() + Endif + Endwith + + ENDPROC + + PROCEDURE grd_articole_politica.Init + * Nu sterge + ENDPROC + + PROCEDURE grd_comanda_curenta.cCantitate.Text1.GotFocus + Thisform.ncantitate_init = This.Value + ENDPROC + + PROCEDURE grd_comanda_curenta.cCantitate.Text1.LostFocus + If Thisform.ncantitate_init <> This.Value + Thisform.do_modifica(This.Value) + Endif + Thisform.ncantitate_init = 0 + ENDPROC + + PROCEDURE grd_comanda_curenta.cPret.Text1.GotFocus + Thisform.npret_init = This.Value + ENDPROC + + PROCEDURE grd_comanda_curenta.cPret.Text1.LostFocus + If Thisform.npret_init <> This.Value + Thisform.do_modifica(This.Value) + Endif + Thisform.npret_init = 0 + ENDPROC + + PROCEDURE grd_comanda_curenta.Init + * Nu sterge + ENDPROC + + PROCEDURE opt_interna.InteractiveChange + *!* modificare v 2.0.10 + *!* Thisform.arata_date(This.ListIndex) + Thisform.arata_date() + *!* modificare v 2.0.10 + thisform.showadresafacturarelivrare(.F.) + ENDPROC + +ENDDEFINE + +DEFINE CLASS frm_livrare AS _frmbase OF "_frm_base.vcx" + *< CLASSDATA: Baseclass="form" Timestamp="" Scale="Pixels" Uniqueid="" /> + + *-- OBJECTDATA items order determines ZOrder / El orden de los items OBJECTDATA determina el ZOrder + *< OBJECTDATA: ObjPath="clb_data_livrat" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="But_renunt1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="Ct_clb_agent" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="Ct_clb_delegat" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="Ct_clb_masina" UniqueID="" Timestamp="" /> + + * + *m: do_cauta_agent + *m: do_cauta_delegat + *m: do_cauta_masina + *p: nid + *p: orec + * + + * + DoCreate = .T. + Height = 163 + Name = "frm_livrare" + Width = 374 + _shape1.Name = "_shape1" + _shape2.Height = 29 + _shape2.Left = 312 + _shape2.Name = "_shape2" + _shape2.Top = 0 + _shape2.Width = 64 + Lb_titlu_alb_b121.Caption = "DETALII LIVRARE" + Lb_titlu_alb_b121.FontBold = .T. + Lb_titlu_alb_b121.Name = "Lb_titlu_alb_b121" + Lb_titlu_alb_b121.TabIndex = 7 + BUT_TERMIN1.Left = 344 + BUT_TERMIN1.Name = "BUT_TERMIN1" + BUT_TERMIN1.TabIndex = 5 + BUT_TERMIN1.Top = 1 + GRIDSORT1.Name = "GRIDSORT1" + * + + ADD OBJECT 'But_renunt1' AS but_renunt WITH ; + Left = 314, ; + Name = "But_renunt1", ; + TabIndex = 6, ; + Top = 1 + *< END OBJECT: ClassLib="cmd_butoane.vcx" BaseClass="commandbutton" /> + + ADD OBJECT 'clb_data_livrat' AS clb_tx_simplu WITH ; + Left = 29, ; + Name = "clb_data_livrat", ; + TabIndex = 4, ; + Top = 128, ; + Text_simplu1.ControlSource = "podetlivrare.data_livrat", ; + Text_simplu1.Name = "Text_simplu1", ; + Lb_simplu1.Caption = "Data livrat", ; + Lb_simplu1.Name = "Lb_simplu1" + *< END OBJECT: ClassLib="lb_tx.vcx" BaseClass="container" /> + + ADD OBJECT 'Ct_clb_agent' AS ct_clb_cautare WITH ; + cconditie = 1=2, ; + cprocedura = Thisform.do_cauta_agent, ; + cvar_afisata = podetlivrare.nume_agent, ; + Left = 28, ; + Name = "Ct_clb_agent", ; + TabIndex = 1, ; + Top = 43, ; + Width = 330, ; + IMG_CAUTARE.Left = 300, ; + IMG_CAUTARE.Name = "IMG_CAUTARE", ; + IMG_CAUTARE.Top = 5, ; + CLB_TX_CAUTARE.Height = 29, ; + CLB_TX_CAUTARE.LB_SIMPLU1.Caption = "Agent", ; + CLB_TX_CAUTARE.LB_SIMPLU1.Name = "LB_SIMPLU1", ; + CLB_TX_CAUTARE.Left = 1, ; + CLB_TX_CAUTARE.Name = "CLB_TX_CAUTARE", ; + CLB_TX_CAUTARE.TEXT_SIMPLU1.Left = 102, ; + CLB_TX_CAUTARE.TEXT_SIMPLU1.Name = "TEXT_SIMPLU1", ; + CLB_TX_CAUTARE.TEXT_SIMPLU1.Top = 3, ; + CLB_TX_CAUTARE.Top = 1, ; + CLB_TX_CAUTARE.Width = 290 + *< END OBJECT: ClassLib="caut_ora.vcx" BaseClass="container" /> + + ADD OBJECT 'Ct_clb_delegat' AS ct_clb_cautare WITH ; + cconditie = Empty(podetlivrare.id_delegat), ; + cprocedura = Thisform.do_cauta_delegat, ; + cvar_afisata = podetlivrare.nume_delegat, ; + Left = 28, ; + Name = "Ct_clb_delegat", ; + TabIndex = 2, ; + Top = 71, ; + Width = 330, ; + IMG_CAUTARE.Left = 300, ; + IMG_CAUTARE.Name = "IMG_CAUTARE", ; + IMG_CAUTARE.Top = 5, ; + CLB_TX_CAUTARE.Height = 29, ; + CLB_TX_CAUTARE.LB_SIMPLU1.Caption = "Delegat", ; + CLB_TX_CAUTARE.LB_SIMPLU1.Name = "LB_SIMPLU1", ; + CLB_TX_CAUTARE.Left = 1, ; + CLB_TX_CAUTARE.Name = "CLB_TX_CAUTARE", ; + CLB_TX_CAUTARE.TEXT_SIMPLU1.Left = 102, ; + CLB_TX_CAUTARE.TEXT_SIMPLU1.Name = "TEXT_SIMPLU1", ; + CLB_TX_CAUTARE.TEXT_SIMPLU1.Top = 3, ; + CLB_TX_CAUTARE.Top = 1, ; + CLB_TX_CAUTARE.Width = 290 + *< END OBJECT: ClassLib="caut_ora.vcx" BaseClass="container" /> + + ADD OBJECT 'Ct_clb_masina' AS ct_clb_cautare WITH ; + cconditie = Empty(podetlivrare.id_masina), ; + cprocedura = Thisform.do_cauta_masina, ; + cvar_afisata = podetlivrare.nrinmat, ; + Left = 28, ; + Name = "Ct_clb_masina", ; + TabIndex = 3, ; + Top = 99, ; + Width = 330, ; + IMG_CAUTARE.Left = 300, ; + IMG_CAUTARE.Name = "IMG_CAUTARE", ; + IMG_CAUTARE.Top = 5, ; + CLB_TX_CAUTARE.Height = 29, ; + CLB_TX_CAUTARE.LB_SIMPLU1.Caption = "Masina", ; + CLB_TX_CAUTARE.LB_SIMPLU1.Name = "LB_SIMPLU1", ; + CLB_TX_CAUTARE.Left = 1, ; + CLB_TX_CAUTARE.Name = "CLB_TX_CAUTARE", ; + CLB_TX_CAUTARE.TEXT_SIMPLU1.Left = 102, ; + CLB_TX_CAUTARE.TEXT_SIMPLU1.Name = "TEXT_SIMPLU1", ; + CLB_TX_CAUTARE.TEXT_SIMPLU1.Top = 3, ; + CLB_TX_CAUTARE.Top = 1, ; + CLB_TX_CAUTARE.Width = 290 + *< END OBJECT: ClassLib="caut_ora.vcx" BaseClass="container" /> + + PROCEDURE do_cauta_agent + Private pnIdPart,pcNumePart + lcTitlu=[ALEGETI AGENTUL] + pnIdPart=0 + pcNumePart=[] + + If caut_partener_dupa_tip(gnIdTipAgenti,lcTitlu,@pnIdPart,@pcNumePart) + podetlivrare.id_agent = pnIdPart + podetlivrare.nume_agent = Alltrim(pcNumePart) + Thisform.ct_clb_agent.Refresh() + Thisform.ct_clb_delegat.SetFocus() + Endif + ENDPROC + + PROCEDURE do_cauta_delegat + Local loCauta + loCauta=caut_delegati() + If !Empty(loCauta.id_responsabil) + podetlivrare.id_delegat = loCauta.id_responsabil + podetlivrare.nume_delegat = Alltrim(loCauta.nume) + lcBi = Strtran(loCauta.bi,[ ],[]) + podetlivrare.serie_bi = Substr(lcBi,1,2) + podetlivrare.numar_bi = Substr(lcBi,3) + podetlivrare.eliberatde = Alltrim(loCauta.eliberatde) + Thisform.ct_clb_delegat.SetFocus() + Thisform.ct_clb_masina.SetFocus() + Endif + + ENDPROC + + PROCEDURE do_cauta_masina + locauta=caut_masina_gs() + If !Isnull(locauta) + podetlivrare.nrinmat = Alltrim(locauta.nrinmat) + podetlivrare.id_masina = locauta.id_masina + + Thisform.ct_clb_masina.SetFocus() + Thisform.clb_data_livrat.text_simplu1.SetFocus() + Endif + + ENDPROC + + PROCEDURE inainte_de_do_termin + Local plReturn + lccontrol = Upper(This.ActiveControl.BaseClass ) + If Inlist(lccontrol,"TEXTBOX","EDITBOX","COMBOBOX") + lcval=This.ActiveControl.ControlSource + &lcval=Thisform.ActiveControl.Value + Endif + Do Case + *!* Case Empty(podetlivrare.id_agent) + *!* amessagebox('Nu ati ales agentul!',0+48,"Atentie") + *!* Thisform.ct_clb_agent.SetFocus() + *!* plReturn=.F. + + Case Empty(podetlivrare.id_delegat) + amessagebox('Nu ati ales delegatul!',0+48,"Atentie") + Thisform.ct_clb_delegat.SetFocus() + plReturn=.F. + + *!* Case Empty(podetlivrare.id_masina) + *!* amessagebox('Nu ati ales masina!',0+48,"Atentie") + *!* Thisform.ct_clb_masina.SetFocus() + *!* plReturn=.F. + + Case Empty(podetlivrare.data_livrat) + amessagebox('Nu ati completat data livrarii!',0+48,"Atentie") + Thisform.clb_data_livrat.text_simplu1.SetFocus() + plReturn=.F. + + Case podetlivrare.data_livrat<=podetlivrare.data_comanda + amessagebox('Data livrarii nu poate fi mai mica decat '+Ttoc(podetlivrare.data_comanda)+Chr(13)+Chr(10)+; + '(maximul datei comenzilor dintre cele selectate) !',0+48,"Atentie") + Thisform.clb_data_livrat.text_simplu1.SetFocus() + plReturn=.F. + Otherwise + plReturn=.T. + Endcase + Return plReturn + + ENDPROC + +ENDDEFINE + +DEFINE CLASS frm_lucrari_detalii_nou AS _frmbase OF "..\comun\clase\_frm_base.vcx" + *< CLASSDATA: Baseclass="form" Timestamp="" Scale="Pixels" Uniqueid="" /> + + *-- OBJECTDATA items order determines ZOrder / El orden de los items OBJECTDATA determina el ZOrder + *< OBJECTDATA: ObjPath="But_renunt1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="clb_nrord" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="clb_data_lucrare" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="clb_termen_executie" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="Cus_odata_lucrari_detalii1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="Ed_explicatie" UniqueID="" Timestamp="" /> + + * + *p: nid + *p: orec + * + + * + DoCreate = .T. + Height = 205 + Name = "frm_lucrari_detalii_nou" + Width = 374 + _shape1.Name = "_shape1" + _shape2.Height = 29 + _shape2.Left = 312 + _shape2.Name = "_shape2" + _shape2.Top = 0 + _shape2.Width = 64 + Lb_titlu_alb_b121.Caption = "LUCRARE" + Lb_titlu_alb_b121.FontBold = .T. + Lb_titlu_alb_b121.Name = "Lb_titlu_alb_b121" + Lb_titlu_alb_b121.TabIndex = 7 + BUT_TERMIN1.Left = 344 + BUT_TERMIN1.Name = "BUT_TERMIN1" + BUT_TERMIN1.TabIndex = 5 + BUT_TERMIN1.Top = 1 + GRIDSORT1.Name = "GRIDSORT1" + * + + ADD OBJECT 'But_renunt1' AS but_renunt WITH ; + Left = 314, ; + Name = "But_renunt1", ; + TabIndex = 6, ; + Top = 1 + *< END OBJECT: ClassLib="..\comun\clase\cmd_butoane.vcx" BaseClass="commandbutton" /> + + ADD OBJECT 'clb_data_lucrare' AS clb_tx_simplu WITH ; + Left = 29, ; + Name = "clb_data_lucrare", ; + TabIndex = 2, ; + Top = 72, ; + Text_simplu1.ControlSource = "porec.data_lucrare", ; + Text_simplu1.Name = "Text_simplu1", ; + Lb_simplu1.Caption = "Data lucrare", ; + Lb_simplu1.Name = "Lb_simplu1" + *< END OBJECT: ClassLib="..\comun\clase\lb_tx.vcx" BaseClass="container" /> + + ADD OBJECT 'clb_nrord' AS clb_tx_simplu WITH ; + Left = 29, ; + Name = "clb_nrord", ; + TabIndex = 1, ; + Top = 44, ; + Text_simplu1.ControlSource = "porec.nrord", ; + Text_simplu1.Name = "Text_simplu1", ; + Lb_simplu1.Caption = "Nr. lucrare", ; + Lb_simplu1.Name = "Lb_simplu1" + *< END OBJECT: ClassLib="..\comun\clase\lb_tx.vcx" BaseClass="container" /> + + ADD OBJECT 'clb_termen_executie' AS clb_tx_simplu WITH ; + Left = 29, ; + Name = "clb_termen_executie", ; + TabIndex = 4, ; + Top = 157, ; + Text_simplu1.ControlSource = "porec.termen_executie", ; + Text_simplu1.Name = "Text_simplu1", ; + Lb_simplu1.Caption = "Termen executie", ; + Lb_simplu1.Name = "Lb_simplu1" + *< END OBJECT: ClassLib="..\comun\clase\lb_tx.vcx" BaseClass="container" /> + + ADD OBJECT 'Cus_odata_lucrari_detalii1' AS cus_odata_lucrari_detalii WITH ; + Left = 336, ; + Name = "Cus_odata_lucrari_detalii1", ; + Top = 36 + *< END OBJECT: ClassLib="ocomenzi.vcx" BaseClass="custom" /> + + ADD OBJECT 'Ed_explicatie' AS ed_tx_simplu WITH ; + Left = 29, ; + Name = "Ed_explicatie", ; + TabIndex = 3, ; + Top = 100, ; + _edbase1.ControlSource = "porec.explicatie", ; + _edbase1.Name = "_edbase1", ; + _LBBASE1.Caption = "Explicatie", ; + _LBBASE1.Name = "_LBBASE1" + *< END OBJECT: ClassLib="..\comun\clase\lb_tx.vcx" BaseClass="container" /> + + PROCEDURE inainte_de_do_termin + Local plReturn + lccontrol = Upper(This.ActiveControl.BaseClass ) + If Inlist(lccontrol,"TEXTBOX","EDITBOX","COMBOBOX") + lcval=This.ActiveControl.ControlSource + &lcval=Thisform.ActiveControl.Value + Endif + + Do Case + Case Empty(porec.nrord) + amessagebox('Nu ati completat numarul lucrarii!',0+48,"Atentie") + Thisform.clb_nrord.texT_SIMPLU1.SetFocus() + plReturn=.F. + Case Empty(porec.data_lucrare) + amessagebox('Nu ati completat data lucrarii!',0+48,"Atentie") + Thisform.clb_data_lucrare.texT_SIMPLU1.SetFocus() + plReturn=.F. + Case Empty(porec.termen_executie) + amessagebox('Nu ati completat termenul de executie!',0+48,"Atentie") + Thisform.clb_termen_executie.texT_SIMPLU1.SetFocus() + plReturn=.F. + Case porec.termen_executie<=porec.data_lucrare + amessagebox('Termenul de executie trebuie sa fie mai mare decat data lucrarii!',0+48,"Atentie") + Thisform.clb_termen_executie.texT_SIMPLU1.SetFocus() + plReturn=.F. + Otherwise + lnRaspuns = 6 + If Upper(Alltrim(This.cus_odata_lucrari_detalii1.cactiune))=='UPDATE' + If Used('crsdata') + Use In crsdata + Endif + *lcSql = [select sysdate + (pack_comenzi.citeste_ore_inchidere()/24) as data from dual] + lcSql = [select sysdate + (pack_comenzi.citeste_ore_inchidere(?gnId_sectie)/24) as data from dual] + lcCursor=[crsdata] + lnSucces=goExecutor.oExecute(lcSql,lcCursor) + If lnSucces<0 + amessagebox(goExecutor.cEroare,0+48,"Eroare") + Return .F. + Endif + Select crsdata + ldDatainchidere = Data + If ldDatainchidere >= porec.termen_executie + lnRaspuns=amessagebox("Termenul de executie al acestei lucrari este mai mic decat data"+; + CHR(13)+CHR(10)+"de la care ea este considerata inchisa ( "+TTOC(ldDatainchidere)+" ) "+; + CHR(13)+CHR(10)+"si nu veti mai putea face modificari sau adauga comenzi pe ea."+; + CHR(13)+CHR(10)+CHR(13)+CHR(10)+SPACE(25)+"Doriti sa continuati?"+CHR(13)+CHR(10),4+32+256,"Confirmare modificare") + Endif + Use In crsdata + Endif + If lnRaspuns = 6 + plReturn = Thisform.cus_odata_lucrari_detalii1.salvare(This.OREC,This.NID) + Else + plReturn = .F. + Endif + Thisform.clb_termen_executie.SetFocus() + Endcase + Return plReturn + + ENDPROC + + PROCEDURE Init + Lparameters toRec, tnId, tcActiune + + DoDefault() + + This.orec= toRec + This.nid = tnId + This.cus_odata_lucrari_detalii1.cactiune = tcActiune + If tcActiune = 'INSERT' + Private pdDataLucrare + pdDataLucrare = {} + actualizeazaSetare([ORE_EXECUTIE],@pdDataLucrare) + poRec.data_lucrare = pdDataLucrare + Endif + ENDPROC + + PROCEDURE KeyPress + Lparameters nKeyCode, nShiftAltCtrl + If nKeyCode = 9 And This.ActiveControl.Class = "Ed_tx_simplu" + Nodefault + Thisform.clb_termen_executie.SetFocus() + Else + DoDefault(nKeyCode,nShiftAltCtrl) + Endif + ENDPROC + + PROCEDURE clb_data_lucrare.Text_simplu1.LostFocus + If Upper(Alltrim(Thisform.cus_odata_lucrari_detalii1.cactiune))=='INSERT' + porec.termen_executie = porec.data_lucrare + gnOre_executie*3600 + Thisform.clb_termen_executie.text_simplu1.Refresh + Endif + ENDPROC + +ENDDEFINE + +DEFINE CLASS frm_optiuni_comenzi AS _frmbase OF "_frm_base.vcx" + *< CLASSDATA: Baseclass="form" Timestamp="" Scale="Pixels" Uniqueid="" /> + + *-- OBJECTDATA items order determines ZOrder / El orden de los items OBJECTDATA determina el ZOrder + *< OBJECTDATA: ObjPath="_shape3" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="opt_grupaart_sectie" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="But_renunt1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="lb_explicatie3" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="tx_ore_inchidere" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="Lb_explicatie1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="tx_ore_executie" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="Lb_explicatie2" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="tx_ore_livrare" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="Ct_politica_preturi_subunitati" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="Lb_explicatie5" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="ct_gestiuni_stoc" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="lb_gestiuni_stoc" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="ct_gestiuni_depozit" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="Lb_simplu9" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="Ct_politica_preturi_prod" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="Lb_simplu10" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="Lb_explicatie6" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="Ct_politica_preturi_clienti" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="Lb_explicatie4" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="op_copiere_comenzi" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="Lb_explicatie7" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="Lb_simplu8" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="Ct_grupaart_sectie" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="tx_minsescomanda" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="op_pret" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="_linie1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="opt_tip_uzual_comanda" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="opt_comenzi_initial" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="op_ordonare" UniqueID="" Timestamp="" /> + + * + *m: do_alege_gest_dep + *m: do_alege_gest_stoc + *m: do_alege_grupa + *m: do_alege_politica + *p: cgrupaartsectie + *p: cid_gestdep_sectie + *p: cid_geststoc_sectie && lista id-uri gestiuni stoc pe sectie + *p: cnumegestdep && Gestiuni depozit pe sectie pentru raport comenzi bazat pe vanzari + *p: cnumegeststoc && Lista gestiuni din care se afiseaza stocul pentru editare comenzi + *p: cnumepolitica + *p: cnumepoliticaclienti + *p: cnumepoliticaprod + *p: nid + *p: nid_grupaart_sectie + *p: nid_pol + *p: nid_pol_clienti + *p: nid_pol_prod + *p: nminsescomanda + *p: orec + * + + * + BorderStyle = 1 + Caption = "Form" + cgrupaartsectie = + cid_gestdep_sectie = + cid_geststoc_sectie = + cnumegestdep = + cnumegeststoc = + cnumepolitica = + cnumepoliticaclienti = + cnumepoliticaprod = + DoCreate = .T. + Height = 550 + Name = "frm_optiuni_comenzi" + nid_grupaart_sectie = 0 + nid_pol = + nid_pol_clienti = + nid_pol_prod = + nminsescomanda = .NULL. + Width = 733 + _shape1.Height = 29 + _shape1.Left = 0 + _shape1.Name = "_shape1" + _shape1.Top = 0 + _shape1.Width = 744 + _shape1.ZOrderSet = 2 + _shape2.Height = 29 + _shape2.Left = 672 + _shape2.Name = "_shape2" + _shape2.Top = 0 + _shape2.Width = 64 + _shape2.ZOrderSet = 3 + Lb_titlu_alb_b121.Caption = "OPÞIUNI COMENZI" + Lb_titlu_alb_b121.FontBold = .T. + Lb_titlu_alb_b121.Name = "Lb_titlu_alb_b121" + Lb_titlu_alb_b121.TabIndex = 19 + Lb_titlu_alb_b121.ZOrderSet = 4 + BUT_TERMIN1.Left = 702 + BUT_TERMIN1.Name = "BUT_TERMIN1" + BUT_TERMIN1.TabIndex = 17 + BUT_TERMIN1.Top = 1 + BUT_TERMIN1.ZOrderSet = 5 + GRIDSORT1.Name = "GRIDSORT1" + * + + ADD OBJECT '_linie1' AS _linie WITH ; + Height = 504, ; + Left = 365, ; + Name = "_linie1", ; + Top = 36, ; + Width = 0, ; + ZOrderSet = 31 + *< END OBJECT: ClassLib="_baza.vcx" BaseClass="line" /> + + ADD OBJECT '_shape3' AS _shape WITH ; + BackStyle = 0, ; + Height = 51, ; + Left = 373, ; + Name = "_shape3", ; + Top = 265, ; + Width = 314, ; + ZOrderSet = 0 + *< END OBJECT: ClassLib="..\..\..\roagest\comun\clase\_baza.vcx" BaseClass="shape" /> + + ADD OBJECT 'But_renunt1' AS but_renunt WITH ; + Left = 672, ; + Name = "But_renunt1", ; + TabIndex = 18, ; + Top = 1, ; + ZOrderSet = 7 + *< END OBJECT: ClassLib="cmd_butoane.vcx" BaseClass="commandbutton" /> + + ADD OBJECT 'ct_gestiuni_depozit' AS ct_clb_cautare WITH ; + cconditie = EMPTY(NVL(thisform.cnumegestdep,'')) AND EMPTY(NVL(gcLISTA_GEST_DEP,'')), ; + clista_parametri = , ; + cprocedura = Thisform.do_alege_gest_dep, ; + cvar_afisata = thisform.cnumegestdep, ; + Left = 370, ; + Name = "ct_gestiuni_depozit", ; + TabIndex = 9, ; + Top = 124, ; + ZOrderSet = 18, ; + img_cautare.Name = "img_cautare", ; + clb_tx_cautare.Lb_simplu1.Caption = "Gestiuni", ; + clb_tx_cautare.Lb_simplu1.Name = "Lb_simplu1", ; + clb_tx_cautare.Name = "clb_tx_cautare", ; + clb_tx_cautare.Text_simplu1.Height = 23, ; + clb_tx_cautare.Text_simplu1.Left = 61, ; + clb_tx_cautare.Text_simplu1.Name = "Text_simplu1", ; + clb_tx_cautare.Text_simplu1.Top = 3, ; + clb_tx_cautare.Text_simplu1.Width = 249 + *< END OBJECT: ClassLib="caut_ora.vcx" BaseClass="container" /> + + ADD OBJECT 'ct_gestiuni_stoc' AS ct_clb_cautare WITH ; + cconditie = EMPTY(NVL(thisform.cnumegestdep,'')) AND EMPTY(NVL(gcLISTA_GEST_DEP,'')), ; + clista_parametri = , ; + cprocedura = Thisform.do_alege_gest_stoc, ; + cvar_afisata = thisform.cnumegeststoc, ; + Left = 372, ; + Name = "ct_gestiuni_stoc", ; + TabIndex = 10, ; + Top = 186, ; + ZOrderSet = 16, ; + img_cautare.Name = "img_cautare", ; + clb_tx_cautare.Lb_simplu1.Caption = "Gestiuni", ; + clb_tx_cautare.Lb_simplu1.Name = "Lb_simplu1", ; + clb_tx_cautare.Name = "clb_tx_cautare", ; + clb_tx_cautare.Text_simplu1.Height = 23, ; + clb_tx_cautare.Text_simplu1.Left = 61, ; + clb_tx_cautare.Text_simplu1.Name = "Text_simplu1", ; + clb_tx_cautare.Text_simplu1.Top = 3, ; + clb_tx_cautare.Text_simplu1.Width = 249 + *< END OBJECT: ClassLib="caut_ora.vcx" BaseClass="container" /> + + ADD OBJECT 'Ct_grupaart_sectie' AS ct_clb_cautare WITH ; + cconditie = EMPTY(NVL(thisform.cgrupaartsectie,'')) AND EMPTY(NVL(Thisform.nid_grupaart_sectie,0)), ; + cprocedura = Thisform.do_alege_grupa, ; + cvar_afisata = thisform.cgrupaartsectie, ; + Left = 12, ; + Name = "Ct_grupaart_sectie", ; + TabIndex = 15, ; + Top = 498, ; + ZOrderSet = 28, ; + img_cautare.Name = "img_cautare", ; + clb_tx_cautare.Lb_simplu1.Caption = "Grupa de articole", ; + clb_tx_cautare.Lb_simplu1.Name = "Lb_simplu1", ; + clb_tx_cautare.Name = "clb_tx_cautare", ; + clb_tx_cautare.Text_simplu1.Name = "Text_simplu1" + *< END OBJECT: ClassLib="caut_ora.vcx" BaseClass="container" /> + + ADD OBJECT 'Ct_politica_preturi_clienti' AS ct_clb_cautare WITH ; + cconditie = EMPTY(NVL(thisform.cnumepoliticaclienti,'')) AND EMPTY(NVL(gnIdPoliticaPretC,0)), ; + clista_parametri = 1, ; + cprocedura = Thisform.do_alege_politica, ; + cvar_afisata = thisform.cnumepoliticaclienti, ; + Left = 12, ; + Name = "Ct_politica_preturi_clienti", ; + TabIndex = 6, ; + Top = 189, ; + Visible = .T., ; + ZOrderSet = 23, ; + img_cautare.Name = "img_cautare", ; + clb_tx_cautare.Lb_simplu1.Caption = "Politica de preturi", ; + clb_tx_cautare.Lb_simplu1.Name = "Lb_simplu1", ; + clb_tx_cautare.Name = "clb_tx_cautare", ; + clb_tx_cautare.Text_simplu1.Name = "Text_simplu1" + *< END OBJECT: ClassLib="caut_ora.vcx" BaseClass="container" /> + + ADD OBJECT 'Ct_politica_preturi_prod' AS ct_clb_cautare WITH ; + cconditie = EMPTY(NVL(thisform.cnumepoliticaprod,'')) AND EMPTY(NVL(gnID_LISTA_PRETURI_PV,0)), ; + clista_parametri = 3, ; + cprocedura = Thisform.do_alege_politica, ; + cvar_afisata = thisform.cnumepoliticaprod, ; + Left = 12, ; + Name = "Ct_politica_preturi_prod", ; + TabIndex = 8, ; + Top = 312, ; + ZOrderSet = 20, ; + img_cautare.Name = "img_cautare", ; + clb_tx_cautare.Lb_simplu1.Caption = "Politica de preturi", ; + clb_tx_cautare.Lb_simplu1.Name = "Lb_simplu1", ; + clb_tx_cautare.Name = "clb_tx_cautare", ; + clb_tx_cautare.Text_simplu1.Name = "Text_simplu1" + *< END OBJECT: ClassLib="caut_ora.vcx" BaseClass="container" /> + + ADD OBJECT 'Ct_politica_preturi_subunitati' AS ct_clb_cautare WITH ; + cconditie = EMPTY(NVL(thisform.cnumepolitica,'')) AND EMPTY(NVL(gnIdPoliticaPret,0)), ; + clista_parametri = 2, ; + cprocedura = Thisform.do_alege_politica, ; + cvar_afisata = thisform.cnumepolitica, ; + Left = 12, ; + Name = "Ct_politica_preturi_subunitati", ; + TabIndex = 7, ; + Top = 257, ; + ZOrderSet = 14, ; + img_cautare.Name = "img_cautare", ; + clb_tx_cautare.Lb_simplu1.Caption = "Politica de preturi", ; + clb_tx_cautare.Lb_simplu1.Name = "Lb_simplu1", ; + clb_tx_cautare.Name = "clb_tx_cautare", ; + clb_tx_cautare.Text_simplu1.Name = "Text_simplu1" + *< END OBJECT: ClassLib="caut_ora.vcx" BaseClass="container" /> + + ADD OBJECT 'Lb_explicatie1' AS lb_simplu WITH ; + AutoSize = .F., ; + Caption = "Termenul de executie propus la adaugarea unei lucrari este de ore de la data lucrarii.", ; + Height = 34, ; + Left = 12, ; + Name = "Lb_explicatie1", ; + TabIndex = 28, ; + Top = 41, ; + Width = 313, ; + WordWrap = .T., ; + ZOrderSet = 10 + *< END OBJECT: ClassLib="lb.vcx" BaseClass="label" /> + + ADD OBJECT 'Lb_explicatie2' AS lb_simplu WITH ; + AutoSize = .F., ; + Caption = "Termenul de livrare uzual pentru o comanda este de ore.", ; + Height = 34, ; + Left = 12, ; + Name = "Lb_explicatie2", ; + TabIndex = 30, ; + Top = 76, ; + Width = 324, ; + WordWrap = .T., ; + ZOrderSet = 12 + *< END OBJECT: ClassLib="lb.vcx" BaseClass="label" /> + + ADD OBJECT 'lb_explicatie3' AS lb_simplu WITH ; + AutoSize = .F., ; + Caption = "O lucrare este considerata închisa cu ore înainte de termenul de executie.", ; + Height = 34, ; + Left = 12, ; + Name = "lb_explicatie3", ; + TabIndex = 27, ; + Top = 114, ; + Width = 294, ; + WordWrap = .T., ; + ZOrderSet = 8 + *< END OBJECT: ClassLib="lb.vcx" BaseClass="label" /> + + ADD OBJECT 'Lb_explicatie4' AS lb_simplu WITH ; + AutoSize = .F., ; + Caption = "Alegeti politica de preturi implicita pentru comenzile de la clienti:", ; + Height = 31, ; + Left = 12, ; + Name = "Lb_explicatie4", ; + TabIndex = 23, ; + Top = 158, ; + Visible = .T., ; + Width = 348, ; + WordWrap = .T., ; + ZOrderSet = 24 + *< END OBJECT: ClassLib="lb.vcx" BaseClass="label" /> + + ADD OBJECT 'Lb_explicatie5' AS lb_simplu WITH ; + AutoSize = .F., ; + Caption = "Alegeti politica de preturi implicita pentru comenzile de la subunitati:", ; + Height = 34, ; + Left = 12, ; + Name = "Lb_explicatie5", ; + TabIndex = 20, ; + Top = 223, ; + Width = 324, ; + WordWrap = .T., ; + ZOrderSet = 15 + *< END OBJECT: ClassLib="lb.vcx" BaseClass="label" /> + + ADD OBJECT 'Lb_explicatie6' AS lb_simplu WITH ; + AutoSize = .F., ; + Caption = "Alegeti politica de preturi implicita pentru productie:", ; + Height = 18, ; + Left = 12, ; + Name = "Lb_explicatie6", ; + TabIndex = 25, ; + Top = 291, ; + Width = 296, ; + WordWrap = .T., ; + ZOrderSet = 22 + *< END OBJECT: ClassLib="lb.vcx" BaseClass="label" /> + + ADD OBJECT 'Lb_explicatie7' AS lb_simplu WITH ; + AutoSize = .F., ; + Caption = "Tip uzual comanda", ; + Height = 18, ; + Left = 15, ; + Name = "Lb_explicatie7", ; + TabIndex = 21, ; + Top = 397, ; + Width = 109, ; + WordWrap = .T., ; + ZOrderSet = 26 + *< END OBJECT: ClassLib="lb.vcx" BaseClass="label" /> + + ADD OBJECT 'lb_gestiuni_stoc' AS lb_simplu WITH ; + AutoSize = .F., ; + Caption = "Alegeti gestiunile pentru afisare stoc in editare comenzi", ; + Height = 18, ; + Left = 375, ; + Name = "lb_gestiuni_stoc", ; + TabIndex = 26, ; + Top = 167, ; + Width = 320, ; + WordWrap = .T., ; + ZOrderSet = 17 + *< END OBJECT: ClassLib="lb.vcx" BaseClass="label" /> + + ADD OBJECT 'Lb_simplu10' AS lb_simplu WITH ; + AutoSize = .F., ; + Caption = "Se afiseaza initial comenzile", ; + Height = 18, ; + Left = 380, ; + Name = "Lb_simplu10", ; + TabIndex = 22, ; + Top = 271, ; + Width = 165, ; + WordWrap = .T., ; + ZOrderSet = 21 + *< END OBJECT: ClassLib="lb.vcx" BaseClass="label" /> + + ADD OBJECT 'Lb_simplu8' AS lb_simplu WITH ; + AutoSize = .F., ; + Caption = "Numarul de minute în care nu se pot face alte operatii pe o comanda blocata este de minute.", ; + Height = 34, ; + Left = 372, ; + Name = "Lb_simplu8", ; + TabIndex = 29, ; + Top = 41, ; + Width = 340, ; + WordWrap = .T., ; + ZOrderSet = 27 + *< END OBJECT: ClassLib="lb.vcx" BaseClass="label" /> + + ADD OBJECT 'Lb_simplu9' AS lb_simplu WITH ; + AutoSize = .F., ; + Caption = "Alegeti gestiunile tip depozit pentru comenzi bazate pe vanzari", ; + Height = 34, ; + Left = 373, ; + Name = "Lb_simplu9", ; + TabIndex = 24, ; + Top = 90, ; + Width = 319, ; + WordWrap = .T., ; + ZOrderSet = 19 + *< END OBJECT: ClassLib="lb.vcx" BaseClass="label" /> + + ADD OBJECT 'op_copiere_comenzi' AS op_tx_simplu WITH ; + Height = 51, ; + Left = 12, ; + Name = "op_copiere_comenzi", ; + TabIndex = 13, ; + Top = 341, ; + Width = 315, ; + ZOrderSet = 25, ; + Lb_simplu1.AutoSize = .F., ; + Lb_simplu1.Caption = "La copierea unei comenzi,în cazul în care sunt diferente, se scriu cantitatile diminuate?", ; + Lb_simplu1.Height = 32, ; + Lb_simplu1.Left = 8, ; + Lb_simplu1.Name = "Lb_simplu1", ; + Lb_simplu1.Top = 10, ; + Lb_simplu1.Width = 248, ; + Lb_simplu1.WordWrap = .T., ; + _optiongrup1.BorderStyle = 0, ; + _optiongrup1.Height = 46, ; + _optiongrup1.Left = 258, ; + _optiongrup1.Name = "_optiongrup1", ; + _optiongrup1.OPTION1.Caption = "Da", ; + _optiongrup1.OPTION1.Left = 5, ; + _optiongrup1.OPTION1.Name = "OPTION1", ; + _optiongrup1.OPTION1.Top = 5, ; + _optiongrup1.OPTION1.Value = 0, ; + _optiongrup1.OPTION2.Caption = "Nu", ; + _optiongrup1.OPTION2.Left = 5, ; + _optiongrup1.OPTION2.Name = "OPTION2", ; + _optiongrup1.OPTION2.Top = 24, ; + _optiongrup1.OPTION2.Value = 1, ; + _optiongrup1.Top = 3, ; + _optiongrup1.Value = 2, ; + _optiongrup1.Width = 71 + *< END OBJECT: ClassLib="lb_tx.vcx" BaseClass="container" /> + + ADD OBJECT 'op_ordonare' AS op_tx_simplu WITH ; + Height = 51, ; + Left = 373, ; + Name = "op_ordonare", ; + TabIndex = 11, ; + Top = 315, ; + Width = 314, ; + ZOrderSet = 34, ; + Lb_simplu1.AutoSize = .T., ; + Lb_simplu1.Caption = "Ordonare comenzi", ; + Lb_simplu1.Height = 18, ; + Lb_simplu1.Left = 8, ; + Lb_simplu1.Name = "Lb_simplu1", ; + Lb_simplu1.Top = 10, ; + Lb_simplu1.Width = 106, ; + Lb_simplu1.WordWrap = .T., ; + _optiongrup1.AutoSize = .F., ; + _optiongrup1.BorderStyle = 0, ; + _optiongrup1.Height = 46, ; + _optiongrup1.Left = 146, ; + _optiongrup1.Name = "_optiongrup1", ; + _optiongrup1.OPTION1.AutoSize = .T., ; + _optiongrup1.OPTION1.Caption = "Cele mai vechi primele", ; + _optiongrup1.OPTION1.Left = 5, ; + _optiongrup1.OPTION1.Name = "OPTION1", ; + _optiongrup1.OPTION1.Top = 5, ; + _optiongrup1.OPTION1.Value = 1, ; + _optiongrup1.OPTION2.AutoSize = .T., ; + _optiongrup1.OPTION2.Caption = "Cele mai noi primele", ; + _optiongrup1.OPTION2.Left = 5, ; + _optiongrup1.OPTION2.Name = "OPTION2", ; + _optiongrup1.OPTION2.Top = 24, ; + _optiongrup1.OPTION2.Value = 0, ; + _optiongrup1.Top = 3, ; + _optiongrup1.Value = 1, ; + _optiongrup1.Width = 165 + *< END OBJECT: ClassLib="lb_tx.vcx" BaseClass="container" /> + + ADD OBJECT 'op_pret' AS op_tx_simplu WITH ; + Height = 51, ; + Left = 373, ; + Name = "op_pret", ; + TabIndex = 12, ; + Top = 215, ; + Width = 314, ; + ZOrderSet = 30, ; + Lb_simplu1.AutoSize = .F., ; + Lb_simplu1.Caption = "Se permite suprascrierea pretului", ; + Lb_simplu1.Height = 32, ; + Lb_simplu1.Left = 8, ; + Lb_simplu1.Name = "Lb_simplu1", ; + Lb_simplu1.Top = 10, ; + Lb_simplu1.Width = 248, ; + Lb_simplu1.WordWrap = .T., ; + _optiongrup1.BorderStyle = 0, ; + _optiongrup1.Height = 46, ; + _optiongrup1.Left = 258, ; + _optiongrup1.Name = "_optiongrup1", ; + _optiongrup1.OPTION1.Caption = "Da", ; + _optiongrup1.OPTION1.Left = 5, ; + _optiongrup1.OPTION1.Name = "OPTION1", ; + _optiongrup1.OPTION1.Top = 5, ; + _optiongrup1.OPTION1.Value = 0, ; + _optiongrup1.OPTION2.Caption = "Nu", ; + _optiongrup1.OPTION2.Left = 5, ; + _optiongrup1.OPTION2.Name = "OPTION2", ; + _optiongrup1.OPTION2.Top = 24, ; + _optiongrup1.OPTION2.Value = 1, ; + _optiongrup1.Top = 3, ; + _optiongrup1.Value = 2, ; + _optiongrup1.Width = 71 + *< END OBJECT: ClassLib="lb_tx.vcx" BaseClass="container" /> + + ADD OBJECT 'opt_comenzi_initial' AS combobox WITH ; + FontCharSet = 238, ; + Height = 24, ; + Left = 377, ; + Name = "opt_comenzi_initial", ; + Style = 2, ; + TabIndex = 3, ; + Top = 290, ; + Width = 302, ; + ZOrderSet = 33 + *< END OBJECT: BaseClass="combobox" /> + + ADD OBJECT 'opt_grupaart_sectie' AS _optiongrup WITH ; + AutoSize = .F., ; + ButtonCount = 2, ; + Height = 97, ; + Left = 7, ; + Name = "opt_grupaart_sectie", ; + TabIndex = 14, ; + Top = 443, ; + Value = 1, ; + Width = 363, ; + ZOrderSet = 1, ; + OPTION1.AutoSize = .T., ; + OPTION1.Caption = "Nu se tine cont de grupa de articole la generarea automata.", ; + OPTION1.FontCharSet = 238, ; + OPTION1.Left = 5, ; + OPTION1.Name = "OPTION1", ; + OPTION1.TabIndex = 1, ; + OPTION1.TabStop = .F., ; + OPTION1.Top = 7, ; + OPTION1.Value = 1, ; + OPTION2.AutoSize = .T., ; + OPTION2.Caption = "Acestei sectii îi corespund articolele din grupa :", ; + OPTION2.FontCharSet = 238, ; + OPTION2.Left = 5, ; + OPTION2.Name = "OPTION2", ; + OPTION2.TabIndex = 2, ; + OPTION2.TabStop = .F., ; + OPTION2.Top = 31, ; + OPTION2.Value = 0 + *< END OBJECT: ClassLib="_baza.vcx" BaseClass="optiongroup" /> + + ADD OBJECT 'opt_tip_uzual_comanda' AS combobox WITH ; + FontCharSet = 238, ; + Height = 24, ; + Left = 14, ; + Name = "opt_tip_uzual_comanda", ; + Style = 2, ; + TabIndex = 2, ; + Top = 414, ; + Width = 302, ; + ZOrderSet = 32 + *< END OBJECT: BaseClass="combobox" /> + + ADD OBJECT 'tx_minsescomanda' AS _textbox WITH ; + Format = "K!", ; + Height = 23, ; + InputMask = "999", ; + Left = 531, ; + Name = "tx_minsescomanda", ; + TabIndex = 16, ; + Top = 54, ; + Width = 60, ; + ZOrderSet = 29 + *< END OBJECT: ClassLib="_baza.vcx" BaseClass="textbox" /> + + ADD OBJECT 'tx_ore_executie' AS _textbox WITH ; + Format = "K!", ; + Height = 23, ; + InputMask = "999", ; + Left = 76, ; + Name = "tx_ore_executie", ; + TabIndex = 1, ; + Top = 54, ; + Width = 60, ; + ZOrderSet = 11 + *< END OBJECT: ClassLib="_baza.vcx" BaseClass="textbox" /> + + ADD OBJECT 'tx_ore_inchidere' AS _textbox WITH ; + Format = "K!", ; + Height = 23, ; + InputMask = "999", ; + Left = 247, ; + Name = "tx_ore_inchidere", ; + TabIndex = 5, ; + Top = 110, ; + Width = 60, ; + ZOrderSet = 9 + *< END OBJECT: ClassLib="_baza.vcx" BaseClass="textbox" /> + + ADD OBJECT 'tx_ore_livrare' AS _textbox WITH ; + Format = "K!", ; + Height = 23, ; + InputMask = "999", ; + Left = 11, ; + Name = "tx_ore_livrare", ; + TabIndex = 4, ; + Top = 90, ; + Width = 60, ; + ZOrderSet = 13 + *< END OBJECT: ClassLib="_baza.vcx" BaseClass="textbox" /> + + PROCEDURE do_alege_gest_dep + Local loCauta, lcListaIdGestiuni, lcListaNumeGestiuni, lcXMLGestiune + Local lcListaDenumire, lcListaId, llLoud, llToateIreg, lnPornire, lnTip + lnTip = 2 && gestiunile pe care are drept utilizatorul + llToateIreg = .F. + lnPornire = 1 && incepe cu...,1,este...,2,nu este...,3,contine...,4,nu contine...,5,toate,6 + llLoud = .T. && daca apare messagebox "Nu ati selectat nici o inregistare" pentru cautarea multipla. Default = .F. + lcListaId = '' + lcListaDenumire = '' + lcXMLGestiune = caut_gestiune_xml(lnTip, llToateIreg, lnPornire, llLoud, @lcListaId, @lcListaDenumire) + SET STEP ON + If !Empty(lcXMLGestiune) And gnButon = 1 + Xmltocursor(lcXMLGestiune, "crsGestTemp") + lcListaIdGestiuni = cursor2lista("crsGestTemp", "id_gestiune", ",") + lcListaNumeGestiuni = cursor2lista("crsGestTemp", "cgest", ",") + Thisform.cid_gestdep_sectie = lcListaIdGestiuni + Thisform.cnumegestdep = lcListaNumeGestiuni + Thisform.ct_gestiuni_depozit.SetFocus() + + Use In (SELECT('crsGestTemp')) + ENDIF + + + + ENDPROC + + PROCEDURE do_alege_gest_stoc + Local loCauta, lcListaIdGestiuni, lcListaNumeGestiuni, lcXMLGestiune + Local lcListaDenumire, lcListaId, llLoud, llToateIreg, lnPornire, lnTip + lnTip = 2 && gestiunile pe care are drept utilizatorul + llToateIreg = .F. + lnPornire = 1 && incepe cu...,1,este...,2,nu este...,3,contine...,4,nu contine...,5,toate,6 + llLoud = .T. && daca apare messagebox "Nu ati selectat nici o inregistare" pentru cautarea multipla. Default = .F. + lcListaId = '' + lcListaDenumire = '' + lcXMLGestiune = caut_gestiune_xml(lnTip, llToateIreg, lnPornire, llLoud, @lcListaId, @lcListaDenumire) + + If !Empty(lcXMLGestiune) And gnButon = 1 + Xmltocursor(lcXMLGestiune, "crsGestTemp") + lcListaIdGestiuni = cursor2lista("crsGestTemp", "id_gestiune", ",") + lcListaNumeGestiuni = cursor2lista("crsGestTemp", "cgest", ",") + Thisform.cid_geststoc_sectie = lcListaIdGestiuni + Thisform.cnumegeststoc = lcListaNumeGestiuni + Thisform.ct_gestiuni_stoc.SetFocus() + + Use In (SELECT('crsGestTemp')) + ENDIF + + + ENDPROC + + PROCEDURE do_alege_grupa + Local loCauta + loCauta = caut_grupa_articole() + If !Empty(loCauta.grupa) + Thisform.nid_grupaart_sectie = loCauta.id_grupa + Thisform.cgrupaartsectie = loCauta.grupa + Thisform.ct_grupaart_sectie.SetFocus() + ENDIF + + + ENDPROC + + PROCEDURE do_alege_politica + Lparameters tnTip + + Local loCauta + loCauta = caut_politici_curente_util() + If !Empty(loCauta.nume) + Do Case + Case tnTip = 1 + Thisform.nid_pol_clienti = loCauta.id_pol + Thisform.cnumepoliticaclienti = loCauta.nume + Thisform.ct_politica_preturi_subunitati.SetFocus() + Case tnTip = 2 + Thisform.nid_pol = loCauta.id_pol + Thisform.cnumepolitica = loCauta.nume + Thisform.ct_politica_preturi_prod.SetFocus() + Case tnTip = 3 + Thisform.nid_pol_prod = loCauta.id_pol + Thisform.cnumepoliticaprod = loCauta.nume + Thisform.but_TERMIN1.SetFocus() + Endcase + Endif + + ENDPROC + + PROCEDURE inainte_de_do_termin + Local lcSql, lcOptiuni, lcValori, lcSeparator, plReturn + Local lcListaNumeGestiuni, lnCopiereCantitate, lnIdGrupaArtSectie, lnMinSesComanda, lnOre_executie + Local lnOre_inchidere, lnOre_livrare, lnSucces, lnTipUzualComanda, lnToateGrupele, lnSuprascriePretComanda + Local lcId_gestdep_sectie, lcId_geststoc_sectie, lcListaNumeGestiuniStoc, lnComenziInitial + Local lnOrdonareComenzi + *:Global gnRF_ORDONARECOMENZI + + *:Global gnComenziInitial, gnSuprascriePretComanda + + *:Global gnCopiereCantitate, gnID_LISTA_PRETURI_PV, gnIdGrupaArtSectie, gnIdPoliticaPret + *:Global gnIdPoliticaPretC, gnOre_executie, gnOre_inchidere, gnOre_livrare, gnTipUzualComanda + *:Global gnToateGrupele + lcSeparator = [|] + lcOptiuni = [] + lcValori = [] + lnOre_executie = Thisform.tx_ore_executie.Value + lnOre_inchidere = Thisform.tx_ore_inchidere.Value + lnOre_livrare = Thisform.tx_ore_livrare.Value + lnCopiereCantitate = thisform.op_copiere_comenzi._optiongrup1.Value + lnTipUzualComanda = thisform.opt_tip_uzual_comanda.ListIndex && modificare v 2.0.20 + lnComenziInitial = thisform.opt_comenzi_initial.ListIndex + lcListaNumeGestiuni = thisform.ct_gestiuni_depozit.clb_tx_cautare.text_simplu1.Value + lcId_gestdep_sectie = extrage_optiuni(m.gcLISTA_GESTIUNI_DEPOZIT, m.gnId_sectie) + + lcListaNumeGestiuniStoc = thisform.ct_gestiuni_stoc.clb_tx_cautare.text_simplu1.Value + lcId_geststoc_sectie = extrage_optiuni(m.gcLISTA_GESTIUNI_STOC, m.gnId_sectie) + + + lnSuprascriePretComanda = Thisform.op_pret._optiongrup1.Value + + *!* modificare v 2.0.15 + lnToateGrupele = Mod(Thisform.opt_grupaart_sectie.Value, 2) + If lnToateGrupele = 1 + lnIdGrupaArtSectie = 0 + Else + lnIdGrupaArtSectie = Thisform.nid_grupaart_sectie + Endif + *!* modificare v 2.0.15 ^ + *!* modificare v 2.0.16 + lnMinSesComanda = Thisform.tx_minsescomanda.Value + *!* modificare v 2.0.16 ^ + + lnOrdonareComenzi = thisform.op_ordonare._opTIONGRUP1.Value + + Do Case + Case lnOre_executie < 0 + amessagebox('Numarul de ore nu poate fi negativ!', 0 + 48, "Atentie") + Thisform.tx_ore_executie.SetFocus() + plReturn = .F. + Case lnOre_livrare < 0 + amessagebox('Numarul de ore nu poate fi negativ!', 0 + 48, "Atentie") + Thisform.tx_ore_livrare.SetFocus() + plReturn = .F. + Case lnOre_inchidere < 0 + amessagebox('Numarul de ore nu poate fi negativ!', 0 + 48, "Atentie") + Thisform.tx_ore_inchidere.SetFocus() + plReturn = .F. + Case lnOre_inchidere >= lnOre_executie + amessagebox(Space(12) + 'Perioada propusa pentru executia unei lucrari trebuie sa fie' + Chr(13) + Chr(10) + ; + 'mai mare decat perioada de dinaintea termenului de executie pentru care aceasta' + Chr(13) + Chr(10) + ; + 'este considerata inchisa!', 0 + 48, 'Atentie') + Thisform.tx_ore_executie.SetFocus() + plReturn = .F. + *!* modificare v 2.0.15 + CASE lnToateGrupele = 0 AND EMPTY(lnIdGrupaArtSectie) + amessagebox("Nu ati ales grupa de articole pentru aceasta sectie!", 0 + 48, "Atentie") + Thisform.ct_grupaart_sectie.SetFocus() + plReturn = .F. + *!* modificare v 2.0.15 ^ + OTHERWISE + If lnOre_inchidere <> gnOre_inchidere + *lcValori = lcValori + Alltrim(Str(lnOre_inchidere)) + lcSeparator + lcValori = lcValori + recompune_optiuni(gcOre_inchidere, gnId_sectie, Alltrim(Str(lnOre_inchidere))) + lcSeparator + lcOptiuni = lcOptiuni + [ORE_INCHIDERE] + lcSeparator + *!* lcSql=[UPDATE ]+gcS+[.OPTIUNI SET VARVALUE=']+Alltrim(Str(lnOre_inchidere))+[' WHERE UPPER(VARNAME)='ORE_INCHIDERE';] + Endif + If lnOre_executie <> gnOre_executie + *lcValori = lcValori + Alltrim(Str(lnOre_executie)) + lcSeparator + lcValori = lcValori + recompune_optiuni(gcOre_executie, gnId_sectie, Alltrim(Str(lnOre_executie))) + lcSeparator + + lcOptiuni = lcOptiuni + [ORE_EXECUTIE] + lcSeparator + *!* lcSql=[UPDATE ]+gcS+[.OPTIUNI SET VARVALUE=']+Alltrim(Str(lnOre_executie))+[' WHERE UPPER(VARNAME)='ORE_EXECUTIE';] + Endif + If lnOre_livrare <> gnOre_livrare + *lcValori = lcValori + Alltrim(Str(lnOre_executie)) + lcSeparator + lcValori = lcValori + recompune_optiuni(gcOre_livrare, gnId_sectie, Alltrim(Str(lnOre_livrare))) + lcSeparator + lcOptiuni = lcOptiuni + [ORE_LIVRARE] + lcSeparator + *!* lcSql=[UPDATE ]+gcS+[.OPTIUNI SET VARVALUE=']+Alltrim(Str(lnOre_executie))+[' WHERE UPPER(VARNAME)='ORE_LIVRARE';] + Endif + If Nvl(Thisform.nid_pol_clienti, 0) <> Nvl(gnIdPoliticaPretC, 0) + *lcValori = lcValori + Alltrim(Str(Thisform.nid_pol_clienti)) + lcSeparator + lcValori = lcValori + recompune_optiuni(gcIdPoliticaPretC, gnId_sectie, Alltrim(Str(Thisform.nid_pol_clienti))) + lcSeparator + lcOptiuni = lcOptiuni + [IDPOLITICAPRETC] + lcSeparator + Endif + If Nvl(Thisform.nid_pol, 0) <> Nvl(gnIdPoliticaPret, 0) + *lcValori = lcValori + Alltrim(Str(Thisform.nid_pol)) + lcSeparator + lcValori = lcValori + recompune_optiuni(gcIdPoliticaPret, gnId_sectie, Alltrim(Str(Thisform.nid_pol))) + lcSeparator + lcOptiuni = lcOptiuni + [IDPOLITICAPRET] + lcSeparator + *!* lcSql=[UPDATE ]+gcS+[.OPTIUNI SET VARVALUE=']+Alltrim(Str(Thisform.nid_pol))+[' WHERE UPPER(VARNAME)='IDPOLITICAPRET';] + Endif + If Nvl(Thisform.nid_pol_prod, 0) <> Nvl(gnID_LISTA_PRETURI_PV, 0) + lcValori = lcValori + recompune_optiuni(gcID_LISTA_PRETURI_PV, gnId_sectie, Alltrim(Str(Thisform.nid_pol_prod))) + lcSeparator + lcOptiuni = lcOptiuni + [ID_LISTA_PRETURI_PV] + lcSeparator + Endif + If lnCopiereCantitate <> gnCopiereCantitate + *lcValori = lcValori + Alltrim(Str(lnCopiereCantitate)) + lcSeparator + lcValori = lcValori + recompune_optiuni(gcCopiereCantitate, gnId_sectie, Alltrim(Str(lnCopiereCantitate))) + lcSeparator + lcOptiuni = lcOptiuni + [COPIERECANTITATE] + lcSeparator + ENDIF + If lnSuprascriePretComanda <> gnSuprascriePretComanda + lcValori = lcValori + recompune_optiuni(gcSuprascriePretComanda, gnId_sectie, Alltrim(Str(lnSuprascriePretComanda))) + lcSeparator + lcOptiuni = lcOptiuni + [SUPRASCRIEPRETCOMANDA] + lcSeparator + ENDIF + If lnTipUzualComanda <> gnTipUzualComanda + *lcValori = lcValori + Alltrim(Str(lnCopiereCantitate)) + lcSeparator + lcValori = lcValori + recompune_optiuni(gcTipUzualComanda, gnId_sectie, Alltrim(Str(lnTipUzualComanda))) + lcSeparator + lcOptiuni = lcOptiuni + [TIPUZUALCOMANDA] + lcSeparator + ENDIF + + If lnComenziInitial <> m.gnComenziInitial + lcValori = lcValori + recompune_optiuni(gcComenziInitial, gnId_sectie, Alltrim(Str(lnComenziInitial))) + lcSeparator + lcOptiuni = lcOptiuni + [COMENZIINITIAL] + lcSeparator + ENDIF + + *!* modificare 2.0.15 + If lnToateGrupele <> gnToateGrupele + lcValori = lcValori + ALLTRIM(STR(lnToateGrupele)) + lcSeparator + lcOptiuni = lcOptiuni + [TOATEGRUPELE] + lcSeparator + Endif + If lnIdGrupaArtSectie <> gnIdGrupaArtSectie + lcValori = lcValori + recompune_optiuni(gcGrupaArtSectie, gnId_sectie, Alltrim(Str(lnIdGrupaArtSectie))) + lcSeparator + lcOptiuni = lcOptiuni + [GRUPAARTSECTIE] + lcSeparator + Endif + *!* modificare 2.0.15 ^ + *!* modificare 2.0.16 + IF NVL(lnMinSesComanda, 0) <> NVL(Thisform.nminsescomanda, 0) + lcValori = lcValori + recompune_optiuni(gcMinSesComanda, gnId_sectie, Alltrim(Str(lnMinSesComanda))) + lcSeparator + lcOptiuni = lcOptiuni + [MINSESCOMANDA] + lcSeparator + ENDIF + *!* modificare 2.0.16 ^ + + IF NVL(Thisform.cid_gestdep_sectie, '') <> NVL(m.lcId_gestdep_sectie, '') + lcValori = lcValori + recompune_optiuni(m.gcLISTA_GESTIUNI_DEPOZIT, gnId_sectie, Alltrim(thisform.cid_gestdep_sectie)) + lcSeparator + lcOptiuni = lcOptiuni + [LISTA_GESTIUNI_DEPOZIT] + lcSeparator + ENDIF + + IF NVL(Thisform.cid_geststoc_sectie, '') <> NVL(m.lcId_geststoc_sectie, '') + lcValori = lcValori + recompune_optiuni(m.gcLISTA_GESTIUNI_STOC, gnId_sectie, Alltrim(thisform.cid_geststoc_sectie)) + lcSeparator + lcOptiuni = lcOptiuni + [LISTA_GESTIUNI_STOC] + lcSeparator + ENDIF + + If m.lnOrdonareComenzi <> m.gnRF_OrdonareComenzi + lcValori = lcValori + recompune_optiuni(m.gcRF_ORDONARECOMENZI, m.gnId_sectie, Alltrim(Str(m.lnOrdonareComenzi))) + lcSeparator + lcOptiuni = lcOptiuni + [RF_ORDONARECOMENZI] + lcSeparator + ENDIF + + If !Empty(lcOptiuni) And !Empty(lcValori) + If amessagebox("Sunteti sigur ca doriti sa salvati modificarile facute?", 4 + 32, "Confirmare") == 6 + lcSql = [begin actualizeaza_optiuni('] + gcNumeProgram + [','] + lcOptiuni + [','] + lcValori + [','] + lcSeparator + ['); end;] + lnSucces = goExecutor.oExecute(lcSql) + If lnSucces < 0 + amessagebox(goExecutor.cEroare, 0 + 48, "Eroare") + plReturn = .F. + Else + gnOre_inchidere = lnOre_inchidere + gnOre_executie = lnOre_executie + gnOre_livrare = lnOre_livrare + gnIdPoliticaPret = Thisform.nid_pol + gnIdPoliticaPretC = Thisform.nid_pol_clienti + gnID_LISTA_PRETURI_PV = Thisform.nid_pol_prod + gnCopiereCantitate = lnCopiereCantitate + gnSuprascriePretComanda = m.lnSuprascriePretComanda + *!* modificare v 2.0.10 + gnTipUzualComanda = lnTipUzualComanda + gnComenziInitial = lnComenziInitial + *!* modificare v 2.0.10 ^ + *!* modificare 2.0.15 + gnToateGrupele = lnToateGrupele + gnIdGrupaArtSectie = lnIdGrupaArtSectie + *!* modificare 2.0.15 ^ + gnRF_ORDONARECOMENZI = m.lnOrdonareComenzi + plReturn = .T. + Endif + Endif + Else + plReturn = .T. + Endif + Endcase + Return plReturn + ENDPROC + + PROCEDURE Init + Local lcOptiune, lcid_gestdep_sectie + *:Global gnIdGrupaArtSectie, gnTipUzualComanda + DoDefault() + SET STEP ON + optiuni_firma() + Thisform.tx_ore_inchidere.Value = gnOre_inchidere + Thisform.tx_ore_livrare.Value = gnOre_Livrare + Thisform.tx_ore_executie.Value = gnOre_executie + Thisform.op_copiere_comenzi._optiongrup1.Value = gnCopiereCantitate + Thisform.op_pret._optiongrup1.Value = gnSuprascriePretComanda + Thisform.nid_pol_clienti = gnIdPoliticaPretC + Thisform.cnumepoliticaclienti = caut_nume_politica(gnIdPoliticaPretC) + Thisform.nid_pol = gnIdPoliticaPret + Thisform.cNumePolitica = caut_nume_politica(gnIdPoliticaPret) + Thisform.nid_pol_prod = gnID_LISTA_PRETURI_PV + Thisform.cnumepoliticaprod = caut_nume_politica(gnID_LISTA_PRETURI_PV) + Thisform.op_ordonare._optiongrup1.Value = m.gnRF_OrdonareComenzi + + *!* modificare v 2.0.15 + If gnToateGrupele = 0 + gnIdGrupaArtSectie = Val(extrage_optiuni(gcGrupaArtSectie, gnId_sectie)) + Thisform.nid_grupaart_sectie = gnIdGrupaArtSectie + Thisform.cgrupaartsectie = caut_nume_grupa_art(gnIdGrupaArtSectie) + Thisform.opt_grupaart_sectie.Value = 2 + Else + gnIdGrupaArtSectie = 0 + Thisform.opt_grupaart_sectie.Value = 1 + Endif + *!* modificare v 2.0.15 ^ + ***--------------- + lcOptiune = extrage_optiuni(gcTipUzualComanda, gnId_sectie) + gnTipUzualComanda = VAL(lcOptiune) + *!* modificare v 2.0.20 + With Thisform.opt_tip_uzual_comanda + .AddItem("Interna") + .AddItem("Client") + .AddItem("Gestiune") + .AddItem("Sectie") + .AddItem("Client - pe baza de contract") + .ListIndex = gnTipUzualComanda + Endwith + *!* modificare v 2.0.20 ^ + + lcOptiune = extrage_optiuni(gcComenziInitial, gnId_sectie) + gnComenziInitial = VAL(lcOptiune) + * 13.04.2021 + With Thisform.opt_comenzi_initial + .AddItem("Toate") + .AddItem("Facturate") + .AddItem("Nefacturate") + .AddItem("Nefacturate sau Recente 1 zi") + .AddItem("Nefacturate sau Recente 3 zile") + .AddItem("Nefacturate sau Recente 7 zile") + .AddItem("Nefacturate sau Recente 15 zile") + .AddItem("Nefacturate sau Recente 30 zile") + .AddItem("Nefacturate sau Recente 60 zile") + .AddItem("Nefacturate sau Recente 90 zile") + .ListIndex = gnComenziInitial + Endwith + * * 13.04.2021 ^ + + + ***--------------- + *!* modificare v 2.0.16 + lcOptiune = extrage_optiuni(gcMinSesComanda, gnId_sectie) + Thisform.nminsescomanda = VAL(lcOptiune) + thisform.tx_minsescomanda.Value = Thisform.nminsescomanda + *!* modificare v 2.0.16 ^ + + + lcid_gestdep_sectie = extrage_optiuni(m.gcLISTA_GESTIUNI_DEPOZIT, m.gnId_sectie) + Thisform.cid_gestdep_sectie = m.lcid_gestdep_sectie + thisform.cnumegestdep = caut_nume_gest_dep(lcid_gestdep_sectie) + + lcid_geststoc_sectie = extrage_optiuni(m.gcLISTA_GESTIUNI_STOC, m.gnId_sectie) + Thisform.cid_geststoc_sectie = m.lcid_geststoc_sectie + thisform.cnumegeststoc = caut_nume_gest_dep(lcid_geststoc_sectie) + + Thisform.ct_politica_preturi_clienti.Refresh() + Thisform.ct_politica_preturi_subunitati.Refresh() + Thisform.ct_politica_preturi_prod.Refresh() + ENDPROC + + PROCEDURE opt_grupaart_sectie.InteractiveChange + If This.Value = 1 + Thisform.cgrupaartsectie = [] + Thisform.nid_grupaart_sectie = 0 + Thisform.ct_grupaart_sectie.do_dezactiveaza() + Else + Thisform.ct_grupaart_sectie.do_activeaza() + Endif + + ENDPROC + + PROCEDURE opt_grupaart_sectie.ProgrammaticChange + If This.Value = 1 + Thisform.cgrupaartsectie = [] + Thisform.nid_grupaart_sectie = 0 + Thisform.ct_grupaart_sectie.do_dezactiveaza() + Else + Thisform.ct_grupaart_sectie.do_activeaza() + Endif + + ENDPROC + +ENDDEFINE + +DEFINE CLASS frm_rap_vanz AS _frmbase OF "..\comun\clase\_frm_base.vcx" + *< CLASSDATA: Baseclass="form" Timestamp="" Scale="Pixels" Uniqueid="" /> + + *-- OBJECTDATA items order determines ZOrder / El orden de los items OBJECTDATA determina el ZOrder + *< OBJECTDATA: ObjPath="clb_datas" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="But_renunt1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="Ct_clb_grupa_gest" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="Clb_datai" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="Clb_procent" UniqueID="" Timestamp="" /> + + * + *m: do_cauta_grupa + *p: nid + *p: orec + * + + * + DoCreate = .T. + Height = 180 + Name = "frm_rap_vanz" + Width = 374 + _shape1.Name = "_shape1" + _shape2.Height = 29 + _shape2.Left = 312 + _shape2.Name = "_shape2" + _shape2.Top = 0 + _shape2.Width = 64 + Lb_titlu_alb_b121.Caption = "VANZARI PERIOADA" + Lb_titlu_alb_b121.FontBold = .T. + Lb_titlu_alb_b121.Name = "Lb_titlu_alb_b121" + Lb_titlu_alb_b121.TabIndex = 7 + BUT_TERMIN1.Left = 344 + BUT_TERMIN1.Name = "BUT_TERMIN1" + BUT_TERMIN1.TabIndex = 5 + BUT_TERMIN1.Top = 1 + GRIDSORT1.Name = "GRIDSORT1" + * + + ADD OBJECT 'But_renunt1' AS but_renunt WITH ; + Left = 314, ; + Name = "But_renunt1", ; + TabIndex = 6, ; + Top = 1 + *< END OBJECT: ClassLib="..\comun\clase\cmd_butoane.vcx" BaseClass="commandbutton" /> + + ADD OBJECT 'Clb_datai' AS clb_tx_simplu WITH ; + Left = 26, ; + Name = "Clb_datai", ; + TabIndex = 1, ; + Top = 46, ; + Text_simplu1.ControlSource = "ptDataI", ; + Text_simplu1.Name = "Text_simplu1", ; + Lb_simplu1.Caption = "Data initiala", ; + Lb_simplu1.Name = "Lb_simplu1" + *< END OBJECT: ClassLib="..\comun\clase\lb_tx.vcx" BaseClass="container" /> + + ADD OBJECT 'clb_datas' AS clb_tx_simplu WITH ; + Left = 26, ; + Name = "clb_datas", ; + TabIndex = 2, ; + Top = 74, ; + Text_simplu1.ControlSource = "ptDataS", ; + Text_simplu1.Name = "Text_simplu1", ; + Lb_simplu1.Caption = "Data finala", ; + Lb_simplu1.Name = "Lb_simplu1" + *< END OBJECT: ClassLib="..\comun\clase\lb_tx.vcx" BaseClass="container" /> + + ADD OBJECT 'Clb_procent' AS clb_tx_simplu WITH ; + Left = 26, ; + Name = "Clb_procent", ; + TabIndex = 4, ; + Top = 130, ; + Text_simplu1.ControlSource = "pnProcent", ; + Text_simplu1.InputMask = "999.99", ; + Text_simplu1.Name = "Text_simplu1", ; + Lb_simplu1.Caption = "Procent vanzari", ; + Lb_simplu1.Name = "Lb_simplu1" + *< END OBJECT: ClassLib="..\comun\clase\lb_tx.vcx" BaseClass="container" /> + + ADD OBJECT 'Ct_clb_grupa_gest' AS ct_clb_cautare WITH ; + cconditie = Empty(pcGrupaGest), ; + cprocedura = Thisform.do_cauta_grupa, ; + cvar_afisata = pcGrupaGest, ; + Left = 25, ; + Name = "Ct_clb_grupa_gest", ; + TabIndex = 3, ; + Top = 101, ; + Width = 330, ; + IMG_CAUTARE.Left = 300, ; + IMG_CAUTARE.Name = "IMG_CAUTARE", ; + IMG_CAUTARE.Top = 5, ; + CLB_TX_CAUTARE.Height = 29, ; + CLB_TX_CAUTARE.LB_SIMPLU1.Caption = "Grupa gestiuni", ; + CLB_TX_CAUTARE.LB_SIMPLU1.Name = "LB_SIMPLU1", ; + CLB_TX_CAUTARE.LB_SIMPLU1.Top = 6, ; + CLB_TX_CAUTARE.Left = 1, ; + CLB_TX_CAUTARE.Name = "CLB_TX_CAUTARE", ; + CLB_TX_CAUTARE.TEXT_SIMPLU1.Left = 102, ; + CLB_TX_CAUTARE.TEXT_SIMPLU1.Name = "TEXT_SIMPLU1", ; + CLB_TX_CAUTARE.TEXT_SIMPLU1.Top = 3, ; + CLB_TX_CAUTARE.Top = 1, ; + CLB_TX_CAUTARE.Width = 290 + *< END OBJECT: ClassLib="..\comun\clase\caut_ora.vcx" BaseClass="container" /> + + PROCEDURE do_cauta_grupa + locauta = caut_grupa_gestiune(,.F.) + If !Isnull(locauta) + pcGrupaGest = Alltrim(locauta.nume_grupa) + pnIdGrupaGest = locauta.id_grupe + Endif + ENDPROC + + PROCEDURE inainte_de_do_termin + Local plReturn + lccontrol = Upper(This.ActiveControl.BaseClass ) + If Inlist(lccontrol,"TEXTBOX","EDITBOX","COMBOBOX") + lcval=This.ActiveControl.ControlSource + &lcval=Thisform.ActiveControl.Value + Endif + Do Case + Case Empty(Nvl(ptDataI,{})) + amessagebox("Nu ati completat data de inceput!",48,"Atentie") + Thisform.clb_datai.SetFocus() + plReturn = .F. + Case Empty(Nvl(ptDataS,{})) + amessagebox("Nu ati completat data de final!",48,"Atentie") + Thisform.clb_datas.SetFocus() + plReturn = .F. + Case Empty(Nvl(pnIdGrupaGest,0)) + amessagebox("Nu ati ales grupa de gestiuni!",48,"Atentie") + Thisform.ct_clb_grupa_gest.SetFocus() + plReturn = .F. + Case !Between(Nvl(pnProcent,-1),0.00,100) + amessagebox("Procentul trebuie sa fie intre 0.00 si 100!",48,"Atentie") + Thisform.clb_procent.SetFocus() + plReturn = .F. + Otherwise + plReturn=.T. + Endcase + Return plReturn + + ENDPROC + + PROCEDURE Init + DoDefault() + Thisform.clb_procent.text_simplu1.Value = 0 + Thisform.clb_procent.Visible = .F. + ENDPROC + +ENDDEFINE + +DEFINE CLASS frm_rap_vanz_cant AS _frmbase OF "..\comun\clase\_frm_base.vcx" + *< CLASSDATA: Baseclass="form" Timestamp="" Scale="Pixels" Uniqueid="" /> + + *-- OBJECTDATA items order determines ZOrder / El orden de los items OBJECTDATA determina el ZOrder + *< OBJECTDATA: ObjPath="But_renunt1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="grd_raport" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="grd_raport.cNume_gestiune.Header1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="grd_raport.cNume_gestiune.Text1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="grd_raport.cSubgrupa.Header1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="grd_raport.cSubgrupa.Text1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="grd_raport.cDenumire.Header1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="grd_raport.cDenumire.Text1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="grd_raport.cStoci.Header1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="grd_raport.cStoci.Text1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="grd_raport.cVanzari.Header1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="grd_raport.cVanzari.Text1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="grd_raport.cStocF.Header1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="grd_raport.cStocF.Text1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="grd_raport.cCantitate.Header1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="grd_raport.cCantitate.Text1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="grd_raport.cProcent.Header1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="grd_raport.cProcent.Text1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="grd_raport.cStocDepozit.Header1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="grd_raport.cStocDepozit.Text1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="grd_raport.cValidat.Header1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="grd_raport.cValidat.Text1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="grd_raport.cValidat.Check1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="grd_raport.cIntrari.Header1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="grd_raport.cIntrari.Text1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="Gridextra1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="But_nou1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="But_listare1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="Cmd_executa1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="Cmd_executa2" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="spnRotund" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="But_excel1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="But_modiparam1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="But_salveaza1" UniqueID="" Timestamp="" /> + + * + *m: do_cauta_grupa + *m: savecantitati + *p: ncantold + *p: nid + *p: nidcomrapvanz + *p: orec + * + + * + DoCreate = .T. + Height = 500 + Name = "frm_rap_vanz_cant" + ncantold = 0 + nidcomrapvanz = 0 + Width = 730 + WindowState = 2 + _memberdata = + + + _shape1.Anchor = 11 + _shape1.Height = 29 + _shape1.Left = 0 + _shape1.Name = "_shape1" + _shape1.Top = 0 + _shape1.Width = 732 + _shape2.Anchor = 9 + _shape2.Height = 29 + _shape2.Left = 612 + _shape2.Name = "_shape2" + _shape2.Top = 0 + _shape2.Visible = .T. + _shape2.Width = 119 + Lb_titlu_alb_b121.Caption = "VÂNZARI PERIOADA" + Lb_titlu_alb_b121.FontBold = .T. + Lb_titlu_alb_b121.Name = "Lb_titlu_alb_b121" + Lb_titlu_alb_b121.TabIndex = 4 + BUT_TERMIN1.Anchor = 9 + BUT_TERMIN1.Left = 699 + BUT_TERMIN1.Name = "BUT_TERMIN1" + BUT_TERMIN1.TabIndex = 2 + BUT_TERMIN1.Top = 1 + GRIDSORT1.Left = 0 + GRIDSORT1.Name = "GRIDSORT1" + GRIDSORT1.Top = 504 + * + + ADD OBJECT 'But_excel1' AS but_excel WITH ; + Anchor = 9, ; + Left = 611, ; + Name = "But_excel1", ; + Top = 1 + *< END OBJECT: ClassLib="..\comun\clase\cmd_butoane.vcx" BaseClass="commandbutton" /> + + ADD OBJECT 'But_listare1' AS but_listare WITH ; + Anchor = 9, ; + Left = 640, ; + Name = "But_listare1", ; + Top = 1 + *< END OBJECT: ClassLib="..\comun\clase\cmd_butoane.vcx" BaseClass="commandbutton" /> + + ADD OBJECT 'But_modiparam1' AS but_modiparam WITH ; + Anchor = 9, ; + Left = 516, ; + Name = "But_modiparam1", ; + ToolTipText = "Importa cantitate salvata anterior (in caz de eroare)", ; + Top = 0 + *< END OBJECT: ClassLib="..\comun\clase\cmd_butoane.vcx" BaseClass="commandbutton" /> + + ADD OBJECT 'But_nou1' AS but_nou WITH ; + Anchor = 9, ; + Left = 581, ; + Name = "But_nou1", ; + Top = 1 + *< END OBJECT: ClassLib="..\comun\clase\cmd_butoane.vcx" BaseClass="commandbutton" /> + + ADD OBJECT 'But_renunt1' AS but_renunt WITH ; + Anchor = 9, ; + Left = 669, ; + Name = "But_renunt1", ; + TabIndex = 3, ; + Top = 1 + *< END OBJECT: ClassLib="..\comun\clase\cmd_butoane.vcx" BaseClass="commandbutton" /> + + ADD OBJECT 'But_salveaza1' AS but_salveaza WITH ; + Anchor = 9, ; + Left = 546, ; + Name = "But_salveaza1", ; + ToolTipText = "Salveaza cantitatile introduse nevalidate, pentru import in caz de eroare", ; + Top = 0 + *< END OBJECT: ClassLib="..\comun\clase\cmd_butoane.vcx" BaseClass="commandbutton" /> + + ADD OBJECT 'Cmd_executa1' AS cmd_executa WITH ; + Caption = "\ + + ADD OBJECT 'Cmd_executa2' AS cmd_executa WITH ; + Caption = "Rotunjeste cant. la multiplu de...", ; + FontBold = .T., ; + FontSize = 8, ; + Height = 33, ; + Left = 124, ; + Name = "Cmd_executa2", ; + ToolTipText = "Rotunjeste cantitatea comandata la multiplu de...", ; + Top = 36, ; + Width = 105, ; + WordWrap = .T. + *< END OBJECT: ClassLib="..\comun\clase\cmd_butoane.vcx" BaseClass="commandbutton" /> + + ADD OBJECT 'grd_raport' AS _grdrow WITH ; + Anchor = 15, ; + ColumnCount = 11, ; + DeleteMark = .F., ; + FontName = "Arial Narrow", ; + HeaderHeight = 33, ; + Height = 422, ; + Left = 12, ; + Name = "grd_raport", ; + Panel = 1, ; + ReadOnly = .T., ; + RecordSource = "crscantitati", ; + TabIndex = 1, ; + Top = 72, ; + Width = 708, ; + Column1.ControlSource = "nume_gestiune", ; + Column1.FontName = "Arial Narrow", ; + Column1.Name = "cNume_gestiune", ; + Column1.ReadOnly = .T., ; + Column1.Width = 102, ; + Column2.ControlSource = "subgrupa", ; + Column2.FontName = "Arial Narrow", ; + Column2.Name = "cSubgrupa", ; + Column2.ReadOnly = .T., ; + Column2.Width = 116, ; + Column3.ControlSource = "denumire", ; + Column3.FontName = "Arial Narrow", ; + Column3.Name = "cDenumire", ; + Column3.ReadOnly = .T., ; + Column3.Width = 112, ; + Column4.ControlSource = "stoci", ; + Column4.FontName = "Arial Narrow", ; + Column4.InputMask = (get_mask(14,gnPCant)), ; + Column4.Name = "cStoci", ; + Column4.ReadOnly = .T., ; + Column5.ColumnOrder = 6, ; + Column5.ControlSource = "vanzari", ; + Column5.FontName = "Arial Narrow", ; + Column5.InputMask = (get_mask(14,gnPCant)), ; + Column5.Name = "cVanzari", ; + Column5.ReadOnly = .T., ; + Column6.ColumnOrder = 7, ; + Column6.ControlSource = "stocf", ; + Column6.FontName = "Arial Narrow", ; + Column6.InputMask = (get_mask(14,gnPCant)), ; + Column6.Name = "cStocF", ; + Column6.ReadOnly = .T., ; + Column7.ColumnOrder = 8, ; + Column7.ControlSource = "cantitate", ; + Column7.FontName = "Arial Narrow", ; + Column7.InputMask = (get_mask(14,gnPCant)), ; + Column7.Name = "cCantitate", ; + Column7.ReadOnly = .F., ; + Column8.ColumnOrder = 9, ; + Column8.ControlSource = "IIF(stoci=0,NULL,ROUND(vanzari/stoci,4)*100)", ; + Column8.FontName = "Arial Narrow", ; + Column8.InputMask = (get_mask(14,2)), ; + Column8.Name = "cProcent", ; + Column8.ReadOnly = .T., ; + Column8.Width = 41, ; + Column9.ColumnOrder = 10, ; + Column9.ControlSource = "stocdep", ; + Column9.FontName = "Arial Narrow", ; + Column9.InputMask = (get_mask(14,gnPCant)), ; + Column9.Name = "cStocDepozit", ; + Column9.ReadOnly = .T., ; + Column10.ColumnOrder = 11, ; + Column10.ControlSource = "validat", ; + Column10.CurrentControl = "Check1", ; + Column10.FontName = "Arial Narrow", ; + Column10.Name = "cValidat", ; + Column10.ReadOnly = .T., ; + Column10.Sparse = .F., ; + Column10.Width = 33, ; + Column11.ColumnOrder = 5, ; + Column11.ControlSource = "stocf-stoci+vanzari", ; + Column11.FontName = "Arial Narrow", ; + Column11.InputMask = (get_mask(14,gnPCant)), ; + Column11.Name = "cIntrari", ; + Column11.ReadOnly = .T. + *< END OBJECT: ClassLib="..\comun\clase\_grd_base.vcx" BaseClass="grid" /> + + ADD OBJECT 'grd_raport.cCantitate.Header1' AS header WITH ; + Alignment = 2, ; + Caption = "Cantitate comanda", ; + FontName = "Arial Narrow", ; + Name = "Header1", ; + WordWrap = .T. + *< END OBJECT: BaseClass="header" /> + + ADD OBJECT 'grd_raport.cCantitate.Text1' AS textbox WITH ; + BackColor = 255,255,255, ; + BorderStyle = 0, ; + FontName = "Arial Narrow", ; + ForeColor = 0,0,0, ; + Margin = 0, ; + Name = "Text1", ; + ReadOnly = .F. + *< END OBJECT: BaseClass="textbox" /> + + ADD OBJECT 'grd_raport.cDenumire.Header1' AS header WITH ; + Alignment = 2, ; + Caption = "Denumire", ; + FontName = "Arial Narrow", ; + Name = "Header1" + *< END OBJECT: BaseClass="header" /> + + ADD OBJECT 'grd_raport.cDenumire.Text1' AS textbox WITH ; + BackColor = 255,255,255, ; + BorderStyle = 0, ; + FontName = "Arial Narrow", ; + ForeColor = 0,0,0, ; + Margin = 0, ; + Name = "Text1", ; + ReadOnly = .T. + *< END OBJECT: BaseClass="textbox" /> + + ADD OBJECT 'grd_raport.cIntrari.Header1' AS header WITH ; + Alignment = 2, ; + Caption = "Intrari", ; + FontName = "Arial Narrow", ; + Name = "Header1" + *< END OBJECT: BaseClass="header" /> + + ADD OBJECT 'grd_raport.cIntrari.Text1' AS textbox WITH ; + BackColor = 255,255,255, ; + BorderStyle = 0, ; + FontName = "Arial Narrow", ; + ForeColor = 0,0,0, ; + Margin = 0, ; + Name = "Text1", ; + ReadOnly = .T. + *< END OBJECT: BaseClass="textbox" /> + + ADD OBJECT 'grd_raport.cNume_gestiune.Header1' AS header WITH ; + Alignment = 2, ; + Caption = "Gestiune", ; + FontName = "Arial Narrow", ; + Name = "Header1" + *< END OBJECT: BaseClass="header" /> + + ADD OBJECT 'grd_raport.cNume_gestiune.Text1' AS textbox WITH ; + BackColor = 255,255,255, ; + BorderStyle = 0, ; + FontName = "Arial Narrow", ; + ForeColor = 0,0,0, ; + Margin = 0, ; + Name = "Text1", ; + ReadOnly = .T. + *< END OBJECT: BaseClass="textbox" /> + + ADD OBJECT 'grd_raport.cProcent.Header1' AS header WITH ; + Alignment = 2, ; + Caption = "Procent", ; + FontName = "Arial Narrow", ; + Name = "Header1" + *< END OBJECT: BaseClass="header" /> + + ADD OBJECT 'grd_raport.cProcent.Text1' AS textbox WITH ; + BackColor = 255,255,255, ; + BorderStyle = 0, ; + FontName = "Arial Narrow", ; + ForeColor = 0,0,0, ; + Margin = 0, ; + Name = "Text1", ; + ReadOnly = .T. + *< END OBJECT: BaseClass="textbox" /> + + ADD OBJECT 'grd_raport.cStocDepozit.Header1' AS header WITH ; + Alignment = 2, ; + Caption = "Stoc depozit", ; + FontName = "Arial Narrow", ; + Name = "Header1" + *< END OBJECT: BaseClass="header" /> + + ADD OBJECT 'grd_raport.cStocDepozit.Text1' AS textbox WITH ; + BackColor = 255,255,255, ; + BorderStyle = 0, ; + FontName = "Arial Narrow", ; + ForeColor = 0,0,0, ; + Margin = 0, ; + Name = "Text1", ; + ReadOnly = .T. + *< END OBJECT: BaseClass="textbox" /> + + ADD OBJECT 'grd_raport.cStocF.Header1' AS header WITH ; + Alignment = 2, ; + Caption = "Stoc final", ; + FontName = "Arial Narrow", ; + Name = "Header1" + *< END OBJECT: BaseClass="header" /> + + ADD OBJECT 'grd_raport.cStocF.Text1' AS textbox WITH ; + BackColor = 255,255,255, ; + BorderStyle = 0, ; + FontName = "Arial Narrow", ; + ForeColor = 0,0,0, ; + Margin = 0, ; + Name = "Text1", ; + ReadOnly = .T. + *< END OBJECT: BaseClass="textbox" /> + + ADD OBJECT 'grd_raport.cStoci.Header1' AS header WITH ; + Alignment = 2, ; + Caption = "Stoc initial", ; + FontName = "Arial Narrow", ; + Name = "Header1" + *< END OBJECT: BaseClass="header" /> + + ADD OBJECT 'grd_raport.cStoci.Text1' AS textbox WITH ; + BackColor = 255,255,255, ; + BorderStyle = 0, ; + FontName = "Arial Narrow", ; + ForeColor = 0,0,0, ; + Margin = 0, ; + Name = "Text1", ; + ReadOnly = .T. + *< END OBJECT: BaseClass="textbox" /> + + ADD OBJECT 'grd_raport.cSubgrupa.Header1' AS header WITH ; + Alignment = 2, ; + Caption = "Subgrupa", ; + FontName = "Arial Narrow", ; + Name = "Header1" + *< END OBJECT: BaseClass="header" /> + + ADD OBJECT 'grd_raport.cSubgrupa.Text1' AS textbox WITH ; + BackColor = 255,255,255, ; + BorderStyle = 0, ; + FontName = "Arial Narrow", ; + ForeColor = 0,0,0, ; + Margin = 0, ; + Name = "Text1", ; + ReadOnly = .T. + *< END OBJECT: BaseClass="textbox" /> + + ADD OBJECT 'grd_raport.cValidat.Check1' AS checkbox WITH ; + Alignment = 2, ; + Caption = "", ; + FontName = "Arial Narrow", ; + Height = 17, ; + Left = 30, ; + Name = "Check1", ; + ReadOnly = .T., ; + Top = 67, ; + Width = 60 + *< END OBJECT: BaseClass="checkbox" /> + + ADD OBJECT 'grd_raport.cValidat.Header1' AS header WITH ; + Alignment = 2, ; + Caption = "Validat", ; + FontName = "Arial Narrow", ; + Name = "Header1" + *< END OBJECT: BaseClass="header" /> + + ADD OBJECT 'grd_raport.cValidat.Text1' AS textbox WITH ; + BackColor = 255,255,255, ; + BorderStyle = 0, ; + FontName = "Arial Narrow", ; + ForeColor = 0,0,0, ; + Margin = 0, ; + Name = "Text1" + *< END OBJECT: BaseClass="textbox" /> + + ADD OBJECT 'grd_raport.cVanzari.Header1' AS header WITH ; + Alignment = 2, ; + Caption = "Vanzari (dbl. click pt. detalii)", ; + FontName = "Arial Narrow", ; + Name = "Header1", ; + WordWrap = .T. + *< END OBJECT: BaseClass="header" /> + + ADD OBJECT 'grd_raport.cVanzari.Text1' AS textbox WITH ; + BackColor = 255,255,255, ; + BorderStyle = 0, ; + FontName = "Arial Narrow", ; + ForeColor = 0,0,0, ; + Margin = 0, ; + Name = "Text1", ; + ReadOnly = .T. + *< END OBJECT: BaseClass="textbox" /> + + ADD OBJECT 'Gridextra1' AS gridextra WITH ; + gridexpression = Thisform.grd_raport, ; + Left = 660, ; + Name = "Gridextra1", ; + Top = 480 + *< END OBJECT: ClassLib="..\comun\utile\gridextras\gridextras.vcx" BaseClass="custom" /> + + ADD OBJECT 'spnRotund' AS _spinner WITH ; + Height = 24, ; + Left = 233, ; + Name = "spnRotund", ; + Top = 40, ; + Value = 10, ; + Width = 58 + *< END OBJECT: ClassLib="..\comun\clase\_baza.vcx" BaseClass="spinner" /> + + PROCEDURE do_adauga + Local lcXMLArticole,lcXMLGestiuni,lcCursorArt,lcCursorGest + lcCursorArt = Sys(2015) + lcCursorGest = Sys(2015) + lcXMLArticole = caut_articol(,,.T.,,,,gnIdGrupaArtSectie) + If !Empty(lcXMLArticole) And gnButon = 1 + Xmltocursor(lcXMLArticole,lcCursorArt) + If Reccount(lcCursorArt) = 0 + amessagebox("Nu ati ales articolul / articolele!",48,"Atentie") + Else + + lcSelect = [select nume_gestiune,cgest,id_gestiune,nr_pag,cont from nom_gestiuni] + lcFiltru = [] + lcSchema = [nume_gestiune C(50),cgest C(20),id_gestiune N(5),nr_pag N(2),cont C(4)] + lcOrder = [nume_gestiune] + lcColoana = [nume_gestiune,cgest,nr_pag,cont] + lcTitluColoana = [Nume, Cgest, Nr.pag, Cont] + lcTitlu = [Alegeti gestiunea (mouse-click pe nume sau apasati SPACE)] + lcNume_Proc = [] + llAllInList = .F. + lcFiltruOriginal = [sters = 0 and id_gestiune in (select id_gestiune from gest_coresp_grupe_gestiuni where sters = 0 and id_grupe in ] + ; + [(select id_grupe from comrapvanz where id_comrapvanz = ] + Alltrim(Str(Thisform.nIdComRapVanz)) + [))] + lcPrimaColoana = [nume_gestiune] + lnPornire = 1 + lnTipReturn = 1 + lcIdColumn = [id_gestiune] + lcXMLGestiuni = cauta_alfa(lcSelect,lcFiltru,lcSchema,lcOrder,lcColoana,lcTitlu,lcTitluColoana,lcNume_Proc,llAllInList,; + lcFiltruOriginal,lcPrimaColoana, lnPornire, lnTipReturn, lcIdColumn) + + If !Empty(lcXMLGestiuni) And gnButon = 1 + Xmltocursor(lcXMLGestiuni,lcCursorGest) + If Reccount(lcCursorGest) = 0 + amessagebox("Nu ati ales gestiunea / gestiunile!",48,"Atentie") + Else + lcCursor = Thisform.grd_raport.RecordSource + Thisform.LockScreen = .T. + Thisform.grd_raport.salveaza_grid() + completeaza_rap_vanz_per(Thisform.nIdComRapVanz,lcCursorArt,lcCursorGest,lcCursor) + Thisform.grd_raport.incarca_grid() + Thisform.LockScreen = .F. + Endif + Endif + Endif + Endif + Use In (Select(lcCursorArt)) + Use In (Select(lcCursorGest)) + Release lcXMLArticole,lcXMLGestiuni,lcCursorArt,lcCursorGest + ENDPROC + + PROCEDURE do_cauta_grupa + ENDPROC + + PROCEDURE do_excel + lnOptiune = xmenu('Comenzi pe \ 0 AND NVL(validat,1) = 0 INTO CURSOR crsraportvanzari + lnRecords = _tally + CURSORTOXML('crsraportvanzari', 'pcXmlCantitati',1,1,0,"1") + *!* IF Debug_Start() + *!* STRTOFILE('pnIdComRapVanz: ' + ALLTRIM(STR(pnIdComRapVanz)) + CHR(13) + CHR(10) + pcXMLCantitati,PUTFILE('Fisier','xmlcantitati','txt'),0) + *!* ENDIF + USE IN (SELECT('crsraportvanzari')) + + If m.lnRecords > 0 + *!* lcSql = [{call pack_comenzi.actualizeaza_raport(]+Alltrim(Str(Thisform.nIdComRapVanz))+[,'] + lcListaCantitati + [')}] + lcSql = [{call pack_comenzi.actualizeaza_raport(?pnIdComRapVanz,?pcXmlCantitati,?@pnNrComenzi)}] + lnSucces = goExecutor.oExecute(m.lcSql,m.lcCursor2) + If lnSucces < 0 + amessagebox(goExecutor.cEroare,0+48,"Eroare") + Else + If Reccount(m.lcCursor2) > 0 + loFrm = Createobject("frm_rap_vanz_verificari") + loFrm.Show() + Else + AMESSAGEBOX('S-au generat ' + ALLTRIM(STR(NVL(m.pnNrComenzi,0))) + ' comenzi.',0+64,_screen.Caption) + llReturn = .T. + Endif + ENDIF + + Use In (select(m.lcCursor2)) + ELSE + AMESSAGEBOX('Nu exista cantitati modificate. Nu s-au generat comenzi.',0+64, _screen.Caption) + llReturn = .T. + Endif + Release pcXmlCantitati + + SELECT (lcCursor) + GO lnNrInreg + + Return llReturn + ENDPROC + + PROCEDURE Init + Lparameters ttDataI,ttDataS,tnIdComRapVanz + DoDefault() + Thisform.nIdComRapVanz = tnIdComRapVanz + Thisform.lb_titlu_alb_b121.Caption = [VANZARI PERIOADA ] + Ttoc(ttDataI) + [ - ] + Ttoc(ttDataS) + Thisform.grd_raport.cCantitate.DynamicBackColor = [Iif(validat = 1, RGB(200,200,200), IIF(cantitate=0,Rgb(255,255,0),Rgb(39,233,243)))] + Thisform.grd_raport.cCantitate.ReadOnly = .F. + Thisform.gridextra1.Setup() + This.grd_raport.HeaderHeight = 33 + ENDPROC + + PROCEDURE savecantitati + ** Export modificarile din cursor, in caz ca se intampla vreo eroare + *** pot sa import xml si sa actualizez cantitatile + LOCAL lcFile, lcCursor + lcFile = gcTempPath + 'rap_vanz_cant_' + ALLTRIM(STR(gnAn)) + '_' + PADL(gnLuna,2,'0') + '_' + TTOC(DATETIME(),1) + '.xml' + lcCursor = Thisform.grd_raport.RecordSource + SELECT * FROM (lcCursor) WITH (buffering = .T.) WHERE cantitate <> 0 And NVL(Validat,0) = 0 INTO CURSOR cRapVanzCantTemp + CURSORTOXML('cRapVanzCantTemp', lcFile,1,0+512,0,"1") + USE IN (SELECT('cRapVanzCantTemp')) + RETURN m.lcFile + ENDPROC + + PROCEDURE But_modiparam1.Click + SET STEP ON + Local lcFile, lnCantitate, lnIdArticol, lnStocDep, lnId, lnIdGestiune + Cd (gcTempPath) + lcFile = Getfile('xml', 'Fisier xml', 'Alege', 0, 'Fisier xml salvare anterioara "rap_vanz_cant_' + Alltrim(Str(gnAn)) + '_' + Padl(gnLuna,2, '0') + '_*.xml"') + If !Empty(m.lcFile) + If AMESSAGEBOX('Doriti sa suprascrieti cantitatea comandata din tabel cu cea din fisier?',4+32,_Screen.Caption) = 6 + Xmltocursor(m.lcFile, "cRapVanzCantTemp", 512) + If Used("cRapVanzCantTemp") + IF !(TYPE('cRapVanzCantTemp.id_comrapvanzelem') = 'N' AND TYPE('cRapVanzCantTemp.id_articol') = 'N' AND TYPE('cRapVanzCantTemp.id_gestiune') = 'N' AND TYPE('cRapVanzCantTemp.cantitate') = 'N' AND TYPE('cRapVanzCantTemp.stocdep') = 'N') + AMESSAGEBOX('Fisierul nu este de tipul corect!',0+48,_screen.Caption) + ELSE + Select cRapVanzCantTemp + lnRecc = RECCOUNT() + SCAN + lnCantitate = cantitate + lnStocDep = stocdep + lnIdArticol = id_articol + lnIdGestiune = id_gestiune + lnId = id_comrapvanzelem + lnRecno = RECNO() + IF MOD(RECNO(), 100) = 0 + WAIT WINDOW 'Completare cantitati ' + TRANSFORM(lnRecno) + ' / ' + TRANSFORM(lnRecc) NOWAIT + ENDIF + Update crsCantitati Set cantitate = m.lnCantitate, stocdep = m.lnStocDep Where id_comrapvanzelem = lnId + ENDSCAN + ENDIF + ENDIF + Use In (Select("cRapVanzCantTemp")) + Endif + Endif + + ENDPROC + + PROCEDURE Cmd_executa1.Click + SELECT crsCantitati + REPLACE ALL cantitate WITH vanzari FOR validat = 0 + GO TOP + Thisform.grd_raport.SetFocus() + + + ENDPROC + + PROCEDURE Cmd_executa2.Click + lnRotund = thisform.spnRotund.Value + SELECT crsCantitati + REPLACE ALL cantitate WITH INT(cantitate/m.lnRotund)*lnRotund + IIF(MOD(cantitate, m.lnRotund) = 0, 0, m.lnRotund) FOR validat = 0 + GO TOP + Thisform.grd_raport.SetFocus() + + + ENDPROC + + PROCEDURE grd_raport.cCantitate.Text1.Valid + *!* 04.04.2016 + *!* marius.mutut + *!* Se verifica daca s-a introdus o valoare prea mare. Apare eroare la inregistrarea in baza de date + + Local lnDiferenta, lnIdArticol, lnRec + lnRec = RECNO('crsCantitati') + IF this.Value > 1000000 + AMESSAGEBOX('Ati introdus o valoare prea mare!',0+48,_screen.Caption) + RETURN .F. + ENDIF + lnDiferenta = (Thisform.nCantOld - this.Value) + IF lnDiferenta <> 0 + thisform.LockScreen=.T. + lnIdArticol = crsCantitati.id_articol + UPDATE crsCantitati SET stocdep = stocdep + m.lnDiferenta WHERE id_articol = lnIdArticol + GOTO lnRec IN crsCantitati + thisform.LockScreen=.F. + ENDIF + ENDPROC + + PROCEDURE grd_raport.cCantitate.Text1.When + * nu permit modificarea cantitatilor care deja s-au transformat in comenzi + IF NVL(crsCantitati.validat,0) = 1 + RETURN + ENDIF + Thisform.nCantOld = this.Value + ENDPROC + + PROCEDURE grd_raport.cVanzari.Text1.DblClick + LOCAL lnId + lnId = NVL(crsCantitati.id_comRapVanzElem, 0) + IF !EMPTY(lnId) + DO rap_vanz_per_detaliu WITH m.lnId + ENDIF + ENDPROC + +ENDDEFINE + +DEFINE CLASS frm_rap_vanz_cant_detaliu AS _frmbase OF "..\comun\clase\_frm_base.vcx" + *< CLASSDATA: Baseclass="form" Timestamp="" Scale="Pixels" Uniqueid="" /> + + *-- OBJECTDATA items order determines ZOrder / El orden de los items OBJECTDATA determina el ZOrder + *< OBJECTDATA: ObjPath="grd_raport_detaliu" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="grd_raport_detaliu.cNume_gestiune.Header1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="grd_raport_detaliu.cNume_gestiune.Text1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="grd_raport_detaliu.cSubgrupa.Header1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="grd_raport_detaliu.cSubgrupa.Text1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="grd_raport_detaliu.cDenumire.Header1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="grd_raport_detaliu.cDenumire.Text1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="grd_raport_detaliu.cStoci.Header1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="grd_raport_detaliu.cStoci.Text1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="grd_raport_detaliu.cVanzari.Header1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="grd_raport_detaliu.cVanzari.Text1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="grd_raport_detaliu.cStocF.Header1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="grd_raport_detaliu.cStocF.Text1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="Gridextra1" UniqueID="" Timestamp="" /> + + * + *m: do_cauta_grupa + *p: ncantold + *p: nid + *p: nidcomrapvanz + *p: orec + * + + * + BorderStyle = 1 + DoCreate = .T. + Height = 298 + Name = "frm_rap_vanz_cant_detaliu" + ncantold = 0 + nidcomrapvanz = 0 + Width = 730 + _memberdata = + + + _shape1.Anchor = 11 + _shape1.Height = 29 + _shape1.Left = 0 + _shape1.Name = "_shape1" + _shape1.Top = 0 + _shape1.Width = 732 + _shape2.Anchor = 9 + _shape2.Height = 29 + _shape2.Left = 696 + _shape2.Name = "_shape2" + _shape2.Top = 0 + _shape2.Visible = .T. + _shape2.Width = 35 + Lb_titlu_alb_b121.Caption = "VÂNZARI PERIOADA DETALIU" + Lb_titlu_alb_b121.FontBold = .T. + Lb_titlu_alb_b121.Name = "Lb_titlu_alb_b121" + Lb_titlu_alb_b121.TabIndex = 4 + BUT_TERMIN1.Anchor = 9 + BUT_TERMIN1.Left = 699 + BUT_TERMIN1.Name = "BUT_TERMIN1" + BUT_TERMIN1.TabIndex = 2 + BUT_TERMIN1.Top = 1 + GRIDSORT1.Name = "GRIDSORT1" + * + + ADD OBJECT 'grd_raport_detaliu' AS _grdrow WITH ; + Anchor = 15, ; + ColumnCount = 6, ; + DeleteMark = .F., ; + FontName = "Arial Narrow", ; + Height = 252, ; + Left = 12, ; + Name = "grd_raport_detaliu", ; + Panel = 1, ; + RecordSource = "crsCantitatiDetaliu", ; + TabIndex = 1, ; + Top = 36, ; + Width = 708, ; + Column1.ControlSource = "nume_gestiune", ; + Column1.FontName = "Arial Narrow", ; + Column1.Name = "cNume_gestiune", ; + Column1.Width = 102, ; + Column2.ControlSource = "subgrupa", ; + Column2.FontName = "Arial Narrow", ; + Column2.Name = "cSubgrupa", ; + Column2.Width = 116, ; + Column3.ControlSource = "denumire", ; + Column3.FontName = "Arial Narrow", ; + Column3.Name = "cDenumire", ; + Column3.Width = 112, ; + Column4.ColumnOrder = 5, ; + Column4.ControlSource = "dataora", ; + Column4.FontName = "Arial Narrow", ; + Column4.InputMask = "", ; + Column4.Name = "cStoci", ; + Column4.Width = 94, ; + Column5.ColumnOrder = 4, ; + Column5.ControlSource = "vanzari", ; + Column5.FontName = "Arial Narrow", ; + Column5.InputMask = (get_mask(14,gnPCant)), ; + Column5.Name = "cVanzari", ; + Column6.ControlSource = "utilizator", ; + Column6.FontName = "Arial Narrow", ; + Column6.InputMask = "", ; + Column6.Name = "cStocF", ; + Column6.Width = 139 + *< END OBJECT: ClassLib="..\comun\clase\_grd_base.vcx" BaseClass="grid" /> + + ADD OBJECT 'grd_raport_detaliu.cDenumire.Header1' AS header WITH ; + Alignment = 2, ; + Caption = "Denumire", ; + FontName = "Arial Narrow", ; + Name = "Header1" + *< END OBJECT: BaseClass="header" /> + + ADD OBJECT 'grd_raport_detaliu.cDenumire.Text1' AS textbox WITH ; + BackColor = 255,255,255, ; + BorderStyle = 0, ; + FontName = "Arial Narrow", ; + ForeColor = 0,0,0, ; + Margin = 0, ; + Name = "Text1" + *< END OBJECT: BaseClass="textbox" /> + + ADD OBJECT 'grd_raport_detaliu.cNume_gestiune.Header1' AS header WITH ; + Alignment = 2, ; + Caption = "Gestiune", ; + FontName = "Arial Narrow", ; + Name = "Header1" + *< END OBJECT: BaseClass="header" /> + + ADD OBJECT 'grd_raport_detaliu.cNume_gestiune.Text1' AS textbox WITH ; + BackColor = 255,255,255, ; + BorderStyle = 0, ; + FontName = "Arial Narrow", ; + ForeColor = 0,0,0, ; + Margin = 0, ; + Name = "Text1" + *< END OBJECT: BaseClass="textbox" /> + + ADD OBJECT 'grd_raport_detaliu.cStocF.Header1' AS header WITH ; + Alignment = 2, ; + Caption = "Utilizator", ; + FontName = "Arial Narrow", ; + Name = "Header1" + *< END OBJECT: BaseClass="header" /> + + ADD OBJECT 'grd_raport_detaliu.cStocF.Text1' AS textbox WITH ; + BackColor = 255,255,255, ; + BorderStyle = 0, ; + FontName = "Arial Narrow", ; + ForeColor = 0,0,0, ; + Margin = 0, ; + Name = "Text1" + *< END OBJECT: BaseClass="textbox" /> + + ADD OBJECT 'grd_raport_detaliu.cStoci.Header1' AS header WITH ; + Alignment = 2, ; + Caption = "Dataora", ; + FontName = "Arial Narrow", ; + Name = "Header1" + *< END OBJECT: BaseClass="header" /> + + ADD OBJECT 'grd_raport_detaliu.cStoci.Text1' AS textbox WITH ; + BackColor = 255,255,255, ; + BorderStyle = 0, ; + FontName = "Arial Narrow", ; + ForeColor = 0,0,0, ; + Margin = 0, ; + Name = "Text1" + *< END OBJECT: BaseClass="textbox" /> + + ADD OBJECT 'grd_raport_detaliu.cSubgrupa.Header1' AS header WITH ; + Alignment = 2, ; + Caption = "Subgrupa", ; + FontName = "Arial Narrow", ; + Name = "Header1" + *< END OBJECT: BaseClass="header" /> + + ADD OBJECT 'grd_raport_detaliu.cSubgrupa.Text1' AS textbox WITH ; + BackColor = 255,255,255, ; + BorderStyle = 0, ; + FontName = "Arial Narrow", ; + ForeColor = 0,0,0, ; + Margin = 0, ; + Name = "Text1" + *< END OBJECT: BaseClass="textbox" /> + + ADD OBJECT 'grd_raport_detaliu.cVanzari.Header1' AS header WITH ; + Alignment = 2, ; + Caption = "Vanzari", ; + FontName = "Arial Narrow", ; + Name = "Header1" + *< END OBJECT: BaseClass="header" /> + + ADD OBJECT 'grd_raport_detaliu.cVanzari.Text1' AS textbox WITH ; + BackColor = 255,255,255, ; + BorderStyle = 0, ; + FontName = "Arial Narrow", ; + ForeColor = 0,0,0, ; + Margin = 0, ; + Name = "Text1" + *< END OBJECT: BaseClass="textbox" /> + + ADD OBJECT 'Gridextra1' AS gridextra WITH ; + gridexpression = Thisform.grd_raport_detaliu, ; + Left = 708, ; + Name = "Gridextra1", ; + Top = 264 + *< END OBJECT: ClassLib="..\comun\utile\gridextras\gridextras.vcx" BaseClass="custom" /> + + PROCEDURE do_cauta_grupa + ENDPROC + + PROCEDURE Init + DODEFAULT() + this.gridextra1.setup() + ENDPROC + +ENDDEFINE + +DEFINE CLASS frm_rap_vanz_centr AS _frmbase OF "..\comun\clase\_frm_base.vcx" + *< CLASSDATA: Baseclass="form" Timestamp="" Scale="Pixels" Uniqueid="" /> + + *-- OBJECTDATA items order determines ZOrder / El orden de los items OBJECTDATA determina el ZOrder + *< OBJECTDATA: ObjPath="grd_raport" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="grd_raport.cDataI.Header1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="grd_raport.cDataI.Text1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="grd_raport.cDataS.Header1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="grd_raport.cDataS.Text1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="grd_raport.cNume_grupa.Header1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="grd_raport.cNume_grupa.Text1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="grd_raport.cDataora.Header1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="grd_raport.cDataora.Text1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="grd_raport.cUtilizator.Header1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="grd_raport.cUtilizator.Text1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="Gridextra1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="But_excel1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="But_listare1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="But_sterge1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="But_modifica1" UniqueID="" Timestamp="" /> + + * + *m: do_cauta_grupa + *m: do_raport + *p: nid + *p: orec + * + + * + DoCreate = .T. + Height = 500 + Name = "frm_rap_vanz_centr" + Width = 700 + WindowState = 2 + _memberdata = + + + _shape1.Anchor = 11 + _shape1.Height = 29 + _shape1.Left = 0 + _shape1.Name = "_shape1" + _shape1.Top = 0 + _shape1.Width = 700 + _shape2.Anchor = 9 + _shape2.Height = 29 + _shape2.Left = 665 + _shape2.Name = "_shape2" + _shape2.Top = 0 + _shape2.Width = 64 + Lb_titlu_alb_b121.Caption = "Centralizator rapoarte comenzi bazate pe vanzari" + Lb_titlu_alb_b121.FontBold = .T. + Lb_titlu_alb_b121.Name = "Lb_titlu_alb_b121" + Lb_titlu_alb_b121.TabIndex = 6 + BUT_TERMIN1.Anchor = 9 + BUT_TERMIN1.Left = 668 + BUT_TERMIN1.Name = "BUT_TERMIN1" + BUT_TERMIN1.TabIndex = 4 + BUT_TERMIN1.Top = 1 + GRIDSORT1.Name = "GRIDSORT1" + * + + ADD OBJECT 'But_excel1' AS but_excel WITH ; + Anchor = 9, ; + Left = 608, ; + Name = "But_excel1", ; + Top = 1 + *< END OBJECT: ClassLib="..\comun\clase\cmd_butoane.vcx" BaseClass="commandbutton" /> + + ADD OBJECT 'But_listare1' AS but_listare WITH ; + Anchor = 9, ; + Left = 638, ; + Name = "But_listare1", ; + Top = 1 + *< END OBJECT: ClassLib="..\comun\clase\cmd_butoane.vcx" BaseClass="commandbutton" /> + + ADD OBJECT 'But_modifica1' AS but_modifica WITH ; + Anchor = 9, ; + Left = 548, ; + Name = "But_modifica1", ; + Top = 1 + *< END OBJECT: ClassLib="..\comun\clase\cmd_butoane.vcx" BaseClass="commandbutton" /> + + ADD OBJECT 'But_sterge1' AS but_sterge WITH ; + Anchor = 9, ; + Left = 578, ; + Name = "But_sterge1", ; + Top = 1, ; + Visible = .T. + *< END OBJECT: ClassLib="..\comun\clase\cmd_butoane.vcx" BaseClass="commandbutton" /> + + ADD OBJECT 'grd_raport' AS _grdrow WITH ; + Anchor = 15, ; + ColumnCount = 5, ; + DeleteMark = .F., ; + FontName = "Arial Narrow", ; + Height = 445, ; + Left = 12, ; + Name = "grd_raport", ; + Panel = 1, ; + RecordSource = "crsrapoarte", ; + TabIndex = 3, ; + Top = 43, ; + Width = 672, ; + Column1.ControlSource = "datai", ; + Column1.FontName = "Arial Narrow", ; + Column1.Name = "cDataI", ; + Column1.Width = 102, ; + Column2.ControlSource = "datas", ; + Column2.FontName = "Arial Narrow", ; + Column2.Name = "cDataS", ; + Column2.Width = 116, ; + Column3.ControlSource = "nume_grupa", ; + Column3.FontName = "Arial Narrow", ; + Column3.Name = "cNume_grupa", ; + Column3.Width = 214, ; + Column4.ControlSource = "dataora", ; + Column4.FontName = "Arial Narrow", ; + Column4.Name = "cDataora", ; + Column4.Width = 89, ; + Column5.ControlSource = "utilizator", ; + Column5.FontName = "Arial Narrow", ; + Column5.Name = "cUtilizator", ; + Column5.Width = 114 + *< END OBJECT: ClassLib="..\comun\clase\_grd_base.vcx" BaseClass="grid" /> + + ADD OBJECT 'grd_raport.cDataI.Header1' AS header WITH ; + Alignment = 2, ; + Caption = "Data inceput", ; + FontName = "Arial Narrow", ; + Name = "Header1" + *< END OBJECT: BaseClass="header" /> + + ADD OBJECT 'grd_raport.cDataI.Text1' AS textbox WITH ; + BackColor = 255,255,255, ; + BorderStyle = 0, ; + FontName = "Arial Narrow", ; + ForeColor = 0,0,0, ; + Margin = 0, ; + Name = "Text1" + *< END OBJECT: BaseClass="textbox" /> + + ADD OBJECT 'grd_raport.cDataora.Header1' AS header WITH ; + Alignment = 2, ; + Caption = "Data raport", ; + FontName = "Arial Narrow", ; + Name = "Header1" + *< END OBJECT: BaseClass="header" /> + + ADD OBJECT 'grd_raport.cDataora.Text1' AS textbox WITH ; + BackColor = 255,255,255, ; + BorderStyle = 0, ; + FontName = "Arial Narrow", ; + ForeColor = 0,0,0, ; + Margin = 0, ; + Name = "Text1" + *< END OBJECT: BaseClass="textbox" /> + + ADD OBJECT 'grd_raport.cDataS.Header1' AS header WITH ; + Alignment = 2, ; + Caption = "Data sfarsit", ; + FontName = "Arial Narrow", ; + Name = "Header1" + *< END OBJECT: BaseClass="header" /> + + ADD OBJECT 'grd_raport.cDataS.Text1' AS textbox WITH ; + BackColor = 255,255,255, ; + BorderStyle = 0, ; + FontName = "Arial Narrow", ; + ForeColor = 0,0,0, ; + Margin = 0, ; + Name = "Text1" + *< END OBJECT: BaseClass="textbox" /> + + ADD OBJECT 'grd_raport.cNume_grupa.Header1' AS header WITH ; + Alignment = 2, ; + Caption = "Grupa gestiuni", ; + FontName = "Arial Narrow", ; + Name = "Header1" + *< END OBJECT: BaseClass="header" /> + + ADD OBJECT 'grd_raport.cNume_grupa.Text1' AS textbox WITH ; + BackColor = 255,255,255, ; + BorderStyle = 0, ; + FontName = "Arial Narrow", ; + ForeColor = 0,0,0, ; + Margin = 0, ; + Name = "Text1" + *< END OBJECT: BaseClass="textbox" /> + + ADD OBJECT 'grd_raport.cUtilizator.Header1' AS header WITH ; + Alignment = 2, ; + Caption = "Utilizator", ; + FontName = "Arial Narrow", ; + Name = "Header1" + *< END OBJECT: BaseClass="header" /> + + ADD OBJECT 'grd_raport.cUtilizator.Text1' AS textbox WITH ; + BackColor = 255,255,255, ; + BorderStyle = 0, ; + FontName = "Arial Narrow", ; + ForeColor = 0,0,0, ; + Margin = 0, ; + Name = "Text1" + *< END OBJECT: BaseClass="textbox" /> + + ADD OBJECT 'Gridextra1' AS gridextra WITH ; + gridexpression = Thisform.grd_raport, ; + Left = 664, ; + Name = "Gridextra1", ; + Top = 473 + *< END OBJECT: ClassLib="..\comun\utile\gridextras\gridextras.vcx" BaseClass="custom" /> + + PROCEDURE do_cauta_grupa + ENDPROC + + PROCEDURE do_excel + This.do_raport(.T.) + ENDPROC + + PROCEDURE do_listare + This.do_raport(.F.) + ENDPROC + + PROCEDURE do_modifica + Local lnIdComRapVanz + Local ltDataI, ltDataS + lnIdComRapVanz = crsRapoarte.id_comrapvanz + ltDataI = crsRapoarte.datai + ltDataS = crsRapoarte.DataS + If Empty(Nvl(lnIdComRapVanz, 0)) + Return + Endif + This.AlwaysOnTop = .F. + genereaza_rap_vanz_per(m.lnIdComRapVanz, m.ltDataI, m.ltDataS) + This.AlwaysOnTop = .T. + ENDPROC + + PROCEDURE do_raport + Lparameters tlExportExcel + + Local llExportExcel, lnIdComRapVanz, lnTip + llExportExcel = m.tlExportExcel + lnIdComRapVanz = crsRapoarte.id_comrapvanz + If Empty(Nvl(lnIdComRapVanz, 0)) + Return + Endif + + lnOptiune = xmenu("\ + + *-- OBJECTDATA items order determines ZOrder / El orden de los items OBJECTDATA determina el ZOrder + *< OBJECTDATA: ObjPath="grd_raport" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="grd_raport.cDenumire.Header1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="grd_raport.cDenumire.Text1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="grd_raport.cCodMat.Header1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="grd_raport.cCodMat.Text1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="Gridextra1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="lb_explicatie" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="But_excel1" UniqueID="" Timestamp="" /> + + * + *m: do_cauta_grupa + *p: nid + *p: orec + * + + * + DoCreate = .T. + Height = 500 + Name = "frm_rap_vanz_verificari" + Width = 700 + _shape1.Anchor = 11 + _shape1.Height = 29 + _shape1.Left = 0 + _shape1.Name = "_shape1" + _shape1.Top = 0 + _shape1.Width = 700 + _shape2.Anchor = 9 + _shape2.Height = 29 + _shape2.Left = 624 + _shape2.Name = "_shape2" + _shape2.Top = 0 + _shape2.Visible = .T. + _shape2.Width = 76 + Lb_titlu_alb_b121.Caption = "VERIFICARE PRETURI" + Lb_titlu_alb_b121.FontBold = .T. + Lb_titlu_alb_b121.Name = "Lb_titlu_alb_b121" + Lb_titlu_alb_b121.TabIndex = 6 + BUT_TERMIN1.Anchor = 9 + BUT_TERMIN1.Left = 668 + BUT_TERMIN1.Name = "BUT_TERMIN1" + BUT_TERMIN1.TabIndex = 4 + BUT_TERMIN1.Top = 1 + GRIDSORT1.Name = "GRIDSORT1" + * + + ADD OBJECT 'But_excel1' AS but_excel WITH ; + Left = 628, ; + Name = "But_excel1", ; + Top = 1 + *< END OBJECT: ClassLib="..\comun\clase\cmd_butoane.vcx" BaseClass="commandbutton" /> + + ADD OBJECT 'grd_raport' AS _grdrow WITH ; + Anchor = 15, ; + ColumnCount = 2, ; + DeleteMark = .F., ; + FontName = "Arial Narrow", ; + Height = 416, ; + Left = 12, ; + Name = "grd_raport", ; + Panel = 1, ; + RecordSource = "crsRaportTemp", ; + TabIndex = 3, ; + Top = 72, ; + Width = 672, ; + Column1.ControlSource = "denumire", ; + Column1.FontName = "Arial Narrow", ; + Column1.Name = "cDenumire", ; + Column1.Width = 246, ; + Column2.ControlSource = "codmat", ; + Column2.FontName = "Arial Narrow", ; + Column2.Name = "cCodMat", ; + Column2.Width = 114 + *< END OBJECT: ClassLib="..\comun\clase\_grd_base.vcx" BaseClass="grid" /> + + ADD OBJECT 'grd_raport.cCodMat.Header1' AS header WITH ; + Alignment = 2, ; + Caption = "Cod material", ; + FontName = "Arial Narrow", ; + Name = "Header1" + *< END OBJECT: BaseClass="header" /> + + ADD OBJECT 'grd_raport.cCodMat.Text1' AS textbox WITH ; + BackColor = 255,255,255, ; + BorderStyle = 0, ; + FontName = "Arial Narrow", ; + ForeColor = 0,0,0, ; + Margin = 0, ; + Name = "Text1" + *< END OBJECT: BaseClass="textbox" /> + + ADD OBJECT 'grd_raport.cDenumire.Header1' AS header WITH ; + Alignment = 2, ; + Caption = "Denumire", ; + FontName = "Arial Narrow", ; + Name = "Header1" + *< END OBJECT: BaseClass="header" /> + + ADD OBJECT 'grd_raport.cDenumire.Text1' AS textbox WITH ; + BackColor = 255,255,255, ; + BorderStyle = 0, ; + FontName = "Arial Narrow", ; + ForeColor = 0,0,0, ; + Margin = 0, ; + Name = "Text1" + *< END OBJECT: BaseClass="textbox" /> + + ADD OBJECT 'Gridextra1' AS gridextra WITH ; + gridexpression = Thisform.grd_raport, ; + Left = 588, ; + Name = "Gridextra1", ; + Top = 492 + *< END OBJECT: ClassLib="..\comun\utile\gridextras\gridextras.vcx" BaseClass="custom" /> + + ADD OBJECT 'lb_explicatie' AS lb_simplu WITH ; + Caption = " Articolele de mai jos nu au pret / au pretul 0 in politica de preturi implicita pentru comenzile de la gestiuni. Pentru a putea genera comanda trebuie sa le introduceti preturile.", ; + Height = 32, ; + Left = 55, ; + Name = "lb_explicatie", ; + Top = 36, ; + Width = 588, ; + WordWrap = .T. + *< END OBJECT: ClassLib="..\comun\clase\lb.vcx" BaseClass="label" /> + + PROCEDURE do_cauta_grupa + ENDPROC + + PROCEDURE do_excel + goExport.export2xls(Thisform.grd_raport.RecordSource) + ENDPROC + + PROCEDURE Init + DoDefault() + Thisform.gridextra1.Setup() + + ENDPROC + +ENDDEFINE diff --git a/clase/ocompensari.vc2 b/clase/ocompensari.vc2 new file mode 100644 index 0000000..cf8ba1f --- /dev/null +++ b/clase/ocompensari.vc2 @@ -0,0 +1,2982 @@ +*-------------------------------------------------------------------------------------------------------------------------------------------------------- +* (EN) AUTOGENERATED - ATTENTION!! - NOT INTENDED FOR EXECUTION!! USE ONLY FOR MERGING CHANGES AND STORING WITH SCM TOOLS!! +*-------------------------------------------------------------------------------------------------------------------------------------------------------- +*< FOXBIN2PRG: Version="1.21" SourceFile="ocompensari.vcx" CPID="1252" /> (Solo para binarios VFP 9 / Only for VFP 9 binaries) +* +* +DEFINE CLASS ocompensari AS _frmbase OF "_frm_base.vcx" + *< CLASSDATA: Baseclass="form" Timestamp="" Scale="Pixels" Uniqueid="" /> + + *-- OBJECTDATA items order determines ZOrder / El orden de los items OBJECTDATA determina el ZOrder + *< OBJECTDATA: ObjPath="tachi" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="Label12" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="Text8" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="Label13" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="tdif" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="Label14" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="Line2" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="Text9" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="Label15" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="Grid1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="Grid1.Column1.Header1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="Grid1.Column1.Text1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="Grid1.Column2.Header1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="Grid1.Column2.Text1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="Grid1.Column3.Header1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="Grid1.Column3.Text1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="Grid1.Column4.Header1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="Grid1.Column4.Text1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="Grid1.Column5.Header1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="Grid1.Column5.Text1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="Grid1.Column6.Header1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="Grid1.Column6.Text1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="Grid1.Column6.Check1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="Grid1.Column7.Header1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="Grid1.Column7.Text1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="Grid1.Column8.Header1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="Grid1.Column8.Text1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="Grid1.Column9.Header1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="Grid1.Column9.Text1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="Grid1.Column10.Header1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="Grid1.Column10.Text1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="Grid1.Column11.Header1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="Grid1.Column11.Text1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="Grid1.Column12.Header1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="Grid1.Column12.Text1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="Grid1.Column13.Header1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="Grid1.Column13.Text1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="Grid1.Column14.Header1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="Grid1.Column14.Text1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="Grid1.Column15.Header1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="Grid1.Column15.Text1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="But_renunt1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="TITLUFRUMOS1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="Gridextra1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="txtRest" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="Label1" UniqueID="" Timestamp="" /> + + * + *p: cproclabifa + *p: dif + *p: ncu_tva + *p: nrest + *p: pcfis + *p: pnfelcont + *p: sachi + *p: suma + * + + * + BorderStyle = 3 + cgridsortlist = grid1 + cproclabifa = + dif = 0 + DoCreate = .T. + Height = 474 + Name = "ocompensari" + ncu_tva = 0 + nrest = 0 + pcfis = '' + pnfelcont = -1 + sachi = 0 + suma = 0 + Width = 830 + _shape1.Anchor = 10 + _shape1.Height = 30 + _shape1.Left = 0 + _shape1.Name = "_shape1" + _shape1.Top = -1 + _shape1.Width = 831 + _shape2.Anchor = 8 + _shape2.Height = 29 + _shape2.Left = 768 + _shape2.Name = "_shape2" + _shape2.Top = 0 + _shape2.Width = 66 + Lb_titlu_alb_b121.Anchor = 4 + Lb_titlu_alb_b121.Left = 630 + Lb_titlu_alb_b121.Name = "Lb_titlu_alb_b121" + Lb_titlu_alb_b121.Top = 419 + Lb_titlu_alb_b121.Visible = .F. + BUT_TERMIN1.Anchor = 8 + BUT_TERMIN1.Left = 800 + BUT_TERMIN1.Name = "BUT_TERMIN1" + BUT_TERMIN1.Top = 1 + GRIDSORT1.Name = "GRIDSORT1" + * + + ADD OBJECT 'But_renunt1' AS but_renunt WITH ; + Anchor = 8, ; + Left = 769, ; + Name = "But_renunt1", ; + Top = 1 + *< END OBJECT: ClassLib="cmd_butoane.vcx" BaseClass="commandbutton" /> + + ADD OBJECT 'Grid1' AS grid WITH ; + Anchor = 15, ; + ColumnCount = 15, ; + DeleteMark = .F., ; + FontSize = 10, ; + HeaderHeight = 19, ; + Height = 294, ; + Left = 7, ; + Name = "Grid1", ; + Panel = 1, ; + ReadOnly = .T., ; + RowHeight = 19, ; + TabIndex = 2, ; + Top = 59, ; + Width = 819, ; + Column1.ColumnOrder = 2, ; + Column1.ControlSource = "nract", ; + Column1.FontName = "Arial", ; + Column1.FontSize = 10, ; + Column1.Name = "Column1", ; + Column1.ReadOnly = .T., ; + Column1.Width = 77, ; + Column2.ColumnOrder = 3, ; + Column2.ControlSource = "dataact", ; + Column2.FontName = "Arial", ; + Column2.FontSize = 10, ; + Column2.Name = "Column2", ; + Column2.ReadOnly = .T., ; + Column2.Width = 65, ; + Column3.ColumnOrder = 4, ; + Column3.ControlSource = "datascad", ; + Column3.FontName = "Arial", ; + Column3.FontSize = 10, ; + Column3.Name = "Column3", ; + Column3.ReadOnly = .T., ; + Column3.Width = 72, ; + Column4.ColumnOrder = 5, ; + Column4.ControlSource = "totctva", ; + Column4.FontName = "Arial", ; + Column4.FontSize = 10, ; + Column4.InputMask = (get_mask(12,gnPa)), ; + Column4.Name = "Column4", ; + Column4.ReadOnly = .T., ; + Column4.Width = 76, ; + Column5.ColumnOrder = 6, ; + Column5.ControlSource = "achitat", ; + Column5.FontName = "Arial", ; + Column5.FontSize = 10, ; + Column5.InputMask = (get_mask(12,gnPa)), ; + Column5.Name = "Column5", ; + Column5.ReadOnly = .T., ; + Column5.Width = 81, ; + Column6.BackColor = 236,245,255, ; + Column6.ColumnOrder = 9, ; + Column6.ControlSource = "ales", ; + Column6.CurrentControl = "Check1", ; + Column6.FontName = "Arial", ; + Column6.FontSize = 10, ; + Column6.Name = "Column6", ; + Column6.ReadOnly = .F., ; + Column6.Sparse = .F., ; + Column6.Width = 22, ; + Column7.BackColor = 236,245,255, ; + Column7.ColumnOrder = 10, ; + Column7.ControlSource = "sumaachi", ; + Column7.FontName = "Arial", ; + Column7.FontSize = 10, ; + Column7.InputMask = (get_mask(12,gnPa)), ; + Column7.Name = "Column7", ; + Column7.ReadOnly = .F., ; + Column7.Width = 101, ; + Column8.ColumnOrder = 8, ; + Column8.ControlSource = "totctva - achitat", ; + Column8.FontName = "Arial", ; + Column8.FontSize = 10, ; + Column8.InputMask = (get_mask(12,gnPa)), ; + Column8.Name = "Column8", ; + Column8.ReadOnly = .T., ; + Column8.Width = 75, ; + Column9.ColumnOrder = 12, ; + Column9.ControlSource = "acont", ; + Column9.FontName = "Arial", ; + Column9.FontSize = 10, ; + Column9.Name = "Column9", ; + Column9.ReadOnly = .T., ; + Column9.Width = 47, ; + Column10.ColumnOrder = 13, ; + Column10.ControlSource = "explicatia", ; + Column10.FontName = "Arial", ; + Column10.FontSize = 10, ; + Column10.Name = "Column10", ; + Column10.ReadOnly = .T., ; + Column10.Width = 99, ; + Column11.ColumnOrder = 14, ; + Column11.ControlSource = "explicatia4", ; + Column11.FontName = "Arial", ; + Column11.FontSize = 10, ; + Column11.Name = "Column11", ; + Column11.ReadOnly = .T., ; + Column11.Width = 122, ; + Column12.ColumnOrder = 15, ; + Column12.ControlSource = "explicatia5", ; + Column12.FontName = "Arial", ; + Column12.FontSize = 10, ; + Column12.Name = "Column12", ; + Column12.ReadOnly = .T., ; + Column12.Width = 116, ; + Column13.ColumnOrder = 1, ; + Column13.ControlSource = "serie_act", ; + Column13.FontName = "Arial", ; + Column13.FontSize = 10, ; + Column13.Name = "Column13", ; + Column13.ReadOnly = .T., ; + Column13.Width = 34, ; + Column14.ColumnOrder = 7, ; + Column14.ControlSource = "achitatl", ; + Column14.FontName = "Arial", ; + Column14.FontSize = 10, ; + Column14.InputMask = (get_mask(12,gnPa)), ; + Column14.Name = "Column14", ; + Column14.ReadOnly = .T., ; + Column14.Width = 76, ; + Column15.ColumnOrder = 11, ; + Column15.ControlSource = "totctva - achitat - sumaachi", ; + Column15.FontName = "Arial", ; + Column15.FontSize = 10, ; + Column15.Format = "RK", ; + Column15.InputMask = (get_mask(12,gnPa)), ; + Column15.Name = "Column15", ; + Column15.ReadOnly = .T., ; + Column15.Sparse = .F., ; + Column15.Width = 94 + *< END OBJECT: BaseClass="grid" /> + + ADD OBJECT 'Grid1.Column1.Header1' AS header WITH ; + Alignment = 2, ; + Caption = "Nr.doc", ; + FontName = "Arial", ; + FontSize = 10, ; + Name = "Header1" + *< END OBJECT: BaseClass="header" /> + + ADD OBJECT 'Grid1.Column1.Text1' AS textbox WITH ; + BackColor = 255,255,255, ; + BorderStyle = 0, ; + FontName = "Arial", ; + FontSize = 10, ; + ForeColor = 0,0,0, ; + Margin = 0, ; + Name = "Text1", ; + ReadOnly = .T. + *< END OBJECT: BaseClass="textbox" /> + + ADD OBJECT 'Grid1.Column10.Header1' AS header WITH ; + Alignment = 2, ; + Caption = "Explicatia", ; + FontName = "Arial", ; + FontSize = 10, ; + Name = "Header1" + *< END OBJECT: BaseClass="header" /> + + ADD OBJECT 'Grid1.Column10.Text1' AS textbox WITH ; + BackColor = 255,255,255, ; + BorderStyle = 0, ; + FontName = "Arial", ; + FontSize = 10, ; + ForeColor = 0,0,0, ; + Margin = 0, ; + Name = "Text1", ; + ReadOnly = .T. + *< END OBJECT: BaseClass="textbox" /> + + ADD OBJECT 'Grid1.Column11.Header1' AS header WITH ; + Alignment = 2, ; + Caption = "Explicatia 4", ; + FontName = "Arial", ; + FontSize = 10, ; + Name = "Header1" + *< END OBJECT: BaseClass="header" /> + + ADD OBJECT 'Grid1.Column11.Text1' AS textbox WITH ; + BackColor = 255,255,255, ; + BorderStyle = 0, ; + FontName = "Arial", ; + FontSize = 10, ; + ForeColor = 0,0,0, ; + Margin = 0, ; + Name = "Text1", ; + ReadOnly = .T. + *< END OBJECT: BaseClass="textbox" /> + + ADD OBJECT 'Grid1.Column12.Header1' AS header WITH ; + Alignment = 2, ; + Caption = "Explicatia 5", ; + FontName = "Arial", ; + FontSize = 10, ; + Name = "Header1" + *< END OBJECT: BaseClass="header" /> + + ADD OBJECT 'Grid1.Column12.Text1' AS textbox WITH ; + BackColor = 255,255,255, ; + BorderStyle = 0, ; + FontName = "Arial", ; + FontSize = 10, ; + ForeColor = 0,0,0, ; + Margin = 0, ; + Name = "Text1" + *< END OBJECT: BaseClass="textbox" /> + + ADD OBJECT 'Grid1.Column13.Header1' AS header WITH ; + Alignment = 2, ; + Caption = "Serie doc.", ; + FontName = "Arial", ; + FontSize = 10, ; + Name = "Header1", ; + WordWrap = .T. + *< END OBJECT: BaseClass="header" /> + + ADD OBJECT 'Grid1.Column13.Text1' AS textbox WITH ; + BackColor = 255,255,255, ; + BorderStyle = 0, ; + FontName = "Arial", ; + FontSize = 10, ; + ForeColor = 0,0,0, ; + Margin = 0, ; + Name = "Text1" + *< END OBJECT: BaseClass="textbox" /> + + ADD OBJECT 'Grid1.Column14.Header1' AS header WITH ; + Alignment = 2, ; + Caption = "Suma repusa in luna", ; + FontName = "Arial", ; + FontSize = 10, ; + Name = "Header1", ; + WordWrap = .T. + *< END OBJECT: BaseClass="header" /> + + ADD OBJECT 'Grid1.Column14.Text1' AS textbox WITH ; + BackColor = 255,255,255, ; + BorderStyle = 0, ; + FontName = "Arial", ; + FontSize = 10, ; + ForeColor = 0,0,0, ; + Margin = 0, ; + Name = "Text1", ; + ReadOnly = .T. + *< END OBJECT: BaseClass="textbox" /> + + ADD OBJECT 'Grid1.Column15.Header1' AS header WITH ; + Alignment = 2, ; + Caption = "Rest", ; + FontName = "Arial", ; + FontSize = 10, ; + Name = "Header1" + *< END OBJECT: BaseClass="header" /> + + ADD OBJECT 'Grid1.Column15.Text1' AS textbox WITH ; + BackColor = 255,255,255, ; + BorderStyle = 0, ; + FontName = "Arial", ; + FontSize = 10, ; + ForeColor = 0,0,0, ; + Margin = 0, ; + Name = "Text1", ; + ReadOnly = .T. + *< END OBJECT: BaseClass="textbox" /> + + ADD OBJECT 'Grid1.Column2.Header1' AS header WITH ; + Alignment = 2, ; + Caption = "Data doc.", ; + FontName = "Arial", ; + FontSize = 10, ; + Name = "Header1" + *< END OBJECT: BaseClass="header" /> + + ADD OBJECT 'Grid1.Column2.Text1' AS textbox WITH ; + BackColor = 255,255,255, ; + BorderStyle = 0, ; + FontName = "Arial", ; + FontSize = 10, ; + ForeColor = 0,0,0, ; + Margin = 0, ; + Name = "Text1", ; + ReadOnly = .T. + *< END OBJECT: BaseClass="textbox" /> + + ADD OBJECT 'Grid1.Column3.Header1' AS header WITH ; + Alignment = 2, ; + Caption = "Data scadenta", ; + FontName = "Arial", ; + FontSize = 10, ; + Name = "Header1", ; + WordWrap = .T. + *< END OBJECT: BaseClass="header" /> + + ADD OBJECT 'Grid1.Column3.Text1' AS textbox WITH ; + BackColor = 255,255,255, ; + BorderStyle = 0, ; + FontName = "Arial", ; + FontSize = 10, ; + ForeColor = 0,0,0, ; + Margin = 0, ; + Name = "Text1", ; + ReadOnly = .T. + *< END OBJECT: BaseClass="textbox" /> + + ADD OBJECT 'Grid1.Column4.Header1' AS header WITH ; + Alignment = 2, ; + Caption = "Total valoare", ; + FontName = "Arial", ; + FontSize = 10, ; + Name = "Header1" + *< END OBJECT: BaseClass="header" /> + + ADD OBJECT 'Grid1.Column4.Text1' AS textbox WITH ; + BackColor = 255,255,255, ; + BorderStyle = 0, ; + FontName = "Arial", ; + FontSize = 10, ; + ForeColor = 0,0,0, ; + Margin = 0, ; + Name = "Text1", ; + ReadOnly = .T. + *< END OBJECT: BaseClass="textbox" /> + + ADD OBJECT 'Grid1.Column5.Header1' AS header WITH ; + Alignment = 2, ; + Caption = "Suma repusa", ; + FontName = "Arial", ; + FontSize = 10, ; + Name = "Header1" + *< END OBJECT: BaseClass="header" /> + + ADD OBJECT 'Grid1.Column5.Text1' AS textbox WITH ; + BackColor = 255,255,255, ; + BorderStyle = 0, ; + FontName = "Arial", ; + FontSize = 10, ; + ForeColor = 0,0,0, ; + Margin = 0, ; + Name = "Text1", ; + ReadOnly = .T. + *< END OBJECT: BaseClass="textbox" /> + + ADD OBJECT 'Grid1.Column6.Check1' AS checkbox WITH ; + Alignment = 2, ; + BackColor = 236,245,255, ; + BackStyle = 0, ; + Caption = "", ; + Centered = .T., ; + FontName = "Arial", ; + FontSize = 10, ; + Height = 17, ; + Left = 13, ; + Name = "Check1", ; + ReadOnly = .F., ; + Top = 51, ; + Width = 60 + *< END OBJECT: BaseClass="checkbox" /> + + ADD OBJECT 'Grid1.Column6.Header1' AS header WITH ; + Alignment = 2, ; + Caption = "Bifati", ; + FontName = "Arial", ; + FontSize = 10, ; + Name = "Header1" + *< END OBJECT: BaseClass="header" /> + + ADD OBJECT 'Grid1.Column6.Text1' AS textbox WITH ; + BackColor = 255,255,255, ; + BorderStyle = 0, ; + FontName = "Arial Narrow", ; + ForeColor = 0,0,0, ; + Margin = 0, ; + Name = "Text1" + *< END OBJECT: BaseClass="textbox" /> + + ADD OBJECT 'Grid1.Column7.Header1' AS header WITH ; + Alignment = 2, ; + Caption = "Se repune suma", ; + FontName = "Arial", ; + FontSize = 10, ; + Name = "Header1" + *< END OBJECT: BaseClass="header" /> + + ADD OBJECT 'Grid1.Column7.Text1' AS textbox WITH ; + BackColor = 236,245,255, ; + BorderStyle = 0, ; + FontName = "Arial", ; + FontSize = 10, ; + ForeColor = 0,0,0, ; + Margin = 0, ; + Name = "Text1", ; + ReadOnly = .F. + *< END OBJECT: BaseClass="textbox" /> + + ADD OBJECT 'Grid1.Column8.Header1' AS header WITH ; + Alignment = 2, ; + Caption = "Sold", ; + FontName = "Arial", ; + FontSize = 10, ; + Name = "Header1" + *< END OBJECT: BaseClass="header" /> + + ADD OBJECT 'Grid1.Column8.Text1' AS textbox WITH ; + BackColor = 255,255,255, ; + BorderStyle = 0, ; + FontName = "Arial", ; + FontSize = 10, ; + ForeColor = 0,0,0, ; + Margin = 0, ; + Name = "Text1", ; + ReadOnly = .T. + *< END OBJECT: BaseClass="textbox" /> + + ADD OBJECT 'Grid1.Column9.Header1' AS header WITH ; + Alignment = 2, ; + Caption = "Analitic", ; + FontName = "Arial", ; + FontSize = 10, ; + Name = "Header1" + *< END OBJECT: BaseClass="header" /> + + ADD OBJECT 'Grid1.Column9.Text1' AS textbox WITH ; + BackColor = 255,255,255, ; + BorderStyle = 0, ; + FontName = "Arial", ; + FontSize = 10, ; + ForeColor = 0,0,0, ; + Margin = 0, ; + Name = "Text1", ; + ReadOnly = .T. + *< END OBJECT: BaseClass="textbox" /> + + ADD OBJECT 'Gridextra1' AS gridextra WITH ; + Left = 96, ; + Name = "Gridextra1", ; + Top = 380 + *< END OBJECT: ClassLib="..\utile\gridextras\gridextras.vcx" BaseClass="custom" /> + + ADD OBJECT 'Label1' AS label WITH ; + Anchor = 4, ; + AutoSize = .T., ; + BackStyle = 0, ; + Caption = "Rest:", ; + FontSize = 10, ; + Height = 18, ; + Left = 406, ; + Name = "Label1", ; + TabIndex = 11, ; + Top = 446, ; + Width = 33 + *< END OBJECT: BaseClass="label" /> + + ADD OBJECT 'Label12' AS label WITH ; + Anchor = 4, ; + AutoSize = .T., ; + BackStyle = 0, ; + Caption = "Valoare document de plata:", ; + FontSize = 10, ; + Height = 18, ; + Left = 405, ; + Name = "Label12", ; + TabIndex = 9, ; + Top = 363, ; + Width = 161 + *< END OBJECT: BaseClass="label" /> + + ADD OBJECT 'Label13' AS label WITH ; + Anchor = 4, ; + AutoSize = .T., ; + BackStyle = 0, ; + Caption = "Suma partiala inscrisa:", ; + FontSize = 10, ; + Height = 18, ; + Left = 405, ; + Name = "Label13", ; + TabIndex = 10, ; + Top = 390, ; + Width = 135 + *< END OBJECT: BaseClass="label" /> + + ADD OBJECT 'Label14' AS label WITH ; + Anchor = 4, ; + AutoSize = .T., ; + BackStyle = 0, ; + Caption = "Diferenta:", ; + FontSize = 10, ; + Height = 18, ; + Left = 405, ; + Name = "Label14", ; + TabIndex = 11, ; + Top = 421, ; + Width = 57 + *< END OBJECT: BaseClass="label" /> + + ADD OBJECT 'Label15' AS label WITH ; + Anchor = 8, ; + AutoSize = .T., ; + BackStyle = 0, ; + Caption = "Caut Nr. Doc.:", ; + FontSize = 10, ; + Height = 18, ; + Left = 602, ; + Name = "Label15", ; + TabIndex = 12, ; + Top = 37, ; + Visible = .T., ; + Width = 85 + *< END OBJECT: BaseClass="label" /> + + ADD OBJECT 'Line2' AS line WITH ; + Anchor = 4, ; + Height = 0, ; + Left = 398, ; + Name = "Line2", ; + Top = 413, ; + Width = 317 + *< END OBJECT: BaseClass="line" /> + + ADD OBJECT 'tachi' AS textbox WITH ; + Anchor = 4, ; + ControlSource = "thisform.sachi", ; + DisabledBackColor = 236,245,255, ; + FontSize = 10, ; + Format = "r", ; + Height = 23, ; + InputMask = (get_mask(12,gnPa)), ; + Left = 566, ; + Name = "tachi", ; + ReadOnly = .T., ; + SpecialEffect = 1, ; + TabIndex = 4, ; + TabStop = .F., ; + Top = 386, ; + Width = 142 + *< END OBJECT: BaseClass="textbox" /> + + ADD OBJECT 'tdif' AS textbox WITH ; + Anchor = 4, ; + ControlSource = "thisform.dif", ; + FontSize = 10, ; + Format = "r", ; + Height = 23, ; + InputMask = (get_mask(12,gnPa)), ; + Left = 566, ; + Name = "tdif", ; + ReadOnly = .T., ; + SpecialEffect = 1, ; + TabIndex = 5, ; + TabStop = .F., ; + Top = 417, ; + Width = 142 + *< END OBJECT: BaseClass="textbox" /> + + ADD OBJECT 'Text8' AS textbox WITH ; + Anchor = 4, ; + BackColor = 255,255,255, ; + ControlSource = "thisform.suma", ; + DisabledBackColor = 255,255,255, ; + FontSize = 10, ; + Format = "r", ; + Height = 23, ; + InputMask = (get_mask(12,gnPa)), ; + Left = 566, ; + Name = "Text8", ; + ReadOnly = .T., ; + SpecialEffect = 1, ; + TabIndex = 3, ; + Top = 362, ; + Width = 142 + *< END OBJECT: BaseClass="textbox" /> + + ADD OBJECT 'Text9' AS textbox WITH ; + Alignment = 3, ; + Anchor = 8, ; + FontSize = 10, ; + Format = "RK", ; + Height = 23, ; + InputMask = "9999999999999999", ; + Left = 683, ; + Name = "Text9", ; + SpecialEffect = 1, ; + TabIndex = 1, ; + Top = 33, ; + Value = 0, ; + Visible = .T., ; + Width = 142 + *< END OBJECT: BaseClass="textbox" /> + + ADD OBJECT 'TITLUFRUMOS1' AS titlufrumos WITH ; + AutoSize = .F., ; + Height = 20, ; + Left = 5, ; + Name = "TITLUFRUMOS1", ; + Top = 4, ; + Width = 751, ; + WordWrap = .F. + *< END OBJECT: ClassLib="baza.vcx" BaseClass="label" /> + + ADD OBJECT 'txtRest' AS textbox WITH ; + Anchor = 4, ; + ControlSource = "thisform.nRest", ; + FontSize = 10, ; + Format = "r", ; + Height = 23, ; + InputMask = (get_mask(12,gnPa)), ; + Left = 567, ; + Name = "txtRest", ; + ReadOnly = .T., ; + SpecialEffect = 1, ; + TabIndex = 5, ; + TabStop = .F., ; + Top = 442, ; + Width = 142 + *< END OBJECT: BaseClass="textbox" /> + + PROCEDURE actualizeaza_grid1 + Local r + Sele (Thisform.pcfis) + If Eof() Or Bof() + r=0 + Else + r=Recno() + Endif + Sele (Thisform.pcfis) + Sum sumaachi, totctva - achitat - sumaachi To Thisform.sachi, Thisform.nRest For ales + If r<>0 + Goto r + Endif + + Thisform.Dif=Thisform.suma-Thisform.sachi + + Thisform.grid1.Refresh + Thisform.tachi.Refresh + Thisform.tdif.Refresh + thisform.txtRest.Refresh + + ENDPROC + + PROCEDURE inainte_de_do_renunt + SELECT (thisform.pcfis) + REPLACE ALL ales WITH .f. + RETURN .t. + ENDPROC + + PROCEDURE inainte_de_do_termin + SELECT (thisform.pcfis) + REPLACE ALL sumaachi2 WITH 0 FOR ales + IF TYPE("poact.id_set")<> "U" AND INLIST(poact.id_set, 90011,90013) + poact.suma = thisform.sachi + RETURN .t. + ELSE + IF thisform.dif#0 + amessagebox("Trebuie sa acoperiti valoarea documentului de plata!",48,"Atentie") + RETURN .f. + ELSE + RETURN .t. + ENDIF + + ENDIF + ENDPROC + + PROCEDURE Show + LPARAMETERS nStyle + Thisform.Dif=thisform.suma-Thisform.sachi + lcSel = ALLTRIM(thisform.pcfis) + IF TYPE(lcSel+'.dataact') = 'T' + this.grID1.column2.ControlSource = [TTOD(dataact)] + ENDIF + IF TYPE(lcSel+'.datascad') = 'T' + this.grID1.column3.ControlSource = [TTOD(datascad)] + ENDIF + + IF this.ncu_tva = 1 + lnIndex = THISFORM.Grid1.ColumnCount + 1 + THISFORM.Grid1.AddColumn(lnIndex) && Insert column at right. + THISFORM.Grid1.Columns(THISFORM.Grid1.ColumnCount).Name = "Col_procTva" + THISFORM.Grid1.Col_procTva.fontName = [Arial] + THISFORM.Grid1.Col_procTva.fontSize = 10 + THISFORM.Grid1.Col_procTva.header1.caption = 'Coef.TVA' + THISFORM.Grid1.Col_procTva.header1.fontName = [Arial] + THISFORM.Grid1.Col_procTva.ControlSource = "proc_tva" + THISFORM.Grid1.Col_procTva.inputMask = '9.99' + THISFORM.Grid1.Col_procTva.readonly = .F. + THISFORM.Grid1.Col_procTva.width = 43 + thisform.grid1.Width = thisform.grid1.Width + 45 + thisform.Width = this.Width + 45 + ENDIF + + * Daca se achita partial, colorez toata linia cu factura, nu numai coloana Rest + Thisform.Grid1.SetAll("DynamicBackColor", [IIF(ales AND totctva - achitat - sumaachi # 0, RGB(200,200,200), RGB(255,255,255))], "Column") && toate coloanele gri cand suma achitata partial, altfel alb + Thisform.Grid1.Column6.DynamicBackColor = [IIF(ales AND totctva - achitat - sumaachi # 0, RGB(200,200,200), RGB(236,245,255))] && coloana ales blue + Thisform.Grid1.Column7.DynamicBackColor = [IIF(ales AND totctva - achitat - sumaachi # 0, RGB(200,200,200), RGB(236,245,255))] && coloana achitat blue + + + SELECT (lcSel) + GO TOP + thisform.grid1.column6.SetFocus() + Thisform.gridextra1.setup() && ROACONT v 2.0.156 + + This.Height = INT(_screen.Height * 0.7) && 70% screen height + This.Width = INT(_screen.Width * 0.7) && 70% screen width + This.AutoCenter = .T. + + ENDPROC + + PROCEDURE Grid1.Column6.Check1.Valid + *!* 21.10.2011 + *!* marius.mutu + *!* la bifarea unei facturi se completeaza cu minimul dintre diferenta ramasa de acoperit si soldul facturii + + *!* 06.04.2020 + *!* in contafin se punea soldul, nu minimul. ACN a cerut sa se puna soldul la bifare, astfel incat sa se vada daca clientul a + *!* achitat suma integrala din facturile de pe extrasul de cont + + *!* 09.04.2020 + *!* am completat din nou cu diferenta ramasa pe ultimul rand bifat, pentru ca au sunat mai multi clienti ca lor le placea inainte :) + *!* utilizatorul este atentionat deja vizual prin marcarea randului gri daca randul bifat nu are suma egala cu soldul (THISFORM.SHOW) + + LOCAL lcVar + lcVar = thisform.cproclabifa + IF EMPTY(lcVar ) + if ales + IF CONT = '408' OR thisform.suma = 0 && suma de plata =0 + REPLACE sumaachi with ROUND(totctva,gnPa) - ROUND(achitat,gnPa) + ELSE + REPLACE sumaachi with MIN(Thisform.dif, ROUND(totctva,gnPa) - ROUND(achitat,gnPa)) + *!* REPLACE sumaachi with ROUND(totctva,gnPa) - ROUND(achitat,gnPa) + ENDIF + else + repl sumaachi with 0 + ENDIF + ELSE + if ales + PRIVATE pnSumaBifata + STORE 0 TO pnSumaBifata + LOCAL lcprocedura + STORE '' TO lcProcedura + lcProcedura = 'do '+ALLTRIM(thisform.cproclabifa) + &lcProcedura + Sele (thisform.pcfis) + ELSE + Sele (thisform.pcfis) + repl sumaachi with 0 + ENDIF + ENDIF + thisform.actualizeaza_grid1 + + ENDPROC + + PROCEDURE Grid1.Column7.Text1.InteractiveChange + If Inlist(Lastkey(),22) + Keyboard '{TAB}' + Endif + ENDPROC + + PROCEDURE Grid1.Column7.Text1.Valid + If sumaachi>totctva-achitat And ales + amessagebox("Suma depaseste valoarea soldului!",48,"Atentie") + * repl sumaachi with totctva-achitat + * return 0 + Endif + Thisform.actualizeaza_grid1 + ENDPROC + + PROCEDURE Text8.Valid + thisform.actualizeaza_grid1 + + ENDPROC + + PROCEDURE Text9.LostFocus + lcsel = thisform.grid1.RecordSource + SELECT (lcsel) + loca for nract=this.Value + thisform.grid1.SETFOCUS + ENDPROC + + PROCEDURE TITLUFRUMOS1.MouseDown + LPARAMETERS nButton, nShift, nXCoord, nYCoord + If nButton = 1 + thisform.MouseIcon='HMOVE.CUR' + thisform.MousePointer= 99 + ReleaseCapture() + SendMessage(Thisform.nHWND, 0x112, 0xF012, 0x0) + thisform.MousePointer= 0 + SendMessage(Thisform.nHWND, 0x202, 0x0, 0x0) + Endif + ENDPROC + +ENDDEFINE + +DEFINE CLASS ocompensari_val AS _frmbase OF "_frm_base.vcx" + *< CLASSDATA: Baseclass="form" Timestamp="" Scale="Pixels" Uniqueid="" /> + + *-- OBJECTDATA items order determines ZOrder / El orden de los items OBJECTDATA determina el ZOrder + *< OBJECTDATA: ObjPath="Grid1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="Grid1.Column1.Header1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="Grid1.Column1.Text1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="Grid1.Column2.Header1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="Grid1.Column2.Text1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="Grid1.Column3.Header1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="Grid1.Column3.Text1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="Grid1.Column4.Header1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="Grid1.Column4.Text1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="Grid1.Column5.Header1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="Grid1.Column5.Text1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="Grid1.Column6.Header1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="Grid1.Column6.Text1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="Grid1.Column7.Header1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="Grid1.Column7.Text1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="Grid1.Column8.Header1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="Grid1.Column8.Text1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="Grid1.Column9.Header1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="Grid1.Column9.Text1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="Grid1.Column9.Check1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="Grid1.Column10.Header1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="Grid1.Column10.Text1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="Grid1.Column11.Header1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="Grid1.Column11.Text1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="Grid1.Column12.Header1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="Grid1.Column12.Text1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="Grid1.Column13.Header1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="Grid1.Column13.Text1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="Grid1.Column14.Header1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="Grid1.Column14.Text1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="Grid1.Column15.Header1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="Grid1.Column15.Text1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="Grid1.Column16.Header1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="Grid1.Column16.Text1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="Grid1.Column17.Header1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="Grid1.Column17.Text1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="Grid1.Column18.Header1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="Grid1.Column18.Text1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="Grid1.Column19.Header1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="Grid1.Column19.Text1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="tachi" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="Label12" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="Text8" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="Label13" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="tdif" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="Label14" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="Line2" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="Text9" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="Label15" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="But_renunt1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="TITLUFRUMOS1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="txtRest" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="Label1" UniqueID="" Timestamp="" /> + + * + *p: curs_val + *p: dif + *p: ncu_tva + *p: nrest + *p: omonedanationala + *p: pcfis + *p: pnfelcont + *p: sachi + *p: suma + * + + * + BorderStyle = 3 + cgridsortlist = grid1 + curs_val = 0 + dif = 0 + DoCreate = .T. + Height = 475 + Name = "ocompensari_val" + ncu_tva = 0 + nrest = 0 + omonedanationala = .NULL. + pcfis = '' + pnfelcont = -1 + sachi = 0 + suma = 0 + Width = 784 + _memberdata = + + + _shape1.Anchor = 10 + _shape1.Height = 29 + _shape1.Left = 0 + _shape1.Name = "_shape1" + _shape1.Top = 0 + _shape1.Width = 787 + _shape2.Anchor = 8 + _shape2.Height = 30 + _shape2.Left = 718 + _shape2.Name = "_shape2" + _shape2.Top = -1 + _shape2.Width = 67 + Lb_titlu_alb_b121.Left = 12 + Lb_titlu_alb_b121.Name = "Lb_titlu_alb_b121" + Lb_titlu_alb_b121.Top = 36 + Lb_titlu_alb_b121.Visible = .F. + BUT_TERMIN1.Anchor = 8 + BUT_TERMIN1.Left = 751 + BUT_TERMIN1.Name = "BUT_TERMIN1" + BUT_TERMIN1.Top = 1 + GRIDSORT1.Name = "GRIDSORT1" + * + + ADD OBJECT 'But_renunt1' AS but_renunt WITH ; + Anchor = 8, ; + Left = 721, ; + Name = "But_renunt1", ; + Top = 1 + *< END OBJECT: ClassLib="cmd_butoane.vcx" BaseClass="commandbutton" /> + + ADD OBJECT 'Grid1' AS grid WITH ; + Anchor = 15, ; + BackColor = 255,255,255, ; + ColumnCount = 19, ; + DeleteMark = .F., ; + FontSize = 10, ; + Height = 289, ; + Left = 5, ; + Name = "Grid1", ; + Panel = 1, ; + RowHeight = 19, ; + TabIndex = 1, ; + Top = 67, ; + Width = 775, ; + ZOrderSet = 2, ; + Column1.BackColor = 255,255,255, ; + Column1.ColumnOrder = 3, ; + Column1.ControlSource = "dataact", ; + Column1.FontName = "Arial", ; + Column1.FontSize = 10, ; + Column1.Name = "Column1", ; + Column1.Width = 85, ; + Column2.BackColor = 255,255,255, ; + Column2.ColumnOrder = 4, ; + Column2.ControlSource = "datascad", ; + Column2.FontName = "Arial", ; + Column2.FontSize = 10, ; + Column2.Name = "Column2", ; + Column2.Width = 88, ; + Column3.BackColor = 255,255,255, ; + Column3.ColumnOrder = 11, ; + Column3.ControlSource = "sumaval", ; + Column3.FontName = "Arial", ; + Column3.FontSize = 10, ; + Column3.InputMask = (get_mask(12,gnPval)), ; + Column3.Name = "Column3", ; + Column3.Width = 78, ; + Column4.BackColor = 255,255,255, ; + Column4.ColumnOrder = 12, ; + Column4.ControlSource = "achitatval", ; + Column4.FontName = "Arial", ; + Column4.FontSize = 10, ; + Column4.InputMask = (get_mask(12,gnPval)), ; + Column4.Name = "Column4", ; + Column4.Width = 82, ; + Column5.BackColor = 255,255,255, ; + Column5.ColumnOrder = 6, ; + Column5.ControlSource = "sumaval-achitatval", ; + Column5.FontName = "Arial", ; + Column5.FontSize = 10, ; + Column5.InputMask = (get_mask(12,gnPval)), ; + Column5.Name = "Column5", ; + Column5.Width = 75, ; + Column6.BackColor = 255,255,255, ; + Column6.ColumnOrder = 13, ; + Column6.ControlSource = "totctva", ; + Column6.FontName = "Arial", ; + Column6.FontSize = 10, ; + Column6.InputMask = (get_mask(12,gnPa)), ; + Column6.Name = "Column6", ; + Column6.Width = 89, ; + Column7.BackColor = 255,255,255, ; + Column7.ColumnOrder = 14, ; + Column7.ControlSource = "achitat", ; + Column7.FontName = "Arial", ; + Column7.FontSize = 10, ; + Column7.InputMask = (get_mask(12,gnPa)), ; + Column7.Name = "Column7", ; + Column8.BackColor = 255,255,255, ; + Column8.ColumnOrder = 5, ; + Column8.ControlSource = "totctva-achitat", ; + Column8.FontName = "Arial", ; + Column8.FontSize = 10, ; + Column8.InputMask = (get_mask(12,gnPa)), ; + Column8.Name = "Column8", ; + Column9.BackColor = 236,245,255, ; + Column9.ColumnOrder = 8, ; + Column9.ControlSource = "ales", ; + Column9.CurrentControl = "Check1", ; + Column9.FontName = "Arial", ; + Column9.FontSize = 10, ; + Column9.Name = "Column9", ; + Column9.Sparse = .F., ; + Column9.Width = 30, ; + Column10.BackColor = 236,245,255, ; + Column10.ColumnOrder = 9, ; + Column10.ControlSource = "sumaachi2", ; + Column10.FontName = "Arial", ; + Column10.FontSize = 10, ; + Column10.InputMask = (get_mask(12,gnPval)), ; + Column10.Name = "Column10", ; + Column10.Width = 95, ; + Column11.BackColor = 255,255,255, ; + Column11.ColumnOrder = 7, ; + Column11.ControlSource = "numeval", ; + Column11.FontName = "Arial", ; + Column11.FontSize = 10, ; + Column11.Name = "Column11", ; + Column11.ReadOnly = .T., ; + Column11.Width = 46, ; + Column12.BackColor = 255,255,255, ; + Column12.ColumnOrder = 15, ; + Column12.ControlSource = "cursschimb", ; + Column12.FontName = "Arial", ; + Column12.FontSize = 10, ; + Column12.Name = "Column12", ; + Column12.ReadOnly = .T., ; + Column12.Width = 72, ; + Column13.BackColor = 255,255,255, ; + Column13.ColumnOrder = 2, ; + Column13.ControlSource = "nract", ; + Column13.FontName = "Arial", ; + Column13.FontSize = 10, ; + Column13.Name = "Column13", ; + Column13.Width = 69, ; + Column14.BackColor = 255,255,255, ; + Column14.ColumnOrder = 16, ; + Column14.ControlSource = "acont", ; + Column14.FontName = "Arial", ; + Column14.FontSize = 10, ; + Column14.Name = "Column14", ; + Column14.ReadOnly = .T., ; + Column14.Width = 47, ; + Column15.BackColor = 255,255,255, ; + Column15.ColumnOrder = 17, ; + Column15.ControlSource = "explicatia", ; + Column15.FontName = "Arial", ; + Column15.FontSize = 10, ; + Column15.Name = "Column15", ; + Column15.Width = 117, ; + Column16.BackColor = 255,255,255, ; + Column16.ColumnOrder = 18, ; + Column16.ControlSource = "explicatia4", ; + Column16.FontName = "Arial", ; + Column16.FontSize = 10, ; + Column16.Name = "Column16", ; + Column16.Width = 104, ; + Column17.BackColor = 255,255,255, ; + Column17.ColumnOrder = 19, ; + Column17.ControlSource = "explicatia5", ; + Column17.FontName = "Arial", ; + Column17.FontSize = 10, ; + Column17.Name = "Column17", ; + Column17.Width = 108, ; + Column18.BackColor = 255,255,255, ; + Column18.ColumnOrder = 1, ; + Column18.ControlSource = "serie_act", ; + Column18.FontName = "Arial", ; + Column18.FontSize = 10, ; + Column18.Name = "Column18", ; + Column18.Width = 63, ; + Column19.BackColor = 255,255,255, ; + Column19.ColumnOrder = 10, ; + Column19.ControlSource = "sumaval-achitatval-sumaachi2", ; + Column19.FontSize = 10, ; + Column19.InputMask = (get_mask(12,gnPval)), ; + Column19.Name = "Column19", ; + Column19.ReadOnly = .T., ; + Column19.Width = 107 + *< END OBJECT: BaseClass="grid" /> + + ADD OBJECT 'Grid1.Column1.Header1' AS header WITH ; + Alignment = 2, ; + Caption = "Data doc.", ; + FontName = "Arial", ; + FontSize = 10, ; + Name = "Header1" + *< END OBJECT: BaseClass="header" /> + + ADD OBJECT 'Grid1.Column1.Text1' AS textbox WITH ; + BackColor = 255,255,255, ; + BorderStyle = 0, ; + FontName = "Arial", ; + FontSize = 10, ; + ForeColor = 0,0,0, ; + Margin = 0, ; + Name = "Text1" + *< END OBJECT: BaseClass="textbox" /> + + ADD OBJECT 'Grid1.Column10.Header1' AS header WITH ; + Alignment = 2, ; + Caption = "Se achita suma", ; + FontName = "Arial", ; + FontSize = 10, ; + Name = "Header1" + *< END OBJECT: BaseClass="header" /> + + ADD OBJECT 'Grid1.Column10.Text1' AS textbox WITH ; + BackColor = 236,245,255, ; + BorderStyle = 0, ; + ControlSource = "sumaachi2", ; + FontName = "Arial", ; + FontSize = 10, ; + ForeColor = 0,0,0, ; + Margin = 0, ; + Name = "Text1" + *< END OBJECT: BaseClass="textbox" /> + + ADD OBJECT 'Grid1.Column11.Header1' AS header WITH ; + Alignment = 2, ; + Caption = "Valuta", ; + FontName = "Arial", ; + FontSize = 10, ; + Name = "Header1" + *< END OBJECT: BaseClass="header" /> + + ADD OBJECT 'Grid1.Column11.Text1' AS textbox WITH ; + BackColor = 255,255,255, ; + BorderStyle = 0, ; + FontName = "Arial", ; + FontSize = 10, ; + ForeColor = 0,0,0, ; + Margin = 0, ; + Name = "Text1", ; + ReadOnly = .T. + *< END OBJECT: BaseClass="textbox" /> + + ADD OBJECT 'Grid1.Column12.Header1' AS header WITH ; + Alignment = 2, ; + Caption = "Curs Valuta", ; + FontName = "Arial", ; + FontSize = 10, ; + Name = "Header1" + *< END OBJECT: BaseClass="header" /> + + ADD OBJECT 'Grid1.Column12.Text1' AS textbox WITH ; + BackColor = 255,255,255, ; + BorderStyle = 0, ; + FontName = "Arial", ; + FontSize = 10, ; + ForeColor = 0,0,0, ; + Margin = 0, ; + Name = "Text1", ; + ReadOnly = .T. + *< END OBJECT: BaseClass="textbox" /> + + ADD OBJECT 'Grid1.Column13.Header1' AS header WITH ; + Alignment = 2, ; + Caption = "Nr. doc.", ; + FontName = "Arial", ; + FontSize = 10, ; + Name = "Header1" + *< END OBJECT: BaseClass="header" /> + + ADD OBJECT 'Grid1.Column13.Text1' AS textbox WITH ; + BackColor = 255,255,255, ; + BorderStyle = 0, ; + FontName = "Arial", ; + FontSize = 10, ; + ForeColor = 0,0,0, ; + Margin = 0, ; + Name = "Text1" + *< END OBJECT: BaseClass="textbox" /> + + ADD OBJECT 'Grid1.Column14.Header1' AS header WITH ; + Alignment = 2, ; + Caption = "Analitic", ; + FontName = "Arial", ; + FontSize = 10, ; + Name = "Header1" + *< END OBJECT: BaseClass="header" /> + + ADD OBJECT 'Grid1.Column14.Text1' AS textbox WITH ; + BackColor = 255,255,255, ; + BorderStyle = 0, ; + FontName = "Arial", ; + FontSize = 10, ; + ForeColor = 0,0,0, ; + Margin = 0, ; + Name = "Text1", ; + ReadOnly = .T. + *< END OBJECT: BaseClass="textbox" /> + + ADD OBJECT 'Grid1.Column15.Header1' AS header WITH ; + Alignment = 2, ; + Caption = "Explicatia", ; + FontName = "Arial", ; + FontSize = 10, ; + Name = "Header1" + *< END OBJECT: BaseClass="header" /> + + ADD OBJECT 'Grid1.Column15.Text1' AS textbox WITH ; + BackColor = 255,255,255, ; + BorderStyle = 0, ; + FontName = "Arial", ; + FontSize = 10, ; + ForeColor = 0,0,0, ; + Margin = 0, ; + Name = "Text1" + *< END OBJECT: BaseClass="textbox" /> + + ADD OBJECT 'Grid1.Column16.Header1' AS header WITH ; + Alignment = 2, ; + Caption = "Explicatia 4", ; + FontName = "Arial", ; + FontSize = 10, ; + Name = "Header1" + *< END OBJECT: BaseClass="header" /> + + ADD OBJECT 'Grid1.Column16.Text1' AS textbox WITH ; + BackColor = 255,255,255, ; + BorderStyle = 0, ; + FontName = "Arial", ; + FontSize = 10, ; + ForeColor = 0,0,0, ; + Margin = 0, ; + Name = "Text1" + *< END OBJECT: BaseClass="textbox" /> + + ADD OBJECT 'Grid1.Column17.Header1' AS header WITH ; + Alignment = 2, ; + Caption = "Explicatia 5", ; + FontName = "Arial", ; + FontSize = 10, ; + Name = "Header1" + *< END OBJECT: BaseClass="header" /> + + ADD OBJECT 'Grid1.Column17.Text1' AS textbox WITH ; + BackColor = 255,255,255, ; + BorderStyle = 0, ; + FontName = "Arial", ; + FontSize = 10, ; + ForeColor = 0,0,0, ; + Margin = 0, ; + Name = "Text1" + *< END OBJECT: BaseClass="textbox" /> + + ADD OBJECT 'Grid1.Column18.Header1' AS header WITH ; + Alignment = 2, ; + Caption = "Serie doc.", ; + FontName = "Arial", ; + FontSize = 10, ; + Name = "Header1" + *< END OBJECT: BaseClass="header" /> + + ADD OBJECT 'Grid1.Column18.Text1' AS textbox WITH ; + BackColor = 255,255,255, ; + BorderStyle = 0, ; + FontName = "Arial", ; + FontSize = 10, ; + ForeColor = 0,0,0, ; + Margin = 0, ; + Name = "Text1" + *< END OBJECT: BaseClass="textbox" /> + + ADD OBJECT 'Grid1.Column19.Header1' AS header WITH ; + Alignment = 2, ; + Caption = "Rest", ; + Name = "Header1" + *< END OBJECT: BaseClass="header" /> + + ADD OBJECT 'Grid1.Column19.Text1' AS textbox WITH ; + BackColor = 255,255,255, ; + BorderStyle = 0, ; + ForeColor = 0,0,0, ; + Margin = 0, ; + Name = "Text1", ; + ReadOnly = .T. + *< END OBJECT: BaseClass="textbox" /> + + ADD OBJECT 'Grid1.Column2.Header1' AS header WITH ; + Alignment = 2, ; + Caption = "Data scadenta", ; + FontName = "Arial", ; + FontSize = 10, ; + Name = "Header1" + *< END OBJECT: BaseClass="header" /> + + ADD OBJECT 'Grid1.Column2.Text1' AS textbox WITH ; + BackColor = 255,255,255, ; + BorderStyle = 0, ; + FontName = "Arial", ; + FontSize = 10, ; + ForeColor = 0,0,0, ; + Margin = 0, ; + Name = "Text1" + *< END OBJECT: BaseClass="textbox" /> + + ADD OBJECT 'Grid1.Column3.Header1' AS header WITH ; + Alignment = 2, ; + Caption = "Val. in valuta", ; + FontName = "Arial", ; + FontSize = 10, ; + Name = "Header1" + *< END OBJECT: BaseClass="header" /> + + ADD OBJECT 'Grid1.Column3.Text1' AS textbox WITH ; + BackColor = 255,255,255, ; + BorderStyle = 0, ; + FontName = "Arial", ; + FontSize = 10, ; + ForeColor = 0,0,0, ; + Margin = 0, ; + Name = "Text1" + *< END OBJECT: BaseClass="textbox" /> + + ADD OBJECT 'Grid1.Column4.Header1' AS header WITH ; + Alignment = 2, ; + Caption = "Achitat valuta", ; + FontName = "Arial", ; + FontSize = 10, ; + Name = "Header1" + *< END OBJECT: BaseClass="header" /> + + ADD OBJECT 'Grid1.Column4.Text1' AS textbox WITH ; + BackColor = 255,255,255, ; + BorderStyle = 0, ; + FontName = "Arial", ; + FontSize = 10, ; + ForeColor = 0,0,0, ; + Margin = 0, ; + Name = "Text1" + *< END OBJECT: BaseClass="textbox" /> + + ADD OBJECT 'Grid1.Column5.Header1' AS header WITH ; + Alignment = 2, ; + Caption = "Sold valuta", ; + FontName = "Arial", ; + FontSize = 10, ; + Name = "Header1" + *< END OBJECT: BaseClass="header" /> + + ADD OBJECT 'Grid1.Column5.Text1' AS textbox WITH ; + BackColor = 255,255,255, ; + BorderStyle = 0, ; + FontName = "Arial", ; + FontSize = 10, ; + ForeColor = 0,0,0, ; + Margin = 0, ; + Name = "Text1" + *< END OBJECT: BaseClass="textbox" /> + + ADD OBJECT 'Grid1.Column6.Header1' AS header WITH ; + Alignment = 2, ; + Caption = "Valoare lei", ; + FontName = "Arial", ; + FontSize = 10, ; + Name = "Header1" + *< END OBJECT: BaseClass="header" /> + + ADD OBJECT 'Grid1.Column6.Text1' AS textbox WITH ; + BackColor = 255,255,255, ; + BorderStyle = 0, ; + FontName = "Arial", ; + FontSize = 10, ; + ForeColor = 0,0,0, ; + Margin = 0, ; + Name = "Text1" + *< END OBJECT: BaseClass="textbox" /> + + ADD OBJECT 'Grid1.Column7.Header1' AS header WITH ; + Alignment = 2, ; + Caption = "Achitat lei", ; + FontName = "Arial", ; + FontSize = 10, ; + Name = "Header1" + *< END OBJECT: BaseClass="header" /> + + ADD OBJECT 'Grid1.Column7.Text1' AS textbox WITH ; + BackColor = 255,255,255, ; + BorderStyle = 0, ; + FontName = "Arial", ; + FontSize = 10, ; + ForeColor = 0,0,0, ; + Margin = 0, ; + Name = "Text1" + *< END OBJECT: BaseClass="textbox" /> + + ADD OBJECT 'Grid1.Column8.Header1' AS header WITH ; + Alignment = 2, ; + Caption = "Sold lei", ; + FontName = "Arial", ; + FontSize = 10, ; + Name = "Header1" + *< END OBJECT: BaseClass="header" /> + + ADD OBJECT 'Grid1.Column8.Text1' AS textbox WITH ; + BackColor = 255,255,255, ; + BorderStyle = 0, ; + FontName = "Arial", ; + FontSize = 10, ; + ForeColor = 0,0,0, ; + Margin = 0, ; + Name = "Text1" + *< END OBJECT: BaseClass="textbox" /> + + ADD OBJECT 'Grid1.Column9.Check1' AS checkbox WITH ; + Alignment = 2, ; + BackColor = 236,245,255, ; + Caption = "", ; + Centered = .T., ; + FontName = "Arial", ; + FontSize = 10, ; + Height = 17, ; + Left = 17, ; + Name = "Check1", ; + Top = 23, ; + Width = 60 + *< END OBJECT: BaseClass="checkbox" /> + + ADD OBJECT 'Grid1.Column9.Header1' AS header WITH ; + Caption = "Bifati", ; + FontName = "Arial", ; + FontSize = 10, ; + Name = "Header1" + *< END OBJECT: BaseClass="header" /> + + ADD OBJECT 'Grid1.Column9.Text1' AS textbox WITH ; + BackColor = 255,255,128, ; + BorderStyle = 0, ; + FontName = "Arial Narrow", ; + ForeColor = 0,0,0, ; + Margin = 0, ; + Name = "Text1" + *< END OBJECT: BaseClass="textbox" /> + + ADD OBJECT 'Label1' AS label WITH ; + Anchor = 4, ; + AutoSize = .T., ; + BackStyle = 0, ; + Caption = "Rest:", ; + FontSize = 10, ; + Height = 18, ; + Left = 347, ; + Name = "Label1", ; + TabIndex = 11, ; + Top = 447, ; + Width = 33 + *< END OBJECT: BaseClass="label" /> + + ADD OBJECT 'Label12' AS label WITH ; + Anchor = 4, ; + AutoSize = .T., ; + BackStyle = 0, ; + Caption = "Valoare document de plata:", ; + FontSize = 10, ; + Height = 18, ; + Left = 348, ; + Name = "Label12", ; + TabIndex = 9, ; + Top = 364, ; + Width = 161 + *< END OBJECT: BaseClass="label" /> + + ADD OBJECT 'Label13' AS label WITH ; + Anchor = 4, ; + AutoSize = .T., ; + BackStyle = 0, ; + Caption = "Suma partiala inscrisa:", ; + FontSize = 10, ; + Height = 18, ; + Left = 348, ; + Name = "Label13", ; + TabIndex = 10, ; + Top = 391, ; + Width = 135 + *< END OBJECT: BaseClass="label" /> + + ADD OBJECT 'Label14' AS label WITH ; + Anchor = 4, ; + AutoSize = .T., ; + BackStyle = 0, ; + Caption = "Diferenta:", ; + FontSize = 10, ; + Height = 18, ; + Left = 348, ; + Name = "Label14", ; + TabIndex = 11, ; + Top = 422, ; + Width = 57 + *< END OBJECT: BaseClass="label" /> + + ADD OBJECT 'Label15' AS label WITH ; + AutoSize = .T., ; + BackStyle = 0, ; + Caption = "Caut nr. doc.:", ; + FontSize = 10, ; + Height = 18, ; + Left = 566, ; + Name = "Label15", ; + TabIndex = 12, ; + Top = 43, ; + Visible = .T., ; + Width = 81 + *< END OBJECT: BaseClass="label" /> + + ADD OBJECT 'Line2' AS line WITH ; + Anchor = 4, ; + Height = 0, ; + Left = 341, ; + Name = "Line2", ; + Top = 414, ; + Width = 317 + *< END OBJECT: BaseClass="line" /> + + ADD OBJECT 'tachi' AS textbox WITH ; + Anchor = 4, ; + ControlSource = "thisform.sachi", ; + DisabledBackColor = 236,245,255, ; + FontSize = 10, ; + Format = "r", ; + Height = 23, ; + InputMask = (get_mask(12,gnPval)), ; + Left = 509, ; + Name = "tachi", ; + ReadOnly = .T., ; + SpecialEffect = 1, ; + TabIndex = 4, ; + TabStop = .F., ; + Top = 387, ; + Width = 142 + *< END OBJECT: BaseClass="textbox" /> + + ADD OBJECT 'tdif' AS textbox WITH ; + Anchor = 4, ; + ControlSource = "thisform.dif", ; + FontSize = 10, ; + Format = "r", ; + Height = 23, ; + InputMask = (get_mask(12,gnPval)), ; + Left = 509, ; + Name = "tdif", ; + ReadOnly = .T., ; + SpecialEffect = 1, ; + TabIndex = 5, ; + TabStop = .F., ; + Top = 418, ; + Width = 142 + *< END OBJECT: BaseClass="textbox" /> + + ADD OBJECT 'Text8' AS textbox WITH ; + Anchor = 4, ; + BackColor = 255,255,255, ; + ControlSource = "thisform.suma", ; + DisabledBackColor = 255,255,255, ; + FontSize = 10, ; + Format = "r", ; + Height = 23, ; + InputMask = (get_mask(12,gnPval)), ; + Left = 509, ; + Name = "Text8", ; + ReadOnly = .T., ; + SpecialEffect = 1, ; + TabIndex = 3, ; + Top = 363, ; + Width = 142 + *< END OBJECT: BaseClass="textbox" /> + + ADD OBJECT 'Text9' AS textbox WITH ; + Alignment = 3, ; + FontSize = 10, ; + Format = "RK", ; + Height = 23, ; + InputMask = "9999999999999999", ; + Left = 648, ; + Name = "Text9", ; + SpecialEffect = 1, ; + TabIndex = 1, ; + Top = 39, ; + Value = 0, ; + Visible = .T., ; + Width = 128 + *< END OBJECT: BaseClass="textbox" /> + + ADD OBJECT 'TITLUFRUMOS1' AS titlufrumos WITH ; + Anchor = 10, ; + AutoSize = .F., ; + Height = 20, ; + Left = 5, ; + Name = "TITLUFRUMOS1", ; + Top = 5, ; + Width = 703, ; + WordWrap = .F. + *< END OBJECT: ClassLib="baza.vcx" BaseClass="label" /> + + ADD OBJECT 'txtRest' AS textbox WITH ; + Anchor = 4, ; + ControlSource = "thisform.nRest", ; + FontSize = 10, ; + Format = "r", ; + Height = 23, ; + InputMask = (get_mask(12,gnPa)), ; + Left = 508, ; + Name = "txtRest", ; + ReadOnly = .T., ; + SpecialEffect = 1, ; + TabIndex = 5, ; + TabStop = .F., ; + Top = 443, ; + Width = 142 + *< END OBJECT: BaseClass="textbox" /> + + PROCEDURE actualizeaza_grid1 + Local r + Sele (thisform.pcfis) + If Eof() Or Bof() + r=0 + Else + r=Recno() + Endif + Sele (thisform.pcfis) + Sum sumaachi2, sumaval-achitatval-sumaachi2 To Thisform.sachi, Thisform.nRest For ales + If r<>0 + Goto r + Endif + + Thisform.Dif=thisform.suma-Thisform.sachi + + Thisform.grid1.Refresh + Thisform.tachi.Refresh + Thisform.tdif.Refresh + Thisform.txtRest.Refresh + ENDPROC + + PROCEDURE inainte_de_do_renunt + SELECT (thisform.pcfis) + REPLACE ALL ales WITH .f. + RETURN .t. + ENDPROC + + PROCEDURE inainte_de_do_termin + SELECT (thisform.pcfis) + SCAN FOR ales + REPLACE sumaachi WITH ROUND(sumaachi2*CURSSCHIMB,gnPc) + IF (sumaachi > totctva - achitat) OR (sumaval - achitatval - sumaachi2 = 0) + REPLACE sumaachi WITH totctva - achitat + ENDIF + ENDSCAN + + IF thisform.dif#0 + DO mesaj WITH 'Trebuie sa acoperiti valoarea ','documentului de plata!' + RETURN .f. + ENDIF + + SELECT (thisform.pcfis) + SCAN FOR ales + IF this.curs_val # 0 + diferenta = ROUND((CURSSCHIMB - this.curs_val) * sumaachi2, gnPc) + ELSE + diferenta=0 + ENDIF + + DO CASE + CASE diferenta>0 AND this.pnfelcont = 1 && pasiv + REPLACE difplus WITH diferenta + REPLACE achilei WITH sumaachi - difplus + REPLACE cursval WITH this.curs_val + REPLACE cursdif WITH CURSSCHIMB + CASE diferenta>0 AND this.pnfelcont = 0 && activ + REPLACE difminus WITH diferenta + REPLACE achilei WITH sumaachi - difminus + REPLACE cursval WITH this.curs_val + REPLACE cursdif WITH CURSSCHIMB + CASE diferenta<0 AND this.pnfelcont = 1 && pasiv + REPLACE difminus WITH ABS(diferenta) + REPLACE achilei WITH sumaachi + REPLACE cursval WITH CURSSCHIMB + REPLACE cursdif WITH this.curs_val + CASE diferenta<0 AND this.pnfelcont = 0 && activ + REPLACE difplus WITH ABS(diferenta) + REPLACE achilei WITH sumaachi + REPLACE cursval WITH CURSSCHIMB + REPLACE cursdif WITH this.curs_val + CASE diferenta=0 + REPLACE difplus WITH 0,difminus WITH 0 + REPLACE achilei WITH sumaachi + REPLACE cursval WITH CURSSCHIMB + REPLACE cursdif WITH this.curs_val + ENDCASE + ENDSCAN + + RETURN .t. + ENDPROC + + PROCEDURE Show + *!* 08.08.2014 + *!* marius.mutu + *!* salvare moneda nationala pentru verificarea soldului in valuta la selectare facturilor cu sold in moneda nationala + + Lparameters nStyle + + Thisform.Dif=Thisform.suma-Thisform.sachi + lcSel = Alltrim(Thisform.pcfis) + If Type(lcSel+'.dataact') = 'T' + This.grID1.column1.ControlSource = [TTOD(dataact)] + Endif + If Type(lcSel+'.datascad') = 'T' + This.grID1.column2.ControlSource = [TTOD(datascad)] + Endif + + this.oMonedaNationala = GetMonedaNationala() + + If This.ncu_tva = 1 + lnIndex = Thisform.grID1.ColumnCount + 1 + Thisform.grID1.AddColumn(lnIndex) && Insert column at right. + Thisform.grID1.Columns(Thisform.grID1.ColumnCount).Name = "Col_procTva" + Thisform.grID1.Col_procTva.FontName = [Arial] + Thisform.grID1.Col_procTva.FontSize = 10 + Thisform.grID1.Col_procTva.header1.Caption = 'Coef.TVA' + Thisform.grID1.Col_procTva.header1.FontName = [Arial] + Thisform.grID1.Col_procTva.ControlSource = "proc_tva" + Thisform.grID1.Col_procTva.InputMask = '9.99' + Thisform.grID1.Col_procTva.ReadOnly = .F. + Thisform.grID1.Col_procTva.Width = 43 + Thisform.grID1.Width = Thisform.grID1.Width + 45 + Thisform.Width = This.Width + 45 + Endif + + * Daca se achita partial, colorez toata linia cu factura, nu numai coloana Rest + Thisform.Grid1.SetAll("DynamicBackColor", [IIF(ales AND sumaval-achitatval-sumaachi2 # 0, RGB(200,200,200), RGB(255,255,255))], "Column") + Thisform.Grid1.Column9.DynamicBackColor = [IIF(ales AND totctva - achitat - sumaachi # 0, RGB(200,200,200), RGB(236,245,255))] && coloana ales blue + Thisform.Grid1.Column10.DynamicBackColor = [IIF(ales AND totctva - achitat - sumaachi # 0, RGB(200,200,200), RGB(236,245,255))] && coloana achitat blue + + Select (lcSel) + Go Top + Thisform.grID1.column9.SetFocus() + + This.Height = INT(_screen.Height * 0.7) && 70% screen height + This.Width = INT(_screen.Width * 0.7) && 70% screen width + This.AutoCenter = .T. + + ENDPROC + + PROCEDURE Grid1.Column10.Text1.InteractiveChange + If Inlist(Lastkey(),22) + Keyboard '{TAB}' + Endif + ENDPROC + + PROCEDURE Grid1.Column10.Text1.Valid + IF sumaachi2 > ROUND(sumaval - achitatval,gnPval) AND ales + DO mesaj WITH 'Suma depaseste valoarea soldului!','' + * REPL sumaachi2 WITH sumaval-achitatval + * RETURN 0 + ENDIF + thisform.actualizeaza_grid1 + ENDPROC + + PROCEDURE Grid1.Column9.Check1.Valid + *!* 21.10.2011 + *!* marius.mutu + *!* la bifarea unei facturi se completeaza cu minimul dintre diferenta ramasa de acoperit si soldul facturii + + *!* 08.08.2014 + *!* marius.mutu + *!* folosesc formularul si pentru plati facturi in moneda nationala cu valuta = nu trebuie sa se verifice soldul in valuta,nu exista + + if ales + repl sumaachi2 with MIN(thisform.dif, ROUND(sumaval-achitatval,gnPval)) + *!* repl sumaachi2 with ROUND(sumaval-achitatval,gnPval) + + IF sumaachi2 = 0 AND id_valuta <> thisform.oMonedaNationala.id_valuta && folosesc formularul si pentru plati facturi in lei cu valuta + DO mesaj WITH "Bifati doar inregistrarile","care au sold in valuta!" + REPLACE ales WITH .f. + ENDIF + else + repl sumaachi2 with 0 + ENDIF + + thisform.actualizeaza_grid1 + ENDPROC + + PROCEDURE Text8.Valid + thisform.actualizeaza_grid1 + ENDPROC + + PROCEDURE Text9.LostFocus + lcsel = thisform.grid1.RecordSource + SELECT (lcsel) + loca for nract=this.Value + thisform.grid1.SETFOCUS + ENDPROC + + PROCEDURE TITLUFRUMOS1.MouseDown + LPARAMETERS nButton, nShift, nXCoord, nYCoord + If nButton = 1 + thisform.MouseIcon='HMOVE.CUR' + thisform.MousePointer= 99 + ReleaseCapture() + SendMessage(Thisform.nHWND, 0x112, 0xF012, 0x0) + thisform.MousePointer= 0 + SendMessage(Thisform.nHWND, 0x202, 0x0, 0x0) + Endif + ENDPROC + +ENDDEFINE + +DEFINE CLASS ocompensari_val_2 AS _frmbase OF "_frm_base.vcx" + *< CLASSDATA: Baseclass="form" Timestamp="" Scale="Pixels" Uniqueid="" /> + + *-- OBJECTDATA items order determines ZOrder / El orden de los items OBJECTDATA determina el ZOrder + *< OBJECTDATA: ObjPath="Grid1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="Grid1.Column1.Header1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="Grid1.Column1.Text1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="Grid1.Column2.Header1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="Grid1.Column2.Text1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="Grid1.Column3.Header1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="Grid1.Column3.Text1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="Grid1.Column4.Header1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="Grid1.Column4.Text1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="Grid1.Column5.Header1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="Grid1.Column5.Text1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="Grid1.Column6.Header1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="Grid1.Column6.Text1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="Grid1.Column7.Header1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="Grid1.Column7.Text1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="Grid1.Column8.Header1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="Grid1.Column8.Text1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="Grid1.Column9.Header1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="Grid1.Column9.Text1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="Grid1.Column9.Check1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="Grid1.Column10.Header1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="Grid1.Column10.Text1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="Grid1.Column11.Header1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="Grid1.Column11.Text1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="Grid1.Column12.Header1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="Grid1.Column12.Text1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="Grid1.Column13.Header1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="Grid1.Column13.Text1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="Grid1.Column14.Header1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="Grid1.Column14.Text1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="Grid1.Column15.Header1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="Grid1.Column15.Text1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="Grid1.Column16.Header1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="Grid1.Column16.Text1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="Grid1.Column17.Header1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="Grid1.Column17.Text1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="Grid1.Column18.Header1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="Grid1.Column18.Text1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="Grid1.Column19.Header1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="Grid1.Column19.Text1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="tachi" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="Label12" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="Text8" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="Label13" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="tdif" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="Label14" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="Line2" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="Text9" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="Label15" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="But_renunt1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="TITLUFRUMOS1" UniqueID="" Timestamp="" /> + + * + *p: curs_val + *p: dif + *p: ncu_tva + *p: omonedanationala + *p: pcfis + *p: pnfelcont + *p: sachi + *p: sachi2 + *p: suma + *p: sumaval2conv && suma in valuta de incasare care se converteste in valuta facturii + *p: suma_2 + * + + * + BorderStyle = 3 + cgridsortlist = grid1 + curs_val = 0 + dif = 0 + DoCreate = .T. + Height = 449 + Name = "ocompensari_val_2" + ncu_tva = 0 + omonedanationala = .NULL. + pcfis = '' + pnfelcont = -1 + sachi = 0 + sachi2 = .F. + suma = 0 + sumaval2conv = 0 + suma_2 = .F. + Width = 784 + _memberdata = + + + + _shape1.Anchor = 10 + _shape1.Height = 29 + _shape1.Left = 0 + _shape1.Name = "_shape1" + _shape1.Top = 0 + _shape1.Width = 785 + _shape2.Height = 30 + _shape2.Left = 718 + _shape2.Name = "_shape2" + _shape2.Top = -1 + _shape2.Width = 67 + Lb_titlu_alb_b121.Left = 12 + Lb_titlu_alb_b121.Name = "Lb_titlu_alb_b121" + Lb_titlu_alb_b121.Top = 36 + Lb_titlu_alb_b121.Visible = .F. + BUT_TERMIN1.Alignment = 4 + BUT_TERMIN1.Anchor = 8 + BUT_TERMIN1.Left = 751 + BUT_TERMIN1.Name = "BUT_TERMIN1" + BUT_TERMIN1.Top = 1 + GRIDSORT1.Name = "GRIDSORT1" + * + + ADD OBJECT 'But_renunt1' AS but_renunt WITH ; + Alignment = 4, ; + Anchor = 8, ; + Left = 721, ; + Name = "But_renunt1", ; + Top = 1 + *< END OBJECT: ClassLib="cmd_butoane.vcx" BaseClass="commandbutton" /> + + ADD OBJECT 'Grid1' AS grid WITH ; + Anchor = 15, ; + BackColor = 255,255,255, ; + ColumnCount = 19, ; + DeleteMark = .F., ; + FontSize = 10, ; + Height = 289, ; + Left = 5, ; + Name = "Grid1", ; + Panel = 1, ; + RowHeight = 19, ; + TabIndex = 1, ; + Top = 67, ; + Width = 775, ; + ZOrderSet = 2, ; + Column1.BackColor = 255,255,255, ; + Column1.ColumnOrder = 3, ; + Column1.ControlSource = "dataact", ; + Column1.FontName = "Arial", ; + Column1.FontSize = 10, ; + Column1.Name = "Column1", ; + Column1.Width = 84, ; + Column2.BackColor = 255,255,255, ; + Column2.ColumnOrder = 4, ; + Column2.ControlSource = "datascad", ; + Column2.FontName = "Arial", ; + Column2.FontSize = 10, ; + Column2.Name = "Column2", ; + Column2.Width = 88, ; + Column3.BackColor = 255,255,255, ; + Column3.ColumnOrder = 5, ; + Column3.ControlSource = "sumaval", ; + Column3.FontName = "Arial", ; + Column3.FontSize = 10, ; + Column3.InputMask = (get_mask(12,gnPval)), ; + Column3.Name = "Column3", ; + Column3.Width = 78, ; + Column4.BackColor = 255,255,255, ; + Column4.ColumnOrder = 6, ; + Column4.ControlSource = "achitatval", ; + Column4.FontName = "Arial", ; + Column4.FontSize = 10, ; + Column4.InputMask = (get_mask(12,gnPval)), ; + Column4.Name = "Column4", ; + Column4.Width = 82, ; + Column5.BackColor = 255,255,255, ; + Column5.ColumnOrder = 7, ; + Column5.ControlSource = "sumaval-achitatval", ; + Column5.FontName = "Arial", ; + Column5.FontSize = 10, ; + Column5.InputMask = (get_mask(12,gnPval)), ; + Column5.Name = "Column5", ; + Column5.Width = 67, ; + Column6.BackColor = 255,255,255, ; + Column6.ColumnOrder = 10, ; + Column6.ControlSource = "totctva", ; + Column6.FontName = "Arial", ; + Column6.FontSize = 10, ; + Column6.InputMask = (get_mask(12,gnPa)), ; + Column6.Name = "Column6", ; + Column6.Width = 68, ; + Column7.BackColor = 255,255,255, ; + Column7.ColumnOrder = 11, ; + Column7.ControlSource = "achitat", ; + Column7.FontName = "Arial", ; + Column7.FontSize = 10, ; + Column7.InputMask = (get_mask(12,gnPa)), ; + Column7.Name = "Column7", ; + Column7.Width = 70, ; + Column8.BackColor = 255,255,255, ; + Column8.ColumnOrder = 12, ; + Column8.ControlSource = "totctva-achitat", ; + Column8.FontName = "Arial", ; + Column8.FontSize = 10, ; + Column8.InputMask = (get_mask(12,gnPa)), ; + Column8.Name = "Column8", ; + Column8.Width = 69, ; + Column9.BackColor = 236,245,255, ; + Column9.ColumnOrder = 13, ; + Column9.ControlSource = "ales", ; + Column9.CurrentControl = "Check1", ; + Column9.FontName = "Arial", ; + Column9.FontSize = 10, ; + Column9.Name = "Column9", ; + Column9.Sparse = .F., ; + Column9.Width = 30, ; + Column10.BackColor = 236,245,255, ; + Column10.ColumnOrder = 14, ; + Column10.ControlSource = "sumaachi22", ; + Column10.FontName = "Arial", ; + Column10.FontSize = 10, ; + Column10.InputMask = (get_mask(12,gnPval)), ; + Column10.Name = "Column10", ; + Column10.Width = 95, ; + Column11.BackColor = 255,255,255, ; + Column11.ColumnOrder = 8, ; + Column11.ControlSource = "numeval", ; + Column11.FontName = "Arial", ; + Column11.FontSize = 10, ; + Column11.Name = "Column11", ; + Column11.ReadOnly = .T., ; + Column11.Width = 41, ; + Column12.BackColor = 255,255,255, ; + Column12.ColumnOrder = 9, ; + Column12.ControlSource = "cursschimb", ; + Column12.FontName = "Arial", ; + Column12.FontSize = 10, ; + Column12.Name = "Column12", ; + Column12.ReadOnly = .T., ; + Column12.Width = 72, ; + Column13.BackColor = 255,255,255, ; + Column13.ColumnOrder = 2, ; + Column13.ControlSource = "nract", ; + Column13.FontName = "Arial", ; + Column13.FontSize = 10, ; + Column13.Name = "Column13", ; + Column13.Width = 82, ; + Column14.BackColor = 255,255,255, ; + Column14.ColumnOrder = 16, ; + Column14.ControlSource = "acont", ; + Column14.FontName = "Arial", ; + Column14.FontSize = 10, ; + Column14.Name = "Column14", ; + Column14.ReadOnly = .T., ; + Column14.Width = 47, ; + Column15.BackColor = 255,255,255, ; + Column15.ColumnOrder = 17, ; + Column15.ControlSource = "explicatia", ; + Column15.FontName = "Arial", ; + Column15.FontSize = 10, ; + Column15.Name = "Column15", ; + Column15.Width = 117, ; + Column16.BackColor = 255,255,255, ; + Column16.ColumnOrder = 18, ; + Column16.ControlSource = "explicatia4", ; + Column16.FontName = "Arial", ; + Column16.FontSize = 10, ; + Column16.Name = "Column16", ; + Column16.Width = 104, ; + Column17.BackColor = 255,255,255, ; + Column17.ColumnOrder = 19, ; + Column17.ControlSource = "explicatia5", ; + Column17.FontName = "Arial", ; + Column17.FontSize = 10, ; + Column17.Name = "Column17", ; + Column17.Width = 108, ; + Column18.BackColor = 255,255,255, ; + Column18.ColumnOrder = 1, ; + Column18.ControlSource = "serie_act", ; + Column18.FontName = "Arial", ; + Column18.FontSize = 10, ; + Column18.Name = "Column18", ; + Column18.Width = 59, ; + Column19.BackColor = 255,255,255, ; + Column19.ColumnOrder = 15, ; + Column19.ControlSource = "nume_val2", ; + Column19.FontName = "Arial", ; + Column19.FontSize = 10, ; + Column19.Name = "Column19", ; + Column19.Width = 94 + *< END OBJECT: BaseClass="grid" /> + + ADD OBJECT 'Grid1.Column1.Header1' AS header WITH ; + Alignment = 2, ; + Caption = "Data doc.", ; + FontName = "Arial", ; + FontSize = 10, ; + Name = "Header1" + *< END OBJECT: BaseClass="header" /> + + ADD OBJECT 'Grid1.Column1.Text1' AS textbox WITH ; + BackColor = 255,255,255, ; + BorderStyle = 0, ; + FontName = "Arial", ; + FontSize = 10, ; + ForeColor = 0,0,0, ; + Margin = 0, ; + Name = "Text1" + *< END OBJECT: BaseClass="textbox" /> + + ADD OBJECT 'Grid1.Column10.Header1' AS header WITH ; + Alignment = 2, ; + Caption = "Se achita suma", ; + FontName = "Arial", ; + FontSize = 10, ; + Name = "Header1" + *< END OBJECT: BaseClass="header" /> + + ADD OBJECT 'Grid1.Column10.Text1' AS textbox WITH ; + BackColor = 236,245,255, ; + BorderStyle = 0, ; + ControlSource = "sumaachi2", ; + FontName = "Arial", ; + FontSize = 10, ; + ForeColor = 0,0,0, ; + Margin = 0, ; + Name = "Text1" + *< END OBJECT: BaseClass="textbox" /> + + ADD OBJECT 'Grid1.Column11.Header1' AS header WITH ; + Alignment = 2, ; + Caption = "Valuta", ; + FontName = "Arial", ; + FontSize = 10, ; + Name = "Header1" + *< END OBJECT: BaseClass="header" /> + + ADD OBJECT 'Grid1.Column11.Text1' AS textbox WITH ; + BackColor = 255,255,255, ; + BorderStyle = 0, ; + FontName = "Arial", ; + FontSize = 10, ; + ForeColor = 0,0,0, ; + Margin = 0, ; + Name = "Text1", ; + ReadOnly = .T. + *< END OBJECT: BaseClass="textbox" /> + + ADD OBJECT 'Grid1.Column12.Header1' AS header WITH ; + Alignment = 2, ; + Caption = "Curs Valuta", ; + FontName = "Arial", ; + FontSize = 10, ; + Name = "Header1" + *< END OBJECT: BaseClass="header" /> + + ADD OBJECT 'Grid1.Column12.Text1' AS textbox WITH ; + BackColor = 255,255,255, ; + BorderStyle = 0, ; + FontName = "Arial", ; + FontSize = 10, ; + ForeColor = 0,0,0, ; + Margin = 0, ; + Name = "Text1", ; + ReadOnly = .T. + *< END OBJECT: BaseClass="textbox" /> + + ADD OBJECT 'Grid1.Column13.Header1' AS header WITH ; + Alignment = 2, ; + Caption = "Nr. doc.", ; + FontName = "Arial", ; + FontSize = 10, ; + Name = "Header1" + *< END OBJECT: BaseClass="header" /> + + ADD OBJECT 'Grid1.Column13.Text1' AS textbox WITH ; + BackColor = 255,255,255, ; + BorderStyle = 0, ; + FontName = "Arial", ; + FontSize = 10, ; + ForeColor = 0,0,0, ; + Margin = 0, ; + Name = "Text1" + *< END OBJECT: BaseClass="textbox" /> + + ADD OBJECT 'Grid1.Column14.Header1' AS header WITH ; + Alignment = 2, ; + Caption = "Analitic", ; + FontName = "Arial", ; + FontSize = 10, ; + Name = "Header1" + *< END OBJECT: BaseClass="header" /> + + ADD OBJECT 'Grid1.Column14.Text1' AS textbox WITH ; + BackColor = 255,255,255, ; + BorderStyle = 0, ; + FontName = "Arial", ; + FontSize = 10, ; + ForeColor = 0,0,0, ; + Margin = 0, ; + Name = "Text1", ; + ReadOnly = .T. + *< END OBJECT: BaseClass="textbox" /> + + ADD OBJECT 'Grid1.Column15.Header1' AS header WITH ; + Alignment = 2, ; + Caption = "Explicatia", ; + FontName = "Arial", ; + FontSize = 10, ; + Name = "Header1" + *< END OBJECT: BaseClass="header" /> + + ADD OBJECT 'Grid1.Column15.Text1' AS textbox WITH ; + BackColor = 255,255,255, ; + BorderStyle = 0, ; + FontName = "Arial", ; + FontSize = 10, ; + ForeColor = 0,0,0, ; + Margin = 0, ; + Name = "Text1" + *< END OBJECT: BaseClass="textbox" /> + + ADD OBJECT 'Grid1.Column16.Header1' AS header WITH ; + Alignment = 2, ; + Caption = "Explicatia 4", ; + FontName = "Arial", ; + FontSize = 10, ; + Name = "Header1" + *< END OBJECT: BaseClass="header" /> + + ADD OBJECT 'Grid1.Column16.Text1' AS textbox WITH ; + BackColor = 255,255,255, ; + BorderStyle = 0, ; + FontName = "Arial", ; + FontSize = 10, ; + ForeColor = 0,0,0, ; + Margin = 0, ; + Name = "Text1" + *< END OBJECT: BaseClass="textbox" /> + + ADD OBJECT 'Grid1.Column17.Header1' AS header WITH ; + Alignment = 2, ; + Caption = "Explicatia 5", ; + FontName = "Arial", ; + FontSize = 10, ; + Name = "Header1" + *< END OBJECT: BaseClass="header" /> + + ADD OBJECT 'Grid1.Column17.Text1' AS textbox WITH ; + BackColor = 255,255,255, ; + BorderStyle = 0, ; + FontName = "Arial", ; + FontSize = 10, ; + ForeColor = 0,0,0, ; + Margin = 0, ; + Name = "Text1" + *< END OBJECT: BaseClass="textbox" /> + + ADD OBJECT 'Grid1.Column18.Header1' AS header WITH ; + Alignment = 2, ; + Caption = "Serie doc.", ; + FontName = "Arial", ; + FontSize = 10, ; + Name = "Header1" + *< END OBJECT: BaseClass="header" /> + + ADD OBJECT 'Grid1.Column18.Text1' AS textbox WITH ; + BackColor = 255,255,255, ; + BorderStyle = 0, ; + FontName = "Arial", ; + FontSize = 10, ; + ForeColor = 0,0,0, ; + Margin = 0, ; + Name = "Text1" + *< END OBJECT: BaseClass="textbox" /> + + ADD OBJECT 'Grid1.Column19.Header1' AS header WITH ; + Caption = "Valuta incasare", ; + FontName = "Arial", ; + FontSize = 10, ; + Name = "Header1" + *< END OBJECT: BaseClass="header" /> + + ADD OBJECT 'Grid1.Column19.Text1' AS textbox WITH ; + BackColor = 255,255,255, ; + BorderStyle = 0, ; + FontName = "Arial", ; + FontSize = 10, ; + ForeColor = 0,0,0, ; + Margin = 0, ; + Name = "Text1" + *< END OBJECT: BaseClass="textbox" /> + + ADD OBJECT 'Grid1.Column2.Header1' AS header WITH ; + Alignment = 2, ; + Caption = "Data scadenta", ; + FontName = "Arial", ; + FontSize = 10, ; + Name = "Header1" + *< END OBJECT: BaseClass="header" /> + + ADD OBJECT 'Grid1.Column2.Text1' AS textbox WITH ; + BackColor = 255,255,255, ; + BorderStyle = 0, ; + FontName = "Arial", ; + FontSize = 10, ; + ForeColor = 0,0,0, ; + Margin = 0, ; + Name = "Text1" + *< END OBJECT: BaseClass="textbox" /> + + ADD OBJECT 'Grid1.Column3.Header1' AS header WITH ; + Alignment = 2, ; + Caption = "Val. in valuta", ; + FontName = "Arial", ; + FontSize = 10, ; + Name = "Header1" + *< END OBJECT: BaseClass="header" /> + + ADD OBJECT 'Grid1.Column3.Text1' AS textbox WITH ; + BackColor = 255,255,255, ; + BorderStyle = 0, ; + FontName = "Arial", ; + FontSize = 10, ; + ForeColor = 0,0,0, ; + Margin = 0, ; + Name = "Text1" + *< END OBJECT: BaseClass="textbox" /> + + ADD OBJECT 'Grid1.Column4.Header1' AS header WITH ; + Alignment = 2, ; + Caption = "Achitat valuta", ; + FontName = "Arial", ; + FontSize = 10, ; + Name = "Header1" + *< END OBJECT: BaseClass="header" /> + + ADD OBJECT 'Grid1.Column4.Text1' AS textbox WITH ; + BackColor = 255,255,255, ; + BorderStyle = 0, ; + FontName = "Arial", ; + FontSize = 10, ; + ForeColor = 0,0,0, ; + Margin = 0, ; + Name = "Text1" + *< END OBJECT: BaseClass="textbox" /> + + ADD OBJECT 'Grid1.Column5.Header1' AS header WITH ; + Alignment = 2, ; + Caption = "Sold valuta", ; + FontName = "Arial", ; + FontSize = 10, ; + Name = "Header1" + *< END OBJECT: BaseClass="header" /> + + ADD OBJECT 'Grid1.Column5.Text1' AS textbox WITH ; + BackColor = 255,255,255, ; + BorderStyle = 0, ; + FontName = "Arial", ; + FontSize = 10, ; + ForeColor = 0,0,0, ; + Margin = 0, ; + Name = "Text1" + *< END OBJECT: BaseClass="textbox" /> + + ADD OBJECT 'Grid1.Column6.Header1' AS header WITH ; + Alignment = 2, ; + Caption = "Valoare lei", ; + FontName = "Arial", ; + FontSize = 10, ; + Name = "Header1" + *< END OBJECT: BaseClass="header" /> + + ADD OBJECT 'Grid1.Column6.Text1' AS textbox WITH ; + BackColor = 255,255,255, ; + BorderStyle = 0, ; + FontName = "Arial", ; + FontSize = 10, ; + ForeColor = 0,0,0, ; + Margin = 0, ; + Name = "Text1" + *< END OBJECT: BaseClass="textbox" /> + + ADD OBJECT 'Grid1.Column7.Header1' AS header WITH ; + Alignment = 2, ; + Caption = "Achitat lei", ; + FontName = "Arial", ; + FontSize = 10, ; + Name = "Header1" + *< END OBJECT: BaseClass="header" /> + + ADD OBJECT 'Grid1.Column7.Text1' AS textbox WITH ; + BackColor = 255,255,255, ; + BorderStyle = 0, ; + FontName = "Arial", ; + FontSize = 10, ; + ForeColor = 0,0,0, ; + Margin = 0, ; + Name = "Text1" + *< END OBJECT: BaseClass="textbox" /> + + ADD OBJECT 'Grid1.Column8.Header1' AS header WITH ; + Alignment = 2, ; + Caption = "Sold lei", ; + FontName = "Arial", ; + FontSize = 10, ; + Name = "Header1" + *< END OBJECT: BaseClass="header" /> + + ADD OBJECT 'Grid1.Column8.Text1' AS textbox WITH ; + BackColor = 255,255,255, ; + BorderStyle = 0, ; + FontName = "Arial", ; + FontSize = 10, ; + ForeColor = 0,0,0, ; + Margin = 0, ; + Name = "Text1" + *< END OBJECT: BaseClass="textbox" /> + + ADD OBJECT 'Grid1.Column9.Check1' AS checkbox WITH ; + Alignment = 2, ; + BackColor = 236,245,255, ; + Caption = "", ; + Centered = .T., ; + FontName = "Arial", ; + FontSize = 10, ; + Height = 17, ; + Left = 17, ; + Name = "Check1", ; + Top = 23, ; + Width = 60 + *< END OBJECT: BaseClass="checkbox" /> + + ADD OBJECT 'Grid1.Column9.Header1' AS header WITH ; + Caption = "Bifati", ; + FontName = "Arial", ; + FontSize = 10, ; + Name = "Header1" + *< END OBJECT: BaseClass="header" /> + + ADD OBJECT 'Grid1.Column9.Text1' AS textbox WITH ; + BackColor = 255,255,128, ; + BorderStyle = 0, ; + FontName = "Arial Narrow", ; + ForeColor = 0,0,0, ; + Margin = 0, ; + Name = "Text1" + *< END OBJECT: BaseClass="textbox" /> + + ADD OBJECT 'Label12' AS label WITH ; + Anchor = 12, ; + AutoSize = .T., ; + BackStyle = 0, ; + Caption = "Valoare document de plata:", ; + FontSize = 10, ; + Height = 18, ; + Left = 475, ; + Name = "Label12", ; + TabIndex = 9, ; + Top = 364, ; + Width = 161 + *< END OBJECT: BaseClass="label" /> + + ADD OBJECT 'Label13' AS label WITH ; + Anchor = 12, ; + AutoSize = .T., ; + BackStyle = 0, ; + Caption = "Suma partiala inscrisa:", ; + FontSize = 10, ; + Height = 18, ; + Left = 475, ; + Name = "Label13", ; + TabIndex = 10, ; + Top = 391, ; + Width = 135 + *< END OBJECT: BaseClass="label" /> + + ADD OBJECT 'Label14' AS label WITH ; + Anchor = 12, ; + AutoSize = .T., ; + BackStyle = 0, ; + Caption = "Diferenta:", ; + FontSize = 10, ; + Height = 18, ; + Left = 475, ; + Name = "Label14", ; + TabIndex = 11, ; + Top = 422, ; + Width = 57 + *< END OBJECT: BaseClass="label" /> + + ADD OBJECT 'Label15' AS label WITH ; + Anchor = 8, ; + AutoSize = .T., ; + BackStyle = 0, ; + Caption = "Caut nr. doc.:", ; + FontSize = 10, ; + Height = 18, ; + Left = 558, ; + Name = "Label15", ; + TabIndex = 12, ; + Top = 43, ; + Visible = .T., ; + Width = 81 + *< END OBJECT: BaseClass="label" /> + + ADD OBJECT 'Line2' AS line WITH ; + Anchor = 12, ; + Height = 0, ; + Left = 468, ; + Name = "Line2", ; + Top = 414, ; + Width = 317 + *< END OBJECT: BaseClass="line" /> + + ADD OBJECT 'tachi' AS textbox WITH ; + Anchor = 12, ; + ControlSource = "thisform.sachi2", ; + DisabledBackColor = 236,245,255, ; + FontSize = 10, ; + Format = "r", ; + Height = 23, ; + InputMask = (get_mask(12,gnPval)), ; + Left = 636, ; + Name = "tachi", ; + ReadOnly = .T., ; + SpecialEffect = 1, ; + TabIndex = 4, ; + TabStop = .F., ; + Top = 387, ; + Width = 142 + *< END OBJECT: BaseClass="textbox" /> + + ADD OBJECT 'tdif' AS textbox WITH ; + Anchor = 12, ; + ControlSource = "thisform.dif", ; + FontSize = 10, ; + Format = "r", ; + Height = 23, ; + InputMask = (get_mask(12,gnPval)), ; + Left = 636, ; + Name = "tdif", ; + ReadOnly = .T., ; + SpecialEffect = 1, ; + TabIndex = 5, ; + TabStop = .F., ; + Top = 418, ; + Width = 142 + *< END OBJECT: BaseClass="textbox" /> + + ADD OBJECT 'Text8' AS textbox WITH ; + Anchor = 12, ; + BackColor = 255,255,255, ; + ControlSource = "thisform.suma_2", ; + DisabledBackColor = 255,255,255, ; + FontSize = 10, ; + Format = "r", ; + Height = 23, ; + InputMask = (get_mask(12,gnPval)), ; + Left = 636, ; + Name = "Text8", ; + ReadOnly = .T., ; + SpecialEffect = 1, ; + TabIndex = 3, ; + Top = 363, ; + Width = 142 + *< END OBJECT: BaseClass="textbox" /> + + ADD OBJECT 'Text9' AS textbox WITH ; + Alignment = 3, ; + Anchor = 8, ; + FontSize = 10, ; + Format = "RK", ; + Height = 23, ; + InputMask = "9999999999999999", ; + Left = 636, ; + Name = "Text9", ; + SpecialEffect = 1, ; + TabIndex = 1, ; + Top = 39, ; + Value = 0, ; + Visible = .T., ; + Width = 140 + *< END OBJECT: BaseClass="textbox" /> + + ADD OBJECT 'TITLUFRUMOS1' AS titlufrumos WITH ; + AutoSize = .F., ; + Height = 20, ; + Left = 5, ; + Name = "TITLUFRUMOS1", ; + Top = 5, ; + Width = 679, ; + WordWrap = .F. + *< END OBJECT: ClassLib="baza.vcx" BaseClass="label" /> + + PROCEDURE actualizeaza_grid1 + + Local r + Sele (thisform.pcfis) + If Eof() Or Bof() + r = 0 + Else + r = Recno() + Endif + Sele (thisform.pcfis) + *Sum sumaachi2 To Thisform.sachi For ales + + *!* suma in valuta facturii/ in valuta de incasare care se converteste (ex: platesc 14 USD pentru o factura de 10 EURO) + Sum sumaachi2, sumaachi22 To Thisform.sachi, thisform.SumaVal2Conv For ales AND id_valuta <> id_valuta2 + SUM sumaachi22 TO thisform.sachi2 FOR ales + If r<>0 + Goto r + Endif + + *Thisform.Dif = thisform.suma - Thisform.sachi + Thisform.Dif = thisform.suma_2 - Thisform.sachi2 + + Thisform.grid1.Refresh + Thisform.tachi.Refresh + Thisform.tdif.Refresh + ENDPROC + + PROCEDURE inainte_de_do_renunt + Select (Thisform.pcfis) + Replace All ales With .F. + Return .T. + + ENDPROC + + PROCEDURE inainte_de_do_termin + *!* 19.05.2009 + *!* alex.lepadatu + && sumaachi2 = valoarea in valuta facturii (euro) + && sumaachi22 = valoarea in valuta de incasare(usd) + && m.suma_32 = cursul usd + && m.suma_3 = cursul euro + *!* diferenta = valoarea in valuta facturii la cursul facturii - ; + *!* valoarea in valuta de incasare la cursul valutei de incasare ; + *!* in loc de diferenta de curs * suma incasata + *!* suma care se converteste din valuta de incasare in valuta facturii (poAct.totftva = suma in lei, poAct.suma_22a = suma in valuta de incasare) + + LOCAL lnCurs,lnValoareFacturi, lnDiferentaCurs, lnDiferentaZecimale + SET STEP ON + SELECT (THISFORM.pcfis) + SCAN FOR ales + * lnCurs = Iif(Alltrim(numeval) = Alltrim(nume_42),poact.suma_32,poact.suma_3) + lnCurs = IIF(id_valuta = id_valuta2, poact.suma_32, poact.suma_3) + REPLACE sumaachi WITH ROUND(sumaachi2 * CURSSCHIMB,gnPc) + IF (sumaachi > totctva - achitat) OR (sumaval - achitatval - sumaachi2 = 0) + REPLACE sumaachi WITH totctva - achitat + ENDIF + ENDSCAN + + IF THISFORM.DIF # 0 + DO mesaj WITH 'Trebuie sa acoperiti valoarea ','documentului de plata!' + RETURN .F. + ENDIF + + SELECT (THISFORM.pcfis) + SCAN FOR ales + lnCurs = IIF(id_valuta = id_valuta2, poact.suma_32, poact.suma_3) + IF lnCurs # 0 + * diferenta = Round((CURSSCHIMB - This.curs_val) * sumaachi2, gnPc) + *!* diferenta=Round(CURSSCHIMB * sumaachi2, gnPc) -Round(poact.suma_32 * sumaachi22, gnPc) + diferenta = ROUND((CURSSCHIMB - lnCurs) * sumaachi2, gnPc) + + ELSE + diferenta=0 + ENDIF + + + DO CASE + CASE diferenta>0 AND THIS.pnfelcont = 1 && pasiv + REPLACE difplus WITH diferenta + REPLACE achilei WITH sumaachi - difplus + REPLACE cursval WITH lnCurs + REPLACE cursdif WITH CURSSCHIMB + CASE diferenta>0 AND THIS.pnfelcont = 0 && activ + REPLACE difminus WITH diferenta + REPLACE achilei WITH sumaachi - difminus + REPLACE cursval WITH lnCurs + REPLACE cursdif WITH CURSSCHIMB + CASE diferenta<0 AND THIS.pnfelcont = 1 && pasiv + REPLACE difminus WITH ABS(diferenta) + REPLACE achilei WITH sumaachi + REPLACE cursval WITH CURSSCHIMB + REPLACE cursdif WITH lnCurs + CASE diferenta<0 AND THIS.pnfelcont = 0 && activ + REPLACE difplus WITH ABS(diferenta) + REPLACE achilei WITH sumaachi + REPLACE cursval WITH CURSSCHIMB + REPLACE cursdif WITH lnCurs + CASE diferenta=0 + REPLACE difplus WITH 0,difminus WITH 0 + REPLACE achilei WITH sumaachi + REPLACE cursval WITH CURSSCHIMB + REPLACE cursdif WITH lnCurs + ENDCASE + ENDSCAN + poact.suma_2 = THISFORM.sachi + poact.suma_22 = THISFORM.sachi2 + + *!* suma care se converteste din valuta de incasare in valuta facturii (.totftva = suma in lei, suma_22a = suma in valuta de incasare) + SUM ROUND(sumaachi22*poAct.suma_32, gnPC), sumaachi22 TO poact.totftva, poact.suma_22a FOR ales AND id_valuta <> id_valuta2 + + CALCULATE SUM(ROUND(CURSSCHIMB * sumaachi2, gnPc)), SUM(IIF(THIS.pnfelcont = 1, difminus-difplus, difplus-difminus)) TO lnValoareFacturi, lnDiferentaCurs + lnDiferentaZecimale = ROUND(poact.suma_22 * poact.suma_32,gnPc) - (lnValoareFacturi + lnDiferentaCurs) + LOCATE FOR ales AND (difplus # 0 OR difminus # 0) + IF FOUND() + REPLACE difplus WITH IIF(difplus # 0, difplus + lnDiferentaZecimale,0), ; + difminus WITH IIF(difminus # 0, difminus + lnDiferentaZecimale,0) + ENDIF + RETURN .T. + + + ENDPROC + + PROCEDURE Show + Lparameters nStyle + + this.oMonedaNationala = GetMonedaNationala() + + Thisform.Dif = Thisform.suma - Thisform.sachi + lcSel = Alltrim(Thisform.pcfis) + If Type(lcSel + '.dataact') = 'T' + This.grID1.column1.ControlSource = [TTOD(dataact)] + Endif + If Type(lcSel + '.datascad') = 'T' + This.grID1.column2.ControlSource = [TTOD(datascad)] + Endif + + If This.ncu_tva = 1 + lnIndex = Thisform.grID1.ColumnCount + 1 + Thisform.grID1.AddColumn(lnIndex) && Insert column at right. + Thisform.grID1.Columns(Thisform.grID1.ColumnCount).Name = "Col_procTva" + Thisform.grID1.Col_procTva.FontName = [Arial Narrow] + Thisform.grID1.Col_procTva.FontSize = 9 + Thisform.grID1.Col_procTva.header1.Caption = 'Coef.TVA' + Thisform.grID1.Col_procTva.header1.FontName = [Arial Narrow] + Thisform.grID1.Col_procTva.ControlSource = "proc_tva" + Thisform.grID1.Col_procTva.InputMask = '9.99' + Thisform.grID1.Col_procTva.ReadOnly = .F. + Thisform.grID1.Col_procTva.Width = 43 + Thisform.grID1.Width = Thisform.grID1.Width + 45 + Thisform.Width = This.Width + 45 + Endif + + Select (lcSel) + Go Top + Thisform.grID1.column9.SetFocus() + + + *!* 26.05.2009 + *!* daca cursul pt valuta de incasare = 0 (lei) il initializez cu 1 + If poact.suma_32 = 0 + poact.suma_32 = 1 + Endif + Thisform.suma_2 = poact.suma_22 + Thisform.sachi2 = 0 + Thisform.suma_2 = 0 + Thisform.Dif = Thisform.suma_2 - Thisform.sachi2 + + thisform.text8.Value = poact.suma_22 + Select (Thisform.grID1.RecordSource) + + IF !EMPTY(NVL(poAct.id_valuta2,0)) + replace ALL nume_val2 WITH poact.nume_val2, id_valuta2 WITH poAct.id_valuta2 + ENDIF + thisform.grid1.Refresh() + + Go Top + + This.Height = INT(_screen.Height * 0.7) && 70% screen height + This.Width = INT(_screen.Width * 0.7) && 70% screen width + This.AutoCenter = .T. + + ENDPROC + + PROCEDURE Grid1.Column10.Text1.InteractiveChange + If Inlist(Lastkey(),22) + Keyboard '{TAB}' + Endif + ENDPROC + + PROCEDURE Grid1.Column10.Text1.Valid + && sumaachi2 = valoarea in valuta facturii (euro) + && sumaachi22 = valoarea in valuta de incasare(usd) + && m.suma_32 = cursul usd + && m.suma_3 = cursul euro + + + *!* 08.08.2014 + *!* marius.mutu + *!* tratez cazul platii facturilor in moneda nationala cu valuta, unde nu exista sold in valuta pe facturi + + Local lnCurs + Sele (Thisform.pcfis) + + *lncurs = IIF(ALLTRIM(numeval) = ALLTRIM(nume_val2),poact.suma_32,poact.suma_3) + lnCurs = Iif(id_valuta = id_valuta2, poact.suma_32, poact.suma_3) + If lnCurs <> 0 + Replace sumaachi2 With Round(sumaachi22 * poact.suma_32 / m.lnCurs, 2) + Endif + + If id_valuta = Thisform.oMonedaNationala.id_valuta + If sumaachi2 > Round(totctva - achitat, gnPval) And ales + Do mesaj With 'Suma depaseste valoarea soldului!','' + Repl sumaachi2 With totctva - achitat + Return 0 + Endif + Else + If sumaachi2 > Round(sumaval - achitatval,gnPval) And ales + Do mesaj With 'Suma depaseste valoarea soldului!','' + Repl sumaachi2 With sumaval - achitatval + Return 0 + Endif + Endif + Thisform.actualizeaza_grid1 + + ENDPROC + + PROCEDURE Grid1.Column9.Check1.Valid + && sumaachi2 = valoarea in valuta facturii (euro) + && sumaachi22 = valoarea in valuta de incasare(usd) + && m.suma_32 = cursul usd + && m.suma_3 = cursul euro + + *!* 08.08.2014 + *!* marius.mutu + *!* folosesc formularul si pentru plati facturi in moneda nationala cu valuta = nu trebuie sa se verifice soldul in valuta,nu exista + + + Local lncurs + Sele (Thisform.pcfis) + + If ales + lncurs = Iif(id_valuta = id_valuta2, poact.suma_32, poact.suma_3) + * lncurs = Iif(id_valuta = poact.id_valuta2, poact.suma_32, poact.suma_3) + Repl sumaachi2 With Round(sumaval - achitatval,gnPval) + If poact.suma_32 > 0 + Replace sumaachi22 With Round(sumaachi2 * m.lncurs / poact.suma_32,2) + Endif + If sumaachi2= 0 And id_valuta <> Thisform.oMonedaNationala.id_valuta && folosesc formularul si pentru plati facturi in lei cu valuta + Do mesaj With "Bifati doar inregistrarile","care au sold in valuta!" + Replace ales With .F. + Endif + Else + Repl sumaachi2 With 0, sumaachi22 With 0 + Endif + Thisform.actualizeaza_grid1 + + ENDPROC + + PROCEDURE Text8.Valid + thisform.actualizeaza_grid1 + ENDPROC + + PROCEDURE Text9.LostFocus + lcsel = thisform.grid1.RecordSource + SELECT (lcsel) + loca for nract=this.Value + thisform.grid1.SETFOCUS + ENDPROC + + PROCEDURE TITLUFRUMOS1.MouseDown + LPARAMETERS nButton, nShift, nXCoord, nYCoord + If nButton = 1 + thisform.MouseIcon='HMOVE.CUR' + thisform.MousePointer= 99 + ReleaseCapture() + SendMessage(Thisform.nHWND, 0x112, 0xF012, 0x0) + thisform.MousePointer= 0 + SendMessage(Thisform.nHWND, 0x202, 0x0, 0x0) + Endif + ENDPROC + +ENDDEFINE diff --git a/clase/ocriterii.vc2 b/clase/ocriterii.vc2 new file mode 100644 index 0000000..36dd4d5 --- /dev/null +++ b/clase/ocriterii.vc2 @@ -0,0 +1,3520 @@ +*-------------------------------------------------------------------------------------------------------------------------------------------------------- +* (EN) AUTOGENERATED - ATTENTION!! - NOT INTENDED FOR EXECUTION!! USE ONLY FOR MERGING CHANGES AND STORING WITH SCM TOOLS!! +*-------------------------------------------------------------------------------------------------------------------------------------------------------- +*< FOXBIN2PRG: Version="1.21" SourceFile="ocriterii.vcx" CPID="1252" /> (Solo para binarios VFP 9 / Only for VFP 9 binaries) +* +* +DEFINE CLASS _ccriteriu AS container + *< CLASSDATA: Baseclass="container" Timestamp="" Scale="Pixels" Uniqueid="" /> + + *-- OBJECTDATA items order determines ZOrder / El orden de los items OBJECTDATA determina el ZOrder + *< OBJECTDATA: ObjPath="Combo1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="Text1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="lbl_Criteriu" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="lbl_logic" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="cmd_del" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="Command1" UniqueID="" Timestamp="" /> + + * + *m: deleteobj + *p: classid + *p: codcriteriu + *p: criteriu_nr + *p: idcamp + *p: idvalue + *p: keynomenclator + *p: logic + *p: negat + *p: numecriteriu + *p: tip + *p: _memberdata && XML Metadata for customizable properties + * + + * + BackStyle = 0 + BorderWidth = 0 + classid = + codcriteriu = none + criteriu_nr = 0 + Height = 20 + idcamp = + idvalue = + keynomenclator = .F. + logic = + Name = "_ccriteriu" + negat = .F. + numecriteriu = + TabIndex = 99 + tip = + Width = 490 + _memberdata = + + + * + + ADD OBJECT 'cmd_del' AS label WITH ; + BackColor = 255,0,0, ; + BackStyle = 0, ; + Caption = "X", ; + FontBold = .F., ; + FontSize = 12, ; + FontUnderline = .F., ; + ForeColor = 0,0,164, ; + Height = 21, ; + Left = 479, ; + MousePointer = 15, ; + Name = "cmd_del", ; + StatusBarText = "Sterge elementul din lista de criterii", ; + TabIndex = 6, ; + Top = 1, ; + Width = 12 + *< END OBJECT: BaseClass="label" /> + + ADD OBJECT 'Combo1' AS combobox WITH ; + DisabledBackColor = 171,177,201, ; + DisabledForeColor = 96,124,159, ; + DisplayCount = 8, ; + Height = 20, ; + Left = 195, ; + Name = "Combo1", ; + NumberOfElements = 8, ; + RowSource = "Incepe cu,este,nu este,contine,nu contine,nu are valori,are valori,alege", ; + RowSourceType = 1, ; + SpecialEffect = 1, ; + Style = 2, ; + TabIndex = 2, ; + Top = 0, ; + Width = 92 + *< END OBJECT: BaseClass="combobox" /> + + ADD OBJECT 'Command1' AS commandbutton WITH ; + BackColor = 255,255,255, ; + Caption = "", ; + Height = 20, ; + Left = 449, ; + Name = "Command1", ; + SpecialEffect = 1, ; + Style = 0, ; + TabIndex = 3, ; + TabStop = .F., ; + Top = 0, ; + Visible = .F., ; + Width = 25 + *< END OBJECT: BaseClass="commandbutton" /> + + ADD OBJECT 'lbl_Criteriu' AS label WITH ; + BackStyle = 0, ; + Caption = "lbl_Criteriu", ; + Height = 15, ; + Left = 28, ; + Name = "lbl_Criteriu", ; + TabIndex = 4, ; + Top = 5, ; + Width = 128 + *< END OBJECT: BaseClass="label" /> + + ADD OBJECT 'lbl_logic' AS label WITH ; + Alignment = 1, ; + BackStyle = 0, ; + Caption = "Label1", ; + Height = 17, ; + Left = 2, ; + Name = "lbl_logic", ; + TabIndex = 5, ; + Top = 5, ; + Width = 24 + *< END OBJECT: BaseClass="label" /> + + ADD OBJECT 'Text1' AS textbox WITH ; + DisabledBackColor = 171,177,201, ; + DisabledForeColor = 0,0,0, ; + Format = "!k", ; + Height = 20, ; + InputMask = "", ; + Left = 292, ; + Name = "Text1", ; + SpecialEffect = 1, ; + TabIndex = 1, ; + Top = 0, ; + Width = 154 + *< END OBJECT: BaseClass="textbox" /> + + PROCEDURE deleteobj + this.Parent.parent.SelectorCriteriu.combo1.setfocus() + + CurrentObjectNumber=VAL(ALLTRIM(SUBSTR(this.Name,9))) + this.Tag="Sters" + lnDeletedHeight =this.Height + 10 + this.Parent.parent.CurrentHeight=this.Parent.Parent.CurrentHeight - lnDeletedHeight + this.Height=0 + FOR n=CurrentObjectNumber TO this.Parent.Parent.nr_criterii + ObjectName="Criteriu"+TRANSFORM(n) + this.Parent.&ObjectName..top=this.Parent.&ObjectName..top-lnDeletedHeight + ENDFOR + lnSpeciale=0 + + FOR n=1 TO this.Parent.Parent.nr_criterii + ObjectName="Criteriu"+TRANSFORM(n) + IF this.Parent.&ObjectName..tag#"GroupOpen" and this.Parent.&ObjectName..tag#"GroupClose" + IF this.Parent.&ObjectName..codcriteriu#"none" AND this.Parent.&ObjectName..Tag#"Sters" + lnSpeciale=lnSpeciale+1 + ENDIF + + *!* FOR n = 1 TO ALEN(this.acriterii,1) + *!* lctestText=this.acriterii(n,1) + *!* lbExists=.F. + *!* FOR x=1 TO this.Parent.nr_criterii + *!* ObjectName="Criteriu"+Transform(x) + *!* IF this.Parent.&ObjectName..Tag#"GroupOpen" AND this.Parent.&ObjectName..Tag#"GroupClose" AND this.Parent.&ObjectName..Tag#"Sters" + *!* IF this.Parent.&ObjectName..numecriteriu=lctestText + *!* lbExists=.T. + *!* ENDIF + *!* ENDIF + *!* ENDFOR + *!* IF lbExists + *!* this.combo1.AddItem("\]"+this.acriterii(n,1),n,1) + *!* ELSE + *!* this.combo1.AddItem(this.acriterii(n,1),n,1) + *!* ENDIF + *!* ENDFOR + + lbExists=.F. + FOR lncriterii=1 TO this.Parent.Parent.nr_criterii + ObjectName="Criteriu"+Transform(lncriterii) + + IF this.Parent.&ObjectName..Tag#"GroupOpen" AND this.Parent.&ObjectName..Tag#"GroupClose" AND this.Parent.&ObjectName..Tag#"Sters" + IF this.Parent.&ObjectName..numecriteriu=this.numecriteriu + lbExists=.T. + ENDIF + ENDIF + ENDFOR + + + + + IF this.tip="E" + FOR EACH ITEM IN this.parent.parent.CONTROLS + IF LEFT(LOWER(ITEM.NAME),12) = "lbl_criteriu" + IF item.caption=this.numecriteriu AND NOT lbExists + ITEM.forecolor=RGB(0,0,0) + ITEM.stare="" + ITEM.mousepointer=15 + item.fontbold=.f. + ENDIF + ENDIF + ENDFOR + + ENDIF + + FOR EACH ITEM IN this.parent.parent.CONTROLS + IF LEFT(LOWER(ITEM.NAME),12) = "lbl_criteriu" + IF item.caption=this.numecriteriu AND NOT lbExists + ITEM.forecolor=RGB(0,0,0) + ENDIF + ENDIF + ENDFOR + ENDIF + ENDFOR + IF lnSpeciale>0 + ELSE + ACOPY(this.Parent.parent.SelectorCriteriu.acriterii,temparray) + this.Parent.parent.SelectorCriteriu.loadarray(@temparray) + ENDIF + + + this.Parent.do_refresh + + ENDPROC + + PROCEDURE Init + Lparameters criteriu,logic,optiuni,lcKeyNomenclator,tctip,tnId,tcValoare + This.Visible= .F. + + lcTip = tctip + If At('|', lcTip) > 0 + lcTip = Left(lcTip, At('|', lcTip) -1) + Endif + + + This.tip=lcTip + This.logic=logic + This.lbl_Logic.Caption=Lower(This.logic) + This.numecriteriu=criteriu + This.lbl_Criteriu.Caption=Lower(This.numecriteriu) + If This.Parent.offset>10 + This.Top=This.Parent.Parent.currentHeight - This.Parent.offset + Else + This.Top=This.Parent.Parent.currentHeight + Endif + + If optiuni#"Disabled" + This.combo1.RowSource=optiuni + Else + This.combo1.RowSource="" + This.combo1.Enabled= .F. + This.text1.Enabled= .F. + Endif + + This.combo1.ListIndex=1 + *!* THIS.text1.SETFOCUS + + Do Case + Case lcTip = "D1" + This.text1.InputMask="99/99999" + Case lcTip = "D" + This.text1.Value={} + *!* THIS.text1.INPUTMASK="99/99/9999" + Case lcTip = "N" + lcEvalInputmask = Iif(At('|', tctip) > 0, Substr(tctip,At('|', tctip)+1),'') + If !Empty(lcEvalInputmask) + lcInputMask = Strtran(Evaluate(lcEvalInputmask), ' ', '') + Else + lcInputMask = "9999999999999999" + Endif + This.text1.Format = "RK" + This.text1.InputMask = lcInputMask + This.text1.Value = 0 + Endcase + + If lcKeyNomenclator#"none" + This.KeyNomenclator=lcKeyNomenclator + This.combo1.AddItem("Lista...") + This.command1.Visible= .T. + This.command1.Picture="find1.bmp" + Else + This.command1.Visible= .F. + Endif + If lcTip="I" + This.combo1.RowSource="" + This.combo1.RemoveItem(1) + This.text1.Enabled= .F. + This.combo1.Enabled= .F. + This.command1.Visible= .T. + This.Refresh() + This.Parent.Refresh() + + *!* modificare ROAGEST v 2.0.55 + If Isnull(tnId) + *!* modificare ROAGEST v 2.0.55 ^ + ** APEL CAUTA_ALFA + ** ================================================== + loHash = Thisform.loCol(This.KeyNomenclator) + loCauta = cauta_alfa_hash(loHash) + lcVarText = "loCauta." + Alltrim(loHash.getValue("cresultcoloana")) + lcVarId = "loCauta." + Alltrim(loHash.getValue("cidcoloana")) + + If !Isnull(loCauta) + If !Empty(&lcVarText) + This.idValue=Alltrim(Transform(Evaluate(lcVarId))) + This.text1.Value=Alltrim(Transform(Evaluate(lcVarText))) + Endif + Endif + ** + ** ================================================== + *!* modificare ROAGEST v 2.0.55 + Endif + *!* modificare ROAGEST v 2.0.55 ^ + Endif + + *!* modificare ROAGEST v 2.0.55 + If !Isnull(tcValoare) + Do case + Case lcTip = "D" + This.text1.Value = Ctod(tcValoare) + Case lcTip = "N" + This.text1.Value = val(tcValoare) + Otherwise + This.text1.Value = tcValoare + Endcase + Endif + If !Isnull(tnId) + This.idValue = Alltrim(Str(tnId)) + Endif + *!* modificare ROAGEST v 2.0.55 ^ + + This.Parent.Refresh() + + ENDPROC + + PROCEDURE cmd_del.Click + this.Parent.deleteobj() + + ENDPROC + + PROCEDURE cmd_del.MouseEnter + LPARAMETERS nButton, nShift, nXCoord, nYCoord + this.ForeColor=RGB(0,0,255) + this.FontBold=.T. + this.FontUnderline=.t. + + + + ENDPROC + + PROCEDURE cmd_del.MouseLeave + LPARAMETERS nButton, nShift, nXCoord, nYCoord + this.ForeColor=RGB(46,68,101) + this.FontBold=.F. + this.FontUnderline= .F. + + ENDPROC + + PROCEDURE Combo1.InteractiveChange + IF THIS.LIST(THIS.LISTINDEX)="Lista..." + THIS.PARENT.text1.ENABLED=.F. + ** APEL CAUTA_ALFA + ** ================================================== + loHash = THISFORM.loCol(THIS.PARENT.keynomenclator) + loCauta = cauta_alfa_hash(loHash) + + lcVarText = "loCauta." + ALLTRIM(loHash.getValue("cresultcoloana")) + lcVarId = "loCauta." + ALLTRIM(loHash.getValue("cidcoloana")) + + IF !ISNULL(loCauta) + IF !EMPTY(&lcVarText) + THIS.PARENT.idValue=ALLTRIM(TRANSFORM(EVALUATE(lcVarId))) + THIS.PARENT.text1.VALUE=ALLTRIM(TRANSFORM(EVALUATE(lcVarText))) + ELSE + THIS.PARENT.text1.VALUE="" + THIS.PARENT.combo1.LISTINDEX=1 + ENDIF + ENDIF + ENDIF + + IF THIS.LIST(THIS.LISTINDEX)#"Lista..." + THIS.PARENT.text1.ENABLED=.T. + THIS.PARENT.idValue="" + ENDIF + + IF THIS.PARENT.codcriteriu#"none" + ALINES(temparray,ALLTRIM(THIS.PARENT.text1.VALUE),1,',') + THIS.PARENT.codcriteriu=temparray(THIS.LISTINDEX) + ENDIF + + + + ENDPROC + + PROCEDURE Combo1.KeyPress + LPARAMETERS nKeyCode, nShiftAltCtrl + LOCAL lcTip, nrCriteriu, nrCriteriuNext, lnNrTotalCriterii, loCriteriuUrmator, llExistaCriteriuUrmator + nrCriteriu = VAL(SUBSTR(THIS.PARENT.NAME,9)) + nrCriteriuNext = nrCriteriu+1 + CriteriuNext="Criteriu"+ALLTRIM(STR(nrCriteriuNext)) + lnNrTotalCriterii = THIS.PARENT.PARENT.PARENT.nr_criterii + loCriteriuUrmator = NULL + + + IF INLIST(nKeyCode, 9, 13) + && CAUT CRITERIUL URMATOR + llExistaCriteriuUrmator = .F. + FOR i = nrCriteriuNext TO lnNrTotalCriterii + lcCriteriuNext = "Criteriu" + ALLTRIM(STR(i)) + IF PEMSTATUS(THIS.PARENT.PARENT, lcCriteriuNext, 5) AND !INLIST(THIS.PARENT.PARENT.&lcCriteriuNext..TAG, "GroupOpen", "GroupClose", "Sters") + llExistaCriteriuUrmator = .T. + loCriteriuUrmator = THIS.PARENT.PARENT.&lcCriteriuNext + EXIT + ENDIF + ENDFOR + + IF llExistaCriteriuUrmator + && SAR PE CRITERIUL URMATOR + NODEFAULT + loCriteriuUrmator.text1.SETFOCUS() + ELSE + && NU EXISTA CRITERIUL URMATOR - SAR PE PRIMUL CRITERIU / PE BUTONUL TERMINAT + NODEFAULT + THIS.PARENT.PARENT.PARENT.but_termin1.SETFOCUS() + IF .F. + FOR i = 1 TO nrCriteriu + lcCriteriu = "Criteriu" + ALLTRIM(STR(i)) + IF PEMSTATUS(THIS.PARENT.PARENT, lcCriteriu, 5) + IF !INLIST(THIS.PARENT.PARENT.&lcCriteriu..TAG, "GroupOpen", "GroupClose", "Sters") + NODEFAULT + THIS.PARENT.PARENT.&lcCriteriu..text1.SETFOCUS() + EXIT + ENDIF + ENDIF + ENDFOR + ENDIF + ENDIF + + ENDIF + + ENDPROC + + PROCEDURE Combo1.ProgrammaticChange + If This.List(This.ListIndex)="Lista..." + This.Parent.text1.Enabled=.F. + Endif + + *!* If This.List(This.ListIndex)#"Lista..." + *!* This.Parent.text1.Enabled=.T. + *!* This.Parent.idValue="" + *!* Endif + + If This.Parent.codcriteriu#"none" + Alines(temparray,Alltrim(This.Parent.text1.Value),1,',') + This.Parent.codcriteriu=temparray(This.ListIndex) + Endif + + ENDPROC + + PROCEDURE Command1.Click + ** APEL CAUTA_ALFA + ** ================================================== + loHash = Thisform.loCol(This.Parent.keynomenclator) + loCauta = cauta_alfa_hash(loHash) + lcVarText = "loCauta." + Alltrim(loHash.getValue("cresultcoloana")) + lcVarId = "loCauta." + Alltrim(loHash.getValue("cidcoloana")) + + If !Isnull(loCauta) + If !Empty(&lcVarText) + This.Parent.idValue=Alltrim(Transform(Evaluate(lcVarId))) + This.Parent.text1.Value=Alltrim(Transform(Evaluate(lcVarText))) + this.Parent.text1.Enabled=.F. + this.Parent.combo1.ListIndex=8 + ELSE + this.Parent.text1.Enabled=.T. + This.Parent.text1.Value="" + This.Parent.combo1.ListIndex=1 + Endif + Endif + + + + + ENDPROC + + PROCEDURE Text1.InteractiveChange + this.Parent.idvalue="" + ENDPROC + + PROCEDURE Text1.KeyPress + LPARAMETERS nKeyCode, nShiftAltCtrl + && dau enter pe un criteriu, verific daca exista urmatorul criteriu - pun focus pe criteriul urmator + LOCAL lcTip, nrCriteriu, nrCriteriuNext, lnNrTotalCriterii, loCriteriuUrmator, llExistaCriteriuUrmator + nrCriteriu = VAL(SUBSTR(THIS.PARENT.NAME,9)) + nrCriteriuNext = nrCriteriu+1 + CriteriuNext="Criteriu"+ALLTRIM(STR(nrCriteriuNext)) + lnNrTotalCriterii = THIS.PARENT.PARENT.PARENT.nr_criterii + loCriteriuUrmator = NULL + + LOCAL lcTip + lcTip = THIS.PARENT.tip + IF AT('|', lcTip) > 0 + lcTip = LEFT(lcTip, AT('|', lcTip) -1) + ENDIF + + IF INLIST(nKeyCode, 9, 13) OR (lcTip = 'D1' AND this.SelStart = 7) + && CAUT CRITERIUL URMATOR + llExistaCriteriuUrmator = .F. + FOR i = nrCriteriuNext TO lnNrTotalCriterii + lcCriteriuNext = "Criteriu" + ALLTRIM(STR(i)) + IF PEMSTATUS(THIS.PARENT.PARENT, lcCriteriuNext, 5) AND !INLIST(THIS.PARENT.PARENT.&lcCriteriuNext..TAG, "GroupOpen", "GroupClose", "Sters") + llExistaCriteriuUrmator = .T. + loCriteriuUrmator = THIS.PARENT.PARENT.&lcCriteriuNext + EXIT + ENDIF + ENDFOR + + IF llExistaCriteriuUrmator + && SAR PE CRITERIUL URMATOR + NODEFAULT + loCriteriuUrmator.text1.SETFOCUS() + ELSE + && NU EXISTA CRITERIUL URMATOR - SAR PE PRIMUL CRITERIU / PE BUTONUL TERMINAT + NODEFAULT + THIS.PARENT.PARENT.PARENT.but_termin1.SETFOCUS() + IF .F. + FOR i = 1 TO nrCriteriu + lcCriteriu = "Criteriu" + ALLTRIM(STR(i)) + IF PEMSTATUS(THIS.PARENT.PARENT, lcCriteriu, 5) + IF !INLIST(THIS.PARENT.PARENT.&lcCriteriu..TAG, "GroupOpen", "GroupClose", "Sters") + NODEFAULT + THIS.PARENT.PARENT.&lcCriteriu..text1.SETFOCUS() + EXIT + ENDIF + ENDIF + ENDFOR + ENDIF + ENDIF + + ENDIF + + ENDPROC + + PROCEDURE Text1.Valid + LOCAL llUltimul, lcCriteriu, i, lcTip + lcTip = THIS.PARENT.tip + IF AT('|', lcTip) > 0 + lcTip = LEFT(lcTip, AT('|', lcTip) -1) + ENDIF + + && validare perioada tipul D1 + IF lcTip = 'D1' + lcValoare = STRTRAN(THIS.VALUE, '/', '') + IF !EMPTY(lcValoare) + lcLuna = SUBSTR(ALLTRIM(lcValoare),1,2) + lcAn = SUBSTR(ALLTRIM(lcValoare),3) + IF EMPTY(lcAn) OR LEN(lcAn) < 4 + lcAn = ALLTRIM(STR(YEAR(DATE()))) + THIS.VALUE = PADL(lcLuna, 2, '0')+ '/' + lcAn + ENDIF + IF TYPE("DATE(VAL(lcAn),VAL(lcLuna),1)")!="D" + AMESSAGEBOX("Perioada invalida!",0+16,"Eroare") + RETURN 0 + ENDIF + ENDIF + ENDIF + + *!* && validare data tipul D + *!* IF lcTip = 'D' + *!* IF LEN(ALLTRIM(TRANSFORM(this.value))) < 10 + *!* RETURN 0 + *!* ENDIF + + *!* lcValoare = STRTRAN(THIS.VALUE, '/', '') + *!* IF !EMPTY(lcValoare) + *!* lcZi = SUBSTR(ALLTRIM(lcValoare), 1, 2) + *!* lcLuna = SUBSTR(ALLTRIM(lcValoare), 3, 2) + *!* lcAn = SUBSTR(ALLTRIM(lcValoare), 5) + *!* IF EMPTY(lcAn) OR LEN(lcAn) < 4 + *!* lcAn = ALLTRIM(STR(YEAR(DATE()))) + *!* THIS.VALUE = PADL(lcZi, 2, '0') + '/' + PADL(lcLuna, 2, '0')+ '/' + lcAn + *!* ENDIF + *!* IF TYPE("DATE(VAL(lcAn),VAL(lcLuna),VAL(lcZi))")!="D" + *!* AMESSAGEBOX("Data invalida!",0+16,"Eroare") + *!* RETURN 0 + *!* ENDIF + *!* ENDIF + *!* ENDIF + + + && daca criteriul urmator este de acelasi tip, ii completez valoarea cu valoarea curenta + lcNumecriteriu = THIS.PARENT.numecriteriu + nrCriteriu = VAL(SUBSTR(THIS.PARENT.NAME, 9)) + nrCriteriuNext = nrCriteriu + 1 + CriteriuNext = "Criteriu" + ALLTRIM(STR(nrCriteriuNext)) + + *!*AMESSAGEBOX('Criteriu' + ALLTRIM(STR(nrCriteriu)) + CHR(13) + GETCALLSTACK()) + + IF PEMSTATUS(THIS.PARENT.PARENT,CriteriuNext,5) + loCriteriuNext = THIS.PARENT.PARENT.&CriteriuNext + + IF loCriteriuNext.TAG#"GroupOpen"AND loCriteriuNext.TAG#"GroupClose" AND loCriteriuNext.TAG#"Sters" ; + AND loCriteriuNext.numecriteriu = lcNumecriteriu + IF (lcTip = 'N' ) OR ; && modificare + (lcTip <> 'D1' AND EMPTY(loCriteriuNext.text1.VALUE)) OR ; + (lcTip = 'D1' AND EMPTY(ALLTRIM(STRTRAN(TRANSFORM(loCriteriuNext.text1.VALUE), '/','')))) + loCriteriuNext.text1.VALUE = THIS.VALUE + ENDIF + ENDIF + ENDIF + + + + + + *!* && daca sunt pe ultimul criteriu nesters - de tip D (data) sau D1 (perioada) + *!* && completez primul criteriu, se completeaza automat al doilea criteriu + *!* && si sare focusul pe alt control pentru ca sunt completate toate caracterele din inputmask + *!* llUltimul = .T. + *!* lnNrTotalCriterii = THIS.PARENT.PARENT.PARENT.nr_criterii + *!* FOR i = nrCriteriu+1 TO lnNrTotalCriterii + *!* lcCriteriu = "Criteriu" + ALLTRIM(STR(i)) + *!* IF PEMSTATUS(THIS.PARENT.PARENT, lcCriteriu, 5) + *!* IF THIS.PARENT.PARENT.&lcCriteriu..TAG # 'Sters' + *!* llUltimul = .F. + *!* EXIT + *!* ENDIF + *!* ENDIF + *!* ENDFOR + *!* IF llUltimul AND LEFT(lcTip,1) = 'D' + *!* *!* RETURN 0 + *!* ENDIF + + ENDPROC + +ENDDEFINE + +DEFINE CLASS but_reset_criterii AS buton OF "_cmd_base.vcx" + *< CLASSDATA: Baseclass="commandbutton" Timestamp="" Scale="Pixels" Uniqueid="" /> + + * + caction = do_reset + Caption = "" + cpicturedown = reset_jos.bmp + cpictureup = reset_sus.bmp + Name = "but_reset_criterii" + Picture = ..\grafice\reset_sus.bmp + ToolTipText = "Resetare criterii (CTRL + T)" + _memberdata = + + + * + + PROCEDURE Click + If Pemstatus(This.Parent, "DO_RESET", 5) + This.Parent.do_reset() + Else + If Pemstatus(Thisform, "DO_RESET", 5) + Thisform.do_reset() + Endif + Endif + *!* _SCREEN.STATUSBAR.TAG = "" && STATUSBAR TOOLTIP + *!* _SCREEN.STATUSBAR.ctlMessage = _SCREEN.CAPTION && STATUSBAR MESSAGE + If Type('this.Parent.but_Start_criterii1') = 'O' + This.Parent.but_Start_criterii1.refreshstatus() + Endif + If Pemstatus(This.Parent,"ocriterii",5) + This.Parent.ocriterii.Release + This.Parent.ocriterii=Null + Removeproperty(This.Parent, "ocriterii") + Endif + If Reccount()>0 + _Screen.StatusBar.ctlPanels(2).ctlCaption=Transform(Reccount()) + " inregistrari" + Else + _Screen.StatusBar.ctlPanels(2).ctlCaption="" + Endif + + + + + + ENDPROC + +ENDDEFINE + +DEFINE CLASS but_start_criterii AS buton OF "_cmd_base.vcx" + *< CLASSDATA: Baseclass="commandbutton" Timestamp="" Scale="Pixels" Uniqueid="" /> + + * + *m: initform + *m: loadcriterii + *m: loadfiltru + *m: refreshstatus + *m: resetstatus + *m: updatedetails + *p: filtru_pretty_ro_full + *p: lcautare && .T. daca se apeleaza cautarea la iesirea din formularul cu criterii. + *p: pornit + * + + * + Caption = "" + cpicturedown = find_jos.bmp + cpictureup = find_sus.bmp + filtru_pretty_ro_full = + FontSize = 10 + Height = 27 + lcautare = .T. + Name = "but_start_criterii" + Picture = ..\grafice\find_sus.bmp + pornit = nu + RightToLeft = .T. + SpecialEffect = 1 + Style = 0 + ToolTipText = "Cautare (CTRL + Q)" + Visible = .T. + Width = 30 + _memberdata = + + + * + + PROCEDURE Click + This.initform(.T.) + ENDPROC + + PROCEDURE initform + Lparameters tlShowForm + Local Array lacriterii(1,1) + Local lnButon + This.loadcriterii(@lacriterii) + If(This.pornit="nu") or !Pemstatus(This.Parent,"oCriterii",5) + If !Pemstatus(This.Parent,"oCriterii",5) + This.Parent.AddProperty("oCriterii") + Endif + This.Parent.ocriterii=Null + This.Parent.ocriterii=Createobject("frm_criterii",@lacriterii) + This.pornit="da" + Endif + + If tlShowForm + This.Parent.ocriterii.Show(1) + lnButon = gnButon + Else + lnButon = 2 + Endif + + This.updatedetails(lnButon) + ENDPROC + + PROCEDURE loadcriterii + *** FORMAT + *** CAPTION\CAMPURI_BAZA_DATE_SEPARATE_PRIN_VIRGULA|EXPRESIE_COMPLEXA\TIP_CRITERIU\COLOANA_ID_CAUT_ALFA\NOMENCLATOR_COLECTIE_CAUT_ALFA\TOOLTIP + CRLF + + * CAPTION + * LISTA CAMPURI SEPARATE PRIN VIRGULA SAU O EXPRESIE COMPLEXA CU PREFIX |E| + * EX: "PARTD,PARTC,EXPLICATIE" SAU "|E|ID_PART IN (SELECT ID_PART FROM TTT WHERE CAMP = <>)" + * TIPCRITERIU: + * T (TEXT), + * N (NUMAR), + * D (DATA), + * D1 (PERIOADA = AN*12+LUNA), + * I (ALEGE NUMAI DIN LISTA), + * E (CONDITIE FIXA EX: VALIDATE, CU STOC, EROARE TVA + * A (LISTA DE OPTIUNI) + * COLOANA ID INTOARSA DE CAUT_ALFA + * CHEIE_COLECTIE_CAUT_ALFA" + + *lcStringCriterii="Nume\denumire\T\ID_PART\nom_parteneri" + crlf + ; + * "Nr. act\nract\N\none\" + crlf + ; + "Data act\dataact\D\none\" + crlf + ; + "Fel document\fel_document\T\none\" + crlf + ; + "Cod Fiscal\cod_fiscal\T\none\" + crlf + ; + "Procent TVA\i.proc_tva\N|get_mask(12,gnPA)\none\" + crlf + ; + "Explicatie D&C\partd,partc\T\|E|ID_PARTD=<> OR ID_PARTC=<>\nom_parteneri"+ crlf + ; + "In desfasurare\nofiled\A\Contracte in desfasurare,Contracte incetate,Toate#c.incetat = 0,c.incetat=1,1=1\" + crlf + ; + "EroareTVA\nofiled\E\" + ; + [ AND ABS(TOTCTVA - (RO19B + RO19T + RO9B + RO9T + ROTI + CESCDD1 + CESCDD2 +] + ; + [WRSCDD + FODD + FOFDD + WRSCFDD + WRN)) >= 1 AND ] + ; + [ABS(RO19T) BETWEEN ROUND(0.188*ABS(RO19B),?gnPc) AND ROUND(0.193*ABS(RO19B),?gnPc) AND ] + ; + [ABS(RO9T) BETWEEN ROUND(0.088*ABS(RO9B),?gnPc) AND ROUND(0.093*ABS(RO9B),?gnPc)\ + crlf + *DODEFAULT() + * + *Sunt doua situatii in care poate fi folosit + *Caption \denumirea campului \ T sau D sau N sau E (text,data,numeric,exceptie)\comanda exceptie\cheia din colectia de nomenclatoare + *sau + *Caption \denumirea campului \ T (sa nu fie E)\numele campului din tabela corespondeta formului care apeleaza\cheia din colectia de nomenclatoare + + * daca se doreste ca la intrarea in form sa se puna un filtru: + *!* lcfiltru = [In desfasurare;nofiled;1;] + *!* llcautare = This.pagefr1.paGE2.ct_contracte1.but_start_criterii1.lcautare + *!* This.pagefr1.paGE2.ct_contracte1.but_start_criterii1.lcautare = .F. + *!* This.pagefr1.paGE2.ct_contracte1.but_start_criterii1.loadfiltru(lcfiltru) + *!* This.pagefr1.paGE2.ct_contracte1.but_start_criterii1.lcautare = llcautare + + nroflines=Alines(laCriterii,lcStringCriterii,1,crlf) + Dimension tacriterii(nroflines,6) + For N= 1 To nroflines + For i = 1 To 6 + tacriterii(N,i)=Getwordnum(laCriterii(N),i,"\") + Endfor + Endfor + + ENDPROC + + PROCEDURE loadfiltru + Lparameters tcFiltru + This.initform(.F.) + This.Parent.ocriterii.do_incarca_filtre(tcFiltru) + This.updatedetails(1) + + ENDPROC + + PROCEDURE refreshstatus + #Define crlf Chr(13) + Chr(10) + Local lcText + lcText = "" + + If Pemstatus(This.Parent,"filtru_traducere",5) + lcText = Iif(Not Empty(This.Parent.filtru_traducere()), This.Parent.filtru_traducere(),"") + Else + If Pemstatus(Thisform,"filtru_traducere",5) + lcText = Iif(Not Empty(Thisform.filtru_traducere()), Thisform.filtru_traducere(),"") + Endif + Endif + + If PEMSTATUS(this.Parent, 'filtru_pretty_ro', 5) AND !Empty(Alltrim(This.Parent.filtru_pretty_ro)) + lcText = this.parent.filtru_pretty_ro + Iif(!Empty(lcText), " si " + lcText, "") + Else + If PEMSTATUS(thisform, 'filtru_pretty_ro', 5) AND !Empty(Alltrim(Thisform.filtru_pretty_ro)) + lcText = Thisform.filtru_pretty_ro + Iif(!Empty(lcText), " si " + lcText, "") + Endif + Endif + + This.ToolTipText = Iif(!Empty(m.lcText), m.lcText + crlf, "") + "Cautare (CTRL + Q)" + IF PEMSTATUS(this.Parent, 'filtru_pretty_ro_full', 5) + this.parent.filtru_pretty_ro_full = m.lcText + ELSE + IF PEMSTATUS(thisform, 'filtru_pretty_ro_full', 5) + Thisform.filtru_pretty_ro_full = m.lcText + ENDIF + ENDIF + + _Screen.StatusBar.Tag = lcText + + If !Empty(lcText) + _Screen.StatusBar.ctlIcon="roastartmic.ico" + If Len(lcText) < 126 + _Screen.StatusBar.ctlMessage = lcText + Else + _Screen.StatusBar.ctlMessage=Substr(lcText,1,122) + " ..." + Endif + Else + _Screen.StatusBar.ctlMessage=_Screen.Caption + Endif + + + + + ENDPROC + + PROCEDURE resetstatus + IF PEMSTATUS(_SCREEN,"Statusbar",5) + _SCREEN.STATUSBAR.ctlPanels(2).ctlCaption="" + _SCREEN.STATUSBAR.ctlMessage = _SCREEN.CAPTION + _SCREEN.STATUSBAR.TAG = "" + ENDIF + ENDPROC + + PROCEDURE updatedetails + Lparameters tnButon + If Not Pemstatus(This.Parent,"filtru_pretty",5) + This.Parent.AddProperty("filtru_pretty") + Endif + If Not Pemstatus(This.Parent,"filtru_pretty_ro",5) + This.Parent.AddProperty("filtru_pretty_ro") + Endif + If Not Pemstatus(This.Parent,"filtru_cript",5) + This.Parent.AddProperty("filtru_cript") + Endif + This.Parent.filtru_pretty = This.Parent.ocriterii.filtru + This.Parent.filtru_pretty_ro = This.Parent.ocriterii.filtruro + This.Parent.filtru_cript = This.Parent.ocriterii.filtrucript + + This.refreshStatus() + + + This.SetFocus + If Pemstatus(This.Parent,"DO_CAUTA",5) And tnButon = 1 And This.lcautare + This.Parent.DO_CAUTA() + + If Reccount()>0 + _Screen.StatusBar.ctlPanels(2).ctlCaption=Transform(Reccount()) + " inregistrari" + Else + _Screen.StatusBar.ctlPanels(2).ctlCaption="" + Endif + Else + If Pemstatus(Thisform,"DO_CAUTA",5) And tnButon = 1 And This.lcautare + Thisform.DO_CAUTA() + If Reccount()>0 + _Screen.StatusBar.ctlPanels(2).ctlCaption=Transform(Reccount()) + " inregistrari" + Else + _Screen.StatusBar.ctlPanels(2).ctlCaption="" + Endif + Endif + Endif + + ENDPROC + +ENDDEFINE + +DEFINE CLASS cmd_addcriteriu AS label + *< CLASSDATA: Baseclass="label" Timestamp="" Scale="Pixels" Uniqueid="" /> + + * + *m: do_initializeaza + *p: stare + * + + * + Alignment = 0 + BackStyle = 0 + Caption = "Label1" + FontCharSet = 238 + FontExtend = .F. + FontSize = 10 + Height = 16 + MousePointer = 15 + Name = "cmd_addcriteriu" + stare = + Width = 118 + * + + PROCEDURE Click + + This.do_initializeaza() + ENDPROC + + PROCEDURE do_initializeaza + Lparameters tnIndex,tnId,tcValoare + Local lcTipCriteriu + If Parameters()=0 + tnIndex = .Null. + tnId = .Null. + tcValoare = .Null. + Endif + + lcTipCriteriu = This.Parent.SelectorCriteriu.acriteriiuns(Val(Substr(This.Name,13)),3) + If At('|', lcTipCriteriu) > 0 + lcTipCriteriu = Left(lcTipCriteriu, At('|', lcTipCriteriu) -1) && tipul criteriului N|GetMask(12,gnPA) + Endif + + If This.stare#"inactiv" + lctextoptions="incepe cu,este,nu este,contine,nu contine,nu are valori,are valori" + lcnroptions="egal,diferit,mai mare sau egal,mai mic sau egal,mai mare,mai mic" + lcdataoptions="egala,diferita,mai mare,mai mica,mai mare sau egala,mai mica sau egala" + lctext="" + lcClassId="" + lnoftimes=1 + + Do While lnoftimes < 3 + Do Case + Case Inlist(lcTipCriteriu, "N", "D1") + lcOptions=lcnroptions + Case lcTipCriteriu = "T" + lcOptions=lctextoptions + Case lcTipCriteriu = "D" + lcOptions=lcdataoptions + Case lcTipCriteriu = "E" + lcOptions="Disabled" + Case lcTipCriteriu = "A" + lcOptions=Substr(This.Parent.SelectorCriteriu.acriteriiuns(Val(Substr(This.Name,13)),4),1,At("#",This.Parent.SelectorCriteriu.acriteriiuns(Val(Substr(This.Name,13)),4))-1) + lctext=Substr(This.Parent.SelectorCriteriu.acriteriiuns(Val(Substr(This.Name,13)),4),At("#",This.Parent.SelectorCriteriu.acriteriiuns(Val(Substr(This.Name,13)),4))+1) + If(This.Parent.SelectorCriteriu.acriteriiuns(Val(Substr(This.Name,13)),2))#"nofield" + lcClassId=This.Parent.SelectorCriteriu.acriteriiuns(Val(Substr(This.Name,13)),2) + Endif + Otherwise + lcOptions=lctextoptions + Endcase + + If This.Parent.SelectorCriteriu.acriteriiuns(Val(Substr(This.Name,13)),5)#"" And This.Parent.SelectorCriteriu.acriteriiuns(Val(Substr(This.Name,13)),5)#"none" + lcKeyNomenclator=This.Parent.SelectorCriteriu.acriteriiuns(Val(Substr(This.Name,13)),5) + lcIdCamp=This.Parent.SelectorCriteriu.acriteriiuns(Val(Substr(This.Name,13)),4) + Else + lcKeyNomenclator="none" + lcIdCamp="" + Endif + + + This.Parent.nr_criterii=This.Parent.nr_criterii+1 + NrCriterii=This.Parent.nr_criterii + ObjectName="Criteriu"+Transform(NrCriterii) + + PreviusObjectName="Criteriu"+Transform(NrCriterii-1) + If(NrCriterii=1 Or This.Parent.Containercriterii1.&PreviusObjectName..Tag="GroupOpen") + logicCaption="" + Else + *** in caz ca sunt sterse primele inregistrari + lbexinreg=.F. + For i = 1 To NrCriterii-1 + locurObj="Criteriu"+Transform(i) + If This.Parent.Containercriterii1.&locurObj..Tag#"Sters" + lbexinreg=.T. + Endif + Endfor + *** + If lbexinreg=.T. + logicCaption=This.Parent.SelectorCriteriu.logic + Else + logicCaption="" + Endif + Endif + + With This.Parent + .Containercriterii1.AddObject("&ObjectName","_ccriteriu",This.Caption,logicCaption,lcOptions,lcKeyNomenclator,This.Parent.SelectorCriteriu.acriteriiuns(Val(Substr(This.Name,13)),3),tnId,tcValoare) + If lcIdCamp#"" + .Containercriterii1.&ObjectName..idCamp=lcIdCamp + Endif + .currentHeight=.currentHeight+.Containercriterii1.&ObjectName..Height+10 + .Containercriterii1.&ObjectName..Left=.currentLeft + .Containercriterii1.&ObjectName..criteriu_nr=Val(Substr(This.Name,13)) + This.ForeColor=Rgb(15,15,200) + + && lcTipCriteriu1 = THIS.PARENT.SelectorCriteriu.acriteriiuns(VAL(SUBSTR(THIS.NAME,13)),3) + *!* setare Mai mare sau egal / Mai mic sau egal in functie de ce e selectat + If lcTipCriteriu = "D" + If lnoftimes=1 + .Containercriterii1.&ObjectName..combo1.Value=.Containercriterii1.&ObjectName..combo1.List(5) + Else + .Containercriterii1.&ObjectName..combo1.Value=.Containercriterii1.&ObjectName..combo1.List(6) + Endif + Endif + If Inlist(lcTipCriteriu, "N", "D1") + If lnoftimes=1 + .Containercriterii1.&ObjectName..combo1.Value=.Containercriterii1.&ObjectName..combo1.List(3) + Else + .Containercriterii1.&ObjectName..combo1.Value=.Containercriterii1.&ObjectName..combo1.List(4) + Endif + Endif + lcspecial="false" + If lctext # "" + .Containercriterii1.&ObjectName..text1.Value = lctext + .Containercriterii1.&ObjectName..codcriteriu = Substr(lctext,1,At(",",lctext)-1) + .Containercriterii1.&ObjectName..text1.Visible = .F. + .Containercriterii1.&ObjectName..ClassId = lcClassId + .Containercriterii1.&ObjectName..combo1.Width = 275 + + *!* Aflare nr de ordine din combo + lnCriteriunr = -1 + For N = 1 To Alen(This.Parent.SelectorCriteriu.acriterii,1) + If This.Parent.SelectorCriteriu.acriterii(N,7) = Val(Substr(This.Name,13)) + lnCriteriunr=N + Endif + Endfor + lnIndexCriteriu=lnCriteriunr + *!* + + This.Parent.SelectorCriteriu.combo1.List(lnIndexCriteriu)="\]"+This.Parent.SelectorCriteriu.combo1.List(lnIndexCriteriu) + If(This.Parent.SelectorCriteriu.combo1.ListIndex + + * + *m: loadcriterii + *p: pornit + *a: acriterii[1,4] + * + + * + Caption = "\ + + PROCEDURE Click + LOCAL ARRAY lacriterii(1,1) + this.loadcriterii(@lacriterii) + + if(this.pornit="nu") + IF NOT PEMSTATUS(this.Parent,"oCriterii",5) + this.Parent.AddProperty("oCriterii") + ENDIF + this.Parent.ocriterii=createOBJECT("frm_criterii",@lacriterii) + this.pornit="da" + endif + + this.Parent.ocriterii.show(1) + + IF NOT PEMSTATUS(this.Parent,"filtru_pretty",5) + this.Parent.AddProperty("filtru_pretty") + ENDIF + IF NOT PEMSTATUS(this.Parent,"filtru_pretty_ro",5) + this.Parent.AddProperty("filtru_pretty_ro") + ENDIF + thisform.filtru_pretty=this.Parent.ocriterii.filtru + thisform.filtru_pretty_ro=this.Parent.ocriterii.filtruro + IF thisform.filtru_pretty_ro#"" + this.ToolTipText=thisform.filtru_pretty_ro + + With this.parent + For i=1 To .Objects.Count + If Upper(.Objects(i).BaseClass)='CHECKBOX' + this.ToolTipText=this.ToolTipText + .Objects(i).tag + Endif + Endfor + ENDWITH + + ENDIF + this.setfocus + + + + ENDPROC + + PROCEDURE KeyPress + LPARAMETERS nKeyCode, nShiftAltCtrl + + ENDPROC + + PROCEDURE loadcriterii + *PARAMETERS tacriterii + *EXTERNAL ARRAY tacriterii + *#define crlf CHR(13)+CHR(10) + *lcStringCriterii="Nume\denumire\T\ID_PART\nom_parteneri" + crlf + ; + * "Nr. act\nract\N\none\" + crlf + ; + "Data act\dataact\D\none\" + crlf + ; + "Fel document\fel_document\T\none\" + crlf + ; + "Cod Fiscal\cod_fiscal\T\none\" + crlf + ; + "EroareTVA\nofiled\E\" + ; + [ AND ABS(TOTCTVA - (RO19B + RO19T + RO9B + RO9T + ROTI + CESCDD1 + CESCDD2 +] + ; + [WRSCDD + FODD + FOFDD + WRSCFDD + WRN)) >= 1 AND ] + ; + [ABS(RO19T) BETWEEN ROUND(0.188*ABS(RO19B),?gnPc) AND ROUND(0.193*ABS(RO19B),?gnPc) AND ] + ; + [ABS(RO9T) BETWEEN ROUND(0.088*ABS(RO9B),?gnPc) AND ROUND(0.093*ABS(RO9B),?gnPc)\ + crlf + *DODEFAULT() + * + *Sunt doua situatii in care poate fi folosit + *Caption \denumirea campului \ T sau D sau N sau E (text,data,numeric,exceptie)\comanda exceptie\cheia din colectia de nomenclatoare + *sau + *Caption \denumirea campului \ T (sa nu fie E)\numele campului din tabela corespondeta formului care apeleaza\cheia din colectia de nomenclatoare + + nroflines=ALINES(laCriterii,lcStringCriterii,1,crlf) + DIMENSION tacriterii(nroflines,5) + FOR n= 1 TO nroflines + FOR i = 1 TO 6 + tacriterii(n,i)=GETWORDNUM(laCriterii(n),i,"\") + ENDFOR + ENDFOR + + + + + + ENDPROC + +ENDDEFINE + +DEFINE CLASS frm_criterii AS _frmbase OF "_frm_base.vcx" + *< CLASSDATA: Baseclass="form" Timestamp="" Scale="Pixels" Uniqueid="" /> + + *-- OBJECTDATA items order determines ZOrder / El orden de los items OBJECTDATA determina el ZOrder + *< OBJECTDATA: ObjPath="But_renunt1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="Line1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="Containercriterii1" UniqueID="" Timestamp="" /> + + * + *m: do_colectienom + *m: do_incarca_filtre + *m: getcriteriu + *m: paramsmatrix + *p: currentheight + *p: currentleft + *p: filtru + *p: filtrucript && Filtru in forma criptata pentru salvare. + *p: filtruro + *p: lincarcarefiltru && .T. daca se incarca filtrul. + *p: nr_criterii + *a: acriterii[1,5] + * + + * + BorderStyle = 2 + currentheight = 85 + currentleft = 10 + DoCreate = .T. + filtru = + filtrucript = + filtruro = + Height = 469 + lhide = .T. + lincarcarefiltru = .F. + Name = "frm_criterii" + nr_criterii = 0 + ScrollBars = 2 + Width = 800 + _shape1.Height = 29 + _shape1.Left = 0 + _shape1.Name = "_shape1" + _shape1.Top = 0 + _shape1.Width = 828 + _shape2.Height = 29 + _shape2.Left = 746 + _shape2.Name = "_shape2" + _shape2.Top = -1 + _shape2.Width = 57 + Lb_titlu_alb_b121.Name = "Lb_titlu_alb_b121" + BUT_TERMIN1.Left = 769 + BUT_TERMIN1.Name = "BUT_TERMIN1" + BUT_TERMIN1.Top = 0 + Gridsort1.Name = "Gridsort1" + * + + ADD OBJECT 'But_renunt1' AS but_renunt WITH ; + Left = 741, ; + Name = "But_renunt1", ; + Top = 0 + *< END OBJECT: ClassLib="cmd_butoane.vcx" BaseClass="commandbutton" /> + + ADD OBJECT 'Containercriterii1' AS scontainer WITH ; + Height = 252, ; + Left = 12, ; + Name = "Containercriterii1", ; + Top = 120, ; + Width = 784, ; + up_1.Left = 754, ; + up_1.Name = "up_1", ; + up_1.Top = 13, ; + down_1.Left = 754, ; + down_1.Name = "down_1", ; + down_1.Top = 43 + *< END OBJECT: ClassLib="ocriterii.vcx" BaseClass="container" /> + + ADD OBJECT 'Line1' AS line WITH ; + Height = 0, ; + Left = 0, ; + Name = "Line1", ; + Top = 108, ; + Width = 840 + *< END OBJECT: BaseClass="line" /> + + PROCEDURE do_colectienom + ** CREARE COLECTIE + ** ================================================== + LOCAL loHash + thisform.AddObject("loCol","collection") + + *!* nom_parteneri + loHash = GetHash() + WITH loHash + .SetValue("cSelect", "select id_part, denumire, cod_fiscal from nom_parteneri") + .SetValue("cSchema", "") + .SetValue("cFiltru", "1=2") + .SetValue("cOrder", "denumire") + .SetValue("cColoana", "denumire,cod_fiscal,id_part") + .SetValue("cTitlu", "Alegeti partenerul") + .SetValue("cTitluColoana", "Nume,Cod fiscal,ID") + .SetValue("cFiltruOriginal", [STERS = 0 AND INACTIV = 0]) + .setvalue("cresultcoloana","denumire") + .setvalue("cidcoloana","id_Part") + ENDWITH + thisform.loCol.ADD(loHash, "nom_parteneri") + + *!* modificare migrare v 1.0 > v 2.0 + loHash = GetHash() + WITH loHash + .SetValue("cSelect", "SELECT B.ID_PART, B.DENUMIRE, B.COD_FISCAL " + ; + " FROM CORESP_TIP_PART A " + ; + " LEFT JOIN NOM_PARTENERI B ON A.ID_PART = B.ID_PART") + .SetValue("cSchema", "") + .SetValue("cFiltru", "1=2") + .SetValue("cOrder", "b.denumire") + .SetValue("cColoana", "b.denumire,b.cod_fiscal,b.id_part") + .SetValue("cTitlu", "Alegeti partenerul") + .SetValue("cTitluColoana", "Nume,Cod fiscal,ID") + .SetValue("cFiltruOriginal", [B.STERS = 0 AND B.INACTIV = 0 AND A.ID_TIP_PART IN (SELECT id_tip_part FROM coresp_tip_cont WHERE cont = '4111')]) + .setvalue("cresultcoloana","denumire") + .setvalue("cidcoloana","id_Part") + ENDWITH + thisform.loCol.ADD(loHash, "nom_parteneri4111") + *!* modificare migrare v 1.0 > v 2.0 ^ + + loHash = GetHash() + WITH loHash + .SetValue("cSelect", "select id_responsabil, nume, marca, bi, cnp from vnom_responsabili") + .SetValue("cSchema", "") + .SetValue("cFiltru", "1=2") + .SetValue("cOrder", "nume") + .SetValue("cColoana", "nume, marca, bi, cnp, id_responsabil") + .SetValue("cTitlu", "Alegeti responsabilul") + .SetValue("cTitluColoana", "Nume, Marca, BI, CNP, Id") + .SetValue("cFiltruOriginal", [inactiv = 0]) + .setvalue("cresultcoloana","nume") + .setvalue("cidcoloana","id_responsabil") + ENDWITH + thisform.loCol.ADD(loHash, "nom_responsabil") + + loHash = GetHash() + WITH loHash + .SetValue("cSelect", "select id_fdoc, fel_document FROM vnom_fdoc") + .SetValue("cSchema", "") + .SetValue("cFiltru", "1=2") + .SetValue("cOrder", "fel_document") + .SetValue("cColoana", "fel_document,id_fdoc") + .SetValue("cTitlu", "Alegeti felul documentului") + .SetValue("cTitluColoana", "Document,ID") + .SetValue("cFiltruOriginal", [inactiv = 0]) + .setvalue("cresultcoloana","fel_document") + .setvalue("cidcoloana","id_fdoc") + ENDWITH + thisform.loCol.ADD(loHash, "nom_feldoc") + + loHash = GetHash() + WITH loHash + .SetValue("cSelect", "select nume_gestiune,cgest,id_gestiune,nr_pag,cont from vnom_gestiuni ") + .SetValue("cSchema", "") + .SetValue("cFiltru", "1=2") + .SetValue("cOrder", "nume_gestiune") + .SetValue("cColoana", "nume_gestiune,cgest") + .SetValue("cTitlu", "Alegeti Gestiunea") + .SetValue("cTitluColoana", "Gestiune,Cgest") + .SetValue("cFiltruOriginal", [inactiv = 0]) + .setvalue("cresultcoloana","nume_gestiune") + .setvalue("cidcoloana","id_gestiune") + ENDWITH + thisform.loCol.ADD(loHash, "nom_gestiune") + + loHash = GetHash() + WITH loHash + .SetValue("cSelect", "select nrord, id_lucrare from vnom_lucrari") + .SetValue("cSchema", "") + .SetValue("cFiltru", "1=2") + .SetValue("cOrder", "nrord") + .SetValue("cColoana", "nrord,id_lucrare") + .SetValue("cTitlu", "Alegeti lucrarea") + .SetValue("cTitluColoana", "Lucrare,ID") + .SetValue("cFiltruOriginal", [inactiv = 0]) + .setvalue("cresultcoloana","nrord") + .setvalue("cidcoloana","id_lucrare ") + ENDWITH + thisform.loCol.ADD(loHash, "nom_lucrare") + + loHash = GetHash() + WITH loHash + .SetValue("cSelect", "select id_sectie, sectie, csectie FROM vnom_sectii") + .SetValue("cSchema", "") + .SetValue("cFiltru", "1=2") + .SetValue("cOrder", "sectie") + .SetValue("cColoana", "sectie, csectie") + .SetValue("cTitlu", "Alegeti sectia") + .SetValue("cTitluColoana", "Sectie, Indicativ") + .SetValue("cFiltruOriginal", [inactiv = 0]) + .setvalue("cresultcoloana","sectie") + .setvalue("cidcoloana","id_sectie") + ENDWITH + thisform.loCol.ADD(loHash, "nom_sectie") + + loHash = GetHash() + WITH loHash + .SetValue("cSelect", "select id_valuta, nume_val FROM vnom_valute") + .SetValue("cSchema", "") + .SetValue("cFiltru", "1=2") + .SetValue("cOrder", "nume_val") + .SetValue("cColoana", "nume_val") + .SetValue("cTitlu", "Alegeti valuta") + .SetValue("cTitluColoana", "Valuta") + .SetValue("cFiltruOriginal", [inactiv = 0 and moneda_nationala = 0]) + .setvalue("cresultcoloana","nume_val") + .setvalue("cidcoloana","id_valuta") + ENDWITH + thisform.loCol.ADD(loHash, "nom_valuta") + + loHash = GetHash() + WITH loHash + .SetValue("cSelect", "select id_sucursala, sucursala, inactiv from vnom_sucursale") + .SetValue("cSchema", "") + .SetValue("cFiltru", "2=2") + .SetValue("cOrder", "sucursala") + .SetValue("cColoana", "sucursala,id_sucursala") + .SetValue("cTitlu", "Alegeti sucursala") + .SetValue("cTitluColoana", "Sucursala, Id") + IF glEMama && DACA SUNT PE FIRMA MAMA ARAT DOAR SUCURSALELE EI + .SetValue("cFiltruOriginal", [inactiv = 0 AND id_mama = ?gnIdFirma]) + ELSE && DACA SUNT PE O SUCURSALA SAU PE FIRMA INDEPENDENTA NU ARAT NIMIC + .SetValue("cFiltruOriginal", [1=2]) + ENDIF + .setvalue("cresultcoloana","sucursala") + .setvalue("cidcoloana","id_sucursala") + ENDWITH + thisform.loCol.ADD(loHash, "nom_sucursala") + + loHash = GetHash() + WITH loHash + .SetValue("cSelect", "select id_util,utilizator from syn_vutilizatori") + .SetValue("cSchema", "") + .SetValue("cFiltru", "1=2") + .SetValue("cOrder", "utilizator") + .SetValue("cColoana", "utilizator") + .SetValue("cTitlu", "Alegeti utilizatorul") + .SetValue("cTitluColoana", "Utilizator") + .SetValue("cFiltruOriginal", [inactiv = 0]) + .setvalue("cresultcoloana","utilizator") + .setvalue("cidcoloana","id_util") + ENDWITH + thisform.loCol.ADD(loHash, "nom_utilizator") + + loHash = GetHash() + WITH loHash + .SetValue("cSelect", "select id_venchelt, explicatie, (case tip_venchelt when 1 then 'Cheltuiala' else 'Venit' end) as tip_venchelt FROM vnom_venchel") + .SetValue("cSchema", "") + .SetValue("cFiltru", "1=2") + .SetValue("cOrder", "explicatie") + .SetValue("cColoana", "explicatie,tip_venchelt") + .SetValue("cTitlu", "Alegeti venitul/cheltuiala") + .SetValue("cTitluColoana", "Explicatia, Tip") + .SetValue("cFiltruOriginal", [inactiv = 0]) + .setvalue("cresultcoloana","explicatie") + .setvalue("cidcoloana","id_venchelt") + ENDWITH + thisform.loCol.ADD(loHash, "nom_venchel") + + loHash = GetHash() + WITH loHash + .SetValue("cSelect", "select denumire, codmat, um, grupa, subgrupa, id_grupa, id_subgrupa, dnf, cont, acont, inactiv, id_articol from vnom_articole") + .SetValue("cSchema", "") + .SetValue("cFiltru", "1=2") + .SetValue("cOrder", "denumire") + .SetValue("cColoana", "denumire,codmat,um,grupa,subgrupa,cont,acont,dnf,id_articol") + .SetValue("cTitlu", "Alegeti articolul") + .SetValue("cTitluColoana", "Denumire,Cod Material,UM,Grupa,Subgrupa,Cont,Analitic,DNF,Id") + .SetValue("cFiltruOriginal", [inactiv = 0]) + .setvalue("cresultcoloana","denumire") + .setvalue("cidcoloana","id_articol") + ENDWITH + thisform.loCol.ADD(loHash, "nom_articol") + thisform.loCol.ADD(loHash, "nom_articole") + + loHash = GetHash() + WITH loHash + .SetValue("cSelect", "select grupa, id_grupa from vgest_art_gr") + .SetValue("cSchema", "") + .SetValue("cFiltru", "1=2") + .SetValue("cOrder", "grupa") + .SetValue("cColoana", "grupa,id_grupa") + .SetValue("cTitlu", "Alegeti grupa de articole") + .SetValue("cTitluColoana", "Grupa,Id") + .SetValue("cFiltruOriginal", []) + .setvalue("cresultcoloana","grupa") + .setvalue("cidcoloana","id_grupa") + ENDWITH + thisform.loCol.ADD(loHash, "nom_grupa_articol") + + loHash = GetHash() + WITH loHash + .SetValue("cSelect", "select subgrupa, grupa, id_subgrupa from vgest_art_sbgr") + .SetValue("cSchema", "") + .SetValue("cFiltru", "1=2") + .SetValue("cOrder", "subgrupa") + .SetValue("cColoana", "subgrupa,grupa,id_subgrupa") + .SetValue("cTitlu", "Alegeti subgrupa de articole") + .SetValue("cTitluColoana", "Subgrupa,Grupa,Id") + .SetValue("cFiltruOriginal", []) + .setvalue("cresultcoloana","subgrupa") + .setvalue("cidcoloana","id_subgrupa") + ENDWITH + thisform.loCol.ADD(loHash, "nom_subgrupa_articol") + + loHash = GetHash() + WITH loHash + .SetValue("cSelect", "select id_grupe, nume_grupa, nume_parinte, parent_id FROM vgest_nom_grupe") + .SetValue("cSchema", "") + .SetValue("cFiltru", "1=2") + .SetValue("cOrder", "nume_grupa") + .SetValue("cColoana", "nume_grupa,nume_parinte,id_grupe,parent_id") + .SetValue("cTitlu", "Alegeti grupa de gestiuni") + .SetValue("cTitluColoana", "Grupa,Grupa parinte,Id,Id parinte") + .SetValue("cFiltruOriginal", [inactiv = 0]) + .setvalue("cresultcoloana","nume_grupa") + .setvalue("cidcoloana","id_grupe") + ENDWITH + thisform.loCol.ADD(loHash, "nom_grupa_gestiune") + + loHash = GetHash() + WITH loHash + .SetValue("cSelect", "select id_meseria, meserie from SAL_VNOM_MES") + .SetValue("cSchema", "") + .SetValue("cFiltru", "1=2") + .SetValue("cOrder", "meserie") + .SetValue("cColoana", "id_meseria, meserie") + .SetValue("cTitlu", "Alegeti meseria") + .SetValue("cTitluColoana", "Meseria, Id") + .SetValue("cFiltruOriginal", [inactiv = 0]) + .setvalue("cresultcoloana","meserie") + .setvalue("cidcoloana","meseria") + ENDWITH + thisform.loCol.ADD(loHash, "nom_meserie") + + + loHash = GetHash() + WITH loHash + .SetValue("cSelect", "select id_formatia, denumire, sectie from sal_vnom_formatii") + .SetValue("cSchema", "") + .SetValue("cFiltru", "1=2") + .SetValue("cOrder", "denumire") + .SetValue("cColoana", "denumire, id_formatia, sectie") + .SetValue("cTitlu", "Alegeti formatia") + .SetValue("cTitluColoana", "Formatia, Id, Sectie") + .SetValue("cFiltruOriginal", [inactiv = 0]) + .setvalue("cresultcoloana","denumire") + .setvalue("cidcoloana","id_formatia") + ENDWITH + thisform.loCol.ADD(loHash, "nom_formatie") + + *!* tip_rulaj + loHash = GetHash() + WITH loHash + .SetValue("cSelect", "select id_tip_rulaj,descriere from nom_tip_rulaj") + .SetValue("cSchema", "") + .SetValue("cFiltru", "2=2") + .SetValue("cOrder", "descriere") + .SetValue("cColoana", "descriere,id_tip_rulaj") + .SetValue("cTitlu", "Alegeti tipul de rulaj") + .SetValue("cTitluColoana", "Descriere,ID") + .SetValue("cFiltruOriginal", [STERS = 0]) + .setvalue("cresultcoloana","descriere") + .setvalue("cidcoloana","id_tip_rulaj") + ENDWITH + thisform.loCol.ADD(loHash, "nom_tip_rulaj") + + *!* nom_contracte + loHash = GetHash() + WITH loHash + .SetValue("cSelect", "select id_ctr, id_part, denumire, contract, numar, data from vcontracte") + .SetValue("cSchema", "") + .SetValue("cFiltru", "1=2") + .SetValue("cOrder", "data desc, numar") + .SetValue("cColoana", "contract,denumire,id_ctr") + .SetValue("cTitlu", "Alegeti contractul") + .SetValue("cTitluColoana", "Contract,Partener,Id") + .SetValue("cFiltruOriginal", []) + .setvalue("cresultcoloana","contract") + .setvalue("cidcoloana","id_ctr") + ENDWITH + thisform.loCol.ADD(loHash, "nom_contracte") + + *!* tip_contract + loHash = GetHash() + WITH loHash + .SetValue("cSelect", "select id_tip_ctr,denumire from tipuri_contracte") + .SetValue("cSchema", "") + .SetValue("cFiltru", "2=2") + .SetValue("cOrder", "denumire") + .SetValue("cColoana", "denumire,id_tip_ctr") + .SetValue("cTitlu", "Alegeti tipul de contract") + .SetValue("cTitluColoana", "Denumire,ID") + .SetValue("cFiltruOriginal", []) + .setvalue("cresultcoloana","denumire") + .setvalue("cidcoloana","id_tip_ctr") + ENDWITH + thisform.loCol.ADD(loHash, "tipuri_contracte") + + loHash = GetHash() + WITH loHash + .SetValue("cSelect", "select id_transa, transa from sal_vnom_transe") + .SetValue("cSchema", "") + .SetValue("cFiltru", "1=2") + .SetValue("cOrder", "transa") + .SetValue("cColoana", "transa, id_transa") + .SetValue("cTitlu", "Alegeti transa") + .SetValue("cTitluColoana", "Transa, Id") + .SetValue("cFiltruOriginal", []) + .setvalue("cresultcoloana","transa") + .setvalue("cidcoloana","id_transa") + ENDWITH + thisform.loCol.ADD(loHash, "nom_transe") + + loHash = GetHash() + WITH loHash + .SetValue("cSelect", "select id, denumire,valoare from sal_vnom_tichete") + .SetValue("cSchema", "") + .SetValue("cFiltru", "1=2") + .SetValue("cOrder", "denumire") + .SetValue("cColoana", "denumire, valoare, id") + .SetValue("cTitlu", "Alegeti tipul tichetului") + .SetValue("cTitluColoana", "Tip tichet,Valoare, Id") + .SetValue("cFiltruOriginal", []) + .setvalue("cresultcoloana","denumire") + .setvalue("cidcoloana","id") + ENDWITH + thisform.loCol.ADD(loHash, "nom_tichete") + + loHash = GetHash() + WITH loHash + .SetValue("cSelect", "select id, denumire, sters, inactiv, id_util, dataora, id_utils, dataoras from vnom_locatii") + .SetValue("cSchema", "") + .SetValue("cFiltru", "1=2") + .SetValue("cOrder", "denumire") + .SetValue("cColoana", "denumire,id") + .SetValue("cTitlu", "Alegeti locatia") + .SetValue("cTitluColoana", "Denumire,Id") + .SetValue("cFiltruOriginal", []) + .setvalue("cresultcoloana","denumire") + .setvalue("cidcoloana","id") + ENDWITH + thisform.loCol.ADD(loHash, "nom_locatii") + + loHash = GetHash() + WITH loHash + .SetValue("cSelect", "select id, denumire from fact_tipuri") + .SetValue("cSchema", "") + .SetValue("cFiltru", "1=2") + .SetValue("cOrder", "denumire") + .SetValue("cColoana", "denumire,id") + .SetValue("cTitlu", "Alegeti tipul facturii") + .SetValue("cTitluColoana", "Denumire,Id") + .SetValue("cFiltruOriginal", []) + .setvalue("cresultcoloana","denumire") + .setvalue("cidcoloana","id") + ENDWITH + thisform.loCol.ADD(loHash, "nom_tipfactura") + + loHash = GetHash() + WITH loHash + .SetValue("cSelect", "select id_ruta, ruta from fact_nom_rute") + .SetValue("cSchema", "") + .SetValue("cFiltru", "1=2") + .SetValue("cOrder", "ruta") + .SetValue("cColoana", "denumire,id") + .SetValue("cTitlu", "Alegeti ruta") + .SetValue("cTitluColoana", "Ruta,Id") + .SetValue("cFiltruOriginal", []) + .setvalue("cresultcoloana","ruta") + .setvalue("cidcoloana","id_ruta") + ENDWITH + thisform.loCol.ADD(loHash, "nom_ruta") + ENDPROC + + PROCEDURE do_incarca_filtre + Lparameters tcFiltru + + + Local lcDelimitator,lcDelimitator2,lnNr,lnNrTemp + Thisform.lincarcarefiltru = .T. + lcDelimitator = [|] + lcDelimitator2 = [;] + For lnNr = 1 To Getwordcount(tcFiltru,lcDelimitator) + lnNrTemp = lnNr + lcSir = Getwordnum(tcFiltru,lnNr,lcDelimitator) + Do Case + Case lcSir = [(] + Thisform.SelectorCriteriu.cmd_OpenGroup.Click() + Case lcSir = [)] + Thisform.SelectorCriteriu.cmd_CloseGroup.Click() + Case Inlist(lcSir,[SI],[SAU]) + If lcSir <> Thisform.SelectorCriteriu.logic + Thisform.SelectorCriteriu.lbl_logic.Click() + Endif + Otherwise + lcCaption = Substr(lcSir,1,At(lcDelimitator2,lcSir,1)-1) + lcCamp = Substr(lcSir,At(lcDelimitator2,lcSir,1)+1,At(lcDelimitator2,lcSir,2)-At(lcDelimitator2,lcSir,1)-1) + lcIndex = Substr(lcSir,At(lcDelimitator2,lcSir,2)+1,At(lcDelimitator2,lcSir,3)-At(lcDelimitator2,lcSir,2)-1) + lcId = Substr(lcSir,At(lcDelimitator2,lcSir,3)+1,At(lcDelimitator2,lcSir,4)-At(lcDelimitator2,lcSir,3)-1) + lcValoare = Substr(lcSir,At(lcDelimitator2,lcSir,4)+1) + For N= 1 To Alen(Thisform.acriterii,1) + lcNumeObiect = "Thisform.lbl_Criteriu" + Transform(N) + loObiect = &lcNumeObiect + *!* modificare ROAGEST v 2.0.64 + *!* If Alltrim(Upper(loObiect.Caption)) = Alltrim(Upper(lcCaption)) ; + *!* and Alltrim(Upper(Thisform.SelectorCriteriu.acriteriiuns(N,2))) = Alltrim(Upper(lcCamp)) + If Alltrim(Upper(loObiect.Caption)) = Alltrim(Upper(lcCaption)) ; + and Alltrim(Upper(Strtranx(Thisform.SelectorCriteriu.acriteriiuns(N,2),"([^a-zA-Z0-9])",[])))= Alltrim(Upper(strtranx(lcCamp,"([^a-zA-Z0-9])",[]))) + *!* modificare ROAGEST v 2.0.64 + loObiect.do_initializeaza(Iif(Nvl(lcIndex,[])<>[],Val(lcIndex),.Null.),; + Iif(Nvl(lcId,[])<>[],Val(lcId),.Null.),; + lcValoare) + Exit + Endif + Endfor + Endcase + lnNr = lnNrTemp + Endfor + Thisform.lincarcarefiltru = .F. + Thisform.inainte_de_do_termin() + ENDPROC + + PROCEDURE do_renunt + IF THIS.inainte_de_do_renunt() + gnButon = 2 + pnButon = 2 + Buton = 2 + pnIesire = 2 + THIS.filtru="none" + THIS.VISIBLE= .F. + ENDIF + + ENDPROC + + PROCEDURE getcriteriu + LPARAMETERS tcNumeCriteriu + && tcNumeCriteriu : numele unui criteriu sau nimic + && creeaza o colectie cu aparitiile criteriului sau ale tuturor criteriilor din fereastra de cautare + + LOCAL loCollection AS COLLECTION + LOCAL i, lnNrTotalCriterii, lcNumeCriteriu, lnRanduri + LOCAL lcNumeCriteriuCurent, lcOperatorCriteriuCurent, lcValoareCriteriuCurent + EXTERNAL ARRAY taListaValori + + IF EMPTY(tcNumeCriteriu) OR TYPE('tcNumeCriteriu') <> 'C' + lcNumeCriteriu = "" + ELSE + lcNumeCriteriu = UPPER(ALLTRIM(tcNumeCriteriu)) + ENDIF + loCollection = CREATEOBJECT("collection") + + lnRanduri = 1 + lnNrTotalCriterii = THIS.nr_criterii + FOR i = 1 TO lnNrTotalCriterii + lcCriteriu = "Criteriu" + ALLTRIM(STR(i)) + loCriteriu = THIS.containercriterii1.&lcCriteriu + IF !INLIST(loCriteriu.TAG, "GroupOpen", "GroupClose", "Sters") + lcNumeCriteriuCurent = UPPER(ALLTRIM(loCriteriu.lbl_Criteriu.CAPTION)) + lcOperatorCriteriuCurent = loCriteriu.combo1.VALUE + lcValoareCriteriuCurent = loCriteriu.text1.VALUE + lcIdCampCriteriuCurent = loCriteriu.idcamp + lcIdValoareCriteriuCurent = loCriteriu.idvalue + lcTipCriteriu = UPPER(THISFORM.acriterii(loCriteriu.criteriu_nr,3)) + lcOperatorCriteriuCurentInfo = "" + DO CASE + CASE INLIST(lcOperatorCriteriuCurent, "egala", "egal") + lcOperatorCriteriuCurentInfo = "=" + CASE INLIST(lcOperatorCriteriuCurent, "diferita", "diferit") + lcOperatorCriteriuCurentInfo = "<>" + CASE INLIST(lcOperatorCriteriuCurent, "mai mare") + lcOperatorCriteriuCurentInfo = "<>" + CASE INLIST(lcOperatorCriteriuCurent, "mai mica", "mai mic") + lcOperatorCriteriuCurentInfo = "<" + CASE INLIST(lcOperatorCriteriuCurent, "mai mica sau egala", "mai mic sau egal") + lcOperatorCriteriuCurentInfo = "<=" + CASE INLIST(lcOperatorCriteriuCurent, "mai mare sau egala", "mai mare sau egal") + lcOperatorCriteriuCurentInfo = ">=" + CASE INLIST(lcOperatorCriteriuCurent, "Lista...") + lcOperatorCriteriuCurentInfo = "=" + * CASE INLIST(lcOperatorCriteriuCurent, "are valori", "nu are valori") + ENDCASE + + + IF EMPTY(lcNumeCriteriu) OR (!EMPTY(lcNumeCriteriu) AND lcNumeCriteriuCurent == lcNumeCriteriu) + loChild = CREATEOBJECT("empty") + ADDPROPERTY(loChild,"criteriu", lcNumeCriteriuCurent) + ADDPROPERTY(loChild,"operator_ro", lcOperatorCriteriuCurent) + ADDPROPERTY(loChild,"operator", lcOperatorCriteriuCurentInfo) + ADDPROPERTY(loChild,"valoare", lcValoareCriteriuCurent) + ADDPROPERTY(loChild,"idcamp", lcIdCampCriteriuCurent) + ADDPROPERTY(loChild,"idvaloare", lcIdValoareCriteriuCurent) + loCollection.ADD(loChild) + RELEASE loChild + ENDIF + ENDIF + ENDFOR + + RETURN loCollection + ENDPROC + + PROCEDURE Hide + gfiltru=this.filtru + gfiltruro=this.filtruro + + ENDPROC + + PROCEDURE inainte_de_do_termin + *!* 19.12.2014 + *!* marius.mutu + *!* am pus temporar lcThislogic = '~~' + lcThislogic ca sa nu se incurce cu SI/SAU din conditie + + *!* 05.03.2015 + *!* marius.mutu + *!* Daca am o Expresie |E|ID_PARTD=<> OR ID_PARTC=<> pe campul lcCampId, se inlocuieste <> cu partenerul ales din nomenclator + *!* Se foloseste in Registrul Jurnal la cautarea dupa Partener D&C. Conpress folosea cautare neoptimizata in Explicatii + + Local lcTipCriteriu, luValoareCriteriu, lcTag, lcLogic + Local lcCaption, lcConditieSpeciala, lcIdValue, lcIdCamp, lcCodCriteriu, lcNumeCriteriu, lcValoareCript + Local lcFiltru, lcFiltruRo, lcFiltruCript + lcFiltru = "" + lcFiltruRo = "" + lcFiltruCript = "" + *!* elementele posibile din lcFiltruCript : 'SI|', 'SAU|', '(|', '|)', 'caption;camp;index lista;id;valoarecamp|' + Private pcerrorstr + pcerrorstr="" + lnpdeschis=0 + lnpinchis=0 + lnsterse=0 + lcFiltru="" + *!* If MessageBox("Debug?",4,"Atentie")=6 + *!* Debug + *!* suspend + *!* EndIf + For N= 1 To Thisform.nr_criterii + ObjectName="Criteriu"+Transform(N) + + If Thisform.Containercriterii1.&ObjectName..Tag="GroupOpen" + lnpdeschis=lnpdeschis+1 + Endif && Numara toate parantezele deschise + + If Thisform.Containercriterii1.&ObjectName..Tag="GroupClose" + lnpinchis=lnpinchis+1 + Endif && Numara toate parantezele inchise + + If Thisform.Containercriterii1.&ObjectName..Tag="Sters" + lnsterse=lnsterse+1 + Endif && Numara toate obiectele sterse + + Endfor &&Parcurge toate obiectele de pe forma + + If lnpdeschis<>lnpinchis + pcerrorstr=pcerrorstr+"Grupurile nu se potrivesc"+Chr(13)+Chr(10) + Endif && Daca nr de paranteze deschise nu este acelasi cu nr de paranteze deschise + && (parantezele nu se pot sterge) + + If lnpdeschis+lnpinchis=Thisform.nr_criterii-lnsterse And Thisform.nr_criterii>0 And lnsterse#Thisform.nr_criterii + pcerrorstr=pcerrorstr+"Va trebuie un criteriu valid, nu numai grupuri"+Chr(13)+Chr(10) + Endif && daca suma obiectelor nesterse este egala cu suma parantezelor inseamna ca + && s-au introdus numai paranteze si niciun criteriu logic + + + *!* *** *** *** *** + * incheiere verificare erori + *!* *** *** *** *** + + *Parcurgere criterii pentru limba romana + lcFiltruRo="" + For nn =1 To Thisform.nr_criterii + ObjectName="Criteriu"+Transform(nn) + If Thisform.Containercriterii1.&ObjectName..Tag#"Sters" + If Thisform.Containercriterii1.&ObjectName..Tag="GroupOpen" Or Thisform.Containercriterii1.&ObjectName..Tag="GroupClose" + lcFiltruRo=lcFiltruRo + [ ] + Alltrim(Thisform.Containercriterii1.&ObjectName..Caption) + Loop + Endif + + lcTipCriteriu = Upper(Thisform.acriterii(Thisform.Containercriterii1.&ObjectName..criteriu_nr,3)) + If At('|', lcTipCriteriu) > 0 + lcTipCriteriu = Left(lcTipCriteriu, At('|', lcTipCriteriu) -1) && tipul criteriului N|GetMask(12,gnPA) + Endif + + *!* prepozitie operator + lcPrepop = Alltrim(Thisform.Containercriterii1.&ObjectName..Combo1.List(Thisform.Containercriterii1.&ObjectName..Combo1.ListIndex)) + lcPrepop1 = "" + Do Case + Case lcTipCriteriu = "E" + * NU FAC NIMIC + Case lcPrepop = "egala" + lcPrepop1 = [ cu '] + Case lcPrepop = "egal" + lcPrepop1 = [ cu '] + Case lcPrepop = "diferita" + lcPrepop1 = [ de '] + Case lcPrepop = "diferit" + lcPrepop1 = [ de '] + Case lcPrepop = "mai mare" + lcPrepop1 = [ decat '] + Case lcPrepop = "mai mica" + lcPrepop1 = [ decat '] + Case lcPrepop = "mai mic" + lcPrepop1 = [ decat '] + Case lcPrepop = "mai mica sau egala" + lcPrepop1 = [ decat '] + Case lcPrepop = "mai mare sau egala" + lcPrepop1 = [ decat '] + Case lcPrepop = "mai mica sau egal" + lcPrepop1 = [ decat '] + Case lcPrepop = "mai mare sau egal" + lcPrepop1 = [ decat '] + Case lcPrepop = "mai mic sau egal" + lcPrepop1 = [ decat '] + Case lcPrepop = "Lista..." + lcFiltruRo=Strtran(lcFiltruRo,"Lista... "," este ") + lcPrepop1 = [ '] + Case Inlist(lcPrepop, "are valori", "nu are valori") + lcPrepop1 = [ ] + Otherwise + lcPrepop1 = [ '] + Endcase + + *!* Spatiu + Operator logic + NumeCriteriu + operator + Do Case + Case lcTipCriteriu = 'E' && Spatiu + Operator logic + NumeCriteriu + lcFiltruRo = lcFiltruRo + [ ] + '~~'+Thisform.Containercriterii1.&ObjectName..logic + [ ] + Thisform.Containercriterii1.&ObjectName..numecriteriu + [ ] + Otherwise + lcFiltruRo = lcFiltruRo + [ ] + '~~'+Thisform.Containercriterii1.&ObjectName..logic + [ ] + Thisform.Containercriterii1.&ObjectName..numecriteriu + [ ]+ ; + lcPrepop + lcPrepop1 + Endcase + + *!* lcPrepop1 = "" + *!* DO CASE + *!* CASE lcTipCriteriu = "E" + *!* * NU FAC NIMIC + *!* lcPrepop = "" + *!* CASE lcPrepop = "egala" + *!* lcPrepop = "=" + *!* lcPrepop1 = [ '] + *!* CASE lcPrepop = "egal" + *!* lcPrepop = "=" + *!* lcPrepop1 = [ '] + *!* CASE lcPrepop = "diferita" + *!* lcPrepop = "<>" + *!* lcPrepop1 = [ '] + *!* CASE lcPrepop = "diferit" + *!* lcPrepop = "<>" + *!* lcPrepop1 = [ '] + *!* CASE lcPrepop = "mai mare" + *!* lcPrepop = ">" + *!* lcPrepop1 = [ '] + *!* CASE lcPrepop = "mai mica" + *!* lcPrepop = "<" + *!* lcPrepop1 = [ '] + *!* CASE lcPrepop = "mai mic" + *!* lcPrepop = "<" + *!* lcPrepop1 = [ '] + *!* CASE lcPrepop = "mai mica sau egala" + *!* lcPrepop = "<=" + *!* lcPrepop1 = [ '] + *!* CASE lcPrepop = "mai mare sau egala" + *!* lcPrepop = ">=" + *!* lcPrepop1 = [ '] + *!* CASE lcPrepop = "mai mica sau egal" + *!* lcPrepop = "<=" + *!* lcPrepop1 = [ '] + *!* CASE lcPrepop = "mai mare sau egal" + *!* lcPrepop = ">=" + *!* lcPrepop1 = [ '] + *!* CASE lcPrepop = "mai mic sau egal" + *!* lcPrepop = "<=" + *!* lcPrepop1 = [ '] + *!* CASE lcPrepop = "Lista..." + *!* lcPrepop = "=" + *!* lcPrepop1 = [ '] + *!* OTHERWISE + *!* lcPrepop = "" + *!* ENDCASE + + *!* *!* Spatiu + Operator logic + NumeCriteriu + operator + *!* DO CASE + *!* CASE lcTipCriteriu = 'E' && Spatiu + Operator logic + NumeCriteriu + *!* lcFiltruRo = lcFiltruRo + [ ] + THISFORM.Containercriterii1.&ObjectName..logic + [ ] + THISFORM.Containercriterii1.&ObjectName..numecriteriu + [ ] + *!* OTHERWISE + *!* lcFiltruRo = lcFiltruRo + [ ] + THISFORM.Containercriterii1.&ObjectName..logic + [ ] + THISFORM.Containercriterii1.&ObjectName..numecriteriu + [ ]+ ; + *!* lcPrepop + lcPrepop1 + *!* ENDCASE + + luValoareCriteriu = Thisform.Containercriterii1.&ObjectName..Text1.Value + + && FILTRU ROMANA + If(Thisform.Containercriterii1.&ObjectName..Text1.Visible=.T.) + Do Case + Case lcTipCriteriu = "D1" + lcFiltruRo = lcFiltruRo + luValoareCriteriu + [' ] + Case lcTipCriteriu = "D" + lcdate = Alltrim(Dtos(luValoareCriteriu)) + lcy = Substr(lcdate,1,4) + lcm = Substr(lcdate,5,2) + lcd = Substr(lcdate,7,2) + lcFiltruRo = lcFiltruRo + lcd + "-" + lcm + "-" + lcy + [' ] + Case lcTipCriteriu = "N" + lcFiltruRo = lcFiltruRo + Alltrim(Transform(luValoareCriteriu)) + [' ] + Case lcTipCriteriu = "E" Or Inlist(lcPrepop, "are valori", "nu are valori") + * NU FAC NIMIC + Otherwise + lcFiltruRo = lcFiltruRo+Strtran(Alltrim(luValoareCriteriu),"'",[]) + ['] + Endcase + + Endif + Endif + Endfor + + *Parcurgere criterii + For N= 1 To Thisform.nr_criterii + ObjectName="Criteriu"+Transform(N) + lcTag = Thisform.Containercriterii1.&ObjectName..Tag + lcLogic = Thisform.Containercriterii1.&ObjectName..logic + + If lcTag # "Sters" + If Inlist(lcTag, "GroupOpen", "GroupClose") + lcCaption = Thisform.Containercriterii1.&ObjectName..Caption + lcFiltru = lcFiltru + [ ] + '~~'+lcLogic + [ ] + Right(Alltrim(lcCaption),1)+ [ ] + *!* modificare ROAGEST v 2.0.55 + lcFiltruCript = lcFiltruCript + Iif(!Empty(Nvl(lcLogic,[])),lcLogic + [|],[]) + ; + RIGHT(Alltrim(lcCaption),1)+ [|] + *!* modificare ROAGEST v 2.0.55 ^ + && Daca obiectul curent este o paranteza + Else + && Daca obiectul curent nu este o paranteza + lcTipCriteriu = Thisform.acriterii(Thisform.Containercriterii1.&ObjectName..criteriu_nr,3) + If At('|', lcTipCriteriu) > 0 + lcTipCriteriu = Left(lcTipCriteriu, At('|', lcTipCriteriu) -1) && tipul criteriului N|GetMask(12,gnPA) + Endif + luValoareCriteriu = Thisform.Containercriterii1.&ObjectName..Text1.Value + *!* modificare ROAGEST v 2.0.55 + lcCaption = Thisform.Containercriterii1.&ObjectName..lbl_criteriu.Caption + Do Case + Case lcTipCriteriu = "D" + lcValoareCript = Dtoc(luValoareCriteriu) + Case lcTipCriteriu = "N" + lcValoareCript = Alltrim(Str(luValoareCriteriu,20,gnPCant)) + Otherwise + lcValoareCript = Upper(luValoareCriteriu) + Endcase + *!* modificare ROAGEST v 2.0.55 ^ + + * "Explicatie D&C\partd,partc\T\|E|ID_PARTD=<> OR ID_PARTC=<>\nom_parteneri" + lcConditieSpeciala = Thisform.acriterii(Thisform.Containercriterii1.&ObjectName..criteriu_nr,4) + lcIdValue = Thisform.Containercriterii1.&ObjectName..idValue + lcIdCamp = Thisform.Containercriterii1.&ObjectName..idCamp + lcCodCriteriu = Thisform.Containercriterii1.&ObjectName..codcriteriu + lcNumeCriteriu=This.acriterii(Thisform.Containercriterii1.&ObjectName..criteriu_nr,2) + + If lcTipCriteriu = "E" + lcFiltru = lcFiltru + [ ] + '~~'+lcLogic + [ ] + lcConditieSpeciala + [ ] + *!* modificare ROAGEST v 2.0.55 + lcFiltruCript = lcFiltruCript + Iif(!Empty(Nvl(lcLogic,'')),lcLogic + [|],[]) + ; + ALLTRIM(lcCaption) + [;] + strtranx(lcNumeCriteriu,"([^a-zA-Z0-9])",[]) + [;;;|] + *!* modificare ROAGEST v 2.0.55 ^ + && Daca obiectul curent este un criteriu special atunci + && copiaza codul special din array si opreste parcurgerea obiectelor + Loop + Endif + + && daca am completat camp id (obtinut din caut_alfa) + If lcIdValue # "" + *!* 21.11.2007 + && VERIFIC DACA AM O EXPRESIE COMPLEXA |E| in loc de o lista de coloane + && INLOCUIESC < CU lcIdValue + DO CASE + CASE '|E|'$lcNumeCriteriu + lcFiltru = lcFiltru + [ ] + '~~'+lcLogic + " (" + Strtran(Substr(Upper(lcNumeCriteriu),4), [<>], lcIdValue) + ")" + *!* modificare ROAGEST v 2.0.55 + lcFiltruCript = lcFiltruCript + Iif(!Empty(Nvl(lcLogic,'')),lcLogic + [|],[]) + ; + ALLTRIM(lcCaption) + [;] + ; + strtranx(lcNumeCriteriu,"([^a-zA-Z0-9])",[]) + [;;] + lcIdValue + [;] + lcValoareCript + [|] + *!* modificare ROAGEST v 2.0.55 ^ + CASE '|E|'$lcIdCamp && |E|ID_PARTD=<> OR ID_PARTC=<> + lcFiltru = lcFiltru + [ ] + '~~'+lcLogic + " (" + Strtran(Substr(Upper(lcIdCamp),4), [<>], lcIdValue) + ")" + lcFiltruCript = lcFiltruCript + Iif(!Empty(Nvl(lcLogic,'')),lcLogic + [|],[]) + ; + ALLTRIM(lcCaption) + [;] + ; + strtranx(lcIdCamp,"([^a-zA-Z0-9])",[]) + [;;] + lcIdValue + [;] + lcValoareCript + [|] + + OTHERWISE + lcFiltru = lcFiltru + [ ] + '~~'+lcLogic + " " + lcIdCamp + "=" + lcIdValue + *!* modificare ROAGEST v 2.0.55 + lcFiltruCript = lcFiltruCript + Iif(!Empty(Nvl(lcLogic,'')),lcLogic + [|],[]) + ; + ALLTRIM(lcCaption) + [;] + ; + lcNumeCriteriu + [;] + ; + Alltrim(Str(Thisform.Containercriterii1.&ObjectName..Combo1.ListIndex)) + [;] + ; + lcIdValue + [;] + ; + lcValoareCript + [|] + *!* modificare ROAGEST v 2.0.55 ^ + ENDCASE + Loop + Endif + + If lcTipCriteriu = "A" + lcFiltru = lcFiltru + [ ] + '~~'+lcLogic + [ (] + lcCodCriteriu +[) ] + *!* modificare ROAGEST v 2.0.55 + lcFiltruCript = lcFiltruCript + Iif(!Empty(Nvl(lcLogic,'')),lcLogic + [|],[]) + ; + ALLTRIM(lcCaption) + [;] + ; + lcNumeCriteriu + [;] + ; + Alltrim(Str(Thisform.Containercriterii1.&ObjectName..Combo1.ListIndex)) + [;] + ; + lcIdValue + [;|] + *!* modificare ROAGEST v 2.0.55 ^ + && Daca obiectul curent este un criteriu special atunci + && copiaza codul special din array si opreste parcurgerea obiectelor + Loop + Endif + + lcExpresie = Alltrim(Thisform.Containercriterii1.&ObjectName..Combo1.List(Thisform.Containercriterii1.&ObjectName..Combo1.ListIndex)) + Do Case + Case lcTipCriteriu = "D1" + lcvaloare = Alltrim(Str(Round(Val(Substr(luValoareCriteriu, 4))*12 + Val(Left(luValoareCriteriu, 2)),0))) + && perioada = an*12+luna + Case lcTipCriteriu = "D" + lcvaloare = Alltrim(Dtos(luValoareCriteriu)) + && data YYYYMMDD + Case lcTipCriteriu = "N" + lcvaloare = Alltrim(Transform(luValoareCriteriu)) + Otherwise + lcvaloare = Strtran(Alltrim(luValoareCriteriu),"'",['']) + Endcase && Preluarea valorilor se face diferit in functie de tipul criteriului + && mai exact daca este de tip data + *!* modificare ROAGEST v 2.0.55 + lcFiltruCript = lcFiltruCript + Iif(!Empty(Nvl(lcLogic,'')),lcLogic + [|],[]) + ; + ALLTRIM(lcCaption) + [;] + ; + Alltrim(lcNumeCriteriu) + [;] + ; + Alltrim(Str(Thisform.Containercriterii1.&ObjectName..Combo1.ListIndex)) + [;] + ; + Alltrim(lcIdValue) + [;] + Alltrim(lcValoareCript) + [|] + *!* modificare ROAGEST v 2.0.55 ^ + criteriustring="" + *!* lcnumecriteriu=thisform.&ObjectName..numecriteriu + + *!* 21.11.2007 + && VERIFIC DACA AM O EXPRESIE COMPLEXA |E| in loc de o lista de coloane + If !'|E|'$lcNumeCriteriu + *!* modificare ROACONT v 2.0.74 : UPPER + Alines(Campuri, Upper(lcNumeCriteriu),2,",") + *!* modificare ROACONT v 2.0.74 ^ + Else + Dimension Campuri(1) + Campuri(1) = Substr(lcNumeCriteriu, 4) + Endif + *!* 21.11.2007 ^ + If Alen(Campuri)>1 + lcFiltru = lcFiltru + [ ] + '~~'+lcLogic + " (" + Endif + For NrCampuri = 1 To Alen(Campuri) + If lcTipCriteriu = "D" + Do Case + ****************************************************************************************************** + ************* * Criterii de tip Data * **************************************************** + *************************************************************************************************CV*** + Case lcExpresie = "egala" && + criteriustring = [= To_Date('] + lcvaloare + [','YYYYMMDD')] && + Case lcExpresie = "diferita" && + criteriustring = [<> To_Date('] + lcvaloare + [','YYYYMMDD')] && + Case lcExpresie = "mai mica" && + criteriustring = [< To_Date('] + lcvaloare + [','YYYYMMDD')] && + Case lcExpresie = "mai mica sau egala" && + criteriustring = [<= To_Date('] + lcvaloare + [','YYYYMMDD')] && + Case lcExpresie = "mai mare sau egala" && + criteriustring = [>= To_Date('] + lcvaloare + [','YYYYMMDD')] && + Case lcExpresie = "mai mare" && + criteriustring = [> To_Date('] + lcvaloare + [','YYYYMMDD')] && + Endcase && + ******************Formarea stringului********************************************************************* + + Else && daca criteriul curent nu este de tip data(inseamna ca este numar sau text- cazurile speciale a fost tratat la inceput) + Do Case + ********************************************************************** + ************* * Criterii de tip text * ******************** + ******************************************************************CV** + Case '|E|'$lcNumeCriteriu + *!* 21.11.2007 + && VERIFIC DACA AM O EXPRESIE COMPLEXA |E| in loc de o lista de coloane + && INLOCUIESC <> cu lcValoare + criteriustring = Strtran(Substr(Upper(lcNumeCriteriu),4), [<>], lcvaloare) + Case lcExpresie="incepe cu" && + criteriustring= [LIKE '] + Upper(lcvaloare) + [%'] && + Case lcExpresie="este" && + criteriustring=[='] + Upper(lcvaloare) + ['] && + Case lcExpresie="nu este" && + criteriustring=[!='] + Upper(lcvaloare) + ['] && + Case lcExpresie="contine" && + criteriustring= [LIKE '%] + Upper(lcvaloare) + [%'] && + Case lcExpresie="nu contine" && + criteriustring= [NOT LIKE '%] + Upper(lcvaloare) + [%'] && + Case lcExpresie="nu are valori" && + criteriustring= [is null] && + Case lcExpresie="are valori" && + criteriustring= [is not null] && + ******************criterii numerice*********************************** + Case lcExpresie="mai mare sau egal" && + criteriustring = [>=]+Iif(lcvaloare="","0",lcvaloare) && + Case lcExpresie="mai mic sau egal" && + criteriustring = [<=]+Iif(lcvaloare="","0",lcvaloare) && + Case lcExpresie="egal" && + criteriustring = [=]+Iif(lcvaloare="","0",lcvaloare) && + Case lcExpresie="diferit" && + criteriustring = [<>]+Iif(lcvaloare="","0",lcvaloare) && + Case lcExpresie="mai mic" && + criteriustring = [<]+Iif(lcvaloare="","0",lcvaloare) && + Case lcExpresie="mai mare" && + criteriustring = [>]+Iif(lcvaloare="","0",lcvaloare) && + Endcase && + ******************Formarea stringului************************************* + Endif && Verifica tipului de criteriu + If NrCampuri > 1 + lcThislogic = "SAU" + Else + If Alen(Campuri) > 1 + lcThislogic = "" + Else + lcThislogic = lcLogic + Endif + ENDIF + IF !EMPTY(m.lcThislogic) + m.lcThislogic = '~~'+m.lcThislogic + ENDIF + + *!* modificare ROAGEST v 2.0.118 + *!* *!* modificare ROACONT v 2.0.74 : UPPER + *!* lcFiltru= lcFiltru + [ ] + lcThislogic + [ UPPER(] + Alltrim(Campuri(NrCampuri)) + [) ] ; + *!* + criteriustring + *!* *!* modificare ROACONT v 2.0.74 ^ + If Inlist(lcTipCriteriu ,[D],[D1],[N],[E],[A]) + lcFiltru= lcFiltru + [ ] + '~~'+lcThislogic + [ ] + Alltrim(Campuri(NrCampuri)) + [ ] + criteriustring + ELSE + * pentru cautare dupa SCD, SCC (in registrul jurnal) nu fac UPPER(SCD/SCC) = XXX pentru ca nu se foloseste cautarea dupa index ACT.IDX_ACT_006 (SCD, SCC) + IF INLIST(LOWER(Alltrim(Campuri(NrCampuri))), 'scd', 'scc') + lcFiltru= lcFiltru + [ ] + '~~'+lcThislogic + [ ] + Alltrim(Campuri(NrCampuri)) + [ ] + criteriustring + ELSE + lcFiltru= lcFiltru + [ ] + '~~'+lcThislogic + [ UPPER(] + Alltrim(Campuri(NrCampuri)) + [) ] + criteriustring + ENDIF + Endif + *!* modificare ROAGEST v 2.0.118 ^ + If NrCampuri=Alen(Campuri) And NrCampuri > 1 + lcFiltru= lcFiltru +")" + Endif + + Endfor && NrCampuri = 1 TO ALEN(Campuri) + NrCampuri=0 + Release Campuri + Endif && Verifica daca obiectul curent a fost operator de grup sau criteriu + Endif && Verifica daca obiectul nu este sters + Endfor && Parcurge toate obiectele de pe forma + + *!* lcFiltru=Strtran(lcFiltru, " SI ", " AND ") + *!* lcFiltru=Strtran(lcFiltru, " SAU ", " OR ") + lcFiltru=Strtran(lcFiltru, " ~~~~SI ", " AND ") + lcFiltru=Strtran(lcFiltru, " ~~~~SAU ", " OR ") + + lcFiltru=Strtran(lcFiltru, " ~~SI ", " AND ") + lcFiltru=Strtran(lcFiltru, " ~~SAU ", " OR ") + + Do While At(" ",lcFiltru)>0 + lcFiltru=Strtran(lcFiltru," "," ") + Enddo &&Scoate spatiile goale(din 2 spatii goale consecutive transforma in 1) + + Do While At("( )",lcFiltru)>0 Or At("( AND )",lcFiltru)>0 Or At("( OR )",lcFiltru)>0 Or At("( )",lcFiltru)>0 Or At("( AND",lcFiltru)>0 Or At("( OR",lcFiltru)>0 + lcFiltru=Strtran(lcFiltru,"AND ( )","") + lcFiltru=Strtran(lcFiltru,"OR ( )","") + lcFiltru=Strtran(lcFiltru,"AND ( )","") + lcFiltru=Strtran(lcFiltru,"OR ( )","") + lcFiltru=Strtran(lcFiltru,"( )","") + lcFiltru=Strtran(lcFiltru,"( AND )","") + lcFiltru=Strtran(lcFiltru,"( OR )","") + lcFiltru=Strtran(lcFiltru,"( AND","(") + lcFiltru=Strtran(lcFiltru,"( OR","(") + + Do While At(" ",lcFiltru)>0 + lcFiltru=Strtran(lcFiltru," "," ") + Enddo + Enddo && Curatare siruri goale, paranteze goale, si conditii logice goale "recursiv" + + lcFiltru = Alltrim(lcFiltru) + lcFiltruRo = Alltrim(lcFiltruRo) + If At("AND", lcFiltru) = 1 + lcFiltru = Substr(lcFiltru, 4) + Endif && curatare AND/OR de la inceputul conditiei + If At("OR", lcFiltru) = 1 + lcFiltru = Substr(lcFiltru, 3) + Endif && curatare AND/OR de la inceputul conditiei + + If At("SI", lcFiltruRo) = 1 + lcFiltruRo = Substr(lcFiltruRo, 3) + Endif && curatare SI/SAU de la inceputul conditiei + If At("SAU", lcFiltruRo) = 1 + lcFiltruRo = Substr(lcFiltruRo, 4) + Endif && curatare SI/SAU de la inceputul conditiei + + If Len(pcerrorstr)>0 + AMESSAGEBOX(pcerrorstr,16) + Return .F. && Daca au survenit erori + Else + lcFiltruRO = STRTRAN(m.lcFiltruRO, '~~', '') + lcFiltru = STRTRAN(m.lcFiltru, '~~', '') + lcFiltruCript = STRTRAN(m.lcFiltruCript, '~~', '') + + This.filtruro =Alltrim(lcFiltruRo) + This.filtru= Alltrim(lcFiltru) + *!* modificare ROAGEST v 2.0.55 + This.filtrucript = Alltrim(lcFiltruCript) + *!* modificare ROAGEST v 2.0.55 ^ + Return .T. && Daca nu au survenit erori trimite stringul la forma principala + Endif + + ENDPROC + + PROCEDURE Init + lPARAMETERS tacriterii + EXTERNAL ARRAY tacriterii + DIMENSION this.acriterii(alen(tacriterii,1), 6) + ACOPY(tacriterii,this.acriterii) + DODEFAULT() + this.lb_titlu_alb_b121.Caption="Criterii de filtrare" + + thisform.AddObject("SelectorCriteriu","mycrit",@tacriterii) + *thisform.SelectorCriteriu.left=(thisform.Width-thisform.SelectorCriteriu.width)/2 + thisform.SelectorCriteriu.left=25 + thisform.SelectorCriteriu.Top=40 + + thisform.SelectorCriteriu.visible=.T. + thisform.SelectorCriteriu.Combo1.Setfocus + thisform.do_colectienom() + thisform.SelectorCriteriu.Combo1.Setfocus + + this.Containercriterii1.Top=this.line1.Top + 10 + currentcontainerheight= (this.Height-this.line1.Top-20)/30 + this.Containercriterii1.height=FLOOR(currentcontainerheight)*30 + + ENDPROC + + PROCEDURE KeyPress + Lparameters nKeyCode, nShiftAltCtrl + If nKeyCode=27 + Nodefault + This.do_renunt() + Else + DoDefault(nKeyCode, nShiftAltCtrl) + Endif + + + ENDPROC + + PROCEDURE paramsmatrix + ENDPROC + + PROCEDURE Show + LPARAMETERS nStyle + thisform.SelectorCriteriu.Combo1.Setfocus + ENDPROC + +ENDDEFINE + +DEFINE CLASS mycrit AS container + *< CLASSDATA: Baseclass="container" Timestamp="" Scale="Pixels" Uniqueid="" /> + + *-- OBJECTDATA items order determines ZOrder / El orden de los items OBJECTDATA determina el ZOrder + *< OBJECTDATA: ObjPath="lbl_Logic" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="cmd_OpenGroup" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="cmd_CloseGroup" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="Combo1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="cmd_Add" UniqueID="" Timestamp="" /> + + * + *m: loadarray + *p: logic + *p: negat + *a: acriteriiuns[1,4] + *a: acriterii[1,4] + *p: _memberdata && XML Metadata for customizable properties + * + + * + BackStyle = 0 + BorderWidth = 0 + Height = 25 + logic = + Name = "mycrit" + negat = .F. + Width = 425 + _memberdata = + + + * + + ADD OBJECT 'cmd_Add' AS commandbutton WITH ; + BackColor = 255,255,255, ; + Caption = "Adauga criteriu", ; + Enabled = .F., ; + Height = 21, ; + Left = 327, ; + Name = "cmd_Add", ; + Top = 2, ; + Visible = .F., ; + Width = 96 + *< END OBJECT: BaseClass="commandbutton" /> + + ADD OBJECT 'cmd_CloseGroup' AS commandbutton WITH ; + BackColor = 255,255,255, ; + Caption = ")", ; + Height = 21, ; + Left = 68, ; + Name = "cmd_CloseGroup", ; + TabStop = .F., ; + Top = 2, ; + Width = 17 + *< END OBJECT: BaseClass="commandbutton" /> + + ADD OBJECT 'cmd_OpenGroup' AS commandbutton WITH ; + BackColor = 255,255,255, ; + Caption = "(", ; + Height = 21, ; + Left = 48, ; + Name = "cmd_OpenGroup", ; + TabStop = .F., ; + Top = 2, ; + Width = 17 + *< END OBJECT: BaseClass="commandbutton" /> + + ADD OBJECT 'Combo1' AS combobox WITH ; + DisplayCount = 8, ; + Height = 21, ; + Left = 99, ; + Name = "Combo1", ; + NumberOfElements = 8, ; + RowSource = "", ; + RowSourceType = 1, ; + SpecialEffect = 1, ; + Style = 2, ; + Top = 1, ; + Visible = .F., ; + Width = 223 + *< END OBJECT: BaseClass="combobox" /> + + ADD OBJECT 'lbl_Logic' AS label WITH ; + Alignment = 2, ; + BackStyle = 0, ; + Caption = "SI", ; + FontBold = .T., ; + FontName = "Verdana", ; + FontSize = 10, ; + FontUnderline = .T., ; + ForeColor = 0,0,255, ; + Height = 17, ; + Left = 15, ; + MousePointer = 15, ; + Name = "lbl_Logic", ; + Top = 4, ; + Width = 33 + *< END OBJECT: BaseClass="label" /> + + PROCEDURE Destroy + _Screen.StatusBar.ctlMessage="" + _Screen.StatusBar.tag="" + ENDPROC + + PROCEDURE Init + Lparameters tacriterii + External Array tacriterii + This.logic="SI" + This.negat=.F. + This.lbl_Logic.Caption=This.logic + Dimension This.acriterii(Alen(tacriterii,1),7) + Dimension This.acriteriiuns(Alen(tacriterii,1),6) + Acopy(tacriterii,This.acriteriiuns) + + For x=1 To Alen(This.acriterii,1) + For i = 1 To 6 + This.acriterii(x,i)=tacriterii(x,i) + Endfor + This.acriterii(x,7)=x + Endfor + + nleft=110 + ntop=55 + ncontor=0 + ncontorcols=1 + nrlines=Ceiling(Alen(This.acriterii,1)/7) + Asort(This.acriterii) + + For N = 1 To Alen(This.acriterii,1) + ncontor=ncontor+1 + + This.combo1.AddItem(This.acriterii(N,1)) + + lbl_Criteriu="lbl_Criteriu"+Transform(N) + This.Parent.AddObject(lbl_Criteriu,"cmd_addcriteriu") + This.Parent.&lbl_Criteriu..Top=ntop + ncontor *17 + This.Parent.&lbl_Criteriu..Left=nleft * ncontorcols - 70 + This.Parent.&lbl_Criteriu..Caption=This.acriteriiuns(N,1) + IF !EMPTY(This.acriteriiuns(N,6)) + This.Parent.&lbl_Criteriu..ToolTipText=This.acriteriiuns(N,6) + ENDIF + This.Parent.&lbl_Criteriu..Visible=.T. + If ncontor=nrlines + ncontor=0 + ncontorcols=ncontorcols+1 + Endif + Endfor + + + This.Parent.line1.Top=nrlines*17 + ntop+ 20 + This.Parent.currentHeight=10 + This.combo1.ListIndex=1 + This.cmd_Add.Enabled= .T. + + + ENDPROC + + PROCEDURE loadarray + Lparameters tacriterii + External Array tacriterii + This.logic="SI" + This.negat=.F. + This.lbl_Logic.Caption=This.logic + Dimension This.acriterii(Alen(tacriterii,1),7) + Acopy(tacriterii,This.acriterii) + This.combo1.Clear + + + For N = 1 To Alen(This.acriterii,1) + lctestText=This.acriterii(N,1) + lbExists=.F. + For x=1 To This.Parent.nr_criterii + ObjectName="Criteriu"+Transform(x) + If This.Parent.Containercriterii1.&ObjectName..Tag#"GroupOpen" And This.Parent.Containercriterii1.&ObjectName..Tag#"GroupClose" And This.Parent.Containercriterii1.&ObjectName..Tag#"Sters" + If This.Parent.Containercriterii1.&ObjectName..numecriteriu=lctestText + lbExists=.T. + Endif + Endif + Endfor + If lbExists And (This.acriterii(N,3)="E" Or This.acriterii(N,3)="A") + This.combo1.AddItem("\]"+This.acriterii(N,1),N,1) + Else + This.combo1.AddItem(This.acriterii(N,1),N,1) + Endif + + + Endfor + This.cmd_Add.Enabled= .T. + + ENDPROC + + PROCEDURE cmd_Add.Click + *!* Adauga criteriu pe container + lctextoptions="incepe cu,este,nu este,contine,nu contine,nu are valori,are valori" + lcnroptions="egal,diferit,mai mare sau egal,mai mic sau egal,mai mare,mai mic" + lcdataoptions="egala,diferita,mai mare,mai mica,mai mare sau egala,mai mica sau egala" + lctext="" + lcClassId="" + lnoftimes=1 + IF SUBSTR(THIS.PARENT.combo1.LIST(THIS.PARENT.combo1.LISTINDEX),1,1)#"\" + LOCAL lcTipCriteriu + lcTipCriteriu = THIS.PARENT.acriteriiuns(THIS.PARENT.acriterii(THIS.PARENT.combo1.LISTINDEX,6),3) + IF AT('|', lcTipCriteriu) > 0 + lcTipCriteriu = LEFT(lcTipCriteriu, AT('|', lcTipCriteriu) -1) && tipul criteriului N|GetMask(12,gnPA) + ENDIF + + DO WHILE lnoftimes < 3 + DO CASE + CASE INLIST(lcTipCriteriu, "N", "D1") + lcOptions = lcnroptions + CASE lcTipCriteriu = "T" + lcOptions=lctextoptions + CASE lcTipCriteriu = "I" + lcOptions="Doarlista" + CASE lcTipCriteriu = "D" + lcOptions=lcdataoptions + CASE lcTipCriteriu = "E" + lcOptions="Disabled" + CASE lcTipCriteriu = "A" + lcOptions = SUBSTR(THIS.PARENT.acriteriiuns(THIS.PARENT.acriterii(THIS.PARENT.combo1.LISTINDEX,6),4),1,AT("#",THIS.PARENT.acriteriiuns(THIS.PARENT.acriterii(THIS.PARENT.combo1.LISTINDEX,6),4))-1) + lctext = SUBSTR(THIS.PARENT.acriteriiuns(THIS.PARENT.acriterii(THIS.PARENT.combo1.LISTINDEX,6),4),AT("#",THIS.PARENT.acriteriiuns(THIS.PARENT.acriterii(THIS.PARENT.combo1.LISTINDEX,6),4))+1) + IF(THIS.PARENT.acriteriiuns(THIS.PARENT.acriterii(THIS.PARENT.combo1.LISTINDEX,6),2))#"nofield" + lcClassId = THIS.PARENT.acriteriiuns(THIS.PARENT.acriterii(THIS.PARENT.combo1.LISTINDEX,6),2) + ENDIF + OTHERWISE + lcOptions = lctextoptions + ENDCASE + + IF THIS.PARENT.acriteriiuns(THIS.PARENT.acriterii(THIS.PARENT.combo1.LISTINDEX,6),5)#"" AND THIS.PARENT.acriteriiuns(THIS.PARENT.acriterii(THIS.PARENT.combo1.LISTINDEX,6),5)#"none" + lcKeyNomenclator=THIS.PARENT.acriteriiuns(THIS.PARENT.acriterii(THIS.PARENT.combo1.LISTINDEX,6),5) + lcIdCamp=THIS.PARENT.acriteriiuns(THIS.PARENT.acriterii(THIS.PARENT.combo1.LISTINDEX,6),4) + ELSE + lcKeyNomenclator="none" + lcIdCamp="" + ENDIF + + + THIS.PARENT.PARENT.nr_criterii=THIS.PARENT.PARENT.nr_criterii+1 + NrCriterii=THIS.PARENT.PARENT.nr_criterii + ObjectName="Criteriu"+TRANSFORM(NrCriterii) + + PreviusObjectName="Criteriu"+TRANSFORM(NrCriterii-1) + IF(NrCriterii=1 OR THIS.PARENT.PARENT.Containercriterii1.&PreviusObjectName..TAG="GroupOpen") + logicCaption="" + ELSE + *** in caz ca sunt sterse primele inregistrari + lbexinreg=.F. + FOR i = 1 TO NrCriterii-1 + locurObj="Criteriu"+TRANSFORM(i) + IF THIS.PARENT.PARENT.Containercriterii1.&locurObj..TAG#"Sters" + lbexinreg=.T. + ENDIF + ENDFOR + *** + IF lbexinreg=.T. + logicCaption=THIS.PARENT.logic + ELSE + logicCaption="" + ENDIF + ENDIF + + WITH THIS.PARENT.PARENT + .Containercriterii1.ADDOBJECT("&ObjectName","_ccriteriu",THIS.PARENT.combo1.LIST(THIS.PARENT.combo1.LISTINDEX),logicCaption,lcOptions,lcKeyNomenclator,THIS.PARENT.acriteriiuns(THIS.PARENT.acriterii(THIS.PARENT.combo1.LISTINDEX,6),3)) + IF lcIdCamp#"" + .Containercriterii1.&ObjectName..idCamp=lcIdCamp + ENDIF + .currentHeight=.currentHeight+.Containercriterii1.&ObjectName..HEIGHT+10 + .Containercriterii1.&ObjectName..LEFT=.currentLeft + .Containercriterii1.&ObjectName..criteriu_nr=THIS.PARENT.acriterii(THIS.PARENT.combo1.LISTINDEX,6) + lcthiscrit="lbl_Criteriu"+TRANSFORM(THIS.PARENT.acriterii(THIS.PARENT.combo1.LISTINDEX,6)) + THIS.PARENT.PARENT.&lcthiscrit..FORECOLOR=RGB(15,15,200) + + *!* setare Mai mare sau egal / Mai mic sau egal in functie de ce e selectat + IF lcTipCriteriu = "D" + IF lnoftimes=1 + .Containercriterii1.&ObjectName..combo1.VALUE=.Containercriterii1.&ObjectName..combo1.LIST(5) + ELSE + .Containercriterii1.&ObjectName..combo1.VALUE=.Containercriterii1.&ObjectName..combo1.LIST(6) + ENDIF + ENDIF + IF INLIST(lcTipCriteriu, "N", "D1") + IF lnoftimes=1 + .Containercriterii1.&ObjectName..combo1.VALUE=.Containercriterii1.&ObjectName..combo1.LIST(3) + ELSE + .Containercriterii1.&ObjectName..combo1.VALUE=.Containercriterii1.&ObjectName..combo1.LIST(4) + ENDIF + ENDIF + *!* sfarsit setare Mai mare sau egal / Mai mic sau egal in functie de ce e selectat + + + lcspecial="false" + IF lctext#"" + .Containercriterii1.&ObjectName..text1.VALUE=lctext + .Containercriterii1.&ObjectName..codcriteriu=SUBSTR(lctext,1,AT(",",lctext)-1) + .Containercriterii1.&ObjectName..text1.VISIBLE=.F. + .Containercriterii1.&ObjectName..ClassId=lcClassId + .Containercriterii1.&ObjectName..combo1.WIDTH=275 + THIS.PARENT.combo1.LIST(THIS.PARENT.combo1.LISTINDEX)="\]"+THIS.PARENT.combo1.LIST(THIS.PARENT.combo1.LISTINDEX) + + IF(THIS.PARENT.combo1.LISTINDEX + + *-- OBJECTDATA items order determines ZOrder / El orden de los items OBJECTDATA determina el ZOrder + *< OBJECTDATA: ObjPath="Combo1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="lbl_Logic" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="cmd_Add" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="cmd_OpenGroup" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="cmd_CloseGroup" UniqueID="" Timestamp="" /> + + * + *m: loadarray + *p: logic + *p: negat + *a: acriteriiuns[1,4] + *a: acriterii[1,4] + * + + * + BackStyle = 0 + BorderWidth = 0 + Height = 21 + logic = + Name = "mycrit" + negat = .F. + Width = 425 + * + + ADD OBJECT 'cmd_Add' AS commandbutton WITH ; + BackColor = 255,255,255, ; + Caption = "Adauga criteriu", ; + Enabled = .F., ; + Height = 21, ; + Left = 282, ; + Name = "cmd_Add", ; + Top = 1, ; + Width = 96 + *< END OBJECT: BaseClass="commandbutton" /> + + ADD OBJECT 'cmd_CloseGroup' AS commandbutton WITH ; + BackColor = 255,255,255, ; + Caption = ")", ; + Height = 21, ; + Left = 401, ; + Name = "cmd_CloseGroup", ; + Top = 1, ; + Width = 17 + *< END OBJECT: BaseClass="commandbutton" /> + + ADD OBJECT 'cmd_OpenGroup' AS commandbutton WITH ; + BackColor = 255,255,255, ; + Caption = "(", ; + Height = 21, ; + Left = 381, ; + Name = "cmd_OpenGroup", ; + Top = 1, ; + Width = 17 + *< END OBJECT: BaseClass="commandbutton" /> + + ADD OBJECT 'Combo1' AS combobox WITH ; + DisplayCount = 8, ; + Height = 21, ; + Left = 54, ; + Name = "Combo1", ; + NumberOfElements = 8, ; + RowSource = "", ; + RowSourceType = 1, ; + SpecialEffect = 1, ; + Style = 2, ; + Top = 0, ; + Width = 223 + *< END OBJECT: BaseClass="combobox" /> + + ADD OBJECT 'lbl_Logic' AS label WITH ; + Alignment = 2, ; + BackStyle = 0, ; + Caption = "SI", ; + FontBold = .T., ; + FontName = "Verdana", ; + FontSize = 10, ; + FontUnderline = .T., ; + ForeColor = 0,0,255, ; + Height = 17, ; + Left = 15, ; + MousePointer = 15, ; + Name = "lbl_Logic", ; + Top = 4, ; + Width = 33 + *< END OBJECT: BaseClass="label" /> + + PROCEDURE Destroy + _Screen.StatusBar.ctlMessage="" + _Screen.StatusBar.tag="" + ENDPROC + + PROCEDURE Init + LPARAMETERS tacriterii + EXTERNAL ARRAY tacriterii + this.logic="SI" + this.negat=.F. + this.lbl_Logic.caption=this.logic + DIMENSION this.acriterii(ALEN(tacriterii,1),6) + DIMENSION this.acriteriiuns(ALEN(tacriterii,1),5) + ACOPY(tacriterii,this.acriteriiuns) + + FOR x=1 TO ALEN(this.acriterii,1) + FOR i = 1 TO 5 + this.acriterii(x,i)=tacriterii(x,i) + ENDFOR + this.acriterii(x,6)=x + ENDFOR + + nleft=110 + ntop=55 + ncontor=0 + ncontorcols=1 + nrlines=Ceiling(ALEN(this.acriterii,1)/7) + ASORT(this.acriterii) + + FOR n = 1 TO ALEN(this.acriterii,1) + ncontor=ncontor+1 + + this.combo1.AddItem(this.acriterii(n,1)) + + lbl_Criteriu="lbl_Criteriu"+TRANSFORM(n) + this.Parent.AddObject(lbl_Criteriu,"cmd_addcriteriu") + this.Parent.&lbl_Criteriu..top=ntop + nContor *17 + this.Parent.&lbl_Criteriu..left=nleft * nContorcols - 70 + this.Parent.&lbl_Criteriu..caption=this.acriteriiuns(n,1) + this.Parent.&lbl_Criteriu..visible=.T. + IF ncontor=nrlines + ncontor=0 + ncontorcols=ncontorcols+1 + ENDIF + ENDFOR + + + this.Parent.line1.top=nrlines*17 + ntop+ 20 + this.Parent.currentHeight=10 + this.combo1.ListIndex=1 + this.cmd_Add.Enabled= .T. + + + ENDPROC + + PROCEDURE loadarray + LPARAMETERS tacriterii + EXTERNAL ARRAY tacriterii + this.logic="SI" + this.negat=.F. + this.lbl_Logic.caption=this.logic + DIMENSION this.acriterii(ALEN(tacriterii,1),6) + ACOPY(tacriterii,this.acriterii) + this.combo1.Clear + + + FOR n = 1 TO ALEN(this.acriterii,1) + lctestText=this.acriterii(n,1) + lbExists=.F. + FOR x=1 TO this.Parent.nr_criterii + ObjectName="Criteriu"+Transform(x) + IF this.Parent.Containercriterii1.&ObjectName..Tag#"GroupOpen" AND this.Parent.Containercriterii1.&ObjectName..Tag#"GroupClose" AND this.Parent.Containercriterii1.&ObjectName..Tag#"Sters" + IF this.Parent.Containercriterii1.&ObjectName..numecriteriu=lctestText + lbExists=.T. + ENDIF + ENDIF + ENDFOR + IF lbExists AND (this.acriterii(n,3)="E" OR this.acriterii(n,3)="A") + this.combo1.AddItem("\]"+this.acriterii(n,1),n,1) + ELSE + this.combo1.AddItem(this.acriterii(n,1),n,1) + ENDIF + + + ENDFOR + this.cmd_Add.Enabled= .T. + + ENDPROC + + PROCEDURE cmd_Add.Click + *!* Adauga criteriu pe container + lctextoptions="incepe cu,este,nu este,contine,nu contine,nu are valori,are valori" + lcnroptions="egal,diferit,mai mare sau egal,mai mic sau egal,mai mare,mai mic" + lcdataoptions="egala,diferita,mai mare,mai mica,mai mare sau egala,mai mica sau egala" + lctext="" + lcClassId="" + lnoftimes=1 + IF SUBSTR(THIS.PARENT.combo1.LIST(THIS.PARENT.combo1.LISTINDEX),1,1)#"\" + LOCAL lcTipCriteriu + lcTipCriteriu = THIS.PARENT.acriteriiuns(THIS.PARENT.acriterii(THIS.PARENT.combo1.LISTINDEX,6),3) + IF AT('|', lcTipCriteriu) > 0 + lcTipCriteriu = LEFT(lcTipCriteriu, AT('|', lcTipCriteriu) -1) && tipul criteriului N|GetMask(12,gnPA) + ENDIF + + DO WHILE lnoftimes < 3 + DO CASE + CASE INLIST(lcTipCriteriu, "N", "D1") + lcOptions = lcnroptions + CASE lcTipCriteriu = "T" + lcOptions=lctextoptions + CASE lcTipCriteriu = "I" + lcOptions="Doarlista" + CASE lcTipCriteriu = "D" + lcOptions=lcdataoptions + CASE lcTipCriteriu = "E" + lcOptions="Disabled" + CASE lcTipCriteriu = "A" + lcOptions = SUBSTR(THIS.PARENT.acriteriiuns(THIS.PARENT.acriterii(THIS.PARENT.combo1.LISTINDEX,6),4),1,AT("#",THIS.PARENT.acriteriiuns(THIS.PARENT.acriterii(THIS.PARENT.combo1.LISTINDEX,6),4))-1) + lctext = SUBSTR(THIS.PARENT.acriteriiuns(THIS.PARENT.acriterii(THIS.PARENT.combo1.LISTINDEX,6),4),AT("#",THIS.PARENT.acriteriiuns(THIS.PARENT.acriterii(THIS.PARENT.combo1.LISTINDEX,6),4))+1) + IF(THIS.PARENT.acriteriiuns(THIS.PARENT.acriterii(THIS.PARENT.combo1.LISTINDEX,6),2))#"nofield" + lcClassId = THIS.PARENT.acriteriiuns(THIS.PARENT.acriterii(THIS.PARENT.combo1.LISTINDEX,6),2) + ENDIF + OTHERWISE + lcOptions = lctextoptions + ENDCASE + + IF THIS.PARENT.acriteriiuns(THIS.PARENT.acriterii(THIS.PARENT.combo1.LISTINDEX,6),5)#"" AND THIS.PARENT.acriteriiuns(THIS.PARENT.acriterii(THIS.PARENT.combo1.LISTINDEX,6),5)#"none" + lcKeyNomenclator=THIS.PARENT.acriteriiuns(THIS.PARENT.acriterii(THIS.PARENT.combo1.LISTINDEX,6),5) + lcIdCamp=THIS.PARENT.acriteriiuns(THIS.PARENT.acriterii(THIS.PARENT.combo1.LISTINDEX,6),4) + ELSE + lcKeyNomenclator="none" + lcIdCamp="" + ENDIF + + + THIS.PARENT.PARENT.nr_criterii=THIS.PARENT.PARENT.nr_criterii+1 + NrCriterii=THIS.PARENT.PARENT.nr_criterii + ObjectName="Criteriu"+TRANSFORM(NrCriterii) + + PreviusObjectName="Criteriu"+TRANSFORM(NrCriterii-1) + IF(NrCriterii=1 OR THIS.PARENT.PARENT.Containercriterii1.&PreviusObjectName..TAG="GroupOpen") + logicCaption="" + ELSE + *** in caz ca sunt sterse primele inregistrari + lbexinreg=.F. + FOR i = 1 TO NrCriterii-1 + locurObj="Criteriu"+TRANSFORM(i) + IF THIS.PARENT.PARENT.Containercriterii1.&locurObj..TAG#"Sters" + lbexinreg=.T. + ENDIF + ENDFOR + *** + IF lbexinreg=.T. + logicCaption=THIS.PARENT.logic + ELSE + logicCaption="" + ENDIF + ENDIF + + WITH THIS.PARENT.PARENT + .Containercriterii1.ADDOBJECT("&ObjectName","_ccriteriu",THIS.PARENT.combo1.LIST(THIS.PARENT.combo1.LISTINDEX),logicCaption,lcOptions,lcKeyNomenclator,THIS.PARENT.acriteriiuns(THIS.PARENT.acriterii(THIS.PARENT.combo1.LISTINDEX,6),3)) + IF lcIdCamp#"" + .Containercriterii1.&ObjectName..idCamp=lcIdCamp + ENDIF + .currentHeight=.currentHeight+.Containercriterii1.&ObjectName..HEIGHT+10 + .Containercriterii1.&ObjectName..LEFT=.currentLeft + .Containercriterii1.&ObjectName..criteriu_nr=THIS.PARENT.acriterii(THIS.PARENT.combo1.LISTINDEX,6) + lcthiscrit="lbl_Criteriu"+TRANSFORM(THIS.PARENT.acriterii(THIS.PARENT.combo1.LISTINDEX,6)) + THIS.PARENT.PARENT.&lcthiscrit..FORECOLOR=RGB(15,15,200) + + *!* setare Mai mare sau egal / Mai mic sau egal in functie de ce e selectat + IF lcTipCriteriu = "D" + IF lnoftimes=1 + .Containercriterii1.&ObjectName..combo1.VALUE=.Containercriterii1.&ObjectName..combo1.LIST(5) + ELSE + .Containercriterii1.&ObjectName..combo1.VALUE=.Containercriterii1.&ObjectName..combo1.LIST(6) + ENDIF + ENDIF + IF INLIST(lcTipCriteriu, "N", "D1") + IF lnoftimes=1 + .Containercriterii1.&ObjectName..combo1.VALUE=.Containercriterii1.&ObjectName..combo1.LIST(3) + ELSE + .Containercriterii1.&ObjectName..combo1.VALUE=.Containercriterii1.&ObjectName..combo1.LIST(4) + ENDIF + ENDIF + *!* sfarsit setare Mai mare sau egal / Mai mic sau egal in functie de ce e selectat + + + lcspecial="false" + IF lctext#"" + .Containercriterii1.&ObjectName..text1.VALUE=lctext + .Containercriterii1.&ObjectName..codcriteriu=SUBSTR(lctext,1,AT(",",lctext)-1) + .Containercriterii1.&ObjectName..text1.VISIBLE=.F. + .Containercriterii1.&ObjectName..ClassId=lcClassId + .Containercriterii1.&ObjectName..combo1.WIDTH=275 + THIS.PARENT.combo1.LIST(THIS.PARENT.combo1.LISTINDEX)="\]"+THIS.PARENT.combo1.LIST(THIS.PARENT.combo1.LISTINDEX) + + IF(THIS.PARENT.combo1.LISTINDEX + + * + *p: codcriteriu + *p: _memberdata && XML Metadata for customizable properties + * + + * + Caption = "Label1" + codcriteriu = + Height = 20 + MousePointer = 15 + Name = "paranteza" + Width = 68 + _memberdata = + + + * + + PROCEDURE Click + CurrentObjectNumber=VAL(ALLTRIM(SUBSTR(THIS.NAME,9))) + lnDeletedHeight =THIS.HEIGHT + 10 + THIS.PARENT.PARENT.CurrentHeight=THIS.PARENT.PARENT.CurrentHeight - lnDeletedHeight + THIS.HEIGHT=0 + + DO CASE + CASE THIS.TAG="GroupClose" + THIS.TAG="Sters" + THIS.PARENT.PARENT.currentLeft=THIS.PARENT.PARENT.currentLeft+25 + CASE THIS.TAG="GroupOpen" AND THIS.PARENT.PARENT.currentLeft > 25 + THIS.TAG="Sters" + THIS.PARENT.PARENT.currentLeft = THIS.PARENT.PARENT.currentLeft-25 + OTHERWISE + THIS.TAG="Sters" + ENDCASE + + FOR N=CurrentObjectNumber TO THIS.PARENT.PARENT.nr_criterii + ObjectName="Criteriu"+TRANSFORM(N) + THIS.PARENT.&ObjectName..TOP=THIS.PARENT.&ObjectName..TOP-lnDeletedHeight + ENDFOR + + + + + ENDPROC + + PROCEDURE MouseEnter + LPARAMETERS nButton, nShift, nXCoord, nYCoord + this.ForeColor=RGB(0,0,255) + this.FontBold=.T. + + + ENDPROC + + PROCEDURE MouseLeave + LPARAMETERS nButton, nShift, nXCoord, nYCoord + this.ForeColor=RGB(0,0,0) + this.FontBold=.F. + + ENDPROC + +ENDDEFINE + +DEFINE CLASS scontainer AS container + *< CLASSDATA: Baseclass="container" Timestamp="" Scale="Pixels" Uniqueid="" /> + + *-- OBJECTDATA items order determines ZOrder / El orden de los items OBJECTDATA determina el ZOrder + *< OBJECTDATA: ObjPath="up_1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="down_1" UniqueID="" Timestamp="" /> + + * + *m: do_refresh + *m: do_scrolldown + *m: do_scrollup + *m: scroll_bottom + *p: aaaaaaa + *p: offset + *p: pic + * + + * + aaaaaaa = + BackStyle = 0 + BorderWidth = 0 + Height = 330 + Name = "scontainer" + offset = 0 + pic = .F. + Picture = + Width = 817 + * + + ADD OBJECT 'down_1' AS but_jos WITH ; + Left = 780, ; + Name = "down_1", ; + Top = 43 + *< END OBJECT: ClassLib="cmd_butoane.vcx" BaseClass="commandbutton" /> + + ADD OBJECT 'up_1' AS but_sus WITH ; + Left = 780, ; + Name = "up_1", ; + Top = 13 + *< END OBJECT: ClassLib="cmd_butoane.vcx" BaseClass="commandbutton" /> + + PROCEDURE do_refresh + LOCAL lnNr + lnheight=10 + For Each Item In This.Controls + If Item.Name#"up_1" And Item.Name#"down_1" And Item.Tag#"Sters" And Item.Top>0 + lnheight=lnheight+Item.Height+10 + Endif + Endfor + If lnheight> This.Height + This.down_1.Tag="activ" + This.down_1.Visible=.T. + Else + This.down_1.Tag="inactiv" + This.down_1.Visible=.F. + Endif + lnNr=0 + goodobjectname="none" + DO WHILE lnNr (Solo para binarios VFP 9 / Only for VFP 9 binaries) +* +* +DEFINE CLASS frm_debcred AS _frmbase OF "_frm_base.vcx" + *< CLASSDATA: Baseclass="form" Timestamp="" Scale="Pixels" Uniqueid="" /> + + *-- OBJECTDATA items order determines ZOrder / El orden de los items OBJECTDATA determina el ZOrder + *< OBJECTDATA: ObjPath="_grdbase1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="_grdbase1.cDataAct.Header1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="_grdbase1.cDataAct.Text1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="_grdbase1.cNrAct.Header1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="_grdbase1.cNrAct.Text1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="_grdbase1.cSuma.Header1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="_grdbase1.cSuma.Text1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="_grdbase1.cExpl3.Header1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="_grdbase1.cExpl3.Text1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="_grdbase1.cScd.Header1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="_grdbase1.cScd.Text1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="_grdbase1.cScc.Header1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="_grdbase1.cScc.Text1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="_grdbase1.cExpl1.Header1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="_grdbase1.cExpl1.Text1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="_grdbase1.cExpl2.Header1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="_grdbase1.cExpl2.Text1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="_grdbase1.cDataIreg.Header1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="_grdbase1.cDataIreg.Text1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="_grdbase1.cFelDoc.Header1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="_grdbase1.cFelDoc.Text1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="_grdbase1.cUtil.Header1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="_grdbase1.cUtil.Text1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="_grdbase1.cDataOra.Header1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="_grdbase1.cDataOra.Text1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="_grdbase1.Column13.Header1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="_grdbase1.Column13.Text1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="_grdbase1.Column14.Header1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="_grdbase1.Column14.Text1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="Lb_titlu1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="But_listare" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="Clb_total" UniqueID="" Timestamp="" /> + + * + DoCreate = .T. + Height = 437 + Name = "frm_debcred" + Width = 752 + _shape1.Height = 29 + _shape1.Left = 0 + _shape1.Name = "_shape1" + _shape1.Top = 0 + _shape1.Width = 756 + _shape2.Height = 29 + _shape2.Left = 684 + _shape2.Name = "_shape2" + _shape2.Top = 0 + _shape2.Width = 69 + Lb_titlu_alb_b121.FontBold = .T. + Lb_titlu_alb_b121.Name = "Lb_titlu_alb_b121" + Lb_titlu_alb_b121.TabIndex = 4 + BUT_TERMIN1.Left = 721 + BUT_TERMIN1.Name = "BUT_TERMIN1" + BUT_TERMIN1.TabIndex = 3 + BUT_TERMIN1.Top = 1 + Gridsort1.Name = "Gridsort1" + * + + ADD OBJECT '_grdbase1' AS _grdbase WITH ; + ColumnCount = 14, ; + DeleteMark = .F., ; + Height = 312, ; + Left = 22, ; + Name = "_grdbase1", ; + Panel = 1, ; + RecordSource = "acn1", ; + TabIndex = 1, ; + Top = 72, ; + Width = 698, ; + Column1.ColumnOrder = 2, ; + Column1.ControlSource = "dataact", ; + Column1.FontName = "Arial Narrow", ; + Column1.Name = "cDataAct", ; + Column1.Width = 48, ; + Column2.ColumnOrder = 3, ; + Column2.ControlSource = "nract", ; + Column2.FontName = "Arial Narrow", ; + Column2.Name = "cNrAct", ; + Column2.Width = 64, ; + Column3.ColumnOrder = 7, ; + Column3.ControlSource = "suma", ; + Column3.FontName = "Arial Narrow", ; + Column3.InputMask = (get_mask(15,gnPa)), ; + Column3.Name = "cSuma", ; + Column3.Width = 88, ; + Column4.ColumnOrder = 6, ; + Column4.ControlSource = "explicatia", ; + Column4.FontName = "Arial Narrow", ; + Column4.Name = "cExpl3", ; + Column4.Width = 80, ; + Column5.ColumnOrder = 8, ; + Column5.ControlSource = "scd", ; + Column5.FontName = "Arial Narrow", ; + Column5.Name = "cScd", ; + Column5.Width = 37, ; + Column6.ColumnOrder = 10, ; + Column6.ControlSource = "scc", ; + Column6.FontName = "Arial Narrow", ; + Column6.Name = "cScc", ; + Column6.Width = 31, ; + Column7.ColumnOrder = 4, ; + Column7.ControlSource = "partD", ; + Column7.FontName = "Arial Narrow", ; + Column7.Name = "cExpl1", ; + Column7.Width = 110, ; + Column8.ColumnOrder = 5, ; + Column8.ControlSource = "partC", ; + Column8.FontName = "Arial Narrow", ; + Column8.Name = "cExpl2", ; + Column8.Width = 110, ; + Column9.ColumnOrder = 1, ; + Column9.ControlSource = "dataireg", ; + Column9.FontName = "Arial Narrow", ; + Column9.Name = "cDataIreg", ; + Column9.Width = 48, ; + Column10.ColumnOrder = 12, ; + Column10.ControlSource = "fdoc", ; + Column10.FontName = "Arial Narrow", ; + Column10.Name = "cFelDoc", ; + Column10.Width = 95, ; + Column11.ColumnOrder = 13, ; + Column11.ControlSource = "util", ; + Column11.FontName = "Arial Narrow", ; + Column11.Name = "cUtil", ; + Column12.ColumnOrder = 14, ; + Column12.ControlSource = "dataora", ; + Column12.FontName = "Arial Narrow", ; + Column12.Name = "cDataOra", ; + Column13.ColumnOrder = 9, ; + Column13.ControlSource = "ascd", ; + Column13.FontName = "Arial Narrow", ; + Column13.Name = "Column13", ; + Column13.Width = 37, ; + Column14.ColumnOrder = 11, ; + Column14.ControlSource = "ascc", ; + Column14.FontName = "Arial Narrow", ; + Column14.Name = "Column14", ; + Column14.Width = 39 + *< END OBJECT: ClassLib="_grd_base.vcx" BaseClass="grid" /> + + ADD OBJECT '_grdbase1.cDataAct.Header1' AS header WITH ; + Alignment = 2, ; + Caption = "Data act", ; + FontName = "Arial Narrow", ; + Name = "Header1" + *< END OBJECT: BaseClass="header" /> + + ADD OBJECT '_grdbase1.cDataAct.Text1' AS textbox WITH ; + BackColor = 255,255,255, ; + BorderStyle = 0, ; + FontName = "Arial Narrow", ; + ForeColor = 0,0,0, ; + Margin = 0, ; + Name = "Text1" + *< END OBJECT: BaseClass="textbox" /> + + ADD OBJECT '_grdbase1.cDataIreg.Header1' AS header WITH ; + Alignment = 2, ; + Caption = "Data inreg.", ; + FontName = "Arial Narrow", ; + Name = "Header1" + *< END OBJECT: BaseClass="header" /> + + ADD OBJECT '_grdbase1.cDataIreg.Text1' AS textbox WITH ; + BackColor = 255,255,255, ; + BorderStyle = 0, ; + FontName = "Arial Narrow", ; + ForeColor = 0,0,0, ; + Margin = 0, ; + Name = "Text1" + *< END OBJECT: BaseClass="textbox" /> + + ADD OBJECT '_grdbase1.cDataOra.Header1' AS header WITH ; + Alignment = 2, ; + Caption = "Data", ; + FontName = "Arial Narrow", ; + Name = "Header1" + *< END OBJECT: BaseClass="header" /> + + ADD OBJECT '_grdbase1.cDataOra.Text1' AS textbox WITH ; + BackColor = 255,255,255, ; + BorderStyle = 0, ; + FontName = "Arial Narrow", ; + ForeColor = 0,0,0, ; + Margin = 0, ; + Name = "Text1" + *< END OBJECT: BaseClass="textbox" /> + + ADD OBJECT '_grdbase1.cExpl1.Header1' AS header WITH ; + Alignment = 2, ; + Caption = "Expl.1", ; + FontName = "Arial Narrow", ; + Name = "Header1" + *< END OBJECT: BaseClass="header" /> + + ADD OBJECT '_grdbase1.cExpl1.Text1' AS textbox WITH ; + BackColor = 255,255,255, ; + BorderStyle = 0, ; + FontName = "Arial Narrow", ; + ForeColor = 0,0,0, ; + Margin = 0, ; + Name = "Text1" + *< END OBJECT: BaseClass="textbox" /> + + ADD OBJECT '_grdbase1.cExpl2.Header1' AS header WITH ; + Alignment = 2, ; + Caption = "Expl.2", ; + FontName = "Arial Narrow", ; + Name = "Header1" + *< END OBJECT: BaseClass="header" /> + + ADD OBJECT '_grdbase1.cExpl2.Text1' AS textbox WITH ; + BackColor = 255,255,255, ; + BorderStyle = 0, ; + FontName = "Arial Narrow", ; + ForeColor = 0,0,0, ; + Margin = 0, ; + Name = "Text1" + *< END OBJECT: BaseClass="textbox" /> + + ADD OBJECT '_grdbase1.cExpl3.Header1' AS header WITH ; + Alignment = 2, ; + Caption = "Expl.3", ; + FontName = "Arial Narrow", ; + Name = "Header1" + *< END OBJECT: BaseClass="header" /> + + ADD OBJECT '_grdbase1.cExpl3.Text1' AS textbox WITH ; + BackColor = 255,255,255, ; + BorderStyle = 0, ; + FontName = "Arial Narrow", ; + ForeColor = 0,0,0, ; + Margin = 0, ; + Name = "Text1" + *< END OBJECT: BaseClass="textbox" /> + + ADD OBJECT '_grdbase1.cFelDoc.Header1' AS header WITH ; + Alignment = 2, ; + Caption = "Fel doc.", ; + FontName = "Arial Narrow", ; + Name = "Header1" + *< END OBJECT: BaseClass="header" /> + + ADD OBJECT '_grdbase1.cFelDoc.Text1' AS textbox WITH ; + BackColor = 255,255,255, ; + BorderStyle = 0, ; + FontName = "Arial Narrow", ; + ForeColor = 0,0,0, ; + Margin = 0, ; + Name = "Text1" + *< END OBJECT: BaseClass="textbox" /> + + ADD OBJECT '_grdbase1.cNrAct.Header1' AS header WITH ; + Alignment = 2, ; + Caption = "Nr. doc.", ; + FontName = "Arial Narrow", ; + Name = "Header1" + *< END OBJECT: BaseClass="header" /> + + ADD OBJECT '_grdbase1.cNrAct.Text1' AS textbox WITH ; + BackColor = 255,255,255, ; + BorderStyle = 0, ; + FontName = "Arial Narrow", ; + ForeColor = 0,0,0, ; + Margin = 0, ; + Name = "Text1" + *< END OBJECT: BaseClass="textbox" /> + + ADD OBJECT '_grdbase1.Column13.Header1' AS header WITH ; + Alignment = 2, ; + Caption = "AnaliticD", ; + FontName = "Arial Narrow", ; + Name = "Header1" + *< END OBJECT: BaseClass="header" /> + + ADD OBJECT '_grdbase1.Column13.Text1' AS textbox WITH ; + BackColor = 255,255,255, ; + BorderStyle = 0, ; + FontName = "Arial Narrow", ; + ForeColor = 0,0,0, ; + Margin = 0, ; + Name = "Text1" + *< END OBJECT: BaseClass="textbox" /> + + ADD OBJECT '_grdbase1.Column14.Header1' AS header WITH ; + Alignment = 2, ; + Caption = "AnaliticC", ; + FontName = "Arial Narrow", ; + Name = "Header1" + *< END OBJECT: BaseClass="header" /> + + ADD OBJECT '_grdbase1.Column14.Text1' AS textbox WITH ; + BackColor = 255,255,255, ; + BorderStyle = 0, ; + FontName = "Arial Narrow", ; + ForeColor = 0,0,0, ; + Margin = 0, ; + Name = "Text1" + *< END OBJECT: BaseClass="textbox" /> + + ADD OBJECT '_grdbase1.cScc.Header1' AS header WITH ; + Alignment = 2, ; + Caption = "Cont Cred.", ; + FontName = "Arial Narrow", ; + Name = "Header1" + *< END OBJECT: BaseClass="header" /> + + ADD OBJECT '_grdbase1.cScc.Text1' AS textbox WITH ; + BackColor = 255,255,255, ; + BorderStyle = 0, ; + FontName = "Arial Narrow", ; + ForeColor = 0,0,0, ; + Margin = 0, ; + Name = "Text1" + *< END OBJECT: BaseClass="textbox" /> + + ADD OBJECT '_grdbase1.cScd.Header1' AS header WITH ; + Alignment = 2, ; + Caption = "Cont Deb.", ; + FontName = "Arial Narrow", ; + Name = "Header1" + *< END OBJECT: BaseClass="header" /> + + ADD OBJECT '_grdbase1.cScd.Text1' AS textbox WITH ; + BackColor = 255,255,255, ; + BorderStyle = 0, ; + FontName = "Arial Narrow", ; + ForeColor = 0,0,0, ; + Margin = 0, ; + Name = "Text1" + *< END OBJECT: BaseClass="textbox" /> + + ADD OBJECT '_grdbase1.cSuma.Header1' AS header WITH ; + Alignment = 2, ; + Caption = "Suma", ; + FontName = "Arial Narrow", ; + Name = "Header1" + *< END OBJECT: BaseClass="header" /> + + ADD OBJECT '_grdbase1.cSuma.Text1' AS textbox WITH ; + BackColor = 255,255,255, ; + BorderStyle = 0, ; + FontName = "Arial Narrow", ; + ForeColor = 0,0,0, ; + Margin = 0, ; + Name = "Text1" + *< END OBJECT: BaseClass="textbox" /> + + ADD OBJECT '_grdbase1.cUtil.Header1' AS header WITH ; + Alignment = 2, ; + Caption = "Utilizator", ; + FontName = "Arial Narrow", ; + Name = "Header1" + *< END OBJECT: BaseClass="header" /> + + ADD OBJECT '_grdbase1.cUtil.Text1' AS textbox WITH ; + BackColor = 255,255,255, ; + BorderStyle = 0, ; + FontName = "Arial Narrow", ; + ForeColor = 0,0,0, ; + Margin = 0, ; + Name = "Text1" + *< END OBJECT: BaseClass="textbox" /> + + ADD OBJECT 'But_listare' AS but_listare WITH ; + Left = 689, ; + Name = "But_listare", ; + TabIndex = 2, ; + Top = 1 + *< END OBJECT: ClassLib="cmd_butoane.vcx" BaseClass="commandbutton" /> + + ADD OBJECT 'Clb_total' AS clb_tx_simplu WITH ; + Left = 432, ; + Name = "Clb_total", ; + TabIndex = 6, ; + TabStop = .F., ; + Top = 396, ; + Text_simplu1.InputMask = (get_mask(15,gnPA)), ; + Text_simplu1.Name = "Text_simplu1", ; + Text_simplu1.ReadOnly = .T., ; + Lb_simplu1.Caption = "Total", ; + Lb_simplu1.Name = "Lb_simplu1" + *< END OBJECT: ClassLib="lb_tx.vcx" BaseClass="container" /> + + ADD OBJECT 'Lb_titlu1' AS lb_titlu_negru_b12 WITH ; + Caption = "RULAJ", ; + Left = 24, ; + Name = "Lb_titlu1", ; + TabIndex = 5, ; + Top = 43 + *< END OBJECT: ClassLib="lb.vcx" BaseClass="label" /> + + PROCEDURE actualizeaza_grid1 + Local lnSuma1,lcRec + Select acn1 + lcRec=Iif(Reccount()>0,Alltrim(Str(Recno())),'TOP') + Sum suma To lnSuma1 + Thisform.clb_total.text_simplu1.Value=lnSuma1 + Go &lcRec + ENDPROC + + PROCEDURE do_listare + *!* Local lcTitlu + *!* PRIVATE pcdataora + *!* If Used('acn1') And Reccount('acn1')>0 + *!* lcTitlu=Thisform.lb_titlu1.Caption + *!* pcdataora=TTOC(get_ora()) + *!* Thisform.AlwaysOnTop= .F. + *!* Select acn1 + *!* Report Form ist_deb_cred To Printer Prompt Preview + *!* Thisform.AlwaysOnTop= .T. + *!* Else + *!* aMessagebox("Nu exista date pentru listare!",0+48,"Atentie") + *!* Endif + Private pcTitlu + pcTitlu = Thisform.lb_titlu1.Caption + Thisform.AlwaysOnTop = .F. + goExport.export2frx([acn1],[ist_deb_cred]) + Thisform.AlwaysOnTop = .T. + Release pcTitlu + ENDPROC + + PROCEDURE Init + DODEFAULT() + thisform.actualizeaza_grid1() + ENDPROC + +ENDDEFINE + +DEFINE CLASS frm_debsicred AS _frmbase OF "_frm_base.vcx" + *< CLASSDATA: Baseclass="form" Timestamp="" Scale="Pixels" Uniqueid="" /> + + *-- OBJECTDATA items order determines ZOrder / El orden de los items OBJECTDATA determina el ZOrder + *< OBJECTDATA: ObjPath="_grdbase1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="_grdbase1.cDataAct.Header1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="_grdbase1.cDataAct.Text1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="_grdbase1.cNrAct.Header1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="_grdbase1.cNrAct.Text1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="_grdbase1.cSuma.Header1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="_grdbase1.cSuma.Text1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="_grdbase1.cExpl3.Header1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="_grdbase1.cExpl3.Text1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="_grdbase1.cScd.Header1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="_grdbase1.cScd.Text1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="_grdbase1.cScc.Header1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="_grdbase1.cScc.Text1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="_grdbase1.cExpl1.Header1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="_grdbase1.cExpl1.Text1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="_grdbase1.cExpl2.Header1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="_grdbase1.cExpl2.Text1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="_grdbase1.cDataIreg.Header1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="_grdbase1.cDataIreg.Text1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="_grdbase1.cFelDoc.Header1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="_grdbase1.cFelDoc.Text1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="_grdbase1.Column11.Header1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="_grdbase1.Column11.Text1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="_grdbase1.Column12.Header1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="_grdbase1.Column12.Text1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="Lb_titlu1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="Lb_titlu2" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="But_listaredebit" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="But_listarecredit" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="_grdbase2" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="_grdbase2.cDataAct.Header1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="_grdbase2.cDataAct.Text1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="_grdbase2.cNrAct.Header1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="_grdbase2.cNrAct.Text1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="_grdbase2.cSuma.Header1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="_grdbase2.cSuma.Text1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="_grdbase2.cExpl3.Header1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="_grdbase2.cExpl3.Text1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="_grdbase2.cScd.Header1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="_grdbase2.cScd.Text1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="_grdbase2.cScc.Header1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="_grdbase2.cScc.Text1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="_grdbase2.cExpl1.Header1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="_grdbase2.cExpl1.Text1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="_grdbase2.cExpl2.Header1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="_grdbase2.cExpl2.Text1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="_grdbase2.cDataIreg.Header1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="_grdbase2.cDataIreg.Text1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="_grdbase2.cFelDoc.Header1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="_grdbase2.cFelDoc.Text1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="_grdbase2.Column11.Header1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="_grdbase2.Column11.Text1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="_grdbase2.Column12.Header1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="_grdbase2.Column12.Text1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="Clb_totaldebit" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="Clb_totalcredit" UniqueID="" Timestamp="" /> + + * + *m: do_listare2 + * + + * + DoCreate = .T. + Height = 437 + Name = "frm_debsicred" + Width = 752 + _shape1.Height = 29 + _shape1.Left = 0 + _shape1.Name = "_shape1" + _shape1.Top = 0 + _shape1.Width = 756 + _shape2.Height = 29 + _shape2.Left = 720 + _shape2.Name = "_shape2" + _shape2.Top = 0 + _shape2.Width = 33 + Lb_titlu_alb_b121.FontBold = .T. + Lb_titlu_alb_b121.Name = "Lb_titlu_alb_b121" + Lb_titlu_alb_b121.TabIndex = 6 + BUT_TERMIN1.Left = 721 + BUT_TERMIN1.Name = "BUT_TERMIN1" + BUT_TERMIN1.TabIndex = 5 + BUT_TERMIN1.Top = 1 + Gridsort1.Name = "Gridsort1" + * + + ADD OBJECT '_grdbase1' AS _grdbase WITH ; + ColumnCount = 12, ; + DeleteMark = .F., ; + Height = 312, ; + Left = 22, ; + Name = "_grdbase1", ; + Panel = 1, ; + RecordSource = "acn1", ; + TabIndex = 1, ; + Top = 72, ; + Width = 348, ; + Column1.ControlSource = "dataact", ; + Column1.FontName = "Arial Narrow", ; + Column1.Name = "cDataAct", ; + Column1.Width = 48, ; + Column2.ColumnOrder = 2, ; + Column2.ControlSource = "nract", ; + Column2.FontName = "Arial Narrow", ; + Column2.Name = "cNrAct", ; + Column2.Width = 64, ; + Column3.ColumnOrder = 3, ; + Column3.ControlSource = "suma", ; + Column3.FontName = "Arial Narrow", ; + Column3.InputMask = (get_mask(15,gnPa)), ; + Column3.Name = "cSuma", ; + Column3.Width = 88, ; + Column4.ControlSource = "explicatia", ; + Column4.FontName = "Arial Narrow", ; + Column4.Name = "cExpl3", ; + Column4.Width = 80, ; + Column5.ColumnOrder = 5, ; + Column5.ControlSource = "scd", ; + Column5.FontName = "Arial Narrow", ; + Column5.Name = "cScd", ; + Column5.Width = 37, ; + Column6.ColumnOrder = 7, ; + Column6.ControlSource = "scc", ; + Column6.FontName = "Arial Narrow", ; + Column6.Name = "cScc", ; + Column6.Width = 31, ; + Column7.ColumnOrder = 9, ; + Column7.ControlSource = "partD", ; + Column7.FontName = "Arial Narrow", ; + Column7.Name = "cExpl1", ; + Column7.Width = 110, ; + Column8.ColumnOrder = 10, ; + Column8.ControlSource = "partC", ; + Column8.FontName = "Arial Narrow", ; + Column8.Name = "cExpl2", ; + Column8.Width = 110, ; + Column9.ColumnOrder = 11, ; + Column9.ControlSource = "dataireg", ; + Column9.FontName = "Arial Narrow", ; + Column9.Name = "cDataIreg", ; + Column9.Width = 48, ; + Column10.ColumnOrder = 12, ; + Column10.ControlSource = "fdoc", ; + Column10.FontName = "Arial Narrow", ; + Column10.Name = "cFelDoc", ; + Column10.Width = 95, ; + Column11.ColumnOrder = 6, ; + Column11.ControlSource = "ascd", ; + Column11.FontName = "Arial Narrow", ; + Column11.Name = "Column11", ; + Column11.Width = 39, ; + Column12.ColumnOrder = 8, ; + Column12.ControlSource = "ascc", ; + Column12.FontName = "Arial Narrow", ; + Column12.Name = "Column12", ; + Column12.Width = 39 + *< END OBJECT: ClassLib="_grd_base.vcx" BaseClass="grid" /> + + ADD OBJECT '_grdbase1.cDataAct.Header1' AS header WITH ; + Alignment = 2, ; + Caption = "Data act", ; + FontName = "Arial Narrow", ; + Name = "Header1" + *< END OBJECT: BaseClass="header" /> + + ADD OBJECT '_grdbase1.cDataAct.Text1' AS textbox WITH ; + BackColor = 255,255,255, ; + BorderStyle = 0, ; + FontName = "Arial Narrow", ; + ForeColor = 0,0,0, ; + Margin = 0, ; + Name = "Text1" + *< END OBJECT: BaseClass="textbox" /> + + ADD OBJECT '_grdbase1.cDataIreg.Header1' AS header WITH ; + Alignment = 2, ; + Caption = "Data inreg.", ; + FontName = "Arial Narrow", ; + Name = "Header1" + *< END OBJECT: BaseClass="header" /> + + ADD OBJECT '_grdbase1.cDataIreg.Text1' AS textbox WITH ; + BackColor = 255,255,255, ; + BorderStyle = 0, ; + FontName = "Arial Narrow", ; + ForeColor = 0,0,0, ; + Margin = 0, ; + Name = "Text1" + *< END OBJECT: BaseClass="textbox" /> + + ADD OBJECT '_grdbase1.cExpl1.Header1' AS header WITH ; + Alignment = 2, ; + Caption = "Expl.1", ; + FontName = "Arial Narrow", ; + Name = "Header1" + *< END OBJECT: BaseClass="header" /> + + ADD OBJECT '_grdbase1.cExpl1.Text1' AS textbox WITH ; + BackColor = 255,255,255, ; + BorderStyle = 0, ; + FontName = "Arial Narrow", ; + ForeColor = 0,0,0, ; + Margin = 0, ; + Name = "Text1" + *< END OBJECT: BaseClass="textbox" /> + + ADD OBJECT '_grdbase1.cExpl2.Header1' AS header WITH ; + Alignment = 2, ; + Caption = "Expl.2", ; + FontName = "Arial Narrow", ; + Name = "Header1" + *< END OBJECT: BaseClass="header" /> + + ADD OBJECT '_grdbase1.cExpl2.Text1' AS textbox WITH ; + BackColor = 255,255,255, ; + BorderStyle = 0, ; + FontName = "Arial Narrow", ; + ForeColor = 0,0,0, ; + Margin = 0, ; + Name = "Text1" + *< END OBJECT: BaseClass="textbox" /> + + ADD OBJECT '_grdbase1.cExpl3.Header1' AS header WITH ; + Alignment = 2, ; + Caption = "Expl.3", ; + FontName = "Arial Narrow", ; + Name = "Header1" + *< END OBJECT: BaseClass="header" /> + + ADD OBJECT '_grdbase1.cExpl3.Text1' AS textbox WITH ; + BackColor = 255,255,255, ; + BorderStyle = 0, ; + FontName = "Arial Narrow", ; + ForeColor = 0,0,0, ; + Margin = 0, ; + Name = "Text1" + *< END OBJECT: BaseClass="textbox" /> + + ADD OBJECT '_grdbase1.cFelDoc.Header1' AS header WITH ; + Alignment = 2, ; + Caption = "Fel doc.", ; + FontName = "Arial Narrow", ; + Name = "Header1" + *< END OBJECT: BaseClass="header" /> + + ADD OBJECT '_grdbase1.cFelDoc.Text1' AS textbox WITH ; + BackColor = 255,255,255, ; + BorderStyle = 0, ; + FontName = "Arial Narrow", ; + ForeColor = 0,0,0, ; + Margin = 0, ; + Name = "Text1" + *< END OBJECT: BaseClass="textbox" /> + + ADD OBJECT '_grdbase1.cNrAct.Header1' AS header WITH ; + Alignment = 2, ; + Caption = "Nr. doc.", ; + FontName = "Arial Narrow", ; + Name = "Header1" + *< END OBJECT: BaseClass="header" /> + + ADD OBJECT '_grdbase1.cNrAct.Text1' AS textbox WITH ; + BackColor = 255,255,255, ; + BorderStyle = 0, ; + FontName = "Arial Narrow", ; + ForeColor = 0,0,0, ; + Margin = 0, ; + Name = "Text1" + *< END OBJECT: BaseClass="textbox" /> + + ADD OBJECT '_grdbase1.Column11.Header1' AS header WITH ; + Alignment = 2, ; + Caption = "AnaliticD", ; + FontName = "Arial Narrow", ; + Name = "Header1" + *< END OBJECT: BaseClass="header" /> + + ADD OBJECT '_grdbase1.Column11.Text1' AS textbox WITH ; + BackColor = 255,255,255, ; + BorderStyle = 0, ; + FontName = "Arial Narrow", ; + ForeColor = 0,0,0, ; + Margin = 0, ; + Name = "Text1" + *< END OBJECT: BaseClass="textbox" /> + + ADD OBJECT '_grdbase1.Column12.Header1' AS header WITH ; + Alignment = 2, ; + Caption = "AnaliticC", ; + FontName = "Arial Narrow", ; + Name = "Header1" + *< END OBJECT: BaseClass="header" /> + + ADD OBJECT '_grdbase1.Column12.Text1' AS textbox WITH ; + BackColor = 255,255,255, ; + BorderStyle = 0, ; + FontName = "Arial Narrow", ; + ForeColor = 0,0,0, ; + Margin = 0, ; + Name = "Text1" + *< END OBJECT: BaseClass="textbox" /> + + ADD OBJECT '_grdbase1.cScc.Header1' AS header WITH ; + Alignment = 2, ; + Caption = "Cont Cred.", ; + FontName = "Arial Narrow", ; + Name = "Header1" + *< END OBJECT: BaseClass="header" /> + + ADD OBJECT '_grdbase1.cScc.Text1' AS textbox WITH ; + BackColor = 255,255,255, ; + BorderStyle = 0, ; + FontName = "Arial Narrow", ; + ForeColor = 0,0,0, ; + Margin = 0, ; + Name = "Text1" + *< END OBJECT: BaseClass="textbox" /> + + ADD OBJECT '_grdbase1.cScd.Header1' AS header WITH ; + Alignment = 2, ; + Caption = "Cont Deb.", ; + FontName = "Arial Narrow", ; + Name = "Header1" + *< END OBJECT: BaseClass="header" /> + + ADD OBJECT '_grdbase1.cScd.Text1' AS textbox WITH ; + BackColor = 255,255,255, ; + BorderStyle = 0, ; + FontName = "Arial Narrow", ; + ForeColor = 0,0,0, ; + Margin = 0, ; + Name = "Text1" + *< END OBJECT: BaseClass="textbox" /> + + ADD OBJECT '_grdbase1.cSuma.Header1' AS header WITH ; + Alignment = 2, ; + Caption = "Suma", ; + FontName = "Arial Narrow", ; + Name = "Header1" + *< END OBJECT: BaseClass="header" /> + + ADD OBJECT '_grdbase1.cSuma.Text1' AS textbox WITH ; + BackColor = 255,255,255, ; + BorderStyle = 0, ; + FontName = "Arial Narrow", ; + ForeColor = 0,0,0, ; + Margin = 0, ; + Name = "Text1" + *< END OBJECT: BaseClass="textbox" /> + + ADD OBJECT '_grdbase2' AS _grdbase WITH ; + ColumnCount = 12, ; + DeleteMark = .F., ; + Height = 312, ; + Left = 384, ; + Name = "_grdbase2", ; + Panel = 1, ; + RecordSource = "acn2", ; + TabIndex = 2, ; + Top = 72, ; + Width = 348, ; + Column1.ControlSource = "dataact", ; + Column1.FontName = "Arial Narrow", ; + Column1.Name = "cDataAct", ; + Column1.Width = 48, ; + Column2.ColumnOrder = 2, ; + Column2.ControlSource = "nract", ; + Column2.FontName = "Arial Narrow", ; + Column2.Name = "cNrAct", ; + Column2.Width = 64, ; + Column3.ColumnOrder = 3, ; + Column3.ControlSource = "suma", ; + Column3.FontName = "Arial Narrow", ; + Column3.InputMask = (get_mask(15,gnPA)), ; + Column3.Name = "cSuma", ; + Column3.Width = 88, ; + Column4.ControlSource = "explicatia", ; + Column4.FontName = "Arial Narrow", ; + Column4.Name = "cExpl3", ; + Column4.Width = 80, ; + Column5.ColumnOrder = 5, ; + Column5.ControlSource = "scd", ; + Column5.FontName = "Arial Narrow", ; + Column5.Name = "cScd", ; + Column5.Width = 32, ; + Column6.ColumnOrder = 7, ; + Column6.ControlSource = "scc", ; + Column6.FontName = "Arial Narrow", ; + Column6.Name = "cScc", ; + Column6.Width = 32, ; + Column7.ColumnOrder = 9, ; + Column7.ControlSource = "partD", ; + Column7.FontName = "Arial Narrow", ; + Column7.Name = "cExpl1", ; + Column7.Width = 110, ; + Column8.ColumnOrder = 10, ; + Column8.ControlSource = "partC", ; + Column8.FontName = "Arial Narrow", ; + Column8.Name = "cExpl2", ; + Column8.Width = 110, ; + Column9.ColumnOrder = 11, ; + Column9.ControlSource = "dataireg", ; + Column9.FontName = "Arial Narrow", ; + Column9.Name = "cDataIreg", ; + Column9.Width = 48, ; + Column10.ColumnOrder = 12, ; + Column10.ControlSource = "fdoc", ; + Column10.FontName = "Arial Narrow", ; + Column10.Name = "cFelDoc", ; + Column10.Width = 95, ; + Column11.ColumnOrder = 6, ; + Column11.ControlSource = "ascd", ; + Column11.Name = "Column11", ; + Column11.Width = 40, ; + Column12.ColumnOrder = 8, ; + Column12.ControlSource = "ascc", ; + Column12.Name = "Column12", ; + Column12.Width = 49 + *< END OBJECT: ClassLib="_grd_base.vcx" BaseClass="grid" /> + + ADD OBJECT '_grdbase2.cDataAct.Header1' AS header WITH ; + Alignment = 2, ; + Caption = "Data act", ; + FontName = "Arial Narrow", ; + Name = "Header1" + *< END OBJECT: BaseClass="header" /> + + ADD OBJECT '_grdbase2.cDataAct.Text1' AS textbox WITH ; + BackColor = 255,255,255, ; + BorderStyle = 0, ; + FontName = "Arial Narrow", ; + ForeColor = 0,0,0, ; + Margin = 0, ; + Name = "Text1" + *< END OBJECT: BaseClass="textbox" /> + + ADD OBJECT '_grdbase2.cDataIreg.Header1' AS header WITH ; + Alignment = 2, ; + Caption = "Data inreg.", ; + FontName = "Arial Narrow", ; + Name = "Header1" + *< END OBJECT: BaseClass="header" /> + + ADD OBJECT '_grdbase2.cDataIreg.Text1' AS textbox WITH ; + BackColor = 255,255,255, ; + BorderStyle = 0, ; + FontName = "Arial Narrow", ; + ForeColor = 0,0,0, ; + Margin = 0, ; + Name = "Text1" + *< END OBJECT: BaseClass="textbox" /> + + ADD OBJECT '_grdbase2.cExpl1.Header1' AS header WITH ; + Alignment = 2, ; + Caption = "Expl.1", ; + FontName = "Arial Narrow", ; + Name = "Header1" + *< END OBJECT: BaseClass="header" /> + + ADD OBJECT '_grdbase2.cExpl1.Text1' AS textbox WITH ; + BackColor = 255,255,255, ; + BorderStyle = 0, ; + FontName = "Arial Narrow", ; + ForeColor = 0,0,0, ; + Margin = 0, ; + Name = "Text1" + *< END OBJECT: BaseClass="textbox" /> + + ADD OBJECT '_grdbase2.cExpl2.Header1' AS header WITH ; + Alignment = 2, ; + Caption = "Expl.2", ; + FontName = "Arial Narrow", ; + Name = "Header1" + *< END OBJECT: BaseClass="header" /> + + ADD OBJECT '_grdbase2.cExpl2.Text1' AS textbox WITH ; + BackColor = 255,255,255, ; + BorderStyle = 0, ; + FontName = "Arial Narrow", ; + ForeColor = 0,0,0, ; + Margin = 0, ; + Name = "Text1" + *< END OBJECT: BaseClass="textbox" /> + + ADD OBJECT '_grdbase2.cExpl3.Header1' AS header WITH ; + Alignment = 2, ; + Caption = "Expl.3", ; + FontName = "Arial Narrow", ; + Name = "Header1" + *< END OBJECT: BaseClass="header" /> + + ADD OBJECT '_grdbase2.cExpl3.Text1' AS textbox WITH ; + BackColor = 255,255,255, ; + BorderStyle = 0, ; + FontName = "Arial Narrow", ; + ForeColor = 0,0,0, ; + Margin = 0, ; + Name = "Text1" + *< END OBJECT: BaseClass="textbox" /> + + ADD OBJECT '_grdbase2.cFelDoc.Header1' AS header WITH ; + Alignment = 2, ; + Caption = "Fel doc.", ; + FontName = "Arial Narrow", ; + Name = "Header1" + *< END OBJECT: BaseClass="header" /> + + ADD OBJECT '_grdbase2.cFelDoc.Text1' AS textbox WITH ; + BackColor = 255,255,255, ; + BorderStyle = 0, ; + FontName = "Arial Narrow", ; + ForeColor = 0,0,0, ; + Margin = 0, ; + Name = "Text1" + *< END OBJECT: BaseClass="textbox" /> + + ADD OBJECT '_grdbase2.cNrAct.Header1' AS header WITH ; + Alignment = 2, ; + Caption = "Nr. doc.", ; + FontName = "Arial Narrow", ; + Name = "Header1" + *< END OBJECT: BaseClass="header" /> + + ADD OBJECT '_grdbase2.cNrAct.Text1' AS textbox WITH ; + BackColor = 255,255,255, ; + BorderStyle = 0, ; + FontName = "Arial Narrow", ; + ForeColor = 0,0,0, ; + Margin = 0, ; + Name = "Text1" + *< END OBJECT: BaseClass="textbox" /> + + ADD OBJECT '_grdbase2.Column11.Header1' AS header WITH ; + Alignment = 2, ; + Caption = "Analitic D", ; + Name = "Header1" + *< END OBJECT: BaseClass="header" /> + + ADD OBJECT '_grdbase2.Column11.Text1' AS textbox WITH ; + BackColor = 255,255,255, ; + BorderStyle = 0, ; + ForeColor = 0,0,0, ; + Margin = 0, ; + Name = "Text1" + *< END OBJECT: BaseClass="textbox" /> + + ADD OBJECT '_grdbase2.Column12.Header1' AS header WITH ; + Alignment = 2, ; + Caption = "Analitic C", ; + Name = "Header1" + *< END OBJECT: BaseClass="header" /> + + ADD OBJECT '_grdbase2.Column12.Text1' AS textbox WITH ; + BackColor = 255,255,255, ; + BorderStyle = 0, ; + ForeColor = 0,0,0, ; + Margin = 0, ; + Name = "Text1" + *< END OBJECT: BaseClass="textbox" /> + + ADD OBJECT '_grdbase2.cScc.Header1' AS header WITH ; + Alignment = 2, ; + Caption = "Cont Cred.", ; + FontName = "Arial Narrow", ; + Name = "Header1" + *< END OBJECT: BaseClass="header" /> + + ADD OBJECT '_grdbase2.cScc.Text1' AS textbox WITH ; + BackColor = 255,255,255, ; + BorderStyle = 0, ; + FontName = "Arial Narrow", ; + ForeColor = 0,0,0, ; + Margin = 0, ; + Name = "Text1" + *< END OBJECT: BaseClass="textbox" /> + + ADD OBJECT '_grdbase2.cScd.Header1' AS header WITH ; + Alignment = 2, ; + Caption = "Cont Deb.", ; + FontName = "Arial Narrow", ; + Name = "Header1" + *< END OBJECT: BaseClass="header" /> + + ADD OBJECT '_grdbase2.cScd.Text1' AS textbox WITH ; + BackColor = 255,255,255, ; + BorderStyle = 0, ; + FontName = "Arial Narrow", ; + ForeColor = 0,0,0, ; + Margin = 0, ; + Name = "Text1" + *< END OBJECT: BaseClass="textbox" /> + + ADD OBJECT '_grdbase2.cSuma.Header1' AS header WITH ; + Alignment = 2, ; + Caption = "Suma", ; + FontName = "Arial Narrow", ; + Name = "Header1" + *< END OBJECT: BaseClass="header" /> + + ADD OBJECT '_grdbase2.cSuma.Text1' AS textbox WITH ; + BackColor = 255,255,255, ; + BorderStyle = 0, ; + FontName = "Arial Narrow", ; + ForeColor = 0,0,0, ; + Margin = 0, ; + Name = "Text1" + *< END OBJECT: BaseClass="textbox" /> + + ADD OBJECT 'But_listarecredit' AS but_listare WITH ; + caction = do_listare2, ; + Left = 700, ; + Name = "But_listarecredit", ; + TabIndex = 4, ; + ToolTipText = "Listare (CTRL+I)", ; + Top = 396 + *< END OBJECT: ClassLib="cmd_butoane.vcx" BaseClass="commandbutton" /> + + ADD OBJECT 'But_listaredebit' AS but_listare WITH ; + Left = 22, ; + Name = "But_listaredebit", ; + TabIndex = 3, ; + Top = 396 + *< END OBJECT: ClassLib="cmd_butoane.vcx" BaseClass="commandbutton" /> + + ADD OBJECT 'Clb_totalcredit' AS clb_tx_simplu WITH ; + Left = 384, ; + Name = "Clb_totalcredit", ; + TabIndex = 10, ; + TabStop = .F., ; + Top = 396, ; + Text_simplu1.InputMask = (get_mask(15,gnPA)), ; + Text_simplu1.Name = "Text_simplu1", ; + Text_simplu1.ReadOnly = .T., ; + Lb_simplu1.Caption = "Total credit", ; + Lb_simplu1.Name = "Lb_simplu1" + *< END OBJECT: ClassLib="lb_tx.vcx" BaseClass="container" /> + + ADD OBJECT 'Clb_totaldebit' AS clb_tx_simplu WITH ; + Left = 81, ; + Name = "Clb_totaldebit", ; + TabIndex = 9, ; + TabStop = .F., ; + Top = 396, ; + Text_simplu1.InputMask = (get_mask(15,gnPA)), ; + Text_simplu1.Name = "Text_simplu1", ; + Text_simplu1.ReadOnly = .T., ; + Lb_simplu1.Caption = "Total debit", ; + Lb_simplu1.Name = "Lb_simplu1" + *< END OBJECT: ClassLib="lb_tx.vcx" BaseClass="container" /> + + ADD OBJECT 'Lb_titlu1' AS lb_titlu_negru_b12 WITH ; + Caption = "DEBIT", ; + Left = 24, ; + Name = "Lb_titlu1", ; + TabIndex = 7, ; + Top = 43 + *< END OBJECT: ClassLib="lb.vcx" BaseClass="label" /> + + ADD OBJECT 'Lb_titlu2' AS lb_titlu_negru_b12 WITH ; + Caption = "CREDIT", ; + Left = 382, ; + Name = "Lb_titlu2", ; + TabIndex = 8, ; + Top = 43 + *< END OBJECT: ClassLib="lb.vcx" BaseClass="label" /> + + PROCEDURE actualizeaza_grid1 + Local lnSuma1,lcRec + Select acn1 + lcRec=Iif(Reccount()>0,Alltrim(Str(Recno())),'TOP') + Sum suma To lnSuma1 + Thisform.clb_totaldebit.text_simplu1.Value=lnSuma1 + Go &lcRec + ENDPROC + + PROCEDURE actualizeaza_grid2 + Local lnSuma2,lnRec + Select acn2 + lcRec=Iif(Reccount()>0,Alltrim(Str(Recno())),'TOP') + Sum suma To lnSuma2 + Thisform.clb_totalcredit.text_simplu1.Value=lnSuma2 + Go &lcRec + ENDPROC + + PROCEDURE do_listare + *!* Local lcTitlu + *!* PRIVATE pcdataora + *!* If Used('acn1') And Reccount('acn1')>0 + *!* lcTitlu=Thisform.lb_titlu1.Caption + *!* pcdataora=TTOC(get_ora()) + *!* Thisform.AlwaysOnTop= .F. + *!* Select acn1 + *!* Report Form ist_deb_cred To Printer Prompt Preview + *!* Thisform.AlwaysOnTop= .T. + *!* Else + *!* aMessagebox("Nu exista date pentru listare!",0+48,"Atentie") + *!* Endif + Private pcTitlu + pcTitlu = Thisform.lb_titlu1.Caption + Thisform.AlwaysOnTop = .F. + goExport.export2frx([acn1],[ist_deb_cred]) + Thisform.AlwaysOnTop = .T. + Release pcTitlu + + ENDPROC + + PROCEDURE do_listare2 + *!* Local lcTitlu + *!* PRIVATE pcdataora + *!* If Used('acn2') And Reccount('acn2')>0 + *!* lcTitlu=Thisform.lb_titlu2.Caption + *!* pcdataora=TTOC(get_ora()) + *!* Thisform.AlwaysOnTop= .F. + *!* Select acn2 + *!* Report Form ist_deb_cred To Printer Prompt Preview + *!* Thisform.AlwaysOnTop= .T. + *!* Else + *!* aMessagebox("Nu exista date pentru listare!",0+48,"Atentie") + *!* Endif + Private pcTitlu + pcTitlu = Thisform.lb_titlu1.Caption + Thisform.AlwaysOnTop = .F. + goExport.export2frx([acn2],[ist_deb_cred]) + Thisform.AlwaysOnTop = .T. + Release pcTitlu + ENDPROC + + PROCEDURE Init + DODEFAULT() + thisform.actualizeaza_grid1() + thisform.actualizeaza_grid2() + ENDPROC + + PROCEDURE KeyPress + Lparameters nKeyCode, nShiftAltCtrl + LOCAL lbviz + lbviz=thisform.bvizualizare + Do Case + Case nKeyCode=27 And nShiftAltCtrl=0 + Nodefault + If aMessagebox("Sunteti sigur ca doriti sa inchideti fereastra?",4+32+256,"Confirmare")==6 + This.do_renunt() + ENDIF + CASE nKeyCode=5 AND nShiftAltCtrl=2 AND lbviz=.F. + NODEFAULT + If PEMSTATUS(This,"do_excel",5) + this.do_excel() + ENDIF + Case nKeyCode=14 And nShiftAltCtrl=2 AND lbviz=.F. + NODEFAULT + If PEMSTATUS(This,"do_adauga",5) + This.do_adauga() + ENDIF + Case nKeyCode=13 And nShiftAltCtrl=2 AND lbviz=.F. + NODEFAULT + If PEMSTATUS(This,"do_modifica",5) + This.do_modifica() + ENDIF + Case nKeyCode=4 And nShiftAltCtrl=2 AND lbviz=.F. + NODEFAULT + If PEMSTATUS(This,"do_sterge",5) + This.do_sterge() + Endif + Case nKeyCode=6 And nShiftAltCtrl=2 + NODEFAULT + This.do_termin() + Case nKeyCode=16 And nShiftAltCtrl=2 AND lbviz=.F. + Nodefault + If PEMSTATUS(This,"do_listare",5) + This.do_listare() + ENDIF + Case nKeyCode=9 And nShiftAltCtrl=2 AND lbviz=.F. + Nodefault + If PEMSTATUS(This,"do_listare2",5) + This.do_listare2() + ENDIF + Endcase + ENDPROC + +ENDDEFINE + +DEFINE CLASS frm_seleluna AS _frmbase OF "..\libs\_frm_base.vcx" + *< CLASSDATA: Baseclass="form" Timestamp="" Scale="Pixels" Uniqueid="" /> + + *-- OBJECTDATA items order determines ZOrder / El orden de los items OBJECTDATA determina el ZOrder + *< OBJECTDATA: ObjPath="_shape3" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="But_renunt1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="Lb_luna" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="Lb_an" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="Combo1" UniqueID="" Timestamp="" /> + + * + *p: aa + *p: ll + * + + * + DoCreate = .T. + Height = 100 + Name = "frm_seleluna" + Width = 295 + _SHAPE1.Name = "_SHAPE1" + _SHAPE1.Width = 295 + _SHAPE1.ZOrderSet = 1 + _SHAPE2.Height = 29 + _SHAPE2.Left = 229 + _SHAPE2.Name = "_SHAPE2" + _SHAPE2.Top = 0 + _SHAPE2.Width = 65 + _SHAPE2.ZOrderSet = 2 + LB_TITLU_ALB_B121.Caption = "Selectati anul si luna de inceput" + LB_TITLU_ALB_B121.Name = "LB_TITLU_ALB_B121" + LB_TITLU_ALB_B121.TabIndex = 4 + LB_TITLU_ALB_B121.ZOrderSet = 8 + BUT_TERMIN1.Enabled = .F. + BUT_TERMIN1.Left = 263 + BUT_TERMIN1.Name = "BUT_TERMIN1" + BUT_TERMIN1.TabIndex = 2 + BUT_TERMIN1.Top = 1 + BUT_TERMIN1.ZOrderSet = 3 + * + + ADD OBJECT '_shape3' AS _shape WITH ; + BackStyle = 0, ; + Height = 48, ; + Left = 24, ; + Name = "_shape3", ; + Top = 36, ; + Width = 252, ; + ZOrderSet = 0 + *< END OBJECT: ClassLib="..\libs\_baza.vcx" BaseClass="shape" /> + + ADD OBJECT 'But_renunt1' AS but_renunt WITH ; + Left = 232, ; + Name = "But_renunt1", ; + TabIndex = 3, ; + Top = 1, ; + ZOrderSet = 4 + *< END OBJECT: ClassLib="..\libs\cmd_butoane.vcx" BaseClass="commandbutton" /> + + ADD OBJECT 'Combo1' AS _cbbase WITH ; + Height = 24, ; + Left = 47, ; + Name = "Combo1", ; + TabIndex = 1, ; + Top = 48, ; + Width = 80, ; + ZOrderSet = 7 + *< END OBJECT: ClassLib="..\libs\_cb_base.vcx" BaseClass="combobox" /> + + ADD OBJECT 'Lb_an' AS lb_simplu WITH ; + Caption = " ", ; + FontBold = .T., ; + FontSize = 12, ; + ForeColor = 0,0,128, ; + Left = 196, ; + Name = "Lb_an", ; + TabIndex = 6, ; + Top = 50, ; + ZOrderSet = 6 + *< END OBJECT: ClassLib="..\libs\lb.vcx" BaseClass="label" /> + + ADD OBJECT 'Lb_luna' AS lb_simplu WITH ; + Caption = " ", ; + FontBold = .T., ; + FontSize = 12, ; + ForeColor = 0,0,128, ; + Left = 161, ; + Name = "Lb_luna", ; + TabIndex = 5, ; + Top = 50, ; + ZOrderSet = 5 + *< END OBJECT: ClassLib="..\libs\lb.vcx" BaseClass="label" /> + + PROCEDURE Destroy + IF USED('crscalendar') + USE IN crscalendar + ENDIF + ENDPROC + + PROCEDURE inainte_de_do_termin + m.an=thisform.aa + m.nl=thisform.ll + pcanul=thisform.aa + pcluna=thisform.ll + DODEFAULT() + ENDPROC + + PROCEDURE Init + DoDefault() + If Used('crscalendar') + Use In crscalendar + Endif + Select Padl(Alltrim(nl),2,"0") As nl,an From calendar Order By an,nl Into Cursor crscalendar + Select crscalendar + Thisform.ll=nl + Thisform.aa=an + Scan + Thisform.combo1.AddItem(nl+"/"+an) + Endscan + ENDPROC + + PROCEDURE Combo1.MouseLeave + LPARAMETERS nButton, nShift, nXCoord, nYCoord + pcluna=SUBSTR(this.Value,1,2) + pcanul=SUBSTR(this.Value,4) + Thisform.lb_luna.Caption=pcluna + Thisform.lb_an.Caption=pcanul + If !Empty(pcluna) And !Empty(pcanul) + Thisform.but_termin1.Enabled=.T. + Endif + + ENDPROC + + PROCEDURE Combo1.Valid + pcluna=Substr(This.Value,1,2) + pcanul=Substr(This.Value,4) + Thisform.lb_luna.Caption=pcluna + Thisform.lb_an.Caption=pcanul + If !Empty(pcluna) And !Empty(pcanul) + Thisform.but_termin1.Enabled=.T. + Endif + ENDPROC + +ENDDEFINE diff --git a/clase/odeschidereluna.vc2 b/clase/odeschidereluna.vc2 new file mode 100644 index 0000000..e64325b --- /dev/null +++ b/clase/odeschidereluna.vc2 @@ -0,0 +1,485 @@ +*-------------------------------------------------------------------------------------------------------------------------------------------------------- +* (EN) AUTOGENERATED - ATTENTION!! - NOT INTENDED FOR EXECUTION!! USE ONLY FOR MERGING CHANGES AND STORING WITH SCM TOOLS!! +*-------------------------------------------------------------------------------------------------------------------------------------------------------- +*< FOXBIN2PRG: Version="1.21" SourceFile="odeschidereluna.vcx" CPID="1250" /> (Solo para binarios VFP 9 / Only for VFP 9 binaries) +* +* +DEFINE CLASS frm_log_deschidereluna AS _frmbase OF "_frm_base.vcx" + *< CLASSDATA: Baseclass="form" Timestamp="" Scale="Pixels" Uniqueid="" /> + + *-- OBJECTDATA items order determines ZOrder / El orden de los items OBJECTDATA determina el ZOrder + *< OBJECTDATA: ObjPath="grdLogRedeschid" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="grdLogRedeschid.cAn.Header1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="grdLogRedeschid.cAn.Text1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="grdLogRedeschid.cLuna.Header1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="grdLogRedeschid.cLuna.Text1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="grdLogRedeschid.cDeschid.Header1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="grdLogRedeschid.cDeschid.Text1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="grdLogRedeschid.cDeschid._CHECKBOX1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="grdLogRedeschid.cProgramat.Header1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="grdLogRedeschid.cProgramat.Text1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="grdLogRedeschid.cProgramat._CHECKBOX1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="grdLogRedeschid.cDataora_start.Header1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="grdLogRedeschid.cDataora_start.Text1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="grdLogRedeschid.cDataora_final.Header1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="grdLogRedeschid.cDataora_final.Text1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="grdLogRedeschid.cUtilizator.Header1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="grdLogRedeschid.cUtilizator.Text1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="grdLogRedeschid.cDataora.Header1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="grdLogRedeschid.cDataora.Text1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="grdLogRedeschid.cSters.Header1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="grdLogRedeschid.cSters.Text1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="grdLogRedeschid.cSters._CHECKBOX1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="grdLogRedeschid.cUtilizators.Header1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="grdLogRedeschid.cUtilizators.Text1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="grdLogRedeschid.cDataoras.Header1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="grdLogRedeschid.cDataoras.Text1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="grdLogRedeschid.cObservatii.Header1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="grdLogRedeschid.cObservatii.Text1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="But_nou1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="But_sterge1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="But_start_criterii1" UniqueID="" Timestamp="" /> + + * + *p: cfile + * + + * + cfile = + DoCreate = .T. + Height = 455 + Name = "frm_log_deschidereluna" + Width = 626 + WindowState = 2 + _SHAPE1.Anchor = 10 + _SHAPE1.Height = 29 + _SHAPE1.Left = 0 + _SHAPE1.Name = "_SHAPE1" + _SHAPE1.Top = 0 + _SHAPE1.Width = 630 + _SHAPE2.Left = 576 + _SHAPE2.Name = "_SHAPE2" + _SHAPE2.Top = 0 + _SHAPE2.Visible = .F. + LB_TITLU_ALB_B121.Caption = "Programare deschidere / redeschidere luna" + LB_TITLU_ALB_B121.Name = "LB_TITLU_ALB_B121" + LB_TITLU_ALB_B121.TabIndex = 10 + BUT_TERMIN1.Anchor = 9 + BUT_TERMIN1.Left = 596 + BUT_TERMIN1.Name = "BUT_TERMIN1" + BUT_TERMIN1.TabIndex = 8 + BUT_TERMIN1.Top = 1 + Gridsort1.Name = "Gridsort1" + * + + ADD OBJECT 'But_nou1' AS but_nou WITH ; + Anchor = 9, ; + Left = 535, ; + Name = "But_nou1", ; + Top = 1 + *< END OBJECT: ClassLib="cmd_butoane.vcx" BaseClass="commandbutton" /> + + ADD OBJECT 'But_start_criterii1' AS but_start_criterii WITH ; + Anchor = 9, ; + Comment = "*:OnResize=RT", ; + Left = 503, ; + Name = "But_start_criterii1", ; + Top = 0 + *< END OBJECT: ClassLib="ocriterii.vcx" BaseClass="commandbutton" /> + + ADD OBJECT 'But_sterge1' AS but_sterge WITH ; + Anchor = 9, ; + Left = 566, ; + Name = "But_sterge1", ; + Top = 1, ; + Visible = .T. + *< END OBJECT: ClassLib="cmd_butoane.vcx" BaseClass="commandbutton" /> + + ADD OBJECT 'grdLogRedeschid' AS _grdrow WITH ; + Anchor = 15, ; + ColumnCount = 12, ; + DeleteMark = .F., ; + Height = 408, ; + Left = 12, ; + Name = "grdLogRedeschid", ; + Panel = 1, ; + ReadOnly = .T., ; + RecordSource = "cLogRedeschid", ; + TabIndex = 4, ; + Top = 36, ; + Width = 600, ; + Column1.ColumnOrder = 1, ; + Column1.ControlSource = "anul", ; + Column1.Name = "cAn", ; + Column1.ReadOnly = .T., ; + Column1.Width = 43, ; + Column2.ColumnOrder = 2, ; + Column2.ControlSource = "luna", ; + Column2.Name = "cLuna", ; + Column2.ReadOnly = .T., ; + Column2.Width = 46, ; + Column3.ControlSource = "deschid", ; + Column3.CurrentControl = "_CHECKBOX1", ; + Column3.Name = "cDeschid", ; + Column3.ReadOnly = .T., ; + Column3.Sparse = .F., ; + Column3.Width = 72, ; + Column4.ControlSource = "programat", ; + Column4.CurrentControl = "_CHECKBOX1", ; + Column4.Name = "cProgramat", ; + Column4.ReadOnly = .T., ; + Column4.Sparse = .F., ; + Column4.Width = 62, ; + Column5.ControlSource = "dataora_start", ; + Column5.Name = "cDataora_start", ; + Column5.ReadOnly = .T., ; + Column5.Width = 110, ; + Column6.ControlSource = "dataora_stop", ; + Column6.Name = "cDataora_final", ; + Column6.ReadOnly = .T., ; + Column6.Width = 110, ; + Column7.ControlSource = "utilizator", ; + Column7.Name = "cUtilizator", ; + Column7.ReadOnly = .T., ; + Column7.Width = 162, ; + Column8.ControlSource = "dataora", ; + Column8.Name = "cDataora", ; + Column8.ReadOnly = .T., ; + Column8.Width = 96, ; + Column9.ControlSource = "sters", ; + Column9.CurrentControl = "_CHECKBOX1", ; + Column9.Name = "cSters", ; + Column9.ReadOnly = .T., ; + Column9.Sparse = .F., ; + Column9.Width = 41, ; + Column10.ControlSource = "utilizators", ; + Column10.Name = "cUtilizators", ; + Column10.ReadOnly = .T., ; + Column10.Width = 158, ; + Column11.ControlSource = "dataoras", ; + Column11.Name = "cDataoras", ; + Column11.ReadOnly = .T., ; + Column11.Width = 106, ; + Column12.ControlSource = "observatii", ; + Column12.Name = "cObservatii", ; + Column12.ReadOnly = .T., ; + Column12.Width = 165 + *< END OBJECT: ClassLib="_grd_base.vcx" BaseClass="grid" /> + + ADD OBJECT 'grdLogRedeschid.cAn.Header1' AS header WITH ; + Alignment = 2, ; + Caption = "An", ; + Name = "Header1" + *< END OBJECT: BaseClass="header" /> + + ADD OBJECT 'grdLogRedeschid.cAn.Text1' AS textbox WITH ; + BackColor = 255,255,255, ; + BorderStyle = 0, ; + ForeColor = 0,0,0, ; + Margin = 0, ; + Name = "Text1", ; + ReadOnly = .T. + *< END OBJECT: BaseClass="textbox" /> + + ADD OBJECT 'grdLogRedeschid.cDataora.Header1' AS header WITH ; + Alignment = 2, ; + Caption = "Data/ora", ; + Name = "Header1" + *< END OBJECT: BaseClass="header" /> + + ADD OBJECT 'grdLogRedeschid.cDataora.Text1' AS textbox WITH ; + BackColor = 255,255,255, ; + BorderStyle = 0, ; + ForeColor = 0,0,0, ; + Margin = 0, ; + Name = "Text1", ; + ReadOnly = .T. + *< END OBJECT: BaseClass="textbox" /> + + ADD OBJECT 'grdLogRedeschid.cDataora_final.Header1' AS header WITH ; + Alignment = 2, ; + Caption = "Data/ora final", ; + Name = "Header1" + *< END OBJECT: BaseClass="header" /> + + ADD OBJECT 'grdLogRedeschid.cDataora_final.Text1' AS textbox WITH ; + BackColor = 255,255,255, ; + BorderStyle = 0, ; + ForeColor = 0,0,0, ; + Margin = 0, ; + Name = "Text1", ; + ReadOnly = .T. + *< END OBJECT: BaseClass="textbox" /> + + ADD OBJECT 'grdLogRedeschid.cDataora_start.Header1' AS header WITH ; + Alignment = 2, ; + Caption = "Data/ora start", ; + Name = "Header1" + *< END OBJECT: BaseClass="header" /> + + ADD OBJECT 'grdLogRedeschid.cDataora_start.Text1' AS textbox WITH ; + BackColor = 255,255,255, ; + BorderStyle = 0, ; + ForeColor = 0,0,0, ; + Margin = 0, ; + Name = "Text1", ; + ReadOnly = .T. + *< END OBJECT: BaseClass="textbox" /> + + ADD OBJECT 'grdLogRedeschid.cDataoras.Header1' AS header WITH ; + Alignment = 2, ; + Caption = "Data/ora sters", ; + Name = "Header1" + *< END OBJECT: BaseClass="header" /> + + ADD OBJECT 'grdLogRedeschid.cDataoras.Text1' AS textbox WITH ; + BackColor = 255,255,255, ; + BorderStyle = 0, ; + ForeColor = 0,0,0, ; + Margin = 0, ; + Name = "Text1", ; + ReadOnly = .T. + *< END OBJECT: BaseClass="textbox" /> + + ADD OBJECT 'grdLogRedeschid.cDeschid._CHECKBOX1' AS _checkbox WITH ; + Alignment = 0, ; + Caption = "", ; + Left = 30, ; + Name = "_CHECKBOX1", ; + ReadOnly = .T., ; + Top = 71 + *< END OBJECT: ClassLib="_baza.vcx" BaseClass="checkbox" /> + + ADD OBJECT 'grdLogRedeschid.cDeschid.Header1' AS header WITH ; + Alignment = 2, ; + Caption = "Deschidere", ; + Name = "Header1" + *< END OBJECT: BaseClass="header" /> + + ADD OBJECT 'grdLogRedeschid.cDeschid.Text1' AS textbox WITH ; + BackColor = 255,255,255, ; + BorderStyle = 0, ; + ForeColor = 0,0,0, ; + Margin = 0, ; + Name = "Text1", ; + ReadOnly = .T. + *< END OBJECT: BaseClass="textbox" /> + + ADD OBJECT 'grdLogRedeschid.cLuna.Header1' AS header WITH ; + Alignment = 2, ; + Caption = "Luna", ; + Name = "Header1" + *< END OBJECT: BaseClass="header" /> + + ADD OBJECT 'grdLogRedeschid.cLuna.Text1' AS textbox WITH ; + BackColor = 255,255,255, ; + BorderStyle = 0, ; + ForeColor = 0,0,0, ; + Margin = 0, ; + Name = "Text1", ; + ReadOnly = .T. + *< END OBJECT: BaseClass="textbox" /> + + ADD OBJECT 'grdLogRedeschid.cObservatii.Header1' AS header WITH ; + Alignment = 2, ; + Caption = "Observatii", ; + Name = "Header1" + *< END OBJECT: BaseClass="header" /> + + ADD OBJECT 'grdLogRedeschid.cObservatii.Text1' AS textbox WITH ; + BackColor = 255,255,255, ; + BorderStyle = 0, ; + ForeColor = 0,0,0, ; + Margin = 0, ; + Name = "Text1" + *< END OBJECT: BaseClass="textbox" /> + + ADD OBJECT 'grdLogRedeschid.cProgramat._CHECKBOX1' AS _checkbox WITH ; + Alignment = 0, ; + Caption = "", ; + Left = 41, ; + Name = "_CHECKBOX1", ; + ReadOnly = .T., ; + Top = 71 + *< END OBJECT: ClassLib="_baza.vcx" BaseClass="checkbox" /> + + ADD OBJECT 'grdLogRedeschid.cProgramat.Header1' AS header WITH ; + Alignment = 2, ; + Caption = "Programat", ; + Name = "Header1" + *< END OBJECT: BaseClass="header" /> + + ADD OBJECT 'grdLogRedeschid.cProgramat.Text1' AS textbox WITH ; + BackColor = 255,255,255, ; + BorderStyle = 0, ; + ForeColor = 0,0,0, ; + Margin = 0, ; + Name = "Text1", ; + ReadOnly = .T. + *< END OBJECT: BaseClass="textbox" /> + + ADD OBJECT 'grdLogRedeschid.cSters._CHECKBOX1' AS _checkbox WITH ; + Alignment = 0, ; + Caption = "", ; + Left = 17, ; + Name = "_CHECKBOX1", ; + ReadOnly = .T., ; + Top = 47 + *< END OBJECT: ClassLib="_baza.vcx" BaseClass="checkbox" /> + + ADD OBJECT 'grdLogRedeschid.cSters.Header1' AS header WITH ; + Alignment = 2, ; + Caption = "Sters", ; + Name = "Header1" + *< END OBJECT: BaseClass="header" /> + + ADD OBJECT 'grdLogRedeschid.cSters.Text1' AS textbox WITH ; + BackColor = 255,255,255, ; + BorderStyle = 0, ; + ForeColor = 0,0,0, ; + Margin = 0, ; + Name = "Text1" + *< END OBJECT: BaseClass="textbox" /> + + ADD OBJECT 'grdLogRedeschid.cUtilizator.Header1' AS header WITH ; + Alignment = 2, ; + Caption = "Operator", ; + Name = "Header1" + *< END OBJECT: BaseClass="header" /> + + ADD OBJECT 'grdLogRedeschid.cUtilizator.Text1' AS textbox WITH ; + BackColor = 255,255,255, ; + BorderStyle = 0, ; + ForeColor = 0,0,0, ; + Margin = 0, ; + Name = "Text1", ; + ReadOnly = .T. + *< END OBJECT: BaseClass="textbox" /> + + ADD OBJECT 'grdLogRedeschid.cUtilizators.Header1' AS header WITH ; + Alignment = 2, ; + Caption = "Operator stergere", ; + Name = "Header1" + *< END OBJECT: BaseClass="header" /> + + ADD OBJECT 'grdLogRedeschid.cUtilizators.Text1' AS textbox WITH ; + BackColor = 255,255,255, ; + BorderStyle = 0, ; + ForeColor = 0,0,0, ; + Margin = 0, ; + Name = "Text1", ; + ReadOnly = .T. + *< END OBJECT: BaseClass="textbox" /> + + PROCEDURE do_adauga + PRIVATE pnId + pnId = 0 + + lcSql = [begin pack_deschidere_luna.adauga_programare(?gnAn, ?gnLuna, pack_deschidere_luna.nRedeschidereLuna, ?gnIdUtil, ?gnIdProgram, ?@pnId); end;] + lnSucces = goExecutor.oExecute(lcSql) + IF lnSucces < 0 + aMESSAGEBOX(goExecutor.cEroare,0+16,_screen.Caption) + ELSE + This.do_cauta() + LOCATE FOR id_redeschid = pnId + IF !FOUND() + GO TOP + ENDIF + this.grdLogRedeschid.SetFocus() + ENDIF + + ENDPROC + + PROCEDURE do_cauta + LOCAL lcFiltru + lcFiltru = "" + + *** DACA FILTRUL NU CONTINE INREGISTRARILE STERSE, SELECTEZ DOAR INREGISTRARILE STERS = 0 + If !'STERS'$upper(Thisform.filtru_pretty_ro_full) + lcFiltru = [ AND STERS = 0 ] + lcFiltru + ENDIF + + *** DACA FILTRUL NU CONTINE PERIOADA, SELECTEZ DOAR INREGISTRARILE DIN LUNA CURENTA + IF !'PERIOADA'$upper(THISFORM.filtru_pretty_ro_full) + lcFiltru = [ AND LUNA = ]+ALLTRIM(STR(m.gnluna))+[ AND ANUL = ]+ALLTRIM(STR(m.gnan)) + m.lcFiltru + ENDIF + + IF LEN(THISFORM.filtru_pretty)>0 + lcFiltru = m.lcFiltru+" and (" + ALLTRIM(THISFORM.filtru_pretty) + ")" + ENDIF + + IF !EMPTY(m.lcFiltru) + lcFiltru = SUBSTR(m.lcFiltru, 6) + ELSE + lcFiltru = poProgramare.ca_baza1.cfiltru + ENDIF + + IF (THIS.filtru_pretty#"none") + Thisform.MousePointer= 11 + Thisform.LockScreen=.T. + save_grid_tag(Thisform.grdLogRedeschid) + poProgramare.ca_baza1.cfiltru = m.lcFiltru + poProgramare.ca_baza1.afisare() + restore_grid_tag(Thisform.grdLogRedeschid) + Thisform.LockScreen=.F. + Thisform.MousePointer= 0 + + IF RECCOUNT('cLogRedeschid')=0 + aMessagebox("Cautarea nu a intors rezultate!",0+48,_screen.Caption) + ENDIF + ENDIF + + + + + + ENDPROC + + PROCEDURE inainte_de_do_sterge + Private pnId + pnId = cLogRedeschid.id_redeschid + + If Nvl(pnId,0) <> 0 + lcSql = [begin pack_deschidere_luna.sterge_programare(?pnId, ?gnIdUtil); end;] + lnSucces = goExecutor.oExecute(lcSql) + If lnSucces < 0 + aMESSAGEBOX(goExecutor.cEroare,0+16,_Screen.Caption) + Else + This.do_cauta() + Locate For id_redeschid = pnId + If !Found() + Go Top + Endif + This.grdLogRedeschid.SetFocus() + Endif + Endif + + ENDPROC + + PROCEDURE Init + DODEFAULT() + this.grdLogRedeschid.SetAll("dynamicforecolor","iif(sters = 0, RGB(0,0,0), RGB(255,0,0))", "Column") + ENDPROC + + PROCEDURE But_start_criterii1.loadcriterii + + PARAMETERS tacriterii + EXTERNAL ARRAY tacriterii + #DEFINE crlf CHR(13)+CHR(10) + + lcStringCriterii= "Perioada\anul*12+luna\D1\none\" + crlf + ; + "Dataora start\trunc(dataora_start)\D\none\" + crlf + ; + "Dataora final\trunc(dataora_final)\D\none\" + crlf + ; + "Deschidere\nofiled\A\Deschidere de luna,Redeschidere de luna,Toate#NVL(deschid,0) = 1,NVL(deschid,0) = 0,1=1\" + crlf + ; + "Programare\nofiled\A\Deschidere programata,Deschidere imediata,Toate#programat = 1,programat = 0,1=1\" + crlf + ; + "Dataora\trunc(dataora)\D\none\" + crlf + ; + "Operator\util\T\ID_UTIL\nom_utilizator" + crlf + ; + "Sterse\nofiled\E\(1=1)\" + crlf + ; + "Operator stergere\utils\T\ID_UTILS\nom_utilizator" + crlf + ; + "Data stergerii\trunc(dataoras)\D\none\" + + DODEFAULT() + + ENDPROC + +ENDDEFINE diff --git a/clase/ofacturare.vc2 b/clase/ofacturare.vc2 new file mode 100644 index 0000000..06ae45f --- /dev/null +++ b/clase/ofacturare.vc2 @@ -0,0 +1,22862 @@ +*-------------------------------------------------------------------------------------------------------------------------------------------------------- +* (EN) AUTOGENERATED - ATTENTION!! - NOT INTENDED FOR EXECUTION!! USE ONLY FOR MERGING CHANGES AND STORING WITH SCM TOOLS!! +*-------------------------------------------------------------------------------------------------------------------------------------------------------- +*< FOXBIN2PRG: Version="1.21" SourceFile="ofacturare.vcx" CPID="1252" /> (Solo para binarios VFP 9 / Only for VFP 9 binaries) +* +* +DEFINE CLASS clb_tx_sume_valuta AS _container OF "_baza.vcx" + *< CLASSDATA: Baseclass="container" Timestamp="" Scale="Pixels" Uniqueid="" /> + + *-- OBJECTDATA items order determines ZOrder / El orden de los items OBJECTDATA determina el ZOrder + *< OBJECTDATA: ObjPath="tx_suma_val" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="lb_explicatie" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="tx_suma_nat" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="lb_nume_val" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="lb_nume_nat" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="lb_explicatii" UniqueID="" Timestamp="" /> + + * + *m: do_activeaza + *m: do_actualizeaza_lbnat + *m: do_actualizeaza_lbval + *m: do_dezactiveaza + *p: cmonedanationala + *p: levidentiat && Daca e .T., atunci caracterele din campul care poate fi editat vor fi ingrosate. + *p: nsumanatold + *p: nsumavalold + *p: pcobj + *p: _memberdata && XML Metadata for customizable properties + * + + * + BackStyle = 0 + cmonedanationala = RON + Height = 28 + levidentiat = .F. + Name = "clb_tx_sume_valuta" + nsumanatold = 0 + nsumavalold = 0 + pcobj = + Width = 324 + _memberdata = + + + + + + + + + * + + ADD OBJECT 'lb_explicatie' AS _lbbase WITH ; + FontName = "Arial Narrow", ; + Left = 4, ; + Name = "lb_explicatie", ; + Top = 4 + *< END OBJECT: ClassLib="_lb_base.vcx" BaseClass="label" /> + + ADD OBJECT 'lb_explicatii' AS _lbbase WITH ; + Caption = "(...)", ; + FontName = "Arial Narrow", ; + Left = 120, ; + Name = "lb_explicatii", ; + Top = 4, ; + Visible = .F. + *< END OBJECT: ClassLib="_lb_base.vcx" BaseClass="label" /> + + ADD OBJECT 'lb_nume_nat' AS _lbbase WITH ; + Caption = "Label", ; + FontName = "Arial Narrow", ; + Left = 298, ; + Name = "lb_nume_nat", ; + Top = 4 + *< END OBJECT: ClassLib="_lb_base.vcx" BaseClass="label" /> + + ADD OBJECT 'lb_nume_val' AS _lbbase WITH ; + Caption = "Label", ; + FontName = "Arial Narrow", ; + Left = 203, ; + Name = "lb_nume_val", ; + Top = 4 + *< END OBJECT: ClassLib="_lb_base.vcx" BaseClass="label" /> + + ADD OBJECT 'tx_suma_nat' AS _txbase WITH ; + Alignment = 1, ; + FontName = "Arial Narrow", ; + Format = "!K", ; + Height = 23, ; + InputMask = (get_mask(14,gnPPretV)), ; + Left = 238, ; + Name = "tx_suma_nat", ; + ReadOnly = .T., ; + TabStop = .F., ; + Top = 2, ; + Width = 59 + *< END OBJECT: ClassLib="_tx_base.vcx" BaseClass="textbox" /> + + ADD OBJECT 'tx_suma_val' AS _txbase WITH ; + Alignment = 1, ; + FontName = "Arial Narrow", ; + Format = "!K", ; + Height = 23, ; + InputMask = (get_mask(14,gnPVal)), ; + Left = 141, ; + Name = "tx_suma_val", ; + ReadOnly = .T., ; + TabStop = .F., ; + Top = 2, ; + Width = 60 + *< END OBJECT: ClassLib="_tx_base.vcx" BaseClass="textbox" /> + + PROCEDURE do_activeaza + Lparameters tnTip + ** fara parametru - sunt activate ambele textbox-uri + ** 1 - e activata suma_nat + ** 2 - e activata suma_val + Do Case + Case Empty(tnTip) + With This.tx_suma_nat + .ReadOnly = .F. + .TabStop = .T. + .FontBold = This.levidentiat + Endwith + If Type('this.tx_suma_val') <> 'U' + With This.tx_suma_val + .ReadOnly = .F. + .TabStop = .T. + .FontBold = This.levidentiat + Endwith + Endif + Case tnTip = 1 + With This.tx_suma_nat + .ReadOnly = .F. + .TabStop = .T. + .FontBold = This.levidentiat + Endwith + Case tnTip = 2 And Type('this.tx_suma_val') <> 'U' + With This.tx_suma_val + .ReadOnly = .F. + .TabStop = .T. + .FontBold = This.levidentiat + Endwith + Endcase + This.TabStop = .T. + ENDPROC + + PROCEDURE do_actualizeaza_lbnat + Lparameters tcNumeNat + If !Empty(tcNumeVal) + This.lb_nume_nat.Caption=Alltrim(tcNumeNat) + Endif + ENDPROC + + PROCEDURE do_actualizeaza_lbval + Lparameters tcNumeVal + If Empty(tcNumeVal) + This.RemoveObject('lb_nume_val') + This.RemoveObject('tx_suma_val') + Else + This.lb_nume_val.Caption=Alltrim(tcNumeVal) + Endif + ENDPROC + + PROCEDURE do_dezactiveaza + Lparameters tnTip + ** fara parametru - sunt dezactivate ambele textbox-uri + ** 1 - e dezactivata suma_nat + ** 2 - e dezactivata suma_val + Do Case + Case Empty(tnTip) + With This.tx_suma_nat + .ReadOnly = .T. + .TabStop = .F. + .FontBold = .F. + Endwith + If Type('this.tx_suma_val') <> 'U' + With This.tx_suma_val + .ReadOnly = .T. + .TabStop = .F. + .FontBold = .F. + Endwith + Endif + Case tnTip = 1 + With This.tx_suma_nat + .ReadOnly = .T. + .TabStop = .F. + .FontBold = .F. + Endwith + Case tnTip = 2 And Type('this.tx_suma_val') <> 'U' + With This.tx_suma_val + .ReadOnly = .T. + .TabStop = .F. + .FontBold = .F. + Endwith + Endcase + ENDPROC + + PROCEDURE Init + This.lb_nume_nat.Caption=Alltrim(This.cmonedanationala) + + ENDPROC + + PROCEDURE tx_suma_nat.When + this.Parent.nSumaNatOld = this.Value + ENDPROC + + PROCEDURE tx_suma_val.When + this.Parent.nSumaValOld = this.Value + ENDPROC + +ENDDEFINE + +DEFINE CLASS clb_tx_sume_valuta1501 AS _container OF "..\comun\clase\_baza.vcx" + *< CLASSDATA: Baseclass="container" Timestamp="" Scale="Pixels" Uniqueid="" /> + + *-- OBJECTDATA items order determines ZOrder / El orden de los items OBJECTDATA determina el ZOrder + *< OBJECTDATA: ObjPath="tx_suma_val" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="lb_explicatie" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="tx_suma_nat" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="lb_nume_val" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="lb_nume_nat" UniqueID="" Timestamp="" /> + + * + *m: do_activeaza + *m: do_actualizeaza_lbnat + *m: do_actualizeaza_lbval + *m: do_dezactiveaza + *p: cmonedanationala + *p: pcobj + *p: _memberdata && XML Metadata for customizable properties + * + + * + BackStyle = 0 + cmonedanationala = RON + Height = 50 + Name = "clb_tx_sume_valuta" + pcobj = + Width = 290 + _memberdata = + + + + + + + * + + ADD OBJECT 'lb_explicatie' AS _lbbase WITH ; + Left = 8, ; + Name = "lb_explicatie", ; + Top = 4 + *< END OBJECT: ClassLib="..\comun\clase\_lb_base.vcx" BaseClass="label" /> + + ADD OBJECT 'lb_nume_nat' AS _lbbase WITH ; + Left = 244, ; + Name = "lb_nume_nat", ; + Top = 25 + *< END OBJECT: ClassLib="..\comun\clase\_lb_base.vcx" BaseClass="label" /> + + ADD OBJECT 'lb_nume_val' AS _lbbase WITH ; + Left = 101, ; + Name = "lb_nume_val", ; + Top = 25 + *< END OBJECT: ClassLib="..\comun\clase\_lb_base.vcx" BaseClass="label" /> + + ADD OBJECT 'tx_suma_nat' AS _txbase WITH ; + Alignment = 1, ; + Format = "!K", ; + Height = 23, ; + InputMask = (get_mask(14,gnPa)), ; + Left = 148, ; + Name = "tx_suma_nat", ; + ReadOnly = .T., ; + TabStop = .F., ; + Top = 22, ; + Width = 91 + *< END OBJECT: ClassLib="..\comun\clase\_tx_base.vcx" BaseClass="textbox" /> + + ADD OBJECT 'tx_suma_val' AS _txbase WITH ; + Alignment = 1, ; + Format = "!K", ; + Height = 23, ; + InputMask = (get_mask(14,gnPVal)), ; + Left = 6, ; + Name = "tx_suma_val", ; + ReadOnly = .T., ; + TabStop = .F., ; + Top = 22, ; + Width = 91 + *< END OBJECT: ClassLib="..\comun\clase\_tx_base.vcx" BaseClass="textbox" /> + + PROCEDURE do_activeaza + Lparameters tnTip + ** fara parametru - sunt activate ambele textbox-uri + ** 1 - e activata suma_nat + ** 2 - e activata suma_val + Do Case + Case Empty(tnTip) + With This.tx_suma_nat + .ReadOnly = .F. + .TabStop = .T. + Endwith + If Type('this.tx_suma_val') <> 'U' + With This.tx_suma_val + .ReadOnly = .F. + .TabStop = .T. + Endwith + Endif + Case tnTip = 1 + With This.tx_suma_nat + .ReadOnly = .F. + .TabStop = .T. + Endwith + Case tnTip = 2 And Type('this.tx_suma_val') <> 'U' + With This.tx_suma_val + .ReadOnly = .F. + .TabStop = .T. + Endwith + Endcase + This.TabStop = .T. + ENDPROC + + PROCEDURE do_actualizeaza_lbnat + Lparameters tcNumeNat + If !Empty(tcNumeVal) + This.lb_nume_nat.Caption=Alltrim(tcNumeNat) + Endif + ENDPROC + + PROCEDURE do_actualizeaza_lbval + Lparameters tcNumeVal + If Empty(tcNumeVal) + This.RemoveObject('lb_nume_val') + This.RemoveObject('tx_suma_val') + Else + This.lb_nume_val.Caption=Alltrim(tcNumeVal) + Endif + ENDPROC + + PROCEDURE do_dezactiveaza + Lparameters tnTip + ** fara parametru - sunt dezactivate ambele textbox-uri + ** 1 - e dezactivata suma_nat + ** 2 - e dezactivata suma_val + Do Case + Case Empty(tnTip) + With This.tx_suma_nat + .ReadOnly = .T. + .TabStop = .F. + Endwith + If Type('this.tx_suma_val') <> 'U' + With This.tx_suma_val + .ReadOnly = .T. + .TabStop = .F. + Endwith + Endif + Case tnTip = 1 + With This.tx_suma_nat + .ReadOnly = .T. + .TabStop = .F. + Endwith + Case tnTip = 2 And Type('this.tx_suma_val') <> 'U' + With This.tx_suma_val + .ReadOnly = .T. + .TabStop = .F. + Endwith + Endcase + ENDPROC + + PROCEDURE Init + This.lb_nume_nat.Caption=Alltrim(This.cmonedanationala) + + ENDPROC + +ENDDEFINE + +DEFINE CLASS cus_odata_nomrute AS _cusodatabase OF "..\comun\clase\_cus_odata_base.vcx" + *< CLASSDATA: Baseclass="custom" Timestamp="" Scale="Pixels" Uniqueid="" /> + + * + Name = "cus_odata_nomrute" + * + + PROCEDURE make_sql + Lparameters toRec,tnId + + lcActiune = Alltrim(This.cActiune) + + If Inlist(lcActiune, "UPDATE",'INSERT') And Type('toRec') != "O" + Return .F. + Endif + + If Inlist(lcActiune, "UPDATE",'DELETE') And Type('tnId') != "N" + Return .F. + Endif + + If Inlist(lcActiune, "UPDATE",'DELETE') + lcId = Alltrim(Str(tnId)) + Endif + + If Inlist(lcActiune, "UPDATE",'INSERT') + lcRuta = NVL(STRTRAN(ALLTRIM(UPPER(torec.ruta)),['],['']),"") + lcidagent = NVL(ALLTRIM(STR(torec.id_agent)),'null') + lciddelegat = NVL(ALLTRIM(STR(torec.id_delegat)),'null') + lcidmasina = NVL(ALLTRIM(STR(torec.id_masina)),'null') + If lcidmasina = '0' + lcidmasina = 'null' + EndIf + If lcidagent = '0' + lcidagent = 'null' + EndIf + If lciddelegat = '0' + lciddelegat = 'null' + EndIf + + Endif + + + Do Case + Case lcActiune = "INSERT" + + lcSql = [INSERT INTO ] + gcS + [.FACT_NOM_RUTE( ruta,id_agent,id_delegat,id_masina) VALUES (]+; + [']+ lcruta + [',]+lcidagent +[,]+lciddelegat +[,]+lcidmasina +[)] + + Case lcActiune = "UPDATE" + + lcSql = [UPDATE ] + gcS + [.FACT_NOM_RUTE SET ] +; + [ ruta = '] + lcruta + [' ,id_agent=] +lcidagent +[,id_delegat=]+lciddelegat +[,id_masina=]+ lcidmasina+ ; + [ where id_ruta = ] + lcId + + Case lcActiune = "DELETE" + + *!* lcSql = [update ] +gcS +[.sal_nom_cm set sters=1 where id_nomore=]+lcid + lcSql = [update FACT_NOM_RUTE set sters = 1 where id_ruta = ] + lcId + Endcase + + This.csql = lcSql + + ENDPROC + +ENDDEFINE + +DEFINE CLASS cus_odata_rute AS _cusodatabase OF "..\comun\clase\_cus_odata_base.vcx" + *< CLASSDATA: Baseclass="custom" Timestamp="" Scale="Pixels" Uniqueid="" /> + + * + Name = "cus_odata_rute" + * + + PROCEDURE make_sql + Lparameters toRec,tnId + + lcActiune = Alltrim(This.cActiune) + + If Inlist(lcActiune, "UPDATE",'INSERT') And Type('toRec') != "O" + Return .F. + Endif + + If Inlist(lcActiune, "UPDATE",'DELETE') And Type('tnId') != "N" + Return .F. + Endif + + If Inlist(lcActiune, "UPDATE",'DELETE') + lcId = Alltrim(Str(tnId)) + Endif + + If Inlist(lcActiune, "UPDATE",'INSERT') + + lcidGestiune = NVL(ALLTRIM(STR(torec.id_gestiune)),'null') + lcidRuta = NVL(ALLTRIM(STR(torec.id_ruta)),'null') + lcOrdine = NVL(ALLTRIM(STR(torec.ordine)),'0') + + + Endif + + + Do Case + Case lcActiune = "INSERT" + + lcSql = [INSERT INTO ] + gcS + [.fact_nom_rutegest( id_ruta,id_gestiune,ordine) VALUES (]+; + lcidruta + [,] + lcidGestiune + [,]+lcOrdine+[)] + + Case lcActiune = "UPDATE" + + lcSql = [UPDATE ] + gcS + [.fact_nom_rutegest SET id_ruta = ] + lcidruta +; + [,id_gestiune= ] + lcidGestiune +[,ordine = ]+lcOrdine +; + [ where id_rutagest = ] + lcId + + Case lcActiune = "DELETE" + + *!* lcSql = [update ] +gcS +[.sal_nom_cm set sters=1 where id_nomore=]+lcid + lcSql = [update fact_nom_rutegest set sters = 1 where id_rutagest = ] + lcId + Endcase + + This.csql = lcSql + + ENDPROC + +ENDDEFINE + +DEFINE CLASS frm_articol_compus AS _frmbase OF "_frm_base.vcx" + *< CLASSDATA: Baseclass="form" Timestamp="" Scale="Pixels" Uniqueid="" /> + + *-- OBJECTDATA items order determines ZOrder / El orden de los items OBJECTDATA determina el ZOrder + *< OBJECTDATA: ObjPath="But_renunt1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="clb_articol" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="Clb_serie" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="clb_um" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="clb_cantitate" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="clb_cantitate.lb_explicatii" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="Ed_tx_explicatie" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="Clb_pretftva" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="Clb_tva" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="Clb_pretctva" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="Clb_discount_unitar" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="Clb_tva_discount" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="Clb_discountctva" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="Clb_totalfdiscount" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="Clb_pret_diminuat" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="Clb_totalcdiscount" UniqueID="" Timestamp="" /> + + * + *m: do_calculeaza_preturi + *m: do_calculeaza_totaluri + *p: nid + *p: orec + * + + * + DoCreate = .T. + Height = 370 + Name = "frm_articol_compus" + Width = 646 + _shape1.Height = 29 + _shape1.Left = 0 + _shape1.Name = "_shape1" + _shape1.Top = 0 + _shape1.Width = 648 + _shape1.ZOrderSet = 1 + _shape2.Height = 29 + _shape2.Left = 580 + _shape2.Name = "_shape2" + _shape2.Top = 0 + _shape2.Width = 69 + _shape2.ZOrderSet = 2 + Lb_titlu_alb_b121.Caption = "ADÃUGARE ARTICOL" + Lb_titlu_alb_b121.FontBold = .T. + Lb_titlu_alb_b121.Name = "Lb_titlu_alb_b121" + Lb_titlu_alb_b121.TabIndex = 17 + Lb_titlu_alb_b121.ZOrderSet = 3 + BUT_TERMIN1.Height = 27 + BUT_TERMIN1.Left = 616 + BUT_TERMIN1.Name = "BUT_TERMIN1" + BUT_TERMIN1.TabIndex = 15 + BUT_TERMIN1.Top = 1 + BUT_TERMIN1.Width = 30 + BUT_TERMIN1.ZOrderSet = 4 + Gridsort1.Left = 48 + Gridsort1.Name = "Gridsort1" + Gridsort1.Top = 349 + * + + ADD OBJECT 'But_renunt1' AS but_renunt WITH ; + Height = 27, ; + Left = 584, ; + Name = "But_renunt1", ; + TabIndex = 16, ; + Top = 1, ; + Width = 30, ; + ZOrderSet = 6 + *< END OBJECT: ClassLib="cmd_butoane.vcx" BaseClass="commandbutton" /> + + ADD OBJECT 'clb_articol' AS clb_tx_simplu WITH ; + Height = 87, ; + Left = 6, ; + Name = "clb_articol", ; + TabIndex = 1, ; + Top = 50, ; + Width = 290, ; + ZOrderSet = 7, ; + Text_simplu1.ControlSource = "poArticolCompus.denumire", ; + Text_simplu1.FontBold = .T., ; + Text_simplu1.FontName = "Arial Narrow", ; + Text_simplu1.Height = 81, ; + Text_simplu1.Left = 66, ; + Text_simplu1.Name = "Text_simplu1", ; + Text_simplu1.Top = 3, ; + Text_simplu1.Width = 220, ; + Lb_simplu1.Caption = "Articol", ; + Lb_simplu1.Name = "Lb_simplu1" + *< END OBJECT: ClassLib="lb_tx.vcx" BaseClass="container" /> + + ADD OBJECT 'clb_cantitate' AS clb_tx_simplu WITH ; + Left = 303, ; + Name = "clb_cantitate", ; + TabIndex = 5, ; + Top = 34, ; + Width = 290, ; + ZOrderSet = 10, ; + Text_simplu1.Alignment = 1, ; + Text_simplu1.ControlSource = "poArticolCompus.cantitate", ; + Text_simplu1.InputMask = (get_mask(14,gnPCant)), ; + Text_simplu1.Name = "Text_simplu1", ; + Lb_simplu1.Caption = "Cantitate", ; + Lb_simplu1.FontName = "Arial Narrow", ; + Lb_simplu1.Left = 8, ; + Lb_simplu1.Name = "Lb_simplu1", ; + Lb_simplu1.Top = 6 + *< END OBJECT: ClassLib="lb_tx.vcx" BaseClass="container" /> + + ADD OBJECT 'clb_cantitate.lb_explicatii' AS lb_simplu WITH ; + Caption = "(1)", ; + FontName = "Arial Narrow", ; + Height = 18, ; + Left = 82, ; + Name = "lb_explicatii", ; + Top = 5, ; + Width = 13 + *< END OBJECT: ClassLib="lb.vcx" BaseClass="label" /> + + ADD OBJECT 'Clb_discount_unitar' AS clb_tx_sume_valuta WITH ; + Left = 303, ; + Name = "Clb_discount_unitar", ; + TabIndex = 10, ; + TabStop = .F., ; + Top = 170, ; + ZOrderSet = 15, ; + tx_suma_val.ControlSource = "poArticolCompus.vdiscountftva", ; + tx_suma_val.Name = "tx_suma_val", ; + lb_explicatie.Caption = "Discount unitar fãrã TVA", ; + lb_explicatie.Name = "lb_explicatie", ; + tx_suma_nat.ControlSource = "poArticolCompus.discountftva", ; + tx_suma_nat.Name = "tx_suma_nat", ; + lb_nume_val.Name = "lb_nume_val", ; + lb_nume_nat.Name = "lb_nume_nat", ; + lb_explicatii.Caption = "(5)", ; + lb_explicatii.Name = "lb_explicatii", ; + lb_explicatii.Visible = .T. + *< END OBJECT: ClassLib="ofacturare.vcx" BaseClass="container" /> + + ADD OBJECT 'Clb_discountctva' AS clb_tx_sume_valuta WITH ; + Left = 303, ; + Name = "Clb_discountctva", ; + TabIndex = 12, ; + TabStop = .F., ; + Top = 224, ; + ZOrderSet = 17, ; + tx_suma_val.ControlSource = "poArticolCompus.vdiscountctva", ; + tx_suma_val.Name = "tx_suma_val", ; + lb_explicatie.Caption = "Discount unitar cu TVA", ; + lb_explicatie.Name = "lb_explicatie", ; + tx_suma_nat.ControlSource = "poArticolCompus.discountctva", ; + tx_suma_nat.Name = "tx_suma_nat", ; + lb_nume_val.Name = "lb_nume_val", ; + lb_nume_nat.Name = "lb_nume_nat", ; + lb_explicatii.Caption = "(7)", ; + lb_explicatii.Name = "lb_explicatii", ; + lb_explicatii.Visible = .T. + *< END OBJECT: ClassLib="ofacturare.vcx" BaseClass="container" /> + + ADD OBJECT 'Clb_pret_diminuat' AS clb_tx_sume_valuta WITH ; + Height = 50, ; + Left = 303, ; + Name = "Clb_pret_diminuat", ; + TabIndex = 13, ; + TabStop = .F., ; + Top = 251, ; + Visible = .F., ; + Width = 324, ; + ZOrderSet = 20, ; + tx_suma_val.FontBold = .T., ; + tx_suma_val.Left = 141, ; + tx_suma_val.Name = "tx_suma_val", ; + tx_suma_val.Top = 24, ; + lb_explicatie.Caption = "Preþ unitar diminuat fãrã TVA", ; + lb_explicatie.FontBold = .T., ; + lb_explicatie.Name = "lb_explicatie", ; + lb_explicatie.Top = 6, ; + tx_suma_nat.FontBold = .T., ; + tx_suma_nat.Left = 238, ; + tx_suma_nat.Name = "tx_suma_nat", ; + tx_suma_nat.Top = 24, ; + lb_nume_val.Left = 203, ; + lb_nume_val.Name = "lb_nume_val", ; + lb_nume_val.Top = 28, ; + lb_nume_nat.Left = 300, ; + lb_nume_nat.Name = "lb_nume_nat", ; + lb_nume_nat.Top = 27, ; + lb_explicatii.FontBold = .T., ; + lb_explicatii.Left = 241, ; + lb_explicatii.Name = "lb_explicatii", ; + lb_explicatii.Top = 4 + *< END OBJECT: ClassLib="ofacturare.vcx" BaseClass="container" /> + + ADD OBJECT 'Clb_pretctva' AS clb_tx_sume_valuta WITH ; + Left = 303, ; + Name = "Clb_pretctva", ; + TabIndex = 8, ; + TabStop = .F., ; + Top = 116, ; + ZOrderSet = 14, ; + tx_suma_val.ControlSource = "poArticolCompus.vpretctva", ; + tx_suma_val.Name = "tx_suma_val", ; + lb_explicatie.Caption = "Preþ cu TVA", ; + lb_explicatie.Name = "lb_explicatie", ; + tx_suma_nat.ControlSource = "poArticolCompus.pretctva", ; + tx_suma_nat.Name = "tx_suma_nat", ; + lb_nume_val.Name = "lb_nume_val", ; + lb_nume_nat.Name = "lb_nume_nat", ; + lb_explicatii.Caption = "(4)", ; + lb_explicatii.Name = "lb_explicatii", ; + lb_explicatii.Visible = .T. + *< END OBJECT: ClassLib="ofacturare.vcx" BaseClass="container" /> + + ADD OBJECT 'Clb_pretftva' AS clb_tx_sume_valuta WITH ; + Left = 303, ; + Name = "Clb_pretftva", ; + TabIndex = 6, ; + TabStop = .F., ; + Top = 62, ; + ZOrderSet = 12, ; + tx_suma_val.ControlSource = "poArticolCompus.vpretftva", ; + tx_suma_val.Name = "tx_suma_val", ; + lb_explicatie.Caption = "Preþ fãrã TVA", ; + lb_explicatie.Name = "lb_explicatie", ; + tx_suma_nat.ControlSource = "poArticolCompus.pretftva", ; + tx_suma_nat.Name = "tx_suma_nat", ; + lb_nume_val.Name = "lb_nume_val", ; + lb_nume_nat.Name = "lb_nume_nat", ; + lb_explicatii.Caption = "(2)", ; + lb_explicatii.Name = "lb_explicatii", ; + lb_explicatii.Visible = .T. + *< END OBJECT: ClassLib="ofacturare.vcx" BaseClass="container" /> + + ADD OBJECT 'Clb_serie' AS clb_tx_simplu WITH ; + Left = 6, ; + Name = "Clb_serie", ; + TabIndex = 2, ; + Top = 136, ; + Width = 290, ; + ZOrderSet = 22, ; + Text_simplu1.ControlSource = "poArticolCompus.serie", ; + Text_simplu1.Name = "Text_simplu1", ; + Lb_simplu1.Caption = "Serie", ; + Lb_simplu1.Name = "Lb_simplu1" + *< END OBJECT: ClassLib="lb_tx.vcx" BaseClass="container" /> + + ADD OBJECT 'Clb_totalcdiscount' AS clb_tx_sume_valuta WITH ; + Height = 50, ; + Left = 303, ; + Name = "Clb_totalcdiscount", ; + TabIndex = 14, ; + TabStop = .F., ; + Top = 300, ; + Width = 324, ; + ZOrderSet = 19, ; + tx_suma_val.ControlSource = "poArticolCompus.vvaldiminuatctva", ; + tx_suma_val.FontBold = .T., ; + tx_suma_val.Left = 141, ; + tx_suma_val.Name = "tx_suma_val", ; + tx_suma_val.Top = 24, ; + lb_explicatie.Caption = "Total cu TVA cu discount", ; + lb_explicatie.FontBold = .T., ; + lb_explicatie.Name = "lb_explicatie", ; + lb_explicatie.Top = 6, ; + tx_suma_nat.ControlSource = "poArticolCompus.valdiminuatctva", ; + tx_suma_nat.FontBold = .T., ; + tx_suma_nat.InputMask = (get_mask(14,gnPc)), ; + tx_suma_nat.Left = 238, ; + tx_suma_nat.Name = "tx_suma_nat", ; + tx_suma_nat.Top = 24, ; + lb_nume_val.Left = 203, ; + lb_nume_val.Name = "lb_nume_val", ; + lb_nume_val.Top = 27, ; + lb_nume_nat.Left = 300, ; + lb_nume_nat.Name = "lb_nume_nat", ; + lb_nume_nat.Top = 27, ; + lb_explicatii.FontBold = .T., ; + lb_explicatii.Left = 242, ; + lb_explicatii.Name = "lb_explicatii", ; + lb_explicatii.Top = 4 + *< END OBJECT: ClassLib="ofacturare.vcx" BaseClass="container" /> + + ADD OBJECT 'Clb_totalfdiscount' AS clb_tx_sume_valuta WITH ; + Left = 303, ; + Name = "Clb_totalfdiscount", ; + TabIndex = 9, ; + TabStop = .F., ; + Top = 143, ; + Width = 324, ; + ZOrderSet = 18, ; + tx_suma_val.ControlSource = "poArticolCompus.vvalctva", ; + tx_suma_val.Name = "tx_suma_val", ; + lb_explicatie.Caption = "Total cu TVA fãrã discount", ; + lb_explicatie.Name = "lb_explicatie", ; + tx_suma_nat.ControlSource = "poArticolCompus.valctva", ; + tx_suma_nat.InputMask = (get_mask(14,gnPc)), ; + tx_suma_nat.Name = "tx_suma_nat", ; + lb_nume_val.Name = "lb_nume_val", ; + lb_nume_nat.Name = "lb_nume_nat", ; + lb_explicatii.Name = "lb_explicatii" + *< END OBJECT: ClassLib="ofacturare.vcx" BaseClass="container" /> + + ADD OBJECT 'Clb_tva' AS clb_tx_sume_valuta WITH ; + Left = 303, ; + Name = "Clb_tva", ; + TabIndex = 7, ; + TabStop = .F., ; + Top = 89, ; + ZOrderSet = 13, ; + tx_suma_val.ControlSource = "poArticolCompus.vtva", ; + tx_suma_val.Name = "tx_suma_val", ; + lb_explicatie.Caption = "TVA", ; + lb_explicatie.Name = "lb_explicatie", ; + tx_suma_nat.ControlSource = "poArticolCompus.tva", ; + tx_suma_nat.Name = "tx_suma_nat", ; + lb_nume_val.Name = "lb_nume_val", ; + lb_nume_nat.Name = "lb_nume_nat", ; + lb_explicatii.Caption = "(3)", ; + lb_explicatii.Name = "lb_explicatii", ; + lb_explicatii.Visible = .T. + *< END OBJECT: ClassLib="ofacturare.vcx" BaseClass="container" /> + + ADD OBJECT 'Clb_tva_discount' AS clb_tx_sume_valuta WITH ; + Left = 303, ; + Name = "Clb_tva_discount", ; + TabIndex = 11, ; + TabStop = .F., ; + Top = 197, ; + ZOrderSet = 16, ; + tx_suma_val.ControlSource = "poArticolCompus.vdiscounttva", ; + tx_suma_val.Name = "tx_suma_val", ; + lb_explicatie.Caption = "TVA discount", ; + lb_explicatie.Name = "lb_explicatie", ; + tx_suma_nat.ControlSource = "poArticolCompus.discounttva", ; + tx_suma_nat.Name = "tx_suma_nat", ; + lb_nume_val.Name = "lb_nume_val", ; + lb_nume_nat.Name = "lb_nume_nat", ; + lb_explicatii.Caption = "(6)", ; + lb_explicatii.Name = "lb_explicatii", ; + lb_explicatii.Visible = .T. + *< END OBJECT: ClassLib="ofacturare.vcx" BaseClass="container" /> + + ADD OBJECT 'clb_um' AS clb_tx_simplu WITH ; + Left = 6, ; + Name = "clb_um", ; + TabIndex = 3, ; + Top = 164, ; + Width = 290, ; + ZOrderSet = 9, ; + Text_simplu1.ControlSource = "poArticolCompus.um", ; + Text_simplu1.Name = "Text_simplu1", ; + Lb_simplu1.Caption = "U.M.", ; + Lb_simplu1.Name = "Lb_simplu1" + *< END OBJECT: ClassLib="lb_tx.vcx" BaseClass="container" /> + + ADD OBJECT 'Ed_tx_explicatie' AS ed_tx_simplu WITH ; + Height = 145, ; + Left = 6, ; + Name = "Ed_tx_explicatie", ; + TabIndex = 4, ; + Top = 192, ; + Width = 290, ; + ZOrderSet = 23, ; + _EDBASE1.ControlSource = "poArticolCompus.explicatie", ; + _EDBASE1.Format = "!", ; + _EDBASE1.Height = 140, ; + _EDBASE1.Left = 61, ; + _EDBASE1.MaxLength = 240, ; + _EDBASE1.Name = "_EDBASE1", ; + _EDBASE1.Top = 2, ; + _EDBASE1.Width = 227, ; + _lbbase1.Caption = "Explicaþie", ; + _lbbase1.Left = 4, ; + _lbbase1.Name = "_lbbase1", ; + _lbbase1.Top = 6 + *< END OBJECT: ClassLib="lb_tx.vcx" BaseClass="container" /> + + PROCEDURE do_calculeaza_preturi + If poArticolCompus.cantitate <> 0 + poArticolCompus.vpretftva = Round(poArticolCompus.vvalftva / poArticolCompus.cantitate,gnPVal) + *!* modificare v 2.0.46 + *!* poArticolCompus.vtva = Round(poArticolCompus.vvaltva / poArticolCompus.cantitate,gnPc) + *!* poArticolCompus.vpretctva = Round(poArticolCompus.vvalctva / poArticolCompus.cantitate,gnPc) + poArticolCompus.vtva = Round(poArticolCompus.vpretftva * (poArticolCompus.proc_tvav-1),gnPVal) + poArticolCompus.vpretctva = poArticolCompus.vpretftva + poArticolCompus.vtva + *!* modificare v 2.0.46 ^ + + poArticolCompus.vdiscountftva = Round(poArticolCompus.vvaldiscountftva / poArticolCompus.cantitate,gnPVal) + poArticolCompus.vdiscountctva = Round(poArticolCompus.vvaldiscountctva / poArticolCompus.cantitate,gnPVal) + *!* modificare v 2.0.56 + *!* poArticolCompus.vdiscounttva = poArticolCompus.vvaldiscountctva-poArticolCompus.vvaldiscountftva + poArticolCompus.vdiscounttva = poArticolCompus.vdiscountctva - poArticolCompus.vdiscountftva + *!* modificare v 2.0.56 ^ + + poArticolCompus.pretftva = Round(poArticolCompus.valftva / poArticolCompus.cantitate,gnPPretV) + *!* modificare v 2.0.46 + *!* poArticolCompus.tva = Round(poArticolCompus.valtva / poArticolCompus.cantitate,gnPc) + *!* poArticolCompus.pretctva = Round(poArticolCompus.valctva / poArticolCompus.cantitate,gnPc) + poArticolCompus.tva = Round(poArticolCompus.pretftva * (poArticolCompus.proc_tvav-1),gnPPretV) + poArticolCompus.pretctva = poArticolCompus.pretftva + poArticolCompus.tva + *!* modificare v 2.0.46 ^ + + poArticolCompus.discountftva = Round(poArticolCompus.valdiscountftva / poArticolCompus.cantitate,gnPPretV) + poArticolCompus.discountctva = Round(poArticolCompus.valdiscountctva / poArticolCompus.cantitate,gnPPretV) + *!* modificare v 2.0.56 + *!* poArticolCompus.discounttva = poArticolCompus.valdiscountctva-poArticolCompus.valdiscountftva + poArticolCompus.discounttva = poArticolCompus.discountctva - poArticolCompus.discountftva + *!* modificare v 2.0.56 ^ + Else + poArticolCompus.pretftva = 0 + poArticolCompus.tva = 0 + poArticolCompus.pretctva = 0 + + poArticolCompus.discountftva = 0 + poArticolCompus.discountctva = 0 + poArticolCompus.discounttva = 0 + + poArticolCompus.vpretftva = 0 + poArticolCompus.vtva = 0 + poArticolCompus.vpretctva = 0 + + poArticolCompus.vdiscountftva = 0 + poArticolCompus.vdiscountctva = 0 + poArticolCompus.vdiscounttva = 0 + Endif + Thisform.clb_DISCOUNTCTVA.Refresh() + Thisform.clb_DISCOUNT_UNITAR.Refresh() + Thisform.clb_PRETCTVA.Refresh() + Thisform.clb_PRETFTVA.Refresh() + Thisform.clb_PRET_DIMINUAT.Refresh() + Thisform.clb_TOTALCDISCOUNT.Refresh() + Thisform.clb_TOTALFDISCOUNT.Refresh() + Thisform.clb_tVA.Refresh() + Thisform.clb_tVA_DISCOUNT.Refresh() + + ENDPROC + + PROCEDURE do_calculeaza_totaluri + Lparameters tnValoare,tnTip + Do Case + Case tnTip = 1 && s-a modificat pretul fara tva in lei + poArticolCompus.pretftva = tnValoare + poArticolCompus.tva = Round(tnValoare * (poArticolCompus.proc_tvav - 1),gnPPretV) + Case tnTip = 2 && s-a modificat pretul fara tva in valuta + poArticolCompus.vpretftva = tnValoare + poArticolCompus.vtva = Round(tnValoare * (poArticolCompus.proc_tvav - 1), gnPVal) + poArticolCompus.vpretctva = poArticolCompus.vpretftva + poArticolCompus.vtva + + poArticolCompus.pretftva = Round(poArticolCompus.vpretftva * poArticolCompus.Curs / poArticolCompus.multiplicator, gnPPretV) + poArticolCompus.tva = Round(poArticolCompus.pretftva * (poArticolCompus.proc_tvav - 1),gnPPretV) + Thisform.clb_pretftva.tx_SUMA_NAT.Refresh() + Endcase + + poArticolCompus.pretctva = poArticolCompus.pretftva + poArticolCompus.tva + + *!* modificare v 2.0.56 + *!* If poArticolCompus.cu_tva = 0 + *!* poArticolCompus.vvalftva = Round(poArticolCompus.vpretftva * poArticolCompus.cantitate,gnPc) + *!* poArticolCompus.vvaltva = Round(Round(poArticolCompus.vpretftva * poArticolCompus.cantitate, gnPc) * (poArticolCompus.proc_tvav - 1), gnPc) + *!* poArticolCompus.vvalctva = poArticolCompus.vvalftva + poArticolCompus.vvaltva + *!* poArticolCompus.vvaldiminuatftva = Round((poArticolCompus.vpretftva - poArticolCompus.vdiscountftva) * poArticolCompus.cantitate,gnPc) + *!* poArticolCompus.vvaldiminuattva = Round(Round((poArticolCompus.vpretftva - poArticolCompus.vdiscountftva) * poArticolCompus.cantitate, gnPc) * (poArticolCompus.proc_tvav - 1), gnPc) + *!* poArticolCompus.vvaldiminuatctva = poArticolCompus.vvaldiminuatftva + poArticolCompus.vvaldiminuattva + *!* poArticolCompus.vvaldiscountftva = Round(poArticolCompus.vdiscountftva * poArticolCompus.cantitate,gnPc) + *!* poArticolCompus.vvaldiscounttva = Round(Round(poArticolCompus.vdiscountftva * poArticolCompus.cantitate, gnPc) * (poArticolCompus.proc_tvav - 1), gnPc) + *!* poArticolCompus.vvaldiscountctva = poArticolCompus.vvaldiscountftva + poArticolCompus.vvaldiscounttva + *!* If poDate.in_valuta = 0 + *!* poArticolCompus.valftva = Round(poArticolCompus.pretftva * poArticolCompus.cantitate,gnPc) + *!* poArticolCompus.valtva = Round(Round(poArticolCompus.pretftva * poArticolCompus.cantitate, gnPc) * (poArticolCompus.proc_tvav - 1), gnPc) + *!* poArticolCompus.valctva = poArticolCompus.valftva + poArticolCompus.valtva + *!* poArticolCompus.valdiscountftva = Round(poArticolCompus.discountftva * poArticolCompus.cantitate,gnPc) + *!* poArticolCompus.valdiscounttva = Round(Round(poArticolCompus.discountftva * poArticolCompus.cantitate, gnPc) * (poArticolCompus.proc_tvav - 1), gnPc) + *!* poArticolCompus.valdiscountctva = poArticolCompus.valdiscountftva + poArticolCompus.valdiscounttva + *!* poArticolCompus.valdiminuatftva = Round((poArticolCompus.pretftva - poArticolCompus.discountftva) * poArticolCompus.cantitate,gnPc) + *!* poArticolCompus.valdiminuattva = Round(Round((poArticolCompus.pretftva - poArticolCompus.discountftva) * poArticolCompus.cantitate, gnPc) * (poArticolCompus.proc_tvav - 1), gnPc) + *!* poArticolCompus.valdiminuatctva = poArticolCompus.valdiminuatftva + poArticolCompus.valdiminuattva + *!* Else + *!* poArticolCompus.valftva = Round(Round(poArticolCompus.vpretftva * poArticolCompus.Curs,gnPc) * poArticolCompus.cantitate,gnPc) + *!* poArticolCompus.valtva = Round(Round(Round(poArticolCompus.vpretftva * poArticolCompus.Curs,gnPc) * poArticolCompus.cantitate, gnPc) * (poArticolCompus.proc_tvav - 1), gnPc) + *!* poArticolCompus.valctva = poArticolCompus.valftva + poArticolCompus.valtva + *!* poArticolCompus.valdiscountftva = Round(Round(poArticolCompus.vdiscountftva * poArticolCompus.Curs,gnPc) * poArticolCompus.cantitate,gnPc) + *!* poArticolCompus.valdiscounttva = Round(Round(Round(poArticolCompus.vdiscountftva * poArticolCompus.Curs,gnPc) * poArticolCompus.cantitate, gnPc) * (poArticolCompus.proc_tvav - 1), gnPc) + *!* poArticolCompus.valdiscountctva = poArticolCompus.valdiscountftva + poArticolCompus.valdiscounttva + *!* poArticolCompus.valdiminuatftva = Round((Round(poArticolCompus.vpretftva* poArticolCompus.Curs,gnPc) - Round(poArticolCompus.vdiscountftva * poArticolCompus.Curs,gnPc)) * poArticolCompus.cantitate,gnPc) + *!* poArticolCompus.valdiminuattva = Round(Round((Round(poArticolCompus.vpretftva* poArticolCompus.Curs,gnPc) - Round(poArticolCompus.vdiscountftva * poArticolCompus.Curs,gnPc)) * poArticolCompus.cantitate, gnPc) * (poArticolCompus.proc_tvav - 1), gnPc) + *!* poArticolCompus.valdiminuatctva = poArticolCompus.valdiminuatftva + poArticolCompus.valdiminuattva + *!* Endif + *!* Else + *!* poArticolCompus.vvalftva = Round(poArticolCompus.vpretftva * poArticolCompus.cantitate,gnPc) + *!* poArticolCompus.vvalctva = Round(poArticolCompus.vpretctva * poArticolCompus.cantitate,gnPc) + *!* poArticolCompus.vvaltva = poArticolCompus.vvalctva - poArticolCompus.vvalftva + *!* poArticolCompus.vvaldiscountftva = Round(poArticolCompus.vdiscountftva * poArticolCompus.cantitate,gnPc) + *!* poArticolCompus.vvaldiscountctva = Round(poArticolCompus.vdiscountctva * poArticolCompus.cantitate,gnPc) + *!* poArticolCompus.vvaldiscounttva = poArticolCompus.vvaldiscountctva - poArticolCompus.vvaldiscountftva + *!* poArticolCompus.vvaldiminuatctva = Round((poArticolCompus.vpretctva - poArticolCompus.vdiscountctva) * poArticolCompus.cantitate,gnPc) + *!* poArticolCompus.vvaldiminuatftva = Round(Round((poArticolCompus.vpretctva - poArticolCompus.vdiscountctva) / poArticolCompus.proc_tvav,gnPc) * poArticolCompus.cantitate, gnPc) + *!* poArticolCompus.vvaldiminuattva = poArticolCompus.vvaldiminuatctva - poArticolCompus.vvaldiminuatftva + *!* If poDate.in_valuta = 0 + *!* poArticolCompus.valftva = Round(poArticolCompus.pretftva * poArticolCompus.cantitate,gnPc) + *!* poArticolCompus.valctva = Round(poArticolCompus.pretctva * poArticolCompus.cantitate,gnPc) + *!* poArticolCompus.valtva = poArticolCompus.valctva - poArticolCompus.valftva + *!* poArticolCompus.valdiscountftva = Round(poArticolCompus.discountftva * poArticolCompus.cantitate,gnPc) + *!* poArticolCompus.valdiscountctva = Round(poArticolCompus.discountctva * poArticolCompus.cantitate,gnPc) + *!* poArticolCompus.valdiscounttva = poArticolCompus.valdiscountctva - poArticolCompus.valdiscountftva + *!* poArticolCompus.valdiminuatctva = Round((poArticolCompus.pretctva - poArticolCompus.discountctva) * poArticolCompus.cantitate,gnPc) + *!* poArticolCompus.valdiminuatftva = Round(Round((poArticolCompus.pretctva - poArticolCompus.discountctva) / poArticolCompus.proc_tvav,gnPc) * poArticolCompus.cantitate, gnPc) + *!* poArticolCompus.valdiminuattva = poArticolCompus.valdiminuatctva - poArticolCompus.valdiminuatftva + *!* Else + *!* poArticolCompus.valftva = Round(Round(poArticolCompus.vpretftva * poArticolCompus.Curs,gnPc) * poArticolCompus.cantitate,gnPc) + *!* poArticolCompus.valctva = Round(Round(poArticolCompus.vpretctva * poArticolCompus.Curs,gnPc) * poArticolCompus.cantitate,gnPc) + *!* poArticolCompus.valtva = poArticolCompus.valctva - poArticolCompus.valftva + *!* poArticolCompus.valdiscountftva = Round(Round(poArticolCompus.vdiscountftva * poArticolCompus.Curs,gnPc) * poArticolCompus.cantitate,gnPc) + *!* poArticolCompus.valdiscountctva = Round(Round(poArticolCompus.vdiscountctva * poArticolCompus.Curs,gnPc) * poArticolCompus.cantitate,gnPc) + *!* poArticolCompus.valdiscounttva = poArticolCompus.valdiscountctva - poArticolCompus.valdiscountftva + *!* poArticolCompus.valdiminuatctva = Round(Round((poArticolCompus.vpretctva - poArticolCompus.vdiscountctva)*poArticolCompus.Curs,gnPc) * poArticolCompus.cantitate,gnPc) + *!* poArticolCompus.valdiminuatftva = Round(Round(Round((poArticolCompus.vpretctva - poArticolCompus.vdiscountctva) * poArticolCompus.Curs,gnPc) / poArticolCompus.proc_tvav,gnPc) * poArticolCompus.cantitate, gnPc) + *!* poArticolCompus.valdiminuattva = poArticolCompus.valdiminuatctva - poArticolCompus.valdiminuatftva + *!* Endif + *!* EndIf + poArticolCompus = calculeaza_totaluri(poArticolCompus) + *!* modificare v 2.0.56 ^ + Thisform.clb_DISCOUNTCTVA.Refresh() + Thisform.clb_DISCOUNT_UNITAR.Refresh() + Thisform.clb_PRETCTVA.Refresh() + Thisform.clb_PRET_DIMINUAT.Refresh() + Thisform.clb_TOTALCDISCOUNT.Refresh() + Thisform.clb_TOTALFDISCOUNT.Refresh() + Thisform.clb_tVA.Refresh() + Thisform.clb_tVA_DISCOUNT.Refresh() + ENDPROC + + PROCEDURE inainte_de_do_termin + Local plReturn + lccontrol = Upper(This.ActiveControl.BaseClass ) + If Inlist(lccontrol,"TEXTBOX","EDITBOX","COMBOBOX") + lcval=This.ActiveControl.ControlSource + &lcval=Thisform.ActiveControl.Value + Endif + + Do Case + Case Empty(Nvl(poArticolCompus.denumire,[])) + amessagebox("Nu ati completat denumirea articolului compus!",0+48,"Atentie") + Thisform.clb_articol.SetFocus() + plReturn = .F. + Case poArticolCompus.cantitate=0 + amessagebox("Cantitatea nu poate fi 0!",0+48,"Atentie") + Thisform.clb_cantitate.SetFocus() + plReturn = .F. + *!* modificare v 2.0.56 + Case poArticolCompus.cantitate=0 + amessagebox("Cantitatea nu poate fi pozitiva!",0+48,"Atentie") + Thisform.clb_cantitate.SetFocus() + plReturn = .F. + *!* modificare v 2.0.56 ^ + Otherwise + plReturn = .T. + Endcase + + Return plReturn + ENDPROC + + PROCEDURE Init + DoDefault() + + *!* modificare v 2.0.46 + *!* Thisform.clb_pretftva.do_activeaza(Iif(Empty(poDate.nume_valuta),1,2)) + If poDate.tip <> 4 + Thisform.clb_pretftva.do_activeaza(Iif(Empty(poDate.nume_valuta),1,2)) + Endif + *!* modificare v 2.0.46 ^ + Thisform.clb_discountctva.do_actualizeaza_lbval(poDate.nume_valuta) + Thisform.clb_discount_unitar.do_actualizeaza_lbval(poDate.nume_valuta) + Thisform.clb_tva_discount.do_actualizeaza_lbval(poDate.nume_valuta) + Thisform.clb_pretftva.do_actualizeaza_lbval(poDate.nume_valuta) + Thisform.clb_pretctva.do_actualizeaza_lbval(poDate.nume_valuta) + Thisform.clb_tva.do_actualizeaza_lbval(poDate.nume_valuta) + Thisform.clb_totalcdiscount.do_actualizeaza_lbval(poDate.nume_valuta) + Thisform.clb_totalfdiscount.do_actualizeaza_lbval(poDate.nume_valuta) + Thisform.clb_pret_diminuat.do_actualizeaza_lbval(poDate.nume_valuta) + ENDPROC + + PROCEDURE clb_cantitate.Text_simplu1.InteractiveChange + lcval=This.ControlSource + &lcval=This.Value + Thisform.do_calculeaza_preturi() + ENDPROC + + PROCEDURE Clb_discountctva.tx_suma_nat.InteractiveChange + Thisform.do_calculeaza_discount(This.value,2) + ENDPROC + + PROCEDURE Clb_discountctva.tx_suma_val.InteractiveChange + Thisform.do_calculeaza_discount(This.value,3) + ENDPROC + + PROCEDURE Clb_pretftva.tx_suma_nat.InteractiveChange + Thisform.do_calculeaza_totaluri(This.Value,1) + ENDPROC + + PROCEDURE Clb_pretftva.tx_suma_val.InteractiveChange + Thisform.do_calculeaza_totaluri(This.Value,2) + ENDPROC + +ENDDEFINE + +DEFINE CLASS frm_articol_factura AS _frmbase OF "_frm_base.vcx" + *< CLASSDATA: Baseclass="form" Timestamp="" Scale="Pixels" Uniqueid="" /> + + *-- OBJECTDATA items order determines ZOrder / El orden de los items OBJECTDATA determina el ZOrder + *< OBJECTDATA: ObjPath="Clb_procent_adaos" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="But_renunt1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="clb_articol" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="clb_codmat" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="clb_um" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="clb_cantitate" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="clb_cantitate.lb_explicatii" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="Clb_procent_discount" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="Clb_pretftva" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="Clb_tva" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="Clb_pretctva" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="Clb_discount_unitar" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="Clb_tva_discount" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="Clb_discountctva" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="Clb_totalfdiscount" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="Clb_totalcdiscount" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="Clb_pret_diminuat" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="Cb_contract" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="Cb_explicatie_Tva" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="Clb_serie" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="Ed_tx_explicatie" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="cb_explicatie_saft" UniqueID="" Timestamp="" /> + + * + *m: do_calculeaza_adaos + *m: do_calculeaza_discount + *m: do_calculeaza_pretctva + *m: do_calculeaza_pretftva + *m: do_calculeaza_totaluri + *m: updateexplicatiesaft + *p: larata && .T. - daca forma este ascunsa si trebuie apelata metoda show + *p: lcuadaos + *p: lmodpretctva && .T. daca pretul cu tva este modificabil + *p: lmodpretftva && .T. daca pretul fara TVA este modificabil + *p: ncantitatemax + *p: nid + *p: nidjtvacoloana_initial + *p: nnivelmodificare && - 1 daca utilizatorul are voie sa modifice toate datele ; 0 daca are voie sa modifice doar nr. de telefon + *p: nprocent + *p: orec + * + + * + BorderStyle = 1 + Caption = "Form" + DoCreate = .T. + Height = 450 + larata = .T. + lcuadaos = .T. + lmodpretctva = .F. + lmodpretftva = .F. + Name = "frm_articol_factura" + ncantitatemax = 0 + nidjtvacoloana_initial = 0 + nnivelmodificare = -1 + nprocent = 0 + Width = 800 + _memberdata = + + + _shape1.Height = 29 + _shape1.Left = 0 + _shape1.Name = "_shape1" + _shape1.Top = 0 + _shape1.Width = 800 + _shape1.ZOrderSet = 1 + _shape2.Height = 29 + _shape2.Left = 732 + _shape2.Name = "_shape2" + _shape2.Top = 0 + _shape2.Width = 69 + _shape2.ZOrderSet = 2 + Lb_titlu_alb_b121.Caption = "ADÃUGARE ARTICOL" + Lb_titlu_alb_b121.FontBold = .T. + Lb_titlu_alb_b121.Name = "Lb_titlu_alb_b121" + Lb_titlu_alb_b121.TabIndex = 23 + Lb_titlu_alb_b121.ZOrderSet = 3 + BUT_TERMIN1.Height = 27 + BUT_TERMIN1.Left = 766 + BUT_TERMIN1.Name = "BUT_TERMIN1" + BUT_TERMIN1.TabIndex = 21 + BUT_TERMIN1.Top = 1 + BUT_TERMIN1.Width = 30 + BUT_TERMIN1.ZOrderSet = 4 + Gridsort1.Name = "Gridsort1" + * + + ADD OBJECT 'But_renunt1' AS but_renunt WITH ; + Height = 27, ; + Left = 734, ; + Name = "But_renunt1", ; + TabIndex = 22, ; + Top = 1, ; + Width = 30, ; + ZOrderSet = 6 + *< END OBJECT: ClassLib="cmd_butoane.vcx" BaseClass="commandbutton" /> + + ADD OBJECT 'Cb_contract' AS cb_tx_simplu WITH ; + Height = 29, ; + Left = 6, ; + Name = "Cb_contract", ; + TabIndex = 6, ; + TabStop = .F., ; + Top = 313, ; + Width = 290, ; + ZOrderSet = 21, ; + _CBBASE1.ColumnCount = 2, ; + _CBBASE1.ColumnLines = .F., ; + _CBBASE1.ColumnWidths = "400,15", ; + _CBBASE1.Height = 23, ; + _CBBASE1.Left = 86, ; + _CBBASE1.Name = "_CBBASE1", ; + _CBBASE1.RowSourceType = 2, ; + _CBBASE1.Top = 3, ; + _CBBASE1.Width = 192, ; + _LBBASE1.Caption = "Contract", ; + _LBBASE1.Left = 5, ; + _LBBASE1.Name = "_LBBASE1", ; + _LBBASE1.Top = 6 + *< END OBJECT: ClassLib="lb_tx.vcx" BaseClass="container" /> + + ADD OBJECT 'cb_explicatie_saft' AS cb_tx_simplu WITH ; + Height = 29, ; + Left = 303, ; + Name = "cb_explicatie_saft", ; + TabIndex = 12, ; + TabStop = .F., ; + Top = 149, ; + Visible = .F., ; + Width = 491, ; + ZOrderSet = 21, ; + _cbbase1.BoundColumn = 3, ; + _cbbase1.BoundTo = .T., ; + _cbbase1.ColumnCount = 2, ; + _cbbase1.ColumnLines = .F., ; + _cbbase1.ColumnWidths = "500,50", ; + _cbbase1.ControlSource = "poArticol.taxcode", ; + _cbbase1.Height = 23, ; + _cbbase1.Left = 141, ; + _cbbase1.Name = "_cbbase1", ; + _cbbase1.RowSource = "select taxname, procent_taxa, taxcode from saft_taxtable where tva_livrari = 1 and procent_taxa = poArticol.proc_tvav*100-100 order by taxcode into cursor crsTaxTableX", ; + _cbbase1.RowSourceType = 3, ; + _cbbase1.Top = 3, ; + _cbbase1.Width = 300, ; + _lbbase1.Caption = "Taxa SAFT", ; + _lbbase1.Left = 5, ; + _lbbase1.Name = "_lbbase1", ; + _lbbase1.Top = 6 + *< END OBJECT: ClassLib="lb_tx.vcx" BaseClass="container" /> + + ADD OBJECT 'Cb_explicatie_Tva' AS cb_tx_simplu WITH ; + Height = 29, ; + Left = 303, ; + Name = "Cb_explicatie_Tva", ; + TabIndex = 11, ; + TabStop = .F., ; + Top = 121, ; + Width = 491, ; + ZOrderSet = 21, ; + _cbbase1.ColumnCount = 2, ; + _cbbase1.ColumnLines = .F., ; + _cbbase1.ColumnWidths = "400,15", ; + _cbbase1.Height = 23, ; + _cbbase1.Left = 142, ; + _cbbase1.Name = "_cbbase1", ; + _cbbase1.RowSource = "jtva_coloane.denumire,cota_tva,id_jtva_coloana", ; + _cbbase1.RowSourceType = 6, ; + _cbbase1.Top = 3, ; + _cbbase1.Width = 300, ; + _lbbase1.Caption = "Explicaþie TVA", ; + _lbbase1.Left = 5, ; + _lbbase1.Name = "_lbbase1", ; + _lbbase1.Top = 6 + *< END OBJECT: ClassLib="lb_tx.vcx" BaseClass="container" /> + + ADD OBJECT 'clb_articol' AS clb_tx_simplu WITH ; + Left = 6, ; + Name = "clb_articol", ; + TabIndex = 2, ; + TabStop = .F., ; + Top = 68, ; + ZOrderSet = 7, ; + Text_simplu1.ControlSource = "poArticol.denumire", ; + Text_simplu1.FontBold = .T., ; + Text_simplu1.Name = "Text_simplu1", ; + Text_simplu1.ReadOnly = .T., ; + Lb_simplu1.Caption = "Articol", ; + Lb_simplu1.Name = "Lb_simplu1" + *< END OBJECT: ClassLib="lb_tx.vcx" BaseClass="container" /> + + ADD OBJECT 'clb_cantitate' AS clb_tx_simplu WITH ; + Height = 29, ; + Left = 303, ; + Name = "clb_cantitate", ; + TabIndex = 8, ; + Top = 39, ; + Width = 491, ; + ZOrderSet = 10, ; + Text_simplu1.Alignment = 1, ; + Text_simplu1.ControlSource = "poArticol.cantitate", ; + Text_simplu1.Height = 23, ; + Text_simplu1.InputMask = (get_mask(14,gnPcant)), ; + Text_simplu1.Left = 197, ; + Text_simplu1.Name = "Text_simplu1", ; + Text_simplu1.Top = 3, ; + Text_simplu1.Width = 151, ; + Lb_simplu1.Caption = "Cantitate", ; + Lb_simplu1.Left = 4, ; + Lb_simplu1.Name = "Lb_simplu1", ; + Lb_simplu1.Top = 6 + *< END OBJECT: ClassLib="lb_tx.vcx" BaseClass="container" /> + + ADD OBJECT 'clb_cantitate.lb_explicatii' AS lb_simplu WITH ; + Caption = "(1)", ; + Height = 18, ; + Left = 175, ; + Name = "lb_explicatii", ; + Top = 5, ; + Width = 17 + *< END OBJECT: ClassLib="lb.vcx" BaseClass="label" /> + + ADD OBJECT 'clb_codmat' AS clb_tx_simplu WITH ; + Left = 6, ; + Name = "clb_codmat", ; + TabIndex = 1, ; + TabStop = .F., ; + Top = 40, ; + ZOrderSet = 8, ; + Text_simplu1.ControlSource = "poArticol.codmat", ; + Text_simplu1.Name = "Text_simplu1", ; + Text_simplu1.ReadOnly = .T., ; + Lb_simplu1.Caption = "Cod material", ; + Lb_simplu1.Name = "Lb_simplu1" + *< END OBJECT: ClassLib="lb_tx.vcx" BaseClass="container" /> + + ADD OBJECT 'Clb_discount_unitar' AS clb_tx_sume_valuta WITH ; + Height = 28, ; + Left = 303, ; + Name = "Clb_discount_unitar", ; + TabIndex = 16, ; + Top = 259, ; + Width = 491, ; + ZOrderSet = 15, ; + tx_suma_val.ControlSource = "poArticol.discount_unitar_val", ; + tx_suma_val.FontBold = .T., ; + tx_suma_val.Left = 198, ; + tx_suma_val.Name = "tx_suma_val", ; + tx_suma_val.Top = 2, ; + tx_suma_val.Width = 95, ; + lb_explicatie.Caption = "Discount unitar fãrã TVA", ; + lb_explicatie.FontName = "Arial", ; + lb_explicatie.Name = "lb_explicatie", ; + tx_suma_nat.ControlSource = "poArticol.discount_unitar", ; + tx_suma_nat.FontBold = .T., ; + tx_suma_nat.Left = 347, ; + tx_suma_nat.Name = "tx_suma_nat", ; + tx_suma_nat.Top = 2, ; + tx_suma_nat.Width = 95, ; + lb_nume_val.FontName = "Arial", ; + lb_nume_val.Left = 300, ; + lb_nume_val.Name = "lb_nume_val", ; + lb_nume_val.Top = 4, ; + lb_nume_nat.FontName = "Arial", ; + lb_nume_nat.Left = 447, ; + lb_nume_nat.Name = "lb_nume_nat", ; + lb_nume_nat.Top = 4, ; + lb_explicatii.Caption = "(5)", ; + lb_explicatii.FontName = "Arial", ; + lb_explicatii.Left = 175, ; + lb_explicatii.Name = "lb_explicatii", ; + lb_explicatii.Top = 4, ; + lb_explicatii.Visible = .T. + *< END OBJECT: ClassLib="ofacturare.vcx" BaseClass="container" /> + + ADD OBJECT 'Clb_discountctva' AS clb_tx_sume_valuta WITH ; + Height = 28, ; + Left = 303, ; + Name = "Clb_discountctva", ; + TabIndex = 18, ; + TabStop = .F., ; + Top = 313, ; + Width = 491, ; + ZOrderSet = 17, ; + tx_suma_val.ControlSource = "poArticol.discount_unitar_ctva_val", ; + tx_suma_val.FontBold = .T., ; + tx_suma_val.Left = 199, ; + tx_suma_val.Name = "tx_suma_val", ; + tx_suma_val.Top = 2, ; + tx_suma_val.Width = 95, ; + lb_explicatie.Caption = "Discount unitar cu TVA", ; + lb_explicatie.FontName = "Arial", ; + lb_explicatie.Name = "lb_explicatie", ; + tx_suma_nat.ControlSource = "poArticol.discount_unitar_ctva", ; + tx_suma_nat.FontBold = .T., ; + tx_suma_nat.Left = 348, ; + tx_suma_nat.Name = "tx_suma_nat", ; + tx_suma_nat.Top = 2, ; + tx_suma_nat.Width = 95, ; + lb_nume_val.FontName = "Arial", ; + lb_nume_val.Left = 301, ; + lb_nume_val.Name = "lb_nume_val", ; + lb_nume_val.Top = 4, ; + lb_nume_nat.FontName = "Arial", ; + lb_nume_nat.Left = 448, ; + lb_nume_nat.Name = "lb_nume_nat", ; + lb_nume_nat.Top = 4, ; + lb_explicatii.Caption = "(7)", ; + lb_explicatii.FontName = "Arial", ; + lb_explicatii.Left = 175, ; + lb_explicatii.Name = "lb_explicatii", ; + lb_explicatii.Top = 4 + *< END OBJECT: ClassLib="ofacturare.vcx" BaseClass="container" /> + + ADD OBJECT 'Clb_pret_diminuat' AS clb_tx_sume_valuta WITH ; + Height = 50, ; + Left = 303, ; + Name = "Clb_pret_diminuat", ; + TabIndex = 19, ; + Top = 340, ; + Width = 491, ; + ZOrderSet = 20, ; + tx_suma_val.FontBold = .T., ; + tx_suma_val.Left = 198, ; + tx_suma_val.Name = "tx_suma_val", ; + tx_suma_val.Top = 24, ; + tx_suma_val.Width = 95, ; + lb_explicatie.Caption = "Preþ unitar diminuat fãrã TVA", ; + lb_explicatie.FontBold = .T., ; + lb_explicatie.FontName = "Arial", ; + lb_explicatie.Name = "lb_explicatie", ; + lb_explicatie.Top = 6, ; + tx_suma_nat.FontBold = .T., ; + tx_suma_nat.Left = 347, ; + tx_suma_nat.Name = "tx_suma_nat", ; + tx_suma_nat.Top = 24, ; + tx_suma_nat.Width = 95, ; + lb_nume_val.FontName = "Arial", ; + lb_nume_val.Left = 300, ; + lb_nume_val.Name = "lb_nume_val", ; + lb_nume_val.Top = 28, ; + lb_nume_nat.FontName = "Arial", ; + lb_nume_nat.Left = 447, ; + lb_nume_nat.Name = "lb_nume_nat", ; + lb_nume_nat.Top = 27, ; + lb_explicatii.FontBold = .T., ; + lb_explicatii.FontName = "Arial", ; + lb_explicatii.Left = 241, ; + lb_explicatii.Name = "lb_explicatii", ; + lb_explicatii.Top = 4, ; + lb_explicatii.Visible = .T. + *< END OBJECT: ClassLib="ofacturare.vcx" BaseClass="container" /> + + ADD OBJECT 'Clb_pretctva' AS clb_tx_sume_valuta WITH ; + Height = 28, ; + Left = 303, ; + levidentiat = .T., ; + Name = "Clb_pretctva", ; + TabIndex = 13, ; + Top = 177, ; + Width = 491, ; + ZOrderSet = 14, ; + tx_suma_val.ControlSource = "poArticol.pretctva_val", ; + tx_suma_val.FontBold = .T., ; + tx_suma_val.Left = 198, ; + tx_suma_val.Name = "tx_suma_val", ; + tx_suma_val.Top = 2, ; + tx_suma_val.Width = 95, ; + lb_explicatie.Caption = "Preþ cu TVA", ; + lb_explicatie.FontName = "Arial", ; + lb_explicatie.Name = "lb_explicatie", ; + tx_suma_nat.ControlSource = "poArticol.pretctva", ; + tx_suma_nat.FontBold = .T., ; + tx_suma_nat.Left = 347, ; + tx_suma_nat.Name = "tx_suma_nat", ; + tx_suma_nat.Top = 2, ; + tx_suma_nat.Width = 95, ; + lb_nume_val.FontName = "Arial", ; + lb_nume_val.Left = 300, ; + lb_nume_val.Name = "lb_nume_val", ; + lb_nume_val.Top = 4, ; + lb_nume_nat.FontName = "Arial", ; + lb_nume_nat.Left = 447, ; + lb_nume_nat.Name = "lb_nume_nat", ; + lb_nume_nat.Top = 4, ; + lb_explicatii.Caption = "(4)", ; + lb_explicatii.FontName = "Arial", ; + lb_explicatii.Left = 175, ; + lb_explicatii.Name = "lb_explicatii", ; + lb_explicatii.Visible = .T. + *< END OBJECT: ClassLib="ofacturare.vcx" BaseClass="container" /> + + ADD OBJECT 'Clb_pretftva' AS clb_tx_sume_valuta WITH ; + Height = 28, ; + Left = 303, ; + levidentiat = .T., ; + Name = "Clb_pretftva", ; + TabIndex = 9, ; + Top = 67, ; + Width = 491, ; + ZOrderSet = 12, ; + tx_suma_val.ControlSource = "poArticol.pretftva_val", ; + tx_suma_val.FontBold = .T., ; + tx_suma_val.Left = 197, ; + tx_suma_val.Name = "tx_suma_val", ; + tx_suma_val.Top = 2, ; + tx_suma_val.Width = 95, ; + lb_explicatie.Caption = "Preþ fãrã TVA", ; + lb_explicatie.FontName = "Arial", ; + lb_explicatie.Name = "lb_explicatie", ; + tx_suma_nat.ControlSource = "poArticol.pretftva", ; + tx_suma_nat.FontBold = .T., ; + tx_suma_nat.Height = 23, ; + tx_suma_nat.Left = 346, ; + tx_suma_nat.Name = "tx_suma_nat", ; + tx_suma_nat.Top = 2, ; + tx_suma_nat.Width = 95, ; + lb_nume_val.FontName = "Arial", ; + lb_nume_val.Left = 299, ; + lb_nume_val.Name = "lb_nume_val", ; + lb_nume_val.Top = 4, ; + lb_nume_nat.FontName = "Arial", ; + lb_nume_nat.Left = 446, ; + lb_nume_nat.Name = "lb_nume_nat", ; + lb_nume_nat.Top = 4, ; + lb_explicatii.Caption = "(2)", ; + lb_explicatii.FontName = "Arial", ; + lb_explicatii.Left = 175, ; + lb_explicatii.Name = "lb_explicatii", ; + lb_explicatii.Top = 4, ; + lb_explicatii.Visible = .T. + *< END OBJECT: ClassLib="ofacturare.vcx" BaseClass="container" /> + + ADD OBJECT 'Clb_procent_adaos' AS clb_tx_simplu WITH ; + Height = 29, ; + Left = 6, ; + Name = "Clb_procent_adaos", ; + TabIndex = 7, ; + Top = 341, ; + Width = 290, ; + ZOrderSet = 0, ; + Text_simplu1.Alignment = 1, ; + Text_simplu1.Height = 23, ; + Text_simplu1.InputMask = "99 999.99", ; + Text_simplu1.Left = 87, ; + Text_simplu1.Name = "Text_simplu1", ; + Text_simplu1.Top = 3, ; + Text_simplu1.Value = 0, ; + Text_simplu1.Width = 141, ; + Lb_simplu1.Caption = "Procent adaos", ; + Lb_simplu1.Left = 4, ; + Lb_simplu1.Name = "Lb_simplu1", ; + Lb_simplu1.Top = 6 + *< END OBJECT: ClassLib="lb_tx.vcx" BaseClass="container" /> + + ADD OBJECT 'Clb_procent_discount' AS clb_tx_simplu WITH ; + Height = 29, ; + Left = 303, ; + Name = "Clb_procent_discount", ; + TabIndex = 15, ; + Top = 231, ; + Width = 491, ; + ZOrderSet = 11, ; + Text_simplu1.Alignment = 1, ; + Text_simplu1.Height = 23, ; + Text_simplu1.InputMask = "99 999.99", ; + Text_simplu1.Left = 200, ; + Text_simplu1.Name = "Text_simplu1", ; + Text_simplu1.Top = 3, ; + Text_simplu1.Value = 0, ; + Text_simplu1.Width = 141, ; + Lb_simplu1.Caption = "Procent discount", ; + Lb_simplu1.Left = 4, ; + Lb_simplu1.Name = "Lb_simplu1", ; + Lb_simplu1.Top = 6 + *< END OBJECT: ClassLib="lb_tx.vcx" BaseClass="container" /> + + ADD OBJECT 'Clb_serie' AS clb_tx_simplu WITH ; + Left = 6, ; + Name = "Clb_serie", ; + TabIndex = 3, ; + Top = 96, ; + Width = 290, ; + ZOrderSet = 22, ; + Text_simplu1.Alignment = 1, ; + Text_simplu1.ControlSource = "poArticol.serie", ; + Text_simplu1.Name = "Text_simplu1", ; + Lb_simplu1.Caption = "Serie", ; + Lb_simplu1.Name = "Lb_simplu1" + *< END OBJECT: ClassLib="lb_tx.vcx" BaseClass="container" /> + + ADD OBJECT 'Clb_totalcdiscount' AS clb_tx_sume_valuta WITH ; + Height = 50, ; + Left = 303, ; + Name = "Clb_totalcdiscount", ; + TabIndex = 20, ; + Top = 389, ; + Width = 491, ; + ZOrderSet = 19, ; + tx_suma_val.ControlSource = "poArticol.vvaldiminuatctva", ; + tx_suma_val.FontBold = .T., ; + tx_suma_val.Left = 198, ; + tx_suma_val.Name = "tx_suma_val", ; + tx_suma_val.Top = 24, ; + tx_suma_val.Width = 95, ; + lb_explicatie.Caption = "Total cu TVA cu discount", ; + lb_explicatie.FontBold = .T., ; + lb_explicatie.FontName = "Arial", ; + lb_explicatie.Name = "lb_explicatie", ; + lb_explicatie.Top = 6, ; + tx_suma_nat.ControlSource = "poArticol.valdiminuatctva", ; + tx_suma_nat.FontBold = .T., ; + tx_suma_nat.InputMask = (get_mask(14,gnPc)), ; + tx_suma_nat.Left = 347, ; + tx_suma_nat.Name = "tx_suma_nat", ; + tx_suma_nat.Top = 24, ; + tx_suma_nat.Width = 95, ; + lb_nume_val.FontName = "Arial", ; + lb_nume_val.Left = 300, ; + lb_nume_val.Name = "lb_nume_val", ; + lb_nume_val.Top = 27, ; + lb_nume_nat.FontName = "Arial", ; + lb_nume_nat.Left = 447, ; + lb_nume_nat.Name = "lb_nume_nat", ; + lb_nume_nat.Top = 27, ; + lb_explicatii.FontBold = .T., ; + lb_explicatii.FontName = "Arial", ; + lb_explicatii.Left = 242, ; + lb_explicatii.Name = "lb_explicatii", ; + lb_explicatii.Top = 4, ; + lb_explicatii.Visible = .T. + *< END OBJECT: ClassLib="ofacturare.vcx" BaseClass="container" /> + + ADD OBJECT 'Clb_totalfdiscount' AS clb_tx_sume_valuta WITH ; + Height = 28, ; + Left = 303, ; + Name = "Clb_totalfdiscount", ; + TabIndex = 14, ; + Top = 204, ; + Width = 491, ; + ZOrderSet = 18, ; + tx_suma_val.ControlSource = "poArticol.vvalctva", ; + tx_suma_val.FontBold = .T., ; + tx_suma_val.Left = 198, ; + tx_suma_val.Name = "tx_suma_val", ; + tx_suma_val.Top = 2, ; + tx_suma_val.Width = 95, ; + lb_explicatie.Caption = "Total cu TVA fãrã discount", ; + lb_explicatie.FontName = "Arial", ; + lb_explicatie.Name = "lb_explicatie", ; + tx_suma_nat.ControlSource = "poArticol.valctva", ; + tx_suma_nat.FontBold = .T., ; + tx_suma_nat.InputMask = (get_mask(14,gnPc)), ; + tx_suma_nat.Left = 347, ; + tx_suma_nat.Name = "tx_suma_nat", ; + tx_suma_nat.Top = 2, ; + tx_suma_nat.Width = 95, ; + lb_nume_val.FontName = "Arial", ; + lb_nume_val.Left = 300, ; + lb_nume_val.Name = "lb_nume_val", ; + lb_nume_val.Top = 4, ; + lb_nume_nat.FontName = "Arial", ; + lb_nume_nat.Left = 447, ; + lb_nume_nat.Name = "lb_nume_nat", ; + lb_nume_nat.Top = 4, ; + lb_explicatii.FontName = "Arial", ; + lb_explicatii.Left = 175, ; + lb_explicatii.Name = "lb_explicatii", ; + lb_explicatii.Top = 4 + *< END OBJECT: ClassLib="ofacturare.vcx" BaseClass="container" /> + + ADD OBJECT 'Clb_tva' AS clb_tx_sume_valuta WITH ; + Height = 28, ; + Left = 303, ; + Name = "Clb_tva", ; + TabIndex = 10, ; + Top = 94, ; + Width = 491, ; + ZOrderSet = 13, ; + tx_suma_val.ControlSource = "poArticol.tva_val", ; + tx_suma_val.FontBold = .T., ; + tx_suma_val.Left = 197, ; + tx_suma_val.Name = "tx_suma_val", ; + tx_suma_val.Top = 2, ; + tx_suma_val.Width = 95, ; + lb_explicatie.Caption = "TVA", ; + lb_explicatie.FontName = "Arial", ; + lb_explicatie.Name = "lb_explicatie", ; + tx_suma_nat.ControlSource = "poArticol.tva", ; + tx_suma_nat.FontBold = .T., ; + tx_suma_nat.Left = 346, ; + tx_suma_nat.Name = "tx_suma_nat", ; + tx_suma_nat.Top = 2, ; + tx_suma_nat.Width = 95, ; + lb_nume_val.FontName = "Arial", ; + lb_nume_val.Left = 299, ; + lb_nume_val.Name = "lb_nume_val", ; + lb_nume_val.Top = 4, ; + lb_nume_nat.FontName = "Arial", ; + lb_nume_nat.Left = 446, ; + lb_nume_nat.Name = "lb_nume_nat", ; + lb_nume_nat.Top = 4, ; + lb_explicatii.Caption = "(3)", ; + lb_explicatii.FontName = "Arial", ; + lb_explicatii.Left = 175, ; + lb_explicatii.Name = "lb_explicatii", ; + lb_explicatii.Visible = .T. + *< END OBJECT: ClassLib="ofacturare.vcx" BaseClass="container" /> + + ADD OBJECT 'Clb_tva_discount' AS clb_tx_sume_valuta WITH ; + Height = 28, ; + Left = 303, ; + Name = "Clb_tva_discount", ; + TabIndex = 17, ; + TabStop = .F., ; + Top = 286, ; + Width = 491, ; + ZOrderSet = 16, ; + tx_suma_val.FontBold = .T., ; + tx_suma_val.Left = 199, ; + tx_suma_val.Name = "tx_suma_val", ; + tx_suma_val.Top = 2, ; + tx_suma_val.Width = 95, ; + lb_explicatie.Caption = "TVA discount", ; + lb_explicatie.FontName = "Arial", ; + lb_explicatie.Name = "lb_explicatie", ; + tx_suma_nat.FontBold = .T., ; + tx_suma_nat.Left = 348, ; + tx_suma_nat.Name = "tx_suma_nat", ; + tx_suma_nat.Top = 2, ; + tx_suma_nat.Width = 95, ; + lb_nume_val.FontName = "Arial", ; + lb_nume_val.Left = 301, ; + lb_nume_val.Name = "lb_nume_val", ; + lb_nume_val.Top = 4, ; + lb_nume_nat.FontName = "Arial", ; + lb_nume_nat.Left = 448, ; + lb_nume_nat.Name = "lb_nume_nat", ; + lb_nume_nat.Top = 4, ; + lb_explicatii.Caption = "(6)", ; + lb_explicatii.FontName = "Arial", ; + lb_explicatii.Left = 175, ; + lb_explicatii.Name = "lb_explicatii", ; + lb_explicatii.Top = 4 + *< END OBJECT: ClassLib="ofacturare.vcx" BaseClass="container" /> + + ADD OBJECT 'clb_um' AS clb_tx_simplu WITH ; + Left = 6, ; + Name = "clb_um", ; + TabIndex = 4, ; + TabStop = .F., ; + Top = 124, ; + Width = 290, ; + ZOrderSet = 9, ; + Text_simplu1.Alignment = 1, ; + Text_simplu1.ControlSource = "poArticol.um", ; + Text_simplu1.Name = "Text_simplu1", ; + Text_simplu1.ReadOnly = .T., ; + Lb_simplu1.Caption = "U.M.", ; + Lb_simplu1.Name = "Lb_simplu1" + *< END OBJECT: ClassLib="lb_tx.vcx" BaseClass="container" /> + + ADD OBJECT 'Ed_tx_explicatie' AS ed_tx_simplu WITH ; + Height = 162, ; + Left = 6, ; + Name = "Ed_tx_explicatie", ; + TabIndex = 5, ; + Top = 152, ; + Width = 290, ; + ZOrderSet = 23, ; + _EDBASE1.ControlSource = "poArticol.explicatie", ; + _EDBASE1.Format = "!", ; + _EDBASE1.Height = 131, ; + _EDBASE1.Left = 61, ; + _EDBASE1.MaxLength = 500, ; + _EDBASE1.Name = "_EDBASE1", ; + _EDBASE1.Top = 2, ; + _EDBASE1.Width = 227, ; + _lbbase1.Caption = "Explicaþie", ; + _lbbase1.Left = 4, ; + _lbbase1.Name = "_lbbase1", ; + _lbbase1.Top = 6 + *< END OBJECT: ClassLib="lb_tx.vcx" BaseClass="container" /> + + PROCEDURE do_calculeaza_adaos + Lparameters tnValoare,tnTip + If Thisform.lcuadaos + Do Case + Case tnTip = 1 + If poArticol.tip_valuta = 0 + poArticol.pretftva = Round(poArticol.pret_achizitie * (1+tnValoare/100),gnPPretV) + Thisform.clb_pretftva.Refresh() + Thisform.do_calculeaza_pretctva(poArticol.pretftva,3) + Else + poArticol.pretftva_val = Round(poArticol.pret_achizitie * (1+tnValoare/100) / poArticol.Curs * poArticol.multiplicator, gnPVal) + Thisform.clb_pretftva.Refresh() + Thisform.do_calculeaza_pretctva(poArticol.pretftva_val,4) + Endif + Case tnTip = 2 && s-a modificat pretul + lnProcent = Iif(poArticol.pret_achizitie<>0,Round((poArticol.pretftva/poArticol.pret_achizitie-1)*100,2),0) + Thisform.clb_procent_ADAOS.texT_SIMPLU1.Value = lnProcent + Thisform.clb_procent_ADAOS.Refresh() + Endcase + Endif + ENDPROC + + PROCEDURE do_calculeaza_discount + Lparameters tnValoare,tnTip + + If poArticol.preturi_cu_tva = 0 + Do Case + Case tnTip = 1 && s-a modificat procentul + lnProcent = tnValoare + *!* If poArticol.tip_valuta = 0 + *!* poArticol.discount_unitar = Round(poArticol.pretftva * lnProcent / 100, gnPc) + *!* Else + *!* poArticol.discount_unitar_val = Round(poArticol.pretftva_val * lnProcent / 100, gnPc) + *!* poArticol.discount_unitar = Round(poArticol.discount_unitar_val * poArticol.Curs, gnPc) + *!* Endif + If poArticol.tip_valuta = 0 + poArticol.discount_unitar = Round(poArticol.pretftva * lnProcent / 100, gnPPretV) + lnProcent = IIF(poArticol.pretftva<>0,Round(poArticol.discount_unitar / poArticol.pretftva * 100 , 2),0) + Else + poArticol.discount_unitar_val = Round(poArticol.pretftva_val * lnProcent / 100, gnPVal) + poArticol.discount_unitar = Round(poArticol.discount_unitar_val * poArticol.Curs / poArticol.multiplicator, gnPPretV) + lnProcent = IIF(poArticol.pretftva_val<>0,Round(poArticol.discount_unitar_val / poArticol.pretftva_val * 100 , 2),0) + Endif + Thisform.nprocent = lnProcent + Thisform.clb_discount_unitar.Refresh() + Case tnTip = 2 && s-a modificat discount-ul in lei + poArticol.discount_unitar = tnValoare + lnProcent = IIF(poArticol.pretftva<>0,Round(poArticol.discount_unitar / poArticol.pretftva * 100 , 2),0) + Thisform.nprocent = lnProcent + Thisform.clb_procent_discount.teXT_SIMPLU1.Value = lnProcent + Thisform.clb_procent_discount.Refresh() + Case tnTip = 3 && s-a modificat discount-ul in valuta + poArticol.discount_unitar_val = tnValoare + lnProcent = IIF(poArticol.pretftva_val<>0,Round(poArticol.discount_unitar_val / poArticol.pretftva_val * 100 , 2),0) + poArticol.discount_unitar = Round(poArticol.discount_unitar_val * poArticol.Curs / poArticol.multiplicator,gnPPretV) + Thisform.nprocent = lnProcent + Thisform.clb_procent_discount.teXT_SIMPLU1.Value = lnProcent + Thisform.clb_procent_discount.Refresh() + Thisform.clb_discount_unitar.tx_suma_nat.Refresh() + Endcase + + lnDiscountTva = Round(poArticol.discount_unitar * (poArticol.proc_tvav-1), gnPPretV) + poArticol.discount_unitar_ctva = lnDiscountTva + poArticol.discount_unitar + Thisform.clb_tva_discount.tx_suma_nat.Value = lnDiscountTva + + If poArticol.tip_valuta = 1 + lnDiscountTva_val = Round(poArticol.discount_unitar_val * (poArticol.proc_tvav-1), gnPVal) + poArticol.discount_unitar_ctva_val = lnDiscountTva_val + poArticol.discount_unitar_val + Thisform.clb_tva_discount.tx_suma_val.Value = lnDiscountTva_val + Thisform.clb_pret_diminuat.tx_suma_val.Value = poArticol.pretftva_val - poArticol.discount_unitar_val + Endif + Thisform.clb_pret_diminuat.tx_suma_nat.Value = poArticol.pretftva - poArticol.discount_unitar + + Thisform.clb_discountctva.Refresh() + Else + Do Case + Case tnTip = 1 && s-a modificat procentul + lnProcent = tnValoare + *!* poArticol.discount_unitar_ctva = Round(poArticol.pretctva * lnProcent / 100, gnPc) + *!* poArticol.discount_unitar_ctva_val = Round(poArticol.pretctva_val * lnProcent / 100, gnPc) + If poArticol.tip_valuta = 0 + poArticol.discount_unitar_ctva = Round(poArticol.pretctva * lnProcent / 100, gnPPretV) + lnProcent = IIF(poArticol.pretctva<>0,Round(poArticol.discount_unitar_ctva / poArticol.pretctva * 100 , 2),0) + Else + poArticol.discount_unitar_ctva_val = Round(poArticol.pretctva_val * lnProcent / 100, gnPVal) + poArticol.discount_unitar_ctva = Round(poArticol.discount_unitar_ctva_val * poArticol.Curs / poArticol.multiplicator, gnPPretV) + lnProcent = IIF(poArticol.pretctva_val<>0,Round(poArticol.discount_unitar_ctva_val / poArticol.pretctva_val * 100 , 2),0) + Endif + Thisform.nprocent = lnProcent + Thisform.clb_discountctva.Refresh() + Case tnTip = 2 && s-a modificat discount-ul in lei + poArticol.discount_unitar_ctva = tnValoare + lnProcent = IIF(poArticol.pretctva<>0,Round(poArticol.discount_unitar_ctva / poArticol.pretctva * 100 , 2),0) + Thisform.nprocent = lnProcent + Thisform.clb_procent_discount.teXT_SIMPLU1.Value = lnProcent + Thisform.clb_procent_discount.Refresh() + Case tnTip = 3 && s-a modificat discount-ul in valuta + poArticol.discount_unitar_ctva_val = tnValoare + lnProcent = IIF(poArticol.pretctva_val<>0,Round(poArticol.discount_unitar_ctva_val / poArticol.pretctva_val * 100 , 2),0) + poArticol.discount_unitar_ctva = Round(poArticol.discount_unitar_ctva_val * poArticol.Curs / poArticol.multiplicator,gnPPretV) + Thisform.nprocent = lnProcent + Thisform.clb_procent_discount.teXT_SIMPLU1.Value = lnProcent + Thisform.clb_procent_discount.Refresh() + Thisform.clb_discountctva.tx_suma_nat.Refresh() + Endcase + + poArticol.discount_unitar = IIF(poArticol.proc_tvav<>0,Round(poArticol.discount_unitar_ctva / poArticol.proc_tvav , gnPPretV),0) + Thisform.clb_tva_discount.tx_suma_nat.Value = poArticol.discount_unitar_ctva - poArticol.discount_unitar + + If poArticol.tip_valuta = 1 + poArticol.discount_unitar_val = IIF(poArticol.proc_tvav<>0,Round(poArticol.discount_unitar_ctva_val / poArticol.proc_tvav , gnPVal),0) + Thisform.clb_tva_discount.tx_suma_val.Value = poArticol.discount_unitar_ctva_val - poArticol.discount_unitar_val + Thisform.clb_pret_diminuat.tx_suma_val.Value = poArticol.pretctva_val - poArticol.discount_unitar_ctva_val + Endif + + Thisform.clb_pret_diminuat.tx_suma_nat.Value = poArticol.pretctva - poArticol.discount_unitar_ctva + + Thisform.clb_discount_unitar.Refresh() + Endif + + Thisform.clb_tva_discount.Refresh() + Thisform.clb_pret_diminuat.Refresh() + Thisform.do_calculeaza_totaluri() + + ENDPROC + + PROCEDURE do_calculeaza_pretctva + Lparameters tnValoare,tnTip + Do Case + Case Inlist(tnTip,1,3) && s-a modificat pretul fara tva in lei + poArticol.pretftva = tnValoare + poArticol.tva = Round(tnValoare * (poArticol.proc_tvav - 1),gnPPretV) + Case Inlist(tnTip,2,4) && s-a modificat pretul fara tva in valuta ; 4 : modificare v 2.0.90 + poArticol.pretftva_val = tnValoare + poArticol.tva_val = Round(tnValoare * (poArticol.proc_tvav - 1), gnPVal) + poArticol.pretctva_val = poArticol.pretftva_val + poArticol.tva_val + + poArticol.pretftva = Round(poArticol.pretftva_val * poArticol.Curs / poArticol.multiplicator, gnPPretV) + poArticol.tva = Round(poArticol.pretftva * (poArticol.proc_tvav - 1),gnPPretV) + Thisform.clb_pretftva.tx_SUMA_NAT.Refresh() + Endcase + + poArticol.pretctva = poArticol.pretftva + poArticol.tva + Thisform.clb_tva.Refresh() + Thisform.clb_pretctva.Refresh() + If !Inlist(tnTip,3,4) + Thisform.do_calculeaza_adaos(0,2) + Endif + Thisform.do_calculeaza_discount(Thisform.clb_procent_discount.text_simplu1.Value,1) + + ENDPROC + + PROCEDURE do_calculeaza_pretftva + Lparameters tnValoare,tnTip + + Do Case + Case InList(tnTip,1,3) && s-a modificat pretul cu tva in lei + poArticol.pretctva = tnValoare + poArticol.pretftva = Round(tnValoare / poArticol.proc_tvav,gnPPretV) + + Case tnTip = 2 && s-a modificat pretul cu tva in valuta + poArticol.pretctva_val = tnValoare + poArticol.pretftva_val = Round(tnValoare / poArticol.proc_tvav, gnPVal) + poArticol.tva_val = poArticol.pretctva_val - poArticol.pretftva_val + + poArticol.pretctva = Round(poArticol.pretctva_val * poArticol.Curs / poArticol.multiplicator,gnPPretV) + poArticol.pretftva = Round(poArticol.pretctva / poArticol.proc_tvav, gnPPretV) + thisform.clb_pretctva.tx_SUMA_NAT.Refresh() + Endcase + + poArticol.tva = poArticol.pretctva - poArticol.pretftva + Thisform.clb_tva.Refresh() + Thisform.clb_pretftva.Refresh() + *!* modificare v 2.0.4 + *!* thisform.do_calculeaza_adaos(0,2) + If tnTip <> 3 + Thisform.do_calculeaza_adaos(0,2) + Endif + *!* modificare v 2.0.4 ^ + Thisform.do_calculeaza_discount(Thisform.clb_procent_discount.text_simplu1.Value,1) + *!* Lparameters tnValoare,tnTip + *!* Do Case + *!* Case tnTip = 1 && s-a modificat procentul + *!* lnProcent = 1 + tnValoare / 100 + *!* poArticol.pretftva = Round(poArticol.pret_achizitie * lnProcent, gnPc) + *!* poArticol.tva = Round(tnValoare * (poArticol.proc_tvav - 1),gnPc) + *!* lnProcent = Iif(poArticol.pretftva<>0,Round(poArticol.pret_achizitie / poArticol.pretftva * 100 , 2),0) + *!* Thisform.nprocent_adaos = lnProcent + *!* Thisform.clb_procent_adaos.Refresh() + *!* Thisform.clb_pretftva.Refresh() + *!* Case tnTip = 2 && s-a modificat pretul fara tva in lei + *!* poArticol.pretftva = tnValoare + *!* poArticol.tva = Round(tnValoare * (poArticol.proc_tvav - 1),gnPc) + *!* lnProcent = Iif(poArticol.pretftva<>0,Round(poArticol.pret_achizitie / poArticol.pretftva * 100 , 2),0) + *!* Thisform.nprocent_adaos = lnProcent + *!* Thisform.clb_procent_adaos.Refresh() + *!* Case tnTip = 3 && s-a modificat pretul fara tva in valuta + *!* poArticol.pretftva_val = tnValoare + *!* poArticol.tva_val = Round(tnValoare * (poArticol.proc_tvav - 1), gnPc) + *!* poArticol.pretctva_val = poArticol.pretftva_val + poArticol.tva_val + + *!* poArticol.pretftva = Round(poArticol.pretftva_val * poArticol.Curs, gnPc) + *!* poArticol.tva = Round(poArticol.pretftva * (poArticol.proc_tvav - 1),gnPc) + + *!* lnProcent = Iif(poArticol.pretftva_val<>0,Round(poArticol.discount_unitar_val / poArticol.pretftva_val * 100 , gnPc),0) + *!* Thisform.nprocent = lnProcent + *!* Thisform.nprocent_adaos = lnProcent + *!* Thisform.clb_procent_adaos.Refresh() + *!* Endcase + + *!* poArticol.pretctva = poArticol.pretftva + poArticol.tva + *!* Thisform.clb_tva.Refresh() + *!* Thisform.clb_pretctva.Refresh() + *!* Thisform.do_calculeaza_discount(Thisform.clb_procent_discount.text_simplu1.Value,1) + ENDPROC + + PROCEDURE do_calculeaza_totaluri + *!* modificare v 2.0.56 : am mutat-o in calculeaza_totaluri ( oproceduri_facturare.prg ) + *!* *!* v 2.0.15 calcul valoare tva din valoare cu tva daca preturi_cu_tva = 1 + *!* Local lnProcTvav_19_119 + *!* lnProcTvav_19_119 = (poArticol.proc_tvav - 1)/poArticol.proc_tvav + *!* *!* v 2.0.15 ^ + + *!* If poArticol.preturi_cu_tva = 0 + *!* poArticol.vvalftva = Round(poArticol.Pretftva_val * poArticol.cantitate,gnPc) + *!* poArticol.vvaltva = Round(Round(poArticol.Pretftva_val * poArticol.cantitate, gnPc) * (poArticol.proc_tvav - 1), gnPc) + *!* poArticol.vvalctva = poArticol.vvalftva + poArticol.vvaltva + + *!* poArticol.vvaldiminuatftva = Round((poArticol.Pretftva_val - poArticol.discount_unitar_val) * poArticol.cantitate,gnPc) + *!* poArticol.vvaldiminuattva = Round(Round((poArticol.Pretftva_val - poArticol.discount_unitar_val) * poArticol.cantitate, gnPc) * (poArticol.proc_tvav - 1), gnPc) + *!* poArticol.vvaldiminuatctva = poArticol.vvaldiminuatftva + poArticol.vvaldiminuattva + + *!* poArticol.vvaldiscountftva = Round(poArticol.discount_unitar_val * poArticol.cantitate,gnPc) + *!* poArticol.vvaldiscounttva = Round(Round(poArticol.discount_unitar_val * poArticol.cantitate, gnPc) * (poArticol.proc_tvav - 1), gnPc) + *!* poArticol.vvaldiscountctva = poArticol.vvaldiscountftva + poArticol.vvaldiscounttva + + *!* If poDate.in_valuta = 0 + *!* poArticol.valftva = Round(poArticol.Pretftva * poArticol.cantitate,gnPc) + *!* poArticol.valtva = Round(Round(poArticol.Pretftva * poArticol.cantitate, gnPc) * (poArticol.proc_tvav - 1), gnPc) + *!* poArticol.valctva = poArticol.valftva + poArticol.valtva + + *!* poArticol.valdiscountftva = Round(poArticol.discount_unitar * poArticol.cantitate,gnPc) + *!* poArticol.valdiscounttva = Round(Round(poArticol.discount_unitar * poArticol.cantitate, gnPc) * (poArticol.proc_tvav - 1), gnPc) + *!* poArticol.valdiscountctva = poArticol.valdiscountftva + poArticol.valdiscounttva + + *!* poArticol.valdiminuatftva = Round((poArticol.Pretftva - poArticol.discount_unitar) * poArticol.cantitate,gnPc) + *!* poArticol.valdiminuattva = Round(Round((poArticol.Pretftva - poArticol.discount_unitar) * poArticol.cantitate, gnPc) * (poArticol.proc_tvav - 1), gnPc) + *!* poArticol.valdiminuatctva = poArticol.valdiminuatftva + poArticol.valdiminuattva + + *!* Else + *!* poArticol.valftva = Round(Round(poArticol.Pretftva_val * poArticol.Curs,gnPc) * poArticol.cantitate,gnPc) + *!* poArticol.valtva = Round(Round(Round(poArticol.Pretftva_val * poArticol.Curs,gnPc) * poArticol.cantitate, gnPc) * (poArticol.proc_tvav - 1), gnPc) + *!* poArticol.valctva = poArticol.valftva + poArticol.valtva + + *!* poArticol.valdiscountftva = Round(Round(poArticol.discount_unitar_val * poArticol.Curs,gnPc) * poArticol.cantitate,gnPc) + *!* poArticol.valdiscounttva = Round(Round(Round(poArticol.discount_unitar_val * poArticol.Curs,gnPc) * poArticol.cantitate, gnPc) * (poArticol.proc_tvav - 1), gnPc) + *!* poArticol.valdiscountctva = poArticol.valdiscountftva + poArticol.valdiscounttva + + *!* poArticol.valdiminuatftva = Round((Round(poArticol.Pretftva_val* poArticol.Curs,gnPc) - ROUND(poArticol.discount_unitar_val* poArticol.Curs,gnPc)) * poArticol.cantitate,gnPc) + *!* poArticol.valdiminuattva = Round(Round((Round(poArticol.Pretftva_val* poArticol.Curs,gnPc) - ROUND(poArticol.discount_unitar_val* poArticol.Curs,gnPc)) * poArticol.cantitate, gnPc) * (poArticol.proc_tvav - 1), gnPc) + *!* poArticol.valdiminuatctva = poArticol.valdiminuatftva + poArticol.valdiminuattva + *!* Endif + + *!* Else + *!* *!* v 2.0.15 calcul valoare tva din valoare cu tva daca preturi_cu_tva = 1 + *!* poArticol.vvalctva = Round(poArticol.Pretctva_val * poArticol.cantitate, gnPVal) + *!* *!* poArticol.vvalftva = Round(poArticol.Pretftva_val * poArticol.cantitate, gnPVal) + *!* *!* poArticol.vvaltva = poArticol.vvalctva - poArticol.vvalftva + *!* poArticol.vvaltva = Round(poArticol.vvalctva * m.lnProcTvav_19_119, gnPVal) + *!* poArticol.vvalftva = poArticol.vvalctva - poArticol.vvaltva + + *!* poArticol.vvaldiscountctva = Round(poArticol.discount_unitar_ctva_val * poArticol.cantitate, gnPVal) + *!* *!* poArticol.vvaldiscountftva = Round(poArticol.discount_unitar_val * poArticol.cantitate, gnPVal) + *!* *!* poArticol.vvaldiscounttva = poArticol.vvaldiscountctva - poArticol.vvaldiscountftva + *!* poArticol.vvaldiscounttva = Round(poArticol.vvaldiscountctva * m.lnProcTvav_19_119, gnPVal) + *!* poArticol.vvaldiscountftva = poArticol.vvaldiscountctva - poArticol.vvaldiscounttva + + + *!* poArticol.vvaldiminuatctva = Round((poArticol.Pretctva_val - poArticol.discount_unitar_ctva) * poArticol.cantitate, gnPVal) + *!* *!* poArticol.vvaldiminuatftva = Round(Round((poArticol.Pretctva_val - poArticol.discount_unitar_ctva) / poArticol.proc_tvav, gnPVal) * poArticol.cantitate, gnPVal) + *!* *!* poArticol.vvaldiminuattva = poArticol.vvaldiminuatctva - poArticol.vvaldiminuatftva + *!* poArticol.vvaldiminuattva = Round(poArticol.vvaldiminuatctva * m.lnProcTvav_19_119, gnPVal) + *!* poArticol.vvaldiminuatftva = poArticol.vvaldiminuatctva - poArticol.vvaldiminuattva + + *!* If poDate.in_valuta = 0 + *!* poArticol.valctva = Round(poArticol.Pretctva * poArticol.cantitate,gnPc) + *!* *!* poArticol.valftva = Round(poArticol.Pretftva * poArticol.cantitate,gnPc) + *!* *!* poArticol.valtva = poArticol.valctva - poArticol.valftva + *!* poArticol.valtva = Round(poArticol.valctva * m.lnProcTvav_19_119, gnPc) + *!* poArticol.valftva = poArticol.valctva - poArticol.valtva + + *!* poArticol.valdiscountctva = Round(poArticol.discount_unitar_ctva * poArticol.cantitate,gnPc) + *!* *!* poArticol.valdiscountftva = Round(poArticol.discount_unitar * poArticol.cantitate,gnPc) + *!* *!* poArticol.valdiscounttva = poArticol.valdiscountctva - poArticol.valdiscountftva + *!* poArticol.valdiscounttva = Round(poArticol.valdiscountctva * m.lnProcTvav_19_119, gnPc) + *!* poArticol.valdiscountftva = poArticol.valdiscountctva - poArticol.valdiscounttva + + *!* poArticol.valdiminuatctva = Round((poArticol.Pretctva - poArticol.discount_unitar_ctva) * poArticol.cantitate,gnPc) + *!* *!* poArticol.valdiminuatftva = Round(Round((poArticol.Pretctva - poArticol.discount_unitar_ctva) / poArticol.proc_tvav,gnPc) * poArticol.cantitate, gnPc) + *!* *!* poArticol.valdiminuattva = poArticol.valdiminuatctva - poArticol.valdiminuatftva + *!* poArticol.valdiminuattva = Round(poArticol.valdiminuatctva * m.lnProcTvav_19_119, gnPc) + *!* poArticol.valdiminuatftva = poArticol.valdiminuatctva - poArticol.valdiminuattva + *!* Else + *!* poArticol.valctva = Round(Round(poArticol.Pretctva_val * poArticol.Curs,gnPc) * poArticol.cantitate,gnPc) + *!* *!* poArticol.valftva = Round(Round(poArticol.Pretftva_val * poArticol.Curs,gnPc) * poArticol.cantitate,gnPc) + *!* *!* poArticol.valtva = poArticol.valctva - poArticol.valftva + *!* poArticol.valtva = Round(poArticol.valctva * m.lnProcTvav_19_119, gnPc) + *!* poArticol.valftva = poArticol.valctva - poArticol.valtva + + *!* poArticol.valdiscountctva = Round(Round(poArticol.discount_unitar_ctva_val * poArticol.Curs,gnPc) * poArticol.cantitate,gnPc) + *!* *!* poArticol.valdiscountftva = Round(Round(poArticol.discount_unitar_val * poArticol.Curs,gnPc) * poArticol.cantitate,gnPc) + *!* *!* poArticol.valdiscounttva = poArticol.valdiscountctva - poArticol.valdiscountftva + *!* poArticol.valdiscounttva = Round(poArticol.valdiscountctva * m.lnProcTvav_19_119, gnPc) + *!* poArticol.valdiscountftva = poArticol.valdiscountctva - poArticol.valdiscounttva + + *!* poArticol.valdiminuatctva = Round((Round(poArticol.Pretctva_val*poArticol.Curs,gnPc) - Round(poArticol.discount_unitar_ctva_val*poArticol.Curs,gnPc)) * poArticol.cantitate,gnPc) + *!* *!* poArticol.valdiminuatftva = Round(Round((Round(poArticol.Pretctva_val*poArticol.Curs,gnPc) - ROUND(poArticol.discount_unitar_ctva_val*poArticol.Curs,gnPc)) / poArticol.proc_tvav,gnPc) * poArticol.cantitate, gnPc) + *!* *!* poArticol.valdiminuattva = poArticol.valdiminuatctva - poArticol.valdiminuatftva + *!* poArticol.valdiminuattva = Round(poArticol.valdiminuatctva * m.lnProcTvav_19_119, gnPc) + *!* poArticol.valdiminuatftva = poArticol.valdiminuatctva - poArticol.valdiminuattva + *!* Endif + *!* *!* v 2.0.15 ^ + *!* Endif + poArticol = calculeaza_totaluri(poArticol) && in oproceduri_facturare.prg + *!* modificare v 2.0.56 ^ + thisform.clb_totalcdiscount.Refresh() + thisform.clb_totalfdiscount.Refresh() + ENDPROC + + PROCEDURE inainte_de_do_termin + *!* 15.01.2024 + *!* daca stocul nu conteaza (negestionabil, optiuni: facturare fara stoc / nu se scade stocul), nu mai verific cantitatea + + Local plReturn + Local lccontrol, lcval, llFacturareFaraStoc, llGestionabil, llScadereStoc, llStoculConteaza + + *:Global pnProcentDiscountMem + If !Thisform.larata + lccontrol = Upper(This.ActiveControl.BaseClass ) + If Inlist(lccontrol,"TEXTBOX","EDITBOX","COMBOBOX") + lcval=This.ActiveControl.ControlSource + &lcval=Thisform.ActiveControl.Value + Endif + Endif + + + llFacturareFaraStoc = (Type('gnRF_FACTURARE_FARA_STOC') = 'N' And m.gnRF_FACTURARE_FARA_STOC = 1) + llGestionabil = (poArticol.gestionabil = 1) + llScadereStoc = (Type('gnScadereStoc') = 'N' And m.gnScadereStoc = 1) + + llStoculConteaza = !(llFacturareFaraStoc or !m.llGestionabil or !m.llScadereStoc) + + Do Case + Case Empty(poArticol.id_jtva_coloana) + amessagebox("Nu ati ales explicatia TVA!",48,"Atentie") + Thisform.cb_explicatie_Tva.SetFocus() + plReturn = .F. + *!* v 2.0.15 - se pot factura articole cu pret 0 + *!* Case poArticol.preturi_cu_tva = 0 And poArticol.tip_valuta = 0 And poArticol.pretftva = 0 + *!* amessagebox("Pretul fara TVA nu poate fi 0!",48,"Atentie") + *!* Thisform.clb_pretftva.tx_suma_nat.SetFocus() + *!* plReturn = .F. + *!* Case poArticol.preturi_cu_tva = 0 And poArticol.tip_valuta = 1 And poArticol.pretftva_val = 0 + *!* amessagebox("Pretul fara TVA nu poate fi 0!",48,"Atentie") + *!* Thisform.clb_pretftva.tx_suma_val.SetFocus() + *!* plReturn = .F. + *!* Case poArticol.preturi_cu_tva = 0 And poArticol.tip_valuta = 0 And poArticol.pretctva = 0 + *!* amessagebox("Pretul cu TVA nu poate fi 0!",48,"Atentie") + *!* Thisform.clb_pretctva.tx_suma_nat.SetFocus() + *!* plReturn = .F. + *!* Case poArticol.preturi_cu_tva = 0 And poArticol.tip_valuta = 1 And poArticol.pretctva_val = 0 + *!* amessagebox("Pretul cu TVA nu poate fi 0!",48,"Atentie") + *!* Thisform.clb_pretctva.tx_suma_val.SetFocus() + *!* plReturn = .F. + *!* v 2.0.15 ^ + Case Abs(poArticol.cantitate)>Abs(Thisform.ncantitatemax) And Inlist(poDate.tip,4,21,23,28,42,47) And poArticol.gestionabil = 1 AND m.llStoculConteaza && am scos tipul 3 + && modificare v 2.0.93 : am adaugat 47 + amessagebox("Cantitatea nu poate fi mai mare decat "+Alltrim(Str(Thisform.ncantitatemax))+" !",48,"Atentie") + Thisform.clb_cantitate.SetFocus() + plReturn = .F. + *!* v 2.0.15 - se poate factura doar discount + *!* Case poArticol.tip_valuta=0 And poArticol.preturi_cu_tva = 0 And poArticol.discount_unitar>poArticol.pretftva + *!* amessagebox("Discountul nu poate fi mai mare decat pretul!",0+48,"Atentie") + *!* Thisform.clb_discount_unitar.tx_suma_nat.SetFocus() + *!* plReturn = .F. + *!* Case poArticol.tip_valuta=1 And poArticol.preturi_cu_tva = 0 And poArticol.discount_unitar_val > poArticol.pretftva_val + *!* amessagebox("Discountul nu poate fi mai mare decat pretul!",0+48,"Atentie") + *!* Thisform.clb_discount_unitar.tx_suma_val.SetFocus() + *!* plReturn = .F. + *!* Case poArticol.tip_valuta=0 And poArticol.preturi_cu_tva = 1 And poArticol.discount_unitar_ctva >poArticol.pretctva + *!* amessagebox("Discountul nu poate fi mai mare decat pretul!",0+48,"Atentie") + *!* Thisform.clb_discountctva.tx_suma_nat.SetFocus() + *!* plReturn = .F. + *!* Case poArticol.tip_valuta=1 And poArticol.preturi_cu_tva = 1 And poArticol.discount_unitar_ctva_val>poArticol.pretctva_val + *!* amessagebox("Discountul nu poate fi mai mare decat pretul!",0+48,"Atentie") + *!* Thisform.clb_discountctva.tx_suma_val.SetFocus() + *!* plReturn = .F. + *!* v 2.0.15 ^ + *!* modificare v 2.0.56 + Case poArticol.cantitate > 0 And Inlist(poDate.tip,8,9) AND m.llStoculConteaza + amessagebox("Cantitatea nu poate fi mai mare decat 0!",0+48,"Atentie") + Thisform.clb_cantitate.SetFocus() + plReturn = .F. + Case Abs(poArticol.cantitate)>Abs(Thisform.ncantitatemax) And Inlist(poDate.tip,8,9) + amessagebox("Nu se poate returna mai mult decat a fost facturat!",48,"Atentie") + Thisform.clb_cantitate.SetFocus() + plReturn = .F. + *!* modificare v 2.0.56 ^ + Case poArticol.cantitate=0 + amessagebox("Cantitatea nu poate fi 0!",0+48,"Atentie") + Thisform.clb_cantitate.SetFocus() + plReturn = .F. + Otherwise + *!* modificare v 2.0.44 + Do Case + Case poArticol.preturi_cu_tva = 0 And poArticol.tip_valuta = 0 And poArticol.pretftva = 0 + If amessagebox("Pretul fara TVA este 0. Doriti sa continuati?",4+32,"Atentie") = 7 + Thisform.clb_pretftva.tx_suma_nat.SetFocus() + plReturn = .F. + Else + plReturn = .T. + Endif + Case poArticol.preturi_cu_tva = 0 And poArticol.tip_valuta = 1 And poArticol.pretftva_val = 0 + If amessagebox("Pretul fara TVA este 0. Doriti sa continuati?",4+32,"Atentie") = 7 + Thisform.clb_pretftva.tx_suma_val.SetFocus() + plReturn = .F. + Else + plReturn = .T. + Endif + Case poArticol.preturi_cu_tva = 1 And poArticol.tip_valuta = 0 And poArticol.pretctva = 0 + If amessagebox("Pretul cu TVA este 0. Doriti sa continuati?",4+32,"Atentie") = 7 + Thisform.clb_pretctva.tx_suma_nat.SetFocus() + plReturn = .F. + Else + plReturn = .T. + Endif + Case poArticol.preturi_cu_tva = 1 And poArticol.tip_valuta = 1 And poArticol.pretctva_val = 0 + If amessagebox("Pretul cu TVA este 0. Doriti sa continuati?",4+32,"Atentie") = 7 + Thisform.clb_pretctva.tx_suma_val.SetFocus() + plReturn = .F. + Else + plReturn = .T. + Endif + Otherwise + plReturn = .T. + Endcase + *!* modificare v 2.0.67 + If Nvl(gnMemProcDisc,0) = 1 And plReturn + pnProcentDiscountMem = Int(Thisform.clb_procent_discount.text_simplu1.Value) + Endif + *!* modificare v 2.0.67 ^ + *!* plReturn = .T. + *!* modificare v 2.0.44 ^ + Endcase + + If Thisform.larata And !plReturn + Thisform.larata = !Thisform.larata + Endif + + Return plReturn + + ENDPROC + + PROCEDURE Init + *!* 05.01.2017 + *!* marius.mutu + *!* daca articolul nu are aleasa cota de TVA (ex: politica preturi din stoc sau tva ales la facturare), + *!* ma pozitionez pe cota tva 24/20/19 in functie de anul curent + *!* #4363 + + *!* 08.01.2018 + *!* marius.mutu + *!* daca articolul nu are aleasa cota de TVA (ex: politica preturi din stoc sau tva ales la facturare), + *!* ma pozitionez pe cota tva 24/20/19 in functie de anul curent + + + Lparameters tnCantitate,tlAscunde + Thisform.ncantitatemax = tnCantitate + Thisform.larata = tlAscunde + DoDefault() + + *!* modificare v 2.0.55 + *!* If Nvl(gnScadereStoc,0) = 1 + If Nvl(gnScadereStoc,0) = 1 and poArticol.gestionabil = 1 + *!* modificare v 2.0.55 ^ + Thisform.clb_serie.text_simplu1.ReadOnly = .T. + Thisform.clb_serie.TabStop = .F. + Else + Thisform.clb_procent_adaos.Visible = .F. + Thisform.lcuadaos = .F. + Endif + + *!* modificare v 2.0.74 + Thisform.nidjtvacoloana_initial = poArticol.id_jtva_coloana + Select jtva_coloane + If !Isnull(poArticol.proc_tvav) + Set Filter To cota_tva = poArticol.proc_tvav * 100 - 100 + If Nvl(poArticol.proc_tvav,0) * 100 - 100 = 0 + Locate For id_jtva_coloana = 8 + If !Found() + Go Top + Endif + Else + Go Top + Endif + poArticol.id_jtva_coloana = id_jtva_coloana + Else + Set Filter To + lnProcTVAStandard = GetProcTvaStandard() + LOCATE FOR cota_tva = m.lnProcTVAStandard + IF !FOUND() + Go TOP + ENDIF + poArticol.proc_tvav = (cota_tva + 100)/100 + poArticol.id_jtva_coloana = id_jtva_coloana + EndIf + Thisform.cb_explicatie_Tva._cbbase1.Requery() + Thisform.cb_explicatie_Tva._cbbase1.Value = denumire + Thisform.cb_explicatie_Tva._cbbase1.Requery() + *!* modificare v 2.0.74 ^ + + IF m.gl406 + This.cb_explicatie_saft.Visible = .T. + Thisform.UpdateExplicatieSAFT() + ENDIF + + If poArticol.tip_valuta = 0 + poArticol.nume_val = [] + If poArticol.preturi_cu_tva = 0 + Thisform.do_calculeaza_discount(poArticol.discount_unitar,2) + Else + Thisform.do_calculeaza_discount(poArticol.discount_unitar_ctva,2) + Endif + lnTip = 1 + Else + If poArticol.preturi_cu_tva = 0 + Thisform.do_calculeaza_discount(poArticol.discount_unitar_val,3) + Else + Thisform.do_calculeaza_discount(poArticol.discount_unitar_ctva_val,2) + Endif + lnTip = 2 + Endif + + *!* modificare v 2.0.74 : am mutat bucata de cod inainte de calcularea discountului + *!* *!* modificare v 2.0.46 + *!* Thisform.nidjtvacoloana_initial = poArticol.id_jtva_coloana + *!* Select jtva_coloane + *!* If !Isnull(poArticol.proc_tvav) + *!* Set Filter To cota_tva = poArticol.proc_tvav * 100 - 100 + *!* If Nvl(poArticol.proc_tvav,0) * 100 - 100 = 0 + *!* Locate For id_jtva_coloana = 8 + *!* If !Found() + *!* Go Top + *!* Endif + *!* Else + *!* Go Top + *!* Endif + *!* poArticol.id_jtva_coloana = id_jtva_coloana + *!* Else + *!* Set Filter To + *!* Go Top + *!* poArticol.proc_tvav = (cota_tva + 100)/100 + *!* poArticol.id_jtva_coloana = id_jtva_coloana + *!* EndIf + *!* *!* modificare v 2.0.40 : # 1985 + *!* Thisform.cb_explicatie_Tva._cbbase1.Requery() + *!* *!* modificare v 2.0.40 : # 1985 ^ + *!* Thisform.cb_explicatie_Tva._cbbase1.Value = denumire + *!* Thisform.cb_explicatie_Tva._cbbase1.Requery() + *!* *!* modificare v 2.0.46 ^ + *!* modificare v 2.0.74 ^ + + *!* modificare v 2.0.4 + *!* If Iif(Type('poArticol.modificabil')<>'U',poArticol.modificabil,0) = 1 + *!* modificare v 2.0.30 : am adaugat 41 + *!* modificare v 2.0.44 : am adaugat 42 + *!* If Inlist(poDate.tip,1,3,5,21,22,23,25,28,29,41,42) + If Inlist(poDate.tip,1,5,10,22,23,25,29,41) && modificare v 2.0.56 : am adaugat 10 + *!* modificare v 2.0.4 ^ + If poArticol.preturi_cu_tva = 0 + Thisform.lmodpretftva = .T. + Thisform.clb_pretftva.do_activeaza(lnTip) + Else + Thisform.lmodpretctva = .T. + *!* modificare v 2.0.4 + *!* Thisform.RemoveObject('clb_procent_adaos') + *!* thisform.lcuadaos = .F. + *!* modificare v 2.0.4 ^ + Thisform.clb_pretctva.do_activeaza(lnTip) + Endif + Else + Thisform.clb_procent_adaos.Visible = .F. + Thisform.lcuadaos = .F. + If poArticol.preturi_cu_tva = 0 And ; + ((poArticol.pretftva = 0 And lnTip = 1) Or (poArticol.pretftva_val = 0 And lnTip = 2)) + Thisform.lmodpretftva = .T. + Thisform.clb_pretftva.do_activeaza(lnTip) + Else + If poArticol.preturi_cu_tva = 1 And ; + ((poArticol.pretctva = 0 And lnTip = 1) Or (poArticol.pretctva_val = 0 And lnTip = 2)) + Thisform.lmodpretctva = .T. + Thisform.clb_pretctva.do_activeaza(lnTip) + Endif + Endif + Endif + + If poArticol.preturi_cu_tva = 0 + Thisform.clb_discount_unitar.do_activeaza(lnTip) + Thisform.clb_totalfdiscount.lb_explicatii.Caption = [] + Thisform.clb_totalcdiscount.lb_explicatii.Caption = [] + Thisform.clb_pret_diminuat.lb_explicatii.Caption = [(2) - (5)] + Else + Thisform.clb_discountctva.do_activeaza(lnTip) + Thisform.clb_totalfdiscount.lb_explicatii.Caption = [(1) * (4)] + Thisform.clb_totalcdiscount.lb_explicatii.Caption = [(1) * ( (4) - (7) )] + With Thisform.clb_pret_diminuat + .lb_explicatie.Caption = [Pret unitar diminuat cu TVA] + .lb_explicatii.Caption = [(4) - (7)] + Endwith + Endif + + *!* modificare v 2.0.19 + *!* If (poDate.tip=2 And pnTipFacturare=3) Or INLIST(poDate.tip,4,23) + *!* modificare v 2.0.67 + *!* If (poDate.tip=2 And pnTipFacturare=3) Or poDate.tip = 4 + If (poDate.tip=2 And poArticol.opt_facturare=3) Or poDate.tip = 4 + *!* modificare v 2.0.67 ^ + *!* modificare v 2.0.19 ^ + Thisform.clb_discount_unitar.do_dezactiveaza() + Thisform.clb_discountctva.do_dezactiveaza() + With Thisform.clb_procent_discount.text_simplu1 + .ReadOnly = .T. + .TabStop = .F. + Endwith + *!* modificare v 2.0.67 + Else + If poArticol.discount_unitar_val = 0 And poArticol.discount_unitar = 0 AND Nvl(gnMemProcDisc,0) = 1 + Thisform.clb_procent_discount.text_simplu1.Value = pnProcentDiscountMem + Endif + *!* modificare v 2.0.67 ^ + Endif + + *!* modificare v 2.0.46 + *!* Select jtva_coloane + *!* If !Isnull(poArticol.proc_tvav) + *!* Set Filter To cota_tva = poArticol.proc_tvav * 100 - 100 + *!* If Nvl(poArticol.proc_tvav,0) * 100 - 100 = 0 + *!* Locate For id_jtva_coloana = 8 + *!* If !Found() + *!* Go Top + *!* Endif + *!* Else + *!* Go Top + *!* Endif + *!* poArticol.id_jtva_coloana = id_jtva_coloana + *!* *!* Thisform.cb_explicatie_Tva._cbbase1.Value = denumire + *!* *!* Thisform.cb_explicatie_Tva._cbbase1.Requery() + *!* Else + *!* Set Filter To + *!* Go Top + *!* poArticol.proc_tvav = (cota_tva + 100)/100 + *!* poArticol.id_jtva_coloana = id_jtva_coloana + *!* *!* Thisform.cb_explicatie_Tva._cbbase1.Value = denumire + *!* *!* Thisform.cb_explicatie_Tva._cbbase1.Requery() + *!* Endif + *!* *!* modificare v 2.0.40 : # 1985 + *!* Thisform.cb_explicatie_Tva._cbbase1.Requery() + *!* *!* modificare v 2.0.40 : # 1985 ^ + *!* Thisform.cb_explicatie_Tva._cbbase1.Value = jtva_coloane.denumire + *!* Thisform.cb_explicatie_Tva._cbbase1.Requery() + *!* Thisform.nidjtvacoloana_initial = poArticol.id_jtva_coloana + *!* modificare v 2.0.46 ^ + + *!* modificare v 2.0.67 + If !Used('crsCtrTemp') Or !Isnull(poArticol.id_ctr) + Thisform.RemoveObject('cb_contract') + Else + If Reccount('crsCtrTemp') = 1 + Thisform.cb_contract.Enabled = .F. + Endif + Thisform.cb_contract._cbbase1.RowSource=[crsCtrTemp.contract,id_ctr] + Select crsCtrTemp + Locate For INLIST(opt_facturare,4,0) + If !Found() + Go Top + Endif + Thisform.cb_contract._cbbase1.Value = Alltrim(contract) + poArticol.id_ctr = id_ctr + Endif + *!* modificare v 2.0.67 ^ + + *!* modificare v 2.0.56 + If !Thisform.clb_procent_adaos.Visible + Thisform.RemoveObject('clb_procent_adaos') + Endif + *!* modificare v 2.0.56 ^ + Thisform.clb_discountctva.do_actualizeaza_lbval(poArticol.nume_val) + Thisform.clb_discount_unitar.do_actualizeaza_lbval(poArticol.nume_val) + Thisform.clb_tva_discount.do_actualizeaza_lbval(poArticol.nume_val) + Thisform.clb_pretftva.do_actualizeaza_lbval(poArticol.nume_val) + Thisform.clb_pretctva.do_actualizeaza_lbval(poArticol.nume_val) + Thisform.clb_tva.do_actualizeaza_lbval(poArticol.nume_val) + Thisform.clb_totalcdiscount.do_actualizeaza_lbval(poArticol.nume_val) + Thisform.clb_totalfdiscount.do_actualizeaza_lbval(poArticol.nume_val) + Thisform.clb_pret_diminuat.do_actualizeaza_lbval(poArticol.nume_val) + If !Thisform.larata + Thisform.clb_cantitate.SetFocus() + EndIf + ENDPROC + + PROCEDURE updateexplicatiesaft + * Daca nu este activata SAFT 406 nu fac nimic + Local lcSelect, ldDataAct, llFurnizorRTVAI, lnIdJtva + IF !m.gl406 + RETURN + ENDIF + + lcSelect = SELECT() + This.cb_explicatie_saft._cbbase1.Requery() + + ldDataAct = poDate.dataact + lnIdJtva = poArticol.id_jtva_coloana + llFurnizorRTVAI = .F. + + poArticol.taxcode = GetTaxCode(m.gnAn, m.gnLuna, m.ldDataAct, m.lnIdJtva, m.llFurnizorRTVAI) + this.cb_explicatie_saft._cbbase1.Refresh() + SELECT (m.lcSelect) + ENDPROC + + PROCEDURE Cb_contract._CBBASE1.InteractiveChange + Select crsCtrTemp + poArticol.id_ctr = id_ctr + ENDPROC + + PROCEDURE Cb_explicatie_Tva._cbbase1.InteractiveChange + *!* Select jtva_coloane + *!* poArticol.id_jtva_coloana = id_jtva_coloana + *!* If Iif(Type('poArticol.modificabil')<>'U',poArticol.modificabil,0)=1 + *!* poArticol.proc_tvav = (cota_tva + 100) / 100 + *!* Endif + *!* If Empty(Thisform.nidjtvacoloana_initial) + *!* poArticol.proc_tvav = (cota_tva + 100) / 100 + *!* Thisform.do_calculeaza_discount(Thisform.clb_procent_discount.text_simplu1.Value,1) + *!* Endif + Select jtva_coloane + poArticol.id_jtva_coloana = id_jtva_coloana + If Iif(Type('poArticol.modificabil')<>'U',poArticol.modificabil,0)=1 + poArticol.proc_tvav = (cota_tva + 100) / 100 + Endif + If Empty(Thisform.nidjtvacoloana_initial) + poArticol.proc_tvav = (cota_tva + 100) / 100 + Do Case + *!* modificare ROAFACTURARE v 2.0.77 + *!* Case Thisform.clb_pretftva.tx_suma_nat.ReadOnly = .F. + *!* Thisform.do_calculeaza_pretctva(Thisform.clb_pretftva.tx_suma_nat.Value,1) + *!* Case Thisform.clb_pretftva.tx_suma_val.ReadOnly = .F. + *!* Thisform.do_calculeaza_pretctva(Thisform.clb_pretftva.tx_suma_val.Value,2) + *!* Case Thisform.clb_pretctva.tx_suma_nat.ReadOnly = .F. + *!* Thisform.do_calculeaza_pretftva(Thisform.clb_pretctva.tx_suma_nat.value,1) + *!* Case Thisform.clb_pretctva.tx_suma_val.ReadOnly = .F. + *!* Thisform.do_calculeaza_pretftva(Thisform.clb_pretctva.tx_suma_val.value,2) + *!* modificare ROAFACTURARE v 2.0.77 ^ + Case Iif(Type("Thisform.clb_pretftva.tx_suma_nat.ReadOnly")<>"U",Thisform.clb_pretftva.tx_suma_nat.ReadOnly,.T.) = .F. + Thisform.do_calculeaza_pretctva(Thisform.clb_pretftva.tx_suma_nat.Value,1) + Case Iif(Type("Thisform.clb_pretftva.tx_suma_val.ReadOnly")<>"U",Thisform.clb_pretftva.tx_suma_val.ReadOnly,.T.) = .F. + Thisform.do_calculeaza_pretctva(Thisform.clb_pretftva.tx_suma_val.Value,2) + Case Iif(Type("Thisform.clb_pretctva.tx_suma_nat.ReadOnly")<>"U",Thisform.clb_pretctva.tx_suma_nat.ReadOnly,.T.) = .F. + Thisform.do_calculeaza_pretftva(Thisform.clb_pretctva.tx_suma_nat.Value,1) + Case Iif(Type("Thisform.clb_pretctva.tx_suma_val.ReadOnly")<>"U",Thisform.clb_pretctva.tx_suma_val.ReadOnly,.T.) = .F. + Thisform.do_calculeaza_pretftva(Thisform.clb_pretctva.tx_suma_val.Value,2) + Otherwise + Thisform.do_calculeaza_discount(Thisform.clb_procent_discount.text_simplu1.Value,1) + Endcase + ENDIF + + Thisform.UpdateExplicatieSaft() + ENDPROC + + PROCEDURE clb_cantitate.Text_simplu1.InteractiveChange + lcval=This.ControlSource + &lcval=This.Value + Thisform.do_calculeaza_totaluri() + ENDPROC + + PROCEDURE Clb_discountctva.tx_suma_nat.Valid + IF this.Value <> this.Parent.nSumaNatOld + Thisform.do_calculeaza_discount(This.value,2) + ENDIF + ENDPROC + + PROCEDURE Clb_discountctva.tx_suma_val.Valid + IF this.Value <> this.Parent.nSumaValOld + Thisform.do_calculeaza_discount(This.value,3) + ENDIF + ENDPROC + + PROCEDURE Clb_discount_unitar.tx_suma_nat.Valid + IF this.Value <> this.Parent.nSumaNatOld + Thisform.do_calculeaza_discount(This.value,2) + ENDIF + ENDPROC + + PROCEDURE Clb_discount_unitar.tx_suma_val.Valid + IF this.Value <> this.Parent.nSumaValOld + Thisform.do_calculeaza_discount(This.value,3) + ENDIF + ENDPROC + + PROCEDURE Clb_pretctva.tx_suma_nat.InteractiveChange + Thisform.do_calculeaza_pretftva(This.Value,1) + ENDPROC + + PROCEDURE Clb_pretctva.tx_suma_val.InteractiveChange + Thisform.do_calculeaza_pretftva(This.Value,2) + ENDPROC + + PROCEDURE Clb_pretftva.tx_suma_nat.InteractiveChange + Thisform.do_calculeaza_pretctva(This.Value,1) + ENDPROC + + PROCEDURE Clb_pretftva.tx_suma_val.InteractiveChange + Thisform.do_calculeaza_pretctva(This.Value,2) + ENDPROC + + PROCEDURE Clb_procent_adaos.Text_simplu1.InteractiveChange + Thisform.do_calculeaza_adaos(this.Value,1) + ENDPROC + + PROCEDURE Clb_procent_discount.Text_simplu1.InteractiveChange + Thisform.do_calculeaza_discount(This.Value,1) + + ENDPROC + + PROCEDURE Clb_procent_discount.Text_simplu1.LostFocus + This.Value = Thisform.nprocent + ENDPROC + + PROCEDURE Clb_procent_discount.Text_simplu1.ProgrammaticChange + This.InteractiveChange() + ENDPROC + +ENDDEFINE + +DEFINE CLASS frm_articol_factura_rate AS _frmbase OF "_frm_base.vcx" + *< CLASSDATA: Baseclass="form" Timestamp="" Scale="Pixels" Uniqueid="" /> + + *-- OBJECTDATA items order determines ZOrder / El orden de los items OBJECTDATA determina el ZOrder + *< OBJECTDATA: ObjPath="clb_den_rata" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="But_renunt1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="clb_nr_rata" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="clb_data_scadenta" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="Clb_pretftva" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="Clb_tva" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="Clb_pretctva" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="Cb_explicatie_Tva" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="cb_explicatie_saft" UniqueID="" Timestamp="" /> + + * + *m: do_calculeaza_rata + *m: updateexplicatiesaft + *p: nid + *p: nnivelmodificare && - 1 daca utilizatorul are voie sa modifice toate datele ; 0 daca are voie sa modifice doar nr. de telefon + *p: npretmax + *p: orec + * + + * + DoCreate = .T. + Height = 275 + Name = "frm_articol_factura_rate" + nnivelmodificare = -1 + npretmax = 0 + Width = 395 + _memberdata = + + + _shape1.Height = 29 + _shape1.Left = 0 + _shape1.Name = "_shape1" + _shape1.Top = 0 + _shape1.Width = 400 + _shape2.Height = 29 + _shape2.Left = 326 + _shape2.Name = "_shape2" + _shape2.Top = 0 + _shape2.Width = 69 + Lb_titlu_alb_b121.Caption = "ADÃUGARE RATÃ" + Lb_titlu_alb_b121.FontBold = .T. + Lb_titlu_alb_b121.Name = "Lb_titlu_alb_b121" + Lb_titlu_alb_b121.TabIndex = 10 + BUT_TERMIN1.Height = 27 + BUT_TERMIN1.Left = 363 + BUT_TERMIN1.Name = "BUT_TERMIN1" + BUT_TERMIN1.TabIndex = 8 + BUT_TERMIN1.Top = 1 + BUT_TERMIN1.Width = 30 + Gridsort1.Name = "Gridsort1" + * + + ADD OBJECT 'But_renunt1' AS but_renunt WITH ; + Height = 27, ; + Left = 331, ; + Name = "But_renunt1", ; + TabIndex = 9, ; + Top = 1, ; + Width = 30 + *< END OBJECT: ClassLib="cmd_butoane.vcx" BaseClass="commandbutton" /> + + ADD OBJECT 'cb_explicatie_saft' AS cb_tx_simplu WITH ; + Height = 29, ; + Left = 13, ; + Name = "cb_explicatie_saft", ; + TabIndex = 12, ; + TabStop = .F., ; + Top = 210, ; + Visible = .F., ; + Width = 371, ; + ZOrderSet = 21, ; + _cbbase1.BoundColumn = 3, ; + _cbbase1.BoundTo = .T., ; + _cbbase1.ColumnCount = 2, ; + _cbbase1.ColumnLines = .F., ; + _cbbase1.ColumnWidths = "500,50", ; + _cbbase1.ControlSource = "poArticol.taxcode", ; + _cbbase1.Height = 23, ; + _cbbase1.Left = 120, ; + _cbbase1.Name = "_cbbase1", ; + _cbbase1.RowSource = "select taxname, procent_taxa, taxcode from saft_taxtable where tva_livrari = 1 and procent_taxa = poArticol.proc_tvav*100-100 order by taxcode into cursor crsTaxTableX", ; + _cbbase1.RowSourceType = 3, ; + _cbbase1.Top = 3, ; + _cbbase1.Width = 245, ; + _lbbase1.Caption = "Taxa SAFT", ; + _lbbase1.Left = 5, ; + _lbbase1.Name = "_lbbase1", ; + _lbbase1.Top = 6 + *< END OBJECT: ClassLib="lb_tx.vcx" BaseClass="container" /> + + ADD OBJECT 'Cb_explicatie_Tva' AS cb_tx_simplu WITH ; + Height = 29, ; + Left = 13, ; + Name = "Cb_explicatie_Tva", ; + TabIndex = 6, ; + TabStop = .F., ; + Top = 182, ; + Width = 371, ; + _cbbase1.ColumnCount = 2, ; + _cbbase1.ColumnLines = .F., ; + _cbbase1.ColumnWidths = "400,15", ; + _cbbase1.FontName = "Arial", ; + _cbbase1.Left = 120, ; + _cbbase1.Name = "_cbbase1", ; + _cbbase1.RowSource = "jtva_coloane.denumire,cota_tva,id_jtva_coloana", ; + _cbbase1.RowSourceType = 6, ; + _cbbase1.Width = 245, ; + _lbbase1.Caption = "Explicaþie TVA", ; + _lbbase1.FontName = "Arial", ; + _lbbase1.Left = 4, ; + _lbbase1.Name = "_lbbase1", ; + _lbbase1.Top = 6 + *< END OBJECT: ClassLib="lb_tx.vcx" BaseClass="container" /> + + ADD OBJECT 'clb_data_scadenta' AS clb_tx_simplu WITH ; + Height = 29, ; + Left = 13, ; + Name = "clb_data_scadenta", ; + TabIndex = 3, ; + TabStop = .F., ; + Top = 100, ; + Width = 371, ; + TEXT_SIMPLU1.Alignment = 1, ; + TEXT_SIMPLU1.Left = 120, ; + TEXT_SIMPLU1.Name = "TEXT_SIMPLU1", ; + TEXT_SIMPLU1.ReadOnly = .T., ; + TEXT_SIMPLU1.Value = {}, ; + TEXT_SIMPLU1.Width = 120, ; + LB_SIMPLU1.Caption = "Data scadenþã", ; + LB_SIMPLU1.Name = "LB_SIMPLU1" + *< END OBJECT: ClassLib="lb_tx.vcx" BaseClass="container" /> + + ADD OBJECT 'clb_den_rata' AS clb_tx_simplu WITH ; + Height = 29, ; + Left = 13, ; + Name = "clb_den_rata", ; + TabIndex = 2, ; + TabStop = .F., ; + Top = 72, ; + Width = 371, ; + Text_simplu1.ControlSource = "poArticol.denumire", ; + Text_simplu1.FontBold = .T., ; + Text_simplu1.Height = 23, ; + Text_simplu1.Left = 120, ; + Text_simplu1.Name = "Text_simplu1", ; + Text_simplu1.ReadOnly = .T., ; + Text_simplu1.Top = 3, ; + Text_simplu1.Width = 245, ; + Lb_simplu1.Caption = "Denumire ratã", ; + Lb_simplu1.Name = "Lb_simplu1" + *< END OBJECT: ClassLib="lb_tx.vcx" BaseClass="container" /> + + ADD OBJECT 'clb_nr_rata' AS clb_tx_simplu WITH ; + Height = 29, ; + Left = 13, ; + Name = "clb_nr_rata", ; + TabIndex = 1, ; + TabStop = .F., ; + Top = 44, ; + Width = 371, ; + TEXT_SIMPLU1.ControlSource = "poArticol.nr_rata", ; + TEXT_SIMPLU1.InputMask = (get_mask(14,0)), ; + TEXT_SIMPLU1.Left = 120, ; + TEXT_SIMPLU1.Name = "TEXT_SIMPLU1", ; + TEXT_SIMPLU1.ReadOnly = .T., ; + TEXT_SIMPLU1.Width = 120, ; + LB_SIMPLU1.Caption = "Nr. ratã", ; + LB_SIMPLU1.Name = "LB_SIMPLU1" + *< END OBJECT: ClassLib="lb_tx.vcx" BaseClass="container" /> + + ADD OBJECT 'Clb_pretctva' AS clb_tx_sume_valuta WITH ; + Height = 28, ; + Left = 13, ; + Name = "Clb_pretctva", ; + TabIndex = 7, ; + Top = 238, ; + Width = 371, ; + tx_suma_val.ControlSource = "poArticol.pretctva_val", ; + tx_suma_val.FontName = "Arial", ; + tx_suma_val.Left = 120, ; + tx_suma_val.Name = "tx_suma_val", ; + tx_suma_val.Width = 80, ; + lb_explicatie.Caption = "Rata cu TVA", ; + lb_explicatie.FontName = "Arial", ; + lb_explicatie.Name = "lb_explicatie", ; + lb_explicatie.Top = 6, ; + tx_suma_nat.ControlSource = "poArticol.pretctva", ; + tx_suma_nat.FontName = "Arial", ; + tx_suma_nat.Left = 250, ; + tx_suma_nat.Name = "tx_suma_nat", ; + tx_suma_nat.Width = 80, ; + lb_nume_val.FontName = "Arial", ; + lb_nume_val.Left = 204, ; + lb_nume_val.Name = "lb_nume_val", ; + lb_nume_nat.FontName = "Arial", ; + lb_nume_nat.Left = 334, ; + lb_nume_nat.Name = "lb_nume_nat", ; + lb_explicatii.Caption = "(3)", ; + lb_explicatii.FontName = "Arial", ; + lb_explicatii.Left = 100, ; + lb_explicatii.Name = "lb_explicatii", ; + lb_explicatii.Visible = .T. + *< END OBJECT: ClassLib="ofacturare.vcx" BaseClass="container" /> + + ADD OBJECT 'Clb_pretftva' AS clb_tx_sume_valuta WITH ; + Height = 28, ; + Left = 13, ; + Name = "Clb_pretftva", ; + TabIndex = 4, ; + Top = 128, ; + Width = 371, ; + tx_suma_val.ControlSource = "poArticol.pretftva_val", ; + tx_suma_val.FontName = "Arial", ; + tx_suma_val.Left = 120, ; + tx_suma_val.Name = "tx_suma_val", ; + tx_suma_val.Top = 1, ; + tx_suma_val.Width = 80, ; + lb_explicatie.Caption = "Rata fãrã TVA", ; + lb_explicatie.FontName = "Arial", ; + lb_explicatie.Name = "lb_explicatie", ; + tx_suma_nat.ControlSource = "poArticol.pretftva", ; + tx_suma_nat.FontName = "Arial", ; + tx_suma_nat.Height = 23, ; + tx_suma_nat.Left = 250, ; + tx_suma_nat.Name = "tx_suma_nat", ; + tx_suma_nat.Top = 1, ; + tx_suma_nat.Width = 80, ; + lb_nume_val.FontName = "Arial", ; + lb_nume_val.Left = 204, ; + lb_nume_val.Name = "lb_nume_val", ; + lb_nume_val.Top = 4, ; + lb_nume_nat.FontName = "Arial", ; + lb_nume_nat.Left = 334, ; + lb_nume_nat.Name = "lb_nume_nat", ; + lb_nume_nat.Top = 4, ; + lb_explicatii.Caption = "(1)", ; + lb_explicatii.FontName = "Arial", ; + lb_explicatii.Left = 100, ; + lb_explicatii.Name = "lb_explicatii", ; + lb_explicatii.Top = 4, ; + lb_explicatii.Visible = .T. + *< END OBJECT: ClassLib="ofacturare.vcx" BaseClass="container" /> + + ADD OBJECT 'Clb_tva' AS clb_tx_sume_valuta WITH ; + Height = 28, ; + Left = 13, ; + Name = "Clb_tva", ; + TabIndex = 5, ; + Top = 155, ; + Width = 371, ; + tx_suma_val.ControlSource = "poArticol.tva_val", ; + tx_suma_val.FontName = "Arial", ; + tx_suma_val.Left = 120, ; + tx_suma_val.Name = "tx_suma_val", ; + tx_suma_val.Width = 80, ; + lb_explicatie.Caption = "TVA", ; + lb_explicatie.FontName = "Arial", ; + lb_explicatie.Name = "lb_explicatie", ; + lb_explicatie.Top = 6, ; + tx_suma_nat.ControlSource = "poArticol.tva", ; + tx_suma_nat.FontName = "Arial", ; + tx_suma_nat.Left = 250, ; + tx_suma_nat.Name = "tx_suma_nat", ; + tx_suma_nat.Width = 80, ; + lb_nume_val.FontName = "Arial", ; + lb_nume_val.Left = 204, ; + lb_nume_val.Name = "lb_nume_val", ; + lb_nume_nat.FontName = "Arial", ; + lb_nume_nat.Left = 334, ; + lb_nume_nat.Name = "lb_nume_nat", ; + lb_explicatii.Caption = "(2)", ; + lb_explicatii.FontName = "Arial", ; + lb_explicatii.Left = 100, ; + lb_explicatii.Name = "lb_explicatii", ; + lb_explicatii.Top = 4, ; + lb_explicatii.Visible = .T. + *< END OBJECT: ClassLib="ofacturare.vcx" BaseClass="container" /> + + PROCEDURE do_calculeaza_rata + Lparameters tnValoare,tnTip + If poArticol.preturi_cu_tva = 0 + Do Case + Case tnTip = 1 + poArticol.pretftva = tnValoare + Case tnTip = 2 + poArticol.pretftva_val = tnValoare + poArticol.tva_val = Round(poArticol.pretftva_val *(poArticol.proc_tvav - 1),gnPVal) + poArticol.pretctva_val = poArticol.pretftva_val + poArticol.tva_val + poArticol.pretftva = Round(poArticol.pretftva_val * poArticol.Curs / poArticol.multiplicator,gnPPretV) + Thisform.clb_pretftva.tx_SUMA_NAT.Refresh() + Endcase + poArticol.tva = Round(poArticol.pretftva * (poArticol.proc_tvav - 1),gnPPretV) + poArticol.pretctva = poArticol.pretftva + poArticol.tva + + Thisform.clb_pretctva.Refresh() + Else + Do Case + Case tnTip = 1 + poArticol.pretctva = tnValoare + Case tnTip = 2 + poArticol.pretctva_val = tnValoare + poArticol.pretftva_val = Round(poArticol.pretctva_val / poArticol.proc_tvav, gnPVal) + poArticol.tva_val = poArticol.pretctva_val - poArticol.pretftva_val + poArticol.pretctva = Round(poArticol.pretctva_val * poArticol.Curs / poArticol.multiplicator , gnPPretV) + Endcase + poArticol.pretftva = Round(poArticol.pretctva / poArticol.proc_tvav, gnPPretV) + poArticol.tva = poArticol.pretctva - poArticol.pretftva + Thisform.clb_pretftva.Refresh() + Endif + Thisform.clb_tva.Refresh() + + ENDPROC + + PROCEDURE inainte_de_do_termin + Local plReturn + lccontrol = Upper(This.ActiveControl.BaseClass ) + If Inlist(lccontrol,"TEXTBOX","EDITBOX","COMBOBOX") + lcval=This.ActiveControl.ControlSource + &lcval=Thisform.ActiveControl.Value + Endif + + Do Case + Case poArticol.tip_valuta=0 And poArticol.preturi_cu_tva = 0 and poArticol.pretftva <= 0 + amessagebox("Rata trebuie sa fie mai mare decat 0!",0+48,"Atentie") + Thisform.clb_pretftva.tx_suma_nat.SetFocus() + plReturn = .F. + Case poArticol.tip_valuta=1 And poArticol.preturi_cu_tva = 0 And poArticol.pretftva_val <= 0 + amessagebox("Rata trebuie sa fie mai mare decat 0!",0+48,"Atentie") + Thisform.clb_pretftva.tx_suma_val.SetFocus() + plReturn = .F. + Case poArticol.tip_valuta=0 And poArticol.preturi_cu_tva = 1 And poArticol.pretctva <= 0 + amessagebox("Rata trebuie sa fie mai mare decat 0!",0+48,"Atentie") + Thisform.clb_pretctva.tx_suma_nat.SetFocus() + plReturn = .F. + Case poArticol.tip_valuta=1 And poArticol.preturi_cu_tva = 1 And poArticol.pretctva_val <= 0 + amessagebox("Rata trebuie sa fie mai mare decat 0!",0+48,"Atentie") + Thisform.clb_pretctva.tx_suma_val.SetFocus() + plReturn = .F. + Case poArticol.tip_valuta=0 And poArticol.preturi_cu_tva = 0 and poArticol.pretftva > thisform.npretmax + amessagebox("Rata nu poate fi mai mare decat "+Alltrim(Str(Thisform.npretmax,14,gnPPretV))+" !",0+48,"Atentie") + Thisform.clb_pretftva.tx_suma_nat.SetFocus() + plReturn = .F. + Case poArticol.tip_valuta=1 And poArticol.preturi_cu_tva = 0 And poArticol.pretftva_val > thisform.npretmax + amessagebox("Rata nu poate fi mai mare decat "+Alltrim(Str(Thisform.npretmax,14,gnPVal))+" !",0+48,"Atentie") + Thisform.clb_pretftva.tx_suma_val.SetFocus() + plReturn = .F. + Case poArticol.tip_valuta=0 And poArticol.preturi_cu_tva = 1 And poArticol.pretctva > thisform.npretmax + amessagebox("Rata nu poate fi mai mare decat "+Alltrim(Str(Thisform.npretmax,14,gnPPretV))+" !",0+48,"Atentie") + Thisform.clb_pretctva.tx_suma_nat.SetFocus() + plReturn = .F. + Case poArticol.tip_valuta=1 And poArticol.preturi_cu_tva = 1 And poArticol.pretctva_val > thisform.npretmax + amessagebox("Rata nu poate fi mai mare decat "+Alltrim(Str(Thisform.npretmax,14,gnPVal))+" !",0+48,"Atentie") + Thisform.clb_pretctva.tx_suma_val.SetFocus() + plReturn = .F. + Otherwise + plReturn = .T. + Endcase + + Return plReturn + + ENDPROC + + PROCEDURE Init + Lparameters tnCantitate + If poArticol.preturi_cu_tva = 0 + If poArticol.tip_valuta = 0 + Thisform.npretmax = poArticol.pretftva + Else + Thisform.npretmax = poArticol.pretftva_val + Endif + Else + If poArticol.tip_valuta = 0 + Thisform.npretmax = poArticol.pretctva + Else + Thisform.npretmax = poArticol.pretctva_val + Endif + Endif + + DoDefault() + + If poArticol.tip_valuta = 0 + poArticol.nume_val = [] + lnTip = 1 + Else + lnTip = 2 + Endif + + Thisform.clb_pretftva.do_actualizeaza_lbval(poArticol.nume_val) + Thisform.clb_pretctva.do_actualizeaza_lbval(poArticol.nume_val) + Thisform.clb_tva.do_actualizeaza_lbval(poArticol.nume_val) + + If poArticol.preturi_cu_tva = 0 + Thisform.clb_pretftva.do_activeaza(lnTip) + Else + Thisform.clb_pretctva.do_activeaza(lnTip) + Endif + + Select jtva_coloane + Set Filter To cota_tva = poArticol.proc_tvav * 100 - 100 + If poArticol.proc_tvav * 100 - 100 = 0 + Locate For id_jtva_coloana = 8 + If !Found() + Go Top + Endif + Else + Go Top + Endif + Thisform.cb_explicatie_Tva._cbbase1.Value = denumire + poArticol.id_jtva_coloana = id_jtva_coloana + + IF m.gl406 + This.cb_explicatie_saft.Visible = .T. + Thisform.UpdateExplicatieSAFT() + ENDIF + + *!* modificare v 2.0.67 + Thisform.clb_data_scadenta.teXT_SIMPLU1.Value = Iif(Type('poArticol.data_scadenta')='T',Ttod(poArticol.data_scadenta),poArticol.data_scadenta) + Thisform.clb_data_scadenta.Refresh() + *!* modificare v 2.0.67 ^ + + ENDPROC + + PROCEDURE updateexplicatiesaft + * Daca nu este activata SAFT 406 nu fac nimic + Local lcSelect, ldDataAct, llFurnizorRTVAI, lnIdJtva + IF !m.gl406 + RETURN + ENDIF + + lcSelect = SELECT() + This.cb_explicatie_saft._cbbase1.Requery() + + ldDataAct = poDate.dataact + lnIdJtva = poArticol.id_jtva_coloana + llFurnizorRTVAI = .F. + + poArticol.taxcode = GetTaxCode(m.gnAn, m.gnLuna, m.ldDataAct, m.lnIdJtva, m.llFurnizorRTVAI) + this.cb_explicatie_saft._cbbase1.Refresh() + SELECT (m.lcSelect) + ENDPROC + + PROCEDURE Cb_explicatie_Tva._cbbase1.InteractiveChange + Select jtva_coloane + poArticol.id_jtva_coloana = id_jtva_coloana + ENDPROC + + PROCEDURE Clb_pretctva.tx_suma_nat.InteractiveChange + thisform.do_calculeaza_rata(this.Value,1) + ENDPROC + + PROCEDURE Clb_pretctva.tx_suma_val.InteractiveChange + Thisform.do_calculeaza_rata(This.Value,2) + ENDPROC + + PROCEDURE Clb_pretftva.tx_suma_nat.InteractiveChange + Thisform.do_calculeaza_rata(this.Value,1) + ENDPROC + + PROCEDURE Clb_pretftva.tx_suma_val.InteractiveChange + Thisform.do_calculeaza_rata(this.Value,2) + ENDPROC + +ENDDEFINE + +DEFINE CLASS frm_articol_gest_factura AS frm_articol_factura OF "ofacturare.vcx" + *< CLASSDATA: Baseclass="form" Timestamp="" Scale="Pixels" Uniqueid="" /> + + *-- OBJECTDATA items order determines ZOrder / El orden de los items OBJECTDATA determina el ZOrder + *< OBJECTDATA: ObjPath="Lb_gestiuni" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="Cb_tx_articol" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="Lb_simplu1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="grd_gestiuni" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="grd_gestiuni.cGestiune.Header1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="grd_gestiuni.cGestiune.Text1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="grd_gestiuni.cCantitate.Header1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="grd_gestiuni.cCantitate.Text1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="grd_gestiuni.cCont.Header1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="grd_gestiuni.cCont.Text1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="grd_gestiuni.cSerie.Header1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="grd_gestiuni.cSerie.Text1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="grd_gestiuni.cPret.Header1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="grd_gestiuni.cPret.Text1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="grd_gestiuni.cPretv.Header1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="grd_gestiuni.cPretv.Text1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="grd_gestiuni.cClientRez.Header1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="grd_gestiuni.cClientRez.Text1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="grd_gestiuni.cNrord_rez.Header1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="grd_gestiuni.cNrord_rez.Text1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="grd_gestiuni.cPretvctva.Header1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="grd_gestiuni.cPretvctva.Text1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="grd_gestiuni.cDataIn.Header1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="grd_gestiuni.cDataIn.Text1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="grd_gestiuni.cPretd.Header1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="grd_gestiuni.cPretd.Text1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="grd_gestiuni.cNume_val.Header1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="grd_gestiuni.cNume_val.Text1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="grd_gestiuni.cLot.Header1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="grd_gestiuni.cLot.Text1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="Gridextra1" UniqueID="" Timestamp="" /> + + * + *p: lretur && Articolul este returnat pe factura de vanzare normala, nu pe factura de retur + * + + * + cgridsortlist = grd_gestiuni + DoCreate = .T. + Height = 510 + lretur = .F. + Name = "frm_articol_gest_factura" + Width = 835 + _memberdata = + + + Clb_procent_adaos.Lb_simplu1.Name = "Lb_simplu1" + Clb_procent_adaos.Left = 338 + Clb_procent_adaos.Name = "Clb_procent_adaos" + Clb_procent_adaos.TabIndex = 8 + Clb_procent_adaos.Text_simplu1.Left = 141 + Clb_procent_adaos.Text_simplu1.Name = "Text_simplu1" + Clb_procent_adaos.Text_simplu1.Width = 164 + Clb_procent_adaos.Top = 101 + Clb_procent_adaos.Width = 420 + _shape1.Height = 29 + _shape1.Left = 0 + _shape1.Name = "_shape1" + _shape1.Top = 0 + _shape1.Width = 835 + _shape2.Left = 766 + _shape2.Name = "_shape2" + _shape2.Top = 0 + Lb_titlu_alb_b121.Name = "Lb_titlu_alb_b121" + Lb_titlu_alb_b121.TabIndex = 23 + Gridsort1.Left = 9 + Gridsort1.Name = "Gridsort1" + Gridsort1.Top = 29 + BUT_TERMIN1.Left = 805 + BUT_TERMIN1.Name = "BUT_TERMIN1" + BUT_TERMIN1.TabIndex = 20 + BUT_TERMIN1.Top = 1 + But_renunt1.Left = 772 + But_renunt1.Name = "But_renunt1" + But_renunt1.TabIndex = 21 + But_renunt1.Top = 1 + clb_articol.Height = 58 + clb_articol.Lb_simplu1.Name = "Lb_simplu1" + clb_articol.Left = 13 + clb_articol.Name = "clb_articol" + clb_articol.TabIndex = 2 + clb_articol.Text_simplu1.Height = 53 + clb_articol.Text_simplu1.Left = 79 + clb_articol.Text_simplu1.Name = "Text_simplu1" + clb_articol.Text_simplu1.Top = 3 + clb_articol.Text_simplu1.Width = 216 + clb_articol.Top = 71 + clb_articol.Width = 299 + clb_codmat.Height = 29 + clb_codmat.Lb_simplu1.Name = "Lb_simplu1" + clb_codmat.Left = 13 + clb_codmat.Name = "clb_codmat" + clb_codmat.TabIndex = 1 + clb_codmat.Text_simplu1.Height = 23 + clb_codmat.Text_simplu1.Left = 78 + clb_codmat.Text_simplu1.Name = "Text_simplu1" + clb_codmat.Text_simplu1.Top = 3 + clb_codmat.Text_simplu1.Width = 216 + clb_codmat.Top = 43 + clb_codmat.Width = 299 + clb_um.Height = 29 + clb_um.Lb_simplu1.Name = "Lb_simplu1" + clb_um.Left = 13 + clb_um.Name = "clb_um" + clb_um.TabIndex = 3 + clb_um.Text_simplu1.Height = 23 + clb_um.Text_simplu1.Left = 133 + clb_um.Text_simplu1.Name = "Text_simplu1" + clb_um.Text_simplu1.Top = 3 + clb_um.Text_simplu1.Width = 162 + clb_um.Top = 128 + clb_um.Width = 299 + clb_cantitate.Height = 29 + clb_cantitate.lb_explicatii.Left = 120 + clb_cantitate.lb_explicatii.Name = "lb_explicatii" + clb_cantitate.lb_explicatii.Top = 5 + clb_cantitate.Lb_simplu1.Left = 4 + clb_cantitate.Lb_simplu1.Name = "Lb_simplu1" + clb_cantitate.Lb_simplu1.Top = 6 + clb_cantitate.Left = 338 + clb_cantitate.Name = "clb_cantitate" + clb_cantitate.TabIndex = 7 + clb_cantitate.Text_simplu1.Height = 23 + clb_cantitate.Text_simplu1.Left = 141 + clb_cantitate.Text_simplu1.Name = "Text_simplu1" + clb_cantitate.Text_simplu1.Top = 3 + clb_cantitate.Text_simplu1.Width = 164 + clb_cantitate.Top = 73 + clb_cantitate.Width = 420 + Clb_procent_discount.Anchor = 1 + Clb_procent_discount.Lb_simplu1.Name = "Lb_simplu1" + Clb_procent_discount.Left = 338 + Clb_procent_discount.Name = "Clb_procent_discount" + Clb_procent_discount.TabIndex = 14 + Clb_procent_discount.Text_simplu1.Left = 141 + Clb_procent_discount.Text_simplu1.Name = "Text_simplu1" + Clb_procent_discount.Top = 293 + Clb_pretftva.Anchor = 1 + Clb_pretftva.lb_explicatie.Name = "lb_explicatie" + Clb_pretftva.lb_explicatii.Name = "lb_explicatii" + Clb_pretftva.lb_nume_nat.Name = "lb_nume_nat" + Clb_pretftva.lb_nume_val.Name = "lb_nume_val" + Clb_pretftva.Left = 338 + Clb_pretftva.Name = "Clb_pretftva" + Clb_pretftva.TabIndex = 9 + Clb_pretftva.Top = 129 + Clb_pretftva.tx_suma_nat.Name = "tx_suma_nat" + Clb_pretftva.tx_suma_val.Name = "tx_suma_val" + Clb_pretftva.Width = 491 + Clb_tva.Anchor = 1 + Clb_tva.lb_explicatie.Name = "lb_explicatie" + Clb_tva.lb_explicatii.Name = "lb_explicatii" + Clb_tva.lb_nume_nat.Name = "lb_nume_nat" + Clb_tva.lb_nume_val.Name = "lb_nume_val" + Clb_tva.Left = 338 + Clb_tva.Name = "Clb_tva" + Clb_tva.TabIndex = 10 + Clb_tva.Top = 156 + Clb_tva.tx_suma_nat.Name = "tx_suma_nat" + Clb_tva.tx_suma_val.Name = "tx_suma_val" + Clb_tva.Width = 491 + Clb_pretctva.Anchor = 1 + Clb_pretctva.lb_explicatie.Name = "lb_explicatie" + Clb_pretctva.lb_explicatii.Name = "lb_explicatii" + Clb_pretctva.lb_nume_nat.Name = "lb_nume_nat" + Clb_pretctva.lb_nume_val.Name = "lb_nume_val" + Clb_pretctva.Left = 338 + Clb_pretctva.Name = "Clb_pretctva" + Clb_pretctva.TabIndex = 12 + Clb_pretctva.Top = 239 + Clb_pretctva.tx_suma_nat.Name = "tx_suma_nat" + Clb_pretctva.tx_suma_val.Name = "tx_suma_val" + Clb_discount_unitar.Anchor = 1 + Clb_discount_unitar.lb_explicatie.Name = "lb_explicatie" + Clb_discount_unitar.lb_explicatii.Name = "lb_explicatii" + Clb_discount_unitar.lb_nume_nat.Name = "lb_nume_nat" + Clb_discount_unitar.lb_nume_val.Name = "lb_nume_val" + Clb_discount_unitar.Left = 338 + Clb_discount_unitar.Name = "Clb_discount_unitar" + Clb_discount_unitar.TabIndex = 15 + Clb_discount_unitar.Top = 321 + Clb_discount_unitar.tx_suma_nat.Name = "tx_suma_nat" + Clb_discount_unitar.tx_suma_val.Name = "tx_suma_val" + Clb_tva_discount.Anchor = 1 + Clb_tva_discount.lb_explicatie.Name = "lb_explicatie" + Clb_tva_discount.lb_explicatii.Name = "lb_explicatii" + Clb_tva_discount.lb_nume_nat.Name = "lb_nume_nat" + Clb_tva_discount.lb_nume_val.Name = "lb_nume_val" + Clb_tva_discount.Left = 338 + Clb_tva_discount.Name = "Clb_tva_discount" + Clb_tva_discount.TabIndex = 16 + Clb_tva_discount.Top = 348 + Clb_tva_discount.tx_suma_nat.Name = "tx_suma_nat" + Clb_tva_discount.tx_suma_val.Name = "tx_suma_val" + Clb_discountctva.Anchor = 1 + Clb_discountctva.lb_explicatie.Name = "lb_explicatie" + Clb_discountctva.lb_explicatii.Name = "lb_explicatii" + Clb_discountctva.lb_nume_nat.Name = "lb_nume_nat" + Clb_discountctva.lb_nume_val.Name = "lb_nume_val" + Clb_discountctva.Left = 338 + Clb_discountctva.Name = "Clb_discountctva" + Clb_discountctva.TabIndex = 17 + Clb_discountctva.Top = 375 + Clb_discountctva.tx_suma_nat.Name = "tx_suma_nat" + Clb_discountctva.tx_suma_val.Name = "tx_suma_val" + Clb_totalfdiscount.Anchor = 1 + Clb_totalfdiscount.lb_explicatie.Name = "lb_explicatie" + Clb_totalfdiscount.lb_explicatii.Name = "lb_explicatii" + Clb_totalfdiscount.lb_nume_nat.Name = "lb_nume_nat" + Clb_totalfdiscount.lb_nume_val.Name = "lb_nume_val" + Clb_totalfdiscount.Left = 338 + Clb_totalfdiscount.Name = "Clb_totalfdiscount" + Clb_totalfdiscount.TabIndex = 13 + Clb_totalfdiscount.Top = 266 + Clb_totalfdiscount.tx_suma_nat.Name = "tx_suma_nat" + Clb_totalfdiscount.tx_suma_val.Name = "tx_suma_val" + Clb_totalcdiscount.Anchor = 1 + Clb_totalcdiscount.lb_explicatie.Name = "lb_explicatie" + Clb_totalcdiscount.lb_explicatii.Name = "lb_explicatii" + Clb_totalcdiscount.lb_nume_nat.Left = 444 + Clb_totalcdiscount.lb_nume_nat.Name = "lb_nume_nat" + Clb_totalcdiscount.lb_nume_nat.Top = 27 + Clb_totalcdiscount.lb_nume_val.Name = "lb_nume_val" + Clb_totalcdiscount.Left = 338 + Clb_totalcdiscount.Name = "Clb_totalcdiscount" + Clb_totalcdiscount.TabIndex = 19 + Clb_totalcdiscount.Top = 451 + Clb_totalcdiscount.tx_suma_nat.Name = "tx_suma_nat" + Clb_totalcdiscount.tx_suma_val.Name = "tx_suma_val" + Clb_totalcdiscount.Width = 491 + Clb_pret_diminuat.Anchor = 1 + Clb_pret_diminuat.lb_explicatie.Name = "lb_explicatie" + Clb_pret_diminuat.lb_explicatii.Name = "lb_explicatii" + Clb_pret_diminuat.lb_nume_nat.Left = 447 + Clb_pret_diminuat.lb_nume_nat.Name = "lb_nume_nat" + Clb_pret_diminuat.lb_nume_nat.Top = 27 + Clb_pret_diminuat.lb_nume_val.Name = "lb_nume_val" + Clb_pret_diminuat.Left = 338 + Clb_pret_diminuat.Name = "Clb_pret_diminuat" + Clb_pret_diminuat.TabIndex = 18 + Clb_pret_diminuat.Top = 402 + Clb_pret_diminuat.tx_suma_nat.Name = "tx_suma_nat" + Clb_pret_diminuat.tx_suma_val.Name = "tx_suma_val" + Clb_pret_diminuat.Width = 491 + cb_explicatie_saft.Left = 338 + cb_explicatie_saft.Name = "cb_explicatie_saft" + cb_explicatie_saft.Top = 211 + cb_explicatie_saft._cbbase1.Name = "_cbbase1" + cb_explicatie_saft._lbbase1.Name = "_lbbase1" + Cb_explicatie_Tva.Anchor = 1 + Cb_explicatie_Tva.Left = 338 + Cb_explicatie_Tva.Name = "Cb_explicatie_Tva" + Cb_explicatie_Tva.TabIndex = 11 + Cb_explicatie_Tva.Top = 183 + Cb_explicatie_Tva._cbbase1.Name = "_cbbase1" + Cb_explicatie_Tva._lbbase1.Name = "_lbbase1" + Clb_serie.Anchor = 1 + Clb_serie.Lb_simplu1.Name = "Lb_simplu1" + Clb_serie.Left = 336 + Clb_serie.Name = "Clb_serie" + Clb_serie.TabIndex = 22 + Clb_serie.Text_simplu1.Height = 23 + Clb_serie.Text_simplu1.Left = 141 + Clb_serie.Text_simplu1.Name = "Text_simplu1" + Clb_serie.Text_simplu1.Top = 3 + Clb_serie.Text_simplu1.Width = 272 + Clb_serie.Top = 552 + Clb_serie.Visible = .F. + Clb_serie.Width = 420 + Ed_tx_explicatie.Height = 110 + Ed_tx_explicatie.Left = 13 + Ed_tx_explicatie.Name = "Ed_tx_explicatie" + Ed_tx_explicatie.TabIndex = 4 + Ed_tx_explicatie.Top = 156 + Ed_tx_explicatie.Width = 299 + Ed_tx_explicatie._EDBASE1.Height = 106 + Ed_tx_explicatie._EDBASE1.Left = 69 + Ed_tx_explicatie._EDBASE1.Name = "_EDBASE1" + Ed_tx_explicatie._EDBASE1.Top = 2 + Ed_tx_explicatie._EDBASE1.Width = 227 + Ed_tx_explicatie._lbbase1.Name = "_lbbase1" + Cb_contract.Left = 338 + Cb_contract.Name = "Cb_contract" + Cb_contract.Top = 45 + Cb_contract.Width = 420 + Cb_contract._cbbase1.Height = 23 + Cb_contract._cbbase1.Left = 141 + Cb_contract._cbbase1.Name = "_cbbase1" + Cb_contract._cbbase1.Top = 3 + Cb_contract._cbbase1.Width = 274 + Cb_contract._lbbase1.Name = "_lbbase1" + * + + ADD OBJECT 'Cb_tx_articol' AS cb_tx_cautare WITH ; + Height = 27, ; + Left = 52, ; + Name = "Cb_tx_articol", ; + TabIndex = 5, ; + Top = 287, ; + Width = 266, ; + Text.Format = "!", ; + Text.Height = 25, ; + Text.Left = 103, ; + Text.Name = "Text", ; + Text.TabIndex = 2, ; + Text.Top = 1, ; + Text.Width = 163, ; + criteriu.Name = "criteriu", ; + criteriu.TabIndex = 1 + *< END OBJECT: ClassLib="lb_tx.vcx" BaseClass="container" /> + + ADD OBJECT 'grd_gestiuni' AS _grdrow WITH ; + ColumnCount = 13, ; + DeleteMark = .F., ; + FontSize = 10, ; + HeaderHeight = 36, ; + Height = 185, ; + Left = 7, ; + Name = "grd_gestiuni", ; + Panel = 1, ; + Partition = 0, ; + RecordSource = "crsgestarticol", ; + RowHeight = 19, ; + TabIndex = 6, ; + ToolTipText = "Pentru a selecta mai multe stocuri cu serii diferite, apasati SPACE pe fiecare dintre ele.", ; + Top = 319, ; + Width = 324, ; + Column1.ControlSource = "nume_gestiune", ; + Column1.FontName = "Arial", ; + Column1.FontSize = 10, ; + Column1.Name = "cGestiune", ; + Column1.Width = 79, ; + Column2.ColumnOrder = 3, ; + Column2.ControlSource = "cantitate", ; + Column2.FontBold = .T., ; + Column2.FontName = "Arial", ; + Column2.FontSize = 10, ; + Column2.InputMask = (get_mask(14,gnPcant)), ; + Column2.Name = "cCantitate", ; + Column2.Width = 54, ; + Column3.ColumnOrder = 6, ; + Column3.ControlSource = "cont", ; + Column3.FontName = "Arial", ; + Column3.FontSize = 10, ; + Column3.Name = "cCont", ; + Column3.Width = 36, ; + Column4.ColumnOrder = 8, ; + Column4.ControlSource = "serie", ; + Column4.FontName = "Arial", ; + Column4.FontSize = 10, ; + Column4.Name = "cSerie", ; + Column5.ColumnOrder = 2, ; + Column5.ControlSource = "pret", ; + Column5.FontSize = 10, ; + Column5.InputMask = (get_mask(14,gnPPret)), ; + Column5.Name = "cPret", ; + Column5.Width = 63, ; + Column6.ColumnOrder = 4, ; + Column6.ControlSource = "pretv", ; + Column6.FontName = "Arial", ; + Column6.FontSize = 10, ; + Column6.InputMask = (get_mask(14,gnPPretV)), ; + Column6.Name = "cPretv", ; + Column6.Width = 54, ; + Column7.ColumnOrder = 12, ; + Column7.ControlSource = "part_rez", ; + Column7.FontName = "Arial", ; + Column7.FontSize = 10, ; + Column7.Name = "cClientRez", ; + Column7.Width = 86, ; + Column8.ColumnOrder = 13, ; + Column8.ControlSource = "nrord_rez", ; + Column8.FontName = "Arial", ; + Column8.FontSize = 10, ; + Column8.Name = "cNrord_rez", ; + Column9.ColumnOrder = 5, ; + Column9.ControlSource = "pretvctva", ; + Column9.FontName = "Arial", ; + Column9.FontSize = 10, ; + Column9.InputMask = (get_mask(14,gnPPretV)), ; + Column9.Name = "cPretvctva", ; + Column9.Width = 58, ; + Column10.ColumnOrder = 9, ; + Column10.ControlSource = "TTOD(datain)", ; + Column10.FontName = "Arial", ; + Column10.FontSize = 10, ; + Column10.Name = "cDataIn", ; + Column10.Width = 73, ; + Column11.ColumnOrder = 10, ; + Column11.ControlSource = "pretd", ; + Column11.FontName = "Arial", ; + Column11.FontSize = 10, ; + Column11.InputMask = (get_mask(14,gnPPretval)), ; + Column11.Name = "cPretd", ; + Column11.Width = 61, ; + Column12.ColumnOrder = 11, ; + Column12.ControlSource = "nume_val", ; + Column12.FontName = "Arial", ; + Column12.FontSize = 10, ; + Column12.Name = "cNume_val", ; + Column12.Width = 59, ; + Column13.ColumnOrder = 7, ; + Column13.ControlSource = "lot", ; + Column13.FontSize = 10, ; + Column13.Name = "cLot", ; + Column13.ReadOnly = .T., ; + Column13.Width = 91 + *< END OBJECT: ClassLib="_grd_base.vcx" BaseClass="grid" /> + + ADD OBJECT 'grd_gestiuni.cCantitate.Header1' AS header WITH ; + Alignment = 2, ; + Caption = "Cantitate", ; + FontName = "Arial", ; + FontSize = 10, ; + Name = "Header1" + *< END OBJECT: BaseClass="header" /> + + ADD OBJECT 'grd_gestiuni.cCantitate.Text1' AS textbox WITH ; + BackColor = 255,255,255, ; + BorderStyle = 0, ; + FontBold = .T., ; + FontName = "Arial", ; + FontSize = 10, ; + ForeColor = 0,0,0, ; + Margin = 0, ; + Name = "Text1", ; + SelectedBackColor = 100,185,255 + *< END OBJECT: BaseClass="textbox" /> + + ADD OBJECT 'grd_gestiuni.cClientRez.Header1' AS header WITH ; + Alignment = 2, ; + Caption = "Client rez.", ; + FontName = "Arial", ; + FontSize = 10, ; + Name = "Header1" + *< END OBJECT: BaseClass="header" /> + + ADD OBJECT 'grd_gestiuni.cClientRez.Text1' AS textbox WITH ; + BackColor = 255,255,255, ; + BorderStyle = 0, ; + FontName = "Arial", ; + FontSize = 10, ; + ForeColor = 0,0,0, ; + Margin = 0, ; + Name = "Text1", ; + SelectedBackColor = 100,185,255 + *< END OBJECT: BaseClass="textbox" /> + + ADD OBJECT 'grd_gestiuni.cCont.Header1' AS header WITH ; + Alignment = 2, ; + Caption = "Cont", ; + FontName = "Arial", ; + FontSize = 10, ; + Name = "Header1" + *< END OBJECT: BaseClass="header" /> + + ADD OBJECT 'grd_gestiuni.cCont.Text1' AS textbox WITH ; + BackColor = 255,255,255, ; + BorderStyle = 0, ; + FontName = "Arial", ; + FontSize = 10, ; + ForeColor = 0,0,0, ; + Margin = 0, ; + Name = "Text1", ; + SelectedBackColor = 100,185,255 + *< END OBJECT: BaseClass="textbox" /> + + ADD OBJECT 'grd_gestiuni.cDataIn.Header1' AS header WITH ; + Alignment = 2, ; + Caption = "Data intrarii in stoc", ; + FontName = "Arial", ; + FontSize = 10, ; + Name = "Header1", ; + WordWrap = .T. + *< END OBJECT: BaseClass="header" /> + + ADD OBJECT 'grd_gestiuni.cDataIn.Text1' AS textbox WITH ; + BackColor = 255,255,255, ; + BorderStyle = 0, ; + FontName = "Arial", ; + FontSize = 10, ; + ForeColor = 0,0,0, ; + Margin = 0, ; + Name = "Text1", ; + SelectedBackColor = 100,185,255 + *< END OBJECT: BaseClass="textbox" /> + + ADD OBJECT 'grd_gestiuni.cGestiune.Header1' AS header WITH ; + Alignment = 2, ; + Caption = "Gestiune", ; + FontName = "Arial", ; + FontSize = 10, ; + Name = "Header1" + *< END OBJECT: BaseClass="header" /> + + ADD OBJECT 'grd_gestiuni.cGestiune.Text1' AS textbox WITH ; + BackColor = 255,255,255, ; + BorderStyle = 0, ; + FontName = "Arial", ; + FontSize = 10, ; + ForeColor = 0,0,0, ; + Margin = 0, ; + Name = "Text1", ; + SelectedBackColor = 100,185,255 + *< END OBJECT: BaseClass="textbox" /> + + ADD OBJECT 'grd_gestiuni.cLot.Header1' AS header WITH ; + Alignment = 2, ; + Caption = "Lot", ; + Name = "Header1" + *< END OBJECT: BaseClass="header" /> + + ADD OBJECT 'grd_gestiuni.cLot.Text1' AS textbox WITH ; + BackColor = 255,255,255, ; + BorderStyle = 0, ; + ForeColor = 0,0,0, ; + Margin = 0, ; + Name = "Text1", ; + ReadOnly = .T., ; + SelectedBackColor = 100,185,255 + *< END OBJECT: BaseClass="textbox" /> + + ADD OBJECT 'grd_gestiuni.cNrord_rez.Header1' AS header WITH ; + Alignment = 2, ; + Caption = "Lucrare rez.", ; + FontName = "Arial", ; + FontSize = 10, ; + Name = "Header1" + *< END OBJECT: BaseClass="header" /> + + ADD OBJECT 'grd_gestiuni.cNrord_rez.Text1' AS textbox WITH ; + BackColor = 255,255,255, ; + BorderStyle = 0, ; + FontName = "Arial", ; + FontSize = 10, ; + ForeColor = 0,0,0, ; + Margin = 0, ; + Name = "Text1", ; + SelectedBackColor = 100,185,255 + *< END OBJECT: BaseClass="textbox" /> + + ADD OBJECT 'grd_gestiuni.cNume_val.Header1' AS header WITH ; + Alignment = 2, ; + Caption = "Valuta ach.", ; + FontName = "Arial", ; + FontSize = 10, ; + Name = "Header1", ; + WordWrap = .T. + *< END OBJECT: BaseClass="header" /> + + ADD OBJECT 'grd_gestiuni.cNume_val.Text1' AS textbox WITH ; + BackColor = 255,255,255, ; + BorderStyle = 0, ; + FontName = "Arial", ; + FontSize = 10, ; + ForeColor = 0,0,0, ; + Margin = 0, ; + Name = "Text1", ; + SelectedBackColor = 100,185,255 + *< END OBJECT: BaseClass="textbox" /> + + ADD OBJECT 'grd_gestiuni.cPret.Header1' AS header WITH ; + Alignment = 2, ; + Caption = "Pret achizitie", ; + FontName = "Arial", ; + FontSize = 10, ; + Name = "Header1", ; + WordWrap = .T. + *< END OBJECT: BaseClass="header" /> + + ADD OBJECT 'grd_gestiuni.cPret.Text1' AS textbox WITH ; + BackColor = 255,255,255, ; + BorderStyle = 0, ; + FontName = "Arial", ; + FontSize = 10, ; + ForeColor = 0,0,0, ; + Margin = 0, ; + Name = "Text1", ; + SelectedBackColor = 100,185,255 + *< END OBJECT: BaseClass="textbox" /> + + ADD OBJECT 'grd_gestiuni.cPretd.Header1' AS header WITH ; + Alignment = 2, ; + Caption = "Pret ach. in valuta", ; + FontName = "Arial", ; + FontSize = 10, ; + Name = "Header1", ; + WordWrap = .T. + *< END OBJECT: BaseClass="header" /> + + ADD OBJECT 'grd_gestiuni.cPretd.Text1' AS textbox WITH ; + BackColor = 255,255,255, ; + BorderStyle = 0, ; + FontName = "Arial", ; + FontSize = 10, ; + ForeColor = 0,0,0, ; + Margin = 0, ; + Name = "Text1", ; + SelectedBackColor = 100,185,255 + *< END OBJECT: BaseClass="textbox" /> + + ADD OBJECT 'grd_gestiuni.cPretv.Header1' AS header WITH ; + Alignment = 2, ; + Caption = "Pret vanz. fara TVA", ; + FontName = "Arial", ; + FontSize = 10, ; + Name = "Header1", ; + WordWrap = .T. + *< END OBJECT: BaseClass="header" /> + + ADD OBJECT 'grd_gestiuni.cPretv.Text1' AS textbox WITH ; + BackColor = 255,255,255, ; + BorderStyle = 0, ; + FontName = "Arial", ; + FontSize = 10, ; + ForeColor = 0,0,0, ; + Margin = 0, ; + Name = "Text1", ; + SelectedBackColor = 100,185,255 + *< END OBJECT: BaseClass="textbox" /> + + ADD OBJECT 'grd_gestiuni.cPretvctva.Header1' AS header WITH ; + Alignment = 2, ; + Caption = "Pret vanz. cu TVA", ; + FontName = "Arial", ; + FontSize = 10, ; + Name = "Header1", ; + WordWrap = .T. + *< END OBJECT: BaseClass="header" /> + + ADD OBJECT 'grd_gestiuni.cPretvctva.Text1' AS textbox WITH ; + BackColor = 255,255,255, ; + BorderStyle = 0, ; + FontName = "Arial", ; + FontSize = 10, ; + ForeColor = 0,0,0, ; + Margin = 0, ; + Name = "Text1", ; + SelectedBackColor = 100,185,255 + *< END OBJECT: BaseClass="textbox" /> + + ADD OBJECT 'grd_gestiuni.cSerie.Header1' AS header WITH ; + Alignment = 2, ; + Caption = "Serie", ; + FontName = "Arial", ; + FontSize = 10, ; + Name = "Header1" + *< END OBJECT: BaseClass="header" /> + + ADD OBJECT 'grd_gestiuni.cSerie.Text1' AS textbox WITH ; + BackColor = 255,255,255, ; + BorderStyle = 0, ; + FontName = "Arial", ; + FontSize = 10, ; + ForeColor = 0,0,0, ; + Margin = 0, ; + Name = "Text1", ; + SelectedBackColor = 100,185,255 + *< END OBJECT: BaseClass="textbox" /> + + ADD OBJECT 'Gridextra1' AS gridextra WITH ; + gridexpression = Thisform.grd_gestiuni, ; + Left = 336, ; + Name = "Gridextra1", ; + productname = ROA, ; + Top = 480 + *< END OBJECT: ClassLib="..\utile\gridextras\gridextras.vcx" BaseClass="custom" /> + + ADD OBJECT 'Lb_gestiuni' AS lb_simplu WITH ; + Caption = "Alegeti gestiunea din care doriti sa scoateti acest articol", ; + Left = 13, ; + Name = "Lb_gestiuni", ; + TabIndex = 24, ; + Top = 270 + *< END OBJECT: ClassLib="lb.vcx" BaseClass="label" /> + + ADD OBJECT 'Lb_simplu1' AS lb_simplu WITH ; + Caption = "Seria", ; + FontItalic = .T., ; + Left = 13, ; + Name = "Lb_simplu1", ; + TabIndex = 25, ; + Top = 292 + *< END OBJECT: ClassLib="lb.vcx" BaseClass="label" /> + + PROCEDURE do_executa + *!* modificare v 2.0.46 + Select crsgestarticol + If !Empty(Nvl(serie,[])) + lnDif = Mod(ales+1,2) + lnCantitate = cantitate + Replace ales With lnDif + If lnDif = 1 And Thisform.nselectate = 0 + poArticol.cantitate = 0 + Thisform.clb_cantitate.text_simplu1.ReadOnly = .T. + Else + If lnDif = 0 And Thisform.nselectate = 1 + Thisform.clb_cantitate.text_simplu1.ReadOnly = .F. + Endif + Endif + Thisform.nselectate = Thisform.nselectate + Iif(lnDif = 0,-1,1) + poArticol.cantitate = poArticol.cantitate + Iif(lnDif = 0,-1,1) * lnCantitate + Thisform.clb_cantitate.Refresh() + EndIf + *!* modificare v 2.0.46 ^ + ENDPROC + + PROCEDURE inainte_de_do_termin + Local plReturn + If !Thisform.larata + lccontrol = Upper(This.ActiveControl.BaseClass ) + If Inlist(lccontrol,"TEXTBOX","EDITBOX","COMBOBOX") + lcval=This.ActiveControl.ControlSource + &lcval=Thisform.ActiveControl.Value + Endif + Endif + + Select crsgestarticol + lnCantitate = cantitate + lcNumeGest = Alltrim(nume_gestiune) + + Do Case + Case Empty(poArticol.id_jtva_coloana) + amessagebox("Nu ati ales explicatia TVA!",48,"Atentie") + Thisform.cb_explicatie_Tva.SetFocus() + plReturn = .F. + *!* v 2.0.15 - se pot factura articole cu pret 0 + *!* Case poArticol.preturi_cu_tva = 0 And poArticol.tip_valuta = 0 And poArticol.pretftva = 0 + *!* amessagebox("Pretul fara TVA nu poate fi 0!",48,"Atentie") + *!* Thisform.clb_pretftva.tx_suma_nat.SetFocus() + *!* plReturn = .F. + *!* Case poArticol.preturi_cu_tva = 0 And poArticol.tip_valuta = 1 And poArticol.pretftva_val = 0 + *!* amessagebox("Pretul fara TVA nu poate fi 0!",48,"Atentie") + *!* Thisform.clb_pretftva.tx_suma_val.SetFocus() + *!* plReturn = .F. + *!* Case poArticol.preturi_cu_tva = 0 And poArticol.tip_valuta = 0 And poArticol.pretctva = 0 + *!* amessagebox("Pretul cu TVA nu poate fi 0!",48,"Atentie") + *!* Thisform.clb_pretctva.tx_suma_nat.SetFocus() + *!* plReturn = .F. + *!* Case poArticol.preturi_cu_tva = 0 And poArticol.tip_valuta = 1 And poArticol.pretctva_val = 0 + *!* amessagebox("Pretul cu TVA nu poate fi 0!",48,"Atentie") + *!* Thisform.clb_pretctva.tx_suma_val.SetFocus() + *!* plReturn = .F. + *!* v 2.0.15 ^ + Case poArticol.cantitate=0 + amessagebox("Cantitatea nu poate fi 0!",0+48,"Atentie") + Thisform.clb_cantitate.SetFocus() + plReturn = .F. + *!* modificare v 2.0.56 + *!* modificare v 2.0.46 + *!* *!* modificare v 2.0.40 + *!* *!* Case poArticol.cantitate>lnCantitate + *!* Case poArticol.cantitate>lnCantitate And poDate.tip <> 41 + *!* *!* modificare v 2.0.40 ^ + *!* Case poArticol.cantitate>lnCantitate And Thisform.nselectate = 0 And poDate.tip <> 41 + *!* modificare v 2.0.46 ^ + Case poArticol.cantitate>lnCantitate And Thisform.nselectate = 0 And !(InList(poDate.tip,8,9,41) OR this.lRetur) + *!* modificare v 2.0.56 ^ + amessagebox("Cantitatea nu poate fi mai mare decat stocul gestiunii "+lcNumeGest+" !",0+48,"Atentie") + Thisform.clb_cantitate.SetFocus() + plReturn = .F. + *!* modificare v 2.0.40 + Case Abs(poArticol.cantitate)>Abs(lnCantitate) And poDate.tip = 41 + amessagebox("Cantitatea returnata nu poate fi mai mare decat stocul gestiunii "+lcNumeGest+" !",0+48,"Atentie") + Thisform.clb_cantitate.SetFocus() + plReturn = .F. + *!* modificare v 2.0.40 ^ + Case Abs(poArticol.cantitate)>Thisform.ncantitatemax And Inlist(poDate.tip,4,21,23,28,42,47) && am scos tipul 3 + && modificare v 2.0.93 : am adaugat 47 + amessagebox("Cantitatea nu poate fi mai mare decat "+Alltrim(Str(Thisform.ncantitatemax))+" !",48,"Atentie") + Thisform.clb_cantitate.SetFocus() + plReturn = .F. + *!* v 2.0.15 - se poate factura doar discount + *!* Case poArticol.tip_valuta=0 And poArticol.preturi_cu_tva = 0 And poArticol.discount_unitar>poArticol.pretftva + *!* aMessagebox("Discountul nu poate fi mai mare decat pretul!",0+48,"Atentie") + *!* Thisform.clb_discount_unitar.tx_suma_nat.SetFocus() + *!* plReturn = .F. + *!* Case poArticol.tip_valuta=1 And poArticol.preturi_cu_tva = 0 And poArticol.discount_unitar_val > poArticol.pretftva_val + *!* aMessagebox("Discountul nu poate fi mai mare decat pretul!",0+48,"Atentie") + *!* Thisform.clb_discount_unitar.tx_suma_val.SetFocus() + *!* plReturn = .F. + *!* Case poArticol.tip_valuta=0 And poArticol.preturi_cu_tva = 1 And poArticol.discount_unitar_ctva >poArticol.pretctva + *!* aMessagebox("Discountul nu poate fi mai mare decat pretul!",0+48,"Atentie") + *!* Thisform.clb_discountctva.tx_suma_nat.SetFocus() + *!* plReturn = .F. + *!* Case poArticol.tip_valuta=1 And poArticol.preturi_cu_tva = 1 And poArticol.discount_unitar_ctva_val>poArticol.pretctva_val + *!* aMessagebox("Discountul nu poate fi mai mare decat pretul!",0+48,"Atentie") + *!* Thisform.clb_discountctva.tx_suma_val.SetFocus() + *!* plReturn = .F. + *!* v 2.0.15 + *!* modificare v 2.0.56 + Case poArticol.cantitate > 0 and (InList(poDate.tip,8,9) OR this.lRetur) && retururi + amessagebox("Cantitatea trebuie sa fie negativa!",48,"Atentie") + thisform.clb_cantitate.SetFocus() + plReturn = .F. + Case Abs(poArticol.cantitate)>Abs(lnCantitate) and (InList(poDate.tip,8,9) OR this.lRetur) + amessagebox("Cantitatea returnata nu poate fi mai mare decat cea facturata initial din gestiunea "+lcNumeGest+" !",0+48,"Atentie") + Thisform.clb_cantitate.SetFocus() + plReturn = .F. + *!* modificare v 2.0.56 ^ + Otherwise + *!* modificare v 2.0.44 + Do Case + Case poArticol.preturi_cu_tva = 0 And poArticol.tip_valuta = 0 And poArticol.pretftva = 0 + If amessagebox("Pretul fara TVA este 0. Doriti sa continuati?",4+32,"Atentie") = 7 + Thisform.clb_pretftva.tx_suma_nat.SetFocus() + plReturn = .F. + Else + plReturn = .T. + Endif + Case poArticol.preturi_cu_tva = 0 And poArticol.tip_valuta = 1 And poArticol.pretftva_val = 0 + If amessagebox("Pretul fara TVA este 0. Doriti sa continuati?",4+32,"Atentie") = 7 + Thisform.clb_pretftva.tx_suma_val.SetFocus() + plReturn = .F. + Else + plReturn = .T. + Endif + Case poArticol.preturi_cu_tva = 1 And poArticol.tip_valuta = 0 And poArticol.pretctva = 0 + If amessagebox("Pretul cu TVA este 0. Doriti sa continuati?",4+32,"Atentie") = 7 + Thisform.clb_pretctva.tx_suma_nat.SetFocus() + plReturn = .F. + Else + plReturn = .T. + Endif + Case poArticol.preturi_cu_tva = 1 And poArticol.tip_valuta = 1 And poArticol.pretctva_val = 0 + If amessagebox("Pretul cu TVA este 0. Doriti sa continuati?",4+32,"Atentie") = 7 + Thisform.clb_pretctva.tx_suma_val.SetFocus() + plReturn = .F. + Else + plReturn = .T. + Endif + Otherwise + plReturn = .T. + Endcase + *!* plReturn = .T. + *!* modificare v 2.0.44 ^ + *!* modificare v 2.0.67 + If Nvl(gnMemProcDisc,0) = 1 And plReturn + pnProcentDiscountMem = INT(Thisform.clb_procent_discount.text_simplu1.Value) + Endif + *!* modificare v 2.0.67 ^ + Endcase + + If Thisform.larata And !plReturn + Thisform.larata = !Thisform.larata + Endif + Return plReturn + + ENDPROC + + PROCEDURE Init + Lparameters tnCantitate, tlAscunde, tlRetur + this.lRetur = tlRetur + DoDefault(tnCantitate,tlAscunde) + With This.grd_gestiuni + *!* modificare v 2.0.46 + lcSetAll = "IIF(ales=0,"+; + Iif(.nRgbrow = 1,; + "Iif(Recno() = this.nRecno,Rgb("+.cRGB_Row+"),Rgb("+.cRGB_Grid+"))",; + "Rgb(255,255,255)")+; + ",Rgb(157,206,255))" + .SetAll("DynamicBackColor",lcSetAll,"Column") + *!* modificare v 2.0.46 ^ + .nRecno = 1 + .Refresh + Endwith + If !Thisform.larata + Thisform.grd_gestiuni.SetFocus() + ENDIF + this.gridextra1.setup() + ENDPROC + + PROCEDURE KeyPress + Lparameters nKeyCode, nShiftAltCtrl + lcControl = Upper(Alltrim(Thisform.ActiveControl.Name)) + If Inlist(nKeyCode,9,13) And lcControl = 'GRD_GESTIUNI' + Nodefault + *!* If Iif(Type('poArticol.modificabil')<>'U',poArticol.modificabil,0) = 1 + *!* Do Case + *!* Case Type('thisform.clb_procent_adaos')<>'U' + *!* This.clb_procent_adaos.SetFocus() + *!* Case poArticol.preturi_cu_tva = 0 + *!* This.clb_pretftva.SetFocus() + *!* Otherwise + *!* This.clb_pretctva.SetFocus() + *!* Endcase + *!* Else + *!* This.clb_procent_discount.SetFocus() + *!* Endif + This.clb_cantitate.SetFocus() + Else + DoDefault(nKeyCode,nShiftAltCtrl) + Endif + + ENDPROC + + PROCEDURE Cb_tx_articol.Init + This.do_initializeaza_ct() + + ENDPROC + + PROCEDURE Cb_tx_articol.Text.KeyPress + Lparameters nKeyCode, nShiftAltCtrl + If Inlist(nKeyCode,9,13) And nShiftAltCtrl = 0 + Nodefault + With This.Parent + lcFiltru = [] + lcValoare = Strtran(Strtran(Alltrim(Upper(.Text.Value)),['],['']),[%],[*]) + Do Case + Case .criteriu.Value = "1" And !Empty(lcValoare) + lcFiltru = [ LIKE('] + lcValoare + [*',NVL(serie,''))] + Case .criteriu.Value = "2" And !Empty(lcValoare) + lcFiltru = [ NVL(serie,'') = '] + lcValoare + ['] + Case .criteriu.Value = "3" And !Empty(lcValoare) + lcFiltru = [ NVL(serie,'') != '] + lcValoare + ['] + Case .criteriu.Value = "4" And !Empty(lcValoare) + lcFiltru = [ LIKE('*] + lcValoare + [*',NVL(serie,''))] + Case .criteriu.Value = "5" And !Empty(lcValoare) + lcFiltru = [ !LIKE('*] + lcValoare + [*',NVL(serie,''))] + Case .criteriu.Value = "6" Or Empty(lcValoare) + lcFiltru = [] + Endcase + Endwith + Select crsgestarticol + Set Filter To &lcFiltru + Go Top + Thisform.grd_gestiuni.SetFocus() + Else + DoDefault(nKeyCode,nShiftAltCtrl) + Endif + + ENDPROC + + PROCEDURE grd_gestiuni.AfterRowColChange + *!* 24.02.2015 + *!* marius.mutu + *!* se completeaza preturile pentru un articol retur, din selectia din rulaj, in loc de lista de preturi + + Lparameters nColIndex + DoDefault(nColIndex) + If This.RowColChange <> 2 + Select crsgestarticol + poArticol.pret_achizitie = Pret + poArticol.lot = Nvl(lot,[]) + poArticol.serie = Nvl(serie,[]) + poArticol.id_gestiune = id_gestiune + poArticol.Cont = Alltrim(Cont) + + poArticol.id_lucrare_rez = id_lucrare_rez + poArticol.id_part_rez = id_part_rez + poArticol.pretv_orig = pretv + + poArticol.id_valuta_d = Nvl(id_valuta,0) && modificare v 2.0.84 : am pus 0 in loc de -99 + poArticol.pretd = pretd + + * cantitate,Cont,serie,Pret,nume_gestiune,datain,pretv,pretvctva,part_rez,id_part_rez,nrord_rez,id_lucrare_rez,pretd,id_valuta,nume_val + * daca articolul se returneaza in cadrul unei facturi de vanzare normale (nu factura de retur tip=8,9) + * completez pretul din stoc, in loc de lista de preturi la intrarea in formular + If Thisform.lRetur + poArticol.pretftva = pretv + poArticol.tva = Iif(Isnull(poArticol.proc_tvav),0,Round(poArticol.pretftva * (poArticol.proc_tvav - 1),gnPPretV)) + + poArticol.pretctva= poArticol.pretftva + poArticol.tva + poArticol.pretftva_val = pretd + poArticol.tva_val = Iif(Isnull(poArticol.proc_tvav),0,Round(poArticol.pretftva_val * (poArticol.proc_tvav - 1),gnPVal)) + poArticol.pretctva_val = poArticol.pretftva_val + poArticol.tva_val + + poArticol.cantitate = (-1) * cantitate + Endif + Endif + + + ENDPROC + + PROCEDURE grd_gestiuni.cCantitate.Text1.KeyPress + Lparameters nKeyCode, nShiftAltCtrl + If nKeyCode = 32 And nShiftAltCtrl = 0 + Nodefault + Thisform.do_executa() + Else + DoDefault(nKeyCode,nShiftAltCtrl) + Endif + ENDPROC + + PROCEDURE grd_gestiuni.cClientRez.Text1.KeyPress + Lparameters nKeyCode, nShiftAltCtrl + If nKeyCode = 32 And nShiftAltCtrl = 0 + Nodefault + Thisform.do_executa() + Else + DoDefault(nKeyCode,nShiftAltCtrl) + Endif + ENDPROC + + PROCEDURE grd_gestiuni.cCont.Text1.KeyPress + Lparameters nKeyCode, nShiftAltCtrl + If nKeyCode = 32 And nShiftAltCtrl = 0 + Nodefault + Thisform.do_executa() + Else + DoDefault(nKeyCode,nShiftAltCtrl) + Endif + ENDPROC + + PROCEDURE grd_gestiuni.cDataIn.Text1.KeyPress + Lparameters nKeyCode, nShiftAltCtrl + If nKeyCode = 32 And nShiftAltCtrl = 0 + Nodefault + Thisform.do_executa() + Else + DoDefault(nKeyCode,nShiftAltCtrl) + Endif + ENDPROC + + PROCEDURE grd_gestiuni.cGestiune.Text1.KeyPress + Lparameters nKeyCode, nShiftAltCtrl + If nKeyCode = 32 And nShiftAltCtrl = 0 + Nodefault + Thisform.do_executa() + Else + DoDefault(nKeyCode,nShiftAltCtrl) + Endif + ENDPROC + + PROCEDURE grd_gestiuni.cNrord_rez.Text1.KeyPress + Lparameters nKeyCode, nShiftAltCtrl + If nKeyCode = 32 And nShiftAltCtrl = 0 + Nodefault + Thisform.do_executa() + Else + DoDefault(nKeyCode,nShiftAltCtrl) + Endif + ENDPROC + + PROCEDURE grd_gestiuni.cPret.Text1.KeyPress + Lparameters nKeyCode, nShiftAltCtrl + If nKeyCode = 32 And nShiftAltCtrl = 0 + Nodefault + Thisform.do_executa() + Else + DoDefault(nKeyCode,nShiftAltCtrl) + Endif + ENDPROC + + PROCEDURE grd_gestiuni.cPretv.Text1.KeyPress + Lparameters nKeyCode, nShiftAltCtrl + If nKeyCode = 32 And nShiftAltCtrl = 0 + Nodefault + Thisform.do_executa() + Else + DoDefault(nKeyCode,nShiftAltCtrl) + Endif + ENDPROC + + PROCEDURE grd_gestiuni.cPretvctva.Text1.KeyPress + Lparameters nKeyCode, nShiftAltCtrl + If nKeyCode = 32 And nShiftAltCtrl = 0 + Nodefault + Thisform.do_executa() + Else + DoDefault(nKeyCode,nShiftAltCtrl) + Endif + ENDPROC + + PROCEDURE grd_gestiuni.cSerie.Text1.KeyPress + Lparameters nKeyCode, nShiftAltCtrl + If nKeyCode = 32 And nShiftAltCtrl = 0 + Nodefault + Thisform.do_executa() + Else + DoDefault(nKeyCode,nShiftAltCtrl) + Endif + ENDPROC + +ENDDEFINE + +DEFINE CLASS frm_articole_compuse AS _frmbase OF "_frm_base.vcx" + *< CLASSDATA: Baseclass="form" Timestamp="" Scale="Pixels" Uniqueid="" /> + + *-- OBJECTDATA items order determines ZOrder / El orden de los items OBJECTDATA determina el ZOrder + *< OBJECTDATA: ObjPath="But_renunt1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="grd_factura_set" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="grd_factura_set.cDenumire.Header1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="grd_factura_set.cDenumire.Text1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="grd_factura_set.cValdiminuatctva.Header1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="grd_factura_set.cValdiminuatctva.Text1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="grd_factura_set.cPretctva.Header1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="grd_factura_set.cPretctva.Text1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="grd_factura_set.cCantitate.Header1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="grd_factura_set.cCantitate.Text1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="grd_factura_set.cDiscountCTva.Header1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="grd_factura_set.cDiscountCTva.Text1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="grd_factura_set.cPretFtva.Header1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="grd_factura_set.cPretFtva.Text1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="grd_factura_set.cVpretftva.Header1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="grd_factura_set.cVpretftva.Text1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="grd_factura_set.cVdiscountftva.Header1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="grd_factura_set.cVdiscountftva.Text1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="grd_factura_set.cVvaldiminuatftva.Header1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="grd_factura_set.cVvaldiminuatftva.Text1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="But_urmator1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="But_precedent1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="lb_articole" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="lb_articolelista" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="txtArticole" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="txtArticoleLista" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="grd_factura" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="grd_factura.cDenumire.Header1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="grd_factura.cDenumire.Text1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="grd_factura.cValdiminuatctva.Header1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="grd_factura.cValdiminuatctva.Text1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="grd_factura.cPretctva.Header1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="grd_factura.cPretctva.Text1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="grd_factura.cCantitate.Header1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="grd_factura.cCantitate.Text1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="grd_factura.cDiscountCTva.Header1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="grd_factura.cDiscountCTva.Text1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="grd_factura.cPretFtva.Header1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="grd_factura.cPretFtva.Text1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="grd_factura.cSerie.Header1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="grd_factura.cSerie.Text1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="grd_factura.cVpretftva.Header1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="grd_factura.cVpretftva.Text1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="grd_factura.cVdiscountftva.Header1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="grd_factura.cVdiscountftva.Text1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="grd_factura.cVvaldiminuatftva.Header1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="grd_factura.cVvaldiminuatftva.Text1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="grd_factura.cProc_tvav.Header1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="grd_factura.cProc_tvav.Text1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="But_modifica1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="ck_listare_set" UniqueID="" Timestamp="" /> + + * + *m: do_selecteaza_rand + *p: nid + *p: nid_ctr + *p: nproc_tvav_set && -1 = nu a fost selectat niciun articol pentru adaugare de set + * + + * + cgridsortlist = grd_factura_set,grd_factura + DoCreate = .T. + Height = 450 + lactiv3 = .T. + Name = "frm_articole_compuse" + nid = 1 + nid_ctr = -99 + nproc_tvav_set = -1 + Width = 781 + _shape1.Anchor = 10 + _shape1.Height = 29 + _shape1.Left = 0 + _shape1.Name = "_shape1" + _shape1.Top = 0 + _shape1.Width = 780 + _shape2.Anchor = 8 + _shape2.Height = 29 + _shape2.Left = 712 + _shape2.Name = "_shape2" + _shape2.Top = 0 + _shape2.Width = 69 + Lb_titlu_alb_b121.Caption = 'ARTICOLE COMPUSE ( Pentru selectare : dublu click / apãsaþi SPACE în coloana "Articol" )' + Lb_titlu_alb_b121.FontBold = .T. + Lb_titlu_alb_b121.Name = "Lb_titlu_alb_b121" + Lb_titlu_alb_b121.TabIndex = 9 + BUT_TERMIN1.Anchor = 8 + BUT_TERMIN1.Height = 27 + BUT_TERMIN1.Left = 748 + BUT_TERMIN1.Name = "BUT_TERMIN1" + BUT_TERMIN1.TabIndex = 7 + BUT_TERMIN1.Top = 1 + BUT_TERMIN1.Width = 30 + Gridsort1.Left = 744 + Gridsort1.Name = "Gridsort1" + Gridsort1.Top = 36 + * + + ADD OBJECT 'But_modifica1' AS but_modifica WITH ; + Left = 729, ; + Name = "But_modifica1", ; + TabIndex = 12, ; + Top = 36, ; + Visible = .T. + *< END OBJECT: ClassLib="cmd_butoane.vcx" BaseClass="commandbutton" /> + + ADD OBJECT 'But_precedent1' AS but_precedent WITH ; + Anchor = 8, ; + Left = 376, ; + Name = "But_precedent1", ; + TabIndex = 6, ; + Top = 170 + *< END OBJECT: ClassLib="cmd_butoane.vcx" BaseClass="commandbutton" /> + + ADD OBJECT 'But_renunt1' AS but_renunt WITH ; + Anchor = 8, ; + Height = 27, ; + Left = 716, ; + Name = "But_renunt1", ; + TabIndex = 8, ; + Top = 1, ; + Width = 30 + *< END OBJECT: ClassLib="cmd_butoane.vcx" BaseClass="commandbutton" /> + + ADD OBJECT 'But_urmator1' AS but_urmator WITH ; + Anchor = 8, ; + Left = 376, ; + Name = "But_urmator1", ; + TabIndex = 3, ; + Top = 133 + *< END OBJECT: ClassLib="cmd_butoane.vcx" BaseClass="commandbutton" /> + + ADD OBJECT 'ck_listare_set' AS _checkbox WITH ; + Alignment = 0, ; + Caption = "Se listeazã componenþa seturilor ºi pe facturã / aviz.", ; + ControlSource = "poDate.listare_componenta_set", ; + Left = 418, ; + Name = "ck_listare_set", ; + TabIndex = 13, ; + Top = 425, ; + Visible = .F. + *< END OBJECT: ClassLib="_baza.vcx" BaseClass="checkbox" /> + + ADD OBJECT 'grd_factura' AS _grdrow WITH ; + Anchor = 13, ; + ColumnCount = 11, ; + DeleteMark = .F., ; + FontName = "Arial Narrow", ; + HeaderHeight = 34, ; + Height = 348, ; + Left = 11, ; + Name = "grd_factura", ; + Panel = 1, ; + RecordSource = "crsfactura", ; + TabIndex = 2, ; + Top = 73, ; + Width = 360, ; + Column1.ColumnOrder = 1, ; + Column1.ControlSource = "denumire", ; + Column1.FontName = "Arial Narrow", ; + Column1.Name = "cDenumire", ; + Column1.ReadOnly = .T., ; + Column1.ToolTipText = "Faceti dublu-click sau apasati SPACE pentru selectare", ; + Column1.Width = 115, ; + Column2.ColumnOrder = 9, ; + Column2.ControlSource = "valdiminuatctva", ; + Column2.FontName = "Arial Narrow", ; + Column2.InputMask = (get_mask(14,gnPc)), ; + Column2.Name = "cValdiminuatctva", ; + Column2.ReadOnly = .T., ; + Column2.Width = 51, ; + Column3.ColumnOrder = 6, ; + Column3.ControlSource = "pretctva", ; + Column3.FontName = "Arial Narrow", ; + Column3.InputMask = (get_mask(14,gnPPretV)), ; + Column3.Name = "cPretctva", ; + Column3.ReadOnly = .T., ; + Column3.Width = 45, ; + Column4.ColumnOrder = 3, ; + Column4.ControlSource = "cantitate", ; + Column4.FontName = "Arial Narrow", ; + Column4.InputMask = (get_mask(14,gnPcant)), ; + Column4.Name = "cCantitate", ; + Column4.ReadOnly = .T., ; + Column4.Width = 37, ; + Column5.ColumnOrder = 7, ; + Column5.ControlSource = "discountctva", ; + Column5.FontName = "Arial Narrow", ; + Column5.InputMask = (get_mask(14,gnPPretV)), ; + Column5.Name = "cDiscountCTva", ; + Column5.ReadOnly = .T., ; + Column5.Width = 62, ; + Column6.ColumnOrder = 4, ; + Column6.ControlSource = "pretftva", ; + Column6.FontName = "Arial Narrow", ; + Column6.InputMask = (get_mask(14,gnPPretV)), ; + Column6.Name = "cPretFtva", ; + Column6.ReadOnly = .T., ; + Column6.Width = 49, ; + Column7.ColumnOrder = 2, ; + Column7.ControlSource = "serie", ; + Column7.FontName = "Arial Narrow", ; + Column7.Name = "cSerie", ; + Column8.ColumnOrder = 5, ; + Column8.ControlSource = "vpretftva", ; + Column8.FontName = "Arial Narrow", ; + Column8.InputMask = (get_mask(14,gnPVal)), ; + Column8.Name = "cVpretftva", ; + Column9.ColumnOrder = 8, ; + Column9.ControlSource = "vdiscountftva", ; + Column9.FontName = "Arial Narrow", ; + Column9.InputMask = (get_mask(14,gnPVal)), ; + Column9.Name = "cVdiscountftva", ; + Column10.ControlSource = "vvaldiminuatftva", ; + Column10.FontName = "Arial Narrow", ; + Column10.InputMask = (get_mask(14,gnPVal)), ; + Column10.Name = "cVvaldiminuatftva", ; + Column11.ControlSource = "proc_tvav", ; + Column11.FontName = "Arial Narrow", ; + Column11.InputMask = (get_mask(5,2)), ; + Column11.Name = "cProc_tvav", ; + Column11.Width = 51 + *< END OBJECT: ClassLib="_grd_base.vcx" BaseClass="grid" /> + + ADD OBJECT 'grd_factura.cCantitate.Header1' AS header WITH ; + Alignment = 2, ; + Caption = "Cantitate", ; + FontName = "Arial Narrow", ; + Name = "Header1" + *< END OBJECT: BaseClass="header" /> + + ADD OBJECT 'grd_factura.cCantitate.Text1' AS textbox WITH ; + BackColor = 255,255,255, ; + BorderStyle = 0, ; + FontName = "Arial Narrow", ; + ForeColor = 0,0,0, ; + Margin = 0, ; + Name = "Text1", ; + ReadOnly = .T. + *< END OBJECT: BaseClass="textbox" /> + + ADD OBJECT 'grd_factura.cDenumire.Header1' AS header WITH ; + Alignment = 2, ; + Caption = "Articol", ; + FontName = "Arial Narrow", ; + Name = "Header1" + *< END OBJECT: BaseClass="header" /> + + ADD OBJECT 'grd_factura.cDenumire.Text1' AS textbox WITH ; + BackColor = 255,255,255, ; + BorderStyle = 0, ; + Enabled = .T., ; + FontName = "Arial Narrow", ; + ForeColor = 0,0,0, ; + Margin = 0, ; + Name = "Text1", ; + ReadOnly = .T. + *< END OBJECT: BaseClass="textbox" /> + + ADD OBJECT 'grd_factura.cDiscountCTva.Header1' AS header WITH ; + Alignment = 2, ; + Caption = "Discount unitar cu TVA", ; + FontName = "Arial Narrow", ; + Name = "Header1", ; + WordWrap = .T. + *< END OBJECT: BaseClass="header" /> + + ADD OBJECT 'grd_factura.cDiscountCTva.Text1' AS textbox WITH ; + BackColor = 255,255,255, ; + BorderStyle = 0, ; + FontName = "Arial Narrow", ; + ForeColor = 0,0,0, ; + Margin = 0, ; + Name = "Text1", ; + ReadOnly = .T. + *< END OBJECT: BaseClass="textbox" /> + + ADD OBJECT 'grd_factura.cPretctva.Header1' AS header WITH ; + Alignment = 2, ; + Caption = "Pret unitar cu TVA", ; + FontName = "Arial Narrow", ; + Name = "Header1", ; + WordWrap = .T. + *< END OBJECT: BaseClass="header" /> + + ADD OBJECT 'grd_factura.cPretctva.Text1' AS textbox WITH ; + BackColor = 255,255,255, ; + BorderStyle = 0, ; + FontName = "Arial Narrow", ; + ForeColor = 0,0,0, ; + Margin = 0, ; + Name = "Text1", ; + ReadOnly = .T. + *< END OBJECT: BaseClass="textbox" /> + + ADD OBJECT 'grd_factura.cPretFtva.Header1' AS header WITH ; + Alignment = 2, ; + Caption = "Pret unitar fara TVA", ; + FontName = "Arial Narrow", ; + Name = "Header1", ; + WordWrap = .T. + *< END OBJECT: BaseClass="header" /> + + ADD OBJECT 'grd_factura.cPretFtva.Text1' AS textbox WITH ; + BackColor = 255,255,255, ; + BorderStyle = 0, ; + FontName = "Arial Narrow", ; + ForeColor = 0,0,0, ; + Margin = 0, ; + Name = "Text1", ; + ReadOnly = .T. + *< END OBJECT: BaseClass="textbox" /> + + ADD OBJECT 'grd_factura.cProc_tvav.Header1' AS header WITH ; + Alignment = 2, ; + Caption = "Proc.TVA", ; + FontName = "Arial Narrow", ; + Name = "Header1" + *< END OBJECT: BaseClass="header" /> + + ADD OBJECT 'grd_factura.cProc_tvav.Text1' AS textbox WITH ; + BackColor = 255,255,255, ; + BorderStyle = 0, ; + FontName = "Arial Narrow", ; + ForeColor = 0,0,0, ; + Margin = 0, ; + Name = "Text1" + *< END OBJECT: BaseClass="textbox" /> + + ADD OBJECT 'grd_factura.cSerie.Header1' AS header WITH ; + Alignment = 2, ; + Caption = "Serie", ; + FontName = "Arial Narrow", ; + Name = "Header1" + *< END OBJECT: BaseClass="header" /> + + ADD OBJECT 'grd_factura.cSerie.Text1' AS textbox WITH ; + BackColor = 255,255,255, ; + BorderStyle = 0, ; + FontName = "Arial Narrow", ; + ForeColor = 0,0,0, ; + Margin = 0, ; + Name = "Text1" + *< END OBJECT: BaseClass="textbox" /> + + ADD OBJECT 'grd_factura.cValdiminuatctva.Header1' AS header WITH ; + Alignment = 2, ; + Caption = "Valoare", ; + FontName = "Arial Narrow", ; + Name = "Header1" + *< END OBJECT: BaseClass="header" /> + + ADD OBJECT 'grd_factura.cValdiminuatctva.Text1' AS textbox WITH ; + BackColor = 255,255,255, ; + BorderStyle = 0, ; + FontName = "Arial Narrow", ; + ForeColor = 0,0,0, ; + Margin = 0, ; + Name = "Text1", ; + ReadOnly = .T. + *< END OBJECT: BaseClass="textbox" /> + + ADD OBJECT 'grd_factura.cVdiscountftva.Header1' AS header WITH ; + Alignment = 2, ; + Caption = "Discount unitar in valuta fara TVA", ; + FontName = "Arial Narrow", ; + Name = "Header1", ; + WordWrap = .T. + *< END OBJECT: BaseClass="header" /> + + ADD OBJECT 'grd_factura.cVdiscountftva.Text1' AS textbox WITH ; + BackColor = 255,255,255, ; + BorderStyle = 0, ; + FontName = "Arial Narrow", ; + ForeColor = 0,0,0, ; + Margin = 0, ; + Name = "Text1" + *< END OBJECT: BaseClass="textbox" /> + + ADD OBJECT 'grd_factura.cVpretftva.Header1' AS header WITH ; + Alignment = 2, ; + Caption = "Pret unitar fara TVA in valuta", ; + FontName = "Arial Narrow", ; + Name = "Header1", ; + WordWrap = .T. + *< END OBJECT: BaseClass="header" /> + + ADD OBJECT 'grd_factura.cVpretftva.Text1' AS textbox WITH ; + BackColor = 255,255,255, ; + BorderStyle = 0, ; + FontName = "Arial Narrow", ; + ForeColor = 0,0,0, ; + Margin = 0, ; + Name = "Text1" + *< END OBJECT: BaseClass="textbox" /> + + ADD OBJECT 'grd_factura.cVvaldiminuatftva.Header1' AS header WITH ; + Alignment = 2, ; + Caption = "Valoare in valuta fara TVA", ; + FontName = "Arial Narrow", ; + Name = "Header1", ; + WordWrap = .T. + *< END OBJECT: BaseClass="header" /> + + ADD OBJECT 'grd_factura.cVvaldiminuatftva.Text1' AS textbox WITH ; + BackColor = 255,255,255, ; + BorderStyle = 0, ; + FontName = "Arial Narrow", ; + ForeColor = 0,0,0, ; + Margin = 0, ; + Name = "Text1" + *< END OBJECT: BaseClass="textbox" /> + + ADD OBJECT 'grd_factura_set' AS _grdrow WITH ; + Anchor = 13, ; + ColumnCount = 9, ; + DeleteMark = .F., ; + FontName = "Arial Narrow", ; + HeaderHeight = 34, ; + Height = 348, ; + Left = 414, ; + Name = "grd_factura_set", ; + Panel = 1, ; + RecordSource = "crsfacturaset", ; + TabIndex = 4, ; + Top = 73, ; + Width = 360, ; + Column1.ColumnOrder = 1, ; + Column1.ControlSource = "denumire", ; + Column1.FontName = "Arial Narrow", ; + Column1.Name = "cDenumire", ; + Column1.ReadOnly = .T., ; + Column1.Width = 115, ; + Column2.ColumnOrder = 8, ; + Column2.ControlSource = "valdiminuatctva", ; + Column2.FontName = "Arial Narrow", ; + Column2.InputMask = (get_mask(14,gnPc)), ; + Column2.Name = "cValdiminuatctva", ; + Column2.ReadOnly = .T., ; + Column2.Width = 51, ; + Column3.ColumnOrder = 5, ; + Column3.ControlSource = "pretctva", ; + Column3.FontName = "Arial Narrow", ; + Column3.InputMask = (get_mask(14,gnPPretV)), ; + Column3.Name = "cPretctva", ; + Column3.ReadOnly = .T., ; + Column3.Width = 45, ; + Column4.ColumnOrder = 2, ; + Column4.ControlSource = "cantitate", ; + Column4.FontName = "Arial Narrow", ; + Column4.InputMask = (get_mask(14,gnPcant)), ; + Column4.Name = "cCantitate", ; + Column4.ReadOnly = .T., ; + Column4.Width = 37, ; + Column5.ColumnOrder = 6, ; + Column5.ControlSource = "discountctva", ; + Column5.FontName = "Arial Narrow", ; + Column5.InputMask = (get_mask(14,gnPPretV)), ; + Column5.Name = "cDiscountCTva", ; + Column5.ReadOnly = .T., ; + Column5.Width = 62, ; + Column6.ColumnOrder = 3, ; + Column6.ControlSource = "pretftva", ; + Column6.FontName = "Arial Narrow", ; + Column6.InputMask = (get_mask(14,gnPPretV)), ; + Column6.Name = "cPretFtva", ; + Column6.ReadOnly = .T., ; + Column6.Width = 49, ; + Column7.ColumnOrder = 4, ; + Column7.ControlSource = "vpretftva", ; + Column7.FontName = "Arial Narrow", ; + Column7.InputMask = (get_mask(14,gnPVal)), ; + Column7.Name = "cVpretftva", ; + Column8.ColumnOrder = 7, ; + Column8.ControlSource = "vdiscountftva", ; + Column8.FontName = "Arial Narrow", ; + Column8.InputMask = (get_mask(14,gnPVal)), ; + Column8.Name = "cVdiscountftva", ; + Column9.ControlSource = "vvaldiminuatftva", ; + Column9.FontName = "Arial Narrow", ; + Column9.InputMask = (get_mask(14,gnPVal)), ; + Column9.Name = "cVvaldiminuatftva" + *< END OBJECT: ClassLib="_grd_base.vcx" BaseClass="grid" /> + + ADD OBJECT 'grd_factura_set.cCantitate.Header1' AS header WITH ; + Alignment = 2, ; + Caption = "Cantitate", ; + FontName = "Arial Narrow", ; + Name = "Header1" + *< END OBJECT: BaseClass="header" /> + + ADD OBJECT 'grd_factura_set.cCantitate.Text1' AS textbox WITH ; + BackColor = 255,255,255, ; + BorderStyle = 0, ; + FontName = "Arial Narrow", ; + ForeColor = 0,0,0, ; + Margin = 0, ; + Name = "Text1", ; + ReadOnly = .T. + *< END OBJECT: BaseClass="textbox" /> + + ADD OBJECT 'grd_factura_set.cDenumire.Header1' AS header WITH ; + Alignment = 2, ; + Caption = "Articol", ; + FontName = "Arial Narrow", ; + Name = "Header1" + *< END OBJECT: BaseClass="header" /> + + ADD OBJECT 'grd_factura_set.cDenumire.Text1' AS textbox WITH ; + BackColor = 255,255,255, ; + BorderStyle = 0, ; + Enabled = .T., ; + FontName = "Arial Narrow", ; + ForeColor = 0,0,0, ; + Margin = 0, ; + Name = "Text1", ; + ReadOnly = .T. + *< END OBJECT: BaseClass="textbox" /> + + ADD OBJECT 'grd_factura_set.cDiscountCTva.Header1' AS header WITH ; + Alignment = 2, ; + Caption = "Discount unitar cu TVA", ; + FontName = "Arial Narrow", ; + Name = "Header1", ; + WordWrap = .T. + *< END OBJECT: BaseClass="header" /> + + ADD OBJECT 'grd_factura_set.cDiscountCTva.Text1' AS textbox WITH ; + BackColor = 255,255,255, ; + BorderStyle = 0, ; + FontName = "Arial Narrow", ; + ForeColor = 0,0,0, ; + Margin = 0, ; + Name = "Text1", ; + ReadOnly = .T. + *< END OBJECT: BaseClass="textbox" /> + + ADD OBJECT 'grd_factura_set.cPretctva.Header1' AS header WITH ; + Alignment = 2, ; + Caption = "Pret unitar cu TVA", ; + FontName = "Arial Narrow", ; + Name = "Header1", ; + WordWrap = .T. + *< END OBJECT: BaseClass="header" /> + + ADD OBJECT 'grd_factura_set.cPretctva.Text1' AS textbox WITH ; + BackColor = 255,255,255, ; + BorderStyle = 0, ; + FontName = "Arial Narrow", ; + ForeColor = 0,0,0, ; + Margin = 0, ; + Name = "Text1", ; + ReadOnly = .T. + *< END OBJECT: BaseClass="textbox" /> + + ADD OBJECT 'grd_factura_set.cPretFtva.Header1' AS header WITH ; + Alignment = 2, ; + Caption = "Pret unitar fara TVA", ; + FontName = "Arial Narrow", ; + Name = "Header1", ; + WordWrap = .T. + *< END OBJECT: BaseClass="header" /> + + ADD OBJECT 'grd_factura_set.cPretFtva.Text1' AS textbox WITH ; + BackColor = 255,255,255, ; + BorderStyle = 0, ; + FontName = "Arial Narrow", ; + ForeColor = 0,0,0, ; + Margin = 0, ; + Name = "Text1", ; + ReadOnly = .T. + *< END OBJECT: BaseClass="textbox" /> + + ADD OBJECT 'grd_factura_set.cValdiminuatctva.Header1' AS header WITH ; + Alignment = 2, ; + Caption = "Valoare", ; + FontName = "Arial Narrow", ; + Name = "Header1" + *< END OBJECT: BaseClass="header" /> + + ADD OBJECT 'grd_factura_set.cValdiminuatctva.Text1' AS textbox WITH ; + BackColor = 255,255,255, ; + BorderStyle = 0, ; + FontName = "Arial Narrow", ; + ForeColor = 0,0,0, ; + Margin = 0, ; + Name = "Text1", ; + ReadOnly = .T. + *< END OBJECT: BaseClass="textbox" /> + + ADD OBJECT 'grd_factura_set.cVdiscountftva.Header1' AS header WITH ; + Alignment = 2, ; + Caption = "Discount unitar in valuta fara TVA", ; + FontName = "Arial Narrow", ; + Name = "Header1", ; + WordWrap = .T. + *< END OBJECT: BaseClass="header" /> + + ADD OBJECT 'grd_factura_set.cVdiscountftva.Text1' AS textbox WITH ; + BackColor = 255,255,255, ; + BorderStyle = 0, ; + FontName = "Arial Narrow", ; + ForeColor = 0,0,0, ; + Margin = 0, ; + Name = "Text1" + *< END OBJECT: BaseClass="textbox" /> + + ADD OBJECT 'grd_factura_set.cVpretftva.Header1' AS header WITH ; + Alignment = 2, ; + Caption = "Pret unitar fara TVA in valuta", ; + FontName = "Arial Narrow", ; + Name = "Header1", ; + WordWrap = .T. + *< END OBJECT: BaseClass="header" /> + + ADD OBJECT 'grd_factura_set.cVpretftva.Text1' AS textbox WITH ; + BackColor = 255,255,255, ; + BorderStyle = 0, ; + FontName = "Arial Narrow", ; + ForeColor = 0,0,0, ; + Margin = 0, ; + Name = "Text1" + *< END OBJECT: BaseClass="textbox" /> + + ADD OBJECT 'grd_factura_set.cVvaldiminuatftva.Header1' AS header WITH ; + Alignment = 2, ; + Caption = "Valoare in valuta fara TVA", ; + FontName = "Arial Narrow", ; + Name = "Header1", ; + WordWrap = .T. + *< END OBJECT: BaseClass="header" /> + + ADD OBJECT 'grd_factura_set.cVvaldiminuatftva.Text1' AS textbox WITH ; + BackColor = 255,255,255, ; + BorderStyle = 0, ; + FontName = "Arial Narrow", ; + ForeColor = 0,0,0, ; + Margin = 0, ; + Name = "Text1" + *< END OBJECT: BaseClass="textbox" /> + + ADD OBJECT 'lb_articole' AS lb_simplu WITH ; + Caption = "Articole", ; + Left = 22, ; + Name = "lb_articole", ; + TabIndex = 10, ; + Top = 42 + *< END OBJECT: ClassLib="lb.vcx" BaseClass="label" /> + + ADD OBJECT 'lb_articolelista' AS lb_simplu WITH ; + Anchor = 8, ; + Caption = "Articole compuse", ; + Left = 427, ; + Name = "lb_articolelista", ; + TabIndex = 11, ; + Top = 42 + *< END OBJECT: ClassLib="lb.vcx" BaseClass="label" /> + + ADD OBJECT 'txtArticole' AS textbox WITH ; + Format = "!k", ; + Height = 23, ; + Left = 72, ; + Name = "txtArticole", ; + TabIndex = 1, ; + ToolTipText = "Tastati primele litere pentru cautare articole", ; + Top = 39, ; + Width = 168 + *< END OBJECT: BaseClass="textbox" /> + + ADD OBJECT 'txtArticoleLista' AS textbox WITH ; + Anchor = 8, ; + Format = "!k", ; + Height = 23, ; + Left = 523, ; + Name = "txtArticoleLista", ; + TabIndex = 5, ; + ToolTipText = "Tastati primele litere pentru cautare articole", ; + Top = 39, ; + Width = 168 + *< END OBJECT: BaseClass="textbox" /> + + PROCEDURE do_adauga + If Reccount('crsfactura')>0 + Local lnNrInreg,lnSemn + Select crsfactura + lnRecno = Recno() + Calculate Cnt() For id_set_fact = Thisform.nid To lnNrInreg + If lnNrInreg>0 + Private poArticolCompus,pofrmdetartcomp + + Select crsfactura + Scatter Name poArticolCompus Blank MEMO + + *!* modificare v 2.0.56 : am adaugat id_temp + *!* modificare v 2.0.67 : am adaugat numar_contract + With poArticolCompus + Calculate Min(id_temp),Max(um),Max(proc_tvav),Min(id_jtva_coloana),Max(gestionabil),; + Sum(valftva),Sum(valtva),Sum(valctva),; + Sum(valdiscountftva),Sum(valdiscounttva),Sum(valdiscountctva),; + Sum(valdiminuatftva),Sum(valdiminuattva),Sum(valdiminuatctva),; + Sum(vvalftva),Sum(vvaltva),Sum(vvalctva),; + Sum(vdiscountftva),Sum(vdiscountctva),; + Sum(vvaldiscountftva),Sum(vvaldiscounttva),Sum(vvaldiscountctva),; + Sum(vvaldiminuatftva),Sum(vvaldiminuattva),Sum(vvaldiminuatctva),MAX(numar_contract) ; + FOR id_set_fact = Thisform.nid ; + TO .id_temp,.um,.proc_tvav,.id_jtva_coloana,.gestionabil,; + .valftva,.valtva,.valctva,; + .valdiscountftva,.valdiscounttva,.valdiscountctva,; + .valdiminuatftva,.valdiminuattva,.valdiminuatctva,; + .vvalftva,.vvaltva,.vvalctva,; + .vdiscountftva,.vdiscountctva,; + .vvaldiscountftva,.vvaldiscounttva,.vvaldiscountctva,; + .vvaldiminuatftva,.vvaldiminuattva,.vvaldiminuatctva,.numar_contract + Endwith + + poArticolCompus.id_ctr = thisform.nid_ctr && modificare v 2.0.67 + poArticolCompus.id_set_fact = Thisform.nid + *!* modificare v 2.0.56 + *!* poArticolCompus.cantitate = 1 + If InList(poDate.tip,8,9) + lnSemn = (-1) + Else + lnSemn = 1 + EndIf + poArticolCompus.cantitate = 1 * lnSemn + *!* modificare v 2.0.56 ^ + poArticolCompus.cu_tva = 0 + If poDate.in_valuta = 1 + poArticolCompus.id_valuta = poDate.id_valuta + poArticolCompus.Curs = poDate.Curs + poArticolCompus.multiplicator = poDate.multiplicator + Endif + + AddProperty(poArticolCompus,'pretftva',lnSemn*poArticolCompus.valftva) + AddProperty(poArticolCompus,'tva',lnSemn*poArticolCompus.valtva) + AddProperty(poArticolCompus,'pretctva',lnSemn*poArticolCompus.valctva) + + AddProperty(poArticolCompus,'vpretftva',lnSemn*poArticolCompus.vvalftva) + AddProperty(poArticolCompus,'vtva',lnSemn*poArticolCompus.vvaltva) + AddProperty(poArticolCompus,'vpretctva',lnSemn*poArticolCompus.vvalctva) + + AddProperty(poArticolCompus,'discountftva',lnSemn*poArticolCompus.valdiscountftva) + AddProperty(poArticolCompus,'discountctva',lnSemn*poArticolCompus.valdiscountctva) + AddProperty(poArticolCompus,'discounttva',poArticolCompus.valdiscountctva-poArticolCompus.valdiscountftva) + + AddProperty(poArticolCompus,'vdiscountftva',lnSemn*poArticolCompus.vvaldiscountftva) + AddProperty(poArticolCompus,'vdiscountctva',lnSemn*poArticolCompus.vvaldiscountctva) + AddProperty(poArticolCompus,'vdiscounttva',poArticolCompus.vvaldiscountctva-poArticolCompus.vvaldiscountftva) + + pofrmdetartcomp = Createobject('frm_articol_compus') + pofrmdetartcomp.Show(1) + If gnButon = 1 + Select crsfacturaset + Append Blank + Gather Name poArticolCompus MEMO + Thisform.nid = Thisform.nid + 1 + *!* modificare v 2.0.56 + Thisform.nproc_tvav_set = - 1 + Thisform.nid_ctr = -99 && modificare v 2.0.67 + Thisform.nselectate = 0 + *!* modificare v 2.0.56 ^ + Thisform.grd_factura_set.Refresh() + Endif + Release poArticolCompus + Else + amessagebox("Nu ati selectat articolele!",48,"Atentie") + Endif + + Select crsfactura + Go lnRecno + Endif + Thisform.grd_factura.SetFocus() + ENDPROC + + PROCEDURE do_modifica + If Reccount('crsfacturaset') > 0 + Private poArticolCompus,pofrmdetartcomp + Select crsfacturaset + Scatter Name poArticolCompus MEMO + + *!* MESSAGEBOX(TYPE('poArticolCompus.pretftva'),0,'pretftva') + *!* MESSAGEBOX(TYPE('poArticolCompus.tva'),0,'tva') + *!* MESSAGEBOX(TYPE('poArticolCompus.pretctva'),0,'pretctva') + + *!* MESSAGEBOX(TYPE('poArticolCompus.discountftva'),0,'discountftva') + *!* MESSAGEBOX(TYPE('poArticolCompus.discountctva'),0,'discountctva') + *!* MESSAGEBOX(TYPE('poArticolCompus.discounttva'),0,'discounttva') + + + *!* MESSAGEBOX(TYPE('poArticolCompus.vpretftva'),0,'vpretftva') + *!* MESSAGEBOX(TYPE('poArticolCompus.vtva'),0,'vtva') + *!* MESSAGEBOX(TYPE('poArticolCompus.vpretctva'),0,'vpretctva') + + *!* MESSAGEBOX(TYPE('poArticolCompus.vdiscountftva'),0,'vdiscountftva') + *!* MESSAGEBOX(TYPE('poArticolCompus.vdiscountctva'),0,'vdiscountctva') + *!* MESSAGEBOX(TYPE('poArticolCompus.vdiscounttva'),0,'vdiscounttva') + + AddProperty(poArticolCompus,'tva',poArticolCompus.pretctva-poArticolCompus.pretftva) + AddProperty(poArticolCompus,'discounttva',poArticolCompus.discountctva-poArticolCompus.discountftva) + + AddProperty(poArticolCompus,'vtva',poArticolCompus.vpretctva-poArticolCompus.vpretftva) + AddProperty(poArticolCompus,'vdiscounttva',poArticolCompus.vdiscountctva-poArticolCompus.vdiscountftva) + + pofrmdetartcomp = Createobject('frm_articol_compus') + pofrmdetartcomp.Show(1) + If gnButon = 1 + Select crsfacturaset + Gather Name poArticolCompus MEMO + Thisform.grd_factura_set.Refresh() + Endif + Release poArticolCompus + Else + amessagebox("Nu ati selectat articolele!",48,"Atentie") + Endif + + ENDPROC + + PROCEDURE do_precedent + Thisform.do_sterge() + ENDPROC + + PROCEDURE do_selecteaza_rand + Local lnProcTvav + Select crsfactura + lnProcTvav = proc_tvav + lnIdCtr = id_ctr + If id_set_fact = 0 + *!* modificare v 2.0.67 + Do Case + Case Nvl(Thisform.nid_ctr,-1) <> Nvl(lnIdCtr,-1) AND thisform.nid_ctr <> -99 + amessagebox("Acest articol nu poate fi adaugat pentru ca apartine unui contract diferit de restul articolelor din set!",48,"Atentie") + *!* modificare v 2.0.67 ^ + *!* modificare v 2.0.56 + Case Thisform.nproc_tvav_set <> - 1 And Thisform.nproc_tvav_set <> lnProcTvav + amessagebox("Acest articol nu poate fi adaugat pentru ca are cota de TVA diferita de restul articolelor din set!",48,"Atentie") + Otherwise + Thisform.nproc_tvav_set = lnProcTvav + Thisform.nid_ctr = NVL(lnIdCtr,-1) && modificare v 2.0.67 + Thisform.nselectate = Thisform.nselectate + 1 + *!* modificare v 2.0.56 ^ + Replace id_set_fact With Thisform.nid + *!* modificare v 2.0.56 + Endcase + *!* modificare v 2.0.56 ^ + Else + If id_set_fact = Thisform.nid + Replace id_set_fact With 0 + *!* modificare v 2.0.56 + Thisform.nselectate = Thisform.nselectate - 1 + If Thisform.nselectate = 0 + Thisform.nproc_tvav_set = -1 + Thisform.nid_ctr = -99 && modificare v 2.0.67 + Endif + *!* modificare v 2.0.56 ^ + Endif + Endif + ENDPROC + + PROCEDURE do_sterge + If Reccount('crsfacturaset')>0 + save_grid_tag(Thisform.grd_factura_set) + Select crsfacturaset + lnId = id_set_fact + Select * From crsfacturaset Where id_set_fact <> lnId Into Cursor crsfacturaset readwrite + Select crsfactura + Replace id_set_fact With 0 For id_set_fact = lnId + restore_grid_tag(Thisform.grd_factura_set) + Thisform.grd_factura_set.Refresh() + Thisform.grd_factura.SetFocus() + Endif + ENDPROC + + PROCEDURE do_urmator + Thisform.do_adauga() + + ENDPROC + + PROCEDURE inainte_de_do_renunt + Select crsfactura + Replace id_set_fact With 0 All + If Used('crsfacturaset') + Use In crsfacturaset + Endif + Return .T. + ENDPROC + + PROCEDURE inainte_de_do_termin + Select crsfactura + Replace id_set_fact With 0 For id_set_fact = Thisform.nid + llReturn = recalculeaza_pret_vanzare_compus() + If llReturn + If Reccount('crsfacturaset') = 0 + Use In crsfacturaset + *!* modificare v 2.0.46 + Else + Select crsfacturaset + Replace valftva With Round(Pretftva*cantitate,gnPc),; + valtva With Round(Round(Pretftva*cantitate,gnPc)*(proc_tvav-1),gnPc),; + vvalftva With Iif(poDate.in_valuta=0,0,Round(vpretftva*cantitate,gnPVal)),; + vvaltva With Iif(poDate.in_valuta=0,0,Round(Round(vPretftva*cantitate,gnPVal)*(proc_tvav-1),gnPVal)) + *!* vvaltva With Iif(poDate.in_valuta=0,0,Round(Round(Pretftva*cantitate,gnPVal)*(proc_tvav-1),gnPVal)) && modificare v 2.1.6 + *!* modificare v 2.0.46 ^ + Endif + Endif + Return llReturn + ENDPROC + + PROCEDURE Init + DoDefault() + This.grd_factura.SetAll("DynamicBackColor",; + "IIF(id_set_fact=0,RGB(255,255,255),IIF(id_set_fact=Thisform.nid,RGB(107,182,255),RGB(231,227,231)))",; + "Column") + ENDPROC + + PROCEDURE KeyPress + Lparameters nKeyCode, nShiftAltCtrl + lcControl = Upper(Alltrim(Thisform.ActiveControl.Name)) + + Do Case + Case (nKeyCode >=33 And nKeyCode <=122) And (lcControl = 'GRD_FACTURA') + Nodefault + With This.txtArticole + .Value = Alltrim(.Value) + Chr(nKeyCode) + .SetFocus() + Endwith + Keyboard '{END}' + + Case (nKeyCode >=33 And nKeyCode <=122) And (lcControl = 'GRD_FACTURA_SET') + Nodefault + With This.txtArticoleLista + .Value = Alltrim(.Value) + Chr(nKeyCode) + .SetFocus() + Endwith + Keyboard '{END}' + + Case (nKeyCode = 127) And (lcControl <> 'GRD_FACTURA') && backspace + Nodefault + With This.txtArticole + .Value = Left(Alltrim(.Value),Len(Alltrim(.Value))-1) + .SetFocus() + Endwith + Keyboard '{END}' + + Case (nKeyCode = 127) And (lcControl <> 'GRD_FACTURA_SET') && backspace + Nodefault + With This.txtArticoleLista + .Value = Left(Alltrim(.Value),Len(Alltrim(.Value))-1) + .SetFocus() + Endwith + Keyboard '{END}' + + Case nKeyCode = 13 And lcControl = 'GRD_FACTURA' + Nodefault + Thisform.but_urmator1.SetFocus() + Case nKeyCode = 13 And lcControl = 'BUT_URMATOR1' + Nodefault + Thisform.do_urmator() + Case nKeyCode = 13 And lcControl = 'GRD_FACTURA_SET' + Nodefault + Thisform.txtArticole.SetFocus() + Case nKeyCode = 7 And lcControl = 'GRD_FACTURA_SET' + Nodefault + Thisform.do_sterge() + Case lcControl = 'TXTARTICOLELISTA' And nKeyCode = 13 + lcArticolCautat = Alltrim(Thisform.txtArticoleLista.Value) + If Used('crsfacturaset') + Select crsfacturaset + Locate For Substr(Alltrim(denumire),1,Len(lcArticolCautat)) = lcArticolCautat + Thisform.GRD_FACTURA_SET.SetFocus() + Endif + Case lcControl = 'TXTARTICOLE' And nKeyCode = 13 + lcArticolCautat = Alltrim(Thisform.txtArticole.Value) + If Used('crsfactura') + Select crsfactura + Locate For Substr(Alltrim(denumire),1,Len(lcArticolCautat)) = lcArticolCautat + Thisform.GRD_FACTURA.SetFocus() + Endif + Case nKeyCode=27 And nShiftAltCtrl=0 + Nodefault + If aMessagebox("Sunteti sigur ca doriti sa inchideti fereastra?",4+32+256,"Confirmare")==6 + This.do_renunt() + Endif + Case nKeyCode=6 And nShiftAltCtrl=2 + Nodefault + This.do_termin() + Endcase + + ENDPROC + + PROCEDURE grd_factura.cDenumire.Text1.DblClick + Thisform.do_selecteaza_rand() + + ENDPROC + + PROCEDURE grd_factura.cDenumire.Text1.KeyPress + Lparameters nKeyCode, nShiftAltCtrl + If nKeyCode = 32 + Thisform.do_selecteaza_rand() + Endif + ENDPROC + +ENDDEFINE + +DEFINE CLASS frm_avizare_lucrare AS _frmbase OF "_frm_base.vcx" + *< CLASSDATA: Baseclass="form" Timestamp="" Scale="Pixels" Uniqueid="" /> + + *-- OBJECTDATA items order determines ZOrder / El orden de los items OBJECTDATA determina el ZOrder + *< OBJECTDATA: ObjPath="But_renunt1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="grd_articole" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="grd_articole.cArticol.Header1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="grd_articole.cArticol.Text1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="grd_articole.cCodmat.Header1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="grd_articole.cCodmat.Text1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="grd_articole.cPret.Header1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="grd_articole.cPret.Text1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="grd_articole.cCantitate.Header1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="grd_articole.cCantitate.Text1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="grd_articole.cPreturi_cu_tva.Header1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="grd_articole.cPreturi_cu_tva._checkbox1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="grd_articole.cNume_gestiune.Header1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="grd_articole.cNume_gestiune.Text1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="grd_articole.cCant_com.Header1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="grd_articole.cCant_com.Text1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="grd_articole.cCant_ramasa.Header1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="grd_articole.cCant_ramasa.Text1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="grd_articole.cCant_stoc.Header1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="grd_articole.cCant_stoc.Text1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="grd_articole.cPretctva.Header1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="grd_articole.cPretctva.Text1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="grd_articole.cCant_disp.Header1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="grd_articole.cCant_disp.Text1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="lb_cursuri" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="cb_gestiuni_dest" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="lb_gestiuni_dest" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="Clb_total_tva" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="Clb_total_factura" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="Clb_total_baza" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="grd_cursuri" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="grd_cursuri.cCurs.Header1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="grd_cursuri.cCurs.Text1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="grd_cursuri.cNume_val.Header1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="grd_cursuri.cNume_val.Text1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="grd_cursuri.cMultiplicator.Header1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="grd_cursuri.cMultiplicator.Text1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="Lb_articole" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="txtArticole" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="lb_codmat" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="txtCodmat" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="ct_codmat" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="ct_articole" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="But_listare1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="Cb_explicatie_Tva" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="But_reset1" UniqueID="" Timestamp="" /> + + * + *m: do_calculeaza_cant_disp + *m: do_calculeaza_totaluri + *m: do_creeaza_filtru + *m: do_scrie_articole + *m: do_scrie_factura + *p: cfiltru + *p: cmesaj_cantitate + *p: cnewvalue + *p: coldvalue + *p: nbazafdiscount + *p: nbazafdiscountval + *p: nbazaron + *p: nbazaval + *p: ncantitate_init && Se retine cantitatea initiala din campul "Cantitate repartizata" in momentul in care intra pe coloana. + *p: ncritcod + *p: ncritdenumire + *p: ndiscfactron + *p: ndiscfactval + *p: ndiscron + *p: ndiscval + *p: nid + *p: nid_jtva_coloana + *p: nnrinregvizibile && Numarul de inregistrari vizibile in gridul cu elementele facturii. + *p: nproc_tvav + *p: ntotalron + *p: ntotalval + *p: ntvaron + *p: ntvaval + *p: orec + * + + * + cfiltru = + cgridsortlist = grd_articole + cmesaj_cantitate = .F. + cnewvalue = + coldvalue = + DoCreate = .T. + Height = 586 + Name = "frm_avizare_lucrare" + nbazafdiscount = 0 + nbazafdiscountval = 0 + nbazaron = 0 + nbazaval = 0 + ncantitate_init = 0 + ncritcod = 2 + ncritdenumire = 2 + ndiscfactron = 0 + ndiscfactval = 0 + ndiscron = 0 + ndiscval = 0 + nid_jtva_coloana = + nnrinregvizibile = 0 + nproc_tvav = 0 + ntotalron = 0 + ntotalval = 0 + ntvaron = 0 + ntvaval = 0 + Width = 781 + WindowState = 2 + _memberdata = + + + + _shape1.Anchor = 10 + _shape1.Height = 29 + _shape1.Left = 0 + _shape1.Name = "_shape1" + _shape1.Top = 0 + _shape1.Width = 780 + _shape2.Anchor = 8 + _shape2.Height = 29 + _shape2.Left = 682 + _shape2.Name = "_shape2" + _shape2.Top = 0 + _shape2.Width = 97 + Lb_titlu_alb_b121.Caption = "TRANSFER ÎNTRE SUBUNITÃÞI PE BAZÃ DE LUCRARE" + Lb_titlu_alb_b121.FontBold = .T. + Lb_titlu_alb_b121.Name = "Lb_titlu_alb_b121" + Lb_titlu_alb_b121.TabIndex = 8 + BUT_TERMIN1.Anchor = 8 + BUT_TERMIN1.Height = 27 + BUT_TERMIN1.Left = 748 + BUT_TERMIN1.Name = "BUT_TERMIN1" + BUT_TERMIN1.TabIndex = 6 + BUT_TERMIN1.Top = 1 + BUT_TERMIN1.Width = 30 + Gridsort1.Left = 744 + Gridsort1.Name = "Gridsort1" + Gridsort1.Top = 36 + * + + ADD OBJECT 'But_listare1' AS but_listare WITH ; + Anchor = 9, ; + Left = 683, ; + Name = "But_listare1", ; + Top = 1 + *< END OBJECT: ClassLib="cmd_butoane.vcx" BaseClass="commandbutton" /> + + ADD OBJECT 'But_renunt1' AS but_renunt WITH ; + Anchor = 8, ; + Height = 27, ; + Left = 716, ; + Name = "But_renunt1", ; + TabIndex = 7, ; + Top = 1, ; + Width = 30 + *< END OBJECT: ClassLib="cmd_butoane.vcx" BaseClass="commandbutton" /> + + ADD OBJECT 'But_reset1' AS but_reset WITH ; + Left = 321, ; + Name = "But_reset1", ; + Top = 34 + *< END OBJECT: ClassLib="cmd_butoane.vcx" BaseClass="commandbutton" /> + + ADD OBJECT 'Cb_explicatie_Tva' AS cb_tx_simplu WITH ; + Height = 29, ; + Left = 423, ; + Name = "Cb_explicatie_Tva", ; + TabIndex = 10, ; + TabStop = .F., ; + Top = 61, ; + Width = 324, ; + ZOrderSet = 21, ; + _cbbase1.ColumnCount = 2, ; + _cbbase1.ColumnLines = .F., ; + _cbbase1.ColumnWidths = "200,15", ; + _cbbase1.FontName = "Arial Narrow", ; + _cbbase1.Height = 23, ; + _cbbase1.Left = 112, ; + _cbbase1.Name = "_cbbase1", ; + _cbbase1.RowSource = "jtva_coloane.denumire,cota_tva,id_jtva_coloana", ; + _cbbase1.RowSourceType = 6, ; + _cbbase1.Top = 3, ; + _cbbase1.Width = 208, ; + _lbbase1.Caption = "Explicaþie TVA", ; + _lbbase1.FontName = "Arial Narrow", ; + _lbbase1.Left = 5, ; + _lbbase1.Name = "_lbbase1", ; + _lbbase1.Top = 6 + *< END OBJECT: ClassLib="lb_tx.vcx" BaseClass="container" /> + + ADD OBJECT 'cb_gestiuni_dest' AS combobox WITH ; + ColumnCount = 1, ; + ColumnLines = .F., ; + ColumnWidths = "200,65,65", ; + Height = 24, ; + Left = 528, ; + Name = "cb_gestiuni_dest", ; + RowSourceType = 2, ; + Style = 2, ; + TabIndex = 14, ; + Top = 36, ; + Width = 220 + *< END OBJECT: BaseClass="combobox" /> + + ADD OBJECT 'Clb_total_baza' AS clb_tx_sume_valuta WITH ; + Anchor = 12, ; + Height = 30, ; + Left = 193, ; + Name = "Clb_total_baza", ; + TabIndex = 18, ; + Top = 516, ; + Width = 315, ; + tx_suma_val.ControlSource = "thisform.nbazaval", ; + tx_suma_val.Left = 136, ; + tx_suma_val.Name = "tx_suma_val", ; + tx_suma_val.Top = 4, ; + lb_explicatie.Caption = "Total (bazã)", ; + lb_explicatie.Left = 6, ; + lb_explicatie.Name = "lb_explicatie", ; + lb_explicatie.Top = 7, ; + tx_suma_nat.ControlSource = "thisform.nbazaron", ; + tx_suma_nat.InputMask = (get_mask(14,gnPc)), ; + tx_suma_nat.Left = 228, ; + tx_suma_nat.Name = "tx_suma_nat", ; + tx_suma_nat.Top = 4, ; + lb_nume_val.Left = 200, ; + lb_nume_val.Name = "lb_nume_val", ; + lb_nume_val.Top = 7, ; + lb_nume_nat.Left = 288, ; + lb_nume_nat.Name = "lb_nume_nat", ; + lb_nume_nat.Top = 7, ; + lb_explicatii.Left = 92, ; + lb_explicatii.Name = "lb_explicatii", ; + lb_explicatii.Top = 7 + *< END OBJECT: ClassLib="ofacturare.vcx" BaseClass="container" /> + + ADD OBJECT 'Clb_total_factura' AS clb_tx_sume_valuta WITH ; + Anchor = 12, ; + Height = 59, ; + Left = 507, ; + Name = "Clb_total_factura", ; + TabIndex = 17, ; + Top = 516, ; + Width = 266, ; + tx_suma_val.ControlSource = "thisform.ntotalval", ; + tx_suma_val.FontBold = .T., ; + tx_suma_val.Left = 81, ; + tx_suma_val.Name = "tx_suma_val", ; + tx_suma_val.Top = 20, ; + lb_explicatie.Caption = "TOTAL FACTURÃ", ; + lb_explicatie.FontBold = .T., ; + lb_explicatie.Left = 5, ; + lb_explicatie.Name = "lb_explicatie", ; + lb_explicatie.Top = 4, ; + tx_suma_nat.ControlSource = "thisform.ntotalron", ; + tx_suma_nat.FontBold = .T., ; + tx_suma_nat.InputMask = (get_mask(14,gnPc)), ; + tx_suma_nat.Left = 173, ; + tx_suma_nat.Name = "tx_suma_nat", ; + tx_suma_nat.Top = 20, ; + lb_nume_val.FontBold = .T., ; + lb_nume_val.Left = 145, ; + lb_nume_val.Name = "lb_nume_val", ; + lb_nume_val.Top = 23, ; + lb_nume_nat.FontBold = .T., ; + lb_nume_nat.Left = 233, ; + lb_nume_nat.Name = "lb_nume_nat", ; + lb_nume_nat.Top = 23, ; + lb_explicatii.Name = "lb_explicatii" + *< END OBJECT: ClassLib="ofacturare.vcx" BaseClass="container" /> + + ADD OBJECT 'Clb_total_tva' AS clb_tx_sume_valuta WITH ; + Anchor = 12, ; + Height = 30, ; + Left = 193, ; + Name = "Clb_total_tva", ; + TabIndex = 16, ; + Top = 545, ; + Width = 315, ; + tx_suma_val.ControlSource = "thisform.ntvaval", ; + tx_suma_val.Left = 136, ; + tx_suma_val.Name = "tx_suma_val", ; + tx_suma_val.Top = 4, ; + lb_explicatie.Caption = "TVA", ; + lb_explicatie.Left = 6, ; + lb_explicatie.Name = "lb_explicatie", ; + lb_explicatie.Top = 7, ; + tx_suma_nat.ControlSource = "thisform.ntvaron", ; + tx_suma_nat.InputMask = (get_mask(14,gnPc)), ; + tx_suma_nat.Left = 228, ; + tx_suma_nat.Name = "tx_suma_nat", ; + tx_suma_nat.Top = 4, ; + lb_nume_val.Left = 200, ; + lb_nume_val.Name = "lb_nume_val", ; + lb_nume_val.Top = 7, ; + lb_nume_nat.Left = 288, ; + lb_nume_nat.Name = "lb_nume_nat", ; + lb_nume_nat.Top = 7, ; + lb_explicatii.Left = 92, ; + lb_explicatii.Name = "lb_explicatii", ; + lb_explicatii.Top = 7 + *< END OBJECT: ClassLib="ofacturare.vcx" BaseClass="container" /> + + ADD OBJECT 'ct_articole' AS criteriu_text WITH ; + FontName = "Arial Narrow", ; + Height = 24, ; + Left = 80, ; + Name = "ct_articole", ; + TabIndex = 3, ; + Top = 61, ; + Value = 1, ; + Width = 84 + *< END OBJECT: ClassLib="caut_ora.vcx" BaseClass="combobox" /> + + ADD OBJECT 'ct_codmat' AS criteriu_text WITH ; + FontName = "Arial Narrow", ; + Height = 24, ; + Left = 80, ; + Name = "ct_codmat", ; + TabIndex = 1, ; + Top = 35, ; + Width = 84 + *< END OBJECT: ClassLib="caut_ora.vcx" BaseClass="combobox" /> + + ADD OBJECT 'grd_articole' AS _grdrow WITH ; + Anchor = 15, ; + ColumnCount = 11, ; + DeleteMark = .F., ; + FontName = "Arial Narrow", ; + Height = 384, ; + HighlightStyle = 2, ; + Left = 22, ; + Name = "grd_articole", ; + Panel = 1, ; + ReadOnly = .F., ; + RecordSource = "crsarticole", ; + SelectedItemBackColor = 0,0,255, ; + TabIndex = 5, ; + Top = 96, ; + Width = 734, ; + Column1.ColumnOrder = 2, ; + Column1.ControlSource = "denumire", ; + Column1.FontName = "Arial Narrow", ; + Column1.Name = "cArticol", ; + Column1.ReadOnly = .F., ; + Column1.Width = 187, ; + Column2.ColumnOrder = 1, ; + Column2.ControlSource = "codmat", ; + Column2.FontName = "Arial Narrow", ; + Column2.Name = "cCodmat", ; + Column2.ReadOnly = .F., ; + Column2.Width = 59, ; + Column3.ColumnOrder = 3, ; + Column3.ControlSource = "pret", ; + Column3.FontName = "Arial Narrow", ; + Column3.InputMask = (get_mask(14,gnPPretV)), ; + Column3.Name = "cPret", ; + Column3.ReadOnly = .F., ; + Column3.Width = 53, ; + Column4.ColumnOrder = 9, ; + Column4.ControlSource = "cantitate", ; + Column4.FontName = "Arial Narrow", ; + Column4.InputMask = (get_mask(14,gnPcant)), ; + Column4.Name = "cCantitate", ; + Column4.ReadOnly = .F., ; + Column4.Width = 71, ; + Column5.ColumnOrder = 4, ; + Column5.ControlSource = "preturi_cu_tva", ; + Column5.FontName = "Arial Narrow", ; + Column5.Name = "cPreturi_cu_tva", ; + Column5.ReadOnly = .T., ; + Column5.Sparse = .F., ; + Column5.Width = 39, ; + Column6.ColumnOrder = 6, ; + Column6.ControlSource = "nume_gestiune", ; + Column6.FontName = "Arial Narrow", ; + Column6.Name = "cNume_gestiune", ; + Column6.ReadOnly = .F., ; + Column6.Width = 89, ; + Column7.ColumnOrder = 7, ; + Column7.ControlSource = "cant_com", ; + Column7.FontName = "Arial Narrow", ; + Column7.InputMask = (get_mask(14,gnPcant)), ; + Column7.Name = "cCant_com", ; + Column7.ReadOnly = .F., ; + Column7.Width = 63, ; + Column8.ColumnOrder = 8, ; + Column8.ControlSource = "cant_ramasa", ; + Column8.FontName = "Arial Narrow", ; + Column8.InputMask = (get_mask(14,gnPcant)), ; + Column8.Name = "cCant_ramasa", ; + Column8.ReadOnly = .F., ; + Column8.Width = 64, ; + Column9.ColumnOrder = 5, ; + Column9.ControlSource = "cant_stoc", ; + Column9.FontName = "Arial Narrow", ; + Column9.InputMask = (get_mask(14,gnPcant)), ; + Column9.Name = "cCant_stoc", ; + Column9.ReadOnly = .F., ; + Column9.Width = 63, ; + Column10.ColumnOrder = 10, ; + Column10.ControlSource = "pretctva", ; + Column10.FontName = "Arial Narrow", ; + Column10.InputMask = (get_mask(14,gnPa)), ; + Column10.Name = "cPretctva", ; + Column10.ReadOnly = .F., ; + Column10.Visible = .F., ; + Column10.Width = 65, ; + Column11.ControlSource = "cant_disp", ; + Column11.FontName = "Arial Narrow", ; + Column11.Name = "cCant_disp", ; + Column11.ReadOnly = .F., ; + Column11.Width = 67 + *< END OBJECT: ClassLib="_grd_base.vcx" BaseClass="grid" /> + + ADD OBJECT 'grd_articole.cArticol.Header1' AS header WITH ; + Alignment = 2, ; + Caption = "Articol", ; + FontName = "Arial Narrow", ; + Name = "Header1" + *< END OBJECT: BaseClass="header" /> + + ADD OBJECT 'grd_articole.cArticol.Text1' AS textbox WITH ; + BackColor = 255,255,255, ; + BorderStyle = 0, ; + FontName = "Arial Narrow", ; + ForeColor = 0,0,0, ; + Margin = 0, ; + Name = "Text1", ; + ReadOnly = .F., ; + SelectedBackColor = 0,0,255 + *< END OBJECT: BaseClass="textbox" /> + + ADD OBJECT 'grd_articole.cCant_com.Header1' AS header WITH ; + Alignment = 2, ; + Caption = "Cant.comanda", ; + FontName = "Arial Narrow", ; + Name = "Header1" + *< END OBJECT: BaseClass="header" /> + + ADD OBJECT 'grd_articole.cCant_com.Text1' AS textbox WITH ; + BackColor = 255,255,255, ; + BorderStyle = 0, ; + FontName = "Arial Narrow", ; + ForeColor = 0,0,0, ; + Margin = 0, ; + Name = "Text1", ; + ReadOnly = .F., ; + SelectedBackColor = 0,0,255 + *< END OBJECT: BaseClass="textbox" /> + + ADD OBJECT 'grd_articole.cCant_disp.Header1' AS header WITH ; + Alignment = 2, ; + Caption = "Cant.disp.", ; + FontName = "Arial Narrow", ; + Name = "Header1" + *< END OBJECT: BaseClass="header" /> + + ADD OBJECT 'grd_articole.cCant_disp.Text1' AS textbox WITH ; + BackColor = 255,255,255, ; + BorderStyle = 0, ; + FontName = "Arial Narrow", ; + ForeColor = 0,0,0, ; + Margin = 0, ; + Name = "Text1", ; + SelectedBackColor = 0,0,255 + *< END OBJECT: BaseClass="textbox" /> + + ADD OBJECT 'grd_articole.cCant_ramasa.Header1' AS header WITH ; + Alignment = 2, ; + Caption = "Cant.ramasa", ; + FontName = "Arial Narrow", ; + Name = "Header1" + *< END OBJECT: BaseClass="header" /> + + ADD OBJECT 'grd_articole.cCant_ramasa.Text1' AS textbox WITH ; + BackColor = 255,255,255, ; + BorderStyle = 0, ; + FontName = "Arial Narrow", ; + ForeColor = 0,0,0, ; + Margin = 0, ; + Name = "Text1", ; + ReadOnly = .F., ; + SelectedBackColor = 0,0,255 + *< END OBJECT: BaseClass="textbox" /> + + ADD OBJECT 'grd_articole.cCant_stoc.Header1' AS header WITH ; + Alignment = 2, ; + Caption = "Cant.stoc", ; + FontName = "Arial Narrow", ; + Name = "Header1" + *< END OBJECT: BaseClass="header" /> + + ADD OBJECT 'grd_articole.cCant_stoc.Text1' AS textbox WITH ; + BackColor = 255,255,255, ; + BorderStyle = 0, ; + FontName = "Arial Narrow", ; + ForeColor = 0,0,0, ; + Margin = 0, ; + Name = "Text1", ; + ReadOnly = .F., ; + SelectedBackColor = 0,0,255 + *< END OBJECT: BaseClass="textbox" /> + + ADD OBJECT 'grd_articole.cCantitate.Header1' AS header WITH ; + Alignment = 2, ; + Caption = "Cant. repartizata", ; + FontName = "Arial Narrow", ; + Name = "Header1" + *< END OBJECT: BaseClass="header" /> + + ADD OBJECT 'grd_articole.cCantitate.Text1' AS textbox WITH ; + BackColor = 255,255,255, ; + BorderStyle = 0, ; + FontName = "Arial Narrow", ; + ForeColor = 0,0,0, ; + Margin = 0, ; + Name = "Text1", ; + ReadOnly = .F., ; + SelectedBackColor = 0,0,255 + *< END OBJECT: BaseClass="textbox" /> + + ADD OBJECT 'grd_articole.cCodmat.Header1' AS header WITH ; + Alignment = 2, ; + Caption = "Cod material", ; + FontName = "Arial Narrow", ; + Name = "Header1" + *< END OBJECT: BaseClass="header" /> + + ADD OBJECT 'grd_articole.cCodmat.Text1' AS textbox WITH ; + BackColor = 255,255,255, ; + BorderStyle = 0, ; + FontName = "Arial Narrow", ; + ForeColor = 0,0,0, ; + Margin = 0, ; + Name = "Text1", ; + ReadOnly = .F., ; + SelectedBackColor = 0,0,255 + *< END OBJECT: BaseClass="textbox" /> + + ADD OBJECT 'grd_articole.cNume_gestiune.Header1' AS header WITH ; + Alignment = 2, ; + Caption = "Gestiune dest.", ; + FontName = "Arial Narrow", ; + Name = "Header1" + *< END OBJECT: BaseClass="header" /> + + ADD OBJECT 'grd_articole.cNume_gestiune.Text1' AS textbox WITH ; + BackColor = 255,255,255, ; + BorderStyle = 0, ; + FontName = "Arial Narrow", ; + ForeColor = 0,0,0, ; + Margin = 0, ; + Name = "Text1", ; + ReadOnly = .F., ; + SelectedBackColor = 0,0,255 + *< END OBJECT: BaseClass="textbox" /> + + ADD OBJECT 'grd_articole.cPret.Header1' AS header WITH ; + Alignment = 2, ; + Caption = "Pret", ; + FontName = "Arial Narrow", ; + Name = "Header1" + *< END OBJECT: BaseClass="header" /> + + ADD OBJECT 'grd_articole.cPret.Text1' AS textbox WITH ; + BackColor = 255,255,255, ; + BorderStyle = 0, ; + FontName = "Arial Narrow", ; + ForeColor = 0,0,0, ; + Margin = 0, ; + Name = "Text1", ; + ReadOnly = .F., ; + SelectedBackColor = 0,0,255 + *< END OBJECT: BaseClass="textbox" /> + + ADD OBJECT 'grd_articole.cPretctva.Header1' AS header WITH ; + Alignment = 2, ; + Caption = "Pret cu TVA", ; + FontName = "Arial Narrow", ; + Name = "Header1" + *< END OBJECT: BaseClass="header" /> + + ADD OBJECT 'grd_articole.cPretctva.Text1' AS textbox WITH ; + BackColor = 255,255,255, ; + BorderStyle = 0, ; + FontName = "Arial Narrow", ; + ForeColor = 0,0,0, ; + Margin = 0, ; + Name = "Text1", ; + ReadOnly = .F., ; + SelectedBackColor = 0,0,255, ; + Visible = .F. + *< END OBJECT: BaseClass="textbox" /> + + ADD OBJECT 'grd_articole.cPreturi_cu_tva._checkbox1' AS _checkbox WITH ; + Alignment = 2, ; + Caption = "", ; + Centered = .T., ; + FontName = "Arial Narrow", ; + Left = 23, ; + Name = "_checkbox1", ; + ReadOnly = .T., ; + Top = 32 + *< END OBJECT: ClassLib="_baza.vcx" BaseClass="checkbox" /> + + ADD OBJECT 'grd_articole.cPreturi_cu_tva.Header1' AS header WITH ; + Alignment = 2, ; + Caption = "Cu TVA", ; + FontName = "Arial Narrow", ; + Name = "Header1" + *< END OBJECT: BaseClass="header" /> + + ADD OBJECT 'grd_cursuri' AS _grdrow WITH ; + Anchor = 6, ; + ColumnCount = 3, ; + DeleteMark = .F., ; + FontName = "Arial Narrow", ; + Height = 77, ; + Left = 10, ; + Name = "grd_cursuri", ; + Panel = 1, ; + RecordSource = "crscursuri", ; + ScrollBars = 2, ; + TabIndex = 31, ; + TabStop = .F., ; + Top = 503, ; + Width = 177, ; + ZOrderSet = 13, ; + Column1.ColumnOrder = 3, ; + Column1.ControlSource = "curs", ; + Column1.FontName = "Arial Narrow", ; + Column1.InputMask = (get_mask(14,gnPCurs)), ; + Column1.Name = "cCurs", ; + Column1.Width = 38, ; + Column2.ColumnOrder = 2, ; + Column2.ControlSource = "nume_val", ; + Column2.FontName = "Arial Narrow", ; + Column2.Name = "cNume_val", ; + Column2.Width = 56, ; + Column3.ColumnOrder = 1, ; + Column3.ControlSource = "multiplicator", ; + Column3.FontName = "Arial Narrow", ; + Column3.InputMask = (get_mask(10,0)), ; + Column3.Name = "cMultiplicator", ; + Column3.Width = 49 + *< END OBJECT: ClassLib="_grd_base.vcx" BaseClass="grid" /> + + ADD OBJECT 'grd_cursuri.cCurs.Header1' AS header WITH ; + Alignment = 2, ; + Caption = "Curs", ; + FontName = "Arial Narrow", ; + Name = "Header1" + *< END OBJECT: BaseClass="header" /> + + ADD OBJECT 'grd_cursuri.cCurs.Text1' AS textbox WITH ; + BackColor = 255,255,255, ; + BorderStyle = 0, ; + FontName = "Arial Narrow", ; + ForeColor = 0,0,0, ; + Margin = 0, ; + Name = "Text1", ; + SelectedBackColor = 0,64,128 + *< END OBJECT: BaseClass="textbox" /> + + ADD OBJECT 'grd_cursuri.cMultiplicator.Header1' AS header WITH ; + Alignment = 2, ; + Caption = "Multiplicator", ; + FontName = "Arial Narrow", ; + Name = "Header1" + *< END OBJECT: BaseClass="header" /> + + ADD OBJECT 'grd_cursuri.cMultiplicator.Text1' AS textbox WITH ; + BackColor = 255,255,255, ; + BorderStyle = 0, ; + FontName = "Arial Narrow", ; + ForeColor = 0,0,0, ; + Margin = 0, ; + Name = "Text1" + *< END OBJECT: BaseClass="textbox" /> + + ADD OBJECT 'grd_cursuri.cNume_val.Header1' AS header WITH ; + Alignment = 2, ; + Caption = "Valuta", ; + FontName = "Arial Narrow", ; + Name = "Header1" + *< END OBJECT: BaseClass="header" /> + + ADD OBJECT 'grd_cursuri.cNume_val.Text1' AS textbox WITH ; + BackColor = 255,255,255, ; + BorderStyle = 0, ; + FontName = "Arial Narrow", ; + ForeColor = 0,0,0, ; + Margin = 0, ; + Name = "Text1", ; + SelectedBackColor = 0,64,128 + *< END OBJECT: BaseClass="textbox" /> + + ADD OBJECT 'Lb_articole' AS lb_simplu WITH ; + Caption = "Articol", ; + FontName = "Arial Narrow", ; + Left = 23, ; + Name = "Lb_articole", ; + TabIndex = 11, ; + Top = 65 + *< END OBJECT: ClassLib="lb.vcx" BaseClass="label" /> + + ADD OBJECT 'lb_codmat' AS lb_simplu WITH ; + Caption = "Cod material", ; + FontName = "Arial Narrow", ; + Left = 23, ; + Name = "lb_codmat", ; + TabIndex = 12, ; + Top = 38 + *< END OBJECT: ClassLib="lb.vcx" BaseClass="label" /> + + ADD OBJECT 'lb_cursuri' AS lb_simplu WITH ; + Anchor = 6, ; + Caption = "Curs valutar", ; + Left = 15, ; + Name = "lb_cursuri", ; + TabIndex = 10, ; + Top = 485 + *< END OBJECT: ClassLib="lb.vcx" BaseClass="label" /> + + ADD OBJECT 'lb_gestiuni_dest' AS lb_simplu WITH ; + Caption = "Gestiune destinaþie", ; + FontName = "Arial Narrow", ; + Left = 427, ; + Name = "lb_gestiuni_dest", ; + TabIndex = 9, ; + Top = 39 + *< END OBJECT: ClassLib="lb.vcx" BaseClass="label" /> + + ADD OBJECT 'txtArticole' AS textbox WITH ; + FontName = "Arial Narrow", ; + Format = "!k", ; + Height = 23, ; + Left = 168, ; + Name = "txtArticole", ; + TabIndex = 4, ; + ToolTipText = "Tastati primele litere pentru cautare articole", ; + Top = 62, ; + Width = 144 + *< END OBJECT: BaseClass="textbox" /> + + ADD OBJECT 'txtCodmat' AS textbox WITH ; + FontName = "Arial Narrow", ; + Format = "!k", ; + Height = 23, ; + Left = 168, ; + Name = "txtCodmat", ; + TabIndex = 2, ; + ToolTipText = "Tastati primele litere pentru cautare articole", ; + Top = 36, ; + Width = 120 + *< END OBJECT: BaseClass="textbox" /> + + PROCEDURE Destroy + If Used('crsarticole') + Use In crsarticole + Endif + ENDPROC + + PROCEDURE do_calculeaza_cant_disp + Lparameters tnCantitateNoua,tnIdArticol,tcCont + Select crsarticole + Thisform.LockScreen = .T. + lnRecno = Recno() + Replace cant_disp With cant_disp+Thisform.ncantitate_init-tnCantitateNoua ; + for id_articol = tnIdArticol And Nvl(Cont,'XXXX') = Nvl(tcCont,'XXXX') + Go (lnRecno) + Thisform.LockScreen = .F. + ENDPROC + + PROCEDURE do_calculeaza_totaluri + Select Sum(Iif(preturi_cu_tva = 0,; + Round(Round(Pret,gnPPretV)*Nvl(cantitate,0),gnPc),; + ROUND(Round(Round(Pret,gnPPretV)/proc_tvav,gnPPretV)*Nvl(cantitate,0),gnPc))) As baza,; + Sum(Iif(preturi_cu_tva = 0,; + Round(Round(Round(Pret,gnPPretV)*Nvl(cantitate,0),gnPc)*(proc_tvav-1),gnPc),; + ROUND(Round(Pret,gnPPretV)*Nvl(cantitate,0),gnPc)-; + Round(Round(Round(Pret,gnPPretV)/proc_tvav,gnPPretV)*Nvl(cantitate,0),gnPc))) As tva ; + From crsarticole WITH (BUFFERING = .T.) ; + Into Cursor crstotalurifact + + Select crstotalurifact + Thisform.nbazaron = Nvl(baza,0) + Thisform.ntvaron = Nvl(tva,0) + Thisform.ntotalron = Nvl(baza,0) + Nvl(tva,0) + + Thisform.clb_total_baza.Refresh() + Thisform.clb_total_tva.Refresh() + Thisform.clb_total_factura.Refresh() + + If Used('crstotalurifact') + Use In crstotalurifact + Endif + + ENDPROC + + PROCEDURE do_cauta + lcFiltru = Thisform.do_creeaza_filtru(Thisform.ct_articole,[denumire],Alltrim(Strtran(Thisform.txtArticole.Value,['],['']))) + lcFiltru = lcFiltru + [ AND ] + Thisform.do_creeaza_filtru(Thisform.ct_codmat,[codmat],Alltrim(Strtran(Thisform.txtcodmat.Value,['],['']))) + Thisform.cfiltru = lcFiltru + Select crsarticole + Set Filter To &lcFiltru + Go Top + Thisform.grd_articole.SetFocus() + ENDPROC + + PROCEDURE do_creeaza_filtru + Lparameters toCriteriu,tcNumeCamp,tcValoare + Local lnCriteriu,lcFiltru + lnCriteriu = toCriteriu.Value + Do Case + Case lnCriteriu = 1 + lcFiltru = "LIKE('" + Upper(Strtran(tcValoare,['],[''])) + "*',UPPER(Nvl("+Alltrim(tcNumeCamp)+",'')))" + Case lnCriteriu = 2 + lcFiltru = "UPPER(Nvl("+Alltrim(tcNumeCamp)+",''))='" + Upper(Strtran(tcValoare,['],[''])) + "'" + Case lnCriteriu = 3 + lcFiltru = "UPPER(Nvl("+Alltrim(tcNumeCamp)+",''))<>'" + Upper(Strtran(tcValoare,['],[''])) + "'" + Case lnCriteriu = 4 + lcFiltru = "LIKE('*" + Upper(Strtran(tcValoare,['],[''])) + "*',UPPER(Nvl("+Alltrim(tcNumeCamp)+",'')))" + Case lnCriteriu = 5 + lcFiltru = "!LIKE('*" + Upper(Strtran(tcValoare,['],[''])) + "*',UPPER(Nvl("+Alltrim(tcNumeCamp)+",'')))" + Case lnCriteriu=6 + lcFiltru = "EMPTY(Nvl("+Alltrim(tcNumeCamp)+",''))" + Case lnCriteriu=7 + lcFiltru = "!EMPTY(Nvl("+Alltrim(tcNumeCamp)+",''))" + Endcase + Return lcFiltru + ENDPROC + + PROCEDURE do_listare + If Reccount('crsarticole')>0 + Thisform.AlwaysOnTop = .F. + goExport.export2frx([crsarticole],[lista_aviz_lucrare]) && , , , , , , .T.) + Thisform.AlwaysOnTop = .T. + Endif + ENDPROC + + PROCEDURE do_reset + *!* modificare v 2.0.56 + Local lcCriteriuCod, lcCriteriuDenumire + lcCriteriuCod = goExport.citesteSetareRegistru("CRITCOD") + If !Empty(lcCriteriuCod) And Type('VAL(lcCriteriuCod)') = 'N' + Thisform.ncritcod = Val(lcCriteriuCod) + Endif + Thisform.ct_codmat.Value = Thisform.ncritcod + + lcCriteriuDenumire = goExport.citesteSetareRegistru("CRITDENUMIRE") + If !Empty(lcCriteriuDenumire) And Type('VAL(lcCriteriuDenumire)') = 'N' + Thisform.ncritDenumire = Val(lcCriteriuDenumire) + Endif + Thisform.ct_articole.Value = Thisform.ncritDenumire + + *!* Thisform.ct_codmat.Value = 2 + *!* modificare v 2.0.56 ^ + Thisform.txtCodmat.Value = [] + *Thisform.ct_articole.Value = 1 + Thisform.txtArticole.Value = [] + Thisform.cfiltru = [] + Select crsarticole + Set Filter To + Go Top + Thisform.grd_articole.SetFocus() + + ENDPROC + + PROCEDURE do_scrie_articole + Local llReturn,lcSql,lnSucces + llReturn = .T. + If Thisform.do_deschide_tranzactie() + lcSql = gcS + [.pack_facturare.initializeaza_date_factura(to_date('] + Dtoc(poDate.dataireg,1)+[','YYYYMMDD'),] + ; + Alltrim(Str(poDate.id_fdoc)) + [,to_date('] + Dtoc(poDate.dataact,1) + [','YYYYMMDD'),] + ; + [NULL,'] + Alltrim(Nvl(poDate.serie_act,[])) + [',] + ; + Alltrim(Str(poDate.nract,14,0)) + [,] + Alltrim(Str(poDate.id_client)) + [,] + Alltrim(Str(poDate.id_lucrare)) + [,] + ; + Iif(IsNull(poDate.id_sectie),[NULL],Alltrim(Str(poDate.id_sectie))) + [,] + ; + Iif(IsNull(poDate.id_venchelt),[NULL],Alltrim(Str(poDate.id_venchelt))) + [,] + ; && modificare v 2.0.46 + Iif(IsNull(poDate.id_responsabil),[NULL],Alltrim(Str(poDate.id_responsabil))) + [,] + ; + IIF(EMPTY(nvl(poDate.explicatia4,[])),[NULL],['] + OracleSpecialCharacters(ALLTRIM(poDate.explicatia4))+[']) + [,] + ; && modificare ROACONTRACTE v 2.0.42 + [NULL,'] + Alltrim(Nvl(poDate.listaid,'')) + [','] + Alltrim(Nvl(poDate.descriere,'')) + [',] + ; + Alltrim(Str(poDate.Tip)) + [,] + Alltrim(Str(poDate.id_set)) + [,] + ; + [to_date('] + Dtoc(poDate.zi_curs,1) + [','YYYYMMDD'),] + Alltrim(Str(poDate.id_valuta)) + [,] + ; + Alltrim(Str(poDate.in_valuta)) + [,] + ; + alltrim(str(poDate.tva_incasare)) + [,] + ; + Iif(IsNull(gnIdSucursala),[NULL],Alltrim(Str(gnIdSucursala))) + [,] + Alltrim(Str(gnIdUtil)) + [);] + lcSql = [begin ] + lcSql + [ end;] + + lnSucces = goExecutor.oExecute(lcSql) + If lnSucces<0 + amessagebox(goExecutor.oPrelucrareEroare(),16,"Eroare") + llReturn = .F. + Else + Private poArt + lcSql = [] + *!* modificare v 2.0.23 + *!* Select crsarticole + *!* Scan for cantitate <> 0 + *!* modificare v 2.0.56 + *!* Dimension laStructura(1,18) + *!* Afields(laStructura,[crsarticole]) + *!* Create Cursor crsarticoleord From Array laStructura + copiaza_structura_cursor([crsarticole],[crsarticoleord]) + *!* modificare v 2.0.56 ^ + Release laStructura + Insert Into crsarticoleord Select * From crsarticole Where cantitate <> 0 Order By id_comanda,id_comanda_element + Select crsarticoleord + Scan + *!* modificare v 2.0.23 ^ + Scatter Name poArt MEMO + lcSql = lcSql + gcS + [.pack_facturare.adauga_articol_lucrare_pret(] + Alltrim(Str(poArt.id_comanda)) + [,] + ; + Alltrim(Str(poArt.id_articol)) + [,] + Alltrim(Str(poArt.id_pol)) + [,] + ; + Alltrim(Str(poArt.cantitate,18,gnPCant)) + [,] + ; + Alltrim(Nvl(poArt.Cont,'')) + [,] + Alltrim(Str(poArt.Curs,18,gnPCurs)) + [,] + ; + ALLTRIM(STR(poArt.multiplicator,10)) + [,] + ; + Alltrim(Nvl(Str(thisform.nid_jtva_coloana),[NULL])) + [,] + Alltrim(Str(poArt.id_gestiune)) + [,] + ; + Alltrim(Str(gnIdUtil)) + [,]+Alltrim(Str(poart.pret,20,4))+[);] + lcSql = [begin ] + lcSql + [ end;] + lnSucces = goExecutor.oExecute(lcSql) + If lnSucces < 0 + amessagebox(goExecutor.oPrelucrareEroare(),0+16,"Eroare") + llReturn = .F. + Exit + Else + lcSql = [] + Endif + Endscan + *!* modificare v 2.0.23 + If Used('crsarticoleord') + Use In crsarticoleord + Endif + *!* modificare v 2.0.23 ^ + If !Empty(lcSql) And llReturn + lcSql = [begin ] + lcSql + [ end;] + lnSucces = goExecutor.oExecute(lcSql) + If lnSucces < 0 + amessagebox(goExecutor.oPrelucrareEroare(),0+16,"Eroare") + llReturn = .F. + Endif + Endif + Endif + Else + llReturn = .F. + Endif + If !llReturn + Thisform.do_inchide_tranzactie(2) + Endif + Release poArt + Return llReturn + ENDPROC + + PROCEDURE do_scrie_factura + *!* emitere avize / facturi + Private pnDiscount, pnParametruAditional, pcSirDifAcont, pcSirDifPart + Local llReturn,lnSucces,lnCantitateRamasa,lcSql,lnIdSerie + pcSirDifAcont = [] + pcSirDifPart = [] + lcCursorVerificare = [crsact] + lcCursorFinal = [actactan] + llReturn = .T. + pnDiscount = Thisform.ndiscfactron + *!* facturare pe baza de comanda / avize pe baza de comanda + Select crsarticole + *!* modificare v 2.0.58 : am adaugat poDate.nid_vanzare + *!* modificare v 2.0.90 + *!* lcSql = [{call ] + gcS + [.pack_facturare.scrie_avize_lucrare(] + Alltrim(Str(pnDiscount,18,gnPc)) + [,] + ; + *!* Alltrim(Str(poDate.discount_evidentiat)) + [,] + ; + *!* Iif(Inlist(poDate.rezultat_serii,1,3),Alltrim(Str(poGeneratorNumere.getIdSerie(6))),[NULL]) + [,?@poDate.nid_vanzare)}] + lnIdSerie = IIF(Inlist(poDate.rezultat_serii,1,3),poGeneratorNumere.getIdSerie(6),Null) + lcSql = [{call ] + gcS + [.pack_facturare.scrie_avize_lucrare(] + Alltrim(Str(pnDiscount,18,gnPC)) + [,] + ; + Alltrim(Str(poDate.discount_evidentiat)) + [,] + ; + Iif(Isnull(lnIdSerie),[NULL],Alltrim(Str(lnIdSerie))) + [,?@poDate.nid_vanzare)}] + *!* modificare v 2.0.90 ^ + If Thisform.do_scrie_articole() + lnSucces = goExecutor.oExecute(lcSql,lcCursorVerificare) + If lnSucces<0 + amessagebox(goExecutor.oPrelucrareEroare(),16,"Eroare") + llReturn = .F. + Else + gnButon = 1 + If Reccount(lcCursorVerificare)>0 + Select a.*,a.suma As totftva, a.suma As tottva, Ttod(a.dataactt) As dataact, ; + Ttod(a.datairegt) As dataireg, Ttod(a.datascadt) As datascad, ; + 0 As pozitie_1, 0 As pozitie_2 From (lcCursorVerificare) a Into Cursor (lcCursorFinal) Readwrite + Use In (lcCursorVerificare) + Select (lcCursorFinal) + Do Form verificare With .T.,.T. + If gnButon = 1 + Select (lcCursorFinal) + Scan For Nvl(ascd,'') <> Nvl(ascd1,'') Or Nvl(ascc,'') <> Nvl(ascc1,'') Or ; + NVL(id_partd,0) <> Nvl(id_partd1,0) Or Nvl(id_partc,0) <> Nvl(id_partc1,0) + If Nvl(ascd,'') <> Nvl(ascd1,'') Or Nvl(ascc,'') <> Nvl(ascc1,'') + pcSirDifAcont = pcSirDifAcont + Alltrim(Str(id_act)) + [|] + Alltrim(Nvl(ascd,'')) + [|] + Alltrim(Nvl(ascc,'')) + [;] + Endif + If Nvl(id_partd,0) <> Nvl(id_partd1,0) Or Nvl(id_partc,0) <> Nvl(id_partc1,0) + If (Like([41*],scd) And Nvl(id_partd,0) <> Nvl(id_partd1,0)) ; + Or (Like([41*],scc) And Nvl(id_partc,0) <> Nvl(id_partc1,0)) + amessagebox("Nu puteti modifica clientul!",48,"Atentie") + Return .F. + Else + pcSirDifPart = pcSirDifPart + Alltrim(Str(id_act)) + [|] + Alltrim(Str(Nvl(id_partd,0))) + [|] + Alltrim(Str(Nvl(id_partc,0))) + [;] + Endif + Endif + Endscan + lnReturn = 1 + *!* modificare v 2.0.58 + *!* lcSql = [begin ] + gcS + [.pack_facturare.finalizeaza_scriere_verificare(?pnDiscount,NULL,] + ; + *!* [NULL,NULL,NULL,?pcSirDifAcont,?pcSirDifPart,0,); end;] + *!* modificare v 2.0.58 : am adaugat poDate.nid_vanzare + lcSql = [begin ] + gcS + [.pack_facturare.finalizeaza_scriere_verificare(] + Alltrim(Str(pnDiscount,20,gnPc)) + [,] + ; + [NULL,NULL,SYSDATE,NULL,NULL,'] + Alltrim(pcSirDifAcont) + [','] + Alltrim(pcSirDifPart) + [',] + ; + [0,?@poDate.nid_vanzare); end;] + *!* modificare v 2.0.58 ^ + lnSucces = goExecutor.oExecute(lcSql) + If lnSucces<0 And lnReturn = 1 + amessagebox(goExecutor.oPrelucrareEroare(),16,"Eroare") + gnButon = 2 + llReturn = .F. + Endif + Endif + Use In (lcCursorFinal) + Endif + If gnButon <> 1 + llReturn = .F. + Endif + Endif + If llReturn + llReturn = Thisform.do_inchide_tranzactie(1) + Else + Thisform.do_inchide_tranzactie(2) + Endif + Else + llReturn = .F. + Endif + Return llReturn + ENDPROC + + PROCEDURE inainte_de_do_termin + Local plReturn,llContinuare,lcMesajEroare, lcMesaj2,lcMesaj3 + Store .F. To plReturn + Store .T. To llContinuare + Store '' To lcMesajEroare, lcMesaj2,lcMesaj3 + + + lccontrol = Upper(This.ActiveControl.BaseClass ) + If Inlist(lccontrol,"TEXTBOX","EDITBOX","COMBOBOX") + lcval=This.ActiveControl.ControlSource + &lcval=Thisform.ActiveControl.Value + Endif + + If Used('crsver') + Use In crsver + Endif + + lnTotalFactura = Thisform.ntotalron + poDate.totalctva = lnTotalFactura + + Select Count(*) As nr From crsarticole Where cantitate > 0 Into Cursor crsver + Select crsver + lnNr = nr + If lnNr = 0 + amessagebox("Nu exista cantitati pentru avizat!",48,"Atentie") + llContinuare = .F. + plReturn = .F. + Endif + + If Used('crsver') + Use In crsver + Endif + + If lnTotalFactura = 0 And llContinuare + If amessagebox("Avizul are totalul 0. Doriti sa continuati?",4+48+256,"Confirmare") = 7 + llContinuare = .F. + plReturn = .F. + Thisform.grd_articole.SetFocus() + Endif + Endif + + If llContinuare + *!* modificare v 2.0.19 : am inlocuit sum(cant_com) cu sum(cant_ramasa) + Select Distinct id_articol,cant_stoc,denumire,codmat,Sum(cantitate) As cantitate,Sum(cant_ramasa) As cant_com ; + From crsarticole With (Buffering = .T.) ; + GROUP By id_articol,cant_stoc,denumire,codmat ; + Into Cursor crsver + Select crsver + Scan + If cantitate > cant_stoc and cantitate <> 0 && modificare v 2.0.65 + If Empty(lcMesajEroare) + lcMesajEroare = 'A fost avizata o cantitate mai mare decat este in stoc din: '+CRLF+CRLF + Endif + lcMesajEroare = lcMesajEroare + Chr(9) + Alltrim(Nvl(codmat,[]))+' '+Alltrim(denumire) + CRLF + llContinuare = .F. + plReturn = .F. + Endif + If cantitatecantitate + If Empty(lcMesaj2) + lcMesaj2= 'Exista cantitatea necesara in stoc dar cantitatea avizata este diferita de cea ramasa la: '+CRLF+CRLF + Endif + lcMesaj2 = lcMesaj2 + Chr(9) + Alltrim(Nvl(codmat,[])) +' '+Alltrim(denumire) + CRLF + Endif + If cantitate>cant_com + If Empty(lcMesaj3) + lcMesaj3= 'Cantitatea avizata este mai mare decat cantitatea ramasa la: '+CRLF+CRLF + Endif + lcMesaj3 = lcMesaj3 + Chr(9) + Alltrim(Nvl(codmat,[])) +' '+Alltrim(denumire) + CRLF + Endif + Select crsver + Endscan + If !Empty(lcMesajEroare) + amessagebox(lcMesajEroare,16,'Eroare avizare') + Else + If !Empty(lcMesaj2) + lcMesaj2 = lcMesaj2+CRLF+ 'Continuati?' + If amessagebox(lcMesaj2,4+48,'Atentie') = 7 + llContinuare = .F. + plReturn = .F. + Endif + Endif + If !Empty(lcMesaj3) and llContinuare + lcMesaj3 = lcMesaj3+CRLF+ 'Continuati?' + If amessagebox(lcMesaj3,4+48,'Atentie') = 7 + llContinuare = .F. + plReturn = .F. + Endif + Endif + Endif + If Used('crsver') + Use In crsver + Endif + If llContinuare + plReturn = Thisform.do_scrie_factura() + Endif + Endif + + Return plReturn + ENDPROC + + PROCEDURE Init + *!* 14.07.2016 + *!* marius.mutu + *!* criteriu initial articole + + Local lcTipDoc + Local lcCriteriuCod, lcCriteriuDenumire, lcFiltru + *:Global gcAcces + lcTipDoc = [factura] + *!* modificare v 2.0.56 + lcCriteriuCod = goExport.citesteSetareRegistru("CRITCOD") + If !Empty(lcCriteriuCod) And Type('VAL(lcCriteriuCod)') = 'N' + Thisform.ncritcod = Val(lcCriteriuCod) + Endif + Thisform.ct_codmat.Value = Thisform.ncritcod + *!* modificare v 2.0.56 ^ + + lcCriteriuDenumire = goExport.citesteSetareRegistru("CRITDENUMIRE") + If !Empty(lcCriteriuDenumire) And Type('VAL(lcCriteriuDenumire)') = 'N' + Thisform.ncritDenumire = Val(lcCriteriuDenumire) + Endif + Thisform.ct_articole.Value = Thisform.ncritDenumire + + *!* modificare v 2.0.26 + gcAcces = [2;] + *!* modificare v 2.0.26 ^ + DoDefault() + If !Used('crsgestiunidest') Or (Used('crsgestiunidest') And Reccount('crsgestiunidest') = 2 ) + Thisform.RemoveObject('lb_gestiuni_dest') + Thisform.RemoveObject('cb_gestiuni_dest') + Else + Thisform.cb_gestiuni_dest.RowSource = [crsgestiunidest.nume_gestiune,id_gestiune] + Select crsgestiunidest + Go Top + Thisform.cb_gestiuni_dest.Value = Alltrim(nume_gestiune) + Endif + + If !Used('crscursuri') Or Reccount('crscursuri') = 0 + Thisform.RemoveObject('lb_cursuri') + Thisform.RemoveObject('grd_cursuri') + Endif + + lcTipDoc = [aviz] + This.cmesaj_cantitate = [A fost avizata intreaga cantitate comandata pentru acest articol!] + + Thisform.clb_total_factura.lb_explicatie.Caption = [TOTAL AVIZE] + Thisform.clb_total_baza.do_actualizeaza_lbval(poDate.nume_valuta) + Thisform.clb_total_factura.do_actualizeaza_lbval(poDate.nume_valuta) + Thisform.clb_total_tva.do_actualizeaza_lbval(poDate.nume_valuta) + + Thisform.grd_articole.cCantitate.DynamicForeColor = "IIF(cantitate=33 And nKeyCode <=122) And (lcControl = 'GRD_ARTICOLE') + Case (nKeyCode >=33 And nKeyCode <=122) And (!InList(lcControl,'GRD_ARTICOLE','CCANTITATE','CPRETCTVA','TXTCODMAT')) + Nodefault + With This.txtArticole + .Value = Alltrim(.Value) + Chr(nKeyCode) + .SetFocus() + Endwith + Keyboard '{END}' + Case (nKeyCode = 127) And (!InList(lcControl,'GRD_ARTICOLE','CCANTITATE','CPRETCTVA','TXTCODMAT')) && backspace + Nodefault + With This.txtArticole + .Value = Left(Alltrim(.Value),Len(Alltrim(.Value))-1) + .SetFocus() + Endwith + Keyboard '{END}' + Case InList(lcControl,'TXTARTICOLE','TXTCODMAT') And nKeyCode = 13 + Nodefault + If Used('crsarticole') + *!* modificare v 2.0.26 + Thisform.do_cauta() + *!* Select crsarticole + *!* lnRecno = Recno() + *!* lcFiltru = Thisform.do_creeaza_filtru(Thisform.ct_articole,[denumire],Alltrim(Strtran(Thisform.txtArticole.Value,['],['']))) + *!* lcFiltru = lcFiltru + [ AND ] + Thisform.do_creeaza_filtru(Thisform.ct_codmat,[codmat],Alltrim(Strtran(Thisform.txtcodmat.Value,['],['']))) + *!* Locate for &lcFiltru + *!* If Found() + *!* Thisform.grd_articole.SetFocus() + *!* Else + *!* amessagebox("Articolul nu a fost gasit!",48,"Atentie") + *!* Go lnRecno + *!* Thisform.txtArticole.SetFocus() + *!* Endif + *!* modificare v 2.0.26 ^ + Endif + Case nKeyCode=27 And nShiftAltCtrl=0 + Nodefault + If amessagebox("Sunteti sigur ca doriti sa inchideti fereastra?",4+32+256,"Confirmare")==6 + This.do_renunt() + Endif + Case nKeyCode=6 And nShiftAltCtrl=2 + Nodefault + This.do_termin() + Endcase + + ENDPROC + + PROCEDURE Cb_explicatie_Tva._cbbase1.InteractiveChange + Select jtva_coloane + Thisform.nid_jtva_coloana = id_jtva_coloana + ENDPROC + + PROCEDURE cb_gestiuni_dest.InteractiveChange + Select crsgestiunidest + lcFiltru = Iif(id_gestiune=-9999,[.T.],[id_gestiune = ] + Alltrim(Str(id_gestiune))) + save_grid_tag(Thisform.grd_articole) + Select crsarticole + Set Filter To &lcFiltru + Go Top + restore_grid_tag(Thisform.grd_articole) + Thisform.txtArticole.SetFocus() + + ENDPROC + + PROCEDURE ct_articole.InteractiveChange + With Thisform.txtArticole + If This.Value>5 + .Value="" + .ReadOnly=.T. + Else + .ReadOnly=.F. + .SetFocus() + Endif + Endwith + ENDPROC + + PROCEDURE ct_codmat.InteractiveChange + With Thisform.txtcodmat + If This.Value>5 + .Value="" + .ReadOnly=.T. + Else + .ReadOnly=.F. + .SetFocus() + Endif + Endwith + + ENDPROC + + PROCEDURE grd_articole.cCantitate.Text1.GotFocus + *!* modificare v 2.0.25 + Thisform.ncantitate_init = This.Value + *!* modificare v 2.0.25 ^ + ENDPROC + + PROCEDURE grd_articole.cCantitate.Text1.KeyPress + Lparameters nKeyCode, nShiftAltCtrl + If Inlist(nKeyCode,9,13) + Nodefault + Skip In crsarticole + Endif + + ENDPROC + + PROCEDURE grd_articole.cCantitate.Text1.LostFocus + Thisform.do_calculeaza_totaluri() + *!* modificare v 2.0.25 + If This.Value <> Thisform.ncantitate_init + Select crsarticole + Thisform.do_calculeaza_cant_disp(This.Value,id_articol,Cont) + Endif + Thisform.ncantitate_init = 0 + *!* modificare v 2.0.25 ^ + ENDPROC + + PROCEDURE grd_articole.cPret.Text1.LostFocus + Thisform.do_calculeaza_totaluri() + ENDPROC + +ENDDEFINE + +DEFINE CLASS frm_date_aviz AS _frmbase OF "_frm_base.vcx" + *< CLASSDATA: Baseclass="form" Timestamp="" Scale="Pixels" Uniqueid="" /> + + *-- OBJECTDATA items order determines ZOrder / El orden de los items OBJECTDATA determina el ZOrder + *< OBJECTDATA: ObjPath="But_renunt1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="Clb_nract" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="Ct_clb_fdoc" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="Ct_clb_nume_client" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="Ct_clb_responsabil" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="Ct_clb_altele" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="Ct_clb_politici_preturi" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="Clb_serie_act" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="Ct_clb_lucrare" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="Ct_clb_sectie" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="Ct_clb_gestiune_init" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="Ct_clb_venchelt" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="Clb_dataireg" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="Clb_zi_curs" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="Clb_dataact" UniqueID="" Timestamp="" /> + + * + *m: do_cauta_altele + *m: do_cauta_avize + *m: do_cauta_client + *m: do_cauta_comanda + *m: do_cauta_contract + *m: do_cauta_fdoc + *m: do_cauta_gestiune_dest + *m: do_cauta_gestiune_init + *m: do_cauta_lucrare + *m: do_cauta_politica + *m: do_cauta_responsabil + *m: do_cauta_sectie + *m: do_cauta_venchelt + *p: cgestiune_init && Numele gestiunii alese ca gestiune din care se face scaderea din stoc. + *p: lcopiere && Copiere factura/aviz + *p: nid + *p: nid_tip + *p: ntip + * + + * + cgestiune_init = + DoCreate = .T. + Height = 455 + lcopiere = .F. + Name = "frm_date_aviz" + nid_tip = 0 + ntip = + Width = 383 + _memberdata = + + + _shape1.Height = 29 + _shape1.Left = 0 + _shape1.Name = "_shape1" + _shape1.Top = 0 + _shape1.Width = 384 + _shape2.Height = 29 + _shape2.Left = 315 + _shape2.Name = "_shape2" + _shape2.Top = 0 + _shape2.Width = 69 + Lb_titlu_alb_b121.Caption = "AVIZ DE EXPEDIÞIE" + Lb_titlu_alb_b121.FontBold = .T. + Lb_titlu_alb_b121.FontCharSet = 238 + Lb_titlu_alb_b121.Name = "Lb_titlu_alb_b121" + Lb_titlu_alb_b121.TabIndex = 17 + BUT_TERMIN1.Height = 27 + BUT_TERMIN1.Left = 351 + BUT_TERMIN1.Name = "BUT_TERMIN1" + BUT_TERMIN1.TabIndex = 15 + BUT_TERMIN1.Top = 1 + BUT_TERMIN1.Width = 30 + Gridsort1.Left = 360 + Gridsort1.Name = "Gridsort1" + Gridsort1.Top = 35 + * + + ADD OBJECT 'But_renunt1' AS but_renunt WITH ; + Height = 27, ; + Left = 319, ; + Name = "But_renunt1", ; + TabIndex = 16, ; + Top = 1, ; + Width = 30 + *< END OBJECT: ClassLib="cmd_butoane.vcx" BaseClass="commandbutton" /> + + ADD OBJECT 'Clb_dataact' AS clb_tx_data WITH ; + Height = 29, ; + Left = 25, ; + Name = "Clb_dataact", ; + TabIndex = 3, ; + Top = 103, ; + Width = 314, ; + Text_simplu1.ControlSource = "poDate.dataact", ; + Text_simplu1.Height = 23, ; + Text_simplu1.Left = 126, ; + Text_simplu1.Name = "Text_simplu1", ; + Text_simplu1.Top = 3, ; + Text_simplu1.Width = 150, ; + Lb_simplu1.Caption = "Data documentului", ; + Lb_simplu1.Name = "Lb_simplu1", ; + Cmd_buton1.Left = 280, ; + Cmd_buton1.Name = "Cmd_buton1", ; + Cmd_buton1.Top = 2 + *< END OBJECT: ClassLib="lb_tx.vcx" BaseClass="container" /> + + ADD OBJECT 'Clb_dataireg' AS clb_tx_data WITH ; + Height = 29, ; + Left = 25, ; + Name = "Clb_dataireg", ; + TabIndex = 1, ; + Top = 47, ; + Width = 314, ; + Text_simplu1.ControlSource = "poDate.dataireg", ; + Text_simplu1.Height = 23, ; + Text_simplu1.Left = 126, ; + Text_simplu1.Name = "Text_simplu1", ; + Text_simplu1.Top = 3, ; + Text_simplu1.Width = 150, ; + Lb_simplu1.Caption = "Datã înregistrare", ; + Lb_simplu1.Name = "Lb_simplu1", ; + Cmd_buton1.Left = 280, ; + Cmd_buton1.Name = "Cmd_buton1", ; + Cmd_buton1.Top = 2 + *< END OBJECT: ClassLib="lb_tx.vcx" BaseClass="container" /> + + ADD OBJECT 'Clb_nract' AS clb_tx_simplu WITH ; + Height = 29, ; + Left = 25, ; + Name = "Clb_nract", ; + TabIndex = 6, ; + Top = 187, ; + Width = 314, ; + Text_simplu1.ControlSource = "poDate.nract", ; + Text_simplu1.InputMask = (get_mask(14,0)), ; + Text_simplu1.Left = 126, ; + Text_simplu1.Name = "Text_simplu1", ; + Text_simplu1.Top = 3, ; + Lb_simplu1.Caption = "Nr. documentului", ; + Lb_simplu1.Left = 8, ; + Lb_simplu1.Name = "Lb_simplu1", ; + Lb_simplu1.Top = 6 + *< END OBJECT: ClassLib="lb_tx.vcx" BaseClass="container" /> + + ADD OBJECT 'Clb_serie_act' AS clb_serie_act WITH ; + cvariabila = serie_act, ; + cvariabiladoc = nract, ; + Left = 25, ; + Name = "Clb_serie_act", ; + nid_tipdoc = 6, ; + pcobj = poDate, ; + TabIndex = 5, ; + Top = 159, ; + Text_simplu1.ControlSource = "poDate.serie_act", ; + Text_simplu1.Name = "Text_simplu1", ; + _cbbase1.Name = "_cbbase1", ; + _lbbase1.Name = "_lbbase1" + *< END OBJECT: ClassLib="serii_numere.vcx" BaseClass="container" /> + + ADD OBJECT 'Clb_zi_curs' AS clb_tx_data WITH ; + Height = 29, ; + Left = 25, ; + Name = "Clb_zi_curs", ; + TabIndex = 4, ; + Top = 131, ; + Width = 314, ; + Text_simplu1.ControlSource = "poDate.zi_curs", ; + Text_simplu1.Height = 23, ; + Text_simplu1.Left = 126, ; + Text_simplu1.Name = "Text_simplu1", ; + Text_simplu1.Top = 3, ; + Text_simplu1.Width = 150, ; + Lb_simplu1.Caption = "Data cursului valutar", ; + Lb_simplu1.Name = "Lb_simplu1", ; + Cmd_buton1.Left = 280, ; + Cmd_buton1.Name = "Cmd_buton1", ; + Cmd_buton1.Top = 2 + *< END OBJECT: ClassLib="lb_tx.vcx" BaseClass="container" /> + + ADD OBJECT 'Ct_clb_altele' AS ct_clb_cautare WITH ; + cconditie = ISNULL(poDate.listaid) or EMPTY(poDate.listaid), ; + cprocedura = thisform.do_cauta_altele, ; + cvar_afisata = poDate.descriere, ; + Left = 24, ; + Name = "Ct_clb_altele", ; + TabIndex = 12, ; + Top = 354, ; + img_cautare.Name = "img_cautare", ; + clb_tx_cautare.LB_SIMPLU1.Caption = "Altele", ; + clb_tx_cautare.LB_SIMPLU1.Name = "LB_SIMPLU1", ; + clb_tx_cautare.Name = "clb_tx_cautare", ; + clb_tx_cautare.TEXT_SIMPLU1.Name = "TEXT_SIMPLU1" + *< END OBJECT: ClassLib="caut_ora.vcx" BaseClass="container" /> + + ADD OBJECT 'Ct_clb_fdoc' AS ct_clb_cautare WITH ; + cconditie = ISNULL(poDate.id_fdoc) or EMPTY(poDate.id_fdoc), ; + cprocedura = thisform.do_cauta_fdoc, ; + cvar_afisata = poDate.fdoc, ; + Left = 24, ; + Name = "Ct_clb_fdoc", ; + TabIndex = 2, ; + Top = 74, ; + img_cautare.Name = "img_cautare", ; + clb_tx_cautare.LB_SIMPLU1.Caption = "Felul documentului", ; + clb_tx_cautare.LB_SIMPLU1.Name = "LB_SIMPLU1", ; + clb_tx_cautare.Name = "clb_tx_cautare", ; + clb_tx_cautare.TEXT_SIMPLU1.Name = "TEXT_SIMPLU1" + *< END OBJECT: ClassLib="caut_ora.vcx" BaseClass="container" /> + + ADD OBJECT 'Ct_clb_gestiune_init' AS ct_clb_cautare WITH ; + cprocedura = thisform.do_cauta_gestiune_init, ; + cvar_afisata = thisform.cgestiune_init, ; + Left = 24, ; + Name = "Ct_clb_gestiune_init", ; + TabIndex = 14, ; + ToolTipText = " Daca nu alegeti gestiunea, la scaderea din stoc a unui articol va vor fi aratate stocurile tuturor gestiunilor pe care aveti drepturi.", ; + Top = 410, ; + img_cautare.Name = "img_cautare", ; + clb_tx_cautare.Lb_simplu1.Caption = "Gestiune sursã", ; + clb_tx_cautare.Lb_simplu1.Name = "Lb_simplu1", ; + clb_tx_cautare.Name = "clb_tx_cautare", ; + clb_tx_cautare.Text_simplu1.Name = "Text_simplu1" + *< END OBJECT: ClassLib="caut_ora.vcx" BaseClass="container" /> + + ADD OBJECT 'Ct_clb_lucrare' AS ct_clb_cautare WITH ; + cconditie = EMPTY(NVL(poDate.id_lucrare,0)), ; + cprocedura = thisform.do_cauta_lucrare, ; + cvar_afisata = poDate.nrord, ; + Left = 24, ; + Name = "Ct_clb_lucrare", ; + TabIndex = 8, ; + Top = 242, ; + IMG_CAUTARE.Name = "IMG_CAUTARE", ; + CLB_TX_CAUTARE.LB_SIMPLU1.Caption = "Lucrare", ; + CLB_TX_CAUTARE.LB_SIMPLU1.Name = "LB_SIMPLU1", ; + CLB_TX_CAUTARE.Name = "CLB_TX_CAUTARE", ; + CLB_TX_CAUTARE.TEXT_SIMPLU1.Name = "TEXT_SIMPLU1" + *< END OBJECT: ClassLib="caut_ora.vcx" BaseClass="container" /> + + ADD OBJECT 'Ct_clb_nume_client' AS ct_clb_cautare WITH ; + cconditie = ISNULL(poDate.id_client) or EMPTY(poDate.id_client), ; + cprocedura = thisform.do_cauta_client, ; + cvar_afisata = poDate.nume_client, ; + Left = 24, ; + Name = "Ct_clb_nume_client", ; + TabIndex = 7, ; + Top = 214, ; + img_cautare.Name = "img_cautare", ; + clb_tx_cautare.LB_SIMPLU1.Caption = "Nume client", ; + clb_tx_cautare.LB_SIMPLU1.Name = "LB_SIMPLU1", ; + clb_tx_cautare.Name = "clb_tx_cautare", ; + clb_tx_cautare.TEXT_SIMPLU1.Name = "TEXT_SIMPLU1" + *< END OBJECT: ClassLib="caut_ora.vcx" BaseClass="container" /> + + ADD OBJECT 'Ct_clb_politici_preturi' AS ct_clb_cautare WITH ; + cconditie = ISNULL(poDate.id_pol) or EMPTY(poDate.id_pol), ; + cprocedura = thisform.do_cauta_politica, ; + cvar_afisata = poDate.nume_politica, ; + Left = 24, ; + Name = "Ct_clb_politici_preturi", ; + TabIndex = 13, ; + Top = 382, ; + img_cautare.Name = "img_cautare", ; + clb_tx_cautare.LB_SIMPLU1.Caption = "Politica de preþuri", ; + clb_tx_cautare.LB_SIMPLU1.Name = "LB_SIMPLU1", ; + clb_tx_cautare.Name = "clb_tx_cautare", ; + clb_tx_cautare.TEXT_SIMPLU1.Name = "TEXT_SIMPLU1" + *< END OBJECT: ClassLib="caut_ora.vcx" BaseClass="container" /> + + ADD OBJECT 'Ct_clb_responsabil' AS ct_clb_cautare WITH ; + cconditie = EMPTY(NVL(poDate.id_responsabil,0)), ; + cprocedura = thisform.do_cauta_responsabil, ; + cvar_afisata = poDate.responsabil, ; + Left = 24, ; + Name = "Ct_clb_responsabil", ; + TabIndex = 11, ; + Top = 326, ; + img_cautare.Name = "img_cautare", ; + clb_tx_cautare.LB_SIMPLU1.Caption = "Responsabil", ; + clb_tx_cautare.LB_SIMPLU1.Name = "LB_SIMPLU1", ; + clb_tx_cautare.Name = "clb_tx_cautare", ; + clb_tx_cautare.TEXT_SIMPLU1.Name = "TEXT_SIMPLU1" + *< END OBJECT: ClassLib="caut_ora.vcx" BaseClass="container" /> + + ADD OBJECT 'Ct_clb_sectie' AS ct_clb_cautare WITH ; + cconditie = EMPTY(NVL(poDate.id_sectie,0)), ; + cprocedura = thisform.do_cauta_sectie, ; + cvar_afisata = poDate.sectie, ; + Left = 24, ; + Name = "Ct_clb_sectie", ; + TabIndex = 9, ; + Top = 270, ; + IMG_CAUTARE.Name = "IMG_CAUTARE", ; + CLB_TX_CAUTARE.LB_SIMPLU1.Caption = "Secþie", ; + CLB_TX_CAUTARE.LB_SIMPLU1.Name = "LB_SIMPLU1", ; + CLB_TX_CAUTARE.Name = "CLB_TX_CAUTARE", ; + CLB_TX_CAUTARE.TEXT_SIMPLU1.Name = "TEXT_SIMPLU1" + *< END OBJECT: ClassLib="caut_ora.vcx" BaseClass="container" /> + + ADD OBJECT 'Ct_clb_venchelt' AS ct_clb_cautare WITH ; + cconditie = EMPTY(NVL(poDate.id_venchelt,0)), ; + cprocedura = thisform.do_cauta_venchelt, ; + cvar_afisata = poDate.venchelt, ; + Left = 24, ; + Name = "Ct_clb_venchelt", ; + TabIndex = 10, ; + Top = 298, ; + img_cautare.Name = "img_cautare", ; + clb_tx_cautare.Lb_simplu1.Caption = "Venit / cheltuialã", ; + clb_tx_cautare.Lb_simplu1.Name = "Lb_simplu1", ; + clb_tx_cautare.Name = "clb_tx_cautare", ; + clb_tx_cautare.Text_simplu1.Name = "Text_simplu1" + *< END OBJECT: ClassLib="caut_ora.vcx" BaseClass="container" /> + + PROCEDURE do_cauta_altele + Do Case + Case Inlist(Thisform.nid_tip,23,41) + Thisform.do_cauta_gestiune_dest() + Case Inlist(Thisform.nid_tip,21,25,28,42,47) && modificare v 2.0.93 : am adaugat 47 + Thisform.do_cauta_comanda() + Case Thisform.nid_tip = 26 + Thisform.do_cauta_contract() + Case Thisform.nid_tip = 24 && aviz retur + Thisform.do_cauta_avize() + Endcase + + ENDPROC + + PROCEDURE do_cauta_avize + Local lcXMLAvize + If Empty(Nvl(poDate.id_client,0)) + amessagebox("Nu ati ales clientul!",0+48,"Atentie") + This.ct_clb_nume_client.SetFocus() + Else + lcXMLAvize = caut_avize(poDate.id_client) && oproceduri_facturare.prg + If !Empty(lcXMLAvize) + Xmltocursor(lcXMLAvize, "crsAvizeTemp") + Select id_vanzare,id_comanda,; + Padl(Iif(!Empty(Nvl(serie_act,[])),Alltrim(serie_act)+[ ],[])+Alltrim(Str(numar_act,20)),50,[ ]) As numar_act ; + From crsAvizeTemp Into Cursor crsAvizeTemp + + lcIdVanzare = cursor2lista("crsAvizeTemp", "id_vanzare", ",") + lcNumar_Act = cursor2lista("crsAvizeTemp", "numar_act", ",") + + poDate.listaid = lcIdVanzare + poDate.descriere = lcNumar_Act + AddProperty(poDate,"id_comanda_aviz",0) + Select crsAvizeTemp + Locate For Not Empty(ID_COMANDA) + If Found() + poDate.id_comanda_aviz=ID_COMANDA + Endif + Use In crsAvizeTemp + + This.ct_clb_altele.Refresh() + If Type('Thisform.ct_clb_gestiune_init.visible')<>'U' && modificare v 2.0.41 + This.ct_clb_gestiune_init.SetFocus() + Else + Thisform.but_TERMIN1.SetFocus() + Endif + Endif + Endif + ENDPROC + + PROCEDURE do_cauta_client + Local loCauta + Do Case + Case poDate.tip = 23 + loCauta = caut_gestiune_sursa([2,4,5,6,7]) && modificare v 2.0.71 : am adaugat 2 + If !Isnull(loCauta) And !Empty(loCauta.id_gestiune) + poDate.id_client = loCauta.id_gestiune + poDate.nume_client = loCauta.nume_gestiune + + poDate.listaid = [] + poDate.descriere = [] + Endif + *!* modificare v 2.0.16 + Case poDate.tip = 41 + loCauta = caut_gestiune_sursa([2,4,5,6,7]) + If !Isnull(loCauta) And !Empty(loCauta.id_gestiune) + poDate.id_client = loCauta.id_gestiune + poDate.nume_client = loCauta.nume_gestiune + + poDate.listaid = [] + poDate.descriere = [] + Endif + *!* modificare v 2.0.16 ^ + Case poDate.tip = 25 + loCauta = caut_gestiune_dest() + If !Isnull(loCauta) And !Empty(Nvl(loCauta.id_gestiune,0)) + poDate.id_client = loCauta.id_gestiune + poDate.nume_client = loCauta.nume_gestiune + + poDateGestiuneDest.id_gestiune = loCauta.id_gestiune + poDateGestiuneDest.id_tipgest = loCauta.id_tipgest + poDateGestiuneDest.Cont = Nvl(loCauta.Cont,[XXXX]) + poDateGestiuneDest.acont = Nvl(loCauta.acont,[XXXX]) + + lcSql = [begin ] + gcS + [.pack_facturare.cauta_date_comanda_gest(?poDate.id_client,?gnIdSucursala,] + ; + [?poDate.dataact,?@poDate.listaid,?@poDate.descriere); end;] + lnSucces = goExecutor.oExecute(lcSql) + If lnSucces < 0 + amessagebox(goExecutor.oPrelucrareEroare(),0+16,"Eroare") + poDate.listaid = [] + poDate.descriere = [] + Endif + + Endif + Otherwise + && modificare v 2.0.93 : am adaugat 47 + loCauta = CautPartenerContabilitate(GetHash([cTitlu=>Clienti??cCont=>]+Iif(INLIST(poDate.tip,42,47),[357],Iif(Inlist(poDate.tip,28,29),[461],Alltrim(gcCont411)))+[??lAdaugCorespondente=>1])) + If !Empty(Nvl(loCauta.id_part,0)) And !Empty(loCauta.denumire) + poDate.id_client = loCauta.id_part + poDate.nume_client = loCauta.denumire + + If Inlist(poDate.tip,21,28,42,47) && modificare v 2.0.93 : am adaugat 47 + lcSql = [begin ] + gcS + [.pack_facturare.cauta_date_comanda(?poDate.id_client,?gnIdSucursala,] + ; + [?poDate.dataact,?@poDate.listaid,?@poDate.descriere); end;] + lnSucces = goExecutor.oExecute(lcSql) + If lnSucces < 0 + amessagebox(goExecutor.oPrelucrareEroare(),0+16,"Eroare") + poDate.listaid = [] + poDate.descriere = [] + Endif + Else + poDate.listaid = [] + poDate.descriere = [] + Endif + + Endif + Endcase + + *!* modificare v 2.0.70 + If Type('thisform.ct_clb_altele.visible')<>'U' + This.ct_clb_altele.Refresh() + Endif + *!* modificare v 2.0.70 ^ + This.ct_clb_nume_client.Refresh() + This.ct_clb_lucrare.SetFocus() + ENDPROC + + PROCEDURE do_cauta_comanda + Local loCauta + If Empty(Nvl(poDate.id_client,0)) + amessagebox("Nu ati ales " + Iif(poDate.tip = 25,[gestiunea destinatie],[clientul]) + " !",0+48,"Atentie") + This.ct_clb_nume_client.SetFocus() + Else + If poDate.tip = 25 + loCauta = caut_comanda_gestiune(poDate.id_client) + Else + loCauta = caut_comanda_client(poDate.id_client) + Endif + If !Isnull(loCauta) And !Empty(Nvl(loCauta.id_comanda,0)) + poDate.listaid = loCauta.id_comanda + poDate.descriere = ALLTRIM(loCauta.nr_comanda) + This.ct_clb_altele.Refresh() + If Type('Thisform.ct_clb_gestiune_init.visible')<>'U' && modificare v 2.0.41 + This.ct_clb_gestiune_init.SetFocus() + Else + This.buT_TERMIN1.SetFocus() + Endif + Endif + Endif + + ENDPROC + + PROCEDURE do_cauta_contract + Local loCauta + If Empty(Nvl(poDate.id_client,0)) + amessagebox("Nu ati ales clientul!",0+48,"Atentie") + This.ct_clb_nume_client.SetFocus() + Else + *!* modificare v 2.0.67 + *!* loCauta = caut_contract_facturare(poDate.id_client) + *!* If !Isnull(loCauta) And !Empty(Nvl(loCauta.id_ctr,0)) + *!* poDate.listaid = loCauta.id_ctr + *!* poDate.descriere = loCauta.contract + *!* *!* If Inlist(loCauta.opt_facturare,3,4) And !Empty(loCauta.scadenta_incasare) + *!* *!* poDate.datascad = poDate.dataact + loCauta.scadenta_incasare + *!* *!* This.clb_data_scadenta.Refresh() + *!* *!* *!* Else + *!* *!* *!* poDate.datascad = Iif(gnScadentaAutomata=0,Gomonth(poDate.dataact,1),poDate.dataact+gnZileScadentaFact) + *!* *!* Endif + *!* This.ct_clb_altele.Refresh() + *!* *!* modificare v 2.0.41 + *!* If Inlist(loCauta.opt_facturare,3,4) + *!* If Type('Thisform.ct_clb_gestiune_init.visible')<>'U' + *!* Thisform.ct_clb_gestiune_init.Visible = .T. + *!* Thisform.ct_clb_gestiune_init.SetFocus() + *!* Else + *!* Thisform.but_termin1.SetFocus() + *!* Endif + *!* Else + *!* poDate.id_gestiune_init = Null + *!* Thisform.cgestiune_init = [] + *!* *!* If Type('Thisform.ct_clb_gestiune_init.visible')<>'U' + *!* *!* Thisform.ct_clb_gestiune_init.Refresh() + *!* *!* Thisform.ct_clb_gestiune_init.Visible = .F. + *!* *!* Endif + *!* *!* Thisform.but_termin1.SetFocus() + *!* amessagebox("Acest contract este in rate si nu se poate emite aviz pentru el!",48,"Atentie") + *!* Endif + *!* *!* modificare v 2.0.41 ^ + *!* *!* This.buT_TERMIN1.SetFocus() + *!* Endif + lcXMLContracte = caut_contract_facturare(poDate.id_client,[3,4]) + If !Empty(lcXMLContracte) And gnButon = 1 + Xmltocursor(lcXMLContracte, "crsCtrTemp") + poDate.listaid = cursor2lista("crsCtrTemp", "id_ctr", ",") + poDate.descriere = cursor2lista("crsCtrTemp", "contract", ",") + This.ct_clb_altele.Refresh() + If Type('Thisform.ct_clb_gestiune_init.visible')<>'U' + Thisform.ct_clb_gestiune_init.Visible = .T. + Thisform.ct_clb_gestiune_init.SetFocus() + Else + Thisform.but_termin1.SetFocus() + Endif + *!* Use In crsCtrTemp + Endif + *!* modificare v 2.0.67 ^ + Endif + ENDPROC + + PROCEDURE do_cauta_fdoc + Local loCauta + loCauta = caut_fdoc() + If !Isnull(loCauta) And !Empty(loCauta.fel_document) + poDate.id_fdoc = loCauta.id_fdoc + poDate.fdoc = loCauta.fel_document + + This.ct_clb_fdoc.Refresh() + This.clb_dataact.SetFocus() + Endif + + ENDPROC + + PROCEDURE do_cauta_gestiune_dest + Local loCauta + If Empty(NVL(poDate.id_client,0)) + amessagebox("Nu ati ales gestiunea " + Iif(poDate.tip = 41,"de la care se face returul!","sursa!") ,0+48,"Atentie") + This.ct_clb_nume_client.SetFocus() + Else + If poDate.tip = 41 + loCauta = caut_gestiune_dest(poDate.id_client,[2,4,5,6,7]) && modificare v 2.0.71 : am adaugat 2 + Else + loCauta = caut_gestiune_dest(poDate.id_client) + Endif + If !Isnull(loCauta) And !Empty(NVL(loCauta.id_gestiune,0)) + poDate.listaid = loCauta.id_gestiune + poDate.descriere = loCauta.nume_gestiune + + poDateGestiuneDest.id_gestiune = loCauta.id_gestiune + poDateGestiuneDest.id_tipgest = loCauta.id_tipgest + poDateGestiuneDest.Cont = Nvl(loCauta.Cont,[XXXX]) + poDateGestiuneDest.acont = Nvl(loCauta.acont,[XXXX]) + + This.ct_clb_altele.Refresh() + This.ct_clb_politici_preturi.SetFocus() + Endif + Endif + + ENDPROC + + PROCEDURE do_cauta_gestiune_init + loCauta = caut_gestiune(0,gnIdUtil) + If !Isnull(loCauta) And !Empty(loCauta.id_gestiune) + poDate.id_gestiune_init = loCauta.id_gestiune + Thisform.cgestiune_init = loCauta.nume_gestiune + Else + poDate.id_gestiune_init = Null + Thisform.cgestiune_init = [] + Endif + This.ct_clb_gestiune_init.Refresh() + This.buT_TERMIN1.SetFocus() + ENDPROC + + PROCEDURE do_cauta_lucrare + Local loCauta + LOCAL llToateIreg, llNou, lcFiltruOriginal + llToateIreg = .F. + llNou = .T. + lcFiltruOriginal = '' + + loCauta = caut_lucrare(m.llToateIreg, m.llNou, m.lcFiltruOriginal) + + If !Empty(Nvl(loCauta.id_lucrare,0)) + poDate.id_lucrare = loCauta.id_lucrare + poDate.nrord = loCauta.nrord + Else + poDate.id_lucrare = Null + poDate.nrord = [] + Endif + This.ct_clb_lucrare.Refresh() + This.ct_clb_sectie.SetFocus() + + ENDPROC + + PROCEDURE do_cauta_politica + Local loCauta + loCauta = caut_politici_curente_util() + If !Isnull(loCauta) And !Empty(Nvl(loCauta.id_pol,0)) + poDate.id_pol = loCauta.id_pol + poDate.nume_politica = loCauta.nume + + This.ct_clb_politici_preturi.SetFocus() + If Type('Thisform.ct_clb_gestiune_init.visible')<>'U' && modificare v 2.0.41 + This.ct_clb_gestiune_init.SetFocus() + Else + This.buT_TERMIN1.SetFocus() + Endif + Endif + + ENDPROC + + PROCEDURE do_cauta_responsabil + Local loCauta + loCauta = CautPartenerContabilitate(GetHash([cTitlu=>Responsabili??cTipuriParteneri=>]+Alltrim(Str(gnIdTipResponsabili))+[??lAdaugCorespondente=>1])) + If !Empty(Nvl(loCauta.id_part,0)) And !Empty(loCauta.denumire) + poDate.id_responsabil = loCauta.id_part + poDate.responsabil = loCauta.denumire + Else + poDate.id_responsabil = Null + poDate.responsabil = [] + Endif + This.ct_clb_responsabil.Refresh() + Do Case + Case Type('Thisform.ct_clb_altele.visible')<>'U' + This.ct_clb_altele.SetFocus() + Case Type('Thisform.ct_clb_gestiune_init.visible')<>'U' && modificare v 2.0.41 + This.ct_clb_gestiune_init.SetFocus() + Otherwise + This.buT_TERMIN1.SetFocus() + Endcase + + ENDPROC + + PROCEDURE do_cauta_sectie + Local loCauta + LOCAL lnPornire, llDesktop, llToateIreg, llNou, lcFiltruOriginal + lnPornire = 0 + llDesktop = .F. + llToateIreg = .F. + llNou = .T. + lcFiltruOriginal = '' + + loCauta = caut_sectie(lnPornire, llDesktop, m.llToateIreg, m.llNou, m.lcFiltruOriginal) + If !Empty(Nvl(loCauta.id_sectie,0)) + poDate.id_sectie = loCauta.id_sectie + poDate.sectie = loCauta.sectie + Else + poDate.id_sectie = Null + poDate.sectie = [] + Endif + This.ct_clb_sectie.Refresh() + + Do Case + *!* modificare v 2.0.46 + Case Type('thisform.ct_clb_venchelt.Visible')<>'U' + This.ct_clb_venchelt.SetFocus() + *!* modificare v 2.0.46 ^ + Case Type('thisform.ct_clb_responsabil.visible') <> 'U' + This.ct_clb_responsabil.SetFocus() + Case Type('thisform.ct_clb_altele.visible') <> 'U' + This.ct_clb_altele.Refresh() + This.ct_clb_altele.SetFocus() + Case Type('Thisform.ct_clb_gestiune_init.visible')<>'U' && modificare v 2.0.41 + This.ct_clb_gestiune_init.SetFocus() + Otherwise + This.buT_TERMIN1.SetFocus() + Endcase + ENDPROC + + PROCEDURE do_cauta_venchelt + *!* modificare v 2.0.46 + Local loCauta + LOCAL lnPornire, llDesktop, lnTip, lnId, llToateIreg, llNou, lcFiltruOriginal + lnPornire = 0 + llDesktop = .F. + lnTip = 2 && venituri + lnId = 0 + llToateIreg = .F. + llNou = .T. + lcFiltruOriginal = '' + loCauta = caut_venchelt(m.lnPornire, m.llDesktop, m.lnTip, m.lnId, m.llToateIreg, m.llNou, m.lcFiltruOriginal) + + If gnButon = 1 + poDate.id_venchelt = loCauta.id_venchelt + poDate.venchelt = loCauta.explicatie + Else + poDate.id_venchelt = Null + poDate.venchelt = [] + Endif + This.ct_clb_venchelt.Refresh() + Do Case + Case Type('thisform.ct_clb_responsabil.visible') <> 'U' + This.ct_clb_responsabil.SetFocus() + Case Type('thisform.ct_clb_altele.visible') <> 'U' + This.ct_clb_altele.Refresh() + This.ct_clb_altele.SetFocus() + Case Type('Thisform.ct_clb_gestiune_init.visible')<>'U' + This.ct_clb_gestiune_init.SetFocus() + Otherwise + This.buT_TERMIN1.SetFocus() + EndCase + *!* modificare v 2.0.46 ^ + ENDPROC + + PROCEDURE inainte_de_do_termin + Local plReturn,lcFacturi_dublate, llCopiere + Store .T. To plReturn + llCopiere = This.lCopiere && copiere factura/aviz + + lccontrol = Upper(This.ActiveControl.BaseClass ) + If Inlist(lccontrol,"TEXTBOX","EDITBOX","COMBOBOX") + lcval=This.ActiveControl.ControlSource + &lcval=Thisform.ActiveControl.Value + Endif + + Do Case + Case Empty(poDate.dataireg) + amessagebox("Nu ati completat data inregistrarii!",48,"Atentie") + This.clb_dataireg.SetFocus() + plReturn = .F. + Case Empty(poDate.dataact) + amessagebox("Nu ati completat data documentului!",48,"Atentie") + This.clb_dataact.SetFocus() + plReturn = .F. + Case Isnull(poDate.id_fdoc) Or Empty(poDate.id_fdoc) + amessagebox("Nu ati ales felul documentului!",48,"Atentie") + This.ct_clb_fdoc.SetFocus() + plReturn = .F. + Case Empty(poDate.nract) + amessagebox("Nu ati completat numarul documentului!",48,"Atentie") + This.clb_nract.SetFocus() + plReturn = .F. + Case !Between(poDate.dataireg,Date(gnAn,gnLuna,1),Gomonth(Date(gnAn,gnLuna,1),1)-1) + amessagebox("Data inregistrarii trebuie sa fie din luna "+Alltrim(Str(gnLuna))+"/"+Alltrim(Str(gnAn))+" !",48,"Atentie") + This.clb_dataireg.SetFocus() + plReturn = .F. + Case poDate.dataact>poDate.dataireg + amessagebox("Data documentului trebuie sa fie mai mica sau egala cu data inregistrarii!",48,"Atentie") + This.clb_dataact.SetFocus() + plReturn = .F. + Case Empty(Nvl(poDate.descriere,[])) And m.llCopiere + amessagebox("Nu ati ales avizul de copiat!",48,"Atentie") + This.ct_clb_altele.SetFocus() + plReturn = .F. + + Case Empty(Nvl(poDate.listaid,[])) And Inlist(poDate.tip,21,23,25,26,28,41,42,47) && modificare v 2.0.93 : am adaugat 47 + Do Case + Case INLIST(poDate.tip,21,25,28,42,47) && modificare v 2.0.93 : am adaugat 47 + lcMesaj = [Nu ati ales comanda!] + Case poDate.tip = 23 + lcMesaj = [Nu ati ales gestiunea destinatie!] + *!* modificare v 2.0.16 + Case poDate.tip = 41 + lcMesaj = [Nu ati ales gestiunea catre care se face returul!] + *!* modificare v 2.0.16 ^ + Case poDate.tip = 26 + lcMesaj = [Nu ati ales contractul!] + Endcase + amessagebox(lcMesaj,48,"Atentie") + This.ct_clb_altele.SetFocus() + plReturn = .F. + Case Empty(Nvl(poDate.id_pol,0)) And InList(poDate.tip,23,41) + amessagebox("Nu ati ales politica de preturi!",48,"Atentie") + This.ct_clb_politici_preturi.SetFocus() + plReturn = .F. + Otherwise + *!* modificare v 2.0.46 + *!* plReturn = .T. + lcFacturi_dublate = facturi_duplicate('418', 0, poDate.serie_act, poDate.nract, []) + If !Empty(lcFacturi_dublate) + lnRaspuns = aMESSAGEBOX(lcFacturi_dublate + Chr(13)+"Doriti sa continuati?",4+32,"Avize dublate") + If lnRaspuns = 7 + plReturn = .F. + Endif + EndIf + *!* modificare v 2.0.46 ^ + Endcase + Return plReturn + + ENDPROC + + PROCEDURE Init + Lparameters toFactura + * toFactura (optional): factura/avizul sursa care se copie + + *!* Valori posibile pentru poDate.tip : + *!* 21 - Aviz catre client pe baza de comanda + *!* 22 - Aviz catre client pe baza de lista de preturi + *!* 23 - Transfer intre subunitati pe baza de lista de preturi + *!* 57 - Aviz retur + *!* 25 - Transfer intre subunitati pe baza de comanda + *!* 28 - Aviz catre client debitor pe baza de comanda + *!* 29 - Aviz catre client debitor pe baza de lista de preturi + *!* 41 - Retur transfer + *!* 42 - Aviz catre clienti in custodie pe baza de comanda ( ptr. facturare ) + *!* 47 - Aviz catre clienti in custodie pe baza de comanda ( ptr. descarcare cu K ) + LOCAL lcTitluFormular, llCopiere + + This.lCopiere = (TYPE('toFactura') = 'O') && copiere factura + llCopiere = This.lCopiere + + lnObiecte = 14 + DIMENSION laPozitii(lnObiecte,3) + *!* 1 - inaltime + *!* 2 - sters + *!* 3 - tip ( 1 = ct_clb_..., 2 = clb_... ) + DODEFAULT() + WITH THIS + *!* modificare v 2.0.16 + IF poDate.tip = 41 + lcTitluFormular = [RETUR TRANSFER] + ELSE + lcTitluFormular = .lb_TITLU_ALB_B121.CAPTION + ENDIF + *!* modificare v 2.0.16 ^ + *!* stochez inaltimea fiecarui container + *!* containerele trebuie sa aiba TabIndex completat in ordinea in care sunt pe formular + + lnOffsetTip1 = .ct_clb_fdoc.HEIGHT - .ct_clb_fdoc.clb_TX_CAUTARE.HEIGHT + 1 + lnOffsetTip2 = 1 + + FOR i = 1 TO .OBJECTS.COUNT + WITH .OBJECTS(i) + IF 'ct_clb_'$LOWER(.NAME) OR 'clb_'$LOWER(.NAME) + laPozitii(.TABINDEX,1) = .HEIGHT + laPozitii(.TABINDEX,2) = 0 + laPozitii(.TABINDEX,3) = IIF('ct_clb_'$LOWER(.NAME),1,2) + ENDIF + ENDWITH + ENDFOR + + lnHeight = .HEIGHT + .nid_tip=poDate.tip + DO CASE + CASE gnScadereStoc=0 AND poDate.tip = 22 + lnHeight = lnHeight - .ct_clb_responsabil.HEIGHT - .ct_clb_politici_preturi.HEIGHT - .ct_clb_gestiune_init.HEIGHT + laPozitii(.ct_clb_responsabil.TABINDEX,2)=1 + laPozitii(.ct_clb_gestiune_init.TABINDEX,2)=1 + laPozitii(.ct_clb_politici_preturi.TABINDEX,2)=1 + .REMOVEOBJECT('ct_clb_responsabil') + .REMOVEOBJECT('ct_clb_gestiune_init') + .REMOVEOBJECT('ct_clb_politici_preturi') + + IF m.llCopiere + .ct_clb_altele.do_schimba_explicatia([Nr. factura]) + ELSE + lnHeight = lnHeight- .ct_clb_altele.Height + laPozitii(.ct_clb_altele.TabIndex, 2) = 1 + .RemoveObject('ct_clb_altele') + ENDIF + + CASE gnScadereStoc=0 AND INLIST(poDate.tip,21,23,25,26,28,41,42,47, 24) && modificare v 2.0.93 : am adaugat 47 + WITH .ct_clb_altele + DO CASE + CASE INLIST(poDate.tip,21,28,42,47) && modificare v 2.0.93 : am adaugat 47 + .do_schimba_explicatia([Nr. comanda]) + laPozitii(THISFORM.ct_clb_politici_preturi.TABINDEX,2)=1 + lnHeight = lnHeight - THISFORM.ct_clb_politici_preturi.HEIGHT + THISFORM.REMOVEOBJECT('ct_clb_politici_preturi') + CASE poDate.tip = 23 + THIS.ct_clb_nume_client.do_schimba_explicatia([Gestiune sursa]) + .do_schimba_explicatia([Gestiune destinatie]) + *!* This.ct_clb_politici_preturi.Top = .Top + *!* This.Height = 300 + *!* modificare v 2.0.46 + lnHeight = lnHeight - THISFORM.ct_clb_venchelt.HEIGHT + laPozitii(THISFORM.ct_clb_venchelt.TABINDEX,2)=1 + THISFORM.REMOVEOBJECT('ct_clb_venchelt') + *!* modificare v 2.0.46 ^ + *!* modificare v 2.0.16 + CASE poDate.tip = 41 + THIS.ct_clb_nume_client.do_schimba_explicatia([Retur de la]) + .do_schimba_explicatia([Retur la]) + *!* modificare v 2.0.16 ^ + *!* modificare v 2.0.46 + lnHeight = lnHeight - THISFORM.ct_clb_venchelt.HEIGHT + laPozitii(THISFORM.ct_clb_venchelt.TABINDEX,2)=1 + THISFORM.REMOVEOBJECT('ct_clb_venchelt') + *!* modificare v 2.0.46 ^ + CASE poDate.tip = 25 + .do_schimba_explicatia([Nr. comanda]) + THIS.ct_clb_nume_client.do_schimba_explicatia([Gestiune destinatie]) + laPozitii(THISFORM.ct_clb_politici_preturi.TABINDEX,2)=1 + lnHeight = lnHeight - THISFORM.ct_clb_politici_preturi.HEIGHT + THISFORM.REMOVEOBJECT('ct_clb_politici_preturi') + *!* modificare v 2.0.46 + lnHeight = lnHeight - THISFORM.ct_clb_venchelt.HEIGHT + laPozitii(THISFORM.ct_clb_venchelt.TABINDEX,2)=1 + THISFORM.REMOVEOBJECT('ct_clb_venchelt') + *!* modificare v 2.0.46 ^ + CASE poDate.tip = 26 + .do_schimba_explicatia([Nr. contract]) + laPozitii(THISFORM.ct_clb_politici_preturi.TABINDEX,2)=1 + lnHeight = lnHeight - THISFORM.ct_clb_politici_preturi.HEIGHT + THISFORM.REMOVEOBJECT('ct_clb_politici_preturi') + + CASE poDate.tip = 24 + .do_schimba_explicatia([Nr. avize]) + laPozitii(THISFORM.ct_clb_politici_preturi.TABINDEX,2)=1 + lnHeight = lnHeight - THISFORM.ct_clb_politici_preturi.HEIGHT + THISFORM.REMOVEOBJECT('ct_clb_politici_preturi') + ENDCASE + ENDWITH + laPozitii(.ct_clb_responsabil.TABINDEX,2)=1 + laPozitii(.ct_clb_gestiune_init.TABINDEX,2)=1 + lnHeight = lnHeight - .ct_clb_responsabil.HEIGHT - .ct_clb_gestiune_init.HEIGHT + .REMOVEOBJECT('ct_clb_responsabil') + .REMOVEOBJECT('ct_clb_gestiune_init') + CASE gnScadereStoc=1 AND INLIST(poDate.tip,21,23,25,26,28,41,42,47,24) && modificare v 2.0.93 : am adaugat 47 + WITH .ct_clb_altele + DO CASE + CASE INLIST(poDate.tip,21,28,42,47) && modificare v 2.0.93 : am adaugat 47 + .do_schimba_explicatia([Nr. comanda]) + laPozitii(THISFORM.ct_clb_politici_preturi.TABINDEX,2)=1 + lnHeight = lnHeight - THISFORM.ct_clb_politici_preturi.HEIGHT + THISFORM.REMOVEOBJECT('ct_clb_politici_preturi') + CASE poDate.tip = 23 + THISFORM.ct_clb_nume_client.do_schimba_explicatia([Gestiune sursa]) + .do_schimba_explicatia([Gestiune destinatie]) + *!* modificare v 2.0.46 + lnHeight = lnHeight - THISFORM.ct_clb_venchelt.HEIGHT + laPozitii(THISFORM.ct_clb_venchelt.TABINDEX,2)=1 + THISFORM.REMOVEOBJECT('ct_clb_venchelt') + *!* modificare v 2.0.46 ^ + *!* modificare v 2.0.16 + CASE poDate.tip = 41 + THIS.ct_clb_nume_client.do_schimba_explicatia([Retur de la]) + .do_schimba_explicatia([Retur la]) + *!* modificare v 2.0.16 ^ + *!* modificare v 2.0.46 + lnHeight = lnHeight - THISFORM.ct_clb_venchelt.HEIGHT + laPozitii(THISFORM.ct_clb_venchelt.TABINDEX,2)=1 + THISFORM.REMOVEOBJECT('ct_clb_venchelt') + *!* modificare v 2.0.46 ^ + CASE poDate.tip = 25 + .do_schimba_explicatia([Nr. comanda]) + THISFORM.ct_clb_nume_client.do_schimba_explicatia([Gestiune destinatie]) + laPozitii(THISFORM.ct_clb_politici_preturi.TABINDEX,2)=1 + lnHeight = lnHeight - THISFORM.ct_clb_politici_preturi.HEIGHT + THISFORM.REMOVEOBJECT('ct_clb_politici_preturi') + *!* modificare v 2.0.46 + lnHeight = lnHeight - THISFORM.ct_clb_venchelt.HEIGHT + laPozitii(THISFORM.ct_clb_venchelt.TABINDEX,2)=1 + THISFORM.REMOVEOBJECT('ct_clb_venchelt') + *!* modificare v 2.0.46 ^ + CASE poDate.tip = 26 + .do_schimba_explicatia([Nr. contract]) + laPozitii(THISFORM.ct_clb_politici_preturi.TABINDEX,2)=1 + lnHeight = lnHeight - THISFORM.ct_clb_politici_preturi.HEIGHT + THISFORM.REMOVEOBJECT('ct_clb_politici_preturi') + CASE poDate.tip = 24 && aviz retur + .do_schimba_explicatia([Nr. avize]) + laPozitii(THISFORM.ct_clb_politici_preturi.TABINDEX,2)=1 + lnHeight = lnHeight - THISFORM.ct_clb_politici_preturi.HEIGHT + THISFORM.REMOVEOBJECT('ct_clb_politici_preturi') + ENDCASE + ENDWITH + *!* modificare v 2.0.41 + *!* la restul pot sa aleg deja gestiunea sursa + IF !INLIST(poDate.tip,21,25,26,28,42,47) && modificare v 2.0.93 : am adaugat 47 + laPozitii(THISFORM.ct_clb_gestiune_init.TABINDEX,2)=1 + lnHeight = lnHeight - THISFORM.ct_clb_gestiune_init.HEIGHT + THISFORM.REMOVEOBJECT('ct_clb_gestiune_init') + ENDIF + *!* modificare v 2.0.41 ^ + OTHERWISE + *!* modificare v 2.0.41 + *!* la restul pot sa aleg deja gestiunea sursa + IF !INLIST(poDate.tip,22,29) + laPozitii(THISFORM.ct_clb_gestiune_init.TABINDEX,2)=1 + lnHeight = lnHeight - THISFORM.ct_clb_gestiune_init.HEIGHT + THISFORM.REMOVEOBJECT('ct_clb_gestiune_init') + ENDIF + *!* modificare v 2.0.41 ^ + laPozitii(.ct_clb_politici_preturi.TABINDEX,2)=1 + lnHeight = lnHeight - .ct_clb_politici_preturi.HEIGHT + .REMOVEOBJECT('ct_clb_politici_preturi') + IF m.llCopiere + .ct_clb_altele.do_schimba_explicatia([Nr. aviz]) + ELSE + lnHeight = lnHeight- .ct_clb_altele.Height + laPozitii(.ct_clb_altele.TabIndex, 2) = 1 + .RemoveObject('ct_clb_altele') + ENDIF + + ENDCASE + + IF INLIST(poDate.rezultat_serii,1,3) + .clb_serie_act.do_initializeaza(poDate.rezultat_serii) + *!* modificare v 2.0.46 + *!* .clb_serie_act.SetFocus() + IF !EMPTY(poDate.nract) + .clb_nract.SETFOCUS() + ELSE + .clb_serie_act.SETFOCUS() + ENDIF + *!* modificare v 2.0.46 ^ + ELSE + lnHeight = lnHeight - .clb_serie_act.HEIGHT + laPozitii(.clb_serie_act.TABINDEX,2)=1 + .REMOVEOBJECT('clb_serie_act') + .clb_nract.SETFOCUS() + ENDIF + + *!* modificare v 2.0.16 + .lb_TITLU_ALB_B121.CAPTION = lcTitluFormular + *!* modificare v 2.0.16 ^ + .HEIGHT = lnHeight + + *!* rearanjare containere + FOR i = 1 TO lnObiecte + IF laPozitii(i,2) = 1 + FOR j = 1 TO .OBJECTS.COUNT + WITH .OBJECTS(j) + IF ('ct_clb_'$LOWER(.NAME) OR 'clb_'$LOWER(.NAME)) AND .TABINDEX > i + .TOP = .TOP - laPozitii(i,1) + IIF(laPozitii(i,3)=1,lnOffsetTip1,lnOffsetTip2) + ENDIF + ENDWITH + ENDFOR + ENDIF + ENDFOR + + .AUTOCENTER = .T. + .REFRESH() + ENDWITH + RELEASE laPozitii + + ENDPROC + + PROCEDURE Clb_dataact.Text_simplu1.LostFocus + poDate.zi_curs = poDate.dataact + Thisform.clb_zi_curs.Refresh() + ENDPROC + + PROCEDURE Clb_dataireg.Text_simplu1.LostFocus + poDate.dataact = poDate.dataireg + Thisform.clb_dataact.Refresh() + poDate.zi_curs = poDate.dataact + Thisform.clb_zi_curs.Refresh() + ENDPROC + + PROCEDURE Clb_nract.Text_simplu1.LostFocus + poDate.nract = this.value + ENDPROC + +ENDDEFINE + +DEFINE CLASS frm_date_aviz_lucrare AS _frmbase OF "_frm_base.vcx" + *< CLASSDATA: Baseclass="form" Timestamp="" Scale="Pixels" Uniqueid="" /> + + *-- OBJECTDATA items order determines ZOrder / El orden de los items OBJECTDATA determina el ZOrder + *< OBJECTDATA: ObjPath="But_renunt1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="Ct_clb_fdoc" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="Ct_clb_responsabil" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="Ct_clb_lucrare" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="Ct_clb_sectie" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="Ct_clb_gestiune" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="Clb_nract" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="Clb_serie_act" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="Ct_clb_furnizor" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="Clb_nrfactachi" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="Ct_clb_altele" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="Clb_dataireg" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="Clb_zi_curs" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="Clb_dataact" UniqueID="" Timestamp="" /> + + * + *m: do_cauta_altele + *m: do_cauta_fdoc + *m: do_cauta_furnizor + *m: do_cauta_gestiune + *m: do_cauta_gestiune_dest + *m: do_cauta_lucrare + *m: do_cauta_responsabil + *m: do_cauta_sectie + *p: nid + *p: nid_tip + *p: ntip + * + + * + DoCreate = .T. + Height = 428 + Name = "frm_date_aviz_lucrare" + nid_tip = 0 + ntip = 0 + Width = 383 + _shape1.Height = 29 + _shape1.Left = 0 + _shape1.Name = "_shape1" + _shape1.Top = 0 + _shape1.Width = 384 + _shape2.Height = 29 + _shape2.Left = 322 + _shape2.Name = "_shape2" + _shape2.Top = 0 + _shape2.Width = 69 + Lb_titlu_alb_b121.Caption = "AVIZ PE BAZÃ DE LUCRARE" + Lb_titlu_alb_b121.FontBold = .T. + Lb_titlu_alb_b121.Name = "Lb_titlu_alb_b121" + Lb_titlu_alb_b121.TabIndex = 16 + BUT_TERMIN1.Height = 27 + BUT_TERMIN1.Left = 354 + BUT_TERMIN1.Name = "BUT_TERMIN1" + BUT_TERMIN1.TabIndex = 14 + BUT_TERMIN1.Top = 1 + BUT_TERMIN1.Width = 30 + Gridsort1.Left = 360 + Gridsort1.Name = "Gridsort1" + Gridsort1.Top = 35 + * + + ADD OBJECT 'But_renunt1' AS but_renunt WITH ; + Height = 27, ; + Left = 324, ; + Name = "But_renunt1", ; + TabIndex = 15, ; + Top = 1, ; + Width = 30 + *< END OBJECT: ClassLib="cmd_butoane.vcx" BaseClass="commandbutton" /> + + ADD OBJECT 'Clb_dataact' AS clb_tx_data WITH ; + Comment = "1", ; + Height = 29, ; + Left = 25, ; + Name = "Clb_dataact", ; + TabIndex = 3, ; + Top = 104, ; + Width = 314, ; + Text_simplu1.ControlSource = "poDate.dataact", ; + Text_simplu1.Height = 23, ; + Text_simplu1.Left = 126, ; + Text_simplu1.Name = "Text_simplu1", ; + Text_simplu1.Top = 3, ; + Text_simplu1.Width = 150, ; + Lb_simplu1.Caption = "Data documentului", ; + Lb_simplu1.Name = "Lb_simplu1", ; + Cmd_buton1.Left = 280, ; + Cmd_buton1.Name = "Cmd_buton1", ; + Cmd_buton1.Top = 2 + *< END OBJECT: ClassLib="lb_tx.vcx" BaseClass="container" /> + + ADD OBJECT 'Clb_dataireg' AS clb_tx_data WITH ; + Comment = "1", ; + Height = 29, ; + Left = 25, ; + Name = "Clb_dataireg", ; + TabIndex = 1, ; + Top = 48, ; + Width = 314, ; + Text_simplu1.ControlSource = "poDate.dataireg", ; + Text_simplu1.Height = 23, ; + Text_simplu1.Left = 126, ; + Text_simplu1.Name = "Text_simplu1", ; + Text_simplu1.Top = 3, ; + Text_simplu1.Width = 150, ; + Lb_simplu1.Caption = "Datã înregistrare", ; + Lb_simplu1.Name = "Lb_simplu1", ; + Cmd_buton1.Left = 280, ; + Cmd_buton1.Name = "Cmd_buton1", ; + Cmd_buton1.Top = 2 + *< END OBJECT: ClassLib="lb_tx.vcx" BaseClass="container" /> + + ADD OBJECT 'Clb_nract' AS clb_tx_simplu WITH ; + Height = 29, ; + Left = 25, ; + Name = "Clb_nract", ; + TabIndex = 6, ; + Top = 188, ; + Width = 314, ; + TEXT_SIMPLU1.ControlSource = "poDate.nract", ; + TEXT_SIMPLU1.InputMask = (get_mask(14,0)), ; + TEXT_SIMPLU1.Left = 126, ; + TEXT_SIMPLU1.Name = "TEXT_SIMPLU1", ; + TEXT_SIMPLU1.Top = 3, ; + Lb_simplu1.Caption = "Nr. documentului", ; + Lb_simplu1.Left = 8, ; + Lb_simplu1.Name = "Lb_simplu1", ; + Lb_simplu1.Top = 6 + *< END OBJECT: ClassLib="lb_tx.vcx" BaseClass="container" /> + + ADD OBJECT 'Clb_nrfactachi' AS clb_tx_simplu WITH ; + Height = 29, ; + Left = 25, ; + Name = "Clb_nrfactachi", ; + TabIndex = 13, ; + Top = 384, ; + Width = 314, ; + Text_simplu1.ControlSource = "poDate.nrfactachi", ; + Text_simplu1.InputMask = (get_mask(14,0)), ; + Text_simplu1.Left = 126, ; + Text_simplu1.Name = "Text_simplu1", ; + Text_simplu1.Top = 3, ; + Lb_simplu1.Caption = "Nr. facturã achiziþie", ; + Lb_simplu1.Left = 8, ; + Lb_simplu1.Name = "Lb_simplu1", ; + Lb_simplu1.Top = 6 + *< END OBJECT: ClassLib="lb_tx.vcx" BaseClass="container" /> + + ADD OBJECT 'Clb_serie_act' AS clb_serie_act WITH ; + cvariabila = serie_act, ; + cvariabiladoc = nract, ; + Left = 25, ; + Name = "Clb_serie_act", ; + nid_tipdoc = 6, ; + pcobj = poDate, ; + TabIndex = 5, ; + Top = 160, ; + TEXT_SIMPLU1.ControlSource = "poDate.serie_act", ; + TEXT_SIMPLU1.Name = "TEXT_SIMPLU1", ; + _CBBASE1.Name = "_CBBASE1", ; + _LBBASE1.Name = "_LBBASE1" + *< END OBJECT: ClassLib="serii_numere.vcx" BaseClass="container" /> + + ADD OBJECT 'Clb_zi_curs' AS clb_tx_data WITH ; + Comment = "1", ; + Height = 29, ; + Left = 25, ; + Name = "Clb_zi_curs", ; + TabIndex = 4, ; + Top = 132, ; + Width = 314, ; + Text_simplu1.ControlSource = "poDate.zi_curs", ; + Text_simplu1.Height = 23, ; + Text_simplu1.Left = 126, ; + Text_simplu1.Name = "Text_simplu1", ; + Text_simplu1.Top = 3, ; + Text_simplu1.Width = 150, ; + Lb_simplu1.Caption = "Data cursului valutar", ; + Lb_simplu1.Name = "Lb_simplu1", ; + Cmd_buton1.Left = 280, ; + Cmd_buton1.Name = "Cmd_buton1", ; + Cmd_buton1.Top = 2 + *< END OBJECT: ClassLib="lb_tx.vcx" BaseClass="container" /> + + ADD OBJECT 'Ct_clb_altele' AS ct_clb_cautare WITH ; + cconditie = ISNULL(poDate.listaid) or EMPTY(poDate.listaid), ; + cprocedura = thisform.do_cauta_altele, ; + cvar_afisata = poDate.descriere, ; + Left = 24, ; + Name = "Ct_clb_altele", ; + TabIndex = 11, ; + Top = 327, ; + IMG_CAUTARE.Name = "IMG_CAUTARE", ; + CLB_TX_CAUTARE.LB_SIMPLU1.Caption = "Gestiune destinaþie", ; + CLB_TX_CAUTARE.LB_SIMPLU1.Name = "LB_SIMPLU1", ; + CLB_TX_CAUTARE.Name = "CLB_TX_CAUTARE", ; + CLB_TX_CAUTARE.TEXT_SIMPLU1.Name = "TEXT_SIMPLU1" + *< END OBJECT: ClassLib="caut_ora.vcx" BaseClass="container" /> + + ADD OBJECT 'Ct_clb_fdoc' AS ct_clb_cautare WITH ; + cconditie = EMPTY(poDate.id_fdoc) or ISNULL(poDate.id_fdoc), ; + cprocedura = thisform.do_cauta_fdoc, ; + cvar_afisata = poDate.fdoc, ; + Left = 24, ; + Name = "Ct_clb_fdoc", ; + TabIndex = 2, ; + Top = 75, ; + img_cautare.Name = "img_cautare", ; + clb_tx_cautare.LB_SIMPLU1.Caption = "Felul documentului", ; + clb_tx_cautare.LB_SIMPLU1.Name = "LB_SIMPLU1", ; + clb_tx_cautare.Name = "clb_tx_cautare", ; + clb_tx_cautare.TEXT_SIMPLU1.Name = "TEXT_SIMPLU1" + *< END OBJECT: ClassLib="caut_ora.vcx" BaseClass="container" /> + + ADD OBJECT 'Ct_clb_furnizor' AS ct_clb_cautare WITH ; + cconditie = EMPTY(NVL(poDate.id_furnizor,0)), ; + cprocedura = thisform.do_cauta_furnizor, ; + cvar_afisata = poDate.furnizor, ; + Left = 24, ; + Name = "Ct_clb_furnizor", ; + TabIndex = 12, ; + Top = 355, ; + img_cautare.Name = "img_cautare", ; + clb_tx_cautare.Lb_simplu1.Caption = "Furnizor", ; + clb_tx_cautare.Lb_simplu1.Name = "Lb_simplu1", ; + clb_tx_cautare.Name = "clb_tx_cautare", ; + clb_tx_cautare.Text_simplu1.Name = "Text_simplu1" + *< END OBJECT: ClassLib="caut_ora.vcx" BaseClass="container" /> + + ADD OBJECT 'Ct_clb_gestiune' AS ct_clb_cautare WITH ; + cconditie = EMPTY(NVL(poDate.id_client,0)), ; + cprocedura = thisform.do_cauta_gestiune, ; + cvar_afisata = poDate.nume_client, ; + Left = 24, ; + Name = "Ct_clb_gestiune", ; + TabIndex = 7, ; + Top = 215, ; + img_cautare.Name = "img_cautare", ; + clb_tx_cautare.Lb_simplu1.Caption = "Gestiune sursã", ; + clb_tx_cautare.Lb_simplu1.Name = "Lb_simplu1", ; + clb_tx_cautare.Name = "clb_tx_cautare", ; + clb_tx_cautare.Text_simplu1.Name = "Text_simplu1" + *< END OBJECT: ClassLib="caut_ora.vcx" BaseClass="container" /> + + ADD OBJECT 'Ct_clb_lucrare' AS ct_clb_cautare WITH ; + cconditie = EMPTY(NVL(poDate.id_lucrare,0)), ; + cprocedura = thisform.do_cauta_lucrare, ; + cvar_afisata = poDate.nrord, ; + Left = 24, ; + Name = "Ct_clb_lucrare", ; + TabIndex = 8, ; + Top = 243, ; + img_cautare.Name = "img_cautare", ; + clb_tx_cautare.Lb_simplu1.Caption = "Lucrare", ; + clb_tx_cautare.Lb_simplu1.Name = "Lb_simplu1", ; + clb_tx_cautare.Name = "clb_tx_cautare", ; + clb_tx_cautare.Text_simplu1.Name = "Text_simplu1" + *< END OBJECT: ClassLib="caut_ora.vcx" BaseClass="container" /> + + ADD OBJECT 'Ct_clb_responsabil' AS ct_clb_cautare WITH ; + cconditie = EMPTY(NVL(poDate.id_responsabil,0)), ; + cprocedura = thisform.do_cauta_responsabil, ; + cvar_afisata = poDate.responsabil, ; + Left = 24, ; + Name = "Ct_clb_responsabil", ; + TabIndex = 10, ; + Top = 299, ; + img_cautare.Name = "img_cautare", ; + clb_tx_cautare.LB_SIMPLU1.Caption = "Responsabil", ; + clb_tx_cautare.LB_SIMPLU1.Name = "LB_SIMPLU1", ; + clb_tx_cautare.Name = "clb_tx_cautare", ; + clb_tx_cautare.TEXT_SIMPLU1.Name = "TEXT_SIMPLU1" + *< END OBJECT: ClassLib="caut_ora.vcx" BaseClass="container" /> + + ADD OBJECT 'Ct_clb_sectie' AS ct_clb_cautare WITH ; + cconditie = EMPTY(NVL(poDate.id_sectie,0)), ; + cprocedura = thisform.do_cauta_sectie, ; + cvar_afisata = poDate.sectie, ; + Left = 24, ; + Name = "Ct_clb_sectie", ; + TabIndex = 9, ; + Top = 271, ; + IMG_CAUTARE.Name = "IMG_CAUTARE", ; + CLB_TX_CAUTARE.LB_SIMPLU1.Caption = "Secþie", ; + CLB_TX_CAUTARE.LB_SIMPLU1.Name = "LB_SIMPLU1", ; + CLB_TX_CAUTARE.Name = "CLB_TX_CAUTARE", ; + CLB_TX_CAUTARE.TEXT_SIMPLU1.Name = "TEXT_SIMPLU1" + *< END OBJECT: ClassLib="caut_ora.vcx" BaseClass="container" /> + + PROCEDURE do_cauta_altele + Do Case + Case Thisform.nid_tip = 30 + Thisform.do_cauta_gestiune_dest() + Endcase + + ENDPROC + + PROCEDURE do_cauta_fdoc + Local loCauta + loCauta = caut_fdoc() + If !Isnull(loCauta) And !Empty(loCauta.fel_document) + poDate.id_fdoc = loCauta.id_fdoc + poDate.fdoc = loCauta.fel_document + + This.ct_clb_fdoc.Refresh() + This.clb_dataact.SetFocus() + Endif + + ENDPROC + + PROCEDURE do_cauta_furnizor + Local loCauta + *!* loCauta = CautPartenerContabilitate(GetHash([cTitlu=>Alegeti furnizorul??cCont=>401??lAdaugCorespondente=>1])) + loCauta = CautPartenerContabilitate(GetHash([cTitlu=>Alegeti furnizorul??cCont=>401])) + If !Empty(loCauta.id_part) And !Empty(loCauta.denumire) AND !ISNULL(loCauta.id_part) + poDate.id_furnizor = loCauta.id_part + poDate.furnizor = Alltrim(loCauta.denumire) + + Endif + + Thisform.ct_clb_furnizor.Refresh() + + ENDPROC + + PROCEDURE do_cauta_gestiune + Local loCauta + *!* 09.06.2008 + *!* se pot alege si gestiuni sursa la pret de vanzare (transfer de la pret de vz la pret de vz) + *!* modificare v 2.0.71 + *!* loCauta = caut_gestiune_sursa([4,5,6,7]) + If Thisform.nid_tip = 30 + loCauta = caut_gestiune_sursa([6,7]) + Else + loCauta = caut_gestiune_sursa([4,5,6,7]) + Endif + *!* modificare v 2.0.71 ^ + *!* 09.06.2008 ^ + If !Isnull(loCauta) And !Empty(loCauta.id_gestiune) + poDate.id_client = loCauta.id_gestiune + poDate.nume_client = loCauta.nume_gestiune + This.ct_clb_gestiune.Refresh() + EndIf + This.ct_clb_lucrare.setfocus() + + ENDPROC + + PROCEDURE do_cauta_gestiune_dest + Local loCauta + If Empty(Nvl(poDate.id_client,0)) + amessagebox("Nu ati ales gestiunea sursa!",0+48,"Atentie") + This.ct_clb_nume_client.SetFocus() + Else + *!* modificare v 2.0.71 + *!* loCauta = caut_gestiune_dest(poDate.id_client) + If Thisform.nid_tip = 30 + loCauta = caut_gestiune_dest(poDate.id_client,[6,7]) + Else + loCauta = caut_gestiune_dest(poDate.id_client) + Endif + *!* modificare v 2.0.71 ^ + If !Isnull(loCauta) And !Empty(Nvl(loCauta.id_gestiune,0)) + poDate.listaid = loCauta.id_gestiune + poDate.descriere = loCauta.nume_gestiune + + poDateGestiuneDest.id_gestiune = loCauta.id_gestiune + poDateGestiuneDest.id_tipgest = loCauta.id_tipgest + poDateGestiuneDest.Cont = Nvl(loCauta.Cont,[XXXX]) + poDateGestiuneDest.acont = Nvl(loCauta.acont,[XXXX]) + + This.ct_clb_altele.Refresh() + This.ct_clb_furnizor.SetFocus() + Endif + Endif + + ENDPROC + + PROCEDURE do_cauta_lucrare + Local loCauta + LOCAL llToateIreg, llNou, lcFiltruOriginal + llToateIreg = .F. + llNou = .T. + lcFiltruOriginal = '' + + loCauta = caut_lucrare(m.llToateIreg, m.llNou, m.lcFiltruOriginal) + + If !Empty(Nvl(loCauta.id_lucrare,0)) + poDate.id_lucrare = loCauta.id_lucrare + poDate.nrord = loCauta.nrord + + This.ct_clb_lucrare.Refresh() + Endif + This.ct_clb_sectie.SetFocus() + + ENDPROC + + PROCEDURE do_cauta_responsabil + Local loCauta + loCauta = CautPartenerContabilitate(GetHash([cTitlu=>Responsabili??cTipuriParteneri=>]+Alltrim(Str(gnIdTipResponsabili))+[??lAdaugCorespondente=>1])) + If !Empty(Nvl(loCauta.id_part,0)) And !Empty(loCauta.denumire) + poDate.id_responsabil = loCauta.id_part + poDate.responsabil = loCauta.denumire + + This.ct_clb_responsabil.Refresh() + Endif + This.buT_TERMIN1.SetFocus() + + ENDPROC + + PROCEDURE do_cauta_sectie + Local loCauta + LOCAL lnPornire, llDesktop, llToateIreg, llNou, lcFiltruOriginal + lnPornire = 0 + llDesktop = .F. + llToateIreg = .F. + llNou = .T. + lcFiltruOriginal = '' + + loCauta = caut_sectie(lnPornire, llDesktop, m.llToateIreg, m.llNou, m.lcFiltruOriginal) + + If !Empty(Nvl(loCauta.id_sectie,0)) + poDate.id_sectie = loCauta.id_sectie + poDate.sectie = loCauta.sectie + + This.ct_clb_sectie.Refresh() + Endif + This.ct_clb_responsabil.SetFocus() + ENDPROC + + PROCEDURE inainte_de_do_termin + Local plReturn + Store .T. To plReturn + lccontrol = Upper(This.ActiveControl.BaseClass ) + If Inlist(lccontrol,"TEXTBOX","EDITBOX","COMBOBOX") + lcval=This.ActiveControl.ControlSource + &lcval=Thisform.ActiveControl.Value + Endif + + Do Case + Case Empty(poDate.dataireg) + amessagebox("Nu ati completat data inregistrarii!",48,"Atentie") + This.clb_dataireg.SetFocus() + plReturn = .F. + Case Empty(poDate.dataact) + amessagebox("Nu ati completat data documentului!",48,"Atentie") + This.clb_dataact.SetFocus() + plReturn = .F. + Case Empty(Nvl(poDate.id_fdoc,0)) + amessagebox("Nu ati ales felul documentului!",48,"Atentie") + This.ct_clb_fdoc.SetFocus() + plReturn = .F. + Case Empty(Nvl(poDate.zi_curs,{})) + amessagebox("Nu ati completat ziua cursului valutar!",48,"Atentie") + This.clb_zi_curs.SetFocus() + plReturn = .F. + Case Empty(poDate.nract) + amessagebox("Nu ati completat numarul documentului!",48,"Atentie") + This.clb_nract.SetFocus() + plReturn = .F. + Case !Between(poDate.dataireg,Date(gnAn,gnLuna,1),Gomonth(Date(gnAn,gnLuna,1),1)-1) + amessagebox("Data inregistrarii trebuie sa fie din luna "+Alltrim(Str(gnLuna))+"/"+Alltrim(Str(gnAn))+" !",48,"Atentie") + This.clb_dataireg.SetFocus() + plReturn = .F. + Case poDate.dataact>poDate.dataireg + amessagebox("Data documentului trebuie sa fie mai mica sau egala cu data inregistrarii!",48,"Atentie") + This.clb_dataact.SetFocus() + plReturn = .F. + Case Empty(Nvl(poDate.id_client,0)) + amessagebox("Nu ati ales gestiunea sursa!",0+48,"Atentie") + This.ct_clb_gestiune.SetFocus() + plReturn = .F. + *!* modificare v 2.0.90 + Case Empty(Nvl(poDate.listaid,0)) And This.nTip = 30 + amessagebox("Nu ati ales gestiunea destinatie!",0+48,"Atentie") + This.ct_clb_altele.SetFocus() + plReturn = .F. + Case Empty(Nvl(poDate.id_furnizor,0)) And This.nTip = 30 + amessagebox("Nu ati ales furnizorul!",0+48,"Atentie") + This.ct_clb_furnizor.SetFocus() + plReturn = .F. + Case Empty(Nvl(poDate.nrfactachi,0)) And This.nTip = 30 + amessagebox("Nu ati completat numarul facturii de achizitie!",0+48,"Atentie") + This.clb_nrfactachi.SetFocus() + plReturn = .F. + *!* modificare v 2.0.90 ^ + Case (Empty(Nvl(poDate.id_lucrare,0)) and this.ntip <> 30) + amessagebox("Nu ati ales lucrarea!",0+48,"Atentie") + This.ct_clb_lucrare.SetFocus() + plReturn = .F. + Otherwise + plReturn = .T. + Endcase + Return plReturn + + ENDPROC + + PROCEDURE Init + DoDefault() + With Thisform + lnObiecte = 13 + Dimension laPozitii(lnObiecte,3) + *!* stochez inaltimea fiecarui container + *!* containerele trebuie sa aiba TabIndex completat in ordinea in care sunt pe formular + lnOffsetTip1 = .ct_clb_fdoc.Height - .ct_clb_fdoc.clb_TX_CAUTARE.Height + 1 + lnOffsetTip2 = 1 + + For i = 1 To .Objects.Count + With .Objects(i) + If 'ct_clb_'$Lower(.Name) Or 'clb_'$Lower(.Name) + laPozitii(.TabIndex,1) = .Height + laPozitii(.TabIndex,2) = 0 + laPozitii(.TabIndex,3) = Iif('ct_clb_'$Lower(.Name),1,2) + Endif + Endwith + Endfor + lnHeight = .Height + .nid_tip=poDate.tip + + If Inlist(poDate.rezultat_serii,1,3) + .clb_serie_act.do_initializeaza(poDate.rezultat_serii) + .clb_serie_act.SetFocus() + Else + lnHeight = lnHeight - .clb_serie_act.Height + laPozitii(.clb_serie_act.TabIndex,2)=1 + .RemoveObject('clb_serie_act') + .clb_nract.SetFocus() + Endif + + *!* modificare v 2.0.18 + If .nid_tip = 30 && le pot folosi doar la avizele pe baza de nir + .lb_titlu_ALB_B121.Caption = [AVIZ PE BAZÃ DE NIR] + Else + lnHeight = lnHeight - (.clb_nrfactachi.Height + .ct_clb_furnizor.Height + .ct_clb_altele.Height) + .RemoveObject('clb_nrfactachi') + .RemoveObject('ct_clb_furnizor') + .RemoveObject('ct_clb_altele') + Endif + *!* modificare v 2.0.18 ^ + + .Height = lnHeight + + *!* rearanjare containere + For i = 1 To lnObiecte + If laPozitii(i,2) = 1 + For j = 1 To .Objects.Count + With .Objects(j) + If ('ct_clb_'$Lower(.Name) Or 'clb_'$Lower(.Name)) And .TabIndex > i + .Top = .Top - laPozitii(i,1) + Iif(laPozitii(i,3)=1,lnOffsetTip1,lnOffsetTip2) + Endif + Endwith + Endfor + Endif + Endfor + + .AutoCenter = .T. + .Refresh() + Endwith + Release laPozitii + ENDPROC + + PROCEDURE Clb_dataact.Text_simplu1.LostFocus + poDate.zi_curs = poDate.dataact + Thisform.clb_zi_curs.Refresh() + ENDPROC + + PROCEDURE Clb_dataireg.Text_simplu1.LostFocus + poDate.dataact = poDate.dataireg + Thisform.clb_dataact.Refresh() + poDate.zi_curs = poDate.dataact + Thisform.clb_zi_curs.Refresh() + ENDPROC + + PROCEDURE Clb_nract.TEXT_SIMPLU1.LostFocus + poDate.nract = this.value + ENDPROC + +ENDDEFINE + +DEFINE CLASS frm_date_aviz_retur AS _frmbase OF "_frm_base.vcx" + *< CLASSDATA: Baseclass="form" Timestamp="" Scale="Pixels" Uniqueid="" /> + + *-- OBJECTDATA items order determines ZOrder / El orden de los items OBJECTDATA determina el ZOrder + *< OBJECTDATA: ObjPath="But_renunt1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="Clb_nract_retur" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="Clb_serie_act_retur" UniqueID="" Timestamp="" /> + + * + *p: nid + *p: nid_tip + * + + * + DoCreate = .T. + Height = 130 + Name = "frm_date_aviz_retur" + nid_tip = 0 + Width = 383 + _shape1.Height = 29 + _shape1.Left = 0 + _shape1.Name = "_shape1" + _shape1.Top = 0 + _shape1.Width = 384 + _shape2.Height = 29 + _shape2.Left = 315 + _shape2.Name = "_shape2" + _shape2.Top = 0 + _shape2.Width = 69 + Lb_titlu_alb_b121.Caption = "AVIZ DE RETUR" + Lb_titlu_alb_b121.FontBold = .T. + Lb_titlu_alb_b121.Name = "Lb_titlu_alb_b121" + Lb_titlu_alb_b121.TabIndex = 13 + BUT_TERMIN1.Height = 27 + BUT_TERMIN1.Left = 351 + BUT_TERMIN1.Name = "BUT_TERMIN1" + BUT_TERMIN1.TabIndex = 11 + BUT_TERMIN1.Top = 1 + BUT_TERMIN1.Width = 30 + Gridsort1.Left = 360 + Gridsort1.Name = "Gridsort1" + Gridsort1.Top = 35 + * + + ADD OBJECT 'But_renunt1' AS but_renunt WITH ; + Height = 27, ; + Left = 319, ; + Name = "But_renunt1", ; + TabIndex = 12, ; + Top = 1, ; + Width = 30 + *< END OBJECT: ClassLib="cmd_butoane.vcx" BaseClass="commandbutton" /> + + ADD OBJECT 'Clb_nract_retur' AS clb_tx_simplu WITH ; + Height = 29, ; + Left = 32, ; + Name = "Clb_nract_retur", ; + TabIndex = 6, ; + Top = 76, ; + Width = 314, ; + Text_simplu1.ControlSource = "poDate.nract_retur", ; + Text_simplu1.InputMask = (get_mask(14,0)), ; + Text_simplu1.Left = 126, ; + Text_simplu1.Name = "Text_simplu1", ; + Text_simplu1.Top = 3, ; + Lb_simplu1.Caption = "Nr. documentului", ; + Lb_simplu1.Left = 8, ; + Lb_simplu1.Name = "Lb_simplu1", ; + Lb_simplu1.Top = 6 + *< END OBJECT: ClassLib="lb_tx.vcx" BaseClass="container" /> + + ADD OBJECT 'Clb_serie_act_retur' AS clb_serie_act WITH ; + cvariabila = serie_act_retur, ; + cvariabiladoc = nract_retur, ; + Left = 32, ; + Name = "Clb_serie_act_retur", ; + nid_tipdoc = 6, ; + pcobj = poDate, ; + TabIndex = 5, ; + Top = 48, ; + Text_simplu1.ControlSource = "poDate.serie_act", ; + Text_simplu1.Name = "Text_simplu1", ; + _cbbase1.Name = "_cbbase1", ; + _lbbase1.Name = "_lbbase1" + *< END OBJECT: ClassLib="serii_numere.vcx" BaseClass="container" /> + + PROCEDURE inainte_de_do_termin + Local plReturn + Store .T. To plReturn + lccontrol = Upper(This.ActiveControl.BaseClass ) + If Inlist(lccontrol,"TEXTBOX","EDITBOX","COMBOBOX") + lcval=This.ActiveControl.ControlSource + &lcval=Thisform.ActiveControl.Value + Endif + + Do Case + Case Empty(poDate.nract_retur) + amessagebox("Nu ati completat numarul documentului!",48,"Atentie") + This.clb_nract_retur.SetFocus() + plReturn = .F. + Otherwise + *!* modificare v 2.0.46 + *!* plReturn = .T. + lcFacturi_dublate = facturi_duplicate('418', 0, poDate.serie_act_retur, poDate.nract_retur, []) + If !Empty(lcFacturi_dublate) + lnRaspuns = amessagebox(lcFacturi_dublate + Chr(13) + "Doriti sa continuati?",4+32,"Avize dublate") + If lnRaspuns = 7 + plReturn = .F. + Endif + Endif + *!* modificare v 2.0.46 ^ + Endcase + Return plReturn + + ENDPROC + + PROCEDURE Init + Lparameters tnRezultatSerii + DoDefault() + With This + If Inlist(tnRezultatSerii,1,3) + .clb_serie_act_retur.do_initializeaza(tnRezultatSerii) + .clb_serie_act_retur.SetFocus() + Else + .RemoveObject('clb_serie_act_retur') + .clb_nract_retur.SetFocus() + Endif + Endwith + ENDPROC + + PROCEDURE Clb_nract_retur.Text_simplu1.LostFocus + poDate.nract = this.value + ENDPROC + +ENDDEFINE + +DEFINE CLASS frm_date_dispozitie AS _frmbase OF "_frm_base.vcx" + *< CLASSDATA: Baseclass="form" Timestamp="" Scale="Pixels" Uniqueid="" /> + + *-- OBJECTDATA items order determines ZOrder / El orden de los items OBJECTDATA determina el ZOrder + *< OBJECTDATA: ObjPath="But_renunt1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="Ct_clb_delegat" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="Ct_clb_gestiune" UniqueID="" Timestamp="" /> + + * + *m: do_cauta_delegat + *m: do_cauta_gestiune + *p: nid + *p: nid_tip + * + + * + DoCreate = .T. + Height = 130 + Name = "frm_date_dispozitie" + nid_tip = 0 + Width = 383 + _shape1.Height = 29 + _shape1.Left = 0 + _shape1.Name = "_shape1" + _shape1.Top = 0 + _shape1.Width = 384 + _shape2.Height = 29 + _shape2.Left = 315 + _shape2.Name = "_shape2" + _shape2.Top = 0 + _shape2.Width = 69 + Lb_titlu_alb_b121.Caption = "DATE DISPOZIÞIE" + Lb_titlu_alb_b121.FontBold = .T. + Lb_titlu_alb_b121.Name = "Lb_titlu_alb_b121" + Lb_titlu_alb_b121.TabIndex = 5 + BUT_TERMIN1.Height = 27 + BUT_TERMIN1.Left = 351 + BUT_TERMIN1.Name = "BUT_TERMIN1" + BUT_TERMIN1.TabIndex = 3 + BUT_TERMIN1.Top = 1 + BUT_TERMIN1.Width = 30 + Gridsort1.Left = 360 + Gridsort1.Name = "Gridsort1" + Gridsort1.Top = 35 + * + + ADD OBJECT 'But_renunt1' AS but_renunt WITH ; + Height = 27, ; + Left = 319, ; + Name = "But_renunt1", ; + TabIndex = 4, ; + Top = 1, ; + Width = 30 + *< END OBJECT: ClassLib="cmd_butoane.vcx" BaseClass="commandbutton" /> + + ADD OBJECT 'Ct_clb_delegat' AS ct_clb_cautare WITH ; + cconditie = EMPTY(NVL(poRec.delegat,[])), ; + cprocedura = thisform.do_cauta_delegat, ; + cvar_afisata = poRec.delegat, ; + Left = 12, ; + Name = "Ct_clb_delegat", ; + TabIndex = 1, ; + Top = 48, ; + img_cautare.Name = "img_cautare", ; + clb_tx_cautare.LB_SIMPLU1.Caption = "Delegat", ; + clb_tx_cautare.LB_SIMPLU1.Name = "LB_SIMPLU1", ; + clb_tx_cautare.Name = "clb_tx_cautare", ; + clb_tx_cautare.TEXT_SIMPLU1.Name = "TEXT_SIMPLU1" + *< END OBJECT: ClassLib="caut_ora.vcx" BaseClass="container" /> + + ADD OBJECT 'Ct_clb_gestiune' AS ct_clb_cautare WITH ; + cconditie = EMPTY(NVL(poRec.id_gestiune_livr,0)), ; + cprocedura = thisform.do_cauta_gestiune, ; + cvar_afisata = poRec.gestiune, ; + Left = 12, ; + Name = "Ct_clb_gestiune", ; + TabIndex = 2, ; + Top = 76, ; + img_cautare.Name = "img_cautare", ; + clb_tx_cautare.LB_SIMPLU1.Caption = "Gestiune", ; + clb_tx_cautare.LB_SIMPLU1.Name = "LB_SIMPLU1", ; + clb_tx_cautare.Name = "clb_tx_cautare", ; + clb_tx_cautare.TEXT_SIMPLU1.Name = "TEXT_SIMPLU1" + *< END OBJECT: ClassLib="caut_ora.vcx" BaseClass="container" /> + + PROCEDURE do_cauta_delegat + Local loCauta + loCauta = caut_delegati() + If !Isnull(loCauta) And !Empty(loCauta.nume) + poRec.delegat = loCauta.nume + + Thisform.ct_clb_delegat.Refresh() + Thisform.ct_clb_gestiune.SetFocus() + Endif + + ENDPROC + + PROCEDURE do_cauta_gestiune + Local loCauta + loCauta = caut_gestiune() + If !Isnull(loCauta) And !Empty(loCauta.nume_gestiune) + poRec.id_gestiune_livr = loCauta.id_gestiune + poRec.gestiune = loCauta.nume_gestiune + + Thisform.ct_clb_gestiune.Refresh() + Thisform.but_TERMIN1.SetFocus() + Endif + ENDPROC + + PROCEDURE inainte_de_do_termin + Local plReturn + Store .T. To plReturn + lccontrol = Upper(This.ActiveControl.BaseClass ) + If Inlist(lccontrol,"TEXTBOX","EDITBOX","COMBOBOX") + lcval=This.ActiveControl.ControlSource + &lcval=Thisform.ActiveControl.Value + Endif + + Do Case + Case Empty(Nvl(poRec.delegat,[])) + amessagebox("Nu ati ales delegatul!",0+48,"Atentie") + This.ct_clb_delegat.SetFocus() + plReturn = .F. + Case Empty(Nvl(poRec.id_gestiune_livr,0)) + amessagebox("Nu ati ales gestiunea!",0+48,"Atentie") + This.ct_clb_gestiune.SetFocus() + plReturn = .F. + Otherwise + plReturn = .T. + Endcase + Return plReturn + ENDPROC + + PROCEDURE Init + DoDefault() + If !Empty(poRec.delegat) + Thisform.ct_clb_delegat.do_dezactiveaza + Thisform.ct_clb_delegat.Enabled = .F. + Endif + ENDPROC + +ENDDEFINE + +DEFINE CLASS frm_date_factura AS _frmbase OF "_frm_base.vcx" + *< CLASSDATA: Baseclass="form" Timestamp="" Scale="Pixels" Uniqueid="" /> + + *-- OBJECTDATA items order determines ZOrder / El orden de los items OBJECTDATA determina el ZOrder + *< OBJECTDATA: ObjPath="But_renunt1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="Clb_nract" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="Ct_clb_nume_client" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="Ct_clb_responsabil" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="Ct_clb_altele" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="Ct_clb_valuta" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="Clb_serie_act" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="Ct_clb_lucrare" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="Ct_clb_sectie" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="Ct_clb_gestiune_init" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="Ct_clb_venchelt" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="Ed_tx_simplu1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="_checkbox1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="Clb_zi_curs" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="Clb_dataireg" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="Clb_dataact" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="Clb_data_scadenta" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="Ct_clb_fdoc" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="Ct_clb_fdoc._combobox1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="Ct_clb_fdoc._label1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="txtSoldLei" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="lblSoldLei" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="txtCodFiscal" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="lblCodFiscal" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="But_verifica1" UniqueID="" Timestamp="" /> + + * + *m: do_cauta_altele + *m: do_cauta_avize + *m: do_cauta_client + *m: do_cauta_comanda + *m: do_cauta_contract + *m: do_cauta_factura + *m: do_cauta_facturi + *m: do_cauta_fdoc + *m: do_cauta_gestiune_init + *m: do_cauta_locatii + *m: do_cauta_lucrare + *m: do_cauta_responsabil + *m: do_cauta_sectie + *m: do_cauta_valuta + *m: do_cauta_venchelt + *m: do_cauta_venit + *m: do_schimba_tipdoc + *p: cgestiune_init && Numele gestiunii alese ca gestiune sursa. + *p: lcopiere && Copiere factura/aviz + *p: nid + *p: nid_tip + *p: nsoldlei && Sold lei client + *p: nsoldvaluta && sold vauta client + *p: ntip + * + + * + BorderStyle = 1 + cgestiune_init = + DoCreate = .T. + Height = 536 + lcopiere = .F. + Name = "frm_date_factura" + nid_tip = 0 + nsoldlei = 0 + nsoldvaluta = 0 + ntip = 0 + Width = 573 + _memberdata = + + + + + _shape1.Height = 29 + _shape1.Left = 0 + _shape1.Name = "_shape1" + _shape1.Top = 0 + _shape1.Width = 574 + _shape2.Height = 29 + _shape2.Left = 504 + _shape2.Name = "_shape2" + _shape2.Top = 0 + _shape2.Width = 70 + Lb_titlu_alb_b121.Caption = "FACTURARE" + Lb_titlu_alb_b121.FontBold = .T. + Lb_titlu_alb_b121.Name = "Lb_titlu_alb_b121" + Lb_titlu_alb_b121.TabIndex = 19 + BUT_TERMIN1.Height = 27 + BUT_TERMIN1.Left = 540 + BUT_TERMIN1.Name = "BUT_TERMIN1" + BUT_TERMIN1.TabIndex = 17 + BUT_TERMIN1.Top = 1 + BUT_TERMIN1.Width = 31 + Gridsort1.Left = 367 + Gridsort1.Name = "Gridsort1" + Gridsort1.Top = 120 + * + + ADD OBJECT '_checkbox1' AS _checkbox WITH ; + Alignment = 0, ; + Caption = "TVA la încasare", ; + ControlSource = "poDate.tva_incasare", ; + Left = 336, ; + Name = "_checkbox1", ; + TabIndex = 20, ; + Top = 47 + *< END OBJECT: ClassLib="_baza.vcx" BaseClass="checkbox" /> + + ADD OBJECT 'But_renunt1' AS but_renunt WITH ; + Height = 27, ; + Left = 508, ; + Name = "But_renunt1", ; + TabIndex = 18, ; + Top = 1, ; + Width = 31 + *< END OBJECT: ClassLib="cmd_butoane.vcx" BaseClass="commandbutton" /> + + ADD OBJECT 'But_verifica1' AS but_verifica WITH ; + Left = 541, ; + Name = "But_verifica1", ; + Top = 267 + *< END OBJECT: ClassLib="cmd_butoane.vcx" BaseClass="commandbutton" /> + + ADD OBJECT 'Clb_data_scadenta' AS clb_tx_data WITH ; + Height = 29, ; + Left = 8, ; + Name = "Clb_data_scadenta", ; + TabIndex = 3, ; + Top = 98, ; + Width = 314, ; + Text_simplu1.ControlSource = "poDate.datascad", ; + Text_simplu1.FontBold = .T., ; + Text_simplu1.Height = 23, ; + Text_simplu1.Left = 126, ; + Text_simplu1.Name = "Text_simplu1", ; + Text_simplu1.Top = 3, ; + Text_simplu1.Width = 150, ; + Lb_simplu1.Caption = "Data scadenþã", ; + Lb_simplu1.Name = "Lb_simplu1", ; + Cmd_buton1.Left = 280, ; + Cmd_buton1.Name = "Cmd_buton1", ; + Cmd_buton1.Top = 2 + *< END OBJECT: ClassLib="lb_tx.vcx" BaseClass="container" /> + + ADD OBJECT 'Clb_dataact' AS clb_tx_data WITH ; + Height = 29, ; + Left = 8, ; + Name = "Clb_dataact", ; + TabIndex = 2, ; + Top = 70, ; + Width = 314, ; + Text_simplu1.ControlSource = "poDate.dataact", ; + Text_simplu1.Height = 23, ; + Text_simplu1.Left = 126, ; + Text_simplu1.Name = "Text_simplu1", ; + Text_simplu1.Top = 3, ; + Text_simplu1.Width = 150, ; + Lb_simplu1.Caption = "Data document", ; + Lb_simplu1.Name = "Lb_simplu1", ; + Cmd_buton1.Left = 280, ; + Cmd_buton1.Name = "Cmd_buton1", ; + Cmd_buton1.Top = 2 + *< END OBJECT: ClassLib="lb_tx.vcx" BaseClass="container" /> + + ADD OBJECT 'Clb_dataireg' AS clb_tx_data WITH ; + Height = 29, ; + Left = 8, ; + Name = "Clb_dataireg", ; + TabIndex = 1, ; + Top = 42, ; + Width = 314, ; + Text_simplu1.ControlSource = "poDate.dataireg", ; + Text_simplu1.Height = 23, ; + Text_simplu1.Left = 126, ; + Text_simplu1.Name = "Text_simplu1", ; + Text_simplu1.Top = 3, ; + Text_simplu1.Width = 150, ; + Lb_simplu1.Caption = "Data înregistrare", ; + Lb_simplu1.Name = "Lb_simplu1", ; + Cmd_buton1.Left = 280, ; + Cmd_buton1.Name = "Cmd_buton1", ; + Cmd_buton1.Top = 2 + *< END OBJECT: ClassLib="lb_tx.vcx" BaseClass="container" /> + + ADD OBJECT 'Clb_nract' AS clb_tx_simplu WITH ; + Height = 29, ; + Left = 8, ; + Name = "Clb_nract", ; + TabIndex = 8, ; + Top = 238, ; + Width = 314, ; + Text_simplu1.ControlSource = "poDate.nract", ; + Text_simplu1.InputMask = (get_mask(14,0)), ; + Text_simplu1.Left = 126, ; + Text_simplu1.Name = "Text_simplu1", ; + Text_simplu1.Top = 3, ; + Lb_simplu1.Caption = "Numãr document", ; + Lb_simplu1.Left = 8, ; + Lb_simplu1.Name = "Lb_simplu1", ; + Lb_simplu1.Top = 6 + *< END OBJECT: ClassLib="lb_tx.vcx" BaseClass="container" /> + + ADD OBJECT 'Clb_serie_act' AS clb_serie_act WITH ; + cvariabila = serie_act, ; + cvariabiladoc = nract, ; + Left = 8, ; + Name = "Clb_serie_act", ; + nid_tipdoc = 5, ; + pcobj = poDate, ; + TabIndex = 7, ; + Top = 210, ; + Text_simplu1.ControlSource = "poDate.serie_act", ; + Text_simplu1.Name = "Text_simplu1", ; + _cbbase1.Name = "_cbbase1", ; + _lbbase1.Caption = "Serie document", ; + _lbbase1.Name = "_lbbase1" + *< END OBJECT: ClassLib="serii_numere.vcx" BaseClass="container" /> + + ADD OBJECT 'Clb_zi_curs' AS clb_tx_data WITH ; + Height = 29, ; + Left = 8, ; + Name = "Clb_zi_curs", ; + TabIndex = 5, ; + Top = 154, ; + Width = 314, ; + Text_simplu1.ControlSource = "poDate.zi_curs", ; + Text_simplu1.Height = 23, ; + Text_simplu1.Left = 126, ; + Text_simplu1.Name = "Text_simplu1", ; + Text_simplu1.Top = 3, ; + Text_simplu1.Width = 150, ; + Lb_simplu1.Caption = "Data curs valutar", ; + Lb_simplu1.Name = "Lb_simplu1", ; + Cmd_buton1.Left = 280, ; + Cmd_buton1.Name = "Cmd_buton1", ; + Cmd_buton1.Top = 2 + *< END OBJECT: ClassLib="lb_tx.vcx" BaseClass="container" /> + + ADD OBJECT 'Ct_clb_altele' AS ct_clb_cautare WITH ; + cconditie = EMPTY(NVL(poDate.listaid,'')), ; + cprocedura = thisform.do_cauta_altele, ; + cvar_afisata = poDate.descriere, ; + Left = 7, ; + Name = "Ct_clb_altele", ; + TabIndex = 14, ; + Top = 405, ; + img_cautare.Name = "img_cautare", ; + clb_tx_cautare.LB_SIMPLU1.Caption = "Altele", ; + clb_tx_cautare.LB_SIMPLU1.Name = "LB_SIMPLU1", ; + clb_tx_cautare.Name = "clb_tx_cautare", ; + clb_tx_cautare.TEXT_SIMPLU1.Name = "TEXT_SIMPLU1" + *< END OBJECT: ClassLib="caut_ora.vcx" BaseClass="container" /> + + ADD OBJECT 'Ct_clb_fdoc' AS _container WITH ; + Height = 29, ; + Left = 8, ; + Name = "Ct_clb_fdoc", ; + TabIndex = 6, ; + Top = 182, ; + Width = 314 + *< END OBJECT: ClassLib="_baza.vcx" BaseClass="container" /> + + ADD OBJECT 'Ct_clb_fdoc._combobox1' AS _combobox WITH ; + ColumnWidths = "100,0", ; + ControlSource = "", ; + Left = 126, ; + Name = "_combobox1", ; + RowSource = "FACTURA,PROFORMA,BON FISCAL", ; + RowSourceType = 1, ; + SpecialEffect = 1, ; + Top = 2, ; + Value = FACTURA, ; + Width = 184 + *< END OBJECT: ClassLib="_baza.vcx" BaseClass="combobox" /> + + ADD OBJECT 'Ct_clb_fdoc._label1' AS _label WITH ; + Caption = "Tip document", ; + Left = 8, ; + Name = "_label1", ; + Top = 7 + *< END OBJECT: ClassLib="_baza.vcx" BaseClass="label" /> + + ADD OBJECT 'Ct_clb_gestiune_init' AS ct_clb_cautare WITH ; + cprocedura = thisform.do_cauta_gestiune_init, ; + cvar_afisata = thisform.cgestiune_init, ; + Left = 7, ; + Name = "Ct_clb_gestiune_init", ; + TabIndex = 15, ; + ToolTipText = " Daca nu alegeti gestiunea, la scaderea din stoc a unui articol va vor fi aratate stocurile tuturor gestiunilor pe care aveti drepturi.", ; + Top = 433, ; + img_cautare.Name = "img_cautare", ; + clb_tx_cautare.Lb_simplu1.Caption = "Gestiune sursã", ; + clb_tx_cautare.Lb_simplu1.Name = "Lb_simplu1", ; + clb_tx_cautare.Name = "clb_tx_cautare", ; + clb_tx_cautare.Text_simplu1.Name = "Text_simplu1" + *< END OBJECT: ClassLib="caut_ora.vcx" BaseClass="container" /> + + ADD OBJECT 'Ct_clb_lucrare' AS ct_clb_cautare WITH ; + cconditie = EMPTY(NVL(poDate.id_lucrare,0)), ; + cprocedura = thisform.do_cauta_lucrare, ; + cvar_afisata = poDate.nrord, ; + Left = 7, ; + Name = "Ct_clb_lucrare", ; + TabIndex = 10, ; + Top = 293, ; + img_cautare.Name = "img_cautare", ; + clb_tx_cautare.Lb_simplu1.Caption = "Lucrare", ; + clb_tx_cautare.Lb_simplu1.Name = "Lb_simplu1", ; + clb_tx_cautare.Name = "clb_tx_cautare", ; + clb_tx_cautare.Text_simplu1.Name = "Text_simplu1" + *< END OBJECT: ClassLib="caut_ora.vcx" BaseClass="container" /> + + ADD OBJECT 'Ct_clb_nume_client' AS ct_clb_cautare WITH ; + cconditie = EMPTY(poDate.id_client) or ISNULL(poDate.id_client), ; + cprocedura = thisform.do_cauta_client, ; + cvar_afisata = poDate.nume_client, ; + Left = 7, ; + Name = "Ct_clb_nume_client", ; + TabIndex = 9, ; + Top = 265, ; + img_cautare.Name = "img_cautare", ; + clb_tx_cautare.LB_SIMPLU1.Caption = "Nume client", ; + clb_tx_cautare.LB_SIMPLU1.Name = "LB_SIMPLU1", ; + clb_tx_cautare.Name = "clb_tx_cautare", ; + clb_tx_cautare.TEXT_SIMPLU1.Name = "TEXT_SIMPLU1" + *< END OBJECT: ClassLib="caut_ora.vcx" BaseClass="container" /> + + ADD OBJECT 'Ct_clb_responsabil' AS ct_clb_cautare WITH ; + cconditie = EMPTY(NVL(poDate.id_responsabil,0)), ; + cprocedura = thisform.do_cauta_responsabil, ; + cvar_afisata = poDate.responsabil, ; + Left = 7, ; + Name = "Ct_clb_responsabil", ; + TabIndex = 13, ; + Top = 377, ; + img_cautare.Name = "img_cautare", ; + clb_tx_cautare.LB_SIMPLU1.Caption = "Responsabil", ; + clb_tx_cautare.LB_SIMPLU1.Name = "LB_SIMPLU1", ; + clb_tx_cautare.Name = "clb_tx_cautare", ; + clb_tx_cautare.TEXT_SIMPLU1.Name = "TEXT_SIMPLU1" + *< END OBJECT: ClassLib="caut_ora.vcx" BaseClass="container" /> + + ADD OBJECT 'Ct_clb_sectie' AS ct_clb_cautare WITH ; + cconditie = EMPTY(NVL(poDate.id_sectie,0)), ; + cprocedura = thisform.do_cauta_sectie, ; + cvar_afisata = poDate.sectie, ; + Left = 7, ; + Name = "Ct_clb_sectie", ; + TabIndex = 11, ; + Top = 321, ; + IMG_CAUTARE.Name = "IMG_CAUTARE", ; + CLB_TX_CAUTARE.LB_SIMPLU1.Caption = "Secþie", ; + CLB_TX_CAUTARE.LB_SIMPLU1.Name = "LB_SIMPLU1", ; + CLB_TX_CAUTARE.Name = "CLB_TX_CAUTARE", ; + CLB_TX_CAUTARE.TEXT_SIMPLU1.Name = "TEXT_SIMPLU1" + *< END OBJECT: ClassLib="caut_ora.vcx" BaseClass="container" /> + + ADD OBJECT 'Ct_clb_valuta' AS ct_clb_cautare WITH ; + cconditie = EMPTY(NVL(poDate.id_valuta,0)), ; + cprocedura = thisform.do_cauta_valuta, ; + cvar_afisata = poDate.nume_valuta, ; + Left = 7, ; + Name = "Ct_clb_valuta", ; + TabIndex = 4, ; + Top = 125, ; + IMG_CAUTARE.Name = "IMG_CAUTARE", ; + CLB_TX_CAUTARE.LB_SIMPLU1.Caption = "Valutã", ; + CLB_TX_CAUTARE.LB_SIMPLU1.Name = "LB_SIMPLU1", ; + CLB_TX_CAUTARE.Name = "CLB_TX_CAUTARE", ; + CLB_TX_CAUTARE.TEXT_SIMPLU1.Name = "TEXT_SIMPLU1" + *< END OBJECT: ClassLib="caut_ora.vcx" BaseClass="container" /> + + ADD OBJECT 'Ct_clb_venchelt' AS ct_clb_cautare WITH ; + cconditie = EMPTY(NVL(poDate.id_venchelt,0)), ; + cprocedura = thisform.do_cauta_venchelt, ; + cvar_afisata = poDate.venchelt, ; + Left = 7, ; + Name = "Ct_clb_venchelt", ; + TabIndex = 12, ; + Top = 349, ; + img_cautare.Name = "img_cautare", ; + clb_tx_cautare.Lb_simplu1.Caption = "Venit / cheltuialã", ; + clb_tx_cautare.Lb_simplu1.Name = "Lb_simplu1", ; + clb_tx_cautare.Name = "clb_tx_cautare", ; + clb_tx_cautare.Text_simplu1.Name = "Text_simplu1" + *< END OBJECT: ClassLib="caut_ora.vcx" BaseClass="container" /> + + ADD OBJECT 'Ed_tx_simplu1' AS ed_tx_simplu WITH ; + Height = 62, ; + Left = 8, ; + Name = "Ed_tx_simplu1", ; + TabIndex = 16, ; + Top = 462, ; + Width = 520, ; + _EDBASE1.ControlSource = "poDate.explicatia4", ; + _EDBASE1.Format = "!K", ; + _EDBASE1.Height = 54, ; + _EDBASE1.Left = 124, ; + _EDBASE1.MaxLength = 100, ; + _EDBASE1.Name = "_EDBASE1", ; + _EDBASE1.Top = 2, ; + _EDBASE1.Width = 392, ; + _lbbase1.AutoSize = .F., ; + _lbbase1.Caption = "Explicatie Reg. Jurnal (max.100 caractere)", ; + _lbbase1.Height = 82, ; + _lbbase1.Left = 4, ; + _lbbase1.Name = "_lbbase1", ; + _lbbase1.Top = 6, ; + _lbbase1.Width = 111, ; + _lbbase1.WordWrap = .T. + *< END OBJECT: ClassLib="lb_tx.vcx" BaseClass="container" /> + + ADD OBJECT 'lblCodFiscal' AS _label WITH ; + Anchor = 8, ; + Caption = "Cod fiscal", ; + FontBold = .F., ; + Left = 358, ; + Name = "lblCodFiscal", ; + Top = 271 + *< END OBJECT: ClassLib="_baza.vcx" BaseClass="label" /> + + ADD OBJECT 'lblSoldLei' AS _label WITH ; + Anchor = 8, ; + Caption = "Sold lei", ; + FontBold = .T., ; + ForeColor = 0,0,128, ; + Left = 358, ; + Name = "lblSoldLei", ; + Top = 299 + *< END OBJECT: ClassLib="_baza.vcx" BaseClass="label" /> + + ADD OBJECT 'txtCodFiscal' AS _textbox WITH ; + Anchor = 8, ; + ControlSource = "poDate.cod_fiscal", ; + Enabled = .F., ; + Height = 23, ; + Left = 422, ; + Name = "txtCodFiscal", ; + ReadOnly = .T., ; + Top = 269, ; + Width = 118 + *< END OBJECT: ClassLib="_baza.vcx" BaseClass="textbox" /> + + ADD OBJECT 'txtSoldLei' AS _textbox WITH ; + Anchor = 8, ; + ControlSource = "thisform.nSoldLei", ; + Enabled = .F., ; + ForeColor = 0,0,128, ; + Height = 23, ; + InputMask = "999 999 999.99", ; + Left = 422, ; + Name = "txtSoldLei", ; + ReadOnly = .T., ; + Top = 297, ; + Width = 118 + *< END OBJECT: ClassLib="_baza.vcx" BaseClass="textbox" /> + + PROCEDURE do_cauta_altele + Do Case + Case Thisform.nid_tip=2 + Thisform.do_cauta_contract() + Case Thisform.nid_tip=3 + Thisform.do_cauta_comanda() + Case Thisform.nid_tip=4 + Thisform.do_cauta_avize() + *!* modificare v 2.0.46 + Case Thisform.nid_tip=7 + Thisform.do_cauta_factura() + *!* modificare v 2.0.46 ^ + *!* modificare v 2.0.56 + Case Inlist(Thisform.nid_tip,8,9) + Thisform.do_cauta_facturi() + *!* modificare v 2.0.56 ^ + *!* modificare v 2.0.87 + Case Thisform.nid_tip = 45 + Thisform.do_cauta_locatii() + *!* modificare v 2.0.87 ^ + Endcase + ENDPROC + + PROCEDURE do_cauta_avize + Local lcXMLAvize + If Empty(Nvl(poDate.id_client,0)) + amessagebox("Nu ati ales clientul!",0+48,"Atentie") + This.ct_clb_nume_client.SetFocus() + Else + lcXMLAvize = caut_avize(poDate.id_client) && oproceduri_facturare.prg + If !Empty(lcXMLAvize) + Xmltocursor(lcXMLAvize, "crsAvizeTemp") + *!* modificare v 2.0.44 + Select id_vanzare,id_comanda,; + Padl(Iif(!Empty(Nvl(serie_act,[])),Alltrim(serie_act)+[ ],[])+Alltrim(Str(numar_act,20)),50,[ ]) As numar_act ; + From crsAvizeTemp Into Cursor crsAvizeTemp + *!* modificare v 2.0.44 ^ + lcIdVanzare = cursor2lista("crsAvizeTemp", "id_vanzare", ",") + lcNumar_Act = cursor2lista("crsAvizeTemp", "numar_act", ",") + + poDate.listaid = lcIdVanzare + poDate.descriere = lcNumar_Act + AddProperty(poDate,"id_comanda_aviz",0) + Select crsAvizeTemp + Locate For Not Empty(ID_COMANDA) + If Found() + poDate.id_comanda_aviz=ID_COMANDA + Endif + Use In crsAvizeTemp + + This.ct_clb_altele.Refresh() + If Type('Thisform.ct_clb_gestiune_init.visible')<>'U' && modificare v 2.0.41 + This.ct_clb_gestiune_init.SetFocus() + Else + Thisform.but_TERMIN1.SetFocus() + Endif + Endif + Endif + + ENDPROC + + PROCEDURE do_cauta_client + Local loCauta + loCauta = CautPartenerContabilitate(GetHash([cTitlu=>Clienti??cCont=>4111??lAdaugCorespondente=>1])) + If !Empty(Nvl(loCauta.id_part,0)) And !Empty(loCauta.denumire) + If loCauta.id_part <> poDate.id_client + poDate.listaid = [] + poDate.descriere = [] + poDate.text_aditional = [] + Endif + poDate.id_client = loCauta.id_part + poDate.nume_client = loCauta.denumire + poDate.cod_fiscal = loCauta.cod_fiscal + + If poDate.tip = 3 + lcSql = [begin ] + gcS + [.pack_facturare.cauta_date_comanda(?poDate.id_client,?gnIdSucursala,] + ; + [?poDate.dataact,?@poDate.listaid,?@poDate.descriere); end;] + lnSucces = goExecutor.oExecute(lcSql) + If lnSucces < 0 + amessagebox(goExecutor.oPrelucrareEroare(),0+16,"Eroare") + poDate.listaid = [] + poDate.descriere = [] + poDate.text_aditional = [] + Endif + Endif + + *!* If Type('thisform.ct_clb_altele.visible')<>'U' + *!* This.ct_clb_altele.Refresh() + *!* Endif + + * Soldul curent + loSoldClient = GetSoldClient(poDate.id_client) + this.nSoldLei = loSoldClient.sold_lei + this.nSoldValuta = loSoldClient.sold_valuta + this.txtSoldLei.Refresh() + + this.txtCodFiscal.Refresh() + + This.ct_clb_nume_client.Refresh() + This.ct_clb_lucrare.SetFocus() + + This.ct_clb_nume_client.clb_TX_CAUTARE.text_SIMPLU1.ToolTipText = 'Id client: ' + TRANSFORM(poDate.id_client) + Else + poDate.listaid = [] + poDate.descriere = [] + poDate.text_aditional = [] + + This.ct_clb_nume_client.clb_TX_CAUTARE.text_SIMPLU1.ToolTipText = '' + + this.nSoldLei = 0 + this.nSoldValuta = 0 + this.txtSoldLei.Refresh() + Endif + *!* modificare v 2.0.70 + If Type('thisform.ct_clb_altele.visible')<>'U' + This.ct_clb_altele.Refresh() + ENDIF + *!* modificare v 2.0.70 ^ + ENDPROC + + PROCEDURE do_cauta_comanda + * 12.03.2021 + * folosesc caut_comanda_clienti in loc de caut_comanda_client, + * ca sa pot folosi un client diferit fata de comanda (ex: pers. fizica in loc de pers. juridica) + Local loCauta + If Empty(Nvl(poDate.id_client,0)) + amessagebox("Nu ati ales clientul!",0+48,"Atentie") + This.ct_clb_nume_client.SetFocus() + Else + * loCauta = caut_comanda_client(poDate.id_client) + loCauta = caut_comanda_clienti(poDate.id_client) + If !Isnull(loCauta) And !Empty(loCauta.id_comanda) + IF poDate.id_client <> loCauta.id_part + AMESSAGEBOX('Comanda ' + ALLTRIM(TRANSFORM(loCauta.nr_comanda)) + ' (Client: ' + ALLTRIM(loCauta.nume) + ' Id: ' + ALLTRIM(TRANSFORM(loCauta.id_part)) + ')' + ; + ' nu apartine clientului ales (' + ALLTRIM(poDate.nume_client) + ' Id: ' + ALLTRIM(TRANSFORM(poDate.id_client)) + ')',0+48,_sCREEN.Caption) + ENDIF + poDate.listaid = loCauta.id_comanda + poDate.descriere = loCauta.nr_comanda + + This.ct_clb_altele.Refresh() + If Type('Thisform.ct_clb_gestiune_init.visible')<>'U' && modificare v 2.0.41 + This.ct_clb_gestiune_init.SetFocus() + Else + This.but_TERMIN1.SetFocus() + Endif + Endif + Endif + + ENDPROC + + PROCEDURE do_cauta_contract + Local loCauta,lcXMLContracte + If Empty(Nvl(poDate.id_client,0)) + amessagebox("Nu ati ales clientul!",0+48,"Atentie") + This.ct_clb_nume_client.SetFocus() + Else + *!* modificare v 2.0.67 + *!* loCauta = caut_contract_facturare(poDate.id_client) + *!* If !Isnull(loCauta) And !Empty(loCauta.id_ctr) + *!* poDate.listaid = loCauta.id_ctr + *!* poDate.descriere = loCauta.contract + *!* This.ct_clb_altele.Refresh() + *!* If Inlist(loCauta.opt_facturare,3,4) + *!* If !Empty(loCauta.scadenta_incasare) + *!* poDate.datascad = poDate.dataact + loCauta.scadenta_incasare + *!* This.clb_data_scadenta.Refresh() + *!* Endif + *!* *!* modificare v 2.0.41 + *!* If Type('Thisform.ct_clb_gestiune_init.visible')<>'U' + *!* Thisform.ct_clb_gestiune_init.Visible = .T. + *!* Thisform.ct_clb_gestiune_init.SetFocus() + *!* Else + *!* Thisform.but_termin1.SetFocus() + *!* Endif + *!* *!* modificare v 2.0.41 ^ + *!* Else + *!* *!* poDate.datascad = Iif(gnScadentaAutomata=0,Gomonth(poDate.dataact,1),poDate.dataact+gnZileScadentaFact) + *!* *!* modificare v 2.0.41 + *!* poDate.id_gestiune_init = Null + *!* Thisform.cgestiune_init = [] + *!* If Type('Thisform.ct_clb_gestiune_init.visible')<>'U' + *!* Thisform.ct_clb_gestiune_init.Refresh() + *!* Thisform.ct_clb_gestiune_init.Visible = .F. + *!* Endif + *!* Thisform.but_termin1.SetFocus() + *!* Endif + *!* *!* modificare v 2.0.41 ^ + lcXMLContracte = caut_contract_facturare(poDate.id_client) + If !Empty(lcXMLContracte) And gnButon = 1 + Xmltocursor(lcXMLContracte, "crsCtrTemp") + poDate.listaid = cursor2lista("crsCtrTemp", "id_ctr", ",") + poDate.descriere = cursor2lista("crsCtrTemp", "contract", ",") + This.ct_clb_altele.Refresh() + Select crsCtrTemp + Calculate Min(scadenta_incasare),MAX(afisare_scadenta) For Inlist(opt_facturare,3,4,0) To lnScadentaIncasare,lnAfisareScadenta + If lnScadentaIncasare <> 0 + poDate.datascad = poDate.dataact + lnScadentaIncasare + This.clb_data_scadenta.Refresh() + Endif + poDate.afisare_scadenta = lnAfisareScadenta && modificare ROACONTRACTE v 2.0.38 + If Type('Thisform.ct_clb_gestiune_init.visible')<>'U' + Thisform.ct_clb_gestiune_init.Visible = .T. + Thisform.ct_clb_gestiune_init.SetFocus() + Else + Thisform.but_termin1.SetFocus() + Endif + *!* Use In crsCtrTemp + *!* modificare v 2.0.67 ^ + Endif + Endif + + ENDPROC + + PROCEDURE do_cauta_factura + *!* modificare v 2.0.46 + Local loCauta + If Empty(Nvl(poDate.id_client,0)) + amessagebox("Nu ati ales clientul!",0+48,"Atentie") + This.ct_clb_nume_client.SetFocus() + Else + loCauta = caut_facturi_client(poDate.id_client) + If !Isnull(loCauta) And !Empty(loCauta.id_fact) + poDate.descriere = Alltrim(Alltrim(Nvl(loCauta.serie_act,[]))+[ ]+Alltrim(Str(loCauta.nract,14,0))) + poDate.text_aditional = [INVOICE ] + poDate.descriere + This.ct_clb_altele.Refresh() + This.buT_TERMIN1.SetFocus() + Endif + EndIf + *!* modificare v 2.0.46 ^ + ENDPROC + + PROCEDURE do_cauta_facturi + *!* modificare v 2.0.56 + Local loCauta + Do Case + Case Empty(Nvl(poDate.id_client,0)) + amessagebox("Nu ati ales clientul!",0+48,"Atentie") + This.ct_clb_nume_client.SetFocus() + Case Empty(Nvl(poDate.id_valuta,0)) And poDate.tip = 9 + amessagebox("Nu ati ales valuta!",0+48,"Atentie") + This.ct_clb_valuta.SetFocus() + OTHERWISE + * 03.07.2020, marius + * Nu stiu de ce se alegea o singura factura la retur. + * Era si codul pentru mai multe facturi retur, dar era comentat + + *!* loCauta = caut_facturi_multiple_client(poDate.id_client,poDate.in_valuta,poDate.id_valuta) + *!* If gnButon = 1 and !Empty(Nvl(loCauta.id_vanzare,0)) + *!* poDate.listaid = Alltrim(Str(loCauta.id_vanzare)) + *!* poDate.descriere = Alltrim(Iif(!Empty(Nvl(loCauta.serie_act,[])),Alltrim(loCauta.serie_act)+[ ],[])+Alltrim(Str(loCauta.numar_act,20,0))) + + * pentru mai multe facturi : + lcXMLFacturi = caut_facturi_multiple_client(poDate.id_client,poDate.in_valuta,poDate.id_valuta,.T.) + If !Empty(lcXMLFacturi) and gnButon = 1 + Xmltocursor(lcXMLFacturi, "crsFacturiTemp") + Select id_vanzare,; + Padl(Iif(!Empty(Nvl(serie_act,[])),Alltrim(serie_act)+[ ],[])+Alltrim(Str(numar_act,20,0)),50,[ ]) As numar_act ; + From crsFacturiTemp Into Cursor crsFacturiTemp + poDate.listaid = cursor2lista("crsFacturiTemp", "id_vanzare", ",") + poDate.descriere = cursor2lista("crsFacturiTemp", "numar_act", ",") + USE IN (SELECT('crsFacturiTemp')) + + poDate.text_aditional = Iif(poDate.tip=8,[RETUR FACTURA ],[REFUND INVOICE FOR ]) + poDate.descriere + + This.ct_clb_altele.Refresh() + This.buT_TERMIN1.SetFocus() + Endif + Endcase + *!* modificare v 2.0.56 ^ + + ENDPROC + + PROCEDURE do_cauta_fdoc + Local loCauta + loCauta = caut_fdoc() + If !Isnull(loCauta) And !Empty(loCauta.fel_document) + poDate.id_fdoc = loCauta.id_fdoc + poDate.fdoc = loCauta.fel_document + + This.ct_clb_fdoc.Refresh() + This.clb_dataact.SetFocus() + Endif + + ENDPROC + + PROCEDURE do_cauta_gestiune_init + loCauta = caut_gestiune(0,gnIdUtil) + If !Isnull(loCauta) And !Empty(loCauta.id_gestiune) + poDate.id_gestiune_init = loCauta.id_gestiune + Thisform.cgestiune_init = loCauta.nume_gestiune + Else + poDate.id_gestiune_init = Null + Thisform.cgestiune_init = [] + Endif + This.ct_clb_gestiune_init.Refresh() + *!* modificare ROACONTRACTE v 2.0.42 + *!* This.buT_TERMIN1.SetFocus() + Thisform.ed_tx_simplu1._edbase1.SetFocus() + *!* modificare ROACONTRACTE v 2.0.42 ^ + + ENDPROC + + PROCEDURE do_cauta_locatii + Local loCauta + loCauta = caut_locatie_restaurant() + If !Isnull(loCauta) And !Empty(loCauta.id_rest_locatie) + poDate.listaid = loCauta.id_rest_locatie + poDate.descriere = loCauta.locatie + This.ct_clb_altele.Refresh() + This.but_TERMIN1.SetFocus() + Endif + ENDPROC + + PROCEDURE do_cauta_lucrare + Local loCauta + LOCAL llToateIreg, llNou, lcFiltruOriginal + llToateIreg = .F. + llNou = .T. + lcFiltruOriginal = '' + + loCauta = caut_lucrare(m.llToateIreg, m.llNou, m.lcFiltruOriginal) + *!* modificare v 2.0.46 + *!* If !Empty(Nvl(loCauta.id_lucrare,0)) + *!* poDate.id_lucrare = loCauta.id_lucrare + *!* poDate.nrord = loCauta.nrord + + *!* This.ct_clb_lucrare.Refresh() + *!* Endif + If gnButon = 1 + poDate.id_lucrare = loCauta.id_lucrare + poDate.nrord = loCauta.nrord + Else + poDate.id_lucrare = Null + poDate.nrord = [] + Endif + *!* modificare v 2.0.46 ^ + This.ct_clb_sectie.SetFocus() + ENDPROC + + PROCEDURE do_cauta_responsabil + Local loCauta + loCauta = CautPartenerContabilitate(GetHash([cTitlu=>Responsabili??cTipuriParteneri=>]+Alltrim(Str(gnIdTipResponsabili))+[??lAdaugCorespondente=>1])) + If !Empty(Nvl(loCauta.id_part,0)) And !Empty(loCauta.denumire) + poDate.id_responsabil = loCauta.id_part + poDate.responsabil = loCauta.denumire + Else + poDate.id_responsabil = Null + poDate.responsabil = [] + Endif + This.ct_clb_responsabil.Refresh() + Do Case + Case Type('thisform.ct_clb_altele.visible')<>'U' + Thisform.ct_clb_altele.SetFocus() + Case Type('Thisform.ct_clb_gestiune_init.visible')<>'U' && modificare v 2.0.41 + This.ct_clb_gestiune_init.SetFocus() + Otherwise + This.buT_TERMIN1.SetFocus() + Endcase + + ENDPROC + + PROCEDURE do_cauta_sectie + Local loCauta + LOCAL lnPornire, llDesktop, llToateIreg, llNou, lcFiltruOriginal + lnPornire = 0 + llDesktop = .F. + llToateIreg = .F. + llNou = .T. + lcFiltruOriginal = '' + + loCauta = caut_sectie(lnPornire, llDesktop, m.llToateIreg, m.llNou, m.lcFiltruOriginal) + *!* modificare v 2.0.46 + *!* If !Empty(Nvl(loCauta.id_sectie,0)) + *!* poDate.id_sectie = loCauta.id_sectie + *!* poDate.sectie = loCauta.sectie + *!* This.ct_clb_sectie.Refresh() + *!* Endif + If gnButon = 1 + poDate.id_sectie = loCauta.id_sectie + poDate.sectie = loCauta.sectie + Else + poDate.id_sectie = Null + poDate.sectie = [] + Endif + This.ct_clb_sectie.Refresh() + *!* modificare v 2.0.46 ^ + Do Case + *!* modificare v 2.0.46 + Case Type('thisform.ct_clb_venchelt.visible')<>'U' + This.ct_clb_venchelt.SetFocus() + *!* modificare v 2.0.46 ^ + Case Type('thisform.ct_clb_responsabil.visible')<>'U' + This.ct_clb_responsabil.SetFocus() + Case Type('thisform.ct_clb_altele.visible')<>'U' + This.ct_clb_altele.SetFocus() + Case Type('Thisform.ct_clb_gestiune_init.visible')<>'U' && modificare v 2.0.41 + This.ct_clb_gestiune_init.SetFocus() + Otherwise + This.buT_TERMIN1.SetFocus() + Endcase + ENDPROC + + PROCEDURE do_cauta_valuta + Local loCauta + loCauta = caut_valuta(1,.F.,.T.) + If !Isnull(loCauta) And !Empty(loCauta.id_valuta) + poDate.id_valuta = loCauta.id_valuta + poDate.nume_valuta = loCauta.nume_val + + This.ct_clb_valuta.Refresh() + If Type('thisform.clb_zi_curs.visible')<>'U' + This.clb_zi_curs.SetFocus() + Else + This.clb_serie_act.SetFocus() + Endif + Endif + + ENDPROC + + PROCEDURE do_cauta_venchelt + Local loCauta + LOCAL lnPornire, llDesktop, lnTip, lnId, llToateIreg, llNou, lcFiltruOriginal + lnPornire = 0 + llDesktop = .F. + lnTip = 2 && venituri + lnId = 0 + llToateIreg = .F. + llNou = .T. + lcFiltruOriginal = '' + loCauta = caut_venchelt(m.lnPornire, m.llDesktop, m.lnTip, m.lnId, m.llToateIreg, m.llNou, m.lcFiltruOriginal) + + If gnButon = 1 + poDate.id_venchelt = loCauta.id_venchelt + poDate.venchelt = loCauta.explicatie + Else + poDate.id_venchelt = Null + poDate.venchelt = [] + Endif + This.ct_clb_venchelt.Refresh() + Do Case + Case Type('thisform.ct_clb_responsabil.visible')<>'U' + This.ct_clb_responsabil.SetFocus() + Case Type('thisform.ct_clb_altele.visible')<>'U' + This.ct_clb_altele.SetFocus() + Case Type('Thisform.ct_clb_gestiune_init.visible')<>'U' + This.ct_clb_gestiune_init.SetFocus() + Otherwise + This.buT_TERMIN1.SetFocus() + Endcase + ENDPROC + + PROCEDURE do_cauta_venit + ENDPROC + + PROCEDURE do_schimba_tipdoc + LOCAL lnIdTipDoc, lcTipDoc + lcTipDoc = UPPER(this.ct_clb_fdoc._combobox1.Value) + + lnIdTipDoc = IIF(m.lcTipDoc = 'FACTURA', poDate.nIdTipDocFactura, ; + IIF(m.lcTipDoc = 'PROFORMA', poDate.nIdTipDocProforma, ; + IIF(m.lcTipDoc = 'BON FISCAL', poDate.nIdTipDocBonFiscal, ; + IIF(m.lcTipDoc = 'AVIZ', poDate.nIdTipDocAvizExpeditie, poDate.nIdTipDocFactura)))) + + + + *!* poDate.nIdTipDocFactura = 5 + *!* poDate.nIdTipDocProforma = 23 + *!* poDate.nIdTipDocBonFiscal = 3 + *!* poDate.nIdTipDocAvizExpeditie = 6 + + + *!* poDate.eProforma = IIF(m.lnIdTipDoc = poDate.nIdTipDocProforma, 1, 0) + *!* poDate.eBonFiscal = IIF(m.lnIdTipDoc = poDate.nIdTipDocBonFiscal, 1, 0) + poDate.initializeaza_setari_document(IIF(m.lnIdTipDoc = poDate.nIdTipDocBonFiscal, -101, IIF(m.lnIdTipDoc = poDate.nIdTipDocProforma, -102, poDate.Tip))) + + This.clb_serie_act._cbbase1.LostFocus() + + IF poDate.nIdTipDoc = m.lnIdTipDoc + RETURN + ENDIF + + poDate.nract = 0 + poDate.serie_act = "" + + poGeneratorNumere.dezaloca_numar(poDate.nIdTipDoc) + poDate.nIdTipDoc = m.lnIdTipDoc && se initializeaza automat si .eBonFiscal, .eProforma + poDate.rezultat_serii = poGeneratorNumere.creeaza_cursor_serii(poDate.nIdTipDoc) && 1 = CU SERIE, 2 = FARA SERIE CU PLAJE, 3 = CU SERIE SI PLAJE + + *If Inlist(poDate.rezultat_serii,1,3) + THISFORM.clb_serie_act.nid_tipdoc = m.lnIdTipDoc + Thisform.clb_serie_act.do_initializeaza(poDate.rezultat_serii) + *Endif + + thisform.clb_nract.text_simplu1.Refresh() + thisform.clb_serie_act.Refresh() + This.clb_serie_act._cbbase1.LostFocus() + ENDPROC + + PROCEDURE do_verifica + Local loDate As "empty" + Local lnOptiune, lnRaspuns, loPartener + + lnOptiune = 1 + loPartener = Null + loDate = Createobject("empty") + + AddProperty(loDate, "denumire", poDate.nume_client) + AddProperty(loDate, "cod_fiscal", poDate.cod_fiscal) + AddProperty(loDate, "tip_verificare", "ANAF_SERVICIU_WEB") + + lnRaspuns = VerificaCodFiscal(loDate, @lnOptiune, @loPartener) + ENDPROC + + PROCEDURE inainte_de_do_termin + Local plReturn,lcFacturi_dublate, llCopiere + Store .T. To plReturn + llCopiere = This.lCopiere && copiere factura/aviz + + lccontrol = Upper(This.ActiveControl.BaseClass ) + If Inlist(lccontrol,"TEXTBOX","EDITBOX","COMBOBOX") + lcval=This.ActiveControl.ControlSource + &lcval=Thisform.ActiveControl.Value + Endif + + Do Case + Case Empty(poDate.dataireg) + amessagebox("Nu ati completat data inregistrarii!",48,"Atentie") + This.clb_dataireg.SetFocus() + plReturn = .F. + Case Empty(poDate.dataact) + amessagebox("Nu ati completat data documentului!",48,"Atentie") + This.clb_dataact.SetFocus() + plReturn = .F. + Case Empty(poDate.datascad) + amessagebox("Nu ati completat data scadenta!",48,"Atentie") + This.clb_data_scadenta.SetFocus() + plReturn = .F. + Case Isnull(poDate.id_fdoc) Or Empty(poDate.id_fdoc) + amessagebox("Nu ati ales felul documentului!",48,"Atentie") + This.ct_clb_fdoc.SetFocus() + plReturn = .F. + *!* modificare v 2.0.56 + Case poDate.in_valuta = 1 And Empty(Nvl(poDate.zi_curs,{})) And Type('thisform.clb_zi_curs.visible')<>'U' + *!* Case poDate.in_valuta = 1 And Empty(Nvl(poDate.zi_curs,{})) + *!* modificare v 2.0.56 ^ + amessagebox("Nu ati completat ziua cursului valutar!",48,"Atentie") + This.clb_zi_curs.SetFocus() + plReturn = .F. + Case poDate.in_valuta = 1 And Empty(Nvl(poDate.id_valuta,0)) + amessagebox("Nu ati completat valuta!",48,"Atentie") + This.ct_clb_valuta.SetFocus() + plReturn = .F. + Case Empty(poDate.nract) + amessagebox("Nu ati completat numarul documentului!",48,"Atentie") + This.clb_nract.SetFocus() + plReturn = .F. + Case !Between(poDate.dataireg,Date(gnAn,gnLuna,1),Gomonth(Date(gnAn,gnLuna,1),1)-1) + amessagebox("Data inregistrarii trebuie sa fie din luna "+Alltrim(Str(gnLuna))+"/"+Alltrim(Str(gnAn))+" !",48,"Atentie") + This.clb_dataireg.SetFocus() + plReturn = .F. + Case poDate.datascadpoDate.dataireg + amessagebox("Data documentului trebuie sa fie mai mica sau egala cu data inregistrarii!",48,"Atentie") + This.clb_dataact.SetFocus() + plReturn = .F. + Case Empty(poDate.id_client) Or Isnull(poDate.id_client) + amessagebox("Nu ati ales clientul!",48,"Atentie") + This.ct_clb_nume_client.SetFocus() + plReturn = .F. + Case Empty(Nvl(poDate.descriere,[])) And poDate.tip = 7 + amessagebox("Nu ati ales factura!",48,"Atentie") + This.ct_clb_altele.SetFocus() + plReturn = .F. + Case Empty(Nvl(poDate.descriere,[])) And m.llCopiere + amessagebox("Nu ati ales factura de copiat!",48,"Atentie") + This.ct_clb_altele.SetFocus() + plReturn = .F. + *!* modificare v 2.0.56 + Case Empty(Nvl(poDate.descriere,[])) And Inlist(poDate.tip,8,9) + amessagebox("Nu ati ales factura/facturile pentru care se face returul!",48,"Atentie") + This.ct_clb_altele.SetFocus() + plReturn = .F. + *!* modificare v 2.0.56 ^ + Case Empty(Nvl(poDate.listaid,[])) And !Inlist(poDate.tip,1,5,7,8,9,10,48,49) && modificare : am adaugat 10 ( v 2.0.56 ), 48 ( v 2.0.93 ), 49 ( v 2.0.95 ) + Do Case + Case Inlist(poDate.tip, 2, 6, 52) + lcMesaj = [Nu ati ales contractul!] + Case poDate.tip = 3 + lcMesaj = [Nu ati ales comanda!] + Case poDate.tip = 4 + lcMesaj = [Nu ati ales avizul!] + Case poDate.tip = 45 && modificare v 2.0.87 + lcMesaj = [Nu ati ales locatia!] + Endcase + amessagebox(lcMesaj,48,"Atentie") + This.ct_clb_altele.SetFocus() + plReturn = .F. + Otherwise + *!* modificare v 2.0.46 + *!* plReturn = .T. + lcFacturi_dublate = facturi_duplicate('4111', 0, poDate.serie_act, poDate.nract, []) + If !Empty(lcFacturi_dublate) + lnRaspuns = amessagebox(lcFacturi_dublate + Chr(13)+"Doriti sa continuati?",4+32,"Facturi dublate") + plReturn = (m.lnRaspuns = 6) + Endif + *!* modificare v 2.0.46 ^ + + * Daca FACTURA si clientul se numeste "CLIENT"[I DIVERSI] + * Atentionez ca ar trebui sa se aleaga "BON FISCAL" in loc de "FACTURA" + IF poDate.nIdTipDoc = poDate.nIdTipDocFactura AND 'CLIENT'$UPPER(NVL(poDate.nume_client,'')) + lnRaspuns = amessagebox('Ati ales clientul ' + ALLTRIM(poDate.nume_client) + ' si Tip document = FACTURA in loc de BON FISCAL' + Chr(13)+"Doriti sa continuati?",4+32,"Bon Fiscal") + plReturn = (m.lnRaspuns = 6) + ENDIF + Endcase + Return plReturn + + ENDPROC + + PROCEDURE Init + Lparameters toFactura + * toFactura (optional): factura sursa care se copie + + *!* 03.02.2015 + *!* marius.mutu + *!* Tratez si rezultat_serii = 2 FARA SERIE CU PLAJE, sa generez numarul urmator pentru BON FISCAL + + *!* Valori posibile pentru poDate.tip : + *!* 1 - Factura pe baza de lista de preturi + *!* 2 - Factura pe baza de contract + *!* 3 - Factura pe baza de comanda + *!* 4 - Din aviz + *!* 5 - Invoice pe baza de lista de preturi + *!* 6 - Invoice pe baza de contract + ** 7 - credit note + ** 8 - retur factura in lei + ** 9 - retur factura in valuta + ** 48 - Din avize ( valoric ) + *!* 52 - Factura fiscala in valuta pe baza de contract + + Local laPozitii[1], lnHeight, lnObiecte, lnOffsetTip1, lnOffsetTip2 + LOCAL i, j, llCopiere + + This.lCopiere = (TYPE('toFactura') = 'O') && copiere factura + llCopiere = This.lCopiere + + lnObiecte = 16 && ROACONTRACTE v 2.0.42 : 16 + Dimension laPozitii(lnObiecte, 3) + *!* 1 - inaltime + *!* 2 - sters + *!* 3 - tip ( 1 = ct_clb_..., 2 = clb_... ) + DoDefault() + With This + *!* stochez inaltimea fiecarui container + *!* containerele trebuie sa aiba TabIndex completat in ordinea in care sunt pe formular + + lnOffsetTip1 = .ct_clb_fdoc.Height - .ct_clb_fdoc._combobox1.Height + 1 + lnOffsetTip2 = 1 + + For i = 1 To .Objects.Count + With .Objects(i) + If 'ct_clb_' $ Lower(.Name) Or 'clb_' $ Lower(.Name) Or 'ed_tx_' $ Lower(.Name) && ROACONTRACTE v 2.0.42 : ed_tx_ + laPozitii(.TabIndex, 1) = .Height + laPozitii(.TabIndex, 2) = 0 + laPozitii(.TabIndex, 3) = Iif('ct_clb_' $ Lower(.Name), 1, 2) + Endif + Endwith + Endfor + + lnHeight = .Height + .nid_tip = poDate.tip + Do Case + Case gnScadereStoc = 0 And Inlist(poDate.tip, 1, 5, 10, 48, 49) && modificare : am adaugat 10 ( v 2.0.56 ), 48 ( v 2.0.93 ), 49 ( v 2.0.95 ) + lnHeight = lnHeight - .ct_clb_responsabil.Height - .ct_clb_gestiune_init.Height + laPozitii(.ct_clb_gestiune_init.TabIndex, 2) = 1 + laPozitii(.ct_clb_responsabil.TabIndex, 2) = 1 + .RemoveObject('ct_clb_gestiune_init') + .RemoveObject('ct_clb_responsabil') + IF m.llCopiere + .ct_clb_altele.do_schimba_explicatia([Nr. factura]) + ELSE + lnHeight = lnHeight- .ct_clb_altele.Height + laPozitii(.ct_clb_altele.TabIndex, 2) = 1 + .RemoveObject('ct_clb_altele') + ENDIF + Case gnScadereStoc = 0 + With .ct_clb_altele + Do Case + Case INLIST(poDate.tip, 2, 6, 52) && contract factura lei, invoice, fiscala valuta + .do_schimba_explicatia([Nr. contract]) + Case poDate.tip = 3 + .do_schimba_explicatia([Nr. comanda]) + Case poDate.tip = 4 + .do_schimba_explicatia([Nr. aviz / avize]) + Case poDate.tip = 7 && credit note + .do_schimba_explicatia([Nr. factura]) + Case Inlist(poDate.tip, 8, 9) && retur factura + .do_schimba_explicatia([Nr. facturi]) + Case poDate.tip = 45 + .do_schimba_explicatia([Locatie]) + Endcase + Endwith + lnHeight = lnHeight - .ct_clb_responsabil.Height - .ct_clb_gestiune_init.Height + laPozitii(.ct_clb_responsabil.TabIndex, 2) = 1 + laPozitii(.ct_clb_gestiune_init.TabIndex, 2) = 1 + .RemoveObject('ct_clb_responsabil') + .RemoveObject('ct_clb_gestiune_init') + Case gnScadereStoc = 1 And Inlist(poDate.tip, 1, 5, 10) && modificare v 2.0.56 : am adaugat 10 + IF m.llCopiere + .ct_clb_altele.do_schimba_explicatia([Nr. factura]) + ELSE + lnHeight = lnHeight - .ct_clb_altele.Height + laPozitii(.ct_clb_altele.TabIndex, 2) = 1 + .RemoveObject('ct_clb_altele') + ENDIF + + Otherwise + With .ct_clb_altele + Do Case + *!* modificare v 2.0.87 + Case poDate.tip = 45 + .do_schimba_explicatia([Locatie]) + lnHeight = lnHeight - Thisform.ct_clb_gestiune_init.Height + laPozitii(Thisform.ct_clb_gestiune_init.TabIndex, 2) = 1 + Thisform.RemoveObject('ct_clb_gestiune_init') + *!* modificare v 2.0.87 ^ + Case INLIST(poDate.tip, 2, 6, 52) && contract + .do_schimba_explicatia([Nr. contract]) + Case poDate.tip = 3 + .do_schimba_explicatia([Nr. comanda]) + Case poDate.tip = 4 + .do_schimba_explicatia([Nr. aviz / avize]) + lnHeight = lnHeight - Thisform.ct_clb_responsabil.Height - Thisform.ct_clb_gestiune_init.Height + laPozitii(Thisform.ct_clb_responsabil.TabIndex, 2) = 1 + laPozitii(Thisform.ct_clb_gestiune_init.TabIndex, 2) = 1 + Thisform.RemoveObject('ct_clb_responsabil') + Thisform.RemoveObject('ct_clb_gestiune_init') + *!* modificare v 2.0.46 + Case Inlist(poDate.tip, 7) && 7 = credit note + .do_schimba_explicatia([Nr. factura]) + *!* modificare v 2.0.51 + lnHeight = lnHeight - Thisform.ct_clb_responsabil.Height - Thisform.ct_clb_gestiune_init.Height + *!* modificare v 2.0.51 ^ + laPozitii(Thisform.ct_clb_responsabil.TabIndex, 2) = 1 + laPozitii(Thisform.ct_clb_gestiune_init.TabIndex, 2) = 1 + Thisform.RemoveObject('ct_clb_responsabil') + Thisform.RemoveObject('ct_clb_gestiune_init') + *!* modificare v 2.0.46 ^ + *!* modificare v 2.0.56 + Case Inlist(poDate.tip, 8, 9) + .do_schimba_explicatia([Nr. facturi]) + lnHeight = lnHeight - Thisform.ct_clb_gestiune_init.Height + laPozitii(Thisform.ct_clb_gestiune_init.TabIndex, 2) = 1 + Thisform.RemoveObject('ct_clb_gestiune_init') + *!* modificare v 2.0.56 ^ + *!* modificare v 2.0.93 ; modificare v 2.0.95 : 49 + Case Inlist(poDate.tip, 48, 49) + lnHeight = lnHeight - Thisform.ct_clb_responsabil.Height - Thisform.ct_clb_altele.Height - Thisform.ct_clb_gestiune_init.Height + laPozitii(Thisform.ct_clb_gestiune_init.TabIndex, 2) = 1 + laPozitii(Thisform.ct_clb_responsabil.TabIndex, 2) = 1 + laPozitii(Thisform.ct_clb_altele.TabIndex, 2) = 1 + Thisform.RemoveObject('ct_clb_gestiune_init') + Thisform.RemoveObject('ct_clb_responsabil') + Thisform.RemoveObject('ct_clb_altele') + *!* modificare v 2.0.93 ^ + Endcase + Endwith + Endcase + + If gnScadentaAutomata = 1 + .clb_data_scadenta.dezactiveaza() + Endif + + *!* modificare v 2.0.56 + If Inlist(poDate.tip, 8, 9) + lnHeight = lnHeight - .clb_zi_curs.Height + laPozitii(.clb_zi_curs.TabIndex, 2) = 1 + .RemoveObject('clb_zi_curs') + Endif + *!* modificare v 2.0.56 ^ + + If poDate.in_valuta = 0 + lnHeight = lnHeight - .ct_clb_valuta.Height + laPozitii(.ct_clb_valuta.TabIndex, 2) = 1 + .RemoveObject('ct_clb_valuta') + *!* .ct_clb_fdoc.SetFocus() + *!* Else + *!* .ct_clb_valuta.SetFocus() + Endif + + *If Inlist(poDate.rezultat_serii,1,3) + If Inlist(poDate.rezultat_serii, 1, 2, 3) && Tratez si rezultat_serii = 2 FARA SERIE CU PLAJE, sa generez numarul urmator pentru BON FISCAL + .clb_serie_act.nid_tipdoc = poDate.nIdTipDoc + .clb_serie_act.do_initializeaza(poDate.rezultat_serii) + *!* modificare v 2.0.46 + *!* .clb_serie_act.SetFocus() + *!* If !Empty(poDate.nract) + *!* .ct_clb_fdoc.SetFocus() + *!* Else + *!* .ct_clb_fdoc.SetFocus() + *!* Endif + *!* modificare v 2.0.46 ^ + Else + lnHeight = lnHeight - .clb_serie_act.Height + laPozitii(.clb_serie_act.TabIndex, 2) = 1 + .RemoveObject('clb_serie_act') + Endif + + .Height = lnHeight + + *!* rearanjare containere + For i = 1 To lnObiecte + If laPozitii(i, 2) = 1 + For j = 1 To .Objects.Count + With .Objects(j) + If ('ct_clb_' $ Lower(.Name) Or 'clb_' $ Lower(.Name) Or 'ed_tx_' $ Lower(.Name)) And .TabIndex > i + && ROACONTRACTE v 2.0.42 : ed_tx_ + .Top = .Top - laPozitii(i, 1) + Iif(laPozitii(i, 3) = 1, lnOffsetTip1, lnOffsetTip2) + Endif + Endwith + Endfor + Endif + Endfor + + .AutoCenter = .T. + .Refresh() + ENDWITH + + this.txtCodFiscal.Top = this.ct_clb_nume_client.Top + 4 + this.lblCodFiscal.Top = this.ct_clb_nume_client.Top + 4 + this.but_verifica1.Top = this.ct_clb_nume_client.Top + 2 + + this.txtSoldLei.Top = this.ct_clb_nume_client.Top + 32 + this.lblSoldLei.Top = this.ct_clb_nume_client.Top + 32 + + * Soldul curent (daca este o factura pe baza de comanda/contract, se intra deja cu clientul selectat) + IF TYPE('poDate.id_client') = 'N' AND NVL(poDate.id_client,0) <> 0 + loSoldClient = GetSoldClient(poDate.id_client) + this.nSoldLei = loSoldClient.sold_lei + this.nSoldValuta = loSoldClient.sold_valuta + this.txtSoldLei.Refresh() + This.ct_clb_nume_client.clb_TX_CAUTARE.text_SIMPLU1.ToolTipText = 'Id client: ' + TRANSFORM(poDate.id_client) + ENDIF + + DO CASE + CASE poDate.in_valuta = 1 and this.ct_clb_valuta.Top < this.ct_clb_fdoc.Top AND EMPTY(NVL(poDate.nume_valuta,'')) + this.ct_clb_valuta.SetFocus() + OTHERWISE + this.ct_clb_fdoc.SetFocus() + ENDCASE + Release laPozitii + + ENDPROC + + PROCEDURE Clb_dataact.Text_simplu1.LostFocus + *!* modificare v 2.2.4 : daca scadenta nu e automata, atunci poate modifica data scadenta propusa + *!* poDate.datascad = Iif(gnScadentaAutomata=0,Gomonth(poDate.dataact,1),poDate.dataact+gnZileScadentaFact) + poDate.datascad = Iif(gnZileScadentaFact=-1,Gomonth(poDate.dataact,1),poDate.dataact+gnZileScadentaFact) + *!* modificare v 2.2.4 ^ + Thisform.clb_data_scadenta.Refresh() + *!* modificare v 2.0.56 + If Type('thisform.clb_zi_curs.visible')<>'U' + *!* modificare v 2.0.56 ^ + poDate.zi_curs = poDate.dataact + Thisform.clb_zi_curs.Refresh() + *!* modificare v 2.0.56 + Endif + *!* modificare v 2.0.56 ^ + + ENDPROC + + PROCEDURE Clb_dataireg.Text_simplu1.LostFocus + poDate.dataact = poDate.dataireg + Thisform.clb_dataact.Refresh() + *!* modificare v 2.2.4 : daca scadenta nu e automata, atunci poate modifica data scadenta propusa + *!* poDate.datascad = Iif(gnScadentaAutomata=0,Gomonth(poDate.dataact,1),poDate.dataact+gnZileScadentaFact) + poDate.datascad = Iif(gnZileScadentaFact=-1,Gomonth(poDate.dataact,1),poDate.dataact+gnZileScadentaFact) + *!* modificare v 2.2.4 ^ + Thisform.clb_data_scadenta.Refresh() + *!* modificare v 2.0.56 + If Type('thisform.clb_zi_curs.visible')<>'U' + *!* modificare v 2.0.56 ^ + poDate.zi_curs = poDate.dataact + Thisform.clb_zi_curs.Refresh() + *!* modificare v 2.0.56 + Endif + *!* modificare v 2.0.56 ^ + ENDPROC + + PROCEDURE Clb_nract.Text_simplu1.LostFocus + poDate.nract = this.value + ENDPROC + + PROCEDURE Clb_serie_act.Text_simplu1.LostFocus + *!* 03.02.2015 + *!* marius.mutu + *!* sa se genereze numar din plaja, chiar daca nu exista serie (BON FISCAL) + IF poDate.rezultat_serii = 2 && CU PLAJE, FARA SERIE + This.Parent.genereazaNumar() + ENDIF + ENDPROC + + PROCEDURE Ct_clb_fdoc._combobox1.Init + LOCAL lcTipDoc + lcTipDoc = IIF(poDate.nIdTipDoc = poDate.nIdTipDocFactura, 'FACTURA', ; + IIF(poDate.nIdTipDoc = poDate.nIdTipDocProforma, 'PROFORMA', ; + IIF(poDate.nIdTipDoc = poDate.nIdTipDocBonFiscal, 'BON FISCAL', ; + IIF(poDate.nIdTipDoc = poDate.nIdTipDocAviz, 'AVIZ', 'FACTURA')))) + THIS.Value = m.lcTipDoc + + + ENDPROC + + PROCEDURE Ct_clb_fdoc._combobox1.LostFocus + thisform.do_schimba_tipdoc() + ENDPROC + + PROCEDURE Ed_tx_simplu1._EDBASE1.KeyPress + LPARAMETERS nKeyCode, nShiftAltCtrl + IF nKeyCode = 13 && ENTER + NODEFAULT + thisform.but_terMIN1.SetFocus() + ENDIF + ENDPROC + +ENDDEFINE + +DEFINE CLASS frm_emitere_dispozitii AS _frmbase OF "_frm_base.vcx" + *< CLASSDATA: Baseclass="form" Timestamp="" Scale="Pixels" Uniqueid="" /> + + *-- OBJECTDATA items order determines ZOrder / El orden de los items OBJECTDATA determina el ZOrder + *< OBJECTDATA: ObjPath="_shape3" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="grid_facturi" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="grid_facturi.cDataora.Header1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="grid_facturi.cDataora.Text1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="grid_facturi.cUtilizator.Header1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="grid_facturi.cUtilizator.Text1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="grid_facturi.cAltele.Header1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="grid_facturi.cAltele.Text1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="grid_facturi.cCod.Header1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="grid_facturi.cCod.Text1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="grid_facturi.cNumar_act.Header1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="grid_facturi.cNumar_act.Text1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="grid_facturi.cExplicatie.Header1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="grid_facturi.cExplicatie.Text1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="grid_facturi.cClient.Header1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="grid_facturi.cClient.Text1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="grid_facturi.cSelectat.Header1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="grid_facturi.cSelectat._checkbox1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="grid_facturi.cDiscount.Header1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="grid_facturi.cDiscount.Text1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="grid_facturi.cDiscount_evidentiat.Header1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="grid_facturi.cDiscount_evidentiat._checkbox1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="grid_facturi.cDelegat.Header1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="grid_facturi.cDelegat.Text1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="grid_facturi.cNume_agent.Header1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="grid_facturi.cNume_agent.Text1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="grid_facturi.cNrinmat.Header1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="grid_facturi.cNrinmat.Text1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="grid_facturi.cText_aditional.Header1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="grid_facturi.cText_aditional.Text1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="grid_facturi.cTotal_cu_tva.Header1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="grid_facturi.cTotal_cu_tva.Text1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="grid_facturi.cTotal_fara_tva.Header1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="grid_facturi.cTotal_fara_tva.Text1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="grid_facturi.cTotal_tva.Header1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="grid_facturi.cTotal_tva.Text1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="grid_facturi.cData_act.Header1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="grid_facturi.cData_act.Text1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="grid_facturi.cSerie_act.Header1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="grid_facturi.cSerie_act.Text1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="Ck_client" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="Ck_explicatie" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="Ck_numar_act" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="Cmd_reset1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="Cmd_cauta1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="Ck_utilizator" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="Ck_dataora" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="Ck_data_act" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="Ck_delegat" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="Ck_agent" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="Cmd_executa1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="Cmd_executa2" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="Cmd_executa3" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="Cmd_select_adv1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="Ck_serie_act" UniqueID="" Timestamp="" /> + + * + *m: actualizeaza_selectate + *m: do_listeaza_borderou + *m: do_listeaza_disp + *m: do_listeaza_disp_det + *m: do_select + *p: cfiltru_initial + *p: ndetalii + *p: nvanzari + * + + * + cbuton2 = but_listare1;cmd_executa1;cmd_executa2;cmd_executa3; + cfiltru_initial = + cgridsortlist = grid_facturi + DoCreate = .T. + Height = 576 + Name = "frm_emitere_dispozitii" + ndetalii = 0 + nvanzari = 0 + Width = 769 + WindowState = 2 + _shape1.Anchor = 11 + _shape1.Height = 29 + _shape1.Left = 0 + _shape1.Name = "_shape1" + _shape1.Top = 0 + _shape1.Width = 768 + _shape1.ZOrderSet = 1 + _shape2.Anchor = 9 + _shape2.Height = 29 + _shape2.Left = 732 + _shape2.Name = "_shape2" + _shape2.Top = 0 + _shape2.Width = 37 + _shape2.ZOrderSet = 2 + Lb_titlu_alb_b121.Caption = "LISTÃ FACTURI ªI AVIZE" + Lb_titlu_alb_b121.FontBold = .T. + Lb_titlu_alb_b121.Name = "Lb_titlu_alb_b121" + Lb_titlu_alb_b121.TabIndex = 13 + Lb_titlu_alb_b121.ZOrderSet = 3 + BUT_TERMIN1.Anchor = 9 + BUT_TERMIN1.Left = 735 + BUT_TERMIN1.Name = "BUT_TERMIN1" + BUT_TERMIN1.TabIndex = 12 + BUT_TERMIN1.Top = 1 + BUT_TERMIN1.ZOrderSet = 4 + Gridsort1.Left = 192 + Gridsort1.Name = "Gridsort1" + Gridsort1.Top = 6 + * + + ADD OBJECT '_shape3' AS _shape WITH ; + Anchor = 10, ; + BackStyle = 0, ; + Height = 40, ; + Left = 6, ; + Name = "_shape3", ; + Top = 35, ; + Width = 744, ; + ZOrderSet = 0 + *< END OBJECT: ClassLib="_baza.vcx" BaseClass="shape" /> + + ADD OBJECT 'Ck_agent' AS ck_filtru_text WITH ; + Alignment = 0, ; + AutoSize = .T., ; + camp_nume = nume_agent, ; + Caption = "Agent", ; + FontName = "Arial Narrow", ; + Left = 266, ; + Name = "Ck_agent", ; + TabIndex = 7, ; + Top = 36 + *< END OBJECT: ClassLib="caut_ora.vcx" BaseClass="checkbox" /> + + ADD OBJECT 'Ck_client' AS ck_filtru_text WITH ; + Alignment = 0, ; + AutoSize = .T., ; + camp_nume = client, ; + Caption = "Partener", ; + FontName = "Arial Narrow", ; + Left = 95, ; + Name = "Ck_client", ; + TabIndex = 4, ; + Top = 55 + *< END OBJECT: ClassLib="caut_ora.vcx" BaseClass="checkbox" /> + + ADD OBJECT 'Ck_data_act' AS ck_filtru_numar WITH ; + Alignment = 0, ; + camp_nume = data_act, ; + Caption = "Data act", ; + Left = 14, ; + Name = "Ck_data_act", ; + TabIndex = 1, ; + tip = D, ; + Top = 36, ; + Value = 1, ; + ZOrderSet = 14 + *< END OBJECT: ClassLib="caut_ora.vcx" BaseClass="checkbox" /> + + ADD OBJECT 'Ck_dataora' AS ck_filtru_numar WITH ; + Alignment = 0, ; + camp_nume = dataora, ; + Caption = "Dataora introducerii", ; + Left = 381, ; + Name = "Ck_dataora", ; + TabIndex = 9, ; + tip = T, ; + Top = 36, ; + ZOrderSet = 14 + *< END OBJECT: ClassLib="caut_ora.vcx" BaseClass="checkbox" /> + + ADD OBJECT 'Ck_delegat' AS ck_filtru_text WITH ; + Alignment = 0, ; + AutoSize = .T., ; + camp_nume = delegat, ; + Caption = "Delegat", ; + FontName = "Arial Narrow", ; + Left = 185, ; + Name = "Ck_delegat", ; + TabIndex = 6, ; + Top = 55 + *< END OBJECT: ClassLib="caut_ora.vcx" BaseClass="checkbox" /> + + ADD OBJECT 'Ck_explicatie' AS ck_filtru_text WITH ; + Alignment = 0, ; + AutoSize = .T., ; + camp_nume = explicatie, ; + Caption = "Explicaþie", ; + FontName = "Arial Narrow", ; + Left = 185, ; + Name = "Ck_explicatie", ; + TabIndex = 5, ; + Top = 36 + *< END OBJECT: ClassLib="caut_ora.vcx" BaseClass="checkbox" /> + + ADD OBJECT 'Ck_numar_act' AS ck_filtru_numar WITH ; + Alignment = 0, ; + AutoSize = .T., ; + camp_nume = NUMAR_ACT, ; + Caption = "Nr. act", ; + FontName = "Arial Narrow", ; + Left = 14, ; + mask = (replicate('9',15)), ; + Name = "Ck_numar_act", ; + TabIndex = 2, ; + Top = 55 + *< END OBJECT: ClassLib="caut_ora.vcx" BaseClass="checkbox" /> + + ADD OBJECT 'Ck_serie_act' AS ck_filtru_text WITH ; + Alignment = 0, ; + AutoSize = .T., ; + camp_nume = serie_act, ; + Caption = "Serie act", ; + FontName = "Arial Narrow", ; + Left = 95, ; + Name = "Ck_serie_act", ; + TabIndex = 3, ; + Top = 36 + *< END OBJECT: ClassLib="caut_ora.vcx" BaseClass="checkbox" /> + + ADD OBJECT 'Ck_utilizator' AS ck_filtru_text WITH ; + Alignment = 0, ; + camp_nume = utilizator, ; + Caption = "Operator introducere", ; + FontCharSet = 238, ; + FontName = "Arial Narrow", ; + Left = 266, ; + Name = "Ck_utilizator", ; + TabIndex = 8, ; + Top = 55, ; + ZOrderSet = 13 + *< END OBJECT: ClassLib="caut_ora.vcx" BaseClass="checkbox" /> + + ADD OBJECT 'Cmd_cauta1' AS cmd_cauta WITH ; + Anchor = 8, ; + Left = 561, ; + Name = "Cmd_cauta1", ; + TabIndex = 10, ; + Top = 41, ; + ZOrderSet = 12 + *< END OBJECT: ClassLib="cmd_butoane.vcx" BaseClass="commandbutton" /> + + ADD OBJECT 'Cmd_executa1' AS cmd_executa WITH ; + Anchor = 6, ; + caction = do_listeaza_disp, ; + Caption = "\ + + ADD OBJECT 'Cmd_executa2' AS cmd_executa WITH ; + Anchor = 6, ; + caction = do_listeaza_disp_det, ; + Caption = "Listeazã \ + + ADD OBJECT 'Cmd_executa3' AS cmd_executa WITH ; + Anchor = 6, ; + caction = do_listeaza_borderou, ; + Caption = "Listeazã \ + + ADD OBJECT 'Cmd_reset1' AS cmd_reset WITH ; + Anchor = 8, ; + Left = 657, ; + Name = "Cmd_reset1", ; + TabIndex = 14, ; + Top = 41, ; + ZOrderSet = 11 + *< END OBJECT: ClassLib="cmd_butoane.vcx" BaseClass="commandbutton" /> + + ADD OBJECT 'Cmd_select_adv1' AS cmd_select_adv WITH ; + Anchor = 6, ; + ccoloana = selectat, ; + cgrid = thisform.grid_facturi, ; + Height = 48, ; + Left = 24, ; + Name = "Cmd_select_adv1", ; + TabIndex = 18, ; + Top = 516 + *< END OBJECT: ClassLib="cmd_butoane.vcx" BaseClass="commandbutton" /> + + ADD OBJECT 'grid_facturi' AS _grdrow WITH ; + Anchor = 15, ; + ColumnCount = 19, ; + DeleteMark = .F., ; + FontName = "Arial Narrow", ; + HeaderHeight = 34, ; + Height = 417, ; + HighlightStyle = 2, ; + Left = 11, ; + Name = "grid_facturi", ; + Panel = 1, ; + RecordSource = "crsFacturi", ; + TabIndex = 11, ; + Top = 87, ; + Width = 744, ; + ZOrderSet = 6, ; + Column1.ColumnOrder = 18, ; + Column1.ControlSource = "dataora", ; + Column1.FontName = "Arial Narrow", ; + Column1.Name = "cDataora", ; + Column1.Width = 86, ; + Column2.ColumnOrder = 17, ; + Column2.ControlSource = "utilizator", ; + Column2.FontName = "Arial Narrow", ; + Column2.Name = "cUtilizator", ; + Column2.Width = 99, ; + Column3.ColumnOrder = 9, ; + Column3.ControlSource = "altele", ; + Column3.FontName = "Arial Narrow", ; + Column3.Name = "cAltele", ; + Column3.Width = 96, ; + Column4.ColumnOrder = 19, ; + Column4.ControlSource = "cod", ; + Column4.FontName = "Arial Narrow", ; + Column4.Name = "cCod", ; + Column4.Width = 81, ; + Column5.ColumnOrder = 5, ; + Column5.ControlSource = "numar_act", ; + Column5.FontName = "Arial Narrow", ; + Column5.Name = "cNumar_act", ; + Column5.Width = 68, ; + Column6.ColumnOrder = 6, ; + Column6.ControlSource = "explicatie", ; + Column6.FontName = "Arial Narrow", ; + Column6.Name = "cExplicatie", ; + Column6.Width = 119, ; + Column7.ColumnOrder = 4, ; + Column7.ControlSource = "client", ; + Column7.FontName = "Arial Narrow", ; + Column7.Name = "cClient", ; + Column7.Width = 112, ; + Column8.ColumnOrder = 1, ; + Column8.ControlSource = "selectat", ; + Column8.FontName = "Arial Narrow", ; + Column8.Name = "cSelectat", ; + Column8.Sparse = .F., ; + Column8.Width = 41, ; + Column9.ColumnOrder = 10, ; + Column9.ControlSource = "discount", ; + Column9.FontName = "Arial Narrow", ; + Column9.InputMask = (get_mask(14,gnPc)), ; + Column9.Name = "cDiscount", ; + Column9.Width = 83, ; + Column10.ColumnOrder = 16, ; + Column10.ControlSource = "discount_evidentiat", ; + Column10.FontName = "Arial Narrow", ; + Column10.Name = "cDiscount_evidentiat", ; + Column10.Sparse = .F., ; + Column10.Width = 86, ; + Column11.ColumnOrder = 8, ; + Column11.ControlSource = "delegat", ; + Column11.FontName = "Arial Narrow", ; + Column11.Name = "cDelegat", ; + Column12.ColumnOrder = 7, ; + Column12.ControlSource = "nume_agent", ; + Column12.FontName = "Arial Narrow", ; + Column12.Name = "cNume_agent", ; + Column12.Width = 67, ; + Column13.ColumnOrder = 14, ; + Column13.ControlSource = "nrinmat", ; + Column13.FontName = "Arial Narrow", ; + Column13.Name = "cNrinmat", ; + Column13.Width = 57, ; + Column14.ColumnOrder = 15, ; + Column14.ControlSource = "text_aditional", ; + Column14.FontName = "Arial Narrow", ; + Column14.Name = "cText_aditional", ; + Column15.ColumnOrder = 13, ; + Column15.ControlSource = "total_cu_tva", ; + Column15.FontName = "Arial Narrow", ; + Column15.InputMask = (get_mask(14,gnPc)), ; + Column15.Name = "cTotal_cu_tva", ; + Column16.ColumnOrder = 11, ; + Column16.ControlSource = "total_fara_tva", ; + Column16.FontName = "Arial Narrow", ; + Column16.InputMask = (get_mask(14,gnPc)), ; + Column16.Name = "cTotal_fara_tva", ; + Column16.Width = 88, ; + Column17.ColumnOrder = 12, ; + Column17.ControlSource = "total_tva", ; + Column17.FontName = "Arial Narrow", ; + Column17.InputMask = (get_mask(14,gnPc)), ; + Column17.Name = "cTotal_tva", ; + Column17.Width = 83, ; + Column18.ColumnOrder = 2, ; + Column18.ControlSource = "data_act", ; + Column18.FontName = "Arial Narrow", ; + Column18.Name = "cData_act", ; + Column19.ColumnOrder = 3, ; + Column19.ControlSource = "serie_act", ; + Column19.FontName = "Arial Narrow", ; + Column19.Name = "cSerie_act", ; + Column19.Width = 59 + *< END OBJECT: ClassLib="_grd_base.vcx" BaseClass="grid" /> + + ADD OBJECT 'grid_facturi.cAltele.Header1' AS header WITH ; + Alignment = 2, ; + Caption = "Detalii", ; + FontName = "Arial Narrow", ; + Name = "Header1" + *< END OBJECT: BaseClass="header" /> + + ADD OBJECT 'grid_facturi.cAltele.Text1' AS textbox WITH ; + BackColor = 255,255,255, ; + BorderStyle = 0, ; + FontName = "Arial Narrow", ; + ForeColor = 0,0,0, ; + Margin = 0, ; + Name = "Text1" + *< END OBJECT: BaseClass="textbox" /> + + ADD OBJECT 'grid_facturi.cClient.Header1' AS header WITH ; + Alignment = 2, ; + Caption = "Partener", ; + FontName = "Arial Narrow", ; + Name = "Header1" + *< END OBJECT: BaseClass="header" /> + + ADD OBJECT 'grid_facturi.cClient.Text1' AS textbox WITH ; + BackColor = 255,255,255, ; + BorderStyle = 0, ; + FontName = "Arial Narrow", ; + ForeColor = 0,0,0, ; + Margin = 0, ; + Name = "Text1" + *< END OBJECT: BaseClass="textbox" /> + + ADD OBJECT 'grid_facturi.cCod.Header1' AS header WITH ; + Alignment = 2, ; + Caption = "Cod", ; + FontName = "Arial Narrow", ; + Name = "Header1" + *< END OBJECT: BaseClass="header" /> + + ADD OBJECT 'grid_facturi.cCod.Text1' AS textbox WITH ; + BackColor = 255,255,255, ; + BorderStyle = 0, ; + FontName = "Arial Narrow", ; + ForeColor = 0,0,0, ; + Margin = 0, ; + Name = "Text1" + *< END OBJECT: BaseClass="textbox" /> + + ADD OBJECT 'grid_facturi.cData_act.Header1' AS header WITH ; + Alignment = 2, ; + Caption = "Data act", ; + FontName = "Arial Narrow", ; + Name = "Header1" + *< END OBJECT: BaseClass="header" /> + + ADD OBJECT 'grid_facturi.cData_act.Text1' AS textbox WITH ; + BackColor = 255,255,255, ; + BorderStyle = 0, ; + FontName = "Arial Narrow", ; + ForeColor = 0,0,0, ; + Margin = 0, ; + Name = "Text1" + *< END OBJECT: BaseClass="textbox" /> + + ADD OBJECT 'grid_facturi.cDataora.Header1' AS header WITH ; + Alignment = 2, ; + Caption = "Dataora introducerii", ; + FontName = "Arial Narrow", ; + Name = "Header1" + *< END OBJECT: BaseClass="header" /> + + ADD OBJECT 'grid_facturi.cDataora.Text1' AS textbox WITH ; + BackColor = 255,255,255, ; + BorderStyle = 0, ; + FontName = "Arial Narrow", ; + ForeColor = 0,0,0, ; + Margin = 0, ; + Name = "Text1" + *< END OBJECT: BaseClass="textbox" /> + + ADD OBJECT 'grid_facturi.cDelegat.Header1' AS header WITH ; + Alignment = 2, ; + Caption = "Delegat", ; + FontName = "Arial Narrow", ; + Name = "Header1" + *< END OBJECT: BaseClass="header" /> + + ADD OBJECT 'grid_facturi.cDelegat.Text1' AS textbox WITH ; + BackColor = 255,255,255, ; + BorderStyle = 0, ; + FontName = "Arial Narrow", ; + ForeColor = 0,0,0, ; + Margin = 0, ; + Name = "Text1" + *< END OBJECT: BaseClass="textbox" /> + + ADD OBJECT 'grid_facturi.cDiscount.Header1' AS header WITH ; + Alignment = 2, ; + Caption = "Discount pe factura", ; + FontName = "Arial Narrow", ; + Name = "Header1" + *< END OBJECT: BaseClass="header" /> + + ADD OBJECT 'grid_facturi.cDiscount.Text1' AS textbox WITH ; + BackColor = 255,255,255, ; + BorderStyle = 0, ; + FontName = "Arial Narrow", ; + ForeColor = 0,0,0, ; + Margin = 0, ; + Name = "Text1" + *< END OBJECT: BaseClass="textbox" /> + + ADD OBJECT 'grid_facturi.cDiscount_evidentiat._checkbox1' AS _checkbox WITH ; + Alignment = 2, ; + AutoSize = .F., ; + Caption = "", ; + Centered = .T., ; + FontName = "Arial Narrow", ; + Left = 49, ; + Name = "_checkbox1", ; + Top = 50 + *< END OBJECT: ClassLib="_baza.vcx" BaseClass="checkbox" /> + + ADD OBJECT 'grid_facturi.cDiscount_evidentiat.Header1' AS header WITH ; + Alignment = 2, ; + Caption = "Discount evidentiat pe factura", ; + FontName = "Arial Narrow", ; + Name = "Header1", ; + WordWrap = .T. + *< END OBJECT: BaseClass="header" /> + + ADD OBJECT 'grid_facturi.cExplicatie.Header1' AS header WITH ; + Alignment = 2, ; + Caption = "Explicatie", ; + FontName = "Arial Narrow", ; + Name = "Header1" + *< END OBJECT: BaseClass="header" /> + + ADD OBJECT 'grid_facturi.cExplicatie.Text1' AS textbox WITH ; + BackColor = 255,255,255, ; + BorderStyle = 0, ; + FontName = "Arial Narrow", ; + ForeColor = 0,0,0, ; + Margin = 0, ; + Name = "Text1" + *< END OBJECT: BaseClass="textbox" /> + + ADD OBJECT 'grid_facturi.cNrinmat.Header1' AS header WITH ; + Alignment = 2, ; + Caption = "Masina", ; + FontName = "Arial Narrow", ; + Name = "Header1" + *< END OBJECT: BaseClass="header" /> + + ADD OBJECT 'grid_facturi.cNrinmat.Text1' AS textbox WITH ; + BackColor = 255,255,255, ; + BorderStyle = 0, ; + FontName = "Arial Narrow", ; + ForeColor = 0,0,0, ; + Margin = 0, ; + Name = "Text1" + *< END OBJECT: BaseClass="textbox" /> + + ADD OBJECT 'grid_facturi.cNumar_act.Header1' AS header WITH ; + Alignment = 2, ; + Caption = "Numar act", ; + FontName = "Arial Narrow", ; + Name = "Header1" + *< END OBJECT: BaseClass="header" /> + + ADD OBJECT 'grid_facturi.cNumar_act.Text1' AS textbox WITH ; + BackColor = 255,255,255, ; + BorderStyle = 0, ; + FontName = "Arial Narrow", ; + ForeColor = 0,0,0, ; + Margin = 0, ; + Name = "Text1" + *< END OBJECT: BaseClass="textbox" /> + + ADD OBJECT 'grid_facturi.cNume_agent.Header1' AS header WITH ; + Alignment = 2, ; + Caption = "Agent", ; + FontName = "Arial Narrow", ; + Name = "Header1" + *< END OBJECT: BaseClass="header" /> + + ADD OBJECT 'grid_facturi.cNume_agent.Text1' AS textbox WITH ; + BackColor = 255,255,255, ; + BorderStyle = 0, ; + FontName = "Arial Narrow", ; + ForeColor = 0,0,0, ; + Margin = 0, ; + Name = "Text1" + *< END OBJECT: BaseClass="textbox" /> + + ADD OBJECT 'grid_facturi.cSelectat._checkbox1' AS _checkbox WITH ; + Alignment = 2, ; + Caption = "", ; + Centered = .T., ; + FontName = "Arial Narrow", ; + Left = 31, ; + Name = "_checkbox1", ; + Top = 43 + *< END OBJECT: ClassLib="_baza.vcx" BaseClass="checkbox" /> + + ADD OBJECT 'grid_facturi.cSelectat.Header1' AS header WITH ; + Alignment = 2, ; + Caption = "Selectat", ; + FontName = "Arial Narrow", ; + Name = "Header1" + *< END OBJECT: BaseClass="header" /> + + ADD OBJECT 'grid_facturi.cSerie_act.Header1' AS header WITH ; + Alignment = 2, ; + Caption = "Serie act", ; + FontName = "Arial Narrow", ; + Name = "Header1" + *< END OBJECT: BaseClass="header" /> + + ADD OBJECT 'grid_facturi.cSerie_act.Text1' AS textbox WITH ; + BackColor = 255,255,255, ; + BorderStyle = 0, ; + FontName = "Arial Narrow", ; + ForeColor = 0,0,0, ; + Margin = 0, ; + Name = "Text1" + *< END OBJECT: BaseClass="textbox" /> + + ADD OBJECT 'grid_facturi.cText_aditional.Header1' AS header WITH ; + Alignment = 2, ; + Caption = "Text aditional", ; + FontName = "Arial Narrow", ; + Name = "Header1" + *< END OBJECT: BaseClass="header" /> + + ADD OBJECT 'grid_facturi.cText_aditional.Text1' AS textbox WITH ; + BackColor = 255,255,255, ; + BorderStyle = 0, ; + FontName = "Arial Narrow", ; + ForeColor = 0,0,0, ; + Margin = 0, ; + Name = "Text1" + *< END OBJECT: BaseClass="textbox" /> + + ADD OBJECT 'grid_facturi.cTotal_cu_tva.Header1' AS header WITH ; + Alignment = 2, ; + Caption = "Total cu TVA", ; + FontName = "Arial Narrow", ; + Name = "Header1" + *< END OBJECT: BaseClass="header" /> + + ADD OBJECT 'grid_facturi.cTotal_cu_tva.Text1' AS textbox WITH ; + BackColor = 255,255,255, ; + BorderStyle = 0, ; + FontName = "Arial Narrow", ; + ForeColor = 0,0,0, ; + Margin = 0, ; + Name = "Text1" + *< END OBJECT: BaseClass="textbox" /> + + ADD OBJECT 'grid_facturi.cTotal_fara_tva.Header1' AS header WITH ; + Alignment = 2, ; + Caption = "Total fara TVA", ; + FontName = "Arial Narrow", ; + Name = "Header1" + *< END OBJECT: BaseClass="header" /> + + ADD OBJECT 'grid_facturi.cTotal_fara_tva.Text1' AS textbox WITH ; + BackColor = 255,255,255, ; + BorderStyle = 0, ; + FontName = "Arial Narrow", ; + ForeColor = 0,0,0, ; + Margin = 0, ; + Name = "Text1" + *< END OBJECT: BaseClass="textbox" /> + + ADD OBJECT 'grid_facturi.cTotal_tva.Header1' AS header WITH ; + Alignment = 2, ; + Caption = "Total TVA", ; + FontName = "Arial Narrow", ; + Name = "Header1" + *< END OBJECT: BaseClass="header" /> + + ADD OBJECT 'grid_facturi.cTotal_tva.Text1' AS textbox WITH ; + BackColor = 255,255,255, ; + BorderStyle = 0, ; + FontName = "Arial Narrow", ; + ForeColor = 0,0,0, ; + Margin = 0, ; + Name = "Text1" + *< END OBJECT: BaseClass="textbox" /> + + ADD OBJECT 'grid_facturi.cUtilizator.Header1' AS header WITH ; + Alignment = 2, ; + Caption = "Operator introducere", ; + FontName = "Arial Narrow", ; + Name = "Header1" + *< END OBJECT: BaseClass="header" /> + + ADD OBJECT 'grid_facturi.cUtilizator.Text1' AS textbox WITH ; + BackColor = 255,255,255, ; + BorderStyle = 0, ; + FontName = "Arial Narrow", ; + ForeColor = 0,0,0, ; + Margin = 0, ; + Name = "Text1" + *< END OBJECT: BaseClass="textbox" /> + + PROCEDURE actualizeaza_grid1 + Lparameters lcFiltru + If Empty(lcFiltru) + lcFiltru = pofacturi.ca_baza1.cfiltru + Endif + Thisform.MousePointer = 11 + Thisform.LockScreen = .T. + Select * From crsfacturi With (Buffering = .T.) Where selectat=1 Into Cursor crstempfacturi Readwrite + lnSelectate=Reccount('crstempfacturi') + + save_grid_tag(Thisform.grid_facturi) + pofacturi.ca_baza1.cfiltru = lcFiltru + pofacturi.ca_baza1.afisare() + lcOrder=pofacturi.ca_baza1.corder + Insert Into crstempfacturi Select * From crsfacturi Where id_vanzare Not In (Select id_vanzare From crstempfacturi) + Select crstempfacturi + If Used('crsfacturi') + Use In crsfacturi + Endif + lcComanda=[Select * From crstempfacturi order by selectat desc,]+lcOrder+[ Into Cursor crsfacturi readwrite] + &lcComanda + This.actualizeaza_selectate(lnSelectate) + If Used('crstempfacturi') + Use In crstempfacturi + Endif + + restore_grid_tag(Thisform.grid_facturi) + Thisform.LockScreen = .F. + Thisform.MousePointer = 0 + If Reccount('crsFacturi')>0 + Thisform.grid_facturi.SetFocus() + Endif + ENDPROC + + PROCEDURE actualizeaza_selectate + ENDPROC + + PROCEDURE do_cauta + Local lcFiltru + lcFiltru = [sters=0] + gcCondSucursala + + If Thisform.ck_data_act.Value=1 + lcFiltru = lcFiltru + Thisform.ck_data_act.filtru + Endif + + If Thisform.ck_dataora.Value=1 + lcFiltru = lcFiltru + Thisform.ck_dataora.filtru + Endif + + If Thisform.ck_numar_act.Value = 1 + lcFiltru = lcFiltru + Thisform.ck_numar_act.filtru + Endif + + If Thisform.ck_serie_act.Value = 1 + lcFiltru = lcFiltru + Thisform.ck_serie_act.filtru + Endif + + If Thisform.ck_utilizator.Value=1 + lcFiltru = lcFiltru + Thisform.ck_utilizator.filtru + Endif + + If Thisform.ck_explicatie.Value=1 + lcFiltru = lcFiltru + Thisform.ck_explicatie.filtru + Endif + + If Thisform.ck_client.Value=1 + lcFiltru = lcFiltru + Thisform.ck_client.filtru + Endif + + If Thisform.ck_agent.Value = 1 + lcFiltru = lcFiltru + Thisform.ck_agent.filtru + Endif + + If Thisform.ck_delegat.Value = 1 + lcFiltru = lcFiltru + Thisform.ck_delegat.filtru + Endif + + * inregistrari sterse + *!* Do Case + *!* Case Thisform.opt_sterse.Value = 2 + *!* lcFiltru = lcFiltru + [ and STERS=1] + *!* Case Thisform.opt_sterse.Value = 3 + *!* lcFiltru = lcFiltru + [ and STERS=0] + *!* Endcase + + Thisform.actualizeaza_grid1(lcFiltru) + + If Reccount('crsFacturi')=0 + aMessagebox('Cautarea nu a intors rezultate!',0+48,'Info cautare') + Thisform.ck_dataora.SetFocus() + Else + Thisform.grid_facturi.SetFocus() + Endif + ENDPROC + + PROCEDURE do_listeaza_borderou + If Thisform.lactiv2 + Private pniesire,poRec,pcListaId + pniesire=0 + If Used('crstemplivrare') + Use In crstemplivrare + Endif + If Used('crstemp') + Use In crstemp + Endif + Select * From crsfacturi Where selectat=1 Order By client Into Cursor crstemplivrare Readwrite + If Reccount('crstemplivrare')=0 + amessagebox("Selectati cel putin o factura!",0+48,"Atentie") + Use In crstemplivrare + Return + Endif + + Select crstemplivrare + Go Top + Select Distinct delegat From crstemplivrare Into Cursor crstemp + If Reccount('crstemp') = 1 + Private pcDataOra, pdData + pcDataOra = get_ora(2) + pdData = Ttod(Ctot(pcDataOra)) + Select crstemp + Scatter Name poRec Blank + This.AlwaysOnTop=.F. + *!* modificare v 2.0.46 + *!* Local loExport + *!* loExport = Createobject("oExportConfig") + *!* lnVizualizare = 1 + *!* loExport.listareUserReport("crstemplivrare","FRX","borderou_incasari",lnVizualizare,"RAPORT") + *!* Release loExport + goExport.export2frx("crstemplivrare","borderou_incasari",.F.,1,"RAPORT") && , , , .T.) + *!* modificare v 2.0.46 ^ + *!* Select crstemplivrare + *!* Keyboard "{CTRL+F10}" + *!* Report Form borderou_incasari To Printer Prompt Preview + This.AlwaysOnTop=.T. + Else + amessagebox("Trebuie sa alegeti facturile pentru un singur delegat!",0+48,"Atentie") + Endif + Use In crstemplivrare + Use In crstemp + Thisform.grid_facturi.SetFocus() + Release poRec + Endif + ENDPROC + + PROCEDURE do_listeaza_disp + If Thisform.lactiv2 + Private pniesire,poRec,pcListaId + pniesire=0 + If Used('crstemplivrare') + Use In crstemplivrare + Endif + If Used('crstemp') + Use In crstemp + Endif + Select * From crsfacturi Where selectat=1 Into Cursor crstemplivrare Readwrite + If Reccount('crstemplivrare')=0 + amessagebox("Selectati cel putin o factura!",0+48,"Atentie") + Use In crstemplivrare + Return + Endif + + Select crstemplivrare + Scatter Name poRec Blank + poRec.delegat = [] + AddProperty(poRec,"responsabil",[]) + AddProperty(poRec,"gestiune",[]) + AddProperty(poRec,"id_gestiune_livr",0) + lnNrDelegati = 0 + pcListaId = [] + Scan + lcDelegat = Upper(Alltrim(delegat)) + If !Empty(lcDelegat) And poRec.delegat <> lcDelegat + poRec.delegat = lcDelegat + lnNrDelegati = lnNrDelegati + 1 + Endif + pcListaId = pcListaId + Alltrim(Str(id_vanzare)) + [,] + Endscan + + If lnNrDelegati <> 1 + poRec.delegat = [] + Endif + pcListaId = Substr(pcListaId,1,Len(pcListaId)-1) + ofrmlivrare=Createobject('frm_date_dispozitie') + ofrmlivrare.Show(1) + + If pniesire=1 + lcSql = [select b.denumire,a.serie,b.um,sum(a.cantitate) as cantitate,d.denumire as responsabil from ] + gcS+ [.vanzari_detalii a ] + ; + [left join ] + gcS + [.nom_articole b on a.id_articol = b.id_articol ] + ; + [left join ] + gcS + [.nom_gestiuni c on a.id_gestiune = c.id_gestiune ] + ; + [left join ] + gcS + [.nom_parteneri d on c.id_responsabil = d.id_part ] + ; + [where a.sters = 0 and a.id_vanzare in (] + pcListaId + [) and a.id_gestiune = ?poRec.id_gestiune_livr ] + ; + [group by b.denumire,a.serie,b.um,d.denumire] + lnSucces = goExecutor.oExecute(lcSql,[crscentralizator]) + If lnSucces<0 + amessagebox(goExecutor.oPrelucrareEroare(),16,"Eroare") + Endif + If Reccount('crscentralizator')>0 + Private pcDataOra, pcText + pcText = [] + pcDataOra=get_ora(2) + Select crscentralizator + poRec.responsabil = responsabil + This.AlwaysOnTop=.F. + *!* modificare v 2.0.46 + *!* Local loExport + *!* loExport = Createobject("oExportConfig") + *!* lnVizualizare = 1 + *!* loExport.listareUserReport("crscentralizator","FRX","centralizator_livrare",lnVizualizare,"RAPORT") + *!* Release loExport + goExport.export2frx("crscentralizator","centralizator_livrare",.F.,1,"RAPORT") && , , , .T.) + *!* modificare v 2.0.46 ^ + *!* Select crscentralizator + *!* Keyboard "{CTRL+F10}" + *!* Report Form centralizator_livrare To Printer Prompt Preview + This.AlwaysOnTop=.T. + Else + amessagebox("Nu exista articole din gestiunea "+Upper(Alltrim(poRec.gestiune))+" pe facturile selectate!",0+48,"Atentie") + Endif + + If Used('crscentralizator') + Use In crscentralizator + Endif + + Endif + Use In crstemplivrare + Thisform.grid_facturi.SetFocus() + Release poRec + Endif + ENDPROC + + PROCEDURE do_listeaza_disp_det + If Thisform.lactiv2 + Private pniesire,poRec,pcListaId + pniesire=0 + If Used('crstemplivrare') + Use In crstemplivrare + Endif + If Used('crstemp') + Use In crstemp + Endif + Select * From crsfacturi Where selectat=1 Into Cursor crstemplivrare Readwrite + If Reccount('crstemplivrare')=0 + amessagebox("Selectati cel putin o factura!",0+48,"Atentie") + Use In crstemplivrare + Return + Endif + + Select crstemplivrare + Scatter Name poRec Blank + poRec.delegat = [] + AddProperty(poRec,"responsabil",[]) + AddProperty(poRec,"gestiune",[]) + AddProperty(poRec,"id_gestiune_livr",0) + lnNrDelegati = 0 + pcListaId = [] + Scan + lcDelegat = Upper(Alltrim(delegat)) + If !Empty(lcDelegat) And poRec.delegat <> lcDelegat + poRec.delegat = lcDelegat + lnNrDelegati = lnNrDelegati + 1 + Endif + pcListaId = pcListaId + Alltrim(Str(id_vanzare)) + [,] + Endscan + + If lnNrDelegati <> 1 + poRec.delegat = [] + Endif + pcListaId = Substr(pcListaId,1,Len(pcListaId)-1) + ofrmlivrare=Createobject('frm_date_dispozitie') + ofrmlivrare.Show(1) + + If pniesire=1 + lcSql = [select a.id_part,c.denumire,c.um,b.serie,sum(b.cantitate) as cantitate,d.denumire as nume_client,] + ; + [f.denumire as responsabil ] + ; + [from ] + gcS + [.vanzari a ] + ; + [left join ] + gcS + [.vanzari_detalii b on a.id_vanzare = b.id_vanzare ] + ; + [left join ] + gcS + [.nom_articole c on b.id_articol = c.id_articol ] + ; + [left join ] + gcS + [.nom_parteneri d on a.id_part = d.id_part ] + ; + [left join ] + gcS + [.nom_gestiuni e on b.id_gestiune = e.id_gestiune ] + ; + [left join ] + gcS + [.nom_parteneri f on e.id_responsabil = f.id_part ] + ; + [where a.id_vanzare in (] + pcListaId + [) and b.sters = 0 and b.id_gestiune = ?poRec.id_gestiune_livr ] + ; + [group by a.id_part,d.denumire,c.denumire,c.um,b.serie,f.denumire order by d.denumire] + lnSucces = goExecutor.oExecute(lcSql,[crscentralizator]) + If lnSucces<0 + amessagebox(goExecutor.oPrelucrareEroare(),16,"Eroare") + Endif + If Reccount('crscentralizator')>0 + Private pcDataOra, pcText + pcText = [] + pcDataOra=get_ora(2) + This.AlwaysOnTop=.F. + Select crscentralizator + poRec.responsabil = responsabil + *!* modificare v 2.0.46 + *!* Local loExport + *!* loExport = Createobject("oExportConfig") + *!* lnVizualizare = 1 + *!* loExport.listareUserReport("crscentralizator","FRX","detalii_livrare",lnVizualizare,"RAPORT") + *!* Release loExport + goExport.export2frx("crscentralizator","detalii_livrare",.F.,1,"RAPORT") && , , , .T.) + *!* modificare v 2.0.46 ^ + *!* Keyboard "{CTRL+F10}" + *!* Report Form detalii_livrare To Printer Prompt Preview + This.AlwaysOnTop=.T. + Else + amessagebox("Nu exista articole din gestiunea "+Upper(Alltrim(poRec.gestiune))+" pe facturile selectate!",0+48,"Atentie") + Endif + + If Used('crscentralizator') + Use In crscentralizator + Endif + + Endif + Use In crstemplivrare + Thisform.grid_facturi.SetFocus() + Release poRec + Endif + ENDPROC + + PROCEDURE do_reset + With Thisform + For i=1 To .Objects.Count + If Upper(.Objects(i).BaseClass)='CHECKBOX' + .Objects(i).Value=0 + Endif + Endfor + Endwith + *!* Thisform.ck_dataora.Value = 1 + *!* Thisform.ck_dataora.filtru = Thisform.cfiltru_initial + *!* Thisform.ck_dataora.SetFocus() + Thisform.ck_data_act.Value = 1 + Thisform.ck_data_act.filtru = Thisform.cfiltru_initial + Thisform.ck_data_act.SetFocus() + ENDPROC + + PROCEDURE do_select + ENDPROC + + PROCEDURE Init + If glLunaInchisa + gcAcces=Strtran(gcAcces,[4;],[]) && nu are drept de stergere + Thisform.but_sterge1.Visible = .F. + Endif + DoDefault() + lcData = Alltrim(Str(gnAn)) + Padl(Alltrim(Str(gnLuna)),2,[0]) + [01] + *!* lcFiltruInitial = [ and dataora between ] + ; + *!* [(case when months_between(trunc(sysdate),to_date('] + lcData + [ 00:00:00','YYYYMMDD HH24:MI:SS'))<1 ] + ; + *!* [then trunc(sysdate) else to_date('] + lcData + [ 00:00:00','YYYYMMDD HH24:MI:SS') end) ] + ; + *!* [and least(last_day(to_date('] + lcData + [ 23:59:59','YYYYMMDD HH24:MI:SS')),sysdate) ] + lcFiltruInitial = [ and data_act between ] + ; + [(case when months_between(trunc(sysdate),to_date('] + lcData + [','YYYYMMDD'))<1 ] + ; + [then trunc(sysdate) else to_date('] + lcData + [','YYYYMMDD') end) ] + ; + [and least(last_day(to_date('] + lcData + [','YYYYMMDD')),sysdate) ] + Thisform.cfiltru_initial = lcFiltruInitial + *!* Thisform.ck_dataora.filtru = lcFiltruInitial + Thisform.ck_data_act.filtru = lcFiltruInitial + ENDPROC + + PROCEDURE grid_facturi.Init + This.SetAll("ReadOnly",.T.,"Column") + This.cselectat.ReadOnly=.F. + For i = 1 To This.ColumnCount + lcColor='this.Columns(' + Alltrim(Str(i)) + ').DynamicBackColor' + lcControlSource1 = 'this.Columns(' + Alltrim(Str(i)) + ').controlsource' + lcControlSource = &lcControlSource1 + lcSet = lcColor + [ = "IIF(ISNULL(] + lcControlSource + [),RGB(255,255,225),RGB(255,255,255))"] + &lcSet + Endfor + ENDPROC + +ENDDEFINE + +DEFINE CLASS frm_facturare_articole AS _frmbase OF "_frm_base.vcx" + *< CLASSDATA: Baseclass="form" Timestamp="" Scale="Pixels" Uniqueid="" /> + + *-- OBJECTDATA items order determines ZOrder / El orden de los items OBJECTDATA determina el ZOrder + *< OBJECTDATA: ObjPath="Lb_nract" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="But_renunt1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="grd_articole" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="grd_articole.cArticol.Header1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="grd_articole.cArticol.Text1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="grd_articole.cGestionabil.Header1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="grd_articole.cGestionabil._checkbox1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="grd_articole.cCodmat.Header1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="grd_articole.cCodmat.Text1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="grd_articole.cPret.Header1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="grd_articole.cPret.Text1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="grd_articole.cCantitate.Header1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="grd_articole.cCantitate.Text1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="grd_articole.cPreturi_cu_tva.Header1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="grd_articole.cPreturi_cu_tva._checkbox1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="grd_articole.cPret_val.Header1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="grd_articole.cPret_val.Text1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="grd_articole.cNume_val.Header1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="grd_articole.cNume_val.Text1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="grd_articole.cPolitici_preturi.Header1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="grd_articole.cPolitici_preturi.Text1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="grd_articole.cSerie.Header1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="grd_articole.cSerie.Text1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="grd_articole.cCodbare.Header1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="grd_articole.cCodbare.Text1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="grd_factura" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="grd_factura.cDenumire.Header1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="grd_factura.cDenumire.Text1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="grd_factura.cValdiminuatctva.Header1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="grd_factura.cValdiminuatctva.Text1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="grd_factura.cPretctva.Header1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="grd_factura.cPretctva.Text1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="grd_factura.cCantitate.Header1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="grd_factura.cCantitate.Text1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="grd_factura.cDiscountCTva.Header1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="grd_factura.cDiscountCTva.Text1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="grd_factura.cPretFtva.Header1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="grd_factura.cPretFtva.Text1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="grd_factura.cSerie.Header1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="grd_factura.cSerie.Text1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="grd_factura.cVpretftva.Header1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="grd_factura.cVpretftva.Text1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="grd_factura.cVdiscountftva.Header1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="grd_factura.cVdiscountftva.Text1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="grd_factura.cVvaldiminuatftva.Header1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="grd_factura.cVvaldiminuatftva.Text1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="grd_factura.Column11.Header1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="grd_factura.Column11.Text1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="grd_factura.cLot.Header1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="grd_factura.cLot.Text1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="But_urmator1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="But_urmator2" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="lb_data_scadenta" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="txtDataScadenta" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="lb_articolelista" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="txtArticoleLista" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="grd_cursuri" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="grd_cursuri.cCurs.Header1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="grd_cursuri.cCurs.Text1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="grd_cursuri.cNume_val.Header1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="grd_cursuri.cNume_val.Text1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="grd_cursuri.cMultiplicator.Header1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="grd_cursuri.cMultiplicator.Text1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="lb_cursuri" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="cb_contracte" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="lb_contracte" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="cb_politici_preturi" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="lb_politici_preturi" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="ck_discountevidentiat" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="Clb_discount" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="Clb_discount.Procent" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="Clb_discount.Lb_simplu2" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="Clb_total_tva" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="Clb_total_factura" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="Clb_total_baza" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="Clb_discount_articole" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="Lb_articole" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="txtArticole" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="lb_codmat" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="txtCodmat" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="ct_codmat" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="ct_articole" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="But_urmator_tot1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="But_reset1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="grd_contracte" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="grd_contracte.cArticol.Header1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="grd_contracte.cArticol.Text1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="grd_contracte.cGestionabil.Header1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="grd_contracte.cGestionabil._checkbox1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="grd_contracte.cCodmat.Header1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="grd_contracte.cCodmat.Text1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="grd_contracte.cPret.Header1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="grd_contracte.cPret.Text1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="grd_contracte.cCantitate.Header1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="grd_contracte.cCantitate.Text1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="grd_contracte.cPreturi_cu_tva.Header1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="grd_contracte.cPreturi_cu_tva._checkbox1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="grd_contracte.cPret_val.Header1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="grd_contracte.cPret_val.Text1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="grd_contracte.cNume_val.Header1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="grd_contracte.cNume_val.Text1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="grd_contracte.cNumar_contract.Header1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="grd_contracte.cNumar_contract.Text1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="grd_contracte.cCodbare.Header1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="grd_contracte.cCodbare.Text1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="But_sterge1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="lb_total_mod" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="Gridextra1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="Gridextra2" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="Gridextra3" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="But_retur" UniqueID="" Timestamp="" /> + + * + *m: actualizeaza_total_mod + *m: do_adauga_articol + *m: do_adauga_rata + *m: do_adauga_tot + *m: do_alege_stoc + *m: do_calculeaza_discount + *m: do_calculeaza_totaluri + *m: do_creeaza_filtru + *m: do_initializeaza_articol + *m: do_retur + *m: do_scrie_articole + *m: do_scrie_factura + *m: do_scrie_proforma + *m: do_urmator2 + *m: do_verifica_articol + *m: modifica_lista_preturi + *p: clistaidarticoleretur && Lista articole retur id_articol:id_vanzare,id_articol:id_vanzare + *p: cmesaj_cantitate + *p: cnewvalue + *p: coldvalue + *p: nbazafdiscount + *p: nbazafdiscountval + *p: nbazaron + *p: nbazaval + *p: ncritcod && Criteriul initial de cautare dupa cod material. + *p: ncritdenumire && Criteriul initial de cautare dupa denumire. + *p: ndiscfactron + *p: ndiscfactval + *p: ndiscron + *p: ndiscval + *p: nid + *p: nnrinregvizibile && Numarul de inregistrari vizibile in gridul cu elementele facturii. + *p: nproc_disc_mem && Procentul de discount memorat. + *p: nproc_tvav + *p: ntotalron + *p: ntotalval + *p: ntvaron + *p: ntvaval + *p: orec + * + + * + cgridsortlist = grd_articole,grd_factura,grd_contracte + clistaidarticoleretur = + cmesaj_cantitate = .F. + cnewvalue = + coldvalue = + DoCreate = .T. + Height = 586 + Name = "frm_facturare_articole" + nbazafdiscount = 0 + nbazafdiscountval = 0 + nbazaron = 0 + nbazaval = 0 + ncritcod = 2 + ncritdenumire = 2 + ndiscfactron = 0 + ndiscfactval = 0 + ndiscron = 0 + ndiscval = 0 + nnrinregvizibile = 16 + nproc_disc_mem = 0 + nproc_tvav = 0 + ntotalron = 0 + ntotalval = 0 + ntvaron = 0 + ntvaval = 0 + Width = 850 + WindowState = 2 + _memberdata = + + + + + _shape1.Anchor = 10 + _shape1.Height = 29 + _shape1.Left = 0 + _shape1.Name = "_shape1" + _shape1.Top = 0 + _shape1.Width = 850 + _shape1.ZOrderSet = 1 + _shape2.Anchor = 8 + _shape2.Height = 29 + _shape2.Left = 791 + _shape2.Name = "_shape2" + _shape2.Top = 0 + _shape2.Width = 69 + _shape2.ZOrderSet = 2 + Lb_titlu_alb_b121.Caption = "FACTURA" + Lb_titlu_alb_b121.FontBold = .T. + Lb_titlu_alb_b121.Name = "Lb_titlu_alb_b121" + Lb_titlu_alb_b121.TabIndex = 22 + Lb_titlu_alb_b121.ZOrderSet = 3 + BUT_TERMIN1.Anchor = 8 + BUT_TERMIN1.Height = 27 + BUT_TERMIN1.Left = 821 + BUT_TERMIN1.Name = "BUT_TERMIN1" + BUT_TERMIN1.TabIndex = 20 + BUT_TERMIN1.Top = 1 + BUT_TERMIN1.Width = 30 + BUT_TERMIN1.ZOrderSet = 4 + Gridsort1.Left = 744 + Gridsort1.Name = "Gridsort1" + Gridsort1.Top = 36 + * + + ADD OBJECT 'But_renunt1' AS but_renunt WITH ; + Anchor = 8, ; + Height = 27, ; + Left = 792, ; + Name = "But_renunt1", ; + TabIndex = 21, ; + Top = 1, ; + Width = 30, ; + ZOrderSet = 6 + *< END OBJECT: ClassLib="cmd_butoane.vcx" BaseClass="commandbutton" /> + + ADD OBJECT 'But_reset1' AS but_reset WITH ; + Left = 303, ; + Name = "But_reset1", ; + TabIndex = 35, ; + Top = 295, ; + ZOrderSet = 32 + *< END OBJECT: ClassLib="cmd_butoane.vcx" BaseClass="commandbutton" /> + + ADD OBJECT 'But_retur' AS but_retur WITH ; + Anchor = 8, ; + Left = 343, ; + Name = "But_retur", ; + Top = 407, ; + Visible = .F. + *< END OBJECT: ClassLib="cmd_butoane.vcx" BaseClass="commandbutton" /> + + ADD OBJECT 'But_sterge1' AS but_sterge WITH ; + Anchor = 9, ; + Left = 811, ; + Name = "But_sterge1", ; + TabIndex = 14, ; + Top = 61 + *< END OBJECT: ClassLib="cmd_butoane.vcx" BaseClass="commandbutton" /> + + ADD OBJECT 'But_urmator1' AS but_urmator WITH ; + Anchor = 8, ; + caction = do_urmator, ; + Left = 343, ; + Name = "But_urmator1", ; + TabIndex = 10, ; + Top = 348, ; + ZOrderSet = 9 + *< END OBJECT: ClassLib="cmd_butoane.vcx" BaseClass="commandbutton" /> + + ADD OBJECT 'But_urmator2' AS but_urmator WITH ; + Anchor = 8, ; + caction = do_urmator2, ; + Left = 343, ; + Name = "But_urmator2", ; + TabIndex = 2, ; + Top = 143, ; + ZOrderSet = 9 + *< END OBJECT: ClassLib="cmd_butoane.vcx" BaseClass="commandbutton" /> + + ADD OBJECT 'But_urmator_tot1' AS but_urmator_tot WITH ; + Anchor = 8, ; + caction = do_adauga_tot, ; + Left = 343, ; + Name = "But_urmator_tot1", ; + Picture = ..\grafice\urmator1_tot.bmp, ; + TabIndex = 11, ; + Top = 378, ; + Visible = .F., ; + ZOrderSet = 31 + *< END OBJECT: ClassLib="cmd_butoane.vcx" BaseClass="commandbutton" /> + + ADD OBJECT 'cb_contracte' AS combobox WITH ; + ColumnCount = 1, ; + ColumnLines = .F., ; + ColumnWidths = "200,65,65", ; + Height = 24, ; + Left = 69, ; + Name = "cb_contracte", ; + RowSourceType = 2, ; + Style = 2, ; + TabIndex = 3, ; + Top = 34, ; + Width = 220, ; + ZOrderSet = 15 + *< END OBJECT: BaseClass="combobox" /> + + ADD OBJECT 'cb_politici_preturi' AS combobox WITH ; + ColumnCount = 1, ; + ColumnLines = .F., ; + ColumnWidths = "200,65,65", ; + FontSize = 10, ; + Height = 24, ; + Left = 115, ; + Name = "cb_politici_preturi", ; + RowSourceType = 2, ; + Style = 2, ; + TabIndex = 4, ; + Top = 262, ; + Width = 220, ; + ZOrderSet = 15 + *< END OBJECT: BaseClass="combobox" /> + + ADD OBJECT 'ck_discountevidentiat' AS _checkbox WITH ; + Alignment = 0, ; + Anchor = 12, ; + AutoSize = .F., ; + Caption = "Se pune in evidenta discount-ul pe articole in notele contabile si pe factura", ; + ControlSource = "poDate.discount_evidentiat", ; + Height = 18, ; + Left = 379, ; + Name = "ck_discountevidentiat", ; + TabIndex = 32, ; + Top = 435, ; + Width = 447, ; + WordWrap = .T., ; + ZOrderSet = 17 + *< END OBJECT: ClassLib="_baza.vcx" BaseClass="checkbox" /> + + ADD OBJECT 'Clb_discount' AS clb_tx_sume_valuta WITH ; + Anchor = 12, ; + Height = 53, ; + Left = 210, ; + Name = "Clb_discount", ; + TabIndex = 15, ; + Top = 523, ; + Width = 269, ; + ZOrderSet = 20, ; + TX_SUMA_VAL.ControlSource = "thisform.ndiscfactval", ; + TX_SUMA_VAL.FontName = "Arial", ; + TX_SUMA_VAL.Left = 25, ; + TX_SUMA_VAL.Name = "TX_SUMA_VAL", ; + TX_SUMA_VAL.Top = 27, ; + TX_SUMA_VAL.Width = 80, ; + LB_EXPLICATIE.Caption = "Discount pe factura (fara TVA)", ; + LB_EXPLICATIE.FontCharSet = 1, ; + LB_EXPLICATIE.FontName = "Arial", ; + LB_EXPLICATIE.Left = 4, ; + LB_EXPLICATIE.Name = "LB_EXPLICATIE", ; + LB_EXPLICATIE.Top = 5, ; + TX_SUMA_NAT.ControlSource = "thisform.ndiscfactron", ; + TX_SUMA_NAT.FontName = "Arial", ; + TX_SUMA_NAT.InputMask = (get_mask(14,gnPc)), ; + TX_SUMA_NAT.Left = 146, ; + TX_SUMA_NAT.Name = "TX_SUMA_NAT", ; + TX_SUMA_NAT.Top = 27, ; + TX_SUMA_NAT.Width = 80, ; + LB_NUME_VAL.FontName = "Arial", ; + LB_NUME_VAL.Left = 109, ; + LB_NUME_VAL.Name = "LB_NUME_VAL", ; + LB_NUME_VAL.Top = 30, ; + LB_NUME_NAT.FontName = "Arial", ; + LB_NUME_NAT.Left = 230, ; + LB_NUME_NAT.Name = "LB_NUME_NAT", ; + LB_NUME_NAT.Top = 30, ; + lb_explicatii.Left = 151, ; + lb_explicatii.Name = "lb_explicatii", ; + lb_explicatii.Top = 5 + *< END OBJECT: ClassLib="ofacturare.vcx" BaseClass="container" /> + + ADD OBJECT 'Clb_discount.Lb_simplu2' AS lb_simplu WITH ; + Caption = "%", ; + Left = 247, ; + Name = "Lb_simplu2", ; + TabIndex = 4, ; + Top = 6 + *< END OBJECT: ClassLib="lb.vcx" BaseClass="label" /> + + ADD OBJECT 'Clb_discount.Procent' AS _txbase WITH ; + Alignment = 3, ; + Format = "!K", ; + Height = 23, ; + InputMask = "9 999.99", ; + Left = 185, ; + Name = "Procent", ; + TabIndex = 1, ; + Top = 3, ; + Value = 0, ; + Width = 57 + *< END OBJECT: ClassLib="_tx_base.vcx" BaseClass="textbox" /> + + ADD OBJECT 'Clb_discount_articole' AS clb_tx_sume_valuta WITH ; + Anchor = 12, ; + Height = 53, ; + Left = 210, ; + Name = "Clb_discount_articole", ; + TabIndex = 34, ; + Top = 471, ; + Width = 269, ; + ZOrderSet = 24, ; + tx_suma_val.ControlSource = "thisform.ndiscval", ; + tx_suma_val.FontName = "Arial", ; + tx_suma_val.Left = 25, ; + tx_suma_val.Name = "tx_suma_val", ; + tx_suma_val.Top = 27, ; + tx_suma_val.Width = 80, ; + lb_explicatie.Caption = "Discount articole (fara TVA)", ; + lb_explicatie.FontCharSet = 1, ; + lb_explicatie.FontName = "Arial", ; + lb_explicatie.Left = 4, ; + lb_explicatie.Name = "lb_explicatie", ; + lb_explicatie.Top = 6, ; + tx_suma_nat.ControlSource = "thisform.ndiscron", ; + tx_suma_nat.FontName = "Arial", ; + tx_suma_nat.InputMask = (get_mask(14,gnPc)), ; + tx_suma_nat.Left = 146, ; + tx_suma_nat.Name = "tx_suma_nat", ; + tx_suma_nat.Top = 27, ; + tx_suma_nat.Width = 80, ; + lb_nume_val.FontName = "Arial", ; + lb_nume_val.Left = 110, ; + lb_nume_val.Name = "lb_nume_val", ; + lb_nume_val.Top = 30, ; + lb_nume_nat.FontName = "Arial", ; + lb_nume_nat.Left = 230, ; + lb_nume_nat.Name = "lb_nume_nat", ; + lb_nume_nat.Top = 30, ; + lb_explicatii.Left = 154, ; + lb_explicatii.Name = "lb_explicatii", ; + lb_explicatii.Top = 6 + *< END OBJECT: ClassLib="ofacturare.vcx" BaseClass="container" /> + + ADD OBJECT 'Clb_total_baza' AS clb_tx_sume_valuta WITH ; + Anchor = 12, ; + Height = 30, ; + Left = 478, ; + Name = "Clb_total_baza", ; + TabIndex = 17, ; + Top = 471, ; + Width = 364, ; + ZOrderSet = 23, ; + tx_suma_val.ControlSource = "thisform.nbazaval", ; + tx_suma_val.FontName = "Arial", ; + tx_suma_val.Left = 115, ; + tx_suma_val.Name = "tx_suma_val", ; + tx_suma_val.Top = 4, ; + tx_suma_val.Width = 80, ; + lb_explicatie.Caption = "Total (baza)", ; + lb_explicatie.FontName = "Arial", ; + lb_explicatie.Left = 4, ; + lb_explicatie.Name = "lb_explicatie", ; + lb_explicatie.Top = 7, ; + tx_suma_nat.ControlSource = "thisform.nbazaron", ; + tx_suma_nat.FontName = "Arial", ; + tx_suma_nat.InputMask = (get_mask(14,gnPc)), ; + tx_suma_nat.Left = 240, ; + tx_suma_nat.Name = "tx_suma_nat", ; + tx_suma_nat.Top = 4, ; + tx_suma_nat.Width = 80, ; + lb_nume_val.FontName = "Arial", ; + lb_nume_val.Left = 200, ; + lb_nume_val.Name = "lb_nume_val", ; + lb_nume_val.Top = 7, ; + lb_nume_nat.FontName = "Arial", ; + lb_nume_nat.Left = 325, ; + lb_nume_nat.Name = "lb_nume_nat", ; + lb_nume_nat.Top = 7, ; + lb_explicatii.FontName = "Arial", ; + lb_explicatii.Left = 80, ; + lb_explicatii.Name = "lb_explicatii", ; + lb_explicatii.Top = 7 + *< END OBJECT: ClassLib="ofacturare.vcx" BaseClass="container" /> + + ADD OBJECT 'Clb_total_factura' AS clb_tx_sume_valuta WITH ; + Anchor = 12, ; + Height = 47, ; + Left = 478, ; + Name = "Clb_total_factura", ; + TabIndex = 33, ; + Top = 529, ; + Width = 364, ; + ZOrderSet = 22, ; + tx_suma_val.ControlSource = "thisform.ntotalval", ; + tx_suma_val.FontBold = .T., ; + tx_suma_val.FontName = "Arial", ; + tx_suma_val.Left = 115, ; + tx_suma_val.Name = "tx_suma_val", ; + tx_suma_val.Top = 20, ; + tx_suma_val.Width = 80, ; + lb_explicatie.Caption = "TOTAL FACTURA", ; + lb_explicatie.FontBold = .T., ; + lb_explicatie.FontCharSet = 1, ; + lb_explicatie.FontName = "Arial", ; + lb_explicatie.Left = 4, ; + lb_explicatie.Name = "lb_explicatie", ; + lb_explicatie.Top = 4, ; + tx_suma_nat.ControlSource = "thisform.ntotalron", ; + tx_suma_nat.FontBold = .T., ; + tx_suma_nat.FontName = "Arial", ; + tx_suma_nat.InputMask = (get_mask(14,gnPc)), ; + tx_suma_nat.Left = 240, ; + tx_suma_nat.Name = "tx_suma_nat", ; + tx_suma_nat.Top = 20, ; + tx_suma_nat.Width = 80, ; + lb_nume_val.FontBold = .T., ; + lb_nume_val.FontName = "Arial", ; + lb_nume_val.Left = 200, ; + lb_nume_val.Name = "lb_nume_val", ; + lb_nume_val.Top = 23, ; + lb_nume_nat.FontBold = .T., ; + lb_nume_nat.FontName = "Arial", ; + lb_nume_nat.Left = 325, ; + lb_nume_nat.Name = "lb_nume_nat", ; + lb_nume_nat.Top = 23, ; + lb_explicatii.FontCharSet = 1, ; + lb_explicatii.FontName = "Arial", ; + lb_explicatii.Left = 119, ; + lb_explicatii.Name = "lb_explicatii", ; + lb_explicatii.Top = 4 + *< END OBJECT: ClassLib="ofacturare.vcx" BaseClass="container" /> + + ADD OBJECT 'Clb_total_tva' AS clb_tx_sume_valuta WITH ; + Anchor = 12, ; + Height = 30, ; + Left = 478, ; + Name = "Clb_total_tva", ; + TabIndex = 18, ; + Top = 500, ; + Width = 364, ; + ZOrderSet = 21, ; + tx_suma_val.ControlSource = "thisform.ntvaval", ; + tx_suma_val.FontName = "Arial", ; + tx_suma_val.Left = 115, ; + tx_suma_val.Name = "tx_suma_val", ; + tx_suma_val.Top = 4, ; + tx_suma_val.Width = 80, ; + lb_explicatie.Caption = "TVA", ; + lb_explicatie.FontName = "Arial", ; + lb_explicatie.Left = 4, ; + lb_explicatie.Name = "lb_explicatie", ; + lb_explicatie.Top = 7, ; + tx_suma_nat.ControlSource = "thisform.ntvaron", ; + tx_suma_nat.FontName = "Arial", ; + tx_suma_nat.InputMask = (get_mask(14,gnPc)), ; + tx_suma_nat.Left = 240, ; + tx_suma_nat.Name = "tx_suma_nat", ; + tx_suma_nat.Top = 4, ; + tx_suma_nat.Width = 80, ; + lb_nume_val.FontName = "Arial", ; + lb_nume_val.Left = 200, ; + lb_nume_val.Name = "lb_nume_val", ; + lb_nume_val.Top = 7, ; + lb_nume_nat.FontName = "Arial", ; + lb_nume_nat.Left = 325, ; + lb_nume_nat.Name = "lb_nume_nat", ; + lb_nume_nat.Top = 7, ; + lb_explicatii.FontName = "Arial", ; + lb_explicatii.Left = 80, ; + lb_explicatii.Name = "lb_explicatii", ; + lb_explicatii.Top = 7 + *< END OBJECT: ClassLib="ofacturare.vcx" BaseClass="container" /> + + ADD OBJECT 'ct_articole' AS criteriu_text WITH ; + Height = 24, ; + Left = 66, ; + Name = "ct_articole", ; + TabIndex = 7, ; + Top = 310, ; + Value = 1, ; + Width = 84, ; + ZOrderSet = 30 + *< END OBJECT: ClassLib="caut_ora.vcx" BaseClass="combobox" /> + + ADD OBJECT 'ct_codmat' AS criteriu_text WITH ; + Height = 24, ; + Left = 66, ; + Name = "ct_codmat", ; + TabIndex = 5, ; + Top = 286, ; + Width = 84, ; + ZOrderSet = 29 + *< END OBJECT: ClassLib="caut_ora.vcx" BaseClass="combobox" /> + + ADD OBJECT 'grd_articole' AS _grdrow WITH ; + Anchor = 15, ; + ColumnCount = 11, ; + DeleteMark = .F., ; + FontSize = 10, ; + Height = 130, ; + HighlightStyle = 1, ; + Left = 9, ; + Name = "grd_articole", ; + Panel = 1, ; + RecordSource = "crsarticole", ; + RowHeight = 19, ; + TabIndex = 9, ; + Top = 336, ; + Width = 326, ; + ZOrderSet = 7, ; + Column1.ColumnOrder = 2, ; + Column1.ControlSource = "denumire", ; + Column1.FontName = "Arial", ; + Column1.FontSize = 10, ; + Column1.Name = "cArticol", ; + Column1.ReadOnly = .T., ; + Column1.Width = 214, ; + Column2.ColumnOrder = 5, ; + Column2.ControlSource = "gestionabil", ; + Column2.FontName = "Arial", ; + Column2.FontSize = 10, ; + Column2.Name = "cGestionabil", ; + Column2.ReadOnly = .T., ; + Column2.Sparse = .F., ; + Column2.Width = 68, ; + Column3.ColumnOrder = 1, ; + Column3.ControlSource = "codmat", ; + Column3.FontName = "Arial", ; + Column3.FontSize = 10, ; + Column3.Name = "cCodmat", ; + Column3.ReadOnly = .T., ; + Column3.Width = 71, ; + Column4.ColumnOrder = 4, ; + Column4.ControlSource = "pret", ; + Column4.FontName = "Arial", ; + Column4.FontSize = 10, ; + Column4.InputMask = (get_mask(14,gnPPretV)), ; + Column4.Name = "cPret", ; + Column4.ReadOnly = .T., ; + Column4.Width = 53, ; + Column5.ColumnOrder = 6, ; + Column5.ControlSource = "cantitate", ; + Column5.FontName = "Arial", ; + Column5.FontSize = 10, ; + Column5.InputMask = (get_mask(14,gnPcant)), ; + Column5.Name = "cCantitate", ; + Column5.ReadOnly = .T., ; + Column5.Width = 59, ; + Column6.ColumnOrder = 7, ; + Column6.ControlSource = "preturi_cu_tva", ; + Column6.FontName = "Arial", ; + Column6.FontSize = 10, ; + Column6.Name = "cPreturi_cu_tva", ; + Column6.ReadOnly = .T., ; + Column6.Sparse = .F., ; + Column6.Width = 62, ; + Column7.ColumnOrder = 8, ; + Column7.ControlSource = "pret_val", ; + Column7.FontName = "Arial", ; + Column7.FontSize = 10, ; + Column7.InputMask = (get_mask(14,gnPVal)), ; + Column7.Name = "cPret_val", ; + Column7.Width = 83, ; + Column8.ColumnOrder = 9, ; + Column8.ControlSource = "nume_val", ; + Column8.FontName = "Arial", ; + Column8.FontSize = 10, ; + Column8.Name = "cNume_val", ; + Column8.Width = 49, ; + Column9.ColumnOrder = 11, ; + Column9.ControlSource = "nume_lista_preturi", ; + Column9.FontName = "Arial", ; + Column9.FontSize = 10, ; + Column9.Name = "cPolitici_preturi", ; + Column9.Width = 149, ; + Column10.ColumnOrder = 3, ; + Column10.ControlSource = "serie", ; + Column10.FontName = "Arial", ; + Column10.FontSize = 10, ; + Column10.Name = "cSerie", ; + Column10.Width = 98, ; + Column11.ColumnOrder = 10, ; + Column11.ControlSource = "codbare", ; + Column11.FontName = "Arial", ; + Column11.FontSize = 10, ; + Column11.Name = "cCodbare", ; + Column11.Width = 95 + *< END OBJECT: ClassLib="_grd_base.vcx" BaseClass="grid" /> + + ADD OBJECT 'grd_articole.cArticol.Header1' AS header WITH ; + Alignment = 2, ; + Caption = "Articol", ; + FontName = "Arial", ; + FontSize = 10, ; + Name = "Header1" + *< END OBJECT: BaseClass="header" /> + + ADD OBJECT 'grd_articole.cArticol.Text1' AS textbox WITH ; + BackColor = 255,255,255, ; + BorderStyle = 0, ; + FontName = "Arial", ; + FontSize = 10, ; + ForeColor = 0,0,0, ; + Margin = 0, ; + Name = "Text1", ; + ReadOnly = .T., ; + SelectedBackColor = 0,64,128 + *< END OBJECT: BaseClass="textbox" /> + + ADD OBJECT 'grd_articole.cCantitate.Header1' AS header WITH ; + Alignment = 2, ; + Caption = "Cantitate", ; + FontName = "Arial", ; + FontSize = 10, ; + Name = "Header1" + *< END OBJECT: BaseClass="header" /> + + ADD OBJECT 'grd_articole.cCantitate.Text1' AS textbox WITH ; + BackColor = 255,255,255, ; + BorderStyle = 0, ; + FontName = "Arial", ; + FontSize = 10, ; + ForeColor = 0,0,0, ; + Margin = 0, ; + Name = "Text1", ; + ReadOnly = .T., ; + SelectedBackColor = 0,64,128 + *< END OBJECT: BaseClass="textbox" /> + + ADD OBJECT 'grd_articole.cCodbare.Header1' AS header WITH ; + Alignment = 2, ; + Caption = "Cod bare", ; + FontName = "Arial", ; + FontSize = 10, ; + Name = "Header1" + *< END OBJECT: BaseClass="header" /> + + ADD OBJECT 'grd_articole.cCodbare.Text1' AS textbox WITH ; + BackColor = 255,255,255, ; + BorderStyle = 0, ; + FontName = "Arial", ; + FontSize = 10, ; + ForeColor = 0,0,0, ; + Margin = 0, ; + Name = "Text1", ; + SelectedBackColor = 100,185,255 + *< END OBJECT: BaseClass="textbox" /> + + ADD OBJECT 'grd_articole.cCodmat.Header1' AS header WITH ; + Alignment = 2, ; + Caption = "Cod material", ; + FontName = "Arial", ; + FontSize = 10, ; + Name = "Header1" + *< END OBJECT: BaseClass="header" /> + + ADD OBJECT 'grd_articole.cCodmat.Text1' AS textbox WITH ; + BackColor = 255,255,255, ; + BorderStyle = 0, ; + FontName = "Arial", ; + FontSize = 10, ; + ForeColor = 0,0,0, ; + Margin = 0, ; + Name = "Text1", ; + ReadOnly = .T., ; + SelectedBackColor = 0,64,128 + *< END OBJECT: BaseClass="textbox" /> + + ADD OBJECT 'grd_articole.cGestionabil._checkbox1' AS _checkbox WITH ; + Alignment = 2, ; + Caption = "", ; + Centered = .T., ; + FontName = "Arial", ; + FontSize = 10, ; + Left = 22, ; + Name = "_checkbox1", ; + ReadOnly = .T., ; + Top = 32 + *< END OBJECT: ClassLib="_baza.vcx" BaseClass="checkbox" /> + + ADD OBJECT 'grd_articole.cGestionabil.Header1' AS header WITH ; + Alignment = 2, ; + Caption = "Gestionabil", ; + FontName = "Arial", ; + FontSize = 10, ; + Name = "Header1" + *< END OBJECT: BaseClass="header" /> + + ADD OBJECT 'grd_articole.cNume_val.Header1' AS header WITH ; + Alignment = 2, ; + Caption = "Valuta", ; + FontName = "Arial", ; + FontSize = 10, ; + Name = "Header1" + *< END OBJECT: BaseClass="header" /> + + ADD OBJECT 'grd_articole.cNume_val.Text1' AS textbox WITH ; + BackColor = 255,255,255, ; + BorderStyle = 0, ; + FontName = "Arial", ; + FontSize = 10, ; + ForeColor = 0,0,0, ; + Margin = 0, ; + Name = "Text1", ; + SelectedBackColor = 0,64,128 + *< END OBJECT: BaseClass="textbox" /> + + ADD OBJECT 'grd_articole.cPolitici_preturi.Header1' AS header WITH ; + Alignment = 2, ; + Caption = "Politica de preturi", ; + FontName = "Arial", ; + FontSize = 10, ; + Name = "Header1" + *< END OBJECT: BaseClass="header" /> + + ADD OBJECT 'grd_articole.cPolitici_preturi.Text1' AS textbox WITH ; + BackColor = 255,255,255, ; + BorderStyle = 0, ; + FontName = "Arial", ; + FontSize = 10, ; + ForeColor = 0,0,0, ; + Margin = 0, ; + Name = "Text1", ; + SelectedBackColor = 0,64,128 + *< END OBJECT: BaseClass="textbox" /> + + ADD OBJECT 'grd_articole.cPret.Header1' AS header WITH ; + Alignment = 2, ; + Caption = "Pret", ; + FontName = "Arial", ; + FontSize = 10, ; + Name = "Header1" + *< END OBJECT: BaseClass="header" /> + + ADD OBJECT 'grd_articole.cPret.Text1' AS textbox WITH ; + BackColor = 255,255,255, ; + BorderStyle = 0, ; + FontName = "Arial", ; + FontSize = 10, ; + ForeColor = 0,0,0, ; + Margin = 0, ; + Name = "Text1", ; + ReadOnly = .T., ; + SelectedBackColor = 0,64,128 + *< END OBJECT: BaseClass="textbox" /> + + ADD OBJECT 'grd_articole.cPret_val.Header1' AS header WITH ; + Alignment = 2, ; + Caption = "Pret in valuta", ; + FontName = "Arial", ; + FontSize = 10, ; + Name = "Header1" + *< END OBJECT: BaseClass="header" /> + + ADD OBJECT 'grd_articole.cPret_val.Text1' AS textbox WITH ; + BackColor = 255,255,255, ; + BorderStyle = 0, ; + FontName = "Arial", ; + FontSize = 10, ; + ForeColor = 0,0,0, ; + Margin = 0, ; + Name = "Text1", ; + SelectedBackColor = 0,64,128 + *< END OBJECT: BaseClass="textbox" /> + + ADD OBJECT 'grd_articole.cPreturi_cu_tva._checkbox1' AS _checkbox WITH ; + Alignment = 2, ; + Caption = "", ; + Centered = .T., ; + FontName = "Arial", ; + FontSize = 10, ; + Left = 23, ; + Name = "_checkbox1", ; + ReadOnly = .T., ; + Top = 32 + *< END OBJECT: ClassLib="_baza.vcx" BaseClass="checkbox" /> + + ADD OBJECT 'grd_articole.cPreturi_cu_tva.Header1' AS header WITH ; + Alignment = 2, ; + Caption = "Cu TVA", ; + FontName = "Arial", ; + FontSize = 10, ; + Name = "Header1" + *< END OBJECT: BaseClass="header" /> + + ADD OBJECT 'grd_articole.cSerie.Header1' AS header WITH ; + Alignment = 2, ; + Caption = "Serie", ; + FontName = "Arial", ; + FontSize = 10, ; + Name = "Header1" + *< END OBJECT: BaseClass="header" /> + + ADD OBJECT 'grd_articole.cSerie.Text1' AS textbox WITH ; + BackColor = 255,255,255, ; + BorderStyle = 0, ; + FontName = "Arial", ; + FontSize = 10, ; + ForeColor = 0,0,0, ; + Margin = 0, ; + Name = "Text1", ; + SelectedBackColor = 0,64,128 + *< END OBJECT: BaseClass="textbox" /> + + ADD OBJECT 'grd_contracte' AS _grdrow WITH ; + Anchor = 10, ; + ColumnCount = 10, ; + DeleteMark = .F., ; + FontSize = 10, ; + HeaderHeight = 36, ; + Height = 199, ; + HighlightStyle = 1, ; + Left = 9, ; + Name = "grd_contracte", ; + Panel = 1, ; + RecordSource = "crsarticole1", ; + RowHeight = 19, ; + TabIndex = 1, ; + Top = 60, ; + Width = 326, ; + ZOrderSet = 33, ; + Column1.ColumnOrder = 2, ; + Column1.ControlSource = "denumire", ; + Column1.FontName = "Arial", ; + Column1.FontSize = 10, ; + Column1.Name = "cArticol", ; + Column1.ReadOnly = .T., ; + Column1.Width = 253, ; + Column2.ColumnOrder = 4, ; + Column2.ControlSource = "gestionabil", ; + Column2.FontName = "Arial", ; + Column2.FontSize = 10, ; + Column2.Name = "cGestionabil", ; + Column2.ReadOnly = .T., ; + Column2.Sparse = .F., ; + Column2.Width = 65, ; + Column3.ColumnOrder = 1, ; + Column3.ControlSource = "codmat", ; + Column3.FontName = "Arial", ; + Column3.FontSize = 10, ; + Column3.Name = "cCodmat", ; + Column3.ReadOnly = .T., ; + Column3.Width = 47, ; + Column4.ColumnOrder = 3, ; + Column4.ControlSource = "pret", ; + Column4.FontName = "Arial", ; + Column4.FontSize = 10, ; + Column4.InputMask = (get_mask(14,gnPPretV)), ; + Column4.Name = "cPret", ; + Column4.ReadOnly = .T., ; + Column4.Width = 53, ; + Column5.ColumnOrder = 5, ; + Column5.ControlSource = "cantitate", ; + Column5.FontName = "Arial", ; + Column5.FontSize = 10, ; + Column5.InputMask = (get_mask(14,gnPcant)), ; + Column5.Name = "cCantitate", ; + Column5.ReadOnly = .T., ; + Column5.Width = 101, ; + Column6.ColumnOrder = 6, ; + Column6.ControlSource = "preturi_cu_tva", ; + Column6.FontName = "Arial", ; + Column6.FontSize = 10, ; + Column6.Name = "cPreturi_cu_tva", ; + Column6.ReadOnly = .T., ; + Column6.Sparse = .F., ; + Column6.Width = 50, ; + Column7.ColumnOrder = 7, ; + Column7.ControlSource = "pret_val", ; + Column7.FontName = "Arial", ; + Column7.FontSize = 10, ; + Column7.InputMask = (get_mask(14,gnPVal)), ; + Column7.Name = "cPret_val", ; + Column7.Width = 75, ; + Column8.ColumnOrder = 8, ; + Column8.ControlSource = "nume_val", ; + Column8.FontName = "Arial", ; + Column8.FontSize = 10, ; + Column8.Name = "cNume_val", ; + Column8.Width = 44, ; + Column9.ColumnOrder = 10, ; + Column9.ControlSource = "numar_contract", ; + Column9.FontName = "Arial", ; + Column9.FontSize = 10, ; + Column9.Name = "cNumar_contract", ; + Column9.Width = 100, ; + Column10.ColumnOrder = 9, ; + Column10.ControlSource = "codbare", ; + Column10.FontName = "Arial", ; + Column10.FontSize = 10, ; + Column10.Name = "cCodbare", ; + Column10.Width = 74 + *< END OBJECT: ClassLib="_grd_base.vcx" BaseClass="grid" /> + + ADD OBJECT 'grd_contracte.cArticol.Header1' AS header WITH ; + Alignment = 2, ; + Caption = "Articol / rata", ; + FontName = "Arial", ; + FontSize = 10, ; + Name = "Header1" + *< END OBJECT: BaseClass="header" /> + + ADD OBJECT 'grd_contracte.cArticol.Text1' AS textbox WITH ; + BackColor = 255,255,255, ; + BorderStyle = 0, ; + FontName = "Arial", ; + FontSize = 10, ; + ForeColor = 0,0,0, ; + Margin = 0, ; + Name = "Text1", ; + ReadOnly = .T., ; + SelectedBackColor = 0,64,128 + *< END OBJECT: BaseClass="textbox" /> + + ADD OBJECT 'grd_contracte.cCantitate.Header1' AS header WITH ; + Alignment = 2, ; + Caption = "Cantitate contractata", ; + FontName = "Arial", ; + FontSize = 10, ; + Name = "Header1", ; + WordWrap = .T. + *< END OBJECT: BaseClass="header" /> + + ADD OBJECT 'grd_contracte.cCantitate.Text1' AS textbox WITH ; + BackColor = 255,255,255, ; + BorderStyle = 0, ; + FontName = "Arial", ; + FontSize = 10, ; + ForeColor = 0,0,0, ; + Margin = 0, ; + Name = "Text1", ; + ReadOnly = .T., ; + SelectedBackColor = 0,64,128 + *< END OBJECT: BaseClass="textbox" /> + + ADD OBJECT 'grd_contracte.cCodbare.Header1' AS header WITH ; + Alignment = 2, ; + Caption = "Cod bare", ; + FontName = "Arial", ; + FontSize = 10, ; + Name = "Header1" + *< END OBJECT: BaseClass="header" /> + + ADD OBJECT 'grd_contracte.cCodbare.Text1' AS textbox WITH ; + BackColor = 255,255,255, ; + BorderStyle = 0, ; + FontName = "Arial", ; + FontSize = 10, ; + ForeColor = 0,0,0, ; + Margin = 0, ; + Name = "Text1", ; + SelectedBackColor = 100,185,255 + *< END OBJECT: BaseClass="textbox" /> + + ADD OBJECT 'grd_contracte.cCodmat.Header1' AS header WITH ; + Alignment = 2, ; + Caption = "Cod material", ; + FontName = "Arial", ; + FontSize = 10, ; + Name = "Header1" + *< END OBJECT: BaseClass="header" /> + + ADD OBJECT 'grd_contracte.cCodmat.Text1' AS textbox WITH ; + BackColor = 255,255,255, ; + BorderStyle = 0, ; + FontName = "Arial", ; + FontSize = 10, ; + ForeColor = 0,0,0, ; + Margin = 0, ; + Name = "Text1", ; + ReadOnly = .T., ; + SelectedBackColor = 0,64,128 + *< END OBJECT: BaseClass="textbox" /> + + ADD OBJECT 'grd_contracte.cGestionabil._checkbox1' AS _checkbox WITH ; + Alignment = 2, ; + Caption = "", ; + Centered = .T., ; + FontName = "Arial", ; + FontSize = 10, ; + Left = 22, ; + Name = "_checkbox1", ; + ReadOnly = .T., ; + Top = 32 + *< END OBJECT: ClassLib="_baza.vcx" BaseClass="checkbox" /> + + ADD OBJECT 'grd_contracte.cGestionabil.Header1' AS header WITH ; + Alignment = 2, ; + Caption = "Gestionabil", ; + FontName = "Arial", ; + FontSize = 10, ; + Name = "Header1" + *< END OBJECT: BaseClass="header" /> + + ADD OBJECT 'grd_contracte.cNumar_contract.Header1' AS header WITH ; + Alignment = 2, ; + Caption = "Contract", ; + FontName = "Arial", ; + FontSize = 10, ; + Name = "Header1" + *< END OBJECT: BaseClass="header" /> + + ADD OBJECT 'grd_contracte.cNumar_contract.Text1' AS textbox WITH ; + BackColor = 255,255,255, ; + BorderStyle = 0, ; + FontName = "Arial", ; + FontSize = 10, ; + ForeColor = 0,0,0, ; + Margin = 0, ; + Name = "Text1", ; + SelectedBackColor = 0,64,128 + *< END OBJECT: BaseClass="textbox" /> + + ADD OBJECT 'grd_contracte.cNume_val.Header1' AS header WITH ; + Alignment = 2, ; + Caption = "Valuta", ; + FontName = "Arial", ; + FontSize = 10, ; + Name = "Header1" + *< END OBJECT: BaseClass="header" /> + + ADD OBJECT 'grd_contracte.cNume_val.Text1' AS textbox WITH ; + BackColor = 255,255,255, ; + BorderStyle = 0, ; + FontName = "Arial", ; + FontSize = 10, ; + ForeColor = 0,0,0, ; + Margin = 0, ; + Name = "Text1", ; + SelectedBackColor = 0,64,128 + *< END OBJECT: BaseClass="textbox" /> + + ADD OBJECT 'grd_contracte.cPret.Header1' AS header WITH ; + Alignment = 2, ; + Caption = "Pret", ; + FontName = "Arial", ; + FontSize = 10, ; + Name = "Header1" + *< END OBJECT: BaseClass="header" /> + + ADD OBJECT 'grd_contracte.cPret.Text1' AS textbox WITH ; + BackColor = 255,255,255, ; + BorderStyle = 0, ; + FontName = "Arial", ; + FontSize = 10, ; + ForeColor = 0,0,0, ; + Margin = 0, ; + Name = "Text1", ; + ReadOnly = .T., ; + SelectedBackColor = 0,64,128 + *< END OBJECT: BaseClass="textbox" /> + + ADD OBJECT 'grd_contracte.cPret_val.Header1' AS header WITH ; + Alignment = 2, ; + Caption = "Pret in valuta", ; + FontName = "Arial", ; + FontSize = 10, ; + Name = "Header1" + *< END OBJECT: BaseClass="header" /> + + ADD OBJECT 'grd_contracte.cPret_val.Text1' AS textbox WITH ; + BackColor = 255,255,255, ; + BorderStyle = 0, ; + FontName = "Arial", ; + FontSize = 10, ; + ForeColor = 0,0,0, ; + Margin = 0, ; + Name = "Text1", ; + SelectedBackColor = 0,64,128 + *< END OBJECT: BaseClass="textbox" /> + + ADD OBJECT 'grd_contracte.cPreturi_cu_tva._checkbox1' AS _checkbox WITH ; + Alignment = 2, ; + Caption = "", ; + Centered = .T., ; + FontName = "Arial", ; + FontSize = 10, ; + Left = 23, ; + Name = "_checkbox1", ; + ReadOnly = .T., ; + Top = 32 + *< END OBJECT: ClassLib="_baza.vcx" BaseClass="checkbox" /> + + ADD OBJECT 'grd_contracte.cPreturi_cu_tva.Header1' AS header WITH ; + Alignment = 2, ; + Caption = "Cu TVA", ; + FontName = "Arial", ; + FontSize = 10, ; + Name = "Header1" + *< END OBJECT: BaseClass="header" /> + + ADD OBJECT 'grd_cursuri' AS _grdrow WITH ; + Anchor = 6, ; + ColumnCount = 3, ; + DeleteMark = .F., ; + FontSize = 10, ; + Height = 77, ; + Left = 11, ; + Name = "grd_cursuri", ; + Panel = 1, ; + RecordSource = "crscursuri", ; + RowHeight = 19, ; + ScrollBars = 2, ; + TabIndex = 31, ; + TabStop = .F., ; + Top = 499, ; + Width = 177, ; + ZOrderSet = 13, ; + Column1.ColumnOrder = 3, ; + Column1.ControlSource = "curs", ; + Column1.FontName = "Arial", ; + Column1.FontSize = 10, ; + Column1.InputMask = (get_mask(14,gnPCurs)), ; + Column1.Name = "cCurs", ; + Column1.Width = 38, ; + Column2.ColumnOrder = 2, ; + Column2.ControlSource = "nume_val", ; + Column2.FontName = "Arial", ; + Column2.FontSize = 10, ; + Column2.Name = "cNume_val", ; + Column2.Width = 56, ; + Column3.ColumnOrder = 1, ; + Column3.ControlSource = "multiplicator", ; + Column3.FontName = "Arial", ; + Column3.FontSize = 10, ; + Column3.InputMask = (get_mask(10,0)), ; + Column3.Name = "cMultiplicator", ; + Column3.Width = 49 + *< END OBJECT: ClassLib="_grd_base.vcx" BaseClass="grid" /> + + ADD OBJECT 'grd_cursuri.cCurs.Header1' AS header WITH ; + Alignment = 2, ; + Caption = "Curs", ; + FontName = "Arial", ; + FontSize = 10, ; + Name = "Header1" + *< END OBJECT: BaseClass="header" /> + + ADD OBJECT 'grd_cursuri.cCurs.Text1' AS textbox WITH ; + BackColor = 255,255,255, ; + BorderStyle = 0, ; + FontName = "Arial", ; + FontSize = 10, ; + ForeColor = 0,0,0, ; + Margin = 0, ; + Name = "Text1", ; + SelectedBackColor = 0,64,128 + *< END OBJECT: BaseClass="textbox" /> + + ADD OBJECT 'grd_cursuri.cMultiplicator.Header1' AS header WITH ; + Alignment = 2, ; + Caption = "Multiplicator", ; + FontName = "Arial", ; + FontSize = 10, ; + Name = "Header1" + *< END OBJECT: BaseClass="header" /> + + ADD OBJECT 'grd_cursuri.cMultiplicator.Text1' AS textbox WITH ; + BackColor = 255,255,255, ; + BorderStyle = 0, ; + FontName = "Arial", ; + FontSize = 10, ; + ForeColor = 0,0,0, ; + Margin = 0, ; + Name = "Text1", ; + SelectedBackColor = 100,185,255 + *< END OBJECT: BaseClass="textbox" /> + + ADD OBJECT 'grd_cursuri.cNume_val.Header1' AS header WITH ; + Alignment = 2, ; + Caption = "Valuta", ; + FontName = "Arial", ; + FontSize = 10, ; + Name = "Header1" + *< END OBJECT: BaseClass="header" /> + + ADD OBJECT 'grd_cursuri.cNume_val.Text1' AS textbox WITH ; + BackColor = 255,255,255, ; + BorderStyle = 0, ; + FontName = "Arial", ; + FontSize = 10, ; + ForeColor = 0,0,0, ; + Margin = 0, ; + Name = "Text1", ; + SelectedBackColor = 0,64,128 + *< END OBJECT: BaseClass="textbox" /> + + ADD OBJECT 'grd_factura' AS _grdrow WITH ; + Anchor = 13, ; + ColumnCount = 12, ; + DeleteMark = .F., ; + FontSize = 10, ; + HeaderHeight = 38, ; + Height = 337, ; + HighlightStyle = 1, ; + Left = 379, ; + Name = "grd_factura", ; + Panel = 1, ; + RecordSource = "crsfactura", ; + RowHeight = 19, ; + TabIndex = 12, ; + Top = 96, ; + Width = 464, ; + ZOrderSet = 8, ; + Column1.ColumnOrder = 2, ; + Column1.ControlSource = "denumire", ; + Column1.FontName = "Arial", ; + Column1.FontSize = 10, ; + Column1.Name = "cDenumire", ; + Column1.ReadOnly = .T., ; + Column1.Width = 148, ; + Column2.ColumnOrder = 11, ; + Column2.ControlSource = "valdiminuatctva", ; + Column2.FontName = "Arial", ; + Column2.FontSize = 10, ; + Column2.InputMask = (get_mask(14,gnPc)), ; + Column2.Name = "cValdiminuatctva", ; + Column2.ReadOnly = .T., ; + Column2.Width = 102, ; + Column3.ColumnOrder = 6, ; + Column3.ControlSource = "pretctva", ; + Column3.FontName = "Arial", ; + Column3.FontSize = 10, ; + Column3.InputMask = (get_mask(14,gnPPretV)), ; + Column3.Name = "cPretctva", ; + Column3.ReadOnly = .T., ; + Column3.Width = 69, ; + Column4.ColumnOrder = 5, ; + Column4.ControlSource = "cantitate", ; + Column4.FontName = "Arial", ; + Column4.FontSize = 10, ; + Column4.InputMask = (get_mask(14,gnPcant)), ; + Column4.Name = "cCantitate", ; + Column4.ReadOnly = .T., ; + Column4.Width = 73, ; + Column5.ColumnOrder = 9, ; + Column5.ControlSource = "discountctva", ; + Column5.FontName = "Arial", ; + Column5.FontSize = 10, ; + Column5.InputMask = (get_mask(14,gnPPretV)), ; + Column5.Name = "cDiscountCTva", ; + Column5.ReadOnly = .T., ; + Column5.Width = 86, ; + Column6.ColumnOrder = 7, ; + Column6.ControlSource = "pretftva", ; + Column6.FontName = "Arial", ; + Column6.FontSize = 10, ; + Column6.InputMask = (get_mask(14,gnPPretV)), ; + Column6.Name = "cPretFtva", ; + Column6.ReadOnly = .T., ; + Column6.Width = 65, ; + Column7.ColumnOrder = 4, ; + Column7.ControlSource = "serie", ; + Column7.FontName = "Arial", ; + Column7.FontSize = 10, ; + Column7.Name = "cSerie", ; + Column7.Width = 64, ; + Column8.ColumnOrder = 8, ; + Column8.ControlSource = "vpretftva", ; + Column8.FontName = "Arial", ; + Column8.FontSize = 10, ; + Column8.InputMask = (get_mask(14,gnPVal)), ; + Column8.Name = "cVpretftva", ; + Column8.Width = 98, ; + Column9.ColumnOrder = 10, ; + Column9.ControlSource = "vdiscountftva", ; + Column9.FontName = "Arial", ; + Column9.FontSize = 10, ; + Column9.InputMask = (get_mask(14,gnPVal)), ; + Column9.Name = "cVdiscountftva", ; + Column9.Width = 108, ; + Column10.ColumnOrder = 12, ; + Column10.ControlSource = "vvaldiminuatftva", ; + Column10.FontName = "Arial", ; + Column10.FontSize = 10, ; + Column10.InputMask = (get_mask(14,gnPVal)), ; + Column10.Name = "cVvaldiminuatftva", ; + Column10.Width = 103, ; + Column11.ColumnOrder = 1, ; + Column11.ControlSource = "codmat", ; + Column11.FontName = "Arial", ; + Column11.FontSize = 10, ; + Column11.Name = "Column11", ; + Column11.Width = 54, ; + Column12.ColumnOrder = 3, ; + Column12.ControlSource = "lot", ; + Column12.FontSize = 10, ; + Column12.Name = "cLot" + *< END OBJECT: ClassLib="_grd_base.vcx" BaseClass="grid" /> + + ADD OBJECT 'grd_factura.cCantitate.Header1' AS header WITH ; + Alignment = 2, ; + Caption = "Cantitate", ; + FontName = "Arial", ; + FontSize = 10, ; + Name = "Header1" + *< END OBJECT: BaseClass="header" /> + + ADD OBJECT 'grd_factura.cCantitate.Text1' AS textbox WITH ; + BackColor = 255,255,255, ; + BorderStyle = 0, ; + FontName = "Arial", ; + FontSize = 10, ; + ForeColor = 0,0,0, ; + Margin = 0, ; + Name = "Text1", ; + ReadOnly = .T., ; + SelectedBackColor = 0,64,128 + *< END OBJECT: BaseClass="textbox" /> + + ADD OBJECT 'grd_factura.cDenumire.Header1' AS header WITH ; + Alignment = 2, ; + Caption = "Articol", ; + FontName = "Arial", ; + FontSize = 10, ; + Name = "Header1" + *< END OBJECT: BaseClass="header" /> + + ADD OBJECT 'grd_factura.cDenumire.Text1' AS textbox WITH ; + BackColor = 255,255,255, ; + BorderStyle = 0, ; + Enabled = .T., ; + FontName = "Arial", ; + FontSize = 10, ; + ForeColor = 0,0,0, ; + Margin = 0, ; + Name = "Text1", ; + ReadOnly = .T., ; + SelectedBackColor = 0,64,128 + *< END OBJECT: BaseClass="textbox" /> + + ADD OBJECT 'grd_factura.cDiscountCTva.Header1' AS header WITH ; + Alignment = 2, ; + Caption = "Discount unitar cu TVA", ; + FontName = "Arial", ; + FontSize = 10, ; + Name = "Header1", ; + WordWrap = .T. + *< END OBJECT: BaseClass="header" /> + + ADD OBJECT 'grd_factura.cDiscountCTva.Text1' AS textbox WITH ; + BackColor = 255,255,255, ; + BorderStyle = 0, ; + FontName = "Arial", ; + FontSize = 10, ; + ForeColor = 0,0,0, ; + Margin = 0, ; + Name = "Text1", ; + ReadOnly = .T., ; + SelectedBackColor = 0,64,128 + *< END OBJECT: BaseClass="textbox" /> + + ADD OBJECT 'grd_factura.cLot.Header1' AS header WITH ; + Alignment = 2, ; + Caption = "Lot", ; + Name = "Header1" + *< END OBJECT: BaseClass="header" /> + + ADD OBJECT 'grd_factura.cLot.Text1' AS textbox WITH ; + BackColor = 255,255,255, ; + BorderStyle = 0, ; + ForeColor = 0,0,0, ; + Margin = 0, ; + Name = "Text1", ; + SelectedBackColor = 100,185,255 + *< END OBJECT: BaseClass="textbox" /> + + ADD OBJECT 'grd_factura.Column11.Header1' AS header WITH ; + Alignment = 2, ; + Caption = "Cod material", ; + FontName = "Arial", ; + FontSize = 10, ; + Name = "Header1", ; + WordWrap = .T. + *< END OBJECT: BaseClass="header" /> + + ADD OBJECT 'grd_factura.Column11.Text1' AS textbox WITH ; + BackColor = 255,255,255, ; + BorderStyle = 0, ; + FontName = "Arial", ; + FontSize = 10, ; + ForeColor = 0,0,0, ; + Margin = 0, ; + Name = "Text1", ; + SelectedBackColor = 100,185,255 + *< END OBJECT: BaseClass="textbox" /> + + ADD OBJECT 'grd_factura.cPretctva.Header1' AS header WITH ; + Alignment = 2, ; + Caption = "Pret unitar cu TVA", ; + FontName = "Arial", ; + FontSize = 10, ; + Name = "Header1", ; + WordWrap = .T. + *< END OBJECT: BaseClass="header" /> + + ADD OBJECT 'grd_factura.cPretctva.Text1' AS textbox WITH ; + BackColor = 255,255,255, ; + BorderStyle = 0, ; + FontName = "Arial", ; + FontSize = 10, ; + ForeColor = 0,0,0, ; + Margin = 0, ; + Name = "Text1", ; + ReadOnly = .T., ; + SelectedBackColor = 0,64,128 + *< END OBJECT: BaseClass="textbox" /> + + ADD OBJECT 'grd_factura.cPretFtva.Header1' AS header WITH ; + Alignment = 2, ; + Caption = "Pret unitar fara TVA", ; + FontName = "Arial", ; + FontSize = 10, ; + Name = "Header1", ; + WordWrap = .T. + *< END OBJECT: BaseClass="header" /> + + ADD OBJECT 'grd_factura.cPretFtva.Text1' AS textbox WITH ; + BackColor = 255,255,255, ; + BorderStyle = 0, ; + FontName = "Arial", ; + FontSize = 10, ; + ForeColor = 0,0,0, ; + Margin = 0, ; + Name = "Text1", ; + ReadOnly = .T., ; + SelectedBackColor = 0,64,128 + *< END OBJECT: BaseClass="textbox" /> + + ADD OBJECT 'grd_factura.cSerie.Header1' AS header WITH ; + Alignment = 2, ; + Caption = "Serie", ; + FontName = "Arial", ; + FontSize = 10, ; + Name = "Header1" + *< END OBJECT: BaseClass="header" /> + + ADD OBJECT 'grd_factura.cSerie.Text1' AS textbox WITH ; + BackColor = 255,255,255, ; + BorderStyle = 0, ; + FontName = "Arial", ; + FontSize = 10, ; + ForeColor = 0,0,0, ; + Margin = 0, ; + Name = "Text1", ; + SelectedBackColor = 0,64,128 + *< END OBJECT: BaseClass="textbox" /> + + ADD OBJECT 'grd_factura.cValdiminuatctva.Header1' AS header WITH ; + Alignment = 2, ; + Caption = "Valoare", ; + FontName = "Arial", ; + FontSize = 10, ; + Name = "Header1" + *< END OBJECT: BaseClass="header" /> + + ADD OBJECT 'grd_factura.cValdiminuatctva.Text1' AS textbox WITH ; + BackColor = 255,255,255, ; + BorderStyle = 0, ; + FontName = "Arial", ; + FontSize = 10, ; + ForeColor = 0,0,0, ; + Margin = 0, ; + Name = "Text1", ; + ReadOnly = .T., ; + SelectedBackColor = 0,64,128 + *< END OBJECT: BaseClass="textbox" /> + + ADD OBJECT 'grd_factura.cVdiscountftva.Header1' AS header WITH ; + Alignment = 2, ; + Caption = "Discount unitar in valuta fara TVA", ; + FontName = "Arial", ; + FontSize = 10, ; + Name = "Header1", ; + WordWrap = .T. + *< END OBJECT: BaseClass="header" /> + + ADD OBJECT 'grd_factura.cVdiscountftva.Text1' AS textbox WITH ; + BackColor = 255,255,255, ; + BorderStyle = 0, ; + FontName = "Arial", ; + FontSize = 10, ; + ForeColor = 0,0,0, ; + Margin = 0, ; + Name = "Text1", ; + SelectedBackColor = 0,64,128 + *< END OBJECT: BaseClass="textbox" /> + + ADD OBJECT 'grd_factura.cVpretftva.Header1' AS header WITH ; + Alignment = 2, ; + Caption = "Pret unitar fara TVA in valuta", ; + FontName = "Arial", ; + FontSize = 10, ; + Name = "Header1", ; + WordWrap = .T. + *< END OBJECT: BaseClass="header" /> + + ADD OBJECT 'grd_factura.cVpretftva.Text1' AS textbox WITH ; + BackColor = 255,255,255, ; + BorderStyle = 0, ; + FontName = "Arial", ; + FontSize = 10, ; + ForeColor = 0,0,0, ; + Margin = 0, ; + Name = "Text1", ; + SelectedBackColor = 0,64,128 + *< END OBJECT: BaseClass="textbox" /> + + ADD OBJECT 'grd_factura.cVvaldiminuatftva.Header1' AS header WITH ; + Alignment = 2, ; + Caption = "Valoare in valuta fara TVA", ; + FontName = "Arial", ; + FontSize = 10, ; + Name = "Header1", ; + WordWrap = .T. + *< END OBJECT: BaseClass="header" /> + + ADD OBJECT 'grd_factura.cVvaldiminuatftva.Text1' AS textbox WITH ; + BackColor = 255,255,255, ; + BorderStyle = 0, ; + FontName = "Arial", ; + FontSize = 10, ; + ForeColor = 0,0,0, ; + Margin = 0, ; + Name = "Text1", ; + SelectedBackColor = 0,64,128 + *< END OBJECT: BaseClass="textbox" /> + + ADD OBJECT 'Gridextra1' AS gridextra WITH ; + gridexpression = Thisform.grd_contracte, ; + Height = 17, ; + Left = 321, ; + Name = "Gridextra1", ; + Top = 244, ; + Width = 26 + *< END OBJECT: ClassLib="..\utile\gridextras\gridextras.vcx" BaseClass="custom" /> + + ADD OBJECT 'Gridextra2' AS gridextra WITH ; + gridexpression = Thisform.grd_articole, ; + Height = 17, ; + Left = 335, ; + Name = "Gridextra2", ; + Top = 454, ; + Width = 25 + *< END OBJECT: ClassLib="..\utile\gridextras\gridextras.vcx" BaseClass="custom" /> + + ADD OBJECT 'Gridextra3' AS gridextra WITH ; + gridexpression = Thisform.grd_factura, ; + Height = 17, ; + Left = 756, ; + Name = "Gridextra3", ; + Top = 432, ; + Width = 24 + *< END OBJECT: ClassLib="..\utile\gridextras\gridextras.vcx" BaseClass="custom" /> + + ADD OBJECT 'Lb_articole' AS lb_simplu WITH ; + Caption = "Articol", ; + Left = 9, ; + Name = "Lb_articole", ; + TabIndex = 23, ; + Top = 314, ; + ZOrderSet = 25 + *< END OBJECT: ClassLib="lb.vcx" BaseClass="label" /> + + ADD OBJECT 'lb_articolelista' AS lb_simplu WITH ; + Anchor = 8, ; + Caption = "Articole factura", ; + Left = 382, ; + Name = "lb_articolelista", ; + TabIndex = 29, ; + Top = 67, ; + ZOrderSet = 11 + *< END OBJECT: ClassLib="lb.vcx" BaseClass="label" /> + + ADD OBJECT 'lb_codmat' AS lb_simplu WITH ; + Caption = "Cod material", ; + Left = 9, ; + Name = "lb_codmat", ; + TabIndex = 25, ; + Top = 289, ; + ZOrderSet = 27 + *< END OBJECT: ClassLib="lb.vcx" BaseClass="label" /> + + ADD OBJECT 'lb_contracte' AS lb_simplu WITH ; + Caption = "Contract", ; + Left = 14, ; + Name = "lb_contracte", ; + TabIndex = 26, ; + Top = 39, ; + ZOrderSet = 16 + *< END OBJECT: ClassLib="lb.vcx" BaseClass="label" /> + + ADD OBJECT 'lb_cursuri' AS lb_simplu WITH ; + Anchor = 6, ; + Caption = "Curs valutar (ZZ/LL/AAAA)", ; + Left = 11, ; + Name = "lb_cursuri", ; + TabIndex = 30, ; + Top = 479, ; + ZOrderSet = 14 + *< END OBJECT: ClassLib="lb.vcx" BaseClass="label" /> + + ADD OBJECT 'lb_data_scadenta' AS lb_simplu WITH ; + Anchor = 9, ; + Caption = "Data scadenta", ; + FontBold = .T., ; + Left = 661, ; + Name = "lb_data_scadenta", ; + TabIndex = 28, ; + Top = 39, ; + ZOrderSet = 11 + *< END OBJECT: ClassLib="lb.vcx" BaseClass="label" /> + + ADD OBJECT 'Lb_nract' AS lb_simplu WITH ; + AutoSize = .F., ; + Caption = "Nr. document :", ; + FontBold = .T., ; + Height = 17, ; + Left = 383, ; + Name = "Lb_nract", ; + TabIndex = 24, ; + Top = 38, ; + Width = 251, ; + ZOrderSet = 0 + *< END OBJECT: ClassLib="lb.vcx" BaseClass="label" /> + + ADD OBJECT 'lb_politici_preturi' AS lb_simplu WITH ; + Caption = "Politica de preturi", ; + Left = 9, ; + Name = "lb_politici_preturi", ; + TabIndex = 27, ; + Top = 265, ; + ZOrderSet = 16 + *< END OBJECT: ClassLib="lb.vcx" BaseClass="label" /> + + ADD OBJECT 'lb_total_mod' AS lb_simplu WITH ; + Alignment = 1, ; + Anchor = 12, ; + AutoSize = .F., ; + Caption = "0.00", ; + FontBold = .T., ; + FontCharSet = 1, ; + FontName = "Arial", ; + Height = 17, ; + Left = 706, ; + Name = "lb_total_mod", ; + TabIndex = 36, ; + Top = 532, ; + Visible = .F., ; + Width = 37 + *< END OBJECT: ClassLib="lb.vcx" BaseClass="label" /> + + ADD OBJECT 'txtArticole' AS textbox WITH ; + FontSize = 10, ; + Format = "!k", ; + Height = 23, ; + Left = 154, ; + Name = "txtArticole", ; + TabIndex = 8, ; + ToolTipText = "Tastati primele litere pentru cautare articole", ; + Top = 311, ; + Width = 145, ; + ZOrderSet = 26 + *< END OBJECT: BaseClass="textbox" /> + + ADD OBJECT 'txtArticoleLista' AS textbox WITH ; + Anchor = 8, ; + FontSize = 10, ; + Format = "!k", ; + Height = 23, ; + Left = 478, ; + Name = "txtArticoleLista", ; + TabIndex = 13, ; + ToolTipText = "Tastati primele litere pentru cautare articole", ; + Top = 64, ; + Width = 168, ; + ZOrderSet = 12 + *< END OBJECT: BaseClass="textbox" /> + + ADD OBJECT 'txtCodmat' AS textbox WITH ; + FontSize = 10, ; + Format = "!k", ; + Height = 23, ; + Left = 154, ; + Name = "txtCodmat", ; + TabIndex = 6, ; + ToolTipText = "Tastati primele litere pentru cautare articole", ; + Top = 287, ; + Width = 145, ; + ZOrderSet = 28 + *< END OBJECT: BaseClass="textbox" /> + + ADD OBJECT 'txtDataScadenta' AS textbox WITH ; + Anchor = 9, ; + ControlSource = "poDate.datascad", ; + Format = "K", ; + Height = 23, ; + Left = 759, ; + Name = "txtDataScadenta", ; + TabIndex = 19, ; + Top = 36, ; + Width = 81, ; + ZOrderSet = 12 + *< END OBJECT: BaseClass="textbox" /> + + PROCEDURE actualizeaza_total_mod + Lparameters tnValoare,tnTip + Local lnTotal,lnValoare,lnTip + If Nvl(gnModTotFact,0) = 1 + lnValoare = IIF(EMPTY(tnValoare),0,tnValoare) + lnTip = IIF(EMPTY(tnTip),0,tnTip) + lnTotal = Iif(lnTip=1,lnValoare,Thisform.nbazaron) + Iif(lnTip=2,lnValoare,Thisform.ntvaron) + If lnTotal <> Thisform.ntotalron + Thisform.clb_total_baza.tx_SUMA_NAT.ForeColor = Rgb(255,0,0) + Thisform.clb_total_tva.tx_SUMA_NAT.ForeColor = Rgb(255,0,0) + Thisform.lb_total_mod.ForeColor = Rgb(255,0,0) + Thisform.lb_total_mod.AutoSize = .F. + Thisform.lb_total_mod.Caption = Transform(lnTotal,get_mask(14,gnPc)) + Thisform.lb_total_mod.AutoSize = .T. + Thisform.lb_total_mod.Visible = .T. + Else + Thisform.clb_total_baza.tx_SUMA_NAT.ForeColor = Rgb(0,0,0) + Thisform.clb_total_tva.tx_SUMA_NAT.ForeColor = Rgb(0,0,0) + Thisform.lb_total_mod.Visible = .F. + Endif + Endif + ENDPROC + + PROCEDURE Destroy + If Used('crsarticole') + Use In crsarticole + ENDIF + If Used('crsarticole1') + Use In crsarticole1 + Endif + ENDPROC + + PROCEDURE do_adauga_articol + *!* 17.03.2015 + *!* marius.mutu + *!* daca cantitatea ramasa dupa adaugarea articolului gestionabil este < 0, atunci pun 0 ca sa pot intra pe ramura facturare fara stoc + + *!* 05.11.2025 + *!* marius.mutu + *!* pentru articolele negestionabile fara afisarea formularului articol, creez frm_articol_factura ca sa se initializeze toate proprietatile poArticol + *!* nu se initializa poArticol.taxcode + + Lparameters tlImplicit, tlContract, tlRetur + * llImplicit = .T. => daca exista o singura linie in stoc, atunci nu mai apare formularul de completare a datelor + * tlContract = .T. => provine din gridul cu articole din contract + * tlRetur = .T. => se face retur la articolul selectat (trebuie selectat din rulaj in loc de stoc) + + Private pnProcentDiscountMem + Local ofrmadarticol As "frm_articol_factura" + Local lcSelectActualizare, lcSql, llActualizat, llSucces, lnListaIdOld, lnRecno, lnSucces + Local lnTotalCantitate, loCauta + *:Global gnButon, poArtLista + pnProcentDiscountMem = 0 + + If Nvl(gnMemProcDisc, 0) = 1 + pnProcentDiscountMem = Thisform.nproc_disc_mem + Endif + Local lcCursor, loGrid + If tlContract + lcCursor = [crsarticole1] + loGrid = Thisform.grd_contracte + Else + lcCursor = [crsarticole] + loGrid = Thisform.grd_articole + ENDIF + + If Used(lcCursor) And Reccount(lcCursor) > 0 + Local lnCantitate + Private poArticol + Select (lcCursor) + Scatter Name poArticol MEMO + Scatter Name poArtLista MEMO + lnCantitate = poArticol.cantitate + + * FACTURARE ARTICOLE INEXISTENTE IN STOC + * DOAR DACA ESTE ACTIVA OPTIUNEA RF_FACTURARE_FARA_STOC = 1 SAU VREAU SA RETURNEZ UN ARTICOL + *!* If lnCantitate = 0 And ((Type('gnRF_FACTURARE_FARA_STOC') = 'N' And m.gnRF_FACTURARE_FARA_STOC = 1) OR m.tlRetur) + *!* lnCantitate = 999999999 + *!* Endif + Thisform.do_initializeaza_articol(@poArticol) + + * 8 = Retur lei, 9 = retur valuta sau factura de vanzare normala, dar cu retur de articole, 24 = aviz retur + If Inlist(poDate.tip, 8, 9, 24) + lnCantitate = poArticol.cantitate + Endif + + gnButon = 2 + + If Thisform.do_verifica_articol(tlContract, lnCantitate) + Do Case + Case (poArticol.gestionabil = 0 Or gnScadereStoc = 0 Or poDate.tip = 45) && 45 = ROARESTAURANT + * initializez frm_articol_factura, sa se initializeze toate calculele si daca nu arat formularul (adaugare toate articolele) + ofrmadarticol = Createobject("frm_articol_factura", lnCantitate, tlImplicit) + If !tlImplicit + ofrmadarticol.Show(1) + Else + poArticol = calculeaza_totaluri(poArticol) + gnButon = 1 + ENDIF + Release ofrmadarticol + OTHERWISE + lnListaIdOld = poDate.listaid + IF m.tlRetur + loCauta = caut_facturi_multiple_client_articol(poDate.id_client, poDate.in_valuta, poDate.id_valuta, .F., poArticol.id_articol) + If m.gnButon = 1 and !Empty(Nvl(loCauta.id_vanzare, 0)) + poDate.listaid = Alltrim(Str(loCauta.id_vanzare)) + * ID_ARTICOL:ID_VANZARE,ID_ARTICOL:ID_VANZARE + thisform.cListaIdArticoleRetur = thisform.cListaIdArticoleRetur + IIF(!EMPTY(thisform.cListaIdArticoleRetur), ',', '') + ALLTRIM(STR(poArticol.id_articol)) + ':' + poDate.listaid + Endif + ENDIF + llSucces = Thisform.do_alege_stoc(poArticol.id_articol, lnCantitate, poArticol.denumire, tlImplicit, poArticol.pretftva, poArticol.discount_unitar, loGrid, m.tlRetur) + poDate.listaid = m.lnListaIdOld + If !m.llSucces + Return + Endif + Endcase + Else + gnButon = 2 + Endif + If Used('crsCtrTemp') + Select crsCtrTemp + Set Filter To + Endif + + If gnButon = 1 + + + If Inlist(poDate.tip, 41) && retur transfer catre subunitati lista pret + llActualizat = Thisform.modifica_lista_preturi(poArticol.Id_Pol, poArticol.id_articol, ; + IIF(poArticol.tip_valuta = 1, poArticol.pretftva_val, poArticol.pretftva), ; + IIF(poArticol.tip_valuta = 1, poArticol.pretctva_val, poArticol.Pretctva), ; + IIF(poArticol.tip_valuta = 1, ; + IIF(poArticol.preturi_cu_tva = 1, poArticol.pretctva_val, poArticol.pretftva_val), ; + Iif(poArticol.preturi_cu_tva = 1, poArticol.Pretctva, poArticol.pretftva)), ; + poArticol.Proc_Tvav, ; + IIF(poArticol.tip_valuta = 1, poArtLista.pret_val, poArtLista.Pret)) + If llActualizat + lcSelectActualizare = Select() + Select crsarticole + lnRecno = Recno() + Replace Pret With Iif(poArticol.preturi_cu_tva = 1, poArticol.Pretctva, poArticol.pretftva), ; + pret_val With Iif(poArticol.preturi_cu_tva = 1, poArticol.pretctva_val, poArticol.pretftva_val) ; + FOR id_articol = poArticol.id_articol And Id_Pol = poArticol.Id_Pol + Go lnRecno + Select (lcSelectActualizare) + Endif + Endif + + lcSql = [select codmatf from nom_articole where id_articol = ?poArticol.id_articol] + lnSucces = goExecutor.oExecute(lcSql, [crscodmatf]) + If lnSucces < 0 + amessagebox(goExecutor.cEroare, 16, "Eroare") + Else + If Reccount('crscodmatf') > 0 + Select crscodmatf + poArticol.codmatf = codmatf + Endif + Use In crscodmatf + Endif + + save_grid_tag(Thisform.grd_factura) + If !Used('crsartselectate') + Select crsfactura + Append Blank + Gather Name poArticol Fields Like pret_achizitie, denumire, cantitate, id_articol, Id_Pol, Cont, id_gestiune, Proc_Tvav, ; + pretftva, valftva, valtva, valctva, valdiscountftva, valdiscounttva, valdiscountctva, Pretctva, ; + valdiminuatftva, valdiminuattva, valdiminuatctva, ; + vvalftva, vvaltva, vvalctva, vvaldiscountftva, vvaldiscounttva, vvaldiscountctva, ; + vvaldiminuatftva, vvaldiminuattva, vvaldiminuatctva, id_c, lot, serie, explicatie, ; + id_valuta, gestionabil, tip_valuta, id_jtva_coloana, taxcode, id_lucrare_rez, id_part_rez, pretv_orig, pretd, id_valuta_d, id_ctr, opt_facturare, nume_val MEMO + + Replace id_temp With Recno(), codmat With Nvl(poArticol.codmat, Space(50)), codmatf With Nvl(poArticol.codmatf, Space(50)), ; + um With Nvl(poArticol.um, [ ]), Curs With Nvl(poArticol.Curs, 0), multiplicator With Nvl(poArticol.multiplicator, 1), ; + cu_tva With poArticol.preturi_cu_tva, codbare With Nvl(poArticol.codbare, Space(50)), ; + vpretftva With Nvl(poArticol.pretftva_val, 0), vpretctva With Nvl(poArticol.pretctva_val, 0), ; + discountftva With poArticol.discount_unitar, discountctva With poArticol.discount_unitar_ctva, ; + vdiscountftva With Nvl(poArticol.discount_unitar_val, 0), vdiscountctva With Nvl(poArticol.discount_unitar_ctva_val, 0) + If Used('crsCtrTemp') + Select crsCtrTemp + Locate For id_ctr = poArticol.id_ctr And text_standard = 1 + If Found() + poArticol.numar_contract = Alltrim(contract) + Select crsfactura + Replace numar_contract With poArticol.numar_contract + Else + Select crsfactura + Endif + Endif + If Nvl(gnMemProcDisc, 0) = 1 + Thisform.nproc_disc_mem = pnProcentDiscountMem + Endif + Else + lnTotalCantitate = poArticol.cantitate + Select crsartselectate + Scan + poArticol.pret_achizitie = Pret + poArticol.serie = Nvl(serie, []) + poArticol.lot = Nvl(lot, []) + poArticol.id_gestiune = id_gestiune + poArticol.Cont = Alltrim(Cont) + poArticol.cantitate = cantitate + poArticol.pretv_orig = pretv + poArticol.id_lucrare_rez = id_lucrare_rez + poArticol.id_part_rez = id_part_rez + + poArticol.pretd = pretd + poArticol.id_valuta_d = id_valuta + + Select crsfactura + Append Blank + + Gather Name poArticol Fields Like pret_achizitie, denumire, cantitate, id_articol, Id_Pol, ; + Cont, id_gestiune, Proc_Tvav, pretftva, Pretctva, ; + id_c, lot, serie, explicatie, ; + id_valuta, gestionabil, tip_valuta, id_jtva_coloana, taxcode, id_lucrare_rez, id_part_rez, pretv_orig, pretd, id_valuta_d, nume_val, id_ctr, opt_facturare MEMO + + Replace id_temp With Recno(), codmat With Nvl(poArticol.codmat, Space(50)), ; + codbare With Nvl(poArticol.codbare, Space(50)), ; + codmatf With Nvl(poArticol.codmatf, Space(50)), um With Nvl(poArticol.um, Space(50)), ; + Curs With Nvl(poArticol.Curs, 0), multiplicator With Nvl(poArticol.multiplicator, 1), ; + cu_tva With poArticol.preturi_cu_tva, ; + vpretftva With Nvl(poArticol.pretftva_val, 0), vpretctva With Nvl(poArticol.pretctva_val, 0), ; + discountftva With poArticol.discount_unitar, discountctva With poArticol.discount_unitar_ctva, ; + vdiscountftva With Nvl(poArticol.discount_unitar_val, 0), ; + vdiscountctva With Nvl(poArticol.discount_unitar_ctva_val, 0) + + poArticol = calculeaza_totaluri(poArticol) + Gather Name poArticol Fields Like valftva, valtva, valctva, ; + valdiscountftva, valdiscounttva, valdiscountctva, ; + valdiminuatftva, valdiminuattva, valdiminuatctva, ; + vvalftva, vvaltva, vvalctva, ; + vvaldiscountftva, vvaldiscounttva, vvaldiscountctva, ; + vvaldiminuatftva, vvaldiminuattva, vvaldiminuatctva MEMO + Endscan + Use In crsartselectate + poArticol.cantitate = lnTotalCantitate && imi trebuie mai jos, unde actualizez cantitatea totala + Select crsfactura + Endif && !Used('crsartselectate') + + + If poArticol.Proc_Tvav > Thisform.nproc_tvav + Thisform.nproc_tvav = poArticol.Proc_Tvav + Endif + + If This.nnrinregvizibile < Recno('crsfactura') + lnRecno = Recno() - This.nnrinregvizibile + Go lnRecno + Else + Go Top + Endif + + restore_grid_tag(Thisform.grd_factura) + + Select (lcCursor) + lnRecno = Recno() + Do Case + Case gnScadereStoc = 1 And poDate.tip = 41 && aviz retur transfer catre subunitati lista pret + Replace cantitate With cantitate + poArticol.cantitate For id_c = poArticol.id_c + Go lnRecno + Case (gnScadereStoc = 1 And poDate.tip = 23) Or Inlist(poDate.tip, 3, 4, 21, 25, 28, 42, 47) && 23 aviz transfer catre subunitati din lista, 3 factura pe baza de comenzi, 21 aviz catre clienti din comanda + Replace cantitate With cantitate - poArticol.cantitate For id_c = poArticol.id_c + Go lnRecno + Case Inlist(poDate.tip, 8, 9, 24) && factura retur lei si valuta, aviz retur + Replace cantitate With cantitate + poArticol.cantitate For id_c = poArticol.id_c + Go lnRecno + Case poArticol.gestionabil = 1 And gnScadereStoc = 1 And ; + (Inlist(poDate.tip, 1, 22, 29) Or (poDate.tip = 2 And poArticol.opt_facturare = 0)) + Replace cantitate With IIF(cantitate - poArticol.cantitate > 0, cantitate - poArticol.cantitate, 0) For id_articol = poArticol.id_articol And gestionabil = 1 + * daca cantitatea ramasa dupa adaugarea articolului gestionabil este < 0, atunci pun 0 ca sa pot intra pe ramura facturare fara stoc + Go lnRecno + Endcase + + Thisform.do_calculeaza_totaluri() + + If poArticol.opt_facturare = 0 + Do Case + Case !Empty(Thisform.txtCodmat.Value) + Thisform.txtCodmat.SetFocus() + Case !Empty(Thisform.txtArticole.Value) + Thisform.txtArticole.SetFocus() + Otherwise + Thisform.grd_articole.SetFocus() + Endcase + Else + Thisform.grd_contracte.SetFocus() + Endif + Else + If poArticol.opt_facturare = 0 + Do Case + Case !Empty(Thisform.txtCodmat.Value) + Thisform.txtCodmat.SetFocus() + Case !Empty(Thisform.txtArticole.Value) + Thisform.txtArticole.SetFocus() + Otherwise + Thisform.grd_articole.SetFocus() + Endcase + Else + Thisform.grd_contracte.SetFocus() + Endif + Endif + + Release poArticol + Endif + Release loGrid, pnProcentDiscountMem + + ENDPROC + + PROCEDURE do_adauga_rata + Private poArticol + Select crsarticole1 + Scatter Name poArticol MEMO + Thisform.do_initializeaza_articol(@poArticol) + Select crsfactura + Locate For id_rata = poArticol.id_rata + If Found() + amessagebox([Aceasta rata a fost deja adaugata pe factura!],48,[Atentie]) + Else + gnButon = 2 + ofrmadarticol=Createobject("frm_articol_factura_rate") + ofrmadarticol.Show(1) + Release ofrmadarticol + + If gnButon = 1 + save_grid_tag(Thisform.grd_factura) + Select crsfactura + Append Blank + Gather Name poArticol Fields Like pret_achizitie,cantitate,Id_Pol,Cont,id_gestiune,Proc_Tvav,; + serie,id_valuta,gestionabil,tip_valuta,id_jtva_coloana,id_lucrare_rez,id_part_rez,pretv_orig,pretd,id_valuta_d,id_rata,; + data_rata,data_scadenta,nr_rata,id_ctr,opt_facturare,nume_val,taxcode MEMO && modificare ROAFACTURARE v 2.0.77 : nume_val + + Replace id_articol With Nvl(poArticol.id_articol,0),id_temp With Recno(),; + codmat With Nvl(poArticol.codmat,Space(50)),codmatf With Nvl(poArticol.codmatf,Space(50)),; + codbare With Nvl(poArticol.codbare,Space(50)),um With Nvl(poArticol.um,[ ]),; + Curs With Nvl(poArticol.Curs,0),multiplicator WITH NVL(poArticol.multiplicator,1),; + cu_tva With poArticol.preturi_cu_tva,; + pretftva With poArticol.pretftva,Pretctva With poArticol.Pretctva,; + valftva With poArticol.pretftva,valtva With poArticol.tva,valctva With poArticol.Pretctva,; + vpretftva With Nvl(poArticol.pretftva_val,0),vpretctva With Nvl(poArticol.pretctva_val,0),; + vvalftva With NVL(poArticol.pretftva_val,0),vvaltva With NVL(poArticol.tva_val,0),vvalctva With NVL(poArticol.Pretctva_val,0),; + discountftva With poArticol.discount_unitar,discountctva With poArticol.discount_unitar_ctva,; + valdiscountftva WITH poArticol.discount_unitar,valdiscountctva WITH poArticol.discount_unitar_ctva,; + valdiscounttva WITH poArticol.discount_unitar_ctva - poArticol.discount_unitar,; + vdiscountftva With Nvl(poArticol.discount_unitar_val,0),vdiscountctva With Nvl(poArticol.discount_unitar_ctva_val,0),; + vvaldiscountftva WITH NVL(poArticol.discount_unitar_val,0),vvaldiscountctva WITH NVL(poArticol.discount_unitar_ctva_val,0),; + vvaldiscounttva WITH NVL(poArticol.discount_unitar_ctva_val,0)-NVL(poArticol.discount_unitar_val,0),; + valdiminuatftva WITH poArticol.pretftva - NVL(poArticol.discount_unitar,0),; + valdiminuattva WITH (poArticol.pretctva - poArticol.pretftva) - (NVL(poArticol.discount_unitar_ctva,0)-NVL(poArticol.discount_unitar,0)),; + valdiminuatctva WITH poArticol.pretctva - NVL(poArticol.discount_unitar_ctva,0),; + vvaldiminuatftva WITH poArticol.pretftva_val - NVL(poArticol.discount_unitar_val,0),; + vvaldiminuattva WITH (poArticol.pretctva_val - poArticol.pretftva_val) - (NVL(poArticol.discount_unitar_ctva_val,0)-NVL(poArticol.discount_unitar_val,0)),; + vvaldiminuatctva WITH poArticol.pretctva_val - NVL(poArticol.discount_unitar_ctva_val,0),; + denumire WITH poArticol.explicatie + + Select crsCtrTemp + Locate For id_ctr = poArticol.id_ctr And text_standard = 1 + If Found() + poArticol.numar_contract = ALLTRIM(contract) + Select crsfactura + Replace numar_contract With poArticol.numar_contract + Else + Select crsfactura + Endif + + If poArticol.Proc_Tvav > Thisform.nproc_tvav + Thisform.nproc_tvav = poArticol.Proc_Tvav + Endif + + poDate.datascad = Iif(Type('poArticol.data_scadenta')='T',Ttod(poArticol.data_scadenta),poArticol.data_scadenta) + Thisform.txtDataScadenta.Refresh() + + If This.nnrinregvizibile < Recno('crsfactura') + lnRecNo = Recno() - This.nnrinregvizibile + Go lnRecNo + Else + Go Top + Endif + + restore_grid_tag(Thisform.grd_factura) + + Thisform.do_calculeaza_totaluri() + Endif + Endif + Thisform.grd_contracte.SetFocus() + *!* Thisform.txtDenRata.SetFocus() + Release poArticol + + ENDPROC + + PROCEDURE do_adauga_tot + Local llGestionabil + Local lnNrInregistrare, lnRaspuns, lcArticol + If Used('crsarticole') And Reccount('crsarticole') > 0 + Select crsarticole + Scan + lnNrInregistrare = Recno() + lnRaspuns = 7 + lcArticol = Alltrim(denumire) + llGestionabil = (Type('crsArticole.gestionabil') = 'N' And Nvl(crsarticole.gestionabil, 0) = 1) + + Do While lnRaspuns = 7 + If (cantitate > 0 AND m.llGestionabil) OR (!m.llGestionabil) && adaug toate articolele, chiar si cele cu cantitate negativa (ex: articol discount are cantitate negativa) + Thisform.do_adauga_articol(.T.) + Endif + Select crsarticole + Go lnNrInregistrare + If cantitate = 0 Or !m.llGestionabil + lnRaspuns = 6 + Else + lnRaspuns = aMessageBox("Nu ati selectat toata cantitatea pentru articolul " + Alltrim(lcArticol) + ". Doriti sa treceti la urmatorul?", 4 + 32, "Confirmare cantitate") + Endif + Enddo + Select crsarticole + Go lnNrInregistrare + Endscan + Else + aMessageBox("Nu exista articole de adaugat!", 48, "Atentie") + Endif + ENDPROC + + PROCEDURE do_alege_stoc + Lparameters tnIdArticol,tnCantitate,tcNumeArticol,tlImplicit,tnPret,tnDiscount,toGrid, tlRetur + * llImplicit => vezi thisform.do_adauga + * tnPret => doar pentru retururi : e pretul de vanzare fara TVA + * toGrid => gridul din care vine articolul + * tlRetur => factura normala cu articol retur (nu factura de retur tip 8,9). se comporta la fel ca factura de retur. se selecteaza din RUL, dar nu stiu factura din care fac retur + + Private pnIdArticol + Local llReturn,lofrmadarticol,lcSql, llFacturareFaraStoc + llFactuareFaraStoc = .F. + llReturn = .T. + + pnIdArticol = tnIdArticol + + If Inlist(poDate.tip,23,41) && 23 transfer catre subunitati din lista, 41 aviz retur transfer catre subunitati din lista + lcIdGestiune = Alltrim(Str(poDate.id_client)) + Else + If Isnull(poDate.id_gestiune_init) + lcIdGestiune = [NULL] + Else + lcIdGestiune = Alltrim(Str(poDate.id_gestiune_init)) + Endif + Endif + + *!* llFacturareFaraStoc = (m.tnCantitate = 999999999 And Type('gnRF_FACTURARE_FARA_STOC') = 'N' And m.gnRF_FACTURARE_FARA_STOC = 1) + llFacturareFaraStoc = (m.tnCantitate = 0 And Type('gnRF_FACTURARE_FARA_STOC') = 'N' And m.gnRF_FACTURARE_FARA_STOC = 1) + + If Inlist(poDate.tip,8,9,24) Or m.tlRetur && factura retur lei, factura retur valuta, aviz retur sau factura normala cu retur de articole + lcSql = [{call pack_facturare.cursor_gestiuni_articol_retur(] + Alltrim(Str(pnIdArticol)) + [,] + ; + Alltrim(Str(poDate.tip)) + [,] + lcIdGestiune + [,] + ; + Alltrim(Str(tnPret,20,gnPPretV)) + [,] + Alltrim(Str(tnDiscount,20,gnPPretV)) + [,] + ; + Alltrim(Str(gnLuna)) + [,] + Alltrim(Str(gnAn)) + [,] + ; + Alltrim(Str(gnIdUtil)) + [,'] + Alltrim(poDate.listaid) + [',] + ; + Iif(Isnull(gnIdSucursala),[NULL],Alltrim(Str(gnIdSucursala))) + [)}] + Else + If !m.llFacturareFaraStoc + lcSql = [{call pack_facturare.cursor_gestiuni_articol(] + Alltrim(Str(pnIdArticol)) + [,] + ; + Alltrim(Str(poDate.tip)) + [,] + lcIdGestiune + [,] + ; + Alltrim(Str(gnLuna)) + [,] + Alltrim(Str(gnAn)) + [,] + Alltrim(Str(gnIdUtil)) + [,] + ; + IIF(Isnull(gnIdSucursala),[NULL],Alltrim(Str(gnIdSucursala))) + [)}] + Else + * Selectie articol fara stoc (din stoc anul curent si precedent) + lcSql = [{call pack_facturare.cursor_gestiuni_articol_stoc0(] + Alltrim(Str(pnIdArticol)) + [,] + ; + Alltrim(Str(poDate.tip)) + [,] + lcIdGestiune + [,] + ; + Alltrim(Str(gnLuna)) + [,] + Alltrim(Str(gnAn)) + [,] + Alltrim(Str(gnIdUtil)) + [,] + ; + IIF(Isnull(gnIdSucursala),[NULL],Alltrim(Str(gnIdSucursala))) + [)}] + Endif + Endif + + lcCursor = [crsgestarticol] + lcCursorTemp = [crsgestarticoltemp] + lnSucces = goExecutor.oExecute(lcSql,lcCursorTemp) + Do Case + Case lnSucces < 0 + amessagebox(goExecutor.oPrelucrareEroare(),0+16,"Eroare") + toGrid.SetFocus() + llReturn = .F. + Case Reccount(lcCursorTemp) = 0 + amessagebox("Articolul "+Alltrim(tcNumeArticol)+" nu este pe stoc!",0+48,"Atentie") + toGrid.SetFocus() + llReturn = .F. + Otherwise + + If m.llFacturareFaraStoc + Update (m.lcCursorTemp) Set datain = Date(Year(Date())+1,1,1) Where Empty(Nvl(datain,{})) + Endif + + copiaza_structura_cursor(lcCursorTemp,lcCursor) + + * Arat cantitatile din stoc - cantitatile deja pe factura curenta + Select Iif(poDate.tip=41,-1,1)*Sum(cantitate) As cantitate,id_articol,id_gestiune,pret_achizitie,serie,lot,Cont, ; + id_part_rez,id_lucrare_rez,pretv_orig,pretd,id_valuta_d ; + FROM crsfactura Where id_articol = pnIdArticol ; + GROUP By id_articol,id_gestiune,pret_achizitie,serie,lot,Cont,id_part_rez,id_lucrare_rez,pretv_orig,pretd,id_valuta_d ; + INTO CURSOR crsFacturaArticoleTemp + + *!* Select a.ales,a.id_gestiune,a.cantitate - Iif(Inlist(poDate.tip,8,9,24),(-1),1) * Nvl(b.cantitate,0) As cantitate,a.Cont,a.serie,a.lot,a.Pret,a.nume_gestiune,; + *!* a.datain,a.pretv,a.pretvctva,a.part_rez,a.id_part_rez,a.nrord_rez,a.id_lucrare_rez,a.pretd,a.id_valuta,a.nume_val ; + *!* from (lcCursorTemp) a Left Join ; + *!* crsFacturaArticoleTemp b ; + *!* ON a.id_gestiune = b.id_gestiune And a.Pret = b.pret_achizitie And a.Cont = b.Cont ; + *!* And Nvl(a.serie,'') = Nvl(b.serie,'') ; + *!* And Nvl(a.lot,'') = Nvl(b.lot,'') ; + *!* And Nvl(a.id_part_rez,0) = Nvl(b.id_part_rez,0) And Nvl(a.id_lucrare_rez,0) = Nvl(b.id_lucrare_rez,0) ; + *!* And a.pretv = b.pretv_orig And a.pretd = b.pretd And Nvl(a.id_valuta,0) = Nvl(b.id_valuta_d,0) ; && modificare v 2.0.84 : am pus 0 in loc de -99 la id_valuta_d + *!* Where a.cantitate - Iif(Inlist(poDate.tip,8,9,24),(-1),1) * Nvl(b.cantitate,0) > 0 ; + *!* Order By a.datain, a.nume_gestiune,a.serie,a.lot,a.Pret,a.pretd,a.id_valuta,; + *!* a.pretv,a.Cont,a.part_rez,a.nrord_rez ; + *!* into cursor cArticoleGestTemp2 + + + *!* SELECT (m.lcCursor) + *!* APPEND FROM DBF('cArticoleGestTemp2') + + *!* USE IN (SELECT('crsFacturaArticoleTemp2')) + + Insert Into (lcCursor) (ales,id_gestiune,cantitate,Cont,serie,lot, Pret,nume_gestiune,datain,pretv,pretvctva,part_rez,id_part_rez,nrord_rez,id_lucrare_rez,pretd,id_valuta,nume_val) ; + Select a.ales,a.id_gestiune,a.cantitate - Iif(Inlist(poDate.tip,8,9,24),(-1),1) * Nvl(b.cantitate,0) As cantitate,a.Cont,a.serie,a.lot,a.Pret,a.nume_gestiune,; + a.datain,a.pretv,a.pretvctva,a.part_rez,a.id_part_rez,a.nrord_rez,a.id_lucrare_rez,a.pretd,a.id_valuta,a.nume_val ; + from (lcCursorTemp) a Left Join ; + crsFacturaArticoleTemp b ; + ON a.id_gestiune = b.id_gestiune And a.Pret = b.pret_achizitie And a.Cont = b.Cont ; + And Nvl(a.serie,'') = Nvl(b.serie,'') ; + And Nvl(a.lot,'') = Nvl(b.lot,'') ; + And Nvl(a.id_part_rez,0) = Nvl(b.id_part_rez,0) And Nvl(a.id_lucrare_rez,0) = Nvl(b.id_lucrare_rez,0) ; + And a.pretv = b.pretv_orig And a.pretd = b.pretd And Nvl(a.id_valuta,0) = Nvl(b.id_valuta_d,0) ; && modificare v 2.0.84 : am pus 0 in loc de -99 la id_valuta_d + Where a.cantitate - Iif(Inlist(poDate.tip,8,9,24),(-1),1) * Nvl(b.cantitate,0) > 0 ; + Order By a.datain, a.nume_gestiune,a.serie,a.lot,a.Pret,a.pretd,a.id_valuta,; + a.pretv,a.Cont,a.part_rez,a.nrord_rez + + USE IN (SELECT('crsFacturaArticoleTemp')) + + + SELECT (m.lcCursor) + Go Top + Do Case + Case Reccount(lcCursor) = 0 + amessagebox("Articolul "+Alltrim(tcNumeArticol)+" nu mai este pe stoc!",0+48,"Atentie") + toGrid.SetFocus() + llReturn = .F. + *!* modificare v 2.0.44 + Case Reccount(lcCursor) = 1 And tlImplicit + Local lnNrOptiuniTva + lnNrOptiuniTva = 0 + Select jtva_coloane + Calculate Cnt() For (cota_tva + 100)/100 = Nvl(poArticol.proc_tvav,-1) To lnNrOptiuniTva + Select (lcCursor) && modificare v 2.2.18 : l-am scos din "if" pentru ca aveam nevoie de el si pe "else" + If lnNrOptiuniTva = 1 + *!* Locate For (cota_tva + 100)/100 = poArticol.proc_tvav + *!* poArticol.proc_tvav = (cota_tva + 100)/100 + *!* poArticol.id_jtva_coloana = id_jtva_coloana + *!* Select (lcCursor) && modificare v 2.2.18 : l-am mutat inaintea "if"-ului + poArticol.pret_achizitie = Pret + poArticol.serie = Nvl(serie,[]) + poArticol.lot = Nvl(lot,[]) + poArticol.id_gestiune = id_gestiune + poArticol.Cont = Alltrim(Cont) + poArticol.id_lucrare_rez = id_lucrare_rez + poArticol.id_part_rez = id_part_rez + poArticol.pretv_orig = pretv + *!* modificare v 2.0.56 + poArticol.pretd = pretd + poArticol.id_valuta_d = id_valuta + *!* modificare v 2.0.56 ^ + lofrmadarticol=Createobject("frm_articol_gest_factura",tnCantitate,tlImplicit,tlRetur) + If !lofrmadarticol.inainte_de_do_termin() + lofrmadarticol.Show(1) + Else + lofrmadarticol.Release() + gnButon = 1 + Endif + Else + lofrmadarticol=Createobject("frm_articol_gest_factura",tnCantitate, .F., tlRetur) + lofrmadarticol.Show(1) + *!* modificare v 2.0.46 + If gnButon = 1 + Select * From (lcCursor) Where ales = 1 Into Cursor crsartselectate + If Reccount('crsartselectate') = 0 + Use In crsartselectate + Endif + Endif + *!* modificare v 2.0.46 ^ + Endif + Release lofrmadarticol + *!* modificare v 2.0.44 ^ + Otherwise + lofrmadarticol=Createobject("frm_articol_gest_factura",tnCantitate, .F., tlRetur) + lofrmadarticol.Show(1) + Release lofrmadarticol + *!* modificare v 2.0.46 + If gnButon = 1 + Select * From (lcCursor) Where ales = 1 Into Cursor crsartselectate + If Reccount('crsartselectate') = 0 + Use In crsartselectate + Endif + Endif + *!* modificare v 2.0.46 ^ + Endcase + Endcase + If Used(lcCursor) + Use In (lcCursor) + Endif + If Used(lcCursorTemp) + Use In (lcCursorTemp) + Endif + + *!* * Construiesc o lista de articole la care nu am gasit stoc, ca sa le tratez special la finalizarea facturii!!! this.scrie_articole + *!* IF m.llReturn + *!* If m.llFacturareFaraStoc + *!* this.cListaArticoleFaraStoc = this.cListaArticoleFaraStoc + ALLTRIM(STR(tnIdArticol)) + [,] + *!* ENDIF + *!* ENDIF + Return llReturn + + ENDPROC + + PROCEDURE do_calculeaza_discount + Lparameters tnProcent + If tnProcent = 0 + Thisform.ndiscfactron = 0 + Thisform.ndiscfactval = 0 + Else + If poDate.in_valuta = 1 + Thisform.ndiscfactval = Round(Thisform.nbazafdiscountval * tnProcent / 100,gnPVal) + Thisform.ndiscfactron = Round(Thisform.ndiscfactval*poDate.Curs/poDate.multiplicator,gnPc) + Else + Thisform.ndiscfactron = Round(Thisform.nbazafdiscount * tnProcent / 100,gnPc) + Endif + Endif + *!* Thisform.clb_discount.Refresh() + Thisform.do_calculeaza_totaluri() + + ENDPROC + + PROCEDURE do_calculeaza_totaluri + Lparameters tlModificareDiscount + Local lnTotal,lnTva,lnBaza,lnDisc, lnVTotal,lnVTva,lnVBaza,lnVDisc + lnTotal = 0 + lnTva = 0 + lnBaza = 0 + lnDisc = 0 + lnVTotal = 0 + lnVTva = 0 + lnVBaza = 0 + lnVDisc = 0 + If poDate.in_valuta = 0 + *!* modificare v 2.0.46 + *!* Select Sum(valdiminuatctva) As Total,Sum(valdiminuatftva) As Baza,; + *!* Sum(valdiminuattva) As Tva,; + *!* Sum(valdiscountftva) As discount From crsfactura Into Cursor crstotalurifact + *!* Select crstotalurifact + *!* Thisform.nbazafdiscount = Nvl(Baza,0) + *!* lnTotal = Nvl(Total,0) + *!* Thisform.nbazaron = Nvl(Baza,0) - Round(Thisform.ndiscfactron, gnPc) + *!* Thisform.ndiscron = Nvl(discount,0) + *!* Thisform.ntvaron = Nvl(Tva,0) - Round(Thisform.ndiscfactron * (Thisform.nproc_tvav - 1), gnPc) + *!* Thisform.ntotalron = lnTotal - Round(Thisform.ndiscfactron * Thisform.nproc_tvav, gnPc) + If Used('crsfacturaset') + Select Sum(Nvl(valdiminuatctva,0)) As Total,Sum(Nvl(valdiminuatftva,0)) As Baza,; + Sum(Nvl(valdiminuattva,0)) As Tva,; + Sum(Nvl(valdiscountftva,0)) As discount From crsfacturaset ; + union All ; + select Nvl(Sum(valdiminuatctva),0) As Total,Nvl(Sum(valdiminuatftva),0) As Baza,; + Nvl(Sum(valdiminuattva),0) As Tva,; + Nvl(Sum(valdiscountftva),0) As discount From crsfactura Where Nvl(id_set_fact,0) = 0 ; + into Cursor crstotalurifact + Else + Select Sum(Nvl(valdiminuatctva,0)) As Total,Sum(Nvl(valdiminuatftva,0)) As Baza,; + Sum(Nvl(valdiminuattva,0)) As Tva,; + Sum(Nvl(valdiscountftva,0)) As discount From crsfactura Into Cursor crstotalurifact + Endif + + Select crstotalurifact + Scan + lnTotal = lnTotal + Nvl(Total,0) + lnTva = lnTva + Nvl(Tva,0) + lnBaza = lnBaza + Nvl(Baza,0) + lnDisc = lnDisc + Nvl(discount,0) + Endscan + Thisform.nbazafdiscount = Nvl(lnBaza,0) + Thisform.nbazaron = Nvl(lnBaza,0) - Round(Thisform.ndiscfactron, gnPc) + Thisform.ndiscron = Nvl(lnDisc,0) + Thisform.ntvaron = Nvl(lnTva,0) - Round(Thisform.ndiscfactron * (Thisform.nproc_tvav - 1), gnPc) + Thisform.ntotalron = lnTotal - Round(Thisform.ndiscfactron * Thisform.nproc_tvav, gnPc) + *!* modificare v 2.0.46 ^ + If !Empty(Thisform.ndiscfactron) + Thisform.clb_discount.procent.Value = Round(Thisform.ndiscfactron * 100 / Thisform.nbazafdiscount,2) + Else + Thisform.clb_discount.procent.Value = 0 + Endif + Else + *!* modificare v 2.0.46 + *!* Select Sum(vvaldiminuatctva) As Total,Sum(vvaldiminuatftva) As Baza,; + *!* Sum(vvaldiminuattva) As Tva,; + *!* Sum(vvaldiscountftva) As discount From crsfactura Into Cursor crstotalurifact + *!* Select crstotalurifact + *!* Thisform.nbazafdiscountval = Nvl(Baza,0) + *!* lnTotal = Nvl(Total,0) + *!* Thisform.nbazaval = Nvl(Baza,0) - Round(Thisform.ndiscfactval, gnPc) + *!* Thisform.ndiscval = Nvl(discount,0) + *!* Thisform.ntvaval = Nvl(Tva,0) - Round(Thisform.ndiscfactval * (Thisform.nproc_tvav - 1), gnPc) + *!* Thisform.ntotalval = lnTotal - Round(Thisform.ndiscfactval * Thisform.nproc_tvav, gnPc) + If Used('crsfacturaset') + Select Sum(Nvl(valdiminuatctva,0)) As Total,Sum(Nvl(valdiminuatftva,0)) As Baza,; + Sum(Nvl(valdiminuattva,0)) As Tva,; + Sum(Nvl(valdiscountftva,0)) As discount, ; + Sum(Nvl(vvaldiminuatctva,0)) As vTotal,Sum(Nvl(vvaldiminuatftva,0)) As vBaza,; + Sum(Nvl(vvaldiminuattva,0)) As vTva,; + Sum(Nvl(vvaldiscountftva,0)) As vdiscount ; + From crsfacturaset ; + union All ; + select Nvl(Sum(valdiminuatctva),0) As Total,Nvl(Sum(valdiminuatftva),0) As Baza,; + Nvl(Sum(valdiminuattva),0) As Tva,; + Nvl(Sum(valdiscountftva),0) As discount, ; + Nvl(Sum(vvaldiminuatctva),0) As vTotal,Nvl(Sum(vvaldiminuatftva),0) As vBaza,; + Nvl(Sum(vvaldiminuattva),0) As vTva,; + Nvl(Sum(vvaldiscountftva),0) As vdiscount ; + From crsfactura ; + Where Nvl(id_set_fact,0) = 0 ; + into Cursor crstotalurifact + Else + Select Sum(Nvl(valdiminuatctva,0)) As Total,Sum(Nvl(valdiminuatftva,0)) As Baza,; + Sum(Nvl(valdiminuattva,0)) As Tva,; + Sum(Nvl(valdiscountftva,0)) As discount, ; + Sum(Nvl(vvaldiminuatctva,0)) As vTotal,Sum(Nvl(vvaldiminuatftva,0)) As vBaza,; + Sum(Nvl(vvaldiminuattva,0)) As vTva,; + Sum(Nvl(vvaldiscountftva,0)) As vdiscount ; + From crsfactura ; + Into Cursor crstotalurifact + ENDIF + + Select crstotalurifact + Scan + lnTotal = lnTotal + Nvl(Total,0) + lnTva = lnTva + Nvl(Tva,0) + lnBaza = lnBaza + Nvl(Baza,0) + lnDisc = lnDisc + Nvl(discount,0) + + lnVTotal = lnVTotal + Nvl(vTotal,0) + lnVTva = lnVTva + Nvl(vTva,0) + lnVBaza = lnVBaza + Nvl(vBaza,0) + lnVDisc = lnVDisc + Nvl(vdiscount,0) + + Endscan + Thisform.nbazafdiscountval = Nvl(lnVBaza,0) + Thisform.nbazaval = Nvl(lnVBaza,0) - Round(Thisform.ndiscfactval, gnPVal) + Thisform.ndiscval = Nvl(lnVDisc,0) + Thisform.ntvaval = Nvl(lnVTva,0) - Round(Thisform.ndiscfactval * (Thisform.nproc_tvav - 1), gnPVal) + Thisform.ntotalval = lnVTotal - Round(Thisform.ndiscfactval * Thisform.nproc_tvav, gnPVal) + *!* modificare v 2.0.46 ^ + *!* Thisform.nbazaron = Round(Thisform.nbazaval*poDate.Curs/poDate.multiplicator,gnPc) + *!* Thisform.ndiscron = Round(Thisform.ndiscval*poDate.Curs/poDate.multiplicator,gnPc) + *!* Thisform.ntvaron = Round(Thisform.ntvaval*poDate.Curs/poDate.multiplicator,gnPc) + *!* Thisform.ntotalron = Round(Thisform.ntotalval*poDate.Curs/poDate.multiplicator,gnPc) + *!* Thisform.nbazafdiscount = Round(Thisform.nbazafdiscountval*poDate.Curs/poDate.multiplicator,gnPc) + + If !Empty(Thisform.ndiscfactval) + Thisform.ndiscfactron = Round(Thisform.ndiscfactval * poDate.Curs/poDate.multiplicator,gnPc) + Thisform.clb_discount.procent.Value = Round(Thisform.ndiscfactval * 100 / Thisform.nbazafdiscountval,2) + Else + Thisform.clb_discount.procent.Value = 0 + Endif + + Thisform.nbazafdiscount = Nvl(lnBaza,0) + Thisform.nbazaron = Nvl(lnBaza,0) - Round(Thisform.ndiscfactron, gnPC) + Thisform.ndiscron = Nvl(lnDisc,0) + Thisform.ntvaron = Nvl(lnTva,0) - Round(Thisform.ndiscfactron * (Thisform.nproc_tvav - 1), gnPC) + Thisform.ntotalron = lnTotal - Round(Thisform.ndiscfactron * Thisform.nproc_tvav, gnPC) + + Endif + + If tlModificareDiscount + Thisform.clb_discount.procent.Refresh() + Else + Thisform.clb_discount.Refresh() + Endif + Thisform.clb_discount_articole.Refresh() + Thisform.clb_total_baza.Refresh() + Thisform.clb_total_tva.Refresh() + Thisform.clb_total_factura.Refresh() + + If Used('crstotalurifact') + Use In crstotalurifact + Endif + + ENDPROC + + PROCEDURE do_cauta + If Used('crspolitici') + Select crspolitici + lcFiltruPol = Iif(id_pol=-9999,[.T.],[id_pol = ] + Alltrim(Str(id_pol))) + Else + lcFiltruPol = [2=2] + EndIf + lcFiltruArt = Thisform.do_creeaza_filtru(Thisform.ct_articole,[denumire],Alltrim(Strtran(Thisform.txtArticole.Value,['],['']))) + lcFiltruCodMat = Thisform.do_creeaza_filtru(Thisform.ct_codmat,[codmat],Alltrim(Strtran(Thisform.txtCodmat.Value,['],['']))) + lcFiltru = lcFiltruPol + [ AND ] + Iif(Empty(lcFiltruArt),[2=2],lcFiltruArt) + [ AND ] + Iif(Empty(lcFiltruCodMat),[2=2],lcFiltruCodMat) + Select crsarticole + Set Filter To &lcFiltru + Locate For &lcFiltru + If !Found() + Go Top + EndIf + Thisform.grd_articole.Refresh() + ENDPROC + + PROCEDURE do_creeaza_filtru + Lparameters toCriteriu,tcNumeCamp,tcValoare + Local lnCriteriu,lcFiltru + lnCriteriu = toCriteriu.Value + Do Case + Case lnCriteriu = 1 and !Empty(tcValoare) + lcFiltru = "LIKE('" + Upper(Strtran(tcValoare,['],[''])) + "*',UPPER(Nvl("+Alltrim(tcNumeCamp)+",'')))" + Case lnCriteriu = 2 and !Empty(tcValoare) + lcFiltru = "UPPER(Nvl("+Alltrim(tcNumeCamp)+",''))='" + Upper(Strtran(tcValoare,['],[''])) + "'" + Case lnCriteriu = 3 and !Empty(tcValoare) + lcFiltru = "UPPER(Nvl("+Alltrim(tcNumeCamp)+",''))<>'" + Upper(Strtran(tcValoare,['],[''])) + "'" + Case lnCriteriu = 4 and !Empty(tcValoare) + lcFiltru = "LIKE('*" + Upper(Strtran(tcValoare,['],[''])) + "*',UPPER(Nvl("+Alltrim(tcNumeCamp)+",'')))" + Case lnCriteriu = 5 and !Empty(tcValoare) + lcFiltru = "!LIKE('*" + Upper(Strtran(tcValoare,['],[''])) + "*',UPPER(Nvl("+Alltrim(tcNumeCamp)+",'')))" + Case lnCriteriu=6 + lcFiltru = "EMPTY(Nvl("+Alltrim(tcNumeCamp)+",''))" + Case lnCriteriu=7 + lcFiltru = "!EMPTY(Nvl("+Alltrim(tcNumeCamp)+",''))" + Endcase + Return lcFiltru + ENDPROC + + PROCEDURE do_initializeaza_articol + Lparameters toArticol + toArticol.um = Nvl(toArticol.um,'') + If Type('toArticol.id_gestiune') = "U" + AddProperty(toArticol,'id_gestiune',-1000) + Endif + If Type('toArticol.cont') = "U" + AddProperty(toArticol,'cont',[XXXX]) + Endif + AddProperty(toArticol,'id_temp',0) + + If toArticol.preturi_cu_tva = 0 + toArticol.discount_unitar = Nvl(toArticol.discount_unitar,0) + toArticol.discount_unitar_val = Nvl(toArticol.discount_unitar_val,0) + *!* modificare v 2.0.56 + *!* AddProperty(toArticol,'discount_unitar_ctva',0) + *!* AddProperty(toArticol,'discount_unitar_ctva_val',0) + AddProperty(toArticol,'discount_unitar_ctva',Iif(Isnull(toArticol.proc_tvav),0,Round(toArticol.discount_unitar*(toArticol.proc_tvav-1),gnPPretV)+toArticol.discount_unitar)) + AddProperty(toArticol,'discount_unitar_ctva_val',Iif(Isnull(toArticol.proc_tvav),0,Round(toArticol.discount_unitar_val*(toArticol.proc_tvav-1),gnPVal)+toArticol.discount_unitar_val)) + *!* modificare v 2.0.56 ^ + AddProperty(toArticol,'pretftva',toArticol.Pret) + AddProperty(toArticol,'tva',Iif(Isnull(toArticol.proc_tvav),0,Round(toArticol.Pret * (toArticol.proc_tvav - 1),gnPPretV))) + AddProperty(toArticol,'pretctva',toArticol.Pret + toArticol.tva) + AddProperty(toArticol,'pretftva_val',toArticol.pret_val) + AddProperty(toArticol,'tva_val',Iif(Isnull(toArticol.proc_tvav),0,Round(toArticol.pret_val * (toArticol.proc_tvav - 1),gnPVal))) + AddProperty(toArticol,'pretctva_val',toArticol.pret_val + toArticol.tva_val) + Else + AddProperty(toArticol,'discount_unitar_ctva',Iif(Isnull(toArticol.proc_tvav),0,Nvl(toArticol.discount_unitar,0))) + AddProperty(toArticol,'discount_unitar_ctva_val',Iif(Isnull(toArticol.proc_tvav),0,Nvl(toArticol.discount_unitar_val,0))) + *!* modificare v 2.0.56 + *!* toArticol.discount_unitar = 0 + *!* toArticol.discount_unitar_val = 0 + toArticol.discount_unitar = Iif(Isnull(toArticol.proc_tvav),0,Round(toArticol.discount_unitar/ toArticol.proc_tvav,gnPPretV)) + toArticol.discount_unitar_val = Iif(Isnull(toArticol.proc_tvav),0,Round(toArticol.discount_unitar_val/ toArticol.proc_tvav,gnPVal)) + *!* modificare v 2.0.56 ^ + AddProperty(toArticol,'pretctva',toArticol.Pret) + AddProperty(toArticol,'pretftva',Iif(Isnull(toArticol.proc_tvav),0,Round(toArticol.Pret / toArticol.proc_tvav,gnPPretV))) + AddProperty(toArticol,'tva',toArticol.Pret-toArticol.pretftva) + AddProperty(toArticol,'pretctva_val',toArticol.pret_val) + AddProperty(toArticol,'pretftva_val',Iif(Isnull(toArticol.proc_tvav),0,Round(toArticol.pret_val/toArticol.proc_tvav,gnPVal))) + AddProperty(toArticol,'tva_val',toArticol.pretctva_val-toArticol.pretftva_val) + Endif + AddProperty(toArticol,'valftva',0) + AddProperty(toArticol,'valtva',0) + AddProperty(toArticol,'valctva',0) + AddProperty(toArticol,'valdiscountftva',0) + AddProperty(toArticol,'valdiscounttva',0) + AddProperty(toArticol,'valdiscountctva',0) + AddProperty(toArticol,'valdiminuatftva',0) + AddProperty(toArticol,'valdiminuattva',0) + AddProperty(toArticol,'valdiminuatctva',0) + AddProperty(toArticol,'vvalftva',0) + AddProperty(toArticol,'vvaltva',0) + AddProperty(toArticol,'vvalctva',0) + AddProperty(toArticol,'vvaldiscountftva',0) + AddProperty(toArticol,'vvaldiscounttva',0) + AddProperty(toArticol,'vvaldiscountctva',0) + AddProperty(toArticol,'vvaldiminuatftva',0) + AddProperty(toArticol,'vvaldiminuattva',0) + AddProperty(toArticol,'vvaldiminuatctva',0) + *!* modificare v 2.0.46 + *!* AddProperty(toArticol,'id_jtva_coloana',0) + *!* AddProperty(toArticol,'explicatie','') + If Type('toArticol.id_jtva_coloana') = 'U' + AddProperty(toArticol,'id_jtva_coloana',0) + Endif + If Type('toArticol.taxcode') = 'U' + AddProperty(toArticol,'taxcode',0) + Endif + + *!* modificare v 2.0.67 + *!* AddProperty(toArticol,'explicatie',Iif(poDate.tip=7,[INVOICE ] + poDate.descriere,'')) + If Type('toArticol.explicatie') = 'U' + AddProperty(toArticol,'explicatie',Iif(poDate.tip=7,[INVOICE ] + poDate.descriere,'')) + Endif + If Type('toArticol.serie') = 'U' + AddProperty(toArticol,'serie','') + Else + toArticol.serie = Nvl(toArticol.serie,[]) + ENDIF + If Type('toArticol.lot') = 'U' + AddProperty(toArticol,'lot','') + Else + toArticol.lot = Nvl(toArticol.lot,[]) + Endif + If Type('toArticol.opt_facturare') = 'U' + AddProperty(toArticol,'opt_facturare',0) + Endif + If Type('toArticol.id_ctr') = 'U' + AddProperty(toArticol,'id_ctr',Null) + Endif + If Type('toArticol.numar_contract') = 'U' + AddProperty(toArticol,'numar_contract',Null) + Endif + *!* modificare v 2.0.67 ^ + AddProperty(toArticol,'codmatf','') + *!* modificare v 2.0.46 ^ + If Type('toArticol.pret_achizitie')="U" + AddProperty(toArticol,'pret_achizitie',0) + Else + If Isnull(toArticol.pret_achizitie) + toArticol.pret_achizitie = 0 + Endif + Endif + *!* modificare v 2.0.19 + AddProperty(toArticol,'id_lucrare_rez',0) + AddProperty(toArticol,'id_part_rez',0) + AddProperty(toArticol,'pretv_orig',0) + *!* modificare v 2.0.19 ^ + *!* modificare v 2.0.56 + If Inlist(poDate.tip,8,9,24) && retur lei, retur valuta, aviz retur + toArticol.cantitate = (-1) * toArticol.cantitate + Endif + If Type('toArticol.pretd') = 'U' + AddProperty(toArticol,'pretd',0.0000) + Endif + If Type('toArticol.id_valuta_d') = 'U' + AddProperty(toArticol,'id_valuta_d',Null) + Endif + *!* modificare v 2.0.56 ^ + *!* modificare v 2.0.67 + *!* modificare v 2.0.90 : am adaugat 7 + If Inlist(poDate.tip,1,2,5,6,22,23,29,41,7,10) AND !(INLIST(toArticol.opt_facturare,1,2) OR poDate.lCopiere) + toArticol.cantitate = 0 + Endif + *!* modificare v 2.0.67 ^ + ENDPROC + + PROCEDURE do_renunt + *!* modificare 19.01.2007 + DODEFAULT() + *!* If This.inainte_de_do_renunt() + *!* gnButon = 2 + *!* pnButon = 2 + *!* Buton = 2 + *!* pnIesire = 2 + *!* If !This.lhide + *!* This.Release + *!* Else + *!* This.Hide + *!* Endif + *!* Sqlrollback(gnHandle) + *!* SQLSetprop(gnHandle,"Transactions",1) && tranzactie automata + *!* Endif + *!* modificare 19.01.2007 ^ + ENDPROC + + PROCEDURE do_reset + *!* modificare v 2.0.56 + Local lcCriteriuCod + Local lcCriteriuDenumire + lcCriteriuCod = goExport.citesteSetareRegistru("CRITCOD") + If !Empty(lcCriteriuCod) And Type('VAL(lcCriteriuCod)') = 'N' + Thisform.ncritcod = Val(lcCriteriuCod) + Endif + Thisform.ct_codmat.Value = Thisform.ncritcod + *!* modificare v 2.0.56 ^ + + lcCriteriuDenumire = goExport.citesteSetareRegistru("CRITDENUMIRE") + If !Empty(lcCriteriuDenumire) And Type('VAL(lcCriteriuDenumire)') = 'N' + Thisform.ncritDenumire = Val(lcCriteriuDenumire) + Endif + Thisform.ct_articole.Value = Thisform.ncritDenumire + + Thisform.txtCodmat.Value = [] + *Thisform.ct_articole.Value = 1 + Thisform.txtArticole.Value = [] + *!* modificare v 2.0.56 + Thisform.do_cauta() + Thisform.Refresh() + Thisform.txtCodmat.SetFocus() + *!* modificare v 2.0.56 ^ + + ENDPROC + + PROCEDURE do_retur + Thisform.do_adauga_articol(.F., .F., .T.) + ENDPROC + + PROCEDURE do_scrie_articole + Local llReturn,lcSql,lnSucces + llReturn = .T. + *!* pentru lnNrInregistrari > 1 trebuie am mai multe variabile : poArt1,poArt2,poArt3 ca sa pot concatena lcSql + *!* lnNrInregistrari = 1 && trimite sirul catre server o data pentru lnNrInregistrari + *!* lnNrInregCurenta = 0 + + If Thisform.do_deschide_tranzactie() + + * Factura de vanzare pe care am adaugat articole retur + IF !EMPTY(thisform.cListaIdArticoleRetur) + poDate.listaid = thisform.cListaIdArticoleRetur + ENDIF + + lcSql = [pack_facturare.initializeaza_date_factura(] + ; + [to_date('] + ALLTRIM(NVL(Dtoc(poDate.dataireg,2),[])) + [','YYYYMMDD'),] + ; + Nvl(Alltrim(Str(poDate.id_fdoc)),[NULL]) + [,to_date('] + ALLTRIM(NVL(Dtoc(poDate.dataact,2),[])) + [','YYYYMMDD'),] + ; + [to_date('] + ALLTRIM(NVL(Dtoc(poDate.datascad,2),[])) + [','YYYYMMDD'),'] + ALLTRIM(Nvl(poDate.serie_act,[])) + [',] + ; + Alltrim(Str(poDate.nract,14,0)) + [,] + ; + Iif(Isnull(poDate.id_client),[NULL],Alltrim(Str(poDate.id_client))) + [,] + ; + Iif(Isnull(poDate.id_lucrare),[NULL],Alltrim(Str(poDate.id_lucrare))) + [,] + ; + Iif(Isnull(poDate.id_sectie),[NULL],Alltrim(Str(poDate.id_sectie))) + [,] + ; + Iif(Isnull(poDate.id_venchelt),[NULL],Alltrim(Str(poDate.id_venchelt))) + [,] + ; && modificare v 2.0.46 + iif(Isnull(poDate.id_responsabil),[NULL],Alltrim(Str(poDate.id_responsabil))) + [,] + ; + IIF(EMPTY(nvl(poDate.explicatia4,[])),[NULL],['] + OracleSpecialCharacters(ALLTRIM(poDate.explicatia4))+[']) + [,] + ; && modificare ROACONTRACTE v 2.0.42 + [NULL,] + Iif(Isnull(poDate.listaid),[NULL],['] + Alltrim(Iif(Type('poDate.listaid')='C',poDate.listaid,Str(poDate.listaid))) + [']) + [,] + ; + ['] + OracleSpecialCharacters(Alltrim(LEFT(Nvl(poDate.descriere,[]),100))) + [',] + ; + Alltrim(Str(poDate.Tip)) + [,] + Alltrim(Str(poDate.id_set)) + [,] + ; + [to_date('] + ALLTRIM(NVL(Dtoc(poDate.zi_curs,2),[])) + [','YYYYMMDD'),] + Alltrim(Str(poDate.id_valuta)) + [,] + ; + Alltrim(Str(poDate.in_valuta)) + [,] + ; + alltrim(str(poDate.tva_incasare)) + [,] + ; + Iif(Isnull(gnIdSucursala),[NULL],Alltrim(Str(gnIdSucursala))) + [,] + ; + Alltrim(Str(gnIdUtil)) + [);] + + If Inlist(poDate.Tip,23,25,30,41) && transfer intre subunitati pe baza de lista de preturi/comanda + lcSql = lcSql + [ pack_facturare.initializeaza_date_gestiune(] + Alltrim(Str(poDateGestiuneDest.id_gestiune)) + [,] + ; + Alltrim(Str(poDateGestiuneDest.id_tipgest)) + [,'] + Alltrim(poDateGestiuneDest.Cont) +[',] + ; + ['] + Alltrim(Nvl(poDateGestiuneDest.acont,[])) + [');] + Endif + + If Inlist(poDate.Tip,23,25) + If poDateGestiuneDest.Cont = '357' + loCauta = CautPartenerContabilitate(GetHash([cTitlu=>Partener rezervare??cCont=>357??lAdaugCorespondente=>1])) + If !Empty(Nvl(loCauta.id_part,0)) And !Empty(loCauta.denumire) + poDate.id_part_rez = loCauta.id_part + lcSql = lcSql + [ pack_facturare.initializeaza_part_rez(] + Alltrim(Str(loCauta.id_part)) + [);] + *!* modificare v 2.1.0 + loCauta = caut_contract_activ(-1,poDate.id_part_rez) + If gnButon = 1 + poDate.text_aditional = [Conform contract nr.] + Alltrim(loCauta.numar) + [ din data de ] + ; + PADL(Alltrim(Str(Day(loCauta.Data))),2,[0]) + [.] + ; + PADL(Alltrim(Str(Month(loCauta.Data))),2,[0]) + [.] + ; + ALLTRIM(Str(Year(loCauta.Data))) + ; + IIF(!Empty(poDate.text_aditional),Chr(13) + Chr(10) + poDate.text_aditional,[]) + Endif + *!* modificare v 2.1.0 ^ + ENDIF + Endif + Endif + *!* modificare v 2.0.19 ^ + lcSql = [begin ] + lcSql + [ end;] + + lnSucces = goExecutor.oExecute(lcSql) + If lnSucces<0 + amessagebox(goExecutor.oPrelucrareEroare(),16,"Eroare") + llReturn = .F. + Else + Private poArt + lcSql = [] + Select crsfactura + Scan + *!* lnNrInregCurenta = lnNrInregCurenta + 1 + Scatter Name poArt MEMO + *!* modificare v 2.0.67 + If Inlist(poArt.opt_facturare,1,2) + lcSql = lcSql + gcS + [.pack_facturare.adauga_rata_factura(] + Alltrim(Str(poArt.id_rata)) + [,] + ; + IIF(poArt.cu_tva = 0,; + IIF(poArt.tip_valuta = 0,Alltrim(Str(poArt.pretftva,18,gnPPretV)),Alltrim(Str(poArt.vpretftva,18,gnPVal))),; + IIF(poArt.tip_valuta = 0,Alltrim(Str(poArt.pretctva,18,gnPPretV)),Alltrim(Str(poArt.vpretctva,18,gnPVal)))) + [,] + ; + Alltrim(Str(poArt.Curs,18,4)) + [,] + ALLTRIM(STR(poArt.multiplicator,10)) + [,] + ; + Alltrim(Str(poArt.id_jtva_coloana)) + [,] + ; + ['] + OracleSpecialCharacters(Alltrim(poArt.denumire)) + [',] + ; + alltrim(Str(gnIdUtil)) + [,] + ; + NVL(ALLTRIM(STR(poArt.taxcode)),[NULL])+ [);] + Else + *!* modificare v 2.0.67 ^ + *!* v 2.0.13 + *!* lcSql = lcSql + gcS + [.pack_facturare.adauga_articol_factura(?poArt.id_temp,?poArt.id_articol,TRIM(NVL(?poArt.serie,'')),] + ; + *!* [TRIM(NVL(?poArt.explicatie,'')),?poArt.id_pol,?poArt.id_gestiune,?poArt.pret_achizitie,] + ; + *!* IIF(poArt.cu_tva=0,; + *!* IIF(poArt.tip_valuta = 0,[?poArt.pretftva],[?poArt.vpretftva]),; + *!* IIF(poArt.tip_valuta = 0,[?poArt.pretctva],[?poArt.vpretctva])) + [,] + ; + *!* [?poArt.id_valuta,?poArt.cu_tva,?poArt.gestionabil,?poArt.cantitate,] + ; + *!* IIF(poArt.cu_tva = 0,; + *!* Iif(poArt.tip_valuta = 0,[?poArt.discountftva],[?poArt.vdiscountftva]), ; + *!* IIF(poArt.tip_valuta = 0,[?poArt.discountctva],[?poArt.vdiscountctva])) + [,] + ; + *!* [TRIM(NVL(?poArt.Cont,'')),?poArt.Curs,?poArt.id_jtva_coloana,?poArt.id_set_fact,?gnIdUtil);] + *!* *!* If lnNrInregCurenta = lnNrInregistrari + *!* modificare v 2.0.56 : am adaugat pretd, id_valutad + *!* modificare v 2.0.67 : am adaugat id_ctr + *!* modificare v 2.2.14 : am pus gnPPretval in loc de gnPVal la poArt.pretd + + lcSql = lcSql + [pack_facturare.adauga_articol_factura(] + Alltrim(Str(poArt.id_temp)) + [,] + ; + Alltrim(Str(poArt.id_articol)) + [,] + ; + ['] + OracleSpecialCharacters(Alltrim(Nvl(poArt.serie,[]))) + [',] + ; + ['] + OracleSpecialCharacters(Alltrim(Nvl(poArt.explicatie,''))) + [',] + Nvl(Alltrim(Str(poArt.id_pol)),[NULL]) + [,] + ; + Nvl(Alltrim(Str(poArt.id_gestiune)),[NULL]) + [,] + Alltrim(Str(poArt.pret_achizitie,18,gnPPret)) + [,] + ; + Alltrim(Str(poArt.pretd,18,gnPPretval)) + [,] + ; + Iif(Isnull(poArt.id_valuta_d),[NULL],Alltrim(Str(poArt.id_valuta_d))) + [,] + ; + IIF(poArt.cu_tva=0,; + IIF(poArt.tip_valuta = 0,Alltrim(Str(poArt.pretftva,18,gnPPretV)),Alltrim(Str(poArt.vpretftva,18,gnPVal))),; + IIF(poArt.tip_valuta = 0,Alltrim(Str(poArt.pretctva,18,gnPPretV)),Alltrim(Str(poArt.vpretctva,18,gnPVal)))) + [,] + ; + Alltrim(Str(poArt.id_valuta)) + [,] + Alltrim(Str(poArt.cu_tva)) + [,] + Alltrim(Str(poArt.gestionabil)) + [,] + ; + Alltrim(Str(poArt.cantitate,18,gnPCant)) + [,] + ; + IIF(poArt.cu_tva = 0,; + Iif(poArt.tip_valuta = 0,Alltrim(Str(poArt.discountftva,18,gnPPretV)),Alltrim(Str(poArt.vdiscountftva,18,gnPVal))), ; + IIF(poArt.tip_valuta = 0,Alltrim(Str(poArt.discountctva,18,gnPPretV)),Alltrim(Str(poArt.vdiscountctva,18,gnPVal)))) + [,] + ; + ['] + Alltrim(Nvl(poArt.Cont,'')) + [',] + Alltrim(Str(poArt.Curs,18,6)) + [,] + ; + ALLTRIM(STR(poArt.multiplicator,10)) + [,] + Alltrim(Str(poArt.id_jtva_coloana)) + [,] + ; + Nvl(Alltrim(Str(poArt.id_part_rez)),[NULL]) + [,] + Nvl(Alltrim(Str(poArt.id_lucrare_rez)),[NULL]) + [,] + ; + Alltrim(Str(poArt.pretv_orig,18,gnPPretV)) + [,] + ; + Nvl(Alltrim(Str(poArt.id_set_fact)),[NULL]) + [,] + NVL(ALLTRIM(STR(poArt.id_ctr)),[NULL]) + [,] + Alltrim(Str(gnIdUtil)) + [,] + ; + NVL(ALLTRIM(STR(poArt.taxcode)),[NULL]) + ; + [,'] + OracleSpecialCharacters(Alltrim(Nvl(poArt.lot,[]))) + ['] + ; + [);] + *!* v 2.0.13 ^ + *!* modificare v 2.0.67 + Endif + *!* modificare v 2.0.67 ^ + * Pentru articolele fara stoc, dar pe care le vreau facturate, le descarc ca si la programulde restaurant + *!* lcSql = [begin ] + ; + *!* IIF(Alltrim(Str(poArt.id_articol)) + [,]$this.cListaArticoleFaraStoc, ' pack_Facturare.ntip := pack_facturare.nTipFacturaRestaurant; ', '') + ; + *!* lcSql + ; + *!* IIF(Alltrim(Str(poArt.id_articol)) + [,]$this.cListaArticoleFaraStoc, ' pack_Facturare.ntip := ' + ALLTRIM(STR(poDate.Tip)) + '; ', '') + ; + *!* [ end;] + + lcSql = [begin ] + lcSql + [ end;] + + lnSucces = goExecutor.oExecute(lcSql) + If lnSucces < 0 + amessagebox(goExecutor.oPrelucrareEroare(),0+16,"Eroare") + llReturn = .F. + Exit + Else + *!* lnNrInregCurenta = 0 + lcSql = [] + Endif + *!* Endif + Endscan + + If Used('crsfacturaset') And llReturn + Private poArtSet + *!* lnNrInregCurenta = lnNrInregCurenta + 1 && 1 + lcSql = lcSql + gcS + [.pack_facturare.initializeaza_seturi_temp;] + Select crsfacturaset + Scan + Scatter Name poArtSet MEMO + *!* v 2.0.13 + *!* lnNrInregCurenta = lnNrInregCurenta + 1 && 2 + *!* lcSql = lcSql + gcS + [.pack_facturare.adauga_articol_set(?poArtSet.id_set_fact,] + ; + *!* [TRIM(NVL(?poArtSet.denumire,'')),TRIM(NVL(?poArtSet.explicatie,'')),?poArtSet.um,] + ; + *!* [TRIM(NVL(?poArtSet.serie,'')),?poArtSet.cantitate,] + ; + *!* IIF(poDate.in_valuta=0,[?poArtSet.pretftva],[?poArtSet.vpretftva]) + [);] + + *!* modificare v 2.0.56 : am adaugat discount_unitar + lcSql = lcSql + [pack_facturare.adauga_articol_set(] + Alltrim(Str(poArtSet.id_set_fact)) + [,] + ; + ['] + OracleSpecialCharacters(Alltrim(Nvl(poArtSet.denumire,''))) + [',] + ; + ['] + OracleSpecialCharacters(Alltrim(Nvl(poArtSet.explicatie,''))) + [',] + ; + ['] + OracleSpecialCharacters(Alltrim(Nvl(poArtSet.um,''))) + [',] + ; + ['] + OracleSpecialCharacters(Alltrim(Nvl(poArtSet.serie,''))) + [',] + ; + Alltrim(Str(poArtSet.cantitate,18,gnPCant)) + [,] + ; + IIF(poDate.in_valuta=0,Alltrim(Str(poArtSet.pretftva,18,gnPPretV)),Alltrim(Str(poArtSet.vpretftva,18,gnPVal))) + [,] + ; + IIF(poDate.in_valuta=0,Alltrim(Str(poArtSet.discountftva,18,gnPPretV)),Alltrim(Str(poArtSet.vdiscountftva,18,gnPVal))) + [);] + *!* v 2.0.13 ^ + + *!* If lnNrInregCurenta >= lnNrInregistrari && daca mai raman inregistrari nescrise din crsfactura + *!* && + operatiie 1 si 2 s-ar putea ca lnNrInregCurenta + *!* && sa fie mai mare decat lnNrInregistrari + lcSql = [begin ] + lcSql + [ end;] + lnSucces = goExecutor.oExecute(lcSql) + If lnSucces < 0 + amessagebox(goExecutor.oPrelucrareEroare(),0+16,"Eroare") + llReturn = .F. + Exit + Else + *!* lnNrInregCurenta = 0 + lcSql = [] + Endif + *!* Endif + Endscan + Endif + + If !Empty(lcSql) And llReturn + lcSql = [begin ] + lcSql + [ end;] + lnSucces = goExecutor.oExecute(lcSql) + If lnSucces < 0 + amessagebox(goExecutor.oPrelucrareEroare(),0+16,"Eroare") + llReturn = .F. + Endif + Endif + ENDIF + + If poDate.in_valuta = 1 And llReturn + Thisform.do_calculeaza_totaluri() + *!* modificare 04.02.2008 + *!* poDate.totctvaconv = Thisform.ntotalron + *!* modificare 04.02.2008 ^ + poDate.totftvaconv = Thisform.nbazaron + poDate.tottvaconv = Thisform.ntvaron + poDate.totctvaconv = poDate.totftvaconv + poDate.tottvaconv + * 08.05.2023 + * Nu mai recalculez total factura in lei = valoare totala valuta * curs si apoi aplic diferenta fata de suma(pret lei * cantitate) pe primul articol + * Pentru ca am modificat calculul de total in lei in formularul de articole si in raport sa fie egal cu suma(pret lei * cantitate) + IF .F. + llReturn = recalculeaza_pret_vanzare_lei([crsfactura],poDate.Curs/poDate.multiplicator) && ofacturare_comun.prg + ENDIF + *!* If llReturn + *!* llReturn = recalculeaza_pret_vanzare_set([crsfacturaset],poDate.Curs) && ofacturare_comun.prg + *!* Endif + Endif + Else + llReturn = .F. + Endif + If !llReturn + Thisform.do_inchide_tranzactie(2) + Endif + Release poArt,poArtSet + Return llReturn + ENDPROC + + PROCEDURE do_scrie_factura + *!* 05.02.2015 + *!* marius.mutu + *!* Pentru poDate.eBonFiscal, hacuiesc Tip = 43 bon fiscal magazin, ca sa apara in vanzari.tip = 43, apoi pun tipul la loc, ca sa nu deranjez alte lucruri + + *!* 14.09.2016 + *!* marius.mutu + *!* scrie_factura_avize - lipseau 2 parametri din apel: v_id_facturare (adresa de facturare), v_listare_detaliata + + *!* 26.01.2021 + *!* salvare proforma in tabelul vanzari in loc de proforme + + *!* 22.11.2021 + *!* marius.mutu + *!* ntip_incasare = 3 POS/Card + + *!* emitere avize / facturi + Private pnDiscount, pnFacturaRetur, pnParametruAditional, pcSirDifAcont, pcSirDifPart, pnTotalFtva, pnTotalTva + Local llReturn,lnSucces,lnCantitateRamasa,lcSql, lcListaIncasare, lnTipOriginal, llEproforma + Store 0 To pnTotalFtva, pnTotalTva && modificare v 2.0.46 + pcSirDifAcont = [] + pcSirDifPart = [] + lcCursorVerificare = [crsact] + lcCursorFinal = [actactan] + pnFacturaRetur = 0 + pnParametruAditional = 0 + llReturn = .T. + lcListaIncasare = '' + SET STEP ON + llEproforma = (poDate.eProforma = 1) + + If Inlist(poDate.ntip_incasare, 11, 2, 3) && 11 = CHITANTA, 2 = BON FISCAL, 3 = POS/Card + Do Case + Case poDate.ntip_incasare = 11 && chitanta + If poDate.incasat <> 0 + lcListaIncasare = lcListaIncasare + ['11|] + Alltrim(Str(poDate.incasat,18,gnPc)) + [|] + Alltrim(Str(poDate.id_casa)) + [;'] + Endif + Case poDate.ntip_incasare = 3 && POS/Card + If poDate.incasatCARD <> 0 && bon fiscal CARD POS + lcListaIncasare = lcListaIncasare + ['3|] + Alltrim(Str(poDate.incasatCARD,18,gnPc)) + [|] + Alltrim(Str(poDate.id_casa)) + [;'] + Endif + Otherwise && bon fiscal + If poDate.incasat <> 0 && bon fiscal numerar + lcListaIncasare = lcListaIncasare + ['2|] + Alltrim(Str(poDate.incasat,18,gnPc)) + [|] + Alltrim(Str(poDate.id_casa)) + [;'] + Endif + + If poDate.incasatCARD <> 0 && bon fiscal CARD POS + lcListaIncasare = lcListaIncasare + ['3|] + Alltrim(Str(poDate.incasatCARD,18,gnPc)) + [|] + Alltrim(Str(poDate.id_casa)) + [;'] + Endif + + If poDate.incasatTichete <> 0 && bon fiscal tichete + lcListaIncasare = lcListaIncasare + ['5|] + Alltrim(Str(poDate.incasatTichete,18,gnPc)) + [|] + Alltrim(Str(poDate.id_casa)) + [;'] + Endif + Endcase + + Else + lcListaIncasare = [NULL] + Endif + + *************************************************************** + * Hacuiesc Tip = 43 bon fiscal magazin, ca sa apara in vanzari.tip = 43, apoi pun tipul la loc, ca sa nu deranjez alte lucruri + lnTipOriginal = poDate.Tip + If (poDate.eBonFiscal = 1) + poDate.Tip = 43 && bon fiscal magazin + Endif + *************************************************************** + + *!* modificare v 2.0.46 + llReturn = Thisform.do_scrie_articole() && se deschide tranzactie manuala + If m.llReturn + If (poDate.eBonFiscal = 1) + poDate.Tip = m.lnTipOriginal + Endif + + *!* modificare v 2.0.46 ^ + If poDate.in_valuta = 1 + pnDiscount = Thisform.ndiscfactval + Else + pnDiscount = Thisform.ndiscfactron + Endif + *!* modificare v 2.0.46 + pnTotalFtva = Thisform.nbazaron + pnTotalTva = Thisform.ntvaron + *!* modificare v 2.0.46 ^ + + poDate.text_aditional = Strtran(poDate.text_aditional,Chr(13)+Chr(10),Chr(170),1,100,1) + Do Case + Case poDate.eProforma = 1 + * scrie_proforma are aceiasi parametri ca scrie_factura2 + * salveaza doar in vanzari, nu si in contabilitate + lcSql = [{call pack_facturare.scrie_proforma(] + ; + Alltrim(Str(pnTotalFtva,18,gnPc)) + [,] + Alltrim(Str(pnTotalTva,18,gnPc)) + [,] + ; && modificare v 2.0.46 + Alltrim(Str(pnDiscount,18,gnPc)) + [,] + ; + ['] + Alltrim(Nvl(poDate.serie_chit,[])) + [',] + ; + Alltrim(Str(poDate.nr_incasare)) + [,] + ; + m.lcListaIncasare + [,] + ; + IIF(Isnull(poDate.id_delegat),[NULL],Alltrim(Str(poDate.id_delegat))) + [,] + ; + IIF(Isnull(poDate.id_masina),[NULL],Alltrim(Str(poDate.id_masina))) + [,] + ; + IIF(Isnull(poDate.id_facturare),[NULL],Alltrim(Str(poDate.id_facturare))) + [,] + ; + IIF(Isnull(poDate.nListareDetaliata),[0],Alltrim(Str(poDate.nListareDetaliata))) + [,] + ; + [to_date('] + Ttoc(poDate.dataora_exp,1) + [','YYYYMMDDHH24MISS'),] + ; + IIF(Isnull(poDate.id_agent),[NULL],Alltrim(Str(poDate.id_agent))) + [,] + ; + ['] + OracleSpecialCharacters(Alltrim(LEFT(Nvl(poDate.text_aditional,[]),100))) + [',] + ; + Alltrim(Str(poDate.discount_evidentiat)) + [,] + ; + ALLTRIM(Str(pnParametruAditional)) + [,?@poDate.nid_vanzare)}] + Case poDate.Tip = 4 + *!* facturare din aviz + Select crsarticole + Calculate Sum(cantitate) To lnCantitateRamasa + If lnCantitateRamasa > 0 + pnFacturaRetur = 7 - amessagebox("Doriti sa se inregistreze si avizul de retur?",4+32,"Confirmare") + pnParametruAditional = 1 + Else + pnFacturaRetur = 0 + pnParametruAditional = 0 + Endif + *!* v 2.0.13 + *!* lcSql = [{call ] + gcS + [.pack_facturare.scrie_factura_avize(] + ; + *!* [?pnDiscount,?poDate.nr_incasare,?poDate.id_casa,?poDate.incasat,?poDate.id_delegat,?poDate.id_masina,] + ; + *!* [?poDate.id_agent,?poDate.text_aditional,?poDate.discount_evidentiat,?pnParametruAditional)}] + *!* modificare v 2.0.58 : am adaugat poDate.nid_vanzare + *!* modificare v 2.0.80 : am adaugat poDate.serie_chit + lcSql = [{call pack_facturare.scrie_factura_avize(] + ; + ALLTRIM(Str(pnDiscount,18,gnPc))+ [,] + ; + ['] + Alltrim(Nvl(poDate.serie_chit,[])) + [',] + ; + Alltrim(Str(poDate.nr_incasare)) + [,] + ; + m.lcListaIncasare + [,] + ; + IIF(Isnull(poDate.id_delegat),[NULL],Alltrim(Str(poDate.id_delegat))) + [,] + ; + IIF(Isnull(poDate.id_masina),[NULL],Alltrim(Str(poDate.id_masina))) + [,] + ; + IIF(Isnull(poDate.id_facturare),[NULL],Alltrim(Str(poDate.id_facturare))) + [,] + ; + IIF(Isnull(poDate.nListareDetaliata),[0],Alltrim(Str(poDate.nListareDetaliata))) + [,] + ; + [to_date('] + Ttoc(poDate.dataora_exp,1) + [','YYYYMMDDHH24MISS'),] + ; + IIF(Isnull(poDate.id_agent),[NULL],Alltrim(Str(poDate.id_agent))) + [,] + ; + ['] + OracleSpecialCharacters(Alltrim(LEFT(Nvl(poDate.text_aditional,[]),100))) + [',] + ; + ALLTRIM(Str(poDate.discount_evidentiat)) + [,] + Alltrim(Str(pnParametruAditional)) + [,?@poDate.nid_vanzare)}] + *!* v 2.0.13 ^ + Case Inlist(poDate.Tip,3,21,25,28,42,47) && modificare v 2.0.93 : am adaugat 47 + *!* facturare pe baza de comanda / avize pe baza de comanda + Select crsarticole + Calculate Sum(cantitate) To lnCantitateRamasa + If lnCantitateRamasa <> 0 + pnParametruAditional = 7 - amessagebox("Doriti sa se inchida comanda?",4+32,"Confirmare") + Endif + *!* v 2.0.13 + *!* lcSql = [{call ] + gcS + [.pack_facturare.scrie_factura(] + ; + *!* [?pnDiscount,?poDate.nr_incasare,?poDate.id_casa,?poDate.incasat,?poDate.id_delegat,?poDate.id_masina,] + ; + *!* [?poDate.id_agent,?poDate.text_aditional,?poDate.discount_evidentiat,?pnParametruAditional)}] + *!* modificare v 2.0.58 : am adaugat poDate.nid_vanzare + *!* modificare v 2.0.80 : am adaugat serie_chit + lcSql = [{call pack_facturare.scrie_factura2(] + ; + Alltrim(Str(pnTotalFtva,18,gnPc)) + [,] + Alltrim(Str(pnTotalTva,18,gnPc)) + [,] + ; && modificare v 2.0.46 + Alltrim(Str(pnDiscount,18,gnPc)) + [,] + ; + ['] + Alltrim(Nvl(poDate.serie_chit,[])) + [',] + ; + Alltrim(Str(poDate.nr_incasare)) + [,] + ; + m.lcListaIncasare + [,] + ; + IIF(Isnull(poDate.id_delegat),[NULL],Alltrim(Str(poDate.id_delegat))) + [,] + ; + IIF(Isnull(poDate.id_masina),[NULL],Alltrim(Str(poDate.id_masina))) + [,] + ; + IIF(Isnull(poDate.id_facturare),[NULL],Alltrim(Str(poDate.id_facturare))) + [,] + ; + IIF(Isnull(poDate.nListareDetaliata),[0],Alltrim(Str(poDate.nListareDetaliata))) + [,] + ; + [to_date('] + Ttoc(poDate.dataora_exp,1) + [','YYYYMMDDHH24MISS'),] + ; + IIF(Isnull(poDate.id_agent),[NULL],Alltrim(Str(poDate.id_agent))) + [,] + ; + ['] + OracleSpecialCharacters(Alltrim(LEFT(Nvl(poDate.text_aditional,[]),100))) + [',] + ; + Alltrim(Str(poDate.discount_evidentiat)) + [,] + ; + ALLTRIM(Str(pnParametruAditional)) + [,?@poDate.nid_vanzare)}] + *!* v 2.0.13 ^ + Otherwise + *!* v 2.0.13 + *!* lcSql = [{call ] + gcS + [.pack_facturare.scrie_factura(] + ; + *!* [?pnDiscount,?poDate.nr_incasare,?poDate.id_casa,?poDate.incasat,?poDate.id_delegat,?poDate.id_masina,] + ; + *!* [?poDate.id_agent,?poDate.text_aditional,?poDate.discount_evidentiat,?pnParametruAditional)}] + *!* modificare v 2.0.93 + If poDate.Tip = 48 + pnParametruAditional = poDate.coeficient_k + Endif + *!* modificare v 2.0.93 ^ + *!* modificare v 2.0.58 : am adaugat poDate.nid_vanzare + *!* modificare v 2.0.80 : am adaugat serie_chit + lcSql = [{call pack_facturare.scrie_factura2(] + ; + Alltrim(Str(pnTotalFtva,18,gnPc)) + [,] + Alltrim(Str(pnTotalTva,18,gnPc)) + [,] + ; && modificare v 2.0.46 + Alltrim(Str(pnDiscount,18,gnPc)) + [,] + ; + ['] + Alltrim(Nvl(poDate.serie_chit,[])) + [',] + ; + Alltrim(Str(poDate.nr_incasare)) + [,] + ; + m.lcListaIncasare + [,] + ; + IIF(Isnull(poDate.id_delegat),[NULL],Alltrim(Str(poDate.id_delegat))) + [,] + ; + IIF(Isnull(poDate.id_masina),[NULL],Alltrim(Str(poDate.id_masina))) + [,] + ; + IIF(Isnull(poDate.id_facturare),[NULL],Alltrim(Str(poDate.id_facturare))) + [,] + ; + IIF(Isnull(poDate.nListareDetaliata),[0],Alltrim(Str(poDate.nListareDetaliata))) + [,] + ; + [to_date('] + Ttoc(poDate.dataora_exp,1) + [','YYYYMMDDHH24MISS'),] + ; + IIF(Isnull(poDate.id_agent),[NULL],Alltrim(Str(poDate.id_agent))) + [,] + ; + ['] + OracleSpecialCharacters(Alltrim(LEFT(Nvl(poDate.text_aditional,[]),100))) + [',] + ; + Alltrim(Str(poDate.discount_evidentiat)) + [,] + ; + ALLTRIM(Str(pnParametruAditional)) + [,?@poDate.nid_vanzare)}] + *!* v 2.0.13 ^ + Endcase + *!* modificare v 2.0.46 + *!* If Thisform.do_scrie_articole() + *!* modificare v 2.0.46 ^ + + llReturn = goExecutor.oExecuta(lcSql,lcCursorVerificare) + If m.llReturn + If poDate.eProforma = 0 + If Reccount(lcCursorVerificare)>0 + gnButon = 1 + Select a.*,a.suma As totftva, a.suma As tottva, Ttod(a.dataactt) As dataact, ; + Ttod(a.datairegt) As dataireg, Ttod(a.datascadt) As datascad, ; + 0 As pozitie_1, 0 As pozitie_2 From (lcCursorVerificare) a Into Cursor (lcCursorFinal) Readwrite + Use In (lcCursorVerificare) + Select (lcCursorFinal) + Do Form verificare With .T.,.T. + If gnButon = 1 + Select (lcCursorFinal) + Scan For Nvl(ascd,'') <> Nvl(ascd1,'') Or Nvl(ascc,'') <> Nvl(ascc1,'') Or ; + NVL(id_partd,0) <> Nvl(id_partd1,0) Or Nvl(id_partc,0) <> Nvl(id_partc1,0) + If Nvl(ascd,'') <> Nvl(ascd1,'') Or Nvl(ascc,'') <> Nvl(ascc1,'') + pcSirDifAcont = pcSirDifAcont + Alltrim(Str(id_act)) + [|] + Alltrim(Nvl(ascd,'')) + [|] + Alltrim(Nvl(ascc,'')) + [;] + Endif + If Nvl(id_partd,0) <> Nvl(id_partd1,0) Or Nvl(id_partc,0) <> Nvl(id_partc1,0) + If (Like([41*],scd) And Nvl(id_partd,0) <> Nvl(id_partd1,0)) ; + Or (Like([41*],scc) And Nvl(id_partc,0) <> Nvl(id_partc1,0)) + amessagebox("Nu puteti modifica clientul!",48,"Atentie") + Return .F. + Else + pcSirDifPart = pcSirDifPart + Alltrim(Str(id_act)) + [|] + Alltrim(Str(Nvl(id_partd,0))) + [|] + Alltrim(Str(Nvl(id_partc,0))) + [;] + Endif + Endif + Endscan + *!* modificare 20.06 + lnReturn = 1 + If pnFacturaRetur = 1 + lnReturn = completeaza_date_aviz_retur() && IN ofacturare.prg && modificare 13.11.2007 + If lnReturn > 0 + *!* v 2.0.13 + *!* lcSql = [{call ] + gcS + [.pack_facturare.scrie_factura_avize_retur(] + ; + *!* [?pnDiscount,?poDate.id_delegat,?poDate.id_masina,?poDate.id_agent,] + ; + *!* [?poDate.discount_evidentiat,?poDate.text_aditional,?poDate.text_aditional_retur,] + ; + *!* [?pcSirDifAcont,?pcSirDifPart,?pnParametruAditional,?poDate.serie_act_retur,] + ; + *!* [?poDate.nract_retur)}] + *!* modificare v 2.0.58 : am adaugat poDate.nid_vanzare, poDate.nid_vanzare_retur + lcSql = [{call pack_facturare.scrie_factura_avize_retur(] + ; + ALLTRIM(Str(pnDiscount,18,gnPc)) + [,] + ; + IIF(Isnull(poDate.id_delegat),[NULL],Alltrim(Str(poDate.id_delegat))) + [,] + ; + IIF(Isnull(poDate.id_masina),[NULL],Alltrim(Str(poDate.id_masina))) + [,] + ; + IIF(Isnull(poDate.id_facturare),[NULL],Alltrim(Str(poDate.id_facturare))) + [,] + ; + IIF(Isnull(poDate.nListareDetaliata),[0],Alltrim(Str(poDate.nListareDetaliata))) + [,] + ; + [to_date('] + Ttoc(poDate.dataora_exp,1) + [','YYYYMMDDHH24MISS'),] + ; + IIF(Isnull(poDate.id_agent),[NULL],Alltrim(Str(poDate.id_agent))) + [,] + ; + ALLTRIM(Str(poDate.discount_evidentiat)) + [,] + ; + ['] + OracleSpecialCharacters(Alltrim(LEFT(Nvl(poDate.text_aditional,[]),100))) + [',] + ; + ['] + OracleSpecialCharacters(Alltrim(LEFT(Nvl(poDate.text_aditional_retur,[]),100))) + [',] + ; + ['] + Alltrim(Nvl(pcSirDifAcont,[])) + [','] + ; + ALLTRIM(Nvl(pcSirDifPart,[])) + [',] + Alltrim(Str(pnParametruAditional)) + [,'] + ; + ALLTRIM(Nvl(poDate.serie_act_retur,[]))+ [',] + Alltrim(Str(poDate.nract_retur,14,0)) + [,] + ; + [?@poDate.nid_vanzare,?@poDate.nid_vanzare_retur)}] + *!* v 2.0.13 ^ + lcCursor = [crsavizretur] + lnSucces = goExecutor.oExecute(lcSql,lcCursor) + Else + gnButon = 2 + llReturn = .F. + Endif + *!* modificare 20.06 ^ + Else + *!* v 2.0.13 + *!* lcSql = [begin ] + gcS + [.pack_facturare.finalizeaza_scriere_verificare(?pnDiscount,?poDate.id_delegat,] + ; + *!* [?poDate.id_masina,?poDate.id_agent,?poDate.text_aditional,?pcSirDifAcont,?pcSirDifPart,?pnParametruAditional); end;] + *!* modificare v 2.0.58 : am adaugat poDate.nid_vanzare + lcSql = [begin pack_facturare.finalizeaza_scriere_verificare(] + ; + ALLTRIM(Str(pnDiscount,18,gnPc)) + [,] + ; + IIF(Isnull(poDate.id_delegat),[NULL],Alltrim(Str(poDate.id_delegat))) + [,] + ; + IIF(Isnull(poDate.id_masina),[NULL],Alltrim(Str(poDate.id_masina))) + [,] + ; + IIF(Isnull(poDate.id_facturare),[NULL],Alltrim(Str(poDate.id_facturare))) + [,] + ; + IIF(Isnull(poDate.nListareDetaliata),[0],Alltrim(Str(poDate.nListareDetaliata))) + [,] + ; + [to_date('] + Ttoc(poDate.dataora_exp,1) + [','YYYYMMDDHH24MISS'),] + ; + IIF(Isnull(poDate.id_agent),[NULL],Alltrim(Str(poDate.id_agent))) + [,] + ; + ['] + OracleSpecialCharacters(Alltrim(LEFT(Nvl(poDate.text_aditional,[]),100))) + [',] + ; + ['] + Alltrim(Nvl(pcSirDifAcont,[])) + [','] + ; + ALLTRIM(Nvl(pcSirDifPart,[])) + [',] + Alltrim(Str(pnParametruAditional)) + [,?@poDate.nid_vanzare); end;] + *!* v 2.0.13 ^ + lnSucces = goExecutor.oExecute(lcSql) + Endif + If lnSucces<0 And lnReturn = 1 + amessagebox(goExecutor.oPrelucrareEroare(),16,"Eroare") + gnButon = 2 + llReturn = .F. + Endif + Endif + Use In (lcCursorFinal) + Else + Use In (lcCursorVerificare) + *!* modificare 20.06 + If pnFacturaRetur = 1 + *!* modificare v 2.0.58 + lnReturn = completeaza_date_aviz_retur() + If lnReturn > 0 + *!* modificare v 2.0.58 ^ + *!* v 2.0.13 + *!* lcSql = [{call ] + gcS + [.pack_facturare.scrie_factura_avize_retur(] + ; + *!* [?pnDiscount,?poDate.id_delegat,?poDate.id_masina,?poDate.id_agent,] + ; + *!* [?poDate.discount_evidentiat,?poDate.text_aditional,?poDate.text_aditional_retur,]+; + *!* [NULL,NULL,?pnParametruAditional,?@poDate.nract_retur)}] + *!* modificare v 2.0.58 : am adaugat poDate.nid_vanzare, poDate.nid_vanzare_retur + lcSql = [{call pack_facturare.scrie_factura_avize_retur(] + ; + ALLTRIM(Str(pnDiscount,18,gnPc)) + [,] + ; + IIF(Isnull(poDate.id_delegat),[NULL],Alltrim(Str(poDate.id_delegat))) + [,] + ; + IIF(Isnull(poDate.id_masina),[NULL],Alltrim(Str(poDate.id_masina))) + [,] + ; + IIF(Isnull(poDate.id_facturare),[NULL],Alltrim(Str(poDate.id_facturare))) + [,] + ; + IIF(Isnull(poDate.nListareDetaliata),[0],Alltrim(Str(poDate.nListareDetaliata))) + [,] + ; + [to_date('] + Ttoc(poDate.dataora_exp,1) + [','YYYYMMDDHH24MISS'),] + ; + IIF(Isnull(poDate.id_agent),[NULL],Alltrim(Str(poDate.id_agent))) + [,] + ; + ALLTRIM(Str(poDate.discount_evidentiat)) + [,] + ; + ['] + OracleSpecialCharacters(Alltrim(LEFT(Nvl(poDate.text_aditional,[]),100))) + [',] + ; + ['] + OracleSpecialCharacters(Alltrim(LEFT(Nvl(poDate.text_aditional_retur,[]),100))) + [',] + ; + [NULL,NULL,] + Alltrim(Str(pnParametruAditional)) + [,] + Alltrim(Str(poDate.nract_retur,14,0)) + [,] + ; + [?@poDate.nid_vanzare,?@poDate.nid_vanzare_retur)}] + *!* v 2.0.13 ^ + lcCursor = [crsavizretur] + lnSucces = goExecutor.oExecute(lcSql,lcCursor) + If lnSucces<0 + amessagebox(goExecutor.oPrelucrareEroare(),16,"Eroare") + gnButon = 2 + llReturn = .F. + Endif + *!* modificare v 2.0.58 + Else + gnButon = 2 + llReturn = .F. + Endif + *!* modificare v 2.0.58 ^ + Endif + *!* modificare 20.06 ^ + Endif && Reccount(lcCursorVerificare)>0 + + + If gnButon = 1 + If pnDiscount<> 0 + Select crsfactura + Append Blank + *!* modificare v 2.0.56 : am adaugat id_temp + Replace denumire With Replicate('Z',20),cantitate With 1,pretftva With Thisform.nbazafdiscount,vpretftva With Thisform.nbazafdiscountval,; + discountftva With Thisform.ndiscfactron,valdiscountftva With Thisform.ndiscfactron,valdiscounttva With Round(Thisform.ndiscfactron * (Thisform.nproc_tvav - 1),gnPc),; + vdiscountftva With Thisform.ndiscfactval,vvaldiscountftva With Thisform.ndiscfactval,vvaldiscounttva With Round(Thisform.ndiscfactval * (Thisform.nproc_tvav - 1),gnPVal),; + proc_tvav With Thisform.nproc_tvav,id_temp With 99999 + Endif + Else + llReturn = .F. + Endif + Endif && eProforma = 0 + Endif && llSucces + + If m.llReturn + llReturn = Thisform.do_inchide_tranzactie(1) + Else + Thisform.do_inchide_tranzactie(2) + Endif + Endif && llReturn + + Return m.llReturn + + ENDPROC + + PROCEDURE do_scrie_proforma + Local llReturn,lcSql,lnSucces + *!* emitere avize / facturi + Private pnDiscount + Local llReturn,lnSucces,lcSql + llReturn = .T. + + If poDate.in_valuta = 1 + pnDiscount = Thisform.ndiscfactval + Else + pnDiscount = Thisform.ndiscfactron + Endif + + poDate.text_aditional = Strtran(poDate.text_aditional,Chr(13)+Chr(10),Chr(170),1,100,1) + + If Thisform.do_scrie_articole() + poDate.id_delegat = Null + poDate.id_masina = Null + poDate.id_agent = Null + + lcSql = [begin pack_facturare.scrie_proforma_old(] + ; + ALLTRIM(STR(pnDiscount,18,gnPC)) + [,] + ; + ['] + OracleSpecialCharacters(ALLTRIM(NVL(poDate.text_aditional,''))) + [',] + ; + ALLTRIM(STR(poDate.discount_evidentiat)) + [,?poDate.nid_proforma,?@poDate.nract); end;] + + + lnSucces = goExecutor.oExecute(lcSql) + If lnSucces<0 + amessagebox(goExecutor.oPrelucrareEroare(),16,"Eroare") + llReturn = .F. + Else + If pnDiscount<> 0 + Select crsfactura + Append Blank + *!* modificare v 2.0.56 : am adaugat id_temp + Replace denumire With Replicate('Z',20),cantitate With 1,pretftva With Thisform.nbazafdiscount,vpretftva With Thisform.nbazafdiscountval,; + discountftva With Thisform.ndiscfactron,valdiscountftva With Thisform.ndiscfactron,valdiscounttva With Round(Thisform.ndiscfactron * (Thisform.nproc_tvav - 1),gnPC),; + vdiscountftva With Thisform.ndiscfactval,vvaldiscountftva With Thisform.ndiscfactval,vvaldiscounttva With Round(Thisform.ndiscfactval * (Thisform.nproc_tvav - 1),gnPVal),; + proc_tvav With Thisform.nproc_tvav,id_temp with 99999 + Endif + Endif + If llReturn + llReturn = Thisform.do_inchide_tranzactie(1) + Else + Thisform.do_inchide_tranzactie(2) + Endif + Else + llReturn = .F. + Endif + Return llReturn + ENDPROC + + PROCEDURE do_sterge + If Reccount('crsfactura')>0 + Private poArticol + Select crsfactura + Scatter Name poArticol MEMO + *!* modificare v 2.0.67 + Local lcCursor + If poArticol.opt_facturare = 0 + lcCursor = [crsarticole] + Else + lcCursor = [crsarticole1] + Endif + *!* modificare v 2.0.67 ^ + If aMessagebox("Doriti sa stergeti " + Iif(Inlist(poArticol.opt_facturare,1,2),"rata","articolul") + " " + Upper(Alltrim(poArticol.denumire)) + " ?",4+32,"Confirmare stergere") == 6 + *!* modificare 19.01.2008 + *!* lcSql = [begin ] + gcS + [.pack_facturare.sterge_articol_factura(?poArticol.id_temp,] + ; + *!* [?gnIdUtil); end;] + *!* lnSucces = goExecutor.oExecute(lcSql) + + *!* If lnSucces < 0 + *!* aMessagebox(goExecutor.oPrelucrareEroare(),0+16,"Eroare") + *!* Thisform.txtArticoleLista.SetFocus() + *!* Return + *!* Endif + *!* modificare 19.01.2008 ^ + save_grid_tag(Thisform.grd_factura) + Update crsfactura Set id_temp = -1 Where id_temp = poArticol.id_temp + Update crsfactura Set id_temp = id_temp-1 Where id_temp > poArticol.id_temp + Select * From crsfactura Where id_temp<>-1 Order By id_temp ; + INTO Cursor crsfactura Readwrite + restore_grid_tag(Thisform.grd_factura) + + Select (lcCursor) + lnRecNo = Recno() + Do Case + *!* modificare v 2.0.30 + *!* Case (gnScadereStoc = 1 And InList(poDate.tip,23,41)) Or Inlist(poDate.tip,3,4,21,25,28) + *!* Select crsarticole + *!* Replace cantitate With cantitate + poArticol.cantitate For id_c = poArticol.id_c + Case gnScadereStoc = 1 And poDate.tip = 41 + Select (lcCursor) + Replace cantitate With cantitate - poArticol.cantitate For id_c = poArticol.id_c + *!* modificare v 2.0.56 + *!* Case (gnScadereStoc = 1 And poDate.tip = 41) Or Inlist(poDate.tip,3,4,21,25,28,42) + Case (gnScadereStoc = 1 And poDate.tip = 23) Or Inlist(poDate.tip,3,4,21,25,28,42,47) && modificare v 2.0.93 : am adaugat 47 + *!* modificare v 2.0.56 ^ + Select (lcCursor) + Replace cantitate With cantitate + poArticol.cantitate For id_c = poArticol.id_c + *!* modificare v 2.0.30 ^ + *!* modificare v 2.0.56 + Case Inlist(poDate.tip,8,9,24) + Replace cantitate With cantitate - poArticol.cantitate For id_c = poArticol.id_c + *!* modificare v 2.0.56 ^ + *!* modificare v 2.0.67 + *!* Case poArticol.id_gestiune <> - 1000 And gnScadereStoc = 1 And ; + *!* (Inlist(poDate.tip,1,22,29) Or (poDate.tip = 2 And pnTipFacturare = 4)) + Case poArticol.id_gestiune <> - 1000 And gnScadereStoc = 1 And ; + (Inlist(poDate.tip,1,22,29) Or (poDate.tip = 2 And poArticol.opt_facturare = 0)) + *!* modificare v 2.0.67 ^ + Select (lcCursor) + Replace cantitate With cantitate + poArticol.cantitate For id_articol = poArticol.id_articol And gestionabil = 1 + Endcase + If Reccount(lcCursor)0 + Thisform.txtArticoleLista.SetFocus() + Else + *!* modificare v 2.0.67 + *!* Thisform.txtArticole.SetFocus() + If poArticol.opt_facturare = 0 + Thisform.txtArticole.SetFocus() + Else + Thisform.grd_contracte.SetFocus() + Endif + *!* modificare v 2.0.67 ^ + Endif + Release poArticol,lcCursor + Endif + + ENDPROC + + PROCEDURE do_termin + *!* modificare 19.01.2007 + DoDefault() + *!* If This.inainte_de_do_termin() + *!* gnButon = 1 + *!* pnButon = 1 + *!* Buton = 1 + *!* pnIesire = 1 + *!* If !This.lhide + *!* This.Release + *!* Else + *!* This.Hide + *!* Endif + *!* Sqlcommit(gnHandle) + *!* SQLSetprop(gnHandle,"Transactions",1) && tranzactie automata + *!* Endif + *!* modificare 19.01.2007 ^ + ENDPROC + + PROCEDURE do_urmator + Thisform.do_adauga_articol() + + ENDPROC + + PROCEDURE do_urmator2 + If Used('crsarticole1') And Reccount('crsarticole1')>0 + Select crsarticole1 + If Isnull(id_rata) + Thisform.do_adauga_articol(.F.,.T.) + Else + Thisform.do_adauga_rata() + Endif + Endif + + ENDPROC + + PROCEDURE do_verifica_articol + *!* modificare v 2.0.67 + Lparameters tlContract,tnCantitate + Local llReturn, lcFiltru, llFacturareFaraStoc, lcSelect + lcSelect = SELECT() + llReturn = .T. + + *!* nu se face verificarea daca mai exista pe factura, deoarece poate exista cazul in care cantitatea dorita + *!* nu poate fi acoperita dintr-o singura gestiune, iar pe formularul de adaugare se poate selecta doar una din care + *!* sa se faca scaderea + llFacturareFaraStoc = (Type('gnRF_FACTURARE_FARA_STOC') = 'N' And m.gnRF_FACTURARE_FARA_STOC = 1) + + llRetur = Inlist(poDate.tip,8,9,24) + + Do Case + Case poArticol.gestionabil = 0 Or gnScadereStoc = 1 Or m.llFacturareFaraStoc + llReturn = .T. + + Case (tnCantitate >= 0 And m.llRetur ) Or ; + (tnCantitate <= 0 And Not (poDate.tip = 2 And poArticol.opt_facturare = 3) And !Inlist(poDate.tip,8,9,24) And poArticol.gestionabil = 1 And gnScadereStoc = 1 And !m.llFacturareFaraStoc) + * factura retur lei/valuta, aviz retur + lcMesaj = Alltrim(Thisform.cmesaj_cantitate) + amessagebox(lcMesaj,0+48,"Atentie") + llReturn = .F. + + Case !tlContract And Used('crsarticole1') And Used('crsCtrTemp') + If Used('crsverifart') + Use In crsverifart + Endif + Select id_ctr From crsCtrTemp Where id_ctr Not In ; + (Select Distinct id_ctr From crsarticole1 Where id_articol = poArticol.id_articol And id_rata Is Null) ; + INTO Cursor crsverifart + Select crsverifart + Do Case + Case Reccount('crsverifart') = 0 + amessagebox("Articolul "+Alltrim(poArticol.denumire)+" din politica "+Alltrim(poArticol.nume_lista_preturi)+" are pretul fixat prin contract!",0+48,"Atentie") + llReturn = .F. + Case Reccount('crsverifart') <> Reccount('crsCtrTemp') + lcFiltru = [] + Select crsverifart + Scan + lcFiltru = lcFiltru + [,] + Alltrim(Str(id_ctr)) + Endscan + lcFiltru = [INLIST(id_ctr] + lcFiltru + [)] + Select crsCtrTemp + Set Filter To &lcFiltru + Otherwise + llReturn = .T. + Endcase + Use In (SELECT('crsverifart')) + Endcase + + SELECT (m.lcSelect) + Return llReturn + *!* modificare v 2.0.67 ^ + + ENDPROC + + PROCEDURE inainte_de_do_renunt + *!* modificare 19.01.2007 + *!* Sqlrollback(gnHandle) + *!* SQLSetprop(gnHandle,"Transactions",1) + *!* *!* If poDate.tip<21 + *!* *!* Do dezaloca_numar_fact In oserii_numere.prg + *!* *!* Else + *!* *!* Do dezaloca_numar_aviz In oserii_numere.prg + *!* *!* Endif + *!* modificare 19.01.2007 ^ + + poGeneratorNumere.dezaloca_numar(3) && dezaloc numar bon fiscal + poGeneratorNumere.dezaloca_numar(16) && dezaloc numar chitanta + + Return .T. + ENDPROC + + PROCEDURE inainte_de_do_termin + *!* 04.02.2015 + *!* marius.mutu + *!* frm_alte_date - se bifeaza automat incasare cu bon fiscal, daca poDate.eBonFiscal = 1 + + *!* 05.05.2015 + *!* marius.mutu + *!* frm_alte_date - se bifeaza automat bon fiscal detaliat, daca poDate.eBonFiscal = 1 + *!* ar trebui in functie de o optiune + + *!* initializare numar bon fiscal cu numar act, in caz ca s-a suprascris de utilizator + + Local llContinuare && plReturn + Store .F. To plReturn + Store .T. To llContinuare + If poDate.tip <> 30 + lccontrol = Upper(This.ActiveControl.BaseClass ) + If Inlist(lccontrol,"TEXTBOX","EDITBOX","COMBOBOX") + lcval=This.ActiveControl.ControlSource + &lcval=Thisform.ActiveControl.Value + Endif + Endif + + creeaza_backup_cursoare_facturare() + + If poDate.in_valuta = 1 + *!* poDate.totctvaconv = Thisform.ntotalron + *!* poDate.totftvaconv = Thisform.nbazaron + *!* poDate.tottvaconv = Thisform.ntvaron + lnTotalFactura = Thisform.ntotalval + *!* Do recalculeaza_pret_vanzare_lei With [crsfactura],poDate.Curs In ofacturare_comun.prg + Else + lnTotalFactura = Thisform.ntotalron + Endif + poDate.totalctva = lnTotalFactura + + Do Case + Case Reccount('crsfactura') = 0 + amessagebox("Nu ati ales articolele " + Iif(poDate.tip<21,[pentru facturare],[]) + "!",48,"Atentie") + Thisform.grd_articole.SetFocus() + plReturn = .F. + *!* modificare v 2.0.67 + *!* modificare ROAFACTURARE v 2.0.71 + *!* Case Empty(poDate.datascad) + Case Empty(poDate.datascad) And Between(poDate.tip,1,20) + *!* modificare ROAFACTURARE v 2.0.71 ^ + amessagebox("Nu ati completat data scadenta!",48,"Atentie") + Thisform.txtDataScadenta.SetFocus() + plReturn = .F. + *!* modificare ROAFACTURARE v 2.0.71 + *!* Case poDate.datascad 7 + If Nvl(gnFactSeturi,0)=1 And poDate.tip <> 7 And llContinuare + *!* modificare v 2.0.56 ^ + *!* modificare v 2.0.46 ^ + llContinuare = facturare_articole_compuse() + *!* modificare v 2.0.67 + If Nvl(gnModTotFact,0) = 0 + *!* modificare v 2.0.67 ^ + Thisform.do_calculeaza_totaluri() + poDate.totalctva = Thisform.ntotalron + *!* modificare v 2.0.67 + Endif + *!* modificare v 2.0.67 ^ + plReturn = llContinuare + Endif + If llContinuare + gnButon = 1 + *!* modificare v 2.0.93 + If poDate.tip = 48 + Private pnCoefK + pnCoefK = 0 + lnSucces = goExecutor.oFunction2Value([pack_facturare.calculeaza_k()],@pnCoefK) + If lnSucces < 0 + amessagebox(goExecutor.cEroare,16,"Eroare") + gnButon = 2 + Else + If pnCoefK <> 0 + poDate.coeficient_k = pnCoefK + Endif + Endif + Release pnCoefK + If Nvl(gnCoefKFact,2) <> 0 + Private ofrmdatek + ofrmdatek = Createobject("frm_seteaza_k") + ofrmdatek.Show(1) + Release ofrmdatek + Endif + Endif + *!* modificare v 2.0.93 ^ + *!* modificare v 2.0.67 + *!* If poDate.eProforma = 1 + *!* *!* recalculeaza_pret_vanzare_compus() + *!* plReturn = Thisform.do_scrie_proforma() + *!* Else + *!* modificare v 2.0.67 ^ + If gnButon = 1 && modificare v 2.0.93 + Private ofrmdatesupl + poDate.dataora_exp = Get_Ora() && modificare ROAFACTURARE v 2.0.80 + If poDate.tip<>30 + ofrmdatesupl = Createobject("frm_alte_date") + ofrmdatesupl.nnrbon = poDate.nract && in caz ca s-a suprascris schimbat de catre utilizator + If (poDate.eBonFiscal = 1) + With ofrmdatesupl + .opt_incasat.Value = 3 && INCASARE CU BON FISCAL + .actualizeaza_tipincasare() + .opt_incasat.option1.TabStop = .F. && sa nu schimb din greseala cu ENTER, se poate schimba cu mouse-ul + .opt_incasat.option2.TabStop = .F. + .opt_incasat.option3.TabStop = .F. + Endwith + poDate.nBonDetaliat = 1 && ar trebui in functie de o optiune + Endif + ofrmdatesupl.Show(1) + Else + gnButon = 1 + Endif + Endif && modificare v 2.0.93 + + If gnButon = 2 + plReturn = .F. + gnButon = 1 + + Else + + plReturn = Thisform.do_scrie_factura() + *!* If poDate.eProforma = 1 + *!* plReturn = Thisform.do_scrie_proforma() + *!* Else + *!* plReturn = Thisform.do_scrie_factura() + *!* Endif + Endif + Endif + Endcase + + If plReturn + sterge_backup_cursoare_facturare() + Else + save_grid(Thisform.grd_factura) + repune_backup_cursoare_facturare() + *!* modificare v 2.0.67 + If Nvl(gnModTotFact,0) = 0 + *!* modificare v 2.0.67 ^ + Thisform.do_calculeaza_totaluri() + *!* modificare v 2.0.67 + Endif + *!* modificare v 2.0.67 ^ + restore_grid(Thisform.grd_factura) + Endif + + Return plReturn + + ENDPROC + + PROCEDURE Init + *!* 30.10.2014 + *!* marius.mutu + *!* adaugat grid_extra pentru retinerea dimensiunii coloanelor + + *!* 20.02.2015 + *!* marius.mutu + *!* buton retur articole intr-o factura de vanzare pe baza de lista de preturi + + *!* 12.03.2021 + *!* marius.mutu + *!* la proforma se afiseaza but_urmator_tot pentru adaugarea tuturor articolelor, intrucat nu trebuie sa le scad din stoc individual + + Local lcTipDoc, lcCriteriuCod + Local lcCriteriuDenumire, lnAnchor, lnDiferentaTop + *:Global gcAcces + gcAcces = [1;2;3;4;] + DoDefault() + *!* modificare v 2.0.56 + lcCriteriuCod = goExport.citesteSetareRegistru("CRITCOD") + If !Empty(Nvl(lcCriteriuCod, [])) And Type('VAL(lcCriteriuCod)') = 'N' + Thisform.ncritcod = Val(lcCriteriuCod) + Endif + Thisform.ct_codmat.Value = Thisform.ncritcod + *!* modificare v 2.0.56 ^ + + lcCriteriuDenumire = goExport.citesteSetareRegistru("CRITDENUMIRE") + If !Empty(lcCriteriuDenumire) And Type('VAL(lcCriteriuDenumire)') = 'N' + Thisform.ncritDenumire = Val(lcCriteriuDenumire) + Endif + Thisform.ct_articole.Value = Thisform.ncritDenumire + + lcTipDoc = [factura] + *!* modificare v 2.0.29 + *!* Thisform.lb_nract.Caption = [Nr. document : ] + Alltrim(Nvl(poDate.serie_act,[])) + [ ] + ; + *!* TRANSFORM(poDate.nract,get_mask(14,0)) + + Local lcExplicatieSupl + Do Case + Case poDate.tip = 23 + lcExplicatieSupl = [ * Gestiune destinatie : ] + Alltrim(Nvl(poDate.descriere, [])) + Case poDate.tip = 25 + lcExplicatieSupl = [ * Gestiune destinatie : ] + Alltrim(Nvl(poDate.nume_client, [])) + Case poDate.tip = 41 + lcExplicatieSupl = [ * Retur de la gest. : ] + Alltrim(Nvl(poDate.nume_client, [])) + *!* modificare v 2.0.56 + Case Inlist(poDate.tip, 8, 9) + lcExplicatieSupl = [ * Retur pentru facturile : ] + Alltrim(Nvl(poDate.descriere, [])) + *!* modificare v 2.0.56 ^ + Case Inlist(poDate.tip, 24) + lcExplicatieSupl = [ * Retur pentru avizele : ] + Alltrim(Nvl(poDate.descriere, [])) + Otherwise + lcExplicatieSupl = [] + Endcase + + lcExplicatieSupl = ALLTRIM(LEFT(m.lcExplicatieSupl,100)) + + Thisform.lb_nract.Caption = [Nr. document : ] + Alltrim(Nvl(poDate.serie_act, [])) + [ ] + ; + Transform(poDate.nract, get_mask(14, 0)) + lcExplicatieSupl + *!* modificare ROAFACTURARE v 2.0.71 + Thisform.lb_nract.AutoSize = .T. + Thisform.lb_nract.Refresh() + *!* modificare ROAFACTURARE v 2.0.71 ^ + *!* modificare v 2.0.29 ^ + *!* modificare 19.01.2008 + *!* lnSucces = SQLSetprop(gnHandle,"Transactions",2) + *!* If lnSucces < 0 + *!* amessagebox("Programul nu a reusit sa treaca pe tranzactie manuala! Reintrati in program si incercati din nou!",48,"Atentie") + *!* plVizibil = .F. + *!* Else + *!* modificare 19.01.2008 ^ + With This.grd_factura + This.nNrInregVizibile = Floor((.Height - .HeaderHeight) / .RowHeight) + Endwith + + If !Used('crspolitici') Or (Used('crspolitici') And Reccount('crspolitici') = 2 ) + With Thisform.grd_articole + lnAnchor = .Anchor + .Anchor = 0 + .Top = Thisform.txtArticole.Top + .Height = .Height + 30 + .Anchor = lnAnchor + Endwith + *!* With Thisform.grd_factura + *!* lnAnchor = .Anchor + *!* .Anchor = 0 + *!* .Top = Thisform.txtArticole.Top + *!* .Height = .Height + 34 + *!* .Anchor = lnAnchor + *!* Endwith + *!* modificare 2.0.4 + lnDiferentaTop = Thisform.txtCodmat.Top - Thisform.cb_politici_preturi.Top + Thisform.txtCodmat.Top = Thisform.txtCodmat.Top - lnDiferentaTop + Thisform.lb_codmat.Top = Thisform.lb_codmat.Top - lnDiferentaTop + Thisform.ct_codmat.Top = Thisform.ct_codmat.Top - lnDiferentaTop + Thisform.txtArticole.Top = Thisform.txtArticole.Top - lnDiferentaTop + Thisform.lb_articole.Top = Thisform.lb_articole.Top - lnDiferentaTop + Thisform.ct_articole.Top = Thisform.ct_articole.Top - lnDiferentaTop + *!* Thisform.txtArticole.Top = Thisform.cb_politici_preturi.Top + *!* Thisform.lb_articole.Top = Thisform.lb_politici_preturi.Top + *!* modificare 2.0.4 ^ + *!* Thisform.txtArticoleLista.Top = Thisform.cb_politici_preturi.Top + *!* Thisform.lb_articolelista.Top = Thisform.lb_politici_preturi.Top + *!* modificare v 2.0.56 + Thisform.but_reset1.Top = Thisform.but_reset1.Top - lnDiferentaTop + *!* modificare v 2.0.56 ^ + Thisform.grd_articole.RemoveObject('cPolitici_preturi') + Thisform.RemoveObject('lb_politici_preturi') + Thisform.RemoveObject('cb_politici_preturi') + Else + Thisform.cb_politici_preturi.RowSource = [crspolitici.nume_lista_preturi,id_pol] + Select crspolitici + Go Top + Thisform.cb_politici_preturi.Value = Alltrim(nume_lista_preturi) + Endif + + If !Used('crscursuri') Or Reccount('crscursuri') = 0 + Thisform.RemoveObject('lb_cursuri') + Thisform.RemoveObject('grd_cursuri') + *!* modificare v 2.0.56 + Else + If !Empty(Nvl(poDate.zi_curs, {})) + Thisform.lb_cursuri.Caption = "Curs valutar " + Iif(!Inlist(poDate.tip, 8, 9), "(" + Dtoc(poDate.zi_curs) + ")", "") + Else + Thisform.lb_cursuri.Caption = "Curs valutar" + Endif + If Reccount('crscursuri') <= 3 + Thisform.grd_cursuri.ScrollBars = 0 + Endif + *!* modificare v 2.0.56 ^ + Endif + + This.cmesaj_cantitate = [Acest articol nu este pe stoc!] + Do Case + CASE poDate.eProforma = 1 + && copiere factura / aviz + This.lb_titlu_alb_b121.Caption = [PROFORMA] + This.but_urmator_tot1.Visible = .T. + + Case poDate.lCopiere + && copiere factura / aviz + This.lb_titlu_alb_b121.Caption = [COPIERE FACTURA/AVIZ ] + Alltrim(poDate.descriere) + This.grd_articole.cCantitate.header1.Caption = [Cantitate maxima] + This.cmesaj_cantitate = [A fost facturata intreaga cantitate pentru acest articol!] + This.but_urmator_tot1.Visible = .T. + + Case Inlist(poDate.tip, 1, 5, 7, 10) && modificare v 2.0.56 : am adaugat 10 + && facturare pe baza de lista de preturi + This.grd_articole.cCantitate.header1.Caption = [Cantitate in stoc] + This.grd_articole.RemoveObject('cSerie') + This.cmesaj_cantitate = [Acest articol nu este pe stoc!] + This.but_retur.Visible = .T. && pot sa fac retur de articole intr-o factura de vanzare + + Case Inlist(poDate.tip, 2, 6) + && facturare pe baza de contract + This.lb_titlu_alb_b121.Caption = [FACTURA PE CTR. ] + Alltrim(poDate.descriere) + This.grd_articole.RemoveObject('cSerie') + *!* modificare v 2.0.67 + *!* If pnTipFacturare = 3 + *!* && articole de pe contract + *!* This.grd_articole.cCantitate.header1.Caption = [Cantitate contractata] + *!* This.cmesaj_cantitate = [A fost facturata intreaga cantitate contractata pentru acest articol!] + *!* Else + && articole din lista de preturi + This.grd_articole.cCantitate.header1.Caption = [Cantitate in stoc] + This.cmesaj_cantitate = [Acest articol nu este pe stoc!] + *!* Endif + *!* modificare v 2.0.67 ^ + Case poDate.tip = 3 + && facturare pe baza de comanda + This.lb_titlu_alb_b121.Caption = [FACTURA LA COMANDA ] + Alltrim(poDate.descriere) + This.grd_articole.RemoveObject('cSerie') + This.grd_articole.cCantitate.header1.Caption = [Cantitate comandata] + This.cmesaj_cantitate = [A fost facturata intreaga cantitate comandata pentru acest articol!] + This.but_urmator_tot1.Visible = .T. && modificare v 2.0.44 + Case poDate.tip = 4 + && facturare din avize + This.lb_titlu_alb_b121.Caption = [FACTURA DIN AVIZE] + This.clb_discount.Visible = .F. + *!* With This.clb_discount.texT_SIMPLU1 + *!* .ReadOnly = .T. + *!* .TabStop = .F. + *!* .Value = pnTotalDiscountAvize + *!* Endwith + *!* If pnTotalDiscountAvize > 0 + *!* With Thisform.lb_explicatii + *!* .Caption = [Total discount pe avize (fara TVA): ]+Alltrim(Str(pnTotalDiscountAvize,14,gnPa)) + *!* .Visible = .T. + *!* Endwith + *!* Endif + This.but_urmator_tot1.Visible = .T. && modificare v 2.0.44 + This.cmesaj_cantitate = [A fost facturata intreaga cantitate de pe aviz pentru acest articol!] + Case Inlist(poDate.tip, 21, 28, 42, 47) && modificare v 2.0.93 : am adaugat 47 + && aviz catre clienti din comanda + *!* Thisform.RemoveObject('opt_proforma') + This.grd_articole.RemoveObject('cSerie') + This.lb_titlu_alb_b121.Caption = [AVIZ DE EXPEDITIE DIN COMANDA] + This.clb_discount.Visible = .F. + *!* This.clb_discount.lb_simplu1.Caption = [Discount pe aviz (fara TVA)] + lcTipDoc = [aviz] + This.cmesaj_cantitate = [A fost avizata intreaga cantitate comandata pentru acest articol!] + This.but_urmator_tot1.Visible = .T. && modificare v 2.0.44 + Case Inlist(poDate.tip, 22, 29) + && aviz catre clienti din lista de preturi + *!* Thisform.RemoveObject('opt_proforma') + This.grd_articole.RemoveObject('cSerie') + This.lb_titlu_alb_b121.Caption = [AVIZ DE EXPEDITIE DIN LISTA DE PRETURI] + This.clb_discount.Visible = .F. + *!* This.clb_discount.lb_simplu1.Caption = [Discount pe aviz (fara TVA)] + lcTipDoc = [aviz] + This.cmesaj_cantitate = [Acest articol nu este pe stoc!] + Case poDate.tip = 23 + && transfer intre subunitati + *!* Thisform.RemoveObject('opt_proforma') + This.grd_articole.RemoveObject('cSerie') + This.lb_titlu_alb_b121.Caption = [TRANSFER ÎNTRE SUBUNITATI] + This.clb_discount.Visible = .F. + *!* This.clb_discount.lb_simplu1.Caption = [Discount pe aviz (fara TVA)] + lcTipDoc = [aviz] + This.cmesaj_cantitate = [Acest articol nu este pe stoc!] + *!* modificare v 2.0.16 + Case poDate.tip = 41 + && retur + *!* Thisform.RemoveObject('opt_proforma') + This.grd_articole.RemoveObject('cSerie') + This.lb_titlu_alb_b121.Caption = [RETUR TRANSFER] + This.clb_discount.Visible = .F. + lcTipDoc = [aviz] + This.cmesaj_cantitate = [Acest articol nu este pe stoc!] + *!* modificare v 2.0.16 ^ + Case poDate.tip = 25 + && transfer intre subunitati pe baza de comanda + *!* Thisform.RemoveObject('opt_proforma') + This.grd_articole.RemoveObject('cSerie') + This.lb_titlu_alb_b121.Caption = [TRANSFER ÎNTRE SUBUNITATI PE BAZA DE COMANDA] + This.clb_discount.Visible = .F. + *!* This.clb_discount.lb_simplu1.Caption = [Discount pe aviz (fara TVA)] + lcTipDoc = [aviz] + This.cmesaj_cantitate = [A fost avizata intreaga cantitate comandata pentru acest articol!] + This.but_urmator_tot1.Visible = .T. && modificare v 2.0.44 + Case poDate.tip = 26 + && aviz catre clienti pe baza de contract + *!* Thisform.RemoveObject('opt_proforma') + This.grd_articole.RemoveObject('cSerie') + This.lb_titlu_alb_b121.Caption = [AVIZ DE EXPEDITIE DIN CONTRACTUL ] + Alltrim(poDate.descriere) + This.clb_discount.Visible = .F. + *!* This.clb_discount.lb_simplu1.Caption = [Discount pe aviz (fara TVA)] + lcTipDoc = [aviz] + *!* modificare v 2.0.67 + *!* If pnTipFacturare = 3 + *!* && articole de pe contract + *!* This.grd_articole.cCantitate.header1.Caption = [Cantitate contractata] + *!* This.cmesaj_cantitate = [A fost avizata intreaga cantitate contractata pentru acest articol!] + *!* Else + && articole din lista de preturi + This.grd_articole.cCantitate.header1.Caption = [Cantitate in stoc] + This.cmesaj_cantitate = [Acest articol nu este pe stoc!] + *!* Endif + *!* modificare v 2.0.67 ^ + *!* modificare v 2.0.56 + Case Inlist(poDate.tip, 8, 9) && factura retur lei/valuta + *!* Thisform.RemoveObject('opt_proforma') + This.grd_articole.cCantitate.header1.Caption = [Cant. max. de returnat] + This.cmesaj_cantitate = [Nu se mai poate face retur pentru acest articol!] + This.but_urmator_tot1.Visible = .T. + *!* modificare v 2.0.56 ^ + Case Inlist(poDate.tip, 24) && aviz retur + This.grd_articole.cCantitate.header1.Caption = [Cant. max. de returnat] + This.cmesaj_cantitate = [Nu se mai poate face retur pentru acest articol!] + This.but_urmator_tot1.Visible = .T. + This.grd_articole.RemoveObject('cSerie') + This.lb_titlu_alb_b121.Caption = [RETUR AVIZ DE EXPEDITIE] + Endcase + + Thisform.clb_total_factura.lb_explicatie.Caption = [TOTAL ] + Upper(lcTipDoc) + Thisform.lb_articolelista.Caption = [Articole ] + Alltrim(lcTipDoc) + Thisform.ck_discountevidentiat.Caption = [Se pune în evidenta discount-ul pe articole ] + ; + [în notele contabile ºi pe ] + Alltrim(lcTipDoc) + + Thisform.clb_total_baza.do_actualizeaza_lbval(poDate.nume_valuta) + Thisform.clb_discount.do_actualizeaza_lbval(poDate.nume_valuta) + Thisform.clb_discount_articole.do_actualizeaza_lbval(poDate.nume_valuta) + Thisform.clb_total_factura.do_actualizeaza_lbval(poDate.nume_valuta) + Thisform.clb_total_tva.do_actualizeaza_lbval(poDate.nume_valuta) + Thisform.clb_discount.do_activeaza(1 + poDate.in_valuta) + *!* modificare v 2.0.67 + If Nvl(gnModTotFact, 0) = 1 And !Inlist(poDate.tip, 5, 6, 7, 9, 10) && in afara de facturile in valuta + Thisform.clb_total_baza.do_activeaza(1) + Thisform.clb_total_tva.do_activeaza(1) + Bindevent(Thisform, 'do_calculeaza_totaluri', Thisform, 'actualizeaza_total_mod', 1) + Endif + *!* modificare v 2.0.67 ^ + + If poDate.in_valuta = 0 + Thisform.grd_factura.RemoveObject([cVpretFtva]) + Thisform.grd_factura.RemoveObject([cVdiscountftva]) + Thisform.grd_factura.RemoveObject([cVvaldiminuatftva]) + Else + Thisform.grd_factura.RemoveObject([cPretFtva]) + Thisform.grd_factura.RemoveObject([cDiscountctva]) + Thisform.grd_factura.RemoveObject([cPretCtva]) + Thisform.grd_factura.RemoveObject([cValdiminuatctva]) + Endif + *!* modificare 19.01.2008 + *!* Endif + *!* modificare 19.01.2008 ^ + *!* modificare v 2.0.67 + Local lnDiferentaInaltime + If !Used('crscontracte') Or (Used('crscontracte') And Reccount('crscontracte') = 2 ) + lnDiferentaInaltime = Thisform.grd_contracte.Top - Thisform.cb_contracte.Top + Thisform.RemoveObject('lb_contracte') + Thisform.RemoveObject('cb_contracte') + Else + Thisform.cb_contracte.RowSource = [crscontracte.numar_contract,id_ctr,data,numar] + Select crscontracte + Go Top + Thisform.cb_contracte.Value = Alltrim(numar_contract) + Endif + If !Used('crsarticole1') + *!* modificare ROAFACTURARE v 2.0.71 + *!* Thisform.txtDataScadenta.Enabled = .F. + Thisform.RemoveObject('txtDataScadenta') + Thisform.RemoveObject('lb_data_scadenta') + *!* modificare ROAFACTURARE v 2.0.71 ^ + lnDiferentaInaltime = lnDiferentaInaltime + Thisform.grd_contracte.Height + lnAnchor = Thisform.grd_articole.Anchor + Thisform.grd_articole.Anchor = 0 + Thisform.grd_articole.Height = Thisform.grd_articole.Height + lnDiferentaInaltime + Thisform.grd_articole.Top = Thisform.grd_articole.Top - lnDiferentaInaltime + Thisform.grd_articole.Anchor = lnAnchor + Thisform.grd_articole.Refresh() + Thisform.lb_articole.Top = Thisform.lb_articole.Top - lnDiferentaInaltime + Thisform.ct_articole.Top = Thisform.ct_articole.Top - lnDiferentaInaltime + Thisform.txtArticole.Top = Thisform.txtArticole.Top - lnDiferentaInaltime + Thisform.lb_codmat.Top = Thisform.lb_codmat.Top - lnDiferentaInaltime + Thisform.ct_codmat.Top = Thisform.ct_codmat.Top - lnDiferentaInaltime + Thisform.txtCodmat.Top = Thisform.txtCodmat.Top - lnDiferentaInaltime + *!* modificare v 2.0.70 + If Type('Thisform.lb_politici_preturi.Caption') <> 'U' + *!* modificare v 2.0.70 ^ + Thisform.lb_politici_preturi.Top = Thisform.lb_politici_preturi.Top - lnDiferentaInaltime + Thisform.cb_politici_preturi.Top = Thisform.cb_politici_preturi.Top - lnDiferentaInaltime + *!* modificare v 2.0.70 + Endif + *!* modificare v 2.0.70 ^ + Thisform.but_reset1.Top = Thisform.but_reset1.Top - lnDiferentaInaltime + Thisform.RemoveObject('grd_contracte') + Thisform.RemoveObject('but_urmator2') + Endif + *!* modificare v 2.0.67 ^ + + + + Try + Thisform.gridextra1.Setup() + Catch + Endtry + + Try + Thisform.gridextra2.Setup() + Catch + Endtry + + Try + Thisform.gridextra3.Setup() + Catch + Endtry + + ENDPROC + + PROCEDURE KeyPress + Lparameters nKeyCode, nShiftAltCtrl + lcControl = Upper(Alltrim(Thisform.ActiveControl.Name)) + + Do Case + Case Inlist(nKeyCode,9,13) And (lcControl = 'PROCENT') + Thisform.do_calculeaza_discount(Thisform.ActiveControl.Value) + Case (nKeyCode >=33 And nKeyCode <=122) And (lcControl = 'GRD_ARTICOLE') + Nodefault + *!* modificare v 2.0.67 + *!* With This.txtArticole + With This.txtCodmat + *!* modificare v 2.0.67 ^ + .Value = Alltrim(.Value) + Chr(nKeyCode) + .SetFocus() + Endwith + Keyboard '{END}' + Case (nKeyCode >=33 And nKeyCode <=122) And (lcControl = 'GRD_FACTURA') + Nodefault + With This.txtArticoleLista + .Value = Alltrim(.Value) + Chr(nKeyCode) + .SetFocus() + Endwith + Keyboard '{END}' + *!* modificare v 2.0.67 + *!* Case (nKeyCode = 127) And (!Inlist(lcControl,'GRD_ARTICOLE','TXTCODMAT','TXTARTICOLE'))&& backspace + *!* Nodefault + *!* With This.txtArticole + *!* .Value = Left(Alltrim(.Value),Len(Alltrim(.Value))-1) + *!* .SetFocus() + *!* Endwith + *!* Keyboard '{END}' + Case (nKeyCode = 127) And lcControl = 'GRD_ARTICOLE' && backspace + Nodefault + With This.txtCodmat + .Value = Left(Alltrim(.Value),Len(Alltrim(.Value))-1) + .SetFocus() + Endwith + Keyboard '{END}' + Case (nKeyCode = 127) And lcControl = 'GRD_FACTURA' && backspace + Nodefault + With This.txtArticoleLista + .Value = Left(Alltrim(.Value),Len(Alltrim(.Value))-1) + .SetFocus() + Endwith + Keyboard '{END}' + *!* modificare v 2.0.67 ^ + *!* Case (nKeyCode = 127) And (lcControl <> 'GRD_FACTURA') && backspace + *!* Nodefault + *!* With This.txtArticoleLista + *!* .Value = Left(Alltrim(.Value),Len(Alltrim(.Value))-1) + *!* .SetFocus() + *!* Endwith + *!* Keyboard '{END}' + *!* modificare v 2.0.67 + Case nKeyCode = 13 And lcControl = 'GRD_CONTRACTE' + Nodefault + *!* Thisform.but_urmator2.SetFocus() + Thisform.but_urmator2.Click() + Case nKeyCode = 13 And lcControl = 'BUT_URMATOR2' + Nodefault + Thisform.do_urmator2() + Case nKeyCode = 9 And lcControl = 'GRD_CONTRACTE' + Nodefault + Thisform.grd_articole.SetFocus() + Case nKeyCode = 9 And lcControl = 'GRD_ARTICOLE' + Nodefault + Thisform.grd_factura.SetFocus() + Case nKeyCode = 9 And lcControl = 'GRD_FACTURA' + Nodefault + If Type('thisform.grd_contracte.visible') <> 'U' + Thisform.grd_contracte.SetFocus() + Else + Thisform.grd_articole.SetFocus() + Endif + *!* modificare v 2.0.67 ^ + Case nKeyCode = 13 And lcControl = 'GRD_ARTICOLE' + Nodefault + *!* modificare v 2.0.67 + *!* Thisform.but_urmator1.SetFocus() + Thisform.but_urmator1.Click() + *!* modificare v 2.0.67 ^ + Case nKeyCode = 13 And lcControl = 'BUT_URMATOR1' + Nodefault + Thisform.do_urmator() + Case nKeyCode = 13 And lcControl = 'GRD_FACTURA' + Nodefault + *!* modificare v 2.0.67 + *!* Thisform.txtCodmat.SetFocus() + If Type('thisform.grd_contracte.visible') <> 'U' + Thisform.grd_contracte.SetFocus() + Else + Thisform.grd_articole.SetFocus() + Endif + *!* modificare v 2.0.67 ^ + Case nKeyCode = 7 And lcControl = 'GRD_FACTURA' + Nodefault + Thisform.do_sterge() + Case lcControl = 'TXTARTICOLELISTA' And nKeyCode = 13 + Nodefault + lcArticolCautat = Alltrim(Thisform.txtArticoleLista.Value) + If Used('crsfactura') + Select crsfactura + lnRecno = Recno() + Locate For Substr(Alltrim(denumire),1,Len(lcArticolCautat)) = lcArticolCautat + If Found() + Thisform.grd_factura.SetFocus() + Else + amessagebox("Articolul nu a fost gasit!",48,"Atentie") + Go lnRecno + Thisform.txtArticoleLista.SetFocus() + Endif + Endif + *!* modificare v 2.0.4 + *!* Case lcControl = 'TXTARTICOLE' And nKeyCode = 13 + *!* Nodefault + *!* lcArticolCautat = Alltrim(Thisform.txtArticole.Value) + *!* If Used('crsarticole') + *!* Select crsarticole + *!* lnRecno = Recno() + *!* Locate For Substr(Alltrim(denumire),1,Len(lcArticolCautat)) = lcArticolCautat + *!* If Found() + *!* Thisform.grd_articole.SetFocus() + *!* Else + *!* amessagebox("Articolul nu a fost gasit!",48,"Atentie") + *!* Go lnRecno + *!* Thisform.txtArticole.SetFocus() + *!* Endif + *!* Endif + Case Inlist(lcControl,'TXTARTICOLE','TXTCODMAT') And nKeyCode = 13 + Nodefault + If Used('crsarticole') + *!* modificare v 2.0.56 + *!* Select crsarticole + If Used('crspolitici') + Select crspolitici + lcFiltruPol = Iif(id_pol=-9999,[.T.],[id_pol = ] + Alltrim(Str(id_pol))) + Else + lcFiltruPol = [2=2] + EndIf + Select crsarticole + Set Filter To + *!* modificare v 2.0.56 ^ + lnRecno = Recno() + lcFiltruArt = Thisform.do_creeaza_filtru(Thisform.ct_articole,[denumire],Alltrim(Strtran(Thisform.txtArticole.Value,['],['']))) + lcFiltruCodMat = Thisform.do_creeaza_filtru(Thisform.ct_codmat,[codmat],Alltrim(Strtran(Thisform.txtCodmat.Value,['],['']))) + lcFiltru = lcFiltruPol + [ AND ] + Iif(Empty(lcFiltruArt),[2=2],lcFiltruArt) + [ AND ] + Iif(Empty(lcFiltruCodMat),[2=2],lcFiltruCodMat) + If lcFiltru <> [2=2 AND 2=2 AND 2=2] + *!* modificare v 2.0.56 + Set Filter To &lcFiltru + *!* modificare v 2.0.56 ^ + Locate For &lcFiltru + If Found() + Thisform.grd_articole.SetFocus() + Else + *!* modificare v 2.0.56 + *!* amessagebox("Articolul nu a fost gasit!",48,"Atentie") + *!* Go lnRecno + Go Top + Thisform.grd_articole.Refresh() + amessagebox("Articolul nu a fost gasit!",48,"Atentie") + *!* modificare v 2.0.56 ^ + lcFocus = [thisform.]+lcControl+[.setfocus()] + &lcFocus + Endif + Else + If lcControl = 'TXTCODMAT' + Thisform.ct_articole.SetFocus() + Else + Thisform.grd_articole.SetFocus() + Endif + Endif + Endif + *!* modificare v 2.0.4 ^ + Case nKeyCode=27 And nShiftAltCtrl=0 + Nodefault + If amessagebox("Sunteti sigur ca doriti sa inchideti fereastra?",4+32+256,"Confirmare")==6 + This.do_renunt() + Endif + Case nKeyCode=6 And nShiftAltCtrl=2 + Nodefault + This.do_termin() + Endcase + + ENDPROC + + PROCEDURE modifica_lista_preturi + Lparameters tnIdPol, tnIdArticol, tnPretftvaLista, tnPretvtvaLista, tnPretLista, tnProcTvav,tnPretListaVechi + *!* modificare v 2.0.90 : am adaugat llModificat + LOCAL llModificat + llModificat = .F. + + If tnPretListaVechi <> tnPretLista + If aMESSAGEBOX(Alltrim(poArticol.denumire)+" are pretul "+Alltrim(Str(tnPretListaVechi,16,gnPPretV)) + [ in politicile de preturi. Doriti sa il schimbati cu ]+Alltrim(Str(tnPretLista,16,gnPPretV))+" ?",4+32,"Confirmare modificare pret") <> 6 + RETURN llModificat + Endif + Else + Return llModificat + Endif + + *!* MODIFICARE PRETURI IN LISTA DE PRETURI PENTRU NIR-UL CU MODIFICAREA LISTEI DE PRETURI (ID_SET = 231 NIR MF PV LISTA DE PRETURI) + + Local lcSql, lcSelect + lcSelect = Select() + + *!* verific daca exista articolul in politica de preturi + lcSql = [Select id_pol_art, id_venchelt, proc_tvav from crm_politici_pret_art where id_pol = ] + Alltrim(Str(tnIdPol)) + [ and id_articol = ] + Alltrim(Str(tnIdArticol)) + lnSucces = goExecutor.oExecute(m.lcSql, "cPoliticiPretArt") + If lnSucces < 0 + aMessageBox(goExecutor.cEroare,0+16, 'Eroare') + + Select (lcSelect) + RETURN llModificat + Endif + Select cPoliticiPretArt + Scatter Name loPoliticaPretArt MEMO + Use In (Select('cPoliticiPretArt')) + + + && TRANZACTIE MANUALA (MODIFICARE CRM_POLITICI_PRET_ART, CRM_POLITICI_PRETURI) + lnSucces = SQLSetprop(gnHandle,"Transactions",2) + If lnSucces < 0 + aMessageBox("Programul nu a trecut pe tranzactie manuala",4+48,'Lista preturi') + + Select (lcSelect) + RETURN llModificat + Endif + + *!* ADAUGARE ARTICOL NOU IN LISTA DE PRETURI SAU MODIFICARE ARTICOL EXISTENT + If Nvl(loPoliticaPretArt.id_pol_art,0) = 0 + lcSql = [begin pack_preturi.adauga_politica_pret_art(] + ; + ALLTRIM(Str(tnIdPol)) + [,] + ; && id_pol + Alltrim(Str(tnIdArticol)) + [,] + ; && id_articol + Alltrim(Str(tnPretLista,20,4)) + [,] + ; && pret + Alltrim(Str(tnPretftvaLista,20,4)) + [,] + ; && pretftva + Alltrim(Str(tnPretvtvaLista ,20,4)) + [,] + ; && pretctva + [NULL, ] + ; && id_valuta + Alltrim(Str(tnProcTvav,20,4)) + [,] + ; && proc_tvav + [NULL, ] + ; && procent + [NULL, ] + ; && id_venchelt + Alltrim(Str(gnIdUtil)) + ; && id_util + [); end;] + Else + lcSql = [begin pack_preturi.modifica_pret_pol_pret_art(] + ; + ALLTRIM(Str(loPoliticaPretArt.id_pol_art)) + [,] + ; && id_pol_art + Alltrim(Str(tnPretLista,20,4)) + [,] + ; && pret + Alltrim(Str(tnPretftvaLista,20,4)) + [,] + ; && pretftva + Alltrim(Str(tnPretvtvaLista ,20,4)) + [,] + ; && pretctva + Iif(IsNull(loPoliticaPretArt.id_venchelt), 'NULL',Alltrim(Str(loPoliticaPretArt.id_venchelt))) + [,] + ; && id_venchelt + Iif(IsNull(loPoliticaPretArt.proc_tvav), 'NULL', Alltrim(Str(loPoliticaPretArt.proc_tvav,20,4))) + ; && proc_tvav + [); end;] + Endif && Nvl(lnIdPolArt,0) = 0 + + + lnSucces = goExecutor.oExecute(lcSql) + If lnSucces < 0 + aMessageBox(goExecutor.cEroare,0+16, 'Eroare') + Else + *!* MODIFICARE DATAORA, UTIL in CRM_POLITICI_PRETURI + lcSql = [begin pack_preturi.modifica_politica_dataora(] + ; + ALLTRIM(Str(tnIdPol)) + [,] + ; && id_pol + Alltrim(Str(gnIdUtil)) + ; && id_util + [); end;] + lnSucces = goExecutor.oExecute(lcSql) + If lnSucces < 0 + aMessageBox(goExecutor.cEroare,0+16, 'Eroare') + Endif + Endif + + *!* COMMIT / ROLLBACK + If lnSucces > 0 + lnSucces = goExecutor.oExecute("COMMIT") + If lnSucces < 0 + aMessageBox(goExecutor.cEroare,0+16, 'Eroare') + ELSE + llModificat = .T. + Endif + Else + lnSucces = goExecutor.oExecute("ROLLBACK") + If lnSucces < 0 + aMessageBox(goExecutor.cEroare,0+16, 'Eroare') + Endif + Endif + + SQLSetprop(gnHandle,"Transactions",1) + + Select (lcSelect) + RETURN llModificat + ENDPROC + + PROCEDURE cb_contracte.InteractiveChange + Select crscontracte + lcFiltru = Iif(id_ctr=-9999,[.T.],[id_ctr = ] + Alltrim(Str(id_ctr))) + save_grid_tag(Thisform.grd_contracte) + Select crsarticole1 + Set Filter To &lcFiltru + Go Top + restore_grid_tag(Thisform.grd_contracte) + Thisform.grd_contracte.SetFocus() + ENDPROC + + PROCEDURE cb_politici_preturi.InteractiveChange + *!* modificare v 2.0.56 + *!* Select crspolitici + *!* lcFiltru = Iif(id_pol=-9999,[.T.],[id_pol = ] + Alltrim(Str(id_pol))) + *!* save_grid_tag(Thisform.grd_articole) + *!* Select crsarticole + *!* Set Filter To &lcFiltru + *!* Go Top + *!* restore_grid_tag(Thisform.grd_articole) + *!* Thisform.txtArticole.SetFocus() + Thisform.do_cauta() + Thisform.txtCodmat.SetFocus() + *!* modificare v 2.0.56 ^ + ENDPROC + + PROCEDURE Clb_discount.Procent.LostFocus + Thisform.do_calculeaza_discount(This.Value) + + ENDPROC + + PROCEDURE Clb_discount.TX_SUMA_NAT.InteractiveChange + lcval=This.ControlSource + &lcval=This.Value + Thisform.do_calculeaza_totaluri(.T.) + ENDPROC + + PROCEDURE Clb_discount.TX_SUMA_VAL.InteractiveChange + lcval=This.ControlSource + &lcval=This.Value + Thisform.do_calculeaza_totaluri(.T.) + ENDPROC + + PROCEDURE Clb_total_baza.tx_suma_nat.InteractiveChange + Thisform.actualizeaza_total_mod(This.Value,1) + ENDPROC + + PROCEDURE Clb_total_tva.tx_suma_nat.InteractiveChange + Thisform.actualizeaza_total_mod(This.Value,2) + ENDPROC + + PROCEDURE ct_articole.InteractiveChange + With Thisform.txtArticole + If This.Value>5 + .Value="" + .ReadOnly=.T. + Else + .ReadOnly=.F. + .SetFocus() + Endif + Endwith + ENDPROC + + PROCEDURE ct_codmat.InteractiveChange + With Thisform.txtcodmat + If This.Value>5 + .Value="" + .ReadOnly=.T. + Else + .ReadOnly=.F. + .SetFocus() + Endif + Endwith + + ENDPROC + + PROCEDURE ct_codmat.ProgrammaticChange + With Thisform.txtcodmat + If This.Value>5 + .Value="" + .ReadOnly=.T. + Else + .ReadOnly=.F. + Endif + Endwith + ENDPROC + + PROCEDURE grd_articole.Init + *Nu sterge + ENDPROC + + PROCEDURE grd_contracte.Init + *Nu sterge + ENDPROC + + PROCEDURE grd_factura.Init + *Nu sterge + ENDPROC + +ENDDEFINE + +DEFINE CLASS frm_facturare_articole2 AS _frmbase OF "_frm_base.vcx" + *< CLASSDATA: Baseclass="form" Timestamp="" Scale="Pixels" Uniqueid="" /> + + *-- OBJECTDATA items order determines ZOrder / El orden de los items OBJECTDATA determina el ZOrder + *< OBJECTDATA: ObjPath="But_renunt1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="But_sterge1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="grd_factura" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="grd_factura.cDenumire.Header1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="grd_factura.cDenumire.Text1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="grd_factura.cDenumire.cCboDenumire" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="grd_factura.cValdiminuatctva.Header1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="grd_factura.cValdiminuatctva.Text1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="grd_factura.cPretctva.Header1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="grd_factura.cPretctva.Text1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="grd_factura.cCantitate.Header1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="grd_factura.cCantitate.Text1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="grd_factura.cDiscountCTva.Header1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="grd_factura.cDiscountCTva.Text1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="grd_factura.cPretFtva.Header1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="grd_factura.cPretFtva.Text1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="grd_factura.cSerie.Header1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="grd_factura.cSerie.Text1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="grd_factura.cVpretftva.Header1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="grd_factura.cVpretftva.Text1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="grd_factura.cVdiscountftva.Header1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="grd_factura.cVdiscountftva.Text1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="grd_factura.cVvaldiminuatftva.Header1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="grd_factura.cVvaldiminuatftva.Text1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="grd_factura.cCodMat.Header1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="grd_factura.cCodMat.Text1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="grd_factura.cCodMat.cboCodmat" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="grd_factura.cGestiune.Header1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="grd_factura.cGestiune.Text1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="grd_factura.cGestiune.cCboGestiune" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="grd_factura.cExplicatieTVA.Header1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="grd_factura.cExplicatieTVA.Text1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="grd_factura.cProcentDiscount.Header1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="grd_factura.cProcentDiscount.Text1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="lb_total_mod" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="Gridextra3" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="Clb_nract" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="Ct_clb_valuta" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="grd_cursuri" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="grd_cursuri.cCurs.Header1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="grd_cursuri.cCurs.Text1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="grd_cursuri.cNume_val.Header1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="grd_cursuri.cNume_val.Text1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="grd_cursuri.cMultiplicator.Header1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="grd_cursuri.cMultiplicator.Text1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="lb_cursuri" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="Clb_serie_act1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="_checkbox1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="ck_discountevidentiat" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="Clb_zi_curs" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="Clb_dataact" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="Clb_discount" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="Clb_discount.Procent" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="Clb_discount.Lb_simplu2" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="Clb_total_tva" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="Clb_total_factura" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="Clb_total_baza" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="Clb_discount_articole" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="Clb_data_scadenta" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="Ct_clb_nume_client" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="Ct_clb_responsabil" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="Ct_clb_altele" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="Ct_clb_lucrare" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="Ct_clb_sectie" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="Ct_clb_venchelt" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="Ed_tx_simplu1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="clb_fdoc" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="clb_fdoc.cboFdoc" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="But_nou1" UniqueID="" Timestamp="" /> + + * + *m: actualizeaza_total_mod + *m: do_adauga_articol + *m: do_adauga_rata + *m: do_adauga_tot + *m: do_alege_stoc + *m: do_calculeaza_discount + *m: do_calculeaza_totaluri + *m: do_creeaza_filtru + *m: do_initializeaza_articol + *m: do_retur + *m: do_scrie_articole + *m: do_scrie_factura + *m: do_scrie_proforma + *m: do_urmator2 + *m: do_verifica_articol + *m: modifica_lista_preturi + *p: clistaidarticoleretur && Lista articole retur id_articol:id_vanzare,id_articol:id_vanzare + *p: cmesaj_cantitate + *p: cnewvalue + *p: coldvalue + *p: nbazafdiscount + *p: nbazafdiscountval + *p: nbazaron + *p: nbazaval + *p: ncritcod && Criteriul initial de cautare dupa cod material. + *p: ncritdenumire && Criteriul initial de cautare dupa denumire. + *p: ndiscfactron + *p: ndiscfactval + *p: ndiscron + *p: ndiscval + *p: nid + *p: nnrinregvizibile && Numarul de inregistrari vizibile in gridul cu elementele facturii. + *p: nproc_disc_mem && Procentul de discount memorat. + *p: nproc_tvav + *p: ntotalron + *p: ntotalval + *p: ntvaron + *p: ntvaval + *p: orec + * + + * + cgridsortlist = grd_factura + clistaidarticoleretur = + cmesaj_cantitate = .F. + cnewvalue = + coldvalue = + DoCreate = .T. + Height = 586 + Name = "frm_facturare_articole2" + nbazafdiscount = 0 + nbazafdiscountval = 0 + nbazaron = 0 + nbazaval = 0 + ncritcod = 2 + ncritdenumire = 2 + ndiscfactron = 0 + ndiscfactval = 0 + ndiscron = 0 + ndiscval = 0 + nnrinregvizibile = 16 + nproc_disc_mem = 0 + nproc_tvav = 0 + ntotalron = 0 + ntotalval = 0 + ntvaron = 0 + ntvaval = 0 + Width = 781 + WindowState = 2 + _memberdata = + + + + + _shape1.Anchor = 10 + _shape1.Height = 29 + _shape1.Left = 0 + _shape1.Name = "_shape1" + _shape1.Top = 0 + _shape1.Width = 780 + _shape1.ZOrderSet = 1 + _shape2.Anchor = 8 + _shape2.Height = 29 + _shape2.Left = 712 + _shape2.Name = "_shape2" + _shape2.Top = 0 + _shape2.Width = 69 + _shape2.ZOrderSet = 2 + Lb_titlu_alb_b121.Caption = "FACTURA" + Lb_titlu_alb_b121.FontBold = .T. + Lb_titlu_alb_b121.Name = "Lb_titlu_alb_b121" + Lb_titlu_alb_b121.TabIndex = 24 + Lb_titlu_alb_b121.ZOrderSet = 3 + BUT_TERMIN1.Anchor = 8 + BUT_TERMIN1.Height = 27 + BUT_TERMIN1.Left = 748 + BUT_TERMIN1.Name = "BUT_TERMIN1" + BUT_TERMIN1.TabIndex = 17 + BUT_TERMIN1.Top = 1 + BUT_TERMIN1.Width = 30 + BUT_TERMIN1.ZOrderSet = 4 + Gridsort1.Left = 192 + Gridsort1.Name = "Gridsort1" + Gridsort1.Top = 569 + * + + ADD OBJECT '_checkbox1' AS _checkbox WITH ; + Alignment = 0, ; + AutoSize = .T., ; + Caption = "TVA la încasare", ; + ControlSource = "poDate.tva_incasare", ; + Height = 34, ; + Left = 372, ; + Name = "_checkbox1", ; + TabIndex = 23, ; + Top = 36, ; + Width = 70, ; + WordWrap = .T. + *< END OBJECT: ClassLib="_baza.vcx" BaseClass="checkbox" /> + + ADD OBJECT 'But_nou1' AS but_nou WITH ; + Anchor = 8, ; + Left = 719, ; + Name = "But_nou1", ; + TabIndex = 14, ; + Top = 175 + *< END OBJECT: ClassLib="cmd_butoane.vcx" BaseClass="commandbutton" /> + + ADD OBJECT 'But_renunt1' AS but_renunt WITH ; + Anchor = 8, ; + Height = 27, ; + Left = 716, ; + Name = "But_renunt1", ; + TabIndex = 18, ; + Top = 1, ; + Width = 30, ; + ZOrderSet = 6 + *< END OBJECT: ClassLib="cmd_butoane.vcx" BaseClass="commandbutton" /> + + ADD OBJECT 'But_sterge1' AS but_sterge WITH ; + Anchor = 8, ; + Left = 747, ; + Name = "But_sterge1", ; + TabIndex = 15, ; + Top = 175 + *< END OBJECT: ClassLib="cmd_butoane.vcx" BaseClass="commandbutton" /> + + ADD OBJECT 'ck_discountevidentiat' AS _checkbox WITH ; + Alignment = 0, ; + Anchor = 12, ; + AutoSize = .F., ; + Caption = "Se pune în evidenta discount-ul pe articole în notele contabile si pe factura", ; + ControlSource = "poDate.discount_evidentiat", ; + Height = 24, ; + Left = 360, ; + Name = "ck_discountevidentiat", ; + TabIndex = 27, ; + Top = 446, ; + Width = 431, ; + WordWrap = .T., ; + ZOrderSet = 17 + *< END OBJECT: ClassLib="_baza.vcx" BaseClass="checkbox" /> + + ADD OBJECT 'Clb_data_scadenta' AS clb_tx_data WITH ; + Height = 29, ; + Left = 172, ; + Name = "Clb_data_scadenta", ; + TabIndex = 5, ; + Top = 87, ; + Width = 180, ; + TEXT_SIMPLU1.ControlSource = "poDate.datascad", ; + TEXT_SIMPLU1.FontBold = .T., ; + TEXT_SIMPLU1.Height = 23, ; + TEXT_SIMPLU1.Left = 69, ; + TEXT_SIMPLU1.Name = "TEXT_SIMPLU1", ; + TEXT_SIMPLU1.Top = 3, ; + TEXT_SIMPLU1.Width = 77, ; + LB_SIMPLU1.Caption = "Data scad.", ; + LB_SIMPLU1.FontBold = .T., ; + LB_SIMPLU1.Name = "LB_SIMPLU1", ; + CMD_BUTON1.Left = 147, ; + CMD_BUTON1.Name = "CMD_BUTON1", ; + CMD_BUTON1.Top = 2 + *< END OBJECT: ClassLib="lb_tx.vcx" BaseClass="container" /> + + ADD OBJECT 'Clb_dataact' AS clb_tx_data WITH ; + Height = 29, ; + Left = 17, ; + Name = "Clb_dataact", ; + TabIndex = 4, ; + Top = 87, ; + Width = 156, ; + TEXT_SIMPLU1.ControlSource = "poDate.dataact", ; + TEXT_SIMPLU1.Height = 23, ; + TEXT_SIMPLU1.Left = 44, ; + TEXT_SIMPLU1.Name = "TEXT_SIMPLU1", ; + TEXT_SIMPLU1.Top = 3, ; + TEXT_SIMPLU1.Width = 77, ; + LB_SIMPLU1.Caption = "Data", ; + LB_SIMPLU1.FontBold = .T., ; + LB_SIMPLU1.Name = "LB_SIMPLU1", ; + CMD_BUTON1.Left = 123, ; + CMD_BUTON1.Name = "CMD_BUTON1", ; + CMD_BUTON1.Top = 2 + *< END OBJECT: ClassLib="lb_tx.vcx" BaseClass="container" /> + + ADD OBJECT 'Clb_discount' AS clb_tx_sume_valuta WITH ; + Anchor = 12, ; + Height = 53, ; + Left = 228, ; + Name = "Clb_discount", ; + TabIndex = 20, ; + Top = 523, ; + Width = 255, ; + ZOrderSet = 20, ; + TX_SUMA_VAL.ControlSource = "thisform.ndiscfactval", ; + TX_SUMA_VAL.Left = 66, ; + TX_SUMA_VAL.Name = "TX_SUMA_VAL", ; + TX_SUMA_VAL.Top = 27, ; + LB_EXPLICATIE.Caption = "Discount pe factura (fara TVA)", ; + LB_EXPLICATIE.Left = 4, ; + LB_EXPLICATIE.Name = "LB_EXPLICATIE", ; + LB_EXPLICATIE.Top = 5, ; + TX_SUMA_NAT.ControlSource = "thisform.ndiscfactron", ; + TX_SUMA_NAT.InputMask = (get_mask(14,gnPc)), ; + TX_SUMA_NAT.Left = 164, ; + TX_SUMA_NAT.Name = "TX_SUMA_NAT", ; + TX_SUMA_NAT.Top = 27, ; + LB_NUME_VAL.Left = 128, ; + LB_NUME_VAL.Name = "LB_NUME_VAL", ; + LB_NUME_VAL.Top = 30, ; + LB_NUME_NAT.Left = 227, ; + LB_NUME_NAT.Name = "LB_NUME_NAT", ; + LB_NUME_NAT.Top = 30, ; + lb_explicatii.Left = 151, ; + lb_explicatii.Name = "lb_explicatii", ; + lb_explicatii.Top = 5 + *< END OBJECT: ClassLib="ofacturare.vcx" BaseClass="container" /> + + ADD OBJECT 'Clb_discount.Lb_simplu2' AS lb_simplu WITH ; + Caption = "%", ; + Left = 237, ; + Name = "Lb_simplu2", ; + TabIndex = 4, ; + Top = 6 + *< END OBJECT: ClassLib="lb.vcx" BaseClass="label" /> + + ADD OBJECT 'Clb_discount.Procent' AS _txbase WITH ; + Alignment = 3, ; + FontName = "Arial Narrow", ; + Format = "!K", ; + Height = 23, ; + InputMask = "9 999.99", ; + Left = 185, ; + Name = "Procent", ; + TabIndex = 1, ; + Top = 3, ; + Value = 0, ; + Width = 46 + *< END OBJECT: ClassLib="_tx_base.vcx" BaseClass="textbox" /> + + ADD OBJECT 'Clb_discount_articole' AS clb_tx_sume_valuta WITH ; + Anchor = 12, ; + Height = 53, ; + Left = 228, ; + Name = "Clb_discount_articole", ; + TabIndex = 29, ; + Top = 471, ; + Width = 255, ; + ZOrderSet = 24, ; + tx_suma_val.ControlSource = "thisform.ndiscval", ; + tx_suma_val.Left = 66, ; + tx_suma_val.Name = "tx_suma_val", ; + tx_suma_val.Top = 27, ; + lb_explicatie.Caption = "Discount articole (fara TVA)", ; + lb_explicatie.Left = 4, ; + lb_explicatie.Name = "lb_explicatie", ; + lb_explicatie.Top = 6, ; + tx_suma_nat.ControlSource = "thisform.ndiscron", ; + tx_suma_nat.InputMask = (get_mask(14,gnPc)), ; + tx_suma_nat.Left = 164, ; + tx_suma_nat.Name = "tx_suma_nat", ; + tx_suma_nat.Top = 27, ; + lb_nume_val.Left = 128, ; + lb_nume_val.Name = "lb_nume_val", ; + lb_nume_val.Top = 30, ; + lb_nume_nat.Left = 227, ; + lb_nume_nat.Name = "lb_nume_nat", ; + lb_nume_nat.Top = 30, ; + lb_explicatii.Left = 154, ; + lb_explicatii.Name = "lb_explicatii", ; + lb_explicatii.Top = 6 + *< END OBJECT: ClassLib="ofacturare.vcx" BaseClass="container" /> + + ADD OBJECT 'clb_fdoc' AS _container WITH ; + Height = 29, ; + Left = 17, ; + Name = "clb_fdoc", ; + TabIndex = 1, ; + Top = 59, ; + Width = 128 + *< END OBJECT: ClassLib="_baza.vcx" BaseClass="container" /> + + ADD OBJECT 'clb_fdoc.cboFdoc' AS _combobox WITH ; + ColumnWidths = "100,0", ; + ControlSource = "", ; + Height = 23, ; + Left = 4, ; + Name = "cboFdoc", ; + RowSource = "FACTURA,PROFORMA,BON FISCAL", ; + RowSourceType = 1, ; + SpecialEffect = 1, ; + Top = 3, ; + Value = FACTURA, ; + Width = 119 + *< END OBJECT: ClassLib="_baza.vcx" BaseClass="combobox" /> + + ADD OBJECT 'Clb_nract' AS clb_tx_simplu WITH ; + Height = 29, ; + Left = 299, ; + Name = "Clb_nract", ; + TabIndex = 3, ; + Top = 59, ; + Width = 179, ; + TEXT_SIMPLU1.ControlSource = "poDate.nract", ; + TEXT_SIMPLU1.Height = 23, ; + TEXT_SIMPLU1.InputMask = (get_mask(14,0)), ; + TEXT_SIMPLU1.Left = 54, ; + TEXT_SIMPLU1.Name = "TEXT_SIMPLU1", ; + TEXT_SIMPLU1.Top = 3, ; + TEXT_SIMPLU1.Width = 121, ; + LB_SIMPLU1.Caption = "Numar", ; + LB_SIMPLU1.FontBold = .T., ; + LB_SIMPLU1.Left = 8, ; + LB_SIMPLU1.Name = "LB_SIMPLU1", ; + LB_SIMPLU1.Top = 6 + *< END OBJECT: ClassLib="lb_tx.vcx" BaseClass="container" /> + + ADD OBJECT 'Clb_serie_act1' AS clb_serie_act WITH ; + cvariabila = serie_act, ; + cvariabiladoc = nract, ; + Height = 29, ; + Left = 144, ; + Name = "Clb_serie_act1", ; + nid_tipdoc = 5, ; + pcobj = poDate, ; + TabIndex = 2, ; + Top = 59, ; + Width = 156, ; + TEXT_SIMPLU1.ControlSource = "poDate.serie_act", ; + TEXT_SIMPLU1.Height = 23, ; + TEXT_SIMPLU1.Left = 43, ; + TEXT_SIMPLU1.Name = "TEXT_SIMPLU1", ; + TEXT_SIMPLU1.Top = 3, ; + TEXT_SIMPLU1.Width = 110, ; + _CBBASE1.Height = 23, ; + _CBBASE1.Left = 44, ; + _CBBASE1.Name = "_CBBASE1", ; + _CBBASE1.Top = 3, ; + _CBBASE1.Width = 108, ; + _LBBASE1.Caption = "Serie", ; + _LBBASE1.FontBold = .T., ; + _LBBASE1.Name = "_LBBASE1" + *< END OBJECT: ClassLib="serii_numere.vcx" BaseClass="container" /> + + ADD OBJECT 'Clb_total_baza' AS clb_tx_sume_valuta WITH ; + Anchor = 12, ; + Height = 30, ; + Left = 482, ; + Name = "Clb_total_baza", ; + TabIndex = 21, ; + Top = 471, ; + Width = 290, ; + ZOrderSet = 23, ; + tx_suma_val.ControlSource = "thisform.nbazaval", ; + tx_suma_val.Left = 111, ; + tx_suma_val.Name = "tx_suma_val", ; + tx_suma_val.Top = 4, ; + lb_explicatie.Caption = "Total (baza)", ; + lb_explicatie.Left = 4, ; + lb_explicatie.Name = "lb_explicatie", ; + lb_explicatie.Top = 7, ; + tx_suma_nat.ControlSource = "thisform.nbazaron", ; + tx_suma_nat.InputMask = (get_mask(14,gnPc)), ; + tx_suma_nat.Left = 203, ; + tx_suma_nat.Name = "tx_suma_nat", ; + tx_suma_nat.Top = 4, ; + lb_nume_val.Left = 175, ; + lb_nume_val.Name = "lb_nume_val", ; + lb_nume_val.Top = 7, ; + lb_nume_nat.Left = 263, ; + lb_nume_nat.Name = "lb_nume_nat", ; + lb_nume_nat.Top = 7, ; + lb_explicatii.Left = 80, ; + lb_explicatii.Name = "lb_explicatii", ; + lb_explicatii.Top = 7 + *< END OBJECT: ClassLib="ofacturare.vcx" BaseClass="container" /> + + ADD OBJECT 'Clb_total_factura' AS clb_tx_sume_valuta WITH ; + Anchor = 12, ; + Height = 47, ; + Left = 482, ; + Name = "Clb_total_factura", ; + TabIndex = 28, ; + Top = 529, ; + Width = 290, ; + ZOrderSet = 22, ; + tx_suma_val.ControlSource = "thisform.ntotalval", ; + tx_suma_val.FontBold = .T., ; + tx_suma_val.Left = 112, ; + tx_suma_val.Name = "tx_suma_val", ; + tx_suma_val.Top = 20, ; + lb_explicatie.Caption = "TOTAL FACTURA", ; + lb_explicatie.FontBold = .T., ; + lb_explicatie.Left = 4, ; + lb_explicatie.Name = "lb_explicatie", ; + lb_explicatie.Top = 4, ; + tx_suma_nat.ControlSource = "thisform.ntotalron", ; + tx_suma_nat.FontBold = .T., ; + tx_suma_nat.InputMask = (get_mask(14,gnPc)), ; + tx_suma_nat.Left = 204, ; + tx_suma_nat.Name = "tx_suma_nat", ; + tx_suma_nat.Top = 20, ; + lb_nume_val.FontBold = .T., ; + lb_nume_val.Left = 176, ; + lb_nume_val.Name = "lb_nume_val", ; + lb_nume_val.Top = 23, ; + lb_nume_nat.FontBold = .T., ; + lb_nume_nat.Left = 264, ; + lb_nume_nat.Name = "lb_nume_nat", ; + lb_nume_nat.Top = 23, ; + lb_explicatii.Left = 119, ; + lb_explicatii.Name = "lb_explicatii", ; + lb_explicatii.Top = 4 + *< END OBJECT: ClassLib="ofacturare.vcx" BaseClass="container" /> + + ADD OBJECT 'Clb_total_tva' AS clb_tx_sume_valuta WITH ; + Anchor = 12, ; + Height = 30, ; + Left = 482, ; + Name = "Clb_total_tva", ; + TabIndex = 22, ; + Top = 500, ; + Width = 290, ; + ZOrderSet = 21, ; + tx_suma_val.ControlSource = "thisform.ntvaval", ; + tx_suma_val.Left = 111, ; + tx_suma_val.Name = "tx_suma_val", ; + tx_suma_val.Top = 4, ; + lb_explicatie.Caption = "TVA", ; + lb_explicatie.Left = 4, ; + lb_explicatie.Name = "lb_explicatie", ; + lb_explicatie.Top = 7, ; + tx_suma_nat.ControlSource = "thisform.ntvaron", ; + tx_suma_nat.InputMask = (get_mask(14,gnPc)), ; + tx_suma_nat.Left = 203, ; + tx_suma_nat.Name = "tx_suma_nat", ; + tx_suma_nat.Top = 4, ; + lb_nume_val.Left = 175, ; + lb_nume_val.Name = "lb_nume_val", ; + lb_nume_val.Top = 7, ; + lb_nume_nat.Left = 263, ; + lb_nume_nat.Name = "lb_nume_nat", ; + lb_nume_nat.Top = 7, ; + lb_explicatii.Left = 80, ; + lb_explicatii.Name = "lb_explicatii", ; + lb_explicatii.Top = 7 + *< END OBJECT: ClassLib="ofacturare.vcx" BaseClass="container" /> + + ADD OBJECT 'Clb_zi_curs' AS clb_tx_data WITH ; + Height = 29, ; + Left = 172, ; + Name = "Clb_zi_curs", ; + TabIndex = 7, ; + Top = 115, ; + Width = 180, ; + TEXT_SIMPLU1.ControlSource = "poDate.zi_curs", ; + TEXT_SIMPLU1.Height = 23, ; + TEXT_SIMPLU1.Left = 69, ; + TEXT_SIMPLU1.Name = "TEXT_SIMPLU1", ; + TEXT_SIMPLU1.Top = 3, ; + TEXT_SIMPLU1.Width = 77, ; + LB_SIMPLU1.BackColor = 0,0,0, ; + LB_SIMPLU1.Caption = "Data curs", ; + LB_SIMPLU1.FontBold = .T., ; + LB_SIMPLU1.Name = "LB_SIMPLU1", ; + CMD_BUTON1.Left = 147, ; + CMD_BUTON1.Name = "CMD_BUTON1", ; + CMD_BUTON1.Top = 2 + *< END OBJECT: ClassLib="lb_tx.vcx" BaseClass="container" /> + + ADD OBJECT 'Ct_clb_altele' AS ct_clb_cautare WITH ; + Anchor = 8, ; + cconditie = EMPTY(NVL(poDate.listaid,'')), ; + cprocedura = thisform.do_cauta_altele, ; + cvar_afisata = poDate.descriere, ; + Height = 31, ; + Left = 560, ; + Name = "Ct_clb_altele", ; + TabIndex = 13, ; + Top = 142, ; + Width = 215, ; + IMG_CAUTARE.Left = 190, ; + IMG_CAUTARE.Name = "IMG_CAUTARE", ; + IMG_CAUTARE.Top = 5, ; + CLB_TX_CAUTARE.LB_SIMPLU1.Caption = "Altele", ; + CLB_TX_CAUTARE.LB_SIMPLU1.FontBold = .T., ; + CLB_TX_CAUTARE.LB_SIMPLU1.Name = "LB_SIMPLU1", ; + CLB_TX_CAUTARE.Name = "CLB_TX_CAUTARE", ; + CLB_TX_CAUTARE.TEXT_SIMPLU1.Height = 23, ; + CLB_TX_CAUTARE.TEXT_SIMPLU1.Left = 80, ; + CLB_TX_CAUTARE.TEXT_SIMPLU1.Name = "TEXT_SIMPLU1", ; + CLB_TX_CAUTARE.TEXT_SIMPLU1.Top = 3, ; + CLB_TX_CAUTARE.TEXT_SIMPLU1.Width = 100, ; + CLB_TX_CAUTARE.Width = 185 + *< END OBJECT: ClassLib="caut_ora.vcx" BaseClass="container" /> + + ADD OBJECT 'Ct_clb_lucrare' AS ct_clb_cautare WITH ; + Anchor = 8, ; + cconditie = EMPTY(NVL(poDate.id_lucrare,0)), ; + cprocedura = thisform.do_cauta_lucrare, ; + cvar_afisata = poDate.nrord, ; + Height = 31, ; + Left = 560, ; + Name = "Ct_clb_lucrare", ; + TabIndex = 9, ; + Top = 30, ; + Width = 215, ; + IMG_CAUTARE.Left = 190, ; + IMG_CAUTARE.Name = "IMG_CAUTARE", ; + IMG_CAUTARE.Top = 5, ; + CLB_TX_CAUTARE.LB_SIMPLU1.Caption = "Lucrare", ; + CLB_TX_CAUTARE.LB_SIMPLU1.FontBold = .T., ; + CLB_TX_CAUTARE.LB_SIMPLU1.Name = "LB_SIMPLU1", ; + CLB_TX_CAUTARE.Name = "CLB_TX_CAUTARE", ; + CLB_TX_CAUTARE.TEXT_SIMPLU1.Height = 23, ; + CLB_TX_CAUTARE.TEXT_SIMPLU1.Left = 80, ; + CLB_TX_CAUTARE.TEXT_SIMPLU1.Name = "TEXT_SIMPLU1", ; + CLB_TX_CAUTARE.TEXT_SIMPLU1.Top = 3, ; + CLB_TX_CAUTARE.TEXT_SIMPLU1.Width = 100, ; + CLB_TX_CAUTARE.Width = 185 + *< END OBJECT: ClassLib="caut_ora.vcx" BaseClass="container" /> + + ADD OBJECT 'Ct_clb_nume_client' AS ct_clb_cautare WITH ; + cconditie = EMPTY(poDate.id_client) or ISNULL(poDate.id_client), ; + cprocedura = thisform.do_cauta_client, ; + cvar_afisata = poDate.nume_client, ; + Height = 31, ; + Left = 16, ; + Name = "Ct_clb_nume_client", ; + TabIndex = 19, ; + Top = 30, ; + Width = 332, ; + IMG_CAUTARE.Left = 309, ; + IMG_CAUTARE.Name = "IMG_CAUTARE", ; + IMG_CAUTARE.Top = 5, ; + CLB_TX_CAUTARE.Height = 29, ; + CLB_TX_CAUTARE.LB_SIMPLU1.Caption = "Client", ; + CLB_TX_CAUTARE.LB_SIMPLU1.FontBold = .T., ; + CLB_TX_CAUTARE.LB_SIMPLU1.Name = "LB_SIMPLU1", ; + CLB_TX_CAUTARE.Left = 1, ; + CLB_TX_CAUTARE.Name = "CLB_TX_CAUTARE", ; + CLB_TX_CAUTARE.TEXT_SIMPLU1.Height = 23, ; + CLB_TX_CAUTARE.TEXT_SIMPLU1.Left = 44, ; + CLB_TX_CAUTARE.TEXT_SIMPLU1.Name = "TEXT_SIMPLU1", ; + CLB_TX_CAUTARE.TEXT_SIMPLU1.Top = 3, ; + CLB_TX_CAUTARE.TEXT_SIMPLU1.Width = 247, ; + CLB_TX_CAUTARE.Top = 1, ; + CLB_TX_CAUTARE.Width = 295 + *< END OBJECT: ClassLib="caut_ora.vcx" BaseClass="container" /> + + ADD OBJECT 'Ct_clb_responsabil' AS ct_clb_cautare WITH ; + Anchor = 8, ; + cconditie = EMPTY(NVL(poDate.id_responsabil,0)), ; + cprocedura = thisform.do_cauta_responsabil, ; + cvar_afisata = poDate.responsabil, ; + Height = 31, ; + Left = 560, ; + Name = "Ct_clb_responsabil", ; + TabIndex = 12, ; + Top = 114, ; + Width = 215, ; + IMG_CAUTARE.Left = 190, ; + IMG_CAUTARE.Name = "IMG_CAUTARE", ; + IMG_CAUTARE.Top = 5, ; + CLB_TX_CAUTARE.LB_SIMPLU1.Caption = "Responsabil", ; + CLB_TX_CAUTARE.LB_SIMPLU1.FontBold = .T., ; + CLB_TX_CAUTARE.LB_SIMPLU1.Name = "LB_SIMPLU1", ; + CLB_TX_CAUTARE.Name = "CLB_TX_CAUTARE", ; + CLB_TX_CAUTARE.TEXT_SIMPLU1.Height = 23, ; + CLB_TX_CAUTARE.TEXT_SIMPLU1.Left = 80, ; + CLB_TX_CAUTARE.TEXT_SIMPLU1.Name = "TEXT_SIMPLU1", ; + CLB_TX_CAUTARE.TEXT_SIMPLU1.Top = 3, ; + CLB_TX_CAUTARE.TEXT_SIMPLU1.Width = 100, ; + CLB_TX_CAUTARE.Width = 185 + *< END OBJECT: ClassLib="caut_ora.vcx" BaseClass="container" /> + + ADD OBJECT 'Ct_clb_sectie' AS ct_clb_cautare WITH ; + Anchor = 8, ; + cconditie = EMPTY(NVL(poDate.id_sectie,0)), ; + cprocedura = thisform.do_cauta_sectie, ; + cvar_afisata = poDate.sectie, ; + Height = 31, ; + Left = 560, ; + Name = "Ct_clb_sectie", ; + TabIndex = 10, ; + Top = 58, ; + Width = 215, ; + IMG_CAUTARE.Left = 190, ; + IMG_CAUTARE.Name = "IMG_CAUTARE", ; + IMG_CAUTARE.Top = 5, ; + CLB_TX_CAUTARE.LB_SIMPLU1.Caption = "Secþie", ; + CLB_TX_CAUTARE.LB_SIMPLU1.FontBold = .T., ; + CLB_TX_CAUTARE.LB_SIMPLU1.Name = "LB_SIMPLU1", ; + CLB_TX_CAUTARE.Name = "CLB_TX_CAUTARE", ; + CLB_TX_CAUTARE.TEXT_SIMPLU1.Left = 80, ; + CLB_TX_CAUTARE.TEXT_SIMPLU1.Name = "TEXT_SIMPLU1", ; + CLB_TX_CAUTARE.TEXT_SIMPLU1.Top = 3, ; + CLB_TX_CAUTARE.TEXT_SIMPLU1.Width = 100, ; + CLB_TX_CAUTARE.Width = 185 + *< END OBJECT: ClassLib="caut_ora.vcx" BaseClass="container" /> + + ADD OBJECT 'Ct_clb_valuta' AS ct_clb_cautare WITH ; + cconditie = EMPTY(NVL(poDate.id_valuta,0)), ; + cprocedura = thisform.do_cauta_valuta, ; + cvar_afisata = poDate.nume_valuta, ; + Height = 31, ; + Left = 16, ; + Name = "Ct_clb_valuta", ; + TabIndex = 6, ; + Top = 114, ; + Width = 157, ; + IMG_CAUTARE.Left = 130, ; + IMG_CAUTARE.Name = "IMG_CAUTARE", ; + IMG_CAUTARE.Top = 5, ; + CLB_TX_CAUTARE.LB_SIMPLU1.Caption = "Valutã", ; + CLB_TX_CAUTARE.LB_SIMPLU1.FontBold = .T., ; + CLB_TX_CAUTARE.LB_SIMPLU1.Name = "LB_SIMPLU1", ; + CLB_TX_CAUTARE.Name = "CLB_TX_CAUTARE", ; + CLB_TX_CAUTARE.TEXT_SIMPLU1.Height = 23, ; + CLB_TX_CAUTARE.TEXT_SIMPLU1.Left = 44, ; + CLB_TX_CAUTARE.TEXT_SIMPLU1.Name = "TEXT_SIMPLU1", ; + CLB_TX_CAUTARE.TEXT_SIMPLU1.Top = 3, ; + CLB_TX_CAUTARE.TEXT_SIMPLU1.Width = 77, ; + CLB_TX_CAUTARE.Width = 125 + *< END OBJECT: ClassLib="caut_ora.vcx" BaseClass="container" /> + + ADD OBJECT 'Ct_clb_venchelt' AS ct_clb_cautare WITH ; + Anchor = 8, ; + cconditie = EMPTY(NVL(poDate.id_venchelt,0)), ; + cprocedura = thisform.do_cauta_venchelt, ; + cvar_afisata = poDate.venchelt, ; + Height = 31, ; + Left = 560, ; + Name = "Ct_clb_venchelt", ; + TabIndex = 11, ; + Top = 86, ; + Width = 215, ; + IMG_CAUTARE.Left = 190, ; + IMG_CAUTARE.Name = "IMG_CAUTARE", ; + IMG_CAUTARE.Top = 5, ; + CLB_TX_CAUTARE.LB_SIMPLU1.Caption = "Venit", ; + CLB_TX_CAUTARE.LB_SIMPLU1.FontBold = .T., ; + CLB_TX_CAUTARE.LB_SIMPLU1.Name = "LB_SIMPLU1", ; + CLB_TX_CAUTARE.Name = "CLB_TX_CAUTARE", ; + CLB_TX_CAUTARE.TEXT_SIMPLU1.Height = 23, ; + CLB_TX_CAUTARE.TEXT_SIMPLU1.Left = 80, ; + CLB_TX_CAUTARE.TEXT_SIMPLU1.Name = "TEXT_SIMPLU1", ; + CLB_TX_CAUTARE.TEXT_SIMPLU1.Top = 3, ; + CLB_TX_CAUTARE.TEXT_SIMPLU1.Width = 100, ; + CLB_TX_CAUTARE.Width = 185 + *< END OBJECT: ClassLib="caut_ora.vcx" BaseClass="container" /> + + ADD OBJECT 'Ed_tx_simplu1' AS ed_tx_simplu WITH ; + Height = 28, ; + Left = 17, ; + Name = "Ed_tx_simplu1", ; + TabIndex = 8, ; + Top = 143, ; + Width = 335, ; + _EDBASE1.ControlSource = "poDate.explicatia4", ; + _EDBASE1.Format = "!K", ; + _EDBASE1.Height = 22, ; + _EDBASE1.Left = 68, ; + _EDBASE1.MaxLength = 100, ; + _EDBASE1.Name = "_EDBASE1", ; + _EDBASE1.Top = 2, ; + _EDBASE1.Width = 262, ; + _LBBASE1.Caption = "Explicatia", ; + _LBBASE1.FontBold = .T., ; + _LBBASE1.Height = 18, ; + _LBBASE1.Left = 4, ; + _LBBASE1.Name = "_LBBASE1", ; + _LBBASE1.ToolTipText = "Explicatia Reg. Jurnal (max. 100 caractere) ", ; + _LBBASE1.Top = 6, ; + _LBBASE1.Width = 63, ; + _LBBASE1.WordWrap = .T. + *< END OBJECT: ClassLib="lb_tx.vcx" BaseClass="container" /> + + ADD OBJECT 'grd_cursuri' AS _grdrow WITH ; + Anchor = 6, ; + ColumnCount = 3, ; + DeleteMark = .F., ; + FontName = "Arial Narrow", ; + Height = 77, ; + Left = 15, ; + Name = "grd_cursuri", ; + Panel = 1, ; + RecordSource = "crscursuri", ; + ScrollBars = 2, ; + TabIndex = 26, ; + TabStop = .F., ; + Top = 499, ; + Width = 177, ; + ZOrderSet = 13, ; + Column1.ColumnOrder = 3, ; + Column1.ControlSource = "curs", ; + Column1.FontName = "Arial Narrow", ; + Column1.InputMask = (get_mask(14,gnPCurs)), ; + Column1.Name = "cCurs", ; + Column1.Width = 38, ; + Column2.ColumnOrder = 2, ; + Column2.ControlSource = "nume_val", ; + Column2.FontName = "Arial Narrow", ; + Column2.Name = "cNume_val", ; + Column2.Width = 56, ; + Column3.ColumnOrder = 1, ; + Column3.ControlSource = "multiplicator", ; + Column3.FontName = "Arial Narrow", ; + Column3.InputMask = (get_mask(10,0)), ; + Column3.Name = "cMultiplicator", ; + Column3.Width = 49 + *< END OBJECT: ClassLib="_grd_base.vcx" BaseClass="grid" /> + + ADD OBJECT 'grd_cursuri.cCurs.Header1' AS header WITH ; + Alignment = 2, ; + Caption = "Curs", ; + FontName = "Arial Narrow", ; + Name = "Header1" + *< END OBJECT: BaseClass="header" /> + + ADD OBJECT 'grd_cursuri.cCurs.Text1' AS textbox WITH ; + BackColor = 255,255,255, ; + BorderStyle = 0, ; + FontName = "Arial Narrow", ; + ForeColor = 0,0,0, ; + Margin = 0, ; + Name = "Text1", ; + SelectedBackColor = 0,64,128 + *< END OBJECT: BaseClass="textbox" /> + + ADD OBJECT 'grd_cursuri.cMultiplicator.Header1' AS header WITH ; + Alignment = 2, ; + Caption = "Multiplicator", ; + FontName = "Arial Narrow", ; + Name = "Header1" + *< END OBJECT: BaseClass="header" /> + + ADD OBJECT 'grd_cursuri.cMultiplicator.Text1' AS textbox WITH ; + BackColor = 255,255,255, ; + BorderStyle = 0, ; + FontName = "Arial Narrow", ; + ForeColor = 0,0,0, ; + Margin = 0, ; + Name = "Text1", ; + SelectedBackColor = 100,185,255 + *< END OBJECT: BaseClass="textbox" /> + + ADD OBJECT 'grd_cursuri.cNume_val.Header1' AS header WITH ; + Alignment = 2, ; + Caption = "Valuta", ; + FontName = "Arial Narrow", ; + Name = "Header1" + *< END OBJECT: BaseClass="header" /> + + ADD OBJECT 'grd_cursuri.cNume_val.Text1' AS textbox WITH ; + BackColor = 255,255,255, ; + BorderStyle = 0, ; + FontName = "Arial Narrow", ; + ForeColor = 0,0,0, ; + Margin = 0, ; + Name = "Text1", ; + SelectedBackColor = 0,64,128 + *< END OBJECT: BaseClass="textbox" /> + + ADD OBJECT 'grd_factura' AS _grdrow WITH ; + Anchor = 15, ; + ColumnCount = 14, ; + DeleteMark = .F., ; + FontName = "Arial", ; + HeaderHeight = 18, ; + Height = 240, ; + HighlightStyle = 1, ; + Left = 12, ; + Name = "grd_factura", ; + Panel = 1, ; + ReadOnly = .F., ; + RecordSource = "crsfactura", ; + RowHeight = 18, ; + TabIndex = 16, ; + Top = 204, ; + Width = 765, ; + ZOrderSet = 8, ; + Column1.ColumnOrder = 2, ; + Column1.ControlSource = "crsFactura.denumire", ; + Column1.CurrentControl = "cCboDenumire", ; + Column1.FontName = "Arial", ; + Column1.FontSize = 9, ; + Column1.Name = "cDenumire", ; + Column1.ReadOnly = .F., ; + Column1.Width = 193, ; + Column2.ColumnOrder = 13, ; + Column2.ControlSource = "valdiminuatctva", ; + Column2.FontName = "Arial", ; + Column2.FontSize = 9, ; + Column2.InputMask = (get_mask(14,gnPc)), ; + Column2.Name = "cValdiminuatctva", ; + Column2.ReadOnly = .F., ; + Column2.Width = 90, ; + Column3.ColumnOrder = 6, ; + Column3.ControlSource = "pretctva", ; + Column3.FontName = "Arial", ; + Column3.FontSize = 9, ; + Column3.InputMask = (get_mask(14,gnPPretV)), ; + Column3.Name = "cPretctva", ; + Column3.ReadOnly = .F., ; + Column3.Width = 93, ; + Column4.ColumnOrder = 5, ; + Column4.ControlSource = "cantitate", ; + Column4.FontName = "Arial", ; + Column4.FontSize = 9, ; + Column4.InputMask = (get_mask(14,gnPcant)), ; + Column4.Name = "cCantitate", ; + Column4.ReadOnly = .F., ; + Column4.Width = 58, ; + Column5.ColumnOrder = 11, ; + Column5.ControlSource = "discountctva", ; + Column5.FontName = "Arial", ; + Column5.FontSize = 9, ; + Column5.InputMask = (get_mask(14,gnPPretV)), ; + Column5.Name = "cDiscountCTva", ; + Column5.ReadOnly = .F., ; + Column5.Width = 73, ; + Column6.ColumnOrder = 7, ; + Column6.ControlSource = "pretftva", ; + Column6.FontName = "Arial", ; + Column6.FontSize = 9, ; + Column6.InputMask = (get_mask(14,gnPPretV)), ; + Column6.Name = "cPretFtva", ; + Column6.ReadOnly = .F., ; + Column6.Width = 101, ; + Column7.ColumnOrder = 4, ; + Column7.ControlSource = "serie", ; + Column7.FontName = "Arial", ; + Column7.FontSize = 9, ; + Column7.Name = "cSerie", ; + Column7.ReadOnly = .F., ; + Column7.Width = 64, ; + Column8.ColumnOrder = 10, ; + Column8.ControlSource = "vpretftva", ; + Column8.FontName = "Arial", ; + Column8.FontSize = 9, ; + Column8.InputMask = (get_mask(14,gnPVal)), ; + Column8.Name = "cVpretftva", ; + Column8.ReadOnly = .F., ; + Column8.Width = 112, ; + Column9.ColumnOrder = 12, ; + Column9.ControlSource = "vdiscountftva", ; + Column9.FontName = "Arial", ; + Column9.FontSize = 9, ; + Column9.InputMask = (get_mask(14,gnPVal)), ; + Column9.Name = "cVdiscountftva", ; + Column9.ReadOnly = .F., ; + Column9.Width = 86, ; + Column10.ColumnOrder = 14, ; + Column10.ControlSource = "vvaldiminuatftva", ; + Column10.FontName = "Arial", ; + Column10.FontSize = 9, ; + Column10.InputMask = (get_mask(14,gnPVal)), ; + Column10.Name = "cVvaldiminuatftva", ; + Column10.ReadOnly = .F., ; + Column11.ColumnOrder = 1, ; + Column11.ControlSource = "crsFactura.codmat", ; + Column11.CurrentControl = "cboCodmat", ; + Column11.FontName = "Arial", ; + Column11.FontSize = 9, ; + Column11.Name = "cCodMat", ; + Column11.ReadOnly = .F., ; + Column11.Width = 87, ; + Column12.ColumnOrder = 3, ; + Column12.ControlSource = "crsFactura.gestiune", ; + Column12.CurrentControl = "cCboGestiune", ; + Column12.FontName = "Arial", ; + Column12.FontSize = 9, ; + Column12.Name = "cGestiune", ; + Column12.ReadOnly = .F., ; + Column12.Width = 142, ; + Column13.ColumnOrder = 8, ; + Column13.ControlSource = "expltva", ; + Column13.FontName = "Arial", ; + Column13.FontSize = 9, ; + Column13.Name = "cExplicatieTVA", ; + Column13.ReadOnly = .F., ; + Column13.Width = 120, ; + Column14.ColumnOrder = 9, ; + Column14.ControlSource = "procdisc", ; + Column14.FontName = "Arial", ; + Column14.FontSize = 9, ; + Column14.Format = "RK", ; + Column14.InputMask = "99 999.99", ; + Column14.Name = "cProcentDiscount", ; + Column14.ReadOnly = .F., ; + Column14.Width = 85 + *< END OBJECT: ClassLib="_grd_base.vcx" BaseClass="grid" /> + + ADD OBJECT 'grd_factura.cCantitate.Header1' AS header WITH ; + Alignment = 2, ; + Caption = "Cantitate", ; + FontName = "Arial", ; + FontSize = 9, ; + Name = "Header1" + *< END OBJECT: BaseClass="header" /> + + ADD OBJECT 'grd_factura.cCantitate.Text1' AS textbox WITH ; + BackColor = 255,255,255, ; + BorderStyle = 0, ; + FontName = "Arial", ; + FontSize = 9, ; + ForeColor = 0,0,0, ; + Margin = 0, ; + Name = "Text1", ; + ReadOnly = .F., ; + SelectedBackColor = 0,64,128 + *< END OBJECT: BaseClass="textbox" /> + + ADD OBJECT 'grd_factura.cCodMat.cboCodmat' AS combosql WITH ; + ColumnCount = 6, ; + ColumnWidths = "50,150,50,100,100,100", ; + ControlSource = "crsFactura.codmat", ; + csourcesql = select codmat, denumire, um, grupa, subgrupa, codbare, id_articol from vnom_articole, ; + csourcewhere = inactiv = 0, ; + FontSize = 9, ; + Left = 25, ; + Name = "cboCodmat", ; + pcursorname = crsCodmat, ; + pfieldactiv = codmat, ; + Top = 71 + *< END OBJECT: ClassLib="cautare.vcx" BaseClass="combobox" /> + + ADD OBJECT 'grd_factura.cCodMat.Header1' AS header WITH ; + Alignment = 2, ; + Caption = "Cod material", ; + FontName = "Arial", ; + FontSize = 9, ; + Name = "Header1", ; + WordWrap = .F. + *< END OBJECT: BaseClass="header" /> + + ADD OBJECT 'grd_factura.cCodMat.Text1' AS textbox WITH ; + BackColor = 255,255,255, ; + BorderStyle = 0, ; + FontName = "Arial Narrow", ; + FontSize = 8, ; + ForeColor = 0,0,0, ; + Margin = 0, ; + Name = "Text1", ; + SelectedBackColor = 100,185,255 + *< END OBJECT: BaseClass="textbox" /> + + ADD OBJECT 'grd_factura.cDenumire.cCboDenumire' AS combosql WITH ; + ColumnCount = 6, ; + ColumnWidths = "150,50,50,100,100,100", ; + ControlSource = "crsFactura.denumire", ; + csourcesql = select denumire, codmat, um, grupa, subgrupa, codbare, id_articol from vnom_articole, ; + csourcewhere = inactiv = 0, ; + FontSize = 9, ; + Left = 81, ; + Name = "cCboDenumire", ; + pcursorname = crsDenumire, ; + pfieldactiv = denumire, ; + Top = 71 + *< END OBJECT: ClassLib="cautare.vcx" BaseClass="combobox" /> + + ADD OBJECT 'grd_factura.cDenumire.Header1' AS header WITH ; + Alignment = 2, ; + Caption = "Articol", ; + FontName = "Arial", ; + FontSize = 9, ; + Name = "Header1" + *< END OBJECT: BaseClass="header" /> + + ADD OBJECT 'grd_factura.cDenumire.Text1' AS textbox WITH ; + BackColor = 255,255,255, ; + BorderStyle = 0, ; + Enabled = .T., ; + FontName = "Arial Narrow", ; + FontSize = 8, ; + ForeColor = 0,0,0, ; + Margin = 0, ; + Name = "Text1", ; + ReadOnly = .T., ; + SelectedBackColor = 0,64,128 + *< END OBJECT: BaseClass="textbox" /> + + ADD OBJECT 'grd_factura.cDiscountCTva.Header1' AS header WITH ; + Alignment = 2, ; + Caption = "Discount unitar cu TVA", ; + FontName = "Arial", ; + FontSize = 9, ; + Name = "Header1", ; + WordWrap = .T. + *< END OBJECT: BaseClass="header" /> + + ADD OBJECT 'grd_factura.cDiscountCTva.Text1' AS textbox WITH ; + BackColor = 255,255,255, ; + BorderStyle = 0, ; + FontName = "Arial", ; + FontSize = 9, ; + ForeColor = 0,0,0, ; + Margin = 0, ; + Name = "Text1", ; + ReadOnly = .F., ; + SelectedBackColor = 0,64,128 + *< END OBJECT: BaseClass="textbox" /> + + ADD OBJECT 'grd_factura.cExplicatieTVA.Header1' AS header WITH ; + Alignment = 2, ; + Caption = "Explicatie TVA", ; + FontName = "Arial", ; + FontSize = 9, ; + Name = "Header1" + *< END OBJECT: BaseClass="header" /> + + ADD OBJECT 'grd_factura.cExplicatieTVA.Text1' AS textbox WITH ; + BackColor = 255,255,255, ; + BorderStyle = 0, ; + FontName = "Arial", ; + FontSize = 9, ; + ForeColor = 0,0,0, ; + Margin = 0, ; + Name = "Text1", ; + ReadOnly = .F., ; + SelectedBackColor = 100,185,255 + *< END OBJECT: BaseClass="textbox" /> + + ADD OBJECT 'grd_factura.cGestiune.cCboGestiune' AS combosql WITH ; + ColumnCount = 2, ; + ColumnLines = .F., ; + ColumnWidths = "150,50", ; + csourcesql = select nume_gestiune, cgest, id_gestiune from VNOM_GESTIUNI, ; + csourcewhere = inactiv = 0, ; + Left = 55, ; + Name = "cCboGestiune", ; + pcursorname = crsGestiuni, ; + pfieldactiv = nume_gestiune, ; + Top = 47 + *< END OBJECT: ClassLib="cautare.vcx" BaseClass="combobox" /> + + ADD OBJECT 'grd_factura.cGestiune.Header1' AS header WITH ; + Alignment = 2, ; + Caption = "Gestiune", ; + FontName = "Arial", ; + FontSize = 9, ; + Name = "Header1" + *< END OBJECT: BaseClass="header" /> + + ADD OBJECT 'grd_factura.cGestiune.Text1' AS textbox WITH ; + BackColor = 255,255,255, ; + BorderStyle = 0, ; + FontName = "Arial Narrow", ; + ForeColor = 0,0,0, ; + Margin = 0, ; + Name = "Text1", ; + SelectedBackColor = 100,185,255 + *< END OBJECT: BaseClass="textbox" /> + + ADD OBJECT 'grd_factura.cPretctva.Header1' AS header WITH ; + Alignment = 2, ; + Caption = "Pret unitar cu TVA", ; + FontName = "Arial", ; + FontSize = 9, ; + Name = "Header1", ; + WordWrap = .F. + *< END OBJECT: BaseClass="header" /> + + ADD OBJECT 'grd_factura.cPretctva.Text1' AS textbox WITH ; + BackColor = 255,255,255, ; + BorderStyle = 0, ; + FontName = "Arial", ; + FontSize = 9, ; + ForeColor = 0,0,0, ; + Margin = 0, ; + Name = "Text1", ; + ReadOnly = .F., ; + SelectedBackColor = 0,64,128 + *< END OBJECT: BaseClass="textbox" /> + + ADD OBJECT 'grd_factura.cPretFtva.Header1' AS header WITH ; + Alignment = 2, ; + Caption = "Pret unitar fara TVA", ; + FontName = "Arial", ; + FontSize = 9, ; + Name = "Header1", ; + WordWrap = .F. + *< END OBJECT: BaseClass="header" /> + + ADD OBJECT 'grd_factura.cPretFtva.Text1' AS textbox WITH ; + BackColor = 255,255,255, ; + BorderStyle = 0, ; + FontName = "Arial", ; + FontSize = 9, ; + ForeColor = 0,0,0, ; + Margin = 0, ; + Name = "Text1", ; + ReadOnly = .F., ; + SelectedBackColor = 0,64,128 + *< END OBJECT: BaseClass="textbox" /> + + ADD OBJECT 'grd_factura.cProcentDiscount.Header1' AS header WITH ; + Alignment = 2, ; + Caption = "Procent discount", ; + FontName = "Arial", ; + FontSize = 9, ; + Name = "Header1", ; + WordWrap = .F. + *< END OBJECT: BaseClass="header" /> + + ADD OBJECT 'grd_factura.cProcentDiscount.Text1' AS textbox WITH ; + BackColor = 255,255,255, ; + BorderStyle = 0, ; + FontName = "Arial", ; + FontSize = 9, ; + ForeColor = 0,0,0, ; + Margin = 0, ; + Name = "Text1", ; + ReadOnly = .F., ; + SelectedBackColor = 100,185,255 + *< END OBJECT: BaseClass="textbox" /> + + ADD OBJECT 'grd_factura.cSerie.Header1' AS header WITH ; + Alignment = 2, ; + Caption = "Serie", ; + FontName = "Arial", ; + FontSize = 9, ; + Name = "Header1" + *< END OBJECT: BaseClass="header" /> + + ADD OBJECT 'grd_factura.cSerie.Text1' AS textbox WITH ; + BackColor = 255,255,255, ; + BorderStyle = 0, ; + FontName = "Arial", ; + FontSize = 9, ; + ForeColor = 0,0,0, ; + Margin = 0, ; + Name = "Text1", ; + ReadOnly = .F., ; + SelectedBackColor = 0,64,128 + *< END OBJECT: BaseClass="textbox" /> + + ADD OBJECT 'grd_factura.cValdiminuatctva.Header1' AS header WITH ; + Alignment = 2, ; + Caption = "Valoare", ; + FontName = "Arial", ; + FontSize = 9, ; + Name = "Header1", ; + WordWrap = .F. + *< END OBJECT: BaseClass="header" /> + + ADD OBJECT 'grd_factura.cValdiminuatctva.Text1' AS textbox WITH ; + BackColor = 255,255,255, ; + BorderStyle = 0, ; + FontName = "Arial", ; + FontSize = 9, ; + ForeColor = 0,0,0, ; + Margin = 0, ; + Name = "Text1", ; + ReadOnly = .F., ; + SelectedBackColor = 0,64,128 + *< END OBJECT: BaseClass="textbox" /> + + ADD OBJECT 'grd_factura.cVdiscountftva.Header1' AS header WITH ; + Alignment = 2, ; + Caption = "Discount unitar in valuta fara TVA", ; + FontName = "Arial", ; + FontSize = 9, ; + Name = "Header1", ; + WordWrap = .T. + *< END OBJECT: BaseClass="header" /> + + ADD OBJECT 'grd_factura.cVdiscountftva.Text1' AS textbox WITH ; + BackColor = 255,255,255, ; + BorderStyle = 0, ; + FontName = "Arial", ; + FontSize = 9, ; + ForeColor = 0,0,0, ; + Margin = 0, ; + Name = "Text1", ; + ReadOnly = .F., ; + SelectedBackColor = 0,64,128 + *< END OBJECT: BaseClass="textbox" /> + + ADD OBJECT 'grd_factura.cVpretftva.Header1' AS header WITH ; + Alignment = 2, ; + Caption = "Pret unitar fara TVA in valuta", ; + FontName = "Arial", ; + FontSize = 9, ; + Name = "Header1", ; + WordWrap = .T. + *< END OBJECT: BaseClass="header" /> + + ADD OBJECT 'grd_factura.cVpretftva.Text1' AS textbox WITH ; + BackColor = 255,255,255, ; + BorderStyle = 0, ; + FontName = "Arial", ; + FontSize = 9, ; + ForeColor = 0,0,0, ; + Margin = 0, ; + Name = "Text1", ; + ReadOnly = .F., ; + SelectedBackColor = 0,64,128 + *< END OBJECT: BaseClass="textbox" /> + + ADD OBJECT 'grd_factura.cVvaldiminuatftva.Header1' AS header WITH ; + Alignment = 2, ; + Caption = "Valoare in valuta fara TVA", ; + FontName = "Arial", ; + FontSize = 9, ; + Name = "Header1", ; + WordWrap = .T. + *< END OBJECT: BaseClass="header" /> + + ADD OBJECT 'grd_factura.cVvaldiminuatftva.Text1' AS textbox WITH ; + BackColor = 255,255,255, ; + BorderStyle = 0, ; + FontName = "Arial", ; + FontSize = 9, ; + ForeColor = 0,0,0, ; + Margin = 0, ; + Name = "Text1", ; + ReadOnly = .F., ; + SelectedBackColor = 0,64,128 + *< END OBJECT: BaseClass="textbox" /> + + ADD OBJECT 'Gridextra3' AS gridextra WITH ; + allowgridpreferences = .F., ; + gridexpression = Thisform.grd_factura, ; + Height = 17, ; + Left = 756, ; + Name = "Gridextra3", ; + Top = 432, ; + Width = 24 + *< END OBJECT: ClassLib="..\utile\gridextras\gridextras.vcx" BaseClass="custom" /> + + ADD OBJECT 'lb_cursuri' AS lb_simplu WITH ; + Anchor = 6, ; + Caption = "Curs valutar (ZZ/LL/AAAA)", ; + Left = 15, ; + Name = "lb_cursuri", ; + TabIndex = 25, ; + Top = 479, ; + ZOrderSet = 14 + *< END OBJECT: ClassLib="lb.vcx" BaseClass="label" /> + + ADD OBJECT 'lb_total_mod' AS lb_simplu WITH ; + Alignment = 1, ; + Anchor = 12, ; + AutoSize = .F., ; + Caption = "0.00", ; + FontBold = .T., ; + FontName = "Arial Narrow", ; + Height = 17, ; + Left = 705, ; + Name = "lb_total_mod", ; + TabIndex = 30, ; + Top = 532, ; + Visible = .F., ; + Width = 37 + *< END OBJECT: ClassLib="lb.vcx" BaseClass="label" /> + + PROCEDURE actualizeaza_total_mod + Lparameters tnValoare,tnTip + Local lnTotal,lnValoare,lnTip + If Nvl(gnModTotFact,0) = 1 + lnValoare = IIF(EMPTY(tnValoare),0,tnValoare) + lnTip = IIF(EMPTY(tnTip),0,tnTip) + lnTotal = Iif(lnTip=1,lnValoare,Thisform.nbazaron) + Iif(lnTip=2,lnValoare,Thisform.ntvaron) + If lnTotal <> Thisform.ntotalron + Thisform.clb_total_baza.tx_SUMA_NAT.ForeColor = Rgb(255,0,0) + Thisform.clb_total_tva.tx_SUMA_NAT.ForeColor = Rgb(255,0,0) + Thisform.lb_total_mod.ForeColor = Rgb(255,0,0) + Thisform.lb_total_mod.AutoSize = .F. + Thisform.lb_total_mod.Caption = Transform(lnTotal,get_mask(14,gnPc)) + Thisform.lb_total_mod.AutoSize = .T. + Thisform.lb_total_mod.Visible = .T. + Else + Thisform.clb_total_baza.tx_SUMA_NAT.ForeColor = Rgb(0,0,0) + Thisform.clb_total_tva.tx_SUMA_NAT.ForeColor = Rgb(0,0,0) + Thisform.lb_total_mod.Visible = .F. + Endif + Endif + ENDPROC + + PROCEDURE do_adauga + SELECT crsFactura + APPEND BLANK + this.grd_factura.SetFocus() + ENDPROC + + PROCEDURE do_adauga_articol + *!* 17.03.2015 + *!* marius.mutu + *!* daca cantitatea ramasa dupa adaugarea articolului gestionabil este < 0, atunci pun 0 ca sa pot intra pe ramura facturare fara stoc + + Lparameters tlImplicit, tlContract, tlRetur + * llImplicit = .T. => daca exista o singura linie in stoc, atunci nu mai apare formularul de completare a datelor + * tlContract = .T. => provine din gridul cu articole din contract + * tlRetur = .T. => se face retur la articolul selectat (trebuie selectat din rulaj in loc de stoc) + + Private pnProcentDiscountMem + Local ofrmadarticol As "frm_articol_factura" + Local lcSelectActualizare, lcSql, llActualizat, llSucces, lnListaIdOld, lnRecno, lnSucces + Local lnTotalCantitate, loCauta + *:Global gnButon, poArtLista + pnProcentDiscountMem = 0 + + If Nvl(gnMemProcDisc, 0) = 1 + pnProcentDiscountMem = Thisform.nproc_disc_mem + Endif + Local lcCursor, loGrid + If tlContract + lcCursor = [crsarticole1] + loGrid = Thisform.grd_contracte + Else + lcCursor = [crsarticole] + loGrid = Thisform.grd_articole + Endif + + If Used(lcCursor) And Reccount(lcCursor) > 0 + Local lnCantitate + Private poArticol + Select (lcCursor) + Scatter Name poArticol MEMO + Scatter Name poArtLista MEMO + lnCantitate = poArticol.cantitate + + * FACTURARE ARTICOLE INEXISTENTE IN STOC + * DOAR DACA ESTE ACTIVA OPTIUNEA RF_FACTURARE_FARA_STOC = 1 SAU VREAU SA RETURNEZ UN ARTICOL + *!* If lnCantitate = 0 And ((Type('gnRF_FACTURARE_FARA_STOC') = 'N' And m.gnRF_FACTURARE_FARA_STOC = 1) OR m.tlRetur) + *!* lnCantitate = 999999999 + *!* Endif + + Thisform.do_initializeaza_articol(@poArticol) + + * 8 = Retur lei, 9 = retur valuta sau factura de vanzare normala, dar cu retur de articole + If Inlist(poDate.tip, 8, 9) + lnCantitate = poArticol.cantitate + Endif + + gnButon = 2 + + If Thisform.do_verifica_articol(tlContract, lnCantitate) + Do Case + Case (poArticol.gestionabil = 0 Or gnScadereStoc = 0 Or poDate.tip = 45) && 45 = ROARESTAURANT + If !tlImplicit + ofrmadarticol = Createobject("frm_articol_factura", lnCantitate, tlImplicit) + ofrmadarticol.Show(1) + Release ofrmadarticol + Else + poArticol = calculeaza_totaluri(poArticol) + gnButon = 1 + ENDIF + + OTHERWISE + lnListaIdOld = poDate.listaid + IF m.tlRetur + loCauta = caut_facturi_multiple_client_articol(poDate.id_client, poDate.in_valuta, poDate.id_valuta, .F., poArticol.id_articol) + If m.gnButon = 1 and !Empty(Nvl(loCauta.id_vanzare, 0)) + poDate.listaid = Alltrim(Str(loCauta.id_vanzare)) + * ID_ARTICOL:ID_VANZARE,ID_ARTICOL:ID_VANZARE + thisform.cListaIdArticoleRetur = thisform.cListaIdArticoleRetur + IIF(!EMPTY(thisform.cListaIdArticoleRetur), ',', '') + ALLTRIM(STR(poArticol.id_articol)) + ':' + poDate.listaid + Endif + ENDIF + llSucces = Thisform.do_alege_stoc(poArticol.id_articol, lnCantitate, poArticol.denumire, tlImplicit, poArticol.pretftva, poArticol.discount_unitar, loGrid, m.tlRetur) + poDate.listaid = m.lnListaIdOld + If !m.llSucces + Return + Endif + Endcase + Else + gnButon = 2 + Endif + If Used('crsCtrTemp') + Select crsCtrTemp + Set Filter To + Endif + + If gnButon = 1 + + + If Inlist(poDate.tip, 41) && retur transfer catre subunitati lista pret + llActualizat = Thisform.modifica_lista_preturi(poArticol.Id_Pol, poArticol.id_articol, ; + IIF(poArticol.tip_valuta = 1, poArticol.pretftva_val, poArticol.pretftva), ; + IIF(poArticol.tip_valuta = 1, poArticol.pretctva_val, poArticol.Pretctva), ; + IIF(poArticol.tip_valuta = 1, ; + IIF(poArticol.preturi_cu_tva = 1, poArticol.pretctva_val, poArticol.pretftva_val), ; + Iif(poArticol.preturi_cu_tva = 1, poArticol.Pretctva, poArticol.pretftva)), ; + poArticol.Proc_Tvav, ; + IIF(poArticol.tip_valuta = 1, poArtLista.pret_val, poArtLista.Pret)) + If llActualizat + lcSelectActualizare = Select() + Select crsarticole + lnRecno = Recno() + Replace Pret With Iif(poArticol.preturi_cu_tva = 1, poArticol.Pretctva, poArticol.pretftva), ; + pret_val With Iif(poArticol.preturi_cu_tva = 1, poArticol.pretctva_val, poArticol.pretftva_val) ; + FOR id_articol = poArticol.id_articol And Id_Pol = poArticol.Id_Pol + Go lnRecno + Select (lcSelectActualizare) + Endif + Endif + + lcSql = [select codmatf from nom_articole where id_articol = ?poArticol.id_articol] + lnSucces = goExecutor.oExecute(lcSql, [crscodmatf]) + If lnSucces < 0 + amessagebox(goExecutor.cEroare, 16, "Eroare") + Else + If Reccount('crscodmatf') > 0 + Select crscodmatf + poArticol.codmatf = codmatf + Endif + Use In crscodmatf + Endif + + save_grid_tag(Thisform.grd_factura) + + If !Used('crsartselectate') + Select crsfactura + Append Blank + Gather Name poArticol Fields Like pret_achizitie, denumire, cantitate, id_articol, Id_Pol, Cont, id_gestiune, Proc_Tvav, ; + pretftva, valftva, valtva, valctva, valdiscountftva, valdiscounttva, valdiscountctva, Pretctva, ; + valdiminuatftva, valdiminuattva, valdiminuatctva, ; + vvalftva, vvaltva, vvalctva, vvaldiscountftva, vvaldiscounttva, vvaldiscountctva, ; + vvaldiminuatftva, vvaldiminuattva, vvaldiminuatctva, id_c, serie, explicatie, ; + id_valuta, gestionabil, tip_valuta, id_jtva_coloana, id_lucrare_rez, id_part_rez, pretv_orig, pretd, id_valuta_d, id_ctr, opt_facturare, nume_val MEMO + + Replace id_temp With Recno(), codmat With Nvl(poArticol.codmat, Space(50)), codmatf With Nvl(poArticol.codmatf, Space(50)), ; + um With Nvl(poArticol.um, [ ]), Curs With Nvl(poArticol.Curs, 0), multiplicator With Nvl(poArticol.multiplicator, 1), ; + cu_tva With poArticol.preturi_cu_tva, codbare With Nvl(poArticol.codbare, Space(50)), ; + vpretftva With Nvl(poArticol.pretftva_val, 0), vpretctva With Nvl(poArticol.pretctva_val, 0), ; + discountftva With poArticol.discount_unitar, discountctva With poArticol.discount_unitar_ctva, ; + vdiscountftva With Nvl(poArticol.discount_unitar_val, 0), vdiscountctva With Nvl(poArticol.discount_unitar_ctva_val, 0) + If Used('crsCtrTemp') + Select crsCtrTemp + Locate For id_ctr = poArticol.id_ctr And text_standard = 1 + If Found() + poArticol.numar_contract = Alltrim(contract) + Select crsfactura + Replace numar_contract With poArticol.numar_contract + Else + Select crsfactura + Endif + Endif + If Nvl(gnMemProcDisc, 0) = 1 + Thisform.nproc_disc_mem = pnProcentDiscountMem + Endif + Else + lnTotalCantitate = poArticol.cantitate + Select crsartselectate + Scan + poArticol.pret_achizitie = Pret + poArticol.serie = Nvl(serie, []) + poArticol.id_gestiune = id_gestiune + poArticol.Cont = Alltrim(Cont) + poArticol.cantitate = cantitate + poArticol.pretv_orig = pretv + poArticol.id_lucrare_rez = id_lucrare_rez + poArticol.id_part_rez = id_part_rez + + poArticol.pretd = pretd + poArticol.id_valuta_d = id_valuta + + Select crsfactura + Append Blank + + Gather Name poArticol Fields Like pret_achizitie, denumire, cantitate, id_articol, Id_Pol, ; + Cont, id_gestiune, Proc_Tvav, pretftva, Pretctva, ; + id_c, serie, explicatie, ; + id_valuta, gestionabil, tip_valuta, id_jtva_coloana, id_lucrare_rez, id_part_rez, pretv_orig, pretd, id_valuta_d, nume_val, id_ctr, opt_facturare MEMO + + Replace id_temp With Recno(), codmat With Nvl(poArticol.codmat, Space(50)), ; + codbare With Nvl(poArticol.codbare, Space(50)), ; + codmatf With Nvl(poArticol.codmatf, Space(50)), um With Nvl(poArticol.um, Space(50)), ; + Curs With Nvl(poArticol.Curs, 0), multiplicator With Nvl(poArticol.multiplicator, 1), ; + cu_tva With poArticol.preturi_cu_tva, ; + vpretftva With Nvl(poArticol.pretftva_val, 0), vpretctva With Nvl(poArticol.pretctva_val, 0), ; + discountftva With poArticol.discount_unitar, discountctva With poArticol.discount_unitar_ctva, ; + vdiscountftva With Nvl(poArticol.discount_unitar_val, 0), ; + vdiscountctva With Nvl(poArticol.discount_unitar_ctva_val, 0) + + poArticol = calculeaza_totaluri(poArticol) + Gather Name poArticol Fields Like valftva, valtva, valctva, ; + valdiscountftva, valdiscounttva, valdiscountctva, ; + valdiminuatftva, valdiminuattva, valdiminuatctva, ; + vvalftva, vvaltva, vvalctva, ; + vvaldiscountftva, vvaldiscounttva, vvaldiscountctva, ; + vvaldiminuatftva, vvaldiminuattva, vvaldiminuatctva MEMO + Endscan + Use In crsartselectate + poArticol.cantitate = lnTotalCantitate && imi trebuie mai jos, unde actualizez cantitatea totala + Select crsfactura + Endif && !Used('crsartselectate') + + + If poArticol.Proc_Tvav > Thisform.nproc_tvav + Thisform.nproc_tvav = poArticol.Proc_Tvav + Endif + + If This.nnrinregvizibile < Recno('crsfactura') + lnRecno = Recno() - This.nnrinregvizibile + Go lnRecno + Else + Go Top + Endif + + restore_grid_tag(Thisform.grd_factura) + + Select (lcCursor) + lnRecno = Recno() + Do Case + Case gnScadereStoc = 1 And poDate.tip = 41 && aviz retur transfer catre subunitati lista pret + Replace cantitate With cantitate + poArticol.cantitate For id_c = poArticol.id_c + Go lnRecno + Case (gnScadereStoc = 1 And poDate.tip = 23) Or Inlist(poDate.tip, 3, 4, 21, 25, 28, 42, 47) && 23 aviz transfer catre subunitati din lista, 3 factura pe baza de comenzi, 21 aviz catre clienti din comanda + Replace cantitate With cantitate - poArticol.cantitate For id_c = poArticol.id_c + Go lnRecno + Case Inlist(poDate.tip, 8, 9) + Replace cantitate With cantitate + poArticol.cantitate For id_c = poArticol.id_c + Go lnRecno + Case poArticol.gestionabil = 1 And gnScadereStoc = 1 And ; + (Inlist(poDate.tip, 1, 22, 29) Or (poDate.tip = 2 And poArticol.opt_facturare = 0)) + Replace cantitate With IIF(cantitate - poArticol.cantitate > 0, cantitate - poArticol.cantitate, 0) For id_articol = poArticol.id_articol And gestionabil = 1 + * daca cantitatea ramasa dupa adaugarea articolului gestionabil este < 0, atunci pun 0 ca sa pot intra pe ramura facturare fara stoc + Go lnRecno + Endcase + + Thisform.do_calculeaza_totaluri() + + If poArticol.opt_facturare = 0 + Do Case + Case !Empty(Thisform.txtCodmat.Value) + Thisform.txtCodmat.SetFocus() + Case !Empty(Thisform.txtArticole.Value) + Thisform.txtArticole.SetFocus() + Otherwise + Thisform.grd_articole.SetFocus() + Endcase + Else + Thisform.grd_contracte.SetFocus() + Endif + Else + If poArticol.opt_facturare = 0 + Do Case + Case !Empty(Thisform.txtCodmat.Value) + Thisform.txtCodmat.SetFocus() + Case !Empty(Thisform.txtArticole.Value) + Thisform.txtArticole.SetFocus() + Otherwise + Thisform.grd_articole.SetFocus() + Endcase + Else + Thisform.grd_contracte.SetFocus() + Endif + Endif + + Release poArticol + Endif + Release loGrid, pnProcentDiscountMem + + ENDPROC + + PROCEDURE do_adauga_rata + Private poArticol + Select crsarticole1 + Scatter Name poArticol MEMO + Thisform.do_initializeaza_articol(@poArticol) + Select crsfactura + Locate For id_rata = poArticol.id_rata + If Found() + amessagebox([Aceasta rata a fost deja adaugata pe factura!],48,[Atentie]) + Else + gnButon = 2 + ofrmadarticol=Createobject("frm_articol_factura_rate") + ofrmadarticol.Show(1) + Release ofrmadarticol + + If gnButon = 1 + save_grid_tag(Thisform.grd_factura) + Select crsfactura + Append Blank + Gather Name poArticol Fields Like pret_achizitie,cantitate,Id_Pol,Cont,id_gestiune,Proc_Tvav,; + serie,id_valuta,gestionabil,tip_valuta,id_jtva_coloana,id_lucrare_rez,id_part_rez,pretv_orig,pretd,id_valuta_d,id_rata,; + data_rata,data_scadenta,nr_rata,id_ctr,opt_facturare,nume_val MEMO && modificare ROAFACTURARE v 2.0.77 : nume_val + + Replace id_articol With Nvl(poArticol.id_articol,0),id_temp With Recno(),; + codmat With Nvl(poArticol.codmat,Space(50)),codmatf With Nvl(poArticol.codmatf,Space(50)),; + codbare With Nvl(poArticol.codbare,Space(50)),um With Nvl(poArticol.um,[ ]),; + Curs With Nvl(poArticol.Curs,0),multiplicator WITH NVL(poArticol.multiplicator,1),; + cu_tva With poArticol.preturi_cu_tva,; + pretftva With poArticol.pretftva,Pretctva With poArticol.Pretctva,; + valftva With poArticol.pretftva,valtva With poArticol.tva,valctva With poArticol.Pretctva,; + vpretftva With Nvl(poArticol.pretftva_val,0),vpretctva With Nvl(poArticol.pretctva_val,0),; + vvalftva With NVL(poArticol.pretftva_val,0),vvaltva With NVL(poArticol.tva_val,0),vvalctva With NVL(poArticol.Pretctva_val,0),; + discountftva With poArticol.discount_unitar,discountctva With poArticol.discount_unitar_ctva,; + valdiscountftva WITH poArticol.discount_unitar,valdiscountctva WITH poArticol.discount_unitar_ctva,; + valdiscounttva WITH poArticol.discount_unitar_ctva - poArticol.discount_unitar,; + vdiscountftva With Nvl(poArticol.discount_unitar_val,0),vdiscountctva With Nvl(poArticol.discount_unitar_ctva_val,0),; + vvaldiscountftva WITH NVL(poArticol.discount_unitar_val,0),vvaldiscountctva WITH NVL(poArticol.discount_unitar_ctva_val,0),; + vvaldiscounttva WITH NVL(poArticol.discount_unitar_ctva_val,0)-NVL(poArticol.discount_unitar_val,0),; + valdiminuatftva WITH poArticol.pretftva - NVL(poArticol.discount_unitar,0),; + valdiminuattva WITH (poArticol.pretctva - poArticol.pretftva) - (NVL(poArticol.discount_unitar_ctva,0)-NVL(poArticol.discount_unitar,0)),; + valdiminuatctva WITH poArticol.pretctva - NVL(poArticol.discount_unitar_ctva,0),; + vvaldiminuatftva WITH poArticol.pretftva_val - NVL(poArticol.discount_unitar_val,0),; + vvaldiminuattva WITH (poArticol.pretctva_val - poArticol.pretftva_val) - (NVL(poArticol.discount_unitar_ctva_val,0)-NVL(poArticol.discount_unitar_val,0)),; + vvaldiminuatctva WITH poArticol.pretctva_val - NVL(poArticol.discount_unitar_ctva_val,0),; + denumire WITH poArticol.explicatie + + Select crsCtrTemp + Locate For id_ctr = poArticol.id_ctr And text_standard = 1 + If Found() + poArticol.numar_contract = ALLTRIM(contract) + Select crsfactura + Replace numar_contract With poArticol.numar_contract + Else + Select crsfactura + Endif + + If poArticol.Proc_Tvav > Thisform.nproc_tvav + Thisform.nproc_tvav = poArticol.Proc_Tvav + Endif + + poDate.datascad = Iif(Type('poArticol.data_scadenta')='T',Ttod(poArticol.data_scadenta),poArticol.data_scadenta) + Thisform.txtDataScadenta.Refresh() + + If This.nnrinregvizibile < Recno('crsfactura') + lnRecNo = Recno() - This.nnrinregvizibile + Go lnRecNo + Else + Go Top + Endif + + restore_grid_tag(Thisform.grd_factura) + + Thisform.do_calculeaza_totaluri() + Endif + Endif + Thisform.grd_contracte.SetFocus() + *!* Thisform.txtDenRata.SetFocus() + Release poArticol + + ENDPROC + + PROCEDURE do_adauga_tot + If Used('crsarticole') And Reccount('crsarticole')>0 + Local lnNrInregistrare,lnRaspuns,lcArticol + Select crsarticole + Scan + lnNrInregistrare = Recno() + lnRaspuns = 7 + lcArticol = Alltrim(denumire) + Do While lnRaspuns = 7 + If cantitate > 0 + Thisform.do_adauga_articol(.T.) + Endif + Select crsarticole + Go lnNrInregistrare + If cantitate = 0 + lnRaspuns = 6 + Else + lnRaspuns = aMessageBox("Nu ati selectat toata cantitatea pentru articolul "+Alltrim(lcArticol)+". Doriti sa treceti la urmatorul?",4+32,"Confirmare cantitate") + Endif + Enddo + Select crsarticole + Go lnNrInregistrare + Endscan + Else + amessagebox("Nu exista articole de adaugat!",48,"Atentie") + Endif + ENDPROC + + PROCEDURE do_alege_stoc + Lparameters tnIdArticol,tnCantitate,tcNumeArticol,tlImplicit,tnPret,tnDiscount,toGrid, tlRetur + * llImplicit => vezi thisform.do_adauga + * tnPret => doar pentru retururi : e pretul de vanzare fara TVA + * toGrid => gridul din care vine articolul + * tlRetur => factura normala cu articol retur (nu factura de retur tip 8,9). se comporta la fel ca factura de retur. se selecteaza din RUL, dar nu stiu factura din care fac retur + + Private pnIdArticol + Local llReturn,lofrmadarticol,lcSql, llFacturareFaraStoc + llFactuareFaraStoc = .F. + llReturn = .T. + + pnIdArticol = tnIdArticol + + If Inlist(poDate.tip,23,41) && 23 transfer catre subunitati din lista, 41 aviz retur transfer catre subunitati din lista + lcIdGestiune = Alltrim(Str(poDate.id_client)) + Else + If Isnull(poDate.id_gestiune_init) + lcIdGestiune = [NULL] + Else + lcIdGestiune = Alltrim(Str(poDate.id_gestiune_init)) + Endif + Endif + + *!* llFacturareFaraStoc = (m.tnCantitate = 999999999 And Type('gnRF_FACTURARE_FARA_STOC') = 'N' And m.gnRF_FACTURARE_FARA_STOC = 1) + llFacturareFaraStoc = (m.tnCantitate = 0 And Type('gnRF_FACTURARE_FARA_STOC') = 'N' And m.gnRF_FACTURARE_FARA_STOC = 1) + + If Inlist(poDate.tip,8,9) Or m.tlRetur && factura retur lei, factura retur valuta sau factura normala cu retur de articole + lcSql = [{call pack_facturare.cursor_gestiuni_articol_retur(] + Alltrim(Str(pnIdArticol)) + [,] + ; + Alltrim(Str(poDate.tip)) + [,] + lcIdGestiune + [,] + ; + Alltrim(Str(tnPret,20,gnPPretV)) + [,] + Alltrim(Str(tnDiscount,20,gnPPretV)) + [,] + ; + Alltrim(Str(gnLuna)) + [,] + Alltrim(Str(gnAn)) + [,] + ; + Alltrim(Str(gnIdUtil)) + [,'] + Alltrim(poDate.listaid) + [',] + ; + Iif(Isnull(gnIdSucursala),[NULL],Alltrim(Str(gnIdSucursala))) + [)}] + Else + If !m.llFacturareFaraStoc + lcSql = [{call pack_facturare.cursor_gestiuni_articol(] + Alltrim(Str(pnIdArticol)) + [,] + ; + Alltrim(Str(poDate.tip)) + [,] + lcIdGestiune + [,] + ; + Alltrim(Str(gnLuna)) + [,] + Alltrim(Str(gnAn)) + [,] + Alltrim(Str(gnIdUtil)) + [,] + ; + IIF(Isnull(gnIdSucursala),[NULL],Alltrim(Str(gnIdSucursala))) + [)}] + Else + * Selectie articol fara stoc (din stoc anul curent si precedent) + lcSql = [{call pack_facturare.cursor_gestiuni_articol_stoc0(] + Alltrim(Str(pnIdArticol)) + [,] + ; + Alltrim(Str(poDate.tip)) + [,] + lcIdGestiune + [,] + ; + Alltrim(Str(gnLuna)) + [,] + Alltrim(Str(gnAn)) + [,] + Alltrim(Str(gnIdUtil)) + [,] + ; + IIF(Isnull(gnIdSucursala),[NULL],Alltrim(Str(gnIdSucursala))) + [)}] + Endif + Endif + + lcCursor = [crsgestarticol] + lcCursorTemp = [crsgestarticoltemp] + lnSucces = goExecutor.oExecute(lcSql,lcCursorTemp) + Do Case + Case lnSucces < 0 + amessagebox(goExecutor.oPrelucrareEroare(),0+16,"Eroare") + toGrid.SetFocus() + llReturn = .F. + Case Reccount(lcCursorTemp) = 0 + amessagebox("Articolul "+Alltrim(tcNumeArticol)+" nu este pe stoc!",0+48,"Atentie") + toGrid.SetFocus() + llReturn = .F. + Otherwise + + If m.llFacturareFaraStoc + Update (m.lcCursorTemp) Set datain = Date(Year(Date())+1,1,1) Where Empty(Nvl(datain,{})) + Endif + + copiaza_structura_cursor(lcCursorTemp,lcCursor) + + Insert Into (lcCursor) (ales,id_gestiune,cantitate,Cont,serie,Pret,nume_gestiune,datain,pretv,pretvctva,part_rez,id_part_rez,nrord_rez,id_lucrare_rez,pretd,id_valuta,nume_val); + Select a.ales,a.id_gestiune,a.cantitate - Iif(Inlist(poDate.tip,8,9),(-1),1) * Nvl(b.cantitate,0) As cantitate,a.Cont,a.serie,a.Pret,a.nume_gestiune,; + a.datain,a.pretv,a.pretvctva,a.part_rez,a.id_part_rez,a.nrord_rez,a.id_lucrare_rez,a.pretd,a.id_valuta,a.nume_val ; + from (lcCursorTemp) a Left Join ; + (Select Iif(poDate.tip=41,-1,1)*Sum(cantitate) As cantitate,id_articol,id_gestiune,pret_achizitie,serie,Cont, ; + id_part_rez,id_lucrare_rez,pretv_orig,pretd,id_valuta_d ; + FROM crsfactura Where id_articol = pnIdArticol ; + GROUP By id_articol,id_gestiune,pret_achizitie,serie,Cont,id_part_rez,id_lucrare_rez,pretv_orig,pretd,id_valuta_d) b ; + ON a.id_gestiune = b.id_gestiune And a.Pret = b.pret_achizitie And a.Cont = b.Cont ; + And Nvl(a.serie,'') = Nvl(b.serie,'') ; + And Nvl(a.id_part_rez,0) = Nvl(b.id_part_rez,0) And Nvl(a.id_lucrare_rez,0) = Nvl(b.id_lucrare_rez,0) ; + And a.pretv = b.pretv_orig And a.pretd = b.pretd And Nvl(a.id_valuta,0) = Nvl(b.id_valuta_d,0) ; && modificare v 2.0.84 : am pus 0 in loc de -99 la id_valuta_d + Where a.cantitate - Iif(Inlist(poDate.tip,8,9),(-1),1) * Nvl(b.cantitate,0) > 0 ; + Order By a.datain, a.nume_gestiune,a.serie,a.Pret,a.pretd,a.id_valuta,; + a.pretv,a.Cont,a.part_rez,a.nrord_rez + + Go Top + Do Case + Case Reccount(lcCursor) = 0 + amessagebox("Articolul "+Alltrim(tcNumeArticol)+" nu mai este pe stoc!",0+48,"Atentie") + toGrid.SetFocus() + llReturn = .F. + *!* modificare v 2.0.44 + Case Reccount(lcCursor) = 1 And tlImplicit + Local lnNrOptiuniTva + lnNrOptiuniTva = 0 + Select jtva_coloane + Calculate Cnt() For (cota_tva + 100)/100 = Nvl(poArticol.proc_tvav,-1) To lnNrOptiuniTva + Select (lcCursor) && modificare v 2.2.18 : l-am scos din "if" pentru ca aveam nevoie de el si pe "else" + If lnNrOptiuniTva = 1 + *!* Locate For (cota_tva + 100)/100 = poArticol.proc_tvav + *!* poArticol.proc_tvav = (cota_tva + 100)/100 + *!* poArticol.id_jtva_coloana = id_jtva_coloana + *!* Select (lcCursor) && modificare v 2.2.18 : l-am mutat inaintea "if"-ului + poArticol.pret_achizitie = Pret + poArticol.serie = Nvl(serie,[]) + poArticol.id_gestiune = id_gestiune + poArticol.Cont = Alltrim(Cont) + poArticol.id_lucrare_rez = id_lucrare_rez + poArticol.id_part_rez = id_part_rez + poArticol.pretv_orig = pretv + *!* modificare v 2.0.56 + poArticol.pretd = pretd + poArticol.id_valuta_d = id_valuta + *!* modificare v 2.0.56 ^ + lofrmadarticol=Createobject("frm_articol_gest_factura",tnCantitate,tlImplicit,tlRetur) + If !lofrmadarticol.inainte_de_do_termin() + lofrmadarticol.Show(1) + Else + lofrmadarticol.Release() + gnButon = 1 + Endif + Else + lofrmadarticol=Createobject("frm_articol_gest_factura",tnCantitate, .F., tlRetur) + lofrmadarticol.Show(1) + *!* modificare v 2.0.46 + If gnButon = 1 + Select * From (lcCursor) Where ales = 1 Into Cursor crsartselectate + If Reccount('crsartselectate') = 0 + Use In crsartselectate + Endif + Endif + *!* modificare v 2.0.46 ^ + Endif + Release lofrmadarticol + *!* modificare v 2.0.44 ^ + Otherwise + lofrmadarticol=Createobject("frm_articol_gest_factura",tnCantitate, .F., tlRetur) + lofrmadarticol.Show(1) + Release lofrmadarticol + *!* modificare v 2.0.46 + If gnButon = 1 + Select * From (lcCursor) Where ales = 1 Into Cursor crsartselectate + If Reccount('crsartselectate') = 0 + Use In crsartselectate + Endif + Endif + *!* modificare v 2.0.46 ^ + Endcase + Endcase + If Used(lcCursor) + Use In (lcCursor) + Endif + If Used(lcCursorTemp) + Use In (lcCursorTemp) + Endif + + *!* * Construiesc o lista de articole la care nu am gasit stoc, ca sa le tratez special la finalizarea facturii!!! this.scrie_articole + *!* IF m.llReturn + *!* If m.llFacturareFaraStoc + *!* this.cListaArticoleFaraStoc = this.cListaArticoleFaraStoc + ALLTRIM(STR(tnIdArticol)) + [,] + *!* ENDIF + *!* ENDIF + Return llReturn + + ENDPROC + + PROCEDURE do_calculeaza_discount + Lparameters tnProcent + If tnProcent = 0 + Thisform.ndiscfactron = 0 + Thisform.ndiscfactval = 0 + Else + If poDate.in_valuta = 1 + Thisform.ndiscfactval = Round(Thisform.nbazafdiscountval * tnProcent / 100,gnPVal) + Thisform.ndiscfactron = Round(Thisform.ndiscfactval*poDate.Curs/poDate.multiplicator,gnPc) + Else + Thisform.ndiscfactron = Round(Thisform.nbazafdiscount * tnProcent / 100,gnPc) + Endif + Endif + *!* Thisform.clb_discount.Refresh() + Thisform.do_calculeaza_totaluri() + + ENDPROC + + PROCEDURE do_calculeaza_totaluri + Lparameters tlModificareDiscount + Local lnTotal,lnTva,lnBaza,lnDisc + lnTotal = 0 + lnTva = 0 + lnBaza = 0 + lnDisc = 0 + If poDate.in_valuta = 0 + *!* modificare v 2.0.46 + *!* Select Sum(valdiminuatctva) As Total,Sum(valdiminuatftva) As Baza,; + *!* Sum(valdiminuattva) As Tva,; + *!* Sum(valdiscountftva) As discount From crsfactura Into Cursor crstotalurifact + *!* Select crstotalurifact + *!* Thisform.nbazafdiscount = Nvl(Baza,0) + *!* lnTotal = Nvl(Total,0) + *!* Thisform.nbazaron = Nvl(Baza,0) - Round(Thisform.ndiscfactron, gnPc) + *!* Thisform.ndiscron = Nvl(discount,0) + *!* Thisform.ntvaron = Nvl(Tva,0) - Round(Thisform.ndiscfactron * (Thisform.nproc_tvav - 1), gnPc) + *!* Thisform.ntotalron = lnTotal - Round(Thisform.ndiscfactron * Thisform.nproc_tvav, gnPc) + If Used('crsfacturaset') + Select Sum(Nvl(valdiminuatctva,0)) As Total,Sum(Nvl(valdiminuatftva,0)) As Baza,; + Sum(Nvl(valdiminuattva,0)) As Tva,; + Sum(Nvl(valdiscountftva,0)) As discount From crsfacturaset ; + union All ; + select Nvl(Sum(valdiminuatctva),0) As Total,Nvl(Sum(valdiminuatftva),0) As Baza,; + Nvl(Sum(valdiminuattva),0) As Tva,; + Nvl(Sum(valdiscountftva),0) As discount From crsfactura Where Nvl(id_set_fact,0) = 0 ; + into Cursor crstotalurifact + Else + Select Sum(Nvl(valdiminuatctva,0)) As Total,Sum(Nvl(valdiminuatftva,0)) As Baza,; + Sum(Nvl(valdiminuattva,0)) As Tva,; + Sum(Nvl(valdiscountftva,0)) As discount From crsfactura Into Cursor crstotalurifact + Endif + + Select crstotalurifact + Scan + lnTotal = lnTotal + Nvl(Total,0) + lnTva = lnTva + Nvl(Tva,0) + lnBaza = lnBaza + Nvl(Baza,0) + lnDisc = lnDisc + Nvl(discount,0) + Endscan + Thisform.nbazafdiscount = Nvl(lnBaza,0) + Thisform.nbazaron = Nvl(lnBaza,0) - Round(Thisform.ndiscfactron, gnPc) + Thisform.ndiscron = Nvl(lnDisc,0) + Thisform.ntvaron = Nvl(lnTva,0) - Round(Thisform.ndiscfactron * (Thisform.nproc_tvav - 1), gnPc) + Thisform.ntotalron = lnTotal - Round(Thisform.ndiscfactron * Thisform.nproc_tvav, gnPc) + *!* modificare v 2.0.46 ^ + If !Empty(Thisform.ndiscfactron) + Thisform.clb_discount.procent.Value = Round(Thisform.ndiscfactron * 100 / Thisform.nbazafdiscount,2) + Else + Thisform.clb_discount.procent.Value = 0 + Endif + Else + *!* modificare v 2.0.46 + *!* Select Sum(vvaldiminuatctva) As Total,Sum(vvaldiminuatftva) As Baza,; + *!* Sum(vvaldiminuattva) As Tva,; + *!* Sum(vvaldiscountftva) As discount From crsfactura Into Cursor crstotalurifact + *!* Select crstotalurifact + *!* Thisform.nbazafdiscountval = Nvl(Baza,0) + *!* lnTotal = Nvl(Total,0) + *!* Thisform.nbazaval = Nvl(Baza,0) - Round(Thisform.ndiscfactval, gnPc) + *!* Thisform.ndiscval = Nvl(discount,0) + *!* Thisform.ntvaval = Nvl(Tva,0) - Round(Thisform.ndiscfactval * (Thisform.nproc_tvav - 1), gnPc) + *!* Thisform.ntotalval = lnTotal - Round(Thisform.ndiscfactval * Thisform.nproc_tvav, gnPc) + If Used('crsfacturaset') + Select Sum(Nvl(vvaldiminuatctva,0)) As Total,Sum(Nvl(vvaldiminuatftva,0)) As Baza,; + Sum(Nvl(vvaldiminuattva,0)) As Tva,; + Sum(Nvl(vvaldiscountftva,0)) As discount From crsfacturaset ; + union All ; + select Nvl(Sum(vvaldiminuatctva),0) As Total,Nvl(Sum(vvaldiminuatftva),0) As Baza,; + Nvl(Sum(vvaldiminuattva),0) As Tva,; + Nvl(Sum(vvaldiscountftva),0) As discount From crsfactura Where Nvl(id_set_fact,0) = 0 ; + into Cursor crstotalurifact + Else + Select Sum(Nvl(vvaldiminuatctva,0)) As Total,Sum(Nvl(vvaldiminuatftva,0)) As Baza,; + Sum(Nvl(vvaldiminuattva,0)) As Tva,; + Sum(Nvl(vvaldiscountftva,0)) As discount From crsfactura Into Cursor crstotalurifact + Endif + Select crstotalurifact + Scan + lnTotal = lnTotal + Nvl(Total,0) + lnTva = lnTva + Nvl(Tva,0) + lnBaza = lnBaza + Nvl(Baza,0) + lnDisc = lnDisc + Nvl(discount,0) + Endscan + Thisform.nbazafdiscountval = Nvl(lnBaza,0) + Thisform.nbazaval = Nvl(lnBaza,0) - Round(Thisform.ndiscfactval, gnPVal) + Thisform.ndiscval = Nvl(lnDisc,0) + Thisform.ntvaval = Nvl(lnTva,0) - Round(Thisform.ndiscfactval * (Thisform.nproc_tvav - 1), gnPVal) + Thisform.ntotalval = lnTotal - Round(Thisform.ndiscfactval * Thisform.nproc_tvav, gnPVal) + *!* modificare v 2.0.46 ^ + Thisform.nbazaron = Round(Thisform.nbazaval*poDate.Curs/poDate.multiplicator,gnPc) + Thisform.ndiscron = Round(Thisform.ndiscval*poDate.Curs/poDate.multiplicator,gnPc) + Thisform.ntvaron = Round(Thisform.ntvaval*poDate.Curs/poDate.multiplicator,gnPc) + Thisform.ntotalron = Round(Thisform.ntotalval*poDate.Curs/poDate.multiplicator,gnPc) + Thisform.nbazafdiscount = Round(Thisform.nbazafdiscountval*poDate.Curs/poDate.multiplicator,gnPc) + + If !Empty(Thisform.ndiscfactval) + Thisform.ndiscfactron = Round(Thisform.ndiscfactval * poDate.Curs/poDate.multiplicator,gnPc) + Thisform.clb_discount.procent.Value = Round(Thisform.ndiscfactval * 100 / Thisform.nbazafdiscountval,2) + Else + Thisform.clb_discount.procent.Value = 0 + Endif + + Endif + + If tlModificareDiscount + Thisform.clb_discount.procent.Refresh() + Else + Thisform.clb_discount.Refresh() + Endif + Thisform.clb_discount_articole.Refresh() + Thisform.clb_total_baza.Refresh() + Thisform.clb_total_tva.Refresh() + Thisform.clb_total_factura.Refresh() + + If Used('crstotalurifact') + Use In crstotalurifact + Endif + + ENDPROC + + PROCEDURE do_creeaza_filtru + Lparameters toCriteriu,tcNumeCamp,tcValoare + Local lnCriteriu,lcFiltru + lnCriteriu = toCriteriu.Value + Do Case + Case lnCriteriu = 1 and !Empty(tcValoare) + lcFiltru = "LIKE('" + Upper(Strtran(tcValoare,['],[''])) + "*',UPPER(Nvl("+Alltrim(tcNumeCamp)+",'')))" + Case lnCriteriu = 2 and !Empty(tcValoare) + lcFiltru = "UPPER(Nvl("+Alltrim(tcNumeCamp)+",''))='" + Upper(Strtran(tcValoare,['],[''])) + "'" + Case lnCriteriu = 3 and !Empty(tcValoare) + lcFiltru = "UPPER(Nvl("+Alltrim(tcNumeCamp)+",''))<>'" + Upper(Strtran(tcValoare,['],[''])) + "'" + Case lnCriteriu = 4 and !Empty(tcValoare) + lcFiltru = "LIKE('*" + Upper(Strtran(tcValoare,['],[''])) + "*',UPPER(Nvl("+Alltrim(tcNumeCamp)+",'')))" + Case lnCriteriu = 5 and !Empty(tcValoare) + lcFiltru = "!LIKE('*" + Upper(Strtran(tcValoare,['],[''])) + "*',UPPER(Nvl("+Alltrim(tcNumeCamp)+",'')))" + Case lnCriteriu=6 + lcFiltru = "EMPTY(Nvl("+Alltrim(tcNumeCamp)+",''))" + Case lnCriteriu=7 + lcFiltru = "!EMPTY(Nvl("+Alltrim(tcNumeCamp)+",''))" + Endcase + Return lcFiltru + ENDPROC + + PROCEDURE do_initializeaza_articol + Lparameters toArticol + toArticol.um = Nvl(toArticol.um,'') + If Type('toArticol.id_gestiune') = "U" + AddProperty(toArticol,'id_gestiune',-1000) + Endif + If Type('toArticol.cont') = "U" + AddProperty(toArticol,'cont',[XXXX]) + Endif + AddProperty(toArticol,'id_temp',0) + + If toArticol.preturi_cu_tva = 0 + toArticol.discount_unitar = Nvl(toArticol.discount_unitar,0) + toArticol.discount_unitar_val = Nvl(toArticol.discount_unitar_val,0) + *!* modificare v 2.0.56 + *!* AddProperty(toArticol,'discount_unitar_ctva',0) + *!* AddProperty(toArticol,'discount_unitar_ctva_val',0) + AddProperty(toArticol,'discount_unitar_ctva',Iif(Isnull(toArticol.proc_tvav),0,Round(toArticol.discount_unitar*(toArticol.proc_tvav-1),gnPPretV)+toArticol.discount_unitar)) + AddProperty(toArticol,'discount_unitar_ctva_val',Iif(Isnull(toArticol.proc_tvav),0,Round(toArticol.discount_unitar_val*(toArticol.proc_tvav-1),gnPVal)+toArticol.discount_unitar_val)) + *!* modificare v 2.0.56 ^ + AddProperty(toArticol,'pretftva',toArticol.Pret) + AddProperty(toArticol,'tva',Iif(Isnull(toArticol.proc_tvav),0,Round(toArticol.Pret * (toArticol.proc_tvav - 1),gnPPretV))) + AddProperty(toArticol,'pretctva',toArticol.Pret + toArticol.tva) + AddProperty(toArticol,'pretftva_val',toArticol.pret_val) + AddProperty(toArticol,'tva_val',Iif(Isnull(toArticol.proc_tvav),0,Round(toArticol.pret_val * (toArticol.proc_tvav - 1),gnPVal))) + AddProperty(toArticol,'pretctva_val',toArticol.pret_val + toArticol.tva_val) + Else + AddProperty(toArticol,'discount_unitar_ctva',Iif(Isnull(toArticol.proc_tvav),0,Nvl(toArticol.discount_unitar,0))) + AddProperty(toArticol,'discount_unitar_ctva_val',Iif(Isnull(toArticol.proc_tvav),0,Nvl(toArticol.discount_unitar_val,0))) + *!* modificare v 2.0.56 + *!* toArticol.discount_unitar = 0 + *!* toArticol.discount_unitar_val = 0 + toArticol.discount_unitar = Iif(Isnull(toArticol.proc_tvav),0,Round(toArticol.discount_unitar/ toArticol.proc_tvav,gnPPretV)) + toArticol.discount_unitar_val = Iif(Isnull(toArticol.proc_tvav),0,Round(toArticol.discount_unitar_val/ toArticol.proc_tvav,gnPVal)) + *!* modificare v 2.0.56 ^ + AddProperty(toArticol,'pretctva',toArticol.Pret) + AddProperty(toArticol,'pretftva',Iif(Isnull(toArticol.proc_tvav),0,Round(toArticol.Pret / toArticol.proc_tvav,gnPPretV))) + AddProperty(toArticol,'tva',toArticol.Pret-toArticol.pretftva) + AddProperty(toArticol,'pretctva_val',toArticol.pret_val) + AddProperty(toArticol,'pretftva_val',Iif(Isnull(toArticol.proc_tvav),0,Round(toArticol.pret_val/toArticol.proc_tvav,gnPVal))) + AddProperty(toArticol,'tva_val',toArticol.pretctva_val-toArticol.pretftva_val) + Endif + AddProperty(toArticol,'valftva',0) + AddProperty(toArticol,'valtva',0) + AddProperty(toArticol,'valctva',0) + AddProperty(toArticol,'valdiscountftva',0) + AddProperty(toArticol,'valdiscounttva',0) + AddProperty(toArticol,'valdiscountctva',0) + AddProperty(toArticol,'valdiminuatftva',0) + AddProperty(toArticol,'valdiminuattva',0) + AddProperty(toArticol,'valdiminuatctva',0) + AddProperty(toArticol,'vvalftva',0) + AddProperty(toArticol,'vvaltva',0) + AddProperty(toArticol,'vvalctva',0) + AddProperty(toArticol,'vvaldiscountftva',0) + AddProperty(toArticol,'vvaldiscounttva',0) + AddProperty(toArticol,'vvaldiscountctva',0) + AddProperty(toArticol,'vvaldiminuatftva',0) + AddProperty(toArticol,'vvaldiminuattva',0) + AddProperty(toArticol,'vvaldiminuatctva',0) + *!* modificare v 2.0.46 + *!* AddProperty(toArticol,'id_jtva_coloana',0) + *!* AddProperty(toArticol,'explicatie','') + If Type('toArticol.id_jtva_coloana') = 'U' + AddProperty(toArticol,'id_jtva_coloana',0) + Endif + *!* modificare v 2.0.67 + *!* AddProperty(toArticol,'explicatie',Iif(poDate.tip=7,[INVOICE ] + poDate.descriere,'')) + If Type('toArticol.explicatie') = 'U' + AddProperty(toArticol,'explicatie',Iif(poDate.tip=7,[INVOICE ] + poDate.descriere,'')) + Endif + If Type('toArticol.serie') = 'U' + AddProperty(toArticol,'serie','') + Else + toArticol.serie = Nvl(toArticol.serie,[]) + Endif + If Type('toArticol.opt_facturare') = 'U' + AddProperty(toArticol,'opt_facturare',0) + Endif + If Type('toArticol.id_ctr') = 'U' + AddProperty(toArticol,'id_ctr',Null) + Endif + If Type('toArticol.numar_contract') = 'U' + AddProperty(toArticol,'numar_contract',Null) + Endif + *!* modificare v 2.0.67 ^ + AddProperty(toArticol,'codmatf','') + *!* modificare v 2.0.46 ^ + If Type('toArticol.pret_achizitie')="U" + AddProperty(toArticol,'pret_achizitie',0) + Else + If Isnull(toArticol.pret_achizitie) + toArticol.pret_achizitie = 0 + Endif + Endif + *!* modificare v 2.0.19 + AddProperty(toArticol,'id_lucrare_rez',0) + AddProperty(toArticol,'id_part_rez',0) + AddProperty(toArticol,'pretv_orig',0) + *!* modificare v 2.0.19 ^ + *!* modificare v 2.0.56 + If Inlist(poDate.tip,8,9) && retur lei, retur valuta + toArticol.cantitate = (-1) * toArticol.cantitate + Endif + If Type('toArticol.pretd') = 'U' + AddProperty(toArticol,'pretd',0.0000) + Endif + If Type('toArticol.id_valuta_d') = 'U' + AddProperty(toArticol,'id_valuta_d',Null) + Endif + *!* modificare v 2.0.56 ^ + *!* modificare v 2.0.67 + *!* modificare v 2.0.90 : am adaugat 7 + If Inlist(poDate.tip,1,2,5,6,22,23,29,41,7,10) AND !INLIST(toArticol.opt_facturare,1,2) + toArticol.cantitate = 0 + Endif + *!* modificare v 2.0.67 ^ + ENDPROC + + PROCEDURE do_renunt + *!* modificare 19.01.2007 + DODEFAULT() + *!* If This.inainte_de_do_renunt() + *!* gnButon = 2 + *!* pnButon = 2 + *!* Buton = 2 + *!* pnIesire = 2 + *!* If !This.lhide + *!* This.Release + *!* Else + *!* This.Hide + *!* Endif + *!* Sqlrollback(gnHandle) + *!* SQLSetprop(gnHandle,"Transactions",1) && tranzactie automata + *!* Endif + *!* modificare 19.01.2007 ^ + ENDPROC + + PROCEDURE do_reset + *!* modificare v 2.0.56 + Local lcCriteriuCod + Local lcCriteriuDenumire + lcCriteriuCod = goExport.citesteSetareRegistru("CRITCOD") + If !Empty(lcCriteriuCod) And Type('VAL(lcCriteriuCod)') = 'N' + Thisform.ncritcod = Val(lcCriteriuCod) + Endif + Thisform.ct_codmat.Value = Thisform.ncritcod + *!* modificare v 2.0.56 ^ + + lcCriteriuDenumire = goExport.citesteSetareRegistru("CRITDENUMIRE") + If !Empty(lcCriteriuDenumire) And Type('VAL(lcCriteriuDenumire)') = 'N' + Thisform.ncritDenumire = Val(lcCriteriuDenumire) + Endif + Thisform.ct_articole.Value = Thisform.ncritDenumire + + Thisform.txtCodmat.Value = [] + *Thisform.ct_articole.Value = 1 + Thisform.txtArticole.Value = [] + *!* modificare v 2.0.56 + Thisform.do_cauta() + Thisform.Refresh() + Thisform.txtCodmat.SetFocus() + *!* modificare v 2.0.56 ^ + + ENDPROC + + PROCEDURE do_retur + Thisform.do_adauga_articol(.F., .F., .T.) + ENDPROC + + PROCEDURE do_scrie_articole + Local llReturn,lcSql,lnSucces + llReturn = .T. + *!* pentru lnNrInregistrari > 1 trebuie am mai multe variabile : poArt1,poArt2,poArt3 ca sa pot concatena lcSql + *!* lnNrInregistrari = 1 && trimite sirul catre server o data pentru lnNrInregistrari + *!* lnNrInregCurenta = 0 + + If Thisform.do_deschide_tranzactie() + + * Factura de vanzare pe care am adaugat articole retur + IF !EMPTY(thisform.cListaIdArticoleRetur) + poDate.listaid = thisform.cListaIdArticoleRetur + ENDIF + + lcSql = [pack_facturare.initializeaza_date_factura(] + ; + [to_date('] + ALLTRIM(NVL(Dtoc(poDate.dataireg,2),[])) + [','YYYYMMDD'),] + ; + Nvl(Alltrim(Str(poDate.id_fdoc)),[NULL]) + [,to_date('] + ALLTRIM(NVL(Dtoc(poDate.dataact,2),[])) + [','YYYYMMDD'),] + ; + [to_date('] + ALLTRIM(NVL(Dtoc(poDate.datascad,2),[])) + [','YYYYMMDD'),'] + ALLTRIM(Nvl(poDate.serie_act,[])) + [',] + ; + Alltrim(Str(poDate.nract,14,0)) + [,] + ; + Iif(Isnull(poDate.id_client),[NULL],Alltrim(Str(poDate.id_client))) + [,] + ; + Iif(Isnull(poDate.id_lucrare),[NULL],Alltrim(Str(poDate.id_lucrare))) + [,] + ; + Iif(Isnull(poDate.id_sectie),[NULL],Alltrim(Str(poDate.id_sectie))) + [,] + ; + Iif(Isnull(poDate.id_venchelt),[NULL],Alltrim(Str(poDate.id_venchelt))) + [,] + ; && modificare v 2.0.46 + iif(Isnull(poDate.id_responsabil),[NULL],Alltrim(Str(poDate.id_responsabil))) + [,] + ; + IIF(EMPTY(nvl(poDate.explicatia4,[])),[NULL],['] + OracleSpecialCharacters(ALLTRIM(poDate.explicatia4))+[']) + [,] + ; && modificare ROACONTRACTE v 2.0.42 + [NULL,] + Iif(Isnull(poDate.listaid),[NULL],['] + Alltrim(Iif(Type('poDate.listaid')='C',poDate.listaid,Str(poDate.listaid))) + [']) + [,] + ; + ['] + OracleSpecialCharacters(Alltrim(Nvl(poDate.descriere,[]))) + [',] + ; + Alltrim(Str(poDate.Tip)) + [,] + Alltrim(Str(poDate.id_set)) + [,] + ; + [to_date('] + ALLTRIM(NVL(Dtoc(poDate.zi_curs,2),[])) + [','YYYYMMDD'),] + Alltrim(Str(poDate.id_valuta)) + [,] + ; + Alltrim(Str(poDate.in_valuta)) + [,] + ; + alltrim(str(poDate.tva_incasare)) + [,] + ; + Iif(Isnull(gnIdSucursala),[NULL],Alltrim(Str(gnIdSucursala))) + [,] + ; + Alltrim(Str(gnIdUtil)) + [);] + + If Inlist(poDate.Tip,23,25,30,41) && transfer intre subunitati pe baza de lista de preturi/comanda + lcSql = lcSql + [ pack_facturare.initializeaza_date_gestiune(] + Alltrim(Str(poDateGestiuneDest.id_gestiune)) + [,] + ; + Alltrim(Str(poDateGestiuneDest.id_tipgest)) + [,'] + Alltrim(poDateGestiuneDest.Cont) +[',] + ; + ['] + Alltrim(Nvl(poDateGestiuneDest.acont,[])) + [');] + Endif + + If Inlist(poDate.Tip,23,25) + If poDateGestiuneDest.Cont = '357' + loCauta = CautPartenerContabilitate(GetHash([cTitlu=>Partener rezervare??cCont=>357??lAdaugCorespondente=>1])) + If !Empty(Nvl(loCauta.id_part,0)) And !Empty(loCauta.denumire) + poDate.id_part_rez = loCauta.id_part + lcSql = lcSql + [ pack_facturare.initializeaza_part_rez(] + Alltrim(Str(loCauta.id_part)) + [);] + *!* modificare v 2.1.0 + loCauta = caut_contract_activ(-1,poDate.id_part_rez) + If gnButon = 1 + poDate.text_aditional = [Conform contract nr.] + Alltrim(loCauta.numar) + [ din data de ] + ; + PADL(Alltrim(Str(Day(loCauta.Data))),2,[0]) + [.] + ; + PADL(Alltrim(Str(Month(loCauta.Data))),2,[0]) + [.] + ; + ALLTRIM(Str(Year(loCauta.Data))) + ; + IIF(!Empty(poDate.text_aditional),Chr(13) + Chr(10) + poDate.text_aditional,[]) + Endif + *!* modificare v 2.1.0 ^ + ENDIF + Endif + Endif + *!* modificare v 2.0.19 ^ + lcSql = [begin ] + lcSql + [ end;] + + lnSucces = goExecutor.oExecute(lcSql) + If lnSucces<0 + amessagebox(goExecutor.oPrelucrareEroare(),16,"Eroare") + llReturn = .F. + Else + Private poArt + lcSql = [] + Select crsfactura + Scan + *!* lnNrInregCurenta = lnNrInregCurenta + 1 + Scatter Name poArt MEMO + *!* modificare v 2.0.67 + If Inlist(poArt.opt_facturare,1,2) + lcSql = lcSql + gcS + [.pack_facturare.adauga_rata_factura(] + Alltrim(Str(poArt.id_rata)) + [,] + ; + IIF(poArt.cu_tva = 0,; + IIF(poArt.tip_valuta = 0,Alltrim(Str(poArt.pretftva,18,gnPPretV)),Alltrim(Str(poArt.vpretftva,18,gnPVal))),; + IIF(poArt.tip_valuta = 0,Alltrim(Str(poArt.pretctva,18,gnPPretV)),Alltrim(Str(poArt.vpretctva,18,gnPVal)))) + [,] + ; + Alltrim(Str(poArt.Curs,18,4)) + [,] + ALLTRIM(STR(poArt.multiplicator,10)) + [,] + ; + Alltrim(Str(poArt.id_jtva_coloana)) + [,] + ; + ['] + OracleSpecialCharacters(Alltrim(poArt.denumire)) + [',] + ; + alltrim(Str(gnIdUtil)) + [);] + Else + *!* modificare v 2.0.67 ^ + *!* v 2.0.13 + *!* lcSql = lcSql + gcS + [.pack_facturare.adauga_articol_factura(?poArt.id_temp,?poArt.id_articol,TRIM(NVL(?poArt.serie,'')),] + ; + *!* [TRIM(NVL(?poArt.explicatie,'')),?poArt.id_pol,?poArt.id_gestiune,?poArt.pret_achizitie,] + ; + *!* IIF(poArt.cu_tva=0,; + *!* IIF(poArt.tip_valuta = 0,[?poArt.pretftva],[?poArt.vpretftva]),; + *!* IIF(poArt.tip_valuta = 0,[?poArt.pretctva],[?poArt.vpretctva])) + [,] + ; + *!* [?poArt.id_valuta,?poArt.cu_tva,?poArt.gestionabil,?poArt.cantitate,] + ; + *!* IIF(poArt.cu_tva = 0,; + *!* Iif(poArt.tip_valuta = 0,[?poArt.discountftva],[?poArt.vdiscountftva]), ; + *!* IIF(poArt.tip_valuta = 0,[?poArt.discountctva],[?poArt.vdiscountctva])) + [,] + ; + *!* [TRIM(NVL(?poArt.Cont,'')),?poArt.Curs,?poArt.id_jtva_coloana,?poArt.id_set_fact,?gnIdUtil);] + *!* *!* If lnNrInregCurenta = lnNrInregistrari + *!* modificare v 2.0.56 : am adaugat pretd, id_valutad + *!* modificare v 2.0.67 : am adaugat id_ctr + *!* modificare v 2.2.14 : am pus gnPPretval in loc de gnPVal la poArt.pretd + + lcSql = lcSql + [pack_facturare.adauga_articol_factura(] + Alltrim(Str(poArt.id_temp)) + [,] + ; + Alltrim(Str(poArt.id_articol)) + [,] + ; + ['] + OracleSpecialCharacters(Alltrim(Nvl(poArt.serie,[]))) + [',] + ; + ['] + OracleSpecialCharacters(Alltrim(Nvl(poArt.explicatie,''))) + [',] + Nvl(Alltrim(Str(poArt.id_pol)),[NULL]) + [,] + ; + Nvl(Alltrim(Str(poArt.id_gestiune)),[NULL]) + [,] + Alltrim(Str(poArt.pret_achizitie,18,gnPPret)) + [,] + ; + Alltrim(Str(poArt.pretd,18,gnPPretval)) + [,] + ; + Iif(Isnull(poArt.id_valuta_d),[NULL],Alltrim(Str(poArt.id_valuta_d))) + [,] + ; + IIF(poArt.cu_tva=0,; + IIF(poArt.tip_valuta = 0,Alltrim(Str(poArt.pretftva,18,gnPPretV)),Alltrim(Str(poArt.vpretftva,18,gnPVal))),; + IIF(poArt.tip_valuta = 0,Alltrim(Str(poArt.pretctva,18,gnPPretV)),Alltrim(Str(poArt.vpretctva,18,gnPVal)))) + [,] + ; + Alltrim(Str(poArt.id_valuta)) + [,] + Alltrim(Str(poArt.cu_tva)) + [,] + Alltrim(Str(poArt.gestionabil)) + [,] + ; + Alltrim(Str(poArt.cantitate,18,gnPCant)) + [,] + ; + IIF(poArt.cu_tva = 0,; + Iif(poArt.tip_valuta = 0,Alltrim(Str(poArt.discountftva,18,gnPPretV)),Alltrim(Str(poArt.vdiscountftva,18,gnPVal))), ; + IIF(poArt.tip_valuta = 0,Alltrim(Str(poArt.discountctva,18,gnPPretV)),Alltrim(Str(poArt.vdiscountctva,18,gnPVal)))) + [,] + ; + ['] + Alltrim(Nvl(poArt.Cont,'')) + [',] + Alltrim(Str(poArt.Curs,18,6)) + [,] + ; + ALLTRIM(STR(poArt.multiplicator,10)) + [,] + Alltrim(Str(poArt.id_jtva_coloana)) + [,] + ; + Nvl(Alltrim(Str(poArt.id_part_rez)),[NULL]) + [,] + Nvl(Alltrim(Str(poArt.id_lucrare_rez)),[NULL]) + [,] + ; + Alltrim(Str(poArt.pretv_orig,18,gnPPretV)) + [,] + ; + Nvl(Alltrim(Str(poArt.id_set_fact)),[NULL]) + [,] + NVL(ALLTRIM(STR(poArt.id_ctr)),[NULL]) + [,] + Alltrim(Str(gnIdUtil)) + [);] + *!* v 2.0.13 ^ + *!* modificare v 2.0.67 + Endif + *!* modificare v 2.0.67 ^ + * Pentru articolele fara stoc, dar pe care le vreau facturate, le descarc ca si la programulde restaurant + *!* lcSql = [begin ] + ; + *!* IIF(Alltrim(Str(poArt.id_articol)) + [,]$this.cListaArticoleFaraStoc, ' pack_Facturare.ntip := pack_facturare.nTipFacturaRestaurant; ', '') + ; + *!* lcSql + ; + *!* IIF(Alltrim(Str(poArt.id_articol)) + [,]$this.cListaArticoleFaraStoc, ' pack_Facturare.ntip := ' + ALLTRIM(STR(poDate.Tip)) + '; ', '') + ; + *!* [ end;] + + lcSql = [begin ] + lcSql + [ end;] + + lnSucces = goExecutor.oExecute(lcSql) + If lnSucces < 0 + amessagebox(goExecutor.oPrelucrareEroare(),0+16,"Eroare") + llReturn = .F. + Exit + Else + *!* lnNrInregCurenta = 0 + lcSql = [] + Endif + *!* Endif + Endscan + + If Used('crsfacturaset') And llReturn + Private poArtSet + *!* lnNrInregCurenta = lnNrInregCurenta + 1 && 1 + lcSql = lcSql + gcS + [.pack_facturare.initializeaza_seturi_temp;] + Select crsfacturaset + Scan + Scatter Name poArtSet MEMO + *!* v 2.0.13 + *!* lnNrInregCurenta = lnNrInregCurenta + 1 && 2 + *!* lcSql = lcSql + gcS + [.pack_facturare.adauga_articol_set(?poArtSet.id_set_fact,] + ; + *!* [TRIM(NVL(?poArtSet.denumire,'')),TRIM(NVL(?poArtSet.explicatie,'')),?poArtSet.um,] + ; + *!* [TRIM(NVL(?poArtSet.serie,'')),?poArtSet.cantitate,] + ; + *!* IIF(poDate.in_valuta=0,[?poArtSet.pretftva],[?poArtSet.vpretftva]) + [);] + + *!* modificare v 2.0.56 : am adaugat discount_unitar + lcSql = lcSql + [pack_facturare.adauga_articol_set(] + Alltrim(Str(poArtSet.id_set_fact)) + [,] + ; + ['] + OracleSpecialCharacters(Alltrim(Nvl(poArtSet.denumire,''))) + [',] + ; + ['] + OracleSpecialCharacters(Alltrim(Nvl(poArtSet.explicatie,''))) + [',] + ; + ['] + OracleSpecialCharacters(Alltrim(Nvl(poArtSet.um,''))) + [',] + ; + ['] + OracleSpecialCharacters(Alltrim(Nvl(poArtSet.serie,''))) + [',] + ; + Alltrim(Str(poArtSet.cantitate,18,gnPCant)) + [,] + ; + IIF(poDate.in_valuta=0,Alltrim(Str(poArtSet.pretftva,18,gnPPretV)),Alltrim(Str(poArtSet.vpretftva,18,gnPVal))) + [,] + ; + IIF(poDate.in_valuta=0,Alltrim(Str(poArtSet.discountftva,18,gnPPretV)),Alltrim(Str(poArtSet.vdiscountftva,18,gnPVal))) + [);] + *!* v 2.0.13 ^ + + *!* If lnNrInregCurenta >= lnNrInregistrari && daca mai raman inregistrari nescrise din crsfactura + *!* && + operatiie 1 si 2 s-ar putea ca lnNrInregCurenta + *!* && sa fie mai mare decat lnNrInregistrari + lcSql = [begin ] + lcSql + [ end;] + lnSucces = goExecutor.oExecute(lcSql) + If lnSucces < 0 + amessagebox(goExecutor.oPrelucrareEroare(),0+16,"Eroare") + llReturn = .F. + Exit + Else + *!* lnNrInregCurenta = 0 + lcSql = [] + Endif + *!* Endif + Endscan + Endif + + If !Empty(lcSql) And llReturn + lcSql = [begin ] + lcSql + [ end;] + lnSucces = goExecutor.oExecute(lcSql) + If lnSucces < 0 + amessagebox(goExecutor.oPrelucrareEroare(),0+16,"Eroare") + llReturn = .F. + Endif + Endif + Endif + If poDate.in_valuta = 1 And llReturn + Thisform.do_calculeaza_totaluri() + *!* modificare 04.02.2008 + *!* poDate.totctvaconv = Thisform.ntotalron + *!* modificare 04.02.2008 ^ + poDate.totftvaconv = Thisform.nbazaron + poDate.tottvaconv = Thisform.ntvaron + poDate.totctvaconv = poDate.totftvaconv + poDate.tottvaconv + llReturn = recalculeaza_pret_vanzare_lei([crsfactura],poDate.Curs/poDate.multiplicator) && ofacturare_comun.prg + *!* If llReturn + *!* llReturn = recalculeaza_pret_vanzare_set([crsfacturaset],poDate.Curs) && ofacturare_comun.prg + *!* Endif + Endif + Else + llReturn = .F. + Endif + If !llReturn + Thisform.do_inchide_tranzactie(2) + Endif + Release poArt,poArtSet + Return llReturn + ENDPROC + + PROCEDURE do_scrie_factura + *!* 05.02.2015 + *!* marius.mutu + *!* Pentru poDate.eBonFiscal, hacuiesc Tip = 43 bon fiscal magazin, ca sa apara in vanzari.tip = 43, apoi pun tipul la loc, ca sa nu deranjez alte lucruri + + *!* 14.09.2016 + *!* marius.mutu + *!* scrie_factura_avize - lipseau 2 parametri din apel: v_id_facturare (adresa de facturare), v_listare_detaliata + + *!* emitere avize / facturi + Private pnDiscount, pnFacturaRetur, pnParametruAditional, pcSirDifAcont, pcSirDifPart, pnTotalFtva, pnTotalTva + Local llReturn,lnSucces,lnCantitateRamasa,lcSql, lcListaIncasare, lnTipOriginal + Store 0 To pnTotalFtva, pnTotalTva && modificare v 2.0.46 + pcSirDifAcont = [] + pcSirDifPart = [] + lcCursorVerificare = [crsact] + lcCursorFinal = [actactan] + pnFacturaRetur = 0 + pnParametruAditional = 0 + llReturn = .T. + lcListaIncasare = '' + + If Inlist(poDate.ntip_incasare, 11, 2, 3) && 11 = CHITANTA, 2 = BON FISCAL, 3 = POS/Card + Do Case + Case poDate.ntip_incasare = 11 && chitanta + If poDate.incasat <> 0 + lcListaIncasare = lcListaIncasare + ['11|] + Alltrim(Str(poDate.incasat,18,gnPc)) + [|] + Alltrim(Str(poDate.id_casa)) + [;'] + Endif + Case poDate.ntip_incasare = 3 && POS/Card + If poDate.incasatCARD <> 0 && bon fiscal CARD POS + lcListaIncasare = lcListaIncasare + ['3|] + Alltrim(Str(poDate.incasatCARD,18,gnPc)) + [|] + Alltrim(Str(poDate.id_casa)) + [;'] + Endif + Otherwise && bon fiscal + If poDate.incasat <> 0 && bon fiscal numerar + lcListaIncasare = lcListaIncasare + ['2|] + Alltrim(Str(poDate.incasat,18,gnPc)) + [|] + Alltrim(Str(poDate.id_casa)) + [;'] + Endif + + If poDate.incasatCARD <> 0 && bon fiscal CARD POS + lcListaIncasare = lcListaIncasare + ['3|] + Alltrim(Str(poDate.incasatCARD,18,gnPc)) + [|] + Alltrim(Str(poDate.id_casa)) + [;'] + Endif + + If poDate.incasatTichete <> 0 && bon fiscal tichete + lcListaIncasare = lcListaIncasare + ['5|] + Alltrim(Str(poDate.incasatTichete,18,gnPc)) + [|] + Alltrim(Str(poDate.id_casa)) + [;'] + Endif + Endcase + + Else + lcListaIncasare = [NULL] + Endif + + *************************************************************** + * Hacuiesc Tip = 43 bon fiscal magazin, ca sa apara in vanzari.tip = 43, apoi pun tipul la loc, ca sa nu deranjez alte lucruri + lnTipOriginal = poDate.Tip + IF (poDate.eBonFiscal = 1) + poDate.Tip = 43 && bon fiscal magazin + ENDIF + *************************************************************** + + *!* modificare v 2.0.46 + If Thisform.do_scrie_articole() + IF (poDate.eBonFiscal = 1) + poDate.Tip = m.lnTipOriginal + ENDIF + + *!* modificare v 2.0.46 ^ + If poDate.in_valuta = 1 + pnDiscount = Thisform.ndiscfactval + Else + pnDiscount = Thisform.ndiscfactron + Endif + *!* modificare v 2.0.46 + pnTotalFtva = Thisform.nbazaron + pnTotalTva = Thisform.ntvaron + *!* modificare v 2.0.46 ^ + poDate.text_aditional = Strtran(poDate.text_aditional,Chr(13)+Chr(10),Chr(170),1,100,1) + Do Case + Case poDate.Tip = 4 + *!* facturare din aviz + Select crsarticole + Calculate Sum(cantitate) To lnCantitateRamasa + If lnCantitateRamasa > 0 + pnFacturaRetur = 7 - amessagebox("Doriti sa se inregistreze si avizul de retur?",4+32,"Confirmare") + pnParametruAditional = 1 + Else + pnFacturaRetur = 0 + pnParametruAditional = 0 + Endif + *!* v 2.0.13 + *!* lcSql = [{call ] + gcS + [.pack_facturare.scrie_factura_avize(] + ; + *!* [?pnDiscount,?poDate.nr_incasare,?poDate.id_casa,?poDate.incasat,?poDate.id_delegat,?poDate.id_masina,] + ; + *!* [?poDate.id_agent,?poDate.text_aditional,?poDate.discount_evidentiat,?pnParametruAditional)}] + *!* modificare v 2.0.58 : am adaugat poDate.nid_vanzare + *!* modificare v 2.0.80 : am adaugat poDate.serie_chit + lcSql = [{call pack_facturare.scrie_factura_avize(] + ; + ALLTRIM(Str(pnDiscount,18,gnPC))+ [,] + ; + ['] + ALLTRIM(NVL(poDate.serie_chit,[])) + [',] + ; + Alltrim(Str(poDate.nr_incasare)) + [,] + ; + m.lcListaIncasare + [,] + ; + IIF(Isnull(poDate.id_delegat),[NULL],Alltrim(Str(poDate.id_delegat))) + [,] + ; + IIF(Isnull(poDate.id_masina),[NULL],Alltrim(Str(poDate.id_masina))) + [,] + ; + IIF(Isnull(poDate.id_facturare),[NULL],Alltrim(Str(poDate.id_facturare))) + [,] + ; + IIF(Isnull(poDate.nListareDetaliata),[0],Alltrim(Str(poDate.nListareDetaliata))) + [,] + ; + [to_date('] + TTOC(poDate.dataora_exp,1) + [','YYYYMMDDHH24MISS'),] + ; + IIF(Isnull(poDate.id_agent),[NULL],Alltrim(Str(poDate.id_agent))) + [,] + ; + ['] + OracleSpecialCharacters(Alltrim(Nvl(poDate.text_aditional,[]))) + [',] + ; + ALLTRIM(Str(poDate.discount_evidentiat)) + [,] + Alltrim(Str(pnParametruAditional)) + [,?@poDate.nid_vanzare)}] + *!* v 2.0.13 ^ + Case Inlist(poDate.Tip,3,21,25,28,42,47) && modificare v 2.0.93 : am adaugat 47 + *!* facturare pe baza de comanda / avize pe baza de comanda + Select crsarticole + Calculate Sum(cantitate) To lnCantitateRamasa + If lnCantitateRamasa <> 0 + pnParametruAditional = 7 - amessagebox("Doriti sa se inchida comanda?",4+32,"Confirmare") + Endif + *!* v 2.0.13 + *!* lcSql = [{call ] + gcS + [.pack_facturare.scrie_factura(] + ; + *!* [?pnDiscount,?poDate.nr_incasare,?poDate.id_casa,?poDate.incasat,?poDate.id_delegat,?poDate.id_masina,] + ; + *!* [?poDate.id_agent,?poDate.text_aditional,?poDate.discount_evidentiat,?pnParametruAditional)}] + *!* modificare v 2.0.58 : am adaugat poDate.nid_vanzare + *!* modificare v 2.0.80 : am adaugat serie_chit + lcSql = [{call pack_facturare.scrie_factura2(] + ; + Alltrim(Str(pnTotalFtva,18,gnPc)) + [,] + Alltrim(Str(pnTotalTva,18,gnPc)) + [,] + ; && modificare v 2.0.46 + Alltrim(Str(pnDiscount,18,gnPc)) + [,] + ; + ['] + ALLTRIM(NVL(poDate.serie_chit,[])) + [',] + ; + Alltrim(Str(poDate.nr_incasare)) + [,] + ; + m.lcListaIncasare + [,] + ; + IIF(Isnull(poDate.id_delegat),[NULL],Alltrim(Str(poDate.id_delegat))) + [,] + ; + IIF(Isnull(poDate.id_masina),[NULL],Alltrim(Str(poDate.id_masina))) + [,] + ; + IIF(Isnull(poDate.id_facturare),[NULL],Alltrim(Str(poDate.id_facturare))) + [,] + ; + IIF(Isnull(poDate.nListareDetaliata),[0],Alltrim(Str(poDate.nListareDetaliata))) + [,] + ; + [to_date('] + TTOC(poDate.dataora_exp,1) + [','YYYYMMDDHH24MISS'),] + ; + IIF(Isnull(poDate.id_agent),[NULL],Alltrim(Str(poDate.id_agent))) + [,] + ; + ['] + OracleSpecialCharacters(Alltrim(Nvl(poDate.text_aditional,[]))) + [',] + ; + Alltrim(Str(poDate.discount_evidentiat)) + [,] + ; + ALLTRIM(Str(pnParametruAditional)) + [,?@poDate.nid_vanzare)}] + *!* v 2.0.13 ^ + Otherwise + *!* v 2.0.13 + *!* lcSql = [{call ] + gcS + [.pack_facturare.scrie_factura(] + ; + *!* [?pnDiscount,?poDate.nr_incasare,?poDate.id_casa,?poDate.incasat,?poDate.id_delegat,?poDate.id_masina,] + ; + *!* [?poDate.id_agent,?poDate.text_aditional,?poDate.discount_evidentiat,?pnParametruAditional)}] + *!* modificare v 2.0.93 + If poDate.tip = 48 + pnParametruAditional = poDate.coeficient_k + Endif + *!* modificare v 2.0.93 ^ + *!* modificare v 2.0.58 : am adaugat poDate.nid_vanzare + *!* modificare v 2.0.80 : am adaugat serie_chit + lcSql = [{call pack_facturare.scrie_factura2(] + ; + Alltrim(Str(pnTotalFtva,18,gnPc)) + [,] + Alltrim(Str(pnTotalTva,18,gnPc)) + [,] + ; && modificare v 2.0.46 + Alltrim(Str(pnDiscount,18,gnPc)) + [,] + ; + ['] + ALLTRIM(NVL(poDate.serie_chit,[])) + [',] + ; + Alltrim(Str(poDate.nr_incasare)) + [,] + ; + m.lcListaIncasare + [,] + ; + IIF(Isnull(poDate.id_delegat),[NULL],Alltrim(Str(poDate.id_delegat))) + [,] + ; + IIF(Isnull(poDate.id_masina),[NULL],Alltrim(Str(poDate.id_masina))) + [,] + ; + IIF(Isnull(poDate.id_facturare),[NULL],Alltrim(Str(poDate.id_facturare))) + [,] + ; + IIF(Isnull(poDate.nListareDetaliata),[0],Alltrim(Str(poDate.nListareDetaliata))) + [,] + ; + [to_date('] + TTOC(poDate.dataora_exp,1) + [','YYYYMMDDHH24MISS'),] + ; + IIF(Isnull(poDate.id_agent),[NULL],Alltrim(Str(poDate.id_agent))) + [,] + ; + ['] + OracleSpecialCharacters(Alltrim(Nvl(poDate.text_aditional,[]))) + [',] + ; + Alltrim(Str(poDate.discount_evidentiat)) + [,] + ; + ALLTRIM(Str(pnParametruAditional)) + [,?@poDate.nid_vanzare)}] + *!* v 2.0.13 ^ + Endcase + *!* modificare v 2.0.46 + *!* If Thisform.do_scrie_articole() + *!* modificare v 2.0.46 ^ + + lnSucces = goExecutor.oExecute(lcSql,lcCursorVerificare) + If lnSucces<0 + amessagebox(goExecutor.oPrelucrareEroare(),16,"Eroare") + llReturn = .F. + Else + If Reccount(lcCursorVerificare)>0 + gnButon = 1 + Select a.*,a.suma As totftva, a.suma As tottva, Ttod(a.dataactt) As dataact, ; + Ttod(a.datairegt) As dataireg, Ttod(a.datascadt) As datascad, ; + 0 As pozitie_1, 0 As pozitie_2 From (lcCursorVerificare) a Into Cursor (lcCursorFinal) Readwrite + Use In (lcCursorVerificare) + Select (lcCursorFinal) + Do Form verificare With .T.,.T. + If gnButon = 1 + Select (lcCursorFinal) + Scan For Nvl(ascd,'') <> Nvl(ascd1,'') Or Nvl(ascc,'') <> Nvl(ascc1,'') Or ; + NVL(id_partd,0) <> Nvl(id_partd1,0) Or Nvl(id_partc,0) <> Nvl(id_partc1,0) + If Nvl(ascd,'') <> Nvl(ascd1,'') Or Nvl(ascc,'') <> Nvl(ascc1,'') + pcSirDifAcont = pcSirDifAcont + Alltrim(Str(id_act)) + [|] + Alltrim(Nvl(ascd,'')) + [|] + Alltrim(Nvl(ascc,'')) + [;] + Endif + If Nvl(id_partd,0) <> Nvl(id_partd1,0) Or Nvl(id_partc,0) <> Nvl(id_partc1,0) + If (Like([41*],scd) And Nvl(id_partd,0) <> Nvl(id_partd1,0)) ; + Or (Like([41*],scc) And Nvl(id_partc,0) <> Nvl(id_partc1,0)) + amessagebox("Nu puteti modifica clientul!",48,"Atentie") + Return .F. + Else + pcSirDifPart = pcSirDifPart + Alltrim(Str(id_act)) + [|] + Alltrim(Str(Nvl(id_partd,0))) + [|] + Alltrim(Str(Nvl(id_partc,0))) + [;] + Endif + Endif + Endscan + *!* modificare 20.06 + lnReturn = 1 + If pnFacturaRetur = 1 + lnReturn = completeaza_date_aviz_retur() && IN ofacturare.prg && modificare 13.11.2007 + If lnReturn > 0 + *!* v 2.0.13 + *!* lcSql = [{call ] + gcS + [.pack_facturare.scrie_factura_avize_retur(] + ; + *!* [?pnDiscount,?poDate.id_delegat,?poDate.id_masina,?poDate.id_agent,] + ; + *!* [?poDate.discount_evidentiat,?poDate.text_aditional,?poDate.text_aditional_retur,] + ; + *!* [?pcSirDifAcont,?pcSirDifPart,?pnParametruAditional,?poDate.serie_act_retur,] + ; + *!* [?poDate.nract_retur)}] + *!* modificare v 2.0.58 : am adaugat poDate.nid_vanzare, poDate.nid_vanzare_retur + lcSql = [{call pack_facturare.scrie_factura_avize_retur(] + ; + ALLTRIM(Str(pnDiscount,18,gnPC)) + [,] + ; + IIF(Isnull(poDate.id_delegat),[NULL],Alltrim(Str(poDate.id_delegat))) + [,] + ; + IIF(Isnull(poDate.id_masina),[NULL],Alltrim(Str(poDate.id_masina))) + [,] + ; + IIF(Isnull(poDate.id_facturare),[NULL],Alltrim(Str(poDate.id_facturare))) + [,] + ; + IIF(Isnull(poDate.nListareDetaliata),[0],Alltrim(Str(poDate.nListareDetaliata))) + [,] + ; + [to_date('] + TTOC(poDate.dataora_exp,1) + [','YYYYMMDDHH24MISS'),] + ; + IIF(Isnull(poDate.id_agent),[NULL],Alltrim(Str(poDate.id_agent))) + [,] + ; + ALLTRIM(Str(poDate.discount_evidentiat)) + [,] + ; + ['] + OracleSpecialCharacters(Alltrim(Nvl(poDate.text_aditional,[]))) + [',] + ; + ['] + OracleSpecialCharacters(Alltrim(Nvl(poDate.text_aditional_retur,[]))) + [',] + ; + ['] + Alltrim(Nvl(pcSirDifAcont,[])) + [','] + ; + ALLTRIM(Nvl(pcSirDifPart,[])) + [',] + Alltrim(Str(pnParametruAditional)) + [,'] + ; + ALLTRIM(Nvl(poDate.serie_act_retur,[]))+ [',] + Alltrim(Str(poDate.nract_retur,14,0)) + [,] + ; + [?@poDate.nid_vanzare,?@poDate.nid_vanzare_retur)}] + *!* v 2.0.13 ^ + lcCursor = [crsavizretur] + lnSucces = goExecutor.oExecute(lcSql,lcCursor) + Else + gnButon = 2 + llReturn = .F. + Endif + *!* modificare 20.06 ^ + Else + *!* v 2.0.13 + *!* lcSql = [begin ] + gcS + [.pack_facturare.finalizeaza_scriere_verificare(?pnDiscount,?poDate.id_delegat,] + ; + *!* [?poDate.id_masina,?poDate.id_agent,?poDate.text_aditional,?pcSirDifAcont,?pcSirDifPart,?pnParametruAditional); end;] + *!* modificare v 2.0.58 : am adaugat poDate.nid_vanzare + lcSql = [begin pack_facturare.finalizeaza_scriere_verificare(] + ; + ALLTRIM(Str(pnDiscount,18,gnPC)) + [,] + ; + IIF(Isnull(poDate.id_delegat),[NULL],Alltrim(Str(poDate.id_delegat))) + [,] + ; + IIF(Isnull(poDate.id_masina),[NULL],Alltrim(Str(poDate.id_masina))) + [,] + ; + IIF(Isnull(poDate.id_facturare),[NULL],Alltrim(Str(poDate.id_facturare))) + [,] + ; + IIF(Isnull(poDate.nListareDetaliata),[0],Alltrim(Str(poDate.nListareDetaliata))) + [,] + ; + [to_date('] + TTOC(poDate.dataora_exp,1) + [','YYYYMMDDHH24MISS'),] + ; + IIF(Isnull(poDate.id_agent),[NULL],Alltrim(Str(poDate.id_agent))) + [,] + ; + ['] + OracleSpecialCharacters(Alltrim(Nvl(poDate.text_aditional,[]))) + [',] + ; + ['] + Alltrim(Nvl(pcSirDifAcont,[])) + [','] + ; + ALLTRIM(Nvl(pcSirDifPart,[])) + [',] + Alltrim(Str(pnParametruAditional)) + [,?@poDate.nid_vanzare); end;] + *!* v 2.0.13 ^ + lnSucces = goExecutor.oExecute(lcSql) + Endif + If lnSucces<0 And lnReturn = 1 + amessagebox(goExecutor.oPrelucrareEroare(),16,"Eroare") + gnButon = 2 + llReturn = .F. + Endif + Endif + Use In (lcCursorFinal) + Else + Use In (lcCursorVerificare) + *!* modificare 20.06 + If pnFacturaRetur = 1 + *!* modificare v 2.0.58 + lnReturn = completeaza_date_aviz_retur() + If lnReturn > 0 + *!* modificare v 2.0.58 ^ + *!* v 2.0.13 + *!* lcSql = [{call ] + gcS + [.pack_facturare.scrie_factura_avize_retur(] + ; + *!* [?pnDiscount,?poDate.id_delegat,?poDate.id_masina,?poDate.id_agent,] + ; + *!* [?poDate.discount_evidentiat,?poDate.text_aditional,?poDate.text_aditional_retur,]+; + *!* [NULL,NULL,?pnParametruAditional,?@poDate.nract_retur)}] + *!* modificare v 2.0.58 : am adaugat poDate.nid_vanzare, poDate.nid_vanzare_retur + lcSql = [{call pack_facturare.scrie_factura_avize_retur(] + ; + ALLTRIM(Str(pnDiscount,18,gnPC)) + [,] + ; + IIF(Isnull(poDate.id_delegat),[NULL],Alltrim(Str(poDate.id_delegat))) + [,] + ; + IIF(Isnull(poDate.id_masina),[NULL],Alltrim(Str(poDate.id_masina))) + [,] + ; + IIF(Isnull(poDate.id_facturare),[NULL],Alltrim(Str(poDate.id_facturare))) + [,] + ; + IIF(Isnull(poDate.nListareDetaliata),[0],Alltrim(Str(poDate.nListareDetaliata))) + [,] + ; + [to_date('] + TTOC(poDate.dataora_exp,1) + [','YYYYMMDDHH24MISS'),] + ; + IIF(Isnull(poDate.id_agent),[NULL],Alltrim(Str(poDate.id_agent))) + [,] + ; + ALLTRIM(Str(poDate.discount_evidentiat)) + [,] + ; + ['] + OracleSpecialCharacters(Alltrim(Nvl(poDate.text_aditional,[]))) + [',] + ; + ['] + OracleSpecialCharacters(Alltrim(Nvl(poDate.text_aditional_retur,[]))) + [',] + ; + [NULL,NULL,] + Alltrim(Str(pnParametruAditional)) + [,] + Alltrim(Str(poDate.nract_retur,14,0)) + [,] + ; + [?@poDate.nid_vanzare,?@poDate.nid_vanzare_retur)}] + *!* v 2.0.13 ^ + lcCursor = [crsavizretur] + lnSucces = goExecutor.oExecute(lcSql,lcCursor) + If lnSucces<0 + amessagebox(goExecutor.oPrelucrareEroare(),16,"Eroare") + gnButon = 2 + llReturn = .F. + Endif + *!* modificare v 2.0.58 + Else + gnButon = 2 + llReturn = .F. + Endif + *!* modificare v 2.0.58 ^ + Endif + *!* modificare 20.06 ^ + Endif + If gnButon = 1 + If pnDiscount<> 0 + Select crsfactura + Append Blank + *!* modificare v 2.0.56 : am adaugat id_temp + Replace denumire With Replicate('Z',20),cantitate With 1,pretftva With Thisform.nbazafdiscount,vpretftva With Thisform.nbazafdiscountval,; + discountftva With Thisform.ndiscfactron,valdiscountftva With Thisform.ndiscfactron,valdiscounttva With Round(Thisform.ndiscfactron * (Thisform.nproc_tvav - 1),gnPc),; + vdiscountftva With Thisform.ndiscfactval,vvaldiscountftva With Thisform.ndiscfactval,vvaldiscounttva With Round(Thisform.ndiscfactval * (Thisform.nproc_tvav - 1),gnPVal),; + proc_tvav With Thisform.nproc_tvav,id_temp With 99999 + Endif + Else + llReturn = .F. + Endif + Endif + If llReturn + llReturn = Thisform.do_inchide_tranzactie(1) + Else + Thisform.do_inchide_tranzactie(2) + Endif + Else + llReturn = .F. + Endif + Return llReturn + ENDPROC + + PROCEDURE do_scrie_proforma + Local llReturn,lcSql,lnSucces + *!* emitere avize / facturi + Private pnDiscount + Local llReturn,lnSucces,lcSql + llReturn = .T. + + If poDate.in_valuta = 1 + pnDiscount = Thisform.ndiscfactval + Else + pnDiscount = Thisform.ndiscfactron + Endif + + poDate.text_aditional = Strtran(poDate.text_aditional,Chr(13)+Chr(10),Chr(170),1,100,1) + + If Thisform.do_scrie_articole() + poDate.id_delegat = Null + poDate.id_masina = Null + poDate.id_agent = Null + *!* v 2.0.13 + *!* lcSql = [begin ] + gcS + [.pack_facturare.scrie_proforma(] + ; + *!* [?pnDiscount,?poDate.nr_incasare,?poDate.id_casa,?poDate.incasat,] + ; + *!* [?poDate.id_delegat,?poDate.id_masina,?poDate.id_agent,?poDate.text_aditional,] + ; + *!* [?poDate.discount_evidentiat,?@poDate.nract); end;] + *!* modificare v 2.0.58 : am adaugat poDate.id_proforma + *!* modificare v 2.0.67 + *!* lcSql = [begin pack_facturare.scrie_proforma(] + ; + *!* ALLTRIM(STR(pnDiscount,18,gnPc)) + [,] + ALLTRIM(STR(poDate.nr_incasare)) + [,] + ; + *!* IIF(ISNULL(poDate.id_casa),[NULL],ALLTRIM(STR(poDate.id_casa))) + [,] + ; + *!* ALLTRIM(STR(poDate.incasat,18,gnPc)) + [,] + ; + *!* IIF(ISNULL(poDate.id_delegat),[NULL],ALLTRIM(STR(poDate.id_delegat))) + [,] + ; + *!* IIF(ISNULL(poDate.id_masina),[NULL],ALLTRIM(STR(poDate.id_masina))) + [,] + ; + *!* IIF(ISNULL(poDate.id_agent),[NULL],Alltrim(Str(poDate.id_agent))) + [,] + ; + *!* ['] + Strtran(ALLTRIM(NVL(poDate.text_aditional,'')),['],['']) + [',] + ; + *!* ALLTRIM(STR(poDate.discount_evidentiat)) + [,?poDate.nid_proforma,?@poDate.nract); end;] + lcSql = [begin pack_facturare.scrie_proforma(] + ; + ALLTRIM(STR(pnDiscount,18,gnPC)) + [,] + ; + ['] + OracleSpecialCharacters(ALLTRIM(NVL(poDate.text_aditional,''))) + [',] + ; + ALLTRIM(STR(poDate.discount_evidentiat)) + [,?poDate.nid_proforma,?@poDate.nract); end;] + *!* modificare v 2.0.67 ^ + *!* v 2.0.13 ^ + lnSucces = goExecutor.oExecute(lcSql) + If lnSucces<0 + amessagebox(goExecutor.oPrelucrareEroare(),16,"Eroare") + llReturn = .F. + Else + If pnDiscount<> 0 + Select crsfactura + Append Blank + *!* modificare v 2.0.56 : am adaugat id_temp + Replace denumire With Replicate('Z',20),cantitate With 1,pretftva With Thisform.nbazafdiscount,vpretftva With Thisform.nbazafdiscountval,; + discountftva With Thisform.ndiscfactron,valdiscountftva With Thisform.ndiscfactron,valdiscounttva With Round(Thisform.ndiscfactron * (Thisform.nproc_tvav - 1),gnPC),; + vdiscountftva With Thisform.ndiscfactval,vvaldiscountftva With Thisform.ndiscfactval,vvaldiscounttva With Round(Thisform.ndiscfactval * (Thisform.nproc_tvav - 1),gnPVal),; + proc_tvav With Thisform.nproc_tvav,id_temp with 99999 + Endif + Endif + If llReturn + llReturn = Thisform.do_inchide_tranzactie(1) + Else + Thisform.do_inchide_tranzactie(2) + Endif + Else + llReturn = .F. + Endif + Return llReturn + ENDPROC + + PROCEDURE do_sterge + If Reccount('crsfactura')>0 + Private poArticol + Select crsfactura + Scatter Name poArticol MEMO + *!* modificare v 2.0.67 + Local lcCursor + If poArticol.opt_facturare = 0 + lcCursor = [crsarticole] + Else + lcCursor = [crsarticole1] + Endif + *!* modificare v 2.0.67 ^ + If aMessagebox("Doriti sa stergeti " + Iif(Inlist(poArticol.opt_facturare,1,2),"rata","articolul") + " " + Upper(Alltrim(poArticol.denumire)) + " ?",4+32,"Confirmare stergere") == 6 + *!* modificare 19.01.2008 + *!* lcSql = [begin ] + gcS + [.pack_facturare.sterge_articol_factura(?poArticol.id_temp,] + ; + *!* [?gnIdUtil); end;] + *!* lnSucces = goExecutor.oExecute(lcSql) + + *!* If lnSucces < 0 + *!* aMessagebox(goExecutor.oPrelucrareEroare(),0+16,"Eroare") + *!* Thisform.txtArticoleLista.SetFocus() + *!* Return + *!* Endif + *!* modificare 19.01.2008 ^ + save_grid_tag(Thisform.grd_factura) + Update crsfactura Set id_temp = -1 Where id_temp = poArticol.id_temp + Update crsfactura Set id_temp = id_temp-1 Where id_temp > poArticol.id_temp + Select * From crsfactura Where id_temp<>-1 Order By id_temp ; + INTO Cursor crsfactura Readwrite + restore_grid_tag(Thisform.grd_factura) + + Select (lcCursor) + lnRecNo = Recno() + Do Case + *!* modificare v 2.0.30 + *!* Case (gnScadereStoc = 1 And InList(poDate.tip,23,41)) Or Inlist(poDate.tip,3,4,21,25,28) + *!* Select crsarticole + *!* Replace cantitate With cantitate + poArticol.cantitate For id_c = poArticol.id_c + Case gnScadereStoc = 1 And poDate.tip = 41 + Select (lcCursor) + Replace cantitate With cantitate - poArticol.cantitate For id_c = poArticol.id_c + *!* modificare v 2.0.56 + *!* Case (gnScadereStoc = 1 And poDate.tip = 41) Or Inlist(poDate.tip,3,4,21,25,28,42) + Case (gnScadereStoc = 1 And poDate.tip = 23) Or Inlist(poDate.tip,3,4,21,25,28,42,47) && modificare v 2.0.93 : am adaugat 47 + *!* modificare v 2.0.56 ^ + Select (lcCursor) + Replace cantitate With cantitate + poArticol.cantitate For id_c = poArticol.id_c + *!* modificare v 2.0.30 ^ + *!* modificare v 2.0.56 + Case Inlist(poDate.tip,8,9) + Replace cantitate With cantitate - poArticol.cantitate For id_c = poArticol.id_c + *!* modificare v 2.0.56 ^ + *!* modificare v 2.0.67 + *!* Case poArticol.id_gestiune <> - 1000 And gnScadereStoc = 1 And ; + *!* (Inlist(poDate.tip,1,22,29) Or (poDate.tip = 2 And pnTipFacturare = 4)) + Case poArticol.id_gestiune <> - 1000 And gnScadereStoc = 1 And ; + (Inlist(poDate.tip,1,22,29) Or (poDate.tip = 2 And poArticol.opt_facturare = 0)) + *!* modificare v 2.0.67 ^ + Select (lcCursor) + Replace cantitate With cantitate + poArticol.cantitate For id_articol = poArticol.id_articol And gestionabil = 1 + Endcase + If Reccount(lcCursor)0 + Thisform.txtArticoleLista.SetFocus() + Else + *!* modificare v 2.0.67 + *!* Thisform.txtArticole.SetFocus() + If poArticol.opt_facturare = 0 + Thisform.txtArticole.SetFocus() + Else + Thisform.grd_contracte.SetFocus() + Endif + *!* modificare v 2.0.67 ^ + Endif + Release poArticol,lcCursor + Endif + + ENDPROC + + PROCEDURE do_termin + *!* modificare 19.01.2007 + DoDefault() + *!* If This.inainte_de_do_termin() + *!* gnButon = 1 + *!* pnButon = 1 + *!* Buton = 1 + *!* pnIesire = 1 + *!* If !This.lhide + *!* This.Release + *!* Else + *!* This.Hide + *!* Endif + *!* Sqlcommit(gnHandle) + *!* SQLSetprop(gnHandle,"Transactions",1) && tranzactie automata + *!* Endif + *!* modificare 19.01.2007 ^ + ENDPROC + + PROCEDURE do_urmator + Thisform.do_adauga_articol() + + ENDPROC + + PROCEDURE do_urmator2 + If Used('crsarticole1') And Reccount('crsarticole1')>0 + Select crsarticole1 + If Isnull(id_rata) + Thisform.do_adauga_articol(.F.,.T.) + Else + Thisform.do_adauga_rata() + Endif + Endif + + ENDPROC + + PROCEDURE do_verifica_articol + *!* modificare v 2.0.67 + Lparameters tlContract,tnCantitate + Local llReturn, lcFiltru, llFacturareFaraStoc + llReturn = .T. + + *!* nu se face verificarea daca mai exista pe factura, deoarece poate exista cazul in care cantitatea dorita + *!* nu poate fi acoperita dintr-o singura gestiune, iar pe formularul de adaugare se poate selecta doar una din care + *!* sa se faca scaderea + llFacturareFaraStoc = (Type('gnRF_FACTURARE_FARA_STOC') = 'N' And m.gnRF_FACTURARE_FARA_STOC = 1) + + If (tnCantitate >= 0 And Inlist(poDate.tip,8,9)) Or ; + (tnCantitate <= 0 And Not (poDate.tip = 2 And poArticol.opt_facturare = 3) And !Inlist(poDate.tip,8,9) And poArticol.gestionabil = 1 And gnScadereStoc = 1 AND !m.llFacturareFaraStoc) + lcMesaj = Alltrim(Thisform.cmesaj_cantitate) + amessagebox(lcMesaj,0+48,"Atentie") + llReturn = .F. + Else + If !tlContract And Used('crsarticole1') And Used('crsCtrTemp') + If Used('crsverifart') + Use In crsverifart + Endif + Select id_ctr From crsCtrTemp Where id_ctr Not In ; + (Select Distinct id_ctr From crsarticole1 Where id_articol = poArticol.id_articol And id_rata Is Null) ; + INTO Cursor crsverifart + Select crsverifart + Do Case + Case Reccount('crsverifart') = 0 + amessagebox("Articolul "+Alltrim(poArticol.denumire)+" din politica "+Alltrim(poArticol.nume_lista_preturi)+" are pretul fixat prin contract!",0+48,"Atentie") + llReturn = .F. + Case Reccount('crsverifart') <> Reccount('crsCtrTemp') + lcFiltru = [] + Select crsverifart + Scan + lcFiltru = lcFiltru + [,] + Alltrim(Str(id_ctr)) + Endscan + lcFiltru = [INLIST(id_ctr] + lcFiltru + [)] + Select crsCtrTemp + Set Filter To &lcFiltru + Otherwise + llReturn = .T. + Endcase + Use In crsverifart + Endif + Endif + Return llReturn + *!* modificare v 2.0.67 ^ + + ENDPROC + + PROCEDURE Error + LPARAMETERS nError, cMethod, nLine + SET STEP ON + ENDPROC + + PROCEDURE inainte_de_do_renunt + *!* modificare 19.01.2007 + *!* Sqlrollback(gnHandle) + *!* SQLSetprop(gnHandle,"Transactions",1) + *!* *!* If poDate.tip<21 + *!* *!* Do dezaloca_numar_fact In oserii_numere.prg + *!* *!* Else + *!* *!* Do dezaloca_numar_aviz In oserii_numere.prg + *!* *!* Endif + *!* modificare 19.01.2007 ^ + Return .T. + ENDPROC + + PROCEDURE inainte_de_do_termin + *!* 04.02.2015 + *!* marius.mutu + *!* frm_alte_date - se bifeaza automat incasare cu bon fiscal, daca poDate.eBonFiscal = 1 + + *!* 05.05.2015 + *!* marius.mutu + *!* frm_alte_date - se bifeaza automat bon fiscal detaliat, daca poDate.eBonFiscal = 1 + *!* ar trebui in functie de o optiune + + *!* initializare numar bon fiscal cu numar act, in caz ca s-a suprascris de utilizator + + Local llContinuare && plReturn + Store .F. To plReturn + Store .T. To llContinuare + If poDate.tip <> 30 + lccontrol = Upper(This.ActiveControl.BaseClass ) + If Inlist(lccontrol,"TEXTBOX","EDITBOX","COMBOBOX") + lcval=This.ActiveControl.ControlSource + &lcval=Thisform.ActiveControl.Value + Endif + Endif + + creeaza_backup_cursoare_facturare() + + If poDate.in_valuta = 1 + *!* poDate.totctvaconv = Thisform.ntotalron + *!* poDate.totftvaconv = Thisform.nbazaron + *!* poDate.tottvaconv = Thisform.ntvaron + lnTotalFactura = Thisform.ntotalval + *!* Do recalculeaza_pret_vanzare_lei With [crsfactura],poDate.Curs In ofacturare_comun.prg + Else + lnTotalFactura = Thisform.ntotalron + Endif + poDate.totalctva = lnTotalFactura + + Do Case + Case Reccount('crsfactura') = 0 + amessagebox("Nu ati ales articolele " + Iif(poDate.tip<21,[pentru facturare],[]) + "!",48,"Atentie") + Thisform.grd_articole.SetFocus() + plReturn = .F. + *!* modificare v 2.0.67 + *!* modificare ROAFACTURARE v 2.0.71 + *!* Case Empty(poDate.datascad) + Case Empty(poDate.datascad) AND BETWEEN(poDate.tip,1,20) + *!* modificare ROAFACTURARE v 2.0.71 ^ + amessagebox("Nu ati completat data scadenta!",48,"Atentie") + Thisform.txtDataScadenta.SetFocus() + plReturn = .F. + *!* modificare ROAFACTURARE v 2.0.71 + *!* Case poDate.datascad 7 + If Nvl(gnFactSeturi,0)=1 And poDate.tip <> 7 And llContinuare + *!* modificare v 2.0.56 ^ + *!* modificare v 2.0.46 ^ + llContinuare = facturare_articole_compuse() + *!* modificare v 2.0.67 + If Nvl(gnModTotFact,0) = 0 + *!* modificare v 2.0.67 ^ + Thisform.do_calculeaza_totaluri() + poDate.totalctva = Thisform.ntotalron + *!* modificare v 2.0.67 + Endif + *!* modificare v 2.0.67 ^ + plReturn = llContinuare + Endif + If llContinuare + gnButon = 1 + *!* modificare v 2.0.93 + If poDate.tip = 48 + Private pnCoefK + pnCoefK = 0 + lnSucces = goExecutor.oFunction2Value([pack_facturare.calculeaza_k()],@pnCoefK) + If lnSucces < 0 + amessagebox(goExecutor.cEroare,16,"Eroare") + gnButon = 2 + Else + If pnCoefK <> 0 + poDate.coeficient_k = pnCoefK + Endif + Endif + Release pnCoefK + If Nvl(gnCoefKFact,2) <> 0 + Private ofrmdatek + ofrmdatek = Createobject("frm_seteaza_k") + ofrmdatek.Show(1) + Release ofrmdatek + Endif + Endif + *!* modificare v 2.0.93 ^ + *!* modificare v 2.0.67 + *!* If poDate.eProforma = 1 + *!* *!* recalculeaza_pret_vanzare_compus() + *!* plReturn = Thisform.do_scrie_proforma() + *!* Else + *!* modificare v 2.0.67 ^ + If gnButon = 1 && modificare v 2.0.93 + Private ofrmdatesupl + poDate.dataora_exp = Get_Ora() && modificare ROAFACTURARE v 2.0.80 + If poDate.tip<>30 + ofrmdatesupl = Createobject("frm_alte_date") + ofrmdatesupl.nnrbon = poDate.nract && in caz ca s-a suprascris schimbat de catre utilizator + IF (poDate.eBonFiscal = 1) + WITH ofrmdatesupl + .opt_incasat.value = 3 && INCASARE CU BON FISCAL + .actualizeaza_tipincasare() + .opt_incasat.option1.tabstop = .F. && sa nu schimb din greseala cu ENTER, se poate schimba cu mouse-ul + .opt_incasat.option2.tabstop = .F. + .opt_incasat.option3.tabstop = .F. + ENDWITH + poDate.nBonDetaliat = 1 && ar trebui in functie de o optiune + ENDIF + ofrmdatesupl.Show(1) + Else + gnButon = 1 + Endif + Endif && modificare v 2.0.93 + + If gnButon = 2 + plReturn = .F. + gnButon = 1 + *!* modificare v 2.0.46 - este in repune_backup_cursoare_facturare + *!* If Used('crsfacturaset') + *!* Use In crsfacturaset + *!* Select crsfactura + *!* lnRecno = Recno() + *!* Replace id_set_fact With 0 All + *!* Go Min(lnRecno,Reccount('crsfactura')) + *!* Endif + *!* modificare v 2.0.46 ^ + Else + *!* recalculeaza_pret_vanzare_compus() + *!* modificare v 2.0.67 + If poDate.eProforma = 1 + plReturn = Thisform.do_scrie_proforma() + Else + *!* modificare v 2.0.67 ^ + plReturn = Thisform.do_scrie_factura() + Endif + Endif + Endif + Endcase + + If plReturn + sterge_backup_cursoare_facturare() + Else + save_grid(Thisform.grd_factura) + repune_backup_cursoare_facturare() + *!* modificare v 2.0.67 + If Nvl(gnModTotFact,0) = 0 + *!* modificare v 2.0.67 ^ + Thisform.do_calculeaza_totaluri() + *!* modificare v 2.0.67 + Endif + *!* modificare v 2.0.67 ^ + restore_grid(Thisform.grd_factura) + Endif + + Return plReturn + + ENDPROC + + PROCEDURE Init + Local lcTipDoc + *:Global gcAcces + gcAcces = [1;2;3;4;] + DoDefault() + + lcTipDoc = [factura] + + With This.grd_factura + This.nNrInregVizibile = Floor((.Height - .HeaderHeight) / .RowHeight) + Endwith + + If !Used('crscursuri') Or Reccount('crscursuri') = 0 + Thisform.RemoveObject('lb_cursuri') + Thisform.RemoveObject('grd_cursuri') + Else + If !Empty(Nvl(poDate.zi_curs, {})) + Thisform.lb_cursuri.Caption = "Curs valutar " + Iif(!Inlist(poDate.tip, 8, 9), "(" + Dtoc(poDate.zi_curs) + ")", "") + Else + Thisform.lb_cursuri.Caption = "Curs valutar" + Endif + If Reccount('crscursuri') <= 3 + Thisform.grd_cursuri.ScrollBars = 0 + Endif + Endif + + This.cmesaj_cantitate = [Acest articol nu este pe stoc!] + Do Case + Case Inlist(poDate.tip, 1, 5, 7, 10) && modificare v 2.0.56 : am adaugat 10 + && facturare pe baza de lista de preturi + Case Inlist(poDate.tip, 2, 6) + && facturare pe baza de contract + Case poDate.tip = 3 + && facturare pe baza de comanda + Case poDate.tip = 4 + && facturare din avize + Case Inlist(poDate.tip, 21, 28, 42, 47) && modificare v 2.0.93 : am adaugat 47 + && aviz catre clienti din comanda + lcTipDoc = [aviz] + Case Inlist(poDate.tip, 22, 29) + && aviz catre clienti din lista de preturi + lcTipDoc = [aviz] + Case poDate.tip = 23 + && transfer intre subunitati + lcTipDoc = [aviz] + Case poDate.tip = 41 + && retur + lcTipDoc = [aviz] + Case poDate.tip = 25 + && transfer intre subunitati pe baza de comanda + lcTipDoc = [aviz] + Case poDate.tip = 26 + && aviz catre clienti pe baza de contract + lcTipDoc = [aviz] + Case Inlist(poDate.tip, 8, 9) + && retur + Endcase + + Thisform.clb_total_factura.lb_explicatie.Caption = [TOTAL ] + Upper(lcTipDoc) + Thisform.ck_discountevidentiat.Caption = [Se pune în evidenta discount-ul pe articole ] + ; + [în notele contabile ºi pe ] + Alltrim(lcTipDoc) + + Thisform.clb_total_baza.do_actualizeaza_lbval(poDate.nume_valuta) + Thisform.clb_discount.do_actualizeaza_lbval(poDate.nume_valuta) + Thisform.clb_discount_articole.do_actualizeaza_lbval(poDate.nume_valuta) + Thisform.clb_total_factura.do_actualizeaza_lbval(poDate.nume_valuta) + Thisform.clb_total_tva.do_actualizeaza_lbval(poDate.nume_valuta) + Thisform.clb_discount.do_activeaza(1 + poDate.in_valuta) + + If Nvl(gnModTotFact, 0) = 1 And !Inlist(poDate.tip, 5, 6, 7, 9, 10) && in afara de facturile in valuta + Thisform.clb_total_baza.do_activeaza(1) + Thisform.clb_total_tva.do_activeaza(1) + Bindevent(Thisform, 'do_calculeaza_totaluri', Thisform, 'actualizeaza_total_mod', 1) + Endif + + If poDate.in_valuta = 0 + Thisform.grd_factura.RemoveObject([cVpretFtva]) + Thisform.grd_factura.RemoveObject([cVdiscountftva]) + Thisform.grd_factura.RemoveObject([cVvaldiminuatftva]) + Else + Thisform.grd_factura.RemoveObject([cPretFtva]) + Thisform.grd_factura.RemoveObject([cDiscountctva]) + Thisform.grd_factura.RemoveObject([cPretCtva]) + Thisform.grd_factura.RemoveObject([cValdiminuatctva]) + Endif + + Try + Thisform.gridextra3.Setup() + Catch + Endtry + + this.Refresh() + ENDPROC + + PROCEDURE KeyPress + LPARAMETERS nKeyCode, nShiftAltCtrl + lcControl = Upper(Alltrim(Thisform.ActiveControl.Name)) + + DO CASE + CASE lcControl = 'CBOCODMAT' + DODEFAULT(nKeyCode, nShiftAltCtrl) + + CASE INLIST(nKeyCode,9,13) AND (lcControl = 'PROCENT') + THISFORM.do_calculeaza_discount(THISFORM.ACTIVECONTROL.VALUE) + + CASE nKeyCode = 7 AND lcControl = 'GRD_FACTURA' + NODEFAULT + THISFORM.do_sterge() + CASE nKeyCode=27 AND nShiftAltCtrl=0 + NODEFAULT + IF amessagebox("Sunteti sigur ca doriti sa inchideti fereastra?",4+32+256,"Confirmare")==6 + THIS.do_renunt() + ENDIF + CASE nKeyCode=6 AND nShiftAltCtrl=2 + NODEFAULT + THIS.do_termin() + ENDCASE + + ENDPROC + + PROCEDURE modifica_lista_preturi + Lparameters tnIdPol, tnIdArticol, tnPretftvaLista, tnPretvtvaLista, tnPretLista, tnProcTvav,tnPretListaVechi + *!* modificare v 2.0.90 : am adaugat llModificat + LOCAL llModificat + llModificat = .F. + + If tnPretListaVechi <> tnPretLista + If aMESSAGEBOX(Alltrim(poArticol.denumire)+" are pretul "+Alltrim(Str(tnPretListaVechi,16,gnPPretV)) + [ in politicile de preturi. Doriti sa il schimbati cu ]+Alltrim(Str(tnPretLista,16,gnPPretV))+" ?",4+32,"Confirmare modificare pret") <> 6 + RETURN llModificat + Endif + Else + Return llModificat + Endif + + *!* MODIFICARE PRETURI IN LISTA DE PRETURI PENTRU NIR-UL CU MODIFICAREA LISTEI DE PRETURI (ID_SET = 231 NIR MF PV LISTA DE PRETURI) + + Local lcSql, lcSelect + lcSelect = Select() + + *!* verific daca exista articolul in politica de preturi + lcSql = [Select id_pol_art, id_venchelt, proc_tvav from crm_politici_pret_art where id_pol = ] + Alltrim(Str(tnIdPol)) + [ and id_articol = ] + Alltrim(Str(tnIdArticol)) + lnSucces = goExecutor.oExecute(m.lcSql, "cPoliticiPretArt") + If lnSucces < 0 + aMessageBox(goExecutor.cEroare,0+16, 'Eroare') + + Select (lcSelect) + RETURN llModificat + Endif + Select cPoliticiPretArt + Scatter Name loPoliticaPretArt MEMO + Use In (Select('cPoliticiPretArt')) + + + && TRANZACTIE MANUALA (MODIFICARE CRM_POLITICI_PRET_ART, CRM_POLITICI_PRETURI) + lnSucces = SQLSetprop(gnHandle,"Transactions",2) + If lnSucces < 0 + aMessageBox("Programul nu a trecut pe tranzactie manuala",4+48,'Lista preturi') + + Select (lcSelect) + RETURN llModificat + Endif + + *!* ADAUGARE ARTICOL NOU IN LISTA DE PRETURI SAU MODIFICARE ARTICOL EXISTENT + If Nvl(loPoliticaPretArt.id_pol_art,0) = 0 + lcSql = [begin pack_preturi.adauga_politica_pret_art(] + ; + ALLTRIM(Str(tnIdPol)) + [,] + ; && id_pol + Alltrim(Str(tnIdArticol)) + [,] + ; && id_articol + Alltrim(Str(tnPretLista,20,4)) + [,] + ; && pret + Alltrim(Str(tnPretftvaLista,20,4)) + [,] + ; && pretftva + Alltrim(Str(tnPretvtvaLista ,20,4)) + [,] + ; && pretctva + [NULL, ] + ; && id_valuta + Alltrim(Str(tnProcTvav,20,4)) + [,] + ; && proc_tvav + [NULL, ] + ; && procent + [NULL, ] + ; && id_venchelt + Alltrim(Str(gnIdUtil)) + ; && id_util + [); end;] + Else + lcSql = [begin pack_preturi.modifica_pret_pol_pret_art(] + ; + ALLTRIM(Str(loPoliticaPretArt.id_pol_art)) + [,] + ; && id_pol_art + Alltrim(Str(tnPretLista,20,4)) + [,] + ; && pret + Alltrim(Str(tnPretftvaLista,20,4)) + [,] + ; && pretftva + Alltrim(Str(tnPretvtvaLista ,20,4)) + [,] + ; && pretctva + Iif(IsNull(loPoliticaPretArt.id_venchelt), 'NULL',Alltrim(Str(loPoliticaPretArt.id_venchelt))) + [,] + ; && id_venchelt + Iif(IsNull(loPoliticaPretArt.proc_tvav), 'NULL', Alltrim(Str(loPoliticaPretArt.proc_tvav,20,4))) + ; && proc_tvav + [); end;] + Endif && Nvl(lnIdPolArt,0) = 0 + + + lnSucces = goExecutor.oExecute(lcSql) + If lnSucces < 0 + aMessageBox(goExecutor.cEroare,0+16, 'Eroare') + Else + *!* MODIFICARE DATAORA, UTIL in CRM_POLITICI_PRETURI + lcSql = [begin pack_preturi.modifica_politica_dataora(] + ; + ALLTRIM(Str(tnIdPol)) + [,] + ; && id_pol + Alltrim(Str(gnIdUtil)) + ; && id_util + [); end;] + lnSucces = goExecutor.oExecute(lcSql) + If lnSucces < 0 + aMessageBox(goExecutor.cEroare,0+16, 'Eroare') + Endif + Endif + + *!* COMMIT / ROLLBACK + If lnSucces > 0 + lnSucces = goExecutor.oExecute("COMMIT") + If lnSucces < 0 + aMessageBox(goExecutor.cEroare,0+16, 'Eroare') + ELSE + llModificat = .T. + Endif + Else + lnSucces = goExecutor.oExecute("ROLLBACK") + If lnSucces < 0 + aMessageBox(goExecutor.cEroare,0+16, 'Eroare') + Endif + Endif + + SQLSetprop(gnHandle,"Transactions",1) + + Select (lcSelect) + RETURN llModificat + ENDPROC + + PROCEDURE Clb_dataact.TEXT_SIMPLU1.LostFocus + *!* modificare v 2.2.4 : daca scadenta nu e automata, atunci poate modifica data scadenta propusa + *!* poDate.datascad = Iif(gnScadentaAutomata=0,Gomonth(poDate.dataact,1),poDate.dataact+gnZileScadentaFact) + poDate.datascad = Iif(gnZileScadentaFact=-1,Gomonth(poDate.dataact,1),poDate.dataact+gnZileScadentaFact) + *!* modificare v 2.2.4 ^ + Thisform.clb_data_scadenta.Refresh() + *!* modificare v 2.0.56 + If Type('thisform.clb_zi_curs.visible')<>'U' + *!* modificare v 2.0.56 ^ + poDate.zi_curs = poDate.dataact + Thisform.clb_zi_curs.Refresh() + *!* modificare v 2.0.56 + Endif + *!* modificare v 2.0.56 ^ + + ENDPROC + + PROCEDURE Clb_discount.Procent.LostFocus + Thisform.do_calculeaza_discount(This.Value) + + ENDPROC + + PROCEDURE Clb_discount.TX_SUMA_NAT.InteractiveChange + lcval=This.ControlSource + &lcval=This.Value + Thisform.do_calculeaza_totaluri(.T.) + ENDPROC + + PROCEDURE Clb_discount.TX_SUMA_VAL.InteractiveChange + lcval=This.ControlSource + &lcval=This.Value + Thisform.do_calculeaza_totaluri(.T.) + ENDPROC + + PROCEDURE clb_fdoc.cboFdoc.Init + LOCAL lcTipDoc + lcTipDoc = IIF(poDate.nIdTipDoc = poDate.nIdTipDocFactura, 'FACTURA', ; + IIF(poDate.nIdTipDoc = poDate.nIdTipDocProforma, 'PROFORMA', ; + IIF(poDate.nIdTipDoc = poDate.nIdTipDocBonFiscal, 'BON FISCAL', ; + IIF(poDate.nIdTipDoc = poDate.nIdTipDocAviz, 'AVIZ', 'FACTURA')))) + THIS.Value = m.lcTipDoc + ENDPROC + + PROCEDURE clb_fdoc.cboFdoc.Valid + thisform.do_schimba_tipdoc() + ENDPROC + + PROCEDURE Clb_nract.TEXT_SIMPLU1.LostFocus + poDate.nract = this.value + ENDPROC + + PROCEDURE Clb_serie_act1.TEXT_SIMPLU1.LostFocus + *!* 03.02.2015 + *!* marius.mutu + *!* sa se genereze numar din plaja, chiar daca nu exista serie (BON FISCAL) + IF poDate.rezultat_serii = 2 && CU PLAJE, FARA SERIE + This.Parent.genereazaNumar() + ENDIF + ENDPROC + + PROCEDURE Clb_total_baza.tx_suma_nat.InteractiveChange + Thisform.actualizeaza_total_mod(This.Value,1) + ENDPROC + + PROCEDURE Clb_total_tva.tx_suma_nat.InteractiveChange + Thisform.actualizeaza_total_mod(This.Value,2) + ENDPROC + + PROCEDURE Ed_tx_simplu1._EDBASE1.KeyPress + LPARAMETERS nKeyCode, nShiftAltCtrl + IF nKeyCode = 13 && ENTER + NODEFAULT + thisform.but_terMIN1.SetFocus() + ENDIF + ENDPROC + + PROCEDURE grd_factura.cCodMat.cboCodmat.LostFocus + DODEFAULT() + + IF this.Value <> thisform.cOldValue + thisform.cOldvalue = this.Value + REPLACE codmat WITH crsCodMat.codmat, denumire WITH crsCodmat.denumire, id_articol WITH crsCodmat.id_articol IN crsFactura + + * Actualizez cursorul pentru coloana Denumire + lcRowSource = thisform.grd_factura.cDenumire.cCboDenumire.RowSource + WITH thisform.grd_factura + .cDenumire.cCboDenumire.cSearchString = ALLTRIM(crsCodmat.denumire) + .cDenumire.cCboDenumire.RefreshData(1) + .cDenumire.cCboDenumire.RowSource = "" + .cDenumire.cCboDenumire.RowSource = m.lcRowSource && forteaza recreerea cursorului + ENDWITH + + thisform.grd_factura.cDenumire.Refresh() + ENDIF + ENDPROC + + PROCEDURE grd_factura.cCodMat.cboCodmat.When + thisform.cOldValue = this.Value + ENDPROC + + PROCEDURE grd_factura.cDenumire.cCboDenumire.LostFocus + DODEFAULT() + + IF this.Value <> thisform.cOldValue + thisform.cOldvalue = this.Value + REPLACE codmat WITH crsDenumire.codmat, denumire WITH crsDenumire.denumire, id_articol WITH crsDenumire.id_articol IN crsFactura + + * Actualizez cursorul pentru coloana Codmat + lcRowSource = thisform.grd_factura.cCodMat.cboCodmat.RowSource + WITH thisform.grd_factura.cCodMat.cCboDenumire + .cSearchString = ALLTRIM(crsDenumire.codmat) + .RefreshData(1) + .RowSource = "" + .RowSource = m.lcRowSource && forteaza recreerea cursorului + ENDWITH + + thisform.grd_factura.cCodMat.Refresh() + ENDIF + ENDPROC + + PROCEDURE grd_factura.cDenumire.cCboDenumire.When + Thisform.cOldvalue = this.Value + ENDPROC + + PROCEDURE grd_factura.cGestiune.cCboGestiune.LostFocus + DODEFAULT() + + IF this.Value <> thisform.cOldValue + thisform.cOldvalue = this.Value + REPLACE nume_gestiune WITH crsGestiune.nume_gestiune, id_gestiune WITH crsGestiune.id_gestiune IN crsFactura + ENDIF + ENDPROC + + PROCEDURE grd_factura.cGestiune.cCboGestiune.When + thisform.cOldvalue = this.Value + ENDPROC + + PROCEDURE grd_factura.Init + DODEFAULT() + THIS.FontName= "Arial" + + ENDPROC + +ENDDEFINE + +DEFINE CLASS frm_nomrute AS frm_termin OF "_frm_child.vcx" + *< CLASSDATA: Baseclass="form" Timestamp="" Scale="Pixels" Uniqueid="" /> + + *-- OBJECTDATA items order determines ZOrder / El orden de los items OBJECTDATA determina el ZOrder + *< OBJECTDATA: ObjPath="_grdrow1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="_grdrow1.Column1.Header1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="_grdrow1.Column1.Text1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="_grdrow1.Column2.Header1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="_grdrow1.Column2.Text1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="_grdrow1.Column3.Header1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="_grdrow1.Column3.Text1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="_grdrow1.Column4.Header1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="_grdrow1.Column4.Text1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="But_modifica1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="But_nou1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="But_sterge1" UniqueID="" Timestamp="" /> + + * + DoCreate = .T. + Height = 450 + Name = "frm_nomrute" + Width = 397 + _shape1.Height = 29 + _shape1.Left = 0 + _shape1.Name = "_shape1" + _shape1.Top = 0 + _shape1.Width = 408 + _shape2.Left = 347 + _shape2.Name = "_shape2" + _shape2.Top = 0 + Lb_titlu_alb_b121.Caption = "Nomenclator rute" + Lb_titlu_alb_b121.Name = "Lb_titlu_alb_b121" + Lb_titlu_alb_b121.TabIndex = 1 + BUT_TERMIN1.Left = 367 + BUT_TERMIN1.Name = "BUT_TERMIN1" + BUT_TERMIN1.TabIndex = 2 + BUT_TERMIN1.Top = 1 + Gridsort1.Name = "Gridsort1" + * + + ADD OBJECT '_grdrow1' AS _grdrow WITH ; + ColumnCount = 4, ; + DeleteMark = .F., ; + Height = 396, ; + Left = 12, ; + Name = "_grdrow1", ; + Panel = 1, ; + RecordSource = "crsnomRUTE", ; + TabIndex = 3, ; + Top = 48, ; + Width = 372, ; + Column1.ControlSource = "ruta", ; + Column1.Name = "Column1", ; + Column1.Width = 89, ; + Column2.ControlSource = "delegat", ; + Column2.Name = "Column2", ; + Column2.Width = 109, ; + Column3.ControlSource = "agent", ; + Column3.Name = "Column3", ; + Column4.ControlSource = "nrinmat", ; + Column4.Name = "Column4" + *< END OBJECT: ClassLib="_grd_base.vcx" BaseClass="grid" /> + + ADD OBJECT '_grdrow1.Column1.Header1' AS header WITH ; + Caption = "Ruta", ; + Name = "Header1" + *< END OBJECT: BaseClass="header" /> + + ADD OBJECT '_grdrow1.Column1.Text1' AS textbox WITH ; + BackColor = 255,255,255, ; + BorderStyle = 0, ; + ForeColor = 0,0,0, ; + Margin = 0, ; + Name = "Text1" + *< END OBJECT: BaseClass="textbox" /> + + ADD OBJECT '_grdrow1.Column2.Header1' AS header WITH ; + Caption = "Delegat", ; + Name = "Header1" + *< END OBJECT: BaseClass="header" /> + + ADD OBJECT '_grdrow1.Column2.Text1' AS textbox WITH ; + BackColor = 255,255,255, ; + BorderStyle = 0, ; + ForeColor = 0,0,0, ; + Margin = 0, ; + Name = "Text1" + *< END OBJECT: BaseClass="textbox" /> + + ADD OBJECT '_grdrow1.Column3.Header1' AS header WITH ; + Caption = "Agent", ; + Name = "Header1" + *< END OBJECT: BaseClass="header" /> + + ADD OBJECT '_grdrow1.Column3.Text1' AS textbox WITH ; + BackColor = 255,255,255, ; + BorderStyle = 0, ; + ForeColor = 0,0,0, ; + Margin = 0, ; + Name = "Text1" + *< END OBJECT: BaseClass="textbox" /> + + ADD OBJECT '_grdrow1.Column4.Header1' AS header WITH ; + Caption = "Nr. inmatriculare", ; + Name = "Header1" + *< END OBJECT: BaseClass="header" /> + + ADD OBJECT '_grdrow1.Column4.Text1' AS textbox WITH ; + BackColor = 255,255,255, ; + BorderStyle = 0, ; + ForeColor = 0,0,0, ; + Margin = 0, ; + Name = "Text1" + *< END OBJECT: BaseClass="textbox" /> + + ADD OBJECT 'But_modifica1' AS but_modifica WITH ; + Left = 304, ; + Name = "But_modifica1", ; + TabIndex = 4, ; + Top = 1 + *< END OBJECT: ClassLib="cmd_butoane.vcx" BaseClass="commandbutton" /> + + ADD OBJECT 'But_nou1' AS but_nou WITH ; + Left = 273, ; + Name = "But_nou1", ; + TabIndex = 5, ; + Top = 1 + *< END OBJECT: ClassLib="cmd_butoane.vcx" BaseClass="commandbutton" /> + + ADD OBJECT 'But_sterge1' AS but_sterge WITH ; + Left = 335, ; + Name = "But_sterge1", ; + TabIndex = 6, ; + Top = 1 + *< END OBJECT: ClassLib="cmd_butoane.vcx" BaseClass="commandbutton" /> + + PROCEDURE actualizeaza_grid1 + LPARAMETERS pcFiltru + LOCAL lcFiltru + lcFiltru=pcFiltru + IF EMPTY(lcFiltru) + lcFiltru=ponomrute.ca_baza1.cfiltru + ENDIF + save_grid_tag(thisform._grdrow1) + ponomrute.ca_baza1.cfiltru=lcFiltru + ponomrute.ca_baza1.afisare() + restore_grid_tag(thisform._grdrow1) + *!* IF RECCOUNT('v_delegati')>0 + thisform._grdrow1.SetFocus() + *!* ELSE + *!* thisform.lb_delegati.SetFocus() + *!* ENDIF + + ENDPROC + + PROCEDURE do_adauga + Private pniesire + pniesire=0 + Select crsnomRUTE + *!* pcNume = loRec.nume + *!* pcPrenume = loRec.prenume + Scatter Name loRec Blank + Do Adauga_Modifica_Inregistrare With "nomrute",loRec,,"INSERT",,"addruta" + + + If pniesire=1 + This.actualizeaza_grid1() + Endif + + ENDPROC + + PROCEDURE do_modifica + Private pniesire + pniesire=0 + Select crsnomRUTE + Scatter Name loRec + *!* pcNume = loRec.nume + *!* pcPrenume = loRec.prenume + Do Adauga_Modifica_Inregistrare With "nomrute",loRec,loRec.id_ruta,"UPDATE",,"modruta" + + If pniesire=1 + This.actualizeaza_grid1() + Endif + + + ENDPROC + + PROCEDURE do_sterge + SELECT crsnomRUTE + SCATTER NAME lorec + Do STERGE_INREGISTRARE With "nomrute",loRec.id_ruta + This.actualizeaza_grid1() + ENDPROC + +ENDDEFINE + +DEFINE CLASS frm_nomrute_nou AS frm_termin_renunt OF "_frm_child.vcx" + *< CLASSDATA: Baseclass="form" Timestamp="" Scale="Pixels" Uniqueid="" /> + + *-- OBJECTDATA items order determines ZOrder / El orden de los items OBJECTDATA determina el ZOrder + *< OBJECTDATA: ObjPath="Cus_odata_nomrute1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="Clb_tx_simplu3" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="Ct_clb_delegat" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="Ct_clb_masina" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="Ct_clb_agent" UniqueID="" Timestamp="" /> + + * + *m: do_cauta_agent + *m: do_cauta_delegat + *m: do_cauta_masina + *p: nid + *p: orec + * + + * + DoCreate = .T. + Height = 158 + Name = "frm_nomrute_nou" + nid = .F. + orec = .F. + Width = 375 + _shape1.Name = "_shape1" + _shape2.Left = 314 + _shape2.Name = "_shape2" + _shape2.Top = 0 + Lb_titlu_alb_b121.Caption = "Nume rutã" + Lb_titlu_alb_b121.Name = "Lb_titlu_alb_b121" + Lb_titlu_alb_b121.TabIndex = 7 + BUT_TERMIN1.Left = 344 + BUT_TERMIN1.Name = "BUT_TERMIN1" + BUT_TERMIN1.TabIndex = 5 + BUT_TERMIN1.Top = 1 + Gridsort1.Name = "Gridsort1" + But_renunt1.Left = 315 + But_renunt1.Name = "But_renunt1" + But_renunt1.TabIndex = 6 + But_renunt1.Top = 1 + * + + ADD OBJECT 'Clb_tx_simplu3' AS clb_tx_simplu WITH ; + Left = 6, ; + Name = "Clb_tx_simplu3", ; + TabIndex = 1, ; + Top = 35, ; + Text_simplu1.ControlSource = "porec.ruta", ; + Text_simplu1.Name = "Text_simplu1", ; + Lb_simplu1.Caption = "Rutã", ; + Lb_simplu1.Name = "Lb_simplu1" + *< END OBJECT: ClassLib="lb_tx.vcx" BaseClass="container" /> + + ADD OBJECT 'Ct_clb_agent' AS ct_clb_cautare WITH ; + cconditie = ISNULL(porec.id_agent), ; + cprocedura = thisform.do_cauta_agent, ; + cvar_afisata = porec.agent, ; + Left = 5, ; + Name = "Ct_clb_agent", ; + TabIndex = 2, ; + Top = 62, ; + img_cautare.Name = "img_cautare", ; + clb_tx_cautare.Lb_simplu1.Caption = "Agent", ; + clb_tx_cautare.Lb_simplu1.Name = "Lb_simplu1", ; + clb_tx_cautare.Name = "clb_tx_cautare", ; + clb_tx_cautare.Text_simplu1.Name = "Text_simplu1" + *< END OBJECT: ClassLib="caut_ora.vcx" BaseClass="container" /> + + ADD OBJECT 'Ct_clb_delegat' AS ct_clb_cautare WITH ; + cconditie = ISNULL(porec.id_delegat), ; + cprocedura = thisform.do_cauta_delegat, ; + cvar_afisata = porec.delegat, ; + Left = 5, ; + Name = "Ct_clb_delegat", ; + TabIndex = 3, ; + Top = 90, ; + img_cautare.Name = "img_cautare", ; + clb_tx_cautare.Lb_simplu1.Caption = "Delegat", ; + clb_tx_cautare.Lb_simplu1.Name = "Lb_simplu1", ; + clb_tx_cautare.Name = "clb_tx_cautare", ; + clb_tx_cautare.Text_simplu1.Name = "Text_simplu1" + *< END OBJECT: ClassLib="caut_ora.vcx" BaseClass="container" /> + + ADD OBJECT 'Ct_clb_masina' AS ct_clb_cautare WITH ; + cconditie = isnull(porec.id_masina), ; + cprocedura = thisform.do_cauta_masina, ; + cvar_afisata = porec.nrinmat, ; + Left = 5, ; + Name = "Ct_clb_masina", ; + TabIndex = 4, ; + Top = 118, ; + img_cautare.Name = "img_cautare", ; + clb_tx_cautare.Lb_simplu1.Caption = "Maºinã", ; + clb_tx_cautare.Lb_simplu1.Name = "Lb_simplu1", ; + clb_tx_cautare.Name = "clb_tx_cautare", ; + clb_tx_cautare.Text_simplu1.Name = "Text_simplu1" + *< END OBJECT: ClassLib="caut_ora.vcx" BaseClass="container" /> + + ADD OBJECT 'Cus_odata_nomrute1' AS cus_odata_nomrute WITH ; + Left = 6, ; + Name = "Cus_odata_nomrute1", ; + Top = 149 + *< END OBJECT: ClassLib="ofacturare.vcx" BaseClass="custom" /> + + PROCEDURE do_cauta_agent + Local loCauta + loCauta = CautPartenerContabilitate(GetHash([cTitlu=>Agenti??cTipuriParteneri=>]+ALLTRIM(STR(gnIdTipAgenti))+[??lAdaugCorespondente=>1])) + If !Empty(Nvl(loCauta.id_part,0)) And !Empty(loCauta.denumire) + poRec.id_agent = loCauta.id_part + poRec.agent = Alltrim(loCauta.denumire) + Thisform.ct_clb_agent.Refresh() + Thisform.ct_clb_delegat.SetFocus() + Else + poRec.id_agent = Null + poRec.agent = [] + Endif + + ENDPROC + + PROCEDURE do_cauta_delegat + Local loCauta + *!* If Inlist(poRec.tip,23,25) + *!* loCauta=caut_delegati() + *!* Else + loCauta=caut_delegati() + *!* Endif + If !Empty(loCauta.id_responsabil) + poRec.id_delegat = loCauta.id_responsabil + poRec.delegat = Alltrim(loCauta.nume) + Thisform.ct_clb_delegat.Refresh() + Thisform.ct_clb_masina.SetFocus() + Else + poRec.id_delegat = Null + poRec.delegat = [] + Endif + + ENDPROC + + PROCEDURE do_cauta_masina + locauta=caut_masina_gs() + If !Empty(locauta.id_masina) + poRec.nrinmat = Alltrim(locauta.nrinmat) + poRec.id_masina = locauta.id_masina + + Thisform.ct_clb_masina.Refresh() + Thisform.but_TERMIN1.SetFocus() + Else + poRec.nrinmat = [] + poRec.id_masina = Null + Endif + + ENDPROC + + PROCEDURE inainte_de_do_termin + LOCAL PLRETURN + + lccontrol = UPPER(this.ActiveControl.BaseClass ) + IF INLIST(lccontrol,"TEXTBOX","EDITBOX","COMBOBOX") + lcval=This.Activecontrol.controlsource + &lcval=thisform.ActiveControl.value + ENDIF + + + Do Case + Case Empty(porec.ruta) + aMessagebox('Nu ati completat numele rutei!',0+48,"Atentie") + this.clb_tx_simplu3.text_simplu1.SetFocus() + + plreturn=.F. + + OTHERWISE + PLRETURN=This.cus_odata_nomrute1.salvare(This.OREC,This.NID) + + ENDCASE + + Return PLRETURN + + + + + ENDPROC + + PROCEDURE Init + Lparameters toRec, tnId, tcActiune + + DoDefault() + + This.orec= toRec + This.nid = tnId + this.cus_odata_nomrute1.cactiune = tcActiune + + ENDPROC + +ENDDEFINE + +DEFINE CLASS frm_optiuni_facturare AS _frmbase OF "_frm_base.vcx" + *< CLASSDATA: Baseclass="form" Timestamp="" Scale="Pixels" Uniqueid="" /> + + *-- OBJECTDATA items order determines ZOrder / El orden de los items OBJECTDATA determina el ZOrder + *< OBJECTDATA: ObjPath="But_renunt1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="pgfrm_optiuni" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="pgfrm_optiuni.Page1.Clb_zile_scadenta" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="pgfrm_optiuni.Page1.Clb_zile_scadenta.But_help1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="pgfrm_optiuni.Page1.op_scadenta_automata" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="pgfrm_optiuni.Page1.op_scadere_stoc" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="pgfrm_optiuni.Page1.Op_discountevidentiat" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="pgfrm_optiuni.Page1.Ct_clb_pol_pret_stoc" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="pgfrm_optiuni.Page1.op_facturare_set" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="pgfrm_optiuni.Page1.Clb_marja_eroare" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="pgfrm_optiuni.Page1.Op_lista_livrare" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="pgfrm_optiuni.Page1.Op_salvare_pdf" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="pgfrm_optiuni.Page1.Op_salvare_pdf.But_help1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="pgfrm_optiuni.Page1.op_memorare_procdisc" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="pgfrm_optiuni.Page1.Ct_clb_pol_pret_k" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="pgfrm_optiuni.Page1.Op_coeficient_k" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="pgfrm_optiuni.Page1.op_aviz_bon_fiscal" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="pgfrm_optiuni.Page1.op_factura_email" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="pgfrm_optiuni.Page2.Ed_txt_subsol_fact" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="pgfrm_optiuni.Page2.Ct_clb_fdoc_factura" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="pgfrm_optiuni.Page2.op_printdenumire" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="pgfrm_optiuni.Page2.ct_txtfooter_fact" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="pgfrm_optiuni.Page2.ct_txtfooter_fact.txtFooterFact1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="pgfrm_optiuni.Page2.ct_txtfooter_fact.txtFooterFact2" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="pgfrm_optiuni.Page2.ct_txtfooter_fact.txtFooterFact3" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="pgfrm_optiuni.Page2.ct_txtfooter_fact.txtFooterFact4" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="pgfrm_optiuni.Page2.ct_txtfooter_fact.txtFooterFact5" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="pgfrm_optiuni.Page2.ct_txtfooter_fact.Lb_simplu12" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="pgfrm_optiuni.Page2.ct_txtconform_fact" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="pgfrm_optiuni.Page2.ct_txtconform_fact.txtConformFact1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="pgfrm_optiuni.Page2.ct_txtconform_fact.txtConformFact2" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="pgfrm_optiuni.Page2.ct_txtconform_fact.txtConformFact3" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="pgfrm_optiuni.Page2.ct_txtconform_fact.txtConformFact4" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="pgfrm_optiuni.Page2.ct_txtconform_fact.txtConformFact5" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="pgfrm_optiuni.Page2.ct_txtconform_fact.Lb_simplu12" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="pgfrm_optiuni.Page2.ct_txtconform_fact.txtConformFact6" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="pgfrm_optiuni.Page2.ct_txtconform_fact.txtConformFact7" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="pgfrm_optiuni.Page2.ct_txtconform_fact.txtConformFact8" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="pgfrm_optiuni.Page2.op_conformitate" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="pgfrm_optiuni.Page3.Ed_txt_subsol_aviz" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="pgfrm_optiuni.Page3.Ct_clb_fdoc_aviz" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="pgfrm_optiuni.Page3.Ct_clb_fdoc_aviz_retur" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="pgfrm_optiuni.Page3.Ct_clb_fdoc_compensare" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="pgfrm_optiuni.Page3.Ct_clb_id_banca" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="pgfrm_optiuni.Page3.Ct_clb_pol_pret_tr" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="pgfrm_optiuni.Page3.Op_pret_subunitati" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="pgfrm_optiuni.Page4.Op_format_factura" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="pgfrm_optiuni.Page4.Op_format_aviz" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="pgfrm_optiuni.Page4.op_listare_curs" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="pgfrm_optiuni.Page4.op_factura_chitanta" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="pgfrm_optiuni.Page4.op_listare_sold" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="pgfrm_optiuni.Page5.Ct_clb_fdoc_proforma" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="pgfrm_optiuni.Page6.Ct_clb_fdoc_chitanta" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="pgfrm_optiuni.Page6.Ct_clb_id_casa" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="pgfrm_optiuni.Page6.Ct_clb_fdoc_bonfisc" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="pgfrm_optiuni.Page6.Ct_clb_fdoc_card" UniqueID="" Timestamp="" /> + + * + *m: do_cauta_banca + *m: do_cauta_casa + *m: do_cauta_fdoc + *m: do_cauta_politica + *p: cfdocaviz + *p: cfdocavizretur + *p: cfdocbonfisc + *p: cfdoccard + *p: cfdocchit + *p: cfdoccomp + *p: cfdocfact + *p: cfdocproforma + *p: cnumebanca + *p: cnumecasa + *p: cpolpretk + *p: cpolpretstoc + *p: cpolprettr + *p: natasamentefact + *p: nidfdocaviz + *p: nidfdocavizretur + *p: nidfdocbonfisc + *p: nidfdoccard + *p: nidfdocchit + *p: nidfdoccomp + *p: nidfdocfact + *p: nidfdocproforma + *p: nidpartbanca + *p: nidpartcasa + *p: nidpolpretk + *p: nidpolpretstoc + *p: nidpolprettr + *p: ntipoptiuni + * + + * + BorderStyle = 3 + Caption = "Form" + cfdocaviz = + cfdocavizretur = + cfdocbonfisc = + cfdoccard = + cfdocchit = + cfdoccomp = + cfdocfact = + cfdocproforma = + cnumebanca = + cnumecasa = + cpolpretk = + cpolpretstoc = + cpolprettr = + DoCreate = .T. + FontCharSet = 238 + Height = 586 + Name = "frm_optiuni_facturare" + natasamentefact = 0 + nidfdocaviz = 0 + nidfdocavizretur = 0 + nidfdocbonfisc = 0 + nidfdoccard = 0 + nidfdocchit = 0 + nidfdoccomp = 0 + nidfdocfact = 0 + nidfdocproforma = 0 + nidpartbanca = 0 + nidpartcasa = 0 + nidpolpretk = 0 + nidpolpretstoc = + nidpolprettr = 0 + ntipoptiuni = 0 + Width = 666 + _memberdata = + + + + + + + + + _SHAPE1.Height = 29 + _SHAPE1.Left = 0 + _SHAPE1.Name = "_SHAPE1" + _SHAPE1.Top = 0 + _SHAPE1.Width = 669 + _SHAPE2.Height = 29 + _SHAPE2.Left = 598 + _SHAPE2.Name = "_SHAPE2" + _SHAPE2.Top = -1 + _SHAPE2.Width = 72 + LB_TITLU_ALB_B121.Caption = "OPÞIUNI FACTURARE" + LB_TITLU_ALB_B121.FontBold = .T. + LB_TITLU_ALB_B121.FontCharSet = 238 + LB_TITLU_ALB_B121.Name = "LB_TITLU_ALB_B121" + LB_TITLU_ALB_B121.TabIndex = 4 + BUT_TERMIN1.Left = 636 + BUT_TERMIN1.Name = "BUT_TERMIN1" + BUT_TERMIN1.TabIndex = 1 + BUT_TERMIN1.Top = 0 + Gridsort1.Left = 7 + Gridsort1.Name = "Gridsort1" + Gridsort1.Top = 42 + * + + ADD OBJECT 'But_renunt1' AS but_renunt WITH ; + Left = 602, ; + Name = "But_renunt1", ; + TabIndex = 3, ; + Top = 0 + *< END OBJECT: ClassLib="cmd_butoane.vcx" BaseClass="commandbutton" /> + + ADD OBJECT 'pgfrm_optiuni' AS _pageframe WITH ; + ErasePage = .T., ; + Height = 555, ; + Left = 0, ; + Name = "pgfrm_optiuni", ; + PageCount = 6, ; + TabIndex = 2, ; + TabStyle = 0, ; + Themes = .F., ; + Top = 29, ; + Width = 660, ; + Page1.BackColor = 255,255,255, ; + Page1.Caption = "\ + + ADD OBJECT 'pgfrm_optiuni.Page1.Clb_marja_eroare' AS clb_tx_simplu WITH ; + Height = 29, ; + Left = 9, ; + Name = "Clb_marja_eroare", ; + TabIndex = 10, ; + Top = 202, ; + Width = 510, ; + Text_simplu1.Alignment = 3, ; + Text_simplu1.Height = 23, ; + Text_simplu1.InputMask = "9.99", ; + Text_simplu1.Left = 254, ; + Text_simplu1.Name = "Text_simplu1", ; + Text_simplu1.ReadOnly = .T., ; + Text_simplu1.Top = 3, ; + Text_simplu1.Value = 0, ; + Text_simplu1.Width = 69, ; + Lb_simplu1.Caption = "Eroare la recalculare preþ articol compus", ; + Lb_simplu1.Name = "Lb_simplu1" + *< END OBJECT: ClassLib="lb_tx.vcx" BaseClass="container" /> + + ADD OBJECT 'pgfrm_optiuni.Page1.Clb_zile_scadenta' AS clb_tx_simplu WITH ; + Height = 29, ; + Left = 9, ; + Name = "Clb_zile_scadenta", ; + TabIndex = 3, ; + Top = 64, ; + Width = 510, ; + Text_simplu1.Alignment = 3, ; + Text_simplu1.InputMask = "999", ; + Text_simplu1.Left = 126, ; + Text_simplu1.Name = "Text_simplu1", ; + Text_simplu1.Top = 3, ; + Text_simplu1.Value = 0, ; + Lb_simplu1.Caption = "Zile scadenþã", ; + Lb_simplu1.Name = "Lb_simplu1" + *< END OBJECT: ClassLib="lb_tx.vcx" BaseClass="container" /> + + ADD OBJECT 'pgfrm_optiuni.Page1.Clb_zile_scadenta.But_help1' AS but_help WITH ; + clistaparametri = 1, ; + Left = 92, ; + Name = "But_help1", ; + Top = 1 + *< END OBJECT: ClassLib="cmd_butoane.vcx" BaseClass="commandbutton" /> + + ADD OBJECT 'pgfrm_optiuni.Page1.Ct_clb_pol_pret_k' AS ct_clb_cautare WITH ; + cconditie = EMPTY(NVL(thisform.nidpolpretk,0)), ; + clista_parametri = 3, ; + cprocedura = thisform.do_cauta_politica, ; + cvar_afisata = thisform.cpolpretk, ; + Height = 39, ; + Left = 9, ; + Name = "Ct_clb_pol_pret_k", ; + TabIndex = 8, ; + Top = 270, ; + Width = 629, ; + IMG_CAUTARE.Left = 575, ; + IMG_CAUTARE.Name = "IMG_CAUTARE", ; + IMG_CAUTARE.Top = 5, ; + CLB_TX_CAUTARE.Height = 34, ; + CLB_TX_CAUTARE.LB_SIMPLU1.Caption = "Politica de preþ pentru facturare marfã în custodie", ; + CLB_TX_CAUTARE.LB_SIMPLU1.Name = "LB_SIMPLU1", ; + CLB_TX_CAUTARE.LB_SIMPLU1.Top = 8, ; + CLB_TX_CAUTARE.Left = 1, ; + CLB_TX_CAUTARE.Name = "CLB_TX_CAUTARE", ; + CLB_TX_CAUTARE.TEXT_SIMPLU1.Height = 23, ; + CLB_TX_CAUTARE.TEXT_SIMPLU1.Left = 321, ; + CLB_TX_CAUTARE.TEXT_SIMPLU1.Name = "TEXT_SIMPLU1", ; + CLB_TX_CAUTARE.TEXT_SIMPLU1.Top = 6, ; + CLB_TX_CAUTARE.TEXT_SIMPLU1.Width = 239, ; + CLB_TX_CAUTARE.Top = 1, ; + CLB_TX_CAUTARE.Width = 566 + *< END OBJECT: ClassLib="caut_ora.vcx" BaseClass="container" /> + + ADD OBJECT 'pgfrm_optiuni.Page1.Ct_clb_pol_pret_stoc' AS ct_clb_cautare WITH ; + cconditie = EMPTY(NVL(thisform.nidpolpretstoc,0)), ; + clista_parametri = 1, ; + cprocedura = thisform.do_cauta_politica, ; + cvar_afisata = thisform.cpolpretstoc, ; + Height = 39, ; + Left = 9, ; + Name = "Ct_clb_pol_pret_stoc", ; + TabIndex = 6, ; + Top = 237, ; + Width = 601, ; + img_cautare.Left = 572, ; + img_cautare.Name = "img_cautare", ; + img_cautare.Top = 8, ; + clb_tx_cautare.Height = 34, ; + clb_tx_cautare.Lb_simplu1.Caption = "Politica de preþ pentru avizare/facturare din stoc", ; + clb_tx_cautare.Lb_simplu1.Name = "Lb_simplu1", ; + clb_tx_cautare.Lb_simplu1.Top = 8, ; + clb_tx_cautare.Left = 1, ; + clb_tx_cautare.Name = "clb_tx_cautare", ; + clb_tx_cautare.Text_simplu1.Height = 23, ; + clb_tx_cautare.Text_simplu1.Left = 321, ; + clb_tx_cautare.Text_simplu1.Name = "Text_simplu1", ; + clb_tx_cautare.Text_simplu1.Top = 6, ; + clb_tx_cautare.Text_simplu1.Width = 239, ; + clb_tx_cautare.Top = 1, ; + clb_tx_cautare.Width = 566 + *< END OBJECT: ClassLib="caut_ora.vcx" BaseClass="container" /> + + ADD OBJECT 'pgfrm_optiuni.Page1.op_aviz_bon_fiscal' AS op_tx_simplu WITH ; + Height = 28, ; + Left = 9, ; + Name = "op_aviz_bon_fiscal", ; + TabIndex = 12, ; + Top = 338, ; + Width = 510, ; + Lb_simplu1.Caption = "Se imprimã aviz la bon fiscal?", ; + Lb_simplu1.Height = 18, ; + Lb_simplu1.Left = 8, ; + Lb_simplu1.Name = "Lb_simplu1", ; + Lb_simplu1.TabIndex = 1, ; + Lb_simplu1.Top = 6, ; + Lb_simplu1.Width = 174, ; + _optiongrup1.BorderStyle = 0, ; + _optiongrup1.Height = 28, ; + _optiongrup1.Left = 419, ; + _optiongrup1.Name = "_optiongrup1", ; + _optiongrup1.ndefault = 1, ; + _optiongrup1.OPTION1.AutoSize = .T., ; + _optiongrup1.OPTION1.Caption = "Da", ; + _optiongrup1.OPTION1.Left = 5, ; + _optiongrup1.OPTION1.Name = "OPTION1", ; + _optiongrup1.OPTION1.Top = 5, ; + _optiongrup1.OPTION1.Value = 1, ; + _optiongrup1.OPTION2.AutoSize = .T., ; + _optiongrup1.OPTION2.Caption = "Nu", ; + _optiongrup1.OPTION2.Left = 55, ; + _optiongrup1.OPTION2.Name = "OPTION2", ; + _optiongrup1.OPTION2.Top = 6, ; + _optiongrup1.OPTION2.Value = 0, ; + _optiongrup1.TabIndex = 2, ; + _optiongrup1.Top = 0, ; + _optiongrup1.Value = 1, ; + _optiongrup1.Width = 94 + *< END OBJECT: ClassLib="lb_tx.vcx" BaseClass="container" /> + + ADD OBJECT 'pgfrm_optiuni.Page1.Op_coeficient_k' AS op_tx_simplu WITH ; + Height = 28, ; + Left = 9, ; + Name = "Op_coeficient_k", ; + TabIndex = 9, ; + Top = 175, ; + Width = 510, ; + LB_SIMPLU1.Caption = "Coeficientul K este :", ; + LB_SIMPLU1.Height = 18, ; + LB_SIMPLU1.Left = 8, ; + LB_SIMPLU1.Name = "LB_SIMPLU1", ; + LB_SIMPLU1.Top = 6, ; + LB_SIMPLU1.Width = 119, ; + _OPTIONGRUP1.AutoSize = .F., ; + _OPTIONGRUP1.BorderStyle = 0, ; + _OPTIONGRUP1.ButtonCount = 3, ; + _OPTIONGRUP1.Height = 27, ; + _OPTIONGRUP1.Left = 197, ; + _OPTIONGRUP1.Name = "_OPTIONGRUP1", ; + _OPTIONGRUP1.ndefault = 2, ; + _OPTIONGRUP1.OPTION1.AutoSize = .T., ; + _OPTIONGRUP1.OPTION1.Caption = "invizibil", ; + _OPTIONGRUP1.OPTION1.Left = 1, ; + _OPTIONGRUP1.OPTION1.Name = "OPTION1", ; + _OPTIONGRUP1.OPTION1.Top = 5, ; + _OPTIONGRUP1.OPTION1.Value = 0, ; + _OPTIONGRUP1.OPTION2.AutoSize = .T., ; + _OPTIONGRUP1.OPTION2.Caption = "vizibil, nemodificabil", ; + _OPTIONGRUP1.OPTION2.Left = 63, ; + _OPTIONGRUP1.OPTION2.Name = "OPTION2", ; + _OPTIONGRUP1.OPTION2.Top = 5, ; + _OPTIONGRUP1.OPTION2.Value = 0, ; + _OPTIONGRUP1.Option3.AutoSize = .T., ; + _OPTIONGRUP1.Option3.BackStyle = 0, ; + _OPTIONGRUP1.Option3.Caption = "vizibil, modificabil", ; + _OPTIONGRUP1.Option3.Height = 17, ; + _OPTIONGRUP1.Option3.Left = 195, ; + _OPTIONGRUP1.Option3.Name = "Option3", ; + _OPTIONGRUP1.Option3.Top = 5, ; + _OPTIONGRUP1.Option3.Value = 1, ; + _OPTIONGRUP1.Option3.Width = 113, ; + _OPTIONGRUP1.Top = 0, ; + _OPTIONGRUP1.Value = 3, ; + _OPTIONGRUP1.Width = 312 + *< END OBJECT: ClassLib="lb_tx.vcx" BaseClass="container" /> + + ADD OBJECT 'pgfrm_optiuni.Page1.Op_discountevidentiat' AS op_tx_simplu WITH ; + Height = 29, ; + Left = 9, ; + Name = "Op_discountevidentiat", ; + TabIndex = 4, ; + Top = 92, ; + Width = 510, ; + Lb_simplu1.AutoSize = .F., ; + Lb_simplu1.Caption = "Discountul pe articole este evidenþiat pe facturã ºi în notele contabile?", ; + Lb_simplu1.Height = 31, ; + Lb_simplu1.Left = 8, ; + Lb_simplu1.Name = "Lb_simplu1", ; + Lb_simplu1.Top = 10, ; + Lb_simplu1.Width = 414, ; + Lb_simplu1.WordWrap = .T., ; + _optiongrup1.BorderStyle = 0, ; + _optiongrup1.Height = 27, ; + _optiongrup1.Left = 419, ; + _optiongrup1.Name = "_optiongrup1", ; + _optiongrup1.OPTION1.AutoSize = .T., ; + _optiongrup1.OPTION1.Caption = "Da", ; + _optiongrup1.OPTION1.Left = 5, ; + _optiongrup1.OPTION1.Name = "OPTION1", ; + _optiongrup1.OPTION1.Top = 5, ; + _optiongrup1.OPTION1.Value = 1, ; + _optiongrup1.OPTION2.AutoSize = .F., ; + _optiongrup1.OPTION2.Caption = "Nu", ; + _optiongrup1.OPTION2.Left = 55, ; + _optiongrup1.OPTION2.Name = "OPTION2", ; + _optiongrup1.OPTION2.Top = 5, ; + _optiongrup1.OPTION2.Value = 0, ; + _optiongrup1.Top = 3, ; + _optiongrup1.Value = 1, ; + _optiongrup1.Width = 121 + *< END OBJECT: ClassLib="lb_tx.vcx" BaseClass="container" /> + + ADD OBJECT 'pgfrm_optiuni.Page1.op_factura_email' AS op_tx_simplu WITH ; + Height = 28, ; + Left = 9, ; + Name = "op_factura_email", ; + TabIndex = 14, ; + Top = 401, ; + Width = 510, ; + Lb_simplu1.Caption = "Se trimite email dupã emiterea facturii?", ; + Lb_simplu1.Height = 18, ; + Lb_simplu1.Left = 8, ; + Lb_simplu1.Name = "Lb_simplu1", ; + Lb_simplu1.Top = 4, ; + Lb_simplu1.Width = 228, ; + _optiongrup1.AutoSize = .T., ; + _optiongrup1.BorderStyle = 0, ; + _optiongrup1.ButtonCount = 3, ; + _optiongrup1.Height = 27, ; + _optiongrup1.Left = 334, ; + _optiongrup1.Name = "_optiongrup1", ; + _optiongrup1.ndefault = 2, ; + _optiongrup1.OPTION1.AutoSize = .T., ; + _optiongrup1.OPTION1.Caption = "Da", ; + _optiongrup1.OPTION1.Left = 5, ; + _optiongrup1.OPTION1.Name = "OPTION1", ; + _optiongrup1.OPTION1.Top = 5, ; + _optiongrup1.OPTION1.Value = 0, ; + _optiongrup1.OPTION2.AutoSize = .T., ; + _optiongrup1.OPTION2.Caption = "Nu", ; + _optiongrup1.OPTION2.Left = 46, ; + _optiongrup1.OPTION2.Name = "OPTION2", ; + _optiongrup1.OPTION2.Top = 5, ; + _optiongrup1.OPTION2.Value = 0, ; + _optiongrup1.Option3.AutoSize = .T., ; + _optiongrup1.Option3.Caption = "Confirmare", ; + _optiongrup1.Option3.Height = 17, ; + _optiongrup1.Option3.Left = 87, ; + _optiongrup1.Option3.Name = "Option3", ; + _optiongrup1.Option3.Top = 5, ; + _optiongrup1.Option3.Value = 1, ; + _optiongrup1.Option3.Width = 80, ; + _optiongrup1.Top = 0, ; + _optiongrup1.Value = 3, ; + _optiongrup1.Width = 172 + *< END OBJECT: ClassLib="lb_tx.vcx" BaseClass="container" /> + + ADD OBJECT 'pgfrm_optiuni.Page1.op_facturare_set' AS op_tx_simplu WITH ; + Height = 28, ; + Left = 9, ; + Name = "op_facturare_set", ; + TabIndex = 7, ; + Top = 148, ; + Width = 510, ; + Lb_simplu1.AutoSize = .F., ; + Lb_simplu1.Caption = "Se face facturare pe seturi?", ; + Lb_simplu1.Height = 18, ; + Lb_simplu1.Left = 8, ; + Lb_simplu1.Name = "Lb_simplu1", ; + Lb_simplu1.Top = 6, ; + Lb_simplu1.Width = 159, ; + Lb_simplu1.WordWrap = .T., ; + _optiongrup1.BorderStyle = 0, ; + _optiongrup1.Height = 28, ; + _optiongrup1.Left = 419, ; + _optiongrup1.Name = "_optiongrup1", ; + _optiongrup1.ndefault = 2, ; + _optiongrup1.OPTION1.AutoSize = .T., ; + _optiongrup1.OPTION1.Caption = "Da", ; + _optiongrup1.OPTION1.Left = 5, ; + _optiongrup1.OPTION1.Name = "OPTION1", ; + _optiongrup1.OPTION1.Top = 5, ; + _optiongrup1.OPTION1.Value = 0, ; + _optiongrup1.OPTION2.AutoSize = .T., ; + _optiongrup1.OPTION2.Caption = "Nu", ; + _optiongrup1.OPTION2.Left = 55, ; + _optiongrup1.OPTION2.Name = "OPTION2", ; + _optiongrup1.OPTION2.Top = 6, ; + _optiongrup1.OPTION2.Value = 1, ; + _optiongrup1.Top = 0, ; + _optiongrup1.Value = 2, ; + _optiongrup1.Width = 94 + *< END OBJECT: ClassLib="lb_tx.vcx" BaseClass="container" /> + + ADD OBJECT 'pgfrm_optiuni.Page1.Op_lista_livrare' AS op_tx_simplu WITH ; + Height = 28, ; + Left = 9, ; + Name = "Op_lista_livrare", ; + TabIndex = 11, ; + Top = 311, ; + Width = 510, ; + Lb_simplu1.Caption = "Se imprimã ºi lista de livrare?", ; + Lb_simplu1.Height = 18, ; + Lb_simplu1.Left = 8, ; + Lb_simplu1.Name = "Lb_simplu1", ; + Lb_simplu1.Top = 6, ; + Lb_simplu1.Width = 172, ; + _optiongrup1.BorderStyle = 0, ; + _optiongrup1.Height = 28, ; + _optiongrup1.Left = 419, ; + _optiongrup1.Name = "_optiongrup1", ; + _optiongrup1.ndefault = 2, ; + _optiongrup1.OPTION1.AutoSize = .T., ; + _optiongrup1.OPTION1.Caption = "Da", ; + _optiongrup1.OPTION1.Left = 5, ; + _optiongrup1.OPTION1.Name = "OPTION1", ; + _optiongrup1.OPTION1.Top = 5, ; + _optiongrup1.OPTION1.Value = 0, ; + _optiongrup1.OPTION2.AutoSize = .T., ; + _optiongrup1.OPTION2.Caption = "Nu", ; + _optiongrup1.OPTION2.Left = 55, ; + _optiongrup1.OPTION2.Name = "OPTION2", ; + _optiongrup1.OPTION2.Top = 6, ; + _optiongrup1.OPTION2.Value = 1, ; + _optiongrup1.Top = 0, ; + _optiongrup1.Value = 2, ; + _optiongrup1.Width = 94 + *< END OBJECT: ClassLib="lb_tx.vcx" BaseClass="container" /> + + ADD OBJECT 'pgfrm_optiuni.Page1.op_memorare_procdisc' AS op_tx_simplu WITH ; + Height = 29, ; + Left = 9, ; + Name = "op_memorare_procdisc", ; + TabIndex = 5, ; + Top = 120, ; + Width = 510, ; + Lb_simplu1.AutoSize = .F., ; + Lb_simplu1.Caption = "Se reþine procentul de discount de la un reper la urmãtorul?", ; + Lb_simplu1.Height = 18, ; + Lb_simplu1.Left = 8, ; + Lb_simplu1.Name = "Lb_simplu1", ; + Lb_simplu1.Top = 10, ; + Lb_simplu1.Width = 342, ; + Lb_simplu1.WordWrap = .T., ; + _optiongrup1.BorderStyle = 0, ; + _optiongrup1.Height = 27, ; + _optiongrup1.Left = 419, ; + _optiongrup1.Name = "_optiongrup1", ; + _optiongrup1.ndefault = 2, ; + _optiongrup1.OPTION1.AutoSize = .T., ; + _optiongrup1.OPTION1.Caption = "Da", ; + _optiongrup1.OPTION1.Left = 5, ; + _optiongrup1.OPTION1.Name = "OPTION1", ; + _optiongrup1.OPTION1.Top = 5, ; + _optiongrup1.OPTION1.Value = 0, ; + _optiongrup1.OPTION2.AutoSize = .F., ; + _optiongrup1.OPTION2.Caption = "Nu", ; + _optiongrup1.OPTION2.Left = 55, ; + _optiongrup1.OPTION2.Name = "OPTION2", ; + _optiongrup1.OPTION2.Top = 5, ; + _optiongrup1.OPTION2.Value = 1, ; + _optiongrup1.Top = 3, ; + _optiongrup1.Value = 2, ; + _optiongrup1.Width = 121 + *< END OBJECT: ClassLib="lb_tx.vcx" BaseClass="container" /> + + ADD OBJECT 'pgfrm_optiuni.Page1.Op_salvare_pdf' AS op_tx_simplu WITH ; + Height = 29, ; + Left = 9, ; + Name = "Op_salvare_pdf", ; + TabIndex = 13, ; + ToolTipText = "*=documentele care pot fi salvate sunt : facturi, facturi in valuta, invoice, aviz ( fara cele din avizele de transfer pe baza de lucrare ), recapitulatii.", ; + Top = 373, ; + Width = 510, ; + Lb_simplu1.Caption = "Se salveazã documentele în baza de date?", ; + Lb_simplu1.Height = 18, ; + Lb_simplu1.Left = 8, ; + Lb_simplu1.Name = "Lb_simplu1", ; + Lb_simplu1.Top = 6, ; + Lb_simplu1.Width = 250, ; + _optiongrup1.BorderStyle = 0, ; + _optiongrup1.Height = 27, ; + _optiongrup1.Left = 419, ; + _optiongrup1.Name = "_optiongrup1", ; + _optiongrup1.ndefault = 2, ; + _optiongrup1.OPTION1.AutoSize = .T., ; + _optiongrup1.OPTION1.Caption = "Da", ; + _optiongrup1.OPTION1.Height = 17, ; + _optiongrup1.OPTION1.Left = 5, ; + _optiongrup1.OPTION1.Name = "OPTION1", ; + _optiongrup1.OPTION1.Top = 5, ; + _optiongrup1.OPTION1.Value = 0, ; + _optiongrup1.OPTION1.Width = 34, ; + _optiongrup1.OPTION2.AutoSize = .T., ; + _optiongrup1.OPTION2.Caption = "Nu", ; + _optiongrup1.OPTION2.Height = 17, ; + _optiongrup1.OPTION2.Left = 55, ; + _optiongrup1.OPTION2.Name = "OPTION2", ; + _optiongrup1.OPTION2.Top = 5, ; + _optiongrup1.OPTION2.Value = 1, ; + _optiongrup1.OPTION2.Width = 34, ; + _optiongrup1.Top = 2, ; + _optiongrup1.Value = 2, ; + _optiongrup1.Width = 94 + *< END OBJECT: ClassLib="lb_tx.vcx" BaseClass="container" /> + + ADD OBJECT 'pgfrm_optiuni.Page1.Op_salvare_pdf.But_help1' AS but_help WITH ; + clistaparametri = 2, ; + Left = 270, ; + Name = "But_help1", ; + Top = 1 + *< END OBJECT: ClassLib="cmd_butoane.vcx" BaseClass="commandbutton" /> + + ADD OBJECT 'pgfrm_optiuni.Page1.op_scadenta_automata' AS op_tx_simplu WITH ; + Height = 29, ; + Left = 9, ; + Name = "op_scadenta_automata", ; + TabIndex = 2, ; + Top = 36, ; + Width = 510, ; + Lb_simplu1.Caption = "Scadenþa este automatã?", ; + Lb_simplu1.Left = 8, ; + Lb_simplu1.Name = "Lb_simplu1", ; + Lb_simplu1.Top = 6, ; + _optiongrup1.BorderStyle = 0, ; + _optiongrup1.Height = 27, ; + _optiongrup1.Left = 419, ; + _optiongrup1.Name = "_optiongrup1", ; + _optiongrup1.ndefault = 2, ; + _optiongrup1.OPTION1.AutoSize = .T., ; + _optiongrup1.OPTION1.Caption = "Da", ; + _optiongrup1.OPTION1.Left = 5, ; + _optiongrup1.OPTION1.Name = "OPTION1", ; + _optiongrup1.OPTION1.Top = 5, ; + _optiongrup1.OPTION1.Value = 0, ; + _optiongrup1.OPTION2.AutoSize = .T., ; + _optiongrup1.OPTION2.Caption = "Nu", ; + _optiongrup1.OPTION2.Left = 55, ; + _optiongrup1.OPTION2.Name = "OPTION2", ; + _optiongrup1.OPTION2.Top = 5, ; + _optiongrup1.OPTION2.Value = 1, ; + _optiongrup1.Top = 1, ; + _optiongrup1.Value = 2, ; + _optiongrup1.Width = 94 + *< END OBJECT: ClassLib="lb_tx.vcx" BaseClass="container" /> + + ADD OBJECT 'pgfrm_optiuni.Page1.op_scadere_stoc' AS op_tx_simplu WITH ; + Height = 29, ; + Left = 9, ; + Name = "op_scadere_stoc", ; + TabIndex = 1, ; + Top = 8, ; + Width = 510, ; + Lb_simplu1.AutoSize = .F., ; + Lb_simplu1.Caption = "Se face scãdere din stoc pentru articolele gestionabile?", ; + Lb_simplu1.Height = 19, ; + Lb_simplu1.Left = 8, ; + Lb_simplu1.Name = "Lb_simplu1", ; + Lb_simplu1.Top = 6, ; + Lb_simplu1.Width = 304, ; + Lb_simplu1.WordWrap = .T., ; + _optiongrup1.BorderStyle = 0, ; + _optiongrup1.Height = 27, ; + _optiongrup1.Left = 419, ; + _optiongrup1.Name = "_optiongrup1", ; + _optiongrup1.ndefault = 2, ; + _optiongrup1.OPTION1.AutoSize = .T., ; + _optiongrup1.OPTION1.Caption = "Da", ; + _optiongrup1.OPTION1.Height = 17, ; + _optiongrup1.OPTION1.Left = 5, ; + _optiongrup1.OPTION1.Name = "OPTION1", ; + _optiongrup1.OPTION1.Top = 5, ; + _optiongrup1.OPTION1.Value = 0, ; + _optiongrup1.OPTION1.Width = 34, ; + _optiongrup1.OPTION2.AutoSize = .T., ; + _optiongrup1.OPTION2.Caption = "Nu", ; + _optiongrup1.OPTION2.Height = 17, ; + _optiongrup1.OPTION2.Left = 55, ; + _optiongrup1.OPTION2.Name = "OPTION2", ; + _optiongrup1.OPTION2.Top = 5, ; + _optiongrup1.OPTION2.Value = 1, ; + _optiongrup1.OPTION2.Width = 34, ; + _optiongrup1.Top = 2, ; + _optiongrup1.Value = 2, ; + _optiongrup1.Width = 94 + *< END OBJECT: ClassLib="lb_tx.vcx" BaseClass="container" /> + + ADD OBJECT 'pgfrm_optiuni.Page2.Ct_clb_fdoc_factura' AS ct_clb_cautare WITH ; + cconditie = EMPTY(thisform.nidfdocfact) OR ISNULL(thisform.nidfdocfact), ; + clista_parametri = 1, ; + cprocedura = thisform.do_cauta_fdoc, ; + cvar_afisata = thisform.cfdocfact, ; + Height = 31, ; + Left = 8, ; + Name = "Ct_clb_fdoc_factura", ; + TabIndex = 1, ; + Top = 16, ; + Width = 510, ; + img_cautare.Name = "img_cautare", ; + clb_tx_cautare.Lb_simplu1.Caption = "Document facturã", ; + clb_tx_cautare.Lb_simplu1.Name = "Lb_simplu1", ; + clb_tx_cautare.Name = "clb_tx_cautare", ; + clb_tx_cautare.Text_simplu1.Name = "Text_simplu1" + *< END OBJECT: ClassLib="caut_ora.vcx" BaseClass="container" /> + + ADD OBJECT 'pgfrm_optiuni.Page2.ct_txtconform_fact' AS _container WITH ; + Height = 201, ; + Left = 9, ; + Name = "ct_txtconform_fact", ; + TabIndex = 6, ; + Top = 316, ; + Width = 638 + *< END OBJECT: ClassLib="_baza.vcx" BaseClass="container" /> + + ADD OBJECT 'pgfrm_optiuni.Page2.ct_txtconform_fact.Lb_simplu12' AS lb_simplu WITH ; + Caption = "Text declaratie conformitate (maxim 8 linii. Se listeaza in subsolul facturii) ", ; + FontBold = .T., ; + Height = 18, ; + Left = 6, ; + Name = "Lb_simplu12", ; + TabIndex = 9, ; + ToolTipText = "Se pot folosi variabilele: , , , , , + + ADD OBJECT 'pgfrm_optiuni.Page2.ct_txtconform_fact.txtConformFact1' AS _textbox WITH ; + Height = 23, ; + Left = 8, ; + MaxLength = 250, ; + Name = "txtConformFact1", ; + TabIndex = 1, ; + Top = 22, ; + Width = 620 + *< END OBJECT: ClassLib="..\..\..\roaauto\comun\clase\_baza.vcx" BaseClass="textbox" /> + + ADD OBJECT 'pgfrm_optiuni.Page2.ct_txtconform_fact.txtConformFact2' AS _textbox WITH ; + Height = 23, ; + Left = 8, ; + MaxLength = 250, ; + Name = "txtConformFact2", ; + TabIndex = 2, ; + Top = 44, ; + Width = 620 + *< END OBJECT: ClassLib="..\..\..\roaauto\comun\clase\_baza.vcx" BaseClass="textbox" /> + + ADD OBJECT 'pgfrm_optiuni.Page2.ct_txtconform_fact.txtConformFact3' AS _textbox WITH ; + Height = 23, ; + Left = 8, ; + MaxLength = 250, ; + Name = "txtConformFact3", ; + TabIndex = 3, ; + Top = 66, ; + Width = 620 + *< END OBJECT: ClassLib="..\..\..\roaauto\comun\clase\_baza.vcx" BaseClass="textbox" /> + + ADD OBJECT 'pgfrm_optiuni.Page2.ct_txtconform_fact.txtConformFact4' AS _textbox WITH ; + Height = 23, ; + Left = 8, ; + MaxLength = 250, ; + Name = "txtConformFact4", ; + TabIndex = 4, ; + Top = 88, ; + Width = 620 + *< END OBJECT: ClassLib="..\..\..\roaauto\comun\clase\_baza.vcx" BaseClass="textbox" /> + + ADD OBJECT 'pgfrm_optiuni.Page2.ct_txtconform_fact.txtConformFact5' AS _textbox WITH ; + Height = 23, ; + Left = 8, ; + MaxLength = 250, ; + Name = "txtConformFact5", ; + TabIndex = 5, ; + Top = 110, ; + Width = 620 + *< END OBJECT: ClassLib="..\..\..\roaauto\comun\clase\_baza.vcx" BaseClass="textbox" /> + + ADD OBJECT 'pgfrm_optiuni.Page2.ct_txtconform_fact.txtConformFact6' AS _textbox WITH ; + Height = 23, ; + Left = 8, ; + MaxLength = 250, ; + Name = "txtConformFact6", ; + TabIndex = 6, ; + Top = 132, ; + Width = 620 + *< END OBJECT: ClassLib="..\..\..\roaauto\comun\clase\_baza.vcx" BaseClass="textbox" /> + + ADD OBJECT 'pgfrm_optiuni.Page2.ct_txtconform_fact.txtConformFact7' AS _textbox WITH ; + Height = 23, ; + Left = 8, ; + MaxLength = 250, ; + Name = "txtConformFact7", ; + TabIndex = 7, ; + Top = 154, ; + Width = 620 + *< END OBJECT: ClassLib="..\..\..\roaauto\comun\clase\_baza.vcx" BaseClass="textbox" /> + + ADD OBJECT 'pgfrm_optiuni.Page2.ct_txtconform_fact.txtConformFact8' AS _textbox WITH ; + Height = 23, ; + Left = 8, ; + MaxLength = 250, ; + Name = "txtConformFact8", ; + TabIndex = 8, ; + Top = 176, ; + Width = 620 + *< END OBJECT: ClassLib="..\..\..\roaauto\comun\clase\_baza.vcx" BaseClass="textbox" /> + + ADD OBJECT 'pgfrm_optiuni.Page2.ct_txtfooter_fact' AS _container WITH ; + Height = 141, ; + Left = 9, ; + Name = "ct_txtfooter_fact", ; + TabIndex = 4, ; + Top = 149, ; + Width = 638 + *< END OBJECT: ClassLib="_baza.vcx" BaseClass="container" /> + + ADD OBJECT 'pgfrm_optiuni.Page2.ct_txtfooter_fact.Lb_simplu12' AS lb_simplu WITH ; + Caption = "Text subsol facturã (maxim 5 linii. Se listeaza sub totalul facturii)", ; + FontBold = .T., ; + Height = 18, ; + Left = 6, ; + Name = "Lb_simplu12", ; + TabIndex = 17, ; + Top = 4, ; + Width = 413, ; + ZOrderSet = 19 + *< END OBJECT: ClassLib="..\..\..\roaauto\comun\clase\lb.vcx" BaseClass="label" /> + + ADD OBJECT 'pgfrm_optiuni.Page2.ct_txtfooter_fact.txtFooterFact1' AS _textbox WITH ; + Height = 23, ; + Left = 8, ; + MaxLength = 250, ; + Name = "txtFooterFact1", ; + TabIndex = 8, ; + Top = 22, ; + Width = 620 + *< END OBJECT: ClassLib="..\..\..\roaauto\comun\clase\_baza.vcx" BaseClass="textbox" /> + + ADD OBJECT 'pgfrm_optiuni.Page2.ct_txtfooter_fact.txtFooterFact2' AS _textbox WITH ; + Height = 23, ; + Left = 8, ; + MaxLength = 250, ; + Name = "txtFooterFact2", ; + TabIndex = 9, ; + Top = 44, ; + Width = 620 + *< END OBJECT: ClassLib="..\..\..\roaauto\comun\clase\_baza.vcx" BaseClass="textbox" /> + + ADD OBJECT 'pgfrm_optiuni.Page2.ct_txtfooter_fact.txtFooterFact3' AS _textbox WITH ; + Height = 23, ; + Left = 8, ; + MaxLength = 250, ; + Name = "txtFooterFact3", ; + TabIndex = 10, ; + Top = 66, ; + Width = 620 + *< END OBJECT: ClassLib="..\..\..\roaauto\comun\clase\_baza.vcx" BaseClass="textbox" /> + + ADD OBJECT 'pgfrm_optiuni.Page2.ct_txtfooter_fact.txtFooterFact4' AS _textbox WITH ; + Height = 23, ; + Left = 8, ; + MaxLength = 250, ; + Name = "txtFooterFact4", ; + TabIndex = 11, ; + Top = 88, ; + Width = 620 + *< END OBJECT: ClassLib="..\..\..\roaauto\comun\clase\_baza.vcx" BaseClass="textbox" /> + + ADD OBJECT 'pgfrm_optiuni.Page2.ct_txtfooter_fact.txtFooterFact5' AS _textbox WITH ; + Height = 23, ; + Left = 8, ; + MaxLength = 250, ; + Name = "txtFooterFact5", ; + TabIndex = 12, ; + Top = 110, ; + Width = 620 + *< END OBJECT: ClassLib="..\..\..\roaauto\comun\clase\_baza.vcx" BaseClass="textbox" /> + + ADD OBJECT 'pgfrm_optiuni.Page2.Ed_txt_subsol_fact' AS ed_tx_simplu WITH ; + Height = 78, ; + Left = 9, ; + Name = "Ed_txt_subsol_fact", ; + TabIndex = 3, ; + Top = 72, ; + Width = 638, ; + _edbase1.Height = 48, ; + _edbase1.Left = 13, ; + _edbase1.Name = "_edbase1", ; + _edbase1.Top = 26, ; + _edbase1.Width = 596, ; + _lbbase1.Caption = "Text final facturã (Se listeazã la sfarsitul articolelor)", ; + _lbbase1.Left = 8, ; + _lbbase1.Name = "_lbbase1", ; + _lbbase1.Top = 6 + *< END OBJECT: ClassLib="lb_tx.vcx" BaseClass="container" /> + + ADD OBJECT 'pgfrm_optiuni.Page2.op_conformitate' AS op_tx_simplu WITH ; + Height = 28, ; + Left = 9, ; + Name = "op_conformitate", ; + TabIndex = 5, ; + Top = 289, ; + Width = 510, ; + Lb_simplu1.Caption = "Se listeazã Declaratia de Conformitate in subsolul facturii", ; + Lb_simplu1.Height = 18, ; + Lb_simplu1.Left = 8, ; + Lb_simplu1.Name = "Lb_simplu1", ; + Lb_simplu1.TabIndex = 1, ; + Lb_simplu1.Top = 6, ; + Lb_simplu1.Width = 332, ; + _optiongrup1.BorderStyle = 0, ; + _optiongrup1.Height = 27, ; + _optiongrup1.Left = 412, ; + _optiongrup1.Name = "_optiongrup1", ; + _optiongrup1.ndefault = 1, ; + _optiongrup1.OPTION1.AutoSize = .T., ; + _optiongrup1.OPTION1.Caption = "Da", ; + _optiongrup1.OPTION1.Left = 5, ; + _optiongrup1.OPTION1.Name = "OPTION1", ; + _optiongrup1.OPTION1.Top = 5, ; + _optiongrup1.OPTION1.Value = 1, ; + _optiongrup1.OPTION2.AutoSize = .T., ; + _optiongrup1.OPTION2.Caption = "Nu", ; + _optiongrup1.OPTION2.Left = 42, ; + _optiongrup1.OPTION2.Name = "OPTION2", ; + _optiongrup1.OPTION2.Top = 5, ; + _optiongrup1.OPTION2.Value = 0, ; + _optiongrup1.TabIndex = 2, ; + _optiongrup1.Top = 0, ; + _optiongrup1.Value = 1, ; + _optiongrup1.Width = 81 + *< END OBJECT: ClassLib="lb_tx.vcx" BaseClass="container" /> + + ADD OBJECT 'pgfrm_optiuni.Page2.op_printdenumire' AS op_tx_simplu WITH ; + Height = 28, ; + Left = 9, ; + Name = "op_printdenumire", ; + TabIndex = 2, ; + Top = 45, ; + Width = 510, ; + LB_SIMPLU1.Caption = "Se listeazã denumirea articolului", ; + LB_SIMPLU1.Height = 18, ; + LB_SIMPLU1.Left = 8, ; + LB_SIMPLU1.Name = "LB_SIMPLU1", ; + LB_SIMPLU1.TabIndex = 1, ; + LB_SIMPLU1.Top = 6, ; + LB_SIMPLU1.Width = 190, ; + _OPTIONGRUP1.BorderStyle = 0, ; + _OPTIONGRUP1.Height = 27, ; + _OPTIONGRUP1.Left = 412, ; + _OPTIONGRUP1.Name = "_OPTIONGRUP1", ; + _OPTIONGRUP1.ndefault = 1, ; + _OPTIONGRUP1.OPTION1.AutoSize = .T., ; + _OPTIONGRUP1.OPTION1.Caption = "Da", ; + _OPTIONGRUP1.OPTION1.Left = 5, ; + _OPTIONGRUP1.OPTION1.Name = "OPTION1", ; + _OPTIONGRUP1.OPTION1.Top = 5, ; + _OPTIONGRUP1.OPTION1.Value = 1, ; + _OPTIONGRUP1.OPTION2.AutoSize = .T., ; + _OPTIONGRUP1.OPTION2.Caption = "Nu", ; + _OPTIONGRUP1.OPTION2.Left = 42, ; + _OPTIONGRUP1.OPTION2.Name = "OPTION2", ; + _OPTIONGRUP1.OPTION2.Top = 5, ; + _OPTIONGRUP1.OPTION2.Value = 0, ; + _OPTIONGRUP1.TabIndex = 2, ; + _OPTIONGRUP1.Top = 0, ; + _OPTIONGRUP1.Value = 1, ; + _OPTIONGRUP1.Width = 81 + *< END OBJECT: ClassLib="lb_tx.vcx" BaseClass="container" /> + + ADD OBJECT 'pgfrm_optiuni.Page3.Ct_clb_fdoc_aviz' AS ct_clb_cautare WITH ; + cconditie = EMPTY(thisform.nidfdocaviz) OR ISNULL(thisform.nidfdocaviz), ; + clista_parametri = 2, ; + cprocedura = thisform.do_cauta_fdoc, ; + cvar_afisata = thisform.cfdocaviz, ; + Left = 9, ; + Name = "Ct_clb_fdoc_aviz", ; + TabIndex = 1, ; + Top = 16, ; + Width = 510, ; + img_cautare.Name = "img_cautare", ; + clb_tx_cautare.Lb_simplu1.Caption = "Document aviz", ; + clb_tx_cautare.Lb_simplu1.Name = "Lb_simplu1", ; + clb_tx_cautare.Name = "clb_tx_cautare", ; + clb_tx_cautare.Text_simplu1.Name = "Text_simplu1" + *< END OBJECT: ClassLib="caut_ora.vcx" BaseClass="container" /> + + ADD OBJECT 'pgfrm_optiuni.Page3.Ct_clb_fdoc_aviz_retur' AS ct_clb_cautare WITH ; + cconditie = EMPTY(thisform.nidfdocavizretur) OR ISNULL(thisform.nidfdocavizretur), ; + clista_parametri = 3, ; + cprocedura = thisform.do_cauta_fdoc, ; + cvar_afisata = thisform.cfdocavizretur, ; + Left = 9, ; + Name = "Ct_clb_fdoc_aviz_retur", ; + TabIndex = 3, ; + Top = 160, ; + Width = 510, ; + img_cautare.Name = "img_cautare", ; + clb_tx_cautare.Lb_simplu1.Caption = "Document aviz retur", ; + clb_tx_cautare.Lb_simplu1.Name = "Lb_simplu1", ; + clb_tx_cautare.Name = "clb_tx_cautare", ; + clb_tx_cautare.Text_simplu1.Name = "Text_simplu1" + *< END OBJECT: ClassLib="caut_ora.vcx" BaseClass="container" /> + + ADD OBJECT 'pgfrm_optiuni.Page3.Ct_clb_fdoc_compensare' AS ct_clb_cautare WITH ; + cconditie = EMPTY(thisform.nidfdoccomp) OR ISNULL(thisform.nidfdoccomp), ; + clista_parametri = 4, ; + cprocedura = thisform.do_cauta_fdoc, ; + cvar_afisata = thisform.cfdoccomp, ; + Left = 9, ; + Name = "Ct_clb_fdoc_compensare", ; + TabIndex = 5, ; + Top = 216, ; + Width = 510, ; + img_cautare.Name = "img_cautare", ; + clb_tx_cautare.Lb_simplu1.Caption = "Doc. compensare", ; + clb_tx_cautare.Lb_simplu1.Name = "Lb_simplu1", ; + clb_tx_cautare.Name = "clb_tx_cautare", ; + clb_tx_cautare.Text_simplu1.Name = "Text_simplu1" + *< END OBJECT: ClassLib="caut_ora.vcx" BaseClass="container" /> + + ADD OBJECT 'pgfrm_optiuni.Page3.Ct_clb_id_banca' AS ct_clb_cautare WITH ; + cconditie = EMPTY(thisform.nidpartbanca) OR ISNULL(thisform.nidpartbanca), ; + cprocedura = thisform.do_cauta_banca, ; + cvar_afisata = thisform.cnumebanca, ; + Left = 9, ; + Name = "Ct_clb_id_banca", ; + TabIndex = 4, ; + Top = 188, ; + Width = 510, ; + img_cautare.Name = "img_cautare", ; + clb_tx_cautare.Lb_simplu1.Caption = "Banca compensãri", ; + clb_tx_cautare.Lb_simplu1.Name = "Lb_simplu1", ; + clb_tx_cautare.Name = "clb_tx_cautare", ; + clb_tx_cautare.Text_simplu1.Name = "Text_simplu1" + *< END OBJECT: ClassLib="caut_ora.vcx" BaseClass="container" /> + + ADD OBJECT 'pgfrm_optiuni.Page3.Ct_clb_pol_pret_tr' AS ct_clb_cautare WITH ; + cconditie = EMPTY(NVL(thisform.nidpolprettr,0)), ; + cprocedura = thisform.do_cauta_politica, ; + cvaloare_intoarsa = 2, ; + cvar_afisata = thisform.cpolprettr, ; + Height = 54, ; + Left = 9, ; + Name = "Ct_clb_pol_pret_tr", ; + TabIndex = 6, ; + Top = 244, ; + Width = 510, ; + img_cautare.Name = "img_cautare", ; + clb_tx_cautare.Height = 53, ; + clb_tx_cautare.Lb_simplu1.Caption = "Politica de preþ pentru avize de transfer", ; + clb_tx_cautare.Lb_simplu1.Name = "Lb_simplu1", ; + clb_tx_cautare.Left = 1, ; + clb_tx_cautare.Name = "clb_tx_cautare", ; + clb_tx_cautare.Text_simplu1.Height = 23, ; + clb_tx_cautare.Text_simplu1.Left = 71, ; + clb_tx_cautare.Text_simplu1.Name = "Text_simplu1", ; + clb_tx_cautare.Text_simplu1.Top = 25, ; + clb_tx_cautare.Text_simplu1.Width = 239, ; + clb_tx_cautare.Top = 1, ; + clb_tx_cautare.Width = 314 + *< END OBJECT: ClassLib="caut_ora.vcx" BaseClass="container" /> + + ADD OBJECT 'pgfrm_optiuni.Page3.Ed_txt_subsol_aviz' AS ed_tx_simplu WITH ; + Height = 108, ; + Left = 9, ; + Name = "Ed_txt_subsol_aviz", ; + TabIndex = 2, ; + Top = 45, ; + Width = 638, ; + _edbase1.Height = 72, ; + _edbase1.Left = 13, ; + _edbase1.Name = "_edbase1", ; + _edbase1.Top = 26, ; + _edbase1.Width = 481, ; + _lbbase1.Caption = "Text de subsol pe aviz", ; + _lbbase1.Left = 8, ; + _lbbase1.Name = "_lbbase1", ; + _lbbase1.Top = 6 + *< END OBJECT: ClassLib="lb_tx.vcx" BaseClass="container" /> + + ADD OBJECT 'pgfrm_optiuni.Page3.Op_pret_subunitati' AS op_tx_simplu WITH ; + Height = 29, ; + Left = 9, ; + Name = "Op_pret_subunitati", ; + TabIndex = 7, ; + Top = 297, ; + Width = 510, ; + Lb_simplu1.Caption = "Preþul listat pe avize este :", ; + Lb_simplu1.Height = 18, ; + Lb_simplu1.Left = 4, ; + Lb_simplu1.Name = "Lb_simplu1", ; + Lb_simplu1.Top = 6, ; + Lb_simplu1.Width = 156, ; + _optiongrup1.BorderStyle = 0, ; + _optiongrup1.Height = 28, ; + _optiongrup1.Left = 364, ; + _optiongrup1.Name = "_optiongrup1", ; + _optiongrup1.OPTION1.AutoSize = .T., ; + _optiongrup1.OPTION1.Caption = "Cu TVA", ; + _optiongrup1.OPTION1.Left = 5, ; + _optiongrup1.OPTION1.Name = "OPTION1", ; + _optiongrup1.OPTION1.Top = 5, ; + _optiongrup1.OPTION1.Value = 0, ; + _optiongrup1.OPTION2.AutoSize = .T., ; + _optiongrup1.OPTION2.Caption = "Fara TVA", ; + _optiongrup1.OPTION2.Left = 70, ; + _optiongrup1.OPTION2.Name = "OPTION2", ; + _optiongrup1.OPTION2.Top = 6, ; + _optiongrup1.OPTION2.Value = 1, ; + _optiongrup1.Top = 1, ; + _optiongrup1.Value = 2, ; + _optiongrup1.Width = 142 + *< END OBJECT: ClassLib="lb_tx.vcx" BaseClass="container" /> + + ADD OBJECT 'pgfrm_optiuni.Page4.op_factura_chitanta' AS op_tx_simplu WITH ; + Height = 41, ; + Left = 9, ; + Name = "op_factura_chitanta", ; + TabIndex = 4, ; + Top = 164, ; + Width = 510, ; + Lb_simplu1.AutoSize = .F., ; + Lb_simplu1.Caption = "Se listeazã factura ºi chitanþa pe acelaºi formular? ( doar dacã sunt cel mult 10 elemente pe factura A4 )", ; + Lb_simplu1.Height = 47, ; + Lb_simplu1.Left = 8, ; + Lb_simplu1.Name = "Lb_simplu1", ; + Lb_simplu1.Top = 6, ; + Lb_simplu1.Width = 402, ; + Lb_simplu1.WordWrap = .T., ; + _optiongrup1.BorderStyle = 0, ; + _optiongrup1.Height = 27, ; + _optiongrup1.Left = 419, ; + _optiongrup1.Name = "_optiongrup1", ; + _optiongrup1.OPTION1.AutoSize = .T., ; + _optiongrup1.OPTION1.Caption = "Da", ; + _optiongrup1.OPTION1.Height = 17, ; + _optiongrup1.OPTION1.Left = 5, ; + _optiongrup1.OPTION1.Name = "OPTION1", ; + _optiongrup1.OPTION1.Top = 5, ; + _optiongrup1.OPTION1.Value = 0, ; + _optiongrup1.OPTION1.Width = 34, ; + _optiongrup1.OPTION2.AutoSize = .T., ; + _optiongrup1.OPTION2.Caption = "Nu", ; + _optiongrup1.OPTION2.Height = 17, ; + _optiongrup1.OPTION2.Left = 55, ; + _optiongrup1.OPTION2.Name = "OPTION2", ; + _optiongrup1.OPTION2.Top = 5, ; + _optiongrup1.OPTION2.Value = 1, ; + _optiongrup1.OPTION2.Width = 34, ; + _optiongrup1.Top = 7, ; + _optiongrup1.Value = 2, ; + _optiongrup1.Width = 94 + *< END OBJECT: ClassLib="lb_tx.vcx" BaseClass="container" /> + + ADD OBJECT 'pgfrm_optiuni.Page4.Op_format_aviz' AS op_tx_simplu WITH ; + Height = 60, ; + Left = 9, ; + Name = "Op_format_aviz", ; + TabIndex = 2, ; + Top = 77, ; + Width = 510, ; + Lb_simplu1.Caption = "Alegeþi formatul implicit pentru avize:", ; + Lb_simplu1.Left = 7, ; + Lb_simplu1.Name = "Lb_simplu1", ; + Lb_simplu1.Top = 5, ; + _optiongrup1.AutoSize = .T., ; + _optiongrup1.BorderStyle = 0, ; + _optiongrup1.ButtonCount = 3, ; + _optiongrup1.Height = 62, ; + _optiongrup1.Left = 419, ; + _optiongrup1.Name = "_optiongrup1", ; + _optiongrup1.OPTION1.AutoSize = .T., ; + _optiongrup1.OPTION1.Caption = "A4", ; + _optiongrup1.OPTION1.Left = 5, ; + _optiongrup1.OPTION1.Name = "OPTION1", ; + _optiongrup1.OPTION1.Top = 5, ; + _optiongrup1.OPTION1.Value = 1, ; + _optiongrup1.OPTION2.AutoSize = .T., ; + _optiongrup1.OPTION2.Caption = "A5", ; + _optiongrup1.OPTION2.Left = 5, ; + _optiongrup1.OPTION2.Name = "OPTION2", ; + _optiongrup1.OPTION2.Top = 22, ; + _optiongrup1.OPTION2.Value = 0, ; + _optiongrup1.Option3.BackStyle = 0, ; + _optiongrup1.Option3.Caption = "A4 ºi A5", ; + _optiongrup1.Option3.FontCharSet = 238, ; + _optiongrup1.Option3.Height = 17, ; + _optiongrup1.Option3.Left = 5, ; + _optiongrup1.Option3.Name = "Option3", ; + _optiongrup1.Option3.Top = 40, ; + _optiongrup1.Option3.Width = 61, ; + _optiongrup1.Top = 0, ; + _optiongrup1.Width = 71 + *< END OBJECT: ClassLib="lb_tx.vcx" BaseClass="container" /> + + ADD OBJECT 'pgfrm_optiuni.Page4.Op_format_factura' AS op_tx_simplu WITH ; + Height = 60, ; + Left = 9, ; + Name = "Op_format_factura", ; + TabIndex = 1, ; + Top = 18, ; + Width = 510, ; + LB_SIMPLU1.Caption = "Alegeþi formatul implicit pentru facturi:", ; + LB_SIMPLU1.Left = 7, ; + LB_SIMPLU1.Name = "LB_SIMPLU1", ; + LB_SIMPLU1.Top = 5, ; + _optiongrup1.AutoSize = .T., ; + _optiongrup1.BorderStyle = 0, ; + _optiongrup1.ButtonCount = 3, ; + _optiongrup1.Height = 62, ; + _optiongrup1.Left = 419, ; + _optiongrup1.Name = "_optiongrup1", ; + _optiongrup1.OPTION1.AutoSize = .T., ; + _optiongrup1.OPTION1.Caption = "A4", ; + _optiongrup1.OPTION1.Left = 5, ; + _optiongrup1.OPTION1.Name = "OPTION1", ; + _optiongrup1.OPTION1.Top = 5, ; + _optiongrup1.OPTION1.Value = 1, ; + _optiongrup1.OPTION2.AutoSize = .T., ; + _optiongrup1.OPTION2.Caption = "A5", ; + _optiongrup1.OPTION2.Left = 5, ; + _optiongrup1.OPTION2.Name = "OPTION2", ; + _optiongrup1.OPTION2.Top = 22, ; + _optiongrup1.OPTION2.Value = 0, ; + _optiongrup1.Option3.BackStyle = 0, ; + _optiongrup1.Option3.Caption = "A4 ºi A5", ; + _optiongrup1.Option3.FontCharSet = 238, ; + _optiongrup1.Option3.Height = 17, ; + _optiongrup1.Option3.Left = 5, ; + _optiongrup1.Option3.Name = "Option3", ; + _optiongrup1.Option3.Top = 40, ; + _optiongrup1.Option3.Width = 61, ; + _optiongrup1.Top = 0, ; + _optiongrup1.Width = 71 + *< END OBJECT: ClassLib="lb_tx.vcx" BaseClass="container" /> + + ADD OBJECT 'pgfrm_optiuni.Page4.op_listare_curs' AS op_tx_simplu WITH ; + Height = 29, ; + Left = 9, ; + Name = "op_listare_curs", ; + TabIndex = 3, ; + Top = 136, ; + Width = 510, ; + Lb_simplu1.AutoSize = .F., ; + Lb_simplu1.Caption = "Se listeazã cursul valutar pe factura/proforma în lei?", ; + Lb_simplu1.Height = 19, ; + Lb_simplu1.Left = 8, ; + Lb_simplu1.Name = "Lb_simplu1", ; + Lb_simplu1.Top = 6, ; + Lb_simplu1.Width = 304, ; + Lb_simplu1.WordWrap = .T., ; + _optiongrup1.BorderStyle = 0, ; + _optiongrup1.Height = 27, ; + _optiongrup1.Left = 419, ; + _optiongrup1.Name = "_optiongrup1", ; + _optiongrup1.OPTION1.AutoSize = .T., ; + _optiongrup1.OPTION1.Caption = "Da", ; + _optiongrup1.OPTION1.Height = 17, ; + _optiongrup1.OPTION1.Left = 5, ; + _optiongrup1.OPTION1.Name = "OPTION1", ; + _optiongrup1.OPTION1.Top = 5, ; + _optiongrup1.OPTION1.Value = 1, ; + _optiongrup1.OPTION1.Width = 34, ; + _optiongrup1.OPTION2.AutoSize = .T., ; + _optiongrup1.OPTION2.Caption = "Nu", ; + _optiongrup1.OPTION2.Height = 17, ; + _optiongrup1.OPTION2.Left = 55, ; + _optiongrup1.OPTION2.Name = "OPTION2", ; + _optiongrup1.OPTION2.Top = 5, ; + _optiongrup1.OPTION2.Value = 0, ; + _optiongrup1.OPTION2.Width = 34, ; + _optiongrup1.Top = 2, ; + _optiongrup1.Width = 94 + *< END OBJECT: ClassLib="lb_tx.vcx" BaseClass="container" /> + + ADD OBJECT 'pgfrm_optiuni.Page4.op_listare_sold' AS op_tx_simplu WITH ; + Height = 29, ; + Left = 9, ; + Name = "op_listare_sold", ; + TabIndex = 5, ; + Top = 204, ; + Width = 510, ; + Lb_simplu1.AutoSize = .F., ; + Lb_simplu1.Caption = "Se listeazã soldul total client pe factura?", ; + Lb_simplu1.Height = 18, ; + Lb_simplu1.Left = 8, ; + Lb_simplu1.Name = "Lb_simplu1", ; + Lb_simplu1.Top = 6, ; + Lb_simplu1.Width = 235, ; + Lb_simplu1.WordWrap = .T., ; + _optiongrup1.BorderStyle = 0, ; + _optiongrup1.Height = 27, ; + _optiongrup1.Left = 419, ; + _optiongrup1.Name = "_optiongrup1", ; + _optiongrup1.OPTION1.AutoSize = .T., ; + _optiongrup1.OPTION1.Caption = "Da", ; + _optiongrup1.OPTION1.Height = 17, ; + _optiongrup1.OPTION1.Left = 5, ; + _optiongrup1.OPTION1.Name = "OPTION1", ; + _optiongrup1.OPTION1.Top = 5, ; + _optiongrup1.OPTION1.Value = 0, ; + _optiongrup1.OPTION1.Width = 34, ; + _optiongrup1.OPTION2.AutoSize = .T., ; + _optiongrup1.OPTION2.Caption = "Nu", ; + _optiongrup1.OPTION2.Height = 17, ; + _optiongrup1.OPTION2.Left = 55, ; + _optiongrup1.OPTION2.Name = "OPTION2", ; + _optiongrup1.OPTION2.Top = 5, ; + _optiongrup1.OPTION2.Value = 1, ; + _optiongrup1.OPTION2.Width = 34, ; + _optiongrup1.Top = 2, ; + _optiongrup1.Value = 2, ; + _optiongrup1.Width = 94 + *< END OBJECT: ClassLib="lb_tx.vcx" BaseClass="container" /> + + ADD OBJECT 'pgfrm_optiuni.Page5.Ct_clb_fdoc_proforma' AS ct_clb_cautare WITH ; + cconditie = EMPTY(thisform.nidfdocproforma) OR ISNULL(thisform.nidfdocproforma), ; + clista_parametri = 6, ; + cprocedura = thisform.do_cauta_fdoc, ; + cvar_afisata = thisform.cfdocproforma, ; + Left = 9, ; + Name = "Ct_clb_fdoc_proforma", ; + TabIndex = 1, ; + Top = 16, ; + img_cautare.Name = "img_cautare", ; + clb_tx_cautare.Lb_simplu1.Caption = "Document proforma", ; + clb_tx_cautare.Lb_simplu1.Name = "Lb_simplu1", ; + clb_tx_cautare.Name = "clb_tx_cautare", ; + clb_tx_cautare.Text_simplu1.Name = "Text_simplu1" + *< END OBJECT: ClassLib="caut_ora.vcx" BaseClass="container" /> + + ADD OBJECT 'pgfrm_optiuni.Page6.Ct_clb_fdoc_bonfisc' AS ct_clb_cautare WITH ; + cconditie = EMPTY(NVL(thisform.nidfdocbonfisc,[])), ; + clista_parametri = 7, ; + cprocedura = thisform.do_cauta_fdoc, ; + cvar_afisata = thisform.cfdocbonfisc, ; + Left = 9, ; + Name = "Ct_clb_fdoc_bonfisc", ; + TabIndex = 2, ; + Top = 44, ; + img_cautare.Name = "img_cautare", ; + clb_tx_cautare.Lb_simplu1.Caption = "Document bon fiscal", ; + clb_tx_cautare.Lb_simplu1.Name = "Lb_simplu1", ; + clb_tx_cautare.Name = "clb_tx_cautare", ; + clb_tx_cautare.Text_simplu1.Name = "Text_simplu1" + *< END OBJECT: ClassLib="caut_ora.vcx" BaseClass="container" /> + + ADD OBJECT 'pgfrm_optiuni.Page6.Ct_clb_fdoc_card' AS ct_clb_cautare WITH ; + cconditie = EMPTY(NVL(thisform.nidfdocCard,[])), ; + clista_parametri = 8, ; + cprocedura = thisform.do_cauta_fdoc, ; + cvar_afisata = thisform.cFdocCard, ; + Left = 9, ; + Name = "Ct_clb_fdoc_card", ; + TabIndex = 3, ; + Top = 72, ; + img_cautare.Name = "img_cautare", ; + clb_tx_cautare.Lb_simplu1.Caption = "Document POS/Card", ; + clb_tx_cautare.Lb_simplu1.Name = "Lb_simplu1", ; + clb_tx_cautare.Name = "clb_tx_cautare", ; + clb_tx_cautare.Text_simplu1.Name = "Text_simplu1" + *< END OBJECT: ClassLib="caut_ora.vcx" BaseClass="container" /> + + ADD OBJECT 'pgfrm_optiuni.Page6.Ct_clb_fdoc_chitanta' AS ct_clb_cautare WITH ; + cconditie = EMPTY(NVL(thisform.nidfdocchit,[])), ; + clista_parametri = 5, ; + cprocedura = thisform.do_cauta_fdoc, ; + cvar_afisata = thisform.cfdocchit, ; + Left = 9, ; + Name = "Ct_clb_fdoc_chitanta", ; + TabIndex = 1, ; + Top = 16, ; + img_cautare.Name = "img_cautare", ; + clb_tx_cautare.Lb_simplu1.Caption = "Document chitanþã", ; + clb_tx_cautare.Lb_simplu1.Name = "Lb_simplu1", ; + clb_tx_cautare.Name = "clb_tx_cautare", ; + clb_tx_cautare.Text_simplu1.Name = "Text_simplu1" + *< END OBJECT: ClassLib="caut_ora.vcx" BaseClass="container" /> + + ADD OBJECT 'pgfrm_optiuni.Page6.Ct_clb_id_casa' AS ct_clb_cautare WITH ; + cconditie = EMPTY(NVL(thisform.nidpartcasa,[])), ; + cprocedura = thisform.do_cauta_casa, ; + cvar_afisata = thisform.cnumecasa, ; + Left = 9, ; + Name = "Ct_clb_id_casa", ; + TabIndex = 4, ; + Top = 106, ; + img_cautare.Name = "img_cautare", ; + clb_tx_cautare.Lb_simplu1.Caption = "Casa încasãri", ; + clb_tx_cautare.Lb_simplu1.Name = "Lb_simplu1", ; + clb_tx_cautare.Name = "clb_tx_cautare", ; + clb_tx_cautare.Text_simplu1.Name = "Text_simplu1" + *< END OBJECT: ClassLib="caut_ora.vcx" BaseClass="container" /> + + PROCEDURE do_cauta_banca + Local loCauta + loCauta = CautPartenerContabilitate(GetHash([cTitlu=>Alegeti Banca??lAdaugCorespondente=>1??cCont=>5121])) + + If !Isnull(loCauta) + Thisform.nidpartbanca = loCauta.id_part + Thisform.cnumebanca = loCauta.denumire + *!* Thisform.pgfrm_optiuni.page3.ct_clb_id_banca.Refresh() + Endif + ENDPROC + + PROCEDURE do_cauta_casa + Local loCauta + loCauta = CautPartenerContabilitate(GetHash([cTitlu=>Alegeti casa in lei??lAdaugCorespondente=>1??cCont=>5311])) + + If !Isnull(loCauta) + Thisform.nidpartcasa = loCauta.id_part + Thisform.cnumecasa = loCauta.denumire + *!* Thisform.pgfrm_optiuni.page3.ct_clb_id_banca.Refresh() + Endif + ENDPROC + + PROCEDURE do_cauta_fdoc + Lparameters tnTipCautare + Local loCauta + loCauta = caut_fdoc() + If !Isnull(loCauta) + Do Case + Case tnTipCautare = 1 + && factura + Thisform.nidfdocfact = loCauta.id_fdoc + Thisform.cfdocfact = loCauta.fel_document + Case tnTipCautare = 2 + && aviz + Thisform.nidfdocaviz = loCauta.id_fdoc + Thisform.cfdocaviz = loCauta.fel_document + Case tnTipCautare = 3 + && aviz retur + Thisform.nidfdocavizretur = loCauta.id_fdoc + Thisform.cfdocavizretur = loCauta.fel_document + Case tnTipCautare = 4 + && document compensare + Thisform.nidfdoccomp = loCauta.id_fdoc + Thisform.cfdoccomp = loCauta.fel_document + Case tnTipCautare = 5 + && document chitanta + Thisform.nidfdocchit = loCauta.id_fdoc + Thisform.cfdocchit = loCauta.fel_document + Case tnTipCautare = 6 + && proforma + Thisform.nIdFdocProforma = loCauta.id_fdoc + Thisform.cFdocProforma = loCauta.fel_document + Case tnTipCautare = 7 + && bon fiscal + Thisform.nIdFdocBonFisc = loCauta.id_fdoc + Thisform.cFdocBonFisc = loCauta.fel_document + Case tnTipCautare = 8 + && POS/Card + Thisform.nIdFdocCard = loCauta.id_fdoc + Thisform.cFdocCard = loCauta.fel_document + Endcase + Endif + + ENDPROC + + PROCEDURE do_cauta_politica + Lparameters tnParametru + Local loCauta + loCauta = caut_politici_curente_util() + If !Isnull(loCauta) And !Empty(Nvl(loCauta.id_pol,0)) + Do Case + Case tnParametru = 1 + Thisform.nidpolpretstoc = loCauta.id_pol + Thisform.cpolpretstoc = loCauta.nume + Case tnParametru = 2 + Thisform.nidpolprettr = loCauta.id_pol + Thisform.cpolprettr = loCauta.nume + Otherwise + Thisform.nidpolpretk = loCauta.id_pol && modificare v 2.0.93 + Thisform.cpolpretk = loCauta.nume && modificare v 2.0.93 + Endcase + Endif + ENDPROC + + PROCEDURE do_help + Lparameters tnTip + Local lcMesaj + If tnTip = 1 + lcMesaj = Chr(9) + "Daca se doreste ca data scadenta sa fie la distanta de o luna de data documentului," + Chr(13) + Chr(10) + ; + "atunci in acest camp se trece valoarea -1." + Else + lcMesaj = "Incepand cu versiunea 2.0.58, documentele care pot fi salvate in baza de date sunt :" + Chr(13) + Chr(10) + ; + Chr(9) + "- factura" + Chr(13) + Chr(10) + ; + Chr(9) + "- aviz ( in afara avizelor de transfer pe baza de lucrare )" + Chr(13) + Chr(10) + ; + Chr(9) + "- invoice" + Chr(13) + Chr(10) + ; + Chr(9) + "- factura fiscala in valuta" + Chr(13) + Chr(10) + ; + Chr(9) + "- recapitulatie" + Endif + aMessageBox(lcMesaj,64,"Info") + ENDPROC + + PROCEDURE inainte_de_do_termin + Local lcSql, lcOptiuni, lcValori, lcSeparator, lcSqlAltele + Local lcSetare, lcTextSubsolAviz, lcTextSubsolFact, llFacturaCuChitanta, lnAtasamenteFact + Local lnCoefKFact, lnDiscountEvidentiat, lnFactSeturi, lnFormatAviz, lnFormatFactura, lnId_fdoc_aviz + Local lnId_fdoc_aviz_retur, lnId_fdoc_bonfiscal, lnId_fdoc_chit, lnId_fdoc_comp, lnId_fdoc_fact + Local lnId_fdoc_proforma, lnId_part_banca, lnId_part_casa, lnId_pol_pret_k, lnId_pol_pret_stoc + Local lnId_pol_pret_tr, lnListCursVal, lnListaLivrare, lnMarjaEroareRepartizare, lnMemProcDisc + Local lnPretListAviz, lnScadentaAutomata, lnScadereStoc, lnSucces, lnZileScadentaFact + Local lnListareAvizBonFiscal, lnFacturaEmail, lnPrintDenumrie + Local lcTextConformFact1, lcTextConformFact2, lcTextConformFact3, lcTextConformFact4 + Local lcTextConformFact5, lcTextConformFact6, lcTextFooterFact1, lcTextFooterFact2 + Local lcTextFooterFact3, lcTextFooterFact4, lcTextFooterFact5, lnPrintDenumire, lnTextConformitate, lnId_fdoc_card + Local lcTextConformFact7, lcTextConformFact8, lnFacturaSold + *:Global gcTextConformFact7, gcTextConformFact8, gnFacturaSold, gnId_fdoc_card + *:Global gcTextConformFact1, gcTextConformFact2, gcTextConformFact3, gcTextConformFact4 + *:Global gcTextConformFact5, gcTextConformFact6, gcTextFooterFact1, gcTextFooterFact2 + *:Global gcTextFooterFact3, gcTextFooterFact4, gcTextFooterFact5, gnFacturaEmail, gnPrintDenumire + *:Global gnTextConformitate + *:Global gnId_fdoc_bonfiscal, gnId_fdoc_proforma, gnListareAvizBonFiscal + *:Global gcTextSubsolAviz, gcTextSubsolFact, glFacturaCuChitanta, gnCoefKFact, gnDiscountEvidentiat + *:Global gnFactSeturi, gnFormatAviz, gnFormatFactura, gnIdPolPretFactK, gnId_fdoc_aviz + *:Global gnId_fdoc_aviz_retur, gnId_fdoc_chitanta, gnId_fdoc_compensare, gnId_fdoc_fact + *:Global gnId_part_banca_comp, gnId_part_casa, gnId_pol_pret_stoc, gnId_pol_pret_tr, gnListCursVal + *:Global gnListaLivrare, gnMarjaEroareRepartizare, gnMemProcDisc, gnPretListAviz, gnScadentaAutomata + *:Global gnScadereStoc, gnZileScadentaFact + lcSeparator = [|] + lcOptiuni = [] + lcValori = [] + lcSqlAltele = [] + + With Thisform.pgfrm_optiuni + lcTextSubsolFact = .page2.ed_txt_subsol_fact._edbase1.Value + + lcTextFooterFact1 = .page2.ct_txtfooter_fact.txtFooterFact1.Value + lcTextFooterFact2 = .page2.ct_txtfooter_fact.txtFooterFact2.Value + lcTextFooterFact3 = .page2.ct_txtfooter_fact.txtFooterFact3.Value + lcTextFooterFact4 = .page2.ct_txtfooter_fact.txtFooterFact4.Value + lcTextFooterFact5 = .page2.ct_txtfooter_fact.txtFooterFact5.Value + + lnTextConformitate = Mod(.page2.op_conformitate._optiongrup1.Value, 2) + lcTextConformFact1 = .page2.ct_txtconform_fact.txtConformFact1.Value + lcTextConformFact2 = .page2.ct_txtconform_fact.txtConformFact2.Value + lcTextConformFact3 = .page2.ct_txtconform_fact.txtConformFact3.Value + lcTextConformFact4 = .page2.ct_txtconform_fact.txtConformFact4.Value + lcTextConformFact5 = .page2.ct_txtconform_fact.txtConformFact5.Value + lcTextConformFact6 = .page2.ct_txtconform_fact.txtConformFact6.Value + lcTextConformFact7 = .page2.ct_txtconform_fact.txtConformFact7.Value + lcTextConformFact8 = .page2.ct_txtconform_fact.txtConformFact8.Value + + lnPrintDenumire = Mod(.page2.op_printdenumire._optiongrup1.Value, 2) + lnScadereStoc = Mod(.page1.op_scadere_stoc._optiongrup1.Value, 2) + lnScadentaAutomata = Mod(.page1.op_scadenta_automata._optiongrup1.Value, 2) + lnFactSeturi = Mod(.page1.op_facturare_set._optiongrup1.Value, 2) + lnZileScadentaFact = .page1.clb_zile_scadenta.teXT_SIMPLU1.Value + lnMarjaEroareRepartizare = .page1.clb_marja_eroare.teXT_SIMPLU1.Value + lnListaLivrare = Mod(.page1.op_lista_livrare._optiongrup1.Value, 2) + lnListareAvizBonFiscal = Mod(.page1.op_aviz_bon_fiscal._optiongrup1.Value, 2) + lnFacturaEmail = .page1.op_factura_email._optiongrup1.Value + lnFacturaEmail = Iif(m.lnFacturaEmail = 2, 0, Iif(m.lnFacturaEmail = 1, 1, 2)) + lnId_fdoc_fact = Thisform.nidfdocfact + lnId_fdoc_aviz_retur = Thisform.nidfdocavizretur + lnId_fdoc_aviz = Thisform.nidfdocaviz + lnId_fdoc_comp = Thisform.nidfdoccomp + lnId_fdoc_chit = Thisform.nidfdocchit + lnId_fdoc_bonfiscal = Thisform.nIdFdocBonFisc + lnId_fdoc_proforma = Thisform.nIdFdocProforma + lnId_fdoc_card = Thisform.nIdFdocCard + + lnId_part_banca = Thisform.nidpartbanca + lnId_part_casa = Thisform.nidpartcasa + lnId_pol_pret_tr = Thisform.nidpolprettr + lnId_pol_pret_stoc = Thisform.nidpolpretstoc + *!* modificare v 2.0.58 + lnAtasamenteFact = .page1.op_salvare_pdf._optiongrup1.Value + *!* modificare v 2.0.58 ^ + *!* modificare v 2.0.67 + lnMemProcDisc = Mod(.page1.op_memorare_procdisc._optiongrup1.Value, 2) + lnListCursVal = Mod(.page4.op_listare_curs._optiongrup1.Value, 2) + lnFacturaSold = Mod(.page4.op_listare_sold._optiongrup1.Value, 2) + *!* modificare v 2.0.67 ^ + lnDiscountEvidentiat = Mod(.page1.op_discountevidentiat._optiongrup1.Value, 2) + If Thisform.nTipOptiuni = 1 + lnPretListAviz = .page3.op_pret_subunitati._optiongrup1.Value + lcTextSubsolAviz = .page3.ed_txt_subsol_aviz._edbase1.Value + Else + lnPretListAviz = Nvl(gnPretListAviz, 2) + lcTextSubsolAviz = Nvl(gcTextSubsolAviz, []) + Endif + With .page4 + *!* modificare v 2.0.80 + llFacturaCuChitanta = Iif(Mod(.op_factura_chitanta._optiongrup1.Value, 2) = 1, .T., .F.) + *!* modificare v 2.0.80 ^ + *!* modificare v 2.0.46 + lnFormatAviz = .op_format_aviz._optiongrup1.Value + *!* modificare v 2.0.46 ^ + lnFormatFactura = .op_format_factura._optiongrup1.Value + Endwith + *!* modificare v 2.0.93 + lnId_pol_pret_k = Thisform.nidpolpretk + lnCoefKFact = .page1.op_coeficient_k._optiongrup1.Value - 1 + *!* modificare v 2.0.93 ^ + Endwith + + lcSetare = Sys(2001, 'EXACT') + Set Exact On + If lcTextSubsolFact <> Nvl(gcTextSubsolFact, []) + lcValori = lcValori + Alltrim(lcTextSubsolFact) + lcSeparator + lcOptiuni = lcOptiuni + [TEXTSUBSOLFACT] + lcSeparator + Endif + If lnPrintDenumire <> Nvl(gnPrintDenumire, 0) + lcValori = lcValori + Alltrim(Str(lnPrintDenumire)) + lcSeparator + lcOptiuni = lcOptiuni + [PRINTDENUMIRE] + lcSeparator + Endif + + If lcTextFooterFact1 <> Nvl(gcTextFooterFact1, []) + lcValori = lcValori + Alltrim(lcTextFooterFact1 ) + lcSeparator + lcOptiuni = lcOptiuni + [TEXTFOOTERFACT1] + lcSeparator + Endif + If lcTextFooterFact2 <> Nvl(gcTextFooterFact2, []) + lcValori = lcValori + Alltrim(lcTextFooterFact2 ) + lcSeparator + lcOptiuni = lcOptiuni + [TEXTFOOTERFACT2] + lcSeparator + Endif + If lcTextFooterFact3 <> Nvl(gcTextFooterFact3, []) + lcValori = lcValori + Alltrim(lcTextFooterFact3 ) + lcSeparator + lcOptiuni = lcOptiuni + [TEXTFOOTERFACT3] + lcSeparator + Endif + If lcTextFooterFact4 <> Nvl(gcTextFooterFact4, []) + lcValori = lcValori + Alltrim(lcTextFooterFact4 ) + lcSeparator + lcOptiuni = lcOptiuni + [TEXTFOOTERFACT4] + lcSeparator + Endif + If lcTextFooterFact5 <> Nvl(gcTextFooterFact5, []) + lcValori = lcValori + Alltrim(lcTextFooterFact5 ) + lcSeparator + lcOptiuni = lcOptiuni + [TEXTFOOTERFACT5] + lcSeparator + Endif + + If lnTextConformitate <> Nvl(gnTextConformitate, 0) + lcValori = lcValori + Alltrim(Str(lnTextConformitate)) + lcSeparator + lcOptiuni = lcOptiuni + [TEXTCONFORMITATE] + lcSeparator + Endif + If lcTextConformFact1 <> Nvl(gcTextConformFact1, []) + lcValori = lcValori + Alltrim(lcTextConformFact1 ) + lcSeparator + lcOptiuni = lcOptiuni + [TEXTCONFORMFACT1] + lcSeparator + Endif + If lcTextConformFact2 <> Nvl(gcTextConformFact2, []) + lcValori = lcValori + Alltrim(lcTextConformFact2 ) + lcSeparator + lcOptiuni = lcOptiuni + [TEXTCONFORMFACT2] + lcSeparator + Endif + If lcTextConformFact3 <> Nvl(gcTextConformFact3, []) + lcValori = lcValori + Alltrim(lcTextConformFact3 ) + lcSeparator + lcOptiuni = lcOptiuni + [TEXTCONFORMFACT3] + lcSeparator + Endif + If lcTextConformFact4 <> Nvl(gcTextConformFact4, []) + lcValori = lcValori + Alltrim(lcTextConformFact4 ) + lcSeparator + lcOptiuni = lcOptiuni + [TEXTCONFORMFACT4] + lcSeparator + Endif + If lcTextConformFact5 <> Nvl(gcTextConformFact5, []) + lcValori = lcValori + Alltrim(lcTextConformFact5 ) + lcSeparator + lcOptiuni = lcOptiuni + [TEXTCONFORMFACT5] + lcSeparator + Endif + If lcTextConformFact6 <> Nvl(gcTextConformFact6, []) + lcValori = lcValori + Alltrim(lcTextConformFact6 ) + lcSeparator + lcOptiuni = lcOptiuni + [TEXTCONFORMFACT6] + lcSeparator + Endif + If lcTextConformFact7 <> Nvl(gcTextConformFact7, []) + lcValori = lcValori + Alltrim(lcTextConformFact7 ) + lcSeparator + lcOptiuni = lcOptiuni + [TEXTCONFORMFACT7] + lcSeparator + ENDIF + If lcTextConformFact8 <> Nvl(gcTextConformFact8, []) + lcValori = lcValori + Alltrim(lcTextConformFact8 ) + lcSeparator + lcOptiuni = lcOptiuni + [TEXTCONFORMFACT8] + lcSeparator + ENDIF + + If lcTextSubsolAviz <> Nvl(gcTextSubsolAviz, []) And Thisform.nTipOptiuni = 1 + lcValori = lcValori + Alltrim(lcTextSubsolAviz) + lcSeparator + lcOptiuni = lcOptiuni + [TEXTSUBSOLAVIZ] + lcSeparator + Endif + + If lnScadereStoc <> Nvl(gnScadereStoc, 0) + lcValori = lcValori + Alltrim(Str(lnScadereStoc)) + lcSeparator + lcOptiuni = lcOptiuni + [SCADERESTOC] + lcSeparator + Endif + + If lnScadentaAutomata <> Nvl(gnScadentaAutomata, 0) + lcValori = lcValori + Alltrim(Str(lnScadentaAutomata)) + lcSeparator + lcOptiuni = lcOptiuni + [SCADENTAAUTOMATA] + lcSeparator + Endif + + If lnFactSeturi <> Nvl(gnFactSeturi, 0) + lcValori = lcValori + Alltrim(Str(lnFactSeturi)) + lcSeparator + lcOptiuni = lcOptiuni + [FACTSETURI] + lcSeparator + Endif + + If lnMarjaEroareRepartizare <> Nvl(gnMarjaEroareRepartizare, 0) + lcValori = lcValori + Alltrim(Str(lnMarjaEroareRepartizare)) + lcSeparator + lcOptiuni = lcOptiuni + [MARJAEROAREREPARTIZARE] + lcSeparator + Endif + + If lnListaLivrare <> Nvl(gnListaLivrare, 0) + lcValori = lcValori + Alltrim(Str(lnListaLivrare)) + lcSeparator + lcOptiuni = lcOptiuni + [LISTALIVRARE] + lcSeparator + Endif + + If m.lnListareAvizBonFiscal <> Nvl(m.gnListareAvizBonFiscal, 0) + lcValori = lcValori + Alltrim(Str(m.lnListareAvizBonFiscal)) + lcSeparator + lcOptiuni = lcOptiuni + [LISTAREAVIZBONFISCAL] + lcSeparator + Endif + + If m.lnFacturaEmail <> Nvl(m.gnFacturaEmail, 0) + lcValori = lcValori + Alltrim(Str(lnFacturaEmail)) + lcSeparator + lcOptiuni = lcOptiuni + [FACTURAEMAIL] + lcSeparator + Endif + + *!* modificare v 2.2.4 + *!* If lnScadentaAutomata = 1 And lnZileScadentaFact <> Nvl(gnZileScadentaFact,0) + If lnZileScadentaFact <> Nvl(gnZileScadentaFact, -1) + *!* modificare v 2.2.4 ^ + lcValori = lcValori + Alltrim(Str(lnZileScadentaFact)) + lcSeparator + lcOptiuni = lcOptiuni + [ZILESCADENTAFACT] + lcSeparator + Endif + + If lnId_fdoc_fact <> Nvl(gnId_fdoc_fact, 0) + lcValori = lcValori + Alltrim(Str(lnId_fdoc_fact)) + lcSeparator + lcOptiuni = lcOptiuni + [ID_FDOC_FACT] + lcSeparator + Endif + + If lnId_fdoc_aviz <> Nvl(gnId_fdoc_aviz, 0) + lcValori = lcValori + Alltrim(Str(lnId_fdoc_aviz)) + lcSeparator + lcOptiuni = lcOptiuni + [ID_FDOC_AVIZ] + lcSeparator + Endif + + If lnId_fdoc_aviz_retur <> Nvl(gnId_fdoc_aviz_retur, 0) + lcValori = lcValori + Alltrim(Str(lnId_fdoc_aviz_retur)) + lcSeparator + lcOptiuni = lcOptiuni + [ID_FDOC_AVIZ_RETUR] + lcSeparator + Endif + + If lnId_fdoc_comp <> Nvl(gnId_fdoc_compensare, 0) + lcValori = lcValori + Alltrim(Str(lnId_fdoc_comp)) + lcSeparator + lcOptiuni = lcOptiuni + [ID_FDOC_COMPENSARE] + lcSeparator + Endif + + If lnId_fdoc_chit <> Nvl(gnId_fdoc_chitanta, 0) + lcValori = lcValori + Alltrim(Str(lnId_fdoc_chit)) + lcSeparator + lcOptiuni = lcOptiuni + [ID_FDOC_CHITANTA] + lcSeparator + Endif + + If lnId_fdoc_bonfiscal <> Nvl(gnId_fdoc_bonfiscal, 0) + lcValori = lcValori + Alltrim(Str(lnId_fdoc_bonfiscal)) + lcSeparator + lcOptiuni = lcOptiuni + [ID_FDOC_BONFISCAL] + lcSeparator + Endif + + If lnId_fdoc_proforma <> Nvl(gnId_fdoc_proforma, 0) + lcValori = lcValori + Alltrim(Str(lnId_fdoc_proforma)) + lcSeparator + lcOptiuni = lcOptiuni + [ID_FDOC_PROFORMA] + lcSeparator + Endif + + If lnId_fdoc_card <> Nvl(gnId_fdoc_card, 0) + lcValori = lcValori + Alltrim(Str(lnId_fdoc_card)) + lcSeparator + lcOptiuni = lcOptiuni + [ID_FDOC_CARD] + lcSeparator + ENDIF + + If lnId_part_banca <> Nvl(gnId_part_banca_comp, 0) + lcValori = lcValori + Alltrim(Str(lnId_part_banca)) + lcSeparator + lcOptiuni = lcOptiuni + [ID_PART_BANCA_COMP] + lcSeparator + Endif + + If lnId_part_casa <> Nvl(gnId_part_casa, 0) + lcValori = lcValori + Alltrim(Str(lnId_part_casa)) + lcSeparator + lcOptiuni = lcOptiuni + [ID_PART_CASA] + lcSeparator + Endif + + If lnId_pol_pret_tr <> Nvl(gnId_pol_pret_tr, 0) + lcValori = lcValori + Alltrim(Str(lnId_pol_pret_tr)) + lcSeparator + lcOptiuni = lcOptiuni + [ID_POL_PRET_TR] + lcSeparator + Endif + + If lnId_pol_pret_stoc <> Nvl(gnId_pol_pret_stoc, 0) + lcValori = lcValori + Alltrim(Str(lnId_pol_pret_stoc)) + lcSeparator + lcOptiuni = lcOptiuni + [ID_POL_PRET_STOC] + lcSeparator + *!* modificare v 2.0.46 + If !Isnull(lnId_pol_pret_stoc) + lcSqlAltele = [pack_facturare.modificare_politica_stoc(] + Alltrim(Str(lnId_pol_pret_stoc)) + [);] + amessagebox(Chr(9) + Chr(9) + Chr(9) + "Ati modificat politica de preturi pentru facturarea din stoc." + Chr(13) + Chr(10) + ; + "Toate preturile de pe politica aleasa vor fi sterse, iar valuta va fi modificata in moneda nationala!", 48, "Atentie") + Endif + *!* modificare v 2.0.46 ^ + Endif + + If lnDiscountEvidentiat <> Nvl(gnDiscountEvidentiat, 1) + lcValori = lcValori + Alltrim(Str(lnDiscountEvidentiat)) + lcSeparator + lcOptiuni = lcOptiuni + [DISCOUNTEVIDENTIAT] + lcSeparator + Endif + + If lnPretListAviz <> Nvl(gnPretListAviz, 2) And Thisform.nTipOptiuni = 1 + lcValori = lcValori + Alltrim(Str(lnPretListAviz)) + lcSeparator + lcOptiuni = lcOptiuni + [PRETLISTAVIZ] + lcSeparator + Endif + + If lnFormatFactura <> Nvl(gnFormatFactura, 1) + lcValori = lcValori + Alltrim(Str(lnFormatFactura)) + lcSeparator + lcOptiuni = lcOptiuni + [FORMATFACTURA] + lcSeparator + Endif + + *!* modificare v 2.0.46 + If lnFormatAviz <> Nvl(gnFormatAviz, 1) + lcValori = lcValori + Alltrim(Str(lnFormatAviz)) + lcSeparator + lcOptiuni = lcOptiuni + [FORMATAVIZ] + lcSeparator + Endif + *!* modificare v 2.0.46 ^ + + *!* modificare v 2.0.58 + If lnAtasamenteFact <> Thisform.natasamentefact + lcValori = lcValori + Alltrim(Str(Mod(lnAtasamenteFact, 2))) + lcSeparator + lcOptiuni = lcOptiuni + [ATASAMENTEFACT] + lcSeparator + Endif + *!* modificare v 2.0.58 ^ + + *!* modificare v 2.0.67 + If lnMemProcDisc <> Nvl(gnMemProcDisc, 0) + lcValori = lcValori + Alltrim(Str(lnMemProcDisc)) + lcSeparator + lcOptiuni = lcOptiuni + [MEMPROCDISC] + lcSeparator + Endif + If lnListCursVal <> Nvl(gnListCursVal, 1) + lcValori = lcValori + Alltrim(Str(lnListCursVal)) + lcSeparator + lcOptiuni = lcOptiuni + [LISTCURSVAL] + lcSeparator + Endif + *!* modificare v 2.0.67 ^ + + If m.lnFacturaSold <> Nvl(m.gnFacturaSold, 0) + lcValori = m.lcValori + Alltrim(Str(m.lnFacturaSold)) + m.lcSeparator + lcOptiuni = m.lcOptiuni + [FACTURASOLD] + m.lcSeparator + ENDIF + + *!* modificare v 2.0.80 + If llFacturaCuChitanta <> Nvl(glFacturaCuChitanta, .F.) + lcValori = lcValori + Iif(llFacturaCuChitanta, [T], [F]) + lcSeparator + lcOptiuni = lcOptiuni + [FACTURACUCHITANTA] + lcSeparator + Endif + *!* modificare v 2.0.80 ^ + + *!* modificare v 2.0.93 + If lnId_pol_pret_k <> Nvl(gnIdPolPretFactK, 0) + lcValori = lcValori + Alltrim(Str(lnId_pol_pret_k)) + lcSeparator + lcOptiuni = lcOptiuni + [IDPOLPRETFACTK] + lcSeparator + Endif + + If lnCoefKFact <> Nvl(gnCoefKFact, 2) + lcValori = lcValori + Alltrim(Str(lnCoefKFact)) + lcSeparator + lcOptiuni = lcOptiuni + [COEFKFACT] + lcSeparator + Endif + *!* modificare v 2.0.93 ^ + + Set Exact &lcSetare + + If !Empty(lcOptiuni) And !Empty(lcValori) + If amessagebox("Sunteti sigur ca doriti sa salvati modificarile facute?", 4 + 32, "Confirmare") == 6 + *!* modificare v 2.0.46 + *!* lcSql=[begin actualizeaza_optiuni(?gcNumeProgram,'] + lcOptiuni + [','] + lcValori + [','] + lcSeparator + ['); end;] + lcSql = [begin actualizeaza_optiuni(?gcNumeProgram,'] + lcOptiuni + [','] + lcValori + [','] + lcSeparator + ['); ] + ; + lcSqlAltele + [end;] + *!* modificare v 2.0.46 ^ + lnSucces = goExecutor.oExecute(lcSql) + If lnSucces < 0 + amessagebox(goExecutor.cEroare, 0 + 16, "Eroare") + Return .F. + Else + gnId_part_banca_comp = lnId_part_banca + gnId_part_casa = lnId_part_casa + gnId_fdoc_compensare = lnId_fdoc_comp + gnId_fdoc_aviz_retur = lnId_fdoc_aviz_retur + gnId_fdoc_fact = lnId_fdoc_fact + gnId_fdoc_aviz = lnId_fdoc_aviz + gnId_fdoc_chitanta = lnId_fdoc_chit + gnId_fdoc_bonfiscal = lnId_fdoc_bonfiscal + gnId_fdoc_proforma = lnId_fdoc_proforma + gnId_fdoc_card = lnId_fdoc_card + + gnId_pol_pret_tr = lnId_pol_pret_tr + gnId_pol_pret_stoc = lnId_pol_pret_stoc + gcTextSubsolFact = lcTextSubsolFact + + gcTextFooterFact1 = m.lcTextFooterFact1 + gcTextFooterFact2 = m.lcTextFooterFact2 + gcTextFooterFact3 = m.lcTextFooterFact3 + gcTextFooterFact4 = m.lcTextFooterFact4 + gcTextFooterFact5 = m.lcTextFooterFact5 + + gnTextConformitate = m.lnTextConformitate + gcTextConformFact1 = m.lcTextConformFact1 + gcTextConformFact2 = m.lcTextConformFact2 + gcTextConformFact3 = m.lcTextConformFact3 + gcTextConformFact4 = m.lcTextConformFact4 + gcTextConformFact5 = m.lcTextConformFact5 + gcTextConformFact6 = m.lcTextConformFact6 + gcTextConformFact7 = m.lcTextConformFact7 + gcTextConformFact8 = m.lcTextConformFact8 + + If Thisform.nTipOptiuni = 1 + gcTextSubsolAviz = lcTextSubsolAviz + gnPretListAviz = lnPretListAviz + Endif + gnScadereStoc = lnScadereStoc + gnFactSeturi = lnFactSeturi + gnMarjaEroareRepartizare = lnMarjaEroareRepartizare + gnListaLivrare = lnListaLivrare + gnListareAvizBonFiscal = m.lnListareAvizBonFiscal + gnFacturaEmail = m.lnFacturaEmail + gnScadentaAutomata = lnScadentaAutomata + *!* modificare v 2.2.4 + *!* If gnScadentaAutomata = 1 + gnZileScadentaFact = lnZileScadentaFact + *!* Endif + *!* modificare v 2.2.4 ^ + gnDiscountEvidentiat = lnDiscountEvidentiat + *!* modificare v 2.0.46 + *!* gnVizualFact = lnVizualFact + *!* gnVizualAviz = lnVizualAviz + *!* gnVizualProf = lnVizualProf + *!* modificare v 2.0.46 ^ + gnFormatFactura = lnFormatFactura + *!* modificare v 2.0.46 + gnFormatAviz = lnFormatAviz + *!* modificare v 2.0.46 ^ + *!* modificare v 2.0.67 + gnListCursVal = lnListCursVal + gnFacturaSold = m.lnFacturaSold + gnMemProcDisc = lnMemProcDisc + *!* modificare v 2.0.67 ^ + *!* modificare v 2.0.80 + glFacturaCuChitanta = llFacturaCuChitanta + *!* modificare v 2.0.80 ^ + *!* modificare v 2.0.93 + gnIdPolPretFactK = lnId_pol_pret_k + gnCoefKFact = lnCoefKFact + *!* modificare v 2.0.93 ^ + gnPrintDenumire = lnPrintDenumire + amessagebox("Modificarile au fost salvate!", 0 + 64, "Salvare optiuni") + Endif + Endif + Endif + + Return .T. + + ENDPROC + + PROCEDURE Init + Lparameters tnTipOptiuni + + Thisform.nTipOptiuni = tnTipOptiuni + If Thisform.nTipOptiuni = 2 && ROACONTRACTE + Thisform.pgfrm_optiuni.RemoveObject('page3') + Thisform.pgfrm_optiuni.page4.Op_format_aviz.Visible = .F. + Endif + + Local lcFdocFact,lcFdocAviz,lcFdocAvizRetur,lcPolPretK, lcFdocBonFiscal, lcFdocProforma, lcFdocCard + Store "" To lcFdocFact,lcFdocAviz,lcFdocAvizRetur,lcFdocChitanta,lcFdocComp,lcNumeBanca,lcNumeCasa,lcPolPretTr,lcPolPretStoc,lcPolPretK, lcFdocBonFiscal, lcFdocProforma, lcFdocCard + DoDefault() + + actualizeaza_document(1,@gnId_fdoc_fact,@lcFdocFact) + actualizeaza_document(21,@gnId_fdoc_aviz,@lcFdocAviz) + actualizeaza_document(24,@gnId_fdoc_aviz_retur,@lcFdocAvizRetur) + actualizeaza_document(0,@gnId_fdoc_compensare,@lcFdocComp) + actualizeaza_document(-100,@gnId_fdoc_chitanta,@lcFdocChitanta) + actualizeaza_document(-101,@gnId_fdoc_bonfiscal,@lcFdocBonFiscal) + actualizeaza_document(-102,@gnId_fdoc_proforma,@lcFdocProforma) + actualizeaza_document(-103,@gnId_fdoc_card,@lcFdocCard) + + actualizeaza_partener_fact(0,@gnId_part_banca_comp,@lcNumeBanca) + actualizeaza_partener_fact(1,@gnId_part_casa,@lcNumeCasa) + + actualizeaza_politica_pret(23,@gnId_pol_pret_tr,@lcPolPretTr) + actualizeaza_politica_pret(1,@gnId_pol_pret_stoc,@lcPolPretStoc) + *!* modificare v 2.0.58 + Thisform.natasamentefact = 2-Nvl(citeste_optiune_firma([ATASAMENTEFACT]),0) + *!* modificare v 2.0.58 ^ + *!* modificare v 2.0.93 + actualizeaza_politica_pret(48,@gnIdPolPretFactK,@lcPolPretK) + *!* modificare v 2.0.93 ^ + + This.nidfdocfact = Nvl(gnId_fdoc_fact,0) + This.nidfdocaviz = Nvl(gnId_fdoc_aviz,0) + This.nidfdoccomp = Nvl(gnId_fdoc_compensare,0) + This.nidfdocavizretur = Nvl(gnId_fdoc_aviz_retur,0) + This.nidfdocchit = Nvl(gnId_fdoc_chitanta,0) + This.nIdFdocBonFisc = Nvl(gnId_fdoc_bonfiscal,0) + This.nIdFdocProforma = Nvl(gnId_fdoc_proforma,0) + This.nIdFdocCard = Nvl(gnId_fdoc_card,0) + This.nidpartbanca = Nvl(gnId_part_banca_comp,0) + This.nidpartcasa = Nvl(gnId_part_casa,0) + This.nidpolprettr = Nvl(gnId_pol_pret_tr,0) + This.nidpolpretstoc = Nvl(gnId_pol_pret_stoc,0) + This.cfdocfact = lcFdocFact + This.cfdocaviz = lcFdocAviz + This.cfdocavizretur = lcFdocAvizRetur + This.cfdoccomp = lcFdocComp + This.cfdocchit = lcFdocChitanta + This.cFdocBonFisc = lcFdocBonFiscal + This.cFdocProforma = lcFdocProforma + This.cFdocCard = lcFdocCard + + This.cnumebanca = lcNumeBanca + This.cnumecasa = lcNumeCasa + This.cpolprettr = lcPolPretTr + This.cpolpretstoc = lcPolPretStoc + *!* modificare v 2.0.93 + Thisform.cpolpretk = lcPolPretK + Thisform.nidpolpretk = Nvl(gnIdPolPretFactK,0) + *!* modificare v 2.0.93 ^ + + With Thisform.pgfrm_optiuni + With .page1 + If Nvl(gnScadereStoc,0)=1 + .op_scadere_stoc._optiongrup1.Value=1 + Endif + + If Nvl(gnScadentaAutomata,0)=1 + .op_scadenta_automata._optiongrup1.Value=1 + *!* modificare v 2.2.4 : daca nu e scadenta automata, atunci valoarea lui gnZileScadentaFact va fi doar propusa + *!* .page1.clb_zile_scadenta.teXT_SIMPLU1.ReadOnly=.F. + *!* .page1.clb_zile_scadenta.teXT_SIMPLU1.Value=Nvl(gnZileScadentaFact,0) + *!* Endif + Endif + .clb_zile_scadenta.teXT_SIMPLU1.Value=Nvl(gnZileScadentaFact,-1) + *!* modificare v 2.2.4 ^ + + If Nvl(gnDiscountEvidentiat,1) <> 1 + .op_discountevidentiat._optiongrup1.Value = 2 + Endif + + If Nvl(gnFactSeturi,0)=1 + .op_facturare_set._optiongrup1.Value=1 + .clb_marja_eroare.teXT_SIMPLU1.ReadOnly = .F. + Endif + + .clb_marja_eroare.teXT_SIMPLU1.Value = Nvl(gnMarjaEroareRepartizare,0) + + If Nvl(gnListaLivrare,0)=1 + .op_lista_livrare._optiongrup1.Value = 1 + Endif + + If Nvl(m.gnListareAvizBonFiscal,0) = 0 + .op_aviz_bon_fiscal._optiongrup1.Value = 0 + ENDIF + + + .op_factura_email._optiongrup1.Value = IIF(Nvl(m.gnFacturaEmail,0) = 0, 2, IIF(Nvl(m.gnFacturaEmail,0) = 1, 1, 3)) + + .ct_clb_pol_pret_stoc.clb_tx_cautare.teXT_SIMPLU1.Refresh() + *!* modificare v 2.0.58 + .op_salvare_pdf._optiongrup1.Value = Thisform.natasamentefact + .op_salvare_pdf.Refresh() + *!* modificare v 2.0.58 ^ + *!* modificare v 2.0.67 + .op_memorare_procdisc._optiongrup1.Value = Iif(Nvl(gnMemProcDisc,0)=1,1,2) + *!* modificare v 2.0.67 ^ + *!* modificare v 2.0.93 + .Ct_clb_pol_pret_k.clb_tx_cautare.teXT_SIMPLU1.Refresh() + .Op_coeficient_k._optiongrup1.Value = Nvl(gnCoefKFact,2)+1 + *!* modificare v 2.0.93 ^ + Endwith + + WITH .page2 + .ed_txt_subsol_fact._edbase1.Value = NVL(gcTextSubsolFact, '') + .op_printdenumire._optiongrup1.Value = IIF(NVL(m.gnPrintDenumire,0) = 1, 1, 2) + + .ct_txtfooter_fact.txtFooterFact1.Value = ALLTRIM(NVL(m.gcTextFooterFact1, '')) + .ct_txtfooter_fact.txtFooterFact2.Value = ALLTRIM(NVL(m.gcTextFooterFact2, '')) + .ct_txtfooter_fact.txtFooterFact3.Value = ALLTRIM(NVL(m.gcTextFooterFact3, '')) + .ct_txtfooter_fact.txtFooterFact4.Value = ALLTRIM(NVL(m.gcTextFooterFact4, '')) + .ct_txtfooter_fact.txtFooterFact5.Value = ALLTRIM(NVL(m.gcTextFooterFact5, '')) + + .op_conformitate._optiongrup1.Value = IIF(NVL(m.gnTextConformitate,0) = 1, 1, 2) + + .ct_txtconform_fact.txtConformFact1.Value = ALLTRIM(NVL(m.gcTextConformFact1, '')) + .ct_txtconform_fact.txtConformFact2.Value = ALLTRIM(NVL(m.gcTextConformFact2, '')) + .ct_txtconform_fact.txtConformFact3.Value = ALLTRIM(NVL(m.gcTextConformFact3, '')) + .ct_txtconform_fact.txtConformFact4.Value = ALLTRIM(NVL(m.gcTextConformFact4, '')) + .ct_txtconform_fact.txtConformFact5.Value = ALLTRIM(NVL(m.gcTextConformFact5, '')) + .ct_txtconform_fact.txtConformFact6.Value = ALLTRIM(NVL(m.gcTextConformFact6, '')) + .ct_txtconform_fact.txtConformFact7.Value = ALLTRIM(NVL(m.gcTextConformFact7, '')) + .ct_txtconform_fact.txtConformFact8.Value = ALLTRIM(NVL(m.gcTextConformFact8, '')) + + .ct_clb_fdoc_factura.clb_tx_cautare.teXT_SIMPLU1.Refresh() + ENDWITH && .page2 + + If Thisform.nTipOptiuni <> 2 && 2 = ROACONTRACTE, NU ARAT AVIZELE + With .page3 + .ed_txt_subsol_aviz._edbase1.Value=gcTextSubsolAviz + .ct_clb_fdoc_aviz.clb_tx_cautare.teXT_SIMPLU1.Refresh() + .ct_clb_fdoc_aviz_retur.clb_tx_cautare.teXT_SIMPLU1.Refresh() + .ct_clb_fdoc_compensare.clb_tx_cautare.teXT_SIMPLU1.Refresh() + .ct_clb_id_banca.clb_tx_cautare.teXT_SIMPLU1.Refresh() + .ct_clb_pol_pret_tr.clb_tx_cautare.teXT_SIMPLU1.Refresh() + .op_pret_subunitati._optiongrup1.Value = Nvl(gnPretListAviz,2) + Endwith + Endif + + With .page4 + .op_format_factura._optiongrup1.Value = gnFormatFactura + *!* modificare v 2.0.46 + .op_format_aviz._optiongrup1.Value = gnFormatAviz + *!* modificare v 2.0.46 ^ + *!* modificare v 2.0.67 + .op_listare_curs._optiongrup1.Value = Iif(Nvl(gnListCursVal,1)=1,1,2) + .op_listare_sold._optiongrup1.Value = Iif(Nvl(gnFacturaSold,1)=1,1,2) + *!* modificare v 2.0.67 ^ + *!* modificare v 2.0.80 + .op_factura_chitanta._optiongrup1.Value = Iif(Nvl(glFacturaCuChitanta,.F.),1,2) + *!* modificare v 2.0.80 ^ + ENDWITH + + With .page5 + .ct_clb_fdoc_proforma.clb_tx_cautare.teXT_SIMPLU1.Refresh() + ENDWITH + + With .page6 + .ct_clb_fdoc_chitanta.clb_tx_cautare.teXT_SIMPLU1.Refresh() + .ct_clb_fdoc_bonfisc.clb_tx_cautare.teXT_SIMPLU1.Refresh() + .ct_clb_fdoc_card.clb_tx_cautare.teXT_SIMPLU1.Refresh() + .ct_clb_id_casa.clb_tx_cautare.teXT_SIMPLU1.Refresh() + Endwith + + Endwith + + ENDPROC + + PROCEDURE pgfrm_optiuni.Page1.Op_coeficient_k._OPTIONGRUP1.Click + If This.Value = 1 + This.Parent.Parent.clb_marja_eroare.text_simplu1.Enabled = .T. + Else + This.Parent.Parent.clb_marja_eroare.text_simplu1.Enabled = .F. + Endif + ENDPROC + + PROCEDURE pgfrm_optiuni.Page1.op_facturare_set._optiongrup1.Click + If This.Value = 1 + This.Parent.Parent.clb_marja_eroare.text_simplu1.Enabled = .T. + Else + This.Parent.Parent.clb_marja_eroare.text_simplu1.Enabled = .F. + Endif + ENDPROC + + PROCEDURE pgfrm_optiuni.Page1.op_scadenta_automata._optiongrup1.Click + *!* modificare v 2.2.4 + *!* If This.Value=1 + *!* This.Parent.Parent.clb_zile_scadenta.teXT_SIMPLU1.ReadOnly=.F. + *!* This.Parent.Parent.clb_zile_scadenta.teXT_SIMPLU1.SetFocus() + *!* Else + *!* This.Parent.Parent.clb_zile_scadenta.teXT_SIMPLU1.ReadOnly=.T. + *!* endif + DoDefault() + *!* modificare v 2.2.4 ^ + + ENDPROC + +ENDDEFINE + +DEFINE CLASS frm_optiuni_facturare_local AS _frmbase OF "_frm_base.vcx" + *< CLASSDATA: Baseclass="form" Timestamp="" Scale="Pixels" Uniqueid="" /> + + *-- OBJECTDATA items order determines ZOrder / El orden de los items OBJECTDATA determina el ZOrder + *< OBJECTDATA: ObjPath="But_renunt1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="pgfrm_optiuni" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="pgfrm_optiuni.Page1.shape_cod" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="pgfrm_optiuni.Page1.ct_codmat" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="pgfrm_optiuni.Page1.lb_explicatie_cod" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="pgfrm_optiuni.Page1._shape1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="pgfrm_optiuni.Page1.ct_denumire" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="pgfrm_optiuni.Page1.Lb_simplu1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="pgfrm_optiuni.Page2.Op_list_aviz" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="pgfrm_optiuni.Page2.Ct_impr_rapoarte" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="pgfrm_optiuni.Page2.Ct_impr_factura" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="pgfrm_optiuni.Page2.Ct_impr_aviz" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="pgfrm_optiuni.Page2.Op_list_factura" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="pgfrm_optiuni.Page2.Ct_impr_proforma" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="pgfrm_optiuni.Page2.Op_list_proforma" UniqueID="" Timestamp="" /> + + * + *m: do_adauga_modificare_reg + *m: do_cauta_imprimanta + *m: initializeaza_setari_locale + *m: salveaza_setari_locale + *p: cimpraviz + *p: cimpravizini + *p: cimprfact + *p: cimprfactini + *p: cimprprof + *p: cimprprofini + *p: cimprrap + *p: cimprrapini + *p: cvizualaviz + *p: cvizualavizini + *p: cvizualfact + *p: cvizualfactini + *p: cvizualprof + *p: cvizualprofini + *p: ncriteriucod && Criteriu cod. + *p: ncriteriucodini && Criteriu de cautare initial la cod material. + *p: ncriteriudenumire && Criteriu denumire + *p: ncriteriudenumireini && Criteriu initial de cautare denumire + *p: ntipoptiuni + *a: amodificariregistru[10,2] + * + + * + cimpraviz = + cimpravizini = + cimprfact = + cimprfactini = + cimprprof = + cimprprofini = + cimprrap = + cimprrapini = + cvizualaviz = 1 + cvizualavizini = 1 + cvizualfact = 1 + cvizualfactini = 1 + cvizualprof = 1 + cvizualprofini = 1 + DoCreate = .T. + FontCharSet = 238 + Height = 360 + Name = "frm_optiuni_facturare_local" + ncriteriucod = 2 + ncriteriucodini = 2 + ncriteriudenumire = 2 + ncriteriudenumireini = 2 + ntipoptiuni = 0 + Width = 528 + _memberdata = + + + + + + + _SHAPE1.Height = 29 + _SHAPE1.Left = 0 + _SHAPE1.Name = "_SHAPE1" + _SHAPE1.Top = 0 + _SHAPE1.Width = 528 + _SHAPE2.Height = 29 + _SHAPE2.Left = 457 + _SHAPE2.Name = "_SHAPE2" + _SHAPE2.Top = -1 + _SHAPE2.Width = 72 + LB_TITLU_ALB_B121.Caption = "OPTIUNI" + LB_TITLU_ALB_B121.FontBold = .T. + LB_TITLU_ALB_B121.FontCharSet = 238 + LB_TITLU_ALB_B121.Name = "LB_TITLU_ALB_B121" + LB_TITLU_ALB_B121.TabIndex = 4 + BUT_TERMIN1.Left = 496 + BUT_TERMIN1.Name = "BUT_TERMIN1" + BUT_TERMIN1.TabIndex = 2 + BUT_TERMIN1.Top = 0 + Gridsort1.Left = 7 + Gridsort1.Name = "Gridsort1" + Gridsort1.Top = 42 + * + + ADD OBJECT 'But_renunt1' AS but_renunt WITH ; + Left = 462, ; + Name = "But_renunt1", ; + TabIndex = 3, ; + Top = 0 + *< END OBJECT: ClassLib="cmd_butoane.vcx" BaseClass="commandbutton" /> + + ADD OBJECT 'pgfrm_optiuni' AS _pageframe WITH ; + ErasePage = .T., ; + Height = 293, ; + Left = 24, ; + Name = "pgfrm_optiuni", ; + PageCount = 2, ; + TabIndex = 1, ; + TabStyle = 0, ; + Themes = .F., ; + Top = 43, ; + Width = 480, ; + Page1.BackColor = 255,255,255, ; + Page1.Caption = "\ + + ADD OBJECT 'pgfrm_optiuni.Page1._shape1' AS _shape WITH ; + BackStyle = 0, ; + Height = 36, ; + Left = 37, ; + Name = "_shape1", ; + Top = 48, ; + Width = 396, ; + ZOrderSet = 0 + *< END OBJECT: ClassLib="_baza.vcx" BaseClass="shape" /> + + ADD OBJECT 'pgfrm_optiuni.Page1.ct_codmat' AS criteriu_text WITH ; + ControlSource = "Thisform.ncriteriucod", ; + FontName = "Arial Narrow", ; + Height = 24, ; + Left = 335, ; + Name = "ct_codmat", ; + TabIndex = 1, ; + Top = 20, ; + Width = 84, ; + ZOrderSet = 1 + *< END OBJECT: ClassLib="caut_ora.vcx" BaseClass="combobox" /> + + ADD OBJECT 'pgfrm_optiuni.Page1.ct_denumire' AS criteriu_text WITH ; + ControlSource = "Thisform.ncriteriudenumire", ; + FontName = "Arial Narrow", ; + Height = 24, ; + Left = 335, ; + Name = "ct_denumire", ; + TabIndex = 2, ; + Top = 55, ; + Width = 84, ; + ZOrderSet = 1 + *< END OBJECT: ClassLib="caut_ora.vcx" BaseClass="combobox" /> + + ADD OBJECT 'pgfrm_optiuni.Page1.lb_explicatie_cod' AS lb_simplu WITH ; + Caption = 'Criteriul de cãutare pentru "cod material" este :', ; + Left = 48, ; + Name = "lb_explicatie_cod", ; + TabIndex = 3, ; + Top = 24 + *< END OBJECT: ClassLib="lb.vcx" BaseClass="label" /> + + ADD OBJECT 'pgfrm_optiuni.Page1.Lb_simplu1' AS lb_simplu WITH ; + Caption = 'Criteriul de cãutare pentru "denumire" este :', ; + Left = 48, ; + Name = "Lb_simplu1", ; + TabIndex = 4, ; + Top = 59 + *< END OBJECT: ClassLib="lb.vcx" BaseClass="label" /> + + ADD OBJECT 'pgfrm_optiuni.Page1.shape_cod' AS _shape WITH ; + BackStyle = 0, ; + Height = 36, ; + Left = 37, ; + Name = "shape_cod", ; + Top = 13, ; + Width = 396, ; + ZOrderSet = 0 + *< END OBJECT: ClassLib="_baza.vcx" BaseClass="shape" /> + + ADD OBJECT 'pgfrm_optiuni.Page2.Ct_impr_aviz' AS ct_clb_cautare WITH ; + cconditie = !EMPTY(thisform.cimpraviz), ; + clista_parametri = 2, ; + cprocedura = thisform.do_cauta_imprimanta, ; + cvar_afisata = thisform.cimpraviz, ; + Left = 46, ; + Name = "Ct_impr_aviz", ; + TabIndex = 5, ; + Top = 118, ; + img_cautare.Name = "img_cautare", ; + clb_tx_cautare.Lb_simplu1.Caption = "Imprimantã avize", ; + clb_tx_cautare.Lb_simplu1.Name = "Lb_simplu1", ; + clb_tx_cautare.Name = "clb_tx_cautare", ; + clb_tx_cautare.Text_simplu1.Name = "Text_simplu1" + *< END OBJECT: ClassLib="caut_ora.vcx" BaseClass="container" /> + + ADD OBJECT 'pgfrm_optiuni.Page2.Ct_impr_factura' AS ct_clb_cautare WITH ; + cconditie = !EMPTY(thisform.cimprfact), ; + clista_parametri = 1, ; + cprocedura = thisform.do_cauta_imprimanta, ; + cvar_afisata = thisform.cimprfact, ; + Left = 46, ; + Name = "Ct_impr_factura", ; + TabIndex = 2, ; + Top = 51, ; + img_cautare.Name = "img_cautare", ; + clb_tx_cautare.Lb_simplu1.Caption = "Imprimantã facturi", ; + clb_tx_cautare.Lb_simplu1.Name = "Lb_simplu1", ; + clb_tx_cautare.Name = "clb_tx_cautare", ; + clb_tx_cautare.Text_simplu1.Name = "Text_simplu1" + *< END OBJECT: ClassLib="caut_ora.vcx" BaseClass="container" /> + + ADD OBJECT 'pgfrm_optiuni.Page2.Ct_impr_proforma' AS ct_clb_cautare WITH ; + cconditie = !EMPTY(thisform.cimprprof), ; + clista_parametri = 3, ; + cprocedura = thisform.do_cauta_imprimanta, ; + cvar_afisata = thisform.cimprprof, ; + Left = 46, ; + Name = "Ct_impr_proforma", ; + TabIndex = 8, ; + Top = 185, ; + img_cautare.Name = "img_cautare", ; + clb_tx_cautare.Lb_simplu1.Caption = "Imprimantã proforme", ; + clb_tx_cautare.Lb_simplu1.Name = "Lb_simplu1", ; + clb_tx_cautare.Name = "clb_tx_cautare", ; + clb_tx_cautare.Text_simplu1.Name = "Text_simplu1" + *< END OBJECT: ClassLib="caut_ora.vcx" BaseClass="container" /> + + ADD OBJECT 'pgfrm_optiuni.Page2.Ct_impr_rapoarte' AS ct_clb_cautare WITH ; + cconditie = !EMPTY(thisform.cimprrap), ; + clista_parametri = 4, ; + cprocedura = thisform.do_cauta_imprimanta, ; + cvar_afisata = thisform.cimprrap, ; + Left = 46, ; + Name = "Ct_impr_rapoarte", ; + TabIndex = 9, ; + Top = 213, ; + Visible = .F., ; + img_cautare.Name = "img_cautare", ; + clb_tx_cautare.Lb_simplu1.Caption = "Imprimantã alte listãri", ; + clb_tx_cautare.Lb_simplu1.Name = "Lb_simplu1", ; + clb_tx_cautare.Name = "clb_tx_cautare", ; + clb_tx_cautare.Text_simplu1.Name = "Text_simplu1" + *< END OBJECT: ClassLib="caut_ora.vcx" BaseClass="container" /> + + ADD OBJECT 'pgfrm_optiuni.Page2.Op_list_aviz' AS op_tx_simplu WITH ; + Height = 40, ; + Left = 47, ; + Name = "Op_list_aviz", ; + TabIndex = 4, ; + Top = 80, ; + Width = 314, ; + Lb_simplu1.Caption = "Se vizualizeazã avizul înainte de listare?", ; + Lb_simplu1.Left = 10, ; + Lb_simplu1.Name = "Lb_simplu1", ; + Lb_simplu1.Top = 11, ; + _OPTIONGRUP1.AutoSize = .F., ; + _OPTIONGRUP1.BorderStyle = 0, ; + _OPTIONGRUP1.Height = 33, ; + _OPTIONGRUP1.Left = 264, ; + _OPTIONGRUP1.Name = "_OPTIONGRUP1", ; + _OPTIONGRUP1.OPTION1.AutoSize = .T., ; + _OPTIONGRUP1.OPTION1.Caption = "Da", ; + _OPTIONGRUP1.OPTION1.Left = 4, ; + _OPTIONGRUP1.OPTION1.Name = "OPTION1", ; + _OPTIONGRUP1.OPTION1.Top = 2, ; + _OPTIONGRUP1.OPTION1.Value = 1, ; + _OPTIONGRUP1.OPTION2.AutoSize = .T., ; + _OPTIONGRUP1.OPTION2.Caption = "Nu", ; + _OPTIONGRUP1.OPTION2.Left = 4, ; + _OPTIONGRUP1.OPTION2.Name = "OPTION2", ; + _OPTIONGRUP1.OPTION2.Top = 18, ; + _OPTIONGRUP1.OPTION2.Value = 0, ; + _OPTIONGRUP1.Top = 3, ; + _OPTIONGRUP1.Width = 71 + *< END OBJECT: ClassLib="lb_tx.vcx" BaseClass="container" /> + + ADD OBJECT 'pgfrm_optiuni.Page2.Op_list_factura' AS op_tx_simplu WITH ; + Height = 40, ; + Left = 47, ; + Name = "Op_list_factura", ; + TabIndex = 1, ; + Top = 13, ; + Width = 314, ; + Lb_simplu1.Caption = "Se vizualizeazã factura înainte de listare?", ; + Lb_simplu1.Left = 10, ; + Lb_simplu1.Name = "Lb_simplu1", ; + Lb_simplu1.Top = 11, ; + _OPTIONGRUP1.AutoSize = .F., ; + _OPTIONGRUP1.BorderStyle = 0, ; + _OPTIONGRUP1.Height = 33, ; + _OPTIONGRUP1.Left = 264, ; + _OPTIONGRUP1.Name = "_OPTIONGRUP1", ; + _OPTIONGRUP1.OPTION1.AutoSize = .T., ; + _OPTIONGRUP1.OPTION1.Caption = "Da", ; + _OPTIONGRUP1.OPTION1.Left = 4, ; + _OPTIONGRUP1.OPTION1.Name = "OPTION1", ; + _OPTIONGRUP1.OPTION1.Top = 2, ; + _OPTIONGRUP1.OPTION1.Value = 1, ; + _OPTIONGRUP1.OPTION2.AutoSize = .T., ; + _OPTIONGRUP1.OPTION2.Caption = "Nu", ; + _OPTIONGRUP1.OPTION2.Left = 4, ; + _OPTIONGRUP1.OPTION2.Name = "OPTION2", ; + _OPTIONGRUP1.OPTION2.Top = 18, ; + _OPTIONGRUP1.OPTION2.Value = 0, ; + _OPTIONGRUP1.Top = 3, ; + _OPTIONGRUP1.Width = 71 + *< END OBJECT: ClassLib="lb_tx.vcx" BaseClass="container" /> + + ADD OBJECT 'pgfrm_optiuni.Page2.Op_list_proforma' AS op_tx_simplu WITH ; + Height = 40, ; + Left = 47, ; + Name = "Op_list_proforma", ; + TabIndex = 7, ; + Top = 147, ; + Width = 314, ; + Lb_simplu1.Caption = "Se vizualizeazã proforma înainte de listare?", ; + Lb_simplu1.Left = 10, ; + Lb_simplu1.Name = "Lb_simplu1", ; + Lb_simplu1.Top = 11, ; + _OPTIONGRUP1.AutoSize = .F., ; + _OPTIONGRUP1.BorderStyle = 0, ; + _OPTIONGRUP1.Height = 33, ; + _OPTIONGRUP1.Left = 264, ; + _OPTIONGRUP1.Name = "_OPTIONGRUP1", ; + _OPTIONGRUP1.OPTION1.AutoSize = .T., ; + _OPTIONGRUP1.OPTION1.Caption = "Da", ; + _OPTIONGRUP1.OPTION1.Left = 4, ; + _OPTIONGRUP1.OPTION1.Name = "OPTION1", ; + _OPTIONGRUP1.OPTION1.Top = 2, ; + _OPTIONGRUP1.OPTION1.Value = 1, ; + _OPTIONGRUP1.OPTION2.AutoSize = .T., ; + _OPTIONGRUP1.OPTION2.Caption = "Nu", ; + _OPTIONGRUP1.OPTION2.Left = 4, ; + _OPTIONGRUP1.OPTION2.Name = "OPTION2", ; + _OPTIONGRUP1.OPTION2.Top = 18, ; + _OPTIONGRUP1.OPTION2.Value = 0, ; + _OPTIONGRUP1.Top = 3, ; + _OPTIONGRUP1.Width = 71 + *< END OBJECT: ClassLib="lb_tx.vcx" BaseClass="container" /> + + PROCEDURE do_adauga_modificare_reg + Lparameters tcSetare,tcValoare + Ains(This.amodificariregistru,1) + This.amodificariregistru[1,1] = tcSetare + This.amodificariregistru[1,2] = tcValoare + ENDPROC + + PROCEDURE do_cauta_imprimanta + Lparameters tnTip + Local loCauta + loCauta = caut_imprimanta() + If !Isnull(loCauta) + Do Case + Case tnTip = 1 + Thisform.cimprfact = loCauta.imprimanta + Thisform.pgfrm_optiuni.page2.op_list_aviz.SetFocus() + Case tnTip = 2 + Thisform.cimpraviz = loCauta.imprimanta + Thisform.pgfrm_optiuni.page2.op_list_proforma.SetFocus() + Case tnTip = 3 + Thisform.cimprprof = loCauta.imprimanta + Thisform.pgfrm_optiuni.page2.ct_impr_rapoarte.SetFocus() + Case tnTip = 4 + Thisform.cimprrap = loCauta.imprimanta + Thisform.but_TERMIN1.SetFocus() + Endcase + Else + Do Case + Case tnTip = 1 + Thisform.cimprfact = [] + Case tnTip = 2 + Thisform.cimpraviz = [] + Case tnTip = 3 + Thisform.cimprprof = [] + Case tnTip = 4 + Thisform.cimprrap = [] + Endcase + Endif + + ENDPROC + + PROCEDURE inainte_de_do_termin + Local llModificari, llSalvare + llModificari = .F. + llSalvare = .F. + + With Thisform.pgfrm_optiuni.page2 + Thisform.cvizualaviz = Alltrim(Str(.op_list_aviz._optiongrup1.Value)) + Thisform.cvizualfact = Alltrim(Str(.op_list_factura._optiongrup1.Value)) + Thisform.cvizualprof = Alltrim(Str(.op_list_proforma._optiongrup1.Value)) + Endwith + + lcSetare = Sys(2001,'EXACT') + Set Exact On + If Nvl(Thisform.cvizualavizini,"1") <> Thisform.cvizualaviz + Thisform.do_adauga_modificare_reg([PREVIZAVIZ],Thisform.cvizualaviz) + llModificari = .T. + Endif + + If This.cimpraviz <> Nvl(This.cimpravizini,[]) + Thisform.do_adauga_modificare_reg([AVIZ],This.cimpraviz) + llModificari = .T. + Endif + + If Nvl(Thisform.cvizualfactini,"1") <> Thisform.cvizualfact + Thisform.do_adauga_modificare_reg([PREVIZFACT],Thisform.cvizualfact) + llModificari = .T. + Endif + + If This.cimprfact <> Nvl(This.cimprfactini,[]) + Thisform.do_adauga_modificare_reg([FACTURA],This.cimprfact) + llModificari = .T. + Endif + + If Nvl(Thisform.cvizualprofini,"1") <> Thisform.cvizualprof + Thisform.do_adauga_modificare_reg([PREVIZPROF],This.cvizualprof) + llModificari = .T. + Endif + + If This.cimprprof <> Nvl(This.cimprprofini,[]) + Thisform.do_adauga_modificare_reg([PROFORMA],This.cimprprof) + llModificari = .T. + Endif + + If This.cimprrap <> Nvl(This.cimprrapini,[]) + Thisform.do_adauga_modificare_reg([RAPORT],This.cimprrap) + llModificari = .T. + Endif + + If This.ncriteriucod <> Nvl(This.ncriteriucodini,0) + Thisform.do_adauga_modificare_reg([CRITCOD],Alltrim(Str(This.ncriteriucod))) + llModificari = .T. + Endif + + If This.ncriteriuDenumire <> Nvl(This.nCriteriuDenumireIni,0) + Thisform.do_adauga_modificare_reg([CRITDENUMIRE],Alltrim(Str(This.nCriteriuDenumire))) + llModificari = .T. + ENDIF + + Set Exact &lcSetare + + If llModificari + If amessagebox("Sunteti sigur ca doriti sa salvati modificarile facute?",4+32,"Confirmare")==6 + This.salveaza_setari_locale() + amessagebox("Modificarile au fost salvate!",0+64,"Salvare optiuni") + Endif + Endif + + Return .T. + + ENDPROC + + PROCEDURE Init + Lparameters tnTipOptiuni + Thisform.nTipOptiuni = tnTipOptiuni + DoDefault() + + With Thisform.pgfrm_optiuni + This.initializeaza_setari_locale() + With .page1.ct_codmat + .Requery() + .SetFocus() + Endwith + + With .page2 + .op_list_factura._optiongrup1.Value = Val(Thisform.cVizualFact) && gnVizualFact && modificare v 2.0.46 + If Thisform.nTipOptiuni = 2 + .op_list_aviz.Visible = .F. + .ct_impr_aviz.Visible = .F. + Endif + .op_list_aviz._optiongrup1.Value = Val(Thisform.cVizualAviz) && gnVizualAviz && modificare v 2.0.46 + .op_list_proforma._optiongrup1.Value = Val(Thisform.cVizualProf) && gnVizualProf && modificare v 2.0.46 + .ct_impr_rapoarte.clb_tx_cautare.teXT_SIMPLU1.Refresh() + Endwith + + Endwith + + ENDPROC + + PROCEDURE initializeaza_setari_locale + This.cimprfactini = goExport.citesteSetareRegistru("FACTURA") + This.cimpravizini = goExport.citesteSetareRegistru("AVIZ") + This.cimprprofini = goExport.citesteSetareRegistru("PROFORMA") + This.cimprrapini = goExport.citesteSetareRegistru("RAPORT") + This.cvizualfactini = goExport.citesteSetareRegistru("PREVIZFACT") + This.cvizualavizini = goExport.citesteSetareRegistru("PREVIZAVIZ") + This.cvizualprofini = goExport.citesteSetareRegistru("PREVIZPROF") + lcCriteriuCod = goExport.citesteSetareRegistru("CRITCOD") + If !Empty(lcCriteriuCod) And Type('val(lcCriteriuCod)') = 'N' + This.ncriteriucodini = Val(lcCriteriuCod) + This.ncriteriucod = This.ncriteriucodini + Endif + + lcCriteriuDenumire = goExport.citesteSetareRegistru("CRITDENUMIRE") + If !Empty(m.lcCriteriuDenumire) And Type('val(lcCriteriuDenumire)') = 'N' + This.nCriteriuDenumireIni = Val(lcCriteriuDenumire) + This.nCriteriuDenumire = This.nCriteriuDenumireIni + ENDIF + + This.cimprfact = This.cimprfactini + This.cimpraviz = This.cimpravizini + This.cimprprof = This.cimprprofini + This.cimprrap = This.cimprrapini + This.cvizualfact = Iif(Empty(Nvl(This.cvizualfactini,[])),[1],This.cvizualfactini) + This.cvizualaviz = Iif(Empty(Nvl(This.cvizualavizini,[])),[1],This.cvizualavizini) + This.cvizualprof = Iif(Empty(Nvl(This.cvizualprofini,[])),[1],This.cvizualprofini) + ENDPROC + + PROCEDURE salveaza_setari_locale + For i = 1 To Alen(This.aModificariRegistru,1) + If !Empty(This.aModificariRegistru[i,1]) + goExport.modificaSetareRegistru(This.aModificariRegistru[i,1],This.aModificariRegistru[i,2]) + Endif + Endfor + ENDPROC + + PROCEDURE pgfrm_optiuni.Page2.Op_list_aviz._OPTIONGRUP1.InteractiveChange + If This.Value = 1 + Thisform.cimpraviz = [] + This.Parent.Parent.ct_impr_aviz.do_dezactiveaza() + Else + Thisform.cimpraviz = Thisform.cimpravizini + This.Parent.Parent.ct_impr_aviz.do_activeaza() + ENDIF + ENDPROC + + PROCEDURE pgfrm_optiuni.Page2.Op_list_aviz._OPTIONGRUP1.ProgrammaticChange + If This.Value = 1 + Thisform.cimpraviz = [] + This.Parent.Parent.ct_impr_aviz.do_dezactiveaza() + Else + Thisform.cimpraviz = Thisform.cimpravizini + This.Parent.Parent.ct_impr_aviz.do_activeaza() + Endif + ENDPROC + + PROCEDURE pgfrm_optiuni.Page2.Op_list_factura._OPTIONGRUP1.InteractiveChange + If This.Value = 1 + Thisform.cimprfact = [] + This.Parent.Parent.ct_impr_factura.do_dezactiveaza() + Else + Thisform.cimprfact = Thisform.cimprfactini + This.Parent.Parent.ct_impr_factura.do_activeaza() + Endif + ENDPROC + + PROCEDURE pgfrm_optiuni.Page2.Op_list_factura._OPTIONGRUP1.ProgrammaticChange + If This.Value = 1 + Thisform.cimprfact = [] + This.Parent.Parent.ct_impr_factura.do_dezactiveaza() + Else + Thisform.cimprfact = Thisform.cimprfactini + This.Parent.Parent.ct_impr_factura.do_activeaza() + Endif + ENDPROC + + PROCEDURE pgfrm_optiuni.Page2.Op_list_proforma._OPTIONGRUP1.InteractiveChange + If This.Value = 1 + Thisform.cimprprof = [] + This.Parent.Parent.ct_impr_proforma.do_dezactiveaza() + Else + Thisform.cimprprof = Thisform.cimprprofini + This.Parent.Parent.ct_impr_proforma.do_activeaza() + Endif + ENDPROC + + PROCEDURE pgfrm_optiuni.Page2.Op_list_proforma._OPTIONGRUP1.ProgrammaticChange + If This.Value = 1 + Thisform.cimprprof = [] + This.Parent.Parent.ct_impr_proforma.do_dezactiveaza() + Else + Thisform.cimprprof = Thisform.cimprprofini + This.Parent.Parent.ct_impr_proforma.do_activeaza() + Endif + ENDPROC + +ENDDEFINE + +DEFINE CLASS frm_rute AS frm_termin OF "..\comun\clase\_frm_child.vcx" + *< CLASSDATA: Baseclass="form" Timestamp="" Scale="Pixels" Uniqueid="" /> + + *-- OBJECTDATA items order determines ZOrder / El orden de los items OBJECTDATA determina el ZOrder + *< OBJECTDATA: ObjPath="But_nou1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="But_modifica1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="But_sterge1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="But_listare1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="_grdrow1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="_grdrow1.Column1.Header1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="_grdrow1.Column1.Text1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="_grdrow1.Column2.Header1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="_grdrow1.Column2.Text1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="_grdrow1.Column3.Header1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="_grdrow1.Column3.Text1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="_grdrow1.Column4.Header1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="_grdrow1.Column4.Text1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="_grdrow1.Column5.Header1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="_grdrow1.Column5.Text1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="_grdrow1.Column6.Header1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="_grdrow1.Column6.Text1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="_grdrow1.Column7.Header1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="_grdrow1.Column7.Text1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="_grdrow1.Column8.Header1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="_grdrow1.Column8.Text1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="_grdrow1.Column9.Header1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="_grdrow1.Column9.Text1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="_grdrow1.Column10.Header1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="_grdrow1.Column10.Text1" UniqueID="" Timestamp="" /> + + * + BorderStyle = 3 + DoCreate = .T. + Height = 397 + Name = "frm_rute" + Width = 749 + _shape1.Height = 29 + _shape1.Left = 0 + _shape1.Name = "_shape1" + _shape1.Top = 0 + _shape1.Width = 752 + _shape2.Name = "_shape2" + Lb_titlu_alb_b121.Caption = "Rute" + Lb_titlu_alb_b121.Name = "Lb_titlu_alb_b121" + BUT_TERMIN1.Left = 710 + BUT_TERMIN1.Name = "BUT_TERMIN1" + BUT_TERMIN1.Top = 0 + Gridsort1.Name = "Gridsort1" + * + + ADD OBJECT '_grdrow1' AS _grdrow WITH ; + ColumnCount = 10, ; + DeleteMark = .F., ; + Height = 348, ; + Left = 12, ; + Name = "_grdrow1", ; + Panel = 1, ; + RecordSource = "crsRUTE", ; + Top = 36, ; + Width = 708, ; + Column1.ControlSource = "ordine", ; + Column1.Name = "Column1", ; + Column1.Width = 41, ; + Column2.ControlSource = "ruta", ; + Column2.Name = "Column2", ; + Column3.ControlSource = "nume_gestiune", ; + Column3.Name = "Column3", ; + Column3.Width = 122, ; + Column4.ControlSource = "partener", ; + Column4.Name = "Column4", ; + Column5.ControlSource = "adresa", ; + Column5.Name = "Column5", ; + Column5.Width = 92, ; + Column6.ControlSource = "localitate", ; + Column6.Name = "Column6", ; + Column6.Width = 106, ; + Column7.ControlSource = "judet", ; + Column7.Name = "Column7", ; + Column7.Width = 83, ; + Column8.ControlSource = "agent", ; + Column8.Name = "Column8", ; + Column9.ControlSource = "delegat", ; + Column9.Name = "Column9", ; + Column10.ControlSource = "nrinmat", ; + Column10.Name = "Column10", ; + Column10.Width = 92 + *< END OBJECT: ClassLib="..\comun\clase\_grd_base.vcx" BaseClass="grid" /> + + ADD OBJECT '_grdrow1.Column1.Header1' AS header WITH ; + Caption = "Ordine", ; + Name = "Header1" + *< END OBJECT: BaseClass="header" /> + + ADD OBJECT '_grdrow1.Column1.Text1' AS textbox WITH ; + BackColor = 255,255,255, ; + BorderStyle = 0, ; + ForeColor = 0,0,0, ; + Margin = 0, ; + Name = "Text1" + *< END OBJECT: BaseClass="textbox" /> + + ADD OBJECT '_grdrow1.Column10.Header1' AS header WITH ; + Caption = "Nr inmatriculare", ; + Name = "Header1" + *< END OBJECT: BaseClass="header" /> + + ADD OBJECT '_grdrow1.Column10.Text1' AS textbox WITH ; + BackColor = 255,255,255, ; + BorderStyle = 0, ; + ForeColor = 0,0,0, ; + Margin = 0, ; + Name = "Text1" + *< END OBJECT: BaseClass="textbox" /> + + ADD OBJECT '_grdrow1.Column2.Header1' AS header WITH ; + Caption = "Ruta", ; + Name = "Header1" + *< END OBJECT: BaseClass="header" /> + + ADD OBJECT '_grdrow1.Column2.Text1' AS textbox WITH ; + BackColor = 255,255,255, ; + BorderStyle = 0, ; + ForeColor = 0,0,0, ; + Margin = 0, ; + Name = "Text1" + *< END OBJECT: BaseClass="textbox" /> + + ADD OBJECT '_grdrow1.Column3.Header1' AS header WITH ; + Caption = "Gestiune", ; + Name = "Header1" + *< END OBJECT: BaseClass="header" /> + + ADD OBJECT '_grdrow1.Column3.Text1' AS textbox WITH ; + BackColor = 255,255,255, ; + BorderStyle = 0, ; + ForeColor = 0,0,0, ; + Margin = 0, ; + Name = "Text1" + *< END OBJECT: BaseClass="textbox" /> + + ADD OBJECT '_grdrow1.Column4.Header1' AS header WITH ; + Caption = "Partener", ; + Name = "Header1" + *< END OBJECT: BaseClass="header" /> + + ADD OBJECT '_grdrow1.Column4.Text1' AS textbox WITH ; + BackColor = 255,255,255, ; + BorderStyle = 0, ; + ForeColor = 0,0,0, ; + Margin = 0, ; + Name = "Text1" + *< END OBJECT: BaseClass="textbox" /> + + ADD OBJECT '_grdrow1.Column5.Header1' AS header WITH ; + Caption = "Adresa partener", ; + Name = "Header1" + *< END OBJECT: BaseClass="header" /> + + ADD OBJECT '_grdrow1.Column5.Text1' AS textbox WITH ; + BackColor = 255,255,255, ; + BorderStyle = 0, ; + ForeColor = 0,0,0, ; + Margin = 0, ; + Name = "Text1" + *< END OBJECT: BaseClass="textbox" /> + + ADD OBJECT '_grdrow1.Column6.Header1' AS header WITH ; + Caption = "Localitate partener", ; + Name = "Header1" + *< END OBJECT: BaseClass="header" /> + + ADD OBJECT '_grdrow1.Column6.Text1' AS textbox WITH ; + BackColor = 255,255,255, ; + BorderStyle = 0, ; + ForeColor = 0,0,0, ; + Margin = 0, ; + Name = "Text1" + *< END OBJECT: BaseClass="textbox" /> + + ADD OBJECT '_grdrow1.Column7.Header1' AS header WITH ; + Caption = "Judet partener", ; + Name = "Header1" + *< END OBJECT: BaseClass="header" /> + + ADD OBJECT '_grdrow1.Column7.Text1' AS textbox WITH ; + BackColor = 255,255,255, ; + BorderStyle = 0, ; + ForeColor = 0,0,0, ; + Margin = 0, ; + Name = "Text1" + *< END OBJECT: BaseClass="textbox" /> + + ADD OBJECT '_grdrow1.Column8.Header1' AS header WITH ; + Caption = "Agent", ; + Name = "Header1" + *< END OBJECT: BaseClass="header" /> + + ADD OBJECT '_grdrow1.Column8.Text1' AS textbox WITH ; + BackColor = 255,255,255, ; + BorderStyle = 0, ; + ForeColor = 0,0,0, ; + Margin = 0, ; + Name = "Text1" + *< END OBJECT: BaseClass="textbox" /> + + ADD OBJECT '_grdrow1.Column9.Header1' AS header WITH ; + Caption = "Delegat", ; + Name = "Header1" + *< END OBJECT: BaseClass="header" /> + + ADD OBJECT '_grdrow1.Column9.Text1' AS textbox WITH ; + BackColor = 255,255,255, ; + BorderStyle = 0, ; + ForeColor = 0,0,0, ; + Margin = 0, ; + Name = "Text1" + *< END OBJECT: BaseClass="textbox" /> + + ADD OBJECT 'But_listare1' AS but_listare WITH ; + Left = 678, ; + Name = "But_listare1", ; + Top = 0 + *< END OBJECT: ClassLib="..\comun\clase\cmd_butoane.vcx" BaseClass="commandbutton" /> + + ADD OBJECT 'But_modifica1' AS but_modifica WITH ; + Left = 618, ; + Name = "But_modifica1", ; + Top = 0 + *< END OBJECT: ClassLib="..\comun\clase\cmd_butoane.vcx" BaseClass="commandbutton" /> + + ADD OBJECT 'But_nou1' AS but_nou WITH ; + Left = 588, ; + Name = "But_nou1", ; + Top = 0 + *< END OBJECT: ClassLib="..\comun\clase\cmd_butoane.vcx" BaseClass="commandbutton" /> + + ADD OBJECT 'But_sterge1' AS but_sterge WITH ; + Left = 648, ; + Name = "But_sterge1", ; + Top = 0 + *< END OBJECT: ClassLib="..\comun\clase\cmd_butoane.vcx" BaseClass="commandbutton" /> + + PROCEDURE actualizeaza_grid1 + LPARAMETERS pcFiltru + LOCAL lcFiltru + lcFiltru=pcFiltru + IF EMPTY(lcFiltru) + lcFiltru=poRUTE.ca_baza1.cfiltru + ENDIF + save_grid_tag(thisform._grdrow1) + poRUTE.ca_baza1.cfiltru=lcFiltru + poRUTE.ca_baza1.afisare() + restore_grid_tag(thisform._grdrow1) + *!* IF RECCOUNT('v_delegati')>0 + thisform._grdrow1.SetFocus() + *!* ELSE + *!* thisform.lb_delegati.SetFocus() + *!* ENDIF + + ENDPROC + + PROCEDURE do_adauga + Private pniesire + pniesire=0 + Select crsRUTE + *!* pcNume = loRec.nume + *!* pcPrenume = loRec.prenume + Scatter Name loRec Blank + Do Adauga_Modifica_Inregistrare With "rute",loRec,,"INSERT",,"addruta" + + + If pniesire=1 + This.actualizeaza_grid1() + Endif + + ENDPROC + + PROCEDURE do_listare + thisform.AlwaysOnTop= .F. + PRIVATE pcDataora + pcDataora = get_ora(2) + SELECT crsRUTE + + REPORT FORM rap_rute TO PRINTER PROMPT PREVIEW + thisform.AlwaysOnTop= .t. + RELEASE pcDataora + ENDPROC + + PROCEDURE do_modifica + Private pniesire + pniesire=0 + Select crsRUTE + Scatter Name loRec + *!* pcNume = loRec.nume + *!* pcPrenume = loRec.prenume + Do Adauga_Modifica_Inregistrare With "rute",loRec,loRec.id_rutagest,"UPDATE",,"modruta" + + If pniesire=1 + This.actualizeaza_grid1() + Endif + + + ENDPROC + + PROCEDURE do_sterge + SELECT crsRUTE + SCATTER NAME lorec + Do STERGE_INREGISTRARE With "rute",loRec.id_rutagest + This.actualizeaza_grid1() + ENDPROC + +ENDDEFINE + +DEFINE CLASS frm_rute_nou AS frm_termin_renunt OF "..\comun\clase\_frm_child.vcx" + *< CLASSDATA: Baseclass="form" Timestamp="" Scale="Pixels" Uniqueid="" /> + + *-- OBJECTDATA items order determines ZOrder / El orden de los items OBJECTDATA determina el ZOrder + *< OBJECTDATA: ObjPath="Ct_gestiune" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="Cus_odata_rute1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="Ct_clb_cautare1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="Clb_tx_simplu1" UniqueID="" Timestamp="" /> + + * + *m: do_alege_gestiune + *m: do_alege_ruta + *m: do_cauta_agent + *m: do_cauta_delegat + *m: do_cauta_masina + *p: nid + *p: orec + * + + * + DoCreate = .T. + Height = 134 + Name = "frm_rute_nou" + nid = .F. + orec = .F. + Width = 375 + _shape1.Name = "_shape1" + _shape2.Height = 29 + _shape2.Left = 314 + _shape2.Name = "_shape2" + _shape2.Top = 0 + _shape2.Width = 62 + Lb_titlu_alb_b121.Caption = "Rute" + Lb_titlu_alb_b121.Name = "Lb_titlu_alb_b121" + Lb_titlu_alb_b121.TabIndex = 6 + BUT_TERMIN1.Left = 344 + BUT_TERMIN1.Name = "BUT_TERMIN1" + BUT_TERMIN1.TabIndex = 4 + BUT_TERMIN1.Top = 1 + Gridsort1.Name = "Gridsort1" + But_renunt1.Left = 315 + But_renunt1.Name = "But_renunt1" + But_renunt1.TabIndex = 5 + But_renunt1.Top = 1 + * + + ADD OBJECT 'Clb_tx_simplu1' AS clb_tx_simplu WITH ; + Left = 13, ; + Name = "Clb_tx_simplu1", ; + TabIndex = 1, ; + Top = 38, ; + Text_simplu1.ControlSource = "porec.ordine", ; + Text_simplu1.Name = "Text_simplu1", ; + Lb_simplu1.Caption = "Ordine", ; + Lb_simplu1.Name = "Lb_simplu1" + *< END OBJECT: ClassLib="..\comun\clase\lb_tx.vcx" BaseClass="container" /> + + ADD OBJECT 'Ct_clb_cautare1' AS ct_clb_cautare WITH ; + cconditie = EMPTY(NVL(poRec.ruta,[])) AND EMPTY(NVL(poRec.id_ruta,0)), ; + cprocedura = thisform.do_alege_ruta, ; + cvar_afisata = porec.ruta, ; + Left = 12, ; + Name = "Ct_clb_cautare1", ; + TabIndex = 3, ; + Top = 93, ; + img_cautare.Name = "img_cautare", ; + clb_tx_cautare.Lb_simplu1.Caption = "Ruta", ; + clb_tx_cautare.Lb_simplu1.Name = "Lb_simplu1", ; + clb_tx_cautare.Name = "clb_tx_cautare", ; + clb_tx_cautare.Text_simplu1.Name = "Text_simplu1" + *< END OBJECT: ClassLib="..\comun\clase\caut_ora.vcx" BaseClass="container" /> + + ADD OBJECT 'Ct_gestiune' AS ct_clb_cautare WITH ; + cconditie = EMPTY(NVL(poRec.nume_gestiune,[])) AND EMPTY(NVL(poRec.id_gestiune,0)), ; + cprocedura = thisform.do_alege_gestiune, ; + cvar_afisata = porec.nume_gestiune, ; + Left = 12, ; + Name = "Ct_gestiune", ; + TabIndex = 2, ; + Top = 65, ; + img_cautare.Name = "img_cautare", ; + clb_tx_cautare.Lb_simplu1.Caption = "Gestiunea", ; + clb_tx_cautare.Lb_simplu1.Name = "Lb_simplu1", ; + clb_tx_cautare.Name = "clb_tx_cautare", ; + clb_tx_cautare.Text_simplu1.Name = "Text_simplu1" + *< END OBJECT: ClassLib="..\comun\clase\caut_ora.vcx" BaseClass="container" /> + + ADD OBJECT 'Cus_odata_rute1' AS cus_odata_rute WITH ; + Left = 86, ; + Name = "Cus_odata_rute1", ; + Top = 35 + *< END OBJECT: ClassLib="ofacturare.vcx" BaseClass="custom" /> + + PROCEDURE do_alege_gestiune + Local loCauta + + loCauta = caut_gestiune(0,gnidutil,.f.) + + If !Empty(loCauta.id_gestiune) And !Empty(loCauta.nume_gestiune) + poRec.id_gestiune = loCauta.id_gestiune + poRec.nume_gestiune = Alltrim(loCauta.nume_gestiune) + + Endif + + Thisform.ct_gestiune.Refresh() + + ENDPROC + + PROCEDURE do_alege_ruta + + Local locauta + lcFiltru = [2=2] + lcSchema = [id_ruta n(20),ruta c(64)] + lcOrder = [ruta] + lccoloane = [ruta] + lcTitlu = [ALEGETI RUTA] + lcTitluColoane = [Ruta] + *!* llMaiMulteMasini = tlMaiMulteMasini + lcSelect = [select id_ruta,ruta from fact_nom_rute] + lcFiltruOriginal = [sters = 0] + lcNumeProc = [nom_nomrute] + llToateIreg = .f. + lcPrimaColoana = [ruta] + lnPornire = 1 + *!* lnTipReturn = Iif(tlMaiMulteMasini, 1, 0) + lcIdColumn = "id_ruta" + *!* Debug + *!* Suspend + loCauta = cauta_alfa(lcSelect, lcFiltru, lcSchema, lcOrder, lccoloane, lcTitlu, lcTitluColoane, lcNumeProc, llToateIreg, lcFiltruOriginal)&&, lcPrimaColoana, lnPornire, , lcIdColumn) + *!* loCauta = cauta_alfa(lcSelect, lcFiltru, lcSchema, lcOrder, lccoloane, lcTitlu, lcTitluColoane, lcNumeProc, tlToateIreg, lcFiltruOriginal) && 11.07.2007 + + If !Empty(locauta.id_ruta) + poRec.ruta = Alltrim(locauta.ruta) + poRec.id_ruta = locauta.id_ruta + + Thisform.ct_clb_cautare1.Refresh() + *!* Thisform.ed_tx_simplu1.SetFocus() + Else + poRec.ruta = [] + poRec.id_ruta = Null + Endif + + ENDPROC + + PROCEDURE do_cauta_agent + ENDPROC + + PROCEDURE do_cauta_delegat + ENDPROC + + PROCEDURE do_cauta_masina + ENDPROC + + PROCEDURE inainte_de_do_termin + LOCAL PLRETURN + + lccontrol = UPPER(this.ActiveControl.BaseClass ) + IF INLIST(lccontrol,"TEXTBOX","EDITBOX","COMBOBOX") + lcval=This.Activecontrol.controlsource + &lcval=thisform.ActiveControl.value + ENDIF + + + Do Case + Case Empty(porec.ruta) + aMessagebox('Nu ati completat ruta!',0+48,"Atentie") + this.clb_tx_simplu2.text_simplu1.SetFocus() + + plreturn=.F. + + OTHERWISE + PLRETURN=This.cus_odata_rute1.salvare(This.OREC,This.NID) + + ENDCASE + + Return PLRETURN + + + + + ENDPROC + + PROCEDURE Init + Lparameters toRec, tnId, tcActiune + + DoDefault() + + This.orec= toRec + This.nid = tnId + this.cus_odata_rute1.cactiune = tcActiune + + ENDPROC + +ENDDEFINE + +DEFINE CLASS frm_seteaza_k AS _frmbase OF "_frm_base.vcx" + *< CLASSDATA: Baseclass="form" Timestamp="" Scale="Pixels" Uniqueid="" /> + + *-- OBJECTDATA items order determines ZOrder / El orden de los items OBJECTDATA determina el ZOrder + *< OBJECTDATA: ObjPath="Clb_coeficient" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="But_renunt1" UniqueID="" Timestamp="" /> + + * + DoCreate = .T. + Height = 104 + Name = "frm_seteaza_k" + Width = 311 + _shape1.Height = 29 + _shape1.Left = 0 + _shape1.Name = "_shape1" + _shape1.Top = 0 + _shape1.Width = 312 + _shape2.Height = 29 + _shape2.Left = 240 + _shape2.Name = "_shape2" + _shape2.Top = 0 + _shape2.Visible = .T. + _shape2.Width = 72 + Lb_titlu_alb_b121.Caption = "Coeficient K" + Lb_titlu_alb_b121.Name = "Lb_titlu_alb_b121" + Lb_titlu_alb_b121.TabIndex = 3 + BUT_TERMIN1.Left = 279 + BUT_TERMIN1.Name = "BUT_TERMIN1" + BUT_TERMIN1.TabIndex = 2 + BUT_TERMIN1.Top = 1 + Gridsort1.Name = "Gridsort1" + * + + ADD OBJECT 'But_renunt1' AS but_renunt WITH ; + Left = 246, ; + Name = "But_renunt1", ; + Top = 1 + *< END OBJECT: ClassLib="cmd_butoane.vcx" BaseClass="commandbutton" /> + + ADD OBJECT 'Clb_coeficient' AS clb_tx_simplu WITH ; + Left = 12, ; + Name = "Clb_coeficient", ; + TabIndex = 1, ; + Top = 48, ; + Text_simplu1.ControlSource = "poDate.coeficient_k", ; + Text_simplu1.InputMask = (get_mask(5,2)), ; + Text_simplu1.Name = "Text_simplu1", ; + Lb_simplu1.Caption = "Coeficient K", ; + Lb_simplu1.Name = "Lb_simplu1" + *< END OBJECT: ClassLib="lb_tx.vcx" BaseClass="container" /> + + PROCEDURE inainte_de_do_termin + Local llReturn + llReturn = .T. + If poDate.coeficient_k <= 0 + amessagebox("Coeficientul K trebuie sa fie mai mare decat 0!",48,"Atentie") + Thisform.clb_coeficient.text_simplu1.SetFocus() + llReturn = .F. + Endif + Return llReturn + ENDPROC + + PROCEDURE Init + DoDefault() + If gnCoefKFact = 1 + Thisform.clb_coeficient.teXT_SIMPLU1.ReadOnly = .T. + Endif + ENDPROC + +ENDDEFINE diff --git a/clase/ofacturare_comun.vc2 b/clase/ofacturare_comun.vc2 new file mode 100644 index 0000000..ad5ec4f --- /dev/null +++ b/clase/ofacturare_comun.vc2 @@ -0,0 +1,7265 @@ +*-------------------------------------------------------------------------------------------------------------------------------------------------------- +* (EN) AUTOGENERATED - ATTENTION!! - NOT INTENDED FOR EXECUTION!! USE ONLY FOR MERGING CHANGES AND STORING WITH SCM TOOLS!! +*-------------------------------------------------------------------------------------------------------------------------------------------------------- +*< FOXBIN2PRG: Version="1.21" SourceFile="ofacturare_comun.vcx" CPID="1252" /> (Solo para binarios VFP 9 / Only for VFP 9 binaries) +* +* +DEFINE CLASS frm_borderou_facturi AS _frmbase OF "_frm_base.vcx" + *< CLASSDATA: Baseclass="form" Timestamp="" Scale="Pixels" Uniqueid="" /> + + *-- OBJECTDATA items order determines ZOrder / El orden de los items OBJECTDATA determina el ZOrder + *< OBJECTDATA: ObjPath="But_start_criterii1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="But_reset_criterii1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="grdFacturi" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="grdFacturi.cValval.Header1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="grdFacturi.cValval.Text1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="grdFacturi.cInValuta.Header1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="grdFacturi.cInValuta.Text1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="grdFacturi.cInValuta._checkbox1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="grdFacturi.cValcTVA.Header1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="grdFacturi.cValcTVA.Text1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="grdFacturi.cnrfact.Header1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="grdFacturi.cnrfact.Text1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="grdFacturi.cdatafact.Header1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="grdFacturi.cdatafact.Text1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="grdFacturi.cValftva.Header1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="grdFacturi.cValftva.Text1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="grdFacturi.cSerieFact.Header1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="grdFacturi.cSerieFact.Text1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="grdFacturi.cValuta.Header1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="grdFacturi.cValuta.Text1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="grdFacturi.cTipFactura.Header1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="grdFacturi.cTipFactura.Text1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="grdFacturi.cClient.Header1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="grdFacturi.cClient.Text1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="grdFacturi.cIdBorderou.Header1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="grdFacturi.cIdBorderou.Text1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="grdBorderou" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="grdBorderou.cAles.Header1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="grdBorderou.cAles.Text1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="grdBorderou.cAles._checkbox1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="grdBorderou.cId.Header1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="grdBorderou.cId.Text1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="grdBorderou.cData.Header1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="grdBorderou.cData.Text1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="grdBorderou.cClient.Header1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="grdBorderou.cClient.Text1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="grdBorderou.cTrimis.Header1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="grdBorderou.cTrimis.Text1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="grdBorderou.cTrimis._checkbox1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="grdBorderou.cDataTrimis.Header1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="grdBorderou.cDataTrimis.Text1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="grdBorderou.cConfirmat.Header1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="grdBorderou.cConfirmat.Text1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="grdBorderou.cConfirmat._checkbox1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="grdBorderou.cDataConfirmat.Header1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="grdBorderou.cDataConfirmat.Text1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="grdBorderou.cEmailClient.Header1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="grdBorderou.cEmailClient.Text1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="But_sterge1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="But_listare1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="Cmd_select_adv1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="Sfsplitterh1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="Cmd_executa1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="Gridextra1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="Gridextra2" UniqueID="" Timestamp="" /> + + * + *m: bifeaza + *p: nidborderou + *p: ntip && 0=tranzit, 1=cheiaj + * + + * + BorderStyle = 1 + DoCreate = .T. + FontBold = .F. + Height = 471 + Name = "frm_borderou_facturi" + nidborderou = 0 + ntip = 0 + Width = 792 + WindowState = 2 + _memberdata = + + + + _shape1.Anchor = 10 + _shape1.Height = 29 + _shape1.Left = -1 + _shape1.Name = "_shape1" + _shape1.Top = 0 + _shape1.Width = 822 + _shape1.ZOrderSet = 0 + _shape2.Left = 741 + _shape2.Name = "_shape2" + _shape2.Top = -1 + _shape2.ZOrderSet = 1 + Lb_titlu_alb_b121.Caption = "Borderouri facturi" + Lb_titlu_alb_b121.Name = "Lb_titlu_alb_b121" + Lb_titlu_alb_b121.TabIndex = 10 + Lb_titlu_alb_b121.ZOrderSet = 2 + BUT_TERMIN1.Anchor = 9 + BUT_TERMIN1.Left = 761 + BUT_TERMIN1.Name = "BUT_TERMIN1" + BUT_TERMIN1.TabIndex = 9 + BUT_TERMIN1.Top = 1 + BUT_TERMIN1.ZOrderSet = 3 + Gridsort1.Left = 780 + Gridsort1.Name = "Gridsort1" + Gridsort1.Top = 449 + * + + ADD OBJECT 'But_listare1' AS but_listare WITH ; + Anchor = 9, ; + Left = 732, ; + Name = "But_listare1", ; + TabIndex = 8, ; + Top = 1, ; + ZOrderSet = 10 + *< END OBJECT: ClassLib="cmd_butoane.vcx" BaseClass="commandbutton" /> + + ADD OBJECT 'But_reset_criterii1' AS but_reset_criterii WITH ; + Anchor = 9, ; + Left = 644, ; + Name = "But_reset_criterii1", ; + TabIndex = 5, ; + Top = 1, ; + Visible = .T., ; + ZOrderSet = 6 + *< END OBJECT: ClassLib="..\..\..\roafacturare\comun\clase\ocriterii.vcx" BaseClass="commandbutton" /> + + ADD OBJECT 'But_start_criterii1' AS but_start_criterii WITH ; + Anchor = 9, ; + Comment = "*:OnResize=RT", ; + Left = 673, ; + Name = "But_start_criterii1", ; + TabIndex = 6, ; + Top = 1, ; + ZOrderSet = 5 + *< END OBJECT: ClassLib="..\..\..\roafacturare\comun\clase\ocriterii.vcx" BaseClass="commandbutton" /> + + ADD OBJECT 'But_sterge1' AS but_sterge WITH ; + Anchor = 9, ; + Left = 703, ; + Name = "But_sterge1", ; + TabIndex = 7, ; + Top = 1, ; + ZOrderSet = 9 + *< END OBJECT: ClassLib="cmd_butoane.vcx" BaseClass="commandbutton" /> + + ADD OBJECT 'Cmd_executa1' AS cmd_executa WITH ; + Anchor = 6, ; + Caption = "Marcheazã \ + + ADD OBJECT 'Cmd_select_adv1' AS cmd_select_adv WITH ; + Anchor = 6, ; + ccoloana = ales, ; + cgrid = thisform.grdBorderou, ; + FontBold = .T., ; + Height = 27, ; + Left = 5, ; + Name = "Cmd_select_adv1", ; + TabIndex = 2, ; + Top = 428, ; + Width = 128, ; + ZOrderSet = 11 + *< END OBJECT: ClassLib="cmd_butoane.vcx" BaseClass="commandbutton" /> + + ADD OBJECT 'grdBorderou' AS _grdbase WITH ; + Anchor = 5, ; + BackColor = 255,255,255, ; + ColumnCount = 9, ; + DeleteMark = .F., ; + GridLineColor = 192,192,192, ; + Height = 384, ; + lcamptextneeditabil = .F., ; + Left = 5, ; + Name = "grdBorderou", ; + Panel = 1, ; + ReadOnly = .T., ; + RecordMark = .T., ; + RecordSource = "crsBorderou", ; + RowHeight = 19, ; + TabIndex = 1, ; + Top = 38, ; + Width = 700, ; + ZOrderSet = 8, ; + Column1.BackColor = 255,255,255, ; + Column1.ColumnOrder = 1, ; + Column1.ControlSource = "ales", ; + Column1.CurrentControl = "_checkbox1", ; + Column1.FontName = "Arial", ; + Column1.FontSize = 10, ; + Column1.Name = "cAles", ; + Column1.ReadOnly = .F., ; + Column1.Sparse = .F., ; + Column1.Width = 26, ; + Column2.BackColor = 255,255,255, ; + Column2.ColumnOrder = 2, ; + Column2.ControlSource = "id_borderou", ; + Column2.FontName = "Arial", ; + Column2.FontSize = 10, ; + Column2.Name = "cId", ; + Column2.ReadOnly = .T., ; + Column2.Width = 40, ; + Column3.Alignment = 6, ; + Column3.BackColor = 255,255,255, ; + Column3.ColumnOrder = 3, ; + Column3.ControlSource = "data_borderou", ; + Column3.FontName = "Arial", ; + Column3.FontSize = 10, ; + Column3.Name = "cData", ; + Column3.ReadOnly = .T., ; + Column3.Width = 117, ; + Column4.BackColor = 255,255,255, ; + Column4.ColumnOrder = 4, ; + Column4.ControlSource = "client", ; + Column4.FontName = "Arial", ; + Column4.FontSize = 10, ; + Column4.Name = "cClient", ; + Column4.ReadOnly = .T., ; + Column4.Width = 263, ; + Column5.BackColor = 255,255,255, ; + Column5.ControlSource = "trimis", ; + Column5.CurrentControl = "_checkbox1", ; + Column5.FontSize = 10, ; + Column5.Name = "cTrimis", ; + Column5.ReadOnly = .F., ; + Column5.Sparse = .F., ; + Column5.Width = 43, ; + Column6.BackColor = 255,255,255, ; + Column6.ControlSource = "data_trimis", ; + Column6.FontSize = 10, ; + Column6.Name = "cDataTrimis", ; + Column6.ReadOnly = .T., ; + Column7.BackColor = 255,255,255, ; + Column7.ControlSource = "confirmat", ; + Column7.CurrentControl = "_checkbox1", ; + Column7.FontSize = 10, ; + Column7.Name = "cConfirmat", ; + Column7.ReadOnly = .F., ; + Column7.Sparse = .F., ; + Column7.Width = 58, ; + Column8.BackColor = 255,255,255, ; + Column8.ControlSource = "data_confirmat", ; + Column8.FontSize = 10, ; + Column8.Name = "cDataConfirmat", ; + Column8.ReadOnly = .T., ; + Column8.Width = 84, ; + Column9.BackColor = 255,255,255, ; + Column9.ControlSource = "email_client", ; + Column9.Name = "cEmailClient", ; + Column9.ReadOnly = .T., ; + Column9.Width = 267 + *< END OBJECT: ClassLib="_grd_base.vcx" BaseClass="grid" /> + + ADD OBJECT 'grdBorderou.cAles._checkbox1' AS _checkbox WITH ; + Alignment = 2, ; + Caption = "", ; + FontSize = 10, ; + Left = 17, ; + Name = "_checkbox1", ; + ReadOnly = .F., ; + Top = 62 + *< END OBJECT: ClassLib="_baza.vcx" BaseClass="checkbox" /> + + ADD OBJECT 'grdBorderou.cAles.Header1' AS header WITH ; + Alignment = 2, ; + Caption = "Ales", ; + FontName = "Arial", ; + FontSize = 10, ; + Name = "Header1" + *< END OBJECT: BaseClass="header" /> + + ADD OBJECT 'grdBorderou.cAles.Text1' AS textbox WITH ; + BackColor = 255,255,255, ; + BorderStyle = 0, ; + FontName = "Arial", ; + ForeColor = 0,0,0, ; + Margin = 0, ; + Name = "Text1", ; + ReadOnly = .T., ; + SelectedBackColor = 100,185,255 + *< END OBJECT: BaseClass="textbox" /> + + ADD OBJECT 'grdBorderou.cClient.Header1' AS header WITH ; + Alignment = 2, ; + Caption = "Client", ; + FontName = "Arial", ; + FontSize = 10, ; + Name = "Header1" + *< END OBJECT: BaseClass="header" /> + + ADD OBJECT 'grdBorderou.cClient.Text1' AS textbox WITH ; + BackColor = 255,255,255, ; + BorderStyle = 0, ; + FontName = "Arial", ; + FontSize = 10, ; + ForeColor = 0,0,0, ; + Margin = 0, ; + Name = "Text1", ; + ReadOnly = .T., ; + SelectedBackColor = 100,185,255 + *< END OBJECT: BaseClass="textbox" /> + + ADD OBJECT 'grdBorderou.cConfirmat._checkbox1' AS _checkbox WITH ; + Alignment = 2, ; + Caption = "", ; + ControlSource = "confirmat", ; + FontSize = 10, ; + Left = 30, ; + Name = "_checkbox1", ; + ReadOnly = .F., ; + Top = 59 + *< END OBJECT: ClassLib="_baza.vcx" BaseClass="checkbox" /> + + ADD OBJECT 'grdBorderou.cConfirmat.Header1' AS header WITH ; + Alignment = 2, ; + Caption = "Confirmat", ; + FontSize = 10, ; + Name = "Header1" + *< END OBJECT: BaseClass="header" /> + + ADD OBJECT 'grdBorderou.cConfirmat.Text1' AS textbox WITH ; + BackColor = 255,255,255, ; + BorderStyle = 0, ; + ForeColor = 0,0,0, ; + Margin = 0, ; + Name = "Text1", ; + SelectedBackColor = 100,185,255 + *< END OBJECT: BaseClass="textbox" /> + + ADD OBJECT 'grdBorderou.cData.Header1' AS header WITH ; + Alignment = 2, ; + Caption = "Data", ; + FontName = "Arial", ; + FontSize = 10, ; + Name = "Header1" + *< END OBJECT: BaseClass="header" /> + + ADD OBJECT 'grdBorderou.cData.Text1' AS textbox WITH ; + BackColor = 255,255,255, ; + BorderStyle = 0, ; + FontName = "Arial", ; + FontSize = 10, ; + ForeColor = 0,0,0, ; + Margin = 0, ; + Name = "Text1", ; + ReadOnly = .T., ; + SelectedBackColor = 100,185,255 + *< END OBJECT: BaseClass="textbox" /> + + ADD OBJECT 'grdBorderou.cDataConfirmat.Header1' AS header WITH ; + Alignment = 2, ; + Caption = "Data confirmat", ; + FontSize = 10, ; + Name = "Header1" + *< END OBJECT: BaseClass="header" /> + + ADD OBJECT 'grdBorderou.cDataConfirmat.Text1' AS textbox WITH ; + BackColor = 255,255,255, ; + BorderStyle = 0, ; + FontSize = 10, ; + ForeColor = 0,0,0, ; + Margin = 0, ; + Name = "Text1", ; + ReadOnly = .T., ; + SelectedBackColor = 100,185,255 + *< END OBJECT: BaseClass="textbox" /> + + ADD OBJECT 'grdBorderou.cDataTrimis.Header1' AS header WITH ; + Alignment = 2, ; + Caption = "Data trimis", ; + FontSize = 10, ; + Name = "Header1" + *< END OBJECT: BaseClass="header" /> + + ADD OBJECT 'grdBorderou.cDataTrimis.Text1' AS textbox WITH ; + BackColor = 255,255,255, ; + BorderStyle = 0, ; + FontSize = 10, ; + ForeColor = 0,0,0, ; + Margin = 0, ; + Name = "Text1", ; + ReadOnly = .T., ; + SelectedBackColor = 100,185,255 + *< END OBJECT: BaseClass="textbox" /> + + ADD OBJECT 'grdBorderou.cEmailClient.Header1' AS header WITH ; + Alignment = 2, ; + Caption = "Email", ; + Name = "Header1" + *< END OBJECT: BaseClass="header" /> + + ADD OBJECT 'grdBorderou.cEmailClient.Text1' AS textbox WITH ; + BackColor = 255,255,255, ; + BorderStyle = 0, ; + ForeColor = 0,0,0, ; + Margin = 0, ; + Name = "Text1", ; + ReadOnly = .T., ; + SelectedBackColor = 100,185,255 + *< END OBJECT: BaseClass="textbox" /> + + ADD OBJECT 'grdBorderou.cId.Header1' AS header WITH ; + Alignment = 2, ; + Caption = "Id", ; + FontName = "Arial", ; + FontSize = 10, ; + Name = "Header1" + *< END OBJECT: BaseClass="header" /> + + ADD OBJECT 'grdBorderou.cId.Text1' AS textbox WITH ; + BackColor = 255,255,255, ; + BorderStyle = 0, ; + FontName = "Arial", ; + FontSize = 10, ; + ForeColor = 0,0,0, ; + Margin = 0, ; + Name = "Text1", ; + ReadOnly = .T., ; + SelectedBackColor = 100,185,255 + *< END OBJECT: BaseClass="textbox" /> + + ADD OBJECT 'grdBorderou.cTrimis._checkbox1' AS _checkbox WITH ; + Alignment = 2, ; + Caption = "", ; + ControlSource = "trimis", ; + FontSize = 10, ; + Left = 50, ; + Name = "_checkbox1", ; + ReadOnly = .F., ; + Top = 59 + *< END OBJECT: ClassLib="_baza.vcx" BaseClass="checkbox" /> + + ADD OBJECT 'grdBorderou.cTrimis.Header1' AS header WITH ; + Alignment = 2, ; + Caption = "Trimis", ; + FontSize = 10, ; + Name = "Header1" + *< END OBJECT: BaseClass="header" /> + + ADD OBJECT 'grdBorderou.cTrimis.Text1' AS textbox WITH ; + BackColor = 255,255,255, ; + BorderStyle = 0, ; + ForeColor = 0,0,0, ; + Margin = 0, ; + Name = "Text1", ; + SelectedBackColor = 100,185,255 + *< END OBJECT: BaseClass="textbox" /> + + ADD OBJECT 'grdFacturi' AS _grdbase WITH ; + Anchor = 15, ; + BackColor = 255,255,255, ; + ColumnCount = 11, ; + DeleteMark = .F., ; + GridLineColor = 192,192,192, ; + Height = 384, ; + lcamptextneeditabil = .F., ; + Left = 711, ; + Name = "grdFacturi", ; + Panel = 1, ; + ReadOnly = .T., ; + RecordMark = .T., ; + RecordSource = "crsFacturiBorderou", ; + RowHeight = 19, ; + TabIndex = 11, ; + Top = 38, ; + Width = 76, ; + ZOrderSet = 7, ; + Column1.BackColor = 255,255,255, ; + Column1.ColumnOrder = 7, ; + Column1.ControlSource = "valval", ; + Column1.FontName = "Arial", ; + Column1.FontSize = 10, ; + Column1.Name = "cValval", ; + Column1.ReadOnly = .T., ; + Column1.Width = 81, ; + Column2.BackColor = 255,255,255, ; + Column2.ColumnOrder = 9, ; + Column2.ControlSource = "in_valuta", ; + Column2.CurrentControl = "_checkbox1", ; + Column2.FontName = "Arial", ; + Column2.FontSize = 10, ; + Column2.Name = "cInValuta", ; + Column2.ReadOnly = .T., ; + Column2.Sparse = .F., ; + Column2.Width = 49, ; + Column3.BackColor = 255,255,255, ; + Column3.ColumnOrder = 6, ; + Column3.ControlSource = "total_cu_tva", ; + Column3.FontName = "Arial", ; + Column3.FontSize = 10, ; + Column3.Name = "cValcTVA", ; + Column3.ReadOnly = .T., ; + Column3.Width = 86, ; + Column4.BackColor = 255,255,255, ; + Column4.ColumnOrder = 3, ; + Column4.ControlSource = "numar_act", ; + Column4.FontName = "Arial", ; + Column4.FontSize = 10, ; + Column4.Name = "cnrfact", ; + Column4.ReadOnly = .T., ; + Column4.Width = 87, ; + Column5.Alignment = 6, ; + Column5.BackColor = 255,255,255, ; + Column5.ColumnOrder = 4, ; + Column5.ControlSource = "data_act", ; + Column5.FontName = "Arial", ; + Column5.FontSize = 10, ; + Column5.Name = "cdatafact", ; + Column5.ReadOnly = .T., ; + Column5.Width = 85, ; + Column6.BackColor = 255,255,255, ; + Column6.ColumnOrder = 5, ; + Column6.ControlSource = "total_fara_tva", ; + Column6.FontName = "Arial", ; + Column6.FontSize = 10, ; + Column6.Format = "Rk", ; + Column6.InputMask = (get_mask(12,gnZ)), ; + Column6.Name = "cValftva", ; + Column6.ReadOnly = .T., ; + Column6.Width = 101, ; + Column7.BackColor = 255,255,255, ; + Column7.ColumnOrder = 2, ; + Column7.ControlSource = "serie_act", ; + Column7.FontSize = 10, ; + Column7.Name = "cSerieFact", ; + Column7.ReadOnly = .T., ; + Column7.Width = 72, ; + Column8.BackColor = 255,255,255, ; + Column8.ColumnOrder = 8, ; + Column8.ControlSource = "valuta", ; + Column8.FontSize = 10, ; + Column8.Name = "cValuta", ; + Column8.ReadOnly = .T., ; + Column8.Width = 47, ; + Column9.BackColor = 255,255,255, ; + Column9.ColumnOrder = 10, ; + Column9.ControlSource = "ctip_factura", ; + Column9.DynamicBackColor = "RGB(225,255,255)", ; + Column9.FontSize = 10, ; + Column9.Format = "!K", ; + Column9.Name = "cTipFactura", ; + Column9.ReadOnly = .F., ; + Column9.Width = 118, ; + Column10.BackColor = 255,255,255, ; + Column10.ColumnOrder = 1, ; + Column10.ControlSource = "client", ; + Column10.FontSize = 10, ; + Column10.Name = "cClient", ; + Column10.ReadOnly = .T., ; + Column10.Width = 121, ; + Column11.BackColor = 255,255,255, ; + Column11.ControlSource = "id_borderou", ; + Column11.Name = "cIdBorderou", ; + Column11.ReadOnly = .T. + *< END OBJECT: ClassLib="_grd_base.vcx" BaseClass="grid" /> + + ADD OBJECT 'grdFacturi.cClient.Header1' AS header WITH ; + Alignment = 2, ; + Caption = "Client", ; + FontSize = 10, ; + Name = "Header1" + *< END OBJECT: BaseClass="header" /> + + ADD OBJECT 'grdFacturi.cClient.Text1' AS textbox WITH ; + BackColor = 255,255,255, ; + BorderStyle = 0, ; + FontSize = 10, ; + ForeColor = 0,0,0, ; + Margin = 0, ; + Name = "Text1", ; + ReadOnly = .T., ; + SelectedBackColor = 100,185,255 + *< END OBJECT: BaseClass="textbox" /> + + ADD OBJECT 'grdFacturi.cdatafact.Header1' AS header WITH ; + Caption = "Data factura", ; + FontName = "Arial", ; + FontSize = 10, ; + Name = "Header1" + *< END OBJECT: BaseClass="header" /> + + ADD OBJECT 'grdFacturi.cdatafact.Text1' AS textbox WITH ; + BackColor = 255,255,255, ; + BorderStyle = 0, ; + FontName = "Arial", ; + FontSize = 10, ; + ForeColor = 0,0,0, ; + Margin = 0, ; + Name = "Text1", ; + ReadOnly = .T., ; + SelectedBackColor = 100,185,255 + *< END OBJECT: BaseClass="textbox" /> + + ADD OBJECT 'grdFacturi.cIdBorderou.Header1' AS header WITH ; + Alignment = 2, ; + Caption = "Id borderou", ; + Name = "Header1" + *< END OBJECT: BaseClass="header" /> + + ADD OBJECT 'grdFacturi.cIdBorderou.Text1' AS textbox WITH ; + BackColor = 255,255,255, ; + BorderStyle = 0, ; + ForeColor = 0,0,0, ; + Margin = 0, ; + Name = "Text1", ; + ReadOnly = .T., ; + SelectedBackColor = 100,185,255 + *< END OBJECT: BaseClass="textbox" /> + + ADD OBJECT 'grdFacturi.cInValuta._checkbox1' AS _checkbox WITH ; + Alignment = 2, ; + Caption = "", ; + FontSize = 10, ; + Left = 17, ; + Name = "_checkbox1", ; + ReadOnly = .T., ; + Top = 62 + *< END OBJECT: ClassLib="_baza.vcx" BaseClass="checkbox" /> + + ADD OBJECT 'grdFacturi.cInValuta.Header1' AS header WITH ; + Alignment = 2, ; + Caption = "In valuta", ; + FontName = "Arial", ; + FontSize = 10, ; + Name = "Header1" + *< END OBJECT: BaseClass="header" /> + + ADD OBJECT 'grdFacturi.cInValuta.Text1' AS textbox WITH ; + BackColor = 255,255,255, ; + BorderStyle = 0, ; + FontName = "Arial", ; + ForeColor = 0,0,0, ; + Margin = 0, ; + Name = "Text1", ; + ReadOnly = .T., ; + SelectedBackColor = 100,185,255 + *< END OBJECT: BaseClass="textbox" /> + + ADD OBJECT 'grdFacturi.cnrfact.Header1' AS header WITH ; + Caption = "Numar factura", ; + FontName = "Arial", ; + FontSize = 10, ; + Name = "Header1" + *< END OBJECT: BaseClass="header" /> + + ADD OBJECT 'grdFacturi.cnrfact.Text1' AS textbox WITH ; + BackColor = 255,255,255, ; + BorderStyle = 0, ; + FontName = "Arial", ; + FontSize = 10, ; + ForeColor = 0,0,0, ; + Margin = 0, ; + Name = "Text1", ; + ReadOnly = .T., ; + SelectedBackColor = 100,185,255 + *< END OBJECT: BaseClass="textbox" /> + + ADD OBJECT 'grdFacturi.cSerieFact.Header1' AS header WITH ; + Alignment = 2, ; + Caption = "Serie factura", ; + FontSize = 10, ; + Name = "Header1" + *< END OBJECT: BaseClass="header" /> + + ADD OBJECT 'grdFacturi.cSerieFact.Text1' AS textbox WITH ; + BackColor = 255,255,255, ; + BorderStyle = 0, ; + FontSize = 10, ; + ForeColor = 0,0,0, ; + Margin = 0, ; + Name = "Text1", ; + ReadOnly = .T., ; + SelectedBackColor = 100,185,255 + *< END OBJECT: BaseClass="textbox" /> + + ADD OBJECT 'grdFacturi.cTipFactura.Header1' AS header WITH ; + Alignment = 2, ; + Caption = "Tip", ; + FontSize = 10, ; + Name = "Header1" + *< END OBJECT: BaseClass="header" /> + + ADD OBJECT 'grdFacturi.cTipFactura.Text1' AS textbox WITH ; + BackColor = 255,255,255, ; + BorderStyle = 0, ; + FontSize = 10, ; + ForeColor = 0,0,0, ; + Margin = 0, ; + Name = "Text1", ; + ReadOnly = .F., ; + SelectedBackColor = 100,185,255 + *< END OBJECT: BaseClass="textbox" /> + + ADD OBJECT 'grdFacturi.cValcTVA.Header1' AS header WITH ; + Alignment = 2, ; + Caption = "Valoare cu TVA", ; + FontName = "Arial", ; + FontSize = 10, ; + Name = "Header1" + *< END OBJECT: BaseClass="header" /> + + ADD OBJECT 'grdFacturi.cValcTVA.Text1' AS textbox WITH ; + BackColor = 255,255,255, ; + BorderStyle = 0, ; + FontName = "Arial", ; + FontSize = 10, ; + ForeColor = 0,0,0, ; + Margin = 0, ; + Name = "Text1", ; + ReadOnly = .T., ; + SelectedBackColor = 100,185,255 + *< END OBJECT: BaseClass="textbox" /> + + ADD OBJECT 'grdFacturi.cValftva.Header1' AS header WITH ; + Caption = "Valoare (fara TVA)", ; + FontName = "Arial", ; + FontSize = 10, ; + Name = "Header1" + *< END OBJECT: BaseClass="header" /> + + ADD OBJECT 'grdFacturi.cValftva.Text1' AS textbox WITH ; + BackColor = 255,255,255, ; + BorderStyle = 0, ; + FontName = "Arial", ; + FontSize = 10, ; + ForeColor = 0,0,0, ; + Margin = 0, ; + Name = "Text1", ; + ReadOnly = .T., ; + SelectedBackColor = 100,185,255 + *< END OBJECT: BaseClass="textbox" /> + + ADD OBJECT 'grdFacturi.cValuta.Header1' AS header WITH ; + Alignment = 2, ; + BackColor = 240,240,240, ; + Caption = "Valuta", ; + FontSize = 10, ; + Name = "Header1" + *< END OBJECT: BaseClass="header" /> + + ADD OBJECT 'grdFacturi.cValuta.Text1' AS textbox WITH ; + BackColor = 255,255,255, ; + BorderStyle = 0, ; + FontSize = 10, ; + ForeColor = 0,0,0, ; + Margin = 0, ; + Name = "Text1", ; + ReadOnly = .T., ; + SelectedBackColor = 100,185,255 + *< END OBJECT: BaseClass="textbox" /> + + ADD OBJECT 'grdFacturi.cValval.Header1' AS header WITH ; + Alignment = 2, ; + Caption = "Valoare valuta", ; + FontName = "Arial", ; + FontSize = 10, ; + Name = "Header1" + *< END OBJECT: BaseClass="header" /> + + ADD OBJECT 'grdFacturi.cValval.Text1' AS textbox WITH ; + BackColor = 255,255,255, ; + BorderStyle = 0, ; + FontName = "Arial", ; + FontSize = 10, ; + ForeColor = 0,0,0, ; + Margin = 0, ; + Name = "Text1", ; + ReadOnly = .T., ; + SelectedBackColor = 100,185,255 + *< END OBJECT: BaseClass="textbox" /> + + ADD OBJECT 'Gridextra1' AS gridextra WITH ; + gridexpression = Thisform.grdFacturi, ; + Left = 696, ; + Name = "Gridextra1", ; + Top = 72 + *< END OBJECT: ClassLib="..\utile\gridextras\gridextras.vcx" BaseClass="custom" /> + + ADD OBJECT 'Gridextra2' AS gridextra WITH ; + gridexpression = Thisform.grdBorderou, ; + Left = 504, ; + Name = "Gridextra2", ; + Top = 108 + *< END OBJECT: ClassLib="..\utile\gridextras\gridextras.vcx" BaseClass="custom" /> + + ADD OBJECT 'Sfsplitterh1' AS sfsplitterh WITH ; + Anchor = 5, ; + BackColor = 192,192,192, ; + cobject1name = grdBorderou, ; + cobject2name = grdFacturi, ; + Height = 384, ; + Left = 706, ; + Name = "Sfsplitterh1", ; + TabIndex = 12, ; + Top = 38, ; + Width = 5, ; + ZOrderSet = 12, ; + gripper.GripperDot1.Name = "GripperDot1", ; + gripper.GripperDot1.ShapeDark.Name = "ShapeDark", ; + gripper.GripperDot1.ShapeLight.Name = "ShapeLight", ; + gripper.GripperDot1.ShapeMiddle.Name = "ShapeMiddle", ; + gripper.GripperDot2.Name = "GripperDot2", ; + gripper.GripperDot2.ShapeDark.Name = "ShapeDark", ; + gripper.GripperDot2.ShapeLight.Name = "ShapeLight", ; + gripper.GripperDot2.ShapeMiddle.Name = "ShapeMiddle", ; + gripper.GripperDot3.Name = "GripperDot3", ; + gripper.GripperDot3.ShapeDark.Name = "ShapeDark", ; + gripper.GripperDot3.ShapeLight.Name = "ShapeLight", ; + gripper.GripperDot3.ShapeMiddle.Name = "ShapeMiddle", ; + gripper.GripperDot4.Name = "GripperDot4", ; + gripper.GripperDot4.ShapeDark.Name = "ShapeDark", ; + gripper.GripperDot4.ShapeLight.Name = "ShapeLight", ; + gripper.GripperDot4.ShapeMiddle.Name = "ShapeMiddle", ; + gripper.GripperDot5.Name = "GripperDot5", ; + gripper.GripperDot5.ShapeDark.Name = "ShapeDark", ; + gripper.GripperDot5.ShapeLight.Name = "ShapeLight", ; + gripper.GripperDot5.ShapeMiddle.Name = "ShapeMiddle", ; + gripper.Name = "gripper" + *< END OBJECT: ClassLib="sfsplitter.vcx" BaseClass="control" /> + + PROCEDURE Activate + * + ENDPROC + + PROCEDURE actualizeaza_grid1 + Lparameters lcFiltru + If Empty(lcFiltru) + lcFiltru = poBorderou.ca_baza1.cfiltru + Endif + Thisform.MousePointer = 11 + + Thisform.LockScreen = .T. + save_grid_tag(Thisform.grdBorderou) + poBorderou.ca_baza1.cfiltru = lcFiltru + poBorderou.ca_baza1.afisare() + restore_grid_tag(Thisform.grdBorderou) + Thisform.LockScreen = .F. + Thisform.MousePointer = 0 + If Reccount('crsBorderou')>0 + Thisform.grdBorderou.SetFocus() + Endif + ENDPROC + + PROCEDURE actualizeaza_grid2 + Lparameters lcFiltru + If Empty(lcFiltru) + lcFiltru = pofacturi.ca_baza1.cfiltru + Endif + Thisform.MousePointer = 11 + + Thisform.LockScreen = .T. + save_grid_tag(Thisform.grdFacturi) + pofacturi.ca_baza1.cfiltru = lcFiltru + pofacturi.ca_baza1.afisare() + restore_grid_tag(Thisform.grdFacturi) + Thisform.LockScreen = .F. + Thisform.MousePointer = 0 + If Reccount('crsFacturi')>0 + Thisform.grdFacturi.SetFocus() + Endif + ENDPROC + + PROCEDURE bifeaza + Lparameters tcTip, tlAles + * tcTip: TRIMIS/CONFIRMAT + * tlAles: .T. borderourile bifate, .F. borderoul curent + + Local lcTip, llSucces, lnValoare, lnRecno + Local lcFilter, lcSql + Private pnIdBorderou, pnValoare + llSucces = .F. + lcTip = Upper(Alltrim(Transform(m.tcTip))) + If !Inlist(m.lcTip, 'TRIMIS', 'CONFIRMAT') + Return m.llSucces + Endif + pnIdBorderou = crsBorderou.id_borderou + lnRecno = Recno('crsBorderou') + lcFilter = "id_borderou = " + Alltrim(Str(m.pnIdBorderou)) + If m.tlAles + Select crsBorderou + Locate For ales = 1 + If !Found() + Locate For id_borderou = m.pnIdBorderou + Else + lcFilter = "ales = 1" + Endif + Endif + + If Empty(m.pnIdBorderou) + Return m.llSucces + Endif + + If lcTip = 'TRIMIS' + lcSql = 'begin pack_fact_borderou.BifeazaTrimis(?pnIdBorderou, ?pnValoare, ?gnIdUtil); end;' + Else + lcSql = 'begin pack_fact_borderou.BifeazaConfirmat(?pnIdBorderou, ?pnValoare, ?gnIdUtil); end;' + Endif + + Select crsBorderou + Scan For &lcFilter + pnIdBorderou = id_borderou + If lcTip = 'TRIMIS' + lnValoare = Iif(m.tlAles, Nvl(crsBorderou.trimis, 0), Iif(Empty(Nvl(crsBorderou.trimis, 0)), 1, 0)) && valoare inainte de bifa + pnValoare = Iif(!m.tlAles, Nvl(crsBorderou.trimis, 0), 1) + + llSucces = goExecutor.oExecuta(m.lcSql) + If m.llSucces + Replace trimis With m.pnValoare, data_trimis With Iif(m.pnValoare = 1, Datetime(), {//::}) + Else + Replace trimis With m.lnValoare, data_trimis With Iif(m.lnValoare = 1, Datetime(), {//::}) + Endif + Else + lnValoare = Iif(m.tlAles, Nvl(crsBorderou.confirmat, 0), Iif(Empty(Nvl(crsBorderou.confirmat, 0)), 1, 0)) && valoare inainte de bifa + pnValoare = Iif(!m.tlAles, Nvl(crsBorderou.confirmat, 0), 1) + + llSucces = goExecutor.oExecuta(m.lcSql) + If m.llSucces + Replace confirmat With m.pnValoare, data_confirmat With Iif(m.pnValoare = 1, Datetime(), {//::}) + Else + Replace confirmat With m.lnValoare, data_confirmat With Iif(m.lnValoare = 1, Datetime(), {//::}) + Endif + Endif + Endscan + + Select crsBorderou + Try + If m.lnRecno > 0 + Goto lnRecno + Else + Go Top + Endif + Catch + Go Top + Endtry + Thisform.grdBorderou.Refresh() + Return m.llSucces + + ENDPROC + + PROCEDURE do_cauta + LOCAL lcfiltru, lcval1, lcColoana, ldData1, ldData2 + + lcFiltru='' + + * DACA FILTRUL NU CONTINE DATA_ACT, SELECTEZ DOAR INREGISTRARILE DIN LUNA CURENTA PANA LA ZI + * ESTE POSIBIL SA GENEREZ UN BORDEROU IN LUNA APRILIE PENTRU FACTURI DIN LUNA MARTIE, DECI AFISEZ SI BORDEROURI CU DATA >= LUNA CURENTA + ldData1 = DATE(m.gnAn, m.gnLuna, 1) + ldData2 = DATE() + + IF !('DATA_BORDEROU'$upper(THISFORM.filtru_pretty)) + lcFiltru = m.lcFiltru + [ and TRUNC(data_borderou) between to_date('] + DTOC(m.ldData1,1) + [', 'yyyymmdd') and SYSDATE] + ENDIF + + * Filtre buton cautare + IF LEN(THISFORM.filtru_pretty)>0 + lcFiltru = m.lcFiltru + " and (" + ALLTRIM(THISFORM.filtru_pretty) + ")" + ENDIF + + If Empty(m.lcFiltru) + aMessagebox("Alegeti un criteriu!",0+48,"Atentie") + This.cb_tx_cautare1.criteriu.SetFocus() + Return + Endif + + IF !EMPTY(m.lcFiltru) AND LEFT(LOWER(ALLTRIM(m.lcFiltru)),3) = "and" + lcFiltru = SUBSTR(ALLTRIM(m.lcFiltru),4) + ENDIF + + IF !EMPTY(m.lcFiltru) + THISFORM.actualizeaza_grid1(m.lcFiltru) + ENDIF + + IF !EMPTY(m.lcFiltru) + THISFORM.actualizeaza_grid2(m.lcFiltru) + ENDIF + + + SELECT crsBorderou + Return m.lcFiltru + + ENDPROC + + PROCEDURE do_listare + Local lnOptiune, lcSelect, lnRecno + Local lcIds, llListare, llPdf, llSucces + lcSelect = SELECT() + lnRecno = RECNO() + + lnOptiune = xmenu('Listare borderouri;Generare PDF-uri borderouri;Trimite borderouri si documente atasate pe email') + If Empty(m.lnOptiune) + Return + ENDIF + + * Borderourile alese sau borderou curent daca nu este ales nici un borderou + Select crsBorderou + lcIds = Alltrim(Str(id_borderou)) + Locate For ales = 1 + If Found() + Select id_borderou From crsBorderou Where ales = 1 Into Cursor cBorderouTemp + lcIds = '' + Select cBorderouTemp + Scan + lcIds = lcIds + ',' + Alltrim(Str(id_borderou)) + Endscan + lcIds = Iif(!Empty(m.lcIds), Substr(m.lcIds, 2), '') + Use In (Select('cBorderouTemp')) + Endif + If Empty(m.lcIds) + Return + Endif + Do Case + Case m.lnOptiune = 1 + * Listare borderouri fara salvare pdf borderouri + llPdf = .F. + llListare = .T. + llSucces = rap_borderou_clienti(m.lcIds, m.llPdf, m.llListare, 'crsFacturiBorderou') && In oproceduri_rapoarte_fact.prg + Case m.lnOptiune = 2 + * Salvare pdf borderouri individuale + llPdf = .T. + llListare = .F. + llSucces = rap_borderou_clienti(m.lcIds, m.llPdf, m.llListare, 'crsFacturiBorderou') && In oproceduri_rapoarte_fact.prg + Case m.lnOptiune = 3 + If AMESSAGEBOX('Se vor trimite emailuri pentru borderourile selectate. Doriti sa continuati?', 4 + 32, _Screen.Caption) = 6 + Do email_borderou_facturi With m.lcIds, 'crsFacturiBorderou' In oproceduri_facturare.prg + Endif + Otherwise + * + ENDCASE + + SELECT (m.lcSelect) + TRY + GOTO lnRecno + CATCH + GO TOP + ENDTRY + + this.WindowState = 2 + ENDPROC + + PROCEDURE do_sterge + Local llSucces + Local lcMesaj, lcWhere, lnRecno + Private pnIdBorderou + Select crsBorderou + pnIdBorderou = crsBorderou.id_borderou + lnRecno = Recno() + llSucces = .F. + If Empty(m.pnIdBorderou) + Return m.llSucces + Endif + + Select crsBorderou + Locate For ales = 1 + If !Found() + Goto m.lnReno + lcWhere = 'id_borderou = ' + Alltrim(Str(m.pnIdBorderou)) + lcMesaj = 'Doriti sa stergeti borderoul ' + Alltrim(Str(m.pnIdBorderou)) + '?' + Else + lcWhere = 'ales = 1' + lcMesaj = 'Doriti sa stergeti borderourile alese?' + Endif + + If AMESSAGEBOX(m.lcMesaj, 4 + 32, _Screen.Caption) <> 6 + Return m.llSucces + Endif + + Select Distinct id_borderou From crsBorderou Where &lcWhere Into Cursor crsBorderouStergere + Select crsBorderouStergere + Scan + pnIdBorderou = crsBorderouStergere.id_borderou + llSucces = goExecutor.oExecuta('begin pack_fact_borderou.StergeBorderou(?pnIdBorderou, ?gnIdUtil); end;') + If m.llSucces + Delete From crsBorderou Where id_borderou = m.pnIdBorderou + Delete From crsFacturiBorderou Where id_borderou = m.pnIdBorderou + Try + Select crsBorderou + Skip - 1 + Endtry + Endif + Endscan + + Use In (Select('crsBorderouStergere')) + + Select crsBorderou + This.grdBorderou.SetFocus() + + Return m.llSucces + + ENDPROC + + PROCEDURE Init + DODEFAULT() + * FACTURI ALBASTRU PENTRU BORDEROUL CURENT + this.grdFacturi.SetAll("DynamicForeColor","IIF(crsFacturiBorderou.id_borderou = Thisform.nIdBorderou, RGB(100,100,255), RGB(0,0,0))", "Column") + + * BORDEROU VERDE NETRIMIS + * BORDEROU ALBASTRU TRIMIS SI NECONFIRMAT + * BORDEROU NEGRU TRIMIS SI CONFIRMAT + this.grdBorderou.SetAll("DynamicForeColor","IIF(NVL(crsBorderou.trimis,0) = 0, RGB(0,128,0), IIF(NVL(crsBorderou.confirmat,0) = 0, RGB(0,0,128), RGB(0,0,0)))", "Column") + this.gridextra1.setup() + this.gridextra2.setup() + this.WindowState = 2 + ENDPROC + + PROCEDURE Show + LPARAMETERS nStyle + DODEFAULT(nStyle) + this.WindowState = 2 + + + ENDPROC + + PROCEDURE But_start_criterii1.loadcriterii + PARAMETERS tacriterii + EXTERNAL ARRAY tacriterii + #DEFINE crlf CHR(13)+CHR(10) + + lcStringCriterii= "Id borderou\id_borderou\N\none\" + crlf + ; + "Data borderou\TRUNC(data_borderou)\D\none\" + crlf + ; + "Client\client\T\client_id\nom_parteneri" + crlf + ; + "Trimis\nofiled\E\(trimis = 1)\" + crlf + ; + "Netrimis\nofiled\E\(NVL(trimis,0) = 0)\" + crlf + ; + "Confirmat\nofiled\E\(confirmat = 1)\" + crlf + ; + "Neconfirmat\nofiled\E\(NVL(confirmat,0) = 0)\" + DODEFAULT() + ENDPROC + + PROCEDURE Cmd_executa1.Click + Thisform.Bifeaza('TRIMIS', .T.) + ENDPROC + + PROCEDURE grdBorderou.AfterRowColChange + Lparameters nColIndex + If Inlist(This.RowColChange, 0, 1, 3) + thisform.nIdBorderou = crsBorderou.id_borderou + * Ma pozitionez pe prima factura din borderou + SELECT crsFacturiBorderou + LOCATE FOR id_borderou = thisform.nIdBorderou + IF !FOUND() + GO TOP + ENDIF + Thisform.grdFacturi.Refresh() + SELECT crsBorderou + Endif + ENDPROC + + PROCEDURE grdBorderou.cConfirmat._checkbox1.Valid + Thisform.Bifeaza('CONFIRMAT') + ENDPROC + + PROCEDURE grdBorderou.cTrimis._checkbox1.Valid + Thisform.Bifeaza('TRIMIS') + ENDPROC + +ENDDEFINE + +DEFINE CLASS frm_facturi AS _frmbase OF "_frm_base.vcx" + *< CLASSDATA: Baseclass="form" Timestamp="" Scale="Pixels" Uniqueid="" /> + + *-- OBJECTDATA items order determines ZOrder / El orden de los items OBJECTDATA determina el ZOrder + *< OBJECTDATA: ObjPath="grid_facturi" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="grid_facturi.cDataora.Header1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="grid_facturi.cDataora.Text1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="grid_facturi.cUtilizator.Header1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="grid_facturi.cUtilizator.Text1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="grid_facturi.cAltele.Header1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="grid_facturi.cAltele.Text1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="grid_facturi.cCod.Header1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="grid_facturi.cCod.Text1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="grid_facturi.cNumar_act.Header1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="grid_facturi.cNumar_act.Text1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="grid_facturi.cExplicatie.Header1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="grid_facturi.cExplicatie.Text1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="grid_facturi.cClient.Header1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="grid_facturi.cClient.Text1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="grid_facturi.cUtils.Header1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="grid_facturi.cUtils.Text1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="grid_facturi.cDataoras.Header1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="grid_facturi.cDataoras.Text1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="grid_facturi.cDisc_fara_tva.Header1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="grid_facturi.cDisc_fara_tva.Text1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="grid_facturi.cDiscount_evidentiat.Header1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="grid_facturi.cDiscount_evidentiat._checkbox1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="grid_facturi.cDelegat.Header1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="grid_facturi.cDelegat.Text1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="grid_facturi.cNume_agent.Header1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="grid_facturi.cNume_agent.Text1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="grid_facturi.cNrinmat.Header1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="grid_facturi.cNrinmat.Text1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="grid_facturi.cText_aditional.Header1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="grid_facturi.cText_aditional.Text1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="grid_facturi.cTotal_cu_tva.Header1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="grid_facturi.cTotal_cu_tva.Text1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="grid_facturi.cTotal_fara_tva.Header1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="grid_facturi.cTotal_fara_tva.Text1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="grid_facturi.cTotal_tva.Header1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="grid_facturi.cTotal_tva.Text1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="grid_facturi.cData_act.Header1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="grid_facturi.cData_act.Text1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="grid_facturi.cIn_valuta.Header1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="grid_facturi.cIn_valuta._checkbox1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="grid_facturi.cSerie_act.Header1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="grid_facturi.cSerie_act.Text1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="grid_facturi.cSucursala.Header1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="grid_facturi.cSucursala.Text1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="grid_facturi.cAles.Header1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="grid_facturi.cAles._checkbox1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="grid_facturi.cRuta.Header1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="grid_facturi.cRuta.Text1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="grid_facturi.cSectie.Header1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="grid_facturi.cSectie.Text1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="grid_facturi.cLucrare.Header1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="grid_facturi.cLucrare.Text1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="grid_facturi.cAdresaFacturare.Header1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="grid_facturi.cAdresaFacturare.Text1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="grid_facturi.cListareDetaliata.Header1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="grid_facturi.cListareDetaliata.Text1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="grid_facturi.cListareDetaliata.Check1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="grid_facturi.cBeneficiar.Header1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="grid_facturi.cBeneficiar.Text1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="grid_facturi.cTipFactura.Header1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="grid_facturi.cTipFactura.Text1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="grid_facturi.cContract.Header1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="grid_facturi.cContract.Text1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="grid_facturi.cValuta.Header1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="grid_facturi.cValuta.Text1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="grid_facturi.cValval.Header1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="grid_facturi.cValval.Text1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="grid_facturi.cTVAVal.Header1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="grid_facturi.cTVAVal.Text1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="grid_facturi.cTotval.Header1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="grid_facturi.cTotval.Text1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="grid_facturi.cEmailFacturare.Header1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="grid_facturi.cEmailFacturare.Text1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="grid_facturi.cEproforma.Header1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="grid_facturi.cEproforma.Text1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="grid_facturi.cEproforma._checkbox1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="grid_facturi.cTipSaft.Header1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="grid_facturi.cTipSaft.Text1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="grid_facturi.cAdresaLivrare.Header1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="grid_facturi.cAdresaLivrare.Text1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="grid_facturi.cDenumireAdresaLivrare.Header1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="grid_facturi.cDenumireAdresaLivrare.Text1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="grid_facturi.cEmailLivrare.Header1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="grid_facturi.cEmailLivrare.Text1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="grid_facturi.cEfactura.Header1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="grid_facturi.cEfactura.Text1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="grid_facturi.cEfactura._checkbox1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="grid_facturi.cInstitutiePublica.Header1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="grid_facturi.cInstitutiePublica.Text1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="grid_facturi.cInstitutiePublica._checkbox1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="grid_facturi.cCodFiscal.Header1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="grid_facturi.cCodFiscal.Text1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="grid_detalii" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="grid_detalii.cNume_lista_preturi.Header1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="grid_detalii.cNume_lista_preturi.Text1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="grid_detalii.cDenumire.Header1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="grid_detalii.cDenumire.Text1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="grid_detalii.cCantitate.Header1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="grid_detalii.cCantitate.Text1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="grid_detalii.cPret.Header1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="grid_detalii.cPret.Text1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="grid_detalii.cProc_tvav.Header1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="grid_detalii.cProc_tvav.Text1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="grid_detalii.cDiscount_unitar.Header1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="grid_detalii.cDiscount_unitar.Text1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="grid_detalii.cUtils.Header1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="grid_detalii.cUtils.Text1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="grid_detalii.cDataoras.Header1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="grid_detalii.cDataoras.Text1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="grid_detalii.cUM.Header1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="grid_detalii.cUM.Text1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="grid_detalii.cCont.Header1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="grid_detalii.cCont.Text1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="grid_detalii.cNume_Gestiune.Header1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="grid_detalii.cNume_Gestiune.Text1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="grid_detalii.cDiscount_unitar_val.Header1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="grid_detalii.cDiscount_unitar_val.Text1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="grid_detalii.cPret_val.Header1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="grid_detalii.cPret_val.Text1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="grid_detalii.cPret_cu_tva.Header1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="grid_detalii.cPret_cu_tva._checkbox1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="grid_detalii.cNume_val.Header1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="grid_detalii.cNume_val.Text1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="grid_detalii.cCurs.Header1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="grid_detalii.cCurs.Text1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="grid_detalii.cSerie.Header1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="grid_detalii.cSerie.Text1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="grid_detalii.cPretAchizitie.Header1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="grid_detalii.cPretAchizitie.Text1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="grid_detalii.cCodmat.Header1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="grid_detalii.cCodmat.Text1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="grid_detalii.cCodbare.Header1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="grid_detalii.cCodbare.Text1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="grid_detalii.cIdArticol.Header1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="grid_detalii.cIdArticol.Text1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="grid_detalii.cExplicatie.Header1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="grid_detalii.cExplicatie.Text1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="grid_detalii.cExplicatie._editbox1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="grid_detalii.cCodmatc.Header1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="grid_detalii.cCodmatc.Text1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="grid_detalii.cExplicatieTVA.Header1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="grid_detalii.cExplicatieTVA.Text1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="grid_detalii.cExplicatieTVAEx.Header1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="grid_detalii.cExplicatieTVAEx.Text1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="grid_detalii.cTaxName.Header1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="grid_detalii.cTaxName.Text1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="grid_detalii.cLot.Header1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="grid_detalii.cLot.Text1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="but_modifica1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="Cmd_select_adv1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="But_modifica2" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="Gridextra1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="Gridextra2" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="But_copiaza1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="But_start_criterii1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="But_reset_criterii1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="But_sterge1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="lb_total_ron" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="lb_total_val" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="txtTotalValuta" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="txtTotalLei" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="But_attach1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="But_listare1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="But_verifica1" UniqueID="" Timestamp="" /> + + * + *m: do_listare_cc + *m: do_listare_centr + *m: do_listare_document + *m: do_listeaza_formular + *m: do_modifica_explicatie + *m: iscopy + *p: cfiltru_initial + *p: ndetalii + *p: nvanzari + * + + * + BorderStyle = 1 + cbuton2 = but_listare1;but_listare2;But_listare3 + cbuton3 = but_modifica1;but_modifica2 + cfiltru_initial = + cgridsortlist = grid_facturi,grid_detalii + DoCreate = .T. + Height = 588 + Name = "frm_facturi" + ndetalii = 0 + nvanzari = 0 + Width = 757 + WindowState = 2 + _shape1.Anchor = 11 + _shape1.Height = 29 + _shape1.Left = 0 + _shape1.Name = "_shape1" + _shape1.Top = 0 + _shape1.Width = 791 + _shape1.ZOrderSet = 1 + _shape2.Anchor = 9 + _shape2.Height = 29 + _shape2.Left = 639 + _shape2.Name = "_shape2" + _shape2.Top = 0 + _shape2.Width = 119 + _shape2.ZOrderSet = 2 + Lb_titlu_alb_b121.Caption = "LISTA FACTURI, AVIZE SI PROFORME" + Lb_titlu_alb_b121.FontBold = .T. + Lb_titlu_alb_b121.Name = "Lb_titlu_alb_b121" + Lb_titlu_alb_b121.TabIndex = 20 + Lb_titlu_alb_b121.ZOrderSet = 3 + BUT_TERMIN1.Anchor = 9 + BUT_TERMIN1.Left = 727 + BUT_TERMIN1.Name = "BUT_TERMIN1" + BUT_TERMIN1.TabIndex = 16 + BUT_TERMIN1.Top = 1 + BUT_TERMIN1.ZOrderSet = 4 + Gridsort1.Left = 192 + Gridsort1.Name = "Gridsort1" + Gridsort1.Top = 6 + * + + ADD OBJECT 'But_attach1' AS but_attach WITH ; + Anchor = 9, ; + caction = , ; + Left = 668, ; + Name = "But_attach1", ; + Picture = ..\grafice\attach_sus.bmp, ; + ToolTipText = "Borderou documente electronice & trimitere pe eMail ", ; + Top = 1 + *< END OBJECT: ClassLib="cmd_butoane.vcx" BaseClass="commandbutton" /> + + ADD OBJECT 'But_copiaza1' AS but_copiaza WITH ; + Anchor = 8, ; + Left = 552, ; + Name = "But_copiaza1", ; + Picture = ..\grafice\copy_sus.bmp, ; + ToolTipText = "Copiere (CTRL+K) * Se foloseste si pentru generarea unei facturi din proforma prin copiere", ; + Top = 1, ; + Visible = .F. + *< END OBJECT: ClassLib="cmd_butoane.vcx" BaseClass="commandbutton" /> + + ADD OBJECT 'But_listare1' AS but_listare WITH ; + Anchor = 8, ; + Left = 698, ; + Name = "But_listare1", ; + Picture = ..\grafice\listare_sus.bmp, ; + TabIndex = 17, ; + Top = 1, ; + ZOrderSet = 21 + *< END OBJECT: ClassLib="cmd_butoane.vcx" BaseClass="commandbutton" /> + + ADD OBJECT 'but_modifica1' AS but_modifica WITH ; + Anchor = 9, ; + Caption = "", ; + Left = 609, ; + Name = "but_modifica1", ; + Picture = ..\grafice\modific_sus.bmp, ; + TabIndex = 27, ; + Top = 1 + *< END OBJECT: ClassLib="cmd_butoane.vcx" BaseClass="commandbutton" /> + + ADD OBJECT 'But_modifica2' AS but_modifica WITH ; + Anchor = 12, ; + caction = do_modifica_explicatie, ; + Caption = "", ; + Left = 710, ; + Name = "But_modifica2", ; + TabIndex = 27, ; + ToolTipText = "Modificare explicatie articol", ; + Top = 341 + *< END OBJECT: ClassLib="cmd_butoane.vcx" BaseClass="commandbutton" /> + + ADD OBJECT 'But_reset_criterii1' AS but_reset_criterii WITH ; + Anchor = 9, ; + Left = 492, ; + Name = "But_reset_criterii1", ; + Picture = ..\grafice\reset_sus.bmp, ; + Top = 1, ; + Visible = .T. + *< END OBJECT: ClassLib="ocriterii.vcx" BaseClass="commandbutton" /> + + ADD OBJECT 'But_start_criterii1' AS but_start_criterii WITH ; + Anchor = 9, ; + Comment = "*:OnResize=RT", ; + Left = 521, ; + Name = "But_start_criterii1", ; + Picture = ..\grafice\find_sus.bmp, ; + Top = 1 + *< END OBJECT: ClassLib="ocriterii.vcx" BaseClass="commandbutton" /> + + ADD OBJECT 'But_sterge1' AS but_sterge WITH ; + Anchor = 8, ; + Left = 582, ; + Name = "But_sterge1", ; + Picture = ..\grafice\sterg_sus.bmp, ; + TabIndex = 19, ; + Top = 1, ; + ZOrderSet = 16 + *< END OBJECT: ClassLib="cmd_butoane.vcx" BaseClass="commandbutton" /> + + ADD OBJECT 'But_verifica1' AS but_verifica WITH ; + Anchor = 9, ; + Left = 639, ; + Name = "But_verifica1", ; + ToolTipText = "Vericare coduri fiscale pe serverul ANAF", ; + Top = 1 + *< END OBJECT: ClassLib="cmd_butoane.vcx" BaseClass="commandbutton" /> + + ADD OBJECT 'Cmd_select_adv1' AS cmd_select_adv WITH ; + Anchor = 6, ; + ccoloana = ales, ; + cgrid = thisform.grid_facturi, ; + Left = 9, ; + Name = "Cmd_select_adv1", ; + TabIndex = 28, ; + Top = 335, ; + Width = 111 + *< END OBJECT: ClassLib="cmd_butoane.vcx" BaseClass="commandbutton" /> + + ADD OBJECT 'grid_detalii' AS _grdrow WITH ; + Anchor = 14, ; + ColumnCount = 27, ; + DeleteMark = .F., ; + HeaderHeight = 33, ; + Height = 183, ; + HighlightStyle = 2, ; + Left = 6, ; + Name = "grid_detalii", ; + Panel = 1, ; + ReadOnly = .T., ; + RecordSource = "crsDetalii", ; + RowHeight = 19, ; + SelectedItemBackColor = 0,0,255, ; + TabIndex = 15, ; + Top = 372, ; + Width = 744, ; + ZOrderSet = 7, ; + Column1.ControlSource = "nume_lista_preturi", ; + Column1.FontName = "Arial", ; + Column1.FontSize = 10, ; + Column1.Name = "cNume_lista_preturi", ; + Column1.ReadOnly = .T., ; + Column1.Width = 104, ; + Column2.ColumnOrder = 3, ; + Column2.ControlSource = "denumire", ; + Column2.FontName = "Arial", ; + Column2.FontSize = 10, ; + Column2.Name = "cDenumire", ; + Column2.ReadOnly = .T., ; + Column2.Width = 163, ; + Column3.ColumnOrder = 8, ; + Column3.ControlSource = "cantitate", ; + Column3.FontName = "Arial", ; + Column3.FontSize = 10, ; + Column3.Format = "rk", ; + Column3.InputMask = (get_mask(12,gnPCant)), ; + Column3.Name = "cCantitate", ; + Column3.ReadOnly = .T., ; + Column3.Width = 61, ; + Column4.ColumnOrder = 11, ; + Column4.ControlSource = "pret", ; + Column4.FontName = "Arial", ; + Column4.FontSize = 10, ; + Column4.Format = "rk", ; + Column4.InputMask = (get_mask(14,gnPPretV)), ; + Column4.Name = "cPret", ; + Column4.ReadOnly = .T., ; + Column4.Width = 59, ; + Column5.ColumnOrder = 13, ; + Column5.ControlSource = "proc_tvav", ; + Column5.FontName = "Arial", ; + Column5.FontSize = 10, ; + Column5.Format = "rk", ; + Column5.InputMask = "9 999.99", ; + Column5.Name = "cProc_tvav", ; + Column5.ReadOnly = .T., ; + Column5.Width = 42, ; + Column6.ColumnOrder = 12, ; + Column6.ControlSource = "discount_unitar", ; + Column6.FontName = "Arial", ; + Column6.FontSize = 10, ; + Column6.Format = "rk", ; + Column6.InputMask = (get_mask(14,gnPPretV)), ; + Column6.Name = "cDiscount_unitar", ; + Column6.ReadOnly = .T., ; + Column6.Width = 91, ; + Column7.ColumnOrder = 22, ; + Column7.ControlSource = "utils", ; + Column7.FontName = "Arial", ; + Column7.FontSize = 10, ; + Column7.Name = "cUtils", ; + Column7.ReadOnly = .T., ; + Column7.Width = 131, ; + Column8.ColumnOrder = 23, ; + Column8.ControlSource = "dataoras", ; + Column8.FontName = "Arial", ; + Column8.FontSize = 10, ; + Column8.Name = "cDataoras", ; + Column8.ReadOnly = .T., ; + Column8.Width = 103, ; + Column9.ColumnOrder = 9, ; + Column9.ControlSource = "um", ; + Column9.FontName = "Arial", ; + Column9.FontSize = 10, ; + Column9.Name = "cUM", ; + Column9.ReadOnly = .T., ; + Column9.Width = 39, ; + Column10.ColumnOrder = 20, ; + Column10.ControlSource = "cont", ; + Column10.FontName = "Arial", ; + Column10.FontSize = 10, ; + Column10.Name = "cCont", ; + Column10.ReadOnly = .T., ; + Column10.Width = 43, ; + Column11.ColumnOrder = 21, ; + Column11.ControlSource = "nume_gestiune", ; + Column11.FontName = "Arial", ; + Column11.FontSize = 10, ; + Column11.Name = "cNume_Gestiune", ; + Column11.ReadOnly = .T., ; + Column11.Width = 106, ; + Column12.ColumnOrder = 18, ; + Column12.ControlSource = "discount_unitar_val", ; + Column12.FontName = "Arial", ; + Column12.FontSize = 10, ; + Column12.InputMask = (get_mask(14,gnPval)), ; + Column12.Name = "cDiscount_unitar_val", ; + Column12.ReadOnly = .T., ; + Column12.Width = 95, ; + Column13.ColumnOrder = 17, ; + Column13.ControlSource = "pret_val", ; + Column13.FontName = "Arial", ; + Column13.FontSize = 10, ; + Column13.InputMask = (get_mask(14,gnPval)), ; + Column13.Name = "cPret_val", ; + Column13.ReadOnly = .T., ; + Column13.Width = 83, ; + Column14.ColumnOrder = 14, ; + Column14.ControlSource = "pret_cu_tva", ; + Column14.FontName = "Arial", ; + Column14.FontSize = 10, ; + Column14.Name = "cPret_cu_tva", ; + Column14.ReadOnly = .T., ; + Column14.Sparse = .F., ; + Column14.Width = 90, ; + Column15.ColumnOrder = 15, ; + Column15.ControlSource = "nume_val", ; + Column15.FontName = "Arial", ; + Column15.FontSize = 10, ; + Column15.Name = "cNume_val", ; + Column15.ReadOnly = .T., ; + Column15.Width = 45, ; + Column16.ColumnOrder = 16, ; + Column16.ControlSource = "curs", ; + Column16.FontName = "Arial", ; + Column16.FontSize = 10, ; + Column16.InputMask = (get_mask(14,gnPCurs)), ; + Column16.Name = "cCurs", ; + Column16.ReadOnly = .T., ; + Column16.Width = 56, ; + Column17.ColumnOrder = 6, ; + Column17.ControlSource = "serie", ; + Column17.FontName = "Arial", ; + Column17.FontSize = 10, ; + Column17.Name = "cSerie", ; + Column17.ReadOnly = .T., ; + Column18.ColumnOrder = 10, ; + Column18.ControlSource = "pret_achizitie", ; + Column18.FontName = "Arial", ; + Column18.FontSize = 10, ; + Column18.InputMask = (get_mask(14,gnPPret)), ; + Column18.Name = "cPretAchizitie", ; + Column18.ReadOnly = .T., ; + Column18.Width = 80, ; + Column19.ColumnOrder = 2, ; + Column19.ControlSource = "codmat", ; + Column19.FontName = "Arial", ; + Column19.FontSize = 10, ; + Column19.Name = "cCodmat", ; + Column19.ReadOnly = .T., ; + Column20.ColumnOrder = 5, ; + Column20.ControlSource = "codbare", ; + Column20.FontName = "Arial", ; + Column20.FontSize = 10, ; + Column20.Name = "cCodbare", ; + Column20.ReadOnly = .T., ; + Column21.ColumnOrder = 24, ; + Column21.ControlSource = "id_articol", ; + Column21.FontName = "Arial", ; + Column21.FontSize = 10, ; + Column21.Name = "cIdArticol", ; + Column21.ReadOnly = .T., ; + Column22.ColumnOrder = 19, ; + Column22.ControlSource = "explicatie", ; + Column22.CurrentControl = "_editbox1", ; + Column22.Format = "K", ; + Column22.Name = "cExplicatie", ; + Column22.ReadOnly = .T., ; + Column22.Sparse = .F., ; + Column22.Width = 155, ; + Column23.ColumnOrder = 4, ; + Column23.ControlSource = "codmatc", ; + Column23.Name = "cCodmatc", ; + Column23.ReadOnly = .T., ; + Column24.ColumnOrder = 25, ; + Column24.ControlSource = "jtva_coloana", ; + Column24.Name = "cExplicatieTVA", ; + Column24.ReadOnly = .T., ; + Column24.Width = 124, ; + Column25.ColumnOrder = 26, ; + Column25.ControlSource = "jtva_coloana_ex", ; + Column25.Name = "cExplicatieTVAEx", ; + Column25.ReadOnly = .T., ; + Column25.Width = 113, ; + Column26.ColumnOrder = 27, ; + Column26.ControlSource = "taxname", ; + Column26.Name = "cTaxName", ; + Column26.ReadOnly = .T., ; + Column26.Width = 159, ; + Column27.ColumnOrder = 7, ; + Column27.ControlSource = "lot", ; + Column27.Name = "cLot", ; + Column27.ReadOnly = .T., ; + Column27.Width = 92 + *< END OBJECT: ClassLib="_grd_base.vcx" BaseClass="grid" /> + + ADD OBJECT 'grid_detalii.cCantitate.Header1' AS header WITH ; + Alignment = 2, ; + Caption = "Cantitate ", ; + FontName = "Arial", ; + FontSize = 10, ; + Name = "Header1" + *< END OBJECT: BaseClass="header" /> + + ADD OBJECT 'grid_detalii.cCantitate.Text1' AS textbox WITH ; + BackColor = 255,255,255, ; + BorderStyle = 0, ; + FontName = "Arial", ; + FontSize = 10, ; + ForeColor = 0,0,0, ; + Margin = 0, ; + Name = "Text1", ; + ReadOnly = .T., ; + SelectedBackColor = 0,0,255 + *< END OBJECT: BaseClass="textbox" /> + + ADD OBJECT 'grid_detalii.cCodbare.Header1' AS header WITH ; + Alignment = 2, ; + Caption = "Cod bare", ; + FontName = "Arial", ; + FontSize = 10, ; + Name = "Header1" + *< END OBJECT: BaseClass="header" /> + + ADD OBJECT 'grid_detalii.cCodbare.Text1' AS textbox WITH ; + BackColor = 255,255,255, ; + BorderStyle = 0, ; + FontName = "Arial", ; + FontSize = 10, ; + ForeColor = 0,0,0, ; + Margin = 0, ; + Name = "Text1", ; + ReadOnly = .T., ; + SelectedBackColor = 0,0,255 + *< END OBJECT: BaseClass="textbox" /> + + ADD OBJECT 'grid_detalii.cCodmat.Header1' AS header WITH ; + Alignment = 2, ; + Caption = "Cod material", ; + FontName = "Arial", ; + FontSize = 10, ; + Name = "Header1" + *< END OBJECT: BaseClass="header" /> + + ADD OBJECT 'grid_detalii.cCodmat.Text1' AS textbox WITH ; + BackColor = 255,255,255, ; + BorderStyle = 0, ; + FontName = "Arial", ; + FontSize = 10, ; + ForeColor = 0,0,0, ; + Margin = 0, ; + Name = "Text1", ; + ReadOnly = .T., ; + SelectedBackColor = 0,0,255 + *< END OBJECT: BaseClass="textbox" /> + + ADD OBJECT 'grid_detalii.cCodmatc.Header1' AS header WITH ; + Alignment = 2, ; + Caption = "Cod client", ; + Name = "Header1" + *< END OBJECT: BaseClass="header" /> + + ADD OBJECT 'grid_detalii.cCodmatc.Text1' AS textbox WITH ; + BackColor = 255,255,255, ; + BorderStyle = 0, ; + ForeColor = 0,0,0, ; + Margin = 0, ; + Name = "Text1", ; + ReadOnly = .T., ; + SelectedBackColor = 0,0,255 + *< END OBJECT: BaseClass="textbox" /> + + ADD OBJECT 'grid_detalii.cCont.Header1' AS header WITH ; + Alignment = 2, ; + Caption = "Cont", ; + FontName = "Arial", ; + FontSize = 10, ; + Name = "Header1" + *< END OBJECT: BaseClass="header" /> + + ADD OBJECT 'grid_detalii.cCont.Text1' AS textbox WITH ; + BackColor = 255,255,255, ; + BorderStyle = 0, ; + FontName = "Arial", ; + FontSize = 10, ; + ForeColor = 0,0,0, ; + Margin = 0, ; + Name = "Text1", ; + ReadOnly = .T., ; + SelectedBackColor = 0,0,255 + *< END OBJECT: BaseClass="textbox" /> + + ADD OBJECT 'grid_detalii.cCurs.Header1' AS header WITH ; + Alignment = 2, ; + Caption = "Curs", ; + FontName = "Arial", ; + FontSize = 10, ; + Name = "Header1" + *< END OBJECT: BaseClass="header" /> + + ADD OBJECT 'grid_detalii.cCurs.Text1' AS textbox WITH ; + BackColor = 255,255,255, ; + BorderStyle = 0, ; + FontName = "Arial", ; + FontSize = 10, ; + ForeColor = 0,0,0, ; + Margin = 0, ; + Name = "Text1", ; + ReadOnly = .T., ; + SelectedBackColor = 0,0,255 + *< END OBJECT: BaseClass="textbox" /> + + ADD OBJECT 'grid_detalii.cDataoras.Header1' AS header WITH ; + Alignment = 2, ; + Caption = "Dataora stergerii", ; + FontName = "Arial", ; + FontSize = 10, ; + Name = "Header1" + *< END OBJECT: BaseClass="header" /> + + ADD OBJECT 'grid_detalii.cDataoras.Text1' AS textbox WITH ; + BackColor = 255,255,255, ; + BorderStyle = 0, ; + FontName = "Arial", ; + FontSize = 10, ; + ForeColor = 0,0,0, ; + Margin = 0, ; + Name = "Text1", ; + ReadOnly = .T., ; + SelectedBackColor = 0,0,255 + *< END OBJECT: BaseClass="textbox" /> + + ADD OBJECT 'grid_detalii.cDenumire.Header1' AS header WITH ; + Alignment = 2, ; + Caption = "Articol", ; + FontName = "Arial", ; + FontSize = 10, ; + Name = "Header1" + *< END OBJECT: BaseClass="header" /> + + ADD OBJECT 'grid_detalii.cDenumire.Text1' AS textbox WITH ; + BackColor = 255,255,255, ; + BorderStyle = 0, ; + FontName = "Arial", ; + FontSize = 10, ; + ForeColor = 0,0,0, ; + Margin = 0, ; + Name = "Text1", ; + ReadOnly = .T., ; + SelectedBackColor = 0,0,255 + *< END OBJECT: BaseClass="textbox" /> + + ADD OBJECT 'grid_detalii.cDiscount_unitar.Header1' AS header WITH ; + Alignment = 2, ; + Caption = "Discount unitar", ; + FontName = "Arial", ; + FontSize = 10, ; + Name = "Header1" + *< END OBJECT: BaseClass="header" /> + + ADD OBJECT 'grid_detalii.cDiscount_unitar.Text1' AS textbox WITH ; + BackColor = 255,255,255, ; + BorderStyle = 0, ; + FontName = "Arial", ; + FontSize = 10, ; + ForeColor = 0,0,0, ; + Margin = 0, ; + Name = "Text1", ; + ReadOnly = .T., ; + SelectedBackColor = 0,0,255 + *< END OBJECT: BaseClass="textbox" /> + + ADD OBJECT 'grid_detalii.cDiscount_unitar_val.Header1' AS header WITH ; + Alignment = 2, ; + Caption = "Discount unitar in valuta", ; + FontName = "Arial", ; + FontSize = 10, ; + Name = "Header1", ; + WordWrap = .T. + *< END OBJECT: BaseClass="header" /> + + ADD OBJECT 'grid_detalii.cDiscount_unitar_val.Text1' AS textbox WITH ; + BackColor = 255,255,255, ; + BorderStyle = 0, ; + FontName = "Arial", ; + FontSize = 10, ; + ForeColor = 0,0,0, ; + Margin = 0, ; + Name = "Text1", ; + ReadOnly = .T., ; + SelectedBackColor = 0,0,255 + *< END OBJECT: BaseClass="textbox" /> + + ADD OBJECT 'grid_detalii.cExplicatie._editbox1' AS _editbox WITH ; + BorderStyle = 0, ; + Left = 86, ; + Name = "_editbox1", ; + SpecialEffect = 1, ; + Top = 59 + *< END OBJECT: ClassLib="_baza.vcx" BaseClass="editbox" /> + + ADD OBJECT 'grid_detalii.cExplicatie.Header1' AS header WITH ; + Alignment = 2, ; + Caption = "Explicatie", ; + Name = "Header1" + *< END OBJECT: BaseClass="header" /> + + ADD OBJECT 'grid_detalii.cExplicatie.Text1' AS textbox WITH ; + BackColor = 255,255,255, ; + BorderStyle = 0, ; + ForeColor = 0,0,0, ; + Margin = 0, ; + Name = "Text1", ; + ReadOnly = .T., ; + SelectedBackColor = 0,0,255 + *< END OBJECT: BaseClass="textbox" /> + + ADD OBJECT 'grid_detalii.cExplicatieTVA.Header1' AS header WITH ; + Alignment = 2, ; + Caption = "Explicatie TVA", ; + Name = "Header1" + *< END OBJECT: BaseClass="header" /> + + ADD OBJECT 'grid_detalii.cExplicatieTVA.Text1' AS textbox WITH ; + BackColor = 255,255,255, ; + BorderStyle = 0, ; + ForeColor = 0,0,0, ; + Margin = 0, ; + Name = "Text1", ; + ReadOnly = .T., ; + SelectedBackColor = 0,0,255 + *< END OBJECT: BaseClass="textbox" /> + + ADD OBJECT 'grid_detalii.cExplicatieTVAEx.Header1' AS header WITH ; + Alignment = 2, ; + Caption = "Explicatie TVA 2", ; + Name = "Header1" + *< END OBJECT: BaseClass="header" /> + + ADD OBJECT 'grid_detalii.cExplicatieTVAEx.Text1' AS textbox WITH ; + BackColor = 255,255,255, ; + BorderStyle = 0, ; + ForeColor = 0,0,0, ; + Margin = 0, ; + Name = "Text1", ; + ReadOnly = .T., ; + SelectedBackColor = 0,0,255 + *< END OBJECT: BaseClass="textbox" /> + + ADD OBJECT 'grid_detalii.cIdArticol.Header1' AS header WITH ; + Alignment = 2, ; + Caption = "Id articol", ; + FontName = "Arial", ; + FontSize = 10, ; + Name = "Header1" + *< END OBJECT: BaseClass="header" /> + + ADD OBJECT 'grid_detalii.cIdArticol.Text1' AS textbox WITH ; + BackColor = 255,255,255, ; + BorderStyle = 0, ; + FontName = "Arial", ; + FontSize = 10, ; + ForeColor = 0,0,0, ; + Margin = 0, ; + Name = "Text1", ; + ReadOnly = .T., ; + SelectedBackColor = 0,0,255 + *< END OBJECT: BaseClass="textbox" /> + + ADD OBJECT 'grid_detalii.cLot.Header1' AS header WITH ; + Alignment = 2, ; + Caption = "Lot", ; + Name = "Header1" + *< END OBJECT: BaseClass="header" /> + + ADD OBJECT 'grid_detalii.cLot.Text1' AS textbox WITH ; + BackColor = 255,255,255, ; + BorderStyle = 0, ; + ForeColor = 0,0,0, ; + Margin = 0, ; + Name = "Text1", ; + ReadOnly = .T., ; + SelectedBackColor = 0,0,255 + *< END OBJECT: BaseClass="textbox" /> + + ADD OBJECT 'grid_detalii.cNume_Gestiune.Header1' AS header WITH ; + Alignment = 2, ; + Caption = "Gestiune", ; + FontName = "Arial", ; + FontSize = 10, ; + Name = "Header1" + *< END OBJECT: BaseClass="header" /> + + ADD OBJECT 'grid_detalii.cNume_Gestiune.Text1' AS textbox WITH ; + BackColor = 255,255,255, ; + BorderStyle = 0, ; + FontName = "Arial", ; + FontSize = 10, ; + ForeColor = 0,0,0, ; + Margin = 0, ; + Name = "Text1", ; + ReadOnly = .T., ; + SelectedBackColor = 0,0,255 + *< END OBJECT: BaseClass="textbox" /> + + ADD OBJECT 'grid_detalii.cNume_lista_preturi.Header1' AS header WITH ; + Alignment = 2, ; + Caption = "Politica preturi", ; + FontName = "Arial", ; + FontSize = 10, ; + Name = "Header1" + *< END OBJECT: BaseClass="header" /> + + ADD OBJECT 'grid_detalii.cNume_lista_preturi.Text1' AS textbox WITH ; + BackColor = 255,255,255, ; + BorderStyle = 0, ; + FontName = "Arial", ; + FontSize = 10, ; + ForeColor = 0,0,0, ; + Margin = 0, ; + Name = "Text1", ; + ReadOnly = .T., ; + SelectedBackColor = 0,0,255 + *< END OBJECT: BaseClass="textbox" /> + + ADD OBJECT 'grid_detalii.cNume_val.Header1' AS header WITH ; + Alignment = 2, ; + Caption = "Valuta", ; + FontName = "Arial", ; + FontSize = 10, ; + Name = "Header1" + *< END OBJECT: BaseClass="header" /> + + ADD OBJECT 'grid_detalii.cNume_val.Text1' AS textbox WITH ; + BackColor = 255,255,255, ; + BorderStyle = 0, ; + FontName = "Arial", ; + FontSize = 10, ; + ForeColor = 0,0,0, ; + Margin = 0, ; + Name = "Text1", ; + ReadOnly = .T., ; + SelectedBackColor = 0,0,255 + *< END OBJECT: BaseClass="textbox" /> + + ADD OBJECT 'grid_detalii.cPret.Header1' AS header WITH ; + Alignment = 2, ; + Caption = "Pret", ; + FontName = "Arial", ; + FontSize = 10, ; + Name = "Header1" + *< END OBJECT: BaseClass="header" /> + + ADD OBJECT 'grid_detalii.cPret.Text1' AS textbox WITH ; + BackColor = 255,255,255, ; + BorderStyle = 0, ; + FontName = "Arial", ; + FontSize = 10, ; + ForeColor = 0,0,0, ; + Margin = 0, ; + Name = "Text1", ; + ReadOnly = .T., ; + SelectedBackColor = 0,0,255 + *< END OBJECT: BaseClass="textbox" /> + + ADD OBJECT 'grid_detalii.cPret_cu_tva._checkbox1' AS _checkbox WITH ; + Alignment = 2, ; + AutoSize = .F., ; + Caption = "", ; + Centered = .T., ; + FontName = "Arial", ; + FontSize = 10, ; + Left = 32, ; + Name = "_checkbox1", ; + ReadOnly = .T., ; + Top = 47 + *< END OBJECT: ClassLib="_baza.vcx" BaseClass="checkbox" /> + + ADD OBJECT 'grid_detalii.cPret_cu_tva.Header1' AS header WITH ; + Alignment = 2, ; + Caption = "Pret cu TVA", ; + FontName = "Arial", ; + FontSize = 10, ; + Name = "Header1" + *< END OBJECT: BaseClass="header" /> + + ADD OBJECT 'grid_detalii.cPret_val.Header1' AS header WITH ; + Alignment = 2, ; + Caption = "Pret in valuta", ; + FontName = "Arial", ; + FontSize = 10, ; + Name = "Header1" + *< END OBJECT: BaseClass="header" /> + + ADD OBJECT 'grid_detalii.cPret_val.Text1' AS textbox WITH ; + BackColor = 255,255,255, ; + BorderStyle = 0, ; + FontName = "Arial", ; + FontSize = 10, ; + ForeColor = 0,0,0, ; + Margin = 0, ; + Name = "Text1", ; + ReadOnly = .T., ; + SelectedBackColor = 0,0,255 + *< END OBJECT: BaseClass="textbox" /> + + ADD OBJECT 'grid_detalii.cPretAchizitie.Header1' AS header WITH ; + Alignment = 2, ; + Caption = "Pret achizitie", ; + FontName = "Arial", ; + FontSize = 10, ; + Name = "Header1" + *< END OBJECT: BaseClass="header" /> + + ADD OBJECT 'grid_detalii.cPretAchizitie.Text1' AS textbox WITH ; + BackColor = 255,255,255, ; + BorderStyle = 0, ; + FontName = "Arial", ; + FontSize = 10, ; + ForeColor = 0,0,0, ; + Margin = 0, ; + Name = "Text1", ; + ReadOnly = .T., ; + SelectedBackColor = 0,0,255 + *< END OBJECT: BaseClass="textbox" /> + + ADD OBJECT 'grid_detalii.cProc_tvav.Header1' AS header WITH ; + Alignment = 2, ; + Caption = "Procent TVA", ; + FontName = "Arial", ; + FontSize = 10, ; + Name = "Header1", ; + WordWrap = .T. + *< END OBJECT: BaseClass="header" /> + + ADD OBJECT 'grid_detalii.cProc_tvav.Text1' AS textbox WITH ; + BackColor = 255,255,255, ; + BorderStyle = 0, ; + FontName = "Arial", ; + FontSize = 10, ; + ForeColor = 0,0,0, ; + Margin = 0, ; + Name = "Text1", ; + ReadOnly = .T., ; + SelectedBackColor = 0,0,255 + *< END OBJECT: BaseClass="textbox" /> + + ADD OBJECT 'grid_detalii.cSerie.Header1' AS header WITH ; + Alignment = 2, ; + Caption = "Serie", ; + FontName = "Arial", ; + FontSize = 10, ; + Name = "Header1" + *< END OBJECT: BaseClass="header" /> + + ADD OBJECT 'grid_detalii.cSerie.Text1' AS textbox WITH ; + BackColor = 255,255,255, ; + BorderStyle = 0, ; + FontName = "Arial", ; + FontSize = 10, ; + ForeColor = 0,0,0, ; + Margin = 0, ; + Name = "Text1", ; + ReadOnly = .T., ; + SelectedBackColor = 0,0,255 + *< END OBJECT: BaseClass="textbox" /> + + ADD OBJECT 'grid_detalii.cTaxName.Header1' AS header WITH ; + Alignment = 2, ; + Caption = "Taxa SAFT", ; + Name = "Header1" + *< END OBJECT: BaseClass="header" /> + + ADD OBJECT 'grid_detalii.cTaxName.Text1' AS textbox WITH ; + BackColor = 255,255,255, ; + BorderStyle = 0, ; + ForeColor = 0,0,0, ; + Margin = 0, ; + Name = "Text1", ; + ReadOnly = .T., ; + SelectedBackColor = 0,0,255 + *< END OBJECT: BaseClass="textbox" /> + + ADD OBJECT 'grid_detalii.cUM.Header1' AS header WITH ; + Alignment = 2, ; + Caption = "UM", ; + FontName = "Arial", ; + FontSize = 10, ; + Name = "Header1" + *< END OBJECT: BaseClass="header" /> + + ADD OBJECT 'grid_detalii.cUM.Text1' AS textbox WITH ; + BackColor = 255,255,255, ; + BorderStyle = 0, ; + FontName = "Arial", ; + FontSize = 10, ; + ForeColor = 0,0,0, ; + Margin = 0, ; + Name = "Text1", ; + ReadOnly = .T., ; + SelectedBackColor = 0,0,255 + *< END OBJECT: BaseClass="textbox" /> + + ADD OBJECT 'grid_detalii.cUtils.Header1' AS header WITH ; + Alignment = 2, ; + Caption = "Operator stergere", ; + FontName = "Arial", ; + FontSize = 10, ; + Name = "Header1" + *< END OBJECT: BaseClass="header" /> + + ADD OBJECT 'grid_detalii.cUtils.Text1' AS textbox WITH ; + BackColor = 255,255,255, ; + BorderStyle = 0, ; + FontName = "Arial", ; + FontSize = 10, ; + ForeColor = 0,0,0, ; + Margin = 0, ; + Name = "Text1", ; + ReadOnly = .T., ; + SelectedBackColor = 0,0,255 + *< END OBJECT: BaseClass="textbox" /> + + ADD OBJECT 'grid_facturi' AS _grdrow WITH ; + Anchor = 15, ; + ColumnCount = 44, ; + DeleteMark = .F., ; + FontSize = 10, ; + HeaderHeight = 36, ; + Height = 293, ; + HighlightStyle = 2, ; + Left = 6, ; + Name = "grid_facturi", ; + Panel = 1, ; + ReadOnly = .T., ; + RecordSource = "crsFacturi", ; + RowHeight = 19, ; + SelectedItemBackColor = 0,0,255, ; + TabIndex = 14, ; + Top = 36, ; + Width = 744, ; + ZOrderSet = 6, ; + Column1.ColumnOrder = 34, ; + Column1.ControlSource = "dataora", ; + Column1.FontName = "Arial", ; + Column1.FontSize = 10, ; + Column1.Name = "cDataora", ; + Column1.ReadOnly = .T., ; + Column1.Width = 116, ; + Column2.ColumnOrder = 33, ; + Column2.ControlSource = "utilizator", ; + Column2.FontName = "Arial", ; + Column2.FontSize = 10, ; + Column2.Name = "cUtilizator", ; + Column2.ReadOnly = .T., ; + Column2.Width = 122, ; + Column3.ColumnOrder = 8, ; + Column3.ControlSource = "altele", ; + Column3.FontName = "Arial", ; + Column3.FontSize = 10, ; + Column3.Name = "cAltele", ; + Column3.ReadOnly = .T., ; + Column3.Width = 96, ; + Column4.ColumnOrder = 37, ; + Column4.ControlSource = "cod", ; + Column4.FontName = "Arial", ; + Column4.FontSize = 10, ; + Column4.Name = "cCod", ; + Column4.ReadOnly = .T., ; + Column4.Width = 81, ; + Column5.ColumnOrder = 4, ; + Column5.ControlSource = "numar_act", ; + Column5.FontName = "Arial", ; + Column5.FontSize = 10, ; + Column5.InputMask = "9999999999999999", ; + Column5.Name = "cNumar_act", ; + Column5.ReadOnly = .T., ; + Column5.Width = 68, ; + Column6.ColumnOrder = 7, ; + Column6.ControlSource = "explicatie", ; + Column6.FontName = "Arial", ; + Column6.FontSize = 10, ; + Column6.Name = "cExplicatie", ; + Column6.ReadOnly = .T., ; + Column6.Width = 119, ; + Column7.ColumnOrder = 5, ; + Column7.ControlSource = "client", ; + Column7.FontName = "Arial", ; + Column7.FontSize = 10, ; + Column7.Name = "cClient", ; + Column7.ReadOnly = .T., ; + Column7.Width = 112, ; + Column8.ColumnOrder = 35, ; + Column8.ControlSource = "utils", ; + Column8.FontName = "Arial", ; + Column8.FontSize = 10, ; + Column8.Name = "cUtils", ; + Column8.ReadOnly = .T., ; + Column8.Width = 107, ; + Column9.ColumnOrder = 36, ; + Column9.ControlSource = "dataoras", ; + Column9.FontName = "Arial", ; + Column9.FontSize = 10, ; + Column9.Name = "cDataoras", ; + Column9.ReadOnly = .T., ; + Column9.Width = 99, ; + Column10.ColumnOrder = 9, ; + Column10.ControlSource = "disc_fara_tva", ; + Column10.FontName = "Arial", ; + Column10.FontSize = 10, ; + Column10.InputMask = (get_mask(14,gnPc)), ; + Column10.Name = "cDisc_fara_tva", ; + Column10.ReadOnly = .T., ; + Column10.Width = 104, ; + Column11.ColumnOrder = 22, ; + Column11.ControlSource = "discount_evidentiat", ; + Column11.FontName = "Arial", ; + Column11.FontSize = 10, ; + Column11.Name = "cDiscount_evidentiat", ; + Column11.ReadOnly = .T., ; + Column11.Sparse = .F., ; + Column11.Width = 110, ; + Column12.ColumnOrder = 18, ; + Column12.ControlSource = "delegat", ; + Column12.FontName = "Arial", ; + Column12.FontSize = 10, ; + Column12.Name = "cDelegat", ; + Column12.ReadOnly = .T., ; + Column12.Width = 109, ; + Column13.ColumnOrder = 17, ; + Column13.ControlSource = "nume_agent", ; + Column13.FontName = "Arial", ; + Column13.FontSize = 10, ; + Column13.Name = "cNume_agent", ; + Column13.ReadOnly = .T., ; + Column13.Width = 115, ; + Column14.ColumnOrder = 19, ; + Column14.ControlSource = "nrinmat", ; + Column14.FontName = "Arial", ; + Column14.FontSize = 10, ; + Column14.Name = "cNrinmat", ; + Column14.ReadOnly = .T., ; + Column14.Width = 72, ; + Column15.ColumnOrder = 21, ; + Column15.ControlSource = "left(text_aditional,200)", ; + Column15.FontName = "Arial", ; + Column15.FontSize = 10, ; + Column15.Name = "cText_aditional", ; + Column15.ReadOnly = .T., ; + Column16.ColumnOrder = 12, ; + Column16.ControlSource = "total_cu_tva", ; + Column16.FontName = "Arial", ; + Column16.FontSize = 10, ; + Column16.InputMask = (get_mask(14,gnPc)), ; + Column16.Name = "cTotal_cu_tva", ; + Column16.ReadOnly = .T., ; + Column17.ColumnOrder = 10, ; + Column17.ControlSource = "total_fara_tva", ; + Column17.FontName = "Arial", ; + Column17.FontSize = 10, ; + Column17.InputMask = (get_mask(14,gnPc)), ; + Column17.Name = "cTotal_fara_tva", ; + Column17.ReadOnly = .T., ; + Column17.Width = 88, ; + Column18.ColumnOrder = 11, ; + Column18.ControlSource = "total_tva", ; + Column18.FontName = "Arial", ; + Column18.FontSize = 10, ; + Column18.InputMask = (get_mask(14,gnPc)), ; + Column18.Name = "cTotal_tva", ; + Column18.ReadOnly = .T., ; + Column18.Width = 83, ; + Column19.ColumnOrder = 2, ; + Column19.ControlSource = "data_act", ; + Column19.FontName = "Arial", ; + Column19.FontSize = 10, ; + Column19.Name = "cData_act", ; + Column19.ReadOnly = .T., ; + Column19.Width = 56, ; + Column20.ColumnOrder = 13, ; + Column20.ControlSource = "in_valuta", ; + Column20.FontName = "Arial", ; + Column20.FontSize = 10, ; + Column20.Name = "cIn_valuta", ; + Column20.ReadOnly = .T., ; + Column20.Sparse = .F., ; + Column20.Width = 37, ; + Column21.ColumnOrder = 3, ; + Column21.ControlSource = "serie_act", ; + Column21.FontName = "Arial", ; + Column21.FontSize = 10, ; + Column21.Name = "cSerie_act", ; + Column21.ReadOnly = .T., ; + Column21.Width = 50, ; + Column22.ColumnOrder = 23, ; + Column22.ControlSource = "sucursala", ; + Column22.FontName = "Arial", ; + Column22.FontSize = 10, ; + Column22.Name = "cSucursala", ; + Column22.ReadOnly = .T., ; + Column23.ColumnOrder = 1, ; + Column23.ControlSource = "ales", ; + Column23.FontName = "Arial", ; + Column23.FontSize = 10, ; + Column23.Name = "cAles", ; + Column23.ReadOnly = .F., ; + Column23.Sparse = .F., ; + Column23.Width = 31, ; + Column24.ColumnOrder = 20, ; + Column24.ControlSource = "ruta", ; + Column24.FontName = "Arial", ; + Column24.FontSize = 10, ; + Column24.Name = "cRuta", ; + Column24.ReadOnly = .T., ; + Column24.Width = 94, ; + Column25.ColumnOrder = 14, ; + Column25.ControlSource = "sectie", ; + Column25.FontName = "Arial", ; + Column25.FontSize = 10, ; + Column25.Name = "cSectie", ; + Column25.ReadOnly = .T., ; + Column26.ColumnOrder = 15, ; + Column26.ControlSource = "lucrare", ; + Column26.FontName = "Arial", ; + Column26.FontSize = 10, ; + Column26.Name = "cLucrare", ; + Column26.ReadOnly = .T., ; + Column27.ColumnOrder = 31, ; + Column27.ControlSource = "adresa_facturare", ; + Column27.FontName = "Arial", ; + Column27.FontSize = 10, ; + Column27.Name = "cAdresaFacturare", ; + Column27.ReadOnly = .T., ; + Column27.Width = 225, ; + Column28.ColumnOrder = 24, ; + Column28.ControlSource = "listare_detaliata", ; + Column28.CurrentControl = "Check1", ; + Column28.FontName = "Arial", ; + Column28.FontSize = 10, ; + Column28.Name = "cListareDetaliata", ; + Column28.ReadOnly = .T., ; + Column28.Sparse = .F., ; + Column28.Width = 58, ; + Column29.ColumnOrder = 25, ; + Column29.ControlSource = "beneficiar", ; + Column29.FontSize = 10, ; + Column29.Name = "cBeneficiar", ; + Column29.ReadOnly = .T., ; + Column29.Width = 166, ; + Column30.ColumnOrder = 26, ; + Column30.ControlSource = "ctip_factura", ; + Column30.FontSize = 10, ; + Column30.Name = "cTipFactura", ; + Column30.ReadOnly = .T., ; + Column30.Width = 139, ; + Column31.ColumnOrder = 16, ; + Column31.ControlSource = "contract", ; + Column31.FontSize = 10, ; + Column31.Name = "cContract", ; + Column31.ReadOnly = .T., ; + Column31.Width = 119, ; + Column32.ColumnOrder = 27, ; + Column32.ControlSource = "valuta", ; + Column32.FontSize = 10, ; + Column32.Name = "cValuta", ; + Column32.ReadOnly = .T., ; + Column33.ColumnOrder = 28, ; + Column33.ControlSource = "valval", ; + Column33.FontSize = 10, ; + Column33.Name = "cValval", ; + Column33.ReadOnly = .T., ; + Column33.Width = 98, ; + Column34.ColumnOrder = 29, ; + Column34.ControlSource = "tvaval", ; + Column34.FontSize = 10, ; + Column34.Name = "cTVAVal", ; + Column34.ReadOnly = .T., ; + Column34.Width = 98, ; + Column35.ColumnOrder = 30, ; + Column35.ControlSource = "totval", ; + Column35.FontSize = 10, ; + Column35.Name = "cTotval", ; + Column35.ReadOnly = .T., ; + Column35.Width = 96, ; + Column36.ColumnOrder = 32, ; + Column36.ControlSource = "email_facturare", ; + Column36.FontSize = 10, ; + Column36.Name = "cEmailFacturare", ; + Column36.ReadOnly = .T., ; + Column36.Width = 172, ; + Column37.ColumnOrder = 38, ; + Column37.ControlSource = "eproforma", ; + Column37.CurrentControl = "_checkbox1", ; + Column37.FontSize = 10, ; + Column37.Name = "cEproforma", ; + Column37.ReadOnly = .T., ; + Column37.Sparse = .F., ; + Column37.Width = 55, ; + Column38.ColumnOrder = 39, ; + Column38.ControlSource = "tip_saftname", ; + Column38.FontSize = 10, ; + Column38.Name = "cTipSaft", ; + Column38.ReadOnly = .T., ; + Column38.Width = 125, ; + Column39.ColumnOrder = 40, ; + Column39.ControlSource = "adresa_livrare", ; + Column39.FontSize = 10, ; + Column39.Name = "cAdresaLivrare", ; + Column39.ReadOnly = .T., ; + Column39.Width = 142, ; + Column40.ColumnOrder = 41, ; + Column40.ControlSource = "denumire_adresa_livrare", ; + Column40.FontSize = 10, ; + Column40.Name = "cDenumireAdresaLivrare", ; + Column40.ReadOnly = .T., ; + Column40.Width = 137, ; + Column41.ColumnOrder = 42, ; + Column41.ControlSource = "email_livrare", ; + Column41.FontSize = 10, ; + Column41.Name = "cEmailLivrare", ; + Column41.ReadOnly = .T., ; + Column41.Width = 169, ; + Column42.ColumnOrder = 43, ; + Column42.ControlSource = "efactura", ; + Column42.CurrentControl = "_checkbox1", ; + Column42.FontSize = 10, ; + Column42.Name = "cEfactura", ; + Column42.ReadOnly = .T., ; + Column42.Sparse = .F., ; + Column42.Width = 52, ; + Column43.ColumnOrder = 44, ; + Column43.ControlSource = "institutie_publica", ; + Column43.CurrentControl = "_checkbox1", ; + Column43.FontSize = 10, ; + Column43.Name = "cInstitutiePublica", ; + Column43.ReadOnly = .T., ; + Column43.Sparse = .F., ; + Column43.Width = 57, ; + Column44.ColumnOrder = 6, ; + Column44.ControlSource = "cod_fiscal", ; + Column44.FontSize = 10, ; + Column44.Name = "cCodFiscal", ; + Column44.ReadOnly = .T., ; + Column44.Width = 103 + *< END OBJECT: ClassLib="_grd_base.vcx" BaseClass="grid" /> + + ADD OBJECT 'grid_facturi.cAdresaFacturare.Header1' AS header WITH ; + Alignment = 2, ; + Caption = "Adresa facturare", ; + FontName = "Arial", ; + FontSize = 10, ; + Name = "Header1" + *< END OBJECT: BaseClass="header" /> + + ADD OBJECT 'grid_facturi.cAdresaFacturare.Text1' AS textbox WITH ; + BackColor = 255,255,255, ; + BorderStyle = 0, ; + FontName = "Arial", ; + FontSize = 10, ; + ForeColor = 0,0,0, ; + Margin = 0, ; + Name = "Text1", ; + ReadOnly = .T., ; + SelectedBackColor = 0,0,255 + *< END OBJECT: BaseClass="textbox" /> + + ADD OBJECT 'grid_facturi.cAdresaLivrare.Header1' AS header WITH ; + Alignment = 2, ; + Caption = "Adresa livrare comanda", ; + FontSize = 10, ; + Name = "Header1" + *< END OBJECT: BaseClass="header" /> + + ADD OBJECT 'grid_facturi.cAdresaLivrare.Text1' AS textbox WITH ; + BackColor = 255,255,255, ; + BorderStyle = 0, ; + FontSize = 10, ; + ForeColor = 0,0,0, ; + Margin = 0, ; + Name = "Text1", ; + ReadOnly = .T., ; + SelectedBackColor = 0,0,255 + *< END OBJECT: BaseClass="textbox" /> + + ADD OBJECT 'grid_facturi.cAles._checkbox1' AS _checkbox WITH ; + Alignment = 2, ; + Caption = "", ; + Centered = .T., ; + FontName = "Arial", ; + FontSize = 10, ; + Left = 19, ; + Name = "_checkbox1", ; + ReadOnly = .F., ; + Top = 50 + *< END OBJECT: ClassLib="_baza.vcx" BaseClass="checkbox" /> + + ADD OBJECT 'grid_facturi.cAles.Header1' AS header WITH ; + Alignment = 2, ; + Caption = "Ales", ; + FontName = "Arial", ; + FontSize = 10, ; + Name = "Header1" + *< END OBJECT: BaseClass="header" /> + + ADD OBJECT 'grid_facturi.cAltele.Header1' AS header WITH ; + Alignment = 2, ; + Caption = "Detalii", ; + FontName = "Arial", ; + FontSize = 10, ; + Name = "Header1" + *< END OBJECT: BaseClass="header" /> + + ADD OBJECT 'grid_facturi.cAltele.Text1' AS textbox WITH ; + BackColor = 255,255,255, ; + BorderStyle = 0, ; + FontName = "Arial", ; + FontSize = 10, ; + ForeColor = 0,0,0, ; + Margin = 0, ; + Name = "Text1", ; + ReadOnly = .T., ; + SelectedBackColor = 0,0,255 + *< END OBJECT: BaseClass="textbox" /> + + ADD OBJECT 'grid_facturi.cBeneficiar.Header1' AS header WITH ; + Alignment = 2, ; + Caption = "Beneficiar", ; + FontSize = 10, ; + Name = "Header1" + *< END OBJECT: BaseClass="header" /> + + ADD OBJECT 'grid_facturi.cBeneficiar.Text1' AS textbox WITH ; + BackColor = 255,255,255, ; + BorderStyle = 0, ; + FontSize = 10, ; + ForeColor = 0,0,0, ; + Margin = 0, ; + Name = "Text1", ; + ReadOnly = .T., ; + SelectedBackColor = 0,0,255 + *< END OBJECT: BaseClass="textbox" /> + + ADD OBJECT 'grid_facturi.cClient.Header1' AS header WITH ; + Alignment = 2, ; + Caption = "Partener", ; + FontName = "Arial", ; + FontSize = 10, ; + Name = "Header1" + *< END OBJECT: BaseClass="header" /> + + ADD OBJECT 'grid_facturi.cClient.Text1' AS textbox WITH ; + BackColor = 255,255,255, ; + BorderStyle = 0, ; + FontName = "Arial", ; + FontSize = 10, ; + ForeColor = 0,0,0, ; + Margin = 0, ; + Name = "Text1", ; + ReadOnly = .T., ; + SelectedBackColor = 0,0,255 + *< END OBJECT: BaseClass="textbox" /> + + ADD OBJECT 'grid_facturi.cCod.Header1' AS header WITH ; + Alignment = 2, ; + Caption = "Cod", ; + FontName = "Arial", ; + FontSize = 10, ; + Name = "Header1" + *< END OBJECT: BaseClass="header" /> + + ADD OBJECT 'grid_facturi.cCod.Text1' AS textbox WITH ; + BackColor = 255,255,255, ; + BorderStyle = 0, ; + FontName = "Arial", ; + FontSize = 10, ; + ForeColor = 0,0,0, ; + Margin = 0, ; + Name = "Text1", ; + ReadOnly = .T., ; + SelectedBackColor = 0,0,255 + *< END OBJECT: BaseClass="textbox" /> + + ADD OBJECT 'grid_facturi.cCodFiscal.Header1' AS header WITH ; + Alignment = 2, ; + Caption = "Cod fiscal", ; + FontSize = 10, ; + Name = "Header1" + *< END OBJECT: BaseClass="header" /> + + ADD OBJECT 'grid_facturi.cCodFiscal.Text1' AS textbox WITH ; + BackColor = 255,255,255, ; + BorderStyle = 0, ; + FontSize = 10, ; + ForeColor = 0,0,0, ; + Margin = 0, ; + Name = "Text1", ; + ReadOnly = .T., ; + SelectedBackColor = 0,0,255 + *< END OBJECT: BaseClass="textbox" /> + + ADD OBJECT 'grid_facturi.cContract.Header1' AS header WITH ; + Alignment = 2, ; + Caption = "Contract", ; + FontSize = 10, ; + Name = "Header1" + *< END OBJECT: BaseClass="header" /> + + ADD OBJECT 'grid_facturi.cContract.Text1' AS textbox WITH ; + BackColor = 255,255,255, ; + BorderStyle = 0, ; + FontSize = 10, ; + ForeColor = 0,0,0, ; + Margin = 0, ; + Name = "Text1", ; + ReadOnly = .T., ; + SelectedBackColor = 0,0,255 + *< END OBJECT: BaseClass="textbox" /> + + ADD OBJECT 'grid_facturi.cData_act.Header1' AS header WITH ; + Alignment = 2, ; + Caption = "Data act", ; + FontName = "Arial", ; + FontSize = 10, ; + Name = "Header1" + *< END OBJECT: BaseClass="header" /> + + ADD OBJECT 'grid_facturi.cData_act.Text1' AS textbox WITH ; + BackColor = 255,255,255, ; + BorderStyle = 0, ; + ControlSource = "data_act", ; + FontName = "Arial", ; + FontSize = 10, ; + ForeColor = 0,0,0, ; + Margin = 0, ; + Name = "Text1", ; + ReadOnly = .T., ; + SelectedBackColor = 0,0,255 + *< END OBJECT: BaseClass="textbox" /> + + ADD OBJECT 'grid_facturi.cDataora.Header1' AS header WITH ; + Alignment = 2, ; + Caption = "Dataora introducerii", ; + FontName = "Arial", ; + FontSize = 10, ; + Name = "Header1" + *< END OBJECT: BaseClass="header" /> + + ADD OBJECT 'grid_facturi.cDataora.Text1' AS textbox WITH ; + BackColor = 255,255,255, ; + BorderStyle = 0, ; + FontName = "Arial", ; + FontSize = 10, ; + ForeColor = 0,0,0, ; + Margin = 0, ; + Name = "Text1", ; + ReadOnly = .T., ; + SelectedBackColor = 0,0,255 + *< END OBJECT: BaseClass="textbox" /> + + ADD OBJECT 'grid_facturi.cDataoras.Header1' AS header WITH ; + Alignment = 2, ; + Caption = "Dataora stergerii", ; + FontName = "Arial", ; + FontSize = 10, ; + Name = "Header1" + *< END OBJECT: BaseClass="header" /> + + ADD OBJECT 'grid_facturi.cDataoras.Text1' AS textbox WITH ; + BackColor = 255,255,255, ; + BorderStyle = 0, ; + FontName = "Arial", ; + FontSize = 10, ; + ForeColor = 0,0,0, ; + Margin = 0, ; + Name = "Text1", ; + ReadOnly = .T., ; + SelectedBackColor = 0,0,255 + *< END OBJECT: BaseClass="textbox" /> + + ADD OBJECT 'grid_facturi.cDelegat.Header1' AS header WITH ; + Alignment = 2, ; + Caption = "Delegat", ; + FontName = "Arial", ; + FontSize = 10, ; + Name = "Header1" + *< END OBJECT: BaseClass="header" /> + + ADD OBJECT 'grid_facturi.cDelegat.Text1' AS textbox WITH ; + BackColor = 255,255,255, ; + BorderStyle = 0, ; + FontName = "Arial", ; + FontSize = 10, ; + ForeColor = 0,0,0, ; + Margin = 0, ; + Name = "Text1", ; + ReadOnly = .T., ; + SelectedBackColor = 0,0,255 + *< END OBJECT: BaseClass="textbox" /> + + ADD OBJECT 'grid_facturi.cDenumireAdresaLivrare.Header1' AS header WITH ; + Alignment = 2, ; + Caption = "Denumire adresa livrare", ; + FontSize = 10, ; + Name = "Header1" + *< END OBJECT: BaseClass="header" /> + + ADD OBJECT 'grid_facturi.cDenumireAdresaLivrare.Text1' AS textbox WITH ; + BackColor = 255,255,255, ; + BorderStyle = 0, ; + FontSize = 10, ; + ForeColor = 0,0,0, ; + Margin = 0, ; + Name = "Text1", ; + ReadOnly = .T., ; + SelectedBackColor = 0,0,255 + *< END OBJECT: BaseClass="textbox" /> + + ADD OBJECT 'grid_facturi.cDisc_fara_tva.Header1' AS header WITH ; + Alignment = 2, ; + Caption = "Discount pe factura (fara TVA)", ; + FontName = "Arial", ; + FontSize = 10, ; + Name = "Header1", ; + WordWrap = .T. + *< END OBJECT: BaseClass="header" /> + + ADD OBJECT 'grid_facturi.cDisc_fara_tva.Text1' AS textbox WITH ; + BackColor = 255,255,255, ; + BorderStyle = 0, ; + FontName = "Arial", ; + FontSize = 10, ; + ForeColor = 0,0,0, ; + Margin = 0, ; + Name = "Text1", ; + ReadOnly = .T., ; + SelectedBackColor = 0,0,255 + *< END OBJECT: BaseClass="textbox" /> + + ADD OBJECT 'grid_facturi.cDiscount_evidentiat._checkbox1' AS _checkbox WITH ; + Alignment = 2, ; + AutoSize = .F., ; + Caption = "", ; + Centered = .T., ; + FontName = "Arial", ; + FontSize = 10, ; + Left = 49, ; + Name = "_checkbox1", ; + ReadOnly = .T., ; + Top = 50 + *< END OBJECT: ClassLib="_baza.vcx" BaseClass="checkbox" /> + + ADD OBJECT 'grid_facturi.cDiscount_evidentiat.Header1' AS header WITH ; + Alignment = 2, ; + Caption = "Discount evidentiat pe factura", ; + FontName = "Arial", ; + FontSize = 10, ; + Name = "Header1", ; + WordWrap = .T. + *< END OBJECT: BaseClass="header" /> + + ADD OBJECT 'grid_facturi.cEfactura._checkbox1' AS _checkbox WITH ; + Alignment = 0, ; + Caption = "", ; + FontSize = 10, ; + Left = 22, ; + Name = "_checkbox1", ; + ReadOnly = .T., ; + Top = 71 + *< END OBJECT: ClassLib="..\..\..\roaimob\comun\clase\_baza.vcx" BaseClass="checkbox" /> + + ADD OBJECT 'grid_facturi.cEfactura.Header1' AS header WITH ; + Alignment = 2, ; + Caption = "eFactura", ; + FontSize = 10, ; + Name = "Header1" + *< END OBJECT: BaseClass="header" /> + + ADD OBJECT 'grid_facturi.cEfactura.Text1' AS textbox WITH ; + BackColor = 255,255,255, ; + BorderStyle = 0, ; + ForeColor = 0,0,0, ; + Margin = 0, ; + Name = "Text1", ; + SelectedBackColor = 0,0,255 + *< END OBJECT: BaseClass="textbox" /> + + ADD OBJECT 'grid_facturi.cEmailFacturare.Header1' AS header WITH ; + Alignment = 2, ; + Caption = "Email facturare", ; + FontSize = 10, ; + Name = "Header1" + *< END OBJECT: BaseClass="header" /> + + ADD OBJECT 'grid_facturi.cEmailFacturare.Text1' AS textbox WITH ; + BackColor = 255,255,255, ; + BorderStyle = 0, ; + FontSize = 10, ; + ForeColor = 0,0,0, ; + Margin = 0, ; + Name = "Text1", ; + ReadOnly = .T., ; + SelectedBackColor = 0,0,255 + *< END OBJECT: BaseClass="textbox" /> + + ADD OBJECT 'grid_facturi.cEmailLivrare.Header1' AS header WITH ; + Alignment = 2, ; + Caption = "Email adresa livrare", ; + FontSize = 10, ; + Name = "Header1" + *< END OBJECT: BaseClass="header" /> + + ADD OBJECT 'grid_facturi.cEmailLivrare.Text1' AS textbox WITH ; + BackColor = 255,255,255, ; + BorderStyle = 0, ; + FontSize = 10, ; + ForeColor = 0,0,0, ; + Margin = 0, ; + Name = "Text1", ; + ReadOnly = .T., ; + SelectedBackColor = 0,0,255 + *< END OBJECT: BaseClass="textbox" /> + + ADD OBJECT 'grid_facturi.cEproforma._checkbox1' AS _checkbox WITH ; + Alignment = 2, ; + Caption = "", ; + ControlSource = "eproforma", ; + FontSize = 10, ; + Left = 17, ; + Name = "_checkbox1", ; + Top = 107 + *< END OBJECT: ClassLib="_baza.vcx" BaseClass="checkbox" /> + + ADD OBJECT 'grid_facturi.cEproforma.Header1' AS header WITH ; + Alignment = 2, ; + Caption = "Proforma", ; + FontSize = 10, ; + Name = "Header1" + *< END OBJECT: BaseClass="header" /> + + ADD OBJECT 'grid_facturi.cEproforma.Text1' AS textbox WITH ; + BackColor = 255,255,255, ; + BorderStyle = 0, ; + ForeColor = 0,0,0, ; + Margin = 0, ; + Name = "Text1", ; + ReadOnly = .T., ; + SelectedBackColor = 0,0,255 + *< END OBJECT: BaseClass="textbox" /> + + ADD OBJECT 'grid_facturi.cExplicatie.Header1' AS header WITH ; + Alignment = 2, ; + Caption = "Explicatie", ; + FontName = "Arial", ; + FontSize = 10, ; + Name = "Header1" + *< END OBJECT: BaseClass="header" /> + + ADD OBJECT 'grid_facturi.cExplicatie.Text1' AS textbox WITH ; + BackColor = 255,255,255, ; + BorderStyle = 0, ; + FontName = "Arial", ; + FontSize = 10, ; + ForeColor = 0,0,0, ; + Margin = 0, ; + Name = "Text1", ; + ReadOnly = .T., ; + SelectedBackColor = 0,0,255 + *< END OBJECT: BaseClass="textbox" /> + + ADD OBJECT 'grid_facturi.cIn_valuta._checkbox1' AS _checkbox WITH ; + Alignment = 2, ; + Caption = "", ; + Centered = .T., ; + FontName = "Arial", ; + FontSize = 10, ; + Left = 31, ; + Name = "_checkbox1", ; + ReadOnly = .T., ; + Top = 38 + *< END OBJECT: ClassLib="_baza.vcx" BaseClass="checkbox" /> + + ADD OBJECT 'grid_facturi.cIn_valuta.Header1' AS header WITH ; + Alignment = 2, ; + Caption = "In valuta", ; + FontName = "Arial", ; + FontSize = 10, ; + Name = "Header1" + *< END OBJECT: BaseClass="header" /> + + ADD OBJECT 'grid_facturi.cInstitutiePublica._checkbox1' AS _checkbox WITH ; + Alignment = 0, ; + Caption = "", ; + FontSize = 10, ; + Left = 25, ; + Name = "_checkbox1", ; + ReadOnly = .T., ; + Top = 71 + *< END OBJECT: ClassLib="..\..\..\roaimob\comun\clase\_baza.vcx" BaseClass="checkbox" /> + + ADD OBJECT 'grid_facturi.cInstitutiePublica.Header1' AS header WITH ; + Alignment = 2, ; + Caption = "Inst. publ.", ; + FontSize = 10, ; + Name = "Header1" + *< END OBJECT: BaseClass="header" /> + + ADD OBJECT 'grid_facturi.cInstitutiePublica.Text1' AS textbox WITH ; + BackColor = 255,255,255, ; + BorderStyle = 0, ; + ForeColor = 0,0,0, ; + Margin = 0, ; + Name = "Text1", ; + SelectedBackColor = 0,0,255 + *< END OBJECT: BaseClass="textbox" /> + + ADD OBJECT 'grid_facturi.cListareDetaliata.Check1' AS checkbox WITH ; + Alignment = 0, ; + Caption = "", ; + FontName = "Arial", ; + FontSize = 10, ; + Height = 17, ; + Left = 21, ; + Name = "Check1", ; + ReadOnly = .T., ; + Top = 72, ; + Width = 60 + *< END OBJECT: BaseClass="checkbox" /> + + ADD OBJECT 'grid_facturi.cListareDetaliata.Header1' AS header WITH ; + Alignment = 2, ; + Caption = "Listare detaliata", ; + FontName = "Arial", ; + FontSize = 10, ; + Name = "Header1", ; + WordWrap = .T. + *< END OBJECT: BaseClass="header" /> + + ADD OBJECT 'grid_facturi.cListareDetaliata.Text1' AS textbox WITH ; + BackColor = 255,255,255, ; + BorderStyle = 0, ; + FontName = "Arial Narrow", ; + ForeColor = 0,0,0, ; + Margin = 0, ; + Name = "Text1", ; + SelectedBackColor = 0,0,255 + *< END OBJECT: BaseClass="textbox" /> + + ADD OBJECT 'grid_facturi.cLucrare.Header1' AS header WITH ; + Alignment = 2, ; + Caption = "Lucrare", ; + FontName = "Arial", ; + FontSize = 10, ; + Name = "Header1" + *< END OBJECT: BaseClass="header" /> + + ADD OBJECT 'grid_facturi.cLucrare.Text1' AS textbox WITH ; + BackColor = 255,255,255, ; + BorderStyle = 0, ; + FontName = "Arial", ; + FontSize = 10, ; + ForeColor = 0,0,0, ; + Margin = 0, ; + Name = "Text1", ; + ReadOnly = .T., ; + SelectedBackColor = 0,0,255 + *< END OBJECT: BaseClass="textbox" /> + + ADD OBJECT 'grid_facturi.cNrinmat.Header1' AS header WITH ; + Alignment = 2, ; + Caption = "Masina", ; + FontName = "Arial", ; + FontSize = 10, ; + Name = "Header1" + *< END OBJECT: BaseClass="header" /> + + ADD OBJECT 'grid_facturi.cNrinmat.Text1' AS textbox WITH ; + BackColor = 255,255,255, ; + BorderStyle = 0, ; + FontName = "Arial", ; + FontSize = 10, ; + ForeColor = 0,0,0, ; + Margin = 0, ; + Name = "Text1", ; + ReadOnly = .T., ; + SelectedBackColor = 0,0,255 + *< END OBJECT: BaseClass="textbox" /> + + ADD OBJECT 'grid_facturi.cNumar_act.Header1' AS header WITH ; + Alignment = 2, ; + Caption = "Numar act", ; + FontName = "Arial", ; + FontSize = 10, ; + Name = "Header1" + *< END OBJECT: BaseClass="header" /> + + ADD OBJECT 'grid_facturi.cNumar_act.Text1' AS textbox WITH ; + BackColor = 255,255,255, ; + BorderStyle = 0, ; + FontName = "Arial", ; + FontSize = 10, ; + ForeColor = 0,0,0, ; + Margin = 0, ; + Name = "Text1", ; + ReadOnly = .T., ; + SelectedBackColor = 0,0,255 + *< END OBJECT: BaseClass="textbox" /> + + ADD OBJECT 'grid_facturi.cNume_agent.Header1' AS header WITH ; + Alignment = 2, ; + Caption = "Agent", ; + FontName = "Arial", ; + FontSize = 10, ; + Name = "Header1" + *< END OBJECT: BaseClass="header" /> + + ADD OBJECT 'grid_facturi.cNume_agent.Text1' AS textbox WITH ; + BackColor = 255,255,255, ; + BorderStyle = 0, ; + FontName = "Arial", ; + FontSize = 10, ; + ForeColor = 0,0,0, ; + Margin = 0, ; + Name = "Text1", ; + ReadOnly = .T., ; + SelectedBackColor = 0,0,255 + *< END OBJECT: BaseClass="textbox" /> + + ADD OBJECT 'grid_facturi.cRuta.Header1' AS header WITH ; + Alignment = 2, ; + Caption = "Ruta", ; + FontName = "Arial", ; + FontSize = 10, ; + Name = "Header1" + *< END OBJECT: BaseClass="header" /> + + ADD OBJECT 'grid_facturi.cRuta.Text1' AS textbox WITH ; + BackColor = 255,255,255, ; + BorderStyle = 0, ; + FontName = "Arial", ; + FontSize = 10, ; + ForeColor = 0,0,0, ; + Margin = 0, ; + Name = "Text1", ; + ReadOnly = .T., ; + SelectedBackColor = 0,0,255 + *< END OBJECT: BaseClass="textbox" /> + + ADD OBJECT 'grid_facturi.cSectie.Header1' AS header WITH ; + Alignment = 2, ; + Caption = "Sectie", ; + FontName = "Arial", ; + FontSize = 10, ; + Name = "Header1" + *< END OBJECT: BaseClass="header" /> + + ADD OBJECT 'grid_facturi.cSectie.Text1' AS textbox WITH ; + BackColor = 255,255,255, ; + BorderStyle = 0, ; + FontName = "Arial", ; + FontSize = 10, ; + ForeColor = 0,0,0, ; + Margin = 0, ; + Name = "Text1", ; + ReadOnly = .T., ; + SelectedBackColor = 0,0,255 + *< END OBJECT: BaseClass="textbox" /> + + ADD OBJECT 'grid_facturi.cSerie_act.Header1' AS header WITH ; + Alignment = 2, ; + Caption = "Serie act", ; + FontName = "Arial", ; + FontSize = 10, ; + Name = "Header1" + *< END OBJECT: BaseClass="header" /> + + ADD OBJECT 'grid_facturi.cSerie_act.Text1' AS textbox WITH ; + BackColor = 255,255,255, ; + BorderStyle = 0, ; + FontName = "Arial", ; + FontSize = 10, ; + ForeColor = 0,0,0, ; + Margin = 0, ; + Name = "Text1", ; + ReadOnly = .T., ; + SelectedBackColor = 0,0,255 + *< END OBJECT: BaseClass="textbox" /> + + ADD OBJECT 'grid_facturi.cSucursala.Header1' AS header WITH ; + Alignment = 2, ; + Caption = "Sucursala", ; + FontName = "Arial", ; + FontSize = 10, ; + Name = "Header1" + *< END OBJECT: BaseClass="header" /> + + ADD OBJECT 'grid_facturi.cSucursala.Text1' AS textbox WITH ; + BackColor = 255,255,255, ; + BorderStyle = 0, ; + FontName = "Arial", ; + FontSize = 10, ; + ForeColor = 0,0,0, ; + Margin = 0, ; + Name = "Text1", ; + ReadOnly = .T., ; + SelectedBackColor = 0,0,255 + *< END OBJECT: BaseClass="textbox" /> + + ADD OBJECT 'grid_facturi.cText_aditional.Header1' AS header WITH ; + Alignment = 2, ; + Caption = "Text aditional", ; + FontName = "Arial", ; + FontSize = 10, ; + Name = "Header1" + *< END OBJECT: BaseClass="header" /> + + ADD OBJECT 'grid_facturi.cText_aditional.Text1' AS textbox WITH ; + BackColor = 255,255,255, ; + BorderStyle = 0, ; + FontName = "Arial", ; + FontSize = 10, ; + ForeColor = 0,0,0, ; + Margin = 0, ; + Name = "Text1", ; + ReadOnly = .T., ; + SelectedBackColor = 0,0,255 + *< END OBJECT: BaseClass="textbox" /> + + ADD OBJECT 'grid_facturi.cTipFactura.Header1' AS header WITH ; + Alignment = 2, ; + Caption = "Tip", ; + FontSize = 10, ; + Name = "Header1" + *< END OBJECT: BaseClass="header" /> + + ADD OBJECT 'grid_facturi.cTipFactura.Text1' AS textbox WITH ; + BackColor = 255,255,255, ; + BorderStyle = 0, ; + FontSize = 10, ; + ForeColor = 0,0,0, ; + Margin = 0, ; + Name = "Text1", ; + ReadOnly = .T., ; + SelectedBackColor = 0,0,255 + *< END OBJECT: BaseClass="textbox" /> + + ADD OBJECT 'grid_facturi.cTipSaft.Header1' AS header WITH ; + Alignment = 2, ; + Caption = "Tip SAFT", ; + FontSize = 10, ; + Name = "Header1" + *< END OBJECT: BaseClass="header" /> + + ADD OBJECT 'grid_facturi.cTipSaft.Text1' AS textbox WITH ; + BackColor = 255,255,255, ; + BorderStyle = 0, ; + FontSize = 10, ; + ForeColor = 0,0,0, ; + Margin = 0, ; + Name = "Text1", ; + ReadOnly = .T., ; + SelectedBackColor = 0,0,255 + *< END OBJECT: BaseClass="textbox" /> + + ADD OBJECT 'grid_facturi.cTotal_cu_tva.Header1' AS header WITH ; + Alignment = 2, ; + Caption = "Total cu TVA", ; + FontName = "Arial", ; + FontSize = 10, ; + Name = "Header1" + *< END OBJECT: BaseClass="header" /> + + ADD OBJECT 'grid_facturi.cTotal_cu_tva.Text1' AS textbox WITH ; + BackColor = 255,255,255, ; + BorderStyle = 0, ; + FontName = "Arial", ; + FontSize = 10, ; + ForeColor = 0,0,0, ; + Margin = 0, ; + Name = "Text1", ; + ReadOnly = .T., ; + SelectedBackColor = 0,0,255 + *< END OBJECT: BaseClass="textbox" /> + + ADD OBJECT 'grid_facturi.cTotal_fara_tva.Header1' AS header WITH ; + Alignment = 2, ; + Caption = "Total fara TVA", ; + FontName = "Arial", ; + FontSize = 10, ; + Name = "Header1" + *< END OBJECT: BaseClass="header" /> + + ADD OBJECT 'grid_facturi.cTotal_fara_tva.Text1' AS textbox WITH ; + BackColor = 255,255,255, ; + BorderStyle = 0, ; + FontName = "Arial", ; + FontSize = 10, ; + ForeColor = 0,0,0, ; + Margin = 0, ; + Name = "Text1", ; + ReadOnly = .T., ; + SelectedBackColor = 0,0,255 + *< END OBJECT: BaseClass="textbox" /> + + ADD OBJECT 'grid_facturi.cTotal_tva.Header1' AS header WITH ; + Alignment = 2, ; + Caption = "Total TVA", ; + FontName = "Arial", ; + FontSize = 10, ; + Name = "Header1" + *< END OBJECT: BaseClass="header" /> + + ADD OBJECT 'grid_facturi.cTotal_tva.Text1' AS textbox WITH ; + BackColor = 255,255,255, ; + BorderStyle = 0, ; + FontName = "Arial", ; + FontSize = 10, ; + ForeColor = 0,0,0, ; + Margin = 0, ; + Name = "Text1", ; + ReadOnly = .T., ; + SelectedBackColor = 0,0,255 + *< END OBJECT: BaseClass="textbox" /> + + ADD OBJECT 'grid_facturi.cTotval.Header1' AS header WITH ; + Alignment = 2, ; + Caption = "Valoare cu TVA in valuta", ; + FontSize = 10, ; + Name = "Header1", ; + WordWrap = .T. + *< END OBJECT: BaseClass="header" /> + + ADD OBJECT 'grid_facturi.cTotval.Text1' AS textbox WITH ; + BackColor = 255,255,255, ; + BorderStyle = 0, ; + FontSize = 10, ; + ForeColor = 0,0,0, ; + Margin = 0, ; + Name = "Text1", ; + ReadOnly = .T., ; + SelectedBackColor = 0,0,255 + *< END OBJECT: BaseClass="textbox" /> + + ADD OBJECT 'grid_facturi.cTVAVal.Header1' AS header WITH ; + Alignment = 2, ; + Caption = "Valoare TVA in valuta", ; + FontSize = 10, ; + Name = "Header1", ; + WordWrap = .T. + *< END OBJECT: BaseClass="header" /> + + ADD OBJECT 'grid_facturi.cTVAVal.Text1' AS textbox WITH ; + BackColor = 255,255,255, ; + BorderStyle = 0, ; + FontSize = 10, ; + ForeColor = 0,0,0, ; + Margin = 0, ; + Name = "Text1", ; + ReadOnly = .T., ; + SelectedBackColor = 0,0,255 + *< END OBJECT: BaseClass="textbox" /> + + ADD OBJECT 'grid_facturi.cUtilizator.Header1' AS header WITH ; + Alignment = 2, ; + Caption = "Operator introducere", ; + FontName = "Arial", ; + FontSize = 10, ; + Name = "Header1" + *< END OBJECT: BaseClass="header" /> + + ADD OBJECT 'grid_facturi.cUtilizator.Text1' AS textbox WITH ; + BackColor = 255,255,255, ; + BorderStyle = 0, ; + FontName = "Arial", ; + FontSize = 10, ; + ForeColor = 0,0,0, ; + Margin = 0, ; + Name = "Text1", ; + ReadOnly = .T., ; + SelectedBackColor = 0,0,255 + *< END OBJECT: BaseClass="textbox" /> + + ADD OBJECT 'grid_facturi.cUtils.Header1' AS header WITH ; + Alignment = 2, ; + Caption = "Operator stergere", ; + FontName = "Arial", ; + FontSize = 10, ; + Name = "Header1" + *< END OBJECT: BaseClass="header" /> + + ADD OBJECT 'grid_facturi.cUtils.Text1' AS textbox WITH ; + BackColor = 255,255,255, ; + BorderStyle = 0, ; + FontName = "Arial", ; + FontSize = 10, ; + ForeColor = 0,0,0, ; + Margin = 0, ; + Name = "Text1", ; + ReadOnly = .T., ; + SelectedBackColor = 0,0,255 + *< END OBJECT: BaseClass="textbox" /> + + ADD OBJECT 'grid_facturi.cValuta.Header1' AS header WITH ; + Alignment = 2, ; + Caption = "Valuta", ; + FontSize = 10, ; + Name = "Header1" + *< END OBJECT: BaseClass="header" /> + + ADD OBJECT 'grid_facturi.cValuta.Text1' AS textbox WITH ; + BackColor = 255,255,255, ; + BorderStyle = 0, ; + FontSize = 10, ; + ForeColor = 0,0,0, ; + Margin = 0, ; + Name = "Text1", ; + ReadOnly = .T., ; + SelectedBackColor = 0,0,255 + *< END OBJECT: BaseClass="textbox" /> + + ADD OBJECT 'grid_facturi.cValval.Header1' AS header WITH ; + Alignment = 2, ; + Caption = "Valoare fara TVA in valuta", ; + FontSize = 10, ; + Name = "Header1", ; + WordWrap = .T. + *< END OBJECT: BaseClass="header" /> + + ADD OBJECT 'grid_facturi.cValval.Text1' AS textbox WITH ; + BackColor = 255,255,255, ; + BorderStyle = 0, ; + FontSize = 10, ; + ForeColor = 0,0,0, ; + Margin = 0, ; + Name = "Text1", ; + ReadOnly = .T., ; + SelectedBackColor = 0,0,255 + *< END OBJECT: BaseClass="textbox" /> + + ADD OBJECT 'Gridextra1' AS gridextra WITH ; + gridexpression = Thisform.grid_facturi, ; + Left = 732, ; + Name = "Gridextra1", ; + Top = 312 + *< END OBJECT: ClassLib="..\utile\gridextras\gridextras.vcx" BaseClass="custom" /> + + ADD OBJECT 'Gridextra2' AS gridextra WITH ; + gridexpression = Thisform.grid_detalii, ; + Left = 737, ; + Name = "Gridextra2", ; + Top = 544 + *< END OBJECT: ClassLib="..\utile\gridextras\gridextras.vcx" BaseClass="custom" /> + + ADD OBJECT 'lb_total_ron' AS label WITH ; + Anchor = 12, ; + AutoSize = .T., ; + BackStyle = 0, ; + Caption = "Total lei", ; + FontSize = 10, ; + Height = 18, ; + Left = 556, ; + Name = "lb_total_ron", ; + TabIndex = 22, ; + Top = 565, ; + Visible = .F., ; + Width = 47, ; + ZOrderSet = 17 + *< END OBJECT: BaseClass="label" /> + + ADD OBJECT 'lb_total_val' AS label WITH ; + Anchor = 12, ; + AutoSize = .T., ; + BackStyle = 0, ; + Caption = "Total în valuta", ; + FontSize = 10, ; + Height = 18, ; + Left = 311, ; + Name = "lb_total_val", ; + TabIndex = 23, ; + Top = 565, ; + Visible = .F., ; + Width = 81, ; + ZOrderSet = 18 + *< END OBJECT: BaseClass="label" /> + + ADD OBJECT 'txtTotalLei' AS textbox WITH ; + Anchor = 12, ; + ControlSource = "thisform.nDetalii", ; + FontSize = 10, ; + Format = "rk", ; + Height = 23, ; + InputMask = (get_mask(16,gnPc)), ; + Left = 608, ; + Name = "txtTotalLei", ; + ReadOnly = .T., ; + TabIndex = 25, ; + Top = 562, ; + Visible = .F., ; + Width = 139, ; + ZOrderSet = 20 + *< END OBJECT: BaseClass="textbox" /> + + ADD OBJECT 'txtTotalValuta' AS textbox WITH ; + Anchor = 12, ; + ControlSource = "thisform.nDetalii", ; + FontSize = 10, ; + Format = "rk", ; + Height = 23, ; + InputMask = (get_mask(16,gnPVal)), ; + Left = 395, ; + Name = "txtTotalValuta", ; + ReadOnly = .T., ; + TabIndex = 24, ; + Top = 562, ; + Visible = .F., ; + Width = 139, ; + ZOrderSet = 19 + *< END OBJECT: BaseClass="textbox" /> + + PROCEDURE actualizeaza_grid1 + Lparameters lcFiltru + If Empty(lcFiltru) + lcFiltru = pofacturi.ca_baza1.cfiltru + Endif + Thisform.MousePointer = 11 + + Thisform.LockScreen = .T. + save_grid_tag(Thisform.grid_facturi) + pofacturi.ca_baza1.cfiltru = lcFiltru + pofacturi.ca_baza1.afisare() + restore_grid_tag(Thisform.grid_facturi) + Thisform.LockScreen = .F. + Thisform.MousePointer = 0 + If Reccount('crsFacturi')>0 + Thisform.grid_facturi.SetFocus() + Endif + ENDPROC + + PROCEDURE actualizeaza_grid2 + Lparameters lcFiltru + + Local lcFiltru2,lcCursor + If Empty(lcFiltru) + lcFiltru2 = poDetalii.ca_baza1.cfiltru + Else + lcFiltru2 = lcFiltru + Endif + + && DACA FILTRUL NU CONTINE STERS, SELECTEZ DOAR INREGISTRARILE NESTERSE + DO CASE + CASE !'STERS'$upper(Thisform.filtru_pretty_ro_full) OR 'STERS=0'$upper(Thisform.filtru_pretty_ro_full) + lcFiltru2 = lcFiltru2 + [ and STERS=0] + CASE 'STERS=1'$upper(Thisform.filtru_pretty_ro_full) + lcFiltru2 = lcFiltru2 + [ and STERS=1] + CASE 'STERS IN (0,1)'$upper(Thisform.filtru_pretty_ro_full) + lcFiltru2 = lcFiltru2 + [ and STERS IN (0,1)] + ENDCASE + + lcCursor = Thisform.grid_detalii.RecordSource + Thisform.MousePointer = 11 + Thisform.LockScreen = .T. + save_grid_tag(Thisform.grid_detalii) + poDetalii.ca_baza1.cfiltru = lcFiltru2 + *!* modificare v 2.0.67 + If Reccount('crsfacturi') = 0 OR (!EMPTY(lcFiltru) AND lcFiltru = [1=2]) + Select (lcCursor) + Delete All + Else + *!* modificare v 2.0.67 ^ + poDetalii.ca_baza1.afisare() + *!* modificare v 2.0.67 + Endif + *!* modificare v 2.0.67 ^ + restore_grid_tag(Thisform.grid_detalii) + + *!* Select crsDetalii + + Thisform.LockScreen = .F. + Thisform.MousePointer = 0 + ENDPROC + + PROCEDURE do_cauta + Local lcFiltru + lcFiltru = [] + + && DACA FILTRUL NU CONTINE DATA_ACT, SELECTEZ DOAR INREGISTRARILE DIN LUNA CURENTA + IF !(' DATA_ACT '$upper(THISFORM.filtru_pretty)) + lcFiltru = This.cfiltru_initial + lcFiltru + ENDIF + + && DACA FILTRUL NU CONTINE STERS, SELECTEZ DOAR INREGISTRARILE NESTERSE + If !'STERS'$upper(Thisform.filtru_pretty) + lcFiltru = [ AND STERS = 0] + lcFiltru + ENDIF + + && DACA SUNT PE O SUCURSALA - SELECTEZ DOAR INREGISTRARILE DE PE SUCURSALA CURENTA + IF !ISNULL(m.gnIdSucursala) + lcFiltru = gcCondSucursala + lcFiltru + ENDIF + + *!* afisez doar documentele cu tipul 2,6,26 ( facturi/aviz pe baza de contract ) + if m.gcNumeProgram = "ROACONTRACTE" + lcFiltru = [ and tip in (2,6,26,52)] + m.lcFiltru + endif + + IF LEN(THISFORM.filtru_pretty)>0 + lcFiltru = m.lcFiltru+" and (" + ALLTRIM(THISFORM.filtru_pretty) + ")" + ENDIF + + IF !EMPTY(lcFiltru) + lcFiltru = SUBSTR(lcFiltru, 6) + ENDIF + + Thisform.actualizeaza_grid1(m.lcFiltru) + + If Reccount('crsFacturi')=0 + aMessagebox('Cautarea nu a intors rezultate!',0+48,'Info cautare') + Thisform.actualizeaza_grid2([1=2]) + Else + Select crsFacturi + lcFiltru = [id_vanzare=]+Alltrim(Str(id_vanzare)) + Thisform.actualizeaza_grid2(lcFiltru) + Thisform.grid_facturi.SetFocus() + Endif + ENDPROC + + PROCEDURE do_copiaza + #DEFINE T1 1 && 'POLITICA PRETURI' + #DEFINE T5 5 && 'POLITICA PRETURI - INVOICE' + #DEFINE T7 7 && 'CREDIT NOTE' + #DEFINE T10 10 && 'POLITICA PRETURI - FACTURA VALUTA' + #DEFINE T22 22 && 'AVIZ DIN POLITICA DE PRETURI' + #DEFINE T23 23 && 'TRANSFER' + + + *!* 2,3,4,8, -1,-2, -3, -4, -11, -12,44,45,47,48,49,-8,51 > 1 + #DEFINE T2 2 && 'CONTRACT' + #DEFINE T3 3 && 'COMANDA' + #DEFINE T4 4 && 'FACT. DIN AVIZ' + #DEFINE T8 8 && 'RETUR FACTURA IN LEI' + #DEFINE T_1 -1 && 'MATERII PRIME SI MATERIALE' + #DEFINE T_2 -2 && 'PRODUSE' + #DEFINE T_3 -3 && 'MARFURI LA PRET DE ACHIZITIE' + #DEFINE T_4 -4 && 'MARFURI LA PRET DE VANZARE' + #DEFINE T_11 -11 && 'MARFURI LA PRET DE ACHIZITIE *' + #DEFINE T_12 -12 && 'DEVIZE AUTO' + #DEFINE T43 43 && 'BONURI FISCALE MAGAZINE' + #DEFINE T44 44 && 'HOTEL' + #DEFINE T45 45 && 'RESTAURANT' + #DEFINE T47 47 && 'CLIENTI IN CUSTODIE - COMANDA (K)' + #DEFINE T48 48 && 'FACT. CUSTODIE CU DESCARCARE PE BAZA DE K' + #DEFINE T49 49 && 'FACT. CUSTODIE FARA DESCARCARE PE BAZA DE K' + #DEFINE T_8 -8 && 'FACTURA DE RETUR - VALORICA' + #DEFINE T51 51 && 'COMERCIAL-FACTURARE' + + *!* 6 > 10 + #DEFINE T6 6 && 'CONTRACT - VALUTA' + + *!* 9 > 5 + #DEFINE T9 9 && 'RETUR INVOICE' + + *!* 21, 24, 26, 30,-7,-9,-10,-13, 28, 29,42 > 22 + #DEFINE T21 21 && 'AVIZ PE BAZA DE COMANDA' + #DEFINE T24 24 && 'AVIZ DE RETUR' + #DEFINE T26 26 && 'AVIZ PE BAZA DE CONTRACT' + #DEFINE T30 30 && 'AVIZ PE BAZA DE NIR' + #DEFINE T_7 -7 && 'AVIZ DE RETUR - VALORIC' + #DEFINE T_9 -9 && 'PROTOCOL CU TVA - AVIZ EXPEDITIE' + #DEFINE T_10 -10 && 'SPONSORIZARE - AVIZ EXPEDITIE' + #DEFINE T_13 -13 && 'RETUR MARFA IN CUSTODIE' + #DEFINE T28 28 && 'CLIENTI DEBITORI - COMANDA' + #DEFINE T29 29 && 'CLIENTI DEBITORI - POLITICA PRETURI' + #DEFINE T42 42 && 'CLIENTI IN CUSTODIE - COMANDA' + + *!* 25,27,41,-6 > 23 + #DEFINE T25 25 && 'TRANSFER PE BAZA DE COMANDA' + #DEFINE T27 27 && 'TRANSFER PE BAZA DE LUCRARE' + #DEFINE T41 41 && 'RETUR TRANSFER' + #DEFINE T_6 -6 && 'RETUR TRANSFER DIN GESTIUNE VALORICA' + + LOCAL loFactura + + IF !This.IsCopy(crsFacturi.tip) + RETURN + ENDIF + + * Copiez orice document, dar il tratez ca pe un caz simplu (factura din lista de preturi, aviz din lista de preturi, transfer simplu) + * De exemplu, factura din contract sau din comanda, nu are sens sa fie copiata, dar o tratez ca pe o factura din lista de preturi + SELECT crsFacturi + SCATTER NAME loFactura MEMO + + DO CASE + CASE INLIST(loFactura.tip,T1,T5,T7,T10,T22,T23) + * + CASE INLIST(loFactura.tip,T2,T3,T4,T8,T_1,T_2,T_3,T_4,T_11,T_12,T43,T44,T45,T47,T48,T49,T_8,T51) + loFactura.tip = T1 + CASE INLIST(loFactura.tip,T6) + loFactura.tip = T10 + CASE INLIST(loFactura.tip,T9) + loFactura.tip = T5 + CASE INLIST(loFactura.tip,T21,T24,T26,T30,T_7,T_9,T_10,T_13,T28,T29,T42) + lnTip = T22 + CASE INLIST(loFactura.tip,T25,T27,T41,T_6) + loFactura.tip = T10 + OTHERWISE + loFactura.tip = T1 + ENDCASE + + DO copiere_factura WITH loFactura IN oproceduri_facturare.prg + + This.do_cauta() + ENDPROC + + PROCEDURE do_listare + *!* 26.11.2019 + *!* marius.mutu + *!* listare recapitulatie + + Local llDeclConformitate, lnOptiune, lnOptiune2 + Local laPlugin[1], lcListaPlugin, lcPlugin, lcPluginOptiune, lcPluginPath, lnPlugin, lnPlugins + Local laPluginApp[1], laPluginComun[1], lcPluginAppPath, lcPluginComunPath, lnPluginsApp, lnPluginsComun + Local laController[1], lcIds, lcPluginTemplate, llFxpExists, llListare, llPdf, llSucces, lnFiles + Local lnI, ltFxpTime, ltPrgTime + llDeclConformitate = Inlist(Nvl(crsFacturi.tip, 0), 3, 21) + Private pcsubtitlu + pcsubtitlu = '' + ******************************************* + * Plugin listare facturi + ******************************************* + lcPluginComunPath = gcAppPath + 'comun\plugin\' + lnPluginsComun = Adir(laPluginComun, lcPluginComunPath + 'LISTARE_FACTURI_*.prg') + + lcPluginAppPath = gcAppPath + 'plugin\' + lnPluginsApp = Adir(laPluginApp, lcPluginAppPath + 'LISTARE_FACTURI_*.prg') + + lnPlugins = m.lnPluginsComun + m.lnPluginsApp + If m.lnPlugins > 0 + Declare laPlugin[m.lnplugins] + Endif + For lnPlugin = 1 To m.lnPluginsComun + laPlugin[m.lnPlugin] = lcPluginComunPath + laPluginComun[m.lnPlugin, 1] + Endfor + + For lnPlugin = 1 To lnPluginsApp + laPlugin[m.lnPluginsComun + m.lnPlugin] = lcPluginAppPath + laPluginApp[m.lnPlugin, 1] + Endfor + + lcListaPlugin = [] + For lnPlugin = 1 To m.lnPlugins + lcPlugin = laPlugin[m.lnPlugin] && LISTARE_FACTURI_OMV_PETROM_PDF_SI_XML.prg + lcPluginOptiune = Juststem(Strtran(lcPlugin, 'LISTARE_FACTURI_', '')) && OMV_PETROM_PDF_SI_XML + lcPluginOptiune = Alltrim(Strtran(lcPluginOptiune, '_', ' ')) && OMV PETROM PDF SI XML + lcListaPlugin = lcListaPlugin + ';' + m.lcPluginOptiune + Endfor + ******************************************* + + lnOptiune = xmenu('Listare document;' + ; + 'Listare document - silentios;' + ; + 'Listare recapitulatie;' + ; + 'Listare recapitulatie - silentios;' + ; + '\-;' + ; + 'Centralizator documente;' + ; + 'Centralizator documente grupate;' + ; + 'Centralizator articole;' + ; + 'Centralizator transferuri articole pe gestiuni;' + ; + '\-;' + ; + '\= 19 && plugin-uri + lnPlugin = m.lnOptiune - 19 + lcPlugin = laPlugin[m.lnPlugin] + lcPluginTemplate = Strtran(m.lcPlugin, '\PLUGIN\', '\PLUGINTEMPLATE\', 1, 1, 1) + If File(m.lcPluginTemplate) + Copy File (lcPluginTemplate) To (m.lcPlugin) + Endif + + *% Try compiling PRG if newer than FXP + If .T. + lnFiles = Adir(laController, Forceext(m.lcPlugin, '*')) + ltPrgTime = Datetime() + ltFxpTime = ltPrgTime + llFxpExists = .F. + For lnI = 1 To lnFiles + Do Case + Case ".PRG" $ Upper(laController[lnI, 1]) + ltPrgTime = Ctot(Dtoc(laController[lnI, 3]) + " " + laController[lnI, 4]) + Case ".FXP" $ Upper(laController[lnI, 1]) + llFxpExists = .T. + ltFxpTime = Ctot(Dtoc(laController[lnI, 3]) + " " + laController[lnI, 4]) + Endcase + Next lnI + If (ltPrgTime > ltFxpTime) Or Not llFxpExists + Try + Compile (m.lcPlugin) + Catch + Strtofile("Error: " + Message(), "compile_error.txt") + Endtry + Endif + Endif + Do (m.lcPlugin) With Thisform + Endcase + + Thisform.AlwaysOnTop = .F. + Thisform.WindowState = 2 && nu stiu de ce se micsoreaza fereastra dupa listare factura + + ENDPROC + + PROCEDURE do_listare_cc + If Reccount('crsfacturi')>0 + Private poDate,poDateGestiuneDest,pnCod + Local lnDiscount,lnProcTvav + Select crsfacturi + *!* modificare v 2.0.67 + *!* PRIVATE pnTipFacturare + *!* pnTipFacturare = 0 + *!* modificare v 2.0.67 ^ + lnTip = tip + pnCod = cod + lnSters = sters + + If lnSters = 0 + poDate=Createobject("oDateFactura",0,0) + Select crsfacturi + poDate.tip = lnTip + + poDate.text_aditional = Nvl(text_aditional,[]) + poDate.nrinmat = nrinmat + *!* modificare v 2.0.84 + *!* poDate.listaid = Iif(poDate.tip = 2,Alltrim(Str(id_ctr)),Iif(poDate.tip = 3,Alltrim(Str(id_comanda)), [0])) + poDate.listaid = Iif(poDate.tip = 3,Alltrim(Str(id_comanda)), [0]) + *!* modificare v 2.0.84 ^ + poDate.nr_incasare = nr_incasare + poDate.serie_chit = NVL(serie_chit,[]) && modificare v 2.0.80 + poDate.incasat = incasat + poDate.in_valuta = in_valuta + AddProperty(poDate,"id_comanda_aviz",0) + ADDPROPERTY(poDate,"cod",pnCod) + AddProperty(poDate,"decl_conf",1) + + + Thisform.AlwaysOnTop = .F. + listeaza_oconformitate() + Thisform.AlwaysOnTop = .T. + + If Used('crsfactura') + Use In crsfactura + Endif + Else + amessagebox("Nu puteti lista aceasta factura, deoarece a fost stearsa!",0+48,"Atentie") + Endif + Release poDate,pnCod && ,pnTipFacturare *!* modificare v 2.0.67 + Endif + + ENDPROC + + PROCEDURE do_listare_centr + Thisform.AlwaysOnTop=.F. + PRIVATE pcSubtitlu + STORE '' TO pcSubtitlu + pcSubtitlu = This.filtru_pretty_ro_full + Do rap_listfactav_centr.mpr + + Thisform.AlwaysOnTop=.T. + Thisform.Refresh() + + ENDPROC + + PROCEDURE do_listare_document + *!* 09.02.2016 + *!* marius.mutu + *!* adaugat parametri tnIdVanzare, tlSilent, tlJustPDF pentru listare silentioasa (fara previzualizare) si listare doar in format pdf + *!* intorc poDate pentru folosirea informatiilor despre factura (ex: poDate.email_factura in pluginul de trimitere email cu atasament factura) + + *!* 21.11.2019 + *!* marius.mutu + *!* + tcTipDocument - pentru listare FACTURA si RECAPITULATIE + + *!*28.05.2022 + *!* marius.mutu + *!* + tlEFactura - generare xml EFactura + + Lparameters tnIdVanzare, tlSilent, tlJustPDF, tcTipDocument, tlEfactura + * tcTipDocument: FACTURA/RECAPITULATIE/EFACTURA + * tnIdVanzare, tlSilent, tlJustPDF: se apeleaza thisform.do_listare_document cu parametri din plugin-uri de listare facturi cu email + * tlEFactura: se genereaza xml EFactura + + Local loDate, llSalvarePDF + Local lcFiltru, lcWhere, llJustPDFX, llSilentX + loDate = Null + + llSalvarePDF = GetPDFSalvareAutomata(m.tcTipDocument) + + If Reccount('crsfacturi') > 0 + Local lnNrInreg, lnRecno, lnSters, lnId_Vanzare, lnId_vanzare2 + Select crsFacturi + lnRecno = Recno() + lnSters = sters + lnId_Vanzare = id_vanzare + Select crsFacturi + Locate For ales = 1 And sters = 0 + If Found() + lcWhere = "ales = 1 and sters = 0" + Iif(!Empty(m.tnIdVanzare), ' and id_vanzare = ' + Alltrim(Str(m.tnIdVanzare)), '') + Else + lcWhere = "sters = 0 and id_vanzare = " + Alltrim(Str(Iif(!Empty(m.tnIdVanzare), m.tnIdVanzare, m.lnId_Vanzare))) + Endif + + Calculate Cnt() For &lcWhere To lnNrInreg + If lnNrInreg = 0 + amessagebox("Nu puteti lista aceste documente, deoarece au fost sterse!", 0 + 48, "Atentie") + Else + Thisform.AlwaysOnTop = .F. + + SELECT id_vanzare FROM crsFacturi Where &lcWhere Order By numar_act INTO CURSOR crsFacturiOrd + SELECT crsFacturiOrd + SCAN + lnIdVanzare2 = id_vanzare + loDate = listeaza_formular(m.lnIdVanzare2, m.tlSilent, m.tlJustPDF, m.tcTipDocument, m.tlEFactura) + + If !m.tlJustPDF AND m.llSalvarePDF && daca am optiunea automata de salvare si nu listez exact in format pdf, salvez si in format pdf + llSilentX = .T. + llJustPDFX = .T. + loDate = listeaza_formular(m.lnIdVanzare2, m.llSilentX, m.llJustPDFX, m.tcTipDocument) + Endif + ENDSCAN + + *!* copiaza_structura_cursor([crsfacturi], [crsfacturiord]) + *!* Insert Into crsfacturiord Select * From crsFacturi Where &lcWhere Order By numar_act + *!* Select crsfacturiord + *!* Scan + *!* lnId_vanzare2 = id_vanzare + *!* lcFiltru = [id_vanzare=] + Alltrim(Str(lnId_vanzare2)) + *!* Thisform.actualizeaza_grid2(lcFiltru) + + *!* loDate = Thisform.do_listeaza_formular([crsfacturiord], m.tlSilent, m.tlJustPDF, m.tcTipDocument) + *!* If !m.tlJustPDF AND m.llSalvarePDF && daca am optiunea automata de salvare si nu listez exact in format pdf, salvez si in format pdf + *!* llSilentX = .T. + *!* llJustPDFX = .T. + *!* loDate = Thisform.do_listeaza_formular([crsfacturiord], m.llSilentX, m.llJustPDFX, m.tcTipDocument) + *!* Endif + *!* Endscan + Thisform.AlwaysOnTop = .T. + Use In (Select('crsfacturiord')) + Endif + + Select crsFacturi + Go m.lnRecno + If m.lnNrInreg <> 0 + lcFiltru = [id_vanzare=] + Alltrim(Str(m.lnId_Vanzare)) + Thisform.actualizeaza_grid2(m.lcFiltru) + Endif + Endif + + Return loDate + ENDPROC + + PROCEDURE do_listeaza_formular + *!* 09.02.2016 + *!* marius.mutu + *!* adaugat parametri tlSilent, tlJustPDF pentru listare silentioasa (fara previzualizare) si listare doar in format pdf + *!* intorc poDate pentru folosirea informatiilor despre factura (ex: poDate.email_factura in pluginul de trimitere email cu atasament factura) + + *!* 21.11.2019 + *!* marius.mutu + *!* + tcTipDocument - pentru listare FACTURA si RECAPITULATIE + + *!* 16.12.2019 + *!* marius.mutu + *!* + poDate.cTextTVA pentru listare FACTURA + + *!* 30.01.2020 + *!* marius.mutu + *!* +poDate.id_util pentru listarea facturii poDate.nume_responsabil cel care a introdus factura in loc de gnIdUtil - cel care o (re)listeaza + + *!* modificare v 2.0.23 + Lparameters tcNumeCursor, tlSilent, tlJustPDF, tcTipDocument + * tlSilent: listare fara previzualizare + * tlJustPDF: listare doar pdf, fara previzualizare/imprimanta - pentru atasament la email + * tcTipDocument: FACTURA/RECAPITULATIE + + Local lcNumeCursor, lnIdVanzare, lcTipDocument + Local lcCursor, lcProcedura, lcRaport, lcSql, lnSucces + LOCAL loEx as Exception + *:Global ocomanda + lcNumeCursor = tcNumeCursor + *!* modificare v 2.0.23 ^ + Local lnTip + Private poDate, poDateGestiuneDest, pnCod, pnid_comanda_aviz, pnIdGestiuneRetur + Local lnDiscount, lnDiscountVal, lnProcTvav + lcTipDocument = Iif(Type('tcTipDocument') = 'C' And !Empty(m.tcTipDocument), Upper(Alltrim(m.tcTipDocument)), 'FACTURA') && FACTURA/RECAPITULATIE + + *!* modificare v 2.0.23 + *!* Select crsfacturi + Select (lcNumeCursor) + *!* modificare v 2.0.23 ^ + lnTip = tip + pnCod = cod + *!* modificare v 2.0.67 + *!* PRIVATE pnTipFacturare + *!* pnTipFacturare = 0 + *!* modificare v 2.0.67 ^ + pnid_comanda_aviz = 0 + + poDate = Createobject("oDateFactura", 0, 0) + *!* modificare v 2.0.23 + *!* Select crsfacturi + Select (lcNumeCursor) + poDate.nid_vanzare = id_vanzare + *!* modificare v 2.0.23 ^ + poDate.nRelistare = 1 && modificare v 2.0.58 + poDate.tip = lnTip + poDate.nract = numar_act + poDate.serie_act = Alltrim(serie_act) + poDate.dataact = Iif(Type('data_act') = 'T', Ttod(data_act), data_act) + poDate.discount_evidentiat = discount_evidentiat + poDate.text_aditional = Nvl(text_aditional, []) + poDate.nrinmat = nrinmat + poDate.nume_delegat = delegat + poDate.bidelegat = bidelegat + poDate.cnpdelegat = cnpdelegat + poDate.dataora_exp = dataora_exp && modificare v 2.0.80 + *!* modificare v 2.0.67 + *!* poDate.listaid = Iif(poDate.tip = 2,Alltrim(Str(id_ctr)),Iif(Inlist(poDate.tip, 3, 21, 28, 42),Alltrim(Str(id_comanda)), [0])) + poDate.listaid = Iif(Inlist(poDate.tip, 3, 21, 28, 42, 47), Alltrim(Str(id_comanda)), []) && modificare v 2.0.93 : am adaugat 47 + *!* modificare v 2.0.67 ^ + poDate.ntip_incasare = tip_incasare && modificare v 2.0.84 + poDate.nr_incasare = nr_incasare + poDate.serie_chit = Nvl(serie_chit, []) && modificare v 2.0.80 + poDate.incasat = incasat + poDate.in_valuta = in_valuta + poDate.afisare_scadenta = afisare_scadenta && modificare ROACONTRACTE v 2.0.38 + poDate.descriere = altele && modificare v 2.0.44 && nr/data comandaaviz + poDate.id_ordl = id_ordl && modificare v 2.0.98 + poDate.tva_incasare = tva_incasare && modificare v 2.2.0 + poDate.id_facturare = id_facturare + poDate.nListareDetaliata = listare_detaliata + + poDate.nListareSilentioasa = Iif(m.tlSilent, 1, 0) + poDate.nListareJustPDF = Iif(m.tlJustPDF, 1, 0) + + poDate.nIdBeneficiar = id_beneficiar + poDate.nTipFactura = tip_factura + poDate.id_util = id_util + poDate.eProforma = eproforma + poDate.id_ctr = id_ctr + poDate.contract = ALLTRIM(NVL(contract,'')) + + If poDate.in_valuta = 1 + *!* modificare v 2.0.56 + poDate.nume_valuta = nume_val + poDate.Curs = Curs + poDate.multiplicator = multiplicator + *!* *!* modificare v 2.0.51 + *!* *!* poDate.nume_valuta = nume_val + *!* *!* poDate.Curs = Curs + *!* lcNumeCrsCurs = [crscursval] + *!* lcSql = [select a.curs, b.nume_val from ] + gcS + [.vanzari_cursuri a left join nom_valute b on a.id_valuta = b.id_valuta ] + ; + *!* [where a.id_vanzare = ] + Alltrim(Str(lnIdVanzare)) + *!* lnSucces = goExecutor.oExecute(lcSql,lcNumeCrsCurs) + *!* If lnSucces < 0 + *!* amessagebox("Nu a putut fi citit cursul! Reincercati listarea!" + Chr(13) + Chr(10) + Chr(13) + Chr(10) + goExecutor.cEroare,48,"Atentie") + *!* Return + *!* Else + *!* Select (lcNumeCrsCurs) + *!* poDate.nume_valuta = nume_val + *!* poDate.Curs = Curs + *!* Use In (lcNumeCrsCurs) + *!* Endif + *!* Select (lcNumeCursor) + *!* *!* modificare v 2.0.51 ^ + *!* modificare v 2.0.56 ^ + poDate.totftvaconv = total_fara_tva + poDate.tottvaconv = total_tva + poDate.totctvaconv = poDate.totftvaconv + poDate.tottvaconv + lnDiscountVal = discount + lnDiscount = Round(lnDiscountVal * poDate.Curs / poDate.multiplicator, gnPc) + Else + lnDiscount = discount + lnDiscountVal = 0 + Endif + poDate.nValVal = valval + poDate.nTvaVal = tvaval + poDate.nTotVal = totval + poDate.cValuta = ALLTRIM(nume_val) + poDate.Curs = Curs + poDate.multiplicator = multiplicator + + Do Case + Case m.lcTipDocument = 'FACTURA' + If !Pemstatus(poDate, "id_comanda_aviz", 5) + AddProperty(poDate, "id_comanda_aviz", 0) + Endif + If Inlist(poDate.tip, 3, 21, 28, 42, 47) && factura / aviz din comanda && modificare v 2.0.93 : am adaugat 47 + *!* modificare v 2.0.23 + *!* poDate.id_comanda_aviz = crsfacturi.id_comanda + Select (lcNumeCursor) + poDate.id_comanda_aviz = id_comanda + *!* modificare v 2.0.46 + If Inlist(poDate.tip, 21, 28) + lcSql = [select nr_fact from fact_vdetalii_fact where id_vanzare_aviz = ] + Alltrim(Str(poDate.nid_vanzare)) + lnSucces = goExecutor.oExecute(lcSql, [crsnrfact]) + If lnSucces < 0 + amessagebox(goExecutor.oPrelucrareEroare(), 16, "Eroare") + Else + If Reccount('crsnrfact') > 0 + Select crsnrfact + AddProperty(poDate, [descriere2], Alltrim(nr_fact)) + Endif + Use In crsnrfact + Endif + Endif + Select (lcNumeCursor) + *!* modificare v 2.0.46 ^ + *!* modificare v 2.0.23 ^ + Else + If poDate.tip = 4 && factura din aviz + *!* modificare v 2.0.56 : am adaugat vc.sters = 0 and v.sters = 0 + *!* modificare v 2.0.23 + *!* lcsql="select max(v.id_comanda) as id_comanda from vanzari_coresp vc "+; + *!* "join vanzari v on vc.id_vanzare_aviz = v.id_vanzare where vc.id_vanzare_fact ="+Transform(crsfacturi.id_vanzare) + lcSql = [select max(v.id_comanda) as id_comanda from vanzari_coresp vc ] + ; + [join vanzari v on vc.id_vanzare_aviz = v.id_vanzare where vc.sters = 0 and v.sters = 0 and vc.id_vanzare_fact =] + Alltrim(Str(poDate.nid_vanzare)) + *!* modificare v 2.0.23 ^ + lnSucces = goExecutor.oSelect2Value(lcSql, @pnid_comanda_aviz) + If lnSucces < 0 + amessagebox(goExecutor.oPrelucrareEroare(), 16, "Eroare") + poDate.id_comanda_aviz = 0 + Else + poDate.id_comanda_aviz = Nvl(pnid_comanda_aviz, 0) + Endif + *!* modificare v 2.0.46 + Select (lcNumeCursor) + poDate.descriere = Alltrim(altele) + *!* modificare v 2.0.46 ^ + Endif + Endif + + *!* modificare v 2.0.28 + If Inlist(lnTip, 23, 25, 27, 30, 41, -6) && AVIZE SUBUNITATI 23,25,27,30; AVIZE SUBUNITATI RETUR 41, AVIZ RETUR VALORIC -6 + *!* If Inlist(lnTip,23,25,27,41) + *!* modificare v 2.0.28 ^ + poDateGestiuneDest = Createobject("oDateGestiune") + poDateGestiuneDest.id_gestiune = id_gestiune + + If Inlist(m.lnTip, 41, -6) && AVIZE SUBUNITATI RETUR (GESTIUNEA DESTINATIE ESTE DEPOZIT, TREBUIE GESTIUNEA SURSA DIN VANZARI_DETALII) + pnIdGestiuneRetur = 0 + lcSql = [select min(id_gestiune) from vanzari_detalii where id_vanzare = ] + + Alltrim(Str(poDate.nid_vanzare)) + lnSucces = goExecutor.oSelect2Value(lcSql, @pnIdGestiuneRetur) + If lnSucces < 0 + Messagebox(goExecutor.cEroare, 0 + 16, _Screen.Caption) + Else + poDateGestiuneDest.id_gestiune = m.pnIdGestiuneRetur + poDate.id_client = m.pnIdGestiuneRetur + Endif + Endif + + Select crsdetalii + *!* modificare v 2.0.16 + poDate.id_client = id_gestiune + *!* modificare v 2.0.16 ^ + poDate.nume_client = nume_gestiune + + If !Isnull(pnCod) + lcSql = [select r.id_responsabil, p.denumire as nresp from rul r left join nom_parteneri p on r.id_responsabil = p.id_part where r.cod = ] + Alltrim(Str(m.pnCod)) + [ and rownum = 1] + * lcSql = [select /*+ index(rul IDX_RUL_005) */ r.id_responsabil, p.denumire as nresp from rul r left join nom_parteneri p on r.id_responsabil = p.id_part where r.cod = ?pnCod and rownum = 1] + If Used('crsresp') + Use In crsresp + Endif + lcCursor = [crsresp] + lnSucces = goExecutor.oExecute(lcSql, lcCursor) + If lnSucces < 0 + amessagebox(goExecutor.oPrelucrareEroare(), 16, "Eroare") + Return + Else + Select (lcCursor) + poDate.id_responsabil = id_responsabil + poDate.responsabil = nresp + Use In (lcCursor) + Endif + + *!* modificare v 2.0.21 + If Inlist(lnTip, 23, 25) + lcSql = [select id_partd from act where cod = ] + Alltrim(Str(m.pnCod)) + [ and scd = '357' ] + ; + [and id_gestin = ] + Alltrim(Str(poDateGestiuneDest.id_gestiune)) + [ and rownum = 1] + lnSucces = goExecutor.oExecute(lcSql, lcCursor) + If lnSucces < 0 + amessagebox(goExecutor.oPrelucrareEroare(), 16, "Eroare") + Return + Else + If Reccount(lcCursor) > 0 + Select (lcCursor) + poDate.id_part_rez = id_partd + Endif + Use In (lcCursor) + Endif + Endif + *!* modificare v 2.0.21 ^ + Endif + Else + poDate.id_client = id_part + poDate.nume_client = client + Endif + If !Isnull(pnCod) + *!* modificare v 2.0.95 + *!* modificare v 2.0.98 : am adaugat id_ordl + If poDate.tip = -12 And !Isnull(poDate.id_ordl) + lcSql = [select a.datascad,b.nr_dosar,c1.denumire as asigurator,d.inspector from ] + ; + [(select MAX(id_lucrare) as id_lucrare,MAX(datascad) as datascad from act where cod = ] + Alltrim(Str(pnCod)) + [) a ] + ; + [left join dev_ordl b on a.id_lucrare = b.id_lucrare and b.sters = 0 ] + ; + [left join dev_nom_asiguratori c on b.id_asigurator = c.id_asigurator ] + ; + [left join nom_parteneri c1 on c.id_part = c1.id_part ] + ; + [left join dev_nom_inspectori d on b.id_inspector = d.id_inspector] + lcCursor = [crsdatascad] + If Used(lcCursor) + Use In (lcCursor) + Endif + lnSucces = goExecutor.oExecute(lcSql, lcCursor) + If lnSucces < 0 + amessagebox(goExecutor.oPrelucrareEroare(), 16, "Eroare") + Return + Else + Select (lcCursor) + Scatter Name ocomanda Memo + poDate.datascad = datascad + Use In (lcCursor) + Endif + Else + *!* modificare v 2.0.95 ^ + *!* lcSql = [select /*+ index(act idx_cod) */ datascad from act where cod = ] + ALLTRIM(STR(pnCod)) + lcSql = [select datascad from act where cod = ] + Alltrim(Str(m.pnCod)) + lcCursor = [crsdatascad] + If Used(lcCursor) + Use In (lcCursor) + Endif + lnSucces = goExecutor.oExecute(lcSql, lcCursor) + If lnSucces < 0 + amessagebox(goExecutor.oPrelucrareEroare(), 16, "Eroare") + Return + Else + Select (lcCursor) + poDate.datascad = datascad + Use In (lcCursor) + Endif + *!* modificare v 2.0.95 + Endif + *!* modificare v 2.0.95 ^ + Endif + + Use In (Select('crsfactura')) + + *!* * Text TVA de afisat in partea de sus a facturii, daca este o singura explicatie de TVA pe toate liniile din crsDetalii + *!* ADDPROPERTY(poDate, 'cTextTVA', '') + *!* IF TYPE('gnTextTVAFactura') = 'N' AND m.gnTextTVAFactura = 1 + *!* SELECT distinct jtva_coloana_ex, jtva_coloana FROM crsDetalii INTO CURSOR cTextTVATemp + *!* IF RECCOUNT('cTextTVATemp') = 1 + *!* SELECT cTextTVATemp + *!* GO TOP + *!* poDate.cTextTVA = IIF(!EMPTY(NVL(jtva_coloana_ex, '')), ALLTRIM(jtva_coloana_ex), ALLTRIM(NVL(jtva_coloana,''))) + *!* ENDIF + *!* USE IN (SELECT('cTextTVATemp')) + *!* ENDIF + + Select crsdetalii + Calculate Max(proc_tvav) To lnProcTvav + SET STEP ON + creeaza_facturacrs([crsfactura]) + + prelucreaza_facturacrs([crsdetalii], [crsfactura], lnProcTvav, lnDiscount, lnDiscountVal) + + creeaza_cursor_seturi(pnCod) + + listeaza_ofacturare() && ofacturare.prg + + Use In (Select('crsfactura')) + + Use In (Select('crsfacturaset')) + Case m.lcTipDocument = 'RECAPITULATIE' + Select (lcNumeCursor) + poDate.id_client = id_part + poDate.nume_client = client + + Do Case + Case poDate.tip = 51 && FACTURA ACN + *!* TRY + Do Case + Case poDate.nTipFactura = 0 && TRANZIT + do listeaza_recapitulatie_tranzit in proceduri_acnpro.prg + Case poDate.nTipFactura = 1 && CHEIAJ + do listeaza_recapitulatie_cheiaj in proceduri_acnpro.prg + Case poDate.nTipFactura = 6 && PENALITATI + do listeaza_recapitulatie_penalitati in proceduri_acnpro.prg + Otherwise && CHIRII / APA / ALTELE + do listeaza_recapitulatie_alte in proceduri_acnpro.prg + ENDCASE + *!* CATCH TO loEx + *!* AMESSAGEBOX('Listati recapitulatia din programul "ROAACNPRO"!' + CHR(13) + CHR(10) + loEx.Message,0+48,_SCREEN.Caption) + *!* ENDTRY + OTHERWISE + DO listeaza_recapitulatie WITH 'crsDetalii', 'recapitulatie.frx' in ofacturare.prg + * am facu si o recapitulatie generica, pentru ca am pus recapitulatia in meniul de listare pentru ACN + ENDCASE + + Endcase + + Release pnCod, lnTip && ,pnTipFacturare *!* modificare v 2.0.67 + + Return poDate && intorc poDate pentru folosirea informatiilor despre factura (ex: poDate.email_factura in pluginul de trimitere email cu atasament factura) + + ENDPROC + + PROCEDURE do_modifica + Local ofrmmodificare As "frm_modifica_factura" + Local lcSql, lnSucces + SET STEP ON + PRIVATE poRec, pneFactura + If Reccount('crsfacturi') > 0 + Local lnRecno, lnNrInreg, lnNrInregMod + lnNrInregMod = 0 + Select crsfacturi + lnRecno = Recno() + Calculate Cnt() For ales = 1 And sters = 0 To lnNrInreg + Do Case + Case lnNrInreg = 0 + Go lnRecno + Scatter Name poRec Memo + poRec.text_aditional = NVL(poRec.text_aditional, '') + poRec.data_act = NVL(poRec.data_act, {}) + poRec.data_scad = NVL(poRec.data_scad, {}) + poRec.numar_act = NVL(poRec.numar_act, 0) + poRec.serie_act = NVL(poRec.serie_act, '') + Case lnNrInreg = 1 + Locate For ales = 1 + Scatter Name poRec Memo + poRec.text_aditional = NVL(poRec.text_aditional, '') + poRec.data_act = NVL(poRec.data_act, {}) + poRec.data_scad = NVL(poRec.data_scad, {}) + poRec.numar_act = NVL(poRec.numar_act, 0) + poRec.serie_act = NVL(poRec.serie_act, '') + Otherwise + Scatter Name poRec Memo Blank + poRec.id_ruta = Null + poRec.id_delegat = Null + poRec.id_agent = Null + poRec.id_masina = Null + poRec.dataora_exp = {} + poRec.id_facturare = Null + poRec.listare_detaliata = 0 + poRec.tip_saft = NULL + poRec.text_aditional = '' && MAXIM 250 CARACTERE!!! (nu se grupeaza dupa campuri MEMO) + poRec.eFactura = 0 + poRec.data_act = NVL(poRec.data_act, {}) + poRec.data_scad = NVL(poRec.data_scad, {}) + poRec.numar_act = NVL(poRec.numar_act, 0) + poRec.serie_act = NVL(poRec.serie_act, '') + ENDCASE + + lcSql = [select count(*) as lneFactura from anaf_efactura where id_fact = ] + ALLTRIM(STR(poRec.id_fact)) + pneFactura = 0 + llSucces = goExecutor.oSelecteaza2Value(m.lcSql, @pneFactura) + + If poRec.sters = 0 AND NVL(m.pnEFactura,0) = 0 + ofrmmodificare = Createobject("frm_modifica_factura", Iif((lnNrInreg > 1) Or (lnNrInreg <= 1 And Inlist(poRec.tip, 23, 25, 27, 30, 41, -6)), 0, 1)) + ofrmmodificare.Show(1) + Release ofrmmodificare + If gnButon = 1 + IF poRec.tip_saft = 0 + poRec.tip_saft = null + ENDIF + lcFiltru = Iif(lnNrInreg = 0, [id_vanzare = poRec.id_vanzare], [ales = 1 And sters = 0]) + Select crsfacturi + Scan For &lcFiltru + TEXT TO lcSql NOSHOW TEXTMERGE + begin pack_facturare.modifica_date_factura(<>, + <>, + <>, + <>, + <>, + to_date('<>','YYYYMMDDHH24:MI:SS'), + <>, + <>, + ?poRec.text_aditional, + ?poRec.tip_saft, + ?poRec.efactura, + ?poRec.data_act, + ?poRec.data_scad, + ?poRec.numar_act, + ?poRec.serie_act); + end; + ENDTEXT + + lnSucces = goExecutor.oExecute(lcSql) + If lnSucces < 0 + amessagebox(goExecutor.oPrelucrareEroare(), 16, "Eroare") + Else + lnNrInregMod = lnNrInregMod + 1 + Endif + ENDSCAN && lcFiltru + + If lnNrInregMod > 0 + Thisform.do_cauta() + Endif + Select crsfacturi + Go lnRecno + Endif + Else + amessagebox("Nu puteti face modificari pe inregistrarile sterse sau facturile trimise in eFactura!", 48, "Atentie") + Endif + Release poRec, lnRecno, lnNrInreg + Endif + + ENDPROC + + PROCEDURE do_modifica_explicatie + If Reccount('crsDetalii') > 0 + + update_saft_taxtable() + + Select crsDetalii + Scatter Name poRec Memo + poRec.explicatie = NVL(poRec.explicatie, ' ') + If poRec.sters = 0 + ofrmmodificare = Createobject("frm_modifica_articol_factura") + ofrmmodificare.Show() + If gnButon = 1 + Thisform.actualizeaza_grid2() + Endif + Endif + Endif + + ENDPROC + + PROCEDURE do_sterge + pcNl = Alltrim(Str(gnLuna)) + pcAn = Alltrim(Str(gnAn)) + + If Reccount('crsfacturi') = 0 + amessagebox("Nu exista inregistrari pentru stergere!",0+48,"Atentie") + Return + Endif + + Local lnCod, llSters, lnSucces, llRul, llEProforma + Private pnIdVanzare, pnAn, pnLuna + Store 0 To pnIdVanzare,pnAn,pnLuna + Store .F. To llSters, llRul + lnSucces = 0 + + If glLunaInchisa + Return + Endif + + Select crsfacturi + lnRecno = Recno() + pnIdVanzare = id_vanzare + lnCod = cod + pnAn = Year(data_act) + pnLuna = Month(data_act) + lnSters = sters + llEProforma = (eproforma = 1) + + If lnSters = 1 + amessagebox("Acest document este deja sters!",0+48,"Atentie") + Return + Endif + + If amessagebox("Sunteti sigur ca doriti sa stergeti aceasta inregistrare?",4+32,"Confirmare stergere")=7 + Return + Endif + + Local lcConditieSters + lcConditieSters = [ STERS = 0 AND ] + + If (pnAn * 12) + pnLuna <> (gnAn * 12) + gnLuna + amessagebox('Nu puteti sterge decat inregistrari din luna curenta!',0,'Atentie!') + Return + Endif + + * STERGERE PROFORMA + IF m.llEProforma + lcSql = [begin pack_facturare.sterge_proforma(?pnIdVanzare,?gnIdUtil); end;] + IF goExecutor.oExecuta(lcSql) + Thisform.actualizeaza_grid1() + Thisform.actualizeaza_grid2() + If Reccount('crsfacturi')>0 + lnRecno = Min(Reccount('crsfacturi'),Iif(lnRecno>1,lnRecno-1,1)) + Select crsfacturi + Go lnRecno + ENDIF + ENDIF + RETURN + ENDIF + + * STERGERE FACTURA/AVIZ + *** verificare restrictie stergere documente cu referinte (incasari/plati) + llReferinteDocumente = ReferinteDocumenteNota(pnAn, pnLuna, lnCod) && && odocumente.prg + If llReferinteDocumente + amessagebox("Documentul are referinte (incasari/plati). Nu poate fi sters.", 0+48,"Stergere") + Return + Endif + + Use In (SELECT('actactan')) + + lcSql = [select * from ] + gcs + [.vact_tot where ] + lcConditieSters + [ an = ] + Transform(gnAn) + [ and luna = ] + Transform(gnLuna) + [ and cod = ] + Alltrim(Str(lnCod)) + [ order by id_act] + lcCursor = [v_act] + *!* modificare v 2.1.4 + *!* lnSucces = goExecutor.oExecute(lcSql,lcCursor) + If goExecutor.oExecuta(lcSql,lcCursor) + *!* goExecutor.oReset() + *!* If lnSucces < 0 + *!* amessagebox(goExecutor.cEroare,0+16,"Eroare") + *!* Endif + *!* If lnSucces > 0 + Select * From v_act Into Cursor actactan + Use In v_act + *!* Endif + *!* If lnSucces > 0 && AND llRul + lcSql = [select * from ] + gcs + [.vrul_tot where ] + lcConditieSters + [ an = ] + Transform(gnAn) + [ and luna = ] + Transform(gnLuna) + [ and cod = ] + Alltrim(Str(lnCod)) + [ order by id_rul] + lcCursor = [v_rul] + *!* lnSucces = goExecutor.oExecute(lcSql,lcCursor) + If goExecutor.oExecuta(lcSql,lcCursor) + *!* goExecutor.oReset() + *!* If lnSucces < 0 + *!* amessagebox(goExecutor.cEroare,0+16,"Eroare") + *!* Endif + If Reccount(lcCursor)>0 + llRul = .T. + Endif + *!* If lnSucces > 0 + lcSql = [select * from ] + gcs + [.vrul_obinv_tot where ] + lcConditieSters + [ an = ] + Transform(gnAn) + [ and luna = ] + Transform(gnLuna) + [ and cod = ] + Alltrim(Str(lnCod)) + [ order by id_rul_obinv] + lcCursor = [v_rul_obinv] + *!* lnSucces = goExecutor.oExecute(lcSql,lcCursor) + If goExecutor.oExecuta(lcSql,lcCursor) + *!* goExecutor.oReset() + *!* If lnSucces < 0 + *!* amessagebox(goExecutor.cEroare,0+16,"Eroare") + *!* Endif + If Reccount(lcCursor)>0 + llRul = .T. + Endif + *!* Endif + *!* If lnSucces > 0 + Select * From v_rul Into Cursor rul_temp + Use In v_rul + Select * From v_rul_obinv Into Cursor rul_temp_obinv + Use In v_rul_obinv + *!* Endif + *!* Endif + *!* If lnSucces > 0 + If Reccount('actactan')>0 + overif=Createobject('verificare') + overif.Show(1) + Clear Class 'verificare' + + If buton = 1 + lnSucces = SQLSetprop(gnhandle,"Transactions",2) + If lnSucces > 0 + Local lcCaleDateMenu + lcCaleDateMenu=gcAppPath+[\COMUN\DATEMENU\] + If !Used('INFISIERE') + Use &lcCaleDateMenu.INFISIERE In 0 Alias INFISIERE + Endif + lnSucces = OSCRIE_IN_FISIERE(2,.F.,llRul) + If Used('infisiere') + Use In INFISIERE + Endif + If lnSucces < 0 + If lnSucces <> -5 + amessagebox(goExecutor.cEroare,0+16,"Eroare") + Endif + lcSql = "ROLLBACK" + Else + Local lnIdSet,lnIdFact,lnIdFactD + Select actactan + GO top + lnIdSet = id_set + lnIdFact = id_fact + lnIdFactD = id_factd + *!* modificare v 2.2.5 + *!* lcSql = [begin ] + gcs + [.pack_facturare.sterge_factura(?pnIdVanzare,?gnLuna,?gnAn,?gnIdUtil);] + ; + *!* gcs + [.pack_contafin.finalizeaza_stergere_nota(?pnLuna,?pnAn,Null,] + Alltrim(Str(lnIdSet)) + [,] + ; + *!* ALLTRIM(Str(lnCod)) + [,] + Alltrim(Str(lnIdFact)) + [,] + Alltrim(Str(lnIdFactD)) + [,?gnIdUtil); end;] + lcSql = [begin pack_contafin.finalizeaza_stergere_nota(?pnLuna,?pnAn,Null,] + Alltrim(Str(lnIdSet)) + [,] + ; + ALLTRIM(Str(lnCod)) + [,] + Alltrim(Str(lnIdFact)) + [,] + Alltrim(Str(lnIdFactD)) + [,?gnIdUtil); end;] + *!* modificare v 2.2.5 ^ + *!* lnSucces = goExecutor.oExecute(lcSql,lcCursor) + *!* If lnSucces<0 + *!* amessagebox(goExecutor.oPrelucrareEroare(),16,"Eroare") + *!* lcSql = "ROLLBACK" + *!* Else + *!* lcSql = "COMMIT" + *!* Endif + If goExecutor.oExecuta(lcSql,lcCursor) + lcSql = "COMMIT" + Else + lcSql = "ROLLBACK" + Endif + Endif + goExecutor.oExecuta(lcSql) + *!* lnSucces = goExecutor.oExecute(lcSql) + *!* If lnSucces < 0 + *!* amessagebox(lcSql + Chr(13) + goExecutor.cEroare,0+16,"Eroare") + *!* Endif + lnSucces = SQLSetprop(gnhandle,"Transactions",1) + If lnSucces < 0 + amessagebox('Programul nu a reusit sa treaca pe tranzactie automata. Iesiti din program si intrati din nou!',0,'Atentie!') + Else + Thisform.actualizeaza_grid1() + Thisform.actualizeaza_grid2() + If Reccount('crsfacturi')>0 + lnRecno = Min(Reccount('crsfacturi'),Iif(lnRecno>1,lnRecno-1,1)) + Select crsfacturi + Go lnRecno + Endif + Endif + + Endif + Endif + Else + lcSql = [begin ] + gcs + [.pack_facturare.sterge_factura(?pnIdVanzare,?gnLuna,?gnAn,?gnIdUtil); end;] + *!* lnSucces = goExecutor.oExecute(lcSql,lcCursor) + *!* If lnSucces<0 + *!* amessagebox(goExecutor.oPrelucrareEroare(),16,"Eroare") + *!* Else + If goExecutor.oExecuta(lcSql,lcCursor) + Thisform.actualizeaza_grid1() + Thisform.actualizeaza_grid2() + If Reccount('crsfacturi')>0 + lnRecno = Min(Reccount('crsfacturi'),Iif(lnRecno>1,lnRecno-1,1)) + Select crsfacturi + Go lnRecno + Endif + Endif + Endif + Endif + Endif + Endif + *!* modificare v 2.1.4 ^ + + If Used('actactan') + Use In actactan + Endif + If Used('rul_temp') + Use In rul_temp + Endif + If Used('rul_temp_obinv') + Use In rul_temp_obinv + Endif + Release pnIdVanzare + ENDPROC + + PROCEDURE do_verifica + Local lcFilter, lcWhere, llAutoVerificare, llDontCloseCursor, llExperimental, llMFIN, ldData + Local llServiciuWebANAF, llValidare, llVerificarePlatitorTVA, lnOptiune + + lnOptiune = xmenu('Verifica codurile fiscale la fiecare \ + + *-- OBJECTDATA items order determines ZOrder / El orden de los items OBJECTDATA determina el ZOrder + *< OBJECTDATA: ObjPath="_shape3" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="Ed_tx_simplu1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="cbo_saft" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="lbSaft" UniqueID="" Timestamp="" /> + + * + *p: nid + *p: ntip_selectie && 0 - cautare in toti delegatii; 1 - cautare in delegatii clientului + *p: orec + * + + * + BorderStyle = 1 + DoCreate = .T. + Height = 370 + Name = "frm_modifica_articol_factura" + nid = .F. + ntip_selectie = 0 + orec = .F. + Width = 376 + _shape1.Name = "_shape1" + _shape1.ZOrderSet = 1 + _shape2.Height = 29 + _shape2.Left = 312 + _shape2.Name = "_shape2" + _shape2.Top = 0 + _shape2.Width = 64 + _shape2.ZOrderSet = 2 + Lb_titlu_alb_b121.Caption = "Modificã explicaþie articol" + Lb_titlu_alb_b121.Name = "Lb_titlu_alb_b121" + Lb_titlu_alb_b121.TabIndex = 5 + Lb_titlu_alb_b121.ZOrderSet = 3 + BUT_TERMIN1.Left = 344 + BUT_TERMIN1.Name = "BUT_TERMIN1" + BUT_TERMIN1.TabIndex = 3 + BUT_TERMIN1.Top = 1 + BUT_TERMIN1.ZOrderSet = 4 + Gridsort1.Name = "Gridsort1" + But_renunt1.Left = 315 + But_renunt1.Name = "But_renunt1" + But_renunt1.TabIndex = 4 + But_renunt1.Top = 1 + But_renunt1.ZOrderSet = 6 + * + + ADD OBJECT '_shape3' AS _shape WITH ; + BackStyle = 0, ; + Height = 37, ; + Left = 13, ; + Name = "_shape3", ; + Top = 323, ; + Width = 348, ; + ZOrderSet = 0 + *< END OBJECT: ClassLib="_baza.vcx" BaseClass="shape" /> + + ADD OBJECT 'cbo_saft' AS _cbbase WITH ; + BoundColumn = 4, ; + BoundTo = .T., ; + ColumnCount = 3, ; + ColumnWidths = "500,150,50", ; + ControlSource = "poRec.taxcode", ; + Height = 24, ; + Left = 82, ; + Name = "cbo_saft", ; + RowSource = "Select taxname, tip, procent_taxa, taxcode From saft_taxtable where tva = 1 order by taxcode Into Cursor crsTaxTableX", ; + RowSourceType = 3, ; + TabIndex = 2, ; + Top = 329, ; + Width = 266, ; + ZOrderSet = 8 + *< END OBJECT: ClassLib="_cb_base.vcx" BaseClass="combobox" /> + + ADD OBJECT 'Ed_tx_simplu1' AS ed_tx_simplu WITH ; + Height = 288, ; + Left = 13, ; + Name = "Ed_tx_simplu1", ; + TabIndex = 1, ; + Top = 36, ; + Width = 348, ; + ZOrderSet = 7, ; + _edbase1.ControlSource = "porec.explicatie", ; + _edbase1.Height = 253, ; + _edbase1.Left = 10, ; + _edbase1.Name = "_edbase1", ; + _edbase1.Top = 23, ; + _edbase1.Width = 325, ; + _lbbase1.Caption = "Explicaþie", ; + _lbbase1.Name = "_lbbase1" + *< END OBJECT: ClassLib="lb_tx.vcx" BaseClass="container" /> + + ADD OBJECT 'lbSaft' AS _label WITH ; + Caption = "Cod taxa", ; + Left = 24, ; + Name = "lbSaft", ; + TabIndex = 6, ; + Top = 332, ; + ZOrderSet = 9 + *< END OBJECT: ClassLib="_baza.vcx" BaseClass="label" /> + + PROCEDURE inainte_de_do_termin + Local llReturn + If amessagebox("Doriti sa salvati modificarile?",4+32,"Confirmare salvare explicatie") = 6 + lcSql = [begin pack_facturare.modifica_explicatie_articol(] + Alltrim(Str(poRec.id_vanzare_det)) + [,] + ; + ['] + Nvl(Alltrim(OracleSpecialCharacters(poRec.explicatie)),'') + [',?gnIdUtil,?poRec.taxcode); end;] + llReturn = goExecutor.oExecuta(lcSql) + Else + llReturn = .F. + Endif + Return llReturn + + ENDPROC + + PROCEDURE Init + DoDefault() + Local lnLungimeMax, lcSql + lcSql = [select pack_facturare.citeste_lungcampexplart() as lungime from dual] + lcCursor = Sys(2015) + If goExecutor.oExecuta(lcSql,lcCursor) + Select (lcCursor) + lnLungimeMax = lungime + Use In (lcCursor) + With Thisform.Ed_tx_simplu1 + ._lbbase1.Caption = ._lbbase1.Caption + [ ( maxim ] + Alltrim(Str(lnLungimeMax)) + [ caractere )] + ._edbase1.MaxLength = lnLungimeMax + Endwith + Endif + + ENDPROC + +ENDDEFINE + +DEFINE CLASS frm_modifica_factura AS frm_termin_renunt OF "_frm_child.vcx" + *< CLASSDATA: Baseclass="form" Timestamp="" Scale="Pixels" Uniqueid="" /> + + *-- OBJECTDATA items order determines ZOrder / El orden de los items OBJECTDATA determina el ZOrder + *< OBJECTDATA: ObjPath="shpTipFactura" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="Ct_clb_delegat" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="Ct_clb_masina" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="Ct_clb_agent" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="Ct_clb_ruta" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="Clb_dataora_exp" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="clb_adresa_facturare" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="chkDetaliat" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="Ed_tx_simplu1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="txtNrAct" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="cboTipFactura" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="lblTipFactura" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="txtSerieAct" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="txtDataAct" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="txtDataScad" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="chkSerieAct" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="chkNrAct" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="chkDataAct" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="chkDataScad" UniqueID="" Timestamp="" /> + + * + *m: do_cauta_adresa + *m: do_cauta_agent + *m: do_cauta_delegat + *m: do_cauta_masina + *m: do_cauta_ruta + *p: nid + *p: ntip_selectie && 0 - cautare in toti delegatii; 1 - cautare in delegatii clientului + *p: orec + * + + * + BorderStyle = 1 + DoCreate = .T. + Height = 412 + Name = "frm_modifica_factura" + nid = .F. + ntip_selectie = 0 + orec = .F. + Width = 613 + _shape1.Height = 29 + _shape1.Left = 0 + _shape1.Name = "_shape1" + _shape1.Top = 0 + _shape1.Width = 615 + _shape1.ZOrderSet = 2 + _shape2.Height = 29 + _shape2.Left = 546 + _shape2.Name = "_shape2" + _shape2.Top = 0 + _shape2.Width = 64 + _shape2.ZOrderSet = 3 + Lb_titlu_alb_b121.Caption = "Modifica date factura" + Lb_titlu_alb_b121.Name = "Lb_titlu_alb_b121" + Lb_titlu_alb_b121.TabIndex = 20 + Lb_titlu_alb_b121.ZOrderSet = 4 + BUT_TERMIN1.Left = 582 + BUT_TERMIN1.Name = "BUT_TERMIN1" + BUT_TERMIN1.TabIndex = 18 + BUT_TERMIN1.Top = 1 + BUT_TERMIN1.ZOrderSet = 5 + Gridsort1.Name = "Gridsort1" + But_renunt1.Left = 553 + But_renunt1.Name = "But_renunt1" + But_renunt1.TabIndex = 19 + But_renunt1.Top = 1 + But_renunt1.ZOrderSet = 7 + * + + ADD OBJECT 'cboTipFactura' AS _combobox WITH ; + BoundColumn = 2, ; + BoundTo = .T., ; + ColumnCount = 1, ; + ColumnLines = .F., ; + ColumnWidths = "150", ; + ControlSource = "poRec.tip_saft", ; + Height = 24, ; + Left = 145, ; + Name = "cboTipFactura", ; + RowSource = "select tip_saftname, cod from saft_tip_facturi into cursor cTipFacturaX", ; + RowSourceType = 3, ; + TabIndex = 7, ; + Top = 216, ; + Width = 179, ; + ZOrderSet = 16 + *< END OBJECT: ClassLib="..\..\..\roagest\comun\clase\_baza.vcx" BaseClass="combobox" /> + + ADD OBJECT 'chkDataAct' AS _checkbox WITH ; + Alignment = 0, ; + Caption = "Data factura", ; + Enabled = .F., ; + Height = 18, ; + Left = 376, ; + Name = "chkDataAct", ; + TabIndex = 12, ; + Top = 106, ; + Value = .F., ; + Width = 89 + *< END OBJECT: ClassLib="_baza.vcx" BaseClass="checkbox" /> + + ADD OBJECT 'chkDataScad' AS _checkbox WITH ; + Alignment = 0, ; + Caption = "Data scadenta", ; + Enabled = .F., ; + Height = 18, ; + Left = 376, ; + Name = "chkDataScad", ; + TabIndex = 13, ; + Top = 134, ; + Value = .F., ; + Width = 103 + *< END OBJECT: ClassLib="_baza.vcx" BaseClass="checkbox" /> + + ADD OBJECT 'chkDetaliat' AS _checkbox WITH ; + Alignment = 0, ; + AutoSize = .T., ; + Caption = "Listare detaliata", ; + ControlSource = "poRec.listare_detaliata", ; + Left = 13, ; + Name = "chkDetaliat", ; + TabIndex = 9, ; + ToolTipText = "Se listeaza articolele detaliat pe factura sau se cumuleaza cantitatea pe articole", ; + Top = 380, ; + ZOrderSet = 14 + *< END OBJECT: ClassLib="_baza.vcx" BaseClass="checkbox" /> + + ADD OBJECT 'chkNrAct' AS _checkbox WITH ; + Alignment = 0, ; + Caption = "Numar factura", ; + Enabled = .F., ; + Height = 18, ; + Left = 376, ; + Name = "chkNrAct", ; + TabIndex = 11, ; + Top = 78, ; + Value = .F., ; + Width = 100 + *< END OBJECT: ClassLib="_baza.vcx" BaseClass="checkbox" /> + + ADD OBJECT 'chkSerieAct' AS _checkbox WITH ; + Alignment = 0, ; + Caption = "Serie factura", ; + Enabled = .F., ; + Height = 18, ; + Left = 376, ; + Name = "chkSerieAct", ; + TabIndex = 10, ; + Top = 50, ; + Value = .F., ; + Width = 92 + *< END OBJECT: ClassLib="_baza.vcx" BaseClass="checkbox" /> + + ADD OBJECT 'clb_adresa_facturare' AS ct_clb_cautare WITH ; + cconditie = ISNULL(porec.id_facturare), ; + cprocedura = thisform.do_cauta_adresa, ; + cvar_afisata = porec.adresa_facturare, ; + Left = 12, ; + Name = "clb_adresa_facturare", ; + TabIndex = 5, ; + Top = 156, ; + ZOrderSet = 13, ; + img_cautare.Name = "img_cautare", ; + clb_tx_cautare.Lb_simplu1.Caption = "Adresa facturare", ; + clb_tx_cautare.Lb_simplu1.Name = "Lb_simplu1", ; + clb_tx_cautare.Name = "clb_tx_cautare", ; + clb_tx_cautare.Text_simplu1.Left = 133, ; + clb_tx_cautare.Text_simplu1.Name = "Text_simplu1", ; + clb_tx_cautare.Text_simplu1.Top = 3, ; + clb_tx_cautare.Text_simplu1.Width = 177 + *< END OBJECT: ClassLib="caut_ora.vcx" BaseClass="container" /> + + ADD OBJECT 'Clb_dataora_exp' AS clb_tx_simplu WITH ; + Height = 29, ; + Left = 13, ; + Name = "Clb_dataora_exp", ; + TabIndex = 6, ; + Top = 185, ; + Width = 314, ; + ZOrderSet = 12, ; + Text_simplu1.ControlSource = "poRec.dataora_exp", ; + Text_simplu1.Height = 23, ; + Text_simplu1.Left = 133, ; + Text_simplu1.Name = "Text_simplu1", ; + Text_simplu1.Top = 3, ; + Text_simplu1.Width = 177, ; + Lb_simplu1.Caption = "Data ºi ora expedierii", ; + Lb_simplu1.Name = "Lb_simplu1" + *< END OBJECT: ClassLib="lb_tx.vcx" BaseClass="container" /> + + ADD OBJECT 'Ct_clb_agent' AS ct_clb_cautare WITH ; + cconditie = ISNULL(porec.id_agent), ; + cprocedura = thisform.do_cauta_agent, ; + cvar_afisata = porec.nume_agent, ; + Left = 12, ; + Name = "Ct_clb_agent", ; + TabIndex = 2, ; + Top = 72, ; + ZOrderSet = 10, ; + img_cautare.Name = "img_cautare", ; + clb_tx_cautare.Lb_simplu1.Caption = "Agent", ; + clb_tx_cautare.Lb_simplu1.Name = "Lb_simplu1", ; + clb_tx_cautare.Name = "clb_tx_cautare", ; + clb_tx_cautare.Text_simplu1.Left = 133, ; + clb_tx_cautare.Text_simplu1.Name = "Text_simplu1", ; + clb_tx_cautare.Text_simplu1.Width = 177 + *< END OBJECT: ClassLib="caut_ora.vcx" BaseClass="container" /> + + ADD OBJECT 'Ct_clb_delegat' AS ct_clb_cautare WITH ; + cconditie = ISNULL(porec.id_delegat), ; + cprocedura = thisform.do_cauta_delegat, ; + cvar_afisata = porec.delegat, ; + Left = 12, ; + Name = "Ct_clb_delegat", ; + TabIndex = 3, ; + Top = 100, ; + ZOrderSet = 8, ; + img_cautare.Name = "img_cautare", ; + clb_tx_cautare.Lb_simplu1.Caption = "Delegat", ; + clb_tx_cautare.Lb_simplu1.Name = "Lb_simplu1", ; + clb_tx_cautare.Name = "clb_tx_cautare", ; + clb_tx_cautare.Text_simplu1.Left = 133, ; + clb_tx_cautare.Text_simplu1.Name = "Text_simplu1", ; + clb_tx_cautare.Text_simplu1.Width = 177 + *< END OBJECT: ClassLib="caut_ora.vcx" BaseClass="container" /> + + ADD OBJECT 'Ct_clb_masina' AS ct_clb_cautare WITH ; + cconditie = isnull(porec.id_masina), ; + cprocedura = thisform.do_cauta_masina, ; + cvar_afisata = porec.nrinmat, ; + Left = 12, ; + Name = "Ct_clb_masina", ; + TabIndex = 4, ; + Top = 128, ; + ZOrderSet = 9, ; + img_cautare.Name = "img_cautare", ; + clb_tx_cautare.Lb_simplu1.Caption = "Maºina", ; + clb_tx_cautare.Lb_simplu1.Name = "Lb_simplu1", ; + clb_tx_cautare.Name = "clb_tx_cautare", ; + clb_tx_cautare.Text_simplu1.Left = 133, ; + clb_tx_cautare.Text_simplu1.Name = "Text_simplu1", ; + clb_tx_cautare.Text_simplu1.Top = 3, ; + clb_tx_cautare.Text_simplu1.Width = 177 + *< END OBJECT: ClassLib="caut_ora.vcx" BaseClass="container" /> + + ADD OBJECT 'Ct_clb_ruta' AS ct_clb_cautare WITH ; + cconditie = ISNULL(porec.id_ruta), ; + cprocedura = thisform.do_cauta_ruta, ; + cvar_afisata = porec.ruta, ; + Left = 12, ; + Name = "Ct_clb_ruta", ; + TabIndex = 1, ; + Top = 44, ; + ZOrderSet = 11, ; + img_cautare.Name = "img_cautare", ; + clb_tx_cautare.Lb_simplu1.Caption = "Ruta", ; + clb_tx_cautare.Lb_simplu1.Name = "Lb_simplu1", ; + clb_tx_cautare.Name = "clb_tx_cautare", ; + clb_tx_cautare.Text_simplu1.Left = 133, ; + clb_tx_cautare.Text_simplu1.Name = "Text_simplu1", ; + clb_tx_cautare.Text_simplu1.Width = 177 + *< END OBJECT: ClassLib="caut_ora.vcx" BaseClass="container" /> + + ADD OBJECT 'Ed_tx_simplu1' AS ed_tx_simplu WITH ; + Height = 135, ; + Left = 13, ; + Name = "Ed_tx_simplu1", ; + TabIndex = 8, ; + Top = 241, ; + Width = 468, ; + ZOrderSet = 15, ; + _EDBASE1.ControlSource = "poRec.text_aditional", ; + _EDBASE1.Height = 103, ; + _EDBASE1.Left = 10, ; + _EDBASE1.MaxLength = 1000, ; + _EDBASE1.Name = "_EDBASE1", ; + _EDBASE1.Top = 23, ; + _EDBASE1.Width = 445, ; + _LBBASE1.AutoSize = .T., ; + _LBBASE1.Caption = "Text aditional (se listeaza la sfarsitul articolelor, max. 1000 caractere)", ; + _LBBASE1.Height = 18, ; + _LBBASE1.Left = 8, ; + _LBBASE1.Name = "_LBBASE1", ; + _LBBASE1.Top = 6, ; + _LBBASE1.Width = 404, ; + _LBBASE1.WordWrap = .F. + *< END OBJECT: ClassLib="lb_tx.vcx" BaseClass="container" /> + + ADD OBJECT 'lblTipFactura' AS _label WITH ; + Caption = "Tip factura", ; + Left = 20, ; + Name = "lblTipFactura", ; + TabIndex = 21, ; + Top = 219, ; + ZOrderSet = 17 + *< END OBJECT: ClassLib="..\..\..\roagest\comun\clase\_baza.vcx" BaseClass="label" /> + + ADD OBJECT 'shpTipFactura' AS _shape WITH ; + BackStyle = 0, ; + Height = 29, ; + Left = 13, ; + Name = "shpTipFactura", ; + Top = 213, ; + Width = 314, ; + ZOrderSet = 1 + *< END OBJECT: ClassLib="..\..\..\roagest\comun\clase\_baza.vcx" BaseClass="shape" /> + + ADD OBJECT 'txtDataAct' AS _textbox WITH ; + ControlSource = "poRec.data_act", ; + Enabled = .F., ; + Height = 23, ; + Left = 482, ; + Name = "txtDataAct", ; + TabIndex = 16, ; + Top = 104, ; + Width = 120 + *< END OBJECT: ClassLib="_baza.vcx" BaseClass="textbox" /> + + ADD OBJECT 'txtDataScad' AS _textbox WITH ; + ControlSource = "poRec.data_scad", ; + Enabled = .F., ; + Height = 23, ; + Left = 482, ; + Name = "txtDataScad", ; + TabIndex = 17, ; + Top = 132, ; + Width = 120 + *< END OBJECT: ClassLib="_baza.vcx" BaseClass="textbox" /> + + ADD OBJECT 'txtNrAct' AS _textbox WITH ; + ControlSource = "poRec.numar_act", ; + Enabled = .F., ; + Height = 23, ; + Left = 482, ; + Name = "txtNrAct", ; + TabIndex = 15, ; + Top = 76, ; + Width = 120 + *< END OBJECT: ClassLib="_baza.vcx" BaseClass="textbox" /> + + ADD OBJECT 'txtSerieAct' AS _textbox WITH ; + ControlSource = "poRec.serie_act", ; + Enabled = .F., ; + Height = 23, ; + Left = 482, ; + Name = "txtSerieAct", ; + TabIndex = 14, ; + Top = 48, ; + Width = 120 + *< END OBJECT: ClassLib="_baza.vcx" BaseClass="textbox" /> + + PROCEDURE Destroy + USE IN (SELECT('cTipFactura')) + DODEFAULT() + ENDPROC + + PROCEDURE do_cauta_adresa + Local locauta + locauta = caut_adresa(poRec.id_part) + IF ISNULL(loCauta) + RETURN + ENDIF + If !Empty(locauta.id_adresa) + poRec.adresa_facturare = Alltrim(locauta.adresa) + poRec.id_facturare = locauta.id_adresa + + Thisform.clb_adresa_facturare.Refresh() + Thisform.but_TERMIN1.SetFocus() + Else + poRec.adresa_facturare = [] + poRec.id_facturare = Null + Endif + ENDPROC + + PROCEDURE do_cauta_agent + Local loCauta + loCauta = CautPartenerContabilitate(GetHash([cTitlu=>Agenti??cTipuriParteneri=>]+ALLTRIM(STR(gnIdTipAgenti))+[??lAdaugCorespondente=>1])) + If !Empty(Nvl(loCauta.id_part,0)) And !Empty(loCauta.denumire) + poRec.id_agent = loCauta.id_part + poRec.nume_agent = Alltrim(loCauta.denumire) + Thisform.ct_clb_agent.Refresh() + Thisform.ct_clb_delegat.SetFocus() + Else + poRec.id_agent = Null + poRec.nume_agent = [] + Endif + + ENDPROC + + PROCEDURE do_cauta_delegat + Local loCauta + *!* If Inlist(poRec.tip,23,25) + *!* loCauta=caut_delegati() + *!* Else + *!* modificare v 2.0.27 + *!* loCauta=caut_delegati() + If thisform.ntip_selectie = 0 + loCauta=caut_delegati() + Else + loCauta=caut_delegati_hash(poRec.id_part,.T.) + EndIf + *!* modificare v 2.0.27 ^ + *!* Endif + If !Empty(loCauta.id_responsabil) + poRec.id_delegat = loCauta.id_responsabil + poRec.delegat = Alltrim(loCauta.nume) + Thisform.ct_clb_delegat.Refresh() + Thisform.ct_clb_masina.SetFocus() + Else + poRec.id_delegat = Null + poRec.delegat = [] + Endif + + ENDPROC + + PROCEDURE do_cauta_masina + locauta=caut_masina_gs() + If !Empty(locauta.id_masina) + poRec.nrinmat = Alltrim(locauta.nrinmat) + poRec.id_masina = locauta.id_masina + + Thisform.ct_clb_masina.Refresh() + Thisform.clb_adresa_facturare.SetFocus() + Else + poRec.nrinmat = [] + poRec.id_masina = Null + Endif + + ENDPROC + + PROCEDURE do_cauta_ruta + Local locauta + lcFiltru = [2=2] + lcSchema = [id_ruta n(20),ruta c(64)] + lcOrder = [ruta] + lccoloane = [ruta] + lcTitlu = [ALEGETI RUTA] + lcTitluColoane = [Ruta] + lcSelect = [select id_ruta,ruta from fact_nom_rute] + lcFiltruOriginal = [sters = 0] + lcNumeProc = [nom_nomrute] + llToateIreg = .F. + lcPrimaColoana = [ruta] + lnPornire = 1 + lcIdColumn = "id_ruta" + loCauta = cauta_alfa(lcSelect, lcFiltru, lcSchema, lcOrder, lccoloane, lcTitlu, lcTitluColoane, lcNumeProc, llToateIreg, lcFiltruOriginal)&&, lcPrimaColoana, lnPornire, , lcIdColumn) + + If !Empty(locauta.id_ruta) + poRec.ruta = Alltrim(locauta.ruta) + poRec.id_ruta = locauta.id_ruta + Thisform.ct_clb_ruta.Refresh() + Else + poRec.ruta = [] + poRec.id_ruta = Null + Endif + + ENDPROC + + PROCEDURE inainte_de_do_termin + Local llReturn + If Empty(poRec.dataora_exp) + amessagebox("Trebuie sa completati data si ora expedierii!",48,"Atentie") + This.clb_dataora_exp.SetFocus() + llReturn = .F. + Else + llReturn = .T. + ENDIF + + Return llReturn + ENDPROC + + PROCEDURE Init + Lparameters tnTip + Thisform.ntip_selectie = Iif(Empty(tnTip),0,tnTip) + This.shpTipFactura.Visible = m.gl406 && Tip factura SAFT + This.lblTipFactura.Visible = m.gl406 + This.cboTipFactura.Visible = m.gl406 + + this.chkSerieAct.Enabled = !EMPTY(NVL(poRec.numar_act,0)) + this.chkNrAct.Enabled = !EMPTY(NVL(poRec.numar_act,0)) + this.chkDataAct.Enabled = !EMPTY(NVL(poRec.numar_act,0)) + this.chkDataScad.Enabled = !EMPTY(NVL(poRec.numar_act,0)) + + DoDefault() + + ENDPROC + + PROCEDURE Load + IF !USED('saft_tip_facturi') + update_saft_tip_facturi() + ENDIF + ENDPROC + + PROCEDURE chkDataAct.Valid + thisform.txtDataAct.Enabled = this.Value + ENDPROC + + PROCEDURE chkDataScad.Click + thisform.txtDataScad.Enabled = this.Value + ENDPROC + + PROCEDURE chkNrAct.Valid + thisform.txtNrAct.Enabled = this.Value + ENDPROC + + PROCEDURE chkSerieAct.Valid + thisform.txtSerieAct.Enabled = this.Value + ENDPROC + +ENDDEFINE + +DEFINE CLASS frm_proforme AS _frmbase OF "_frm_base.vcx" + *< CLASSDATA: Baseclass="form" Timestamp="" Scale="Pixels" Uniqueid="" /> + + *-- OBJECTDATA items order determines ZOrder / El orden de los items OBJECTDATA determina el ZOrder + *< OBJECTDATA: ObjPath="_shape3" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="grid_facturi" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="grid_facturi.cDataora.Header1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="grid_facturi.cDataora.Text1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="grid_facturi.cUtilizator.Header1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="grid_facturi.cUtilizator.Text1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="grid_facturi.cAltele.Header1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="grid_facturi.cAltele.Text1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="grid_facturi.cNumar_act.Header1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="grid_facturi.cNumar_act.Text1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="grid_facturi.cExplicatie.Header1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="grid_facturi.cExplicatie.Text1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="grid_facturi.cClient.Header1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="grid_facturi.cClient.Text1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="grid_facturi.cUtils.Header1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="grid_facturi.cUtils.Text1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="grid_facturi.cDataoras.Header1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="grid_facturi.cDataoras.Text1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="grid_facturi.cDiscount.Header1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="grid_facturi.cDiscount.Text1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="grid_facturi.cDiscount_evidentiat.Header1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="grid_facturi.cDiscount_evidentiat._checkbox1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="grid_facturi.cText_aditional.Header1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="grid_facturi.cText_aditional.Text1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="grid_facturi.cTotal_fara_tva.Header1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="grid_facturi.cTotal_fara_tva.Text1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="grid_facturi.cTotal_tva.Header1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="grid_facturi.cTotal_tva.Text1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="grid_facturi.cTotal_cu_tva.Header1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="grid_facturi.cTotal_cu_tva.Text1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="grid_facturi.cData_act.Header1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="grid_facturi.cData_act.Text1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="grid_facturi.cSucursala.Header1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="grid_facturi.cSucursala.Text1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="grid_facturi.cListareDetaliata.Header1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="grid_facturi.cListareDetaliata.Text1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="grid_facturi.cAdresaFacturare.Header1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="grid_facturi.cAdresaFacturare.Text1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="grid_detalii" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="grid_detalii.cNume_lista_preturi.Header1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="grid_detalii.cNume_lista_preturi.Text1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="grid_detalii.cExplicatie.Header1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="grid_detalii.cExplicatie.Text1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="grid_detalii.cCantitate.Header1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="grid_detalii.cCantitate.Text1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="grid_detalii.cPret.Header1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="grid_detalii.cPret.Text1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="grid_detalii.cProc_tvav.Header1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="grid_detalii.cProc_tvav.Text1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="grid_detalii.cDiscount_unitar.Header1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="grid_detalii.cDiscount_unitar.Text1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="grid_detalii.cUtils.Header1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="grid_detalii.cUtils.Text1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="grid_detalii.cDataoras.Header1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="grid_detalii.cDataoras.Text1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="grid_detalii.cUM.Header1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="grid_detalii.cUM.Text1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="grid_detalii.cCont.Header1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="grid_detalii.cCont.Text1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="grid_detalii.cNume_Gestiune.Header1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="grid_detalii.cNume_Gestiune.Text1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="grid_detalii.cDiscount_unitar_val.Header1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="grid_detalii.cDiscount_unitar_val.Text1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="grid_detalii.cPret_val.Header1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="grid_detalii.cPret_val.Text1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="grid_detalii.cPret_cu_tva.Header1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="grid_detalii.cPret_cu_tva._checkbox1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="grid_detalii.cNume_val.Header1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="grid_detalii.cNume_val.Text1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="grid_detalii.cCurs.Header1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="grid_detalii.cCurs.Text1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="But_sterge1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="Ck_sucursala" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="But_listare1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="Cmd_reset1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="Cmd_cauta1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="Ck_utilizator" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="Ck_dataora" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="Ck_data_act" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="Ck_client" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="lb_total_val" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="lb_total_ron" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="txtTotalValuta" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="txtTotalLei" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="Ck_explicatie" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="opt_sterse" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="opt_in_valuta" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="Ck_numar_act" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="Gridextra1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="Gridextra2" UniqueID="" Timestamp="" /> + + * + *p: cfiltru_initial + *p: ndetalii + *p: nvanzari + * + + * + BorderStyle = 1 + cfiltru_initial = + cgridsortlist = grid_facturi,grid_detalii + DoCreate = .T. + Height = 588 + Name = "frm_proforme" + ndetalii = 0 + nvanzari = 0 + Width = 790 + WindowState = 2 + _shape1.Anchor = 11 + _shape1.Height = 29 + _shape1.Left = 0 + _shape1.Name = "_shape1" + _shape1.Top = 0 + _shape1.Width = 791 + _shape1.ZOrderSet = 1 + _shape2.Anchor = 9 + _shape2.Height = 29 + _shape2.Left = 688 + _shape2.Name = "_shape2" + _shape2.Top = 0 + _shape2.Width = 105 + _shape2.ZOrderSet = 2 + Lb_titlu_alb_b121.Caption = "LISTA PROFORME" + Lb_titlu_alb_b121.FontBold = .T. + Lb_titlu_alb_b121.Name = "Lb_titlu_alb_b121" + Lb_titlu_alb_b121.TabIndex = 15 + Lb_titlu_alb_b121.ZOrderSet = 3 + BUT_TERMIN1.Anchor = 9 + BUT_TERMIN1.Left = 760 + BUT_TERMIN1.Name = "BUT_TERMIN1" + BUT_TERMIN1.TabIndex = 12 + BUT_TERMIN1.Top = 1 + BUT_TERMIN1.ZOrderSet = 4 + Gridsort1.Left = 192 + Gridsort1.Name = "Gridsort1" + Gridsort1.Top = 6 + * + + ADD OBJECT '_shape3' AS _shape WITH ; + Anchor = 10, ; + BackStyle = 0, ; + Height = 40, ; + Left = 9, ; + Name = "_shape3", ; + Top = 35, ; + Width = 770, ; + ZOrderSet = 0 + *< END OBJECT: ClassLib="_baza.vcx" BaseClass="shape" /> + + ADD OBJECT 'But_listare1' AS but_listare WITH ; + Anchor = 8, ; + Left = 727, ; + Name = "But_listare1", ; + TabIndex = 13, ; + Top = 1 + *< END OBJECT: ClassLib="cmd_butoane.vcx" BaseClass="commandbutton" /> + + ADD OBJECT 'But_sterge1' AS but_sterge WITH ; + Anchor = 8, ; + Left = 693, ; + Name = "But_sterge1", ; + TabIndex = 14, ; + Top = 1 + *< END OBJECT: ClassLib="cmd_butoane.vcx" BaseClass="commandbutton" /> + + ADD OBJECT 'Ck_client' AS ck_filtru_text WITH ; + Alignment = 0, ; + AutoSize = .T., ; + camp_nume = client, ; + Caption = "Partener", ; + Comment = "*:OnResize=LT", ; + Left = 88, ; + Name = "Ck_client", ; + TabIndex = 3, ; + Top = 38 + *< END OBJECT: ClassLib="caut_ora.vcx" BaseClass="checkbox" /> + + ADD OBJECT 'Ck_data_act' AS ck_filtru_numar WITH ; + Alignment = 0, ; + camp_nume = data_act, ; + Caption = "Data act", ; + Left = 19, ; + Name = "Ck_data_act", ; + TabIndex = 1, ; + tip = D, ; + Top = 38, ; + Value = 1, ; + ZOrderSet = 14 + *< END OBJECT: ClassLib="caut_ora.vcx" BaseClass="checkbox" /> + + ADD OBJECT 'Ck_dataora' AS ck_filtru_numar WITH ; + Alignment = 0, ; + camp_nume = dataora, ; + Caption = "Dataora introducere", ; + Left = 251, ; + Name = "Ck_dataora", ; + TabIndex = 7, ; + tip = T, ; + Top = 38, ; + ZOrderSet = 14 + *< END OBJECT: ClassLib="caut_ora.vcx" BaseClass="checkbox" /> + + ADD OBJECT 'Ck_explicatie' AS ck_filtru_text WITH ; + Alignment = 0, ; + AutoSize = .T., ; + camp_nume = explicatie, ; + Caption = "Explicatie", ; + Comment = "*:OnResize=LT", ; + Left = 88, ; + Name = "Ck_explicatie", ; + TabIndex = 4, ; + Top = 54 + *< END OBJECT: ClassLib="caut_ora.vcx" BaseClass="checkbox" /> + + ADD OBJECT 'Ck_numar_act' AS ck_filtru_numar WITH ; + Alignment = 0, ; + AutoSize = .T., ; + camp_nume = NUMAR_ACT, ; + Caption = "Nr. act", ; + Left = 19, ; + mask = (replicate('9',15)), ; + Name = "Ck_numar_act", ; + TabIndex = 2, ; + Top = 54 + *< END OBJECT: ClassLib="caut_ora.vcx" BaseClass="checkbox" /> + + ADD OBJECT 'Ck_sucursala' AS ck_filtru_text WITH ; + Alignment = 0, ; + AutoSize = .T., ; + camp_nume = sucursala, ; + Caption = "Sucursala", ; + Comment = "*:OnResize=LT", ; + Left = 166, ; + Name = "Ck_sucursala", ; + TabIndex = 5, ; + Top = 38, ; + ZOrderSet = 9 + *< END OBJECT: ClassLib="caut_ora.vcx" BaseClass="checkbox" /> + + ADD OBJECT 'Ck_utilizator' AS ck_filtru_text WITH ; + Alignment = 0, ; + camp_nume = utilizator, ; + Caption = "Operator introducere", ; + FontCharSet = 238, ; + Left = 166, ; + Name = "Ck_utilizator", ; + TabIndex = 6, ; + Top = 54, ; + ZOrderSet = 13 + *< END OBJECT: ClassLib="caut_ora.vcx" BaseClass="checkbox" /> + + ADD OBJECT 'Cmd_cauta1' AS cmd_cauta WITH ; + Anchor = 8, ; + Left = 599, ; + Name = "Cmd_cauta1", ; + TabIndex = 10, ; + Top = 41, ; + ZOrderSet = 12 + *< END OBJECT: ClassLib="cmd_butoane.vcx" BaseClass="commandbutton" /> + + ADD OBJECT 'Cmd_reset1' AS cmd_reset WITH ; + Anchor = 8, ; + Left = 687, ; + Name = "Cmd_reset1", ; + TabIndex = 17, ; + Top = 41, ; + ZOrderSet = 11 + *< END OBJECT: ClassLib="cmd_butoane.vcx" BaseClass="commandbutton" /> + + ADD OBJECT 'grid_detalii' AS _grdrow WITH ; + Anchor = 14, ; + ColumnCount = 16, ; + DeleteMark = .F., ; + HeaderHeight = 31, ; + Height = 243, ; + HighlightStyle = 2, ; + Left = 6, ; + Name = "grid_detalii", ; + Panel = 1, ; + RecordSource = "crsDetalii", ; + RowHeight = 19, ; + TabIndex = 11, ; + Top = 312, ; + Width = 774, ; + ZOrderSet = 7, ; + Column1.ControlSource = "nume_lista_preturi", ; + Column1.FontName = "Arial", ; + Column1.FontSize = 10, ; + Column1.Name = "cNume_lista_preturi", ; + Column1.Width = 114, ; + Column2.ControlSource = "denumire", ; + Column2.FontName = "Arial", ; + Column2.FontSize = 10, ; + Column2.Name = "cExplicatie", ; + Column2.Width = 163, ; + Column3.ControlSource = "cantitate", ; + Column3.FontName = "Arial", ; + Column3.FontSize = 10, ; + Column3.Format = "rk", ; + Column3.InputMask = (get_mask(12,gnPCant)), ; + Column3.Name = "cCantitate", ; + Column3.Width = 61, ; + Column4.ColumnOrder = 5, ; + Column4.ControlSource = "pret", ; + Column4.FontName = "Arial", ; + Column4.FontSize = 10, ; + Column4.Format = "rk", ; + Column4.InputMask = (get_mask(14,gnPPretV)), ; + Column4.Name = "cPret", ; + Column4.Width = 59, ; + Column5.ColumnOrder = 7, ; + Column5.ControlSource = "proc_tvav", ; + Column5.FontName = "Arial", ; + Column5.FontSize = 10, ; + Column5.Format = "rk", ; + Column5.InputMask = "9 999.99", ; + Column5.Name = "cProc_tvav", ; + Column5.Width = 45, ; + Column6.ColumnOrder = 6, ; + Column6.ControlSource = "discount_unitar", ; + Column6.FontName = "Arial", ; + Column6.FontSize = 10, ; + Column6.Format = "rk", ; + Column6.InputMask = (get_mask(14,gnPPretV)), ; + Column6.Name = "cDiscount_unitar", ; + Column6.Width = 98, ; + Column7.ColumnOrder = 15, ; + Column7.ControlSource = "utils", ; + Column7.FontName = "Arial", ; + Column7.FontSize = 10, ; + Column7.Name = "cUtils", ; + Column7.Width = 128, ; + Column8.ColumnOrder = 16, ; + Column8.ControlSource = "dataoras", ; + Column8.FontName = "Arial", ; + Column8.FontSize = 10, ; + Column8.Name = "cDataoras", ; + Column8.Width = 103, ; + Column9.ColumnOrder = 4, ; + Column9.ControlSource = "um", ; + Column9.FontName = "Arial", ; + Column9.FontSize = 10, ; + Column9.Name = "cUM", ; + Column9.Width = 36, ; + Column10.ColumnOrder = 13, ; + Column10.ControlSource = "cont", ; + Column10.FontName = "Arial", ; + Column10.FontSize = 10, ; + Column10.Name = "cCont", ; + Column10.Width = 46, ; + Column11.ColumnOrder = 14, ; + Column11.ControlSource = "nume_gestiune", ; + Column11.FontName = "Arial", ; + Column11.FontSize = 10, ; + Column11.Name = "cNume_Gestiune", ; + Column11.Width = 92, ; + Column12.ColumnOrder = 12, ; + Column12.ControlSource = "discount_unitar_val", ; + Column12.FontName = "Arial", ; + Column12.FontSize = 10, ; + Column12.InputMask = (get_mask(14,gnPval)), ; + Column12.Name = "cDiscount_unitar_val", ; + Column12.Width = 91, ; + Column13.ColumnOrder = 11, ; + Column13.ControlSource = "pret_val", ; + Column13.FontName = "Arial", ; + Column13.FontSize = 10, ; + Column13.InputMask = (get_mask(14,gnPval)), ; + Column13.Name = "cPret_val", ; + Column13.Width = 89, ; + Column14.ColumnOrder = 8, ; + Column14.ControlSource = "pret_cu_tva", ; + Column14.FontName = "Arial", ; + Column14.FontSize = 10, ; + Column14.Name = "cPret_cu_tva", ; + Column14.Sparse = .F., ; + Column14.Width = 74, ; + Column15.ColumnOrder = 9, ; + Column15.ControlSource = "nume_val", ; + Column15.FontName = "Arial", ; + Column15.FontSize = 10, ; + Column15.Name = "cNume_val", ; + Column15.Width = 56, ; + Column16.ColumnOrder = 10, ; + Column16.ControlSource = "curs", ; + Column16.FontName = "Arial", ; + Column16.FontSize = 10, ; + Column16.InputMask = (get_mask(14,gnPCurs)), ; + Column16.Name = "cCurs", ; + Column16.Width = 65 + *< END OBJECT: ClassLib="_grd_base.vcx" BaseClass="grid" /> + + ADD OBJECT 'grid_detalii.cCantitate.Header1' AS header WITH ; + Alignment = 2, ; + Caption = "Cantitate ", ; + FontName = "Arial", ; + FontSize = 10, ; + Name = "Header1" + *< END OBJECT: BaseClass="header" /> + + ADD OBJECT 'grid_detalii.cCantitate.Text1' AS textbox WITH ; + BackColor = 255,255,255, ; + BorderStyle = 0, ; + FontName = "Arial", ; + FontSize = 10, ; + ForeColor = 0,0,0, ; + Margin = 0, ; + Name = "Text1", ; + SelectedBackColor = 100,185,255 + *< END OBJECT: BaseClass="textbox" /> + + ADD OBJECT 'grid_detalii.cCont.Header1' AS header WITH ; + Alignment = 2, ; + Caption = "Cont", ; + FontName = "Arial", ; + FontSize = 10, ; + Name = "Header1" + *< END OBJECT: BaseClass="header" /> + + ADD OBJECT 'grid_detalii.cCont.Text1' AS textbox WITH ; + BackColor = 255,255,255, ; + BorderStyle = 0, ; + FontName = "Arial", ; + FontSize = 10, ; + ForeColor = 0,0,0, ; + Margin = 0, ; + Name = "Text1", ; + SelectedBackColor = 100,185,255 + *< END OBJECT: BaseClass="textbox" /> + + ADD OBJECT 'grid_detalii.cCurs.Header1' AS header WITH ; + Alignment = 2, ; + Caption = "Curs", ; + FontName = "Arial", ; + FontSize = 10, ; + Name = "Header1" + *< END OBJECT: BaseClass="header" /> + + ADD OBJECT 'grid_detalii.cCurs.Text1' AS textbox WITH ; + BackColor = 255,255,255, ; + BorderStyle = 0, ; + FontName = "Arial", ; + FontSize = 10, ; + ForeColor = 0,0,0, ; + Margin = 0, ; + Name = "Text1", ; + SelectedBackColor = 100,185,255 + *< END OBJECT: BaseClass="textbox" /> + + ADD OBJECT 'grid_detalii.cDataoras.Header1' AS header WITH ; + Alignment = 2, ; + Caption = "Dataora stergerii", ; + FontName = "Arial", ; + FontSize = 10, ; + Name = "Header1" + *< END OBJECT: BaseClass="header" /> + + ADD OBJECT 'grid_detalii.cDataoras.Text1' AS textbox WITH ; + BackColor = 255,255,255, ; + BorderStyle = 0, ; + FontName = "Arial", ; + FontSize = 10, ; + ForeColor = 0,0,0, ; + Margin = 0, ; + Name = "Text1", ; + SelectedBackColor = 100,185,255 + *< END OBJECT: BaseClass="textbox" /> + + ADD OBJECT 'grid_detalii.cDiscount_unitar.Header1' AS header WITH ; + Alignment = 2, ; + Caption = "Discount unitar", ; + FontName = "Arial", ; + FontSize = 10, ; + Name = "Header1" + *< END OBJECT: BaseClass="header" /> + + ADD OBJECT 'grid_detalii.cDiscount_unitar.Text1' AS textbox WITH ; + BackColor = 255,255,255, ; + BorderStyle = 0, ; + FontName = "Arial", ; + FontSize = 10, ; + ForeColor = 0,0,0, ; + Margin = 0, ; + Name = "Text1", ; + SelectedBackColor = 100,185,255 + *< END OBJECT: BaseClass="textbox" /> + + ADD OBJECT 'grid_detalii.cDiscount_unitar_val.Header1' AS header WITH ; + Alignment = 2, ; + Caption = "Discount unitar in valuta", ; + FontName = "Arial", ; + FontSize = 10, ; + Name = "Header1", ; + WordWrap = .T. + *< END OBJECT: BaseClass="header" /> + + ADD OBJECT 'grid_detalii.cDiscount_unitar_val.Text1' AS textbox WITH ; + BackColor = 255,255,255, ; + BorderStyle = 0, ; + FontName = "Arial", ; + FontSize = 10, ; + ForeColor = 0,0,0, ; + Margin = 0, ; + Name = "Text1", ; + SelectedBackColor = 100,185,255 + *< END OBJECT: BaseClass="textbox" /> + + ADD OBJECT 'grid_detalii.cExplicatie.Header1' AS header WITH ; + Alignment = 2, ; + Caption = "Articol", ; + FontName = "Arial", ; + FontSize = 10, ; + Name = "Header1" + *< END OBJECT: BaseClass="header" /> + + ADD OBJECT 'grid_detalii.cExplicatie.Text1' AS textbox WITH ; + BackColor = 255,255,255, ; + BorderStyle = 0, ; + FontName = "Arial", ; + FontSize = 10, ; + ForeColor = 0,0,0, ; + Margin = 0, ; + Name = "Text1", ; + SelectedBackColor = 100,185,255 + *< END OBJECT: BaseClass="textbox" /> + + ADD OBJECT 'grid_detalii.cNume_Gestiune.Header1' AS header WITH ; + Alignment = 2, ; + Caption = "Gestiune", ; + FontName = "Arial", ; + FontSize = 10, ; + Name = "Header1" + *< END OBJECT: BaseClass="header" /> + + ADD OBJECT 'grid_detalii.cNume_Gestiune.Text1' AS textbox WITH ; + BackColor = 255,255,255, ; + BorderStyle = 0, ; + FontName = "Arial", ; + FontSize = 10, ; + ForeColor = 0,0,0, ; + Margin = 0, ; + Name = "Text1", ; + SelectedBackColor = 100,185,255 + *< END OBJECT: BaseClass="textbox" /> + + ADD OBJECT 'grid_detalii.cNume_lista_preturi.Header1' AS header WITH ; + Alignment = 2, ; + Caption = "Politica preturi", ; + FontName = "Arial", ; + FontSize = 10, ; + Name = "Header1" + *< END OBJECT: BaseClass="header" /> + + ADD OBJECT 'grid_detalii.cNume_lista_preturi.Text1' AS textbox WITH ; + BackColor = 255,255,255, ; + BorderStyle = 0, ; + FontName = "Arial", ; + FontSize = 10, ; + ForeColor = 0,0,0, ; + Margin = 0, ; + Name = "Text1", ; + SelectedBackColor = 100,185,255 + *< END OBJECT: BaseClass="textbox" /> + + ADD OBJECT 'grid_detalii.cNume_val.Header1' AS header WITH ; + Alignment = 2, ; + Caption = "Valuta", ; + FontName = "Arial", ; + FontSize = 10, ; + Name = "Header1" + *< END OBJECT: BaseClass="header" /> + + ADD OBJECT 'grid_detalii.cNume_val.Text1' AS textbox WITH ; + BackColor = 255,255,255, ; + BorderStyle = 0, ; + FontName = "Arial", ; + FontSize = 10, ; + ForeColor = 0,0,0, ; + Margin = 0, ; + Name = "Text1", ; + SelectedBackColor = 100,185,255 + *< END OBJECT: BaseClass="textbox" /> + + ADD OBJECT 'grid_detalii.cPret.Header1' AS header WITH ; + Alignment = 2, ; + Caption = "Pret", ; + FontName = "Arial", ; + FontSize = 10, ; + Name = "Header1" + *< END OBJECT: BaseClass="header" /> + + ADD OBJECT 'grid_detalii.cPret.Text1' AS textbox WITH ; + BackColor = 255,255,255, ; + BorderStyle = 0, ; + FontName = "Arial", ; + FontSize = 10, ; + ForeColor = 0,0,0, ; + Margin = 0, ; + Name = "Text1", ; + SelectedBackColor = 100,185,255 + *< END OBJECT: BaseClass="textbox" /> + + ADD OBJECT 'grid_detalii.cPret_cu_tva._checkbox1' AS _checkbox WITH ; + Alignment = 2, ; + AutoSize = .F., ; + Caption = "", ; + Centered = .T., ; + FontName = "Arial", ; + FontSize = 10, ; + Left = 32, ; + Name = "_checkbox1", ; + Top = 47 + *< END OBJECT: ClassLib="_baza.vcx" BaseClass="checkbox" /> + + ADD OBJECT 'grid_detalii.cPret_cu_tva.Header1' AS header WITH ; + Caption = "Pret cu TVA", ; + FontName = "Arial", ; + FontSize = 10, ; + Name = "Header1" + *< END OBJECT: BaseClass="header" /> + + ADD OBJECT 'grid_detalii.cPret_val.Header1' AS header WITH ; + Alignment = 2, ; + Caption = "Pret in valuta", ; + FontName = "Arial", ; + FontSize = 10, ; + Name = "Header1" + *< END OBJECT: BaseClass="header" /> + + ADD OBJECT 'grid_detalii.cPret_val.Text1' AS textbox WITH ; + BackColor = 255,255,255, ; + BorderStyle = 0, ; + FontName = "Arial", ; + FontSize = 10, ; + ForeColor = 0,0,0, ; + Margin = 0, ; + Name = "Text1", ; + SelectedBackColor = 100,185,255 + *< END OBJECT: BaseClass="textbox" /> + + ADD OBJECT 'grid_detalii.cProc_tvav.Header1' AS header WITH ; + Alignment = 2, ; + Caption = "Procent TVA", ; + FontName = "Arial", ; + FontSize = 10, ; + Name = "Header1", ; + WordWrap = .T. + *< END OBJECT: BaseClass="header" /> + + ADD OBJECT 'grid_detalii.cProc_tvav.Text1' AS textbox WITH ; + BackColor = 255,255,255, ; + BorderStyle = 0, ; + FontName = "Arial", ; + FontSize = 10, ; + ForeColor = 0,0,0, ; + Margin = 0, ; + Name = "Text1", ; + SelectedBackColor = 100,185,255 + *< END OBJECT: BaseClass="textbox" /> + + ADD OBJECT 'grid_detalii.cUM.Header1' AS header WITH ; + Alignment = 2, ; + Caption = "UM", ; + FontName = "Arial", ; + FontSize = 10, ; + Name = "Header1" + *< END OBJECT: BaseClass="header" /> + + ADD OBJECT 'grid_detalii.cUM.Text1' AS textbox WITH ; + BackColor = 255,255,255, ; + BorderStyle = 0, ; + FontName = "Arial", ; + FontSize = 10, ; + ForeColor = 0,0,0, ; + Margin = 0, ; + Name = "Text1", ; + SelectedBackColor = 100,185,255 + *< END OBJECT: BaseClass="textbox" /> + + ADD OBJECT 'grid_detalii.cUtils.Header1' AS header WITH ; + Alignment = 2, ; + Caption = "Operator stergere", ; + FontName = "Arial", ; + FontSize = 10, ; + Name = "Header1" + *< END OBJECT: BaseClass="header" /> + + ADD OBJECT 'grid_detalii.cUtils.Text1' AS textbox WITH ; + BackColor = 255,255,255, ; + BorderStyle = 0, ; + FontName = "Arial", ; + FontSize = 10, ; + ForeColor = 0,0,0, ; + Margin = 0, ; + Name = "Text1", ; + SelectedBackColor = 100,185,255 + *< END OBJECT: BaseClass="textbox" /> + + ADD OBJECT 'grid_facturi' AS _grdrow WITH ; + Anchor = 15, ; + ColumnCount = 18, ; + DeleteMark = .F., ; + HeaderHeight = 33, ; + Height = 197, ; + HighlightStyle = 2, ; + Left = 6, ; + Name = "grid_facturi", ; + Panel = 1, ; + RecordSource = "crsFacturi", ; + RowHeight = 19, ; + TabIndex = 10, ; + Top = 81, ; + Width = 774, ; + ZOrderSet = 6, ; + Column1.ColumnOrder = 14, ; + Column1.ControlSource = "dataora", ; + Column1.FontName = "Arial", ; + Column1.FontSize = 10, ; + Column1.Name = "cDataora", ; + Column1.Width = 116, ; + Column2.ColumnOrder = 13, ; + Column2.ControlSource = "utilizator", ; + Column2.FontName = "Arial", ; + Column2.FontSize = 10, ; + Column2.Name = "cUtilizator", ; + Column2.Width = 122, ; + Column3.ColumnOrder = 5, ; + Column3.ControlSource = "altele", ; + Column3.FontName = "Arial", ; + Column3.FontSize = 10, ; + Column3.Name = "cAltele", ; + Column3.Width = 96, ; + Column4.ColumnOrder = 2, ; + Column4.ControlSource = "numar_act", ; + Column4.FontName = "Arial", ; + Column4.FontSize = 10, ; + Column4.Name = "cNumar_act", ; + Column4.Width = 76, ; + Column5.ColumnOrder = 4, ; + Column5.ControlSource = "explicatie", ; + Column5.FontName = "Arial", ; + Column5.FontSize = 10, ; + Column5.Name = "cExplicatie", ; + Column5.Width = 119, ; + Column6.ColumnOrder = 3, ; + Column6.ControlSource = "client", ; + Column6.FontName = "Arial", ; + Column6.FontSize = 10, ; + Column6.Name = "cClient", ; + Column6.Width = 134, ; + Column7.ColumnOrder = 15, ; + Column7.ControlSource = "utils", ; + Column7.FontName = "Arial", ; + Column7.FontSize = 10, ; + Column7.Name = "cUtils", ; + Column7.Width = 105, ; + Column8.ColumnOrder = 16, ; + Column8.ControlSource = "dataoras", ; + Column8.FontName = "Arial", ; + Column8.FontSize = 10, ; + Column8.Name = "cDataoras", ; + Column8.Width = 99, ; + Column9.ColumnOrder = 6, ; + Column9.ControlSource = "discount", ; + Column9.FontName = "Arial", ; + Column9.FontSize = 10, ; + Column9.InputMask = (get_mask(14,gnPc)), ; + Column9.Name = "cDiscount", ; + Column9.Width = 83, ; + Column10.ColumnOrder = 11, ; + Column10.ControlSource = "discount_evidentiat", ; + Column10.FontName = "Arial", ; + Column10.FontSize = 10, ; + Column10.Name = "cDiscount_evidentiat", ; + Column10.Sparse = .F., ; + Column10.Width = 117, ; + Column11.ColumnOrder = 10, ; + Column11.ControlSource = "text_aditional", ; + Column11.FontName = "Arial", ; + Column11.FontSize = 10, ; + Column11.Name = "cText_aditional", ; + Column11.Width = 96, ; + Column12.ColumnOrder = 7, ; + Column12.ControlSource = "total_fara_tva", ; + Column12.FontName = "Arial", ; + Column12.FontSize = 10, ; + Column12.InputMask = (get_mask(14,gnPc)), ; + Column12.Name = "cTotal_fara_tva", ; + Column12.Width = 86, ; + Column13.ColumnOrder = 8, ; + Column13.ControlSource = "total_tva", ; + Column13.FontName = "Arial", ; + Column13.FontSize = 10, ; + Column13.InputMask = (get_mask(14,gnPc)), ; + Column13.Name = "cTotal_tva", ; + Column13.Width = 79, ; + Column14.ColumnOrder = 9, ; + Column14.ControlSource = "total_cu_tva", ; + Column14.FontName = "Arial", ; + Column14.FontSize = 10, ; + Column14.InputMask = (get_mask(14,gnPc)), ; + Column14.Name = "cTotal_cu_tva", ; + Column14.Width = 96, ; + Column15.ColumnOrder = 1, ; + Column15.ControlSource = "data_act", ; + Column15.FontName = "Arial", ; + Column15.FontSize = 10, ; + Column15.Name = "cData_act", ; + Column15.Width = 65, ; + Column16.ColumnOrder = 12, ; + Column16.ControlSource = "sucursala", ; + Column16.FontName = "Arial", ; + Column16.FontSize = 10, ; + Column16.Name = "cSucursala", ; + Column16.Width = 109, ; + Column17.FontName = "Arial", ; + Column17.FontSize = 10, ; + Column17.Name = "cListareDetaliata", ; + Column17.ReadOnly = .T., ; + Column17.Sparse = .F., ; + Column17.Width = 66, ; + Column18.FontName = "Arial", ; + Column18.FontSize = 10, ; + Column18.Name = "cAdresaFacturare", ; + Column18.ReadOnly = .T., ; + Column18.Width = 201 + *< END OBJECT: ClassLib="_grd_base.vcx" BaseClass="grid" /> + + ADD OBJECT 'grid_facturi.cAdresaFacturare.Header1' AS header WITH ; + Alignment = 2, ; + Caption = "Adresa facturare", ; + FontName = "Arial", ; + FontSize = 10, ; + Name = "Header1" + *< END OBJECT: BaseClass="header" /> + + ADD OBJECT 'grid_facturi.cAdresaFacturare.Text1' AS textbox WITH ; + BackColor = 255,255,255, ; + BorderStyle = 0, ; + FontName = "Arial", ; + FontSize = 10, ; + ForeColor = 0,0,0, ; + Margin = 0, ; + Name = "Text1", ; + ReadOnly = .T., ; + SelectedBackColor = 100,185,255 + *< END OBJECT: BaseClass="textbox" /> + + ADD OBJECT 'grid_facturi.cAltele.Header1' AS header WITH ; + Alignment = 2, ; + Caption = "Detalii", ; + FontName = "Arial", ; + FontSize = 10, ; + Name = "Header1" + *< END OBJECT: BaseClass="header" /> + + ADD OBJECT 'grid_facturi.cAltele.Text1' AS textbox WITH ; + BackColor = 255,255,255, ; + BorderStyle = 0, ; + FontName = "Arial", ; + FontSize = 10, ; + ForeColor = 0,0,0, ; + Margin = 0, ; + Name = "Text1", ; + SelectedBackColor = 100,185,255 + *< END OBJECT: BaseClass="textbox" /> + + ADD OBJECT 'grid_facturi.cClient.Header1' AS header WITH ; + Alignment = 2, ; + Caption = "Partener", ; + FontName = "Arial", ; + FontSize = 10, ; + Name = "Header1" + *< END OBJECT: BaseClass="header" /> + + ADD OBJECT 'grid_facturi.cClient.Text1' AS textbox WITH ; + BackColor = 255,255,255, ; + BorderStyle = 0, ; + FontName = "Arial", ; + FontSize = 10, ; + ForeColor = 0,0,0, ; + Margin = 0, ; + Name = "Text1", ; + SelectedBackColor = 100,185,255 + *< END OBJECT: BaseClass="textbox" /> + + ADD OBJECT 'grid_facturi.cData_act.Header1' AS header WITH ; + Alignment = 2, ; + Caption = "Data act", ; + FontName = "Arial", ; + FontSize = 10, ; + Name = "Header1" + *< END OBJECT: BaseClass="header" /> + + ADD OBJECT 'grid_facturi.cData_act.Text1' AS textbox WITH ; + BackColor = 255,255,255, ; + BorderStyle = 0, ; + ControlSource = "data_act", ; + FontName = "Arial", ; + FontSize = 10, ; + ForeColor = 0,0,0, ; + Margin = 0, ; + Name = "Text1", ; + SelectedBackColor = 100,185,255 + *< END OBJECT: BaseClass="textbox" /> + + ADD OBJECT 'grid_facturi.cDataora.Header1' AS header WITH ; + Alignment = 2, ; + Caption = "Dataora introducerii", ; + FontName = "Arial", ; + FontSize = 10, ; + Name = "Header1" + *< END OBJECT: BaseClass="header" /> + + ADD OBJECT 'grid_facturi.cDataora.Text1' AS textbox WITH ; + BackColor = 255,255,255, ; + BorderStyle = 0, ; + FontName = "Arial", ; + FontSize = 10, ; + ForeColor = 0,0,0, ; + Margin = 0, ; + Name = "Text1", ; + SelectedBackColor = 100,185,255 + *< END OBJECT: BaseClass="textbox" /> + + ADD OBJECT 'grid_facturi.cDataoras.Header1' AS header WITH ; + Alignment = 2, ; + Caption = "Dataora stergerii", ; + FontName = "Arial", ; + FontSize = 10, ; + Name = "Header1" + *< END OBJECT: BaseClass="header" /> + + ADD OBJECT 'grid_facturi.cDataoras.Text1' AS textbox WITH ; + BackColor = 255,255,255, ; + BorderStyle = 0, ; + FontName = "Arial", ; + FontSize = 10, ; + ForeColor = 0,0,0, ; + Margin = 0, ; + Name = "Text1", ; + SelectedBackColor = 100,185,255 + *< END OBJECT: BaseClass="textbox" /> + + ADD OBJECT 'grid_facturi.cDiscount.Header1' AS header WITH ; + Alignment = 2, ; + Caption = "Discount pe proforma", ; + FontName = "Arial", ; + FontSize = 10, ; + Name = "Header1", ; + WordWrap = .T. + *< END OBJECT: BaseClass="header" /> + + ADD OBJECT 'grid_facturi.cDiscount.Text1' AS textbox WITH ; + BackColor = 255,255,255, ; + BorderStyle = 0, ; + FontName = "Arial", ; + FontSize = 10, ; + ForeColor = 0,0,0, ; + Margin = 0, ; + Name = "Text1", ; + SelectedBackColor = 100,185,255 + *< END OBJECT: BaseClass="textbox" /> + + ADD OBJECT 'grid_facturi.cDiscount_evidentiat._checkbox1' AS _checkbox WITH ; + Alignment = 2, ; + AutoSize = .F., ; + Caption = "", ; + Centered = .T., ; + FontName = "Arial", ; + FontSize = 10, ; + Left = 49, ; + Name = "_checkbox1", ; + Top = 50 + *< END OBJECT: ClassLib="_baza.vcx" BaseClass="checkbox" /> + + ADD OBJECT 'grid_facturi.cDiscount_evidentiat.Header1' AS header WITH ; + Alignment = 2, ; + Caption = "Discount evidentiat pe proforma", ; + FontName = "Arial", ; + FontSize = 10, ; + Name = "Header1", ; + WordWrap = .T. + *< END OBJECT: BaseClass="header" /> + + ADD OBJECT 'grid_facturi.cExplicatie.Header1' AS header WITH ; + Alignment = 2, ; + Caption = "Explicatie", ; + FontName = "Arial", ; + FontSize = 10, ; + Name = "Header1" + *< END OBJECT: BaseClass="header" /> + + ADD OBJECT 'grid_facturi.cExplicatie.Text1' AS textbox WITH ; + BackColor = 255,255,255, ; + BorderStyle = 0, ; + FontName = "Arial", ; + FontSize = 10, ; + ForeColor = 0,0,0, ; + Margin = 0, ; + Name = "Text1", ; + SelectedBackColor = 100,185,255 + *< END OBJECT: BaseClass="textbox" /> + + ADD OBJECT 'grid_facturi.cListareDetaliata.Header1' AS header WITH ; + Alignment = 2, ; + Caption = "Listare detaliata", ; + FontName = "Arial", ; + FontSize = 10, ; + Name = "Header1", ; + WordWrap = .T. + *< END OBJECT: BaseClass="header" /> + + ADD OBJECT 'grid_facturi.cListareDetaliata.Text1' AS textbox WITH ; + BackColor = 255,255,255, ; + BorderStyle = 0, ; + FontName = "Arial", ; + FontSize = 10, ; + ForeColor = 0,0,0, ; + Margin = 0, ; + Name = "Text1", ; + ReadOnly = .T., ; + SelectedBackColor = 100,185,255 + *< END OBJECT: BaseClass="textbox" /> + + ADD OBJECT 'grid_facturi.cNumar_act.Header1' AS header WITH ; + Alignment = 2, ; + Caption = "Numar act", ; + FontName = "Arial", ; + FontSize = 10, ; + Name = "Header1" + *< END OBJECT: BaseClass="header" /> + + ADD OBJECT 'grid_facturi.cNumar_act.Text1' AS textbox WITH ; + BackColor = 255,255,255, ; + BorderStyle = 0, ; + FontName = "Arial", ; + FontSize = 10, ; + ForeColor = 0,0,0, ; + Margin = 0, ; + Name = "Text1", ; + SelectedBackColor = 100,185,255 + *< END OBJECT: BaseClass="textbox" /> + + ADD OBJECT 'grid_facturi.cSucursala.Header1' AS header WITH ; + Alignment = 2, ; + Caption = "Sucursala", ; + FontName = "Arial", ; + FontSize = 10, ; + Name = "Header1" + *< END OBJECT: BaseClass="header" /> + + ADD OBJECT 'grid_facturi.cSucursala.Text1' AS textbox WITH ; + BackColor = 255,255,255, ; + BorderStyle = 0, ; + FontName = "Arial", ; + FontSize = 10, ; + ForeColor = 0,0,0, ; + Margin = 0, ; + Name = "Text1", ; + SelectedBackColor = 100,185,255 + *< END OBJECT: BaseClass="textbox" /> + + ADD OBJECT 'grid_facturi.cText_aditional.Header1' AS header WITH ; + Alignment = 2, ; + Caption = "Text aditional", ; + FontName = "Arial", ; + FontSize = 10, ; + Name = "Header1" + *< END OBJECT: BaseClass="header" /> + + ADD OBJECT 'grid_facturi.cText_aditional.Text1' AS textbox WITH ; + BackColor = 255,255,255, ; + BorderStyle = 0, ; + FontName = "Arial", ; + FontSize = 10, ; + ForeColor = 0,0,0, ; + Margin = 0, ; + Name = "Text1", ; + SelectedBackColor = 100,185,255 + *< END OBJECT: BaseClass="textbox" /> + + ADD OBJECT 'grid_facturi.cTotal_cu_tva.Header1' AS header WITH ; + Alignment = 2, ; + Caption = "Total cu TVA", ; + FontName = "Arial", ; + FontSize = 10, ; + Name = "Header1" + *< END OBJECT: BaseClass="header" /> + + ADD OBJECT 'grid_facturi.cTotal_cu_tva.Text1' AS textbox WITH ; + BackColor = 255,255,255, ; + BorderStyle = 0, ; + FontName = "Arial", ; + FontSize = 10, ; + ForeColor = 0,0,0, ; + Margin = 0, ; + Name = "Text1", ; + SelectedBackColor = 100,185,255 + *< END OBJECT: BaseClass="textbox" /> + + ADD OBJECT 'grid_facturi.cTotal_fara_tva.Header1' AS header WITH ; + Alignment = 2, ; + Caption = "Total fara TVA", ; + FontName = "Arial", ; + FontSize = 10, ; + Name = "Header1" + *< END OBJECT: BaseClass="header" /> + + ADD OBJECT 'grid_facturi.cTotal_fara_tva.Text1' AS textbox WITH ; + BackColor = 255,255,255, ; + BorderStyle = 0, ; + FontName = "Arial", ; + FontSize = 10, ; + ForeColor = 0,0,0, ; + Margin = 0, ; + Name = "Text1", ; + SelectedBackColor = 100,185,255 + *< END OBJECT: BaseClass="textbox" /> + + ADD OBJECT 'grid_facturi.cTotal_tva.Header1' AS header WITH ; + Alignment = 2, ; + Caption = "Total TVA", ; + FontName = "Arial", ; + FontSize = 10, ; + Name = "Header1" + *< END OBJECT: BaseClass="header" /> + + ADD OBJECT 'grid_facturi.cTotal_tva.Text1' AS textbox WITH ; + BackColor = 255,255,255, ; + BorderStyle = 0, ; + FontName = "Arial", ; + FontSize = 10, ; + ForeColor = 0,0,0, ; + Margin = 0, ; + Name = "Text1", ; + SelectedBackColor = 100,185,255 + *< END OBJECT: BaseClass="textbox" /> + + ADD OBJECT 'grid_facturi.cUtilizator.Header1' AS header WITH ; + Alignment = 2, ; + Caption = "Operator introducere", ; + FontName = "Arial", ; + FontSize = 10, ; + Name = "Header1" + *< END OBJECT: BaseClass="header" /> + + ADD OBJECT 'grid_facturi.cUtilizator.Text1' AS textbox WITH ; + BackColor = 255,255,255, ; + BorderStyle = 0, ; + FontName = "Arial", ; + FontSize = 10, ; + ForeColor = 0,0,0, ; + Margin = 0, ; + Name = "Text1", ; + SelectedBackColor = 100,185,255 + *< END OBJECT: BaseClass="textbox" /> + + ADD OBJECT 'grid_facturi.cUtils.Header1' AS header WITH ; + Alignment = 2, ; + Caption = "Operator stergere", ; + FontName = "Arial", ; + FontSize = 10, ; + Name = "Header1" + *< END OBJECT: BaseClass="header" /> + + ADD OBJECT 'grid_facturi.cUtils.Text1' AS textbox WITH ; + BackColor = 255,255,255, ; + BorderStyle = 0, ; + FontName = "Arial", ; + FontSize = 10, ; + ForeColor = 0,0,0, ; + Margin = 0, ; + Name = "Text1", ; + SelectedBackColor = 100,185,255 + *< END OBJECT: BaseClass="textbox" /> + + ADD OBJECT 'Gridextra1' AS gridextra WITH ; + gridexpression = Thisform.grid_facturi, ; + Left = 740, ; + Name = "Gridextra1", ; + Top = 243 + *< END OBJECT: ClassLib="..\utile\gridextras\gridextras.vcx" BaseClass="custom" /> + + ADD OBJECT 'Gridextra2' AS gridextra WITH ; + gridexpression = Thisform.grid_detalii, ; + Left = 745, ; + Name = "Gridextra2", ; + Top = 475 + *< END OBJECT: ClassLib="..\utile\gridextras\gridextras.vcx" BaseClass="custom" /> + + ADD OBJECT 'lb_total_ron' AS label WITH ; + Anchor = 12, ; + AutoSize = .T., ; + BackStyle = 0, ; + Caption = "Total lei", ; + FontSize = 10, ; + Height = 18, ; + Left = 585, ; + Name = "lb_total_ron", ; + TabIndex = 17, ; + Top = 565, ; + Visible = .F., ; + Width = 47, ; + ZOrderSet = 17 + *< END OBJECT: BaseClass="label" /> + + ADD OBJECT 'lb_total_val' AS label WITH ; + Anchor = 12, ; + AutoSize = .T., ; + BackStyle = 0, ; + Caption = "Total în valuta", ; + FontSize = 10, ; + Height = 18, ; + Left = 311, ; + Name = "lb_total_val", ; + TabIndex = 18, ; + Top = 565, ; + Visible = .F., ; + Width = 81, ; + ZOrderSet = 17 + *< END OBJECT: BaseClass="label" /> + + ADD OBJECT 'opt_in_valuta' AS _optiongrup WITH ; + AutoSize = .F., ; + ButtonCount = 3, ; + Height = 28, ; + Left = 380, ; + Name = "opt_in_valuta", ; + ndefault = 1, ; + TabIndex = 8, ; + Top = 33, ; + Value = 1, ; + Width = 190, ; + ZOrderSet = 23, ; + OPTION1.AutoSize = .T., ; + OPTION1.Caption = "Toate", ; + OPTION1.FontSize = 10, ; + OPTION1.Left = 5, ; + OPTION1.Name = "OPTION1", ; + OPTION1.Top = 5, ; + OPTION1.Value = 1, ; + OPTION2.AutoSize = .T., ; + OPTION2.Caption = "În valuta", ; + OPTION2.FontCharSet = 238, ; + OPTION2.FontSize = 10, ; + OPTION2.Left = 55, ; + OPTION2.Name = "OPTION2", ; + OPTION2.Top = 5, ; + Option3.AutoSize = .T., ; + Option3.BackStyle = 0, ; + Option3.Caption = "În RON", ; + Option3.FontCharSet = 238, ; + Option3.FontSize = 10, ; + Option3.Height = 18, ; + Option3.Left = 124, ; + Option3.Name = "Option3", ; + Option3.Top = 5, ; + Option3.Value = 0, ; + Option3.Width = 61 + *< END OBJECT: ClassLib="_baza.vcx" BaseClass="optiongroup" /> + + ADD OBJECT 'opt_sterse' AS _optiongrup WITH ; + AutoSize = .F., ; + ButtonCount = 3, ; + Height = 28, ; + Left = 381, ; + Name = "opt_sterse", ; + ndefault = 3, ; + TabIndex = 9, ; + Top = 52, ; + Value = 3, ; + Width = 199, ; + ZOrderSet = 22, ; + OPTION1.AutoSize = .T., ; + OPTION1.Caption = "Toate", ; + OPTION1.FontSize = 10, ; + OPTION1.Left = 5, ; + OPTION1.Name = "OPTION1", ; + OPTION1.Top = 5, ; + OPTION1.Value = 0, ; + OPTION2.AutoSize = .T., ; + OPTION2.Caption = "ªterse", ; + OPTION2.FontCharSet = 238, ; + OPTION2.FontSize = 10, ; + OPTION2.ForeColor = 255,0,0, ; + OPTION2.Left = 54, ; + OPTION2.Name = "OPTION2", ; + OPTION2.Top = 5, ; + Option3.AutoSize = .T., ; + Option3.BackStyle = 0, ; + Option3.Caption = "Neºterse", ; + Option3.FontCharSet = 238, ; + Option3.FontSize = 10, ; + Option3.Height = 18, ; + Option3.Left = 123, ; + Option3.Name = "Option3", ; + Option3.Top = 5, ; + Option3.Value = 1, ; + Option3.Width = 71 + *< END OBJECT: ClassLib="_baza.vcx" BaseClass="optiongroup" /> + + ADD OBJECT 'txtTotalLei' AS textbox WITH ; + Anchor = 12, ; + ControlSource = "thisform.nDetalii", ; + FontSize = 10, ; + Format = "rk", ; + Height = 23, ; + InputMask = (get_mask(16,gnPc)), ; + Left = 640, ; + Name = "txtTotalLei", ; + ReadOnly = .T., ; + TabIndex = 19, ; + Top = 562, ; + Visible = .F., ; + Width = 139, ; + ZOrderSet = 19 + *< END OBJECT: BaseClass="textbox" /> + + ADD OBJECT 'txtTotalValuta' AS textbox WITH ; + Anchor = 12, ; + ControlSource = "thisform.nDetalii", ; + FontSize = 10, ; + Format = "rk", ; + Height = 23, ; + InputMask = (get_mask(16,gnPVal)), ; + Left = 395, ; + Name = "txtTotalValuta", ; + ReadOnly = .T., ; + TabIndex = 20, ; + Top = 562, ; + Visible = .F., ; + Width = 139, ; + ZOrderSet = 19 + *< END OBJECT: BaseClass="textbox" /> + + PROCEDURE actualizeaza_grid1 + Lparameters lcFiltru + If Empty(lcFiltru) + lcFiltru = pofacturi.ca_baza1.cfiltru + Endif + Thisform.MousePointer = 11 + Thisform.LockScreen = .T. + save_grid_tag(Thisform.grid_facturi) + pofacturi.ca_baza1.cfiltru = lcFiltru + pofacturi.ca_baza1.afisare() + restore_grid_tag(Thisform.grid_facturi) + Thisform.LockScreen = .F. + Thisform.MousePointer = 0 + If Reccount('crsFacturi')>0 + Thisform.grid_facturi.SetFocus() + Endif + ENDPROC + + PROCEDURE actualizeaza_grid2 + Lparameters lcFiltru + + Local lcFiltru2 + If Empty(lcFiltru) + lcFiltru2 = poDetalii.ca_baza1.cfiltru + Else + lcFiltru2 = lcFiltru + Endif + + Do Case + Case Thisform.opt_sterse.Value = 2 + lcFiltru2 = lcFiltru2 + [ and STERS=1] + Case Thisform.opt_sterse.Value = 3 + lcFiltru2 = lcFiltru2 + [ and STERS=0] + Endcase + + Thisform.MousePointer = 11 + Thisform.LockScreen = .T. + save_grid_tag(Thisform.grid_detalii) + poDetalii.ca_baza1.cfiltru = lcFiltru2 + poDetalii.ca_baza1.afisare() + restore_grid_tag(Thisform.grid_detalii) + + *!* Select crsDetalii + + Thisform.LockScreen = .F. + Thisform.MousePointer = 0 + ENDPROC + + PROCEDURE do_cauta + Local lcFiltru + lcFiltru = [2=2]+ gcCondSucursala + + If Thisform.ck_data_act.Value=1 + lcFiltru = lcFiltru + Thisform.ck_data_act.filtru + Endif + + If Thisform.ck_dataora.Value=1 + lcFiltru = lcFiltru + Thisform.ck_dataora.filtru + Endif + + If Thisform.ck_numar_act.Value = 1 + lcFiltru = lcFiltru + Thisform.ck_numar_act.filtru + Endif + + If Thisform.ck_utilizator.Value=1 + lcFiltru = lcFiltru + Thisform.ck_utilizator.filtru + Endif + + If Thisform.ck_explicatie.Value=1 + lcFiltru = lcFiltru + Thisform.ck_explicatie.filtru + Endif + + If Thisform.ck_client.Value=1 + lcFiltru = lcFiltru + Thisform.ck_client.filtru + Endif + + If Thisform.ck_sucursala.Value = 1 + lcFiltru = lcFiltru + Thisform.ck_sucursala.filtru + Endif + + *!* modificare v 2.0.46 + Do Case + Case Thisform.opt_in_valuta.Value = 2 + lcFiltru = lcFiltru + [ and in_valuta=1] + Case Thisform.opt_in_valuta.Value = 3 + lcFiltru = lcFiltru + [ and in_valuta=0] + EndCase + *!* modificare v 2.0.46 ^ + + * inregistrari sterse + Do Case + Case Thisform.opt_sterse.Value = 2 + lcFiltru = lcFiltru + [ and STERS=1] + Case Thisform.opt_sterse.Value = 3 + lcFiltru = lcFiltru + [ and STERS=0] + Endcase + + Thisform.actualizeaza_grid1(lcFiltru) + *!* Select crsDetalii + *!* Calculate Sum(Round(cantitate*(Pret-discount_unitar),gnPC)) To Thisform.nVanzari + *!* Thisform.txtVanzari.Refresh + + If Reccount('crsFacturi')=0 + aMessagebox('Cautarea nu a intors rezultate!',0+48,'Info cautare') + Thisform.actualizeaza_grid2([1=2]) + Thisform.ck_dataora.SetFocus() + Else + Select crsFacturi + lcFiltru = [id_proforma=]+Alltrim(Str(id_proforma)) + Thisform.actualizeaza_grid2(lcFiltru) + Thisform.grid_facturi.SetFocus() + Endif + ENDPROC + + PROCEDURE do_listare + If Reccount('crsfacturi')>0 + Private poDate,pnIdProforma + Local lnDiscount,lnProcTvav + Select crsfacturi + *!* modificare v 2.0.67 + *!* Private pnTipFActurare + *!* pnTipFActurare = 0 + *!* modificare v 2.0.67 ^ + lnTip = tip + lnSters = sters + pnIdProforma = id_proforma + + If lnSters = 0 + *!* poDate=Createobject("oDateFactura",0,0) + *!* Select crsfacturi + *!* poDate.tip = lnTip + *!* poDate.eProforma = 1 + *!* poDate.nract = numar_act + *!* poDate.dataact = Iif(Type('data_act')='T',Ttod(data_act),data_act) + *!* poDate.id_client = id_part + *!* poDate.discount_evidentiat = discount_evidentiat + *!* poDate.text_aditional = Nvl(text_aditional,[]) + *!* lnDiscount = discount + *!* poDate.listaid = Iif(poDate.tip = 2,Alltrim(Str(id_ctr)),Iif(poDate.tip = 3,Alltrim(Str(id_comanda)), [0])) + + poDate=Createobject("oDateFactura",0,0) + Select crsfacturi + poDate.nRelistare = 1 && modificare ROAFACTURARE v 2.0.58 + poDate.eProforma = 1 + poDate.tip = lnTip + poDate.nract = numar_act + poDate.dataact = Iif(Type('data_act')='T',Ttod(data_act),data_act) + poDate.discount_evidentiat = discount_evidentiat + poDate.text_aditional = Nvl(text_aditional,[]) + poDate.dataora_exp = dataora + *!* modificare v 2.0.68 + *!* poDate.listaid = Iif(poDate.tip = 2,Alltrim(Str(id_ctr)),Iif(Inlist(poDate.tip, 3, 21),Alltrim(Str(id_comanda)), [0])) + poDate.listaid = Iif(Inlist(poDate.tip, 3, 21),Alltrim(Str(id_comanda)), [0]) + *!* modificare v 2.0.68 ^ + poDate.in_valuta = in_valuta + poDate.id_client = id_part + If poDate.in_valuta = 1 + poDate.nume_valuta = nume_val + poDate.Curs = Curs + poDate.multiplicator = multiplicator + poDate.totftvaconv = total_fara_tva + poDate.tottvaconv = total_tva + poDate.totctvaconv = poDate.totftvaconv + poDate.tottvaconv + lnDiscountVal = discount + lnDiscount = Round(lnDiscountVal * poDate.Curs / poDate.multiplicator,gnPc) + Else + lnDiscount = discount + lnDiscountVal = 0 + Endif + poDate.nListareDetaliata = listare_detaliata + If Used('crsfactura') + Use In crsfactura + Endif + + Select crsdetalii + Calculate Max(proc_tvav) To lnProcTvav + + creeaza_facturacrs([crsfactura]) + + prelucreaza_facturacrs([crsdetalii],[crsfactura],lnProcTvav,lnDiscount,lnDiscountVal) + + creeaza_cursor_seturi_proforme(pnIdProforma) + + Thisform.AlwaysOnTop = .F. + listeaza_ofacturare() + Thisform.AlwaysOnTop = .T. + + If Used('crsfactura') + Use In crsfactura + Endif + Else + amessagebox("Nu puteti lista aceasta proforma, deoarece a fost stearsa!",0+48,"Atentie") + Endif + Release poDate && ,pnTipFacturare *!* modificare v 2.0.67 + Endif + + ENDPROC + + PROCEDURE do_reset + With Thisform + For i=1 To .Objects.Count + If Upper(.Objects(i).BaseClass)='CHECKBOX' + .Objects(i).Value=0 + Endif + Endfor + Endwith + Thisform.opt_sterse.Value = Thisform.opt_sterse.ndefault + *!* Thisform.ck_dataora.Value = 1 + *!* Thisform.ck_dataora.filtru = Thisform.cfiltru_initial + *!* Thisform.ck_dataora.SetFocus() + Thisform.ck_data_act.Value = 1 + Thisform.ck_data_act.filtru = Thisform.cfiltru_initial + Thisform.ck_data_act.SetFocus() + ENDPROC + + PROCEDURE do_sterge + If Reccount('crsfacturi') = 0 + amessagebox("Nu exista inregistrari pentru stergere!",0+48,"Atentie") + Return + Endif + + Private pnIdProforma + Store 0 To pnIdProforma + lnSucces = 0 + + If glLunaInchisa + Return + Endif + + Select crsfacturi + pnIdProforma = id_proforma + lnSters = sters + lnRecno = Recno() + + If lnSters = 1 + amessagebox("Aceasta proforma este deja stearsa!",0+48,"Atentie") + Return + Endif + + If amessagebox("Sunteti sigur ca doriti sa stergeti aceasta inregistrare?",4+32,"Confirmare stergere")=7 + Return + Endif + + lcSql = [begin ] + gcS + [.pack_facturare.sterge_proforma(?pnIdProforma,?gnIdUtil); end;] + lnSucces = goExecutor.oExecute(lcSql) + If lnSucces<0 + amessagebox(goExecutor.oPrelucrareEroare(),16,"Eroare") + Else + Thisform.actualizeaza_grid1 + Thisform.actualizeaza_grid2 + If Reccount('crsfacturi')>0 + lnRecno = Min(Reccount('crsfacturi'),Iif(Thisform.opt_sterse.Value=3,Iif(lnRecno>1,lnRecno-1,1),lnRecno)) + SELECT crsfacturi + Go lnRecno + Endif + Endif + + Release pnIdProforma + ENDPROC + + PROCEDURE Init + If glLunaInchisa + gcAcces=Strtran(gcAcces,[4;],[]) && nu are drept de stergere + Thisform.but_sterge1.Visible = .F. + Endif + DoDefault() + lcData = Alltrim(Str(gnAn)) + Padl(Alltrim(Str(gnLuna)),2,[0]) + [01] + *!* lcFiltruInitial = [ and dataora between to_date('] + lcData + [ 00:00:00','YYYYMMDD HH24:MI:SS') ] + ; + *!* [and last_day(to_date('] + lcData + [ 23:59:59','YYYYMMDD HH24:MI:SS')) ] + lcFiltruInitial = [ and data_act between to_date('] + lcData + [','YYYYMMDD') ] + ; + [and last_day(to_date('] + lcData + [','YYYYMMDD')) ] + Thisform.cfiltru_initial = lcFiltruInitial + *!* Thisform.ck_dataora.filtru = lcFiltruInitial + Thisform.ck_data_act.filtru = lcFiltruInitial + + + this.gridextra1.setup() + this.gridextra2.setup() + ENDPROC + + PROCEDURE grid_detalii.Init + This.SetAll("DynamicForeColor", "IIF(sters=1, RGB(255,0,0), RGB(0,0,0))", "Column") + This.SetAll("ReadOnly",.T.,"Column") + For i = 1 To This.ColumnCount + lcColor='this.Columns(' + Alltrim(Str(i)) + ').DynamicBackColor' + lcControlSource1 = 'this.Columns(' + Alltrim(Str(i)) + ').controlsource' + lcControlSource = &lcControlSource1 + lcSet = lcColor + [ = "IIF(ISNULL(] + lcControlSource + [),RGB(255,255,225),RGB(255,255,255))"] + &lcSet + Endfor + ENDPROC + + PROCEDURE grid_facturi.AfterRowColChange + Lparameters nColIndex + If Inlist(This.RowColChange,1,3) + Local lnIdPol + Select crsFacturi + lnId_proforma = id_proforma + lcFiltru = [a.id_proforma=]+Alltrim(Str(lnId_proforma)) + Thisform.actualizeaza_grid2(lcFiltru) + Endif + ENDPROC + + PROCEDURE grid_facturi.Init + This.SetAll("DynamicForeColor", "IIF(sters=1, RGB(255,0,0), RGB(0,0,0))", "Column") + This.SetAll("ReadOnly",.T.,"Column") + For i = 1 To This.ColumnCount + lcColor='this.Columns(' + Alltrim(Str(i)) + ').DynamicBackColor' + lcControlSource1 = 'this.Columns(' + Alltrim(Str(i)) + ').controlsource' + lcControlSource = &lcControlSource1 + lcSet = lcColor + [ = "IIF(ISNULL(] + lcControlSource + [),RGB(255,255,225),RGB(255,255,255))"] + &lcSet + Endfor + ENDPROC + +ENDDEFINE diff --git a/clase/ofacturare_rapoarte.vc2 b/clase/ofacturare_rapoarte.vc2 new file mode 100644 index 0000000..0ae66e2 --- /dev/null +++ b/clase/ofacturare_rapoarte.vc2 @@ -0,0 +1,4955 @@ +*-------------------------------------------------------------------------------------------------------------------------------------------------------- +* (EN) AUTOGENERATED - ATTENTION!! - NOT INTENDED FOR EXECUTION!! USE ONLY FOR MERGING CHANGES AND STORING WITH SCM TOOLS!! +*-------------------------------------------------------------------------------------------------------------------------------------------------------- +*< FOXBIN2PRG: Version="1.21" SourceFile="ofacturare_rapoarte.vcx" CPID="1252" /> (Solo para binarios VFP 9 / Only for VFP 9 binaries) +* +* +DEFINE CLASS frm_date_rapoarte_articole AS _frmbase OF "_frm_base.vcx" + *< CLASSDATA: Baseclass="form" Timestamp="" Scale="Pixels" Uniqueid="" /> + + *-- OBJECTDATA items order determines ZOrder / El orden de los items OBJECTDATA determina el ZOrder + *< OBJECTDATA: ObjPath="But_salveaza1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="Ct_clb_raport" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="Ct_clb_raport.But_sterge1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="Clb_perioada" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="Ct_opt_articol" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="Ct_opt_client" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="Ct_selectie1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="Ct_selectie1.Ct_selectie_data_act" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="Ct_selectie1.Ct_selectie_categ_ent" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="Ct_selectie1.Ct_selectie_um" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="Ct_selectie1.Ct_selectie_denumire" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="Ct_selectie1.Ct_selectie_nume_client" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="Ct_selectie1.Ct_selectie_serie" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="Ct_selectie1.Ct_selectie_numar_act" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="But_listare1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="But_excel1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="Ct_opt_categorie" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="Ct_opt_grupa" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="Ct_opt_subgrupa" UniqueID="" Timestamp="" /> + + * + *m: do_adauga_filtru + *m: do_cauta_articol + *m: do_cauta_categorie + *m: do_cauta_client + *m: do_cauta_grupa + *m: do_cauta_subgrupa + *p: cfiltruarticol + * + + * + cfiltruarticol = + DoCreate = .T. + Height = 470 + Name = "frm_date_rapoarte_articole" + Width = 696 + _shape1.Height = 29 + _shape1.Left = 0 + _shape1.Name = "_shape1" + _shape1.Top = 0 + _shape1.Width = 696 + _shape2.Height = 29 + _shape2.Left = 600 + _shape2.Name = "_shape2" + _shape2.Top = 0 + _shape2.Width = 97 + Lb_titlu_alb_b121.Caption = "ARTICOLE" + Lb_titlu_alb_b121.FontBold = .T. + Lb_titlu_alb_b121.Name = "Lb_titlu_alb_b121" + Lb_titlu_alb_b121.TabIndex = 13 + BUT_TERMIN1.Left = 665 + BUT_TERMIN1.Name = "BUT_TERMIN1" + BUT_TERMIN1.TabIndex = 11 + BUT_TERMIN1.Top = 1 + GRIDSORT1.Left = 480 + GRIDSORT1.Name = "GRIDSORT1" + GRIDSORT1.Top = 36 + * + + ADD OBJECT 'But_excel1' AS but_excel WITH ; + Left = 602, ; + Name = "But_excel1", ; + TabIndex = 9, ; + Top = 1 + *< END OBJECT: ClassLib="cmd_butoane.vcx" BaseClass="commandbutton" /> + + ADD OBJECT 'But_listare1' AS but_listare WITH ; + Left = 634, ; + Name = "But_listare1", ; + TabIndex = 10, ; + Top = 1 + *< END OBJECT: ClassLib="cmd_butoane.vcx" BaseClass="commandbutton" /> + + ADD OBJECT 'But_salveaza1' AS but_salveaza WITH ; + Left = 540, ; + Name = "But_salveaza1", ; + TabIndex = 12, ; + Top = 0, ; + Visible = .F. + *< END OBJECT: ClassLib="cmd_butoane.vcx" BaseClass="commandbutton" /> + + ADD OBJECT 'Clb_perioada' AS clb_n1n2_simplu WITH ; + Left = 383, ; + Name = "Clb_perioada", ; + TabIndex = 3, ; + Top = 72, ; + tx_n1.ControlSource = "poListare.datai", ; + tx_n1.Left = 127, ; + tx_n1.Name = "tx_n1", ; + tx_n1.Top = 2, ; + Lb_simplu1.Caption = "Data factura", ; + Lb_simplu1.Name = "Lb_simplu1", ; + tx_n2.ControlSource = "poListare.dataf", ; + tx_n2.Name = "tx_n2" + *< END OBJECT: ClassLib="lb_tx.vcx" BaseClass="container" /> + + ADD OBJECT 'Ct_clb_raport' AS ct_clb_cautare WITH ; + Height = 31, ; + Left = 23, ; + Name = "Ct_clb_raport", ; + TabIndex = 1, ; + Top = 36, ; + Visible = .F., ; + Width = 396, ; + img_cautare.Height = 25, ; + img_cautare.Left = 321, ; + img_cautare.Name = "img_cautare", ; + img_cautare.Top = 3, ; + img_cautare.Width = 30, ; + clb_tx_cautare.Lb_simplu1.Caption = "Raport", ; + clb_tx_cautare.Lb_simplu1.Name = "Lb_simplu1", ; + clb_tx_cautare.Name = "clb_tx_cautare", ; + clb_tx_cautare.TabIndex = 1, ; + clb_tx_cautare.Text_simplu1.Height = 23, ; + clb_tx_cautare.Text_simplu1.Left = 71, ; + clb_tx_cautare.Text_simplu1.Name = "Text_simplu1", ; + clb_tx_cautare.Text_simplu1.Top = 3, ; + clb_tx_cautare.Text_simplu1.Width = 239 + *< END OBJECT: ClassLib="caut_ora.vcx" BaseClass="container" /> + + ADD OBJECT 'Ct_clb_raport.But_sterge1' AS but_sterge WITH ; + Height = 27, ; + Left = 361, ; + Name = "But_sterge1", ; + TabIndex = 2, ; + Top = 1, ; + Width = 30 + *< END OBJECT: ClassLib="cmd_butoane.vcx" BaseClass="commandbutton" /> + + ADD OBJECT 'Ct_opt_articol' AS ct_opt_cautare WITH ; + cprocedura = thisform.do_cauta_articol, ; + cvarfiltru = thisform.cfiltruarticol, ; + cvar_afisata = poListare.denumire, ; + Left = 383, ; + Name = "Ct_opt_articol", ; + TabIndex = 6, ; + Top = 240, ; + opt_cautare.Name = "opt_cautare", ; + opt_cautare.OPTION1.Left = 5, ; + opt_cautare.OPTION1.Name = "OPTION1", ; + opt_cautare.OPTION1.Top = 5, ; + opt_cautare.OPTION2.Left = 5, ; + opt_cautare.OPTION2.Name = "OPTION2", ; + opt_cautare.OPTION2.Top = 24, ; + tx_cautare.Name = "tx_cautare", ; + lb_explicatie.Caption = "Articol", ; + lb_explicatie.Name = "lb_explicatie", ; + criteriu.Name = "criteriu" + *< END OBJECT: ClassLib="caut_ora.vcx" BaseClass="container" /> + + ADD OBJECT 'Ct_opt_categorie' AS ct_opt_cautare WITH ; + cprocedura = thisform.do_cauta_categorie, ; + cvarfiltru = poListare.id_categorie_entitate, ; + cvar_afisata = poListare.categorie, ; + Left = 383, ; + Name = "Ct_opt_categorie", ; + TabIndex = 5, ; + Top = 170, ; + opt_cautare.Name = "opt_cautare", ; + opt_cautare.OPTION1.Left = 5, ; + opt_cautare.OPTION1.Name = "OPTION1", ; + opt_cautare.OPTION1.Top = 5, ; + opt_cautare.OPTION2.Left = 5, ; + opt_cautare.OPTION2.Name = "OPTION2", ; + opt_cautare.OPTION2.Top = 24, ; + tx_cautare.Name = "tx_cautare", ; + lb_explicatie.Caption = "Categorie entitate", ; + lb_explicatie.Name = "lb_explicatie", ; + criteriu.Name = "criteriu" + *< END OBJECT: ClassLib="caut_ora.vcx" BaseClass="container" /> + + ADD OBJECT 'Ct_opt_client' AS ct_opt_cautare WITH ; + cprocedura = thisform.do_cauta_client, ; + cvarfiltru = poListare.id_client, ; + cvar_afisata = poListare.nume_client, ; + Left = 383, ; + Name = "Ct_opt_client", ; + TabIndex = 4, ; + Top = 100, ; + opt_cautare.Name = "opt_cautare", ; + opt_cautare.OPTION1.Left = 5, ; + opt_cautare.OPTION1.Name = "OPTION1", ; + opt_cautare.OPTION1.Top = 5, ; + opt_cautare.OPTION2.Left = 5, ; + opt_cautare.OPTION2.Name = "OPTION2", ; + opt_cautare.OPTION2.Top = 24, ; + tx_cautare.Name = "tx_cautare", ; + lb_explicatie.Caption = "Client", ; + lb_explicatie.Name = "lb_explicatie", ; + criteriu.Name = "criteriu" + *< END OBJECT: ClassLib="caut_ora.vcx" BaseClass="container" /> + + ADD OBJECT 'Ct_opt_grupa' AS ct_opt_cautare WITH ; + cprocedura = thisform.do_cauta_grupa, ; + cvarfiltru = poListare.id_grupa, ; + cvar_afisata = poListare.grupa, ; + Left = 383, ; + Name = "Ct_opt_grupa", ; + TabIndex = 7, ; + Top = 310, ; + opt_cautare.Name = "opt_cautare", ; + opt_cautare.OPTION1.Left = 5, ; + opt_cautare.OPTION1.Name = "OPTION1", ; + opt_cautare.OPTION1.Top = 5, ; + opt_cautare.OPTION2.Left = 5, ; + opt_cautare.OPTION2.Name = "OPTION2", ; + opt_cautare.OPTION2.Top = 24, ; + tx_cautare.Name = "tx_cautare", ; + lb_explicatie.Caption = "Grupa de articole", ; + lb_explicatie.Name = "lb_explicatie", ; + criteriu.Name = "criteriu" + *< END OBJECT: ClassLib="caut_ora.vcx" BaseClass="container" /> + + ADD OBJECT 'Ct_opt_subgrupa' AS ct_opt_cautare WITH ; + cprocedura = thisform.do_cauta_subgrupa, ; + cvarfiltru = poListare.id_subgrupa, ; + cvar_afisata = poListare.subgrupa, ; + Left = 383, ; + Name = "Ct_opt_subgrupa", ; + TabIndex = 8, ; + Top = 380, ; + opt_cautare.Name = "opt_cautare", ; + opt_cautare.OPTION1.Left = 5, ; + opt_cautare.OPTION1.Name = "OPTION1", ; + opt_cautare.OPTION1.Top = 5, ; + opt_cautare.OPTION2.Left = 5, ; + opt_cautare.OPTION2.Name = "OPTION2", ; + opt_cautare.OPTION2.Top = 24, ; + tx_cautare.Name = "tx_cautare", ; + lb_explicatie.Caption = "Subgrupa de articole", ; + lb_explicatie.Name = "lb_explicatie", ; + criteriu.Name = "criteriu" + *< END OBJECT: ClassLib="caut_ora.vcx" BaseClass="container" /> + + ADD OBJECT 'Ct_selectie1' AS ct_selectie WITH ; + ccoloanesuma = cantitate,valoare_ftva,valoare, ; + clistacoloaneordine = 1,2, ; + cnumecoloanesuma = Cantitate,Valoare fara TVA,Valoare cu TVA, ; + cnumetabela = fact_vrap_fact_articole, ; + Height = 384, ; + Left = 24, ; + Name = "Ct_selectie1", ; + TabIndex = 2, ; + Top = 72, ; + Width = 332, ; + Ct_grupare1.Height = 140, ; + Ct_grupare1.lblAtentie.Name = "lblAtentie", ; + Ct_grupare1.lb_grupare.Name = "lb_grupare", ; + Ct_grupare1.Left = 5, ; + Ct_grupare1.Name = "Ct_grupare1", ; + Ct_grupare1.TabIndex = 11, ; + Ct_grupare1.Top = 242, ; + Ct_grupare1.Width = 320, ; + Ct_grupare1._scrollcontainer1.But_jos1.Name = "But_jos1", ; + Ct_grupare1._scrollcontainer1.But_sus1.Name = "But_sus1", ; + Ct_grupare1._scrollcontainer1.Name = "_scrollcontainer1", ; + Ct_ordonare1.Height = 167, ; + Ct_ordonare1.lb_ordonare.Name = "lb_ordonare", ; + Ct_ordonare1.Left = 5, ; + Ct_ordonare1.Name = "Ct_ordonare1", ; + Ct_ordonare1.TabIndex = 10, ; + Ct_ordonare1.Top = 76, ; + Ct_ordonare1.Width = 320, ; + Ct_ordonare1._scrollcontainer1.But_jos1.Name = "But_jos1", ; + Ct_ordonare1._scrollcontainer1.But_sus1.Name = "But_sus1", ; + Ct_ordonare1._scrollcontainer1.Name = "_scrollcontainer1", ; + lb_coloane.Left = 10, ; + lb_coloane.Name = "lb_coloane", ; + lb_coloane.TabIndex = 1, ; + lb_coloane.Top = 2 + *< END OBJECT: ClassLib="orapoarte.vcx" BaseClass="container" /> + + ADD OBJECT 'Ct_selectie1.Ct_selectie_categ_ent' AS ct_selectie_camp WITH ; + ccamp = categorie_entitate, ; + cnumecamp = Categorie, ; + Left = 17, ; + Name = "Ct_selectie_categ_ent", ; + nid_container = 4, ; + TabIndex = 6, ; + Top = 57, ; + ck_camp.Alignment = 0, ; + ck_camp.Name = "ck_camp" + *< END OBJECT: ClassLib="orapoarte.vcx" BaseClass="container" /> + + ADD OBJECT 'Ct_selectie1.Ct_selectie_data_act' AS ct_selectie_camp WITH ; + ccamp = data_act, ; + cnumecamp = Data factura, ; + Left = 17, ; + Name = "Ct_selectie_data_act", ; + nid_container = 1, ; + TabIndex = 2, ; + Top = 15, ; + ck_camp.Alignment = 0, ; + ck_camp.Name = "ck_camp" + *< END OBJECT: ClassLib="orapoarte.vcx" BaseClass="container" /> + + ADD OBJECT 'Ct_selectie1.Ct_selectie_denumire' AS ct_selectie_camp WITH ; + ccamp = denumire, ; + cnumecamp = Articol, ; + Left = 120, ; + Name = "Ct_selectie_denumire", ; + nid_container = 5, ; + TabIndex = 7, ; + Top = 15, ; + ck_camp.Alignment = 0, ; + ck_camp.Name = "ck_camp" + *< END OBJECT: ClassLib="orapoarte.vcx" BaseClass="container" /> + + ADD OBJECT 'Ct_selectie1.Ct_selectie_numar_act' AS ct_selectie_camp WITH ; + ccamp = numar_act, ; + cnumecamp = Nr.factura, ; + Left = 17, ; + Name = "Ct_selectie_numar_act", ; + nid_container = 2, ; + TabIndex = 3, ; + Top = 29, ; + ck_camp.Alignment = 0, ; + ck_camp.Name = "ck_camp" + *< END OBJECT: ClassLib="orapoarte.vcx" BaseClass="container" /> + + ADD OBJECT 'Ct_selectie1.Ct_selectie_nume_client' AS ct_selectie_camp WITH ; + ccamp = nume_client, ; + cnumecamp = Nume client, ; + Left = 17, ; + Name = "Ct_selectie_nume_client", ; + nid_container = 3, ; + TabIndex = 5, ; + Top = 42, ; + ck_camp.Alignment = 0, ; + ck_camp.Name = "ck_camp" + *< END OBJECT: ClassLib="orapoarte.vcx" BaseClass="container" /> + + ADD OBJECT 'Ct_selectie1.Ct_selectie_serie' AS ct_selectie_camp WITH ; + ccamp = serie, ; + cnumecamp = Serie, ; + Left = 120, ; + Name = "Ct_selectie_serie", ; + nid_container = 7, ; + TabIndex = 9, ; + Top = 42, ; + ck_camp.Alignment = 0, ; + ck_camp.Name = "ck_camp" + *< END OBJECT: ClassLib="orapoarte.vcx" BaseClass="container" /> + + ADD OBJECT 'Ct_selectie1.Ct_selectie_um' AS ct_selectie_camp WITH ; + ccamp = um, ; + cnumecamp = U.M., ; + Left = 120, ; + Name = "Ct_selectie_um", ; + nid_container = 6, ; + TabIndex = 8, ; + Top = 29, ; + ck_camp.Alignment = 0, ; + ck_camp.Name = "ck_camp" + *< END OBJECT: ClassLib="orapoarte.vcx" BaseClass="container" /> + + PROCEDURE do_adauga_filtru + Lparameters lcSql + lcFiltru = [WHERE DATA_ACT BETWEEN ?poListare.datai AND ?poListare.dataf] + gcCondSucursala + If !Empty(Nvl(poListare.id_client,0)) + lcFiltru = lcFiltru + [ AND id_part ] + Iif(thisform.ct_opt_client.nvaloarecriteriu = 1,[=],[<>]) + [ ?poListare.id_client] + Endif + + If !Empty(Nvl(Thisform.cfiltruarticol,[])) + lcFiltru = lcFiltru + Thisform.cfiltruarticol + Endif + + *!* IF !EMPTY(NVL(poListare.id_articol,0)) + *!* lcFiltru = lcFiltru + [ AND id_articol = ?poListare.id_articol] + *!* ENDIF + + If !Empty(Nvl(poListare.id_categorie_entitate,0)) + lcFiltru = lcFiltru + [ AND id_categorie_entitate ] + Iif(thisform.ct_opt_categorie.nvaloarecriteriu = 1,[=],[<>]) + [ ?poListare.id_categorie_entitate] + Endif + + If !Empty(Nvl(poListare.id_grupa,0)) + lcFiltru = lcFiltru + [ AND id_grupa ] + Iif(thisform.ct_opt_grupa.nvaloarecriteriu = 1,[=],[<>]) + [ ?poListare.id_grupa] + Endif + + If !Empty(Nvl(poListare.id_subgrupa,0)) + lcFiltru = lcFiltru + [ AND id_subgrupa ] + Iif(thisform.ct_opt_subgrupa.nvaloarecriteriu = 1,[=],[<>]) + [ ?poListare.id_subgrupa] + Endif + + poListare.csql = Strtran(lcSql,[WHERE 1=2],lcFiltru) + + + ENDPROC + + PROCEDURE do_cauta + lccontrol = Upper(This.ActiveControl.BaseClass ) + If Inlist(lccontrol,"TEXTBOX","EDITBOX","COMBOBOX") + lcval=This.ActiveControl.ControlSource + &lcval=Thisform.ActiveControl.Value + Endif + + Do Case + Case Empty(Nvl(poListare.datai,{})) + amessagebox("Nu ati completat data initiala!",0+48,"Atentie") + Thisform.clb_perioada.tx_n1.SetFocus() + Return + Case Empty(Nvl(poListare.dataf,{})) + amessagebox("Nu ati completat data finala!",0+48,"Atentie") + Thisform.clb_perioada.tx_n2.SetFocus() + Return + Case Empty(Nvl(poListare.data_referinta,{})) + amessagebox("Nu ati completat data de referinta!",0+48,"Atentie") + Thisform.clb_data_referinta.SetFocus() + Return + Otherwise + With This.ct_selectie1 + .do_instructiune_sql() + lcSql = .csql + Endwith + If Empty(lcSql) + amessagebox("Nu ati ales coloane pentru selectie!",0+48,"Atentie") + Thisform.ct_selectie1.SetFocus() + Return + Else + This.do_adauga_filtru(lcSql) + Endif + Endcase + + lnSucces = goExecutor.oExecute(poListare.csql,'crsraport') + If lnSucces < 0 + amessagebox(goExecutor.oPrelucrareEroare(),16,"Eroare") + Endif + ENDPROC + + PROCEDURE do_cauta_articol + Private pcValoare1, pcValoare2, pcIntre, pnCriteriu, pnCriteriu2, pcFiltru, pcFiltruVFP && variabile pe care le completeaza forma frm_filtru_text + pcValoare1 = [] + pcValoare2 = [] + pnCriteriu = 1 + pnCriteriu2 = 1 + pcIntre = [] + pcFiltru = [] + pcFiltruVFP = [] + lcExplicatie = [Articol] + + Do Form frm_filtru_text With [denumire],lcExplicatie,1,1 To lcFiltru + + If Empty(lcFiltru) + Thisform.cfiltruarticol = [] + Thisform.ct_opt_articol.opt_cautare.Value = 1 + Thisform.ct_opt_articol.do_reset() + Else + Thisform.cfiltruarticol = lcFiltru + lcTraducere = [] + && TRADUCERE + lcCriteriu = [ ] + lcCriteriu2 = [ ] + lcCIntre = [] + Do Case + Case pnCriteriu= 1 + lcCriteriu = 'incepe cu... ' + Case pnCriteriu= 2 + lcCriteriu = 'este... ' + Case pnCriteriu= 3 + lcCriteriu = 'nu este... ' + Case pnCriteriu= 4 + lcCriteriu = 'contine... ' + Case pnCriteriu= 5 + lcCriteriu = 'nu contine... ' + Case pnCriteriu= 6 + lcCriteriu = 'nu are valori ' + Case pnCriteriu= 7 + lcCriteriu = 'are valori ' + Endcase + + Do Case + Case pnCriteriu2= 1 + lcCriteriu2 = 'incepe cu... ' + Case pnCriteriu2= 2 + lcCriteriu2 = 'este... ' + Case pnCriteriu2= 3 + lcCriteriu2 = 'nu este... ' + Case pnCriteriu2= 4 + lcCriteriu2 = 'contine... ' + Case pnCriteriu2= 5 + lcCriteriu2 = 'nu contine... ' + Case lnCriteriu2 = 6 + lcCriteriu2 = 'nu are valori ' + Case pnCriteriu2= 7 + lcCriteriu2 = 'are valori ' + Endcase + + Do Case + Case Alltrim(Upper(pcIntre)) = 'OR' + lcCIntre = 'SAU' + Case Alltrim(Upper(pcIntre)) = 'AND' + lcCIntre = 'SI' + Endcase + + If !Empty(pcIntre) + lcTraducere = lcCriteriu + ['] + pcValoare1+ [' ] + lcCIntre + " " + lcCriteriu2 + ['] + pcValoare2 + ['] + Else + lcTraducere = lcCriteriu + ['] + pcValoare1+ ['] + Endif + + poListare.denumire = lcTraducere + Endif + + Thisform.ct_opt_articol.Refresh() + Thisform.ct_opt_grupa.SetFocus() + + *!* locauta=caut_articol() + *!* If !Empty(locauta.id_articol) + *!* poListare.denumire = Alltrim(locauta.denumire) + *!* poListare.id_articol = locauta.id_articol + + *!* Thisform.ct_opt_articol.Refresh() + *!* thisform.ct_opt_grupa.SetFocus() + *!* Else + *!* If Empty(Nvl(poListare.denumire,[])) + *!* Thisform.ct_opt_articol.opt_cautare.Value = 1 + *!* Endif + *!* Thisform.ct_opt_articol.SetFocus() + *!* Endif + + ENDPROC + + PROCEDURE do_cauta_categorie + locauta=caut_categorie_entitate() + If !Empty(locauta.id_categorie_entitate) + poListare.categorie = Alltrim(locauta.categorie_entitate) + poListare.id_categorie_entitate = locauta.id_categorie_entitate + + Thisform.ct_opt_categorie.Refresh() + Thisform.ct_opt_articol.SetFocus() + Else + If Empty(Nvl(poListare.categorie,[])) + Thisform.ct_opt_categorie.opt_cautare.Value = 1 + Endif + Thisform.ct_opt_categorie.SetFocus() + Endif + + ENDPROC + + PROCEDURE do_cauta_client + Private pnIdPart,pcNumePart + Store 0 To pnIdPart + Store "" To pcNumePart + If cauta_client(@pnIdPart,@pcNumePart) + poListare.id_client = pnIdPart + poListare.nume_client = pcNumePart + + Thisform.ct_opt_client.Refresh() + thisform.ct_opt_categorie.SetFocus() + Else + If Empty(Nvl(poListare.nume_client,[])) + Thisform.ct_opt_client.opt_cautare.Value=1 + Endif + Thisform.ct_opt_client.SetFocus() + Endif + + ENDPROC + + PROCEDURE do_cauta_grupa + locauta=caut_grupa_articole() + If !Empty(locauta.id_grupa) + poListare.grupa = Alltrim(locauta.grupa) + poListare.id_grupa = locauta.id_grupa + + Thisform.ct_opt_grupa.Refresh() + Else + If Empty(Nvl(poListare.grupa,[])) + Thisform.ct_opt_grupa.opt_cautare.Value = 1 + Endif + Thisform.ct_opt_grupa.SetFocus() + Endif + ENDPROC + + PROCEDURE do_cauta_subgrupa + locauta=caut_subgrupa_articole() + If !Empty(locauta.id_subgrupa) + poListare.subgrupa = Alltrim(locauta.subgrupa) + poListare.id_subgrupa = locauta.id_subgrupa + + Thisform.ct_opt_subgrupa.Refresh() + Thisform.but_listare1.SetFocus() + Else + If Empty(Nvl(poListare.subgrupa,[])) + Thisform.ct_opt_subgrupa.opt_cautare.Value = 1 + Endif + Thisform.ct_opt_subgrupa.SetFocus() + Endif + + ENDPROC + + PROCEDURE do_excel + If Used('crsraport') + Use In crsraport + Endif + + This.do_cauta() + If Used('crsraport') + If Reccount('crsraport')<>0 + If Used('crsexportexcel') + Use In crsexportexcel + Endif + Dimension aColoane[1] + lcSelect = [SELECT Iif(gid<>0,'TOTAL',Space(5)) As explicatie] + Afields(aColoane,'crsraport') + For i = 1 To Alen(aColoane,1) + If Upper(Alltrim(aColoane[i,1])) <> 'GID' + lcNumeColoana = Upper(Alltrim(aColoane[i,1])) + lcSelect = lcSelect + [,] + Iif(aColoane[i,2] = 'T', [TTOD(] + lcNumeColoana + [) as ] + ; + lcNumeColoana, lcNumeColoana) + Endif + Endfor + lcSelect = lcSelect + [ From crsraport Into Cursor crsexportexcel] + &lcSelect + + export_xls('crsexportexcel') + Use In crsexportexcel + Else + amessagebox("Nu exista rezultate pentru export in Excel!",0+48,"Atentie") + Thisform.clb_perioada.SetFocus() + Endif + + Use In crsraport + Endif + + ENDPROC + + PROCEDURE do_listare + Private pcTitlu + If Used('crsraport') + Use In crsraport + Endif + + This.do_cauta() + If Used('crsraport') + *!* modificare v 2.0.46 + *!* Private pcDataOra + *!* If Reccount('crsraport')>0 + *!* lcTitlu = [Raport articole]+Iif(!Empty(Nvl(poListare.grupa,[])),[ grupa ]+Alltrim(poListare.grupa),[]) + ; + *!* IIF(!Empty(Nvl(poListare.subgrupa,[])),[ subgrupa ] + Alltrim(poListare.subgrupa),[]) + *!* pcTitlu = ceretitlu_rap('Titlul Raportului',lcTitlu) + *!* pcDataora = get_ora(2) + pcTitlu = [Raport articole]+Iif(!Empty(Nvl(poListare.grupa,[])),[ grupa ]+Alltrim(poListare.grupa),[]) + ; + IIF(!Empty(Nvl(poListare.subgrupa,[])),[ subgrupa ] + Alltrim(poListare.subgrupa),[]) + *!* modificare v 2.0.46 ^ + + Thisform.AlwaysOnTop = .F. + *!* modificare v 2.0.46 + *!* Local loExport + *!* loExport = Createobject("oExportConfig") + *!* loExport.listareUserReport("crsraport","FRX","raport_articole",1,"RAPORT") + *!* Release loExport + * goExport.export2frx("crsraport","raport_articole",.T.,1,"RAPORT") && , , , .T.) + goExport.export2frx("crsraport","raport_articole",.T.,1,"RAPORT", , , .T.) + *!* modificare v 2.0.46 ^ + *!* Keyboard "{ctrl+f10}" + *!* Select crsraport + *!* Report Form raport_articole To Printer Prompt Preview + Thisform.AlwaysOnTop = .T. + *!* modificare v 2.0.46 + *!* Else + *!* amessagebox("Nu exista rezultate pentru listare!",0+48,"Atentie") + *!* Thisform.clb_perioada.SetFocus() + *!* Endif + Thisform.clb_perioada.SetFocus() + *!* modificare v 2.0.46 + Use In crsraport + EndIf + Release pcTitlu + ENDPROC + + PROCEDURE Clb_perioada.tx_n1.Valid + *!* + ENDPROC + +ENDDEFINE + +DEFINE CLASS frm_date_rapoarte_articole_tr AS frm_termin OF "_frm_child.vcx" + *< CLASSDATA: Baseclass="form" Timestamp="" Scale="Pixels" Uniqueid="" /> + + *-- OBJECTDATA items order determines ZOrder / El orden de los items OBJECTDATA determina el ZOrder + *< OBJECTDATA: ObjPath="Ct_clb_raport" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="Ct_clb_raport.But_sterge1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="Clb_perioada" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="Ct_opt_articol" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="Ct_opt_gest_dest" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="Ct_selectie1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="Ct_selectie1.Ct_selectie_articol" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="Ct_selectie1.Ct_selectie_furnizor" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="Ct_selectie1.Ct_selectie_sursa" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="Ct_selectie1.Ct_selectie_um" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="Ct_selectie1.Ct_selectie_destinatie" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="Ct_selectie1.Ct_selectie_codmat" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="Ct_selectie1.Ct_selectie_pachi" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="Ct_selectie1.Ct_selectie_camp1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="Ct_opt_gest_sursa" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="Ct_opt_furnizor" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="Ct_opt_subgrupa" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="But_salveaza1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="But_listare1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="But_excel1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="Label1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="Text1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="Optiongroup1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="Optiongroup2" UniqueID="" Timestamp="" /> + + * + *m: do_adauga_filtru + *m: do_cauta_artfurn + *m: do_cauta_articol + *m: do_cauta_gest_dest + *m: do_cauta_gest_sursa + *m: do_cauta_subgrupa + *p: cfiltruarticol + *p: nratavandabilitate + * + + * + cfiltruarticol = + DoCreate = .T. + Height = 502 + Name = "frm_date_rapoarte_articole_tr" + nratavandabilitate = 0 + Width = 545 + _shape1.Height = 29 + _shape1.Left = 0 + _shape1.Name = "_shape1" + _shape1.Top = 0 + _shape1.Width = 708 + _shape2.Left = 647 + _shape2.Name = "_shape2" + _shape2.Top = 0 + Lb_titlu_alb_b121.Caption = "ARTICOLE TRANSFERATE" + Lb_titlu_alb_b121.FontBold = .T. + Lb_titlu_alb_b121.Name = "Lb_titlu_alb_b121" + Lb_titlu_alb_b121.TabIndex = 5 + BUT_TERMIN1.Left = 513 + BUT_TERMIN1.Name = "BUT_TERMIN1" + BUT_TERMIN1.TabIndex = 4 + BUT_TERMIN1.Top = 1 + Gridsort1.Name = "Gridsort1" + * + + ADD OBJECT 'But_excel1' AS but_excel WITH ; + Left = 448, ; + Name = "But_excel1", ; + TabIndex = 3, ; + Top = 1 + *< END OBJECT: ClassLib="cmd_butoane.vcx" BaseClass="commandbutton" /> + + ADD OBJECT 'But_listare1' AS but_listare WITH ; + Left = 480, ; + Name = "But_listare1", ; + TabIndex = 2, ; + Top = 1 + *< END OBJECT: ClassLib="cmd_butoane.vcx" BaseClass="commandbutton" /> + + ADD OBJECT 'But_salveaza1' AS but_salveaza WITH ; + Left = 386, ; + Name = "But_salveaza1", ; + TabIndex = 14, ; + Top = 1, ; + Visible = .F. + *< END OBJECT: ClassLib="cmd_butoane.vcx" BaseClass="commandbutton" /> + + ADD OBJECT 'Clb_perioada' AS clb_n1n2_simplu WITH ; + Left = 252, ; + Name = "Clb_perioada", ; + TabIndex = 8, ; + Top = 75, ; + tx_n1.ControlSource = "poListare.datai", ; + tx_n1.Left = 127, ; + tx_n1.Name = "tx_n1", ; + tx_n1.Top = 2, ; + LB_SIMPLU1.Caption = "Data factura", ; + LB_SIMPLU1.Name = "LB_SIMPLU1", ; + tx_n2.ControlSource = "poListare.dataf", ; + tx_n2.Name = "tx_n2" + *< END OBJECT: ClassLib="lb_tx.vcx" BaseClass="container" /> + + ADD OBJECT 'Ct_clb_raport' AS ct_clb_cautare WITH ; + Height = 31, ; + Left = 504, ; + Name = "Ct_clb_raport", ; + TabIndex = 6, ; + Top = 36, ; + Visible = .F., ; + Width = 396, ; + IMG_CAUTARE.Height = 25, ; + IMG_CAUTARE.Left = 321, ; + IMG_CAUTARE.Name = "IMG_CAUTARE", ; + IMG_CAUTARE.Top = 3, ; + IMG_CAUTARE.Width = 30, ; + CLB_TX_CAUTARE.LB_SIMPLU1.Caption = "Raport", ; + CLB_TX_CAUTARE.LB_SIMPLU1.Name = "LB_SIMPLU1", ; + CLB_TX_CAUTARE.Name = "CLB_TX_CAUTARE", ; + CLB_TX_CAUTARE.TabIndex = 1, ; + CLB_TX_CAUTARE.TEXT_SIMPLU1.Height = 23, ; + CLB_TX_CAUTARE.TEXT_SIMPLU1.Left = 71, ; + CLB_TX_CAUTARE.TEXT_SIMPLU1.Name = "TEXT_SIMPLU1", ; + CLB_TX_CAUTARE.TEXT_SIMPLU1.Top = 3, ; + CLB_TX_CAUTARE.TEXT_SIMPLU1.Width = 239 + *< END OBJECT: ClassLib="caut_ora.vcx" BaseClass="container" /> + + ADD OBJECT 'Ct_clb_raport.But_sterge1' AS but_sterge WITH ; + Height = 27, ; + Left = 361, ; + Name = "But_sterge1", ; + TabIndex = 2, ; + Top = 1, ; + Width = 30 + *< END OBJECT: ClassLib="cmd_butoane.vcx" BaseClass="commandbutton" /> + + ADD OBJECT 'Ct_opt_articol' AS ct_opt_cautare WITH ; + cprocedura = thisform.do_cauta_articol, ; + cvarfiltru = thisform.cfiltruarticol, ; + cvar_afisata = poListare.denumire, ; + Left = 252, ; + Name = "Ct_opt_articol", ; + TabIndex = 11, ; + Top = 103, ; + opt_cautare.Name = "opt_cautare", ; + opt_cautare.OPTION1.Left = 5, ; + opt_cautare.OPTION1.Name = "OPTION1", ; + opt_cautare.OPTION1.Top = 5, ; + opt_cautare.OPTION2.Left = 5, ; + opt_cautare.OPTION2.Name = "OPTION2", ; + opt_cautare.OPTION2.Top = 24, ; + tx_cautare.Name = "tx_cautare", ; + LB_EXPLICATIE.Caption = "Articol", ; + LB_EXPLICATIE.Name = "LB_EXPLICATIE", ; + criteriu.Name = "criteriu" + *< END OBJECT: ClassLib="caut_ora.vcx" BaseClass="container" /> + + ADD OBJECT 'Ct_opt_furnizor' AS ct_opt_cautare WITH ; + cprocedura = thisform.do_cauta_artfurn, ; + cvarfiltru = poListare.id_furnart, ; + cvar_afisata = poListare.furnizor_art, ; + Left = 252, ; + Name = "Ct_opt_furnizor", ; + TabIndex = 12, ; + Top = 383, ; + opt_cautare.Name = "opt_cautare", ; + opt_cautare.OPTION1.Left = 5, ; + opt_cautare.OPTION1.Name = "OPTION1", ; + opt_cautare.OPTION1.Top = 5, ; + opt_cautare.OPTION2.Left = 5, ; + opt_cautare.OPTION2.Name = "OPTION2", ; + opt_cautare.OPTION2.Top = 24, ; + tx_cautare.Name = "tx_cautare", ; + LB_EXPLICATIE.Caption = "Furnizor", ; + LB_EXPLICATIE.Name = "LB_EXPLICATIE", ; + criteriu.Name = "criteriu" + *< END OBJECT: ClassLib="caut_ora.vcx" BaseClass="container" /> + + ADD OBJECT 'Ct_opt_gest_dest' AS ct_opt_cautare WITH ; + cprocedura = thisform.do_cauta_gest_dest, ; + cvarfiltru = poListare.id_client, ; + cvar_afisata = poListare.nume_client, ; + Left = 252, ; + Name = "Ct_opt_gest_dest", ; + ntip = 2, ; + TabIndex = 9, ; + Top = 313, ; + opt_cautare.Name = "opt_cautare", ; + opt_cautare.OPTION1.Left = 5, ; + opt_cautare.OPTION1.Name = "OPTION1", ; + opt_cautare.OPTION1.Top = 5, ; + opt_cautare.OPTION2.Left = 5, ; + opt_cautare.OPTION2.Name = "OPTION2", ; + opt_cautare.OPTION2.Top = 24, ; + tx_cautare.Name = "tx_cautare", ; + LB_EXPLICATIE.Caption = "Gestiune destinatie", ; + LB_EXPLICATIE.Name = "LB_EXPLICATIE", ; + criteriu.Name = "criteriu" + *< END OBJECT: ClassLib="caut_ora.vcx" BaseClass="container" /> + + ADD OBJECT 'Ct_opt_gest_sursa' AS ct_opt_cautare WITH ; + cprocedura = thisform.do_cauta_gest_sursa, ; + cvarfiltru = poListare.id_gestiune, ; + cvar_afisata = poListare.nume_gestiune, ; + Left = 252, ; + Name = "Ct_opt_gest_sursa", ; + ntip = 2, ; + TabIndex = 10, ; + Top = 243, ; + opt_cautare.Name = "opt_cautare", ; + opt_cautare.OPTION1.Left = 5, ; + opt_cautare.OPTION1.Name = "OPTION1", ; + opt_cautare.OPTION1.Top = 5, ; + opt_cautare.OPTION2.Left = 5, ; + opt_cautare.OPTION2.Name = "OPTION2", ; + opt_cautare.OPTION2.Top = 24, ; + tx_cautare.Name = "tx_cautare", ; + LB_EXPLICATIE.Caption = "Gestiune Sursa", ; + LB_EXPLICATIE.Name = "LB_EXPLICATIE", ; + criteriu.Name = "criteriu" + *< END OBJECT: ClassLib="caut_ora.vcx" BaseClass="container" /> + + ADD OBJECT 'Ct_opt_subgrupa' AS ct_opt_cautare WITH ; + cprocedura = thisform.do_cauta_subgrupa, ; + cvarfiltru = poListare.id_subgrupa, ; + cvar_afisata = poListare.subgrupa, ; + Left = 252, ; + Name = "Ct_opt_subgrupa", ; + TabIndex = 13, ; + Top = 173, ; + opt_cautare.Name = "opt_cautare", ; + opt_cautare.OPTION1.Left = 5, ; + opt_cautare.OPTION1.Name = "OPTION1", ; + opt_cautare.OPTION1.Top = 5, ; + opt_cautare.OPTION2.Left = 5, ; + opt_cautare.OPTION2.Name = "OPTION2", ; + opt_cautare.OPTION2.Top = 24, ; + tx_cautare.Name = "tx_cautare", ; + LB_EXPLICATIE.Caption = "Subgrupa de articole", ; + LB_EXPLICATIE.Name = "LB_EXPLICATIE", ; + criteriu.Name = "criteriu" + *< END OBJECT: ClassLib="caut_ora.vcx" BaseClass="container" /> + + ADD OBJECT 'Ct_selectie1' AS ct_selectie WITH ; + ccoloanesuma = adaos,cantitate,valoare_ftva,valoare,val_achizitie, ; + clistacoloaneordine = 1,2,3,4, ; + cnumecoloanesuma = Adaos,Cantitate,Valoare fara TVA,Valoare cu TVA,Valoare achizitie, ; + cnumetabela = fact_vrap_articole_transfer, ; + Height = 158, ; + Left = 7, ; + Name = "Ct_selectie1", ; + TabIndex = 7, ; + Top = 75, ; + Width = 246, ; + Ct_grupare1.Height = 150, ; + Ct_grupare1.lblAtentie.Name = "lblAtentie", ; + Ct_grupare1.lb_grupare.Name = "lb_grupare", ; + Ct_grupare1.Left = 0, ; + Ct_grupare1.Name = "Ct_grupare1", ; + Ct_grupare1.TabIndex = 11, ; + Ct_grupare1.Top = 157, ; + Ct_grupare1.Width = 320, ; + Ct_grupare1._scrollcontainer1.But_jos1.Name = "But_jos1", ; + Ct_grupare1._scrollcontainer1.But_sus1.Name = "But_sus1", ; + Ct_grupare1._scrollcontainer1.Name = "_scrollcontainer1", ; + Ct_ordonare1.Height = 201, ; + Ct_ordonare1.lb_ordonare.Name = "lb_ordonare", ; + Ct_ordonare1.Left = -12, ; + Ct_ordonare1.Name = "Ct_ordonare1", ; + Ct_ordonare1.TabIndex = 10, ; + Ct_ordonare1.Top = 404, ; + Ct_ordonare1.Width = 319, ; + Ct_ordonare1._scrollcontainer1.But_jos1.Name = "But_jos1", ; + Ct_ordonare1._scrollcontainer1.But_sus1.Name = "But_sus1", ; + Ct_ordonare1._scrollcontainer1.Name = "_scrollcontainer1", ; + lb_coloane.Left = 10, ; + lb_coloane.Name = "lb_coloane", ; + lb_coloane.TabIndex = 1, ; + lb_coloane.Top = 2 + *< END OBJECT: ClassLib="orapoarte.vcx" BaseClass="container" /> + + ADD OBJECT 'Ct_selectie1.Ct_selectie_articol' AS ct_selectie_camp WITH ; + ccamp = denumire, ; + cnumecamp = Articol, ; + Height = 19, ; + Left = 16, ; + Name = "Ct_selectie_articol", ; + nid_container = 2, ; + TabIndex = 2, ; + Top = 31, ; + Width = 213, ; + ck_camp.Alignment = 0, ; + ck_camp.Name = "ck_camp" + *< END OBJECT: ClassLib="orapoarte.vcx" BaseClass="container" /> + + ADD OBJECT 'Ct_selectie1.Ct_selectie_camp1' AS ct_selectie_camp WITH ; + ccamp = pret, ; + cnumecamp = Pret vanzare cu TVA, ; + Height = 19, ; + Left = 16, ; + Name = "Ct_selectie_camp1", ; + nid_container = 7, ; + TabIndex = 7, ; + Top = 138, ; + Width = 213, ; + ck_camp.Alignment = 0, ; + ck_camp.Name = "ck_camp" + *< END OBJECT: ClassLib="orapoarte.vcx" BaseClass="container" /> + + ADD OBJECT 'Ct_selectie1.Ct_selectie_codmat' AS ct_selectie_camp WITH ; + ccamp = codmat, ; + cnumecamp = Cod articol, ; + Height = 19, ; + Left = 16, ; + Name = "Ct_selectie_codmat", ; + nid_container = 1, ; + TabIndex = 3, ; + Top = 13, ; + Width = 213, ; + ck_camp.Alignment = 0, ; + ck_camp.Name = "ck_camp" + *< END OBJECT: ClassLib="orapoarte.vcx" BaseClass="container" /> + + ADD OBJECT 'Ct_selectie1.Ct_selectie_destinatie' AS ct_selectie_camp WITH ; + ccamp = nume_client, ; + cnumecamp = Gest. dest., ; + Height = 19, ; + Left = 16, ; + Name = "Ct_selectie_destinatie", ; + nid_container = 6, ; + TabIndex = 9, ; + Top = 103, ; + Width = 213, ; + ck_camp.Alignment = 0, ; + ck_camp.Name = "ck_camp" + *< END OBJECT: ClassLib="orapoarte.vcx" BaseClass="container" /> + + ADD OBJECT 'Ct_selectie1.Ct_selectie_furnizor' AS ct_selectie_camp WITH ; + ccamp = furnizor_art, ; + cnumecamp = Furnizor, ; + Height = 19, ; + Left = 16, ; + Name = "Ct_selectie_furnizor", ; + nid_container = 4, ; + TabIndex = 6, ; + Top = 68, ; + Width = 213, ; + ck_camp.Alignment = 0, ; + ck_camp.Name = "ck_camp" + *< END OBJECT: ClassLib="orapoarte.vcx" BaseClass="container" /> + + ADD OBJECT 'Ct_selectie1.Ct_selectie_pachi' AS ct_selectie_camp WITH ; + ccamp = pret_achizitie, ; + cnumecamp = Pret achizitie, ; + Height = 19, ; + Left = 16, ; + Name = "Ct_selectie_pachi", ; + nid_container = 7, ; + TabIndex = 7, ; + Top = 120, ; + Width = 213, ; + ck_camp.Alignment = 0, ; + ck_camp.Name = "ck_camp" + *< END OBJECT: ClassLib="orapoarte.vcx" BaseClass="container" /> + + ADD OBJECT 'Ct_selectie1.Ct_selectie_sursa' AS ct_selectie_camp WITH ; + ccamp = nume_gestiune, ; + cnumecamp = Gest. sursa, ; + Height = 19, ; + Left = 16, ; + Name = "Ct_selectie_sursa", ; + nid_container = 5, ; + TabIndex = 7, ; + Top = 85, ; + Width = 213, ; + ck_camp.Alignment = 0, ; + ck_camp.Name = "ck_camp" + *< END OBJECT: ClassLib="orapoarte.vcx" BaseClass="container" /> + + ADD OBJECT 'Ct_selectie1.Ct_selectie_um' AS ct_selectie_camp WITH ; + ccamp = um, ; + cnumecamp = U.M., ; + Height = 19, ; + Left = 16, ; + Name = "Ct_selectie_um", ; + nid_container = 3, ; + TabIndex = 5, ; + Top = 50, ; + Width = 213, ; + ck_camp.Alignment = 0, ; + ck_camp.Name = "ck_camp" + *< END OBJECT: ClassLib="orapoarte.vcx" BaseClass="container" /> + + ADD OBJECT 'Label1' AS label WITH ; + AutoSize = .T., ; + BackStyle = 0, ; + Caption = "Rata minima de vandabilitate:", ; + Height = 17, ; + Left = 35, ; + Name = "Label1", ; + TabIndex = 15, ; + Top = 48, ; + Width = 165 + *< END OBJECT: BaseClass="label" /> + + ADD OBJECT 'Optiongroup1' AS optiongroup WITH ; + AutoSize = .F., ; + BackStyle = 0, ; + ButtonCount = 2, ; + Height = 45, ; + Left = 7, ; + Name = "Optiongroup1", ; + SpecialEffect = 1, ; + TabIndex = 16, ; + Top = 232, ; + Value = 1, ; + Width = 246, ; + Option1.AutoSize = .T., ; + Option1.BackStyle = 0, ; + Option1.Caption = "Top valoric", ; + Option1.Height = 17, ; + Option1.Left = 5, ; + Option1.Name = "Option1", ; + Option1.Top = 5, ; + Option1.Value = 1, ; + Option1.Width = 77, ; + Option2.AutoSize = .T., ; + Option2.BackStyle = 0, ; + Option2.Caption = "Top cantitativ", ; + Option2.Height = 17, ; + Option2.Left = 5, ; + Option2.Name = "Option2", ; + Option2.Top = 24, ; + Option2.Width = 89 + *< END OBJECT: BaseClass="optiongroup" /> + + ADD OBJECT 'Optiongroup2' AS optiongroup WITH ; + BackStyle = 0, ; + ButtonCount = 4, ; + Height = 84, ; + Left = 7, ; + Name = "Optiongroup2", ; + SpecialEffect = 1, ; + TabIndex = 17, ; + Top = 276, ; + Value = 1, ; + Width = 246, ; + Option1.AutoSize = .T., ; + Option1.BackStyle = 0, ; + Option1.Caption = "Articole transferate catre subunitati", ; + Option1.Height = 17, ; + Option1.Left = 5, ; + Option1.Name = "Option1", ; + Option1.Top = 5, ; + Option1.Value = 1, ; + Option1.Width = 207, ; + Option2.AutoSize = .T., ; + Option2.BackStyle = 0, ; + Option2.Caption = "Articole transferate catre protocol", ; + Option2.Height = 17, ; + Option2.Left = 5, ; + Option2.Name = "Option2", ; + Option2.Top = 24, ; + Option2.Width = 197, ; + Option3.AutoSize = .T., ; + Option3.BackStyle = 0, ; + Option3.Caption = "Articole transferate catre clientii debitori", ; + Option3.Height = 17, ; + Option3.Left = 5, ; + Option3.Name = "Option3", ; + Option3.Top = 43, ; + Option3.Width = 232, ; + Option4.AutoSize = .T., ; + Option4.BackStyle = 0, ; + Option4.Caption = "Toate cele de mai sus", ; + Option4.Height = 17, ; + Option4.Left = 5, ; + Option4.Name = "Option4", ; + Option4.Top = 62, ; + Option4.Width = 140 + *< END OBJECT: BaseClass="optiongroup" /> + + ADD OBJECT 'Text1' AS textbox WITH ; + ControlSource = "thisform.nratavandabilitate", ; + Height = 23, ; + InputMask = "999.99", ; + Left = 204, ; + Name = "Text1", ; + TabIndex = 1, ; + Top = 46, ; + Width = 48 + *< END OBJECT: BaseClass="textbox" /> + + PROCEDURE do_adauga_filtru + Lparameters lcSql + + lcFiltru = [WHERE DATA_ACT BETWEEN ?poListare.datai AND ?poListare.dataf] + gcCondSucursala + If !Empty(Nvl(poListare.id_client,0)) + lcFiltru = lcFiltru + [ AND id_client ] + Iif(Thisform.ct_opt_gest_dest.nvaloarecriteriu = 1,[=],[<>]) + [ ?poListare.id_client] + Endif + + If !Empty(Nvl(Thisform.cfiltruarticol,[])) + lcFiltru = lcFiltru + Thisform.cfiltruarticol + Endif + + *!* IF !EMPTY(NVL(poListare.id_articol,0)) + *!* lcFiltru = lcFiltru + [ AND id_articol = ?poListare.id_articol] + *!* ENDIF + + If !Empty(Nvl(poListare.id_gestiune,0)) + lcFiltru = lcFiltru + [ AND id_gestiune ] + Iif(Thisform.ct_opt_gest_sursa.nvaloarecriteriu = 1,[=],[<>]) + [ ?poListare.id_gestiune] + Endif + + If !Empty(Nvl(poListare.id_furnart,0)) + lcFiltru = lcFiltru + [ AND id_furnart= ?poListare.id_furnart] + Endif + + If !Empty(Nvl(poListare.id_subgrupa,0)) + lcFiltru = lcFiltru + [ AND id_subgrupa = ?poListare.id_subgrupa] + Endif + Do Case + Case Thisform.optiongroup2.Value = 1 + lcFiltru = lcFiltru + [ AND id_set in (25032,25034,25036,25039,25050,74,76,207,231,234,236,237,240,241,242,247,248,253,254,255,256,257)] + Case Thisform.optiongroup2.Value = 2 + lcFiltru = lcFiltru + [ AND id_set in (230,232,233,243,261)] + Case Thisform.optiongroup2.Value = 3 + lcFiltru = lcFiltru + [ AND id_set in (25037,25038)] + Otherwise + lcFiltru = lcFiltru + [ AND id_set in (25037,25038,230,232,233,243,261,] + ; + [25032,25034,25036,25039,25050,74,76,207,231,234,236,237,240,241,242,247,248,253,254,255,256,257)] + Endcase + poListare.csql = Strtran(lcSql,[WHERE 1=2],lcFiltru) + + ENDPROC + + PROCEDURE do_cauta + lccontrol = Upper(This.ActiveControl.BaseClass ) + If Inlist(lccontrol,"TEXTBOX","EDITBOX","COMBOBOX") + lcval=This.ActiveControl.ControlSource + &lcval=Thisform.ActiveControl.Value + Endif + *!* DEBUG + *!* SUSPEND + Do Case + Case Empty(Nvl(poListare.datai,{})) + amessagebox("Nu ati completat data initiala!",0+48,"Atentie") + Thisform.clb_perioada.tx_n1.SetFocus() + Return + Case Empty(Nvl(poListare.dataf,{})) + amessagebox("Nu ati completat data finala!",0+48,"Atentie") + Thisform.clb_perioada.tx_n2.SetFocus() + Return + Case Empty(Nvl(poListare.data_referinta,{})) + amessagebox("Nu ati completat data de referinta!",0+48,"Atentie") + Thisform.clb_data_referinta.SetFocus() + Return + Otherwise + With This.ct_selectie1 + .do_instructiune_sql() + lcSql = .csql + Endwith + If Empty(lcSql) + amessagebox("Nu ati ales coloane pentru selectie!",0+48,"Atentie") + Thisform.ct_selectie1.SetFocus() + Return + Else + This.do_adauga_filtru(lcSql) + Endif + Endcase + + lnSucces = goExecutor.oExecute(poListare.csql,'crsTmpRaport') + If lnSucces < 0 + amessagebox(goExecutor.oPrelucrareEroare(),16,"Eroare") + RETURN + ENDIF + + LOCAL lnValoare , lnCantitate,lnVal_achizitie,lnAdaos + STORE 0 TO lnValoare,lnCantitate + SELECT a.*,0000000.00 as procv,IIF(EMPTY(val_achizitie),0,ROUND((adaos / val_achizitie)*100 ,0)) as proca FROM crsTmpRaport a INTO CURSOR crsRaport1 READWRITE + SELECT crsRaport1 + SUM valoare TO lnValoare FOR gid=0 + SUM cantitate TO lnCantitate FOR gid=0 + SELECT crsRaport1 + SCAN FOR gid=0 + IF thisform.optiongroup1.Value = 1 + REPLACE procv WITH IIF(EMPTY(valoare),0, ROUND((valoare/lnValoare)*100,2)) + ELSE + REPLACE procv WITH IIF(EMPTY(cantitate),0,ROUND((cantitate/lnCantitate)*100,2)) + ENDIF + ENDSCAN + STORE 0 TO lnValoare , lnCantitate,lnVal_achizitie,lnAdaos + + SELECT crsRaport1 + SUM val_achizitie TO lnVal_achizitie FOR gid = 0 and procv >= thisform.nratavandabilitate + SUM valoare TO lnValoare FOR gid = 0 AND procv >= thisform.nratavandabilitate + SUM adaos TO lnAdaos FOR gid = 0 AND procv >= thisform.nratavandabilitate + SUM cantitate TO lnCantitate FOR gid = 0 AND procv >= thisform.nratavandabilitate + SELECT crsRaport1 + REPLACE val_achizitie WITH lnVal_achizitie,valoare WITH lnValoare, adaos WITH lnAdaos,cantitate WITH lnCantitate ; + FOR gid<>0 + SELECT * FROM crsRaport1 WITH (buffering = .t.) WHERE ( gid <> 0 or procv >= thisform.nratavandabilitate) ORDER BY gid ASC ,procv DESC, val_achizitie DESC INTO CURSOR crsRaport + + + *!* DEBUG + *!* SUSPEND + ENDPROC + + PROCEDURE do_cauta_artfurn + Local loCauta + loCauta = CautPartenerContabilitate(GetHash([cTitlu=>Alegeti clientul??cCont=>401??lAdaugCorespondente=>1])) + If !Empty(loCauta.id_part) And !Empty(loCauta.denumire) + poListare.id_furnart= loCauta.id_part + poListare.furnizor_art= Alltrim(loCauta.denumire) + Thisform.ct_opt_furnizor.Refresh() + Thisform.but_listare1.SetFocus() + Else + If Empty(Nvl(loCauta.denumire,[])) + Thisform.ct_opt_furnizor.opt_cautare.Value = 1 + Endif + Thisform.ct_opt_furnizor.SetFocus() + Endif + + ENDPROC + + PROCEDURE do_cauta_articol + Private pcValoare1, pcValoare2, pcIntre, pnCriteriu, pnCriteriu2, pcFiltru, pcFiltruVFP && variabile pe care le completeaza forma frm_filtru_text + pcValoare1 = [] + pcValoare2 = [] + pnCriteriu = 1 + pnCriteriu2 = 1 + pcIntre = [] + pcFiltru = [] + pcFiltruVFP = [] + lcExplicatie = [Articol] + + Do Form frm_filtru_text With [denumire],lcExplicatie,1,1 To lcFiltru + + If Empty(lcFiltru) + Thisform.cfiltruarticol = [] + Thisform.ct_opt_articol.opt_cautare.Value = 1 + Thisform.ct_opt_articol.do_reset() + Else + Thisform.cfiltruarticol = lcFiltru + lcTraducere = [] + && TRADUCERE + lcCriteriu = [ ] + lcCriteriu2 = [ ] + lcCIntre = [] + Do Case + Case pnCriteriu= 1 + lcCriteriu = 'incepe cu... ' + Case pnCriteriu= 2 + lcCriteriu = 'este... ' + Case pnCriteriu= 3 + lcCriteriu = 'nu este... ' + Case pnCriteriu= 4 + lcCriteriu = 'contine... ' + Case pnCriteriu= 5 + lcCriteriu = 'nu contine... ' + Case pnCriteriu= 6 + lcCriteriu = 'nu are valori ' + Case pnCriteriu= 7 + lcCriteriu = 'are valori ' + Endcase + + Do Case + Case pnCriteriu2= 1 + lcCriteriu2 = 'incepe cu... ' + Case pnCriteriu2= 2 + lcCriteriu2 = 'este... ' + Case pnCriteriu2= 3 + lcCriteriu2 = 'nu este... ' + Case pnCriteriu2= 4 + lcCriteriu2 = 'contine... ' + Case pnCriteriu2= 5 + lcCriteriu2 = 'nu contine... ' + Case lnCriteriu2 = 6 + lcCriteriu2 = 'nu are valori ' + Case pnCriteriu2= 7 + lcCriteriu2 = 'are valori ' + Endcase + + Do Case + Case Alltrim(Upper(pcIntre)) = 'OR' + lcCIntre = 'SAU' + Case Alltrim(Upper(pcIntre)) = 'AND' + lcCIntre = 'SI' + Endcase + + If !Empty(pcIntre) + lcTraducere = lcCriteriu + ['] + pcValoare1+ [' ] + lcCIntre + " " + lcCriteriu2 + ['] + pcValoare2 + ['] + Else + lcTraducere = lcCriteriu + ['] + pcValoare1+ ['] + Endif + + poListare.denumire = lcTraducere + Endif + + Thisform.ct_opt_articol.Refresh() + Thisform.ct_opt_subgrupa.SetFocus() + + *!* locauta=caut_articol() + *!* If !Empty(locauta.id_articol) + *!* poListare.denumire = Alltrim(locauta.denumire) + *!* poListare.id_articol = locauta.id_articol + + *!* Thisform.ct_opt_articol.Refresh() + *!* thisform.ct_opt_grupa.SetFocus() + *!* Else + *!* If Empty(Nvl(poListare.denumire,[])) + *!* Thisform.ct_opt_articol.opt_cautare.Value = 1 + *!* Endif + *!* Thisform.ct_opt_articol.SetFocus() + *!* Endif + + ENDPROC + + PROCEDURE do_cauta_gest_dest + Private pnIdPart,pcNumePart + LOCAL locauta + Store 0 To pnIdPart + Store "" To pcNumePart + *!* If caut_gestiune(@pnIdPart,@pcNumePart) + locauta =caut_gestiune_dest(0,'',1) + If !Isnull(loCauta) And !Empty(NVL(loCauta.id_gestiune,0)) + poListare.id_client = locauta.id_gestiune + poListare.nume_client = locauta.nume_gestiune + + Thisform.ct_opt_gest_dest.Refresh() + Thisform.ct_opt_furnizor.SetFocus() + Else + If Empty(Nvl(poListare.nume_client,[])) + Thisform.ct_opt_gest_dest.opt_cautare.Value=1 + Endif + Thisform.ct_opt_gest_dest.SetFocus() + Endif + + ENDPROC + + PROCEDURE do_cauta_gest_sursa + Private pnIdPart,pcNumePart + LOCAL locauta + Store 0 To pnIdPart + Store "" To pcNumePart + *!* If caut_gestiune(@pnIdPart,@pcNumePart) + locauta =caut_gestiune(0,gnIdUtil ,.f.) + If !Isnull(loCauta) And !Empty(NVL(loCauta.id_gestiune,0)) + poListare.id_gestiune= locauta.id_gestiune + poListare.nume_gestiune = locauta.nume_gestiune + + Thisform.ct_opt_gest_sursa.Refresh() + Thisform.ct_opt_gest_dest.SetFocus() + Else + If Empty(Nvl(poListare.nume_gestiune ,[])) + Thisform.ct_opt_gest_sursa.opt_cautare.Value=1 + Endif + Thisform.ct_opt_gest_sursa.SetFocus() + Endif + + ENDPROC + + PROCEDURE do_cauta_subgrupa + locauta=caut_subgrupa_articole() + If !Empty(locauta.id_subgrupa) + poListare.subgrupa = Alltrim(locauta.subgrupa) + poListare.id_subgrupa = locauta.id_subgrupa + + Thisform.ct_opt_subgrupa.Refresh() + thisform.ct_opt_gest_sursa.SetFocus() + Else + If Empty(Nvl(poListare.subgrupa,[])) + Thisform.ct_opt_subgrupa.opt_cautare.Value = 1 + Endif + Thisform.ct_opt_subgrupa.SetFocus() + Endif + + ENDPROC + + PROCEDURE do_excel + If Used('crsraport') + Use In crsraport + Endif + + This.do_cauta() + If Used('crsraport') + If Reccount('crsraport')<>0 + If Used('crsexportexcel') + Use In crsexportexcel + Endif + Dimension aColoane[1] + lcSelect = [SELECT Iif(gid<>0,'TOTAL',Space(5)) As explicatie] + Afields(aColoane,'crsraport') + For i = 1 To Alen(aColoane,1) + If Upper(Alltrim(aColoane[i,1])) <> 'GID' + lcNumeColoana = Upper(Alltrim(aColoane[i,1])) + lcSelect = lcSelect + [,] + Iif(aColoane[i,2] = 'T', [TTOD(] + lcNumeColoana + [) as ] + ; + lcNumeColoana, lcNumeColoana) + Endif + Endfor + lcSelect = lcSelect + [ From crsraport Into Cursor crsexportexcel] + &lcSelect + + export_xls('crsexportexcel') + Use In crsexportexcel + Else + amessagebox("Nu exista rezultate pentru export in Excel!",0+48,"Atentie") + Thisform.clb_perioada.SetFocus() + Endif + + Use In crsraport + Endif + + ENDPROC + + PROCEDURE do_listare + Private pcTitlu + If Used('crsraport') + Use In crsraport + Endif + + This.do_cauta() + If Used('crsraport') + *!* modificare v 2.0.46 + *!* If Reccount('crsraport')>0 + *!* IF thisform.optiongroup1.Value=1 + *!* lcTitlu = [TOP VALORIC ] + *!* ELSE + *!* lcTitlu= [TOP CANTITATIV ] + *!* ENDIF + *!* lcTitlu = lcTitlu+Iif(!Empty(Nvl(poListare.grupa,[])),[ grupa ]+Alltrim(poListare.grupa),[]) + ; + *!* IIF(!Empty(Nvl(poListare.subgrupa,[])),[ subgrupa ] + Alltrim(poListare.subgrupa),[]) + *!* pcTitlu = ceretitlu_rap('Titlul Raportului',lcTitlu) + *!* pcDataora = get_ora(2) + *!* Thisform.AlwaysOnTop = .F. + *!* Local loExport + *!* loExport = Createobject("oExportConfig") + *!* loExport.listareUserReport("crsraport","FRX","raport_articole_transfer",1,"RAPORT") + *!* Release loExport + *!* *!* Keyboard "{ctrl+f10}" + *!* *!* Select crsraport + *!* *!* Report Form raport_articole To Printer Prompt Preview + *!* Thisform.AlwaysOnTop = .T. + *!* Else + *!* amessagebox("Nu exista rezultate pentru listare!",0+48,"Atentie") + *!* Thisform.clb_perioada.SetFocus() + *!* Endif + Thisform.AlwaysOnTop = .F. + If Thisform.optiongroup1.Value=1 + pcTitlu = [TOP VALORIC ] + Else + pcTitlu= [TOP CANTITATIV ] + Endif + pcTitlu = pcTitlu + Iif(!Empty(Nvl(poListare.grupa,[])),[ grupa ]+Alltrim(poListare.grupa),[]) + ; + IIF(!Empty(Nvl(poListare.subgrupa,[])),[ subgrupa ] + Alltrim(poListare.subgrupa),[]) + * goExport.export2frx("crsraport","raport_articole_transfer",.T.,1,"RAPORT") && , , , .T.) + goExport.export2frx("crsraport","raport_articole_transfer",.T.,1,"RAPORT", , , .T.) + Use In crsraport + Thisform.AlwaysOnTop = .T. + Thisform.clb_perioada.SetFocus() + *!* modificare v 2.0.46 ^ + EndIf + Release pcTitlu + ENDPROC + + PROCEDURE Clb_perioada.tx_n1.Valid + *!* + ENDPROC + +ENDDEFINE + +DEFINE CLASS frm_date_rapoarte_articole_v AS frm_termin OF "_frm_child.vcx" + *< CLASSDATA: Baseclass="form" Timestamp="" Scale="Pixels" Uniqueid="" /> + + *-- OBJECTDATA items order determines ZOrder / El orden de los items OBJECTDATA determina el ZOrder + *< OBJECTDATA: ObjPath="Ct_clb_raport" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="Ct_clb_raport.But_sterge1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="Clb_perioada" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="Ct_opt_articol" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="Ct_opt_client" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="Ct_selectie1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="Ct_selectie1.Ct_selectie_data_act" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="Ct_selectie1.Ct_selectie_categ_ent" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="Ct_selectie1.Ct_selectie_um" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="Ct_selectie1.Ct_selectie_denumire" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="Ct_selectie1.Ct_selectie_nume_client" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="Ct_selectie1.Ct_selectie_serie" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="Ct_selectie1.Ct_selectie_numar_act" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="Ct_selectie1.Ct_selectie_pret_achizitie" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="Ct_selectie1.Ct_selectie_pretv" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="Ct_selectie1.Ct_selectie_adaos" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="Ct_selectie1.Ct_selectie_procent_adaos" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="Ct_selectie1.Ct_selectie_valoare_achizitie" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="Ct_selectie1.Ct_selectie_valoare_adaos" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="Ct_opt_categorie" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="Ct_opt_grupa" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="Ct_opt_subgrupa" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="But_listare1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="But_excel1" UniqueID="" Timestamp="" /> + + * + *m: do_adauga_filtru + *m: do_cauta_articol + *m: do_cauta_categorie + *m: do_cauta_client + *m: do_cauta_grupa + *m: do_cauta_subgrupa + *p: cfiltruarticol + * + + * + BorderStyle = 1 + cfiltruarticol = + DoCreate = .T. + Height = 558 + Name = "frm_date_rapoarte_articole_v" + Width = 685 + _shape1.Anchor = 10 + _shape1.Height = 29 + _shape1.Left = 0 + _shape1.Name = "_shape1" + _shape1.Top = 0 + _shape1.Width = 684 + _shape2.Left = 608 + _shape2.Name = "_shape2" + _shape2.Top = 0 + Lb_titlu_alb_b121.Caption = "Articole vandute" + Lb_titlu_alb_b121.Name = "Lb_titlu_alb_b121" + BUT_TERMIN1.Anchor = 8 + BUT_TERMIN1.Left = 653 + BUT_TERMIN1.Name = "BUT_TERMIN1" + BUT_TERMIN1.Top = 1 + Gridsort1.Name = "Gridsort1" + * + + ADD OBJECT 'But_excel1' AS but_excel WITH ; + Anchor = 8, ; + Left = 590, ; + Name = "But_excel1", ; + TabIndex = 9, ; + Top = 1 + *< END OBJECT: ClassLib="cmd_butoane.vcx" BaseClass="commandbutton" /> + + ADD OBJECT 'But_listare1' AS but_listare WITH ; + Anchor = 8, ; + Left = 622, ; + Name = "But_listare1", ; + TabIndex = 10, ; + Top = 1 + *< END OBJECT: ClassLib="cmd_butoane.vcx" BaseClass="commandbutton" /> + + ADD OBJECT 'Clb_perioada' AS clb_n1n2_simplu WITH ; + Anchor = 8, ; + Left = 389, ; + Name = "Clb_perioada", ; + TabIndex = 3, ; + Top = 73, ; + tx_n1.ControlSource = "poListare.datai", ; + tx_n1.Left = 127, ; + tx_n1.Name = "tx_n1", ; + tx_n1.Top = 2, ; + Lb_simplu1.Caption = "Data factura", ; + Lb_simplu1.Name = "Lb_simplu1", ; + tx_n2.ControlSource = "poListare.dataf", ; + tx_n2.Name = "tx_n2" + *< END OBJECT: ClassLib="lb_tx.vcx" BaseClass="container" /> + + ADD OBJECT 'Ct_clb_raport' AS ct_clb_cautare WITH ; + Height = 31, ; + Left = 3, ; + Name = "Ct_clb_raport", ; + TabIndex = 1, ; + Top = 37, ; + Visible = .F., ; + Width = 396, ; + img_cautare.Height = 25, ; + img_cautare.Left = 321, ; + img_cautare.Name = "img_cautare", ; + img_cautare.Top = 3, ; + img_cautare.Width = 30, ; + clb_tx_cautare.Lb_simplu1.Caption = "Raport", ; + clb_tx_cautare.Lb_simplu1.Name = "Lb_simplu1", ; + clb_tx_cautare.Name = "clb_tx_cautare", ; + clb_tx_cautare.TabIndex = 1, ; + clb_tx_cautare.Text_simplu1.Height = 23, ; + clb_tx_cautare.Text_simplu1.Left = 71, ; + clb_tx_cautare.Text_simplu1.Name = "Text_simplu1", ; + clb_tx_cautare.Text_simplu1.Top = 3, ; + clb_tx_cautare.Text_simplu1.Width = 239 + *< END OBJECT: ClassLib="caut_ora.vcx" BaseClass="container" /> + + ADD OBJECT 'Ct_clb_raport.But_sterge1' AS but_sterge WITH ; + Height = 27, ; + Left = 361, ; + Name = "But_sterge1", ; + TabIndex = 2, ; + Top = 1, ; + Width = 30 + *< END OBJECT: ClassLib="cmd_butoane.vcx" BaseClass="commandbutton" /> + + ADD OBJECT 'Ct_opt_articol' AS ct_opt_cautare WITH ; + Anchor = 8, ; + cprocedura = thisform.do_cauta_articol, ; + cvarfiltru = thisform.cfiltruarticol, ; + cvar_afisata = poListare.denumire, ; + Left = 389, ; + Name = "Ct_opt_articol", ; + TabIndex = 6, ; + Top = 241, ; + opt_cautare.Name = "opt_cautare", ; + opt_cautare.OPTION1.Left = 5, ; + opt_cautare.OPTION1.Name = "OPTION1", ; + opt_cautare.OPTION1.Top = 5, ; + opt_cautare.OPTION2.Left = 5, ; + opt_cautare.OPTION2.Name = "OPTION2", ; + opt_cautare.OPTION2.Top = 24, ; + tx_cautare.Name = "tx_cautare", ; + lb_explicatie.Caption = "Articol", ; + lb_explicatie.Name = "lb_explicatie", ; + criteriu.Name = "criteriu" + *< END OBJECT: ClassLib="caut_ora.vcx" BaseClass="container" /> + + ADD OBJECT 'Ct_opt_categorie' AS ct_opt_cautare WITH ; + Anchor = 8, ; + cprocedura = thisform.do_cauta_categorie, ; + cvarfiltru = poListare.id_categorie_entitate, ; + cvar_afisata = poListare.categorie, ; + Left = 389, ; + Name = "Ct_opt_categorie", ; + TabIndex = 5, ; + Top = 171, ; + opt_cautare.Name = "opt_cautare", ; + opt_cautare.OPTION1.Left = 5, ; + opt_cautare.OPTION1.Name = "OPTION1", ; + opt_cautare.OPTION1.Top = 5, ; + opt_cautare.OPTION2.Left = 5, ; + opt_cautare.OPTION2.Name = "OPTION2", ; + opt_cautare.OPTION2.Top = 24, ; + tx_cautare.Name = "tx_cautare", ; + lb_explicatie.Caption = "Categorie entitate", ; + lb_explicatie.Name = "lb_explicatie", ; + criteriu.Name = "criteriu" + *< END OBJECT: ClassLib="caut_ora.vcx" BaseClass="container" /> + + ADD OBJECT 'Ct_opt_client' AS ct_opt_cautare WITH ; + Anchor = 8, ; + cprocedura = thisform.do_cauta_client, ; + cvarfiltru = poListare.id_client, ; + cvar_afisata = poListare.nume_client, ; + Left = 389, ; + Name = "Ct_opt_client", ; + TabIndex = 4, ; + Top = 101, ; + opt_cautare.Name = "opt_cautare", ; + opt_cautare.OPTION1.Left = 5, ; + opt_cautare.OPTION1.Name = "OPTION1", ; + opt_cautare.OPTION1.Top = 5, ; + opt_cautare.OPTION2.Left = 5, ; + opt_cautare.OPTION2.Name = "OPTION2", ; + opt_cautare.OPTION2.Top = 24, ; + tx_cautare.Name = "tx_cautare", ; + lb_explicatie.Caption = "Client", ; + lb_explicatie.Name = "lb_explicatie", ; + criteriu.Name = "criteriu" + *< END OBJECT: ClassLib="caut_ora.vcx" BaseClass="container" /> + + ADD OBJECT 'Ct_opt_grupa' AS ct_opt_cautare WITH ; + Anchor = 8, ; + cprocedura = thisform.do_cauta_grupa, ; + cvarfiltru = poListare.id_grupa, ; + cvar_afisata = poListare.grupa, ; + Left = 389, ; + Name = "Ct_opt_grupa", ; + TabIndex = 7, ; + Top = 311, ; + opt_cautare.Name = "opt_cautare", ; + opt_cautare.OPTION1.Left = 5, ; + opt_cautare.OPTION1.Name = "OPTION1", ; + opt_cautare.OPTION1.Top = 5, ; + opt_cautare.OPTION2.Left = 5, ; + opt_cautare.OPTION2.Name = "OPTION2", ; + opt_cautare.OPTION2.Top = 24, ; + tx_cautare.Name = "tx_cautare", ; + lb_explicatie.Caption = "Grupa de articole", ; + lb_explicatie.Name = "lb_explicatie", ; + criteriu.Name = "criteriu" + *< END OBJECT: ClassLib="caut_ora.vcx" BaseClass="container" /> + + ADD OBJECT 'Ct_opt_subgrupa' AS ct_opt_cautare WITH ; + Anchor = 8, ; + cprocedura = thisform.do_cauta_subgrupa, ; + cvarfiltru = poListare.id_subgrupa, ; + cvar_afisata = poListare.subgrupa, ; + Left = 389, ; + Name = "Ct_opt_subgrupa", ; + TabIndex = 8, ; + Top = 381, ; + opt_cautare.Name = "opt_cautare", ; + opt_cautare.OPTION1.Left = 5, ; + opt_cautare.OPTION1.Name = "OPTION1", ; + opt_cautare.OPTION1.Top = 5, ; + opt_cautare.OPTION2.Left = 5, ; + opt_cautare.OPTION2.Name = "OPTION2", ; + opt_cautare.OPTION2.Top = 24, ; + tx_cautare.Name = "tx_cautare", ; + lb_explicatie.Caption = "Subgrupa de articole", ; + lb_explicatie.Name = "lb_explicatie", ; + criteriu.Name = "criteriu" + *< END OBJECT: ClassLib="caut_ora.vcx" BaseClass="container" /> + + ADD OBJECT 'Ct_selectie1' AS ct_selectie WITH ; + Anchor = 15, ; + ccoloanesuma = cantitate,valoare_ftva,valoare, ; + clistacoloaneordine = 1,2, ; + cnumecoloanesuma = Cantitate,Valoare fara TVA, Valoare cu TVA, ; + cnumetabela = fact_vrap_articole_vandute, ; + Height = 479, ; + Left = 4, ; + Name = "Ct_selectie1", ; + TabIndex = 2, ; + Top = 73, ; + Width = 382, ; + Ct_grupare1.Anchor = 15, ; + Ct_grupare1.Height = 185, ; + Ct_grupare1.lblAtentie.Name = "lblAtentie", ; + Ct_grupare1.lb_grupare.Name = "lb_grupare", ; + Ct_grupare1.Left = 5, ; + Ct_grupare1.Name = "Ct_grupare1", ; + Ct_grupare1.TabIndex = 11, ; + Ct_grupare1.Top = 290, ; + Ct_grupare1.Width = 372, ; + Ct_grupare1._scrollcontainer1.But_jos1.Name = "But_jos1", ; + Ct_grupare1._scrollcontainer1.But_sus1.Name = "But_sus1", ; + Ct_grupare1._scrollcontainer1.Name = "_scrollcontainer1", ; + Ct_ordonare1.Anchor = 11, ; + Ct_ordonare1.Height = 215, ; + Ct_ordonare1.lb_ordonare.Name = "lb_ordonare", ; + Ct_ordonare1.Left = 5, ; + Ct_ordonare1.Name = "Ct_ordonare1", ; + Ct_ordonare1.TabIndex = 10, ; + Ct_ordonare1.Top = 76, ; + Ct_ordonare1.Width = 372, ; + Ct_ordonare1._scrollcontainer1.But_jos1.Name = "But_jos1", ; + Ct_ordonare1._scrollcontainer1.But_sus1.Name = "But_sus1", ; + Ct_ordonare1._scrollcontainer1.Name = "_scrollcontainer1", ; + lb_coloane.Left = 10, ; + lb_coloane.Name = "lb_coloane", ; + lb_coloane.TabIndex = 1, ; + lb_coloane.Top = 2 + *< END OBJECT: ClassLib="orapoarte.vcx" BaseClass="container" /> + + ADD OBJECT 'Ct_selectie1.Ct_selectie_adaos' AS ct_selectie_camp WITH ; + ccamp = adaos, ; + cnumecamp = Adaos, ; + Left = 248, ; + Name = "Ct_selectie_adaos", ; + nid_container = 10, ; + TabIndex = 8, ; + Top = 1, ; + ck_camp.Alignment = 0, ; + ck_camp.Name = "ck_camp" + *< END OBJECT: ClassLib="orapoarte.vcx" BaseClass="container" /> + + ADD OBJECT 'Ct_selectie1.Ct_selectie_categ_ent' AS ct_selectie_camp WITH ; + ccamp = categorie_entitate, ; + cnumecamp = Categorie, ; + Left = 4, ; + Name = "Ct_selectie_categ_ent", ; + nid_container = 4, ; + TabIndex = 6, ; + Top = 57, ; + ck_camp.Alignment = 0, ; + ck_camp.Name = "ck_camp" + *< END OBJECT: ClassLib="orapoarte.vcx" BaseClass="container" /> + + ADD OBJECT 'Ct_selectie1.Ct_selectie_data_act' AS ct_selectie_camp WITH ; + ccamp = data_act, ; + cnumecamp = Data factura, ; + Left = 4, ; + Name = "Ct_selectie_data_act", ; + nid_container = 1, ; + TabIndex = 2, ; + Top = 15, ; + ck_camp.Alignment = 0, ; + ck_camp.Name = "ck_camp" + *< END OBJECT: ClassLib="orapoarte.vcx" BaseClass="container" /> + + ADD OBJECT 'Ct_selectie1.Ct_selectie_denumire' AS ct_selectie_camp WITH ; + ccamp = denumire, ; + cnumecamp = Articol, ; + Left = 133, ; + Name = "Ct_selectie_denumire", ; + nid_container = 5, ; + TabIndex = 7, ; + Top = 1, ; + ck_camp.Alignment = 0, ; + ck_camp.Name = "ck_camp" + *< END OBJECT: ClassLib="orapoarte.vcx" BaseClass="container" /> + + ADD OBJECT 'Ct_selectie1.Ct_selectie_numar_act' AS ct_selectie_camp WITH ; + ccamp = numar_act, ; + cnumecamp = Nr.factura, ; + Left = 4, ; + Name = "Ct_selectie_numar_act", ; + nid_container = 2, ; + TabIndex = 3, ; + Top = 29, ; + ck_camp.Alignment = 0, ; + ck_camp.Name = "ck_camp" + *< END OBJECT: ClassLib="orapoarte.vcx" BaseClass="container" /> + + ADD OBJECT 'Ct_selectie1.Ct_selectie_nume_client' AS ct_selectie_camp WITH ; + ccamp = nume_client, ; + cnumecamp = Nume client, ; + Left = 4, ; + Name = "Ct_selectie_nume_client", ; + nid_container = 3, ; + TabIndex = 5, ; + Top = 43, ; + ck_camp.Alignment = 0, ; + ck_camp.Name = "ck_camp" + *< END OBJECT: ClassLib="orapoarte.vcx" BaseClass="container" /> + + ADD OBJECT 'Ct_selectie1.Ct_selectie_pret_achizitie' AS ct_selectie_camp WITH ; + ccamp = pret_achizitie, ; + cnumecamp = Pret achizitie, ; + Left = 133, ; + Name = "Ct_selectie_pret_achizitie", ; + nid_container = 8, ; + TabIndex = 8, ; + Top = 43, ; + ck_camp.Alignment = 0, ; + ck_camp.Name = "ck_camp" + *< END OBJECT: ClassLib="orapoarte.vcx" BaseClass="container" /> + + ADD OBJECT 'Ct_selectie1.Ct_selectie_pretv' AS ct_selectie_camp WITH ; + ccamp = pretv_ftva, ; + cnumecamp = Pret vanzare fara TVA, ; + Left = 133, ; + Name = "Ct_selectie_pretv", ; + nid_container = 9, ; + TabIndex = 8, ; + Top = 57, ; + ck_camp.Alignment = 0, ; + ck_camp.Name = "ck_camp" + *< END OBJECT: ClassLib="orapoarte.vcx" BaseClass="container" /> + + ADD OBJECT 'Ct_selectie1.Ct_selectie_procent_adaos' AS ct_selectie_camp WITH ; + ccamp = procent_adaos, ; + cnumecamp = Procent adaos, ; + Left = 248, ; + Name = "Ct_selectie_procent_adaos", ; + nid_container = 11, ; + TabIndex = 8, ; + Top = 15, ; + ck_camp.Alignment = 0, ; + ck_camp.Name = "ck_camp" + *< END OBJECT: ClassLib="orapoarte.vcx" BaseClass="container" /> + + ADD OBJECT 'Ct_selectie1.Ct_selectie_serie' AS ct_selectie_camp WITH ; + ccamp = serie, ; + cnumecamp = Serie, ; + Left = 133, ; + Name = "Ct_selectie_serie", ; + nid_container = 7, ; + TabIndex = 9, ; + Top = 29, ; + ck_camp.Alignment = 0, ; + ck_camp.Name = "ck_camp" + *< END OBJECT: ClassLib="orapoarte.vcx" BaseClass="container" /> + + ADD OBJECT 'Ct_selectie1.Ct_selectie_um' AS ct_selectie_camp WITH ; + ccamp = um, ; + cnumecamp = U.M., ; + Left = 133, ; + Name = "Ct_selectie_um", ; + nid_container = 6, ; + TabIndex = 8, ; + Top = 15, ; + ck_camp.Alignment = 0, ; + ck_camp.Name = "ck_camp" + *< END OBJECT: ClassLib="orapoarte.vcx" BaseClass="container" /> + + ADD OBJECT 'Ct_selectie1.Ct_selectie_valoare_achizitie' AS ct_selectie_camp WITH ; + ccamp = valoare_achizitie, ; + cnumecamp = Valoare achizitie, ; + Left = 248, ; + Name = "Ct_selectie_valoare_achizitie", ; + nid_container = 12, ; + TabIndex = 8, ; + Top = 29, ; + ck_camp.Alignment = 0, ; + ck_camp.Name = "ck_camp" + *< END OBJECT: ClassLib="orapoarte.vcx" BaseClass="container" /> + + ADD OBJECT 'Ct_selectie1.Ct_selectie_valoare_adaos' AS ct_selectie_camp WITH ; + ccamp = valoare_adaos, ; + cnumecamp = Valoare adaos, ; + Left = 248, ; + Name = "Ct_selectie_valoare_adaos", ; + nid_container = 14, ; + TabIndex = 8, ; + Top = 43, ; + ck_camp.Alignment = 0, ; + ck_camp.Name = "ck_camp" + *< END OBJECT: ClassLib="orapoarte.vcx" BaseClass="container" /> + + PROCEDURE do_adauga_filtru + Lparameters lcSql + lcFiltru = [WHERE DATA_ACT BETWEEN ?poListare.datai AND ?poListare.dataf] + gcCondSucursala + If !Empty(Nvl(poListare.id_client,0)) + lcFiltru = lcFiltru + [ AND id_part = ?poListare.id_client] + Endif + + If !Empty(Nvl(Thisform.cfiltruarticol,[])) + lcFiltru = lcFiltru + Thisform.cfiltruarticol + Endif + + *!* IF !EMPTY(NVL(poListare.id_articol,0)) + *!* lcFiltru = lcFiltru + [ AND id_articol = ?poListare.id_articol] + *!* ENDIF + + If !Empty(Nvl(poListare.id_categorie_entitate,0)) + lcFiltru = lcFiltru + [ AND id_categorie_entitate = ?poListare.id_categorie_entitate] + Endif + + If !Empty(Nvl(poListare.id_grupa,0)) + lcFiltru = lcFiltru + [ AND id_grupa = ?poListare.id_grupa] + Endif + + If !Empty(Nvl(poListare.id_subgrupa,0)) + lcFiltru = lcFiltru + [ AND id_subgrupa = ?poListare.id_subgrupa] + Endif + + poListare.csql = Strtran(lcSql,[WHERE 1=2],lcFiltru) + + ENDPROC + + PROCEDURE do_cauta + lccontrol = Upper(This.ActiveControl.BaseClass ) + If Inlist(lccontrol,"TEXTBOX","EDITBOX","COMBOBOX") + lcval=This.ActiveControl.ControlSource + &lcval=Thisform.ActiveControl.Value + Endif + + Do Case + Case Empty(Nvl(poListare.datai,{})) + amessagebox("Nu ati completat data initiala!",0+48,"Atentie") + Thisform.clb_perioada.tx_n1.SetFocus() + Return + Case Empty(Nvl(poListare.dataf,{})) + amessagebox("Nu ati completat data finala!",0+48,"Atentie") + Thisform.clb_perioada.tx_n2.SetFocus() + Return + Case Empty(Nvl(poListare.data_referinta,{})) + amessagebox("Nu ati completat data de referinta!",0+48,"Atentie") + Thisform.clb_data_referinta.SetFocus() + Return + Otherwise + SET STEP ON + With This.ct_selectie1 + .do_instructiune_sql() + lcSql = .csql + Endwith + If Empty(lcSql) + amessagebox("Nu ati ales coloane pentru selectie!",0+48,"Atentie") + Thisform.ct_selectie1.SetFocus() + Return + Else + This.do_adauga_filtru(lcSql) + Endif + Endcase + + lnSucces = goExecutor.oExecute(poListare.csql,'crsraport') + If lnSucces < 0 + amessagebox(goExecutor.oPrelucrareEroare(),16,"Eroare") + Endif + ENDPROC + + PROCEDURE do_cauta_articol + Private pcValoare1, pcValoare2, pcIntre, pnCriteriu, pnCriteriu2, pcFiltru, pcFiltruVFP && variabile pe care le completeaza forma frm_filtru_text + pcValoare1 = [] + pcValoare2 = [] + pnCriteriu = 1 + pnCriteriu2 = 1 + pcIntre = [] + pcFiltru = [] + pcFiltruVFP = [] + lcExplicatie = [Articol] + + Do Form frm_filtru_text With [denumire],lcExplicatie,1,1 To lcFiltru + + If Empty(lcFiltru) + Thisform.cfiltruarticol = [] + Thisform.ct_opt_articol.opt_cautare.Value = 1 + Thisform.ct_opt_articol.do_reset() + Else + Thisform.cfiltruarticol = lcFiltru + lcTraducere = [] + && TRADUCERE + lcCriteriu = [ ] + lcCriteriu2 = [ ] + lcCIntre = [] + Do Case + Case pnCriteriu= 1 + lcCriteriu = 'incepe cu... ' + Case pnCriteriu= 2 + lcCriteriu = 'este... ' + Case pnCriteriu= 3 + lcCriteriu = 'nu este... ' + Case pnCriteriu= 4 + lcCriteriu = 'contine... ' + Case pnCriteriu= 5 + lcCriteriu = 'nu contine... ' + Case pnCriteriu= 6 + lcCriteriu = 'nu are valori ' + Case pnCriteriu= 7 + lcCriteriu = 'are valori ' + Endcase + + Do Case + Case pnCriteriu2= 1 + lcCriteriu2 = 'incepe cu... ' + Case pnCriteriu2= 2 + lcCriteriu2 = 'este... ' + Case pnCriteriu2= 3 + lcCriteriu2 = 'nu este... ' + Case pnCriteriu2= 4 + lcCriteriu2 = 'contine... ' + Case pnCriteriu2= 5 + lcCriteriu2 = 'nu contine... ' + Case lnCriteriu2 = 6 + lcCriteriu2 = 'nu are valori ' + Case pnCriteriu2= 7 + lcCriteriu2 = 'are valori ' + Endcase + + Do Case + Case Alltrim(Upper(pcIntre)) = 'OR' + lcCIntre = 'SAU' + Case Alltrim(Upper(pcIntre)) = 'AND' + lcCIntre = 'SI' + Endcase + + If !Empty(pcIntre) + lcTraducere = lcCriteriu + ['] + pcValoare1+ [' ] + lcCIntre + " " + lcCriteriu2 + ['] + pcValoare2 + ['] + Else + lcTraducere = lcCriteriu + ['] + pcValoare1+ ['] + Endif + + poListare.denumire = lcTraducere + Endif + + Thisform.ct_opt_articol.Refresh() + Thisform.ct_opt_grupa.SetFocus() + + *!* locauta=caut_articol() + *!* If !Empty(locauta.id_articol) + *!* poListare.denumire = Alltrim(locauta.denumire) + *!* poListare.id_articol = locauta.id_articol + + *!* Thisform.ct_opt_articol.Refresh() + *!* thisform.ct_opt_grupa.SetFocus() + *!* Else + *!* If Empty(Nvl(poListare.denumire,[])) + *!* Thisform.ct_opt_articol.opt_cautare.Value = 1 + *!* Endif + *!* Thisform.ct_opt_articol.SetFocus() + *!* Endif + + ENDPROC + + PROCEDURE do_cauta_categorie + locauta=caut_categorie_entitate() + If !Empty(locauta.id_categorie_entitate) + poListare.categorie = Alltrim(locauta.categorie_entitate) + poListare.id_categorie_entitate = locauta.id_categorie_entitate + + Thisform.ct_opt_categorie.Refresh() + Thisform.ct_opt_articol.SetFocus() + Else + If Empty(Nvl(poListare.categorie,[])) + Thisform.ct_opt_categorie.opt_cautare.Value = 1 + Endif + Thisform.ct_opt_categorie.SetFocus() + Endif + + ENDPROC + + PROCEDURE do_cauta_client + Private pnIdPart,pcNumePart + Store 0 To pnIdPart + Store "" To pcNumePart + If cauta_client(@pnIdPart,@pcNumePart) + poListare.id_client = pnIdPart + poListare.nume_client = pcNumePart + + Thisform.ct_opt_client.Refresh() + thisform.ct_opt_categorie.SetFocus() + Else + If Empty(Nvl(poListare.nume_client,[])) + Thisform.ct_opt_client.opt_cautare.Value=1 + Endif + Thisform.ct_opt_client.SetFocus() + Endif + + ENDPROC + + PROCEDURE do_cauta_grupa + locauta=caut_grupa_articole() + If !Empty(locauta.id_grupa) + poListare.grupa = Alltrim(locauta.grupa) + poListare.id_grupa = locauta.id_grupa + + Thisform.ct_opt_grupa.Refresh() + Else + If Empty(Nvl(poListare.grupa,[])) + Thisform.ct_opt_grupa.opt_cautare.Value = 1 + Endif + Thisform.ct_opt_grupa.SetFocus() + Endif + ENDPROC + + PROCEDURE do_cauta_subgrupa + locauta=caut_subgrupa_articole() + If !Empty(locauta.id_subgrupa) + poListare.subgrupa = Alltrim(locauta.subgrupa) + poListare.id_subgrupa = locauta.id_subgrupa + + Thisform.ct_opt_subgrupa.Refresh() + Thisform.but_listare1.SetFocus() + Else + If Empty(Nvl(poListare.subgrupa,[])) + Thisform.ct_opt_subgrupa.opt_cautare.Value = 1 + Endif + Thisform.ct_opt_subgrupa.SetFocus() + Endif + + ENDPROC + + PROCEDURE do_excel + If Used('crsraport') + Use In crsraport + Endif + + This.do_cauta() + If Used('crsraport') + If Reccount('crsraport')<>0 + If Used('crsexportexcel') + Use In crsexportexcel + Endif + Dimension aColoane[1] + lcSelect = [SELECT Iif(gid<>0,'TOTAL',Space(5)) As explicatie] + Afields(aColoane,'crsraport') + For i = 1 To Alen(aColoane,1) + If Upper(Alltrim(aColoane[i,1])) <> 'GID' + lcNumeColoana = Upper(Alltrim(aColoane[i,1])) + lcSelect = lcSelect + [,] + Iif(aColoane[i,2] = 'T', [TTOD(] + lcNumeColoana + [) as ] + ; + lcNumeColoana, lcNumeColoana) + Endif + Endfor + lcSelect = lcSelect + [ From crsraport Into Cursor crsexportexcel] + &lcSelect + + export_xls('crsexportexcel') + Use In crsexportexcel + Else + amessagebox("Nu exista rezultate pentru export in Excel!",0+48,"Atentie") + Thisform.clb_perioada.SetFocus() + Endif + + Use In crsraport + Endif + + ENDPROC + + PROCEDURE do_listare + Private pcTitlu + If Used('crsraport') + Use In crsraport + Endif + + This.do_cauta() + If Used('crsraport') + *!* If Reccount('crsraport')>0 + *!* lcTitlu = [Raport articole]+Iif(!Empty(Nvl(poListare.grupa,[])),[ grupa ]+Alltrim(poListare.grupa),[]) + ; + *!* IIF(!Empty(Nvl(poListare.subgrupa,[])),[ subgrupa ] + Alltrim(poListare.subgrupa),[]) + *!* pcTitlu = ceretitlu_rap('Titlul Raportului',lcTitlu) + *!* pcDataora = get_ora(2) + + *!* Thisform.AlwaysOnTop = .F. + *!* Local loExport + *!* loExport = Createobject("oExportConfig") + *!* loExport.listareUserReport("crsraport","FRX","raport_articole",1,"RAPORT") + *!* Release loExport + *!* *!* Keyboard "{ctrl+f10}" + *!* *!* Select crsraport + *!* *!* Report Form raport_articole To Printer Prompt Preview + *!* Thisform.AlwaysOnTop = .T. + *!* Else + *!* amessagebox("Nu exista rezultate pentru listare!",0+48,"Atentie") + *!* Thisform.clb_perioada.SetFocus() + *!* Endif + pcTitlu = [Raport articole]+Iif(!Empty(Nvl(poListare.grupa,[])),[ grupa ]+Alltrim(poListare.grupa),[]) + ; + IIF(!Empty(Nvl(poListare.subgrupa,[])),[ subgrupa ] + Alltrim(poListare.subgrupa),[]) + Thisform.AlwaysOnTop = .F. + *goExport.export2frx("crsraport","raport_articole",.T.,1,"RAPORT") && , , , .T.) + goExport.export2frx("crsraport","raport_articole",.T.,1,"RAPORT", , , .T.) + Thisform.clb_perioada.SetFocus() + Thisform.AlwaysOnTop = .T. + Use In crsraport + EndIf + Release pcTitlu + ENDPROC + + PROCEDURE Clb_perioada.tx_n1.Valid + *!* + ENDPROC + +ENDDEFINE + +DEFINE CLASS frm_date_rapoarte_avize AS _frmbase OF "_frm_base.vcx" + *< CLASSDATA: Baseclass="form" Timestamp="" Scale="Pixels" Uniqueid="" /> + + *-- OBJECTDATA items order determines ZOrder / El orden de los items OBJECTDATA determina el ZOrder + *< OBJECTDATA: ObjPath="But_salveaza1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="Ct_clb_raport" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="Ct_clb_raport.But_sterge1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="Clb_perioada" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="Ct_opt_agent" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="Ct_opt_masina" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="Ct_opt_delegat" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="Ct_opt_client" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="Ct_selectie1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="Ct_selectie1.Ct_selectie_nract" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="Ct_selectie1.Ct_selectie_nume_agent" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="Ct_selectie1.Ct_selectie_nume_delegat" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="Ct_selectie1.Ct_selectie_nrinmat" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="Ct_selectie1.Ct_selectie_nume_client" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="Ct_selectie1.Ct_selectie_dataact" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="Ct_selectie1.Ct_selectie_categorie" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="But_listare1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="But_excel1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="Ct_opt_categorie" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="opt_tip_aviz" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="opt_fact_nefact" UniqueID="" Timestamp="" /> + + * + *m: do_adauga_filtru + *m: do_cauta_agent + *m: do_cauta_categorie + *m: do_cauta_client + *m: do_cauta_delegat + *m: do_cauta_masina + *p: ctitluraport + * + + * + ctitluraport = + DoCreate = .T. + Height = 520 + Name = "frm_date_rapoarte_avize" + Width = 696 + _shape1.Height = 29 + _shape1.Left = 0 + _shape1.Name = "_shape1" + _shape1.Top = 0 + _shape1.Width = 696 + _shape2.Height = 29 + _shape2.Left = 604 + _shape2.Name = "_shape2" + _shape2.Top = 0 + _shape2.Width = 90 + Lb_titlu_alb_b121.Caption = "AVIZE" + Lb_titlu_alb_b121.FontBold = .T. + Lb_titlu_alb_b121.Name = "Lb_titlu_alb_b121" + Lb_titlu_alb_b121.TabIndex = 14 + BUT_TERMIN1.Left = 666 + BUT_TERMIN1.Name = "BUT_TERMIN1" + BUT_TERMIN1.TabIndex = 13 + BUT_TERMIN1.Top = 1 + GRIDSORT1.Left = 480 + GRIDSORT1.Name = "GRIDSORT1" + GRIDSORT1.Top = 36 + * + + ADD OBJECT 'But_excel1' AS but_excel WITH ; + Left = 605, ; + Name = "But_excel1", ; + TabIndex = 15, ; + Top = 1 + *< END OBJECT: ClassLib="cmd_butoane.vcx" BaseClass="commandbutton" /> + + ADD OBJECT 'But_listare1' AS but_listare WITH ; + Left = 636, ; + Name = "But_listare1", ; + TabIndex = 12, ; + Top = 1 + *< END OBJECT: ClassLib="cmd_butoane.vcx" BaseClass="commandbutton" /> + + ADD OBJECT 'But_salveaza1' AS but_salveaza WITH ; + Left = 528, ; + Name = "But_salveaza1", ; + TabIndex = 11, ; + Top = 0, ; + Visible = .F. + *< END OBJECT: ClassLib="cmd_butoane.vcx" BaseClass="commandbutton" /> + + ADD OBJECT 'Clb_perioada' AS clb_n1n2_simplu WITH ; + Left = 383, ; + Name = "Clb_perioada", ; + TabIndex = 3, ; + Top = 72, ; + tx_n1.ControlSource = "poListare.datai", ; + tx_n1.Left = 127, ; + tx_n1.Name = "tx_n1", ; + tx_n1.Top = 2, ; + Lb_simplu1.Caption = "Data aviz", ; + Lb_simplu1.Name = "Lb_simplu1", ; + tx_n2.ControlSource = "poListare.dataf", ; + tx_n2.Name = "tx_n2" + *< END OBJECT: ClassLib="lb_tx.vcx" BaseClass="container" /> + + ADD OBJECT 'Ct_clb_raport' AS ct_clb_cautare WITH ; + Height = 31, ; + Left = 23, ; + Name = "Ct_clb_raport", ; + TabIndex = 1, ; + Top = 36, ; + Visible = .F., ; + Width = 396, ; + img_cautare.Height = 25, ; + img_cautare.Left = 321, ; + img_cautare.Name = "img_cautare", ; + img_cautare.Top = 3, ; + img_cautare.Width = 30, ; + clb_tx_cautare.Lb_simplu1.Caption = "Raport", ; + clb_tx_cautare.Lb_simplu1.Name = "Lb_simplu1", ; + clb_tx_cautare.Name = "clb_tx_cautare", ; + clb_tx_cautare.TabIndex = 1, ; + clb_tx_cautare.Text_simplu1.Height = 23, ; + clb_tx_cautare.Text_simplu1.Left = 71, ; + clb_tx_cautare.Text_simplu1.Name = "Text_simplu1", ; + clb_tx_cautare.Text_simplu1.Top = 3, ; + clb_tx_cautare.Text_simplu1.Width = 239 + *< END OBJECT: ClassLib="caut_ora.vcx" BaseClass="container" /> + + ADD OBJECT 'Ct_clb_raport.But_sterge1' AS but_sterge WITH ; + Height = 27, ; + Left = 361, ; + Name = "But_sterge1", ; + TabIndex = 2, ; + Top = 1, ; + Width = 30 + *< END OBJECT: ClassLib="cmd_butoane.vcx" BaseClass="commandbutton" /> + + ADD OBJECT 'Ct_opt_agent' AS ct_opt_cautare WITH ; + cprocedura = thisform.do_cauta_agent, ; + cvarfiltru = poListare.id_agent, ; + cvar_afisata = poListare.nume_agent, ; + Left = 383, ; + Name = "Ct_opt_agent", ; + TabIndex = 5, ; + Top = 170, ; + opt_cautare.Name = "opt_cautare", ; + opt_cautare.OPTION1.Left = 5, ; + opt_cautare.OPTION1.Name = "OPTION1", ; + opt_cautare.OPTION1.Top = 5, ; + opt_cautare.OPTION2.Left = 5, ; + opt_cautare.OPTION2.Name = "OPTION2", ; + opt_cautare.OPTION2.Top = 24, ; + tx_cautare.Name = "tx_cautare", ; + lb_explicatie.Caption = "Agent", ; + lb_explicatie.Name = "lb_explicatie", ; + criteriu.Name = "criteriu" + *< END OBJECT: ClassLib="caut_ora.vcx" BaseClass="container" /> + + ADD OBJECT 'Ct_opt_categorie' AS ct_opt_cautare WITH ; + cprocedura = thisform.do_cauta_categorie, ; + cvarfiltru = poListare.id_categorie_entitate, ; + cvar_afisata = poListare.categorie, ; + Left = 383, ; + Name = "Ct_opt_categorie", ; + TabIndex = 8, ; + Top = 380, ; + opt_cautare.Name = "opt_cautare", ; + opt_cautare.OPTION1.Left = 5, ; + opt_cautare.OPTION1.Name = "OPTION1", ; + opt_cautare.OPTION1.Top = 5, ; + opt_cautare.OPTION2.Left = 5, ; + opt_cautare.OPTION2.Name = "OPTION2", ; + opt_cautare.OPTION2.Top = 24, ; + tx_cautare.Name = "tx_cautare", ; + lb_explicatie.Caption = "Categorie entitate", ; + lb_explicatie.Name = "lb_explicatie", ; + criteriu.Name = "criteriu" + *< END OBJECT: ClassLib="caut_ora.vcx" BaseClass="container" /> + + ADD OBJECT 'Ct_opt_client' AS ct_opt_cautare WITH ; + cprocedura = thisform.do_cauta_client, ; + cvarfiltru = poListare.id_client, ; + cvar_afisata = poListare.nume_client, ; + Left = 383, ; + Name = "Ct_opt_client", ; + TabIndex = 4, ; + Top = 100, ; + opt_cautare.Name = "opt_cautare", ; + opt_cautare.OPTION1.Left = 5, ; + opt_cautare.OPTION1.Name = "OPTION1", ; + opt_cautare.OPTION1.Top = 5, ; + opt_cautare.OPTION2.Left = 5, ; + opt_cautare.OPTION2.Name = "OPTION2", ; + opt_cautare.OPTION2.Top = 24, ; + tx_cautare.Name = "tx_cautare", ; + lb_explicatie.Caption = "Client", ; + lb_explicatie.Name = "lb_explicatie", ; + criteriu.Name = "criteriu" + *< END OBJECT: ClassLib="caut_ora.vcx" BaseClass="container" /> + + ADD OBJECT 'Ct_opt_delegat' AS ct_opt_cautare WITH ; + cprocedura = thisform.do_cauta_delegat, ; + cvarfiltru = poListare.id_delegat, ; + cvar_afisata = poListare.nume_delegat, ; + Left = 383, ; + Name = "Ct_opt_delegat", ; + TabIndex = 6, ; + Top = 240, ; + opt_cautare.Name = "opt_cautare", ; + opt_cautare.OPTION1.Left = 5, ; + opt_cautare.OPTION1.Name = "OPTION1", ; + opt_cautare.OPTION1.Top = 5, ; + opt_cautare.OPTION2.Left = 5, ; + opt_cautare.OPTION2.Name = "OPTION2", ; + opt_cautare.OPTION2.Top = 24, ; + tx_cautare.Name = "tx_cautare", ; + lb_explicatie.Caption = "Delegat", ; + lb_explicatie.Name = "lb_explicatie", ; + criteriu.Name = "criteriu" + *< END OBJECT: ClassLib="caut_ora.vcx" BaseClass="container" /> + + ADD OBJECT 'Ct_opt_masina' AS ct_opt_cautare WITH ; + cprocedura = thisform.do_cauta_masina, ; + cvarfiltru = poListare.id_masina, ; + cvar_afisata = poListare.nrinmat, ; + Left = 383, ; + Name = "Ct_opt_masina", ; + TabIndex = 7, ; + Top = 310, ; + opt_cautare.Name = "opt_cautare", ; + opt_cautare.OPTION1.Left = 5, ; + opt_cautare.OPTION1.Name = "OPTION1", ; + opt_cautare.OPTION1.Top = 5, ; + opt_cautare.OPTION2.Left = 5, ; + opt_cautare.OPTION2.Name = "OPTION2", ; + opt_cautare.OPTION2.Top = 24, ; + tx_cautare.Name = "tx_cautare", ; + lb_explicatie.Caption = "Masina", ; + lb_explicatie.Name = "lb_explicatie", ; + criteriu.Name = "criteriu" + *< END OBJECT: ClassLib="caut_ora.vcx" BaseClass="container" /> + + ADD OBJECT 'Ct_selectie1' AS ct_selectie WITH ; + ccoloanesuma = avizat,facturat, ; + clistacoloaneordine = 1, ; + cnumecoloanesuma = Valoare avizata,Valoare facturata, ; + cnumetabela = fact_vrap_avize_fact, ; + Height = 408, ; + Left = 24, ; + Name = "Ct_selectie1", ; + TabIndex = 2, ; + Top = 72, ; + Width = 332, ; + Ct_grupare1.lblAtentie.Name = "lblAtentie", ; + Ct_grupare1.lb_grupare.Name = "lb_grupare", ; + Ct_grupare1.Left = 5, ; + Ct_grupare1.Name = "Ct_grupare1", ; + Ct_grupare1.TabIndex = 10, ; + Ct_grupare1.Top = 263, ; + Ct_grupare1._scrollcontainer1.But_jos1.Name = "But_jos1", ; + Ct_grupare1._scrollcontainer1.But_sus1.Name = "But_sus1", ; + Ct_grupare1._scrollcontainer1.Name = "_scrollcontainer1", ; + Ct_ordonare1.Height = 169, ; + Ct_ordonare1.lb_ordonare.Name = "lb_ordonare", ; + Ct_ordonare1.Left = 5, ; + Ct_ordonare1.Name = "Ct_ordonare1", ; + Ct_ordonare1.TabIndex = 9, ; + Ct_ordonare1.Top = 95, ; + Ct_ordonare1.Width = 320, ; + Ct_ordonare1._scrollcontainer1.But_jos1.Name = "But_jos1", ; + Ct_ordonare1._scrollcontainer1.But_sus1.Name = "But_sus1", ; + Ct_ordonare1._scrollcontainer1.Name = "_scrollcontainer1", ; + lb_coloane.Name = "lb_coloane", ; + lb_coloane.TabIndex = 1 + *< END OBJECT: ClassLib="orapoarte.vcx" BaseClass="container" /> + + ADD OBJECT 'Ct_selectie1.Ct_selectie_categorie' AS ct_selectie_camp WITH ; + ccamp = categorie_entitate, ; + cnumecamp = Categorie, ; + Left = 180, ; + Name = "Ct_selectie_categorie", ; + TabIndex = 8, ; + Top = 51, ; + ck_camp.Alignment = 0, ; + ck_camp.Name = "ck_camp" + *< END OBJECT: ClassLib="orapoarte.vcx" BaseClass="container" /> + + ADD OBJECT 'Ct_selectie1.Ct_selectie_dataact' AS ct_selectie_camp WITH ; + ccamp = dataact, ; + cnumecamp = Data aviz, ; + Left = 17, ; + Name = "Ct_selectie_dataact", ; + nid_container = 2, ; + TabIndex = 3, ; + Top = 36, ; + ck_camp.Alignment = 0, ; + ck_camp.Name = "ck_camp" + *< END OBJECT: ClassLib="orapoarte.vcx" BaseClass="container" /> + + ADD OBJECT 'Ct_selectie1.Ct_selectie_nract' AS ct_selectie_camp WITH ; + ccamp = nract, ; + cnumecamp = Nr. aviz, ; + Left = 17, ; + lgrupare = .F., ; + Name = "Ct_selectie_nract", ; + nid_container = 1, ; + TabIndex = 2, ; + Top = 22, ; + ck_camp.Alignment = 0, ; + ck_camp.Name = "ck_camp" + *< END OBJECT: ClassLib="orapoarte.vcx" BaseClass="container" /> + + ADD OBJECT 'Ct_selectie1.Ct_selectie_nrinmat' AS ct_selectie_camp WITH ; + ccamp = nrinmat, ; + cnumecamp = Masina, ; + Left = 180, ; + Name = "Ct_selectie_nrinmat", ; + TabIndex = 7, ; + Top = 36, ; + ck_camp.Alignment = 0, ; + ck_camp.Name = "ck_camp" + *< END OBJECT: ClassLib="orapoarte.vcx" BaseClass="container" /> + + ADD OBJECT 'Ct_selectie1.Ct_selectie_nume_agent' AS ct_selectie_camp WITH ; + ccamp = nume_agent, ; + cnumecamp = Agent, ; + Left = 17, ; + Name = "Ct_selectie_nume_agent", ; + nid_container = 5, ; + TabIndex = 5, ; + Top = 65, ; + ck_camp.Alignment = 0, ; + ck_camp.Name = "ck_camp" + *< END OBJECT: ClassLib="orapoarte.vcx" BaseClass="container" /> + + ADD OBJECT 'Ct_selectie1.Ct_selectie_nume_client' AS ct_selectie_camp WITH ; + ccamp = nume_client, ; + cnumecamp = Client, ; + Left = 17, ; + Name = "Ct_selectie_nume_client", ; + nid_container = 4, ; + TabIndex = 4, ; + Top = 51, ; + ck_camp.Alignment = 0, ; + ck_camp.Name = "ck_camp" + *< END OBJECT: ClassLib="orapoarte.vcx" BaseClass="container" /> + + ADD OBJECT 'Ct_selectie1.Ct_selectie_nume_delegat' AS ct_selectie_camp WITH ; + ccamp = nume_delegat, ; + cnumecamp = Delegat, ; + Left = 180, ; + Name = "Ct_selectie_nume_delegat", ; + TabIndex = 6, ; + Top = 22, ; + ck_camp.Alignment = 0, ; + ck_camp.Name = "ck_camp" + *< END OBJECT: ClassLib="orapoarte.vcx" BaseClass="container" /> + + ADD OBJECT 'opt_fact_nefact' AS _optiongrup WITH ; + AutoSize = .F., ; + ButtonCount = 3, ; + Height = 27, ; + Left = 374, ; + Name = "opt_fact_nefact", ; + TabIndex = 10, ; + Top = 476, ; + Value = 1, ; + Width = 314, ; + OPTION1.AutoSize = .T., ; + OPTION1.Caption = "Toate", ; + OPTION1.Left = 5, ; + OPTION1.Name = "OPTION1", ; + OPTION1.Top = 5, ; + OPTION1.Value = 1, ; + OPTION2.AutoSize = .T., ; + OPTION2.Caption = "Facturate", ; + OPTION2.Left = 62, ; + OPTION2.Name = "OPTION2", ; + OPTION2.Top = 5, ; + OPTION2.Value = 0, ; + Option3.AutoSize = .T., ; + Option3.BackStyle = 0, ; + Option3.Caption = "Nefacturate", ; + Option3.Height = 17, ; + Option3.Left = 191, ; + Option3.Name = "Option3", ; + Option3.Top = 5, ; + Option3.Width = 81 + *< END OBJECT: ClassLib="_baza.vcx" BaseClass="optiongroup" /> + + ADD OBJECT 'opt_tip_aviz' AS _optiongrup WITH ; + ButtonCount = 3, ; + Height = 27, ; + Left = 374, ; + Name = "opt_tip_aviz", ; + TabIndex = 9, ; + Top = 451, ; + Value = 1, ; + Width = 314, ; + OPTION1.AutoSize = .T., ; + OPTION1.Caption = "Toate", ; + OPTION1.Left = 5, ; + OPTION1.Name = "OPTION1", ; + OPTION1.Top = 5, ; + OPTION1.Value = 1, ; + OPTION2.AutoSize = .T., ; + OPTION2.Caption = "Doar avize de retur", ; + OPTION2.Left = 62, ; + OPTION2.Name = "OPTION2", ; + OPTION2.Top = 5, ; + OPTION2.Value = 0, ; + Option3.AutoSize = .T., ; + Option3.BackStyle = 0, ; + Option3.Caption = "Fara avize de retur", ; + Option3.Height = 17, ; + Option3.Left = 191, ; + Option3.Name = "Option3", ; + Option3.Top = 5, ; + Option3.Width = 118 + *< END OBJECT: ClassLib="_baza.vcx" BaseClass="optiongroup" /> + + PROCEDURE do_adauga_filtru + Lparameters lcSql + lcFiltru = [WHERE DATAACT BETWEEN ?poListare.datai AND ?poListare.dataf] + gcCondSucursala + + If !Empty(Nvl(poListare.id_client,0)) + lcFiltru = lcFiltru + [ AND id_part = ?poListare.id_client] + Endif + + If !Empty(Nvl(poListare.id_agent,0)) + lcFiltru = lcFiltru + [ AND id_agent = ?poListare.id_agent] + Endif + + If !Empty(Nvl(poListare.id_delegat,0)) + lcFiltru = lcFiltru + [ AND id_delegat = ?poListare.id_delegat] + Endif + + If !Empty(Nvl(poListare.id_masina,0)) + lcFiltru = lcFiltru + [ AND id_masina = ?poListare.id_masina] + Endif + + If !Empty(Nvl(poListare.id_categorie_entitate,0)) + lcFiltru = lcFiltru + [ AND id_categorie_entitate = ?poListare.id_categorie_entitate] + Endif + + lnTipAviz = This.opt_tip_aviz.Value + This.ctitluraport = [AVIZE] + Do Case + Case lnTipAviz = 2 + This.ctitluraport = [AVIZE DE RETUR] + lcFiltru = lcFiltru + [ AND avizat < 0 ] + Case lnTipAviz = 3 + This.ctitluraport = [AVIZE (FARA CELE DE RETUR)] + lcFiltru = lcFiltru + [ AND avizat > 0 ] + Endcase + + lnFactNefact = This.opt_fact_nefact.Value + Do Case + Case lnFactNefact = 2 + This.ctitluraport = This.ctitluraport + [ FACTURATE] + lcFiltru = lcFiltru + [ AND avizat = facturat] + Case lnFactNefact = 3 + This.ctitluraport = This.ctitluraport + [ NEFACTURATE] + lcFiltru = lcFiltru + [ AND avizat > facturat ] + Endcase + + poListare.csql = Strtran(lcSql,[WHERE 1=2],lcFiltru) + + ENDPROC + + PROCEDURE do_cauta + lccontrol = Upper(This.ActiveControl.BaseClass ) + If Inlist(lccontrol,"TEXTBOX","EDITBOX","COMBOBOX") + lcval=This.ActiveControl.ControlSource + &lcval=Thisform.ActiveControl.Value + Endif + + Do Case + Case Empty(Nvl(poListare.datai,{})) + amessagebox("Nu ati completat data initiala!",0+48,"Atentie") + Thisform.clb_perioada.tx_n1.SetFocus() + Return + Case Empty(Nvl(poListare.dataf,{})) + amessagebox("Nu ati completat data finala!",0+48,"Atentie") + Thisform.clb_perioada.tx_n2.SetFocus() + Return + Case Empty(Nvl(poListare.data_referinta,{})) + amessagebox("Nu ati completat data de referinta!",0+48,"Atentie") + Thisform.clb_data_referinta.SetFocus() + Return + Otherwise + With This.ct_selectie1 + .do_instructiune_sql() + lcSql = .csql + Endwith + If Empty(lcSql) + amessagebox("Nu ati ales coloane pentru selectie!",0+48,"Atentie") + Thisform.ct_selectie1.SetFocus() + Return + Else + This.do_adauga_filtru(lcSql) + Endif + Endcase + + lnSucces = goExecutor.oExecute(poListare.csql,'crsraport') + If lnSucces < 0 + amessagebox(goExecutor.oPrelucrareEroare(),16,"Eroare") + Endif + ENDPROC + + PROCEDURE do_cauta_agent + Private pnIdPart,pcNumePart + lcTitlu=[ALEGETI AGENTUL] + pnIdPart=0 + pcNumePart=[] + + If caut_partener_dupa_tip(gnIdTipAgenti,lcTitlu,@pnIdPart,@pcNumePart) + poListare.id_agent = pnIdPart + poListare.nume_agent = Alltrim(pcNumePart) + Thisform.ct_opt_agent.Refresh() + Thisform.ct_opt_delegat.SetFocus() + Else + If Empty(Nvl(poListare.nume_agent,[])) + Thisform.ct_opt_agent.opt_cautare.Value=1 + Endif + Thisform.ct_opt_agent.SetFocus() + Endif + + ENDPROC + + PROCEDURE do_cauta_categorie + locauta=caut_categorie_entitate() + If !Empty(locauta.id_categorie_entitate) + poListare.categorie = Alltrim(locauta.categorie_entitate) + poListare.id_categorie_entitate = locauta.id_categorie_entitate + + Thisform.ct_opt_categorie.Refresh() + Thisform.opt_tip_aviz.option1.SetFocus() + Else + If Empty(Nvl(poListare.categorie,[])) + Thisform.ct_opt_categorie.opt_cautare.Value = 1 + Endif + Thisform.ct_opt_categorie.SetFocus() + Endif + + ENDPROC + + PROCEDURE do_cauta_client + Private pnIdPart,pcNumePart + Store 0 To pnIdPart + Store "" To pcNumePart + If cauta_client(@pnIdPart,@pcNumePart) + poListare.id_client = pnIdPart + poListare.nume_client = pcNumePart + + Thisform.ct_opt_client.Refresh() + Thisform.ct_opt_agent.SetFocus() + Else + If Empty(Nvl(poListare.nume_client,[])) + Thisform.ct_opt_client.opt_cautare.Value=1 + Endif + Thisform.ct_opt_client.SetFocus() + Endif + + ENDPROC + + PROCEDURE do_cauta_delegat + Local loCauta + loCauta=caut_delegati() + If !Empty(loCauta.id_responsabil) + poListare.id_delegat = loCauta.id_responsabil + poListare.nume_delegat = Alltrim(loCauta.nume) + Thisform.ct_opt_delegat.Refresh() + Thisform.ct_opt_masina.SetFocus() + Else + If Empty(Nvl(poListare.nume_delegat,[])) + Thisform.ct_opt_delegat.opt_cautare.Value = 1 + Endif + Thisform.ct_opt_delegat.SetFocus() + Endif + + ENDPROC + + PROCEDURE do_cauta_masina + locauta=caut_masina_gs() + If !Empty(locauta.id_masina) + poListare.nrinmat = Alltrim(locauta.nrinmat) + poListare.id_masina = locauta.id_masina + + Thisform.ct_opt_masina.Refresh() + Thisform.ct_opt_categorie.SetFocus() + Else + If Empty(Nvl(poListare.nrinmat,[])) + Thisform.ct_opt_masina.opt_cautare.Value = 1 + Endif + Thisform.ct_opt_masina.SetFocus() + Endif + + ENDPROC + + PROCEDURE do_excel + If Used('crsraport') + Use In crsraport + Endif + + This.do_cauta() + If Used('crsraport') + If Reccount('crsraport')<>0 + If Used('crsexportexcel') + Use In crsexportexcel + Endif + Dimension aColoane[1] + lcSelect = [SELECT Iif(gid<>0,'TOTAL',Space(5)) As explicatie] + Afields(aColoane,'crsraport') + For i = 1 To Alen(aColoane,1) + If Upper(Alltrim(aColoane[i,1])) <> 'GID' + lcNumeColoana = Upper(Alltrim(aColoane[i,1])) + lcSelect = lcSelect + [,] + Iif(aColoane[i,2] = 'T', [TTOD(] + lcNumeColoana + [) as ] + ; + lcNumeColoana, lcNumeColoana) + Endif + Endfor + lcSelect = lcSelect + [ From crsraport Into Cursor crsexportexcel] + &lcSelect + + export_xls('crsexportexcel') + Use In crsexportexcel + Else + amessagebox("Nu exista rezultate pentru export in Excel!",0+48,"Atentie") + thisform.clb_perioada.SetFocus() + Endif + + Use In crsraport + Endif + + ENDPROC + + PROCEDURE do_listare + Private pcTitlu + If Used('crsraport') + Use In crsraport + Endif + + This.do_cauta() + If Used('crsraport') + *!* modificare v 2.0.46 + *!* Private pcDataora + *!* If Reccount('crsraport')>0 + *!* lcTitlu = Thisform.ctitluraport + *!* pcTitlu = ceretitlu_rap('Titlul Raportului',lcTitlu) + *!* pcDataora = get_ora(2) + + *!* Thisform.AlwaysOnTop = .F. + *!* Local loExport + *!* loExport = Createobject("oExportConfig") + *!* loExport.listareUserReport("crsraport","FRX","raport_avize",1,"RAPORT") + *!* Release loExport + *!* *!* Keyboard "{ctrl+f10}" + *!* *!* Select crsraport + *!* *!* Report Form raport_avize To Printer Prompt Preview + *!* Thisform.AlwaysOnTop = .T. + *!* Else + *!* amessagebox("Nu exista rezultate pentru listare!",0+48,"Atentie") + *!* thisform.clb_perioada.SetFocus() + *!* Endif + Thisform.AlwaysOnTop = .F. + pcTitlu = Thisform.ctitluraport + goExport.export2frx("crsraport","raport_avize",.T.,1,"RAPORT") && , , , .T.) + Thisform.clb_perioada.SetFocus() + Thisform.AlwaysOnTop = .T. + *!* modificare v 2.0.46 ^ + Use In crsraport + EndIf + Release pcTitlu + ENDPROC + + PROCEDURE Clb_perioada.tx_n1.Valid + *!* + ENDPROC + +ENDDEFINE + +DEFINE CLASS frm_date_rapoarte_avize_tr AS _frmbase OF "_frm_base.vcx" + *< CLASSDATA: Baseclass="form" Timestamp="" Scale="Pixels" Uniqueid="" /> + + *-- OBJECTDATA items order determines ZOrder / El orden de los items OBJECTDATA determina el ZOrder + *< OBJECTDATA: ObjPath="But_salveaza1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="Ct_clb_raport" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="Ct_clb_raport.But_sterge1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="Clb_perioada" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="Ct_opt_gestiune_dest" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="Ct_opt_masina" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="Ct_opt_delegat" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="Ct_opt_gestiune_sursa" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="Ct_selectie1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="Ct_selectie1.Ct_selectie_nract" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="Ct_selectie1.Ct_selectie_gestiune_dest" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="Ct_selectie1.Ct_selectie_nume_delegat" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="Ct_selectie1.Ct_selectie_nrinmat" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="Ct_selectie1.Ct_selectie_gestiune_sursa" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="Ct_selectie1.Ct_selectie_dataact" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="But_listare1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="But_excel1" UniqueID="" Timestamp="" /> + + * + *m: do_adauga_filtru + *m: do_cauta_categorie + *m: do_cauta_delegat + *m: do_cauta_gestiune_dest + *m: do_cauta_gestiune_sursa + *m: do_cauta_masina + *p: ctitluraport + * + + * + ctitluraport = Avize de transfer intre subunitati + DoCreate = .T. + Height = 520 + Name = "frm_date_rapoarte_avize_tr" + Width = 696 + _shape1.Height = 29 + _shape1.Left = 0 + _shape1.Name = "_shape1" + _shape1.Top = 0 + _shape1.Width = 696 + _shape2.Height = 29 + _shape2.Left = 604 + _shape2.Name = "_shape2" + _shape2.Top = 0 + _shape2.Width = 90 + Lb_titlu_alb_b121.Caption = "AVIZE DE TRANSFER INTRE SUBUNITATI" + Lb_titlu_alb_b121.FontBold = .T. + Lb_titlu_alb_b121.Name = "Lb_titlu_alb_b121" + Lb_titlu_alb_b121.TabIndex = 14 + BUT_TERMIN1.Left = 666 + BUT_TERMIN1.Name = "BUT_TERMIN1" + BUT_TERMIN1.TabIndex = 13 + BUT_TERMIN1.Top = 1 + GRIDSORT1.Left = 480 + GRIDSORT1.Name = "GRIDSORT1" + GRIDSORT1.Top = 36 + * + + ADD OBJECT 'But_excel1' AS but_excel WITH ; + Left = 605, ; + Name = "But_excel1", ; + TabIndex = 15, ; + Top = 1 + *< END OBJECT: ClassLib="cmd_butoane.vcx" BaseClass="commandbutton" /> + + ADD OBJECT 'But_listare1' AS but_listare WITH ; + Left = 636, ; + Name = "But_listare1", ; + TabIndex = 12, ; + Top = 1 + *< END OBJECT: ClassLib="cmd_butoane.vcx" BaseClass="commandbutton" /> + + ADD OBJECT 'But_salveaza1' AS but_salveaza WITH ; + Left = 528, ; + Name = "But_salveaza1", ; + TabIndex = 11, ; + Top = 0, ; + Visible = .F. + *< END OBJECT: ClassLib="cmd_butoane.vcx" BaseClass="commandbutton" /> + + ADD OBJECT 'Clb_perioada' AS clb_n1n2_simplu WITH ; + Left = 383, ; + Name = "Clb_perioada", ; + TabIndex = 3, ; + Top = 72, ; + tx_n1.ControlSource = "poListare.datai", ; + tx_n1.Left = 127, ; + tx_n1.Name = "tx_n1", ; + tx_n1.Top = 2, ; + Lb_simplu1.Caption = "Data aviz", ; + Lb_simplu1.Name = "Lb_simplu1", ; + tx_n2.ControlSource = "poListare.dataf", ; + tx_n2.Name = "tx_n2" + *< END OBJECT: ClassLib="lb_tx.vcx" BaseClass="container" /> + + ADD OBJECT 'Ct_clb_raport' AS ct_clb_cautare WITH ; + Height = 31, ; + Left = 23, ; + Name = "Ct_clb_raport", ; + TabIndex = 1, ; + Top = 36, ; + Visible = .F., ; + Width = 396, ; + img_cautare.Height = 25, ; + img_cautare.Left = 321, ; + img_cautare.Name = "img_cautare", ; + img_cautare.Top = 3, ; + img_cautare.Width = 30, ; + clb_tx_cautare.Lb_simplu1.Caption = "Raport", ; + clb_tx_cautare.Lb_simplu1.Name = "Lb_simplu1", ; + clb_tx_cautare.Name = "clb_tx_cautare", ; + clb_tx_cautare.TabIndex = 1, ; + clb_tx_cautare.Text_simplu1.Height = 23, ; + clb_tx_cautare.Text_simplu1.Left = 71, ; + clb_tx_cautare.Text_simplu1.Name = "Text_simplu1", ; + clb_tx_cautare.Text_simplu1.Top = 3, ; + clb_tx_cautare.Text_simplu1.Width = 239 + *< END OBJECT: ClassLib="caut_ora.vcx" BaseClass="container" /> + + ADD OBJECT 'Ct_clb_raport.But_sterge1' AS but_sterge WITH ; + Height = 27, ; + Left = 361, ; + Name = "But_sterge1", ; + TabIndex = 2, ; + Top = 1, ; + Width = 30 + *< END OBJECT: ClassLib="cmd_butoane.vcx" BaseClass="commandbutton" /> + + ADD OBJECT 'Ct_opt_delegat' AS ct_opt_cautare WITH ; + cprocedura = thisform.do_cauta_delegat, ; + cvarfiltru = poListare.id_delegat, ; + cvar_afisata = poListare.nume_delegat, ; + Left = 383, ; + Name = "Ct_opt_delegat", ; + TabIndex = 6, ; + Top = 240, ; + opt_cautare.Name = "opt_cautare", ; + opt_cautare.OPTION1.Left = 5, ; + opt_cautare.OPTION1.Name = "OPTION1", ; + opt_cautare.OPTION1.Top = 5, ; + opt_cautare.OPTION2.Left = 5, ; + opt_cautare.OPTION2.Name = "OPTION2", ; + opt_cautare.OPTION2.Top = 24, ; + tx_cautare.Name = "tx_cautare", ; + lb_explicatie.Caption = "Delegat", ; + lb_explicatie.Name = "lb_explicatie", ; + criteriu.Name = "criteriu" + *< END OBJECT: ClassLib="caut_ora.vcx" BaseClass="container" /> + + ADD OBJECT 'Ct_opt_gestiune_dest' AS ct_opt_cautare WITH ; + cprocedura = thisform.do_cauta_gestiune_dest, ; + cvarfiltru = poListare.id_gestiune_dest, ; + cvar_afisata = poListare.gestiune_dest, ; + Left = 383, ; + Name = "Ct_opt_gestiune_dest", ; + ntip = 2, ; + TabIndex = 5, ; + Top = 170, ; + opt_cautare.Name = "opt_cautare", ; + opt_cautare.OPTION1.Left = 5, ; + opt_cautare.OPTION1.Name = "OPTION1", ; + opt_cautare.OPTION1.Top = 5, ; + opt_cautare.OPTION2.Left = 5, ; + opt_cautare.OPTION2.Name = "OPTION2", ; + opt_cautare.OPTION2.Top = 24, ; + tx_cautare.Name = "tx_cautare", ; + lb_explicatie.Caption = "Gestiune destinatie", ; + lb_explicatie.Name = "lb_explicatie", ; + criteriu.Name = "criteriu" + *< END OBJECT: ClassLib="caut_ora.vcx" BaseClass="container" /> + + ADD OBJECT 'Ct_opt_gestiune_sursa' AS ct_opt_cautare WITH ; + cprocedura = thisform.do_cauta_gestiune_sursa, ; + cvarfiltru = poListare.id_gestiune_sursa, ; + cvar_afisata = poListare.gestiune_sursa, ; + Left = 383, ; + Name = "Ct_opt_gestiune_sursa", ; + ntip = 2, ; + TabIndex = 4, ; + Top = 100, ; + opt_cautare.Name = "opt_cautare", ; + opt_cautare.OPTION1.Left = 5, ; + opt_cautare.OPTION1.Name = "OPTION1", ; + opt_cautare.OPTION1.Top = 5, ; + opt_cautare.OPTION2.Left = 5, ; + opt_cautare.OPTION2.Name = "OPTION2", ; + opt_cautare.OPTION2.Top = 24, ; + tx_cautare.Name = "tx_cautare", ; + lb_explicatie.Caption = "Gestiune sursa", ; + lb_explicatie.Name = "lb_explicatie", ; + criteriu.Name = "criteriu" + *< END OBJECT: ClassLib="caut_ora.vcx" BaseClass="container" /> + + ADD OBJECT 'Ct_opt_masina' AS ct_opt_cautare WITH ; + cprocedura = thisform.do_cauta_masina, ; + cvarfiltru = poListare.id_masina, ; + cvar_afisata = poListare.nrinmat, ; + Left = 383, ; + Name = "Ct_opt_masina", ; + TabIndex = 7, ; + Top = 310, ; + opt_cautare.Name = "opt_cautare", ; + opt_cautare.OPTION1.Left = 5, ; + opt_cautare.OPTION1.Name = "OPTION1", ; + opt_cautare.OPTION1.Top = 5, ; + opt_cautare.OPTION2.Left = 5, ; + opt_cautare.OPTION2.Name = "OPTION2", ; + opt_cautare.OPTION2.Top = 24, ; + tx_cautare.Name = "tx_cautare", ; + lb_explicatie.Caption = "Masina", ; + lb_explicatie.Name = "lb_explicatie", ; + criteriu.Name = "criteriu" + *< END OBJECT: ClassLib="caut_ora.vcx" BaseClass="container" /> + + ADD OBJECT 'Ct_selectie1' AS ct_selectie WITH ; + ccoloanesuma = avizat, ; + clistacoloaneordine = 1, ; + cnumecoloanesuma = Valoare avizata,Valoare facturata, ; + cnumetabela = fact_vrap_avize_transfer, ; + Height = 408, ; + Left = 24, ; + Name = "Ct_selectie1", ; + TabIndex = 2, ; + Top = 72, ; + Width = 332, ; + Ct_grupare1.lblAtentie.Name = "lblAtentie", ; + Ct_grupare1.lb_grupare.Name = "lb_grupare", ; + Ct_grupare1.Left = 5, ; + Ct_grupare1.Name = "Ct_grupare1", ; + Ct_grupare1.TabIndex = 10, ; + Ct_grupare1.Top = 263, ; + Ct_grupare1._scrollcontainer1.But_jos1.Name = "But_jos1", ; + Ct_grupare1._scrollcontainer1.But_sus1.Name = "But_sus1", ; + Ct_grupare1._scrollcontainer1.Name = "_scrollcontainer1", ; + Ct_ordonare1.Height = 169, ; + Ct_ordonare1.lb_ordonare.Name = "lb_ordonare", ; + Ct_ordonare1.Left = 5, ; + Ct_ordonare1.Name = "Ct_ordonare1", ; + Ct_ordonare1.TabIndex = 9, ; + Ct_ordonare1.Top = 95, ; + Ct_ordonare1.Width = 320, ; + Ct_ordonare1._scrollcontainer1.But_jos1.Name = "But_jos1", ; + Ct_ordonare1._scrollcontainer1.But_sus1.Name = "But_sus1", ; + Ct_ordonare1._scrollcontainer1.Name = "_scrollcontainer1", ; + lb_coloane.Name = "lb_coloane", ; + lb_coloane.TabIndex = 1 + *< END OBJECT: ClassLib="orapoarte.vcx" BaseClass="container" /> + + ADD OBJECT 'Ct_selectie1.Ct_selectie_dataact' AS ct_selectie_camp WITH ; + ccamp = dataact, ; + cnumecamp = Data aviz, ; + Left = 17, ; + Name = "Ct_selectie_dataact", ; + nid_container = 2, ; + TabIndex = 3, ; + Top = 36, ; + ck_camp.Alignment = 0, ; + ck_camp.Name = "ck_camp" + *< END OBJECT: ClassLib="orapoarte.vcx" BaseClass="container" /> + + ADD OBJECT 'Ct_selectie1.Ct_selectie_gestiune_dest' AS ct_selectie_camp WITH ; + ccamp = gestiune_dest, ; + cnumecamp = Gestiune destinatie, ; + Height = 19, ; + Left = 17, ; + Name = "Ct_selectie_gestiune_dest", ; + nid_container = 5, ; + TabIndex = 5, ; + Top = 65, ; + Width = 163, ; + ck_camp.Alignment = 0, ; + ck_camp.Name = "ck_camp" + *< END OBJECT: ClassLib="orapoarte.vcx" BaseClass="container" /> + + ADD OBJECT 'Ct_selectie1.Ct_selectie_gestiune_sursa' AS ct_selectie_camp WITH ; + ccamp = gestiune_sursa, ; + cnumecamp = Gestiune sursa, ; + Height = 19, ; + Left = 17, ; + Name = "Ct_selectie_gestiune_sursa", ; + nid_container = 4, ; + TabIndex = 4, ; + Top = 51, ; + Width = 139, ; + ck_camp.Alignment = 0, ; + ck_camp.Name = "ck_camp" + *< END OBJECT: ClassLib="orapoarte.vcx" BaseClass="container" /> + + ADD OBJECT 'Ct_selectie1.Ct_selectie_nract' AS ct_selectie_camp WITH ; + ccamp = nract, ; + cnumecamp = Nr. aviz, ; + Left = 17, ; + lgrupare = .F., ; + Name = "Ct_selectie_nract", ; + nid_container = 1, ; + TabIndex = 2, ; + Top = 22, ; + ck_camp.Alignment = 0, ; + ck_camp.Name = "ck_camp" + *< END OBJECT: ClassLib="orapoarte.vcx" BaseClass="container" /> + + ADD OBJECT 'Ct_selectie1.Ct_selectie_nrinmat' AS ct_selectie_camp WITH ; + ccamp = nrinmat, ; + cnumecamp = Masina, ; + Left = 180, ; + Name = "Ct_selectie_nrinmat", ; + TabIndex = 7, ; + Top = 36, ; + ck_camp.Alignment = 0, ; + ck_camp.Name = "ck_camp" + *< END OBJECT: ClassLib="orapoarte.vcx" BaseClass="container" /> + + ADD OBJECT 'Ct_selectie1.Ct_selectie_nume_delegat' AS ct_selectie_camp WITH ; + ccamp = nume_delegat, ; + cnumecamp = Delegat, ; + Left = 180, ; + Name = "Ct_selectie_nume_delegat", ; + TabIndex = 6, ; + Top = 22, ; + ck_camp.Alignment = 0, ; + ck_camp.Name = "ck_camp" + *< END OBJECT: ClassLib="orapoarte.vcx" BaseClass="container" /> + + PROCEDURE do_adauga_filtru + Lparameters lcSql + lcFiltru = [WHERE DATAACT BETWEEN ?poListare.datai AND ?poListare.dataf] + gcCondSucursala + + If !Empty(Nvl(poListare.id_gestiune_sursa,0)) + lcFiltru = lcFiltru + [ AND id_gestiune_sursa ] + Iif(thisform.ct_opt_gestiune_sursa.nvaloarecriteriu = 1,[=],[<>]) + [ ?poListare.id_gestiune_sursa] + Endif + + If !Empty(Nvl(poListare.id_gestiune_dest,0)) + lcFiltru = lcFiltru + [ AND id_gestiune_dest ] + Iif(thisform.ct_opt_gestiune_dest.nvaloarecriteriu = 1,[=],[<>]) + [ ?poListare.id_gestiune_dest] + Endif + + If !Empty(Nvl(poListare.id_delegat,0)) + lcFiltru = lcFiltru + [ AND id_delegat = ?poListare.id_delegat] + Endif + + If !Empty(Nvl(poListare.id_masina,0)) + lcFiltru = lcFiltru + [ AND id_masina = ?poListare.id_masina] + Endif + + poListare.csql = Strtran(lcSql,[WHERE 1=2],lcFiltru) + + ENDPROC + + PROCEDURE do_cauta + lccontrol = Upper(This.ActiveControl.BaseClass ) + If Inlist(lccontrol,"TEXTBOX","EDITBOX","COMBOBOX") + lcval=This.ActiveControl.ControlSource + &lcval=Thisform.ActiveControl.Value + Endif + + Do Case + Case Empty(Nvl(poListare.datai,{})) + amessagebox("Nu ati completat data initiala!",0+48,"Atentie") + Thisform.clb_perioada.tx_n1.SetFocus() + Return + Case Empty(Nvl(poListare.dataf,{})) + amessagebox("Nu ati completat data finala!",0+48,"Atentie") + Thisform.clb_perioada.tx_n2.SetFocus() + Return + Case Empty(Nvl(poListare.data_referinta,{})) + amessagebox("Nu ati completat data de referinta!",0+48,"Atentie") + Thisform.clb_data_referinta.SetFocus() + Return + Otherwise + With This.ct_selectie1 + .do_instructiune_sql() + lcSql = .csql + Endwith + If Empty(lcSql) + amessagebox("Nu ati ales coloane pentru selectie!",0+48,"Atentie") + Thisform.ct_selectie1.SetFocus() + Return + Else + This.do_adauga_filtru(lcSql) + Endif + Endcase + + lnSucces = goExecutor.oExecute(poListare.csql,'crsraport') + If lnSucces < 0 + amessagebox(goExecutor.oPrelucrareEroare(),16,"Eroare") + Endif + ENDPROC + + PROCEDURE do_cauta_categorie + locauta=caut_categorie_entitate() + If !Empty(locauta.id_categorie_entitate) + poListare.categorie = Alltrim(locauta.categorie_entitate) + poListare.id_categorie_entitate = locauta.id_categorie_entitate + + Thisform.ct_opt_categorie.Refresh() + Thisform.opt_tip_aviz.option1.SetFocus() + Else + If Empty(Nvl(poListare.categorie,[])) + Thisform.ct_opt_categorie.opt_cautare.Value = 1 + Endif + Thisform.ct_opt_categorie.SetFocus() + Endif + + ENDPROC + + PROCEDURE do_cauta_delegat + Local loCauta + loCauta=caut_delegati() + If !Empty(loCauta.id_responsabil) + poListare.id_delegat = loCauta.id_responsabil + poListare.nume_delegat = Alltrim(loCauta.nume) + Thisform.ct_opt_delegat.Refresh() + Thisform.ct_opt_masina.SetFocus() + Else + If Empty(Nvl(poListare.nume_delegat,[])) + Thisform.ct_opt_delegat.opt_cautare.Value = 1 + Endif + Thisform.ct_opt_delegat.SetFocus() + Endif + + ENDPROC + + PROCEDURE do_cauta_gestiune_dest + loCauta = caut_gestiune() + + If !Empty(Nvl(loCauta.id_gestiune,0)) + poListare.id_gestiune_dest = loCauta.id_gestiune + poListare.gestiune_dest = Alltrim(loCauta.nume_gestiune) + Thisform.ct_opt_gestiune_dest.Refresh() + Thisform.ct_opt_delegat.SetFocus() + Else + If Empty(Nvl(poListare.id_gestiune_dest,0)) + Thisform.ct_opt_gestiune_dest.opt_cautare.Value = 1 + Endif + Thisform.ct_opt_gestiune_dest.Refresh() + Endif + + ENDPROC + + PROCEDURE do_cauta_gestiune_sursa + loCauta = caut_gestiune() + + If !EMPTY(NVL(loCauta.id_gestiune,0)) + poListare.id_gestiune_sursa = loCauta.id_gestiune + poListare.gestiune_sursa = Alltrim(loCauta.nume_gestiune) + Thisform.ct_opt_gestiune_sursa.Refresh() + Thisform.ct_opt_gestiune_dest.SetFocus() + Else + If Empty(Nvl(poListare.id_gestiune_sursa,0)) + Thisform.ct_opt_gestiune_sursa.opt_cautare.value = 1 + Endif + Thisform.ct_opt_gestiune_sursa.Refresh() + Endif + ENDPROC + + PROCEDURE do_cauta_masina + locauta=caut_masina_gs() + If !Empty(NVL(locauta.id_masina,0)) + poListare.nrinmat = Alltrim(locauta.nrinmat) + poListare.id_masina = locauta.id_masina + + Thisform.ct_opt_masina.Refresh() + Thisform.ct_opt_categorie.SetFocus() + Else + If Empty(Nvl(poListare.nrinmat,[])) + Thisform.ct_opt_masina.opt_cautare.Value = 1 + Endif + Thisform.ct_opt_masina.SetFocus() + Endif + + ENDPROC + + PROCEDURE do_excel + If Used('crsraport') + Use In crsraport + Endif + + This.do_cauta() + If Used('crsraport') + If Reccount('crsraport')<>0 + If Used('crsexportexcel') + Use In crsexportexcel + Endif + Dimension aColoane[1] + lcSelect = [SELECT Iif(gid<>0,'TOTAL',Space(5)) As explicatie] + Afields(aColoane,'crsraport') + For i = 1 To Alen(aColoane,1) + If Upper(Alltrim(aColoane[i,1])) <> 'GID' + lcNumeColoana = Upper(Alltrim(aColoane[i,1])) + lcSelect = lcSelect + [,] + Iif(aColoane[i,2] = 'T', [TTOD(] + lcNumeColoana + [) as ] + ; + lcNumeColoana, lcNumeColoana) + Endif + Endfor + lcSelect = lcSelect + [ From crsraport Into Cursor crsexportexcel] + &lcSelect + + export_xls('crsexportexcel') + Use In crsexportexcel + Else + amessagebox("Nu exista rezultate pentru export in Excel!",0+48,"Atentie") + thisform.clb_perioada.SetFocus() + Endif + + Use In crsraport + Endif + + ENDPROC + + PROCEDURE do_listare + Private pcTitlu + If Used('crsraport') + Use In crsraport + Endif + + This.do_cauta() + If Used('crsraport') + *!* If Reccount('crsraport')>0 + *!* Private pcDataora + *!* lcTitlu = Thisform.ctitluraport + *!* pcTitlu = ceretitlu_rap('Titlul Raportului',lcTitlu) + *!* pcDataora = get_ora(2) + + *!* Thisform.AlwaysOnTop = .F. + *!* Local loExport + *!* loExport = Createobject("oExportConfig") + *!* loExport.listareUserReport("crsraport","FRX","raport_avize_transfer",1,"RAPORT") + *!* Release loExport + *!* *!* Keyboard "{ctrl+f10}" + *!* *!* Select crsraport + *!* *!* Report Form raport_avize_transfer To Printer Prompt Preview + *!* Thisform.AlwaysOnTop = .T. + *!* Else + *!* amessagebox("Nu exista rezultate pentru listare!",0+48,"Atentie") + *!* Thisform.clb_perioada.SetFocus() + *!* Endif + pcTitlu = Thisform.ctitluraport + Thisform.AlwaysOnTop = .F. + goExport.export2frx("crsraport","raport_avize_transfer",.T.,1,"RAPORT") && , , , .T.) + Thisform.clb_perioada.SetFocus() + Thisform.AlwaysOnTop = .T. + Use In crsraport + EndIf + Release pcTitlu + ENDPROC + + PROCEDURE Clb_perioada.tx_n1.Valid + *!* + ENDPROC + +ENDDEFINE + +DEFINE CLASS frm_date_rapoarte_facturi AS _frmbase OF "_frm_base.vcx" + *< CLASSDATA: Baseclass="form" Timestamp="" Scale="Pixels" Uniqueid="" /> + + *-- OBJECTDATA items order determines ZOrder / El orden de los items OBJECTDATA determina el ZOrder + *< OBJECTDATA: ObjPath="But_salveaza1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="Ct_clb_raport" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="Ct_clb_raport.But_sterge1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="Clb_perioada" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="Ct_opt_agent" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="Ct_opt_masina" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="Ct_opt_delegat" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="Ct_opt_client" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="Ct_selectie1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="Ct_selectie1.Ct_selectie_nract" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="Ct_selectie1.Ct_selectie_datascad" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="Ct_selectie1.Ct_selectie_nume_agent" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="Ct_selectie1.Ct_selectie_nume_delegat" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="Ct_selectie1.Ct_selectie_nrinmat" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="Ct_selectie1.Ct_selectie_nume_client" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="Ct_selectie1.Ct_selectie_dataact" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="Ct_selectie1.Ct_selectie_categorie" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="Ct_selectie1.Ct_selectie_utilizator" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="Ct_selectie1.Ct_selectie_tip_client" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="Ct_selectie1.Ct_selectie_cod_fiscal_client" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="But_listare1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="opt_tip_facturi" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="But_excel1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="Ct_opt_categorie" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="Ct_opt_utilizatori" UniqueID="" Timestamp="" /> + + * + *m: do_adauga_filtru + *m: do_cauta_agent + *m: do_cauta_categorie + *m: do_cauta_client + *m: do_cauta_delegat + *m: do_cauta_masina + *m: do_cauta_utilizator + *p: ctitluraport + * + + * + ctitluraport = + DoCreate = .T. + Height = 532 + Name = "frm_date_rapoarte_facturi" + Width = 696 + _shape1.Height = 29 + _shape1.Left = 0 + _shape1.Name = "_shape1" + _shape1.Top = 0 + _shape1.Width = 696 + _shape2.Height = 29 + _shape2.Left = 604 + _shape2.Name = "_shape2" + _shape2.Top = 0 + _shape2.Width = 90 + Lb_titlu_alb_b121.Caption = "FACTURI" + Lb_titlu_alb_b121.FontBold = .T. + Lb_titlu_alb_b121.Name = "Lb_titlu_alb_b121" + Lb_titlu_alb_b121.TabIndex = 14 + BUT_TERMIN1.Left = 666 + BUT_TERMIN1.Name = "BUT_TERMIN1" + BUT_TERMIN1.TabIndex = 13 + BUT_TERMIN1.Top = 1 + GRIDSORT1.Left = 480 + GRIDSORT1.Name = "GRIDSORT1" + GRIDSORT1.Top = 36 + * + + ADD OBJECT 'But_excel1' AS but_excel WITH ; + Left = 605, ; + Name = "But_excel1", ; + TabIndex = 15, ; + Top = 1 + *< END OBJECT: ClassLib="cmd_butoane.vcx" BaseClass="commandbutton" /> + + ADD OBJECT 'But_listare1' AS but_listare WITH ; + Left = 636, ; + Name = "But_listare1", ; + TabIndex = 12, ; + Top = 1 + *< END OBJECT: ClassLib="cmd_butoane.vcx" BaseClass="commandbutton" /> + + ADD OBJECT 'But_salveaza1' AS but_salveaza WITH ; + Left = 528, ; + Name = "But_salveaza1", ; + TabIndex = 11, ; + Top = 0, ; + Visible = .F. + *< END OBJECT: ClassLib="cmd_butoane.vcx" BaseClass="commandbutton" /> + + ADD OBJECT 'Clb_perioada' AS clb_n1n2_simplu WITH ; + Left = 383, ; + Name = "Clb_perioada", ; + TabIndex = 4, ; + Top = 72, ; + tx_n1.ControlSource = "poListare.datai", ; + tx_n1.Left = 127, ; + tx_n1.Name = "tx_n1", ; + tx_n1.Top = 2, ; + Lb_simplu1.Caption = "Data factura", ; + Lb_simplu1.Name = "Lb_simplu1", ; + tx_n2.ControlSource = "poListare.dataf", ; + tx_n2.Name = "tx_n2" + *< END OBJECT: ClassLib="lb_tx.vcx" BaseClass="container" /> + + ADD OBJECT 'Ct_clb_raport' AS ct_clb_cautare WITH ; + Height = 31, ; + Left = 9, ; + Name = "Ct_clb_raport", ; + TabIndex = 1, ; + Top = 36, ; + Visible = .F., ; + Width = 396, ; + img_cautare.Height = 25, ; + img_cautare.Left = 321, ; + img_cautare.Name = "img_cautare", ; + img_cautare.Top = 3, ; + img_cautare.Width = 30, ; + clb_tx_cautare.Lb_simplu1.Caption = "Raport", ; + clb_tx_cautare.Lb_simplu1.Name = "Lb_simplu1", ; + clb_tx_cautare.Name = "clb_tx_cautare", ; + clb_tx_cautare.TabIndex = 1, ; + clb_tx_cautare.Text_simplu1.Height = 23, ; + clb_tx_cautare.Text_simplu1.Left = 71, ; + clb_tx_cautare.Text_simplu1.Name = "Text_simplu1", ; + clb_tx_cautare.Text_simplu1.Top = 3, ; + clb_tx_cautare.Text_simplu1.Width = 239 + *< END OBJECT: ClassLib="caut_ora.vcx" BaseClass="container" /> + + ADD OBJECT 'Ct_clb_raport.But_sterge1' AS but_sterge WITH ; + Height = 27, ; + Left = 361, ; + Name = "But_sterge1", ; + TabIndex = 2, ; + Top = 1, ; + Width = 30 + *< END OBJECT: ClassLib="cmd_butoane.vcx" BaseClass="commandbutton" /> + + ADD OBJECT 'Ct_opt_agent' AS ct_opt_cautare WITH ; + cprocedura = thisform.do_cauta_agent, ; + cvarfiltru = poListare.id_agent, ; + cvar_afisata = poListare.nume_agent, ; + Left = 383, ; + Name = "Ct_opt_agent", ; + TabIndex = 6, ; + Top = 170, ; + opt_cautare.Name = "opt_cautare", ; + opt_cautare.OPTION1.Left = 5, ; + opt_cautare.OPTION1.Name = "OPTION1", ; + opt_cautare.OPTION1.Top = 5, ; + opt_cautare.OPTION2.Left = 5, ; + opt_cautare.OPTION2.Name = "OPTION2", ; + opt_cautare.OPTION2.Top = 24, ; + tx_cautare.Name = "tx_cautare", ; + lb_explicatie.Caption = "Agent", ; + lb_explicatie.Name = "lb_explicatie", ; + criteriu.Name = "criteriu" + *< END OBJECT: ClassLib="caut_ora.vcx" BaseClass="container" /> + + ADD OBJECT 'Ct_opt_categorie' AS ct_opt_cautare WITH ; + cprocedura = thisform.do_cauta_categorie, ; + cvarfiltru = poListare.id_categorie_entitate, ; + cvar_afisata = poListare.categorie, ; + Left = 383, ; + Name = "Ct_opt_categorie", ; + TabIndex = 9, ; + Top = 380, ; + opt_cautare.Name = "opt_cautare", ; + opt_cautare.OPTION1.Left = 5, ; + opt_cautare.OPTION1.Name = "OPTION1", ; + opt_cautare.OPTION1.Top = 5, ; + opt_cautare.OPTION2.Left = 5, ; + opt_cautare.OPTION2.Name = "OPTION2", ; + opt_cautare.OPTION2.Top = 24, ; + tx_cautare.Name = "tx_cautare", ; + lb_explicatie.Caption = "Categorie entitate", ; + lb_explicatie.Name = "lb_explicatie", ; + criteriu.Name = "criteriu" + *< END OBJECT: ClassLib="caut_ora.vcx" BaseClass="container" /> + + ADD OBJECT 'Ct_opt_client' AS ct_opt_cautare WITH ; + cprocedura = thisform.do_cauta_client, ; + cvarfiltru = poListare.id_client, ; + cvar_afisata = poListare.nume_client, ; + Left = 383, ; + Name = "Ct_opt_client", ; + TabIndex = 5, ; + Top = 100, ; + opt_cautare.Name = "opt_cautare", ; + opt_cautare.OPTION1.Left = 5, ; + opt_cautare.OPTION1.Name = "OPTION1", ; + opt_cautare.OPTION1.Top = 5, ; + opt_cautare.OPTION2.Left = 5, ; + opt_cautare.OPTION2.Name = "OPTION2", ; + opt_cautare.OPTION2.Top = 24, ; + tx_cautare.Name = "tx_cautare", ; + lb_explicatie.Caption = "Client", ; + lb_explicatie.Name = "lb_explicatie", ; + criteriu.Name = "criteriu" + *< END OBJECT: ClassLib="caut_ora.vcx" BaseClass="container" /> + + ADD OBJECT 'Ct_opt_delegat' AS ct_opt_cautare WITH ; + cprocedura = thisform.do_cauta_delegat, ; + cvarfiltru = poListare.id_delegat, ; + cvar_afisata = poListare.nume_delegat, ; + Left = 383, ; + Name = "Ct_opt_delegat", ; + TabIndex = 7, ; + Top = 240, ; + opt_cautare.Name = "opt_cautare", ; + opt_cautare.OPTION1.Left = 5, ; + opt_cautare.OPTION1.Name = "OPTION1", ; + opt_cautare.OPTION1.Top = 5, ; + opt_cautare.OPTION2.Left = 5, ; + opt_cautare.OPTION2.Name = "OPTION2", ; + opt_cautare.OPTION2.Top = 24, ; + tx_cautare.Name = "tx_cautare", ; + lb_explicatie.Caption = "Delegat", ; + lb_explicatie.Name = "lb_explicatie", ; + criteriu.Name = "criteriu" + *< END OBJECT: ClassLib="caut_ora.vcx" BaseClass="container" /> + + ADD OBJECT 'Ct_opt_masina' AS ct_opt_cautare WITH ; + cprocedura = thisform.do_cauta_masina, ; + cvarfiltru = poListare.id_masina, ; + cvar_afisata = poListare.nrinmat, ; + Left = 383, ; + Name = "Ct_opt_masina", ; + TabIndex = 8, ; + Top = 310, ; + opt_cautare.Name = "opt_cautare", ; + opt_cautare.OPTION1.Left = 5, ; + opt_cautare.OPTION1.Name = "OPTION1", ; + opt_cautare.OPTION1.Top = 5, ; + opt_cautare.OPTION2.Left = 5, ; + opt_cautare.OPTION2.Name = "OPTION2", ; + opt_cautare.OPTION2.Top = 24, ; + tx_cautare.Name = "tx_cautare", ; + lb_explicatie.Caption = "Masina", ; + lb_explicatie.Name = "lb_explicatie", ; + criteriu.Name = "criteriu" + *< END OBJECT: ClassLib="caut_ora.vcx" BaseClass="container" /> + + ADD OBJECT 'Ct_opt_utilizatori' AS ct_opt_cautare WITH ; + cprocedura = thisform.do_cauta_utilizator, ; + cvarfiltru = poListare.id_util, ; + cvar_afisata = poListare.utilizator, ; + Left = 383, ; + Name = "Ct_opt_utilizatori", ; + TabIndex = 10, ; + Top = 450, ; + opt_cautare.Name = "opt_cautare", ; + opt_cautare.OPTION1.Left = 5, ; + opt_cautare.OPTION1.Name = "OPTION1", ; + opt_cautare.OPTION1.Top = 5, ; + opt_cautare.OPTION2.Left = 5, ; + opt_cautare.OPTION2.Name = "OPTION2", ; + opt_cautare.OPTION2.Top = 24, ; + tx_cautare.Name = "tx_cautare", ; + LB_EXPLICATIE.Caption = "Utilizator", ; + LB_EXPLICATIE.Name = "LB_EXPLICATIE", ; + criteriu.Name = "criteriu" + *< END OBJECT: ClassLib="caut_ora.vcx" BaseClass="container" /> + + ADD OBJECT 'Ct_selectie1' AS ct_selectie WITH ; + ccoloanesuma = facturat,incasat, ; + clistacoloaneordine = 1, ; + cnumecoloanesuma = Valoare facturata,Valoare incasata, ; + cnumetabela = fact_vrap_fact_incasari, ; + Height = 444, ; + Left = 24, ; + Name = "Ct_selectie1", ; + TabIndex = 2, ; + Top = 72, ; + Width = 332, ; + Ct_grupare1.Height = 147, ; + Ct_grupare1.lblAtentie.Name = "lblAtentie", ; + Ct_grupare1.lb_grupare.Name = "lb_grupare", ; + Ct_grupare1.Left = 5, ; + Ct_grupare1.Name = "Ct_grupare1", ; + Ct_grupare1.TabIndex = 11, ; + Ct_grupare1.Top = 292, ; + Ct_grupare1.Width = 320, ; + Ct_grupare1._scrollcontainer1.But_jos1.Name = "But_jos1", ; + Ct_grupare1._scrollcontainer1.But_sus1.Name = "But_sus1", ; + Ct_grupare1._scrollcontainer1.Name = "_scrollcontainer1", ; + Ct_ordonare1.Height = 190, ; + Ct_ordonare1.lb_ordonare.Name = "lb_ordonare", ; + Ct_ordonare1.Left = 5, ; + Ct_ordonare1.Name = "Ct_ordonare1", ; + Ct_ordonare1.TabIndex = 10, ; + Ct_ordonare1.Top = 103, ; + Ct_ordonare1.Width = 320, ; + Ct_ordonare1._scrollcontainer1.But_jos1.Name = "But_jos1", ; + Ct_ordonare1._scrollcontainer1.But_sus1.Name = "But_sus1", ; + Ct_ordonare1._scrollcontainer1.Name = "_scrollcontainer1", ; + lb_coloane.Name = "lb_coloane", ; + lb_coloane.TabIndex = 1 + *< END OBJECT: ClassLib="orapoarte.vcx" BaseClass="container" /> + + ADD OBJECT 'Ct_selectie1.Ct_selectie_categorie' AS ct_selectie_camp WITH ; + ccamp = categorie_entitate, ; + cnumecamp = Categorie, ; + Left = 180, ; + Name = "Ct_selectie_categorie", ; + TabIndex = 9, ; + Top = 71, ; + ck_camp.Alignment = 0, ; + ck_camp.Name = "ck_camp" + *< END OBJECT: ClassLib="orapoarte.vcx" BaseClass="container" /> + + ADD OBJECT 'Ct_selectie1.Ct_selectie_cod_fiscal_client' AS ct_selectie_camp WITH ; + ccamp = cod_fiscal_client, ; + cnumecamp = Cod fiscal client, ; + Height = 19, ; + Left = 180, ; + Name = "Ct_selectie_cod_fiscal_client", ; + nid_container = 5, ; + TabIndex = 5, ; + Top = 14, ; + Width = 143, ; + ck_camp.Alignment = 0, ; + ck_camp.Name = "ck_camp" + *< END OBJECT: ClassLib="orapoarte.vcx" BaseClass="container" /> + + ADD OBJECT 'Ct_selectie1.Ct_selectie_dataact' AS ct_selectie_camp WITH ; + ccamp = dataact, ; + cnumecamp = Data factura, ; + Height = 19, ; + Left = 17, ; + Name = "Ct_selectie_dataact", ; + nid_container = 2, ; + TabIndex = 3, ; + Top = 40, ; + Width = 143, ; + ck_camp.Alignment = 0, ; + ck_camp.Name = "ck_camp" + *< END OBJECT: ClassLib="orapoarte.vcx" BaseClass="container" /> + + ADD OBJECT 'Ct_selectie1.Ct_selectie_datascad' AS ct_selectie_camp WITH ; + ccamp = datascad, ; + cnumecamp = Data scadenta, ; + Height = 19, ; + Left = 17, ; + Name = "Ct_selectie_datascad", ; + nid_container = 3, ; + TabIndex = 4, ; + Top = 55, ; + Width = 143, ; + ck_camp.Alignment = 0, ; + ck_camp.Name = "ck_camp" + *< END OBJECT: ClassLib="orapoarte.vcx" BaseClass="container" /> + + ADD OBJECT 'Ct_selectie1.Ct_selectie_nract' AS ct_selectie_camp WITH ; + ccamp = nract, ; + cnumecamp = Nr. factura, ; + Height = 19, ; + Left = 17, ; + lgrupare = .F., ; + Name = "Ct_selectie_nract", ; + nid_container = 1, ; + TabIndex = 2, ; + Top = 26, ; + Width = 143, ; + ck_camp.Alignment = 0, ; + ck_camp.Name = "ck_camp" + *< END OBJECT: ClassLib="orapoarte.vcx" BaseClass="container" /> + + ADD OBJECT 'Ct_selectie1.Ct_selectie_nrinmat' AS ct_selectie_camp WITH ; + ccamp = nrinmat, ; + cnumecamp = Masina, ; + Left = 180, ; + Name = "Ct_selectie_nrinmat", ; + TabIndex = 8, ; + Top = 56, ; + ck_camp.Alignment = 0, ; + ck_camp.Name = "ck_camp" + *< END OBJECT: ClassLib="orapoarte.vcx" BaseClass="container" /> + + ADD OBJECT 'Ct_selectie1.Ct_selectie_nume_agent' AS ct_selectie_camp WITH ; + ccamp = nume_agent, ; + cnumecamp = Agent, ; + Left = 180, ; + Name = "Ct_selectie_nume_agent", ; + nid_container = 6, ; + TabIndex = 6, ; + Top = 28, ; + ck_camp.Alignment = 0, ; + ck_camp.Name = "ck_camp" + *< END OBJECT: ClassLib="orapoarte.vcx" BaseClass="container" /> + + ADD OBJECT 'Ct_selectie1.Ct_selectie_nume_client' AS ct_selectie_camp WITH ; + ccamp = nume_client, ; + cnumecamp = Client, ; + Height = 19, ; + Left = 17, ; + Name = "Ct_selectie_nume_client", ; + nid_container = 4, ; + TabIndex = 5, ; + Top = 69, ; + Width = 143, ; + ck_camp.Alignment = 0, ; + ck_camp.Name = "ck_camp" + *< END OBJECT: ClassLib="orapoarte.vcx" BaseClass="container" /> + + ADD OBJECT 'Ct_selectie1.Ct_selectie_nume_delegat' AS ct_selectie_camp WITH ; + ccamp = nume_delegat, ; + cnumecamp = Delegat, ; + Left = 180, ; + Name = "Ct_selectie_nume_delegat", ; + TabIndex = 7, ; + Top = 42, ; + ck_camp.Alignment = 0, ; + ck_camp.Name = "ck_camp" + *< END OBJECT: ClassLib="orapoarte.vcx" BaseClass="container" /> + + ADD OBJECT 'Ct_selectie1.Ct_selectie_tip_client' AS ct_selectie_camp WITH ; + ccamp = ctip_client, ; + cnumecamp = Tip client (PJ/PF), ; + Height = 19, ; + Left = 17, ; + Name = "Ct_selectie_tip_client", ; + nid_container = 5, ; + TabIndex = 5, ; + Top = 84, ; + Width = 143, ; + ck_camp.Alignment = 0, ; + ck_camp.Name = "ck_camp" + *< END OBJECT: ClassLib="orapoarte.vcx" BaseClass="container" /> + + ADD OBJECT 'Ct_selectie1.Ct_selectie_utilizator' AS ct_selectie_camp WITH ; + ccamp = utilizator, ; + cnumecamp = Utilizator, ; + Left = 180, ; + Name = "Ct_selectie_utilizator", ; + TabIndex = 9, ; + Top = 85, ; + ck_camp.Alignment = 0, ; + ck_camp.Name = "ck_camp" + *< END OBJECT: ClassLib="orapoarte.vcx" BaseClass="container" /> + + ADD OBJECT 'opt_tip_facturi' AS _optiongrup WITH ; + ButtonCount = 3, ; + Height = 27, ; + Left = 383, ; + Name = "opt_tip_facturi", ; + TabIndex = 3, ; + Top = 47, ; + Value = 2, ; + Width = 301, ; + OPTION1.AutoSize = .T., ; + OPTION1.Caption = "Toate", ; + OPTION1.Left = 5, ; + OPTION1.Name = "OPTION1", ; + OPTION1.Top = 5, ; + OPTION1.Value = 0, ; + OPTION2.AutoSize = .T., ; + OPTION2.Caption = "Facturi neincasate", ; + OPTION2.Left = 62, ; + OPTION2.Name = "OPTION2", ; + OPTION2.Top = 5, ; + OPTION2.Value = 1, ; + Option3.AutoSize = .T., ; + Option3.BackStyle = 0, ; + Option3.Caption = "Facturi incasate", ; + Option3.Height = 17, ; + Option3.Left = 191, ; + Option3.Name = "Option3", ; + Option3.Top = 5, ; + Option3.Width = 105 + *< END OBJECT: ClassLib="_baza.vcx" BaseClass="optiongroup" /> + + PROCEDURE do_adauga_filtru + Lparameters lcSql + lcFiltru = [WHERE DATAACT BETWEEN ?poListare.datai AND ?poListare.dataf] + gcCondSucursala + + If !Empty(Nvl(poListare.id_client,0)) + lcFiltru = lcFiltru + [ AND id_part = ?poListare.id_client] + Endif + + If !Empty(Nvl(poListare.id_agent,0)) + lcFiltru = lcFiltru + [ AND id_agent = ?poListare.id_agent] + Endif + + If !Empty(Nvl(poListare.id_delegat,0)) + lcFiltru = lcFiltru + [ AND id_delegat = ?poListare.id_delegat] + Endif + + If !Empty(Nvl(poListare.id_masina,0)) + lcFiltru = lcFiltru + [ AND id_masina = ?poListare.id_masina] + Endif + + If !Empty(Nvl(poListare.id_categorie_entitate,0)) + lcFiltru = lcFiltru + [ AND id_categorie_entitate = ?poListare.id_categorie_entitate] + Endif + + If !Empty(Nvl(poListare.id_util,0)) + lcFiltru = lcFiltru + [ AND id_util = ?poListare.id_util] + Endif + + lnTipFactura = This.opt_tip_facturi.Value + This.ctitluraport = [FACTURI] + Do Case + Case lnTipFactura = 2 + This.ctitluraport = [FACTURI NEINCASATE] + lcFiltru = lcFiltru + [ AND facturat <> incasat ] + Case lnTipFactura = 3 + This.ctitluraport = [FACTURI INCASATE] + lcFiltru = lcFiltru + [ AND facturat = incasat ] + Endcase + *!* If !Empty(Nvl(poListare.nume_client,[])) + *!* lcFiltru = lcFiltru + [ AND nume_client = ?poListare.nume_client] + *!* Endif + + *!* If !Empty(Nvl(poListare.nume_agent,[])) + *!* lcFiltru = lcFiltru + [ AND nume_agent = ?poListare.nume_agent] + *!* Endif + + *!* If !Empty(Nvl(poListare.nume_delegat,[])) + *!* lcFiltru = lcFiltru + [ AND nume_delegat = ?poListare.nume_delegat] + *!* Endif + + *!* If !Empty(Nvl(poListare.nrinmat,[])) + *!* lcFiltru = lcFiltru + [ AND nrinmat = ?poListare.nrinmat] + *!* Endif + poListare.csql = Strtran(lcSql,[WHERE 1=2],lcFiltru) + + ENDPROC + + PROCEDURE do_cauta + lccontrol = Upper(This.ActiveControl.BaseClass ) + If Inlist(lccontrol,"TEXTBOX","EDITBOX","COMBOBOX") + lcval=This.ActiveControl.ControlSource + &lcval=Thisform.ActiveControl.Value + Endif + + Do Case + Case Empty(Nvl(poListare.datai,{})) + amessagebox("Nu ati completat data initiala!",0+48,"Atentie") + Thisform.clb_perioada.tx_n1.SetFocus() + Return + Case Empty(Nvl(poListare.dataf,{})) + amessagebox("Nu ati completat data finala!",0+48,"Atentie") + Thisform.clb_perioada.tx_n2.SetFocus() + Return + Case Empty(Nvl(poListare.data_referinta,{})) + amessagebox("Nu ati completat data de referinta!",0+48,"Atentie") + Thisform.clb_data_referinta.SetFocus() + Return + Otherwise + With This.ct_selectie1 + .do_instructiune_sql() + lcSql = .csql + Endwith + If Empty(lcSql) + amessagebox("Nu ati ales coloane pentru selectie!",0+48,"Atentie") + Thisform.ct_selectie1.SetFocus() + Return + Else + This.do_adauga_filtru(lcSql) + Endif + Endcase + + lnSucces = goExecutor.oExecute(poListare.csql,'crsraport') + If lnSucces < 0 + amessagebox(goExecutor.oPrelucrareEroare(),16,"Eroare") + Endif + ENDPROC + + PROCEDURE do_cauta_agent + Private pnIdPart,pcNumePart + lcTitlu=[ALEGETI AGENTUL] + pnIdPart=0 + pcNumePart=[] + + If caut_partener_dupa_tip(gnIdTipAgenti,lcTitlu,@pnIdPart,@pcNumePart) + poListare.id_agent = pnIdPart + poListare.nume_agent = Alltrim(pcNumePart) + Thisform.ct_opt_agent.Refresh() + Thisform.ct_opt_delegat.SetFocus() + Else + If Empty(Nvl(poListare.nume_agent,[])) + Thisform.ct_opt_agent.opt_cautare.Value=1 + Endif + Thisform.ct_opt_agent.SetFocus() + Endif + + ENDPROC + + PROCEDURE do_cauta_categorie + locauta=caut_categorie_entitate() + If !Empty(locauta.id_categorie_entitate) + poListare.categorie = Alltrim(locauta.categorie_entitate) + poListare.id_categorie_entitate = locauta.id_categorie_entitate + + Thisform.ct_opt_categorie.Refresh() + Thisform.ct_opt_utilizatori.SetFocus() + Else + If Empty(Nvl(poListare.categorie,[])) + Thisform.ct_opt_categorie.opt_cautare.Value = 1 + Endif + Thisform.ct_opt_categorie.SetFocus() + Endif + + ENDPROC + + PROCEDURE do_cauta_client + Private pnIdPart,pcNumePart + Store 0 To pnIdPart + Store "" To pcNumePart + If cauta_client(@pnIdPart,@pcNumePart) + poListare.id_client = pnIdPart + poListare.nume_client = pcNumePart + + Thisform.ct_opt_client.Refresh() + Thisform.ct_opt_agent.SetFocus() + Else + If Empty(Nvl(poListare.nume_client,[])) + Thisform.ct_opt_client.opt_cautare.Value=1 + Endif + Thisform.ct_opt_client.SetFocus() + Endif + + ENDPROC + + PROCEDURE do_cauta_delegat + Local loCauta + loCauta=caut_delegati() + If !Empty(loCauta.id_responsabil) + poListare.id_delegat = loCauta.id_responsabil + poListare.nume_delegat = Alltrim(loCauta.nume) + Thisform.ct_opt_delegat.Refresh() + Thisform.ct_opt_masina.SetFocus() + Else + If Empty(Nvl(poListare.nume_delegat,[])) + Thisform.ct_opt_delegat.opt_cautare.Value = 1 + Endif + Thisform.ct_opt_delegat.SetFocus() + Endif + + ENDPROC + + PROCEDURE do_cauta_masina + locauta=caut_masina_gs() + If !Empty(locauta.id_masina) + poListare.nrinmat = Alltrim(locauta.nrinmat) + poListare.id_masina = locauta.id_masina + + Thisform.ct_opt_masina.Refresh() + thisform.ct_opt_categorie.SetFocus() + Else + If Empty(Nvl(poListare.nrinmat,[])) + Thisform.ct_opt_masina.opt_cautare.Value = 1 + Endif + Thisform.ct_opt_masina.SetFocus() + Endif + + ENDPROC + + PROCEDURE do_cauta_utilizator + Local loCauta + loCauta = caut_utilizator_facturare() + If !Empty(loCauta.id_util) + poListare.id_util = loCauta.id_util + poListare.utilizator = Alltrim(loCauta.utilizator) + Thisform.ct_opt_utilizatori.Refresh() + Thisform.but_listare1.SetFocus() + Else + If Empty(Nvl(poListare.utilizator,[])) + Thisform.ct_opt_utilizatori.opt_cautare.Value = 1 + Endif + Thisform.ct_opt_utilizatori.SetFocus() + Endif + ENDPROC + + PROCEDURE do_excel + If Used('crsraport') + Use In crsraport + Endif + + This.do_cauta() + If Used('crsraport') + If Reccount('crsraport')<>0 + If Used('crsexportexcel') + Use In crsexportexcel + Endif + Dimension aColoane[1] + lcSelect = [SELECT Iif(gid<>0,'TOTAL',Space(5)) As explicatie] + Afields(aColoane,'crsraport') + For i = 1 To Alen(aColoane,1) + If Upper(Alltrim(aColoane[i,1])) <> 'GID' + lcNumeColoana = Upper(Alltrim(aColoane[i,1])) + lcSelect = lcSelect + [,] + Iif(aColoane[i,2] = 'T', [TTOD(] + lcNumeColoana + [) as ] + ; + lcNumeColoana, lcNumeColoana) + Endif + Endfor + lcSelect = lcSelect + [ From crsraport Into Cursor crsexportexcel] + &lcSelect + + export_xls('crsexportexcel') + Use In crsexportexcel + Else + amessagebox("Nu exista rezultate pentru export in Excel!",0+48,"Atentie") + thisform.clb_perioada.SetFocus() + Endif + + Use In crsraport + Endif + + ENDPROC + + PROCEDURE do_listare + Private pcTitlu + If Used('crsraport') + Use In crsraport + Endif + + This.do_cauta() + If Used('crsraport') + *!* modificare v 2.0.46 + *!* If Reccount('crsraport')>0 + *!* lcTitlu = Thisform.ctitluraport + *!* pcTitlu = ceretitlu_rap('Titlul Raportului',lcTitlu) + *!* pcDataora = get_ora(2) + + *!* Thisform.AlwaysOnTop = .F. + *!* Local loExport + *!* loExport = Createobject("oExportConfig") + *!* loExport.listareUserReport("crsraport","FRX","raport_facturat",1,"RAPORT") + *!* Release loExport + *!* *!* Keyboard "{ctrl+f10}" + *!* *!* Select crsraport + *!* *!* Report Form raport_facturat To Printer Prompt Preview + *!* Thisform.AlwaysOnTop = .T. + *!* Else + *!* amessagebox("Nu exista rezultate pentru listare!",0+48,"Atentie") + *!* thisform.clb_perioada.SetFocus() + *!* Endif + Thisform.AlwaysOnTop = .F. + pcTitlu = Thisform.ctitluraport + goExport.export2frx("crsraport","raport_facturat",.T.,1,"RAPORT") && , , , .T.) + Thisform.clb_perioada.SetFocus() + Thisform.AlwaysOnTop = .T. + *!* modificare v 2.0.46 ^ + Use In crsraport + EndIf + Release pcTitlu + ENDPROC + + PROCEDURE Clb_perioada.tx_n1.Valid + *!* + ENDPROC + +ENDDEFINE + +DEFINE CLASS frm_date_rapoarte_incasari AS _frmbase OF "_frm_base.vcx" + *< CLASSDATA: Baseclass="form" Timestamp="" Scale="Pixels" Uniqueid="" /> + + *-- OBJECTDATA items order determines ZOrder / El orden de los items OBJECTDATA determina el ZOrder + *< OBJECTDATA: ObjPath="But_salveaza1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="Ct_clb_raport" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="Ct_clb_raport.But_sterge1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="Clb_perioada" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="Ct_opt_agent" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="Ct_opt_client" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="Ct_selectie1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="Ct_selectie1.Ct_selectie_nrincas" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="Ct_selectie1.Ct_selectie_tip_cont" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="Ct_selectie1.Ct_selectie_nume_agent" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="Ct_selectie1.Ct_selectie_nrfact" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="Ct_selectie1.Ct_selectie_datafact" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="Ct_selectie1.Ct_selectie_nume_client" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="Ct_selectie1.Ct_selectie_dataincas" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="Ct_selectie1.Ct_selectie_facturat" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="Ct_selectie1.Ct_selectie_categorie" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="But_listare1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="opt_tip_cont" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="lb_tip_cont" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="But_excel1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="Ct_opt_categorie" UniqueID="" Timestamp="" /> + + * + *m: do_adauga_filtru + *m: do_cauta_agent + *m: do_cauta_categorie + *m: do_cauta_client + *m: do_raport_comision_incasari_agenti + * + + * + DoCreate = .T. + Height = 492 + Name = "frm_date_rapoarte_incasari" + Width = 696 + _shape1.Height = 29 + _shape1.Left = 0 + _shape1.Name = "_shape1" + _shape1.Top = 0 + _shape1.Width = 696 + _shape2.Height = 29 + _shape2.Left = 600 + _shape2.Name = "_shape2" + _shape2.Top = 0 + _shape2.Width = 97 + Lb_titlu_alb_b121.Caption = "INCASARI" + Lb_titlu_alb_b121.FontBold = .T. + Lb_titlu_alb_b121.Name = "Lb_titlu_alb_b121" + Lb_titlu_alb_b121.TabIndex = 12 + BUT_TERMIN1.Left = 665 + BUT_TERMIN1.Name = "BUT_TERMIN1" + BUT_TERMIN1.TabIndex = 10 + BUT_TERMIN1.Top = 1 + GRIDSORT1.Left = 480 + GRIDSORT1.Name = "GRIDSORT1" + GRIDSORT1.Top = 36 + * + + ADD OBJECT 'But_excel1' AS but_excel WITH ; + Left = 602, ; + Name = "But_excel1", ; + TabIndex = 8, ; + Top = 1 + *< END OBJECT: ClassLib="cmd_butoane.vcx" BaseClass="commandbutton" /> + + ADD OBJECT 'But_listare1' AS but_listare WITH ; + Left = 634, ; + Name = "But_listare1", ; + TabIndex = 9, ; + Top = 1 + *< END OBJECT: ClassLib="cmd_butoane.vcx" BaseClass="commandbutton" /> + + ADD OBJECT 'But_salveaza1' AS but_salveaza WITH ; + Left = 540, ; + Name = "But_salveaza1", ; + TabIndex = 11, ; + Top = 0, ; + Visible = .F. + *< END OBJECT: ClassLib="cmd_butoane.vcx" BaseClass="commandbutton" /> + + ADD OBJECT 'Clb_perioada' AS clb_n1n2_simplu WITH ; + Left = 383, ; + Name = "Clb_perioada", ; + TabIndex = 3, ; + Top = 72, ; + tx_n1.ControlSource = "poListare.datai", ; + tx_n1.Left = 127, ; + tx_n1.Name = "tx_n1", ; + tx_n1.Top = 2, ; + Lb_simplu1.Caption = "Data incasare", ; + Lb_simplu1.Name = "Lb_simplu1", ; + tx_n2.ControlSource = "poListare.dataf", ; + tx_n2.Name = "tx_n2" + *< END OBJECT: ClassLib="lb_tx.vcx" BaseClass="container" /> + + ADD OBJECT 'Ct_clb_raport' AS ct_clb_cautare WITH ; + Height = 31, ; + Left = 23, ; + Name = "Ct_clb_raport", ; + TabIndex = 1, ; + Top = 36, ; + Visible = .F., ; + Width = 396, ; + img_cautare.Height = 25, ; + img_cautare.Left = 321, ; + img_cautare.Name = "img_cautare", ; + img_cautare.Top = 3, ; + img_cautare.Width = 30, ; + clb_tx_cautare.Lb_simplu1.Caption = "Raport", ; + clb_tx_cautare.Lb_simplu1.Name = "Lb_simplu1", ; + clb_tx_cautare.Name = "clb_tx_cautare", ; + clb_tx_cautare.TabIndex = 1, ; + clb_tx_cautare.Text_simplu1.Height = 23, ; + clb_tx_cautare.Text_simplu1.Left = 71, ; + clb_tx_cautare.Text_simplu1.Name = "Text_simplu1", ; + clb_tx_cautare.Text_simplu1.Top = 3, ; + clb_tx_cautare.Text_simplu1.Width = 239 + *< END OBJECT: ClassLib="caut_ora.vcx" BaseClass="container" /> + + ADD OBJECT 'Ct_clb_raport.But_sterge1' AS but_sterge WITH ; + Height = 27, ; + Left = 361, ; + Name = "But_sterge1", ; + TabIndex = 2, ; + Top = 1, ; + Width = 30 + *< END OBJECT: ClassLib="cmd_butoane.vcx" BaseClass="commandbutton" /> + + ADD OBJECT 'Ct_opt_agent' AS ct_opt_cautare WITH ; + cprocedura = thisform.do_cauta_agent, ; + cvarfiltru = poListare.id_agent, ; + cvar_afisata = poListare.nume_agent, ; + Left = 383, ; + Name = "Ct_opt_agent", ; + TabIndex = 5, ; + Top = 170, ; + opt_cautare.Name = "opt_cautare", ; + opt_cautare.OPTION1.Left = 5, ; + opt_cautare.OPTION1.Name = "OPTION1", ; + opt_cautare.OPTION1.Top = 5, ; + opt_cautare.OPTION2.Left = 5, ; + opt_cautare.OPTION2.Name = "OPTION2", ; + opt_cautare.OPTION2.Top = 24, ; + tx_cautare.Name = "tx_cautare", ; + lb_explicatie.Caption = "Agent", ; + lb_explicatie.Name = "lb_explicatie", ; + criteriu.Name = "criteriu" + *< END OBJECT: ClassLib="caut_ora.vcx" BaseClass="container" /> + + ADD OBJECT 'Ct_opt_categorie' AS ct_opt_cautare WITH ; + cprocedura = thisform.do_cauta_categorie, ; + cvarfiltru = poListare.id_categorie_entitate, ; + cvar_afisata = poListare.categorie, ; + Left = 383, ; + Name = "Ct_opt_categorie", ; + TabIndex = 6, ; + Top = 240, ; + opt_cautare.Name = "opt_cautare", ; + opt_cautare.OPTION1.Left = 5, ; + opt_cautare.OPTION1.Name = "OPTION1", ; + opt_cautare.OPTION1.Top = 5, ; + opt_cautare.OPTION2.Left = 5, ; + opt_cautare.OPTION2.Name = "OPTION2", ; + opt_cautare.OPTION2.Top = 24, ; + tx_cautare.Name = "tx_cautare", ; + lb_explicatie.Caption = "Categorie entitate", ; + lb_explicatie.Name = "lb_explicatie", ; + criteriu.Name = "criteriu" + *< END OBJECT: ClassLib="caut_ora.vcx" BaseClass="container" /> + + ADD OBJECT 'Ct_opt_client' AS ct_opt_cautare WITH ; + cprocedura = thisform.do_cauta_client, ; + cvarfiltru = poListare.id_client, ; + cvar_afisata = poListare.nume_client, ; + Left = 383, ; + Name = "Ct_opt_client", ; + TabIndex = 4, ; + Top = 100, ; + opt_cautare.Name = "opt_cautare", ; + opt_cautare.OPTION1.Left = 5, ; + opt_cautare.OPTION1.Name = "OPTION1", ; + opt_cautare.OPTION1.Top = 5, ; + opt_cautare.OPTION2.Left = 5, ; + opt_cautare.OPTION2.Name = "OPTION2", ; + opt_cautare.OPTION2.Top = 24, ; + tx_cautare.Name = "tx_cautare", ; + lb_explicatie.Caption = "Client", ; + lb_explicatie.Name = "lb_explicatie", ; + criteriu.Name = "criteriu" + *< END OBJECT: ClassLib="caut_ora.vcx" BaseClass="container" /> + + ADD OBJECT 'Ct_selectie1' AS ct_selectie WITH ; + ccoloanesuma = incasat, ; + clistacoloaneordine = 1, ; + cnumecoloanesuma = Valoare incasata, ; + cnumetabela = fact_vrap_incasari_fact, ; + Height = 408, ; + Left = 24, ; + Name = "Ct_selectie1", ; + TabIndex = 2, ; + Top = 72, ; + Width = 332, ; + Ct_grupare1.Height = 125, ; + Ct_grupare1.lblAtentie.Name = "lblAtentie", ; + Ct_grupare1.lb_grupare.Name = "lb_grupare", ; + Ct_grupare1.Left = 5, ; + Ct_grupare1.Name = "Ct_grupare1", ; + Ct_grupare1.TabIndex = 12, ; + Ct_grupare1.Top = 275, ; + Ct_grupare1.Width = 320, ; + Ct_grupare1._scrollcontainer1.But_jos1.Name = "But_jos1", ; + Ct_grupare1._scrollcontainer1.But_sus1.Name = "But_sus1", ; + Ct_grupare1._scrollcontainer1.Name = "_scrollcontainer1", ; + Ct_ordonare1.Height = 179, ; + Ct_ordonare1.lb_ordonare.Name = "lb_ordonare", ; + Ct_ordonare1.Left = 5, ; + Ct_ordonare1.Name = "Ct_ordonare1", ; + Ct_ordonare1.TabIndex = 11, ; + Ct_ordonare1.Top = 97, ; + Ct_ordonare1.Width = 320, ; + Ct_ordonare1._scrollcontainer1.But_jos1.Name = "But_jos1", ; + Ct_ordonare1._scrollcontainer1.But_sus1.Name = "But_sus1", ; + Ct_ordonare1._scrollcontainer1.Name = "_scrollcontainer1", ; + lb_coloane.Left = 10, ; + lb_coloane.Name = "lb_coloane", ; + lb_coloane.TabIndex = 1, ; + lb_coloane.Top = 4 + *< END OBJECT: ClassLib="orapoarte.vcx" BaseClass="container" /> + + ADD OBJECT 'Ct_selectie1.Ct_selectie_categorie' AS ct_selectie_camp WITH ; + ccamp = categorie_entitate, ; + cnumecamp = Categorie, ; + Left = 180, ; + Name = "Ct_selectie_categorie", ; + TabIndex = 7, ; + Top = 20, ; + ck_camp.Alignment = 0, ; + ck_camp.Name = "ck_camp" + *< END OBJECT: ClassLib="orapoarte.vcx" BaseClass="container" /> + + ADD OBJECT 'Ct_selectie1.Ct_selectie_datafact' AS ct_selectie_camp WITH ; + ccamp = datafact, ; + cnumecamp = Data factura, ; + Left = 180, ; + Name = "Ct_selectie_datafact", ; + TabIndex = 9, ; + Top = 49, ; + ck_camp.Alignment = 0, ; + ck_camp.Name = "ck_camp" + *< END OBJECT: ClassLib="orapoarte.vcx" BaseClass="container" /> + + ADD OBJECT 'Ct_selectie1.Ct_selectie_dataincas' AS ct_selectie_camp WITH ; + ccamp = dataincas, ; + cnumecamp = Data incasare, ; + Left = 17, ; + Name = "Ct_selectie_dataincas", ; + nid_container = 2, ; + TabIndex = 3, ; + Top = 34, ; + ck_camp.Alignment = 0, ; + ck_camp.Name = "ck_camp" + *< END OBJECT: ClassLib="orapoarte.vcx" BaseClass="container" /> + + ADD OBJECT 'Ct_selectie1.Ct_selectie_facturat' AS ct_selectie_camp WITH ; + ccamp = facturat, ; + cnumecamp = Facturat, ; + Left = 180, ; + lgrupare = .F., ; + lordine = .F., ; + Name = "Ct_selectie_facturat", ; + TabIndex = 10, ; + Top = 64, ; + ck_camp.Alignment = 0, ; + ck_camp.Name = "ck_camp" + *< END OBJECT: ClassLib="orapoarte.vcx" BaseClass="container" /> + + ADD OBJECT 'Ct_selectie1.Ct_selectie_nrfact' AS ct_selectie_camp WITH ; + ccamp = nrfact, ; + cnumecamp = Nr. factura, ; + Left = 180, ; + lgrupare = .F., ; + Name = "Ct_selectie_nrfact", ; + TabIndex = 8, ; + Top = 34, ; + ck_camp.Alignment = 0, ; + ck_camp.Name = "ck_camp" + *< END OBJECT: ClassLib="orapoarte.vcx" BaseClass="container" /> + + ADD OBJECT 'Ct_selectie1.Ct_selectie_nrincas' AS ct_selectie_camp WITH ; + ccamp = nrincas, ; + cnumecamp = Nr. incasare, ; + Left = 17, ; + lgrupare = .F., ; + Name = "Ct_selectie_nrincas", ; + nid_container = 1, ; + TabIndex = 2, ; + Top = 20, ; + ck_camp.Alignment = 0, ; + ck_camp.Name = "ck_camp" + *< END OBJECT: ClassLib="orapoarte.vcx" BaseClass="container" /> + + ADD OBJECT 'Ct_selectie1.Ct_selectie_nume_agent' AS ct_selectie_camp WITH ; + ccamp = nume_agent, ; + cnumecamp = Agent, ; + Left = 17, ; + Name = "Ct_selectie_nume_agent", ; + nid_container = 5, ; + TabIndex = 6, ; + Top = 80, ; + ck_camp.Alignment = 0, ; + ck_camp.Name = "ck_camp" + *< END OBJECT: ClassLib="orapoarte.vcx" BaseClass="container" /> + + ADD OBJECT 'Ct_selectie1.Ct_selectie_nume_client' AS ct_selectie_camp WITH ; + ccamp = nume_client, ; + cnumecamp = Client, ; + Left = 17, ; + Name = "Ct_selectie_nume_client", ; + nid_container = 4, ; + TabIndex = 5, ; + Top = 64, ; + ck_camp.Alignment = 0, ; + ck_camp.Name = "ck_camp" + *< END OBJECT: ClassLib="orapoarte.vcx" BaseClass="container" /> + + ADD OBJECT 'Ct_selectie1.Ct_selectie_tip_cont' AS ct_selectie_camp WITH ; + ccamp = tip_cont, ; + cnumecamp = Tip cont, ; + Left = 17, ; + Name = "Ct_selectie_tip_cont", ; + nid_container = 3, ; + TabIndex = 4, ; + Top = 49, ; + ck_camp.Alignment = 0, ; + ck_camp.Name = "ck_camp" + *< END OBJECT: ClassLib="orapoarte.vcx" BaseClass="container" /> + + ADD OBJECT 'lb_tip_cont' AS lb_simplu WITH ; + Caption = "Tip cont", ; + Left = 384, ; + Name = "lb_tip_cont", ; + TabIndex = 13, ; + Top = 318 + *< END OBJECT: ClassLib="lb.vcx" BaseClass="label" /> + + ADD OBJECT 'opt_tip_cont' AS _optiongrup WITH ; + ButtonCount = 4, ; + Height = 27, ; + Left = 384, ; + Name = "opt_tip_cont", ; + TabIndex = 7, ; + Top = 338, ; + Width = 289, ; + OPTION1.AutoSize = .T., ; + OPTION1.Caption = "Toate", ; + OPTION1.Left = 5, ; + OPTION1.Name = "OPTION1", ; + OPTION1.Top = 5, ; + OPTION2.AutoSize = .T., ; + OPTION2.Caption = "Casa", ; + OPTION2.Left = 83, ; + OPTION2.Name = "OPTION2", ; + OPTION2.Top = 5, ; + Option3.AutoSize = .T., ; + Option3.BackStyle = 0, ; + Option3.Caption = "Banca", ; + Option3.Height = 17, ; + Option3.Left = 153, ; + Option3.Name = "Option3", ; + Option3.Top = 5, ; + Option3.Width = 53, ; + Option4.AutoSize = .T., ; + Option4.BackStyle = 0, ; + Option4.Caption = "Alt tip", ; + Option4.Height = 17, ; + Option4.Left = 237, ; + Option4.Name = "Option4", ; + Option4.Top = 5, ; + Option4.Width = 47 + *< END OBJECT: ClassLib="_baza.vcx" BaseClass="optiongroup" /> + + PROCEDURE do_adauga_filtru + Lparameters lcSql + lnValoare = This.opt_tip_cont.Value + lcFiltru = [WHERE DATAINCAS BETWEEN ?poListare.datai AND ?poListare.dataf] + gcCondSucursala + If !Empty(Nvl(poListare.id_client,0)) + lcFiltru = lcFiltru + [ AND id_part = ?poListare.id_client] + Endif + + If !Empty(Nvl(poListare.nume_agent,[])) + lcFiltru = lcFiltru + [ AND id_agent = ?poListare.id_agent] + Endif + + If !Empty(Nvl(poListare.id_categorie_entitate,0)) + lcFiltru = lcFiltru + [ AND id_categorie_entitate = ?poListare.id_categorie_entitate] + Endif + *!* If !Empty(Nvl(poListare.nume_client,[])) + *!* lcFiltru = lcFiltru + [ AND nume_client = ?poListare.nume_client] + *!* Endif + + *!* If !Empty(Nvl(poListare.nume_agent,[])) + *!* lcFiltru = lcFiltru + [ AND nume_agent = ?poListare.nume_agent] + *!* Endif + + Do Case + Case lnValoare = 2 + lcFiltru = lcFiltru + [ AND tip_cont = 'CASA'] + Case lnValoare = 3 + lcFiltru = lcFiltru + [ AND tip_cont = 'BANCA'] + Case lnValoare = 4 + lcFiltru = lcFiltru + [ AND tip_cont = 'ALT TIP'] + Endcase + + poListare.csql = Strtran(lcSql,[WHERE 1=2],lcFiltru) + + ENDPROC + + PROCEDURE do_cauta + lccontrol = Upper(This.ActiveControl.BaseClass ) + If Inlist(lccontrol,"TEXTBOX","EDITBOX","COMBOBOX") + lcval=This.ActiveControl.ControlSource + &lcval=Thisform.ActiveControl.Value + Endif + + Do Case + Case Empty(Nvl(poListare.datai,{})) + amessagebox("Nu ati completat data initiala!",0+48,"Atentie") + Thisform.clb_perioada.tx_n1.SetFocus() + Return + Case Empty(Nvl(poListare.dataf,{})) + amessagebox("Nu ati completat data finala!",0+48,"Atentie") + Thisform.clb_perioada.tx_n2.SetFocus() + Return + Case Empty(Nvl(poListare.data_referinta,{})) + amessagebox("Nu ati completat data de referinta!",0+48,"Atentie") + Thisform.clb_data_referinta.SetFocus() + Return + Otherwise + With This.ct_selectie1 + .do_instructiune_sql() + lcSql = .csql + Endwith + If Empty(lcSql) + amessagebox("Nu ati ales coloane pentru selectie!",0+48,"Atentie") + Thisform.ct_selectie1.SetFocus() + Return + Else + This.do_adauga_filtru(lcSql) + Endif + Endcase + + lnSucces = goExecutor.oExecute(poListare.csql,'crsraport') + If lnSucces < 0 + amessagebox(goExecutor.oPrelucrareEroare(),16,"Eroare") + ENDIF + RETURN (m.lnSucces > 0) + ENDPROC + + PROCEDURE do_cauta_agent + Private pnIdPart,pcNumePart + lcTitlu=[ALEGETI AGENTUL] + pnIdPart=0 + pcNumePart=[] + + If caut_partener_dupa_tip(gnIdTipAgenti,lcTitlu,@pnIdPart,@pcNumePart) + poListare.id_agent = pnIdPart + poListare.nume_agent = Alltrim(pcNumePart) + Thisform.ct_opt_agent.Refresh() + Thisform.ct_opt_categorie.SetFocus() + Else + If Empty(Nvl(poListare.nume_agent,[])) + Thisform.ct_opt_agent.opt_cautare.Value=1 + Endif + Thisform.ct_opt_agent.SetFocus() + Endif + + ENDPROC + + PROCEDURE do_cauta_categorie + locauta=caut_categorie_entitate() + If !Empty(locauta.id_categorie_entitate) + poListare.categorie = Alltrim(locauta.categorie_entitate) + poListare.id_categorie_entitate = locauta.id_categorie_entitate + + Thisform.ct_opt_categorie.Refresh() + Thisform.opt_tip_cont.option1.SetFocus() + Else + If Empty(Nvl(poListare.categorie,[])) + Thisform.ct_opt_categorie.opt_cautare.Value = 1 + Endif + Thisform.ct_opt_categorie.SetFocus() + Endif + + ENDPROC + + PROCEDURE do_cauta_client + Private pnIdPart,pcNumePart + Store 0 To pnIdPart + Store "" To pcNumePart + If cauta_client(@pnIdPart,@pcNumePart) + poListare.id_client = pnIdPart + poListare.nume_client = pcNumePart + + Thisform.ct_opt_client.Refresh() + Thisform.ct_opt_agent.SetFocus() + Else + If Empty(Nvl(poListare.nume_client,[])) + Thisform.ct_opt_client.opt_cautare.Value=1 + Endif + Thisform.ct_opt_client.SetFocus() + Endif + + ENDPROC + + PROCEDURE do_excel + Local lcCursor, lcNumeColoana, lcRaport, lcSelect, lnOptiune, i + *:Global aColoane[1] + lnOptiune = xmenu('\ 0 + Use In (SELECT('crsexportexcel')) + + Dimension aColoane[1] + lcSelect = [SELECT Iif(gid<>0,'TOTAL',Space(5)) As explicatie] + Afields(aColoane, 'crsraport') + For i = 1 To Alen(aColoane, 1) + If Upper(Alltrim(aColoane[i, 1])) <> 'GID' + lcNumeColoana = Upper(Alltrim(aColoane[i, 1])) + lcSelect = lcSelect + [,] + Iif(aColoane[i, 2] = 'T', [TTOD(] + lcNumeColoana + [) as ] + ; + lcNumeColoana, lcNumeColoana) + Endif + Endfor + lcSelect = lcSelect + [ From crsraport Into Cursor ] + m.lcCursor + &lcSelect + + ENDIF && Reccount('crsraport')<>0 + ENDIF && Used('crsraport') + Case m.lnOptiune = 2 + This.do_raport_comision_incasari_agenti(.T.) + lcCursor = "crsRaport" + ENDCASE + + If Used(m.lcCursor) + If Reccount(m.lcCursor) <> 0 + export_xls(m.lcCursor) + Else + amessagebox("Nu exista rezultate pentru export in Excel!", 0 + 48, "Atentie") + thisform.clb_perioada.SetFocus() + Endif + + Use In (SELECT(m.lcCursor)) + Endif + + ENDPROC + + PROCEDURE do_listare + LOCAL lnOptiune, lcRaport + Private pcTitlu + lnOptiune = 0 + lcRaport = '' + pcTitlu = '' + + lnOptiune = xmenu('\], NVL(m.gcCondSucursala, '')) + pcSql = Strtran(m.pcSql, [<%=CLIENT%>], Iif(!Empty(Nvl(poListare.id_client, 0)), [ AND id_part = ?poListare.id_client], [])) + pcSql = Strtran(m.pcSql, [<%=AGENT%>], Iif(!Empty(Nvl(poListare.nume_agent, [])), [ AND id_agent = ?poListare.id_agent], [])) + pcSql = Strtran(m.pcSql, [<%=CATEGORIE%>], Iif(!Empty(Nvl(poListare.id_categorie_entitate, 0)), [ AND id_categorie_entitate = ?poListare.id_categorie_entitate], [])) + + lnValoare = This.opt_tip_cont.Value + pcSql = Strtran(m.pcSql, [<%=TIPCONT%>], Iif(m.lnValoare = 2, [ AND tip_cont = 'CASA'], Iif(m.lnValoare = 3, [ AND tip_cont = 'BANCA'], Iif(m.lnValoare = 4, [ AND tip_cont = 'ALT TIP'], [])))) + Endif + Endif + Endcase + + + llSucces = IIF(Empty(Nvl(pcSql, '')), .F., goExecutor.oExecuta(m.pcSql, 'crsraport')) + + RETURN m.llSucces + ENDPROC + + PROCEDURE Clb_perioada.tx_n1.Valid + *!* + ENDPROC + +ENDDEFINE diff --git a/clase/ofirma.vc2 b/clase/ofirma.vc2 new file mode 100644 index 0000000..8683c8c --- /dev/null +++ b/clase/ofirma.vc2 @@ -0,0 +1,4050 @@ +*-------------------------------------------------------------------------------------------------------------------------------------------------------- +* (EN) AUTOGENERATED - ATTENTION!! - NOT INTENDED FOR EXECUTION!! USE ONLY FOR MERGING CHANGES AND STORING WITH SCM TOOLS!! +*-------------------------------------------------------------------------------------------------------------------------------------------------------- +*< FOXBIN2PRG: Version="1.21" SourceFile="ofirma.vcx" CPID="1252" /> (Solo para binarios VFP 9 / Only for VFP 9 binaries) +* +* +DEFINE CLASS cus_odata_firme AS _cusodatabase OF "_cus_odata_base.vcx" + *< CLASSDATA: Baseclass="custom" Timestamp="" Scale="Pixels" Uniqueid="" /> + + * + Name = "cus_odata_firme" + * + + PROCEDURE make_sql + Lparameters toRec, tnId + + Local lcActiune, lcBanca3, lcCodF, lcCodFirma, lcDeclarant, lcFunctie, lcId, lcIndiceitm, lcPoint + Local lcSql, lcTipModificare, lcadresa, lcantet, lcbanca1, lcbanca2, lcbloc, lccaen, lccod_postal + Local lccontb1, lccontb2, lccontb3, lcemail, lcfax, lcfirma, lcindicativ, lcjudet, lclocalitate + Local lcnumar, lcnume, lcoasp, lcpctl, lcprenume, lcregc, lcscara, lcschema, lcstrada, lctel, lctel2 + Local lctel3, lnapart, lncapss, lncapsv, lncodang, lne_mama, lnid_formaj, lnid_formao, lnid_formap + Local lnid_tip_soc, lnidl, lnidm, lnpersj, lcCaenRevizie + lcActiune = Alltrim(This.cActiune) + + If Inlist(lcActiune, "UPDATE", 'INSERT') And Type('toRec') != "O" + Return .F. + Endif + + If Inlist(lcActiune, "UPDATE", 'DELETE') And Type('tnId') != "N" + Return .F. + Endif + + If Inlist(lcActiune, "UPDATE", 'DELETE') + lcId = Alltrim(Str(tnId)) + Else + lcId = "NULL" + Endif + + lcPoint = Set("Point") + Set Point To '.' && pentru str() + + If Inlist(lcActiune, "UPDATE", 'INSERT') + lnid_formaj = Nvl(Alltrim(Str(toRec.id_forma_juridica)), "0") + lnid_formao = Nvl(Alltrim(Str(toRec.id_forma_organizare)), "0") + lnid_formap = Nvl(Alltrim(Str(toRec.id_forma_prop)), "0") + lnid_tip_soc = Nvl(Alltrim(Str(toRec.id_tip_soc)), "0") + + lcindicativ = Nvl(Strtran(Alltrim(Upper(toRec.indicativ)), ['], ['']), "") + + lcfirma = Nvl(Strtran(Alltrim(Upper(toRec.firma)), ['], ['']), "") + lcantet = Nvl(Strtran(Alltrim(Upper(toRec.antet)), ['], ['']), "") + lcCodF = Nvl(Strtran(Alltrim(Upper(toRec.cod_fiscal)), ['], ['']), "") + lcregc = Nvl(Strtran(Alltrim(Upper(toRec.reg_comert)), ['], ['']), "") + lcbanca1 = Nvl(Strtran(Alltrim(Upper(toRec.banca1)), ['], ['']), "") + lccontb1 = Nvl(Strtran(Alltrim(Upper(toRec.cont_banca1)), ['], ['']), "") + lcbanca2 = Nvl(Strtran(Alltrim(Upper(toRec.banca2)), ['], ['']), "") + lccontb2 = Nvl(Strtran(Alltrim(Upper(toRec.cont_banca2)), ['], ['']), "") + lcBanca3 = Nvl(Strtran(Alltrim(Upper(toRec.banca3)), ['], ['']), "") + lccontb3 = Nvl(Strtran(Alltrim(Upper(toRec.cont_banca3)), ['], ['']), "") + lcBanca4 = Nvl(Strtran(Alltrim(Upper(toRec.banca4)), ['], ['']), "") + lccontb4 = Nvl(Strtran(Alltrim(Upper(toRec.cont_banca4)), ['], ['']), "") + lcBanca5 = Nvl(Strtran(Alltrim(Upper(toRec.banca5)), ['], ['']), "") + lccontb5 = Nvl(Strtran(Alltrim(Upper(toRec.cont_banca5)), ['], ['']), "") + lcBanca6 = Nvl(Strtran(Alltrim(Upper(toRec.banca6)), ['], ['']), "") + lccontb6 = Nvl(Strtran(Alltrim(Upper(toRec.cont_banca6)), ['], ['']), "") + lcBanca7 = Nvl(Strtran(Alltrim(Upper(toRec.banca7)), ['], ['']), "") + lccontb7 = Nvl(Strtran(Alltrim(Upper(toRec.cont_banca7)), ['], ['']), "") + lcBanca8 = Nvl(Strtran(Alltrim(Upper(toRec.banca8)), ['], ['']), "") + lccontb8 = Nvl(Strtran(Alltrim(Upper(toRec.cont_banca8)), ['], ['']), "") + lcBanca9 = Nvl(Strtran(Alltrim(Upper(toRec.banca9)), ['], ['']), "") + lccontb9 = Nvl(Strtran(Alltrim(Upper(toRec.cont_banca9)), ['], ['']), "") + lcBanca10 = Nvl(Strtran(Alltrim(Upper(toRec.banca10)), ['], ['']), "") + lccontb10 = Nvl(Strtran(Alltrim(Upper(toRec.cont_banca10)), ['], ['']), "") + lcadresa = Nvl(Strtran(Alltrim(Upper(toRec.adresa)), ['], ['']), "") + lcCodFirma = Nvl(Strtran(Alltrim(Upper(toRec.cod_firma)), ['], ['']), "") + lnpersj = Nvl(Alltrim(Str(toRec.persoana_juridica)), "0") + lncodang = Nvl(Alltrim(Str(toRec.codang)), "0") + lcnume = Nvl(Strtran(Alltrim(Upper(toRec.nume)), ['], ['']), "") + lcprenume = Nvl(Strtran(Alltrim(Upper(toRec.prenume)), ['], ['']), "") + lctel = Nvl(Strtran(Alltrim(Upper(toRec.telefon)), ['], ['']), "") + lctel2 = Nvl(Strtran(Alltrim(Upper(toRec.telefon2)), ['], ['']), "") + lctel3 = Nvl(Strtran(Alltrim(Upper(toRec.telefon3)), ['], ['']), "") + lcfax = Nvl(Strtran(Alltrim(Upper(toRec.fax)), ['], ['']), "") + lcemail = Nvl(Strtran(Alltrim(Upper(toRec.email)), ['], ['']), "") + lcoasp = Nvl(Strtran(Alltrim(Upper(toRec.oasp)), ['], ['']), "") + lncapsv = Nvl(Alltrim(Str(toRec.capital_soc_var, 16, 2)), "0") + lncapss = Nvl(Alltrim(Str(toRec.capital_soc_sub, 16, 2)), "0") + lcpctl = Nvl(Strtran(Alltrim(Upper(toRec.punct_luc)), ['], ['']), "") + lccaen = Nvl(Strtran(Alltrim(Upper(toRec.caen)), ['], ['']), "") + lcCaenRevizie = Nvl(Alltrim(Upper(toRec.caen_revizie)), "") + lcschema = Nvl(Strtran(Alltrim(Upper(toRec.schema)), ['], ['']), "") + lcjudet = Nvl(Strtran(Alltrim(Upper(toRec.judet)), ['], ['']), "") + lclocalitate = Nvl(Strtran(Alltrim(Upper(toRec.localitate)), ['], ['']), "") + lcstrada = Nvl(Strtran(Alltrim(Upper(toRec.strada)), ['], ['']), "") + lcnumar = Nvl(Strtran(Alltrim(Upper(toRec.numar)), ['], ['']), "") + lcbloc = Nvl(Strtran(Alltrim(Upper(toRec.Bloc)), ['], ['']), "") + lcscara = Nvl(Strtran(Alltrim(Upper(toRec.scara)), ['], ['']), "") + lccod_postal = Nvl(Strtran(Alltrim(Upper(toRec.cod_postal)), ['], ['']), "") + lnapart = Nvl(Alltrim(Str(toRec.apart)), "NULL") + lne_mama = Iif(Nvl(toRec.e_mama, 0) = 0, '0', Alltrim(Str(toRec.e_mama))) + lnidm = Iif(Nvl(toRec.id_mama, 0) = 0, 'NULL', Alltrim(Str(toRec.id_mama))) + lnidl = Nvl(Alltrim(Str(toRec.id_loc)), "NULL") + lcDeclarant = Nvl(Strtran(Alltrim(Upper(toRec.declarant)), ['], ['']), "") + lcFunctie = Nvl(Strtran(Alltrim(Upper(toRec.functie)), ['], ['']), "") + lcIndiceitm = Nvl(Strtran(Alltrim(Upper(toRec.indice_itm)), ['], ['']), "") + lcTipModificare = Alltrim(Str(toRec.tip_modificare)) + Endif + + Do Case + Case lcActiune = "UPDATE" And gcNumeProgram = [ROADEF] + lcSql = [begin pack_def.modifica_date_firma(] + lcId + [,'] + lcfirma + [','] + lcantet + [','] + ; + lcCodF + [','] + lcregc + [','] + ; + lcbanca1 + [','] + lccontb1 + [','] + lcbanca2 + [','] + lccontb2 + [','] + lcBanca3 + [','] + lccontb3 + [','] + ; + lcbanca4 + [','] + lccontb4 + [','] + lcbanca5 + [','] + lccontb5 + [','] + lcBanca6 + [','] + lccontb6 + [','] + ; + lcbanca7 + [','] + lccontb7 + [','] + lcbanca8 + [','] + lccontb8 + [','] + lcBanca9 + [','] + lccontb9 + [','] + ; + lcbanca10 + [','] + lccontb10 + [','] + ; + lcadresa + [','] + lcCodFirma + ; + [',] + lnpersj + [,] + lncodang + [,'] + lcnume + ; + [','] + lcprenume + [','] + lctel + [','] + lctel2 + [','] + lctel3 + [','] + lcfax + ; + [','] + lcemail + [','] + lcoasp + [',] + lncapsv + ; + [,] + lncapss + [,'] + lcpctl + [','] + lccaen + [','] + lcschema + ; + [','] + lcjudet + [','] + lclocalitate + [','] + lcstrada + [','] + lcnumar + ; + [','] + lcbloc + [','] + lcscara + [',] + lnapart + [,'] + lccod_postal + ; + [',] + lnidm + [,] + lne_mama + [,] + lnidl + [,] + Alltrim(Str(gnIdUtil)) + ; + [,] + lnid_formaj + [,] + lnid_formao + [,] + lnid_formap + [,] + lnid_tip_soc + ; + [,'] + lcindicativ + [','] + lcDeclarant + [','] + lcFunctie + [','] + lcIndiceitm + [',] + lcTipModificare + ; + [,'] + lcCaenRevizie + ['); end;] + + Case Inlist(lcActiune, "INSERT", "UPDATE") + lcSql = [begin pack_drepturi.firmemodinsproc(] + lcId + [,'] + lcfirma + [','] + lcantet + [','] + ; + lcCodF + [','] + lcregc + [','] + ; + lcbanca1 + [','] + lccontb1 + [','] + lcbanca2 + [','] + lccontb2 + [','] + lcBanca3 + [','] + lccontb3 + [','] + ; + lcbanca4 + [','] + lccontb4 + [','] + lcbanca5 + [','] + lccontb5 + [','] + lcBanca6 + [','] + lccontb6 + [','] + ; + lcbanca7 + [','] + lccontb7 + [','] + lcbanca8 + [','] + lccontb8 + [','] + lcBanca9 + [','] + lccontb9 + [','] + ; + lcbanca10 + [','] + lccontb10 + [','] + ; + lcadresa + [','] + lcCodFirma + ; + [',] + lnpersj + [,] + lncodang + [,'] + lcnume + ; + [','] + lcprenume + [','] + lctel + [','] + lctel2 + [','] + lctel3 + [','] + lcfax + ; + [','] + lcemail + [','] + lcoasp + [',] + lncapsv + ; + [,] + lncapss + [,'] + lcpctl + [','] + lccaen + [','] + lcschema + ; + [','] + lcjudet + [','] + lclocalitate + [','] + lcstrada + [','] + lcnumar + ; + [','] + lcbloc + [','] + lcscara + [',] + lnapart + [,'] + lccod_postal + ; + [',] + lnidm + [,] + lne_mama + [,] + lnidl + [,] + Alltrim(Str(gnIdUtil)) + ; + [,] + lnid_formaj + [,] + lnid_formao + [,] + lnid_formap + [,] + lnid_tip_soc + ; + [,'] + lcindicativ + [','] + lcDeclarant + [','] + lcFunctie + [','] + lcIndiceitm + ['] + ; + [,'] + lcCaenRevizie + ['); end;] + + *!* _cliptext = lcSql + Case lcActiune = "DELETE" + lcSql = [begin contafin_oracle.pack_drepturi.firmedelproc(] + lcId + [,] + Alltrim(Str(gnIdUtil)) + [); end;] + Endcase + This.csql = lcSql + Set Point To &lcPoint + ENDPROC + +ENDDEFINE + +DEFINE CLASS cus_odata_firme_mini AS cus_odata_firme OF "ofirma.vcx" + *< CLASSDATA: Baseclass="custom" Timestamp="" Scale="Pixels" Uniqueid="" /> + + * + Name = "cus_odata_firrme_mini" + * + +ENDDEFINE + +DEFINE CLASS frm_firme AS _frmbase OF "_frm_base.vcx" + *< CLASSDATA: Baseclass="form" Timestamp="" Scale="Pixels" Uniqueid="" /> + + *-- OBJECTDATA items order determines ZOrder / El orden de los items OBJECTDATA determina el ZOrder + *< OBJECTDATA: ObjPath="But_modifica1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="But_nou1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="But_sterge1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="grd_firme" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="grd_firme.cFirma.Header1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="grd_firme.cFirma.Text1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="grd_firme.cSchema.Header1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="grd_firme.cSchema.Text1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="grd_firme.cCod_Fiscal.Header1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="grd_firme.cCod_Fiscal.Text1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="grd_firme.cCont_Banca1.Header1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="grd_firme.cCont_Banca1.Text1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="grd_firme.cBanca1.Header1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="grd_firme.cBanca1.Text1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="grd_firme.cBanca2.Header1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="grd_firme.cBanca2.Text1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="grd_firme.cCont_Banca2.Header1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="grd_firme.cCont_Banca2.Text1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="grd_firme.cBanca3.Header1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="grd_firme.cBanca3.Text1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="grd_firme.cCont_Banca3.Header1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="grd_firme.cCont_Banca3.Text1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="grd_firme.cAdresa.Header1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="grd_firme.cAdresa.Text1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="grd_firme.cCod_Firma.Header1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="grd_firme.cCod_Firma.Text1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="grd_firme.cPersoanaJuridica.Header1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="grd_firme.cPersoanaJuridica.Check1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="grd_firme.cCodAng.Header1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="grd_firme.cCodAng.Text1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="grd_firme.cNume.Header1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="grd_firme.cNume.Text1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="grd_firme.cPrenume.Header1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="grd_firme.cPrenume.Text1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="grd_firme.cCapital_soc_sub.Header1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="grd_firme.cCapital_soc_sub.Text1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="grd_firme.cCapital_soc_var.Header1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="grd_firme.cCapital_soc_var.Text1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="grd_firme.cCaen.Header1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="grd_firme.cCaen.Text1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="grd_firme.cPunctLucru.Header1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="grd_firme.cPunctLucru.Text1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="grd_firme.cOasp.Header1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="grd_firme.cOasp.Text1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="grd_firme.cTelefon.Header1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="grd_firme.cTelefon.Text1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="grd_firme.cTelefon2.Header1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="grd_firme.cTelefon2.Text1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="grd_firme.cTelefon3.Header1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="grd_firme.cTelefon3.Text1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="grd_firme.cFax.Header1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="grd_firme.cFax.Text1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="grd_firme.cEmail.Header1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="grd_firme.cEmail.Text1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="grd_firme.cReg_Comert.Header1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="grd_firme.cReg_Comert.Text1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="grd_firme.cSucursala.Header1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="grd_firme.cSucursala.Text1" UniqueID="" Timestamp="" /> + + * + *m: do_refresh_date + * + + * + cbuton3 = but_modifica1 + cbuton4 = but_sterge1 + cgridsortlist = grd_firme + Desktop = .T. + DoCreate = .T. + Height = 515 + lactiv3 = .T. + lactiv4 = .T. + Name = "frm_firme" + Width = 791 + _shape1.Anchor = 10 + _shape1.Height = 29 + _shape1.Left = 0 + _shape1.Name = "_shape1" + _shape1.Top = 0 + _shape1.Width = 792 + _SHAPE2.Height = 29 + _SHAPE2.Left = 648 + _SHAPE2.Name = "_SHAPE2" + _SHAPE2.Top = 0 + _SHAPE2.Width = 144 + LB_TITLU_ALB_B121.Caption = "FIRME" + LB_TITLU_ALB_B121.FontBold = .T. + LB_TITLU_ALB_B121.Name = "LB_TITLU_ALB_B121" + LB_TITLU_ALB_B121.TabIndex = 9 + BUT_TERMIN1.Anchor = 9 + BUT_TERMIN1.Left = 756 + BUT_TERMIN1.Name = "BUT_TERMIN1" + BUT_TERMIN1.TabIndex = 2 + BUT_TERMIN1.Top = 1 + GRIDSORT1.Name = "GRIDSORT1" + * + + ADD OBJECT 'But_modifica1' AS but_modifica WITH ; + Anchor = 9, ; + Left = 700, ; + Name = "But_modifica1", ; + TabIndex = 4, ; + Top = 1, ; + Visible = .T. + *< END OBJECT: ClassLib="cmd_butoane.vcx" BaseClass="commandbutton" /> + + ADD OBJECT 'But_nou1' AS but_nou WITH ; + Anchor = 9, ; + Left = 671, ; + Name = "But_nou1", ; + TabIndex = 5, ; + Top = 1 + *< END OBJECT: ClassLib="cmd_butoane.vcx" BaseClass="commandbutton" /> + + ADD OBJECT 'But_sterge1' AS but_sterge WITH ; + Anchor = 9, ; + Left = 729, ; + Name = "But_sterge1", ; + TabIndex = 3, ; + Top = 1, ; + Visible = .T. + *< END OBJECT: ClassLib="cmd_butoane.vcx" BaseClass="commandbutton" /> + + ADD OBJECT 'grd_firme' AS _grdrow WITH ; + Anchor = 15, ; + ColumnCount = 27, ; + DeleteMark = .F., ; + Height = 444, ; + Left = 8, ; + Name = "grd_firme", ; + Panel = 1, ; + ReadOnly = .T., ; + RecordSource = "v_firme", ; + TabIndex = 1, ; + Top = 48, ; + Width = 775, ; + Column1.ControlSource = "firma", ; + Column1.Name = "cFirma", ; + Column1.ReadOnly = .T., ; + Column1.Width = 155, ; + Column2.ColumnOrder = 27, ; + Column2.ControlSource = "schema", ; + Column2.Name = "cSchema", ; + Column2.ReadOnly = .T., ; + Column2.Width = 120, ; + Column3.ColumnOrder = 2, ; + Column3.ControlSource = "cod_fiscal", ; + Column3.Name = "cCod_Fiscal", ; + Column3.ReadOnly = .T., ; + Column3.Width = 120, ; + Column4.ColumnOrder = 6, ; + Column4.ControlSource = "cont_banca1", ; + Column4.Name = "cCont_Banca1", ; + Column4.ReadOnly = .T., ; + Column4.Width = 161, ; + Column5.ColumnOrder = 5, ; + Column5.ControlSource = "banca1", ; + Column5.Name = "cBanca1", ; + Column5.ReadOnly = .T., ; + Column5.Width = 121, ; + Column6.ColumnOrder = 7, ; + Column6.ControlSource = "banca2", ; + Column6.Name = "cBanca2", ; + Column6.ReadOnly = .T., ; + Column6.Width = 131, ; + Column7.ColumnOrder = 8, ; + Column7.ControlSource = "cont_banca2", ; + Column7.Name = "cCont_Banca2", ; + Column7.ReadOnly = .T., ; + Column7.Width = 149, ; + Column8.ColumnOrder = 9, ; + Column8.ControlSource = "banca3", ; + Column8.Name = "cBanca3", ; + Column8.ReadOnly = .T., ; + Column8.Width = 148, ; + Column9.ColumnOrder = 10, ; + Column9.ControlSource = "cont_banca3", ; + Column9.Name = "cCont_Banca3", ; + Column9.ReadOnly = .T., ; + Column9.Width = 141, ; + Column10.ColumnOrder = 11, ; + Column10.ControlSource = "adresa", ; + Column10.Name = "cAdresa", ; + Column10.ReadOnly = .T., ; + Column10.Width = 174, ; + Column11.ColumnOrder = 12, ; + Column11.ControlSource = "cod_firma", ; + Column11.Name = "cCod_Firma", ; + Column11.ReadOnly = .T., ; + Column11.Width = 98, ; + Column12.ColumnOrder = 18, ; + Column12.ControlSource = "persoana_juridica", ; + Column12.Name = "cPersoanaJuridica", ; + Column12.ReadOnly = .T., ; + Column12.Sparse = .F., ; + Column12.Width = 99, ; + Column13.ColumnOrder = 19, ; + Column13.ControlSource = "codang", ; + Column13.Name = "cCodAng", ; + Column13.ReadOnly = .T., ; + Column13.Width = 130, ; + Column14.ColumnOrder = 20, ; + Column14.ControlSource = "nume", ; + Column14.Name = "cNume", ; + Column14.ReadOnly = .T., ; + Column14.Width = 119, ; + Column15.ColumnOrder = 21, ; + Column15.ControlSource = "prenume", ; + Column15.Name = "cPrenume", ; + Column15.ReadOnly = .T., ; + Column15.Width = 132, ; + Column16.ColumnOrder = 23, ; + Column16.ControlSource = "capital_soc_sub", ; + Column16.Name = "cCapital_soc_sub", ; + Column16.ReadOnly = .T., ; + Column16.Width = 134, ; + Column17.ColumnOrder = 24, ; + Column17.ControlSource = "capital_soc_var", ; + Column17.Name = "cCapital_soc_var", ; + Column17.ReadOnly = .T., ; + Column17.Width = 116, ; + Column18.ColumnOrder = 26, ; + Column18.ControlSource = "caen", ; + Column18.Name = "cCaen", ; + Column18.ReadOnly = .T., ; + Column18.Width = 129, ; + Column19.ColumnOrder = 25, ; + Column19.ControlSource = "punct_luc", ; + Column19.Name = "cPunctLucru", ; + Column19.ReadOnly = .T., ; + Column19.Width = 107, ; + Column20.ColumnOrder = 22, ; + Column20.ControlSource = "oasp", ; + Column20.Name = "cOasp", ; + Column20.ReadOnly = .T., ; + Column20.Width = 112, ; + Column21.ColumnOrder = 13, ; + Column21.ControlSource = "telefon", ; + Column21.Name = "cTelefon", ; + Column21.ReadOnly = .T., ; + Column21.Width = 103, ; + Column22.ColumnOrder = 14, ; + Column22.ControlSource = "telefon2", ; + Column22.Name = "cTelefon2", ; + Column22.ReadOnly = .T., ; + Column22.Width = 115, ; + Column23.ColumnOrder = 15, ; + Column23.ControlSource = "telefon3", ; + Column23.Name = "cTelefon3", ; + Column23.ReadOnly = .T., ; + Column23.Width = 125, ; + Column24.ColumnOrder = 16, ; + Column24.ControlSource = "fax", ; + Column24.Name = "cFax", ; + Column24.ReadOnly = .T., ; + Column24.Width = 118, ; + Column25.ColumnOrder = 17, ; + Column25.ControlSource = "email", ; + Column25.Name = "cEmail", ; + Column25.ReadOnly = .T., ; + Column25.Width = 122, ; + Column26.ColumnOrder = 3, ; + Column26.ControlSource = "reg_comert", ; + Column26.Name = "cReg_Comert", ; + Column26.ReadOnly = .T., ; + Column26.Width = 147, ; + Column27.ColumnOrder = 4, ; + Column27.ControlSource = "sucursala", ; + Column27.Name = "cSucursala", ; + Column27.ReadOnly = .T., ; + Column27.Width = 122 + *< END OBJECT: ClassLib="_grd_base.vcx" BaseClass="grid" /> + + ADD OBJECT 'grd_firme.cAdresa.Header1' AS header WITH ; + Alignment = 2, ; + Caption = "Adresa", ; + Name = "Header1" + *< END OBJECT: BaseClass="header" /> + + ADD OBJECT 'grd_firme.cAdresa.Text1' AS textbox WITH ; + BackColor = 255,255,255, ; + BorderStyle = 0, ; + ForeColor = 0,0,0, ; + Margin = 0, ; + Name = "Text1", ; + ReadOnly = .T. + *< END OBJECT: BaseClass="textbox" /> + + ADD OBJECT 'grd_firme.cBanca1.Header1' AS header WITH ; + Alignment = 2, ; + Caption = "Banca 1", ; + Name = "Header1" + *< END OBJECT: BaseClass="header" /> + + ADD OBJECT 'grd_firme.cBanca1.Text1' AS textbox WITH ; + BackColor = 255,255,255, ; + BorderStyle = 0, ; + ForeColor = 0,0,0, ; + Margin = 0, ; + Name = "Text1", ; + ReadOnly = .T. + *< END OBJECT: BaseClass="textbox" /> + + ADD OBJECT 'grd_firme.cBanca2.Header1' AS header WITH ; + Alignment = 2, ; + Caption = "Banca 2", ; + Name = "Header1" + *< END OBJECT: BaseClass="header" /> + + ADD OBJECT 'grd_firme.cBanca2.Text1' AS textbox WITH ; + BackColor = 255,255,255, ; + BorderStyle = 0, ; + ForeColor = 0,0,0, ; + Margin = 0, ; + Name = "Text1", ; + ReadOnly = .T. + *< END OBJECT: BaseClass="textbox" /> + + ADD OBJECT 'grd_firme.cBanca3.Header1' AS header WITH ; + Alignment = 2, ; + Caption = "Banca 3", ; + Name = "Header1" + *< END OBJECT: BaseClass="header" /> + + ADD OBJECT 'grd_firme.cBanca3.Text1' AS textbox WITH ; + BackColor = 255,255,255, ; + BorderStyle = 0, ; + ForeColor = 0,0,0, ; + Margin = 0, ; + Name = "Text1", ; + ReadOnly = .T. + *< END OBJECT: BaseClass="textbox" /> + + ADD OBJECT 'grd_firme.cCaen.Header1' AS header WITH ; + Alignment = 2, ; + Caption = "CAEN", ; + Name = "Header1" + *< END OBJECT: BaseClass="header" /> + + ADD OBJECT 'grd_firme.cCaen.Text1' AS textbox WITH ; + Alignment = 3, ; + BackColor = 255,255,255, ; + BorderStyle = 0, ; + ForeColor = 0,0,0, ; + Margin = 0, ; + Name = "Text1", ; + ReadOnly = .T. + *< END OBJECT: BaseClass="textbox" /> + + ADD OBJECT 'grd_firme.cCapital_soc_sub.Header1' AS header WITH ; + Alignment = 2, ; + Caption = "Capital social subscris", ; + Name = "Header1" + *< END OBJECT: BaseClass="header" /> + + ADD OBJECT 'grd_firme.cCapital_soc_sub.Text1' AS textbox WITH ; + BackColor = 255,255,255, ; + BorderStyle = 0, ; + ForeColor = 0,0,0, ; + Margin = 0, ; + Name = "Text1", ; + ReadOnly = .T. + *< END OBJECT: BaseClass="textbox" /> + + ADD OBJECT 'grd_firme.cCapital_soc_var.Header1' AS header WITH ; + Alignment = 2, ; + Caption = "Capital social varsat", ; + Name = "Header1" + *< END OBJECT: BaseClass="header" /> + + ADD OBJECT 'grd_firme.cCapital_soc_var.Text1' AS textbox WITH ; + BackColor = 255,255,255, ; + BorderStyle = 0, ; + ForeColor = 0,0,0, ; + Margin = 0, ; + Name = "Text1", ; + ReadOnly = .T. + *< END OBJECT: BaseClass="textbox" /> + + ADD OBJECT 'grd_firme.cCod_Firma.Header1' AS header WITH ; + Alignment = 2, ; + Caption = "Cod firma", ; + Name = "Header1" + *< END OBJECT: BaseClass="header" /> + + ADD OBJECT 'grd_firme.cCod_Firma.Text1' AS textbox WITH ; + BackColor = 255,255,255, ; + BorderStyle = 0, ; + ForeColor = 0,0,0, ; + Margin = 0, ; + Name = "Text1", ; + ReadOnly = .T. + *< END OBJECT: BaseClass="textbox" /> + + ADD OBJECT 'grd_firme.cCod_Fiscal.Header1' AS header WITH ; + Alignment = 2, ; + Caption = "Cod fiscal", ; + Name = "Header1" + *< END OBJECT: BaseClass="header" /> + + ADD OBJECT 'grd_firme.cCod_Fiscal.Text1' AS textbox WITH ; + BackColor = 255,255,255, ; + BorderStyle = 0, ; + ForeColor = 0,0,0, ; + Margin = 0, ; + Name = "Text1", ; + ReadOnly = .T. + *< END OBJECT: BaseClass="textbox" /> + + ADD OBJECT 'grd_firme.cCodAng.Header1' AS header WITH ; + Alignment = 2, ; + Caption = "Cod ang.", ; + Name = "Header1" + *< END OBJECT: BaseClass="header" /> + + ADD OBJECT 'grd_firme.cCodAng.Text1' AS textbox WITH ; + BackColor = 255,255,255, ; + BorderStyle = 0, ; + ForeColor = 0,0,0, ; + Margin = 0, ; + Name = "Text1", ; + ReadOnly = .T. + *< END OBJECT: BaseClass="textbox" /> + + ADD OBJECT 'grd_firme.cCont_Banca1.Header1' AS header WITH ; + Alignment = 2, ; + Caption = "Cont banca 1", ; + Name = "Header1" + *< END OBJECT: BaseClass="header" /> + + ADD OBJECT 'grd_firme.cCont_Banca1.Text1' AS textbox WITH ; + BackColor = 255,255,255, ; + BorderStyle = 0, ; + ForeColor = 0,0,0, ; + Margin = 0, ; + Name = "Text1", ; + ReadOnly = .T. + *< END OBJECT: BaseClass="textbox" /> + + ADD OBJECT 'grd_firme.cCont_Banca2.Header1' AS header WITH ; + Alignment = 2, ; + Caption = "Cont banca 2", ; + Name = "Header1" + *< END OBJECT: BaseClass="header" /> + + ADD OBJECT 'grd_firme.cCont_Banca2.Text1' AS textbox WITH ; + BackColor = 255,255,255, ; + BorderStyle = 0, ; + ForeColor = 0,0,0, ; + Margin = 0, ; + Name = "Text1", ; + ReadOnly = .T. + *< END OBJECT: BaseClass="textbox" /> + + ADD OBJECT 'grd_firme.cCont_Banca3.Header1' AS header WITH ; + Alignment = 2, ; + Caption = "Cont banca 3", ; + Name = "Header1" + *< END OBJECT: BaseClass="header" /> + + ADD OBJECT 'grd_firme.cCont_Banca3.Text1' AS textbox WITH ; + BackColor = 255,255,255, ; + BorderStyle = 0, ; + ForeColor = 0,0,0, ; + Margin = 0, ; + Name = "Text1", ; + ReadOnly = .T. + *< END OBJECT: BaseClass="textbox" /> + + ADD OBJECT 'grd_firme.cEmail.Header1' AS header WITH ; + Alignment = 2, ; + Caption = "E-mail", ; + Name = "Header1" + *< END OBJECT: BaseClass="header" /> + + ADD OBJECT 'grd_firme.cEmail.Text1' AS textbox WITH ; + BackColor = 255,255,255, ; + BorderStyle = 0, ; + ForeColor = 0,0,0, ; + Margin = 0, ; + Name = "Text1", ; + ReadOnly = .T. + *< END OBJECT: BaseClass="textbox" /> + + ADD OBJECT 'grd_firme.cFax.Header1' AS header WITH ; + Alignment = 2, ; + Caption = "Fax", ; + Name = "Header1" + *< END OBJECT: BaseClass="header" /> + + ADD OBJECT 'grd_firme.cFax.Text1' AS textbox WITH ; + BackColor = 255,255,255, ; + BorderStyle = 0, ; + ForeColor = 0,0,0, ; + Margin = 0, ; + Name = "Text1", ; + ReadOnly = .T. + *< END OBJECT: BaseClass="textbox" /> + + ADD OBJECT 'grd_firme.cFirma.Header1' AS header WITH ; + Alignment = 2, ; + Caption = "Firma", ; + Name = "Header1" + *< END OBJECT: BaseClass="header" /> + + ADD OBJECT 'grd_firme.cFirma.Text1' AS textbox WITH ; + BackColor = 255,255,255, ; + BorderStyle = 0, ; + ForeColor = 0,0,0, ; + Margin = 0, ; + Name = "Text1", ; + ReadOnly = .T. + *< END OBJECT: BaseClass="textbox" /> + + ADD OBJECT 'grd_firme.cNume.Header1' AS header WITH ; + Alignment = 2, ; + Caption = "Nume", ; + Name = "Header1" + *< END OBJECT: BaseClass="header" /> + + ADD OBJECT 'grd_firme.cNume.Text1' AS textbox WITH ; + BackColor = 255,255,255, ; + BorderStyle = 0, ; + ForeColor = 0,0,0, ; + Margin = 0, ; + Name = "Text1", ; + ReadOnly = .T. + *< END OBJECT: BaseClass="textbox" /> + + ADD OBJECT 'grd_firme.cOasp.Header1' AS header WITH ; + Alignment = 2, ; + Caption = "Oasp", ; + Name = "Header1" + *< END OBJECT: BaseClass="header" /> + + ADD OBJECT 'grd_firme.cOasp.Text1' AS textbox WITH ; + BackColor = 255,255,255, ; + BorderStyle = 0, ; + ForeColor = 0,0,0, ; + Margin = 0, ; + Name = "Text1", ; + ReadOnly = .T. + *< END OBJECT: BaseClass="textbox" /> + + ADD OBJECT 'grd_firme.cPersoanaJuridica.Check1' AS checkbox WITH ; + Alignment = 2, ; + BackStyle = 0, ; + Caption = "", ; + Centered = .T., ; + Height = 17, ; + Left = 47, ; + Name = "Check1", ; + ReadOnly = .T., ; + Top = 35, ; + Width = 60 + *< END OBJECT: BaseClass="checkbox" /> + + ADD OBJECT 'grd_firme.cPersoanaJuridica.Header1' AS header WITH ; + Alignment = 2, ; + Caption = "Persoana juridica", ; + Name = "Header1" + *< END OBJECT: BaseClass="header" /> + + ADD OBJECT 'grd_firme.cPrenume.Header1' AS header WITH ; + Alignment = 2, ; + Caption = "Prenume", ; + Name = "Header1" + *< END OBJECT: BaseClass="header" /> + + ADD OBJECT 'grd_firme.cPrenume.Text1' AS textbox WITH ; + BackColor = 255,255,255, ; + BorderStyle = 0, ; + ForeColor = 0,0,0, ; + Margin = 0, ; + Name = "Text1", ; + ReadOnly = .T. + *< END OBJECT: BaseClass="textbox" /> + + ADD OBJECT 'grd_firme.cPunctLucru.Header1' AS header WITH ; + Alignment = 2, ; + Caption = "Punct de lucru", ; + Name = "Header1" + *< END OBJECT: BaseClass="header" /> + + ADD OBJECT 'grd_firme.cPunctLucru.Text1' AS textbox WITH ; + BackColor = 255,255,255, ; + BorderStyle = 0, ; + ForeColor = 0,0,0, ; + Margin = 0, ; + Name = "Text1", ; + ReadOnly = .T. + *< END OBJECT: BaseClass="textbox" /> + + ADD OBJECT 'grd_firme.cReg_Comert.Header1' AS header WITH ; + Alignment = 2, ; + Caption = "Reg. comert", ; + Name = "Header1" + *< END OBJECT: BaseClass="header" /> + + ADD OBJECT 'grd_firme.cReg_Comert.Text1' AS textbox WITH ; + BackColor = 255,255,255, ; + BorderStyle = 0, ; + ForeColor = 0,0,0, ; + Margin = 0, ; + Name = "Text1", ; + ReadOnly = .T. + *< END OBJECT: BaseClass="textbox" /> + + ADD OBJECT 'grd_firme.cSchema.Header1' AS header WITH ; + Alignment = 2, ; + Caption = "Schema", ; + Name = "Header1" + *< END OBJECT: BaseClass="header" /> + + ADD OBJECT 'grd_firme.cSchema.Text1' AS textbox WITH ; + BackColor = 255,255,255, ; + BorderStyle = 0, ; + ForeColor = 0,0,0, ; + Margin = 0, ; + Name = "Text1", ; + ReadOnly = .T. + *< END OBJECT: BaseClass="textbox" /> + + ADD OBJECT 'grd_firme.cSucursala.Header1' AS header WITH ; + Alignment = 2, ; + Caption = "Sucursala", ; + Name = "Header1" + *< END OBJECT: BaseClass="header" /> + + ADD OBJECT 'grd_firme.cSucursala.Text1' AS textbox WITH ; + BackColor = 255,255,255, ; + BorderStyle = 0, ; + ForeColor = 0,0,0, ; + Margin = 0, ; + Name = "Text1", ; + ReadOnly = .T. + *< END OBJECT: BaseClass="textbox" /> + + ADD OBJECT 'grd_firme.cTelefon.Header1' AS header WITH ; + Alignment = 2, ; + Caption = "Telefon", ; + Name = "Header1" + *< END OBJECT: BaseClass="header" /> + + ADD OBJECT 'grd_firme.cTelefon.Text1' AS textbox WITH ; + BackColor = 255,255,255, ; + BorderStyle = 0, ; + ForeColor = 0,0,0, ; + Margin = 0, ; + Name = "Text1", ; + ReadOnly = .T. + *< END OBJECT: BaseClass="textbox" /> + + ADD OBJECT 'grd_firme.cTelefon2.Header1' AS header WITH ; + Alignment = 2, ; + Caption = "Telefon 2", ; + Name = "Header1" + *< END OBJECT: BaseClass="header" /> + + ADD OBJECT 'grd_firme.cTelefon2.Text1' AS textbox WITH ; + BackColor = 255,255,255, ; + BorderStyle = 0, ; + ForeColor = 0,0,0, ; + Margin = 0, ; + Name = "Text1", ; + ReadOnly = .T. + *< END OBJECT: BaseClass="textbox" /> + + ADD OBJECT 'grd_firme.cTelefon3.Header1' AS header WITH ; + Alignment = 2, ; + Caption = "Telefon 3", ; + Name = "Header1" + *< END OBJECT: BaseClass="header" /> + + ADD OBJECT 'grd_firme.cTelefon3.Text1' AS textbox WITH ; + BackColor = 255,255,255, ; + BorderStyle = 0, ; + ForeColor = 0,0,0, ; + Margin = 0, ; + Name = "Text1", ; + ReadOnly = .T. + *< END OBJECT: BaseClass="textbox" /> + + PROCEDURE actualizeaza_grid1 + Lparameters pcFiltru + Local lcFiltru + lcFiltru=pcFiltru + If Empty(lcFiltru) + lcFiltru=pofirme.ca_baza1.cfiltru + Endif + save_grid_tag(Thisform.grd_firme) + pofirme.ca_baza1.cfiltru=lcFiltru + pofirme.ca_baza1.afisare() + restore_grid_tag(Thisform.grd_firme) + Thisform.grd_firme.SetFocus() + + ENDPROC + + PROCEDURE Destroy + If Used('v_firme') + Use In v_firme + Endif + ENDPROC + + PROCEDURE do_adauga + Local lcSql, llSucces, loRec + Private pcSchema, pnLuna, pnAn + *:Global gnButon + gnButon=1 + Select v_firme + Scatter Name loRec Blank + + AddProperty(loRec, "an", Year(Date())) + AddProperty(loRec, "luna", Month(Date())) + + Do Adauga_Modifica_Inregistrare With "firme_mini",loRec,,"INSERT" + + If gnButon=1 + *** import dump firma noua doar pentru firme simple si firma mama, nu pentru membru grup care are deja schema creata pe mama + If Nvl(loRec.id_mama, 0) = 0 + pcSchema = Alltrim(loRec.schema) + pnAn = loRec.an + pnLuna = loRec.luna + + lcSql = [begin SYN_NEWSCHEMAJOB(?pcSchema, ?pnLuna, ?pnAn); end;] + llSucces = goExecutor.oExecuta(m.lcSql) + If llSucces + _Screen.cNewSchema = m.pcSchema + _Screen.nNewSchemaAn = m.pnAn + _Screen.nNewSchemaLuna = m.pnLuna + _Screen.cTime = Time() + _Screen.oFundal.tmrProgressBar.Enabled = .T. + + AMESSAGEBOX('Se creeaza firma "' + Alltrim(loRec.firma) + '" in baza de date!' + Chr(13) + Chr(10) + ; + 'Urmariti progresul in formularul principal.',0+64+4096,_Screen.Caption) + Endif + Endif + + This.actualizeaza_grid1() + Endif + + ENDPROC + + PROCEDURE do_modifica + If Reccount('v_firme')>0 + gnButon=1 + Select v_firme + Scatter Name loRec + AddProperty(loRec, "an", Year(Date())) + AddProperty(loRec, "luna", Month(Date())) + + Do Adauga_Modifica_Inregistrare With "firme_mini",loRec,loRec.Id_firma,"UPDATE" + + If gnButon=1 + This.actualizeaza_grid1() + Endif + Endif + ENDPROC + + PROCEDURE do_refresh_date + ENDPROC + + PROCEDURE do_sterge + If Reccount('v_firme')>0 + gnButon=1 + Select v_firme + Scatter Name loRec + Do STERGE_INREGISTRARE With "firme_mini",loRec.Id_firma + If gnButon=1 + This.actualizeaza_grid1() + Endif + Endif + ENDPROC + + PROCEDURE grd_firme.Init + *!* MAMA : ALBASTRU DESCHIS + *!* SUCURSALA : GALBEN PAI + *!* FIRMA INDEPENDENTA : ALB + THIS.SetAll("dynamicbackcolor","iif(e_mama = 1, RGB(255,255,225), IIF(NVL(id_mama,0) <> 0, RGB(240,241,255), RGB(255,255,255)))","Column") + ENDPROC + +ENDDEFINE + +DEFINE CLASS frm_firme_mini_nou AS _frmbase OF "_frm_base.vcx" + *< CLASSDATA: Baseclass="form" Timestamp="" Scale="Pixels" Uniqueid="" /> + + *-- OBJECTDATA items order determines ZOrder / El orden de los items OBJECTDATA determina el ZOrder + *< OBJECTDATA: ObjPath="Cus_odata_firme_mini1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="But_renunt1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="_label1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="txtSchema" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="lblFirma" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="txtFirma" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="optGrup" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="cboLuna" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="cboAn" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="lblLunaInitializare" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="cboGrupParinte" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="lblGrupParinte" UniqueID="" Timestamp="" /> + + * + *m: sucursala + *m: verificaschema + *p: id_judet + *p: nid + *p: orec + *p: parenta + * + + * + BorderStyle = 3 + Desktop = .T. + DoCreate = .T. + Height = 227 + id_judet = 0 + Name = "frm_firme_mini_nou" + nid = + orec = + parenta = 0 + ScrollBars = 2 + Width = 415 + _shape1.Anchor = 10 + _shape1.Height = 29 + _shape1.Left = 0 + _shape1.Name = "_shape1" + _shape1.Top = 0 + _shape1.Width = 702 + _shape1.ZOrderSet = 1 + _SHAPE2.Height = 29 + _SHAPE2.Left = 593 + _SHAPE2.Name = "_SHAPE2" + _SHAPE2.Top = 0 + _SHAPE2.Width = 72 + _SHAPE2.ZOrderSet = 2 + LB_TITLU_ALB_B121.Caption = "ADAUGARE FIRMA" + LB_TITLU_ALB_B121.FontBold = .T. + LB_TITLU_ALB_B121.Name = "LB_TITLU_ALB_B121" + LB_TITLU_ALB_B121.TabIndex = 9 + LB_TITLU_ALB_B121.ZOrderSet = 3 + BUT_TERMIN1.Anchor = 9 + BUT_TERMIN1.Left = 383 + BUT_TERMIN1.Name = "BUT_TERMIN1" + BUT_TERMIN1.TabIndex = 7 + BUT_TERMIN1.Top = 0 + BUT_TERMIN1.ZOrderSet = 4 + Gridsort1.Left = 12 + Gridsort1.Name = "Gridsort1" + Gridsort1.Top = 264 + * + + ADD OBJECT '_label1' AS _label WITH ; + Caption = "Schema", ; + FontBold = .T., ; + Left = 14, ; + Name = "_label1", ; + TabIndex = 10, ; + Top = 77, ; + ZOrderSet = 7 + *< END OBJECT: ClassLib="_baza.vcx" BaseClass="label" /> + + ADD OBJECT 'But_renunt1' AS but_renunt WITH ; + Anchor = 9, ; + Left = 353, ; + Name = "But_renunt1", ; + TabIndex = 8, ; + Top = 0, ; + ZOrderSet = 6 + *< END OBJECT: ClassLib="cmd_butoane.vcx" BaseClass="commandbutton" /> + + ADD OBJECT 'cboAn' AS _combobox WITH ; + BoundTo = .T., ; + ControlSource = "poRec.an", ; + Height = 24, ; + Left = 199, ; + Name = "cboAn", ; + RowSource = "2000,2001,2002,2003,2004,2005,2006,2007,2008,2009,2010,2011,2012,2013,2014,2015,2016,2017,2018,2019,2020,2021", ; + RowSourceType = 1, ; + TabIndex = 6, ; + Top = 181, ; + Width = 63, ; + ZOrderSet = 11 + *< END OBJECT: ClassLib="_baza.vcx" BaseClass="combobox" /> + + ADD OBJECT 'cboGrupParinte' AS _combobox WITH ; + ColumnCount = 2, ; + ColumnLines = .F., ; + ColumnWidths = "200,50", ; + Height = 24, ; + Left = 125, ; + Name = "cboGrupParinte", ; + RowSource = "crsGrupuri.firma", ; + RowSourceType = 6, ; + TabIndex = 4, ; + Top = 150, ; + Visible = .F., ; + Width = 256, ; + ZOrderSet = 13 + *< END OBJECT: ClassLib="_baza.vcx" BaseClass="combobox" /> + + ADD OBJECT 'cboLuna' AS _combobox WITH ; + BoundTo = .T., ; + ControlSource = "poRec.luna", ; + Height = 24, ; + Left = 142, ; + Name = "cboLuna", ; + RowSource = "1,2,3,4,5,6,7,8,9,10,11,12", ; + RowSourceType = 1, ; + TabIndex = 5, ; + Top = 181, ; + Width = 51, ; + ZOrderSet = 10 + *< END OBJECT: ClassLib="_baza.vcx" BaseClass="combobox" /> + + ADD OBJECT 'Cus_odata_firme_mini1' AS cus_odata_firme_mini WITH ; + Left = 0, ; + Name = "Cus_odata_firme_mini1", ; + Top = 36 + *< END OBJECT: ClassLib="ofirma.vcx" BaseClass="custom" /> + + ADD OBJECT 'lblFirma' AS _label WITH ; + Caption = "Firma", ; + FontBold = .T., ; + Left = 14, ; + Name = "lblFirma", ; + TabIndex = 11, ; + Top = 51, ; + ZOrderSet = 7 + *< END OBJECT: ClassLib="_baza.vcx" BaseClass="label" /> + + ADD OBJECT 'lblGrupParinte' AS _label WITH ; + Caption = "Grup parinte", ; + FontBold = .T., ; + Left = 125, ; + Name = "lblGrupParinte", ; + TabIndex = 13, ; + Top = 131, ; + Visible = .F., ; + ZOrderSet = 14 + *< END OBJECT: ClassLib="_baza.vcx" BaseClass="label" /> + + ADD OBJECT 'lblLunaInitializare' AS _label WITH ; + Caption = "Luna de initializare", ; + FontBold = .T., ; + Left = 14, ; + Name = "lblLunaInitializare", ; + TabIndex = 12, ; + Top = 185, ; + ZOrderSet = 12 + *< END OBJECT: ClassLib="_baza.vcx" BaseClass="label" /> + + ADD OBJECT 'optGrup' AS _optiongrup WITH ; + AutoSize = .T., ; + ButtonCount = 3, ; + Height = 65, ; + Left = 14, ; + Name = "optGrup", ; + TabIndex = 3, ; + Top = 110, ; + Width = 101, ; + ZOrderSet = 9, ; + Option1.AutoSize = .T., ; + Option1.Caption = "Firma simpla", ; + Option1.FontCharSet = 238, ; + Option1.Left = 5, ; + Option1.Name = "Option1", ; + Option1.Top = 5, ; + Option2.AutoSize = .T., ; + Option2.Caption = "Grup", ; + Option2.Left = 5, ; + Option2.Name = "Option2", ; + Option2.Top = 24, ; + Option3.AutoSize = .T., ; + Option3.BackStyle = 0, ; + Option3.Caption = "Membru grup", ; + Option3.Height = 17, ; + Option3.Left = 5, ; + Option3.Name = "Option3", ; + Option3.Top = 43, ; + Option3.Width = 91 + *< END OBJECT: ClassLib="_baza.vcx" BaseClass="optiongroup" /> + + ADD OBJECT 'txtFirma' AS _textbox WITH ; + ControlSource = "porec.firma", ; + Format = "!K", ; + Height = 23, ; + Left = 70, ; + Name = "txtFirma", ; + TabIndex = 1, ; + Top = 48, ; + Width = 327, ; + ZOrderSet = 8 + *< END OBJECT: ClassLib="_baza.vcx" BaseClass="textbox" /> + + ADD OBJECT 'txtSchema' AS _textbox WITH ; + ControlSource = "porec.schema", ; + Format = "!K", ; + Height = 23, ; + Left = 70, ; + Name = "txtSchema", ; + TabIndex = 2, ; + Top = 74, ; + Width = 233, ; + ZOrderSet = 8 + *< END OBJECT: ClassLib="_baza.vcx" BaseClass="textbox" /> + + PROCEDURE Destroy + USE IN (SELECT('crsScheme')) + USE IN (SELECT('crsGrupuri')) + ENDPROC + + PROCEDURE inainte_de_do_termin + Local PLRETURN + LOCAL llModificare + llModificare = (This.cus_odata_firme_mini1.cactiune = 'UPDATE') + + lccontrol = Upper(This.ActiveControl.BaseClass ) + If Inlist(lccontrol,"TEXTBOX","EDITBOX","COMBOBOX") + lcval=This.ActiveControl.ControlSource + &lcval=Thisform.ActiveControl.Value + Endif + + If !Isnull(poRec.id_mama) && membra grup => schema = schema mama + lcSchema = Alltrim(crsGrupuri.schema) + Else + lcSchema = Strtran(Left(poRec.schema,30),' ','') + Endif + poRec.schema = m.lcSchema + + AddProperty(poRec,"tip_modificare", 0) + poRec.e_mama = Iif(Thisform.optGrup.Value = 2, 1, 0) + + + Do Case + Case Empty(poRec.firma) + aMessagebox('Nu ati completat numele firmei!',0+48,"Atentie") + Thisform.clb_firma.text_simplu1.SetFocus() + PLRETURN=.F. + Case Empty(poRec.schema) + aMessagebox('Nu ati completat numele schemei!',0+48,"Atentie") + Thisform.txtSchema.SetFocus() + PLRETURN=.F. + CASE !m.llModificare AND Thisform.Verificaschema() + AMESSAGEBOX('Schema ' + ALLTRIM(poRec.Schema) + ' exista pe server! Incercati alt nume de schema.',0+64, _screen.Caption) + Thisform.txtSchema.SetFocus() + PLRETURN=.F. + Case poRec.e_mama = 1 And Nvl(poRec.id_mama,0) <> 0 + aMessagebox('O firma nu poate face parte dintr-un grup parinte si sa fie si grup!', 0+48,'Atentie') + poRec.e_mama = 0 + This.CHKMama.Refresh() + PLRETURN=.F. + Case Empty(Nvl(poRec.tip_modificare,0)) And gcNumeProgram = [ROADEF] + aMessagebox("Nu ati ales tipul operatiei pentru registrul electronic al salariatilor!",48,"Atentie") + Thisform.cb_tx_operatie._cbbase1.SetFocus() + Otherwise + *!* && DACA SUNT IN ROASTART (CONTAFIN_ORACLE) - NU AM NOMENCLATOARELE DE JUDETE, LOCALITATI + *!* && LE FAC NULL, IAR IN PROCEDURA DE MODIFICARE NU LE MODIFIC DACA SUNT NULL + *!* IF !this.ct_clb_localitate.Visible + *!* THIS.OREC.ID_LOC = NULL + *!* + *!* ENDIF + + PLRETURN=Thisform.cus_odata_firme_mini1.salvare(This.OREC,This.NID) + + Endcase + Return PLRETURN + + ENDPROC + + PROCEDURE Init + Lparameters toRec, tnId, tcActiune + Local lcLista, lnAn + DoDefault() + This.orec= toRec + This.nid = tnId + This.cus_odata_firme_mini1.cactiune = tcActiune + IF UPPER(tcActiune) = 'UPDATE' + THIS.lblLunaInitializare.Visible = .F. + this.cboLuna.Visible = .F. + This.cboAn.Visible = .F. + this.txtSchema.ReadOnly = .T. + this.lb_titlu_alb_b121.Caption = 'MODIFICARE FIRMA' + ENDIF + lcLista = '2000' + FOR lnAn = 2001 TO YEAR(DATE()) + lcLista = lcLista + ',' + ALLTRIM(STR(m.lnAn)) + ENDFOR + this.cboAn.RowSource = m.lcLista + ENDPROC + + PROCEDURE Load + *!* populez cursorul cu grupuri parinte + CREATE CURSOR crsGrupuri (id_firma i null, firma c(100), schema c(100)) + INSERT INTO crsGrupuri (id_firma, firma, schema) VALUES (NULL, "", "") + + CREATE CURSOR crsScheme (schema c(30)) + SELECT crsScheme + INDEX on schema TAG schema + + lcSql = [select id_firma, firma, schema from syn_v_nom_firme where id_firma <> ] + ALLTRIM(STR(poRec.id_firma)) + [ and e_mama = 1 ORDER BY firma] + llSucces = goExecutor.oExecuta(m.lcSql, "crsGrupuriTemp") + IF m.llSucces + SELECT crsGrupuri + APPEND FROM DBF('crsGrupuriTemp') + ENDIF + + USE IN (SELECT('crsGrupuriTemp')) + + + lcSql = [select rpad(UPPER(username), 30, ' ') as schema from all_users order by username] + + llSucces = goExecutor.oExecuta(lcSql, "crsSchemeTemp") + IF m.llSucces + SELECT crsScheme + APPEND FROM DBF('crsSchemeTemp') + ENDIF + + USE IN (SELECT('crsSchemeTemp')) + ENDPROC + + PROCEDURE sucursala + ENDPROC + + PROCEDURE verificaschema + Local lcSchema + lcSchema = ALLTRIM(UPPER(poRec.schema)) + + RETURN Seek(m.lcSchema, 'crsScheme', 'schema') + ENDPROC + + PROCEDURE cboGrupParinte.Init + IF !ISNULL(poRec.id_mama) + SELECT crsGrupuri + LOCATE FOR id_firma = poRec.id_mama + IF FOUND() + this.Value = firma + ELSE + GO TOP + poRec.id_mama = NULL + THIS.Value = "" + ENDIF + ENDIF + ENDPROC + + PROCEDURE cboGrupParinte.Valid + poRec.id_mama = crsGrupuri.id_firma + IF !ISNULL(poRec.id_mama) + poRec.e_mama = 0 + ENDIF + ENDPROC + + PROCEDURE optGrup.Valid + LOCAL llMembruGrup, llInitializare + + llMembruGrup = (this.value = 3) + llInitializare = Thisform.cus_odata_firme_mini1.cactiune = 'INSERT' AND !llMembruGrup + + thisform.lblGrupParinte.Visible = m.llMembruGrup + thisform.cboGrupParinte.Visible = m.llMembruGrup + thisform.lblLunaInitializare.Visible = m.llInitializare + thisform.cboLuna.Visible = m.llInitializare + thisform.cboAn.Visible = m.llInitializare + + thisform.txtSchema.Visible = !m.llMembruGrup + IF !m.llMembruGrup + poRec.id_mama = NULL + ENDIF + THISFORM.Refresh() + ENDPROC + + PROCEDURE txtFirma.Valid + Local lcCaracter, lcSchema, i + + If Empty(poRec.schema) + lcSchema = Upper(Alltrim(Strtran(poRec.firma, ' '))) + + For i = 1 To Len(m.lcSchema) + lcCaracter = Left(m.lcSchema, 1) + If Inlist(m.lcCaracter, '/', '\', ':', '*', '?', '<', '>', '"', '|', '&') + lcSchema = Strtran(m.lcSchema, m.lcCaracter, '') + Endif + Endfor + poRec.schema = m.lcSchema + Thisform.txtSchema.Refresh + Endif + + ENDPROC + + PROCEDURE txtSchema.Valid + IF Thisform.Verificaschema() + AMESSAGEBOX('Schema ' + ALLTRIM(poRec.schema) + ' exista pe server! Incercati alt nume de schema.',0+64, _screen.Caption) + RETURN 0 + ENDIF + + ENDPROC + +ENDDEFINE + +DEFINE CLASS frm_firme_nou AS _frmbase OF "_frm_base.vcx" + *< CLASSDATA: Baseclass="form" Timestamp="" Scale="Pixels" Uniqueid="" /> + + *-- OBJECTDATA items order determines ZOrder / El orden de los items OBJECTDATA determina el ZOrder + *< OBJECTDATA: ObjPath="But_renunt1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="Clb_cod_fiscal" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="Clb_reg_comert" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="Clb_banca1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="Clb_cont_banca1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="Clb_banca2" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="Clb_cont_banca2" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="Clb_banca3" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="Clb_cont_banca3" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="Clb_cod_firma" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="Clb_capsocvar" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="Clb_email" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="Clb_caen" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="Clb_codang" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="Clb_nume" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="Clb_prenume" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="Clb_telefon" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="Clb_telefon2" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="Clb_telefon3" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="Clb_capsocsub" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="Clb_oasp" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="Ed_adresa" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="Cus_odata_firme1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="Ed_tx_simplu1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="Clb_tx_simplu6" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="Clb_tx_simplu7" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="Clb_tx_simplu8" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="Clb_tx_simplu9" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="Clb_tx_simplu10" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="Clb_tx_simplu11" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="Clb_tx_simplu1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="Cb_tx_categorie" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="Clb_schema" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="Ct_clb_formaj" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="Ct_clb_nivel" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="Ct_clb_organizare" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="Ct_clb_proprietate" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="Clb_itm" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="Cb_tx_operatie" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="chkMama" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="Cb_tx_mama" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="Clb_declarant" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="Clb_functie" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="Ct_localitate1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="Cb_tx_caen_revizie" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="Clb_banca4" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="Clb_cont_banca4" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="Clb_banca5" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="Clb_cont_banca5" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="Clb_banca6" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="Clb_cont_banca6" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="Clb_banca7" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="Clb_cont_banca7" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="Clb_banca8" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="Clb_cont_banca8" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="Clb_banca9" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="Clb_cont_banca9" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="Clb_banca10" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="Clb_cont_banca10" UniqueID="" Timestamp="" /> + + * + *m: alege_fj + *m: alege_judet + *m: alege_localitate + *m: alege_mama + *m: alege_nivel + *m: alege_organizare + *m: alege_proprietate + *m: sucursala + *p: id_judet + *p: jcategorie + *p: nid + *p: orec + *p: parenta + * + + * + BorderStyle = 3 + Desktop = .T. + DoCreate = .T. + Height = 550 + id_judet = 0 + jcategorie = 1 + Name = "frm_firme_nou" + nid = + orec = + parenta = 0 + ScrollBars = 2 + Width = 867 + _shape1.Height = 29 + _shape1.Left = 0 + _shape1.Name = "_shape1" + _shape1.Top = 0 + _shape1.Width = 836 + _SHAPE2.Height = 29 + _SHAPE2.Left = 764 + _SHAPE2.Name = "_SHAPE2" + _SHAPE2.Top = 0 + _SHAPE2.Visible = .T. + _SHAPE2.Width = 72 + LB_TITLU_ALB_B121.Caption = "FIRMA" + LB_TITLU_ALB_B121.FontBold = .T. + LB_TITLU_ALB_B121.Name = "LB_TITLU_ALB_B121" + LB_TITLU_ALB_B121.TabIndex = 60 + BUT_TERMIN1.Left = 803 + BUT_TERMIN1.Name = "BUT_TERMIN1" + BUT_TERMIN1.TabIndex = 55 + BUT_TERMIN1.Top = 1 + Gridsort1.Left = 20 + Gridsort1.Name = "Gridsort1" + Gridsort1.Top = 214 + * + + ADD OBJECT 'But_renunt1' AS but_renunt WITH ; + Left = 769, ; + Name = "But_renunt1", ; + TabIndex = 56, ; + Top = 1 + *< END OBJECT: ClassLib="cmd_butoane.vcx" BaseClass="commandbutton" /> + + ADD OBJECT 'Cb_tx_caen_revizie' AS cb_tx_simplu WITH ; + Height = 29, ; + Left = 201, ; + Name = "Cb_tx_caen_revizie", ; + TabIndex = 5, ; + Top = 120, ; + Width = 125, ; + _cbbase1.BoundTo = .T., ; + _cbbase1.ColumnCount = 1, ; + _cbbase1.ColumnLines = .F., ; + _cbbase1.ControlSource = "poRec.caen_revizie", ; + _cbbase1.Height = 23, ; + _cbbase1.Left = 54, ; + _cbbase1.Name = "_cbbase1", ; + _cbbase1.RowSource = "1,2,3,4", ; + _cbbase1.RowSourceType = 1, ; + _cbbase1.Top = 3, ; + _cbbase1.Width = 66, ; + _lbbase1.Caption = "Revizie", ; + _lbbase1.Name = "_lbbase1" + *< END OBJECT: ClassLib="lb_tx.vcx" BaseClass="container" /> + + ADD OBJECT 'Cb_tx_categorie' AS cb_tx_simplu WITH ; + Height = 29, ; + Left = 12, ; + Name = "Cb_tx_categorie", ; + TabIndex = 8, ; + Top = 204, ; + Width = 314, ; + _cbbase1.BoundColumn = 2, ; + _cbbase1.BoundTo = .T., ; + _cbbase1.ColumnCount = 2, ; + _cbbase1.ControlSource = "thisform.jcategorie", ; + _cbbase1.Height = 23, ; + _cbbase1.Left = 90, ; + _cbbase1.Name = "_cbbase1", ; + _cbbase1.RowSource = "Persoana juridica,1,Persoana fizica,2", ; + _cbbase1.RowSourceType = 1, ; + _cbbase1.Top = 3, ; + _cbbase1.Width = 220, ; + _lbbase1.Caption = "Categorie", ; + _lbbase1.Name = "_lbbase1" + *< END OBJECT: ClassLib="lb_tx.vcx" BaseClass="container" /> + + ADD OBJECT 'Cb_tx_mama' AS cb_tx_simplu WITH ; + Height = 29, ; + Left = 12, ; + Name = "Cb_tx_mama", ; + TabIndex = 58, ; + Top = 774, ; + Width = 314, ; + _CBBASE1.ColumnCount = 2, ; + _CBBASE1.ColumnLines = .F., ; + _CBBASE1.ColumnWidths = "200,50", ; + _CBBASE1.Height = 23, ; + _CBBASE1.Left = 80, ; + _CBBASE1.Name = "_CBBASE1", ; + _CBBASE1.RowSource = "crsGrupuri.firma", ; + _CBBASE1.RowSourceType = 6, ; + _CBBASE1.TabIndex = 1, ; + _CBBASE1.Top = 3, ; + _CBBASE1.Width = 230, ; + _LBBASE1.Caption = "Grup pãrinte", ; + _LBBASE1.Name = "_LBBASE1", ; + _LBBASE1.TabIndex = 2 + *< END OBJECT: ClassLib="lb_tx.vcx" BaseClass="container" /> + + ADD OBJECT 'Cb_tx_operatie' AS cb_tx_simplu WITH ; + BackColor = 252,253,208, ; + BackStyle = 1, ; + Height = 29, ; + Left = 356, ; + Name = "Cb_tx_operatie", ; + TabIndex = 54, ; + Top = 727, ; + Width = 314, ; + _cbbase1.BoundColumn = 2, ; + _cbbase1.BoundTo = .T., ; + _cbbase1.ColumnCount = 2, ; + _cbbase1.ColumnLines = .F., ; + _cbbase1.ColumnWidths = "200,50", ; + _cbbase1.Height = 23, ; + _cbbase1.Left = 75, ; + _cbbase1.Name = "_cbbase1", ; + _cbbase1.RowSource = "Fara scriere,1,Corectie,2,Modificare,3", ; + _cbbase1.RowSourceType = 1, ; + _cbbase1.Top = 3, ; + _cbbase1.Width = 232, ; + _lbbase1.Caption = "Operaþie", ; + _lbbase1.Name = "_lbbase1" + *< END OBJECT: ClassLib="lb_tx.vcx" BaseClass="container" /> + + ADD OBJECT 'chkMama' AS _checkbox WITH ; + Alignment = 0, ; + Caption = "Este grup", ; + ControlSource = "poRec.e_mama", ; + Left = 251, ; + Name = "chkMama", ; + TabIndex = 59, ; + Top = 807 + *< END OBJECT: ClassLib="_baza.vcx" BaseClass="checkbox" /> + + ADD OBJECT 'Clb_banca1' AS clb_tx_simplu WITH ; + Height = 29, ; + Left = 625, ; + Name = "Clb_banca1", ; + TabIndex = 23, ; + Top = 36, ; + Width = 217, ; + TEXT_SIMPLU1.ControlSource = "porec.banca1", ; + TEXT_SIMPLU1.Height = 23, ; + TEXT_SIMPLU1.Left = 50, ; + TEXT_SIMPLU1.Name = "TEXT_SIMPLU1", ; + TEXT_SIMPLU1.Top = 3, ; + TEXT_SIMPLU1.Width = 160, ; + LB_SIMPLU1.Caption = "Banca", ; + LB_SIMPLU1.FontBold = .T., ; + LB_SIMPLU1.Name = "LB_SIMPLU1" + *< END OBJECT: ClassLib="lb_tx.vcx" BaseClass="container" /> + + ADD OBJECT 'Clb_banca10' AS clb_tx_simplu WITH ; + Height = 29, ; + Left = 625, ; + Name = "Clb_banca10", ; + TabIndex = 41, ; + Top = 288, ; + Width = 217, ; + Text_simplu1.ControlSource = "porec.banca10", ; + Text_simplu1.Left = 50, ; + Text_simplu1.Name = "Text_simplu1", ; + Text_simplu1.Width = 160, ; + Lb_simplu1.Caption = "Banca", ; + Lb_simplu1.Name = "Lb_simplu1" + *< END OBJECT: ClassLib="lb_tx.vcx" BaseClass="container" /> + + ADD OBJECT 'Clb_banca2' AS clb_tx_simplu WITH ; + Height = 29, ; + Left = 625, ; + Name = "Clb_banca2", ; + TabIndex = 25, ; + Top = 64, ; + Width = 217, ; + TEXT_SIMPLU1.ControlSource = "porec.banca2", ; + TEXT_SIMPLU1.Left = 50, ; + TEXT_SIMPLU1.Name = "TEXT_SIMPLU1", ; + TEXT_SIMPLU1.Width = 160, ; + LB_SIMPLU1.Caption = "Banca", ; + LB_SIMPLU1.Name = "LB_SIMPLU1" + *< END OBJECT: ClassLib="lb_tx.vcx" BaseClass="container" /> + + ADD OBJECT 'Clb_banca3' AS clb_tx_simplu WITH ; + Height = 29, ; + Left = 625, ; + Name = "Clb_banca3", ; + TabIndex = 27, ; + Top = 92, ; + Width = 217, ; + TEXT_SIMPLU1.ControlSource = "porec.banca3", ; + TEXT_SIMPLU1.Left = 50, ; + TEXT_SIMPLU1.Name = "TEXT_SIMPLU1", ; + TEXT_SIMPLU1.Width = 160, ; + LB_SIMPLU1.Caption = "Banca", ; + LB_SIMPLU1.Name = "LB_SIMPLU1" + *< END OBJECT: ClassLib="lb_tx.vcx" BaseClass="container" /> + + ADD OBJECT 'Clb_banca4' AS clb_tx_simplu WITH ; + Height = 29, ; + Left = 625, ; + Name = "Clb_banca4", ; + TabIndex = 29, ; + Top = 120, ; + Width = 217, ; + Text_simplu1.ControlSource = "porec.banca4", ; + Text_simplu1.Height = 23, ; + Text_simplu1.Left = 50, ; + Text_simplu1.Name = "Text_simplu1", ; + Text_simplu1.Top = 3, ; + Text_simplu1.Width = 160, ; + Lb_simplu1.Caption = "Banca", ; + Lb_simplu1.Name = "Lb_simplu1" + *< END OBJECT: ClassLib="lb_tx.vcx" BaseClass="container" /> + + ADD OBJECT 'Clb_banca5' AS clb_tx_simplu WITH ; + Height = 29, ; + Left = 625, ; + Name = "Clb_banca5", ; + TabIndex = 31, ; + Top = 148, ; + Width = 217, ; + Text_simplu1.ControlSource = "porec.banca5", ; + Text_simplu1.Left = 50, ; + Text_simplu1.Name = "Text_simplu1", ; + Text_simplu1.Width = 160, ; + Lb_simplu1.Caption = "Banca", ; + Lb_simplu1.Name = "Lb_simplu1" + *< END OBJECT: ClassLib="lb_tx.vcx" BaseClass="container" /> + + ADD OBJECT 'Clb_banca6' AS clb_tx_simplu WITH ; + Height = 29, ; + Left = 625, ; + Name = "Clb_banca6", ; + TabIndex = 33, ; + Top = 176, ; + Width = 217, ; + Text_simplu1.ControlSource = "porec.banca6", ; + Text_simplu1.Left = 50, ; + Text_simplu1.Name = "Text_simplu1", ; + Text_simplu1.Width = 160, ; + Lb_simplu1.Caption = "Banca", ; + Lb_simplu1.Name = "Lb_simplu1" + *< END OBJECT: ClassLib="lb_tx.vcx" BaseClass="container" /> + + ADD OBJECT 'Clb_banca7' AS clb_tx_simplu WITH ; + Height = 29, ; + Left = 625, ; + Name = "Clb_banca7", ; + TabIndex = 35, ; + Top = 204, ; + Width = 217, ; + Text_simplu1.ControlSource = "porec.banca7", ; + Text_simplu1.Height = 23, ; + Text_simplu1.Left = 50, ; + Text_simplu1.Name = "Text_simplu1", ; + Text_simplu1.Top = 3, ; + Text_simplu1.Width = 160, ; + Lb_simplu1.Caption = "Banca", ; + Lb_simplu1.Name = "Lb_simplu1" + *< END OBJECT: ClassLib="lb_tx.vcx" BaseClass="container" /> + + ADD OBJECT 'Clb_banca8' AS clb_tx_simplu WITH ; + Height = 29, ; + Left = 625, ; + Name = "Clb_banca8", ; + TabIndex = 37, ; + Top = 232, ; + Width = 217, ; + Text_simplu1.ControlSource = "porec.banca8", ; + Text_simplu1.Left = 50, ; + Text_simplu1.Name = "Text_simplu1", ; + Text_simplu1.Width = 160, ; + Lb_simplu1.Caption = "Banca", ; + Lb_simplu1.Name = "Lb_simplu1" + *< END OBJECT: ClassLib="lb_tx.vcx" BaseClass="container" /> + + ADD OBJECT 'Clb_banca9' AS clb_tx_simplu WITH ; + Height = 29, ; + Left = 625, ; + Name = "Clb_banca9", ; + TabIndex = 39, ; + Top = 260, ; + Width = 217, ; + Text_simplu1.ControlSource = "porec.banca9", ; + Text_simplu1.Left = 50, ; + Text_simplu1.Name = "Text_simplu1", ; + Text_simplu1.Width = 160, ; + Lb_simplu1.Caption = "Banca", ; + Lb_simplu1.Name = "Lb_simplu1" + *< END OBJECT: ClassLib="lb_tx.vcx" BaseClass="container" /> + + ADD OBJECT 'Clb_caen' AS clb_tx_simplu WITH ; + Height = 29, ; + Left = 12, ; + Name = "Clb_caen", ; + TabIndex = 4, ; + Top = 120, ; + Width = 190, ; + TEXT_SIMPLU1.ControlSource = "porec.caen", ; + TEXT_SIMPLU1.Height = 23, ; + TEXT_SIMPLU1.Left = 90, ; + TEXT_SIMPLU1.MaxLength = 4, ; + TEXT_SIMPLU1.Name = "TEXT_SIMPLU1", ; + TEXT_SIMPLU1.Top = 3, ; + TEXT_SIMPLU1.Width = 94, ; + LB_SIMPLU1.Caption = "CAEN", ; + LB_SIMPLU1.FontBold = .T., ; + LB_SIMPLU1.Name = "LB_SIMPLU1" + *< END OBJECT: ClassLib="lb_tx.vcx" BaseClass="container" /> + + ADD OBJECT 'Clb_capsocsub' AS clb_tx_simplu WITH ; + Left = 12, ; + Name = "Clb_capsocsub", ; + TabIndex = 7, ; + Top = 176, ; + Width = 314, ; + TEXT_SIMPLU1.ControlSource = "porec.capital_soc_sub", ; + TEXT_SIMPLU1.Name = "TEXT_SIMPLU1", ; + TEXT_SIMPLU1.Width = 209, ; + LB_SIMPLU1.Caption = "Capital soc. sub.", ; + LB_SIMPLU1.Name = "LB_SIMPLU1" + *< END OBJECT: ClassLib="lb_tx.vcx" BaseClass="container" /> + + ADD OBJECT 'Clb_capsocvar' AS clb_tx_simplu WITH ; + Left = 12, ; + Name = "Clb_capsocvar", ; + TabIndex = 6, ; + Top = 148, ; + Width = 314, ; + TEXT_SIMPLU1.ControlSource = "porec.capital_soc_var", ; + TEXT_SIMPLU1.Name = "TEXT_SIMPLU1", ; + TEXT_SIMPLU1.Width = 209, ; + LB_SIMPLU1.Caption = "Capital soc. vãr.", ; + LB_SIMPLU1.Name = "LB_SIMPLU1" + *< END OBJECT: ClassLib="lb_tx.vcx" BaseClass="container" /> + + ADD OBJECT 'Clb_cod_firma' AS clb_tx_simplu WITH ; + Height = 29, ; + Left = 365, ; + Name = "Clb_cod_firma", ; + TabIndex = 51, ; + Top = 618, ; + Width = 290, ; + TEXT_SIMPLU1.ControlSource = "porec.cod_firma", ; + TEXT_SIMPLU1.Name = "TEXT_SIMPLU1", ; + LB_SIMPLU1.Caption = "Cod firmã", ; + LB_SIMPLU1.Name = "LB_SIMPLU1" + *< END OBJECT: ClassLib="lb_tx.vcx" BaseClass="container" /> + + ADD OBJECT 'Clb_cod_fiscal' AS clb_tx_simplu WITH ; + Height = 29, ; + Left = 12, ; + Name = "Clb_cod_fiscal", ; + TabIndex = 2, ; + Top = 64, ; + Width = 314, ; + Text_simplu1.ControlSource = "porec.cod_fiscal", ; + Text_simplu1.Height = 23, ; + Text_simplu1.Left = 90, ; + Text_simplu1.Name = "Text_simplu1", ; + Text_simplu1.Top = 3, ; + Text_simplu1.Width = 220, ; + Lb_simplu1.Caption = "Cod fiscal", ; + Lb_simplu1.FontBold = .T., ; + Lb_simplu1.Name = "Lb_simplu1" + *< END OBJECT: ClassLib="lb_tx.vcx" BaseClass="container" /> + + ADD OBJECT 'Clb_codang' AS clb_tx_simplu WITH ; + Height = 29, ; + Left = 365, ; + Name = "Clb_codang", ; + TabIndex = 48, ; + Top = 534, ; + Width = 290, ; + TEXT_SIMPLU1.ControlSource = "porec.codang", ; + TEXT_SIMPLU1.Name = "TEXT_SIMPLU1", ; + LB_SIMPLU1.Caption = "Cod angajator", ; + LB_SIMPLU1.Name = "LB_SIMPLU1" + *< END OBJECT: ClassLib="lb_tx.vcx" BaseClass="container" /> + + ADD OBJECT 'Clb_cont_banca1' AS clb_tx_simplu WITH ; + Height = 29, ; + Left = 368, ; + Name = "Clb_cont_banca1", ; + TabIndex = 22, ; + Top = 36, ; + Width = 258, ; + TEXT_SIMPLU1.ControlSource = "porec.cont_banca1", ; + TEXT_SIMPLU1.Height = 23, ; + TEXT_SIMPLU1.Left = 55, ; + TEXT_SIMPLU1.Name = "TEXT_SIMPLU1", ; + TEXT_SIMPLU1.Top = 3, ; + TEXT_SIMPLU1.Width = 200, ; + LB_SIMPLU1.Caption = "Cont 1", ; + LB_SIMPLU1.FontBold = .T., ; + LB_SIMPLU1.Name = "LB_SIMPLU1" + *< END OBJECT: ClassLib="lb_tx.vcx" BaseClass="container" /> + + ADD OBJECT 'Clb_cont_banca10' AS clb_tx_simplu WITH ; + Height = 29, ; + Left = 368, ; + Name = "Clb_cont_banca10", ; + TabIndex = 40, ; + Top = 288, ; + Width = 258, ; + Text_simplu1.ControlSource = "porec.cont_banca10", ; + Text_simplu1.Left = 55, ; + Text_simplu1.Name = "Text_simplu1", ; + Text_simplu1.Width = 200, ; + Lb_simplu1.Caption = "Cont 10", ; + Lb_simplu1.Name = "Lb_simplu1" + *< END OBJECT: ClassLib="lb_tx.vcx" BaseClass="container" /> + + ADD OBJECT 'Clb_cont_banca2' AS clb_tx_simplu WITH ; + Height = 29, ; + Left = 368, ; + Name = "Clb_cont_banca2", ; + TabIndex = 24, ; + Top = 64, ; + Width = 258, ; + TEXT_SIMPLU1.ControlSource = "porec.cont_banca2", ; + TEXT_SIMPLU1.Left = 55, ; + TEXT_SIMPLU1.Name = "TEXT_SIMPLU1", ; + TEXT_SIMPLU1.Width = 200, ; + LB_SIMPLU1.Caption = "Cont 2", ; + LB_SIMPLU1.Name = "LB_SIMPLU1" + *< END OBJECT: ClassLib="lb_tx.vcx" BaseClass="container" /> + + ADD OBJECT 'Clb_cont_banca3' AS clb_tx_simplu WITH ; + Height = 29, ; + Left = 368, ; + Name = "Clb_cont_banca3", ; + TabIndex = 26, ; + Top = 92, ; + Width = 258, ; + TEXT_SIMPLU1.ControlSource = "porec.cont_banca3", ; + TEXT_SIMPLU1.Left = 55, ; + TEXT_SIMPLU1.Name = "TEXT_SIMPLU1", ; + TEXT_SIMPLU1.Width = 200, ; + LB_SIMPLU1.Caption = "Cont 3", ; + LB_SIMPLU1.Name = "LB_SIMPLU1" + *< END OBJECT: ClassLib="lb_tx.vcx" BaseClass="container" /> + + ADD OBJECT 'Clb_cont_banca4' AS clb_tx_simplu WITH ; + Height = 29, ; + Left = 368, ; + Name = "Clb_cont_banca4", ; + TabIndex = 28, ; + Top = 120, ; + Width = 258, ; + Text_simplu1.ControlSource = "porec.cont_banca4", ; + Text_simplu1.Left = 55, ; + Text_simplu1.Name = "Text_simplu1", ; + Text_simplu1.Top = 3, ; + Text_simplu1.Width = 200, ; + Lb_simplu1.Caption = "Cont 4", ; + Lb_simplu1.Name = "Lb_simplu1" + *< END OBJECT: ClassLib="lb_tx.vcx" BaseClass="container" /> + + ADD OBJECT 'Clb_cont_banca5' AS clb_tx_simplu WITH ; + Height = 29, ; + Left = 368, ; + Name = "Clb_cont_banca5", ; + TabIndex = 30, ; + Top = 148, ; + Width = 258, ; + Text_simplu1.ControlSource = "porec.cont_banca5", ; + Text_simplu1.Left = 55, ; + Text_simplu1.Name = "Text_simplu1", ; + Text_simplu1.Width = 200, ; + Lb_simplu1.Caption = "Cont 5", ; + Lb_simplu1.Name = "Lb_simplu1" + *< END OBJECT: ClassLib="lb_tx.vcx" BaseClass="container" /> + + ADD OBJECT 'Clb_cont_banca6' AS clb_tx_simplu WITH ; + Height = 29, ; + Left = 368, ; + Name = "Clb_cont_banca6", ; + TabIndex = 32, ; + Top = 176, ; + Width = 258, ; + Text_simplu1.ControlSource = "porec.cont_banca6", ; + Text_simplu1.Left = 55, ; + Text_simplu1.Name = "Text_simplu1", ; + Text_simplu1.Width = 200, ; + Lb_simplu1.Caption = "Cont 6", ; + Lb_simplu1.Name = "Lb_simplu1" + *< END OBJECT: ClassLib="lb_tx.vcx" BaseClass="container" /> + + ADD OBJECT 'Clb_cont_banca7' AS clb_tx_simplu WITH ; + Height = 29, ; + Left = 368, ; + Name = "Clb_cont_banca7", ; + TabIndex = 34, ; + Top = 204, ; + Width = 258, ; + Text_simplu1.ControlSource = "porec.cont_banca7", ; + Text_simplu1.Left = 55, ; + Text_simplu1.Name = "Text_simplu1", ; + Text_simplu1.Top = 3, ; + Text_simplu1.Width = 200, ; + Lb_simplu1.Caption = "Cont 7", ; + Lb_simplu1.Name = "Lb_simplu1" + *< END OBJECT: ClassLib="lb_tx.vcx" BaseClass="container" /> + + ADD OBJECT 'Clb_cont_banca8' AS clb_tx_simplu WITH ; + Height = 29, ; + Left = 368, ; + Name = "Clb_cont_banca8", ; + TabIndex = 36, ; + Top = 232, ; + Width = 258, ; + Text_simplu1.ControlSource = "porec.cont_banca8", ; + Text_simplu1.Left = 55, ; + Text_simplu1.Name = "Text_simplu1", ; + Text_simplu1.Width = 200, ; + Lb_simplu1.Caption = "Cont 8", ; + Lb_simplu1.Name = "Lb_simplu1" + *< END OBJECT: ClassLib="lb_tx.vcx" BaseClass="container" /> + + ADD OBJECT 'Clb_cont_banca9' AS clb_tx_simplu WITH ; + Height = 29, ; + Left = 368, ; + Name = "Clb_cont_banca9", ; + TabIndex = 38, ; + Top = 260, ; + Width = 258, ; + Text_simplu1.ControlSource = "porec.cont_banca9", ; + Text_simplu1.Left = 55, ; + Text_simplu1.Name = "Text_simplu1", ; + Text_simplu1.Width = 200, ; + Lb_simplu1.Caption = "Cont 9", ; + Lb_simplu1.Name = "Lb_simplu1" + *< END OBJECT: ClassLib="lb_tx.vcx" BaseClass="container" /> + + ADD OBJECT 'Clb_declarant' AS clb_tx_simplu WITH ; + Height = 29, ; + Left = 365, ; + Name = "Clb_declarant", ; + TabIndex = 52, ; + Top = 646, ; + Width = 290, ; + Text_simplu1.ControlSource = "porec.declarant", ; + Text_simplu1.Name = "Text_simplu1", ; + Lb_simplu1.Caption = "Declarant", ; + Lb_simplu1.Name = "Lb_simplu1" + *< END OBJECT: ClassLib="lb_tx.vcx" BaseClass="container" /> + + ADD OBJECT 'Clb_email' AS clb_tx_simplu WITH ; + Height = 29, ; + Left = 545, ; + Name = "Clb_email", ; + TabIndex = 45, ; + Top = 324, ; + Width = 284, ; + TEXT_SIMPLU1.ControlSource = "porec.email", ; + TEXT_SIMPLU1.Format = "K", ; + TEXT_SIMPLU1.Height = 23, ; + TEXT_SIMPLU1.Left = 65, ; + TEXT_SIMPLU1.Name = "TEXT_SIMPLU1", ; + TEXT_SIMPLU1.Top = 3, ; + TEXT_SIMPLU1.Width = 214, ; + LB_SIMPLU1.Caption = "E-mail", ; + LB_SIMPLU1.FontBold = .T., ; + LB_SIMPLU1.Name = "LB_SIMPLU1" + *< END OBJECT: ClassLib="lb_tx.vcx" BaseClass="container" /> + + ADD OBJECT 'Clb_functie' AS clb_tx_simplu WITH ; + Height = 29, ; + Left = 365, ; + Name = "Clb_functie", ; + TabIndex = 53, ; + Top = 674, ; + Width = 290, ; + Text_simplu1.ControlSource = "porec.functie", ; + Text_simplu1.Name = "Text_simplu1", ; + Lb_simplu1.Caption = "Funcþie/calitate", ; + Lb_simplu1.Name = "Lb_simplu1" + *< END OBJECT: ClassLib="lb_tx.vcx" BaseClass="container" /> + + ADD OBJECT 'Clb_itm' AS clb_tx_simplu WITH ; + Height = 29, ; + Left = 365, ; + Name = "Clb_itm", ; + TabIndex = 50, ; + Top = 590, ; + Width = 290, ; + Text_simplu1.ControlSource = "porec.indicativ", ; + Text_simplu1.Name = "Text_simplu1", ; + Text_simplu1.ReadOnly = .T., ; + Text_simplu1.Top = 3, ; + Lb_simplu1.Caption = "ITM", ; + Lb_simplu1.Name = "Lb_simplu1" + *< END OBJECT: ClassLib="lb_tx.vcx" BaseClass="container" /> + + ADD OBJECT 'Clb_nume' AS clb_tx_simplu WITH ; + Height = 29, ; + Left = 365, ; + Name = "Clb_nume", ; + TabIndex = 46, ; + Top = 478, ; + Width = 290, ; + TEXT_SIMPLU1.ControlSource = "porec.nume", ; + TEXT_SIMPLU1.Name = "TEXT_SIMPLU1", ; + LB_SIMPLU1.Caption = "Nume", ; + LB_SIMPLU1.Name = "LB_SIMPLU1" + *< END OBJECT: ClassLib="lb_tx.vcx" BaseClass="container" /> + + ADD OBJECT 'Clb_oasp' AS clb_tx_simplu WITH ; + Height = 29, ; + Left = 365, ; + Name = "Clb_oasp", ; + TabIndex = 49, ; + Top = 562, ; + Width = 290, ; + TEXT_SIMPLU1.ControlSource = "porec.oasp", ; + TEXT_SIMPLU1.MaxLength = 3, ; + TEXT_SIMPLU1.Name = "TEXT_SIMPLU1", ; + LB_SIMPLU1.Caption = "OASP", ; + LB_SIMPLU1.Name = "LB_SIMPLU1" + *< END OBJECT: ClassLib="lb_tx.vcx" BaseClass="container" /> + + ADD OBJECT 'Clb_prenume' AS clb_tx_simplu WITH ; + Height = 29, ; + Left = 365, ; + Name = "Clb_prenume", ; + TabIndex = 47, ; + Top = 506, ; + Width = 290, ; + TEXT_SIMPLU1.ControlSource = "porec.prenume", ; + TEXT_SIMPLU1.Name = "TEXT_SIMPLU1", ; + LB_SIMPLU1.Caption = "Prenume", ; + LB_SIMPLU1.Name = "LB_SIMPLU1" + *< END OBJECT: ClassLib="lb_tx.vcx" BaseClass="container" /> + + ADD OBJECT 'Clb_reg_comert' AS clb_tx_simplu WITH ; + Left = 12, ; + Name = "Clb_reg_comert", ; + TabIndex = 3, ; + Top = 92, ; + Width = 314, ; + TEXT_SIMPLU1.ControlSource = "porec.reg_comert", ; + TEXT_SIMPLU1.Left = 90, ; + TEXT_SIMPLU1.Name = "TEXT_SIMPLU1", ; + TEXT_SIMPLU1.Width = 220, ; + LB_SIMPLU1.Caption = "Reg. comerþ", ; + LB_SIMPLU1.FontBold = .T., ; + LB_SIMPLU1.Name = "LB_SIMPLU1" + *< END OBJECT: ClassLib="lb_tx.vcx" BaseClass="container" /> + + ADD OBJECT 'Clb_schema' AS clb_tx_simplu WITH ; + Height = 29, ; + Left = 12, ; + Name = "Clb_schema", ; + TabIndex = 57, ; + Top = 746, ; + Width = 314, ; + Text_simplu1.ControlSource = "porec.schema", ; + Text_simplu1.Height = 23, ; + Text_simplu1.Left = 80, ; + Text_simplu1.Name = "Text_simplu1", ; + Text_simplu1.Top = 3, ; + Text_simplu1.Width = 230, ; + Lb_simplu1.Caption = "Schema", ; + Lb_simplu1.Name = "Lb_simplu1" + *< END OBJECT: ClassLib="lb_tx.vcx" BaseClass="container" /> + + ADD OBJECT 'Clb_telefon' AS clb_tx_simplu WITH ; + Height = 29, ; + Left = 365, ; + Name = "Clb_telefon", ; + TabIndex = 42, ; + Top = 324, ; + Width = 181, ; + TEXT_SIMPLU1.ControlSource = "porec.telefon", ; + TEXT_SIMPLU1.Left = 65, ; + TEXT_SIMPLU1.Name = "TEXT_SIMPLU1", ; + TEXT_SIMPLU1.Width = 110, ; + LB_SIMPLU1.Caption = "Telefon", ; + LB_SIMPLU1.FontBold = .T., ; + LB_SIMPLU1.Name = "LB_SIMPLU1" + *< END OBJECT: ClassLib="lb_tx.vcx" BaseClass="container" /> + + ADD OBJECT 'Clb_telefon2' AS clb_tx_simplu WITH ; + Height = 29, ; + Left = 365, ; + Name = "Clb_telefon2", ; + TabIndex = 43, ; + Top = 352, ; + Width = 181, ; + TEXT_SIMPLU1.ControlSource = "porec.telefon2", ; + TEXT_SIMPLU1.Left = 65, ; + TEXT_SIMPLU1.Name = "TEXT_SIMPLU1", ; + TEXT_SIMPLU1.Width = 110, ; + LB_SIMPLU1.Caption = "Telefon 2", ; + LB_SIMPLU1.Name = "LB_SIMPLU1" + *< END OBJECT: ClassLib="lb_tx.vcx" BaseClass="container" /> + + ADD OBJECT 'Clb_telefon3' AS clb_tx_simplu WITH ; + Height = 29, ; + Left = 545, ; + Name = "Clb_telefon3", ; + TabIndex = 44, ; + Top = 352, ; + Width = 181, ; + TEXT_SIMPLU1.ControlSource = "porec.telefon3", ; + TEXT_SIMPLU1.Left = 65, ; + TEXT_SIMPLU1.Name = "TEXT_SIMPLU1", ; + TEXT_SIMPLU1.Width = 110, ; + LB_SIMPLU1.Caption = "Telefon 3", ; + LB_SIMPLU1.Name = "LB_SIMPLU1" + *< END OBJECT: ClassLib="lb_tx.vcx" BaseClass="container" /> + + ADD OBJECT 'Clb_tx_simplu1' AS clb_tx_simplu WITH ; + Height = 29, ; + Left = 12, ; + Name = "Clb_tx_simplu1", ; + TabIndex = 1, ; + Top = 36, ; + Width = 314, ; + Text_simplu1.ControlSource = "porec.firma", ; + Text_simplu1.Height = 23, ; + Text_simplu1.Left = 90, ; + Text_simplu1.Name = "Text_simplu1", ; + Text_simplu1.Top = 3, ; + Text_simplu1.Width = 220, ; + Lb_simplu1.Caption = "Firma", ; + Lb_simplu1.FontBold = .T., ; + Lb_simplu1.Name = "Lb_simplu1" + *< END OBJECT: ClassLib="lb_tx.vcx" BaseClass="container" /> + + ADD OBJECT 'Clb_tx_simplu10' AS clb_tx_simplu WITH ; + Left = 12, ; + Name = "Clb_tx_simplu10", ; + TabIndex = 20, ; + Top = 674, ; + Width = 314, ; + Text_simplu1.ControlSource = "porec.apart", ; + Text_simplu1.Left = 80, ; + Text_simplu1.Name = "Text_simplu1", ; + Text_simplu1.Width = 230, ; + Lb_simplu1.Caption = "Apartament", ; + Lb_simplu1.Name = "Lb_simplu1" + *< END OBJECT: ClassLib="lb_tx.vcx" BaseClass="container" /> + + ADD OBJECT 'Clb_tx_simplu11' AS clb_tx_simplu WITH ; + Height = 29, ; + Left = 12, ; + Name = "Clb_tx_simplu11", ; + TabIndex = 21, ; + Top = 702, ; + Width = 314, ; + Text_simplu1.ControlSource = "porec.cod_postal", ; + Text_simplu1.Left = 80, ; + Text_simplu1.Name = "Text_simplu1", ; + Text_simplu1.Width = 230, ; + Lb_simplu1.Caption = "Cod poºtal", ; + Lb_simplu1.Name = "Lb_simplu1" + *< END OBJECT: ClassLib="lb_tx.vcx" BaseClass="container" /> + + ADD OBJECT 'Clb_tx_simplu6' AS clb_tx_simplu WITH ; + Left = 12, ; + Name = "Clb_tx_simplu6", ; + TabIndex = 16, ; + Top = 562, ; + Width = 314, ; + Text_simplu1.ControlSource = "porec.strada", ; + Text_simplu1.Left = 80, ; + Text_simplu1.Name = "Text_simplu1", ; + Text_simplu1.Width = 230, ; + Lb_simplu1.Caption = "Strada", ; + Lb_simplu1.Name = "Lb_simplu1" + *< END OBJECT: ClassLib="lb_tx.vcx" BaseClass="container" /> + + ADD OBJECT 'Clb_tx_simplu7' AS clb_tx_simplu WITH ; + Left = 12, ; + Name = "Clb_tx_simplu7", ; + TabIndex = 17, ; + Top = 590, ; + Width = 314, ; + Text_simplu1.ControlSource = "porec.numar", ; + Text_simplu1.Left = 80, ; + Text_simplu1.Name = "Text_simplu1", ; + Text_simplu1.Width = 230, ; + Lb_simplu1.Caption = "Numãr", ; + Lb_simplu1.Name = "Lb_simplu1" + *< END OBJECT: ClassLib="lb_tx.vcx" BaseClass="container" /> + + ADD OBJECT 'Clb_tx_simplu8' AS clb_tx_simplu WITH ; + Height = 29, ; + Left = 12, ; + Name = "Clb_tx_simplu8", ; + TabIndex = 18, ; + Top = 618, ; + Width = 314, ; + Text_simplu1.ControlSource = "porec.bloc", ; + Text_simplu1.Left = 80, ; + Text_simplu1.Name = "Text_simplu1", ; + Text_simplu1.Top = 3, ; + Text_simplu1.Width = 230, ; + Lb_simplu1.Caption = "Bloc", ; + Lb_simplu1.Name = "Lb_simplu1" + *< END OBJECT: ClassLib="lb_tx.vcx" BaseClass="container" /> + + ADD OBJECT 'Clb_tx_simplu9' AS clb_tx_simplu WITH ; + Left = 12, ; + Name = "Clb_tx_simplu9", ; + TabIndex = 19, ; + Top = 646, ; + Width = 314, ; + Text_simplu1.ControlSource = "porec.scara", ; + Text_simplu1.Left = 80, ; + Text_simplu1.Name = "Text_simplu1", ; + Text_simplu1.Width = 230, ; + Lb_simplu1.Caption = "Scara", ; + Lb_simplu1.Name = "Lb_simplu1" + *< END OBJECT: ClassLib="lb_tx.vcx" BaseClass="container" /> + + ADD OBJECT 'Ct_clb_formaj' AS ct_clb_cautare WITH ; + cconditie = empty(nvl(porec.forma_juridica,''))=.t., ; + cprocedura = thisform.alege_fj, ; + cvar_afisata = porec.forma_juridica, ; + Left = 11, ; + Name = "Ct_clb_formaj", ; + TabIndex = 10, ; + Top = 259, ; + img_cautare.Name = "img_cautare", ; + clb_tx_cautare.Lb_simplu1.Caption = "Formã juridicã", ; + clb_tx_cautare.Lb_simplu1.Name = "Lb_simplu1", ; + clb_tx_cautare.Name = "clb_tx_cautare", ; + clb_tx_cautare.Text_simplu1.Left = 90, ; + clb_tx_cautare.Text_simplu1.Name = "Text_simplu1", ; + clb_tx_cautare.Text_simplu1.Width = 220 + *< END OBJECT: ClassLib="caut_ora.vcx" BaseClass="container" /> + + ADD OBJECT 'Ct_clb_nivel' AS ct_clb_cautare WITH ; + cconditie = empty(nvl(porec.tip_societate,''))=.t., ; + cprocedura = thisform.alege_nivel, ; + cvar_afisata = porec.tip_societate, ; + Left = 11, ; + Name = "Ct_clb_nivel", ; + TabIndex = 12, ; + Top = 315, ; + img_cautare.Name = "img_cautare", ; + clb_tx_cautare.Lb_simplu1.Caption = "Nivel", ; + clb_tx_cautare.Lb_simplu1.Name = "Lb_simplu1", ; + clb_tx_cautare.Name = "clb_tx_cautare", ; + clb_tx_cautare.Text_simplu1.Left = 90, ; + clb_tx_cautare.Text_simplu1.Name = "Text_simplu1", ; + clb_tx_cautare.Text_simplu1.Width = 220 + *< END OBJECT: ClassLib="caut_ora.vcx" BaseClass="container" /> + + ADD OBJECT 'Ct_clb_organizare' AS ct_clb_cautare WITH ; + cconditie = empty(nvl(porec.forma_organizare,''))=.t., ; + cprocedura = thisform.alege_organizare, ; + cvar_afisata = porec.forma_organizare, ; + Left = 11, ; + Name = "Ct_clb_organizare", ; + TabIndex = 11, ; + Top = 287, ; + img_cautare.Name = "img_cautare", ; + clb_tx_cautare.Lb_simplu1.Caption = "Organizare", ; + clb_tx_cautare.Lb_simplu1.Name = "Lb_simplu1", ; + clb_tx_cautare.Name = "clb_tx_cautare", ; + clb_tx_cautare.Text_simplu1.Height = 23, ; + clb_tx_cautare.Text_simplu1.Left = 90, ; + clb_tx_cautare.Text_simplu1.Name = "Text_simplu1", ; + clb_tx_cautare.Text_simplu1.Top = 3, ; + clb_tx_cautare.Text_simplu1.Width = 220 + *< END OBJECT: ClassLib="caut_ora.vcx" BaseClass="container" /> + + ADD OBJECT 'Ct_clb_proprietate' AS ct_clb_cautare WITH ; + cconditie = empty(nvl(porec.forma_proprietate,''))=.t., ; + cprocedura = thisform.alege_proprietate, ; + cvar_afisata = porec.forma_proprietate, ; + Left = 11, ; + Name = "Ct_clb_proprietate", ; + TabIndex = 9, ; + Top = 231, ; + img_cautare.Name = "img_cautare", ; + clb_tx_cautare.Lb_simplu1.Caption = "Proprietate", ; + clb_tx_cautare.Lb_simplu1.Name = "Lb_simplu1", ; + clb_tx_cautare.Name = "clb_tx_cautare", ; + clb_tx_cautare.Text_simplu1.Left = 90, ; + clb_tx_cautare.Text_simplu1.Name = "Text_simplu1", ; + clb_tx_cautare.Text_simplu1.Width = 220 + *< END OBJECT: ClassLib="caut_ora.vcx" BaseClass="container" /> + + ADD OBJECT 'Ct_localitate1' AS ct_localitate WITH ; + cdate = porec, ; + Left = 12, ; + Name = "Ct_localitate1", ; + TabIndex = 15, ; + Top = 478, ; + Width = 314, ; + CB_LOCALITATE_AF.img_atentie.Name = "img_atentie", ; + CB_LOCALITATE_AF.Name = "CB_LOCALITATE_AF", ; + CB_LOCALITATE_AF._CBAUTOFILL1.Name = "_CBAUTOFILL1", ; + CB_LOCALITATE_AF._LBBASE1.FontBold = .T., ; + CB_LOCALITATE_AF._LBBASE1.Name = "_LBBASE1", ; + CB_TARA.Name = "CB_TARA", ; + CB_TARA._CBBASE1.Name = "_CBBASE1", ; + CB_TARA._LBBASE1.FontBold = .T., ; + CB_TARA._LBBASE1.Name = "_LBBASE1", ; + CB_JUDET.Name = "CB_JUDET", ; + CB_JUDET._CBBASE1.Name = "_CBBASE1", ; + CB_JUDET._LBBASE1.FontBold = .T., ; + CB_JUDET._LBBASE1.Name = "_LBBASE1" + *< END OBJECT: ClassLib="onomenclatoare.vcx" BaseClass="container" /> + + ADD OBJECT 'Cus_odata_firme1' AS cus_odata_firme WITH ; + Left = 322, ; + Name = "Cus_odata_firme1", ; + Top = 672 + *< END OBJECT: ClassLib="ofirma.vcx" BaseClass="custom" /> + + ADD OBJECT 'Ed_adresa' AS ed_tx_simplu WITH ; + Height = 45, ; + Left = 14, ; + Name = "Ed_adresa", ; + TabIndex = 14, ; + Top = 428, ; + Width = 814, ; + _edbase1.ControlSource = "porec.adresa", ; + _edbase1.Height = 41, ; + _edbase1.Left = 102, ; + _edbase1.Name = "_edbase1", ; + _edbase1.Top = 2, ; + _edbase1.Width = 703, ; + _LBBASE1.Caption = "Adresã", ; + _LBBASE1.FontBold = .T., ; + _LBBASE1.Name = "_LBBASE1" + *< END OBJECT: ClassLib="lb_tx.vcx" BaseClass="container" /> + + ADD OBJECT 'Ed_tx_simplu1' AS ed_tx_simplu WITH ; + Height = 40, ; + Left = 14, ; + Name = "Ed_tx_simplu1", ; + TabIndex = 13, ; + Top = 389, ; + Width = 814, ; + _EDBASE1.ControlSource = "porec.antet", ; + _EDBASE1.Height = 36, ; + _EDBASE1.Left = 102, ; + _EDBASE1.Name = "_EDBASE1", ; + _EDBASE1.Top = 2, ; + _EDBASE1.Width = 700, ; + _LBBASE1.Caption = "Antet", ; + _LBBASE1.FontBold = .T., ; + _LBBASE1.Name = "_LBBASE1" + *< END OBJECT: ClassLib="lb_tx.vcx" BaseClass="container" /> + + PROCEDURE alege_fj + buton=2 + lnidstaresoc = thisform.jcategorie + pcselect = [select id_forma_juridica,denumire from syn_nom_forme_juridice] + pcFiltru = [] + pcFiltruOrig = [id_staresoc=?lnidstaresoc] + pcschema = [''] + pcorder = [ordine] + pccoloane = [denumire] + pcTitlu = [Categorie] + pcTitluColoane = [Categorie] + locauta = cauta_alfa(pcselect,pcfiltru,pcschema,pcorder,pccoloane,pcTitlu,pcTitluColoane,[],.F.,pcFiltruOrig) + + *!* Parameters tcselect,tcfiltru,tcschema,tcorder,tccoloana,tcTitlu,tcTitluColoana,tcNume_Proc,tl_AllInList,tcFiltruOriginal + + IF buton # 2 + porec.forma_juridica = locauta.denumire + porec.id_forma_juridica = locauta.id_forma_juridica + ENDIF + + + ENDPROC + + PROCEDURE alege_judet + *!* modificare v 2.1.3 + *!* buton=2 + *!* pcselect = [select id_judet,judet,indicativ from syn_vnom_judete] + *!* pcfiltru = [inactiv=0] + *!* pcFiltruOriginal = [inactiv=0] + *!* pcschema = [''] + *!* pcorder = [judet] + *!* pccoloane = [judet,indicativ] + *!* pcTitlu = [Judete] + *!* pcTitluColoane = [Judet,Indicativ] + *!* locauta = cauta_alfa(pcselect,pcfiltru,pcschema,pcorder,pccoloane,pcTitlu,pcTitluColoane,[],.F.,pcFiltruOriginal) + + *!* *!* Parameters tcselect,tcfiltru,tcschema,tcorder,tccoloana,tcTitlu,tcTitluColoana,tcNume_Proc,tl_AllInList,tcFiltruOriginal + + *!* IF buton # 2 + *!* porec.judet = locauta.judet + *!* thisform.id_judet = locauta.id_judet + *!* porec.indicativ=locauta.indicativ + *!* thisform.clb_itm.Refresh + *!* ENDIF + *!* modificare v 2.1.3 ^ + ENDPROC + + PROCEDURE alege_localitate + *!* modificare v 2.1.3 + *!* If Empty(Thisform.id_judet) + *!* aMESSAGEBOX('Alegeti judetul!',48,"Atentie") + *!* porec.id_localitate=0 + *!* Return + *!* Endif + *!* *!* modificare ROADEF v 2.0.23 + *!* *!* lnid_jud = thisform.id_judet + *!* *!* pcselect = [select id_loc,localitate from nom_localitati] + *!* *!* pcFiltru = [sters = 0 and id_judet=?lnid_jud] + *!* *!* pcFiltruOrig = pcFiltru + *!* *!* pcschema = [''] + *!* *!* pcorder = [localitate] + *!* *!* pccoloane = [localitate] + *!* *!* pcTitlu = [Localitate] + *!* *!* pcTitluColoane = [Localitate] + *!* *!* locauta = cauta_alfa(pcselect,pcfiltru,pcschema,pcorder,pccoloane,pcTitlu,pcTitluColoane,[],.F.,pcFiltruOrig) + *!* *!* *!* Parameters tcselect,tcfiltru,tcschema,tcorder,tccoloana,tcTitlu,tcTitluColoana,tcNume_Proc,tl_AllInList,tcFiltruOriginal + *!* *!* IF buton # 2 + *!* *!* porec.localitate = locauta.localitate + *!* *!* porec.id_loc = locauta.id_loc + *!* *!* ENDIF + *!* loCauta = caut_localitate(Thisform.id_judet) + *!* If buton # 2 + *!* porec.localitate = loCauta.localitate + *!* porec.id_loc = loCauta.id_loc + *!* porec.siruta = loCauta.siruta + *!* Endif + *!* *!* modificare ROADEF v 2.0.23 ^ + *!* modificare v 2.1.3 ^ + ENDPROC + + PROCEDURE alege_mama + buton=2 + lcSelect = [select id_firma, firma from syn_v_nom_firme where e_mama = 1] + lcFiltru = [] + lcSchema = [] + lcOrder = [firma] + lcColoane = [firma,id_firma] + lcTitlu = [Grup parinte] + lcTitluColoane = [Firma, Id] + lcNumeProc = [] + llToateIreg = .F. + lcFiltruOriginal = [] + + loCauta = cauta_alfa(lcSelect, lcFiltru, lcSchema, lcOrder, lccoloane, lcTitlu, lcTitluColoane, lcNumeProc, llToateIreg, lcFiltruOriginal) && 11.07.2007 + + If buton # 2 AND !EMPTY(loCauta.id_firma) + porec.id_mama = locauta.id_firma + porec.mama = locauta.firma + poRec.e_mama = 0 + Endif + + + ENDPROC + + PROCEDURE alege_nivel + buton=2 + pcselect = [select id_tip_soc,denumire,parent from syn_nom_tip_societate] + pcfiltru = [2=2] + pcschema = [''] + pcorder = [denumire] + pccoloane = [denumire] + pcTitlu = [Nivel infiintare] + pcTitluColoane = [Nivel] + locauta = cauta_alfa(pcselect,pcfiltru,pcschema,pcorder,pccoloane,pcTitlu,pcTitluColoane) + + *!* Parameters tcselect,tcfiltru,tcschema,tcorder,tccoloana,tcTitlu,tcTitluColoana,tcNume_Proc,tl_AllInList,tcFiltruOriginal + + IF buton # 2 + porec.tip_societate = locauta.denumire + porec.id_tip_soc = locauta.id_tip_soc + thisform.ParentA = locauta.parent + thisform.sucursala() + ENDIF + + + ENDPROC + + PROCEDURE alege_organizare + IF EMPTY(NVL(porec.id_forma_juridica,'')) + aMESSAGEBOX("Completati forma juridica!",0+48,"Atentie") + porec.id_forma_organizare=0 + RETURN + ENDIF + + buton=2 + pcselect = [select id_forma_organizare,abreviere,denumire from syn_nom_forme_organizare] + pcFiltru = [id_forma_juridica=?porec.id_forma_juridica] + pcFiltruOriginal = pcFiltru + pcschema = [''] + pcorder = [denumire] + pccoloane = [denumire,abreviere] + pcTitlu = [Forma Organizare] + pcTitluColoane = [Forma organizare,Abreviere] + locauta = cauta_alfa(pcselect,pcfiltru,pcschema,pcorder,pccoloane,pcTitlu,pcTitluColoane,[],.F.,pcFiltruOriginal) + + *!* Parameters tcselect,tcfiltru,tcschema,tcorder,tccoloana,tcTitlu,tcTitluColoana,tcNume_Proc,tl_AllInList,tcFiltruOriginal + + IF buton # 2 + porec.forma_organizare = locauta.denumire + porec.id_forma_organizare = locauta.id_forma_organizare + ENDIF + + + ENDPROC + + PROCEDURE alege_proprietate + buton=2 + pcselect = [select id_forma_prop,forma_proprietate from syn_nom_forme_proprietate] + pcfiltru = [2=2] + pcschema = [''] + pcorder = [forma_proprietate] + pccoloane = [forma_proprietate] + pcTitlu = [Forma proprietate] + pcTitluColoane = [Forma proprietate] + locauta = cauta_alfa(pcselect,pcfiltru,pcschema,pcorder,pccoloane,pcTitlu,pcTitluColoane) + + *!* Parameters tcselect,tcfiltru,tcschema,tcorder,tccoloana,tcTitlu,tcTitluColoana,tcNume_Proc,tl_AllInList,tcFiltruOriginal + + IF buton # 2 + porec.forma_proprietate = locauta.forma_proprietate + porec.id_forma_prop= locauta.id_forma_prop + ENDIF + + ENDPROC + + PROCEDURE inainte_de_do_termin + Local PLRETURN + + lccontrol = Upper(This.ActiveControl.BaseClass ) + If Inlist(lccontrol,"TEXTBOX","EDITBOX","COMBOBOX") + lcval=This.ActiveControl.ControlSource + &lcval=Thisform.ActiveControl.Value + Endif + + *!* modificare v 2.1.515.04.2015 - dadea eroare pentru ca nu exista proprietatea tip_modificare pentru scrieregistru = 0 + *!* AddProperty(porec,"tip_modificare",Val(Thisform.cb_tx_operatie._cbbase1.Value)) + porec.tip_modificare = Val(Thisform.cb_tx_operatie._cbbase1.Value) + *!* modificare v 2.1.5 15.04.2015 ^ + Do Case + Case Empty(porec.firma) + aMessagebox('Nu ati completat numele firmei!',0+48,"Atentie") + Thisform.clb_firma.text_simplu1.SetFocus() + PLRETURN=.F. + Case Empty(porec.schema) + aMessagebox('Nu ati completat numele schemei!',0+48,"Atentie") + Thisform.clb_schema.text_simplu1.SetFocus() + PLRETURN=.F. + Case porec.e_mama = 1 And Nvl(porec.id_mama,0) <> 0 + aMessagebox('O firma nu poate face parte dintr-un grup parinte si sa fie si grup!', 0+48,'Atentie') + porec.e_mama = 0 + This.CHKMama.Refresh() + PLRETURN=.F. + *!* modificare ROADEF v 2.0.23 + Case Empty(Nvl(porec.caen,[])) And gcNumeProgram = [ROADEF] And IIF(TYPE("gnScrieRegistru")="U",0,gnScrieRegistru) = 1 + aMessagebox("Nu ati completat codul CAEN!",48,"Atentie") + Thisform.clb_caen.text_simplu1.SetFocus() + Case Empty(Nvl(porec.adresa,[])) And gcNumeProgram = [ROADEF] And IIF(TYPE("gnScrieRegistru")="U",0,gnScrieRegistru) = 1 + aMessagebox("Nu ati completat adresa!",48,"Atentie") + Thisform.ed_adresa._edbase1.SetFocus() + Case Empty(Nvl(porec.localitate,[])) And gcNumeProgram = [ROADEF] And IIF(TYPE("gnScrieRegistru")="U",0,gnScrieRegistru) = 1 + aMessagebox("Nu ati ales localitatea!",48,"Atentie") + Thisform.ct_clb_localitate.SetFocus() + *!* modificare v 2.1.3 + *!* Case Empty(Nvl(porec.siruta,0)) And gcNumeProgram = [ROADEF] And IIF(TYPE("gnScrieRegistru")="U",0,gnScrieRegistru) = 1 + *!* aMessagebox("Localitatea aleasa nu are completat codul SIRUTA!"+Chr(13)+Chr(10)+; + *!* "Mai deschideti o instanta a programului 'Definirea companiei' si completati codul SIRUTA pentru localitatea "+Alltrim(porec.localitate)+" din 'Liste nomenclatoare > Localitati'!",48,"Atentie") + *!* Thisform.ct_clb_localitate.SetFocus() + *!* modificare v 2.1.3 ^ + Case Empty(Nvl(porec.declarant,[])) And gcNumeProgram = [ROADEF] And IIF(TYPE("gnScrieRegistru")="U",0,gnScrieRegistru) = 1 + aMessagebox("Nu ati completat reprezentantul legal (declarant) !",48,"Atentie") + Thisform.clb_declarant.text_simplu1.SetFocus() + *!* modificare ROADEF v 2.0.23 ^ + *!* modificare ROADEF v 2.0.23 + *!* CASE EMPTY(NVL(porec.tip_modificare,0)) AND gcNumeProgram = [ROADEF] + Case Empty(Nvl(porec.tip_modificare,0)) And gcNumeProgram = [ROADEF] And IIF(TYPE("gnScrieRegistru")="U",0,gnScrieRegistru) = 1 + *!* modificare ROADEF v 2.0.23 ^ + aMessagebox("Nu ati ales tipul operatiei pentru registrul electronic al salariatilor!",48,"Atentie") + Thisform.cb_tx_operatie._cbbase1.SetFocus() + Otherwise + *!* && DACA SUNT IN ROASTART (CONTAFIN_ORACLE) - NU AM NOMENCLATOARELE DE JUDETE, LOCALITATI + *!* && LE FAC NULL, IAR IN PROCEDURA DE MODIFICARE NU LE MODIFIC DACA SUNT NULL + *!* IF !this.ct_clb_localitate.Visible + *!* THIS.OREC.ID_LOC = NULL + *!* + *!* ENDIF + + PLRETURN=Thisform.cus_odata_firme1.salvare(This.OREC,This.NID) + + Endcase + Return PLRETURN + + ENDPROC + + PROCEDURE Init + Lparameters toRec, tnId, tcActiune + Local lnWidth + DoDefault() + *!* modificare v 2.1.5 15.04.2015 - dadea eroare pentru ca nu exista proprietatea tip_modificare pentru scrieregistru = 0 + AddProperty(porec,"tip_modificare",1) + *!* modificare v 2.1.5 15.04.2015 ^ + + *!* modificare v 2.0.23 + IF gnScrieRegistru = 0 + Thisform.cb_tx_operatie.Visible = .F. + porec.tip_modificare = 1 + ENDIF + *!* modificare v 2.0.23 ^ + This.orec= toRec + This.nid = tnId + This.cus_odata_firme1.cactiune = tcActiune + Do Case + Case tcActiune="INSERT" + Thisform.lb_titlu_alb_b121.Caption="ADÃUGARE FIRMÃ" + Case tcActiune="UPDATE" + If Type("toRec.modificare_schema")<>"U" + Thisform.clb_schema.text_simplu1.Enabled=Iif(toRec.modificare_schema==0,.F.,.T.) + Endif + *!* Thisform.lb_titlu_alb_b121.Caption="MODIFICARE FIRMÃ" + Thisform.jcategorie=porec.persoana_juridica + + && DACA SUNT PE ROASTART - CONTAFIN_ORACLE NU AM VNOM_LOCALITATI SI VNOM_JUDETE + IF !(TYPE('gcS') = 'U' OR EMPTY(gcS) OR UPPER(gcs) = 'CONTAFIN_ORACLE') + Thisform.lb_titlu_alb_b121.Caption="MODIFICARE DATE FIRMÃ" + *!* modificare ROADEF v 2.1.2 + *!* lcSelect = [select id_judet,indicativ from vnom_localitati where id_loc=?porec.id_loc] + *!* lcCursor = [crsId_jud] + *!* lnSucces = goExecutor.oExecute(lcSelect,lcCursor) + *!* If lnSucces < 0 + *!* Messagebox(goExecutor.cEroare) + *!* Else + *!* Select crsId_jud + *!* Thisform.id_judet = id_judet + *!* Use In crsId_jud + *!* ENDIF + Thisform.id_judet = toRec.id_judet + *!* modificare ROADEF v 2.1.2 ^ + *!* sa nu modifice din alte programe decat roastart id_mama si e_mama + this.cb_tx_mama.Visible = .F. + this.chkMama.Visible = .F. + this.clb_schema.Visible = .F. + *!* sa nu modifice din alte programe decat roastart id_mama si e_mama ^ + ELSE + *!* modificare ROADEF v 2.0.22 + *!* *!* nu am informatii suficiente in roastart / nu am formularul de cautare alfa_form si nu l-am mai inclus + *!* *!* asa ca nu mai modific toate datele in roastart + *!* this.ct_clb_judet.Visible = .F. + *!* this.ct_clb_localitate.Visible = .F. + *!* this.ct_clb_proprietate.Visible = .F. + *!* this.ct_clb_organizare.Visible = .F. + *!* this.ct_clb_nivel.Visible = .F. + *!* this.ct_clb_formaj.Visible = .F. + *!* this.clb_itm.Visible = .F. + *!* this.cb_tx_categorie.Visible = .F. + *!* this.clb_caen.Visible = .F. + *!* this.cb_tx_operatie.Visible = .F. + *!* *!* nu am informatii suficiente in roastart / nu am formularul de cautare alfa_form si nu l-am mai inclus ^ + Thisform.lb_titlu_alb_b121.Caption="FIRMÃ - CÂMPURILE INACTIVE SE MODIFICÃ DIN DEFINIREA COMPANIEI" + Thisform.ct_clb_formaj.do_dezactiveaza() + Thisform.ct_clb_judet.do_dezactiveaza() + Thisform.ct_clb_localitate.do_dezactiveaza() + Thisform.ct_clb_nivel.do_dezactiveaza() + Thisform.ct_clb_organizare.do_dezactiveaza() + Thisform.ct_clb_proprietate.do_dezactiveaza() + Thisform.cb_tx_categorie._cbbase1.Enabled = .F. + Thisform.cb_tx_operatie._cbbase1.Enabled = .F. + Thisform.ed_adresa._edbase1.ReadOnly = .T. + Thisform.ed_tx_simplu1._edbase1.ReadOnly = .T. + Thisform.clb_banca1.text_simplu1.ReadOnly = .T. + Thisform.clb_banca2.text_simplu1.ReadOnly = .T. + Thisform.clb_banca3.text_simplu1.ReadOnly = .T. + Thisform.clb_caen.text_simplu1.ReadOnly = .T. + Thisform.clb_capsocsub.text_simplu1.ReadOnly = .T. + Thisform.clb_capsocvar.text_simplu1.ReadOnly = .T. + Thisform.clb_codang.text_simplu1.ReadOnly = .T. + Thisform.clb_cod_firma.text_simplu1.ReadOnly = .T. + Thisform.clb_cod_fiscal.text_simplu1.ReadOnly = .T. + Thisform.clb_cont_banca1.text_simplu1.ReadOnly = .T. + Thisform.clb_cont_banca2.text_simplu1.ReadOnly = .T. + Thisform.clb_cont_banca3.text_simplu1.ReadOnly = .T. + Thisform.clb_declarant.text_simplu1.ReadOnly = .T. + Thisform.clb_email.text_simplu1.ReadOnly = .T. + Thisform.clb_fax.text_simplu1.ReadOnly = .T. + Thisform.clb_functie.text_simplu1.ReadOnly = .T. + Thisform.clb_itm.text_simplu1.ReadOnly = .T. + Thisform.clb_nume.text_simplu1.ReadOnly = .T. + Thisform.clb_oasp.text_simplu1.ReadOnly = .T. + Thisform.clb_prenume.text_simplu1.ReadOnly = .T. + Thisform.clb_reg_comert.text_simplu1.ReadOnly = .T. + Thisform.clb_telefon.text_simplu1.ReadOnly = .T. + Thisform.clb_telefon2.text_simplu1.ReadOnly = .T. + Thisform.clb_telefon3.text_simplu1.ReadOnly = .T. + Thisform.clb_tx_simplu1.text_simplu1.ReadOnly = .T. + Thisform.clb_tx_simplu10.text_simplu1.ReadOnly = .T. + Thisform.clb_tx_simplu11.text_simplu1.ReadOnly = .T. + Thisform.clb_tx_simplu6.text_simplu1.ReadOnly = .T. + Thisform.clb_tx_simplu7.text_simplu1.ReadOnly = .T. + Thisform.clb_tx_simplu8.text_simplu1.ReadOnly = .T. + Thisform.clb_tx_simplu9.text_simplu1.ReadOnly = .T. + *!* modificare ROADEF v 2.0.22 ^ + ENDIF + Endcase + *!* modificare ROADEF v 2.1.2 + Thisform.ct_localitate1.initializeaza() + *!* modificare ROADEF v 2.1.2 ^ + this.cb_tx_operatie._cbbase1.Value = "1" + + ENDPROC + + PROCEDURE Load + *!* populez cursorul cu grupuri parinte + CREATE CURSOR crsGrupuri (id_firma i null, firma c(100)) + INSERT INTO crsGrupuri (id_firma, firma) VALUES (NULL, "") + + lcSql = [select id_firma, firma from syn_v_nom_firme where id_firma <> ] + ALLTRIM(STR(poRec.id_firma)) + [ and e_mama = 1 ORDER BY firma] + lnSucces = goExecutor.oExecute(lcSql, "crsGrupuriTemp") + IF lnSucces < 0 + MESSAGEBOX(goExecutor.cEroare, 0+16, 'Eroare') + ELSE + SELECT crsGrupuri + APPEND FROM DBF('crsGrupuriTemp') + ENDIF + + USE IN (SELECT('crsGrupuriTemp')) + ENDPROC + + PROCEDURE sucursala + ENDPROC + + PROCEDURE Cb_tx_categorie._cbbase1.InteractiveChange + porec.persoana_juridica=this.value + thisform.jcategorie=this.Value + ENDPROC + + PROCEDURE Cb_tx_mama._CBBASE1.Init + IF !ISNULL(poRec.id_mama) + SELECT crsGrupuri + LOCATE FOR id_firma = poRec.id_mama + IF FOUND() + this.Value = firma + ELSE + GO TOP + poRec.id_mama = NULL + THIS.Value = "" + ENDIF + ENDIF + ENDPROC + + PROCEDURE Cb_tx_mama._CBBASE1.Valid + poRec.id_mama = crsGrupuri.id_firma + IF !ISNULL(poRec.id_mama) + poRec.e_mama = 0 + thisform.chkMama.Refresh() + ENDIF + ENDPROC + + PROCEDURE chkMama.Valid + IF poRec.e_mama = 1 + poRec.id_mama = NULL + thisform.cb_tx_mama._CBBASE1.Value = "" + THISform.cb_tx_mama.Refresh() + ENDIF + ENDPROC + +ENDDEFINE + +DEFINE CLASS frm_firme_nou_desktopf AS frm_firme_nou OF "ofirma.vcx" + *< CLASSDATA: Baseclass="form" Timestamp="" Scale="Pixels" Uniqueid="" /> + + *-- OBJECTDATA items order determines ZOrder / El orden de los items OBJECTDATA determina el ZOrder + *< OBJECTDATA: ObjPath="Clb_tx_simplu4" UniqueID="" Timestamp="" /> + + * + Desktop = .F. + DoCreate = .T. + Height = 550 + Name = "frm_firme_nou_desktopf" + Width = 867 + _SHAPE1.Anchor = 10 + _SHAPE1.Height = 29 + _SHAPE1.Left = 0 + _SHAPE1.Name = "_SHAPE1" + _SHAPE1.Top = 0 + _SHAPE1.Width = 850 + _SHAPE1.ZOrderSet = 1 + _SHAPE2.Anchor = 8 + _SHAPE2.Left = 780 + _SHAPE2.Name = "_SHAPE2" + _SHAPE2.Top = 0 + _SHAPE2.ZOrderSet = 2 + LB_TITLU_ALB_B121.Name = "LB_TITLU_ALB_B121" + LB_TITLU_ALB_B121.ZOrderSet = 3 + BUT_TERMIN1.Anchor = 8 + BUT_TERMIN1.Left = 819 + BUT_TERMIN1.Name = "BUT_TERMIN1" + BUT_TERMIN1.Top = 1 + BUT_TERMIN1.ZOrderSet = 4 + GRIDSORT1.Name = "GRIDSORT1" + BUT_RENUNT1.Anchor = 8 + BUT_RENUNT1.Left = 785 + BUT_RENUNT1.Name = "BUT_RENUNT1" + BUT_RENUNT1.Top = 1 + BUT_RENUNT1.ZOrderSet = 6 + Clb_cod_fiscal.LB_SIMPLU1.Name = "LB_SIMPLU1" + Clb_cod_fiscal.Name = "Clb_cod_fiscal" + Clb_cod_fiscal.TEXT_SIMPLU1.Name = "TEXT_SIMPLU1" + Clb_cod_fiscal.ZOrderSet = 7 + Clb_reg_comert.LB_SIMPLU1.Name = "LB_SIMPLU1" + Clb_reg_comert.Name = "Clb_reg_comert" + Clb_reg_comert.TEXT_SIMPLU1.Name = "TEXT_SIMPLU1" + Clb_reg_comert.ZOrderSet = 8 + Clb_banca1.LB_SIMPLU1.Name = "LB_SIMPLU1" + Clb_banca1.Name = "Clb_banca1" + Clb_banca1.TEXT_SIMPLU1.Name = "TEXT_SIMPLU1" + Clb_banca1.TEXT_SIMPLU1.Top = 3 + Clb_banca1.ZOrderSet = 9 + Clb_cont_banca1.LB_SIMPLU1.Name = "LB_SIMPLU1" + Clb_cont_banca1.Name = "Clb_cont_banca1" + Clb_cont_banca1.TEXT_SIMPLU1.Name = "TEXT_SIMPLU1" + Clb_cont_banca1.ZOrderSet = 10 + Clb_banca2.LB_SIMPLU1.Name = "LB_SIMPLU1" + Clb_banca2.Name = "Clb_banca2" + Clb_banca2.TEXT_SIMPLU1.Name = "TEXT_SIMPLU1" + Clb_banca2.ZOrderSet = 11 + Clb_cont_banca2.LB_SIMPLU1.Name = "LB_SIMPLU1" + Clb_cont_banca2.Name = "Clb_cont_banca2" + Clb_cont_banca2.TEXT_SIMPLU1.Name = "TEXT_SIMPLU1" + Clb_cont_banca2.ZOrderSet = 12 + Clb_banca3.LB_SIMPLU1.Name = "LB_SIMPLU1" + Clb_banca3.Name = "Clb_banca3" + Clb_banca3.TEXT_SIMPLU1.Name = "TEXT_SIMPLU1" + Clb_banca3.ZOrderSet = 13 + Clb_cont_banca3.LB_SIMPLU1.Name = "LB_SIMPLU1" + Clb_cont_banca3.Name = "Clb_cont_banca3" + Clb_cont_banca3.TEXT_SIMPLU1.Name = "TEXT_SIMPLU1" + Clb_cont_banca3.ZOrderSet = 14 + Clb_cod_firma.Anchor = 10 + Clb_cod_firma.LB_SIMPLU1.Name = "LB_SIMPLU1" + Clb_cod_firma.Left = 365 + Clb_cod_firma.Name = "Clb_cod_firma" + Clb_cod_firma.TEXT_SIMPLU1.Anchor = 10 + Clb_cod_firma.TEXT_SIMPLU1.Name = "TEXT_SIMPLU1" + Clb_cod_firma.Top = 646 + Clb_cod_firma.ZOrderSet = 15 + Clb_capsocvar.LB_SIMPLU1.Name = "LB_SIMPLU1" + Clb_capsocvar.Name = "Clb_capsocvar" + Clb_capsocvar.TEXT_SIMPLU1.Name = "TEXT_SIMPLU1" + Clb_capsocvar.ZOrderSet = 16 + Clb_email.LB_SIMPLU1.Name = "LB_SIMPLU1" + Clb_email.Name = "Clb_email" + Clb_email.TEXT_SIMPLU1.Name = "TEXT_SIMPLU1" + Clb_email.ZOrderSet = 18 + Clb_caen.LB_SIMPLU1.Name = "LB_SIMPLU1" + Clb_caen.Name = "Clb_caen" + Clb_caen.TEXT_SIMPLU1.Name = "TEXT_SIMPLU1" + Clb_caen.ZOrderSet = 19 + Clb_codang.Anchor = 10 + Clb_codang.Height = 29 + Clb_codang.LB_SIMPLU1.Name = "LB_SIMPLU1" + Clb_codang.Left = 365 + Clb_codang.Name = "Clb_codang" + Clb_codang.TEXT_SIMPLU1.Anchor = 10 + Clb_codang.TEXT_SIMPLU1.Name = "TEXT_SIMPLU1" + Clb_codang.Top = 534 + Clb_codang.Width = 290 + Clb_codang.ZOrderSet = 20 + Clb_nume.Anchor = 10 + Clb_nume.Height = 29 + Clb_nume.LB_SIMPLU1.Name = "LB_SIMPLU1" + Clb_nume.Left = 365 + Clb_nume.Name = "Clb_nume" + Clb_nume.TEXT_SIMPLU1.Anchor = 10 + Clb_nume.TEXT_SIMPLU1.Name = "TEXT_SIMPLU1" + Clb_nume.Top = 478 + Clb_nume.Width = 290 + Clb_nume.ZOrderSet = 21 + Clb_prenume.Anchor = 10 + Clb_prenume.Height = 29 + Clb_prenume.LB_SIMPLU1.Name = "LB_SIMPLU1" + Clb_prenume.Left = 365 + Clb_prenume.Name = "Clb_prenume" + Clb_prenume.TEXT_SIMPLU1.Anchor = 10 + Clb_prenume.TEXT_SIMPLU1.Name = "TEXT_SIMPLU1" + Clb_prenume.Top = 506 + Clb_prenume.Width = 290 + Clb_prenume.ZOrderSet = 22 + Clb_telefon.Height = 29 + Clb_telefon.LB_SIMPLU1.Name = "LB_SIMPLU1" + Clb_telefon.Name = "Clb_telefon" + Clb_telefon.TEXT_SIMPLU1.Name = "TEXT_SIMPLU1" + Clb_telefon.Width = 181 + Clb_telefon.ZOrderSet = 23 + Clb_telefon2.Height = 29 + Clb_telefon2.LB_SIMPLU1.Name = "LB_SIMPLU1" + Clb_telefon2.Left = 365 + Clb_telefon2.Name = "Clb_telefon2" + Clb_telefon2.TEXT_SIMPLU1.Name = "TEXT_SIMPLU1" + Clb_telefon2.Top = 352 + Clb_telefon2.Width = 181 + Clb_telefon2.ZOrderSet = 24 + Clb_telefon3.Height = 29 + Clb_telefon3.LB_SIMPLU1.Name = "LB_SIMPLU1" + Clb_telefon3.Left = 545 + Clb_telefon3.Name = "Clb_telefon3" + Clb_telefon3.TEXT_SIMPLU1.Name = "TEXT_SIMPLU1" + Clb_telefon3.Top = 352 + Clb_telefon3.ZOrderSet = 25 + Clb_capsocsub.LB_SIMPLU1.Name = "LB_SIMPLU1" + Clb_capsocsub.Name = "Clb_capsocsub" + Clb_capsocsub.TEXT_SIMPLU1.Name = "TEXT_SIMPLU1" + Clb_capsocsub.ZOrderSet = 26 + Clb_oasp.Anchor = 10 + Clb_oasp.LB_SIMPLU1.Name = "LB_SIMPLU1" + Clb_oasp.Name = "Clb_oasp" + Clb_oasp.TEXT_SIMPLU1.Anchor = 10 + Clb_oasp.TEXT_SIMPLU1.Name = "TEXT_SIMPLU1" + Clb_oasp.ZOrderSet = 27 + Ed_adresa.Name = "Ed_adresa" + Ed_adresa.ZOrderSet = 28 + Ed_adresa._EDBASE1.Left = 102 + Ed_adresa._EDBASE1.Name = "_EDBASE1" + Ed_adresa._EDBASE1.Top = 2 + Ed_adresa._LBBASE1.Name = "_LBBASE1" + Cus_odata_firme1.Left = 311 + Cus_odata_firme1.Name = "Cus_odata_firme1" + Cus_odata_firme1.Top = 806 + Ed_tx_simplu1.Name = "Ed_tx_simplu1" + Ed_tx_simplu1.ZOrderSet = 30 + Ed_tx_simplu1._EDBASE1.Left = 102 + Ed_tx_simplu1._EDBASE1.Name = "_EDBASE1" + Ed_tx_simplu1._EDBASE1.Top = 2 + Ed_tx_simplu1._LBBASE1.Name = "_LBBASE1" + Clb_tx_simplu6.LB_SIMPLU1.Name = "LB_SIMPLU1" + Clb_tx_simplu6.Name = "Clb_tx_simplu6" + Clb_tx_simplu6.TEXT_SIMPLU1.Name = "TEXT_SIMPLU1" + Clb_tx_simplu6.ZOrderSet = 31 + Clb_tx_simplu7.LB_SIMPLU1.Name = "LB_SIMPLU1" + Clb_tx_simplu7.Name = "Clb_tx_simplu7" + Clb_tx_simplu7.TEXT_SIMPLU1.Name = "TEXT_SIMPLU1" + Clb_tx_simplu7.ZOrderSet = 32 + Clb_tx_simplu8.LB_SIMPLU1.Name = "LB_SIMPLU1" + Clb_tx_simplu8.Name = "Clb_tx_simplu8" + Clb_tx_simplu8.TEXT_SIMPLU1.Name = "TEXT_SIMPLU1" + Clb_tx_simplu8.ZOrderSet = 33 + Clb_tx_simplu9.LB_SIMPLU1.Name = "LB_SIMPLU1" + Clb_tx_simplu9.Name = "Clb_tx_simplu9" + Clb_tx_simplu9.TEXT_SIMPLU1.Name = "TEXT_SIMPLU1" + Clb_tx_simplu9.ZOrderSet = 34 + Clb_tx_simplu10.LB_SIMPLU1.Name = "LB_SIMPLU1" + Clb_tx_simplu10.Name = "Clb_tx_simplu10" + Clb_tx_simplu10.TEXT_SIMPLU1.Name = "TEXT_SIMPLU1" + Clb_tx_simplu10.ZOrderSet = 35 + Clb_tx_simplu11.LB_SIMPLU1.Name = "LB_SIMPLU1" + Clb_tx_simplu11.Name = "Clb_tx_simplu11" + Clb_tx_simplu11.TEXT_SIMPLU1.Name = "TEXT_SIMPLU1" + Clb_tx_simplu11.ZOrderSet = 36 + Clb_tx_simplu1.LB_SIMPLU1.Name = "LB_SIMPLU1" + Clb_tx_simplu1.Name = "Clb_tx_simplu1" + Clb_tx_simplu1.TEXT_SIMPLU1.Name = "TEXT_SIMPLU1" + Clb_tx_simplu1.ZOrderSet = 37 + Cb_tx_categorie.Name = "Cb_tx_categorie" + Cb_tx_categorie.ZOrderSet = 38 + Cb_tx_categorie._CBBASE1.Name = "_CBBASE1" + Cb_tx_categorie._LBBASE1.Name = "_LBBASE1" + Clb_schema.LB_SIMPLU1.Name = "LB_SIMPLU1" + Clb_schema.Name = "Clb_schema" + Clb_schema.TEXT_SIMPLU1.Name = "TEXT_SIMPLU1" + Clb_schema.ZOrderSet = 0 + Ct_clb_formaj.CLB_TX_CAUTARE.LB_SIMPLU1.Name = "LB_SIMPLU1" + Ct_clb_formaj.CLB_TX_CAUTARE.Name = "CLB_TX_CAUTARE" + Ct_clb_formaj.CLB_TX_CAUTARE.TEXT_SIMPLU1.Name = "TEXT_SIMPLU1" + Ct_clb_formaj.IMG_CAUTARE.Name = "IMG_CAUTARE" + Ct_clb_formaj.Name = "Ct_clb_formaj" + Ct_clb_formaj.ZOrderSet = 39 + Ct_clb_nivel.CLB_TX_CAUTARE.LB_SIMPLU1.Name = "LB_SIMPLU1" + Ct_clb_nivel.CLB_TX_CAUTARE.Name = "CLB_TX_CAUTARE" + Ct_clb_nivel.CLB_TX_CAUTARE.TEXT_SIMPLU1.Name = "TEXT_SIMPLU1" + Ct_clb_nivel.IMG_CAUTARE.Name = "IMG_CAUTARE" + Ct_clb_nivel.Name = "Ct_clb_nivel" + Ct_clb_nivel.ZOrderSet = 40 + Ct_clb_organizare.CLB_TX_CAUTARE.LB_SIMPLU1.Name = "LB_SIMPLU1" + Ct_clb_organizare.CLB_TX_CAUTARE.Name = "CLB_TX_CAUTARE" + Ct_clb_organizare.CLB_TX_CAUTARE.TEXT_SIMPLU1.Name = "TEXT_SIMPLU1" + Ct_clb_organizare.IMG_CAUTARE.Name = "IMG_CAUTARE" + Ct_clb_organizare.Name = "Ct_clb_organizare" + Ct_clb_organizare.ZOrderSet = 41 + Ct_clb_proprietate.CLB_TX_CAUTARE.LB_SIMPLU1.Name = "LB_SIMPLU1" + Ct_clb_proprietate.CLB_TX_CAUTARE.Name = "CLB_TX_CAUTARE" + Ct_clb_proprietate.CLB_TX_CAUTARE.TEXT_SIMPLU1.Name = "TEXT_SIMPLU1" + Ct_clb_proprietate.IMG_CAUTARE.Name = "IMG_CAUTARE" + Ct_clb_proprietate.Name = "Ct_clb_proprietate" + Ct_clb_proprietate.ZOrderSet = 42 + Clb_itm.Anchor = 10 + Clb_itm.LB_SIMPLU1.Name = "LB_SIMPLU1" + Clb_itm.Name = "Clb_itm" + Clb_itm.TEXT_SIMPLU1.Anchor = 10 + Clb_itm.TEXT_SIMPLU1.Left = 105 + Clb_itm.TEXT_SIMPLU1.Name = "TEXT_SIMPLU1" + Clb_itm.TEXT_SIMPLU1.Top = 4 + Clb_itm.ZOrderSet = 45 + Cb_tx_operatie.Anchor = 10 + Cb_tx_operatie.Left = 353 + Cb_tx_operatie.Name = "Cb_tx_operatie" + Cb_tx_operatie.Top = 756 + Cb_tx_operatie.ZOrderSet = 46 + Cb_tx_operatie._CBBASE1.Anchor = 10 + Cb_tx_operatie._CBBASE1.Name = "_CBBASE1" + Cb_tx_operatie._LBBASE1.Name = "_LBBASE1" + chkMama.Alignment = 0 + chkMama.Name = "chkMama" + chkMama.ZOrderSet = 47 + Cb_tx_mama.Name = "Cb_tx_mama" + Cb_tx_mama.ZOrderSet = 48 + Cb_tx_mama._CBBASE1.Name = "_CBBASE1" + Cb_tx_mama._LBBASE1.Name = "_LBBASE1" + Clb_declarant.Anchor = 10 + Clb_declarant.Lb_simplu1.Name = "Lb_simplu1" + Clb_declarant.Left = 365 + Clb_declarant.Name = "Clb_declarant" + Clb_declarant.Text_simplu1.Anchor = 10 + Clb_declarant.Text_simplu1.Name = "Text_simplu1" + Clb_declarant.Top = 674 + Clb_declarant.ZOrderSet = 49 + Clb_functie.Anchor = 10 + Clb_functie.Lb_simplu1.Name = "Lb_simplu1" + Clb_functie.Left = 365 + Clb_functie.Name = "Clb_functie" + Clb_functie.Text_simplu1.Anchor = 10 + Clb_functie.Text_simplu1.Name = "Text_simplu1" + Clb_functie.Top = 702 + Clb_functie.ZOrderSet = 50 + Ct_localitate1.CB_JUDET.Name = "CB_JUDET" + Ct_localitate1.CB_JUDET._CBBASE1.Name = "_CBBASE1" + Ct_localitate1.CB_JUDET._LBBASE1.Name = "_LBBASE1" + Ct_localitate1.CB_LOCALITATE_AF.img_atentie.Name = "img_atentie" + Ct_localitate1.CB_LOCALITATE_AF.Name = "CB_LOCALITATE_AF" + Ct_localitate1.CB_LOCALITATE_AF._CBAUTOFILL1.Name = "_CBAUTOFILL1" + Ct_localitate1.CB_LOCALITATE_AF._LBBASE1.Name = "_LBBASE1" + Ct_localitate1.CB_TARA.Name = "CB_TARA" + Ct_localitate1.CB_TARA._CBBASE1.Name = "_CBBASE1" + Ct_localitate1.CB_TARA._LBBASE1.Name = "_LBBASE1" + Ct_localitate1.Name = "Ct_localitate1" + Cb_tx_caen_revizie.Name = "Cb_tx_caen_revizie" + Cb_tx_caen_revizie._CBBASE1.Name = "_CBBASE1" + Cb_tx_caen_revizie._LBBASE1.Name = "_LBBASE1" + Clb_banca4.LB_SIMPLU1.Name = "LB_SIMPLU1" + Clb_banca4.Name = "Clb_banca4" + Clb_banca4.TEXT_SIMPLU1.Name = "TEXT_SIMPLU1" + Clb_cont_banca4.LB_SIMPLU1.Name = "LB_SIMPLU1" + Clb_cont_banca4.Name = "Clb_cont_banca4" + Clb_cont_banca4.TEXT_SIMPLU1.Name = "TEXT_SIMPLU1" + Clb_banca5.LB_SIMPLU1.Name = "LB_SIMPLU1" + Clb_banca5.Name = "Clb_banca5" + Clb_banca5.TEXT_SIMPLU1.Name = "TEXT_SIMPLU1" + Clb_cont_banca5.LB_SIMPLU1.Name = "LB_SIMPLU1" + Clb_cont_banca5.Name = "Clb_cont_banca5" + Clb_cont_banca5.TEXT_SIMPLU1.Name = "TEXT_SIMPLU1" + Clb_banca6.LB_SIMPLU1.Name = "LB_SIMPLU1" + Clb_banca6.Name = "Clb_banca6" + Clb_banca6.TEXT_SIMPLU1.Name = "TEXT_SIMPLU1" + Clb_cont_banca6.LB_SIMPLU1.Name = "LB_SIMPLU1" + Clb_cont_banca6.Name = "Clb_cont_banca6" + Clb_cont_banca6.TEXT_SIMPLU1.Name = "TEXT_SIMPLU1" + Clb_banca7.LB_SIMPLU1.Name = "LB_SIMPLU1" + Clb_banca7.Name = "Clb_banca7" + Clb_banca7.TEXT_SIMPLU1.Name = "TEXT_SIMPLU1" + Clb_cont_banca7.LB_SIMPLU1.Name = "LB_SIMPLU1" + Clb_cont_banca7.Name = "Clb_cont_banca7" + Clb_cont_banca7.TEXT_SIMPLU1.Name = "TEXT_SIMPLU1" + Clb_banca8.LB_SIMPLU1.Name = "LB_SIMPLU1" + Clb_banca8.Name = "Clb_banca8" + Clb_banca8.TEXT_SIMPLU1.Name = "TEXT_SIMPLU1" + Clb_cont_banca8.LB_SIMPLU1.Name = "LB_SIMPLU1" + Clb_cont_banca8.Name = "Clb_cont_banca8" + Clb_cont_banca8.TEXT_SIMPLU1.Name = "TEXT_SIMPLU1" + Clb_banca9.LB_SIMPLU1.Name = "LB_SIMPLU1" + Clb_banca9.Name = "Clb_banca9" + Clb_banca9.TEXT_SIMPLU1.Name = "TEXT_SIMPLU1" + Clb_cont_banca9.LB_SIMPLU1.Name = "LB_SIMPLU1" + Clb_cont_banca9.Name = "Clb_cont_banca9" + Clb_cont_banca9.TEXT_SIMPLU1.Name = "TEXT_SIMPLU1" + Clb_banca10.LB_SIMPLU1.Name = "LB_SIMPLU1" + Clb_banca10.Name = "Clb_banca10" + Clb_banca10.TEXT_SIMPLU1.Name = "TEXT_SIMPLU1" + Clb_cont_banca10.LB_SIMPLU1.Name = "LB_SIMPLU1" + Clb_cont_banca10.Name = "Clb_cont_banca10" + Clb_cont_banca10.TEXT_SIMPLU1.Name = "TEXT_SIMPLU1" + * + + ADD OBJECT 'Clb_tx_simplu4' AS clb_tx_simplu WITH ; + Anchor = 10, ; + Left = 365, ; + Name = "Clb_tx_simplu4", ; + Top = 618, ; + Text_simplu1.Anchor = 10, ; + Text_simplu1.ControlSource = "poRec.indice_itm", ; + Text_simplu1.Name = "Text_simplu1", ; + Lb_simplu1.Caption = "Indice_itm", ; + Lb_simplu1.Name = "Lb_simplu1" + *< END OBJECT: ClassLib="lb_tx.vcx" BaseClass="container" /> + + PROCEDURE Init + Lparameters toRec, tnId, tcActiune + + DODEFAULT(toRec, tnId, tcActiune) + this.Height = INT(0.8*_screen.Height) + + ENDPROC + +ENDDEFINE + +DEFINE CLASS frm_firme_old AS _frmbase OF "_frm_base.vcx" + *< CLASSDATA: Baseclass="form" Timestamp="" Scale="Pixels" Uniqueid="" /> + + *-- OBJECTDATA items order determines ZOrder / El orden de los items OBJECTDATA determina el ZOrder + *< OBJECTDATA: ObjPath="But_modifica1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="But_nou1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="But_sterge1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="grd_firme" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="grd_firme.cFirma.Header1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="grd_firme.cFirma.Text1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="grd_firme.cSchema.Header1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="grd_firme.cSchema.Text1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="grd_firme.cCod_Fiscal.Header1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="grd_firme.cCod_Fiscal.Text1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="grd_firme.cCont_Banca1.Header1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="grd_firme.cCont_Banca1.Text1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="grd_firme.cBanca1.Header1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="grd_firme.cBanca1.Text1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="grd_firme.cBanca2.Header1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="grd_firme.cBanca2.Text1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="grd_firme.cCont_Banca2.Header1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="grd_firme.cCont_Banca2.Text1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="grd_firme.cBanca3.Header1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="grd_firme.cBanca3.Text1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="grd_firme.cCont_Banca3.Header1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="grd_firme.cCont_Banca3.Text1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="grd_firme.cAdresa.Header1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="grd_firme.cAdresa.Text1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="grd_firme.cCod_Firma.Header1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="grd_firme.cCod_Firma.Text1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="grd_firme.cPersoanaJuridica.Header1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="grd_firme.cPersoanaJuridica.Check1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="grd_firme.cCodAng.Header1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="grd_firme.cCodAng.Text1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="grd_firme.cNume.Header1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="grd_firme.cNume.Text1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="grd_firme.cPrenume.Header1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="grd_firme.cPrenume.Text1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="grd_firme.cCapital_soc_sub.Header1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="grd_firme.cCapital_soc_sub.Text1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="grd_firme.cCapital_soc_var.Header1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="grd_firme.cCapital_soc_var.Text1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="grd_firme.cCaen.Header1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="grd_firme.cCaen.Text1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="grd_firme.cPunctLucru.Header1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="grd_firme.cPunctLucru.Text1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="grd_firme.cOasp.Header1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="grd_firme.cOasp.Text1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="grd_firme.cTelefon.Header1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="grd_firme.cTelefon.Text1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="grd_firme.cTelefon2.Header1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="grd_firme.cTelefon2.Text1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="grd_firme.cTelefon3.Header1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="grd_firme.cTelefon3.Text1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="grd_firme.cFax.Header1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="grd_firme.cFax.Text1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="grd_firme.cEmail.Header1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="grd_firme.cEmail.Text1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="grd_firme.cReg_Comert.Header1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="grd_firme.cReg_Comert.Text1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="grd_firme.cSucursala.Header1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="grd_firme.cSucursala.Text1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="Clb_cod_fiscal" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="Clb_reg_comert" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="Clb_banca1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="Clb_cont_banca1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="Clb_cod_firma" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="Clb_fax" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="Clb_email" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="Clb_telefon" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="Clb_telefon2" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="Clb_telefon3" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="Ed_adresa" UniqueID="" Timestamp="" /> + + * + *m: do_refresh_date + * + + * + cbuton3 = but_modifica1 + cbuton4 = but_sterge1 + cgridsortlist = grd_firme + Desktop = .T. + DoCreate = .T. + Height = 515 + lactiv3 = .T. + lactiv4 = .T. + Name = "frm_firme_old" + Width = 791 + _shape1.Height = 29 + _shape1.Left = 0 + _shape1.Name = "_shape1" + _shape1.Top = 0 + _shape1.Width = 792 + _SHAPE2.Height = 29 + _SHAPE2.Left = 648 + _SHAPE2.Name = "_SHAPE2" + _SHAPE2.Top = 0 + _SHAPE2.Width = 144 + LB_TITLU_ALB_B121.Caption = "FIRME" + LB_TITLU_ALB_B121.FontBold = .T. + LB_TITLU_ALB_B121.Name = "LB_TITLU_ALB_B121" + LB_TITLU_ALB_B121.TabIndex = 9 + BUT_TERMIN1.Left = 756 + BUT_TERMIN1.Name = "BUT_TERMIN1" + BUT_TERMIN1.TabIndex = 2 + BUT_TERMIN1.Top = 1 + GRIDSORT1.Name = "GRIDSORT1" + * + + ADD OBJECT 'But_modifica1' AS but_modifica WITH ; + Left = 689, ; + Name = "But_modifica1", ; + TabIndex = 4, ; + Top = 1, ; + Visible = .T. + *< END OBJECT: ClassLib="cmd_butoane.vcx" BaseClass="commandbutton" /> + + ADD OBJECT 'But_nou1' AS but_nou WITH ; + Left = 655, ; + Name = "But_nou1", ; + TabIndex = 5, ; + Top = 1 + *< END OBJECT: ClassLib="cmd_butoane.vcx" BaseClass="commandbutton" /> + + ADD OBJECT 'But_sterge1' AS but_sterge WITH ; + Left = 723, ; + Name = "But_sterge1", ; + TabIndex = 3, ; + Top = 1, ; + Visible = .T. + *< END OBJECT: ClassLib="cmd_butoane.vcx" BaseClass="commandbutton" /> + + ADD OBJECT 'Clb_banca1' AS clb_tx_simplu WITH ; + Left = 466, ; + Name = "Clb_banca1", ; + TabIndex = 10, ; + TabStop = .F., ; + Top = 244, ; + TEXT_SIMPLU1.ControlSource = "porec.banca1", ; + TEXT_SIMPLU1.Name = "TEXT_SIMPLU1", ; + TEXT_SIMPLU1.ReadOnly = .T., ; + LB_SIMPLU1.Caption = "Banca 1", ; + LB_SIMPLU1.Name = "LB_SIMPLU1" + *< END OBJECT: ClassLib="lb_tx.vcx" BaseClass="container" /> + + ADD OBJECT 'Clb_cod_firma' AS clb_tx_simplu WITH ; + Left = 466, ; + Name = "Clb_cod_firma", ; + TabIndex = 12, ; + TabStop = .F., ; + Top = 300, ; + TEXT_SIMPLU1.ControlSource = "porec.cod_firma", ; + TEXT_SIMPLU1.Name = "TEXT_SIMPLU1", ; + TEXT_SIMPLU1.ReadOnly = .T., ; + LB_SIMPLU1.Caption = "Cod firma", ; + LB_SIMPLU1.Name = "LB_SIMPLU1" + *< END OBJECT: ClassLib="lb_tx.vcx" BaseClass="container" /> + + ADD OBJECT 'Clb_cod_fiscal' AS clb_tx_simplu WITH ; + Left = 466, ; + Name = "Clb_cod_fiscal", ; + TabIndex = 7, ; + TabStop = .F., ; + Top = 188, ; + Width = 290, ; + TEXT_SIMPLU1.ControlSource = "porec.cod_fiscal", ; + TEXT_SIMPLU1.Name = "TEXT_SIMPLU1", ; + TEXT_SIMPLU1.ReadOnly = .T., ; + LB_SIMPLU1.Caption = "Cod fiscal", ; + LB_SIMPLU1.Name = "LB_SIMPLU1" + *< END OBJECT: ClassLib="lb_tx.vcx" BaseClass="container" /> + + ADD OBJECT 'Clb_cont_banca1' AS clb_tx_simplu WITH ; + Left = 466, ; + Name = "Clb_cont_banca1", ; + TabIndex = 11, ; + TabStop = .F., ; + Top = 272, ; + TEXT_SIMPLU1.ControlSource = "porec.cont_banca1", ; + TEXT_SIMPLU1.Name = "TEXT_SIMPLU1", ; + TEXT_SIMPLU1.ReadOnly = .T., ; + LB_SIMPLU1.Caption = "Cont banca 1", ; + LB_SIMPLU1.Name = "LB_SIMPLU1" + *< END OBJECT: ClassLib="lb_tx.vcx" BaseClass="container" /> + + ADD OBJECT 'Clb_email' AS clb_tx_simplu WITH ; + Left = 466, ; + Name = "Clb_email", ; + TabIndex = 17, ; + TabStop = .F., ; + Top = 440, ; + TEXT_SIMPLU1.ControlSource = "porec.email", ; + TEXT_SIMPLU1.Name = "TEXT_SIMPLU1", ; + TEXT_SIMPLU1.ReadOnly = .T., ; + LB_SIMPLU1.Caption = "E-mail", ; + LB_SIMPLU1.Name = "LB_SIMPLU1" + *< END OBJECT: ClassLib="lb_tx.vcx" BaseClass="container" /> + + ADD OBJECT 'Clb_fax' AS clb_tx_simplu WITH ; + Left = 466, ; + Name = "Clb_fax", ; + TabIndex = 16, ; + TabStop = .F., ; + Top = 412, ; + TEXT_SIMPLU1.ControlSource = "porec.fax", ; + TEXT_SIMPLU1.Name = "TEXT_SIMPLU1", ; + TEXT_SIMPLU1.ReadOnly = .T., ; + LB_SIMPLU1.Caption = "Fax", ; + LB_SIMPLU1.Name = "LB_SIMPLU1" + *< END OBJECT: ClassLib="lb_tx.vcx" BaseClass="container" /> + + ADD OBJECT 'Clb_reg_comert' AS clb_tx_simplu WITH ; + Left = 466, ; + Name = "Clb_reg_comert", ; + TabIndex = 8, ; + TabStop = .F., ; + Top = 216, ; + TEXT_SIMPLU1.ControlSource = "porec.reg_comert", ; + TEXT_SIMPLU1.Name = "TEXT_SIMPLU1", ; + TEXT_SIMPLU1.ReadOnly = .T., ; + LB_SIMPLU1.Caption = "Reg. comer_", ; + LB_SIMPLU1.Name = "LB_SIMPLU1" + *< END OBJECT: ClassLib="lb_tx.vcx" BaseClass="container" /> + + ADD OBJECT 'Clb_telefon' AS clb_tx_simplu WITH ; + Left = 466, ; + Name = "Clb_telefon", ; + TabIndex = 13, ; + TabStop = .F., ; + Top = 328, ; + TEXT_SIMPLU1.ControlSource = "porec.telefon", ; + TEXT_SIMPLU1.Name = "TEXT_SIMPLU1", ; + TEXT_SIMPLU1.ReadOnly = .T., ; + LB_SIMPLU1.Caption = "Telefon", ; + LB_SIMPLU1.Name = "LB_SIMPLU1" + *< END OBJECT: ClassLib="lb_tx.vcx" BaseClass="container" /> + + ADD OBJECT 'Clb_telefon2' AS clb_tx_simplu WITH ; + Left = 466, ; + Name = "Clb_telefon2", ; + TabIndex = 14, ; + TabStop = .F., ; + Top = 356, ; + TEXT_SIMPLU1.ControlSource = "porec.telefon2", ; + TEXT_SIMPLU1.Name = "TEXT_SIMPLU1", ; + TEXT_SIMPLU1.ReadOnly = .T., ; + LB_SIMPLU1.Caption = "Telefon 2", ; + LB_SIMPLU1.Name = "LB_SIMPLU1" + *< END OBJECT: ClassLib="lb_tx.vcx" BaseClass="container" /> + + ADD OBJECT 'Clb_telefon3' AS clb_tx_simplu WITH ; + Left = 466, ; + Name = "Clb_telefon3", ; + TabIndex = 15, ; + TabStop = .F., ; + Top = 384, ; + TEXT_SIMPLU1.ControlSource = "porec.telefon3", ; + TEXT_SIMPLU1.Name = "TEXT_SIMPLU1", ; + TEXT_SIMPLU1.ReadOnly = .T., ; + LB_SIMPLU1.Caption = "Telefon 3", ; + LB_SIMPLU1.Name = "LB_SIMPLU1" + *< END OBJECT: ClassLib="lb_tx.vcx" BaseClass="container" /> + + ADD OBJECT 'Ed_adresa' AS ed_tx_simplu WITH ; + Height = 124, ; + Left = 466, ; + Name = "Ed_adresa", ; + TabIndex = 6, ; + TabStop = .F., ; + Top = 65, ; + Width = 290, ; + _edbase1.ControlSource = "porec.adresa", ; + _edbase1.Height = 118, ; + _edbase1.Left = 58, ; + _edbase1.Name = "_edbase1", ; + _edbase1.ReadOnly = .T., ; + _edbase1.Top = 2, ; + _edbase1.Width = 228, ; + _LBBASE1.Caption = "Adresa", ; + _LBBASE1.Name = "_LBBASE1" + *< END OBJECT: ClassLib="lb_tx.vcx" BaseClass="container" /> + + ADD OBJECT 'grd_firme' AS _grdrow WITH ; + ColumnCount = 27, ; + DeleteMark = .F., ; + Height = 444, ; + Left = 36, ; + Name = "grd_firme", ; + Panel = 1, ; + RecordSource = "v_firme", ; + TabIndex = 1, ; + Top = 48, ; + Width = 396, ; + Column1.ControlSource = "firma", ; + Column1.Name = "cFirma", ; + Column1.Width = 155, ; + Column2.ColumnOrder = 27, ; + Column2.ControlSource = "schema", ; + Column2.Name = "cSchema", ; + Column2.Width = 120, ; + Column3.ColumnOrder = 2, ; + Column3.ControlSource = "cod_fiscal", ; + Column3.Name = "cCod_Fiscal", ; + Column3.Width = 120, ; + Column4.ColumnOrder = 6, ; + Column4.ControlSource = "cont_banca1", ; + Column4.Name = "cCont_Banca1", ; + Column4.Width = 161, ; + Column5.ColumnOrder = 5, ; + Column5.ControlSource = "banca1", ; + Column5.Name = "cBanca1", ; + Column5.Width = 121, ; + Column6.ColumnOrder = 7, ; + Column6.ControlSource = "banca2", ; + Column6.Name = "cBanca2", ; + Column6.Width = 131, ; + Column7.ColumnOrder = 8, ; + Column7.ControlSource = "cont_banca2", ; + Column7.Name = "cCont_Banca2", ; + Column7.Width = 149, ; + Column8.ColumnOrder = 9, ; + Column8.ControlSource = "banca3", ; + Column8.Name = "cBanca3", ; + Column8.Width = 148, ; + Column9.ColumnOrder = 10, ; + Column9.ControlSource = "cont_banca3", ; + Column9.Name = "cCont_Banca3", ; + Column9.Width = 141, ; + Column10.ColumnOrder = 11, ; + Column10.ControlSource = "adresa", ; + Column10.Name = "cAdresa", ; + Column10.Width = 174, ; + Column11.ColumnOrder = 12, ; + Column11.ControlSource = "cod_firma", ; + Column11.Name = "cCod_Firma", ; + Column11.Width = 98, ; + Column12.ColumnOrder = 18, ; + Column12.ControlSource = "persoana_juridica", ; + Column12.Name = "cPersoanaJuridica", ; + Column12.Sparse = .F., ; + Column12.Width = 99, ; + Column13.ColumnOrder = 19, ; + Column13.ControlSource = "codang", ; + Column13.Name = "cCodAng", ; + Column13.Width = 130, ; + Column14.ColumnOrder = 20, ; + Column14.ControlSource = "nume", ; + Column14.Name = "cNume", ; + Column14.Width = 119, ; + Column15.ColumnOrder = 21, ; + Column15.ControlSource = "prenume", ; + Column15.Name = "cPrenume", ; + Column15.Width = 132, ; + Column16.ColumnOrder = 23, ; + Column16.ControlSource = "capital_soc_sub", ; + Column16.Name = "cCapital_soc_sub", ; + Column16.Width = 134, ; + Column17.ColumnOrder = 24, ; + Column17.ControlSource = "capital_soc_var", ; + Column17.Name = "cCapital_soc_var", ; + Column17.Width = 116, ; + Column18.ColumnOrder = 26, ; + Column18.ControlSource = "caen", ; + Column18.Name = "cCaen", ; + Column18.Width = 129, ; + Column19.ColumnOrder = 25, ; + Column19.ControlSource = "punct_luc", ; + Column19.Name = "cPunctLucru", ; + Column19.Width = 107, ; + Column20.ColumnOrder = 22, ; + Column20.ControlSource = "oasp", ; + Column20.Name = "cOasp", ; + Column20.Width = 112, ; + Column21.ColumnOrder = 13, ; + Column21.ControlSource = "telefon", ; + Column21.Name = "cTelefon", ; + Column21.Width = 103, ; + Column22.ColumnOrder = 14, ; + Column22.ControlSource = "telefon2", ; + Column22.Name = "cTelefon2", ; + Column22.Width = 115, ; + Column23.ColumnOrder = 15, ; + Column23.ControlSource = "telefon3", ; + Column23.Name = "cTelefon3", ; + Column23.Width = 125, ; + Column24.ColumnOrder = 16, ; + Column24.ControlSource = "fax", ; + Column24.Name = "cFax", ; + Column24.Width = 118, ; + Column25.ColumnOrder = 17, ; + Column25.ControlSource = "email", ; + Column25.Name = "cEmail", ; + Column25.Width = 122, ; + Column26.ColumnOrder = 3, ; + Column26.ControlSource = "reg_comert", ; + Column26.Name = "cReg_Comert", ; + Column26.Width = 147, ; + Column27.ColumnOrder = 4, ; + Column27.ControlSource = "sucursala", ; + Column27.Name = "cSucursala", ; + Column27.Width = 122 + *< END OBJECT: ClassLib="_grd_base.vcx" BaseClass="grid" /> + + ADD OBJECT 'grd_firme.cAdresa.Header1' AS header WITH ; + Alignment = 2, ; + Caption = "Adresa", ; + Name = "Header1" + *< END OBJECT: BaseClass="header" /> + + ADD OBJECT 'grd_firme.cAdresa.Text1' AS textbox WITH ; + BackColor = 255,255,255, ; + BorderStyle = 0, ; + ForeColor = 0,0,0, ; + Margin = 0, ; + Name = "Text1" + *< END OBJECT: BaseClass="textbox" /> + + ADD OBJECT 'grd_firme.cBanca1.Header1' AS header WITH ; + Alignment = 2, ; + Caption = "Banca 1", ; + Name = "Header1" + *< END OBJECT: BaseClass="header" /> + + ADD OBJECT 'grd_firme.cBanca1.Text1' AS textbox WITH ; + BackColor = 255,255,255, ; + BorderStyle = 0, ; + ForeColor = 0,0,0, ; + Margin = 0, ; + Name = "Text1" + *< END OBJECT: BaseClass="textbox" /> + + ADD OBJECT 'grd_firme.cBanca2.Header1' AS header WITH ; + Alignment = 2, ; + Caption = "Banca 2", ; + Name = "Header1" + *< END OBJECT: BaseClass="header" /> + + ADD OBJECT 'grd_firme.cBanca2.Text1' AS textbox WITH ; + BackColor = 255,255,255, ; + BorderStyle = 0, ; + ForeColor = 0,0,0, ; + Margin = 0, ; + Name = "Text1" + *< END OBJECT: BaseClass="textbox" /> + + ADD OBJECT 'grd_firme.cBanca3.Header1' AS header WITH ; + Alignment = 2, ; + Caption = "Banca 3", ; + Name = "Header1" + *< END OBJECT: BaseClass="header" /> + + ADD OBJECT 'grd_firme.cBanca3.Text1' AS textbox WITH ; + BackColor = 255,255,255, ; + BorderStyle = 0, ; + ForeColor = 0,0,0, ; + Margin = 0, ; + Name = "Text1" + *< END OBJECT: BaseClass="textbox" /> + + ADD OBJECT 'grd_firme.cCaen.Header1' AS header WITH ; + Alignment = 2, ; + Caption = "CAEN", ; + Name = "Header1" + *< END OBJECT: BaseClass="header" /> + + ADD OBJECT 'grd_firme.cCaen.Text1' AS textbox WITH ; + Alignment = 3, ; + BackColor = 255,255,255, ; + BorderStyle = 0, ; + ForeColor = 0,0,0, ; + Margin = 0, ; + Name = "Text1" + *< END OBJECT: BaseClass="textbox" /> + + ADD OBJECT 'grd_firme.cCapital_soc_sub.Header1' AS header WITH ; + Alignment = 2, ; + Caption = "Capital social subscris", ; + Name = "Header1" + *< END OBJECT: BaseClass="header" /> + + ADD OBJECT 'grd_firme.cCapital_soc_sub.Text1' AS textbox WITH ; + BackColor = 255,255,255, ; + BorderStyle = 0, ; + ForeColor = 0,0,0, ; + Margin = 0, ; + Name = "Text1" + *< END OBJECT: BaseClass="textbox" /> + + ADD OBJECT 'grd_firme.cCapital_soc_var.Header1' AS header WITH ; + Alignment = 2, ; + Caption = "Capital social varsat", ; + Name = "Header1" + *< END OBJECT: BaseClass="header" /> + + ADD OBJECT 'grd_firme.cCapital_soc_var.Text1' AS textbox WITH ; + BackColor = 255,255,255, ; + BorderStyle = 0, ; + ForeColor = 0,0,0, ; + Margin = 0, ; + Name = "Text1" + *< END OBJECT: BaseClass="textbox" /> + + ADD OBJECT 'grd_firme.cCod_Firma.Header1' AS header WITH ; + Alignment = 2, ; + Caption = "Cod firma", ; + Name = "Header1" + *< END OBJECT: BaseClass="header" /> + + ADD OBJECT 'grd_firme.cCod_Firma.Text1' AS textbox WITH ; + BackColor = 255,255,255, ; + BorderStyle = 0, ; + ForeColor = 0,0,0, ; + Margin = 0, ; + Name = "Text1" + *< END OBJECT: BaseClass="textbox" /> + + ADD OBJECT 'grd_firme.cCod_Fiscal.Header1' AS header WITH ; + Alignment = 2, ; + Caption = "Cod fiscal", ; + Name = "Header1" + *< END OBJECT: BaseClass="header" /> + + ADD OBJECT 'grd_firme.cCod_Fiscal.Text1' AS textbox WITH ; + BackColor = 255,255,255, ; + BorderStyle = 0, ; + ForeColor = 0,0,0, ; + Margin = 0, ; + Name = "Text1" + *< END OBJECT: BaseClass="textbox" /> + + ADD OBJECT 'grd_firme.cCodAng.Header1' AS header WITH ; + Alignment = 2, ; + Caption = "Cod ang.", ; + Name = "Header1" + *< END OBJECT: BaseClass="header" /> + + ADD OBJECT 'grd_firme.cCodAng.Text1' AS textbox WITH ; + BackColor = 255,255,255, ; + BorderStyle = 0, ; + ForeColor = 0,0,0, ; + Margin = 0, ; + Name = "Text1" + *< END OBJECT: BaseClass="textbox" /> + + ADD OBJECT 'grd_firme.cCont_Banca1.Header1' AS header WITH ; + Alignment = 2, ; + Caption = "Cont banca 1", ; + Name = "Header1" + *< END OBJECT: BaseClass="header" /> + + ADD OBJECT 'grd_firme.cCont_Banca1.Text1' AS textbox WITH ; + BackColor = 255,255,255, ; + BorderStyle = 0, ; + ForeColor = 0,0,0, ; + Margin = 0, ; + Name = "Text1" + *< END OBJECT: BaseClass="textbox" /> + + ADD OBJECT 'grd_firme.cCont_Banca2.Header1' AS header WITH ; + Alignment = 2, ; + Caption = "Cont banca 2", ; + Name = "Header1" + *< END OBJECT: BaseClass="header" /> + + ADD OBJECT 'grd_firme.cCont_Banca2.Text1' AS textbox WITH ; + BackColor = 255,255,255, ; + BorderStyle = 0, ; + ForeColor = 0,0,0, ; + Margin = 0, ; + Name = "Text1" + *< END OBJECT: BaseClass="textbox" /> + + ADD OBJECT 'grd_firme.cCont_Banca3.Header1' AS header WITH ; + Alignment = 2, ; + Caption = "Cont banca 3", ; + Name = "Header1" + *< END OBJECT: BaseClass="header" /> + + ADD OBJECT 'grd_firme.cCont_Banca3.Text1' AS textbox WITH ; + BackColor = 255,255,255, ; + BorderStyle = 0, ; + ForeColor = 0,0,0, ; + Margin = 0, ; + Name = "Text1" + *< END OBJECT: BaseClass="textbox" /> + + ADD OBJECT 'grd_firme.cEmail.Header1' AS header WITH ; + Alignment = 2, ; + Caption = "E-mail", ; + Name = "Header1" + *< END OBJECT: BaseClass="header" /> + + ADD OBJECT 'grd_firme.cEmail.Text1' AS textbox WITH ; + BackColor = 255,255,255, ; + BorderStyle = 0, ; + ForeColor = 0,0,0, ; + Margin = 0, ; + Name = "Text1" + *< END OBJECT: BaseClass="textbox" /> + + ADD OBJECT 'grd_firme.cFax.Header1' AS header WITH ; + Alignment = 2, ; + Caption = "Fax", ; + Name = "Header1" + *< END OBJECT: BaseClass="header" /> + + ADD OBJECT 'grd_firme.cFax.Text1' AS textbox WITH ; + BackColor = 255,255,255, ; + BorderStyle = 0, ; + ForeColor = 0,0,0, ; + Margin = 0, ; + Name = "Text1" + *< END OBJECT: BaseClass="textbox" /> + + ADD OBJECT 'grd_firme.cFirma.Header1' AS header WITH ; + Alignment = 2, ; + Caption = "Firma", ; + Name = "Header1" + *< END OBJECT: BaseClass="header" /> + + ADD OBJECT 'grd_firme.cFirma.Text1' AS textbox WITH ; + BackColor = 255,255,255, ; + BorderStyle = 0, ; + ForeColor = 0,0,0, ; + Margin = 0, ; + Name = "Text1" + *< END OBJECT: BaseClass="textbox" /> + + ADD OBJECT 'grd_firme.cNume.Header1' AS header WITH ; + Alignment = 2, ; + Caption = "Nume", ; + Name = "Header1" + *< END OBJECT: BaseClass="header" /> + + ADD OBJECT 'grd_firme.cNume.Text1' AS textbox WITH ; + BackColor = 255,255,255, ; + BorderStyle = 0, ; + ForeColor = 0,0,0, ; + Margin = 0, ; + Name = "Text1" + *< END OBJECT: BaseClass="textbox" /> + + ADD OBJECT 'grd_firme.cOasp.Header1' AS header WITH ; + Alignment = 2, ; + Caption = "Oasp", ; + Name = "Header1" + *< END OBJECT: BaseClass="header" /> + + ADD OBJECT 'grd_firme.cOasp.Text1' AS textbox WITH ; + BackColor = 255,255,255, ; + BorderStyle = 0, ; + ForeColor = 0,0,0, ; + Margin = 0, ; + Name = "Text1" + *< END OBJECT: BaseClass="textbox" /> + + ADD OBJECT 'grd_firme.cPersoanaJuridica.Check1' AS checkbox WITH ; + Alignment = 2, ; + BackStyle = 0, ; + Caption = "", ; + Centered = .T., ; + Height = 17, ; + Left = 47, ; + Name = "Check1", ; + Top = 35, ; + Width = 60 + *< END OBJECT: BaseClass="checkbox" /> + + ADD OBJECT 'grd_firme.cPersoanaJuridica.Header1' AS header WITH ; + Alignment = 2, ; + Caption = "Persoana juridica", ; + Name = "Header1" + *< END OBJECT: BaseClass="header" /> + + ADD OBJECT 'grd_firme.cPrenume.Header1' AS header WITH ; + Alignment = 2, ; + Caption = "Prenume", ; + Name = "Header1" + *< END OBJECT: BaseClass="header" /> + + ADD OBJECT 'grd_firme.cPrenume.Text1' AS textbox WITH ; + BackColor = 255,255,255, ; + BorderStyle = 0, ; + ForeColor = 0,0,0, ; + Margin = 0, ; + Name = "Text1" + *< END OBJECT: BaseClass="textbox" /> + + ADD OBJECT 'grd_firme.cPunctLucru.Header1' AS header WITH ; + Alignment = 2, ; + Caption = "Punct de lucru", ; + Name = "Header1" + *< END OBJECT: BaseClass="header" /> + + ADD OBJECT 'grd_firme.cPunctLucru.Text1' AS textbox WITH ; + BackColor = 255,255,255, ; + BorderStyle = 0, ; + ForeColor = 0,0,0, ; + Margin = 0, ; + Name = "Text1" + *< END OBJECT: BaseClass="textbox" /> + + ADD OBJECT 'grd_firme.cReg_Comert.Header1' AS header WITH ; + Alignment = 2, ; + Caption = "Reg. comert", ; + Name = "Header1" + *< END OBJECT: BaseClass="header" /> + + ADD OBJECT 'grd_firme.cReg_Comert.Text1' AS textbox WITH ; + BackColor = 255,255,255, ; + BorderStyle = 0, ; + ForeColor = 0,0,0, ; + Margin = 0, ; + Name = "Text1" + *< END OBJECT: BaseClass="textbox" /> + + ADD OBJECT 'grd_firme.cSchema.Header1' AS header WITH ; + Alignment = 2, ; + Caption = "Schema", ; + Name = "Header1" + *< END OBJECT: BaseClass="header" /> + + ADD OBJECT 'grd_firme.cSchema.Text1' AS textbox WITH ; + BackColor = 255,255,255, ; + BorderStyle = 0, ; + ForeColor = 0,0,0, ; + Margin = 0, ; + Name = "Text1" + *< END OBJECT: BaseClass="textbox" /> + + ADD OBJECT 'grd_firme.cSucursala.Header1' AS header WITH ; + Alignment = 2, ; + Caption = "Sucursala", ; + Name = "Header1" + *< END OBJECT: BaseClass="header" /> + + ADD OBJECT 'grd_firme.cSucursala.Text1' AS textbox WITH ; + BackColor = 255,255,255, ; + BorderStyle = 0, ; + ForeColor = 0,0,0, ; + Margin = 0, ; + Name = "Text1" + *< END OBJECT: BaseClass="textbox" /> + + ADD OBJECT 'grd_firme.cTelefon.Header1' AS header WITH ; + Alignment = 2, ; + Caption = "Telefon", ; + Name = "Header1" + *< END OBJECT: BaseClass="header" /> + + ADD OBJECT 'grd_firme.cTelefon.Text1' AS textbox WITH ; + BackColor = 255,255,255, ; + BorderStyle = 0, ; + ForeColor = 0,0,0, ; + Margin = 0, ; + Name = "Text1" + *< END OBJECT: BaseClass="textbox" /> + + ADD OBJECT 'grd_firme.cTelefon2.Header1' AS header WITH ; + Alignment = 2, ; + Caption = "Telefon 2", ; + Name = "Header1" + *< END OBJECT: BaseClass="header" /> + + ADD OBJECT 'grd_firme.cTelefon2.Text1' AS textbox WITH ; + BackColor = 255,255,255, ; + BorderStyle = 0, ; + ForeColor = 0,0,0, ; + Margin = 0, ; + Name = "Text1" + *< END OBJECT: BaseClass="textbox" /> + + ADD OBJECT 'grd_firme.cTelefon3.Header1' AS header WITH ; + Alignment = 2, ; + Caption = "Telefon 3", ; + Name = "Header1" + *< END OBJECT: BaseClass="header" /> + + ADD OBJECT 'grd_firme.cTelefon3.Text1' AS textbox WITH ; + BackColor = 255,255,255, ; + BorderStyle = 0, ; + ForeColor = 0,0,0, ; + Margin = 0, ; + Name = "Text1" + *< END OBJECT: BaseClass="textbox" /> + + PROCEDURE actualizeaza_grid1 + Lparameters pcFiltru + Local lcFiltru + lcFiltru=pcFiltru + If Empty(lcFiltru) + lcFiltru=pofirme.ca_baza1.cfiltru + Endif + save_grid_tag(Thisform.grd_firme) + pofirme.ca_baza1.cfiltru=lcFiltru + pofirme.ca_baza1.afisare() + restore_grid_tag(Thisform.grd_firme) + Thisform.grd_firme.SetFocus() + + ENDPROC + + PROCEDURE Destroy + If Used('v_firme') + Use In v_firme + Endif + ENDPROC + + PROCEDURE do_adauga + Local lcSql, llSucces, loRec + Private pcSchema, pnLuna, pnAn + *:Global gnButon + gnButon=1 + Select v_firme + Scatter Name loRec Blank + + Do Adauga_Modifica_Inregistrare With "firme",loRec,,"INSERT" + + If gnButon=1 + This.actualizeaza_grid1() + Endif + ENDPROC + + PROCEDURE do_modifica + If Reccount('v_firme')>0 + gnButon=1 + Select v_firme + Scatter Name loRec + Do Adauga_Modifica_Inregistrare With "firme",loRec,loRec.Id_firma,"UPDATE" + If gnButon=1 + This.actualizeaza_grid1() + Endif + Endif + ENDPROC + + PROCEDURE do_refresh_date + Thisform.ed_adresa.Refresh() + Thisform.clb_banca1.Refresh() + Thisform.clb_cod_firma.Refresh() + Thisform.clb_cod_fiscal.Refresh() + Thisform.clb_cont_banca1.Refresh() + Thisform.clb_email.Refresh() + Thisform.clb_fax.Refresh() + Thisform.clb_reg_comert.Refresh() + Thisform.clb_telefon.Refresh() + Thisform.clb_telefon2.Refresh() + Thisform.clb_telefon3.Refresh() + ENDPROC + + PROCEDURE do_sterge + If Reccount('v_firme')>0 + gnButon=1 + Select v_firme + Scatter Name loRec + Do STERGE_INREGISTRARE With "firme",loRec.Id_firma + If gnButon=1 + This.actualizeaza_grid1() + Endif + Endif + ENDPROC + + PROCEDURE grd_firme.AfterRowColChange + Lparameters nColIndex + If Inlist(This.RowColChange,0,1,3) + Select v_firme + Scatter Name poRec + Thisform.do_refresh_date() + Endif + + ENDPROC + + PROCEDURE grd_firme.Init + *!* MAMA : ALBASTRU DESCHIS + *!* SUCURSALA : GALBEN PAI + *!* FIRMA INDEPENDENTA : ALB + THIS.SetAll("dynamicbackcolor","iif(e_mama = 1, RGB(255,255,225), IIF(NVL(id_mama,0) <> 0, RGB(240,241,255), RGB(255,255,255)))","Column") + ENDPROC + +ENDDEFINE diff --git a/clase/ofundal.vc2 b/clase/ofundal.vc2 new file mode 100644 index 0000000..c33c6aa --- /dev/null +++ b/clase/ofundal.vc2 @@ -0,0 +1,494 @@ +*-------------------------------------------------------------------------------------------------------------------------------------------------------- +* (EN) AUTOGENERATED - ATTENTION!! - NOT INTENDED FOR EXECUTION!! USE ONLY FOR MERGING CHANGES AND STORING WITH SCM TOOLS!! +*-------------------------------------------------------------------------------------------------------------------------------------------------------- +*< FOXBIN2PRG: Version="1.21" SourceFile="ofundal.vcx" CPID="1252" /> (Solo para binarios VFP 9 / Only for VFP 9 binaries) +* +* +DEFINE CLASS cw AS _container OF "_baza.vcx" + *< CLASSDATA: Baseclass="container" Timestamp="" Scale="Pixels" Uniqueid="" /> + + *-- OBJECTDATA items order determines ZOrder / El orden de los items OBJECTDATA determina el ZOrder + *< OBJECTDATA: ObjPath="Label_item1" UniqueID="" Timestamp="" /> + + * + *m: activeaza + *m: dezactiveaza + *m: do_actiune + *p: alb + *p: bleumarin + *p: ccheie && Cheia corespunzatoare din crsdrepturi ( se completeaza la citirea drepturilor din bd ). + *p: cmeniu && Numele meniului pe care il lanseaza. + *p: coptiuni_active && Optiunile active + *p: linactiv && .T. daca containerul este inactiv indiferent de drepturi. + *p: nid_cw + *p: ntip && 0 - introducere\vizualizare simpla\raport simplu ; 1 - raport + excel ; 2 - registru; 3 - balanta\inreg. de parteneri; 4 - vizualizare ; 5 - personalizat + * + + * + alb = 16777215 + BackColor = 192,192,192 + BackStyle = 1 + bleumarin = 7274496 + BorderColor = 192,192,192 + BorderWidth = 0 + ccheie = + cmeniu = + coptiuni_active = + ForeColor = 0,64,128 + Height = 20 + linactiv = .F. + Name = "cw" + nid_cw = 0 + ntip = 0 + Width = 180 + * + + ADD OBJECT 'Label_item1' AS _lbbase WITH ; + Caption = "Introducere", ; + FontName = "Arial", ; + FontSize = 10, ; + ForeColor = 255,255,255, ; + Left = 5, ; + Name = "Label_item1", ; + Top = 1 + *< END OBJECT: ClassLib="_lb_base.vcx" BaseClass="label" /> + + PROCEDURE activeaza + If This.linactiv + This.dezactiveaza() + Else + This.Enabled=.T. + This.laBEL_ITEM1.ForeColor=Rgb(255,255,255) + Endif + ENDPROC + + PROCEDURE Click + If !This.Enabled + Return + Endif + gcAcces=This.coptiuni_active + This.do_actiune + + ENDPROC + + PROCEDURE dezactiveaza + This.Enabled=.F. + This.laBEL_ITEM1.ForeColor=Rgb(128,128,128) + ENDPROC + + PROCEDURE do_actiune + ENDPROC + + PROCEDURE Init + COL_MENU=RGB(255,255,255) + This.BackColor= COL_MENU + This.BackStyle=0 + ENDPROC + + PROCEDURE MouseEnter + Lparameters nButton, nShift, nXCoord, nYCoord + If This.Enabled + This.BackStyle=1 + *!* this.BackColor=THIS.BLEUMARIN&&8404992 + *!* this.label_item1.ForeColor=THIS.ALB&&16777215 + This.BackColor=This.ALB&&8404992 + This.label_item1.ForeColor=This.BLEUMARIN&&16777215 + *this.CLICK + This.label_item1.MousePointer = 15 + This.MousePointer = 15 + Endif + ENDPROC + + PROCEDURE MouseLeave + Lparameters nButton, nShift, nXCoord, nYCoord + If This.Enabled + *!* this.BackColor=THIS.Parent.BACKCOLOR + *!* *!* this.label_item1.ForeColor=THIS.BLEUMARIN&&RGB(0,64,128) + *!* this.label_item1.ForeColor=THIS.ALB + This.BackColor=This.Parent.BackColor + *!* this.label_item1.ForeColor=THIS.BLEUMARIN&&RGB(0,64,128) + This.label_item1.ForeColor=This.ALB + This.BackStyle= 0 + This.label_item1.MousePointer = 1 + This.MousePointer= 1 + Endif + ENDPROC + + PROCEDURE Label_item1.Click + this.Parent.click + ENDPROC + +ENDDEFINE + +DEFINE CLASS cw_2019 AS _container OF "_baza.vcx" + *< CLASSDATA: Baseclass="container" Timestamp="" Scale="Pixels" Uniqueid="" /> + + *-- OBJECTDATA items order determines ZOrder / El orden de los items OBJECTDATA determina el ZOrder + *< OBJECTDATA: ObjPath="Label_item1" UniqueID="" Timestamp="" /> + + * + *m: activeaza + *m: dezactiveaza + *m: do_actiune + *p: alb + *p: bleumarin + *p: ccheie && Cheia corespunzatoare din crsdrepturi ( se completeaza la citirea drepturilor din bd ). + *p: cmeniu && Numele meniului pe care il lanseaza. + *p: coptiuni_active && Optiunile active + *p: linactiv && .T. daca containerul este inactiv indiferent de drepturi. + *p: nid_cw + *p: ntip && 0 - introducere\vizualizare simpla\raport simplu ; 1 - raport + excel ; 2 - registru; 3 - balanta\inreg. de parteneri; 4 - vizualizare ; 5 - personalizat + * + + * + alb = 16777215 + BackColor = 192,192,192 + BackStyle = 1 + bleumarin = 7274496 + BorderColor = 192,192,192 + BorderWidth = 0 + ccheie = + cmeniu = + coptiuni_active = + ForeColor = 0,64,128 + Height = 20 + linactiv = .F. + Name = "cw_2019" + nid_cw = 0 + ntip = 0 + Width = 180 + * + + ADD OBJECT 'Label_item1' AS _lbbase WITH ; + Caption = "Introducere", ; + FontCharSet = 1, ; + FontName = "Arial", ; + FontSize = 10, ; + ForeColor = 255,255,255, ; + Left = 5, ; + Name = "Label_item1", ; + Top = 1 + *< END OBJECT: ClassLib="_lb_base.vcx" BaseClass="label" /> + + PROCEDURE activeaza + If This.linactiv + This.dezactiveaza() + Else + This.Enabled=.T. + This.laBEL_ITEM1.ForeColor=Rgb(255,255,255) + Endif + ENDPROC + + PROCEDURE Click + If !This.Enabled + Return + Endif + gcAcces=This.coptiuni_active + This.do_actiune + + ENDPROC + + PROCEDURE dezactiveaza + This.Enabled=.F. + This.laBEL_ITEM1.ForeColor=Rgb(128,128,128) + ENDPROC + + PROCEDURE do_actiune + ENDPROC + + PROCEDURE Init + COL_MENU=RGB(255,255,255) + This.BackColor= COL_MENU + This.BackStyle=0 + ENDPROC + + PROCEDURE MouseEnter + Lparameters nButton, nShift, nXCoord, nYCoord + If This.Enabled + This.BackStyle=1 + *!* this.BackColor=THIS.BLEUMARIN&&8404992 + *!* this.label_item1.ForeColor=THIS.ALB&&16777215 + This.BackColor=This.ALB&&8404992 + This.label_item1.ForeColor=This.BLEUMARIN&&16777215 + *this.CLICK + This.label_item1.MousePointer = 15 + This.MousePointer = 15 + Endif + ENDPROC + + PROCEDURE MouseLeave + Lparameters nButton, nShift, nXCoord, nYCoord + If This.Enabled + *!* this.BackColor=THIS.Parent.BACKCOLOR + *!* *!* this.label_item1.ForeColor=THIS.BLEUMARIN&&RGB(0,64,128) + *!* this.label_item1.ForeColor=THIS.ALB + This.BackColor=This.Parent.BackColor + *!* this.label_item1.ForeColor=THIS.BLEUMARIN&&RGB(0,64,128) + This.label_item1.ForeColor=This.ALB + This.BackStyle= 0 + This.label_item1.MousePointer = 1 + This.MousePointer= 1 + Endif + ENDPROC + + PROCEDURE Label_item1.Click + this.Parent.click + ENDPROC + +ENDDEFINE + +DEFINE CLASS cw_nou AS _commandbutton OF "_baza.vcx" + *< CLASSDATA: Baseclass="commandbutton" Timestamp="" Scale="Pixels" Uniqueid="" /> + + * + Name = "cw" + * + +ENDDEFINE + +DEFINE CLASS cw_original AS _container OF "_baza.vcx" + *< CLASSDATA: Baseclass="container" Timestamp="" Scale="Pixels" Uniqueid="" /> + + *-- OBJECTDATA items order determines ZOrder / El orden de los items OBJECTDATA determina el ZOrder + *< OBJECTDATA: ObjPath="Label_item1" UniqueID="" Timestamp="" /> + + * + *m: activeaza + *m: dezactiveaza + *m: do_actiune + *p: alb + *p: bleumarin + *p: ccheie && Cheia corespunzatoare din crsdrepturi ( se completeaza la citirea drepturilor din bd ). + *p: cmeniu && Numele meniului pe care il lanseaza. + *p: coptiuni_active && Optiunile active + *p: linactiv && .T. daca containerul este inactiv indiferent de drepturi. + *p: nid_cw + *p: ntip && 0 - introducere\vizualizare simpla\raport simplu ; 1 - raport + excel ; 2 - registru; 3 - balanta\inreg. de parteneri; 4 - vizualizare ; 5 - personalizat + * + + * + alb = 16777215 + BackColor = 192,192,192 + BackStyle = 1 + bleumarin = 7274496 + BorderColor = 192,192,192 + BorderWidth = 0 + ccheie = + cmeniu = + coptiuni_active = + ForeColor = 0,64,128 + Height = 20 + linactiv = .F. + Name = "cw" + nid_cw = 0 + ntip = 0 + Width = 117 + * + + ADD OBJECT 'Label_item1' AS _lbbase WITH ; + Caption = "Introducere", ; + FontCharSet = 238, ; + FontSize = 8, ; + ForeColor = 255,255,255, ; + Left = 5, ; + Name = "Label_item1", ; + Top = 3 + *< END OBJECT: ClassLib="_lb_base.vcx" BaseClass="label" /> + + PROCEDURE activeaza + If This.linactiv + This.dezactiveaza() + Else + This.Enabled=.T. + This.laBEL_ITEM1.ForeColor=Rgb(255,255,255) + Endif + ENDPROC + + PROCEDURE Click + If !This.Enabled + Return + Endif + gcAcces=This.coptiuni_active + This.do_actiune + + ENDPROC + + PROCEDURE dezactiveaza + This.Enabled=.F. + This.laBEL_ITEM1.ForeColor=Rgb(128,128,128) + ENDPROC + + PROCEDURE do_actiune + ENDPROC + + PROCEDURE Init + COL_MENU=RGB(255,255,255) + This.BackColor= COL_MENU + This.BackStyle=0 + ENDPROC + + PROCEDURE MouseEnter + Lparameters nButton, nShift, nXCoord, nYCoord + If This.Enabled + This.BackStyle=1 + *!* this.BackColor=THIS.BLEUMARIN&&8404992 + *!* this.label_item1.ForeColor=THIS.ALB&&16777215 + This.BackColor=This.ALB&&8404992 + This.label_item1.ForeColor=This.BLEUMARIN&&16777215 + *this.CLICK + This.label_item1.MousePointer = 15 + This.MousePointer = 15 + Endif + ENDPROC + + PROCEDURE MouseLeave + Lparameters nButton, nShift, nXCoord, nYCoord + If This.Enabled + *!* this.BackColor=THIS.Parent.BACKCOLOR + *!* *!* this.label_item1.ForeColor=THIS.BLEUMARIN&&RGB(0,64,128) + *!* this.label_item1.ForeColor=THIS.ALB + This.BackColor=This.Parent.BackColor + *!* this.label_item1.ForeColor=THIS.BLEUMARIN&&RGB(0,64,128) + This.label_item1.ForeColor=This.ALB + This.BackStyle= 0 + This.label_item1.MousePointer = 1 + This.MousePointer= 1 + Endif + ENDPROC + + PROCEDURE Label_item1.Click + this.Parent.click + ENDPROC + +ENDDEFINE + +DEFINE CLASS imagine AS _image OF "_baza.vcx" + *< CLASSDATA: Baseclass="image" Timestamp="" Scale="Pixels" Uniqueid="" /> + + * + *m: do_actiune + *p: ccod && Codul container-ului din pageframe corespunzator imaginii. + *p: coptiuni_active && Optiunile active din forma. + *p: nid_img + *p: ntip && 0 - introducere\vizualizare simpla ; 1 - raport; 2 - registru; 3 - balanta\inreg. de parteneri; 4 - vizualizare ; 5 - personalizat + *p: picturedown + *p: pictureup + * + + * + ccod = + coptiuni_active = + Height = 59 + Name = "imagine" + nid_img = 0 + ntip = 0 + picturedown = + pictureup = + Width = 71 + * + + PROCEDURE Click + gcAcces=This.coptiuni_active + This.do_actiune() + + ENDPROC + + PROCEDURE do_actiune + ENDPROC + + PROCEDURE Init + This.Picture=This.pictureup + ENDPROC + + PROCEDURE MouseEnter + Lparameters nButton, nShift, nXCoord, nYCoord + This.MousePointer= 15 + This.Picture=This.pictureDown + ENDPROC + + PROCEDURE MouseLeave + Lparameters nButton, nShift, nXCoord, nYCoord + This.MousePointer= 1 + This.Picture=This.pictureUp + ENDPROC + +ENDDEFINE + +DEFINE CLASS pg_meniu AS _pageframe OF "..\..\comun\clase\_baza.vcx" + *< CLASSDATA: Baseclass="pageframe" Timestamp="" Scale="Pixels" Uniqueid="" /> + + * + ErasePage = .T. + Height = 173 + Name = "pg_meniu" + TabStyle = 1 + Page1.BackColor = 255,255,255 + Page1.Name = "Page1" + Page2.BackColor = 255,255,255 + Page2.Name = "Page2" + * + +ENDDEFINE + +DEFINE CLASS pg_meniu_princ AS pg_meniu OF "ofundal.vcx" + *< CLASSDATA: Baseclass="pageframe" Timestamp="" Scale="Pixels" Uniqueid="" /> + + *-- OBJECTDATA items order determines ZOrder / El orden de los items OBJECTDATA determina el ZOrder + *< OBJECTDATA: ObjPath="Page1.Pict_meniu1" UniqueID="" Timestamp="" /> + + * + *p: _memberdata && XML Metadata for customizable properties + * + + * + ErasePage = .T. + Height = 422 + Name = "pg_meniu_princ" + PageCount = 2 + Width = 401 + _memberdata = + + + Page1.Caption = "Pagina 1" + Page1.Name = "Page1" + Page2.Caption = "-" + Page2.Enabled = .F. + Page2.Name = "Page2" + * + + ADD OBJECT 'Page1.Pict_meniu1' AS pict_meniu WITH ; + Height = 362, ; + Left = 0, ; + Name = "Pict_meniu1", ; + Picture = ..\..\grafice\f2.jpg, ; + Top = 0, ; + Width = 158 + *< END OBJECT: ClassLib="ofundal.vcx" BaseClass="image" /> + +ENDDEFINE + +DEFINE CLASS pict_liniuta AS _image OF "_baza.vcx" + *< CLASSDATA: Baseclass="image" Timestamp="" Scale="Pixels" Uniqueid="" /> + + * + Height = 10 + Name = "pict_liniuta" + Picture = ..\grafice\f3.jpg + Stretch = 2 + Width = 180 + * + +ENDDEFINE + +DEFINE CLASS pict_meniu AS _image OF "_baza.vcx" + *< CLASSDATA: Baseclass="image" Timestamp="" Scale="Pixels" Uniqueid="" /> + + * + Height = 362 + Name = "pict_meniu" + Picture = ..\grafice\f2.jpg + Stretch = 2 + Width = 200 + * + +ENDDEFINE diff --git a/clase/ointroduceri.vc2 b/clase/ointroduceri.vc2 new file mode 100644 index 0000000..10c4c9d --- /dev/null +++ b/clase/ointroduceri.vc2 @@ -0,0 +1,18184 @@ +*-------------------------------------------------------------------------------------------------------------------------------------------------------- +* (EN) AUTOGENERATED - ATTENTION!! - NOT INTENDED FOR EXECUTION!! USE ONLY FOR MERGING CHANGES AND STORING WITH SCM TOOLS!! +*-------------------------------------------------------------------------------------------------------------------------------------------------------- +*< FOXBIN2PRG: Version="1.21" SourceFile="ointroduceri.vcx" CPID="1252" /> (Solo para binarios VFP 9 / Only for VFP 9 binaries) +* +* +DEFINE CLASS container_valoare_decontata AS container + *< CLASSDATA: Baseclass="container" Timestamp="" Scale="Pixels" Uniqueid="" /> + + *-- OBJECTDATA items order determines ZOrder / El orden de los items OBJECTDATA determina el ZOrder + *< OBJECTDATA: ObjPath="Label1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="Text1" UniqueID="" Timestamp="" /> + + * + BackColor = 255,255,255 + BorderColor = 255,255,255 + Height = 28 + Name = "container_valoare_decontata" + Width = 245 + * + + ADD OBJECT 'Label1' AS label WITH ; + BackStyle = 0, ; + Caption = "Valoare decontatã", ; + FontCharSet = 238, ; + FontName = "Arial", ; + FontSize = 10, ; + ForeColor = 7,118,177, ; + Height = 17, ; + Left = 3, ; + Name = "Label1", ; + Top = 6, ; + Width = 108 + *< END OBJECT: BaseClass="label" /> + + ADD OBJECT 'Text1' AS textbox WITH ; + ControlSource = "pnValoareDecontata", ; + FontCharSet = 238, ; + FontName = "Arial", ; + FontSize = 10, ; + Format = "rk", ; + Height = 23, ; + InputMask = (get_mask(12,gnPC)), ; + Left = 113, ; + Name = "Text1", ; + SpecialEffect = 1, ; + Top = 3, ; + Width = 129 + *< END OBJECT: BaseClass="textbox" /> + + PROCEDURE Text1.LostFocus + IF pnValoareDecontata > thisform.nTotal + pnValoareDecontata = thisform.nTotal + this.Refresh + ENDIF + + pnCheltuieliDirecte = thisform.nTotal - pnValoareDecontata + ENDPROC + +ENDDEFINE + +DEFINE CLASS facturi_retur AS _frmbase OF "_frm_base.vcx" + *< CLASSDATA: Baseclass="form" Timestamp="" Scale="Pixels" Uniqueid="" /> + + *-- OBJECTDATA items order determines ZOrder / El orden de los items OBJECTDATA determina el ZOrder + *< OBJECTDATA: ObjPath="Ct_grid_order1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="Ct_grid_order1._GRID1.Column1.Header1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="Ct_grid_order1._GRID1.Column1.Text1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="Ct_grid_order1._GRID1.Column2.Header1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="Ct_grid_order1._GRID1.Column2.Check1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="Ct_grid_order1._GRID1.Column3.Header1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="Ct_grid_order1._GRID1.Column3.Text1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="Ct_grid_order1._GRID1.Column4.Header1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="Ct_grid_order1._GRID1.Column4.Text1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="Ct_grid_order1._GRID1.Column5.Header1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="Ct_grid_order1._GRID1.Column5.Text1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="Ct_grid_order1._GRID1.Column6.Header1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="Ct_grid_order1._GRID1.Column6.Text1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="Ct_grid_order1._GRID1.Column7.Header1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="Ct_grid_order1._GRID1.Column7.Text1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="Ct_grid_order1._GRID1.Column8.Header1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="Ct_grid_order1._GRID1.Column8.Text1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="Ct_grid_order1._GRID1.Column9.Header1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="Ct_grid_order1._GRID1.Column9.Text1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="Ct_grid_order1._GRID1.Column10.Header1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="Ct_grid_order1._GRID1.Column10.Text1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="Ct_grid_order1._GRID1.cSerie_act.Header1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="Ct_grid_order1._GRID1.cSerie_act.Text1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="Clb_n1n2_simplu1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="But_renunt1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="Resizable1" UniqueID="" Timestamp="" /> + + #INCLUDE "..\include\foxpro.h" + * + BorderStyle = 1 + DoCreate = .T. + Height = 460 + Name = "facturi_retur" + Width = 662 + _shape1.Height = 29 + _shape1.Left = 0 + _shape1.Name = "_shape1" + _shape1.Top = 0 + _shape1.Width = 662 + _shape1.ZOrderSet = 1 + _shape2.Height = 29 + _shape2.Left = 599 + _shape2.Name = "_shape2" + _shape2.Top = 0 + _shape2.Width = 63 + _shape2.ZOrderSet = 2 + Lb_titlu_alb_b121.Caption = "Selectati facturile pentru retur" + Lb_titlu_alb_b121.Name = "Lb_titlu_alb_b121" + Lb_titlu_alb_b121.TabIndex = 5 + Lb_titlu_alb_b121.ZOrderSet = 3 + BUT_TERMIN1.Left = 631 + BUT_TERMIN1.Name = "BUT_TERMIN1" + BUT_TERMIN1.TabIndex = 3 + BUT_TERMIN1.Top = 1 + BUT_TERMIN1.ZOrderSet = 4 + GRIDSORT1.Name = "GRIDSORT1" + * + + ADD OBJECT 'But_renunt1' AS but_renunt WITH ; + Left = 601, ; + Name = "But_renunt1", ; + TabIndex = 4, ; + Top = 1, ; + ZOrderSet = 6 + *< END OBJECT: ClassLib="cmd_butoane.vcx" BaseClass="commandbutton" /> + + ADD OBJECT 'Clb_n1n2_simplu1' AS clb_n1n2_simplu WITH ; + BorderColor = 7,118,177, ; + BorderWidth = 2, ; + Height = 30, ; + Left = 362, ; + Name = "Clb_n1n2_simplu1", ; + TabIndex = 1, ; + Top = 68, ; + Width = 290, ; + ZOrderSet = 5, ; + tx_n1.ControlSource = "pdDatai", ; + tx_n1.Left = 130, ; + tx_n1.Name = "tx_n1", ; + tx_n1.Top = 3, ; + Lb_simplu1.Caption = "Facturi din perioada:", ; + Lb_simplu1.Left = 8, ; + Lb_simplu1.Name = "Lb_simplu1", ; + Lb_simplu1.Top = 7, ; + tx_n2.ControlSource = "pdDataf", ; + tx_n2.Left = 210, ; + tx_n2.Name = "tx_n2", ; + tx_n2.Top = 3 + *< END OBJECT: ClassLib="lb_tx.vcx" BaseClass="container" /> + + ADD OBJECT 'Ct_grid_order1' AS ct_grid_order WITH ; + cnumecursor = crs_facturi_emise, ; + Height = 418, ; + Left = 7, ; + Name = "Ct_grid_order1", ; + TabIndex = 2, ; + Top = 41, ; + Width = 648, ; + ZOrderSet = 0, ; + _GRID1.Column1.ControlSource = "nrcrt()", ; + _GRID1.Column1.FontName = "Arial Narrow", ; + _GRID1.Column1.Name = "Column1", ; + _GRID1.Column1.Width = 24, ; + _GRID1.Column10.ColumnOrder = 11, ; + _GRID1.Column10.ControlSource = "totdebit-totcredit", ; + _GRID1.Column10.FontName = "Arial Narrow", ; + _GRID1.Column10.InputMask = (get_mask(12,gnPc)), ; + _GRID1.Column10.Name = "Column10", ; + _GRID1.Column10.Width = 81, ; + _GRID1.Column11.ColumnOrder = 3, ; + _GRID1.Column11.ControlSource = "serie_act", ; + _GRID1.Column11.FontName = "Arial Narrow", ; + _GRID1.Column11.Name = "cSerie_act", ; + _GRID1.Column11.Width = 53, ; + _GRID1.Column2.Alignment = 2, ; + _GRID1.Column2.ControlSource = "ceck", ; + _GRID1.Column2.FontName = "Arial Narrow", ; + _GRID1.Column2.Name = "Column2", ; + _GRID1.Column2.Sparse = .F., ; + _GRID1.Column2.Width = 31, ; + _GRID1.Column3.ColumnOrder = 4, ; + _GRID1.Column3.ControlSource = "nract", ; + _GRID1.Column3.FontName = "Arial Narrow", ; + _GRID1.Column3.Name = "Column3", ; + _GRID1.Column4.ColumnOrder = 5, ; + _GRID1.Column4.ControlSource = "dataact", ; + _GRID1.Column4.FontName = "Arial Narrow", ; + _GRID1.Column4.Name = "Column4", ; + _GRID1.Column4.Width = 63, ; + _GRID1.Column5.ColumnOrder = 6, ; + _GRID1.Column5.ControlSource = "datascad", ; + _GRID1.Column5.FontName = "Arial Narrow", ; + _GRID1.Column5.Name = "Column5", ; + _GRID1.Column5.Width = 70, ; + _GRID1.Column6.ColumnOrder = 7, ; + _GRID1.Column6.ControlSource = "cont", ; + _GRID1.Column6.FontName = "Arial Narrow", ; + _GRID1.Column6.Name = "Column6", ; + _GRID1.Column6.Width = 31, ; + _GRID1.Column7.ColumnOrder = 8, ; + _GRID1.Column7.ControlSource = "acont", ; + _GRID1.Column7.FontName = "Arial Narrow", ; + _GRID1.Column7.Name = "Column7", ; + _GRID1.Column7.Width = 33, ; + _GRID1.Column8.ColumnOrder = 9, ; + _GRID1.Column8.ControlSource = "totdebit", ; + _GRID1.Column8.FontName = "Arial Narrow", ; + _GRID1.Column8.InputMask = (get_mask(12,gnPc)), ; + _GRID1.Column8.Name = "Column8", ; + _GRID1.Column8.Width = 89, ; + _GRID1.Column9.ColumnOrder = 10, ; + _GRID1.Column9.ControlSource = "totcredit", ; + _GRID1.Column9.FontName = "Arial Narrow", ; + _GRID1.Column9.InputMask = (get_mask(12,gnPc)), ; + _GRID1.Column9.Name = "Column9", ; + _GRID1.Column9.Width = 88, ; + _GRID1.ColumnCount = 11, ; + _GRID1.FontName = "Arial Narrow", ; + _GRID1.Height = 348, ; + _GRID1.Left = 6, ; + _GRID1.Name = "_GRID1", ; + _GRID1.Panel = 1, ; + _GRID1.RecordSource = "crs_facturi_emise", ; + _GRID1.Top = 62, ; + _GRID1.Width = 639, ; + Titlu.Left = 9, ; + Titlu.Name = "Titlu", ; + Titlu.Top = 3, ; + Cb_tx_cautare1.Criteriu.Name = "Criteriu", ; + Cb_tx_cautare1.Name = "Cb_tx_cautare1", ; + Cb_tx_cautare1.Text.Name = "Text" + *< END OBJECT: ClassLib="ferestre_cere_date.vcx" BaseClass="container" /> + + ADD OBJECT 'Ct_grid_order1._GRID1.Column1.Header1' AS header WITH ; + Caption = "Nr.", ; + FontName = "Arial Narrow", ; + Name = "Header1" + *< END OBJECT: BaseClass="header" /> + + ADD OBJECT 'Ct_grid_order1._GRID1.Column1.Text1' AS textbox WITH ; + BackColor = 255,255,255, ; + BorderStyle = 0, ; + FontName = "Arial Narrow", ; + ForeColor = 0,0,0, ; + Margin = 0, ; + Name = "Text1" + *< END OBJECT: BaseClass="textbox" /> + + ADD OBJECT 'Ct_grid_order1._GRID1.Column10.Header1' AS header WITH ; + Alignment = 2, ; + Caption = "Sold", ; + FontName = "Arial Narrow", ; + Name = "Header1" + *< END OBJECT: BaseClass="header" /> + + ADD OBJECT 'Ct_grid_order1._GRID1.Column10.Text1' AS textbox WITH ; + BackColor = 255,255,255, ; + BorderStyle = 0, ; + FontName = "Arial Narrow", ; + ForeColor = 0,0,0, ; + Margin = 0, ; + Name = "Text1" + *< END OBJECT: BaseClass="textbox" /> + + ADD OBJECT 'Ct_grid_order1._GRID1.Column2.Check1' AS checkbox WITH ; + Alignment = 0, ; + Caption = "", ; + Centered = .T., ; + FontName = "Arial Narrow", ; + Height = 17, ; + Left = 9, ; + Name = "Check1", ; + Top = 40, ; + Width = 60 + *< END OBJECT: BaseClass="checkbox" /> + + ADD OBJECT 'Ct_grid_order1._GRID1.Column2.Header1' AS header WITH ; + Alignment = 2, ; + Caption = "Alege", ; + FontName = "Arial Narrow", ; + Name = "Header1" + *< END OBJECT: BaseClass="header" /> + + ADD OBJECT 'Ct_grid_order1._GRID1.Column3.Header1' AS header WITH ; + Alignment = 2, ; + Caption = "Nr.factura", ; + FontName = "Arial Narrow", ; + Name = "Header1" + *< END OBJECT: BaseClass="header" /> + + ADD OBJECT 'Ct_grid_order1._GRID1.Column3.Text1' AS textbox WITH ; + BackColor = 255,255,255, ; + BorderStyle = 0, ; + FontName = "Arial Narrow", ; + ForeColor = 0,0,0, ; + Margin = 0, ; + Name = "Text1" + *< END OBJECT: BaseClass="textbox" /> + + ADD OBJECT 'Ct_grid_order1._GRID1.Column4.Header1' AS header WITH ; + Alignment = 2, ; + Caption = "Data factura", ; + FontName = "Arial Narrow", ; + Name = "Header1" + *< END OBJECT: BaseClass="header" /> + + ADD OBJECT 'Ct_grid_order1._GRID1.Column4.Text1' AS textbox WITH ; + BackColor = 255,255,255, ; + BorderStyle = 0, ; + FontName = "Arial Narrow", ; + ForeColor = 0,0,0, ; + Margin = 0, ; + Name = "Text1" + *< END OBJECT: BaseClass="textbox" /> + + ADD OBJECT 'Ct_grid_order1._GRID1.Column5.Header1' AS header WITH ; + Alignment = 2, ; + Caption = "Data scadenta", ; + FontName = "Arial Narrow", ; + Name = "Header1" + *< END OBJECT: BaseClass="header" /> + + ADD OBJECT 'Ct_grid_order1._GRID1.Column5.Text1' AS textbox WITH ; + BackColor = 255,255,255, ; + BorderStyle = 0, ; + FontName = "Arial Narrow", ; + ForeColor = 0,0,0, ; + Margin = 0, ; + Name = "Text1" + *< END OBJECT: BaseClass="textbox" /> + + ADD OBJECT 'Ct_grid_order1._GRID1.Column6.Header1' AS header WITH ; + Alignment = 2, ; + Caption = "Cont", ; + FontName = "Arial Narrow", ; + Name = "Header1" + *< END OBJECT: BaseClass="header" /> + + ADD OBJECT 'Ct_grid_order1._GRID1.Column6.Text1' AS textbox WITH ; + BackColor = 255,255,255, ; + BorderStyle = 0, ; + FontName = "Arial Narrow", ; + ForeColor = 0,0,0, ; + Margin = 0, ; + Name = "Text1" + *< END OBJECT: BaseClass="textbox" /> + + ADD OBJECT 'Ct_grid_order1._GRID1.Column7.Header1' AS header WITH ; + Alignment = 2, ; + Caption = "Analitic", ; + FontName = "Arial Narrow", ; + Name = "Header1" + *< END OBJECT: BaseClass="header" /> + + ADD OBJECT 'Ct_grid_order1._GRID1.Column7.Text1' AS textbox WITH ; + BackColor = 255,255,255, ; + BorderStyle = 0, ; + FontName = "Arial Narrow", ; + ForeColor = 0,0,0, ; + Margin = 0, ; + Name = "Text1" + *< END OBJECT: BaseClass="textbox" /> + + ADD OBJECT 'Ct_grid_order1._GRID1.Column8.Header1' AS header WITH ; + Alignment = 2, ; + Caption = "Total factura", ; + FontName = "Arial Narrow", ; + Name = "Header1" + *< END OBJECT: BaseClass="header" /> + + ADD OBJECT 'Ct_grid_order1._GRID1.Column8.Text1' AS textbox WITH ; + BackColor = 255,255,255, ; + BorderStyle = 0, ; + FontName = "Arial Narrow", ; + ForeColor = 0,0,0, ; + Margin = 0, ; + Name = "Text1" + *< END OBJECT: BaseClass="textbox" /> + + ADD OBJECT 'Ct_grid_order1._GRID1.Column9.Header1' AS header WITH ; + Alignment = 2, ; + Caption = "Achitat", ; + FontName = "Arial Narrow", ; + Name = "Header1" + *< END OBJECT: BaseClass="header" /> + + ADD OBJECT 'Ct_grid_order1._GRID1.Column9.Text1' AS textbox WITH ; + BackColor = 255,255,255, ; + BorderStyle = 0, ; + FontName = "Arial Narrow", ; + ForeColor = 0,0,0, ; + Margin = 0, ; + Name = "Text1" + *< END OBJECT: BaseClass="textbox" /> + + ADD OBJECT 'Ct_grid_order1._GRID1.cSerie_act.Header1' AS header WITH ; + Alignment = 0, ; + Caption = "Serie factura", ; + FontName = "Arial Narrow", ; + Name = "Header1" + *< END OBJECT: BaseClass="header" /> + + ADD OBJECT 'Ct_grid_order1._GRID1.cSerie_act.Text1' AS textbox WITH ; + BackColor = 255,255,255, ; + BorderStyle = 0, ; + FontName = "Arial Narrow", ; + ForeColor = 0,0,0, ; + Margin = 0, ; + Name = "Text1" + *< END OBJECT: BaseClass="textbox" /> + + ADD OBJECT 'Resizable1' AS resizable_class WITH ; + Left = 271, ; + Name = "Resizable1", ; + repositionlist = _shape Urmator But_termin But_renunt Clb_n1n2_simplu Titlufrumos Ct_grid_order, ; + resizelist = _shape Urmator But_termin But_renunt Clb_n1n2_simplu Titlufrumos Ct_grid_order, ; + Top = 31 + *< END OBJECT: ClassLib="solution.vcx" BaseClass="custom" /> + + PROCEDURE inainte_de_do_termin + lcSel = this.ct_grid_order1.cnumecursor + SELECT (lcSel) + COUNT FOR ceck = 1 TO lnAlese + IF lnAlese = 0 + amessagebox('Alegeti o factura!',0+16,'Atentie') + RETURN .f. + ENDIF + + ENDPROC + + PROCEDURE Show + LPARAMETERS nStyle + this.ct_grid_order1.initializare(.t.) + + i = 0 + For Each loColumn In Thisform.ct_grid_order1._GRID1.Columns + i = i + 1 + With loColumn + If !Empty(loColumn.ControlSource) + + * Save default caption, color and font + + lcOldCaption = loColumn.Header1.Caption + lcOldFontName = loColumn.Header1.FontName + lnOldForeColor = loColumn.Header1.ForeColor + llOldFontUnderline = loColumn.Header1.FontUnderline + + * Name Header Obj after ControlSource + + lcControlSrc = loColumn.ControlSource + lnControlSrc = Rat(".", lcControlSrc) + 1 + lcControlSrc = Substr(lcControlSrc, lnControlSrc) + + * Metoda dupa care se face ordonarea relativa la grid + lcMethodName = 'parent.corderby_assign' + lcPropColOrder = 'parent.cOrder' + lcPropSensOrder = 'parent.cAsc' + * Remove old and create new header + + .RemoveObject("Header1") + .AddObject("grh"+ALLTRIM(STR(i)), ; + "PSHeader", ; + lcOldCaption, lcOldFontName,lnOldForeColor,llOldFontUnderline,lcMethodName,lcControlSrc) + + If Upper(Alltrim(lcControlSrc)) = Upper(Alltrim(this.ct_grid_order1.corder)) + lcCuloare = [locolumn.grh] + ALLTRIM(STR(i)) + [.forecolor = RGB(0,0,255)] + &lcCuloare + lcUnderline = [locolumn.grh] + ALLTRIM(STR(i)) + [.FontUnderline = .t.] + &lcUnderline + Endif + Endif + Endwith + ENDFOR + + + + + ENDPROC + + PROCEDURE Clb_n1n2_simplu1.tx_n1.Valid + IF EMPTY(this.Parent.tx_n2.value) + this.Parent.tx_n2.value=this.value + this.Parent.tx_n2.Refresh + ENDIF + ENDPROC + + PROCEDURE Clb_n1n2_simplu1.tx_n2.LostFocus + thisform.LockScreen = .t. + thisform.ct_grid_order1.initializare(.t.) + thisform.ct_grid_order1.SetFocus + thisform.LockScreen = .f. + ENDPROC + + PROCEDURE Ct_grid_order1.initializare + PARAMETERS tlNumerotare + + llNrOrd = tlNumerotare + + *** CREEZ CURSORUL INITIAL + + lcTitlu = This.cTitlu + lcOrder = this.corder + lcNumeCursor = this.cnumecursor + lcSql = This.cSelect + lnSucces = goExecutor.oExecute(lcSql,'crs_temp') + + IF lnSucces < 0 + amessagebox(goExecutor.cEroare,0+16,"Eroare") + RETURN + ENDIF + + save_grid(This._grid1) + + IF USED(lcNumeCursor) + USE IN &lcNumeCursor + ENDIF + + SELECT ceck, serie_act, nract, TTOD(dataact) as dataact,TTOD(datascad) as datascad,cont,acont,totdebit,totcredit,totdebit-totcredit,id_fact ; + FROM crs_temp INTO CURSOR (lcNumeCursor) READWRITE + + USE IN crs_temp + + IF llNrOrd + DO nrord WITH lcNumeCursor + this._griD1.LockColumns = 1 + ENDIF + + restore_grid(This._grid1) + + SELECT (lcNumeCursor) + GO TOP + ENDPROC + + PROCEDURE _shape1.DblClick + IF thisform.WindowState = 2 + thisform.WindowState = 0 + ELSE + thisform.WindowState = 2 + ENDIF + ENDPROC + +ENDDEFINE + +DEFINE CLASS frm_alege_prod_cant AS _frmbase OF "_frm_base.vcx" + *< CLASSDATA: Baseclass="form" Timestamp="" Scale="Pixels" Uniqueid="" /> + + *-- OBJECTDATA items order determines ZOrder / El orden de los items OBJECTDATA determina el ZOrder + *< OBJECTDATA: ObjPath="Command1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="txt_produs" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="Label1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="txtCant" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="Ct_clb_gestiune" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="Ct_clb_produs" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="But_renunt1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="Label2" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="txtLot" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="Label3" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="txtSerie" UniqueID="" Timestamp="" /> + + * + *m: do_cauta_gestiune + *m: do_cauta_produs + * + + * + BorderStyle = 1 + Caption = "Form" + DoCreate = .T. + Height = 188 + Name = "frm_alege_prod_cant" + Width = 353 + _SHAPE1.Name = "_SHAPE1" + _SHAPE2.Height = 29 + _SHAPE2.Left = 292 + _SHAPE2.Name = "_SHAPE2" + _SHAPE2.Top = 0 + _SHAPE2.Width = 61 + LB_TITLU_ALB_B121.Caption = "Productie" + LB_TITLU_ALB_B121.Name = "LB_TITLU_ALB_B121" + LB_TITLU_ALB_B121.TabIndex = 8 + BUT_TERMIN1.Left = 322 + BUT_TERMIN1.Name = "BUT_TERMIN1" + BUT_TERMIN1.TabIndex = 6 + BUT_TERMIN1.Top = 1 + GRIDSORT1.Left = 240 + GRIDSORT1.Name = "GRIDSORT1" + GRIDSORT1.Top = 12 + * + + ADD OBJECT 'But_renunt1' AS but_renunt WITH ; + Left = 292, ; + Name = "But_renunt1", ; + TabIndex = 7, ; + Top = 1 + *< END OBJECT: ClassLib="cmd_butoane.vcx" BaseClass="commandbutton" /> + + ADD OBJECT 'Command1' AS commandbutton WITH ; + Caption = "Cauta articol", ; + Height = 27, ; + Left = 25, ; + Name = "Command1", ; + TabIndex = 9, ; + Top = 257, ; + Width = 84 + *< END OBJECT: BaseClass="commandbutton" /> + + ADD OBJECT 'Ct_clb_gestiune' AS ct_clb_cautare_var WITH ; + cconditie = EMPTY(NVL(pnId_gestiune,0)), ; + cprocedura = thisform.do_cauta_gestiune, ; + cvar_afisata = pcGestiune, ; + Height = 31, ; + Left = 12, ; + Name = "Ct_clb_gestiune", ; + TabIndex = 5, ; + Top = 150, ; + Width = 337, ; + shape_cautare.Height = 29, ; + shape_cautare.Left = 1, ; + shape_cautare.Name = "shape_cautare", ; + shape_cautare.Top = 1, ; + shape_cautare.Width = 305, ; + img_cautare.Left = 310, ; + img_cautare.Name = "img_cautare", ; + img_cautare.Top = 5, ; + lb_cautare.Caption = "Gestiune destinatie", ; + lb_cautare.Name = "lb_cautare", ; + tx_cautare.Left = 119, ; + tx_cautare.Name = "tx_cautare", ; + tx_cautare.Top = 4 + *< END OBJECT: ClassLib="caut_ora.vcx" BaseClass="container" /> + + ADD OBJECT 'Ct_clb_produs' AS ct_clb_cautare_var WITH ; + cconditie = EMPTY(NVL(pnId_articol,0)), ; + cprocedura = thisform.do_cauta_produs, ; + cvar_afisata = pcDenumire, ; + Height = 31, ; + Left = 11, ; + Name = "Ct_clb_produs", ; + TabIndex = 1, ; + Top = 43, ; + Width = 337, ; + shape_cautare.Height = 29, ; + shape_cautare.Left = 1, ; + shape_cautare.Name = "shape_cautare", ; + shape_cautare.Top = 1, ; + shape_cautare.Width = 305, ; + img_cautare.Left = 309, ; + img_cautare.Name = "img_cautare", ; + img_cautare.Top = 5, ; + lb_cautare.Caption = "Produs", ; + lb_cautare.Name = "lb_cautare", ; + tx_cautare.Left = 119, ; + tx_cautare.Name = "tx_cautare", ; + tx_cautare.Top = 4 + *< END OBJECT: ClassLib="caut_ora.vcx" BaseClass="container" /> + + ADD OBJECT 'Label1' AS label WITH ; + AutoSize = .T., ; + BackStyle = 0, ; + Caption = "Cantitate", ; + FontSize = 10, ; + Height = 18, ; + Left = 17, ; + Name = "Label1", ; + TabIndex = 11, ; + Top = 78, ; + Width = 54 + *< END OBJECT: BaseClass="label" /> + + ADD OBJECT 'Label2' AS label WITH ; + AutoSize = .T., ; + BackStyle = 0, ; + Caption = "Lot", ; + FontSize = 10, ; + Height = 18, ; + Left = 17, ; + Name = "Label2", ; + TabIndex = 13, ; + Top = 103, ; + Width = 20 + *< END OBJECT: BaseClass="label" /> + + ADD OBJECT 'Label3' AS label WITH ; + AutoSize = .T., ; + BackStyle = 0, ; + Caption = "Serie", ; + FontSize = 10, ; + Height = 18, ; + Left = 17, ; + Name = "Label3", ; + TabIndex = 12, ; + Top = 128, ; + Width = 32 + *< END OBJECT: BaseClass="label" /> + + ADD OBJECT 'txt_produs' AS textbox WITH ; + Height = 23, ; + Left = 120, ; + Name = "txt_produs", ; + TabIndex = 10, ; + Top = 259, ; + Width = 120 + *< END OBJECT: BaseClass="textbox" /> + + ADD OBJECT 'txtCant' AS textbox WITH ; + ControlSource = "pnCant", ; + FontSize = 10, ; + Format = "rk", ; + Height = 23, ; + InputMask = (get_mask(10,gnPcant)), ; + Left = 84, ; + Name = "txtCant", ; + TabIndex = 2, ; + Top = 75, ; + Width = 131 + *< END OBJECT: BaseClass="textbox" /> + + ADD OBJECT 'txtLot' AS textbox WITH ; + ControlSource = "pcLot", ; + FontSize = 10, ; + Format = "!K", ; + Height = 23, ; + Left = 60, ; + Name = "txtLot", ; + TabIndex = 3, ; + Top = 100, ; + Width = 155 + *< END OBJECT: BaseClass="textbox" /> + + ADD OBJECT 'txtSerie' AS textbox WITH ; + ControlSource = "pcSerie", ; + FontSize = 10, ; + Format = "!K", ; + Height = 23, ; + Left = 60, ; + Name = "txtSerie", ; + TabIndex = 4, ; + Top = 125, ; + Width = 155 + *< END OBJECT: BaseClass="textbox" /> + + PROCEDURE do_cauta_gestiune + Local loCauta + loCauta = caut_gestiune(4,gnidUtil) + + If !Empty(Nvl(loCauta.id_gestiune,0)) + pnid_gestiune = loCauta.id_gestiune + pcGestiune = loCauta.nume_gestiune + + Thisform.but_teRMIN1.SetFocus() + Else + pnid_gestiune = Null + pcGestiune = [] + Endif + ENDPROC + + PROCEDURE do_cauta_produs + Store "" To loCauta + + lcFiltru = [] + lcSchema = [] + lcOrder = [nume_articol] + lccoloane = [nume_articol,codmat,um,cont] + lcTitlu = [Alegeti produsul] + lcTitluColoane = [Denumire,Cod Material,UM,Cont] + llMultipleArticles = .F. + *lcSelect = [select a.denumire,a.codmat,a.um, a.grupa, a.subgrupa, a.id_grupa, a.id_subgrupa,a.dnf,a.cont, a.acont, a.inactiv, a.id_articol from ] + gcS + [.vnom_articole a ] + *!* lcSelect = [select id_articol,id_pol,pret,um,nume_articol,codmat, cont ] + ; + *!* [ from com_vpreturi_utilizator where id_util = ?gnIdUtil and id_pol in ] + ; + *!* [ (select varvalue as id_pol from optiuni where vartype = 'NUMERIC' AND varname = ?pcOptiune ) ] + *!* modificare ROAPRODUCTIE v 2.0.2 + *!* pcOptiune = 'ID_LISTA_PRETURI_PV_PRODUCTIE' + *!* lcSelect = [select id_articol,id_pol,pret,um,nume_articol,codmat, cont ] + ; + *!* [ from com_vpreturi_utilizator ] + *!* lcFiltruOriginal = [ id_util = ?gnIdUtil and id_pol in ] + ; + *!* [ (select varvalue as id_pol from optiuni where vartype = 'NUMERIC' AND varname = ?pcOptiune ) ] + lcSelect = [select id_articol,id_pol,pret,um,nume_articol,codmat, cont, in_crm, in_stoc ] + ; + [ from com_vpreturi_utilizator ] + lcFiltruOriginal = [ in_stoc = 1 and id_util = ?gnIdUtil and id_pol = ?gnId_lista_preturi_pv ] + *!* modificare ROAPRODUCTIE v 2.0.2 ^ + lcNumeProc = [] + llToateIreg = .F. + lcPrimaColoana = [] + lnPornire = 1 + lnTipReturn = Iif(llMultipleArticles, 1, 0) + lcIdColumn = "id_articol" + llModParam = .T. + + loCauta = cauta_alfa(lcSelect, lcFiltru, lcSchema, lcOrder, lccoloane, lcTitlu, lcTitluColoane, lcNumeProc, llToateIreg, lcFiltruOriginal, lcPrimaColoana, lnPornire, lnTipReturn , lcIdColumn,,,,,llModParam) && 11.07.2007 + ***------------------------------ + pnId_articol = loCauta.id_articol + pcDenumire = loCauta.nume_articol + pcCont_articol = loCauta.cont + *!* modificare ROAPRODUCTIE v 2.0.2 + pnInStoc = loCauta.in_stoc + pnInCrm = loCauta.in_crm + pcUm = loCauta.um + *!* modificare ROAPRODUCTIE v 2.0.2 ^ + + Thisform.txtCant.SetFocus() + + ENDPROC + + PROCEDURE inainte_de_do_termin + IF EMPTY(pnId_articol) + AMESSAGEBOX('Nu ati ales produsul!') + RETURN .F. + ENDIF + + IF EMPTY(pnId_gestiune) + AMESSAGEBOX('Nu ati ales gestiunea!') + RETURN .F. + ENDIF + ENDPROC + + PROCEDURE Command1.Click + Store "" To loCauta + + lcFiltru = [1=2] + lcSchema = [] + lcOrder = [nume_articol] + lccoloane = [nume_articol,codmat,um,cont] + lcTitlu = [Alegeti produsul (mouse-click pe denumire sau apasati SPACE)] + lcTitluColoane = [Denumire,Cod Material,UM,Cont] + llMultipleArticles = .T. + *lcSelect = [select a.denumire,a.codmat,a.um, a.grupa, a.subgrupa, a.id_grupa, a.id_subgrupa,a.dnf,a.cont, a.acont, a.inactiv, a.id_articol from ] + gcS + [.vnom_articole a ] + *!* modificare ROAPRODUCTIE v 2.0.2 + *!* pcOptiune = 'ID_LISTA_PRETURI_PV_PRODUCTIE' + *!* lcSelect = [select id_articol,id_pol,pret,um,nume_articol,codmat, cont ] + ; + *!* [from com_vpreturi_utilizator where id_util = ?gnIdUtil and id_pol in ] + ; + *!* [(select varvalue as id_pol from optiuni where varname = ?pcOptiune and vartype = 'NUMERIC') ] + lcSelect = [select id_articol,id_pol,pret,um,nume_articol,codmat,cont ] + ; + [from com_vpreturi_utilizator where id_util = ?gnIdUtil and id_pol = ?gnID_LISTA_PRETURI_PV ] + *!* modificare ROAPRODUCTIE v 2.0.2 ^ + lcFiltruOriginal = [] + lcNumeProc = [] + llToateIreg = .F. + lcPrimaColoana = [denumire] + lnPornire = 1 + lnTipReturn = Iif(llMultipleArticles, 1, 0) + lcIdColumn = "id_articol" + loCauta = cauta_alfa(lcSelect, lcFiltru, lcSchema, lcOrder, lccoloane, lcTitlu, lcTitluColoane, lcNumeProc, llToateIreg, lcFiltruOriginal, lcPrimaColoana, lnPornire, lnTipReturn , lcIdColumn) && 11.07.2007 + ***------------------------------ + + pnId_articol = loCauta.id_articol + pcDenumire = nume_articol + pcCont_articol = cont + thisform.txt_produs.Value = pcDenumire + ENDPROC + +ENDDEFINE + +DEFINE CLASS frm_alege_sectie AS _frmbase OF "_frm_base.vcx" + *< CLASSDATA: Baseclass="form" Timestamp="" Scale="Pixels" Uniqueid="" /> + + *-- OBJECTDATA items order determines ZOrder / El orden de los items OBJECTDATA determina el ZOrder + *< OBJECTDATA: ObjPath="Ct_clb_grup" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="But_renunt1" UniqueID="" Timestamp="" /> + + * + *m: do_cauta_sectie + * + + * + BorderStyle = 1 + DoCreate = .T. + Height = 89 + Name = "frm_alege_sectie" + Width = 352 + _shape1.Name = "_shape1" + _shape2.Height = 29 + _shape2.Left = 291 + _shape2.Name = "_shape2" + _shape2.Top = 0 + _shape2.Width = 62 + Lb_titlu_alb_b121.Caption = "Sectia beneficiara" + Lb_titlu_alb_b121.Left = 11 + Lb_titlu_alb_b121.Name = "Lb_titlu_alb_b121" + Lb_titlu_alb_b121.TabIndex = 5 + Lb_titlu_alb_b121.Top = 6 + BUT_TERMIN1.Left = 322 + BUT_TERMIN1.Name = "BUT_TERMIN1" + BUT_TERMIN1.TabIndex = 3 + BUT_TERMIN1.Top = 1 + Gridsort1.Left = 228 + Gridsort1.Name = "Gridsort1" + Gridsort1.Top = 7 + * + + ADD OBJECT 'But_renunt1' AS but_renunt WITH ; + Left = 292, ; + Name = "But_renunt1", ; + TabIndex = 4, ; + Top = 1 + *< END OBJECT: ClassLib="cmd_butoane.vcx" BaseClass="commandbutton" /> + + ADD OBJECT 'Ct_clb_grup' AS ct_clb_cautare_var WITH ; + cconditie = EMPTY(NVL(pnId_sectie,0)), ; + cprocedura = thisform.do_cauta_sectie, ; + cvar_afisata = pcSectie, ; + Height = 31, ; + Left = 11, ; + Name = "Ct_clb_grup", ; + TabIndex = 1, ; + Top = 40, ; + Width = 337, ; + shape_cautare.Height = 29, ; + shape_cautare.Left = 1, ; + shape_cautare.Name = "shape_cautare", ; + shape_cautare.Top = 1, ; + shape_cautare.Width = 305, ; + img_cautare.Left = 310, ; + img_cautare.Name = "img_cautare", ; + img_cautare.Top = 5, ; + lb_cautare.Caption = "Sectia beneficiara", ; + lb_cautare.Name = "lb_cautare", ; + tx_cautare.Left = 119, ; + tx_cautare.Name = "tx_cautare", ; + tx_cautare.Top = 4 + *< END OBJECT: ClassLib="caut_ora.vcx" BaseClass="container" /> + + PROCEDURE do_cauta_sectie + Local loCauta + loCauta = caut_sectie() + + If !Empty(Nvl(loCauta.id_sectie,0)) + pnid_sectie = loCauta.id_sectie + pcSectie = loCauta.sectie + + Thisform.but_TERMIN1.SetFocus() + Else + pnid_sectie = Null + pcSectie = [] + Endif + + ENDPROC + + PROCEDURE inainte_de_do_termin + IF EMPTY(NVL(pnId_sectie,0)) + AMESSAGEBOX('Nu ati ales sectia!',48,"Atentie") + THISFORM.CT_clb_grup.SetFocus() + RETURN .F. + ENDIF + ENDPROC + +ENDDEFINE + +DEFINE CLASS frm_alege_sectie_comanda AS _frmbase OF "_frm_base.vcx" + *< CLASSDATA: Baseclass="form" Timestamp="" Scale="Pixels" Uniqueid="" /> + + *-- OBJECTDATA items order determines ZOrder / El orden de los items OBJECTDATA determina el ZOrder + *< OBJECTDATA: ObjPath="Ct_clb_grup" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="Ct_clb_comanda" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="But_renunt1" UniqueID="" Timestamp="" /> + + * + *m: do_cauta_comanda + *m: do_cauta_sectie + * + + * + BorderStyle = 1 + DoCreate = .T. + Height = 119 + Name = "frm_alege_sectie_comanda" + Width = 352 + _shape1.Name = "_shape1" + _shape2.Height = 29 + _shape2.Left = 291 + _shape2.Name = "_shape2" + _shape2.Top = 0 + _shape2.Width = 62 + Lb_titlu_alb_b121.Caption = "Sectia - comanda" + Lb_titlu_alb_b121.Left = 11 + Lb_titlu_alb_b121.Name = "Lb_titlu_alb_b121" + Lb_titlu_alb_b121.TabIndex = 5 + Lb_titlu_alb_b121.Top = 6 + BUT_TERMIN1.Left = 322 + BUT_TERMIN1.Name = "BUT_TERMIN1" + BUT_TERMIN1.TabIndex = 3 + BUT_TERMIN1.Top = 1 + Gridsort1.Left = 228 + Gridsort1.Name = "Gridsort1" + Gridsort1.Top = 7 + * + + ADD OBJECT 'But_renunt1' AS but_renunt WITH ; + Left = 292, ; + Name = "But_renunt1", ; + TabIndex = 4, ; + Top = 1 + *< END OBJECT: ClassLib="cmd_butoane.vcx" BaseClass="commandbutton" /> + + ADD OBJECT 'Ct_clb_comanda' AS ct_clb_cautare_var WITH ; + cconditie = EMPTY(NVL(pnId_comanda,0)), ; + cprocedura = thisform.do_cauta_comanda, ; + cvar_afisata = pcNr_comanda, ; + Height = 31, ; + Left = 11, ; + Name = "Ct_clb_comanda", ; + TabIndex = 2, ; + Top = 68, ; + Width = 337, ; + shape_cautare.Height = 29, ; + shape_cautare.Left = 1, ; + shape_cautare.Name = "shape_cautare", ; + shape_cautare.Top = 1, ; + shape_cautare.Width = 305, ; + img_cautare.Left = 310, ; + img_cautare.Name = "img_cautare", ; + img_cautare.Top = 5, ; + lb_cautare.Caption = "Comanda", ; + lb_cautare.Name = "lb_cautare", ; + tx_cautare.Left = 119, ; + tx_cautare.Name = "tx_cautare", ; + tx_cautare.Top = 4 + *< END OBJECT: ClassLib="caut_ora.vcx" BaseClass="container" /> + + ADD OBJECT 'Ct_clb_grup' AS ct_clb_cautare_var WITH ; + cconditie = EMPTY(NVL(pnId_sectie,0)), ; + cprocedura = thisform.do_cauta_sectie, ; + cvar_afisata = pcSectie, ; + Height = 31, ; + Left = 11, ; + Name = "Ct_clb_grup", ; + TabIndex = 1, ; + Top = 40, ; + Width = 337, ; + shape_cautare.Height = 29, ; + shape_cautare.Left = 1, ; + shape_cautare.Name = "shape_cautare", ; + shape_cautare.Top = 1, ; + shape_cautare.Width = 305, ; + img_cautare.Left = 310, ; + img_cautare.Name = "img_cautare", ; + img_cautare.Top = 5, ; + lb_cautare.Caption = "Sectia beneficiara", ; + lb_cautare.Name = "lb_cautare", ; + tx_cautare.Left = 119, ; + tx_cautare.Name = "tx_cautare", ; + tx_cautare.Top = 4 + *< END OBJECT: ClassLib="caut_ora.vcx" BaseClass="container" /> + + PROCEDURE do_cauta_comanda + Local lcSelect, lcFiltru, lcSchema, lcOrder, lccoloane, lcTitlu, lcTitluColoane, lcNumeProc, llToateIreg, lcFiltruOriginal, lcPrimaColoana, lnPornire, lnTipReturn , lcIdColumn, llModParam + Store "" To loCauta + + lcSchema = [] + lcOrder = [nr_comanda] + lccoloane = [nr_comanda,data_comanda] + lcTitlu = [Alegeti comanda] + lcTitluColoane = [Nr comanda,Data comanda] + llMultipleArticles = .F. + *!* lcSelect = [select id_comanda,nr_comanda,data_comanda ] + ; + *!* [ from vcomenzi where id_sectie2= ] + ALLTRIM(STR(pnId_sectie)) + lcSelect = [select id_comanda,nr_comanda,data_comanda from vcomenzi ] + lcFiltru = [] + lcFiltruOriginal = [data_livrat is null and inchisa = 0 and id_sectie2= ] + Alltrim(Str(pnId_sectie)) + lcNumeProc = [] + llToateIreg = .F. + lcPrimaColoana = [] + lnPornire = 1 + lnTipReturn = Iif(llMultipleArticles, 1, 0) + lcIdColumn = "id_comanda" + llModParam = .F. + + loCauta = cauta_alfa(lcSelect, lcFiltru, lcSchema, lcOrder, lccoloane, lcTitlu, lcTitluColoane, lcNumeProc, llToateIreg, lcFiltruOriginal, lcPrimaColoana, lnPornire, lnTipReturn , lcIdColumn,,,,,llModParam) && 11.07.2007 + ***------------------------------ + If !Empty(Nvl(loCauta.id_comanda,0)) + pnId_comanda = loCauta.id_comanda + pcNr_comanda = loCauta.nr_comanda + Thisform.but_TERMIN1.SetFocus() + Else + pnId_comanda = 0 + pcNr_comanda = [] + Endif + + ENDPROC + + PROCEDURE do_cauta_sectie + Local loCauta + loCauta = caut_sectie() + + If !Empty(Nvl(loCauta.id_sectie,0)) + pnid_sectie = loCauta.id_sectie + pcSectie = loCauta.sectie + + Thisform.ct_clb_comanda.SetFocus() + Else + pnid_sectie = Null + pcSectie = [] + Endif + ENDPROC + + PROCEDURE inainte_de_do_termin + IF EMPTY(NVL(pnId_sectie,0)) + AMESSAGEBOX('Nu ati ales sectia!',48,"Atentie") + THISFORM.CT_clb_grup.SetFocus() + RETURN .F. + ENDIF + + IF EMPTY(NVL(pnId_comanda,0)) + AMESSAGEBOX('Nu ati ales comanda!',48,"Atentie") + thisform.ct_clb_comanda.SetFocus() + RETURN .F. + ENDIF + ENDPROC + +ENDDEFINE + +DEFINE CLASS frm_conversie AS _frmbase OF "_frm_base.vcx" + *< CLASSDATA: Baseclass="form" Timestamp="" Scale="Pixels" Uniqueid="" /> + + *-- OBJECTDATA items order determines ZOrder / El orden de los items OBJECTDATA determina el ZOrder + *< OBJECTDATA: ObjPath="_pgfrmbase1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="_pgfrmbase1.Page1.Clb_volum" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="_pgfrmbase1.Page1.Clb_densitate" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="_pgfrmbase1.Page1.Clb_masa" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="_pgfrmbase1.Page1.cb_um_volum" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="_pgfrmbase1.Page1.cb_um_masa_d" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="_pgfrmbase1.Page1.cb_um_volum_d" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="_pgfrmbase1.Page1.cb_um_masa" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="_pgfrmbase1.Page1.LB_SIMPLU1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="_pgfrmbase1.Page1.Clb_pret" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="_pgfrmbase1.Page1.Clb_prettr" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="_pgfrmbase1.Page2.Clb_pret" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="_pgfrmbase1.Page2.Clb_pret_tr" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="_pgfrmbase1.Page2.Clb_cantitate" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="_pgfrmbase1.Page2.cb_um" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="_pgfrmbase1.Page2.cb_um_orig" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="_pgfrmbase1.Page2.Clb_cantitate_tr" UniqueID="" Timestamp="" /> + + * + *m: do_actualizeaza_um + *m: do_calculeaza_pret + *m: do_conversie + *p: calias + *p: ccursor + *p: cum + *p: ncantitate + *p: npret + *p: ntip + * + + * + BorderStyle = 1 + calias = + ccursor = + cum = + DoCreate = .T. + Height = 270 + Name = "frm_conversie" + ncantitate = 0 + npret = 0 + ntip = 0 + Width = 480 + _memberdata = + + + + _shape1.Height = 29 + _shape1.Left = 0 + _shape1.Name = "_shape1" + _shape1.Top = 0 + _shape1.Width = 480 + _shape2.Height = 29 + _shape2.Left = 443 + _shape2.Name = "_shape2" + _shape2.Top = 0 + _shape2.Width = 39 + Lb_titlu_alb_b121.Caption = "Conversie" + Lb_titlu_alb_b121.FontName = "Comic Sans MS" + Lb_titlu_alb_b121.FontSize = 10 + Lb_titlu_alb_b121.Name = "Lb_titlu_alb_b121" + Lb_titlu_alb_b121.TabIndex = 2 + BUT_TERMIN1.Left = 448 + BUT_TERMIN1.Name = "BUT_TERMIN1" + BUT_TERMIN1.TabIndex = 3 + BUT_TERMIN1.Top = 1 + Gridsort1.Name = "Gridsort1" + * + + ADD OBJECT '_pgfrmbase1' AS _pgfrmbase WITH ; + ErasePage = .T., ; + Height = 215, ; + Left = 14, ; + Name = "_pgfrmbase1", ; + PageCount = 2, ; + TabIndex = 1, ; + Top = 43, ; + Width = 454, ; + Page1.BackColor = 255,255,255, ; + Page1.Caption = "\ masa", ; + Page1.Name = "Page1", ; + Page1.PageOrder = 2, ; + Page2.BackColor = 255,255,255, ; + Page2.Caption = "\ + + ADD OBJECT '_pgfrmbase1.Page1.cb_um_masa' AS _cbbase WITH ; + Height = 24, ; + Left = 351, ; + Name = "cb_um_masa", ; + TabIndex = 6, ; + Top = 121, ; + Width = 60 + *< END OBJECT: ClassLib="_cb_base.vcx" BaseClass="combobox" /> + + ADD OBJECT '_pgfrmbase1.Page1.cb_um_masa_d' AS _cbbase WITH ; + Height = 24, ; + Left = 325, ; + Name = "cb_um_masa_d", ; + TabIndex = 4, ; + Top = 54, ; + Width = 48 + *< END OBJECT: ClassLib="_cb_base.vcx" BaseClass="combobox" /> + + ADD OBJECT '_pgfrmbase1.Page1.cb_um_volum' AS _cbbase WITH ; + Height = 24, ; + Left = 351, ; + Name = "cb_um_volum", ; + TabIndex = 2, ; + Top = 26, ; + Width = 60 + *< END OBJECT: ClassLib="_cb_base.vcx" BaseClass="combobox" /> + + ADD OBJECT '_pgfrmbase1.Page1.cb_um_volum_d' AS _cbbase WITH ; + Height = 24, ; + Left = 390, ; + Name = "cb_um_volum_d", ; + TabIndex = 5, ; + Top = 54, ; + Width = 48 + *< END OBJECT: ClassLib="_cb_base.vcx" BaseClass="combobox" /> + + ADD OBJECT '_pgfrmbase1.Page1.Clb_densitate' AS clb_tx_simplu WITH ; + Left = 18, ; + Name = "Clb_densitate", ; + TabIndex = 3, ; + Top = 52, ; + TEXT_SIMPLU1.Alignment = 3, ; + TEXT_SIMPLU1.Height = 23, ; + TEXT_SIMPLU1.InputMask = "999 999.999", ; + TEXT_SIMPLU1.Left = 131, ; + TEXT_SIMPLU1.Name = "TEXT_SIMPLU1", ; + TEXT_SIMPLU1.Top = 3, ; + TEXT_SIMPLU1.Value = 0, ; + TEXT_SIMPLU1.Width = 154, ; + LB_SIMPLU1.Caption = "Densitate", ; + LB_SIMPLU1.Name = "LB_SIMPLU1" + *< END OBJECT: ClassLib="lb_tx.vcx" BaseClass="container" /> + + ADD OBJECT '_pgfrmbase1.Page1.Clb_masa' AS clb_tx_simplu WITH ; + Enabled = .F., ; + Left = 18, ; + Name = "Clb_masa", ; + TabIndex = 8, ; + Top = 119, ; + TEXT_SIMPLU1.Alignment = 3, ; + TEXT_SIMPLU1.Enabled = .F., ; + TEXT_SIMPLU1.InputMask = "999 999 999.999", ; + TEXT_SIMPLU1.Name = "TEXT_SIMPLU1", ; + TEXT_SIMPLU1.Value = 0, ; + LB_SIMPLU1.Caption = "Masa", ; + LB_SIMPLU1.Name = "LB_SIMPLU1" + *< END OBJECT: ClassLib="lb_tx.vcx" BaseClass="container" /> + + ADD OBJECT '_pgfrmbase1.Page1.Clb_pret' AS clb_tx_simplu WITH ; + Left = 18, ; + Name = "Clb_pret", ; + TabIndex = 7, ; + Top = 80, ; + Text_simplu1.Alignment = 3, ; + Text_simplu1.ControlSource = "Thisform.npret", ; + Text_simplu1.Height = 23, ; + Text_simplu1.InputMask = (get_mask(12,gnPpret)), ; + Text_simplu1.Left = 131, ; + Text_simplu1.Name = "Text_simplu1", ; + Text_simplu1.Top = 3, ; + Text_simplu1.Value = 0, ; + Text_simplu1.Width = 154, ; + Lb_simplu1.Caption = "Pret", ; + Lb_simplu1.Name = "Lb_simplu1" + *< END OBJECT: ClassLib="lb_tx.vcx" BaseClass="container" /> + + ADD OBJECT '_pgfrmbase1.Page1.Clb_prettr' AS clb_tx_simplu WITH ; + Enabled = .F., ; + Left = 18, ; + Name = "Clb_prettr", ; + TabIndex = 9, ; + Top = 147, ; + Text_simplu1.Alignment = 3, ; + Text_simplu1.Enabled = .F., ; + Text_simplu1.Format = "rK", ; + Text_simplu1.InputMask = (get_mask(12,gnPpret)), ; + Text_simplu1.Name = "Text_simplu1", ; + Text_simplu1.Value = 0, ; + Lb_simplu1.Caption = "Pret transformat", ; + Lb_simplu1.Name = "Lb_simplu1" + *< END OBJECT: ClassLib="lb_tx.vcx" BaseClass="container" /> + + ADD OBJECT '_pgfrmbase1.Page1.Clb_volum' AS clb_tx_simplu WITH ; + Left = 18, ; + Name = "Clb_volum", ; + TabIndex = 1, ; + Top = 24, ; + TEXT_SIMPLU1.Alignment = 3, ; + TEXT_SIMPLU1.InputMask = "999 999 999.999", ; + TEXT_SIMPLU1.Name = "TEXT_SIMPLU1", ; + TEXT_SIMPLU1.Value = 0, ; + LB_SIMPLU1.Caption = "Volum", ; + LB_SIMPLU1.Name = "LB_SIMPLU1" + *< END OBJECT: ClassLib="lb_tx.vcx" BaseClass="container" /> + + ADD OBJECT '_pgfrmbase1.Page1.LB_SIMPLU1' AS lb_simplu WITH ; + Caption = "/", ; + Left = 379, ; + Name = "LB_SIMPLU1", ; + TabIndex = 10, ; + Top = 57 + *< END OBJECT: ClassLib="lb.vcx" BaseClass="label" /> + + ADD OBJECT '_pgfrmbase1.Page2.cb_um' AS _cbbase WITH ; + Height = 24, ; + Left = 331, ; + Name = "cb_um", ; + TabIndex = 4, ; + Top = 99, ; + Width = 84 + *< END OBJECT: ClassLib="_cb_base.vcx" BaseClass="combobox" /> + + ADD OBJECT '_pgfrmbase1.Page2.cb_um_orig' AS _cbbase WITH ; + Height = 24, ; + Left = 331, ; + Name = "cb_um_orig", ; + TabIndex = 2, ; + Top = 26, ; + Width = 84 + *< END OBJECT: ClassLib="_cb_base.vcx" BaseClass="combobox" /> + + ADD OBJECT '_pgfrmbase1.Page2.Clb_cantitate' AS clb_tx_simplu WITH ; + Left = 18, ; + Name = "Clb_cantitate", ; + TabIndex = 1, ; + Top = 24, ; + Text_simplu1.Alignment = 3, ; + Text_simplu1.Height = 23, ; + Text_simplu1.InputMask = (get_mask(14,gnPCant)), ; + Text_simplu1.Left = 123, ; + Text_simplu1.Name = "Text_simplu1", ; + Text_simplu1.Top = 3, ; + Text_simplu1.Value = 0, ; + Text_simplu1.Width = 162, ; + Lb_simplu1.Caption = "Cantitate impach.", ; + Lb_simplu1.Name = "Lb_simplu1" + *< END OBJECT: ClassLib="lb_tx.vcx" BaseClass="container" /> + + ADD OBJECT '_pgfrmbase1.Page2.Clb_cantitate_tr' AS clb_tx_simplu WITH ; + Enabled = .F., ; + Left = 18, ; + Name = "Clb_cantitate_tr", ; + TabIndex = 6, ; + Top = 97, ; + Text_simplu1.Alignment = 3, ; + Text_simplu1.Enabled = .F., ; + Text_simplu1.InputMask = "999 999 999.999", ; + Text_simplu1.Name = "Text_simplu1", ; + Text_simplu1.Value = 0, ; + Lb_simplu1.Caption = "Cantitate transf.", ; + Lb_simplu1.Name = "Lb_simplu1" + *< END OBJECT: ClassLib="lb_tx.vcx" BaseClass="container" /> + + ADD OBJECT '_pgfrmbase1.Page2.Clb_pret' AS clb_tx_simplu WITH ; + Left = 18, ; + Name = "Clb_pret", ; + TabIndex = 3, ; + Top = 52, ; + Text_simplu1.Alignment = 3, ; + Text_simplu1.ControlSource = "Thisform.npret", ; + Text_simplu1.Height = 23, ; + Text_simplu1.InputMask = (get_mask(12,gnPpret)), ; + Text_simplu1.Left = 123, ; + Text_simplu1.Name = "Text_simplu1", ; + Text_simplu1.Top = 3, ; + Text_simplu1.Value = 0, ; + Text_simplu1.Width = 162, ; + Lb_simplu1.Caption = "Pret", ; + Lb_simplu1.Name = "Lb_simplu1" + *< END OBJECT: ClassLib="lb_tx.vcx" BaseClass="container" /> + + ADD OBJECT '_pgfrmbase1.Page2.Clb_pret_tr' AS clb_tx_simplu WITH ; + Enabled = .F., ; + Left = 18, ; + Name = "Clb_pret_tr", ; + TabIndex = 5, ; + Top = 125, ; + Text_simplu1.Alignment = 3, ; + Text_simplu1.Enabled = .F., ; + Text_simplu1.Format = "rK", ; + Text_simplu1.InputMask = (get_mask(12,gnPpret)), ; + Text_simplu1.Name = "Text_simplu1", ; + Text_simplu1.Value = 0, ; + Lb_simplu1.Caption = "Pret transformat", ; + Lb_simplu1.Name = "Lb_simplu1" + *< END OBJECT: ClassLib="lb_tx.vcx" BaseClass="container" /> + + PROCEDURE Destroy + If Used(This.cCursor) + Use In (This.cCursor) + Endif + Select (This.cAlias) + + ENDPROC + + PROCEDURE do_actualizeaza_um + Lparameters tcIdUm + Local lnIdUm + lnIdUm = Val(tcIdUm) + Select (This.cCursor) + Set Filter To + Locate For id_um = lnIdUm + If Found() + lnTip = tip + Else + lnTip = 0 + Endif + If This.nTip <> lnTip + With Thisform._pgfrmbase1.page2.cb_um + .Clear() + .Refresh() + This.nTip = lnTip + Select (This.cCursor) + Set Filter To tip = lnTip + Scan + .AddItem(um) + .List[.NewIndex,2] = Alltrim(Str(id_um)) + Endscan + .ListIndex = 1 + Endwith + Endif + ENDPROC + + PROCEDURE do_calculeaza_pret + lnPaginaActiva = Thisform._pgfrmbase1.ActivePage + With Thisform._pgfrmbase1 + Do Case + Case lnPaginaActiva = 1 + With .page2 + lnCantitateTr = .clb_cantitate_tr.text_simplu1.Value + lnPret = .clb_pret.text_simplu1.Value + If lnCantitateTr <> 0 + lnPretTr = Round(lnPret / lnCantitateTr,gnPPret) + Else + lnPretTr = 0 + Endif + .clb_pret_tr.text_simplu1.Value = lnPretTr + .clb_pret_tr.text_simplu1.Refresh() + Endwith + *!* Case lnPaginaActiva = 2 + *!* With .page3 + *!* lnCantitateTr = .clb_cantitate.text_simplu1.Value + *!* lnPret = .clb_pret.text_simplu1.Value + *!* If lnCantitateTr <> 0 + *!* lnPretTr = Round(lnPret / lnCantitateTr,gnPPret) + *!* Else + *!* lnPretTr = 0 + *!* Endif + *!* .clb_pret_tr.text_simplu1.Value = lnPretTr + *!* .clb_pret_tr.text_simplu1.Refresh() + *!* Endwith + Case lnPaginaActiva = 2 + With .page1 + lnVolum=.clb_volum.text_simplu1.Value + lnDensitate=.clb_densitate.text_simplu1.Value + lnUmVolum=Val(.cb_um_volum.List[.cb_um_volum.listindex,2]) + lnUmVolumD=Val(.cb_um_volum_d.List[.cb_um_volum_d.listindex,2]) + lnUmMasaD=Val(.cb_um_masa_d.List[.cb_um_masa_d.listindex,2]) + lnUmMasa=Val(.cb_um_masa.List[.cb_um_masa.listindex,2]) + lnMasa=Round(lnVolum*lnUmVolum*lnDensitate*lnUmMasaD/(lnUmVolumD*lnUmMasa),3) + + .clb_masa.text_simplu1.Value=lnMasa + .clb_masa.text_simplu1.Refresh() + + lnPret = .clb_pret.text_simplu1.Value + lnValoare = lnPret * lnVolum + lnPretTr = 0 + If lnMasa <> 0 + lnPretTr = Round(lnValoare/lnMasa,gnPPret) + Endif + + .clb_prettr.text_simplu1.Value=lnPretTr + .clb_prettr.text_simplu1.Refresh() + Endwith + Endcase + Endwith + ENDPROC + + PROCEDURE do_conversie + lnPaginaActiva = Thisform._pgfrmbase1.ActivePage + llDespachetare = .F. + With Thisform._pgfrmbase1 + Do Case + Case lnPaginaActiva = 1 + With .page2 + lnIdUM = Val(.cb_um_orig.List[.cb_um_orig.listindex,2]) + lnIdUM2 = Val(.cb_um.List[.cb_um.listindex,2]) + lnCantitate = .Clb_cantitate.text_simplu1.Value + Select (This.cCursor) + Set Filter To + Locate For id_um = lnIdUM + If Found() + If tip <> -1 + llDespachetare = .T. + Else + lnCantitate = (Nvl(multiplicator,1) ^ Nvl(putere,1)) * lnCantitate + Endif + Else + lnCantitate = 0 + Endif + If !llDespachetare + Locate For id_um = lnIdUM2 + If Found() + lnCantitate = lnCantitate / (Nvl(multiplicator,1) ^ Nvl(putere,1)) + Else + lnCantitate = 0 + Endif + Endif + .Clb_cantitate_tr.text_simplu1.Value = lnCantitate + .Clb_cantitate_tr.text_simplu1.Refresh() + Endwith + Thisform.do_calculeaza_pret() + Case lnPaginaActiva = 2 + With .page1 + lnVolum=.clb_volum.text_simplu1.Value + lnDensitate=.clb_densitate.text_simplu1.Value + lnUmVolum=Val(.cb_um_volum.List[.cb_um_volum.listindex,2]) + lnUmVolumD=Val(.cb_um_volum_d.List[.cb_um_volum_d.listindex,2]) + lnUmMasaD=Val(.cb_um_masa_d.List[.cb_um_masa_d.listindex,2]) + lnUmMasa=Val(.cb_um_masa.List[.cb_um_masa.listindex,2]) + lnMasa=Round(lnVolum*lnUmVolum*lnDensitate*lnUmMasaD/(lnUmVolumD*lnUmMasa),3) + .clb_masa.text_simplu1.Value=lnMasa + .clb_masa.text_simplu1.Refresh() + Endwith + Endcase + Endwith + ENDPROC + + PROCEDURE inainte_de_do_termin + lnPaginaActiva = Thisform._pgfrmbase1.ActivePage + With Thisform._pgfrmbase1 + Do Case + Case lnPaginaActiva = 1 + pnTransformat = .page2.clb_cantitate_tr.text_simplu1.Value * Thisform.ncantitate + pnPretTr = .page2.clb_pret_tr.text_simplu1.Value + *!* Case lnPaginaActiva = 2 + *!* pnTransformat = .page3.clb_cantitate.text_simplu1.Value * Thisform.ncantitate + *!* pnPretTr = .page3.clb_pret_tr.text_simplu1.Value + Case lnPaginaActiva = 2 + pnTransformat = .page1.clb_masa.text_simplu1.Value + pnPretTr = .page1.clb_prettr.text_simplu1.Value + Endcase + Endwith + ENDPROC + + PROCEDURE Init + Lparameters tnPret,tcUm,tnCantitate && ,tnCantImpach + DoDefault() + Thisform.cum = UPPER(Alltrim(Nvl(tcUm,[]))) + Thisform.npret = tnPret + Thisform.ncantitate = tnCantitate + && Thisform._pgfrmbase1.page3.clb_cantitate.text_simplu1.Value = tnCantImpach + + This.cAlias = Alias() + This.cCursor = Sys(2015) + Create Cursor (This.cCursor) (id_um N(1),tip N(1),um c(100),multiplicator N(10,4) Null,putere N(2) Null,id_um_fund N(1) Null) + Insert Into (This.cCursor) (id_um,tip,um,multiplicator,putere,id_um_fund) ; + VALUES (1,-1,'BUC',Null,Null,Null) + Insert Into (This.cCursor) (id_um,tip,um,multiplicator,putere,id_um_fund) ; + VALUES (2,1,'KG',Null,Null,Null) + Insert Into (This.cCursor) (id_um,tip,um,multiplicator,putere,id_um_fund) ; + VALUES (3,1,'G',10,-3,2) + Insert Into (This.cCursor) (id_um,tip,um,multiplicator,putere,id_um_fund) ; + VALUES (4,1,'T',10,3,2) + Insert Into (This.cCursor) (id_um,tip,um,multiplicator,putere,id_um_fund) ; + VALUES (5,2,'L',Null,Null,Null) + Insert Into (This.cCursor) (id_um,tip,um,multiplicator,putere,id_um_fund) ; + VALUES (6,2,'ML',10,-3,5) + Insert Into (This.cCursor) (id_um,tip,um,multiplicator,putere,id_um_fund) ; + VALUES (7,2,'CL',10,-2,5) + + Select (This.cCursor) + Locate For um = This.cum + If Found() + lnTip = tip + This.nTip = lnTip + With Thisform._pgfrmbase1.page2.Cb_um + .AddItem(This.cum) + .List[.NewIndex,2] = Alltrim(Str(id_um)) + .ListIndex = 1 + Endwith + + Select (This.cCursor) + Set Filter To tip = lnTip + Else + This.nTip = 0 + Endif + Select (This.cCursor) + With Thisform._pgfrmbase1.page2.cb_um_orig + Scan + .AddItem(um) + .List[.NewIndex,2] = Alltrim(Str(id_um)) + Endscan + .ListIndex = 1 + Endwith + Thisform._pgfrmbase1.page2.Clb_cantitate.SetFocus() + ENDPROC + + PROCEDURE _pgfrmbase1.Page1.cb_um_masa.Init + This.AddItem([g]) + This.List[1,2]=[0.001] + This.AddItem([kg]) + This.List[2,2]=[1] + This.ListIndex=1 + ENDPROC + + PROCEDURE _pgfrmbase1.Page1.cb_um_masa.InteractiveChange + Thisform.do_conversie() + ENDPROC + + PROCEDURE _pgfrmbase1.Page1.cb_um_masa_d.Init + This.AddItem([g]) + This.List[1,2]=[0.001] + This.AddItem([kg]) + This.List[2,2]=[1] + This.ListIndex=2 + ENDPROC + + PROCEDURE _pgfrmbase1.Page1.cb_um_masa_d.InteractiveChange + Thisform.do_conversie() + ENDPROC + + PROCEDURE _pgfrmbase1.Page1.cb_um_volum.Init + This.AddItem([l]) + This.List[1,2]=[0.001] + This.AddItem([cl]) + This.List[2,2]=[0.00001] + This.AddItem([ml]) + This.List[3,2]=[0.000001] + This.AddItem([m^3]) + This.List[4,2]=[1] + This.ListIndex=1 + ENDPROC + + PROCEDURE _pgfrmbase1.Page1.cb_um_volum.InteractiveChange + Thisform.do_conversie() + ENDPROC + + PROCEDURE _pgfrmbase1.Page1.cb_um_volum_d.Init + This.AddItem([l]) + This.List[1,2]=[0.001] + This.AddItem([cl]) + This.List[2,2]=[0.00001] + This.AddItem([ml]) + This.List[3,2]=[0.000001] + This.AddItem([m^3]) + This.List[4,2]=[1] + This.ListIndex=4 + ENDPROC + + PROCEDURE _pgfrmbase1.Page1.cb_um_volum_d.InteractiveChange + Thisform.do_conversie() + ENDPROC + + PROCEDURE _pgfrmbase1.Page1.Clb_densitate.TEXT_SIMPLU1.InteractiveChange + Thisform.do_conversie() + ENDPROC + + PROCEDURE _pgfrmbase1.Page1.Clb_pret.Text_simplu1.InteractiveChange + Thisform.do_calculeaza_pret() + ENDPROC + + PROCEDURE _pgfrmbase1.Page1.Clb_pret.Text_simplu1.Valid + Thisform.do_calculeaza_pret() + ENDPROC + + PROCEDURE _pgfrmbase1.Page1.Clb_volum.TEXT_SIMPLU1.InteractiveChange + Thisform.do_conversie() + ENDPROC + + PROCEDURE _pgfrmbase1.Page2.cb_um.InteractiveChange + Thisform.do_conversie() + ENDPROC + + PROCEDURE _pgfrmbase1.Page2.cb_um_orig.InteractiveChange + Thisform.do_actualizeaza_um(This.List[This.ListIndex,2]) + Thisform.do_conversie() + + ENDPROC + + PROCEDURE _pgfrmbase1.Page2.Clb_cantitate.Text_simplu1.InteractiveChange + Thisform.do_conversie() + ENDPROC + + PROCEDURE _pgfrmbase1.Page2.Clb_pret.Text_simplu1.InteractiveChange + Thisform.do_calculeaza_pret() + ENDPROC + + PROCEDURE _pgfrmbase1.Page2.Clb_pret.Text_simplu1.Valid + Thisform.do_calculeaza_pret() + ENDPROC + +ENDDEFINE + +DEFINE CLASS frm_introd8039 AS frm_introdnir OF "ointroduceri.vcx" + *< CLASSDATA: Baseclass="form" Timestamp="" Scale="Pixels" Uniqueid="" /> + + *-- OBJECTDATA items order determines ZOrder / El orden de los items OBJECTDATA determina el ZOrder + *< OBJECTDATA: ObjPath="Shape3" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="Shape2" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="Shape1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="Item12" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="Item13" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="ItemGradUzura" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="Item14" UniqueID="" Timestamp="" /> + + * + *p: nprocentuzura + * + + * + BorderStyle = 1 + DoCreate = .T. + Height = 354 + Name = "frm_introd8039" + nprocentuzura = 0 + Width = 670 + Item2.Label_item1.Name = "Label_item1" + Item2.Left = 17 + Item2.Lineo1.Name = "Lineo1" + Item2.Lineo2.Name = "Lineo2" + Item2.Lineo3.Name = "Lineo3" + Item2.Lineo4.Name = "Lineo4" + Item2.Lineo5.Name = "Lineo5" + Item2.Name = "Item2" + Item2.TabIndex = 2 + Item2.Text_item1.Name = "Text_item1" + Item2.Top = 87 + Item2.ZOrderSet = 3 + Item14.Label_item1.Name = "Label_item1" + Item14.Lineo1.Name = "Lineo1" + Item14.Lineo2.Name = "Lineo2" + Item14.Lineo3.Name = "Lineo3" + Item14.Lineo4.Name = "Lineo4" + Item14.Lineo5.Name = "Lineo5" + Item14.Name = "Item14" + Item14.Text_item1.Name = "Text_item1" + Item14.Text_item2.Name = "Text_item2" + Item13.Label_item1.Name = "Label_item1" + Item13.Left = 17 + Item13.Lineo1.Name = "Lineo1" + Item13.Lineo2.Name = "Lineo2" + Item13.Lineo3.Name = "Lineo3" + Item13.Lineo4.Name = "Lineo4" + Item13.Lineo5.Name = "Lineo5" + Item13.Name = "Item13" + Item13.Text_item1.Name = "Text_item1" + Item13.Top = 40 + Item1.Label_item1.Name = "Label_item1" + Item1.Left = 17 + Item1.Lineo1.Name = "Lineo1" + Item1.Lineo2.Name = "Lineo2" + Item1.Lineo3.Name = "Lineo3" + Item1.Lineo4.Name = "Lineo4" + Item1.Lineo5.Name = "Lineo5" + Item1.Name = "Item1" + Item1.TabIndex = 1 + Item1.Text_item1.Name = "Text_item1" + Item1.Top = 64 + Item1.ZOrderSet = 6 + Item15.Label_item1.Name = "Label_item1" + Item15.Lineo1.Name = "Lineo1" + Item15.Lineo2.Name = "Lineo2" + Item15.Lineo3.Name = "Lineo3" + Item15.Lineo4.Name = "Lineo4" + Item15.Lineo5.Name = "Lineo5" + Item15.Name = "Item15" + Item15.Text_item1.Name = "Text_item1" + Item16.Label_item1.Name = "Label_item1" + Item16.Lineo1.Name = "Lineo1" + Item16.Lineo2.Name = "Lineo2" + Item16.Lineo3.Name = "Lineo3" + Item16.Lineo4.Name = "Lineo4" + Item16.Lineo5.Name = "Lineo5" + Item16.Name = "Item16" + Item16.Text_item1.Name = "Text_item1" + But_renunt1.Left = 570 + But_renunt1.Name = "But_renunt1" + But_renunt1.TabIndex = 13 + But_renunt1.Top = 1 + But_renunt1.ZOrderSet = 11 + Item3.Label_item1.Name = "Label_item1" + Item3.Left = 17 + Item3.Lineo1.Name = "Lineo1" + Item3.Lineo2.Name = "Lineo2" + Item3.Lineo3.Name = "Lineo3" + Item3.Lineo4.Name = "Lineo4" + Item3.Lineo5.Name = "Lineo5" + Item3.Name = "Item3" + Item3.TabIndex = 3 + Item3.Text_item1.Name = "Text_item1" + Item3.Top = 111 + Item3.ZOrderSet = 12 + Item4.Label_item1.Name = "Label_item1" + Item4.Left = 17 + Item4.Lineo1.Name = "Lineo1" + Item4.Lineo2.Name = "Lineo2" + Item4.Lineo3.Name = "Lineo3" + Item4.Lineo4.Name = "Lineo4" + Item4.Lineo5.Name = "Lineo5" + Item4.Name = "Item4" + Item4.TabIndex = 4 + Item4.Text_item1.Name = "Text_item1" + Item4.Top = 135 + Item4.ZOrderSet = 13 + Item5.Label_item1.Name = "Label_item1" + Item5.Left = 17 + Item5.Lineo1.Name = "Lineo1" + Item5.Lineo2.Name = "Lineo2" + Item5.Lineo3.Name = "Lineo3" + Item5.Lineo4.Name = "Lineo4" + Item5.Lineo5.Name = "Lineo5" + Item5.Name = "Item5" + Item5.TabIndex = 5 + Item5.Text_item1.Name = "Text_item1" + Item5.Top = 159 + Item5.ZOrderSet = 14 + Item6.Label_item1.Name = "Label_item1" + Item6.Left = 16 + Item6.Lineo1.Name = "Lineo1" + Item6.Lineo2.Name = "Lineo2" + Item6.Lineo3.Name = "Lineo3" + Item6.Lineo4.Name = "Lineo4" + Item6.Lineo5.Name = "Lineo5" + Item6.Name = "Item6" + Item6.TabIndex = 14 + Item6.Text_item1.Name = "Text_item1" + Item6.Top = 357 + Item6.ZOrderSet = 15 + Item7.Comment = "" + Item7.Label_item1.Name = "Label_item1" + Item7.Left = 14 + Item7.Lineo1.Name = "Lineo1" + Item7.Lineo2.Name = "Lineo2" + Item7.Lineo3.Name = "Lineo3" + Item7.Lineo4.Name = "Lineo4" + Item7.Lineo5.Name = "Lineo5" + Item7.Name = "Item7" + Item7.TabIndex = 16 + Item7.Text_item1.Name = "Text_item1" + Item7.Top = 377 + Item7.Visible = .F. + Item7.ZOrderSet = 16 + Item8.Comment = "" + Item8.Label_item1.Name = "Label_item1" + Item8.Left = 14 + Item8.Lineo1.Name = "Lineo1" + Item8.Lineo2.Name = "Lineo2" + Item8.Lineo3.Name = "Lineo3" + Item8.Lineo4.Name = "Lineo4" + Item8.Lineo5.Name = "Lineo5" + Item8.Name = "Item8" + Item8.TabIndex = 17 + Item8.Text_item1.Name = "Text_item1" + Item8.Top = 400 + Item8.Visible = .F. + Item8.ZOrderSet = 17 + Item9.Comment = "" + Item9.Label_item1.Name = "Label_item1" + Item9.Left = 14 + Item9.Lineo1.Name = "Lineo1" + Item9.Lineo2.Name = "Lineo2" + Item9.Lineo3.Name = "Lineo3" + Item9.Lineo4.Name = "Lineo4" + Item9.Lineo5.Name = "Lineo5" + Item9.Name = "Item9" + Item9.TabIndex = 18 + Item9.Text_item1.Name = "Text_item1" + Item9.Top = 423 + Item9.Visible = .F. + Item9.ZOrderSet = 18 + Item17.Label_item1.Name = "Label_item1" + Item17.Left = 17 + Item17.Lineo1.Name = "Lineo1" + Item17.Lineo2.Name = "Lineo2" + Item17.Lineo3.Name = "Lineo3" + Item17.Lineo4.Name = "Lineo4" + Item17.Lineo5.Name = "Lineo5" + Item17.Name = "Item17" + Item17.Text_item1.Name = "Text_item1" + Item17.Top = 324 + Item12.Label_item1.Name = "Label_item1" + Item12.Left = 5 + Item12.Lineo1.Name = "Lineo1" + Item12.Lineo2.Name = "Lineo2" + Item12.Lineo3.Name = "Lineo3" + Item12.Lineo4.Name = "Lineo4" + Item12.Lineo5.Name = "Lineo5" + Item12.Name = "Item12" + Item12.Text_item1.Name = "Text_item1" + Item12.Top = 230 + Item10.camp_lista = nume + Item10.Comment = "B" + Item10.fis_lista = Vnom_responsabili + Item10.id_fisier = id_responsabil + Item10.label_item = Nume responsabil + Item10.Label_item1.Caption = "Responsabil" + Item10.Label_item1.Name = "Label_item1" + Item10.Left = 17 + Item10.Lineo1.Name = "Lineo1" + Item10.Lineo2.Name = "Lineo2" + Item10.Lineo3.Name = "Lineo3" + Item10.Lineo4.Name = "Lineo4" + Item10.Lineo5.Name = "Lineo5" + Item10.Name = "Item10" + Item10.TabIndex = 11 + Item10.TabStop = .T. + Item10.Text_item1.Comment = "thisform.cobj.nresp" + Item10.Text_item1.Name = "Text_item1" + Item10.Text_item1.ReadOnly = .T. + Item10.Top = 299 + Item10.ZOrderSet = 20 + Item11.Label_item1.Name = "Label_item1" + Item11.Left = 17 + Item11.Lineo1.Name = "Lineo1" + Item11.Lineo2.Name = "Lineo2" + Item11.Lineo3.Name = "Lineo3" + Item11.Lineo4.Name = "Lineo4" + Item11.Lineo5.Name = "Lineo5" + Item11.Name = "Item11" + Item11.TabIndex = 10 + Item11.TabStop = .F. + Item11.Text_item1.Name = "Text_item1" + Item11.Text_item1.ReadOnly = .T. + Item11.Top = 324 + Item11.ZOrderSet = 19 + lb_modparam.Left = 486 + lb_modparam.Name = "lb_modparam" + lb_modparam.Top = 139 + _shape1.Name = "_shape1" + _shape1.ZOrderSet = 7 + _shape2.Name = "_shape2" + _shape2.ZOrderSet = 8 + Gridsort1.Left = 1 + Gridsort1.Name = "Gridsort1" + Gridsort1.Top = 42 + Lb_titlu_alb_b121.Name = "Lb_titlu_alb_b121" + Lb_titlu_alb_b121.TabIndex = 19 + Lb_titlu_alb_b121.ZOrderSet = 10 + BUT_TERMIN1.Left = 639 + BUT_TERMIN1.Name = "BUT_TERMIN1" + BUT_TERMIN1.TabIndex = 12 + BUT_TERMIN1.Top = 1 + BUT_TERMIN1.ZOrderSet = 25 + Clb_ITEM_adaos.Comment = "" + Clb_ITEM_adaos.Lb_simplu1.Name = "Lb_simplu1" + Clb_ITEM_adaos.Left = 472 + Clb_ITEM_adaos.Name = "Clb_ITEM_adaos" + Clb_ITEM_adaos.TabIndex = 15 + Clb_ITEM_adaos.Text_simplu1.Name = "Text_simplu1" + Clb_ITEM_adaos.Top = 379 + Clb_ITEM_adaos.Visible = .F. + Clb_ITEM_adaos.ZOrderSet = 26 + But_modiparam1.Left = 492 + But_modiparam1.Name = "But_modiparam1" + But_modiparam1.Top = 156 + Image1.Height = 16 + Image1.Left = 461 + Image1.Name = "Image1" + Image1.Top = 232 + Image1.Width = 16 + Opt_imputare.Left = 483 + Opt_imputare.Name = "Opt_imputare" + Opt_imputare.Option1.Left = 5 + Opt_imputare.Option1.Name = "Option1" + Opt_imputare.Option1.Top = 5 + Opt_imputare.Option2.Left = 5 + Opt_imputare.Option2.Name = "Option2" + Opt_imputare.Option2.Top = 20 + Opt_imputare.Top = 265 + lb_imputare.Left = 489 + lb_imputare.Name = "lb_imputare" + lb_imputare.Top = 255 + cbo_tva_achizitie.Left = 480 + cbo_tva_achizitie.Name = "cbo_tva_achizitie" + cbo_tva_achizitie.Top = 112 + lb_tva_achizitie.Name = "lb_tva_achizitie" + cbo_tva_vanzare.Left = 475 + cbo_tva_vanzare.Name = "cbo_tva_vanzare" + cbo_tva_vanzare.Top = 371 + lb_tva_vanzare.Left = 480 + lb_tva_vanzare.Name = "lb_tva_vanzare" + lb_tva_vanzare.Top = 354 + But_renunt2.Name = "But_renunt2" + cmdTVA1.Name = "cmdTVA1" + cmdTVA2.Name = "cmdTVA2" + cmdTVA3.Name = "cmdTVA3" + cmdTVA4.Name = "cmdTVA4" + cmdTVA5.Name = "cmdTVA5" + cbo_saft.Name = "cbo_saft" + lb_saft.Name = "lb_saft" + * + + ADD OBJECT 'Item12' AS item WITH ; + Comment = "T", ; + Left = 17, ; + Name = "Item12", ; + TabIndex = 9, ; + tip = F, ; + Top = 265, ; + ZOrderSet = 4, ; + Label_item1.Caption = "Durata de folosinta ramasa(luni)", ; + Label_item1.Name = "Label_item1", ; + Text_item1.Comment = "thisform.cobj.DNS_LUNI", ; + Text_item1.InputMask = (get_mask(4,0)), ; + Text_item1.Name = "Text_item1", ; + Lineo1.Name = "Lineo1", ; + Lineo3.Name = "Lineo3", ; + Lineo4.Name = "Lineo4", ; + Lineo5.Name = "Lineo5", ; + Lineo2.Name = "Lineo2" + *< END OBJECT: ClassLib="baza.vcx" BaseClass="container" /> + + ADD OBJECT 'Item13' AS item WITH ; + Comment = "T", ; + Left = 17, ; + Name = "Item13", ; + TabIndex = 6, ; + tip = F, ; + Top = 198, ; + ZOrderSet = 5, ; + Label_item1.Caption = "Data trecerii in folosinta", ; + Label_item1.Name = "Label_item1", ; + Text_item1.Alignment = 3, ; + Text_item1.Comment = "thisform.cobj.DATAPIF", ; + Text_item1.Format = "k", ; + Text_item1.Name = "Text_item1", ; + Lineo1.Name = "Lineo1", ; + Lineo3.Name = "Lineo3", ; + Lineo4.Name = "Lineo4", ; + Lineo5.Name = "Lineo5", ; + Lineo2.Name = "Lineo2" + *< END OBJECT: ClassLib="baza.vcx" BaseClass="container" /> + + ADD OBJECT 'Item14' AS item WITH ; + Comment = "T", ; + Left = 17, ; + Name = "Item14", ; + TabIndex = 8, ; + tip = F, ; + Top = 243, ; + ZOrderSet = 27, ; + Label_item1.Caption = "Durata normata de folosinta", ; + Label_item1.Name = "Label_item1", ; + Label_item1.TabIndex = 2, ; + Text_item1.Comment = "thisform.cobj.DNF", ; + Text_item1.InputMask = (get_mask(3,0)), ; + Text_item1.Name = "Text_item1", ; + Text_item1.ReadOnly = .T., ; + Text_item1.TabIndex = 1, ; + Lineo1.Name = "Lineo1", ; + Lineo3.Name = "Lineo3", ; + Lineo4.Name = "Lineo4", ; + Lineo5.Name = "Lineo5", ; + Lineo2.Name = "Lineo2" + *< END OBJECT: ClassLib="baza.vcx" BaseClass="container" /> + + ADD OBJECT 'ItemGradUzura' AS item WITH ; + Comment = "T", ; + Left = 17, ; + Name = "ItemGradUzura", ; + TabIndex = 7, ; + tip = F, ; + Top = 220, ; + ZOrderSet = 27, ; + LABEL_ITEM1.Caption = "Grad uzura (%)", ; + LABEL_ITEM1.Name = "LABEL_ITEM1", ; + LABEL_ITEM1.TabIndex = 2, ; + TEXT_ITEM1.Comment = "thisform.nProcentUzura", ; + TEXT_ITEM1.ControlSource = "thisform.nProcentUzura", ; + TEXT_ITEM1.InputMask = (get_mask(3,0)), ; + TEXT_ITEM1.Name = "TEXT_ITEM1", ; + TEXT_ITEM1.TabIndex = 1, ; + LINEO1.Name = "LINEO1", ; + LINEO3.Name = "LINEO3", ; + LINEO4.Name = "LINEO4", ; + LINEO5.Name = "LINEO5", ; + LINEO2.Name = "LINEO2" + *< END OBJECT: ClassLib="baza.vcx" BaseClass="container" /> + + ADD OBJECT 'Shape1' AS shape WITH ; + BackColor = 255,255,255, ; + BorderColor = 128,128,128, ; + Height = 154, ; + Left = 13, ; + Name = "Shape1", ; + Top = 38, ; + Width = 464, ; + ZOrderSet = 2 + *< END OBJECT: BaseClass="shape" /> + + ADD OBJECT 'Shape2' AS shape WITH ; + BackColor = 255,255,255, ; + BorderColor = 128,128,128, ; + Height = 101, ; + Left = 13, ; + Name = "Shape2", ; + Top = 190, ; + Width = 464, ; + ZOrderSet = 1 + *< END OBJECT: BaseClass="shape" /> + + ADD OBJECT 'Shape3' AS shape WITH ; + BackColor = 255,255,255, ; + BorderColor = 128,128,128, ; + Height = 60, ; + Left = 13, ; + Name = "Shape3", ; + Top = 290, ; + Width = 464, ; + ZOrderSet = 0 + *< END OBJECT: BaseClass="shape" /> + + PROCEDURE Show + Lparameters nStyle + + thisform.cobj.DATAPIF = thisform.cobj.DATAACT + + lnDNF = thisform.cobj.DNF + IF thisform.cobj.DNS_LUNI = 0 + thisform.cobj.DNS_LUNI = thisform.cobj.DNF + ENDIF + + lnDNSRamas = thisform.cobj.DNS_LUNI + IF lnDNF = 0 + THISFORM.nProcentuzura = 0 + ELSE + THISFORM.nProcentuzura = ROUND((lnDNF - lnDNSRamas)/lnDNF*100,0) + ENDIF + this.itemgradUzura.text_item1.ControlSource = "thisform.nProcentUzura" + + DODEFAULT(nStyle) + ENDPROC + + PROCEDURE Item12.Text_item1.Valid + DODEFAULT() + lnDNF = thisform.cobj.DNF + lnDNSRamas = thisform.cobj.DNS_LUNI + IF lnDNF = 0 + THISFORM.nProcentuzura = 0 + ELSE + THISFORM.nProcentuzura = ROUND((lnDNF - lnDNSRamas)/lnDNF*100,0) + ENDIF + thisform.Refresh + ENDPROC + + PROCEDURE Item14.Init + IF INLIST(oset.id_set, 55, 273) && dare in folosinta + this.tEXT_ITEM1.ReadOnly = .f. + ENDIF + ENDPROC + + PROCEDURE ItemGradUzura.TEXT_ITEM1.Valid + DODEFAULT() + thisform.cobj.DNS_LUNI = ROUND(thisform.cobj.DNF*(100 - thisform.nprocentuzura)/100,0) + thisform.Refresh() + ENDPROC + +ENDDEFINE + +DEFINE CLASS frm_introdnir AS _frmbase OF "_frm_base.vcx" + *< CLASSDATA: Baseclass="form" Timestamp="" Scale="Pixels" Uniqueid="" /> + + *-- OBJECTDATA items order determines ZOrder / El orden de los items OBJECTDATA determina el ZOrder + *< OBJECTDATA: ObjPath="Item2" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="Item14" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="Item14.Text_item2" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="Item13" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="Item1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="Item15" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="Item16" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="But_renunt1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="Item3" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="Item4" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="Item5" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="Item6" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="Item7" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="Item8" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="Item9" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="Item17" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="Item12" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="Item10" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="Item11" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="lb_modparam" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="Clb_ITEM_adaos" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="But_modiparam1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="Image1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="Opt_imputare" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="lb_imputare" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="cbo_tva_achizitie" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="lb_tva_achizitie" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="cbo_tva_vanzare" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="lb_tva_vanzare" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="But_renunt2" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="cmdTVA1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="cmdTVA2" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="cmdTVA3" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="cmdTVA4" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="cmdTVA5" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="cbo_saft" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="lb_saft" UniqueID="" Timestamp="" /> + + #INCLUDE "..\include\foxpro.h" + * + *m: actualizeaza_explicatie_saft + *m: aplicatva + *m: calculeaza_tva_ach + *m: calculeaza_valori_ach + *m: do_alege_reteta + *m: do_alege_tvaach + *m: do_alege_tvavanz + *m: do_modiparam + *m: updateexplicatiesaft + *m: updatelabelsaft + *m: updatepaymentsaft + *p: blochezpretv + *p: cobj + *p: cparentobj + *p: cpaymentcode && Cod Taxa SAFT + *p: ctitlu + *p: lmonedanationala && .T. - daca id_valuta este moneda nationala + *p: ncant_iesita + *p: ncant_stoc + *p: ncurs + *p: npretvoriginal + *p: npretv_nat + *p: npretv_val + *p: npret_nat + *p: npret_val + *p: ntaxcodeachizitie && Cod taxa SAFT achizitie + *p: ntaxcodevanzare && Cod taxa SAFT vanzare + *p: omemopref && Obiect in care se memoreaza datele care sa fie folosite ca implicite cand se apeleaza formularul. + *p: pretu_factura + *p: pretvtva + *p: proc_adaos + *p: proc_discount + *p: proc_tvav + *p: valoare + *p: valoaretva + * + + * + BorderStyle = 1 + bvizualizare = + cobj = + cpaymentcode = + ctitlu = + DoCreate = .T. + FontCharSet = 238 + Height = 466 + lmonedanationala = .T. + Name = "frm_introdnir" + ncant_iesita = .F. + ncant_stoc = .F. + ncurs = 0 + npretvoriginal = 0 + npretv_nat = 0 + npretv_val = 0 + npret_nat = 0 + npret_val = 0 + ntaxcodeachizitie = NULL + ntaxcodevanzare = NULL + omemopref = .NULL. + pretu_factura = 0 + pretvtva = 0 + proc_adaos = 0 + proc_discount = 0 + proc_tvav = 0 + valoare = 0 + valoaretva = 0 + Width = 670 + WindowType = 1 + _memberdata = + + + + + + + + + _shape1.Height = 30 + _shape1.Left = 0 + _shape1.Name = "_shape1" + _shape1.Top = -1 + _shape1.Width = 676 + _shape1.ZOrderSet = 2 + _shape2.Height = 29 + _shape2.Left = 601 + _shape2.Name = "_shape2" + _shape2.Top = 0 + _shape2.Width = 70 + _shape2.ZOrderSet = 3 + Lb_titlu_alb_b121.FontName = "Comic Sans MS" + Lb_titlu_alb_b121.FontSize = 10 + Lb_titlu_alb_b121.Left = 8 + Lb_titlu_alb_b121.Name = "Lb_titlu_alb_b121" + Lb_titlu_alb_b121.TabIndex = 21 + Lb_titlu_alb_b121.Top = 4 + Lb_titlu_alb_b121.ZOrderSet = 4 + BUT_TERMIN1.Left = 640 + BUT_TERMIN1.Name = "BUT_TERMIN1" + BUT_TERMIN1.TabIndex = 17 + BUT_TERMIN1.Top = 1 + BUT_TERMIN1.ZOrderSet = 5 + Gridsort1.Name = "Gridsort1" + * + + ADD OBJECT 'But_modiparam1' AS but_modiparam WITH ; + Left = 532, ; + Name = "But_modiparam1", ; + TabIndex = 22, ; + TabStop = .F., ; + ToolTipText = "Conversie", ; + Top = 233 + *< END OBJECT: ClassLib="cmd_butoane.vcx" BaseClass="commandbutton" /> + + ADD OBJECT 'But_renunt1' AS but_renunt WITH ; + Left = 571, ; + Name = "But_renunt1", ; + TabIndex = 18, ; + Top = 1, ; + ZOrderSet = 6 + *< END OBJECT: ClassLib="cmd_butoane.vcx" BaseClass="commandbutton" /> + + ADD OBJECT 'But_renunt2' AS but_renunt WITH ; + Left = 608, ; + Name = "But_renunt2", ; + Top = 1 + *< END OBJECT: ClassLib="cmd_butoane.vcx" BaseClass="commandbutton" /> + + ADD OBJECT 'cbo_saft' AS combobox WITH ; + BorderColor = 128,128,128, ; + BorderStyle = 1, ; + ColumnLines = .F., ; + FontName = "Arial", ; + FontSize = 10, ; + Height = 20, ; + InputMask = "", ; + Left = 475, ; + Name = "cbo_saft", ; + RowSourceType = 3, ; + SpecialEffect = 1, ; + Style = 2, ; + TabIndex = 27, ; + TabStop = .F., ; + Top = 207, ; + Visible = .F., ; + Width = 190 + *< END OBJECT: BaseClass="combobox" /> + + ADD OBJECT 'cbo_tva_achizitie' AS _combobox WITH ; + BorderColor = 128,128,128, ; + BorderStyle = 1, ; + Comment = "F", ; + ControlSource = "", ; + FontSize = 10, ; + Height = 24, ; + InputMask = "", ; + Left = 475, ; + Name = "cbo_tva_achizitie", ; + SpecialEffect = 1, ; + Style = 2, ; + TabIndex = 28, ; + TabStop = .F., ; + Top = 164, ; + Visible = .T., ; + Width = 190 + *< END OBJECT: ClassLib="_baza.vcx" BaseClass="combobox" /> + + ADD OBJECT 'cbo_tva_vanzare' AS _combobox WITH ; + BorderColor = 128,128,128, ; + BorderStyle = 1, ; + Comment = "A", ; + ControlSource = "", ; + Left = 475, ; + Name = "cbo_tva_vanzare", ; + SpecialEffect = 1, ; + Style = 2, ; + TabIndex = 27, ; + TabStop = .F., ; + Top = 378, ; + Visible = .T., ; + Width = 190 + *< END OBJECT: ClassLib="_baza.vcx" BaseClass="combobox" /> + + ADD OBJECT 'Clb_ITEM_adaos' AS clb_tx_simplu WITH ; + BorderColor = 255,255,255, ; + Comment = "A", ; + Height = 23, ; + Left = 472, ; + Name = "Clb_ITEM_adaos", ; + TabIndex = 13, ; + Top = 333, ; + Width = 77, ; + TEXT_SIMPLU1.Alignment = 1, ; + TEXT_SIMPLU1.BackColor = 224,224,224, ; + TEXT_SIMPLU1.BorderStyle = 0, ; + TEXT_SIMPLU1.Comment = "thisform.cobj.procent", ; + TEXT_SIMPLU1.Height = 23, ; + TEXT_SIMPLU1.InputMask = (get_mask(12,2)), ; + TEXT_SIMPLU1.Left = 2, ; + TEXT_SIMPLU1.Name = "TEXT_SIMPLU1", ; + TEXT_SIMPLU1.SpecialEffect = 1, ; + TEXT_SIMPLU1.Top = 2, ; + TEXT_SIMPLU1.Width = 53, ; + LB_SIMPLU1.Caption = "%", ; + LB_SIMPLU1.Left = 61, ; + LB_SIMPLU1.Name = "LB_SIMPLU1", ; + LB_SIMPLU1.Top = 5 + *< END OBJECT: ClassLib="lb_tx.vcx" BaseClass="container" /> + + ADD OBJECT 'cmdTVA1' AS cmd_executa WITH ; + Caption = "19%", ; + Left = 471, ; + Name = "cmdTVA1", ; + Top = 115, ; + Visible = .F., ; + Width = 30 + *< END OBJECT: ClassLib="cmd_butoane.vcx" BaseClass="commandbutton" /> + + ADD OBJECT 'cmdTVA2' AS cmd_executa WITH ; + Caption = "9%", ; + Left = 501, ; + Name = "cmdTVA2", ; + Top = 115, ; + Visible = .F., ; + Width = 30 + *< END OBJECT: ClassLib="cmd_butoane.vcx" BaseClass="commandbutton" /> + + ADD OBJECT 'cmdTVA3' AS cmd_executa WITH ; + Caption = "5%", ; + Left = 531, ; + Name = "cmdTVA3", ; + Top = 115, ; + Visible = .F., ; + Width = 30 + *< END OBJECT: ClassLib="cmd_butoane.vcx" BaseClass="commandbutton" /> + + ADD OBJECT 'cmdTVA4' AS cmd_executa WITH ; + Caption = "5%", ; + Left = 561, ; + Name = "cmdTVA4", ; + Top = 115, ; + Visible = .F., ; + Width = 30 + *< END OBJECT: ClassLib="cmd_butoane.vcx" BaseClass="commandbutton" /> + + ADD OBJECT 'cmdTVA5' AS cmd_executa WITH ; + Caption = "5%", ; + Left = 591, ; + Name = "cmdTVA5", ; + Top = 115, ; + Visible = .F., ; + Width = 30 + *< END OBJECT: ClassLib="cmd_butoane.vcx" BaseClass="commandbutton" /> + + ADD OBJECT 'Image1' AS image WITH ; + Height = 16, ; + Left = 472, ; + Name = "Image1", ; + Picture = ..\grafice\alege.bmp, ; + ToolTipText = "Alege fisa tehnologica alternativa (R)", ; + Top = 263, ; + Width = 16 + *< END OBJECT: BaseClass="image" /> + + ADD OBJECT 'Item1' AS item WITH ; + Comment = "F", ; + Left = 14, ; + Name = "Item1", ; + TabIndex = 4, ; + tip = F, ; + Top = 117, ; + ZOrderSet = 1, ; + Label_item1.Caption = "Pret unitar pe factura", ; + Label_item1.FontCharSet = 238, ; + Label_item1.Name = "Label_item1", ; + Text_item1.Comment = "thisform.pretu_factura", ; + Text_item1.InputMask = (get_mask(12,gnPpret)), ; + Text_item1.Name = "Text_item1", ; + Lineo1.Name = "Lineo1", ; + Lineo3.Name = "Lineo3", ; + Lineo4.Name = "Lineo4", ; + Lineo5.Name = "Lineo5", ; + Lineo2.Name = "Lineo2" + *< END OBJECT: ClassLib="baza.vcx" BaseClass="container" /> + + ADD OBJECT 'Item10' AS item WITH ; + camp_lista = nume_gestiune,cgest, ; + Comment = "N", ; + fis_lista = Vnom_gestiuni , ; + id_fisier = id_gestiune, ; + label_item = Nume gestiune destinatie, ; + Left = 14, ; + Name = "Item10", ; + pcobj = orul, ; + TabIndex = 11, ; + TabStop = .F., ; + tip = N, ; + Top = 286, ; + ZOrderSet = 14, ; + Label_item1.Caption = "Gestiunea", ; + Label_item1.Name = "Label_item1", ; + Text_item1.Comment = "thisform.cobj.gestin", ; + Text_item1.ControlSource = "", ; + Text_item1.Name = "Text_item1", ; + Text_item1.ReadOnly = .T., ; + Lineo1.Name = "Lineo1", ; + Lineo3.Name = "Lineo3", ; + Lineo4.Name = "Lineo4", ; + Lineo5.Name = "Lineo5", ; + Lineo2.Name = "Lineo2" + *< END OBJECT: ClassLib="baza.vcx" BaseClass="container" /> + + ADD OBJECT 'Item11' AS item WITH ; + camp_lista = sectie, ; + Comment = "T", ; + fis_lista = Vnom_sectii, ; + id_fisier = id_sectie, ; + label_item = Denumire sectie, ; + Left = 14, ; + Name = "Item11", ; + pcobj = orul, ; + TabIndex = 12, ; + TabStop = .F., ; + tip = , ; + Top = 309, ; + ZOrderSet = 14, ; + Label_item1.Caption = "Sectia", ; + Label_item1.Name = "Label_item1", ; + Text_item1.Comment = "thisform.cobj.sectie", ; + Text_item1.ControlSource = "", ; + Text_item1.Name = "Text_item1", ; + Text_item1.ReadOnly = .T., ; + Lineo1.Name = "Lineo1", ; + Lineo3.Name = "Lineo3", ; + Lineo4.Name = "Lineo4", ; + Lineo5.Name = "Lineo5", ; + Lineo2.Name = "Lineo2" + *< END OBJECT: ClassLib="baza.vcx" BaseClass="container" /> + + ADD OBJECT 'Item12' AS item WITH ; + camp_lista = reteta, ; + Comment = "N", ; + fis_lista = , ; + id_fisier = id_reteta, ; + label_item = Fisa tehnologica, ; + Left = 13, ; + Name = "Item12", ; + pcobj = orul, ; + TabIndex = 10, ; + TabStop = .T., ; + tip = N, ; + Top = 261, ; + ZOrderSet = 14, ; + Label_item1.Caption = "Fiºa tehnologica", ; + Label_item1.Name = "Label_item1", ; + Text_item1.Comment = "thisform.cobj.reteta", ; + Text_item1.ControlSource = "", ; + Text_item1.Name = "Text_item1", ; + Text_item1.ReadOnly = .T., ; + Lineo1.Name = "Lineo1", ; + Lineo3.Name = "Lineo3", ; + Lineo4.Name = "Lineo4", ; + Lineo5.Name = "Lineo5", ; + Lineo2.Name = "Lineo2" + *< END OBJECT: ClassLib="baza.vcx" BaseClass="container" /> + + ADD OBJECT 'Item13' AS item WITH ; + Comment = "T", ; + Left = 14, ; + Name = "Item13", ; + TabIndex = 1, ; + tip = T, ; + Top = 40, ; + ZOrderSet = 1, ; + Label_item1.Caption = "Serie", ; + Label_item1.Name = "Label_item1", ; + Text_item1.Comment = "thisform.cobj.serie", ; + Text_item1.Format = "K!", ; + Text_item1.Name = "Text_item1", ; + Text_item1.ReadOnly = .T., ; + Lineo1.Name = "Lineo1", ; + Lineo3.Name = "Lineo3", ; + Lineo4.Name = "Lineo4", ; + Lineo5.Name = "Lineo5", ; + Lineo2.Name = "Lineo2" + *< END OBJECT: ClassLib="baza.vcx" BaseClass="container" /> + + ADD OBJECT 'Item14' AS item WITH ; + Comment = "T", ; + Height = 21, ; + Left = 478, ; + Name = "Item14", ; + TabIndex = 19, ; + TabStop = .F., ; + tip = T, ; + Top = 40, ; + Width = 136, ; + ZOrderSet = 1, ; + LABEL_ITEM1.Caption = "Cont", ; + LABEL_ITEM1.Height = 18, ; + LABEL_ITEM1.Left = 3, ; + LABEL_ITEM1.Name = "LABEL_ITEM1", ; + LABEL_ITEM1.Top = 2, ; + LABEL_ITEM1.Width = 45, ; + TEXT_ITEM1.Comment = "thisform.cobj.cont", ; + TEXT_ITEM1.Format = "K!", ; + TEXT_ITEM1.Height = 18, ; + TEXT_ITEM1.Left = 52, ; + TEXT_ITEM1.MaxLength = 4, ; + TEXT_ITEM1.Name = "TEXT_ITEM1", ; + TEXT_ITEM1.ReadOnly = .T., ; + TEXT_ITEM1.Top = 1, ; + TEXT_ITEM1.Width = 35, ; + LINEO1.Name = "LINEO1", ; + LINEO3.Name = "LINEO3", ; + LINEO4.Name = "LINEO4", ; + LINEO5.Name = "LINEO5", ; + LINEO2.Name = "LINEO2" + *< END OBJECT: ClassLib="baza.vcx" BaseClass="container" /> + + ADD OBJECT 'Item14.Text_item2' AS text_item WITH ; + BackStyle = 1, ; + BorderColor = 226,226,226, ; + BorderStyle = 1, ; + Comment = "thisform.cobj.acont", ; + FontName = "Arial", ; + Format = "K!", ; + Height = 18, ; + Left = 92, ; + MaxLength = 4, ; + Name = "Text_item2", ; + ReadOnly = .T., ; + Top = 1, ; + Width = 35 + *< END OBJECT: ClassLib="baza.vcx" BaseClass="textbox" /> + + ADD OBJECT 'Item15' AS item WITH ; + Comment = "T", ; + Left = 14, ; + Name = "Item15", ; + TabIndex = 2, ; + tip = T, ; + Top = 63, ; + ZOrderSet = 1, ; + Label_item1.Caption = "Numar lot", ; + Label_item1.Name = "Label_item1", ; + Text_item1.Comment = "thisform.cobj.lot", ; + Text_item1.Format = "K!", ; + Text_item1.Name = "Text_item1", ; + Text_item1.ReadOnly = .T., ; + Lineo1.Name = "Lineo1", ; + Lineo3.Name = "Lineo3", ; + Lineo4.Name = "Lineo4", ; + Lineo5.Name = "Lineo5", ; + Lineo2.Name = "Lineo2" + *< END OBJECT: ClassLib="baza.vcx" BaseClass="container" /> + + ADD OBJECT 'Item16' AS item WITH ; + Comment = "T", ; + Left = 14, ; + Name = "Item16", ; + TabIndex = 3, ; + tip = T, ; + Top = 88, ; + ZOrderSet = 1, ; + Label_item1.Caption = "Data expirare", ; + Label_item1.Name = "Label_item1", ; + Text_item1.Comment = "thisform.cobj.adata_expirare", ; + Text_item1.Format = "K!", ; + Text_item1.Name = "Text_item1", ; + Text_item1.ReadOnly = .T., ; + Lineo1.Name = "Lineo1", ; + Lineo3.Name = "Lineo3", ; + Lineo4.Name = "Lineo4", ; + Lineo5.Name = "Lineo5", ; + Lineo2.Name = "Lineo2" + *< END OBJECT: ClassLib="baza.vcx" BaseClass="container" /> + + ADD OBJECT 'Item17' AS item WITH ; + camp_lista = nrord, ; + Comment = "T", ; + fis_lista = Vnom_lucrari, ; + id_fisier = id_lucrare, ; + label_item = Lucrarea/Comanda, ; + Left = 14, ; + Name = "Item17", ; + pcobj = orul, ; + TabIndex = 13, ; + TabStop = .F., ; + tip = , ; + Top = 333, ; + ZOrderSet = 14, ; + Label_item1.Caption = "Lucrare", ; + Label_item1.Name = "Label_item1", ; + Text_item1.Comment = "thisform.cobj.nrord", ; + Text_item1.ControlSource = "", ; + Text_item1.Name = "Text_item1", ; + Text_item1.ReadOnly = .T., ; + Lineo1.Name = "Lineo1", ; + Lineo3.Name = "Lineo3", ; + Lineo4.Name = "Lineo4", ; + Lineo5.Name = "Lineo5", ; + Lineo2.Name = "Lineo2" + *< END OBJECT: ClassLib="baza.vcx" BaseClass="container" /> + + ADD OBJECT 'Item2' AS item WITH ; + Comment = "T", ; + Left = 14, ; + Name = "Item2", ; + TabIndex = 5, ; + tip = , ; + Top = 140, ; + ZOrderSet = 0, ; + Label_item1.Caption = "Pret unitar de intrare NIR", ; + Label_item1.Name = "Label_item1", ; + Text_item1.Comment = "thisform.cobj.pret", ; + Text_item1.InputMask = (get_mask(12,gnPpret)), ; + Text_item1.Name = "Text_item1", ; + Lineo1.Name = "Lineo1", ; + Lineo3.Name = "Lineo3", ; + Lineo4.Name = "Lineo4", ; + Lineo5.Name = "Lineo5", ; + Lineo2.Name = "Lineo2" + *< END OBJECT: ClassLib="baza.vcx" BaseClass="container" /> + + ADD OBJECT 'Item3' AS item WITH ; + Comment = "F", ; + Left = 14, ; + Name = "Item3", ; + TabIndex = 6, ; + tip = F, ; + Top = 164, ; + ZOrderSet = 7, ; + Label_item1.Caption = "TVA (unitara)", ; + Label_item1.Name = "Label_item1", ; + Text_item1.Comment = "thisform.cobj.tva", ; + Text_item1.InputMask = (get_mask(12,gnPpret)), ; + Text_item1.Name = "Text_item1", ; + Lineo1.Name = "Lineo1", ; + Lineo3.Name = "Lineo3", ; + Lineo4.Name = "Lineo4", ; + Lineo5.Name = "Lineo5", ; + Lineo2.Name = "Lineo2" + *< END OBJECT: ClassLib="baza.vcx" BaseClass="container" /> + + ADD OBJECT 'Item4' AS item WITH ; + Comment = "T", ; + Left = 14, ; + Name = "Item4", ; + TabIndex = 7, ; + tip = , ; + Top = 188, ; + ZOrderSet = 8, ; + Label_item1.Caption = "Cantitate", ; + Label_item1.Name = "Label_item1", ; + Text_item1.Comment = "thisform.cobj.cant", ; + Text_item1.InputMask = (get_mask(12,gnPcant)), ; + Text_item1.Name = "Text_item1", ; + Lineo1.Name = "Lineo1", ; + Lineo3.Name = "Lineo3", ; + Lineo4.Name = "Lineo4", ; + Lineo5.Name = "Lineo5", ; + Lineo2.Name = "Lineo2" + *< END OBJECT: ClassLib="baza.vcx" BaseClass="container" /> + + ADD OBJECT 'Item5' AS item WITH ; + Comment = "T", ; + Left = 14, ; + Name = "Item5", ; + TabIndex = 8, ; + tip = , ; + Top = 212, ; + ZOrderSet = 9, ; + Label_item1.Caption = "Valoare ", ; + Label_item1.Name = "Label_item1", ; + Text_item1.Comment = "thisform.valoare", ; + Text_item1.InputMask = (get_mask(12,gnPc)), ; + Text_item1.Name = "Text_item1", ; + Text_item1.ReadOnly = .T., ; + Lineo1.Name = "Lineo1", ; + Lineo3.Name = "Lineo3", ; + Lineo4.Name = "Lineo4", ; + Lineo5.Name = "Lineo5", ; + Lineo2.Name = "Lineo2" + *< END OBJECT: ClassLib="baza.vcx" BaseClass="container" /> + + ADD OBJECT 'Item6' AS item WITH ; + Comment = "F", ; + Left = 14, ; + Name = "Item6", ; + TabIndex = 9, ; + tip = F, ; + Top = 236, ; + ZOrderSet = 10, ; + Label_item1.Caption = "Valoare TVA", ; + Label_item1.Name = "Label_item1", ; + Text_item1.Comment = "thisform.valoaretva", ; + Text_item1.InputMask = (get_mask(12,gnPc)), ; + Text_item1.Name = "Text_item1", ; + Text_item1.ReadOnly = .T., ; + Lineo1.Name = "Lineo1", ; + Lineo3.Name = "Lineo3", ; + Lineo4.Name = "Lineo4", ; + Lineo5.Name = "Lineo5", ; + Lineo2.Name = "Lineo2" + *< END OBJECT: ClassLib="baza.vcx" BaseClass="container" /> + + ADD OBJECT 'Item7' AS item WITH ; + Comment = "A", ; + Left = 14, ; + Name = "Item7", ; + TabIndex = 14, ; + tip = A, ; + Top = 355, ; + ZOrderSet = 11, ; + Label_item1.Caption = "Pret de vânzare cu TVA", ; + Label_item1.Name = "Label_item1", ; + Text_item1.Comment = "thisform.PretvTva", ; + Text_item1.InputMask = (get_mask(12,gnPPretV)), ; + Text_item1.Name = "Text_item1", ; + Lineo1.Name = "Lineo1", ; + Lineo3.Name = "Lineo3", ; + Lineo4.Name = "Lineo4", ; + Lineo5.Name = "Lineo5", ; + Lineo2.Name = "Lineo2" + *< END OBJECT: ClassLib="baza.vcx" BaseClass="container" /> + + ADD OBJECT 'Item8' AS item WITH ; + Comment = "A", ; + Left = 14, ; + Name = "Item8", ; + TabIndex = 15, ; + tip = A, ; + Top = 378, ; + ZOrderSet = 12, ; + Label_item1.Caption = "TVA vânzare", ; + Label_item1.Name = "Label_item1", ; + Text_item1.Comment = "thisform.cobj.tvav", ; + Text_item1.InputMask = (get_mask(12,gnPPretV)), ; + Text_item1.Name = "Text_item1", ; + Text_item1.ReadOnly = .T., ; + Lineo1.Name = "Lineo1", ; + Lineo3.Name = "Lineo3", ; + Lineo4.Name = "Lineo4", ; + Lineo5.Name = "Lineo5", ; + Lineo2.Name = "Lineo2" + *< END OBJECT: ClassLib="baza.vcx" BaseClass="container" /> + + ADD OBJECT 'Item9' AS item WITH ; + Comment = "X", ; + Left = 14, ; + Name = "Item9", ; + TabIndex = 16, ; + tip = A, ; + Top = 401, ; + ZOrderSet = 13, ; + Label_item1.Caption = "Pret de vânzare fara TVA", ; + Label_item1.Name = "Label_item1", ; + Text_item1.Comment = "thisform.cobj.pretv", ; + Text_item1.InputMask = (get_mask(12,gnPPretV)), ; + Text_item1.Name = "Text_item1", ; + Lineo1.Name = "Lineo1", ; + Lineo3.Name = "Lineo3", ; + Lineo4.Name = "Lineo4", ; + Lineo5.Name = "Lineo5", ; + Lineo2.Name = "Lineo2" + *< END OBJECT: ClassLib="baza.vcx" BaseClass="container" /> + + ADD OBJECT 'lb_imputare' AS _label WITH ; + BackStyle = 0, ; + Caption = "Se imputa:", ; + FontCharSet = 238, ; + FontSize = 10, ; + Height = 18, ; + Left = 480, ; + Name = "lb_imputare", ; + TabIndex = 26, ; + ToolTipText = "Se imputa", ; + Top = 285, ; + Width = 65 + *< END OBJECT: ClassLib="_baza.vcx" BaseClass="label" /> + + ADD OBJECT 'lb_modparam' AS _label WITH ; + AutoSize = .T., ; + BackStyle = 0, ; + Caption = "Conversie", ; + Comment = "F", ; + FontCharSet = 238, ; + FontName = "Arial", ; + Height = 18, ; + Left = 475, ; + Name = "lb_modparam", ; + TabIndex = 23, ; + Top = 238, ; + Width = 58, ; + ZOrderSet = 16 + *< END OBJECT: ClassLib="_baza.vcx" BaseClass="label" /> + + ADD OBJECT 'lb_saft' AS label WITH ; + AutoSize = .T., ; + BackStyle = 0, ; + Caption = "Cod taxa", ; + FontName = "Arial", ; + FontSize = 10, ; + Height = 18, ; + Left = 475, ; + Name = "lb_saft", ; + TabIndex = 25, ; + Top = 191, ; + Visible = .F., ; + Width = 54 + *< END OBJECT: BaseClass="label" /> + + ADD OBJECT 'lb_tva_achizitie' AS _label WITH ; + AutoSize = .T., ; + BackStyle = 0, ; + Caption = "TVA achizitie", ; + Comment = "F", ; + FontCharSet = 238, ; + FontName = "Arial", ; + Height = 18, ; + Left = 475, ; + Name = "lb_tva_achizitie", ; + TabIndex = 25, ; + Top = 147, ; + Visible = .T., ; + Width = 79 + *< END OBJECT: ClassLib="_baza.vcx" BaseClass="label" /> + + ADD OBJECT 'lb_tva_vanzare' AS _label WITH ; + AutoSize = .T., ; + BackStyle = 0, ; + Caption = "TVA vânzare", ; + Comment = "A", ; + FontCharSet = 238, ; + Height = 18, ; + Left = 475, ; + Name = "lb_tva_vanzare", ; + TabIndex = 24, ; + Top = 361, ; + Visible = .T., ; + Width = 75 + *< END OBJECT: ClassLib="_baza.vcx" BaseClass="label" /> + + ADD OBJECT 'Opt_imputare' AS optiongroup WITH ; + AutoSize = .T., ; + BackStyle = 0, ; + BorderStyle = 0, ; + ButtonCount = 2, ; + Height = 43, ; + Left = 474, ; + Name = "Opt_imputare", ; + TabIndex = 20, ; + Top = 295, ; + Value = 1, ; + Width = 72, ; + Option1.AutoSize = .T., ; + Option1.BackStyle = 0, ; + Option1.Caption = "procent", ; + Option1.FontCharSet = 238, ; + Option1.FontName = "Arial", ; + Option1.FontSize = 10, ; + Option1.Height = 18, ; + Option1.Left = 5, ; + Option1.Name = "Option1", ; + Option1.ToolTipText = "procentul de durata ramasa din durata de folosinta", ; + Option1.Top = 5, ; + Option1.Value = 1, ; + Option1.Width = 62, ; + Option2.AutoSize = .T., ; + Option2.BackStyle = 0, ; + Option2.Caption = "integral", ; + Option2.FontCharSet = 238, ; + Option2.FontName = "Arial", ; + Option2.FontSize = 10, ; + Option2.Height = 18, ; + Option2.Left = 5, ; + Option2.Name = "Option2", ; + Option2.ToolTipText = "integral", ; + Option2.Top = 20, ; + Option2.Width = 61 + *< END OBJECT: BaseClass="optiongroup" /> + + PROCEDURE actualizeaza_explicatie_saft + Local lcWhere, llAchizitie, llVisible + If !m.gl406 + Return + Endif + + llAchizitie = (oset.model = 2) && 2 = NIR + lcWhere = [.T.] + IF m.llAchizitie + lcWhere = [tva_achizitii=1] + IF this.cbo_tva_achizitie.Visible + lcWhere = lcWhere + [ and procent_taxa = jtva_achizitie.cota_tva] + ENDIF + ELSE + lcWhere = [tva_livrari=1] + IF this.cbo_Tva_vanzare.Visible + lcWhere = lcWhere + [ and procent_taxa = jtva_vanzare.cota_tva] + ENDIF + ENDIF + + * Pentru o factura de vanzare mut cbo_Saft sub cbo_tva_vanzare + * Daca cbo_tva_vanzare este vizibil (ex: la vanzarea en-gros, cbo_tva_vanzare nu este vizibil) + IF !m.llAchizitie AND This.cbo_tva_vanzare.Visible + this.lb_saft.Top = this.cbo_tva_vanzare.Top + this.cbo_tva_vanzare.Height + 5 + this.cbo_saft.Top = this.lb_saft.Top + this.lb_saft.Height + ENDIF + + With This + llVisible = .cbo_saft.Visible + + * Cod taxa SAFT + .cbo_saft.RowSourceType = 3 && sql + .cbo_saft.RowSource = [Select descriere, taxcode, procent_taxa From saft_taxtable where ] + m.lcWhere + [ Order by taxcode Into Cursor crsTaxTableX] + .cbo_saft.ControlSource = [Thisform.cobj.taxcode] + .cbo_saft.BoundColumn = 2 + .cbo_saft.BoundTo = .T. + .cbo_saft.ColumnCount = 3 + .cbo_saft.ColumnWidths = "500,50,50" + + .cbo_saft.Visible = m.llVisible && se pune Visible = .T. cand se face BoundTo = .T. + Endwith + This.UpdateExplicatieSAFT() + + ENDPROC + + PROCEDURE aplicatva + LPARAMETERS tcButonCaption && 24% + + Local lcCaption, lnCotaTva, lnPretCuTVA, lnPretFaraTVA, lnPretTVA + lcCaption = m.tcButonCaption && 24% + lnCotaTva = Val(Left(m.lcCaption, Len(m.lcCaption) - 1)) && 24 + If m.gnNeplatitoare_tva = 1 + lnPretFaraTVA = Thisform.item1.text_item1.Value + lnPretTVA = 0 + lnPretCuTVA = Round(m.lnPretFaraTVA * (100 + m.lnCotaTva) / 100, m.gnPpret) + * firma neplatitoare TVA. Presupun ca este pretul fara TVA si aplic TVA unitar la pretul fara TVA + Thisform.item1.text_item1.Value = m.lnPretCuTVA + Thisform.item2.text_item1.Value = m.lnPretCuTVA + Thisform.item3.text_item1.Value = m.lnPretTVA + Else + * firma platitoare TVA. Presupun ca este pretul cu TVA si scad TVA unitar din pretul cu TVA + lnPretCuTVA = Thisform.item1.text_item1.Value + lnPretTVA = Round(lnPretCuTVA * m.lnCotaTva / (100 + m.lnCotaTva), m.gnPpret) + lnPretFaraTVA = lnPretCuTVA - lnPretTVA + Thisform.item1.text_item1.Value = m.lnPretFaraTVA + Thisform.item2.text_item1.Value = m.lnPretFaraTVA + Thisform.item3.text_item1.Value = m.lnPretTVA + Endif + + * Schimb cota de TVA din cbo_tva_achizitie si cbo_tva_vanzare doar daca firma este platitoare TVA + If m.gnNeplatitoare_tva = 0 + * Daca cota TVA achizitie <> cota TVA apasat, schimb TVA achizitie + If Thisform.cbo_tva_achizitie.Visible + Select jtva_achizitie + lcColoanaAch = LEFT(coloana_jc,2) && RO[19NB] + lnCotaTVAAch = cota_tva && 19 + lnIdJtvaAch = id_jtva_coloana + IF m.lnCotaTVAAch <> m.lnCotaTVA + LOCATE FOR cota_tva = m.lnCotaTVA AND LEFT(coloana_jc,2) = m.lcColoanaAch + IF !FOUND() + LOCATE FOR id_jtva_coloana = m.lnIdJtvaAch + ENDIF + ENDIF + lnIdJtvaAch = id_jtva_coloana + thisform.cbo_tva_achizitie.Value = m.lnIdJtvaAch + Thisform.do_alege_tvaach() + ENDIF + + * Daca cota TVA vz <> cota TVA apasat, schimb TVA vz + If Thisform.cbo_tva_vanzare.Visible + Select jtva_vanzare + lcColoanaVz = LEFT(coloana_jc,2) && RO[19NB] + lnCotaTVAVz = cota_tva && 19 + lnIdJtvaVz = id_jtva_coloana + IF m.lnCotaTVAVz <> m.lnCotaTVA + LOCATE FOR cota_tva = m.lnCotaTVA AND LEFT(coloana_jv,2) = m.lcColoanaVz + IF !FOUND() + LOCATE FOR id_jtva_coloana = m.lnIdJtvaVz + ENDIF + ENDIF + lnIdJtvaVz = id_jtva_coloana + Thisform.cbo_tva_vanzare.Value = m.lnIdJtvaVz + Thisform.do_alege_tvavanz() + ENDIF + ENDIF && m.gnNeplatitoare_tva + + Thisform.item1.text_item1.Refresh() + Thisform.item2.text_item1.Refresh() + Thisform.item3.text_item1.Refresh() + Thisform.item1.text_item1.SetFocus() + + ENDPROC + + PROCEDURE calculeaza_tva_ach + Thisform.cobj.tva = Round(Thisform.cobj.Pret * (Thisform.cobj.proc_tva - 1),gnPpret) + Thisform.item3.Refresh() + ENDPROC + + PROCEDURE calculeaza_valori_ach + Lparameters tnCantitate + Local lnCantitate, lnPret, lnTva, lnProcTva, lnValoareACTva, lnValoareATva, lnValoareACTva + lnCantitate = tnCantitate + If !Thisform.blochezPretV And poact.id_set <> 104 && (la imputare, sa ma lase sa pun cu mana pretv) + Thisform.cobj.TVAV = Round(Thisform.PRETVTVA * (Thisform.cobj.proc_tvav-1)/Iif(Thisform.cobj.proc_tvav <> 0, Thisform.cobj.proc_tvav,1), gnPPretV) + Thisform.cobj.PRETV = Thisform.PRETVTVA - Thisform.cobj.TVAV + Endif + If !Empty(Thisform.cobj.Pret) And !Empty(Thisform.cobj.PRETV) + Thisform.cobj.procent=Round((Thisform.cobj.PRETV/Thisform.cobj.Pret-1)*100, gnPc) + Endif + Thisform.item8.Refresh + Thisform.item9.Refresh + Thisform.clb_item_adaos.Refresh + *!* v 2.0.24 + lnPret = Thisform.cobj.Pret + lnTva = Thisform.cobj.TVA + lnProcTva = Iif(Thisform.cobj.PROC_TVA <> 0, Thisform.cobj.PROC_TVA, TVA2PROCTVA(lnTva, lnPret)) + *!* in stoc nu exista coloana proc_tva !!! o calculez si o pun in rulaj + Thisform.cobj.PROC_TVA = lnProcTva + If !plNIRBONPretCuTVA + lnValoareAFTva = Round(lnCantitate*lnPret, gnPc) + lnValoareATva = Round(lnValoareAFTva * (lnProcTva-1), gnPc) + lnValoareACTva = lnValoareAFTva + lnValoareATva + Else + lnValoareACTva = Round(lnCantitate*(lnPret+lnTva), gnPc) + lnValoareATva = Round(lnValoareACTva * (lnProcTva - 1) / lnProcTva, gnPc) + lnValoareAFTva = lnValoareACTva - lnValoareATva + Endif + Thisform.valoare = lnValoareAFTva + Thisform.VALOAREtva = lnValoareATva + *!* v 2.0.24 ^ + Thisform.item5.Refresh + Thisform.item6.Refresh + ENDPROC + + PROCEDURE do_alege_reteta + LOCAL lcselect,lcFiltru,lcSchema,lcOrder,lccoloane,lcTitlu,lcTitluColoane, lcNumeProc, llToateIreg, lcFiltruOriginal, lnPornire, llDesktop + lcselect = [select id_reteta, reteta from vnom_retetar] + lcSchema = [] + lcOrder = [reteta] + lccoloane = [reteta] + lcTitlu = [Alegeti fisa tehnologica] + lcTitluColoane = [Fisa tehnologica] + lcFiltru = [] + lcFiltruOriginal = [principala=0 and id_articol=]+ALLTRIM(STR(thisform.cobj.id_articol)) + lcNumeProc = [] + llToateIreg = .F. + lnPornire = 1 + llDesktop = .F. + locauta = cauta_alfa(lcselect,lcFiltru,lcSchema,lcOrder,lccoloane,lcTitlu,lcTitluColoane, lcNumeProc, llToateIreg, lcFiltruOriginal,,lnPornire,,,llDesktop) && 11.07.2007 + + IF buton = 2 + RETURN + ENDIF + + thisform.cobj.id_reteta = locauta.id_reteta + thisform.cobj.reteta = locauta.reteta + + + + + + + ENDPROC + + PROCEDURE do_alege_tvaach + Thisform.COBJ.PROC_TVA = (jtva_achizitie.cota_tva + 100 ) / 100 + Thisform.COBJ.id_jtva_coloana = jtva_achizitie.id_jtva_coloana + + This.actualizeaza_explicatie_saft() + + *!* modificare ROAFACTURARE v 2.2.20 + *!* Thisform.item1.teXT_ITEM1.Valid + Thisform.calculeaza_tva_ach() + Thisform.calculeaza_valori_ach(Thisform.item4.text_item1.Value) + *!* modificare ROAFACTURARE v 2.2.20 ^ + + + ENDPROC + + PROCEDURE do_alege_tvavanz + If !('F' $ Thisform.bVizualizare) + Thisform.COBJ.id_jtva_coloana = jtva_vanzare.id_jtva_coloana + Endif + If !Thisform.blochezPretV + Thisform.COBJ.PROC_TVAv = (jtva_vanzare.cota_tva + 100)/100 + Thisform.PROC_TVAv = (jtva_vanzare.cota_tva + 100)/100 + Thisform.item7.teXT_ITEM1.InteractiveChange + ENDIF + + This.actualizeaza_explicatie_saft() + ENDPROC + + PROCEDURE do_executa + *!* this.cobj.pretv = ROUND(this.cobj.pret * (1 + this.cobj.procent/100), gnPpret) + *!* this.cobj.TVAV = ROUND(this.cobj.PRETV*(this.cobj.proC_TVAV-1), gnPpret) + If !plNIRBONPretCuTVA + This.cobj.pretv = Round(This.cobj.Pret * (1 + This.cobj.procent/100), gnPPretV) + This.cobj.TVAV = Round(This.cobj.pretv*(This.cobj.proC_TVAV-1), gnPPretV) + This.PRETVTVA = This.cobj.pretv + This.cobj.TVAV + Else + This.cobj.pretv = Round(This.cobj.Pret * (1 + This.cobj.procent/100), gnPPretV) + thisform.pretvtva = Round((This.cobj.Pret + This.cobj.Tva) * (1 + This.cobj.procent/100), gnPPretV) + This.cobj.TVAV = thisform.pretvtva - This.cobj.pretv + EndIf + This.item7.Refresh + This.item8.Refresh + This.item9.Refresh + + ENDPROC + + PROCEDURE do_modiparam + Private pnTransformat, pnPretTr, ofrmconversie + Store 0 To pnTransformat, pnPretTr + + ofrmconversie=Createobject('frm_conversie',Thisform.cobj.Pret,Thisform.cobj.um,Thisform.cobj.cant) + ofrmconversie.Show(1) + Release ofrmconversie + + If gnButon=1 + *!* modificare v 2.0.150 + *!* Thisform.pretu_factura = pnPretTr + *!* Thisform.cobj.Pret = pnPretTr + *!* Thisform.item1.Refresh() + *!* Thisform.item1.SetFocus() + + *!* Thisform.item2.Refresh() + *!* Thisform.item2.SetFocus() + + *!* Thisform.cobj.cant = pnTransformat + *!* Thisform.item4.Refresh() + *!* Thisform.item4.SetFocus() + Thisform.item1.text_item1.Value = pnPretTr + Thisform.item2.text_item1.Value = pnPretTr + Thisform.item4.text_item1.Value = pnTransformat + Thisform.item1.Refresh() + Thisform.item1.SetFocus() + Thisform.item2.Refresh() + Thisform.item2.SetFocus() + Thisform.item4.Refresh() + Thisform.item4.SetFocus() + *!* modificare v 2.0.150 ^ + Endif + + ENDPROC + + PROCEDURE inainte_de_do_termin + Local llReturn + Store .T. To llReturn + + If oset.model = 2 + Thisform.cobj.Cont = Thisform.item14.text_item1.Value + lcCont = Thisform.cobj.Cont + If Empty(Nvl(lcCont,[])) + amessagebox("Nu ati completat contul!",48,"Atentie") + Thisform.item14.SetFocus() + llReturn = .F. + Else + lcSql = [begin ] + gcS + [.verifica_plcont_sintetic(?gnAn,'] + Alltrim(lcCont) + ['); end;] + lnSucces = goExecutor.oExecute(lcSql) + If lnSucces < 0 + amessagebox(goExecutor.oPrelucrareEroare(),16,"Eroare") + Thisform.item14.SetFocus() + llReturn = .F. + Endif + Endif + ENDIF + *!* 27.05.2009 - cantitatea introdusa plus cantitatea iesita nu trebuie sa depaseasca cantitatea din stoc. + *!* marius.felecanu + IF thisform.ncant_stoc <> 0 + IF thisform.ncant_iesita + thisform.item4.text_item1.Value > thisform.ncant_stoc + AMESSAGEBOX("Cantitatea maxima existenta este: " + ALLTRIM(STR(thisform.ncant_stoc - thisform.ncant_iesita,18,4)),0+48,_screen.Caption) + llReturn = .F. + thisform.item4.SetFocus() + ENDIF + ENDIF + *!* 27.05.2009 ^ + + *!* 09.06.2008 + *!* id_set = 231 nir mf la pv cu modificarea listei de preturi + If Type('poPreturi') = 'O' + poPreturi.pretv = this.cobj.pretv + poPreturi.tvav = this.cobj.tvav + poPreturi.pretvtva = this.PretvTva + EndIf + *!* 09.06.2008 ^ + *!* modificare ROAGEST v 2.0.53 + If InList(oset.id_set,238,239,259,260,267) + Thisform.COBJ.id_jtva_coloana = jtva_vanzare.id_jtva_coloana + EndIf + *!* modificare ROAGEST v 2.0.53 ^ + *!* modificare ROAGEST v 2.2.29 + If llReturn And !Isnull(Thisform.omemopref) + Thisform.omemopref.id_jtva_ach = jtva_achizitie.id_jtva_coloana + Thisform.omemopref.proc_tva = (jtva_achizitie.cota_tva + 100)/100 + Thisform.omemopref.id_jtva_vanz = jtva_vanzare.id_jtva_coloana + Thisform.omemopref.proc_tvav = (jtva_vanzare.cota_tva + 100)/100 + Endif + *!* modificare ROAGEST v 2.2.29 ^ + Return llReturn + ENDPROC + + PROCEDURE Init + *!* modificare ROAGEST v 2.2.29 + LPARAMETERS toDatePref + DODEFAULT() + Thisform.omemopref = IIF(TYPE("toDatePref")="O",toDatePref,NULL) + *!* modificare ROAGEST v 2.2.29 ^ + ENDPROC + + PROCEDURE KeyPress + Lparameters nKeyCode, nShiftAltCtrl + Do Case + Case nKeyCode = 19 And nShiftAltCtrl = 4 And Thisform.item12.Visible && ALT + R + Nodefault + Thisform.do_alege_reteta() + Case nKeyCode=13 And nShiftAltCtrl=2 + Nodefault + If Pemstatus(This,"do_modiparam",5) + This.do_modiparam() + Endif + Otherwise + DoDefault(nKeyCode, nShiftAltCtrl) + Endcase + ENDPROC + + PROCEDURE Load + If !Used('saft_taxtable') + update_saft_taxtable() + Endif + + ENDPROC + + PROCEDURE Show + *!* 01.07.2010 + *!* MARIUS.MUTU + *!* folosesc GetIdJtvaStandard - este relativa la luna contabila + + *!* 09.03.2014 + *!* marius.mutu + *!* Fac vizibile maxim 4 butoane cmdCotaTVA - pentru aplicarea cotei tva la pretul unitar de achizitie fara TVA + *!* In cazul firmelor neplatitoare de TVA, pretul unitar de achizite fara TVA include si TVA unitar + + *!* 12.06.2015 + *!* marius.mutu + *!* setare explicatie tva 24% sau 9% pentru fct. achizitie cu politica de preturi, dupa cota de tva din politica de preturi + + *!* 03.01.2016 + *!* marius.mutu + *!* jtva_achizitie - setare TVA achizitie independent de xsets.id_jtax + + *!* 20.11.2017 + *!* marius.mutu + *!* jtva_achizitie - setare TVA achizitie preluand id_jtva de la articolul anterior + + Lparameters nStyle + lnHeight = 0 + + * DARE IN FOLOSINTA OBIECTE DE INVENTAR. POT SA COMPLETEZ SERIA (NR INVENTAR) PENTRU CA INTRA IN RUL_OBINV CA INTRARE NOUA + * schimb thisform.cobj.serie in thisform.cobj_serie_obinv, ca sa o pot modifica + IF INLIST(oset.id_set , 55, 273) && dare in folosinta + thisform.item13.text_item1.Comment = 'thisform.cobj.serie_obinv' + * In caz ca este deja completata seria, o preiau pe serie_obinv + thisform.cobj.serie_obinv = thisform.cobj.serie + thisform.item13.text_item1.ReadOnly = .F. + ENDIF + + + For Each loControl In This.Controls + With loControl + If !Empty(loControl.Comment) + If .Comment $ This.bVizualizare + .Visible = .T. + If 'ITEM' $ Upper(.Name) + For Each loCtrSecund In loControl.Controls + If 'TEXT' $ Upper(loCtrSecund.Name) + lcControlSource = Alltrim(loCtrSecund.Comment) + loCtrSecund.ControlSource = lcControlSource + Endif + Endfor + *!* lcControlSource = ALLTRIM(.text_item1.comment) + *!* .text_item1.controlsource = lcControlSource + .pcobj = 'orul' + Endif + lnTop = .Top + If lnTop > lnHeight + lnHeight = lnTop + Endif + Else + .Visible = .F. + Endif + Endif + Endwith + Endfor + SET STEP ON + IF m.gnNeplatitoare_tva <> 1 AND this.cbo_tva_achizitie.Visible + *!* modificare 21.02.2007 + *** Daca sunt la al doilea articol, preiau id_jtva_coloana de la articolul anterior + llFound = .F. + If !Empty(Thisform.cobj.id_jtva_coloana) + Select jtva_achizitie + Locate For id_jtva_coloana = Thisform.cobj.id_jtva_coloana + llFound = Found() + Endif + + If !m.llFound + Select jtva_achizitie + Do Case + *!* modificare ROAGEST v 2.0.53 + Case Inlist(oset.id_set,238,239,259,260,267) + && Mf pv - Aviz retur marfa (valoric);Mf pv - Factura retur marfa (valorica);Mf pv - Factura retur marfa (valorica);Aviz retur marfa (valoric) + *!* 01.07.2010 + Locate For id_jtva_coloana = GetIdJtvaStandard('ACHIZITIE') Or id_jtva_ex = GetIdJtvaStandard('ACHIZITIE') && modificare v 2.2.0 : conditia de dupa or && 103 + *!* 01.07.2010 ^ + *!* modificare ROAGEST v 2.0.53 ^ + Case Type('poAct.id_pol') = 'N' And Type('poAct.proc_tvav') = 'N' And !Empty(Nvl(poAct.id_pol,0)) And !Empty(Nvl(poAct.PROC_TVAv,0)) + Locate For id_jtva_coloana = GetIdJtvaStandard('ACHIZITIE_VANZARE', poAct.PROC_TVAv) Or id_jtva_ex = GetIdJtvaStandard('ACHIZITIE_VANZARE', poAct.PROC_TVAv) Or id_jtva_ex = GetIdJtvaStandard('ACHIZITIE_MATERII', poAct.PROC_TVAv) + + Case Alltrim(This.cobj.Cont) = '371' And Inlist(oset.id_jtax, 137, 139, 141, 162, 186,216) && taxare inversa 19%, 162 = 24%, 186 = 20%, 216=21% + Locate For id_jtva_coloana = GetIdJtvaStandard('ACHIZITIE_TI_VANZARE') Or id_jtva_ex = GetIdJtvaStandard('ACHIZITIE_TI_VANZARE') && 139 + + Case Alltrim(This.cobj.Cont) = '371' And Inlist(oset.id_jtax, 101, 103,105, 156, 176,208) && marfa 19 %, 156 = 24%, 176 = 20%, 208=21% + Locate For id_jtva_coloana = GetIdJtvaStandard('ACHIZITIE_VANZARE') Or id_jtva_ex = GetIdJtvaStandard('ACHIZITIE_VANZARE') && 103 + If !Found() + Locate For id_jtva_coloana = GetIdJtvaStandard('ACHIZITIE_MATERII') Or id_jtva_ex = GetIdJtvaStandard('ACHIZITIE_MATERII') && 105 + Endif + + Case Alltrim(This.cobj.Cont) = '371' + Locate For id_jtva_coloana = GetIdJtvaStandard('ACHIZITIE_VANZARE') Or id_jtva_ex = GetIdJtvaStandard('ACHIZITIE_VANZARE') + If !Found() + Locate For id_jtva_coloana = GetIdJtvaStandard('ACHIZITIE_MATERII') Or id_jtva_ex = GetIdJtvaStandard('ACHIZITIE_MATERII') && 105 + Endif + + Case Inlist(Left(Alltrim(This.cobj.Cont),2), '30', '31', '32') + Locate For id_jtva_coloana = GetIdJtvaStandard('ACHIZITIE') Or id_jtva_ex = GetIdJtvaStandard('ACHIZITIE') + If !Found() + Locate For id_jtva_coloana = GetIdJtvaStandard('ACHIZITIE_VANZARE') Or id_jtva_ex = GetIdJtvaStandard('ACHIZITIE_VANZARE') && 103 + Endif + + Otherwise + Locate For id_jtva_coloana = oset.id_jtax Or id_jtva_ex = oset.id_jtax && modificare v 2.2.0 : conditia de dupa or + Endcase + ENDIF && !m.llFound + + If Found() + *!* This.cbo_tva_achizitie.Value = Alltrim(denumire) v 2.2.29 + Thisform.cobj.id_jtva_coloana = id_jtva_coloana + This.cobj.proc_tva = (COTA_TVA + 100)/100 + Endif + *!* SELECT cote_tva + *!* GO TOP + *!* modificare 21.02.2007 ^ + Endif + SET STEP ON + If 'F' $ This.bVizualizare And Empty(This.cobj.proc_tva) AND this.cbo_tva_achizitie.Visible + *!* modificare 21.02.2007 + Select jtva_achizitie + Do Case + + Case Type('poAct.id_pol') = 'N' And Type('poAct.proc_tvav') = 'N' And !Empty(Nvl(poAct.id_pol,0)) And !Empty(Nvl(poAct.PROC_TVAv,0)) + Locate For id_jtva_coloana = GetIdJtvaStandard('ACHIZITIE_VANZARE', poAct.PROC_TVAv) Or id_jtva_ex = GetIdJtvaStandard('ACHIZITIE_VANZARE', poAct.PROC_TVAv) Or id_jtva_ex = GetIdJtvaStandard('ACHIZITIE_MATERII', poAct.PROC_TVAv) + + Case Alltrim(This.cobj.Cont) = '371' And Inlist(oset.id_jtax, 137, 139, 141, 162, 186,216) && taxare inversa 19%, 162 = 24%, 186 = 20% + Locate For id_jtva_coloana = GetIdJtvaStandard('ACHIZITIE_TI_VANZARE') Or id_jtva_ex = GetIdJtvaStandard('ACHIZITIE_TI_VANZARE') && 139 + + Case Alltrim(This.cobj.Cont) = '371' And Inlist(oset.id_jtax, 101,103,105, 156, 176,208) && marfa 19 %, 156 = 24%, 176 = 20% + Locate For id_jtva_coloana = GetIdJtvaStandard('ACHIZITIE_VANZARE') Or id_jtva_ex = GetIdJtvaStandard('ACHIZITIE_VANZARE') && 103 + + Case Alltrim(This.cobj.Cont) = '371' + Locate For id_jtva_coloana = GetIdJtvaStandard('ACHIZITIE_VANZARE') Or id_jtva_ex = GetIdJtvaStandard('ACHIZITIE_VANZARE') + + Case Inlist(Left(Alltrim(This.cobj.Cont),2), '30', '31', '32') + Locate For id_jtva_coloana = GetIdJtvaStandard('ACHIZITIE') Or id_jtva_ex = GetIdJtvaStandard('ACHIZITIE') + + Otherwise + Locate For id_jtva_coloana = oset.id_jtax Or id_jtva_ex = oset.id_jtax && modificare v 2.2.0 : conditia de dupa or + Endcase + If Found() + *!* This.cbo_tva_achizitie.Value = Alltrim(denumire) v 2.2.29 + Thisform.cobj.id_jtva_coloana = id_jtva_coloana + This.cobj.proc_tva = (COTA_TVA + 100)/100 + Endif + *!* SELECT cote_tva + *!* * GO top + *!* lnProc_tva = proc_tva + *!* lnproc = procent + *!* THIS.cotaTVA_achizitie.VALUE = ALLTRIM(STR(lnproc)) + *!* THIS.cobj.proc_tva = lnProc_tva + *!* modificare 21.02.2007 ^ + Endif + SET STEP ON + If 'A' $ This.bVizualizare + If This.blochezPretV + This.item7.Enabled = .F. + This.item8.Enabled = .F. + This.item9.Enabled = .F. + This.Clb_ITEM_adaos.Visible = .F. + *!* modificare 21.02.2007 + lcFiltru = [cota_tva = ] + Alltrim(Str(Thisform.cobj.PROC_TVAv * 100 - 100)) + Select jtva_vanzare + Set Filter To &lcFiltru + Go Top + *!* This.cbo_tva_VANZARE.Value = Alltrim(denumire) v 2.2.29 + If !('F' $ This.bVizualizare) + This.cobj.id_jtva_coloana = id_jtva_coloana + Endif + *!* THIS.CotaTVA_vanzare.ENABLED = .F. + *!* THIS.CotaTVA_vanzare.VALUE = ALLTRIM(STR(THIS.proc_tvav *100 - 100)) + *!* modificare 21.02.2007 ^ + Else + *!* modificare 21.02.2007 + Select jtva_vanzare + Go Top + *!* 01.07.2010 + If Type('poAct.id_pol') = 'N' And Type('poAct.proc_tvav') = 'N' And !Empty(Nvl(poAct.id_pol,0)) And !Empty(Nvl(poAct.PROC_TVAv,0)) + Locate For id_jtva_coloana = GetIdJtvaStandard('VANZARE', poAct.PROC_TVAv) Or id_jtva_ex = GetIdJtvaStandard('VANZARE', poAct.PROC_TVAv) + Else + *!* Locate For id_jtva_coloana = Iif(oset.tipjurnal=[JV],oset.id_jtax,1) + Locate For id_jtva_coloana = Iif(oset.tipjurnal=[JV],oset.id_jtax,GetIdJtvaStandard('VANZARE')) Or id_jtva_ex = Iif(oset.tipjurnal=[JV],oset.id_jtax,GetIdJtvaStandard('VANZARE')) && modificare v 2.2.0 : conditia de dupa or + Endif + *!* 01.07.2010 ^ + If Found() + *!* This.cbo_tva_VANZARE.Value = id_jtva_coloana v 2.2.29 + This.cobj.PROC_TVAv = (COTA_TVA + 100)/100 + If !('F' $ This.bVizualizare) + This.cobj.id_jtva_coloana = id_jtva_coloana + Endif + Endif + *!* SELECT cote_tva + *!* * GO top + *!* lnProc_tva = proc_tva + *!* lnproc = procent + *!* THIS.CotaTVA_vanzare.VALUE = ALLTRIM(STR(lnproc)) + *!* THIS.cobj.proc_tvav = lnProc_tva + *!* modificare 21.02.2007 ^ + Endif + + This.cobj.procent = Thisform.proc_adaos + Endif + + *!* modificare ROAGEST v 2.2.29 + Local lnIdJtvaAles + If Inlist(oxset.id_set, 232, 235, 244, 262) && protocol fara TVA, sponsorizare + Select jtva_vanzare + lnIdJtvaAles = id_jtva_coloana + Set Filter To COTA_TVA = 0 + Locate For id_jtva_coloana = lnIdJtvaAles + If !Found() + Go Top + Endif + Endif + + * se tine cont de cota de la ultimul articol ales, dar nu si pentru achizitiile cu lista preturi de vanzare, la care am luat cota de tva din lista de preturi + If !Isnull(Thisform.omemopref) And !(Type('poAct.id_pol') = 'N' And Type('poAct.proc_tvav') = 'N' And !Empty(Nvl(poAct.id_pol,0)) And !Empty(Nvl(poAct.PROC_TVAv,0))) + Select jtva_achizitie + lnIdJtvaAles = id_jtva_coloana + Locate For id_jtva_coloana = Evl(Thisform.omemopref.id_jtva_ach,lnIdJtvaAles) + If !Found() + Locate For id_jtva_coloana = lnIdJtvaAles + Endif + If Thisform.cbo_tva_achizitie.Visible + Thisform.do_alege_tvaach() + Endif + + Select jtva_vanzare + lnIdJtvaAles = id_jtva_coloana + Locate For id_jtva_coloana = Evl(Thisform.omemopref.id_jtva_vanz,lnIdJtvaAles) + If !Found() + Locate For id_jtva_coloana = lnIdJtvaAles + Endif + If Thisform.cbo_tva_vanzare.Visible + Thisform.do_alege_tvavanz() + Endif + Endif + Release lnIdJtvaAles + *!* modificare ROAGEST v 2.2.29 ^ + + * 31.08.2020 + * Fac vizibile maxim 4 butoane cmdCotaTVA - pentru aplicarea/scaderea cotei tva la pretul unitar de achizitie fara/cu TVA + * In cazul firmelor neplatitoare de TVA, se scrie pretul fara TVA, iar cand se apasa butonul se va include si TVA unitar + * In cazul firmelor platitoare de TVA, se scrie pretul cu TVA de pe bonul fiscal, iar cand se apasa butonul se defalca in pret fara TVA si TVA unitar + IF this.item1.Visible && pret unitar pe factura + Select Distinct COTA_TVA From jtva_achizitie Where COTA_TVA <> 0 Order By COTA_TVA Desc Into Array laCoteTVA + lnCoteTVA = _Tally + For lnCotaIdx = 1 To Min(m.lnCoteTVA, 5) && 5 cote maxim + lcControl = 'thisform.cmdTVA' + Alltrim(Str(m.lnCotaIdx)) + lnCotaTVA = laCoteTVA[m.lnCotaIdx] + lcCaption = Alltrim(Str(m.lnCotaTVA)) + '%' + &lcControl..Caption = m.lcCaption + &lcControl..ToolTipText = IIF(m.gnNeplatitoare_tva = 1, 'Aplica TVA la pretul fara TVA', 'Scade TVA din pretul cu TVA') + &lcControl..Visible = .T. && este deja vizibil + ENDFOR + ENDIF + + *!* firmele neplatitoare de TVA sunt intitializate cu cota TVA 0% + If m.gnNeplatitoare_tva = 1 + *!* modificare 21.02.2007 + Select jtva_achizitie + Locate For id_jtva_coloana = 113 + If Found() + *!* This.cbo_tva_achizitie.Value = Alltrim(denumire) v 2.2.29 + Thisform.cobj.id_jtva_coloana = id_jtva_coloana + This.cobj.proc_tva = (COTA_TVA + 100)/100 + Endif + Select jtva_vanzare + Locate For id_jtva_coloana = 11 + If Found() + *!* This.cbo_tva_VANZARE.Value = Alltrim(denumire) v 2.2.29 + Thisform.cobj.PROC_TVAv = (jtva_vanzare.COTA_TVA + 100)/100 + Thisform.PROC_TVAv = (jtva_vanzare.COTA_TVA + 100)/100 + If !('F' $ This.bVizualizare) + This.cobj.id_jtva_coloana = id_jtva_coloana + Endif + Endif + ENDIF + *!* modificare 21.02.2007 ^ + + * Factura vanzare si nu este vizibil cbo_tva_vanzare + llAchizitie = (oset.model = 2) && 2 = NIR + IF oset.factura AND !m.llAchizitie AND !this.cbo_tva_vanzare.Visible AND TYPE('poAct.id_jtva_coloana') = 'N' + SELECT jtva_vanzare + LOCATE FOR id_jtva_coloana = poAct.id_jtva_coloana + IF FOUND() + Thisform.cobj.id_jtva_coloana = id_jtva_coloana + This.cobj.proc_tva = (COTA_TVA + 100)/100 + ENDIF + ENDIF + + + If 'B' $ This.bVizualizare + This.item4.SetFocus + ENDIF + + * 55,273 Dare in folosinta, ma pozitionez pe serie + IF INLIST(oset.id_set, 55,273) + this.item13.SetFocus + ENDIF + + *!* 29.09.2006 + *!* MARIUS.MUTU + *!* RETETA VIZIBILA DOAR IN ROAPRODUCTIE.pv_productie (FOARTE POSIBIL SI IN ROAGEST - PV PRODUCTIE) + If Inlist(poAct.id_set,26001) + This.ITEM12.Visible = .T. + This.IMAGE1.Visible = .T. + Else + This.ITEM12.Visible = .F. + This.IMAGE1.Visible = .F. + Endif + + && opt_imputare + If Inlist(poAct.id_set,104) And gnImputare = 1 + This.lb_imputare.Visible = .T. + This.opt_imputare.Visible= .T. + Else + This.lb_imputare.Visible = .F. + This.opt_imputare.Visible = .F. + Endif + + If poAct.id_set = 105 && NIR de marfa la pret de vanzare + This.item7.text_item1.ReadOnly = .T. + This.item9.text_item1.ReadOnly = .T. + This.Clb_ITEM_adaos.text_simplu1.ReadOnly = .T. + Endif + + *!* modificare 22.06 + This.but_modiparam1.Visible=This.item4.Visible + This.lb_modparam.Visible=This.item4.Visible + *!* ^ + + This.Height = lnHeight + 90 && ultimul item + 90 (pentru lbs_saft si cbo_saft) + This.lb_titlu_alb_b121.Caption = This.cTitlu + + *!* modificare 20.08.2007 + If oset.model = 2 + This.item13.text_item1.ReadOnly = .F. + This.item14.text_item1.ReadOnly = .F. + this.item14.text_item2.ReadOnly = .F. + + *!* modificare 18.01.2008 + This.item15.text_item1.ReadOnly = .F. + This.item16.text_item1.ReadOnly = .F. + *!* modificare 18.01.2008 ^ + Endif + *!* modificare 20.08.2007 ^ + + *!* modificare v 2.2.29 : le-am initializat aici pentru ca s-a intamplat uneori sa imi apara formularul, + *!* dar sa nu am selectata nicio valoare in combo, iar daca inchideam fereastra si o lansam din nou, + *!* de abia atunci imi aparea valoarea selectata + With Thisform.cbo_tva_achizitie + If .Visible + .ColumnCount = 3 + .ColumnLines = .F. + .ColumnWidths = [200,10,0] + .RowSource = [jtva_achizitie.denumire,cota_tva,id_jtva_coloana] + .RowSourceType = 6 + .BoundColumn = 3 + .BoundTo = .T. + .Value = jtva_achizitie.id_jtva_coloana && Substr(jtva_achizitie.denumire,1,200) + Endif + Endwith + With Thisform.cbo_tva_vanzare + If .Visible + .ColumnCount = 3 + .ColumnLines = .F. + .ColumnWidths = [200,10,0] + .RowSource = [jtva_vanzare.denumire,cota_tva,id_jtva_coloana] + .RowSourceType = 6 + .BoundColumn = 3 + .BoundTo = .T. + .Value = jtva_vanzare.id_jtva_coloana && Substr(jtva_achizitie.denumire,1,200) + Endif + ENDWITH + + IF m.gl406 AND oset.factura AND (this.cbo_tva_achizitie.Visible OR this.cbo_tva_vanzare.Visible) + * FACTURA + MODEL = 2 (NIR) + * Factura vanzare en-gros nu are vizibila cbo_tva_vanzare + This.cbo_saft.Visible = .T. + this.lb_saft.Visible = .T. + This.actualizeaza_explicatie_saft() + ELSE + IF m.gl406 AND oset.factura + * Daca este factura , dar nu este vizibil cbo_saft (ex: vanzare en-gros) + This.UpdateExplicatieSAFT() + ENDIF + ENDIF + + *!* modificare v 2.2.29 ^ + If oset.id_set = 85 && MATERIALE RECUPERATE + Thisform.cobj.PROC_TVA = 1 && ORUL.PROC_TVA = 1 nu are procent TVA + ENDIF + + + DoDefault() + + ENDPROC + + PROCEDURE updateexplicatiesaft + LOCAL llAchizitie, laNesosit[1] + Local llN100, llN50, llNeexigibil + * tlAchizitie: .T. = factura achizitie + + Local ldDataAct, lnIdJtva, lnIdPart, llFurnizorRTVAI, lcProcentTaxa, lnTaxCode + + If !m.gl406 + Return + ENDIF + + llAchizitie = (oset.model = 2) && 2 = NIR + + ldDataAct = poAct.dataact + If m.llAchizitie + lnIdJtva = jtva_achizitie.id_jtva_coloana + Else + lnIdJtva = jtva_vanzare.id_jtva_coloana + ENDIF + + llFurnizorRTVAI = .F. + IF TYPE('pcobj.oPartenerRTVAI') = 'O' + llFurnizorRTVAI = IIF(m.llAchizitie, IIF(PEMSTATUS(pcobj.oPartenerRTVAI, 'leinRtvai',5), pcobj.oPartenerRTVAI.leinRtvai, .F.), .F.) && poAct + ENDIF + + * llN50/llN100 = .T. doar pentru linia cu Explicatie TVA = "Limitare deducere TVA" + llN50 = .F. && (m.lnIdSet = 10609) && limitare deducere 50% + llN100 = .F. && (m.lnIdSet = 10647) && limitare deducere 100% + SELECT COUNT(*) as nr FROM xnote WHERE id_set = oset.id_set AND (LEFT(xscd,3) = '418' OR LEFT(xscc,3) = '408') INTO ARRAY laNesosit + llNeexigibil = (laNesosit[1] > 0) && factura neintocmita/nesosita + + lnTaxCode = GetTaxCode(m.gnAn, m.gnLuna, m.ldDataAct, m.lnIdJtva, m.llFurnizorRTVAI, m.llN50, m.llN100, m.llNeexigibil) + + Thisform.cobj.taxcode = m.lnTaxCode + + This.UpdateLabelSaft(m.lnTaxCode) + This.cbo_saft.Refresh() + + + + + ENDPROC + + PROCEDURE updatelabelsaft + LPARAMETERS lnTaxCode + + Local lcProcentTaxa + lcProcentTaxa = '' + + IF SEEK(m.lnTaxCode, 'saft_taxtable', 'taxcode') + lcProcentTaxa = Alltrim(Transform(saft_taxtable.procent_taxa)) + '%' + ENDIF + + This.lb_saft.Caption = 'Taxa SAFT' + Iif(!Empty(NVL(m.lnTaxCode,0)), ' (' + Alltrim(Transform(m.lnTaxCode)) + ' ' + m.lcProcentTaxa + ')', '') + * Schimb in culoarea rosie pentru a atentiona utilizatorul ca valoarea a fost schimbata + This.lb_saft.ForeColor = Rgb(255, 0, 0) + This.lb_saft.Refresh() + + ENDPROC + + PROCEDURE updatepaymentsaft + If !m.gl406 + Return + Endif + + lnIdFdoc = Nvl(poAct.id_fdoc,0) + + If !Empty(m.lnIdFdoc) + This.cPaymentCode = GetPaymentCode(m.lnIdFdoc) + Else + This.cPaymentCode = '' + Endif + This.cbo_plata_saft.Refresh() + + ENDPROC + + PROCEDURE cbo_saft.LostFocus + This.ForeColor = Rgb(0, 0, 0) + + ENDPROC + + PROCEDURE cbo_saft.Valid + Thisform.UpdateLabelSaft(Thisform.cobj.taxcode) + + ENDPROC + + PROCEDURE cbo_tva_achizitie.Valid + Thisform.do_alege_tvaach() + ENDPROC + + PROCEDURE cbo_tva_vanzare.Valid + Thisform.do_alege_tvavanz() + ENDPROC + + PROCEDURE Clb_ITEM_adaos.TEXT_SIMPLU1.InteractiveChange + lcAtribuieValoare = This.ControlSource + [ = ] + Alltrim(Str(This.Value,12,2)) + &lcAtribuieValoare + Thisform.do_executa() + + ENDPROC + + PROCEDURE Clb_ITEM_adaos.TEXT_SIMPLU1.Valid + *!* modificare ROAGEST v 2.0.53 + *!* If Val(This.Text)=0 + If Val(This.Text) = 0 Or Thisform.pretvtva = 0 + *!* modificare ROAGEST v 2.0.53 ^ + Thisform.do_executa() + Endif + ENDPROC + + PROCEDURE cmdTVA1.Click + Thisform.AplicaTVA(this.Caption) + ENDPROC + + PROCEDURE cmdTVA2.Click + Thisform.AplicaTVA(this.Caption) + ENDPROC + + PROCEDURE cmdTVA3.Click + Thisform.AplicaTVA(this.Caption) + ENDPROC + + PROCEDURE cmdTVA4.Click + Thisform.AplicaTVA(this.Caption) + ENDPROC + + PROCEDURE cmdTVA5.Click + Thisform.AplicaTVA(this.Caption) + ENDPROC + + PROCEDURE Image1.Click + thisform.do_alege_reteta() + ENDPROC + + PROCEDURE Item1.Text_item1.InteractiveChange + If Thisform.proc_discount <> 0 + Thisform.cobj.Pret = Round(This.Value*(100-Thisform.proc_discount)/100,gnPpret) + Else + Thisform.cobj.Pret = This.Value + Endif + *!* modificare ROAFACTURARE v 2.2.20 + *!* *!* *!* CALCULEZ tva doar pentru seturile in afara de 231,234 (NIR mf pret de lista, NIR RATC) + *!* *!* *!* la 231, 234 se ia pretul de pe ultimul NIR + *!* *!* If !((poact.id_set = 231 or plNIRBONPretCuTVA) AND !Empty(Thisform.cobj.tva)) + *!* Thisform.cobj.tva = Round(Thisform.cobj.Pret * (Thisform.cobj.proc_tva - 1),gnPpret) + *!* *!* EndIf + *!* Thisform.item3.Refresh + Thisform.calculeaza_tva_ach() + *!* modificare ROAFACTURARE v 2.2.20 ^ + ENDPROC + + PROCEDURE Item1.Text_item1.ProgrammaticChange + If Thisform.proc_discount <> 0 + Thisform.cobj.Pret = Round(This.Value*(100-Thisform.proc_discount)/100,gnPpret) + Else + Thisform.cobj.Pret = This.Value + Endif + + *!* *!* CALCULEZ tva doar pentru seturile in afara de 231,234 (NIR mf pret de lista, NIR RATC) + *!* *!* la 231, 234 se ia pretul de pe ultimul NIR + *!* If !((poact.id_set = 231 or plNIRBONPretCuTVA) AND !Empty(Thisform.cobj.tva)) + *Thisform.cobj.tva = Round(Thisform.cobj.Pret * (Thisform.cobj.proc_tva - 1),gnPpret) + *!* EndIf + Thisform.item3.Refresh + ENDPROC + + PROCEDURE Item1.Text_item1.Valid + *!* modificare ROAFACTURARE v 2.2.20 + *!* Thisform.item4.text_item1.Valid() + Thisform.calculeaza_valori_ach(Thisform.item4.text_item1.Value) + *!* modificare ROAFACTURARE v 2.2.20 ^ + ENDPROC + + PROCEDURE Item2.Text_item1.InteractiveChange + If 'F' $ Thisform.bvizualizare + *!* modificare ROAFACTURARE v 2.2.20 + *!* *!* If !((poact.id_set = 231 or plNIRBONPretCuTVA) AND !Empty(Thisform.cobj.tva)) + *!* Thisform.cobj.tva = Round(Thisform.cobj.Pret * (Thisform.cobj.proc_tva - 1),gnPpret) + *!* *!* EndIf + *!* Thisform.item3.Refresh + Thisform.calculeaza_tva_ach() + *!* modificare ROAFACTURARE v 2.2.20 ^ + Endif + + If Thisform.cobj.procent <> 0 And !INLIST(oset.id_set, 105, 231, 247, 266) && procent adaos - Achizitie fact. neplatita- marfa la pret de vanzare/achizitie + Thisform.do_executa && calculeaza pretul de vanzare inclusiv Tva + Endif + ENDPROC + + PROCEDURE Item2.Text_item1.ProgrammaticChange + If 'F' $ Thisform.bvizualizare + *!* modificare ROAFACTURARE v 2.2.20 + *!* *!* If !((poact.id_set = 231 or plNIRBONPretCuTVA) AND !Empty(Thisform.cobj.tva)) + *!* Thisform.cobj.tva = Round(Thisform.cobj.Pret * (Thisform.cobj.proc_tva - 1),gnPpret) + *!* *!* EndIf + *!* Thisform.item3.Refresh + Thisform.calculeaza_tva_ach() + *!* modificare ROAFACTURARE v 2.2.20 ^ + Endif + + If Thisform.cobj.procent <> 0 And !INLIST(oset.id_set, 105, 231, 247, 266) && procent adaos - Achizitie fact. neplatita- marfa la pret de vanzare/achizitie + Thisform.do_executa && calculeaza pretul de vanzare inclusiv Tva + Endif + ENDPROC + + PROCEDURE Item2.Text_item1.Valid + If 'F' $ Thisform.bvizualizare + *!* modificare ROAFACTURARE v 2.2.20 + *!* Thisform.item4.text_item1.Valid() + Thisform.calculeaza_valori_ach(Thisform.item4.text_item1.Value) + *!* modificare ROAFACTURARE v 2.2.20 ^ + EndIf + ENDPROC + + PROCEDURE Item4.Text_item1.Valid + *!* modificare ROAFACTURARE v 2.2.20 + *!* Local lnCantitate, lnPret, lnTva, lnProcTva, lnValoareACTva, lnValoareATva, lnValoareACTva + *!* If !Thisform.blochezPretV AND poact.id_set <> 104 && (la imputare, sa ma lase sa pun cu mana pretv) + *!* Thisform.cobj.TVAV = Round(Thisform.PRETVTVA * (Thisform.cobj.proc_tvav-1)/Iif(Thisform.cobj.proc_tvav <> 0, Thisform.cobj.proc_tvav,1), gnPPretV) + *!* Thisform.cobj.PRETV = Thisform.PRETVTVA - Thisform.cobj.TVAV + *!* Endif + *!* If !Empty(Thisform.cobj.Pret) And !Empty(Thisform.cobj.PRETV) + *!* Thisform.cobj.procent=Round((Thisform.cobj.PRETV/Thisform.cobj.Pret-1)*100, gnPc) + *!* Endif + *!* Thisform.item8.Refresh + *!* Thisform.item9.Refresh + *!* Thisform.clb_item_adaos.Refresh + *!* *!* v 2.0.24 + *!* + *!* lnCantitate = this.Value + *!* lnPret = thisform.cobj.PRET + *!* lnTVA = thisform.cobj.TVA + *!* lnProcTVA = Iif(Thisform.cobj.PROC_TVA <> 0, Thisform.cobj.PROC_TVA, TVA2PROCTVA(lnTVA, lnPret)) + *!* *!* in stoc nu exista coloana proc_tva !!! o calculez si o pun in rulaj + *!* Thisform.cobj.PROC_TVA = lnProcTva + *!* If !plNIRBONPretCuTVA + *!* lnValoareAFTva = Round(lnCantitate*lnPret, gnPC) + *!* lnValoareATva = Round(lnValoareAFTva * (lnProcTVA-1), gnPC) + *!* lnValoareACTva = lnValoareAFTva + lnValoareATva + *!* Else + *!* lnValoareACTva = Round(lnCantitate*(lnPret+lnTVA), gnPC) + *!* lnValoareATva = Round(lnValoareACTva * (lnProcTva - 1) / lnProcTva, gnPC) + *!* lnValoareAFTva = lnValoareACTva - lnValoareATva + *!* EndIf + *!* Thisform.valoare = lnValoareAFTva + *!* Thisform.VALOAREtva = lnValoareATva + *!* *!* v 2.0.24 ^ + *!* Thisform.item5.Refresh + *!* Thisform.item6.Refresh + Thisform.calculeaza_valori_ach(This.Value) + *!* modificare ROAFACTURARE v 2.2.20 ^ + ENDPROC + + PROCEDURE Item7.Text_item1.InteractiveChange + Thisform.PRETVTVA = This.Value + Thisform.cobj.PRETV = Round(Thisform.PRETVTVA / Thisform.cobj.proc_tvav, gnPPretV) + Thisform.cobj.TVAV = Thisform.PRETVTVA - Thisform.cobj.PRETV + If !Empty(Thisform.cobj.Pret) And !Empty(Thisform.cobj.PRETV) + Thisform.cobj.procent=Round((Thisform.cobj.PRETV/Thisform.cobj.Pret-1)*100, gnPc) + Endif + Thisform.item8.Refresh + Thisform.item9.Refresh + Thisform.clb_item_adaos.Refresh + ENDPROC + + PROCEDURE Item7.Text_item1.Valid + *!* thisform.cobj.TVAV = ROUND(thisform.PRETVTVA * (thisform.cobj.proc_tvav-1)/thisform.cobj.proc_tvav, gnPpret) + *!* thisform.cobj.PRETV = thisform.PRETVTVA - thisform.cobj.TVAV + + ENDPROC + + PROCEDURE Item8.Text_item1.Valid + *!* *!* thisform.cobj.TVAV = ROUND(thisform.cobj.PRETV*(thisform.cobj.proc_tvaV-1), gnPpret) + *!* Thisform.cobj.TVAV = Round(Thisform.cobj.PRETV*(Thisform.cobj.proc_tvaV-1), gnPc) + *!* Thisform.PRETVTVA = Thisform.cobj.PRETV + Thisform.cobj.TVAV + *!* If !Empty(Thisform.cobj.Pret) And !Empty(Thisform.cobj.PRETV) + *!* Thisform.cobj.procent=Round((Thisform.cobj.PRETV/Thisform.cobj.Pret-1)*100, gnPc) + *!* Endif + ENDPROC + + PROCEDURE Item9.Text_item1.InteractiveChange + *!* nu stiu de ce atunci cand mai trec prin cantitate si apoi in pret vanzare fara tva intra in interactivechange fara sa modific valoare + If thisform.nPretvOriginal = This.Value + Return + EndIf + Thisform.cobj.PRETV = This.Value + Thisform.cobj.TVAV = Round(Thisform.cobj.PRETV*(Thisform.cobj.proc_TVAV-1), gnPPretV) + Thisform.PRETVTVA = Thisform.cobj.PRETV + Thisform.cobj.TVAV + If !Empty(Thisform.cobj.Pret) And !Empty(Thisform.cobj.PRETV) + Thisform.cobj.procent = Round((Thisform.cobj.PRETV/Thisform.cobj.Pret-1)*100, gnPc) + Endif + Thisform.item7.Refresh + Thisform.item8.Refresh + Thisform.clb_item_adaos.Refresh + ENDPROC + + PROCEDURE Item9.Text_item1.Valid + *!* thisform.cobj.TVAV = ROUND(thisform.cobj.PRETV*(thisform.cobj.proc_TVAV-1), gnPpret) + + ENDPROC + + PROCEDURE Item9.Text_item1.When + thisform.nPretvOriginal = This.Value + ENDPROC + + PROCEDURE Opt_imputare.Init + pnImputare = this.Value + + ENDPROC + + PROCEDURE Opt_imputare.InteractiveChange + pnImputare = this.Value + + ENDPROC + + PROCEDURE Opt_imputare.Valid + pnImputare = this.Value + + ENDPROC + +ENDDEFINE + +DEFINE CLASS frm_introdnir_val AS _frmbase OF "_frm_base.vcx" + *< CLASSDATA: Baseclass="form" Timestamp="" Scale="Pixels" Uniqueid="" /> + + *-- OBJECTDATA items order determines ZOrder / El orden de los items OBJECTDATA determina el ZOrder + *< OBJECTDATA: ObjPath="Item2" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="Item13" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="Item1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="But_renunt1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="Item3" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="Item4" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="Item5" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="Item7" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="Item8" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="Item9" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="Item11" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="Item6" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="lb_valuta_ach" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="lb_explicatie_curs" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="Item10" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="Item12" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="lb_valuta_vanz1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="lb_valuta_vanz2" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="lb_valuta_vanz3" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="lb_valuta_ach_c" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="lb_valuta_vanz_c" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="Clb_ITEM_adaos" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="cbo_tva_vanzare" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="lb_tva_vanzare" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="tx_curs_ach" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="tx_curs_vanz" UniqueID="" Timestamp="" /> + + #INCLUDE "..\include\foxpro.h" + * + *m: do_modiparam + *p: blochezpretv + *p: cobj + *p: cparentobj + *p: ctitlu + *p: ncant_iesita + *p: ncant_stoc + *p: ncursach + *p: ncursvanz + *p: omemopref + *p: pretvtva + *p: pretvtvaval + *p: proc_adaos + *p: proc_discount + *p: proc_tvav + *p: valoare + *p: valoaretva + * + + * + bvizualizare = + cobj = + ctitlu = + DoCreate = .T. + Height = 371 + Name = "frm_introdnir_val" + ncant_iesita = .F. + ncant_stoc = .F. + ncursach = 0 + ncursvanz = 0 + omemopref = NULL + pretvtva = 0 + pretvtvaval = 0 + proc_adaos = 0 + proc_discount = 0 + proc_tvav = 0 + valoare = 0 + valoaretva = 0 + Width = 634 + WindowType = 1 + _shape1.Height = 30 + _shape1.Left = 0 + _shape1.Name = "_shape1" + _shape1.Top = -1 + _shape1.Width = 636 + _shape1.ZOrderSet = 2 + _shape2.Height = 29 + _shape2.Left = 567 + _shape2.Name = "_shape2" + _shape2.Top = 0 + _shape2.Width = 67 + _shape2.ZOrderSet = 3 + Lb_titlu_alb_b121.FontName = "Comic Sans MS" + Lb_titlu_alb_b121.FontSize = 10 + Lb_titlu_alb_b121.Left = 8 + Lb_titlu_alb_b121.Name = "Lb_titlu_alb_b121" + Lb_titlu_alb_b121.TabIndex = 17 + Lb_titlu_alb_b121.Top = 4 + Lb_titlu_alb_b121.ZOrderSet = 4 + BUT_TERMIN1.Left = 601 + BUT_TERMIN1.Name = "BUT_TERMIN1" + BUT_TERMIN1.TabIndex = 15 + BUT_TERMIN1.Top = 1 + BUT_TERMIN1.ZOrderSet = 5 + Gridsort1.Name = "Gridsort1" + * + + ADD OBJECT 'But_renunt1' AS but_renunt WITH ; + Left = 571, ; + Name = "But_renunt1", ; + TabIndex = 16, ; + Top = 1, ; + ZOrderSet = 6 + *< END OBJECT: ClassLib="cmd_butoane.vcx" BaseClass="commandbutton" /> + + ADD OBJECT 'cbo_tva_vanzare' AS _combobox WITH ; + BorderColor = 128,128,128, ; + BorderStyle = 1, ; + ColumnCount = 3, ; + ColumnLines = .F., ; + ColumnWidths = "200,10,0", ; + Comment = "A", ; + ControlSource = "", ; + InputMask = "", ; + Left = 475, ; + Name = "cbo_tva_vanzare", ; + RowSource = "jtva_vanzare.denumire,cota_tva,id_jtva_coloana", ; + RowSourceType = 6, ; + SpecialEffect = 1, ; + Style = 2, ; + TabIndex = 26, ; + TabStop = .F., ; + Top = 261, ; + Visible = .T., ; + Width = 149 + *< END OBJECT: ClassLib="_baza.vcx" BaseClass="combobox" /> + + ADD OBJECT 'Clb_ITEM_adaos' AS clb_tx_simplu WITH ; + BorderColor = 255,255,255, ; + Comment = "A", ; + Height = 29, ; + Left = 472, ; + Name = "Clb_ITEM_adaos", ; + TabIndex = 8, ; + Top = 216, ; + Width = 83, ; + TEXT_SIMPLU1.Alignment = 1, ; + TEXT_SIMPLU1.BackColor = 224,224,224, ; + TEXT_SIMPLU1.BorderStyle = 0, ; + TEXT_SIMPLU1.Comment = "thisform.cobj.procent", ; + TEXT_SIMPLU1.ControlSource = "", ; + TEXT_SIMPLU1.Height = 23, ; + TEXT_SIMPLU1.InputMask = (get_mask(12,2)), ; + TEXT_SIMPLU1.Left = 2, ; + TEXT_SIMPLU1.Name = "TEXT_SIMPLU1", ; + TEXT_SIMPLU1.SpecialEffect = 1, ; + TEXT_SIMPLU1.Top = 2, ; + TEXT_SIMPLU1.Width = 58, ; + LB_SIMPLU1.Caption = "%", ; + LB_SIMPLU1.FontName = "Comic Sans MS", ; + LB_SIMPLU1.Left = 66, ; + LB_SIMPLU1.Name = "LB_SIMPLU1", ; + LB_SIMPLU1.Top = 5 + *< END OBJECT: ClassLib="lb_tx.vcx" BaseClass="container" /> + + ADD OBJECT 'Item1' AS item WITH ; + Comment = "T", ; + Left = 13, ; + Name = "Item1", ; + TabIndex = 2, ; + tip = F, ; + Top = 67, ; + ZOrderSet = 1, ; + Label_item1.Caption = "Pret achizitie in valuta", ; + Label_item1.Name = "Label_item1", ; + Text_item1.Comment = "thisform.cobj.pretd", ; + Text_item1.InputMask = (get_mask(12,gnPpretVal)), ; + Text_item1.Name = "Text_item1", ; + Text_item1.ReadOnly = .T., ; + Lineo1.Name = "Lineo1", ; + Lineo3.Name = "Lineo3", ; + Lineo4.Name = "Lineo4", ; + Lineo5.Name = "Lineo5", ; + Lineo2.Name = "Lineo2" + *< END OBJECT: ClassLib="baza.vcx" BaseClass="container" /> + + ADD OBJECT 'Item10' AS item WITH ; + Comment = "A", ; + Left = 13, ; + Name = "Item10", ; + TabIndex = 13, ; + TabStop = .F., ; + tip = A, ; + Top = 309, ; + ZOrderSet = 12, ; + LABEL_ITEM1.Caption = "TVA vanzare in valuta", ; + LABEL_ITEM1.Name = "LABEL_ITEM1", ; + TEXT_ITEM1.Comment = "thisform.cobj.tvaval", ; + TEXT_ITEM1.InputMask = (get_mask(12,gnPVal)), ; + TEXT_ITEM1.Name = "TEXT_ITEM1", ; + TEXT_ITEM1.ReadOnly = .T., ; + LINEO1.Name = "LINEO1", ; + LINEO3.Name = "LINEO3", ; + LINEO4.Name = "LINEO4", ; + LINEO5.Name = "LINEO5", ; + LINEO2.Name = "LINEO2" + *< END OBJECT: ClassLib="baza.vcx" BaseClass="container" /> + + ADD OBJECT 'Item11' AS item WITH ; + camp_lista = sectie, ; + Comment = "T", ; + fis_lista = Vnom_sectii, ; + id_fisier = id_sectie, ; + label_item = Denumire sectie, ; + Left = 13, ; + Name = "Item11", ; + pcobj = orul, ; + TabIndex = 7, ; + TabStop = .F., ; + tip = , ; + Top = 189, ; + ZOrderSet = 14, ; + Label_item1.Caption = "Sectie", ; + Label_item1.Name = "Label_item1", ; + Text_item1.Comment = "thisform.cobj.sectie", ; + Text_item1.ControlSource = "", ; + Text_item1.Name = "Text_item1", ; + Text_item1.ReadOnly = .T., ; + Lineo1.Name = "Lineo1", ; + Lineo3.Name = "Lineo3", ; + Lineo4.Name = "Lineo4", ; + Lineo5.Name = "Lineo5", ; + Lineo2.Name = "Lineo2" + *< END OBJECT: ClassLib="baza.vcx" BaseClass="container" /> + + ADD OBJECT 'Item12' AS item WITH ; + Comment = "X", ; + Left = 13, ; + Name = "Item12", ; + TabIndex = 14, ; + tip = A, ; + Top = 332, ; + ZOrderSet = 13, ; + LABEL_ITEM1.Caption = "Pret de vanzare fara TVA", ; + LABEL_ITEM1.Name = "LABEL_ITEM1", ; + TEXT_ITEM1.Comment = "thisform.cobj.pretvval", ; + TEXT_ITEM1.InputMask = (get_mask(14,gnPVal)), ; + TEXT_ITEM1.Name = "TEXT_ITEM1", ; + LINEO1.Name = "LINEO1", ; + LINEO3.Name = "LINEO3", ; + LINEO4.Name = "LINEO4", ; + LINEO5.Name = "LINEO5", ; + LINEO2.Name = "LINEO2" + *< END OBJECT: ClassLib="baza.vcx" BaseClass="container" /> + + ADD OBJECT 'Item13' AS item WITH ; + Comment = "T", ; + Left = 13, ; + Name = "Item13", ; + TabIndex = 1, ; + tip = T, ; + Top = 40, ; + ZOrderSet = 1, ; + Label_item1.Caption = "Serie", ; + Label_item1.Name = "Label_item1", ; + Text_item1.Comment = "thisform.cobj.serie", ; + Text_item1.Format = "K!", ; + Text_item1.Name = "Text_item1", ; + Text_item1.ReadOnly = .T., ; + Lineo1.Name = "Lineo1", ; + Lineo3.Name = "Lineo3", ; + Lineo4.Name = "Lineo4", ; + Lineo5.Name = "Lineo5", ; + Lineo2.Name = "Lineo2" + *< END OBJECT: ClassLib="baza.vcx" BaseClass="container" /> + + ADD OBJECT 'Item2' AS item WITH ; + Comment = "T", ; + Left = 13, ; + Name = "Item2", ; + TabIndex = 3, ; + tip = , ; + Top = 90, ; + ZOrderSet = 0, ; + Label_item1.Caption = "Pret achizitie", ; + Label_item1.Name = "Label_item1", ; + Text_item1.Comment = "thisform.cobj.pret", ; + Text_item1.InputMask = (get_mask(12,gnPpret)), ; + Text_item1.Name = "Text_item1", ; + Text_item1.ReadOnly = .T., ; + Lineo1.Name = "Lineo1", ; + Lineo3.Name = "Lineo3", ; + Lineo4.Name = "Lineo4", ; + Lineo5.Name = "Lineo5", ; + Lineo2.Name = "Lineo2" + *< END OBJECT: ClassLib="baza.vcx" BaseClass="container" /> + + ADD OBJECT 'Item3' AS item WITH ; + Left = 13, ; + Name = "Item3", ; + TabIndex = 4, ; + tip = F, ; + Top = 114, ; + ZOrderSet = 7, ; + Label_item1.Caption = "Pret achizitie la cursul zilei", ; + Label_item1.Name = "Label_item1", ; + Text_item1.InputMask = (get_mask(12,gnPpret)), ; + Text_item1.Name = "Text_item1", ; + Text_item1.ReadOnly = .T., ; + Lineo1.Name = "Lineo1", ; + Lineo3.Name = "Lineo3", ; + Lineo4.Name = "Lineo4", ; + Lineo5.Name = "Lineo5", ; + Lineo2.Name = "Lineo2" + *< END OBJECT: ClassLib="baza.vcx" BaseClass="container" /> + + ADD OBJECT 'Item4' AS item WITH ; + Comment = "T", ; + Left = 13, ; + Name = "Item4", ; + TabIndex = 5, ; + tip = , ; + Top = 138, ; + ZOrderSet = 8, ; + Label_item1.Caption = "Cantitate", ; + Label_item1.Name = "Label_item1", ; + Text_item1.Comment = "thisform.cobj.cant", ; + Text_item1.InputMask = (get_mask(12,gnPcant)), ; + Text_item1.Name = "Text_item1", ; + Lineo1.Name = "Lineo1", ; + Lineo3.Name = "Lineo3", ; + Lineo4.Name = "Lineo4", ; + Lineo5.Name = "Lineo5", ; + Lineo2.Name = "Lineo2" + *< END OBJECT: ClassLib="baza.vcx" BaseClass="container" /> + + ADD OBJECT 'Item5' AS item WITH ; + Comment = "T", ; + Left = 13, ; + Name = "Item5", ; + TabIndex = 6, ; + tip = , ; + Top = 162, ; + ZOrderSet = 9, ; + Label_item1.Caption = "Valoare ", ; + Label_item1.Name = "Label_item1", ; + Text_item1.Comment = "thisform.valoare", ; + Text_item1.InputMask = (get_mask(12,gnPc)), ; + Text_item1.Name = "Text_item1", ; + Text_item1.ReadOnly = .T., ; + Lineo1.Name = "Lineo1", ; + Lineo3.Name = "Lineo3", ; + Lineo4.Name = "Lineo4", ; + Lineo5.Name = "Lineo5", ; + Lineo2.Name = "Lineo2" + *< END OBJECT: ClassLib="baza.vcx" BaseClass="container" /> + + ADD OBJECT 'Item6' AS item WITH ; + Comment = "A", ; + Left = 13, ; + Name = "Item6", ; + TabIndex = 12, ; + tip = A, ; + Top = 286, ; + ZOrderSet = 11, ; + LABEL_ITEM1.Caption = "Pret de vanzare cu TVA in valuta", ; + LABEL_ITEM1.Name = "LABEL_ITEM1", ; + TEXT_ITEM1.Comment = "thisform.Pretvtvaval", ; + TEXT_ITEM1.InputMask = (get_mask(14,gnPVal)), ; + TEXT_ITEM1.Name = "TEXT_ITEM1", ; + LINEO1.Name = "LINEO1", ; + LINEO3.Name = "LINEO3", ; + LINEO4.Name = "LINEO4", ; + LINEO5.Name = "LINEO5", ; + LINEO2.Name = "LINEO2" + *< END OBJECT: ClassLib="baza.vcx" BaseClass="container" /> + + ADD OBJECT 'Item7' AS item WITH ; + Comment = "A", ; + Left = 13, ; + Name = "Item7", ; + TabIndex = 9, ; + TabStop = .F., ; + tip = A, ; + Top = 216, ; + ZOrderSet = 11, ; + Label_item1.Caption = "Pret de vanzare cu TVA", ; + Label_item1.Name = "Label_item1", ; + Text_item1.Comment = "thisform.PretvTva", ; + Text_item1.InputMask = (get_mask(12,gnPPretV)), ; + Text_item1.Name = "Text_item1", ; + Text_item1.ReadOnly = .T., ; + Lineo1.Name = "Lineo1", ; + Lineo3.Name = "Lineo3", ; + Lineo4.Name = "Lineo4", ; + Lineo5.Name = "Lineo5", ; + Lineo2.Name = "Lineo2" + *< END OBJECT: ClassLib="baza.vcx" BaseClass="container" /> + + ADD OBJECT 'Item8' AS item WITH ; + Comment = "A", ; + Left = 13, ; + Name = "Item8", ; + TabIndex = 10, ; + TabStop = .F., ; + tip = A, ; + Top = 239, ; + ZOrderSet = 12, ; + Label_item1.Caption = "TVA vanzare", ; + Label_item1.Name = "Label_item1", ; + Text_item1.Comment = "thisform.cobj.tvav", ; + Text_item1.InputMask = (get_mask(12,gnPPretV)), ; + Text_item1.Name = "Text_item1", ; + Text_item1.ReadOnly = .T., ; + Lineo1.Name = "Lineo1", ; + Lineo3.Name = "Lineo3", ; + Lineo4.Name = "Lineo4", ; + Lineo5.Name = "Lineo5", ; + Lineo2.Name = "Lineo2" + *< END OBJECT: ClassLib="baza.vcx" BaseClass="container" /> + + ADD OBJECT 'Item9' AS item WITH ; + Comment = "X", ; + Left = 13, ; + Name = "Item9", ; + TabIndex = 11, ; + TabStop = .F., ; + tip = A, ; + Top = 262, ; + ZOrderSet = 13, ; + Label_item1.Caption = "Pret de vanzare fara TVA", ; + Label_item1.Name = "Label_item1", ; + Text_item1.Comment = "thisform.cobj.pretv", ; + Text_item1.InputMask = (get_mask(12,gnPPretV)), ; + Text_item1.Name = "Text_item1", ; + Text_item1.ReadOnly = .T., ; + Lineo1.Name = "Lineo1", ; + Lineo3.Name = "Lineo3", ; + Lineo4.Name = "Lineo4", ; + Lineo5.Name = "Lineo5", ; + Lineo2.Name = "Lineo2" + *< END OBJECT: ClassLib="baza.vcx" BaseClass="container" /> + + ADD OBJECT 'lb_explicatie_curs' AS _label WITH ; + AutoSize = .T., ; + BackStyle = 0, ; + Caption = "Curs valutar", ; + FontName = "Comic Sans MS", ; + ForeColor = 0,0,128, ; + Height = 20, ; + Left = 488, ; + Name = "lb_explicatie_curs", ; + TabIndex = 18, ; + Top = 107, ; + Width = 75, ; + ZOrderSet = 16 + *< END OBJECT: ClassLib="_baza.vcx" BaseClass="label" /> + + ADD OBJECT 'lb_tva_vanzare' AS _label WITH ; + AutoSize = .T., ; + BackStyle = 0, ; + Caption = "TVA vanzare", ; + Comment = "A", ; + Height = 18, ; + Left = 477, ; + Name = "lb_tva_vanzare", ; + TabIndex = 25, ; + Top = 244, ; + Visible = .T., ; + Width = 75 + *< END OBJECT: ClassLib="_baza.vcx" BaseClass="label" /> + + ADD OBJECT 'lb_valuta_ach' AS _label WITH ; + AutoSize = .T., ; + BackStyle = 0, ; + Caption = "[Valuta]", ; + Height = 18, ; + Left = 474, ; + Name = "lb_valuta_ach", ; + TabIndex = 20, ; + Top = 68, ; + Width = 47, ; + ZOrderSet = 16 + *< END OBJECT: ClassLib="_baza.vcx" BaseClass="label" /> + + ADD OBJECT 'lb_valuta_ach_c' AS _label WITH ; + AutoSize = .T., ; + BackStyle = 0, ; + Caption = "[Valuta]", ; + FontName = "Comic Sans MS", ; + ForeColor = 0,0,128, ; + Height = 20, ; + Left = 482, ; + Name = "lb_valuta_ach_c", ; + TabIndex = 24, ; + Top = 132, ; + Width = 50, ; + ZOrderSet = 16 + *< END OBJECT: ClassLib="_baza.vcx" BaseClass="label" /> + + ADD OBJECT 'lb_valuta_vanz1' AS _label WITH ; + AutoSize = .T., ; + BackStyle = 0, ; + Caption = "[Valuta]", ; + Left = 479, ; + Name = "lb_valuta_vanz1", ; + TabIndex = 21, ; + Top = 287, ; + Width = 47, ; + ZOrderSet = 16 + *< END OBJECT: ClassLib="_baza.vcx" BaseClass="label" /> + + ADD OBJECT 'lb_valuta_vanz2' AS _label WITH ; + AutoSize = .T., ; + BackStyle = 0, ; + Caption = "[Valuta]", ; + Left = 479, ; + Name = "lb_valuta_vanz2", ; + TabIndex = 19, ; + Top = 310, ; + Width = 47, ; + ZOrderSet = 16 + *< END OBJECT: ClassLib="_baza.vcx" BaseClass="label" /> + + ADD OBJECT 'lb_valuta_vanz3' AS _label WITH ; + AutoSize = .T., ; + BackStyle = 0, ; + Caption = "[Valuta]", ; + Left = 479, ; + Name = "lb_valuta_vanz3", ; + TabIndex = 23, ; + Top = 333, ; + Width = 47, ; + ZOrderSet = 16 + *< END OBJECT: ClassLib="_baza.vcx" BaseClass="label" /> + + ADD OBJECT 'lb_valuta_vanz_c' AS _label WITH ; + AutoSize = .T., ; + BackStyle = 0, ; + Caption = "[Valuta]", ; + FontName = "Comic Sans MS", ; + ForeColor = 0,0,128, ; + Height = 20, ; + Left = 482, ; + Name = "lb_valuta_vanz_c", ; + TabIndex = 22, ; + Top = 156, ; + Width = 50, ; + ZOrderSet = 16 + *< END OBJECT: ClassLib="_baza.vcx" BaseClass="label" /> + + ADD OBJECT 'tx_curs_ach' AS _txbase WITH ; + Alignment = 0, ; + BorderStyle = 0, ; + ControlSource = "thisform.ncursach", ; + FontName = "Comic Sans MS", ; + Height = 18, ; + InputMask = (get_mask(6,4)), ; + Left = 540, ; + Name = "tx_curs_ach", ; + ReadOnly = .T., ; + SpecialEffect = 1, ; + TabIndex = 27, ; + TabStop = .F., ; + Top = 132, ; + Value = 0, ; + Width = 84 + *< END OBJECT: ClassLib="_tx_base.vcx" BaseClass="textbox" /> + + ADD OBJECT 'tx_curs_vanz' AS _txbase WITH ; + Alignment = 0, ; + BorderStyle = 0, ; + ControlSource = "thisform.ncursvanz", ; + FontName = "Comic Sans MS", ; + Height = 18, ; + InputMask = (get_mask(6,4)), ; + Left = 540, ; + Name = "tx_curs_vanz", ; + ReadOnly = .T., ; + SpecialEffect = 1, ; + TabIndex = 28, ; + TabStop = .F., ; + Top = 156, ; + Value = 0, ; + Width = 84 + *< END OBJECT: ClassLib="_tx_base.vcx" BaseClass="textbox" /> + + PROCEDURE do_executa + This.cobj.pretv = Round(This.cobj.Pret * (1 + This.cobj.procent/100), gnPPretV) + This.cobj.TVAV = Round(This.cobj.pretv*(This.cobj.proC_TVAV-1), gnPPretV) + This.PRETVTVA = This.cobj.pretv + This.cobj.TVAV + This.item7.Refresh + This.item8.Refresh + This.item9.Refresh + + thisform.cobj.pretvval = Round(Thisform.cobj.pretv / thisform.cobj.curs,gnPVal) + thisform.cobj.tvaval = Round(Thisform.cobj.TVAV / thisform.cobj.curs,gnPVal) + Thisform.pretvtvaval = thisform.cobj.pretvval + thisform.cobj.tvaval + Thisform.item6.Refresh + Thisform.item10.Refresh + Thisform.item12.Refresh + ENDPROC + + PROCEDURE do_modiparam + ENDPROC + + PROCEDURE inainte_de_do_termin + *!* 27.05.2009 - cantitatea introdusa plus cantitatea iesita nu trebuie sa depaseasca cantitatea din stoc. + *!* marius.felecanu + Local llReturn + Store .T. To llReturn + IF thisform.ncant_stoc <> 0 + IF thisform.ncant_iesita + thisform.item4.text_item1.Value > thisform.ncant_stoc + AMESSAGEBOX("Cantitatea maxima existenta este: " + ALLTRIM(STR(thisform.ncant_stoc - thisform.ncant_iesita,18,4)),0+48,_screen.Caption) + llReturn = .F. + thisform.item4.SetFocus() + ENDIF + ENDIF + RETURN llReturn + *!* 27.05.2009 ^ + ENDPROC + + PROCEDURE Init + LPARAMETERS toDatePref + DODEFAULT() + Thisform.omemopref = IIF(TYPE("toDatePref")="O",toDatePref,NULL) + + ENDPROC + + PROCEDURE Show + Lparameters nStyle + lnHeight = 0 + + With Thisform.lb_explicatie_curs + .Caption = [Curs valutar ] + Dtoc(poAct.v8) + .AutoSize = .T. + Endwith + + Select crscursuri + If !Empty(Nvl(Thisform.cobj.id_valuta,0)) + Locate For id_valuta = Thisform.cobj.id_valuta + If Found() + Thisform.ncursach = Curs / multiplicator + lcNumeValuta = Upper(Alltrim(nume_val)) + With Thisform.lb_valuta_ach + .Caption = lcNumeValuta + .AutoSize = .T. + Endwith + With Thisform.lb_valuta_ach_c + .Caption = lcNumeValuta + .AutoSize = .T. + Endwith + Endif + Thisform.item3.text_item1.Value = Round(Thisform.cobj.pretd*Thisform.ncursach,gnPPret) + Else + Thisform.ncursach = 0 + Thisform.lb_valuta_ach.Visible = .F. + Thisform.lb_valuta_ach_c.Visible = .F. + Thisform.tx_curs_ach.Visible = .F. + Thisform.item1.Visible = .F. + Thisform.item3.Visible = .F. + Thisform.lb_valuta_vanz_c.Top = Thisform.lb_valuta_ach_c.Top + Thisform.tx_curs_vanz.Top = Thisform.tx_curs_ach.Top + Endif + + If Nvl(Thisform.cobj.id_valuta,0) <> poAct.id_valuta_vanz + *!* Locate For id_valuta = poAct.id_valuta_vanz + *!* If Found() + *!* Thisform.ncursvanz = Curs + *!* lcNumeValuta = Upper(Alltrim(nume_val)) + Thisform.ncursvanz = Thisform.cobj.Curs + lcNumeValuta = poAct.nume_val_vanz + *!* Endif + Else + Thisform.lb_valuta_vanz_c.Visible = .F. + Thisform.tx_curs_vanz.Visible = .F. + Endif + With Thisform.lb_valuta_vanz1 + .Caption = lcNumeValuta + .AutoSize = .T. + Endwith + With Thisform.lb_valuta_vanz2 + .Caption = lcNumeValuta + .AutoSize = .T. + Endwith + With Thisform.lb_valuta_vanz3 + .Caption = lcNumeValuta + .AutoSize = .T. + Endwith + With Thisform.lb_valuta_vanz_c + .Caption = lcNumeValuta + .AutoSize = .T. + Endwith + + Thisform.proc_adaos = 0 + + For Each loControl In This.Controls + With loControl + If !Empty(loControl.Comment) + If .Comment $ This.bVizualizare + .Visible = .T. + If 'ITEM' $ Upper(.Name) + For Each loCtrSecund In loControl.Controls + If 'TEXT' $ Upper(loCtrSecund.Name) + lcControlSource = Alltrim(loCtrSecund.Comment) + loCtrSecund.ControlSource = lcControlSource + Endif + Endfor + *!* lcControlSource = ALLTRIM(.text_item1.comment) + *!* .text_item1.controlsource = lcControlSource + .pcobj = 'orul' + Endif + lnTop = .Top + If lnTop > lnHeight + lnHeight = lnTop + Endif + Else + .Visible = .F. + Endif + Endif + Endwith + Endfor + + If gnNeplatitoare_tva = 1 + *!* modificare 21.02.2007 + Select jtva_achizitie + Locate For id_jtva_coloana = 113 + If Found() + This.cbo_tva_achizitie.Value = Alltrim(denumire) + Thisform.cobj.id_jtva_coloana = id_jtva_coloana + This.cobj.proc_tva = (cota_tva + 100)/100 + Endif + Select jtva_vanzare + Locate For id_jtva_coloana = 11 + If Found() + This.cbo_tva_VANZARE.Value = Alltrim(denumire) + Thisform.cobj.PROC_TVAv = (jtva_vanzare.cota_tva + 100)/100 + Thisform.PROC_TVAv = (jtva_vanzare.cota_tva + 100)/100 + If !('F' $ This.bVizualizare) + This.cobj.id_jtva_coloana = id_jtva_coloana + Endif + Endif + *!* SELECT cote_tva + *!* LOCATE FOR proc_tva = 1.00 + *!* IF !FOUND() + *!* SELECT cote_tva + *!* GO TOP + *!* ENDIF + *!* modificare 21.02.2007 ^ + Else + *!* modificare 21.02.2007 + Select jtva_achizitie + Do Case + Case This.cobj.Cont = '371' And oset.id_jtax = 141 && taxare inversa 19 % + Locate For id_jtva_coloana = 139 + Case This.cobj.Cont = '371' And oset.id_jtax = 105 && marfa 19 % + Locate For id_jtva_coloana = 103 + Otherwise + Locate For id_jtva_coloana = oset.id_jtax or id_jtva_ex = oset.id_jtax && modificare v 2.2.0 : conditia de dupa or + Endcase + If Found() + This.cbo_tva_achizitie.Value = Alltrim(denumire) + Thisform.cobj.id_jtva_coloana = id_jtva_coloana + This.cobj.proc_tva = (cota_tva + 100)/100 + Endif + *!* SELECT cote_tva + *!* GO TOP + *!* modificare 21.02.2007 ^ + Endif + + If 'F' $ This.bVizualizare And Empty(This.cobj.proc_tva) + *!* modificare 21.02.2007 + Select jtva_achizitie + Do Case + Case This.cobj.Cont = '371' And oset.id_jtax = 141 && taxare inversa 19 % + Locate For id_jtva_coloana = 139 + Case This.cobj.Cont = '371' And oset.id_jtax = 105 && marfa 19 % + Locate For id_jtva_coloana = 103 + Otherwise + Locate For id_jtva_coloana = oset.id_jtax or id_jtva_ex = oset.id_jtax && modificare v 2.2.0 : conditia de dupa or + Endcase + If Found() + This.cbo_tva_achizitie.Value = Alltrim(denumire) + Thisform.cobj.id_jtva_coloana = id_jtva_coloana + This.cobj.proc_tva = (cota_tva + 100)/100 + Endif + *!* SELECT cote_tva + *!* * GO top + *!* lnProc_tva = proc_tva + *!* lnproc = procent + *!* THIS.cotaTVA_achizitie.VALUE = ALLTRIM(STR(lnproc)) + *!* THIS.cobj.proc_tva = lnProc_tva + *!* modificare 21.02.2007 ^ + Endif + + If 'A' $ This.bVizualizare + If This.blochezPretV + This.item7.Enabled = .F. + This.item8.Enabled = .F. + This.item9.Enabled = .F. + This.Clb_ITEM_adaos.Visible = .F. + *!* modificare 21.02.2007 + lcFiltru = [cota_tva = ] + Alltrim(Str(Thisform.cobj.PROC_TVAv * 100 - 100)) + Select jtva_vanzare + Set Filter To &lcFiltru + Go Top + This.cbo_tva_VANZARE.Value = Alltrim(denumire) + If !('F' $ This.bVizualizare) + This.cobj.id_jtva_coloana = id_jtva_coloana + Endif + *!* THIS.CotaTVA_vanzare.ENABLED = .F. + *!* THIS.CotaTVA_vanzare.VALUE = ALLTRIM(STR(THIS.proc_tvav *100 - 100)) + *!* modificare 21.02.2007 ^ + Else + *!* modificare 21.02.2007 + Select jtva_vanzare + Locate For id_jtva_coloana = Iif(oset.tipjurnal=[JV],oset.id_jtax,GetIdJtvaStandard('VANZARE')) or id_jtva_ex = Iif(oset.tipjurnal=[JV],oset.id_jtax,GetIdJtvaStandard('VANZARE')) && modificare v 2.2.0 : conditia de dupa or + If Found() + This.cbo_tva_VANZARE.Value = Alltrim(denumire) + This.cobj.PROC_TVAv = (cota_tva + 100)/100 + If !('F' $ This.bVizualizare) + This.cobj.id_jtva_coloana = id_jtva_coloana + Endif + Endif + *!* SELECT cote_tva + *!* * GO top + *!* lnProc_tva = proc_tva + *!* lnproc = procent + *!* THIS.CotaTVA_vanzare.VALUE = ALLTRIM(STR(lnproc)) + *!* THIS.cobj.proc_tvav = lnProc_tva + *!* modificare 21.02.2007 ^ + Endif + + This.cobj.procent = Thisform.proc_adaos + Endif + + This.lb_titlu_alb_b121.Caption = This.cTitlu + This.item4.SetFocus + + *!* modificare ROAFACTURARE v 2.0.90 + If Thisform.ncursach <> Round(Thisform.ncursach,4) + Thisform.tx_curs_ach.InputMask = get_mask(8,6) + Endif + If Thisform.ncursvanz <> Round(Thisform.ncursvanz,4) + Thisform.tx_curs_vanz.InputMask = get_mask(8,6) + Endif + *!* modificare ROAFACTURARE v 2.0.90 ^ + DoDefault() + + ENDPROC + + PROCEDURE cbo_tva_vanzare.Valid + If !('F' $ Thisform.bVizualizare) + Thisform.COBJ.id_jtva_coloana = jtva_vanzare.id_jtva_coloana + Endif + If !Thisform.blochezPretV + Thisform.COBJ.PROC_TVAv = (jtva_vanzare.cota_tva + 100)/100 + Thisform.PROC_TVAv = (jtva_vanzare.cota_tva + 100)/100 + Thisform.item7.teXT_ITEM1.InteractiveChange + Endif + ENDPROC + + PROCEDURE Clb_ITEM_adaos.TEXT_SIMPLU1.Valid + thisform.do_executa + ENDPROC + + PROCEDURE Item12.TEXT_ITEM1.InteractiveChange + thisform.cobj.pretvval = This.Value + thisform.cobj.tvaval = Round(thisform.cobj.pretvval * (Thisform.cobj.proc_tvav-1),gnPVal) + Thisform.pretvtvaval = thisform.cobj.pretvval + thisform.cobj.tvaval + Thisform.item6.Refresh + Thisform.item10.Refresh + + Thisform.cobj.PRETV = Round(thisform.cobj.pretvval * thisform.cobj.curs , gnPPretV) + Thisform.cobj.TVAV = Round(thisform.cobj.tvaval * thisform.cobj.curs, gnPPretV) + Thisform.PRETVTVA = Thisform.cobj.PRETV + Thisform.cobj.TVAV + If !Empty(Thisform.cobj.Pret) And !Empty(Thisform.cobj.PRETV) + Thisform.cobj.procent = Round((Thisform.cobj.PRETV/Thisform.cobj.Pret-1)*100, gnPc) + Endif + Thisform.item7.Refresh + Thisform.item8.Refresh + Thisform.item9.Refresh + Thisform.clb_item_adaos.Refresh + ENDPROC + + PROCEDURE Item4.Text_item1.Valid + If !Thisform.blochezPretV AND poact.id_set <> 104 && (la imputare, sa ma lase sa pun cu mana pretv) + *!* thisform.cobj.TVAV = ROUND(thisform.PRETVTVA * (thisform.cobj.proc_tvav-1)/IIF(thisform.cobj.proc_tvav <> 0, thisform.cobj.proc_tvav,1), gnPpret) + Thisform.cobj.TVAV = Round(Thisform.PRETVTVA * (Thisform.cobj.proc_tvav-1)/Iif(Thisform.cobj.proc_tvav <> 0, Thisform.cobj.proc_tvav,1), gnPPretV) + Thisform.cobj.PRETV = Thisform.PRETVTVA - Thisform.cobj.TVAV + Endif + If !Empty(Thisform.cobj.Pret) And !Empty(Thisform.cobj.PRETV) + Thisform.cobj.procent=Round((Thisform.cobj.PRETV/Thisform.cobj.Pret-1)*100, gnPc) + Endif + Thisform.item8.Refresh + Thisform.item9.Refresh + Thisform.clb_item_adaos.Refresh + + + Thisform.valoare = Round(This.Value * Thisform.cobj.Pret,gnPc) + Thisform.VALOAREtva = Round(Thisform.valoare*(Thisform.cobj.PROC_TVA-1),gnPc) + Thisform.item5.Refresh + Thisform.item6.Refresh + ENDPROC + + PROCEDURE Item6.TEXT_ITEM1.InteractiveChange + Thisform.pretvtvaval = This.Value + thisform.cobj.pretvval = Round(Thisform.pretvtvaval / Thisform.cobj.proc_tvav,gnPVal) + thisform.cobj.tvaval = Thisform.pretvtvaval - thisform.cobj.pretvval + Thisform.item10.Refresh + Thisform.item12.Refresh + + Thisform.PRETVTVA = Round(Thisform.pretvtvaval * thisform.cobj.curs, gnPPretV) + Thisform.cobj.PRETV = Round(thisform.cobj.pretvval * thisform.cobj.curs, gnPPretV) + Thisform.cobj.TVAV = Thisform.PRETVTVA - Thisform.cobj.PRETV + If !Empty(Thisform.cobj.Pret) And !Empty(Thisform.cobj.PRETV) + Thisform.cobj.procent=Round((Thisform.cobj.PRETV/Thisform.cobj.Pret-1)*100, gnPc) + Endif + Thisform.item7.Refresh + Thisform.item8.Refresh + Thisform.item9.Refresh + Thisform.clb_item_adaos.Refresh + ENDPROC + + PROCEDURE Item6.TEXT_ITEM1.Valid + *!* thisform.cobj.TVAV = ROUND(thisform.PRETVTVA * (thisform.cobj.proc_tvav-1)/thisform.cobj.proc_tvav, gnPpret) + *!* thisform.cobj.PRETV = thisform.PRETVTVA - thisform.cobj.TVAV + + ENDPROC + + PROCEDURE Item7.Text_item1.InteractiveChange + Thisform.PRETVTVA = This.Value + Thisform.cobj.PRETV = Round(Thisform.PRETVTVA / Thisform.cobj.proc_tvav, gnPPretV) + Thisform.cobj.TVAV = Thisform.PRETVTVA - Thisform.cobj.PRETV + If !Empty(Thisform.cobj.Pret) And !Empty(Thisform.cobj.PRETV) + Thisform.cobj.procent=Round((Thisform.cobj.PRETV/Thisform.cobj.Pret-1)*100, gnPc) + Endif + Thisform.item8.Refresh + Thisform.item9.Refresh + Thisform.clb_item_adaos.Refresh + + Thisform.pretvtvaval = Round(Thisform.PRETVTVA / thisform.cobj.curs,gnPVal) + thisform.cobj.pretvval = Round(Thisform.cobj.PRETV / thisform.cobj.curs,gnPVal) + thisform.cobj.tvaval = Thisform.pretvtvaval - thisform.cobj.pretvval + Thisform.item6.Refresh + Thisform.item10.Refresh + Thisform.item12.Refresh + ENDPROC + + PROCEDURE Item9.Text_item1.InteractiveChange + Thisform.cobj.PRETV = This.Value + Thisform.cobj.TVAV = Round(Thisform.cobj.PRETV*(Thisform.cobj.proc_TVAV-1), gnPPretV) + Thisform.PRETVTVA = Thisform.cobj.PRETV + Thisform.cobj.TVAV + If !Empty(Thisform.cobj.Pret) And !Empty(Thisform.cobj.PRETV) + Thisform.cobj.procent = Round((Thisform.cobj.PRETV/Thisform.cobj.Pret-1)*100, gnPc) + Endif + + Thisform.item7.Refresh + Thisform.item8.Refresh + Thisform.clb_item_adaos.Refresh + + thisform.cobj.pretvval = Round(Thisform.cobj.PRETV / thisform.cobj.curs,gnPVal) + thisform.cobj.tvaval = Round(Thisform.cobj.TVAV / thisform.cobj.curs,gnPVal) + Thisform.pretvtvaval = thisform.cobj.pretvval + thisform.cobj.tvaval + Thisform.item6.Refresh + Thisform.item10.Refresh + Thisform.item12.Refresh + ENDPROC + +ENDDEFINE + +DEFINE CLASS import_adauga_factura AS _frmbase OF "_frm_base.vcx" + *< CLASSDATA: Baseclass="form" Timestamp="" Scale="Pixels" Uniqueid="" /> + + *-- OBJECTDATA items order determines ZOrder / El orden de los items OBJECTDATA determina el ZOrder + *< OBJECTDATA: ObjPath="shpDvi" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="_shape3" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="_shape4" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="lblFelDoc" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="txtFelDoc" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="cmdFelDoc" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="lblSerie" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="txtSerie" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="lblNr" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="txtNr" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="lblData" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="txtData" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="lblPartener" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="txtPartener" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="cmdPartener" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="_label1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="txtFelDocDVI" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="lblSuma" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="txtSuma" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="lblValuta" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="txtValuta" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="cmdValuta" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="lblCurs" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="txtCurs" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="chkParticipaValuta" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="chkInValutaCont" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="optTipTva" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="_label2" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="lblExplicatieTva" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="txtExplicatieTva" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="cmdExplicatieTva" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="lblPedagogieDvi" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="lblDviNr" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="txtDviNr" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="lblDviData" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="txtDviData" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="lblDviPartener" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="txtDviPartener" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="cmdDviPartener" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="lblDviTvaVal" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="txtDviTvaVal" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="lblDviTvaLei" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="txtDviTvaLei" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="But_renunt1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="lblProcentTva" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="txtProcentTva" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="cmdFelDocDVI" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="txtSumaLei" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="lblSumaLei" UniqueID="" Timestamp="" /> + + * + *m: actualizeaza_stare_dvi + *m: actualizeaza_stare_valuta + *m: actualizeaza_tabstop + *m: arata_valuta_curs + *m: construieste_todlg + *m: recalc_tva + *m: seteaza_masti + *m: valideaza + *p: cdvipartener + *p: cdviserie + *p: cexplicatia + *p: cexplicatietva + *p: cfeldoc + *p: cfeldocdvi + *p: cpartener + *p: cserieact + *p: cseriedvi + *p: cvaluta + *p: ddata + *p: ddataact + *p: ddvidata + *p: lcursdirty + *p: linvalutadirty && bifa "in valuta" schimbata explicit de utilizator - nu o mai fortez + *p: lsumaleidirty && suma in lei a fost editata manual - recalc_tva nu o mai suprascrie + *p: lsuprimadirty + *p: ncurs + *p: ndviidpartener + *p: ndvitvalei + *p: ndvitvaval + *p: nidexplicatietva + *p: nidfdoc + *p: nidfdocdvi + *p: nidpartener + *p: nidvaluta + *p: nnract + *p: nnractdvi + *p: nprocenttva + *p: nsuma + *p: nsumalei && suma fara TVA in lei (calculata, doar afisare) + *p: oparinte && referinta catre import_nota care a deschis dialogul + * + + * + BorderStyle = 1 + cdvipartener = "" + cdviserie = "" + cexplicatia = "" + cexplicatietva = "" + cfeldoc = "" + cfeldocdvi = "" + cpartener = "" + cserieact = "" + cseriedvi = "" + cvaluta = "" + ddata = {} + ddataact = {} + ddvidata = {} + DoCreate = .T. + Height = 406 + lcursdirty = .F. + linvalutadirty = .F. + lsumaleidirty = .F. + lsuprimadirty = .F. + Name = "import_adauga_factura" + ncurs = 0 + ndviidpartener = 0 + ndvitvalei = 0 + ndvitvaval = 0 + nidexplicatietva = 0 + nidfdoc = 0 + nidfdocdvi = 0 + nidpartener = 0 + nidvaluta = 0 + nnract = 0 + nnractdvi = 0 + nprocenttva = 0 + nsuma = 0 + nsumalei = 0 + oparinte = + Width = 616 + _shape1.Height = 29 + _shape1.Left = 0 + _shape1.Name = "_shape1" + _shape1.Top = 0 + _shape1.Width = 642 + _shape1.ZOrderSet = 3 + _shape2.Left = 549 + _shape2.Name = "_shape2" + _shape2.Top = 0 + _shape2.ZOrderSet = 4 + Lb_titlu_alb_b121.Caption = "Adauga factura" + Lb_titlu_alb_b121.Name = "Lb_titlu_alb_b121" + Lb_titlu_alb_b121.ZOrderSet = 5 + BUT_TERMIN1.Left = 586 + BUT_TERMIN1.Name = "BUT_TERMIN1" + BUT_TERMIN1.TabIndex = 27 + BUT_TERMIN1.Top = 1 + BUT_TERMIN1.Visible = .T. + BUT_TERMIN1.ZOrderSet = 6 + Gridsort1.Left = 5 + Gridsort1.Name = "Gridsort1" + Gridsort1.Top = 31 + * + + ADD OBJECT '_label1' AS _label WITH ; + AutoSize = .F., ; + BackStyle = 0, ; + Caption = "Fel doc", ; + FontBold = .T., ; + Height = 17, ; + Left = 25, ; + Name = "_label1", ; + Top = 305, ; + Width = 50, ; + ZOrderSet = 8 + *< END OBJECT: ClassLib="_baza.vcx" BaseClass="label" /> + + ADD OBJECT '_label2' AS _label WITH ; + AutoSize = .T., ; + BackStyle = 0, ; + Caption = "completati TVA% si apoi alegeti Explicatie TVA", ; + FontBold = .F., ; + FontItalic = .T., ; + FontSize = 9, ; + Height = 17, ; + Left = 20, ; + Name = "_label2", ; + Top = 252, ; + Width = 257, ; + ZOrderSet = 32 + *< END OBJECT: ClassLib="_baza.vcx" BaseClass="label" /> + + ADD OBJECT '_shape3' AS _shape WITH ; + BackColor = 240,225,255, ; + BackStyle = 0, ; + Height = 157, ; + Left = 12, ; + Name = "_shape3", ; + SpecialEffect = 0, ; + Top = 36, ; + Width = 592, ; + ZOrderSet = 1 + *< END OBJECT: ClassLib="_baza.vcx" BaseClass="shape" /> + + ADD OBJECT '_shape4' AS _shape WITH ; + BackColor = 197,197,226, ; + BackStyle = 0, ; + Height = 83, ; + Left = 12, ; + Name = "_shape4", ; + SpecialEffect = 0, ; + Top = 191, ; + Width = 592, ; + ZOrderSet = 2 + *< END OBJECT: ClassLib="_baza.vcx" BaseClass="shape" /> + + ADD OBJECT 'But_renunt1' AS but_renunt WITH ; + Left = 556, ; + Name = "But_renunt1", ; + TabIndex = 28, ; + Top = 1, ; + ZOrderSet = 47 + *< END OBJECT: ClassLib="cmd_butoane.vcx" BaseClass="commandbutton" /> + + ADD OBJECT 'chkInValutaCont' AS _checkbox WITH ; + Alignment = 0, ; + AutoSize = .F., ; + BackStyle = 0, ; + Caption = "Suma in valuta in contabilitate", ; + Height = 31, ; + Left = 491, ; + Name = "chkInValutaCont", ; + TabIndex = 14, ; + TabStop = .F., ; + Top = 117, ; + Value = 1, ; + Width = 102, ; + WordWrap = .T., ; + ZOrderSet = 30 + *< END OBJECT: ClassLib="_baza.vcx" BaseClass="checkbox" /> + + ADD OBJECT 'chkParticipaValuta' AS _checkbox WITH ; + Alignment = 0, ; + AutoSize = .F., ; + BackStyle = 0, ; + Caption = "Participa la pretul de intrare", ; + Height = 34, ; + Left = 491, ; + Name = "chkParticipaValuta", ; + TabIndex = 13, ; + TabStop = .F., ; + Top = 150, ; + Value = 1, ; + Width = 107, ; + WordWrap = .T., ; + ZOrderSet = 29 + *< END OBJECT: ClassLib="_baza.vcx" BaseClass="checkbox" /> + + ADD OBJECT 'cmdDviPartener' AS _commandbutton WITH ; + Caption = "...", ; + Enabled = .F., ; + FontBold = .T., ; + FontName = "Arial", ; + Left = 558, ; + Name = "cmdDviPartener", ; + TabIndex = 24, ; + Top = 332, ; + Width = 24, ; + ZOrderSet = 42 + *< END OBJECT: ClassLib="_baza.vcx" BaseClass="commandbutton" /> + + ADD OBJECT 'cmdExplicatieTva' AS _commandbutton WITH ; + Caption = "...", ; + FontBold = .T., ; + FontName = "Arial", ; + Left = 475, ; + Name = "cmdExplicatieTva", ; + TabIndex = 18, ; + Top = 225, ; + Width = 24, ; + ZOrderSet = 34 + *< END OBJECT: ClassLib="_baza.vcx" BaseClass="commandbutton" /> + + ADD OBJECT 'cmdFelDoc' AS _commandbutton WITH ; + Caption = "...", ; + FontBold = .T., ; + Left = 228, ; + Name = "cmdFelDoc", ; + TabIndex = 2, ; + Top = 38, ; + Width = 24, ; + ZOrderSet = 10 + *< END OBJECT: ClassLib="_baza.vcx" BaseClass="commandbutton" /> + + ADD OBJECT 'cmdFelDocDVI' AS _commandbutton WITH ; + Caption = "...", ; + FontBold = .T., ; + Left = 235, ; + Name = "cmdFelDocDVI", ; + TabIndex = 20, ; + Top = 300, ; + Width = 24, ; + ZOrderSet = 10 + *< END OBJECT: ClassLib="_baza.vcx" BaseClass="commandbutton" /> + + ADD OBJECT 'cmdPartener' AS _commandbutton WITH ; + Caption = "...", ; + FontBold = .T., ; + Height = 21, ; + Left = 558, ; + Name = "cmdPartener", ; + TabIndex = 7, ; + Top = 70, ; + Width = 24, ; + ZOrderSet = 19 + *< END OBJECT: ClassLib="_baza.vcx" BaseClass="commandbutton" /> + + ADD OBJECT 'cmdValuta' AS _commandbutton WITH ; + Caption = "...", ; + FontBold = .T., ; + Left = 339, ; + Name = "cmdValuta", ; + TabIndex = 11, ; + Top = 120, ; + Width = 24, ; + ZOrderSet = 26 + *< END OBJECT: ClassLib="_baza.vcx" BaseClass="commandbutton" /> + + ADD OBJECT 'lblCurs' AS _label WITH ; + AutoSize = .F., ; + BackStyle = 0, ; + Caption = "Curs", ; + FontBold = .T., ; + Height = 17, ; + Left = 368, ; + Name = "lblCurs", ; + Top = 125, ; + Width = 30, ; + ZOrderSet = 27 + *< END OBJECT: ClassLib="_baza.vcx" BaseClass="label" /> + + ADD OBJECT 'lblData' AS _label WITH ; + AutoSize = .F., ; + BackStyle = 0, ; + Caption = "Data", ; + FontBold = .T., ; + Height = 17, ; + Left = 456, ; + Name = "lblData", ; + Top = 43, ; + Width = 30, ; + ZOrderSet = 15 + *< END OBJECT: ClassLib="_baza.vcx" BaseClass="label" /> + + ADD OBJECT 'lblDviData' AS _label WITH ; + AutoSize = .T., ; + BackStyle = 0, ; + Caption = "Data", ; + FontBold = .T., ; + Height = 18, ; + Left = 445, ; + Name = "lblDviData", ; + Top = 304, ; + Width = 31, ; + ZOrderSet = 38 + *< END OBJECT: ClassLib="_baza.vcx" BaseClass="label" /> + + ADD OBJECT 'lblDviNr' AS _label WITH ; + AutoSize = .T., ; + BackStyle = 0, ; + Caption = "Nr", ; + FontBold = .T., ; + Height = 18, ; + Left = 287, ; + Name = "lblDviNr", ; + Top = 304, ; + Width = 16, ; + ZOrderSet = 36 + *< END OBJECT: ClassLib="_baza.vcx" BaseClass="label" /> + + ADD OBJECT 'lblDviPartener' AS _label WITH ; + AutoSize = .T., ; + BackStyle = 0, ; + Caption = "Partener", ; + FontBold = .T., ; + Height = 18, ; + Left = 25, ; + Name = "lblDviPartener", ; + Top = 335, ; + Width = 57, ; + ZOrderSet = 40 + *< END OBJECT: ClassLib="_baza.vcx" BaseClass="label" /> + + ADD OBJECT 'lblDviTvaLei' AS _label WITH ; + AutoSize = .T., ; + BackStyle = 0, ; + Caption = "TVA lei", ; + FontBold = .T., ; + Height = 18, ; + Left = 206, ; + Name = "lblDviTvaLei", ; + Top = 365, ; + Width = 48, ; + ZOrderSet = 45 + *< END OBJECT: ClassLib="_baza.vcx" BaseClass="label" /> + + ADD OBJECT 'lblDviTvaVal' AS _label WITH ; + AutoSize = .T., ; + BackStyle = 0, ; + Caption = "TVA valuta", ; + FontBold = .T., ; + Height = 18, ; + Left = 25, ; + Name = "lblDviTvaVal", ; + Top = 365, ; + Width = 71, ; + ZOrderSet = 43 + *< END OBJECT: ClassLib="_baza.vcx" BaseClass="label" /> + + ADD OBJECT 'lblExplicatieTva' AS _label WITH ; + AutoSize = .T., ; + BackStyle = 0, ; + Caption = "Explicatie TVA", ; + FontBold = .T., ; + Height = 18, ; + Left = 118, ; + Name = "lblExplicatieTva", ; + Top = 230, ; + Width = 95, ; + ZOrderSet = 32 + *< END OBJECT: ClassLib="_baza.vcx" BaseClass="label" /> + + ADD OBJECT 'lblFelDoc' AS _label WITH ; + AutoSize = .F., ; + BackStyle = 0, ; + Caption = "Fel doc", ; + FontBold = .T., ; + Height = 17, ; + Left = 20, ; + Name = "lblFelDoc", ; + Top = 43, ; + Width = 50, ; + ZOrderSet = 8 + *< END OBJECT: ClassLib="_baza.vcx" BaseClass="label" /> + + ADD OBJECT 'lblNr' AS _label WITH ; + AutoSize = .F., ; + BackStyle = 0, ; + Caption = "Nr", ; + FontBold = .T., ; + Height = 17, ; + Left = 350, ; + Name = "lblNr", ; + Top = 43, ; + Width = 20, ; + ZOrderSet = 13 + *< END OBJECT: ClassLib="_baza.vcx" BaseClass="label" /> + + ADD OBJECT 'lblPartener' AS _label WITH ; + AutoSize = .F., ; + BackStyle = 0, ; + Caption = "Partener", ; + FontBold = .T., ; + Height = 17, ; + Left = 20, ; + Name = "lblPartener", ; + Top = 73, ; + Width = 60, ; + ZOrderSet = 17 + *< END OBJECT: ClassLib="_baza.vcx" BaseClass="label" /> + + ADD OBJECT 'lblPedagogieDvi' AS _label WITH ; + AutoSize = .T., ; + BackStyle = 0, ; + Caption = "DVI", ; + FontBold = .T., ; + ForeColor = 0,0,25, ; + Height = 18, ; + Left = 25, ; + Name = "lblPedagogieDvi", ; + Top = 279, ; + Width = 24, ; + ZOrderSet = 35 + *< END OBJECT: ClassLib="_baza.vcx" BaseClass="label" /> + + ADD OBJECT 'lblProcentTva' AS _label WITH ; + AutoSize = .T., ; + BackStyle = 0, ; + Caption = "TVA %", ; + FontBold = .T., ; + Height = 18, ; + Left = 18, ; + Name = "lblProcentTva", ; + Top = 230, ; + Width = 42, ; + ZOrderSet = 48 + *< END OBJECT: ClassLib="_baza.vcx" BaseClass="label" /> + + ADD OBJECT 'lblSerie' AS _label WITH ; + AutoSize = .F., ; + BackStyle = 0, ; + Caption = "Serie", ; + FontBold = .T., ; + Height = 17, ; + Left = 260, ; + Name = "lblSerie", ; + Top = 43, ; + Width = 34, ; + ZOrderSet = 11 + *< END OBJECT: ClassLib="_baza.vcx" BaseClass="label" /> + + ADD OBJECT 'lblSuma' AS _label WITH ; + AutoSize = .T., ; + BackStyle = 0, ; + Caption = "Suma fara TVA", ; + FontBold = .T., ; + Height = 18, ; + Left = 20, ; + Name = "lblSuma", ; + Top = 125, ; + Width = 98, ; + ZOrderSet = 22 + *< END OBJECT: ClassLib="_baza.vcx" BaseClass="label" /> + + ADD OBJECT 'lblSumaLei' AS _label WITH ; + AutoSize = .T., ; + BackStyle = 0, ; + Caption = "Suma lei", ; + FontBold = .T., ; + Height = 18, ; + Left = 59, ; + Name = "lblSumaLei", ; + Top = 154, ; + Width = 59, ; + ZOrderSet = 50 + *< END OBJECT: ClassLib="_baza.vcx" BaseClass="label" /> + + ADD OBJECT 'lblValuta' AS _label WITH ; + AutoSize = .F., ; + BackStyle = 0, ; + Caption = "Valuta", ; + FontBold = .T., ; + Height = 17, ; + Left = 221, ; + Name = "lblValuta", ; + Top = 125, ; + Width = 40, ; + ZOrderSet = 24 + *< END OBJECT: ClassLib="_baza.vcx" BaseClass="label" /> + + ADD OBJECT 'optTipTva' AS _optiongrup WITH ; + AutoSize = .T., ; + BackStyle = 0, ; + ButtonCount = 3, ; + Height = 28, ; + Left = 16, ; + Name = "optTipTva", ; + TabIndex = 15, ; + Top = 196, ; + Value = 1, ; + Width = 289, ; + ZOrderSet = 31, ; + Option1.AutoSize = .T., ; + Option1.BackStyle = 0, ; + Option1.Caption = "TVA Furnizor", ; + Option1.FontBold = .T., ; + Option1.FontSize = 10, ; + Option1.Height = 18, ; + Option1.Left = 5, ; + Option1.Name = "Option1", ; + Option1.Top = 5, ; + Option1.Width = 102, ; + Option2.AutoSize = .T., ; + Option2.BackStyle = 0, ; + Option2.Caption = "TVA DVI", ; + Option2.FontBold = .T., ; + Option2.FontSize = 10, ; + Option2.Height = 18, ; + Option2.Left = 116, ; + Option2.Name = "Option2", ; + Option2.Top = 5, ; + Option2.Width = 71, ; + Option3.AutoSize = .T., ; + Option3.BackStyle = 0, ; + Option3.Caption = "Fara TVA", ; + Option3.FontBold = .T., ; + Option3.FontSize = 10, ; + Option3.Height = 18, ; + Option3.Left = 206, ; + Option3.Name = "Option3", ; + Option3.Top = 5, ; + Option3.Width = 78 + *< END OBJECT: ClassLib="_baza.vcx" BaseClass="optiongroup" /> + + ADD OBJECT 'shpDvi' AS _shape WITH ; + BackColor = 217,217,236, ; + BackStyle = 1, ; + Height = 121, ; + Left = 12, ; + Name = "shpDvi", ; + SpecialEffect = 0, ; + Top = 273, ; + Width = 592, ; + ZOrderSet = 0 + *< END OBJECT: ClassLib="_baza.vcx" BaseClass="shape" /> + + ADD OBJECT 'txtCurs' AS _textbox WITH ; + Alignment = 1, ; + ControlSource = "Thisform.nCurs", ; + Format = "RK", ; + InputMask = "9999.9999", ; + Left = 402, ; + Name = "txtCurs", ; + TabIndex = 12, ; + Top = 122, ; + Width = 80, ; + ZOrderSet = 28 + *< END OBJECT: ClassLib="_baza.vcx" BaseClass="textbox" /> + + ADD OBJECT 'txtData' AS _textbox WITH ; + ControlSource = "Thisform.dDataAct", ; + Format = "K", ; + Left = 490, ; + Name = "txtData", ; + TabIndex = 5, ; + Top = 40, ; + Width = 94, ; + ZOrderSet = 16 + *< END OBJECT: ClassLib="_baza.vcx" BaseClass="textbox" /> + + ADD OBJECT 'txtDviData' AS _textbox WITH ; + ControlSource = "Thisform.dDviData", ; + Enabled = .F., ; + Format = "K", ; + Left = 485, ; + Name = "txtDviData", ; + TabIndex = 22, ; + Top = 302, ; + Width = 90, ; + ZOrderSet = 39 + *< END OBJECT: ClassLib="_baza.vcx" BaseClass="textbox" /> + + ADD OBJECT 'txtDviNr' AS _textbox WITH ; + ControlSource = "Thisform.nNractDvi", ; + Enabled = .F., ; + Format = "RK", ; + Height = 23, ; + InputMask = "9999999999", ; + Left = 312, ; + Name = "txtDviNr", ; + TabIndex = 21, ; + Top = 302, ; + Width = 112, ; + ZOrderSet = 37 + *< END OBJECT: ClassLib="_baza.vcx" BaseClass="textbox" /> + + ADD OBJECT 'txtDviPartener' AS _textbox WITH ; + ControlSource = "Thisform.cDviPartener", ; + Enabled = .F., ; + Format = "K", ; + Height = 23, ; + Left = 98, ; + Name = "txtDviPartener", ; + TabIndex = 23, ; + Top = 332, ; + Width = 452, ; + ZOrderSet = 41 + *< END OBJECT: ClassLib="_baza.vcx" BaseClass="textbox" /> + + ADD OBJECT 'txtDviTvaLei' AS _textbox WITH ; + Alignment = 1, ; + ControlSource = "Thisform.nDviTvaLei", ; + Enabled = .F., ; + Format = "RK", ; + InputMask = "9999999.9999", ; + Left = 260, ; + Name = "txtDviTvaLei", ; + TabIndex = 26, ; + Top = 362, ; + Width = 90, ; + ZOrderSet = 46 + *< END OBJECT: ClassLib="_baza.vcx" BaseClass="textbox" /> + + ADD OBJECT 'txtDviTvaVal' AS _textbox WITH ; + Alignment = 1, ; + ControlSource = "Thisform.nDviTvaVal", ; + Enabled = .F., ; + Format = "RK", ; + InputMask = "9999999.9999", ; + Left = 98, ; + Name = "txtDviTvaVal", ; + TabIndex = 25, ; + Top = 362, ; + Width = 90, ; + ZOrderSet = 44 + *< END OBJECT: ClassLib="_baza.vcx" BaseClass="textbox" /> + + ADD OBJECT 'txtExplicatieTva' AS _textbox WITH ; + ControlSource = "Thisform.cExplicatieTva", ; + Enabled = .T., ; + Format = "K", ; + Left = 215, ; + Name = "txtExplicatieTva", ; + ReadOnly = .T., ; + TabIndex = 17, ; + Top = 227, ; + Width = 254, ; + ZOrderSet = 33 + *< END OBJECT: ClassLib="_baza.vcx" BaseClass="textbox" /> + + ADD OBJECT 'txtFelDoc' AS _textbox WITH ; + ControlSource = "Thisform.cFelDoc", ; + Enabled = .T., ; + Format = "K", ; + Left = 74, ; + Name = "txtFelDoc", ; + ReadOnly = .T., ; + TabIndex = 1, ; + Top = 40, ; + Width = 150, ; + ZOrderSet = 9 + *< END OBJECT: ClassLib="_baza.vcx" BaseClass="textbox" /> + + ADD OBJECT 'txtFelDocDVI' AS _textbox WITH ; + ControlSource = "Thisform.cFelDocDVI", ; + Enabled = .T., ; + Format = "K", ; + Left = 81, ; + Name = "txtFelDocDVI", ; + ReadOnly = .T., ; + TabIndex = 19, ; + Top = 302, ; + Width = 150, ; + ZOrderSet = 9 + *< END OBJECT: ClassLib="_baza.vcx" BaseClass="textbox" /> + + ADD OBJECT 'txtNr' AS _textbox WITH ; + ControlSource = "Thisform.nNract", ; + Format = "RK", ; + Height = 23, ; + InputMask = "9999999999", ; + Left = 371, ; + Name = "txtNr", ; + TabIndex = 4, ; + Top = 40, ; + Width = 79, ; + ZOrderSet = 14 + *< END OBJECT: ClassLib="_baza.vcx" BaseClass="textbox" /> + + ADD OBJECT 'txtPartener' AS _textbox WITH ; + ControlSource = "Thisform.cPartener", ; + Enabled = .T., ; + Format = "K", ; + Height = 23, ; + Left = 92, ; + Name = "txtPartener", ; + ReadOnly = .T., ; + TabIndex = 6, ; + Top = 70, ; + Width = 462, ; + ZOrderSet = 18 + *< END OBJECT: ClassLib="_baza.vcx" BaseClass="textbox" /> + + ADD OBJECT 'txtProcentTva' AS _textbox WITH ; + Alignment = 1, ; + ControlSource = "Thisform.nProcentTva", ; + Format = "RK", ; + InputMask = "999.99", ; + Left = 62, ; + Name = "txtProcentTva", ; + TabIndex = 16, ; + Top = 227, ; + Width = 44, ; + ZOrderSet = 49 + *< END OBJECT: ClassLib="_baza.vcx" BaseClass="textbox" /> + + ADD OBJECT 'txtSerie' AS _textbox WITH ; + ControlSource = "Thisform.cSerieAct", ; + Format = "K", ; + Height = 23, ; + Left = 298, ; + Name = "txtSerie", ; + TabIndex = 3, ; + Top = 40, ; + Width = 44, ; + ZOrderSet = 12 + *< END OBJECT: ClassLib="_baza.vcx" BaseClass="textbox" /> + + ADD OBJECT 'txtSuma' AS _textbox WITH ; + Alignment = 1, ; + ControlSource = "Thisform.nSuma", ; + Format = "RK", ; + Height = 23, ; + InputMask = "9999999999.9999", ; + Left = 125, ; + Name = "txtSuma", ; + TabIndex = 9, ; + Top = 122, ; + Width = 80, ; + ZOrderSet = 23 + *< END OBJECT: ClassLib="_baza.vcx" BaseClass="textbox" /> + + ADD OBJECT 'txtSumaLei' AS _textbox WITH ; + Alignment = 1, ; + ControlSource = "Thisform.nSumaLei", ; + Format = "RK", ; + InputMask = "9999999999.99", ; + Left = 125, ; + Name = "txtSumaLei", ; + TabIndex = 29, ; + Top = 151, ; + Width = 80, ; + ZOrderSet = 51 + *< END OBJECT: ClassLib="_baza.vcx" BaseClass="textbox" /> + + ADD OBJECT 'txtValuta' AS _textbox WITH ; + ControlSource = "Thisform.cValuta", ; + Enabled = .T., ; + Format = "K", ; + Left = 265, ; + Name = "txtValuta", ; + ReadOnly = .T., ; + TabIndex = 10, ; + Top = 122, ; + Width = 70, ; + ZOrderSet = 25 + *< END OBJECT: ClassLib="_baza.vcx" BaseClass="textbox" /> + + PROCEDURE actualizeaza_stare_dvi + *!* Arata/ascunde subrandul DVI dupa radio-ul TVA; pre-completeaza din memoria DVI + *!* a lui import_nota si pune data DVI = data facturii principale daca lipseste. + Local llDvi, loCtl + llDvi = (This.optTipTva.Value = 2) + For Each loCtl In This.Controls + If At('DVI', Upper(loCtl.Name)) > 0 + loCtl.Visible = llDvi + If Pemstatus(loCtl, 'Enabled', 5) + loCtl.Enabled = llDvi + Endif + Endif + Endfor + This._label1.Visible = llDvi + If llDvi + If !Empty(This.oParinte.cDviSerie) Or This.oParinte.nDviIdPartener <> 0 Or !Empty(Nvl(This.oParinte.nDviIdFdoc, 0)) Or Val(Nvl(This.oParinte.cDviNr, '0')) <> 0 + This.cDviSerie = This.oParinte.cDviSerie + This.cDviPartener = This.oParinte.cDviPartener + This.dDviData = This.oParinte.dDviData + This.nDviIdPartener = This.oParinte.nDviIdPartener + This.nNractDvi = Val(Nvl(This.oParinte.cDviNr, '0')) + This.cFelDocDvi = Nvl(This.oParinte.cDviFelDoc, '') + This.nIdFdocDVI = Nvl(This.oParinte.nDviIdFdoc, 0) + Endif + If Vartype(This.dDviData) <> 'D' Or Empty(This.dDviData) + This.dDviData = This.dDataAct + Endif + This.txtDviNr.Value = This.nNractDvi + This.txtDviData.Value = This.dDviData + This.txtDviPartener.Value = This.cDviPartener + Endif + This.Refresh() + ENDPROC + + PROCEDURE actualizeaza_stare_valuta + *!* Propune cursul BNR (onom_curs.vc2 / clasa "curs") pentru valuta si data curente. + *!* Daca valuta e RON, cursul e fixat la 1 si nu se mai cere suma in valuta. + *!* Daca utilizatorul a editat manual cursul (lCursDirty), nu il mai suprascriu. + Local loCurs, lnCurs + If Empty(This.cValuta) Or Upper(Alltrim(This.cValuta)) == 'RON' + This.nCurs = 1 + This.txtCurs.Value = 1 + + This.txtCurs.Enabled = .F. + This.chkInValutaCont.Value = 0 + This.chkInValutaCont.Enabled = .F. + This.arata_valuta_curs(.T.) + Else + This.txtCurs.Enabled = .T. + This.chkInValutaCont.Enabled = .T. + If !This.lInValutaDirty + This.chkInValutaCont.Value = 1 + Endif + This.arata_valuta_curs(This.chkInValutaCont.Value = 1) + Endif + This.seteaza_masti() + This.Refresh() + ENDPROC + + PROCEDURE actualizeaza_tabstop + *!* Butoanele "..." ies din ordinea de tab cand valoarea lor e deja completata, + *!* ca Tab/Enter sa nu se mai opreasca pe ele (cautarea ramane pe dublu-click/GotFocus). + This.cmdFelDoc.TabStop = Empty(Nvl(This.nIdFdoc, 0)) And Empty(Alltrim(Nvl(This.cFelDoc, ''))) + This.cmdPartener.TabStop = Empty(Nvl(This.nIdPartener, 0)) + This.cmdExplicatieTva.TabStop = Empty(Nvl(This.nIdExplicatieTva, 0)) + This.cmdFelDocDVI.TabStop = Empty(Nvl(This.nIdFdocDVI, 0)) And Empty(Alltrim(Nvl(This.cFelDocDvi, ''))) + This.cmdDviPartener.TabStop = Empty(Nvl(This.nDviIdPartener, 0)) + This.cmdValuta.TabStop = Empty(Nvl(This.nIdValuta, 0)) And Empty(Alltrim(Nvl(This.cValuta, ''))) + ENDPROC + + PROCEDURE arata_valuta_curs + *!* Arata/ascunde selectorul de valuta si cursul (bifa "Suma in valuta in contabilitate"). + Lparameters tlArata + This.lblValuta.Visible = tlArata + This.txtValuta.Visible = tlArata + This.cmdValuta.Visible = tlArata + This.lblCurs.Visible = tlArata + This.txtCurs.Visible = tlArata + ENDPROC + + PROCEDURE construieste_todlg + *!* Construieste obiectul toDlg pentru import_nota.do_adauga_factura(). + *!* Contract populabil programatic (nu doar din UI) - vezi docs M2. + Local loT + loT = Createobject('Empty') + Addproperty(loT, 'serie_act', Alltrim(Nvl(This.cSerieAct, ''))) + Addproperty(loT, 'nract', This.nNract) + Addproperty(loT, 'dataact', This.dDataAct) + Addproperty(loT, 'fdoc', This.cFelDoc) + Addproperty(loT, 'id_fdoc', This.nIdFdoc) + Addproperty(loT, 'id_partc', This.nIdPartener) + Addproperty(loT, 'partc', This.cPartener) + Addproperty(loT, 'explicatia', Alltrim(Nvl(This.cExplicatia, ''))) + Addproperty(loT, 'suma', Iif(This.chkInValutaCont.Value = 1 And This.nCurs <> 0, Iif(This.nSumaLei <> 0, This.nSumaLei, Round(This.nSuma * This.nCurs, m.gnPC)), This.nSuma)) + Addproperty(loT, 'suma_val', Iif(This.chkInValutaCont.Value = 1 And This.nCurs <> 0, This.nSuma, 0)) + Addproperty(loT, 'in_valuta', This.chkInValutaCont.Value) + Addproperty(loT, 'participa_valuta', (This.chkParticipaValuta.Value = 1)) + Addproperty(loT, 'id_valuta', Iif(This.chkInValutaCont.Value = 1, This.nIdValuta, 0)) + Addproperty(loT, 'curs', Iif(This.chkInValutaCont.Value = 1, This.nCurs, 0)) + Addproperty(loT, 'nume_val', Iif(This.chkInValutaCont.Value = 1, Alltrim(Nvl(This.cValuta, '')), '')) + Addproperty(loT, 'cTipTva', Iif(This.optTipTva.Value = 1, 'F', Iif(This.optTipTva.Value = 2, 'D', 'N'))) + Addproperty(loT, 'id_jtva_coloana', This.nIdExplicatieTva) + If This.optTipTva.Value = 2 + Addproperty(loT, 'dvi_serie', Chrtran(Alltrim(Nvl(This.cSerieDvi, '')), Chr(34), '')) + Addproperty(loT, 'dvi_nract', This.nNractDvi) + Addproperty(loT, 'dvi_dataact', This.dDviData) + Addproperty(loT, 'dvi_id_fdoc', This.nIdFdocDVI) + Addproperty(loT, 'dvi_fdoc', This.cFelDocDvi) + Addproperty(loT, 'dvi_id_partc', This.nDviIdPartener) + Addproperty(loT, 'dvi_partc', This.cDviPartener) + Addproperty(loT, 'dvi_scc', '401') + Addproperty(loT, 'dvi_tva_lei', This.nDviTvaLei) + Addproperty(loT, 'dvi_tva_val', This.nDviTvaVal) + Endif + Return loT + ENDPROC + + PROCEDURE inainte_de_do_termin + *!* Hook standard _frmbase (apelat de do_termin, _frm_base.vc2:363): valideaza + adauga + *!* perechea (baza+TVA) prin import_nota.do_adauga_factura() +, daca reuseste, permite + *!* inchiderea dialogului (Return .T.). Return .F. tine dialogul deschis pentru corectare. + Local loFelDviCauta, llOk + + If !Thisform.valideaza() + Return .F. + Endif + + * la prima trecere pe "prin DVI" in aceasta sesiune, cer felul documentului DVI + * (devine cheia sesiunii pentru M1/memoria DVI - docs M2, autoplan #37) + If Thisform.optTipTva.Value = 2 And Empty(Nvl(Thisform.nIdFdocDVI, 0)) And Empty(Alltrim(Nvl(Thisform.cFelDocDvi, ''))) + loFelDviCauta = caut_fdoc(.F., .T.) + If Vartype(loFelDviCauta) <> 'O' Or Empty(Nvl(loFelDviCauta.id_fdoc, 0)) + Amessagebox('Alegeti felul documentului pentru DVI.', 0 + 48, 'Adauga factura') + Return .F. + Endif + Thisform.oParinte.nDviIdFdoc = loFelDviCauta.id_fdoc + Thisform.nIdFdocDVI = loFelDviCauta.id_fdoc + Thisform.cFelDocDvi = loFelDviCauta.fel_document + Thisform.oParinte.cDviFelDoc = loFelDviCauta.fel_document + Endif + + Thisform.LockScreen = .T. + Wait Window 'Se adauga factura...' Nowait + llOk = Thisform.oParinte.do_adauga_factura(Thisform.construieste_todlg()) + Wait Clear + + If llOk And Thisform.optTipTva.Value = 2 + * memoria DVI (identitate document) traieste pe import_nota + Thisform.oParinte.cDviSerie = Chrtran(Alltrim(Nvl(Thisform.cSerieDvi, '')), Chr(34), '') + Thisform.oParinte.cDviNr = Alltrim(Str(Thisform.nNractDvi, 14)) + Thisform.oParinte.dDviData = Thisform.dDviData + Thisform.oParinte.nDviIdPartener = Thisform.nDviIdPartener + Thisform.oParinte.cDviPartener = Thisform.cDviPartener + Thisform.oParinte.cDviFelDoc = Thisform.cFelDocDvi + Thisform.oParinte.nDviIdFdoc = Thisform.nIdFdocDVI + Endif + + Thisform.LockScreen = .F. + Return llOk + ENDPROC + + PROCEDURE Init + Lparameters toParinte + + DoDefault() + + This.oParinte = toParinte + This.dData = Iif(Vartype(toParinte.oact.dataact) = 'D' And !Empty(toParinte.oact.dataact), toParinte.oact.dataact, Date()) + This.dDataAct = This.dData + This.nIdValuta = Nvl(toParinte.oact.id_valuta, 0) + This.cValuta = Alltrim(Nvl(toParinte.oact.nume_val, '')) + This.nCurs = Nvl(toParinte.oact.curs, 1) + This.cExplicatia = '' + + * pre-completare din antetul notei (toParinte.oact = Scatter din vact) - Marius alege + * felul documentului, furnizorul si cursul la deschiderea notei; dialogul le mosteneste, + * editabile. Guard Type() ca sa nu crape Init daca vreun camp lipseste din vact. + If Type('toParinte.oact.id_fdoc') <> 'U' + This.nIdFdoc = Nvl(toParinte.oact.id_fdoc, 0) + This.cFelDoc = Alltrim(Nvl(toParinte.oact.fdoc, '')) + Endif + If Type('toParinte.oact.id_partc') <> 'U' + This.nIdPartener = Nvl(toParinte.oact.id_partc, 0) + This.cPartener = Alltrim(Nvl(toParinte.oact.partc, '')) + Endif + If Type('toParinte.oact.serie_act') <> 'U' + This.cSerieAct = Alltrim(Nvl(toParinte.oact.serie_act, '')) + Endif + + * memoria DVI, daca a mai fost folosita in aceasta sesiune a formularului import_nota + This.cDviSerie = toParinte.cDviSerie + This.cDviPartener = toParinte.cDviPartener + This.dDviData = toParinte.dDviData + This.nDviIdPartener = toParinte.nDviIdPartener + This.cFelDocDvi = Nvl(toParinte.cDviFelDoc, '') + This.nIdFdocDVI = Nvl(toParinte.nDviIdFdoc, 0) + This.nNractDvi = Val(Nvl(toParinte.cDviNr, '0')) + + * explicatia TVA default: iau din randul 1 (baza) al perechii - baza defineste + * documentul (ex. "Ach. CE"); randul 2 e TVA ("TVA Ach. CE"). Daca introdc e goala + * (prima factura) iau din introdc_sablon, altfel din prima pereche din introdc. + Local lnSelIni + lnSelIni = Select() + This.nIdExplicatieTva = 0 + This.cExplicatieTva = '' + This.nProcentTva = 0 + If Used('introdc') And Reccount('introdc') >= 2 + Select introdc + Go TOP + This.nIdExplicatieTva = Nvl(id_jtva_coloana, 0) + This.cExplicatieTva = Alltrim(Nvl(explicatie_tva, '')) + This.nProcentTva = Nvl(ptva, 0) + Else + If Used('introdc_sablon') And Reccount('introdc_sablon') >= 2 + Select introdc_sablon + Go TOP + This.nIdExplicatieTva = Nvl(id_jtva_coloana, 0) + This.cExplicatieTva = Alltrim(Nvl(explicatie_tva, '')) + This.nProcentTva = Nvl(ptva, 0) + Endif + Endif + Select (lnSelIni) + + This.optTipTva.Value = 1 + This.actualizeaza_stare_valuta() + This.actualizeaza_stare_dvi() + This.actualizeaza_tabstop() + This.Refresh() + ENDPROC + + PROCEDURE recalc_tva + *!* Precompleteaza TVA-ul DVI din baza facturii si cota (This.nProcentTva): + *!* in valuta: TVA_val = baza_val * cota/100, TVA_lei = TVA_val * curs; + *!* in lei (RON): TVA_lei = baza_lei * cota/100. Utilizatorul poate corecta. + Local lnCota, lnBazaVal, lnTvaVal, lnTvaLei + lnCota = Nvl(This.nProcentTva, 0) + * suma fara TVA in lei (editabila): o recalculez doar daca nu a fost editata manual + If !This.lSumaLeiDirty + If This.chkInValutaCont.Value = 1 And This.nCurs <> 0 + This.nSumaLei = Round(This.nSuma * This.nCurs, m.gnPC) + Else + This.nSumaLei = Round(This.nSuma, m.gnPC) + Endif + This.txtSumaLei.Refresh() + Endif + If This.optTipTva.Value = 2 And lnCota > 0 And This.nSuma <> 0 + If This.chkInValutaCont.Value = 1 And This.nCurs <> 0 + lnBazaVal = This.nSuma + lnTvaVal = Round(lnBazaVal * lnCota / 100, m.gnPval) + lnTvaLei = Round(lnTvaVal * This.nCurs, m.gnPC) + Else + lnTvaVal = 0 + lnTvaLei = Round(This.nSuma * lnCota / 100, m.gnPC) + Endif + This.nDviTvaVal = lnTvaVal + This.nDviTvaLei = lnTvaLei + This.txtDviTvaVal.Value = lnTvaVal + This.txtDviTvaLei.Value = lnTvaLei + Endif + ENDPROC + + PROCEDURE seteaza_masti + *!* Masti de precizie pe sumele din dialog: valorile in valuta cu m.gnPval, + *!* valorile in lei cu m.gnPC - acelasi mecanism ca in grid (get_mask). + Local llValuta + llValuta = (This.chkInValutaCont.Value = 1 And This.nCurs <> 0) + This.txtSuma.InputMask = get_mask(12, Iif(llValuta, m.gnPval, m.gnPC)) + This.txtSumaLei.InputMask = get_mask(12, m.gnPC) + This.txtDviTvaVal.InputMask = get_mask(12, m.gnPval) + This.txtDviTvaLei.InputMask = get_mask(12, m.gnPC) + ENDPROC + + PROCEDURE valideaza + *!* Validari la "Termin", numite explicit, fara crash (docs/propuneri_ergonomie_import.md, M2). + If Empty(Nvl(This.nIdFdoc, 0)) And Empty(Alltrim(Nvl(This.cFelDoc, ''))) + Amessagebox('Alegeti felul documentului.', 0 + 48, 'Adauga factura') + Return .F. + Endif + If This.nNract = 0 + Amessagebox('Completati numarul actului.', 0 + 48, 'Adauga factura') + Return .F. + Endif + If Vartype(This.dDataAct) <> 'D' Or Empty(This.dDataAct) + Amessagebox('Completati data documentului.', 0 + 48, 'Adauga factura') + Return .F. + Endif + If Year(This.dDataAct) <> m.gnAn Or Month(This.dDataAct) <> m.gnLuna + Amessagebox('Data documentului nu este in perioada de lucru (' + Alltrim(Str(m.gnLuna)) + '/' + Alltrim(Str(m.gnAn)) + ').', 0 + 48, 'Adauga factura') + Return .F. + Endif + If Empty(Nvl(This.nIdPartener, 0)) + Amessagebox('Alegeti partenerul.', 0 + 48, 'Adauga factura') + Return .F. + Endif + If This.nSuma = 0 + Amessagebox('Suma nu poate fi zero.', 0 + 48, 'Adauga factura') + Return .F. + Endif + If This.optTipTva.Value = 1 And Empty(Nvl(This.nIdExplicatieTva, 0)) + Amessagebox('Alegeti explicatia TVA.', 0 + 48, 'Adauga factura') + Return .F. + Endif + If This.optTipTva.Value = 2 + If This.nNractDvi = 0 Or Vartype(This.dDviData) <> 'D' Or Empty(This.dDviData) + Amessagebox('Completati numarul si data DVI-ului.', 0 + 48, 'Adauga factura') + Return .F. + Endif + If Empty(Nvl(This.nDviIdPartener, 0)) + Amessagebox('Alegeti partenerul vamal (DVI).', 0 + 48, 'Adauga factura') + Return .F. + Endif + If This.nDviTvaLei = 0 + Amessagebox('TVA in lei (DVI) trebuie sa fie mai mare decat zero.', 0 + 48, 'Adauga factura') + Return .F. + Endif + Endif + Return .T. + ENDPROC + + PROCEDURE chkInValutaCont.InteractiveChange + *!* bifa scoasa = suma NU se inregistreaza in valuta: valuta si cursul nu au sens, + *!* le ascund; valorile raman memorate pe forma si revin la re-bifare. + Thisform.lInValutaDirty = .T. + Thisform.arata_valuta_curs(This.Value = 1) + Thisform.seteaza_masti() + Thisform.recalc_tva() + ENDPROC + + PROCEDURE cmdDviPartener.Click + Local loCauta + loCauta = caut_partener(-2, 'Alegeti partenerul DVI', .F., .T.) + If Vartype(loCauta) = 'O' And !Empty(Nvl(loCauta.id_part, 0)) + Thisform.nDviIdPartener = loCauta.id_part + Thisform.cDviPartener = Alltrim(loCauta.denumire) + Thisform.txtDviPartener.Refresh() + Endif + Thisform.actualizeaza_tabstop() + ENDPROC + + PROCEDURE cmdExplicatieTva.Click + *!* Cauta explicatia TVA filtrata dupa procentul ales (Thisform.nProcentTva) - acelasi + *!* mecanism ca in grid (do_modifica_explicatie_tva): cauta_alfa direct pe vjtva_coloane + *!* cu filtru pe cota_tva. Procent 0/gol => toate cotele. + Local loCauta, lnCota, lcFiltru + lnCota = Nvl(Thisform.nProcentTva, 0) + lcFiltru = [id_jtva_coloana > 0] + If lnCota > 0 + lcFiltru = lcFiltru + [ and cota_tva = ] + Alltrim(Str(lnCota, 10, 2)) + Endif + loCauta = cauta_alfa([select id_jtva_coloana, denumire, cota_tva FROM vjtva_coloane], [1=2], [], ; + [denumire], [denumire,cota_tva], [Alegeti explicatia TVA], [Explicatie TVA,Cota TVA], ; + [], .F., lcFiltru) + If Vartype(loCauta) <> 'O' Or Empty(Nvl(loCauta.id_jtva_coloana, 0)) + Return + Endif + Thisform.nIdExplicatieTva = loCauta.id_jtva_coloana + Thisform.cExplicatieTva = Alltrim(loCauta.denumire) + Thisform.nProcentTva = Nvl(loCauta.cota_tva, 0) + Thisform.txtExplicatieTva.Refresh() + If Pemstatus(Thisform, 'txtProcentTva', 5) + Thisform.txtProcentTva.Refresh() + Endif + Thisform.recalc_tva() + Thisform.actualizeaza_tabstop() + ENDPROC + + PROCEDURE cmdFelDoc.Click + Local loCauta + loCauta = caut_fdoc(.F., .T.) + If Vartype(loCauta) = 'O' And !Empty(Nvl(loCauta.id_fdoc, 0)) + Thisform.nIdFdoc = loCauta.id_fdoc + Thisform.cFelDoc = loCauta.fel_document + Thisform.txtFelDoc.Refresh() + Thisform.txtSerie.SetFocus() + Endif + Thisform.actualizeaza_tabstop() + ENDPROC + + PROCEDURE cmdFelDocDVI.Click + Local loCauta + loCauta = caut_fdoc(.F., .T.) + If Vartype(loCauta) = 'O' And !Empty(Nvl(loCauta.id_fdoc, 0)) + Thisform.nIdFdocDVI = loCauta.id_fdoc + Thisform.cFelDocDVI = loCauta.fel_document + Thisform.txtFelDocDVI.Refresh() + Thisform.txtDVINr.SetFocus() + Endif + Thisform.actualizeaza_tabstop() + ENDPROC + + PROCEDURE cmdPartener.Click + Local loCauta + loCauta = caut_partener(-2, 'Alegeti furnizorul', .F., .T.) + If Vartype(loCauta) = 'O' And !Empty(Nvl(loCauta.id_part, 0)) + Thisform.nIdPartener = loCauta.id_part + Thisform.cPartener = Alltrim(loCauta.denumire) + Thisform.txtPartener.Refresh() + Thisform.txtSuma.SetFocus() + Endif + Thisform.actualizeaza_tabstop() + ENDPROC + + PROCEDURE cmdValuta.Click + Local loCauta + loCauta = caut_valuta(, .F., .F.) + If Vartype(loCauta) = 'O' And !Empty(Nvl(loCauta.id_valuta, 0)) + Thisform.nIdValuta = loCauta.id_valuta + Thisform.cValuta = Alltrim(loCauta.nume_val) + Thisform.txtValuta.Refresh() + Thisform.lCursDirty = .F. + Thisform.lInValutaDirty = .F. + Thisform.actualizeaza_stare_valuta() + Thisform.recalc_tva() + Endif + Thisform.actualizeaza_tabstop() + ENDPROC + + PROCEDURE optTipTva.InteractiveChange + Thisform.actualizeaza_stare_dvi() + Thisform.recalc_tva() + ENDPROC + + PROCEDURE txtCurs.Valid + If !Thisform.lSuprimaDirty + Thisform.lCursDirty = .T. + Endif + Thisform.nCurs = This.Value + Thisform.recalc_tva() + ENDPROC + + PROCEDURE txtData.Valid + This.Parent.dDataAct = This.Value + This.Parent.actualizeaza_stare_valuta() + ENDPROC + + PROCEDURE txtDviPartener.DblClick + Thisform.cmddviPartener.Click() + ENDPROC + + PROCEDURE txtDviPartener.GotFocus + If This.Tag == 'SKIP' + This.Tag = '' + Return + Endif + If Thisform.optTipTva.Value = 2 And Empty(Nvl(Thisform.nDviIdPartener, 0)) + This.Tag = 'SKIP' + Thisform.cmdDviPartener.Click() + Endif + ENDPROC + + PROCEDURE txtDviPartener.InteractiveChange + Thisform.cmddviPartener.Click() + This.Value = Thisform.cDviPartener + ENDPROC + + PROCEDURE txtExplicatieTva.DblClick + Thisform.cmdExplicatieTva.Click() + ENDPROC + + PROCEDURE txtExplicatieTva.InteractiveChange + Thisform.cmdExplicatieTva.Click() + this.Value = Thisform.cExplicatieTva + ENDPROC + + PROCEDURE txtFelDoc.DblClick + thisform.cmdfelDoc.Click() + ENDPROC + + PROCEDURE txtFelDoc.GotFocus + If This.Tag == 'SKIP' + This.Tag = '' + Return + Endif + If Empty(Nvl(Thisform.nIdFdoc, 0)) And Empty(Alltrim(Nvl(Thisform.cFelDoc, ''))) + This.Tag = 'SKIP' + Thisform.cmdFelDoc.Click() + Endif + ENDPROC + + PROCEDURE txtFelDoc.InteractiveChange + thisform.cmdfelDoc.Click() + This.Value = Thisform.cFelDoc + + ENDPROC + + PROCEDURE txtFelDocDVI.DblClick + thisform.cmdfelDocDVI.Click() + ENDPROC + + PROCEDURE txtFelDocDVI.GotFocus + If This.Tag == 'SKIP' + This.Tag = '' + Return + Endif + If Thisform.optTipTva.Value = 2 And Empty(Nvl(Thisform.nIdFdocDVI, 0)) And Empty(Alltrim(Nvl(Thisform.cFelDocDvi, ''))) + This.Tag = 'SKIP' + Thisform.cmdFelDocDVI.Click() + Endif + ENDPROC + + PROCEDURE txtFelDocDVI.InteractiveChange + Thisform.cmdFelDocDVI.Click() + This.Value = Thisform.cFelDocDVI + ENDPROC + + PROCEDURE txtPartener.DblClick + Thisform.cmdPartener.Click() + ENDPROC + + PROCEDURE txtPartener.GotFocus + If This.Tag == 'SKIP' + This.Tag = '' + Return + Endif + If Empty(Nvl(Thisform.nIdPartener, 0)) + This.Tag = 'SKIP' + Thisform.cmdPartener.Click() + Endif + ENDPROC + + PROCEDURE txtPartener.InteractiveChange + Thisform.cmdPartener.Click() + This.Value = Thisform.cPartener + ENDPROC + + PROCEDURE txtProcentTva.Valid + Thisform.nProcentTva = This.Value + Thisform.recalc_tva() + ENDPROC + + PROCEDURE txtSuma.Valid + If This.Value <> Thisform.nSuma + * suma s-a schimbat: reiau calculul automat al sumei in lei + Thisform.lSumaLeiDirty = .F. + Endif + Thisform.nSuma = This.Value + Thisform.recalc_tva() + ENDPROC + + PROCEDURE txtSumaLei.Valid + If This.Value <> Thisform.nSumaLei + Thisform.nSumaLei = This.Value + Thisform.lSumaLeiDirty = .T. + Endif + ENDPROC + + PROCEDURE txtValuta.DblClick + Thisform.cmdvaluta.Click() + ENDPROC + +ENDDEFINE + +DEFINE CLASS import_nir AS frm_termin_renunt OF "_frm_child.vcx" + *< CLASSDATA: Baseclass="form" Timestamp="" Scale="Pixels" Uniqueid="" /> + + *-- OBJECTDATA items order determines ZOrder / El orden de los items OBJECTDATA determina el ZOrder + *< OBJECTDATA: ObjPath="Label3" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="Cmd_executa1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="Clb_leiftva" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="Clb_leiadaos" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="Clb_leitva" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="Clb_valftva" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="Clb_valadaos" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="Clb_valtva" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="lblLei" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="lblValuta" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="Grid1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="Grid1.cDenumire.Header1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="Grid1.cDenumire.Text1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="Grid1.cCodMat.Header1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="Grid1.cCodMat.Text1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="Grid1.cCant.Header1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="Grid1.cCant.Text1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="Grid1.cPretFactura.Header1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="Grid1.cPretFactura.Text1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="Grid1.cPretValutaCalculat.Header1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="Grid1.cPretValutaCalculat.Text1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="Grid1.cPretLeiCalculat.Header1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="Grid1.cPretLeiCalculat.Text1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="Grid1.cValoareValutaFactura.Header1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="Grid1.cValoareValutaFactura.Text1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="Grid1.cValoareValutaCalculat.Header1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="Grid1.cValoareValutaCalculat.Text1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="Grid1.cValoareLeiCalculat.Header1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="Grid1.cValoareLeiCalculat.Text1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="Grid1.cCont.Header1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="Grid1.cCont.Text1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="Grid1.cAcont.Header1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="Grid1.cAcont.Text1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="Grid1.cSerie.Header1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="Grid1.cSerie.Text1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="Grid1.cLot.Header1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="Grid1.cLot.Text1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="Grid1.cAdata_expirare.Header1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="Grid1.cAdata_expirare.Text1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="Grid1.Column1.Header1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="Grid1.Column1.Text1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="Clb_diferente_lei" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="clb_diferente_valuta" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="Cmd_adauga1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="Cmd_adauga2" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="But_modiparam1" UniqueID="" Timestamp="" /> + + * + *m: assign_analitic + *m: do_calculeaza_diferente + *m: do_modiparam + *p: lintern && Achizitie din import (.F.) / din intern (.T.) + *p: nbaza_lei + *p: nbaza_val + *p: ncurs + *p: ndif_lei + *p: ndif_val + *p: ntva_lei + *p: ntva_val + *p: oact + *p: procent_lei + *p: procent_val + * + + * + BorderStyle = 1 + DoCreate = .T. + FontCharSet = 238 + Height = 432 + lintern = .F. + Name = "import_nir" + nbaza_lei = 0 + nbaza_val = 0 + ncurs = 0 + ndif_lei = 0 + ndif_val = 0 + ntva_lei = 0 + ntva_val = 0 + oact = .F. + procent_lei = 0 + procent_val = 0 + Width = 768 + _shape1.Anchor = 10 + _shape1.Height = 29 + _shape1.Left = -12 + _shape1.Name = "_shape1" + _shape1.Top = 0 + _shape1.Width = 797 + _shape2.Height = 29 + _shape2.Left = 673 + _shape2.Name = "_shape2" + _shape2.Top = 0 + _shape2.Visible = .F. + _shape2.Width = 194 + Lb_titlu_alb_b121.Caption = "INTRARE IN GESTIUNE MARFÃ/MATERIALE IMPORT" + Lb_titlu_alb_b121.FontSize = 11 + Lb_titlu_alb_b121.Name = "Lb_titlu_alb_b121" + Lb_titlu_alb_b121.TabIndex = 1 + BUT_TERMIN1.Anchor = 8 + BUT_TERMIN1.Left = 738 + BUT_TERMIN1.Name = "BUT_TERMIN1" + BUT_TERMIN1.TabIndex = 2 + BUT_TERMIN1.Top = 1 + Gridsort1.Name = "Gridsort1" + But_renunt1.Anchor = 8 + But_renunt1.Left = 707 + But_renunt1.Name = "But_renunt1" + But_renunt1.TabIndex = 3 + But_renunt1.Top = 1 + * + + ADD OBJECT 'But_modiparam1' AS but_modiparam WITH ; + Anchor = 8, ; + Left = 677, ; + Name = "But_modiparam1", ; + ToolTipText = "Import fisier XLS", ; + Top = 1 + *< END OBJECT: ClassLib="cmd_butoane.vcx" BaseClass="commandbutton" /> + + ADD OBJECT 'Clb_diferente_lei' AS clb_tx_simplu WITH ; + Anchor = 12, ; + Height = 29, ; + Left = 543, ; + Name = "Clb_diferente_lei", ; + TabIndex = 15, ; + TabStop = .F., ; + Top = 392, ; + Width = 219, ; + Text_simplu1.ControlSource = "thisform.ndif_lei", ; + Text_simplu1.DisabledBackColor = 230,242,255, ; + Text_simplu1.FontName = "Arial Narrow", ; + Text_simplu1.FontSize = 10, ; + Text_simplu1.Height = 23, ; + Text_simplu1.InputMask = (get_mask(10,gnPc)), ; + Text_simplu1.Left = 79, ; + Text_simplu1.Name = "Text_simplu1", ; + Text_simplu1.ReadOnly = .T., ; + Text_simplu1.Top = 3, ; + Text_simplu1.Width = 135, ; + Lb_simplu1.Caption = "Diferenþe lei", ; + Lb_simplu1.Comment = "", ; + Lb_simplu1.Name = "Lb_simplu1" + *< END OBJECT: ClassLib="lb_tx.vcx" BaseClass="container" /> + + ADD OBJECT 'clb_diferente_valuta' AS clb_tx_simplu WITH ; + Anchor = 12, ; + Height = 29, ; + Left = 318, ; + Name = "clb_diferente_valuta", ; + TabIndex = 16, ; + TabStop = .F., ; + Top = 392, ; + Width = 226, ; + Text_simplu1.ControlSource = "thisform.ndif_val", ; + Text_simplu1.DisabledBackColor = 240,248,255, ; + Text_simplu1.FontName = "Arial Narrow", ; + Text_simplu1.FontSize = 10, ; + Text_simplu1.Height = 23, ; + Text_simplu1.InputMask = (get_mask(10,gnPval)), ; + Text_simplu1.Left = 98, ; + Text_simplu1.Name = "Text_simplu1", ; + Text_simplu1.ReadOnly = .T., ; + Text_simplu1.Top = 3, ; + Text_simplu1.Width = 125, ; + Lb_simplu1.Caption = "Diferenþe valutã", ; + Lb_simplu1.Comment = "", ; + Lb_simplu1.Name = "Lb_simplu1" + *< END OBJECT: ClassLib="lb_tx.vcx" BaseClass="container" /> + + ADD OBJECT 'Clb_leiadaos' AS clb_tx_simplu WITH ; + Height = 29, ; + Left = 615, ; + Name = "Clb_leiadaos", ; + TabIndex = 7, ; + TabStop = .F., ; + Top = 51, ; + Width = 146, ; + Text_simplu1.ControlSource = "thisform.procent_lei", ; + Text_simplu1.FontName = "Arial Narrow", ; + Text_simplu1.FontSize = 10, ; + Text_simplu1.Height = 23, ; + Text_simplu1.InputMask = "9999.99", ; + Text_simplu1.Left = 93, ; + Text_simplu1.Name = "Text_simplu1", ; + Text_simplu1.ReadOnly = .T., ; + Text_simplu1.Top = 3, ; + Text_simplu1.Width = 49, ; + Lb_simplu1.Caption = "Procent adaos", ; + Lb_simplu1.Name = "Lb_simplu1" + *< END OBJECT: ClassLib="lb_tx.vcx" BaseClass="container" /> + + ADD OBJECT 'Clb_leiftva' AS clb_tx_simplu WITH ; + Height = 29, ; + Left = 69, ; + Name = "Clb_leiftva", ; + TabIndex = 6, ; + TabStop = .F., ; + Top = 51, ; + Width = 270, ; + Text_simplu1.ControlSource = "thisform.nbaza_lei", ; + Text_simplu1.FontName = "Arial Narrow", ; + Text_simplu1.FontSize = 10, ; + Text_simplu1.Height = 23, ; + Text_simplu1.InputMask = (get_mask(10,gnPc)), ; + Text_simplu1.Left = 131, ; + Text_simplu1.Name = "Text_simplu1", ; + Text_simplu1.ReadOnly = .T., ; + Text_simplu1.Top = 3, ; + Text_simplu1.Width = 135, ; + Lb_simplu1.Caption = "Total facturat fãrã TVA", ; + Lb_simplu1.Comment = "", ; + Lb_simplu1.Name = "Lb_simplu1" + *< END OBJECT: ClassLib="lb_tx.vcx" BaseClass="container" /> + + ADD OBJECT 'Clb_leitva' AS clb_tx_simplu WITH ; + Height = 29, ; + Left = 342, ; + Name = "Clb_leitva", ; + TabIndex = 8, ; + TabStop = .F., ; + Top = 51, ; + Width = 270, ; + Text_simplu1.ControlSource = "thisform.ntva_lei", ; + Text_simplu1.FontName = "Arial Narrow", ; + Text_simplu1.FontSize = 10, ; + Text_simplu1.Height = 23, ; + Text_simplu1.InputMask = (get_mask(10,gnPc)), ; + Text_simplu1.Left = 131, ; + Text_simplu1.Name = "Text_simplu1", ; + Text_simplu1.ReadOnly = .T., ; + Text_simplu1.Top = 3, ; + Text_simplu1.Width = 135, ; + Lb_simplu1.Caption = "Total facturat TVA", ; + Lb_simplu1.Comment = "", ; + Lb_simplu1.Name = "Lb_simplu1" + *< END OBJECT: ClassLib="lb_tx.vcx" BaseClass="container" /> + + ADD OBJECT 'Clb_valadaos' AS clb_tx_simplu WITH ; + Height = 29, ; + Left = 615, ; + Name = "Clb_valadaos", ; + TabIndex = 10, ; + TabStop = .F., ; + Top = 79, ; + Width = 146, ; + Text_simplu1.ControlSource = "thisform.procent_val", ; + Text_simplu1.FontName = "Arial Narrow", ; + Text_simplu1.FontSize = 10, ; + Text_simplu1.Height = 23, ; + Text_simplu1.InputMask = "9999.99", ; + Text_simplu1.Left = 93, ; + Text_simplu1.Name = "Text_simplu1", ; + Text_simplu1.ReadOnly = .T., ; + Text_simplu1.Top = 3, ; + Text_simplu1.Width = 49, ; + Lb_simplu1.Caption = "Procent adaos", ; + Lb_simplu1.Name = "Lb_simplu1" + *< END OBJECT: ClassLib="lb_tx.vcx" BaseClass="container" /> + + ADD OBJECT 'Clb_valftva' AS clb_tx_simplu WITH ; + Height = 29, ; + Left = 69, ; + Name = "Clb_valftva", ; + TabIndex = 9, ; + TabStop = .F., ; + Top = 79, ; + Width = 270, ; + Text_simplu1.ControlSource = "thisform.nbaza_val", ; + Text_simplu1.FontName = "Arial Narrow", ; + Text_simplu1.FontSize = 10, ; + Text_simplu1.Height = 23, ; + Text_simplu1.InputMask = (get_mask(10,gnPval)), ; + Text_simplu1.Left = 131, ; + Text_simplu1.Name = "Text_simplu1", ; + Text_simplu1.ReadOnly = .T., ; + Text_simplu1.Top = 3, ; + Text_simplu1.Width = 135, ; + Lb_simplu1.Caption = "Total facturat fãrã TVA", ; + Lb_simplu1.Comment = "", ; + Lb_simplu1.Name = "Lb_simplu1" + *< END OBJECT: ClassLib="lb_tx.vcx" BaseClass="container" /> + + ADD OBJECT 'Clb_valtva' AS clb_tx_simplu WITH ; + Height = 29, ; + Left = 342, ; + Name = "Clb_valtva", ; + TabIndex = 11, ; + TabStop = .F., ; + Top = 79, ; + Width = 270, ; + Text_simplu1.ControlSource = "thisform.ntva_val", ; + Text_simplu1.FontName = "Arial Narrow", ; + Text_simplu1.FontSize = 10, ; + Text_simplu1.Height = 23, ; + Text_simplu1.InputMask = (get_mask(10,gnPval)), ; + Text_simplu1.Left = 131, ; + Text_simplu1.Name = "Text_simplu1", ; + Text_simplu1.ReadOnly = .T., ; + Text_simplu1.Top = 3, ; + Text_simplu1.Width = 135, ; + Lb_simplu1.Caption = "Total facturat TVA", ; + Lb_simplu1.Comment = "", ; + Lb_simplu1.Name = "Lb_simplu1" + *< END OBJECT: ClassLib="lb_tx.vcx" BaseClass="container" /> + + ADD OBJECT 'Cmd_adauga1' AS cmd_adauga WITH ; + Anchor = 4, ; + Caption = "\ + + ADD OBJECT 'Cmd_adauga2' AS cmd_adauga WITH ; + Anchor = 4, ; + caction = do_copie, ; + Caption = "\ + + ADD OBJECT 'Cmd_executa1' AS cmd_executa WITH ; + Anchor = 4, ; + caction = do_Reface, ; + Caption = "\ + + ADD OBJECT 'Grid1' AS grid WITH ; + Anchor = 15, ; + ColumnCount = 15, ; + FontSize = 10, ; + Height = 273, ; + Left = 7, ; + Name = "Grid1", ; + Panel = 1, ; + RecordSource = "rul_temp", ; + RowHeight = 19, ; + TabIndex = 14, ; + Top = 115, ; + Width = 756, ; + Column1.ControlSource = "denumire", ; + Column1.FontName = "Arial", ; + Column1.FontSize = 10, ; + Column1.Name = "cDenumire", ; + Column1.ReadOnly = .T., ; + Column1.Width = 181, ; + Column2.ControlSource = "codmat", ; + Column2.FontName = "Arial", ; + Column2.FontSize = 10, ; + Column2.Name = "cCodMat", ; + Column2.ReadOnly = .T., ; + Column2.Width = 84, ; + Column3.BackColor = 240,248,255, ; + Column3.ColumnOrder = 6, ; + Column3.ControlSource = "cant", ; + Column3.FontName = "Arial", ; + Column3.FontSize = 10, ; + Column3.InputMask = (get_mask(10,gnPcant)), ; + Column3.Name = "cCant", ; + Column3.Width = 67, ; + Column4.BackColor = 230,242,255, ; + Column4.ColumnOrder = 7, ; + Column4.ControlSource = "pret_val", ; + Column4.FontName = "Arial", ; + Column4.FontSize = 10, ; + Column4.InputMask = (get_mask(10,gnPpretval)), ; + Column4.Name = "cPretFactura", ; + Column4.Width = 108, ; + Column5.BackColor = 240,248,255, ; + Column5.ColumnOrder = 9, ; + Column5.ControlSource = "pretd", ; + Column5.FontName = "Arial", ; + Column5.FontSize = 10, ; + Column5.InputMask = (get_mask(10,gnPPretval)), ; + Column5.Name = "cPretValutaCalculat", ; + Column5.Width = 114, ; + Column6.BackColor = 230,242,255, ; + Column6.ColumnOrder = 10, ; + Column6.ControlSource = "pret", ; + Column6.FontName = "Arial", ; + Column6.FontSize = 10, ; + Column6.InputMask = (get_mask(10,gnPpret)), ; + Column6.Name = "cPretLeiCalculat", ; + Column6.Width = 83, ; + Column7.ColumnOrder = 11, ; + Column7.ControlSource = "round(pret_val*cant, gnPval)", ; + Column7.FontName = "Arial", ; + Column7.FontSize = 10, ; + Column7.InputMask = (get_mask(16,gnPval)), ; + Column7.Name = "cValoareValutaFactura", ; + Column7.Width = 128, ; + Column8.ColumnOrder = 12, ; + Column8.ControlSource = "round(pretd*cant, gnPval)", ; + Column8.FontName = "Arial", ; + Column8.FontSize = 10, ; + Column8.InputMask = (get_mask(16,gnPval)), ; + Column8.Name = "cValoareValutaCalculat", ; + Column8.Width = 97, ; + Column9.ColumnOrder = 13, ; + Column9.ControlSource = "round(pret*cant, gnPc)", ; + Column9.FontName = "Arial", ; + Column9.FontSize = 10, ; + Column9.InputMask = (get_mask(10,gnPc)), ; + Column9.Name = "cValoareLeiCalculat", ; + Column9.Width = 104, ; + Column10.BackColor = 240,248,255, ; + Column10.ColumnOrder = 4, ; + Column10.ControlSource = "cont", ; + Column10.FontName = "Arial", ; + Column10.FontSize = 10, ; + Column10.Name = "cCont", ; + Column10.ReadOnly = .F., ; + Column10.Width = 43, ; + Column11.BackColor = 240,248,255, ; + Column11.ColumnOrder = 5, ; + Column11.ControlSource = "acont", ; + Column11.FontName = "Arial", ; + Column11.FontSize = 10, ; + Column11.Name = "cAcont", ; + Column11.ReadOnly = .F., ; + Column11.Width = 47, ; + Column12.BackColor = 240,248,255, ; + Column12.ColumnOrder = 3, ; + Column12.ControlSource = "serie", ; + Column12.FontName = "Arial", ; + Column12.FontSize = 10, ; + Column12.Format = "!K", ; + Column12.Name = "cSerie", ; + Column12.Width = 123, ; + Column13.BackColor = 240,248,255, ; + Column13.ColumnOrder = 14, ; + Column13.ControlSource = "lot", ; + Column13.FontName = "Arial", ; + Column13.FontSize = 10, ; + Column13.Name = "cLot", ; + Column14.BackColor = 240,248,255, ; + Column14.ColumnOrder = 15, ; + Column14.ControlSource = "adata_expirare", ; + Column14.FontName = "Arial", ; + Column14.FontSize = 10, ; + Column14.Name = "cAdata_expirare", ; + Column14.Width = 79, ; + Column15.BackColor = 240,248,255, ; + Column15.ColumnOrder = 8, ; + Column15.ControlSource = "proc_disc", ; + Column15.FontName = "Arial", ; + Column15.FontSize = 10, ; + Column15.InputMask = (get_mask(3,2)), ; + Column15.Name = "Column1", ; + Column15.Width = 50 + *< END OBJECT: BaseClass="grid" /> + + ADD OBJECT 'Grid1.cAcont.Header1' AS header WITH ; + Alignment = 2, ; + Caption = "Analitic", ; + FontName = "Arial", ; + FontSize = 10, ; + Name = "Header1" + *< END OBJECT: BaseClass="header" /> + + ADD OBJECT 'Grid1.cAcont.Text1' AS textbox WITH ; + BackColor = 240,248,255, ; + BorderStyle = 0, ; + FontName = "Arial", ; + FontSize = 10, ; + ForeColor = 0,0,0, ; + Margin = 0, ; + Name = "Text1", ; + ReadOnly = .F. + *< END OBJECT: BaseClass="textbox" /> + + ADD OBJECT 'Grid1.cAdata_expirare.Header1' AS header WITH ; + Alignment = 2, ; + Caption = "Data expirare", ; + FontName = "Arial", ; + FontSize = 10, ; + Name = "Header1" + *< END OBJECT: BaseClass="header" /> + + ADD OBJECT 'Grid1.cAdata_expirare.Text1' AS textbox WITH ; + BackColor = 240,248,255, ; + BorderStyle = 0, ; + FontName = "Arial", ; + FontSize = 10, ; + ForeColor = 0,0,0, ; + Margin = 0, ; + Name = "Text1" + *< END OBJECT: BaseClass="textbox" /> + + ADD OBJECT 'Grid1.cCant.Header1' AS header WITH ; + Alignment = 2, ; + Caption = "Cantitate", ; + FontName = "Arial", ; + FontSize = 10, ; + Name = "Header1" + *< END OBJECT: BaseClass="header" /> + + ADD OBJECT 'Grid1.cCant.Text1' AS textbox WITH ; + BackColor = 240,248,255, ; + BorderStyle = 0, ; + FontName = "Arial", ; + FontSize = 10, ; + ForeColor = 0,0,0, ; + Margin = 0, ; + Name = "Text1" + *< END OBJECT: BaseClass="textbox" /> + + ADD OBJECT 'Grid1.cCodMat.Header1' AS header WITH ; + Alignment = 2, ; + Caption = "Cod material", ; + FontName = "Arial", ; + FontSize = 10, ; + Name = "Header1" + *< END OBJECT: BaseClass="header" /> + + ADD OBJECT 'Grid1.cCodMat.Text1' AS textbox WITH ; + BackColor = 255,255,255, ; + BorderStyle = 0, ; + FontName = "Arial", ; + FontSize = 10, ; + ForeColor = 0,0,0, ; + Margin = 0, ; + Name = "Text1", ; + ReadOnly = .T. + *< END OBJECT: BaseClass="textbox" /> + + ADD OBJECT 'Grid1.cCont.Header1' AS header WITH ; + Alignment = 2, ; + Caption = "Cont", ; + FontName = "Arial", ; + FontSize = 10, ; + Name = "Header1" + *< END OBJECT: BaseClass="header" /> + + ADD OBJECT 'Grid1.cCont.Text1' AS textbox WITH ; + BackColor = 240,248,255, ; + BorderStyle = 0, ; + FontName = "Arial", ; + FontSize = 10, ; + ForeColor = 0,0,0, ; + Margin = 0, ; + Name = "Text1", ; + ReadOnly = .F. + *< END OBJECT: BaseClass="textbox" /> + + ADD OBJECT 'Grid1.cDenumire.Header1' AS header WITH ; + Alignment = 2, ; + Caption = "Denumire", ; + FontName = "Arial", ; + FontSize = 10, ; + Name = "Header1" + *< END OBJECT: BaseClass="header" /> + + ADD OBJECT 'Grid1.cDenumire.Text1' AS textbox WITH ; + BackColor = 255,255,255, ; + BorderStyle = 0, ; + FontName = "Arial", ; + FontSize = 10, ; + ForeColor = 0,0,0, ; + Margin = 0, ; + Name = "Text1", ; + ReadOnly = .T. + *< END OBJECT: BaseClass="textbox" /> + + ADD OBJECT 'Grid1.cLot.Header1' AS header WITH ; + Alignment = 2, ; + Caption = "Lot", ; + FontName = "Arial", ; + FontSize = 10, ; + Name = "Header1" + *< END OBJECT: BaseClass="header" /> + + ADD OBJECT 'Grid1.cLot.Text1' AS textbox WITH ; + BackColor = 240,248,255, ; + BorderStyle = 0, ; + FontName = "Arial", ; + FontSize = 10, ; + ForeColor = 0,0,0, ; + Margin = 0, ; + Name = "Text1" + *< END OBJECT: BaseClass="textbox" /> + + ADD OBJECT 'Grid1.Column1.Header1' AS header WITH ; + Caption = "Disc. %", ; + FontName = "Arial", ; + FontSize = 10, ; + Name = "Header1" + *< END OBJECT: BaseClass="header" /> + + ADD OBJECT 'Grid1.Column1.Text1' AS textbox WITH ; + BackColor = 240,248,255, ; + BorderStyle = 0, ; + FontName = "Arial", ; + FontSize = 10, ; + ForeColor = 0,0,0, ; + Margin = 0, ; + Name = "Text1" + *< END OBJECT: BaseClass="textbox" /> + + ADD OBJECT 'Grid1.cPretFactura.Header1' AS header WITH ; + Alignment = 2, ; + Caption = "Pret valuta factura", ; + FontName = "Arial", ; + FontSize = 10, ; + Name = "Header1" + *< END OBJECT: BaseClass="header" /> + + ADD OBJECT 'Grid1.cPretFactura.Text1' AS textbox WITH ; + BackColor = 230,242,255, ; + BorderStyle = 0, ; + FontName = "Arial", ; + FontSize = 10, ; + ForeColor = 0,0,0, ; + Margin = 0, ; + Name = "Text1" + *< END OBJECT: BaseClass="textbox" /> + + ADD OBJECT 'Grid1.cPretLeiCalculat.Header1' AS header WITH ; + Alignment = 2, ; + Caption = "Pret unitar", ; + FontName = "Arial", ; + FontSize = 10, ; + Name = "Header1" + *< END OBJECT: BaseClass="header" /> + + ADD OBJECT 'Grid1.cPretLeiCalculat.Text1' AS textbox WITH ; + BackColor = 230,242,255, ; + BorderStyle = 0, ; + FontName = "Arial", ; + FontSize = 10, ; + ForeColor = 0,0,0, ; + Margin = 0, ; + Name = "Text1" + *< END OBJECT: BaseClass="textbox" /> + + ADD OBJECT 'Grid1.cPretValutaCalculat.Header1' AS header WITH ; + Alignment = 2, ; + Caption = "Pret valuta calculat", ; + FontName = "Arial", ; + FontSize = 10, ; + Name = "Header1" + *< END OBJECT: BaseClass="header" /> + + ADD OBJECT 'Grid1.cPretValutaCalculat.Text1' AS textbox WITH ; + BackColor = 240,248,255, ; + BorderStyle = 0, ; + FontName = "Arial", ; + FontSize = 10, ; + ForeColor = 0,0,0, ; + Margin = 0, ; + Name = "Text1" + *< END OBJECT: BaseClass="textbox" /> + + ADD OBJECT 'Grid1.cSerie.Header1' AS header WITH ; + Alignment = 2, ; + Caption = "Serie", ; + FontName = "Arial", ; + FontSize = 10, ; + Name = "Header1" + *< END OBJECT: BaseClass="header" /> + + ADD OBJECT 'Grid1.cSerie.Text1' AS textbox WITH ; + BackColor = 240,248,255, ; + BorderStyle = 0, ; + FontName = "Arial", ; + FontSize = 10, ; + ForeColor = 0,0,0, ; + Margin = 0, ; + Name = "Text1" + *< END OBJECT: BaseClass="textbox" /> + + ADD OBJECT 'Grid1.cValoareLeiCalculat.Header1' AS header WITH ; + Alignment = 2, ; + Caption = "Valoare", ; + FontName = "Arial", ; + FontSize = 10, ; + Name = "Header1" + *< END OBJECT: BaseClass="header" /> + + ADD OBJECT 'Grid1.cValoareLeiCalculat.Text1' AS textbox WITH ; + BackColor = 255,255,255, ; + BorderStyle = 0, ; + FontName = "Arial", ; + FontSize = 10, ; + ForeColor = 0,0,0, ; + Margin = 0, ; + Name = "Text1" + *< END OBJECT: BaseClass="textbox" /> + + ADD OBJECT 'Grid1.cValoareValutaCalculat.Header1' AS header WITH ; + Alignment = 2, ; + Caption = "Valoare valuta", ; + FontName = "Arial", ; + FontSize = 10, ; + Name = "Header1" + *< END OBJECT: BaseClass="header" /> + + ADD OBJECT 'Grid1.cValoareValutaCalculat.Text1' AS textbox WITH ; + BackColor = 255,255,255, ; + BorderStyle = 0, ; + FontName = "Arial", ; + FontSize = 10, ; + ForeColor = 0,0,0, ; + Margin = 0, ; + Name = "Text1" + *< END OBJECT: BaseClass="textbox" /> + + ADD OBJECT 'Grid1.cValoareValutaFactura.Header1' AS header WITH ; + Alignment = 2, ; + Caption = "Valoare valuta factura", ; + FontName = "Arial", ; + FontSize = 10, ; + Name = "Header1" + *< END OBJECT: BaseClass="header" /> + + ADD OBJECT 'Grid1.cValoareValutaFactura.Text1' AS textbox WITH ; + BackColor = 255,255,255, ; + BorderStyle = 0, ; + FontName = "Arial", ; + FontSize = 10, ; + ForeColor = 0,0,0, ; + Margin = 0, ; + Name = "Text1" + *< END OBJECT: BaseClass="textbox" /> + + ADD OBJECT 'Label3' AS label WITH ; + AutoSize = .T., ; + BackStyle = 0, ; + Caption = "Moneda", ; + FontBold = .T., ; + Height = 17, ; + Left = 7, ; + Name = "Label3", ; + TabIndex = 4, ; + Top = 35, ; + Width = 45, ; + WordWrap = .T. + *< END OBJECT: BaseClass="label" /> + + ADD OBJECT 'lblLei' AS label WITH ; + AutoSize = .T., ; + BackStyle = 0, ; + Caption = "Naþionalã", ; + FontCharSet = 238, ; + Height = 17, ; + Left = 12, ; + Name = "lblLei", ; + TabIndex = 12, ; + Top = 57, ; + Width = 53, ; + WordWrap = .T. + *< END OBJECT: BaseClass="label" /> + + ADD OBJECT 'lblValuta' AS label WITH ; + AutoSize = .T., ; + BackStyle = 0, ; + Caption = "Valutã", ; + FontCharSet = 238, ; + Height = 17, ; + Left = 12, ; + Name = "lblValuta", ; + TabIndex = 13, ; + Top = 85, ; + Width = 33, ; + WordWrap = .T. + *< END OBJECT: BaseClass="label" /> + + PROCEDURE assign_analitic + PARAMETERS tcCont,pcAct,pcRul + + PRIVATE pcCont,pcAct,pcRul,pParamP,pParamS + STORE 0 TO pParamP,pParamS + lcAnalitic = '' + lcAlias = ALIAS() + + pcCont = ALLTRIM(tcCont) + + lcSel = [SELECT * from ] + gcs + [.config_analitice WHERE cont = ?pcCont] + lcCursor = 'crs_cfg_ana' + lnSucces = goExecutor.oExecute(lcSel,lcCursor) + IF lnSucces < 0 + aMESSAGEBOX(goExecutor.cEroare,0+16,"Eroare") + RETURN + ENDIF + + IF lnSucces > 0 + IF RECCOUNT('crs_cfg_ana')=0 + USE IN crs_cfg_ana + lnSucces = -1 + ENDIF + ENDIF + + IF lnSucces > 0 + SELECT crs_cfg_ana + SCATTER NAME ocfg + lcCampPrefix = NVL(ALLTRIM(ocfg.camp_leg_prefix),'') + lcCampSufix = NVL(ALLTRIM(ocfg.camp_leg_sufix),'') + + IF !EMPTY(lcCampPrefix) + IF TYPE('&pcRul..'+lcCampPrefix) # 'U' + pParamP = &pcRul..&lcCampPrefix + ELSE + IF TYPE('&pcAct..'+lcCampPrefix) # 'U' + pParamP = &pcAct..&lcCampPrefix + ENDIF + ENDIF + ENDIF + + IF !EMPTY(lcCampSufix) + IF TYPE('&pcRul..'+lcCampSufix) # 'U' + pParamS = &pcRul..&lcCampSufix + ELSE + IF TYPE('&pcAct..'+lcCampSufix) # 'U' + pParamS = &pcAct..&lcCampSufix + ENDIF + ENDIF + ENDIF + + lcSel = [{call fconturi_analitice(?gcs,?pcCont,0,?pParamP,?pParamS)}] + lcCursor = 'crs_analitice' + lnSucces = goExecutor.oExecute(lcSel,lcCursor) + + IF lnSucces < 0 + amessagebox(goExecutor.cEroare,0+16,"Eroare") + ENDIF + ENDIF + + && iau Primul Simbol Analitic din Tabel - ordonat pt ca e selectat cu Distinct + IF lnSucces > 0 + SELECT crs_analitice + GO top + lcAnalitic = ALLTRIM(acont) + ENDIF + + && verificare analiticului cu Planul de Conturi + IF lnSucces > 0 + lcSel = [SELECT cont,acont from ] + gcs + [.vplcont_analitic WHERE cont = ?pcCont and acont = ?lcAnalitic and an = ?gnAn ] + lcCursor = 'crs_verific' + lnSucces = goExecutor.oExecute(lcSel,lcCursor) + IF lnSucces < 0 + amessagebox(goExecutor.cEroare,0+16,"Eroare") + ENDIF + ENDIF + + IF lnSucces > 0 + IF RECCOUNT('crs_verific')=0 + lnSucces = -1 + ENDIF + ENDIF + + IF USED('crs_cfg_ana') + USE IN crs_cfg_ana + ENDIF + IF USED('crs_verific') + USE IN crs_verific + ENDIF + IF USED('crs_analitice') + USE IN crs_analitice + ENDIF + IF USED('crs_verific') + USE IN crs_verific + ENDIF + + IF lnSucces < 0 + lcAnalitic = '' + ENDIF + + SELECT (lcAlias) + RETURN lcAnalitic + **** + + ENDPROC + + PROCEDURE do_adauga + lcLista = ['-1'] + SELECT DISTINCT scd FROM actactan WHERE suma <> 0 INTO CURSOR tconturi + SELECT tconturi + SCAN + lcLista = lcLista + [,'] + ALLTRIM(scd) + ['] + ENDSCAN + + LOCAL lcXMLArticole, lcFiltru, lcCrsArt, lcCrsNir + lcFiltru = [a.cont in (] + lcLista + [)] + lcXMLArticole = cauta_nom_articole(lcFiltru) && ocautare.prg - selectie multipla (click/SPACE); adauga singura a.inactiv = 0 + + IF gnButon = 1 AND !EMPTY(lcXMLArticole) + lcCrsArt = [crsArtAlese] + XMLTOCURSOR(lcXMLArticole, lcCrsArt) + + lcCrsNir = THIS.grid1.RECORDSOURCE + loAct = THIS.oact + + SELECT (lcCrsArt) + SCAN + SCATTER NAME loArt + SELECT (lcCrsNir) + APPEND BLANK + GATHER NAME loAct + GATHER NAME loArt + REPLACE id_gestiune WITH loAct.id_gestin + SCATTER NAME lorul && pentru id_gestiune + lcAcont = THISFORM.assign_analitic(lorul.CONT,THISFORM.oact,'lorul') + SELECT (lcCrsNir) + REPLACE acont WITH lcAcont, tva WITH ROUND(pret * (proc_tva-1), gnPpret) + SELECT (lcCrsArt) + ENDSCAN + USE IN (lcCrsArt) + + THIS.grid1.REFRESH + ENDIF + + THIS.GRid1.cserie.SetFocus() + ENDPROC + + PROCEDURE do_calculeaza_diferente + PARAMETERS tnRecNo, tcCursor && modificare v 2.1.3 : am adaugat tcCursor + *!* modificare v 2.1.3 + *!* lcSel = Thisform.grid1.RecordSource + If Empty(tcCursor) + lcSel = Thisform.grid1.RecordSource + Else + lcSel = tcCursor + Endif + *!* modificare v 2.1.3 ^ + SELECT (lcSel) + SUM ROUND(Pret*cant,gnPc) TO lnLeiTot + SUM ROUND(Pretd*cant,gnPval) TO lnValTot + + thisform.ndif_lei = thisform.nbaza_lei - lnLeiTot + thisform.ndif_val = thisform.nbaza_val - lnValTot + thisform.clb_diferente_lei.Refresh + thisform.clb_diferente_valuta.Refresh + + SELECT (lcSel) + IF tnRecNo = 1 + LOCATE + ELSE + GO tnRecNo + ENDIF + + ENDPROC + + PROCEDURE do_copie + lcSelect = this.grid1.RecordSource + SELECT (lcSelect) + SCATTER NAME loRec + + INSERT INTO (lcSelect) FROM NAME loRec + this.do_reface() + this.grid1.SetFocus() + + ENDPROC + + PROCEDURE do_executa + PARAMETERS tnNivel, tRecNo, tnValue, tcCursor && modificare v 2.1.3 : am adaugat tcCursor + *!* DEBUG + *!* SUSPEND + *!* modificare v 2.1.3 + *!* lcSel = Thisform.grid1.RecordSource + If Empty(tcCursor) + lcSel = Thisform.grid1.RecordSource + Else + lcSel = tcCursor + Endif + *!* modificare v 2.1.3 ^ + SELECT (lcSel) + IF tnNivel <= 2 + *WAIT WINDOW STR(tnValue,16,4) + IF this.lIntern + IF tnNivel <= 1 + lnPretLei = ROUND(tnValue*thisform.procent_lei/100,gnPPret) && modificare v 2.1.39 : gnPPret in loc de gnPVal + ELSE + lnPretLei = tnValue + ENDIF + && modificare v 2.1.39 : gnPPret in loc de gnPVal + lnPretLei = ROUND(lnPretLei - (lnPretLei * proc_disc/100 ),gnPPret) && modificare v 2.1.37 + REPLACE pret WITH lnPretLei + ELSE + IF tnNivel <= 1 + lnPretVal = ROUND(tnValue*thisform.procent_val/100,gnPPretval) && modificare v 2.1.39 : gnPPretval in loc de gnPVal + ELSE + lnPretval = tnValue + ENDIF + lnPretVal = ROUND(lnPretVal - (lnPretVal * proc_disc/100 ),gnPPretval) && modificare v 2.1.39 : gnPPretval in loc de gnPVal + REPLACE pretd WITH lnPretval + + lnPretLei = ROUND(ROUND(lnPretval*thisform.ncurs,gnPpret)*thisform.procent_lei/100,gnPpret) + REPLACE pret WITH lnPretLei + ENDIF + ENDIF + + this.do_calculeaza_diferente(tRecNo,tcCursor) && modificare v 2.1.3 : am adaugat tcCursor + ENDPROC + + PROCEDURE do_modiparam + Local lcSelect, lcFisier, lnIdArticol, lcCursor, lcCont, loAct, lnInregistrari + LOCAL loEx as Exception + Local lcAcont, lcDenumire, lcSelect2, lcSql, llSucces, lnSucces, loArticol + Local lcMesaj + Local lnRec + Local lnInStoc + Private pnIdArticol, lorul + loAct = This.oact + + CALCULATE CNT() FOR !DELETED() TO lnInregistrari IN rul_temp + + If m.lnInregistrari > 0 + IF AMESSAGEBOX('Doriti sa stergeti reperele deja existente?',4+32,_screen.Caption) = 6 + SELECT rul_temp + DELETE ALL + ENDIF + *!* amessagebox("Nu puteti face import daca ati adaugat deja repere pe nir!",48,"Atentie") + *!* Return + Endif + amessagebox("Fisierul XLS trebuie sa contina campurile (in aceasta ordine si fara capul de tabel): " + CHR(13) + CHR(10) + ; + [COD PRODUS, DENUMIRE, UM, CANTITATE, PRET IN VALUTA FARA TVA (de pe factura)] + Chr(13) + Chr(10) + Chr(13) + Chr(10) + ; + [Fisierul trebuie sa fie salvat cu formatul "Microsoft Excel 5.0/95 Workbook (*.xls)"] ,48,"Atentie") + + lcFisier = Getfile("xls","Fisier factura","Alegeti",0,"Import fisier factura - format XLS") + If Empty(m.lcFisier) Or !File(m.lcFisier) + Return + ENDIF + lcSelect = "rul_temp" + llSucces = .F. + TRY + SELECT 0 + Import From (lcFisier) Type Xls + lcSelect2 = Alias() + SELECT ALLTRIM(UPPER(TRANSFORM(a))) as codmat, UPPER(ALLTRIM(TRANSFORM(b))) as denumire, UPPER(ALLTRIM(TRANSFORM(c))) as um, ROUND(d,6) as cant, ROUND(e,6) as pret_val ; + FROM &lcSelect2 ; + INTO CURSOR crsImport + llSucces = .T. + Catch To loEx + lcMesaj = 'Fisierul ' + m.lcFisier + ' nu a putut fi importat.' + Chr(13) + Chr(10) + TRANSFORM(loEx.ErrorNo) + " " + IF loEx.ErrorNo = 1661 + lcMesaj = m.lcMesaj + [Salvati fisierul in formatul "Microsoft Excel 5.0/95 Workbook (*.xls)"] + ELSE + lcMesaj = m.lcMesaj + loEx.Message + ENDIF + amessagebox(m.lcMesaj, 0+48, _Screen.Caption) + ENDTRY + IF !m.llSucces + RETURN + ENDIF + USE IN (SELECT(m.lcSelect2)) + lcSelect2 = "crsImport" + *!* A = codmat + *!* B = denumire + *!* C = um + *!* D = cantitate + *!* E = pret achizitie in valuta + + + save_grid_tag(Thisform.grid1) + + Select Distinct scd From actactan Where Inlist(Left(Alltrim(scd),1),'2','3') And suma <> 0 Into Cursor tconturi + If Reccount('tconturi') = 1 + Select tconturi + lcCont = Alltrim(scd) + Else + lcCont = [] + Endif + Use In tconturi + + If Reccount(m.lcSelect2) > 0 + lcCursor = [crstmpimpart] + Select (lcSelect2) + Scan + Scatter Name loArticol + If !Empty(Nvl(loArticol.cant,0)) + pnIdArticol = 0 + lcSql = [select id_articol,denumire,in_stoc,cont from nom_articole where UPPER(codmat) = '] + loArticol.codmat + [' and sters = 0] + If !goExecutor.oExecuta(lcSql,lcCursor) + amessagebox("A fost inregistrata o eroare la cautarea articolului " + loArticol.denumire + " pe nir!" + crlf + ; + "Iesiti din acest nir si reincercati operatia de preluare a fisierului!",48,"Atentie") + Exit + Else + Select (lcCursor) + If Reccount(lcCursor) > 0 + Locate For Upper(Alltrim(denumire)) = loArticol.denumire + If !Found() + Go Top + Endif + lcDenumire = Upper(Alltrim(denumire)) + If lcDenumire <> loArticol.denumire + If amessagebox("Articolul " + loArticol.denumire + " a fost gasit in baza de date dupa cod material, dar are denumirea de "+; + lcDenumire + ".Doriti sa pastrati denumirea din baza de date?" + crlf + ; + "( Daca apasati nu, atunci se va crea un articol nou cu denumirea din fisier )",4+32,"Denumire diferita") = 6 + lnIdArticol = id_articol + lnInStoc = Nvl(in_stoc,1) + loArticol.denumire = m.lcDenumire + Else + *!*adauga_articol + If Empty(m.lcCont) + lcCont = Inputbox("Introduceti contul pentru articolul " + loArticol.denumire, "Cont articol ", m.lcCont, 5000,[371],[371]) + Endif + lcSql = [begin pack_preturi.adauga_articol(?gnAn,'] + loArticol.codmat + [',NULL,NULL,] + ; + ['] + loArticol.denumire + [','] + loArticol.um + [',] + ; + ['] + Upper(Alltrim(m.lcCont)) + [',Null,0,0,NULL,NULL,0,NULL,1,0,0,?gnIdUtil,] + ; + ALLTRIM(Str(loAct.id_partc)) + [,0,0,?@pnIdArticol); end;] + goExecutor.oExecuta(lcSql) + lnIdArticol = m.pnIdArticol + lnInStoc = 1 + Endif + Else + lnIdArticol = id_articol + lnInStoc = Nvl(in_stoc,1) + Endif + Else + *!* adauga articol + If Empty(m.lcCont) + lcCont = Inputbox("Introduceti contul pentru articolul " + loArticol.denumire, "Cont articol ", m.lcCont, 5000,[371],[371]) + Endif + lcSql = [begin pack_preturi.adauga_articol(?gnAn,'] + loArticol.codmat + [',NULL,NULL,] + ; + ['] + loArticol.denumire + [','] + loArticol.um + [',] + ; + ['] + Upper(Alltrim(m.lcCont)) + [',Null,0,0,NULL,NULL,0,NULL,1,0,0,?gnIdUtil,] + ; + ALLTRIM(Str(loAct.id_partc)) + [,0,0,?@pnIdArticol); end;] + goExecutor.oExecuta(lcSql) + lnIdArticol = m.pnIdArticol + lnInStoc = 1 + Endif + If lnIdArticol = 0 + amessagebox("A fost inregistrata o eroare la adaugarea articolului " + loArticol.denumire + " pe NIR!" + crlf + ; + "Iesiti din acest nir si reincercati operatia de preluare a fisierului!",48,"Atentie") + Exit + Use In (lcCursor) + Else + *!* completez in rul_temp + Select (lcSelect) + Append Blank + Gather Name loAct + Replace Cont With m.lcCont, id_gestiune With loAct.id_gestin, id_articol With m.lnIdArticol,; + denumire With loArticol.denumire, codmat With loArticol.codmat,; + um With loArticol.um, cant With loArticol.cant, pret_val With loArticol.pret_val,; + in_stoc With m.lnInStoc + Scatter Name lorul + lcAcont = Thisform.assign_analitic(lorul.Cont, Thisform.oact, 'lorul') + Select (m.lcSelect) + Replace acont With m.lcAcont, tva With Round(Pret * (proc_tva-1), m.gnPpret) + Thisform.do_executa(1, Recno(), pret_val, m.lcSelect) + Use In (m.lcCursor) + Endif + Endif + Endif + Select (m.lcSelect2) + Endscan + Endif + Use In (select(lcSelect2)) + + Select (lcSelect) + GO TOP + lnRec = RECNO() + thisform.Do_calculeaza_diferente(m.lnRec, m.lcSelect) + + restore_grid_tag(Thisform.grid1) + this.grid1.SetFocus() + + ENDPROC + + PROCEDURE do_reface + lcSel = Thisform.grid1.RecordSource + Select (lcSel) + lnNrIreg = Reccount(lcSel) + lnRec = Recno() + lnLeiTot = 0 + lnValTot = 0 + + i = 0 + Scan + i = i + 1 + Scatter Name orul + *!* modificare v 2.1.37 + *!* lnPretval = Round(orul.pret_val*Thisform.procent_val/100,gnPval) + *!* lnPretval = Round(lnPretval - (lnPretval * orul.proc_disc/100 ),gnPval) + *!* lnPretLei = Round(Round(lnPretval*Thisform.ncurs,gnPpret)*Thisform.procent_lei/100,gnPpret) + If Thisform.lIntern + lnPretlei = Round(orul.pret_lei*Thisform.procent_lei/100,gnPPret) && modificare v 2.1.39 : gnPPret in loc de gnPVal + lnPretlei = Round(lnPretlei - (lnPretlei * orul.proc_disc/100 ),gnPPret) && modificare v 2.1.39 : gnPPret in loc de gnPVal + lnPretval = 0 + Else + lnPretval = Round(orul.pret_val*Thisform.procent_val/100,gnPPretVal) && modificare v 2.1.39 : gnPPretVal in loc de gnPVal + lnPretval = Round(lnPretval - (lnPretval * orul.proc_disc/100 ),gnPPretVal) && modificare v 2.1.39 : gnPPretVal in loc de gnPVal + lnPretlei = Round(Round(lnPretval*Thisform.ncurs,gnPpret)*Thisform.procent_lei/100,gnPpret) + Endif + *!* modificare v 2.1.37 ^ + Replace pretd With lnPretval + Replace Pret With lnPretlei + lnLeiTot = lnLeiTot + Round(lnPretlei*cant,gnPc) + lnValTot = lnValTot + Round(lnPretval*cant,gnPval) + *!* IF i = lnNrIreg + *!* REPLACE pret WITH pret + (thisform.nbaza_lei - lnPretTot) + *!* ENDIF + + Endscan + + + Thisform.Do_calculeaza_diferente(lnRec) + + *GO lnRec + ENDPROC + + PROCEDURE inainte_de_do_termin + *** copiez actactan sa pot sa il restaurez pentru cazul in care se apasa butonul in formularul de verificare + Local lcScd, lcScd1, lcSerieAct, lnIdpartd, lnNnir, lnNract, lnSucces, lnDiferenta + Local lnRec + + SELECT rul_temp + lnRec = RECNO() + thisform.Do_calculeaza_diferente(m.lnRec, "rul_temp") + && calcularea diferentelor + Select * From actactan Into Cursor crsActactanTemp READWRITE NOFILTER + + lnDiferenta = This.ndif_lei + If lnDiferenta <> 0 + Select actactan + locate + lcScd = scd + lnIdpartd = actactan.id_partd + Append Blank + *!* modificare migrare v 1.0 > v 2.0 + *!* Gather Name poact Fields Except Curs, pretd, nume_val, id_valuta, nnir, proc_tva + Gather Name poAct Fields Except Curs, pretd, nume_val, id_valuta, nnir, proc_tva + *!* modificare migrare v 1.0 > v 2.0 ^ + If Substr(lcScd,1,2)='34' + *!* modificare migrare v 1.0 > v 2.0 + *!* Replace suma With lnDiferenta, ; + *!* scd With '711', scc With lcScd, explicatia With 'DIFERENTE' + Replace suma With lnDiferenta, ; + scd With '711', scc With lcScd, explicatia With 'DIFERENTE',ID_JTVA_coloana With Null + *!* modificare migrare v 1.0 > v 2.0 ^ + Else + lcScd = Alltrim(lcScd) + Do Case + Case lcScd = "371" + lcScd1 = "607" + Case Inlist(lcScd, "381", "388") + lcScd1 = "608" + Otherwise + lcScd1 = '60' + Substr(lcScd,3,2) + Endcase + *!* modificare migrare v 1.0 > v 2.0 + *!* Replace suma With lnDiferenta, ; + *!* scd With lcScd1, scc With lcScd, explicatia With 'DIFERENTE' + Replace suma With lnDiferenta, ; + scd With lcScd1, scc With lcScd,id_partc With lnIdpartd, explicatia With 'DIFERENTE',ID_JTVA_coloana With Null + *!* modificare migrare v 1.0 > v 2.0 ^ + Endif + Endif + + Select actactan + Locate + + Do Form verificare With .T. , .T. + + If gnButon = 2 + Use In (Select('actactan')) + Select * From crsActactanTemp Into Cursor actactan READWRITE NOFILTER + Use In (Select('crsActactanTemp')) + RETURN .F. + Else + Use In (Select('crsActactanTemp')) + + *!* modificare v 2.1.41 + Select actactan + Go Top + lnNrAct = nract + lcSerieAct = serie_act + * completex TVA si TAXCODE cu datele de pe prima factura + lnIdJtvaColoana = id_jtva_coloana + lnTaxCode = taxcode + + If Used('rul_temp') + Select rul_temp + Replace ALL nract With lnNrAct,serie_act With lcSerieAct, id_jtva_coloana WITH m.lnIdJtvaColoana, taxcode WITH m.lnTaxCode + Endif + If Used('rul_temp_obinv') + Select rul_temp_obinv + Replace ALL nract With lnNrAct,serie_act With lcSerieAct + Endif + *!* Select Distinct serie_Act,nract,nnir From actactan Where nract <> nnir Into Cursor crsRulComplet + *!* If Used('rul_temp') + *!* Select crsRulComplet + *!* Scan + *!* lnNnir = nnir + *!* lnNract = nract + *!* lcSerieAct = serie_Act + *!* Select rul_temp + *!* Replace nract With lnNract,serie_Act With lcSerieAct For nnir = lnNnir + *!* Select crsRulComplet + *!* Endscan + *!* Endif + *!* If Used('rul_temp_obinv') + *!* Select crsRulComplet + *!* Scan + *!* lnNnir = nnir + *!* lnNract = nract + *!* lcSerieAct = serie_Act + *!* Select rul_temp_obinv + *!* Replace nract With lnNract,serie_Act With lcSerieAct For nnir = lnNnir + *!* Select crsRulComplet + *!* Endscan + *!* Endif + *!* If Used('crsRulComplet') + *!* Use In crsRulComplet + *!* Endif + *!* modificare v 2.1.41 ^ + *!* modificare 13.08.2007 ^ + ***** articolele negestionabile nu intra in rulaje/stoc (acelasi model ca la NIR normal) + * le pastrez intr-un cursor temporar ca sa le pot readauga daca scrierea esueaza + Select * From rul_temp Where Nvl(in_stoc,1) = 0 And !Deleted() Into Cursor crsNegest NOFILTER Readwrite + Delete From rul_temp Where Nvl(in_stoc,1) = 0 + + lnSucces = oscrie_in_fisiere(0,.F.,.T.) + If lnSucces > 0 + Use In (Select('crsNegest')) + this.AlwaysOnTop = .F. + Do listare_nir With poAct.nnir, gnTipGest In oproceduri_listari + this.AlwaysOnTop = .T. + RETURN .T. + Else + * scrierea a esuat - readaug articolele negestionabile, ca grila sa ramana completa la reincercare + Select rul_temp + Append From Dbf('crsNegest') + Use In (Select('crsNegest')) + Endif + Endif + + + ENDPROC + + PROCEDURE Init + Lparameters tlIntern + + This.lIntern = tlIntern + + If This.lIntern + This.grid1.cPretFactura.ControlSource = "pret_lei" + This.grid1.cPretFactura.Header1.Caption = "Pret lei factura" + *!* modificare v 2.1.39 + This.grid1.cPretFactura.InputMask = get_mask(10,gnPPret) + *!* modificare v 2.1.39 ^ + This.grid1.cPretValutaCalculat.Visible = .F. + This.grid1.cValoareValutaFactura.Visible = .F. + This.grid1.cValoareValutaCalculat.Visible = .F. + This.clb_diferente_valuta.Visible = .F. + *!* modificare v 2.1.3 + Thisform.but_modiparam1.Visible = .F. + Thisform._shape2.Left = Thisform.but_renunt1.Left - (Thisform.but_modiparam1.Left - Thisform._shape2.Left) + *!* modificare v 2.1.3 ^ + ENDIF + this.WindowState = 2 + DoDefault() + ENDPROC + + PROCEDURE Show + LPARAMETERS nStyle + this.do_reface + ENDPROC + + PROCEDURE Grid1.cCant.Text1.InteractiveChange + DODEFAULT() + this.LostFocus(.T.) + + ENDPROC + + PROCEDURE Grid1.cCant.Text1.LostFocus + PARAMETERS tlCalcul + + IF tlCalcul + REPLACE cant WITH this.Value + lnRec = RECNO() + thisform.do_executa(3,lnRec,this.value) + ENDIF + ENDPROC + + PROCEDURE Grid1.Column1.Text1.LostFocus + Parameters tlCalcul + + *IF tlCalcul + + * REPLACE pret_val WITH this.Value + lnRec = Recno() + *!* thisform.do_executa(3,lnRec,this.Value) + *!* modificare v 2.1.37 + *!* thisform.do_executa(1,lnRec,pret_val) + If Thisform.lIntern + Thisform.do_executa(1,lnRec,pret_lei) + Else + Thisform.do_executa(1,lnRec,pret_val) + Endif + *!* modificare v 2.1.37 ^ + *ENDIF + ENDPROC + + PROCEDURE Grid1.cPretFactura.Text1.InteractiveChange + *!* DODEFAULT() + *!* this.LostFocus(.t.) + + ENDPROC + + PROCEDURE Grid1.cPretFactura.Text1.LostFocus + PARAMETERS tlCalcul + + *IF tlCalcul + + * REPLACE pret_val WITH this.Value + lnRec = RECNO() + thisform.do_executa(1,lnRec,this.Value) + *ENDIF + ENDPROC + + PROCEDURE Grid1.cPretLeiCalculat.Text1.InteractiveChange + DODEFAULT() + this.LostFocus(.t.) + ENDPROC + + PROCEDURE Grid1.cPretLeiCalculat.Text1.LostFocus + PARAMETERS tlCalcul + + IF tlCalcul + REPLACE pret WITH this.Value + lnRec = RECNO() + thisform.do_executa(3,lnRec,this.Value) + ENDIF + ENDPROC + + PROCEDURE Grid1.cPretValutaCalculat.Text1.InteractiveChange + DODEFAULT() + this.LostFocus(.t.) + ENDPROC + + PROCEDURE Grid1.cPretValutaCalculat.Text1.LostFocus + PARAMETERS tlCalcul + + IF tlCalcul + lnRec = RECNO() + thisform.do_executa(2,lnRec,this.value) + ENDIF + ENDPROC + +ENDDEFINE + +DEFINE CLASS import_nota AS frm_termin_renunt OF "_frm_child.vcx" + *< CLASSDATA: Baseclass="form" Timestamp="" Scale="Pixels" Uniqueid="" /> + + *-- OBJECTDATA items order determines ZOrder / El orden de los items OBJECTDATA determina el ZOrder + *< OBJECTDATA: ObjPath="Grid1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="Grid1.cNract.Header1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="Grid1.cNract.Text1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="Grid1.cPartC.Header1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="Grid1.cPartC.Text1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="Grid1.cExplicatie.Header1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="Grid1.cExplicatie.Text1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="Grid1.cExplicatieTva.Header1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="Grid1.cExplicatieTva.Combo1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="Grid1.cExplicatieTva.Text1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="Grid1.cExplicatia4.Header1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="Grid1.cExplicatia4.Text1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="Grid1.cScd.Header1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="Grid1.cScd.Text1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="Grid1.cScc.Header1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="Grid1.cScc.Text1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="Grid1.cSuma.Header1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="Grid1.cSuma.Text1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="Grid1.cSumaVal.Header1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="Grid1.cSumaVal.Text1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="Grid1.cInValuta.Header1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="Grid1.cInValuta.Check1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="Grid1.cExplicatia5.Header1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="Grid1.cExplicatia5.Text1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="Grid1.cPartD.Header1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="Grid1.cPartD.Text1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="Grid1.cAscd.Header1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="Grid1.cAscd.Text1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="Grid1.cAscc.Header1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="Grid1.cAscc.Text1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="Grid1.cPtva.Header1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="Grid1.cPtva.Text1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="Grid1.cParticipaValuta.Header1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="Grid1.cParticipaValuta.Check1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="Grid1.cSerie_act.Header1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="Grid1.cSerie_act.Text1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="Grid1.cDataAct.Header1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="Grid1.cDataAct.Text1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="Grid1.cFDoc.Header1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="Grid1.cFDoc.Text1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="Grid1.cSe_scrie.Header1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="Grid1.cSe_scrie._checkbox1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="Grid1.cTaxCode.Header1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="Grid1.cTaxCode.Text1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="Grid1.cTaxCode._combobox1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="Text1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="Text2" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="Text3" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="Label1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="Label2" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="Label3" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="Label4" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="lb_curs" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="Cmd_executa1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="Lb_pas_flux" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="But_nou1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="But_sterge1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="Grid1.cCurs.Header1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="Grid1.cCurs.Text1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="Grid1.cValuta.Header1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="Grid1.cValuta.Text1" UniqueID="" Timestamp="" /> + + * + *m: aplica_explicatie_tva + *m: copiaza_valoare + *m: do_adauga + *m: do_adauga_factura + *m: do_calculeaza_suma + *m: do_modifica_explicatie_tva + *m: do_modifica_fdoc + *m: refac_culori_documente + *m: updateexplicatiesaft + *p: cdvifeldoc && memoria DVI: textul felului de document al DVI (pt. redeschidere dialog) + *p: cdvinr && memoria DVI (M2): numarul DVI, ca sir - vezi contract mai jos + *p: cdvipartener && memoria DVI: denumirea partenerului vamal + *p: cdviserie && memoria DVI: seria DVI (de regula goala) + *p: ddvidata && memoria DVI: data DVI + *p: ldialogaratat && dialogul "Adauga factura" a fost deschis automat la Activate (o singura data) + *p: lintern && Formularul este folosit pentru Import (.T.) sau pentru achizitii interne (.F.) + *p: ndviidfdoc && memoria DVI: id_fdoc ales prima data prin caut_fdoc - cheia sesiunii DVI + *p: ndviidpartener && memoria DVI: id_part al partenerului vamal + *p: nid_part_finalizarenir + *p: oact + *p: tprocente + *p: tsuma + * + + * + cdvifeldoc = "" + cdvinr = "" + cdvipartener = "" + cdviserie = "" + ddvidata = {} + DoCreate = .T. + Height = 405 + ldialogaratat = .F. + lintern = .F. + Name = "import_nota" + ndviidfdoc = 0 + ndviidpartener = 0 + nid_part_finalizarenir = + oact = + tprocente = 0 + tsuma = 0 + Width = 794 + _memberdata = + + + _shape1.Anchor = 10 + _shape1.Height = 29 + _shape1.Left = 0 + _shape1.Name = "_shape1" + _shape1.Top = 0 + _shape1.Width = 800 + _shape2.Anchor = 8 + _shape2.Left = 734 + _shape2.Name = "_shape2" + _shape2.Top = 0 + _shape2.Width = 60 + Lb_titlu_alb_b121.Caption = "ACHIZIÞIE DIN IMPORT MARFÃ/MATERIALE" + Lb_titlu_alb_b121.Name = "Lb_titlu_alb_b121" + BUT_TERMIN1.Anchor = 8 + BUT_TERMIN1.cpicturedown = urmator2.bmp + BUT_TERMIN1.cpictureup = urmator1.bmp + BUT_TERMIN1.Left = 765 + BUT_TERMIN1.Name = "BUT_TERMIN1" + BUT_TERMIN1.Picture = ..\grafice\urmator1.bmp + BUT_TERMIN1.ToolTipText = "Urmator (CTRL+F)" + BUT_TERMIN1.Top = 1 + Gridsort1.Name = "Gridsort1" + But_renunt1.Anchor = 8 + But_renunt1.Left = 736 + But_renunt1.Name = "But_renunt1" + But_renunt1.Top = 1 + * + + ADD OBJECT 'But_nou1' AS but_nou WITH ; + Anchor = 8, ; + Left = 704, ; + Name = "But_nou1", ; + Top = 1 + *< END OBJECT: ClassLib="cmd_butoane.vcx" BaseClass="commandbutton" /> + + ADD OBJECT 'But_sterge1' AS but_sterge WITH ; + Anchor = 8, ; + Left = 672, ; + Name = "But_sterge1", ; + ToolTipText = "Stergere nota curenta (baza + TVA)", ; + Top = 1, ; + Visible = .T. + *< END OBJECT: ClassLib="cmd_butoane.vcx" BaseClass="commandbutton" /> + + ADD OBJECT 'Cmd_executa1' AS cmd_executa WITH ; + Anchor = 12, ; + Caption = "\ + + ADD OBJECT 'Grid1' AS grid WITH ; + Anchor = 15, ; + BackColor = 255,255,255, ; + ColumnCount = 23, ; + DeleteMark = .F., ; + FontName = "Arial", ; + FontSize = 10, ; + HeaderHeight = 49, ; + Height = 302, ; + Left = 4, ; + Name = "Grid1", ; + Panel = 1, ; + RecordSource = "introdc", ; + RecordSourceType = 1, ; + RowHeight = 19, ; + TabIndex = 2, ; + Top = 60, ; + Width = 776, ; + ZOrderSet = 5, ; + Column1.BackColor = 255,255,255, ; + Column1.ColumnOrder = 4, ; + Column1.ControlSource = "nract", ; + Column1.FontName = "Arial", ; + Column1.FontSize = 10, ; + Column1.Name = "cNract", ; + Column1.Visible = .T., ; + Column1.Width = 71, ; + Column2.BackColor = 255,255,255, ; + Column2.ColumnOrder = 5, ; + Column2.ControlSource = "partc", ; + Column2.CurrentControl = "Text1", ; + Column2.FontName = "Arial", ; + Column2.FontSize = 10, ; + Column2.Name = "cPartC", ; + Column2.Sparse = .T., ; + Column2.Visible = .T., ; + Column2.Width = 109, ; + Column3.BackColor = 255,255,255, ; + Column3.ColumnOrder = 6, ; + Column3.ControlSource = "explicatia", ; + Column3.FontName = "Arial", ; + Column3.FontSize = 10, ; + Column3.Name = "cExplicatie", ; + Column3.Visible = .T., ; + Column3.Width = 92, ; + Column4.BackColor = 255,255,255, ; + Column4.ColumnOrder = 8, ; + Column4.ControlSource = "explicatie_tva", ; + Column4.CurrentControl = "Text1", ; + Column4.FontName = "Arial", ; + Column4.FontSize = 10, ; + Column4.Name = "cExplicatieTva", ; + Column4.ReadOnly = .F., ; + Column4.Sparse = .F., ; + Column4.Width = 134, ; + Column5.BackColor = 255,255,255, ; + Column5.ColumnOrder = 21, ; + Column5.ControlSource = "explicatia4", ; + Column5.FontName = "Arial", ; + Column5.FontSize = 10, ; + Column5.Name = "cExplicatia4", ; + Column5.Visible = .T., ; + Column5.Width = 46, ; + Column6.BackColor = 255,255,255, ; + Column6.ColumnOrder = 9, ; + Column6.ControlSource = "scd", ; + Column6.FontName = "Arial", ; + Column6.FontSize = 10, ; + Column6.Name = "cScd", ; + Column6.Visible = .T., ; + Column6.Width = 46, ; + Column7.BackColor = 255,255,255, ; + Column7.ColumnOrder = 11, ; + Column7.ControlSource = "scc", ; + Column7.FontName = "Arial", ; + Column7.FontSize = 10, ; + Column7.Name = "cScc", ; + Column7.Visible = .T., ; + Column7.Width = 41, ; + Column8.Alignment = 1, ; + Column8.BackColor = 255,255,255, ; + Column8.ColumnOrder = 14, ; + Column8.ControlSource = "suma", ; + Column8.FontName = "Arial", ; + Column8.FontSize = 10, ; + Column8.Format = "R", ; + Column8.InputMask = (get_mask(12,gnPc)), ; + Column8.Name = "cSuma", ; + Column8.Visible = .T., ; + Column8.Width = 75, ; + Column9.BackColor = 255,255,255, ; + Column9.ColumnOrder = 15, ; + Column9.ControlSource = "suma_val", ; + Column9.FontName = "Arial", ; + Column9.FontSize = 10, ; + Column9.InputMask = (get_mask(12,gnPval)), ; + Column9.Name = "cSumaVal", ; + Column9.Width = 76, ; + Column10.BackColor = 255,255,255, ; + Column10.ColumnOrder = 18, ; + Column10.ControlSource = "in_valuta", ; + Column10.FontName = "Arial", ; + Column10.FontSize = 10, ; + Column10.Name = "cInValuta", ; + Column10.Sparse = .F., ; + Column10.Width = 84, ; + Column11.BackColor = 255,255,255, ; + Column11.ColumnOrder = 22, ; + Column11.ControlSource = "explicatia5", ; + Column11.FontName = "Arial", ; + Column11.FontSize = 10, ; + Column11.Name = "cExplicatia5", ; + Column11.Visible = .T., ; + Column11.Width = 45, ; + Column12.BackColor = 255,255,255, ; + Column12.ColumnOrder = 20, ; + Column12.ControlSource = "PARTD", ; + Column12.FontName = "Arial", ; + Column12.FontSize = 10, ; + Column12.Name = "cPartD", ; + Column12.Visible = .T., ; + Column12.Width = 91, ; + Column13.BackColor = 255,255,255, ; + Column13.ColumnOrder = 10, ; + Column13.ControlSource = "ascd", ; + Column13.FontName = "Arial", ; + Column13.FontSize = 10, ; + Column13.Name = "cAscd", ; + Column13.Width = 40, ; + Column14.BackColor = 255,255,255, ; + Column14.ColumnOrder = 12, ; + Column14.ControlSource = "ascc", ; + Column14.FontName = "Arial", ; + Column14.FontSize = 10, ; + Column14.Name = "cAscc", ; + Column14.Width = 44, ; + Column15.BackColor = 255,255,255, ; + Column15.ColumnOrder = 7, ; + Column15.ControlSource = "ptva", ; + Column15.FontName = "Arial", ; + Column15.FontSize = 10, ; + Column15.InputMask = "999", ; + Column15.Name = "cPtva", ; + Column15.Width = 41, ; + Column16.BackColor = 255,255,255, ; + Column16.ColumnOrder = 19, ; + Column16.ControlSource = "participa_valuta", ; + Column16.CurrentControl = "Check1", ; + Column16.FontName = "Arial", ; + Column16.FontSize = 10, ; + Column16.Name = "cParticipaValuta", ; + Column16.Sparse = .F., ; + Column16.Width = 76, ; + Column17.BackColor = 255,255,255, ; + Column17.ColumnOrder = 3, ; + Column17.ControlSource = "serie_act", ; + Column17.FontName = "Arial", ; + Column17.FontSize = 10, ; + Column17.Name = "cSerie_act", ; + Column17.Width = 70, ; + Column18.BackColor = 255,255,255, ; + Column18.ColumnOrder = 1, ; + Column18.ControlSource = "dataact", ; + Column18.FontName = "Arial", ; + Column18.FontSize = 10, ; + Column18.Name = "cDataAct", ; + Column19.BackColor = 255,255,255, ; + Column19.ColumnOrder = 2, ; + Column19.ControlSource = "fdoc", ; + Column19.FontName = "Arial", ; + Column19.FontSize = 10, ; + Column19.Name = "cFDoc", ; + Column19.ReadOnly = .F., ; + Column20.BackColor = 255,255,255, ; + Column20.ColumnOrder = 23, ; + Column20.ControlSource = "se_scrie", ; + Column20.FontName = "Arial", ; + Column20.FontSize = 10, ; + Column20.Name = "cSe_scrie", ; + Column20.Sparse = .F., ; + Column20.Visible = .T., ; + Column20.Width = 87, ; + Column21.BackColor = 255,255,255, ; + Column21.Bound = .F., ; + Column21.ColumnOrder = 13, ; + Column21.ControlSource = "Iif(Seek(introdc.taxcode,'saft_taxtable','taxcode'),saft_taxtable.taxname,'')", ; + Column21.CurrentControl = "_combobox1", ; + Column21.FontName = "Arial", ; + Column21.FontSize = 10, ; + Column21.Name = "cTaxCode", ; + Column21.Sparse = .F., ; + Column21.Width = 176, ; + Column22.BackColor = 255,255,255, ; + Column22.ColumnOrder = 16, ; + Column22.ControlSource = "nume_val", ; + Column22.FontName = "Arial", ; + Column22.FontSize = 10, ; + Column22.Name = "cValuta", ; + Column22.ReadOnly = .F., ; + Column22.Visible = .T., ; + Column22.Width = 55, ; + Column23.Alignment = 1, ; + Column23.BackColor = 255,255,255, ; + Column23.ColumnOrder = 17, ; + Column23.ControlSource = "curs", ; + Column23.FontName = "Arial", ; + Column23.FontSize = 10, ; + Column23.InputMask = (get_mask(12,gnPCurs)), ; + Column23.Name = "cCurs", ; + Column23.ReadOnly = .F., ; + Column23.Visible = .T., ; + Column23.Width = 70 + *< END OBJECT: BaseClass="grid" /> + + ADD OBJECT 'Grid1.cAscc.Header1' AS header WITH ; + Alignment = 2, ; + Caption = "ASCC", ; + FontBold = .T., ; + FontName = "Arial", ; + FontSize = 10, ; + Name = "Header1" + *< END OBJECT: BaseClass="header" /> + + ADD OBJECT 'Grid1.cAscc.Text1' AS textbox WITH ; + BackColor = 255,255,255, ; + BorderStyle = 0, ; + FontName = "Arial", ; + FontSize = 10, ; + ForeColor = 0,0,0, ; + Margin = 0, ; + Name = "Text1" + *< END OBJECT: BaseClass="textbox" /> + + ADD OBJECT 'Grid1.cAscd.Header1' AS header WITH ; + Alignment = 2, ; + Caption = "ASCD", ; + FontBold = .T., ; + FontName = "Arial", ; + FontSize = 10, ; + Name = "Header1" + *< END OBJECT: BaseClass="header" /> + + ADD OBJECT 'Grid1.cAscd.Text1' AS textbox WITH ; + BackColor = 255,255,255, ; + BorderStyle = 0, ; + FontName = "Arial", ; + FontSize = 10, ; + ForeColor = 0,0,0, ; + Margin = 0, ; + Name = "Text1" + *< END OBJECT: BaseClass="textbox" /> + + ADD OBJECT 'Grid1.cCurs.Header1' AS header WITH ; + Alignment = 2, ; + Caption = "Curs", ; + FontBold = .T., ; + FontName = "Arial", ; + FontSize = 10, ; + Name = "Header1" + *< END OBJECT: BaseClass="header" /> + + ADD OBJECT 'Grid1.cCurs.Text1' AS textbox WITH ; + BackColor = 255,255,255, ; + BorderStyle = 0, ; + FontName = "Arial", ; + FontSize = 10, ; + ForeColor = 0,0,0, ; + Margin = 0, ; + Name = "Text1" + *< END OBJECT: BaseClass="textbox" /> + + ADD OBJECT 'Grid1.cDataAct.Header1' AS header WITH ; + Alignment = 2, ; + Caption = "Data doc.", ; + FontBold = .T., ; + FontName = "Arial", ; + FontSize = 10, ; + Name = "Header1" + *< END OBJECT: BaseClass="header" /> + + ADD OBJECT 'Grid1.cDataAct.Text1' AS textbox WITH ; + BackColor = 255,255,255, ; + BorderStyle = 0, ; + FontName = "Arial", ; + FontSize = 10, ; + ForeColor = 0,0,0, ; + Margin = 0, ; + Name = "Text1" + *< END OBJECT: BaseClass="textbox" /> + + ADD OBJECT 'Grid1.cExplicatia4.Header1' AS header WITH ; + Alignment = 2, ; + Caption = "Procent lei", ; + FontBold = .T., ; + FontName = "Arial", ; + FontSize = 10, ; + Name = "Header1", ; + WordWrap = .T. + *< END OBJECT: BaseClass="header" /> + + ADD OBJECT 'Grid1.cExplicatia4.Text1' AS textbox WITH ; + BackColor = 255,255,255, ; + BorderStyle = 0, ; + FontName = "Arial", ; + FontSize = 10, ; + ForeColor = 0,0,0, ; + Margin = 0, ; + Name = "Text1", ; + Visible = .T. + *< END OBJECT: BaseClass="textbox" /> + + ADD OBJECT 'Grid1.cExplicatia5.Header1' AS header WITH ; + Alignment = 2, ; + Caption = "Procent valuta", ; + FontBold = .T., ; + FontName = "Arial", ; + FontSize = 10, ; + Name = "Header1", ; + WordWrap = .T. + *< END OBJECT: BaseClass="header" /> + + ADD OBJECT 'Grid1.cExplicatia5.Text1' AS textbox WITH ; + BackColor = 255,255,255, ; + BorderStyle = 0, ; + FontName = "Arial", ; + FontSize = 10, ; + ForeColor = 0,0,0, ; + Margin = 0, ; + Name = "Text1" + *< END OBJECT: BaseClass="textbox" /> + + ADD OBJECT 'Grid1.cExplicatie.Header1' AS header WITH ; + Alignment = 2, ; + Caption = "Explicatia", ; + FontBold = .T., ; + FontName = "Arial", ; + FontSize = 10, ; + Name = "Header1" + *< END OBJECT: BaseClass="header" /> + + ADD OBJECT 'Grid1.cExplicatie.Text1' AS textbox WITH ; + BackColor = 255,255,255, ; + BorderStyle = 0, ; + FontName = "Arial", ; + FontSize = 10, ; + ForeColor = 0,0,0, ; + Margin = 0, ; + Name = "Text1", ; + Visible = .T. + *< END OBJECT: BaseClass="textbox" /> + + ADD OBJECT 'Grid1.cExplicatieTva.Combo1' AS combobox WITH ; + BoundColumn = 1, ; + BoundTo = .T., ; + ColumnCount = 1, ; + ColumnLines = .F., ; + ColumnWidths = "250,0,0", ; + FontName = "Arial", ; + FontSize = 10, ; + Height = 10, ; + Left = 17, ; + Name = "Combo1", ; + RowSource = "jtva_coloane2.denumire,cota_tva,id_jtva_coloana", ; + RowSourceType = 2, ; + SpecialEffect = 1, ; + Style = 2, ; + Top = 23, ; + Visible = .T., ; + Width = 10 + *< END OBJECT: BaseClass="combobox" /> + + ADD OBJECT 'Grid1.cExplicatieTva.Header1' AS header WITH ; + Alignment = 2, ; + Caption = "Explicatie TVA", ; + FontBold = .T., ; + FontName = "Arial", ; + FontSize = 10, ; + Name = "Header1" + *< END OBJECT: BaseClass="header" /> + + ADD OBJECT 'Grid1.cExplicatieTva.Text1' AS textbox WITH ; + BorderStyle = 0, ; + Height = 23, ; + Left = 104, ; + Name = "Text1", ; + ReadOnly = .F., ; + Top = 87, ; + Width = 100 + *< END OBJECT: BaseClass="textbox" /> + + ADD OBJECT 'Grid1.cFDoc.Header1' AS header WITH ; + Alignment = 2, ; + Caption = "Fel doc.", ; + FontBold = .T., ; + FontName = "Arial", ; + FontSize = 10, ; + Name = "Header1" + *< END OBJECT: BaseClass="header" /> + + ADD OBJECT 'Grid1.cFDoc.Text1' AS textbox WITH ; + BackColor = 255,255,255, ; + BorderStyle = 0, ; + FontName = "Arial", ; + FontSize = 10, ; + ForeColor = 0,0,0, ; + Margin = 0, ; + Name = "Text1", ; + ReadOnly = .F. + *< END OBJECT: BaseClass="textbox" /> + + ADD OBJECT 'Grid1.cInValuta.Check1' AS checkbox WITH ; + Alignment = 2, ; + Caption = "", ; + Centered = .T., ; + FontName = "Arial", ; + FontSize = 10, ; + Height = 17, ; + Left = 49, ; + Name = "Check1", ; + TabStop = .F., ; + Top = 83, ; + Width = 60 + *< END OBJECT: BaseClass="checkbox" /> + + ADD OBJECT 'Grid1.cInValuta.Header1' AS header WITH ; + Alignment = 2, ; + Caption = "Valuta in contabilitate", ; + FontBold = .T., ; + FontName = "Arial", ; + FontSize = 10, ; + Name = "Header1", ; + WordWrap = .T. + *< END OBJECT: BaseClass="header" /> + + ADD OBJECT 'Grid1.cNract.Header1' AS header WITH ; + Alignment = 2, ; + Caption = "Nr factura", ; + FontBold = .T., ; + FontName = "Arial", ; + FontSize = 10, ; + Name = "Header1" + *< END OBJECT: BaseClass="header" /> + + ADD OBJECT 'Grid1.cNract.Text1' AS textbox WITH ; + BackColor = 255,255,255, ; + BorderStyle = 0, ; + FontName = "Arial", ; + FontSize = 10, ; + ForeColor = 0,0,0, ; + Margin = 0, ; + Name = "Text1", ; + Visible = .T. + *< END OBJECT: BaseClass="textbox" /> + + ADD OBJECT 'Grid1.cPartC.Header1' AS header WITH ; + Alignment = 2, ; + Caption = "Partener credit", ; + FontBold = .T., ; + FontName = "Arial", ; + FontSize = 10, ; + Name = "Header1" + *< END OBJECT: BaseClass="header" /> + + ADD OBJECT 'Grid1.cPartC.Text1' AS textbox WITH ; + BackColor = 255,255,255, ; + BorderStyle = 0, ; + FontName = "Arial", ; + FontSize = 10, ; + ForeColor = 0,0,0, ; + Margin = 0, ; + Name = "Text1", ; + Visible = .T. + *< END OBJECT: BaseClass="textbox" /> + + ADD OBJECT 'Grid1.cPartD.Header1' AS header WITH ; + Alignment = 2, ; + Caption = "Partener debit", ; + FontBold = .T., ; + FontName = "Arial", ; + FontSize = 10, ; + Name = "Header1" + *< END OBJECT: BaseClass="header" /> + + ADD OBJECT 'Grid1.cPartD.Text1' AS textbox WITH ; + BackColor = 255,255,255, ; + BorderStyle = 0, ; + FontName = "Arial", ; + FontSize = 10, ; + ForeColor = 0,0,0, ; + Margin = 0, ; + Name = "Text1" + *< END OBJECT: BaseClass="textbox" /> + + ADD OBJECT 'Grid1.cParticipaValuta.Check1' AS checkbox WITH ; + Alignment = 2, ; + Caption = "", ; + FontName = "Arial", ; + FontSize = 10, ; + Height = 17, ; + Left = 21, ; + Name = "Check1", ; + Top = 71, ; + Width = 60 + *< END OBJECT: BaseClass="checkbox" /> + + ADD OBJECT 'Grid1.cParticipaValuta.Header1' AS header WITH ; + Alignment = 2, ; + Caption = "Participa la pret valuta", ; + FontBold = .T., ; + FontName = "Arial", ; + FontSize = 10, ; + Name = "Header1", ; + WordWrap = .T. + *< END OBJECT: BaseClass="header" /> + + ADD OBJECT 'Grid1.cPtva.Header1' AS header WITH ; + Alignment = 2, ; + Caption = "TVA %", ; + FontBold = .T., ; + FontName = "Arial", ; + FontSize = 10, ; + Name = "Header1" + *< END OBJECT: BaseClass="header" /> + + ADD OBJECT 'Grid1.cPtva.Text1' AS textbox WITH ; + BackColor = 255,255,255, ; + BorderStyle = 0, ; + FontName = "Arial", ; + FontSize = 10, ; + ForeColor = 0,0,0, ; + Margin = 0, ; + Name = "Text1" + *< END OBJECT: BaseClass="textbox" /> + + ADD OBJECT 'Grid1.cScc.Header1' AS header WITH ; + Alignment = 2, ; + Caption = "SCC", ; + FontBold = .T., ; + FontName = "Arial", ; + FontSize = 10, ; + Name = "Header1" + *< END OBJECT: BaseClass="header" /> + + ADD OBJECT 'Grid1.cScc.Text1' AS textbox WITH ; + BackColor = 255,255,255, ; + BorderStyle = 0, ; + FontName = "Arial", ; + FontSize = 10, ; + ForeColor = 0,0,0, ; + Margin = 0, ; + Name = "Text1", ; + Visible = .T. + *< END OBJECT: BaseClass="textbox" /> + + ADD OBJECT 'Grid1.cScd.Header1' AS header WITH ; + Alignment = 2, ; + Caption = "SCD", ; + FontBold = .T., ; + FontName = "Arial", ; + FontSize = 10, ; + Name = "Header1" + *< END OBJECT: BaseClass="header" /> + + ADD OBJECT 'Grid1.cScd.Text1' AS textbox WITH ; + BackColor = 255,255,255, ; + BorderStyle = 0, ; + FontName = "Arial", ; + FontSize = 10, ; + ForeColor = 0,0,0, ; + Margin = 0, ; + Name = "Text1", ; + Visible = .T. + *< END OBJECT: BaseClass="textbox" /> + + ADD OBJECT 'Grid1.cSe_scrie._checkbox1' AS _checkbox WITH ; + Alignment = 2, ; + AutoSize = .F., ; + Caption = "", ; + Centered = .T., ; + FontName = "Arial", ; + FontSize = 10, ; + Left = 41, ; + Name = "_checkbox1", ; + Top = 47 + *< END OBJECT: ClassLib="_baza.vcx" BaseClass="checkbox" /> + + ADD OBJECT 'Grid1.cSe_scrie.Header1' AS header WITH ; + Alignment = 2, ; + Caption = "Se scrie nota chiar daca suma este 0", ; + FontBold = .T., ; + FontName = "Arial", ; + FontSize = 10, ; + Name = "Header1", ; + WordWrap = .T. + *< END OBJECT: BaseClass="header" /> + + ADD OBJECT 'Grid1.cSerie_act.Header1' AS header WITH ; + Alignment = 2, ; + Caption = "Serie factura", ; + FontBold = .T., ; + FontName = "Arial", ; + FontSize = 10, ; + Name = "Header1", ; + WordWrap = .T. + *< END OBJECT: BaseClass="header" /> + + ADD OBJECT 'Grid1.cSerie_act.Text1' AS textbox WITH ; + BackColor = 255,255,255, ; + BorderStyle = 0, ; + FontName = "Arial", ; + FontSize = 10, ; + ForeColor = 0,0,0, ; + Format = "!", ; + Margin = 0, ; + Name = "Text1" + *< END OBJECT: BaseClass="textbox" /> + + ADD OBJECT 'Grid1.cSuma.Header1' AS header WITH ; + Alignment = 2, ; + Caption = "Suma", ; + FontBold = .T., ; + FontName = "Arial", ; + FontSize = 10, ; + Name = "Header1" + *< END OBJECT: BaseClass="header" /> + + ADD OBJECT 'Grid1.cSuma.Text1' AS textbox WITH ; + Alignment = 1, ; + BackColor = 255,255,255, ; + BorderStyle = 0, ; + FontName = "Arial", ; + FontSize = 10, ; + ForeColor = 0,0,0, ; + Margin = 0, ; + Name = "Text1", ; + Visible = .T. + *< END OBJECT: BaseClass="textbox" /> + + ADD OBJECT 'Grid1.cSumaVal.Header1' AS header WITH ; + Alignment = 2, ; + Caption = "Suma valuta", ; + FontBold = .T., ; + FontName = "Arial", ; + FontSize = 10, ; + Name = "Header1" + *< END OBJECT: BaseClass="header" /> + + ADD OBJECT 'Grid1.cSumaVal.Text1' AS textbox WITH ; + BackColor = 255,255,255, ; + BorderStyle = 0, ; + FontName = "Arial", ; + FontSize = 10, ; + ForeColor = 0,0,0, ; + Margin = 0, ; + Name = "Text1" + *< END OBJECT: BaseClass="textbox" /> + + ADD OBJECT 'Grid1.cTaxCode._combobox1' AS _combobox WITH ; + BorderStyle = 0, ; + BoundColumn = 3, ; + BoundTo = .T., ; + ColumnCount = 2, ; + ColumnLines = .F., ; + ColumnWidths = "450,100", ; + ControlSource = "introdc.taxcode", ; + FontName = "Arial", ; + FontSize = 10, ; + Left = 84, ; + Name = "_combobox1", ; + RowSource = "select taxname, procent_taxa, taxcode from saft_taxtable where tva_achizitii=1 into cursor crsTaxTableX", ; + RowSourceType = 3, ; + Top = 87 + *< END OBJECT: ClassLib="..\..\..\roacont\comun\clase\_baza.vcx" BaseClass="combobox" /> + + ADD OBJECT 'Grid1.cTaxCode.Header1' AS header WITH ; + Alignment = 2, ; + Caption = "Taxa SAFT", ; + FontName = "Arial", ; + FontSize = 10, ; + Name = "Header1" + *< END OBJECT: BaseClass="header" /> + + ADD OBJECT 'Grid1.cTaxCode.Text1' AS textbox WITH ; + BackColor = 255,255,255, ; + BorderStyle = 0, ; + ForeColor = 0,0,0, ; + Margin = 0, ; + Name = "Text1" + *< END OBJECT: BaseClass="textbox" /> + + ADD OBJECT 'Grid1.cValuta.Header1' AS header WITH ; + Alignment = 2, ; + Caption = "Valuta", ; + FontBold = .T., ; + FontName = "Arial", ; + FontSize = 10, ; + Name = "Header1" + *< END OBJECT: BaseClass="header" /> + + ADD OBJECT 'Grid1.cValuta.Text1' AS textbox WITH ; + BackColor = 255,255,255, ; + BorderStyle = 0, ; + FontName = "Arial", ; + FontSize = 10, ; + ForeColor = 0,0,0, ; + Margin = 0, ; + Name = "Text1" + *< END OBJECT: BaseClass="textbox" /> + + ADD OBJECT 'Label1' AS label WITH ; + Anchor = 6, ; + AutoSize = .T., ; + BackStyle = 0, ; + Caption = "SUMA", ; + FontBold = .T., ; + FontName = "Arial", ; + Height = 17, ; + Left = 254, ; + Name = "Label1", ; + TabIndex = 13, ; + Top = 378, ; + Width = 36, ; + ZOrderSet = 9 + *< END OBJECT: BaseClass="label" /> + + ADD OBJECT 'Label2' AS label WITH ; + Anchor = 6, ; + AutoSize = .T., ; + BackStyle = 0, ; + Caption = "PROCENTE", ; + Enabled = .T., ; + FontBold = .T., ; + FontName = "Arial", ; + Height = 17, ; + Left = 98, ; + Name = "Label2", ; + TabIndex = 14, ; + Top = 378, ; + Width = 64, ; + ZOrderSet = 10 + *< END OBJECT: BaseClass="label" /> + + ADD OBJECT 'Label3' AS label WITH ; + Anchor = 6, ; + AutoSize = .T., ; + BackStyle = 0, ; + Caption = "SUMA VALUTÃ", ; + FontBold = .T., ; + FontCharSet = 238, ; + FontName = "Arial", ; + Height = 17, ; + Left = 417, ; + Name = "Label3", ; + TabIndex = 13, ; + Top = 378, ; + Width = 85, ; + ZOrderSet = 9 + *< END OBJECT: BaseClass="label" /> + + ADD OBJECT 'Label4' AS label WITH ; + Anchor = 6, ; + AutoSize = .T., ; + BackStyle = 0, ; + Caption = "TOTAL", ; + Enabled = .T., ; + FontBold = .T., ; + FontName = "Arial", ; + Height = 17, ; + Left = 12, ; + Name = "Label4", ; + TabIndex = 14, ; + Top = 378, ; + Width = 40, ; + ZOrderSet = 10 + *< END OBJECT: BaseClass="label" /> + + ADD OBJECT 'lb_curs' AS label WITH ; + Anchor = 3, ; + AutoSize = .T., ; + BackStyle = 0, ; + Caption = "CURS VALUTAR :", ; + Enabled = .T., ; + FontBold = .T., ; + FontName = "Arial", ; + Height = 17, ; + Left = 16, ; + Name = "lb_curs", ; + TabIndex = 14, ; + Top = 35, ; + Visible = .F., ; + Width = 97, ; + ZOrderSet = 10 + *< END OBJECT: BaseClass="label" /> + + ADD OBJECT 'Lb_pas_flux' AS label WITH ; + AutoSize = .F., ; + BackStyle = 0, ; + Caption = "1.Nota > 2.Articole > 3.Verificare", ; + FontName = "Arial", ; + FontSize = 8, ; + ForeColor = 0,0,25, ; + Height = 14, ; + Left = 420, ; + Name = "Lb_pas_flux", ; + Top = 8, ; + Width = 230 + *< END OBJECT: BaseClass="label" /> + + ADD OBJECT 'Text1' AS textbox WITH ; + Anchor = 6, ; + BackStyle = 0, ; + ControlSource = "", ; + Enabled = .F., ; + FontBold = .T., ; + FontName = "Arial", ; + ForeColor = 0,64,128, ; + Height = 23, ; + Left = 169, ; + Name = "Text1", ; + TabIndex = 11, ; + Top = 375, ; + Value = , ; + Width = 72, ; + ZOrderSet = 7 + *< END OBJECT: BaseClass="textbox" /> + + ADD OBJECT 'Text2' AS textbox WITH ; + Alignment = 1, ; + Anchor = 6, ; + BackStyle = 0, ; + ControlSource = "", ; + Enabled = .F., ; + FontBold = .T., ; + FontName = "Arial", ; + ForeColor = 0,64,128, ; + Format = "r", ; + Height = 23, ; + InputMask = (get_mask(12,gnPc)), ; + Left = 297, ; + Name = "Text2", ; + TabIndex = 12, ; + Top = 375, ; + Value = 0, ; + Width = 103, ; + ZOrderSet = 8 + *< END OBJECT: BaseClass="textbox" /> + + ADD OBJECT 'Text3' AS textbox WITH ; + Alignment = 1, ; + Anchor = 6, ; + BackStyle = 0, ; + ControlSource = "", ; + Enabled = .F., ; + FontBold = .T., ; + FontName = "Arial", ; + ForeColor = 0,64,128, ; + Format = "r", ; + Height = 23, ; + InputMask = (get_mask(12,gnPVAL)), ; + Left = 512, ; + Name = "Text3", ; + TabIndex = 12, ; + Top = 375, ; + Value = 0, ; + Width = 107, ; + ZOrderSet = 8 + *< END OBJECT: BaseClass="textbox" /> + + PROCEDURE Activate + *!* Deschid automat dialogul "Adauga factura" la prima activare (numai pe modul + *!* import), dupa ce formularul e deja vizibil in spatele dialogului. + DoDefault() + If !This.lIntern And !This.lDialogAratat + This.lDialogAratat = .T. + This.do_adauga() + Endif + ENDPROC + + PROCEDURE aplica_explicatie_tva + *!* Extrasa din do_modifica_explicatie_tva si Grid1.cExplicatieTva.Combo1.Valid + *!* (comutarea 4426=4427/401 + UpdateExplicatieSAFT), ca sa nu se duplice logica intre + *!* editarea in grid si frm_adauga_factura (docs/propuneri_ergonomie_import.md, M2). + *!* CONTRACT: se apeleaza cu randul curent din introdc pozitionat pe linia de BAZA + *!* (impara) a perechii; metoda comuta ea insasi pe linia de TVA (para) cu Skip. + Lparameters tnIdJtvaColoana + Local lnRec, lnPtva, lcExplicatieTva, lnId_tva, lnId_jtva_coloanaTVA, lnCota_tva, lcExplicatie_TVA + + Select jtva_coloane2 + Locate For id_jtva_coloana = tnIdJtvaColoana + If !Found() + Return .F. + Endif + lnPtva = jtva_coloane2.cota_Tva + lcExplicatieTva = jtva_coloane2.denumire + lnId_tva = jtva_coloane2.id_Tva + + Select introdc + lnRec = Recno() + Replace id_jtva_coloana With tnIdJtvaColoana, ptva With lnPtva, explicatie_tva With lcExplicatieTva + + If Mod(lnRec,2)<>0 && linie impara BAZA + Thisform.UpdateExplicatieSAFT() + If lnPtva = 0 + Select introdc + Replace cu_tva With 0 + Skip + Replace id_jtva_coloana With 0, ptva With 0, explicatie_tva With '', cu_tva With 0 + Else && linia para TVA + Select jtva_coloane2 + Locate For id_jtva_coloana = lnId_tva + If Found() + lnId_jtva_coloanaTVA = jtva_coloane2.id_jtva_coloana + lnCota_tva = jtva_coloane2.cota_Tva + lcExplicatie_TVA = jtva_coloane2.denumire + + * PENTRU TAXARE INVERSA SI COMUNITATEA EUROPEANA: 4426 = 4427 PE LINIA DE TVA, ALTFEL 4426 = 401 + Select introdc + Replace cu_tva With 1 + Skip + Replace id_jtva_coloana With lnId_jtva_coloanaTVA, ptva With lnCota_tva, ; + explicatie_tva With lcExplicatie_TVA, cu_tva With 1 + If Seek(lnId_jtva_coloanaTVA, "cJtvaCol4427", "id_jtva") + Replace scc With '4427' In introdc + Else + Replace scc With '401' In introdc + Endif + Thisform.UpdateExplicatieSAFT() + Endif + Endif + Endif + + Return .T. + ENDPROC + + PROCEDURE copiaza_valoare + Lparameters tcCamp + Local lcSelect, lcCursor, luValoare + lcCursor = Thisform.grid1.RecordSource + lcSelect = Select() + Select (lcCursor) + If Mod(Recno(),2) = 1 And Recno() <> Reccount() + luValoare = &tcCamp + Skip + Replace (tcCamp) With luValoare + Skip -1 + Endif + Select (lcSelect) + Release lcSelect, lcCursor, luValoare + ENDPROC + + PROCEDURE Destroy + USE IN (SELECT('cJtvaCol4427')) + ENDPROC + + PROCEDURE do_adauga + *!* Pas 3: deschide dialogul modal frm_adauga_factura. Memoria DVI (cDviSerie/cDviNr/ + *!* dDviData/nDviIdPartener/cDviPartener/nDviIdFdoc) traieste pe Thisform (import_nota) + *!* si e citita/scrisa de dialog prin Thisform.oParinte - vezi frm_adauga_factura.Init + *!* si cmdAdauga.Click in pas3_frm_class.txt. + Local loDlg + loDlg = Createobject('import_adauga_factura', Thisform) + loDlg.Show(1) + Release loDlg + + ENDPROC + + PROCEDURE do_adauga_factura + *!* Directia A: cloneaza perechea-sablon (baza + TVA) din introdc_sablon, + *!* o adauga in introdc si o populeaza cu datele documentului (toDlg). + *!* Paritatea Recno se pastreaza (introdc pornit gol; append baza apoi TVA). + *!* toDlg.cTipTva in {'F' furnizor, 'D' DVI, 'N' fara} decide randul de TVA - + *!* vezi docs/propuneri_ergonomie_import.md, M2, "Ramura TVA". + Lparameters toDlg + Local lnSel, loBaza, loTva + lnSel = Select() + If !Used('introdc_sablon') Or Reccount('introdc_sablon') < 2 + Messagebox('Lipseste perechea-sablon (introdc_sablon).', 0+16, 'Adauga factura') + Select (lnSel) + Return .F. + Endif + + * --- rand BAZA (clona recordului 1 din sablon) --- + Select introdc_sablon + Go Top + Scatter Name loBaza Memo + Select introdc + Append Blank + Gather Name loBaza Memo + Replace serie_act With toDlg.serie_act, ; + nract With toDlg.nract, ; + dataact With toDlg.dataact, ; + fdoc With toDlg.fdoc, ; + id_fdoc With toDlg.id_fdoc, ; + id_partc With toDlg.id_partc, ; + partc With toDlg.partc, ; + explicatia With toDlg.explicatia, ; + suma With toDlg.suma, ; + suma_val With toDlg.suma_val, ; + in_valuta With toDlg.in_valuta, ; + participa_valuta With toDlg.participa_valuta, ; + id_valuta With toDlg.id_valuta, ; + curs With toDlg.curs, ; + nume_val With toDlg.nume_val + + * --- rand TVA (clona recordului 2 din sablon; suma TVA o pune do_executa) --- + Select introdc_sablon + Go 2 + Scatter Name loTva Memo + Select introdc + Append Blank + Gather Name loTva Memo + Replace serie_act With toDlg.serie_act, ; + nract With toDlg.nract, ; + dataact With toDlg.dataact, ; + fdoc With toDlg.fdoc, ; + id_fdoc With toDlg.id_fdoc, ; + id_partc With toDlg.id_partc, ; + partc With toDlg.partc, ; + in_valuta With toDlg.in_valuta, ; + participa_valuta With toDlg.participa_valuta, ; + id_valuta With toDlg.id_valuta, ; + curs With toDlg.curs, ; + nume_val With toDlg.nume_val + + Do Case + Case toDlg.cTipTva = 'F' + * explicatia TVA + comutarea 4426=4427/401, ca la editarea in grid (aplica_explicatie_tva); + * metoda asteapta randul curent pe BAZA (impara) - repozitionez pe baza; aplica_explicatie_tva + * comuta ea insasi pe TVA cu Skip. do_executa() face Go Top, deci pozitia finala nu conteaza. + Skip -1 + Thisform.aplica_explicatie_tva(toDlg.id_jtva_coloana) + Case toDlg.cTipTva = 'D' + * explicatia TVA in tandem (baza + linia de TVA), ca la editarea in grid (aplica_explicatie_tva); + * apoi Replace-ul de mai jos suprascrie pe linia de TVA campurile proprii DVI-ului + Skip -1 + Thisform.aplica_explicatie_tva(toDlg.id_jtva_coloana) + Select introdc + Go Bottom && linia de TVA e ultimul record (perechea abia adaugata) + * TVA platit in vama: randul de TVA devine "al DVI-ului" - alt document/partener/conturi + Replace serie_act With toDlg.dvi_serie, ; + nract With toDlg.dvi_nract, ; + dataact With toDlg.dvi_dataact, ; + fdoc With toDlg.dvi_fdoc, ; + id_fdoc With toDlg.dvi_id_fdoc, ; + id_partc With toDlg.dvi_id_partc, ; + partc With toDlg.dvi_partc, ; + scd With '4426', ; + scc With toDlg.dvi_scc, ; + suma With toDlg.dvi_tva_lei, ; + suma_val With toDlg.dvi_tva_val, ; + in_valuta With Iif(toDlg.dvi_tva_val <> 0, toDlg.in_valuta, 0), ; + participa_valuta With toDlg.participa_valuta, ; + id_valuta With Iif(toDlg.dvi_tva_val <> 0, toDlg.id_valuta, 0), ; + curs With Iif(toDlg.dvi_tva_val <> 0, toDlg.curs, 0), ; + nume_val With Iif(toDlg.dvi_tva_val <> 0, toDlg.nume_val, '') + Case toDlg.cTipTva = 'N' + * fara TVA: randul pereche ramane gol fiscal, ca la cota 0 in logica existenta + Replace id_jtva_coloana With 0, ptva With 0, cu_tva With 0, explicatie_tva With '' + Endcase + + Thisform.do_executa() + Select (lnSel) + Return .T. + ENDPROC + + PROCEDURE do_calculeaza_suma + aMESSAGEBOX("Eroare calculeaza suma!") + *!* Local lnSuma1, lnSuma2, Tsuma, Tprocent, lnRec + *!* Store 0 To lnSuma1, lnSuma2, Tsuma, Tprocent, lnRec + + *!* lcSel = Thisform.grid1.RecordSource + + *!* Select (lcSel) + *!* lnRec = Recno(lcSel) + *!* Go Top + *!* lnSuma1 = suma + *!* If in_valuta = 1 + *!* lnBazaVal = suma_val + *!* Endif + *!* Sum suma For in_valuta = 1 To lnBazaLei + *!* Sum suma_val For in_valuta = 1 To tSumaVal + + *!* If Mod(Recno(),2)<>0 && rand impar + *!* lnSuma2 = suma + *!* lnSuma_val = suma_val + *!* If in_valuta = 0 + *!* Replace explicatia4 With Allt(Str(lnSuma2/lnBazaLei*100,8,4)), explicatia5 With '' + *!* Else + *!* Replace explicatia5 With Allt(Str(lnSuma_val/lnBazaVal*100,8,4)), explicatia4 With '' + *!* Endif + *!* Else + *!* If ptva <> 0 + *!* Repl suma With Round(lnSuma2*ptva/100,gnZvama) + *!* If in_valuta = 1 + *!* Replace suma_val With Round(lnSuma_val*ptva/100,gnPval) + *!* Endif + *!* Else + *!* If Recno()>1 And !Eof() + *!* Repl suma With 0, suma_val With 0 + *!* Endif + *!* Endif + *!* Endif + *!* Tprocent = Tprocent + Round(lnSuma2/lnSuma1*100,2) + *!* Tsuma = Tsuma + suma + + + *!* Goto lnRec + + *!* Thisform.text1.Value = Allt(Str(Tprocent,8,2))+'%' + *!* Thisform.text2.Value = Tsuma + *!* Thisform.text3.Value = tSumaVal + *!* Thisform.Refresh + + + ENDPROC + + PROCEDURE do_executa + Local lnSuma1, lnSuma2, Tsuma, Tprocent, lnRec + Store 0 To lnSuma1, lnSuma2, Tsuma, Tprocent, lnRec + LOCAL lnBazaVal, tSumaVal + lnBazaVal = 0 + tSumaVal = 0 + Sele introdc + lnRec = Recno() + Go Top + lnSuma1 = suma + && baza in valuta pentru facturile din import este pe prima linie + If in_valuta = 1 + lnBazaVal = suma_val + Endif + + && baza lei pentru facturile interne este pe prima linie + IF this.lIntern + lnBazaLei = IIF(participa_valuta, suma, 0) + ELSE + Sum suma For participa_valuta AND in_valuta = 1 AND scd <> '4426' To lnBazaLei + ENDIF + + + Sum suma_val For in_valuta = 1 To tSumaVal + + *!*lnBazaLei = suma && adaugata 06.09.2007 marius.mutu - mi-e neclar fata de ce suma se calculeaza procentele + && procentele se recalculeaza oricum in ointroduceri.prg + + + Scan + If Mod(Recno(),2)<>0 && rand impar + lnSuma2 = suma + lnSuma_val = suma_val + *REPL explicatia4 WITH ALLT(STR(lnSuma2/lnSuma1*100,6,2))+'%' + *!* If in_valuta = 0 + If !participa_valuta OR (this.lIntern AND participa_valuta) + Replace explicatia4 With Allt(Str(IIF(lnBazaLei <> 0, lnSuma2/lnBazaLei*100, 0),6,2)), explicatia5 With '' + ELSE + && daca participa la valoarea in valuta, dar are doar valoarea in lei + && calculez valoarea in valuta virtual + IF in_valuta = 0 + Replace explicatia5 With Allt(Str(IIF(lnBazaVal <> 0, ROUND(lnSuma2/thisform.oact.curs, gnPVal)/lnBazaVal*100, 0),6,2)), explicatia4 With '' + ELSE + Replace explicatia5 With Allt(Str(IIF(lnBazaVal <> 0, lnSuma_val/lnBazaVal*100, 0),6,2)), explicatia4 With '' + ENDIF + Endif + *!* modificare v 2.1.39 + Tprocent = Tprocent + Round(IIF(lnSuma1 <> 0, lnSuma2/lnSuma1*100, 0),2) + *!* modificare v 2.1.39 ^ + Else + If ptva <> 0 + IF lnSuma2 <> 0 + Repl suma With Round(lnSuma2*ptva/100,gnPC) + ENDIF + If in_valuta = 1 AND lnSuma_val <> 0 + Replace suma_val With Round(lnSuma_val*ptva/100,gnPval) + Endif + Else + If Recno()>1 And !Eof() + Repl suma With 0, suma_val With 0 + Endif + Endif + Endif + *!* modificare v 2.1.39 + *!* Tprocent = Tprocent + Round(IIF(lnSuma1 <> 0, lnSuma2/lnSuma1*100, 0),2) + *!* modificare v 2.1.39 ^ + Tsuma = Tsuma + suma + Endscan + + *!* IF MOD(RECNO(),2)<>0 + *!* suma2=suma + *!* REPLACE explicatia4 WITH ALLT(STR(suma2/suma1*100,6,3)+'%') + *!* SKIP 1 + *!* IF ptva # 0 + *!* REPLACE suma WITH ROUND(suma2*ptva /100,gnPc) + *!* REPLACE suma_val WITH ROUND(suma_val*ptva /100,gnPval) + *!* ELSE + *!* REPLACE suma WITH 0, suma_val WITH 0 + *!* ENDIF + *!* *!* ENDIF + *!* ENDIF + + If lnRec=1 + Go Top + Else + Goto lnRec + Endif + + + Thisform.text1.Value = Allt(Str(Tprocent,8,2))+'%' + Thisform.text2.Value = Tsuma + Thisform.text3.Value = tSumaVal + Thisform.refac_culori_documente() + Thisform.Refresh + + + ENDPROC + + PROCEDURE do_modifica_explicatie_tva + *!* cautare explicatie TVA prin formular (model: frm_modific2024 din omodificari.vcx); + *!* logica de aplicare pe cursor e extrasa in aplica_explicatie_tva() - comuna cu + *!* Grid1.cExplicatieTva.Combo1.Valid si cu frm_adauga_factura (ramura furnizor). + LOCAL lnId, loCauta, lnCotaFiltru, lcFiltruTva + + Select introdc + + * filtrez explicatiile dupa procentul de TVA al liniei (coloana "TVA %"); + * fara procent (0/gol) se afiseaza toate, ca sa nu ramana lista goala + lnCotaFiltru = Nvl(introdc.ptva, 0) + lcFiltruTva = [id_jtva_coloana > 0] + If lnCotaFiltru > 0 + lcFiltruTva = lcFiltruTva + [ and cota_tva = ] + Alltrim(Str(lnCotaFiltru,10,2)) + Endif + + * lista contine si liniile de baza si perechile de TVA, ca vechiul dropdown (jtva_coloane2) - + * caut_explicatie_tva cu tlTipEx intoarce doar perechile de TVA, deci apelez direct cauta_alfa + loCauta = cauta_alfa([select id_jtva_coloana, denumire, cota_tva FROM vjtva_coloane], [1=2], [], ; + [denumire], [denumire,cota_tva], [Alegeti explicatia TVA], [Explicatie TVA,Cota TVA], ; + [], .F., lcFiltruTva) + + If Vartype(loCauta) <> 'O' Or Empty(Nvl(loCauta.id_jtva_coloana,0)) + Return + Endif + + lnId = loCauta.id_jtva_coloana + + Select introdc + Thisform.aplica_explicatie_tva(lnId) + + Thisform.grid1.cSuma.teXT1.Valid + ENDPROC + + PROCEDURE do_modifica_fdoc + Local loCauta + loCauta = caut_fdoc(.F.,.T.) + If !Isnull(loCauta) + Select (Thisform.grid1.RecordSource) + Replace id_fdoc With loCauta.id_fdoc,fdoc With loCauta.fel_document + Thisform.copiaza_valoare([id_fdoc]) + Thisform.copiaza_valoare([fdoc]) + Endif + ENDPROC + + PROCEDURE do_sterge + *!* Butonul de stergere note: sterge nota curenta (perechea baza + TVA) din introdc. + *!* Perechile sunt identificate prin paritatea Recno (impar = baza, par = TVA), asa ca + *!* sterg logic (Delete) ambele linii: cu SET DELETED ON dispar din grid si din + *!* Scan/Sum-urile din flux, iar Recno-urile ramase nu se schimba => paritatea se + *!* pastreaza. Nu se face Zap + refacere: introdc e sursa grid-ului, iar Zap inchide + *!* si recreeaza cursorul, deci grid-ul ar ramane fara sursa (blank). + Local lnSel, lnBaza, lnRaspuns, lcDoc + lnSel = Select() + Select introdc + If Reccount() = 0 Or Eof() Or Bof() + Select (lnSel) + Return + Endif + lnBaza = Recno() - Iif(Mod(Recno(),2) = 0, 1, 0) + Go lnBaza + lcDoc = Alltrim(Nvl(fdoc,'')) + ' ' + Alltrim(Nvl(serie_act,'')) + ' ' + ; + Alltrim(Str(Nvl(nract,0),14)) + ' - ' + Alltrim(Nvl(partc,'')) + lnRaspuns = amessagebox('Stergeti nota ' + Alltrim(lcDoc) + Chr(13) + Chr(10) + ; + '(linia de baza si linia de TVA pereche)?', 4+32, 'Stergere nota') + If lnRaspuns <> 6 + Select (lnSel) + Return + Endif + Delete Next 2 + Go Top + Thisform.do_executa() + Select (lnSel) + ENDPROC + + PROCEDURE inainte_de_do_termin + *!* 14.08.2014 + *!* marius.mutu + *!* S-a tratat cazul in care contul de TVA este 4428 (TVA incasare), nu numai 4426 + + Local onir as 'import_nir' + Local lcCursor, lcSel, lcSql, llAlegPartener, llRet, llVerificAnalitic, lnBazaLei, lnBazaVal + Local lnBazaVal2, lnNract, lnProcLei, lnProcVal, lnSucces, lnTvaLei, lnTvaVal, lnTvaVal2, loFact + Local llRulTempPlin + + lnNract = 0 + + llRet = .F. + lcSel = Thisform.grid1.RecordSource + Select (lcSel) + Locate For Empty(nract) And suma<>0 + If Found() + amessagebox('Nu ati completat numarul actului!',0+48,"Atentie") + Return m.llRet + Endif + + *!* modificare v 2.1.42 + Go Top + Locate For Empty(Nvl(id_fdoc,0)) And suma <> 0 + If Found() + amessagebox("Nu ati completat tipul documentului!",0+48,"Atentie") + Return m.llRet + Endif + *!* modificare v 2.1.42 ^ + + llVerificAnalitic = .T. + llAlegPartener = .F. + llRet = verificare_note_contabile(lcSel,llVerificAnalitic,llAlegPartener) + + If !m.llRet + Return m.llRet + Endif + + SELECT actactan + DELETE ALL + + Thisform.nid_part_finalizarenir = 0 && modificare v 2.1.39 + *!* modificare v 2.1.39 : am adaugat "or se_scrie = 1" + Select introdc + Scan For suma <> 0 Or se_scrie = 1 + Scatter Name loFact + Select actactan + Append Blank + Gather Name poAct + *!* modificare v 2.1.41 : am adaugat id_fdoc, fdoc, dataact + Gather Name loFact Fields id_fdoc, fdoc, dataact, serie_Act,nract, partc, id_partc,partd, id_partd, suma, explicatia, explicatia4, explicatia5, scd, ascd, scc, ascc, ID_JTVA_coloana, taxcode, id_valuta, curs, nume_val + Replace proc_tva With Round((loFact.ptva+100)/100,2) + If loFact.in_valuta = 1 + Replace SUMA_val With loFact.SUMA_val + Else + Replace Curs With 0,id_valuta With 0, nume_val With '' + Endif + + *!* 30.08.2007 + *!* MARIUS.MUTU + *!* LAS NNIR DOAR PE PRIMA FACTURA (DE ACHIZITIE) + *!* ALTFEL SE SCRIE IN RUL.NRACT ULTIMUL NUMAR DE DOCUMENT CU NNIR-UL RESPECTIV + If nract <> 0 And lnNract <> nract And lnNract <> 0 + Replace nnir With 0 + Else + lnNract = nract + Endif + *!* modificare v 2.1.39 + If Thisform.nid_part_finalizarenir = 0 And loFact.cu_tva = 0 + Select actactan + Append Blank + Gather Name poAct + Gather Name loFact Fields serie_Act, nract, explicatia, explicatia4, explicatia5 + Replace scd With "", ascd With "", scc With "401", ascc With "",suma With 0,proc_tva With 0,id_jtva_coloana WITH Null + loCauta = caut_partener([-2],[Alegeti furnizorul]) + If !Isnull(loCauta) + Thisform.nid_part_finalizarenir = loCauta.id_part + Select actactan + Replace partc With loCauta.denumire,id_partc With loCauta.id_part + Endif + Endif + *!* modificare v 2.1.39 ^ + Select introdc + Endscan + + *!* 30.08.2007 + *!* marius.mutu + *!* calculez pretul in valuta incluzand si facturile in lei / curs care participa la pretul in valuta + *!* 20.09.2012 + *!* marius.atanasiu + *!* am scos conditia "cu_tva=1" de la toate SUM-urile de mai jos + Select introdc + If tlIntern + Sum suma For !INLIST(scd, '4426', '4428') AND !EMPTY(id_jtva_coloana) And participa_valuta To lnBazaLei + Sum suma For INLIST(scd, '4426', '4428') AND !EMPTY(id_jtva_coloana) And participa_valuta To lnTvaLei + Else + Sum suma For !INLIST(scd, '4426', '4428') AND !EMPTY(id_jtva_coloana) To lnBazaLei + Sum suma For INLIST(scd, '4426', '4428') AND !EMPTY(id_jtva_coloana) To lnTvaLei + Endif + *!* suma_valuta + suma_lei/curs + *!* Sum SUMA_val For scd <> '4426' And cu_tva = 1 And in_valuta = 1 To lnBazaVal + Sum SUMA_val For !INLIST(scd, '4426', '4428') AND !EMPTY(id_jtva_coloana) And in_valuta = 1 And participa_valuta To lnBazaVal + Sum Round(suma/poAct.Curs, gnPval) For !INLIST(scd, '4426', '4428') AND !EMPTY(id_jtva_coloana) And in_valuta = 0 And participa_valuta To lnBazaVal2 + lnBazaVal = lnBazaVal + lnBazaVal2 + *!* Sum SUMA_val For scd = '4426' And cu_tva = 1 And in_valuta = 1 To lnTvaVal + Sum SUMA_val For INLIST(scd, '4426', '4428') AND !EMPTY(id_jtva_coloana) And in_valuta = 1 And participa_valuta To lnTvaVal + Sum Round(suma/poAct.Curs, gnPval) For INLIST(scd, '4426', '4428') AND !EMPTY(id_jtva_coloana) And in_valuta = 0 And participa_valuta To lnTvaVal2 + lnTvaVal = lnTvaVal + lnTvaVal2 + *!* 20.09.2012 ^ + Sum Val(explicatia4) To lnProcLei + Sum Val(explicatia5) To lnProcVal + + Locate + poAct.proc_tva = (100 + ptva)/100 + + + llRulTempPlin = .F. + IF USED('RUL_TEMP') + llRulTempPlin = (RECCOUNT('RUL_TEMP') > 0) + ENDIF + IF !m.llRulTempPlin + USE IN (SELECT('RUL_TEMP')) + llRet = .T. + lcSql = [select r.*, r.pret as pret_lei, r.pretd as pret_val from ] + gcs + [.vrul r where 1=2 ] + lcCursor = [rul_temp] + lnSucces = goExecutor.oExecute(lcSql,lcCursor) + If lnSucces < 0 + llRet = .F. + amessagebox(goExecutor.cEroare,0+16,"Eroare") + RETURN m.llRet + ENDIF + ENDIF && !m.llRulTempPlin + + this.AlwaysOnTop = .F. + Select rul_temp + onir = Createobject('import_nir', tlIntern) + With onir + If tlIntern + .lb_titlu_alb_b121.Caption = "INTRARE IN GESTIUNE MARFA/MATERIALE INTERN" + .lblValuta.Visible = .F. + .clb_valftva.Visible = .F. + .clb_valtva.Visible = .F. + .clb_valadaos.Visible = .F. + Else + .lb_titlu_alb_b121.Caption = "INTRARE IN GESTIUNE MARFA/MATERIALE IMPORT" + Endif + .lhide = .T. + .oact = poAct + .nbaza_lei = lnBazaLei + .nbaza_val = lnBazaVal + .ntva_lei = lnTvaLei + .ntva_val = lnTvaVal + .procent_lei = lnProcLei + Iif(tlIntern, 0, 100) + .procent_val = lnProcVal + .ncurs = poAct.Curs + Endwith + onir.Show() + + llRet = (m.gnButon = 1) + this.AlwaysOnTop = !llRet + + RETURN m.llRet + ENDPROC + + PROCEDURE Init + Lparameters tlIntern + + && tlIntern - default formularul este folosit pentru import (.F.), daca este .T. atunci nu apar coloanele legate de valuta + + This.lIntern = Iif(Pcount() = 0 Or Type('tlIntern') <> 'L', .F., tlIntern) + This.lactiv4 = .T. && acces la do_sterge (butonul de stergere note) + This.cDviSerie = '' + This.cDviPartener = '' + This.cDviFelDoc = '' + + If This.lIntern + Select introdc + Replace All suma_val With 0, in_valuta With 0 + Go Top && modificare v 2.1.37 + This.grid1.cInValuta.Visible = .F. + This.grid1.cParticipaValuta.Visible = .F. + && this.grid1.cParticipaValuta.Header1.Caption = "Participa la pret lei" + This.grid1.cSumaVal.Visible = .F. + This.grid1.cExplicatia5.Visible = .F. + This.lb_titlu_alb_b121.Caption = "ACHIZIÞIE INTERNÃ MARFÃ/MATERIALE" + *!* modificare v 2.1.40 + Else + This.lb_curs.Visible = .T. + This.lb_curs.Caption = [CURS VALUTAR : 1 ] + ALLTRIM(poAct.nume_val) + [ = ] + formateaza(poAct.curs,14,gnPCurs) + [ RON] + *!* modificare v 2.1.40 ^ + Endif + + This.WindowState = 2 + + this.grid1.HeaderHeight = 49 && se micsoreaza singur la afisare; refacut si in Show() + *SAFT + this.grid1.cTaxCode.Visible = m.gl406 + + + * Creez cursor cu Id-uri de TVA Taxare inversa si Comunitate Europeana pentru notele 4426 = 4426, la alegerea Explicatie TVA + lcSql = "select ID_JTVA_COLOANA from JTVA_COLOANE t where (coloana_jc LIKE 'TI%T' or coloana_jc like 'XX%TIT') or (coloana_jc LIKE 'CE%T' and coloana_jc not LIKE 'CE%FTT') " + lcCursor = 'cJtvaCol4427' + llSucces = goExecutor.oExecuta(m.lcSql, lcCursor) + IF m.llSucces + SELECT cJtvaCol4427 + INDEX on ID_JTVA_COLOANA TAG ID_JTVA + ENDIF + DoDefault() + Thisform.refac_culori_documente() + + ENDPROC + + PROCEDURE refac_culori_documente + * M1: culoare fundal + eticheta document, precalculate pe cursorul introdc. + * Cheia document = serie_act + nract + id_fdoc (id_fact e mereu 0 pe aceasta forma). + * Rand impar = baza (defineste documentul); randul par (TVA) mosteneste culoarea/eticheta. + Local lcSel, lnRec, lnDocCount, lnIdx, i, lcCheie, lnPrevColor, lcPrevLabel + Local laCol[6], laKeys[100] + If !Used('introdc') + Return + Endif + laCol[1] = Rgb(221,235,247) + laCol[2] = Rgb(226,239,218) + laCol[3] = Rgb(255,242,204) + laCol[4] = Rgb(237,225,247) + laCol[5] = Rgb(252,228,214) + laCol[6] = Rgb(255,221,221) + lcSel = Select() + Select introdc + lnRec = Recno() + lnDocCount = 0 + lnPrevColor = 16777215 + lcPrevLabel = '-' + Go Top + Scan + If Mod(Recno(),2) <> 0 + lcCheie = Upper(Alltrim(Nvl(serie_act,''))) + '|' + Alltrim(Str(Nvl(nract,0),14)) + '|' + Alltrim(Str(Nvl(id_fdoc,0),14)) + If Empty(Alltrim(Nvl(serie_act,''))) And Nvl(nract,0) = 0 + Replace doc_color With 16777215, doc_label With '-' + Else + lnIdx = 0 + For i = 1 To lnDocCount + If laKeys[i] == lcCheie + lnIdx = i + Exit + Endif + Endfor + If lnIdx = 0 And lnDocCount < 100 + lnDocCount = lnDocCount + 1 + laKeys[lnDocCount] = lcCheie + lnIdx = lnDocCount + Endif + If lnIdx = 0 + lnIdx = 1 + Endif + Replace doc_color With laCol[Mod(lnIdx - 1, 6) + 1], doc_label With 'F' + Alltrim(Str(lnIdx)) + Endif + lnPrevColor = doc_color + lcPrevLabel = Alltrim(doc_label) + Else + Replace doc_color With lnPrevColor, doc_label With Iif(lcPrevLabel == '-', '-', lcPrevLabel + ' TVA') + Endif + Endscan + If lnRec >= 1 And lnRec <= Reccount() + Go lnRec + Endif + Select (lcSel) + ENDPROC + + PROCEDURE Show + Lparameters tnStyle + *!* HeaderHeight se micsoreaza singur la afisare si taie liniile din capul + *!* coloanelor - il refac la valoarea din design. + If Pcount() = 0 + DoDefault() + Else + DoDefault(tnStyle) + Endif + This.grid1.HeaderHeight = 49 + ENDPROC + + PROCEDURE updateexplicatiesaft + * Daca nu este activata SAFT 406 nu fac nimic + IF !m.gl406 + RETURN + ENDIF + + Local loPartenerRTVAI As "empty" + Local loPartenerRTVAIX As "empty" + Local lcCodFiscal, lcNumePart, ldDataAct, llFurnizorRTVAI, lnIdJtva, lnIdPart, lnTaxCode, lcSelect + + lcSelect = SELECT() + + + ldDataAct = poAct.dataact + lnIdJtva = introdc.id_jtva_coloana + llFurnizorRTVAI = .F. + lnIdPart = Nvl(introdc.id_partc, introdc.id_partd) + + lnTaxCode = GetTaxCodeIdPart(m.gnAn, m.gnLuna, m.ldDataAct, m.lnIdJtva, m.lnIdPart) + Replace taxcode With m.lnTaxCode In introdc + *This.grid1.cTaxCode._combobox1.Refresh() + + SELECT (m.lcSelect) + ENDPROC + + PROCEDURE Grid1.cAscc.Text1.Click + this.LostFocus(.t.) + ENDPROC + + PROCEDURE Grid1.cAscc.Text1.LostFocus + PARAMETERS PlClick + lcSel = thisform.grid1.RecordSource + SELECT (lcSel) + lcCont = scc + lcAcont = ascc + llReturn = verific_analitic(plClick, lcCont, lcAcont,'ascc', lcSel) && in oOperatii_comune.prg + ENDPROC + + PROCEDURE Grid1.cAscd.Text1.Click + this.LostFocus(.t.) + ENDPROC + + PROCEDURE Grid1.cAscd.Text1.LostFocus + PARAMETERS PlClick + lcSel = thisform.grid1.RecordSource + SELECT (lcSel) + lcCont = scd + lcAcont = ascd + llReturn = verific_analitic(plClick, lcCont, lcAcont,'ascd', lcSel) && in oOperatii_comune.prg + ENDPROC + + PROCEDURE Grid1.cCurs.Text1.Valid + *!* cursul editat se scrie explicit (ca la cSumaVal.Valid - dupa amessagebox grid-ul + *!* nu-l mai scria in camp) si se copiaza pe randul de TVA pereche; apoi ofer + *!* recalcularea sumei in lei din suma in valuta, ca la modificarea sumei in valuta + Local lnSumaDinVal, lnRaspuns + If This.Value # 0 + Select introdc + Replace curs With This.Value + Thisform.copiaza_valoare([curs]) + If in_valuta = 1 And suma_val # 0 + lnSumaDinVal = Round(suma_val * This.Value, gnPC) + lnRaspuns = 6 + If suma <> 0 And suma <> lnSumaDinVal + lnRaspuns = amessagebox("Suma in lei difera de suma in valuta transformata in lei!" + CHR(13) + CHR(10) + ; + "Doriti recalcularea sumei in lei?",4+32,"Diferente sume") + Endif + If lnRaspuns = 6 + Replace suma With lnSumaDinVal + Endif + Thisform.do_executa + Endif + Endif + ENDPROC + + PROCEDURE Grid1.cDataAct.Text1.Valid + Thisform.copiaza_valoare(This.Parent.ControlSource) + + ENDPROC + + PROCEDURE Grid1.cExplicatieTva.Combo1.Valid + *!* 14.07.2016 + *!* marius.mutu + *!* inlocuiesc 4426 = 401 cu 4426 = 4427 pt ach tx inversa/CE 20% + + LOCAL lnId, lnPtva, lnId_tva, lnId_jtva_coloanaTVA, lnCota_tva, lcExplicatie_TVA + lnId = jtva_coloane2.id_jtva_coloana + lnPtva = jtva_coloane2.cota_Tva + lnId_tva = jtva_coloane2.id_Tva + + Select introdc + lnRec = Recno() + + Select introdc + Replace id_jtva_coloana With lnId, ptva With lnPtva + If Mod(lnRec,2)<>0 && linie impara BAZA + Thisform.UpdateExplicatieSAFT() + If lnPtva = 0 + Select introdc + Replace cu_tva With 0 + Skip + Replace id_jtva_coloana With 0, ptva With 0, explicatie_tva With '', cu_tva with 0 + ELSE && line para TVA + Select jtva_coloane2 + Locate For id_jtva_coloana = lnId_tva + If Found() + lnId_jtva_coloanaTVA = jtva_coloane2.id_jtva_coloana + lnCota_tva = jtva_coloane2.cota_Tva + lcExplicatie_TVA = jtva_coloane2.denumire + + * PENTRU TAXARE INVERSA SI COMUNITATEA EUROPEANA, TREBUIE 4426 = 4427 PE LINIA DE TVA, ALTFEL 4426 = 401 + Select introdc + Replace cu_tva With 1 + Skip + Replace id_jtva_coloana With lnId_jtva_coloanaTVA, ptva With lnCota_tva, explicatie_tva With lcExplicatie_TVA, cu_tva with 1 + *!* If Inlist(lnId_jtva_coloanaTVA, 138, 140, 142, 144, 146, 163,128,130,134,149,151,153,161,165,167,169,183,185,187) && TVA ACH TX INV, TVA ACH CE-> 4426 = 4427 + *!* Replace scc With '4427' + *!* Else + *!* Replace scc With '401' + *!* ENDIF + IF SEEK(lnId_jtva_coloanaTVA, "cJtvaCol4427","id_jtva") + Replace scc With '4427' IN introdc + ELSE + Replace scc With '401' IN introdc + ENDIF + + Thisform.UpdateExplicatieSAFT() + + Endif + Endif + * Actualizez Cod Taxa SAFT in functie de Cota TVA + ENDIF + + + Thisform.grid1.cSuma.teXT1.Valid + + + + *!* lnId = jtva_coloane.id_jtva_coloana + *!* lnPtva = jtva_coloane.cota_Tva + + *!* Select introdc + *!* Replace id_jtva_coloana With lnId,ptva With lnPtva + *!* Thisform.grid1.coluMN8.teXT1.Valid + + ENDPROC + + PROCEDURE Grid1.cExplicatieTva.Text1.DblClick + thisform.do_modifica_explicatie_tva() + ENDPROC + + PROCEDURE Grid1.cExplicatieTva.Text1.InteractiveChange + thisform.do_modifica_explicatie_tva() + This.Value = introdc.explicatie_tva + ENDPROC + + PROCEDURE Grid1.cFDoc.Text1.DblClick + Thisform.do_modifica_fdoc() + ENDPROC + + PROCEDURE Grid1.cFDoc.Text1.InteractiveChange + Thisform.do_modifica_fdoc() + This.Value = introdc.fdoc + ENDPROC + + PROCEDURE Grid1.cInValuta.Check1.Valid + thisform.do_executa + ENDPROC + + PROCEDURE Grid1.cNract.Text1.Valid + *!* modificare v 2.1.39 + Thisform.copiaza_valoare(This.Parent.ControlSource) + *!* IF MOD(RECNO(),2) = 1 AND RECNO() <> RECCOUNT() + *!* LOCAL lcSelect + *!* lcSelect = SELECT() + *!* + *!* SELECT introdc + *!* lnNract = nract + *!* SKIP + *!* REPLACE nract WITH lnNract + *!* SKIP -1 + *!* + *!* SELECT (lcSelect) + *!* ENDIF + *!* modificare v 2.1.39 ^ + ENDPROC + + PROCEDURE Grid1.cPartC.Text1.Click + * single click nu mai declanseaza cautarea partenerului (golea partenerul la + * anulare). Re-alegerea se face pe dublu click - vezi DblClick. + ENDPROC + + PROCEDURE Grid1.cPartC.Text1.DblClick + * re-alegerea partenerului creditor; daca se anuleaza, pastrez valoarea veche + Local lcSel, lnOldId, lcOldNume + lcSel = Thisform.grid1.RecordSource + lnOldId = &lcSel..id_partc + lcOldNume = &lcSel..partc + This.LostFocus(.t.) + If Empty(&lcSel..id_partc) And lnOldId <> 0 + Select (lcSel) + Replace id_partc With lnOldId, partc With lcOldNume + Thisform.grid1.Refresh() + Endif + ENDPROC + + PROCEDURE Grid1.cPartC.Text1.InteractiveChange + * nu mai fortez cautarea la tastare (vezi Click/DblClick) + ENDPROC + + PROCEDURE Grid1.cPartC.Text1.LostFocus + PARAMETERS PlClick + + lcSel = thisform.grid1.RecordSource + IF plClick OR EMPTY(&lcSel..id_partc) + lcCont = &lcSel..scc + llReturn = verific_partener(lcCont, 'partc','id_partc', lcSel) && in oOperatii_comune.prg + ELSE + DODEFAULT() + ENDIF + ENDPROC + + PROCEDURE Grid1.cPartC.Text1.Valid + IF MOD(RECNO(),2) = 1 AND RECNO() <> RECCOUNT() + LOCAL lcSelect + lcSelect = SELECT() + + SELECT introdc + lnIdPart = id_partc + lcPart = partc + lcCont = scc + SKIP + IF scc = lcCont AND EMPTY(id_partc) + REPLACE id_partc WITH lnIdPart, partc WITH lcPart + ENDIF + SKIP -1 + + SELECT (lcSelect) + ENDIF + + ENDPROC + + PROCEDURE Grid1.cPartD.Text1.Click + * single click nu mai declanseaza cautarea partenerului (vezi DblClick) + ENDPROC + + PROCEDURE Grid1.cPartD.Text1.DblClick + * re-alegerea partenerului debitor; daca se anuleaza, pastrez valoarea veche + Local lcSel, lnOldId, lcOldNume + lcSel = Thisform.grid1.RecordSource + lnOldId = &lcSel..id_partd + lcOldNume = &lcSel..partd + This.LostFocus(.t.) + If Empty(&lcSel..id_partd) And lnOldId <> 0 + Select (lcSel) + Replace id_partd With lnOldId, partd With lcOldNume + Thisform.grid1.Refresh() + Endif + ENDPROC + + PROCEDURE Grid1.cPartD.Text1.InteractiveChange + * la tastare deschid cautarea de partener debitor - acelasi mecanism ca + * re-alegerea pe dublu-click (pastreaza valoarea veche la anulare) + This.DblClick() + This.Value = Evaluate(Thisform.grid1.RecordSource + '.partd') + ENDPROC + + PROCEDURE Grid1.cPartD.Text1.LostFocus + PARAMETERS PlClick + + lcSel = thisform.grid1.RecordSource + IF plClick OR EMPTY(&lcSel..id_partd) + lcCont = &lcSel..scd + llReturn = verific_partener(lcCont, 'partd','id_partd', lcSel) && in oOperatii_comune.prg + ELSE + DODEFAULT() + ENDIF + ENDPROC + + PROCEDURE Grid1.cPartD.Text1.Valid + IF MOD(RECNO(),2) = 1 AND RECNO() <> RECCOUNT() + LOCAL lcSelect + lcSelect = SELECT() + + SELECT introdc + lnIdPart = id_partd + lcPart = partd + lcCont = scd + SKIP + IF scd = lcCont AND EMPTY(id_partd) + REPLACE id_partd WITH lnIdPart, partd WITH lcPart + ENDIF + SKIP -1 + + SELECT (lcSelect) + ENDIF + + ENDPROC + + PROCEDURE Grid1.cParticipaValuta.Check1.Valid + thisform.do_executa + ENDPROC + + PROCEDURE Grid1.cSerie_act.Text1.Valid + *!* modificare v 2.1.39 + Thisform.copiaza_valoare(This.Parent.ControlSource) + *!* IF MOD(RECNO(),2) = 1 AND RECNO() <> RECCOUNT() + *!* LOCAL lcSelect + *!* lcSelect = SELECT() + *!* + *!* SELECT introdc + *!* lnSerie_act = serie_act + *!* SKIP + *!* REPLACE serie_act WITH lnSerie_act + *!* SKIP -1 + *!* + *!* SELECT (lcSelect) + *!* ENDIF + *!* modificare v 2.1.39 ^ + ENDPROC + + PROCEDURE Grid1.cSuma.Text1.Valid + thisform.do_executa + ENDPROC + + PROCEDURE Grid1.cSumaVal.Text1.KeyPress + LPARAMETERS nKeyCode, nShiftAltCtrl + IF NKEYCODE=13 OR nKeyCode = 4 &&ENTER + NODEFAULT + KEYBOARD '{DNARROW}' + ENDIF + + ENDPROC + + PROCEDURE Grid1.cSumaVal.Text1.Valid + *!* Mutat din LostFocus: acolo valoarea tastata se pierdea (dupa amessagebox + *!* grid-ul nu o mai scria in camp) - aici o scriu explicit din This.Value. + Local lnSumaDinVal, lnRaspuns + If This.Value # 0 + Select introdc + Replace suma_val With This.Value + * runda 13: folosesc cursul randului (editabil in grid) cand exista; altfel cursul + * facturii principale, ca inainte + lnSumaDinVal = Round(This.Value * Iif(introdc.in_valuta = 1 And Nvl(introdc.curs, 0) <> 0, introdc.curs, Thisform.oact.Curs), gnPC) + lnRaspuns = 6 + If suma <> 0 And suma <> lnSumaDinVal + lnRaspuns = amessagebox("Suma in lei difera de suma in valuta transformata in lei!" + CHR(13) + CHR(10) + ; + "Doriti recalcularea sumei in lei?",4+32,"Diferente sume") + Endif + If lnRaspuns = 6 + Replace suma With lnSumaDinVal + Endif + Endif + Thisform.do_executa + ENDPROC + + PROCEDURE Grid1.cTaxCode.Text1.InteractiveChange + If tact.cu_tva = 1 + *!* modificare ROACONT v 2.4.4 + If TYPE('tact.tipnota') = 'N' AND tact.tipnota = 1 + *!* explicatii TVA exigibile din JC ( 1 ), JV ( 3 ) sau toate ( 5 ) + locauta = caut_explicatie_tva(Nvl(tact.id_jtva_coloana,-1),,,iif(tact.scc=[4428],1,iif(tact.scd=[4428],3,5))) + Else + locauta = caut_explicatie_tva(Nvl(tact.id_jtva_coloana,-1)) + Endif + *!* locauta = caut_explicatie_tva(Nvl(tact.id_jtva_coloana,-1)) + *!* modificare ROACONT v 2.4.4 ^ + If !Empty(locauta.id_jtva_coloana) + Select tact + Replace id_jtva_coloana With locauta.id_jtva_coloana,explicatie_Tva With locauta.denumire,proc_tva With (locauta.cota_tva + 100) / 100 + Endif + + * Actualizez Cod Taxa SAFT in functie de Cota TVA + Thisform.UpdateExplicatieSAFT() + ENDIF + + + ENDPROC + + PROCEDURE Grid1.cValuta.Text1.DblClick + * alegerea valutei pe rand (caut_valuta, ca in dialogul Adauga factura); + * la anulare raman valorile vechi; valoarea se copiaza pe randul de TVA pereche + Local loCauta + loCauta = caut_valuta(, .F., .F.) + If Vartype(loCauta) = 'O' And !Empty(Nvl(loCauta.id_valuta, 0)) + Select introdc + Replace id_valuta With loCauta.id_valuta, nume_val With Alltrim(loCauta.nume_val) + Thisform.copiaza_valoare([id_valuta]) + Thisform.copiaza_valoare([nume_val]) + Thisform.grid1.Refresh() + Endif + ENDPROC + + PROCEDURE Grid1.cValuta.Text1.InteractiveChange + * la tastare deschid cautarea de valuta - acelasi mecanism ca dublu-click + This.DblClick() + This.Value = introdc.nume_val + ENDPROC + + PROCEDURE Grid1.Init + thisform.grid1.SetAll("dynamicbackcolor", "", "Column") + thisform.grid1.SetAll("dynamicforecolor", "", "Column") + thisform.grid1.SetAll("DynamicBackColor", "introdc.doc_color", "Column") + thisform.grid1.SetAll("DynamicFontItalic", "Mod(Recno('introdc'),2)=0", "Column") + ENDPROC + +ENDDEFINE + +DEFINE CLASS nir AS _frmbase OF "_frm_base.vcx" + *< CLASSDATA: Baseclass="form" Timestamp="" Scale="Pixels" Uniqueid="" /> + + *-- OBJECTDATA items order determines ZOrder / El orden de los items OBJECTDATA determina el ZOrder + *< OBJECTDATA: ObjPath="_shapeSus" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="Ct_factura1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="Ct_factura1.txfTotal" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="Ct_factura1.txfBaza" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="Ct_factura1.txfTva" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="Ct_discount1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="_shape3" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="_shapeDr" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="But_renunt1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="Urmator1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="lbTotal" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="txNir" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="Ct_adaos1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="Ct_grid_search1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="Ct_grid_search1.But_nou1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="Ct_grid_search1.lb_listePreturi" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="Ct_grid_search1.cboListe" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="Ct_grid_search1.Cb_tx_gestout" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="Ct_grid_order1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="Ct_grid_order1.Cb_tx_gestin" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="Ct_grid_order1.But_sterge1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="Ct_factura2" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="Ct_factura2.lb_curs" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="Ct_factura2.lb_valuta" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="tx_totalctva" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="lb_totalctva" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="Container_valoare_decontata1" UniqueID="" Timestamp="" /> + + #INCLUDE "..\include\foxpro.h" + * + *m: aleg_cont_transfer + *m: analiza_cmp + *m: assign_analitic + *m: assign_values + *m: bon_fiscal + *m: calcul_pret_vanzare + *m: calcul_sume + *m: caut_gestiune + *m: compensare + *m: do_verifica_sume + *m: intrare_produs + *m: modificare_lista_preturi + *p: cfrm_ceredate + *p: cobj + *p: ctip_frm + *p: nftotctva + *p: nftotftva + *p: nftottva + *p: nidresponsabil + *p: nresp + *p: ntotal + *p: ntvaincasare + *p: omemopref && Obiectul in care se retin preferintele : id_jtva_ach, proc_tva, id_jtva_vanz, proc_tvav + *p: osel_dr + * + + * + BorderStyle = 1 + cbuton3 = + cbuton4 = Ct_grid_order1.But_sterge1;but_reface1 + cfrm_ceredate = + cobj = + ctip_frm = NIR + DoCreate = .T. + Height = 572 + lactiv3 = .T. + lactiv4 = .T. + Name = "nir" + nftotctva = 0.00 + nftotftva = 0.00 + nftottva = 0.00 + nidresponsabil = 0 + nresp = + ntotal = 0 + ntvaincasare = 0 + omemopref = .NULL. + osel_dr = + Width = 793 + WindowType = 1 + _memberdata = + + + + _shape1.Anchor = 11 + _shape1.Height = 30 + _shape1.Left = -1 + _shape1.Name = "_shape1" + _shape1.Tag = "" + _shape1.Top = -1 + _shape1.Width = 726 + _shape1.ZOrderSet = 4 + _shape2.Anchor = 9 + _shape2.Height = 29 + _shape2.Left = 724 + _shape2.Name = "_shape2" + _shape2.Tag = "MOVABLE" + _shape2.Top = 0 + _shape2.Width = 69 + _shape2.ZOrderSet = 7 + Lb_titlu_alb_b121.Anchor = 3 + Lb_titlu_alb_b121.FontName = "Comic Sans MS" + Lb_titlu_alb_b121.FontSize = 10 + Lb_titlu_alb_b121.Height = 20 + Lb_titlu_alb_b121.Left = 10 + Lb_titlu_alb_b121.Name = "Lb_titlu_alb_b121" + Lb_titlu_alb_b121.TabIndex = 5 + Lb_titlu_alb_b121.Top = 3 + Lb_titlu_alb_b121.Width = 41 + Lb_titlu_alb_b121.ZOrderSet = 9 + BUT_TERMIN1.Anchor = 9 + BUT_TERMIN1.Height = 27 + BUT_TERMIN1.Left = 757 + BUT_TERMIN1.Name = "BUT_TERMIN1" + BUT_TERMIN1.TabIndex = 3 + BUT_TERMIN1.Tag = "" + BUT_TERMIN1.Top = 1 + BUT_TERMIN1.Width = 32 + BUT_TERMIN1.ZOrderSet = 13 + Gridsort1.Name = "Gridsort1" + * + + ADD OBJECT '_shape3' AS _shape WITH ; + Anchor = 135, ; + BackStyle = 0, ; + BorderColor = 7,118,177, ; + BorderWidth = 2, ; + Height = 408, ; + Left = 9, ; + Name = "_shape3", ; + Tag = "", ; + Top = 156, ; + Width = 361, ; + ZOrderSet = 3 + *< END OBJECT: ClassLib="_baza.vcx" BaseClass="shape" /> + + ADD OBJECT '_shapeDr' AS _shape WITH ; + Anchor = 45, ; + BackStyle = 0, ; + BorderColor = 7,118,177, ; + BorderWidth = 2, ; + Height = 408, ; + Left = 406, ; + Name = "_shapeDr", ; + Tag = "", ; + Top = 156, ; + Width = 381, ; + ZOrderSet = 5 + *< END OBJECT: ClassLib="_baza.vcx" BaseClass="shape" /> + + ADD OBJECT '_shapeSus' AS _shape WITH ; + Anchor = 11, ; + BackStyle = 0, ; + BorderColor = 7,118,177, ; + BorderWidth = 2, ; + Height = 123, ; + Left = 9, ; + Name = "_shapeSus", ; + Tag = "RESIZABLE, MOVABLE", ; + Top = 32, ; + Width = 778, ; + ZOrderSet = 0 + *< END OBJECT: ClassLib="_baza.vcx" BaseClass="shape" /> + + ADD OBJECT 'But_renunt1' AS but_renunt WITH ; + Anchor = 9, ; + Left = 727, ; + Name = "But_renunt1", ; + TabIndex = 4, ; + Tag = "", ; + Top = 1, ; + ZOrderSet = 8 + *< END OBJECT: ClassLib="cmd_butoane.vcx" BaseClass="commandbutton" /> + + ADD OBJECT 'Container_valoare_decontata1' AS container_valoare_decontata WITH ; + Left = 15, ; + Name = "Container_valoare_decontata1", ; + Top = 81, ; + Visible = .F., ; + ZOrderSet = 20, ; + Label1.Name = "Label1", ; + Text1.Name = "Text1" + *< END OBJECT: ClassLib="ointroduceri.vcx" BaseClass="container" /> + + ADD OBJECT 'Ct_adaos1' AS ct_adaos WITH ; + Anchor = 9, ; + Left = 538, ; + Name = "Ct_adaos1", ; + TabIndex = 8, ; + Tag = "", ; + Top = 38, ; + ZOrderSet = 14, ; + LBBAZA_ADAOS.Name = "LBBAZA_ADAOS", ; + LBTVA_ADAOS.Name = "LBTVA_ADAOS", ; + LBPROC_ADAOS.Name = "LBPROC_ADAOS", ; + TXBAZA_ADAOS.ControlSource = "this.parent.baza_adaos", ; + TXBAZA_ADAOS.Name = "TXBAZA_ADAOS", ; + TXTVA_ADAOS.Name = "TXTVA_ADAOS", ; + TXPROC_ADAOS.Name = "TXPROC_ADAOS" + *< END OBJECT: ClassLib="ferestre_cere_date.vcx" BaseClass="container" /> + + ADD OBJECT 'Ct_discount1' AS ct_discount WITH ; + Anchor = 3, ; + Height = 112, ; + Left = 286, ; + Name = "Ct_discount1", ; + TabIndex = 10, ; + Tag = "", ; + Top = 37, ; + Width = 284, ; + ZOrderSet = 2, ; + COMBOGRID3.Name = "COMBOGRID3", ; + LBBAZA_DISCOUNT.Name = "LBBAZA_DISCOUNT", ; + LBTVA_DISCOUNT.Name = "LBTVA_DISCOUNT", ; + LBPROC_DISCOUNT.Name = "LBPROC_DISCOUNT", ; + TXBAZA_DISCOUNT.Name = "TXBAZA_DISCOUNT", ; + TXTVA_DISCOUNT.Name = "TXTVA_DISCOUNT", ; + TXPROC_DISCOUNT.Format = "r", ; + TXPROC_DISCOUNT.InputMask = (get_mask(12,2)), ; + TXPROC_DISCOUNT.Name = "TXPROC_DISCOUNT", ; + CotaTVA.HideSelection = .F., ; + CotaTVA.Name = "CotaTVA", ; + lbTva.Name = "lbTva", ; + lb_explicatie_tva.Left = 1, ; + lb_explicatie_tva.Name = "lb_explicatie_tva", ; + lb_explicatie_tva.Top = 91 + *< END OBJECT: ClassLib="ferestre_cere_date.vcx" BaseClass="container" /> + + ADD OBJECT 'Ct_factura1' AS ct_factura WITH ; + Anchor = 131, ; + Height = 71, ; + Left = 14, ; + Name = "Ct_factura1", ; + TabIndex = 9, ; + Tag = "", ; + Top = 61, ; + Width = 292, ; + ZOrderSet = 1, ; + lbBaza.Left = 4, ; + lbBaza.Name = "lbBaza", ; + lbBaza.Top = 27, ; + LbTva.Left = 4, ; + LbTva.Name = "LbTva", ; + LbTva.Top = 50, ; + txBaza.ControlSource = "this.parent.totftva", ; + txBaza.Height = 23, ; + txBaza.Left = 99, ; + txBaza.Name = "txBaza", ; + txBaza.ToolTipText = "Valoarea fara TVA calculata", ; + txBaza.Top = 25, ; + txBaza.Width = 91, ; + txTva.ControlSource = "this.parent.tva", ; + txTva.Height = 23, ; + txTva.Left = 99, ; + txTva.Name = "txTva", ; + txTva.ToolTipText = "Valoarea TVA calculata", ; + txTva.Top = 48, ; + txTva.Width = 91, ; + lbExplic.AutoSize = .F., ; + lbExplic.Left = 6, ; + lbExplic.Name = "lbExplic", ; + lbExplic.Top = 14, ; + txTotal.Height = 23, ; + txTotal.Left = 99, ; + txTotal.Name = "txTotal", ; + txTotal.ToolTipText = "Valoarea cu TVA calculata", ; + txTotal.Top = 1, ; + txTotal.Width = 91, ; + lbTotal.AutoSize = .F., ; + lbTotal.Left = 3, ; + lbTotal.Name = "lbTotal", ; + lbTotal.Top = 3 + *< END OBJECT: ClassLib="ferestre_cere_date.vcx" BaseClass="container" /> + + ADD OBJECT 'Ct_factura1.txfBaza' AS _txbase WITH ; + BackColor = 206,231,255, ; + ControlSource = "thisform.nfTotftva", ; + Format = "KR", ; + Height = 23, ; + InputMask = (get_mask(9,gnPC)), ; + Left = 192, ; + Name = "txfBaza", ; + ToolTipText = "Valoarea fara TVA de pe factura - modificati daca este diferita de valoarea calculata", ; + Top = 25, ; + Visible = .F., ; + Width = 96 + *< END OBJECT: ClassLib="_tx_base.vcx" BaseClass="textbox" /> + + ADD OBJECT 'Ct_factura1.txfTotal' AS _txbase WITH ; + ControlSource = "thisform.nfTotctva", ; + DisabledBackColor = 255,255,255, ; + Format = "RK", ; + Height = 23, ; + InputMask = (get_mask(9,gnPC)), ; + Left = 192, ; + Name = "txfTotal", ; + ReadOnly = .T., ; + ToolTipText = "Valoarea cu TVA de pe factura", ; + Top = 1, ; + Visible = .F., ; + Width = 96 + *< END OBJECT: ClassLib="_tx_base.vcx" BaseClass="textbox" /> + + ADD OBJECT 'Ct_factura1.txfTva' AS _txbase WITH ; + BackColor = 206,231,255, ; + ControlSource = "thisform.nfTottva", ; + Format = "KR", ; + Height = 23, ; + InputMask = (get_mask(9,gnPC)), ; + Left = 192, ; + Name = "txfTva", ; + ToolTipText = "Valoarea TVA de pe factura - modificati daca este diferita de valoarea calculata", ; + Top = 48, ; + Visible = .F., ; + Width = 96 + *< END OBJECT: ClassLib="_tx_base.vcx" BaseClass="textbox" /> + + ADD OBJECT 'Ct_factura2' AS ct_factura WITH ; + Anchor = 3, ; + Height = 96, ; + Left = 285, ; + Name = "Ct_factura2", ; + TabIndex = 9, ; + Tag = "", ; + Top = 45, ; + Width = 270, ; + ZOrderSet = 17, ; + LBBAZA.Left = 51, ; + LBBAZA.Name = "LBBAZA", ; + LBBAZA.Top = 52, ; + LBTVA.Left = 51, ; + LBTVA.Name = "LBTVA", ; + LBTVA.Top = 72, ; + TXBAZA.Height = 23, ; + TXBAZA.InputMask = (get_mask(14,gnPVal)), ; + TXBAZA.Left = 130, ; + TXBAZA.Name = "TXBAZA", ; + TXBAZA.Top = 50, ; + TXBAZA.Width = 138, ; + TXTVA.Height = 23, ; + TXTVA.InputMask = (get_mask(14,gnPVal)), ; + TXTVA.Left = 130, ; + TXTVA.Name = "TXTVA", ; + TXTVA.Top = 70, ; + TXTVA.Width = 138, ; + LBEXPLIC.Left = 1, ; + LBEXPLIC.Name = "LBEXPLIC", ; + LBEXPLIC.Top = 52, ; + TXTOTAL.ControlSource = "this.parent.totctva", ; + TXTOTAL.Height = 23, ; + TXTOTAL.InputMask = (get_mask(14,gnPVal)), ; + TXTOTAL.Left = 130, ; + TXTOTAL.Name = "TXTOTAL", ; + TXTOTAL.Top = 28, ; + TXTOTAL.Width = 138, ; + LBTOTAL.Height = 18, ; + LBTOTAL.Left = 3, ; + LBTOTAL.Name = "LBTOTAL", ; + LBTOTAL.Top = 19, ; + LBTOTAL.Width = 106 + *< END OBJECT: ClassLib="ferestre_cere_date.vcx" BaseClass="container" /> + + ADD OBJECT 'Ct_factura2.lb_curs' AS lb_titlu_albastru_b12 WITH ; + Alignment = 2, ; + AutoSize = .F., ; + Caption = "[Curs]", ; + FontBold = .T., ; + Height = 22, ; + Left = 19, ; + Name = "lb_curs", ; + Top = 2, ; + Width = 201 + *< END OBJECT: ClassLib="lb.vcx" BaseClass="label" /> + + ADD OBJECT 'Ct_factura2.lb_valuta' AS lb_titlu_albastru_b12 WITH ; + Caption = "[Valuta]", ; + FontBold = .F., ; + FontSize = 9, ; + ForeColor = 7,118,177, ; + Height = 17, ; + Left = 58, ; + Name = "lb_valuta", ; + Top = 35, ; + Width = 42 + *< END OBJECT: ClassLib="lb.vcx" BaseClass="label" /> + + ADD OBJECT 'Ct_grid_order1' AS ct_grid_order WITH ; + Anchor = 45, ; + cnumecursor = rul_temp1, ; + Height = 425, ; + Left = 409, ; + Name = "Ct_grid_order1", ; + TabIndex = 11, ; + Top = 139, ; + Width = 375, ; + ZOrderSet = 16, ; + _GRID1.Height = 325, ; + _GRID1.Left = 6, ; + _GRID1.Name = "_GRID1", ; + _GRID1.TabIndex = 2, ; + _GRID1.Top = 93, ; + _GRID1.Width = 364, ; + Titlu.Left = 9, ; + Titlu.Name = "Titlu", ; + Titlu.TabIndex = 3, ; + Titlu.Top = 28, ; + Cb_tx_cautare1.Criteriu.Name = "Criteriu", ; + Cb_tx_cautare1.Left = 7, ; + Cb_tx_cautare1.Name = "Cb_tx_cautare1", ; + Cb_tx_cautare1.TabIndex = 1, ; + Cb_tx_cautare1.Text.Name = "Text", ; + Cb_tx_cautare1.Top = 65 + *< END OBJECT: ClassLib="ferestre_cere_date.vcx" BaseClass="container" /> + + ADD OBJECT 'Ct_grid_order1.But_sterge1' AS but_sterge WITH ; + Anchor = 9, ; + Left = 310, ; + Name = "But_sterge1", ; + TabIndex = 5, ; + TabStop = .F., ; + Top = 65, ; + Visible = .T. + *< END OBJECT: ClassLib="cmd_butoane.vcx" BaseClass="commandbutton" /> + + ADD OBJECT 'Ct_grid_order1.Cb_tx_gestin' AS cb_tx_simplu WITH ; + BackStyle = 0, ; + BorderColor = 255,255,255, ; + Height = 24, ; + Left = 7, ; + Name = "Cb_tx_gestin", ; + TabIndex = 4, ; + Top = 40, ; + Width = 366, ; + _CBBASE1.BorderStyle = 0, ; + _CBBASE1.ColumnCount = 2, ; + _CBBASE1.ColumnLines = .F., ; + _CBBASE1.ColumnWidths = "220,40", ; + _CBBASE1.ControlSource = "poact.gestin", ; + _CBBASE1.FontItalic = .F., ; + _CBBASE1.FontName = "Arial Narrow", ; + _CBBASE1.Height = 23, ; + _CBBASE1.Left = 130, ; + _CBBASE1.Name = "_CBBASE1", ; + _CBBASE1.RowSource = "nom_gestiuni.nume_gestiune,cgest", ; + _CBBASE1.RowSourceType = 6, ; + _CBBASE1.Sorted = .F., ; + _CBBASE1.Top = 0, ; + _CBBASE1.Width = 229, ; + _LBBASE1.Caption = "Gestiunea destinatie", ; + _LBBASE1.FontItalic = .T., ; + _LBBASE1.Left = 3, ; + _LBBASE1.Name = "_LBBASE1", ; + _LBBASE1.Top = 4 + *< END OBJECT: ClassLib="lb_tx.vcx" BaseClass="container" /> + + ADD OBJECT 'Ct_grid_search1' AS ct_grid_search WITH ; + Anchor = 135, ; + cnumecursor = cursor_curent1, ; + Height = 418, ; + Left = 11, ; + Name = "Ct_grid_search1", ; + TabIndex = 1, ; + Top = 140, ; + Width = 357, ; + ZOrderSet = 15, ; + _GRID1.Comment = "grd_st", ; + _GRID1.Height = 324, ; + _GRID1.Left = 6, ; + _GRID1.Name = "_GRID1", ; + _GRID1.RecordSource = "cursor_curent", ; + _GRID1.TabIndex = 3, ; + _GRID1.Top = 94, ; + _GRID1.Width = 347, ; + _GRID1.ZOrderSet = 0, ; + Titlu.Left = 9, ; + Titlu.Name = "Titlu", ; + Titlu.TabIndex = 4, ; + Titlu.Top = 24, ; + Titlu.ZOrderSet = 1, ; + Cb_tx_cautare1.Criteriu.Comment = "criteriu_st", ; + Cb_tx_cautare1.Criteriu.Name = "Criteriu", ; + Cb_tx_cautare1.Height = 27, ; + Cb_tx_cautare1.Left = 7, ; + Cb_tx_cautare1.Name = "Cb_tx_cautare1", ; + Cb_tx_cautare1.TabIndex = 2, ; + Cb_tx_cautare1.Text.Comment = "text_st", ; + Cb_tx_cautare1.Text.Height = 25, ; + Cb_tx_cautare1.Text.Left = 103, ; + Cb_tx_cautare1.Text.Name = "Text", ; + Cb_tx_cautare1.Text.Top = 1, ; + Cb_tx_cautare1.Text.Width = 207, ; + Cb_tx_cautare1.Top = 66, ; + Cb_tx_cautare1.Width = 312, ; + Cb_tx_cautare1.ZOrderSet = 2 + *< END OBJECT: ClassLib="ferestre_cere_date.vcx" BaseClass="container" /> + + ADD OBJECT 'Ct_grid_search1.But_nou1' AS but_nou WITH ; + Anchor = 9, ; + Height = 27, ; + Left = 322, ; + Name = "But_nou1", ; + TabIndex = 6, ; + TabStop = .F., ; + Top = 65, ; + ZOrderSet = 3 + *< END OBJECT: ClassLib="cmd_butoane.vcx" BaseClass="commandbutton" /> + + ADD OBJECT 'Ct_grid_search1.Cb_tx_gestout' AS cb_tx_simplu WITH ; + BackStyle = 0, ; + BorderColor = 255,255,255, ; + Height = 24, ; + Left = 7, ; + Name = "Cb_tx_gestout", ; + TabIndex = 5, ; + Top = 38, ; + Width = 346, ; + ZOrderSet = 6, ; + _CBBASE1.BorderStyle = 0, ; + _CBBASE1.ColumnCount = 2, ; + _CBBASE1.ColumnLines = .F., ; + _CBBASE1.ColumnWidths = "180,30", ; + _CBBASE1.ControlSource = "poact.gestout", ; + _CBBASE1.FontItalic = .F., ; + _CBBASE1.FontName = "Arial Narrow", ; + _CBBASE1.Height = 23, ; + _CBBASE1.Left = 101, ; + _CBBASE1.Name = "_CBBASE1", ; + _CBBASE1.RowSource = "nom_gestiuni.nume_gestiune,cgest", ; + _CBBASE1.RowSourceType = 6, ; + _CBBASE1.Sorted = .F., ; + _CBBASE1.Top = 1, ; + _CBBASE1.Width = 243, ; + _LBBASE1.Caption = "Gestiunea sursa", ; + _LBBASE1.FontItalic = .T., ; + _LBBASE1.Left = 3, ; + _LBBASE1.Name = "_LBBASE1", ; + _LBBASE1.Top = 3 + *< END OBJECT: ClassLib="lb_tx.vcx" BaseClass="container" /> + + ADD OBJECT 'Ct_grid_search1.cboListe' AS combobox WITH ; + Anchor = 3, ; + BorderStyle = 0, ; + ColumnCount = 4, ; + ColumnLines = .F., ; + ColumnWidths = "200,65,60,0", ; + Format = "", ; + Height = 23, ; + Left = 104, ; + Name = "cboListe", ; + RowSource = "cListePret.nume_lista_preturi,datai,datas,id_pol", ; + RowSourceType = 2, ; + Style = 2, ; + TabIndex = 1, ; + Top = 39, ; + Visible = .F., ; + Width = 247, ; + ZOrderSet = 5 + *< END OBJECT: BaseClass="combobox" /> + + ADD OBJECT 'Ct_grid_search1.lb_listePreturi' AS label WITH ; + Anchor = 3, ; + BackStyle = 0, ; + Caption = "Lista de preturi:", ; + FontItalic = .T., ; + Height = 17, ; + Left = 11, ; + Name = "lb_listePreturi", ; + TabIndex = 7, ; + Top = 42, ; + Visible = .F., ; + Width = 84, ; + ZOrderSet = 4 + *< END OBJECT: BaseClass="label" /> + + ADD OBJECT 'lb_totalctva' AS lb_simplu WITH ; + Anchor = 9, ; + Caption = "Total val.vânz. cu TVA", ; + ForeColor = 7,118,177, ; + Left = 542, ; + Name = "lb_totalctva", ; + Top = 119, ; + Visible = .F., ; + ZOrderSet = 19 + *< END OBJECT: ClassLib="lb.vcx" BaseClass="label" /> + + ADD OBJECT 'lbTotal' AS titlufrumos WITH ; + Anchor = 3, ; + AutoSize = .F., ; + Caption = "TOTAL NIR:", ; + ForeColor = 7,118,177, ; + Height = 20, ; + Left = 17, ; + Name = "lbTotal", ; + TabIndex = 6, ; + Top = 40, ; + Width = 77, ; + ZOrderSet = 11 + *< END OBJECT: ClassLib="baza.vcx" BaseClass="label" /> + + ADD OBJECT 'tx_totalctva' AS _txbase WITH ; + Alignment = 3, ; + Anchor = 9, ; + Height = 23, ; + InputMask = (get_mask(12,gnPc)), ; + Left = 665, ; + Name = "tx_totalctva", ; + ReadOnly = .T., ; + SpecialEffect = 1, ; + TabStop = .F., ; + Top = 117, ; + Value = 0, ; + Visible = .F., ; + Width = 113, ; + ZOrderSet = 18 + *< END OBJECT: ClassLib="_tx_base.vcx" BaseClass="textbox" /> + + ADD OBJECT 'txNir' AS _txbase WITH ; + Anchor = 3, ; + BackStyle = 1, ; + ControlSource = "thisform.ntotal", ; + DisabledBackColor = 255,255,255, ; + FontCharSet = 238, ; + Height = 21, ; + InputMask = (get_mask(12,gnPc)), ; + Left = 114, ; + Name = "txNir", ; + ReadOnly = .T., ; + SpecialEffect = 1, ; + TabIndex = 7, ; + Tag = "", ; + Top = 39, ; + Width = 147, ; + ZOrderSet = 12 + *< END OBJECT: ClassLib="_tx_base.vcx" BaseClass="textbox" /> + + ADD OBJECT 'Urmator1' AS urmator WITH ; + Anchor = 240, ; + Left = 373, ; + Name = "Urmator1", ; + TabIndex = 2, ; + Tag = "", ; + Top = 324, ; + ZOrderSet = 10, ; + Imbuton1.Height = 27, ; + Imbuton1.Name = "Imbuton1", ; + Imbuton1.Width = 30, ; + Command1.Name = "Command1" + *< END OBJECT: ClassLib="baza.vcx" BaseClass="container" /> + + PROCEDURE Activate + this.WindowState = 2 + ENDPROC + + PROCEDURE aleg_cont_transfer + PARAMETERS tnIdGest + lcSql = [select (case when p.explicatie is null then s.explicatie else p.explicatie end) as explicatie,] +; + [c.cont, p.acont from VCORESP_CONT_TIPGEST c ] +; + [left join vplcont_analitic p on c.cont = p.cont and p.an = ?gnAn ] +; + [left join vplcont_sintetic s on c.cont = s.cont and s.an = ?gnAn] + + pcFiltruOrig = [c.id_tipgest in (select nr_pag from vnom_gestiuni where id_gestiune = ?tnIdGest)] + pcfiltru = [1=2] + pcschema = [] + pcorder = [cont,acont] + pccoloane = [cont,acont,explicatie] + pcTitlu = [Alegeti Contul de Transfer] + pcTitluColoane = [Cont,Analitic,Explicatie cont] + locauta = cauta_alfa(lcSql,pcfiltru,pcschema,pcorder,pccoloane,pcTitlu,pcTitluColoane,'',.F.,pcFiltruOrig) && 11.07.2007 + + RETURN loCauta + ENDPROC + + PROCEDURE analiza_cmp + PARAMETERS tcRul, tcAct + + *!* 14.10.2006 + *!* mutu.marius + *!* tratare achizitie articol cu mai multe preturi + + LOCAL lcSql, lcCursor, lnSucces + PRIVATE poArticol + *** alocare numar NIR pt rulajele generate de CMP + + *** dezaloc in caz ca trece de mai multe ori prin metoda asta + IF THISFORM.numar_plaja1.id_numar # 0 + THISFORM.numar_plaja1.dezalocare_numar() + ENDIF + + lnIdEnt = 0 + THIS.numar_plaja1.id_entitate = lnIdEnt + THIS.numar_plaja1.tip = 4 && NIR PT CMP + THIS.numar_plaja1.serie = 2 && Asa transmit paramerii la procedura viz_config_serii din oproceduri_configurare.prg + THIS.numar_plaja1.alocare_numar() + lnNnir = THIS.numar_plaja1.numar_curent + *** + + SELECT * ; + FROM (tcRul) WITH (BUFFERING = .T.) ; + INTO CURSOR crsTempRul + + SELECT DISTINCT ID_ARTICOL, CONT FROM crsTempRul ; + INTO CURSOR crsArticoleTemp + + && pentru fiecare articol - se poate sa am acelasi articol cu mai multe preturi + SELECT crsArticoleTemp + SCAN + SCATTER NAME poArticol + + && selectez din stoc cantitatea si pretul existente pentru articolul curent + && posibil mai multe gestiuni ??? + lcSql = [SELECT cants+cant-cante as cante, pret, id_articol, id_gestiune, id_gestiune as id_gestout, cont,] + ; + [acont FROM stoc where an = ?gnAn and luna = ?gnluna and id_articol = ?poArticol.id_articol ] + ; + [and (cants+cant-cante)<>0 and TRIM(cont) = ?ALLTRIM(poArticol.cont)] + gcCondSucursala + lcCursorStoc = [tmpVer] + lnSucces = goExecutor.oExecute(lcSql, lcCursorStoc) + IF lnSucces < 0 + amessagebox(goExecutor.cEroare,0+16,"Eroare") + RETURN + ENDIF + + && pentru fiecare pozitie articol achizitionat din articolul curent + SELECT crsTempRul + SCAN FOR cant <> 0 AND id_articol = poArticol.id_articol + SCATTER NAME orul + + && scot articolul curent din rulaj la pretul de achizitie + *!* IF RECCOUNT(lcCursorStoc) > 0 + && il scot chiar daca nu il am in stoc - pentru ca s-ar putea sa fie achizitionat cu mai multe preturi + SELECT (tcRul) + APPEND BLANK + GATHER NAME orul + REPLACE cante WITH orul.cant, cant WITH 0, nnir WITH lnNnir, tva WITH 0 + REPLACE id_tip_rulaj WITH 2 && RULAJ ARTIFICIAL CMP + *!* ENDIF + + SELECT crsTempRul + ENDSCAN + + + *** scot din stoc articolul curent - cantitatea si pretul existente - inainte de achizitia curenta + IF USED(lcCursorStoc) + SELECT (lcCursorStoc) + SCAN + SCATTER NAME ointr + SELECT (tcRul) + APPEND BLANK + GATHER NAME orul + REPLACE cant WITH 0, cante WITH 0 + GATHER NAME ointr + REPLACE nnir WITH lnNnir + REPLACE id_tip_rulaj WITH 2 && RULAJ ARTIFICIAL CMP + SELECT (lcCursorStoc) + ENDSCAN + USE IN (lcCursorStoc) + ENDIF + + && aflu pretul mediu ponderat - selectez toate iesirile din rul_temp (articolele achizitionate si stocul precedent) + && pentru articol, cont curente + && un singur pret mediu ponderat pe articol, indiferent de gestiune + *!* 05.12.2006 + *!* MARIUS.MUTU + *!* LA RETUR FACTURA FURNIZOR CANTITATE NEGATIVA, DACA E RETUR LA TOATA CANTITATEA DIN STOC, + *!* CANTITATEA TOTALA = 0, NUMERIC OVERFLOW LA CALCUL CMP + *!* AM FACUT ABS(CANTE) + SELECT SUM(ROUND(PRET*ABS(cante),gnPc)) AS valoare, SUM(ABS(cante)) AS cantitate, ID_ARTICOL, CONT ; + FROM (tcRul) WITH (BUFFERING = .T.) ; + WHERE cante <> 0 AND ID_ARTICOL = poArticol.ID_ARTICOL AND CONT = poArticol.CONT ; + GROUP BY ID_ARTICOL, CONT ; + INTO CURSOR tCmp + + + SELECT tCmp + SCAN + SCATTER NAME ocmp + && pretul mediu ponderat + lnCMP = ROUND(ocmp.valoare/ocmp.cantitate, gnPpret) + + && articol, gestiune, cantitate_totala (cantitate achizitionata cu toate preturile + stoc) + SELECT id_articol, id_gestiune, SUM(cante) AS cant ; + FROM (tcRul) WITH (BUFFERING = .T.) ; + WHERE ID_ARTICOL = ocmp.ID_ARTICOL AND cante <> 0 AND CONT = ocmp.CONT ; + GROUP BY id_gestiune, ID_ARTICOL ; + INTO CURSOR crsCantGest + + && adaug in rulaj intrarea cu toata cantitatea (achizitionata + stoc) la noul pret mediu ponderat + SELECT crsCantGest + SCAN + SCATTER NAME ocant + SELECT (tcRul) + APPEND BLANK + GATHER NAME orul + REPLACE PRET WITH lnCMP, cant WITH 0, cante WITH 0, tva WITH 0 + GATHER NAME ocant + REPLACE nnir WITH lnNnir + REPLACE id_tip_rulaj WITH 2 && RULAJ ARTIFICIAL CMP + SELECT crsCantGest + ENDSCAN + USE IN crsCantGest + + && diferente de pret din rotunjiri + IF ROUND(lnCMP * ocmp.cantitate, gnPc) - ocmp.valoare <> 0 + SELECT (tcAct) + APPEND BLANK + GATHER NAME poact + REPLACE nnir WITH lnNnir + REPLACE scd WITH ocmp.CONT, scc WITH IIF(LEFT(ocmp.cont,3) = '371', '378', '308'), ascd WITH '', ascc WITH '' + REPLACE suma WITH ROUND(lnCMP*ocmp.cantitate,gnPc) - ocmp.valoare + ENDIF + + SELECT tCmp + ENDSCAN + + USE IN tCmp + ENDSCAN && crsArticoleTemp + USE IN crsArticoleTemp + + SELECT (tcRul) + + && program vechi + + *!* PARAMETERS tcRul, tcAct + + *!* *** alocare numar NIR pt rulajele generate de CMP + + *!* *** dezaloc in caz ca trece de mai multe ori prin metoda asta + *!* IF thisform.numar_plaja1.id_numar # 0 + *!* thisform.numar_plaja1.dezalocare_numar() + *!* ENDIF + + *!* lnIdEnt = 0 + *!* this.numar_plaja1.id_entitate = lnIdEnt + *!* this.numar_plaja1.tip = 4 && NIR PT CMP + *!* this.numar_plaja1.serie = 2 && Asa transmit paramerii la procedura viz_config_serii din oproceduri_configurare.prg + *!* this.numar_plaja1.alocare_numar() + *!* lnNnir = this.numar_plaja1.numar_curent + *!* *** + + *!* SELECT * FROM (tcRul) WITH (BUFFERING = .T.) INTO CURSOR crsTempRul + *!* SELECT crsTempRul + *!* SCAN FOR cant <> 0 + *!* SCATTER NAME orul + *!* lcCont = ALLTRIM(orul.cont) + *!* lcsql = [SELECT cants+cant-cante as cante, pret, id_articol, id_gestiune, id_gestiune as id_gestout, cont, acont FROM stoc where an = ?gnAn and luna = ?gnluna and id_articol = ?orul.id_articol and (cants+cant-cante)<>0 and TRIM(cont) =?lcCont] + *!* lcCursor = [tmpVer] + *!* lnSucces = goExecutor.oExecute(lcSql,lcCursor) + *!* If lnSucces < 0 + *!* amessagebox(goExecutor.cEroare,0+16,"Eroare") + *!* Return + *!* ENDIF + *!* IF RECCOUNT(lcCursor) > 0 + *!* SELECT (tcRul) + *!* APPEND BLANK + *!* GATHER NAME orul + *!* REPLACE cante WITH orul.cant, cant WITH 0, nnir WITH lnNnir + *!* ENDIF + *!* SELECT (lcCursor) + *!* SCAN + *!* SCATTER NAME ointr + *!* SELECT (tcRul) + *!* APPEND BLANK + *!* GATHER NAME orul + *!* REPLACE cant WITH 0, cante WITH 0 + *!* GATHER NAME ointr + *!* REPLACE nnir WITH lnNnir + *!* SELECT (lcCursor) + *!* ENDSCAN + *!* USE IN (lcCursor) + *!* + *!* *!* SELECT (tcRul) + *!* *!* LOCATE + + *!* && aflu pretul mediu ponderat + *!* SELECT SUM(ROUND(pret*cante,gnPc)) as valoare, SUM(cante) as cantitate, id_articol, cont ; + *!* FROM (tcRul) WITH (BUFFERING = .T.) ; + *!* WHERE cante <> 0 AND id_articol = orul.id_articol ; + *!* GROUP BY id_articol, cont ; + *!* INTO CURSOR tCmp + *!* + *!* SELECT tCmp + *!* SCAN + *!* SCATTER NAME ocmp + *!* lnCMP = ROUND(ocmp.valoare/ocmp.cantitate,gnPc) + *!* + *!* SELECT id_gestiune, SUM(cante) as cant FROM (tcRul) WITH (BUFFERING = .T.) ; + *!* WHERE id_articol = ocmp.id_articol AND cante <> 0 AND cont = ocmp.cont ; + *!* GROUP BY id_gestiune, id_articol ; + *!* INTO CURSOR crsCantGest + *!* + *!* SELECT crsCantGest + *!* SCAN + *!* SCATTER NAME ocant + *!* SELECT (tcRul) + *!* APPEND BLANK + *!* GATHER NAME orul + *!* REPLACE pret WITH lnCMP, cant WITH 0, cante WITH 0 + *!* GATHER NAME ocant + *!* REPLACE nnir WITH lnNnir + *!* SELECT crsCantGest + *!* ENDSCAN + *!* USE IN crsCantGest + *!* IF ROUND(lnCMP*ocmp.cantitate,gnPc) - ocmp.valoare <> 0 + *!* SELECT (tcAct) + *!* APPEND BLANK + *!* GATHER NAME poact + *!* REPLACE nnir WITH lnNnir + *!* REPLACE scd WITH ocmp.cont, scc WITH '308 ', ascd WITH '', ascc WITH '' + *!* REPLACE suma WITH ROUND(lnCMP*ocmp.cantitate,gnPc) - ocmp.valoare + *!* ENDIF + *!* SELECT tCmp + *!* ENDSCAN + *!* USE IN tCmp + *!* SELECT crsTempRul + *!* ENDSCAN + *!* USE IN crsTempRul + + *!* SELECT (tcRul) + ENDPROC + + PROCEDURE assign_analitic + PARAMETERS tcCont,pcAct,pcRul + + PRIVATE pcCont,pcAct,pcRul,pParamP,pParamS + STORE 0 TO pParamP,pParamS + lcAnalitic = '' + lcAlias = ALIAS() + + pcCont = ALLTRIM(tcCont) + + lcSel = [SELECT * from ] + gcs + [.config_analitice WHERE cont = '] + ALLTRIM(pcCont) + ['] + lcCursor = 'crs_cfg_ana' + lnSucces = goExecutor.oExecute(lcSel,lcCursor) + IF lnSucces < 0 + aMESSAGEBOX(goExecutor.cEroare,0+16,"Eroare") + ENDIF + + IF lnSucces > 0 + IF RECCOUNT('crs_cfg_ana')=0 + USE IN crs_cfg_ana + lnSucces = -1 + ENDIF + ENDIF + + IF lnSucces > 0 + SELECT crs_cfg_ana + SCATTER NAME ocfg + lcCampPrefix = NVL(ALLTRIM(ocfg.camp_leg_prefix),'') + lcCampSufix = NVL(ALLTRIM(ocfg.camp_leg_sufix),'') + + IF !EMPTY(lcCampPrefix) + IF TYPE('&pcRul..'+lcCampPrefix) # 'U' + pParamP = &pcRul..&lcCampPrefix + ELSE + IF TYPE('&pcAct..'+lcCampPrefix) # 'U' + pParamP = &pcAct..&lcCampPrefix + ENDIF + ENDIF + ENDIF + + IF !EMPTY(lcCampSufix) + IF TYPE('&pcRul..'+lcCampSufix) # 'U' + pParamS = &pcRul..&lcCampSufix + ELSE + IF TYPE('&pcAct..'+lcCampSufix) # 'U' + pParamS = &pcAct..&lcCampSufix + ENDIF + ENDIF + ENDIF + + lcSel = [{call fconturi_analitice('] + ALLTRIM(gcs) + [','] + ALLTRIM(pcCont) + [',0,] + TRANSFORM(pParamP) + [,] + TRANSFORM(pParamS) + [)}] + lcCursor = 'crs_analitice' + lnSucces = goExecutor.oExecute(lcSel,lcCursor) + + IF lnSucces < 0 + amessagebox(goExecutor.cEroare,0+16,"Eroare") + ENDIF + ENDIF + + && iau Primul Simbol Analitic din Tabel - ordonat pt ca e selectat cu Distinct + IF lnSucces > 0 + SELECT crs_analitice + GO top + lcAnalitic = ALLTRIM(acont) + ENDIF + + && verificare analiticului cu Planul de Conturi + IF lnSucces > 0 + lcSel = [SELECT cont,acont from ] + gcs + [.vplcont_analitic WHERE cont = '] + ALLTRIM(pcCont) + [' and acont = '] + ALLTRIM(lcAnalitic) + [' and an = ] + TRANSFORM(gnAn) + lcCursor = 'crs_verific' + lnSucces = goExecutor.oExecute(lcSel,lcCursor) + IF lnSucces < 0 + amessagebox(goExecutor.cEroare,0+16,"Eroare") + ENDIF + ENDIF + + IF lnSucces > 0 + IF RECCOUNT('crs_verific')=0 + lnSucces = -1 + ENDIF + ENDIF + + IF USED('crs_cfg_ana') + USE IN crs_cfg_ana + ENDIF + IF USED('crs_verific') + USE IN crs_verific + ENDIF + IF USED('crs_analitice') + USE IN crs_analitice + ENDIF + IF USED('crs_verific') + USE IN crs_verific + ENDIF + + IF lnSucces < 0 + lcAnalitic = '' + ENDIF + + SELECT (lcAlias) + RETURN lcAnalitic + + ENDPROC + + PROCEDURE assign_values + PARAMETERS tcObjDestinatie, tcObjSursa1, tcObjSursa2 + + lcSelRul = this.ct_grid_order1.cnumecursor + + lcOdest = ALLTRIM(tcObjDestinatie) + lcOsursa1 = ALLTRIM(tcObjSursa1) + lcOsursa2 = ALLTRIM(tcObjSursa2) + + SELECT (lcSelRul) + FOR i = 1 TO FCOUNT() + lcNumeCol = FIELD(i) + IF TYPE('&lcOsursa1..'+lcNumeCol) # 'U' + &lcodest..&lcNumeCol = &lcosursa1..&lcNumeCol + ENDIF + IF TYPE('&lcOsursa2..'+lcNumeCol) # 'U' + IF EMPTY(&lcodest..&lcNumeCol) + &lcodest..&lcNumeCol = &lcosursa2..&lcNumeCol + ENDIF + ENDIF + ENDFOR + + + + + + + ENDPROC + + PROCEDURE bon_fiscal + PRIVATE pnSumaMp500 + + pnSumaMp500 = thisform.ct_factura1.txTotal.Value + + ocasamp500 = CREATEOBJECT('frm_tichete',pnSumaMp500) + ocasamp500.show(1) + RELEASE ocasamp500 + + ENDPROC + + PROCEDURE calcul_pret_vanzare + PARAMETERS tcTabel + + LOCAL lnPretv, lnTvav, lnCoefAdaos, lnSuma, lcTabel + STORE 0 TO lnPretv, lnTvav, lnCoefAdaos, lnSuma + + IF EMPTY(tcTabel) + lcTabel = this.ct_grid_order1.cnumecursor + ELSE + lcTabel = ALLTRIM(tcTabel) + ENDIF + + SELECT (lcTabel) + SUM ROUND(ABS(cante*pret),gnPc) TO lnSuma + + IF lnSuma <> 0 + lnCoefAdaos = (pcobj.totftva-lnSuma)/lnSuma && coeficientul mediu de adaos + ELSE + lnCoefAdaos = 1 + ENDIF + + SELECT (lcTabel) + SET FILTER TO + REPLACE ALL proc_tvav WITH pcobj.proc_tva, procent WITH ROUND(lnCoefAdaos*100,2) + CALCULATE cnt() TO lnRecords + i = 0 + SCAN + i = i + 1 + REPLACE pretv WITH ROUND(pret + ROUND(pret*lnCoefAdaos,gnPPretV),gnPPretV) && modificare 14.09.2007 + REPLACE tvav WITH ROUND(pretv*(proc_tvav-1),gnPPretV) + lnPretv = lnPretv + ROUND(pretv*cante,gnPC) + lnTvav = lnTvav + ROUND(tvav*cante,gnPC) + IF i = lnRecords + IF lnPretv # pcobj.totftva + REPLACE pretv WITH pretv + ROUND((pcobj.totftva - lnPretv)/cante,gnPPretV) + ENDIF + IF lnTvav # pcobj.tottva + REPLACE tvav WITH tvav + ROUND((pcobj.tottva - lnTvav)/cante,gnPPretV) + ENDIF + ENDIF + ENDSCAN + + ENDPROC + + PROCEDURE calcul_sume + Parameters tcTabel + *!* *!* *!* *!* *!* *!* *!* *!* *!* *!* *!* *!* *!* *!* *!* *!* *!* *!* *!* *!* *!* *!* *!* *!* + *!* Model =-1 : Nota fara contabilizare + *!* Model = 1 : Nota simpla cu contabilizare + *!* Model = 2 : NIR + *!* Model = 3 : BON/FACTURA VANZARE + *!* Model = 4 : Retur BON/FACTURA VANZARE + *!* Model = 5 : Transfer + *!* Model = 6 : Retur Transfer + *!* Model = 7 : Diferenta de pret + + *!* Param1 = 1 : En-detail + *!* Param1 = 2 : En-gros + *!* *!* *!* *!* *!* *!* *!* *!* *!* *!* *!* *!* *!* *!* *!* *!* *!* *!* *!* *!* *!* *!* *!* *!* + + *!* v 2.0.28 calculez valorile de achizitie in functie de gnTipGest + *!* ACHIZITIE + *!* !plNIRBONPretCuTVA : valoarea fara tva achizitie = cant*pret + *!* : valoarea tva achizitie = valoarea fara tva achizitie * proc_tva + *!* : valoarea cu tva achizitie = valoarea fara tva achizitie + valoarea tva achizitie + *!* + *!* plNIRBONPretCuTVA : valoarea tva achizitie = valoarea cu tva achizitie * (proc_tva - 1) / proc_tva + *!* BILETE RATC : valoarea fara tva achizitie = valoarea cu tva achizitie - valoarea tva achizitie + *!* : valoarea cu tva achizitie = cant*(pret+tva) + + *!* VANZARE + *!* gnTipGest <> 6 : valoarea fara tva vanzare = cant*pretv + *!* : valoarea tva vanzare = valoarea fara tva vanzare * proc_tvav + *!* : valoarea cu tva vanzare = valoarea fara tva vanzare + valoarea tva vanzare + *!* : adaosul = valoarea fara tva vanzare - valoarea fara tva achizitie + *!* + *!* gnTipGest = 6 : valoarea fara tva vanzare = valorea cu tva vanzare - valoarea tva vanzare + *!* : valoarea tva vanzare = valoarea cu tva vanzare * (proc_tvav-1)/proc_tvav + *!* : valoarea cu tva vanzare = cant*(pretv+tvav) + *!* : adaosul = valoarea fara tva vanzare - valoarea fara tva achizitie + *!* v 2.0.28 ^ + Store 0 To lnTotBaza, lnTotTva, lnBazaDiscount, lnBazaAdaos, lnTvaDiscount, lnTvaAdaos + + If Pcount() = 0 + tcTabel = Alltrim(This.ct_grid_order1.cnumecursor) + Endif + + *lcCant = [cant] + IIF(INLIST(oset.model, 3, 4),[e],[]) && 3 = bon, bon retur + lcCant = This.osel_dr.cantitate + llCalculFact = Iif(oset.param1 = 2, .F., .T.) && daca e En-gros (vanzare) nu mai recalculez Total factura + + If This.ct_discount1.Visible = .T. + lnBazaDiscount = This.ct_discount1.baza_discount + lnTvaDiscount = This.ct_discount1.tva_discount + Endif + + If oset.adaos + Do Case + Case oset.param1 = 1 && factura de vanzare en-detail + Select (tcTabel) + Sum Round(&lcCant*Pret,gnPc) To Thisform.ntotal + *!* modificare ROAGEST v 2.0.94 : am adaugat conditia AND oset.id_set <> 75 + If !INLIST(gnTipGest, 6,7) AND oset.id_set <> 75 + Sum Round(pretv*&lcCant,gnPc) To lnTotBaza + Sum Round(Round(pretv*&lcCant,gnPc)*(proc_tvav-1),gnPc) To lnTotTva + lnBazaAdaos = lnTotBaza - Thisform.ntotal + Else + Sum Round(Round(pretv+tvav,gnPPretV)*&lcCant,gnPc) To lnTotctva + Sum Round(Round((pretv+tvav)*&lcCant,gnPc)*(proc_tvav-1)/proc_tvav,gnPc) To lnTotTva + lnTotBaza = lnTotctva - lnTotTva + lnBazaAdaos = lnTotBaza - Thisform.ntotal + Endif + + If oset.id_set = 75 && Transfer catre gestiune la pret de vanzare + *!* modificare ROAGEST v 2.0.94 + *!* If gnTipGest <> 6 + *!* *!* Sum Round(tvav*&lcCant,gnPc) To lnTotTvav && nu stiu de ce pornea de la tvav unitar ??? + *!* Sum Round(Round(pretv*&lcCant,gnPc)*(proc_tvav-1),gnPc) To lnTotTvav + *!* Else + Sum Round(Round((pretv+tvav)*&lcCant,gnPc)*(proc_tvav-1)/proc_tvav,gnPc) To lnTotTvav + *!* Endif + *!* modificare ROAGEST v 2.0.94 ^ + Thisform.tx_totalctva.Value = lnTotTvav + lnTotBaza + Endif + + Case oset.param1 = 2 && factura de vanzare en-gros + This.ct_factura1.totctva = pcobj.totctva + This.ct_factura1.totftva = pcobj.totftva + This.ct_factura1.tva = pcobj.tottva + + Select (tcTabel) + If !plNIRBONPretCuTVA + Sum Round(&lcCant*Pret,gnPc) To Thisform.ntotal + Else + Sum Round(&lcCant*(Pret+Tva),gnPc) - Round(Round(&lcCant*(Pret+Tva),gnPc)*(proc_tva - 1)/proc_tva, gnPC) To Thisform.ntotal + EndIf + + lnTotBaza = This.ntotal + lnBazaAdaos = This.ct_factura1.totftva - Thisform.ntotal + This.ct_adaos1.baza_adaos = lnBazaAdaos + + Otherwise && NIR MARFA LA PRET DE VANZARE + Select (tcTabel) + + If !plNIRBONPretCuTVA + Sum Round(&lcCant*Pret,gnPc) To Thisform.ntotal + Sum Round(Round(&lcCant*Pret,gnPc) * (proc_tva-1),gnPc) To lnTotTva + Else + Sum Round(&lcCant*(Pret+Tva),gnPc) - Round(Round(&lcCant*(Pret+Tva),gnPc)*(proc_tva - 1)/proc_tva, gnPC) To Thisform.ntotal + Sum Round(Round(&lcCant*(Pret+Tva),gnPc)*(proc_tva - 1)/proc_tva, gnPC) To lnTotTva + Endif + lnTotBaza = This.ntotal + + If gnTipGest <> 6 + Sum Round(&lcCant*pretv, gnPc) - m.lnTotBaza To lnBazaAdaos + Else + Sum Round(Round(pretv+tvav,gnPPretV)*&lcCant,gnPc) To lnTotctvaOther + Sum Round(Round((pretv+tvav)*&lcCant,gnPc)*(proc_tvav-1)/proc_tvav,gnPc) To lnTotTvaOther + lnTotfTvaOhter = m.lnTotctvaOther - m.lnTotTvaOther + lnBazaAdaos = m.lnTotfTvaOhter - m.lnTotBaza + Endif + Endcase + Select (tcTabel) + Sum procent To lnProcent + Calculate Cnt() To lnNrRecord + lnProcent = lnProcent/lnNrRecord + + This.ct_adaos1.baza_adaos = lnBazaAdaos + This.ct_adaos1.proc_adaos = lnProcent + Else + Select (tcTabel) + If !plNIRBONPretCuTVA + Sum Round(&lcCant*Pret,gnPc) To Thisform.ntotal + Sum Round(Round(&lcCant*Pret,gnPc) * (proc_tva-1),gnPc) To lnTotTva + Else + Sum Round(&lcCant*(Pret+Tva),gnPc) - Round(Round(&lcCant*(Pret+Tva),gnPc)*(proc_tva - 1)/proc_tva, gnPC) To Thisform.ntotal + Sum Round(Round(&lcCant*(Pret+Tva),gnPc)*(proc_tva - 1)/proc_tva, gnPC) To lnTotTva + EndIf + lnTotBaza = Thisform.ntotal + Endif + + + If oset.factura And llCalculFact + If oset.cursval + Select (tcTabel) + If gnTipGest <> 6 && calculez valftva si valtva pornind de la pretv in loc de (pretv+tvav) + Sum Round(&lcCant*pretvval,gnPc),Round(Round(&lcCant*pretvval,gnPc)*(proc_tvav-1),gnPc) To lnTotalFTvaVal,lnTotalTvaVal + Else + Sum Round(Round(pretvval*proc_tvav,gnPVal)*&lcCant,gnPVal) To lnTotalCTvaVal + Sum Round(Round(Round(pretvval*proc_tvav,gnPVal)*&lcCant,gnPVal)*(proc_tvav-1),gnPVal) To lnTotalTvaVal + lnTotalFTvaVal = m.lnTotalCTvaVal - m.lnTotalTvaVal + Endif + With Thisform.ct_factura2 + .totftva = lnTotalFTvaVal + .tva = lnTotalTvaVal + .totctva = lnTotalFTvaVal + lnTotalTvaVal + .Refresh() + Endwith + lnTotBaza = Round(lnTotalFTvaVal * poAct.Curs,gnPc) + lnTotTva = Round(lnTotalTvaVal * poAct.Curs,gnPc) + Endif + + With This.ct_factura1 + If oset.model = 2 && NIR + lnBazaAdaos = 0 + lnTvaAdaos = 0 + Endif + .totftva = lnTotBaza - lnBazaDiscount + .tva = lnTotTva - lnTvaDiscount + .totctva = .totftva + .tva + Endwith + Endif + + *!* modificare v 2.0.6 + Do Case + Case oset.id_set = 216 && Intrare din transfer de la gest. valorica la pret de vanz. + Select (tcTabel) + If gnTipGest <> 6 && calculez valftva si valtva pornind de la pretv in loc de (pretv+tvav) + Sum Round(pretv*cant,gnPc) To lnTotBaza216 + Sum Round(Round(pretv*cant,gnPc)*(proc_tvav-1), gnPc) To lnTotTvav + Else + Sum Round(Round(pretv+tvav,gnPc)*&lcCant,gnPc) To lnTotctva216 + Sum Round(Round((pretv+tvav)*&lcCant,gnPc)*(proc_tvav-1)/proc_tvav,gnPc) To lnTotTvav + lnTotBaza216 = lnTotctva216 - lnTotTvav + Endif + + Thisform.tx_totalctva.Value = lnTotTvav + lnTotBaza216 + + Case Inlist(oset.id_set, 230, 232, 233, 235, 261) && protocol, sponsorizare + Select (tcTabel) + *!* modificare conditie if v 2.0.94 + If !INLIST(gnTipGest, 6,7) &&gnTipGest <> 6 + *!* modificare conditie if v 2.0.94 ^ + Sum Round(pretv*&lcCant,gnPc) + Round(Round(pretv*&lcCant,gnPc)*(proc_tvav-1),gnPc) To lnTotal230 + Else + Sum Round((pretv+tvav)*cante,gnPc) To lnTotal230 + EndIf + Thisform.tx_totalctva.Value = lnTotal230 + *!* modificare ROAFACTURARE v 2.2.20 + CASE oset.id_set = 267 + SELECT (tcTabel) + If !INLIST(gnTipGest, 6,7) + Sum Round(pretv*cant,gnPc) + Round(Round(pretv*cant,gnPc)*(proc_tvav-1),gnPc) To lnTotal230 + Else + Sum Round((pretv+tvav)*cant,gnPc) To lnTotal230 + EndIf + Thisform.tx_totalctva.Value = lnTotal230 + *!* modificare ROAFACTURARE v 2.2.20 ^ + ENDCASE + IF thisform.ntotal#0 + lnProcentDiscount=(thisform.ct_discount1.baza_discount/thisform.ntotal)*100 + ELSE + lnProcentDiscount=0 + ENDIF + + if(thisform.ct_discount1.combogrid3.Value=2) + thisform.ct_discount1.txProc_discount.Value=lnProcentDiscount + ENDIF + + *!* modificare v 2.0.6 ^ + + This.txNir.Refresh + This.ct_factura1.Refresh + This.ct_factura2.Refresh + This.ct_adaos1.Refresh + ENDPROC + + PROCEDURE caut_gestiune + PARAMETERS tnFel + + IF EMPTY(tnFel) + tnFel = 0 + ENDIF + + IF tnFel = 1 && pret vanzare + lcCond = [nr_pag = 6] + ELSE + lcCond = [nr_pag in (2,3,4,5)] + ENDIF + + pcselect = [select * from vnom_GESTIUNI] + pcFiltruOrig = [inactiv = 0 and ] + lcCond + pcfiltru = [1=2] + pcschema = [] + pcorder = [NUME_gestiune] + pccoloane = [nume_gestiune,cgest] + pcTitlu = [Nume Gestiune Destinatie] + pcTitluColoane = [Gestiune,Indicativ] + locauta = cauta_alfa(pcselect,pcfiltru,pcschema,pcorder,pccoloane,pcTitlu,pcTitluColoane,'',.F.,pcFiltruOrig) && 11.07.2007 + + RETURN locauta + ENDPROC + + PROCEDURE compensare + *!* 24.08.2011 + *!* marius.mutu + *!* suma platita = suma modificata de utilizator, nu suma calculata din rulaj + + *!* 30.08.2011 + *!* marius.mutu + *!* suma platita = suma modificata de utilizator daca este diferita de 0, nu suma calculata din rulaj + + IF USED('xcont') + SELECT xcont + LOCATE FOR Pozitie # Fel_Cont AND Cu_Inregistrari = 1 + IF FOUND() + pcContul = ALLTRIM(cont_part) + pnIdPart = idPart + pcNume = numepart + pnFelCont = Fel_Cont + pcDenumire = ALLTRIM(explic_cont) + + pcCond = [ an = ?gnAn and luna = ?gnluna] + + llval = .F. && Deocamdata e doar in lei + IF llval + pccond= pccond + [ and ABS(i.precvaldeb + i.valdebit - i.precvalcred - i.valcredit)>0 and i.id_valuta = ] + ALLTRIM(STR(&lcObj..id_valuta)) + ELSE + pccond= pccond + [ and (i.precvaldeb + i.valdebit - i.precvalcred - i.valcredit = 0) ] + ENDIF + + + + pcselect = ['select i.* FROM ] + gcs + [.Vireg_parteneri i where 2=2 '] + pcfiltru = [ i.id_part = ?pnIdPart AND ABS(i.precdeb + i.debit - i.preccred - i.credit)<>0 AND i.cont = ?pcContul and ] + pcCond + pcschema = [''] + pcorder = [''] + + PRIVATE podateintrod + STORE '' TO podateintrod + + gencursor('podateintrod','crs_actcv',pcselect,pcfiltru,[''],'') + + lcFis = 'actcv' + ALLTRIM(pcContul) + + IF USED(lcFis) + USE IN &lcFis + ENDIF + + IF pnFelCont = 0 + lcsel = [SELECT *, ACONT AS ASCC, nume_val as numeval, curs as cursschimb, precdeb + debit as totctva, preccred+credit as achitat, ] +; + [precvaldeb + valdebit AS sumaval, precVALcred+VALcredit as achitatval, ] +; + [.f. as ales, 00000000000000.0000 as sumaachi, 000000000000.0000 as sumaachi2, 00000000000000.0000 as achilei, 00000000000000.0000 as difplus, 00000000000000.0000 as difminus, 000000.0000 as cursval, 000000.0000 as cursdif ] +; + [FROM crs_actcv INTO CURSOR ] + lcFis + [ READWRITE ] + ELSE + lcsel = [SELECT *, ACONT AS ASCD, nume_val as numeval, curs as cursschimb, preccred + credit as totctva, precdeb+debit as achitat, ] + ; + [precvalcred + valcredit as sumaval, precVALdeb+VALdebit as achitatval, ] + ; + [.f. as ales, 00000000000000.0000 as sumaachi, 00000000000000.0000 as sumaachi2, 00000000000000.0000 as achilei, 00000000000000.0000 as difplus, 00000000000000.0000 as difminus, 000000.0000 as cursval, 000000.0000 as cursdif ] + ; + [FROM crs_actcv INTO CURSOR ] + lcFis + [ READWRITE ] + ENDIF + &lcsel + + SELECT (lcFis) + + OPLATA=CREATEOBJECT('ocompensari') + * oplata.txtNume.value =lcNume + OPLATA.titlufrumos1.CAPTION = pcDenumire + [: ] + pcNume + OPLATA.pcFis = lcFis + *!* 24.08.2011 + *!* OPLATA.SUMA = THIS.ct_factura1.totctva + OPLATA.SUMA = IIF(thisform.nfTotctva<> 0, thisform.nfTotctva, THIS.ct_factura1.totctva) + *!* 24.08.2011 ^ + OPLATA.pnFelCont = pnFelCont + OPLATA.SHOW(1) + + *!* SELECT (lcfis) + *!* CALCULATE cnt() FOR ales TO LnBife + *!* IF LnBife=1 + *!* LOCATE FOR ALES + *!* &M=nract + *!* ELSE + *!* &M=0 + *!* ENDIF + ENDIF + ENDIF + ENDPROC + + PROCEDURE do_adauga + PRIVATE pnpretvtva + pnpretvtva = 0 + PRIVATE poCote_tva + STORE '' TO poCote_tva + + + local lnId + lnId = 0 + llSucces = nom_articole_nou(@lnId) + + this.ct_grid_search1.actualizeaza_grid + ENDPROC + + PROCEDURE do_modifica + lcNomArt = this.ct_grid_search1.cnumecursor + SELECT (lcNomArt) + SCATTER NAME lorec + + PRIVATE poCote_tva + STORE '' TO poCote_tva + + lnId = lorec.id_articol + DO Adauga_Modifica_Inregistrare WITH [catalog_articole],lorec,lnId,[UPDATE] + this.ct_grid_search1.actualizeaza_grid + ENDPROC + + PROCEDURE do_sterge + Local lnRecno, lcSelRul + lcSelRul = This.ct_grid_order1.cnumecursor + + Select (lcSelRul) + Scatter Name osterg && modificare ROAGEST v 2.1.19 + lnRecno = Recno() + *!* modificare ROAGEST v 2.1.19 + LOCATE FOR !DELETED() + IF !FOUND() + MESSAGEBOX("Nu exista inregistrari de sters!",48,"Atentie") + RETURN + ENDIF + *!* modificare ROAGEST v 2.1.25 : am adaugat conditia legata de oset.id_set ( ob. de inv. ) + If oset.model = 3 AND INLIST(gnFifoLifo,1,2) AND !INLIST(oset.id_set,70,72,104) + Locate For id_articol = osterg.id_articol And id_gestout = osterg.id_gestout ; + AND !DELETED() AND nrordine > osterg.nrordine + *!* And Nvl(serie,'') = Nvl(osterg.serie,'') AND Pret = osterg.Pret And Iif(Inlist(gnTipGest,6,7),pretv,1) = Iif(Inlist(gnTipGest,6,7),osterg.pretv,1) + If Found() + amessagebox("Nu puteti sterge acest articol deoarece nu se mai respecta metoda "+IIF(gnFifoLifo=1,"FIFO","LIFO")+" !",48,"Atentie") + Go lnRecno + RETURN + Endif + Endif + Select (lcSelRul) + GO lnRecno + *!* modificare ROAGEST v 2.1.19 ^ + Delete + + *!* MODIFICAT 11.04.2006 + *!* MARIUS.MUTU - AM PUS RECNO('RUL_TEMP') IN CURSORUL DE TRANSFER - LA STERGERE SA POT STERGE SI LINIA CORESPONDENTA DIN CRSTRANSFER + If Inlist(oset.model,5,6,7) And Used('crsTransfer') + Select crsTransfer + Goto lnRecno + Delete + This.ct_grid_order1.cb_tx_gestin.SetFocus() + Endif + This.ct_grid_order1.actualizeaza_grid + This.calcul_sume + *!* modificare ROAGEST v 2.1.19 + Select (lcSelRul) + Go lnRecno + If oset.model = 3 + SELECT (This.ct_grid_search1.cnumecursor) + lnRecno = Recno() + *!* modificare ROAGEST v 2.1.25 : am inlocuit datain = osterg.datain cu cond. daca exista osterg.datain si coloana datain in this.ct_grid_search1.cnumecursor + Locate For id_articol = osterg.id_articol And id_gestiune = osterg.id_gestout And Nvl(serie,'') = Nvl(osterg.serie,'') ; + AND Pret = osterg.Pret And Iif(Inlist(gnTipGest,6,7),pretv,1) = Iif(Inlist(gnTipGest,6,7),osterg.pretv,1) ; + AND IIF(INLIST(TYPE('osterg.datain'),'T','D') AND INLIST(TYPE(This.ct_grid_search1.cnumecursor+'.datain'),'T','D'),datain,datapif) = ; + IIF(INLIST(TYPE('osterg.datain'),'T','D') AND INLIST(TYPE(This.ct_grid_search1.cnumecursor+'.datain'),'T','D'),osterg.datain,osterg.datapif) + If Found() + Replace stoc_actual With stoc_actual + osterg.cante + Endif + Go lnRecno + Endif + *!* modificare ROAGEST v 2.1.19 ^ + ENDPROC + + PROCEDURE do_termin + If This.inainte_de_do_termin() + lcSelRul = This.ct_grid_order1.cnumecursor + lcSelSt = This.ct_grid_search1.cnumecursor + gnButon = 1 + pnButon = 1 + Buton = 1 + pnIesire = 1 + *this.Hide + + If Type('pnTipCasaMarcat') = 'U' + pnTipCasaMarcat = 1 + Endif + If Type('glListareBonFiscal')<>'U' And glListareBonFiscal And pnTipCasaMarcat#1 + lcStringmp500 = '' + Thisform.bon_fiscal() + If gnButon<>1 + Return + Endif + Endif + + Select actactan + *!* modificare ROAPRODUCTIE v 2.0.2 + *!* If !Inlist(poact.id_set, 26001) && PV de productie + llVerificare = verificare_note_contabile('actactan', .T.,.T., .F.) + If !llVerificare + *!* modificare ROAPRODUCTIE v 2.0.2 ^ + This.AlwaysOnTop = .F. + Do Form verificare With .T.,.T.,3 && cu buton de precedent + This.AlwaysOnTop = .T. + Endif + Do Case + Case gnButon = 3 + *onirbon.visible = .t. + Do nrord With lcSelRul + Otherwise + This.Release + Endcase + Endif + ENDPROC + + PROCEDURE do_verifica_sume + tcTabel = Alltrim(This.ct_grid_order1.cnumecursor) + Select (tcTabel) + Replace id_valuta_vanz With poAct.id_valuta_vanz All + Calculate Sum(Round(pretvval*cante,gnPVal)),Sum(Round(pretv*cante,gnPc)) To lnTotalVal,lnTotalLei + lnTotalVal = Round(lnTotalVal*poAct.Curs,gnPc) + If lnTotalVal <> lnTotalLei + lnDiferenta = lnTotalVal - lnTotalLei + lnSemn = Sign(lnDiferenta) + *!* lnDiferenta = Abs(lnDiferenta) + lnDiferenta = lnDiferenta + lnDiferentaPretU = Exp((-1)*gnPPretV*Log(10)) + lnModificari = 1 + + Do While lnModificari <> 0 + lnModificari = 0 + Select (tcTabel) + Scan + lnDiferentaPret = Round(lnDiferentaPretU*cante,gnPc) + lnSemnPret = Sign(lnDiferentaPret) + If Abs(lnDiferentaPret) <= Abs(lnDiferenta) + lnDiferenta = lnDiferenta - lnSemn * lnDiferentaPret + Replace pretv With pretv + lnSemn * lnSemnPret * lnDiferentaPretU + lnModificari = lnModificari + 1 + Endif + Endscan + Enddo + Endif + + ENDPROC + + PROCEDURE inainte_de_do_termin + *!* *!* *!* *!* *!* *!* *!* *!* *!* *!* *!* *!* *!* *!* *!* *!* *!* *!* *!* *!* *!* *!* *!* *!* + *!* Model =-1 : Nota fara contabilizare + *!* Model = 1 : Nota simpla cu contabilizare + *!* Model = 2 : NIR + *!* Model = 3 : BON/FACTURA VANZARE + *!* Model = 4 : Retur BON/FACTURA VANZARE + *!* Model = 5 : Transfer + *!* Model = 6 : Retur Transfer + *!* Model = 7 : Diferenta de pret + + *!* Param1 = 1 : En-detail + *!* Param1 = 2 : En-gros + *!* *!* *!* *!* *!* *!* *!* *!* *!* *!* *!* *!* *!* *!* *!* *!* *!* *!* *!* *!* *!* *!* *!* *!* + + *!* v 2.0.28 calculez valorile de achizitie in functie de gnTipGest + *!* ACHIZITIE + *!* !plNIRBONPretCuTVA : valoarea fara tva achizitie = cant*pret + *!* : valoarea tva achizitie = valoarea fara tva achizitie * proc_tva + *!* : valoarea cu tva achizitie = valoarea fara tva achizitie + valoarea tva achizitie + *!* + *!* plNIRBONPretCuTVA : valoarea tva achizitie = valoarea cu tva achizitie * (proc_tva - 1) / proc_tva + *!* BILETE RATC : valoarea fara tva achizitie = valoarea cu tva achizitie - valoarea tva achizitie + *!* : valoarea cu tva achizitie = cant*(pret+tva) + + *!* VANZARE + *!* gnTipGest <> 6 : valoarea fara tva vanzare = cant*pretv + *!* : valoarea tva vanzare = valoarea fara tva vanzare * proc_tvav + *!* : valoarea cu tva vanzare = valoarea fara tva vanzare + valoarea tva vanzare + *!* : adaosul = valoarea fara tva vanzare - valoarea fara tva achizitie + *!* + *!* gnTipGest = 6 : valoarea fara tva vanzare = valorea cu tva vanzare - valoarea tva vanzare + *!* : valoarea tva vanzare = valoarea cu tva vanzare * (proc_tvav-1)/proc_tvav + *!* : valoarea cu tva vanzare = cant*(pretv+tvav) + *!* : adaosul = valoarea fara tva vanzare - valoarea fara tva achizitie + *!* v 2.0.28 ^ + + ***----------------------------------- + *!* Ordinea coloanelor in tabelul din stanga + *!* salvata pe server in optiuni_util, varname = 'GEST_SELECTII' - pt. fiecare utilizator - pt. operatiile in care a intrat + + *!* 19.02.2010 + *!* marius.mutu + *!* id_set 264, 265 finalizare aprovizionare din 3xx = 401 => 3xx = 32x din coresp_cont_venchelt.cont_aprovizionare + + *!* 06.09.2011 + *!* marius.mutu + *!* pnTotalFactura,pnBazaFactura,pnTvaFactura = valorile modificate de utilizator + + *!* 05.02.2014 + *!* marius.mutu + *!* diferente baza, tva la NIR - x = 401; x se completeaza cu CORESP_CONT_VENCHELT.cont_diferente daca este completat, altfel 6588 + *!* #4132 + + *!* 12.07.2016 + *!* marius.mutu + *!* nu se mai inlocuieste scd cu 4426 pentru tva ach. neex. in cazul in care scc = 408. Trebuie sa ramana 4428 = 408 + + *!* 23.01.2017 + *!* marius.mutu + *!* vanzare produse en-detail (firma TVA Incasare) nu se schimba contul 4111 = 4428 in 4111 = 4427 19% + + *!* 28.11.2018 + *!* marius.mutu + *!* Achizitii din CE, modific 4426 = 401 in 4426 = 4427 + + *!* 12.11.2019 + *!* marius.mutu + *!* id_set = 267 EDUARD AVIZ RETUR CLIENTI CUSTODIE VALORIC - am corectat valoarea 357 si tva vanzare + *!* daca era impartita pe mai multe gestiuni, sectii nu se completa corect + + *!* modificare ROAPRODUCTIE v 2.0.2 + If Reccount(This.ct_grid_order1.cnumecursor) = 0 + amessagebox("Nu ati ales articolele!",48,"Atentie") + Return .F. + Endif + *!* modificare ROAPRODUCTIE v 2.0.2 ^ + Local lnNrCols, lcHeader, lcHeader2, lcTitlu_col, lcControlSource, lcControlSource2, lcNume_col, lcOrdine, lcWidth_col, lcSql, lnPornire + Store 0 To lnNrCols + Store 1 To lnPornire + Store '' To lcHeader, lcHeader2, lcTitlu_col, lcControlSource, lcControlSource2, lcNume_col, lcWidth_col, lcOrdine + + Create Cursor crsGrid (ordine N(3), ctrSource C(100), titlu C(100), width_col C(100)) + + lnNrCols = This.ct_GRID_SEARCH1._GRID1.ColumnCount + llNrOrd = This.ct_GRID_SEARCH1.lNumerotare + lnPornire = Val(This.ct_GRID_SEARCH1.cb_tx_cautare1.criteriu.Value) + + For I=1 To lnNrCols + If llNrOrd And I<>1 && ce se intampla daca nu e llNrOrd ?????? + lcColOrd = [this.ct_grid_search1._grID1.column] + Alltrim(Str(I))+[.columnorder] + lnColOrd = &lcColOrd + + *!* modificare v 2.1.19 + *!* lcHeader = [this.ct_grid_search1._grid1.column] + Alltrim(Str(I))+ [.grh]+Alltrim(Str(I))+[.]+[Caption] + lcHeader = [This.ct_grid_search1._GRID1.column] + Alltrim(Str(I)) + [.grh] +Alltrim(Str(I)) + IF TYPE(lcHeader) = 'O' + lcHeader = lcHeader + [.Caption] + ELSE + *!* daca nu se poate ordona dupa coloana respectiva, atunci am Header1 in loc de grhI + lcHeader = [This.ct_grid_search1._GRID1.column] + Alltrim(Str(I)) + [.header1.Caption] + endif + *!* modificare v 2.1.19 ^ + lcHeader2 = &lcHeader + + lcControlSource = [this.ct_grid_search1._grid1.column] + Alltrim(Str(I))+ [.ControlSource] + lcControlSource2 = &lcControlSource + + lcWidthColumn = [this.ct_grid_search1._grid1.column] + Alltrim(Str(I))+ [.width] + lcWidthColumn2 = Alltrim(Str(&lcWidthColumn)) + + Insert Into crsGrid (ordine, titlu, ctrSource, width_col) Values (lnColOrd, lcHeader2, lcControlSource2, lcWidthColumn2) + Endif + Endfor + + + Select * From crsGrid Order By ordine Into Cursor crsGridOrd + Use In crsGrid + + Select crsGridOrd + Scan + lcTitlu_col = lcTitlu_col + Alltrim(titlu) + "," + lcNume_col = lcNume_col + Alltrim(ctrSource) + ";" + lcWidth_col = lcWidth_col + Alltrim(width_col)+ ";" + + Select crsGridOrd + Endscan + + + lcTitlu_col = Substr(lcTitlu_col,1,Len(lcTitlu_col)-1) + lcNume_col = Substr(lcNume_col,1,Len(lcNume_col)-1) + lcWidth_col = Substr(lcWidth_col,1,Len(lcWidth_col)-1) + + lcOrd = [this.ct_grid_search1.corder] + lcOrdine = &lcOrd + + *!* v 2.0.87 - gestselectii - coloane ordonate din optiuni utilizator + lnid_sel = oSet.id_selSt + + If Type('crsGestSelectiiUtilizator.pornire')='U' && ver. 2.0.90 + Alter Table crsGestSelectiiUtilizator Add Column pornire N(2) + Endif + + Select crsGestSelectiiUtilizator + Locate For id_sel = oSet.id_selSt + If Found() + Update crsGestSelectiiUtilizator ; + Set titlu_col = lcTitlu_col, nume_col = lcNume_col, ordine = lcOrdine, width_col = lcWidth_col, pornire = lnPornire ; + WHERE id_sel = oSet.id_selSt + Else + Insert Into crsGestSelectiiUtilizator (id_sel, titlu_col, nume_col, ordine, width_col, pornire) ; + VALUES (oSet.id_selSt, lcTitlu_col, lcNume_col, lcOrdine, lcWidth_col, lnPornire ) + Endif + + lcCursorXML = '' + Cursortoxml("crsGestSelectiiUtilizator", "lcCursorXML", 2, 0+2+8, 0, "1") + + scrie_optiune_utilizator("GEST_SELECTII", lcCursorXML, "Ordinea coloanelor in tabelul din stanga in formularele de nir, bon, etc.") + *!* v 2.0.87 - gestselectii ^ + ***----------------------------------- + + + Private poRec + poRec = Null + Local loRec + Local lcSelRul, lcSelRulGr,lcContTr, lcAcontTr, lcRul, lcCursor, lnSucces, llSucces, lcCant, lnIdGestiuneTr + + Store '' To lcContTr, lcAcontTr + lnIdGestiuneTr = 0 + lcSelRulGr = This.ct_grid_order1.cnumecursor + Local lnRecno + lnRecno = 0 + pnBazaV341 = 0 + pnBazaV346 = 0 + pnBazaVProd = 0 + pnBazaVAmb = 0 + pnBazaVal341 = 0 + pnBazaVal346 = 0 + pnBazaValProd = 0 + pnBazaValAmb = 0 + *!* 15.03.2007 + Local llY + llY = .F. + *!* 15.03.2007 ^ + + *!* modificare facturare in valuta 24.09.2007 + If oSet.cursval + Thisform.do_verifica_sume() + Endif + *!* modificare facturare in valuta 24.09.2007 ^ + + Thisform.compensare && PT 542 ; se completeaza actactanul in adunadate + + *** completez tabela ACTACTAN + If Type('oitem') = 'O' + If Pemstatus(oitem,'adunadate',5) + oitem.adunadate() + *!* modificare ROAGEST v 2.2.0 : repun conturile modificate in actbaza2007 + select actactan + replace all scc with '4427' for inlist(id_jtva_coloana,22,24,26,30,32,38,42) and scc = '4428' + replace all scd with '4426' for inlist(id_jtva_coloana,171,173,175,179,189,211,215) and scd = '4428' AND scc <> '408' && aviz 4428 = 408 + *!* modificare ROAGEST v 2.2.0 + Endif + Endif + *** + If Used('rul_temp') + Use In rul_temp + ENDIF + && completez RUL_TEMP + lcRul = Alltrim(This.osel_dr.cfrom) + lcSql = [select v.*,0 as pretvval,0 as curs,0 as id_valuta_vanz,0 as id_jtva_coloana,0 as taxcode, v.id_gestiune as id_gestin, v.nume_gestiune as gestin, v.id_gestiune as id_gestout, v.nume_gestiune as gestout, 0 as nuInConturiX] + + && VRUL_OBINV NU ARE CODMATF, LOT, ADATA_EXPIRARE SI NU SE MAI SALVEAZA LOT, ADATA_EXPIRARE IN RUL + If 'obinv'$Lower(lcRul) + lcSql = lcSql + [,rpad(' ',50,' ') as codmatf, rpad(' ',50,' ') as lot, to_date('') as adata_expirare, rpad(' ',50,' ') as serie_obinv] + Endif + lcSql = lcSql + [ from ] + lcRul + [ where 1=2] + lcCursor = [rul_temp] + llSucces = goExecutor.oExecuta(lcSql,lcCursor) + If !m.llSucces + Return .F. + Endif + + Select rul_temp + Append From Dbf(lcSelRulGr) + lcSelRul = 'rul_temp' + + *!* v 2.0.39 + *!* modificare ROAGEST v 2.0.51 + *!* If oset.id_set = 236 && retur din transfer de la gestiune valorica mf pv - aviz expeditie + *!* 240 && retur din transfer de la gestiune valorica (cantitativ) mf pv - aviz expeditie + *!* 241 = 236 la mf pret ach + *!* 242 = 240 la mf pret ach + If Inlist(oSet.id_set,236,238,239,240,241,242,255,256,259,260) && retur din transfer de la gestiune valorica mf pv - aviz expeditie + *!* modificare ROAGEST v 2.0.51 ^ + *!* il introduc ca NIR, dar vreau sa apara ca intrare din retur (cante < 0) + Select rul_temp + Scan + Scatter Name loRec + Replace cante With -loRec.cant, cant With 0, id_gestiunec With poAct.id_gestout, id_gestin With poAct.id_gestout, id_gestout With poAct.id_gestin, datain With loRec.dataout, dataout With {} + Endscan + Select ACTACTAN + Replace id_gestin With poAct.id_gestout, id_gestout With poAct.id_gestin, id_partc With 0, partc With "" + Endif + *!* modificare ROAFACTURARE v 2.0.96 + pnDisctV = 0 + pnTvaDiscV = 0 + IF oSet.id_set = 267 + lnProcDiscount = Iif(oset.discount And Thisform.ct_discount1.Combogrid3.Value=3,Thisform.ct_discount1.proc_discount ,0) / 100 + Select rul_temp + Scan + Scatter Name loRec + Replace cante With -loRec.cant, cant With 0, id_gestiunec With poAct.id_gestout, id_gestin With poAct.id_gestout, id_gestout With poAct.id_gestin, datain With loRec.dataout, dataout With {},; + discunitar WITH ROUND((loRec.pretv+loRec.tvav)*lnProcDiscount,gnPPretV) + Endscan + Calculate Sum(Round(discunitar * Abs(cante),gnPc)-Round(Round(discunitar * Abs(cante),gnPc) * (proc_tvav-1)/proc_tvav,gnPc)),; + SUM(Round(Round(discunitar * Abs(cante),gnPc) * (proc_tvav-1)/proc_tvav,gnPc)) To pnDiscV,pnTvaDiscV + Select ACTACTAN + Replace id_gestin With poAct.id_gestout, id_gestout With poAct.id_gestin, id_partc With 0, partc With "" + ENDIF + *!* modificare ROAFACTURARE v 2.0.96 ^ + If Inlist(oSet.id_set, 215, 216, 237,257) && intrare din transfer de la gestiune valorica + Replace All id_gestiunec With poAct.id_gestout, id_gestout With poAct.id_gestout + Endif + + *!* v 2.0.39 + If oSet.productie + Do Case + Case Alltrim(Upper(oSet.formproduc))='FRM_ALEGE_PROD_CANT' + Thisform.intrare_produs() + Case Inlist(Alltrim(Upper(oSet.formproduc)),'FRM_ALEGE_SECTIE_COMANDA','FRM_ALEGE_SECTIE') + Select ACTACTAN + *!* modificare 03.09.2007 + *!* Replace id_sectie With pnId_sectie, sectie With pcSectie For Inlist(nr_nota,1,2,5) + Replace id_sectie With 0, sectie With '' For Inlist(nr_nota,4) + Endcase + Endif + + *!* 15.03.2007 + *!* pentru intrare dintr-o gestiune tinuta doar valoric - trebuie contul + *!* daca exista Y (trebuie sa aleaga contul de transfer) + Select xscd As SCD, xscc As scc From XNOTE Where id_set = oSet.id_set ; + AND (Inlist(Upper(Alltrim(xscd)),'Y') Or Inlist(Upper(Alltrim(xscc)),'Y')); + INTO Cursor crsY + If _Tally > 0 Or Inlist(oSet.model, 5, 6, 7) + llY = .T. + Endif + Use In crsY + *!* 15.03.2007 ^ + + If Inlist(oSet.model, 5, 6, 7) && TRANSFER, RETUR TRANSFER + + Select (lcSelRul) + lnRecno = Recno() + If oSet.id_set = 211 && TRANSFER GESTIUNE OB INV IN FOLOSINTA PE PERSOANA CATRE O MAGAZIE OB INV IN FOLOSINTA + Replace id_responsabil With 0, nresp With '' + Endif + + If Used('crsTransfer') + Append From Dbf('crsTransfer') + + If oSet.id_set = 210 && TRANSFER MAGAZIE OB INV IN FOLOSINTA CATRE O GESTIUNE OB INV IN FOLOSINTA PE PERSOANA + Replace id_responsabil With 0, nresp With '' For Recno() > lnRecno + Endif + + *!* modificare 22.05.2007 + *** se modifica pretul de ach. pentru intrari + If oSet.id_set = 218 && Diferenta pret la produse + Replace Pret With pretv For cant <> 0 + Endif + *!* modificare 22.05.2007 ^ + Endif + + If !Inlist(oSet.id_set,89, 210, 211, 212) && (FARA TRANSFER INTRE PERSOANE) + *!* If Inlist(oset.id_seldr,11,16,18) && achizitie + *!* poGestTr = This.caut_gestiune() + *!* Endif + *!* If oset.id_seldr = 12 && vanzare + *!* poGestTr = This.caut_gestiune(1) + *!* Endif + *!* If Empty(poGestTr.Id_gestiune) && renunt + *!* Return .F. + *!* Endif + + *!* && Dc poGestTr.Id_gestiune nu e empty aleg contul de transfer si analiticul + + *!* loCont = This.aleg_cont_transfer(poGestTr.Id_gestiune) + + *!* If Empty(loCont.Cont) && renunt + *!* Return .F. + *!* Endif + && oset.id_seldr = 12 : catre o gestiune de marfa la pret de vanzare + loCauta = caut_gestiune_dest(0,Iif(oSet.id_seldr = 12, [6],[2,3,4,5]),0) + If Nvl(loCauta.id_gestiune,0) = 0 + Return .F. + Else + poGestTr = Createobject("custom") + poGestTr.AddProperty("id_gestiune", loCauta.id_gestiune) + poGestTr.AddProperty("nume_gestiune", loCauta.nume_gestiune) + loCont = Createobject("custom") + loCont.AddProperty("cont", loCauta.Cont) + loCont.AddProperty("acont", Nvl(loCauta.acont,"")) + Endif + + + Select (lcSelRul) + Replace All id_gestin With poGestTr.id_gestiune, gestin With poGestTr.nume_gestiune &&FOR cant <> 0 + Do Case + Case Inlist(oSet.model,5,7) && transfer + Replace All id_gestiune With poGestTr.id_gestiune, nume_gestiune With poGestTr.nume_gestiune For cant <> 0 + Case oSet.model = 6 && retur + Replace All id_gestiune With poGestTr.id_gestiune, nume_gestiune With poGestTr.nume_gestiune For cante <> 0 + Endcase + + lcContTr = loCont.Cont + lcAcontTr = loCont.acont + + Select ACTACTAN + Replace All SCD With lcContTr, ascd With lcAcontTr, id_gestin With poGestTr.id_gestiune, gestin With poGestTr.nume_gestiune For Upper(Alltrim(SCD)) = 'Y' + Select (lcSelRul) + If oSet.model = 6 + lcCant = Thisform.osel_dr.cantitate + Else + lcCant = [cant] + Endif + Replace All Cont With lcContTr, acont With lcAcontTr For &lcCant <> 0 + *!* REPLACE ALL id_gestiunec WITH id_gestout FOR cant <> 0 + *!* REPLACE ALL id_gestiunec WITH id_gestin FOR cante <> 0 + *!* REPLACE ALL nuInConturiX WITH 1 FOR cant <> 0 + Endif + Select (lcSelRul) + Replace All id_gestiunec With id_gestout For cant <> 0 + Replace All id_gestiunec With id_gestin For cante <> 0 + Replace All nuInConturiX With 1 For cant <> 0 + Endif + + Select (lcSelRul) + + If oSet.param1 = 2 And oSet.factura && factura en-gros + This.calcul_pret_vanzare(lcSelRul) + *!* modificare 31.10.2006 + pnTotalFactura = This.ct_factura1.totctva + pnBazaFactura = This.ct_factura1.totftva + pnTvaFactura = This.ct_factura1.tva + + Select rul_temp + If gnTipGest <> 6 + Calculate Sum(Round(Round(pretv,gnPPretV)*cante,gnPc)),; + SUM(Round(Round(Round(pretv,gnPPretV)*cante,gnPc)*(proc_tvav-1),gnPc)) ; + TO lnBazaFactura,lnTvaFactura + Else + Calculate Sum(Round(Round(pretv+tvav,gnPPretV)*cante,gnPc)) To lnTotFactura + Calculate Sum(Round(Round(Round(pretv+tvav,gnPPretV)*cante,gnPc)*(proc_tvav-1)/proc_tvav,gnPc)) To lnTvaFactura + lnBazaFactura = lnTotFactura - lnTvaFactura + Endif + + Do Case + Case lnBazaFactura <> pnBazaFactura And lnTvaFactura <> pnTvaFactura + lcMesaj = [Diferenta intre sumele introduse si cele rezultate din calcul:] + CRLF + ; + SPACE(23) + [Baza] + Space(18) + [TVA] + CRLF + ; + [Introduse:] + Space(5) + Str(pnBazaFactura,20,gnPc) + [ ] + Str(pnTvaFactura,20,gnPc) + ; + CRLF +; + [Calculate:] + Space(5) + Str(lnBazaFactura,20,gnPc) + [ ] + Str(lnTvaFactura,20,gnPc) + ; + CRLF + CRLF + ; + [Doriti sa continuati?] + Case lnBazaFactura <> pnBazaFactura + lcMesaj = [Diferenta intre sumele introduse si cele rezultate din calcul:] + CRLF + ; + SPACE(23) + [Baza] + CRLF + ; + [Introduse:] + Space(5) + Str(pnBazaFactura,20,gnPc) + CRLF+; + [Calculate:] + Space(5) + Str(lnBazaFactura,20,gnPc) + CRLF + CRLF + ; + [Doriti sa continuati?] + Case lnTvaFactura <> pnTvaFactura + lcMesaj = [Diferenta intre sumele introduse si cele rezultate din calcul:] + CRLF + ; + SPACE(24) + [TVA] + CRLF + ; + [Introduse:] + Space(5) + Str(pnTvaFactura,20,gnPc) + CRLF +; + [Calculate:] + Space(5) + Str(lnTvaFactura,20,gnPc) + CRLF + CRLF + ; + [Doriti sa continuati?] + Otherwise + lcMesaj = [] + Endcase + + If !Empty(lcMesaj) + If amessagebox(lcMesaj,4+32+256,"Confirmare")==7 + Return .F. + Else + pnBazaFactura = lnBazaFactura + pnTvaFactura = lnTvaFactura + pnTotalFactura = lnBazaFactura + lnTvaFactura + Endif + Endif + Else + *!* 06.09.2011 + *!* pnTotalFactura = This.ct_factura1.totctva + *!* pnBazaFactura = This.ct_factura1.totftva + *!* pnTvaFactura = This.ct_factura1.tva + + pnTotalFactura = IIF(thisform.nfTotctva<> 0, thisform.nfTotcTva, THIS.ct_factura1.totctva) + pnBazaFactura = IIF(thisform.nfTotfTva <> 0, thisform.nfTotfTva, This.ct_factura1.totftva) + pnTvaFactura = IIF(thisform.nfTotTva<> 0, thisform.nfTotTva, This.ct_factura1.tva) + *!* modificare 31.10.2006 ^ + *!* 06.09.2011 ^ + Endif + + pnDiscount = This.ct_discount1.baza_discount + pnTVADiscount = -This.ct_discount1.tva_discount + pnProcDiscount = This.ct_discount1.pnTva + pnIdJtvaDiscount = This.ct_discount1.nid_jtva_coloana + pnIdTvaDiscount = This.ct_discount1.nid_tva + + *!* pnTotalFactura = THIS.ct_factura1.totctva + *!* pnBazaFactura = THIS.ct_factura1.totftva + *!* pnTvaFactura = THIS.ct_factura1.tva + + + pnBazaNir = [pret*cant] + pnBazaBon = [pret*cante] + pnTotalBon = This.ntotal + pnTotalNir = This.ntotal + + lcCant = Lower(Alltrim(This.osel_dr.cantitate)) + *!* ROAGEST V 2.0.61 + *!* modificare ROAGEST v 2.0.53 + *!* If Inlist(oset.model, 5, 6, 7) && transfer + *!* 236,240,241,242 - RETUR DE LA GESTIUNE VALORICA (-CANTE) + *!* 267 retur valoric din custodie + If Inlist(oSet.model, 5, 6, 7) Or Inlist(oSet.id_set,238,239,236,240,241,242,255,256,259,260,267 ) + lcCant = [cante] + Endif + *!* modificare ROAGEST v 2.0.53 ^ + *!* ROAGEST V 2.0.61 ^ + + If !plNIRBONPretCuTVA + pcTvaNirFormula = [ROUND(ROUND(cant*pret,gnPc)*(proc_tva-1),gnPc)] + pcBazaNirFormula = [Round(cant*pret,gnPc)] + pcBazaBonFormula = [Round(cante*pret,gnPc)] + Else + pcTvaNirFormula = [Round(ROUND(cant*(pret+tva),gnPc) * (proc_tva-1)/proc_tva, gnPC)] + pcBazaNirFormula = [Round(cant*(pret+tva),gnPc) - Round(ROUND(cant*(pret+tva),gnPc) * (proc_tva-1)/proc_tva, gnPC)] + pcBazaBonFormula = [Round(cante*(pret+tva),gnPc) - Round(ROUND(cante*(pret+tva),gnPc) * (proc_tva-1)/proc_tva, gnPC)] + Endif + *!* modificare ROAGEST v 2.0.94 : am adaugat conditia AND oset.id_set <> 75 + If !Inlist(gnTipGest, 6, 7) And oSet.id_set <> 75 + pnBazaVanz = [ROUND(pretv*cante,gnPc)] + pnBazaVal = [ROUND(pretvval*cante,gnPVal)] + pnBazaValVanz = [ROUND(ROUND(pretvval*curs,gnPPretV)*cante,gnPC)] + pnTvaVanzOut2 = [Round(ROUND(pretv*cante,gnPc)*(proc_tvav-1),gnPc)] && PROTOCOL + pnTvaVal = [ROUND(ROUND(pretvval*cante,gnPVal)*(proc_tvav-1),gnPVal)] + pnTvaValVanz = [ROUND(ROUND(ROUND(pretvval*curs,gnPPretV)*cante,gnPC)*(proc_tvav-1),gnPC)] + pcBazaVanzFormula = [ROUND(pretv*cante,gnPc)] + pnTvaVanzIn = [Round(ROUND(pretv*cant,gnPc) * (proc_tvav-1), gnPC)] + pnTvaVanzOut = [Round(ROUND(pretv*cante,gnPc) * (proc_tvav-1), gnPC)] + If !plNIRBONPretCuTVA + pnAdaos = [Round(] + lcCant+ [ * pretv, gnPc) - Round(] + lcCant+ [ * pret, gnPc)] + Else + pnAdaos = [Round(] + lcCant+ [ * pretv, gnPc) - (ROUND((pret+tva)*] + lcCant + [,gnPc) - Round(ROUND((pret+tva)*] + lcCant + [,gnPc) * (proc_tva-1)/proc_tva, gnPC))] + Endif + *!* modificare ROAGEST v 2.0.45 + pnVanzOutCuTva = pnBazaVanz + [+] + pnTvaVanzOut + *!* modificare ROAGEST v 2.0.45 ^ + Else + pnBazaVanz = [ROUND((pretv+tvav)*cante,gnPc) - Round(ROUND((pretv+tvav)*cante,gnPc) * (proc_tvav-1)/proc_tvav, gnPc)] + pnBazaVal = [ROUND(Round(pretvval*proc_tvav,gnPVal)*cante,gnPVal) - Round(ROUND(Round(pretvval*proc_tvav,gnPVal)*cante,gnPVal) * (proc_tvav-1)/proc_tvav, gnPVal)] + pnBazaValVanz = [ROUND(Round(ROUND(pretvval*curs,gnPPretV)*proc_tvav,gnPPretV)*cante, gnPc) - Round(ROUND(Round(ROUND(pretvval*curs,gnPPretV)*proc_tvav, gnPPretV)*cante, gnPc) * (proc_tvav-1)/proc_tvav, gnPc)] + pnTvaVanzOut2 = [Round(Round((pretv+tvav)*cante,gnPc)*(proc_tvav-1)/proc_tvav, gnPc)] && PROTOCOL + pnTvaVal = [Round(ROUND(Round(pretvval*proc_tvav,gnPVal)*cante,gnPVal) * (proc_tvav-1)/proc_tvav, gnPVal)] + pnTvaValVanz = [Round(ROUND(Round(ROUND(pretvval*curs,gnPPretV)*proc_tvav, gnPPretV)*cante, gnPc) * (proc_tvav-1)/proc_tvav, gnPc)] + pcBazaVanzFormula = [ROUND((pretv+tvav)*cante,gnPc) - Round(ROUND((pretv+tvav)*cante,gnPc) * (proc_tvav-1)/proc_tvav, gnPC)] + pnTvaVanzIn = [Round(ROUND((pretv+tvav)*cant,gnPc)* (proc_tvav-1)/proc_tvav, gnPC)] + pnTvaVanzOut = [Round(ROUND((pretv+tvav)*cante,gnPc)* (proc_tvav-1)/proc_tvav, gnPC)] + If !plNIRBONPretCuTVA + pnAdaos = [ROUND((pretv+tvav)*] + lcCant + [,gnPc) - Round(ROUND((pretv+tvav)*] + lcCant + [,gnPc) * (proc_tvav-1)/proc_tvav, gnPC) - ] + ; + [Round(] + lcCant+ [ * pret, gnPc)] + Else + pnAdaos = [ROUND((pretv+tvav)*] + lcCant + [,gnPc) - Round(ROUND((pretv+tvav)*] + lcCant + [,gnPc) * (proc_tvav-1)/proc_tvav, gnPC) - ] + ; + [(ROUND((pret+tva)*] + lcCant + [,gnPc) - Round(ROUND((pret+tva)*] + lcCant + [,gnPc) * (proc_tva-1)/proc_tva, gnPC))] + Endif + *!* modificare ROAGEST v 2.0.45 + pnVanzOutCuTva = [Round((pretv+tvav)*cante,gnPc)] + *!* modificare ROAGEST v 2.0.45 ^ + Endif + + If oSet.id_set = 104 And gnImputare = 1 + pnBazaVanz = [ROUND(pret_imputare*cante,gnPc)] + pnTvaVanzOut = [ROUND(ROUND(pret_imputare*cante,gnPc)*(proc_tvav-1),gnPc)] + Endif + + pnAdaosTotal = This.ct_adaos1.baza_adaos + pnBazaPlusAdaos = pnTotalBon + pnAdaosTotal + + Select * From XNOTE Where id_set = oSet.id_set Into Cursor crsNota + lcField = '' + Select xact + Go Top + + For I = 1 To Fcount() + If Upper(Alltrim(Evaluate(Field(I)))) = 'SUMA' + lcField = Field(I) + Exit + Endif + Endfor + + If Empty(lcField) + Return .T. + Endif + + Select Distinct xscd As SCD, xscc As scc, Padr(&lcField,100,' ') As eticheta,x34,x37 From crsNota ; + WHERE Inlist(Upper(Alltrim(xscd)),'X') Or Inlist(Upper(Alltrim(xscc)),'X'); + INTO Cursor crsIcsi + If _Tally > 0 + Select crsIcsi + Scan + lcEticheta = Lower(Alltrim(eticheta)) + If Empty(lcEticheta) + amessagebox('NECONFIGURAT xnote.dbf !',48,'Atentie!') + Loop + Endif + lcSCD = Upper(Alltrim(SCD)) + lcSCC = Upper(Alltrim(scc)) + lcIDJtva = Upper(Alltrim(x34)) && ID_JTAX/ID_TVA/pnIdJTvaDiscount/pnIdTvaDiscount + lcTaxCode = UPPER(ALLTRIM(x37)) && STAXCODE + If Inlist(oSet.model, 5, 6, 7) && TRANSFER, RETUR TRANSFER + If lcSCD = 'Y' + lcSCD = lcContTr + Endif + If lcSCC = 'Y' + lcSCC = lcContTr + Endif + Endif + + && despart sumele pe gestiuni si sectii - pt formarea corecta a analiticelor + If 'pntvavanz' $ lcEticheta Or 'pnadaos' $ lcEticheta + + *!* IF 'pnadaos'$lcEticheta + If Type('&lcEticheta') <> 'N' + lcEticheta = &lcEticheta + Endif + lcSuma = [SUM(ROUND(&lcEticheta,gnPc))] + *!* ELSE + *!* lcEticheta = &lcEticheta + *!* lcSuma = [SUM(ROUND(ROUND(&lcEticheta,gnPc)*(proc_tvav-1),gnPc))] + *!* ENDIF + + lcSelect = [SELECT CONT,ACONT,id_gestiune,id_sectie,sectie,id_lucrare,nrord,] + ; + IIF(Type(lcSelRul+'.id_jtva_coloana')#'U',[id_jtva_coloana],[NULL]) + [ as id_jtva_coloana,] + ; + IIF(Type(lcSelRul+'.taxcode')#'U',[taxcode],[NULL]) + [ as taxcode,] + ; + IIF(Type(lcSelRul+'.proc_tvav')#'U',[proc_tvav],[0000]) + [ as proc_tva,] +; + IIF(Type(lcSelRul+'.id_gestin')#'U',[id_gestin],[000000000]) + [ as id_gestin,] + ; + IIF(Type(lcSelRul+'.id_gestout')#'U',[id_gestout],[000000000]) + [ as id_gestout,] + ; + IIF(Type(lcSelRul+'.gestin')#'U',[gestin],[SPACE(50)]) + [ as gestin,] + ; + IIF(Type(lcSelRul+'.gestout')#'U',[gestout],[SPACE(50)]) + [ as gestout,] + ; + lcSuma + [ AS suma ] + ; + [FROM ] + lcSelRul + [ where nuInConturiX = 0 into cursor crsConturiX ] + ; + [GROUP BY 1,2,3,4,5,6,7,8,9,10,11,12,13,14] + &lcSelect + Else + *!* v 2.0.24 valoarea baza achizitie = diferenta intre valoarea cu tva si valoarea tva + Do Case + Case 'pnbazanir' $ Lower(lcEticheta) + lcSuma = [Sum(&pcBazaNirFormula)] + Case 'pnbazabon' $ Lower(lcEticheta) + lcSuma = [Sum(&pcBazaBonFormula)] + Otherwise + If Type('&lcEticheta') <> 'N' + lcEticheta = &lcEticheta + Endif + + lcSuma = [SUM(ROUND(&lcEticheta,gnPc))] + Endcase + *!* v 2.0.24 + *!* lcSuma = [SUM(ROUND(]+ALLTRIM(STR(lcEticheta,20,6))+[,gnPc))] + lcSelect = [SELECT CONT,ACONT,id_gestiune,id_sectie,sectie,id_lucrare,nrord,] + ; + IIF(Type(lcSelRul+'.id_jtva_coloana')#'U',[id_jtva_coloana],[NULL]) + [ as id_jtva_coloana,] + ; + IIF(Type(lcSelRul+'.taxcode')#'U',[taxcode],[NULL]) + [ as taxcode,] + ; + IIF(Type(lcSelRul+'.proc_tva')#'U',[proc_tva],[0000]) + [ as proc_tva,] +; + IIF(Type(lcSelRul+'.id_gestin')#'U',[id_gestin],[000000000]) + [ as id_gestin,] + ; + IIF(Type(lcSelRul+'.id_gestout')#'U',[id_gestout],[000000000]) + [ as id_gestout,] + ; + IIF(Type(lcSelRul+'.gestin')#'U',[gestin],[SPACE(50)]) + [ as gestin,] + ; + IIF(Type(lcSelRul+'.gestout')#'U',[gestout],[SPACE(50)]) + [ as gestout,] + ; + lcSuma + [ AS suma ] + ; + [FROM ] + lcSelRul + [ where nuInConturiX = 0 into cursor crsConturiX ] + ; + [GROUP BY 1,2,3,4,5,6,7,8,9,10,11,12,13,14] + &lcSelect + Endif + + Select crsConturiX + + Scan For suma*0 = 0 && sa evit cazurile in care suma este ****** + Scatter Name loCX + + Select ACTACTAN + Locate For Upper(Alltrim(SCD)) = lcSCD And Upper(Alltrim(scc)) = lcSCC + If Found() + + Scatter Name loActactan + With loActactan + If Upper(Alltrim(.SCD)) = 'X' + .SCD = loCX.Cont + .ascd = Nvl(loCX.acont,'') + .suma = loCX.suma + If !Empty(lcIDJtva) && AND !INLIST(oset.model,5,6) + .id_jtva_coloana = loCX.id_jtva_coloana + .proc_tva = loCX.proc_tva + Else + .id_jtva_coloana = Null + .proc_tva = 0 + Endif + .taxcode = IIF(!Empty(m.lcTaxCode), loCX.taxcode, NULL) + .id_gestin = loCX.id_gestin + .gestin = loCX.gestin + .id_gestout = loCX.id_gestout + .gestout = loCX.gestout + .id_sectie = loCX.id_sectie + .sectie = loCX.sectie + .id_lucrare = loCX.id_lucrare + .nrord = loCX.nrord + Endif + If Upper(Alltrim(.scc)) = 'X' + .scc = loCX.Cont + .ascc = Nvl(loCX.acont,'') + .suma = loCX.suma + *!* modificare 04.10.2007 + *!* If Left(.scd,1) = '6' And Alltrim(.scd) # '607' And Inlist(oset.model, 3, 4) && BON, RETUR + *!* If .scc = '381' + *!* .scd = '608' + *!* Else + *!* .scd = Strtran(.scc, '3', '6', 1, 1) + *!* Endif + *!* Endif + If Inlist(oSet.model,3,4) + Select crsconfigcvc + Locate For Cont = Upper(Alltrim(.scc)) + If Found() And (Empty(.SCD) Or Inlist(Left(.SCD,1), '6','7')) + .SCD = Alltrim(cont_chelt) + Else + If Left(.SCD,1) = '6' And Alltrim(.SCD) # '607' + IF LEFT(.scc,1) = '8' && clasa 8 nu are corespondent (obiecte inventar in folosinta) + .scd = '' + Else + If .scc = '381' + .SCD = '608' + ELSE + .SCD = Strtran(.scc, '3', '6', 1, 1) + ENDIF + ENDIF + Endif + Endif + Select ACTACTAN + Endif + *!* modificare 04.10.2007 ^ + If !Empty(lcIDJtva) && AND !INLIST(oset.model,5,6) + .id_jtva_coloana = loCX.id_jtva_coloana + .proc_tva = loCX.proc_tva + Else + .id_jtva_coloana = Null + .proc_tva = 0 + ENDIF + .taxcode = IIF(!Empty(m.lcTaxCode), loCX.taxcode, NULL) + .id_gestin = loCX.id_gestin + .gestin = loCX.gestin + .id_gestout = loCX.id_gestout + .gestout = loCX.gestout + .id_sectie = loCX.id_sectie + .sectie = loCX.sectie + .id_lucrare = loCX.id_lucrare + .nrord = loCX.nrord + Endif + Endwith + Append Blank + Gather Name loActactan + Endif && IF FOUND() + + Select crsConturiX + Endscan + Select crsIcsi + Endscan + + Delete From ACTACTAN Where Inlist(Upper(Alltrim(SCD)),'X') Or Inlist(Upper(Alltrim(scc)),'X') + Endif + *!* 15.03.2007 ^ + *!* inlocuiesc Y - la notele care nu sunt transfer sau retur transfer (intrare dintr-o gestiune tinuta valoric - trebuie contul) + If !Inlist(oSet.model, 5, 6, 7) And llY + Select rul_temp + Go Top + lnIdGestiuneTr = id_gestiune + If !Empty(lnIdGestiuneTr) + + loCont = This.aleg_cont_transfer(lnIdGestiuneTr) + lcContTr = loCont.Cont + lcAcontTr = loCont.acont + Select ACTACTAN + + Replace All SCD With lcContTr, ascd With lcAcontTr For Upper(Alltrim(SCD)) = 'Y' + Replace All scc With lcContTr, ascc With lcAcontTr For Upper(Alltrim(scc)) = 'Y' + + Endif + + *!* 20.03.2007 + *!* cont de transfer - cont din nomenclator + *!* in rul aj trebuie sa am pe intrari contul din debit (contul de transfer) + If oSet.model = 2 Or Upper(Alltrim(oSet.formgest)) = 'NIR' + Select rul_temp + Replace All Cont With lcContTr + Endif + Endif + + *!* 15.03.2007 ^ + Select crsNota + Scan For !(Inlist(Upper(Alltrim(xscd)),'X') Or Inlist(Upper(Alltrim(xscc)),'X')) + Scatter Name loNota + + lcVariabila = Lower(Alltrim(loNota.&lcField)) + lcIDJtva = Upper(Alltrim(x34)) + If Inlist(oSet.model, 5, 6, 7) Or llY && TRANSFER, RETUR TRANSFER + If loNota.xscd = 'Y' + loNota.xscd = lcContTr + loNota.xAscd = lcAcontTr + Endif + If loNota.xscc = 'Y' + loNota.xscc = lcContTr + loNota.xAscc = lcAcontTr + Endif + Endif + + Do Case + Case 'pntvanir' $ lcVariabila + lcSuma = [SUM(&pcTvaNirFormula)] + lcSelect = [SELECT b.id_tva as id_jtva_coloana,a.proc_tva,CAST(] + IIF(Type(lcSelRul+'.taxcode')#'U',[a.taxcode],[NULL]) + [ as I) as taxcode,a.id_sectie,a.id_gestiune,a.sectie,a.id_lucrare,a.nrord,] + ; + IIF(Type(lcSelRul+'.id_gestin')#'U',[a.id_gestin],[0000000000]) + [ as id_gestin,] + ; + IIF(Type(lcSelRul+'.id_gestout')#'U',[a.id_gestout],[000000000]) + [ as id_gestout,] + ; + IIF(Type(lcSelRul+'.gestin')#'U',[a.gestin],[SPACE(50)]) + [ as gestin,] + ; + IIF(Type(lcSelRul+'.gestout')#'U',[a.gestout],[SPACE(50)]) + [ as gestout,] + ; + lcSuma + [ as suma ] + ; + [FROM ] + lcSelRul + [ a LEFT JOIN jtva_coloane b ON a.id_jtva_coloana = b.id_jtva_coloana ] + ; + [INTO CURSOR crsTva ] + ; + [GROUP BY 1,2,3,4,5,6,7,8,9,10,11,12] + *!* v 2.0.24 ^ + &lcSelect + + Select crsTva + I = 0 + Scan For suma*0 = 0 && sa evit cazurile in care suma este ****** + I = I + 1 + If I = 1 + Select ACTACTAN + Locate For SCD = loNota.xscd And scc = loNota.xscc And suma = 0 + If Found() + Scatter Name loAct + Delete + Else + Scatter Name loAct Blank + Endif + Endif + Select crsTva + Scatter Name loTva + Select ACTACTAN + Append Blank + Gather Name loAct + Gather Name loTva + If Empty(lcIDJtva) + Replace id_jtva_coloana With Null,proc_tva With 0 + Endif + Endscan + Case 'pnbazavanz'$lcVariabila Or 'pntvavanz'$lcVariabila + lcVariabilatemp = lcVariabila + + lcVariabila = &lcVariabila + lcSuma = [sum(ROUND(&lcVariabila,gnPc))] + + DO CASE + CASE 'pnbazavanz'$lcVariabilatemp + lcSuma = [Sum(&pcBazaVanzFormula)] + lcSelect = [SELECT a.id_jtva_coloana,a.proc_tvav,a.taxcode,a.id_sectie,a.id_gestiune,a.sectie,a.id_lucrare,a.nrord,] + ; + IIF(Type(lcSelRul+'.id_gestin')#'U',[a.id_gestin],[0000000000]) + [ as id_gestin,] + ; + IIF(Type(lcSelRul+'.id_gestout')#'U',[a.id_gestout],[000000000]) + [ as id_gestout,] + ; + IIF(Type(lcSelRul+'.gestin')#'U',[a.gestin],[SPACE(50)]) + [ as gestin,] + ; + IIF(Type(lcSelRul+'.gestout')#'U',[a.gestout],[SPACE(50)]) + [ as gestout,] + ; + lcSuma + [ as suma ] + ; + [FROM ] + lcSelRul + [ a ] + ; + [INTO CURSOR crsTva ] + ; + [GROUP BY 1,2,3,4,5,6,7,8,9,10,11,12] + CASE 'pntvavanz'$lcVariabilatemp + lcSelect = [SELECT b.id_tva as id_jtva_coloana,a.proc_tvav,CAST(] + IIF(Type(lcSelRul+'.taxcode')#'U',[a.taxcode],[NULL]) + [ as I) as taxcode,a.id_sectie,a.id_gestiune,a.sectie,a.id_lucrare,a.nrord,] + ; + IIF(Type(lcSelRul+'.id_gestin')#'U',[a.id_gestin],[0000000000]) + [ as id_gestin,] + ; + IIF(Type(lcSelRul+'.id_gestout')#'U',[a.id_gestout],[000000000]) + [ as id_gestout,] + ; + IIF(Type(lcSelRul+'.gestin')#'U',[a.gestin],[SPACE(50)]) + [ as gestin,] + ; + IIF(Type(lcSelRul+'.gestout')#'U',[a.gestout],[SPACE(50)]) + [ as gestout,] + ; + lcSuma + [ as suma ] + ; + [FROM ] + lcSelRul + [ a LEFT JOIN jtva_coloane B ON A.ID_JTVA_COLOANA = B.ID_JTVA_COLOANA ] + ; + [INTO CURSOR crsTva ] + ; + [GROUP BY 1,2,3,4,5,6,7,8,9,10,11,12] + ENDCASE + &lcSelect + + Select crsTva + I = 0 + Scan For suma*0 = 0 && sa evit cazurile in care suma este ****** + I = I + 1 + If I = 1 + Select ACTACTAN + Locate For SCD = loNota.xscd And scc = loNota.xscc And suma = 0 + If Found() + Scatter Name loAct + Delete + Else + Scatter Name loAct Blank + Endif + Endif + Select crsTva + Scatter Name loTva + Select ACTACTAN + Append Blank + Gather Name loAct + Gather Name loTva + Replace proc_tva With loTva.proc_tvav + If Empty(lcIDJtva) + Replace id_jtva_coloana With Null + Endif + Endscan + *!* modificare facturare in valuta 21.09.2007 + Case 'pnbazaval'$lcVariabila Or 'pntvaval'$lcVariabila + lcVariabilatemp = lcVariabila + lcVariabila = &lcVariabila + lcSumaVal = [sum(&lcVariabila)] + If 'pnbazaval'$lcVariabilatemp + *!* lcSuma = [SUM(]+pnBazaValVanz+[)] + lcSuma = [ROUND(SUM(]+pnBazaVal+[)*a.curs,gnPc)] + lcSelect = [SELECT a.id_jtva_coloana,a.proc_tvav,a.taxcode,a.id_sectie,a.id_gestiune,a.sectie,a.id_lucrare,a.nrord,] + ; + IIF(Type(lcSelRul+'.id_gestin')#'U',[a.id_gestin],[0000000000]) + [ as id_gestin,] + ; + IIF(Type(lcSelRul+'.id_gestout')#'U',[a.id_gestout],[000000000]) + [ as id_gestout,] + ; + IIF(Type(lcSelRul+'.gestin')#'U',[a.gestin],[SPACE(50)]) + [ as gestin,] + ; + IIF(Type(lcSelRul+'.gestout')#'U',[a.gestout],[SPACE(50)]) + [ as gestout,] + ; + [NVL(a.id_valuta_vanz,0) as id_valuta,] + ; + IIF(Type(lcSelRul+'.curs') #'U',[a.curs],[0]) + [ as curs,] + ; + lcSumaVal + [ as suma_val,] + lcSuma + [ as suma ] + ; + [FROM ] + lcSelRul + [ a ] + ; + [INTO CURSOR crsTva ] + ; + [GROUP BY 1,2,3,4,5,6,7,8,9,10,11,12,13,14] + Else + *!* lcSuma = [SUM(]+pnTvaValVanz+[)] + lcSuma = [ROUND(SUM(]+pnTvaVal+[)*a.curs,gnPc)] + lcSelect = [SELECT b.id_tva as id_jtva_coloana,a.proc_tvav,CAST(] + IIF(Type(lcSelRul+'.taxcode')#'U',[a.taxcode],[NULL]) + [ as I) as taxcode,a.id_sectie,a.id_gestiune,a.sectie,a.id_lucrare,a.nrord,] + ; + IIF(Type(lcSelRul+'.id_gestin')#'U',[a.id_gestin],[0000000000]) + [ as id_gestin,] + ; + IIF(Type(lcSelRul+'.id_gestout')#'U',[a.id_gestout],[000000000]) + [ as id_gestout,] + ; + IIF(Type(lcSelRul+'.gestin')#'U',[a.gestin],[SPACE(50)]) + [ as gestin,] + ; + IIF(Type(lcSelRul+'.gestout')#'U',[a.gestout],[SPACE(50)]) + [ as gestout,] + ; + [NVL(a.id_valuta_vanz,0) as id_valuta,] + ; + IIF(Type(lcSelRul+'.curs') #'U',[a.curs],[0]) + [ as curs,] + ; + lcSumaVal + [ as suma_val,] + lcSuma + [ as suma ] + ; + [FROM ] + lcSelRul + [ a LEFT JOIN jtva_coloane B ON A.ID_JTVA_COLOANA = B.ID_JTVA_COLOANA ] + ; + [INTO CURSOR crsTva ] + ; + [GROUP BY 1,2,3,4,5,6,7,8,9,10,11,12,13,14] + Endif + &lcSelect + + Select crsTva + I = 0 + Scan For suma_val*0 = 0 && sa evit cazurile in care suma este ****** + I = I + 1 + If I = 1 + Select ACTACTAN + Locate For SCD = loNota.xscd And scc = loNota.xscc And suma = 0 + If Found() + Scatter Name loAct + Delete + Else + Scatter Name loAct Blank + Endif + Endif + Select crsTva + Scatter Name loTva + AddProperty(loTva,[nume_val],poAct.nume_val_vanz) + Select ACTACTAN + Append Blank + Gather Name loAct + Gather Name loTva + Replace proc_tva With loTva.proc_tvav + If Empty(lcIDJtva) + Replace id_jtva_coloana With Null + Endif + Endscan + *!* modificare facturare in valuta 21.09.2007 ^ + Case 'pnbazabon'$lcVariabila + *!* v 2.0.24 + *!* lcSuma = [SUM(ROUND(&lcEticheta,gnPc))] + lcSuma = [Sum(&pcBazaBonFormula)] + *!* v 2.0.24 ^ + lcSelect = [SELECT a.id_jtva_coloana,a.proc_tvav,CAST(null as I) as taxcode,a.id_sectie,a.id_gestiune,a.sectie,a.id_lucrare,a.nrord,] + ; + IIF(Type(lcSelRul+'.id_gestin')#'U',[a.id_gestin],[0000000000]) + [ as id_gestin,] + ; + IIF(Type(lcSelRul+'.id_gestout')#'U',[a.id_gestout],[000000000]) + [ as id_gestout,] + ; + IIF(Type(lcSelRul+'.gestin')#'U',[a.gestin],[SPACE(50)]) + [ as gestin,] + ; + IIF(Type(lcSelRul+'.gestout')#'U',[a.gestout],[SPACE(50)]) + [ as gestout,] + ; + lcSuma + [ as suma ] + ; + [FROM ] + lcSelRul + [ a ] + ; + [INTO CURSOR crsTva ] + ; + [GROUP BY 1,2,3,4,5,6,7,8,9,10,11,12] + &lcSelect + + Select crsTva + I = 0 + Scan For suma*0 = 0 && sa evit cazurile in care suma este ****** + I = I + 1 + If I = 1 + Select ACTACTAN + Locate For SCD = loNota.xscd And scc = loNota.xscc And suma = 0 + If Found() + Scatter Name loAct + Delete + Else + Scatter Name loAct Blank + Endif + Endif + Select crsTva + Scatter Name loTva + Select ACTACTAN + Append Blank + Gather Name loAct + Gather Name loTva + Replace proc_tva With loTva.proc_tvav + If Empty(lcIDJtva) + Replace id_jtva_coloana With Null + Endif + Endscan + Otherwise + + Select ACTACTAN + Locate For SCD = loNota.xscd And scc = loNota.xscc And suma = 0 + If Found() + If !Empty(lcVariabila) + Replace suma With &lcVariabila + Endif + Endif + If 'discount' $ lcVariabila + Replace proc_tva With pnProcDiscount,id_jtva_coloana With &lcIDJtva, taxcode WITH GetTaxCode(m.gnAn, m.gnLuna, dataact, &lcIDJtva, (Thisform.nTvaincasare=1)) + Endif + Endcase + Endscan + + If Used('crsIcsi') + Use In crsIcsi + Endif + If Used('crsConturiX') + Use In crsConturiX + Endif + If Used('crsNota') + Use In crsNota + Endif + + *!* IF USED('rul_temp') + *!* USE IN rul_temp + *!* ENDIF + + *!* && completez RUL_TEMP + *!* lcRul = ALLTRIM(THIS.osel_dr.cfrom) + *!* lcSql = [select * from ] + gcS + [.] + lcRul + [ where 1=2] + *!* lcCursor = [rul_temp] + *!* lnSucces = goExecutor.oExecute(lcSql,lcCursor) + *!* IF lnSucces < 0 + *!* RETURN .F. + *!* ENDIF + + *!* lcCant = LOWER(ALLTRIM(this.osel_dr.cantitate)) + *!* lcCantTransf = [cant] + iif(lcCant = [cante],[],[e]) + + *!* IF INLIST(oset.model, 5, 6) && TRANSFER, RETUR TRANSFER + + *!* SELECT * FROM (lcSelRul) INTO CURSOR crsTransf NOFILTER READWRITE + *!* REPLACE ALL &lcCantTransf WITH &lcCant FOR !EMPTY(&lcCant) + *!* REPLACE ALL &lcCant WITH 0 + *!* APPEND FROM DBF(lcSelRul) + *!* IF oset.id_set <> 89 && TRANSFER INTRE PERSOANE + *!* REPLACE ALL cont WITH lcContTr, acont WITH lcAcontTr FOR &lcCantTransf # 0 + *!* ELSE + *!* SELECT (this.ct_grid_search1.cnumecursor) + *!* SCATTER NAME loStg + *!* SELECT crsTransf + *!* REPLACE ALL id_gestin WITH id_gestout + *!* REPLACE ALL id_responsabil WITH loStg.id_responsabil, nresp WITH loStg.nresp FOR cante <> 0 + *!* ENDIF + *!* REPLACE ALL id_gestiune WITH id_gestin,nume_gestiune WITH gestin FOR &lcCantTransf <> 0 + *!* REPLACE ALL id_gestiune WITH id_gestout, nume_gestiune WITH gestout FOR &lcCant <> 0 + *!* + *!* SELECT rul_temp + *!* APPEND FROM DBF('crsTransf') + *!* IF USED('crsTransf') + *!* USE IN crsTransf + *!* ENDIF + *!* + *!* lcSel = [SELECT id_gestiune from ] + gcs + [.vnom_gestiuni WHERE nr_pag = 6] + *!* lcCursor = 'crsIdVanzare' + *!* lnSucces = goExecutor.oExecute(lcSel,lcCursor) + *!* IF lnSucces < 0 + *!* MESSAGEBOX(goExecutor.cEroare,0+16,"Eroare") + *!* ENDIF + *!* + *!* IF lnSucces > 0 + *!* UPDATE rul_temp SET pretv = 0, tvav = 0, proc_tvav = 0 WHERE id_gestiune NOT in (select id_gestiune from crsIdVanzare) + *!* USE IN crsIdVanzare + *!* ENDIF + + *!* ELSE + *!* SELECT rul_temp + *!* APPEND FROM DBF(lcSelRul) + *!* ENDIF + + *!* IF INLIST(oset.model, 5, 6) AND USED('crsTransfer') && TRANSFER, RETUR TRANSFER + *!* SELECT rul_temp + *!* APPEND FROM DBF('crsTransfer') + *!* ENDIF + + *!* SELECT rul_temp + *!* APPEND FROM DBF(lcSelRul) + + *!* modificare 20.04.2007 & 04.05.2007 & 09.05.2007 + Do Case + Case Inlist(oSet.id_set,61,62,63,226,258,260) && modificare ROAGEST v 2.0.188 : am sters 261 + Select ACTACTAN + If oSet.cursval + Calculate Sum(suma) To pnBazaValProd For Alltrim(scc)= '345' + Calculate Sum(suma) To pnBazaVal341 For Alltrim(scc)= '341' + Calculate Sum(suma) To pnBazaVal346 For Alltrim(scc)= '346' + Calculate Sum(suma) To pnBazaValAmb For Alltrim(scc) = '381' + pnBazaVProd = pnBazaValProd + pnBazaVAmb = pnBazaValAmb + pnBazaV341 = pnBazaVal341 + pnBazaV346 = pnBazaVal346 + Else + Calculate Sum(suma) To pnBazaVProd For Alltrim(scc)= '345' + Calculate Sum(suma) To pnBazaVAmb For Alltrim(scc) = '381' + Calculate Sum(suma) To pnBazaV341 For Alltrim(scc)= '341' + Calculate Sum(suma) To pnBazaV346 For Alltrim(scc)= '346' + Endif + + Replace suma With suma - pnBazaVProd - pnBazaVAmb - pnBazaV341 - pnBazaV346 For Alltrim(SCD) = '4111' And Alltrim(scc) = '707' + *!* 19.01.2015: 701-> 7015 + *!* Replace suma With pnBazaVProd + pnBazaV341 + pnBazaV346 For Alltrim(SCD) = '4111' And Alltrim(scc) = '701' + + Replace suma With pnBazaVProd + pnBazaV341 + pnBazaV346 For Alltrim(SCD) = '4111' And Alltrim(scc) = '7015' + *!* 19.01.2015: 701-> 7015 ^ + + Replace SCD With '711',suma With pnBazaVProd For Alltrim(SCD) = '607' And Alltrim(scc) = '345' + Replace SCD With '711',suma With pnBazaV341 For Alltrim(SCD) = '607' And Alltrim(scc) = '341' + Replace SCD With '711',suma With pnBazaV346 For Alltrim(SCD) = '607' And Alltrim(scc) = '346' + Replace scc With '348' For Inlist(Alltrim(SCD),'341','345','346') And Alltrim(scc) = '378' + Replace SCD With '348',scc With '711' For Alltrim(SCD) = '378' And Inlist(Alltrim(scc),'341','345','346') + + Replace suma With pnBazaVAmb For Alltrim(SCD) = '4111' And Alltrim(scc) = '708' + Replace SCD With '608' For Alltrim(SCD) = '607' And Alltrim(scc) = '381' + Replace scc With '388' For Alltrim(SCD) = '381' And Alltrim(scc) = '378' + Replace SCD With '388' For Alltrim(SCD) = '378' And Alltrim(scc) = '381' + + Delete For suma = 0 + Case Inlist(oSet.id_set,79,83,206,225) + Select ACTACTAN + Replace scc With '711' For Alltrim(SCD) = '348' + *!* modificare 22.05.2007 + Case oSet.id_set = 218 && diferenta de pret + Select (lcSelRul) + Replace All pretv With 0,tvav With 0,proc_tvav With 0,procent With 0 + Select ACTACTAN + Replace id_gestin With 0,gestin With '' For nr_nota = 2 + *!* Replace id_gestin With id_gestout, gestin With gestout,id_gestout With 0,gestout With '',scc WITH '711' For nr_nota = 4 + *!* Replace scc WITH '711' For nr_nota = 4 + Replace SCD With '348' For nr_nota = 2 And SCD <> '381' + Replace SCD With '388' For nr_nota = 2 And SCD = '381' + Replace scc With '388' For nr_nota = 1 And SCD = '381' + *!* modificare 22.05.2007 ^ + Case Inlist(oSet.id_set,53,213,57,58) + Select ACTACTAN + Replace SCD With '607' For scc = '371' + Replace SCD With '711' For scc = '345' && modificare 03.10.2007 + Case Inlist(oSet.id_set, 230, 232, 233, 235,243,244,261,262,270) && protocol, sponsorizare + + Select ACTACTAN + Replace suma With suma * (-1) For nr_nota = 1 + *!* modificare v 2.2.29 + IF INLIST(oSet.id_set, 232, 235, 244, 262) + Replace proc_tva WITH 0 FOR nr_nota = 1 + Endif + *!* modificare v 2.2.29 ^ + Endcase + *!* modificare ^ + + && ordonez notele contabile in ACTACTANSELECT actactan + Select ACTACTAN + + Sum suma To lnSume + + If lnSume <> 0 + lcCondDele = [!(suma = 0 and !(((left(scd,1) = '3' and left(scc,2) = '40') OR (left(scd,2) = '41' and left(scc,1) = '7')) AND proc_tva # 1))] + Else + *!* modificare ROAGEST v 2.0.55 + *!* lcCondDele = [suma = 0 AND nr_nota = 1 ] + lcCondDele = [(suma = 0 and nr_nota = 1) or suma <> 0] + *!* modificare ROAGEST v 2.0.55 ^ + Endif + *!* 19.02.2010 + *!* 230,232,233,235 = protocol, sponsorizare + *!* 264,265 = finalizare aprovizionare - are o nota nimic = 401 cu suma 0 care trebuie sa ramana pentru numele furnizorului + Select * From ACTACTAN Into Cursor crsActActan Where &lcCondDele Or Inlist(id_set, 89, 210, 211, 212, 230, 232, 233, 235,261,264,265) Order By nr_nota NOFILTER Readwrite + *!* 19.02.2010 ^ + + Select ACTACTAN + Delete From ACTACTAN + Append From Dbf('crsactactan') + If Used('crsactactan') + Use In crsActActan + Endif + + *** && completare analitice + *!* 2.0.85 + *!* sterg analiticele puse datorita lui X = 378 si X = 4428 (X este de la gestiunea destinatie, nu sursa) + If Inlist(oSet.id_set, 255, 256) && retur de la gestiune valorica - mf pa * + Replace All ascd With "" For Inlist(Alltrim(scc), '378', '4428') + Endif + *!* 2.0.85 ^ + + Select ACTACTAN + Scan For Empty(Nvl(ascd,'')) + Scatter Name loActactan + If Type('loActactan.cont') = 'U' + x = AddProperty(loActactan,'cont',loActactan.SCD) + Endif + If oSet.model = 2 And Type('loActactan.id_gestiune') = 'U' And !Inlist(oSet.id_set,215,216,237,257) && NIR, fara intrare din gestiune valorica + x = AddProperty(loActactan,'id_gestiune',loActactan.id_gestin) + Endif + If (Inlist(oSet.model, 3, 4) Or Inlist(oSet.id_set,215,216,237,257)) And Type('loActactan.id_gestiune') = 'U' && BON, RETUR, intrare din gestiune valorica + x = AddProperty(loActactan,'id_gestiune',loActactan.id_gestout) + Endif + loActactan.ascd = This.assign_analitic(loActactan.SCD,This.cobj,'loActactan') + Replace ascd With loActactan.ascd + Select ACTACTAN + Endscan + Select ACTACTAN + Scan For Empty(Nvl(ascc,'')) + Scatter Name loActactan + If Type('loActactan.cont') = 'U' + x = AddProperty(loActactan,'cont',loActactan.scc) + Endif + If oSet.model = 2 And Type('loActactan.id_gestiune') = 'U' And !Inlist(oSet.id_set,215,216,237,257) && NIR, fara intrare din gestiune valorica + x = AddProperty(loActactan,'id_gestiune',loActactan.id_gestin) + Endif + If (Inlist(oSet.model, 3, 4) Or Inlist(oSet.id_set,215,216,237,257)) And Type('loActactan.id_gestiune') = 'U' && BON, RETUR, intrare din gestiune valorica + x = AddProperty(loActactan,'id_gestiune',loActactan.id_gestout) + Endif + loActactan.ascc = This.assign_analitic(loActactan.scc,This.cobj,'loActactan') + Replace ascc With loActactan.ascc + Select ACTACTAN + Endscan + + ********************************************** + * OBIECTE DE INVENTAR IN FOLOSINTA + Use In (SELECT('RUL_TEMP_OBINV')) + ********************************************** + DO CASE + CASE oSet.id_set = 55 + * DARE IN FOLOSINTA 8039 cu inregistrarea cheltuielii 603 = 303 + * Mut inregistrarea cant<>0 in rul_temp_obinv + * id_set = 55 dare in folosinta cu schimbarea contului in 8039 + * schimb contul in 8039 + Update rul_temp Set Cont = gcContObinv, acont = '', serie = serie_obinv Where cant <> 0 + + CASE oSet.id_set = 273 + * DARE IN FOLOSINTA 303 fara inregistrarea cheltuielii 303 = 303 + * Nu schimb contul + Select * From rul_temp Where cant <> 0 And !Deleted() Into Cursor RUL_TEMP_OBINV NOFILTER Readwrite + UPDATE rul_temp_obinv SET serie = serie_obinv + Delete all FOR cant<>0 IN rul_temp + + CASE INLIST(oset.id_set, 70,71,89,104,210,211,212,274) + * casare 70, retur din folosinta 71, 89 transfer intre persoane, 104 imputare, 210-212 transfer persoane-magazie, 274 = inregistrare cheltuiala ob inv in fol. + * operatii cu ob. inv. in folosinta nu mai tin seama de contul 8039, intrucat pot fi ob inv in folos si cu contul 303 (id_Set = 274) + Select * From rul_temp Where !Deleted() Into Cursor RUL_TEMP_OBINV NOFILTER Readwrite + + IF oset.id_set = 71 + * 71 retur din folosinta, trebuie sa existe iesirea si in rul_temp, ca sa reintre in stoc + Delete all FOR Left(Cont,2) = '80' IN rul_temp + Delete all FOR Left(Cont,2) <> '80' IN rul_temp_obinv + ELSE + Delete all IN rul_temp + ENDIF + ENDCASE + IF !USED('RUL_TEMP_OBINV') + Select * From rul_temp Where Left(Cont,2) = '80' And !Deleted() Into Cursor RUL_TEMP_OBINV NOFILTER Readwrite + Delete all FOR Left(Cont,2) = '80' IN rul_temp + ELSE + Select * From rul_temp Where Left(Cont,2) = '80' And !Deleted() Into Cursor RUL_TEMP_OBINV2 NOFILTER Readwrite + Delete all FOR Left(Cont,2) = '80' IN rul_temp + SELECT rul_temp_obinv + APPEND FROM DBF('rul_temp_obinv2') + USE IN (SELECT('rul_temp_obinv2')) + ENDIF + ********************************************** + If gnCMP = 1 And oSet.model = 2 && NIR + Thisform.analiza_cmp('rul_temp', 'actactan') + *!* modificare 24.11.2006 + Else + If Inlist(oSet.id_set, 215,216,236,237,238,239,240,241,242,255,256,257,259,260) && intrare din gestiune valorica, retur din gestiune valorica + Replace All id_tip_rulaj With oSet.id_tip_rul + Else + Select rul_temp + Replace id_tip_rulaj With oSet.id_tip_rul For id_tip_rulaj = 0 + *!* modificare 24.11.2006 ^ + ENDIF + + IF INLIST(oSet.id_set, 55,89,210,211,212,273,274) && obiecte inventar in folosinta + SELECT rul_temp_obinv + Replace All id_tip_rulaj With oSet.id_tip_rul + ENDIF + Endif + + If Type('loActactan') = 'O' + Release loActactan + Endif + + Do Case + *!* modificare ROAFACTURARE v 2.0.96 + CASE oSet.id_set = 267 && EDITURA EDUARD AVIZ RETUR MARFA DIN CUSTODIE VALORIC + Select rul_temp + Replace All id_tip_rulaj With oSet.id_tip_rul + * Atentie! pot fi mai multe randuri tva vanzare si marfa custodie (357) datorita impartirii pe gestiuni, sectii + * TVA discount este calculat pe total, nu pe gestiuni, sectii. Trebuie sa il pun doar pe prima linie + * nr_nota = 1 357 = 371 pot fi de asemenea mai multe randuri datorita impartirii pe gestiuni, sectii + * nu trebuie sa pun suma totala pe toate randurile nr_nota = 1, ci doar pe o singura nota + SELECT actactan + *!* replace suma WITH suma+pnTvaDiscV FOR INLIST(nr_nota,4,6) && adun tva discount la tva vanzare (-) + LOCATE FOR nr_nota = 4 + IF FOUND() + replace suma WITH suma+pnTvaDiscV && adun tva discount la tva vanzare (-) doar pe primul rand 4 + ENDIF + LOCATE FOR nr_nota = 6 + IF FOUND() + replace suma WITH suma+pnTvaDiscV && adun tva discount la tva vanzare (-) doar pe primul rand 6 + ENDIF + CALCULATE SUM(suma) FOR INLIST(nr_nota,2,3,4) TO lnSumaCont357 && valoarea marfa custodie (357) = marfa la pret de achizitie (2) + adaos (3) + tva (4) + CALCULATE SUM(suma) FOR nr_nota = 1 TO lnSumaCont357b && valoare bon pret achizitie + LOCATE FOR nr_nota = 1 && completez pe primul rand nr_nota = 1 cu diferenta dintre valoare 357 si valoarea bon de pe toate randurile nr_nota = 1 + IF FOUND() + replace suma WITH suma + (lnSumaCont357 - m.lnSumaCont357b) + ENDIF + *!* modificare ROAFACTURARE v 2.0.96 ^ + Case oSet.id_set=69 + *!* modificare 07.03.2006 && 24.02.2007 + Select ACTACTAN + Calculate Max(proc_tva) To lnMaxProcTva + Calculate Min(id_jtva_coloana) For proc_tva = lnMaxProcTva To lnIdJtvaColoana + Scan For Left(SCD,3)='411' Or Left(scc,3)='411' + If proc_tva=0 + Replace proc_tva With lnMaxProcTva,id_jtva_coloana With lnIdJtvaColoana + Endif + Endscan + *!* sfarsit modificare 07.03.2006 + Case oSet.id_set = 213 + *!* modificare 12.02.2007 (bon de consum pe lucrari in curs de executie la Materii prime si materiale) + Select rul_temp + Replace All pretv With Round(Pret,gnPPretV) && modificare 14.09.2007 + *!* modificare 12.02.2007 ^ + *!* modificare v 2.0.6 + Case Inlist(oSet.id_set,215,216,257) + Select (lcSelRul) + Replace All id_gestiunec With poAct.id_gestout,id_gestout With poAct.id_gestout,gestout With poAct.gestout + Select ACTACTAN + Replace All id_gestout With poAct.id_gestout,gestout With poAct.gestout + *!* modificare v 2.0.6 ^ + Case Inlist(oSet.id_set, 240, 242,256) && Retur din transfer de la gestiune valorica (cantitativ) la pret de vanzare - aviz expeditie + && e facut ca un nir cu cante < 0 in depozit, adaug inca o inregistrare cu cant < 0 de la magazin + Select * From rul_temp Into Cursor cReturTemp Readwrite + Select cReturTemp + Scan + Scatter Name poRec + Replace cant With poRec.cante, cante With 0, id_gestiune With poRec.id_gestiunec, id_gestiunec With poRec.id_gestiune + poRec.id_gestiune = cReturTemp.id_gestiune + poRec.id_gestiunec = cReturTemp.id_gestiunec + poRec.acont = Thisform.assign_analitic(poRec.Cont,Thisform.cobj,'poRec') + Replace acont With poRec.acont + Endscan + Select rul_temp + Append From Dbf('cReturTemp') + Use In (Select('cReturTemp')) + *!* modificare ROAGEST v 2.0.56 + Case oSet.id_set = 229 + Select rul_temp + Replace id_part_rez With poAct.vid_part_rez,id_lucrare_rez With poAct.id_lucrare For cant <> 0 + * Nu mai sterg id_part_rez din iesire, pentru ca daca fac un transfer pe un alt client/inapoi in depozit, + * de pe un articol deja rezervat, se sterge id_part_rez de pe linia originala si nu se mai imperecheaza in stoc + * Replace id_part_rez With Null,id_lucrare_rez With Null For cante <> 0 + *!* modificare ROAGEST v 2.0.56 ^ + *!* 19.02.2010 + + *!* 3xx = 401 => 3xx = 32x + Case Alltrim(Upper(oSet.explicatia)) = 'FINALIZARE APROVIZIONARE' + Select ACTACTAN + Scan For Left(SCD,1) = '3' And Alltrim(scc) = '401' + lcContD = Alltrim(SCD) + Select crsconfigcvc + Locate For Alltrim(Cont) = m.lcContD And !Empty(Nvl(cont_aprovizionare, '')) + If Found() + lcContC = Alltrim(cont_aprovizionare) + Replace scc With m.lcContC In ACTACTAN + Endif + Endscan && actactan + *!* 19.02.2010 ^ + Endcase + + Select rul_temp + Locate For Empty(id_gestiune) + If Found() + amessagebox('Nu ati ales gestiunea!',48,"Atentie") + Return .F. + Endif + + Select RUL_TEMP_OBINV + Locate For Empty(id_gestiune) + If Found() + amessagebox('Nu ati ales gestiunea!',48,"Atentie") + Return .F. + Endif + + If oSet.productie + + If Alltrim(Upper(oSet.formproduc))='FRM_ALEGE_PROD_CANT' + Select a.*, Recno() As ninreg ; + FROM ACTACTAN a ; + WHERE Substr(scc,1,1)='3' And !INLIST(Alltrim(scc), '301', '341', '345') ; + INTO Cursor cModificari + + Select cModificari + Scan + Scatter Name loLinie + lcSCC = Alltrim(scc) + lnInreg = ninreg + Select ACTACTAN + Replace scc With lcSCC, SCD With '301' For Recno() = lnInreg + Append Blank + loLinie.SCD = '601' + loLinie.scc = '301' + Gather Name loLinie + Select cModificari + Endscan + + If Used('cModificari') + Use In cModificari + Endif + Endif + Endif + + *!* v 2.0.23 diferente baza, tva la NIR + *!* daca sunt diferente intre valoarea calculata si valoarea de pe factura inregistrez diferentele + If oSet.model = 2 && NIR + loRec = Null + lnDiferentaValftva = Thisform.nfTotftva - This.ct_factura1.totftva + lnDiferentaValTva = Thisform.nfTottva - This.ct_factura1.tva + If lnDiferentaValftva <> 0 And Thisform.nfTotftva <> 0 + Select ACTACTAN + Locate For Left(scc,2) = '40' + If Found() + Scatter Name loRec + loRec.suma = lnDiferentaValftva + loRec.explicatia5 = 'Diferente calcul Valoare fara TVA' + *!* modificare ROAGEST v 2.0.101 : "ALTE CHELTUIELI DE EXPLOATARE" + * Las cont debit = contul original, nu cu 6588 daca nu eset configurare + IF .F. + Select crsconfigcvc + Locate For Cont = Upper(Alltrim(loRec.scd)) && 301, 302... + If Found() AND !Empty(NVL(cont_diferente, '')) + loRec.scd = Alltrim(cont_diferente) + ELSE + loRec.SCD='6588' + ENDIF + loRec.ascd='' + ENDIF + *!* modificare ROAGEST v 2.0.101 ^ + Insert Into ACTACTAN From Name loRec + Release loRec + Else + amessagebox('Nu s-a gasit nici o inregistrare x = 40x pentru distribuirea diferentei la valoarea fara tva',0+48,'Diferente') + Endif + Endif + If lnDiferentaValTva <> 0 And Thisform.nfTottva <> 0 + Select ACTACTAN + Locate For Inlist(SCD, '4426', '4428') + If Found() + Scatter Name loRec + loRec.suma = lnDiferentaValTva + loRec.explicatia5 = 'Diferente calcul TVA' + Insert Into ACTACTAN From Name loRec + Release loRec + Else + amessagebox('Nu s-a gasit nici o inregistrare x = 4426/4428 pentru distribuirea diferentei la valoarea tva',0+48,'Diferente') + Endif + Endif + Endif + *!* v 2.0.23 ^ + + Do completare_parteneri_gestiune In ointroduceri.prg + Do completare_gruputil_analitice In oproceduri_comune.prg + Do completare_tva_analitice In oproceduri_comune.prg + + * Achizitii din CE, modific 4426 = 401 in 4426 = 4427 + Select ACTACTAN + Replace All scc With '4427', ascc WITH '', id_partc WITH 0, partc WITH '' For scd = '4426' AND LEFT(scc,1) = '4' AND IsJCJtvaCE(id_jtva_coloana) IN ACTACTAN + + Select ACTACTAN + *!* modificare ROAGEST v 2.2.0 + If Thisform.ntvaincasare = 1 + Replace All scc With '4428',ascc WITH '' For Inlist(id_jtva_coloana,22,24,26,30,32,38,42) And scc = '4427' + Replace All scd With '4428',ascd WITH '' For Inlist(id_jtva_coloana,171,173,175,179,189,211,215) And scd = '4426' + If Upper(Alltrim(Nvl(oSet.tipJurnal, ''))) = 'JC' && FURNIZORI / PASIV + lcSCTrez = 'scc' + lcSCTVA = 'scd' + Else + lcSCTrez = 'scd' + lcSCTVA = 'scc' + ENDIF + + *!* 15.04.2013 - dupa ce puneam la loc 4428, ramanea cu analiticele de pe 4426 sau 4427 + Do completare_gruputil_analitice In oproceduri_comune.prg + Do completare_tva_analitice In oproceduri_comune.prg + *!* ^15.04.2013 + + *** caut linia cu PLATA 401 = 5XX / INCASAREA 5XX = 411 + Select actactan + Locate For Inlist(Alltrim(&lcSCTrez),'5121','5124','5311','5314', '542') && scc = '5xx' / scd = '5xx' + If Found() + *lnNrChitanta = evaluate(Thisform.cobj + [.nrchitanta]) + lnNrChitanta = IIF(Type(Thisform.cobj +[.nrchitanta])<>'U',Evaluate(Thisform.cobj +[.nrchitanta]),Evaluate(Thisform.cobj +[.nract])) + + lnIdFdoc = IIF(Type(Thisform.cobj+[.id_fdoc2])<>'U',Evaluate(Thisform.cobj+[.id_fdoc2]),Evaluate(Thisform.cobj+[.id_fdoc])) + lcFdoc = IIF(Type(Thisform.cobj+[.fdocpl])<>'U',Evaluate(Thisform.cobj+[.fdocpl]),Evaluate(Thisform.cobj+[.fdoc])) + + Insert Into actactan(nr_nota,luna,an,nract,scd,ascc,scc,; + suma,suma_val,pereched,perechec,explicatia4,explicatia5,Curs,id_util,; + id_responsabil,nresp,id_venchelt,dst_chlt,id_lucrare,nrord,; + id_ctr,contract,id_sectie,sectie,proc_tva,id_set,id_fact,; + id_factd,id_factc,id_partd,partd,id_partc,partc,; + id_sucursala,sucursala,id_fdoc,fdoc,id_gestin,id_jtva_coloana,taxcode,; + gestin,id_gestout,gestout,id_valuta,nume_val,dataact,dataireg); + Select a.nr_nota, a.luna, a.an, lnNrChitanta As nract,'4426' As scd,a.ascd As ascc,'4428' As scc,; + a.suma, a.suma_val,a.nract As pereched,a.perechec,a.explicatia4,a.explicatia5,a.Curs,a.id_util,; + a.id_responsabil,a.nresp,a.id_venchelt,a.dst_chlt,a.id_lucrare,a.nrord,; + a.id_ctr,a.contract,a.id_sectie,a.sectie,a.proc_tva,a.id_set,-5 As id_fact,; + 0 As id_factd,0 As id_factc,0 As id_partd,'' As partd, 0 As id_partc, '' As partc,; + a.id_sucursala,a.sucursala,; + lnIdFdoc as id_fdoc, lcFdoc as fdoc,; + 0 As id_gestin,; + c.id_tva As id_jtva_coloana,; + CAST(GetTaxCode(m.gnAn, m.gnLuna, a.dataact, c.id_tva) as N(6) NULL) as taxcode,; + '' As gestin,0 As id_gestout,'' As gestout,a.id_valuta,a.nume_val,a.dataact,a.dataireg ; + FROM actactan a ; + Left Join jtva_coloane b On a.id_jtva_coloana = b.id_tva ; + left Join jtva_coloane c On b.id_jtva_ex = c.id_jtva_coloana ; + Where a.scd = '4428' And Like('4*',a.scc) And !Isnull(b.id_jtva_ex) + + Insert Into actactan(nr_nota,luna,an,nract,scc,ascd,scd,; + suma,suma_val,pereched,perechec,explicatia4,explicatia5,Curs,id_util,; + id_responsabil,nresp,id_venchelt,dst_chlt,id_lucrare,nrord,; + id_ctr,contract,id_sectie,sectie,proc_tva,id_set,id_fact,; + id_factd,id_factc,id_partd,partd,id_partc,partc,; + id_sucursala,sucursala,id_fdoc,fdoc,id_gestin,id_jtva_coloana,taxcode,; + gestin,id_gestout,gestout,id_valuta,nume_val,dataact,dataireg); + Select a.nr_nota, a.luna, a.an, lnNrChitanta As nract,'4427' As scc,a.ascc As ascd,'4428' As scd,; + a.suma, a.suma_val, a.pereched,a.nract As perechec,a.explicatia4,a.explicatia5,a.Curs,a.id_util,; + a.id_responsabil,a.nresp,a.id_venchelt,a.dst_chlt,a.id_lucrare,a.nrord,; + a.id_ctr,a.contract,a.id_sectie,a.sectie,a.proc_tva,a.id_set,-5 As id_fact,; + 0 As id_factd,0 As id_factc,0 As id_partd,'' As partd, 0 As id_partc, '' As partc,; + a.id_sucursala,a.sucursala,; + lnIdFdoc as id_fdoc, lcFdoc as fdoc,; + 0 As id_gestin,; + c.id_tva As id_jtva_coloana,; + CAST(GetTaxCode(m.gnAn, m.gnLuna, a.dataact, c.id_tva) as N(6) NULL) as taxcode,; + '' As gestin,0 As id_gestout,'' As gestout,a.id_valuta,a.nume_val,a.dataact,a.dataireg ; + FROM actactan a ; + Left Join jtva_coloane b On a.id_jtva_coloana = b.id_tva ; + left Join jtva_coloane c On b.id_jtva_ex = c.id_jtva_coloana ; + Where a.scc = '4428' And Like('4*',a.scd) And !Isnull(b.id_jtva_ex) + Endif + Endif + *!* modificare ROAGEST v 2.2.0 ^ + DO completare_taxname IN oproceduri_comune.prg + DO completare_paymentname IN oproceduri_comune.prg + DO completare_explicatie_tva IN oproceduri_comune.prg + + Go TOP IN actactan + + ***** articolele negestionabile nu intra in stoc 2009.02.17 + Delete From (lcSelRul) Where in_stoc = 0 + ***** 2009.02.17 ^ + + Return .T. + + ENDPROC + + PROCEDURE intrare_produs + Select rul_temp + Append Blank + Replace id_articol With m.pnId_articol, ; + denumire With m.pcDenumire, ; + cant With m.pnCant, ; + lot WITH m.pcLot, ; + serie WITH m.pcSerie, ; + pret With ROUND(Thisform.ntotal/pnCant,gnPPret), ; + id_gestiune With pnId_gestiune, nume_gestiune With pcGestiune, ; + id_gestin With pnId_gestiune, gestout With pcGestiune, ; + cont With pcCont_articol, ; + nnir With poact.nnir, ; + dataact With poact.dataact, ; + datain With poact.dataact, ; + id_set With poact.id_set, ; + in_stoc WITH pnInStoc,; + in_crm WITH pnInCrm ; + um WITH pcUm ; + nract WITH poAct.nract + *!* modificare ROAPRODUCTIE v 2.0.2 : am adaugat ce este sub id_set + *!* proc_tva ? + + + ENDPROC + + PROCEDURE KeyPress + LPARAMETERS nKeyCode, nShiftAltCtrl + + LOCAL lcCtrGrid, lcCtrCriteriu, lcControl + lcCtrGrid = [] + lcCtrCriteriu = [] + + lcControl = UPPER(THIS.ACTIVECONTROL.NAME) + IF lcControl = '_GRID1' + lcCtrGrid = UPPER(THIS.ACTIVECONTROL.COMMENT) + ENDIF + + IF lcControl = 'CRITERIU' + lcCtrCriteriu = UPPER(THIS.ACTIVECONTROL.COMMENT) + ENDIF + + DO CASE + CASE nKeyCode = 13 AND 'GRD_ST' $ lcCtrGrid + NODEFAULT + THISFORM.urmator1.comMAND1.SETFOCUS + + CASE nKeyCode = 13 AND 'GRD_DR' $ lcCtrGrid + NODEFAULT + THISFORM.ct_grid_search1.Cb_tx_cautare1.TEXT.SETFOCUS + + CASE (nKeyCode >=33 AND nKeyCode <=122) AND ('CRITERIU_ST' $ lcCtrCriteriu OR 'GRD_ST' $ lcCtrGrid) + NODEFAULT + THIS.ct_grid_search1.Cb_tx_cautare1.TEXT.VALUE = ALLTRIM(THIS.ct_grid_search1.Cb_tx_cautare1.TEXT.VALUE) + CHR(nKeyCode) + THIS.ct_grid_search1.Cb_tx_cautare1.TEXT.SETFOCUS + KEYBOARD '{END}' + + CASE (nKeyCode = 127) AND ('CRITERIU_ST' $ lcCtrCriteriu OR 'GRD_ST' $ lcCtrGrid) && backspace + NODEFAULT + THIS.ct_grid_search1.Cb_tx_cautare1.TEXT.VALUE = LEFT(ALLTRIM(THIS.ct_grid_search1.Cb_tx_cautare1.TEXT.VALUE),LEN(ALLTRIM(THIS.ct_grid_search1.Cb_tx_cautare1.TEXT.VALUE))-1) + THIS.ct_grid_search1.Cb_tx_cautare1.TEXT.SETFOCUS + KEYBOARD '{END}' + + CASE (nKeyCode >=33 AND nKeyCode <=122) AND ('CRITERIU_DR' $ lcCtrCriteriu OR 'GRD_DR' $ lcCtrGrid) + NODEFAULT + THIS.ct_grid_order1.Cb_tx_cautare1.TEXT.VALUE = ALLTRIM(THIS.ct_grid_order1.Cb_tx_cautare1.TEXT.VALUE) + CHR(nKeyCode) + THIS.ct_grid_order1.Cb_tx_cautare1.TEXT.SETFOCUS + KEYBOARD '{END}' + + CASE (nKeyCode = 127) AND ('CRITERIU_DR' $ lcCtrCriteriu OR 'GRD_DR' $ lcCtrGrid) && backspace + NODEFAULT + THIS.ct_grid_order1.Cb_tx_cautare1.TEXT.VALUE = LEFT(ALLTRIM(THIS.ct_grid_order1.Cb_tx_cautare1.TEXT.VALUE),LEN(ALLTRIM(THIS.ct_grid_order1.Cb_tx_cautare1.TEXT.VALUE))-1) + THIS.ct_grid_order1.Cb_tx_cautare1.TEXT.SETFOCUS + KEYBOARD '{END}' + CASE INLIST(nKeyCode, 13, 9, 4, 24) AND '_CBBASE1'$lcControl + NODEFAULT + thisform.ct_grid_search1.cb_tx_cautare1.text.SetFocus + + OTHERWISE + DODEFAULT(nKeyCode, nShiftAltCtrl) + ENDCASE + + ENDPROC + + PROCEDURE modificare_lista_preturi + Lparameters tnIdPol, tnIdArticol, tnPretftvaLista, tnPretvtvaLista, tnPretLista, tnProcTvav, tnPretListaVechi + + && tnPretListaVechi - apare doar la operatiile de retur + && la NIR se modifica automat pretul de lista + If Type('tnPretListaVechi') = 'N' and Nvl(tnIdPol,0) <> 0 + If aMessagebox(Alltrim(OSTG.denumire)+" are pretul " + ; + Alltrim(Str(tnPretListaVechi,16, gnPPretV)) + [ in politicile de preturi.] + Alltrim(Str(tnIdPol)) + Chr(13) + Chr(10) + ; + [Doriti sa il schimbati cu ]+Alltrim(Str(tnPretLista,16, gnPPretV))+[?],4+32) <> 6 + Return + Endif + Endif + + + *!* MODIFICARE PRETURI IN LISTA DE PRETURI PENTRU NIR-UL CU MODIFICAREA LISTEI DE PRETURI (ID_SET = 231 NIR MF PV LISTA DE PRETURI) + + Local lcSql, lcSelect + lcSelect = Select() + + *!* verific daca exista articolul in politica de preturi + lcSql = [Select id_pol_art, id_venchelt, proc_tvav from crm_politici_pret_art where id_pol = ] + Alltrim(Str(tnIdPol)) + [ and id_articol = ] + Alltrim(Str(tnIdArticol)) + lnSucces = goExecutor.oExecute(m.lcSql, "cPoliticiPretArt") + If lnSucces < 0 + aMessageBox(goExecutor.cEroare,0+16, 'Eroare') + + Select (lcSelect) + Return + Endif + Select cPoliticiPretArt + Scatter Name loPoliticaPretArt + Use In (Select('cPoliticiPretArt')) + + + && TRANZACTIE MANUALA (MODIFICARE CRM_POLITICI_PRET_ART, CRM_POLITICI_PRETURI) + lnSucces = SQLSetprop(gnHandle,"Transactions",2) + If lnSucces < 0 + aMessageBox("Programul nu a trecut pe tranzactie manuala",4+48,'Lista preturi') + + Select (lcSelect) + Return + Endif + + *!* ADAUGARE ARTICOL NOU IN LISTA DE PRETURI SAU MODIFICARE ARTICOL EXISTENT + If Nvl(loPoliticaPretArt.id_pol_art,0) = 0 + lcSql = [begin pack_preturi.adauga_politica_pret_art(] + ; + ALLTRIM(Str(tnIdPol)) + [,] + ; && id_pol + Alltrim(Str(tnIdArticol)) + [,] + ; && id_articol + Alltrim(Str(tnPretLista,20,4)) + [,] + ; && pret + Alltrim(Str(tnPretftvaLista,20,4)) + [,] + ; && pretftva + Alltrim(Str(tnPretvtvaLista ,20,4)) + [,] + ; && pretctva + [NULL, ] + ; && id_valuta + Alltrim(Str(tnProcTvav,20,4)) + [,] + ; && proc_tvav + [NULL, ] + ; && procent + [NULL, ] + ; && id_venchelt + Alltrim(Str(gnIdUtil)) + ; && id_util + [); end;] + Else + lcSql = [begin pack_preturi.modifica_pret_pol_pret_art(] + ; + ALLTRIM(Str(loPoliticaPretArt.id_pol_art)) + [,] + ; && id_pol_art + Alltrim(Str(tnPretLista,20,4)) + [,] + ; && pret + Alltrim(Str(tnPretftvaLista,20,4)) + [,] + ; && pretftva + Alltrim(Str(tnPretvtvaLista ,20,4)) + [,] + ; && pretctva + Iif(Isnull(loPoliticaPretArt.id_venchelt), 'NULL',Alltrim(Str(loPoliticaPretArt.id_venchelt))) + [,] + ; && id_venchelt + Iif(Isnull(loPoliticaPretArt.proc_tvav), 'NULL', Alltrim(Str(loPoliticaPretArt.proc_tvav,20,4))) + ; && proc_tvav + [); end;] + Endif && Nvl(lnIdPolArt,0) = 0 + + + lnSucces = goExecutor.oExecute(lcSql) + If lnSucces < 0 + aMessageBox(goExecutor.cEroare,0+16, 'Eroare') + Else + *!* MODIFICARE DATAORA, UTIL in CRM_POLITICI_PRETURI + lcSql = [begin pack_preturi.modifica_politica_dataora(] + ; + ALLTRIM(Str(tnIdPol)) + [,] + ; && id_pol + Alltrim(Str(gnIdUtil)) + ; && id_util + [); end;] + lnSucces = goExecutor.oExecute(lcSql) + If lnSucces < 0 + aMessageBox(goExecutor.cEroare,0+16, 'Eroare') + Endif + Endif + + *!* COMMIT / ROLLBACK + If lnSucces > 0 + lnSucces = goExecutor.oExecute("COMMIT") + If lnSucces < 0 + aMessageBox(goExecutor.cEroare,0+16, 'Eroare') + Endif + Else + lnSucces = goExecutor.oExecute("ROLLBACK") + If lnSucces < 0 + aMessageBox(goExecutor.cEroare,0+16, 'Eroare') + Endif + Endif + + SQLSetprop(gnHandle,"Transactions",1) + + Select (lcSelect) + + + ENDPROC + + PROCEDURE Release + lcSelRul = this.ct_grid_order1.cnumecursor + lcSelSt = this.ct_grid_search1.cnumecursor + IF USED(lcSelRul) + USE IN (lcSelRul) + ENDIF + IF USED(lcSelSt) + USE IN (lcSelSt) + ENDIF + IF USED('crsTransfer') + USE IN crsTransfer + ENDIF + ENDPROC + + PROCEDURE Show + *!* 18.08.2017 + *!* marius.mutu + *!* Completare tabel dreapta pentru MODIFICARE NIR/BON + + Lparameters nStyle + + Local lcObj, lcSelRul, lcSql + private pnCod + lcObj = Thisform.cobj + lcSelRul = This.ct_grid_order1.cnumecursor + This.lbTotal.Caption = 'TOTAL ' + This.CTip_frm + This.ct_grid_order1.initializare(.T.) + *!* modificare v 2.1.19 : la bon/factura nu-l las sa ordoneze dupa alte coloane + If oset.model = 3 + This.ct_grid_search1.ccoloanepermise = [codmat,denumire,serie,pret] + Endif + *!* modificare v 2.1.19 ^ + This.ct_grid_search1.initializare(.T.) + + * MODIFICARE NIR/BON + If Pemstatus(This, 'lCorectie', 5) And Pemstatus(This, 'nCod', 5) And Type('this.nCod') = 'N' And This.lCorectie And This.nCod > 0 + pnCod = This.nCod + lcSql = [select * from vrul where cod = ?pnCod] + lnSucces = goExecutor.oExecute(m.lcSql, 'cRulTemp') + IF lnSucces > 0 + Select (m.lcSelRul) + Append From Dbf('cRulTemp') + ELSE + AMESSAGEBOX(goExecutor.cEroare,0+48,_screen.Caption) + ENDIF + USE IN (SELECT('cRulTemp')) + ENDIF + + This.calcul_sume(lcSelRul) + This.ct_grid_search1.cb_tx_cautare1.SetFocus + *!* modificare v 2.1.34 + If Type(Thisform.ct_grid_search1.cnumecursor + ".in_stoc") <> "U" + If oset.model >= 3 + Thisform.ct_grid_search1._GRID1.SetAll("DynamicForeColor", "IIF(in_stoc=0,RGB(255,0,0),RGB(0,0,0))", "Column") + Else + Thisform.ct_grid_search1._GRID1.SetAll("DynamicForeColor", "IIF(in_stoc=0,RGB(0,128,128),RGB(0,0,0))", "Column") + Endif + Endif + *!* modificare v 2.1.34 ^ + *!* v 2.0.22 diferente de calcul NIR + *!* doar pe nir afisez texboxurile pentru diferente + If oset.model = 2 && NIR + This.ct_factura1.txfTotal.Visible = .T. + This.ct_factura1.txfBaza.Visible = .T. + This.ct_factura1.txfTva.Visible = .T. + Endif + *!* v 2.0.22 ^ + If Inlist(poact.id_set, 105, 106) + Thisform.ct_grid_search1.cboListe.Visible = .T. + Thisform.ct_grid_search1.lb_listePreturi.Visible = .T. + Endif + + If oxset.cursval + With Thisform.ct_factura2 + .lb_valuta.Caption = [(] + &lcObj..nume_val_vanz + [)] + With .lb_curs + .Caption = [Curs ] + Dtoc(&lcObj..v8) + [ : ] + Alltrim(Str(&lcObj..Curs, 14, 4)) + .AutoSize = .T. + Endwith + Endwith + Endif + + If oset.productie And Inlist(oset.id_set, 26003, 26004) && modificare 17.10.2007 + Thisform.container_valoare_decontata1.Visible = .T. + Endif + + && transfer catre gest la pret vz, Intrare din transfer de la gest. valorica la pret de vanz., + && protocol, sponsorizare + If Inlist(oset.id_set, 75, 216, 230, 232, 233, 235, 257, 261, 267) + Thisform.lb_totalctva.Visible = .T. + Thisform.tx_totalctva.Visible = .T. + Endif + + *!* modificare v 2.2.0 + Thisform.nTvaincasare = &lcObj..tva_incasare + *!* modificare v 2.2.0 ^ + *!* modificare v 2.2.29 + Thisform.omemopref = Createobject("Custom") + AddProperty(Thisform.omemopref, "id_jtva_ach", 0) + AddProperty(Thisform.omemopref, "proc_tva", 0.01) + AddProperty(Thisform.omemopref, "id_jtva_vanz", 0) + AddProperty(Thisform.omemopref, "proc_tvav", 0.01) + *!* modificare v 2.2.29 ^ + DoDefault(nStyle) + + ENDPROC + + PROCEDURE Ct_discount1.Init + *!* 19.10.2017 + *!* marius.mutu + *!* s-a tratat cazul in care firma este cu TVA Incasare si trebuie id_jtax neexigibil in loc de exigibil + *!* modificare 2.2.4 : am inlocuit jtva_coloane cu crsjtax + Local lnIdJtva, lnProc_tva, lnproc, loTVA + + lnIdJtva = oSet.id_jtax && achizitii int. 19% + loTVA = GeJtvaColoana(m.lnIdJtva, poAct.tva_incasare, NVL(oSet.tipjurnal, 'JC')) + lnIdJtva = loTVA.id_jtva_coloana + + Select crsjtax + Locate For id_jtva_coloana = m.lnIdJtva + If !Found() + Go Top + Endif + This.lb_explicatie_tva.Caption = Alltrim(Upper(denumire)) + lnProc_tva = (cota_tva + 100) / 100 + lnproc = cota_tva + This.pntva = lnProc_tva + This.nid_jtva_coloana = id_jtva_coloana + This.nid_tva = id_tva + This.cotaTva.ListIndex = Recno() + + + + + ENDPROC + + PROCEDURE Ct_discount1.Refresh + DODEFAULT() + lcSelRul = thisform.ct_grid_order1.cnumecursor + this.Parent.calcul_sume(lcSelRul) + ENDPROC + + PROCEDURE Ct_factura1.txfBaza.Valid + thisform.nftotctva = thisform.nftotftva + thisform.nftottva + thisform.ct_factura1.txftotal.Refresh + ENDPROC + + PROCEDURE Ct_factura1.txfTva.Valid + thisform.nftotctva = thisform.nftotftva + thisform.nftottva + thisform.ct_factura1.txftotal.Refresh + ENDPROC + + PROCEDURE Ct_grid_order1.Cb_tx_gestin._CBBASE1.LostFocus + SELECT nom_gestiuni + pcobj.id_gestin = id_GESTiune + pcobj.gestin = nume_gestiune + pcObj.cgest = cgest + pcobj.id_GESTiune = id_GESTiune + pcobj.nume_gestiune = nume_gestiune + ENDPROC + + PROCEDURE Ct_grid_search1.actualizeaza_grid + *!* 12.06.2017 + *!* marius.mutu + *!* am pus conditii suplimentare la dynamicbackcolor sa nu mai dea invalid expression, sper + + *!* modificare ROAGEST v 2.1.19 + Lparameters pcFiltru + DoDefault(pcFiltru) + If oSet.model = 3 + poLog.Log('recordsource/tooltiptext inainte de This._GRID1.salveaza_grid() ' + ALLTRIM(TRANSFORM(this._griD1.RecordSource)) + '/' + ALLTRIM(TRANSFORM(This._grid1.ToolTipText)), PROGRAM()) + This._GRID1.salveaza_grid() + poLog.Log('recordsource/tooltiptext dupa This._GRID1.salveaza_grid() ' + ALLTRIM(TRANSFORM(this._griD1.RecordSource)) + '/' + ALLTRIM(TRANSFORM(This._grid1.ToolTipText)), PROGRAM()) + lcCursor1 = Thisform.ct_grid_search1.cnumecursor + lcCursor2 = Thisform.ct_grid_order1.cnumecursor + lcCursor3 = [crsTempCurent] + copiaza_structura_cursor(lcCursor1,lcCursor3) + Insert Into (lcCursor3) Select * From (lcCursor1) + If Used(lcCursor1) + Use In (lcCursor1) + Endif + If !Inlist(gnTipGest , 6,7) + Select a.*,a.cantitate-Nvl(b.cantitate,0) As stoc_actual From (lcCursor3) a ; + Left Join (Select Sum(cante) As cantitate, id_articol, Nvl(serie,'') As serie,Pret,id_gestout ; + From (lcCursor2) ; + WITH (Buffering = .T.) Group By id_gestout,id_articol,serie,Pret) b On a.id_articol = b.id_articol ; + And a.Pret = b.Pret ; + AND a.id_gestiune = b.id_gestout ; + And Nvl(a.serie,'') = Nvl(b.serie,'') ; + Into Cursor (lcCursor1) Readwrite + Else + Select a.*,a.cantitate-Nvl(b.cantitate,0) As stoc_actual From (lcCursor3) a ; + Left Join (Select Sum(cante) As cantitate, id_articol, Nvl(serie,'') As serie,Pret,pretv,id_gestout ; + From (lcCursor2) ; + WITH (Buffering = .T.) Group By id_gestout,id_articol,serie,Pret,pretv) b On a.id_articol = b.id_articol ; + And a.Pret = b.Pret ; + AND a.id_gestiune = b.id_gestout ; + And Nvl(a.serie,'') = Nvl(b.serie,'') ; + and a.pretv = b.pretv ; + Into Cursor (lcCursor1) Readwrite + Endif + If Used(lcCursor3) + Use In (lcCursor3) + ENDIF + poLog.Log('recordsource/tooltiptext inainte de This._GRID1.incarca_grid() ' + ALLTRIM(TRANSFORM(this._griD1.RecordSource)) + '/' + ALLTRIM(TRANSFORM(This._grid1.ToolTipText)), PROGRAM()) + This._GRID1.incarca_grid() + poLog.Log('recordsource/tooltiptext dupa This._GRID1.incarca_grid() ' + ALLTRIM(TRANSFORM(this._griD1.RecordSource)) + '/' + ALLTRIM(TRANSFORM(This._grid1.ToolTipText)), PROGRAM()) + *!* modificare ROAGEST v 2.1.19 + *!* If oSet.model = 3 + This._GRID1.SetAll("DynamicBackColor","IIF(USED('" + m.lcCursor1 + "') and TYPE('" + + m.lcCursor1 + ".stoc_actual') = 'N' and " + m.lcCursor1 + ".stoc_actual=0,RGB(128,128,128),RGB(255,255,255))","Column") + + *!* Endif + *!* modificare ROAGEST v 2.1.19 ^ + Endif + *!* modificare ROAGEST v 2.1.19 ^ + ENDPROC + + PROCEDURE Ct_grid_search1.cboListe.Init + IF INLIST(poact.id_set,105,106) + SELECT cListePret + LOCATE FOR id_pol = poact.id_pol + this.Value = cListePret.nume_lista_preturi + this.Refresh + ENDIF + + ENDPROC + + PROCEDURE Ct_grid_search1.cboListe.Valid + pnId_lista = cListePret.id_pol + + SELECT cListePret + pcobj.id_pol = cListePret.id_pol + thisform.ct_GRID_SEARCH1.initializare(.T.) + thisform.ct_grid_search1.cb_tx_cautare1.text.SetFocus + + ENDPROC + + PROCEDURE Ct_grid_search1.Cb_tx_gestout._CBBASE1.Valid + Select nom_gestiuni + pcobj.id_gestout = id_GESTiune + pcobj.gestout = nume_gestiune + pcobj.cgest = cgest + pcobj.id_GESTiune = id_GESTiune + pcobj.nume_gestiune = nume_gestiune + Thisform.ct_GRID_SEARCH1.initializare(.T.,.T.) + *!* modificare ROAGEST v 2.1.33 + *!* This.Parent.Parent.cb_tx_cautare1.Text.SetFocus() + Return This.Parent.Parent.cb_tx_cautare1.Text + *!* modificare ROAGEST v 2.1.33 ^ + ENDPROC + + PROCEDURE Lb_titlu_alb_b121.Init + If Type('oxset.nume_set') # 'U' + This.Caption = Proper(Alltrim(oxset.nume_set)) + Endif + This.Caption = This.Caption + [ ( Nr. document : ] + Alltrim(Nvl(poAct.serie_act,[])) + [ ] + ; + TRANSFORM(poAct.nract,get_mask(14,0)) + [ ) ] + ENDPROC + + PROCEDURE Urmator1.Command1.Click + *!* *!* *!* *!* *!* *!* *!* *!* *!* *!* *!* *!* *!* *!* *!* *!* *!* *!* *!* *!* *!* *!* *!* *!* + *!* Model =-1 : Nota fara contabilizare + *!* Model = 1 : Nota simpla cu contabilizare + *!* Model = 2 : NIR + *!* Model = 3 : BON/FACTURA VANZARE + *!* Model = 4 : Retur BON/FACTURA VANZARE + *!* Model = 5 : Transfer + *!* Model = 6 : Retur Transfer + *!* Model = 7 : Diferenta de pret + + *!* Param1 = 1 : En-detail + *!* Param1 = 2 : En-gros + *!* *!* *!* *!* *!* *!* *!* *!* *!* *!* *!* *!* *!* *!* *!* *!* *!* *!* *!* *!* *!* *!* *!* *!* + *!* 11.05.2009 -ultimul pret de achizitie,vanzare este din ultimii 2 ani + *!* marius.felecanu + *!* 26.05.2009 - pentru transfer - sectia si lucrarea se inregistreaza in contabilitate + *!* marius.felecanu + *!* 27.05.2009 - se poate adauga acelasi articol de mai multe ori + *!* marius.felecanu + + *!* 30.03.2010 + *!* marius.mutu + *!* se citeste si rul.proc_tva de la ultima achizitie pentru NIR-urile din lista de preturi - completare automata preturi + + *!* 13.09.2010 + *!* marius.mutu + *!* ultimele preturi de achizitie, vanzare se citesc din RUL_ULTIMA_INTRARE daca este configurata optiunea RG_PRET_ULTIMA_INTRARE + + *!* 20.01.2015 + *!* marius.mutu + *!* se citesc ultimele preturi de achizitie pentru ID_SET = NIR + optiunea gnRG_NIR_ULTIMUL_PRET = 1 + + *!* 21.12.2015 + *!* marius.mutu + *!* nu mai suprascriu pretul de vanzare din lista de preturi. de ce ar trebui sa il suprascriu? + + *!* 22.09.2023 + *!* marius.mutu + *!* transfer ob inv in folosinta + alte transferuri (oSet.model = 5) corectare gestiune intrare daca se schimba gestiunea sursa + + Private poPreturi + poPreturi = Createobject("empty") + AddProperty(poPreturi,"pretv", 0) + AddProperty(poPreturi,"tvav", 0) + AddProperty(poPreturi,"pretvtva", 0) + + Local lnNIRPRETLISTAMOD + If Type('gnNIRPRETLISTAMOD') <> 'U' + lnNIRPRETLISTAMOD = gnNIRPRETLISTAMOD + Else + lnNIRPRETLISTAMOD = 0 + Endif + Local lnPretfTva, lnPretvTva, lnListaPreturiCuTva, lcAcont + Local loPoliticaPretArt + lnPretfTva = 0 + lnPretvTva = 0 + lnListaPreturiCuTva = 1 && daca lista de preturi are preturile cu tva id_set = 231 nir mf la pv cu modificarea listei de preturi + loPoliticaPretArt = Null + + lcSelRul = Thisform.ct_grid_order1.cnumecursor + + *!* modificare 22.08.2007 + *!* La toate conditiile unde era id_articol, am adaugat si NVL(serie,'') , in afara de politicile de preturi si reteta. + lcIde = [T] + lcIde = lcIde + ',' + Iif(oset.factura And oset.model = 2, 'F', '') && 2/F = FACTURA DE ACHIZITIE SI NIR + lcIde = lcIde + ',' + Iif(oset.adaos And (oset.param1 = 1 Or oset.model = 2), 'A,X','') + lcIde = lcIde + ',' + Iif(oset.discount, 'D','') + lcIde = lcIde + ',' + Iif(Inlist(oset.model,2), 'N', Iif(Inlist(oset.model, 3, 4, 5, 6, 7), 'B', '')) && 2/N = NIR, B = BON/TRANSFER + lcIde = Iif(oset.model = 7, lcIde + ',X' , lcIde) && 7 = DIFERENTA DE PRET PRODUSE + + lnProcDisc = Iif(oset.discount And Thisform.ct_discount1.Combogrid3.Value=3,Thisform.ct_discount1.proc_discount ,0) + *!* modificare ROAFACTURARE v 2.0.96 + If oset.id_set = 267 + lnProcDisc = 0 + Endif + *!* modificare ROAFACTURARE v 2.0.96 ^ + *!* modificare 22.06 + *!* lnProcAdaos = IIF(oset.adaos,thisform.ct_adaos1.proc_adaos,0) + lnProcAdaos = Iif(oset.adaos,Iif(Thisform.ct_adaos1.proc_adaos<-9999999,0,Thisform.ct_adaos1.proc_adaos),0) + *!* ^ + + Select cursor_curent1 + Scatter Name oStg + + If Empty(oStg.Cont) + amessagebox('Nu s-a selectat niciun reper! Repetati selectia!',48,"Atentie") + Release oStg + Thisform.ct_grid_search1._GRID1.SetFocus + Return + Endif + + *!* modificare v 2.1.34 + If oset.model >= 3 And Type(Thisform.ct_grid_search1.cnumecursor+".in_stoc")<>"U" + IF oStg.in_stoc = 0 + amessagebox("Acest articol este prezent in stoc, dar nu este definit ca fiind gestionabil!"+CHR(13)+CHR(10)+; + "Intrati pe acest articol in 'Gestiuni > Configurare > Catalog de materiale si marfuri' si bifati casuta 'Articol gestionabil'!",48,"Atentie") + RETURN + ENDIF + Endif + *!* modificare v 2.1.34 ^ + + *!* modificare ROAGEST v 2.1.19 : + *!* verific daca articolul ales respecta metoda FIFO / LIFO + *!* modificare ROAGEST v 2.1.25 : am adaugat conditia legata de oset.id_set ( ob. de inv. ) + If oset.model = 3 AND INLIST(gnFifoLifo,1,2) AND !INLIST(oset.id_set,70,72,104) + *!* Select Min(a.nrordine) As nrordinemin From (Thisform.ct_grid_search1.cnumecursor) a ; + *!* Left Join (Select Sum(cante) As cantitate From (Thisform.ct_grid_order1.cnumecursor) ; + *!* WITH (Buffering = .T.) Where id_articol = oStg.id_articol ; + *!* AND id_gestout = oStg.id_gestiune And Nvl(serie,'') = Nvl(oStg.serie,'') And datain = oStg.datain ; + *!* GROUP By id_articol,serie) b On 1 = 1 ; + *!* Where a.cantitate - Nvl(b.cantitate,0) <> 0 Into Cursor crsComparatie + Select Min(nrordine) As nrordinemin From (Thisform.ct_grid_search1.cnumecursor) ; + Where id_articol = oStg.id_articol ; + AND id_gestiune = oStg.id_gestiune And Nvl(serie,'') = Nvl(oStg.serie,'') ; + AND stoc_actual > 0 Into Cursor crsComparatie + Select crsComparatie + lnNrOrdineMin = nrordinemin + If lnNrOrdineMin <> oStg.nrordine + amessagebox("Articolul ales nu respecta metoda "+Iif(gnFifoLifo=1,"FIFO","LIFO")+" !",48,"Atentie") + Select (Thisform.ct_grid_search1.cnumecursor) + lnRecno = Recno() + Locate For id_articol = oStg.id_articol ; + AND id_gestiune = oStg.id_gestiune And Nvl(serie,'') = Nvl(oStg.serie,'') And nrordine = lnNrOrdineMin + If !Found() + Go lnRecno + Endif + Thisform.ct_grid_search1.SetFocus() + Return + Endif + Endif + *!* modificare ROAGEST v 2.1.19 ^ + + *!* If oSet.model > 2 And !Empty(NVL(oStg.id_rul_aux,0)) + *!* amessagebox("Operatiile asupra acestui reper se pot efectua doar din programul ROAVIN!",48,"Atentie") + *!* Release oStg + *!* Thisform.ct_grid_search1._GRID1.SetFocus + *!* Return + *!* Endif + + *!* DNF + Select (lcSelRul) + Scatter Name orul BLANK MEMO + If !Pemstatus(orul,'dnf',5) + AddProperty(orul,'dnf',00000) + If Pemstatus(oStg,'dnf',5) + orul.DNF= oStg.DNF + Endif + ENDIF + + *!* MODIFICAT 11.04.2006 + *!* MARIUS.MUTU - SA SE POATA SCOATE DIN STOC DE MAI MULTE ORI ACEEASI CANTITATE LA OB INV IN FOLOSINTA CAND TRANSFER, CASARE DIN FOLOSINTA + *!* SET STEP ON + Local lnCantIesita, lnCantStoc + lnCantIesita = 0 + lnCantStoc = 0 + If !Inlist(oset.id_set,210,211,212,89,70) + If 'B' $ lcIde + Sele (lcSelRul) + If !Inlist(gnTipGest , 6,7) + Select Sum(cante) As cante, id_articol, Nvl(serie,'') As serie From (lcSelRul) ; + WITH (Buffering = .T.) Where id_articol = oStg.id_articol And Pret =oStg.Pret ; + AND id_gestout = oStg.id_gestiune And Nvl(serie,'') = Nvl(oStg.serie,'') ; + GROUP By id_articol,serie Into Cursor crsCant + *!* LOCATE FOR id_articol = ostg.id_articol AND pret =ostg.pret AND id_gestout = ostg.id_gestiune && id_gestout in loc de id_gestiune pt ca la transfer modific id_gestiune (inainte_de_do_termin) + Else + Select Sum(cante) As cante, id_articol,Nvl(serie,'') As serie From (lcSelRul) ; + WITH (Buffering = .T.) Where id_articol = oStg.id_articol And pretv =oStg.pretv ; + AND id_gestout = oStg.id_gestiune And Pret =oStg.Pret And Nvl(serie,'') = Nvl(oStg.serie,'') ; + GROUP By id_articol,serie Into Cursor crsCant + *!* LOCATE FOR id_articol = ostg.id_articol AND pretv =ostg.pretv AND id_gestout = ostg.id_gestiune AND pret =ostg.pret && id_gestout in loc de id_gestiune pt ca la transfer modific id_gestiune (inainte_de_do_termin) + Endif + *!* 27.05.2009 + Select crsCant + Locate + lnCantIesita = cante + lnCantStoc = oStg.cantitate + If lnCantStoc <= lnCantIesita + amessagebox('Stoc epuizat',0+64,"Info") + Thisform.ct_grid_search1._GRID1.SetFocus + Use In crsCant + Return + Endif + *!* 27.05.2009 ^ + Use In crsCant + Endif + Else + && scoatere din stoc obiecte de inventar + If 'B' $ lcIde + Sele (lcSelRul) + + *!* modificare v 2.1.25 : am pus nvl la id_responsabil = oStg.id_responsabil + Select Sum(cante) As cante, id_articol, Nvl(serie,'') As serie ; + FROM (lcSelRul) With (Buffering = .T.) ; + WHERE id_articol = oStg.id_articol And Pret =oStg.Pret And id_gestout = oStg.id_gestiune ; + AND NVL(id_responsabil,0) = NVL(oStg.id_responsabil,0) And datapif = oStg.datapif And Nvl(serie,'') = Nvl(oStg.serie,'') ; + GROUP By id_articol,serie Into Cursor crsCant + *!* 27.05.2009 + Select crsCant + Locate + lnCantIesita = cante + lnCantStoc = oStg.cantitate + If lnCantStoc <= lnCantIesita + amessagebox('Stoc epuizat',0+64,"Info") + Thisform.ct_grid_search1.cb_tx_cautare1.Text.SetFocus + Use In crsCant + Return + Endif + *!* 27.05.2009 ^ + Use In crsCant + Endif + + Endif + + *!* modificare 03.10.2007 + If Inlist(oxset.model,4,6) && Retur + lcObiect = Thisform.cobj + &lcObiect..id_gestout = oStg.id_gestiune + &lcObiect..gestout = Alltrim(oStg.nume_gestiune) + Endif + *!* modificare 03.10.2007 ^ + + + Thisform.assign_values('orul',Thisform.cobj,'oStg') + + * La transfer, tabelul din dreapta rul_temp1 are cantitatile intrate, iar crsTransfer cantitatile iesite + * Daca se schimba gestiunea sursa, se schimba si pcObj.id_gestiune = pcObje.id_gestout (poAct) si in rul_temp1 (intrari) va intra gestiunea sursa, in loc de destinatie + * Modific gestiunea = gestiunea sursa in intrari + If Inlist(oSet.model, 5) AND TYPE('orul.id_gestiune') = 'N' AND !EMPTY(NVL(pcObj.id_gestin,0)) && TRANSFER + orul.id_gestiune = pcobj.id_gestin + orul.nume_gestiune = pcobj.gestin + ENDIF + + + * 01.04.2021 - repun responsabilul salvat dupa articolul anterior + IF !EMPTY(NVL(Thisform.nIdResponsabil,0)) + orul.id_responsabil = thisform.nIdResponsabil + orul.nresp = thisform.nResp + ENDIF + + If Type('orul.datapif') # 'U' And Type('orul.datapif') = 'T' && pentru ob. inv. in folosinta + orul.datapif = Ttod(orul.datapif) + Endif + + If Inlist(oset.model,3,4) And oset.param1 = 1 && bon/retur + factura + en-detail + lnPretvTva = orul.pretv + orul.tvav && pret vanzare cu TVA + *!* modificare 22.06 + lnProcAdaos = Iif(orul.procent<>0,orul.procent,lnProcAdaos) + *!* ^ + Else + *!* 09.06.2008 + *!* 231 - nir mf pretv cu modificarea listei de preturi + *!* 105,106 - roafacturare - NIR de marfa la pret de vanzare; + *!* 231 = roagest - nir marfa la pretv cu lista de preturi + *!* 236,240,241,243 - retur de la gestiune valorica - aviz expeditie - pret de lista + *!* 247 = roagest - nir marfa la pretv cu lista de preturi gestiune hibrid 23.10.2008 + *!* 266 roagest - mf pret de ach * > factura nesosita - pret de lista ** 19.05.2010 + If Inlist(oset.id_set,105,106,231,236,240,241,242,247,255,256,266) + lcSql = [ select pretftva, pretctva, (proc_tvav*100-100) as proc_tvav from vcrm_politici_pret_art where id_pol=] + Alltrim(Str(poact.id_pol))+; + [ and id_articol =] + Alltrim(Str(oStg.id_articol)) + + lnSucces=goExecutor.oExecute(lcSql,'crsPret') + If lnSucces < 0 + amessagebox(goExecutor.cEroare,0+16,'Eroare') + Endif + + Select crsPret + lnPretfTva = pretftva + lnPretvTva = pretctva + IF !PEMSTATUS(poAct, 'proc_tvav',5 ) + ADDPROPERTY(poAct, 'proc_tvav', 24) + ENDIF + poAct.proc_tvav = crsPret.proc_tvav + + Use In (SELECT('crsPret')) + + Private pnReturnValue + pnReturnValue = 0 + lnSucces = goExecutor.oSelect2Value("select preturi_cu_tva from vcrm_politici_preturi where id_pol = " + Alltrim(Str(poact.id_pol)), @pnReturnValue) + If lnSucces < 0 + amessagebox(goExecutor.cEroare,0+16,'Eroare') + Else + lnListaPreturiCuTva = pnReturnValue + Endif + Else + lnPretvTva = 0 + Endif + *!* 09.06.2008 + Endif + + If oset.id_set = 104 + Private pnImputare + Store 0 To pnImputare + + If gnImputare = 1 && pretul maxim din stoc + lcSql=[select MAX(pret) as pretMax from (select pack_sesiune.suma_ron(pret, an, luna) as pret from ] + ; + [(select pret, an, luna from stoc where id_articol = ] + +Alltrim(Str(orul.id_articol))+ ; + [ and NVL(serie,'x_x_x') = '] + Nvl(orul.serie,'x_x_x') + [' ] + gcCondSucursala + [))] + + lnSucces=goExecutor.oExecute(lcSql,'crsPretMax') + If lnSucces < 0 + amessagebox(goExecutor.cEroare,0+16,'Eroare') + Endif + + Select crsPretMax + orul.pretv = pretMax + If Isnull(orul.pretv) + orul.pretv = 0 + Endif + + If Used('crsPretMax') + Use In crsPretMax + Endif + Endif + Endif + + If Empty(Thisform.cfrm_ceredate) + Return + Endif + + If Inlist(oset.id_set,211) && TRANSFER MAGAZIE OB INV IN FOLOSINTA - CATRE GESTIUNE OB INV IN FOL PE UN RESPONSABIL + orul.id_responsabil = 0 + orul.NRESP = '' + Endif + + lcForm = Alltrim(Thisform.cfrm_ceredate) + onir = Createobject(lcForm,Thisform.omemopref) && modificare ROAGEST v 2.2.29 : am adaugat Thisform.omemopref + onir.bVizualizare = lcIde + onir.cobj = orul + *onir.cParentObj = thisform.cobj + onir.pretvtva = lnPretvTva + *!* 27.05.2009 + onir.ncant_stoc = lnCantStoc + onir.ncant_iesita = lnCantIesita + *!* 27.05.2009 ^ + *!* 11.09.2008 ROAGEST 2.0.61 + *!* 105 Achizitie fact. neplatita- marfa la pret de vanzare + *!* 106 ? + *!* 231 Achizitie fact. neplatita- marfa la pret de vanzare - pret de lista + *!* 234 Achizitie fact. neplatita - bilete RATC - marfa la pret de vanzare -pret de list + *!* 236,240,241,242 - Retur de la gestiune valorica - lista preturi - aviz expeditie + *!* 247 = roagest - nir marfa la pretv cu lista de preturi gestiune hibrid 23.10.2008 + *!* 248 Achizitie fact. neplatita - bilete RATC - marfa la pret de vanzare -pret de list - gestiune hibrid 23.10.2008 + *!* 266 roagest - mf pret de ach * > factura nesosita - pret de lista ** 19.05.2010 + If Inlist(oset.id_set,105,106,231,234,236,240,241,242,247,248,255,256,266) + onir.cobj.pretv = lnPretfTva + onir.cobj.tvav = lnPretvTva - lnPretfTva + Endif + *!* 11.09.2008 ROAGEST 2.0.61 ^ + + If oset.model = 2 And Type('ostg.cantitate') = 'N' And oset.id_selst = 30 + onir.cobj.cant = oStg.cantitate + Endif + *!* 09.06.2008 + *!* 231 - nir mf pretv cu modificarea listei de preturi + && 247 = roagest - nir marfa la pretv cu lista de preturi gestiune hibrid 23.10.2008 + *!* 248 Achizitie fact. neplatita - bilete RATC - marfa la pret de vanzare -pret de list - gestiune hibrid 23.10.2008 + *!* 266 roagest - mf pret de ach * > factura nesosita - pret de lista ** 19.05.2010 + *!* 267 modificare ROAFACTURARE v 2.2.2 + If Inlist(oset.id_set,231,234,236,240,241,242,247,248,255,256,266,267) OR (m.gnRG_NIR_ULTIMUL_PRET = 1 AND INLIST(oset.id_set,43,44,45,46,47,48,49,50,51,101,94,85,246,249,250,251,264)) + && v 2.0.14 din 11iun2008 - preluare preturi din rul de pe ultima factura de achizitie/retur, cautarea se face in ultimele 2 luni + && 231 - NIR LISTA PRETURI + && 234 - NIR RATC + *!* v 2.0.18 (ordonare an desc, luna desc, dataora desc, cant <> 0) + *!* 11.05.2009 -ultimul pret de achizitie,vanzare este din ultimii 2 ani + *!* 30.03.2010 - se ia si proc_tva + *!* 13.09.2010 + If Type('gnRG_PRET_ULTIMA_INTRARE') = 'N' And gnRG_PRET_ULTIMA_INTRARE = 1 + lcSql = [select pret, tva, proc_tva, pretv, tvav, pretvtva, dataora ]+; + [ from rul_ultima_intrare where ID_ARTICOL = ]+Alltrim(Str(orul.id_articol)) + Else + lcSql = [select a.* from (select a.dataora,a.pret,a.tva, a.proc_tva, a.tvav,a.pretv,a.PRETV+a.TVAV as pretvtva ]+; + [ from rul a where a.ID_ARTICOL = ]+Alltrim(Str(orul.id_articol)) + [ and a.sters = 0 and ] + ; + [((a.cant<>0 and a.id_tip_rulaj = 0) or (a.cante<0 and a.id_tip_rulaj = 1) )]+; + [ and an*12+luna between ]+ Alltrim(Str(gnAn*12+gnluna-23))+[ and ]+ Alltrim(Str(gnAn*12+gnluna)) +; + [ order by a.an desc, a.luna desc, a.dataora desc) a where rownum = 1] + Endif + *!* 13.09.2010 ^ + *!* v 2.0.18 ^ + lnSucces=goExecutor.oExecute(lcSql,'crsPretUltim') + If lnSucces < 0 + amessagebox(goExecutor.cEroare,0+16,'Eroare') + Else + Select crsPretUltim + If Reccount() > 0 + onir.pretu_factura = crsPretUltim.Pret + onir.cobj.Pret = crsPretUltim.Pret + onir.cobj.tva = crsPretUltim.tva + onir.cobj.proc_tva = crsPretUltim.proc_tva + && suprascriu pretul de vanzare din lista doar daca pe nir am pretul <> 0 + *!* 267 modificare ROAFACTURARE v 2.2.2 + *!* If crsPretUltim.pretv <> 0 and oset.id_set <> 267 + *!* 21.12.2015 nu mai suprascriu pretul de vanzare din lista de preturi. de ce ar trebui sa il suprascriu? + If crsPretUltim.pretv <> 0 and onir.cobj.pretv = 0 and oset.id_set <> 267 + onir.cobj.pretv = crsPretUltim.pretv + onir.cobj.tvav = crsPretUltim.tvav + onir.pretvtva = crsPretUltim.pretvtva + Endif + + Endif + Use In crsPretUltim + Endif + && v 2.0.14 din 11iun2008 ^ + Endif + + *!* 09.06.2008 ^ + + onir.cTitlu = Alltrim(Nvl(oStg.denumire,'')) + [-] + Alltrim(Nvl(oStg.codmat,'')) + onir.item2.text_item1.ReadOnly = Iif(oset.model = 2, .F., .T.) + + If oset.param1 = 1 And (oset.model = 4 Or gnTipGest = 6 Or gnTipGest = 7) && facturi retur / vanzare marfa la pret de vanzare en-detail - blochez pretul de vanzare + onir.BlochezPretV = .T. + onir.proc_tvav = orul.proc_tvav + onir.proc_adaos = lnProcAdaos + Endif + + Do Case + Case oset.model = 7 && ( oset.id_set = 218 ) + onir.item9.label_item1.Caption = 'Pret nou fara TVA' + onir.item9.text_item1.InputMask = get_mask(12,gnPPret) + Case poact.id_set = 104 && RoaObInv - Imputare + onir.item7.label_item1.Caption = 'Pret imputare cu TVA' + onir.item8.label_item1.Caption = 'TVA imputare' + onir.item9.label_item1.Caption = 'Pret imputare fara TVA' + * onir.BlochezPretV = .T. + Case poact.id_set = 26001 && ROAPRODUCTIE.PV_PRODUCTIE + Local lnPret + Store 0 To lnPret + + Private poPret + Store '' To poPret + Local lcschema, lcselect, lcFiltru, lcOrder, llAfiseaza, lcgroup, llModParam, lcFiltruOriginal + + lcschema = [] + lcselect = [select pret from vcrm_politici_pret_art] + lcOrder = [] + lcFiltru = [] + llAfiseaza = .F. + lcgroup = "" + llModParam = .T. + lcFiltruOriginal = [id_pol=] + Alltrim(Str(poact.id_pol)) + [ and id_articol=] + Alltrim(Str(oStg.id_articol)) + + gencursor('poPret','crsPret',lcselect,lcFiltru,lcschema,lcOrder,llAfiseaza, lcgroup, llModParam, lcFiltruOriginal) + poPret.ca_baza1.afisare() + + Select crsPret + Go Top + lnPret = Pret + + If Used('crsPret') + Use In crsPret + Endif + + Release poPret + + onir.cobj.Pret = lnPret + onir.item2.label_item1.Caption = 'Pret unitar' + onir.item2.text_item1.ReadOnly = .T. + onir.item2.text_item1.TabStop = .F. + + Local lcReteta, lnId_reteta + Store 0 To lnId_reteta + Store '' To lcReteta + + Private poReteta + Store '' To poReteta + + lcschema = [] + lcselect = [select id_reteta, reteta from vnom_retetar] + lcOrder = [] + lcFiltru = [] + llAfiseaza = .F. + lcgroup = "" + llModParam = .T. + lcFiltruOriginal = [principala=1 and id_articol=] + Alltrim(Str(onir.cobj.id_articol)) + gencursor('poReteta','crsReteta',lcselect,lcFiltru,lcschema,lcOrder,llAfiseaza, lcgroup, llModParam, lcFiltruOriginal) + poReteta.ca_baza1.afisare() + + Select crsReteta + Go Top + lcReteta = Alltrim(reteta) + lnId_reteta = id_reteta + + If Used('crsReteta') + Use In crsReteta + Endif + + Release poReteta + + onir.cobj.reteta = lcReteta + onir.cobj.id_reteta = lnId_reteta + Endcase + + *onir.item4.text_item1.comment = onir.item4.text_item1.comment + IIF(INLIST(oset.model,3,4),[e],[]) && CANT sau CANTE + onir.item4.text_item1.Comment = onir.item4.text_item1.Comment + ; + Iif(Lower(Alltrim(Thisform.osel_dr.cantitate))=[cante],[e],[]) && CANT sau CANTE + onir.proc_discount = lnProcDisc + onir.proc_adaos = lnProcAdaos + + *** modific lucrarea cu lucrarea asociata gestiunii, daca este configurata + lcSql = [select id_lucrare, nrord from vnom_gestiuni where id_gestiune = ] + alltrim(str(orul.id_gestiune)) + llSucces = goExecutor.oExecuta(m.lcSql, "crsLucrareTemp") + if m.llSucces + go top in crsLucrareTemp + if !empty(nvl(crsLucrareTemp.nrord,'')) + onir.cobj.id_lucrare = crsLucrareTemp.id_lucrare + onir.cobj.nrord = alltrim(crsLucrareTemp.nrord) + endif + use in (select('crsLucrareTemp')) + endif + + onir.Show(1) + + If gnButon = 1 + lcCant = [orul.] + Alltrim(Thisform.osel_dr.cantitate) + If Type('ostg.cantitate') # 'U' And Inlist(oset.model, 3, 4, 5, 6, 7) &&: bon, retur, transfer, retur transfer + lnCantD = &lcCant + lnCantD1 = &lcCant + lnCantS = oStg.cantitate + + *!* MODIFICAT 11.04.2006 + *!* DOAR LA ID_SET = 210 (TRANSFER OB INV IN FOL CATRE MAI MULTI RESPONSABILI) AM PERMIS SA SE SCOATA DE MAI MULTE ORI ACELASI REPER + *!* ADUN CANTITATEA DEJA IESITA LA CEA CURENTA + lnCant = 0 + If Inlist(oset.id_set,210,211,212,89) + Select Sum(Nvl(cant,0)) As cant ; + FROM (lcSelRul) With (Buffering = .T.); + WHERE id_articol = oStg.id_articol And Pret = oStg.Pret And ; + id_gestout = oStg.id_gestiune And Nvl(serie,'') = Nvl(oStg.serie,'') ; + INTO Cursor crsCant + Select crsCant + Calculate Sum(cant) To lnCant + lnCantD = lnCantD + lnCant + Use In crsCant + Endif + If Abs(lnCantD) > Abs(lnCantS) Or (Sign(lnCantD1) * Sign(lnCantS) < 0) + lcTitlu = [Atentie] + lcTip = [Avertizare] + lcImagine = [exclam.ico] + ofrm_eroare = Createobject('frm_mesaj',lcTitlu,lcImagine,lcTip,"Cantitatea maxima existenta este:",oStg.cantitate) + ofrm_eroare.Show(1) + Release ofrm_eroare + &lcCant = oStg.cantitate - lnCant + Endif + + *!* MODIFICAT 11.04.2006 + *!* NU ADAUG ARTICOLE FARA CANTITATE + If &lcCant = 0 + Thisform.ct_grid_order1.cb_tx_gestin.SetFocus() + Return + Endif + Endif + + Do Case + Case Inlist(oset.model, 4, 6) && retur BON, retur TRANSFER + &lcCant = -&lcCant + Case oset.model = 2 && NIR + Select (lcSelRul) + lcAcont = Thisform.assign_analitic(orul.Cont,Thisform.cobj,'orul') + IF !EMPTY(m.lcAcont) + orul.acont = m.lcAcont + ENDIF + Endcase + + If Inlist(oset.model,5,6,7) && TRANSFER, RETUR TRANSFER, DIFERENTA DE PRET + lcCantDr = Lower(Alltrim(Thisform.osel_dr.cantitate)) + lcCantTransf = [cant] + Iif(lcCantDr = [cante],[],[e]) + If !Used('crsTransfer') + Select *, 0000 As rec, 0 As nuInConturiX From (lcSelRul) Into Cursor crsTransfer Where 1=2 NOFILTER Readwrite + Endif + Select crsTransfer + Append Blank + Gather Name pcObj + Gather Name oStg + Replace cant With 0, cante With 0 + Replace &lcCantTransf With &lcCant + *!* v 2.0.24 + lnProcTVA = Iif(proc_tva <> 0, proc_tva, TVA2PROCTVA(tva, Pret)) + Replace proc_tva With lnProcTVA + *!* v 2.0.24 ^ + *REPLACE nuInConturiX WITH 1 + *!* modificare 26.02.2007 + Do Case + Case Inlist(oset.id_set,75,218) && modificare 22.05.2007 : completez si pretv ca sa pot calcula adaosul + Replace pretv With orul.pretv,tvav With orul.tvav,proc_tvav With orul.proc_tvav + Case Inlist(oset.id_set, 207,254) + orul.pretv = oStg.pretv + orul.tvav = oStg.tvav + orul.proc_tvav = oStg.proc_tvav + Case oset.id_set = 89 && transfer intre persoane + pcObj.id_gestin = orul.id_gestout + pcObj.gestin = orul.id_gestout + orul.id_gestin = orul.id_gestout + orul.gestin = orul.gestout + Endcase + *!* IF oset.id_set = 89 && transfer intre persoane + *!* pcObj.id_gestin = orul.id_gestout + *!* pcObj.gestin = orul.id_gestout + *!* orul.id_gestin = orul.id_gestout + *!* orul.gestin = orul.gestout + *!* ENDIF + *!* modificare 26.02.2007 ^ + Replace id_gestin With orul.id_gestin, gestin With orul.gestin + Replace id_gestout With orul.id_gestout, gestout With orul.gestout + *!* IF TYPE('orul.id_gestiune') = 'N' AND TYPE('crsTransfer.id_gestiunec') = 'N' + *!* REPLACE id_gestiunec WITH orul.id_gestiune + *!* ENDIF + If Type('orul.id_responsabil') = 'N' And Type('crsTransfer.id_responsabilc') = 'N' + Replace id_responsabilc With orul.id_responsabil + Endif + *!* nou 26.05.2009 + Replace id_lucrare With orul.id_lucrare, nrord With orul.nrord + Replace id_sectie With orul.id_sectie, sectie With orul.sectie + *!* nou 26.05.2009 ^ + Endif + + If oset.id_set = 104 + If gnImputare = 1 + Select cursor_curent1 + If DNF<>0 + uzura = (DNF-(dns_luni-Iif(!Empty(datapif) And !Isnull(datapif),((gnAn*12+gnluna)-(Year(datapif)*12+Month(datapif))),0)))/DNF*100 + Else + uzura = 0 + Endif + Do Case + Case pnImputare = 1 && procent + orul.pret_imputare = Round((100 - uzura) * orul.pretv / 100,gnPPretV) + Case pnImputare = 2 && integral + orul.pret_imputare = orul.pretv + Otherwise + orul.pret_imputare = orul.pretv + Endcase + Else + orul.pret_imputare = orul.pretv + Endif + Endif + + Select (lcSelRul) + Append Blank + Gather Name orul + Replace id_set With oset.id_set + lnRecno = Recno() + + *!* IF TYPE('ostg.id_gestiune') = 'N' + *!* REPLACE id_gestiunec WITH ostg.id_gestiune + *!* ENDIF + If Type('ostg.id_responsabil') = 'N' + Replace id_responsabilc With oStg.id_responsabil + Endif + + *!* MODIFICAT 11.04.2006 + *!* MARIUS.MUTU - AM PUS RECNO('RUL_TEMP') IN CURSORUL DE TRANSFER - LA STERGERE SA POT STERGE SI LINIA CORESPONDENTA DIN CRSTRANSFER + If Inlist(oset.model,5,6,7) And Used('crsTransfer') && TRANSFER, RETUR TRANSFER, DIFERENTA DE PRET + Select crsTransfer + Replace rec With lnRecno + Endif + + *!* 09.06.2008 + *!* 231 - nir mf pretv cu modificarea listei de preturi + *!* daca pretul de vanzare este diferit de pretul de vanzare din lista + *!* modific pretul de vanzare din lista + *!* 247 = roagest - nir marfa la pretv cu lista de preturi gestiune hibrid 23.10.2008 + *!* 266 roagest - mf pret de ach * > factura nesosita - pret de lista ** 19.05.2010 + If Inlist(oset.id_set, 231, 247, 266) And poPreturi.pretvtva <> lnPretvTva And lnNIRPRETLISTAMOD = 1 + lnPretftvaLista = poPreturi.pretv + lnPretvtvaLista = poPreturi.pretvtva + lnPretLista = Iif(lnListaPreturiCuTva = 1, lnPretvtvaLista, lnPretftvaLista) + + Thisform.modificare_lista_preturi(poact.id_pol, oStg.id_articol, lnPretftvaLista, lnPretvtvaLista, lnPretLista, orul.proc_tvav) + Endif + *!* 09.06.2008 ^ + + *!* 10.09.2008 v 2.0.61 + *!* 236, 240, 241, 242 = retur de la gestiune valorica + If Inlist(oset.id_set, 236, 240, 241, 242,255,256) And poPreturi.pretvtva <> lnPretvTva + lnPretftvaLista = poPreturi.pretv + lnPretvtvaLista = poPreturi.pretvtva + lnPretLista = Iif(lnListaPreturiCuTva = 1, lnPretvtvaLista, lnPretftvaLista) + + Thisform.modificare_lista_preturi(poact.id_pol, oStg.id_articol, lnPretftvaLista, lnPretvtvaLista,lnPretLista, orul.proc_tvav,lnPretvTva) + Endif + *!* 10.09.2008 v 2.0.61 ^ + + * 01.04.2021 salvez responsabilul ales de utilizator si il folosesc pentru articolele urmatoare + thisform.nIdResponsabil = orul.id_responsabil + thisform.nResp = orul.nresp + + + If Thisform.ct_grid_order1.cb_tx_gestin.Visible + Thisform.ct_grid_order1.cb_tx_gestin._cbbase1.Value = orul.gestin + Thisform.ct_grid_order1.cb_tx_gestin._cbbase1.Refresh + Endif + Thisform.ct_grid_order1.actualizeaza_grid() + Thisform.ct_grid_order1._GRID1.AutoFit + Else + Thisform.ct_grid_search1._GRID1.SetFocus + Endif + + Thisform.calcul_sume(lcSelRul) + + *!* SELECT crsTransfer + *!* BROWSE + *!* SELECT (lcSelRul) + *!* BROWSE + + If oset.productie And Inlist(oset.id_set,26003,26004) && modificare 17.10.2007 AND ALLTRIM(UPPER(oset.formproduc))='FRM_ALEGE_SECTIE_COMANDA' + pnValoareDecontata = Thisform.nTotal + pnCheltuieliDirecte = Thisform.nTotal - pnValoareDecontata + Thisform.container_valoare_decontata1.Refresh + Endif + If Thisform.nTotal#0 + lnProcentDiscount=(Thisform.ct_discount1.baza_discount/Thisform.nTotal)*100 + Else + lnProcentDiscount=0 + Endif + + If(Thisform.ct_discount1.Combogrid3.Value=2) + Thisform.ct_discount1.txProc_discount.Value=lnProcentDiscount + Endif + + *!* modificare ROAGEST v 2.1.19 + If oset.model = 3 + Select (Thisform.ct_grid_search1.cnumecursor) + Replace stoc_actual With stoc_actual - orul.cante + Endif + *!* modificare ROAGEST v 2.1.19 ^ + Release orul + Release oStg + + ENDPROC + + PROCEDURE _shape1.DblClick + IF thisform.WindowState = 2 + thisform.WindowState = 0 + ELSE + thisform.WindowState = 2 + ENDIF + ENDPROC + +ENDDEFINE + +DEFINE CLASS nir_orig AS _frmbase OF "_frm_base.vcx" + *< CLASSDATA: Baseclass="form" Timestamp="" Scale="Pixels" Uniqueid="" /> + + *-- OBJECTDATA items order determines ZOrder / El orden de los items OBJECTDATA determina el ZOrder + *< OBJECTDATA: ObjPath="Ct_discount1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="_shape3" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="_shapeDr" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="_shapeSus" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="But_renunt1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="Urmator1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="lbTotal" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="txNir" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="Ct_adaos1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="Ct_factura1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="Ct_grid_search1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="Ct_grid_search1.But_nou1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="Ct_grid_search1.lb_listePreturi" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="Ct_grid_search1.cboListe" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="Ct_grid_search1.Cb_tx_gestout" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="Ct_grid_order1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="Ct_grid_order1.Cb_tx_gestin" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="Ct_grid_order1.But_sterge1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="Container_valoare_decontata1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="Ct_factura2" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="Ct_factura2.lb_curs" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="Ct_factura2.lb_valuta" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="tx_totalctva" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="lb_totalctva" UniqueID="" Timestamp="" /> + + #INCLUDE "..\include\foxpro.h" + * + *m: aleg_cont_transfer + *m: analiza_cmp + *m: assign_analitic + *m: assign_values + *m: bon_fiscal + *m: calcul_pret_vanzare + *m: calcul_sume + *m: caut_gestiune + *m: compensare + *m: do_verifica_sume + *m: intrare_produs + *p: cfrm_ceredate + *p: cobj + *p: ctip_frm + *p: ntotal + *p: osel_dr + * + + * + BorderStyle = 1 + cbuton3 = + cbuton4 = Ct_grid_order1.But_sterge1;but_reface1 + cfrm_ceredate = + cobj = + ctip_frm = NIR + DoCreate = .T. + Height = 572 + lactiv3 = .T. + lactiv4 = .T. + Name = "nir_orig" + ntotal = 0 + osel_dr = + Width = 793 + WindowType = 1 + _shape1.Anchor = 11 + _shape1.Height = 30 + _shape1.Left = -1 + _shape1.Name = "_shape1" + _shape1.Tag = "" + _shape1.Top = -1 + _shape1.Width = 726 + _shape1.ZOrderSet = 2 + _shape2.Anchor = 9 + _shape2.Height = 29 + _shape2.Left = 724 + _shape2.Name = "_shape2" + _shape2.Tag = "MOVABLE" + _shape2.Top = 0 + _shape2.Width = 69 + _shape2.ZOrderSet = 4 + Lb_titlu_alb_b121.Anchor = 3 + Lb_titlu_alb_b121.FontName = "Comic Sans MS" + Lb_titlu_alb_b121.FontSize = 10 + Lb_titlu_alb_b121.Height = 20 + Lb_titlu_alb_b121.Left = 10 + Lb_titlu_alb_b121.Name = "Lb_titlu_alb_b121" + Lb_titlu_alb_b121.TabIndex = 5 + Lb_titlu_alb_b121.Top = 3 + Lb_titlu_alb_b121.Width = 41 + Lb_titlu_alb_b121.ZOrderSet = 8 + BUT_TERMIN1.Anchor = 9 + BUT_TERMIN1.Height = 27 + BUT_TERMIN1.Left = 757 + BUT_TERMIN1.Name = "BUT_TERMIN1" + BUT_TERMIN1.TabIndex = 3 + BUT_TERMIN1.Tag = "" + BUT_TERMIN1.Top = 1 + BUT_TERMIN1.Width = 32 + BUT_TERMIN1.ZOrderSet = 12 + Gridsort1.Name = "Gridsort1" + * + + ADD OBJECT '_shape3' AS _shape WITH ; + Anchor = 135, ; + BackStyle = 0, ; + BorderColor = 7,118,177, ; + BorderWidth = 2, ; + Height = 427, ; + Left = 9, ; + Name = "_shape3", ; + Tag = "", ; + Top = 137, ; + Width = 361, ; + ZOrderSet = 1 + *< END OBJECT: ClassLib="_baza.vcx" BaseClass="shape" /> + + ADD OBJECT '_shapeDr' AS _shape WITH ; + Anchor = 45, ; + BackStyle = 0, ; + BorderColor = 7,118,177, ; + BorderWidth = 2, ; + Height = 427, ; + Left = 406, ; + Name = "_shapeDr", ; + Tag = "", ; + Top = 137, ; + Width = 381, ; + ZOrderSet = 3 + *< END OBJECT: ClassLib="_baza.vcx" BaseClass="shape" /> + + ADD OBJECT '_shapeSus' AS _shape WITH ; + Anchor = 11, ; + BackStyle = 0, ; + BorderColor = 7,118,177, ; + BorderWidth = 2, ; + Height = 103, ; + Left = 8, ; + Name = "_shapeSus", ; + Tag = "RESIZABLE, MOVABLE", ; + Top = 32, ; + Width = 780, ; + ZOrderSet = 5 + *< END OBJECT: ClassLib="_baza.vcx" BaseClass="shape" /> + + ADD OBJECT 'But_renunt1' AS but_renunt WITH ; + Anchor = 9, ; + Left = 727, ; + Name = "But_renunt1", ; + TabIndex = 4, ; + Tag = "", ; + Top = 1, ; + ZOrderSet = 7 + *< END OBJECT: ClassLib="cmd_butoane.vcx" BaseClass="commandbutton" /> + + ADD OBJECT 'Container_valoare_decontata1' AS container_valoare_decontata WITH ; + Left = 12, ; + Name = "Container_valoare_decontata1", ; + Top = 81, ; + Visible = .F., ; + ZOrderSet = 18, ; + Label1.Name = "Label1", ; + Text1.Name = "Text1" + *< END OBJECT: ClassLib="ointroduceri.vcx" BaseClass="container" /> + + ADD OBJECT 'Ct_adaos1' AS ct_adaos WITH ; + Anchor = 161, ; + Left = 556, ; + Name = "Ct_adaos1", ; + TabIndex = 8, ; + Tag = "", ; + Top = 38, ; + ZOrderSet = 13, ; + LBBAZA_ADAOS.Name = "LBBAZA_ADAOS", ; + LBTVA_ADAOS.Name = "LBTVA_ADAOS", ; + LBPROC_ADAOS.Name = "LBPROC_ADAOS", ; + TXBAZA_ADAOS.Name = "TXBAZA_ADAOS", ; + TXTVA_ADAOS.Name = "TXTVA_ADAOS", ; + TXPROC_ADAOS.Name = "TXPROC_ADAOS" + *< END OBJECT: ClassLib="ferestre_cere_date.vcx" BaseClass="container" /> + + ADD OBJECT 'Ct_discount1' AS ct_discount WITH ; + Anchor = 161, ; + Left = 262, ; + Name = "Ct_discount1", ; + TabIndex = 10, ; + Tag = "", ; + Top = 37, ; + ZOrderSet = 0, ; + COMBOGRID3.Name = "COMBOGRID3", ; + LBBAZA_DISCOUNT.Name = "LBBAZA_DISCOUNT", ; + LBTVA_DISCOUNT.Name = "LBTVA_DISCOUNT", ; + LBPROC_DISCOUNT.Name = "LBPROC_DISCOUNT", ; + TXBAZA_DISCOUNT.Name = "TXBAZA_DISCOUNT", ; + TXTVA_DISCOUNT.Name = "TXTVA_DISCOUNT", ; + TXPROC_DISCOUNT.Name = "TXPROC_DISCOUNT", ; + CotaTVA.HideSelection = .F., ; + CotaTVA.Name = "CotaTVA", ; + lbTva.Name = "lbTva", ; + lb_explicatie_tva.Name = "lb_explicatie_tva" + *< END OBJECT: ClassLib="ferestre_cere_date.vcx" BaseClass="container" /> + + ADD OBJECT 'Ct_factura1' AS ct_factura WITH ; + Anchor = 131, ; + Left = 14, ; + Name = "Ct_factura1", ; + TabIndex = 9, ; + Tag = "", ; + Top = 61, ; + ZOrderSet = 14, ; + lbBaza.Name = "lbBaza", ; + lbTva.Name = "lbTva", ; + txBaza.Name = "txBaza", ; + txTva.Name = "txTva", ; + lbExplic.Name = "lbExplic", ; + txTotal.Name = "txTotal", ; + lbTotal.Name = "lbTotal" + *< END OBJECT: ClassLib="ferestre_cere_date.vcx" BaseClass="container" /> + + ADD OBJECT 'Ct_factura2' AS ct_factura WITH ; + Anchor = 131, ; + Height = 96, ; + Left = 260, ; + Name = "Ct_factura2", ; + TabIndex = 9, ; + Tag = "", ; + Top = 36, ; + Width = 238, ; + ZOrderSet = 19, ; + LBBAZA.Left = 51, ; + LBBAZA.Name = "LBBAZA", ; + LBBAZA.Top = 52, ; + LBTVA.Left = 51, ; + LBTVA.Name = "LBTVA", ; + LBTVA.Top = 72, ; + TXBAZA.InputMask = (get_mask(14,gnPVal)), ; + TXBAZA.Left = 130, ; + TXBAZA.Name = "TXBAZA", ; + TXBAZA.Top = 50, ; + TXTVA.InputMask = (get_mask(14,gnPVal)), ; + TXTVA.Left = 130, ; + TXTVA.Name = "TXTVA", ; + TXTVA.Top = 70, ; + LBEXPLIC.Left = 1, ; + LBEXPLIC.Name = "LBEXPLIC", ; + LBEXPLIC.Top = 52, ; + TXTOTAL.ControlSource = "this.parent.totctva", ; + TXTOTAL.InputMask = (get_mask(14,gnPVal)), ; + TXTOTAL.Left = 130, ; + TXTOTAL.Name = "TXTOTAL", ; + TXTOTAL.Top = 28, ; + LBTOTAL.Height = 17, ; + LBTOTAL.Left = 3, ; + LBTOTAL.Name = "LBTOTAL", ; + LBTOTAL.Top = 19, ; + LBTOTAL.Width = 97 + *< END OBJECT: ClassLib="ferestre_cere_date.vcx" BaseClass="container" /> + + ADD OBJECT 'Ct_factura2.lb_curs' AS lb_titlu_albastru_b12 WITH ; + Alignment = 2, ; + AutoSize = .F., ; + Caption = "[Curs]", ; + FontBold = .T., ; + Height = 22, ; + Left = 19, ; + Name = "lb_curs", ; + Top = 2, ; + Width = 201 + *< END OBJECT: ClassLib="lb.vcx" BaseClass="label" /> + + ADD OBJECT 'Ct_factura2.lb_valuta' AS lb_titlu_albastru_b12 WITH ; + Caption = "[Valuta]", ; + FontBold = .F., ; + FontSize = 9, ; + ForeColor = 7,118,177, ; + Height = 17, ; + Left = 58, ; + Name = "lb_valuta", ; + Top = 35, ; + Width = 42 + *< END OBJECT: ClassLib="lb.vcx" BaseClass="label" /> + + ADD OBJECT 'Ct_grid_order1' AS ct_grid_order WITH ; + Anchor = 45, ; + cnumecursor = rul_temp1, ; + Height = 425, ; + Left = 409, ; + Name = "Ct_grid_order1", ; + TabIndex = 11, ; + Top = 139, ; + Width = 375, ; + ZOrderSet = 16, ; + _GRID1.Height = 345, ; + _GRID1.Left = 6, ; + _GRID1.Name = "_GRID1", ; + _GRID1.TabIndex = 2, ; + _GRID1.Top = 73, ; + _GRID1.Width = 364, ; + Titlu.Left = 9, ; + Titlu.Name = "Titlu", ; + Titlu.TabIndex = 3, ; + Titlu.Top = 3, ; + Cb_tx_cautare1.Criteriu.Name = "Criteriu", ; + Cb_tx_cautare1.Left = 7, ; + Cb_tx_cautare1.Name = "Cb_tx_cautare1", ; + Cb_tx_cautare1.TabIndex = 1, ; + Cb_tx_cautare1.Text.Name = "Text", ; + Cb_tx_cautare1.Top = 46 + *< END OBJECT: ClassLib="ferestre_cere_date.vcx" BaseClass="container" /> + + ADD OBJECT 'Ct_grid_order1.But_sterge1' AS but_sterge WITH ; + Anchor = 9, ; + Left = 310, ; + Name = "But_sterge1", ; + TabIndex = 5, ; + TabStop = .F., ; + Top = 45, ; + Visible = .T. + *< END OBJECT: ClassLib="cmd_butoane.vcx" BaseClass="commandbutton" /> + + ADD OBJECT 'Ct_grid_order1.Cb_tx_gestin' AS cb_tx_simplu WITH ; + BackStyle = 0, ; + BorderColor = 255,255,255, ; + Height = 24, ; + Left = 7, ; + Name = "Cb_tx_gestin", ; + TabIndex = 4, ; + Top = 20, ; + Width = 366, ; + _CBBASE1.BorderStyle = 0, ; + _CBBASE1.ColumnCount = 2, ; + _CBBASE1.ColumnLines = .F., ; + _CBBASE1.ColumnWidths = "220,40", ; + _CBBASE1.ControlSource = "poact.gestin", ; + _CBBASE1.FontItalic = .F., ; + _CBBASE1.FontName = "Arial Narrow", ; + _CBBASE1.Height = 23, ; + _CBBASE1.Left = 124, ; + _CBBASE1.Name = "_CBBASE1", ; + _CBBASE1.RowSource = "nom_gestiuni.nume_gestiune,cgest", ; + _CBBASE1.RowSourceType = 6, ; + _CBBASE1.Sorted = .F., ; + _CBBASE1.Top = 0, ; + _CBBASE1.Width = 237, ; + _LBBASE1.Caption = "gestiune destinatie:", ; + _LBBASE1.FontItalic = .T., ; + _LBBASE1.Left = 3, ; + _LBBASE1.Name = "_LBBASE1", ; + _LBBASE1.Top = 4 + *< END OBJECT: ClassLib="lb_tx.vcx" BaseClass="container" /> + + ADD OBJECT 'Ct_grid_search1' AS ct_grid_search WITH ; + Anchor = 135, ; + cnumecursor = cursor_curent1, ; + Height = 425, ; + Left = 11, ; + Name = "Ct_grid_search1", ; + TabIndex = 1, ; + Top = 139, ; + Width = 357, ; + ZOrderSet = 15, ; + _GRID1.Comment = "grd_st", ; + _GRID1.FontName = "Arial Narrow", ; + _GRID1.Height = 345, ; + _GRID1.Left = 6, ; + _GRID1.Name = "_GRID1", ; + _GRID1.RecordSource = "cursor_curent", ; + _GRID1.TabIndex = 3, ; + _GRID1.Top = 73, ; + _GRID1.Width = 347, ; + _GRID1.ZOrderSet = 0, ; + Titlu.Left = 9, ; + Titlu.Name = "Titlu", ; + Titlu.TabIndex = 4, ; + Titlu.Top = 2, ; + Titlu.ZOrderSet = 1, ; + Cb_tx_cautare1.Criteriu.Comment = "criteriu_st", ; + Cb_tx_cautare1.Criteriu.Name = "Criteriu", ; + Cb_tx_cautare1.Height = 27, ; + Cb_tx_cautare1.Left = 7, ; + Cb_tx_cautare1.Name = "Cb_tx_cautare1", ; + Cb_tx_cautare1.TabIndex = 2, ; + Cb_tx_cautare1.Text.Comment = "text_st", ; + Cb_tx_cautare1.Text.Height = 25, ; + Cb_tx_cautare1.Text.Left = 103, ; + Cb_tx_cautare1.Text.Name = "Text", ; + Cb_tx_cautare1.Text.Top = 1, ; + Cb_tx_cautare1.Text.Width = 207, ; + Cb_tx_cautare1.Top = 46, ; + Cb_tx_cautare1.Width = 312, ; + Cb_tx_cautare1.ZOrderSet = 2 + *< END OBJECT: ClassLib="ferestre_cere_date.vcx" BaseClass="container" /> + + ADD OBJECT 'Ct_grid_search1.But_nou1' AS but_nou WITH ; + Anchor = 9, ; + Height = 27, ; + Left = 322, ; + Name = "But_nou1", ; + TabIndex = 6, ; + TabStop = .F., ; + Top = 45, ; + ZOrderSet = 3 + *< END OBJECT: ClassLib="cmd_butoane.vcx" BaseClass="commandbutton" /> + + ADD OBJECT 'Ct_grid_search1.Cb_tx_gestout' AS cb_tx_simplu WITH ; + BackStyle = 0, ; + BorderColor = 255,255,255, ; + Height = 24, ; + Left = 7, ; + Name = "Cb_tx_gestout", ; + TabIndex = 5, ; + Top = 20, ; + Width = 346, ; + ZOrderSet = 6, ; + _CBBASE1.BorderStyle = 0, ; + _CBBASE1.ColumnCount = 2, ; + _CBBASE1.ColumnLines = .F., ; + _CBBASE1.ColumnWidths = "180,30", ; + _CBBASE1.ControlSource = "poact.gestout", ; + _CBBASE1.FontItalic = .F., ; + _CBBASE1.FontName = "Arial Narrow", ; + _CBBASE1.Height = 23, ; + _CBBASE1.Left = 101, ; + _CBBASE1.Name = "_CBBASE1", ; + _CBBASE1.RowSource = "nom_gestiuni.nume_gestiune,cgest", ; + _CBBASE1.RowSourceType = 6, ; + _CBBASE1.Sorted = .F., ; + _CBBASE1.Top = 1, ; + _CBBASE1.Width = 243, ; + _LBBASE1.Caption = "Gestiune sursa", ; + _LBBASE1.FontItalic = .T., ; + _LBBASE1.Left = 3, ; + _LBBASE1.Name = "_LBBASE1", ; + _LBBASE1.Top = 3 + *< END OBJECT: ClassLib="lb_tx.vcx" BaseClass="container" /> + + ADD OBJECT 'Ct_grid_search1.cboListe' AS combobox WITH ; + Anchor = 3, ; + BorderStyle = 0, ; + ColumnCount = 4, ; + ColumnLines = .F., ; + ColumnWidths = "200,65,60,0", ; + Format = "", ; + Height = 23, ; + Left = 104, ; + Name = "cboListe", ; + RowSource = "cListePret.nume_lista_preturi,datai,datas,id_pol", ; + RowSourceType = 2, ; + Style = 2, ; + TabIndex = 1, ; + Top = 21, ; + Visible = .F., ; + Width = 247, ; + ZOrderSet = 5 + *< END OBJECT: BaseClass="combobox" /> + + ADD OBJECT 'Ct_grid_search1.lb_listePreturi' AS label WITH ; + Anchor = 3, ; + BackStyle = 0, ; + Caption = "Lista de preturi:", ; + FontItalic = .T., ; + Height = 17, ; + Left = 11, ; + Name = "lb_listePreturi", ; + TabIndex = 7, ; + Top = 25, ; + Visible = .F., ; + Width = 84, ; + ZOrderSet = 4 + *< END OBJECT: BaseClass="label" /> + + ADD OBJECT 'lb_totalctva' AS lb_simplu WITH ; + Anchor = 41, ; + Caption = "Total val.vanz. cu TVA", ; + ForeColor = 7,118,177, ; + Left = 558, ; + Name = "lb_totalctva", ; + Top = 109, ; + Visible = .F. + *< END OBJECT: ClassLib="lb.vcx" BaseClass="label" /> + + ADD OBJECT 'lbTotal' AS titlufrumos WITH ; + Anchor = 3, ; + AutoSize = .T., ; + Caption = "TOTAL NIR:", ; + ForeColor = 7,118,177, ; + Height = 20, ; + Left = 20, ; + Name = "lbTotal", ; + TabIndex = 6, ; + Top = 40, ; + Width = 77, ; + ZOrderSet = 10 + *< END OBJECT: ClassLib="baza.vcx" BaseClass="label" /> + + ADD OBJECT 'tx_totalctva' AS _txbase WITH ; + Alignment = 3, ; + Anchor = 161, ; + FontName = "Comic Sans MS", ; + Height = 20, ; + InputMask = (get_mask(12,gnPa)), ; + Left = 678, ; + Name = "tx_totalctva", ; + ReadOnly = .T., ; + SpecialEffect = 1, ; + TabStop = .F., ; + Top = 107, ; + Value = 0, ; + Visible = .F. + *< END OBJECT: ClassLib="_tx_base.vcx" BaseClass="textbox" /> + + ADD OBJECT 'txNir' AS _txbase WITH ; + Anchor = 3, ; + BackStyle = 1, ; + ControlSource = "thisform.ntotal", ; + DisabledBackColor = 255,255,255, ; + FontName = "Comic Sans MS", ; + Height = 21, ; + InputMask = (get_mask(12,gnPA)), ; + Left = 98, ; + Name = "txNir", ; + ReadOnly = .T., ; + SpecialEffect = 1, ; + TabIndex = 7, ; + Tag = "", ; + Top = 39, ; + Width = 152, ; + ZOrderSet = 11 + *< END OBJECT: ClassLib="_tx_base.vcx" BaseClass="textbox" /> + + ADD OBJECT 'Urmator1' AS urmator WITH ; + Anchor = 240, ; + Left = 373, ; + Name = "Urmator1", ; + TabIndex = 2, ; + Tag = "", ; + Top = 324, ; + ZOrderSet = 9, ; + Imbuton1.Height = 27, ; + Imbuton1.Name = "Imbuton1", ; + Imbuton1.Width = 30, ; + Command1.Name = "Command1" + *< END OBJECT: ClassLib="baza.vcx" BaseClass="container" /> + + PROCEDURE Activate + this.WindowState = 2 + ENDPROC + + PROCEDURE aleg_cont_transfer + PARAMETERS tnIdGest + lcSql = [select (case when p.explicatie is null then s.explicatie else p.explicatie end) as explicatie,] +; + [c.cont, p.acont from VCORESP_CONT_TIPGEST c ] +; + [left join vplcont_analitic p on c.cont = p.cont and p.an = ?gnAn ] +; + [left join vplcont_sintetic s on c.cont = s.cont and s.an = ?gnAn] + + pcFiltruOrig = [c.id_tipgest in (select nr_pag from vnom_gestiuni where id_gestiune = ?tnIdGest)] + pcfiltru = [1=2] + pcschema = [] + pcorder = [cont,acont] + pccoloane = [cont,acont,explicatie] + pcTitlu = [Alegeti Contul de Transfer] + pcTitluColoane = [Cont,Analitic,Explicatie cont] + locauta = cauta_alfa(lcSql,pcfiltru,pcschema,pcorder,pccoloane,pcTitlu,pcTitluColoane,'',.F.,pcFiltruOrig) && 11.07.2007 + + RETURN loCauta + ENDPROC + + PROCEDURE analiza_cmp + PARAMETERS tcRul, tcAct + + *!* 14.10.2006 + *!* mutu.marius + *!* tratare achizitie articol cu mai multe preturi + + LOCAL lcSql, lcCursor, lnSucces + PRIVATE poArticol + *** alocare numar NIR pt rulajele generate de CMP + + *** dezaloc in caz ca trece de mai multe ori prin metoda asta + IF THISFORM.numar_plaja1.id_numar # 0 + THISFORM.numar_plaja1.dezalocare_numar() + ENDIF + + lnIdEnt = 0 + THIS.numar_plaja1.id_entitate = lnIdEnt + THIS.numar_plaja1.tip = 4 && NIR PT CMP + THIS.numar_plaja1.serie = 2 && Asa transmit paramerii la procedura viz_config_serii din oproceduri_configurare.prg + THIS.numar_plaja1.alocare_numar() + lnNnir = THIS.numar_plaja1.numar_curent + *** + + SELECT * ; + FROM (tcRul) WITH (BUFFERING = .T.) ; + INTO CURSOR crsTempRul + + SELECT DISTINCT ID_ARTICOL, CONT FROM crsTempRul ; + INTO CURSOR crsArticoleTemp + + && pentru fiecare articol - se poate sa am acelasi articol cu mai multe preturi + SELECT crsArticoleTemp + SCAN + SCATTER NAME poArticol + + && selectez din stoc cantitatea si pretul existente pentru articolul curent + && posibil mai multe gestiuni ??? + lcSql = [SELECT cants+cant-cante as cante, pret, id_articol, id_gestiune, id_gestiune as id_gestout, cont,] + ; + [acont FROM stoc where an = ?gnAn and luna = ?gnluna and id_articol = ?poArticol.id_articol ] + ; + [and (cants+cant-cante)<>0 and TRIM(cont) = ?ALLTRIM(poArticol.cont)] + gcCondSucursala + lcCursorStoc = [tmpVer] + lnSucces = goExecutor.oExecute(lcSql, lcCursorStoc) + IF lnSucces < 0 + amessagebox(goExecutor.cEroare,0+16,"Eroare") + RETURN + ENDIF + + && pentru fiecare pozitie articol achizitionat din articolul curent + SELECT crsTempRul + SCAN FOR cant <> 0 AND id_articol = poArticol.id_articol + SCATTER NAME orul + + && scot articolul curent din rulaj la pretul de achizitie + *!* IF RECCOUNT(lcCursorStoc) > 0 + && il scot chiar daca nu il am in stoc - pentru ca s-ar putea sa fie achizitionat cu mai multe preturi + SELECT (tcRul) + APPEND BLANK + GATHER NAME orul + REPLACE cante WITH orul.cant, cant WITH 0, nnir WITH lnNnir, tva WITH 0 + REPLACE id_tip_rulaj WITH 2 && RULAJ ARTIFICIAL CMP + *!* ENDIF + + SELECT crsTempRul + ENDSCAN + + + *** scot din stoc articolul curent - cantitatea si pretul existente - inainte de achizitia curenta + IF USED(lcCursorStoc) + SELECT (lcCursorStoc) + SCAN + SCATTER NAME ointr + SELECT (tcRul) + APPEND BLANK + GATHER NAME orul + REPLACE cant WITH 0, cante WITH 0 + GATHER NAME ointr + REPLACE nnir WITH lnNnir + REPLACE id_tip_rulaj WITH 2 && RULAJ ARTIFICIAL CMP + SELECT (lcCursorStoc) + ENDSCAN + USE IN (lcCursorStoc) + ENDIF + + && aflu pretul mediu ponderat - selectez toate iesirile din rul_temp (articolele achizitionate si stocul precedent) + && pentru articol, cont curente + && un singur pret mediu ponderat pe articol, indiferent de gestiune + *!* 05.12.2006 + *!* MARIUS.MUTU + *!* LA RETUR FACTURA FURNIZOR CANTITATE NEGATIVA, DACA E RETUR LA TOATA CANTITATEA DIN STOC, + *!* CANTITATEA TOTALA = 0, NUMERIC OVERFLOW LA CALCUL CMP + *!* AM FACUT ABS(CANTE) + SELECT SUM(ROUND(PRET*ABS(cante),gnPc)) AS valoare, SUM(ABS(cante)) AS cantitate, ID_ARTICOL, CONT ; + FROM (tcRul) WITH (BUFFERING = .T.) ; + WHERE cante <> 0 AND ID_ARTICOL = poArticol.ID_ARTICOL AND CONT = poArticol.CONT ; + GROUP BY ID_ARTICOL, CONT ; + INTO CURSOR tCmp + + + SELECT tCmp + SCAN + SCATTER NAME ocmp + && pretul mediu ponderat + lnCMP = ROUND(ocmp.valoare/ocmp.cantitate, gnPpret) + + && articol, gestiune, cantitate_totala (cantitate achizitionata cu toate preturile + stoc) + SELECT id_articol, id_gestiune, SUM(cante) AS cant ; + FROM (tcRul) WITH (BUFFERING = .T.) ; + WHERE ID_ARTICOL = ocmp.ID_ARTICOL AND cante <> 0 AND CONT = ocmp.CONT ; + GROUP BY id_gestiune, ID_ARTICOL ; + INTO CURSOR crsCantGest + + && adaug in rulaj intrarea cu toata cantitatea (achizitionata + stoc) la noul pret mediu ponderat + SELECT crsCantGest + SCAN + SCATTER NAME ocant + SELECT (tcRul) + APPEND BLANK + GATHER NAME orul + REPLACE PRET WITH lnCMP, cant WITH 0, cante WITH 0, tva WITH 0 + GATHER NAME ocant + REPLACE nnir WITH lnNnir + REPLACE id_tip_rulaj WITH 2 && RULAJ ARTIFICIAL CMP + SELECT crsCantGest + ENDSCAN + USE IN crsCantGest + + && diferente de pret din rotunjiri + IF ROUND(lnCMP * ocmp.cantitate, gnPc) - ocmp.valoare <> 0 + SELECT (tcAct) + APPEND BLANK + GATHER NAME poact + REPLACE nnir WITH lnNnir + REPLACE scd WITH ocmp.CONT, scc WITH IIF(LEFT(ocmp.cont,3) = '371', '378', '308'), ascd WITH '', ascc WITH '' + REPLACE suma WITH ROUND(lnCMP*ocmp.cantitate,gnPc) - ocmp.valoare + ENDIF + + SELECT tCmp + ENDSCAN + + USE IN tCmp + ENDSCAN && crsArticoleTemp + USE IN crsArticoleTemp + + SELECT (tcRul) + + && program vechi + + *!* PARAMETERS tcRul, tcAct + + *!* *** alocare numar NIR pt rulajele generate de CMP + + *!* *** dezaloc in caz ca trece de mai multe ori prin metoda asta + *!* IF thisform.numar_plaja1.id_numar # 0 + *!* thisform.numar_plaja1.dezalocare_numar() + *!* ENDIF + + *!* lnIdEnt = 0 + *!* this.numar_plaja1.id_entitate = lnIdEnt + *!* this.numar_plaja1.tip = 4 && NIR PT CMP + *!* this.numar_plaja1.serie = 2 && Asa transmit paramerii la procedura viz_config_serii din oproceduri_configurare.prg + *!* this.numar_plaja1.alocare_numar() + *!* lnNnir = this.numar_plaja1.numar_curent + *!* *** + + *!* SELECT * FROM (tcRul) WITH (BUFFERING = .T.) INTO CURSOR crsTempRul + *!* SELECT crsTempRul + *!* SCAN FOR cant <> 0 + *!* SCATTER NAME orul + *!* lcCont = ALLTRIM(orul.cont) + *!* lcsql = [SELECT cants+cant-cante as cante, pret, id_articol, id_gestiune, id_gestiune as id_gestout, cont, acont FROM stoc where an = ?gnAn and luna = ?gnluna and id_articol = ?orul.id_articol and (cants+cant-cante)<>0 and TRIM(cont) =?lcCont] + *!* lcCursor = [tmpVer] + *!* lnSucces = goExecutor.oExecute(lcSql,lcCursor) + *!* If lnSucces < 0 + *!* amessagebox(goExecutor.cEroare,0+16,"Eroare") + *!* Return + *!* ENDIF + *!* IF RECCOUNT(lcCursor) > 0 + *!* SELECT (tcRul) + *!* APPEND BLANK + *!* GATHER NAME orul + *!* REPLACE cante WITH orul.cant, cant WITH 0, nnir WITH lnNnir + *!* ENDIF + *!* SELECT (lcCursor) + *!* SCAN + *!* SCATTER NAME ointr + *!* SELECT (tcRul) + *!* APPEND BLANK + *!* GATHER NAME orul + *!* REPLACE cant WITH 0, cante WITH 0 + *!* GATHER NAME ointr + *!* REPLACE nnir WITH lnNnir + *!* SELECT (lcCursor) + *!* ENDSCAN + *!* USE IN (lcCursor) + *!* + *!* *!* SELECT (tcRul) + *!* *!* LOCATE + + *!* && aflu pretul mediu ponderat + *!* SELECT SUM(ROUND(pret*cante,gnPc)) as valoare, SUM(cante) as cantitate, id_articol, cont ; + *!* FROM (tcRul) WITH (BUFFERING = .T.) ; + *!* WHERE cante <> 0 AND id_articol = orul.id_articol ; + *!* GROUP BY id_articol, cont ; + *!* INTO CURSOR tCmp + *!* + *!* SELECT tCmp + *!* SCAN + *!* SCATTER NAME ocmp + *!* lnCMP = ROUND(ocmp.valoare/ocmp.cantitate,gnPc) + *!* + *!* SELECT id_gestiune, SUM(cante) as cant FROM (tcRul) WITH (BUFFERING = .T.) ; + *!* WHERE id_articol = ocmp.id_articol AND cante <> 0 AND cont = ocmp.cont ; + *!* GROUP BY id_gestiune, id_articol ; + *!* INTO CURSOR crsCantGest + *!* + *!* SELECT crsCantGest + *!* SCAN + *!* SCATTER NAME ocant + *!* SELECT (tcRul) + *!* APPEND BLANK + *!* GATHER NAME orul + *!* REPLACE pret WITH lnCMP, cant WITH 0, cante WITH 0 + *!* GATHER NAME ocant + *!* REPLACE nnir WITH lnNnir + *!* SELECT crsCantGest + *!* ENDSCAN + *!* USE IN crsCantGest + *!* IF ROUND(lnCMP*ocmp.cantitate,gnPc) - ocmp.valoare <> 0 + *!* SELECT (tcAct) + *!* APPEND BLANK + *!* GATHER NAME poact + *!* REPLACE nnir WITH lnNnir + *!* REPLACE scd WITH ocmp.cont, scc WITH '308 ', ascd WITH '', ascc WITH '' + *!* REPLACE suma WITH ROUND(lnCMP*ocmp.cantitate,gnPc) - ocmp.valoare + *!* ENDIF + *!* SELECT tCmp + *!* ENDSCAN + *!* USE IN tCmp + *!* SELECT crsTempRul + *!* ENDSCAN + *!* USE IN crsTempRul + + *!* SELECT (tcRul) + ENDPROC + + PROCEDURE assign_analitic + PARAMETERS tcCont,pcAct,pcRul + + PRIVATE pcCont,pcAct,pcRul,pParamP,pParamS + STORE 0 TO pParamP,pParamS + lcAnalitic = '' + lcAlias = ALIAS() + + pcCont = ALLTRIM(tcCont) + + lcSel = [SELECT * from ] + gcs + [.config_analitice WHERE cont = '] + ALLTRIM(pcCont) + ['] + lcCursor = 'crs_cfg_ana' + lnSucces = goExecutor.oExecute(lcSel,lcCursor) + IF lnSucces < 0 + aMESSAGEBOX(goExecutor.cEroare,0+16,"Eroare") + ENDIF + + IF lnSucces > 0 + IF RECCOUNT('crs_cfg_ana')=0 + USE IN crs_cfg_ana + lnSucces = -1 + ENDIF + ENDIF + + IF lnSucces > 0 + SELECT crs_cfg_ana + SCATTER NAME ocfg + lcCampPrefix = NVL(ALLTRIM(ocfg.camp_leg_prefix),'') + lcCampSufix = NVL(ALLTRIM(ocfg.camp_leg_sufix),'') + + IF !EMPTY(lcCampPrefix) + IF TYPE('&pcRul..'+lcCampPrefix) # 'U' + pParamP = &pcRul..&lcCampPrefix + ELSE + IF TYPE('&pcAct..'+lcCampPrefix) # 'U' + pParamP = &pcAct..&lcCampPrefix + ENDIF + ENDIF + ENDIF + + IF !EMPTY(lcCampSufix) + IF TYPE('&pcRul..'+lcCampSufix) # 'U' + pParamS = &pcRul..&lcCampSufix + ELSE + IF TYPE('&pcAct..'+lcCampSufix) # 'U' + pParamS = &pcAct..&lcCampSufix + ENDIF + ENDIF + ENDIF + + lcSel = [{call fconturi_analitice('] + ALLTRIM(gcs) + [','] + ALLTRIM(pcCont) + [',0,] + TRANSFORM(pParamP) + [,] + TRANSFORM(pParamS) + [)}] + lcCursor = 'crs_analitice' + lnSucces = goExecutor.oExecute(lcSel,lcCursor) + + IF lnSucces < 0 + amessagebox(goExecutor.cEroare,0+16,"Eroare") + ENDIF + ENDIF + + && iau Primul Simbol Analitic din Tabel - ordonat pt ca e selectat cu Distinct + IF lnSucces > 0 + SELECT crs_analitice + GO top + lcAnalitic = ALLTRIM(acont) + ENDIF + + && verificare analiticului cu Planul de Conturi + IF lnSucces > 0 + lcSel = [SELECT cont,acont from ] + gcs + [.vplcont_analitic WHERE cont = '] + ALLTRIM(pcCont) + [' and acont = '] + ALLTRIM(lcAnalitic) + [' and an = ] + TRANSFORM(gnAn) + lcCursor = 'crs_verific' + lnSucces = goExecutor.oExecute(lcSel,lcCursor) + IF lnSucces < 0 + amessagebox(goExecutor.cEroare,0+16,"Eroare") + ENDIF + ENDIF + + IF lnSucces > 0 + IF RECCOUNT('crs_verific')=0 + lnSucces = -1 + ENDIF + ENDIF + + IF USED('crs_cfg_ana') + USE IN crs_cfg_ana + ENDIF + IF USED('crs_verific') + USE IN crs_verific + ENDIF + IF USED('crs_analitice') + USE IN crs_analitice + ENDIF + IF USED('crs_verific') + USE IN crs_verific + ENDIF + + IF lnSucces < 0 + lcAnalitic = '' + ENDIF + + SELECT (lcAlias) + RETURN lcAnalitic + + ENDPROC + + PROCEDURE assign_values + PARAMETERS tcObjDestinatie, tcObjSursa1, tcObjSursa2 + + lcSelRul = this.ct_grid_order1.cnumecursor + + lcOdest = ALLTRIM(tcObjDestinatie) + lcOsursa1 = ALLTRIM(tcObjSursa1) + lcOsursa2 = ALLTRIM(tcObjSursa2) + + SELECT (lcSelRul) + FOR i = 1 TO FCOUNT() + lcNumeCol = FIELD(i) + IF TYPE('&lcOsursa1..'+lcNumeCol) # 'U' + &lcodest..&lcNumeCol = &lcosursa1..&lcNumeCol + ENDIF + IF TYPE('&lcOsursa2..'+lcNumeCol) # 'U' + IF EMPTY(&lcodest..&lcNumeCol) + &lcodest..&lcNumeCol = &lcosursa2..&lcNumeCol + ENDIF + ENDIF + ENDFOR + + + + + + + ENDPROC + + PROCEDURE bon_fiscal + PRIVATE pnSumaMp500 + + pnSumaMp500 = thisform.ct_factura1.txTotal.Value + + ocasamp500 = CREATEOBJECT('frm_tichete',pnSumaMp500) + ocasamp500.show(1) + RELEASE ocasamp500 + + ENDPROC + + PROCEDURE calcul_pret_vanzare + PARAMETERS tcTabel + + LOCAL lnPretv, lnTvav, lnCoefAdaos, lnSuma, lcTabel + STORE 0 TO lnPretv, lnTvav, lnCoefAdaos, lnSuma + + IF EMPTY(tcTabel) + lcTabel = this.ct_grid_order1.cnumecursor + ELSE + lcTabel = ALLTRIM(tcTabel) + ENDIF + + SELECT (lcTabel) + SUM ROUND(ABS(cante*pret),gnPc) TO lnSuma + + IF lnSuma <> 0 + lnCoefAdaos = (pcobj.totftva-lnSuma)/lnSuma && coeficientul mediu de adaos + ELSE + lnCoefAdaos = 1 + ENDIF + + SELECT (lcTabel) + SET FILTER TO + REPLACE ALL proc_tvav WITH pcobj.proc_tva, procent WITH ROUND(lnCoefAdaos*100,2) + CALCULATE cnt() TO lnRecords + i = 0 + SCAN + i = i + 1 + REPLACE pretv WITH ROUND(pret + ROUND(pret*lnCoefAdaos,gnPc),gnPc) && modificare 14.09.2007 + REPLACE tvav WITH ROUND(pretv*(proc_tvav-1),gnPc) + lnPretv = lnPretv + ROUND(pretv*cante,gnPC) + lnTvav = lnTvav + ROUND(tvav*cante,gnPC) + IF i = lnRecords + IF lnPretv # pcobj.totftva + REPLACE pretv WITH pretv + ROUND((pcobj.totftva - lnPretv)/cante,gnPc) + ENDIF + IF lnTvav # pcobj.tottva + REPLACE tvav WITH tvav + ROUND((pcobj.tottva - lnTvav)/cante,gnPc) + ENDIF + ENDIF + ENDSCAN + + ENDPROC + + PROCEDURE calcul_sume + Parameters tcTabel + *!* *!* *!* *!* *!* *!* *!* *!* *!* *!* *!* *!* *!* *!* *!* *!* *!* *!* *!* *!* *!* *!* *!* *!* + *!* Model =-1 : Nota fara contabilizare + *!* Model = 1 : Nota simpla cu contabilizare + *!* Model = 2 : NIR + *!* Model = 3 : BON/FACTURA VANZARE + *!* Model = 4 : Retur BON/FACTURA VANZARE + *!* Model = 5 : Transfer + *!* Model = 6 : Retur Transfer + *!* Model = 7 : Diferenta de pret + + *!* Param1 = 1 : En-detail + *!* Param1 = 2 : En-gros + *!* *!* *!* *!* *!* *!* *!* *!* *!* *!* *!* *!* *!* *!* *!* *!* *!* *!* *!* *!* *!* *!* *!* *!* + + *!* v 2.0.18 - am calculat total cu tva, total tva, total fara tva = diferenta, adaos + *!* daca gnTipGest = 6 (marfa la pret de vanzare) - valoarea fara tva = valoarea cu tva - valoarea cu tva + + Store 0 To lnTotBaza, lnTotTva, lnBazaDiscount, lnBazaAdaos, lnTvaDiscount, lnTvaAdaos + + If Pcount() = 0 + tcTabel = Alltrim(This.ct_grid_order1.cnumecursor) + Endif + + *lcCant = [cant] + IIF(INLIST(oset.model, 3, 4),[e],[]) && 3 = bon, bon retur + lcCant = This.osel_dr.cantitate + llCalculFact = Iif(oset.param1 = 2, .F., .T.) && daca e En-gros (vanzare) nu mai recalculez Total factura + + If This.ct_discount1.Visible = .T. + lnBazaDiscount = This.ct_discount1.baza_discount + lnTvaDiscount = This.ct_discount1.tva_discount + Endif + + If oset.adaos + Do Case + Case oset.param1 = 1 && factura de vanzare en-detail + Select (tcTabel) + Sum Round(&lcCant*Pret,gnPc) To Thisform.ntotal + *!* v 2.0.18 - am calculat total cu tva, total tva, total fara tva = diferenta, adaos + If gnTipGest <> 6 && calculez valftva si valtva pornind de la pretv in loc de (pretv+tvav) + Sum Round(&lcCant*pretv - &lcCant*Pret,gnPc) To lnBazaAdaos + *!* modificare 31.10.2006 + *!* SUM ROUND(ROUND((pretv+tvav)/proc_tvav,gnPc)*&lcCant,gnPc) TO lnTotBaza + *!* SUM ROUND(ROUND((pretv+tvav)*(proc_tvav-1)/proc_tvav,gnPc)*&lcCant,gnPc) TO lnTotTva + Sum Round(pretv*&lcCant,gnPc) To lnTotBaza + Sum Round(Round(pretv*&lcCant,gnPc)*(proc_tvav-1),gnPc) To lnTotTva + *!* modificare 31.10.2006 ^ + Else + Sum Round(Round(pretv+tvav,gnPc)*&lcCant,gnPc) To lnTotctva + Sum Round(Round((pretv+tvav)*&lcCant,gnPc)*(proc_tvav-1)/proc_tvav,gnPc) To lnTotTva + lnTotBaza = lnTotctva - lnTotTva + lnBazaAdaos = lnTotBaza - thisform.nTotal + EndIf + *!* v 2.0.18 ^ + + *!* modificare v 2.0.6 + If oset.id_set = 75 && Transfer catre gestiune la pret de vanzare + *!* v 2.0.18 - am calculat total cu tva, total tva, total fara tva = diferenta, adaos + If gnTipGest <> 6 && calculez valftva si valtva pornind de la pretv in loc de (pretv+tvav) + Sum Round(tvav*&lcCant,gnPc) To lnTotTvav + Else + Sum Round(Round(pretv*&lcCant,gnPc)*(proc_tvav-1),gnPc) To lnTotTvav + EndIf + Thisform.tx_totalctva.Value = lnTotTvav + lnTotBaza + Endif + *!* modificare v 2.0.6 ^ + + Case oset.param1 = 2 && factura de vanzare en-gros + This.ct_factura1.totctva = pcobj.totctva + This.ct_factura1.totftva = pcobj.totftva + This.ct_factura1.tva = pcobj.tottva + + Select (tcTabel) + Sum Round(&lcCant*Pret,gnPc) To Thisform.ntotal + lnTotBaza = This.ntotal + lnBazaAdaos = This.ct_factura1.totftva - Thisform.ntotal + This.ct_adaos1.baza_adaos = lnBazaAdaos + Otherwise + Select (tcTabel) + Sum Round(&lcCant*Pret,gnPc) To Thisform.ntotal + lnTotBaza = This.ntotal + Sum Round(Round(&lcCant*Pret,gnPc) * (proc_tva-1),gnPc) To lnTotTva + *!* v 2.0.18 - am calculat total cu tva, total tva, total fara tva = diferenta, adaos + If gnTipGest <> 6 + Sum Round(&lcCant*pretv - &lcCant*Pret,gnPc) To lnBazaAdaos + Else + Sum Round(Round(pretv+tvav,gnPc)*&lcCant,gnPc) To lnTotctvaOther + Sum Round(Round((pretv+tvav)*&lcCant,gnPc)*(proc_tvav-1)/proc_tvav,gnPc) To lnTotTvaOther + lnTotfTvaOhter = m.lnTotctvaOther - m.lnTotTvaOther + lnBazaAdaos = m.lnTotfTvaOhter - m.lnTotBaza + EndIf + *!* v 2.0.18 - am calculat total cu tva, total tva, total fara tva = diferenta, adaos + Endcase + Select (tcTabel) + Sum procent To lnProcent + Calculate Cnt() To lnNrRecord + lnProcent = lnProcent/lnNrRecord + + This.ct_adaos1.baza_adaos = lnBazaAdaos + This.ct_adaos1.proc_adaos = lnProcent + Else + Select (tcTabel) + Sum Round(&lcCant*Pret,gnPc) To Thisform.ntotal + lnTotBaza = Thisform.ntotal + + Sum Round(Round(&lcCant*Pret,gnPc) * (proc_tva-1),gnPc) To lnTotTva + + Endif + + + If oset.factura And llCalculFact + *!* modificare facturare in valuta 21.09.2007 + If oset.cursval + Select (tcTabel) + *!* v 2.0.18 - am calculat total cu tva, total tva, total fara tva = diferenta, adaos + If gnTipGest <> 6 && calculez valftva si valtva pornind de la pretv in loc de (pretv+tvav) + Sum Round(&lcCant*pretvval,gnPc),Round(Round(&lcCant*pretvval,gnPc)*(proc_tvav-1),gnPc) To lnTotalFTvaVal,lnTotalTvaVal + Else + Sum Round(Round(pretvval*proc_tvav,gnPVal)*&lcCant,gnPVal) to lnTotalCTvaVal + Sum Round(Round(Round(pretvval*proc_tvav,gnPVal)*&lcCant,gnPVal)*(proc_tvav-1),gnPVal) To lnTotalTvaVal + lnTotalFTvaVal = m.lnTotalCTvaVal - m.lnTotalTvaVal + EndIf + *!* v 2.0.18 ^ + With Thisform.ct_factura2 + .totftva = lnTotalFTvaVal + .tva = lnTotalTvaVal + .totctva = lnTotalFTvaVal + lnTotalTvaVal + .Refresh() + Endwith + lnTotBaza = Round(lnTotalFTvaVal * poAct.Curs,gnPc) + lnTotTva = Round(lnTotalTvaVal * poAct.Curs,gnPc) + Endif + *!* modificare facturare in valuta 21.09.2007 ^ + With This.ct_factura1 + If oset.model = 2 && NIR + lnBazaAdaos = 0 + lnTvaAdaos = 0 + Endif + .totftva = lnTotBaza - lnBazaDiscount + .tva = lnTotTva - lnTvaDiscount + .totctva = .totftva + .tva + Endwith + Endif + + *!* modificare v 2.0.6 + Do Case + Case INLIST(oset.id_set , 216,257) && Intrare din transfer de la gest. valorica la pret de vanz. + Select (tcTabel) + *!* v 2.0.18 - am calculat total cu tva, total tva, total fara tva = diferenta, adaos + If gnTipGest <> 6 && calculez valftva si valtva pornind de la pretv in loc de (pretv+tvav) + Sum Round(pretv*cant,gnPc) To lnTotBaza216 + Sum Round(tvav*cant,gnPc) To lnTotTvav + Else + Sum Round(Round(pretv+tvav,gnPc)*&lcCant,gnPc) To lnTotctva216 + Sum Round(Round((pretv+tvav)*&lcCant,gnPc)*(proc_tvav-1)/proc_tvav,gnPc) To lnTotTvav + lnTotBaza216 = lnTotctva216 - lnTotTvav + EndIf + *!* v 2.0.18 ^ + Thisform.tx_totalctva.Value = lnTotTvav + lnTotBaza216 + *!* modificare v 2.0.8 + *!* modificare v 2.0.13 + *!* modificare v 2.0.15 - protocol + Case Inlist(oset.id_set, 230, 232, 233,261) && protocol + Select (tcTabel) + Sum Round((pretv+tvav)*cante,gnPc) To lnTotal230 + Thisform.tx_totalctva.Value = lnTotal230 + *!* modificare v 2.0.15 ^ + *!* modificare v 2.0.13 ^ + *!* modificare v 2.0.8 ^ + Endcase + *!* modificare v 2.0.6 ^ + + This.txNir.Refresh + This.ct_factura1.Refresh + This.ct_factura2.Refresh + This.ct_adaos1.Refresh + + ENDPROC + + PROCEDURE caut_gestiune + PARAMETERS tnFel + + IF EMPTY(tnFel) + tnFel = 0 + ENDIF + + IF tnFel = 1 && pret vanzare + lcCond = [nr_pag = 6] + ELSE + lcCond = [nr_pag in (2,3,4,5)] + ENDIF + + pcselect = [select * from vnom_GESTIUNI] + pcFiltruOrig = [inactiv = 0 and ] + lcCond + pcfiltru = [1=2] + pcschema = [] + pcorder = [NUME_gestiune] + pccoloane = [nume_gestiune,cgest] + pcTitlu = [Nume Gestiune Destinatie] + pcTitluColoane = [Gestiune,Indicativ] + locauta = cauta_alfa(pcselect,pcfiltru,pcschema,pcorder,pccoloane,pcTitlu,pcTitluColoane,'',.F.,pcFiltruOrig) && 11.07.2007 + + RETURN locauta + ENDPROC + + PROCEDURE compensare + IF USED('xcont') + SELECT xcont + LOCATE FOR Pozitie # Fel_Cont AND Cu_Inregistrari = 1 + IF FOUND() + pcContul = ALLTRIM(cont_part) + pnIdPart = idPart + pcNume = numepart + pnFelCont = Fel_Cont + pcDenumire = ALLTRIM(explic_cont) + + pcCond = [ an = ?gnAn and luna = ?gnluna] + + llval = .F. && Deocamdata e doar in lei + IF llval + pccond= pccond + [ and ABS(i.precvaldeb + i.valdebit - i.precvalcred - i.valcredit)>0 and i.id_valuta = ] + ALLTRIM(STR(&lcObj..id_valuta)) + ELSE + pccond= pccond + [ and (i.precvaldeb + i.valdebit - i.precvalcred - i.valcredit = 0) ] + ENDIF + + + + pcselect = ['select i.* FROM ] + gcs + [.Vireg_parteneri i where 2=2 '] + pcfiltru = [ i.id_part = ?pnIdPart AND ABS(i.precdeb + i.debit - i.preccred - i.credit)<>0 AND i.cont = ?pcContul and ] + pcCond + pcschema = [''] + pcorder = [''] + + PRIVATE podateintrod + STORE '' TO podateintrod + + gencursor('podateintrod','crs_actcv',pcselect,pcfiltru,[''],'') + + lcFis = 'actcv' + ALLTRIM(pcContul) + + IF USED(lcFis) + USE IN &lcFis + ENDIF + + IF pnFelCont = 0 + lcsel = [SELECT *, ACONT AS ASCC, nume_val as numeval, curs as cursschimb, precdeb + debit as totctva, preccred+credit as achitat, ] +; + [precvaldeb + valdebit AS sumaval, precVALcred+VALcredit as achitatval, ] +; + [.f. as ales, 00000000000000.0000 as sumaachi, 000000000000.0000 as sumaachi2, 00000000000000.0000 as achilei, 00000000000000.0000 as difplus, 00000000000000.0000 as difminus, 000000.0000 as cursval, 000000.0000 as cursdif ] +; + [FROM crs_actcv INTO CURSOR ] + lcFis + [ READWRITE ] + ELSE + lcsel = [SELECT *, ACONT AS ASCD, nume_val as numeval, curs as cursschimb, preccred + credit as totctva, precdeb+debit as achitat, ] + ; + [precvalcred + valcredit as sumaval, precVALdeb+VALdebit as achitatval, ] + ; + [.f. as ales, 00000000000000.0000 as sumaachi, 00000000000000.0000 as sumaachi2, 00000000000000.0000 as achilei, 00000000000000.0000 as difplus, 00000000000000.0000 as difminus, 000000.0000 as cursval, 000000.0000 as cursdif ] + ; + [FROM crs_actcv INTO CURSOR ] + lcFis + [ READWRITE ] + ENDIF + &lcsel + + SELECT (lcFis) + + OPLATA=CREATEOBJECT('ocompensari') + * oplata.txtNume.value =lcNume + OPLATA.titlufrumos1.CAPTION = pcDenumire + [: ] + pcNume + OPLATA.pcFis = lcFis + OPLATA.SUMA = THIS.ct_factura1.totctva + OPLATA.pnFelCont = pnFelCont + OPLATA.SHOW(1) + + *!* SELECT (lcfis) + *!* CALCULATE cnt() FOR ales TO LnBife + *!* IF LnBife=1 + *!* LOCATE FOR ALES + *!* &M=nract + *!* ELSE + *!* &M=0 + *!* ENDIF + ENDIF + ENDIF + ENDPROC + + PROCEDURE do_adauga + PRIVATE pnpretvtva + pnpretvtva = 0 + lcNomArt = this.ct_grid_search1.cnumecursor + SELECT (lcNomArt) + SCATTER NAME lorec BLANK MEMO + + *!* 18.050.2007 + *!* marius.mutu + *!* articolul nou sa fie initializat ca gestionabil (orice program fara ROAPRETURI) + IF TYPE('gcNumeProgram') = 'C' AND gcNumeProgram <> 'ROAPRETURI' + loRec.in_stoc = 1 + ELSE + loRec.in_crm = 1 + ENDIF + *!* 18.050.2007 ^ + + PRIVATE poCote_tva + STORE '' TO poCote_tva + + DO Adauga_Modifica_Inregistrare WITH [catalog_articole],lorec,,[INSERT] + this.ct_grid_search1.actualizeaza_grid + ENDPROC + + PROCEDURE do_modifica + lcNomArt = this.ct_grid_search1.cnumecursor + SELECT (lcNomArt) + SCATTER NAME lorec + + PRIVATE poCote_tva + STORE '' TO poCote_tva + + lnId = lorec.id_articol + DO Adauga_Modifica_Inregistrare WITH [catalog_articole],lorec,lnId,[UPDATE] + this.ct_grid_search1.actualizeaza_grid + ENDPROC + + PROCEDURE do_sterge + LOCAL lnRecno, lcSelRul + lcSelRul = this.ct_grid_order1.cnumecursor + + SELECT (lcSelRul) + *SCATTER NAME osterg + lnRecno = RECNO() + DELETE + + *!* MODIFICAT 11.04.2006 + *!* MARIUS.MUTU - AM PUS RECNO('RUL_TEMP') IN CURSORUL DE TRANSFER - LA STERGERE SA POT STERGE SI LINIA CORESPONDENTA DIN CRSTRANSFER + IF INLIST(oset.model,5,6,7) AND USED('crsTransfer') + SELECT crsTransfer + GOTO lnRecno + DELETE + this.ct_grid_order1.cb_tx_gestin.SetFocus() + ENDIF + + this.ct_grid_order1.actualizeaza_grid + this.calcul_sume + + + ENDPROC + + PROCEDURE do_termin + If This.inainte_de_do_termin() + lcSelRul = This.ct_grid_order1.cnumecursor + lcSelSt = This.ct_grid_search1.cnumecursor + gnButon = 1 + pnButon = 1 + Buton = 1 + pnIesire = 1 + *this.Hide + + If Type('pnTipCasaMarcat') = 'U' + pnTipCasaMarcat = 1 + Endif + If Type('glListareBonFiscal')<>'U' And glListareBonFiscal And pnTipCasaMarcat#1 + lcStringmp500 = '' + Thisform.bon_fiscal() + If gnButon<>1 + Return + Endif + Endif + + Select actactan + If !Inlist(poact.id_set, 26001) && PV de productie + This.AlwaysOnTop = .F. + Do Form verificare With .T.,.T.,3 && cu buton de precedent + This.AlwaysOnTop = .T. + Endif + Do Case + Case gnButon = 3 + *onirbon.visible = .t. + Do nrord With lcSelRul + Otherwise + This.Release + Endcase + Endif + ENDPROC + + PROCEDURE do_verifica_sume + tcTabel = Alltrim(This.ct_grid_order1.cnumecursor) + Select (tcTabel) + Replace id_valuta_vanz With poAct.id_valuta_vanz All + Calculate Sum(Round(pretvval*cante,gnPc)),Sum(Round(pretv*cante,gnPc)) To lnTotalVal,lnTotalLei + lnTotalVal = Round(lnTotalVal*poAct.Curs,gnPc) + If lnTotalVal <> lnTotalLei + lnDiferenta = lnTotalVal - lnTotalLei + lnSemn = Sign(lnDiferenta) + *!* lnDiferenta = Abs(lnDiferenta) + lnDiferenta = lnDiferenta + lnDiferentaPretU = Exp((-1)*gnPc*Log(10)) + lnModificari = 1 + + Do While lnModificari <> 0 + lnModificari = 0 + Select (tcTabel) + Scan + lnDiferentaPret = Round(lnDiferentaPretU*cante,gnPc) + lnSemnPret = Sign(lnDiferentaPret) + If Abs(lnDiferentaPret) <= Abs(lnDiferenta) + lnDiferenta = lnDiferenta - lnSemn * lnDiferentaPret + Replace pretv With pretv + lnSemn * lnSemnPret * lnDiferentaPretU + lnModificari = lnModificari + 1 + Endif + Endscan + Enddo + Endif + + ENDPROC + + PROCEDURE inainte_de_do_termin + Local lcSelRul, lcSelRulGr,lcContTr, lcAcontTr, lcRul, lcSql, lcCursor, lnSucces, lcCant, lnIdGestiuneTr + + Store '' To lcContTr, lcAcontTr + lnIdGestiuneTr = 0 + lcSelRulGr = This.ct_grid_order1.cnumecursor + Local lnRecno + lnRecno = 0 + pnBazaV341 = 0 + pnBazaV346 = 0 + pnBazaVProd = 0 + pnBazaVAmb = 0 + pnBazaVal341 = 0 + pnBazaVal346 = 0 + pnBazaValProd = 0 + pnBazaValAmb = 0 + + *!* 15.03.2007 + Local llY + llY = .F. + *!* 15.03.2007 ^ + *!* modificare facturare in valuta 24.09.2007 + If oset.cursval + Thisform.do_verifica_sume() + Endif + *!* modificare facturare in valuta 24.09.2007 ^ + + Thisform.compensare && PT 542 ; se completeaza actactanul in adunadate + + *** completez tabela ACTACTAN + If Type('oitem') = 'O' + If Pemstatus(oitem,'adunadate',5) + oitem.adunadate() + Endif + Endif + *** + + If Used('rul_temp') + Use In rul_temp + Endif + && completez RUL_TEMP + lcRul = Alltrim(This.osel_dr.cfrom) + lcSql = [select v.*,0 as pretvval,0 as curs,0 as id_valuta_vanz,0 as id_jtva_coloana, v.id_gestiune as id_gestin, v.nume_gestiune as gestin, v.id_gestiune as id_gestout, v.nume_gestiune as gestout, 0 as nuInConturiX] + + && VRUL_OBINV NU ARE CODMATF, LOT, ADATA_EXPIRARE SI NU SE MAI SALVEAZA LOT, ADATA_EXPIRARE IN RUL + IF 'obinv'$LOWER(lcRul) + lcSql = lcSql + [,rpad(' ',50,' ') as codmatf, rpad(' ',50,' ') as lot, to_date('') as adata_expirare] + ENDIF + lcSql = lcSql + [ from ] + lcRul + [ where 1=2] + lcCursor = [rul_temp] + lnSucces = goExecutor.oExecute(lcSql,lcCursor) + If lnSucces < 0 + Return .F. + Endif + + + Select rul_temp + Append From Dbf(lcSelRulGr) + lcSelRul = 'rul_temp' + + If oset.productie + Do Case + Case Alltrim(Upper(oset.formproduc))='FRM_ALEGE_PROD_CANT' + Thisform.intrare_produs() + Case INLIST(Alltrim(Upper(oset.formproduc)),'FRM_ALEGE_SECTIE_COMANDA','FRM_ALEGE_SECTIE') + Select actactan + *!* modificare 03.09.2007 + *!* Replace id_sectie With pnId_sectie, sectie With pcSectie For Inlist(nr_nota,1,2,5) + Replace id_sectie With 0, sectie With '' For Inlist(nr_nota,4) + Endcase + Endif + + *!* 15.03.2007 + *!* pentru intrare dintr-o gestiune tinuta doar valoric - trebuie contul + *!* daca exista Y (trebuie sa aleaga contul de transfer) + Select xscd As SCD, xscc As scc From XNOTE Where id_set = oset.id_set ; + AND (Inlist(Upper(Alltrim(xscd)),'Y') Or Inlist(Upper(Alltrim(xscc)),'Y')); + INTO Cursor crsY + If _Tally > 0 Or Inlist(oset.model, 5, 6, 7) + llY = .T. + Endif + Use In crsY + *!* 15.03.2007 ^ + + If Inlist(oset.model, 5, 6, 7) && TRANSFER, RETUR TRANSFER + + Select (lcSelRul) + lnRecno = Recno() + If oset.id_set = 211 && TRANSFER GESTIUNE OB INV IN FOLOSINTA PE PERSOANA CATRE O MAGAZIE OB INV IN FOLOSINTA + Replace id_responsabil With 0, nresp With '' + Endif + + If Used('crsTransfer') + Append From Dbf('crsTransfer') + + If oset.id_set = 210 && TRANSFER MAGAZIE OB INV IN FOLOSINTA CATRE O GESTIUNE OB INV IN FOLOSINTA PE PERSOANA + Replace id_responsabil With 0, nresp With '' For Recno() > lnRecno + Endif + + *!* modificare 22.05.2007 + *** se modifica pretul de ach. pentru intrari + If oset.id_set = 218 + Replace Pret With pretv For cant <> 0 + Endif + *!* modificare 22.05.2007 ^ + Endif + + If !Inlist(oset.id_set,89, 210, 211, 212) && (FARA TRANSFER INTRE PERSOANE) + If Inlist(oset.id_seldr,11,16,18) && achizitie + poGestTr = This.caut_gestiune() + Endif + If oset.id_seldr = 12 && vanzare + poGestTr = This.caut_gestiune(1) + Endif + If Empty(poGestTr.Id_gestiune) && renunt + Return .F. + Endif + + && Dc poGestTr.Id_gestiune nu e empty aleg contul de transfer si analiticul + + loCont = This.aleg_cont_transfer(poGestTr.Id_gestiune) + + If Empty(loCont.Cont) && renunt + Return .F. + Endif + + Select (lcSelRul) + Replace All id_gestin With poGestTr.Id_gestiune, gestin With poGestTr.nume_gestiune &&FOR cant <> 0 + Do Case + Case Inlist(oset.model,5,7) && transfer + Replace All Id_gestiune With poGestTr.Id_gestiune, nume_gestiune With poGestTr.nume_gestiune For cant <> 0 + Case oset.model = 6 && retur + Replace All Id_gestiune With poGestTr.Id_gestiune, nume_gestiune With poGestTr.nume_gestiune For cante <> 0 + Endcase + + lcContTr = loCont.Cont + lcAcontTr = loCont.acont + + Select actactan + Replace All SCD With lcContTr, ascd With lcAcontTr, id_gestin With poGestTr.Id_gestiune, gestin With poGestTr.nume_gestiune For Upper(Alltrim(SCD)) = 'Y' + Select (lcSelRul) + If oset.model = 6 + lcCant = Thisform.osel_dr.cantitate + Else + lcCant = [cant] + Endif + Replace All Cont With lcContTr, acont With lcAcontTr For &lcCant <> 0 + *!* REPLACE ALL id_gestiunec WITH id_gestout FOR cant <> 0 + *!* REPLACE ALL id_gestiunec WITH id_gestin FOR cante <> 0 + *!* REPLACE ALL nuInConturiX WITH 1 FOR cant <> 0 + Endif + Select (lcSelRul) + Replace All id_gestiunec With id_gestout For cant <> 0 + Replace All id_gestiunec With id_gestin For cante <> 0 + Replace All nuInConturiX With 1 For cant <> 0 + Endif + + Select (lcSelRul) + + If oset.param1 = 2 And oset.factura && factura en-gros + This.calcul_pret_vanzare(lcSelRul) + *!* modificare 31.10.2006 + pnTotalFactura = This.ct_factura1.totctva + pnBazaFactura = This.ct_factura1.totftva + pnTvaFactura = This.ct_factura1.tva + + Select rul_temp + Calculate Sum(Round(Round(pretv,gnPc)*cante,gnPc)),; + SUM(Round(Round(Round(pretv,gnPc)*cante,gnPc)*(proc_tvav-1),gnPc)) ; + TO lnBazaFactura,lnTvaFactura + + Do Case + Case lnBazaFactura <> pnBazaFactura And lnTvaFactura <> pnTvaFactura + lcMesaj = [Diferenta intre sumele introduse si cele rezultate din calcul:] + CRLF + ; + SPACE(23) + [Baza] + Space(18) + [TVA] + CRLF + ; + [Introduse:] + Space(5) + Str(pnBazaFactura,20,gnPc) + [ ] + Str(pnTvaFactura,20,gnPc) + ; + CRLF +; + [Calculate:] + Space(5) + Str(lnBazaFactura,20,gnPc) + [ ] + Str(lnTvaFactura,20,gnPc) + ; + CRLF + CRLF + ; + [Doriti sa continuati?] + Case lnBazaFactura <> pnBazaFactura + lcMesaj = [Diferenta intre sumele introduse si cele rezultate din calcul:] + CRLF + ; + SPACE(23) + [Baza] + CRLF + ; + [Introduse:] + Space(5) + Str(pnBazaFactura,20,gnPc) + CRLF+; + [Calculate:] + Space(5) + Str(lnBazaFactura,20,gnPc) + CRLF + CRLF + ; + [Doriti sa continuati?] + Case lnTvaFactura <> pnTvaFactura + lcMesaj = [Diferenta intre sumele introduse si cele rezultate din calcul:] + CRLF + ; + SPACE(24) + [TVA] + CRLF + ; + [Introduse:] + Space(5) + Str(pnTvaFactura,20,gnPc) + CRLF +; + [Calculate:] + Space(5) + Str(lnTvaFactura,20,gnPc) + CRLF + CRLF + ; + [Doriti sa continuati?] + Otherwise + lcMesaj = [] + Endcase + + If !Empty(lcMesaj) + If aMessagebox(lcMesaj,4+32+256,"Confirmare")==7 + Return .F. + Else + pnBazaFactura = lnBazaFactura + pnTvaFactura = lnTvaFactura + pnTotalFactura = lnBazaFactura + lnTvaFactura + Endif + Endif + Else + pnTotalFactura = This.ct_factura1.totctva + pnBazaFactura = This.ct_factura1.totftva + pnTvaFactura = This.ct_factura1.tva + *!* modificare 31.10.2006 ^ + Endif + + pnDiscount = This.ct_discount1.baza_discount + pnTVADiscount = -This.ct_discount1.tva_discount + pnProcDiscount = This.ct_discount1.pnTva + pnIdJtvaDiscount = This.ct_discount1.nid_jtva_coloana + pnIdTvaDiscount = This.ct_discount1.nid_tva + *!* pnTotalFactura = THIS.ct_factura1.totctva + *!* pnBazaFactura = THIS.ct_factura1.totftva + *!* pnTvaFactura = THIS.ct_factura1.tva + + pnBazaNir = [pret*cant] + pnBazaBon = [pret*cante] + pnTotalBon = This.ntotal + pnTotalNir = This.ntotal + *pnTvaNir = [tva*cant] + pnTvaNir = [pret*cant] + *!* modificari 31.10.2006 + *!* *pnBazaVanz = [pretv*cante] + *!* pnBazaVanz = [ROUND(ROUND((pretv+tvav)/proc_tvav,gnPc)*cante,gnPc)] + *!* *pnTvaVanzIn = [tvav*cant] + *!* *pnTvaVanzIn = [pretv*cant] + *!* pnTvaVanzIn = [ROUND(ROUND((pretv+tvav)*(proc_tvav-1)/proc_tvav,gnPc)*cant,gnPc)] + *!* *pnTvaVanzOut = [tvav*cante] + *!* *pnTvaVanzOut = [pretv*cante] + *!* pnTvaVanzOut = [ROUND(ROUND((pretv+tvav)*(proc_tvav-1)/proc_tvav,gnPc)*cante,gnPc)] + pnBazaVanz = [ROUND(pretv*cante,gnPc)] + pnBazaVal = [ROUND(pretvval*cante,gnPVal)] + pnBazaValVanz = [ROUND(ROUND(pretvval*curs,gnPC)*cante,gnPC)] + *** 04.07.2007 - modificat in calcul si raport rap_nirtransfer_vanz valoare tva + *pnTvaVanzIn = [ROUND(ROUND(pretv*cant,gnPc)*(proc_tvav-1),gnPc)] + *!* modificare 17.09.2007 + pnTvaVanzIn = [ROUND(tvav*cant,gnPc)] + *!* pnTvaVanzIn = [ROUND(ROUND(pretv*cant,gnPc)*(proc_tvav-1),gnPc)] + *!* modificare 17.09.2007 ^ + + *pnTvaVanzOut = [ROUND(ROUND(pretv*cante,gnPc)*(proc_tvav-1),gnPc)] + *!* modificare 17.09.2007 + *!* pnTvaVanzOut = [ROUND(tvav*cante,gnPc)] + pnTvaVanzOut = [ROUND(ROUND(pretv*cante,gnPc)*(proc_tvav-1),gnPc)] + pnTvaVanzOut2 = [Round(tvav*cante,gnPc)] && modificare v 2.0.8 + pnTvaVal = [ROUND(ROUND(pretvval*cante,gnPVal)*(proc_tvav-1),gnPVal)] + pnTvaValVanz = [ROUND(ROUND(ROUND(pretvval*curs,gnPC)*cante,gnPC)*(proc_tvav-1),gnPC)] + *!* modificare 17.09.2007 ^ + *** + + If oset.id_set = 104 And gnImputare = 1 + pnBazaVanz = [ROUND(pret_imputare*cante,gnPc)] + pnTvaVanzOut = [ROUND(ROUND(pret_imputare*cante,gnPc)*(proc_tvav-1),gnPc)] + Endif + *!* modificari 31.10.2006 ^ + pnAdaosTotal = This.ct_adaos1.baza_adaos + pnBazaPlusAdaos = pnTotalBon + pnAdaosTotal + + lcCant = Lower(Alltrim(This.osel_dr.cantitate)) + If Inlist(oset.model, 5, 6, 7) && transfer + lcCant = 'cante' + Endif + pnAdaos = [pretv*] + lcCant + [-pret*] + lcCant + + Select * From XNOTE Where id_set = oset.id_set Into Cursor crsNota + + lcField = '' + Select xact + Go Top + + For i = 1 To Fcount() + If Upper(Alltrim(Evaluate(Field(i)))) = 'SUMA' + lcField = Field(i) + Exit + Endif + Endfor + + If Empty(lcField) + Return .T. + Endif + + Select Distinct xscd As SCD, xscc As scc, Padr(&lcField,100,' ') As eticheta,x34 From crsNota ; + WHERE Inlist(Upper(Alltrim(xscd)),'X') Or Inlist(Upper(Alltrim(xscc)),'X'); + INTO Cursor crsIcsi + If _Tally > 0 + Select crsIcsi + Scan + lcEticheta = Lower(Alltrim(eticheta)) + If Empty(lcEticheta) + aMessagebox('NECONFIGURAT xnote.dbf !',48,'Atentie!') + Loop + Endif + lcSCD = Upper(Alltrim(SCD)) + lcSCC = Upper(Alltrim(scc)) + lcIDJtva = Upper(Alltrim(x34)) + If Inlist(oset.model, 5, 6, 7) && TRANSFER, RETUR TRANSFER + If lcSCD = 'Y' + lcSCD = lcContTr + Endif + If lcSCC = 'Y' + lcSCC = lcContTr + Endif + Endif + + && despart sumele pe gestiuni si sectii - pt formarea corecta a analiticelor + If 'pntvavanz' $ lcEticheta Or 'pnadaos' $ lcEticheta + + *!* IF 'pnadaos'$lcEticheta + If Type('&lcEticheta') <> 'N' + lcEticheta = &lcEticheta + Endif + lcSuma = [SUM(ROUND(&lcEticheta,gnPc))] + *!* ELSE + *!* lcEticheta = &lcEticheta + *!* lcSuma = [SUM(ROUND(ROUND(&lcEticheta,gnPc)*(proc_tvav-1),gnPc))] + *!* ENDIF + + lcSelect = [SELECT CONT,ACONT,id_gestiune,id_sectie,sectie,] + ; + IIF(Type(lcSelRul+'.id_jtva_coloana')#'U',[id_jtva_coloana],[NULL]) + [ as id_jtva_coloana,] + ; + IIF(Type(lcSelRul+'.proc_tvav')#'U',[proc_tvav],[0000]) + [ as proc_tva,] +; + IIF(Type(lcSelRul+'.id_gestin')#'U',[id_gestin],[000000000]) + [ as id_gestin,] + ; + IIF(Type(lcSelRul+'.id_gestout')#'U',[id_gestout],[000000000]) + [ as id_gestout,] + ; + IIF(Type(lcSelRul+'.gestin')#'U',[gestin],[SPACE(50)]) + [ as gestin,] + ; + IIF(Type(lcSelRul+'.gestout')#'U',[gestout],[SPACE(50)]) + [ as gestout,] + ; + lcSuma + [ AS suma ] + ; + [FROM ] + lcSelRul + [ where nuInConturiX = 0 into cursor crsConturiX ] + ; + [GROUP BY 1,2,3,4,5,6,7,8,9,10,11] + &lcSelect + Else + If Type('&lcEticheta') <> 'N' + lcEticheta = &lcEticheta + Endif + + lcSuma = [SUM(ROUND(&lcEticheta,gnPc))] + *!* lcSuma = [SUM(ROUND(]+ALLTRIM(STR(lcEticheta,20,6))+[,gnPc))] + lcSelect = [SELECT CONT,ACONT,id_gestiune,id_sectie,sectie,] + ; + IIF(Type(lcSelRul+'.id_jtva_coloana')#'U',[id_jtva_coloana],[NULL]) + [ as id_jtva_coloana,] + ; + IIF(Type(lcSelRul+'.proc_tva')#'U',[proc_tva],[0000]) + [ as proc_tva,] +; + IIF(Type(lcSelRul+'.id_gestin')#'U',[id_gestin],[000000000]) + [ as id_gestin,] + ; + IIF(Type(lcSelRul+'.id_gestout')#'U',[id_gestout],[000000000]) + [ as id_gestout,] + ; + IIF(Type(lcSelRul+'.gestin')#'U',[gestin],[SPACE(50)]) + [ as gestin,] + ; + IIF(Type(lcSelRul+'.gestout')#'U',[gestout],[SPACE(50)]) + [ as gestout,] + ; + lcSuma + [ AS suma ] + ; + [FROM ] + lcSelRul + [ where nuInConturiX = 0 into cursor crsConturiX ] + ; + [GROUP BY 1,2,3,4,5,6,7,8,9,10,11] + &lcSelect + Endif + + Select crsConturiX + + Scan For suma*0 = 0 && sa evit cazurile in care suma este ****** + Scatter Name loCX + + Select actactan + Locate For Upper(Alltrim(SCD)) = lcSCD And Upper(Alltrim(scc)) = lcSCC + If Found() + + Scatter Name loActactan + With loActactan + If Upper(Alltrim(.SCD)) = 'X' + .SCD = loCX.Cont + .ascd = Nvl(loCX.acont,'') + .suma = loCX.suma + If !Empty(lcIDJtva) && AND !INLIST(oset.model,5,6) + .id_jtva_coloana = loCX.id_jtva_coloana + .proc_tva = loCX.proc_tva + Else + .id_jtva_coloana = Null + .proc_tva = 0 + Endif + .id_gestin = loCX.id_gestin + .gestin = loCX.gestin + .id_gestout = loCX.id_gestout + .gestout = loCX.gestout + .id_sectie = loCX.id_sectie + .sectie = loCX.sectie + Endif + If Upper(Alltrim(.scc)) = 'X' + .scc = loCX.Cont + .ascc = Nvl(loCX.acont,'') + .suma = loCX.suma + *!* modificare 04.10.2007 + *!* If Left(.scd,1) = '6' And Alltrim(.scd) # '607' And Inlist(oset.model, 3, 4) && BON, RETUR + *!* If .scc = '381' + *!* .scd = '608' + *!* Else + *!* .scd = Strtran(.scc, '3', '6', 1, 1) + *!* Endif + *!* Endif + If Inlist(oset.model,3,4) + Select crsconfigcvc + Locate For Cont = Upper(Alltrim(.scc)) + If Found() AND (EMPTY(.scd) OR INLIST(LEFT(.scd,1), '6','7')) + .scd = ALLTRIM(cont_chelt) + Else + If Left(.scd,1) = '6' And Alltrim(.scd) # '607' + If .scc = '381' + .scd = '608' + Else + .scd = Strtran(.scc, '3', '6', 1, 1) + Endif + Endif + Endif + SELECT actactan + Endif + *!* modificare 04.10.2007 ^ + If !Empty(lcIDJtva) && AND !INLIST(oset.model,5,6) + .id_jtva_coloana = loCX.id_jtva_coloana + .proc_tva = loCX.proc_tva + Else + .id_jtva_coloana = Null + .proc_tva = 0 + Endif + .id_gestin = loCX.id_gestin + .gestin = loCX.gestin + .id_gestout = loCX.id_gestout + .gestout = loCX.gestout + .id_sectie = loCX.id_sectie + .sectie = loCX.sectie + Endif + Endwith + Append Blank + Gather Name loActactan + Endif && IF FOUND() + + Select crsConturiX + Endscan + Select crsIcsi + Endscan + + Delete From actactan Where Inlist(Upper(Alltrim(SCD)),'X') Or Inlist(Upper(Alltrim(scc)),'X') + Endif + *!* 15.03.2007 ^ + *!* inlocuiesc Y - la notele care nu sunt transfer sau retur transfer (intrare dintr-o gestiune tinuta valoric - trebuie contul) + If !Inlist(oset.model, 5, 6, 7) And llY + Select rul_temp + Go Top + lnIdGestiuneTr = Id_gestiune + If !Empty(lnIdGestiuneTr) + + loCont = This.aleg_cont_transfer(lnIdGestiuneTr) + lcContTr = loCont.Cont + lcAcontTr = loCont.acont + Select actactan + + Replace All SCD With lcContTr, ascd With lcAcontTr For Upper(Alltrim(SCD)) = 'Y' + Replace All scc With lcContTr, ascc With lcAcontTr For Upper(Alltrim(scc)) = 'Y' + + Endif + + *!* 20.03.2007 + *!* cont de transfer - cont din nomenclator + *!* in rul aj trebuie sa am pe intrari contul din debit (contul de transfer) + If oset.model = 2 Or Upper(Alltrim(oset.formgest)) = 'NIR' + Select rul_temp + Replace All Cont With lcContTr + Endif + Endif + + *!* 15.03.2007 ^ + Select crsNota + Scan For !(Inlist(Upper(Alltrim(xscd)),'X') Or Inlist(Upper(Alltrim(xscc)),'X')) + Scatter Name loNota + + lcVariabila = Lower(Alltrim(loNota.&lcField)) + lcIDJtva = Upper(Alltrim(x34)) + If Inlist(oset.model, 5, 6, 7) Or llY && TRANSFER, RETUR TRANSFER + If loNota.xscd = 'Y' + loNota.xscd = lcContTr + loNota.xAscd = lcAcontTr + Endif + If loNota.xscc = 'Y' + loNota.xscc = lcContTr + loNota.xAscc = lcAcontTr + Endif + Endif + + Do Case + Case 'pntvanir' $ lcVariabila + lcVariabila = &lcVariabila + lcSelect = [SELECT b.id_tva as id_jtva_coloana,a.proc_tva,a.id_sectie,a.id_gestiune,a.sectie,] + ; + IIF(Type(lcSelRul+'.id_gestin')#'U',[a.id_gestin],[0000000000]) + [ as id_gestin,] + ; + IIF(Type(lcSelRul+'.id_gestout')#'U',[a.id_gestout],[000000000]) + [ as id_gestout,] + ; + IIF(Type(lcSelRul+'.gestin')#'U',[a.gestin],[SPACE(50)]) + [ as gestin,] + ; + IIF(Type(lcSelRul+'.gestout')#'U',[a.gestout],[SPACE(50)]) + [ as gestout,] + ; + [SUM(ROUND(ROUND(&lcVariabila,gnPc)*(a.proc_tva-1),gnPc)) as suma ] + ; + [FROM ] + lcSelRul + [ a LEFT JOIN jtva_coloane b ON a.id_jtva_coloana = b.id_jtva_coloana ] + ; + [INTO CURSOR crsTva ] + ; + [GROUP BY 1,2,3,4,5,6,7,8,9] + &lcSelect + + Select crsTva + i = 0 + Scan For suma*0 = 0 && sa evit cazurile in care suma este ****** + i = i + 1 + If i = 1 + Select actactan + Locate For SCD = loNota.xscd And scc = loNota.xscc And suma = 0 + If Found() + Scatter Name loAct + Delete + Else + Scatter Name loAct Blank + Endif + Endif + Select crsTva + Scatter Name loTva + Select actactan + Append Blank + Gather Name loAct + Gather Name loTva + If Empty(lcIDJtva) + Replace id_jtva_coloana With Null,proc_tva With 0 + Endif + Endscan + Case 'pnbazavanz'$lcVariabila Or 'pntvavanz'$lcVariabila + *!* IF 'pnbazavanz'$lcVariabila + && 05.09.2007 + && marius.mutu + && linia If 'pnbazavanz'$lcVariabila intra mereu pe else si punea o baza cu id_jtva_coloana de tva + lcVariabilatemp = lcVariabila + + lcVariabila = &lcVariabila + lcSuma = [sum(ROUND(&lcVariabila,gnPc))] + *!* ELSE + *!* lcVariabila = &lcVariabila + *!* lcSuma = [SUM(ROUND(ROUND(&lcVariabila,gnPc)*(proc_tvav-1),gnPc))] + *!* ENDIF + If 'pnbazavanz'$lcVariabilatemp + lcSelect = [SELECT a.id_jtva_coloana,a.proc_tvav,a.id_sectie,a.id_gestiune,a.sectie,] + ; + IIF(Type(lcSelRul+'.id_gestin')#'U',[a.id_gestin],[0000000000]) + [ as id_gestin,] + ; + IIF(Type(lcSelRul+'.id_gestout')#'U',[a.id_gestout],[000000000]) + [ as id_gestout,] + ; + IIF(Type(lcSelRul+'.gestin')#'U',[a.gestin],[SPACE(50)]) + [ as gestin,] + ; + IIF(Type(lcSelRul+'.gestout')#'U',[a.gestout],[SPACE(50)]) + [ as gestout,] + ; + lcSuma + [ as suma ] + ; + [FROM ] + lcSelRul + [ a ] + ; + [INTO CURSOR crsTva ] + ; + [GROUP BY 1,2,3,4,5,6,7,8,9] + Else + lcSelect = [SELECT b.id_tva as id_jtva_coloana,a.proc_tvav,a.id_sectie,a.id_gestiune,a.sectie,] + ; + IIF(Type(lcSelRul+'.id_gestin')#'U',[a.id_gestin],[0000000000]) + [ as id_gestin,] + ; + IIF(Type(lcSelRul+'.id_gestout')#'U',[a.id_gestout],[000000000]) + [ as id_gestout,] + ; + IIF(Type(lcSelRul+'.gestin')#'U',[a.gestin],[SPACE(50)]) + [ as gestin,] + ; + IIF(Type(lcSelRul+'.gestout')#'U',[a.gestout],[SPACE(50)]) + [ as gestout,] + ; + lcSuma + [ as suma ] + ; + [FROM ] + lcSelRul + [ a LEFT JOIN jtva_coloane B ON A.ID_JTVA_COLOANA = B.ID_JTVA_COLOANA ] + ; + [INTO CURSOR crsTva ] + ; + [GROUP BY 1,2,3,4,5,6,7,8,9] + Endif + &lcSelect + + Select crsTva + i = 0 + Scan For suma*0 = 0 && sa evit cazurile in care suma este ****** + i = i + 1 + If i = 1 + Select actactan + Locate For SCD = loNota.xscd And scc = loNota.xscc And suma = 0 + If Found() + Scatter Name loAct + Delete + Else + Scatter Name loAct Blank + Endif + Endif + Select crsTva + Scatter Name loTva + Select actactan + Append Blank + Gather Name loAct + Gather Name loTva + Replace proc_tva With loTva.proc_tvav + If Empty(lcIDJtva) + Replace id_jtva_coloana With Null + Endif + Endscan + *!* modificare facturare in valuta 21.09.2007 + Case 'pnbazaval'$lcVariabila Or 'pntvaval'$lcVariabila + lcVariabilatemp = lcVariabila + lcVariabila = &lcVariabila + lcSumaVal = [sum(&lcVariabila)] + If 'pnbazaval'$lcVariabilatemp + *!* lcSuma = [SUM(]+pnBazaValVanz+[)] + lcSuma = [ROUND(SUM(]+pnBazaVal+[)*a.curs,gnPc)] + lcSelect = [SELECT a.id_jtva_coloana,a.proc_tvav,a.id_sectie,a.id_gestiune,a.sectie,] + ; + IIF(Type(lcSelRul+'.id_gestin')#'U',[a.id_gestin],[0000000000]) + [ as id_gestin,] + ; + IIF(Type(lcSelRul+'.id_gestout')#'U',[a.id_gestout],[000000000]) + [ as id_gestout,] + ; + IIF(Type(lcSelRul+'.gestin')#'U',[a.gestin],[SPACE(50)]) + [ as gestin,] + ; + IIF(Type(lcSelRul+'.gestout')#'U',[a.gestout],[SPACE(50)]) + [ as gestout,] + ; + [NVL(a.id_valuta_vanz,0) as id_valuta,] + ; + IIF(TYPE(lcSelRul+'.curs') #'U',[a.curs],[0]) + [ as curs,] + ; + lcSumaVal + [ as suma_val,] + lcSuma + [ as suma ] + ; + [FROM ] + lcSelRul + [ a ] + ; + [INTO CURSOR crsTva ] + ; + [GROUP BY 1,2,3,4,5,6,7,8,9,10,11] + Else + *!* lcSuma = [SUM(]+pnTvaValVanz+[)] + lcSuma = [ROUND(SUM(]+pnTvaVal+[)*a.curs,gnPc)] + lcSelect = [SELECT b.id_tva as id_jtva_coloana,a.proc_tvav,a.id_sectie,a.id_gestiune,a.sectie,] + ; + IIF(Type(lcSelRul+'.id_gestin')#'U',[a.id_gestin],[0000000000]) + [ as id_gestin,] + ; + IIF(Type(lcSelRul+'.id_gestout')#'U',[a.id_gestout],[000000000]) + [ as id_gestout,] + ; + IIF(Type(lcSelRul+'.gestin')#'U',[a.gestin],[SPACE(50)]) + [ as gestin,] + ; + IIF(Type(lcSelRul+'.gestout')#'U',[a.gestout],[SPACE(50)]) + [ as gestout,] + ; + [NVL(a.id_valuta_vanz,0) as id_valuta,] + ; + IIF(TYPE(lcSelRul+'.curs') #'U',[a.curs],[0]) + [ as curs,] + ; + lcSumaVal + [ as suma_val,] + lcSuma + [ as suma ] + ; + [FROM ] + lcSelRul + [ a LEFT JOIN jtva_coloane B ON A.ID_JTVA_COLOANA = B.ID_JTVA_COLOANA ] + ; + [INTO CURSOR crsTva ] + ; + [GROUP BY 1,2,3,4,5,6,7,8,9,10,11] + Endif + &lcSelect + + Select crsTva + i = 0 + Scan For suma_val*0 = 0 && sa evit cazurile in care suma este ****** + i = i + 1 + If i = 1 + Select actactan + Locate For SCD = loNota.xscd And scc = loNota.xscc And suma = 0 + If Found() + Scatter Name loAct + Delete + Else + Scatter Name loAct Blank + Endif + Endif + Select crsTva + Scatter Name loTva + AddProperty(loTva,[nume_val],poAct.nume_val_vanz) + Select actactan + Append Blank + Gather Name loAct + Gather Name loTva + Replace proc_tva With loTva.proc_tvav + If Empty(lcIDJtva) + Replace id_jtva_coloana With Null + Endif + Endscan + *!* modificare facturare in valuta 21.09.2007 ^ + Case 'pnbazabon'$lcVariabila + lcSuma = [SUM(ROUND(&lcEticheta,gnPc))] + *!* lcSelect = [SELECT CONT,ACONT,id_gestiune,id_sectie,sectie,] + ; + *!* IIF(Type(lcSelRul+'.id_jtva_coloana')#'U',[id_jtva_coloana],[NULL]) + [ as id_jtva_coloana,] + ; + *!* IIF(Type(lcSelRul+'.proc_tva')#'U',[proc_tva],[0000]) + [ as proc_tva,] +; + *!* IIF(Type(lcSelRul+'.id_gestin')#'U',[id_gestin],[000000000]) + [ as id_gestin,] + ; + *!* IIF(Type(lcSelRul+'.id_gestout')#'U',[id_gestout],[000000000]) + [ as id_gestout,] + ; + *!* IIF(Type(lcSelRul+'.gestin')#'U',[gestin],[SPACE(50)]) + [ as gestin,] + ; + *!* IIF(Type(lcSelRul+'.gestout')#'U',[gestout],[SPACE(50)]) + [ as gestout,] + ; + *!* lcSuma + [ AS suma ] + ; + *!* [FROM ] + lcSelRul + [ where nuInConturiX = 0 into cursor crsTva ] + ; + *!* [GROUP BY 1,2,3,4,5,6,7,8,9,10,11] + + lcSelect = [SELECT a.id_jtva_coloana,a.proc_tvav,a.id_sectie,a.id_gestiune,a.sectie,] + ; + IIF(Type(lcSelRul+'.id_gestin')#'U',[a.id_gestin],[0000000000]) + [ as id_gestin,] + ; + IIF(Type(lcSelRul+'.id_gestout')#'U',[a.id_gestout],[000000000]) + [ as id_gestout,] + ; + IIF(Type(lcSelRul+'.gestin')#'U',[a.gestin],[SPACE(50)]) + [ as gestin,] + ; + IIF(Type(lcSelRul+'.gestout')#'U',[a.gestout],[SPACE(50)]) + [ as gestout,] + ; + lcSuma + [ as suma ] + ; + [FROM ] + lcSelRul + [ a ] + ; + [INTO CURSOR crsTva ] + ; + [GROUP BY 1,2,3,4,5,6,7,8,9] + &lcSelect + + Select crsTva + i = 0 + Scan For suma*0 = 0 && sa evit cazurile in care suma este ****** + i = i + 1 + If i = 1 + Select actactan + Locate For SCD = loNota.xscd And scc = loNota.xscc And suma = 0 + If Found() + Scatter Name loAct + Delete + Else + Scatter Name loAct Blank + Endif + Endif + Select crsTva + Scatter Name loTva + Select actactan + Append Blank + Gather Name loAct + Gather Name loTva + Replace proc_tva With loTva.proc_tvav + If Empty(lcIDJtva) + Replace id_jtva_coloana With Null + Endif + Endscan + Otherwise + Select actactan + Locate For SCD = loNota.xscd And scc = loNota.xscc And suma = 0 + If Found() + If !Empty(lcVariabila) + Replace suma With &lcVariabila + Endif + Endif + If 'discount' $ lcVariabila + Replace proc_tva With pnProcDiscount,id_jtva_coloana With &lcIDJtva + Endif + Endcase + Endscan + + If Used('crsIcsi') + Use In crsIcsi + Endif + If Used('crsConturiX') + Use In crsConturiX + Endif + If Used('crsNota') + Use In crsNota + Endif + + *!* IF USED('rul_temp') + *!* USE IN rul_temp + *!* ENDIF + + *!* && completez RUL_TEMP + *!* lcRul = ALLTRIM(THIS.osel_dr.cfrom) + *!* lcSql = [select * from ] + gcS + [.] + lcRul + [ where 1=2] + *!* lcCursor = [rul_temp] + *!* lnSucces = goExecutor.oExecute(lcSql,lcCursor) + *!* IF lnSucces < 0 + *!* RETURN .F. + *!* ENDIF + + *!* lcCant = LOWER(ALLTRIM(this.osel_dr.cantitate)) + *!* lcCantTransf = [cant] + iif(lcCant = [cante],[],[e]) + + *!* IF INLIST(oset.model, 5, 6) && TRANSFER, RETUR TRANSFER + + *!* SELECT * FROM (lcSelRul) INTO CURSOR crsTransf NOFILTER READWRITE + *!* REPLACE ALL &lcCantTransf WITH &lcCant FOR !EMPTY(&lcCant) + *!* REPLACE ALL &lcCant WITH 0 + *!* APPEND FROM DBF(lcSelRul) + *!* IF oset.id_set <> 89 && TRANSFER INTRE PERSOANE + *!* REPLACE ALL cont WITH lcContTr, acont WITH lcAcontTr FOR &lcCantTransf # 0 + *!* ELSE + *!* SELECT (this.ct_grid_search1.cnumecursor) + *!* SCATTER NAME loStg + *!* SELECT crsTransf + *!* REPLACE ALL id_gestin WITH id_gestout + *!* REPLACE ALL id_responsabil WITH loStg.id_responsabil, nresp WITH loStg.nresp FOR cante <> 0 + *!* ENDIF + *!* REPLACE ALL id_gestiune WITH id_gestin,nume_gestiune WITH gestin FOR &lcCantTransf <> 0 + *!* REPLACE ALL id_gestiune WITH id_gestout, nume_gestiune WITH gestout FOR &lcCant <> 0 + *!* + *!* SELECT rul_temp + *!* APPEND FROM DBF('crsTransf') + *!* IF USED('crsTransf') + *!* USE IN crsTransf + *!* ENDIF + *!* + *!* lcSel = [SELECT id_gestiune from ] + gcs + [.vnom_gestiuni WHERE nr_pag = 6] + *!* lcCursor = 'crsIdVanzare' + *!* lnSucces = goExecutor.oExecute(lcSel,lcCursor) + *!* IF lnSucces < 0 + *!* MESSAGEBOX(goExecutor.cEroare,0+16,"Eroare") + *!* ENDIF + *!* + *!* IF lnSucces > 0 + *!* UPDATE rul_temp SET pretv = 0, tvav = 0, proc_tvav = 0 WHERE id_gestiune NOT in (select id_gestiune from crsIdVanzare) + *!* USE IN crsIdVanzare + *!* ENDIF + + *!* ELSE + *!* SELECT rul_temp + *!* APPEND FROM DBF(lcSelRul) + *!* ENDIF + + *!* IF INLIST(oset.model, 5, 6) AND USED('crsTransfer') && TRANSFER, RETUR TRANSFER + *!* SELECT rul_temp + *!* APPEND FROM DBF('crsTransfer') + *!* ENDIF + + *!* SELECT rul_temp + *!* APPEND FROM DBF(lcSelRul) + + *!* modificare 20.04.2007 & 04.05.2007 & 09.05.2007 + Do Case + Case Inlist(oset.id_set,61,62,63,226,258) + Select actactan + If oset.cursval + Calculate Sum(suma) To pnBazaValProd For Alltrim(scc)= '345' + Calculate Sum(suma) To pnBazaVal341 For Alltrim(scc)= '341' + Calculate Sum(suma) To pnBazaVal346 For Alltrim(scc)= '346' + Calculate Sum(suma) To pnBazaValAmb For Alltrim(scc) = '381' + pnBazaVProd = pnBazaValProd + pnBazaVAmb = pnBazaValAmb + pnBazaV341 = pnBazaVal341 + pnBazaV346 = pnBazaVal346 + Else + Calculate Sum(suma) To pnBazaVProd For Alltrim(scc)= '345' + Calculate Sum(suma) To pnBazaVAmb For Alltrim(scc) = '381' + Calculate Sum(suma) To pnBazaV341 For Alltrim(scc)= '341' + Calculate Sum(suma) To pnBazaV346 For Alltrim(scc)= '346' + Endif + + Replace suma With suma - pnBazaVProd - pnBazaVAmb - pnBazaV341 - pnBazaV346 For Alltrim(SCD) = '4111' And Alltrim(scc) = '707' + *!* 19.01.2015: 701-> 7015 + *!* Replace suma With pnBazaVProd + pnBazaV341 + pnBazaV346 For Alltrim(SCD) = '4111' And Alltrim(scc) = '701' + Replace suma With pnBazaVProd + pnBazaV341 + pnBazaV346 For Alltrim(SCD) = '4111' And Alltrim(scc) = '7015' + *!* 19.01.2015: 701-> 7015 ^ + + Replace SCD With '711',suma With pnBazaVProd For Alltrim(SCD) = '607' And Alltrim(scc) = '345' + Replace SCD With '711',suma With pnBazaV341 For Alltrim(SCD) = '607' And Alltrim(scc) = '341' + Replace SCD With '711',suma With pnBazaV346 For Alltrim(SCD) = '607' And Alltrim(scc) = '346' + Replace scc With '348' For INLIST(Alltrim(SCD),'341','345','346') And Alltrim(scc) = '378' + Replace SCD With '348',scc With '711' For Alltrim(SCD) = '378' And INLIST(Alltrim(scc),'341','345','346') + + Replace suma With pnBazaVAmb For Alltrim(SCD) = '4111' And Alltrim(scc) = '708' + Replace SCD With '608' For Alltrim(SCD) = '607' And Alltrim(scc) = '381' + Replace scc With '388' For Alltrim(SCD) = '381' And Alltrim(scc) = '378' + Replace SCD With '388' For Alltrim(SCD) = '378' And Alltrim(scc) = '381' + + Delete For suma = 0 + Case Inlist(oset.id_set,79,83,206,225) + Select actactan + Replace scc With '711' For Alltrim(SCD) = '348' + *!* modificare 22.05.2007 + Case oset.id_set = 218 && diferenta de pret + Select (lcSelRul) + Replace All pretv With 0,tvav With 0,proc_tvav With 0,procent With 0 + Select actactan + Replace id_gestin With 0,gestin With '' For nr_nota = 2 + *!* Replace id_gestin With id_gestout, gestin With gestout,id_gestout With 0,gestout With '',scc WITH '711' For nr_nota = 4 + *!* Replace scc WITH '711' For nr_nota = 4 + Replace SCD With '348' For nr_nota = 2 And SCD <> '381' + Replace SCD With '388' For nr_nota = 2 And SCD = '381' + Replace scc With '388' For nr_nota = 1 And SCD = '381' + *!* modificare 22.05.2007 ^ + *!* modificare 16.08.2007 + Case INLIST(oset.id_set,53,213,57,58) + Select actactan + Replace scd With '607' For scc = '371' + Replace scd With '711' For scc = '345' && modificare 03.10.2007 + *!* modificare 16.08.2007 ^ + *!* modificare v 2.0.6 + *!* modificare v 2.0.13 + *!* modificare v 2.0.15 - protocol + Case InList(oset.id_set, 230, 232, 233,261) + Select actactan + Replace suma With suma * (-1) For nr_nota = 1 + *!* modificare v 2.0.15 ^ + *!* modificare v 2.0.13 ^ + *!* modificare v 2.0.6 ^ + Endcase + *!* modificare ^ + + && ordonez notele contabile in ACTACTANSELECT actactan + Select actactan + + Sum suma To lnSume + + If lnSume <> 0 + lcCondDele = [!(suma = 0 and !(((left(scd,1) = '3' and left(scc,2) = '40') OR (left(scd,2) = '41' and left(scc,1) = '7')) AND proc_tva # 1))] + Else + lcCondDele = [suma = 0 AND nr_nota = 1 ] + Endif + Select * From actactan Into Cursor crsActActan Where &lcCondDele Or Inlist(id_set, 89, 210, 211, 212) Order By nr_nota NOFILTER Readwrite + + Select actactan + Delete From actactan + Append From Dbf('crsactactan') + If Used('crsactactan') + Use In crsActActan + Endif + + *** && completare analitice + + Select actactan + Scan For Empty(Nvl(ascd,'')) + Scatter Name loActactan + If Type('loActactan.cont') = 'U' + x = AddProperty(loActactan,'cont',loActactan.SCD) + Endif + If oset.model = 2 And Type('loActactan.id_gestiune') = 'U' && NIR + x = AddProperty(loActactan,'id_gestiune',loActactan.id_gestin) + Endif + If Inlist(oset.model, 3, 4) And Type('loActactan.id_gestiune') = 'U' && BON, RETUR + x = AddProperty(loActactan,'id_gestiune',loActactan.id_gestout) + Endif + loActactan.ascd = This.assign_analitic(loActactan.SCD,This.cobj,'loActactan') + Replace ascd With loActactan.ascd + Select actactan + Endscan + Select actactan + Scan For Empty(Nvl(ascc,'')) + Scatter Name loActactan + If Type('loActactan.cont') = 'U' + x = AddProperty(loActactan,'cont',loActactan.scc) + Endif + If oset.model = 2 And Type('loActactan.id_gestiune') = 'U' && NIR + x = AddProperty(loActactan,'id_gestiune',loActactan.id_gestin) + Endif + If Inlist(oset.model, 3, 4) And Type('loActactan.id_gestiune') = 'U' && BON, RETUR + x = AddProperty(loActactan,'id_gestiune',loActactan.id_gestout) + Endif + loActactan.ascc = This.assign_analitic(loActactan.scc,This.cobj,'loActactan') + Replace ascc With loActactan.ascc + Select actactan + Endscan + + If Used('rul_temp_OBINV') + Use In RUL_TEMP_OBINV + Endif + + Select * From rul_temp Where Cont = gcContObinv And !Deleted() Into Cursor RUL_TEMP_OBINV NOFILTER Readwrite + Select rul_temp + Delete All For Cont = gcContObinv + + If gnCMP = 1 And oset.model = 2 && NIR + Thisform.analiza_cmp('rul_temp', 'actactan') + *!* modificare 24.11.2006 + Else + Select rul_temp + Replace id_tip_rulaj With oset.id_tip_rul For id_tip_rulaj = 0 + *!* modificare 24.11.2006 ^ + Endif + + If Type('loActactan') = 'O' + Release loActactan + Endif + + Do Case + Case oset.id_set=69 + *!* modificare 07.03.2006 && 24.02.2007 + Select actactan + Calculate Max(proc_tva) To lnMaxProcTva + Calculate Min(id_jtva_coloana) For proc_tva = lnMaxProcTva To lnIdJtvaColoana + Scan For Left(SCD,3)='411' Or Left(scc,3)='411' + If proc_tva=0 + Replace proc_tva With lnMaxProcTva,id_jtva_coloana With lnIdJtvaColoana + Endif + Endscan + *!* sfarsit modificare 07.03.2006 + Case oset.id_set = 213 + *!* modificare 12.02.2007 (bon de consum pe lucrari in curs de executie la Materii prime si materiale) + Select rul_temp + Replace All pretv With ROUND(Pret,gnPc) && modificare 14.09.2007 + *!* modificare 12.02.2007 ^ + *!* modificare v 2.0.6 + Case Inlist(oset.id_set,215,216,257) + Select (lcSelRul) + Replace All id_gestiunec With poAct.id_gestout,id_gestout with poAct.id_gestout,gestout With poAct.gestout + Select actactan + Replace All id_gestout With poAct.id_gestout,gestout With poAct.gestout + *!* modificare v 2.0.6 ^ + Endcase + + Select rul_temp + Locate For Empty(Id_gestiune) + If Found() + aMessagebox('Nu ati ales gestiunea!',48,"Atentie") + Return .F. + Endif + + Select RUL_TEMP_OBINV + Locate For Empty(Id_gestiune) + If Found() + aMessagebox('Nu ati ales gestiunea!',48,"Atentie") + Return .F. + Endif + + If oset.productie + If Alltrim(Upper(oset.formproduc))='FRM_ALEGE_PROD_CANT' + Select a.*, Recno() As ninreg ; + FROM actactan a ; + WHERE Substr(scc,1,1)='3' And Alltrim(scc)<>'301' ; + INTO Cursor cModificari + + Select cModificari + Scan + Scatter Name loLinie + lcSCC = Alltrim(scc) + lnInreg = ninreg + Select actactan + Replace scc With lcSCC, SCD With '301' For Recno() = lnInreg + Append Blank + loLinie.SCD = '601' + loLinie.scc = '301' + Gather Name loLinie + Select cModificari + Endscan + + If Used('cModificari') + Use In cModificari + Endif + Endif + Endif + + *!* 02.06.2008 + *!* completez partenerii corespondenti pentru cont-gestin, cont-gestout + lcSql = [Select cont, id_gestiune, id_part, denumire from vasociere_parteneri_gestiuni] + lnSucces = goExecutor.oExecute(lcSql, "crsGestiuniParteneri") + If lnSucces < 0 + AMessageBox(goExecutor.oExecute,0+16,"Eroare") + Else + Select actactan + Scan FOR Empty(ID_PARTD) OR Empty(ID_PARTC) + Scatter name loRec + If Empty(actactan.id_partd) + Select crsGestiuniParteneri + Locate for Alltrim(cont) == Alltrim(loRec.scd) and id_gestiune = Iif(!Empty(loRec.id_gestin), loRec.id_gestin, loRec.id_gestout) + If Found() + Replace id_partd with crsGestiuniParteneri.id_part, partd with crsGestiuniParteneri.denumire in actactan + EndIf + EndIf + If Empty(actactan.id_partc) + Select crsGestiuniParteneri + Locate for Alltrim(cont) == Alltrim(loRec.scc) and id_gestiune = Iif(!Empty(loRec.id_gestout), loRec.id_gestout, loRec.id_gestin) + If Found() + Replace id_partc with crsGestiuniParteneri.id_part, partc with crsGestiuniParteneri.denumire in actactan + EndIf + EndIf + + EndScan + Use in (Select('crsGestiuniParteneri')) + EndIf + + Select actactan + Go Top + + Return .T. + + ENDPROC + + PROCEDURE intrare_produs + Select rul_temp + Append Blank + Replace id_articol With pnId_articol, ; + denumire With pcDenumire, ; + cant With pnCant, ; + pret With ROUND(Thisform.ntotal/pnCant,gnPPret), ; + id_gestiune With pnId_gestiune, nume_gestiune With pcGestiune, ; + id_gestin With pnId_gestiune, gestout With pcGestiune, ; + cont With pcCont_articol, ; + nnir With poact.nnir, ; + dataact With poact.dataact, ; + datain With poact.dataact, ; + id_set With poact.id_set + + + ENDPROC + + PROCEDURE KeyPress + LPARAMETERS nKeyCode, nShiftAltCtrl + + LOCAL lcCtrGrid, lcCtrCriteriu, lcControl + lcCtrGrid = [] + lcCtrCriteriu = [] + + lcControl = UPPER(THIS.ACTIVECONTROL.NAME) + IF lcControl = '_GRID1' + lcCtrGrid = UPPER(THIS.ACTIVECONTROL.COMMENT) + ENDIF + + IF lcControl = 'CRITERIU' + lcCtrCriteriu = UPPER(THIS.ACTIVECONTROL.COMMENT) + ENDIF + + DO CASE + CASE nKeyCode = 13 AND 'GRD_ST' $ lcCtrGrid + NODEFAULT + THISFORM.urmator1.comMAND1.SETFOCUS + + CASE nKeyCode = 13 AND 'GRD_DR' $ lcCtrGrid + NODEFAULT + THISFORM.ct_grid_search1.Cb_tx_cautare1.TEXT.SETFOCUS + + CASE (nKeyCode >=33 AND nKeyCode <=122) AND ('CRITERIU_ST' $ lcCtrCriteriu OR 'GRD_ST' $ lcCtrGrid) + NODEFAULT + THIS.ct_grid_search1.Cb_tx_cautare1.TEXT.VALUE = ALLTRIM(THIS.ct_grid_search1.Cb_tx_cautare1.TEXT.VALUE) + CHR(nKeyCode) + THIS.ct_grid_search1.Cb_tx_cautare1.TEXT.SETFOCUS + KEYBOARD '{END}' + + CASE (nKeyCode = 127) AND ('CRITERIU_ST' $ lcCtrCriteriu OR 'GRD_ST' $ lcCtrGrid) && backspace + NODEFAULT + THIS.ct_grid_search1.Cb_tx_cautare1.TEXT.VALUE = LEFT(ALLTRIM(THIS.ct_grid_search1.Cb_tx_cautare1.TEXT.VALUE),LEN(ALLTRIM(THIS.ct_grid_search1.Cb_tx_cautare1.TEXT.VALUE))-1) + THIS.ct_grid_search1.Cb_tx_cautare1.TEXT.SETFOCUS + KEYBOARD '{END}' + + CASE (nKeyCode >=33 AND nKeyCode <=122) AND ('CRITERIU_DR' $ lcCtrCriteriu OR 'GRD_DR' $ lcCtrGrid) + NODEFAULT + THIS.ct_grid_order1.Cb_tx_cautare1.TEXT.VALUE = ALLTRIM(THIS.ct_grid_order1.Cb_tx_cautare1.TEXT.VALUE) + CHR(nKeyCode) + THIS.ct_grid_order1.Cb_tx_cautare1.TEXT.SETFOCUS + KEYBOARD '{END}' + + CASE (nKeyCode = 127) AND ('CRITERIU_DR' $ lcCtrCriteriu OR 'GRD_DR' $ lcCtrGrid) && backspace + NODEFAULT + THIS.ct_grid_order1.Cb_tx_cautare1.TEXT.VALUE = LEFT(ALLTRIM(THIS.ct_grid_order1.Cb_tx_cautare1.TEXT.VALUE),LEN(ALLTRIM(THIS.ct_grid_order1.Cb_tx_cautare1.TEXT.VALUE))-1) + THIS.ct_grid_order1.Cb_tx_cautare1.TEXT.SETFOCUS + KEYBOARD '{END}' + CASE INLIST(nKeyCode, 13, 9, 4, 24) AND '_CBBASE1'$lcControl + NODEFAULT + thisform.ct_grid_search1.cb_tx_cautare1.text.SetFocus + + OTHERWISE + DODEFAULT(nKeyCode, nShiftAltCtrl) + ENDCASE + + ENDPROC + + PROCEDURE Release + lcSelRul = this.ct_grid_order1.cnumecursor + lcSelSt = this.ct_grid_search1.cnumecursor + IF USED(lcSelRul) + USE IN (lcSelRul) + ENDIF + IF USED(lcSelSt) + USE IN (lcSelSt) + ENDIF + IF USED('crsTransfer') + USE IN crsTransfer + ENDIF + ENDPROC + + PROCEDURE Show + Lparameters nStyle + lcSelRul = This.ct_grid_order1.cnumecursor + This.lbTotal.Caption = 'TOTAL ' + This.CTip_frm + This.ct_grid_order1.initializare(.T.) + This.ct_grid_search1.initializare(.T.) + This.calcul_sume(lcSelRul) + This.ct_grid_search1.cb_tx_cautare1.SetFocus + + If Inlist(poact.id_set,105,106) + Thisform.ct_grid_search1.cboListe.Visible = .T. + Thisform.ct_grid_search1.lb_listePreturi.Visible = .T. + Endif + + If oxset.cursval + With Thisform.ct_factura2 + lcObj = Thisform.cobj + .lb_valuta.Caption = [(] + &lcObj..nume_val_vanz + [)] + With .lb_curs + .Caption = [Curs ] + Dtoc(&lcObj..v8) + [ : ] + Alltrim(Str(&lcObj..Curs,14,4)) + .AutoSize = .T. + Endwith + Endwith + Endif + + If oset.productie And INLIST(oset.id_set,26003,26004) && modificare 17.10.2007 + Thisform.container_valoare_decontata1.Visible = .T. + Endif + + *!* modificare v 2.0.8 + *!* modificare v 2.0.13 + *!* modificare v 2.0.15 - protocol + If InList(oset.id_set,75,216,230,232,233,257,261) + thisform.lb_totalctva.Visible = .T. + thisform.tx_totalctva.Visible = .T. + EndIf + *!* modificare v 2.0.15 ^ + *!* modificare v 2.0.13 ^ + *!* modificare v 2.0.8 ^ + + DoDefault(nStyle) + + ENDPROC + + PROCEDURE Ct_discount1.Init + Select jtva_coloane + *!* Locate For proc_tva = 1.00 And procent = 0 + Locate For id_jtva_coloana = oSet.id_jtax + If !Found() + Go Top + Endif + This.lb_explicatie_tva.Caption = Alltrim(Upper(denumire)) + lnProc_tva = (cota_tva + 100)/ 100 + lnproc = cota_tva + This.pntva = lnProc_tva + This.nid_jtva_coloana = id_jtva_coloana + This.nid_tva = jtva_coloane.id_tva + This.cotaTva.ListIndex = Recno() + + ENDPROC + + PROCEDURE Ct_discount1.Refresh + DODEFAULT() + lcSelRul = thisform.ct_grid_order1.cnumecursor + this.Parent.calcul_sume(lcSelRul) + ENDPROC + + PROCEDURE Ct_grid_order1.Cb_tx_gestin._CBBASE1.LostFocus + SELECT nom_gestiuni + pcobj.id_gestin = id_GESTiune + pcobj.gestin = nume_gestiune + pcObj.cgest = cgest + pcobj.id_GESTiune = id_GESTiune + pcobj.nume_gestiune = nume_gestiune + ENDPROC + + PROCEDURE Ct_grid_search1.cboListe.Init + IF INLIST(poact.id_set,105,106) + SELECT cListePret + LOCATE FOR id_pol = poact.id_pol + this.Value = cListePret.nume_lista_preturi + this.Refresh + ENDIF + + ENDPROC + + PROCEDURE Ct_grid_search1.cboListe.Valid + pnId_lista = cListePret.id_pol + + SELECT cListePret + pcobj.id_pol = cListePret.id_pol + thisform.ct_GRID_SEARCH1.initializare(.T.) + thisform.ct_grid_search1.cb_tx_cautare1.text.SetFocus + + ENDPROC + + PROCEDURE Ct_grid_search1.Cb_tx_gestout._CBBASE1.Valid + Select nom_gestiuni + pcobj.id_gestout = id_GESTiune + pcobj.gestout = nume_gestiune + pcobj.cgest = cgest + pcobj.id_GESTiune = id_GESTiune + pcobj.nume_gestiune = nume_gestiune + Thisform.ct_GRID_SEARCH1.initializare(.T.,.T.) + This.Parent.Parent.cb_tx_cautare1.Text.SetFocus + ENDPROC + + PROCEDURE Lb_titlu_alb_b121.Init + If Type('oxset.nume_set') # 'U' + This.Caption = Proper(Alltrim(oxset.nume_set)) + Endif + This.Caption = This.Caption + [ ( Nr. document : ] + Alltrim(Nvl(poAct.serie_act,[])) + [ ] + ; + TRANSFORM(poAct.nract,get_mask(14,0)) + [ ) ] + ENDPROC + + PROCEDURE Urmator1.Command1.Click + *!* *!* *!* *!* *!* *!* *!* *!* *!* *!* *!* *!* *!* *!* *!* *!* *!* *!* *!* *!* *!* *!* *!* *!* + *!* Model =-1 : Nota fara contabilizare + *!* Model = 1 : Nota simpla cu contabilizare + *!* Model = 2 : NIR + *!* Model = 3 : BON/FACTURA VANZARE + *!* Model = 4 : Retur BON/FACTURA VANZARE + *!* Model = 5 : Transfer + *!* Model = 6 : Retur Transfer + *!* Model = 7 : Diferenta de pret + + *!* Param1 = 1 : En-detail + *!* Param1 = 2 : En-gros + *!* *!* *!* *!* *!* *!* *!* *!* *!* *!* *!* *!* *!* *!* *!* *!* *!* *!* *!* *!* *!* *!* *!* *!* + Private poPreturi + poPreturi = CreateObject("empty") + AddProperty(poPreturi,"pretv", 0) + AddProperty(poPreturi,"tvav", 0) + AddProperty(poPreturi,"pretvtva", 0) + + Local lnNIRPRETLISTAMOD + If Type('gnNIRPRETLISTAMOD') <> 'U' + lnNIRPRETLISTAMOD = gnNIRPRETLISTAMOD + Else + lnNIRPRETLISTAMOD = 0 + EndIf + Local lnPretfTva, lnPretvTva, lnListaPreturiCuTva + lnPretfTva = 0 + lnPretvTva = 0 + lnListaPreturiCuTva = 1 && daca lista de preturi are preturile cu tva id_set = 231 nir mf la pv cu modificarea listei de preturi + + lcSelRul = THISFORM.ct_grid_order1.cnumecursor + + *!* modificare 22.08.2007 + *!* La toate conditiile unde era id_articol, am adaugat si NVL(serie,'') , in afara de politicile de preturi si reteta. + + lcIde = [T] + lcIde = lcIde + ',' + IIF(oset.factura AND oset.model = 2, 'F', '') + lcIde = lcIde + ',' + IIF(oset.adaos AND (oset.param1 = 1 OR oset.model = 2), 'A,X','') + lcIde = lcIde + ',' + IIF(oset.discount, 'D','') + lcIde = lcIde + ',' + IIF(INLIST(oset.model,2), 'N', IIF(INLIST(oset.model, 3, 4, 5, 6, 7), 'B', '')) + lcIde = IIF(oset.model = 7, lcIde + ',X' , lcIde) + + lnProcDisc = IIF(oset.discount,THISFORM.ct_discount1.proc_discount ,0) + *!* modificare 22.06 + *!* lnProcAdaos = IIF(oset.adaos,thisform.ct_adaos1.proc_adaos,0) + lnProcAdaos = IIF(oset.adaos,IIF(THISFORM.ct_adaos1.proc_adaos<-9999999,0,THISFORM.ct_adaos1.proc_adaos),0) + *!* ^ + + SELECT cursor_curent1 + SCATTER NAME oStg + + If Empty(oStg.Cont) + amessagebox('Nu s-a selectat nici un reper! Repetati selectia!',48,"Atentie") + Release oStg + Thisform.ct_grid_search1._GRID1.SetFocus + Return + Endif + + *!* If oSet.model > 2 And !Empty(NVL(oStg.id_rul_aux,0)) + *!* amessagebox("Operatiile asupra acestui reper se pot efectua doar din programul ROAVIN!",48,"Atentie") + *!* Release oStg + *!* Thisform.ct_grid_search1._GRID1.SetFocus + *!* Return + *!* Endif + + *!* DNF + SELECT (lcSelRul) + SCATTER NAME orul BLANK + IF !PEMSTATUS(orul,'dnf',5) + ADDPROPERTY(orul,'dnf',00000) + IF PEMSTATUS(oStg,'dnf',5) + orul.DNF= oStg.DNF + ENDIF + ENDIF + + *!* MODIFICAT 11.04.2006 + *!* MARIUS.MUTU - SA SE POATA SCOATE DIN STOC DE MAI MULTE ORI ACEEASI CANTITATE LA OB INV IN FOLOSINTA CAND TRANSFER, CASARE DIN FOLOSINTA + IF !INLIST(oset.id_set,210,211,212,89,70) + IF 'B' $ lcIde + SELE (lcSelRul) + IF gnTipGest # 6 + SELECT SUM(cante) AS cante, id_articol, NVL(serie,'') as serie FROM (lcSelRul) ; + WITH (BUFFERING = .T.) WHERE id_articol = oStg.id_articol AND PRET =oStg.PRET ; + AND id_gestout = oStg.id_gestiune AND NVL(serie,'') = NVL(oStg.serie,'') ; + GROUP BY id_articol,serie INTO CURSOR crsCant + *!* LOCATE FOR id_articol = ostg.id_articol AND pret =ostg.pret AND id_gestout = ostg.id_gestiune && id_gestout in loc de id_gestiune pt ca la transfer modific id_gestiune (inainte_de_do_termin) + ELSE + SELECT SUM(cante) AS cante, id_articol,NVL(serie,'') as serie FROM (lcSelRul) ; + WITH (BUFFERING = .T.) WHERE id_articol = oStg.id_articol AND pretv =oStg.pretv ; + AND id_gestout = oStg.id_gestiune AND PRET =oStg.PRET AND NVL(serie,'') = NVL(oStg.serie,'') ; + GROUP BY id_articol,serie INTO CURSOR crsCant + *!* LOCATE FOR id_articol = ostg.id_articol AND pretv =ostg.pretv AND id_gestout = ostg.id_gestiune AND pret =ostg.pret && id_gestout in loc de id_gestiune pt ca la transfer modific id_gestiune (inainte_de_do_termin) + ENDIF + + SELECT crsCant + LOCATE + lnCant = cante + *!* IF FOUND() + IF RECCOUNT('crsCant') > 0 + amessagebox('Daca doriti o cantitate diferita, stergeti acest reper si repetati selectia.',0+64,"Info") + THISFORM.ct_grid_search1._GRID1.SETFOCUS + USE IN crsCant + RETURN + ENDIF + USE IN crsCant + ENDIF + ELSE + && scoatere din stoc obiecte de inventar + IF 'B' $ lcIde + SELE (lcSelRul) + + SELECT SUM(cante) AS cante, id_articol, NVL(serie,'') as serie ; + FROM (lcSelRul) WITH (BUFFERING = .T.) ; + WHERE id_articol = oStg.id_articol AND PRET =oStg.PRET AND id_gestout = oStg.id_gestiune ; + AND id_responsabil = oStg.id_responsabil AND datapif = oStg.datapif AND NVL(serie,'') = NVL(oStg.serie,'') ; + GROUP BY id_articol,serie INTO CURSOR crsCant + + SELECT crsCant + LOCATE + lnCant = cante + IF RECCOUNT('crsCant') > 0 + amessagebox('Daca doriti o cantitate diferita, stergeti acest reper si repetati selectia.',64,"Info") + * THISFORM.ct_grid_search1._GRID1.SETFOCUS + thisform.ct_grid_search1.cb_tx_cautare1.text.SetFocus + USE IN crsCant + RETURN + ENDIF + USE IN crsCant + ENDIF + + ENDIF + + *!* modificare 03.10.2007 + If Inlist(oxset.model,4,6) && Retur + lcObiect = Thisform.cobj + &lcObiect..id_gestout = oStg.id_gestiune + &lcObiect..gestout = ALLTRIM(oStg.nume_gestiune) + Endif + *!* modificare 03.10.2007 ^ + + THISFORM.assign_values('orul',THISFORM.cobj,'oStg') + + IF TYPE('orul.datapif') # 'U' AND TYPE('orul.datapif') = 'T' && pentru ob. inv. in folosinta + orul.datapif = TTOD(orul.datapif) + ENDIF + + IF INLIST(oset.model,3,4) AND oset.param1 = 1 && bon/retur + factura + en-detail + lnPretvTva = orul.pretv + orul.tvav && pret vanzare cu TVA + *!* modificare 22.06 + lnProcAdaos = IIF(orul.procent<>0,orul.procent,lnProcAdaos) + *!* ^ + Else + *!* 09.06.2008 + *!* 231 = roagest - nir marfa la pretv cu lista de preturi + *!* 247 = roagest - nir marfa la pretv cu lista de preturi gestiune hibrid 23.10.2008 + *!* 266 roagest - mf pret de ach * > factura nesosita - pret de lista ** 19.05.2010 + IF INLIST(oset.id_set,105,106,231,247,266) && 105,106 - roafacturare - NIR de marfa la pret de vanzare + lcSql = [ select pretftva, pretctva from vcrm_politici_pret_art where id_pol=] + ALLTRIM(STR(poact.id_pol))+; + [ and id_articol =] + ALLTRIM(STR(oStg.id_articol)) + + lnSucces=goExecutor.oExecute(lcSql,'crsPret') + IF lnSucces < 0 + amessagebox(goExecutor.cEroare,0+16,'Eroare') + EndIf + + SELECT crsPret + lnPretfTva = pretftva + lnPretvTva = pretctva + IF USED('crsPret') + USE IN crsPret + ENDIF + + Private pnReturnValue + pnReturnValue = 0 + lnSucces = goExecutor.oSelect2Value("select preturi_cu_tva from vcrm_politici_preturi where id_pol = " + ALLTRIM(STR(poact.id_pol)), @pnReturnValue) + IF lnSucces < 0 + amessagebox(goExecutor.cEroare,0+16,'Eroare') + Else + lnListaPreturiCuTva = pnReturnValue + EndIf + ELSE + lnPretvTva = 0 + EndIf + *!* 09.06.2008 + ENDIF + + IF oset.id_set = 104 + PRIVATE pnImputare + STORE 0 TO pnImputare + + IF gnImputare = 1 && pretul maxim din stoc + lcSql=[select MAX(pret) as pretMax from (select pack_sesiune.suma_ron(pret, an, luna) as pret from ] + ; + [(select pret, an, luna from stoc where id_articol = ] + +ALLTRIM(STR(orul.id_articol))+ ; + [ and NVL(serie,'x_x_x') = '] + NVL(orul.serie,'x_x_x') + [' ] + gcCondSucursala + [))] + + lnSucces=goExecutor.oExecute(lcSql,'crsPretMax') + IF lnSucces < 0 + amessagebox(goExecutor.cEroare,0+16,'Eroare') + ENDIF + + SELECT crsPretMax + orul.pretv = pretMax + IF ISNULL(orul.pretv) + orul.pretv = 0 + ENDIF + + IF USED('crsPretMax') + USE IN crsPretMax + ENDIF + ENDIF + ENDIF + + IF EMPTY(THISFORM.cfrm_ceredate) + RETURN + ENDIF + + IF INLIST(oset.id_set,211) && TRANSFER MAGAZIE OB INV IN FOLOSINTA - CATRE GESTIUNE OB INV IN FOL PE UN RESPONSABIL + orul.id_responsabil = 0 + orul.NRESP = '' + ENDIF + + lcForm = ALLTRIM(THISFORM.cfrm_ceredate) + onir = CREATEOBJECT(lcForm) + onir.bVizualizare = lcIde + onir.cobj = orul + *onir.cParentObj = thisform.cobj + onir.pretvtva = lnPretvTva + + *!* 09.06.2008 + *!* 231 - nir mf pretv cu modificarea listei de preturi + *!* 247 = roagest - nir marfa la pretv cu lista de preturi gestiune hibrid 23.10.2008 + *!* 266 roagest - mf pret de ach * > factura nesosita - pret de lista ** 19.05.2010 + IF INLIST(oset.id_set,105,106,231,247,266) + onir.cobj.pretv = lnPretfTva + onir.cobj.tvav = lnPretvTva - lnPretfTva + && v 2.0.14 din 11iun2008 - preluare preturi din rul de pe ultima factura de achizitie, cautarea se face in ultimele 2 luni + IF INLIST(oset.id_set,231,247,266) + *!* v 2.0.18 (ordonare an desc, luna desc, dataora desc, cant <> 0) + lcSql = [select a.* from (select a.dataora,a.pret,a.tva, a.tvav,a.pretv,a.PRETV+a.TVAV as pretvtva ]+; + [ from rul a where a.ID_ARTICOL = ]+Alltrim(Str(orul.id_articol)) + [ and a.sters = 0 and a.cant<>0 and a.id_tip_rulaj = 0]+; + [ and an*12+luna between ]+ Alltrim(Str(gnAn*12+gnluna-1))+[ and ]+ Alltrim(Str(gnAn*12+gnluna)) +; + [ order by a.an desc, a.luna desc, a.dataora desc) a where rownum = 1] + *!* v 2.0.18 ^ + lnSucces=goExecutor.oExecute(lcSql,'crsPretUltim') + IF lnSucces < 0 + amessagebox(goExecutor.cEroare,0+16,'Eroare') + Else + Select crsPretUltim + If Reccount() > 0 + onir.pretu_factura = crsPretUltim.pret + onir.cobj.pret = crsPretUltim.pret + onir.cobj.tva = crsPretUltim.tva + && suprascriu pretul de vanzare din lista doar daca pe nir am pretul <> 0 + If crsPretUltim.pretv <> 0 + onir.cobj.pretv = crsPretUltim.pretv + onir.cobj.tvav = crsPretUltim.tvav + onir.pretvtva = crsPretUltim.pretvtva + EndIf + + EndIf + Use in crsPretUltim + EndIf + && v 2.0.14 din 11iun2008 ^ + EndIf + ENDIF + *!* 09.06.2008 ^ + + onir.cTitlu = ALLTRIM(NVL(oStg.denumire,'')) + [-] + ALLTRIM(NVL(oStg.codmat,'')) + onir.item2.text_item1.READONLY = IIF(oset.model = 2, .F., .T.) + + IF oset.param1 = 1 AND (oset.model = 4 OR gnTipGest = 6) && facturi retur / vanzare marfa la pret de vanzare en-detail - blochez pretul de vanzare + onir.BlochezPretV = .T. + onir.proc_tvav = orul.proc_tvav + onir.proc_adaos = lnProcAdaos + ENDIF + + Do Case + CASE oset.model = 7 && ( oset.id_set = 218 ) + onir.item9.label_item1.Caption = 'Pret nou fara TVA' + onir.item9.text_item1.inputmask = get_mask(12,gnPPret) + Case poact.id_set = 104 && RoaObInv - Imputare + onir.item7.label_item1.Caption = 'Pret imputare cu TVA' + onir.item8.label_item1.Caption = 'TVA imputare' + onir.item9.label_item1.Caption = 'Pret imputare fara TVA' + * onir.BlochezPretV = .T. + Case poact.id_set = 26001 && ROAPRODUCTIE.PV_PRODUCTIE + Local lnPret + Store 0 To lnPret + + Private poPret + Store '' To poPret + Local lcschema, lcselect, lcFiltru, lcOrder, llAfiseaza, lcgroup, llModParam, lcFiltruOriginal + + lcschema = [] + lcselect = [select pret from vcrm_politici_pret_art] + lcOrder = [] + lcFiltru = [] + llAfiseaza = .F. + lcgroup = "" + llModParam = .T. + lcFiltruOriginal = [id_pol=] + ALLTRIM(STR(poact.id_pol)) + [ and id_articol=] + ALLTRIM(STR(oStg.id_articol)) + + gencursor('poPret','crsPret',lcselect,lcFiltru,lcschema,lcOrder,llAfiseaza, lcgroup, llModParam, lcFiltruOriginal) + poPret.ca_baza1.afisare() + + SELECT crsPret + GO TOP + lnPret = PRET + + IF USED('crsPret') + USE IN crsPret + ENDIF + + RELEASE poPret + + onir.cobj.PRET = lnPret + onir.item2.label_item1.CAPTION = 'Pret unitar' + onir.item2.text_item1.READONLY = .T. + onir.item2.text_item1.TABSTOP = .F. + + LOCAL lcReteta, lnId_reteta + STORE 0 TO lnId_reteta + STORE '' TO lcReteta + + PRIVATE poReteta + STORE '' TO poReteta + + lcschema = [] + lcselect = [select id_reteta, reteta from vnom_retetar] + lcOrder = [] + lcFiltru = [] + llAfiseaza = .F. + lcgroup = "" + llModParam = .T. + lcFiltruOriginal = [principala=1 and id_articol=]+ALLTRIM(STR(onir.cobj.id_articol)) + gencursor('poReteta','crsReteta',lcselect,lcFiltru,lcschema,lcOrder,llAfiseaza, lcgroup, llModParam, lcFiltruOriginal) + poReteta.ca_baza1.afisare() + + SELECT crsReteta + GO TOP + lcReteta = ALLTRIM(reteta) + lnId_reteta = id_reteta + + IF USED('crsReteta') + USE IN crsReteta + ENDIF + + RELEASE poReteta + + onir.cobj.reteta = lcReteta + onir.cobj.id_reteta = lnId_reteta + ENDCASE + + *onir.item4.text_item1.comment = onir.item4.text_item1.comment + IIF(INLIST(oset.model,3,4),[e],[]) && CANT sau CANTE + onir.item4.text_item1.COMMENT = onir.item4.text_item1.COMMENT + IIF(LOWER(ALLTRIM(THISFORM.osel_dr.cantitate))=[cante],[e],[]) && CANT sau CANTE + onir.proc_discount = lnProcDisc + onir.proc_adaos = lnProcAdaos + onir.SHOW(1) + + IF gnButon = 1 + lcCant = [orul.] + ALLTRIM(THISFORM.osel_dr.cantitate) + IF TYPE('ostg.cantitate') # 'U' AND INLIST(oset.model, 3, 4, 5, 6, 7) &&: bon, retur, transfer, retur transfer + lnCantD = &lcCant + lnCantD1 = &lcCant + lnCantS = oStg.cantitate + + *!* MODIFICAT 11.04.2006 + *!* DOAR LA ID_SET = 210 (TRANSFER OB INV IN FOL CATRE MAI MULTI RESPONSABILI) AM PERMIS SA SE SCOATA DE MAI MULTE ORI ACELASI REPER + *!* ADUN CANTITATEA DEJA IESITA LA CEA CURENTA + lnCant = 0 + IF INLIST(oset.id_set,210,211,212,89) + SELECT SUM(NVL(cant,0)) AS cant ; + FROM (lcSelRul) WITH (BUFFERING = .T.); + WHERE id_articol = oStg.id_articol AND PRET = oStg.PRET AND id_gestout = oStg.id_gestiune AND NVL(serie,'') = NVL(oStg.serie,'') ; + INTO CURSOR crsCant + SELECT crsCant + CALCULATE SUM(cant) TO lnCant + lnCantD = lnCantD + lnCant + USE IN crsCant + ENDIF + IF ABS(lnCantD) > ABS(lnCantS) OR (SIGN(lnCantD1) * SIGN(lnCantS) < 0) + lcTitlu = [Atentie] + lcTip = [Avertizare] + lcImagine = [exclam.ico] + ofrm_eroare = CREATEOBJECT('frm_mesaj',lcTitlu,lcImagine,lcTip,"Cantitatea maxima existenta este:",oStg.cantitate) + ofrm_eroare.SHOW(1) + RELEASE ofrm_eroare + &lcCant = oStg.cantitate - lnCant + ENDIF + + *!* MODIFICAT 11.04.2006 + *!* NU ADAUG ARTICOLE FARA CANTITATE + IF &lcCant = 0 + THISFORM.ct_grid_order1.cb_tx_gestin.SETFOCUS() + RETURN + ENDIF + ENDIF + + DO case + CASE INLIST(oset.model, 4, 6) && retur BON, retur TRANSFER + &lcCant = -&lcCant + case oset.model = 2 && NIR + SELECT (lcSelRul) + orul.acont = THISFORM.assign_analitic(orul.CONT,THISFORM.cobj,'orul') + ENDCASE + + IF INLIST(oset.model,5,6,7) && TRANSFER, RETUR TRANSFER, DIFERENTA DE PRET + lcCantDr = LOWER(ALLTRIM(THISFORM.osel_dr.cantitate)) + lcCantTransf = [cant] + IIF(lcCantDr = [cante],[],[e]) + IF !USED('crsTransfer') + SELECT *, 0000 AS rec, 0 AS nuInConturiX FROM (lcSelRul) INTO CURSOR crsTransfer WHERE 1=2 NOFILTER READWRITE + ENDIF + SELECT crsTransfer + APPEND BLANK + GATHER NAME pcObj + GATHER NAME oStg + REPLACE cant WITH 0, cante WITH 0 + REPLACE &lcCantTransf WITH &lcCant + *REPLACE nuInConturiX WITH 1 + *!* modificare 26.02.2007 + Do Case + Case INLIST(oset.id_set,75,218) && modificare 22.05.2007 : completez si pretv ca sa pot calcula adaosul + Replace pretv With orul.pretv,tvav With orul.tvav,proc_Tvav With orul.proc_Tvav + Case INLIST(oset.id_set, 207,254) + orul.pretv = oStg.pretv + orul.tvav = oStg.tvav + orul.proc_tvav = oStg.proc_tvav + Case oset.id_set = 89 && transfer intre persoane + pcObj.id_gestin = orul.id_gestout + pcObj.gestin = orul.id_gestout + orul.id_gestin = orul.id_gestout + orul.gestin = orul.gestout + Endcase + *!* IF oset.id_set = 89 && transfer intre persoane + *!* pcObj.id_gestin = orul.id_gestout + *!* pcObj.gestin = orul.id_gestout + *!* orul.id_gestin = orul.id_gestout + *!* orul.gestin = orul.gestout + *!* ENDIF + *!* modificare 26.02.2007 ^ + REPLACE id_gestin WITH orul.id_gestin, gestin WITH orul.gestin + REPLACE id_gestout WITH orul.id_gestout, gestout WITH orul.gestout + *!* IF TYPE('orul.id_gestiune') = 'N' AND TYPE('crsTransfer.id_gestiunec') = 'N' + *!* REPLACE id_gestiunec WITH orul.id_gestiune + *!* ENDIF + IF TYPE('orul.id_responsabil') = 'N' AND TYPE('crsTransfer.id_responsabilc') = 'N' + REPLACE id_responsabilc WITH orul.id_responsabil + ENDIF + ENDIF + + IF oset.id_set = 104 + IF gnImputare = 1 + SELECT cursor_curent1 + IF DNF<>0 + uzura = (DNF-(dns_luni-IIF(!EMPTY(datapif) AND !ISNULL(datapif),((gnAn*12+gnLuna)-(YEAR(datapif)*12+MONTH(datapif))),0)))/DNF*100 + ELSE + uzura = 0 + ENDIF + DO CASE + CASE pnImputare = 1 && procent + orul.pret_imputare = ROUND((100 - uzura) * orul.pretv / 100,gnPC) + CASE pnImputare = 2 && integral + orul.pret_imputare = orul.pretv + OTHERWISE + orul.pret_imputare = orul.pretv + ENDCASE + ELSE + orul.pret_imputare = orul.pretv + ENDIF + ENDIF + + SELECT (lcSelRul) + APPEND BLANK + GATHER NAME orul + lnRecno = RECNO() + + *!* IF TYPE('ostg.id_gestiune') = 'N' + *!* REPLACE id_gestiunec WITH ostg.id_gestiune + *!* ENDIF + IF TYPE('ostg.id_responsabil') = 'N' + REPLACE id_responsabilc WITH oStg.id_responsabil + ENDIF + + *!* MODIFICAT 11.04.2006 + *!* MARIUS.MUTU - AM PUS RECNO('RUL_TEMP') IN CURSORUL DE TRANSFER - LA STERGERE SA POT STERGE SI LINIA CORESPONDENTA DIN CRSTRANSFER + IF INLIST(oset.model,5,6,7) AND USED('crsTransfer') && TRANSFER, RETUR TRANSFER, DIFERENTA DE PRET + SELECT crsTransfer + REPLACE rec WITH lnRecno + EndIf + + *!* 09.06.2008 + *!* 231 - nir mf pretv cu modificarea listei de preturi + *!* daca pretul de vanzare este diferit de pretul de vanzare din lista + *!* modific pretul de vanzare din lista + && 247 = roagest - nir marfa la pretv cu lista de preturi gestiune hibrid 23.10.2008 + *!* 266 roagest - mf pret de ach * > factura nesosita - pret de lista ** 19.05.2010 + If INLIST(oset.id_set,231,247,266) and poPreturi.pretvtva <> lnPretvTva and lnNIRPRETLISTAMOD = 1 + lnPretftvaLista = poPreturi.pretv + lnPretvtvaLista = poPreturi.pretvtva + lnPretLista = Iif(lnListaPreturiCuTva = 1, lnPretvtvaLista, lnPretftvaLista) + lcSql = [update crm_politici_pret_art set pret = ] + Alltrim(Str(lnPretLista,20,4)) + ; + [, pretftva = ] + Alltrim(Str(lnPretftvaLista,20,4)) + [, pretctva = ] + Alltrim(Str(lnPretvtvaLista ,20,4)) + ; + [ where id_pol=] + ALLTRIM(STR(poact.id_pol)) + [ and id_articol =] + ALLTRIM(STR(oStg.id_articol)) + lnSucces = goExecutor.oExecute(lcSql) + If lnSucces < 0 + MessageBox(goExecutor.cEroare,0+16, 'Eroare') + EndIf + EndIf + *!* 09.06.2008 ^ + + IF THISFORM.ct_grid_order1.cb_tx_gestin.VISIBLE + THISFORM.ct_grid_order1.cb_tx_gestin._cbbase1.VALUE = orul.gestin + THISFORM.ct_grid_order1.cb_tx_gestin._cbbase1.REFRESH + ENDIF + THISFORM.ct_grid_order1.actualizeaza_grid() + THISFORM.ct_grid_order1._GRID1.AUTOFIT + ELSE + THISFORM.ct_grid_search1._GRID1.SETFOCUS + ENDIF + + THISFORM.calcul_sume(lcSelRul) + + *!* SELECT crsTransfer + *!* BROWSE + *!* SELECT (lcSelRul) + *!* BROWSE + + IF oset.productie AND INLIST(oset.id_set,26003,26004) && modificare 17.10.2007 AND ALLTRIM(UPPER(oset.formproduc))='FRM_ALEGE_SECTIE_COMANDA' + pnValoareDecontata = thisform.nTotal + pnCheltuieliDirecte = thisform.nTotal - pnValoareDecontata + thisform.container_valoare_decontata1.Refresh + ENDIF + + RELEASE orul + RELEASE oStg + + ENDPROC + + PROCEDURE _shape1.DblClick + IF thisform.WindowState = 2 + thisform.WindowState = 0 + ELSE + thisform.WindowState = 2 + ENDIF + ENDPROC + +ENDDEFINE + +DEFINE CLASS valoare2rulaj AS frm_termin_renunt OF "_frm_child.vcx" + *< CLASSDATA: Baseclass="form" Timestamp="" Scale="Pixels" Uniqueid="" /> + + *-- OBJECTDATA items order determines ZOrder / El orden de los items OBJECTDATA determina el ZOrder + *< OBJECTDATA: ObjPath="_shape3" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="Clb_facturi_transport" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="cmdFacturiTransport" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="Clb_articole" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="cmdArticole" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="Clb_valoare_repartizat" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="cbo_explicatieTVA" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="lb_explicatieTVA" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="Caut_anluna1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="_label1" UniqueID="" Timestamp="" /> + + * + *m: calculvaloarerepartizat + *m: do_cauta_articole + *m: do_cauta_facturi_achizitie + *m: do_cauta_facturi_transport + *m: do_cauta_furnizor + *m: make_rul_temp + *p: cacont + *p: ccont + *p: cfurnizorname + *p: clistaidarticole + *p: clistaidfacturitransport + *p: cnumefurnizor + *p: cxmlarticole + *p: cxmlfacturiachizitie + *p: cxmlfacturitransport + *p: ddata1 + *p: ddata2 + *p: nidfurnizor + *p: nprocenttva + *p: ntotalvaloarerepartizat + *p: ofurnizor + * + + * + cacont = + Caption = "Form" + ccont = 301 + cfurnizorname = + clistaidarticole = + clistaidfacturitransport = + cnumefurnizor = + cxmlarticole = + cxmlfacturiachizitie = + cxmlfacturitransport = + ddata1 = {} + ddata2 = {} + DoCreate = .T. + Height = 178 + Name = "valoare2rulaj" + nidfurnizor = 0 + nprocenttva = 0 + ntotalvaloarerepartizat = 0 + ofurnizor = .F. + Width = 599 + _SHAPE1.Height = 29 + _SHAPE1.Left = 0 + _SHAPE1.Name = "_SHAPE1" + _SHAPE1.Top = 0 + _SHAPE1.Width = 600 + _SHAPE1.ZOrderSet = 1 + _SHAPE2.Height = 29 + _SHAPE2.Left = 539 + _SHAPE2.Name = "_SHAPE2" + _SHAPE2.Top = 0 + _SHAPE2.Width = 61 + _SHAPE2.ZOrderSet = 2 + LB_TITLU_ALB_B121.Caption = "Repartizare valori pe articole" + LB_TITLU_ALB_B121.Name = "LB_TITLU_ALB_B121" + LB_TITLU_ALB_B121.TabIndex = 10 + LB_TITLU_ALB_B121.ZOrderSet = 3 + BUT_TERMIN1.Left = 570 + BUT_TERMIN1.Name = "BUT_TERMIN1" + BUT_TERMIN1.TabIndex = 6 + BUT_TERMIN1.Top = 1 + BUT_TERMIN1.ZOrderSet = 4 + GRIDSORT1.Name = "GRIDSORT1" + BUT_RENUNT1.Left = 541 + BUT_RENUNT1.Name = "BUT_RENUNT1" + BUT_RENUNT1.TabIndex = 7 + BUT_RENUNT1.Top = 1 + BUT_RENUNT1.ZOrderSet = 6 + * + + ADD OBJECT '_label1' AS _label WITH ; + Caption = "Luna intrari articole", ; + Left = 21, ; + Name = "_label1", ; + TabIndex = 4, ; + Top = 146, ; + ZOrderSet = 15 + *< END OBJECT: ClassLib="_baza.vcx" BaseClass="label" /> + + ADD OBJECT '_shape3' AS _shape WITH ; + BackStyle = 0, ; + Height = 29, ; + Left = 13, ; + Name = "_shape3", ; + Top = 138, ; + Width = 372, ; + ZOrderSet = 0 + *< END OBJECT: ClassLib="_baza.vcx" BaseClass="shape" /> + + ADD OBJECT 'Caut_anluna1' AS caut_anluna WITH ; + Left = 226, ; + Name = "Caut_anluna1", ; + TabIndex = 12, ; + ToolTipText = "Luna in care se cauta intrarile de articole pe care se repartizeaza valoarea facturilor", ; + Top = 142, ; + ZOrderSet = 14, ; + cboan.Name = "cboan", ; + cboluna.Name = "cboluna" + *< END OBJECT: ClassLib="caut_ora.vcx" BaseClass="container" /> + + ADD OBJECT 'cbo_explicatieTVA' AS combobox WITH ; + BorderColor = 128,128,128, ; + BorderStyle = 1, ; + BoundTo = .T., ; + ColumnCount = 1, ; + ColumnLines = .F., ; + ControlSource = "", ; + FontSize = 10, ; + Height = 20, ; + InputMask = "", ; + Left = 439, ; + Name = "cbo_explicatieTVA", ; + RowSource = "jtva_coloane.denumire,cota_tva,id_jtva_coloana", ; + RowSourceType = 2, ; + SpecialEffect = 1, ; + Style = 2, ; + TabIndex = 5, ; + TabStop = .F., ; + Top = 65, ; + Width = 149, ; + ZOrderSet = 12 + *< END OBJECT: BaseClass="combobox" /> + + ADD OBJECT 'Clb_articole' AS clb_tx_simplu WITH ; + Height = 29, ; + Left = 13, ; + Name = "Clb_articole", ; + TabIndex = 3, ; + Top = 110, ; + Width = 372, ; + ZOrderSet = 9, ; + TEXT_SIMPLU1.Height = 23, ; + TEXT_SIMPLU1.Left = 101, ; + TEXT_SIMPLU1.Name = "TEXT_SIMPLU1", ; + TEXT_SIMPLU1.ReadOnly = .T., ; + TEXT_SIMPLU1.Top = 3, ; + TEXT_SIMPLU1.Width = 265, ; + LB_SIMPLU1.Caption = "Articole", ; + LB_SIMPLU1.Name = "LB_SIMPLU1" + *< END OBJECT: ClassLib="lb_tx.vcx" BaseClass="container" /> + + ADD OBJECT 'Clb_facturi_transport' AS clb_tx_simplu WITH ; + Height = 29, ; + Left = 12, ; + Name = "Clb_facturi_transport", ; + TabIndex = 1, ; + Top = 48, ; + Width = 372, ; + ZOrderSet = 7, ; + TEXT_SIMPLU1.Height = 23, ; + TEXT_SIMPLU1.Left = 132, ; + TEXT_SIMPLU1.Name = "TEXT_SIMPLU1", ; + TEXT_SIMPLU1.ReadOnly = .T., ; + TEXT_SIMPLU1.Top = 3, ; + TEXT_SIMPLU1.Width = 234, ; + LB_SIMPLU1.Caption = "Facturi de repartizat", ; + LB_SIMPLU1.Name = "LB_SIMPLU1" + *< END OBJECT: ClassLib="lb_tx.vcx" BaseClass="container" /> + + ADD OBJECT 'Clb_valoare_repartizat' AS clb_tx_simplu WITH ; + Height = 29, ; + Left = 12, ; + Name = "Clb_valoare_repartizat", ; + TabIndex = 2, ; + Top = 76, ; + Width = 372, ; + ZOrderSet = 11, ; + Text_simplu1.ControlSource = "thisform.nTotalValoareRepartizat", ; + Text_simplu1.Format = "KR", ; + Text_simplu1.Height = 23, ; + Text_simplu1.InputMask = (get_mask(12,gnPc)), ; + Text_simplu1.Left = 216, ; + Text_simplu1.Name = "Text_simplu1", ; + Text_simplu1.ReadOnly = .T., ; + Text_simplu1.Top = 3, ; + Text_simplu1.Width = 149, ; + Lb_simplu1.Caption = "Valoare de repartizat", ; + Lb_simplu1.Name = "Lb_simplu1" + *< END OBJECT: ClassLib="lb_tx.vcx" BaseClass="container" /> + + ADD OBJECT 'cmdArticole' AS but_cautare WITH ; + caction = do_cauta_articole, ; + Left = 397, ; + Name = "cmdArticole", ; + TabIndex = 9, ; + Top = 110, ; + ZOrderSet = 10 + *< END OBJECT: ClassLib="cmd_butoane.vcx" BaseClass="commandbutton" /> + + ADD OBJECT 'cmdFacturiTransport' AS but_cautare WITH ; + caction = do_cauta_facturi_transport, ; + Left = 396, ; + Name = "cmdFacturiTransport", ; + TabIndex = 8, ; + Top = 48, ; + ZOrderSet = 8 + *< END OBJECT: ClassLib="cmd_butoane.vcx" BaseClass="commandbutton" /> + + ADD OBJECT 'lb_explicatieTVA' AS label WITH ; + AutoSize = .T., ; + BackStyle = 0, ; + Caption = "TVA", ; + FontName = "Arial", ; + Height = 17, ; + Left = 439, ; + Name = "lb_explicatieTVA", ; + TabIndex = 11, ; + Top = 48, ; + Width = 23, ; + ZOrderSet = 13 + *< END OBJECT: BaseClass="label" /> + + PROCEDURE calculvaloarerepartizat + lcXMLFacturi = this.cXmlfacturitransport + IF !EMPTY(lcXMLFacturi) + XMLTOCURSOR(lcXMLFacturi, "crsFacturiTransport") + lcNrFacturi = cursor2lista("crsFacturiTransport", "nract", ",") + this.cListaIdFacturiTransport = cursor2lista("crsFacturiTransport","id_ireg_part",",") + SELECT crsFacturiTransport + lnProcent = 100 + this.nProcentTVA + CALCULATE SUM(ROUND(totctva*100/lnProcent,gnPC)) TO this.nTotalValoareRepartizat + this.clb_facturi_transport.teXT_SIMPLU1.Value = lcNrFacturi + + USE IN crsFacturiTransport + ELSE + this.clb_facturi_transport.teXT_SIMPLU1.Value = "" + this.ntotalvaloarerepartizat = 0 + + ENDIF + this.clb_valoare_repartizat.text_simplu1.Refresh() + this.clb_facturi_transport.text_SIMPLU1.Refresh() + + ENDPROC + + PROCEDURE do_cauta_articole + LOCAL lcArticole, lcXMLArticole + + lcXMLArticole = caut_articol(0, .F., .T.) + + this.cXMLArticole = lcXMLArticole + IF !EMPTY(lcXMLArticole) + + XMLTOCURSOR(lcXMLArticole, "crsArticole") + lcArticole = cursor2lista("crsArticole", "denumire", ",") + this.cListaIdArticole = cursor2lista("crsArticole","id_articol",",") + + USE IN crsArticole + + this.clb_articole.teXT_SIMPLU1.Value = lcArticole + this.clb_articole.text_SIMPLU1.Refresh() + ENDIF + + + ENDPROC + + PROCEDURE do_cauta_facturi_achizitie + ENDPROC + + PROCEDURE do_cauta_facturi_transport + LOCAL lcCont, lnIdPart, ldData1, ldData2, lcXMLFacturi + + lcCont = "401,408" + ldData1 = DATE(gnAn, gnLuna, 1) + ldData2 = GOMONTH(ldData1,2) - 1 && pot sa am factura de transport si in luna urmatoare + + IF this.nIdfurnizor <= 0 + aMESSAGEBOX("Alegeti furnizorul",0+48,"Atentie") + RETURN + ENDIF + + lnIdPart = this.nIdfurnizor + lcXMLFacturi = caut_facturi(lcCont, lnIdPart, ldData1, ldData2) + IF gnButon = 1 + this.cXmlfacturitransport = lcXMLFacturi + this.calculvaloarerepartizat() + ENDIF + ENDPROC + + PROCEDURE do_cauta_furnizor + ENDPROC + + PROCEDURE inainte_de_do_termin + llSucces = .T. + + lcListaIdArticole = This.clistaidarticole + lcListaIdFacturiTransport = This.cListaIdfacturitransport + If Empty(lcListaIdArticole) + llSucces = .F. + AMESSAGEBOX('Alegeti articolele!', 0 + 48, 'Atentie') + Endif + + If Empty(lcListaIdFacturiTransport) + llSucces = .F. + AMESSAGEBOX('Alegeti facturile de repartizat', 0 + 16, 'Facturi') + Endif + + If llSucces + If Type('oitem') = 'O' + If Pemstatus(oitem,'adunadate',5) + _Screen.MousePointer = 11 + *!* modificare JC/JV 2007 + oitem.id_jnetax = Null + oitem.id_jtax = Null + oitem.id_jtva = Null + *!* modificare JC/JV 2007 ^ + oitem.adunadate() + _Screen.MousePointer = 0 + Endif + Endif + Endif + + If llSucces + _Screen.MousePointer = 11 + llSucces = This.make_rul_temp() + _Screen.MousePointer = 0 + Endif + + Return llSucces + + ENDPROC + + PROCEDURE Init + DODEFAULT() + + IF USED('xcont') + SELECT xcont + LOCATE FOR cont_part = "401" + IF FOUND() + lcNumePart = ALLTRIM(numepart) + lnIdPart = idpart + this.nIdFurnizor = lnIdPart + this.cNumeFurnizor = lcNumePart + ENDIF + ENDIF + + + + + ENDPROC + + PROCEDURE make_rul_temp + LOCAL llSucces, lnSucces, lcListaIdArticole, lcListaIdFacturiTransport + LOCAL lcSql, lcCursor, lnTotalValoareAchizitie, lnTotalValoareRepartizat, lnIdArticol, lnCant, lnCante, lnPret, lnIdGestiune + LOCAL lcCont, lcAcont + LOCAL lnCoeficient, lnValoareRepartizat, lnValoare, lnLuna, lnAn + lcListaIdArticole = THIS.clistaidarticole + lcListaIdFacturiTransport = THIS.cListaIdfacturitransport + + lnLuna = thisform.caut_anluna1.nluna + lnAn = thisform.caut_anluna1.nan + + lcSql = [select v.*, v.id_gestiune as id_gestin, v.nume_gestiune as gestin, v.id_gestiune as id_gestout,] + ; + [v.nume_gestiune as gestout, 0 as nuInConturiX from vrul v where 1=2] + lcCursor = [rul_temp] + lnSucces = goExecutor.oExecute(lcSql,lcCursor) + IF lnSucces < 0 + AMESSAGEBOX(goExecutor.cEroare,0+16, 'Eroare') + ENDIF + + + IF lnSucces > 0 + lcselect = [SELECT A.DENUMIRE, A.CODMAT, G.NUME_GESTIUNE, S.id_articol, S.id_gestiune, S.pret, S.proc_tvav, S.cont, S.acont, S.cants, S.cant, S.cante, S.stoc FROM ] + ; + [(select id_articol, id_gestiune, pret, proc_tvav, cont, acont, cants, cant, cante, (cants + cant - cante) as stoc from stoc where an = ] + ; + TRANSFORM(m.lnAn) + [ and luna = ] + TRANSFORM(m.lnLuna) + [ and id_gestiune in (] + gcGestPermis + [)] + ; + [ and (cants + cant - cante <> 0) and cant <> 0 and id_articol in (] + lcListaIdArticole + [)] + gcCondSucursala + ; + [ order by id_articol) S LEFT JOIN NOM_ARTICOLE A ON S.ID_ARTICOL = A.ID_ARTICOL ] + ; + [ LEFT JOIN NOM_GESTIUNI G ON S.ID_GESTIUNE = G.ID_GESTIUNE] + + *!* lcSql = [select id_articol, id_gestiune, pret, proc_tvav, cont, acont, cants, cant, cante, (cants + cant - cante) as stoc from stoc where an = ] + ; + *!* TRANSFORM(gnAn) + [ and luna = ] + TRANSFORM(gnLuna) + [ and id_gestiune in (] + gcGestPermis + [)] + ; + *!* [ and (cants + cant - cante <> 0) and cant <> 0 and id_articol in (] + lcListaIdArticole + [)] + ; + *!* [ order by id_articol] + *!* lcCursor = [crsStoc] + *!* lnSucces = goExecutor.oExecute(lcSql,lcCursor) + *!* IF lnSucces < 0 + *!* AMESSAGEBOX(goExecutor.cEroare,0+16, 'Eroare') + *!* ENDIF + + loHash = GetHash() + WITH loHash + .SetValue("cSelect", lcselect) + .SetValue("cColoana", "DENUMIRE, CODMAT, NUME_GESTIUNE, CONT, ACONT, PRET, STOC, ID_ARTICOL, ID_GESTIUNE") + .SetValue("cTitlu", "Alegeti intrarile (Mouse Click sau SPATIU pe 'DENUMIRE')") + .SetValue("cTitluColoana", "DENUMIRE, COD MATERIAL, NUME_GESTIUNE, CONT, ACONT, PRET, STOC, ID ARTICOL, ID GESTIUNE") + .SetValue("cPrimaColoana", "denumire") + .SetValue("nTipReturn", 1) + ENDWITH + + TRY + lcXML = cauta_alfa_hash(loHash) && 11.07.2007 + + IF !EMPTY(lcXML) + XMLTOCURSOR(lcXML, "crsStoc") + ELSE + lnSucces = -1 + ENDIF + CATCH + lnSucces = -1 + ENDTRY + + ENDIF + + *!* modificare serii numere - 10.2007 + *!* IF lnSucces > 0 + *!* && PLAJE NIR-URI CMP + *!* lnTip = 4 && NIR PT CMP + *!* lnSerie = 2 + *!* lnId_entitate = 0 + *!* lnNnir1 = 0 + *!* lnNnir2 = 0 + *!* lcselect = [select id_plaja,pl_inf,pl_sup from ] + gcS + [.vplaje_numere where ] +; + *!* [inactiv = 0 and tip = ] + ALLTRIM(STR(lnTip)) + [ and serie = ] + ; + *!* ALLTRIM(STR(lnSerie)) + [ and id_entitate = ] + ALLTRIM(STR(lnId_entitate)) + *!* lcCursor = [crsplaja] + *!* lnSucces = goExecutor.oExecute(lcselect,lcCursor) + *!* IF lnSucces < 0 + *!* AMESSAGEBOX(goExecutor.cEroare,0+16, 'Eroare') + *!* ELSE + *!* SELECT crsPlaja + *!* lnNnir1 = pl_inf + *!* lnNnir2 = pl_sup + *!* ENDIF + *!* USE IN crsPlaja + *!* ENDIF + *!* modificare serii numere - 10.2007 ^9 + + IF lnSucces > 0 + *!* modificare v 2.2.33 : am adaugat PRET + SELECT DISTINCT ID_ARTICOL, ID_GESTIUNE, PADR(NVL(CONT,''), 4, ' ') AS CONT, PADR(NVL(ACONT,''), 4, ' ') AS ACONT, pret ; + FROM crsStoc ; + INTO CURSOR crsJoinTemp + + *!* modificare serii numere - 10.2007 + *!* modificare v 2.2.33 : pret, round(CANT*PRET,?gnPc) + lcselect = [SELECT ID_ARTICOL, ID_GESTIUNE, CONT, ACONT, PRET, SUM(ROUND(CANT*PRET,?gnPc)) AS VALOARE FROM RUL ] + ; + [ WHERE STERS = 0 AND AN = ] + TRANSFORM(m.lnAn) + [ AND LUNA = ] + TRANSFORM(m.lnLuna) + ; + [ and id_gestiune in (] + gcGestPermis + [)] + ; + [ AND CANT <> 0 and id_tip_rulaj <> 2] + gcCondSucursala + *!* lcselect = [SELECT ID_ARTICOL, ID_GESTIUNE, CONT, ACONT, SUM(CANT*PRET) AS VALOARE FROM RUL ] + ; + *!* [ WHERE STERS = 0 AND AN = ] + TRANSFORM(gnAn) + [ AND LUNA = ] + TRANSFORM(gnLuna) + [ and id_gestiune in (] + gcGestPermis + [)] + ; + *!* [ AND CANT <> 0 and (NNIR NOT BETWEEN ] + TRANSFORM(lnNnir1) + [ AND ] + TRANSFORM(lnNnir2) + [)] + *!* *!* [ AND id_articol in (] + lcListaIdArticole + [)] + *!* modificare serii numere - 10.2007 ^ + lcConditie = "" + SELECT crsJoinTemp + SCAN + SCATTER NAME lorec + lcConditie = lcConditie + [ OR (id_articol = ] + ALLTRIM(STR(lorec.ID_ARTICOL)) + [ and id_gestiune = ] + ALLTRIM(STR(lorec.ID_GESTIUNE)) + ; + [ and cont = '] + ALLTRIM(lorec.CONT) + IIF(!EMPTY(ALLTRIM(lorec.ACONT)), [' and acont = '] + ALLTRIM(lorec.ACONT) + ['], [']) + [)] + ENDSCAN + USE IN crsJoinTemp + IF !EMPTY(lcConditie) + lcConditie = SUBSTR(lcConditie, 5) + ENDIF + lcselect = lcselect + IIF(!EMPTY(lcConditie), [ AND (] + lcConditie + [)], []) + *!* modificare v 2.2.33 : am adaugat PRET + lcselect = lcselect + [ GROUP BY ID_ARTICOL, ID_GESTIUNE, CONT, ACONT, PRET order by id_articol] + lcCursor = [crsRulTemp] + lnSucces = goExecutor.oExecute(lcselect,lcCursor) + IF lnSucces < 0 + AMESSAGEBOX(goExecutor.cEroare,0+16, 'Eroare') + ENDIF + + + + *!* loHash = GetHash() + *!* WITH loHash + *!* .SetValue("cSelect", lcselect) + *!* .SetValue("cColoana", "DENUMIRE, CODMAT, NUME_GESTIUNE, CONT, ACONT, VALOARE, ID_ARTICOL, ID_GESTIUNE") + *!* .SetValue("cTitlu", "Alegeti intrarile") + *!* .SetValue("cTitluColoana", "DENUMIRE, COD MATERIAL, NUME_GESTIUNE, CONT, ACONT, VALOARE, ID ARTICOL, ID GESTIUNE") + *!* .SetValue("cPrimaColoana", "denumire") + *!* .SetValue("nTipReturn", 1) + *!* ENDWITH + + *!* lcXML = cauta_alfa_hash(loHash) && 11.07.2007 + + *!* IF !EMPTY(lcXML) + *!* XMLTOCURSOR(lcXML, "crsRulTemp") + *!* ELSE + *!* lnSucces = -1 + *!* ENDIF + ENDIF + + IF lnSucces > 0 + SELECT crsRulTemp + CALCULATE SUM(ROUND(valoare,gnPc)) TO lnTotalValoareAchizitie + lnTotalValoareRepartizat = THIS.ntotalvaloarerepartizat + + LOCAL lnValoareRepartizatSuma + lnValoareRepartizatSuma = 0 + + SELECT crsStoc + SCAN + lnIdArticol = ID_ARTICOL + lnCante = cants + cant - cante + lnPret = PRET + lnIdGestiune = ID_GESTIUNE + lcCont = CONT + lcAcont = ACONT + lnStoc = stoc + + *!* SCOT STOCUL EXISTENT CU PRETUL VECHI + SELECT rul_temp + SCATTER NAME loRul BLANK + WITH loRul + .ID_ARTICOL = lnIdArticol + .id_gestout = lnIdGestiune + .ID_GESTIUNE = lnIdGestiune + .cante = lnStoc + .PRET = lnPret + .CONT = lcCont + .ACONT = lcAcont + ENDWITH + + SELECT rul_temp + APPEND BLANK + GATHER NAME loRul + + *!* INTRODUC STOCUL EXISTENT CU PRETUL NOU + + *!* coeficient_lesie = valoare_achizitie_lesie / valoare_achizitie_totala + *!* valoare_repartizata_lesie = valoare_totala_de_repartizat * coeficient_lesie + *!* valoare_lesie = valoare_stoc_lesie + valoare_repartizata_lesie + *!* pret_lesie = valoare_lesie / stoc_final_lesie + SELECT crsRulTemp + *!* modificare v 2.2.33 : am adaugat PRET + LOCATE FOR ID_ARTICOL = lnIdArticol AND ID_GESTIUNE = lnIdGestiune AND CONT = lcCont AND NVL(ACONT,'XXXX') = NVL(lcAcont,'XXXX') AND pret = lnPret + IF FOUND() + *!* modificare v 2.2.33 : round(...) + lnCoeficient = ROUND(valoare / lnTotalValoareAchizitie,2) + ELSE + lnCoeficient = 0 + ENDIF + + && la ultimul reper valoarea de repartizat = total valoare de repartizat - valoarea repartizata pe reperele anterioare + lnValoareRepartizat = ROUND(lnTotalValoareRepartizat * lnCoeficient, gnPc) + IF RECCOUNT('crsStoc') = RECNO('crsStoc') && ultimul reper + lnValoareRepartizat = lnTotalValoareRepartizat - lnValoareRepartizatSuma + ELSE + lnValoareRepartizatSuma = lnValoareRepartizatSuma + lnValoareRepartizat + ENDIF + + lnValoare = ROUND(lnStoc * lnPret + lnValoareRepartizat, gnPc) + lnPret = ROUND(lnValoare / lnStoc, gnPpret) + SELECT rul_temp + SCATTER NAME loRul BLANK + WITH loRul + .ID_ARTICOL = lnIdArticol + .id_gestout = lnIdGestiune + .ID_GESTIUNE = lnIdGestiune + .cant = lnStoc + .PRET = lnPret + .CONT = lcCont + .ACONT = lcAcont + ENDWITH + + SELECT rul_temp + APPEND BLANK + GATHER NAME loRul + ENDSCAN + ENDIF + + SELECT rul_temp + REPLACE ALL ID_TIP_RULAJ WITH 5 && RULAJ REPARTIZARE VALOARE PE ARTICOLE + *!* modificare 08.11.2007 + lcCont = cont + *!* modificare 08.11.2007 ^ + + IF USED('ACTACTAN') + SELECT ACTACTAN + *!* modificare JC/JV 2007 + REPLACE proc_tva WITH 0 FOR NVL(id_jtva_coloana,0)=0 + *!* modificare JC/JV 2007 ^ + GO TOP + *!* modificare 08.11.2007 + replace scd WITH lcCont + *!* REPLACE SCD WITH rul_temp.CONT + *!* modificare 08.11.2007 ^ + SCATTER NAME loActactan + SELECT rul_temp + REPLACE ALL dataact WITH loActactan.dataact, ; + nnir WITH loActactan.nnir, ; + id_sectie WITH loActactan.id_sectie, ; + id_responsabil WITH loActactan.id_responsabil, ; + id_lucrare WITH loActactan.id_lucrare, nract WITH loActactan.nract, serie_act WITH loActactan.serie_act + ENDIF + + IF USED('crsStoc') + USE IN crsStoc + ENDIF + IF USED('crsRulTemp') + USE IN crsRulTemp + ENDIF + + llSucces = IIF(lnSucces > 0, .T., .F.) + RETURN llSucces + + ENDPROC + + PROCEDURE cbo_explicatieTVA.Init + Select jtva_coloane + Locate For id_jtva_coloana = XSETS.id_jtax + If ! Found() + Go Top + Endif + Thisform.nProcenttva = cota_tva + This.Value = Alltrim(denumire) + + ENDPROC + + PROCEDURE cbo_explicatieTVA.InteractiveChange + Select jtva_coloane + Thisform.nProcenttva = cota_tva + Thisform.calculvaloarerepartizat() + ENDPROC + +ENDDEFINE diff --git a/clase/ointroduceri_depozit.vc2 b/clase/ointroduceri_depozit.vc2 new file mode 100644 index 0000000..46c5169 --- /dev/null +++ b/clase/ointroduceri_depozit.vc2 @@ -0,0 +1,224 @@ +*-------------------------------------------------------------------------------------------------------------------------------------------------------- +* (EN) AUTOGENERATED - ATTENTION!! - NOT INTENDED FOR EXECUTION!! USE ONLY FOR MERGING CHANGES AND STORING WITH SCM TOOLS!! +*-------------------------------------------------------------------------------------------------------------------------------------------------------- +*< FOXBIN2PRG: Version="1.21" SourceFile="ointroduceri_depozit.vcx" CPID="1252" /> (Solo para binarios VFP 9 / Only for VFP 9 binaries) +* +* +DEFINE CLASS frm_articole_noi AS formtermin OF "_frm_base.vcx" + *< CLASSDATA: Baseclass="form" Timestamp="" Scale="Pixels" Uniqueid="" /> + + *-- OBJECTDATA items order determines ZOrder / El orden de los items OBJECTDATA determina el ZOrder + *< OBJECTDATA: ObjPath="grdArticole" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="grdArticole.cCodBare.Header1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="grdArticole.cCodBare.Text1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="grdArticole.cDenumire.Header1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="grdArticole.cDenumire.Text1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="grdArticole.cCantitate.Header1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="grdArticole.cCantitate.Text1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="grdArticole.cIdArticol.Header1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="grdArticole.cIdArticol.Text1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="BUT_RENUNT1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="But_modifica2" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="_LBBASE1" UniqueID="" Timestamp="" /> + + * + BorderStyle = 1 + DoCreate = .T. + Height = 360 + Name = "frm_articole_noi" + Width = 491 + _shape1.Height = 29 + _shape1.Left = 0 + _shape1.Name = "_shape1" + _shape1.Top = 0 + _shape1.Width = 600 + _shape2.Left = 441 + _shape2.Name = "_shape2" + _shape2.Top = 0 + Lb_titlu_alb_b121.Caption = "Articole noi" + Lb_titlu_alb_b121.Name = "Lb_titlu_alb_b121" + BUT_TERMIN1.Left = 461 + BUT_TERMIN1.Name = "BUT_TERMIN1" + BUT_TERMIN1.Top = 1 + Gridsort1.Name = "Gridsort1" + * + + ADD OBJECT '_LBBASE1' AS _lbbase WITH ; + Caption = "Articole pentru care nu s-a gasit codul de bare in baza de date", ; + Left = 13, ; + Name = "_LBBASE1", ; + Top = 37 + *< END OBJECT: ClassLib="_lb_base.vcx" BaseClass="label" /> + + ADD OBJECT 'But_modifica2' AS but_modifica WITH ; + caction = do_modifica, ; + Left = 399, ; + Name = "But_modifica2", ; + Top = 1, ; + Visible = .T. + *< END OBJECT: ClassLib="cmd_butoane.vcx" BaseClass="commandbutton" /> + + ADD OBJECT 'BUT_RENUNT1' AS but_renunt WITH ; + Left = 432, ; + Name = "BUT_RENUNT1", ; + Top = 1 + *< END OBJECT: ClassLib="cmd_butoane.vcx" BaseClass="commandbutton" /> + + ADD OBJECT 'grdArticole' AS _grdbase WITH ; + ColumnCount = 4, ; + DeleteMark = .F., ; + Height = 288, ; + Left = 8, ; + Name = "grdArticole", ; + Panel = 1, ; + ReadOnly = .T., ; + RecordSource = "crsArticoleNoiTemp", ; + Top = 60, ; + Width = 472, ; + Column1.ColumnOrder = 3, ; + Column1.ControlSource = "codbare", ; + Column1.Name = "cCodBare", ; + Column1.ReadOnly = .T., ; + Column1.Width = 135, ; + Column2.ColumnOrder = 2, ; + Column2.ControlSource = "denumire", ; + Column2.Name = "cDenumire", ; + Column2.ReadOnly = .T., ; + Column2.Width = 157, ; + Column3.ColumnOrder = 4, ; + Column3.ControlSource = "cantitate", ; + Column3.Name = "cCantitate", ; + Column3.ReadOnly = .T., ; + Column3.Width = 74, ; + Column4.ColumnOrder = 1, ; + Column4.ControlSource = "id_articol", ; + Column4.Name = "cIdArticol", ; + Column4.ReadOnly = .T., ; + Column4.Width = 66 + *< END OBJECT: ClassLib="_grd_base.vcx" BaseClass="grid" /> + + ADD OBJECT 'grdArticole.cCantitate.Header1' AS header WITH ; + Alignment = 2, ; + Caption = "Cantitate", ; + Name = "Header1" + *< END OBJECT: BaseClass="header" /> + + ADD OBJECT 'grdArticole.cCantitate.Text1' AS textbox WITH ; + BackColor = 255,255,255, ; + BorderStyle = 0, ; + ForeColor = 0,0,0, ; + Margin = 0, ; + Name = "Text1", ; + ReadOnly = .T. + *< END OBJECT: BaseClass="textbox" /> + + ADD OBJECT 'grdArticole.cCodBare.Header1' AS header WITH ; + Alignment = 2, ; + Caption = "Cod bare", ; + Name = "Header1" + *< END OBJECT: BaseClass="header" /> + + ADD OBJECT 'grdArticole.cCodBare.Text1' AS textbox WITH ; + BackColor = 255,255,255, ; + BorderStyle = 0, ; + ForeColor = 0,0,0, ; + Margin = 0, ; + Name = "Text1", ; + ReadOnly = .T. + *< END OBJECT: BaseClass="textbox" /> + + ADD OBJECT 'grdArticole.cDenumire.Header1' AS header WITH ; + Alignment = 2, ; + Caption = "Denumire", ; + Name = "Header1" + *< END OBJECT: BaseClass="header" /> + + ADD OBJECT 'grdArticole.cDenumire.Text1' AS textbox WITH ; + BackColor = 255,255,255, ; + BorderStyle = 0, ; + ForeColor = 0,0,0, ; + Margin = 0, ; + Name = "Text1", ; + ReadOnly = .T. + *< END OBJECT: BaseClass="textbox" /> + + ADD OBJECT 'grdArticole.cIdArticol.Header1' AS header WITH ; + Alignment = 2, ; + Caption = "Id articol", ; + Name = "Header1" + *< END OBJECT: BaseClass="header" /> + + ADD OBJECT 'grdArticole.cIdArticol.Text1' AS textbox WITH ; + BackColor = 255,255,255, ; + BorderStyle = 0, ; + ForeColor = 0,0,0, ; + Margin = 0, ; + Name = "Text1" + *< END OBJECT: BaseClass="textbox" /> + + PROCEDURE do_modifica + Private pcCodBare, pnId + PRIVATE poArticol + pcCodBare = Alltrim(crsArticoleNoiTemp.codbare) + pnId = crsArticoleNoiTemp.id + + + + loArticol = caut_articol() && ocautare.prg + poArticol = loArticol + + If !Empty(Nvl(poArticol.id_articol,0)) + + If Alltrim(Upper(NVL(poArticol.codbare,''))) <> Alltrim(Upper(NVL(crsArticoleNoiTemp.codbare,''))) + lcSql = [update nom_articole set codbare = ?pcCodBare where id_articol = ?poArticol.id_articol] + lnSucces = goExecutor.oExecute(lcSql) + If lnSucces < 0 + AMESSAGEBOX(goExecutor.cEroare, 0+16, 'Eroare') + Endif + ENDIF + + lcSql = [update dep_nir_detalii set id_articol = ?poArticol.id_articol, denumire = ?ALLTRIM(poArticol.denumire) where id = ?pnId] + lnSucces = goExecutor.oExecute(lcSql) + If lnSucces < 0 + AMESSAGEBOX(goExecutor.cEroare, 0+16, 'Eroare') + Endif + + Replace id_articol With poArticol.id_articol, denumire With poArticol.denumire In crsArticoleNoiTemp + + Endif + + + ENDPROC + + PROCEDURE inainte_de_do_termin + SELECT crsArticoleNoiTemp + LOCATE FOR EMPTY(NVL(id_articol,0)) + IF FOUND() + AMESSAGEBOX('Nu ati identificat toate articolele!',0+48,'Articole') + THIS.grdArticole.SetFocus() + RETURN .F. + ENDIF + + RETURN .T. + ENDPROC + + PROCEDURE Init + DODEFAULT() + this.grdArticole.SetAll("DynamicBackColor","IIF(NVL(ID_ARTICOL,0) = 0, RGB(160,180,240), RGB(255,255,255))", "Column") + ENDPROC + + PROCEDURE grdArticole.AfterRowColChange + LPARAMETERS nColIndex + + *!* VERIFIC DACA ARTICOLUL ARE ID_ARTICOL + IF !INLIST(THIS.RowColChange,1,3) + RETURN + ENDIF + + + IF NVL(crsArticoleNoiTemp.id_articol,0) = 0 + THISFORM.DO_MODIFICA() + ENDIF + ENDPROC + +ENDDEFINE diff --git a/clase/ointroduceri_web.vc2 b/clase/ointroduceri_web.vc2 new file mode 100644 index 0000000..0b3263c --- /dev/null +++ b/clase/ointroduceri_web.vc2 @@ -0,0 +1,11936 @@ +*-------------------------------------------------------------------------------------------------------------------------------------------------------- +* (EN) AUTOGENERATED - ATTENTION!! - NOT INTENDED FOR EXECUTION!! USE ONLY FOR MERGING CHANGES AND STORING WITH SCM TOOLS!! +*-------------------------------------------------------------------------------------------------------------------------------------------------------- +*< FOXBIN2PRG: Version="1.21" SourceFile="ointroduceri_web.vcx" CPID="1252" /> (Solo para binarios VFP 9 / Only for VFP 9 binaries) +* +* +DEFINE CLASS cus_odata_detalii AS _cusodatabase OF "_cus_odata_base.vcx" + *< CLASSDATA: Baseclass="custom" Timestamp="" Scale="Pixels" Uniqueid="" /> + + * + Name = "cus_odata_detalii" + * + + PROCEDURE make_sql + Lparameters toRec,tnId + + lcActiune = Alltrim(This.cActiune) + lcId_util = Alltrim(Str(gnIdUtil)) + + If Inlist(lcActiune, "UPDATE",'INSERT') And Type('toRec') != "O" + Return .F. + Endif + + If Inlist(lcActiune, "UPDATE",'DELETE') And Type('tnId') != "N" + Return .F. + Endif + + If Inlist(lcActiune, "UPDATE",'DELETE') + lcId = Alltrim(Str(tnId)) + Endif + + If Inlist(lcActiune, "UPDATE",'INSERT') + lcDataora = ALLTRIM(TTOC(toRec.dataora,1)) + ENDIF + + Do Case + *!* Case lcActiune = "INSERT" + *!* lcSql = [begin pack_preturi.adauga_politica(']+lcNume+[',]+; + *!* [to_date(']+lcDataI+[','YYYYMMDD'),to_date(']+lcDataS+[','YYYYMMDD'),]+; + *!* lcIdValuta+[,]+lcIdNota +[,]+lcId_util+[); end;] + + *!* Case lcActiune = "UPDATE" + *!* lcSql = [begin pack_gest_vanzari.modifica_vanzare(]+lcId+; + *!* [,to_date(']+lcDataora+[','YYYYMMDDHH24:MI:SS'),]+; + *!* lcIdUtil +[,]+lcId_lucrare+[,]+lcId_part +[,]+lcNumar_act +[,]+lcNr_persoane +[,']+lcNrinmat +['); end;] + + Case lcActiune = "DELETE" + lcSql = [begin pack_gest_vanzari.sterge_vanzare_det(]+lcId+[,]+lcId_util+[); end;] + + ENDCASE + + This.csql = lcSql + ENDPROC + +ENDDEFINE + +DEFINE CLASS cus_odata_vanzari AS _cusodatabase OF "_cus_odata_base.vcx" + *< CLASSDATA: Baseclass="custom" Timestamp="" Scale="Pixels" Uniqueid="" /> + + * + Name = "cus_odata_vanzari" + * + + PROCEDURE make_sql + Lparameters toRec,tnId + + lcActiune = Alltrim(This.cActiune) + lcId_util = Alltrim(Str(gnIdUtil)) + + If Inlist(lcActiune, "UPDATE",'INSERT') And Type('toRec') != "O" + Return .F. + Endif + + If Inlist(lcActiune, "UPDATE",'DELETE') And Type('tnId') != "N" + Return .F. + Endif + + If Inlist(lcActiune, "UPDATE",'DELETE') + lcId = Alltrim(Str(tnId)) + Endif + + If Inlist(lcActiune, "UPDATE",'INSERT') + lcDataora = ALLTRIM(TTOC(toRec.dataora,1)) + lcIdUtil = ALLTRIM(STR(toRec.id_util)) + lcId_lucrare = ALLTRIM(STR(toRec.id_lucrare)) + lcId_part = ALLTRIM(STR(toRec.id_part)) + lcNumar_act = NVL(ALLTRIM(STR(toRec.numar_act)),'0') + lcNr_persoane = NVL(ALLTRIM(STR(toRec.nr_persoane)),'0') + lcNrinmat = NVL(ALLTRIM(toRec.nrinmat),'') + + + ENDIF + + Do Case + *!* Case lcActiune = "INSERT" + *!* lcSql = [begin pack_preturi.adauga_politica(']+lcNume+[',]+; + *!* [to_date(']+lcDataI+[','YYYYMMDD'),to_date(']+lcDataS+[','YYYYMMDD'),]+; + *!* lcIdValuta+[,]+lcIdNota +[,]+lcId_util+[); end;] + + Case lcActiune = "UPDATE" + lcSql = [begin pack_gest_vanzari.modifica_vanzare(]+lcId+; + [,to_date(']+lcDataora+[','YYYYMMDDHH24:MI:SS'),]+; + lcIdUtil +[,]+lcId_lucrare+[,]+lcId_part +[,]+lcNumar_act +[,]+lcNr_persoane +[,']+lcNrinmat +['); end;] + + Case lcActiune = "DELETE" + lcSql = [begin pack_gest_vanzari.sterge_vanzare(]+lcId+[,]+lcId_util+[); end;] + + ENDCASE + + This.csql = lcSql + ENDPROC + +ENDDEFINE + +DEFINE CLASS frm_alege_din_stoc AS _frmbase OF "_frm_base.vcx" + *< CLASSDATA: Baseclass="form" Timestamp="" Scale="Pixels" Uniqueid="" /> + + *-- OBJECTDATA items order determines ZOrder / El orden de los items OBJECTDATA determina el ZOrder + *< OBJECTDATA: ObjPath="Ct_grid_search1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="Ct_grid_search1.Cb_tx_gestout" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="Ct_grid_search1.But_nou1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="But_renunt1" UniqueID="" Timestamp="" /> + + #INCLUDE "c:\program files\microsoft visual foxpro 9\foxpro.h" + * + DoCreate = .T. + Height = 462 + Name = "frm_alege_din_stoc" + Width = 369 + _shape1.Anchor = 11 + _shape1.Height = 29 + _shape1.Left = 0 + _shape1.Name = "_shape1" + _shape1.Top = 0 + _shape1.Width = 401 + _shape2.Anchor = 9 + _shape2.Height = 29 + _shape2.Left = 309 + _shape2.Name = "_shape2" + _shape2.Top = 0 + _shape2.Width = 59 + Lb_titlu_alb_b121.Name = "Lb_titlu_alb_b121" + BUT_TERMIN1.Anchor = 9 + BUT_TERMIN1.Left = 338 + BUT_TERMIN1.Name = "BUT_TERMIN1" + BUT_TERMIN1.Top = 1 + Gridsort1.Left = 276 + Gridsort1.Name = "Gridsort1" + Gridsort1.Top = 7 + * + + ADD OBJECT 'But_renunt1' AS but_renunt WITH ; + Anchor = 9, ; + Left = 310, ; + Name = "But_renunt1", ; + Top = 1 + *< END OBJECT: ClassLib="cmd_butoane.vcx" BaseClass="commandbutton" /> + + ADD OBJECT 'Ct_grid_search1' AS ct_grid_search WITH ; + Anchor = 135, ; + cnumecursor = cursor_curent1, ; + Height = 425, ; + Left = 5, ; + Name = "Ct_grid_search1", ; + TabIndex = 1, ; + Top = 32, ; + Width = 357, ; + ZOrderSet = 15, ; + _GRID1.Comment = "grd_st", ; + _GRID1.FontName = "Arial Narrow", ; + _GRID1.Height = 345, ; + _GRID1.Left = 6, ; + _GRID1.Name = "_GRID1", ; + _GRID1.RecordSource = "cursor_curent", ; + _GRID1.Top = 73, ; + _GRID1.Width = 347, ; + Titlu.Left = 9, ; + Titlu.Name = "Titlu", ; + Titlu.Top = 2, ; + Cb_tx_cautare1.Criteriu.Comment = "criteriu_st", ; + Cb_tx_cautare1.Criteriu.Name = "Criteriu", ; + Cb_tx_cautare1.Height = 27, ; + Cb_tx_cautare1.Left = 7, ; + Cb_tx_cautare1.Name = "Cb_tx_cautare1", ; + Cb_tx_cautare1.Text.Comment = "text_st", ; + Cb_tx_cautare1.Text.Height = 25, ; + Cb_tx_cautare1.Text.Left = 103, ; + Cb_tx_cautare1.Text.Name = "Text", ; + Cb_tx_cautare1.Text.Top = 1, ; + Cb_tx_cautare1.Text.Width = 207, ; + Cb_tx_cautare1.Top = 46, ; + Cb_tx_cautare1.Width = 312 + *< END OBJECT: ClassLib="ferestre_cere_date.vcx" BaseClass="container" /> + + ADD OBJECT 'Ct_grid_search1.But_nou1' AS but_nou WITH ; + Anchor = 9, ; + Height = 27, ; + Left = 322, ; + Name = "But_nou1", ; + TabStop = .F., ; + Top = 45, ; + ZOrderSet = 17 + *< END OBJECT: ClassLib="cmd_butoane.vcx" BaseClass="commandbutton" /> + + ADD OBJECT 'Ct_grid_search1.Cb_tx_gestout' AS cb_tx_simplu WITH ; + BackStyle = 0, ; + BorderColor = 255,255,255, ; + Height = 24, ; + Left = 7, ; + Name = "Cb_tx_gestout", ; + Top = 20, ; + Width = 346, ; + _cbbase1.BorderStyle = 0, ; + _cbbase1.ColumnCount = 2, ; + _cbbase1.ColumnLines = .F., ; + _cbbase1.ColumnWidths = "180,30", ; + _cbbase1.FontItalic = .F., ; + _cbbase1.FontName = "Arial Narrow", ; + _cbbase1.Height = 23, ; + _cbbase1.Left = 101, ; + _cbbase1.Name = "_cbbase1", ; + _cbbase1.Top = 1, ; + _cbbase1.Width = 243, ; + _lbbase1.Caption = "gestiune sursa", ; + _lbbase1.FontItalic = .T., ; + _lbbase1.Left = 3, ; + _lbbase1.Name = "_lbbase1", ; + _lbbase1.Top = 4 + *< END OBJECT: ClassLib="lb_tx.vcx" BaseClass="container" /> + + PROCEDURE Init + DoDefault() + If Used('nom_gestiuni') + With Thisform.ct_grid_search1.cb_tx_gestout._CBBASE1 + .ControlSource = [poact.gestout] + .RowSource = [nom_gestiuni.nume_gestiune,cgest] + .RowSourceType = 6 + .Sorted = .F. + Endwith + Endif + + ENDPROC + + PROCEDURE Show + Lparameters nStyle + This.ct_grid_search1.initializare(.T.) + + ENDPROC + + PROCEDURE Ct_grid_search1.Cb_tx_gestout._cbbase1.Valid + SELECT nom_gestiuni + *!* pcobj.id_gestout = id_GESTiune + *!* pcobj.gestout = nume_gestiune + *!* pcObj.cgest = cgest + *!* pcobj.id_GESTiune = id_GESTiune + *!* pcobj.nume_gestiune = nume_gestiune + + thisform.ct_GRID_SEARCH1.initializare(.t.) + this.Parent.Parent.cb_tx_cautare1.text.SetFocus + ENDPROC + +ENDDEFINE + +DEFINE CLASS frm_rap_gv_cant AS frm_termin_renunt OF "_frm_child.vcx" + *< CLASSDATA: Baseclass="form" Timestamp="" Scale="Pixels" Uniqueid="" /> + + *-- OBJECTDATA items order determines ZOrder / El orden de los items OBJECTDATA determina el ZOrder + *< OBJECTDATA: ObjPath="Shape1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="Shape2" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="Shape3" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="_txtutilizator" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="_txtpolitica" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="_txDatai" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="_txDataf" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="But_cautare1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="Ed_tx_simplu1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="But_cautare2" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="lb_politica" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="lbPerioada" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="lb_utilizator" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="opt_utilizatori" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="opt_politici" UniqueID="" Timestamp="" /> + + #INCLUDE "c:\program files\microsoft visual foxpro 9\foxpro.h" + * + *m: do_cauta2 + *p: cnumepol + *p: cnumeutilizator + *p: ctitlu + *p: orezult + *p: pddataf + *p: pddatai + * + + * + BorderStyle = 1 + cnumepol = + cnumeutilizator = + ctitlu = + DoCreate = .T. + Height = 154 + Name = "frm_rap_gv_cant" + orezult = + pddataf = {} + pddatai = {} + Width = 377 + _shape1.Name = "_shape1" + _shape1.ZOrderSet = 2 + _shape2.Height = 29 + _shape2.Left = 312 + _shape2.Name = "_shape2" + _shape2.Top = 0 + _shape2.Width = 65 + _shape2.ZOrderSet = 4 + Lb_titlu_alb_b121.Caption = "Alegeti felul raportului" + Lb_titlu_alb_b121.Name = "Lb_titlu_alb_b121" + Lb_titlu_alb_b121.TabIndex = 8 + Lb_titlu_alb_b121.ZOrderSet = 5 + BUT_TERMIN1.Left = 345 + BUT_TERMIN1.Name = "BUT_TERMIN1" + BUT_TERMIN1.TabIndex = 4 + BUT_TERMIN1.Top = 1 + BUT_TERMIN1.ZOrderSet = 6 + Gridsort1.Name = "Gridsort1" + But_renunt1.Left = 315 + But_renunt1.Name = "But_renunt1" + But_renunt1.TabIndex = 5 + But_renunt1.Top = 1 + But_renunt1.ZOrderSet = 7 + * + + ADD OBJECT '_txDataf' AS _textbox WITH ; + ControlSource = "thisform.pddataf", ; + DisabledForeColor = 0,0,0, ; + FontItalic = .T., ; + FontName = "Arial Narrow", ; + FontSize = 10, ; + ForeColor = 0,0,0, ; + Height = 22, ; + Left = 108, ; + Name = "_txDataf", ; + TabIndex = 3, ; + Top = 108, ; + Width = 72, ; + ZOrderSet = 8 + *< END OBJECT: ClassLib="_baza.vcx" BaseClass="textbox" /> + + ADD OBJECT '_txDatai' AS _textbox WITH ; + ControlSource = "thisform.pddatai", ; + DisabledForeColor = 0,0,0, ; + FontItalic = .T., ; + FontName = "Arial Narrow", ; + FontSize = 10, ; + ForeColor = 0,0,0, ; + Height = 22, ; + Left = 24, ; + Name = "_txDatai", ; + TabIndex = 2, ; + Top = 108, ; + Width = 72, ; + ZOrderSet = 8 + *< END OBJECT: ClassLib="_baza.vcx" BaseClass="textbox" /> + + ADD OBJECT '_txtpolitica' AS _textbox WITH ; + ControlSource = "thisform.cnumepol", ; + DisabledForeColor = 0,0,0, ; + Enabled = .F., ; + FontItalic = .T., ; + FontName = "Arial Narrow", ; + FontSize = 10, ; + ForeColor = 0,0,0, ; + Height = 22, ; + Left = 111, ; + Name = "_txtpolitica", ; + TabIndex = 10, ; + Top = 280, ; + Width = 215, ; + ZOrderSet = 8 + *< END OBJECT: ClassLib="_baza.vcx" BaseClass="textbox" /> + + ADD OBJECT '_txtutilizator' AS _textbox WITH ; + ControlSource = "thisform.cnumeutilizator", ; + DisabledForeColor = 0,0,0, ; + Enabled = .F., ; + FontItalic = .T., ; + FontName = "Arial Narrow", ; + FontSize = 10, ; + ForeColor = 0,0,0, ; + Height = 22, ; + Left = 111, ; + Name = "_txtutilizator", ; + TabIndex = 9, ; + Top = 195, ; + Width = 215, ; + ZOrderSet = 8 + *< END OBJECT: ClassLib="_baza.vcx" BaseClass="textbox" /> + + ADD OBJECT 'But_cautare1' AS but_cautare WITH ; + Left = 327, ; + Name = "But_cautare1", ; + TabIndex = 14, ; + Top = 191, ; + Visible = .F. + *< END OBJECT: ClassLib="cmd_butoane.vcx" BaseClass="commandbutton" /> + + ADD OBJECT 'But_cautare2' AS but_cautare WITH ; + caction = do_cauta2, ; + Left = 327, ; + Name = "But_cautare2", ; + TabIndex = 15, ; + Top = 276, ; + Visible = .F. + *< END OBJECT: ClassLib="cmd_butoane.vcx" BaseClass="commandbutton" /> + + ADD OBJECT 'Ed_tx_simplu1' AS ed_tx_simplu WITH ; + Height = 33, ; + Left = 7, ; + Name = "Ed_tx_simplu1", ; + TabIndex = 1, ; + Top = 34, ; + Width = 360, ; + _edbase1.ControlSource = "thisform.ctitlu", ; + _edbase1.FontName = "Arial Narrow", ; + _edbase1.FontSize = 10, ; + _edbase1.Format = "k", ; + _edbase1.Height = 27, ; + _edbase1.Left = 68, ; + _edbase1.Name = "_edbase1", ; + _edbase1.TabIndex = 1, ; + _edbase1.Top = 3, ; + _edbase1.Width = 287, ; + _LBBASE1.Caption = "Titlu raport", ; + _LBBASE1.FontName = "Arial Narrow", ; + _LBBASE1.FontSize = 10, ; + _LBBASE1.Left = 11, ; + _LBBASE1.Name = "_LBBASE1", ; + _LBBASE1.TabIndex = 2, ; + _LBBASE1.Top = 7 + *< END OBJECT: ClassLib="lb_tx.vcx" BaseClass="container" /> + + ADD OBJECT 'lb_politica' AS label WITH ; + Alignment = 2, ; + BackColor = 255,255,255, ; + Caption = "Politica de preturi", ; + Comment = "*:OnResize=LT", ; + FontName = "Arial Narrow", ; + FontSize = 10, ; + Height = 17, ; + Left = 20, ; + Name = "lb_politica", ; + TabIndex = 11, ; + Top = 237, ; + Width = 88, ; + ZOrderSet = 16 + *< END OBJECT: BaseClass="label" /> + + ADD OBJECT 'lb_utilizator' AS label WITH ; + Alignment = 2, ; + BackColor = 255,255,255, ; + Caption = "Utilizatori", ; + Comment = "*:OnResize=LT", ; + FontName = "Arial Narrow", ; + FontSize = 10, ; + Height = 17, ; + Left = 15, ; + Name = "lb_utilizator", ; + TabIndex = 12, ; + Top = 152, ; + Width = 63, ; + ZOrderSet = 16 + *< END OBJECT: BaseClass="label" /> + + ADD OBJECT 'lbPerioada' AS label WITH ; + Alignment = 2, ; + BackColor = 255,255,255, ; + Caption = "Perioada", ; + Comment = "*:OnResize=LT", ; + FontName = "Arial Narrow", ; + FontSize = 10, ; + Height = 17, ; + Left = 17, ; + Name = "lbPerioada", ; + TabIndex = 13, ; + Top = 74, ; + Width = 63, ; + ZOrderSet = 16 + *< END OBJECT: BaseClass="label" /> + + ADD OBJECT 'opt_politici' AS _optiongrup WITH ; + BorderStyle = 0, ; + Left = 20, ; + Name = "opt_politici", ; + TabIndex = 7, ; + Top = 256, ; + Option1.Caption = "Toate", ; + Option1.FontName = "Arial Narrow", ; + Option1.FontSize = 10, ; + Option1.Left = 5, ; + Option1.Name = "Option1", ; + Option1.Top = 5, ; + Option2.Caption = "Politica", ; + Option2.FontName = "Arial Narrow", ; + Option2.FontSize = 10, ; + Option2.Left = 5, ; + Option2.Name = "Option2", ; + Option2.Top = 24 + *< END OBJECT: ClassLib="_baza.vcx" BaseClass="optiongroup" /> + + ADD OBJECT 'opt_utilizatori' AS _optiongrup WITH ; + BorderStyle = 0, ; + Left = 20, ; + Name = "opt_utilizatori", ; + TabIndex = 6, ; + Top = 173, ; + Option1.Caption = "Toti", ; + Option1.FontName = "Arial Narrow", ; + Option1.FontSize = 10, ; + Option1.Left = 5, ; + Option1.Name = "Option1", ; + Option1.Top = 5, ; + Option2.Caption = "Utilizator", ; + Option2.FontName = "Arial Narrow", ; + Option2.FontSize = 10, ; + Option2.Left = 5, ; + Option2.Name = "Option2", ; + Option2.Top = 24 + *< END OBJECT: ClassLib="_baza.vcx" BaseClass="optiongroup" /> + + ADD OBJECT 'Shape1' AS shape WITH ; + BackStyle = 0, ; + Height = 66, ; + Left = 7, ; + Name = "Shape1", ; + Top = 162, ; + Width = 360, ; + ZOrderSet = 1 + *< END OBJECT: BaseClass="shape" /> + + ADD OBJECT 'Shape2' AS shape WITH ; + BackStyle = 0, ; + Height = 66, ; + Left = 7, ; + Name = "Shape2", ; + Top = 247, ; + Width = 360, ; + ZOrderSet = 1 + *< END OBJECT: BaseClass="shape" /> + + ADD OBJECT 'Shape3' AS shape WITH ; + BackStyle = 0, ; + Height = 66, ; + Left = 9, ; + Name = "Shape3", ; + Top = 84, ; + Width = 360, ; + ZOrderSet = 1 + *< END OBJECT: BaseClass="shape" /> + + PROCEDURE do_cauta + If Thisform.opt_utilizatori.Value=2 + pcselect = [select distinct utilizator from vvanzari_detalii] + pcfiltru = [1=2] + pcschema = [] + pcorder = [1] + pccoloane = [Utilizator] + pcTitlu = [Utilizator] + pcTitluColoane = [Utilizator] + locauta = cauta_alfa(pcselect,pcfiltru,pcschema,pcorder,pccoloane,pcTitlu,pcTitluColoane,"") && 11.07.2007 + If !Empty(locauta.utilizator) + Thisform.cnumeutilizator=locauta.utilizator + Thisform._txtutilizator.Refresh + Endif + Endif + ENDPROC + + PROCEDURE do_cauta2 + If Thisform.opt_politici.Value=2 + pcselect = [select distinct nume_lista_preturi from vvanzari_detalii] + pcfiltru = [1=2] + pcschema = [] + pcorder = [1] + pccoloane = [nume_lista_preturi] + pcTitlu = [Politica de preturi] + pcTitluColoane = [Politica de preturi] + locauta = cauta_alfa(pcselect,pcfiltru,pcschema,pcorder,pccoloane,pcTitlu,pcTitluColoane,"") && 11.07.2007 + If !Empty(locauta.nume_lista_preturi) + Thisform.cnumepol=locauta.nume_lista_preturi + Thisform._txtpolitica.Refresh + Endif + Endif + ENDPROC + + PROCEDURE inainte_de_do_termin + PRIVATE pdDataI, pdDataF + pdDataI = THISFORM.pdDataI + pdDataF = THISFORM.pdDataF + + DO CASE + CASE EMPTY(THISFORM.pdDataI) + amessagebox("Nu ati completat data initiala!",0+48,"Atentie") + THISFORM._txDatai.SETFOCUS() + CASE EMPTY(THISFORM.pdDataF) + amessagebox("Nu ati completat data finala!",0+48,"Atentie") + THISFORM._txDataf.SETFOCUS() + CASE THISFORM.pdDataI>THISFORM.pdDataF + amessagebox("Data initiala trebuie sa fie mai mica decat data finala a raportului!",0+48,"Atentie") + THISFORM._txDatai.SETFOCUS() + OTHERWISE + PRIVATE pcschema,pcselect,pcfiltru,pcorder,pcgroup,poLista + STORE '' TO poLista + lnUtil=THISFORM.opt_utilizatori.VALUE + lnPol=THISFORM.opt_politici.VALUE + + **** + lcSel = [{call pack_gest_vanzari.vanzari(?pdDataI, ?pdDataF, ?gnIdSucursala)}] + lcCursor = 'cweb_vanzari' + lnSucces = goExecutor.oExecute(lcSel, lcCursor) + + IF lnSucces < 0 + amessage('Call pack_gest_vanzari.vanzari' + CHR(13) + goExecutor.cEroare,0+16,"Eroare") + RETURN + ENDIF + + && produsele care apar in mai multe liste de preturi + SELECT id_articol, CNT(id_articol) AS CNT ; + FROM cweb_vanzari ; + GROUP BY 1 ; + ORDER BY 2 ; + HAVING CNT > 1 ; + INTO CURSOR cMultiListe + + PRIVATE pcId_produse + STORE '' TO pcId_produse + + SELECT cweb_vanzari + SCAN + pcId_produse = pcId_produse + ALLTRIM(STR(id_articol)) + "," + SELECT cweb_vanzari + ENDSCAN + + IF pcId_produse <> "," + pcId_produse = SUBSTR(pcId_produse,1,LEN(pcId_produse)-1) + ENDIF + ***-------- + lcSel = [{call pack_gest_vanzari.vanzari_comparativ(?pcId_produse)}] + lcCursor = 'cweb_vanzari_retetar_o' + lnSucces = goExecutor.oExecute(lcSel, lcCursor) + + IF lnSucces < 0 + amessage('Call pack_gest_vanzari.vanzari_comparativ' + CHR(13) + goExecutor.cEroare,0+16,"Eroare") + RETURN + ENDIF + + lcSel = [{call pack_gest_vanzari.scazut_gest(?gnAn, ?gnLuna, ?pdDataI, ?pdDataF, ?gnIdSucursala)}] + lcCursor = 'cScazut_gest' + lnSucces = goExecutor.oExecute(lcSel, lcCursor) + + IF lnSucces < 0 + amessage('Call pack_gest_vanzari.scazut_gest' + CHR(13) + goExecutor.cEroare,0+16,"Eroare") + RETURN + ENDIF + + SELECT s2.id_material, s2.denumire, ; + s2.um, ; + SUM(ROUND(s2.cant_mat* s1.cant_vand,gnPCant)) AS cant_nec ; + FROM cweb_vanzari_retetar_o s2 ; + LEFT JOIN cweb_vanzari s1 ON s1.id_articol = s2.id_produs ; + GROUP BY s2.id_material, s2.denumire, s2.um ; + INTO CURSOR cweb_retetar + + SELECT * FROM cscazut_gest ; + WHERE CONT = '301' ; + INTO CURSOR cscazut_gest301 + + SELECT IIF(EMPTY(NVL(r.denumire,SPACE(30))),g.denumire,r.denumire) AS denumire, ; + NVL(r.cant_nec, 0) AS cant_nec, ; + NVL(g.cante,0) AS cante, ; + ROUND(NVL(r.cant_nec, 0) - NVL(g.cante,0),gnPCant) AS DIF, ; + IIF(EMPTY(NVL(r.um, SPACE(10))), g.um,r.um) AS um, ; + IIF(ISNULL(r.id_material),1,0) AS adaugat ; + FROM cweb_retetar r ; + FULL JOIN cscazut_gest301 g ; + ON r.id_material = g.id_articol ; + ORDER BY 6,1 ; + INTO CURSOR cweb_vanzari_retetar + + SELECT *, 00000000 AS id_pol, ; + SPACE(30) AS nume_lista_preturi, ; + 00000000000.000 AS cant_vand, ; + 0 AS vanzari ; + FROM cweb_vanzari_retetar ; + INTO CURSOR cListComp_1 READWRITE + + SELECT * FROM cscazut_gest ; + WHERE CONT = '371' ; + INTO CURSOR cscazut_gest371 + + + SELECT NVL(v.id_articol, g.id_articol) AS id_articol, ; + NVL(v.denumire, g.denumire) AS denumire, ; + NVL(v.codmat,'') AS codmat, ; + NVL(v.um, g.um) AS um, ; + NVL(v.cant_vand, 0) AS cant_vand, ; + NVL(v.id_pol,0) AS id_pol, ; + NVL(v.nume_lista_preturi, '') AS nume_lista_preturi, ; + NVL(pretvtva,0.00) AS pretvtva, ; + NVL(proc_tvav,0.00) AS proc_tvav, ; + NVL(valoare,0.00) AS valoare, ; + NVL(g.cante,0.00) AS cante, ; + ROUND(NVL(v.cant_vand, 0) - NVL(g.cante,0),gnPCant) AS DIF, ; + 1 AS vanzari ; + FROM cweb_vanzari v ; + FULL JOIN cscazut_gest371 g ; + ON v.id_articol = g.id_articol ; + INTO CURSOR cVanz READWRITE + + && las cantitatea scazuta doar pe prima lista + SELECT cMultiListe + SCAN + lnId_articol = id_articol + gnCount = 0 + SELECT cVanz + LOCATE FOR id_articol = lnId_articol + DO WHILE FOUND( ) + gnCount = gnCount + 1 + IF gnCount > 1 + REPLACE cante WITH 0, dif WITH cant_vand - cante + ENDIF + CONTINUE + ENDDO + + SELECT cMultiListe + ENDSCAN + + SELECT cListComp_1 + APPEND FROM DBF("cVanz") + + IF USED("cVanz") + USE IN cVanz + ENDIF + + SELECT * FROM cListComp_1 ; + ORDER BY vanzari DESC, nume_lista_preturi, id_pol, denumire INTO CURSOR cListComp + + IF USED("cListComp_1") + USE IN cListComp_1 + ENDIF + + pcTitlu = THISFORM.ctitlu + pcPerioada = "Perioada: " + DTOC(THISFORM.pdDataI) + [ - ] + DTOC(THISFORM.pdDataF) + + *!* modificare 18.02.2008 + *!* pcDataora = get_Ora(2) + *!* SELECT cListComp + *!* THISFORM.ALWAYSONTOP = .F. + *!* REPORT FORM rap_vanzari_comp_cant.frx TO PRINTER PROMPT PREVIEW + *!* THISFORM.ALWAYSONTOP = .T. + THISFORM.ALWAYSONTOP = .F. + goExport.export2frx([cListComp],[rap_vanzari_comp_cant]) + THISFORM.ALWAYSONTOP = .T. + *!* modificare 18.02.2008 ^ + + **** + *!* pcschema=[] + *!* pcselect=[select utilizator,nume_lista_preturi,denumire,um,pret,]+; + *!* [SUM(cantitate) as cantitate from ]+gcS+[.vvanzari_detalii where 1=2] + *!* pcfiltru=[trunc(dataora) between to_date(']+DTOS(THISFORM.pdDataI)+[','YYYYMMDD') and ]+; + *!* [to_date(']+DTOS(THISFORM.pdDataF)+[','YYYYMMDD') ]+; + *!* IIF(lnUtil=2,[ and utilizator=']+UPPER(ALLTRIM(THISFORM.cnumeutilizator))+['],[])+; + *!* IIF(lnPol=2,[ and nume_lista_preturi=']+UPPER(ALLTRIM(THISFORM.cnumepol))+['],[]) + *!* pcorder=[utilizator,nume_lista_preturi,denumire,um,pret] + *!* pcgroup=[utilizator,nume_lista_preturi,denumire,um,pret] + *!* llAfiseaza=.F. + *!* gencursor('polista','crsmarfuri',pcselect,pcfiltru,pcschema,pcorder,llAfiseaza,pcgroup) + *!* poLista.ca_baza1.afisare() + *!* pcTitlu = THISFORM.ctitlu + *!* pcPerioada = DTOC(THISFORM.pdDataI) + [ - ] + DTOC(THISFORM.pdDataF) + *!* pcDataora = get_Ora(2) + + *!* SELECT crsmarfuri + *!* THISFORM.ALWAYSONTOP=.F. + *!* REPORT FORMAT rap_marfuri_lista TO PRINTER PROMPT NOCONSOLE PREVIEW + *!* THISFORM.ALWAYSONTOP=.T. + *!* USE IN crsmarfuri + + ENDCASE + + IF USED("cWeb_vanzari") + USE IN cweb_vanzari + ENDIF + + IF USED("cScazut_gest") + USE IN cscazut_gest + ENDIF + + IF USED("cScazut_gest371") + USE IN cscazut_gest371 + ENDIF + + IF USED("cWeb_vanzari_retetar_o") + USE IN cweb_vanzari_retetar_o + ENDIF + + IF USED("cWeb_retetar") + USE IN cweb_retetar + ENDIF + + IF USED("cWeb_vanzari_retetar") + USE IN cweb_vanzari_retetar + ENDIF + + IF USED("cListComp") + USE IN cListComp + ENDIF + + + RETURN .F. + + ENDPROC + + PROCEDURE Show + LPARAMETERS nStyle + this.ctitlu = [RAPORT COMPARATIV DE SCADERE DIN GESTIUNE PE BAZA DE FISA TEHNOLOGICA] + pdDataOra=get_ora() + this.pddatai = TTOD(pdDataOra) + this.pddataf = TTOD(pdDataOra) + ENDPROC + + PROCEDURE opt_politici.Click + If This.Value=1 + Thisform._txtpolitica.Value=[] + Thisform.but_cautare2.Visible=.F. + Else + Thisform.but_cautare2.Visible=.T. + Endif + ENDPROC + + PROCEDURE opt_utilizatori.Click + If This.Value=1 + Thisform._txtutilizator.Value=[] + Thisform.but_cautare1.Visible=.F. + Else + Thisform.but_cautare1.Visible=.T. + Endif + ENDPROC + +ENDDEFINE + +DEFINE CLASS frm_rap_gv_cant_4cat AS frm_termin_renunt OF "_frm_child.vcx" + *< CLASSDATA: Baseclass="form" Timestamp="" Scale="Pixels" Uniqueid="" /> + + *-- OBJECTDATA items order determines ZOrder / El orden de los items OBJECTDATA determina el ZOrder + *< OBJECTDATA: ObjPath="Shape3" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="Shape2" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="Shape1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="_txDataf" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="_txDatai" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="_txtpolitica" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="_txtutilizator" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="But_cautare1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="Ed_tx_simplu1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="But_cautare2" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="lb_utilizator" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="lbPerioada" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="lb_politica" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="opt_utilizatori" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="opt_politici" UniqueID="" Timestamp="" /> + + #INCLUDE "c:\program files\microsoft visual foxpro 9\foxpro.h" + * + *m: do_cauta2 + *p: cnumepol + *p: cnumeutilizator + *p: ctitlu + *p: orezult + *p: pddataf + *p: pddatai + * + + * + BorderStyle = 1 + cnumepol = + cnumeutilizator = + ctitlu = + DoCreate = .T. + Height = 154 + Name = "frm_rap_gv_cant_4cat" + orezult = + pddataf = {} + pddatai = {} + Width = 377 + _shape1.Name = "_shape1" + _shape1.ZOrderSet = 2 + _shape2.Height = 29 + _shape2.Left = 312 + _shape2.Name = "_shape2" + _shape2.Top = 0 + _shape2.Width = 65 + _shape2.ZOrderSet = 4 + Lb_titlu_alb_b121.Caption = "Alegeti felul raportului" + Lb_titlu_alb_b121.Name = "Lb_titlu_alb_b121" + Lb_titlu_alb_b121.TabIndex = 8 + Lb_titlu_alb_b121.ZOrderSet = 5 + BUT_TERMIN1.Left = 345 + BUT_TERMIN1.Name = "BUT_TERMIN1" + BUT_TERMIN1.TabIndex = 4 + BUT_TERMIN1.Top = 1 + BUT_TERMIN1.ZOrderSet = 6 + Gridsort1.Name = "Gridsort1" + But_renunt1.Left = 315 + But_renunt1.Name = "But_renunt1" + But_renunt1.TabIndex = 5 + But_renunt1.Top = 1 + But_renunt1.ZOrderSet = 7 + * + + ADD OBJECT '_txDataf' AS _textbox WITH ; + ControlSource = "thisform.pddataf", ; + DisabledForeColor = 0,0,0, ; + FontItalic = .T., ; + FontName = "Arial Narrow", ; + FontSize = 10, ; + ForeColor = 0,0,0, ; + Height = 22, ; + Left = 108, ; + Name = "_txDataf", ; + TabIndex = 3, ; + Top = 108, ; + Width = 72, ; + ZOrderSet = 8 + *< END OBJECT: ClassLib="_baza.vcx" BaseClass="textbox" /> + + ADD OBJECT '_txDatai' AS _textbox WITH ; + ControlSource = "thisform.pddatai", ; + DisabledForeColor = 0,0,0, ; + FontItalic = .T., ; + FontName = "Arial Narrow", ; + FontSize = 10, ; + ForeColor = 0,0,0, ; + Height = 22, ; + Left = 24, ; + Name = "_txDatai", ; + TabIndex = 2, ; + Top = 108, ; + Width = 72, ; + ZOrderSet = 8 + *< END OBJECT: ClassLib="_baza.vcx" BaseClass="textbox" /> + + ADD OBJECT '_txtpolitica' AS _textbox WITH ; + ControlSource = "thisform.cnumepol", ; + DisabledForeColor = 0,0,0, ; + Enabled = .F., ; + FontItalic = .T., ; + FontName = "Arial Narrow", ; + FontSize = 10, ; + ForeColor = 0,0,0, ; + Height = 22, ; + Left = 111, ; + Name = "_txtpolitica", ; + TabIndex = 10, ; + Top = 280, ; + Width = 215, ; + ZOrderSet = 8 + *< END OBJECT: ClassLib="_baza.vcx" BaseClass="textbox" /> + + ADD OBJECT '_txtutilizator' AS _textbox WITH ; + ControlSource = "thisform.cnumeutilizator", ; + DisabledForeColor = 0,0,0, ; + Enabled = .F., ; + FontItalic = .T., ; + FontName = "Arial Narrow", ; + FontSize = 10, ; + ForeColor = 0,0,0, ; + Height = 22, ; + Left = 111, ; + Name = "_txtutilizator", ; + TabIndex = 9, ; + Top = 195, ; + Width = 215, ; + ZOrderSet = 8 + *< END OBJECT: ClassLib="_baza.vcx" BaseClass="textbox" /> + + ADD OBJECT 'But_cautare1' AS but_cautare WITH ; + Left = 327, ; + Name = "But_cautare1", ; + TabIndex = 14, ; + Top = 191, ; + Visible = .F. + *< END OBJECT: ClassLib="cmd_butoane.vcx" BaseClass="commandbutton" /> + + ADD OBJECT 'But_cautare2' AS but_cautare WITH ; + caction = do_cauta2, ; + Left = 327, ; + Name = "But_cautare2", ; + TabIndex = 15, ; + Top = 276, ; + Visible = .F. + *< END OBJECT: ClassLib="cmd_butoane.vcx" BaseClass="commandbutton" /> + + ADD OBJECT 'Ed_tx_simplu1' AS ed_tx_simplu WITH ; + Height = 33, ; + Left = 7, ; + Name = "Ed_tx_simplu1", ; + TabIndex = 1, ; + Top = 34, ; + Width = 360, ; + _edbase1.ControlSource = "thisform.ctitlu", ; + _edbase1.FontName = "Arial Narrow", ; + _edbase1.FontSize = 10, ; + _edbase1.Format = "k", ; + _edbase1.Height = 27, ; + _edbase1.Left = 68, ; + _edbase1.Name = "_edbase1", ; + _edbase1.TabIndex = 1, ; + _edbase1.Top = 3, ; + _edbase1.Width = 287, ; + _LBBASE1.Caption = "Titlu raport", ; + _LBBASE1.FontName = "Arial Narrow", ; + _LBBASE1.FontSize = 10, ; + _LBBASE1.Left = 11, ; + _LBBASE1.Name = "_LBBASE1", ; + _LBBASE1.TabIndex = 2, ; + _LBBASE1.Top = 7 + *< END OBJECT: ClassLib="lb_tx.vcx" BaseClass="container" /> + + ADD OBJECT 'lb_politica' AS label WITH ; + Alignment = 2, ; + BackColor = 255,255,255, ; + Caption = "Politica de preturi", ; + Comment = "*:OnResize=LT", ; + FontName = "Arial Narrow", ; + FontSize = 10, ; + Height = 17, ; + Left = 20, ; + Name = "lb_politica", ; + TabIndex = 11, ; + Top = 237, ; + Width = 88, ; + ZOrderSet = 16 + *< END OBJECT: BaseClass="label" /> + + ADD OBJECT 'lb_utilizator' AS label WITH ; + Alignment = 2, ; + BackColor = 255,255,255, ; + Caption = "Utilizatori", ; + Comment = "*:OnResize=LT", ; + FontName = "Arial Narrow", ; + FontSize = 10, ; + Height = 17, ; + Left = 15, ; + Name = "lb_utilizator", ; + TabIndex = 12, ; + Top = 152, ; + Width = 63, ; + ZOrderSet = 16 + *< END OBJECT: BaseClass="label" /> + + ADD OBJECT 'lbPerioada' AS label WITH ; + Alignment = 2, ; + BackColor = 255,255,255, ; + Caption = "Perioada", ; + Comment = "*:OnResize=LT", ; + FontName = "Arial Narrow", ; + FontSize = 10, ; + Height = 17, ; + Left = 17, ; + Name = "lbPerioada", ; + TabIndex = 13, ; + Top = 74, ; + Width = 63, ; + ZOrderSet = 16 + *< END OBJECT: BaseClass="label" /> + + ADD OBJECT 'opt_politici' AS _optiongrup WITH ; + BorderStyle = 0, ; + Left = 20, ; + Name = "opt_politici", ; + TabIndex = 7, ; + Top = 256, ; + Option1.Caption = "Toate", ; + Option1.FontName = "Arial Narrow", ; + Option1.FontSize = 10, ; + Option1.Left = 5, ; + Option1.Name = "Option1", ; + Option1.Top = 5, ; + Option2.Caption = "Politica", ; + Option2.FontName = "Arial Narrow", ; + Option2.FontSize = 10, ; + Option2.Left = 5, ; + Option2.Name = "Option2", ; + Option2.Top = 24 + *< END OBJECT: ClassLib="_baza.vcx" BaseClass="optiongroup" /> + + ADD OBJECT 'opt_utilizatori' AS _optiongrup WITH ; + BorderStyle = 0, ; + Left = 20, ; + Name = "opt_utilizatori", ; + TabIndex = 6, ; + Top = 173, ; + Option1.Caption = "Toti", ; + Option1.FontName = "Arial Narrow", ; + Option1.FontSize = 10, ; + Option1.Left = 5, ; + Option1.Name = "Option1", ; + Option1.Top = 5, ; + Option2.Caption = "Utilizator", ; + Option2.FontName = "Arial Narrow", ; + Option2.FontSize = 10, ; + Option2.Left = 5, ; + Option2.Name = "Option2", ; + Option2.Top = 24 + *< END OBJECT: ClassLib="_baza.vcx" BaseClass="optiongroup" /> + + ADD OBJECT 'Shape1' AS shape WITH ; + BackStyle = 0, ; + Height = 66, ; + Left = 7, ; + Name = "Shape1", ; + Top = 162, ; + Width = 360, ; + ZOrderSet = 1 + *< END OBJECT: BaseClass="shape" /> + + ADD OBJECT 'Shape2' AS shape WITH ; + BackStyle = 0, ; + Height = 66, ; + Left = 7, ; + Name = "Shape2", ; + Top = 247, ; + Width = 360, ; + ZOrderSet = 1 + *< END OBJECT: BaseClass="shape" /> + + ADD OBJECT 'Shape3' AS shape WITH ; + BackStyle = 0, ; + Height = 66, ; + Left = 9, ; + Name = "Shape3", ; + Top = 84, ; + Width = 360, ; + ZOrderSet = 1 + *< END OBJECT: BaseClass="shape" /> + + PROCEDURE do_cauta + If Thisform.opt_utilizatori.Value=2 + pcselect = [select distinct utilizator from vvanzari_detalii] + pcfiltru = [1=2] + pcschema = [] + pcorder = [1] + pccoloane = [Utilizator] + pcTitlu = [Utilizator] + pcTitluColoane = [Utilizator] + locauta = cauta_alfa(pcselect,pcfiltru,pcschema,pcorder,pccoloane,pcTitlu,pcTitluColoane,"") && 11.07.2007 + If !Empty(locauta.utilizator) + Thisform.cnumeutilizator=locauta.utilizator + Thisform._txtutilizator.Refresh + Endif + Endif + ENDPROC + + PROCEDURE do_cauta2 + If Thisform.opt_politici.Value=2 + pcselect = [select distinct nume_lista_preturi from vvanzari_detalii] + pcfiltru = [1=2] + pcschema = [] + pcorder = [1] + pccoloane = [nume_lista_preturi] + pcTitlu = [Politica de preturi] + pcTitluColoane = [Politica de preturi] + locauta = cauta_alfa(pcselect,pcfiltru,pcschema,pcorder,pccoloane,pcTitlu,pcTitluColoane,"") && 11.07.2007 + If !Empty(locauta.nume_lista_preturi) + Thisform.cnumepol=locauta.nume_lista_preturi + Thisform._txtpolitica.Refresh + Endif + Endif + ENDPROC + + PROCEDURE inainte_de_do_termin + PRIVATE pdDataI, pdDataF + pdDataI = THISFORM.pdDataI + pdDataF = THISFORM.pdDataF + + DO CASE + CASE EMPTY(THISFORM.pdDataI) + amessagebox("Nu ati completat data initiala!",0+48,"Atentie") + THISFORM._txDatai.SETFOCUS() + CASE EMPTY(THISFORM.pdDataF) + amessagebox("Nu ati completat data finala!",0+48,"Atentie") + THISFORM._txDataf.SETFOCUS() + CASE THISFORM.pdDataI>THISFORM.pdDataF + amessagebox("Data initiala trebuie sa fie mai mica decat data finala a raportului!",0+48,"Atentie") + THISFORM._txDatai.SETFOCUS() + OTHERWISE + PRIVATE pcschema,pcselect,pcfiltru,pcorder,pcgroup,poLista + STORE '' TO poLista + lnUtil=THISFORM.opt_utilizatori.VALUE + lnPol=THISFORM.opt_politici.VALUE + + **** + lcSel = [{call pack_gest_vanzari.vanzari(?pdDataI, ?pdDataF, ?gnIdSucursala)}] + lcCursor = 'cweb_vanzari' + lnSucces = goExecutor.oExecute(lcSel, lcCursor) + + IF lnSucces < 0 + amessage('Call pack_gest_vanzari.vanzari' + CHR(13) + goExecutor.cEroare,0+16,"Eroare") + RETURN + ENDIF + + && produsele care apar in mai multe liste de preturi + SELECT id_articol, CNT(id_articol) AS CNT ; + FROM cweb_vanzari ; + GROUP BY 1 ; + ORDER BY 2 ; + HAVING CNT > 1 ; + INTO CURSOR cMultiListe + + PRIVATE pcId_produse + STORE '' TO pcId_produse + + SELECT cweb_vanzari + SCAN + pcId_produse = pcId_produse + ALLTRIM(STR(id_articol)) + "," + SELECT cweb_vanzari + ENDSCAN + + IF pcId_produse <> "," + pcId_produse = SUBSTR(pcId_produse,1,LEN(pcId_produse)-1) + ENDIF + ***-------- + lcSel = [{call pack_gest_vanzari.vanzari_comparativ(?pcId_produse)}] + lcCursor = 'cweb_vanzari_retetar_o' + lnSucces = goExecutor.oExecute(lcSel, lcCursor) + + IF lnSucces < 0 + amessage('Call pack_gest_vanzari.vanzari_comparativ' + CHR(13) + goExecutor.cEroare,0+16,"Eroare") + RETURN + ENDIF + + lcSel = [{call pack_gest_vanzari.scazut_gest(?gnAn, ?gnLuna, ?pdDataI, ?pdDataF, ?gnIdSucursala)}] + lcCursor = 'cScazut_gest' + lnSucces = goExecutor.oExecute(lcSel, lcCursor) + + IF lnSucces < 0 + amessage('Call pack_gest_vanzari.scazut_gest' + CHR(13) + goExecutor.cEroare,0+16,"Eroare") + RETURN + ENDIF + + SELECT s2.id_material, s2.denumire, ; + s2.um, ; + SUM(ROUND(s2.cant_mat* s1.cant_vand,gnPCant)) AS cant_nec ; + FROM cweb_vanzari_retetar_o s2 ; + LEFT JOIN cweb_vanzari s1 ON s1.id_articol = s2.id_produs ; + GROUP BY s2.id_material, s2.denumire, s2.um ; + INTO CURSOR cweb_retetar + + SELECT * FROM cscazut_gest ; + WHERE CONT = '301' ; + INTO CURSOR cscazut_gest301 + + SELECT IIF(EMPTY(NVL(r.denumire,SPACE(30))),g.denumire,r.denumire) AS denumire, ; + NVL(r.cant_nec, 0) AS cant_nec, ; + NVL(g.cante,0) AS cante, ; + ROUND(NVL(r.cant_nec, 0) - NVL(g.cante,0),gnPCant) AS DIF, ; + IIF(EMPTY(NVL(r.um, SPACE(10))), g.um,r.um) AS um, ; + IIF(ISNULL(r.id_material),1,0) AS adaugat ; + FROM cweb_retetar r ; + FULL JOIN cscazut_gest301 g ; + ON r.id_material = g.id_articol ; + ORDER BY 6,1 ; + INTO CURSOR cweb_vanzari_retetar + + SELECT *, 00000000 AS id_pol, ; + SPACE(30) AS nume_lista_preturi, ; + 00000000000.000 AS cant_vand, ; + 0 AS vanzari ; + FROM cweb_vanzari_retetar ; + INTO CURSOR cListComp_1 READWRITE + + SELECT * FROM cscazut_gest ; + WHERE CONT = '371' ; + INTO CURSOR cscazut_gest371 + + + SELECT NVL(v.id_articol, g.id_articol) AS id_articol, ; + NVL(v.denumire, g.denumire) AS denumire, ; + NVL(v.codmat,'') AS codmat, ; + NVL(v.um, g.um) AS um, ; + NVL(v.cant_vand, 0) AS cant_vand, ; + NVL(v.id_pol,0) AS id_pol, ; + NVL(v.nume_lista_preturi, '') AS nume_lista_preturi, ; + NVL(pretvtva,0.00) AS pretvtva, ; + NVL(proc_tvav,0.00) AS proc_tvav, ; + NVL(valoare,0.00) AS valoare, ; + NVL(g.cante,0.00) AS cante, ; + ROUND(NVL(v.cant_vand, 0) - NVL(g.cante,0),gnPCant) AS DIF, ; + 1 AS vanzari ; + FROM cweb_vanzari v ; + FULL JOIN cscazut_gest371 g ; + ON v.id_articol = g.id_articol ; + INTO CURSOR cVanz READWRITE + + && las cantitatea scazuta doar pe prima lista + SELECT cMultiListe + SCAN + lnId_articol = id_articol + gnCount = 0 + SELECT cVanz + LOCATE FOR id_articol = lnId_articol + DO WHILE FOUND( ) + gnCount = gnCount + 1 + IF gnCount > 1 + REPLACE cante WITH 0, DIF WITH cant_vand - cante + ENDIF + CONTINUE + ENDDO + + SELECT cMultiListe + ENDSCAN + + SELECT cListComp_1 + APPEND FROM DBF("cVanz") + + IF USED("cVanz") + USE IN cVanz + ENDIF + + + pcTitlu = THISFORM.ctitlu + pcPerioada = "Perioada: " + DTOC(THISFORM.pdDataI) + [ - ] + DTOC(THISFORM.pdDataF) + *!* pcDataora = get_Ora(2) + + *!* SELECT * FROM cListComp INTO TABLE c:\test.DBF + *!* SELECT cListComp + *!* BROWSE + + SELECT *, 0 AS categorie FROM cListComp_1 INTO CURSOR cListComp READWRITE + + IF USED("cListComp_1") + USE IN cListComp_1 + ENDIF + + SELECT cListComp + REPLACE ALL categorie WITH 1 FOR vanzari = 0 AND DIF = 0 + REPLACE ALL categorie WITH 2 FOR vanzari = 0 AND DIF <> 0 AND cant_nec <> 0 AND cante <> 0 + REPLACE ALL categorie WITH 3 FOR vanzari = 0 AND DIF <> 0 AND cant_nec = 0 AND cante <> 0 + REPLACE ALL categorie WITH 4 FOR vanzari = 0 AND DIF <> 0 AND cant_nec <> 0 AND cante = 0 + + PRIVATE pcCateg1, pccateg2, pccateg3, pccateg4 + pcCateg1 = 'Articole care trebuiau consumate si s-au consumat in cantitati corecte' + pccateg2 = 'Articole care trebuiau consumate si s-au consumat in cantitati cu diferente' + pccateg3 = 'Articole consumate care nu erau pe retete' + pccateg4 = 'Articole care erau pe retete dar nu s-au consumat' + + + SELECT * FROM cListComp ORDER BY vanzari DESC, categorie, nume_lista_preturi, id_pol, denumire ; + INTO CURSOR cListez + + + *!* SELECT cListez + *!* THISFORM.ALWAYSONTOP = .F. + *!* REPORT FORM rap_vanzari_comp_cant_4cat.frx TO PRINTER PROMPT PREVIEW + *!* THISFORM.ALWAYSONTOP = .T. + Thisform.AlwaysOnTop=.F. + goExport.export2frx([cListez],[rap_vanzari_comp_cant_4cat]) + Thisform.AlwaysOnTop=.T. + **** + *!* pcschema=[] + *!* pcselect=[select utilizator,nume_lista_preturi,denumire,um,pret,]+; + *!* [SUM(cantitate) as cantitate from ]+gcS+[.vvanzari_detalii where 1=2] + *!* pcfiltru=[trunc(dataora) between to_date(']+DTOS(THISFORM.pdDataI)+[','YYYYMMDD') and ]+; + *!* [to_date(']+DTOS(THISFORM.pdDataF)+[','YYYYMMDD') ]+; + *!* IIF(lnUtil=2,[ and utilizator=']+UPPER(ALLTRIM(THISFORM.cnumeutilizator))+['],[])+; + *!* IIF(lnPol=2,[ and nume_lista_preturi=']+UPPER(ALLTRIM(THISFORM.cnumepol))+['],[]) + *!* pcorder=[utilizator,nume_lista_preturi,denumire,um,pret] + *!* pcgroup=[utilizator,nume_lista_preturi,denumire,um,pret] + *!* llAfiseaza=.F. + *!* gencursor('polista','crsmarfuri',pcselect,pcfiltru,pcschema,pcorder,llAfiseaza,pcgroup) + *!* poLista.ca_baza1.afisare() + *!* pcTitlu = THISFORM.ctitlu + *!* pcPerioada = DTOC(THISFORM.pdDataI) + [ - ] + DTOC(THISFORM.pdDataF) + *!* pcDataora = get_Ora(2) + + *!* SELECT crsmarfuri + *!* THISFORM.ALWAYSONTOP=.F. + *!* REPORT FORMAT rap_marfuri_lista TO PRINTER PROMPT NOCONSOLE PREVIEW + *!* THISFORM.ALWAYSONTOP=.T. + *!* USE IN crsmarfuri + + ENDCASE + + IF USED("cWeb_vanzari") + USE IN cweb_vanzari + ENDIF + + IF USED("cScazut_gest") + USE IN cscazut_gest + ENDIF + + IF USED("cScazut_gest371") + USE IN cscazut_gest371 + ENDIF + + IF USED("cWeb_vanzari_retetar_o") + USE IN cweb_vanzari_retetar_o + ENDIF + + IF USED("cWeb_retetar") + USE IN cweb_retetar + ENDIF + + IF USED("cWeb_vanzari_retetar") + USE IN cweb_vanzari_retetar + ENDIF + + IF USED("cListComp") + USE IN cListComp + ENDIF + + IF USED("cListez") + USE IN cListez + ENDIF + + RETURN .F. + + ENDPROC + + PROCEDURE Show + LPARAMETERS nStyle + this.ctitlu = [RAPORT COMPARATIV DE SCADERE DIN GESTIUNE PE BAZA DE FISA TEHNOLOGICA] + pdDataOra=get_ora() + this.pddatai = TTOD(pdDataOra) + this.pddataf = TTOD(pdDataOra) + ENDPROC + + PROCEDURE opt_politici.Click + If This.Value=1 + Thisform._txtpolitica.Value=[] + Thisform.but_cautare2.Visible=.F. + Else + Thisform.but_cautare2.Visible=.T. + Endif + ENDPROC + + PROCEDURE opt_utilizatori.Click + If This.Value=1 + Thisform._txtutilizator.Value=[] + Thisform.but_cautare1.Visible=.F. + Else + Thisform.but_cautare1.Visible=.T. + Endif + ENDPROC + +ENDDEFINE + +DEFINE CLASS frm_rap_gv_val AS frm_termin_renunt OF "_frm_child.vcx" + *< CLASSDATA: Baseclass="form" Timestamp="" Scale="Pixels" Uniqueid="" /> + + *-- OBJECTDATA items order determines ZOrder / El orden de los items OBJECTDATA determina el ZOrder + *< OBJECTDATA: ObjPath="Shape1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="Shape2" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="Shape3" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="_txtutilizator" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="_txtpolitica" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="_txDatai" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="_txDataf" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="But_cautare1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="Ed_tx_simplu1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="But_cautare2" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="lb_politica" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="lbPerioada" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="lb_utilizator" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="opt_utilizatori" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="opt_politici" UniqueID="" Timestamp="" /> + + #INCLUDE "c:\program files\microsoft visual foxpro 9\foxpro.h" + * + *m: do_cauta2 + *p: cnumepol + *p: cnumeutilizator + *p: ctitlu + *p: orezult + *p: pddataf + *p: pddatai + * + + * + BorderStyle = 1 + cnumepol = + cnumeutilizator = + ctitlu = + DoCreate = .T. + Height = 156 + Name = "frm_rap_gv_val" + orezult = + pddataf = {} + pddatai = {} + Width = 377 + _shape1.Name = "_shape1" + _shape1.ZOrderSet = 2 + _shape2.Height = 29 + _shape2.Left = 312 + _shape2.Name = "_shape2" + _shape2.Top = 0 + _shape2.Width = 65 + _shape2.ZOrderSet = 4 + Lb_titlu_alb_b121.Caption = "Alegeti felul raportului" + Lb_titlu_alb_b121.Name = "Lb_titlu_alb_b121" + Lb_titlu_alb_b121.TabIndex = 8 + Lb_titlu_alb_b121.ZOrderSet = 5 + BUT_TERMIN1.Left = 345 + BUT_TERMIN1.Name = "BUT_TERMIN1" + BUT_TERMIN1.TabIndex = 4 + BUT_TERMIN1.Top = 1 + BUT_TERMIN1.ZOrderSet = 6 + Gridsort1.Name = "Gridsort1" + But_renunt1.Left = 315 + But_renunt1.Name = "But_renunt1" + But_renunt1.TabIndex = 5 + But_renunt1.Top = 1 + But_renunt1.ZOrderSet = 7 + * + + ADD OBJECT '_txDataf' AS _textbox WITH ; + ControlSource = "thisform.pddataf", ; + DisabledForeColor = 0,0,0, ; + FontItalic = .T., ; + FontName = "Arial Narrow", ; + FontSize = 10, ; + ForeColor = 0,0,0, ; + Height = 22, ; + Left = 108, ; + Name = "_txDataf", ; + TabIndex = 3, ; + Top = 108, ; + Width = 72, ; + ZOrderSet = 8 + *< END OBJECT: ClassLib="_baza.vcx" BaseClass="textbox" /> + + ADD OBJECT '_txDatai' AS _textbox WITH ; + ControlSource = "thisform.pddatai", ; + DisabledForeColor = 0,0,0, ; + FontItalic = .T., ; + FontName = "Arial Narrow", ; + FontSize = 10, ; + ForeColor = 0,0,0, ; + Height = 22, ; + Left = 24, ; + Name = "_txDatai", ; + TabIndex = 2, ; + Top = 108, ; + Width = 72, ; + ZOrderSet = 8 + *< END OBJECT: ClassLib="_baza.vcx" BaseClass="textbox" /> + + ADD OBJECT '_txtpolitica' AS _textbox WITH ; + ControlSource = "thisform.cnumepol", ; + DisabledForeColor = 0,0,0, ; + Enabled = .F., ; + FontItalic = .T., ; + FontName = "Arial Narrow", ; + FontSize = 10, ; + ForeColor = 0,0,0, ; + Height = 22, ; + Left = 111, ; + Name = "_txtpolitica", ; + TabIndex = 10, ; + Top = 280, ; + Width = 215, ; + ZOrderSet = 8 + *< END OBJECT: ClassLib="_baza.vcx" BaseClass="textbox" /> + + ADD OBJECT '_txtutilizator' AS _textbox WITH ; + ControlSource = "thisform.cnumeutilizator", ; + DisabledForeColor = 0,0,0, ; + Enabled = .F., ; + FontItalic = .T., ; + FontName = "Arial Narrow", ; + FontSize = 10, ; + ForeColor = 0,0,0, ; + Height = 22, ; + Left = 111, ; + Name = "_txtutilizator", ; + TabIndex = 9, ; + Top = 195, ; + Width = 215, ; + ZOrderSet = 8 + *< END OBJECT: ClassLib="_baza.vcx" BaseClass="textbox" /> + + ADD OBJECT 'But_cautare1' AS but_cautare WITH ; + Left = 327, ; + Name = "But_cautare1", ; + TabIndex = 14, ; + Top = 191, ; + Visible = .F. + *< END OBJECT: ClassLib="cmd_butoane.vcx" BaseClass="commandbutton" /> + + ADD OBJECT 'But_cautare2' AS but_cautare WITH ; + caction = do_cauta2, ; + Left = 327, ; + Name = "But_cautare2", ; + TabIndex = 15, ; + Top = 276, ; + Visible = .F. + *< END OBJECT: ClassLib="cmd_butoane.vcx" BaseClass="commandbutton" /> + + ADD OBJECT 'Ed_tx_simplu1' AS ed_tx_simplu WITH ; + Height = 33, ; + Left = 7, ; + Name = "Ed_tx_simplu1", ; + TabIndex = 1, ; + Top = 34, ; + Width = 360, ; + _edbase1.ControlSource = "thisform.ctitlu", ; + _edbase1.FontName = "Arial Narrow", ; + _edbase1.FontSize = 10, ; + _edbase1.Format = "k", ; + _edbase1.Height = 27, ; + _edbase1.Left = 68, ; + _edbase1.Name = "_edbase1", ; + _edbase1.TabIndex = 1, ; + _edbase1.Top = 3, ; + _edbase1.Width = 287, ; + _LBBASE1.Caption = "Titlu raport", ; + _LBBASE1.FontName = "Arial Narrow", ; + _LBBASE1.FontSize = 10, ; + _LBBASE1.Left = 11, ; + _LBBASE1.Name = "_LBBASE1", ; + _LBBASE1.TabIndex = 2, ; + _LBBASE1.Top = 7 + *< END OBJECT: ClassLib="lb_tx.vcx" BaseClass="container" /> + + ADD OBJECT 'lb_politica' AS label WITH ; + Alignment = 2, ; + BackColor = 255,255,255, ; + Caption = "Politica de preturi", ; + Comment = "*:OnResize=LT", ; + FontName = "Arial Narrow", ; + FontSize = 10, ; + Height = 17, ; + Left = 20, ; + Name = "lb_politica", ; + TabIndex = 11, ; + Top = 237, ; + Width = 88, ; + ZOrderSet = 16 + *< END OBJECT: BaseClass="label" /> + + ADD OBJECT 'lb_utilizator' AS label WITH ; + Alignment = 2, ; + BackColor = 255,255,255, ; + Caption = "Utilizatori", ; + Comment = "*:OnResize=LT", ; + FontName = "Arial Narrow", ; + FontSize = 10, ; + Height = 17, ; + Left = 15, ; + Name = "lb_utilizator", ; + TabIndex = 12, ; + Top = 152, ; + Width = 63, ; + ZOrderSet = 16 + *< END OBJECT: BaseClass="label" /> + + ADD OBJECT 'lbPerioada' AS label WITH ; + Alignment = 2, ; + BackColor = 255,255,255, ; + Caption = "Perioada", ; + Comment = "*:OnResize=LT", ; + FontName = "Arial Narrow", ; + FontSize = 10, ; + Height = 17, ; + Left = 17, ; + Name = "lbPerioada", ; + TabIndex = 13, ; + Top = 74, ; + Width = 63, ; + ZOrderSet = 16 + *< END OBJECT: BaseClass="label" /> + + ADD OBJECT 'opt_politici' AS _optiongrup WITH ; + BorderStyle = 0, ; + Left = 20, ; + Name = "opt_politici", ; + TabIndex = 7, ; + Top = 256, ; + Option1.Caption = "Toate", ; + Option1.FontName = "Arial Narrow", ; + Option1.FontSize = 10, ; + Option1.Left = 5, ; + Option1.Name = "Option1", ; + Option1.Top = 5, ; + Option2.Caption = "Politica", ; + Option2.FontName = "Arial Narrow", ; + Option2.FontSize = 10, ; + Option2.Left = 5, ; + Option2.Name = "Option2", ; + Option2.Top = 24 + *< END OBJECT: ClassLib="_baza.vcx" BaseClass="optiongroup" /> + + ADD OBJECT 'opt_utilizatori' AS _optiongrup WITH ; + BorderStyle = 0, ; + Left = 20, ; + Name = "opt_utilizatori", ; + TabIndex = 6, ; + Top = 173, ; + Option1.Caption = "Toti", ; + Option1.FontName = "Arial Narrow", ; + Option1.FontSize = 10, ; + Option1.Left = 5, ; + Option1.Name = "Option1", ; + Option1.Top = 5, ; + Option2.Caption = "Utilizator", ; + Option2.FontName = "Arial Narrow", ; + Option2.FontSize = 10, ; + Option2.Left = 5, ; + Option2.Name = "Option2", ; + Option2.Top = 24 + *< END OBJECT: ClassLib="_baza.vcx" BaseClass="optiongroup" /> + + ADD OBJECT 'Shape1' AS shape WITH ; + BackStyle = 0, ; + Height = 66, ; + Left = 7, ; + Name = "Shape1", ; + Top = 162, ; + Width = 360, ; + ZOrderSet = 1 + *< END OBJECT: BaseClass="shape" /> + + ADD OBJECT 'Shape2' AS shape WITH ; + BackStyle = 0, ; + Height = 66, ; + Left = 7, ; + Name = "Shape2", ; + Top = 247, ; + Width = 360, ; + ZOrderSet = 1 + *< END OBJECT: BaseClass="shape" /> + + ADD OBJECT 'Shape3' AS shape WITH ; + BackStyle = 0, ; + Height = 66, ; + Left = 9, ; + Name = "Shape3", ; + Top = 84, ; + Width = 360, ; + ZOrderSet = 1 + *< END OBJECT: BaseClass="shape" /> + + PROCEDURE do_cauta + If Thisform.opt_utilizatori.Value=2 + pcselect = [select distinct utilizator from vvanzari_detalii] + pcfiltru = [1=2] + pcschema = [] + pcorder = [1] + pccoloane = [Utilizator] + pcTitlu = [Utilizator] + pcTitluColoane = [Utilizator] + locauta = cauta_alfa(pcselect,pcfiltru,pcschema,pcorder,pccoloane,pcTitlu,pcTitluColoane,"") && 11.07.2007 + If !Empty(locauta.utilizator) + Thisform.cnumeutilizator=locauta.utilizator + Thisform._txtutilizator.Refresh + Endif + Endif + ENDPROC + + PROCEDURE do_cauta2 + If Thisform.opt_politici.Value=2 + pcselect = [select distinct nume_lista_preturi from vvanzari_detalii] + pcfiltru = [1=2] + pcschema = [] + pcorder = [1] + pccoloane = [nume_lista_preturi] + pcTitlu = [Politica de preturi] + pcTitluColoane = [Politica de preturi] + locauta = cauta_alfa(pcselect,pcfiltru,pcschema,pcorder,pccoloane,pcTitlu,pcTitluColoane,"") && 11.07.2007 + If !Empty(locauta.nume_lista_preturi) + Thisform.cnumepol=locauta.nume_lista_preturi + Thisform._txtpolitica.Refresh + Endif + Endif + ENDPROC + + PROCEDURE inainte_de_do_termin + PRIVATE pdDataI, pdDataF + pdDataI = THISFORM.pdDataI + pdDataF = THISFORM.pdDataF + + DO CASE + CASE EMPTY(THISFORM.pdDataI) + amessagebox("Nu ati completat data initiala!",0+48,"Atentie") + THISFORM._txDatai.SETFOCUS() + CASE EMPTY(THISFORM.pdDataF) + amessagebox("Nu ati completat data finala!",0+48,"Atentie") + THISFORM._txDataf.SETFOCUS() + CASE THISFORM.pdDataI>THISFORM.pdDataF + amessagebox("Data initiala trebuie sa fie mai mica decat data finala a raportului!",0+48,"Atentie") + THISFORM._txDatai.SETFOCUS() + OTHERWISE + PRIVATE pcschema,pcselect,pcfiltru,pcorder,pcgroup,poLista + STORE '' TO poLista + lnUtil=THISFORM.opt_utilizatori.VALUE + lnPol=THISFORM.opt_politici.VALUE + + **** + lcSel = [{call pack_gest_vanzari.vanzari(?pdDataI, ?pdDataF, ?gnIdSucursala)}] + lcCursor = 'cweb_vanzari' + lnSucces = goExecutor.oExecute(lcSel, lcCursor) + + IF lnSucces < 0 + amessage('Call pack_gest_vanzari.vanzari' + CHR(13) + goExecutor.cEroare,0+16,"Eroare") + RETURN + ENDIF + + ***-------- + lcSel = [{call pack_gest_vanzari.scazut_gest_val(?gnAn, ?gnLuna, ?pdDataI, ?pdDataF,?gnIdSucursala)}] + lcCursor = 'cScazut_gest' + lnSucces = goExecutor.oExecute(lcSel, lcCursor) + + IF lnSucces < 0 + amessage('Call pack_gest_vanzari.scazut_gest_val' + CHR(13) + goExecutor.cEroare,0+16,"Eroare") + RETURN + ENDIF + + SELECT *, 00000000 AS id_pol, ; + SPACE(30) AS nume_lista_preturi, ; + 00000000000.000 AS cant_vand, ; + 00000000000.000 AS pretvtva, ; + 0000000.000 AS proc_tvav, ; + 0 AS vanzari ; + FROM cScazut_gest ; + INTO CURSOR cListComp_1 READWRITE + + SELECT *, 1 AS vanzari FROM cweb_vanzari INTO CURSOR cVanz + + SELECT cListComp_1 + APPEND FROM DBF("cVanz") + + IF USED("cVanz") + USE IN cVanz + ENDIF + + SELECT * FROM cListComp_1 ; + ORDER BY vanzari DESC, nume_lista_preturi, id_pol, cont, denumire INTO CURSOR cListComp + + IF USED("cListComp_1") + USE IN cListComp_1 + ENDIF + + pcTitlu = THISFORM.ctitlu + pcPerioada = "Perioada: " + DTOC(THISFORM.pdDataI) + [ - ] + DTOC(THISFORM.pdDataF) + *!* modificare 18.02.2008 + *!* pcDataora = get_Ora(2) + *!* SELECT cListComp + *!* THISFORM.ALWAYSONTOP = .F. + *!* REPORT FORM rap_vanzari_comp_val.frx TO PRINTER PROMPT PREVIEW + *!* THISFORM.ALWAYSONTOP = .T. + Thisform.AlwaysOnTop=.F. + goExport.export2frx([cListComp],[rap_vanzari_comp_val]) + Thisform.AlwaysOnTop=.T. + *!* modificare 18.02.2008 ^ + + **** + *!* pcschema=[] + *!* pcselect=[select utilizator,nume_lista_preturi,denumire,um,pret,]+; + *!* [SUM(cantitate) as cantitate from ]+gcS+[.vvanzari_detalii where 1=2] + *!* pcfiltru=[trunc(dataora) between to_date(']+DTOS(THISFORM.pdDataI)+[','YYYYMMDD') and ]+; + *!* [to_date(']+DTOS(THISFORM.pdDataF)+[','YYYYMMDD') ]+; + *!* IIF(lnUtil=2,[ and utilizator=']+UPPER(ALLTRIM(THISFORM.cnumeutilizator))+['],[])+; + *!* IIF(lnPol=2,[ and nume_lista_preturi=']+UPPER(ALLTRIM(THISFORM.cnumepol))+['],[]) + *!* pcorder=[utilizator,nume_lista_preturi,denumire,um,pret] + *!* pcgroup=[utilizator,nume_lista_preturi,denumire,um,pret] + *!* llAfiseaza=.F. + *!* gencursor('polista','crsmarfuri',pcselect,pcfiltru,pcschema,pcorder,llAfiseaza,pcgroup) + *!* poLista.ca_baza1.afisare() + *!* pcTitlu = THISFORM.ctitlu + *!* pcPerioada = DTOC(THISFORM.pdDataI) + [ - ] + DTOC(THISFORM.pdDataF) + *!* pcDataora = get_Ora(2) + + *!* SELECT crsmarfuri + *!* THISFORM.ALWAYSONTOP=.F. + *!* REPORT FORMAT rap_marfuri_lista TO PRINTER PROMPT NOCONSOLE PREVIEW + *!* THISFORM.ALWAYSONTOP=.T. + *!* USE IN crsmarfuri + + ENDCASE + + IF USED("cWeb_vanzari") + USE IN cWeb_vanzari + ENDIF + + IF USED("cScazut_gest") + USE IN cScazut_gest + ENDIF + + IF USED("cListComp") + USE IN cListComp + ENDIF + + RETURN .F. + + ENDPROC + + PROCEDURE Show + LPARAMETERS nStyle + this.ctitlu = [RAPORT DE SCADERE DIN GESTIUNE] + pdDataOra=get_ora() + this.pddatai = TTOD(pdDataOra) + this.pddataf = TTOD(pdDataOra) + ENDPROC + + PROCEDURE opt_politici.Click + If This.Value=1 + Thisform._txtpolitica.Value=[] + Thisform.but_cautare2.Visible=.F. + Else + Thisform.but_cautare2.Visible=.T. + Endif + ENDPROC + + PROCEDURE opt_utilizatori.Click + If This.Value=1 + Thisform._txtutilizator.Value=[] + Thisform.but_cautare1.Visible=.F. + Else + Thisform.but_cautare1.Visible=.T. + Endif + ENDPROC + +ENDDEFINE + +DEFINE CLASS frm_reteta AS _frmbase OF "_frm_base.vcx" + *< CLASSDATA: Baseclass="form" Timestamp="" Scale="Pixels" Uniqueid="" /> + + *-- OBJECTDATA items order determines ZOrder / El orden de los items OBJECTDATA determina el ZOrder + *< OBJECTDATA: ObjPath="grid_reteta" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="grid_reteta.Column2.Header1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="grid_reteta.Column2.Text1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="grid_reteta.Column3.Header1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="grid_reteta.Column3.Text1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="grid_reteta.Column4.Header1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="grid_reteta.Column4.Text1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="grid_reteta.Column5.Header1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="grid_reteta.Column5.Text1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="grid_reteta.Column6.Header1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="grid_reteta.Column6.Text1" UniqueID="" Timestamp="" /> + + #INCLUDE "c:\program files\microsoft visual foxpro 9\foxpro.h" + * + cgridsortlist = grid_reteta + DoCreate = .T. + Height = 304 + Name = "frm_reteta" + Width = 372 + _shape1.Height = 29 + _shape1.Left = 0 + _shape1.Name = "_shape1" + _shape1.Top = 0 + _shape1.Width = 438 + _shape2.Left = 322 + _shape2.Name = "_shape2" + _shape2.Top = 0 + Lb_titlu_alb_b121.Caption = "Fise tehnologice" + Lb_titlu_alb_b121.Name = "Lb_titlu_alb_b121" + BUT_TERMIN1.Left = 342 + BUT_TERMIN1.Name = "BUT_TERMIN1" + BUT_TERMIN1.Top = 1 + Gridsort1.Left = 204 + Gridsort1.Name = "Gridsort1" + Gridsort1.Top = 5 + * + + ADD OBJECT 'grid_reteta' AS _grdrow WITH ; + ColumnCount = 5, ; + DeleteMark = .F., ; + FontName = "Arial Narrow", ; + HeaderHeight = 38, ; + Height = 255, ; + Left = 8, ; + Name = "grid_reteta", ; + Panel = 1, ; + RecordSource = "crsReteta", ; + Top = 38, ; + Width = 356, ; + Column1.ColumnOrder = 1, ; + Column1.ControlSource = "codmat_mat", ; + Column1.FontName = "Arial Narrow", ; + Column1.Name = "Column2", ; + Column1.ReadOnly = .T., ; + Column1.Width = 41, ; + Column2.ColumnOrder = 2, ; + Column2.ControlSource = "denumire_mat", ; + Column2.FontName = "Arial Narrow", ; + Column2.Name = "Column3", ; + Column2.ReadOnly = .T., ; + Column2.Width = 136, ; + Column3.ColumnOrder = 4, ; + Column3.ControlSource = "um_mat", ; + Column3.FontName = "Arial Narrow", ; + Column3.Name = "Column4", ; + Column3.ReadOnly = .T., ; + Column3.Width = 49, ; + Column4.ColumnOrder = 5, ; + Column4.ControlSource = "cont_mat", ; + Column4.FontName = "Arial Narrow", ; + Column4.Name = "Column5", ; + Column4.ReadOnly = .T., ; + Column4.Width = 36, ; + Column5.ColumnOrder = 3, ; + Column5.ControlSource = "cant_mat", ; + Column5.FontName = "Arial Narrow", ; + Column5.Format = "rk", ; + Column5.InputMask = (get_mask(10,4)), ; + Column5.Name = "Column6", ; + Column5.ReadOnly = .T., ; + Column5.Width = 58 + *< END OBJECT: ClassLib="_grd_base.vcx" BaseClass="grid" /> + + ADD OBJECT 'grid_reteta.Column2.Header1' AS header WITH ; + Alignment = 2, ; + Caption = "Cod material", ; + FontName = "Arial Narrow", ; + Name = "Header1", ; + WordWrap = .T. + *< END OBJECT: BaseClass="header" /> + + ADD OBJECT 'grid_reteta.Column2.Text1' AS textbox WITH ; + BackColor = 255,255,255, ; + BorderStyle = 0, ; + FontName = "Arial Narrow", ; + ForeColor = 0,0,0, ; + Margin = 0, ; + Name = "Text1", ; + ReadOnly = .T. + *< END OBJECT: BaseClass="textbox" /> + + ADD OBJECT 'grid_reteta.Column3.Header1' AS header WITH ; + Alignment = 2, ; + Caption = "Denumire", ; + FontName = "Arial Narrow", ; + Name = "Header1" + *< END OBJECT: BaseClass="header" /> + + ADD OBJECT 'grid_reteta.Column3.Text1' AS textbox WITH ; + BackColor = 255,255,255, ; + BorderStyle = 0, ; + FontName = "Arial Narrow", ; + ForeColor = 0,0,0, ; + Margin = 0, ; + Name = "Text1", ; + ReadOnly = .T. + *< END OBJECT: BaseClass="textbox" /> + + ADD OBJECT 'grid_reteta.Column4.Header1' AS header WITH ; + Alignment = 2, ; + Caption = "Unitate de masura", ; + FontName = "Arial Narrow", ; + Name = "Header1", ; + WordWrap = .T. + *< END OBJECT: BaseClass="header" /> + + ADD OBJECT 'grid_reteta.Column4.Text1' AS textbox WITH ; + BackColor = 255,255,255, ; + BorderStyle = 0, ; + FontName = "Arial Narrow", ; + ForeColor = 0,0,0, ; + Margin = 0, ; + Name = "Text1", ; + ReadOnly = .T. + *< END OBJECT: BaseClass="textbox" /> + + ADD OBJECT 'grid_reteta.Column5.Header1' AS header WITH ; + Alignment = 2, ; + Caption = "Cont", ; + FontName = "Arial Narrow", ; + Name = "Header1" + *< END OBJECT: BaseClass="header" /> + + ADD OBJECT 'grid_reteta.Column5.Text1' AS textbox WITH ; + BackColor = 255,255,255, ; + BorderStyle = 0, ; + FontName = "Arial Narrow", ; + ForeColor = 0,0,0, ; + Margin = 0, ; + Name = "Text1", ; + ReadOnly = .T. + *< END OBJECT: BaseClass="textbox" /> + + ADD OBJECT 'grid_reteta.Column6.Header1' AS header WITH ; + Alignment = 2, ; + Caption = "Cantitate", ; + FontName = "Arial Narrow", ; + Name = "Header1" + *< END OBJECT: BaseClass="header" /> + + ADD OBJECT 'grid_reteta.Column6.Text1' AS textbox WITH ; + BackColor = 255,255,255, ; + BorderStyle = 0, ; + FontName = "Arial Narrow", ; + ForeColor = 0,0,0, ; + Margin = 0, ; + Name = "Text1", ; + ReadOnly = .T. + *< END OBJECT: BaseClass="textbox" /> + +ENDDEFINE + +DEFINE CLASS frm_vanzari AS _frmbase OF "_frm_base.vcx" + *< CLASSDATA: Baseclass="form" Timestamp="" Scale="Pixels" Uniqueid="" /> + + *-- OBJECTDATA items order determines ZOrder / El orden de los items OBJECTDATA determina el ZOrder + *< OBJECTDATA: ObjPath="_shape3" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="grid_vanzari" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="grid_vanzari.Column1.Header1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="grid_vanzari.Column1.Text1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="grid_vanzari.Column2.Header1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="grid_vanzari.Column2.Text1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="grid_vanzari.Column3.Header1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="grid_vanzari.Column3.Text1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="grid_vanzari.Column4.Header1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="grid_vanzari.Column4.Text1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="grid_vanzari.Column5.Header1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="grid_vanzari.Column5.Text1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="grid_vanzari.Column6.Header1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="grid_vanzari.Column6.Text1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="grid_vanzari.Column7.Header1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="grid_vanzari.Column7.Text1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="grid_vanzari.Column8.Header1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="grid_vanzari.Column8.Text1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="grid_vanzari.Column9.Header1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="grid_vanzari.Column9.Text1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="grid_detalii" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="grid_detalii.Column1.Header1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="grid_detalii.Column1.Text1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="grid_detalii.Column2.Header1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="grid_detalii.Column2.Text1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="grid_detalii.Column3.Header1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="grid_detalii.Column3.Text1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="grid_detalii.Column4.Header1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="grid_detalii.Column4.Text1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="grid_detalii.Column5.Header1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="grid_detalii.Column5.Text1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="grid_detalii.Column6.Header1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="grid_detalii.Column6.Text1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="grid_detalii.Column7.Header1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="grid_detalii.Column7.Text1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="grid_detalii.Column8.Header1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="grid_detalii.Column8.Text1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="grid_detalii.Column9.Header1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="grid_detalii.Column9.Text1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="grid_detalii.Column10.Header1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="grid_detalii.Column10.Text1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="But_modifica1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="But_sterge1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="But_sterge2" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="Cmd_reset1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="Cmd_cauta1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="Ck_utilizator" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="Ck_dataora" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="Label1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="txtVanzari" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="Label2" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="Ck_sters" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="txtDetalii" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="Ck_denumire" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="Ck_lucrare" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="Ck_numar_act" UniqueID="" Timestamp="" /> + + #INCLUDE "c:\program files\microsoft visual foxpro 9\foxpro.h" + * + *m: inainte_de_do_sterge2 + *p: ndetalii + *p: nvanzari + * + + * + BorderStyle = 1 + cgridsortlist = grid_vanzari,grid_detalii + DoCreate = .T. + Height = 588 + Name = "frm_vanzari" + ndetalii = 0 + nvanzari = 0 + Width = 790 + WindowState = 2 + _shape1.Anchor = 11 + _shape1.Height = 29 + _shape1.Left = 0 + _shape1.Name = "_shape1" + _shape1.Top = 0 + _shape1.Width = 791 + _shape1.ZOrderSet = 1 + _shape2.Anchor = 9 + _shape2.Left = 740 + _shape2.Name = "_shape2" + _shape2.Top = 0 + _shape2.ZOrderSet = 2 + Lb_titlu_alb_b121.Caption = "Vanzari" + Lb_titlu_alb_b121.Name = "Lb_titlu_alb_b121" + Lb_titlu_alb_b121.ZOrderSet = 3 + BUT_TERMIN1.Anchor = 9 + BUT_TERMIN1.Left = 760 + BUT_TERMIN1.Name = "BUT_TERMIN1" + BUT_TERMIN1.Top = 1 + BUT_TERMIN1.ZOrderSet = 4 + Gridsort1.Left = 192 + Gridsort1.Name = "Gridsort1" + Gridsort1.Top = 6 + * + + ADD OBJECT '_shape3' AS _shape WITH ; + Anchor = 10, ; + BackStyle = 0, ; + Height = 40, ; + Left = 6, ; + Name = "_shape3", ; + Top = 35, ; + Width = 744, ; + ZOrderSet = 0 + *< END OBJECT: ClassLib="_baza.vcx" BaseClass="shape" /> + + ADD OBJECT 'But_modifica1' AS but_modifica WITH ; + Anchor = 9, ; + Left = 755, ; + Name = "But_modifica1", ; + Top = 79, ; + Visible = .T., ; + ZOrderSet = 8 + *< END OBJECT: ClassLib="cmd_butoane.vcx" BaseClass="commandbutton" /> + + ADD OBJECT 'But_sterge1' AS but_sterge WITH ; + Anchor = 9, ; + Left = 755, ; + Name = "But_sterge1", ; + Top = 105, ; + Visible = .T., ; + ZOrderSet = 9 + *< END OBJECT: ClassLib="cmd_butoane.vcx" BaseClass="commandbutton" /> + + ADD OBJECT 'But_sterge2' AS but_sterge WITH ; + Anchor = 12, ; + caction = inainte_de_do_sterge2, ; + Left = 755, ; + Name = "But_sterge2", ; + Top = 312, ; + Visible = .T., ; + ZOrderSet = 10 + *< END OBJECT: ClassLib="cmd_butoane.vcx" BaseClass="commandbutton" /> + + ADD OBJECT 'Ck_dataora' AS ck_filtru_numar WITH ; + Alignment = 0, ; + camp_nume = dataora, ; + Caption = "Dataora introducerii", ; + Left = 14, ; + Name = "Ck_dataora", ; + TabIndex = 3, ; + tip = T, ; + Top = 47, ; + ZOrderSet = 14 + *< END OBJECT: ClassLib="caut_ora.vcx" BaseClass="checkbox" /> + + ADD OBJECT 'Ck_denumire' AS ck_filtru_text WITH ; + Alignment = 0, ; + AutoSize = .T., ; + camp_nume = denumire_part, ; + Caption = "Partener", ; + Comment = "*:OnResize=LT", ; + FontName = "Arial Narrow", ; + Left = 360, ; + Name = "Ck_denumire", ; + TabIndex = 7, ; + Top = 47 + *< END OBJECT: ClassLib="caut_ora.vcx" BaseClass="checkbox" /> + + ADD OBJECT 'Ck_lucrare' AS ck_filtru_text WITH ; + Alignment = 0, ; + AutoSize = .T., ; + camp_nume = nrord, ; + Caption = "Lucrare", ; + Comment = "*:OnResize=LT", ; + FontName = "Arial Narrow", ; + Left = 297, ; + Name = "Ck_lucrare", ; + TabIndex = 17, ; + Top = 47 + *< END OBJECT: ClassLib="caut_ora.vcx" BaseClass="checkbox" /> + + ADD OBJECT 'Ck_numar_act' AS ck_filtru_numar WITH ; + Alignment = 0, ; + AutoSize = .T., ; + camp_nume = NUMAR_ACT, ; + Caption = "Nr. act", ; + FontName = "Arial Narrow", ; + Left = 124, ; + mask = (replicate('9',15)), ; + Name = "Ck_numar_act", ; + TabIndex = 4, ; + Top = 47 + *< END OBJECT: ClassLib="caut_ora.vcx" BaseClass="checkbox" /> + + ADD OBJECT 'Ck_sters' AS ck_filtru_text WITH ; + Alignment = 0, ; + AutoSize = .T., ; + Caption = "Sterse", ; + Comment = "*:OnResize=LT", ; + FontName = "Arial Narrow", ; + ForeColor = 255,0,0, ; + Height = 18, ; + Left = 464, ; + Name = "Ck_sters", ; + TabIndex = 33, ; + Top = 47, ; + Width = 45, ; + ZOrderSet = 18 + *< END OBJECT: ClassLib="caut_ora.vcx" BaseClass="checkbox" /> + + ADD OBJECT 'Ck_utilizator' AS ck_filtru_text WITH ; + Alignment = 0, ; + camp_nume = utilizator, ; + Caption = "Operator introducere", ; + FontCharSet = 238, ; + FontName = "Arial Narrow", ; + Left = 184, ; + Name = "Ck_utilizator", ; + TabIndex = 5, ; + Top = 47, ; + ZOrderSet = 13 + *< END OBJECT: ClassLib="caut_ora.vcx" BaseClass="checkbox" /> + + ADD OBJECT 'Cmd_cauta1' AS cmd_cauta WITH ; + Anchor = 8, ; + Left = 561, ; + Name = "Cmd_cauta1", ; + TabIndex = 6, ; + Top = 41, ; + ZOrderSet = 12 + *< END OBJECT: ClassLib="cmd_butoane.vcx" BaseClass="commandbutton" /> + + ADD OBJECT 'Cmd_reset1' AS cmd_reset WITH ; + Anchor = 8, ; + Left = 657, ; + Name = "Cmd_reset1", ; + TabIndex = 16, ; + Top = 41, ; + ZOrderSet = 11 + *< END OBJECT: ClassLib="cmd_butoane.vcx" BaseClass="commandbutton" /> + + ADD OBJECT 'grid_detalii' AS _grdrow WITH ; + Anchor = 14, ; + ColumnCount = 10, ; + DeleteMark = .F., ; + Height = 243, ; + HighlightStyle = 2, ; + Left = 6, ; + Name = "grid_detalii", ; + Panel = 1, ; + RecordSource = "crsDetalii", ; + Top = 312, ; + Width = 744, ; + ZOrderSet = 7, ; + Column1.ControlSource = "nume_lista_preturi", ; + Column1.Name = "Column1", ; + Column1.Width = 98, ; + Column2.ControlSource = "denumire", ; + Column2.Name = "Column2", ; + Column2.Width = 235, ; + Column3.ControlSource = "cantitate", ; + Column3.Format = "rk", ; + Column3.InputMask = (get_mask(12,gnPCant)), ; + Column3.Name = "Column3", ; + Column4.ColumnOrder = 5, ; + Column4.ControlSource = "pret", ; + Column4.Format = "rk", ; + Column4.InputMask = (get_mask(12,gnPPretV)), ; + Column4.Name = "Column4", ; + Column5.ColumnOrder = 6, ; + Column5.ControlSource = "proc_tvav", ; + Column5.Format = "rk", ; + Column5.Name = "Column5", ; + Column6.ColumnOrder = 7, ; + Column6.ControlSource = "diferenta", ; + Column6.Format = "rk", ; + Column6.InputMask = (get_mask(12,gnPPretV)), ; + Column6.Name = "Column6", ; + Column7.ColumnOrder = 8, ; + Column7.ControlSource = "validat", ; + Column7.Name = "Column7", ; + Column8.ColumnOrder = 9, ; + Column8.ControlSource = "utilizators", ; + Column8.Name = "Column8", ; + Column8.Width = 113, ; + Column9.ColumnOrder = 10, ; + Column9.ControlSource = "dataoras", ; + Column9.Name = "Column9", ; + Column9.Width = 103, ; + Column10.ColumnOrder = 4, ; + Column10.ControlSource = "um", ; + Column10.Name = "Column10" + *< END OBJECT: ClassLib="_grd_base.vcx" BaseClass="grid" /> + + ADD OBJECT 'grid_detalii.Column1.Header1' AS header WITH ; + Alignment = 2, ; + Caption = "Politica preturi", ; + Name = "Header1" + *< END OBJECT: BaseClass="header" /> + + ADD OBJECT 'grid_detalii.Column1.Text1' AS textbox WITH ; + BackColor = 255,255,255, ; + BorderStyle = 0, ; + ForeColor = 0,0,0, ; + Margin = 0, ; + Name = "Text1" + *< END OBJECT: BaseClass="textbox" /> + + ADD OBJECT 'grid_detalii.Column10.Header1' AS header WITH ; + Alignment = 2, ; + Caption = "UM", ; + Name = "Header1" + *< END OBJECT: BaseClass="header" /> + + ADD OBJECT 'grid_detalii.Column10.Text1' AS textbox WITH ; + BackColor = 255,255,255, ; + BorderStyle = 0, ; + ForeColor = 0,0,0, ; + Margin = 0, ; + Name = "Text1" + *< END OBJECT: BaseClass="textbox" /> + + ADD OBJECT 'grid_detalii.Column2.Header1' AS header WITH ; + Alignment = 2, ; + Caption = "Articol", ; + Name = "Header1" + *< END OBJECT: BaseClass="header" /> + + ADD OBJECT 'grid_detalii.Column2.Text1' AS textbox WITH ; + BackColor = 255,255,255, ; + BorderStyle = 0, ; + ForeColor = 0,0,0, ; + Margin = 0, ; + Name = "Text1" + *< END OBJECT: BaseClass="textbox" /> + + ADD OBJECT 'grid_detalii.Column3.Header1' AS header WITH ; + Alignment = 2, ; + Caption = "Cantitate ", ; + Name = "Header1" + *< END OBJECT: BaseClass="header" /> + + ADD OBJECT 'grid_detalii.Column3.Text1' AS textbox WITH ; + BackColor = 255,255,255, ; + BorderStyle = 0, ; + ForeColor = 0,0,0, ; + Margin = 0, ; + Name = "Text1" + *< END OBJECT: BaseClass="textbox" /> + + ADD OBJECT 'grid_detalii.Column4.Header1' AS header WITH ; + Alignment = 2, ; + Caption = "Pret", ; + Name = "Header1" + *< END OBJECT: BaseClass="header" /> + + ADD OBJECT 'grid_detalii.Column4.Text1' AS textbox WITH ; + BackColor = 255,255,255, ; + BorderStyle = 0, ; + ForeColor = 0,0,0, ; + Margin = 0, ; + Name = "Text1" + *< END OBJECT: BaseClass="textbox" /> + + ADD OBJECT 'grid_detalii.Column5.Header1' AS header WITH ; + Alignment = 2, ; + Caption = "Proc tva", ; + Name = "Header1" + *< END OBJECT: BaseClass="header" /> + + ADD OBJECT 'grid_detalii.Column5.Text1' AS textbox WITH ; + BackColor = 255,255,255, ; + BorderStyle = 0, ; + ForeColor = 0,0,0, ; + Margin = 0, ; + Name = "Text1" + *< END OBJECT: BaseClass="textbox" /> + + ADD OBJECT 'grid_detalii.Column6.Header1' AS header WITH ; + Alignment = 2, ; + Caption = "Diferenta", ; + Name = "Header1" + *< END OBJECT: BaseClass="header" /> + + ADD OBJECT 'grid_detalii.Column6.Text1' AS textbox WITH ; + BackColor = 255,255,255, ; + BorderStyle = 0, ; + ForeColor = 0,0,0, ; + Margin = 0, ; + Name = "Text1" + *< END OBJECT: BaseClass="textbox" /> + + ADD OBJECT 'grid_detalii.Column7.Header1' AS header WITH ; + Alignment = 2, ; + Caption = "Validat", ; + Name = "Header1" + *< END OBJECT: BaseClass="header" /> + + ADD OBJECT 'grid_detalii.Column7.Text1' AS textbox WITH ; + BackColor = 255,255,255, ; + BorderStyle = 0, ; + ForeColor = 0,0,0, ; + Margin = 0, ; + Name = "Text1" + *< END OBJECT: BaseClass="textbox" /> + + ADD OBJECT 'grid_detalii.Column8.Header1' AS header WITH ; + Alignment = 2, ; + Caption = "Operator stergere", ; + Name = "Header1" + *< END OBJECT: BaseClass="header" /> + + ADD OBJECT 'grid_detalii.Column8.Text1' AS textbox WITH ; + BackColor = 255,255,255, ; + BorderStyle = 0, ; + ForeColor = 0,0,0, ; + Margin = 0, ; + Name = "Text1" + *< END OBJECT: BaseClass="textbox" /> + + ADD OBJECT 'grid_detalii.Column9.Header1' AS header WITH ; + Alignment = 2, ; + Caption = "Dataora stergerii", ; + Name = "Header1" + *< END OBJECT: BaseClass="header" /> + + ADD OBJECT 'grid_detalii.Column9.Text1' AS textbox WITH ; + BackColor = 255,255,255, ; + BorderStyle = 0, ; + ForeColor = 0,0,0, ; + Margin = 0, ; + Name = "Text1" + *< END OBJECT: BaseClass="textbox" /> + + ADD OBJECT 'grid_vanzari' AS _grdrow WITH ; + Anchor = 15, ; + ColumnCount = 9, ; + DeleteMark = .F., ; + Height = 197, ; + HighlightStyle = 2, ; + Left = 6, ; + Name = "grid_vanzari", ; + Panel = 1, ; + RecordSource = "crsVanzari", ; + Top = 81, ; + Width = 744, ; + ZOrderSet = 6, ; + Column1.ControlSource = "dataora", ; + Column1.Name = "Column1", ; + Column1.Width = 133, ; + Column2.ColumnOrder = 3, ; + Column2.ControlSource = "utilizator", ; + Column2.Name = "Column2", ; + Column2.Width = 149, ; + Column3.ColumnOrder = 6, ; + Column3.ControlSource = "nr_persoane", ; + Column3.Name = "Column3", ; + Column3.Width = 84, ; + Column4.ColumnOrder = 7, ; + Column4.ControlSource = "nrinmat", ; + Column4.Name = "Column4", ; + Column4.Width = 98, ; + Column5.ColumnOrder = 2, ; + Column5.ControlSource = "numar_act", ; + Column5.Name = "Column5", ; + Column5.Width = 87, ; + Column6.ColumnOrder = 4, ; + Column6.ControlSource = "nrord", ; + Column6.Name = "Column6", ; + Column6.Width = 119, ; + Column7.ColumnOrder = 5, ; + Column7.ControlSource = "denumire_part", ; + Column7.Name = "Column7", ; + Column7.Width = 129, ; + Column8.ControlSource = "utilizators", ; + Column8.Name = "Column8", ; + Column8.Width = 115, ; + Column9.ControlSource = "dataoras", ; + Column9.Name = "Column9", ; + Column9.Width = 114 + *< END OBJECT: ClassLib="_grd_base.vcx" BaseClass="grid" /> + + ADD OBJECT 'grid_vanzari.Column1.Header1' AS header WITH ; + Alignment = 2, ; + Caption = "Dataora introducerii", ; + Name = "Header1" + *< END OBJECT: BaseClass="header" /> + + ADD OBJECT 'grid_vanzari.Column1.Text1' AS textbox WITH ; + BackColor = 255,255,255, ; + BorderStyle = 0, ; + ForeColor = 0,0,0, ; + Margin = 0, ; + Name = "Text1" + *< END OBJECT: BaseClass="textbox" /> + + ADD OBJECT 'grid_vanzari.Column2.Header1' AS header WITH ; + Alignment = 2, ; + Caption = "Operator introducere", ; + Name = "Header1" + *< END OBJECT: BaseClass="header" /> + + ADD OBJECT 'grid_vanzari.Column2.Text1' AS textbox WITH ; + BackColor = 255,255,255, ; + BorderStyle = 0, ; + ForeColor = 0,0,0, ; + Margin = 0, ; + Name = "Text1" + *< END OBJECT: BaseClass="textbox" /> + + ADD OBJECT 'grid_vanzari.Column3.Header1' AS header WITH ; + Alignment = 2, ; + Caption = "Nr. persoane", ; + Name = "Header1" + *< END OBJECT: BaseClass="header" /> + + ADD OBJECT 'grid_vanzari.Column3.Text1' AS textbox WITH ; + BackColor = 255,255,255, ; + BorderStyle = 0, ; + ForeColor = 0,0,0, ; + Margin = 0, ; + Name = "Text1" + *< END OBJECT: BaseClass="textbox" /> + + ADD OBJECT 'grid_vanzari.Column4.Header1' AS header WITH ; + Alignment = 2, ; + Caption = "Nr. inmat.", ; + Name = "Header1" + *< END OBJECT: BaseClass="header" /> + + ADD OBJECT 'grid_vanzari.Column4.Text1' AS textbox WITH ; + BackColor = 255,255,255, ; + BorderStyle = 0, ; + ForeColor = 0,0,0, ; + Margin = 0, ; + Name = "Text1" + *< END OBJECT: BaseClass="textbox" /> + + ADD OBJECT 'grid_vanzari.Column5.Header1' AS header WITH ; + Alignment = 2, ; + Caption = "Numar act", ; + Name = "Header1" + *< END OBJECT: BaseClass="header" /> + + ADD OBJECT 'grid_vanzari.Column5.Text1' AS textbox WITH ; + BackColor = 255,255,255, ; + BorderStyle = 0, ; + ForeColor = 0,0,0, ; + Margin = 0, ; + Name = "Text1" + *< END OBJECT: BaseClass="textbox" /> + + ADD OBJECT 'grid_vanzari.Column6.Header1' AS header WITH ; + Alignment = 2, ; + Caption = "Lucrare", ; + Name = "Header1" + *< END OBJECT: BaseClass="header" /> + + ADD OBJECT 'grid_vanzari.Column6.Text1' AS textbox WITH ; + BackColor = 255,255,255, ; + BorderStyle = 0, ; + ForeColor = 0,0,0, ; + Margin = 0, ; + Name = "Text1" + *< END OBJECT: BaseClass="textbox" /> + + ADD OBJECT 'grid_vanzari.Column7.Header1' AS header WITH ; + Alignment = 2, ; + Caption = "Partener", ; + Name = "Header1" + *< END OBJECT: BaseClass="header" /> + + ADD OBJECT 'grid_vanzari.Column7.Text1' AS textbox WITH ; + BackColor = 255,255,255, ; + BorderStyle = 0, ; + ForeColor = 0,0,0, ; + Margin = 0, ; + Name = "Text1" + *< END OBJECT: BaseClass="textbox" /> + + ADD OBJECT 'grid_vanzari.Column8.Header1' AS header WITH ; + Alignment = 2, ; + Caption = "Operator stergere", ; + Name = "Header1" + *< END OBJECT: BaseClass="header" /> + + ADD OBJECT 'grid_vanzari.Column8.Text1' AS textbox WITH ; + BackColor = 255,255,255, ; + BorderStyle = 0, ; + ForeColor = 0,0,0, ; + Margin = 0, ; + Name = "Text1" + *< END OBJECT: BaseClass="textbox" /> + + ADD OBJECT 'grid_vanzari.Column9.Header1' AS header WITH ; + Alignment = 2, ; + Caption = "Dataora stergerii", ; + Name = "Header1" + *< END OBJECT: BaseClass="header" /> + + ADD OBJECT 'grid_vanzari.Column9.Text1' AS textbox WITH ; + BackColor = 255,255,255, ; + BorderStyle = 0, ; + ForeColor = 0,0,0, ; + Margin = 0, ; + Name = "Text1" + *< END OBJECT: BaseClass="textbox" /> + + ADD OBJECT 'Label1' AS label WITH ; + Anchor = 12, ; + AutoSize = .T., ; + BackStyle = 0, ; + Caption = "Total", ; + Height = 17, ; + Left = 575, ; + Name = "Label1", ; + Top = 285, ; + Width = 29, ; + ZOrderSet = 15 + *< END OBJECT: BaseClass="label" /> + + ADD OBJECT 'Label2' AS label WITH ; + Anchor = 12, ; + AutoSize = .T., ; + BackStyle = 0, ; + Caption = "Total", ; + Height = 17, ; + Left = 575, ; + Name = "Label2", ; + Top = 563, ; + Width = 29, ; + ZOrderSet = 17 + *< END OBJECT: BaseClass="label" /> + + ADD OBJECT 'txtDetalii' AS textbox WITH ; + Anchor = 12, ; + ControlSource = "thisform.nDetalii", ; + Format = "rk", ; + Height = 23, ; + InputMask = (get_mask(16,gnPA)), ; + Left = 611, ; + Name = "txtDetalii", ; + ReadOnly = .T., ; + Top = 560, ; + Width = 139, ; + ZOrderSet = 19 + *< END OBJECT: BaseClass="textbox" /> + + ADD OBJECT 'txtVanzari' AS textbox WITH ; + Anchor = 12, ; + ControlSource = "thisform.nVanzari", ; + Format = "rk", ; + Height = 23, ; + InputMask = (get_mask(16,gnPA)), ; + Left = 611, ; + Name = "txtVanzari", ; + ReadOnly = .T., ; + Top = 282, ; + Width = 139, ; + ZOrderSet = 16 + *< END OBJECT: BaseClass="textbox" /> + + PROCEDURE actualizeaza_grid1 + Lparameters lcFiltru + If Empty(lcFiltru) + lcFiltru = povanzari.ca_baza1.cfiltru + Endif + Thisform.MousePointer = 11 + Thisform.LockScreen = .T. + save_grid_tag(Thisform.grid_vanzari) + povanzari.ca_baza1.cfiltru = lcFiltru + povanzari.ca_baza1.afisare() + restore_grid_tag(Thisform.grid_vanzari) + Thisform.LockScreen = .F. + Thisform.MousePointer = 0 + If Reccount('crsVanzari')>0 + Thisform.grid_vanzari.SetFocus() + Endif + ENDPROC + + PROCEDURE actualizeaza_grid2 + Lparameters lcFiltru + + LOCAL lcFiltru2 + lcFiltru2 = lcFiltru + + IF thisform.ck_sters.Value = 1 + *lcFiltru = lcFiltru + [ and 2=2 ] + ELSE + lcFiltru2 = lcFiltru2 + [ and STERS=0] + ENDIF + + If Empty(lcFiltru) + lcFiltru2 = poDetalii.ca_baza1.cfiltru + Endif + Thisform.MousePointer = 11 + Thisform.LockScreen = .T. + save_grid_tag(Thisform.grid_detalii) + poDetalii.ca_baza1.cfiltru = lcFiltru2 + poDetalii.ca_baza1.afisare() + restore_grid_tag(Thisform.grid_detalii) + + SELECT crsDetalii + CALCULATE SUM(ROUND(cantitate*pret-diferenta,gnPcant)) TO thisform.nDetalii + thisform.txtDetalii.Refresh + + Thisform.LockScreen = .F. + Thisform.MousePointer = 0 + ENDPROC + + PROCEDURE do_cauta + Local lcFiltru + lcFiltru = [2=2]+gcCondSucursala + + If Thisform.ck_dataora.Value=1 + lcFiltru = lcFiltru + Thisform.ck_dataora.filtru + ENDIF + + IF thisform.ck_numar_act.Value = 1 + lcFiltru = lcFiltru + Thisform.ck_numar_act.filtru + ENDIF + + If Thisform.ck_utilizator.Value=1 + lcFiltru = lcFiltru + Thisform.ck_utilizator.filtru + ENDIF + + IF thisform.ck_lucrare.Value=1 + lcFiltru = lcFiltru + Thisform.ck_lucrare.filtru + ENDIF + + IF thisform.ck_denumire.Value=1 + lcFiltru = lcFiltru + Thisform.ck_denumire.filtru + ENDIF + + * inregistrari sterse + IF thisform.ck_sters.Value = 1 + *lcFiltru = lcFiltru + [ and 2=2 ] + ELSE + lcFiltru = lcFiltru + [ and STERS=0] + ENDIF + + Thisform.actualizeaza_grid1(lcFiltru) + + && adauc de pe server toate detaliile ca sa fac suma pt vanzarile cautate + Thisform.actualizeaza_grid2(lcFiltru) + SELECT crsDetalii + CALCULATE SUM(ROUND(cantitate*pret-diferenta,gnPcant)) TO thisform.nVanzari + thisform.txtVanzari.Refresh + + thisform.grid_vanzari.AfterRowColChange + + If Reccount('crsVanzari')=0 + amessagebox('Cautarea nu a intors rezultate!',0+48,'Info cautare') + Thisform.ck_dataora.SetFocus() + ENDIF + + + + + + + + ENDPROC + + PROCEDURE do_reset + With Thisform + For i=1 To .Objects.Count + If Upper(.Objects(i).BaseClass)='CHECKBOX' + .Objects(i).Value=0 + Endif + Endfor + Endwith + Thisform.ck_dataora.SetFocus() + ENDPROC + + PROCEDURE inainte_de_do_modifica + IF RECCOUNT('crsVanzari')>0 + SELECT crsVanzari + SCATTER NAME lorec + lnId = lorec.id_vanzare + DO Adauga_Modifica_Inregistrare WITH [vanzari],lorec,lnId,[UPDATE] + IF gnButon = 1 + this.actualizeaza_grid1 + ENDIF + ELSE + aMESSAGEBOX("Nu sunt inregistrari de modificat!",0+48,"Atentie") + ENDIF + + ENDPROC + + PROCEDURE inainte_de_do_sterge + If Reccount('crsVanzari')>0 + Local loRec + Select crsVanzari + Scatter Name loRec + Do STERGE_INREGISTRARE With "vanzari",loRec.id_vanzare + This.actualizeaza_grid1() + Endif + ENDPROC + + PROCEDURE inainte_de_do_sterge2 + If Reccount('crsDetalii')>0 + Local loRec + Select crsDetalii + Scatter Name loRec + Do STERGE_INREGISTRARE With "detalii",loRec.id_vanzare_det + thisform.grid_vanzari.AfterRowColChange() + Endif + ENDPROC + + PROCEDURE Ck_sters.InteractiveChange + * + ENDPROC + + PROCEDURE grid_detalii.Init + Thisform.grid_detalii.SetAll("DynamicForeColor", "IIF(sters=1, RGB(255,0,0), RGB(0,0,0))", "Column") + ENDPROC + + PROCEDURE grid_vanzari.AfterRowColChange + Lparameters nColIndex + If This.RowColChange<>2 + Local lnIdPol + Select crsVanzari + lnId_vanzare = id_vanzare + * lcData = DTOC(dataora) + lcFiltru = [id_vanzare=]+Alltrim(Str(lnId_vanzare)) + + Thisform.actualizeaza_grid2(lcFiltru) + *Thisform.lb_detalii_politica.Caption="Detalii vanzarea "+Alltrim(lcNume)+" ( "+lcPerioada+" ) " + Endif + ENDPROC + + PROCEDURE grid_vanzari.Init + Thisform.grid_vanzari.SetAll("DynamicForeColor", "IIF(sters=1, RGB(255,0,0), RGB(0,0,0))", "Column") + + ENDPROC + +ENDDEFINE + +DEFINE CLASS frm_vanzari_nou AS _frmbase OF "_frm_base.vcx" + *< CLASSDATA: Baseclass="form" Timestamp="" Scale="Pixels" Uniqueid="" /> + + *-- OBJECTDATA items order determines ZOrder / El orden de los items OBJECTDATA determina el ZOrder + *< OBJECTDATA: ObjPath="Clb_datai" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="Clb_utilizator" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="_image1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="Clb_tx_simplu3" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="Clb_tx_simplu4" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="Clb_tx_simplu5" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="Cus_odata_vanzari1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="BUT_RENUNT1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="Clb_lucrare" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="_image2" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="Clb_partener" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="_image3" UniqueID="" Timestamp="" /> + + #INCLUDE "c:\program files\microsoft visual foxpro 9\foxpro.h" + * + *m: do_alege_lucrare + *m: do_alege_partener + *m: do_alege_utilizator + *p: nid + *p: orec + * + + * + DoCreate = .T. + Height = 245 + Name = "frm_vanzari_nou" + nid = 0 + orec = .F. + Width = 375 + _shape1.Name = "_shape1" + _shape2.Height = 29 + _shape2.Left = 313 + _shape2.Name = "_shape2" + _shape2.Top = 0 + _shape2.Width = 60 + Lb_titlu_alb_b121.Caption = "Vanzari" + Lb_titlu_alb_b121.Name = "Lb_titlu_alb_b121" + Lb_titlu_alb_b121.TabIndex = 10 + BUT_TERMIN1.Name = "BUT_TERMIN1" + BUT_TERMIN1.TabIndex = 8 + BUT_TERMIN1.Top = 1 + Gridsort1.Left = 120 + Gridsort1.Name = "Gridsort1" + Gridsort1.Top = 10 + * + + ADD OBJECT '_image1' AS _image WITH ; + Height = 24, ; + Left = 324, ; + Name = "_image1", ; + Picture = ..\..\..\roapreturi\comun\grafice\alege.bmp, ; + Stretch = 2, ; + ToolTipText = "Alegeti valuta", ; + Top = 67, ; + Width = 24 + *< END OBJECT: ClassLib="_baza.vcx" BaseClass="image" /> + + ADD OBJECT '_image2' AS _image WITH ; + Height = 24, ; + Left = 324, ; + Name = "_image2", ; + Picture = ..\..\..\roapreturi\comun\grafice\alege.bmp, ; + Stretch = 2, ; + ToolTipText = "Alegeti valuta", ; + Top = 95, ; + Width = 24 + *< END OBJECT: ClassLib="_baza.vcx" BaseClass="image" /> + + ADD OBJECT '_image3' AS _image WITH ; + Height = 24, ; + Left = 324, ; + Name = "_image3", ; + Picture = ..\..\..\roapreturi\comun\grafice\alege.bmp, ; + Stretch = 2, ; + ToolTipText = "Alegeti valuta", ; + Top = 123, ; + Width = 24 + *< END OBJECT: ClassLib="_baza.vcx" BaseClass="image" /> + + ADD OBJECT 'BUT_RENUNT1' AS but_renunt WITH ; + Left = 313, ; + Name = "BUT_RENUNT1", ; + TabIndex = 9, ; + Top = 1 + *< END OBJECT: ClassLib="cmd_butoane.vcx" BaseClass="commandbutton" /> + + ADD OBJECT 'Clb_datai' AS clb_tx_simplu WITH ; + Left = 24, ; + Name = "Clb_datai", ; + TabIndex = 1, ; + Top = 39, ; + Text_simplu1.ControlSource = "porec.dataora", ; + Text_simplu1.Name = "Text_simplu1", ; + Lb_simplu1.Caption = "Data ora", ; + Lb_simplu1.Name = "Lb_simplu1" + *< END OBJECT: ClassLib="lb_tx.vcx" BaseClass="container" /> + + ADD OBJECT 'Clb_lucrare' AS clb_tx_simplu WITH ; + Left = 24, ; + Name = "Clb_lucrare", ; + TabIndex = 3, ; + TabStop = .T., ; + ToolTipText = "Pentru modificare, faceti dublu-click!", ; + Top = 95, ; + Text_simplu1.Alignment = 1, ; + Text_simplu1.ControlSource = "porec.nrord", ; + Text_simplu1.Name = "Text_simplu1", ; + Text_simplu1.ReadOnly = .T., ; + Lb_simplu1.Caption = "Lucrare", ; + Lb_simplu1.Name = "Lb_simplu1" + *< END OBJECT: ClassLib="lb_tx.vcx" BaseClass="container" /> + + ADD OBJECT 'Clb_partener' AS clb_tx_simplu WITH ; + Left = 24, ; + Name = "Clb_partener", ; + TabIndex = 4, ; + TabStop = .T., ; + ToolTipText = "Pentru modificare, faceti dublu-click!", ; + Top = 123, ; + Text_simplu1.Alignment = 1, ; + Text_simplu1.ControlSource = "porec.denumire_part", ; + Text_simplu1.Name = "Text_simplu1", ; + Text_simplu1.ReadOnly = .T., ; + Lb_simplu1.Caption = "Partener", ; + Lb_simplu1.Name = "Lb_simplu1" + *< END OBJECT: ClassLib="lb_tx.vcx" BaseClass="container" /> + + ADD OBJECT 'Clb_tx_simplu3' AS clb_tx_simplu WITH ; + Left = 24, ; + Name = "Clb_tx_simplu3", ; + TabIndex = 5, ; + Top = 151, ; + Text_simplu1.ControlSource = "porec.numar_act", ; + Text_simplu1.Name = "Text_simplu1", ; + Lb_simplu1.Caption = "Numar act", ; + Lb_simplu1.Name = "Lb_simplu1" + *< END OBJECT: ClassLib="lb_tx.vcx" BaseClass="container" /> + + ADD OBJECT 'Clb_tx_simplu4' AS clb_tx_simplu WITH ; + Left = 24, ; + Name = "Clb_tx_simplu4", ; + TabIndex = 6, ; + Top = 179, ; + Text_simplu1.ControlSource = "porec.nr_persoane", ; + Text_simplu1.Name = "Text_simplu1", ; + Lb_simplu1.Caption = "Nr. persoane", ; + Lb_simplu1.Name = "Lb_simplu1" + *< END OBJECT: ClassLib="lb_tx.vcx" BaseClass="container" /> + + ADD OBJECT 'Clb_tx_simplu5' AS clb_tx_simplu WITH ; + Left = 24, ; + Name = "Clb_tx_simplu5", ; + TabIndex = 7, ; + Top = 207, ; + Text_simplu1.ControlSource = "porec.nrinmat", ; + Text_simplu1.Name = "Text_simplu1", ; + Lb_simplu1.Caption = "Nr.inmat", ; + Lb_simplu1.Name = "Lb_simplu1" + *< END OBJECT: ClassLib="lb_tx.vcx" BaseClass="container" /> + + ADD OBJECT 'Clb_utilizator' AS clb_tx_simplu WITH ; + Left = 24, ; + Name = "Clb_utilizator", ; + TabIndex = 2, ; + TabStop = .T., ; + ToolTipText = "Pentru modificare, faceti dublu-click!", ; + Top = 67, ; + Text_simplu1.Alignment = 1, ; + Text_simplu1.ControlSource = "porec.utilizator", ; + Text_simplu1.Name = "Text_simplu1", ; + Text_simplu1.ReadOnly = .T., ; + Lb_simplu1.Caption = "Utilizator", ; + Lb_simplu1.Name = "Lb_simplu1" + *< END OBJECT: ClassLib="lb_tx.vcx" BaseClass="container" /> + + ADD OBJECT 'Cus_odata_vanzari1' AS cus_odata_vanzari WITH ; + Left = 246, ; + Name = "Cus_odata_vanzari1", ; + Top = 7 + *< END OBJECT: ClassLib="ointroduceri_web.vcx" BaseClass="custom" /> + + PROCEDURE do_alege_lucrare + LOCAL lcselect, lcfiltru, lcschema, lcorder, lccoloane, lcTitlu, lcTitluColoane, lcFiltruOriginal, lcNumeProc + lcselect = [select id_lucrare, nrord FROM vnom_lucrari ] + lcfiltru = [1=2] + lcschema = [] + lcorder = [nrord] + lccoloane = [nrord] + lcTitlu = [Alegeti lucrarea] + lcTitluColoane = [Lucrare] + lcFiltruOriginal = [inactiv = 0] + lcNumeProc = "" + locauta = cauta_alfa(lcselect, lcfiltru, lcschema, lcorder, lccoloane, lcTitlu, lcTitluColoane, lcNumeProc, .F., lcFiltruOriginal) && 11.07.2007 + + IF buton=2 + RETURN + ENDIF + + porec.id_lucrare = locauta.id_lucrare + porec.nrord = locauta.nrord + + THISFORM.clb_lucrare.REFRESH() + ENDPROC + + PROCEDURE do_alege_partener + loCauta = caut_parteneri("4111","Clienti",.f.) + IF buton=2 + RETURN + ENDIF + porec.id_part = locauta.id_part + porec.denumire_part = locauta.denumire + thisform.clb_partener.Refresh + ENDPROC + + PROCEDURE do_alege_utilizator + LOCAL lcselect, lcfiltru, lcschema, lcorder, lccoloane, lcTitlu, lcTitluColoane, lcFiltruOriginal, lcNumeProc + lcselect = [select id_util, utilizator FROM syn_vutilizatori ] + lcfiltru = [1=2] + lcschema = [] + lcorder = [utilizator] + lccoloane = [utilizator] + lcTitlu = [Alegeti utilizatorul] + lcTitluColoane = [Utilizatori] + lcFiltruOriginal = [inactiv = 0] + lcNumeProc = "" + locauta = cauta_alfa(lcselect, lcfiltru, lcschema, lcorder, lccoloane, lcTitlu, lcTitluColoane, lcNumeProc, .F., lcFiltruOriginal) && 11.07.2007 + + IF buton=2 + RETURN + ENDIF + + poRec.id_util = IIF(!EMPTY(loCauta.id_util), loCauta.id_util, 0) + poRec.utilizator = IIF(!EMPTY(loCauta.utilizator), loCauta.utilizator, "") + + THISFORM.clb_utilizator.REFRESH() + ENDPROC + + PROCEDURE inainte_de_do_termin + Local plReturn + lccontrol = Upper(This.ActiveControl.BaseClass ) + If Inlist(lccontrol,"TEXTBOX","EDITBOX","COMBOBOX") + lcval=This.ActiveControl.ControlSource + &lcval=Thisform.ActiveControl.Value + Endif + + Do Case + Case Empty(porec.dataora) + amessagebox('Nu ati completat data/ora vanzarii!',0+48,"Atentie") + This.clb_datai.text_simplu1.SetFocus() + plReturn=.F. + Case Empty(porec.id_util) Or Isnull(porec.id_util) + amessagebox('Nu ati completat utilizatorul!',0+48,"Atentie") + This.clb_notaContab.text_simplu1.SetFocus() + plReturn=.F. + Otherwise + plReturn=This.cus_odata_vanzari1.salvare(This.OREC,This.NID) + ENDCASE + + Return plReturn + + ENDPROC + + PROCEDURE Init + Lparameters toRec, tnId, tcActiune + DoDefault() + This.orec = toRec + This.nid = tnId + This.cus_odata_vanzari1.cactiune = tcActiune + + + + ENDPROC + + PROCEDURE Clb_lucrare.Text_simplu1.DblClick + thisform.do_alege_lucrare() + + ENDPROC + + PROCEDURE Clb_lucrare.Text_simplu1.KeyPress + Lparameters nKeyCode, nShiftAltCtrl + If ((Empty(poRec.id_lucrare) And Empty(porec.nrord)) Or ; + (Isnull(poRec.id_lucrare) And Isnull(porec.nrord))) ; + And Inlist(nKeyCode,9,13) And nShiftAltCtrl=0 + thisform.do_alege_lucrare() + Else + DoDefault() + Endif + + ENDPROC + + PROCEDURE Clb_partener.Text_simplu1.DblClick + thisform.do_alege_partener() + + ENDPROC + + PROCEDURE Clb_partener.Text_simplu1.KeyPress + Lparameters nKeyCode, nShiftAltCtrl + If ((Empty(poRec.id_part) And Empty(porec.denumire)) Or ; + (Isnull(poRec.id_part) And Isnull(porec.denumire))) ; + And Inlist(nKeyCode,9,13) And nShiftAltCtrl=0 + thisform.do_alege_partener() + Else + DoDefault() + Endif + + ENDPROC + + PROCEDURE Clb_utilizator.Text_simplu1.DblClick + thisform.do_alege_utilizator() + ENDPROC + + PROCEDURE Clb_utilizator.Text_simplu1.KeyPress + Lparameters nKeyCode, nShiftAltCtrl + If ((Empty(poRec.id_util) And Empty(porec.utilizator)) Or ; + (Isnull(poRec.id_util) And Isnull(porec.utilizator))) ; + And Inlist(nKeyCode,9,13) And nShiftAltCtrl=0 + thisform.do_alege_utilizator() + Else + DoDefault() + Endif + + ENDPROC + + PROCEDURE _image1.Click + Thisform.do_alege_utilizator() + ENDPROC + + PROCEDURE _image2.Click + Thisform.do_alege_lucrare() + ENDPROC + + PROCEDURE _image3.Click + Thisform.do_alege_partener() + ENDPROC + +ENDDEFINE + +DEFINE CLASS restnir_retetar AS _frmbase OF "_frm_base.vcx" + *< CLASSDATA: Baseclass="form" Timestamp="" Scale="Pixels" Uniqueid="" /> + + *-- OBJECTDATA items order determines ZOrder / El orden de los items OBJECTDATA determina el ZOrder + *< OBJECTDATA: ObjPath="But_renunt1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="Label1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="lb_materiiPrime" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="Label5" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="cboListe" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="cbo_idGest_inProd" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="But_excel1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="Cmd_cauta1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="Label2" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="grid_web_retetar" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="grid_web_retetar.cDenumire.Header1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="grid_web_retetar.cDenumire.Text1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="grid_web_retetar.cCant_nec.Header1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="grid_web_retetar.cCant_nec.Text1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="grid_web_retetar.cCant_in_stoc.Header1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="grid_web_retetar.cCant_in_stoc.Text1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="grid_web_retetar.cUM.Header1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="grid_web_retetar.cUM.Text1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="grid_web_retetar.cCante.Header1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="grid_web_retetar.cCante.Text1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="txtDataI" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="txtDataF" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="Label8" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="Label3" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="Label9" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="grid_web" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="grid_web.cCodmat.Header1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="grid_web.cCodmat.Text1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="grid_web.cDenumire.Header1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="grid_web.cDenumire.Text1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="grid_web.cCant_vand.Header1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="grid_web.cCant_vand.Text1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="grid_web.cPretvtva.Header1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="grid_web.cPretvtva.Text1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="grid_web.cCant_produsa.Header1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="grid_web.cCant_produsa.Text1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="grid_web.cCant_ramasa.Header1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="grid_web.cCant_ramasa.Text1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="grid_web.cNr_crt.Header1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="grid_web.cNr_crt.Text1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="grid_web.cCant_de_produs.Header1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="grid_web.cCant_de_produs.Text1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="But_listare1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="But_nou1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="grid_web_reteta" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="grid_web_reteta.cDen_material.Header1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="grid_web_reteta.cDen_material.Text1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="grid_web_reteta.cUM.Header1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="grid_web_reteta.cUM.Text1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="grid_web_reteta.cCant_nec.Header1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="grid_web_reteta.cCant_nec.Text1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="grid_web_reteta.cCant_in_stoc.Header1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="grid_web_reteta.cCant_in_stoc.Text1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="grid_web_reteta.cCante.Header1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="grid_web_reteta.cCante.Text1" UniqueID="" Timestamp="" /> + + #INCLUDE "c:\program files\microsoft visual foxpro 9\foxpro.h" + * + *m: actualizeaza_grid3 + *m: actualizeaza_nec_cum + *m: actualizeaza_politici_preturi + *m: assign_analitic + *m: completeaza_actactan + *m: completeaza_rultemp + *p: ccrsretete + *p: ccrsvanzari + *p: cfrm_ceredate + *p: cobj + *p: nidprodus + *p: npretvtva + *p: ntipgest + *p: nvaloareveche + * + + * + BorderStyle = 1 + cbuton3 = + cbuton4 = Ct_grid_order1.But_sterge1;but_reface1 + ccrsretete = creteta + ccrsvanzari = cweb_vanzari + cfrm_ceredate = + cobj = + DoCreate = .T. + Height = 572 + lactiv1 = .T. + lactiv3 = .T. + lactiv4 = .T. + Name = "restnir_retetar" + nidprodus = 0 + npretvtva = 0 + ntipgest = 0 + nvaloareveche = 0 + Width = 946 + WindowState = 2 + _memberdata = + + + + + + _shape1.Anchor = 11 + _shape1.Height = 30 + _shape1.Left = -1 + _shape1.Name = "_shape1" + _shape1.Tag = "" + _shape1.Top = -1 + _shape1.Width = 949 + _shape1.ZOrderSet = 0 + _shape2.Anchor = 9 + _shape2.Height = 29 + _shape2.Left = 820 + _shape2.Name = "_shape2" + _shape2.Tag = "MOVABLE" + _shape2.Top = 0 + _shape2.Width = 127 + _shape2.ZOrderSet = 1 + Lb_titlu_alb_b121.Anchor = 3 + Lb_titlu_alb_b121.FontName = "Comic Sans MS" + Lb_titlu_alb_b121.FontSize = 10 + Lb_titlu_alb_b121.Height = 20 + Lb_titlu_alb_b121.Left = 4 + Lb_titlu_alb_b121.Name = "Lb_titlu_alb_b121" + Lb_titlu_alb_b121.TabIndex = 18 + Lb_titlu_alb_b121.Top = 6 + Lb_titlu_alb_b121.Width = 41 + Lb_titlu_alb_b121.ZOrderSet = 2 + BUT_TERMIN1.Anchor = 9 + BUT_TERMIN1.Height = 27 + BUT_TERMIN1.Left = 914 + BUT_TERMIN1.Name = "BUT_TERMIN1" + BUT_TERMIN1.TabIndex = 14 + BUT_TERMIN1.Tag = "" + BUT_TERMIN1.Top = 1 + BUT_TERMIN1.Width = 32 + BUT_TERMIN1.ZOrderSet = 5 + Gridsort1.Left = 144 + Gridsort1.Name = "Gridsort1" + Gridsort1.Top = 1 + * + + ADD OBJECT 'But_excel1' AS but_excel WITH ; + Anchor = 9, ; + Left = 854, ; + Name = "But_excel1", ; + TabIndex = 12, ; + ToolTipText = "Materii prime cumulate insuficiente in stoc (CTRL+E)", ; + Top = 1, ; + Visible = .T., ; + ZOrderSet = 11 + *< END OBJECT: ClassLib="cmd_butoane.vcx" BaseClass="commandbutton" /> + + ADD OBJECT 'But_listare1' AS but_listare WITH ; + Anchor = 9, ; + Left = 823, ; + Name = "But_listare1", ; + TabIndex = 11, ; + Top = 1, ; + Visible = .T., ; + ZOrderSet = 21 + *< END OBJECT: ClassLib="cmd_butoane.vcx" BaseClass="commandbutton" /> + + ADD OBJECT 'But_nou1' AS but_nou WITH ; + Anchor = 8, ; + Left = 900, ; + Name = "But_nou1", ; + TabIndex = 19, ; + Top = 82, ; + ZOrderSet = 22 + *< END OBJECT: ClassLib="cmd_butoane.vcx" BaseClass="commandbutton" /> + + ADD OBJECT 'But_renunt1' AS but_renunt WITH ; + Anchor = 9, ; + Left = 884, ; + Name = "But_renunt1", ; + TabIndex = 13, ; + Tag = "", ; + Top = 1, ; + ZOrderSet = 4 + *< END OBJECT: ClassLib="cmd_butoane.vcx" BaseClass="commandbutton" /> + + ADD OBJECT 'cbo_idGest_inProd' AS combobox WITH ; + Anchor = 9, ; + ColumnCount = 5, ; + ColumnLines = .F., ; + ColumnWidths = "200,40,25,15,100", ; + FontName = "Arial Narrow", ; + Height = 24, ; + Left = 783, ; + Name = "cbo_idGest_inProd", ; + RowSource = "crsGestiuni.nume_gestiune,cgest,cont,acont,nume_tip", ; + RowSourceType = 2, ; + Style = 2, ; + TabIndex = 10, ; + Top = 36, ; + Width = 147, ; + ZOrderSet = 10 + *< END OBJECT: BaseClass="combobox" /> + + ADD OBJECT 'cboListe' AS combobox WITH ; + Anchor = 3, ; + ColumnLines = .F., ; + Enabled = .F., ; + FontName = "Arial Narrow", ; + Format = "", ; + Height = 24, ; + Left = 363, ; + Name = "cboListe", ; + TabIndex = 5, ; + Top = 83, ; + Width = 235, ; + ZOrderSet = 9 + *< END OBJECT: BaseClass="combobox" /> + + ADD OBJECT 'Cmd_cauta1' AS cmd_cauta WITH ; + Anchor = 3, ; + Height = 27, ; + Left = 233, ; + Name = "Cmd_cauta1", ; + TabIndex = 4, ; + Top = 35, ; + Width = 49, ; + ZOrderSet = 12 + *< END OBJECT: ClassLib="cmd_butoane.vcx" BaseClass="commandbutton" /> + + ADD OBJECT 'grid_web' AS _grdrow WITH ; + Anchor = 7, ; + ColumnCount = 8, ; + DeleteMark = .F., ; + FontName = "Arial Narrow", ; + HeaderHeight = 38, ; + Height = 456, ; + HighlightStyle = 2, ; + Left = 9, ; + Name = "grid_web", ; + Panel = 1, ; + RecordSource = "cWeb_vanzari", ; + TabIndex = 6, ; + Top = 109, ; + Width = 591, ; + ZOrderSet = 20, ; + Column1.ColumnOrder = 2, ; + Column1.ControlSource = "codmat", ; + Column1.FontName = "Arial Narrow", ; + Column1.Name = "cCodmat", ; + Column1.ReadOnly = .T., ; + Column1.Width = 44, ; + Column2.ColumnOrder = 3, ; + Column2.ControlSource = "denumire", ; + Column2.FontName = "Arial Narrow", ; + Column2.Name = "cDenumire", ; + Column2.ReadOnly = .T., ; + Column2.Width = 156, ; + Column3.ColumnOrder = 5, ; + Column3.ControlSource = "cant_vand", ; + Column3.FontName = "Arial Narrow", ; + Column3.Format = "rk", ; + Column3.InputMask = (get_mask(7,gnPCant)), ; + Column3.Name = "cCant_vand", ; + Column3.ReadOnly = .T., ; + Column3.Width = 51, ; + Column4.ColumnOrder = 4, ; + Column4.ControlSource = "pretvtva", ; + Column4.FontName = "Arial Narrow", ; + Column4.Format = "rk", ; + Column4.InputMask = (get_mask(10,gnPPretV)), ; + Column4.Name = "cPretvtva", ; + Column4.ReadOnly = .T., ; + Column4.Width = 62, ; + Column5.ColumnOrder = 6, ; + Column5.ControlSource = "cant_produsa", ; + Column5.FontName = "Arial Narrow", ; + Column5.Format = "RK", ; + Column5.InputMask = (get_mask(7,gnPCant)), ; + Column5.Name = "cCant_produsa", ; + Column5.ReadOnly = .T., ; + Column5.Width = 66, ; + Column6.ColumnOrder = 7, ; + Column6.ControlSource = "cant_ramasa_de_scazut", ; + Column6.FontName = "Arial Narrow", ; + Column6.InputMask = (get_mask(7,gnPCant)), ; + Column6.Name = "cCant_ramasa", ; + Column6.ReadOnly = .T., ; + Column7.ColumnOrder = 1, ; + Column7.ControlSource = "nr_crt", ; + Column7.FontName = "Arial Narrow", ; + Column7.InputMask = "9999", ; + Column7.Name = "cNr_crt", ; + Column7.ReadOnly = .T., ; + Column7.Width = 36, ; + Column8.ControlSource = "cant_de_produs", ; + Column8.FontName = "Arial Narrow", ; + Column8.InputMask = (get_mask(10,gnPCant)), ; + Column8.Name = "cCant_de_produs" + *< END OBJECT: ClassLib="_grd_base.vcx" BaseClass="grid" /> + + ADD OBJECT 'grid_web.cCant_de_produs.Header1' AS header WITH ; + Alignment = 2, ; + Caption = "Cant. care se produce", ; + FontName = "Arial Narrow", ; + Name = "Header1", ; + WordWrap = .T. + *< END OBJECT: BaseClass="header" /> + + ADD OBJECT 'grid_web.cCant_de_produs.Text1' AS textbox WITH ; + BackColor = 255,255,255, ; + BorderStyle = 0, ; + FontName = "Arial Narrow", ; + ForeColor = 0,0,0, ; + Margin = 0, ; + Name = "Text1" + *< END OBJECT: BaseClass="textbox" /> + + ADD OBJECT 'grid_web.cCant_produsa.Header1' AS header WITH ; + Alignment = 2, ; + Caption = "Cant. produsa in perioada", ; + FontName = "Arial Narrow", ; + Name = "Header1", ; + WordWrap = .T. + *< END OBJECT: BaseClass="header" /> + + ADD OBJECT 'grid_web.cCant_produsa.Text1' AS textbox WITH ; + BackColor = 255,255,255, ; + BorderStyle = 0, ; + FontName = "Arial Narrow", ; + Margin = 0, ; + Name = "Text1", ; + ReadOnly = .T. + *< END OBJECT: BaseClass="textbox" /> + + ADD OBJECT 'grid_web.cCant_ramasa.Header1' AS header WITH ; + Alignment = 2, ; + Caption = "Cant. ramasa de scazut", ; + FontName = "Arial Narrow", ; + Name = "Header1", ; + WordWrap = .T. + *< END OBJECT: BaseClass="header" /> + + ADD OBJECT 'grid_web.cCant_ramasa.Text1' AS textbox WITH ; + BackColor = 255,255,255, ; + BorderStyle = 0, ; + FontName = "Arial Narrow", ; + Margin = 0, ; + Name = "Text1", ; + ReadOnly = .T. + *< END OBJECT: BaseClass="textbox" /> + + ADD OBJECT 'grid_web.cCant_vand.Header1' AS header WITH ; + Alignment = 2, ; + Caption = "Cant. vanduta", ; + FontName = "Arial Narrow", ; + Name = "Header1", ; + WordWrap = .T. + *< END OBJECT: BaseClass="header" /> + + ADD OBJECT 'grid_web.cCant_vand.Text1' AS textbox WITH ; + BackColor = 255,255,255, ; + BorderStyle = 0, ; + FontName = "Arial Narrow", ; + ForeColor = 0,0,0, ; + Margin = 0, ; + Name = "Text1", ; + ReadOnly = .T. + *< END OBJECT: BaseClass="textbox" /> + + ADD OBJECT 'grid_web.cCodmat.Header1' AS header WITH ; + Alignment = 2, ; + Caption = "Cod mat.", ; + FontName = "Arial Narrow", ; + Name = "Header1" + *< END OBJECT: BaseClass="header" /> + + ADD OBJECT 'grid_web.cCodmat.Text1' AS textbox WITH ; + BackColor = 255,255,255, ; + BorderStyle = 0, ; + FontName = "Arial Narrow", ; + ForeColor = 0,0,0, ; + Margin = 0, ; + Name = "Text1", ; + ReadOnly = .T. + *< END OBJECT: BaseClass="textbox" /> + + ADD OBJECT 'grid_web.cDenumire.Header1' AS header WITH ; + Alignment = 2, ; + Caption = "Denumire", ; + FontName = "Arial Narrow", ; + Name = "Header1" + *< END OBJECT: BaseClass="header" /> + + ADD OBJECT 'grid_web.cDenumire.Text1' AS textbox WITH ; + BackColor = 255,255,255, ; + BorderStyle = 0, ; + FontName = "Arial Narrow", ; + ForeColor = 0,0,0, ; + Margin = 0, ; + Name = "Text1", ; + ReadOnly = .T. + *< END OBJECT: BaseClass="textbox" /> + + ADD OBJECT 'grid_web.cNr_crt.Header1' AS header WITH ; + Alignment = 2, ; + Caption = "Nr.crt.", ; + FontName = "Arial Narrow", ; + Name = "Header1" + *< END OBJECT: BaseClass="header" /> + + ADD OBJECT 'grid_web.cNr_crt.Text1' AS textbox WITH ; + BackColor = 255,255,255, ; + BorderStyle = 0, ; + FontName = "Arial Narrow", ; + ForeColor = 0,0,0, ; + Margin = 0, ; + Name = "Text1", ; + ReadOnly = .T. + *< END OBJECT: BaseClass="textbox" /> + + ADD OBJECT 'grid_web.cPretvtva.Header1' AS header WITH ; + Alignment = 2, ; + Caption = "Pret de vanz. (cu TVA)", ; + FontName = "Arial Narrow", ; + Name = "Header1", ; + WordWrap = .T. + *< END OBJECT: BaseClass="header" /> + + ADD OBJECT 'grid_web.cPretvtva.Text1' AS textbox WITH ; + BackColor = 255,255,255, ; + BorderStyle = 0, ; + FontName = "Arial Narrow", ; + ForeColor = 0,0,0, ; + Margin = 0, ; + Name = "Text1", ; + ReadOnly = .T. + *< END OBJECT: BaseClass="textbox" /> + + ADD OBJECT 'grid_web_reteta' AS _grdrow WITH ; + Anchor = 11, ; + ColumnCount = 5, ; + DeleteMark = .F., ; + FontName = "Arial Narrow", ; + HeaderHeight = 38, ; + Height = 202, ; + HighlightStyle = 2, ; + Left = 613, ; + Name = "grid_web_reteta", ; + Panel = 1, ; + ReadOnly = .F., ; + RecordSource = "cReteta", ; + TabIndex = 6, ; + Top = 109, ; + Width = 311, ; + ZOrderSet = 23, ; + Column1.ControlSource = "den_material", ; + Column1.FontName = "Arial Narrow", ; + Column1.Name = "cDen_material", ; + Column1.ReadOnly = .T., ; + Column1.Width = 95, ; + Column2.ColumnOrder = 4, ; + Column2.ControlSource = "um", ; + Column2.FontName = "Arial Narrow", ; + Column2.Name = "cUM", ; + Column2.ReadOnly = .T., ; + Column2.Width = 29, ; + Column3.ColumnOrder = 2, ; + Column3.ControlSource = "cant_nec", ; + Column3.FontName = "Arial Narrow", ; + Column3.Format = "RK", ; + Column3.InputMask = (get_mask(7,gnPCant)), ; + Column3.Name = "cCant_nec", ; + Column3.ReadOnly = .T., ; + Column3.Width = 45, ; + Column4.ColumnOrder = 3, ; + Column4.ControlSource = "cant_in_stoc", ; + Column4.FontName = "Arial Narrow", ; + Column4.InputMask = (get_mask(7,gnPCant)), ; + Column4.Name = "cCant_in_stoc", ; + Column4.ReadOnly = .T., ; + Column4.Width = 44, ; + Column5.ControlSource = "cante", ; + Column5.FontName = "Arial Narrow", ; + Column5.InputMask = (get_mask(7,gnPCant)), ; + Column5.Name = "cCante", ; + Column5.ReadOnly = .F., ; + Column5.Width = 59 + *< END OBJECT: ClassLib="_grd_base.vcx" BaseClass="grid" /> + + ADD OBJECT 'grid_web_reteta.cCant_in_stoc.Header1' AS header WITH ; + Alignment = 2, ; + Caption = "Cantitate in stoc", ; + FontName = "Arial Narrow", ; + Name = "Header1", ; + WordWrap = .T. + *< END OBJECT: BaseClass="header" /> + + ADD OBJECT 'grid_web_reteta.cCant_in_stoc.Text1' AS textbox WITH ; + BackColor = 255,255,255, ; + BorderStyle = 0, ; + FontName = "Arial Narrow", ; + Margin = 0, ; + Name = "Text1", ; + ReadOnly = .T. + *< END OBJECT: BaseClass="textbox" /> + + ADD OBJECT 'grid_web_reteta.cCant_nec.Header1' AS header WITH ; + Alignment = 2, ; + Caption = "Cantitate necesara", ; + FontName = "Arial Narrow", ; + Name = "Header1", ; + WordWrap = .T. + *< END OBJECT: BaseClass="header" /> + + ADD OBJECT 'grid_web_reteta.cCant_nec.Text1' AS textbox WITH ; + BackColor = 255,255,255, ; + BorderStyle = 0, ; + FontName = "Arial Narrow", ; + Margin = 0, ; + Name = "Text1", ; + ReadOnly = .T. + *< END OBJECT: BaseClass="textbox" /> + + ADD OBJECT 'grid_web_reteta.cCante.Header1' AS header WITH ; + Alignment = 2, ; + Caption = "Cant. care se consuma", ; + FontName = "Arial Narrow", ; + Name = "Header1", ; + WordWrap = .T. + *< END OBJECT: BaseClass="header" /> + + ADD OBJECT 'grid_web_reteta.cCante.Text1' AS textbox WITH ; + BackColor = 255,255,255, ; + BorderStyle = 0, ; + FontName = "Arial Narrow", ; + ForeColor = 0,0,0, ; + Margin = 0, ; + Name = "Text1", ; + ReadOnly = .F. + *< END OBJECT: BaseClass="textbox" /> + + ADD OBJECT 'grid_web_reteta.cDen_material.Header1' AS header WITH ; + Alignment = 2, ; + Caption = "Denumire", ; + FontName = "Arial Narrow", ; + Name = "Header1" + *< END OBJECT: BaseClass="header" /> + + ADD OBJECT 'grid_web_reteta.cDen_material.Text1' AS textbox WITH ; + BackColor = 255,255,255, ; + BorderStyle = 0, ; + FontName = "Arial Narrow", ; + ForeColor = 0,0,0, ; + Margin = 0, ; + Name = "Text1", ; + ReadOnly = .T. + *< END OBJECT: BaseClass="textbox" /> + + ADD OBJECT 'grid_web_reteta.cUM.Header1' AS header WITH ; + Alignment = 2, ; + Caption = "UM", ; + FontName = "Arial Narrow", ; + Name = "Header1", ; + WordWrap = .T. + *< END OBJECT: BaseClass="header" /> + + ADD OBJECT 'grid_web_reteta.cUM.Text1' AS textbox WITH ; + BackColor = 255,255,255, ; + BorderStyle = 0, ; + FontName = "Arial Narrow", ; + ForeColor = 0,0,0, ; + Margin = 0, ; + Name = "Text1", ; + ReadOnly = .T. + *< END OBJECT: BaseClass="textbox" /> + + ADD OBJECT 'grid_web_retetar' AS _grdrow WITH ; + Anchor = 15, ; + ColumnCount = 5, ; + DeleteMark = .F., ; + FontName = "Arial Narrow", ; + HeaderHeight = 38, ; + Height = 221, ; + HighlightStyle = 2, ; + Left = 613, ; + Name = "grid_web_retetar", ; + Panel = 1, ; + ReadOnly = .T., ; + RecordSource = "cWeb_vanzari_retetar", ; + TabIndex = 8, ; + Top = 344, ; + Width = 311, ; + ZOrderSet = 14, ; + Column1.BackColor = 255,255,255, ; + Column1.ColumnOrder = 1, ; + Column1.ControlSource = "denumire", ; + Column1.FontName = "Arial Narrow", ; + Column1.Name = "cDenumire", ; + Column1.ReadOnly = .T., ; + Column1.Width = 95, ; + Column2.BackColor = 255,255,255, ; + Column2.ColumnOrder = 2, ; + Column2.ControlSource = "cant_nec", ; + Column2.FontName = "Arial Narrow", ; + Column2.Format = "rk", ; + Column2.InputMask = (get_mask(10,gnPCant)), ; + Column2.Name = "cCant_nec", ; + Column2.ReadOnly = .T., ; + Column2.Width = 45, ; + Column3.BackColor = 255,255,255, ; + Column3.ControlSource = "cant_in_stoc", ; + Column3.FontName = "Arial Narrow", ; + Column3.Format = "rk", ; + Column3.InputMask = (get_mask(10,gnPCant)), ; + Column3.Name = "cCant_in_stoc", ; + Column3.ReadOnly = .T., ; + Column3.Width = 44, ; + Column4.BackColor = 255,255,255, ; + Column4.ControlSource = "um", ; + Column4.FontName = "Arial Narrow", ; + Column4.Name = "cUM", ; + Column4.ReadOnly = .T., ; + Column4.Width = 29, ; + Column5.ControlSource = "cante", ; + Column5.FontName = "Arial Narrow", ; + Column5.Format = "rk", ; + Column5.InputMask = (get_mask(10,gnPCant)), ; + Column5.Name = "cCante", ; + Column5.ReadOnly = .T., ; + Column5.Width = 59 + *< END OBJECT: ClassLib="_grd_base.vcx" BaseClass="grid" /> + + ADD OBJECT 'grid_web_retetar.cCant_in_stoc.Header1' AS header WITH ; + Alignment = 2, ; + Caption = "Cantitate in stoc", ; + FontName = "Arial Narrow", ; + Name = "Header1", ; + WordWrap = .T. + *< END OBJECT: BaseClass="header" /> + + ADD OBJECT 'grid_web_retetar.cCant_in_stoc.Text1' AS textbox WITH ; + BackColor = 255,255,255, ; + BorderStyle = 0, ; + FontName = "Arial Narrow", ; + ForeColor = 0,0,0, ; + Margin = 0, ; + Name = "Text1", ; + ReadOnly = .T. + *< END OBJECT: BaseClass="textbox" /> + + ADD OBJECT 'grid_web_retetar.cCant_nec.Header1' AS header WITH ; + Alignment = 2, ; + Caption = "Cantitate necesara", ; + FontName = "Arial Narrow", ; + Name = "Header1", ; + WordWrap = .T. + *< END OBJECT: BaseClass="header" /> + + ADD OBJECT 'grid_web_retetar.cCant_nec.Text1' AS textbox WITH ; + BackColor = 255,255,255, ; + BorderStyle = 0, ; + FontName = "Arial Narrow", ; + ForeColor = 0,0,0, ; + Margin = 0, ; + Name = "Text1", ; + ReadOnly = .T. + *< END OBJECT: BaseClass="textbox" /> + + ADD OBJECT 'grid_web_retetar.cCante.Header1' AS header WITH ; + Alignment = 2, ; + Caption = "Cantitate care se scade", ; + FontName = "Arial Narrow", ; + Name = "Header1", ; + WordWrap = .T. + *< END OBJECT: BaseClass="header" /> + + ADD OBJECT 'grid_web_retetar.cCante.Text1' AS textbox WITH ; + BackColor = 255,255,255, ; + BorderStyle = 0, ; + FontName = "Arial Narrow", ; + ForeColor = 0,0,0, ; + Margin = 0, ; + Name = "Text1", ; + ReadOnly = .T. + *< END OBJECT: BaseClass="textbox" /> + + ADD OBJECT 'grid_web_retetar.cDenumire.Header1' AS header WITH ; + Alignment = 2, ; + Caption = "Denumire", ; + FontName = "Arial Narrow", ; + Name = "Header1" + *< END OBJECT: BaseClass="header" /> + + ADD OBJECT 'grid_web_retetar.cDenumire.Text1' AS textbox WITH ; + BackColor = 255,255,255, ; + BorderStyle = 0, ; + FontName = "Arial Narrow", ; + ForeColor = 0,0,0, ; + Margin = 0, ; + Name = "Text1", ; + ReadOnly = .T. + *< END OBJECT: BaseClass="textbox" /> + + ADD OBJECT 'grid_web_retetar.cUM.Header1' AS header WITH ; + Alignment = 2, ; + Caption = "UM", ; + FontName = "Arial Narrow", ; + Name = "Header1" + *< END OBJECT: BaseClass="header" /> + + ADD OBJECT 'grid_web_retetar.cUM.Text1' AS textbox WITH ; + BackColor = 255,255,255, ; + BorderStyle = 0, ; + FontName = "Arial Narrow", ; + ForeColor = 0,0,0, ; + Margin = 0, ; + Name = "Text1", ; + ReadOnly = .T. + *< END OBJECT: BaseClass="textbox" /> + + ADD OBJECT 'Label1' AS label WITH ; + Anchor = 3, ; + AutoSize = .T., ; + BackStyle = 0, ; + Caption = "Perioada", ; + FontName = "Arial Narrow", ; + Height = 18, ; + Left = 11, ; + Name = "Label1", ; + TabIndex = 20, ; + Top = 39, ; + Width = 39, ; + ZOrderSet = 6 + *< END OBJECT: BaseClass="label" /> + + ADD OBJECT 'Label2' AS label WITH ; + Anchor = 3, ; + AutoSize = .T., ; + BackStyle = 0, ; + Caption = "-", ; + Height = 17, ; + Left = 137, ; + Name = "Label2", ; + TabIndex = 21, ; + Top = 40, ; + Width = 6, ; + ZOrderSet = 13 + *< END OBJECT: BaseClass="label" /> + + ADD OBJECT 'Label3' AS label WITH ; + Anchor = 3, ; + AutoSize = .T., ; + BackStyle = 0, ; + Caption = "Lista de preturi", ; + FontName = "Arial Narrow", ; + Height = 18, ; + Left = 291, ; + Name = "Label3", ; + TabIndex = 22, ; + Top = 86, ; + Width = 62, ; + ZOrderSet = 18 + *< END OBJECT: BaseClass="label" /> + + ADD OBJECT 'Label5' AS label WITH ; + AutoSize = .T., ; + BackStyle = 0, ; + Caption = "Materii prime cumulate", ; + FontName = "Arial Narrow", ; + Height = 18, ; + Left = 615, ; + Name = "Label5", ; + TabIndex = 16, ; + Top = 325, ; + Width = 96, ; + ZOrderSet = 8 + *< END OBJECT: BaseClass="label" /> + + ADD OBJECT 'Label8' AS label WITH ; + Anchor = 9, ; + AutoSize = .T., ; + BackStyle = 0, ; + Caption = "Gestiunea in care intra produsele", ; + FontName = "Arial Narrow", ; + Height = 18, ; + Left = 644, ; + Name = "Label8", ; + TabIndex = 24, ; + Top = 39, ; + Width = 138, ; + ZOrderSet = 17 + *< END OBJECT: BaseClass="label" /> + + ADD OBJECT 'Label9' AS label WITH ; + Anchor = 3, ; + AutoSize = .T., ; + BackStyle = 0, ; + Caption = "Vanzari din gestiunea de marfuri aleasa", ; + FontName = "Arial Narrow", ; + Height = 18, ; + Left = 12, ; + Name = "Label9", ; + TabIndex = 17, ; + Top = 86, ; + Width = 165, ; + ZOrderSet = 19 + *< END OBJECT: BaseClass="label" /> + + ADD OBJECT 'lb_materiiPrime' AS label WITH ; + AutoSize = .T., ; + BackStyle = 0, ; + Caption = "Materii prime", ; + FontName = "Arial Narrow", ; + Height = 18, ; + Left = 615, ; + Name = "lb_materiiPrime", ; + TabIndex = 15, ; + Top = 86, ; + Width = 56, ; + ZOrderSet = 7 + *< END OBJECT: BaseClass="label" /> + + ADD OBJECT 'txtDataF' AS textbox WITH ; + Anchor = 3, ; + ControlSource = "pdDataF", ; + FontName = "Arial Narrow", ; + Format = "K", ; + Height = 23, ; + Left = 144, ; + Name = "txtDataF", ; + TabIndex = 2, ; + Top = 37, ; + Width = 81, ; + ZOrderSet = 16 + *< END OBJECT: BaseClass="textbox" /> + + ADD OBJECT 'txtDataI' AS textbox WITH ; + Anchor = 3, ; + ControlSource = "pdDataI", ; + FontName = "Arial Narrow", ; + Format = "K", ; + Height = 23, ; + Left = 53, ; + Name = "txtDataI", ; + TabIndex = 1, ; + Top = 37, ; + Width = 81, ; + ZOrderSet = 15 + *< END OBJECT: BaseClass="textbox" /> + + PROCEDURE actualizeaza_grid1 + Local lcCursorTemp + save_grid_tag(Thisform.grid_web_reteta) + save_grid_tag(Thisform.grid_web) + lcSel = [{call pack_grestaurant.vanzari_stoc(?pnIdGest_InMarf,] + ; + [?pdDataI,?pdDataF,?gnAn,?gnLuna,?gnIdSucursala)}] + lnSucces = goExecutor.oExecute(lcSel, Thisform.cCrsVanzari) + If lnSucces < 0 + amessage(goExecutor.cEroare,0+16,"Eroare") + Return + Endif + restore_grid_tag(Thisform.grid_web) + + lcCursorTemp = 'crsTempRet' + If Used(lcCursorTemp) + Use In (lcCursorTemp) + Endif + lcSel = [{call pack_grestaurant.vanzari_retetar(?poAct.id_gestiune,?pnIdGest_InMarf,] + ; + [?pdDataI,?pdDataF,?gnAn,?gnLuna,?gnIdUtil,?gnIdSucursala)}] + lnSucces = goExecutor.oExecute(lcSel, lcCursorTemp) + If lnSucces < 0 + amessage(goExecutor.cEroare,0+16,"Eroare") + Return + Endif + copiaza_structura_cursor(lcCursorTemp,Thisform.cCrsRetete) + If Reccount(lcCursorTemp) > 0 + Select (Thisform.cCrsRetete) + Append From Dbf(lcCursorTemp) + Endif + If Used(lcCursorTemp) + Use In (lcCursorTemp) + Endif + restore_grid_tag(Thisform.grid_web_reteta) + + Thisform.actualizeaza_grid2() + Thisform.grid_web.Refresh() + Thisform.grid_web.SetFocus() + ENDPROC + + PROCEDURE actualizeaza_grid2 + Lparameters tlModificare + Local lcCursor,lnIdArticol,lnCantitate,lcDenumire,lcFiltru,lnIdArticol + If Reccount(Thisform.cCrsRetete) >0 + *!* save_grid_tag(Thisform.grid_web_reteta) + Select (Thisform.cCrsVanzari) + lnIdArticol = id_articol + lcFiltru = [id_produs = ] + Alltrim(Str(id_articol)) + lcDenumire = Alltrim(denumire) + *!* If cant_ramasa_de_scazut <> cant_de_produs + If tlModificare + lnCantitate = cant_de_produs + Update (Thisform.cCrsRetete) Set cant_nec = cant_mat * lnCantitate, cante = Min(cant_mat * lnCantitate,cant_in_stoc) ; + Where id_produs = lnIdArticol + + Thisform.actualizeaza_nec_cum() + Endif + *!* restore_grid_tag(Thisform.grid_web_reteta) + Thisform.lb_materiiPrime.Caption = "Materii prime pt.: " + Nvl(lcDenumire,'') + Select (Thisform.cCrsRetete) + Set Filter To &lcFiltru + Go Top + Thisform.grid_web_reteta.Refresh() + Endif + Thisform.actualizeaza_grid3() + Release lcCursor,lnIdArticol,lnCantitate,lcDenumire,lcFiltru,lnIdArticol + + ENDPROC + + PROCEDURE actualizeaza_grid3 + Local lcCursor,lcCursorReteta + lcCursor = Thisform.grid_web_retetar.RecordSource + save_grid_tag(Thisform.grid_web_retetar) + Select id_material, den_material as denumire, ; + SUM(cant_nec) As cant_nec, ; + CAST(Sum(cante) As N(10,gnPCant)) As cante, ; + cant_in_stoc, um, ; + MIN(adaugat) as adaugat ; + FROM (Thisform.cCrsRetete) ; + WITH (Buffering = .T.) ; + Group By id_material, den_material, cant_in_stoc, um, adaugat ; + ORDER By den_material ; + INTO Cursor (lcCursor) + restore_grid_tag(Thisform.grid_web_retetar) + Thisform.grid_web_retetar.Refresh() + ENDPROC + + PROCEDURE actualizeaza_nec_cum + LOCAL lcCursorTemp,lnIdArticol,lnCantitate + lcCursorTemp = [crsTempCumRet] + If Used(lcCursorTemp) + Use In (lcCursorTemp) + Endif + Select id_material,Sum(cante) As cantnec From (Thisform.cCrsRetete) Group By id_material Into Cursor (lcCursorTemp) + Scan + lnCantitate = cantnec + lnIdArticol = id_material + Update (Thisform.cCrsRetete) Set cant_nec_cum = lnCantitate Where id_material = lnIdArticol + Select (lcCursorTemp) + Endscan + If Used(lcCursorTemp) + Use In (lcCursorTemp) + Endif + ENDPROC + + PROCEDURE actualizeaza_politici_preturi + Lparameters tnTip + If tnTip = 0 + Thisform.cboListe.ColumnCount = 0 + Thisform.cboListe.ColumnWidths = [] + Thisform.cboListe.RowSource = [] + Thisform.cboListe.RowSourceType = 0 + Thisform.cboListe.Style = 0 + Thisform.cboListe.Enabled = .F. + If Used('cListePreturi') + Use In cListePreturi + Endif + Else + If Used('cListePreturi') + Use In cListePreturi + Endif + Create Cursor cListePreturi(nume_lista_preturi C(200),id_pol N(10)) + Insert Into cListePreturi(nume_lista_preturi,id_pol) Values('',-9999) + Insert Into cListePreturi(nume_lista_preturi,id_pol) Select Distinct Substr(nume_lista_preturi,1,200),id_pol From cweb_vanzari Order By 1 + + If Reccount('cListePreturi') > 2 + Select cListePreturi + Go Top + Thisform.cboListe.ColumnCount = 2 + Thisform.cboListe.ColumnWidths = [200,0] + Thisform.cboListe.RowSource = [cListePreturi.nume_lista_preturi,id_pol] + Thisform.cboListe.RowSourceType = 2 + Thisform.cboListe.Style = 2 + Thisform.cboListe.Enabled = .T. + Thisform.cboListe.Value = cListePreturi.nume_lista_preturi + Endif + Endif + ENDPROC + + PROCEDURE assign_analitic + PARAMETERS tcCont,pcAct,pcRul + + PRIVATE pcCont,pcAct,pcRul,pParamP,pParamS + STORE 0 TO pParamP,pParamS + lcAnalitic = '' + lcAlias = ALIAS() + + pcCont = ALLTRIM(tcCont) + + lcSel = [SELECT * from ] + gcs + [.config_analitice WHERE cont = ?pcCont] + lcCursor = 'crs_cfg_ana' + lnSucces = goExecutor.oExecute(lcSel,lcCursor) + IF lnSucces < 0 + amessagebox(goExecutor.cEroare,0+16,"Eroare") + ENDIF + + IF lnSucces > 0 + IF RECCOUNT('crs_cfg_ana')=0 + USE IN crs_cfg_ana + lnSucces = -1 + ENDIF + ENDIF + + IF lnSucces > 0 + SELECT crs_cfg_ana + SCATTER NAME ocfg + lcCampPrefix = NVL(ALLTRIM(ocfg.camp_leg_prefix),'') + lcCampSufix = NVL(ALLTRIM(ocfg.camp_leg_sufix),'') + + IF !EMPTY(lcCampPrefix) + IF TYPE('&pcRul..'+lcCampPrefix) # 'U' + pParamP = &pcRul..&lcCampPrefix + ELSE + IF TYPE('&pcAct..'+lcCampPrefix) # 'U' + pParamP = &pcAct..&lcCampPrefix + ENDIF + ENDIF + ENDIF + + IF !EMPTY(lcCampSufix) + IF TYPE('&pcRul..'+lcCampSufix) # 'U' + pParamS = &pcRul..&lcCampSufix + ELSE + IF TYPE('&pcAct..'+lcCampSufix) # 'U' + pParamS = &pcAct..&lcCampSufix + ENDIF + ENDIF + ENDIF + + lcSel = [{call fconturi_analitice(?gcs,?pcCont,0,?pParamP,?pParamS)}] + lcCursor = 'crs_analitice' + lnSucces = goExecutor.oExecute(lcSel,lcCursor) + + IF lnSucces < 0 + amessagebox(goExecutor.cEroare,0+16,"Eroare") + ENDIF + ENDIF + + && iau Primul Simbol Analitic din Tabel - ordonat pt ca e selectat cu Distinct + IF lnSucces > 0 + SELECT crs_analitice + GO top + lcAnalitic = ALLTRIM(acont) + ENDIF + + && verificare analiticului cu Planul de Conturi + IF lnSucces > 0 + lcSel = [SELECT cont,acont from ] + gcs + [.vplcont_analitic WHERE cont = ?pcCont and acont = ?lcAnalitic and an = ?gnAn ] + lcCursor = 'crs_verific' + lnSucces = goExecutor.oExecute(lcSel,lcCursor) + IF lnSucces < 0 + amessagebox(goExecutor.cEroare,0+16,"Eroare") + ENDIF + ENDIF + + IF lnSucces > 0 + IF RECCOUNT('crs_verific')=0 + lnSucces = -1 + ENDIF + ENDIF + + IF USED('crs_cfg_ana') + USE IN crs_cfg_ana + ENDIF + IF USED('crs_verific') + USE IN crs_verific + ENDIF + IF USED('crs_analitice') + USE IN crs_analitice + ENDIF + IF USED('crs_verific') + USE IN crs_verific + ENDIF + + IF lnSucces < 0 + lcAnalitic = '' + ENDIF + + SELECT (lcAlias) + RETURN lcAnalitic + + ENDPROC + + PROCEDURE completeaza_actactan + Local lcSelRul, lcContTr, lcAcontTr, lcRul, lcSql, lcCursor, lnSucces, lcCant + Store '' To lcContTr, lcAcontTr + + llSucces = This.completeaza_rultemp() + If !llSucces + Return .F. + Endif + + Local lnRecno + lnRecno = 0 + + *** completez tabela ACTACTAN + If Type('oitem') = 'O' + If Pemstatus(oitem,'adunadate',5) + oitem.adunadate() + Endif + ENDIF + + && NOTE + Select * From XNOTE Where id_set = oset.id_set Into Cursor crsNota + + lcField = '' + Select xact + Go Top + + For i = 1 To Fcount() + If Upper(Alltrim(Evaluate(Field(i)))) = 'SUMA' + lcField = Field(i) + Exit + Endif + Endfor + + If Empty(lcField) + Return .T. + Endif + + Private pnBazaBon,pnBazaNir,pnTvaVanzIn,pnAdaosVanzIn,pnBazaVanz + Store 0 To pnBazaBon,pnBazaNir,pnTvaVanzIn,pnAdaosVanzIn,pnBazaVanz + + Select cweb_vanzari + Calculate Sum(Round(pret*cant_de_produs,gnPc)),Sum(Round(tvav*cant_de_produs,gnPc)),; + Sum(Round(pretftva*cant_de_produs,gnPc)) ; + TO pnBazaNir,pnTvaVanzIn,pnBazaVanz + + Select rul_temp + Calculate Sum(Round(Pret*cante, gnPC)) To pnBazaBon For Cont = '301' + + pnAdaosVanzIn = pnBazaVanz - pnBazaNir + + Select actactan + Scatter Name loActactan + Replace suma With pnBazaBon FOR scd = '601' AND scc = '301' + Replace suma WITH pnBazaNir,id_gestin With pnIdGest_InProd For scd = '345' And scc = '711' + Replace suma WITH pnBazaNir,id_gestin With pnIdGest_InMarf, id_gestout With pnIdGest_InProd For scd = '371' And scc = '345' + If Thisform.ntipgest = 6 + Replace suma With pnAdaosVanzIn, id_gestin With pnIdGest_InMarf, id_gestout With pnIdGest_InMarf For scd = '371' And scc = '378' + Replace suma With pnTvaVanzIn,id_gestin With pnIdGest_InMarf,id_gestout With pnIdGest_InMarf For scd = '371' And scc = '4428' + Endif + + Select Distinct acont From rul_temp Where Cont = '301' Into Cursor cAcont301 + Select cAcont301 + Scan + lnValAchizitie = 0 + lcAcont = NVL(acont,'') + Select rul_temp + Calculate Sum(Round(Pret*cante, gnPC)) To lnValAchizitie For Cont = '301' And NVL(acont,'') = lcAcont + Select actactan + Locate For scc = '301' And Empty(NVL(ascc,'')) + If Found() + Replace suma With lnValAchizitie, ascc With lcAcont + Else + Select actactan + Locate For scc = '301' + Scatter Name lo301 + Append Blank + Gather Name lo301 + Replace suma With lnValAchizitie, ascc With lcAcont + Endif + Select cAcont301 + Endscan + + Select rul_temp + Replace All dataact With loActactan.dataact, ; + nnir With loActactan.nnir, ; + id_sectie With loActactan.id_sectie, ; + id_responsabil With loActactan.id_responsabil, ; + id_lucrare With loActactan.id_lucrare + If Used('crsNota') + Use In crsNota + Endif + + && ordonez notele contabile in ACTACTAN + Select actactan + Sum suma To lnSume + + If lnSume <> 0 + lcCondDele = [!(suma = 0 and !(((left(scd,1) = '3' and left(scc,2) = '40') OR (left(scd,2) = '41' and left(scc,1) = '7')) AND proc_tva # 1))] + Else + lcCondDele = [suma = 0 AND nr_nota = 1 ] + Endif + + Select * From actactan Into Cursor crsActActan Where &lcCondDele Or Inlist(id_set, 89, 210, 211, 212) Order By nr_nota NOFILTER Readwrite + + Select actactan + Delete From actactan + Append From Dbf('crsactactan') + If Used('crsactactan') + Use In crsActActan + Endif + + && completare analitice + Select actactan + Scan For Empty(Nvl(ascd,'')) + Scatter Name loActactan + If Type('loActactan.cont') = 'U' + x = AddProperty(loActactan,'cont',loActactan.scd) + Endif + If oset.model = 2 And Type('loActactan.id_gestiune') = 'U' && NIR + x = AddProperty(loActactan,'id_gestiune',loActactan.id_gestin) + Endif + If Inlist(oset.model, 3, 4) And Type('loActactan.id_gestiune') = 'U' && BON, RETUR + x = AddProperty(loActactan,'id_gestiune',loActactan.id_gestout) + Endif + loActactan.ascd = This.assign_analitic(loActactan.scd,This.cobj,'loActactan') + Replace ascd With loActactan.ascd + Select actactan + Endscan + + Select actactan + Scan For Empty(Nvl(ascc,'')) + Scatter Name loActactan + If Type('loActactan.cont') = 'U' + x = AddProperty(loActactan,'cont',loActactan.scc) + Endif + If oset.model = 2 And Type('loActactan.id_gestiune') = 'U' && NIR + x = AddProperty(loActactan,'id_gestiune',loActactan.id_gestin) + Endif + If Inlist(oset.model, 3, 4) And Type('loActactan.id_gestiune') = 'U' && BON, RETUR + x = AddProperty(loActactan,'id_gestiune',loActactan.id_gestout) + Endif + loActactan.ascc = This.assign_analitic(loActactan.scc,This.cobj,'loActactan') + Replace ascc With loActactan.ascc + Select actactan + Endscan + + Select actactan + Locate For scd = '371' And scc = '345' + If Found() + lcAscd = ascd + Select rul_temp + Replace All acont With lcAscd For Cont = '371' And cante <> 0 And cant = 0 + Endif + + If Thisform.ntipgest = 6 + Select actactan + Locate For scd = '371' And scc = '378' + If Found() + lcAscd = ascd + Select rul_temp + Replace All acont With lcAscd For Cont = '371' And cante = 0 And cant <> 0 + Select actactan + Replace id_gestout With 0 For scd = '371' And scc = '378' + Endif + Endif + + *!* Select actactan + *!* Replace id_gestin With pnIdGest_InMarf, id_gestout With pnIdGest_InProd For scd = '371' And scc = '345' + + If Type('loActactan') = 'O' + Release loActactan + Endif + + Select actactan + Go Top + + Return .T. + + ENDPROC + + PROCEDURE completeaza_rultemp + && completez RUL_TEMP + lcProduse = This.grid_web.RecordSource + lcMateriale = This.grid_web_retetar.RecordSource + + If Used('rul_temp') + Use In rul_temp + Endif + + * lcRul = ALLTRIM(THIS.osel_dr.cfrom) + lcSql = [select v.*, v.id_gestiune as id_gestin, v.nume_gestiune as gestin, v.id_gestiune as id_gestout,] + ; + [v.nume_gestiune as gestout, 0 as nuInConturiX from ] + gcS + [.vrul v where 1=2] + lcCursor = [rul_temp] + lnSucces = goExecutor.oExecute(lcSql,lcCursor) + If lnSucces < 0 + AMESSAGEBOX(goExecutor.cEroare,0+16, 'Eroare') + Endif + + If Used("crsStocActual1") + Use In crsStocActual1 + Endif + + lcSql = [select id_articol, id_gestiune, pret, tva, proc_tvav, cont, acont, SUM(cants + cant - cante) as stoc ] + ; + [from stoc where an = ] + Transform(gnAn) + [ and luna = ] + Transform(gnLuna) + ; + [ and id_gestiune in (] + Transform(poAct.id_gestiune)+ [) and NVL(id_rul_aux,0) = 0 ] + gcCondSucursala + ; + [ group by id_articol, id_gestiune, pret, tva, proc_tvav, cont, acont order by pret] + lcCursor = [crsStocActual1] + lnSucces = goExecutor.oExecute(lcSql,lcCursor) + If lnSucces < 0 + AMESSAGEBOX(goExecutor.cEroare,0+16, 'Eroare') + Endif + + If Used("crsStocActual") + Use In crsStocActual + Endif + + Select * From crsStocActual1 ; + WITH (Buffering = .T.) ; + INTO Cursor crsStocActual ; + READWRITE + + Select * From crsStocActual1 ; + WITH (Buffering = .T.) ; + INTO Cursor crsStocActual_2 ; + READWRITE + + If Used("crsStocActual1") + Use In crsStocActual1 + Endif + + If Used("crsMateriale") + Use In crsMateriale + Endif + *!* SELECT id_material AS id_articol, IIF(cant_nec < cant_in_stoc, cant_nec, cant_in_stoc) AS cante ; + *!* FROM (lcMateriale) ; + *!* WITH (buffering = .t.) ; + *!* INTO CURSOR crsMateriale ; + *!* READWRITE + + Select id_material As id_articol, cante ; + FROM (lcMateriale) ; + WITH (Buffering = .T.) ; + where cante > 0 ; + INTO Cursor crsMateriale ; + READWRITE + + Select crsMateriale + Scan + lnCantRamas = cante + lnIdArticol = id_articol + lnCantInit = cante + *!* lcMaterial = ALLTRIM(denumire) + Select crsStocActual + Locate For id_articol = lnIdArticol And stoc > 0 + Do While Found() And lnCantRamas > 0 + lcCont = Cont + lcAcont = Nvl(acont,'') + + lnCante = Min(lnCantRamas, stoc) + lnCantRamas = lnCantRamas - lnCante + lnPret = Pret + lnIdGestiune = id_gestiune + + *!* INSERT INTO test (material, id_mat, cant_nec, cante, cantramas, stoc, pret) VALUES (lcMaterial, lnIdArticol, lnCantInit, lnCante, lnCantRamas, crsStocActual.stoc, lnPret) + Replace stoc With stoc - lnCante + + If Left(lcCont,3) <> '371' + Select rul_temp + Scatter Name loRul Blank + With loRul + .id_articol = lnIdArticol + *.id_gestout = lnIdGestiune + .id_gestiune = lnIdGestiune + .cante = lnCante + .Pret = Round(lnPret, gnPpret) + .Cont = lcCont + .acont = lcAcont + Endwith + Select rul_temp + Append Blank + Gather Name loRul + Endif + + Select crsStocActual + Locate For id_articol = lnIdArticol And stoc > 0 And lnCantRamas > 0 + Enddo + Select crsMateriale + Endscan + + If Used("crsMateriale") + Use In crsMateriale + Endif + + ********************************************************************** + * 345 = 711 - intrare produs la pret de achizitie materiale componente + * nuProdus ex.: chifle, banane - pe care le cumpara direct ca marfa, si nu devin produse + ********************************************************************** + Select id_articol, cant_de_produs As cant, Pret, tvav, pretftva, proc_tvav, ; + 0 As nuProdus ; + FROM (lcProduse) ; + WITH (Buffering = .T.) ; + WHERE cant_de_produs > 0 ; + INTO Cursor crsProduseIesiri ; + READWRITE + + Select crsProduseIesiri + Scan + Scatter Name loProdus + lnIdArticol = id_articol + *!* lnPretvtva = pretvtva + lnCant = cant + Select * From (Thisform.cCrsRetete) ; + WHERE id_produs = lnIdArticol ; && And pretvtva = lnPretvtva + Into Cursor cCalcReteta + + lnPretCalc = 0 + lnComponente = 0 + lnComponenteGasite = 0 + Select cCalcReteta + Scan + lnComponente = lnComponente + 1 + lnCantRamas = cante + lnId_material = id_material + lnCantInit = cante + Select crsStocActual_2 + Locate For id_articol = lnId_material And stoc > 0 + Do While Found() And lnCantRamas > 0 + If Left(Cont,3) = '371' + lnComponenteGasite = lnComponenteGasite + 1 + Endif + lnCante = Min(lnCantRamas, stoc) + lnCantRamas = lnCantRamas - lnCante + lnPret = Pret + Replace stoc With stoc - lnCante + + lnPretCalc = Round(lnPretCalc + Round(lnCante * lnPret, gnPpret), gnPpret) + *!* Select crsStocActual_2 + *!* Locate For id_articol = lnId_material And stoc > 0 And lnCantRamas > 0 + Continue + Enddo + + Select cCalcReteta + Endscan + + If Used("cCalcReteta") + Use In cCalcReteta + Endif + + If lnComponenteGasite < lnComponente + && daca toate componentele sunt in stoc pe contul 371, nu mai scriu in rul_temp + Select rul_temp + Append Blank + Gather Name loProdus FIELDS LIKE id_articol,cant,pret + *!* Replace Pret With Round(lnPretCalc/lnCant, gnPpret), Cont With '345', id_gestiune With pnIdGest_InProd + Replace Cont With '345', id_gestiune With pnIdGest_InProd + Else + Select crsProduseIesiri + Replace nuProdus With 1 + Endif + + *!* Select crsProduseIesiri + *!* Replace Pret With Round(lnPretCalc/lnCant, gnPpret) + + Select crsProduseIesiri + Endscan + + ********************************************************************** + * 371 = 345 - iesire produs + ********************************************************************** + Select crsProduseIesiri + Scan For nuProdus = 0 + Scatter Name loProdus + + Select rul_temp + Append Blank + Gather Name loProdus FIELDS LIKE id_articol, pret + Replace cante With Round(loProdus.cant,gnPCant), ; + CONT With '345', ; + id_gestiune With pnIdGest_InProd + + Select rul_temp + Append Blank + Gather Name loProdus Fields Like id_articol, cant, Pret + Replace Cont With '371', ; + id_gestiune With pnIdGest_InMarf + If Thisform.ntipgest = 6 + Replace pretv With loProdus.pretftva, ; + proc_tvav WITH loProdus.proc_tvav,; + adaos With loProdus.pretftva - loProdus.pret, ; + adaos_tva With Round(Round(loProdus.pretftva-loProdus.Pret,max(gnPpret,gnPPretV))*Iif(proc_tvav <> 0, proc_tvav-1,0),max(gnPpret,gnPPretV)), ; + tvav With tvav + Endif + Select crsStocActual + Endscan + + If Used("crsStocActual") + Use In crsStocActual + Endif + If Used("crsStocActual1") + Use In crsStocActual1 + Endif + If Used("crsProduseIesiri") + Use In crsProduseIesiri + Endif + ENDPROC + + PROCEDURE Destroy + If Used('cListePreturi') + Use In cListePreturi + Endif + + If Used(Thisform.cCrsVanzari) + Use In (Thisform.cCrsVanzari) + Endif + + If Used("cWeb_vanzari_retetar") + Use In cWeb_vanzari_retetar + Endif + + If Used(Thisform.cCrsRetete) + Use In (Thisform.cCrsRetete) + Endif + + ENDPROC + + PROCEDURE do_adauga + Local lnId_Produs,lnCantitate,loas,lnAdaugat + loas = Createobject("frm_alege_din_stoc") + loas.lb_titlu_alb_b121.Caption = "STOC" + Select xsets + Locate For id_set = 106 && tnIdSet + Scatter Name oSet + *!* modificare JC/JV 2007 + If gnNeplatitoare_tva = 1 + oSet.id_jtax = oSet.id_jtaxn + oSet.id_jnetax = oSet.id_jtaxn + Endif + *!* modificare JC/JV 2007 ^ + lFactura = oSet.factura + lAdaos = oSet.adaos + lDiscount = oSet.discount + lcTipFrm = Upper(oSet.explicatia) + llGestout = .F. + + Select selectii + Locate For id_sel = oSet.id_selSt + If Found() + Scatter Name ost Memo + Else + amessagebox('NECONFIGURAT!',48,'Atentie!') + Return 2 && renunt + Endif + + lcSelSt = Alltrim(ost.cselect) + [ from ] + gcs + [.] + Alltrim(ost.cfrom) + [ where ] + Alltrim(ost.filtru) + lcSchemaSt = Alltrim(ost.cschema) + + With loas.ct_grid_search1 + .cselect = lcSelSt + .cschema = lcSchemaSt + .cTitlu_coloane = Alltrim(ost.titlu_col) + .cNume_coloane = Alltrim(ost.nume_col) + .cMask = Alltrim(ost.mask_col) + .cFiltruOriginal = Strtran(Alltrim(Evaluate(ost.filtruorig)),[<>],[>]) + [ and id_gestiune = ?poAct.id_gestiune ] + .cFiltru = Alltrim(ost.filtru) + .cOrder = Alltrim(ost.ordine) + .cTitlu = Alltrim(ost.titlu_grid) + .cb_tx_gestout.Visible = llGestout + .but_nou1.Visible = llAdMod + * .but_modifica1.VISIBLE = llAdMod + Endwith + loas.Show(1) + + If buton = 2 + Return + Endif + + Select cursor_curent1 + If Reccount() > 0 + Scatter Name loArticol + Select (Thisform.cCrsRetete) + lnId_Produs = id_produs + Locate For id_material = loArticol.id_articol + If !Found() + lnAdaugat = 1 + Append Blank + Replace id_produs With lnId_Produs, ; + id_material With loArticol.id_articol, ; + den_material With loArticol.denumire, ; + cant_nec With 0, ; + cant_in_stoc With loArticol.cantitate, ; + um With loArticol.um, ; + adaugat With lnAdaugat + Select (Thisform.grid_web_retetar.RecordSource) + Locate For id_material = loArticol.id_articol + If Found() + lnCantitate = cant_nec + Else + lnCantitate = 0 + Endif + Select (Thisform.cCrsRetete) + Replace cant_nec_cum With lnCantitate + Else + lnAdaugat = 0 + Endif + Thisform.actualizeaza_grid3() + Select (Thisform.grid_web_retetar.RecordSource) + Locate For id_material = loArticol.id_articol And adaugat = lnAdaugat + Thisform.grid_web_retetar.Refresh() + Thisform.grid_web_reteta.Refresh() + Thisform.grid_web_reteta.cCante.SetFocus() + Endif + ENDPROC + + PROCEDURE do_cauta + Do Case + Case Empty(gcGestPermis) + AMESSAGEBOX("Nu aveti drepturi de acces pe nici o gestiune!",0+48,"Atentie") + Return + Case Empty(pdDataI) + AMESSAGEBOX("Completati data initiala !",0+48,"Atentie") + Thisform.txtDataI.SetFocus() + Return + Case Empty(pdDataF) + AMESSAGEBOX("Completati data finala !",0+48,"Atentie") + Thisform.txtDataF.SetFocus() + Return + *!* CASE pdDataI < DATE(gnAn,gnLuna,1) + *!* amessagebox("Data initiala trebuie sa fie din luna curenta!",0+48,"Atentie") + *!* Thisform.txtDataI.SetFocus() + *!* RETURN + *!* CASE pdDataF >= GOMONTH(DATE(gnAn,gnLuna,1),1) + *!* amessagebox("Data finala trebuie sa fie din luna curenta!",0+48,"Atentie") + *!* Thisform.txtDataF.SetFocus() + *!* RETURN + Otherwise + pcPerioada = Dtoc(pdDataI) + " - " + Dtoc(pdDataF) + Endcase + + Thisform.actualizeaza_politici_preturi(0) + Thisform.actualizeaza_grid1() + IF RECCOUNT(Thisform.cCrsVanzari) > 0 + Update (Thisform.cCrsVanzari) Set nuInRetetar = 1 Where id_articol Not In (Select Distinct id_produs From (Thisform.cCrsRetete)) + Select (Thisform.cCrsVanzari) + Locate For nuInRetetar = 1 + If Found() + AMESSAGEBOX("Exista produse care nu au definita fisa tehnologica!",0+48,"Definiti fisa tehnologica!") + ELSE + GO top + Endif + + Thisform.actualizeaza_politici_preturi(1) + *!* Thisform.grid_web.AfterRowColChange() + ELSE + amessagebox("Nu exista rezultate pentru perioada selectata!",48,"Atentie") + Thisform.txtDataI.SetFocus() + ENDIF + ENDPROC + + PROCEDURE do_excel + DO export_excel_grid WITH this.grid_web_retetar, 'denumire', "cant_nec > cant_in_stoc" IN proceduri_excel.prg + ENDPROC + + PROCEDURE do_termin + IF this.inainte_de_do_termin() + gnButon = 1 + pnButon = 1 + Buton = 1 + pnIesire = 1 + *this.Hide + SELECT actactan + llVerificare = verificare_note_contabile('actactan', .T.,.T., .F.) + If !llVerificare + This.AlwaysOnTop = .F. + Do Form verificare With .T.,.T.,3 && cu buton de precedent + This.AlwaysOnTop = .T. + Endif + + DO CASE + CASE gnButon = 3 + *onirbon.visible = .t. + * DO nrord WITH lcSelRul + OTHERWISE + this.Release + ENDCASE + ENDIF + ENDPROC + + PROCEDURE inainte_de_do_listare + Thisform.AlwaysOnTop = .F. + + Select * From (Thisform.grid_web_retetar.RecordSource) Where cant_nec > cant_in_stoc Into Cursor cList + goExport.export2frx([cList],[rap_descarcare_retetar]) + If Used("cList") + Use In cList + Endif + + Thisform.AlwaysOnTop = .T. + ENDPROC + + PROCEDURE inainte_de_do_termin + Local llReturn + llReturn = .F. + Do Case + Case Empty(gcGestPermis) + AMESSAGEBOX("Nu aveti drepturi de acces pe nici o gestiune!",0+48,"Atentie") + Case !Used("cWeb_Vanzari") + AMESSAGEBOX("Nu exista inregistrari!",0+48,"Atentie") + Case Empty(pnIdGest_InProd) + AMESSAGEBOX("Nu ati completat gestiunea in care intra produsele!",0+48,"Atentie") + Thisform.cbo_idGest_inProd.SetFocus() + Otherwise + Select (Thisform.grid_web.RecordSource) + Locate For cant_de_produs > 0 + If !Found() + AMESSAGEBOX("Nu ati completat cantitatile!",48,"Atentie") + Thisform.grid_web.SetFocus() + Else + Locate For nuInRetetar = 1 And cant_de_produs > 0 + If Found() + AMESSAGEBOX("Exista produse care nu au definita fisa tehnologica!",0+48,"Atentie") + Thisform.grid_web.SetFocus() + Else + Select (Thisform.grid_web_retetar.RecordSource) + Locate For cante > cant_in_stoc + If Found() + AMESSAGEBOX("Exista materii prime pentru care cantitatea care se scade depaseste cantitatea din stoc!",0+48,"Atentie") + Thisform.grid_web_reteta.SetFocus() + Else + Locate For cante > 0 + If !Found() + AMESSAGEBOX("Nu ati completat cantitatile pentru materiale!",48,"Atentie") + Thisform.grid_web_retetar.SetFocus() + Else + llReturn = Thisform.completeaza_actactan() + Endif + Endif + Endif + Endif + Endcase + Return llReturn + + ENDPROC + + PROCEDURE Init + DoDefault() + Thisform.cCrsVanzari = Alltrim(Thisform.grid_web.RecordSource) + Thisform.cCrsRetete = Alltrim(Thisform.grid_web_reteta.RecordSource) + + ENDPROC + + PROCEDURE Show + Lparameters nStyle + Local loCauta + pnIdGest_InMarf = 0 + Do While pnIdGest_InMarf = 0 + loCauta = caut_gestiune(0,gnIdUtil,.F.,[ALEGETI GESTIUNEA IN CARE INTRA MARFURILE]) + If gnButon = 1 + pnIdGest_InMarf = loCauta.id_gestiune + Thisform.ntipgest = loCauta.nr_pag + DoDefault(nStyle) + Else + Nodefault + Return .F. + Endif + Enddo + Select crsGestiuni + Locate For id_gestiune = pnIdGest_InMarf + If Found() + pnIdGest_InProd = pnIdGest_InMarf + Thisform.cbo_idGest_inProd.Value = Alltrim(nume_gestiune) + Else + Go Top + Endif + ENDPROC + + PROCEDURE cboListe.Valid + Select (Thisform.grid_web.RecordSource) + If cListePreturi.id_pol <> -9999 + Set Filter To id_pol = cListePreturi.id_pol + Else + Set Filter To + Endif + Thisform.grid_web.Refresh() + + ENDPROC + + PROCEDURE cbo_idGest_inProd.Valid + pnIdGest_InProd = crsGestiuni.id_gestiune + + ENDPROC + + PROCEDURE grid_web.AfterRowColChange + Lparameters nColIndex + If Inlist(This.RowColChange,1,3) + Thisform.actualizeaza_grid2() + Endif + + ENDPROC + + PROCEDURE grid_web.cCant_de_produs.Text1.GotFocus + Thisform.nValoareVeche = This.Value + ENDPROC + + PROCEDURE grid_web.cCant_de_produs.Text1.Valid + Do Case + Case This.Value < 0 + Wait Window 'Cantitatea trebuie sa fie nenegativa!' Nowait + Select (Thisform.grid_web.RecordSource) + Replace cant_de_produs With Thisform.nValoareVeche + Case Thisform.nValoareVeche <> This.Value + Thisform.actualizeaza_grid2(.T.) + Otherwise + *!* nimic + Endcase + ENDPROC + + PROCEDURE grid_web.cDenumire.Text1.DblClick + LOCAL lcTabelProduse, lnId_Produs, lcDenumire_pr + STORE '' TO lcTabelProduse, lcDenumire_pr + STORE 0 TO lnId_Produs + + lcTabelProduse = thisform.grid_web.RecordSource + SELECT (lcTabelProduse) + + lnId_Produs = id_articol + lcDenumire_pr = ALLTRIM(denumire) + + Private poReteta + Store '' To poReteta + + Local lcSchema1, lcSelect1, lcOrder1, lcFiltru1, llAfiseaza + *!* lcSchema1 = [id_ctr N(5), id_part N(10), nume C(30), nr_ctr N(10), data_ctr D(8), obiect C(200), tip N(1), durata N(3), valftva N(20,4), proc_tva N(5,2), avans N(20,4), proc_avans N(5,2),]+; + *!* [val_finant N(20,4), proc_finant N(5,2), dobanda N(20,4), proc_dobanda N(5,2), val_rezid N(20,4), proc_rezid N(5,2), ]+; + *!* [rata N(20,4), comision N(20,4), proc_comision N(5,2), proc_asigurare N(5,2), val_asigurare N(20,4), val_ctr N(20,4), id_valuta N(5), nume_val C(4), curs N(10,4), zi_plata N(2), incetat N(1), sters N(1) ] + + lcSelect1 = [select id_material, denumire_mat, codmat_mat, um_mat, cont_mat, cant_mat from ] + gcS + [.vgest_retetar ] + lcOrder1 = [] + lcgroup = [] + lcFiltru1 = [id_produs=] + ALLTRIM(STR(lnId_Produs)) + lcFiltruOriginal = [] + llModParam = .T. + llAfiseaza = .F. + + gencursor('poReteta','crsReteta', lcSelect1, lcFiltru1, lcSchema1, lcOrder1, llAfiseaza, lcgroup, llModParam, lcFiltruOriginal) + poReteta.ca_baza1.afisare() + + SELECT crsReteta + lofr = CREATEOBJECT("frm_reteta") + lofr.lb_titlu_alb_b121.caption = "Reteta pentru: " + lcDenumire_pr + lofr.show(1) + + IF USED("crsReteta") + USE IN crsReteta + ENDIF + + RELEASE poReteta + ENDPROC + + PROCEDURE grid_web.Init + This.SetAll("DynamicBackColor","IIF(nuInRetetar = 1, RGB(255,0,0), RGB(255,255,255))", "Column") + This.cCant_de_produs.DynamicBackColor = "IIF(nuInRetetar = 1, RGB(255,0,0),RGB(187,235,255))" + ENDPROC + + PROCEDURE grid_web_reteta.AfterRowColChange + Lparameters nColIndex + If Inlist(This.RowColChange,1,3) + Local lnId_material,lnAdaugat + Store 0 To lnId_material,lnAdaugat + + Select (This.RecordSource) + lnId_material = id_material + lnAdaugat = adaugat + + Select (Thisform.grid_web_retetar.RecordSource) + Locate For id_material = lnId_material AND adaugat = lnAdaugat + Thisform.grid_web_retetar.Refresh() + Endif + ENDPROC + + PROCEDURE grid_web_reteta.cCante.Text1.GotFocus + Thisform.nValoareVeche = This.Value + ENDPROC + + PROCEDURE grid_web_reteta.cCante.Text1.Valid + Do Case + Case This.Value < 0 + Wait Window 'Cantitatea trebuie sa fie nenegativa!' Nowait + Select (Thisform.grid_web_reteta.RecordSource) + Replace cant_de_produs With Thisform.nValoareVeche + Case This.Value <> Thisform.nValoareVeche + Local lnCant_Max,lnIdMaterial,lnAdaugat + Store 0 To lnCant_Max + + Select (Thisform.grid_web_reteta.RecordSource) + lnCant_Max = Iif(adaugat = 1,cant_in_stoc-cant_nec_cum,Min(cant_nec,cant_in_stoc-cant_nec_cum)) + lnIdMaterial = id_material + lnAdaugat = adaugat + + If This.Value > lnCant_Max + Wait Window 'Nu puteti scoate o cantitate mai mare decat cea aflata in stoc/necesara !' Nowait + Replace cante With lnCant_Max + Endif + + Thisform.grid_web_reteta.Refresh + Thisform.actualizeaza_grid3() + Select (Thisform.grid_web_retetar.RecordSource) + Locate For id_material = lnIdMaterial And adaugat = lnAdaugat + Thisform.grid_web_retetar.Refresh() + Thisform.grid_web_reteta.Refresh() + Otherwise + *!* nimic + Endcase + ENDPROC + + PROCEDURE grid_web_reteta.cDen_material.Text1.DblClick + LOCAL lcTabelProduse, lnId_Produs, lcDenumire_pr + STORE '' TO lcTabelProduse, lcDenumire_pr + STORE 0 TO lnId_Produs + + lcTabelProduse = thisform.grid_web.RecordSource + SELECT (lcTabelProduse) + + lnId_Produs = id_articol + lcDenumire_pr = ALLTRIM(denumire) + + Private poReteta + Store '' To poReteta + + Local lcSchema1, lcSelect1, lcOrder1, lcFiltru1, llAfiseaza + *!* lcSchema1 = [id_ctr N(5), id_part N(10), nume C(30), nr_ctr N(10), data_ctr D(8), obiect C(200), tip N(1), durata N(3), valftva N(20,4), proc_tva N(5,2), avans N(20,4), proc_avans N(5,2),]+; + *!* [val_finant N(20,4), proc_finant N(5,2), dobanda N(20,4), proc_dobanda N(5,2), val_rezid N(20,4), proc_rezid N(5,2), ]+; + *!* [rata N(20,4), comision N(20,4), proc_comision N(5,2), proc_asigurare N(5,2), val_asigurare N(20,4), val_ctr N(20,4), id_valuta N(5), nume_val C(4), curs N(10,4), zi_plata N(2), incetat N(1), sters N(1) ] + + lcSelect1 = [select id_material, denumire_mat, codmat_mat, um_mat, cont_mat, cant_mat from ] + gcS + [.vgest_retetar ] + lcOrder1 = [] + lcgroup = [] + lcFiltru1 = [id_produs=] + ALLTRIM(STR(lnId_Produs)) + lcFiltruOriginal = [] + llModParam = .T. + llAfiseaza = .F. + + gencursor('poReteta','crsReteta', lcSelect1, lcFiltru1, lcSchema1, lcOrder1, llAfiseaza, lcgroup, llModParam, lcFiltruOriginal) + poReteta.ca_baza1.afisare() + + SELECT crsReteta + lofr = CREATEOBJECT("frm_reteta") + lofr.lb_titlu_alb_b121.caption = "Reteta pentru: " + lcDenumire_pr + lofr.show(1) + + IF USED("crsReteta") + USE IN crsReteta + ENDIF + + RELEASE poReteta + ENDPROC + + PROCEDURE grid_web_reteta.Init + This.SetAll("DynamicBackColor","IIF(cant_nec > cant_in_stoc, RGB(255,113,113),IIF(cante > cant_in_stoc, RGB(255,205,155)," + ; + "IIF(adaugat = 1,RGB(255,255,204), RGB(255,255,255))))", "Column") + This.cCante.DynamicBackColor = "IIF(cant_nec > cant_in_stoc, RGB(255,113,113),IIF(cante > cant_in_stoc, RGB(255,205,155),RGB(187,235,255)))" + ENDPROC + + PROCEDURE grid_web_retetar.Init + This.SetAll("DynamicBackColor","IIF(cant_nec > cant_in_stoc, RGB(255,113,113),IIF(cante > cant_in_stoc, RGB(255,205,155)," + ; + "IIF(adaugat = 1,RGB(255,255,204), RGB(255,255,255))))", "Column") + ENDPROC + + PROCEDURE Lb_titlu_alb_b121.Init + IF TYPE('oxset.nume_set') # 'U' + this.Caption = PROPER(ALLTRIM(oxset.nume_set)) + ENDIF + ENDPROC + + PROCEDURE txtDataF.Valid + pdDataF = this.value + ENDPROC + + PROCEDURE txtDataI.Valid + pdDataI = this.value + ENDPROC + + PROCEDURE _shape1.DblClick + IF thisform.WindowState = 2 + thisform.WindowState = 0 + ELSE + thisform.WindowState = 2 + ENDIF + ENDPROC + +ENDDEFINE + +DEFINE CLASS restnir_retetar_cum AS _frmbase OF "_frm_base.vcx" + *< CLASSDATA: Baseclass="form" Timestamp="" Scale="Pixels" Uniqueid="" /> + + *-- OBJECTDATA items order determines ZOrder / El orden de los items OBJECTDATA determina el ZOrder + *< OBJECTDATA: ObjPath="But_renunt1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="Label1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="Label5" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="cboListe" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="cbo_idGest_inProd" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="But_excel1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="Cmd_cauta1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="Label2" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="grid_web_retetar" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="grid_web_retetar.cDenumire.Header1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="grid_web_retetar.cDenumire.Text1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="grid_web_retetar.cCant_nec.Header1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="grid_web_retetar.cCant_nec.Text1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="grid_web_retetar.cCant_in_stoc.Header1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="grid_web_retetar.cCant_in_stoc.Text1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="grid_web_retetar.cUM.Header1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="grid_web_retetar.cUM.Text1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="grid_web_retetar.cCanter.Header1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="grid_web_retetar.cCanter.Text1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="grid_web_retetar.cCanteM.Header1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="grid_web_retetar.cCanteM.Text1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="grid_web_retetar.cCante.Header1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="grid_web_retetar.cCante.Text1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="grid_web_retetar.cDataIn.Header1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="grid_web_retetar.cDataIn.Text1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="txtDataI" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="txtDataF" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="Label8" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="Label3" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="Label9" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="grid_web" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="grid_web.cCodmat.Header1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="grid_web.cCodmat.Text1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="grid_web.cDenumire.Header1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="grid_web.cDenumire.Text1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="grid_web.cCant_vand.Header1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="grid_web.cCant_vand.Text1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="grid_web.cPretvtva.Header1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="grid_web.cPretvtva.Text1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="grid_web.cCant_produsa.Header1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="grid_web.cCant_produsa.Text1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="grid_web.cCant_ramasa.Header1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="grid_web.cCant_ramasa.Text1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="grid_web.cNr_crt.Header1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="grid_web.cNr_crt.Text1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="grid_web.cCant_de_produs.Header1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="grid_web.cCant_de_produs.Text1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="But_reset1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="But_listare1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="ck_cant" UniqueID="" Timestamp="" /> + + #INCLUDE "c:\program files\microsoft visual foxpro 9\foxpro.h" + * + *m: actualizeaza_politici_preturi + *m: assign_analitic + *m: completeaza_actactan + *m: completeaza_rultemp + *m: do_modifica_nrportii + *p: ccrsretete + *p: ccrsvanzari + *p: cfrm_ceredate + *p: cobj + *p: ncantveche + *p: nidprodus + *p: npretvtva + *p: ntipgest + *p: nvaloareveche + * + + * + BorderStyle = 1 + cbuton3 = + cbuton4 = Ct_grid_order1.But_sterge1;but_reface1 + ccrsretete = cweb_retete + ccrsvanzari = cweb_vanzari + cfrm_ceredate = + cgridsortlist = grid_web_retetar,grid_web + cobj = + DoCreate = .T. + Height = 572 + lactiv1 = .T. + lactiv3 = .T. + lactiv4 = .T. + Name = "restnir_retetar_cum" + ncantveche = 0 + nidprodus = 0 + npretvtva = 0 + ntipgest = 0 + nvaloareveche = 0 + Width = 946 + WindowState = 2 + _memberdata = + + + + + + + _shape1.Anchor = 11 + _shape1.Height = 30 + _shape1.Left = -1 + _shape1.Name = "_shape1" + _shape1.Tag = "" + _shape1.Top = -1 + _shape1.Width = 949 + _shape1.ZOrderSet = 0 + _shape2.Anchor = 9 + _shape2.Height = 29 + _shape2.Left = 820 + _shape2.Name = "_shape2" + _shape2.Tag = "MOVABLE" + _shape2.Top = 0 + _shape2.Width = 127 + _shape2.ZOrderSet = 1 + Lb_titlu_alb_b121.Anchor = 3 + Lb_titlu_alb_b121.FontName = "Comic Sans MS" + Lb_titlu_alb_b121.FontSize = 10 + Lb_titlu_alb_b121.Height = 20 + Lb_titlu_alb_b121.Left = 4 + Lb_titlu_alb_b121.Name = "Lb_titlu_alb_b121" + Lb_titlu_alb_b121.TabIndex = 18 + Lb_titlu_alb_b121.Top = 6 + Lb_titlu_alb_b121.Width = 41 + Lb_titlu_alb_b121.ZOrderSet = 2 + BUT_TERMIN1.Anchor = 9 + BUT_TERMIN1.Height = 27 + BUT_TERMIN1.Left = 914 + BUT_TERMIN1.Name = "BUT_TERMIN1" + BUT_TERMIN1.TabIndex = 14 + BUT_TERMIN1.Tag = "" + BUT_TERMIN1.Top = 1 + BUT_TERMIN1.Width = 32 + BUT_TERMIN1.ZOrderSet = 5 + Gridsort1.Left = 144 + Gridsort1.Name = "Gridsort1" + Gridsort1.Top = 1 + * + + ADD OBJECT 'But_excel1' AS but_excel WITH ; + Anchor = 9, ; + Left = 854, ; + Name = "But_excel1", ; + TabIndex = 12, ; + ToolTipText = "Materii prime cumulate insuficiente in stoc (CTRL+E)", ; + Top = 1, ; + Visible = .T., ; + ZOrderSet = 11 + *< END OBJECT: ClassLib="cmd_butoane.vcx" BaseClass="commandbutton" /> + + ADD OBJECT 'But_listare1' AS but_listare WITH ; + Anchor = 9, ; + Left = 823, ; + Name = "But_listare1", ; + TabIndex = 11, ; + Top = 1, ; + Visible = .T., ; + ZOrderSet = 21 + *< END OBJECT: ClassLib="cmd_butoane.vcx" BaseClass="commandbutton" /> + + ADD OBJECT 'But_renunt1' AS but_renunt WITH ; + Anchor = 9, ; + Left = 884, ; + Name = "But_renunt1", ; + TabIndex = 13, ; + Tag = "", ; + Top = 1, ; + ZOrderSet = 4 + *< END OBJECT: ClassLib="cmd_butoane.vcx" BaseClass="commandbutton" /> + + ADD OBJECT 'But_reset1' AS but_reset WITH ; + Left = 550, ; + Name = "But_reset1", ; + Top = 78 + *< END OBJECT: ClassLib="cmd_butoane.vcx" BaseClass="commandbutton" /> + + ADD OBJECT 'cbo_idGest_inProd' AS combobox WITH ; + Anchor = 9, ; + ColumnCount = 5, ; + ColumnLines = .F., ; + ColumnWidths = "200,40,25,15,100", ; + FontName = "Arial Narrow", ; + Height = 24, ; + Left = 783, ; + Name = "cbo_idGest_inProd", ; + RowSource = "crsGestiuni.nume_gestiune,cgest,cont,acont,nume_tip", ; + RowSourceType = 2, ; + Style = 2, ; + TabIndex = 10, ; + Top = 36, ; + Width = 147, ; + ZOrderSet = 10 + *< END OBJECT: BaseClass="combobox" /> + + ADD OBJECT 'cboListe' AS combobox WITH ; + Anchor = 3, ; + ColumnLines = .F., ; + Enabled = .F., ; + FontName = "Arial Narrow", ; + Format = "", ; + Height = 24, ; + Left = 360, ; + Name = "cboListe", ; + TabIndex = 5, ; + Top = 36, ; + Width = 235, ; + ZOrderSet = 9 + *< END OBJECT: BaseClass="combobox" /> + + ADD OBJECT 'ck_cant' AS _checkbox WITH ; + Alignment = 0, ; + Caption = "Doar cele cu cantitatea care se produce diferita de 0", ; + FontName = "Arial Narrow", ; + Left = 311, ; + Name = "ck_cant", ; + Top = 85 + *< END OBJECT: ClassLib="_baza.vcx" BaseClass="checkbox" /> + + ADD OBJECT 'Cmd_cauta1' AS cmd_cauta WITH ; + Anchor = 3, ; + Height = 27, ; + Left = 233, ; + Name = "Cmd_cauta1", ; + TabIndex = 4, ; + Top = 35, ; + Width = 49, ; + ZOrderSet = 12 + *< END OBJECT: ClassLib="cmd_butoane.vcx" BaseClass="commandbutton" /> + + ADD OBJECT 'grid_web' AS _grdrow WITH ; + Anchor = 7, ; + ColumnCount = 8, ; + DeleteMark = .F., ; + FontName = "Arial Narrow", ; + HeaderHeight = 38, ; + Height = 456, ; + HighlightStyle = 2, ; + Left = 9, ; + Name = "grid_web", ; + Panel = 1, ; + RecordSource = "cWeb_vanzari", ; + TabIndex = 6, ; + Top = 109, ; + Width = 595, ; + ZOrderSet = 20, ; + Column1.ColumnOrder = 2, ; + Column1.ControlSource = "codmat", ; + Column1.FontName = "Arial Narrow", ; + Column1.Name = "cCodmat", ; + Column1.ReadOnly = .T., ; + Column1.Width = 44, ; + Column2.ColumnOrder = 3, ; + Column2.ControlSource = "denumire", ; + Column2.FontName = "Arial Narrow", ; + Column2.Name = "cDenumire", ; + Column2.ReadOnly = .T., ; + Column2.Width = 144, ; + Column3.ColumnOrder = 5, ; + Column3.ControlSource = "cant_vand", ; + Column3.FontName = "Arial Narrow", ; + Column3.Format = "rk", ; + Column3.InputMask = (get_mask(7,gnPCant)), ; + Column3.Name = "cCant_vand", ; + Column3.ReadOnly = .T., ; + Column3.Width = 51, ; + Column4.ColumnOrder = 4, ; + Column4.ControlSource = "pretvtva", ; + Column4.FontName = "Arial Narrow", ; + Column4.Format = "rk", ; + Column4.InputMask = (get_mask(10,gnPPretV)), ; + Column4.Name = "cPretvtva", ; + Column4.ReadOnly = .T., ; + Column4.Width = 62, ; + Column5.ColumnOrder = 6, ; + Column5.ControlSource = "cant_produsa", ; + Column5.FontName = "Arial Narrow", ; + Column5.Format = "RK", ; + Column5.InputMask = (get_mask(7,gnPCant)), ; + Column5.Name = "cCant_produsa", ; + Column5.ReadOnly = .T., ; + Column5.Width = 66, ; + Column6.ColumnOrder = 7, ; + Column6.ControlSource = "cant_ramasa_de_scazut", ; + Column6.FontName = "Arial Narrow", ; + Column6.InputMask = (get_mask(7,gnPCant)), ; + Column6.Name = "cCant_ramasa", ; + Column6.ReadOnly = .T., ; + Column7.ColumnOrder = 1, ; + Column7.ControlSource = "nr_crt", ; + Column7.FontName = "Arial Narrow", ; + Column7.InputMask = "9999", ; + Column7.Name = "cNr_crt", ; + Column7.ReadOnly = .T., ; + Column7.Width = 36, ; + Column8.ControlSource = "cant_de_produs", ; + Column8.FontName = "Arial Narrow", ; + Column8.InputMask = (get_mask(10,gnPCant)), ; + Column8.Name = "cCant_de_produs" + *< END OBJECT: ClassLib="_grd_base.vcx" BaseClass="grid" /> + + ADD OBJECT 'grid_web.cCant_de_produs.Header1' AS header WITH ; + Alignment = 2, ; + Caption = "Cant. care se produce", ; + FontName = "Arial Narrow", ; + Name = "Header1", ; + WordWrap = .T. + *< END OBJECT: BaseClass="header" /> + + ADD OBJECT 'grid_web.cCant_de_produs.Text1' AS textbox WITH ; + BackColor = 255,255,255, ; + BorderStyle = 0, ; + FontName = "Arial Narrow", ; + ForeColor = 0,0,0, ; + Margin = 0, ; + Name = "Text1" + *< END OBJECT: BaseClass="textbox" /> + + ADD OBJECT 'grid_web.cCant_produsa.Header1' AS header WITH ; + Alignment = 2, ; + Caption = "Cant. produsa in perioada", ; + FontName = "Arial Narrow", ; + Name = "Header1", ; + WordWrap = .T. + *< END OBJECT: BaseClass="header" /> + + ADD OBJECT 'grid_web.cCant_produsa.Text1' AS textbox WITH ; + BackColor = 255,255,255, ; + BorderStyle = 0, ; + FontName = "Arial Narrow", ; + Margin = 0, ; + Name = "Text1", ; + ReadOnly = .T. + *< END OBJECT: BaseClass="textbox" /> + + ADD OBJECT 'grid_web.cCant_ramasa.Header1' AS header WITH ; + Alignment = 2, ; + Caption = "Cant. ramasa de scazut", ; + FontName = "Arial Narrow", ; + Name = "Header1", ; + WordWrap = .T. + *< END OBJECT: BaseClass="header" /> + + ADD OBJECT 'grid_web.cCant_ramasa.Text1' AS textbox WITH ; + BackColor = 255,255,255, ; + BorderStyle = 0, ; + FontName = "Arial Narrow", ; + Margin = 0, ; + Name = "Text1", ; + ReadOnly = .T. + *< END OBJECT: BaseClass="textbox" /> + + ADD OBJECT 'grid_web.cCant_vand.Header1' AS header WITH ; + Alignment = 2, ; + Caption = "Cant. vanduta", ; + FontName = "Arial Narrow", ; + Name = "Header1", ; + WordWrap = .T. + *< END OBJECT: BaseClass="header" /> + + ADD OBJECT 'grid_web.cCant_vand.Text1' AS textbox WITH ; + BackColor = 255,255,255, ; + BorderStyle = 0, ; + FontName = "Arial Narrow", ; + ForeColor = 0,0,0, ; + Margin = 0, ; + Name = "Text1", ; + ReadOnly = .T. + *< END OBJECT: BaseClass="textbox" /> + + ADD OBJECT 'grid_web.cCodmat.Header1' AS header WITH ; + Alignment = 2, ; + Caption = "Cod mat.", ; + FontName = "Arial Narrow", ; + Name = "Header1" + *< END OBJECT: BaseClass="header" /> + + ADD OBJECT 'grid_web.cCodmat.Text1' AS textbox WITH ; + BackColor = 255,255,255, ; + BorderStyle = 0, ; + FontName = "Arial Narrow", ; + ForeColor = 0,0,0, ; + Margin = 0, ; + Name = "Text1", ; + ReadOnly = .T. + *< END OBJECT: BaseClass="textbox" /> + + ADD OBJECT 'grid_web.cDenumire.Header1' AS header WITH ; + Alignment = 2, ; + Caption = "Denumire", ; + FontName = "Arial Narrow", ; + Name = "Header1" + *< END OBJECT: BaseClass="header" /> + + ADD OBJECT 'grid_web.cDenumire.Text1' AS textbox WITH ; + BackColor = 255,255,255, ; + BorderStyle = 0, ; + FontName = "Arial Narrow", ; + ForeColor = 0,0,0, ; + Margin = 0, ; + Name = "Text1", ; + ReadOnly = .T. + *< END OBJECT: BaseClass="textbox" /> + + ADD OBJECT 'grid_web.cNr_crt.Header1' AS header WITH ; + Alignment = 2, ; + Caption = "Nr.crt.", ; + FontName = "Arial Narrow", ; + Name = "Header1" + *< END OBJECT: BaseClass="header" /> + + ADD OBJECT 'grid_web.cNr_crt.Text1' AS textbox WITH ; + BackColor = 255,255,255, ; + BorderStyle = 0, ; + FontName = "Arial Narrow", ; + ForeColor = 0,0,0, ; + Margin = 0, ; + Name = "Text1", ; + ReadOnly = .T. + *< END OBJECT: BaseClass="textbox" /> + + ADD OBJECT 'grid_web.cPretvtva.Header1' AS header WITH ; + Alignment = 2, ; + Caption = "Pret de vanz. (cu TVA)", ; + FontName = "Arial Narrow", ; + Name = "Header1", ; + WordWrap = .T. + *< END OBJECT: BaseClass="header" /> + + ADD OBJECT 'grid_web.cPretvtva.Text1' AS textbox WITH ; + BackColor = 255,255,255, ; + BorderStyle = 0, ; + FontName = "Arial Narrow", ; + ForeColor = 0,0,0, ; + Margin = 0, ; + Name = "Text1", ; + ReadOnly = .T. + *< END OBJECT: BaseClass="textbox" /> + + ADD OBJECT 'grid_web_retetar' AS _grdrow WITH ; + Anchor = 15, ; + ColumnCount = 8, ; + DeleteMark = .F., ; + FontName = "Arial Narrow", ; + HeaderHeight = 38, ; + Height = 456, ; + HighlightStyle = 2, ; + Left = 613, ; + Name = "grid_web_retetar", ; + Panel = 1, ; + ReadOnly = .T., ; + RecordSource = "cWeb_vanzari_retetar", ; + TabIndex = 8, ; + Top = 109, ; + Width = 311, ; + ZOrderSet = 14, ; + Column1.BackColor = 255,255,255, ; + Column1.ColumnOrder = 1, ; + Column1.ControlSource = "denumire", ; + Column1.FontName = "Arial Narrow", ; + Column1.Name = "cDenumire", ; + Column1.ReadOnly = .T., ; + Column1.Width = 95, ; + Column2.BackColor = 255,255,255, ; + Column2.ColumnOrder = 2, ; + Column2.ControlSource = "cant_nec", ; + Column2.FontName = "Arial Narrow", ; + Column2.Format = "rk", ; + Column2.InputMask = (get_mask(10,gnPCant)), ; + Column2.Name = "cCant_nec", ; + Column2.ReadOnly = .T., ; + Column2.Width = 45, ; + Column3.BackColor = 255,255,255, ; + Column3.ControlSource = "cant_in_stoc", ; + Column3.FontName = "Arial Narrow", ; + Column3.Format = "rk", ; + Column3.InputMask = (get_mask(10,gnPCant)), ; + Column3.Name = "cCant_in_stoc", ; + Column3.ReadOnly = .T., ; + Column3.Width = 44, ; + Column4.BackColor = 255,255,255, ; + Column4.ControlSource = "um", ; + Column4.FontName = "Arial Narrow", ; + Column4.Name = "cUM", ; + Column4.ReadOnly = .T., ; + Column4.Width = 29, ; + Column5.ControlSource = "canter", ; + Column5.FontName = "Arial Narrow", ; + Column5.Format = "rk", ; + Column5.InputMask = (get_mask(10,gnPCant)), ; + Column5.Name = "cCanter", ; + Column5.ReadOnly = .T., ; + Column5.Width = 59, ; + Column6.ControlSource = "cantem", ; + Column6.FontName = "Arial Narrow", ; + Column6.InputMask = (get_mask(10,gnPCant)), ; + Column6.Name = "cCanteM", ; + Column6.ReadOnly = .T., ; + Column6.Width = 61, ; + Column7.ControlSource = "cante", ; + Column7.FontName = "Arial Narrow", ; + Column7.InputMask = (get_mask(10,gnPCant)), ; + Column7.Name = "cCante", ; + Column7.ReadOnly = .F., ; + Column8.ControlSource = "datain", ; + Column8.FontName = "Arial Narrow", ; + Column8.Name = "cDataIn", ; + Column8.ReadOnly = .T., ; + Column8.Width = 49 + *< END OBJECT: ClassLib="_grd_base.vcx" BaseClass="grid" /> + + ADD OBJECT 'grid_web_retetar.cCant_in_stoc.Header1' AS header WITH ; + Alignment = 2, ; + Caption = "Cantitate in stoc", ; + FontName = "Arial Narrow", ; + Name = "Header1", ; + WordWrap = .T. + *< END OBJECT: BaseClass="header" /> + + ADD OBJECT 'grid_web_retetar.cCant_in_stoc.Text1' AS textbox WITH ; + BackColor = 255,255,255, ; + BorderStyle = 0, ; + FontName = "Arial Narrow", ; + ForeColor = 0,0,0, ; + Margin = 0, ; + Name = "Text1", ; + ReadOnly = .T. + *< END OBJECT: BaseClass="textbox" /> + + ADD OBJECT 'grid_web_retetar.cCant_nec.Header1' AS header WITH ; + Alignment = 2, ; + Caption = "Cantitate necesara", ; + FontName = "Arial Narrow", ; + Name = "Header1", ; + WordWrap = .T. + *< END OBJECT: BaseClass="header" /> + + ADD OBJECT 'grid_web_retetar.cCant_nec.Text1' AS textbox WITH ; + BackColor = 255,255,255, ; + BorderStyle = 0, ; + FontName = "Arial Narrow", ; + ForeColor = 0,0,0, ; + Margin = 0, ; + Name = "Text1", ; + ReadOnly = .T. + *< END OBJECT: BaseClass="textbox" /> + + ADD OBJECT 'grid_web_retetar.cCante.Header1' AS header WITH ; + Alignment = 2, ; + Caption = "Cantitate care se scoate", ; + FontName = "Arial Narrow", ; + Name = "Header1", ; + WordWrap = .T. + *< END OBJECT: BaseClass="header" /> + + ADD OBJECT 'grid_web_retetar.cCante.Text1' AS textbox WITH ; + BackColor = 255,255,255, ; + BorderStyle = 0, ; + FontName = "Arial Narrow", ; + ForeColor = 0,0,0, ; + Margin = 0, ; + Name = "Text1", ; + ReadOnly = .F. + *< END OBJECT: BaseClass="textbox" /> + + ADD OBJECT 'grid_web_retetar.cCanteM.Header1' AS header WITH ; + Alignment = 2, ; + Caption = "Ajustari fata de reteta", ; + FontName = "Arial Narrow", ; + Name = "Header1", ; + WordWrap = .T. + *< END OBJECT: BaseClass="header" /> + + ADD OBJECT 'grid_web_retetar.cCanteM.Text1' AS textbox WITH ; + BackColor = 255,255,255, ; + BorderStyle = 0, ; + FontName = "Arial Narrow", ; + ForeColor = 0,0,0, ; + Margin = 0, ; + Name = "Text1", ; + ReadOnly = .T. + *< END OBJECT: BaseClass="textbox" /> + + ADD OBJECT 'grid_web_retetar.cCanter.Header1' AS header WITH ; + Alignment = 2, ; + Caption = "Cantitate din reteta", ; + FontName = "Arial Narrow", ; + Name = "Header1", ; + WordWrap = .T. + *< END OBJECT: BaseClass="header" /> + + ADD OBJECT 'grid_web_retetar.cCanter.Text1' AS textbox WITH ; + BackColor = 255,255,255, ; + BorderStyle = 0, ; + FontName = "Arial Narrow", ; + ForeColor = 0,0,0, ; + Margin = 0, ; + Name = "Text1", ; + ReadOnly = .T. + *< END OBJECT: BaseClass="textbox" /> + + ADD OBJECT 'grid_web_retetar.cDataIn.Header1' AS header WITH ; + Alignment = 2, ; + Caption = "Data intrarii in stoc", ; + FontName = "Arial Narrow", ; + Name = "Header1", ; + WordWrap = .T. + *< END OBJECT: BaseClass="header" /> + + ADD OBJECT 'grid_web_retetar.cDataIn.Text1' AS textbox WITH ; + BackColor = 255,255,255, ; + BorderStyle = 0, ; + FontName = "Arial Narrow", ; + ForeColor = 0,0,0, ; + Margin = 0, ; + Name = "Text1", ; + ReadOnly = .T. + *< END OBJECT: BaseClass="textbox" /> + + ADD OBJECT 'grid_web_retetar.cDenumire.Header1' AS header WITH ; + Alignment = 2, ; + Caption = "Denumire", ; + FontName = "Arial Narrow", ; + Name = "Header1" + *< END OBJECT: BaseClass="header" /> + + ADD OBJECT 'grid_web_retetar.cDenumire.Text1' AS textbox WITH ; + BackColor = 255,255,255, ; + BorderStyle = 0, ; + FontName = "Arial Narrow", ; + ForeColor = 0,0,0, ; + Margin = 0, ; + Name = "Text1", ; + ReadOnly = .T. + *< END OBJECT: BaseClass="textbox" /> + + ADD OBJECT 'grid_web_retetar.cUM.Header1' AS header WITH ; + Alignment = 2, ; + Caption = "UM", ; + FontName = "Arial Narrow", ; + Name = "Header1" + *< END OBJECT: BaseClass="header" /> + + ADD OBJECT 'grid_web_retetar.cUM.Text1' AS textbox WITH ; + BackColor = 255,255,255, ; + BorderStyle = 0, ; + FontName = "Arial Narrow", ; + ForeColor = 0,0,0, ; + Margin = 0, ; + Name = "Text1", ; + ReadOnly = .T. + *< END OBJECT: BaseClass="textbox" /> + + ADD OBJECT 'Label1' AS label WITH ; + Anchor = 3, ; + AutoSize = .T., ; + BackStyle = 0, ; + Caption = "Perioada", ; + FontName = "Arial Narrow", ; + Height = 18, ; + Left = 11, ; + Name = "Label1", ; + TabIndex = 20, ; + Top = 39, ; + Width = 39, ; + ZOrderSet = 6 + *< END OBJECT: BaseClass="label" /> + + ADD OBJECT 'Label2' AS label WITH ; + Anchor = 3, ; + AutoSize = .T., ; + BackStyle = 0, ; + Caption = "-", ; + Height = 17, ; + Left = 137, ; + Name = "Label2", ; + TabIndex = 21, ; + Top = 40, ; + Width = 6, ; + ZOrderSet = 13 + *< END OBJECT: BaseClass="label" /> + + ADD OBJECT 'Label3' AS label WITH ; + Anchor = 3, ; + AutoSize = .T., ; + BackStyle = 0, ; + Caption = "Lista de preturi", ; + FontName = "Arial Narrow", ; + Height = 18, ; + Left = 288, ; + Name = "Label3", ; + TabIndex = 22, ; + Top = 39, ; + Width = 62, ; + ZOrderSet = 18 + *< END OBJECT: BaseClass="label" /> + + ADD OBJECT 'Label5' AS label WITH ; + AutoSize = .T., ; + BackStyle = 0, ; + Caption = "Materii prime cumulate", ; + FontName = "Arial Narrow", ; + Height = 18, ; + Left = 615, ; + Name = "Label5", ; + TabIndex = 16, ; + Top = 86, ; + Width = 96, ; + ZOrderSet = 8 + *< END OBJECT: BaseClass="label" /> + + ADD OBJECT 'Label8' AS label WITH ; + Anchor = 9, ; + AutoSize = .T., ; + BackStyle = 0, ; + Caption = "Gestiunea in care intra produsele", ; + FontName = "Arial Narrow", ; + Height = 18, ; + Left = 644, ; + Name = "Label8", ; + TabIndex = 24, ; + Top = 39, ; + Width = 138, ; + ZOrderSet = 17 + *< END OBJECT: BaseClass="label" /> + + ADD OBJECT 'Label9' AS label WITH ; + Anchor = 3, ; + AutoSize = .T., ; + BackStyle = 0, ; + Caption = "Vanzari din gestiunea de marfuri aleasa", ; + FontName = "Arial Narrow", ; + Height = 18, ; + Left = 12, ; + Name = "Label9", ; + TabIndex = 17, ; + Top = 85, ; + Width = 165, ; + ZOrderSet = 19 + *< END OBJECT: BaseClass="label" /> + + ADD OBJECT 'txtDataF' AS textbox WITH ; + Anchor = 3, ; + ControlSource = "pdDataF", ; + FontName = "Arial Narrow", ; + Format = "K", ; + Height = 23, ; + Left = 144, ; + Name = "txtDataF", ; + TabIndex = 2, ; + Top = 37, ; + Width = 81, ; + ZOrderSet = 16 + *< END OBJECT: BaseClass="textbox" /> + + ADD OBJECT 'txtDataI' AS textbox WITH ; + Anchor = 3, ; + ControlSource = "pdDataI", ; + FontName = "Arial Narrow", ; + Format = "K", ; + Height = 23, ; + Left = 53, ; + Name = "txtDataI", ; + TabIndex = 1, ; + Top = 37, ; + Width = 81, ; + ZOrderSet = 15 + *< END OBJECT: BaseClass="textbox" /> + + PROCEDURE actualizeaza_grid1 + Local lcCursorTemp + save_grid_tag(Thisform.grid_web) + lcSel = [{call pack_grestaurant.vanzari_stoc(?pnIdGest_InMarf,] + ; + [?pdDataI,?pdDataF,?gnAn,?gnLuna,?gnIdSucursala)}] + lnSucces = goExecutor.oExecute(lcSel, Thisform.cCrsVanzari) + If lnSucces < 0 + amessage(goExecutor.cEroare,0+16,"Eroare") + Return + Endif + restore_grid_tag(Thisform.grid_web) + + lcCursorTemp = 'crsTempRet' + If Used(lcCursorTemp) + Use In (lcCursorTemp) + Endif + lcSel = [{call pack_grestaurant.vanzari_retetar_cumulat(?poAct.id_gestiune,?pnIdGest_InMarf,] + ; + [?pdDataI,?pdDataF,?gnAn,?gnLuna,?gnIdUtil,?gnIdSucursala)}] + lnSucces = goExecutor.oExecute(lcSel, lcCursorTemp) + If lnSucces < 0 + amessage(goExecutor.cEroare,0+16,"Eroare") + Return + Endif + + copiaza_structura_cursor(lcCursorTemp,Thisform.cCrsRetete) + If Reccount(lcCursorTemp) > 0 + Select (Thisform.cCrsRetete) + Append From Dbf(lcCursorTemp) + Endif + If Used(lcCursorTemp) + Use In (lcCursorTemp) + Endif + + Thisform.actualizeaza_grid2() + Thisform.grid_web.Refresh() + Thisform.grid_web.SetFocus() + ENDPROC + + PROCEDURE actualizeaza_grid2 + Local lcCursor,lcCursorReteta + lcCursor = Thisform.grid_web_retetar.RecordSource + save_grid_tag(Thisform.grid_web_retetar) + If Used(lcCursor) + Select a.id_material,a.id_articol,a.denumire,a.datain,; + Cast(Nvl(b.cant_nec,0) As N(10,gnPCant)) As cant_nec,; + Cast(Nvl(b.canter,0) As N(10,gnPCant)) As canter,; + a.cant_in_stoc, a.um, a.adaugat, ; + CAST(a.cantem As N(10,gnPCant)) As cantem,; + Cast(Nvl(b.canter,0)+a.cantem As N(10,gnPCant)) As cante ; + FROM (lcCursor) a ; + LEFT Join (Select id_material, id_articol,denumire, ; + SUM(cant_nec) As cant_nec, ; + CAST(Sum(cante) As N(10,gnPCant)) As canter,cant_in_stoc,um, adaugat ; + FROM (Thisform.cCrsRetete) ; + WITH (Buffering = .T.) ; + Group By id_material, id_articol, denumire, cant_in_stoc, um, adaugat, datain) b ; + on a.id_material = b.id_material And a.id_articol = b.id_articol AND b.adaugat = 0; + Order By b.denumire,b.id_material ; + INTO Cursor (lcCursor) readwrite + Else + Select id_material, id_articol, denumire,datain, ; + SUM(cant_nec) As cant_nec, ; + CAST(Sum(cante) As N(10,gnPCant)) As canter, ; + cant_in_stoc, um, adaugat,; + CAST(0 As N(10,gnPCant)) As cantem,; + CAST(Sum(cante) As N(10,gnPCant)) As cante ; + FROM (Thisform.cCrsRetete) ; + WITH (Buffering = .T.) ; + Group By id_material, id_articol, denumire, cant_in_stoc, um, adaugat, datain ; + ORDER By denumire,id_material ; + INTO Cursor (lcCursor) readwrite + Endif + restore_grid_tag(Thisform.grid_web_retetar) + Thisform.grid_web_retetar.Refresh() + Release lcCursor,lnIdArticol,lnCantitate,lcDenumire,lcFiltru,lnIdArticol + + ENDPROC + + PROCEDURE actualizeaza_politici_preturi + Lparameters tnTip + If tnTip = 0 + Thisform.cboListe.ColumnCount = 0 + Thisform.cboListe.ColumnWidths = [] + Thisform.cboListe.RowSource = [] + Thisform.cboListe.RowSourceType = 0 + Thisform.cboListe.Style = 0 + Thisform.cboListe.Enabled = .F. + If Used('cListePreturi') + Use In cListePreturi + Endif + Else + If Used('cListePreturi') + Use In cListePreturi + Endif + Create Cursor cListePreturi(nume_lista_preturi C(200),id_pol N(10)) + Insert Into cListePreturi(nume_lista_preturi,id_pol) Values('',-9999) + Insert Into cListePreturi(nume_lista_preturi,id_pol) Select Distinct Substr(nume_lista_preturi,1,200),id_pol From cweb_vanzari Order By 1 + + If Reccount('cListePreturi') > 2 + Select cListePreturi + Go Top + Thisform.cboListe.ColumnCount = 2 + Thisform.cboListe.ColumnWidths = [200,0] + Thisform.cboListe.RowSource = [cListePreturi.nume_lista_preturi,id_pol] + Thisform.cboListe.RowSourceType = 2 + Thisform.cboListe.Style = 2 + Thisform.cboListe.Enabled = .T. + Thisform.cboListe.Value = cListePreturi.nume_lista_preturi + Endif + Endif + ENDPROC + + PROCEDURE assign_analitic + PARAMETERS tcCont,pcAct,pcRul + + PRIVATE pcCont,pcAct,pcRul,pParamP,pParamS + STORE 0 TO pParamP,pParamS + lcAnalitic = '' + lcAlias = ALIAS() + + pcCont = ALLTRIM(tcCont) + + lcSel = [SELECT * from ] + gcs + [.config_analitice WHERE cont = ?pcCont] + lcCursor = 'crs_cfg_ana' + lnSucces = goExecutor.oExecute(lcSel,lcCursor) + IF lnSucces < 0 + amessagebox(goExecutor.cEroare,0+16,"Eroare") + ENDIF + + IF lnSucces > 0 + IF RECCOUNT('crs_cfg_ana')=0 + USE IN crs_cfg_ana + lnSucces = -1 + ENDIF + ENDIF + + IF lnSucces > 0 + SELECT crs_cfg_ana + SCATTER NAME ocfg + lcCampPrefix = NVL(ALLTRIM(ocfg.camp_leg_prefix),'') + lcCampSufix = NVL(ALLTRIM(ocfg.camp_leg_sufix),'') + + IF !EMPTY(lcCampPrefix) + IF TYPE('&pcRul..'+lcCampPrefix) # 'U' + pParamP = &pcRul..&lcCampPrefix + ELSE + IF TYPE('&pcAct..'+lcCampPrefix) # 'U' + pParamP = &pcAct..&lcCampPrefix + ENDIF + ENDIF + ENDIF + + IF !EMPTY(lcCampSufix) + IF TYPE('&pcRul..'+lcCampSufix) # 'U' + pParamS = &pcRul..&lcCampSufix + ELSE + IF TYPE('&pcAct..'+lcCampSufix) # 'U' + pParamS = &pcAct..&lcCampSufix + ENDIF + ENDIF + ENDIF + + lcSel = [{call fconturi_analitice(?gcs,?pcCont,0,?pParamP,?pParamS)}] + lcCursor = 'crs_analitice' + lnSucces = goExecutor.oExecute(lcSel,lcCursor) + + IF lnSucces < 0 + amessagebox(goExecutor.cEroare,0+16,"Eroare") + ENDIF + ENDIF + + && iau Primul Simbol Analitic din Tabel - ordonat pt ca e selectat cu Distinct + IF lnSucces > 0 + SELECT crs_analitice + GO top + lcAnalitic = ALLTRIM(acont) + ENDIF + + && verificare analiticului cu Planul de Conturi + IF lnSucces > 0 + lcSel = [SELECT cont,acont from ] + gcs + [.vplcont_analitic WHERE cont = ?pcCont and acont = ?lcAnalitic and an = ?gnAn ] + lcCursor = 'crs_verific' + lnSucces = goExecutor.oExecute(lcSel,lcCursor) + IF lnSucces < 0 + amessagebox(goExecutor.cEroare,0+16,"Eroare") + ENDIF + ENDIF + + IF lnSucces > 0 + IF RECCOUNT('crs_verific')=0 + lnSucces = -1 + ENDIF + ENDIF + + IF USED('crs_cfg_ana') + USE IN crs_cfg_ana + ENDIF + IF USED('crs_verific') + USE IN crs_verific + ENDIF + IF USED('crs_analitice') + USE IN crs_analitice + ENDIF + IF USED('crs_verific') + USE IN crs_verific + ENDIF + + IF lnSucces < 0 + lcAnalitic = '' + ENDIF + + SELECT (lcAlias) + RETURN lcAnalitic + + ENDPROC + + PROCEDURE completeaza_actactan + Local lcSelRul, lcContTr, lcAcontTr, lcRul, lcSql, lcCursor, lnSucces, lcCant + Store '' To lcContTr, lcAcontTr + + llSucces = This.completeaza_rultemp() + If !llSucces + Return .F. + Endif + + Local lnRecno + lnRecno = 0 + + *** completez tabela ACTACTAN + If Type('oitem') = 'O' + If Pemstatus(oitem,'adunadate',5) + oitem.adunadate() + Endif + ENDIF + + && NOTE + Select * From XNOTE Where id_set = oset.id_set Into Cursor crsNota + + lcField = '' + Select xact + Go Top + + For i = 1 To Fcount() + If Upper(Alltrim(Evaluate(Field(i)))) = 'SUMA' + lcField = Field(i) + Exit + Endif + Endfor + + If Empty(lcField) + Return .T. + Endif + + Private pnBazaBon,pnBazaNir,pnTvaVanzIn,pnAdaosVanzIn,pnBazaVanz + Store 0 To pnBazaBon,pnBazaNir,pnTvaVanzIn,pnAdaosVanzIn,pnBazaVanz + + Select cweb_vanzari + Calculate Sum(Round(pret*cant_de_produs,gnPc)),Sum(Round(tvav*cant_de_produs,gnPc)),; + Sum(Round(pretftva*cant_de_produs,gnPc)) ; + TO pnBazaNir,pnTvaVanzIn,pnBazaVanz + + Select rul_temp + Calculate Sum(Round(Pret*cante, gnPC)) To pnBazaBon For Cont = '301' + + pnAdaosVanzIn = pnBazaVanz - pnBazaNir + + Select actactan + Scatter Name loActactan + Replace suma With pnBazaBon FOR scd = '601' AND scc = '301' + Replace suma WITH pnBazaNir,id_gestin With pnIdGest_InProd For scd = '345' And scc = '711' + Replace suma WITH pnBazaNir,id_gestin With pnIdGest_InMarf, id_gestout With pnIdGest_InProd For scd = '371' And scc = '345' + If Thisform.ntipgest = 6 + Replace suma With pnAdaosVanzIn, id_gestin With pnIdGest_InMarf, id_gestout With pnIdGest_InMarf For scd = '371' And scc = '378' + Replace suma With pnTvaVanzIn,id_gestin With pnIdGest_InMarf,id_gestout With pnIdGest_InMarf For scd = '371' And scc = '4428' + Endif + + Select Distinct acont From rul_temp Where Cont = '301' Into Cursor cAcont301 + Select cAcont301 + Scan + lnValAchizitie = 0 + lcAcont = NVL(acont,'') + Select rul_temp + Calculate Sum(Round(Pret*cante, gnPC)) To lnValAchizitie For Cont = '301' And NVL(acont,'') = lcAcont + Select actactan + Locate For scc = '301' And Empty(NVL(ascc,'')) + If Found() + Replace suma With lnValAchizitie, ascc With lcAcont + Else + Select actactan + Locate For scc = '301' + Scatter Name lo301 + Append Blank + Gather Name lo301 + Replace suma With lnValAchizitie, ascc With lcAcont + Endif + Select cAcont301 + Endscan + + Select rul_temp + Replace All dataact With loActactan.dataact, ; + nnir With loActactan.nnir, ; + id_sectie With loActactan.id_sectie, ; + id_responsabil With loActactan.id_responsabil, ; + id_lucrare With loActactan.id_lucrare + If Used('crsNota') + Use In crsNota + Endif + + && ordonez notele contabile in ACTACTAN + Select actactan + Sum suma To lnSume + + If lnSume <> 0 + lcCondDele = [!(suma = 0 and !(((left(scd,1) = '3' and left(scc,2) = '40') OR (left(scd,2) = '41' and left(scc,1) = '7')) AND proc_tva # 1))] + Else + lcCondDele = [suma = 0 AND nr_nota = 1 ] + Endif + + Select * From actactan Into Cursor crsActActan Where &lcCondDele Or Inlist(id_set, 89, 210, 211, 212) Order By nr_nota NOFILTER Readwrite + + Select actactan + Delete From actactan + Append From Dbf('crsactactan') + If Used('crsactactan') + Use In crsActActan + Endif + + && completare analitice + Select actactan + Scan For Empty(Nvl(ascd,'')) + Scatter Name loActactan + If Type('loActactan.cont') = 'U' + x = AddProperty(loActactan,'cont',loActactan.scd) + Endif + If oset.model = 2 And Type('loActactan.id_gestiune') = 'U' && NIR + x = AddProperty(loActactan,'id_gestiune',loActactan.id_gestin) + Endif + If Inlist(oset.model, 3, 4) And Type('loActactan.id_gestiune') = 'U' && BON, RETUR + x = AddProperty(loActactan,'id_gestiune',loActactan.id_gestout) + Endif + loActactan.ascd = This.assign_analitic(loActactan.scd,This.cobj,'loActactan') + Replace ascd With loActactan.ascd + Select actactan + Endscan + + Select actactan + Scan For Empty(Nvl(ascc,'')) + Scatter Name loActactan + If Type('loActactan.cont') = 'U' + x = AddProperty(loActactan,'cont',loActactan.scc) + Endif + If oset.model = 2 And Type('loActactan.id_gestiune') = 'U' && NIR + x = AddProperty(loActactan,'id_gestiune',loActactan.id_gestin) + Endif + If Inlist(oset.model, 3, 4) And Type('loActactan.id_gestiune') = 'U' && BON, RETUR + x = AddProperty(loActactan,'id_gestiune',loActactan.id_gestout) + Endif + loActactan.ascc = This.assign_analitic(loActactan.scc,This.cobj,'loActactan') + Replace ascc With loActactan.ascc + Select actactan + Endscan + + Select actactan + Locate For scd = '371' And scc = '345' + If Found() + lcAscd = ascd + Select rul_temp + Replace All acont With lcAscd For Cont = '371' And cante <> 0 And cant = 0 + Endif + + If Thisform.ntipgest = 6 + Select actactan + Locate For scd = '371' And scc = '378' + If Found() + lcAscd = ascd + Select rul_temp + Replace All acont With lcAscd For Cont = '371' And cante = 0 And cant <> 0 + Select actactan + Replace id_gestout With 0 For scd = '371' And scc = '378' + Endif + Endif + + *!* Select actactan + *!* Replace id_gestin With pnIdGest_InMarf, id_gestout With pnIdGest_InProd For scd = '371' And scc = '345' + + If Type('loActactan') = 'O' + Release loActactan + Endif + + Select actactan + Go Top + + Return .T. + + ENDPROC + + PROCEDURE completeaza_rultemp + && completez RUL_TEMP + lcProduse = This.grid_web.RecordSource + lcMateriale = This.grid_web_retetar.RecordSource + + If Used('rul_temp') + Use In rul_temp + Endif + + * lcRul = ALLTRIM(THIS.osel_dr.cfrom) + lcSql = [select v.*, v.id_gestiune as id_gestin, v.nume_gestiune as gestin, v.id_gestiune as id_gestout,] + ; + [v.nume_gestiune as gestout, 0 as nuInConturiX from ] + gcS + [.vrul v where 1=2] + lcCursor = [rul_temp] + lnSucces = goExecutor.oExecute(lcSql,lcCursor) + If lnSucces < 0 + AMESSAGEBOX(goExecutor.cEroare,0+16, 'Eroare') + Endif + + If Used("crsStocActual1") + Use In crsStocActual1 + Endif + + lcSql = [select id_articol, id_gestiune, pret, tva, proc_tvav, cont, acont, datain, SUM(cants + cant - cante) as stoc ] + ; + [from stoc where an = ] + Transform(gnAn) + [ and luna = ] + Transform(gnLuna) + ; + [ and id_gestiune in (] + Transform(poAct.id_gestiune)+ [) and NVL(id_rul_aux,0) = 0 ] + gcCondSucursala + ; + [ group by id_articol, id_gestiune, pret, tva, proc_tvav, cont, acont, datain order by datain] + lcCursor = [crsStocActual1] + lnSucces = goExecutor.oExecute(lcSql,lcCursor) + If lnSucces < 0 + AMESSAGEBOX(goExecutor.cEroare,0+16, 'Eroare') + Endif + + If Used("crsStocActual") + Use In crsStocActual + Endif + + Select * From crsStocActual1 ; + WITH (Buffering = .T.) ; + INTO Cursor crsStocActual ; + READWRITE + + Select * From crsStocActual1 ; + WITH (Buffering = .T.) ; + INTO Cursor crsStocActual_2 ; + READWRITE + + If Used("crsStocActual1") + Use In crsStocActual1 + Endif + + If Used("crsMateriale") + Use In crsMateriale + Endif + *!* SELECT id_material AS id_articol, IIF(cant_nec < cant_in_stoc, cant_nec, cant_in_stoc) AS cante ; + *!* FROM (lcMateriale) ; + *!* WITH (buffering = .t.) ; + *!* INTO CURSOR crsMateriale ; + *!* READWRITE + + Select id_articol, cante ; + FROM (lcMateriale) ; + WITH (Buffering = .T.) ; + where cante > 0 ; + INTO Cursor crsMateriale ; + READWRITE + + Select crsMateriale + Scan + lnCantRamas = cante + lnIdArticol = id_articol + lnCantInit = cante + *!* lcMaterial = ALLTRIM(denumire) + Select crsStocActual + Locate For id_articol = lnIdArticol And stoc > 0 + Do While Found() And lnCantRamas > 0 + lcCont = Cont + lcAcont = Nvl(acont,'') + + lnCante = Min(lnCantRamas, stoc) + lnCantRamas = lnCantRamas - lnCante + lnPret = Pret + lnIdGestiune = id_gestiune + + *!* INSERT INTO test (material, id_mat, cant_nec, cante, cantramas, stoc, pret) VALUES (lcMaterial, lnIdArticol, lnCantInit, lnCante, lnCantRamas, crsStocActual.stoc, lnPret) + Replace stoc With stoc - lnCante + + If Left(lcCont,3) <> '371' + Select rul_temp + Scatter Name loRul Blank + With loRul + .id_articol = lnIdArticol + *.id_gestout = lnIdGestiune + .id_gestiune = lnIdGestiune + .cante = lnCante + .Pret = Round(lnPret, gnPpret) + .Cont = lcCont + .acont = lcAcont + Endwith + Select rul_temp + Append Blank + Gather Name loRul + Endif + + Select crsStocActual + *!* Locate For id_articol = lnIdArticol And stoc > 0 And lnCantRamas > 0 + CONTINUE + Enddo + Select crsMateriale + Endscan + + If Used("crsMateriale") + Use In crsMateriale + Endif + + ********************************************************************** + * 345 = 711 - intrare produs la pret de achizitie materiale componente + * nuProdus ex.: chifle, banane - pe care le cumpara direct ca marfa, si nu devin produse + ********************************************************************** + Select id_articol, cant_de_produs As cant, Pret, tvav, pretftva, proc_tvav, ; + 0 As nuProdus ; + FROM (lcProduse) ; + WITH (Buffering = .T.) ; + WHERE cant_de_produs > 0 ; + INTO Cursor crsProduseIesiri ; + READWRITE + + Select crsProduseIesiri + Scan + Scatter Name loProdus + lnIdArticol = id_articol + *!* lnPretvtva = pretvtva + lnCant = cant + Select * From (Thisform.cCrsRetete) ; + WHERE id_produs = lnIdArticol ; && And pretvtva = lnPretvtva + Into Cursor cCalcReteta + + lnPretCalc = 0 + lnComponente = 0 + lnComponenteGasite = 0 + Select cCalcReteta + Scan + lnComponente = lnComponente + 1 + lnCantRamas = cante + lnId_material = id_material + lnCantInit = cante + Select crsStocActual_2 + Locate For id_articol = lnId_material And stoc > 0 + Do While Found() And lnCantRamas > 0 + If Left(Cont,3) = '371' + lnComponenteGasite = lnComponenteGasite + 1 + Endif + lnCante = Min(lnCantRamas, stoc) + lnCantRamas = lnCantRamas - lnCante + lnPret = Pret + Replace stoc With stoc - lnCante + + lnPretCalc = Round(lnPretCalc + Round(lnCante * lnPret, gnPpret), gnPpret) + *!* Select crsStocActual_2 + *!* Locate For id_articol = lnId_material And stoc > 0 And lnCantRamas > 0 + Continue + Enddo + + Select cCalcReteta + Endscan + + If Used("cCalcReteta") + Use In cCalcReteta + Endif + + If lnComponenteGasite < lnComponente + && daca toate componentele sunt in stoc pe contul 371, nu mai scriu in rul_temp + Select rul_temp + Append Blank + Gather Name loProdus FIELDS LIKE id_articol,cant,pret + *!* Replace Pret With Round(lnPretCalc/lnCant, gnPpret), Cont With '345', id_gestiune With pnIdGest_InProd + Replace Cont With '345', id_gestiune With pnIdGest_InProd + Else + Select crsProduseIesiri + Replace nuProdus With 1 + Endif + + *!* Select crsProduseIesiri + *!* Replace Pret With Round(lnPretCalc/lnCant, gnPpret) + + Select crsProduseIesiri + Endscan + + ********************************************************************** + * 371 = 345 - iesire produs + ********************************************************************** + Select crsProduseIesiri + Scan For nuProdus = 0 + Scatter Name loProdus + + Select rul_temp + Append Blank + Gather Name loProdus FIELDS LIKE id_articol, pret + Replace cante With Round(loProdus.cant,gnPCant), ; + CONT With '345', ; + id_gestiune With pnIdGest_InProd + + Select rul_temp + Append Blank + Gather Name loProdus Fields Like id_articol, cant, Pret + Replace Cont With '371', ; + id_gestiune With pnIdGest_InMarf + If Thisform.ntipgest = 6 + Replace pretv With loProdus.pretftva, ; + proc_tvav WITH loProdus.proc_tvav,; + adaos With loProdus.pretftva - loProdus.pret, ; + adaos_tva With Round(Round(loProdus.pretftva-loProdus.Pret,max(gnPpret,gnPPretV))*Iif(proc_tvav <> 0, proc_tvav-1,0),max(gnPpret,gnPPretV)), ; + tvav With tvav + Endif + Select crsStocActual + Endscan + + If Used("crsStocActual") + Use In crsStocActual + Endif + If Used("crsStocActual1") + Use In crsStocActual1 + Endif + If Used("crsProduseIesiri") + Use In crsProduseIesiri + Endif + ENDPROC + + PROCEDURE Destroy + If Used('cListePreturi') + Use In cListePreturi + Endif + + If Used(Thisform.cCrsVanzari) + Use In (Thisform.cCrsVanzari) + Endif + + If Used(Thisform.cCrsRetete) + Use In (Thisform.cCrsRetete) + Endif + + If Used("cWeb_vanzari_retetar") + Use In cWeb_vanzari_retetar + Endif + + + ENDPROC + + PROCEDURE do_adauga + *!* Local lnId_Produs,lnCantitate,loas,lnAdaugat + *!* loas = Createobject("frm_alege_din_stoc") + *!* loas.lb_titlu_alb_b121.Caption = "STOC" + *!* Select xsets + *!* Locate For id_set = 106 && tnIdSet + *!* Scatter Name oSet + *!* *!* modificare JC/JV 2007 + *!* If gnNeplatitoare_tva = 1 + *!* oSet.id_jtax = oSet.id_jtaxn + *!* oSet.id_jnetax = oSet.id_jtaxn + *!* Endif + *!* *!* modificare JC/JV 2007 ^ + *!* lFactura = oSet.factura + *!* lAdaos = oSet.adaos + *!* lDiscount = oSet.discount + *!* lcTipFrm = Upper(oSet.explicatia) + *!* llGestout = .F. + + *!* Select selectii + *!* Locate For id_sel = oSet.id_selSt + *!* If Found() + *!* Scatter Name ost Memo + *!* Else + *!* amessagebox('NECONFIGURAT!',48,'Atentie!') + *!* Return 2 && renunt + *!* Endif + + *!* lcSelSt = Alltrim(ost.cselect) + [ from ] + gcs + [.] + Alltrim(ost.cfrom) + [ where ] + Alltrim(ost.filtru) + *!* lcSchemaSt = Alltrim(ost.cschema) + + *!* With loas.ct_grid_search1 + *!* .cselect = lcSelSt + *!* .cschema = lcSchemaSt + *!* .cTitlu_coloane = Alltrim(ost.titlu_col) + *!* .cNume_coloane = Alltrim(ost.nume_col) + *!* .cMask = Alltrim(ost.mask_col) + *!* .cFiltruOriginal = Strtran(Alltrim(Evaluate(ost.filtruorig)),[<>],[>]) + [ and id_gestiune = ?poAct.id_gestiune ] + *!* .cFiltru = Alltrim(ost.filtru) + *!* .cOrder = Alltrim(ost.ordine) + *!* .cTitlu = Alltrim(ost.titlu_grid) + *!* .cb_tx_gestout.Visible = llGestout + *!* .but_nou1.Visible = llAdMod + *!* * .but_modifica1.VISIBLE = llAdMod + *!* Endwith + *!* loas.Show(1) + + *!* If buton = 2 + *!* Return + *!* Endif + + *!* Select cursor_curent1 + *!* If Reccount() > 0 + *!* Scatter Name loArticol + *!* Select (Thisform.cCrsRetete) + *!* lnId_Produs = id_produs + *!* Locate For id_material = loArticol.id_articol + *!* If !Found() + *!* lnAdaugat = 1 + *!* Append Blank + *!* Replace id_produs With lnId_Produs, ; + *!* id_material With loArticol.id_articol, ; + *!* den_material With loArticol.denumire, ; + *!* cant_nec With 0, ; + *!* cant_in_stoc With loArticol.cantitate, ; + *!* um With loArticol.um, ; + *!* adaugat With lnAdaugat + *!* Select (Thisform.grid_web_retetar.RecordSource) + *!* Locate For id_material = loArticol.id_articol + *!* If Found() + *!* lnCantitate = cant_nec + *!* Else + *!* lnCantitate = 0 + *!* Endif + *!* Select (Thisform.cCrsRetete) + *!* Replace cant_nec_cum With lnCantitate + *!* Else + *!* lnAdaugat = 0 + *!* Endif + *!* Thisform.actualizeaza_grid3() + *!* Select (Thisform.grid_web_retetar.RecordSource) + *!* Locate For id_material = loArticol.id_articol And adaugat = lnAdaugat + *!* Thisform.grid_web_retetar.Refresh() + *!* Thisform.grid_web_reteta.Refresh() + *!* Thisform.grid_web_reteta.cCante.SetFocus() + *!* Endif + ENDPROC + + PROCEDURE do_cauta + Do Case + Case Empty(gcGestPermis) + AMESSAGEBOX("Nu aveti drepturi de acces pe nici o gestiune!",0+48,"Atentie") + Return + Case Empty(pdDataI) + AMESSAGEBOX("Completati data initiala !",0+48,"Atentie") + Thisform.txtDataI.SetFocus() + Return + Case Empty(pdDataF) + AMESSAGEBOX("Completati data finala !",0+48,"Atentie") + Thisform.txtDataF.SetFocus() + Return + *!* CASE pdDataI < DATE(gnAn,gnLuna,1) + *!* amessagebox("Data initiala trebuie sa fie din luna curenta!",0+48,"Atentie") + *!* Thisform.txtDataI.SetFocus() + *!* RETURN + *!* CASE pdDataF >= GOMONTH(DATE(gnAn,gnLuna,1),1) + *!* amessagebox("Data finala trebuie sa fie din luna curenta!",0+48,"Atentie") + *!* Thisform.txtDataF.SetFocus() + *!* RETURN + Otherwise + pcPerioada = Dtoc(pdDataI) + " - " + Dtoc(pdDataF) + Endcase + + Thisform.actualizeaza_politici_preturi(0) + Thisform.actualizeaza_grid1() + IF RECCOUNT(Thisform.cCrsVanzari) > 0 + Update (Thisform.cCrsVanzari) Set nuInRetetar = 1 Where id_articol Not In (Select Distinct id_produs From (Thisform.cCrsRetete) WHERE !ISNULL(id_produs)) + Select (Thisform.cCrsVanzari) + Locate For nuInRetetar = 1 + If Found() + AMESSAGEBOX("Exista produse care nu au definita fisa tehnologica!",0+48,"Definiti fisa tehnologica!") + ELSE + GO top + Endif + + Thisform.actualizeaza_politici_preturi(1) + *!* Thisform.grid_web.AfterRowColChange() + ELSE + amessagebox("Nu exista rezultate pentru perioada selectata!",48,"Atentie") + Thisform.txtDataI.SetFocus() + ENDIF + ENDPROC + + PROCEDURE do_excel + DO export_excel_grid WITH this.grid_web_retetar, 'denumire', "cant_nec > cant_in_stoc" IN proceduri_excel.prg + ENDPROC + + PROCEDURE do_modifica_nrportii + Local lnIdArticol, lnCantitate, lnPoz, lnCantePrec, lnCantNecPrec, lnCantNec, lnDif, lnCantStoc, lcCursorTemp + If Reccount(Thisform.cCrsRetete) >0 + Select (Thisform.cCrsVanzari) + lnIdArticol = id_articol + lnCantitate = cant_de_produs + lcCursorTemp = Sys(2015) + If lnCantitate <> Thisform.nValoareVeche + Select (Thisform.cCrsRetete) + Scan For id_produs = lnIdArticol + lnPoz = Recno() + lnIdMaterial = id_material + lnCantNecReteta = Round(cant_mat * lnCantitate,gnPCant) + lnCantNec = Round(cant_mat * (lnCantitate - Thisform.nValoareVeche),gnPCant) + Select (Thisform.grid_web_retetar.RecordSource) + Locate For id_articol = lnIdMaterial + If Found() + lnCantStoc = cant_in_stoc + lnCantNecPrec = cant_nec + lnCantNec = cant_nec + lnCantNec + Select (Thisform.cCrsRetete) + If lnCantitate > Thisform.nValoareVeche + If lnCantStoc >= lnCantNec + Replace cant_nec With lnCantNecReteta,cante With lnCantNecReteta + Else + *!* cantitate pe care mai puteam sa o iau de pe articol + lnCantE = MAX(0,lnCantStoc - lnCantNecPrec) + Replace cant_nec With lnCantNecReteta,cante WITH cante + lnCantE + lnDif = lnCantNec - lnCantNecPrec - lnCantE + If Used(lcCursorTemp) + Use In (lcCursorTemp) + Endif + Select id_articol,datain From (Thisform.cCrsRetete) ; + WHERE id_material = lnIdMaterial And Isnull(id_produs) ; + ORDER By datain ; + INTO Cursor (lcCursorTemp) + *!* adaug diferenta pe articolele secundare + Select (lcCursorTemp) + Scan + lnIdArticolSec = id_articol + ldDataIn = datain + Select (Thisform.cCrsRetete) + Locate For id_articol = lnIdArticolSec And id_material = lnIdMaterial And Isnull(id_produs) ; + AND cant_in_stoc > cante And datain = ldDataIn + *!* pot avea un articol care sa fie si secundar si principal?ca atunci cant_in_stoc nu mai e corecta + If Found() And lnDif > 0 + Replace cante With Min(cant_in_stoc,cante+lnDif) + lnDif = lnDif - Min(cant_in_stoc-cante,lnDif) + Endif + Select (lcCursorTemp) + Endscan + If Used(lcCursorTemp) + Use In (lcCursorTemp) + Endif + Endif + Else + If lnCantNecPrec <= lnCantStoc + Replace cant_nec With lnCantNecReteta,cante With lnCantNecReteta + Else + lnCanteDifArticol = Min(cante,lnCantNecReteta) - cante + Replace cant_nec With lnCantNecReteta,cante With Min(cante,lnCantNecReteta) + lnDif = lnCantNec - lnCantNecPrec + lnCanteDifArticol + *!* If (lnCantNec >= lnCantStoc OR (lnCantNec < lnCantStoc AND )) And lnCanteDifArticol < 0 + *!* caut dupa id_articol si ii pun cantitatea scazuta de pe reteta asta pe alt articol + Select (Thisform.cCrsRetete) + Locate For id_articol = lnIdMaterial And !Inlist(Nvl(id_produs,-1000),-1000,lnIdArticol) ; + AND cant_nec > cante + Do While Found() AND lnCanteDifArticol < 0 + Replace cante With Min(cant_nec,Abs(lnCanteDifArticol)) + lnCanteDifArticol = lnCanteDifArticol + Min(cant_nec,Abs(lnCanteDifArticol)) + Continue + Enddo + *!* ELSE + *!* lnCanteDifArticol = 0 + *!* Endif + *!* din ce aveam initial de scazut si ce am scazut din articolul principal, + *!* scot ce nu am reusit sa redistribui + lnDif = lnDif - lnCanteDifArticol + If Used(lcCursorTemp) + Use In (lcCursorTemp) + Endif + Select id_articol,datain From (Thisform.cCrsRetete) ; + WHERE id_material = lnIdMaterial And Isnull(id_produs) ; + ORDER By datain Desc ; + INTO Cursor (lcCursorTemp) + *!* scad diferenta de pe articolele secundare + Select (lcCursorTemp) + Scan + lnIdArticolSec = id_articol + ldDataIn = datain + Select (Thisform.cCrsRetete) + Locate For id_articol = lnIdArticolSec And id_material = lnIdMaterial And Isnull(id_produs) ; + AND datain = ldDataIn And cante <> 0 + If Found() And lnDif < 0 + Replace cante With Max(cante + lnDif,0) + lnDif = lnDif - Max(lnDif,cante*(-1)) + Endif + Select (lcCursorTemp) + Endscan + If Used(lcCursorTemp) + Use In (lcCursorTemp) + Endif + + Endif + Endif + Endif + Select (Thisform.cCrsRetete) + Goto lnPoz + Endscan + + Thisform.actualizeaza_grid2() + Endif + Endif + ENDPROC + + PROCEDURE do_reset + x = xmenu("Cantitatile pentru produsele \ cant_in_stoc Into Cursor cList + goExport.export2frx([cList],[rap_descarcare_retetar]) + If Used("cList") + Use In cList + Endif + Thisform.AlwaysOnTop = .T. + ENDPROC + + PROCEDURE inainte_de_do_termin + Local llReturn + llReturn = .F. + Do Case + Case Empty(gcGestPermis) + AMESSAGEBOX("Nu aveti drepturi de acces pe nici o gestiune!",0+48,"Atentie") + Case !Used("cWeb_Vanzari") + AMESSAGEBOX("Nu exista inregistrari!",0+48,"Atentie") + Case Empty(pnIdGest_InProd) + AMESSAGEBOX("Nu ati completat gestiunea in care intra produsele!",0+48,"Atentie") + Thisform.cbo_idGest_inProd.SetFocus() + Otherwise + Select (Thisform.grid_web.RecordSource) + Locate For cant_de_produs > 0 + If !Found() + AMESSAGEBOX("Nu ati completat cantitatile!",48,"Atentie") + Thisform.grid_web.SetFocus() + Else + Locate For nuInRetetar = 1 And cant_de_produs > 0 + If Found() + AMESSAGEBOX("Exista produse care nu au definita fisa tehnologica!",0+48,"Atentie") + Thisform.grid_web.SetFocus() + Else + Select (Thisform.grid_web_retetar.RecordSource) + Locate For cante > cant_in_stoc + If Found() + AMESSAGEBOX("Exista materii prime pentru care cantitatea care se scade depaseste cantitatea din stoc!",0+48,"Atentie") + Thisform.grid_web_retetar.SetFocus() + Else + *!* Locate For cante > 0 + *!* If !Found() + *!* AMESSAGEBOX("Nu ati completat cantitatile pentru materiale!",48,"Atentie") + *!* Thisform.grid_web_retetar.SetFocus() + *!* Else + llReturn = Thisform.completeaza_actactan() + *!* Endif + Endif + Endif + Endif + Endcase + Return llReturn + + ENDPROC + + PROCEDURE Init + DoDefault() + Thisform.cCrsVanzari = Alltrim(Thisform.grid_web.RecordSource) + + ENDPROC + + PROCEDURE KeyPress + Lparameters nKeyCode, nShiftAltCtrl + lcObiect = Upper(Alltrim(This.ActiveControl.Name)) + Do Case + Case lcObiect = [GRID_WEB] And Between(nKeyCode,48,57) And nShiftAltCtrl = 0 + Thisform.grid_web.cCant_de_produs.SetFocus() + DoDefault(nKeyCode,nShiftAltCtrl) + Case lcObiect = [GRID_WEB_RETETAR] And Between(nKeyCode,48,57) And nShiftAltCtrl = 0 + Thisform.grid_web_retetar.cCantE.SetFocus() + DoDefault(nKeyCode,nShiftAltCtrl) + Otherwise + DoDefault(nKeyCode,nShiftAltCtrl) + Endcase + + ENDPROC + + PROCEDURE Show + Lparameters nStyle + Local loCauta + pnIdGest_InMarf = 0 + Do While pnIdGest_InMarf = 0 + loCauta = caut_gestiune(0,gnIdUtil,.F.,[ALEGETI GESTIUNEA IN CARE INTRA MARFURILE]) + If gnButon = 1 + pnIdGest_InMarf = loCauta.id_gestiune + Thisform.ntipgest = loCauta.nr_pag + DoDefault(nStyle) + Else + Nodefault + Return .F. + Endif + Enddo + Select crsGestiuni + Locate For id_gestiune = pnIdGest_InMarf + If Found() + pnIdGest_InProd = pnIdGest_InMarf + Thisform.cbo_idGest_inProd.Value = Alltrim(nume_gestiune) + Else + Go Top + Endif + ENDPROC + + PROCEDURE cboListe.Valid + Select (Thisform.grid_web.RecordSource) + If cListePreturi.id_pol <> -9999 + Set Filter To id_pol = cListePreturi.id_pol + Else + Set Filter To + Endif + Thisform.grid_web.Refresh() + + ENDPROC + + PROCEDURE cbo_idGest_inProd.Valid + pnIdGest_InProd = crsGestiuni.id_gestiune + + ENDPROC + + PROCEDURE ck_cant.Click + Select (Thisform.grid_web.RecordSource) + If This.Value = 1 + Set Filter To cant_de_produs <> 0 + Else + Set Filter To + Endif + Thisform.grid_web.Refresh() + + ENDPROC + + PROCEDURE grid_web.cCant_de_produs.Text1.GotFocus + Thisform.nValoareVeche = This.Value + ENDPROC + + PROCEDURE grid_web.cCant_de_produs.Text1.Valid + Do Case + Case This.Value < 0 + Wait Window 'Cantitatea trebuie sa fie nenegativa!' Nowait + Select (Thisform.grid_web.RecordSource) + Replace cant_de_produs With Thisform.nValoareVeche + Thisform.nValoareVeche = 0 + Case Thisform.nValoareVeche <> This.Value + Thisform.do_modifica_nrportii() + Thisform.nValoareVeche = 0 + Otherwise + *!* nimic + Endcase + ENDPROC + + PROCEDURE grid_web.cDenumire.Text1.DblClick + LOCAL lcTabelProduse, lnId_Produs, lcDenumire_pr + STORE '' TO lcTabelProduse, lcDenumire_pr + STORE 0 TO lnId_Produs + + lcTabelProduse = thisform.grid_web.RecordSource + SELECT (lcTabelProduse) + + lnId_Produs = id_articol + lcDenumire_pr = ALLTRIM(denumire) + + Private poReteta + Store '' To poReteta + + Local lcSchema1, lcSelect1, lcOrder1, lcFiltru1, llAfiseaza + *!* lcSchema1 = [id_ctr N(5), id_part N(10), nume C(30), nr_ctr N(10), data_ctr D(8), obiect C(200), tip N(1), durata N(3), valftva N(20,4), proc_tva N(5,2), avans N(20,4), proc_avans N(5,2),]+; + *!* [val_finant N(20,4), proc_finant N(5,2), dobanda N(20,4), proc_dobanda N(5,2), val_rezid N(20,4), proc_rezid N(5,2), ]+; + *!* [rata N(20,4), comision N(20,4), proc_comision N(5,2), proc_asigurare N(5,2), val_asigurare N(20,4), val_ctr N(20,4), id_valuta N(5), nume_val C(4), curs N(10,4), zi_plata N(2), incetat N(1), sters N(1) ] + + lcSelect1 = [select id_material, denumire_mat, codmat_mat, um_mat, cont_mat, cant_mat from ] + gcS + [.vgest_retetar ] + lcOrder1 = [] + lcgroup = [] + lcFiltru1 = [id_produs=] + ALLTRIM(STR(lnId_Produs)) + lcFiltruOriginal = [] + llModParam = .T. + llAfiseaza = .F. + + gencursor('poReteta','crsReteta', lcSelect1, lcFiltru1, lcSchema1, lcOrder1, llAfiseaza, lcgroup, llModParam, lcFiltruOriginal) + poReteta.ca_baza1.afisare() + + SELECT crsReteta + lofr = CREATEOBJECT("frm_reteta") + lofr.lb_titlu_alb_b121.caption = "Reteta pentru: " + lcDenumire_pr + lofr.show(1) + + IF USED("crsReteta") + USE IN crsReteta + ENDIF + + RELEASE poReteta + ENDPROC + + PROCEDURE grid_web.Init + This.SetAll("DynamicBackColor","IIF(nuInRetetar = 1, RGB(255,0,0), RGB(255,255,255))", "Column") + This.cCant_de_produs.DynamicBackColor = "IIF(nuInRetetar = 1, RGB(255,0,0),RGB(187,235,255))" + ENDPROC + + PROCEDURE grid_web_retetar.cCante.Text1.GotFocus + Thisform.nCantVeche = This.Value + ENDPROC + + PROCEDURE grid_web_retetar.cCante.Text1.Valid + If This.Value < 0 + Wait Window 'Cantitatea trebuie sa fie nenegativa!' Nowait + This.Value = Thisform.nCantVeche + Else + Select (Thisform.grid_web_retetar.RecordSource) + If This.Value > cant_in_stoc + Wait Window 'Nu puteti depasi cantitatea din stoc!' Nowait + This.Value = Thisform.nCantVeche + Else + Replace cantem With This.Value - canter + Endif + Endif + ENDPROC + + PROCEDURE grid_web_retetar.Init + This.SetAll("DynamicBackColor","IIF(cant_nec > cant_in_stoc, RGB(255,113,113),IIF(cante > cant_in_stoc, RGB(255,205,155)," + ; + "IIF(adaugat = 1,RGB(255,255,204), RGB(255,255,255))))", "Column") + This.cCante.DynamicBackColor = "IIF(cant_nec > cant_in_stoc, RGB(255,113,113),IIF(cante > cant_in_stoc, RGB(255,205,155)," + ; + "IIF(adaugat = 1,RGB(255,255,204), RGB(187,235,255))))" + ENDPROC + + PROCEDURE Lb_titlu_alb_b121.Init + IF TYPE('oxset.nume_set') # 'U' + this.Caption = PROPER(ALLTRIM(oxset.nume_set)) + ENDIF + ENDPROC + + PROCEDURE txtDataF.Valid + pdDataF = this.value + ENDPROC + + PROCEDURE txtDataI.Valid + pdDataI = this.value + ENDPROC + + PROCEDURE _shape1.DblClick + IF thisform.WindowState = 2 + thisform.WindowState = 0 + ELSE + thisform.WindowState = 2 + ENDIF + ENDPROC + +ENDDEFINE + +DEFINE CLASS webnir AS _frmbase OF "_frm_base.vcx" + *< CLASSDATA: Baseclass="form" Timestamp="" Scale="Pixels" Uniqueid="" /> + + *-- OBJECTDATA items order determines ZOrder / El orden de los items OBJECTDATA determina el ZOrder + *< OBJECTDATA: ObjPath="_shapeSus" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="But_renunt1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="Label1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="txtDataF" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="Label3" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="cboListe" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="grid_web" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="grid_web.Column1.Header1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="grid_web.Column1.Text1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="grid_web.Column2.Header1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="grid_web.Column2.Text1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="grid_web.Column3.Header1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="grid_web.Column3.Text1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="grid_web.Column4.Header1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="grid_web.Column4.Text1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="grid_web.Column5.Header1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="grid_web.Column5.Text1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="grid_web.Column6.Header1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="grid_web.Column6.Text1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="grid_web.Column7.Header1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="grid_web.Column7.Text1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="grid_web.Column8.Header1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="grid_web.Column8.Text1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="grid_web.Column11.Header1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="grid_web.Column11.Text1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="Ct_factura1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="Cmd_cauta1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="Label2" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="But_excel1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="But_listare1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="txtDataI" UniqueID="" Timestamp="" /> + + #INCLUDE "c:\program files\microsoft visual foxpro 9\foxpro.h" + * + *m: aleg_cont_transfer + *m: assign_analitic + *m: assign_values + *m: calcul_pret_vanzare + *m: calcul_sume + *m: caut_gestiune + *m: compensare + *m: do_alege_lista_preturi + *m: make_rultemp + *p: cfrm_ceredate + *p: cobj + *p: ctip_frm + *p: ntotal + *p: osel_dr + * + + * + BorderStyle = 1 + cbuton3 = + cbuton4 = Ct_grid_order1.But_sterge1;but_reface1 + cfrm_ceredate = + cobj = + ctip_frm = NIR + DoCreate = .T. + Height = 572 + lactiv1 = .T. + lactiv3 = .T. + lactiv4 = .T. + Name = "webnir" + ntotal = 0 + osel_dr = + Width = 793 + WindowType = 1 + _shape1.Anchor = 11 + _shape1.Height = 30 + _shape1.Left = -1 + _shape1.Name = "_shape1" + _shape1.Tag = "" + _shape1.Top = -1 + _shape1.Width = 726 + _shape1.ZOrderSet = 0 + _shape2.Anchor = 9 + _shape2.Height = 29 + _shape2.Left = 724 + _shape2.Name = "_shape2" + _shape2.Tag = "MOVABLE" + _shape2.Top = 0 + _shape2.Width = 69 + _shape2.ZOrderSet = 1 + Lb_titlu_alb_b121.Anchor = 3 + Lb_titlu_alb_b121.FontName = "Comic Sans MS" + Lb_titlu_alb_b121.FontSize = 10 + Lb_titlu_alb_b121.Height = 20 + Lb_titlu_alb_b121.Left = 10 + Lb_titlu_alb_b121.Name = "Lb_titlu_alb_b121" + Lb_titlu_alb_b121.TabIndex = 8 + Lb_titlu_alb_b121.Top = 3 + Lb_titlu_alb_b121.Width = 41 + Lb_titlu_alb_b121.ZOrderSet = 3 + BUT_TERMIN1.Anchor = 9 + BUT_TERMIN1.Height = 27 + BUT_TERMIN1.Left = 757 + BUT_TERMIN1.Name = "BUT_TERMIN1" + BUT_TERMIN1.TabIndex = 6 + BUT_TERMIN1.Tag = "" + BUT_TERMIN1.Top = 1 + BUT_TERMIN1.Width = 32 + BUT_TERMIN1.ZOrderSet = 6 + Gridsort1.Name = "Gridsort1" + * + + ADD OBJECT '_shapeSus' AS _shape WITH ; + Anchor = 11, ; + BackStyle = 0, ; + BorderColor = 7,118,177, ; + BorderWidth = 2, ; + Height = 103, ; + Left = 8, ; + Name = "_shapeSus", ; + Tag = "RESIZABLE, MOVABLE", ; + Top = 35, ; + Width = 780, ; + ZOrderSet = 4 + *< END OBJECT: ClassLib="_baza.vcx" BaseClass="shape" /> + + ADD OBJECT 'But_excel1' AS but_excel WITH ; + Anchor = 9, ; + Left = 695, ; + Name = "But_excel1", ; + Top = 1, ; + Visible = .T. + *< END OBJECT: ClassLib="cmd_butoane.vcx" BaseClass="commandbutton" /> + + ADD OBJECT 'But_listare1' AS but_listare WITH ; + Anchor = 9, ; + Left = 665, ; + Name = "But_listare1", ; + Top = 1, ; + Visible = .T. + *< END OBJECT: ClassLib="cmd_butoane.vcx" BaseClass="commandbutton" /> + + ADD OBJECT 'But_renunt1' AS but_renunt WITH ; + Anchor = 9, ; + Left = 727, ; + Name = "But_renunt1", ; + TabIndex = 7, ; + Tag = "", ; + Top = 1, ; + ZOrderSet = 5 + *< END OBJECT: ClassLib="cmd_butoane.vcx" BaseClass="commandbutton" /> + + ADD OBJECT 'cboListe' AS combobox WITH ; + Anchor = 3, ; + ColumnCount = 4, ; + ColumnLines = .F., ; + ColumnWidths = "200,65,60,0", ; + Format = "", ; + Height = 24, ; + Left = 65, ; + Name = "cboListe", ; + RowSource = "cListePret.nume_lista_preturi,datai,datas,id_pol", ; + RowSourceType = 2, ; + Style = 2, ; + TabIndex = 1, ; + Top = 147, ; + Width = 315, ; + ZOrderSet = 11 + *< END OBJECT: BaseClass="combobox" /> + + ADD OBJECT 'Cmd_cauta1' AS cmd_cauta WITH ; + Anchor = 3, ; + Left = 295, ; + Name = "Cmd_cauta1", ; + TabIndex = 4, ; + Top = 172 + *< END OBJECT: ClassLib="cmd_butoane.vcx" BaseClass="commandbutton" /> + + ADD OBJECT 'Ct_factura1' AS ct_factura WITH ; + Anchor = 131, ; + Left = 14, ; + Name = "Ct_factura1", ; + TabIndex = 9, ; + Tag = "", ; + Top = 52, ; + ZOrderSet = 13, ; + lbBaza.Name = "lbBaza", ; + lbTva.Name = "lbTva", ; + txBaza.Name = "txBaza", ; + txTva.Name = "txTva", ; + lbExplic.Name = "lbExplic", ; + txTotal.Name = "txTotal", ; + lbTotal.Name = "lbTotal" + *< END OBJECT: ClassLib="ferestre_cere_date.vcx" BaseClass="container" /> + + ADD OBJECT 'grid_web' AS _grdrow WITH ; + Anchor = 15, ; + ColumnCount = 9, ; + DeleteMark = .F., ; + FontName = "Arial Narrow", ; + HeaderHeight = 38, ; + Height = 348, ; + HighlightStyle = 2, ; + Left = 8, ; + Name = "grid_web", ; + Panel = 1, ; + ReadOnly = .F., ; + RecordSource = "cWeb_vanzari", ; + TabIndex = 5, ; + Top = 206, ; + Width = 778, ; + ZOrderSet = 20, ; + Column1.ControlSource = "nr_crt", ; + Column1.FontName = "Arial Narrow", ; + Column1.Format = "rk", ; + Column1.InputMask = "9999", ; + Column1.Name = "Column1", ; + Column1.ReadOnly = .T., ; + Column1.Width = 26, ; + Column2.ControlSource = "codmat", ; + Column2.FontName = "Arial Narrow", ; + Column2.Name = "Column2", ; + Column2.ReadOnly = .T., ; + Column2.Width = 44, ; + Column3.ControlSource = "denumire", ; + Column3.FontName = "Arial Narrow", ; + Column3.Name = "Column3", ; + Column3.ReadOnly = .T., ; + Column3.Width = 216, ; + Column4.ColumnOrder = 5, ; + Column4.ControlSource = "cant_vand", ; + Column4.FontName = "Arial Narrow", ; + Column4.Format = "rk", ; + Column4.InputMask = (get_mask(7,gnPCant)), ; + Column4.Name = "Column4", ; + Column4.ReadOnly = .T., ; + Column4.Width = 48, ; + Column5.ColumnOrder = 4, ; + Column5.ControlSource = "pretvtva", ; + Column5.FontName = "Arial Narrow", ; + Column5.Format = "rk", ; + Column5.InputMask = (get_mask(10,gnPPretV)), ; + Column5.Name = "Column5", ; + Column5.ReadOnly = .T., ; + Column5.Width = 71, ; + Column6.ControlSource = "cant_in_stoc", ; + Column6.FontName = "Arial Narrow", ; + Column6.Format = "rk", ; + Column6.InputMask = (get_mask(7,gnPCant)), ; + Column6.Name = "Column6", ; + Column6.ReadOnly = .T., ; + Column6.Width = 52, ; + Column7.BackColor = 223,248,255, ; + Column7.ControlSource = "cante", ; + Column7.DynamicBackColor = "223,248,255", ; + Column7.FontName = "Arial Narrow", ; + Column7.Format = "rk", ; + Column7.InputMask = (get_mask(7,gnPCant)), ; + Column7.Name = "Column7", ; + Column7.ReadOnly = .F., ; + Column7.Width = 53, ; + Column8.ColumnOrder = 9, ; + Column8.ControlSource = "val_vand", ; + Column8.FontName = "Arial Narrow", ; + Column8.Format = "rk", ; + Column8.InputMask = (get_mask(7,gnPC)), ; + Column8.Name = "Column8", ; + Column8.ReadOnly = .F., ; + Column8.Width = 94, ; + Column9.ColumnOrder = 8, ; + Column9.ControlSource = "cant_ramasa_de_scazut", ; + Column9.FontName = "Arial Narrow", ; + Column9.Format = "rk", ; + Column9.InputMask = (get_mask(7,gnPCant)), ; + Column9.Name = "Column11", ; + Column9.ReadOnly = .F. + *< END OBJECT: ClassLib="_grd_base.vcx" BaseClass="grid" /> + + ADD OBJECT 'grid_web.Column1.Header1' AS header WITH ; + Alignment = 2, ; + Caption = "Nr. crt.", ; + FontName = "Arial Narrow", ; + Name = "Header1", ; + WordWrap = .T. + *< END OBJECT: BaseClass="header" /> + + ADD OBJECT 'grid_web.Column1.Text1' AS textbox WITH ; + BackColor = 255,255,255, ; + BorderStyle = 0, ; + FontName = "Arial Narrow", ; + ForeColor = 0,0,0, ; + Margin = 0, ; + Name = "Text1", ; + ReadOnly = .T. + *< END OBJECT: BaseClass="textbox" /> + + ADD OBJECT 'grid_web.Column11.Header1' AS header WITH ; + Alignment = 2, ; + Caption = "Cantitate ramasa de scazut", ; + FontName = "Arial Narrow", ; + Name = "Header1", ; + WordWrap = .T. + *< END OBJECT: BaseClass="header" /> + + ADD OBJECT 'grid_web.Column11.Text1' AS textbox WITH ; + BackColor = 255,255,255, ; + BorderStyle = 0, ; + FontName = "Arial Narrow", ; + ForeColor = 0,0,0, ; + Margin = 0, ; + Name = "Text1" + *< END OBJECT: BaseClass="textbox" /> + + ADD OBJECT 'grid_web.Column2.Header1' AS header WITH ; + Alignment = 2, ; + Caption = "Cod mat.", ; + FontName = "Arial Narrow", ; + Name = "Header1", ; + WordWrap = .T. + *< END OBJECT: BaseClass="header" /> + + ADD OBJECT 'grid_web.Column2.Text1' AS textbox WITH ; + BackColor = 255,255,255, ; + BorderStyle = 0, ; + FontName = "Arial Narrow", ; + ForeColor = 0,0,0, ; + Margin = 0, ; + Name = "Text1", ; + ReadOnly = .T. + *< END OBJECT: BaseClass="textbox" /> + + ADD OBJECT 'grid_web.Column3.Header1' AS header WITH ; + Alignment = 2, ; + Caption = "Denumire", ; + FontName = "Arial Narrow", ; + Name = "Header1" + *< END OBJECT: BaseClass="header" /> + + ADD OBJECT 'grid_web.Column3.Text1' AS textbox WITH ; + BackColor = 255,255,255, ; + BorderStyle = 0, ; + FontName = "Arial Narrow", ; + ForeColor = 0,0,0, ; + Margin = 0, ; + Name = "Text1", ; + ReadOnly = .T. + *< END OBJECT: BaseClass="textbox" /> + + ADD OBJECT 'grid_web.Column4.Header1' AS header WITH ; + Alignment = 2, ; + Caption = "Cantitate vanduta", ; + FontName = "Arial Narrow", ; + Name = "Header1", ; + WordWrap = .T. + *< END OBJECT: BaseClass="header" /> + + ADD OBJECT 'grid_web.Column4.Text1' AS textbox WITH ; + BackColor = 255,255,255, ; + BorderStyle = 0, ; + FontName = "Arial Narrow", ; + ForeColor = 0,0,0, ; + Margin = 0, ; + Name = "Text1", ; + ReadOnly = .T. + *< END OBJECT: BaseClass="textbox" /> + + ADD OBJECT 'grid_web.Column5.Header1' AS header WITH ; + Alignment = 2, ; + Caption = "Pret de vanzare (cu TVA)", ; + FontName = "Arial Narrow", ; + Name = "Header1", ; + WordWrap = .T. + *< END OBJECT: BaseClass="header" /> + + ADD OBJECT 'grid_web.Column5.Text1' AS textbox WITH ; + BackColor = 255,255,255, ; + BorderStyle = 0, ; + FontName = "Arial Narrow", ; + ForeColor = 0,0,0, ; + Margin = 0, ; + Name = "Text1", ; + ReadOnly = .T. + *< END OBJECT: BaseClass="textbox" /> + + ADD OBJECT 'grid_web.Column6.Header1' AS header WITH ; + Alignment = 2, ; + Caption = "Cantitate in stoc", ; + FontName = "Arial Narrow", ; + Name = "Header1", ; + WordWrap = .T. + *< END OBJECT: BaseClass="header" /> + + ADD OBJECT 'grid_web.Column6.Text1' AS textbox WITH ; + BackColor = 255,255,255, ; + BorderStyle = 0, ; + FontName = "Arial Narrow", ; + ForeColor = 0,0,0, ; + Margin = 0, ; + Name = "Text1", ; + ReadOnly = .T. + *< END OBJECT: BaseClass="textbox" /> + + ADD OBJECT 'grid_web.Column7.Header1' AS header WITH ; + Alignment = 2, ; + Caption = "Cantitate ce se scade", ; + FontName = "Arial Narrow", ; + Name = "Header1", ; + WordWrap = .T. + *< END OBJECT: BaseClass="header" /> + + ADD OBJECT 'grid_web.Column7.Text1' AS textbox WITH ; + BackColor = 223,248,255, ; + BorderStyle = 0, ; + FontName = "Arial Narrow", ; + ForeColor = 0,0,0, ; + Margin = 0, ; + Name = "Text1", ; + ReadOnly = .F. + *< END OBJECT: BaseClass="textbox" /> + + ADD OBJECT 'grid_web.Column8.Header1' AS header WITH ; + Alignment = 2, ; + Caption = "Valoare vanduta ce se scade (cu TVA)", ; + FontName = "Arial Narrow", ; + Name = "Header1", ; + WordWrap = .T. + *< END OBJECT: BaseClass="header" /> + + ADD OBJECT 'grid_web.Column8.Text1' AS textbox WITH ; + BackColor = 255,255,255, ; + BorderStyle = 0, ; + FontName = "Arial Narrow", ; + ForeColor = 0,0,0, ; + Margin = 0, ; + Name = "Text1" + *< END OBJECT: BaseClass="textbox" /> + + ADD OBJECT 'Label1' AS label WITH ; + Anchor = 3, ; + AutoSize = .T., ; + BackStyle = 0, ; + Caption = "Perioada", ; + Height = 17, ; + Left = 8, ; + Name = "Label1", ; + TabIndex = 10, ; + Top = 177, ; + Width = 52, ; + ZOrderSet = 7 + *< END OBJECT: BaseClass="label" /> + + ADD OBJECT 'Label2' AS label WITH ; + Anchor = 3, ; + AutoSize = .T., ; + BackStyle = 0, ; + Caption = "-", ; + Height = 17, ; + Left = 176, ; + Name = "Label2", ; + TabIndex = 11, ; + Top = 177, ; + Width = 6, ; + ZOrderSet = 15 + *< END OBJECT: BaseClass="label" /> + + ADD OBJECT 'Label3' AS label WITH ; + Anchor = 3, ; + AutoSize = .T., ; + BackStyle = 0, ; + Caption = "Lista de preturi", ; + Height = 32, ; + Left = 8, ; + Name = "Label3", ; + TabIndex = 12, ; + Top = 143, ; + Width = 46, ; + WordWrap = .T., ; + ZOrderSet = 19 + *< END OBJECT: BaseClass="label" /> + + ADD OBJECT 'txtDataF' AS textbox WITH ; + Anchor = 3, ; + ControlSource = "pdDataF", ; + Format = "k", ; + Height = 23, ; + Left = 184, ; + Name = "txtDataF", ; + TabIndex = 3, ; + Top = 174, ; + Width = 109, ; + ZOrderSet = 18 + *< END OBJECT: BaseClass="textbox" /> + + ADD OBJECT 'txtDataI' AS textbox WITH ; + Anchor = 3, ; + ControlSource = "pdDataI", ; + Format = "k", ; + Height = 23, ; + Left = 65, ; + Name = "txtDataI", ; + TabIndex = 2, ; + Top = 174, ; + Width = 109, ; + ZOrderSet = 17 + *< END OBJECT: BaseClass="textbox" /> + + PROCEDURE Activate + this.WindowState = 2 + ENDPROC + + PROCEDURE aleg_cont_transfer + PARAMETERS tnIdGest + lcSql = [select (case when p.explicatie is null then s.explicatie else p.explicatie end) as explicatie,] +; + [c.cont, p.acont from VCORESP_CONT_TIPGEST c ] +; + [left join vplcont_analitic p on c.cont = p.cont and p.an = ?gnAn ] +; + [left join vplcont_sintetic s on c.cont = s.cont and s.an = ?gnAn ] + pcFiltruOrig = [c.id_tipgest in (select nr_pag from vnom_gestiuni where id_gestiune = ?tnIdGest)] + pcfiltru = [1=2] + pcschema = [''] + pcorder = [cont,acont] + pccoloane = [cont,acont,explicatie] + pcTitlu = [Alegeti Contul de Transfer] + pcTitluColoane = [Cont,Analitic,Explicatie cont] + locauta = cauta_alfa(lcSql,pcfiltru,pcschema,pcorder,pccoloane,pcTitlu,pcTitluColoane,'',.F.,pcFiltruOrig) && 11.07.2007 + + RETURN loCauta + ENDPROC + + PROCEDURE assign_analitic + PARAMETERS tcCont,pcAct,pcRul + + PRIVATE pcCont,pcAct,pcRul,pParamP,pParamS + STORE 0 TO pParamP,pParamS + lcAnalitic = '' + lcAlias = ALIAS() + + pcCont = ALLTRIM(tcCont) + + lcSel = [SELECT * from ] + gcs + [.config_analitice WHERE cont = ?pcCont] + lcCursor = 'crs_cfg_ana' + lnSucces = goExecutor.oExecute(lcSel,lcCursor) + IF lnSucces < 0 + amessagebox(goExecutor.cEroare,0+16,"Eroare") + ENDIF + + IF lnSucces > 0 + IF RECCOUNT('crs_cfg_ana')=0 + USE IN crs_cfg_ana + lnSucces = -1 + ENDIF + ENDIF + + IF lnSucces > 0 + SELECT crs_cfg_ana + SCATTER NAME ocfg + lcCampPrefix = NVL(ALLTRIM(ocfg.camp_leg_prefix),'') + lcCampSufix = NVL(ALLTRIM(ocfg.camp_leg_sufix),'') + + IF !EMPTY(lcCampPrefix) + IF TYPE('&pcRul..'+lcCampPrefix) # 'U' + pParamP = &pcRul..&lcCampPrefix + ELSE + IF TYPE('&pcAct..'+lcCampPrefix) # 'U' + pParamP = &pcAct..&lcCampPrefix + ENDIF + ENDIF + ENDIF + + IF !EMPTY(lcCampSufix) + IF TYPE('&pcRul..'+lcCampSufix) # 'U' + pParamS = &pcRul..&lcCampSufix + ELSE + IF TYPE('&pcAct..'+lcCampSufix) # 'U' + pParamS = &pcAct..&lcCampSufix + ENDIF + ENDIF + ENDIF + + lcSel = [{call fconturi_analitice(?gcs,?pcCont,0,?pParamP,?pParamS)}] + lcCursor = 'crs_analitice' + lnSucces = goExecutor.oExecute(lcSel,lcCursor) + + IF lnSucces < 0 + amessagebox(goExecutor.cEroare,0+16,"Eroare") + ENDIF + ENDIF + + && iau Primul Simbol Analitic din Tabel - ordonat pt ca e selectat cu Distinct + IF lnSucces > 0 + SELECT crs_analitice + GO top + lcAnalitic = ALLTRIM(acont) + ENDIF + + && verificare analiticului cu Planul de Conturi + IF lnSucces > 0 + lcSel = [SELECT cont,acont from ] + gcs + [.vplcont_analitic WHERE cont = ?pcCont and acont = ?lcAnalitic and an = ?gnAn ] + lcCursor = 'crs_verific' + lnSucces = goExecutor.oExecute(lcSel,lcCursor) + IF lnSucces < 0 + amessagebox(goExecutor.cEroare,0+16,"Eroare") + ENDIF + ENDIF + + IF lnSucces > 0 + IF RECCOUNT('crs_verific')=0 + lnSucces = -1 + ENDIF + ENDIF + + IF USED('crs_cfg_ana') + USE IN crs_cfg_ana + ENDIF + IF USED('crs_verific') + USE IN crs_verific + ENDIF + IF USED('crs_analitice') + USE IN crs_analitice + ENDIF + IF USED('crs_verific') + USE IN crs_verific + ENDIF + + IF lnSucces < 0 + lcAnalitic = '' + ENDIF + + SELECT (lcAlias) + RETURN lcAnalitic + + ENDPROC + + PROCEDURE assign_values + PARAMETERS tcObjDestinatie, tcObjSursa1, tcObjSursa2 + + * lcSelRul = this.ct_grid_order1.cnumecursor + + lcOdest = ALLTRIM(tcObjDestinatie) + lcOsursa1 = ALLTRIM(tcObjSursa1) + lcOsursa2 = ALLTRIM(tcObjSursa2) + + *!* SELECT (lcSelRul) + *!* FOR i = 1 TO FCOUNT() + *!* lcNumeCol = FIELD(i) + *!* IF TYPE('&lcOsursa1..'+lcNumeCol) # 'U' + *!* &lcodest..&lcNumeCol = &lcosursa1..&lcNumeCol + *!* ENDIF + *!* IF TYPE('&lcOsursa2..'+lcNumeCol) # 'U' + *!* IF EMPTY(&lcodest..&lcNumeCol) + *!* &lcodest..&lcNumeCol = &lcosursa2..&lcNumeCol + *!* ENDIF + *!* ENDIF + *!* ENDFOR + + + + + + + ENDPROC + + PROCEDURE calcul_pret_vanzare + PARAMETERS tcTabel + + LOCAL lnPretv, lnTvav, lnCoefAdaos, lnSuma, lcTabel + STORE 0 TO lnPretv, lnTvav, lnCoefAdaos, lnSuma + + IF EMPTY(tcTabel) + lcTabel = this.ct_grid_order1.cnumecursor + ELSE + lcTabel = ALLTRIM(tcTabel) + ENDIF + + SELECT (lcTabel) + SUM ROUND(ABS(cante*pret),gnPc) TO lnSuma + + IF lnSuma <> 0 + lnCoefAdaos = (pcobj.totftva-lnSuma)/lnSuma && coeficientul mediu de adaos + ELSE + lnCoefAdaos = 1 + ENDIF + + SELECT (lcTabel) + SET FILTER TO + REPLACE ALL proc_tvav WITH pcobj.proc_tva, procent WITH ROUND(lnCoefAdaos*100,2) + CALCULATE cnt() TO lnRecords + i = 0 + SCAN + i = i + 1 + REPLACE pretv WITH pret + ROUND(pret*lnCoefAdaos,gnPpret) + REPLACE tvav WITH ROUND(pretv*(proc_tvav-1),gnPpret) + lnPretv = lnPretv + ROUND(pretv*cante,gnPC) + lnTvav = lnTvav + ROUND(tvav*cante,gnPC) + IF i = lnRecords + IF lnPretv # pcobj.totftva + REPLACE pretv WITH pretv + ROUND((pcobj.totftva - lnPretv)/cante,gnPpret) + ENDIF + IF lnTvav # pcobj.tottva + REPLACE tvav WITH tvav + ROUND((pcobj.tottva - lnTvav)/cante,gnPpret) + ENDIF + ENDIF + ENDSCAN + + ENDPROC + + PROCEDURE calcul_sume + PARAMETERS tcTabel + STORE 0 TO lnTotBaza, lnTotTva, lnBazaDiscount, lnBazaAdaos, lnTvaDiscount, lnTvaAdaos + + lcCant = this.osel_dr.cantitate + IF PCOUNT() = 0 + tcTabel = ALLTRIM(THIS.ct_grid_order1.cnumecursor) + ENDIF + + SELECT (tcTabel) + SUM ROUND(&lcCant*PRET,gnPc) TO THISFORM.ntotal + lnTotBaza = THISFORM.ntotal + + WAIT WINDOW ALLTRIM(STR(lnTotBaza)) + + SUM ROUND(ROUND(&lcCant*PRET,gnPc) * (proc_tva-1),gnPc) TO lnTotTva + + THIS.txNir.REFRESH + THIS.ct_factura1.REFRESH + THIS.ct_adaos1.REFRESH + + ENDPROC + + PROCEDURE caut_gestiune + PARAMETERS tnFel + + IF EMPTY(tnFel) + tnFel = 0 + ENDIF + + IF tnFel = 1 && pret vanzare + lcCond = [nr_pag = 6] + ELSE + lcCond = [nr_pag in (2,3,4,5)] + ENDIF + + pcselect = [select * from vnom_GESTIUNI] + pcFiltruOrig = [inactiv = 0 and ] + lcCond + pcfiltru = [1=2] + pcschema = [] + pcorder = [NUME_gestiune] + pccoloane = [nume_gestiune,cgest] + pcTitlu = [Nume Gestiune Destinatie] + pcTitluColoane = [Gestiune,Indicativ] + locauta = cauta_alfa(pcselect,pcfiltru,pcschema,pcorder,pccoloane,pcTitlu,pcTitluColoane,'',.F.,pcFiltruOrig) && 11.07.2007 + + RETURN locauta + ENDPROC + + PROCEDURE compensare + IF USED('xcont') + SELECT xcont + LOCATE FOR Pozitie # Fel_Cont AND Cu_Inregistrari = 1 + IF FOUND() + pcContul = ALLTRIM(cont_part) + pnIdPart = idPart + pcNume = numepart + pnFelCont = Fel_Cont + pcDenumire = ALLTRIM(explic_cont) + + pcCond = [ an = ?gnAn and luna = ?gnluna] + + llval = .F. && Deocamdata e doar in lei + IF llval + pccond= pccond + [ and ABS(i.precvaldeb + i.valdebit - i.precvalcred - i.valcredit)>0 and i.id_valuta = ] + ALLTRIM(STR(&lcObj..id_valuta)) + ELSE + pccond= pccond + [ and (i.precvaldeb + i.valdebit - i.precvalcred - i.valcredit = 0) ] + ENDIF + + + + pcselect = ['select i.* FROM ] + gcs + [.Vireg_parteneri i where 2=2 '] + pcfiltru = [ i.id_part = ?pnIdPart AND ABS(i.precdeb + i.debit - i.preccred - i.credit)<>0 AND i.cont = ?pcContul and ] + pcCond + pcschema = [''] + pcorder = [''] + + PRIVATE podateintrod + STORE '' TO podateintrod + + gencursor('podateintrod','crs_actcv',pcselect,pcfiltru,[''],'') + + lcFis = 'actcv' + ALLTRIM(pcContul) + + IF USED(lcFis) + USE IN &lcFis + ENDIF + + IF pnFelCont = 0 + lcsel = [SELECT *, ACONT AS ASCC, nume_val as numeval, curs as cursschimb, precdeb + debit as totctva, preccred+credit as achitat, ] +; + [precvaldeb + valdebit AS sumaval, precVALcred+VALcredit as achitatval, ] +; + [.f. as ales, 00000000000000.0000 as sumaachi, 000000000000.0000 as sumaachi2, 00000000000000.0000 as achilei, 00000000000000.0000 as difplus, 00000000000000.0000 as difminus, 000000.0000 as cursval, 000000.0000 as cursdif ] +; + [FROM crs_actcv INTO CURSOR ] + lcFis + [ READWRITE ] + ELSE + lcsel = [SELECT *, ACONT AS ASCD, nume_val as numeval, curs as cursschimb, preccred + credit as totctva, precdeb+debit as achitat, ] + ; + [precvalcred + valcredit as sumaval, precVALdeb+VALdebit as achitatval, ] + ; + [.f. as ales, 00000000000000.0000 as sumaachi, 00000000000000.0000 as sumaachi2, 00000000000000.0000 as achilei, 00000000000000.0000 as difplus, 00000000000000.0000 as difminus, 000000.0000 as cursval, 000000.0000 as cursdif ] + ; + [FROM crs_actcv INTO CURSOR ] + lcFis + [ READWRITE ] + ENDIF + &lcsel + + SELECT (lcFis) + + OPLATA=CREATEOBJECT('ocompensari') + * oplata.txtNume.value =lcNume + OPLATA.titlufrumos1.CAPTION = pcDenumire + [: ] + pcNume + OPLATA.pcFis = lcFis + OPLATA.SUMA = THIS.ct_factura1.totctva + OPLATA.pnFelCont = pnFelCont + OPLATA.SHOW(1) + + *!* SELECT (lcfis) + *!* CALCULATE cnt() FOR ales TO LnBife + *!* IF LnBife=1 + *!* LOCATE FOR ALES + *!* &M=nract + *!* ELSE + *!* &M=0 + *!* ENDIF + ENDIF + ENDIF + ENDPROC + + PROCEDURE do_adauga + *!* PRIVATE pnpretvtva + *!* pnpretvtva = 0 + *!* lcNomArt = this.ct_grid_search1.cnumecursor + *!* SELECT (lcNomArt) + *!* SCATTER NAME lorec blank + + *!* PRIVATE poCote_tva + *!* STORE '' TO poCote_tva + + *!* DO Adauga_Modifica_Inregistrare WITH [catalog_articole],lorec,,[INSERT] + *!* this.ct_grid_search1.actualizeaza_grid + ENDPROC + + PROCEDURE do_alege_lista_preturi + LOCAL lnTotctva, lnTotftva, lnTva + STORE 0 TO lnTotctva, lnTotftva, lnTva + + IF EMPTY(gcGestPermis) + AMESSAGEBOX("Nu aveti drepturi de acces pe nici o gestiune!",0+48,"Atentie") + RETURN + ENDIF + + IF EMPTY(pnId_lista) + AMESSAGEBOX("Alegeti o lista de preturi!",0+48,"Atentie") + RETURN + ENDIF + IF EMPTY(pdDataI) + AMESSAGEBOX("Completati data initiala !",0+48,"Atentie") + RETURN + ENDIF + IF EMPTY(pdDataF) + AMESSAGEBOX("Completati data finala !",0+48,"Atentie") + RETURN + ENDIF + + pcPerioada = DTOC(pdDataI) + " - " + DTOC(pdDataF) + + save_grid_tag(thisform.grid_web) + + *!* lcSel = [{call pack_gest_vanzari.vanzari_stoc(?pnId_lista, ?pdDataI, ?pdDataF, ?gnAn, ?gnLuna, ?pnNr_pag, ?gcGestPermis)}] + lcSel = [{call pack_gest_vanzari.vanzari_stoc(] + TRANSFORM(pnId_lista) + ; + [,TO_DATE('] + TTOC(pdDataI,1) + [','YYYYMMDDHH24:MI:SS'), TO_DATE('] + TTOC(pdDataF,1) + [','YYYYMMDDHH24:MI:SS'),] + ; + TRANSFORM(gnAn) + [,] + TRANSFORM(gnLuna) + [,] + TRANSFORM(gnTipGest) + [,'] + ; + ALLTRIM(TRANSFORM(poAct.id_gestiune)) + [',?gnIdSucursala)}] + lcCursor = 'cweb_vanzari' + lnSucces = goExecutor.oExecute(lcSel,lcCursor) + + IF lnSucces < 0 + amessage('Call pack_gest_vanzari.vanzari_stoc' + CHR(13) + goExecutor.cEroare,0+16,"Eroare") + RETURN + ENDIF + + restore_grid_tag(thisform.grid_web) + * thisform.grid_web.Refresh + + SELECT cweb_vanzari + *!* modificare 07.11.2012 : am pus gnPC in loc de gnPa la lnTotftva + CALCULATE SUM(ROUND(pretvtva*cante,gnPC)), SUM(ROUND(pretvtva/proc_tvav*cante,gnPC)) TO lnTotctva, lnTotftva + lnTva = lnTotctva - lnTotftva + GO TOP + + thisform.ct_factura1.txTotal.Value = lnTotctva + thisform.ct_factura1.txBaza.Value = lnTotftva + thisform.ct_factura1.txTva.Value = lnTva + + thisform.Refresh + + + + + + ENDPROC + + PROCEDURE do_cauta + thisform.do_alege_lista_preturi() + ENDPROC + + PROCEDURE do_excel + DO export_excel_grid WITH this.grid_web, 'denumire' IN proceduri_excel.prg + ENDPROC + + PROCEDURE do_modifica + *!* lcNomArt = this.ct_grid_search1.cnumecursor + *!* SELECT (lcNomArt) + *!* SCATTER NAME lorec + + *!* PRIVATE poCote_tva + *!* STORE '' TO poCote_tva + *!* + *!* lnId = lorec.id_articol + *!* DO Adauga_Modifica_Inregistrare WITH [catalog_articole],lorec,lnId,[UPDATE] + *!* this.ct_grid_search1.actualizeaza_grid + ENDPROC + + PROCEDURE do_sterge + LOCAL lnRecno, lcSelRul + * lcSelRul = this.ct_grid_order1.cnumecursor + + SELECT (lcSelRul) + *SCATTER NAME osterg + lnRecno = RECNO() + DELETE + + *!* MODIFICAT 11.04.2006 + *!* MARIUS.MUTU - AM PUS RECNO('RUL_TEMP') IN CURSORUL DE TRANSFER - LA STERGERE SA POT STERGE SI LINIA CORESPONDENTA DIN CRSTRANSFER + + *!* IF INLIST(oset.model,5,6) AND USED('crsTransfer') + *!* SELECT crsTransfer + *!* GOTO lnRecno + *!* DELETE + *!* this.ct_grid_order1.cb_tx_gestin.SetFocus() + *!* ENDIF + + *!* this.ct_grid_order1.actualizeaza_grid + *!* this.calcul_sume + + + ENDPROC + + PROCEDURE do_termin + IF this.inainte_de_do_termin() + gnButon = 1 + pnButon = 1 + Buton = 1 + pnIesire = 1 + *this.Hide + SELECT actactan + *!* modificare ROAGRESTAURANT v 0.0.14 + llVerificare = verificare_note_contabile('actactan', .T.,.T., .F.) + If !llVerificare + *!* modificare ROAGRESTAURANT v 0.0.14 ^ + This.AlwaysOnTop = .F. + Do Form verificare With .T.,.T.,3 && cu buton de precedent + This.AlwaysOnTop = .T. + Endif + + DO CASE + CASE gnButon = 3 + *onirbon.visible = .t. + * DO nrord WITH lcSelRul + OTHERWISE + this.Release + ENDCASE + ENDIF + ENDPROC + + PROCEDURE inainte_de_do_listare + thisform.AlwaysOnTop = .F. + + + LOCAL lcTabel + lcTabel = THISFORM.grid_web.RECORDSOURCE + SELECT (lcTabel) + + lcmenu = "\ cant_in_stoc INTO CURSOR cList + SELECT cList + REPORT FORM rap_descarcare TO PRINTER PROMPT PREVIEW + IF USED("cList") + USE IN cList + ENDIF + CASE lnx = 2 + SELECT (lcTabel) + REPORT FORM rap_descarcare TO PRINTER PROMPT PREVIEW + ENDCASE + + thisform.AlwaysOnTop = .T. + ENDPROC + + PROCEDURE inainte_de_do_termin + LOCAL lcSelRul, lcContTr, lcAcontTr, lcRul, lcSql, lcCursor, lnSucces, lcCant + STORE '' TO lcContTr, lcAcontTr + + LOCAL lnRecno + lnRecno = 0 + + IF EMPTY(gcGestPermis) + AMESSAGEBOX("Nu aveti drepturi de acces pe nici o gestiune!",0+48,"Atentie") + RETURN .F. + ENDIF + + IF !USED("cWeb_Vanzari") + AMESSAGEBOX("Tabelul de vanzari nu contine inregistrari!",0+48,"Atentie") + RETURN .F. + ENDIF + + *** completez tabela ACTACTAN + IF TYPE('oitem') = 'O' + IF PEMSTATUS(oitem,'adunadate',5) + oitem.adunadate() + ENDIF + ENDIF + + llSucces = THIS.MAKE_RULTEMP() + IF !llSucces + RETURN .F. + ENDIF + ***********************************************************************************************************************8 + SELECT rul_temp && crsStocTemp + CALCULATE SUM(ROUND(PRET*cante,gnPc)), SUM(ROUND(pretv*cante - PRET*cante,gnPc)) TO pnBazaBon, pnAdaos + pnTvaVanzOut = 0 + + SELECT cWeb_Vanzari + * folosesc sumele pentru incasare + CALCULATE SUM(ROUND(ROUND(pretvtva/IIF(proc_tvav<>0,proc_tvav,1),gnPpret)*cant_vand,gnPc)) TO pnBazaFactura + CALCULATE SUM(ROUND((pretvtva - (pretvtva/IIF(proc_tvav<>0,proc_tvav,1))) * cant_vand,gnPc)) TO pnTVAFactura + + ***------------------ + * 411 = 70x + SELECT proc_tvav, SUM(ROUND(ROUND(pretvtva/IIF(proc_tvav<>0,proc_tvav,1),gnPPretV)*cant_vand,gnPc)) AS bazaFact ; + FROM cWeb_Vanzari ; + GROUP BY proc_tvav ; + INTO CURSOR cBazaCote + + SELECT actactan + LOCATE FOR LEFT(scd,3) = '411' AND LEFT(scc,1) = '7' + IF FOUND() + SCATTER NAME loActBaza + DELETE + + SELECT cBazaCote + SCAN + lnProc_tvav = proc_tvav + lnBazaFact = bazaFact + SELECT actactan + loActBaza.proc_tva = lnProc_tvav + loActBaza.suma = lnBazaFact + * REPLACE suma WITH pnBazaFactura + APPEND BLANK + GATHER NAME loActBaza + SELECT cBazaCote + ENDSCAN + + IF USED("cBazaCote") + USE IN cBazaCote + ENDIF + RELEASE loActBaza + + ENDIF + + + + ***------------------ + * 411 = 4427 + SELECT proc_tvav, SUM(ROUND((pretvtva - (pretvtva/IIF(proc_tvav<>0,proc_tvav,1))) * cant_vand,gnPc)) AS TVAFact ; + FROM cWeb_Vanzari ; + GROUP BY proc_tvav ; + INTO CURSOR cTVACote + + SELECT actactan + LOCATE FOR LEFT(scd,3) = '411' AND ALLTRIM(scc) = '4427' + IF FOUND() + SCATTER NAME loActTVA + DELETE + + SELECT cTVACote + SCAN + lnProc_tvav = proc_tvav + lnTVAFact = TVAFact + SELECT actactan + loActTVA.proc_tva = lnProc_tvav + loActTVA.suma = lnTVAFact + + APPEND BLANK + GATHER NAME loActTVA + SELECT cTVACote + ENDSCAN + + IF USED("cTVACote") + USE IN cTVACote + ENDIF + RELEASE loActTVA + + ENDIF + + + ***------------------ + + *!* SELECT actactan + *!* LOCATE FOR LEFT(scd,3) = '411' AND LEFT(scc,1) = '7' + *!* IF FOUND() + *!* REPLACE suma WITH pnBazaFactura + *!* ENDIF + + *!* SELECT actactan + *!* LOCATE FOR LEFT(scd,3) = '411' AND ALLTRIM(scc) = '4427' + *!* IF FOUND() + *!* REPLACE suma WITH pnTVAFactura + *!* ENDIF + + SELECT actactan + LOCATE FOR LEFT(scd,1) = '5' AND LEFT(scc,3) = '411' + IF FOUND() + REPLACE suma WITH ROUND(pnBazaFactura + pnTVAFactura,gnPc) + ENDIF + + && NOTE + SELECT * FROM XNOTE WHERE id_set = oset.id_set INTO CURSOR crsNota + + lcField = '' + SELECT xact + GO TOP + + FOR i = 1 TO FCOUNT() + IF UPPER(ALLTRIM(EVALUATE(FIELD(i)))) = 'SUMA' + lcField = FIELD(i) + EXIT + ENDIF + ENDFOR + + IF EMPTY(lcField) + RETURN .T. + ENDIF + + + SELECT DISTINCT xscd AS scd, xscc AS scc, PADR(&lcField,100,' ') AS eticheta FROM crsNota ; + WHERE INLIST(UPPER(ALLTRIM(xscd)),'X') OR INLIST(UPPER(ALLTRIM(xscc)),'X'); + INTO CURSOR crsIcsi + + IF _TALLY > 0 + + SELECT crsIcsi + SCAN + lcEticheta = LOWER(ALLTRIM(eticheta)) + IF EMPTY(lcEticheta) + aMESSAGEBOX('NECONFIGURAT xnote.dbf !',48,'Atentie!') + LOOP + ENDIF + lcSCD = UPPER(ALLTRIM(scd)) + lcSCC = UPPER(ALLTRIM(scc)) + IF INLIST(oset.model, 5, 6) && TRANSFER, RETUR TRANSFER + IF lcSCD = 'Y' + lcSCD = lcContTr + ENDIF + IF lcSCC = 'Y' + lcSCC = lcContTr + ENDIF + ENDIF + + ************************************************************************************************************88 + DO CASE + CASE 'pnadaos' $ lcEticheta + lcSelect = [SELECT CONT,ACONT,id_gestiune,] + ; + IIF(TYPE('rul_temp.proc_tvav')#'U',[proc_tvav],[0000]) + [ as proc_tva,] +; + IIF(TYPE('rul_temp.id_gestin')#'U',[id_gestin],[000000000]) + [ as id_gestin,] + ; + IIF(TYPE('rul_temp.id_gestout')#'U',[id_gestout],[000000000]) + [ as id_gestout,] + ; + IIF(TYPE('rul_temp.gestin')#'U',[gestin],[SPACE(50)]) + [ as gestin,] + ; + IIF(TYPE('rul_temp.gestout')#'U',[gestout],[SPACE(50)]) + [ as gestout,] + ; + [SUM(ROUND(cante *(pretv-pret),gnPc)) AS suma ] + ; + [FROM rul_temp where nuInConturiX = 0 into cursor crsConturiX ] + ; + [GROUP BY 1,2,3,4,5,6,7,8] + &lcSelect + CASE 'pntvavanzout' $ lcEticheta + lcSelect = [SELECT CONT,ACONT,id_gestiune,] + ; + IIF(TYPE('rul_temp.proc_tva')#'U',[proc_tva],[0000]) + [ as proc_tva,] +; + IIF(TYPE('rul_temp.id_gestin')#'U',[id_gestin],[000000000]) + [ as id_gestin,] + ; + IIF(TYPE('rul_temp.id_gestout')#'U',[id_gestout],[000000000]) + [ as id_gestout,] + ; + IIF(TYPE('rul_temp.gestin')#'U',[gestin],[SPACE(50)]) + [ as gestin,] + ; + IIF(TYPE('rul_temp.gestout')#'U',[gestout],[SPACE(50)]) + [ as gestout,] + ; + [SUM(ROUND(cante*ROUND(pretvtva*(proc_tvav-1)/proc_tvav,gnPPretV),gnPC)) AS suma ] + ; + [FROM rul_temp where nuInConturiX = 0 into cursor crsConturiX ] + ; + [GROUP BY 1,2,3,4,5,6,7,8] + + &lcSelect + + OTHERWISE && pnBazaBon + lcEticheta = &lcEticheta + lcSelect = [SELECT CONT,ACONT,id_gestiune,] + ; + IIF(TYPE('rul_temp.proc_tva')#'U',[proc_tva],[0000]) + [ as proc_tva,] +; + IIF(TYPE('rul_temp.id_gestin')#'U',[id_gestin],[000000000]) + [ as id_gestin,] + ; + IIF(TYPE('rul_temp.id_gestout')#'U',[id_gestout],[000000000]) + [ as id_gestout,] + ; + IIF(TYPE('rul_temp.gestin')#'U',[gestin],[SPACE(50)]) + [ as gestin,] + ; + IIF(TYPE('rul_temp.gestout')#'U',[gestout],[SPACE(50)]) + [ as gestout,] + ; + [SUM(ROUND(cante*pret,gnPC)) AS suma ] + ; + [FROM rul_temp where nuInConturiX = 0 into cursor crsConturiX ] + ; + [GROUP BY 1,2,3,4,5,6,7,8] + &lcSelect + ENDCASE + + + SELECT crsConturiX + SCAN FOR suma*0 = 0 && sa evit cazurile in care suma este ****** + SCATTER NAME loCX + SELECT actactan + LOCATE FOR UPPER(ALLTRIM(scd)) = lcSCD AND UPPER(ALLTRIM(scc)) = lcSCC + IF FOUND() + SCATTER NAME loActactan + WITH loActactan + IF UPPER(ALLTRIM(.scd)) = 'X' + .scd = loCX.CONT + .ascd = NVL(loCX.acont,'') + .suma = loCX.suma + *.proc_tva = loCX.proc_tva + .id_gestin = loCX.id_gestin + .gestin = loCX.gestin + .id_gestout = loCX.id_gestout + .gestout = loCX.gestout + *!* .id_sectie = loCX.id_sectie + *!* .sectie = loCX.sectie + ENDIF + IF UPPER(ALLTRIM(.scc)) = 'X' + .scc = loCX.CONT + .ascc = NVL(loCX.acont,'') + .suma = loCX.suma + IF LEFT(.scd,1) = '6' AND ALLTRIM(.scd) # '607' AND INLIST(oset.model, 3, 4) && BON, RETUR + .scd = STRTRAN(.scc, '3', '6', 1, 1) + ENDIF + .proc_tva = loCX.proc_tva + .id_gestin = loCX.id_gestin + .gestin = loCX.gestin + .id_gestout = loCX.id_gestout + .gestout = loCX.gestout + *!* .id_sectie = loCX.id_sectie + *!* .sectie = loCX.sectie + ENDIF + ENDWITH + APPEND BLANK + GATHER NAME loActactan + ENDIF && IF FOUND() + + SELECT crsConturiX + ENDSCAN + SELECT crsIcsi + ENDSCAN + + DELETE FROM actactan WHERE INLIST(UPPER(ALLTRIM(scd)),'X') OR INLIST(UPPER(ALLTRIM(scc)),'X') + ENDIF + + SELECT rul_temp + REPLACE ALL dataact WITH loActactan.dataact, ; + nnir WITH loActactan.nnir, ; + id_sectie WITH loActactan.id_sectie, ; + id_responsabil WITH loActactan.id_responsabil, ; + id_lucrare WITH loActactan.id_lucrare + + + IF USED('crsNota') + USE IN crsNota + ENDIF + + + && ordonez notele contabile in ACTACTAN + SELECT actactan + SUM suma TO lnSume + + IF lnSume <> 0 + lcCondDele = [!(suma = 0 and !(((left(scd,1) = '3' and left(scc,2) = '40') OR (left(scd,2) = '41' and left(scc,1) = '7')) AND proc_tva # 1))] + ELSE + lcCondDele = [suma = 0 AND nr_nota = 1 ] + ENDIF + SELECT * FROM actactan INTO CURSOR crsActActan WHERE &lcCondDele OR INLIST(id_set, 89, 210, 211, 212) ORDER BY nr_nota NOFILTER READWRITE + + SELECT actactan + DELETE FROM actactan + APPEND FROM DBF('crsactactan') + IF USED('crsactactan') + USE IN crsActActan + ENDIF + + && completare analitice + + SELECT actactan + SCAN FOR EMPTY(NVL(ascd,'')) + SCATTER NAME loActactan + IF TYPE('loActactan.cont') = 'U' + x = ADDPROPERTY(loActactan,'cont',loActactan.scd) + ENDIF + IF oset.model = 2 AND TYPE('loActactan.id_gestiune') = 'U' && NIR + x = ADDPROPERTY(loActactan,'id_gestiune',loActactan.id_gestin) + ENDIF + IF INLIST(oset.model, 3, 4) AND TYPE('loActactan.id_gestiune') = 'U' && BON, RETUR + x = ADDPROPERTY(loActactan,'id_gestiune',loActactan.id_gestout) + ENDIF + loActactan.ascd = THIS.assign_analitic(loActactan.scd,THIS.cobj,'loActactan') + REPLACE ascd WITH loActactan.ascd + SELECT actactan + ENDSCAN + + SELECT actactan + SCAN FOR EMPTY(NVL(ascc,'')) + SCATTER NAME loActactan + IF TYPE('loActactan.cont') = 'U' + x = ADDPROPERTY(loActactan,'cont',loActactan.scc) + ENDIF + IF oset.model = 2 AND TYPE('loActactan.id_gestiune') = 'U' && NIR + x = ADDPROPERTY(loActactan,'id_gestiune',loActactan.id_gestin) + ENDIF + IF INLIST(oset.model, 3, 4) AND TYPE('loActactan.id_gestiune') = 'U' && BON, RETUR + x = ADDPROPERTY(loActactan,'id_gestiune',loActactan.id_gestout) + ENDIF + loActactan.ascc = THIS.assign_analitic(loActactan.scc,THIS.cobj,'loActactan') + REPLACE ascc WITH loActactan.ascc + SELECT actactan + ENDSCAN + + + IF TYPE('loActactan') = 'O' + RELEASE loActactan + ENDIF + + SELECT actactan + GO TOP + + RETURN .T. + + ENDPROC + + PROCEDURE KeyPress + Lparameters nKeyCode, nShiftAltCtrl + + LOCAL lcCtrGrid, lcCtrCriteriu, lcControl + lcCtrGrid = [] + lcCtrCriteriu = [] + + lcControl = UPPER(this.ActiveControl.Name) + IF lcControl = '_GRID1' + lcCtrGrid = UPPER(this.ActiveControl.comment) + ENDIF + IF lcControl = 'CRITERIU' + lcCtrCriteriu = UPPER(this.ActiveControl.comment) + ENDIF + + IF nkeyCode = 13 AND 'GRD_ST' $ lcCtrGrid + NODEFAULT + thisform.urmator1.comMAND1.SetFocus + ENDIF + + IF nkeyCode = 13 AND 'GRD_DR' $ lcCtrGrid + NODEFAULT + *thisform.ct_grid_search1.Cb_tx_cautare1.text.SetFocus + ENDIF + + If (nKeyCode >=33 And nKeyCode <=122) And ('CRITERIU_ST' $ lcCtrCriteriu OR 'GRD_ST' $ lcCtrGrid) + Nodefault + This.ct_grid_search1.Cb_tx_cautare1.Text.Value = Alltrim(This.ct_grid_search1.Cb_tx_cautare1.Text.Value) + Chr(nKeyCode) + This.ct_grid_search1.Cb_tx_cautare1.Text.SetFocus + Keyboard '{END}' + ENDIF + + If (nKeyCode = 127) And ('CRITERIU_ST' $ lcCtrCriteriu OR 'GRD_ST' $ lcCtrGrid) && backspace + Nodefault + This.ct_grid_search1.Cb_tx_cautare1.Text.Value = Left(Alltrim(This.ct_grid_search1.Cb_tx_cautare1.Text.Value),Len(Alltrim(This.ct_grid_search1.Cb_tx_cautare1.Text.Value))-1) + This.ct_grid_search1.Cb_tx_cautare1.Text.SetFocus + Keyboard '{END}' + Endif + + If (nKeyCode >=33 And nKeyCode <=122) And ('CRITERIU_DR' $ lcCtrCriteriu OR 'GRD_DR' $ lcCtrGrid) + Nodefault + This.ct_grid_order1.Cb_tx_cautare1.Text.Value = Alltrim(This.ct_grid_order1.Cb_tx_cautare1.Text.Value) + Chr(nKeyCode) + This.ct_grid_order1.Cb_tx_cautare1.Text.SetFocus + Keyboard '{END}' + ENDIF + + If (nKeyCode = 127) And ('CRITERIU_DR' $ lcCtrCriteriu OR 'GRD_DR' $ lcCtrGrid) && backspace + Nodefault + This.ct_grid_order1.Cb_tx_cautare1.Text.Value = Left(Alltrim(This.ct_grid_order1.Cb_tx_cautare1.Text.Value),Len(Alltrim(This.ct_grid_order1.Cb_tx_cautare1.Text.Value))-1) + This.ct_grid_order1.Cb_tx_cautare1.Text.SetFocus + Keyboard '{END}' + ENDIF + + *If (nKeyCode = 27) && esc + DoDefault(nKeyCode, nShiftAltCtrl) + *Endif + ENDPROC + + PROCEDURE make_rultemp + && completez RUL_TEMP + + lcStoc = this.grid_web.RecordSource + + IF USED('rul_temp') + USE IN rul_temp + ENDIF + + * lcRul = ALLTRIM(THIS.osel_dr.cfrom) + lcSql = [select v.*, v.id_gestiune as id_gestin, v.nume_gestiune as gestin, v.id_gestiune as id_gestout,] + ; + [v.nume_gestiune as gestout, 0 as nuInConturiX from ] + gcS + [.vrul v where 1=2] + lcCursor = [rul_temp] + lnSucces = goExecutor.oExecute(lcSql,lcCursor) + IF lnSucces < 0 + AMESSAGEBOX(goExecutor.cEroare,0+16, 'Eroare') + ENDIF + + lcSql = [select id_articol, id_gestiune, pret, proc_tvav, cont, acont, SUM(cants + cant - cante) as stoc ] + ; + [from stoc where an = ] + TRANSFORM(gnAn) + [ and luna = ] + TRANSFORM(gnLuna) + ; + [ and id_gestiune in (] + TRANSFORM(poAct.id_gestiune) + [)] + gcCondSucursala + ; + [ group by id_articol, id_gestiune, pret, proc_tvav, cont, acont order by pret] + lcCursor = [crsStocActual1] + lnSucces = goExecutor.oExecute(lcSql,lcCursor) + IF lnSucces < 0 + AMESSAGEBOX(goExecutor.cEroare,0+16, 'Eroare') + ENDIF + + SELECT * FROM crsStocActual1 ; + WITH (buffering = .T.) ; + INTO CURSOR crsStocActual ; + readwrite + + USE IN crsStocActual1 + + SELECT id_articol, cante, pretvtva, proc_tvav ; + FROM (lcStoc) ; + WHERE CANTE > 0 ; + INTO CURSOR crsStocTemp ; + READWRITE + + SELECT crsStocTemp + SCAN + lnCantRamas = cante + lnIdArticol = id_articol + lnPretvtva = pretvtva + lnProcTvav = IIF(proc_tvav > 0, proc_tvav, 1) + lnPretv = ROUND(lnPretvtva / lnProcTvav, gnPpret) + lnTvav = lnPretvtva - lnPretv + + SELECT crsStocActual + LOCATE FOR id_articol = lnIdArticol AND stoc > 0 AND lnCantRamas > 0 + DO WHILE FOUND() + lnCante = MIN(lnCantRamas, stoc) + lnCantRamas = lnCantRamas - lnCante + lnPret = pret + lnIdGestiune = id_gestiune + lcCont = cont + lcAcont = acont + lnAdaos = lnPretv - lnPret + lnAdaosTva = ROUND(lnAdaos * IIF(lnProcTvav <> 0, lnProcTvav-1,0),max(gnPpret,gnPPretV)) + + REPLACE stoc WITH stoc - lnCante + + SELECT rul_temp + SCATTER NAME loRul BLANK + WITH loRul + .id_articol = lnIdArticol + .id_gestout = lnIdGestiune + .id_gestiune = lnIdGestiune + .cante = lnCante + .pret = lnPret + .pretvtva = lnPretvtva + .proc_tvav = lnProcTvav + .pretv = lnPretv + .proc_tva = lnProcTvav + .cont = lcCont + .acont = lcAcont + .adaos = lnAdaos + .adaos_tva = lnAdaosTva + ENDWITH + SELECT rul_temp + APPEND BLANK + GATHER NAME loRul + + SELECT crsStocActual + LOCATE FOR id_articol = lnIdArticol AND stoc > 0 AND lnCantRamas > 0 + ENDDO + ENDSCAN + + + + + + + + + + + ENDPROC + + PROCEDURE Release + IF USED("cWeb_vanzari") + USE IN cWeb_vanzari + ENDIF + ENDPROC + + PROCEDURE cboListe.Valid + pnId_lista = cListePret.id_pol + + ENDPROC + + PROCEDURE grid_web.Column7.Text1.Valid + LOCAL lcTabel, lnCant_vand, lnCant_in_stoc + lcTabel = THISFORM.grid_web.RECORDSOURCE + STORE 0 TO lnCant_vand, lnCant_in_stoc + + SELECT (lcTabel) + lnCant_vand = cant_vand + lnCant_in_stoc = cant_in_stoc + lnCant_Max = MIN(lnCant_vand, lnCant_in_stoc) + lnCante = cante + + IF lnCante > lnCant_Max + WAIT WINDOW 'Nu puteti scoate o cantitate mai mare decat cea aflata in stoc/vanduta !' NOWAIT + lnCante = lnCant_Max + REPLACE cante WITH lnCante + ENDIF + + SELECT (lcTabel) + REPLACE cant_ramasa_de_scazut WITH cant_vand - lnCante, ; + val_vand WITH pretvtva * lnCante + THISFORM.grid_web.REFRESH + ENDPROC + + PROCEDURE grid_web.Init + this.SetAll("DynamicBackColor","IIF(cant_vand > cant_in_stoc, RGB(255,205,155), RGB(255,255,255))", "Column") + ENDPROC + + PROCEDURE Lb_titlu_alb_b121.Init + IF TYPE('oxset.nume_set') # 'U' + this.Caption = PROPER(ALLTRIM(oxset.nume_set)) + ENDIF + ENDPROC + + PROCEDURE txtDataF.Valid + pdDataF = this.value + + + ENDPROC + + PROCEDURE txtDataI.Valid + pdDataI = this.value + ENDPROC + + PROCEDURE _shape1.DblClick + IF thisform.WindowState = 2 + thisform.WindowState = 0 + ELSE + thisform.WindowState = 2 + ENDIF + ENDPROC + +ENDDEFINE + +DEFINE CLASS webnir_pretvanzare AS _frmbase OF "_frm_base.vcx" + *< CLASSDATA: Baseclass="form" Timestamp="" Scale="Pixels" Uniqueid="" /> + + *-- OBJECTDATA items order determines ZOrder / El orden de los items OBJECTDATA determina el ZOrder + *< OBJECTDATA: ObjPath="_shapeSus" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="But_renunt1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="Label1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="txtDataF" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="Label3" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="cboListe" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="grid_web" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="grid_web.Column1.Header1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="grid_web.Column1.Text1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="grid_web.Column2.Header1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="grid_web.Column2.Text1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="grid_web.Column3.Header1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="grid_web.Column3.Text1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="grid_web.Column4.Header1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="grid_web.Column4.Text1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="grid_web.Column5.Header1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="grid_web.Column5.Text1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="grid_web.Column6.Header1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="grid_web.Column6.Text1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="grid_web.Column7.Header1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="grid_web.Column7.Text1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="grid_web.Column8.Header1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="grid_web.Column8.Text1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="grid_web.Column11.Header1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="grid_web.Column11.Text1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="Ct_factura1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="Cmd_cauta1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="Label2" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="But_excel1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="But_listare1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="txtDataI" UniqueID="" Timestamp="" /> + + #INCLUDE "c:\program files\microsoft visual foxpro 9\foxpro.h" + * + *m: aleg_cont_transfer + *m: assign_analitic + *m: assign_values + *m: calcul_pret_vanzare + *m: calcul_sume + *m: caut_gestiune + *m: compensare + *m: do_alege_lista_preturi + *m: make_rultemp + *p: cfrm_ceredate + *p: cobj + *p: ctip_frm + *p: ntotal + *p: osel_dr + * + + * + BorderStyle = 1 + cbuton3 = + cbuton4 = Ct_grid_order1.But_sterge1;but_reface1 + cfrm_ceredate = + cobj = + ctip_frm = NIR + DoCreate = .T. + Height = 572 + lactiv1 = .T. + lactiv3 = .T. + lactiv4 = .T. + Name = "webnir_pretvanzare" + ntotal = 0 + osel_dr = + Width = 793 + WindowType = 1 + _shape1.Anchor = 11 + _shape1.Height = 30 + _shape1.Left = -1 + _shape1.Name = "_shape1" + _shape1.Tag = "" + _shape1.Top = -1 + _shape1.Width = 726 + _shape1.ZOrderSet = 0 + _shape2.Anchor = 9 + _shape2.Height = 29 + _shape2.Left = 724 + _shape2.Name = "_shape2" + _shape2.Tag = "MOVABLE" + _shape2.Top = 0 + _shape2.Width = 69 + _shape2.ZOrderSet = 1 + Lb_titlu_alb_b121.Anchor = 3 + Lb_titlu_alb_b121.FontName = "Comic Sans MS" + Lb_titlu_alb_b121.FontSize = 10 + Lb_titlu_alb_b121.Height = 20 + Lb_titlu_alb_b121.Left = 10 + Lb_titlu_alb_b121.Name = "Lb_titlu_alb_b121" + Lb_titlu_alb_b121.TabIndex = 8 + Lb_titlu_alb_b121.Top = 3 + Lb_titlu_alb_b121.Width = 41 + Lb_titlu_alb_b121.ZOrderSet = 3 + BUT_TERMIN1.Anchor = 9 + BUT_TERMIN1.Height = 27 + BUT_TERMIN1.Left = 757 + BUT_TERMIN1.Name = "BUT_TERMIN1" + BUT_TERMIN1.TabIndex = 6 + BUT_TERMIN1.Tag = "" + BUT_TERMIN1.Top = 1 + BUT_TERMIN1.Width = 32 + BUT_TERMIN1.ZOrderSet = 6 + Gridsort1.Name = "Gridsort1" + * + + ADD OBJECT '_shapeSus' AS _shape WITH ; + Anchor = 11, ; + BackStyle = 0, ; + BorderColor = 7,118,177, ; + BorderWidth = 2, ; + Height = 103, ; + Left = 8, ; + Name = "_shapeSus", ; + Tag = "RESIZABLE, MOVABLE", ; + Top = 35, ; + Width = 780, ; + ZOrderSet = 4 + *< END OBJECT: ClassLib="_baza.vcx" BaseClass="shape" /> + + ADD OBJECT 'But_excel1' AS but_excel WITH ; + Anchor = 9, ; + Left = 695, ; + Name = "But_excel1", ; + Top = 1, ; + Visible = .T. + *< END OBJECT: ClassLib="cmd_butoane.vcx" BaseClass="commandbutton" /> + + ADD OBJECT 'But_listare1' AS but_listare WITH ; + Anchor = 9, ; + Left = 665, ; + Name = "But_listare1", ; + Top = 1, ; + Visible = .T. + *< END OBJECT: ClassLib="cmd_butoane.vcx" BaseClass="commandbutton" /> + + ADD OBJECT 'But_renunt1' AS but_renunt WITH ; + Anchor = 9, ; + Left = 727, ; + Name = "But_renunt1", ; + TabIndex = 7, ; + Tag = "", ; + Top = 1, ; + ZOrderSet = 5 + *< END OBJECT: ClassLib="cmd_butoane.vcx" BaseClass="commandbutton" /> + + ADD OBJECT 'cboListe' AS combobox WITH ; + Anchor = 3, ; + ColumnCount = 4, ; + ColumnLines = .F., ; + ColumnWidths = "200,65,60,0", ; + Format = "", ; + Height = 24, ; + Left = 66, ; + Name = "cboListe", ; + RowSource = "cListePret.nume_lista_preturi,datai,datas,id_pol", ; + RowSourceType = 2, ; + Style = 2, ; + TabIndex = 1, ; + Top = 147, ; + Width = 229, ; + ZOrderSet = 11 + *< END OBJECT: BaseClass="combobox" /> + + ADD OBJECT 'Cmd_cauta1' AS cmd_cauta WITH ; + Anchor = 3, ; + Left = 295, ; + Name = "Cmd_cauta1", ; + TabIndex = 4, ; + Top = 172 + *< END OBJECT: ClassLib="cmd_butoane.vcx" BaseClass="commandbutton" /> + + ADD OBJECT 'Ct_factura1' AS ct_factura WITH ; + Anchor = 131, ; + Left = 14, ; + Name = "Ct_factura1", ; + TabIndex = 9, ; + Tag = "", ; + Top = 52, ; + ZOrderSet = 13, ; + lbBaza.Name = "lbBaza", ; + lbTva.Name = "lbTva", ; + txBaza.Name = "txBaza", ; + txTva.Name = "txTva", ; + lbExplic.Name = "lbExplic", ; + txTotal.Name = "txTotal", ; + lbTotal.Name = "lbTotal" + *< END OBJECT: ClassLib="ferestre_cere_date.vcx" BaseClass="container" /> + + ADD OBJECT 'grid_web' AS _grdrow WITH ; + Anchor = 15, ; + ColumnCount = 9, ; + DeleteMark = .F., ; + FontName = "Arial Narrow", ; + HeaderHeight = 38, ; + Height = 348, ; + HighlightStyle = 2, ; + Left = 8, ; + Name = "grid_web", ; + Panel = 1, ; + ReadOnly = .F., ; + RecordSource = "cWeb_vanzari", ; + TabIndex = 5, ; + Top = 206, ; + Width = 778, ; + ZOrderSet = 20, ; + Column1.ControlSource = "nr_crt", ; + Column1.FontName = "Arial Narrow", ; + Column1.Format = "rk", ; + Column1.InputMask = "9999", ; + Column1.Name = "Column1", ; + Column1.ReadOnly = .T., ; + Column1.Width = 26, ; + Column2.ControlSource = "codmat", ; + Column2.FontName = "Arial Narrow", ; + Column2.Name = "Column2", ; + Column2.ReadOnly = .T., ; + Column2.Width = 44, ; + Column3.ControlSource = "denumire", ; + Column3.FontName = "Arial Narrow", ; + Column3.Name = "Column3", ; + Column3.ReadOnly = .T., ; + Column3.Width = 216, ; + Column4.ColumnOrder = 5, ; + Column4.ControlSource = "cant_vand", ; + Column4.FontName = "Arial Narrow", ; + Column4.Format = "rk", ; + Column4.InputMask = (get_mask(7,gnPCant)), ; + Column4.Name = "Column4", ; + Column4.ReadOnly = .T., ; + Column4.Width = 48, ; + Column5.ColumnOrder = 4, ; + Column5.ControlSource = "pretvtva", ; + Column5.FontName = "Arial Narrow", ; + Column5.Format = "rk", ; + Column5.InputMask = (get_mask(10,gnPPretV)), ; + Column5.Name = "Column5", ; + Column5.ReadOnly = .T., ; + Column5.Width = 71, ; + Column6.ControlSource = "cant_in_stoc", ; + Column6.FontName = "Arial Narrow", ; + Column6.Format = "rk", ; + Column6.InputMask = (get_mask(7,gnPCant)), ; + Column6.Name = "Column6", ; + Column6.ReadOnly = .T., ; + Column6.Width = 52, ; + Column7.BackColor = 223,248,255, ; + Column7.ControlSource = "cante", ; + Column7.DynamicBackColor = "223,248,255", ; + Column7.FontName = "Arial Narrow", ; + Column7.Format = "rk", ; + Column7.InputMask = (get_mask(7,gnPCant)), ; + Column7.Name = "Column7", ; + Column7.ReadOnly = .F., ; + Column7.Width = 53, ; + Column8.ColumnOrder = 9, ; + Column8.ControlSource = "val_vand", ; + Column8.FontName = "Arial Narrow", ; + Column8.Format = "rk", ; + Column8.InputMask = (get_mask(7,gnPA)), ; + Column8.Name = "Column8", ; + Column8.ReadOnly = .F., ; + Column8.Width = 94, ; + Column9.ColumnOrder = 8, ; + Column9.ControlSource = "cant_ramasa_de_scazut", ; + Column9.FontName = "Arial Narrow", ; + Column9.Format = "rk", ; + Column9.InputMask = (get_mask(7,gnPCant)), ; + Column9.Name = "Column11", ; + Column9.ReadOnly = .F. + *< END OBJECT: ClassLib="_grd_base.vcx" BaseClass="grid" /> + + ADD OBJECT 'grid_web.Column1.Header1' AS header WITH ; + Alignment = 2, ; + Caption = "Nr. crt.", ; + FontName = "Arial Narrow", ; + Name = "Header1", ; + WordWrap = .T. + *< END OBJECT: BaseClass="header" /> + + ADD OBJECT 'grid_web.Column1.Text1' AS textbox WITH ; + BackColor = 255,255,255, ; + BorderStyle = 0, ; + FontName = "Arial Narrow", ; + ForeColor = 0,0,0, ; + Margin = 0, ; + Name = "Text1", ; + ReadOnly = .T. + *< END OBJECT: BaseClass="textbox" /> + + ADD OBJECT 'grid_web.Column11.Header1' AS header WITH ; + Alignment = 2, ; + Caption = "Cantitate ramasa de scazut", ; + FontName = "Arial Narrow", ; + Name = "Header1", ; + WordWrap = .T. + *< END OBJECT: BaseClass="header" /> + + ADD OBJECT 'grid_web.Column11.Text1' AS textbox WITH ; + BackColor = 255,255,255, ; + BorderStyle = 0, ; + FontName = "Arial Narrow", ; + ForeColor = 0,0,0, ; + Margin = 0, ; + Name = "Text1" + *< END OBJECT: BaseClass="textbox" /> + + ADD OBJECT 'grid_web.Column2.Header1' AS header WITH ; + Alignment = 2, ; + Caption = "Cod mat.", ; + FontName = "Arial Narrow", ; + Name = "Header1", ; + WordWrap = .T. + *< END OBJECT: BaseClass="header" /> + + ADD OBJECT 'grid_web.Column2.Text1' AS textbox WITH ; + BackColor = 255,255,255, ; + BorderStyle = 0, ; + FontName = "Arial Narrow", ; + ForeColor = 0,0,0, ; + Margin = 0, ; + Name = "Text1", ; + ReadOnly = .T. + *< END OBJECT: BaseClass="textbox" /> + + ADD OBJECT 'grid_web.Column3.Header1' AS header WITH ; + Alignment = 2, ; + Caption = "Denumire", ; + FontName = "Arial Narrow", ; + Name = "Header1" + *< END OBJECT: BaseClass="header" /> + + ADD OBJECT 'grid_web.Column3.Text1' AS textbox WITH ; + BackColor = 255,255,255, ; + BorderStyle = 0, ; + FontName = "Arial Narrow", ; + ForeColor = 0,0,0, ; + Margin = 0, ; + Name = "Text1", ; + ReadOnly = .T. + *< END OBJECT: BaseClass="textbox" /> + + ADD OBJECT 'grid_web.Column4.Header1' AS header WITH ; + Alignment = 2, ; + Caption = "Cantitate vanduta", ; + FontName = "Arial Narrow", ; + Name = "Header1", ; + WordWrap = .T. + *< END OBJECT: BaseClass="header" /> + + ADD OBJECT 'grid_web.Column4.Text1' AS textbox WITH ; + BackColor = 255,255,255, ; + BorderStyle = 0, ; + FontName = "Arial Narrow", ; + ForeColor = 0,0,0, ; + Margin = 0, ; + Name = "Text1", ; + ReadOnly = .T. + *< END OBJECT: BaseClass="textbox" /> + + ADD OBJECT 'grid_web.Column5.Header1' AS header WITH ; + Alignment = 2, ; + Caption = "Pret de vanzare (cu TVA)", ; + FontName = "Arial Narrow", ; + Name = "Header1", ; + WordWrap = .T. + *< END OBJECT: BaseClass="header" /> + + ADD OBJECT 'grid_web.Column5.Text1' AS textbox WITH ; + BackColor = 255,255,255, ; + BorderStyle = 0, ; + FontName = "Arial Narrow", ; + ForeColor = 0,0,0, ; + Margin = 0, ; + Name = "Text1", ; + ReadOnly = .T. + *< END OBJECT: BaseClass="textbox" /> + + ADD OBJECT 'grid_web.Column6.Header1' AS header WITH ; + Alignment = 2, ; + Caption = "Cantitate in stoc", ; + FontName = "Arial Narrow", ; + Name = "Header1", ; + WordWrap = .T. + *< END OBJECT: BaseClass="header" /> + + ADD OBJECT 'grid_web.Column6.Text1' AS textbox WITH ; + BackColor = 255,255,255, ; + BorderStyle = 0, ; + FontName = "Arial Narrow", ; + ForeColor = 0,0,0, ; + Margin = 0, ; + Name = "Text1", ; + ReadOnly = .T. + *< END OBJECT: BaseClass="textbox" /> + + ADD OBJECT 'grid_web.Column7.Header1' AS header WITH ; + Alignment = 2, ; + Caption = "Cantitate ce se scade", ; + FontName = "Arial Narrow", ; + Name = "Header1", ; + WordWrap = .T. + *< END OBJECT: BaseClass="header" /> + + ADD OBJECT 'grid_web.Column7.Text1' AS textbox WITH ; + BackColor = 223,248,255, ; + BorderStyle = 0, ; + FontName = "Arial Narrow", ; + ForeColor = 0,0,0, ; + Margin = 0, ; + Name = "Text1", ; + ReadOnly = .F. + *< END OBJECT: BaseClass="textbox" /> + + ADD OBJECT 'grid_web.Column8.Header1' AS header WITH ; + Alignment = 2, ; + Caption = "Valoare vanduta ce se scade (cu TVA)", ; + FontName = "Arial Narrow", ; + Name = "Header1", ; + WordWrap = .T. + *< END OBJECT: BaseClass="header" /> + + ADD OBJECT 'grid_web.Column8.Text1' AS textbox WITH ; + BackColor = 255,255,255, ; + BorderStyle = 0, ; + FontName = "Arial Narrow", ; + ForeColor = 0,0,0, ; + Margin = 0, ; + Name = "Text1" + *< END OBJECT: BaseClass="textbox" /> + + ADD OBJECT 'Label1' AS label WITH ; + Anchor = 3, ; + AutoSize = .T., ; + BackStyle = 0, ; + Caption = "Perioada", ; + Height = 17, ; + Left = 8, ; + Name = "Label1", ; + TabIndex = 10, ; + Top = 177, ; + Width = 52, ; + ZOrderSet = 7 + *< END OBJECT: BaseClass="label" /> + + ADD OBJECT 'Label2' AS label WITH ; + Anchor = 3, ; + AutoSize = .T., ; + BackStyle = 0, ; + Caption = "-", ; + Height = 17, ; + Left = 176, ; + Name = "Label2", ; + TabIndex = 11, ; + Top = 177, ; + Width = 6, ; + ZOrderSet = 15 + *< END OBJECT: BaseClass="label" /> + + ADD OBJECT 'Label3' AS label WITH ; + Anchor = 3, ; + AutoSize = .T., ; + BackStyle = 0, ; + Caption = "Punct vanzare", ; + Height = 32, ; + Left = 8, ; + Name = "Label3", ; + TabIndex = 12, ; + Top = 143, ; + Width = 44, ; + WordWrap = .T., ; + ZOrderSet = 19 + *< END OBJECT: BaseClass="label" /> + + ADD OBJECT 'txtDataF' AS textbox WITH ; + Anchor = 3, ; + ControlSource = "pdDataF", ; + Format = "k", ; + Height = 23, ; + Left = 184, ; + Name = "txtDataF", ; + TabIndex = 3, ; + Top = 174, ; + Width = 109, ; + ZOrderSet = 18 + *< END OBJECT: BaseClass="textbox" /> + + ADD OBJECT 'txtDataI' AS textbox WITH ; + Anchor = 3, ; + ControlSource = "pdDataI", ; + Format = "k", ; + Height = 23, ; + Left = 65, ; + Name = "txtDataI", ; + TabIndex = 2, ; + Top = 174, ; + Width = 109, ; + ZOrderSet = 17 + *< END OBJECT: BaseClass="textbox" /> + + PROCEDURE aleg_cont_transfer + ENDPROC + + PROCEDURE assign_analitic + ENDPROC + + PROCEDURE assign_values + ENDPROC + + PROCEDURE calcul_pret_vanzare + PARAMETERS tcTabel + + LOCAL lnPretv, lnTvav, lnCoefAdaos, lnSuma, lcTabel + STORE 0 TO lnPretv, lnTvav, lnCoefAdaos, lnSuma + + IF EMPTY(tcTabel) + lcTabel = this.ct_grid_order1.cnumecursor + ELSE + lcTabel = ALLTRIM(tcTabel) + ENDIF + + SELECT (lcTabel) + SUM ROUND(ABS(cante*pret),gnPc) TO lnSuma + + IF lnSuma <> 0 + lnCoefAdaos = (pcobj.totftva-lnSuma)/lnSuma && coeficientul mediu de adaos + ELSE + lnCoefAdaos = 1 + ENDIF + + SELECT (lcTabel) + SET FILTER TO + REPLACE ALL proc_tvav WITH pcobj.proc_tva, procent WITH ROUND(lnCoefAdaos*100,2) + CALCULATE cnt() TO lnRecords + i = 0 + SCAN + i = i + 1 + REPLACE pretv WITH pret + ROUND(pret*lnCoefAdaos,gnPpret) + REPLACE tvav WITH ROUND(pretv*(proc_tvav-1),gnPpret) + lnPretv = lnPretv + ROUND(pretv*cante,gnPC) + lnTvav = lnTvav + ROUND(tvav*cante,gnPC) + IF i = lnRecords + IF lnPretv # pcobj.totftva + REPLACE pretv WITH pretv + ROUND((pcobj.totftva - lnPretv)/cante,gnPpret) + ENDIF + IF lnTvav # pcobj.tottva + REPLACE tvav WITH tvav + ROUND((pcobj.tottva - lnTvav)/cante,gnPpret) + ENDIF + ENDIF + ENDSCAN + + ENDPROC + + PROCEDURE calcul_sume + PARAMETERS tcTabel + STORE 0 TO lnTotBaza, lnTotTva, lnBazaDiscount, lnBazaAdaos, lnTvaDiscount, lnTvaAdaos + + lcCant = this.osel_dr.cantitate + IF PCOUNT() = 0 + tcTabel = ALLTRIM(THIS.ct_grid_order1.cnumecursor) + ENDIF + + SELECT (tcTabel) + SUM ROUND(&lcCant*PRET,gnPc) TO THISFORM.ntotal + lnTotBaza = THISFORM.ntotal + + WAIT WINDOW ALLTRIM(STR(lnTotBaza)) + + SUM ROUND(ROUND(&lcCant*PRET,gnPc) * (proc_tva-1),gnPc) TO lnTotTva + + THIS.txNir.REFRESH + THIS.ct_factura1.REFRESH + THIS.ct_adaos1.REFRESH + + ENDPROC + + PROCEDURE caut_gestiune + ENDPROC + + PROCEDURE compensare + ENDPROC + + PROCEDURE do_alege_lista_preturi + ENDPROC + + PROCEDURE Init + this.WindowState = 2 + DODEFAULT() + ENDPROC + + PROCEDURE KeyPress + Lparameters nKeyCode, nShiftAltCtrl + + LOCAL lcCtrGrid, lcCtrCriteriu, lcControl + lcCtrGrid = [] + lcCtrCriteriu = [] + + lcControl = UPPER(this.ActiveControl.Name) + IF lcControl = '_GRID1' + lcCtrGrid = UPPER(this.ActiveControl.comment) + ENDIF + IF lcControl = 'CRITERIU' + lcCtrCriteriu = UPPER(this.ActiveControl.comment) + ENDIF + + IF nkeyCode = 13 AND 'GRD_ST' $ lcCtrGrid + NODEFAULT + thisform.urmator1.comMAND1.SetFocus + ENDIF + + IF nkeyCode = 13 AND 'GRD_DR' $ lcCtrGrid + NODEFAULT + *thisform.ct_grid_search1.Cb_tx_cautare1.text.SetFocus + ENDIF + + If (nKeyCode >=33 And nKeyCode <=122) And ('CRITERIU_ST' $ lcCtrCriteriu OR 'GRD_ST' $ lcCtrGrid) + Nodefault + This.ct_grid_search1.Cb_tx_cautare1.Text.Value = Alltrim(This.ct_grid_search1.Cb_tx_cautare1.Text.Value) + Chr(nKeyCode) + This.ct_grid_search1.Cb_tx_cautare1.Text.SetFocus + Keyboard '{END}' + ENDIF + + If (nKeyCode = 127) And ('CRITERIU_ST' $ lcCtrCriteriu OR 'GRD_ST' $ lcCtrGrid) && backspace + Nodefault + This.ct_grid_search1.Cb_tx_cautare1.Text.Value = Left(Alltrim(This.ct_grid_search1.Cb_tx_cautare1.Text.Value),Len(Alltrim(This.ct_grid_search1.Cb_tx_cautare1.Text.Value))-1) + This.ct_grid_search1.Cb_tx_cautare1.Text.SetFocus + Keyboard '{END}' + Endif + + If (nKeyCode >=33 And nKeyCode <=122) And ('CRITERIU_DR' $ lcCtrCriteriu OR 'GRD_DR' $ lcCtrGrid) + Nodefault + This.ct_grid_order1.Cb_tx_cautare1.Text.Value = Alltrim(This.ct_grid_order1.Cb_tx_cautare1.Text.Value) + Chr(nKeyCode) + This.ct_grid_order1.Cb_tx_cautare1.Text.SetFocus + Keyboard '{END}' + ENDIF + + If (nKeyCode = 127) And ('CRITERIU_DR' $ lcCtrCriteriu OR 'GRD_DR' $ lcCtrGrid) && backspace + Nodefault + This.ct_grid_order1.Cb_tx_cautare1.Text.Value = Left(Alltrim(This.ct_grid_order1.Cb_tx_cautare1.Text.Value),Len(Alltrim(This.ct_grid_order1.Cb_tx_cautare1.Text.Value))-1) + This.ct_grid_order1.Cb_tx_cautare1.Text.SetFocus + Keyboard '{END}' + ENDIF + + *If (nKeyCode = 27) && esc + DoDefault(nKeyCode, nShiftAltCtrl) + *Endif + ENDPROC + + PROCEDURE Load + LOCAL lcSql + lcSql = [select id_calc, denumire from vcalculatoare order by denumire] + lnSucces = goExecutor.oExecute(lcSql, "cListaCalculatoare") + IF lnSucces < 0 + AMESSAGEBOX(goExecutor.prelucreaza_eroare(), 0+16, "Eroare") + CREATE CURSOR cListaCalculatoare (id_calc n(5), denumire c(100)) + ENDIF + + ENDPROC + + PROCEDURE make_rultemp + ENDPROC + + PROCEDURE Release + USE IN SELECT('cListaCalculatoare') + ENDPROC + + PROCEDURE cboListe.Valid + pnId_lista = cListePret.id_pol + + ENDPROC + + PROCEDURE grid_web.Column7.Text1.Valid + LOCAL lcTabel, lnCant_vand, lnCant_in_stoc + lcTabel = THISFORM.grid_web.RECORDSOURCE + STORE 0 TO lnCant_vand, lnCant_in_stoc + + SELECT (lcTabel) + lnCant_vand = cant_vand + lnCant_in_stoc = cant_in_stoc + lnCant_Max = MIN(lnCant_vand, lnCant_in_stoc) + lnCante = cante + + IF lnCante > lnCant_Max + WAIT WINDOW 'Nu puteti scoate o cantitate mai mare decat cea aflata in stoc/vanduta !' NOWAIT + lnCante = lnCant_Max + REPLACE cante WITH lnCante + ENDIF + + SELECT (lcTabel) + REPLACE cant_ramasa_de_scazut WITH cant_vand - lnCante, ; + val_vand WITH pretvtva * lnCante + THISFORM.grid_web.REFRESH + ENDPROC + + PROCEDURE grid_web.Init + this.SetAll("DynamicBackColor","IIF(cant_vand > cant_in_stoc, RGB(255,205,155), RGB(255,255,255))", "Column") + ENDPROC + + PROCEDURE Lb_titlu_alb_b121.Init + IF TYPE('oxset.nume_set') # 'U' + this.Caption = PROPER(ALLTRIM(oxset.nume_set)) + ENDIF + ENDPROC + + PROCEDURE txtDataF.Valid + pdDataF = this.value + + + ENDPROC + + PROCEDURE txtDataI.Valid + pdDataI = this.value + ENDPROC + + PROCEDURE _shape1.DblClick + IF thisform.WindowState = 2 + thisform.WindowState = 0 + ELSE + thisform.WindowState = 2 + ENDIF + ENDPROC + +ENDDEFINE + +DEFINE CLASS webnir_retetar AS _frmbase OF "_frm_base.vcx" + *< CLASSDATA: Baseclass="form" Timestamp="" Scale="Pixels" Uniqueid="" /> + + *-- OBJECTDATA items order determines ZOrder / El orden de los items OBJECTDATA determina el ZOrder + *< OBJECTDATA: ObjPath="But_renunt1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="Label1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="lb_materiiPrime" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="Label5" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="cboListe" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="cbo_idGest_inMarf" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="cbo_idGest_inProd" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="Cmd_cauta1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="Label2" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="grid_web_retetar" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="grid_web_retetar.Column1.Header1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="grid_web_retetar.Column1.Text1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="grid_web_retetar.Column2.Header1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="grid_web_retetar.Column2.Text1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="grid_web_retetar.Column3.Header1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="grid_web_retetar.Column3.Text1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="grid_web_retetar.Column4.Header1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="grid_web_retetar.Column4.Text1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="grid_web_retetar.Column5.Header1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="grid_web_retetar.Column5.Text1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="txtDataI" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="txtDataF" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="Label6" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="Label8" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="Label7" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="Label4" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="Label3" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="grid_web" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="grid_web.Column1.Header1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="grid_web.Column1.Text1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="grid_web.Column2.Header1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="grid_web.Column2.Text1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="grid_web.Column3.Header1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="grid_web.Column3.Text1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="grid_web.Column4.Header1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="grid_web.Column4.Text1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="grid_web.Column5.Header1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="grid_web.Column5.Text1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="Command1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="grid_web_reteta" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="grid_web_reteta.Column1.Header1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="grid_web_reteta.Column1.Text1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="grid_web_reteta.Column2.Header1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="grid_web_reteta.Column2.Text1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="grid_web_reteta.Column3.Header1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="grid_web_reteta.Column3.Text1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="grid_web_reteta.Column4.Header1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="grid_web_reteta.Column4.Text1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="grid_web_reteta.Column5.Header1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="grid_web_reteta.Column5.Text1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="But_nou1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="But_excel1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="But_listare1" UniqueID="" Timestamp="" /> + + #INCLUDE "c:\program files\microsoft visual foxpro 9\foxpro.h" + * + *m: aleg_cont_transfer + *m: assign_analitic + *m: assign_values + *m: calcul_pret_vanzare + *m: calcul_sume + *m: caut_gestiune + *m: compensare + *m: do_alege_lista_preturi + *m: make_rultemp + *p: cfrm_ceredate + *p: cobj + *p: ctip_frm + *p: lpretvanz + *p: nidprodus + *p: npretvtva + *p: ntotal + *p: osel_dr + * + + * + BorderStyle = 1 + cbuton3 = + cbuton4 = Ct_grid_order1.But_sterge1;but_reface1 + cfrm_ceredate = + cobj = + ctip_frm = NIR + DoCreate = .T. + Height = 572 + lactiv1 = .T. + lactiv3 = .T. + lactiv4 = .T. + lpretvanz = .F. + Name = "webnir_retetar" + nidprodus = 0 + npretvtva = 0 + ntotal = 0 + osel_dr = + Width = 793 + WindowType = 1 + _shape1.Anchor = 11 + _shape1.Height = 30 + _shape1.Left = -1 + _shape1.Name = "_shape1" + _shape1.Tag = "" + _shape1.Top = -1 + _shape1.Width = 726 + _shape1.ZOrderSet = 1 + _shape2.Anchor = 9 + _shape2.Height = 29 + _shape2.Left = 724 + _shape2.Name = "_shape2" + _shape2.Tag = "MOVABLE" + _shape2.Top = 0 + _shape2.Width = 69 + _shape2.ZOrderSet = 2 + Lb_titlu_alb_b121.Anchor = 3 + Lb_titlu_alb_b121.FontName = "Comic Sans MS" + Lb_titlu_alb_b121.FontSize = 10 + Lb_titlu_alb_b121.Height = 20 + Lb_titlu_alb_b121.Left = 10 + Lb_titlu_alb_b121.Name = "Lb_titlu_alb_b121" + Lb_titlu_alb_b121.TabIndex = 13 + Lb_titlu_alb_b121.Top = 3 + Lb_titlu_alb_b121.Width = 41 + Lb_titlu_alb_b121.ZOrderSet = 3 + BUT_TERMIN1.Anchor = 9 + BUT_TERMIN1.Height = 27 + BUT_TERMIN1.Left = 757 + BUT_TERMIN1.Name = "BUT_TERMIN1" + BUT_TERMIN1.TabIndex = 11 + BUT_TERMIN1.Tag = "" + BUT_TERMIN1.Top = 1 + BUT_TERMIN1.Width = 32 + BUT_TERMIN1.ZOrderSet = 6 + Gridsort1.Left = 144 + Gridsort1.Name = "Gridsort1" + Gridsort1.Top = 1 + * + + ADD OBJECT 'But_excel1' AS but_excel WITH ; + Anchor = 9, ; + Left = 695, ; + Name = "But_excel1", ; + ToolTipText = "Materii prime cumulate insuficiente in stoc (CTRL+E)", ; + Top = 1, ; + Visible = .T. + *< END OBJECT: ClassLib="cmd_butoane.vcx" BaseClass="commandbutton" /> + + ADD OBJECT 'But_listare1' AS but_listare WITH ; + Anchor = 9, ; + Left = 665, ; + Name = "But_listare1", ; + Top = 1, ; + Visible = .T. + *< END OBJECT: ClassLib="cmd_butoane.vcx" BaseClass="commandbutton" /> + + ADD OBJECT 'But_nou1' AS but_nou WITH ; + Anchor = 9, ; + Left = 530, ; + Name = "But_nou1", ; + Top = 82 + *< END OBJECT: ClassLib="cmd_butoane.vcx" BaseClass="commandbutton" /> + + ADD OBJECT 'But_renunt1' AS but_renunt WITH ; + Anchor = 9, ; + Left = 727, ; + Name = "But_renunt1", ; + TabIndex = 12, ; + Tag = "", ; + Top = 1, ; + ZOrderSet = 5 + *< END OBJECT: ClassLib="cmd_butoane.vcx" BaseClass="commandbutton" /> + + ADD OBJECT 'cbo_idGest_inMarf' AS combobox WITH ; + Anchor = 9, ; + ColumnCount = 5, ; + ColumnLines = .F., ; + ColumnWidths = "200,40,25,15,100", ; + FontName = "Arial Narrow", ; + Height = 24, ; + Left = 627, ; + Name = "cbo_idGest_inMarf", ; + RowSource = "crsGestiuni.nume_gestiune,cgest,cont,acont,nume_tip", ; + RowSourceType = 2, ; + Style = 2, ; + TabIndex = 6, ; + Top = 64, ; + Width = 147, ; + ZOrderSet = 11 + *< END OBJECT: BaseClass="combobox" /> + + ADD OBJECT 'cbo_idGest_inProd' AS combobox WITH ; + Anchor = 9, ; + ColumnCount = 5, ; + ColumnLines = .F., ; + ColumnWidths = "200,40,25,15,100", ; + FontName = "Arial Narrow", ; + Height = 24, ; + Left = 627, ; + Name = "cbo_idGest_inProd", ; + RowSource = "crsGestiuni.nume_gestiune,cgest,cont,acont,nume_tip", ; + RowSourceType = 2, ; + Style = 2, ; + TabIndex = 5, ; + Top = 38, ; + Width = 147, ; + ZOrderSet = 12 + *< END OBJECT: BaseClass="combobox" /> + + ADD OBJECT 'cboListe' AS combobox WITH ; + Anchor = 3, ; + ColumnCount = 4, ; + ColumnLines = .F., ; + ColumnWidths = "200,65,60,0", ; + Format = "", ; + Height = 24, ; + Left = 63, ; + Name = "cboListe", ; + RowSource = "cListePret.nume_lista_preturi,datai,datas,id_pol", ; + RowSourceType = 2, ; + Style = 2, ; + TabIndex = 1, ; + Top = 38, ; + Width = 235, ; + ZOrderSet = 10 + *< END OBJECT: BaseClass="combobox" /> + + ADD OBJECT 'Cmd_cauta1' AS cmd_cauta WITH ; + Anchor = 3, ; + Height = 27, ; + Left = 302, ; + Name = "Cmd_cauta1", ; + TabIndex = 4, ; + Top = 36, ; + Width = 49, ; + ZOrderSet = 14 + *< END OBJECT: ClassLib="cmd_butoane.vcx" BaseClass="commandbutton" /> + + ADD OBJECT 'Command1' AS commandbutton WITH ; + Anchor = 9, ; + Caption = "Adauga", ; + FontBold = .T., ; + FontName = "Arial Narrow", ; + Height = 21, ; + Left = 568, ; + Name = "Command1", ; + TabIndex = 10, ; + Top = 88, ; + Visible = .F., ; + Width = 40, ; + ZOrderSet = 23 + *< END OBJECT: BaseClass="commandbutton" /> + + ADD OBJECT 'grid_web' AS _grdrow WITH ; + Anchor = 7, ; + ColumnCount = 5, ; + DeleteMark = .F., ; + FontName = "Arial", ; + HeaderHeight = 38, ; + Height = 456, ; + HighlightStyle = 2, ; + Left = 8, ; + Name = "grid_web", ; + Panel = 1, ; + ReadOnly = .F., ; + RecordSource = "cWeb_vanzari", ; + TabIndex = 7, ; + Top = 110, ; + Width = 443, ; + ZOrderSet = 22, ; + Column1.ControlSource = "nr_crt", ; + Column1.FontName = "Arial", ; + Column1.Format = "rk", ; + Column1.InputMask = "9999", ; + Column1.Name = "Column1", ; + Column1.ReadOnly = .T., ; + Column1.Width = 26, ; + Column2.ControlSource = "codmat", ; + Column2.FontName = "Arial", ; + Column2.Name = "Column2", ; + Column2.ReadOnly = .T., ; + Column2.Width = 44, ; + Column3.ControlSource = "denumire", ; + Column3.FontName = "Arial", ; + Column3.Name = "Column3", ; + Column3.ReadOnly = .T., ; + Column3.Width = 181, ; + Column4.ColumnOrder = 5, ; + Column4.ControlSource = "cant_vand", ; + Column4.FontName = "Arial", ; + Column4.Format = "rk", ; + Column4.InputMask = (get_mask(7,gnPCant)), ; + Column4.Name = "Column4", ; + Column4.ReadOnly = .T., ; + Column4.Width = 63, ; + Column5.ColumnOrder = 4, ; + Column5.ControlSource = "pretvtva", ; + Column5.FontName = "Arial", ; + Column5.Format = "rk", ; + Column5.InputMask = (get_mask(10,gnPPretV)), ; + Column5.Name = "Column5", ; + Column5.ReadOnly = .T., ; + Column5.Width = 92 + *< END OBJECT: ClassLib="_grd_base.vcx" BaseClass="grid" /> + + ADD OBJECT 'grid_web.Column1.Header1' AS header WITH ; + Alignment = 2, ; + Caption = "Nr. crt.", ; + FontName = "Arial", ; + Name = "Header1", ; + WordWrap = .T. + *< END OBJECT: BaseClass="header" /> + + ADD OBJECT 'grid_web.Column1.Text1' AS textbox WITH ; + BackColor = 255,255,255, ; + BorderStyle = 0, ; + FontName = "Arial", ; + ForeColor = 0,0,0, ; + Margin = 0, ; + Name = "Text1", ; + ReadOnly = .T. + *< END OBJECT: BaseClass="textbox" /> + + ADD OBJECT 'grid_web.Column2.Header1' AS header WITH ; + Alignment = 2, ; + Caption = "Cod mat.", ; + FontName = "Arial", ; + Name = "Header1", ; + WordWrap = .T. + *< END OBJECT: BaseClass="header" /> + + ADD OBJECT 'grid_web.Column2.Text1' AS textbox WITH ; + BackColor = 255,255,255, ; + BorderStyle = 0, ; + FontName = "Arial", ; + ForeColor = 0,0,0, ; + Margin = 0, ; + Name = "Text1", ; + ReadOnly = .T. + *< END OBJECT: BaseClass="textbox" /> + + ADD OBJECT 'grid_web.Column3.Header1' AS header WITH ; + Alignment = 2, ; + Caption = "Denumire", ; + FontName = "Arial", ; + Name = "Header1" + *< END OBJECT: BaseClass="header" /> + + ADD OBJECT 'grid_web.Column3.Text1' AS textbox WITH ; + BackColor = 255,255,255, ; + BorderStyle = 0, ; + FontName = "Arial", ; + ForeColor = 0,0,0, ; + Margin = 0, ; + Name = "Text1", ; + ReadOnly = .T. + *< END OBJECT: BaseClass="textbox" /> + + ADD OBJECT 'grid_web.Column4.Header1' AS header WITH ; + Alignment = 2, ; + Caption = "Cantitate vanduta", ; + FontName = "Arial", ; + Name = "Header1", ; + WordWrap = .T. + *< END OBJECT: BaseClass="header" /> + + ADD OBJECT 'grid_web.Column4.Text1' AS textbox WITH ; + BackColor = 255,255,255, ; + BorderStyle = 0, ; + FontName = "Arial", ; + ForeColor = 0,0,0, ; + Margin = 0, ; + Name = "Text1", ; + ReadOnly = .T. + *< END OBJECT: BaseClass="textbox" /> + + ADD OBJECT 'grid_web.Column5.Header1' AS header WITH ; + Alignment = 2, ; + Caption = "Pret de vanzare (cu TVA)", ; + FontName = "Arial", ; + Name = "Header1", ; + WordWrap = .T. + *< END OBJECT: BaseClass="header" /> + + ADD OBJECT 'grid_web.Column5.Text1' AS textbox WITH ; + BackColor = 255,255,255, ; + BorderStyle = 0, ; + FontName = "Arial", ; + ForeColor = 0,0,0, ; + Margin = 0, ; + Name = "Text1", ; + ReadOnly = .T. + *< END OBJECT: BaseClass="textbox" /> + + ADD OBJECT 'grid_web_reteta' AS _grdrow WITH ; + Anchor = 11, ; + ColumnCount = 5, ; + DeleteMark = .F., ; + HeaderHeight = 38, ; + Height = 219, ; + HighlightStyle = 2, ; + Left = 456, ; + Name = "grid_web_reteta", ; + Panel = 1, ; + ReadOnly = .F., ; + RecordSource = "cReteta", ; + TabIndex = 8, ; + Top = 110, ; + Width = 327, ; + ZOrderSet = 24, ; + Column1.ControlSource = "denumire", ; + Column1.Name = "Column1", ; + Column1.ReadOnly = .T., ; + Column1.Width = 94, ; + Column2.ColumnOrder = 2, ; + Column2.ControlSource = "cant_nec", ; + Column2.Format = "rk", ; + Column2.InputMask = (get_mask(12,gnPCant)), ; + Column2.Name = "Column2", ; + Column2.ReadOnly = .F., ; + Column2.Width = 71, ; + Column3.ColumnOrder = 3, ; + Column3.ControlSource = "cant_in_stoc", ; + Column3.Format = "rk", ; + Column3.InputMask = (get_mask(12,gnPCant)), ; + Column3.Name = "Column3", ; + Column3.ReadOnly = .T., ; + Column4.ColumnOrder = 4, ; + Column4.ControlSource = "um", ; + Column4.Name = "Column4", ; + Column4.ReadOnly = .T., ; + Column4.Width = 51, ; + Column5.ControlSource = "cante", ; + Column5.Format = "rk", ; + Column5.InputMask = (get_mask(10,gnPCant)), ; + Column5.Name = "Column5", ; + Column5.ReadOnly = .F., ; + Column5.Width = 87 + *< END OBJECT: ClassLib="_grd_base.vcx" BaseClass="grid" /> + + ADD OBJECT 'grid_web_reteta.Column1.Header1' AS header WITH ; + Alignment = 2, ; + Caption = "Denumire", ; + Name = "Header1" + *< END OBJECT: BaseClass="header" /> + + ADD OBJECT 'grid_web_reteta.Column1.Text1' AS textbox WITH ; + BackColor = 255,255,255, ; + BorderStyle = 0, ; + ForeColor = 0,0,0, ; + Margin = 0, ; + Name = "Text1", ; + ReadOnly = .T. + *< END OBJECT: BaseClass="textbox" /> + + ADD OBJECT 'grid_web_reteta.Column2.Header1' AS header WITH ; + Alignment = 2, ; + Caption = "Cantitate necesara", ; + Name = "Header1", ; + WordWrap = .T. + *< END OBJECT: BaseClass="header" /> + + ADD OBJECT 'grid_web_reteta.Column2.Text1' AS textbox WITH ; + BackColor = 255,255,255, ; + BorderStyle = 0, ; + ForeColor = 0,0,0, ; + Margin = 0, ; + Name = "Text1", ; + ReadOnly = .F. + *< END OBJECT: BaseClass="textbox" /> + + ADD OBJECT 'grid_web_reteta.Column3.Header1' AS header WITH ; + Alignment = 2, ; + Caption = "Cantitate in stoc", ; + Name = "Header1", ; + WordWrap = .T. + *< END OBJECT: BaseClass="header" /> + + ADD OBJECT 'grid_web_reteta.Column3.Text1' AS textbox WITH ; + BackColor = 255,255,255, ; + BorderStyle = 0, ; + ForeColor = 0,0,0, ; + Margin = 0, ; + Name = "Text1", ; + ReadOnly = .T. + *< END OBJECT: BaseClass="textbox" /> + + ADD OBJECT 'grid_web_reteta.Column4.Header1' AS header WITH ; + Alignment = 2, ; + Caption = "UM", ; + Name = "Header1" + *< END OBJECT: BaseClass="header" /> + + ADD OBJECT 'grid_web_reteta.Column4.Text1' AS textbox WITH ; + BackColor = 255,255,255, ; + BorderStyle = 0, ; + ForeColor = 0,0,0, ; + Margin = 0, ; + Name = "Text1", ; + ReadOnly = .T. + *< END OBJECT: BaseClass="textbox" /> + + ADD OBJECT 'grid_web_reteta.Column5.Header1' AS header WITH ; + Alignment = 2, ; + Caption = "Cantitate care se scade", ; + Name = "Header1", ; + WordWrap = .T. + *< END OBJECT: BaseClass="header" /> + + ADD OBJECT 'grid_web_reteta.Column5.Text1' AS textbox WITH ; + BackColor = 255,255,255, ; + BorderStyle = 0, ; + ForeColor = 0,0,0, ; + Margin = 0, ; + Name = "Text1", ; + ReadOnly = .F. + *< END OBJECT: BaseClass="textbox" /> + + ADD OBJECT 'grid_web_retetar' AS _grdrow WITH ; + Anchor = 15, ; + ColumnCount = 5, ; + DeleteMark = .F., ; + FontName = "Arial", ; + HeaderHeight = 38, ; + Height = 221, ; + HighlightStyle = 2, ; + Left = 456, ; + Name = "grid_web_retetar", ; + Panel = 1, ; + ReadOnly = .T., ; + RecordSource = "cWeb_vanzari_retetar", ; + TabIndex = 9, ; + Top = 345, ; + Width = 327, ; + ZOrderSet = 16, ; + Column1.BackColor = 255,255,255, ; + Column1.ColumnOrder = 1, ; + Column1.ControlSource = "denumire", ; + Column1.FontName = "Arial", ; + Column1.Name = "Column1", ; + Column1.ReadOnly = .T., ; + Column1.Width = 109, ; + Column2.BackColor = 255,255,255, ; + Column2.ColumnOrder = 2, ; + Column2.ControlSource = "cant_nec", ; + Column2.FontName = "Arial", ; + Column2.Format = "rk", ; + Column2.InputMask = (get_mask(10,gnPCant)), ; + Column2.Name = "Column2", ; + Column2.ReadOnly = .T., ; + Column3.BackColor = 255,255,255, ; + Column3.ControlSource = "cant_in_stoc", ; + Column3.FontName = "Arial", ; + Column3.Format = "rk", ; + Column3.InputMask = (get_mask(10,gnPCant)), ; + Column3.Name = "Column3", ; + Column3.ReadOnly = .T., ; + Column3.Width = 67, ; + Column4.BackColor = 255,255,255, ; + Column4.ControlSource = "um", ; + Column4.FontName = "Arial", ; + Column4.Name = "Column4", ; + Column4.ReadOnly = .T., ; + Column4.Width = 45, ; + Column5.ControlSource = "cante", ; + Column5.FontName = "Arial", ; + Column5.Format = "rk", ; + Column5.InputMask = (get_mask(10,gnPCant)), ; + Column5.Name = "Column5", ; + Column5.ReadOnly = .T., ; + Column5.Width = 84 + *< END OBJECT: ClassLib="_grd_base.vcx" BaseClass="grid" /> + + ADD OBJECT 'grid_web_retetar.Column1.Header1' AS header WITH ; + Alignment = 2, ; + Caption = "Denumire", ; + FontName = "Arial", ; + Name = "Header1" + *< END OBJECT: BaseClass="header" /> + + ADD OBJECT 'grid_web_retetar.Column1.Text1' AS textbox WITH ; + BackColor = 255,255,255, ; + BorderStyle = 0, ; + FontName = "Arial", ; + ForeColor = 0,0,0, ; + Margin = 0, ; + Name = "Text1", ; + ReadOnly = .T. + *< END OBJECT: BaseClass="textbox" /> + + ADD OBJECT 'grid_web_retetar.Column2.Header1' AS header WITH ; + Alignment = 2, ; + Caption = "Cantitate necesara", ; + FontName = "Arial", ; + Name = "Header1", ; + WordWrap = .T. + *< END OBJECT: BaseClass="header" /> + + ADD OBJECT 'grid_web_retetar.Column2.Text1' AS textbox WITH ; + BackColor = 255,255,255, ; + BorderStyle = 0, ; + FontName = "Arial", ; + ForeColor = 0,0,0, ; + Margin = 0, ; + Name = "Text1", ; + ReadOnly = .T. + *< END OBJECT: BaseClass="textbox" /> + + ADD OBJECT 'grid_web_retetar.Column3.Header1' AS header WITH ; + Alignment = 2, ; + Caption = "Cantitate in stoc", ; + FontName = "Arial", ; + Name = "Header1", ; + WordWrap = .T. + *< END OBJECT: BaseClass="header" /> + + ADD OBJECT 'grid_web_retetar.Column3.Text1' AS textbox WITH ; + BackColor = 255,255,255, ; + BorderStyle = 0, ; + FontName = "Arial", ; + ForeColor = 0,0,0, ; + Margin = 0, ; + Name = "Text1", ; + ReadOnly = .T. + *< END OBJECT: BaseClass="textbox" /> + + ADD OBJECT 'grid_web_retetar.Column4.Header1' AS header WITH ; + Alignment = 2, ; + Caption = "UM", ; + FontName = "Arial", ; + Name = "Header1" + *< END OBJECT: BaseClass="header" /> + + ADD OBJECT 'grid_web_retetar.Column4.Text1' AS textbox WITH ; + BackColor = 255,255,255, ; + BorderStyle = 0, ; + FontName = "Arial", ; + ForeColor = 0,0,0, ; + Margin = 0, ; + Name = "Text1", ; + ReadOnly = .T. + *< END OBJECT: BaseClass="textbox" /> + + ADD OBJECT 'grid_web_retetar.Column5.Header1' AS header WITH ; + Alignment = 2, ; + Caption = "Cantitate care se scade", ; + Name = "Header1", ; + WordWrap = .T. + *< END OBJECT: BaseClass="header" /> + + ADD OBJECT 'grid_web_retetar.Column5.Text1' AS textbox WITH ; + BackColor = 255,255,255, ; + BorderStyle = 0, ; + ForeColor = 0,0,0, ; + Margin = 0, ; + Name = "Text1", ; + ReadOnly = .T. + *< END OBJECT: BaseClass="textbox" /> + + ADD OBJECT 'Label1' AS label WITH ; + Anchor = 3, ; + AutoSize = .T., ; + BackStyle = 0, ; + Caption = "Perioada", ; + Height = 17, ; + Left = 8, ; + Name = "Label1", ; + TabIndex = 15, ; + Top = 69, ; + Width = 52, ; + ZOrderSet = 7 + *< END OBJECT: BaseClass="label" /> + + ADD OBJECT 'Label2' AS label WITH ; + Anchor = 3, ; + AutoSize = .T., ; + BackStyle = 0, ; + Caption = "-", ; + Height = 17, ; + Left = 192, ; + Name = "Label2", ; + TabIndex = 18, ; + Top = 68, ; + Width = 6, ; + ZOrderSet = 15 + *< END OBJECT: BaseClass="label" /> + + ADD OBJECT 'Label3' AS label WITH ; + Anchor = 3, ; + AutoSize = .T., ; + BackStyle = 0, ; + Caption = "Lista de preturi", ; + Height = 32, ; + Left = 8, ; + Name = "Label3", ; + TabIndex = 19, ; + Top = 34, ; + Width = 46, ; + WordWrap = .T., ; + ZOrderSet = 21 + *< END OBJECT: BaseClass="label" /> + + ADD OBJECT 'Label4' AS label WITH ; + Anchor = 9, ; + AutoSize = .T., ; + BackStyle = 0, ; + Caption = "Gestiunea in care", ; + FontName = "Arial Narrow", ; + Height = 18, ; + Left = 543, ; + Name = "Label4", ; + TabIndex = 20, ; + Top = 34, ; + Width = 73, ; + WordWrap = .T., ; + ZOrderSet = 20 + *< END OBJECT: BaseClass="label" /> + + ADD OBJECT 'Label5' AS label WITH ; + Anchor = 3, ; + AutoSize = .T., ; + BackStyle = 0, ; + Caption = "Materii prime cumulate", ; + FontName = "Arial Narrow", ; + Height = 18, ; + Left = 458, ; + Name = "Label5", ; + TabIndex = 17, ; + Top = 329, ; + Width = 96, ; + ZOrderSet = 9 + *< END OBJECT: BaseClass="label" /> + + ADD OBJECT 'Label6' AS label WITH ; + Anchor = 9, ; + AutoSize = .T., ; + BackStyle = 0, ; + Caption = "intra marfurile", ; + FontName = "Arial Narrow", ; + Height = 18, ; + Left = 543, ; + Name = "Label6", ; + TabIndex = 21, ; + Top = 70, ; + Width = 55, ; + WordWrap = .T., ; + ZOrderSet = 19 + *< END OBJECT: BaseClass="label" /> + + ADD OBJECT 'Label7' AS label WITH ; + Anchor = 9, ; + AutoSize = .T., ; + BackStyle = 0, ; + Caption = "intra produsele", ; + FontName = "Arial Narrow", ; + Height = 18, ; + Left = 543, ; + Name = "Label7", ; + TabIndex = 20, ; + Top = 45, ; + Width = 60, ; + WordWrap = .T., ; + ZOrderSet = 20 + *< END OBJECT: BaseClass="label" /> + + ADD OBJECT 'Label8' AS label WITH ; + Anchor = 9, ; + AutoSize = .T., ; + BackStyle = 0, ; + Caption = "Gestiunea in care", ; + FontName = "Arial Narrow", ; + Height = 18, ; + Left = 543, ; + Name = "Label8", ; + TabIndex = 20, ; + Top = 61, ; + Width = 73, ; + WordWrap = .T., ; + ZOrderSet = 20 + *< END OBJECT: BaseClass="label" /> + + ADD OBJECT 'lb_materiiPrime' AS label WITH ; + Anchor = 3, ; + AutoSize = .T., ; + BackStyle = 0, ; + Caption = "Materii prime", ; + FontName = "Arial Narrow", ; + Height = 18, ; + Left = 458, ; + Name = "lb_materiiPrime", ; + TabIndex = 16, ; + Top = 94, ; + Width = 56, ; + ZOrderSet = 8 + *< END OBJECT: BaseClass="label" /> + + ADD OBJECT 'txtDataF' AS textbox WITH ; + Anchor = 3, ; + ControlSource = "pdDataF", ; + Format = "K", ; + Height = 23, ; + Left = 197, ; + Name = "txtDataF", ; + TabIndex = 3, ; + Top = 66, ; + Width = 128, ; + ZOrderSet = 18 + *< END OBJECT: BaseClass="textbox" /> + + ADD OBJECT 'txtDataI' AS textbox WITH ; + Anchor = 3, ; + ControlSource = "pdDataI", ; + Format = "K", ; + Height = 23, ; + Left = 63, ; + Name = "txtDataI", ; + TabIndex = 2, ; + Top = 66, ; + Width = 128, ; + ZOrderSet = 17 + *< END OBJECT: BaseClass="textbox" /> + + PROCEDURE Activate + this.WindowState = 2 + ENDPROC + + PROCEDURE actualizeaza_grid2 + save_grid_tag(THISFORM.grid_web_retetar) + + SELECT id_material, denumire, ; + SUM(cant_nec) AS cant_nec, ; + SUM(cante) AS cante, ; + cant_in_stoc, um, ; + adaugat ; + FROM cReteta ; + WITH (BUFFERING = .T.) ; + GROUP BY id_material, denumire, cant_in_stoc, um, adaugat ; + ORDER BY denumire ; + INTO CURSOR cweb_vanzari_retetar READWRITE + + SELECT id_material, denumire, ; + SUM(cant_nec) AS cant_nec, ; + SUM(cante) AS cante, ; + cant_in_stoc, um ; + FROM cReteta ; + WITH (BUFFERING = .T.) ; + GROUP BY id_material, denumire, cant_in_stoc, um ; + ORDER BY denumire ; + INTO CURSOR cTest READWRITE + + SELECT cweb_vanzari_retetar + SCAN FOR adaugat = 1 + lnId_material = id_material + SELECT cTest + LOCATE FOR id_material = lnId_material + IF FOUND() + lnCante = cante + UPDATE cweb_vanzari_retetar SET cante = lnCante WHERE id_material = lnId_material + ENDIF + SELECT cweb_vanzari_retetar + ENDSCAN + + IF USED("cTest") + USE IN cTest + ENDIF + + *!* SELECT cweb_vanzari_retetar + *!* REPLACE ALL cante WITH MIN(cant_nec, cant_in_stoc) + SELECT cweb_vanzari_retetar + GO TOP + + restore_grid_tag(THISFORM.grid_web_retetar) + THISFORM.grid_web_retetar.REFRESH + + ENDPROC + + PROCEDURE aleg_cont_transfer + PARAMETERS tnIdGest + lcSql = [select (case when p.explicatie is null then s.explicatie else p.explicatie end) as explicatie,] +; + [c.cont, p.acont from VCORESP_CONT_TIPGEST c ] +; + [left join vplcont_analitic p on c.cont = p.cont and p.an = ?gnAn ] +; + [left join vplcont_sintetic s on c.cont = s.cont and s.an = ?gnAn] + pcFiltruOrig = [c.id_tipgest in (select nr_pag from vnom_gestiuni where id_gestiune = ?tnIdGest)] + pcfiltru = [1=2] + pcschema = [] + pcorder = [cont,acont] + pccoloane = [cont,acont,explicatie] + pcTitlu = [Alegeti Contul de Transfer] + pcTitluColoane = [Cont,Analitic,Explicatie cont] + locauta = cauta_alfa(lcSql,pcfiltru,pcschema,pcorder,pccoloane,pcTitlu,pcTitluColoane,'',.F.,pcFiltruOrig) && 11.07.2007 + + RETURN loCauta + ENDPROC + + PROCEDURE assign_analitic + PARAMETERS tcCont,pcAct,pcRul + + PRIVATE pcCont,pcAct,pcRul,pParamP,pParamS + STORE 0 TO pParamP,pParamS + lcAnalitic = '' + lcAlias = ALIAS() + + pcCont = ALLTRIM(tcCont) + + lcSel = [SELECT * from ] + gcs + [.config_analitice WHERE cont = ?pcCont] + lcCursor = 'crs_cfg_ana' + lnSucces = goExecutor.oExecute(lcSel,lcCursor) + IF lnSucces < 0 + amessagebox(goExecutor.cEroare,0+16,"Eroare") + ENDIF + + IF lnSucces > 0 + IF RECCOUNT('crs_cfg_ana')=0 + USE IN crs_cfg_ana + lnSucces = -1 + ENDIF + ENDIF + + IF lnSucces > 0 + SELECT crs_cfg_ana + SCATTER NAME ocfg + lcCampPrefix = NVL(ALLTRIM(ocfg.camp_leg_prefix),'') + lcCampSufix = NVL(ALLTRIM(ocfg.camp_leg_sufix),'') + + IF !EMPTY(lcCampPrefix) + IF TYPE('&pcRul..'+lcCampPrefix) # 'U' + pParamP = &pcRul..&lcCampPrefix + ELSE + IF TYPE('&pcAct..'+lcCampPrefix) # 'U' + pParamP = &pcAct..&lcCampPrefix + ENDIF + ENDIF + ENDIF + + IF !EMPTY(lcCampSufix) + IF TYPE('&pcRul..'+lcCampSufix) # 'U' + pParamS = &pcRul..&lcCampSufix + ELSE + IF TYPE('&pcAct..'+lcCampSufix) # 'U' + pParamS = &pcAct..&lcCampSufix + ENDIF + ENDIF + ENDIF + + lcSel = [{call fconturi_analitice(?gcs,?pcCont,0,?pParamP,?pParamS)}] + lcCursor = 'crs_analitice' + lnSucces = goExecutor.oExecute(lcSel,lcCursor) + + IF lnSucces < 0 + amessagebox(goExecutor.cEroare,0+16,"Eroare") + ENDIF + ENDIF + + && iau Primul Simbol Analitic din Tabel - ordonat pt ca e selectat cu Distinct + IF lnSucces > 0 + SELECT crs_analitice + GO top + lcAnalitic = ALLTRIM(acont) + ENDIF + + && verificare analiticului cu Planul de Conturi + IF lnSucces > 0 + lcSel = [SELECT cont,acont from ] + gcs + [.vplcont_analitic WHERE cont = ?pcCont and acont = ?lcAnalitic and an = ?gnAn ] + lcCursor = 'crs_verific' + lnSucces = goExecutor.oExecute(lcSel,lcCursor) + IF lnSucces < 0 + amessagebox(goExecutor.cEroare,0+16,"Eroare") + ENDIF + ENDIF + + IF lnSucces > 0 + IF RECCOUNT('crs_verific')=0 + lnSucces = -1 + ENDIF + ENDIF + + IF USED('crs_cfg_ana') + USE IN crs_cfg_ana + ENDIF + IF USED('crs_verific') + USE IN crs_verific + ENDIF + IF USED('crs_analitice') + USE IN crs_analitice + ENDIF + IF USED('crs_verific') + USE IN crs_verific + ENDIF + + IF lnSucces < 0 + lcAnalitic = '' + ENDIF + + SELECT (lcAlias) + RETURN lcAnalitic + + ENDPROC + + PROCEDURE assign_values + PARAMETERS tcObjDestinatie, tcObjSursa1, tcObjSursa2 + + * lcSelRul = this.ct_grid_order1.cnumecursor + + lcOdest = ALLTRIM(tcObjDestinatie) + lcOsursa1 = ALLTRIM(tcObjSursa1) + lcOsursa2 = ALLTRIM(tcObjSursa2) + + *!* SELECT (lcSelRul) + *!* FOR i = 1 TO FCOUNT() + *!* lcNumeCol = FIELD(i) + *!* IF TYPE('&lcOsursa1..'+lcNumeCol) # 'U' + *!* &lcodest..&lcNumeCol = &lcosursa1..&lcNumeCol + *!* ENDIF + *!* IF TYPE('&lcOsursa2..'+lcNumeCol) # 'U' + *!* IF EMPTY(&lcodest..&lcNumeCol) + *!* &lcodest..&lcNumeCol = &lcosursa2..&lcNumeCol + *!* ENDIF + *!* ENDIF + *!* ENDFOR + + + + + + + ENDPROC + + PROCEDURE calcul_pret_vanzare + PARAMETERS tcTabel + + LOCAL lnPretv, lnTvav, lnCoefAdaos, lnSuma, lcTabel + STORE 0 TO lnPretv, lnTvav, lnCoefAdaos, lnSuma + + IF EMPTY(tcTabel) + lcTabel = this.ct_grid_order1.cnumecursor + ELSE + lcTabel = ALLTRIM(tcTabel) + ENDIF + + SELECT (lcTabel) + SUM ROUND(ABS(cante*pret),gnPc) TO lnSuma + + IF lnSuma <> 0 + lnCoefAdaos = (pcobj.totftva-lnSuma)/lnSuma && coeficientul mediu de adaos + ELSE + lnCoefAdaos = 1 + ENDIF + + SELECT (lcTabel) + SET FILTER TO + REPLACE ALL proc_tvav WITH pcobj.proc_tva, procent WITH ROUND(lnCoefAdaos*100,2) + CALCULATE cnt() TO lnRecords + i = 0 + SCAN + i = i + 1 + REPLACE pretv WITH pret + ROUND(pret*lnCoefAdaos,gnPpret) + REPLACE tvav WITH ROUND(pretv*(proc_tvav-1),gnPpret) + lnPretv = lnPretv + ROUND(pretv*cante,gnPC) + lnTvav = lnTvav + ROUND(tvav*cante,gnPC) + IF i = lnRecords + IF lnPretv # pcobj.totftva + REPLACE pretv WITH pretv + ROUND((pcobj.totftva - lnPretv)/cante,gnPpret) + ENDIF + IF lnTvav # pcobj.tottva + REPLACE tvav WITH tvav + ROUND((pcobj.tottva - lnTvav)/cante,gnPpret) + ENDIF + ENDIF + ENDSCAN + + ENDPROC + + PROCEDURE calcul_sume + PARAMETERS tcTabel + STORE 0 TO lnTotBaza, lnTotTva, lnBazaDiscount, lnBazaAdaos, lnTvaDiscount, lnTvaAdaos + + lcCant = this.osel_dr.cantitate + IF PCOUNT() = 0 + tcTabel = ALLTRIM(THIS.ct_grid_order1.cnumecursor) + ENDIF + + SELECT (tcTabel) + SUM ROUND(&lcCant*PRET,gnPc) TO THISFORM.ntotal + lnTotBaza = THISFORM.ntotal + + WAIT WINDOW ALLTRIM(STR(lnTotBaza)) + + SUM ROUND(ROUND(&lcCant*PRET,gnPc) * (proc_tva-1),gnPc) TO lnTotTva + + * THIS.txNir.REFRESH + * THIS.ct_factura1.REFRESH + * THIS.ct_adaos1.REFRESH + + ENDPROC + + PROCEDURE caut_gestiune + PARAMETERS tnFel + + IF EMPTY(tnFel) + tnFel = 0 + ENDIF + + IF tnFel = 1 && pret vanzare + lcCond = [nr_pag = 6] + ELSE + lcCond = [nr_pag in (2,3,4,5)] + ENDIF + + pcselect = [select * from vnom_GESTIUNI] + pcFiltruOrig = [inactiv = 0 and ] + lcCond + pcfiltru = [1=2] + pcschema = [] + pcorder = [NUME_gestiune] + pccoloane = [nume_gestiune,cgest] + pcTitlu = [Nume Gestiune Destinatie] + pcTitluColoane = [Gestiune,Indicativ] + locauta = cauta_alfa(pcselect,pcfiltru,pcschema,pcorder,pccoloane,pcTitlu,pcTitluColoane,'',.F.,pcFiltruOrig) && 11.07.2007 + + RETURN locauta + ENDPROC + + PROCEDURE compensare + IF USED('xcont') + SELECT xcont + LOCATE FOR Pozitie # Fel_Cont AND Cu_Inregistrari = 1 + IF FOUND() + pcContul = ALLTRIM(cont_part) + pnIdPart = idPart + pcNume = numepart + pnFelCont = Fel_Cont + pcDenumire = ALLTRIM(explic_cont) + + pcCond = [ an = ?gnAn and luna = ?gnluna] + + llval = .F. && Deocamdata e doar in lei + IF llval + pccond= pccond + [ and ABS(i.precvaldeb + i.valdebit - i.precvalcred - i.valcredit)>0 and i.id_valuta = ] + ALLTRIM(STR(&lcObj..id_valuta)) + ELSE + pccond= pccond + [ and (i.precvaldeb + i.valdebit - i.precvalcred - i.valcredit = 0) ] + ENDIF + + + + pcselect = ['select i.* FROM ] + gcs + [.Vireg_parteneri i where 2=2 '] + pcfiltru = [ i.id_part = ?pnIdPart AND ABS(i.precdeb + i.debit - i.preccred - i.credit)<>0 AND i.cont = ?pcContul and ] + pcCond + pcschema = [''] + pcorder = [''] + + PRIVATE podateintrod + STORE '' TO podateintrod + + gencursor('podateintrod','crs_actcv',pcselect,pcfiltru,[''],'') + + lcFis = 'actcv' + ALLTRIM(pcContul) + + IF USED(lcFis) + USE IN &lcFis + ENDIF + + IF pnFelCont = 0 + lcsel = [SELECT *, ACONT AS ASCC, nume_val as numeval, curs as cursschimb, precdeb + debit as totctva, preccred+credit as achitat, ] +; + [precvaldeb + valdebit AS sumaval, precVALcred+VALcredit as achitatval, ] +; + [.f. as ales, 00000000000000.0000 as sumaachi, 000000000000.0000 as sumaachi2, 00000000000000.0000 as achilei, 00000000000000.0000 as difplus, 00000000000000.0000 as difminus, 000000.0000 as cursval, 000000.0000 as cursdif ] +; + [FROM crs_actcv INTO CURSOR ] + lcFis + [ READWRITE ] + ELSE + lcsel = [SELECT *, ACONT AS ASCD, nume_val as numeval, curs as cursschimb, preccred + credit as totctva, precdeb+debit as achitat, ] + ; + [precvalcred + valcredit as sumaval, precVALdeb+VALdebit as achitatval, ] + ; + [.f. as ales, 00000000000000.0000 as sumaachi, 00000000000000.0000 as sumaachi2, 00000000000000.0000 as achilei, 00000000000000.0000 as difplus, 00000000000000.0000 as difminus, 000000.0000 as cursval, 000000.0000 as cursdif ] + ; + [FROM crs_actcv INTO CURSOR ] + lcFis + [ READWRITE ] + ENDIF + &lcsel + + SELECT (lcFis) + + OPLATA=CREATEOBJECT('ocompensari') + * oplata.txtNume.value =lcNume + OPLATA.titlufrumos1.CAPTION = pcDenumire + [: ] + pcNume + OPLATA.pcFis = lcFis + OPLATA.SUMA = THIS.ct_factura1.totctva + OPLATA.pnFelCont = pnFelCont + OPLATA.SHOW(1) + + *!* SELECT (lcfis) + *!* CALCULATE cnt() FOR ales TO LnBife + *!* IF LnBife=1 + *!* LOCATE FOR ALES + *!* &M=nract + *!* ELSE + *!* &M=0 + *!* ENDIF + ENDIF + ENDIF + ENDPROC + + PROCEDURE do_adauga + loas = CREATEOBJECT("frm_alege_din_stoc") + loas.lb_titlu_alb_b121.caption = "STOC" + SELECT xsets + LOCATE FOR id_set = 92 && tnIdSet + SCATTER NAME oSet + *!* modificare JC/JV 2007 + IF gnNeplatitoare_tva = 1 + oSet.id_jtax = oSet.id_jtaxn + oSet.id_jnetax = oSet.id_jtaxn + ENDIF + *!* modificare JC/JV 2007 ^ + lFactura = oSet.factura + lAdaos = oSet.adaos + lDiscount = oSet.discount + lcTipFrm = UPPER(oSet.explicatia) + llGestout = .f. + + SELECT selectii + LOCATE FOR id_sel = oSet.id_selSt + IF FOUND() + SCATTER NAME ost MEMO + ELSE + amessagebox('NECONFIGURAT!',48,'Atentie!') + RETURN 2 && renunt + ENDIF + + lcSelSt = ALLTRIM(ost.cselect) + [ from ] + gcs + [.] + ALLTRIM(ost.cfrom) + [ where ] + ALLTRIM(ost.filtru) + lcSchemaSt = ALLTRIM(ost.cschema) + + WITH loas.ct_grid_search1 + .cselect = lcSelSt + .cschema = lcSchemaSt + .cTitlu_coloane = ALLTRIM(ost.titlu_col) + .cNume_coloane = ALLTRIM(ost.nume_col) + .cMask = ALLTRIM(ost.mask_col) + .cFiltruOriginal = lcFiltruOrig + .cFiltru = ALLTRIM(ost.filtru) + .cOrder = ALLTRIM(ost.ordine) + .cTitlu = ALLTRIM(ost.titlu_grid) + .cb_tx_gestout.VISIBLE = llGestout + .but_nou1.VISIBLE = llAdMod + * .but_modifica1.VISIBLE = llAdMod + ENDWITH + + loas.SHOW(1) + + IF buton = 2 + RETURN + ENDIF + + SELECT cursor_curent1 + IF RECCOUNT() > 0 + SCATTER NAME loArticol + SELECT cReteta + LOCATE FOR id_material = loArticol.id_articol + IF !FOUND() + APPEND BLANK + REPLACE id_produs WITH pnId_produs, ; + id_material WITH loArticol.id_articol, ; + denumire WITH loArticol.denumire, ; + cant_nec WITH 0, ; + cant_in_stoc WITH loArticol.cantitate, ; + um WITH loArticol.um, ; + adaugat WITH 1 + ENDIF + ENDIF + + thisform.grid_web_reteta.Refresh + thisform.actualizeaza_grid2() + + + ENDPROC + + PROCEDURE do_alege_lista_preturi + LOCAL lnTotctva, lnTotftva, lnTva + STORE 0 TO lnTotctva, lnTotftva, lnTva + + PRIVATE pnNr_pag + STORE 0 TO pnNr_pag + + IF thisform.lPretVanz + pnNr_pag = 6 + ELSE + pnNr_pag = 5 + ENDIF + + IF EMPTY(gcGestPermis) + AMESSAGEBOX("Nu aveti drepturi de acces pe nici o gestiune!",0+48,"Atentie") + RETURN + ENDIF + + IF EMPTY(pnId_lista) + AMESSAGEBOX("Alegeti o lista de preturi!",0+48,"Atentie") + thisform.cboListe.SetFocus() + RETURN + ENDIF + IF EMPTY(pdDataI) + AMESSAGEBOX("Completati data initiala !",0+48,"Atentie") + thisform.txtDataI.SetFocus() + RETURN + ENDIF + IF EMPTY(pdDataF) + AMESSAGEBOX("Completati data finala !",0+48,"Atentie") + thisform.txtDataF.SetFocus() + RETURN + ENDIF + + pcPerioada = DTOC(pdDataI) + " - " + DTOC(pdDataF) + + save_grid_tag(THISFORM.grid_web) + *!* lcSel = [{call pack_gest_vanzari.vanzari_stoc(?pnId_lista, ?pdDataI, ?pdDataF, ?gnAn, ?gnLuna, ?pnNr_pag, ?gcGestPermis)}] + + lcSel = [{call pack_gest_vanzari.vanzari_stoc(] + TRANSFORM(pnId_lista) + ; + [,TO_DATE('] + TTOC(pdDataI,1) + [','YYYYMMDDHH24:MI:SS'), TO_DATE('] + TTOC(pdDataF,1) + [','YYYYMMDDHH24:MI:SS'),] + ; + TRANSFORM(gnAn) + [,] + TRANSFORM(gnLuna) + [,] + TRANSFORM(gnTipGest) + [,'] + ; + ALLTRIM(TRANSFORM(poAct.id_gestiune)) + [',?gnIdSucursala)}] + + lcCursor = 'cweb_vanzari' + lnSucces = goExecutor.oExecute(lcSel, lcCursor) + IF lnSucces < 0 + amessage(goExecutor.cEroare,0+16,"Eroare") + RETURN + ENDIF + restore_grid_tag(THISFORM.grid_web) + + PRIVATE pcId_produse + STORE '' TO pcId_produse + + SELECT cweb_vanzari + SCAN + pcId_produse = pcId_produse + ALLTRIM(STR(id_articol)) + "," + SELECT cweb_vanzari + ENDSCAN + + IF pcId_produse <> "," + pcId_produse = SUBSTR(pcId_produse,1,LEN(pcId_produse)-1) + ENDIF + + *MESSAGEBOX(pcId_produse,0+48,"Id_articole") + + ***-------- + IF USED("cweb_vanzari_retetar_o") + USE IN cweb_vanzari_retetar_o + ENDIF + + *!* lcSel = [{call pack_gest_vanzari.vanzari_retetar(?gnAn, ?gnLuna, ?gcGestPermis, ?pcId_produse)}] + lcSel = [{call pack_gest_vanzari.vanzari_retetar(] + TRANSFORM(gnAn) + [,] + TRANSFORM(gnLuna) + [,'] + ; + ALLTRIM(TRANSFORM(poAct.id_gestiune)) + [','] + ALLTRIM(pcId_produse) + [',?gnIdSucursala)}] + + lcCursor = 'cweb_vanzari_retetar_o' + lnSucces = goExecutor.oExecute(lcSel, lcCursor) + + IF lnSucces < 0 + amessage(goExecutor.cEroare,0+16,"Eroare") + RETURN + ENDIF + + SELECT s2.id_produs, s2.id_material, s2.denumire, ; + s2.cant_mat, ; + s1.cant_vand, ; + s1.pretvtva, ; + ROUND(s2.cant_mat* s1.cant_vand,gnPCant) AS cant_nec, ; + s2.cant_in_stoc, ; + s2.um ; + FROM cweb_vanzari_retetar_o s2 ; + LEFT JOIN cweb_vanzari s1 ON s1.id_articol = s2.id_produs ; + INTO CURSOR cReteta_o + + save_grid_tag(THISFORM.grid_web_retetar) + SELECT id_material, denumire, ; + SUM(cant_nec) AS cant_nec, ; + cant_in_stoc, um, ; + 0000000000.00 as cante, ; + 0 as adaugat ; + FROM cReteta_o ; + GROUP BY id_material, denumire, cant_in_stoc, um ; + ORDER BY denumire ; + INTO CURSOR cweb_vanzari_retetar READWRITE + + restore_grid_tag(THISFORM.grid_web_retetar) + + save_grid_tag(thisform.grid_web_reteta) + SELECT s1.*, s2.cant_nec AS cant_nec_cum, ; + IIF(s2.cant_nec > s1.cant_in_stoc, 0, s1.cant_nec) as cante, ; + 0 as adaugat ; + FROM cReteta_o s1 ; + LEFT JOIN cweb_vanzari_retetar s2 ON s1.id_material = s2.id_material ; + INTO CURSOR cReteta READWRITE + restore_grid_tag(thisform.grid_web_reteta) + + SELECT cweb_vanzari + *!* modificare 07.11.2012 : am pus gnPc in loc de gnPa la lnTotftva + CALCULATE SUM(ROUND(pretvtva*cante,gnPC)), SUM(ROUND(pretvtva/proc_tvav*cante,gnPC)) TO lnTotctva, lnTotftva + lnTva = lnTotctva - lnTotftva + + SELECT cweb_vanzari + SCAN + lnId_articol = id_articol + SELECT cReteta + LOCATE FOR id_produs = lnId_articol + IF !FOUND() + SELECT cweb_vanzari + REPLACE nuInRetetar WITH 1 + ENDIF + SELECT cweb_vanzari + ENDSCAN + + SELECT cweb_vanzari + LOCATE FOR nuInRetetar = 1 + IF FOUND() + amessagebox("Exista produse care nu au definita fisa tehnologica!",0+48,"Definiti fisa tehnologica!") + ENDIF + + *!* THISFORM.ct_factura1.txTotal.VALUE = lnTotctva + *!* THISFORM.ct_factura1.txBaza.VALUE = lnTotftva + *!* THISFORM.ct_factura1.txTva.VALUE = lnTva + + thisform.actualizeaza_grid2() + THISFORM.REFRESH + thisform.grid_web.AfterRowColChange + + + + + + ENDPROC + + PROCEDURE do_cauta + thisform.do_alege_lista_preturi() + ENDPROC + + PROCEDURE do_excel + DO export_excel_grid WITH this.grid_web_retetar, 'denumire', "cant_nec > cant_in_stoc" IN proceduri_excel.prg + ENDPROC + + PROCEDURE do_modifica + *!* lcNomArt = this.ct_grid_search1.cnumecursor + *!* SELECT (lcNomArt) + *!* SCATTER NAME lorec + + *!* PRIVATE poCote_tva + *!* STORE '' TO poCote_tva + *!* + *!* lnId = lorec.id_articol + *!* DO Adauga_Modifica_Inregistrare WITH [catalog_articole],lorec,lnId,[UPDATE] + *!* this.ct_grid_search1.actualizeaza_grid + ENDPROC + + PROCEDURE do_sterge + LOCAL lnRecno, lcSelRul + * lcSelRul = this.ct_grid_order1.cnumecursor + + SELECT (lcSelRul) + *SCATTER NAME osterg + lnRecno = RECNO() + DELETE + + *!* MODIFICAT 11.04.2006 + *!* MARIUS.MUTU - AM PUS RECNO('RUL_TEMP') IN CURSORUL DE TRANSFER - LA STERGERE SA POT STERGE SI LINIA CORESPONDENTA DIN CRSTRANSFER + + *!* IF INLIST(oset.model,5,6) AND USED('crsTransfer') + *!* SELECT crsTransfer + *!* GOTO lnRecno + *!* DELETE + *!* this.ct_grid_order1.cb_tx_gestin.SetFocus() + *!* ENDIF + + *!* this.ct_grid_order1.actualizeaza_grid + *!* this.calcul_sume + + + ENDPROC + + PROCEDURE do_termin + IF this.inainte_de_do_termin() + gnButon = 1 + pnButon = 1 + Buton = 1 + pnIesire = 1 + *this.Hide + SELECT actactan + *!* modificare ROAGRESTAURANT v 0.0.14 + llVerificare = verificare_note_contabile('actactan', .T.,.T., .F.) + If !llVerificare + *!* modificare ROAGRESTAURANT v 0.0.14 ^ + This.AlwaysOnTop = .F. + Do Form verificare With .T.,.T.,3 && cu buton de precedent + This.AlwaysOnTop = .T. + Endif + + DO CASE + CASE gnButon = 3 + *onirbon.visible = .t. + * DO nrord WITH lcSelRul + OTHERWISE + this.Release + ENDCASE + ENDIF + ENDPROC + + PROCEDURE inainte_de_do_listare + thisform.AlwaysOnTop = .F. + + LOCAL lcTabel + lcTabel = thisform.grid_web_retetar.RecordSource + + SELECT * FROM (lcTabel) WHERE cant_nec > cant_in_stoc INTO CURSOR cList + SELECT cList + REPORT FORM rap_descarcare_retetar TO PRINTER PROMPT PREVIEW + IF USED("cList") + USE IN cList + ENDIF + + thisform.AlwaysOnTop = .T. + ENDPROC + + PROCEDURE inainte_de_do_termin + LOCAL lcSelRul, lcContTr, lcAcontTr, lcRul, lcSql, lcCursor, lnSucces, lcCant + STORE '' TO lcContTr, lcAcontTr + + LOCAL lnRecno + lnRecno = 0 + + *** completez tabela ACTACTAN + IF TYPE('oitem') = 'O' + IF PEMSTATUS(oitem,'adunadate',5) + oitem.adunadate() + ENDIF + ENDIF + + IF EMPTY(gcGestPermis) + AMESSAGEBOX("Nu aveti drepturi de acces pe nici o gestiune!",0+48,"Atentie") + RETURN .F. + ENDIF + + IF !USED("cWeb_Vanzari") + AMESSAGEBOX("Tabelul de vanzari nu contine inregistrari!",0+48,"Atentie") + RETURN .F. + ENDIF + + SELECT cweb_vanzari + LOCATE FOR nuInRetetar = 1 + IF FOUND() + amessagebox("Exista produse care nu au definita fisa tehnologica!",0+48,"Atentie") + THISFORM.grid_web.SETFOCUS() + RETURN .F. + ENDIF + + IF EMPTY(pnIdGest_InProd) + amessagebox("Nu ati completat gestiunea in care intra produsele!",0+48,"Atentie") + THISFORM.cbo_idGest_inProd.SETFOCUS() + RETURN .F. + ENDIF + + IF EMPTY(pnIdGest_InMarf) + amessagebox("Nu ati completat gestiunea in care intra marfurile!",0+48,"Atentie") + THISFORM.cbo_idGest_inMarf.SETFOCUS() + RETURN .F. + ENDIF + + lcTabelCum = THISFORM.grid_web_retetar.RECORDSOURCE + SELECT (lcTabelCum) + LOCATE FOR cante > cant_in_stoc + IF FOUND() + amessagebox("Exista materii prime pentru care cantitatea care se scade depaseste cantitatea din stoc!",0+48,"Atentie") + THISFORM.grid_web_reteta.SETFOCUS() + RETURN .F. + ENDIF + + llSucces = THIS.MAKE_RULTEMP() + IF !llSucces + RETURN .F. + ENDIF + + ***********************************************************************************************************************8 + *!* SELECT rul_temp && crsProduseIesiri + *!* CALCULATE SUM(ROUND(PRET*cante,gnPc)), SUM(ROUND(cante*(pretv-PRET),gnPc)) TO pnBazaBon, pnAdaos + + && NOTE + SELECT * FROM XNOTE WHERE id_set = oset.id_set INTO CURSOR crsNota + + lcField = '' + SELECT xact + GO TOP + + FOR i = 1 TO FCOUNT() + IF UPPER(ALLTRIM(EVALUATE(FIELD(i)))) = 'SUMA' + lcField = FIELD(i) + EXIT + ENDIF + ENDFOR + + IF EMPTY(lcField) + RETURN .T. + ENDIF + + LOCAL lnValAchizitie, lnValctva + STORE 0 TO lnValAchizitie, lnValctva + + SELECT cweb_vanzari + CALCULATE SUM(ROUND(pretvtva*cant_vand,gnPC)) ; + TO lnValctva + CALCULATE SUM(ROUND(ROUND(pretvtva/IIF(proc_tvav<>0,proc_tvav,1), gnPPretV)*cant_vand,gnPC)) ; + TO pnBazaFactura + + SELECT rul_temp + CALCULATE SUM(ROUND(PRET*cante, gnPC)) TO lnValAchizitie FOR CONT = '301' + + pnTVAFactura = lnValctva - pnBazaFactura + pnAdaosTotal = pnBazaFactura - lnValAchizitie + + SELECT actactan + SCATTER NAME loActactan + REPLACE ALL suma WITH lnValAchizitie + REPLACE id_gestin WITH pnIdGest_InProd FOR scd = '345' AND scc = '711' + REPLACE id_gestin WITH pnIdGest_InMarf, id_gestout WITH pnIdGest_InMarf FOR scd = '371' AND scc = '345' + REPLACE suma WITH pnAdaosTotal, id_gestin WITH pnIdGest_InMarf, id_gestout WITH pnIdGest_InMarf FOR scd = '371' AND scc = '378' + REPLACE suma WITH pnAdaosTotal, id_gestout WITH pnIdGest_InMarf FOR scd = '378' AND scc = '371' + + REPLACE suma WITH lnValAchizitie, id_gestout WITH pnIdGest_InMarf FOR scd = '607' AND scc = '371' + + SELECT DISTINCT acont FROM rul_temp WHERE CONT = '301' INTO CURSOR cAcont301 + SELECT cAcont301 + SCAN + lnValAchizitie = 0 + lcAcont = acont + SELECT rul_temp + CALCULATE SUM(ROUND(PRET*cante, gnPC)) TO lnValAchizitie FOR CONT = '301' AND acont = lcAcont + SELECT actactan + LOCATE FOR scc = '301' AND EMPTY(ascc) + IF FOUND() + REPLACE suma WITH lnValAchizitie, ascc WITH lcAcont + ELSE + SELECT actactan + LOCATE FOR scc = '301' + SCATTER NAME lo301 + APPEND BLANK + GATHER NAME lo301 + REPLACE suma WITH lnValAchizitie, ascc WITH lcAcont + ENDIF + SELECT cAcont301 + ENDSCAN + + *!* SELECT cWeb_Vanzari + *!* CALCULATE SUM(ROUND(pretvtva/IIF(proc_tvav<>0,proc_tvav,1)*cant_vand,gnPc)), ; + *!* SUM(ROUND((pretvtva - (pretvtva/IIF(proc_tvav<>0,proc_tvav,1))) * cant_vand,gnPc)) ; + *!* TO pnBazaFactura, pnTVAFactura + + ***------------------ + * 411 = 70x + SELECT proc_tvav, SUM(ROUND(ROUND(pretvtva/IIF(proc_tvav<>0,proc_tvav,1), gnPPretV)*cant_vand,gnPC)) AS bazaFact ; + FROM cweb_vanzari ; + GROUP BY proc_tvav ; + INTO CURSOR cBazaCote + + SELECT actactan + LOCATE FOR LEFT(scd,3) = '411' AND LEFT(scc,1) = '7' + IF FOUND() + SCATTER NAME loActBaza + DELETE + + SELECT cBazaCote + SCAN + lnProc_tvav = proc_tvav + lnBazaFact = bazaFact + SELECT actactan + loActBaza.proc_tva = lnProc_tvav + loActBaza.suma = lnBazaFact + * REPLACE suma WITH pnBazaFactura + APPEND BLANK + GATHER NAME loActBaza + SELECT cBazaCote + ENDSCAN + + IF USED("cBazaCote") + USE IN cBazaCote + ENDIF + RELEASE loActBaza + ENDIF + + ***------------------ + + *!* SELECT actactan + *!* LOCATE FOR LEFT(scd,3) = '411' AND LEFT(scc,1) = '7' + *!* IF FOUND() + *!* REPLACE suma WITH pnBazaFactura + *!* ENDIF + + ***------------------ + * 411 = 4427 + + SELECT proc_tvav, SUM(ROUND(pretvtva*cant_vand,gnPC)) - SUM(ROUND(ROUND(pretvtva/IIF(proc_tvav<>0,proc_tvav,1), gnPPretV)*cant_vand,gnPC)) AS TVAFact ; + FROM cweb_vanzari ; + GROUP BY proc_tvav ; + INTO CURSOR cTVACote + + SELECT actactan + LOCATE FOR LEFT(scd,3) = '411' AND ALLTRIM(scc) = '4427' + IF FOUND() + SCATTER NAME loActTVA + DELETE + + SELECT cTVACote + SCAN + lnProc_tvav = proc_tvav + lnTVAFact = TVAFact + SELECT actactan + loActTVA.proc_tva = lnProc_tvav + loActTVA.suma = lnTVAFact + + APPEND BLANK + GATHER NAME loActTVA + SELECT cTVACote + ENDSCAN + + IF USED("cTVACote") + USE IN cTVACote + ENDIF + RELEASE loActTVA + ENDIF + + + ***------------------ + + *!* SELECT actactan + *!* LOCATE FOR LEFT(scd,3) = '411' AND ALLTRIM(scc) = '4427' + *!* IF FOUND() + *!* REPLACE suma WITH pnTVAFactura + *!* ENDIF + + SELECT actactan + LOCATE FOR LEFT(scd,1) = '5' AND LEFT(scc,3) = '411' + IF FOUND() + REPLACE suma WITH lnValctva + ENDIF + ***------------------ + IF USED("cAcont301") + USE IN cAcont301 + ENDIF + + ***---------------------------------------------------------------------------------------------- + SELECT rul_temp + REPLACE ALL dataact WITH loActactan.dataact, ; + nnir WITH loActactan.nnir, ; + id_sectie WITH loActactan.id_sectie, ; + id_responsabil WITH loActactan.id_responsabil, ; + id_lucrare WITH loActactan.id_lucrare + IF USED('crsNota') + USE IN crsNota + ENDIF + + && ordonez notele contabile in ACTACTAN + SELECT actactan + SUM suma TO lnSume + + IF lnSume <> 0 + lcCondDele = [!(suma = 0 and !(((left(scd,1) = '3' and left(scc,2) = '40') OR (left(scd,2) = '41' and left(scc,1) = '7')) AND proc_tva # 1))] + ELSE + lcCondDele = [suma = 0 AND nr_nota = 1 ] + ENDIF + + SELECT * FROM actactan INTO CURSOR crsActActan WHERE &lcCondDele OR INLIST(id_set, 89, 210, 211, 212) ORDER BY nr_nota NOFILTER READWRITE + + SELECT actactan + DELETE FROM actactan + APPEND FROM DBF('crsactactan') + IF USED('crsactactan') + USE IN crsActActan + ENDIF + + && completare analitice + SELECT actactan + SCAN FOR EMPTY(NVL(ascd,'')) + SCATTER NAME loActactan + IF TYPE('loActactan.cont') = 'U' + x = ADDPROPERTY(loActactan,'cont',loActactan.scd) + ENDIF + IF oset.model = 2 AND TYPE('loActactan.id_gestiune') = 'U' && NIR + x = ADDPROPERTY(loActactan,'id_gestiune',loActactan.id_gestin) + ENDIF + IF INLIST(oset.model, 3, 4) AND TYPE('loActactan.id_gestiune') = 'U' && BON, RETUR + x = ADDPROPERTY(loActactan,'id_gestiune',loActactan.id_gestout) + ENDIF + loActactan.ascd = THIS.assign_analitic(loActactan.scd,THIS.cobj,'loActactan') + REPLACE ascd WITH loActactan.ascd + SELECT actactan + ENDSCAN + + SELECT actactan + SCAN FOR EMPTY(NVL(ascc,'')) + SCATTER NAME loActactan + IF TYPE('loActactan.cont') = 'U' + x = ADDPROPERTY(loActactan,'cont',loActactan.scc) + ENDIF + IF oset.model = 2 AND TYPE('loActactan.id_gestiune') = 'U' && NIR + x = ADDPROPERTY(loActactan,'id_gestiune',loActactan.id_gestin) + ENDIF + IF INLIST(oset.model, 3, 4) AND TYPE('loActactan.id_gestiune') = 'U' && BON, RETUR + x = ADDPROPERTY(loActactan,'id_gestiune',loActactan.id_gestout) + ENDIF + loActactan.ascc = THIS.assign_analitic(loActactan.scc,THIS.cobj,'loActactan') + REPLACE ascc WITH loActactan.ascc + SELECT actactan + ENDSCAN + + SELECT actactan + LOCATE FOR scd = '371' AND scc = '345' + IF FOUND() + lcAscd = ascd + SELECT rul_temp + REPLACE ALL acont WITH lcAscd FOR CONT = '371' AND cante <> 0 AND cant = 0 + ENDIF + + SELECT actactan + LOCATE FOR scd = '371' AND scc = '378' + IF FOUND() + lcAscd = ascd + SELECT rul_temp + REPLACE ALL acont WITH lcAscd FOR CONT = '371' AND cante = 0 AND cant <> 0 + SELECT actactan + REPLACE id_gestout WITH 0 FOR scd = '371' AND scc = '378' + ENDIF + + SELECT actactan + REPLACE id_gestin WITH pnIdGest_InMarf, id_gestout WITH pnIdGest_InProd FOR scd = '371' AND scc = '345' + + IF TYPE('loActactan') = 'O' + RELEASE loActactan + ENDIF + + SELECT actactan + GO TOP + + RETURN .T. + + ENDPROC + + PROCEDURE Init + DODEFAULT() + SELECT * FROM XNOTE WHERE id_set = oset.id_set INTO CURSOR crsNota + SELECT crsNota + LOCATE FOR XSCD = '4428' + IF FOUND() + thisform.lPretVanz = .T. + ENDIF + ENDPROC + + PROCEDURE make_rultemp + && completez RUL_TEMP + + lcProduse = THIS.grid_web.RECORDSOURCE + lcMateriale = THIS.grid_web_retetar.RECORDSOURCE + + *!*CREATE TABLE c:\test.dbf (produs c(100), id_produs n(10), material C(100), id_mat n(10), cant_nec n(18,5), pret n(18,5), cante n(18,5), cantramas n(18,5), stoc n(18,5)) + + IF USED('rul_temp') + USE IN rul_temp + ENDIF + + * lcRul = ALLTRIM(THIS.osel_dr.cfrom) + lcSql = [select v.*, v.id_gestiune as id_gestin, v.nume_gestiune as gestin, v.id_gestiune as id_gestout,] + ; + [v.nume_gestiune as gestout, 0 as nuInConturiX from ] + gcS + [.vrul v where 1=2] + lcCursor = [rul_temp] + lnSucces = goExecutor.oExecute(lcSql,lcCursor) + IF lnSucces < 0 + AMESSAGEBOX(goExecutor.cEroare,0+16, 'Eroare') + ENDIF + + IF USED("crsStocActual1") + USE IN crsStocActual1 + ENDIF + + *!* lcSql = [select denumire, id_articol, id_gestiune, pret, tva, proc_tvav, cont, acont, SUM(cants + cant - cante) as stoc from vstoc where an = ] + ; + *!* TRANSFORM(gnAn) + [ and luna = ] + TRANSFORM(gnLuna) + [ and id_gestiune in (] + TRANSFORM(poAct.id_gestiune)+ [)] + ; + *!* [ group by denumire, id_articol, id_gestiune, pret, tva, proc_tvav, cont, acont order by pret] + lcSql = [select id_articol, id_gestiune, pret, tva, proc_tvav, cont, acont, SUM(cants + cant - cante) as stoc ] + ; + [from stoc where an = ] + TRANSFORM(gnAn) + [ and luna = ] + TRANSFORM(gnLuna) + ; + [ and id_gestiune in (] + TRANSFORM(poAct.id_gestiune)+ [) and id_rul_aux is null ] + gcCondSucursala + ; + [ group by id_articol, id_gestiune, pret, tva, proc_tvav, cont, acont order by pret] + lcCursor = [crsStocActual1] + lnSucces = goExecutor.oExecute(lcSql,lcCursor) + IF lnSucces < 0 + AMESSAGEBOX(goExecutor.cEroare,0+16, 'Eroare') + ENDIF + + IF USED("crsStocActual") + USE IN crsStocActual + ENDIF + + SELECT * FROM crsStocActual1 ; + WITH (BUFFERING = .T.) ; + INTO CURSOR crsStocActual ; + READWRITE + + + *!*SELECT * FROM crsStocActual INTO TABLE c:\ccrsStocActual.dbf + + SELECT * FROM crsStocActual1 ; + WITH (BUFFERING = .T.) ; + INTO CURSOR crsStocActual_2 ; + READWRITE + + *!*SELECT * FROM crsStocActual_2 INTO TABLE c:\ccrsStocActual_2.dbf + + IF USED("crsStocActual1") + USE IN crsStocActual1 + ENDIF + + **************** + IF USED("crsMateriale") + USE IN crsMateriale + ENDIF + + *!* SELECT id_material AS id_articol, IIF(cant_nec < cant_in_stoc, cant_nec, cant_in_stoc) AS cante ; + *!* FROM (lcMateriale) ; + *!* WITH (buffering = .t.) ; + *!* INTO CURSOR crsMateriale ; + *!* READWRITE + + + + SELECT id_material AS id_articol, cante ; + FROM (lcMateriale) ; + WITH (BUFFERING = .T.) ; + INTO CURSOR crsMateriale ; + READWRITE + + SELECT crsMateriale + SCAN FOR cante > 0 + lnCantRamas = cante + lnIdArticol = id_articol + lnCantInit = cante + *!* lcMaterial = ALLTRIM(denumire) + SELECT crsStocActual + LOCATE FOR id_articol = lnIdArticol AND stoc > 0 AND lnCantRamas > 0 + DO WHILE FOUND() + lcCont = CONT + lcAcont = NVL(acont,'') + + lnCante = MIN(lnCantRamas, stoc) + lnCantRamas = lnCantRamas - lnCante + lnPret = PRET + lnIdGestiune = id_gestiune + + *!* INSERT INTO test (material, id_mat, cant_nec, cante, cantramas, stoc, pret) VALUES (lcMaterial, lnIdArticol, lnCantInit, lnCante, lnCantRamas, crsStocActual.stoc, lnPret) + REPLACE stoc WITH stoc - lnCante + + + IF LEFT(lcCont,3) <> '371' + SELECT rul_temp + SCATTER NAME loRul BLANK + WITH loRul + .id_articol = lnIdArticol + *.id_gestout = lnIdGestiune + .id_gestiune = lnIdGestiune + .cante = lnCante + .PRET = ROUND(lnPret, gnPpret) + .CONT = lcCont + .acont = lcAcont + ENDWITH + SELECT rul_temp + APPEND BLANK + GATHER NAME loRul + ENDIF + + SELECT crsStocActual + LOCATE FOR id_articol = lnIdArticol AND stoc > 0 AND lnCantRamas > 0 + ENDDO + SELECT crsMateriale + ENDSCAN + + IF USED("crsMateriale") + USE IN crsMateriale + ENDIF + ***--------------- + * 345 = 711 - intrare produs la pret de achizitie materiale componente + *!* SELECT denumire, id_articol, cant_vand AS cant, pretvtva, PRET, proc_tvav, ; + *!* 0 as nuProdus ; + *!* FROM (lcProduse) ; + *!* WITH (BUFFERING = .T.) ; + *!* INTO CURSOR crsProduseIesiri ; + *!* READWRITE + && nuProdus ex.: chifle, banane - pe care le cumpara direct ca marfa, si nu devine produs + + SELECT id_articol, cant_vand AS cant, pretvtva, PRET, proc_tvav, ; + 0 as nuProdus ; + FROM (lcProduse) ; + WITH (BUFFERING = .T.) ; + INTO CURSOR crsProduseIesiri ; + READWRITE + + SELECT crsProduseIesiri + SCAN FOR cant <> 0 + SCATTER NAME loProdus + *!* lcProdus = ALLTRIM(denumire) + lnIdArticol = id_articol + lnPretvtva = pretvtva + lnCant = cant + SELECT * FROM cReteta ; + WHERE id_produs = lnIdArticol AND pretvtva = lnPretvtva; + INTO CURSOR cCalcReteta + + lnPretCalc = 0 + lnComponente = 0 + lnComponenteGasite = 0 + SELECT cCalcReteta + SCAN + lnComponente = lnComponente + 1 + lnCantRamas = cante + lnId_material = id_material + lnCantInit = cante + SELECT crsStocActual_2 + LOCATE FOR id_articol = lnId_material AND stoc > 0 AND lnCantRamas > 0 + DO WHILE FOUND() + IF LEFT(cont,3) = '371' + lnComponenteGasite = lnComponenteGasite + 1 + ENDIF + lnCante = MIN(lnCantRamas, stoc) + lnCantRamas = lnCantRamas - lnCante + lnPret = PRET + *!* lcmaterial = ALLTRIM(denumire) + *!* INSERT INTO test (produs, id_produs, material, id_mat, cant_nec, cante, cantramas, stoc, pret) VALUES (lcprodus, lnIdArticol, lcmaterial, lnId_material, lnCantInit, lnCante, lnCantRamas, crsStocActual_2.stoc, lnPret) + REPLACE stoc WITH stoc - lnCante + + lnPretCalc = ROUND(lnPretCalc + ROUND(lnCante * lnPret, gnPpret), gnPpret) + + SELECT crsStocActual_2 + LOCATE FOR id_articol = lnId_material AND stoc > 0 AND lnCantRamas > 0 + ENDDO + + SELECT cCalcReteta + ENDSCAN + + IF USED("cCalcReteta") + USE IN cCalcReteta + ENDIF + + IF lnComponenteGasite < lnComponente + && daca toate componentele sunt in stoc pe contul 371, nu mai scriu in rul_temp + SELECT rul_temp + APPEND BLANK + GATHER NAME loProdus + REPLACE PRET WITH ROUND(lnPretCalc/lnCant, gnPpret), CONT WITH '345', id_gestiune WITH pnIdGest_InProd + ELSE + SELECT crsProduseIesiri + REPLACE nuProdus WITH 1 + ENDIF + + SELECT crsProduseIesiri + REPLACE PRET WITH ROUND(lnPretCalc/lnCant, gnPpret) + + SELECT crsProduseIesiri + ENDSCAN + + ***-------------- + * 371 = 345 - iesire produs + SELECT crsProduseIesiri + SCAN FOR nuProdus = 0 + SCATTER NAME loProdus + + SELECT rul_temp + APPEND BLANK + GATHER NAME loProdus + REPLACE cante WITH ROUND(loProdus.cant,gnPCant), ; + cant WITH 0, ; + CONT WITH '345', ; + id_gestiune WITH pnIdGest_InProd + + SELECT rul_temp + APPEND BLANK + GATHER NAME loProdus + REPLACE CONT WITH '371', ; + id_gestiune WITH pnIdGest_InMarf, ; + pretv WITH ROUND(pretvtva / IIF(proc_tvav <> 0, proc_tvav, 1), gnPpretV), ; + adaos WITH ROUND(ROUND(pretvtva / IIF(proc_tvav <> 0, proc_tvav, 1), gnPpretV)-PRET,max(gnPPretV,gnPpret)), ; + adaos_tva WITH ROUND(ROUND(ROUND(pretvtva / IIF(proc_tvav <> 0, proc_tvav, 1), gnPpretV)-PRET,max(gnPpretV,gnPPret))*IIF(proc_tvav <> 0, proc_tvav-1,0),max(gnPpret,gnPPretV)), ; + tvav WITH ROUND(pretvtva - ROUND(pretvtva / IIF(proc_tvav <> 0, proc_tvav, 1), gnPpretV),gnPpretV) + SELECT crsStocActual + ENDSCAN + + ***-------------- + * 607 = 371 - iesire marfa + * SELECT * FROM crsProduseIesiri INTO TABLE c:\crsProduseIesiri.DBF + + SELECT crsProduseIesiri + CALCULATE SUM(ROUND((ROUND(pretvtva / IIF(proc_tvav <> 0, proc_tvav, 1), gnPPretV)-PRET)*cant, gnPC)) TO pnAdaosTotal + + SELECT crsProduseIesiri + SCAN + SCATTER NAME loProdus + + * lnPretv = ROUND(pretvtva / IIF(proc_tvav <> 0, proc_tvav, 1),gnPC) + + SELECT rul_temp + APPEND BLANK + GATHER NAME loProdus + REPLACE cante WITH ROUND(loProdus.cant,gnPCant), ; + cant WITH 0, ; + CONT WITH '371', ; + id_gestiune WITH pnIdGest_InMarf, ; + pretv WITH ROUND(pretvtva / IIF(proc_tvav <> 0, proc_tvav, 1), gnPPretV), ; + adaos WITH ROUND(ROUND(pretvtva / IIF(proc_tvav <> 0, proc_tvav, 1), gnPPretV)-PRET,max(gnPPretV,gnPPret)), ; + adaos_tva WITH ROUND(ROUND(ROUND(pretvtva / IIF(proc_tvav <> 0, proc_tvav, 1), gnPPretV)-PRET,max(gnPPretV,gnPPret))*IIF(proc_tvav <> 0, proc_tvav-1,0),max(gnPPretV,gnPPret)), ; + tvav WITH ROUND(pretvtva - ROUND(pretvtva / IIF(proc_tvav <> 0, proc_tvav, 1), gnPPretV),gnPPretV) + + SELECT crsStocActual + ENDSCAN + + SELECT crsProduseIesiri + *!*COPY TO c:\ProduseIesiri + + + + ENDPROC + + PROCEDURE Release + * lcSelRul = this.ct_grid_order1.cnumecursor + * lcSelSt = this.ct_grid_search1.cnumecursor + *!* IF USED(lcSelRul) + *!* USE IN (lcSelRul) + *!* ENDIF + *!* IF USED(lcSelSt) + *!* USE IN (lcSelSt) + *!* ENDIF + *!* IF USED('crsTransfer') + *!* USE IN crsTransfer + *!* ENDIF + + IF USED("cWeb_vanzari") + USE IN cWeb_vanzari + ENDIF + + IF USED("cWeb_vanzari_retetar_o") + USE IN cWeb_vanzari_retetar_o + ENDIF + + IF USED("cWeb_vanzari_retetar") + USE IN cWeb_vanzari_retetar + ENDIF + + IF USED("cReteta") + USE IN cReteta + ENDIF + + ENDPROC + + PROCEDURE cboListe.Valid + pnId_lista = cListePret.id_pol + + ENDPROC + + PROCEDURE cbo_idGest_inMarf.Valid + pnIdGest_InMarf = crsGestiuni.id_gestiune + + ENDPROC + + PROCEDURE cbo_idGest_inProd.Valid + pnIdGest_InProd = crsGestiuni.id_gestiune + + ENDPROC + + PROCEDURE Command1.Click + loas = CREATEOBJECT("frm_alege_din_stoc") + loas.lb_titlu_alb_b121.caption = "STOC" + SELECT xsets + LOCATE FOR id_set = 92 && tnIdSet + SCATTER NAME oSet + *!* modificare JC/JV 2007 + IF gnNeplatitoare_tva = 1 + oSet.id_jtax = oSet.id_jtaxn + oSet.id_jnetax = oSet.id_jtaxn + ENDIF + *!* modificare JC/JV 2007 ^ + lFactura = oSet.factura + lAdaos = oSet.adaos + lDiscount = oSet.discount + lcTipFrm = UPPER(oSet.explicatia) + llGestout = .f. + + SELECT selectii + LOCATE FOR id_sel = oSet.id_selSt + IF FOUND() + SCATTER NAME ost MEMO + ELSE + amessagebox('NECONFIGURAT!',0+48,'Atentie!') + RETURN 2 && renunt + ENDIF + + lcSelSt = ALLTRIM(ost.cselect) + [ from ] + gcs + [.] + ALLTRIM(ost.cfrom) + [ where ] + ALLTRIM(ost.filtru) + lcSchemaSt = ALLTRIM(ost.cschema) + + WITH loas.ct_grid_search1 + .cselect = lcSelSt + .cschema = lcSchemaSt + .cTitlu_coloane = ALLTRIM(ost.titlu_col) + .cNume_coloane = ALLTRIM(ost.nume_col) + .cMask = ALLTRIM(ost.mask_col) + .cFiltruOriginal = lcFiltruOrig + .cFiltru = ALLTRIM(ost.filtru) + .cOrder = ALLTRIM(ost.ordine) + .cTitlu = ALLTRIM(ost.titlu_grid) + .cb_tx_gestout.VISIBLE = llGestout + .but_nou1.VISIBLE = llAdMod + * .but_modifica1.VISIBLE = llAdMod + ENDWITH + + loas.SHOW(1) + + IF buton = 2 + RETURN + ENDIF + + SELECT cursor_curent1 + IF RECCOUNT() > 0 + SCATTER NAME loArticol + SELECT cReteta + LOCATE FOR id_material = loArticol.id_articol + IF !FOUND() + APPEND BLANK + REPLACE id_produs WITH pnId_produs, ; + id_material WITH loArticol.id_articol, ; + denumire WITH loArticol.denumire, ; + cant_nec WITH 0, ; + cant_in_stoc WITH loArticol.cantitate, ; + um WITH loArticol.um, ; + adaugat WITH 1 + ENDIF + ENDIF + + thisform.grid_web_reteta.Refresh + thisform.actualizeaza_grid2() + + + ENDPROC + + PROCEDURE grid_web.AfterRowColChange + LPARAMETERS nColIndex + + LOCAL lcTabel + STORE '' TO lcTabel + + lcTabel = this.RecordSource + + SELECT (lcTabel) + thisform.nIdprodus = id_articol + lcDenumire = ALLTRIM(denumire) + thisform.nPretvtva = pretvtva + + SELECT cReteta + SET FILTER TO id_produs = thisform.nIdprodus AND pretvtva = thisform.nPretvtva + thisform.lb_materiiPrime.Caption = "Materii prime pt.: " + NVL(lcDenumire,'') + + SELECT cReteta + GO TOP + + thisform.grid_web_reteta.Refresh + + ENDPROC + + PROCEDURE grid_web.Column3.Text1.DblClick + LOCAL lcTabelProduse, lnId_Produs, lcDenumire_pr + STORE '' TO lcTabelProduse, lcDenumire_pr + STORE 0 TO lnId_Produs + + lcTabelProduse = thisform.grid_web.RecordSource + SELECT (lcTabelProduse) + + lnId_Produs = id_articol + lcDenumire_pr = ALLTRIM(denumire) + + Private poReteta + Store '' To poReteta + + Local lcSchema1, lcSelect1, lcOrder1, lcFiltru1, llAfiseaza + *!* lcSchema1 = [id_ctr N(5), id_part N(10), nume C(30), nr_ctr N(10), data_ctr D(8), obiect C(200), tip N(1), durata N(3), valftva N(20,4), proc_tva N(5,2), avans N(20,4), proc_avans N(5,2),]+; + *!* [val_finant N(20,4), proc_finant N(5,2), dobanda N(20,4), proc_dobanda N(5,2), val_rezid N(20,4), proc_rezid N(5,2), ]+; + *!* [rata N(20,4), comision N(20,4), proc_comision N(5,2), proc_asigurare N(5,2), val_asigurare N(20,4), val_ctr N(20,4), id_valuta N(5), nume_val C(4), curs N(10,4), zi_plata N(2), incetat N(1), sters N(1) ] + + lcSelect1 = [select id_material, denumire_mat, codmat_mat, um_mat, cont_mat, cant_mat from ] + gcS + [.vgest_retetar ] + lcOrder1 = [] + lcgroup = [] + lcFiltru1 = [id_produs=] + ALLTRIM(STR(lnId_Produs)) + lcFiltruOriginal = [] + llModParam = .T. + llAfiseaza = .F. + + gencursor('poReteta','crsReteta', lcSelect1, lcFiltru1, lcSchema1, lcOrder1, llAfiseaza, lcgroup, llModParam, lcFiltruOriginal) + poReteta.ca_baza1.afisare() + + SELECT crsReteta + lofr = CREATEOBJECT("frm_reteta") + lofr.lb_titlu_alb_b121.caption = "Reteta pentru: " + lcDenumire_pr + lofr.show(1) + + IF USED("crsReteta") + USE IN crsReteta + ENDIF + + RELEASE poReteta + ENDPROC + + PROCEDURE grid_web.Init + this.SetAll("DynamicBackColor","IIF(nuInRetetar = 1, RGB(255,0,0), RGB(255,255,255))", "Column") + + ENDPROC + + PROCEDURE grid_web_reteta.AfterRowColChange + LPARAMETERS nColIndex + + LOCAL lcTabel, lcTabelCum, lnId_material + STORE '' TO lcTabel, lcTabelCum + STORE 0 TO lnId_material + + lcTabel = this.RecordSource + lcTabelCum = thisform.grid_web_retetar.RecordSource + SELECT (lctabel) + lnId_material = id_material + + SELECT (lcTabelCum) + LOCATE FOR id_material = lnId_material + thisform.grid_web_retetar.Refresh + + + + + + ENDPROC + + PROCEDURE grid_web_reteta.Column2.Text1.Valid + LOCAL lcTabel, lnCant_nec, lnCant_in_stoc + lcTabel = thisform.grid_web_reteta.RecordSource + STORE 0 TO lnCant_vand, lnCant_in_stoc + + SELECT (lcTabel) + lnCant_nec = cant_nec + lnCant_in_stoc = cant_in_stoc + IF adaugat = 1 + lnCant_Max = lnCant_in_stoc + ELSE + lnCant_Max = MIN(lnCant_nec, lnCant_in_stoc) + ENDIF + + SELECT (lcTabel) + IF adaugat = 1 + REPLACE cante WITH MIN(cant_nec, cant_in_stoc) + ENDIF + + lnCante = cante + + IF lnCante > lnCant_Max + WAIT WINDOW 'Nu puteti scoate o cantitate mai mare decat cea aflata in stoc/necesara !' NOWAIT + lnCante = lnCant_Max + REPLACE cante WITH lnCante + ENDIF + + + + THISFORM.grid_web_reteta.REFRESH + thisform.actualizeaza_grid2() + ENDPROC + + PROCEDURE grid_web_reteta.Column5.Text1.Valid + LOCAL lcTabel, lnCant_nec, lnCant_in_stoc + lcTabel = thisform.grid_web_reteta.RecordSource + STORE 0 TO lnCant_vand, lnCant_in_stoc + + SELECT (lcTabel) + lnCant_nec = cant_nec + lnCant_in_stoc = cant_in_stoc + IF adaugat = 1 + lnCant_Max = lnCant_in_stoc + ELSE + lnCant_Max = MIN(lnCant_nec, lnCant_in_stoc) + ENDIF + lnCante = cante + + IF lnCante > lnCant_Max + WAIT WINDOW 'Nu puteti scoate o cantitate mai mare decat cea aflata in stoc/necesara !' NOWAIT + lnCante = lnCant_Max + REPLACE cante WITH lnCante + ENDIF + + THISFORM.grid_web_reteta.REFRESH + thisform.actualizeaza_grid2() + ENDPROC + + PROCEDURE grid_web_reteta.Init + this.SetAll("DynamicBackColor","IIF(cant_nec_cum > cant_in_stoc, RGB(255,205,155), IIF(adaugat = 1,RGB(255,255,204), RGB(255,255,255)))", "Column") + + ENDPROC + + PROCEDURE grid_web_retetar.Init + this.SetAll("DynamicBackColor","IIF(cante > cant_in_stoc, RGB(255,113,113),IIF(cant_nec > cant_in_stoc, RGB(255,205,155), IIF(adaugat = 1,RGB(255,255,204), RGB(255,255,255))))", "Column") + + ENDPROC + + PROCEDURE Lb_titlu_alb_b121.Init + IF TYPE('oxset.nume_set') # 'U' + this.Caption = PROPER(ALLTRIM(oxset.nume_set)) + ENDIF + ENDPROC + + PROCEDURE txtDataF.Valid + pdDataF = this.value + + + ENDPROC + + PROCEDURE txtDataI.Valid + pdDataI = this.value + ENDPROC + + PROCEDURE _shape1.DblClick + IF thisform.WindowState = 2 + thisform.WindowState = 0 + ELSE + thisform.WindowState = 2 + ENDIF + ENDPROC + +ENDDEFINE diff --git a/clase/oinventar.vc2 b/clase/oinventar.vc2 new file mode 100644 index 0000000..82d3794 --- /dev/null +++ b/clase/oinventar.vc2 @@ -0,0 +1,12963 @@ +*-------------------------------------------------------------------------------------------------------------------------------------------------------- +* (EN) AUTOGENERATED - ATTENTION!! - NOT INTENDED FOR EXECUTION!! USE ONLY FOR MERGING CHANGES AND STORING WITH SCM TOOLS!! +*-------------------------------------------------------------------------------------------------------------------------------------------------------- +*< FOXBIN2PRG: Version="1.21" SourceFile="oinventar.vcx" CPID="1252" /> (Solo para binarios VFP 9 / Only for VFP 9 binaries) +* +* +DEFINE CLASS frm_inventar_centralizator AS _frmbase OF "_frm_base.vcx" + *< CLASSDATA: Baseclass="form" Timestamp="" Scale="Pixels" Uniqueid="" /> + + *-- OBJECTDATA items order determines ZOrder / El orden de los items OBJECTDATA determina el ZOrder + *< OBJECTDATA: ObjPath="But_nou1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="But_reset_criterii1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="But_start_criterii1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="grdinventare" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="grdinventare.cLuna.Header1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="grdinventare.cLuna.Text1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="grdinventare.cAn.Header1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="grdinventare.cAn.Text1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="grdinventare.cDataInventar.Header1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="grdinventare.cDataInventar.Text1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="grdinventare.cUtil.Header1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="grdinventare.cUtil.Text1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="grdinventare.cDescriere.Header1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="grdinventare.cDescriere.Text1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="grdinventare.cValidat.Header1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="grdinventare.cValidat.Check1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="grdinventare.cDataOraV.Header1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="grdinventare.cDataOraV.Text1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="grdinventare.cUtilV.Header1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="grdinventare.cUtilV.Text1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="grdinventare.cTip.Header1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="grdinventare.cTip.Text1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="grdinventare.cNract.Header1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="grdinventare.cNract.Text1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="grdinventare.cNnir.Header1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="grdinventare.cNnir.Text1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="grdinventare.cIdfact.Header1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="grdinventare.cIdfact.Text1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="But_modifica2" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="But_sterge2" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="But_help1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="Gridextra1" UniqueID="" Timestamp="" /> + + #INCLUDE "..\roa.h" + * + *p: ldeblocarecorectie + *p: lmagazin + *p: ntip && Tipul inventarului; daca e -1, atunci le arata pe toate. + * + + * + BorderStyle = 3 + DoCreate = .T. + Height = 521 + ldeblocarecorectie = .F. + lmagazin = .F. + Name = "frm_inventar_centralizator" + ntip = -1 + Width = 681 + _shape1.Height = 29 + _shape1.Left = 0 + _shape1.Name = "_shape1" + _shape1.Top = 0 + _shape1.Width = 681 + _shape2.Anchor = 9 + _shape2.Height = 29 + _shape2.Left = 456 + _shape2.Name = "_shape2" + _shape2.Top = 0 + _shape2.Visible = .T. + _shape2.Width = 226 + Lb_titlu_alb_b121.Caption = "LISTA INVENTARE" + Lb_titlu_alb_b121.Name = "Lb_titlu_alb_b121" + BUT_TERMIN1.Anchor = 9 + BUT_TERMIN1.Left = 650 + BUT_TERMIN1.Name = "BUT_TERMIN1" + BUT_TERMIN1.Top = 1 + Gridsort1.Left = 12 + Gridsort1.Name = "Gridsort1" + Gridsort1.Top = 42 + * + + ADD OBJECT 'But_help1' AS but_help WITH ; + Anchor = 9, ; + Left = 457, ; + Name = "But_help1", ; + Picture = ..\grafice\help_sus.bmp, ; + Top = 1 + *< END OBJECT: ClassLib="cmd_butoane.vcx" BaseClass="commandbutton" /> + + ADD OBJECT 'But_modifica2' AS but_modifica WITH ; + Anchor = 9, ; + caction = do_modifica, ; + Left = 590, ; + Name = "But_modifica2", ; + Top = 1, ; + Visible = .T. + *< END OBJECT: ClassLib="cmd_butoane.vcx" BaseClass="commandbutton" /> + + ADD OBJECT 'But_nou1' AS but_nou WITH ; + Anchor = 9, ; + Left = 560, ; + Name = "But_nou1", ; + Top = 1 + *< END OBJECT: ClassLib="cmd_butoane.vcx" BaseClass="commandbutton" /> + + ADD OBJECT 'But_reset_criterii1' AS but_reset_criterii WITH ; + Anchor = 9, ; + Left = 502, ; + Name = "But_reset_criterii1", ; + Top = 1 + *< END OBJECT: ClassLib="ocriterii.vcx" BaseClass="commandbutton" /> + + ADD OBJECT 'But_start_criterii1' AS but_start_criterii WITH ; + Anchor = 9, ; + Left = 532, ; + Name = "But_start_criterii1", ; + Top = 1 + *< END OBJECT: ClassLib="ocriterii.vcx" BaseClass="commandbutton" /> + + ADD OBJECT 'But_sterge2' AS but_sterge WITH ; + Anchor = 9, ; + caction = do_sterge, ; + Left = 620, ; + Name = "But_sterge2", ; + Top = 1, ; + Visible = .T. + *< END OBJECT: ClassLib="cmd_butoane.vcx" BaseClass="commandbutton" /> + + ADD OBJECT 'grdinventare' AS _grdbase WITH ; + Anchor = 15, ; + ColumnCount = 12, ; + DeleteMark = .F., ; + Height = 469, ; + Left = 14, ; + Name = "grdinventare", ; + Panel = 1, ; + ReadOnly = .T., ; + RecordSource = "crsinventare", ; + RowHeight = 19, ; + TabIndex = 2, ; + Top = 47, ; + Width = 658, ; + Column1.ControlSource = "luna", ; + Column1.FontName = "Arial", ; + Column1.FontSize = 10, ; + Column1.Name = "cLuna", ; + Column1.ReadOnly = .T., ; + Column1.Width = 45, ; + Column2.ControlSource = "an", ; + Column2.FontName = "Arial", ; + Column2.FontSize = 10, ; + Column2.Name = "cAn", ; + Column2.ReadOnly = .T., ; + Column2.Width = 36, ; + Column3.ControlSource = "data_inventar", ; + Column3.FontName = "Arial", ; + Column3.FontSize = 10, ; + Column3.Name = "cDataInventar", ; + Column3.ReadOnly = .T., ; + Column3.Width = 78, ; + Column4.ControlSource = "util", ; + Column4.FontName = "Arial", ; + Column4.FontSize = 10, ; + Column4.Name = "cUtil", ; + Column4.ReadOnly = .T., ; + Column4.Width = 103, ; + Column5.ControlSource = "descriere", ; + Column5.FontName = "Arial", ; + Column5.FontSize = 10, ; + Column5.Name = "cDescriere", ; + Column5.ReadOnly = .T., ; + Column5.Width = 106, ; + Column6.ControlSource = "validat", ; + Column6.FontName = "Arial", ; + Column6.FontSize = 10, ; + Column6.Name = "cValidat", ; + Column6.ReadOnly = .T., ; + Column6.Sparse = .F., ; + Column6.Width = 53, ; + Column7.Comment = "dataorav", ; + Column7.ControlSource = "dataorav", ; + Column7.FontName = "Arial", ; + Column7.FontSize = 10, ; + Column7.Name = "cDataOraV", ; + Column7.ReadOnly = .T., ; + Column7.Width = 111, ; + Column8.Comment = "utilv", ; + Column8.ControlSource = "utilv", ; + Column8.FontName = "Arial", ; + Column8.FontSize = 10, ; + Column8.Name = "cUtilV", ; + Column8.ReadOnly = .T., ; + Column8.Width = 102, ; + Column9.ControlSource = "IIF(TIP=1, 'Inventar materiale/marfa', IIF(TIP=2, 'Inventar Obiecte de inventar in folosinta', IIF(TIP=3, 'Inventar cu bon de consum', IIF(TIP=4,'Inventar productie vin','Inventar magazin'))))", ; + Column9.FontName = "Arial", ; + Column9.FontSize = 10, ; + Column9.Name = "cTip", ; + Column9.ReadOnly = .T., ; + Column9.Width = 164, ; + Column10.ControlSource = "nract", ; + Column10.FontName = "Arial", ; + Column10.FontSize = 10, ; + Column10.Name = "cNract", ; + Column10.ReadOnly = .T., ; + Column10.Width = 88, ; + Column11.ControlSource = "nnir", ; + Column11.FontName = "Arial", ; + Column11.FontSize = 10, ; + Column11.Name = "cNnir", ; + Column11.ReadOnly = .T., ; + Column11.Width = 90, ; + Column12.ControlSource = "id_fact", ; + Column12.FontName = "Arial", ; + Column12.FontSize = 10, ; + Column12.Name = "cIdfact", ; + Column12.ReadOnly = .T. + *< END OBJECT: ClassLib="_grd_base.vcx" BaseClass="grid" /> + + ADD OBJECT 'grdinventare.cAn.Header1' AS header WITH ; + Alignment = 2, ; + Caption = "An", ; + FontName = "Arial", ; + FontSize = 10, ; + Name = "Header1" + *< END OBJECT: BaseClass="header" /> + + ADD OBJECT 'grdinventare.cAn.Text1' AS textbox WITH ; + BackColor = 255,255,255, ; + BorderStyle = 0, ; + FontName = "Arial", ; + FontSize = 10, ; + ForeColor = 0,0,0, ; + Margin = 0, ; + Name = "Text1", ; + ReadOnly = .T., ; + SelectedBackColor = 100,185,255 + *< END OBJECT: BaseClass="textbox" /> + + ADD OBJECT 'grdinventare.cDataInventar.Header1' AS header WITH ; + Alignment = 2, ; + Caption = "Data inventar", ; + FontName = "Arial", ; + FontSize = 10, ; + Name = "Header1" + *< END OBJECT: BaseClass="header" /> + + ADD OBJECT 'grdinventare.cDataInventar.Text1' AS textbox WITH ; + BackColor = 255,255,255, ; + BorderStyle = 0, ; + FontName = "Arial", ; + FontSize = 10, ; + ForeColor = 0,0,0, ; + Margin = 0, ; + Name = "Text1", ; + ReadOnly = .T., ; + SelectedBackColor = 100,185,255 + *< END OBJECT: BaseClass="textbox" /> + + ADD OBJECT 'grdinventare.cDataOraV.Header1' AS header WITH ; + Alignment = 2, ; + Caption = "Data validare", ; + FontName = "Arial", ; + FontSize = 10, ; + Name = "Header1" + *< END OBJECT: BaseClass="header" /> + + ADD OBJECT 'grdinventare.cDataOraV.Text1' AS textbox WITH ; + BackColor = 255,255,255, ; + BorderStyle = 0, ; + FontName = "Arial", ; + FontSize = 10, ; + ForeColor = 0,0,0, ; + Margin = 0, ; + Name = "Text1", ; + ReadOnly = .T., ; + SelectedBackColor = 100,185,255 + *< END OBJECT: BaseClass="textbox" /> + + ADD OBJECT 'grdinventare.cDescriere.Header1' AS header WITH ; + Alignment = 2, ; + Caption = "Descriere", ; + FontName = "Arial", ; + FontSize = 10, ; + Name = "Header1" + *< END OBJECT: BaseClass="header" /> + + ADD OBJECT 'grdinventare.cDescriere.Text1' AS textbox WITH ; + BackColor = 255,255,255, ; + BorderStyle = 0, ; + FontName = "Arial", ; + FontSize = 10, ; + ForeColor = 0,0,0, ; + Margin = 0, ; + Name = "Text1", ; + ReadOnly = .T., ; + SelectedBackColor = 100,185,255 + *< END OBJECT: BaseClass="textbox" /> + + ADD OBJECT 'grdinventare.cIdfact.Header1' AS header WITH ; + Alignment = 2, ; + Caption = "Id fact", ; + FontName = "Arial", ; + FontSize = 10, ; + Name = "Header1" + *< END OBJECT: BaseClass="header" /> + + ADD OBJECT 'grdinventare.cIdfact.Text1' AS textbox WITH ; + BackColor = 255,255,255, ; + BorderStyle = 0, ; + FontName = "Arial", ; + FontSize = 10, ; + ForeColor = 0,0,0, ; + Margin = 0, ; + Name = "Text1", ; + ReadOnly = .T., ; + SelectedBackColor = 100,185,255 + *< END OBJECT: BaseClass="textbox" /> + + ADD OBJECT 'grdinventare.cLuna.Header1' AS header WITH ; + Alignment = 2, ; + Caption = "Luna", ; + FontName = "Arial", ; + FontSize = 10, ; + Name = "Header1" + *< END OBJECT: BaseClass="header" /> + + ADD OBJECT 'grdinventare.cLuna.Text1' AS textbox WITH ; + BackColor = 255,255,255, ; + BorderStyle = 0, ; + FontName = "Arial", ; + FontSize = 10, ; + ForeColor = 0,0,0, ; + Margin = 0, ; + Name = "Text1", ; + ReadOnly = .T., ; + SelectedBackColor = 100,185,255 + *< END OBJECT: BaseClass="textbox" /> + + ADD OBJECT 'grdinventare.cNnir.Header1' AS header WITH ; + Alignment = 2, ; + Caption = "Nr bon", ; + FontName = "Arial", ; + FontSize = 10, ; + Name = "Header1" + *< END OBJECT: BaseClass="header" /> + + ADD OBJECT 'grdinventare.cNnir.Text1' AS textbox WITH ; + BackColor = 255,255,255, ; + BorderStyle = 0, ; + FontName = "Arial", ; + FontSize = 10, ; + ForeColor = 0,0,0, ; + Margin = 0, ; + Name = "Text1", ; + ReadOnly = .T., ; + SelectedBackColor = 100,185,255 + *< END OBJECT: BaseClass="textbox" /> + + ADD OBJECT 'grdinventare.cNract.Header1' AS header WITH ; + Alignment = 2, ; + Caption = "Nr act", ; + FontName = "Arial", ; + FontSize = 10, ; + Name = "Header1" + *< END OBJECT: BaseClass="header" /> + + ADD OBJECT 'grdinventare.cNract.Text1' AS textbox WITH ; + BackColor = 255,255,255, ; + BorderStyle = 0, ; + FontName = "Arial", ; + FontSize = 10, ; + ForeColor = 0,0,0, ; + Margin = 0, ; + Name = "Text1", ; + ReadOnly = .T., ; + SelectedBackColor = 100,185,255 + *< END OBJECT: BaseClass="textbox" /> + + ADD OBJECT 'grdinventare.cTip.Header1' AS header WITH ; + Alignment = 2, ; + Caption = "Tip inventar", ; + FontName = "Arial", ; + FontSize = 10, ; + Name = "Header1" + *< END OBJECT: BaseClass="header" /> + + ADD OBJECT 'grdinventare.cTip.Text1' AS textbox WITH ; + BackColor = 255,255,255, ; + BorderStyle = 0, ; + FontName = "Arial", ; + FontSize = 10, ; + ForeColor = 0,0,0, ; + Margin = 0, ; + Name = "Text1", ; + ReadOnly = .T., ; + SelectedBackColor = 100,185,255 + *< END OBJECT: BaseClass="textbox" /> + + ADD OBJECT 'grdinventare.cUtil.Header1' AS header WITH ; + Alignment = 2, ; + Caption = "Utilizator inventar", ; + FontName = "Arial", ; + FontSize = 10, ; + Name = "Header1" + *< END OBJECT: BaseClass="header" /> + + ADD OBJECT 'grdinventare.cUtil.Text1' AS textbox WITH ; + BackColor = 255,255,255, ; + BorderStyle = 0, ; + FontName = "Arial", ; + FontSize = 10, ; + ForeColor = 0,0,0, ; + Margin = 0, ; + Name = "Text1", ; + ReadOnly = .T., ; + SelectedBackColor = 100,185,255 + *< END OBJECT: BaseClass="textbox" /> + + ADD OBJECT 'grdinventare.cUtilV.Header1' AS header WITH ; + Caption = "Utilizator validare", ; + FontName = "Arial", ; + FontSize = 10, ; + Name = "Header1" + *< END OBJECT: BaseClass="header" /> + + ADD OBJECT 'grdinventare.cUtilV.Text1' AS textbox WITH ; + BackColor = 255,255,255, ; + BorderStyle = 0, ; + FontName = "Arial", ; + FontSize = 10, ; + ForeColor = 0,0,0, ; + Margin = 0, ; + Name = "Text1", ; + ReadOnly = .T., ; + SelectedBackColor = 100,185,255 + *< END OBJECT: BaseClass="textbox" /> + + ADD OBJECT 'grdinventare.cValidat.Check1' AS checkbox WITH ; + Alignment = 0, ; + Caption = "", ; + Centered = .T., ; + FontName = "Arial", ; + FontSize = 10, ; + Height = 17, ; + Left = 51, ; + Name = "Check1", ; + ReadOnly = .T., ; + Top = 36, ; + Width = 60 + *< END OBJECT: BaseClass="checkbox" /> + + ADD OBJECT 'grdinventare.cValidat.Header1' AS header WITH ; + Alignment = 2, ; + Caption = "Validat", ; + FontName = "Arial", ; + FontSize = 10, ; + Name = "Header1" + *< END OBJECT: BaseClass="header" /> + + ADD OBJECT 'Gridextra1' AS gridextra WITH ; + gridexpression = Thisform.grdInventare, ; + Height = 17, ; + Left = 136, ; + Name = "Gridextra1", ; + Top = 33, ; + Width = 20 + *< END OBJECT: ClassLib="..\utile\gridextras\gridextras.vcx" BaseClass="custom" /> + + PROCEDURE actualizeaza_grid1 + Lparameters tcFiltru + Local lcFiltru + lcFiltru=tcFiltru + + If Empty(lcFiltru) + lcFiltru=poInventare.ca_baza1.cfiltru + Endif + + Thisform.MousePointer = 11 + Thisform.LockScreen = .T. + save_grid_tag(Thisform.grdinventare) + poInventare.ca_baza1.cfiltru=lcFiltru + poInventare.ca_baza1.afisare() + restore_grid_tag(Thisform.grdinventare) + Thisform.LockScreen = .F. + Thisform.MousePointer = 0 + + ENDPROC + + PROCEDURE do_adauga + *!* 24.02.2010 + *!* marius.mutu + *!* integrare cu INVENTAR MAGAZIN (TIP 5) + + *!* 31.05.2010 + *!* marius.mutu + *!* pack_inventar.adauga_inventar( + stocfaptic0) + *!* daca se initializeaza stocul faptic cu 0 sau cu stocul scriptic + + *!* 02.06.2010 + *!* marius.mutu + *!* ofer posibilitatea cu initializare stoc faptic 0 si la inventar normal + + *!* 14.07.2017 + *!* marius.mutu + *!* Se verifica stocul precedent inainte de adaugarea inventarului + + Private pnIdCInventar + pnIdCInventar = 0 + + Local loFrmAdaugare, lcGestiuni, lcIdGestiune, lcListaDenumireGestiuni, lcListaIdGestiuni + Private poArt,nTipInv + Select crsinventare + Scatter Name poArt Blank Memo + *!* 24.02.2010 + ADDPROPERTY(poArt, 'OptiuneInventar', 1) + ADDPROPERTY(poArt, 'NumarLuni', 1) + *!* 24.02.2010 ^ + + *!* 31.05.2010 + ADDPROPERTY(poArt, 'StocFaptic0', 0) + *!* 31.05.2010 ^ + + poArt.descriere = "" + poArt.an = gnAn + poArt.luna = gnLuna + poArt.id_util = gnIdUtil + *!* modificare ROAVIN v 2.0.0 + If Thisform.nTip <> - 1 + nTipInv = Thisform.nTip + Else + *!* modificare ROAVIN v 2.0.0 ^ + nTipInv = 1 + lofrmTip = Createobject("tip_inventar") + lofrmTip.Show(1) + *!* modificare ROAVIN v 2.0.0 + Endif + *!* modificare ROAVIN v 2.0.0 ^ + + *!* lcXMLGestiune = caut_gestiune_xml(2,.t.) && gestiunile pe care are drept utilizatorul, + *!* modificare v 2.0.186 + *!* lcXMLGestiune = caut_gestiune_xml(2,.t., CA_PORNIRE_INCEPE)&& gestiunile pe care are drept utilizatorul, + *!* lcXMLGestiune = caut_gestiune_xml(2,.F., CA_PORNIRE_INCEPE)&& gestiunile pe care are drept utilizatorul, + *!* modificare v 2.0.186 ^ + lcListaDenumireGestiuni = "" + lcListaIdGestiuni = "" + + lcXMLGestiune = caut_gestiune_xml(2,.T., CA_PORNIRE_INCEPE, .T., @lcListaIdGestiuni, @lcListaDenumireGestiuni)&& gestiunile pe care are drept utilizatorul, + If !Empty(m.lcXMLGestiune) And gnButon = 1 AND !EMPTY(m.lcListaIdGestiuni) + + poArt.id_gestiuni = m.lcListaIdGestiuni + poArt.descriere = m.lcListaDenumireGestiuni + loFrmAdaugare = Createobject("frm_inventar_nou") + loFrmAdaugare.cDescriereGestiuni = m.lcListaDenumireGestiuni + *!* 24.02.2010 + IF nTipInv <> 5 && INVENTAR MAGAZIN -- ascund optiunile doar pentru inventarul de magazin + loFrmAdaugare.optInventar.visible = .F. + loFrmAdaugare.txtNumarLuni.visible = .F. + *!* 02.06.2010 + *!* loFrmAdaugare.HEIGHT = loFrmAdaugare.ed_tx_simplu1.top + loFrmAdaugare.ed_tx_simplu1.height + 10 + loFrmAdaugare.HEIGHT = loFrmAdaugare.chkstocfaptic.top + loFrmAdaugare.chkstocfaptic.height + 10 + loFrmAdaugare.chkstocfaptic.left = loFrmAdaugare.ed_tx_simplu1.left + *!* 02.06.2010 ^ + ENDIF + *!* 24.02.2010 ^ + + loFrmAdaugare.Show(1) + If gnButon = 1 + *** Verificare stoc precedent gestiuni alese + lcMesajVerificare = INAINTE_DE_STOC(m.gnAn, m.gnLuna, 0, IIF(m.nTipInv = 2, 1, 0), poArt.id_gestiuni) && in oinainte_de.prg + IF !EMPTY(m.lcMesajVerificare) + gnButon = AMESSAGEBOX('Refaceti stocul in luna curenta pe gestiunile cu diferenta de preluare din precedent si apoi reveniti!' + CHR(13) + CHR(10) + CHR(13) + CHR(10) + ; + 'Continuati acum cu stoc incorect (De acord) sau anulati operatia (Abandon)!',1,_screen.Caption) + ENDIF + ENDIF + + IF m.gnButon = 1 + *!* 24.02.2010 + *!* lcSql = [begin pack_inventar.adauga_inventar(] + Alltrim(Str(poArt.luna)) + [,] + Alltrim(Str(poArt.an)) + [,] + ; + *!* ['] + Alltrim(Nvl(poArt.descriere,'')) + [',] + lcIdGestiune + [,] + Alltrim(Str(gnIdUtil)) + [,?nTipInv,?gnIdSucursala,?@pnIdCInventar); end;] + + lcSql = [begin pack_inventar.adauga_inventar(] + Alltrim(Str(poArt.luna)) + [,] + Alltrim(Str(poArt.an)) + [,] + ; + ['] + Alltrim(Nvl(poArt.descriere,'')) + [',] + poArt.id_gestiuni + [,] + Alltrim(Str(gnIdUtil)) + [,?nTipInv,?gnIdSucursala,?poArt.OptiuneInventar,?poArt.NumarLuni,?poArt.StocFaptic0, ?@pnIdCInventar,] + ; + IIF(EMPTY(poArt.id_subgrupe_articole), [''], poArt.id_subgrupe_articole) + [,] + IIF(EMPTY(poArt.id_articole), [''], poArt.id_articole) + [); end;] + *!* 24.02.2010 ^ + lnSucces = goExecutor.oExecute(lcSql) + If lnSucces < 0 + amessagebox(goExecutor.oPrelucrareEroare(),16,"Eroare") + Thisform.grdinventare.SetFocus() + Else + * Thisform.inainte_de_do_termin() + Thisform.actualizeaza_grid1() + This.DO_MODIFICA(pnIdCInventar) + Endif + Else + Thisform.grdinventare.SetFocus() + Endif + Endif + + ENDPROC + + PROCEDURE do_cauta + Local lcFiltru, lcValoare1, lcValoare2, loCollection, i, lcTitlu, lnTip + *!* modificare ROAVIN v 2.0.0 + *!* lcFiltru = [2=2] + lcFiltru = Iif(Thisform.ntip<>-1,[tip = ] + Alltrim(Str(Thisform.ntip)),[2=2]) + *!* modificare ROAVIN v 2.0.0 ^ + If Len(Thisform.filtru_pretty)>0 + lcFiltru = lcFiltru+" and (" + Alltrim(Thisform.filtru_pretty) + ")" + Endif + + If (This.filtru_pretty#"none") + Thisform.actualizeaza_grid1(lcFiltru) + If Reccount('crsinventare')=0 + aMessagebox("Cautarea nu a intors rezultate!",0+48,"Info cautare") + Endif + Endif + + Thisform.grdinventare.SetFocus() + + ENDPROC + + PROCEDURE do_help + LOCAL lcFile + lcFile = gcAppPath + "help\help_inventar.rtf" + IF FILE(lcFile) + OPEN_DEFAULT_APP(lcFile) + ELSE + AMESSAGEBOX('Nu exista fisierul ' + lcFile, 0+48,_screen.caption) + ENDIF + ENDPROC + + PROCEDURE do_modifica + Lparameters tnIdCInventar + Local lnIdCInventar, llValidat, llCorectie + + lnIdCInventar = Iif(!Empty(tnIdCInventar) And Type('tnIdCInventar') = 'N', tnIdCInventar, 0) + llValidat = 0 + llCorectie = .F. + + This.AlwaysOnTop = .F. + + If Empty(m.lnIdCInventar) && MODIFICARE + If Reccount('crsInventare')>0 + Select crsinventare + If crsinventare.An*12+crsinventare.Luna=gnan*12+gnluna + lnIdCInventar = crsinventare.id_c_inventar + llValidat = NVL(crsinventare.validat,0) = 1 + IF Thisform.lDeblocareCorectie AND m.llValidat + llCorectie = aMESSAGEBOX("Doriti sa corectati inventarul?",4+32+256, _screen.caption) = 6 + ENDIF + Else + AMESSAGEBOX("Intrati in luna " + Alltrim(Str(crsinventare.Luna)) + "/" + Alltrim(Str(crsinventare.An)), 0+48, "Inventar") + Endif + Endif + Endif + + If !Empty(m.lnIdCInventar) + If crsinventare.tip = 5 + Do vizualizeaza_inventar_magazin With m.lnIdCInventar, m.llCorectie In ointroduceri.prg + Else + Do vizualizeaza_inventar With m.lnIdCInventar, m.llCorectie In ointroduceri.prg + Endif + This.do_cauta() && daca se valideaza centralizatorul - actualizez tabelul + Select crsinventare + Locate For id_c_inventar = m.lnIdCInventar + If !Found() + Go Top + Endif + ENDIF && !Empty(m.lnIdCInventar) + + This.AlwaysOnTop = .T. + + ENDPROC + + PROCEDURE do_sterge + Local lnSucces + + If Reccount('crsInventare')>0 and Nvl(crsInventare.id_c_inventar,0) > 0 and Nvl(crsInventare.validat,0) = 0 + If aMessageBox('Doriti sa stergeti inventarul?',4+32,'Inventar') = 6 + lcSql = [begin pack_inventar.sterge_inventar(] + Alltrim(Str(crsInventare.id_c_inventar)) + [,] + Alltrim(Str(gnIdUtil)) + [); end;] + lnSucces = goExecutor.oExecute(lcSql) + If lnSucces < 0 + amessagebox(goExecutor.cEroare,16,"Eroare") + Thisform.grdinventare.SetFocus() + Else + Thisform.actualizeaza_grid1() + Thisform.grdinventare.SetFocus() + Endif + EndIf + EndIf + ENDPROC + + PROCEDURE grid_sort_bind + * nu sterge - sortarea se face de gridextra + ENDPROC + + PROCEDURE Init + *!* modificare ROAVIN v 2.0.0 + Lparameters tnTip + Thisform.ntip = Iif(Empty(tnTip),-1, tnTip) + *!* modificare ROAVIN v 2.0.0 ^ + DoDefault() + Thisform.grdinventare.SetAll("DynamicBackColor","IIF(validat=1,Rgb(220,220,220),Rgb(255,255,255))","Column") + + *!* 16.06.2010 + this.gridextra1.setup() + *!* 16.06.2010 ^ + ENDPROC + + PROCEDURE But_start_criterii1.loadcriterii + PARAMETERS tacriterii + EXTERNAL ARRAY tacriterii + #DEFINE crlf CHR(13)+CHR(10) + lcStringCriterii = "Validate\nofiled\E\(validat = 1)\" + crlf + ; + "Nevalidate\nofiled\E\(validat = 0)\" + crlf + ; + "Data validarii\trunc(dataorav)\D\none\" + crlf + ; + "Operator validare\utilv\T\ID_UTILv\nom_utilizator" + crlf + ; + "Perioada\an*12+luna\D1\none\" + DODEFAULT() + ENDPROC + + PROCEDURE grdinventare.AfterRowColChange + LPARAMETERS nColIndex + If Inlist(This.RowColChange,0,1,3) + If Reccount('crsInventare')>0 + Select crsinventare + pnIdCInventar = id_c_inventar + pnValidat = validat + Else + pnIdCInventar = 0 + Endif + Endif + + ENDPROC + + PROCEDURE _shape2.DblClick + Thisform.lDeblocareCorectie = !Thisform.lDeblocareCorectie + ENDPROC + +ENDDEFINE + +DEFINE CLASS frm_inventar_doc AS frm_termin OF "_frm_child.vcx" + *< CLASSDATA: Baseclass="form" Timestamp="" Scale="Pixels" Uniqueid="" /> + + *-- OBJECTDATA items order determines ZOrder / El orden de los items OBJECTDATA determina el ZOrder + *< OBJECTDATA: ObjPath="grdDocumente" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="grdDocumente.cAles.Header1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="grdDocumente.cAles._checkbox1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="grdDocumente.cAles._linie1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="grdDocumente.cDataact.Header1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="grdDocumente.cDataact.Text1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="grdDocumente.cNract.Header1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="grdDocumente.cNract.Text1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="grdDocumente.cId_fact.Header1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="grdDocumente.cId_fact.Text1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="grdDocumente.cUtilizator.Header1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="grdDocumente.cUtilizator.Text1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="grdDocumente.cDataora.Header1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="grdDocumente.cDataora.Text1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="grdDocumente.cSerie_act.Header1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="grdDocumente.cSerie_act.Text1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="grdDocumente.cExplicatie.Header1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="grdDocumente.cExplicatie.Text1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="grdDocumente.cSucursala.Header1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="grdDocumente.cSucursala.Text1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="grdDocumente.cSters.Header1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="grdDocumente.cSters.Text1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="grdDocumente.cSters.Check1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="grdDocumente.cDataOras.Header1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="grdDocumente.cDataOras.Text1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="grdDocumente.cUtils.Header1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="grdDocumente.cUtils.Text1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="But_renunt1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="grdArticole" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="grdArticole.cCodmat.Header1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="grdArticole.cCodmat.Text1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="grdArticole.cSerie.Header1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="grdArticole.cSerie.Text1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="grdArticole.cCante.Header1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="grdArticole.cCante.Text1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="grdArticole.cPretVCTVA.Header1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="grdArticole.cPretVCTVA.Text1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="grdArticole.cPretCTVA.Header1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="grdArticole.cPretCTVA.Text1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="grdArticole.cDenumire.Header1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="grdArticole.cDenumire.Text1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="grdArticole.cCant.Header1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="grdArticole.cCant.Text1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="grdArticole.cNume_gestiune.Header1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="grdArticole.cNume_gestiune.Text1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="clb_ach_iesiri" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="clb_ach_intrari" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="clb_ach_intrari.Line2" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="clb_vz_iesiri" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="clb_vz_intrari" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="clb_vz_intrari.Line2" UniqueID="" Timestamp="" /> + + * + *m: actual_afisare + *m: do_adauga_ireg + *m: do_modifica_ireg + *m: do_sterge_ireg + *m: refacere_tabel + *p: nvalachiesiri + *p: nvalachintrari + *p: nvalvziesiri + *p: nvalvzintrari + * + + * + BorderStyle = 1 + DoCreate = .T. + Height = 599 + Name = "frm_inventar_doc" + nvalachiesiri = 0 + nvalachintrari = 0 + nvalvziesiri = 0 + nvalvzintrari = 0 + Width = 752 + _SHAPE1.Anchor = 10 + _SHAPE1.Height = 29 + _SHAPE1.Left = 0 + _SHAPE1.Name = "_SHAPE1" + _SHAPE1.Top = 0 + _SHAPE1.Width = 792 + _SHAPE2.Anchor = 8 + _SHAPE2.Height = 29 + _SHAPE2.Left = 682 + _SHAPE2.Name = "_SHAPE2" + _SHAPE2.Top = 0 + _SHAPE2.Visible = .T. + _SHAPE2.Width = 71 + LB_TITLU_ALB_B121.Caption = "Documente introduse dupa inceperea inventarului" + LB_TITLU_ALB_B121.Name = "LB_TITLU_ALB_B121" + LB_TITLU_ALB_B121.TabIndex = 1 + BUT_TERMIN1.Anchor = 8 + BUT_TERMIN1.Left = 720 + BUT_TERMIN1.Name = "BUT_TERMIN1" + BUT_TERMIN1.TabIndex = 2 + BUT_TERMIN1.Top = 1 + GRIDSORT1.Left = -2 + GRIDSORT1.Name = "GRIDSORT1" + GRIDSORT1.Top = 33 + * + + ADD OBJECT 'But_renunt1' AS but_renunt WITH ; + Anchor = 8, ; + Left = 688, ; + Name = "But_renunt1", ; + TabIndex = 4, ; + Top = 1 + *< END OBJECT: ClassLib="cmd_butoane.vcx" BaseClass="commandbutton" /> + + ADD OBJECT 'clb_ach_iesiri' AS clb_tx_simplu WITH ; + Anchor = 12, ; + BorderWidth = 0, ; + Height = 36, ; + Left = 492, ; + Name = "clb_ach_iesiri", ; + TabIndex = 35, ; + Top = 542, ; + Width = 250, ; + Text_simplu1.Alignment = 1, ; + Text_simplu1.ControlSource = "thisform.nValAchIesiri", ; + Text_simplu1.FontName = "Arial Narrow", ; + Text_simplu1.FontSize = 10, ; + Text_simplu1.Height = 23, ; + Text_simplu1.InputMask = (get_mask(16,gnPa)), ; + Text_simplu1.Left = 155, ; + Text_simplu1.Name = "Text_simplu1", ; + Text_simplu1.Top = 6, ; + Text_simplu1.Width = 90, ; + Lb_simplu1.Caption = "Valoare ach. fara TVA iesiri:", ; + Lb_simplu1.FontName = "Arial Narrow", ; + Lb_simplu1.FontSize = 10, ; + Lb_simplu1.Left = 1, ; + Lb_simplu1.Name = "Lb_simplu1", ; + Lb_simplu1.Top = 6 + *< END OBJECT: ClassLib="lb_tx.vcx" BaseClass="container" /> + + ADD OBJECT 'clb_ach_intrari' AS clb_tx_simplu WITH ; + Anchor = 12, ; + BorderWidth = 0, ; + Height = 29, ; + Left = 198, ; + Name = "clb_ach_intrari", ; + TabIndex = 33, ; + Top = 546, ; + Width = 250, ; + Text_simplu1.Alignment = 1, ; + Text_simplu1.ControlSource = "thisform.nValAchIntrari", ; + Text_simplu1.FontName = "Arial Narrow", ; + Text_simplu1.FontSize = 10, ; + Text_simplu1.Height = 23, ; + Text_simplu1.InputMask = (get_mask(16,gnPa)), ; + Text_simplu1.Left = 155, ; + Text_simplu1.Name = "Text_simplu1", ; + Text_simplu1.Top = 0, ; + Text_simplu1.Width = 90, ; + Lb_simplu1.Caption = "Valoare ach. fara TVA intrari:", ; + Lb_simplu1.FontName = "Arial Narrow", ; + Lb_simplu1.FontSize = 10, ; + Lb_simplu1.Left = 2, ; + Lb_simplu1.Name = "Lb_simplu1", ; + Lb_simplu1.Top = 2 + *< END OBJECT: ClassLib="lb_tx.vcx" BaseClass="container" /> + + ADD OBJECT 'clb_ach_intrari.Line2' AS line WITH ; + Height = 0, ; + Left = 298, ; + Name = "Line2", ; + Top = 13, ; + Width = 8 + *< END OBJECT: BaseClass="line" /> + + ADD OBJECT 'clb_vz_iesiri' AS clb_tx_simplu WITH ; + Anchor = 12, ; + BorderWidth = 0, ; + Height = 36, ; + Left = 492, ; + Name = "clb_vz_iesiri", ; + TabIndex = 35, ; + Top = 567, ; + Width = 250, ; + Text_simplu1.Alignment = 1, ; + Text_simplu1.ControlSource = "thisform.nValVzIesiri", ; + Text_simplu1.FontName = "Arial Narrow", ; + Text_simplu1.FontSize = 10, ; + Text_simplu1.Height = 23, ; + Text_simplu1.InputMask = (get_mask(16,gnPa)), ; + Text_simplu1.Left = 155, ; + Text_simplu1.Name = "Text_simplu1", ; + Text_simplu1.Top = 6, ; + Text_simplu1.Width = 90, ; + Lb_simplu1.Caption = "Valoare vanz. cu TVA iesiri:", ; + Lb_simplu1.FontName = "Arial Narrow", ; + Lb_simplu1.FontSize = 10, ; + Lb_simplu1.Left = 1, ; + Lb_simplu1.Name = "Lb_simplu1", ; + Lb_simplu1.Top = 6 + *< END OBJECT: ClassLib="lb_tx.vcx" BaseClass="container" /> + + ADD OBJECT 'clb_vz_intrari' AS clb_tx_simplu WITH ; + Anchor = 12, ; + BorderWidth = 0, ; + Height = 29, ; + Left = 198, ; + Name = "clb_vz_intrari", ; + TabIndex = 33, ; + Top = 571, ; + Width = 250, ; + Text_simplu1.Alignment = 1, ; + Text_simplu1.ControlSource = "thisform.nValVzIntrari", ; + Text_simplu1.FontName = "Arial Narrow", ; + Text_simplu1.FontSize = 10, ; + Text_simplu1.Height = 23, ; + Text_simplu1.InputMask = (get_mask(16,gnPa)), ; + Text_simplu1.Left = 155, ; + Text_simplu1.Name = "Text_simplu1", ; + Text_simplu1.Top = 0, ; + Text_simplu1.Width = 90, ; + Lb_simplu1.Caption = "Valoare vanz. cu TVA intrari:", ; + Lb_simplu1.FontName = "Arial Narrow", ; + Lb_simplu1.FontSize = 10, ; + Lb_simplu1.Left = 2, ; + Lb_simplu1.Name = "Lb_simplu1", ; + Lb_simplu1.Top = 2 + *< END OBJECT: ClassLib="lb_tx.vcx" BaseClass="container" /> + + ADD OBJECT 'clb_vz_intrari.Line2' AS line WITH ; + Height = 0, ; + Left = 298, ; + Name = "Line2", ; + Top = 13, ; + Width = 8 + *< END OBJECT: BaseClass="line" /> + + ADD OBJECT 'grdArticole' AS _grdrow WITH ; + Anchor = 14, ; + ColumnCount = 8, ; + DeleteMark = .F., ; + FontName = "Arial Narrow", ; + HeaderHeight = 33, ; + Height = 218, ; + Left = 12, ; + Name = "grdArticole", ; + Panel = 1, ; + RecordSource = "crstmpintart", ; + TabIndex = 3, ; + Top = 322, ; + Width = 732, ; + Column1.ControlSource = "codmat", ; + Column1.FontName = "Arial Narrow", ; + Column1.Name = "cCodmat", ; + Column1.Width = 72, ; + Column2.ColumnOrder = 3, ; + Column2.ControlSource = "serie", ; + Column2.FontName = "Arial Narrow", ; + Column2.Name = "cSerie", ; + Column2.Width = 84, ; + Column3.ColumnOrder = 7, ; + Column3.ControlSource = "cante", ; + Column3.FontName = "Arial Narrow", ; + Column3.InputMask = (get_mask(14,gnPCant)), ; + Column3.Name = "cCante", ; + Column3.Width = 54, ; + Column4.ColumnOrder = 5, ; + Column4.ControlSource = "pretvctva", ; + Column4.FontName = "Arial Narrow", ; + Column4.InputMask = (get_mask(14,gnPPretV)), ; + Column4.Name = "cPretVCTVA", ; + Column4.Width = 68, ; + Column5.ColumnOrder = 4, ; + Column5.ControlSource = "pret", ; + Column5.FontName = "Arial Narrow", ; + Column5.InputMask = (get_mask(14,gnPPret)), ; + Column5.Name = "cPretCTVA", ; + Column5.Width = 67, ; + Column6.ColumnOrder = 2, ; + Column6.ControlSource = "denumire", ; + Column6.FontName = "Arial Narrow", ; + Column6.Name = "cDenumire", ; + Column6.Width = 160, ; + Column7.ColumnOrder = 6, ; + Column7.ControlSource = "cant", ; + Column7.FontName = "Arial Narrow", ; + Column7.InputMask = (get_mask(14,gnPCant)), ; + Column7.Name = "cCant", ; + Column7.Width = 56, ; + Column8.ControlSource = "nume_gestiune", ; + Column8.FontName = "Arial Narrow", ; + Column8.Name = "cNume_gestiune", ; + Column8.Width = 133 + *< END OBJECT: ClassLib="_grd_base.vcx" BaseClass="grid" /> + + ADD OBJECT 'grdArticole.cCant.Header1' AS header WITH ; + Alignment = 2, ; + Caption = "Intrari", ; + FontName = "Arial Narrow", ; + Name = "Header1" + *< END OBJECT: BaseClass="header" /> + + ADD OBJECT 'grdArticole.cCant.Text1' AS textbox WITH ; + BackColor = 255,255,255, ; + BorderStyle = 0, ; + FontName = "Arial Narrow", ; + ForeColor = 0,0,0, ; + Margin = 0, ; + Name = "Text1" + *< END OBJECT: BaseClass="textbox" /> + + ADD OBJECT 'grdArticole.cCante.Header1' AS header WITH ; + Alignment = 2, ; + Caption = "Iesiri", ; + FontName = "Arial Narrow", ; + Name = "Header1" + *< END OBJECT: BaseClass="header" /> + + ADD OBJECT 'grdArticole.cCante.Text1' AS textbox WITH ; + BackColor = 255,255,255, ; + BorderStyle = 0, ; + FontName = "Arial Narrow", ; + ForeColor = 0,0,0, ; + Margin = 0, ; + Name = "Text1" + *< END OBJECT: BaseClass="textbox" /> + + ADD OBJECT 'grdArticole.cCodmat.Header1' AS header WITH ; + Alignment = 2, ; + Caption = "Cod material", ; + FontName = "Arial Narrow", ; + Name = "Header1" + *< END OBJECT: BaseClass="header" /> + + ADD OBJECT 'grdArticole.cCodmat.Text1' AS textbox WITH ; + BackColor = 255,255,255, ; + BorderStyle = 0, ; + FontName = "Arial Narrow", ; + ForeColor = 0,0,0, ; + Margin = 0, ; + Name = "Text1" + *< END OBJECT: BaseClass="textbox" /> + + ADD OBJECT 'grdArticole.cDenumire.Header1' AS header WITH ; + Alignment = 2, ; + Caption = "Denumire", ; + FontName = "Arial Narrow", ; + Name = "Header1" + *< END OBJECT: BaseClass="header" /> + + ADD OBJECT 'grdArticole.cDenumire.Text1' AS textbox WITH ; + BackColor = 255,255,255, ; + BorderStyle = 0, ; + FontName = "Arial Narrow", ; + ForeColor = 0,0,0, ; + Margin = 0, ; + Name = "Text1" + *< END OBJECT: BaseClass="textbox" /> + + ADD OBJECT 'grdArticole.cNume_gestiune.Header1' AS header WITH ; + Alignment = 2, ; + Caption = "Gestiune", ; + FontName = "Arial Narrow", ; + Name = "Header1" + *< END OBJECT: BaseClass="header" /> + + ADD OBJECT 'grdArticole.cNume_gestiune.Text1' AS textbox WITH ; + BackColor = 255,255,255, ; + BorderStyle = 0, ; + FontName = "Arial Narrow", ; + ForeColor = 0,0,0, ; + Margin = 0, ; + Name = "Text1" + *< END OBJECT: BaseClass="textbox" /> + + ADD OBJECT 'grdArticole.cPretCTVA.Header1' AS header WITH ; + Alignment = 2, ; + Caption = "Pret achizitie fara TVA", ; + FontName = "Arial Narrow", ; + Name = "Header1", ; + WordWrap = .T. + *< END OBJECT: BaseClass="header" /> + + ADD OBJECT 'grdArticole.cPretCTVA.Text1' AS textbox WITH ; + BackColor = 255,255,255, ; + BorderStyle = 0, ; + FontName = "Arial Narrow", ; + ForeColor = 0,0,0, ; + Margin = 0, ; + Name = "Text1" + *< END OBJECT: BaseClass="textbox" /> + + ADD OBJECT 'grdArticole.cPretVCTVA.Header1' AS header WITH ; + Alignment = 2, ; + Caption = "Pret vanzare cu TVA", ; + FontName = "Arial Narrow", ; + Name = "Header1", ; + WordWrap = .T. + *< END OBJECT: BaseClass="header" /> + + ADD OBJECT 'grdArticole.cPretVCTVA.Text1' AS textbox WITH ; + BackColor = 255,255,255, ; + BorderStyle = 0, ; + FontName = "Arial Narrow", ; + ForeColor = 0,0,0, ; + Margin = 0, ; + Name = "Text1" + *< END OBJECT: BaseClass="textbox" /> + + ADD OBJECT 'grdArticole.cSerie.Header1' AS header WITH ; + Alignment = 2, ; + Caption = "Serie", ; + FontName = "Arial Narrow", ; + Name = "Header1" + *< END OBJECT: BaseClass="header" /> + + ADD OBJECT 'grdArticole.cSerie.Text1' AS textbox WITH ; + BackColor = 255,255,255, ; + BorderStyle = 0, ; + FontName = "Arial Narrow", ; + ForeColor = 0,0,0, ; + Margin = 0, ; + Name = "Text1" + *< END OBJECT: BaseClass="textbox" /> + + ADD OBJECT 'grdDocumente' AS _grdrow WITH ; + Anchor = 15, ; + ColumnCount = 12, ; + DeleteMark = .F., ; + FontName = "Arial", ; + HeaderHeight = 50, ; + Height = 272, ; + Left = 12, ; + Name = "grdDocumente", ; + Panel = 1, ; + RecordSource = "crstmpintdoc", ; + TabIndex = 3, ; + Top = 40, ; + Width = 732, ; + Column1.ControlSource = "ales", ; + Column1.DynamicCurrentControl = "IIF(tip=0,'_checkbox1','_linie1')", ; + Column1.FontName = "Arial", ; + Column1.Name = "cAles", ; + Column1.Sparse = .F., ; + Column1.Width = 31, ; + Column2.ControlSource = "dataact", ; + Column2.FontName = "Arial", ; + Column2.Name = "cDataact", ; + Column2.Width = 49, ; + Column3.ColumnOrder = 4, ; + Column3.ControlSource = "nract", ; + Column3.FontName = "Arial", ; + Column3.InputMask = (get_mask(14,0)), ; + Column3.Name = "cNract", ; + Column3.Width = 84, ; + Column4.ColumnOrder = 8, ; + Column4.ControlSource = "id_fact", ; + Column4.FontName = "Arial", ; + Column4.InputMask = (get_mask(20,0)), ; + Column4.Name = "cId_fact", ; + Column4.Width = 64, ; + Column5.ColumnOrder = 6, ; + Column5.ControlSource = "utilizator", ; + Column5.FontName = "Arial", ; + Column5.Name = "cUtilizator", ; + Column5.Width = 134, ; + Column6.ColumnOrder = 5, ; + Column6.ControlSource = "dataora", ; + Column6.FontName = "Arial", ; + Column6.Name = "cDataora", ; + Column6.Width = 79, ; + Column7.ColumnOrder = 3, ; + Column7.ControlSource = "serie_act", ; + Column7.FontName = "Arial", ; + Column7.Name = "cSerie_act", ; + Column7.Width = 66, ; + Column8.ColumnOrder = 7, ; + Column8.ControlSource = "explicatia", ; + Column8.FontName = "Arial", ; + Column8.Name = "cExplicatie", ; + Column8.Width = 112, ; + Column9.ControlSource = "sucursala", ; + Column9.FontName = "Arial", ; + Column9.Name = "cSucursala", ; + Column9.Width = 71, ; + Column10.ControlSource = "sters", ; + Column10.CurrentControl = "Check1", ; + Column10.FontName = "Arial", ; + Column10.Name = "cSters", ; + Column10.Sparse = .F., ; + Column10.Width = 42, ; + Column11.ControlSource = "dataoras", ; + Column11.Name = "cDataOras", ; + Column11.ReadOnly = .T., ; + Column11.Width = 102, ; + Column12.ControlSource = "utils", ; + Column12.Name = "cUtils", ; + Column12.ReadOnly = .T., ; + Column12.Width = 100 + *< END OBJECT: ClassLib="_grd_base.vcx" BaseClass="grid" /> + + ADD OBJECT 'grdDocumente.cAles._checkbox1' AS _checkbox WITH ; + Alignment = 2, ; + AutoSize = .F., ; + Caption = "", ; + Centered = .T., ; + Left = 25, ; + Name = "_checkbox1", ; + Top = 55 + *< END OBJECT: ClassLib="_baza.vcx" BaseClass="checkbox" /> + + ADD OBJECT 'grdDocumente.cAles._linie1' AS _linie WITH ; + Left = 25, ; + Name = "_linie1", ; + Top = 55 + *< END OBJECT: ClassLib="_baza.vcx" BaseClass="line" /> + + ADD OBJECT 'grdDocumente.cAles.Header1' AS header WITH ; + Alignment = 2, ; + Caption = "Ales", ; + FontName = "Arial", ; + Name = "Header1" + *< END OBJECT: BaseClass="header" /> + + ADD OBJECT 'grdDocumente.cDataact.Header1' AS header WITH ; + Alignment = 2, ; + Caption = "Data doc.", ; + FontName = "Arial", ; + Name = "Header1" + *< END OBJECT: BaseClass="header" /> + + ADD OBJECT 'grdDocumente.cDataact.Text1' AS textbox WITH ; + BackColor = 255,255,255, ; + BorderStyle = 0, ; + FontName = "Arial", ; + ForeColor = 0,0,0, ; + Margin = 0, ; + Name = "Text1" + *< END OBJECT: BaseClass="textbox" /> + + ADD OBJECT 'grdDocumente.cDataora.Header1' AS header WITH ; + Alignment = 2, ; + Caption = "Data introd.", ; + FontName = "Arial", ; + Name = "Header1" + *< END OBJECT: BaseClass="header" /> + + ADD OBJECT 'grdDocumente.cDataora.Text1' AS textbox WITH ; + BackColor = 255,255,255, ; + BorderStyle = 0, ; + FontName = "Arial", ; + ForeColor = 0,0,0, ; + Margin = 0, ; + Name = "Text1" + *< END OBJECT: BaseClass="textbox" /> + + ADD OBJECT 'grdDocumente.cDataOras.Header1' AS header WITH ; + Alignment = 2, ; + Caption = "Dataora sters", ; + Name = "Header1" + *< END OBJECT: BaseClass="header" /> + + ADD OBJECT 'grdDocumente.cDataOras.Text1' AS textbox WITH ; + BackColor = 255,255,255, ; + BorderStyle = 0, ; + ForeColor = 0,0,0, ; + Margin = 0, ; + Name = "Text1", ; + ReadOnly = .T. + *< END OBJECT: BaseClass="textbox" /> + + ADD OBJECT 'grdDocumente.cExplicatie.Header1' AS header WITH ; + Alignment = 2, ; + Caption = "Explicatie", ; + Name = "Header1" + *< END OBJECT: BaseClass="header" /> + + ADD OBJECT 'grdDocumente.cExplicatie.Text1' AS textbox WITH ; + BackColor = 255,255,255, ; + BorderStyle = 0, ; + ForeColor = 0,0,0, ; + Margin = 0, ; + Name = "Text1" + *< END OBJECT: BaseClass="textbox" /> + + ADD OBJECT 'grdDocumente.cId_fact.Header1' AS header WITH ; + Alignment = 2, ; + Caption = "Id Fact", ; + FontName = "Arial", ; + Name = "Header1" + *< END OBJECT: BaseClass="header" /> + + ADD OBJECT 'grdDocumente.cId_fact.Text1' AS textbox WITH ; + BackColor = 255,255,255, ; + BorderStyle = 0, ; + FontName = "Arial", ; + ForeColor = 0,0,0, ; + Margin = 0, ; + Name = "Text1" + *< END OBJECT: BaseClass="textbox" /> + + ADD OBJECT 'grdDocumente.cNract.Header1' AS header WITH ; + Alignment = 2, ; + Caption = "Nr.document", ; + FontName = "Arial", ; + Name = "Header1" + *< END OBJECT: BaseClass="header" /> + + ADD OBJECT 'grdDocumente.cNract.Text1' AS textbox WITH ; + BackColor = 255,255,255, ; + BorderStyle = 0, ; + FontName = "Arial", ; + ForeColor = 0,0,0, ; + Margin = 0, ; + Name = "Text1" + *< END OBJECT: BaseClass="textbox" /> + + ADD OBJECT 'grdDocumente.cSerie_act.Header1' AS header WITH ; + Alignment = 2, ; + Caption = "Serie doc.", ; + Name = "Header1" + *< END OBJECT: BaseClass="header" /> + + ADD OBJECT 'grdDocumente.cSerie_act.Text1' AS textbox WITH ; + BackColor = 255,255,255, ; + BorderStyle = 0, ; + ForeColor = 0,0,0, ; + Margin = 0, ; + Name = "Text1" + *< END OBJECT: BaseClass="textbox" /> + + ADD OBJECT 'grdDocumente.cSters.Check1' AS checkbox WITH ; + Alignment = 2, ; + Caption = "", ; + Height = 17, ; + Left = 32, ; + Name = "Check1", ; + Top = 103, ; + Width = 60 + *< END OBJECT: BaseClass="checkbox" /> + + ADD OBJECT 'grdDocumente.cSters.Header1' AS header WITH ; + Alignment = 2, ; + Caption = "Sters", ; + Name = "Header1" + *< END OBJECT: BaseClass="header" /> + + ADD OBJECT 'grdDocumente.cSters.Text1' AS textbox WITH ; + BackColor = 255,255,255, ; + BorderStyle = 0, ; + ForeColor = 0,0,0, ; + Margin = 0, ; + Name = "Text1" + *< END OBJECT: BaseClass="textbox" /> + + ADD OBJECT 'grdDocumente.cSucursala.Header1' AS header WITH ; + Alignment = 2, ; + Caption = "Sucursala", ; + Name = "Header1" + *< END OBJECT: BaseClass="header" /> + + ADD OBJECT 'grdDocumente.cSucursala.Text1' AS textbox WITH ; + BackColor = 255,255,255, ; + BorderStyle = 0, ; + ForeColor = 0,0,0, ; + Margin = 0, ; + Name = "Text1" + *< END OBJECT: BaseClass="textbox" /> + + ADD OBJECT 'grdDocumente.cUtilizator.Header1' AS header WITH ; + Alignment = 2, ; + Caption = "Utilizator", ; + FontName = "Arial", ; + Name = "Header1" + *< END OBJECT: BaseClass="header" /> + + ADD OBJECT 'grdDocumente.cUtilizator.Text1' AS textbox WITH ; + BackColor = 255,255,255, ; + BorderStyle = 0, ; + FontName = "Arial", ; + ForeColor = 0,0,0, ; + Margin = 0, ; + Name = "Text1" + *< END OBJECT: BaseClass="textbox" /> + + ADD OBJECT 'grdDocumente.cUtils.Header1' AS header WITH ; + Alignment = 2, ; + Caption = "Utilizator stergere", ; + Name = "Header1" + *< END OBJECT: BaseClass="header" /> + + ADD OBJECT 'grdDocumente.cUtils.Text1' AS textbox WITH ; + BackColor = 255,255,255, ; + BorderStyle = 0, ; + ForeColor = 0,0,0, ; + Margin = 0, ; + Name = "Text1", ; + ReadOnly = .T. + *< END OBJECT: BaseClass="textbox" /> + + PROCEDURE actualizeaza_grid2 + LPARAMETERS tnIdFact + lcCursor = THISFORM.grdArticole.RECORDSOURCE + THISFORM.grdArticole.salveaza_grid() + lcSql = [{call pack_inventar.citeste_articole(] + ALLTRIM(STR(tnIdFact)) + [)}] + lnSucces = goExecutor.oExecute(lcSql,lcCursor) + IF lnSucces < 0 + amessagebox(goExecutor.cEroare,64,"Eroare") + ELSE + CALCULATE SUM(ROUND(pret*cant, 2)), SUM(ROUND(pret*cante, 2)), SUM(ROUND(pretvctva*cant, 2)), SUM(ROUND(pretvctva*cante, 2)) ; + TO THISFORM.nValAchIntrari, THISFORM.nValAchIesiri, THISFORM.nValVzIntrari, THISFORM.nValVzIesiri IN crstmpintart + + THISFORM.clb_ach_iesiri.REFRESH + THISFORM.clb_ach_intrari.REFRESH + THISFORM.clb_vz_iesiri.REFRESH + THISFORM.clb_vz_intrari.REFRESH + GO TOP IN crstmpintart + ENDIF + THISFORM.grdArticole.incarca_grid() + + ENDPROC + + PROCEDURE actual_afisare + ENDPROC + + PROCEDURE do_adauga_ireg + ENDPROC + + PROCEDURE do_modifica_ireg + ENDPROC + + PROCEDURE do_sterge_ireg + ENDPROC + + PROCEDURE Init + DoDefault() + Thisform.grdDocumente.SetAll("DynamicBackColor","IIF(tip=1,RGB(128,128,128),RGB(255,255,255))","Column") + Thisform.grdDocumente.SetAll("DynamicForeColor","IIF(sters=0,RGB(0,0,0),RGB(255,0,0))","Column") + Thisform.grdDocumente.SetFocus() + + ENDPROC + + PROCEDURE refacere_tabel + ENDPROC + + PROCEDURE grdDocumente.AfterRowColChange + Lparameters nColIndex + If This.RowColChange <> 2 + lcCursor = This.RecordSource + Select (lcCursor) + Thisform.actualizeaza_grid2(id_fact) + Endif + + ENDPROC + +ENDDEFINE + +DEFINE CLASS frm_inventar_magazin_centralizator_old AS frm_termin OF "_frm_child.vcx" + *< CLASSDATA: Baseclass="form" Timestamp="" Scale="Pixels" Uniqueid="" /> + + *-- OBJECTDATA items order determines ZOrder / El orden de los items OBJECTDATA determina el ZOrder + *< OBJECTDATA: ObjPath="grdinventare" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="grdinventare.cLuna.Header1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="grdinventare.cLuna.Text1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="grdinventare.cAn.Header1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="grdinventare.cAn.Text1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="grdinventare.cDataInventar.Header1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="grdinventare.cDataInventar.Text1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="grdinventare.cUtil.Header1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="grdinventare.cUtil.Text1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="grdinventare.cDescriere.Header1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="grdinventare.cDescriere.Text1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="grdinventare.cValidat.Header1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="grdinventare.cValidat.Check1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="grdinventare.cDataOraV.Header1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="grdinventare.cDataOraV.Text1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="grdinventare.cUtilV.Header1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="grdinventare.cUtilV.Text1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="grdinventare.cTip.Header1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="grdinventare.cTip.Text1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="But_nou1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="But_reset_criterii1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="But_start_criterii1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="But_modifica2" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="But_sterge2" UniqueID="" Timestamp="" /> + + #INCLUDE "..\roa.h" + * + BorderStyle = 3 + DoCreate = .T. + Height = 503 + Name = "frm_inventar_magazin_centralizator" + Width = 666 + _shape1.Height = 29 + _shape1.Left = 0 + _shape1.Name = "_shape1" + _shape1.Top = 0 + _shape1.Width = 672 + _shape2.Left = 613 + _shape2.Name = "_shape2" + _shape2.Top = 0 + Lb_titlu_alb_b121.Caption = "LISTA INVENTARE MAGAZIN" + Lb_titlu_alb_b121.Name = "Lb_titlu_alb_b121" + BUT_TERMIN1.Left = 633 + BUT_TERMIN1.Name = "BUT_TERMIN1" + BUT_TERMIN1.Top = 1 + Gridsort1.Name = "Gridsort1" + * + + ADD OBJECT 'But_modifica2' AS but_modifica WITH ; + caction = do_modifica, ; + Left = 574, ; + Name = "But_modifica2", ; + Top = 1, ; + Visible = .T. + *< END OBJECT: ClassLib="cmd_butoane.vcx" BaseClass="commandbutton" /> + + ADD OBJECT 'But_nou1' AS but_nou WITH ; + Left = 544, ; + Name = "But_nou1", ; + Top = 1 + *< END OBJECT: ClassLib="cmd_butoane.vcx" BaseClass="commandbutton" /> + + ADD OBJECT 'But_reset_criterii1' AS but_reset_criterii WITH ; + Left = 486, ; + Name = "But_reset_criterii1", ; + Top = 1 + *< END OBJECT: ClassLib="ocriterii.vcx" BaseClass="commandbutton" /> + + ADD OBJECT 'But_start_criterii1' AS but_start_criterii WITH ; + Left = 516, ; + Name = "But_start_criterii1", ; + Top = 1 + *< END OBJECT: ClassLib="ocriterii.vcx" BaseClass="commandbutton" /> + + ADD OBJECT 'But_sterge2' AS but_sterge WITH ; + caction = do_sterge, ; + Left = 604, ; + Name = "But_sterge2", ; + Top = 1, ; + Visible = .T. + *< END OBJECT: ClassLib="cmd_butoane.vcx" BaseClass="commandbutton" /> + + ADD OBJECT 'grdinventare' AS _grdbase WITH ; + ColumnCount = 9, ; + DeleteMark = .F., ; + FontName = "Arial Narrow", ; + Height = 457, ; + Left = 5, ; + Name = "grdinventare", ; + Panel = 1, ; + RecordSource = "crsinventare", ; + TabIndex = 2, ; + Top = 45, ; + Width = 651, ; + Column1.ControlSource = "luna", ; + Column1.FontName = "Arial Narrow", ; + Column1.Name = "cLuna", ; + Column1.Width = 45, ; + Column2.ControlSource = "an", ; + Column2.FontName = "Arial Narrow", ; + Column2.Name = "cAn", ; + Column2.Width = 36, ; + Column3.ControlSource = "data_inventar", ; + Column3.FontName = "Arial Narrow", ; + Column3.Name = "cDataInventar", ; + Column3.Width = 78, ; + Column4.ControlSource = "util", ; + Column4.FontName = "Arial Narrow", ; + Column4.Name = "cUtil", ; + Column4.Width = 90, ; + Column5.ControlSource = "descriere", ; + Column5.FontName = "Arial Narrow", ; + Column5.Name = "cDescriere", ; + Column5.Width = 106, ; + Column6.ControlSource = "validat", ; + Column6.FontName = "Arial Narrow", ; + Column6.Name = "cValidat", ; + Column6.ReadOnly = .T., ; + Column6.Sparse = .F., ; + Column6.Width = 53, ; + Column7.Comment = "dataorav", ; + Column7.ControlSource = "dataorav", ; + Column7.FontName = "Arial Narrow", ; + Column7.Name = "cDataOraV", ; + Column7.Width = 111, ; + Column8.Comment = "utilv", ; + Column8.ControlSource = "utilv", ; + Column8.FontName = "Arial Narrow", ; + Column8.Name = "cUtilV", ; + Column9.ControlSource = "IIF(TIP=1, 'Inventar materiale/marfa', IIF(TIP=2, 'Inventar Obiecte de inventar in folosinta', IIF(TIP=3, 'Inventar cu bon de consum', IIF(TIP=4,'Inventar productie vin','Inventar magazin'))))", ; + Column9.FontName = "Arial Narrow", ; + Column9.Name = "cTip", ; + Column9.Width = 164 + *< END OBJECT: ClassLib="_grd_base.vcx" BaseClass="grid" /> + + ADD OBJECT 'grdinventare.cAn.Header1' AS header WITH ; + Alignment = 2, ; + Caption = "An", ; + FontName = "Arial Narrow", ; + Name = "Header1" + *< END OBJECT: BaseClass="header" /> + + ADD OBJECT 'grdinventare.cAn.Text1' AS textbox WITH ; + BackColor = 255,255,255, ; + BorderStyle = 0, ; + FontName = "Arial Narrow", ; + ForeColor = 0,0,0, ; + Margin = 0, ; + Name = "Text1" + *< END OBJECT: BaseClass="textbox" /> + + ADD OBJECT 'grdinventare.cDataInventar.Header1' AS header WITH ; + Alignment = 2, ; + Caption = "Data inventar", ; + FontName = "Arial Narrow", ; + Name = "Header1" + *< END OBJECT: BaseClass="header" /> + + ADD OBJECT 'grdinventare.cDataInventar.Text1' AS textbox WITH ; + BackColor = 255,255,255, ; + BorderStyle = 0, ; + FontName = "Arial Narrow", ; + ForeColor = 0,0,0, ; + Margin = 0, ; + Name = "Text1" + *< END OBJECT: BaseClass="textbox" /> + + ADD OBJECT 'grdinventare.cDataOraV.Header1' AS header WITH ; + Alignment = 2, ; + Caption = "Data validare", ; + FontName = "Arial Narrow", ; + Name = "Header1" + *< END OBJECT: BaseClass="header" /> + + ADD OBJECT 'grdinventare.cDataOraV.Text1' AS textbox WITH ; + BackColor = 255,255,255, ; + BorderStyle = 0, ; + FontName = "Arial Narrow", ; + ForeColor = 0,0,0, ; + Margin = 0, ; + Name = "Text1" + *< END OBJECT: BaseClass="textbox" /> + + ADD OBJECT 'grdinventare.cDescriere.Header1' AS header WITH ; + Alignment = 2, ; + Caption = "Descriere", ; + FontName = "Arial Narrow", ; + Name = "Header1" + *< END OBJECT: BaseClass="header" /> + + ADD OBJECT 'grdinventare.cDescriere.Text1' AS textbox WITH ; + BackColor = 255,255,255, ; + BorderStyle = 0, ; + FontName = "Arial Narrow", ; + ForeColor = 0,0,0, ; + Margin = 0, ; + Name = "Text1" + *< END OBJECT: BaseClass="textbox" /> + + ADD OBJECT 'grdinventare.cLuna.Header1' AS header WITH ; + Alignment = 2, ; + Caption = "Luna", ; + FontName = "Arial Narrow", ; + Name = "Header1" + *< END OBJECT: BaseClass="header" /> + + ADD OBJECT 'grdinventare.cLuna.Text1' AS textbox WITH ; + BackColor = 255,255,255, ; + BorderStyle = 0, ; + FontName = "Arial Narrow", ; + ForeColor = 0,0,0, ; + Margin = 0, ; + Name = "Text1" + *< END OBJECT: BaseClass="textbox" /> + + ADD OBJECT 'grdinventare.cTip.Header1' AS header WITH ; + Alignment = 2, ; + Caption = "Tip inventar", ; + FontName = "Arial Narrow", ; + Name = "Header1" + *< END OBJECT: BaseClass="header" /> + + ADD OBJECT 'grdinventare.cTip.Text1' AS textbox WITH ; + BackColor = 255,255,255, ; + BorderStyle = 0, ; + FontName = "Arial Narrow", ; + ForeColor = 0,0,0, ; + Margin = 0, ; + Name = "Text1" + *< END OBJECT: BaseClass="textbox" /> + + ADD OBJECT 'grdinventare.cUtil.Header1' AS header WITH ; + Alignment = 2, ; + Caption = "Utilizator inventar", ; + FontName = "Arial Narrow", ; + Name = "Header1" + *< END OBJECT: BaseClass="header" /> + + ADD OBJECT 'grdinventare.cUtil.Text1' AS textbox WITH ; + BackColor = 255,255,255, ; + BorderStyle = 0, ; + FontName = "Arial Narrow", ; + ForeColor = 0,0,0, ; + Margin = 0, ; + Name = "Text1" + *< END OBJECT: BaseClass="textbox" /> + + ADD OBJECT 'grdinventare.cUtilV.Header1' AS header WITH ; + Caption = "Utilizator validare", ; + FontName = "Arial Narrow", ; + Name = "Header1" + *< END OBJECT: BaseClass="header" /> + + ADD OBJECT 'grdinventare.cUtilV.Text1' AS textbox WITH ; + BackColor = 255,255,255, ; + BorderStyle = 0, ; + FontName = "Arial Narrow", ; + ForeColor = 0,0,0, ; + Margin = 0, ; + Name = "Text1" + *< END OBJECT: BaseClass="textbox" /> + + ADD OBJECT 'grdinventare.cValidat.Check1' AS checkbox WITH ; + Alignment = 0, ; + Caption = "", ; + Centered = .T., ; + FontName = "Arial Narrow", ; + Height = 17, ; + Left = 51, ; + Name = "Check1", ; + ReadOnly = .T., ; + Top = 36, ; + Width = 60 + *< END OBJECT: BaseClass="checkbox" /> + + ADD OBJECT 'grdinventare.cValidat.Header1' AS header WITH ; + Alignment = 2, ; + Caption = "Validat", ; + FontName = "Arial Narrow", ; + Name = "Header1" + *< END OBJECT: BaseClass="header" /> + + PROCEDURE actualizeaza_grid1 + Lparameters tcFiltru + Local lcFiltru + lcFiltru=tcFiltru + + If Empty(lcFiltru) + lcFiltru=poInventare.ca_baza1.cfiltru + Endif + + Thisform.MousePointer = 11 + Thisform.LockScreen = .T. + save_grid_tag(Thisform.grdinventare) + poInventare.ca_baza1.cfiltru=lcFiltru + poInventare.ca_baza1.afisare() + restore_grid_tag(Thisform.grdinventare) + Thisform.LockScreen = .F. + Thisform.MousePointer = 0 + + ENDPROC + + PROCEDURE do_adauga + Private pnIdCInventar + pnIdCInventar = 0 + + Local loFrmAdaugare, lcGestiuni, lcIdGestiune + Private poArt,nTipInv + Select crsinventare + Scatter Name poArt Blank Memo + ADDPROPERTY(poArt, 'OptiuneInventar', 1) + ADDPROPERTY(poArt, 'NumarLuni', 1) + + + poArt.descriere = "" + poArt.an = gnAn + poArt.luna = gnLuna + poArt.id_util = gnIdUtil + nTipInv=5 + *!* lofrmTip = Createobject("tip_inventar") + *!* lofrmTip.Show(1) + lcXMLGestiune = caut_gestiune_xml(2,.t., CA_PORNIRE_INCEPE) && gestiunile pe care are drept utilizatorul, + If !Empty(lcXMLGestiune) And gnButon = 1 + Xmltocursor(lcXMLGestiune, "crsGestTemp") + If Reccount('crsGestTemp') = 0 + AMessageBox('Nu ati selectat nici o gestiune!',0+48,'Inventar') + Return + EndIf + Select crsGestTemp + Locate For id_gestiune = 0 + If Found() And Reccount('crsGestTemp') = 1 + lcIdGestiune = [NULL] + lcGestiuni = [TOATE GESTIUNILE] + Else + lcIdGestiune = ['] + cursor2lista("crsGestTemp", "id_gestiune", "|") + lcGestiuni = cursor2lista("crsGestTemp", "nume_gestiune", ",") + Endif + Use In crsGestTemp + If(Right(lcIdGestiune,1)#"|" And lcIdGestiune #[NULL]) + lcIdGestiune=lcIdGestiune+"|" + Endif + If lcIdGestiune=[NULL] + Else + lcIdGestiune=lcIdGestiune+"'" + Endif + + poArt.descriere = lcGestiuni + + loFrmAdaugare = Createobject("frm_inventar_magazin_nou") + loFrmAdaugare.Show(1) + If gnButon = 1 + lcSql = [begin pack_inventar.adauga_inventar(] + Alltrim(Str(poArt.luna)) + [,] + Alltrim(Str(poArt.an)) + [,] + ; + ['] + Alltrim(Nvl(poArt.descriere,'')) + [',] + lcIdGestiune + [,] + Alltrim(Str(gnIdUtil)) + [,?nTipInv,?gnIdSucursala,?poArt.OptiuneInventar,?poArt.NumarLuni,?@pnIdCInventar); end;] + lnSucces = goExecutor.oExecute(lcSql) + If lnSucces < 0 + amessagebox(goExecutor.oPrelucrareEroare(),16,"Eroare") + Thisform.grdinventare.SetFocus() + Else + * Thisform.inainte_de_do_termin() + Thisform.actualizeaza_grid1() + This.DO_MODIFICA(pnIdCInventar) + Endif + Else + Thisform.grdinventare.SetFocus() + Endif + Endif + + ENDPROC + + PROCEDURE do_cauta + Local lcFiltru, lcValoare1, lcValoare2, loCollection, i, lcTitlu + lcFiltru = [2=2] + If Len(Thisform.filtru_pretty)>0 + lcFiltru = lcFiltru+" and (" + Alltrim(Thisform.filtru_pretty) + ")" + Endif + + If (This.filtru_pretty#"none") + Thisform.actualizeaza_grid1(lcFiltru) + If Reccount('crsinventare')=0 + aMessagebox("Cautarea nu a intors rezultate!",0+48,"Info cautare") + Endif + Endif + + Thisform.grdinventare.SetFocus() + + ENDPROC + + PROCEDURE do_modifica + Lparameters tnIdCInventar + Local lnRecno + lnRecno = Recno('crsInventare') + + + This.AlwaysOnTop = .F. + If Pcount() = 0 && MODIFICARE + If Reccount('crsInventare')>0 + Select crsinventare + If crsinventare.An*12+crsinventare.Luna=gnan*12+gnluna + Do vizualizeaza_inventar_magazin With crsinventare.id_c_inventar In ointroduceri.prg + This.do_cauta() && daca se valideaza centralizatorul - actualizez tabelul + Select crsinventare + If Reccount() >= lnRecno + Goto lnRecno + Endif + Else + AMESSAGEBOX("Intrati in luna " + Alltrim(Str(crsinventare.luna)) + "/" + Alltrim(Str(crsinventare.an)), 0+48, "Inventar") + Endif + Endif + Else && ADAUGARE + MODIFICARE + Do vizualizeaza_inventar_magazin With tnIdCInventar In ointroduceri.prg + This.do_cauta() && daca se valideaza centralizatorul - actualizez tabelul + Select crsinventare + Locate For id_c_inventar = tnIdCInventar + If !Found() + Go Top + Endif + Endif + + + + This.AlwaysOnTop = .T. + + ENDPROC + + PROCEDURE do_sterge + Local lnSucces + + If Reccount('crsInventare')>0 and Nvl(crsInventare.id_c_inventar,0) > 0 and Nvl(crsInventare.validat,0) = 0 + If aMessageBox('Doriti sa stergeti inventarul?',4+32,'Inventar') = 6 + lcSql = [begin pack_inventar.sterge_inventar(] + Alltrim(Str(crsInventare.id_c_inventar)) + [,] + Alltrim(Str(gnIdUtil)) + [); end;] + lnSucces = goExecutor.oExecute(lcSql) + If lnSucces < 0 + amessagebox(goExecutor.cEroare,16,"Eroare") + Thisform.grdinventare.SetFocus() + Else + Thisform.actualizeaza_grid1() + Thisform.grdinventare.SetFocus() + Endif + EndIf + EndIf + ENDPROC + + PROCEDURE Init + DoDefault() + Thisform.grdinventare.SetAll("DynamicBackColor","IIF(validat=1,Rgb(220,220,220),Rgb(255,255,255))","Column") + ENDPROC + + PROCEDURE But_start_criterii1.loadcriterii + PARAMETERS tacriterii + EXTERNAL ARRAY tacriterii + #DEFINE crlf CHR(13)+CHR(10) + lcStringCriterii = "Validate\nofiled\E\(validat = 1)\" + crlf + ; + "Nevalidate\nofiled\E\(validat = 0)\" + crlf + ; + "Data validarii\trunc(dataorav)\D\none\" + crlf + ; + "Operator validare\utilv\T\ID_UTILv\nom_utilizator" + crlf + ; + "Perioada\an*12+luna\D1\none\" + DODEFAULT() + ENDPROC + + PROCEDURE grdinventare.AfterRowColChange + LPARAMETERS nColIndex + If Inlist(This.RowColChange,0,1,3) + If Reccount('crsInventare')>0 + Select crsinventare + pnIdCInventar = id_c_inventar + pnValidat = validat + Else + pnIdCInventar = 0 + Endif + Endif + + ENDPROC + +ENDDEFINE + +DEFINE CLASS frm_inventar_magazin_nou_old AS _frmbase OF "_frm_base.vcx" + *< CLASSDATA: Baseclass="form" Timestamp="" Scale="Pixels" Uniqueid="" /> + + *-- OBJECTDATA items order determines ZOrder / El orden de los items OBJECTDATA determina el ZOrder + *< OBJECTDATA: ObjPath="But_renunt1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="Ed_tx_simplu1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="optInventar" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="txtNumarLuni" UniqueID="" Timestamp="" /> + + * + *p: dnf + *p: lobinv + *p: obj + * + + * + BorderStyle = 1 + dnf = 0 + DoCreate = .T. + Height = 219 + lobinv = .F. + Name = "frm_inventar_magazin_nou" + obj = + Width = 354 + _shape1.Name = "_shape1" + _shape2.Height = 29 + _shape2.Left = 312 + _shape2.Name = "_shape2" + _shape2.Top = 0 + _shape2.Width = 62 + Lb_titlu_alb_b121.Caption = "Inventar nou" + Lb_titlu_alb_b121.Name = "Lb_titlu_alb_b121" + Lb_titlu_alb_b121.TabIndex = 4 + BUT_TERMIN1.Left = 321 + BUT_TERMIN1.Name = "BUT_TERMIN1" + BUT_TERMIN1.TabIndex = 2 + BUT_TERMIN1.Top = 1 + Gridsort1.Name = "Gridsort1" + * + + ADD OBJECT 'But_renunt1' AS but_renunt WITH ; + Left = 292, ; + Name = "But_renunt1", ; + TabIndex = 3, ; + Top = 1 + *< END OBJECT: ClassLib="cmd_butoane.vcx" BaseClass="commandbutton" /> + + ADD OBJECT 'Ed_tx_simplu1' AS ed_tx_simplu WITH ; + Height = 84, ; + Left = 24, ; + Name = "Ed_tx_simplu1", ; + TabIndex = 1, ; + Top = 48, ; + Width = 314, ; + _edbase1.ControlSource = "poArt.Descriere", ; + _edbase1.Format = "!", ; + _edbase1.Height = 75, ; + _edbase1.Left = 68, ; + _edbase1.Name = "_edbase1", ; + _edbase1.Top = 2, ; + _edbase1.Width = 244, ; + _LBBASE1.Caption = "Descriere:", ; + _LBBASE1.Name = "_LBBASE1" + *< END OBJECT: ClassLib="lb_tx.vcx" BaseClass="container" /> + + ADD OBJECT 'optInventar' AS _optiongrup WITH ; + AutoSize = .T., ; + ButtonCount = 3, ; + ControlSource = "poArt.OptiuneInventar", ; + Height = 65, ; + Left = 24, ; + Name = "optInventar", ; + Top = 144, ; + Width = 198, ; + Option1.AutoSize = .T., ; + Option1.Caption = "Articolele din stoc", ; + Option1.Left = 5, ; + Option1.Name = "Option1", ; + Option1.Top = 5, ; + Option2.AutoSize = .T., ; + Option2.Caption = "Fara articole", ; + Option2.Left = 5, ; + Option2.Name = "Option2", ; + Option2.Top = 24, ; + Option3.AutoSize = .T., ; + Option3.BackStyle = 0, ; + Option3.Caption = "Articolele intrate in ultimele luni", ; + Option3.Height = 17, ; + Option3.Left = 5, ; + Option3.Name = "Option3", ; + Option3.Top = 43, ; + Option3.Width = 188 + *< END OBJECT: ClassLib="_baza.vcx" BaseClass="optiongroup" /> + + ADD OBJECT 'txtNumarLuni' AS _textbox WITH ; + ControlSource = "poArt.NumarLuni", ; + Format = "RK", ; + Height = 23, ; + InputMask = "99", ; + Left = 226, ; + Name = "txtNumarLuni", ; + Top = 184, ; + Visible = .F., ; + Width = 62 + *< END OBJECT: ClassLib="_baza.vcx" BaseClass="textbox" /> + + PROCEDURE optInventar.Valid + thisform.txtNumarLuni.Visible = THIS.Value = 3 + IF THIS.Value = 3 + thisform.txtNumarLuni.SetFocus() + ENDIF + ENDPROC + +ENDDEFINE + +DEFINE CLASS frm_inventar_nou AS _frmbase OF "_frm_base.vcx" + *< CLASSDATA: Baseclass="form" Timestamp="" Scale="Pixels" Uniqueid="" /> + + *-- OBJECTDATA items order determines ZOrder / El orden de los items OBJECTDATA determina el ZOrder + *< OBJECTDATA: ObjPath="But_renunt1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="Ed_tx_simplu1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="optInventar" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="txtNumarLuni" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="chkStocFaptic" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="cmdGestiuni" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="cmdSubgrupe" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="cmdArticole" UniqueID="" Timestamp="" /> + + * + *m: do_alege_articole + *m: do_alege_gestiuni + *m: do_alege_subgrupe + *m: refreshdescriere + *p: cdescrierearticole + *p: cdescrieregestiuni + *p: cdescrieresubgrupe + *p: dnf + *p: lobinv + *p: obj + * + + * + BorderStyle = 3 + cdescrierearticole = + cdescrieregestiuni = + cdescrieresubgrupe = + dnf = 0 + DoCreate = .T. + Height = 256 + lobinv = .F. + Name = "frm_inventar_nou" + obj = + Width = 483 + _shape1.Anchor = 10 + _shape1.Height = 29 + _shape1.Left = 0 + _shape1.Name = "_shape1" + _shape1.Top = 0 + _shape1.Width = 600 + _shape2.Height = 29 + _shape2.Left = 420 + _shape2.Name = "_shape2" + _shape2.Top = 0 + _shape2.Width = 62 + Lb_titlu_alb_b121.Caption = "Inventar nou" + Lb_titlu_alb_b121.Name = "Lb_titlu_alb_b121" + Lb_titlu_alb_b121.TabIndex = 4 + BUT_TERMIN1.Anchor = 8 + BUT_TERMIN1.Left = 449 + BUT_TERMIN1.Name = "BUT_TERMIN1" + BUT_TERMIN1.TabIndex = 2 + BUT_TERMIN1.Top = 1 + Gridsort1.Name = "Gridsort1" + * + + ADD OBJECT 'But_renunt1' AS but_renunt WITH ; + Anchor = 8, ; + Left = 420, ; + Name = "But_renunt1", ; + TabIndex = 3, ; + Top = 1 + *< END OBJECT: ClassLib="cmd_butoane.vcx" BaseClass="commandbutton" /> + + ADD OBJECT 'chkStocFaptic' AS _checkbox WITH ; + Alignment = 0, ; + Caption = "Stoc faptic 0", ; + ControlSource = "poArt.stocfaptic0", ; + Left = 232, ; + Name = "chkStocFaptic", ; + ToolTipText = "Bifati doar daca doriti sa completati cantitatea faptica la toate articolele. NU bifati daca doriti sa completati cantitatea faptica doar la articolele cu diferente (ex: inventar partial).", ; + Top = 192 + *< END OBJECT: ClassLib="_baza.vcx" BaseClass="checkbox" /> + + ADD OBJECT 'cmdArticole' AS cmd_executa WITH ; + AutoSize = .T., ; + caction = do_alege_articole, ; + Caption = "... Alege \ + + ADD OBJECT 'cmdGestiuni' AS cmd_executa WITH ; + AutoSize = .T., ; + caction = do_alege_gestiuni, ; + Caption = "... Alege \ + + ADD OBJECT 'cmdSubgrupe' AS cmd_executa WITH ; + AutoSize = .T., ; + caction = do_alege_subgrupe, ; + Caption = "... Alege \ + + ADD OBJECT 'Ed_tx_simplu1' AS ed_tx_simplu WITH ; + Anchor = 10, ; + Height = 108, ; + Left = 12, ; + Name = "Ed_tx_simplu1", ; + TabIndex = 1, ; + Top = 72, ; + Width = 467, ; + _edbase1.ControlSource = "poArt.Descriere", ; + _edbase1.Format = "!", ; + _edbase1.Height = 102, ; + _edbase1.Left = 68, ; + _edbase1.Name = "_edbase1", ; + _edbase1.Top = 2, ; + _edbase1.Width = 388, ; + _LBBASE1.Caption = "Descriere:", ; + _LBBASE1.Name = "_LBBASE1" + *< END OBJECT: ClassLib="lb_tx.vcx" BaseClass="container" /> + + ADD OBJECT 'optInventar' AS _optiongrup WITH ; + AutoSize = .T., ; + ButtonCount = 3, ; + ControlSource = "poArt.OptiuneInventar", ; + Height = 66, ; + Left = 14, ; + Name = "optInventar", ; + Top = 188, ; + Width = 210, ; + Option1.AutoSize = .T., ; + Option1.Caption = "Articolele din stoc", ; + Option1.FontSize = 10, ; + Option1.Left = 5, ; + Option1.Name = "Option1", ; + Option1.Top = 5, ; + Option2.AutoSize = .T., ; + Option2.Caption = "Fara articole", ; + Option2.FontSize = 10, ; + Option2.Left = 5, ; + Option2.Name = "Option2", ; + Option2.Top = 24, ; + Option3.AutoSize = .T., ; + Option3.BackStyle = 0, ; + Option3.Caption = "Articolele intrate in ultimele luni", ; + Option3.FontSize = 10, ; + Option3.Height = 18, ; + Option3.Left = 5, ; + Option3.Name = "Option3", ; + Option3.Top = 43, ; + Option3.Width = 200 + *< END OBJECT: ClassLib="_baza.vcx" BaseClass="optiongroup" /> + + ADD OBJECT 'txtNumarLuni' AS _textbox WITH ; + ControlSource = "poArt.NumarLuni", ; + Format = "RK", ; + Height = 23, ; + InputMask = "99", ; + Left = 227, ; + Name = "txtNumarLuni", ; + ToolTipText = ">= 1 luna pentru lista de articole din rulaj; 0 luni pentru lista de articole din stoc", ; + Top = 228, ; + Visible = .F., ; + Width = 62 + *< END OBJECT: ClassLib="_baza.vcx" BaseClass="textbox" /> + + PROCEDURE do_alege_articole + Local lcXMLArticole, lcListaArticoleId, lcListaArticoleDenumire + Local lcFiltruOriginal, llLoud + + lcListaArticoleId = "" + lcListaArticoleDenumire = "" + lcFiltruOriginal = "" + llLoud = .T. + + lcXMLArticole = cauta_articole(m.lcFiltruOriginal, , m.llLoud, @lcListaArticoleId, @lcListaArticoleDenumire) && ocautare.prg + IF gnButon = 1 + poArt.id_articole = lcListaArticoleId + This.cDescrierearticole = lcListaArticoleDenumire + ENDIF + This.RefreshDescriere() + ENDPROC + + PROCEDURE do_alege_gestiuni + Local lcXMLGestiune, lcListaIdGestiuni, lcListaDenumireGestiuni + lcListaDenumireGestiuni = "" + lcListaIdGestiuni = "" + && CA_PORNIRE_INCEPE = 1 + lcXMLGestiune = caut_gestiune_xml(2,.F., 1, .T., @lcListaIdGestiuni, @lcListaDenumireGestiuni)&& gestiunile pe care are drept utilizatorul, + IF gnButon = 1 + poArt.id_gestiuni = lcListaIdGestiuni + This.cDescriereGestiuni = lcListaDenumireGestiuni + ENDIF + + This.RefreshDescriere() + ENDPROC + + PROCEDURE do_alege_subgrupe + Local lcXMLArticole, lcListaSubgrupeId, lcListaSubgrupeDenumire + Local lcFiltruOriginal, llLoud + Local llMultipleArticles, llToateIreg + + lcListaSubgrupeId = "" + lcListaSubgrupeDenumire = "" + lcFiltruOriginal = "" + llLoud = .T. + llToateIreg = .F. + llMultipleArticles = .T. + + lcXMLArticole = caut_subgrupa_articole(m.lcFiltruOriginal, m.llToateIreg, m.llMultipleArticles, , m.llLoud, @lcListaSubgrupeId, @lcListaSubgrupeDenumire) && ocautare.prg + IF gnButon = 1 + poArt.id_subgrupe_articole = lcListaSubgrupeId + This.cDescrieresubgrupe = lcListaSubgrupeDenumire + ENDIF + + This.RefreshDescriere() + + ENDPROC + + PROCEDURE refreshdescriere + poArt.descriere = IIF(!EMPTY(this.cDescriereGestiuni), this.cDescriereGestiuni + '; ', '') + ; + IIF(!EMPTY(this.cDescriereSubgrupe), this.cDescriereSubgrupe + '; ', '') + this.cDescriereArticole + + this.ed_tx_simplu1._edbase1.Refresh() + ENDPROC + + PROCEDURE optInventar.Valid + thisform.txtNumarLuni.Visible = THIS.Value = 3 + thisform.chkStocFaptic.Visible = THIS.Value = 1 + IF THIS.Value = 3 + thisform.txtNumarLuni.SetFocus() + ENDIF + ENDPROC + +ENDDEFINE + +DEFINE CLASS inventar_stoc AS _frmbase OF "_frm_base.vcx" + *< CLASSDATA: Baseclass="form" Timestamp="" Scale="Pixels" Uniqueid="" /> + + *-- OBJECTDATA items order determines ZOrder / El orden de los items OBJECTDATA determina el ZOrder + *< OBJECTDATA: ObjPath="Grid1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="Grid1.cNrcrt.Header1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="Grid1.cNrcrt.Text1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="Grid1.cCodmat.Header1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="Grid1.cCodmat.Text1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="Grid1.cDenumire.Header1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="Grid1.cDenumire.Text1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="Grid1.cUM.Header1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="Grid1.cUM.Text1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="Grid1.cCgest.Header1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="Grid1.cCgest.Text1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="Grid1.ccont.Header1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="Grid1.ccont.Text1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="Grid1.cAcont.Header1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="Grid1.cAcont.Text1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="Grid1.cPret_unitar.Header1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="Grid1.cPret_unitar.Text1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="Grid1.cStoc_scriptic.Header1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="Grid1.cStoc_scriptic.Text1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="Grid1.cstoc_faptic.Header1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="Grid1.cstoc_faptic.Text1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="Grid1.cDiferenta.Header1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="Grid1.cDiferenta.Text1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="Grid1.cValdif.Header1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="Grid1.cValdif.Text1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="Grid1.cDepreciere.Header1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="Grid1.cDepreciere.Text1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="Grid1.cMotiv_depreciere.Header1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="Grid1.cMotiv_depreciere.Text1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="Grid1.cCants.Header1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="Grid1.cCants.Text1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="Grid1.ccant.Header1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="Grid1.ccant.Text1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="Grid1.ccante.Header1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="Grid1.ccante.Text1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="Grid1.cUtilizator.Header1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="Grid1.cUtilizator.Text1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="Grid1.cresponsabil.Header1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="Grid1.cresponsabil.Text1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="Grid1.cdatapif.Header1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="Grid1.cdatapif.Text1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="Grid1.cdnf.Header1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="Grid1.cdnf.Text1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="Grid1.cMeserie.Header1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="Grid1.cMeserie.Text1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="Grid1.cFormatia.Header1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="Grid1.cFormatia.Text1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="Grid1.cDataang.Header1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="Grid1.cDataang.Text1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="Grid1.cDatalic.Header1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="Grid1.cDatalic.Text1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="Grid1.cdns_luni.Header1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="Grid1.cdns_luni.Text1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="Grid1.cUzura_faptic.Header1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="Grid1.cUzura_faptic.Text1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="Grid1.cDif_dns_luni.Header1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="Grid1.cDif_dns_luni.Text1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="Grid1.cData_expirare.Header1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="Grid1.cData_expirare.Text1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="Grid1.cCant_zahar.Header1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="Grid1.cCant_zahar.Text1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="Grid1.cGrade_alcool.Header1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="Grid1.cGrade_alcool.Text1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="Grid1.cPotential.Header1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="Grid1.cPotential.Text1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="Grid1.cAn_prod.Header1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="Grid1.cAn_prod.Text1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="Grid1.cStadiu.Header1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="Grid1.cStadiu.Text1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="Grid1.cExplicatie.Header1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="Grid1.cExplicatie.Text1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="Grid1.cAcronim.Header1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="Grid1.cAcronim.Text1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="Grid1.cSerie.Header1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="Grid1.cSerie.Text1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="Grid1.Column1.Header1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="Grid1.Column1.Text1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="Grid1.Column2.Header1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="Grid1.Column2.Text1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="Grid1.Column3.Header1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="Grid1.Column3.Text1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="Grid1.Column4.Header1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="Grid1.Column4.Text1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="Grid1.Column5.Header1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="Grid1.Column5.Text1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="Grid1.cCodbare.Header1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="Grid1.cCodbare.Text1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="Grid1.cPart_rez.Header1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="Grid1.cPart_rez.Text1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="Grid1.cNrord_rez.Header1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="Grid1.cNrord_rez.Text1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="Grid1.cDataIn.Header1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="Grid1.cDataIn.Text1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="Grid1.cPretv.Header1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="Grid1.cPretv.Text1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="Grid1.cTVAv.Header1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="Grid1.cTVAv.Text1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="Grid1.cProcTVAv.Header1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="Grid1.cProcTVAv.Text1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="Grid1.cFurnizor.Header1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="Grid1.cFurnizor.Text1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="Grid1.cIdArticol.Header1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="Grid1.cIdArticol.Text1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="Grid1.cValidat.Header1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="Grid1.cValidat.Text1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="Grid1.cValidat.Check1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="Grid1.cDataOraValidat.Header1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="Grid1.cDataOraValidat.Text1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="Grid1.cDataOraAdaugat.Header1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="Grid1.cDataOraAdaugat.Text1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="Grid1.cLot.Header1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="Grid1.cLot.Text1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="Grid1.cIdResponsabil.Header1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="Grid1.cIdResponsabil.Text1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="But_excel1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="Clb_tx_simplu1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="Clb_tx_simplu2" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="Clb_tx_simplu2.Line2" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="Clb_tx_simplu3" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="BUT_RENUNT1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="But_nou1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="But_listare1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="Clb_tx_simplu4" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="Clb_tx_simplu5" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="Clb_tx_simplu5.Line2" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="Clb_tx_simplu6" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="But_sterge1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="lb_explicatie" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="But_start_criterii1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="But_reset_criterii1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="Label1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="Label2" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="Clb_tx_simplu7" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="Clb_tx_simplu8" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="Clb_tx_simplu8.Line2" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="Clb_tx_simplu9" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="Label3" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="Gridextra1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="But_copiaza1" UniqueID="" Timestamp="" /> + + * + *m: citeste_doc + *m: corderby_assign + *m: do_cauta_furnizor + *m: updateserver + *p: acronim + *p: an_prod + *p: cant_zahar + *p: casc + *p: cfiltru + *p: cfiltruoriginal + *p: cid_gestiuni + *p: cnumecursor + *p: corder + *p: cschema + *p: cselect + *p: cvalue + *p: dataang + *p: datalic + *p: ddatainventar && data inceperii inventarului + *p: explicatie + *p: formatie + *p: grade_alcool + *p: grupegest + *p: lbonconsum + *p: lcorectie + *p: linventarroavin + *p: lmagazin + *p: lmodparam + *p: lobinv + *p: lvalidat + *p: meserie + *p: ncdiferenta + *p: ncod + *p: ncstoc_faptic + *p: ncstoc_scriptic + *p: ndiferenta + *p: ndiferentav + *p: nevalidat + *p: nidcinventar + *p: nidfact + *p: nstoc_faptic + *p: nstoc_fapticv + *p: nstoc_scriptic + *p: nstoc_scripticv + *p: nvalue + *p: ocursor + *p: potential + *p: respons + *p: stadiu + *p: validat + * + + * + acronim = .F. + an_prod = .F. + cant_zahar = .F. + casc = ASC + cfiltru = .F. + cfiltruoriginal = .F. + cgridsortlist = grid1 + cid_gestiuni = + cnumecursor = crs_inventar + corder = denumire + cschema = .F. + cselect = .F. + cvalue = + dataang = .F. + datalic = .F. + ddatainventar = {} + DoCreate = .T. + explicatie = .F. + formatie = .F. + grade_alcool = .F. + grupegest = .T. + Height = 484 + lactiv4 = .T. + lbonconsum = .F. + lcorectie = .F. + linventarroavin = .F. + lmagazin = .F. + lmodparam = .F. + lobinv = .F. + lvalidat = .F. + meserie = .F. + Name = "inventar_stoc" + ncdiferenta = 0 + ncod = 0 + ncstoc_faptic = 0 + ncstoc_scriptic = 0 + ndiferenta = 0 + ndiferentav = 0 + nevalidat = .T. + nidcinventar = 0 + nidfact = 0 + nstoc_faptic = 0 + nstoc_fapticv = 0 + nstoc_scriptic = 0 + nstoc_scripticv = 0 + nvalue = 0 + ocursor = + potential = .F. + respons = .F. + stadiu = .F. + validat = .T. + Width = 793 + WindowType = 1 + _memberdata = + + + _SHAPE1.Anchor = 10 + _SHAPE1.Height = 29 + _SHAPE1.Left = 0 + _SHAPE1.Name = "_SHAPE1" + _SHAPE1.Top = 0 + _SHAPE1.Width = 797 + _SHAPE2.Anchor = 8 + _SHAPE2.Height = 29 + _SHAPE2.Left = 605 + _SHAPE2.Name = "_SHAPE2" + _SHAPE2.Top = 0 + _SHAPE2.Width = 194 + LB_TITLU_ALB_B121.Caption = "Nota de inventariere si constatare diferente" + LB_TITLU_ALB_B121.Name = "LB_TITLU_ALB_B121" + LB_TITLU_ALB_B121.TabIndex = 40 + BUT_TERMIN1.Anchor = 8 + BUT_TERMIN1.Left = 762 + BUT_TERMIN1.Name = "BUT_TERMIN1" + BUT_TERMIN1.TabIndex = 31 + BUT_TERMIN1.Top = 1 + Gridsort1.Left = 360 + Gridsort1.Name = "Gridsort1" + Gridsort1.Top = 4 + * + + ADD OBJECT 'But_copiaza1' AS but_copiaza WITH ; + Anchor = 8, ; + Left = 641, ; + Name = "But_copiaza1", ; + Top = 1 + *< END OBJECT: ClassLib="cmd_butoane.vcx" BaseClass="commandbutton" /> + + ADD OBJECT 'But_excel1' AS but_excel WITH ; + Anchor = 8, ; + Height = 27, ; + Left = 701, ; + Name = "But_excel1", ; + TabIndex = 30, ; + Tag = "MOVABLE,NOVERTICAL_MOVE", ; + ToolTipText = "Exportare in Excel", ; + Top = 1, ; + Width = 30, ; + ZOrderSet = 6 + *< END OBJECT: ClassLib="cmd_butoane.vcx" BaseClass="commandbutton" /> + + ADD OBJECT 'But_listare1' AS but_listare WITH ; + Anchor = 8, ; + Left = 582, ; + Name = "But_listare1", ; + TabIndex = 28, ; + Top = 1 + *< END OBJECT: ClassLib="cmd_butoane.vcx" BaseClass="commandbutton" /> + + ADD OBJECT 'But_nou1' AS but_nou WITH ; + Anchor = 8, ; + Left = 612, ; + Name = "But_nou1", ; + TabIndex = 29, ; + Top = 1 + *< END OBJECT: ClassLib="cmd_butoane.vcx" BaseClass="commandbutton" /> + + ADD OBJECT 'BUT_RENUNT1' AS but_renunt WITH ; + Anchor = 8, ; + Left = 731, ; + Name = "BUT_RENUNT1", ; + TabIndex = 38, ; + Top = 1 + *< END OBJECT: ClassLib="cmd_butoane.vcx" BaseClass="commandbutton" /> + + ADD OBJECT 'But_reset_criterii1' AS but_reset_criterii WITH ; + Anchor = 9, ; + Left = 523, ; + Name = "But_reset_criterii1", ; + Top = 1 + *< END OBJECT: ClassLib="ocriterii.vcx" BaseClass="commandbutton" /> + + ADD OBJECT 'But_start_criterii1' AS but_start_criterii WITH ; + Anchor = 9, ; + Left = 553, ; + Name = "But_start_criterii1", ; + Top = 1 + *< END OBJECT: ClassLib="ocriterii.vcx" BaseClass="commandbutton" /> + + ADD OBJECT 'But_sterge1' AS but_sterge WITH ; + Anchor = 8, ; + Left = 670, ; + Name = "But_sterge1", ; + TabIndex = 39, ; + Top = 1, ; + Visible = .F. + *< END OBJECT: ClassLib="cmd_butoane.vcx" BaseClass="commandbutton" /> + + ADD OBJECT 'Clb_tx_simplu1' AS clb_tx_simplu WITH ; + Anchor = 10, ; + BorderWidth = 0, ; + Height = 36, ; + Left = 227, ; + Name = "Clb_tx_simplu1", ; + TabIndex = 35, ; + Top = 56, ; + Width = 216, ; + TEXT_SIMPLU1.Alignment = 1, ; + TEXT_SIMPLU1.ControlSource = "thisform.nStoc_scriptic", ; + TEXT_SIMPLU1.FontName = "Arial Narrow", ; + TEXT_SIMPLU1.FontSize = 10, ; + TEXT_SIMPLU1.Height = 23, ; + TEXT_SIMPLU1.InputMask = (get_mask(16,gnPa)), ; + TEXT_SIMPLU1.Left = 125, ; + TEXT_SIMPLU1.Name = "TEXT_SIMPLU1", ; + TEXT_SIMPLU1.Top = 6, ; + TEXT_SIMPLU1.Width = 90, ; + LB_SIMPLU1.Caption = "Valoare ach. stoc scriptic:", ; + LB_SIMPLU1.FontName = "Arial Narrow", ; + LB_SIMPLU1.FontSize = 10, ; + LB_SIMPLU1.Left = 1, ; + LB_SIMPLU1.Name = "LB_SIMPLU1", ; + LB_SIMPLU1.Top = 6 + *< END OBJECT: ClassLib="lb_tx.vcx" BaseClass="container" /> + + ADD OBJECT 'Clb_tx_simplu2' AS clb_tx_simplu WITH ; + Anchor = 10, ; + BorderWidth = 0, ; + Height = 29, ; + Left = 12, ; + Name = "Clb_tx_simplu2", ; + TabIndex = 33, ; + Top = 60, ; + Width = 216, ; + TEXT_SIMPLU1.Alignment = 1, ; + TEXT_SIMPLU1.ControlSource = "thisform.nStoc_faptic", ; + TEXT_SIMPLU1.FontName = "Arial Narrow", ; + TEXT_SIMPLU1.FontSize = 10, ; + TEXT_SIMPLU1.Height = 23, ; + TEXT_SIMPLU1.InputMask = (get_mask(16,gnPa)), ; + TEXT_SIMPLU1.Left = 121, ; + TEXT_SIMPLU1.Name = "TEXT_SIMPLU1", ; + TEXT_SIMPLU1.Top = 0, ; + TEXT_SIMPLU1.Width = 90, ; + LB_SIMPLU1.Caption = "Valoare ach. stoc faptic:", ; + LB_SIMPLU1.FontName = "Arial Narrow", ; + LB_SIMPLU1.FontSize = 10, ; + LB_SIMPLU1.Left = 2, ; + LB_SIMPLU1.Name = "LB_SIMPLU1", ; + LB_SIMPLU1.Top = 2 + *< END OBJECT: ClassLib="lb_tx.vcx" BaseClass="container" /> + + ADD OBJECT 'Clb_tx_simplu2.Line2' AS line WITH ; + Height = 0, ; + Left = 298, ; + Name = "Line2", ; + Top = 13, ; + Width = 8 + *< END OBJECT: BaseClass="line" /> + + ADD OBJECT 'Clb_tx_simplu3' AS clb_tx_simplu WITH ; + Anchor = 10, ; + BorderWidth = 0, ; + Height = 29, ; + Left = 491, ; + Name = "Clb_tx_simplu3", ; + TabIndex = 37, ; + Top = 60, ; + Width = 145, ; + TEXT_SIMPLU1.Alignment = 1, ; + TEXT_SIMPLU1.ControlSource = "thisform.nDiferenta", ; + TEXT_SIMPLU1.FontName = "Arial Narrow", ; + TEXT_SIMPLU1.FontSize = 10, ; + TEXT_SIMPLU1.Height = 23, ; + TEXT_SIMPLU1.InputMask = (get_mask(16,gnPa)), ; + TEXT_SIMPLU1.Left = 5, ; + TEXT_SIMPLU1.Name = "TEXT_SIMPLU1", ; + TEXT_SIMPLU1.Top = 2, ; + TEXT_SIMPLU1.Width = 92, ; + LB_SIMPLU1.Caption = "", ; + LB_SIMPLU1.Name = "LB_SIMPLU1" + *< END OBJECT: ClassLib="lb_tx.vcx" BaseClass="container" /> + + ADD OBJECT 'Clb_tx_simplu4' AS clb_tx_simplu WITH ; + Anchor = 10, ; + BorderWidth = 0, ; + Height = 24, ; + Left = 225, ; + Name = "Clb_tx_simplu4", ; + TabIndex = 34, ; + Top = 32, ; + Width = 218, ; + Text_simplu1.Alignment = 1, ; + Text_simplu1.ControlSource = "thisform.ncStoc_scriptic", ; + Text_simplu1.FontName = "Arial Narrow", ; + Text_simplu1.FontSize = 10, ; + Text_simplu1.Height = 23, ; + Text_simplu1.InputMask = (get_mask(16,gnPcant)), ; + Text_simplu1.Left = 126, ; + Text_simplu1.Name = "Text_simplu1", ; + Text_simplu1.Top = 1, ; + Text_simplu1.Width = 90, ; + Lb_simplu1.Caption = "Stoc scriptic:", ; + Lb_simplu1.FontName = "Arial Narrow", ; + Lb_simplu1.FontSize = 10, ; + Lb_simplu1.Left = 3, ; + Lb_simplu1.Name = "Lb_simplu1", ; + Lb_simplu1.Top = 6 + *< END OBJECT: ClassLib="lb_tx.vcx" BaseClass="container" /> + + ADD OBJECT 'Clb_tx_simplu5' AS clb_tx_simplu WITH ; + Anchor = 10, ; + BorderWidth = 0, ; + Height = 24, ; + Left = 10, ; + Name = "Clb_tx_simplu5", ; + TabIndex = 32, ; + Top = 35, ; + Width = 218, ; + Text_simplu1.Alignment = 1, ; + Text_simplu1.ControlSource = "thisform.ncStoc_faptic", ; + Text_simplu1.FontName = "Arial Narrow", ; + Text_simplu1.FontSize = 10, ; + Text_simplu1.Height = 23, ; + Text_simplu1.InputMask = (get_mask(16,gnPcant)), ; + Text_simplu1.Left = 123, ; + Text_simplu1.Name = "Text_simplu1", ; + Text_simplu1.Top = 1, ; + Text_simplu1.Width = 90, ; + Lb_simplu1.Caption = "Stoc faptic:", ; + Lb_simplu1.FontName = "Arial Narrow", ; + Lb_simplu1.FontSize = 10, ; + Lb_simplu1.Left = 3, ; + Lb_simplu1.Name = "Lb_simplu1", ; + Lb_simplu1.Top = 4 + *< END OBJECT: ClassLib="lb_tx.vcx" BaseClass="container" /> + + ADD OBJECT 'Clb_tx_simplu5.Line2' AS line WITH ; + Height = 0, ; + Left = 298, ; + Name = "Line2", ; + Top = 13, ; + Width = 8 + *< END OBJECT: BaseClass="line" /> + + ADD OBJECT 'Clb_tx_simplu6' AS clb_tx_simplu WITH ; + Anchor = 10, ; + BorderWidth = 0, ; + Height = 29, ; + Left = 490, ; + Name = "Clb_tx_simplu6", ; + TabIndex = 36, ; + Top = 30, ; + Width = 134, ; + Text_simplu1.Alignment = 1, ; + Text_simplu1.ControlSource = "thisform.ncDiferenta", ; + Text_simplu1.FontName = "Arial Narrow", ; + Text_simplu1.FontSize = 10, ; + Text_simplu1.Height = 23, ; + Text_simplu1.InputMask = (get_mask(16,gnPcant)), ; + Text_simplu1.Left = 5, ; + Text_simplu1.Name = "Text_simplu1", ; + Text_simplu1.Top = 2, ; + Text_simplu1.Width = 93, ; + Lb_simplu1.Caption = "", ; + Lb_simplu1.Name = "Lb_simplu1" + *< END OBJECT: ClassLib="lb_tx.vcx" BaseClass="container" /> + + ADD OBJECT 'Clb_tx_simplu7' AS clb_tx_simplu WITH ; + Anchor = 10, ; + BorderWidth = 0, ; + Height = 36, ; + Left = 227, ; + Name = "Clb_tx_simplu7", ; + TabIndex = 35, ; + Top = 81, ; + Width = 216, ; + Text_simplu1.Alignment = 1, ; + Text_simplu1.ControlSource = "thisform.nStoc_scripticv", ; + Text_simplu1.FontName = "Arial Narrow", ; + Text_simplu1.FontSize = 10, ; + Text_simplu1.Height = 23, ; + Text_simplu1.InputMask = (get_mask(16,gnPa)), ; + Text_simplu1.Left = 125, ; + Text_simplu1.Name = "Text_simplu1", ; + Text_simplu1.Top = 6, ; + Text_simplu1.Width = 90, ; + Lb_simplu1.Caption = "Valoare vanz. stoc scriptic:", ; + Lb_simplu1.FontName = "Arial Narrow", ; + Lb_simplu1.FontSize = 10, ; + Lb_simplu1.Left = 1, ; + Lb_simplu1.Name = "Lb_simplu1", ; + Lb_simplu1.Top = 6 + *< END OBJECT: ClassLib="lb_tx.vcx" BaseClass="container" /> + + ADD OBJECT 'Clb_tx_simplu8' AS clb_tx_simplu WITH ; + Anchor = 10, ; + BorderWidth = 0, ; + Height = 29, ; + Left = 12, ; + Name = "Clb_tx_simplu8", ; + TabIndex = 33, ; + Top = 85, ; + Width = 216, ; + Text_simplu1.Alignment = 1, ; + Text_simplu1.ControlSource = "thisform.nStoc_fapticv", ; + Text_simplu1.FontName = "Arial Narrow", ; + Text_simplu1.FontSize = 10, ; + Text_simplu1.Height = 23, ; + Text_simplu1.InputMask = (get_mask(16,gnPa)), ; + Text_simplu1.Left = 121, ; + Text_simplu1.Name = "Text_simplu1", ; + Text_simplu1.Top = 0, ; + Text_simplu1.Width = 90, ; + Lb_simplu1.Caption = "Valoare vanz. stoc faptic:", ; + Lb_simplu1.FontName = "Arial Narrow", ; + Lb_simplu1.FontSize = 10, ; + Lb_simplu1.Left = 2, ; + Lb_simplu1.Name = "Lb_simplu1", ; + Lb_simplu1.Top = 2 + *< END OBJECT: ClassLib="lb_tx.vcx" BaseClass="container" /> + + ADD OBJECT 'Clb_tx_simplu8.Line2' AS line WITH ; + Height = 0, ; + Left = 298, ; + Name = "Line2", ; + Top = 13, ; + Width = 8 + *< END OBJECT: BaseClass="line" /> + + ADD OBJECT 'Clb_tx_simplu9' AS clb_tx_simplu WITH ; + Anchor = 10, ; + BorderWidth = 0, ; + Height = 29, ; + Left = 491, ; + Name = "Clb_tx_simplu9", ; + TabIndex = 37, ; + Top = 85, ; + Width = 145, ; + Text_simplu1.Alignment = 1, ; + Text_simplu1.ControlSource = "thisform.nDiferentav", ; + Text_simplu1.FontName = "Arial Narrow", ; + Text_simplu1.FontSize = 10, ; + Text_simplu1.Height = 23, ; + Text_simplu1.InputMask = (get_mask(16,gnPa)), ; + Text_simplu1.Left = 5, ; + Text_simplu1.Name = "Text_simplu1", ; + Text_simplu1.Top = 2, ; + Text_simplu1.Width = 92, ; + Lb_simplu1.Caption = "", ; + Lb_simplu1.Name = "Lb_simplu1" + *< END OBJECT: ClassLib="lb_tx.vcx" BaseClass="container" /> + + ADD OBJECT 'Grid1' AS grid WITH ; + Anchor = 15, ; + ColumnCount = 56, ; + DeleteMark = .F., ; + FontSize = 10, ; + GridLineColor = 128,128,128, ; + HeaderHeight = 19, ; + Height = 368, ; + HighlightBackColor = 83,130,206, ; + HighlightStyle = 2, ; + Left = 5, ; + Name = "Grid1", ; + Panel = 1, ; + ReadOnly = .T., ; + RecordSource = "crs_inventar", ; + RowHeight = 19, ; + SelectedItemBackColor = 29,60,112, ; + TabIndex = 27, ; + Top = 111, ; + Width = 783, ; + Column1.ControlSource = "recno()", ; + Column1.FontName = "Arial", ; + Column1.FontSize = 10, ; + Column1.Name = "cNrcrt", ; + Column1.ReadOnly = .T., ; + Column1.Width = 24, ; + Column2.ColumnOrder = 3, ; + Column2.ControlSource = "codmat", ; + Column2.FontName = "Arial", ; + Column2.FontSize = 10, ; + Column2.Name = "cCodmat", ; + Column2.ReadOnly = .T., ; + Column2.Width = 68, ; + Column3.ColumnOrder = 4, ; + Column3.ControlSource = "denumire", ; + Column3.FontName = "Arial", ; + Column3.FontSize = 10, ; + Column3.Name = "cDenumire", ; + Column3.ReadOnly = .T., ; + Column3.Width = 123, ; + Column4.ColumnOrder = 7, ; + Column4.ControlSource = "um", ; + Column4.FontName = "Arial", ; + Column4.FontSize = 10, ; + Column4.Name = "cUM", ; + Column4.ReadOnly = .T., ; + Column4.Width = 28, ; + Column5.ColumnOrder = 8, ; + Column5.ControlSource = "cgest", ; + Column5.FontName = "Arial", ; + Column5.FontSize = 10, ; + Column5.Name = "cCgest", ; + Column5.ReadOnly = .T., ; + Column5.Width = 41, ; + Column6.ColumnOrder = 9, ; + Column6.ControlSource = "cont", ; + Column6.FontName = "Arial", ; + Column6.FontSize = 10, ; + Column6.Name = "ccont", ; + Column6.ReadOnly = .T., ; + Column6.Width = 38, ; + Column7.ColumnOrder = 10, ; + Column7.ControlSource = "acont", ; + Column7.FontName = "Arial", ; + Column7.FontSize = 10, ; + Column7.Name = "cAcont", ; + Column7.ReadOnly = .T., ; + Column7.Width = 37, ; + Column8.ColumnOrder = 11, ; + Column8.ControlSource = "pret", ; + Column8.FontName = "Arial", ; + Column8.FontSize = 10, ; + Column8.InputMask = (get_mask(9,gnPpret)), ; + Column8.Name = "cPret_unitar", ; + Column8.ReadOnly = .T., ; + Column8.Width = 70, ; + Column9.ColumnOrder = 15, ; + Column9.ControlSource = "stoc_scriptic", ; + Column9.FontName = "Arial", ; + Column9.FontSize = 10, ; + Column9.InputMask = (get_mask(9,gnPcant)), ; + Column9.Name = "cStoc_scriptic", ; + Column9.ReadOnly = .T., ; + Column9.Width = 66, ; + Column10.BackColor = 234,249,255, ; + Column10.ColumnOrder = 16, ; + Column10.ControlSource = "stoc_faptic", ; + Column10.FontName = "Arial", ; + Column10.FontSize = 10, ; + Column10.ForeColor = 0,64,128, ; + Column10.InputMask = (get_mask(9,gnPcant)), ; + Column10.Name = "cstoc_faptic", ; + Column10.ReadOnly = .F., ; + Column10.Width = 83, ; + Column11.ColumnOrder = 17, ; + Column11.ControlSource = "stoc_faptic-stoc_scriptic", ; + Column11.FontName = "Arial", ; + Column11.FontSize = 10, ; + Column11.InputMask = (get_mask(9,gnPcant)), ; + Column11.Name = "cDiferenta", ; + Column11.ReadOnly = .T., ; + Column11.Width = 48, ; + Column12.ColumnOrder = 18, ; + Column12.ControlSource = "round(pret_unitar*(stoc_faptic-stoc_scriptic),gnPC)", ; + Column12.FontName = "Arial", ; + Column12.FontSize = 10, ; + Column12.InputMask = (get_mask(16,gnPC)), ; + Column12.Name = "cValdif", ; + Column12.ReadOnly = .T., ; + Column13.BackColor = 234,249,255, ; + Column13.ColumnOrder = 19, ; + Column13.ControlSource = "depreciere", ; + Column13.FontName = "Arial", ; + Column13.FontSize = 10, ; + Column13.InputMask = (get_mask(9,gnPcant)), ; + Column13.Name = "cDepreciere", ; + Column13.ReadOnly = .F., ; + Column14.BackColor = 234,249,255, ; + Column14.ColumnOrder = 20, ; + Column14.ControlSource = "motiv_depreciere", ; + Column14.FontName = "Arial", ; + Column14.FontSize = 10, ; + Column14.Name = "cMotiv_depreciere", ; + Column14.ReadOnly = .F., ; + Column14.Width = 97, ; + Column15.ColumnOrder = 22, ; + Column15.ControlSource = "cants", ; + Column15.FontName = "Arial", ; + Column15.FontSize = 10, ; + Column15.InputMask = (get_mask(9,gnPcant)), ; + Column15.Name = "cCants", ; + Column15.ReadOnly = .T., ; + Column15.Width = 49, ; + Column16.ColumnOrder = 24, ; + Column16.ControlSource = "cant", ; + Column16.FontName = "Arial", ; + Column16.FontSize = 10, ; + Column16.InputMask = (get_mask(9,gnPcant)), ; + Column16.Name = "ccant", ; + Column16.ReadOnly = .T., ; + Column16.Width = 39, ; + Column17.ColumnOrder = 25, ; + Column17.ControlSource = "cante", ; + Column17.FontName = "Arial", ; + Column17.FontSize = 10, ; + Column17.InputMask = (get_mask(9,gnPcant)), ; + Column17.Name = "ccante", ; + Column17.ReadOnly = .T., ; + Column17.Width = 36, ; + Column18.ColumnOrder = 27, ; + Column18.ControlSource = "utilizator", ; + Column18.FontName = "Arial", ; + Column18.FontSize = 10, ; + Column18.Name = "cUtilizator", ; + Column18.ReadOnly = .T., ; + Column18.Width = 99, ; + Column19.ColumnOrder = 28, ; + Column19.ControlSource = "responsabil", ; + Column19.FontName = "Arial", ; + Column19.FontSize = 10, ; + Column19.Name = "cresponsabil", ; + Column19.ReadOnly = .T., ; + Column19.Width = 148, ; + Column20.ColumnOrder = 23, ; + Column20.ControlSource = "TTOD(datapif)", ; + Column20.FontName = "Arial", ; + Column20.FontSize = 10, ; + Column20.Name = "cdatapif", ; + Column20.ReadOnly = .T., ; + Column20.Width = 49, ; + Column21.ColumnOrder = 33, ; + Column21.ControlSource = "dnf", ; + Column21.FontName = "Arial", ; + Column21.FontSize = 10, ; + Column21.Name = "cdnf", ; + Column21.ReadOnly = .T., ; + Column21.Width = 70, ; + Column22.ColumnOrder = 29, ; + Column22.ControlSource = "meserie", ; + Column22.FontName = "Arial", ; + Column22.FontSize = 10, ; + Column22.Name = "cMeserie", ; + Column22.ReadOnly = .T., ; + Column22.Width = 74, ; + Column23.ColumnOrder = 30, ; + Column23.ControlSource = "formatia", ; + Column23.FontName = "Arial", ; + Column23.FontSize = 10, ; + Column23.Name = "cFormatia", ; + Column23.ReadOnly = .T., ; + Column23.Width = 68, ; + Column24.ColumnOrder = 31, ; + Column24.ControlSource = "ttod(dataang)", ; + Column24.FontName = "Arial", ; + Column24.FontSize = 10, ; + Column24.Name = "cDataang", ; + Column24.ReadOnly = .T., ; + Column24.Width = 50, ; + Column25.ColumnOrder = 32, ; + Column25.ControlSource = "ttod(datalic)", ; + Column25.FontName = "Arial", ; + Column25.FontSize = 10, ; + Column25.Name = "cDatalic", ; + Column25.ReadOnly = .T., ; + Column25.Width = 44, ; + Column26.ColumnOrder = 34, ; + Column26.ControlSource = "iif(dnf<>0, round((dnf-dns_luni)/dnf*100,0),0)", ; + Column26.FontName = "Arial", ; + Column26.FontSize = 10, ; + Column26.InputMask = "999999", ; + Column26.Name = "cdns_luni", ; + Column26.ReadOnly = .T., ; + Column26.Width = 57, ; + Column27.BackColor = 234,249,255, ; + Column27.ColumnOrder = 35, ; + Column27.ControlSource = "uzura_faptic", ; + Column27.FontName = "Arial", ; + Column27.FontSize = 10, ; + Column27.InputMask = "999999", ; + Column27.Name = "cUzura_faptic", ; + Column27.ReadOnly = .F., ; + Column27.Width = 53, ; + Column28.ColumnOrder = 36, ; + Column28.ControlSource = "iif(dnf<>0, ROUND((dnf-dns_luni)/dnf*100, 0),0) - uzura_faptic", ; + Column28.FontName = "Arial", ; + Column28.FontSize = 10, ; + Column28.InputMask = "999999", ; + Column28.Name = "cDif_dns_luni", ; + Column28.ReadOnly = .T., ; + Column28.Width = 43, ; + Column29.BackColor = 234,249,255, ; + Column29.ColumnOrder = 37, ; + Column29.ControlSource = "data_expirare", ; + Column29.FontName = "Arial", ; + Column29.FontSize = 10, ; + Column29.Name = "cData_expirare", ; + Column29.ReadOnly = .F., ; + Column29.Width = 53, ; + Column30.ColumnOrder = 38, ; + Column30.ControlSource = "cant_zahar", ; + Column30.FontName = "Arial", ; + Column30.FontSize = 10, ; + Column30.InputMask = (get_mask(16,gnPCant)), ; + Column30.Name = "cCant_zahar", ; + Column30.ReadOnly = .T., ; + Column30.Width = 58, ; + Column31.ColumnOrder = 39, ; + Column31.ControlSource = "grade_alcool", ; + Column31.FontName = "Arial", ; + Column31.FontSize = 10, ; + Column31.InputMask = (get_mask(14,gnPCant)), ; + Column31.Name = "cGrade_alcool", ; + Column31.ReadOnly = .T., ; + Column32.ColumnOrder = 40, ; + Column32.ControlSource = "potential", ; + Column32.FontName = "Arial", ; + Column32.FontSize = 10, ; + Column32.InputMask = (get_mask(14,gnPCant)), ; + Column32.Name = "cPotential", ; + Column32.ReadOnly = .T., ; + Column32.Width = 67, ; + Column33.ColumnOrder = 41, ; + Column33.ControlSource = "an_prod", ; + Column33.FontName = "Arial", ; + Column33.FontSize = 10, ; + Column33.InputMask = "9999", ; + Column33.Name = "cAn_prod", ; + Column33.ReadOnly = .T., ; + Column33.Width = 56, ; + Column34.ColumnOrder = 42, ; + Column34.ControlSource = "stadiu", ; + Column34.FontName = "Arial", ; + Column34.FontSize = 10, ; + Column34.Name = "cStadiu", ; + Column34.ReadOnly = .T., ; + Column35.ColumnOrder = 43, ; + Column35.ControlSource = "explicatie", ; + Column35.FontName = "Arial", ; + Column35.FontSize = 10, ; + Column35.Name = "cExplicatie", ; + Column35.ReadOnly = .T., ; + Column36.ColumnOrder = 44, ; + Column36.ControlSource = "acronim", ; + Column36.FontName = "Arial", ; + Column36.FontSize = 10, ; + Column36.Name = "cAcronim", ; + Column36.ReadOnly = .T., ; + Column36.Width = 39, ; + Column37.ColumnOrder = 5, ; + Column37.ControlSource = "serie", ; + Column37.FontName = "Arial", ; + Column37.FontSize = 10, ; + Column37.Name = "cSerie", ; + Column37.ReadOnly = .T., ; + Column38.ColumnOrder = 47, ; + Column38.ControlSource = "Grupa", ; + Column38.FontName = "Arial", ; + Column38.FontSize = 10, ; + Column38.Name = "Column1", ; + Column38.ReadOnly = .T., ; + Column39.ColumnOrder = 48, ; + Column39.ControlSource = "Subgrupa", ; + Column39.FontName = "Arial", ; + Column39.FontSize = 10, ; + Column39.Name = "Column2", ; + Column39.ReadOnly = .T., ; + Column40.ColumnOrder = 13, ; + Column40.ControlSource = "pretd", ; + Column40.FontName = "Arial", ; + Column40.FontSize = 10, ; + Column40.Format = "R", ; + Column40.InputMask = (get_mask(16,gnPPretVal)), ; + Column40.Name = "Column3", ; + Column40.ReadOnly = .T., ; + Column40.Width = 54, ; + Column41.ColumnOrder = 14, ; + Column41.ControlSource = "Valuta", ; + Column41.FontName = "Arial", ; + Column41.FontSize = 10, ; + Column41.Name = "Column4", ; + Column41.ReadOnly = .T., ; + Column41.Width = 46, ; + Column42.ColumnOrder = 12, ; + Column42.ControlSource = "pretv+tvav", ; + Column42.FontName = "Arial", ; + Column42.FontSize = 10, ; + Column42.InputMask = (get_mask(12,gnPPretV)), ; + Column42.Name = "Column5", ; + Column42.ReadOnly = .T., ; + Column43.ColumnOrder = 2, ; + Column43.ControlSource = "codbare", ; + Column43.FontName = "Arial", ; + Column43.FontSize = 10, ; + Column43.Name = "cCodbare", ; + Column43.ReadOnly = .T., ; + Column43.Width = 60, ; + Column44.ColumnOrder = 45, ; + Column44.ControlSource = "part_rez", ; + Column44.FontName = "Arial", ; + Column44.FontSize = 10, ; + Column44.Name = "cPart_rez", ; + Column44.ReadOnly = .T., ; + Column45.ColumnOrder = 46, ; + Column45.ControlSource = "nrord_rez", ; + Column45.FontName = "Arial", ; + Column45.FontSize = 10, ; + Column45.Name = "cNrord_rez", ; + Column45.ReadOnly = .T., ; + Column46.ColumnOrder = 26, ; + Column46.ControlSource = "datain", ; + Column46.FontName = "Arial", ; + Column46.FontSize = 10, ; + Column46.Name = "cDataIn", ; + Column46.ReadOnly = .T., ; + Column47.ColumnOrder = 49, ; + Column47.ControlSource = "pretv", ; + Column47.FontName = "Arial", ; + Column47.FontSize = 10, ; + Column47.Format = "RK", ; + Column47.InputMask = (get_mask(12,gnPPretV)), ; + Column47.Name = "cPretv", ; + Column47.ReadOnly = .T., ; + Column47.Width = 64, ; + Column48.ColumnOrder = 50, ; + Column48.ControlSource = "tvav", ; + Column48.FontName = "Arial", ; + Column48.FontSize = 10, ; + Column48.Format = "RK", ; + Column48.InputMask = (get_mask(12,gnPPretV)), ; + Column48.Name = "cTVAv", ; + Column48.ReadOnly = .T., ; + Column48.Width = 72, ; + Column49.ColumnOrder = 51, ; + Column49.ControlSource = "proc_tvav", ; + Column49.FontName = "Arial", ; + Column49.FontSize = 10, ; + Column49.Format = "R", ; + Column49.InputMask = "99.99", ; + Column49.Name = "cProcTVAv", ; + Column49.ReadOnly = .T., ; + Column49.Width = 49, ; + Column50.BackColor = 234,249,255, ; + Column50.ColumnOrder = 21, ; + Column50.ControlSource = "furnizor", ; + Column50.FontName = "Arial", ; + Column50.FontSize = 10, ; + Column50.Name = "cFurnizor", ; + Column50.ReadOnly = .T., ; + Column50.ToolTipText = "Dublu click pentru modificare", ; + Column50.Width = 139, ; + Column51.ColumnOrder = 52, ; + Column51.ControlSource = "id_articol", ; + Column51.FontName = "Arial", ; + Column51.FontSize = 10, ; + Column51.Name = "cIdArticol", ; + Column51.ReadOnly = .T., ; + Column52.ColumnOrder = 53, ; + Column52.ControlSource = "validat", ; + Column52.CurrentControl = "Check1", ; + Column52.FontName = "Arial", ; + Column52.FontSize = 10, ; + Column52.Name = "cValidat", ; + Column52.ReadOnly = .T., ; + Column52.Sparse = .F., ; + Column52.Width = 32, ; + Column53.ColumnOrder = 54, ; + Column53.ControlSource = "dataora_validat", ; + Column53.FontName = "Arial", ; + Column53.FontSize = 10, ; + Column53.Name = "cDataOraValidat", ; + Column53.ReadOnly = .T., ; + Column53.Width = 112, ; + Column54.ColumnOrder = 55, ; + Column54.ControlSource = "dataora", ; + Column54.FontName = "Arial", ; + Column54.FontSize = 10, ; + Column54.Name = "cDataOraAdaugat", ; + Column54.ReadOnly = .T., ; + Column54.Width = 99, ; + Column55.ColumnOrder = 6, ; + Column55.ControlSource = "lot", ; + Column55.FontName = "Arial", ; + Column55.FontSize = 10, ; + Column55.Name = "cLot", ; + Column55.ReadOnly = .T., ; + Column56.ControlSource = "id_responsabil", ; + Column56.FontSize = 10, ; + Column56.Name = "cIdResponsabil", ; + Column56.ReadOnly = .T., ; + Column56.Width = 88 + *< END OBJECT: BaseClass="grid" /> + + ADD OBJECT 'Grid1.cAcont.Header1' AS header WITH ; + Alignment = 2, ; + Caption = "Analitic", ; + FontName = "Arial", ; + FontSize = 10, ; + Name = "Header1" + *< END OBJECT: BaseClass="header" /> + + ADD OBJECT 'Grid1.cAcont.Text1' AS textbox WITH ; + BackColor = 255,255,255, ; + BorderStyle = 0, ; + FontName = "Arial", ; + FontSize = 10, ; + ForeColor = 0,0,0, ; + Margin = 0, ; + Name = "Text1", ; + ReadOnly = .T., ; + SelectedBackColor = 29,60,112 + *< END OBJECT: BaseClass="textbox" /> + + ADD OBJECT 'Grid1.cAcronim.Header1' AS header WITH ; + Alignment = 2, ; + Caption = "Acronim", ; + FontName = "Arial", ; + FontSize = 10, ; + Name = "Header1" + *< END OBJECT: BaseClass="header" /> + + ADD OBJECT 'Grid1.cAcronim.Text1' AS textbox WITH ; + BackColor = 255,255,255, ; + BorderStyle = 0, ; + FontName = "Arial", ; + FontSize = 10, ; + ForeColor = 0,0,0, ; + Margin = 0, ; + Name = "Text1", ; + SelectedBackColor = 29,60,112 + *< END OBJECT: BaseClass="textbox" /> + + ADD OBJECT 'Grid1.cAn_prod.Header1' AS header WITH ; + Alignment = 2, ; + Caption = "An productie", ; + FontName = "Arial", ; + FontSize = 10, ; + Name = "Header1" + *< END OBJECT: BaseClass="header" /> + + ADD OBJECT 'Grid1.cAn_prod.Text1' AS textbox WITH ; + BackColor = 255,255,255, ; + BorderStyle = 0, ; + FontName = "Arial", ; + FontSize = 10, ; + ForeColor = 0,0,0, ; + Margin = 0, ; + Name = "Text1", ; + SelectedBackColor = 29,60,112 + *< END OBJECT: BaseClass="textbox" /> + + ADD OBJECT 'Grid1.ccant.Header1' AS header WITH ; + Alignment = 2, ; + Caption = "Intrari", ; + FontName = "Arial", ; + FontSize = 10, ; + Name = "Header1" + *< END OBJECT: BaseClass="header" /> + + ADD OBJECT 'Grid1.ccant.Text1' AS textbox WITH ; + BackColor = 255,255,255, ; + BorderStyle = 0, ; + FontName = "Arial", ; + FontSize = 10, ; + ForeColor = 0,0,0, ; + Margin = 0, ; + Name = "Text1", ; + ReadOnly = .T., ; + SelectedBackColor = 29,60,112 + *< END OBJECT: BaseClass="textbox" /> + + ADD OBJECT 'Grid1.cCant_zahar.Header1' AS header WITH ; + Alignment = 2, ; + Caption = "Cant.zahar", ; + FontName = "Arial", ; + FontSize = 10, ; + Name = "Header1" + *< END OBJECT: BaseClass="header" /> + + ADD OBJECT 'Grid1.cCant_zahar.Text1' AS textbox WITH ; + BackColor = 255,255,255, ; + BorderStyle = 0, ; + FontName = "Arial", ; + FontSize = 10, ; + ForeColor = 0,0,0, ; + Margin = 0, ; + Name = "Text1", ; + SelectedBackColor = 29,60,112 + *< END OBJECT: BaseClass="textbox" /> + + ADD OBJECT 'Grid1.ccante.Header1' AS header WITH ; + Alignment = 2, ; + Caption = "Iesiri", ; + FontName = "Arial", ; + FontSize = 10, ; + Name = "Header1" + *< END OBJECT: BaseClass="header" /> + + ADD OBJECT 'Grid1.ccante.Text1' AS textbox WITH ; + BackColor = 255,255,255, ; + BorderStyle = 0, ; + FontName = "Arial", ; + FontSize = 10, ; + ForeColor = 0,0,0, ; + Margin = 0, ; + Name = "Text1", ; + ReadOnly = .T., ; + SelectedBackColor = 29,60,112 + *< END OBJECT: BaseClass="textbox" /> + + ADD OBJECT 'Grid1.cCants.Header1' AS header WITH ; + Alignment = 2, ; + Caption = "Stoc Precedent", ; + FontName = "Arial", ; + FontSize = 10, ; + Name = "Header1", ; + WordWrap = .T. + *< END OBJECT: BaseClass="header" /> + + ADD OBJECT 'Grid1.cCants.Text1' AS textbox WITH ; + BackColor = 255,255,255, ; + BorderStyle = 0, ; + FontName = "Arial", ; + FontSize = 10, ; + ForeColor = 0,0,0, ; + Margin = 0, ; + Name = "Text1", ; + ReadOnly = .T., ; + SelectedBackColor = 29,60,112 + *< END OBJECT: BaseClass="textbox" /> + + ADD OBJECT 'Grid1.cCgest.Header1' AS header WITH ; + Alignment = 2, ; + Caption = "Gestiune", ; + FontName = "Arial", ; + FontSize = 10, ; + Name = "Header1" + *< END OBJECT: BaseClass="header" /> + + ADD OBJECT 'Grid1.cCgest.Text1' AS textbox WITH ; + BackColor = 255,255,255, ; + BorderStyle = 0, ; + FontName = "Arial", ; + FontSize = 10, ; + ForeColor = 0,0,0, ; + Margin = 0, ; + Name = "Text1", ; + ReadOnly = .T., ; + SelectedBackColor = 29,60,112 + *< END OBJECT: BaseClass="textbox" /> + + ADD OBJECT 'Grid1.cCodbare.Header1' AS header WITH ; + Alignment = 2, ; + Caption = "Cod bare", ; + FontName = "Arial", ; + FontSize = 10, ; + Name = "Header1" + *< END OBJECT: BaseClass="header" /> + + ADD OBJECT 'Grid1.cCodbare.Text1' AS textbox WITH ; + BackColor = 255,255,255, ; + BorderStyle = 0, ; + FontName = "Arial", ; + FontSize = 10, ; + ForeColor = 0,0,0, ; + Margin = 0, ; + Name = "Text1", ; + SelectedBackColor = 29,60,112 + *< END OBJECT: BaseClass="textbox" /> + + ADD OBJECT 'Grid1.cCodmat.Header1' AS header WITH ; + Alignment = 2, ; + Caption = "Cod Mat.", ; + FontName = "Arial", ; + FontSize = 10, ; + Name = "Header1" + *< END OBJECT: BaseClass="header" /> + + ADD OBJECT 'Grid1.cCodmat.Text1' AS textbox WITH ; + BackColor = 255,255,255, ; + BorderStyle = 0, ; + FontName = "Arial", ; + FontSize = 10, ; + ForeColor = 0,0,0, ; + Margin = 0, ; + Name = "Text1", ; + ReadOnly = .T., ; + SelectedBackColor = 29,60,112 + *< END OBJECT: BaseClass="textbox" /> + + ADD OBJECT 'Grid1.ccont.Header1' AS header WITH ; + Alignment = 2, ; + Caption = "Cont", ; + FontName = "Arial", ; + FontSize = 10, ; + Name = "Header1" + *< END OBJECT: BaseClass="header" /> + + ADD OBJECT 'Grid1.ccont.Text1' AS textbox WITH ; + BackColor = 255,255,255, ; + BorderStyle = 0, ; + FontName = "Arial", ; + FontSize = 10, ; + ForeColor = 0,0,0, ; + Margin = 0, ; + Name = "Text1", ; + ReadOnly = .T., ; + SelectedBackColor = 29,60,112 + *< END OBJECT: BaseClass="textbox" /> + + ADD OBJECT 'Grid1.cData_expirare.Header1' AS header WITH ; + Alignment = 2, ; + Caption = "Data expirare", ; + FontName = "Arial", ; + FontSize = 10, ; + Name = "Header1", ; + WordWrap = .T. + *< END OBJECT: BaseClass="header" /> + + ADD OBJECT 'Grid1.cData_expirare.Text1' AS textbox WITH ; + BackColor = 234,249,255, ; + BorderStyle = 0, ; + FontName = "Arial", ; + FontSize = 10, ; + ForeColor = 0,0,0, ; + Margin = 0, ; + Name = "Text1", ; + ReadOnly = .F., ; + SelectedBackColor = 29,60,112 + *< END OBJECT: BaseClass="textbox" /> + + ADD OBJECT 'Grid1.cDataang.Header1' AS header WITH ; + Alignment = 2, ; + Caption = "Data angajarii", ; + FontName = "Arial", ; + FontSize = 10, ; + Name = "Header1", ; + WordWrap = .T. + *< END OBJECT: BaseClass="header" /> + + ADD OBJECT 'Grid1.cDataang.Text1' AS textbox WITH ; + BackColor = 255,255,255, ; + BorderStyle = 0, ; + FontName = "Arial", ; + FontSize = 10, ; + ForeColor = 0,0,0, ; + Margin = 0, ; + Name = "Text1", ; + ReadOnly = .T., ; + SelectedBackColor = 29,60,112 + *< END OBJECT: BaseClass="textbox" /> + + ADD OBJECT 'Grid1.cDataIn.Header1' AS header WITH ; + Alignment = 2, ; + Caption = "Data intrarii", ; + FontName = "Arial", ; + FontSize = 10, ; + Name = "Header1" + *< END OBJECT: BaseClass="header" /> + + ADD OBJECT 'Grid1.cDataIn.Text1' AS textbox WITH ; + BackColor = 255,255,255, ; + BorderStyle = 0, ; + ControlSource = "datain", ; + FontName = "Arial", ; + FontSize = 10, ; + ForeColor = 0,0,0, ; + Margin = 0, ; + Name = "Text1", ; + SelectedBackColor = 29,60,112 + *< END OBJECT: BaseClass="textbox" /> + + ADD OBJECT 'Grid1.cDatalic.Header1' AS header WITH ; + Alignment = 2, ; + Caption = "Data plecarii", ; + FontName = "Arial", ; + FontSize = 10, ; + Name = "Header1", ; + WordWrap = .T. + *< END OBJECT: BaseClass="header" /> + + ADD OBJECT 'Grid1.cDatalic.Text1' AS textbox WITH ; + BackColor = 255,255,255, ; + BorderStyle = 0, ; + FontName = "Arial", ; + FontSize = 10, ; + ForeColor = 0,0,0, ; + Margin = 0, ; + Name = "Text1", ; + ReadOnly = .T., ; + SelectedBackColor = 29,60,112 + *< END OBJECT: BaseClass="textbox" /> + + ADD OBJECT 'Grid1.cDataOraAdaugat.Header1' AS header WITH ; + Alignment = 2, ; + Caption = "Dataora adaugat", ; + FontName = "Arial", ; + FontSize = 10, ; + Name = "Header1" + *< END OBJECT: BaseClass="header" /> + + ADD OBJECT 'Grid1.cDataOraAdaugat.Text1' AS textbox WITH ; + BackColor = 255,255,255, ; + BorderStyle = 0, ; + FontName = "Arial", ; + FontSize = 10, ; + ForeColor = 0,0,0, ; + Margin = 0, ; + Name = "Text1", ; + ReadOnly = .T., ; + SelectedBackColor = 29,60,112 + *< END OBJECT: BaseClass="textbox" /> + + ADD OBJECT 'Grid1.cDataOraValidat.Header1' AS header WITH ; + Alignment = 2, ; + Caption = "Dataora validat", ; + FontName = "Arial", ; + FontSize = 10, ; + Name = "Header1" + *< END OBJECT: BaseClass="header" /> + + ADD OBJECT 'Grid1.cDataOraValidat.Text1' AS textbox WITH ; + BackColor = 255,255,255, ; + BorderStyle = 0, ; + FontName = "Arial", ; + FontSize = 10, ; + ForeColor = 0,0,0, ; + Margin = 0, ; + Name = "Text1", ; + ReadOnly = .T., ; + SelectedBackColor = 29,60,112 + *< END OBJECT: BaseClass="textbox" /> + + ADD OBJECT 'Grid1.cdatapif.Header1' AS header WITH ; + Alignment = 2, ; + Caption = "Data PIF", ; + FontName = "Arial", ; + FontSize = 10, ; + Name = "Header1" + *< END OBJECT: BaseClass="header" /> + + ADD OBJECT 'Grid1.cdatapif.Text1' AS textbox WITH ; + BackColor = 255,255,255, ; + BorderStyle = 0, ; + FontName = "Arial", ; + FontSize = 10, ; + ForeColor = 0,0,0, ; + Margin = 0, ; + Name = "Text1", ; + ReadOnly = .T., ; + SelectedBackColor = 29,60,112 + *< END OBJECT: BaseClass="textbox" /> + + ADD OBJECT 'Grid1.cDenumire.Header1' AS header WITH ; + Alignment = 2, ; + Caption = "Denumire", ; + FontName = "Arial", ; + FontSize = 10, ; + Name = "Header1" + *< END OBJECT: BaseClass="header" /> + + ADD OBJECT 'Grid1.cDenumire.Text1' AS textbox WITH ; + BackColor = 255,255,255, ; + BorderStyle = 0, ; + FontName = "Arial", ; + FontSize = 10, ; + ForeColor = 0,0,0, ; + Margin = 0, ; + Name = "Text1", ; + ReadOnly = .T., ; + SelectedBackColor = 29,60,112 + *< END OBJECT: BaseClass="textbox" /> + + ADD OBJECT 'Grid1.cDepreciere.Header1' AS header WITH ; + Alignment = 2, ; + Caption = "Depreciere", ; + FontName = "Arial", ; + FontSize = 10, ; + Name = "Header1" + *< END OBJECT: BaseClass="header" /> + + ADD OBJECT 'Grid1.cDepreciere.Text1' AS textbox WITH ; + BackColor = 234,249,255, ; + BorderStyle = 0, ; + FontName = "Arial", ; + FontSize = 10, ; + ForeColor = 0,0,0, ; + Margin = 0, ; + Name = "Text1", ; + ReadOnly = .F., ; + SelectedBackColor = 29,60,112 + *< END OBJECT: BaseClass="textbox" /> + + ADD OBJECT 'Grid1.cDif_dns_luni.Header1' AS header WITH ; + Alignment = 2, ; + Caption = "Diferenta (%)", ; + FontName = "Arial", ; + FontSize = 10, ; + Name = "Header1", ; + WordWrap = .T. + *< END OBJECT: BaseClass="header" /> + + ADD OBJECT 'Grid1.cDif_dns_luni.Text1' AS textbox WITH ; + BackColor = 255,255,255, ; + BorderStyle = 0, ; + FontName = "Arial", ; + FontSize = 10, ; + ForeColor = 0,0,0, ; + Margin = 0, ; + Name = "Text1", ; + ReadOnly = .T., ; + SelectedBackColor = 29,60,112 + *< END OBJECT: BaseClass="textbox" /> + + ADD OBJECT 'Grid1.cDiferenta.Header1' AS header WITH ; + Alignment = 2, ; + Caption = "Diferenta", ; + FontName = "Arial", ; + FontSize = 10, ; + Name = "Header1" + *< END OBJECT: BaseClass="header" /> + + ADD OBJECT 'Grid1.cDiferenta.Text1' AS textbox WITH ; + BackColor = 255,255,255, ; + BorderStyle = 0, ; + FontName = "Arial", ; + FontSize = 10, ; + ForeColor = 0,0,0, ; + Margin = 0, ; + Name = "Text1", ; + ReadOnly = .T., ; + SelectedBackColor = 29,60,112 + *< END OBJECT: BaseClass="textbox" /> + + ADD OBJECT 'Grid1.cdnf.Header1' AS header WITH ; + Alignment = 2, ; + Caption = "Durata functionare (luni)", ; + FontName = "Arial", ; + FontSize = 10, ; + Name = "Header1", ; + WordWrap = .T. + *< END OBJECT: BaseClass="header" /> + + ADD OBJECT 'Grid1.cdnf.Text1' AS textbox WITH ; + BackColor = 255,255,255, ; + BorderStyle = 0, ; + FontName = "Arial", ; + FontSize = 10, ; + ForeColor = 0,0,0, ; + Margin = 0, ; + Name = "Text1", ; + ReadOnly = .T., ; + SelectedBackColor = 29,60,112 + *< END OBJECT: BaseClass="textbox" /> + + ADD OBJECT 'Grid1.cdns_luni.Header1' AS header WITH ; + Alignment = 2, ; + Caption = "Uzura scriptica (%)", ; + FontName = "Arial", ; + FontSize = 10, ; + Name = "Header1", ; + WordWrap = .T. + *< END OBJECT: BaseClass="header" /> + + ADD OBJECT 'Grid1.cdns_luni.Text1' AS textbox WITH ; + BackColor = 255,255,255, ; + BorderStyle = 0, ; + FontName = "Arial", ; + FontSize = 10, ; + ForeColor = 0,0,0, ; + Margin = 0, ; + Name = "Text1", ; + ReadOnly = .T., ; + SelectedBackColor = 29,60,112 + *< END OBJECT: BaseClass="textbox" /> + + ADD OBJECT 'Grid1.cExplicatie.Header1' AS header WITH ; + Alignment = 2, ; + Caption = "Soi", ; + FontName = "Arial", ; + FontSize = 10, ; + Name = "Header1" + *< END OBJECT: BaseClass="header" /> + + ADD OBJECT 'Grid1.cExplicatie.Text1' AS textbox WITH ; + BackColor = 255,255,255, ; + BorderStyle = 0, ; + FontName = "Arial", ; + FontSize = 10, ; + ForeColor = 0,0,0, ; + Margin = 0, ; + Name = "Text1", ; + SelectedBackColor = 29,60,112 + *< END OBJECT: BaseClass="textbox" /> + + ADD OBJECT 'Grid1.cFormatia.Header1' AS header WITH ; + Alignment = 2, ; + Caption = "Formatie", ; + FontName = "Arial", ; + FontSize = 10, ; + Name = "Header1" + *< END OBJECT: BaseClass="header" /> + + ADD OBJECT 'Grid1.cFormatia.Text1' AS textbox WITH ; + BackColor = 255,255,255, ; + BorderStyle = 0, ; + FontName = "Arial", ; + FontSize = 10, ; + ForeColor = 0,0,0, ; + Margin = 0, ; + Name = "Text1", ; + ReadOnly = .T., ; + SelectedBackColor = 29,60,112 + *< END OBJECT: BaseClass="textbox" /> + + ADD OBJECT 'Grid1.cFurnizor.Header1' AS header WITH ; + Alignment = 2, ; + Caption = "Furnizor", ; + FontName = "Arial", ; + FontSize = 10, ; + Name = "Header1" + *< END OBJECT: BaseClass="header" /> + + ADD OBJECT 'Grid1.cFurnizor.Text1' AS textbox WITH ; + BackColor = 234,249,255, ; + BorderStyle = 0, ; + FontName = "Arial", ; + FontSize = 10, ; + ForeColor = 0,0,0, ; + Margin = 0, ; + Name = "Text1", ; + ReadOnly = .T., ; + SelectedBackColor = 29,60,112, ; + ToolTipText = "Dublu click pentru modificare" + *< END OBJECT: BaseClass="textbox" /> + + ADD OBJECT 'Grid1.cGrade_alcool.Header1' AS header WITH ; + Alignment = 2, ; + Caption = "Grade alcool", ; + FontName = "Arial", ; + FontSize = 10, ; + Name = "Header1" + *< END OBJECT: BaseClass="header" /> + + ADD OBJECT 'Grid1.cGrade_alcool.Text1' AS textbox WITH ; + BackColor = 255,255,255, ; + BorderStyle = 0, ; + FontName = "Arial", ; + FontSize = 10, ; + ForeColor = 0,0,0, ; + Margin = 0, ; + Name = "Text1", ; + SelectedBackColor = 29,60,112 + *< END OBJECT: BaseClass="textbox" /> + + ADD OBJECT 'Grid1.cIdArticol.Header1' AS header WITH ; + Alignment = 2, ; + Caption = "Id articol", ; + FontName = "Arial", ; + FontSize = 10, ; + Name = "Header1" + *< END OBJECT: BaseClass="header" /> + + ADD OBJECT 'Grid1.cIdArticol.Text1' AS textbox WITH ; + BackColor = 255,255,255, ; + BorderStyle = 0, ; + FontName = "Arial", ; + FontSize = 10, ; + ForeColor = 0,0,0, ; + Margin = 0, ; + Name = "Text1", ; + ReadOnly = .T., ; + SelectedBackColor = 29,60,112 + *< END OBJECT: BaseClass="textbox" /> + + ADD OBJECT 'Grid1.cIdResponsabil.Header1' AS header WITH ; + Alignment = 2, ; + Caption = "Id Responsabil", ; + Name = "Header1" + *< END OBJECT: BaseClass="header" /> + + ADD OBJECT 'Grid1.cIdResponsabil.Text1' AS textbox WITH ; + BackColor = 255,255,255, ; + BorderStyle = 0, ; + FontSize = 10, ; + ForeColor = 0,0,0, ; + Margin = 0, ; + Name = "Text1", ; + ReadOnly = .T., ; + SelectedBackColor = 29,60,112 + *< END OBJECT: BaseClass="textbox" /> + + ADD OBJECT 'Grid1.cLot.Header1' AS header WITH ; + Alignment = 2, ; + Caption = "Lot", ; + FontName = "Arial", ; + FontSize = 10, ; + Name = "Header1" + *< END OBJECT: BaseClass="header" /> + + ADD OBJECT 'Grid1.cLot.Text1' AS textbox WITH ; + BackColor = 255,255,255, ; + BorderStyle = 0, ; + FontName = "Arial", ; + FontSize = 10, ; + ForeColor = 0,0,0, ; + Margin = 0, ; + Name = "Text1", ; + ReadOnly = .T., ; + SelectedBackColor = 29,60,112 + *< END OBJECT: BaseClass="textbox" /> + + ADD OBJECT 'Grid1.cMeserie.Header1' AS header WITH ; + Alignment = 2, ; + Caption = "Meserie", ; + FontName = "Arial", ; + FontSize = 10, ; + Name = "Header1" + *< END OBJECT: BaseClass="header" /> + + ADD OBJECT 'Grid1.cMeserie.Text1' AS textbox WITH ; + BackColor = 255,255,255, ; + BorderStyle = 0, ; + FontName = "Arial", ; + FontSize = 10, ; + ForeColor = 0,0,0, ; + Margin = 0, ; + Name = "Text1", ; + ReadOnly = .T., ; + SelectedBackColor = 29,60,112 + *< END OBJECT: BaseClass="textbox" /> + + ADD OBJECT 'Grid1.cMotiv_depreciere.Header1' AS header WITH ; + Alignment = 2, ; + Caption = "Motiv Depreciere", ; + FontName = "Arial", ; + FontSize = 10, ; + Name = "Header1" + *< END OBJECT: BaseClass="header" /> + + ADD OBJECT 'Grid1.cMotiv_depreciere.Text1' AS textbox WITH ; + BackColor = 234,249,255, ; + BorderStyle = 0, ; + FontName = "Arial", ; + FontSize = 10, ; + ForeColor = 0,0,0, ; + Margin = 0, ; + Name = "Text1", ; + ReadOnly = .F., ; + SelectedBackColor = 29,60,112 + *< END OBJECT: BaseClass="textbox" /> + + ADD OBJECT 'Grid1.cNrcrt.Header1' AS header WITH ; + Alignment = 2, ; + Caption = "Nr. Crt.", ; + FontName = "Arial", ; + FontSize = 10, ; + Name = "Header1", ; + WordWrap = .T. + *< END OBJECT: BaseClass="header" /> + + ADD OBJECT 'Grid1.cNrcrt.Text1' AS textbox WITH ; + BackColor = 255,255,255, ; + BorderStyle = 0, ; + FontName = "Arial", ; + FontSize = 10, ; + ForeColor = 0,0,0, ; + Margin = 0, ; + Name = "Text1", ; + ReadOnly = .T., ; + SelectedBackColor = 29,60,112 + *< END OBJECT: BaseClass="textbox" /> + + ADD OBJECT 'Grid1.cNrord_rez.Header1' AS header WITH ; + Alignment = 2, ; + Caption = "Lucrare rez.", ; + FontName = "Arial", ; + FontSize = 10, ; + Name = "Header1" + *< END OBJECT: BaseClass="header" /> + + ADD OBJECT 'Grid1.cNrord_rez.Text1' AS textbox WITH ; + BackColor = 255,255,255, ; + BorderStyle = 0, ; + FontName = "Arial", ; + FontSize = 10, ; + ForeColor = 0,0,0, ; + Margin = 0, ; + Name = "Text1", ; + SelectedBackColor = 29,60,112 + *< END OBJECT: BaseClass="textbox" /> + + ADD OBJECT 'Grid1.Column1.Header1' AS header WITH ; + Alignment = 2, ; + Caption = "Grupa", ; + FontName = "Arial", ; + FontSize = 10, ; + Name = "Header1" + *< END OBJECT: BaseClass="header" /> + + ADD OBJECT 'Grid1.Column1.Text1' AS textbox WITH ; + BackColor = 255,255,255, ; + BorderStyle = 0, ; + FontName = "Arial", ; + FontSize = 10, ; + ForeColor = 0,0,0, ; + Margin = 0, ; + Name = "Text1", ; + SelectedBackColor = 29,60,112 + *< END OBJECT: BaseClass="textbox" /> + + ADD OBJECT 'Grid1.Column2.Header1' AS header WITH ; + Alignment = 2, ; + Caption = "Subgrupa", ; + FontName = "Arial", ; + FontSize = 10, ; + Name = "Header1" + *< END OBJECT: BaseClass="header" /> + + ADD OBJECT 'Grid1.Column2.Text1' AS textbox WITH ; + BackColor = 255,255,255, ; + BorderStyle = 0, ; + FontName = "Arial", ; + FontSize = 10, ; + ForeColor = 0,0,0, ; + Margin = 0, ; + Name = "Text1", ; + SelectedBackColor = 29,60,112 + *< END OBJECT: BaseClass="textbox" /> + + ADD OBJECT 'Grid1.Column3.Header1' AS header WITH ; + Alignment = 2, ; + Caption = "Pret valuta", ; + FontName = "Arial", ; + FontSize = 10, ; + Name = "Header1" + *< END OBJECT: BaseClass="header" /> + + ADD OBJECT 'Grid1.Column3.Text1' AS textbox WITH ; + BackColor = 255,255,255, ; + BorderStyle = 0, ; + ControlSource = "pretd", ; + FontName = "Arial", ; + FontSize = 10, ; + ForeColor = 0,0,0, ; + Margin = 0, ; + Name = "Text1", ; + SelectedBackColor = 29,60,112 + *< END OBJECT: BaseClass="textbox" /> + + ADD OBJECT 'Grid1.Column4.Header1' AS header WITH ; + Alignment = 2, ; + Caption = "Valuta", ; + FontName = "Arial", ; + FontSize = 10, ; + Name = "Header1" + *< END OBJECT: BaseClass="header" /> + + ADD OBJECT 'Grid1.Column4.Text1' AS textbox WITH ; + BackColor = 255,255,255, ; + BorderStyle = 0, ; + ControlSource = "id_valuta", ; + FontName = "Arial", ; + FontSize = 10, ; + ForeColor = 0,0,0, ; + Margin = 0, ; + Name = "Text1", ; + SelectedBackColor = 29,60,112 + *< END OBJECT: BaseClass="textbox" /> + + ADD OBJECT 'Grid1.Column5.Header1' AS header WITH ; + Alignment = 2, ; + Caption = "Pret vanzare cu TVA", ; + FontName = "Arial", ; + FontSize = 10, ; + Name = "Header1", ; + WordWrap = .T. + *< END OBJECT: BaseClass="header" /> + + ADD OBJECT 'Grid1.Column5.Text1' AS textbox WITH ; + BackColor = 255,255,255, ; + BorderStyle = 0, ; + FontName = "Arial", ; + FontSize = 10, ; + ForeColor = 0,0,0, ; + Margin = 0, ; + Name = "Text1", ; + SelectedBackColor = 29,60,112 + *< END OBJECT: BaseClass="textbox" /> + + ADD OBJECT 'Grid1.cPart_rez.Header1' AS header WITH ; + Alignment = 2, ; + Caption = "Part. rez.", ; + FontName = "Arial", ; + FontSize = 10, ; + Name = "Header1" + *< END OBJECT: BaseClass="header" /> + + ADD OBJECT 'Grid1.cPart_rez.Text1' AS textbox WITH ; + BackColor = 255,255,255, ; + BorderStyle = 0, ; + FontName = "Arial", ; + FontSize = 10, ; + ForeColor = 0,0,0, ; + Margin = 0, ; + Name = "Text1", ; + SelectedBackColor = 29,60,112 + *< END OBJECT: BaseClass="textbox" /> + + ADD OBJECT 'Grid1.cPotential.Header1' AS header WITH ; + Alignment = 2, ; + Caption = "Potential", ; + FontName = "Arial", ; + FontSize = 10, ; + Name = "Header1" + *< END OBJECT: BaseClass="header" /> + + ADD OBJECT 'Grid1.cPotential.Text1' AS textbox WITH ; + BackColor = 255,255,255, ; + BorderStyle = 0, ; + FontName = "Arial", ; + FontSize = 10, ; + ForeColor = 0,0,0, ; + Margin = 0, ; + Name = "Text1", ; + SelectedBackColor = 29,60,112 + *< END OBJECT: BaseClass="textbox" /> + + ADD OBJECT 'Grid1.cPret_unitar.Header1' AS header WITH ; + Alignment = 2, ; + Caption = "Pret Achizitie", ; + FontName = "Arial", ; + FontSize = 10, ; + Name = "Header1" + *< END OBJECT: BaseClass="header" /> + + ADD OBJECT 'Grid1.cPret_unitar.Text1' AS textbox WITH ; + BackColor = 255,255,255, ; + BorderStyle = 0, ; + FontName = "Arial", ; + FontSize = 10, ; + ForeColor = 0,0,0, ; + Margin = 0, ; + Name = "Text1", ; + ReadOnly = .T., ; + SelectedBackColor = 29,60,112 + *< END OBJECT: BaseClass="textbox" /> + + ADD OBJECT 'Grid1.cPretv.Header1' AS header WITH ; + Alignment = 2, ; + Caption = "Pret vanzare", ; + FontName = "Arial", ; + FontSize = 10, ; + Name = "Header1" + *< END OBJECT: BaseClass="header" /> + + ADD OBJECT 'Grid1.cPretv.Text1' AS textbox WITH ; + BackColor = 255,255,255, ; + BorderStyle = 0, ; + FontName = "Arial", ; + FontSize = 10, ; + ForeColor = 0,0,0, ; + Margin = 0, ; + Name = "Text1", ; + ReadOnly = .T., ; + SelectedBackColor = 29,60,112 + *< END OBJECT: BaseClass="textbox" /> + + ADD OBJECT 'Grid1.cProcTVAv.Header1' AS header WITH ; + Alignment = 2, ; + Caption = "Proc. TVA vanz.", ; + FontName = "Arial", ; + FontSize = 10, ; + Name = "Header1", ; + WordWrap = .T. + *< END OBJECT: BaseClass="header" /> + + ADD OBJECT 'Grid1.cProcTVAv.Text1' AS textbox WITH ; + BackColor = 255,255,255, ; + BorderStyle = 0, ; + FontName = "Arial", ; + FontSize = 10, ; + ForeColor = 0,0,0, ; + Margin = 0, ; + Name = "Text1", ; + ReadOnly = .T., ; + SelectedBackColor = 29,60,112 + *< END OBJECT: BaseClass="textbox" /> + + ADD OBJECT 'Grid1.cresponsabil.Header1' AS header WITH ; + Alignment = 2, ; + Caption = "Responsabil", ; + FontName = "Arial", ; + FontSize = 10, ; + Name = "Header1" + *< END OBJECT: BaseClass="header" /> + + ADD OBJECT 'Grid1.cresponsabil.Text1' AS textbox WITH ; + BackColor = 255,255,255, ; + BorderStyle = 0, ; + FontName = "Arial", ; + FontSize = 10, ; + ForeColor = 0,0,0, ; + Margin = 0, ; + Name = "Text1", ; + ReadOnly = .T., ; + SelectedBackColor = 29,60,112 + *< END OBJECT: BaseClass="textbox" /> + + ADD OBJECT 'Grid1.cSerie.Header1' AS header WITH ; + Alignment = 2, ; + Caption = "Serie", ; + FontName = "Arial", ; + FontSize = 10, ; + Name = "Header1" + *< END OBJECT: BaseClass="header" /> + + ADD OBJECT 'Grid1.cSerie.Text1' AS textbox WITH ; + BackColor = 255,255,255, ; + BorderStyle = 0, ; + FontName = "Arial", ; + FontSize = 10, ; + ForeColor = 0,0,0, ; + Margin = 0, ; + Name = "Text1", ; + SelectedBackColor = 29,60,112 + *< END OBJECT: BaseClass="textbox" /> + + ADD OBJECT 'Grid1.cStadiu.Header1' AS header WITH ; + Alignment = 2, ; + Caption = "Stadiu", ; + FontName = "Arial", ; + FontSize = 10, ; + Name = "Header1" + *< END OBJECT: BaseClass="header" /> + + ADD OBJECT 'Grid1.cStadiu.Text1' AS textbox WITH ; + BackColor = 255,255,255, ; + BorderStyle = 0, ; + FontName = "Arial", ; + FontSize = 10, ; + ForeColor = 0,0,0, ; + Margin = 0, ; + Name = "Text1", ; + SelectedBackColor = 29,60,112 + *< END OBJECT: BaseClass="textbox" /> + + ADD OBJECT 'Grid1.cstoc_faptic.Header1' AS header WITH ; + Alignment = 2, ; + Caption = "Stoc faptic", ; + FontName = "Arial", ; + FontSize = 10, ; + Name = "Header1" + *< END OBJECT: BaseClass="header" /> + + ADD OBJECT 'Grid1.cstoc_faptic.Text1' AS textbox WITH ; + BackColor = 234,249,255, ; + BorderStyle = 0, ; + FontName = "Arial", ; + FontSize = 10, ; + ForeColor = 0,64,128, ; + Margin = 0, ; + Name = "Text1", ; + ReadOnly = .F., ; + SelectedBackColor = 29,60,112 + *< END OBJECT: BaseClass="textbox" /> + + ADD OBJECT 'Grid1.cStoc_scriptic.Header1' AS header WITH ; + Alignment = 2, ; + Caption = "Stoc Scriptic", ; + FontName = "Arial", ; + FontSize = 10, ; + Name = "Header1" + *< END OBJECT: BaseClass="header" /> + + ADD OBJECT 'Grid1.cStoc_scriptic.Text1' AS textbox WITH ; + BackColor = 255,255,255, ; + BorderStyle = 0, ; + FontName = "Arial", ; + FontSize = 10, ; + ForeColor = 0,0,0, ; + Margin = 0, ; + Name = "Text1", ; + ReadOnly = .T., ; + SelectedBackColor = 29,60,112 + *< END OBJECT: BaseClass="textbox" /> + + ADD OBJECT 'Grid1.cTVAv.Header1' AS header WITH ; + Alignment = 2, ; + Caption = "TVA vanzare", ; + FontName = "Arial", ; + FontSize = 10, ; + Name = "Header1" + *< END OBJECT: BaseClass="header" /> + + ADD OBJECT 'Grid1.cTVAv.Text1' AS textbox WITH ; + BackColor = 255,255,255, ; + BorderStyle = 0, ; + FontName = "Arial", ; + FontSize = 10, ; + ForeColor = 0,0,0, ; + Margin = 0, ; + Name = "Text1", ; + ReadOnly = .T., ; + SelectedBackColor = 29,60,112 + *< END OBJECT: BaseClass="textbox" /> + + ADD OBJECT 'Grid1.cUM.Header1' AS header WITH ; + Alignment = 2, ; + Caption = "UM", ; + FontName = "Arial", ; + FontSize = 10, ; + Name = "Header1" + *< END OBJECT: BaseClass="header" /> + + ADD OBJECT 'Grid1.cUM.Text1' AS textbox WITH ; + BackColor = 255,255,255, ; + BorderStyle = 0, ; + FontName = "Arial", ; + FontSize = 10, ; + ForeColor = 0,0,0, ; + Margin = 0, ; + Name = "Text1", ; + ReadOnly = .T., ; + SelectedBackColor = 29,60,112 + *< END OBJECT: BaseClass="textbox" /> + + ADD OBJECT 'Grid1.cUtilizator.Header1' AS header WITH ; + Alignment = 2, ; + Caption = "Utilizator", ; + FontName = "Arial", ; + FontSize = 10, ; + Name = "Header1" + *< END OBJECT: BaseClass="header" /> + + ADD OBJECT 'Grid1.cUtilizator.Text1' AS textbox WITH ; + BackColor = 255,255,255, ; + BorderStyle = 0, ; + FontName = "Arial", ; + FontSize = 10, ; + ForeColor = 0,0,0, ; + Margin = 0, ; + Name = "Text1", ; + ReadOnly = .T., ; + SelectedBackColor = 29,60,112 + *< END OBJECT: BaseClass="textbox" /> + + ADD OBJECT 'Grid1.cUzura_faptic.Header1' AS header WITH ; + Alignment = 2, ; + Caption = "Uzura faptica (%)", ; + FontName = "Arial", ; + FontSize = 10, ; + Name = "Header1", ; + WordWrap = .T. + *< END OBJECT: BaseClass="header" /> + + ADD OBJECT 'Grid1.cUzura_faptic.Text1' AS textbox WITH ; + BackColor = 234,249,255, ; + BorderStyle = 0, ; + FontName = "Arial", ; + FontSize = 10, ; + ForeColor = 0,0,0, ; + Margin = 0, ; + Name = "Text1", ; + ReadOnly = .F., ; + SelectedBackColor = 29,60,112 + *< END OBJECT: BaseClass="textbox" /> + + ADD OBJECT 'Grid1.cValdif.Header1' AS header WITH ; + Alignment = 2, ; + Caption = "Valoare diferenta", ; + FontName = "Arial", ; + FontSize = 10, ; + Name = "Header1" + *< END OBJECT: BaseClass="header" /> + + ADD OBJECT 'Grid1.cValdif.Text1' AS textbox WITH ; + BackColor = 255,255,255, ; + BorderStyle = 0, ; + FontName = "Arial", ; + FontSize = 10, ; + ForeColor = 0,0,0, ; + Margin = 0, ; + Name = "Text1", ; + ReadOnly = .T., ; + SelectedBackColor = 29,60,112 + *< END OBJECT: BaseClass="textbox" /> + + ADD OBJECT 'Grid1.cValidat.Check1' AS checkbox WITH ; + Alignment = 2, ; + Caption = "", ; + FontName = "Arial", ; + FontSize = 10, ; + Height = 17, ; + Left = 20, ; + Name = "Check1", ; + Top = 68, ; + Width = 60 + *< END OBJECT: BaseClass="checkbox" /> + + ADD OBJECT 'Grid1.cValidat.Header1' AS header WITH ; + Alignment = 2, ; + Caption = "Validat", ; + FontName = "Arial", ; + FontSize = 10, ; + Name = "Header1" + *< END OBJECT: BaseClass="header" /> + + ADD OBJECT 'Grid1.cValidat.Text1' AS textbox WITH ; + BackColor = 255,255,255, ; + BorderStyle = 0, ; + FontName = "Arial Narrow", ; + ForeColor = 0,0,0, ; + Margin = 0, ; + Name = "Text1", ; + ReadOnly = .T., ; + SelectedBackColor = 29,60,112 + *< END OBJECT: BaseClass="textbox" /> + + ADD OBJECT 'Gridextra1' AS gridextra WITH ; + Height = 17, ; + Left = 648, ; + Name = "Gridextra1", ; + productname = ROA, ; + Top = 72, ; + Width = 19 + *< END OBJECT: ClassLib="..\utile\gridextras\gridextras.vcx" BaseClass="custom" /> + + ADD OBJECT 'Label1' AS label WITH ; + Anchor = 10, ; + BackStyle = 0, ; + Caption = "Diferenta", ; + FontName = "Arial Narrow", ; + FontSize = 10, ; + Height = 17, ; + Left = 448, ; + Name = "Label1", ; + Top = 36, ; + Width = 49 + *< END OBJECT: BaseClass="label" /> + + ADD OBJECT 'Label2' AS label WITH ; + Anchor = 10, ; + BackStyle = 0, ; + Caption = "Diferenta", ; + FontName = "Arial Narrow", ; + FontSize = 10, ; + Height = 17, ; + Left = 449, ; + Name = "Label2", ; + Top = 66, ; + Width = 49 + *< END OBJECT: BaseClass="label" /> + + ADD OBJECT 'Label3' AS label WITH ; + Anchor = 10, ; + BackStyle = 0, ; + Caption = "Diferenta", ; + FontName = "Arial Narrow", ; + FontSize = 10, ; + Height = 17, ; + Left = 449, ; + Name = "Label3", ; + Top = 91, ; + Width = 49 + *< END OBJECT: BaseClass="label" /> + + ADD OBJECT 'lb_explicatie' AS _label WITH ; + Anchor = 8, ; + BackStyle = 0, ; + Caption = "* Articolele pot fi inventariate doar din ROAVIN.", ; + FontItalic = .T., ; + FontName = "Arial Narrow", ; + ForeColor = 128,128,128, ; + Left = 590, ; + Name = "lb_explicatie", ; + Top = 38 + *< END OBJECT: ClassLib="_baza.vcx" BaseClass="label" /> + + PROCEDURE actualizeaza_grid1 + LPARAMETERS pcFiltru + LOCAL lcFiltru + + lcFiltru=pcFiltru + *!* IF EMPTY(lcFiltru) + *!* lcFiltru=this.ocursor.ca_baza1.cfiltruOriginal + *!* ELSE + *!* lcFiltru = lcFiltru + [ and ] + this.ocursor.ca_baza1.cfiltruOriginal + *!* ENDIF + IF EMPTY(lcFiltru) + lcFiltru=this.ocursor.ca_baza1.cfiltru + ENDIF + + lcOrder = this.corder + [ ] + this.casc + save_grid(This.grid1) + this.ocursor.ca_baza1.lAfisare = .F. + this.ocursor.ca_baza1.cfiltru = lcfiltru + this.ocursor.ca_baza1.corder = lcOrder + this.ocursor.ca_baza1.afisare() + restore_grid(This.grid1) + + thisform.do_executa + + ENDPROC + + PROCEDURE citeste_doc + Private pcReturnValue + pcReturnValue = [] + + lcSql = [pack_inventar.citeste_documente_atasate(] + Alltrim(Str(Thisform.nidcinventar)) + [)] + lnSucces = goExecutor.oFunction2Value(lcSql, @pcReturnValue) + If lnSucces < 0 Then + amessagebox(goExecutor.cEroare,64,"Eroare") + Endif + + Return pcReturnValue + ENDPROC + + PROCEDURE corderby_assign + LPARAMETERS vNewVal + *To do: Modify this routine for the Assign method + + IF THIS.corder = m.vNewVal + lcASC = IIF(this.casc = 'ASC','DESC','ASC') + ELSE + lcASC = 'ASC' + ENDIF + THIS.cOrder = m.vNewVal + this.cAsc = lcAsc + this.actualizeaza_grid1() + + ENDPROC + + PROCEDURE do_adauga + LPARAMETERS tlCopiere + * tlCopiere: .T. daca se adauga un articol prin copiere. Se deschide formularul de adaugare, dar cu acelasi articol, pret ... + + LOCAL llCopiere + llCopiere = IIF(PCOUNT() = 0, .F., m.tlCopiere) + + *!* 31.01.2011 + *!* marius.mutu + *!* la append in crs_inventar da eroare id_grupa cannot accept null values, in cazul unui articol fara grupa + *!* desi am pus schema cu ID_GRUPA = NULL, cursorul nu accepta NULL, la o cautare ulterioara. + + *!* lcSql = 'select * from ' + gcs + '.vnom_articole order by denumire,codmat' + *!* lnSucces = goExecutor.oExecute(lcSql,'crsArticole') + *!* IF lnSucces < 0 + *!* MESSAGEBOX(goExecutor.ceroare,0) + *!* RETURN + *!* ENDIF + + If Thisform.lvalidat And !Thisform.lCorectie + Return + Endif + + *!* v 2.0.22 + *!* pentru cresterea vitezei introducerii de articole noi - copii gestiunea, cont, acont, proc_tvav + lcsel = [select cota_tva,denumire from vjtva_coloane ] + ; + [where jv=1 and afisat = 1 and id_jtva_coloana > 0 order by ordine] + lccursor = [crs_cote_tva_inventar] + If !goExecutor.oExecuta(lcsel,lccursor) + Return + Endif + + *!* modificare v 2.2.6 : dintre gestiunile pe care are dreptul utilizatorul arat doar gestiunile alese la inceperea inventarului + *!* lcSql = 'select * from vnom_gestiuni where inactiv = 0 order by nume_gestiune,cgest' + lcSql = [select distinct c.nume_gestiune,c.cgest,b.id_gestiune,c.nr_pag,c.cont ] + ; + [from gest_coresp_util_grupe a ] + ; + [left join gest_coresp_grupe_gestiuni b on a.id_grupe=b.id_grupe ] + ; + [left join nom_gestiuni c on b.id_gestiune=c.id_gestiune ] + ; + [where a.id_util = ] + Alltrim(Str(gnIdUtil)) + Strtran(gcCondSucursala,[id_sucursala],[c.id_sucursala]) + ; + [ and c.inactiv = 0 ] + ; + iif(!Empty(Nvl(Thisform.cId_gestiuni,'')),[and b.id_gestiune in (] + Thisform.cId_gestiuni + [)],[]) + ; + [ order by c.nume_gestiune,c.cgest] + *!* modificare v 2.2.6 ^ + If !goExecutor.oExecuta(lcSql,'crsGestiuni') + Return + Endif + + lcSql = 'select * from vnom_valute where inactiv = 0 order by moneda_nationala desc, nume_val' + if !goExecutor.oExecuta(lcSql,'crsValuteTemp') + Return + Endif + + If This.lobinv + lcSql = 'select id_responsabil, nume from vnom_responsabili where inactiv = 0 order by nume' + lnsucces = goExecutor.oExecute(lcSql,'crsResponsabili2') + If lnsucces < 0 + AMESSAGEBOX(goExecutor.cEroare,0+16,"Eroare") + Return + Endif + Create Cursor crsResponsabili (id_responsabil N(20) Null, nume C(100)) + Insert Into crsResponsabili (id_responsabil, nume) Values (Null,'') + Insert Into crsResponsabili Select id_responsabil, nume From crsResponsabili2 + Select crsResponsabili + Go Top + Use In crsResponsabili2 + Endif + Local lcCursorInventar + lcCursorInventar = Thisform.cnumecursor + + + Select (Thisform.cnumecursor) + Scatter Name oinv_orig + IF !m.llCopiere + Scatter Name oinv Blank + oinv.DATAPIF = Date() + ELSE + oinv = CloneObj(oinv_orig) + oinv.stoc_scriptic = 0 + ENDIF + + oinv.id_gestiune = oinv_orig.id_gestiune + oinv.nume_gestiune = oinv_orig.nume_gestiune + oinv.proc_tvav = oinv_orig.proc_tvav + oinv.id_valuta = oinv_orig.id_valuta + oinv.valuta = oinv_orig.valuta + oinv.Cont = oinv_orig.Cont + oinv.acont = oinv_orig.acont + oinv.id_furnizor = oinv_orig.id_furnizor + oinv.furnizor = oinv_orig.furnizor + oinv.id_rul_aux = oinv_orig.id_rul_aux + + Select crsGestiuni + Locate For id_gestiune = oinv.id_gestiune + If !Found() + Go Top + oinv.id_gestiune = crsGestiuni.id_gestiune + oinv.nume_gestiune = crsGestiuni.nume_gestiune + Endif + + Select crsValuteTemp + Locate For id_valuta = oinv.id_valuta + If !Found() + Go Top + oinv.id_valuta = crsValuteTemp.id_valuta + oinv.valuta = crsValuteTemp.nume_val + Endif + + Select crs_cote_tva_inventar + Locate For cota_tva = oinv.proc_tvav + If !Found() + Go Top + oinv.proc_tvav = cota_tva + ENDIF + *!* v 2.0.22 ^ + + oAdd = Createobject(Iif(Thisform.linventarroavin,'new_inventar_vin','new_inventar')) + oAdd.lobinv = This.lobinv + oAdd.obj = oinv + oAdd.lCopiere = m.llCopiere + oAdd.Show() + Private pnIdInventar + pnIdInventar = 0 + + oinv.dns_luni = oinv.dnf + SET STEP ON + If gnButon = 1 + pnpretvaluta = oinv.pretd + pnidvaluta = oinv.id_valuta + + pnid_articol = oinv.id_articol + pnid_gestiune = oinv.id_gestiune + pnid_responsabil = oinv.id_responsabil + pccont = Left(Alltrim(NVL(oinv.Cont,'')),4) + pcacont = Left(Alltrim(Nvl(oinv.acont,'')),4) + pnpret = oinv.Pret + pnpretv = oinv.pretv + pntvav = oinv.tvav + pnproc_tvav = oinv.proc_tvav + pddatapif = oinv.DATAPIF + pndns_luni = oinv.dns_luni + pcSerie = NVL(oinv.serie, '') + pcLot = NVL(oinv.lot, '') + pcIdSucursala = Iif(Nvl(gnIdSucursala,0) = 0, 'NULL', Alltrim(Str(gnIdSucursala))) + pnIdRulAux = NVL(oinv.id_rul_aux, 0) + lcIdRulAux = 'NULL' + + If !This.linventarroavin + IF !EMPTY(NVL(oinv.id_furnizor,0)) + lcSql = [begin pack_contafin.GetRulajAuxiliarFurnizor(] + Transform(oinv.id_furnizor) + [, ?@pnIdRulAux); end;] + lnsucces = goExecutor.oExecute(m.lcSql) + If m.lnsucces < 0 + AMESSAGEBOX(goExecutor.cEroare, 0 + 48, _Screen.Caption) + Return m.lnsucces + ELSE + lcIdRulAux = ALLTRIM(STR(m.pnIdRulAux)) + ENDIF + ENDIF + + lcSql = [insert into gest_inventar (an,luna,id_articol,id_gestiune,cont,acont,pret,pretv,tvav,proc_tvav,data_referinta, ] + ; + [id_responsabil,datapif,dns_luni,id_rul_aux,serie,lot,pretd,id_Valuta,id_sucursala,id_c_inventar,id_part_rez,id_lucrare_rez) ] +; + [values(] + Alltrim(Str(gnAn)) + [,] + Alltrim(Str(gnLuna)) + [,] + Alltrim(Str(pnid_articol)) + [,] + ; + Alltrim(Str(pnid_gestiune)) + [,'] + pccont + [','] + pcacont + [',] + Alltrim(Str(pnpret,20,4)) + [,] + Alltrim(Str(pnpretv,20,4)) + [,] + ; + Alltrim(Str(pntvav,10,4)) + [,] + Alltrim(Str(pnproc_tvav,10,4)) + [,TO_DATE('] + Iif(!Empty(Nvl(pdDataRef,{})),Dtos(pddataRef), '') + [','YYYYMMDD'),] + ; + IIF(ISNULL(pnid_responsabil), 'NULL', Alltrim(Str(pnid_responsabil))) + ; + [, TO_DATE('] + Iif(!Empty(Nvl(pdDatapif,{})),Dtos(pddatapif), '') + [','YYYYMMDD'),] + Alltrim(Str(pndns_luni)) + [,] + m.lcIdRulAux + [,'] + ; + Alltrim(pcSerie) + [','] + Alltrim(pcLot) + [',] + Alltrim(Str(pnpretvaluta,20,4)) + [,] + ; + IIF(ISNULL(pnIdValuta), 'NULL', Alltrim(Str(pnidvaluta))) + [,] + ; + pcIdSucursala + [, ] + ; + Alltrim(Str(This.nidcinventar)) + [,] + ; + IIF(ISNULL(oinv.id_part_rez), 'NULL', Alltrim(Str(oinv.id_part_rez))) + [,] + ; + IIF(ISNULL(oinv.id_lucrare_rez), 'NULL', Alltrim(Str(oinv.id_lucrare_rez))) + [) ] + ; + [ RETURNING ID_INVENTAR INTO ?@pnIdInventar] + Else + pnCantZahar = oinv.cant_zahar + pnIdVinStadiu = oinv.id_vin_stadiu + pnGradeAlcool = oinv.grade_alcool + pnPotential = oinv.potential + pnAnProd = oinv.an_prod + pnIdVenchelt = oinv.id_venchelt + pnIdCategCalitate = oinv.id_categ_calitate + + *!* de adaugat This.nidcinventar + *!* lcSql = [begin pack_vin.adauga_articol_inventar(?gnAn,?gnLuna,?pnid_articol,?pnid_gestiune,?pccont,?pcacont,?pnpret,] + ; + *!* [?pnpretv,?pntvav,?pnproc_tvav,?pdDataRef,?pnid_responsabil,?pddatapif,?pndns_luni,?pcSerie,?pnpretvaluta,?pnidvaluta,] + ; + *!* [?pnCantZahar,?pnIdVinStadiu,?pnGradeAlcool,?pnPotential,?pnAnProd,?pnIdVenchelt,?pnIdCategCalitate,?@pnIdInventar); end;] + lcSql = [begin pack_vin.adauga_articol_inventar(] + Alltrim(Str(gnAn)) + [,] + Alltrim(Str(gnLuna)) + [,] + Alltrim(Str(pnid_articol)) + [,] + ; + Alltrim(Str(pnid_gestiune)) + [,'] + pccont + [','] + pcacont + [',] + Alltrim(Str(pnpret,20,4)) + [,] + Alltrim(Str(pnpretv,20,4)) + [,] + ; + Alltrim(Str(pntvav,10,4)) + [,] + Alltrim(Str(pnproc_tvav,10,4)) + [,TO_DATE('] + Iif(!Empty(Nvl(pdDataRef,{})),Dtos(pddataRef), '') + [','YYYYMMDD'),] + ; + Alltrim(Str(pnid_responsabil)) + [, TO_DATE('] + Iif(!Empty(Nvl(pdDatapif,{})),Dtos(pddatapif), '') + [','YYYYMMDD'),] + Alltrim(Str(pndns_luni)) + [,] + ; + ['] + Alltrim(pcSerie) + [',] + ['] + Alltrim(pcLot) + [',] + Alltrim(Str(pnpretvaluta,20,4)) + [,] + Alltrim(Str(pnidvaluta)) + [,] + ; + Alltrim(Str(pnCantZahar,20,4)) + [,] + ; + Iif(Empty(Nvl(pnIdVinStadiu,0)),[NULL],Alltrim(Str(pnIdVinStadiu))) + [,] + ; + Alltrim(Str(pnGradeAlcool,10,4)) + [,] + ; + Alltrim(Str(pnPotential,20,4)) + [,] + Alltrim(Str(pnAnProd)) + [,] + ; + Iif(Empty(Nvl(pnIdVenchelt,0)),[NULL],Alltrim(Str(pnIdVenchelt))) + [,] + ; + Iif(Empty(Nvl(pnIdCategCalitate,0)),[NULL],Alltrim(Str(pnIdCategCalitate))) + [,] + ; + Alltrim(Str(This.nidcinventar)) + [,] + pcIdSucursala + [,?@pnIdInventar); end;] + + Endif + lnsucces = goExecutor.oExecute(lcSql) + If lnsucces < 0 + AMESSAGEBOX(goExecutor.cEroare,16,"Eroare") + gnButon = 2 + Else + + lcSql = 'select * from ' + Iif(This.linventarroavin,[vvin_gest_inventar],[vgest_inventar]) + ' where id_inventar = ?pnIdInventar' + lnsucces = goExecutor.oExecute(lcSql, "crsInventarNou") + If lnsucces < 0 + AMESSAGEBOX(goExecutor.cEroare,16,"Eroare") + This.actualizeaza_grid1() + ELSE + *!* 31.01.2011 + SELECT crsInventarNou + REPLACE ALL id_grupa with NVL(id_grupa,0), id_subgrupa with NVL(id_subgrupa,0), grupa with NVL(grupa,''), subgrupa with NVL(subgrupa, '') IN crsInventarNou + *!* 31.01.2011 ^ + Select (lcCursorInventar) + Append From Dbf('crsInventarNou') + Use In crsInventarNou + Endif + + Endif + Endif + + If Used('crsArticole') + Use In crsArticole + Endif + If Used('crsGestiuni') + Use In crsGestiuni + Endif + If Used('crsResponsabili') + Use In crsResponsabili + Endif + Use in (Select('crs_cote_tva_inventar')) + Use In (Select('crsValuteTemp')) + + This.grid1.SetFocus() + + ENDPROC + + PROCEDURE do_cauta + Local lcFiltru + lcFiltru = "1=1" + gcCondSucursala + + *!* If Thisform.ck_denumire.Value=1 + *!* lcFiltru = lcFiltru + Thisform.ck_denumire.filtru + *!* ENDIF + + *!* IF THISFORM.ck_filtru_respons.VALUE=1 + *!* lcFiltru=lcFiltru+THISFORM.ck_filtru_respons.filtru_ora + *!* ENDIF + + *!* IF thisform.ck_filtru_meserie.Value=1 + *!* lcFiltru=lcFiltru+THISFORM.ck_filtru_meserie.filtru_ora + *!* ENDIF + + *!* IF thisform.ck_filtru_formatie.Value = 1 + *!* lcFiltru=lcFiltru+THISFORM.ck_filtru_formatie.filtru_ora + *!* ENDIF + + *!* IF THISFORM.ck_filtru_dataang.VALUE=1 + *!* lcFiltru=lcFiltru+THISFORM.ck_filtru_dataang.filtru + *!* ENDIF + + *!* IF THISFORM.ck_filtru_datalic.VALUE=1 + *!* lcFiltru=lcFiltru+THISFORM.ck_filtru_datalic.filtru + *!* ENDIF + + *!* If Thisform.ck_codmat.Value=1 + *!* lcFiltru = lcFiltru + Thisform.ck_codmat.filtru + *!* ENDIF + + *!* If Thisform.ck_cont.Value=1 + *!* lcFiltru = lcFiltru + Thisform.ck_cont.filtru + *!* ENDIF + + *!* If Thisform.ck_acont.Value=1 + *!* lcFiltru = lcFiltru + Thisform.ck_acont.filtru + *!* ENDIF + + *!* If Thisform.ck_diferenta.Value=1 + *!* lcFiltru = lcFiltru + Thisform.ck_diferenta.filtru + *!* ENDIF + + *!* If Thisform.ck_pretu.Value=1 + *!* lcFiltru = lcFiltru + Thisform.ck_pretu.filtru + *!* ENDIF + + *!* If Thisform.ck_stoc_scriptic.Value=1 + *!* lcFiltru = lcFiltru + Thisform.ck_stoc_scriptic.filtru + *!* ENDIF + *!* If Thisform.ck_stoc_faptic.Value=1 + *!* lcFiltru = lcFiltru + Thisform.ck_stoc_faptic.filtru + *!* ENDIF + *!* If Thisform.ck_filtru_gestiune.Value=1 + *!* lcFiltru=lcFiltru+Thisform.ck_filtru_gestiune.filtru_ora + *!* ENDIF + + *!* IF thisform.ck_acronim.Value = 1 + *!* lcFiltru = lcFiltru + thisform.ck_acronim.filtru_ora + *!* ENDIF + + *!* IF thisform.ck_cant_zahar.Value = 1 + *!* lcFiltru = lcFiltru + thisform.ck_cant_zahar.filtru + *!* ENDIF + + *!* IF thisform.ck_grade_alcool.Value = 1 + *!* lcFiltru = lcFiltru + thisform.ck_grade_alcool.filtru + *!* ENDIF + + *!* IF thisform.ck_an_prod.Value = 1 + *!* lcFiltru = lcFiltru + thisform.ck_an_prod.filtru + *!* ENDIF + + *!* IF thisform.ck_potential.Value = 1 + *!* lcFiltru = lcFiltru + thisform.ck_potential.filtru + *!* ENDIF + + *!* IF thisform.ck_stadiu.Value = 1 + *!* lcFiltru = lcFiltru + thisform.ck_stadiu.filtru + *!* ENDIF + + *!* IF thisform.ck_explicatie.Value = 1 + *!* lcFiltru = lcFiltru + thisform.ck_explicatie.filtru + *!* ENDIF + + *!* IF thisform.ck_validat.value = 1 + *!* lcFiltru=lcFiltru + [ and validat = 1] + *!* ENDIF + *!* IF thisform.ck_nevalidat.value = 1 + *!* lcFiltru=lcFiltru + [ and validat = 0] + *!* ENDIF + + *!* If Thisform.ck_filtru_grupegest.Value=1 + *!* lcFiltru=lcFiltru+[ and id_gestiune in (select id_gestiune from ]+ gcS +; + *!* [.vgest_coresp_grupe_gestiuni where ] + SUBSTR(Thisform.ck_filtru_grupegest.filtru_ora,5)+[)] + *!* ENDIF + + IF LEN(THISFORM.filtru_pretty)>0 + lcFiltru = lcFiltru+" and (" + ALLTRIM(THISFORM.filtru_pretty) + ")" + ENDIF + IF !EMPTY(lcFiltru) + IF UPPER(ALLTRIM(LEFT(ALLTRIM(lcFiltru),4)))="AND" + lcFiltru =SUBSTR(lcfiltru,4) + ENDIF + + IF UPPER(ALLTRIM(LEFT(ALLTRIM(lcFiltru),3)))="OR" + lcFiltru =SUBSTR(lcfiltru,3) + ENDIF + ENDIF + IF (THIS.filtru_pretty#"none") + Thisform.MousePointer= 11 + Thisform.LockScreen=.T. + THISFORM.actualizeaza_grid1(lcFiltru) + Thisform.LockScreen=.F. + Thisform.MousePointer= 0 + IF RECCOUNT(this.cnumecursor)=0 + aMessagebox("Cautarea nu a intors rezultate!",0+48,"Info cautare") + ENDIF + ENDIF + + ENDPROC + + PROCEDURE do_cauta_furnizor + Local locauta + Local lcFiltru, lcFiltruOriginal, lcIdColumn, lcNumeProc, lcOrder, lcPrimaColoana, lcSchema + Local lcSelect, lcTitlu, lcTitluColoane, lccoloane, llToateIreg, lnId, lnPornire, lnSucces + lcFiltru = [2=2] + lcSchema = [] + lcOrder = [denumire,cod_fiscal,id_part] + lccoloane = [denumire,cod_fiscal,id_part] + lcTitlu = [Alegeti furnizorul] + lcTitluColoane = [Denumire,Cod fiscal,Id] + lcSelect = [select denumire, cod_fiscal, id_part from vnom_parteneri ] + + lcFiltruOriginal = [ INACTIV = 0 ] + lcNumeProc = [nom_parteneri] + + llToateIreg = .F. + lcPrimaColoana = [denumire] + lnPornire = 1 + lcIdColumn = "id_part" + locauta = cauta_alfa(lcSelect, lcFiltru, lcSchema, lcOrder, lccoloane, lcTitlu, lcTitluColoane, lcNumeProc, llToateIreg, lcFiltruOriginal, lcPrimaColoana, ; + lnPornire, , lcIdColumn) + + If gnbuton <> 2 + + lnId = crs_inventar.id_inventar + lnSucces = This.UpdateServer(lnId, 'id_furnizor', locauta.id_part) + If m.lnSucces > 0 + Select crs_inventar + Replace id_furnizor With locauta.id_part, furnizor With locauta.denumire + This.grid1.Refresh() + Endif + Endif + + + ENDPROC + + PROCEDURE do_copiaza + this.do_adauga(.T.) + ENDPROC + + PROCEDURE do_excel + If Reccount(This.grid1.RecordSource)>0 + lcOrder = "denumire" + export_excel_grid(This.grid1, lcOrder) + Else + amessagebox("Nu exista inregistrari pentru export in Excel!",48,"Atentie") + Endif + ENDPROC + + PROCEDURE do_executa + lcSel = ALLTRIM(this.cnumecursor) + + SELECT (lcSel) + lnRandCrt = RECNO() + thisform.LockScreen = .T. + + SUM ROUND(pret*stoc_scriptic,gnPc) TO thisform.nstoc_scriptic + SUM ROUND(pret*stoc_faptic,gnPc) TO thisform.nstoc_faptic + + SUM ROUND((pretv+tvav)*stoc_scriptic,gnPc) TO thisform.nstoc_scripticv + SUM ROUND((pretv+tvav)*stoc_faptic,gnPc) TO thisform.nstoc_fapticv + + SUM ROUND(stoc_scriptic,gnPcant) TO thisform.ncstoc_scriptic + SUM ROUND(stoc_faptic,gnPcant) TO thisform.ncstoc_faptic + + thisform.ndiferenta = thisform.nstoc_faptic - thisform.nstoc_scriptic + thisform.ndiferentav = thisform.nstoc_fapticv - thisform.nstoc_scripticv + thisform.ncdiferenta = thisform.ncstoc_faptic - thisform.ncstoc_scriptic + + SELECT (lcSel) + IF lnRandCrt > 1 + GO RECORD lnRandCrt + ELSE + LOCATE + ENDIF + + this.clb_tx_simplu1.Refresh + this.clb_tx_simplu2.Refresh + this.clb_tx_simplu3.Refresh + + this.clb_tx_simplu4.Refresh + this.clb_tx_simplu5.Refresh + this.clb_tx_simplu6.Refresh + + this.clb_tx_simplu7.Refresh + this.clb_tx_simplu8.Refresh + this.clb_tx_simplu9.Refresh + + thisform.LockScreen = .F. + ENDPROC + + PROCEDURE do_listare + *!* 10.11.2020 + *!* + pcNewPageOnGroup - se sare la pagina noua pentru fiecare responsabil (inventar ob inv in folosinta pe responsabili) + + Local lcRaport + Local lcFiltru, lcMenu, lcSel, lnx + Private pcGrup, pcHeaderGrup, pcFooterGrup, pcIdGrup, pcNewPageOnGroup + Private pcSubtitlu, pcDataOra + pcSubtitu = [] + pcHeaderGrup = [] + pcFooterGrup = [] + pcIdGrup = [] + pcGrup = [] + pcNewPageOnGroup = [1] + lcRaport = [] + + lcMenu = "Lista de inventariere;Lista de inventariere (stoc faptic necompletat);Lista de inventariere (necompletat)" + lnx = xmenu(m.lcMenu) + If Empty(m.lnx) + Return + Endif + + pcSubtitlu = Thisform.citeste_doc() + If !Empty(Nvl(pcSubtitlu, [])) + pcSubtitlu = [Documente incluse pe inventar dupa inceperea acestuia : ] + Alltrim(pcSubtitlu) + Chr(13) + Chr(10) + Else + pcSubtitlu = '' + Endif + pcSubtitlu = pcSubtitlu + This.filtru_pretty_ro_full + pcDataOra = get_ora(2) + + Do Case + Case lnx = 1 And Thisform.linventarroavin + lcRaport = [rap_vin_nota_inv] + Case lnx = 2 And Thisform.linventarroavin + lcRaport = [rap_vin_nota_inv_necompletat] + Case lnx = 1 + lcRaport = [rap_nota_inv2005] + Case lnx = 2 + lcRaport = [rap_nota_inv2005_necompletat] + Case lnx = 3 + lcRaport = [rap_nota_inv2005_necompletat_tot] + + Endcase + + lcSel = This.cnumecursor + lcFiltru = This.ocursor.ca_baza1.cfiltru + + * Filtru GridExtra + lcFilter = FILTER(This.cnumecursor) + IF !EMPTY(m.lcFilter) + lcFiltru = IIF(!EMPTY(m.lcFiltru), m.lcFiltru + [ and ] , []) + [(] + m.lcFilter + [)] + ENDIF + + If !Empty(lcFiltru) + lcFiltru = [ where ] + lcFiltru + ENDIF + + + If This.lobinv + pcHeaderGrup = [Responsabil : ] + pcFooterGrup = [ RESPONSABIL : ] + pcIdGrup = [id_responsabil] + pcGrup = [responsabil] + pcNewPageOnGroup = [id_responsabil] + Else + pcHeaderGrup = [Gestiunea : ] + pcFooterGrup = [ GESTIUNE : ] + pcIdGrup = [id_gestiune] + pcGrup = [nume_gestiune] + pcNewPageOnGroup = [1] + Endif + + Select * From (lcSel) &lcFiltru ; + Order By &pcGrup, denumire, codmat, Cont, acont ; + Into Cursor crsListare nofilter + *!* SET STEP ON + *!* LOCAL lcText + *!* m.pcTextLunaAn = 'Luna contabila ' + allt(str(m.gnLuna)) + '/' + allt(str(m.gnAn)) + 'Inventar ' + transform(m.pdDataInceputInventar)+ NVL(m.pdDataSfarsitInventar, ' - ' + transform(m.pdDataSfarsitInventar), '') + NVL(m.pnNract, ' Nr act ' + alltrim(str(pnNract)),'') + NVL(m.pnNnir, ' Nr bon ' + alltrim(str(pnNnir)),'') + NVL(m.pdDataNotaInventar, ' Data ' + transform(m.pdDataNotaInventar), '') + This.AlwaysOnTop = .F. + + Select crsListare + Keyboard '{CTRL+F10}' + *!* Report Form (lcRaport) To Printer Prompt Preview + + *!* * Rulez raportul o data fara preview pentru calcularea PageTotal pe grupuri (la responsabil se reseteaza pagina la 1 la fiecare responsabil) + *!* REPORT FORM (m.lcRaport) TO FILE TestTxt.TXT NOCONSOLE NODIALOG + *!* ERASE TestTxt.TXT + goExport.export2frx([crsListare], lcRaport, , , , , , .T.) + + This.AlwaysOnTop = .T. + + Use In (SELECT('crsListare')) + + *!* * Inchid cursorul folosit la calcularea PageTotal pe grupuri + *!* USE IN (SELECT('cPageTotalTemp')) && UpdatePageTotalGroup() + ENDPROC + + PROCEDURE do_reface + *!* 05.06.2012 + *!* marius.mutu + *!* se poate reface inventarul chiar daca este validat, la corectie de inventar + + *!* 15.12.2017 + *!* marius.mutu + *!* se poate reface inventarul si daca este corectie, indiferent daca nOptiune inventar = 1 sau 3 (inventar initial cu golire de stoc) + + *!* 05.01.2018 + *!* marius.mutu + *!* adaugarea de articole in inventar din documente dupa introducerea inventarului - nu se completeaza stocul faptic, indiferent de ce optiune s-a ales la inceputul inventarului + *!* ca sa nu se denatureze inventarierea faptica. In plus nu s-ar inregistra nici o diferenta daca stoc faptic = stoc scriptic + + LOCAL llReturn + llReturn = .T. + If this.lCorectie OR !This.lvalidat + Local lcCursor,lcSql,lnSucces,loFrm,lcListaIdFact + lcCursor = [crstmpintdoc] + lcSql = [{call pack_inventar.citeste_documente(] + Alltrim(Str(Thisform.nidcinventar)) + [)}] + lnSucces = goExecutor.oExecute(lcSql,lcCursor+[1]) + If lnSucces < 0 + amessagebox(goExecutor.cEroare,64,"Eroare") + llReturn = .F. + Else + If Reccount(lcCursor+[1]) > 0 + copiaza_structura_cursor(lcCursor+[1],lcCursor) + Insert Into (lcCursor) Select * From (lcCursor+[1]) Order By tip Desc,ales Desc,dataact,dataora + Go Top + Use In (Select(lcCursor+[1])) + loFrm = Createobject("frm_inventar_doc") + loFrm.Show(1) + If gnButon = 1 + Select (lcCursor) + Set Filter To ales = 1 And tip = 0 + lcListaIdFact = [] + Scan + lcListaIdFact = lcListaIdFact + Alltrim(Str(id_fact)) + [|] + Endscan + If !Empty(lcListaIdFact) + lcSql = [begin pack_inventar.adauga_documente(] + Alltrim(Str(Thisform.nidcinventar)) + [,] + ; + ['] + Alltrim(lcListaIdFact) + [',?gnIdUtil, 1); end;] + lnSucces = goExecutor.oExecute(lcSql) + If lnSucces < 0 + amessagebox(goExecutor.cEroare,64,"Eroare") + llReturn = .F. + Else + save_grid_tag(Thisform.grid1) + podecabaza.ca_baza1.afisare() + restore_grid_tag(Thisform.grid1) + Endif + Endif + Else + llReturn = .F. + Endif + Else + amessagebox("Nu exista documente introduse dupa inceperea inventarului!",48,"Atentie") + Endif + Use In (Select(lcCursor)) + Endif + ENDIF + RETURN llReturn + ENDPROC + + PROCEDURE do_sterge + IF thisform.lvalidat + Return + EndIf + + If Reccount('crs_inventar')>0 + Select crs_inventar + Scatter Name loArticolS + IF NVL(loArticolS.stoc_scriptic,0) <> 0 AND !This.lCorectie + aMessagebox("Nu puteti sterge un articol cu stoc scriptic diferit de 0!",0+48,_Screen.Caption) + RETURN + ENDIF + lcNumeArticol=Upper(Alltrim(loArticolS.denumire)) + If aMessagebox("Doriti sa stergeti articolul "+lcNumeArticol+" din inventar?",4+32+256,"Confirmare stergere")==6 + lcSql = 'delete from ' + gcs + '.gest_inventar where id_inventar='+Alltrim(Str(loArticolS.id_inventar)) + lnSucces = goExecutor.oExecute(lcSql) + If lnSucces < 0 + aMessagebox(goExecutor.ceroare,16,"Eroare") + gnButon = 2 + Endif + This.actualizeaza_grid1 + Endif + Store "" To loArticolS + Endif + + ENDPROC + + PROCEDURE do_termin + If This.inainte_de_do_termin() + gnButon = 1 + pnButon = 1 + Buton = 1 + pnIesire = 1 + This.Release + Else + This.Visible = .T. + *!* modificare serii numere - 10.2007 + If Type([_Screen.nId_tipdoc]) = 'N' And !Empty(_Screen.nid_tipdoc) + poGeneratorNumere.dezaloca_numar(_Screen.nid_tipdoc) + Endif + *!* IF PEMSTATUS(_SCREEN,'nIdSerie',5) + *!* lnIdSerieBon = _SCREEN.nIdSerie && il salvez in item.when + *!* IF TYPE('lnIdSerieBon') = 'N' AND !EMPTY(lnIdSerieBon) + *!* lcSql = [update ] + gcS + [.serii_numere set alocat = 0 where ] +; + *!* [ id_numar = ?lnIdSerieBon] + *!* lnSucces = goExecutor.oExecute(lcSql) + *!* IF lnSucces < 0 + *!* lcTitlu = [Eroare] + *!* lcTip = [Avertizare] + *!* lcImagine = [exclam.ico] + *!* lcMesaj = goExecutor.cEroare + *!* ofrm_eroare = CREATEOBJECT('frm_mesaj',lcTitlu,lcImagine,lcTip,lcMesaj) + *!* ofrm_eroare.SHOW(1) + *!* RELEASE ofrm_eroare + *!* ENDIF + *!* ENDIF + *!* ENDIF + *!* modificare serii numere - 10.2007 ^ + Endif + ENDPROC + + PROCEDURE inainte_de_do_termin + *!* 08.02 + *!* IF !INLIST(poact.id_set, 26000) && Bon de consum cu inventar + + + Local lcCrs + Local ofrm_eroare As 'frm_mesaj' + Local lCompletareParteneri, lVerificAnalitic, lcContCoresp, lcCursor, lcFiltruOriginal, lcImagine + Local lcMesaj, lcSchema, lcSel, lcTip, lcTitlu, lcgroup, llCorectie, llModParam, lnCod, lnIdFact + Local lnSucces, loAct + *:Global gnButon, onota + lcCrs = This.cnumecursor + + llCorectie = This.lCorectie + lnCod = This.nCod + lnIdFact = This.nIdFact + + + *!* modificare v 2.0.186 + If !Thisform.do_reface() + Return .F. + ENDIF + + *!* VERIFIC DACA EXISTA INREGISTRARI MODIFICATE (ID_UTIL) CARE NU AU FOST VALIDATE + IF this.lCorectie + SELECT crs_inventar + LOCATE FOR EMPTY(NVL(validat,0)) + IF !FOUND() + AMESSAGEBOX('Nu exista modificari nevalidate!',0,'Inventariere') + Return .F. + ENDIF + ELSE + If This.lvalidat + AMESSAGEBOX('Nu exista modificari nevalidate!',0,'Inventariere') + Return .F. + Endif + ENDIF + + + If !This.lBonConsum + lcTitlu = [Nota Inventariere] + lcTip = [INTREBARE] + lcImagine = [intreb.ico] + lcMesaj = [Doriti sa incheiati nota de inventariere?] + ofrm_eroare = Createobject('frm_mesaj', lcTitlu, lcImagine, lcTip, lcMesaj) + ofrm_eroare.Show(1) + Release ofrm_eroare + Else + gnButon = 1 + Endif + + + + + Local lnIdSet + *!* modificare 15.08.2007 + Do Case + Case Thisform.linventarroavin + lnIdSet = 30009 + *!* modificare ROAPRODUCTIE v 2.0.0 + Case Thisform.lBonConsum + lnIdSet = 26000 + *!* modificare ROAPRODUCTIE v 2.0.0 ^ + Otherwise + lnIdSet = 90101 + Endcase + *!* modificare 15.08.2007 ^ + + Local llReturn + llReturn = .T. + + If gnButon = 1 + *!* aduc toate inregistrarile de pe server (daca sunt filtrate este posibil sa nu fie pe local toate modificarile din sesiunea curenta) + *!* IF !EMPTY(this.filtru_pretty_ro_full) + This.but_reset_criterii1.Click() + *!* ENDIF + + *!* This.do_reset + *!* *!* THIS.actualizeaza_grid1() + *!* Thisform.actualizeaza_grid1("2=2") + + *!* modificare v 2.2.34 + Use In (Select("rul_temp")) + Use In (Select("rul_temp_obinv")) + *!* modificare v 2.2.34 ^ + + lcSel = [Select * from ] + gcs + [.vrul where 1=2] + lcSchema = [''] + lcCursor = [rul_temp] + + If This.lobinv + lcSel = [Select * from ] + gcs + [.vrul_obinv where 1=2] + lcSchema = [''] + lcCursor = [rul_temp_obinv] + Endif + + lnSucces = goExecutor.oExecute(lcSel, lcCursor) + If lnSucces < 0 + AMESSAGEBOX(goExecutor.cEroare, 0 + 16, "Eroare") + Return .F. + Endif + + + *!* 07.07.2006 + *!* marius.mutu + *!* in cererea de date se afiseaza prima gestiune din inventar (pentru numere de bonuri pe gestiuni) + *!* SELECT (lcCrs) + *!* LOCATE FOR stoc_scriptic - stoc_faptic <> 0 AND VALIDAT = 0 + *!* IF FOUND() + *!* lnIdGestiune = id_gestiune + *!* lcGestiune = nume_gestiune + *!* ELSE + *!* lnIdGestiune = 0 + *!* lcGestiune = "" + *!* ENDIF + *!* LOCAL taValori + *!* Dimension taValori[2,3] + *!* taValori[1,1]="poAct.id_gestout" + *!* taValori[1,2]=Alltrim(Str(lnIdGestiune )) + *!* taValori[1,3]= !EMPTY(lnIdGestiune ) + + *!* taValori[2,1]="poAct.gestout" + *!* taValori[2,2]=IIF(!EMPTY(lnIdGestiune ),lcGestiune,[]) + *!* taValori[2,3]=!EMPTY(lnIdGestiune ) + + This.Hide + && cerere date + + If !This.lBonConsum + gnButon = lans(lnIdSet) + Endif + *!* gnButon =lans(90101,.F.,.F.,@taValori) + + If gnButon <> 2 && renunt + Select actactan + Locate + Scatter Name loAct + + && completare actactan + If .T. && nu mai fac ramura speciala pentru nota obiecte inventar in folosinta !This.lobinv + lcCrs = This.cnumecursor + Select Cont, acont, nr_pag, id_gestiune, proc_tvav, ; + Sum(Round(Pret * (stoc_scriptic - stoc_faptic), gnPc)) As valoare_achizitie, ; + Sum(Round((pretv - Pret) * (stoc_scriptic - stoc_faptic), gnPc)) As valoare_adaos, ; + Sum(Round(tvav * (stoc_scriptic - stoc_faptic), gnPc)) As valoare_tva ; + From (lcCrs) ; + WHERE stoc_scriptic - stoc_faptic <> 0 AND ((m.llCorectie AND NVL(validat,0) = 0) OR !m.llCorectie) ; + Group By Cont, acont, nr_pag, id_gestiune, proc_tvav ; + Order By nr_pag, Cont, acont, proc_tvav ; + Into Cursor tcrs + + Select actactan + Delete All + + Select tcrs + Scan + Scatter Name onota + Select actactan + Append Blank + + If This.lBonConsum + Private poF_doc + Store '' To poF_doc + + Local lcSchema1, lcSelect1, lcOrder1, lcFiltru1, llAfiseaza + lcSchema1 = [] + lcSelect1 = [select * from vnom_fdoc ] + lcOrder1 = [] + lcgroup = [] + lcFiltru1 = [ TRIM(UPPER(fel_document)) = 'BON CONSUM'] + lcFiltruOriginal = [] + llModParam = .T. + llAfiseaza = .F. + + gencursor('poF_doc', 'crsF_doc', lcSelect1, lcFiltru1, lcSchema1, lcOrder1, llAfiseaza, lcgroup, llModParam, lcFiltruOriginal) + poF_doc.ca_baza1.afisare() + + Select crsF_doc + Go Top + poact.id_fdoc = id_fdoc + poact.fdoc = fel_document + + Select actactan + Gather Name poact && 21.09.2006 - bon consum + + Release poF_doc + If Used('crsF_doc') + Use In crsF_doc + Endif + Endif + + *!* modificare ROAVIN v 2.0.1 ( 19.05.2011 ) + Select crsconfigcvc + Locate For Cont = Upper(Alltrim(onota.Cont)) + If Found() + lcContCoresp = Alltrim(cont_chelt) + Else + If Left(Alltrim(onota.Cont), 2) = '34' + lcContCoresp = '711' + Else + If Alltrim(onota.Cont) # '371' + lcContCoresp = Strtran(onota.Cont, '3', '6', 1, 1) + Else + lcContCoresp = '607 ' + Endif + Endif + Endif + *!* If Left(Alltrim(onota.Cont),2)='34' + *!* lcContCoresp = '711' + *!* Else + *!* If Alltrim(onota.Cont) # '371' + *!* lcContCoresp = Strtran(onota.Cont, '3', '6', 1, 1) + *!* Else + *!* lcContCoresp = '607 ' + *!* Endif + *!* Endif + *!* modificare ROAVIN v 2.0.1 ( 19.05.2011 ) ^ + + * obiecte de inventar in folosinta - clasa 8 nu are corespondent + IF LEFT(onota.Cont,1) = '8' + lcContCoresp = '' + ENDIF + + loAct.scc = onota.Cont + loAct.ascc = onota.acont + loAct.id_gestout = onota.id_gestiune + + Select actactan + If This.lBonConsum && 21.09.2006 - bon consum + Replace scc With loAct.scc, ; + ascc With loAct.ascc + Else + Gather Name loAct + Endif + + + Replace suma With onota.valoare_achizitie, scd With lcContCoresp + If onota.nr_pag = 6 && marfa la pret de vanzare + Select actactan + Append Blank + Gather Name loAct + Replace suma With onota.valoare_adaos, scd With '378 ', proc_tva With onota.proc_tvav + If onota.proc_tvav <> 1 + Select actactan + Append Blank + Gather Name loAct + Replace suma With onota.valoare_tva, scd With '4428', proc_tva With onota.proc_tvav + Endif + Endif + Select tcrs + Endscan + Use In tcrs && modificare 23.10.2012 + Else + Select actactan + Locate + Replace scd With '603 ', scc With '303 ' + Endif + && completare rul_temp + + lcCrs = This.cnumecursor + + If This.lobinv + + Insert Into rul_temp_obinv (id_articol, id_gestiune, Cont, acont, Pret, pretd, ID_Valuta, pretv, cante, tvav, proc_tvav, id_responsabil, datapif, dns_luni, id_set, id_rul_aux, serie, lot) ; + Select id_articol, id_gestiune, Cont, acont, Pret, pretd, ID_Valuta, pretv, stoc_scriptic - stoc_faptic As cante, ; + tvav, proc_tvav, id_responsabil, datapif, dns_luni, lnIdSet, id_rul_aux, serie, lot ; + From &lcCrs ; + Where stoc_scriptic-stoc_faptic <>0 AND ((m.llCorectie AND NVL(validat,0) = 0) OR !m.llCorectie) + ***------- + ** modificarea uzurii (dns_luni) + Insert Into rul_temp_obinv (id_articol, id_gestiune, Cont, acont, Pret, pretd, ID_Valuta, pretv, cante, tvav, proc_tvav, id_responsabil, datapif, dns_luni, id_tip_rulaj, id_set, id_rul_aux, serie, lot) ; + Select id_articol, id_gestiune, Cont, acont, Pret, pretd, ID_Valuta, pretv, stoc_faptic As cante, ; + tvav, proc_tvav, id_responsabil, datapif, dns_luni, 4 As id_tip_rulaj, lnIdSet, id_rul_aux, serie, lot ; + From &lcCrs ; + Where (stoc_scriptic <> 0 Or stoc_faptic <> 0) And dns_luni_faptic <> dns_luni AND ((m.llCorectie AND NVL(validat,0) = 0) OR !m.llCorectie) + + Insert Into rul_temp_obinv ( id_articol, id_gestiune, Cont, acont, Pret, pretd, ID_Valuta, pretv, cant, tvav, proc_tvav, id_responsabil, datapif, dns_luni, id_tip_rulaj, id_set, id_rul_aux, serie, lot) ; + Select id_articol, id_gestiune, Cont, acont, Pret, pretd, ID_Valuta, pretv, stoc_faptic As cant, ; + tvav, proc_tvav, id_responsabil, datapif, dns_luni_faptic, 4 As id_tip_rulaj, lnIdSet, id_rul_aux, serie, lot ; + From &lcCrs ; + Where (stoc_scriptic <> 0 Or stoc_faptic <> 0) And dns_luni_faptic <> dns_luni AND ((m.llCorectie AND NVL(validat,0) = 0) OR !m.llCorectie) + + lcCursor = [rul_temp_obinv] + Select (lcCursor) + Replace All nnir With loAct.nnir, dataact With loAct.dataact, nract With loAct.nract, serie_Act With loAct.serie_Act + Replace All datapif With loAct.dataact For cant <> 0 + Replace All id_set With lnIdSet For Empty(id_set) + Else + + If This.lBonConsum + Insert Into rul_temp(id_articol, id_gestiune, id_lucrare, Cont, acont, Pret, pretd, ID_Valuta, pretv, cante, tvav, proc_tvav, id_set, id_rul_aux, serie, lot, adata_expirare, id_lucrare_rez, id_part_rez) ; + Select id_articol, id_gestiune, poact.id_lucrare As id_lucrare, Cont, acont, Pret, pretd, ID_Valuta, pretv, stoc_scriptic - stoc_faptic As cante, tvav, proc_tvav, id_set, id_rul_aux, serie, lot, adata_expirare, id_lucrare_rez, id_part_rez ; + From &lcCrs Where stoc_scriptic - stoc_faptic <> 0 AND ((m.llCorectie AND NVL(validat,0) = 0) OR !m.llCorectie) + Else && de unde pune id_set la productie ???? + Insert Into rul_temp( id_articol, id_gestiune, Cont, acont, Pret, pretd, ID_Valuta, pretv, cante, tvav, proc_tvav, id_set, id_rul_aux, serie, lot, adata_expirare, id_lucrare_rez, id_part_rez) ; + Select id_articol, id_gestiune, Cont, acont, Pret, pretd, ID_Valuta, pretv, stoc_scriptic - stoc_faptic As cante, tvav, proc_tvav, lnIdSet, id_rul_aux, serie, lot, adata_expirare, id_lucrare_rez, id_part_rez ; + From &lcCrs Where stoc_scriptic - stoc_faptic <> 0 AND ((m.llCorectie AND NVL(validat,0) = 0) OR !m.llCorectie) + Endif + lcCursor = [rul_temp] + Select (lcCursor) + Replace All nnir With loAct.nnir, dataact With loAct.dataact, nract With loAct.nract, serie_Act With loAct.serie_Act + Replace All id_set With lnIdSet For Empty(id_set) + Endif + + + If This.lBonConsum && prg Productie + Select (lcCursor) + Replace All nnir With poact.nnir, ; + dataact With poact.dataact, ; + id_sectie With poact.id_sectie, ; + id_responsabil With poact.id_responsabil, ; + id_gestiune With poact.id_gestiune, nract With loAct.nract, serie_Act With loAct.serie_Act + Endif + + && verificare note contabile + Select actactan + Locate + lVerificAnalitic = .T. + lCompletareParteneri = .T. + + *!* IF !INLIST(poact.id_set, 26000) && Bon de consum cu inventar + If !This.lBonConsum + Do Form verificare With lVerificAnalitic, lCompletareParteneri + Endif + Endif + + llReturn = gnButon = 1 + Else + llReturn = .F. + Endif + + Return llReturn + + ENDPROC + + PROCEDURE Init + Lparameters tnIdCInventar + DoDefault() + This.nidcinventar = tnIdCInventar + + This.gridextra1.Setup() + ENDPROC + + PROCEDURE Show + Lparameters nStyle + *** CREEZ CURSORUL INITIAL + + *!* lcSelect = ALLTRIM(This.cSelect) + *!* lcFiltru = Iif(!Empty(This.cFiltru),This.cFiltru + [ AND ] + This.cFiltruOriginal,This.cFiltruOriginal) + *!* lcFiltruOriginal = ALLTRIM(This.cFiltruOriginal) + *!* lcSchema = ALLTRIM(This.cSchema) + lcOrder = Alltrim(This.cOrder) + *llAfisare = .F. + *lcNumeCursor = This.cNumecursor + + *llModParam = this.lmodparam + + *!* INREGISTRARILE MODIFICATE VALIDATE: GRI RGB(230,230,230) + *!* INREGISTRARILE MODIFICATE NEVALIDATE: BLUE PAL RGB(240,241,255) + *this.grid1.SetAll("DynamicBackColor","IIF(NVL(VALIDAT,0) = 1, RGB(230,230,230), IIF(!EMPTY(NVL(ID_UTIL,0)), RGB(240,241,255), RGB(255,255,255)))","Column") + + *!* COLOANELE CARE SE POT MODIFICA: ALBASTRU RGB(234,249,255) + this.grid1.cstoc_faptic.DynamicBackColor = "RGB(234,249,255)" + this.grid1.cMotiv_depreciere.DynamicBackColor = "RGB(234,249,255)" + this.grid1.cDepreciere.DynamicBackColor = "RGB(234,249,255)" + this.grid1.cUzura_faptic.DynamicBackColor = "RGB(234,249,255)" + this.grid1.cData_expirare.DynamicBackColor = "RGB(234,249,255)" + + IF this.lvalidat AND !this.lCorectie + this.but_nou1.Visible= .F. + this.but_sterge1.Visible = .F. + this.but_terMIN1.Visible = .F. + ENDIF + + This.grid1.cCants.Visible = .F. + This.grid1.cCant.Visible = .F. + This.grid1.cCante.Visible = .F. + + *!* modificare 15.08.2007 + If !This.lInventarroavin + This.grid1.SetAll("DynamicFontItalic","IIF(NVL(id_rul_aux,0)<>0,.T.,.F.)","Column") + This.grid1.SetAll("DynamicForeColor","IIF(NVL(id_rul_aux,0)<>0,RGB(128,128,128),RGB(0,0,0))","Column") + This.grid1.RemoveObject("cCant_zahar") + This.grid1.RemoveObject("cGrade_alcool") + This.grid1.RemoveObject("cPotential") + This.grid1.RemoveObject("cStadiu") + This.grid1.RemoveObject("cAn_prod") + This.grid1.RemoveObject("cExplicatie") + This.grid1.RemoveObject("cAcronim") + + Thisform.acronim = .F. + Thisform.cant_zahar= .F. + Thisform.grade_alcool= .F. + Thisform.an_prod= .F. + Thisform.potential= .F. + Thisform.stadiu= .F. + Thisform.explicatie = .F. + Else + This.lb_explicatie.Visible = .F. + Endif + *!* modificare 15.08.2007 ^ + + If This.lobinv + This.grid1.cResponsabil.Visible = .T. + This.grid1.cMeserie.Visible = .T. + This.grid1.cFormatia.Visible = .T. + This.grid1.cDataAng.Visible = .T. + This.grid1.cDatalic.Visible = .T. + This.grid1.cDatapif.Visible = .T. + This.grid1.cDns_luni.Visible = .T. + This.grid1.cuzura_faptic.Visible = .T. + This.grid1.cdif_dns_luni.Visible = .T. + This.grid1.cDNF.Visible = .T. + This.grid1.cdata_expirare.Visible = .T. + + This.grid1.cResponsabil.ColumnOrder = 2 + This.grid1.cCodmat.ColumnOrder = 3 + This.grid1.cDenumire.ColumnOrder = 4 + This.grid1.cSerie.ColumnOrder = 5 + This.grid1.cUM.ColumnOrder = 6 + This.grid1.cCgest.ColumnOrder = 7 + This.grid1.ccont.ColumnOrder = 8 + This.grid1.cacont.ColumnOrder = 9 + This.grid1.cpret_unitar.ColumnOrder = 10 + This.grid1.cstoc_scriptic.ColumnOrder = 11 + This.grid1.cstoc_faptic.ColumnOrder = 12 + This.grid1.cdiferenta.ColumnOrder = 13 + This.grid1.cvaldif.ColumnOrder = 14 + + This.grid1.cDns_luni.ColumnOrder = 15 + This.grid1.cuzura_faptic.ColumnOrder = 16 + This.grid1.cdif_dns_luni.ColumnOrder = 17 + + This.grid1.cdepreciere.ColumnOrder = 18 + This.grid1.cmotiv_depreciere.ColumnOrder = 19 + + This.grid1.cMeserie.ColumnOrder = 20 + This.grid1.cFormatia.ColumnOrder = 21 + This.grid1.cDataAng.ColumnOrder = 22 + This.grid1.cDatalic.ColumnOrder = 23 + + This.grid1.cCants.ColumnOrder = 24 + This.grid1.cCant.ColumnOrder = 25 + This.grid1.cCante.ColumnOrder = 26 + This.grid1.cUtilizator.ColumnOrder = 27 + This.grid1.cDataIn.ColumnOrder = 28 + * This.grid1.cValidat.ColumnOrder = 28 + + This.respons= .T. + This.meserie= .T. + This.formatie= .T. + This.dataang= .T. + This.datalic= .T. + *This.ck_diferenta_dns_luni.Visible = .T. + Else + This.grid1.cResponsabil.Visible = .F. + This.grid1.cMeserie.Visible = .F. + This.grid1.cFormatia.Visible = .F. + This.grid1.cDataAng.Visible = .F. + This.grid1.cDatalic.Visible = .F. + This.grid1.cDatapif.Visible = .F. + This.grid1.cDns_luni.Visible = .F. + This.grid1.cuzura_faptic.Visible = .F. + This.grid1.cdif_dns_luni.Visible = .F. + This.grid1.cDNF.Visible = .F. + This.grid1.cdata_expirare.Visible = .F. + + This.respons= .F. + This.meserie= .F. + This.formatie= .F. + This.dataang= .F. + This.datalic= .F. + *This.ck_diferenta_dns_luni.Visible = .F. + Endif + + If This.lbonconsum + This.lb_TITLU_ALB_B121.Caption="Bon de consum cu inventar" + + This.grid1.ColumnCount = 16 + This.validat = .F. + This.nevalidat = .F. + This.grupegest = .F. + + This.but_nou1.Visible = .F. + This.but_sterge1.Visible = .F. + This.but_excel1.Visible = .F. + This.but_listare1.Visible = .F. + Endif + + + + *!* * Replace default headers with custom one + *!* lcOrder = this.corder + *!* i=0 + *!* For Each loColumn In This.GRID1.Columns + *!* i = i + 1 + *!* With loColumn + *!* If !Empty(loColumn.ControlSource) + + *!* * Save default caption, color and font + + *!* lcOldCaption = loColumn.Header1.Caption + *!* lcOldFontName = loColumn.Header1.FontName + *!* lnOldForeColor = loColumn.Header1.ForeColor + *!* llOldFontUnderline = loColumn.Header1.FontUnderline + *!* llOldWordWrap = loColumn.Header1.WordWrap + *!* + *!* * Name Header Obj after ControlSource + + *!* lcControlSrc = loColumn.ControlSource + *!* lnControlSrc = Rat(".", lcControlSrc) + 1 + *!* lcControlSrc = Substr(lcControlSrc, lnControlSrc) + + *!* * Metoda dupa care se face ordonarea relativa la grid + *!* lcMethodName = 'parent.corderby_assign' + *!* lcPropColOrder = 'parent.cOrder' + *!* lcPropSensOrder = 'parent.cAsc' + *!* * Remove old and create new header + + *!* .RemoveObject("Header1") + *!* .AddObject("grh"+ALLTRIM(STR(i)), ; + *!* "PSHeader", ; + *!* lcOldCaption, lcOldFontName,lnOldForeColor,llOldFontUnderline,lcMethodName,lcControlSrc,llOldWordWrap) + + *!* If Upper(Alltrim(lcControlSrc)) = Upper(Alltrim(lcOrder)) + *!* lcCuloare = [locolumn.grh] + ALLTRIM(STR(i)) + [.forecolor = RGB(0,0,255)] + *!* &lcCuloare + *!* lcUnderline = [locolumn.grh] + ALLTRIM(STR(i)) + [.FontUnderline = .t.] + *!* &lcUnderline + *!* Endif + *!* Endif + *!* Endwith + *!* ENDFOR + This.do_executa + This.grid1.SetFocus + + This.WindowState = 2 + ENDPROC + + PROCEDURE updateserver + Parameters tnId, tcCol, tValue + LOCAL lnSucces + PRIVATE pnIdRulAux + pnIdRulAux = 0 + lnSucces = 1 + If LOWER(ALLTRIM(m.tcCol)) = 'id_furnizor' + lcSql = [begin pack_contafin.GetRulajAuxiliarFurnizor(] + TRANSFORM(tValue) + [, ?@pnIdRulAux); end;] + lnSucces = goExecutor.oExecute(m.lcSql) + IF m.lnSucces < 0 + AMESSAGEBOX(goExecutor.cEroare, 0+48, _screen.Caption) + RETURN m.lnSucces + ELSE + tcCol = 'id_rul_aux' + tValue = m.pnIdRulAux + ENDIF + ENDIF + + lcSql = 'update gest_inventar set id_util = ?gnIdUtil, ' + tcCol + ' = ?tValue where id_inventar = ?tnId' + lnSucces = goExecutor.oExecute(lcSql) + If lnSucces < 0 + aMESSAGEBOX('Nu s-au facut modificari pe server!',0+16,"Eroare") + Endif + + Thisform.do_executa + + RETURN m.lnSucces + ENDPROC + + PROCEDURE But_start_criterii1.loadcriterii + Parameters tacriterii + External Array tacriterii + #Define crlf Chr(13)+Chr(10) + lcStringCriterii="Denumire articol\denumire\T\id_articol\nom_articol"+ crlf + ; + "Cod material\codmat\T\none\"+ crlf + ; + "Cod bare\codbare\T\none\"+ crlf + ; + "Pret achizitie\pret\N|get_mask(12,gnPpret)\none\"+ crlf + ; + "Pret vanzare\pretv+tvav\N|get_mask(12,gnPpret)\none\"+ crlf + ; + "Pret valuta\pretd\N|get_mask(12,gnPPretval)\none\" + crlf + ; + "Cont\cont\T\none\" + crlf + ; + "Analitic\acont\T\none\" + crlf + ; + "Gestiune\id_gestiune\I\id_gestiune\nom_gestiune" + crlf + ; + "Grupa articol\none\I\id_grupa\nom_grupa_articol"+ crlf + ; + "Subgrupa articol\none\I\id_subgrupa\nom_subgrupa_articol"+ crlf + If (Thisform.Validat=.T.) + lcStringCriterii=lcStringCriterii+"Validat\nofiled\E\ validat=1\" + crlf + Endif + If (Thisform.nevalidat=.T.) + lcStringCriterii=lcStringCriterii+ "Nevalidat\nofiled\E\ validat=0\" + crlf + Endif + If (Thisform.grupegest=.T.) + lcStringCriterii=lcStringCriterii+"Grupe gestiuni\|E|" + ; + [id_gestiune in ( ] + ; + [ select ID_GESTIUNE ] + ; + [ from vgest_coresp_grupe_gestiuni] + ; + [ where id_grupe = <>)] + ; + [\I\none\nom_grupa_gestiune] + crlf + Endif + lcStringCriterii=lcStringCriterii+"Stoc scriptic\stoc_scriptic\N\none\" + crlf + ; + "Stoc faptic\stoc_faptic\N\none\" + crlf + ; + "Diferenta\stoc_faptic-stoc_scriptic\N\none\" + crlf + ; + "Data intrare\datain\D\none\" + crlf + ; + "Data PIF\datapif\D\none\" + crlf + ; + "Lucrare rezervare\nrord_rez\T\ID_LUCRARE_REZ\nom_lucrare" + crlf + ; + "Partener rezervare\part_rez\T\id_part_rez\nom_parteneri" + crlf + ; + "TVA vanz. eronat\nofiled\E\ ABS(pretv * (proc_tvav - 1) - tvav) > 0.1\" + crlf + + If Thisform.respons=.T. + lcStringCriterii=lcStringCriterii + "Responsabil\responsabil\T\id_responsabil\nom_responsabil" + crlf + ; + "Meserie\meserie\T\id_meserie\nom_meserie" + crlf + ; + "Formatie\formatia\T\id_formatia\nom_formatie" + crlf + ; + "Data angajarii\dataang\D\none\" + crlf + ; + "Data plecarii\datalic\D\none\" + Endif + + DoDefault() + * "An prod\an_prod\N\none\" + crlf + ; + ENDPROC + + ENDPROC + + PROCEDURE Grid1.cData_expirare.Text1.GotFocus + *!* modificare 15.08.2007 + If !Thisform.linventarroavin + This.Parent.ReadOnly = Iif(id_rul_aux<>0,.T.,.F.) + This.ReadOnly = Iif(id_rul_aux<>0,.T.,.F.) + Endif + *!* modificare 15.08.2007 ^ + ENDPROC + + PROCEDURE Grid1.cData_expirare.Text1.LostFocus + IF EMPTY(this.value) + WAIT WINDOW "Completati data expirarii !" + this.value = thisform.nValue + RETURN + ENDIF + + IF NVL(thisform.nvalue,{//::}) # NVL(this.value,{//::}) + * lnDNS_LUNI_FAPTIC = ROUND(dnf *(100-uzura_faptic)/100, 0) + lnDNS_LUNI_FAPTIC = (YEAR(data_expirare)*12+MONTH(data_expirare)) - (gnAn*12+gnLuna) + + lnUzura_faptic = IIF(DNF = 0, 0, round((dnf - lnDNS_LUNI_FAPTIC) / dnf * 100, 0)) + REPLACE uzura_faptic WITH lnUzura_faptic + + lnId = crs_inventar.id_inventar + thisform.UpdateServer(lnId,'uzura_faptic', lnUzura_faptic) + thisform.UpdateServer(lnId,'dns_luni_faptic', lnDNS_LUNI_FAPTIC) + ENDIF + ENDPROC + + PROCEDURE Grid1.cData_expirare.Text1.When + *!* NU SE POATE MODIFICA O INREGISTRARE VALIDATA + IF thisform.lvalidat + RETURN .F. + ENDIF + thisform.nValue = this.Value + + ENDPROC + + PROCEDURE Grid1.cDepreciere.Text1.GotFocus + *!* readonly daca este id_rul_aux completat (adica inventarul provine din alt program) + *!* daca id_furnizor este completat, din gestiuni + If !Thisform.linventarroavin + This.Parent.ReadOnly = (nvl(id_rul_aux,0)<>0 and NVL(id_furnizor,0) = 0) + This.ReadOnly = (nvl(id_rul_aux,0)<>0 and NVL(id_furnizor,0) = 0) + Endif + ENDPROC + + PROCEDURE Grid1.cDepreciere.Text1.LostFocus + IF thisform.nvalue # this.Value + lnId = crs_inventar.id_inventar + thisform.UpdateServer(lnId,'depreciere',this.Value) + ENDIF + ENDPROC + + PROCEDURE Grid1.cDepreciere.Text1.When + *!* NU SE POATE MODIFICA O INREGISTRARE VALIDATA + IF thisform.lvalidat + RETURN .F. + ENDIF + thisform.nvalue = this.Value + ENDPROC + + PROCEDURE Grid1.cFurnizor.Text1.Click + *!* NU SE POATE MODIFICA O INREGISTRARE VALIDATA + IF thisform.lvalidat + RETURN .F. + ENDIF + + IF crs_inventar.stoc_scriptic <> 0 + RETURN .F. + ENDIF + + thisform.do_cauta_furnizor() + ENDPROC + + PROCEDURE Grid1.cFurnizor.Text1.When + *!* NU SE POATE MODIFICA O INREGISTRARE VALIDATA + IF thisform.lvalidat + RETURN .F. + ENDIF + + thisform.nvalue = this.Value + + ENDPROC + + PROCEDURE Grid1.cMotiv_depreciere.Text1.GotFocus + *!* readonly daca este id_rul_aux completat (adica inventarul provine din alt program) + *!* daca id_furnizor este completat, din gestiuni + If !Thisform.linventarroavin + This.Parent.ReadOnly = (nvl(id_rul_aux,0)<>0 and NVL(id_furnizor,0) = 0) + This.ReadOnly = (nvl(id_rul_aux,0)<>0 and NVL(id_furnizor,0) = 0) + Endif + ENDPROC + + PROCEDURE Grid1.cMotiv_depreciere.Text1.LostFocus + IF thisform.cvalue # this.Value + lnId = crs_inventar.id_inventar + thisform.UpdateServer(lnId,'Motiv_Depreciere',this.Value) + ENDIF + ENDPROC + + PROCEDURE Grid1.cMotiv_depreciere.Text1.When + *!* NU SE POATE MODIFICA O INREGISTRARE VALIDATA + IF thisform.lvalidat + RETURN .F. + ENDIF + thisform.cvalue = this.Value + ENDPROC + + PROCEDURE Grid1.cstoc_faptic.Text1.GotFocus + *!* readonly daca este id_rul_aux completat (adica inventarul provine din alt program) + *!* daca id_furnizor este completat, din gestiuni + If !Thisform.linventarroavin + This.Parent.ReadOnly = (nvl(id_rul_aux,0)<>0 and NVL(id_furnizor,0) = 0) + This.ReadOnly = (nvl(id_rul_aux,0)<>0 and NVL(id_furnizor,0) = 0) + Endif + ENDPROC + + PROCEDURE Grid1.cstoc_faptic.Text1.LostFocus + IF THIS.VALUE < 0 + SELECT crs_inventar + REPLACE stoc_faptic WITH stoc_scriptic + ELSE + IF THISFORM.nvalue # THIS.VALUE + lnId = crs_inventar.id_inventar + THISFORM.UpdateServer(lnId,'stoc_faptic',THIS.VALUE) + ENDIF + ENDIF + + ENDPROC + + PROCEDURE Grid1.cstoc_faptic.Text1.When + *!* NU SE POATE MODIFICA O INREGISTRARE VALIDATA + IF thisform.lvalidat + RETURN .F. + ENDIF + + thisform.nvalue = this.Value + + ENDPROC + + PROCEDURE Grid1.cUzura_faptic.Text1.GotFocus + *!* modificare 15.08.2007 + If !Thisform.linventarroavin + This.Parent.ReadOnly = Iif(id_rul_aux<>0,.T.,.F.) + This.ReadOnly = Iif(id_rul_aux<>0,.T.,.F.) + Endif + *!* modificare 15.08.2007 ^ + ENDPROC + + PROCEDURE Grid1.cUzura_faptic.Text1.LostFocus + IF NVL(thisform.nvalue,0) # this.Value + lnDNS_LUNI_FAPTIC = ROUND(dnf *(100-uzura_faptic)/100, 0) + lnUzura_faptic = IIF(DNF = 0, 0, round((dnf - lnDNS_LUNI_FAPTIC) / dnf * 100, 0)) + REPLACE uzura_faptic WITH lnUzura_faptic + + lnId = crs_inventar.id_inventar + thisform.UpdateServer(lnId,'uzura_faptic', lnUzura_faptic) + thisform.UpdateServer(lnId,'dns_luni_faptic', lnDNS_LUNI_FAPTIC) + ENDIF + ENDPROC + + PROCEDURE Grid1.cUzura_faptic.Text1.When + *!* NU SE POATE MODIFICA O INREGISTRARE VALIDATA + IF thisform.lvalidat + RETURN .F. + ENDIF + thisform.nvalue = this.Value + + ENDPROC + + PROCEDURE Gridextra1.applyfilter + DODEFAULT() + thisform.do_executa() + ENDPROC + + PROCEDURE Gridextra1.clearfilter + DODEFAULT() + thisform.do_executa() + ENDPROC + + PROCEDURE _SHAPE1.DblClick + IF thisform.WindowState = 2 + thisform.WindowState = 0 + ELSE + thisform.WindowState = 2 + ENDIF + ENDPROC + +ENDDEFINE + +DEFINE CLASS inventar_stoc_magazin AS frm_termin_renunt OF "_frm_child.vcx" + *< CLASSDATA: Baseclass="form" Timestamp="" Scale="Pixels" Uniqueid="" /> + + *-- OBJECTDATA items order determines ZOrder / El orden de los items OBJECTDATA determina el ZOrder + *< OBJECTDATA: ObjPath="_shape3" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="But_excel1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="Grid1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="Grid1.cNrcrt.Header1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="Grid1.cNrcrt.Text1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="Grid1.cCodmat.Header1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="Grid1.cCodmat.Text1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="Grid1.cDenumire.Header1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="Grid1.cDenumire.Text1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="Grid1.cUM.Header1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="Grid1.cUM.Text1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="Grid1.cCgest.Header1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="Grid1.cCgest.Text1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="Grid1.ccont.Header1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="Grid1.ccont.Text1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="Grid1.cAcont.Header1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="Grid1.cAcont.Text1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="Grid1.cPret_unitar.Header1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="Grid1.cPret_unitar.Text1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="Grid1.cstoc_faptic.Header1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="Grid1.cstoc_faptic.Text1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="Grid1.cCants.Header1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="Grid1.cCants.Text1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="Grid1.ccant.Header1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="Grid1.ccant.Text1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="Grid1.ccante.Header1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="Grid1.ccante.Text1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="Grid1.cUtilizator.Header1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="Grid1.cUtilizator.Text1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="Grid1.cresponsabil.Header1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="Grid1.cresponsabil.Text1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="Grid1.cdatapif.Header1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="Grid1.cdatapif.Text1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="Grid1.cdnf.Header1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="Grid1.cdnf.Text1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="Grid1.cMeserie.Header1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="Grid1.cMeserie.Text1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="Grid1.cFormatia.Header1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="Grid1.cFormatia.Text1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="Grid1.cDataang.Header1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="Grid1.cDataang.Text1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="Grid1.cDatalic.Header1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="Grid1.cDatalic.Text1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="Grid1.cdns_luni.Header1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="Grid1.cdns_luni.Text1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="Grid1.cUzura_faptic.Header1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="Grid1.cUzura_faptic.Text1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="Grid1.cDif_dns_luni.Header1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="Grid1.cDif_dns_luni.Text1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="Grid1.cData_expirare.Header1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="Grid1.cData_expirare.Text1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="Grid1.cSerie.Header1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="Grid1.cSerie.Text1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="Grid1.cGrupa.Header1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="Grid1.cGrupa.Text1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="Grid1.cSubgrupa.Header1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="Grid1.cSubgrupa.Text1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="Grid1.cPretd.Header1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="Grid1.cPretd.Text1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="Grid1.cValuta.Header1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="Grid1.cValuta.Text1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="Grid1.cPretcTVA.Header1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="Grid1.cPretcTVA.Text1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="Grid1.cCodbare.Header1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="Grid1.cCodbare.Text1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="Grid1.cPart_rez.Header1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="Grid1.cPart_rez.Text1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="Grid1.cNrord_rez.Header1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="Grid1.cNrord_rez.Text1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="Grid1.cProc_TVAv.Header1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="Grid1.cProc_TVAv.Text1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="Grid1.cProc_TVAv._combobox1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="Grid1.cStocFaptic1.Header1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="Grid1.cStocFaptic1.Text1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="Grid1.cStocFaptic2.Header1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="Grid1.cStocFaptic2.Text1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="Grid1.cStocFaptic3.Header1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="Grid1.cStocFaptic3.Text1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="Grid1.cStocFaptic4.Header1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="Grid1.cStocFaptic4.Text1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="Grid1.cStocFaptic5.Header1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="Grid1.cStocFaptic5.Text1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="Grid1.cStocScriptic.Header1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="Grid1.cStocScriptic.Text1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="Grid1.cFirstUpdatedAt.Header1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="Grid1.cFirstUpdatedAt.Text1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="Grid1.cFurnizor.Header1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="Grid1.cFurnizor.Text1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="Grid1.cIdArticol.Header1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="Grid1.cIdArticol.Text1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="Grid1.cValidat.Header1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="Grid1.cValidat.Text1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="Grid1.cValidat.Check1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="Grid1.cDataOraValidat.Header1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="Grid1.cDataOraValidat.Text1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="Grid1.cDataOra.Header1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="Grid1.cDataOra.Text1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="Clb_tx_simplu2" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="Clb_tx_simplu1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="Clb_tx_simplu3" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="But_nou1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="But_listare1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="But_stergeX" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="But_start_criterii1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="But_reset_criterii1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="Clb_tx_codbare" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="lblAtentie" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="Ct_clb_gestiune" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="Gridextra1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="But_copiaza1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="but_reface1" UniqueID="" Timestamp="" /> + + #INCLUDE "..\roa.h" + * + *m: citeste_doc + *m: corder_assign + *m: do_adauga_inform + *m: do_cautacodbare + *m: do_cauta_articol + *m: do_cauta_codbare + *m: do_cauta_furnizor + *m: do_cauta_gestiune + *m: updateserver + *m: validcantitate && Valideaza cantitatea - sa nu fie prea mare - daca se citeste codul de bare pe coloanele stoc faptic + *m: validpret && valideaza pretul - sa nu fie pret prea mare - citire cod de bare pe coloana pret + *p: casc + *p: cdescriere + *p: cfiltru + *p: cfiltruoriginal + *p: cid_gestiuni && lista gestiunilor pe care se face inventar + *p: cnumecursor + *p: cnume_gest + *p: corder + *p: cschema + *p: cselect + *p: dataang + *p: datalic + *p: ddatainventar && data incepere inventar + *p: explicatie + *p: formatie + *p: grupegest + *p: lcorectie + *p: linregistrarevalidata + *p: lmodparam + *p: lobinv + *p: lvalidat + *p: meserie + *p: ncod + *p: ncstoc_faptic + *p: nevalidat + *p: nidcinventar + *p: nidfact + *p: nid_gestiune + *p: nid_gestiuni + *p: nmaxcantitate && Cantitatea maxima care poate fi introdusa pe celulele stoc faptic - pentru evitarea erorilor de tastare / cod de bare in stoc faptic + *p: nmaxpret && Cantitatea maxima care poate fi introdusa pe celulele pret - pentru evitarea erorilor de tastare / cod de bare in pret + *p: noptiuneinventar && 1 = stoc, 2 = fara articole, 3 = articolele intrate in ultimele x luni + *p: npretvtva + *p: nproc_tvav + *p: nstoc_faptic + *p: nstoc_fapticv + *p: nvalue + *p: ocursor + *p: respons + *p: stadiu + *p: validat + * + + * + BorderStyle = 3 + casc = ASC + cdescriere = + cfiltru = .F. + cfiltruoriginal = .F. + cgridsortlist = + cid_gestiuni = + cnumecursor = crs_inventar + cnume_gest = + corder = denumire + cschema = .F. + cselect = .F. + dataang = .F. + datalic = .F. + ddatainventar = {} + DoCreate = .T. + explicatie = .F. + formatie = .F. + grupegest = .T. + Height = 502 + lcorectie = .F. + linregistrarevalidata = .F. + lmodparam = .F. + lobinv = .F. + lvalidat = .F. + meserie = .F. + Name = "inventar_stoc_magazin" + ncod = 0 + ncstoc_faptic = .F. + nevalidat = .T. + nidcinventar = 0 + nidfact = 0 + nid_gestiune = 0 + nid_gestiuni = + nmaxcantitate = 1000000 + nmaxpret = 1000000 + noptiuneinventar = 1 + npretvtva = 0 + nproc_tvav = 1.19 + nstoc_faptic = .F. + nstoc_fapticv = .F. + nvalue = .F. + ocursor = .F. + respons = .F. + stadiu = .F. + validat = .F. + Width = 793 + WindowState = 2 + _memberdata = + + + + + + + + _shape1.Anchor = 10 + _shape1.Height = 29 + _shape1.Left = 0 + _shape1.Name = "_shape1" + _shape1.Top = 0 + _shape1.Width = 797 + _shape1.ZOrderSet = 1 + _shape2.Anchor = 8 + _shape2.Height = 29 + _shape2.Left = 480 + _shape2.Name = "_shape2" + _shape2.Top = 0 + _shape2.Visible = .T. + _shape2.Width = 313 + _shape2.ZOrderSet = 2 + Lb_titlu_alb_b121.Caption = "Nota de inventariere" + Lb_titlu_alb_b121.Name = "Lb_titlu_alb_b121" + Lb_titlu_alb_b121.TabIndex = 4 + Lb_titlu_alb_b121.ZOrderSet = 3 + BUT_TERMIN1.Anchor = 8 + BUT_TERMIN1.Left = 762 + BUT_TERMIN1.Name = "BUT_TERMIN1" + BUT_TERMIN1.TabIndex = 5 + BUT_TERMIN1.Top = 1 + BUT_TERMIN1.ZOrderSet = 4 + Gridsort1.Name = "Gridsort1" + BUT_RENUNT1.Anchor = 8 + BUT_RENUNT1.Left = 733 + BUT_RENUNT1.Name = "BUT_RENUNT1" + BUT_RENUNT1.TabIndex = 6 + BUT_RENUNT1.Top = 1 + BUT_RENUNT1.ZOrderSet = 6 + * + + ADD OBJECT '_shape3' AS _shape WITH ; + Height = 82, ; + Left = 3, ; + Name = "_shape3", ; + Top = 71, ; + Width = 367, ; + ZOrderSet = 0 + *< END OBJECT: ClassLib="_baza.vcx" BaseClass="shape" /> + + ADD OBJECT 'But_copiaza1' AS but_copiaza WITH ; + Anchor = 8, ; + caction = do_copie, ; + Left = 610, ; + Name = "But_copiaza1", ; + Top = 1 + *< END OBJECT: ClassLib="cmd_butoane.vcx" BaseClass="commandbutton" /> + + ADD OBJECT 'But_excel1' AS but_excel WITH ; + Anchor = 8, ; + Height = 27, ; + Left = 703, ; + Name = "But_excel1", ; + TabIndex = 9, ; + Tag = "MOVABLE,NOVERTICAL_MOVE", ; + ToolTipText = "Exportare in Excel", ; + Top = 1, ; + Width = 30, ; + ZOrderSet = 7 + *< END OBJECT: ClassLib="cmd_butoane.vcx" BaseClass="commandbutton" /> + + ADD OBJECT 'But_listare1' AS but_listare WITH ; + Anchor = 8, ; + Left = 538, ; + Name = "But_listare1", ; + TabIndex = 7, ; + Top = 1, ; + ZOrderSet = 13 + *< END OBJECT: ClassLib="cmd_butoane.vcx" BaseClass="commandbutton" /> + + ADD OBJECT 'But_nou1' AS but_nou WITH ; + Anchor = 8, ; + Left = 641, ; + Name = "But_nou1", ; + TabIndex = 8, ; + Top = 1, ; + Visible = .T., ; + ZOrderSet = 12 + *< END OBJECT: ClassLib="cmd_butoane.vcx" BaseClass="commandbutton" /> + + ADD OBJECT 'but_reface1' AS but_reface WITH ; + Anchor = 8, ; + caction = do_reface, ; + Left = 575, ; + Name = "but_reface1", ; + Top = 1 + *< END OBJECT: ClassLib="cmd_butoane.vcx" BaseClass="commandbutton" /> + + ADD OBJECT 'But_reset_criterii1' AS but_reset_criterii WITH ; + Anchor = 9, ; + Left = 479, ; + Name = "But_reset_criterii1", ; + TabIndex = 15, ; + Top = 1, ; + ZOrderSet = 16 + *< END OBJECT: ClassLib="ocriterii.vcx" BaseClass="commandbutton" /> + + ADD OBJECT 'But_start_criterii1' AS but_start_criterii WITH ; + Anchor = 9, ; + Left = 509, ; + Name = "But_start_criterii1", ; + TabIndex = 14, ; + Top = 1, ; + ZOrderSet = 15 + *< END OBJECT: ClassLib="ocriterii.vcx" BaseClass="commandbutton" /> + + ADD OBJECT 'But_stergeX' AS but_sterge WITH ; + Anchor = 8, ; + caction = do_sterge, ; + Left = 672, ; + Name = "But_stergeX", ; + TabIndex = 13, ; + Top = 1, ; + Visible = .T., ; + ZOrderSet = 14 + *< END OBJECT: ClassLib="cmd_butoane.vcx" BaseClass="commandbutton" /> + + ADD OBJECT 'Clb_tx_codbare' AS clb_tx_simplu WITH ; + Height = 29, ; + Left = 12, ; + Name = "Clb_tx_codbare", ; + TabIndex = 1, ; + Top = 117, ; + Width = 313, ; + ZOrderSet = 18, ; + Text_simplu1.ControlSource = "oinv.codbare", ; + Text_simplu1.Left = 125, ; + Text_simplu1.Name = "Text_simplu1", ; + Text_simplu1.TabIndex = 1, ; + Text_simplu1.Top = 3, ; + Lb_simplu1.Caption = "Cod bare", ; + Lb_simplu1.Name = "Lb_simplu1", ; + Lb_simplu1.TabIndex = 2 + *< END OBJECT: ClassLib="lb_tx.vcx" BaseClass="container" /> + + ADD OBJECT 'Clb_tx_simplu1' AS clb_tx_simplu WITH ; + Anchor = 10, ; + BorderWidth = 0, ; + Height = 29, ; + Left = 3, ; + Name = "Clb_tx_simplu1", ; + TabIndex = 10, ; + TabStop = .F., ; + Top = 36, ; + Width = 216, ; + ZOrderSet = 10, ; + TEXT_SIMPLU1.Alignment = 1, ; + TEXT_SIMPLU1.ControlSource = "thisform.ncStoc_faptic", ; + TEXT_SIMPLU1.FontName = "Arial Narrow", ; + TEXT_SIMPLU1.FontSize = 10, ; + TEXT_SIMPLU1.Height = 23, ; + TEXT_SIMPLU1.InputMask = (get_mask(16,gnPcant)), ; + TEXT_SIMPLU1.Left = 123, ; + TEXT_SIMPLU1.Name = "TEXT_SIMPLU1", ; + TEXT_SIMPLU1.Top = 1, ; + TEXT_SIMPLU1.Width = 90, ; + LB_SIMPLU1.Caption = "Stoc faptic:", ; + LB_SIMPLU1.FontName = "Arial Narrow", ; + LB_SIMPLU1.FontSize = 10, ; + LB_SIMPLU1.Left = 3, ; + LB_SIMPLU1.Name = "LB_SIMPLU1", ; + LB_SIMPLU1.Top = 4 + *< END OBJECT: ClassLib="lb_tx.vcx" BaseClass="container" /> + + ADD OBJECT 'Clb_tx_simplu2' AS clb_tx_simplu WITH ; + Anchor = 10, ; + BorderWidth = 0, ; + Height = 29, ; + Left = 228, ; + Name = "Clb_tx_simplu2", ; + TabIndex = 11, ; + TabStop = .F., ; + Top = 36, ; + Width = 216, ; + ZOrderSet = 9, ; + TEXT_SIMPLU1.Alignment = 1, ; + TEXT_SIMPLU1.ControlSource = "thisform.nStoc_faptic", ; + TEXT_SIMPLU1.FontName = "Arial Narrow", ; + TEXT_SIMPLU1.FontSize = 10, ; + TEXT_SIMPLU1.Height = 23, ; + TEXT_SIMPLU1.InputMask = (get_mask(16,gnPa)), ; + TEXT_SIMPLU1.Left = 121, ; + TEXT_SIMPLU1.Name = "TEXT_SIMPLU1", ; + TEXT_SIMPLU1.Top = 0, ; + TEXT_SIMPLU1.Width = 90, ; + LB_SIMPLU1.Caption = "Valoare ach. stoc faptic:", ; + LB_SIMPLU1.FontName = "Arial Narrow", ; + LB_SIMPLU1.FontSize = 10, ; + LB_SIMPLU1.Left = 2, ; + LB_SIMPLU1.Name = "LB_SIMPLU1", ; + LB_SIMPLU1.Top = 2 + *< END OBJECT: ClassLib="lb_tx.vcx" BaseClass="container" /> + + ADD OBJECT 'Clb_tx_simplu3' AS clb_tx_simplu WITH ; + Anchor = 10, ; + BorderWidth = 0, ; + Height = 29, ; + Left = 444, ; + Name = "Clb_tx_simplu3", ; + TabIndex = 12, ; + TabStop = .F., ; + Top = 36, ; + Width = 216, ; + ZOrderSet = 11, ; + TEXT_SIMPLU1.Alignment = 1, ; + TEXT_SIMPLU1.ControlSource = "thisform.nStoc_fapticv", ; + TEXT_SIMPLU1.FontName = "Arial Narrow", ; + TEXT_SIMPLU1.FontSize = 10, ; + TEXT_SIMPLU1.Height = 23, ; + TEXT_SIMPLU1.InputMask = (get_mask(16,gnPa)), ; + TEXT_SIMPLU1.Left = 121, ; + TEXT_SIMPLU1.Name = "TEXT_SIMPLU1", ; + TEXT_SIMPLU1.Top = 0, ; + TEXT_SIMPLU1.Width = 90, ; + LB_SIMPLU1.Caption = "Valoare vanz. stoc faptic:", ; + LB_SIMPLU1.FontName = "Arial Narrow", ; + LB_SIMPLU1.FontSize = 10, ; + LB_SIMPLU1.Left = 2, ; + LB_SIMPLU1.Name = "LB_SIMPLU1", ; + LB_SIMPLU1.Top = 2 + *< END OBJECT: ClassLib="lb_tx.vcx" BaseClass="container" /> + + ADD OBJECT 'Ct_clb_gestiune' AS ct_clb_cautare_var WITH ; + cconditie = EMPTY(NVL(oinv.id_gestiune,0)), ; + cprocedura = thisform.do_cauta_gestiune, ; + cvar_afisata = thisform.cNume_gest, ; + Left = 12, ; + Name = "Ct_clb_gestiune", ; + TabIndex = 3, ; + Top = 84, ; + ZOrderSet = 19, ; + shape_cautare.Name = "shape_cautare", ; + img_cautare.Name = "img_cautare", ; + lb_cautare.Caption = "Gestiune", ; + lb_cautare.Name = "lb_cautare", ; + tx_cautare.Name = "tx_cautare" + *< END OBJECT: ClassLib="caut_ora.vcx" BaseClass="container" /> + + ADD OBJECT 'Grid1' AS grid WITH ; + Anchor = 15, ; + ColumnCount = 46, ; + DeleteMark = .F., ; + FontName = "Arial Narrow", ; + GridLineColor = 128,128,128, ; + HeaderHeight = 34, ; + Height = 334, ; + HighlightBackColor = 50,97,173, ; + HighlightStyle = 1, ; + Left = 3, ; + Name = "Grid1", ; + Panel = 1, ; + ReadOnly = .T., ; + RecordSource = "crs_inventar", ; + SelectedItemBackColor = 0,255,255, ; + SelectedItemForeColor = 0,0,0, ; + TabIndex = 2, ; + Top = 156, ; + Width = 783, ; + ZOrderSet = 8, ; + Column1.ColumnOrder = 1, ; + Column1.ControlSource = "recno()", ; + Column1.FontName = "Arial Narrow", ; + Column1.Name = "cNrcrt", ; + Column1.ReadOnly = .T., ; + Column1.Width = 24, ; + Column2.ColumnOrder = 3, ; + Column2.ControlSource = "codmat", ; + Column2.FontName = "Arial Narrow", ; + Column2.Name = "cCodmat", ; + Column2.ReadOnly = .T., ; + Column2.Width = 68, ; + Column3.ColumnOrder = 4, ; + Column3.ControlSource = "denumire", ; + Column3.FontName = "Arial Narrow", ; + Column3.Name = "cDenumire", ; + Column3.ReadOnly = .T., ; + Column3.Width = 123, ; + Column4.ColumnOrder = 5, ; + Column4.ControlSource = "um", ; + Column4.FontName = "Arial Narrow", ; + Column4.Name = "cUM", ; + Column4.ReadOnly = .T., ; + Column4.Width = 28, ; + Column5.BackColor = 234,249,255, ; + Column5.ColumnOrder = 19, ; + Column5.ControlSource = "cgest", ; + Column5.FontName = "Arial Narrow", ; + Column5.FontSize = 10, ; + Column5.Name = "cCgest", ; + Column5.ReadOnly = .T., ; + Column5.ToolTipText = "Click pentru schimbarea gestiunii", ; + Column5.Width = 100, ; + Column6.BackColor = 234,249,255, ; + Column6.ColumnOrder = 16, ; + Column6.ControlSource = "cont", ; + Column6.FontName = "Arial Narrow", ; + Column6.Name = "ccont", ; + Column6.ReadOnly = .T., ; + Column6.Width = 38, ; + Column7.BackColor = 234,249,255, ; + Column7.ColumnOrder = 17, ; + Column7.ControlSource = "acont", ; + Column7.FontName = "Arial Narrow", ; + Column7.Name = "cAcont", ; + Column7.ReadOnly = .T., ; + Column7.Width = 37, ; + Column8.BackColor = 234,249,255, ; + Column8.ColumnOrder = 15, ; + Column8.ControlSource = "pret", ; + Column8.FontName = "Arial Narrow", ; + Column8.FontSize = 10, ; + Column8.InputMask = (get_mask(9,gnPpret)), ; + Column8.Name = "cPret_unitar", ; + Column8.ReadOnly = .F., ; + Column8.Width = 70, ; + Column9.BackColor = 234,249,255, ; + Column9.ColumnOrder = 9, ; + Column9.ControlSource = "stoc_faptic", ; + Column9.FontBold = .T., ; + Column9.FontName = "Arial Narrow", ; + Column9.FontSize = 10, ; + Column9.ForeColor = 0,64,128, ; + Column9.Format = "RK", ; + Column9.InputMask = (get_mask(9,gnPcant)), ; + Column9.Name = "cstoc_faptic", ; + Column9.ReadOnly = .F., ; + Column9.Width = 83, ; + Column10.ColumnOrder = 22, ; + Column10.ControlSource = "cants", ; + Column10.FontName = "Arial Narrow", ; + Column10.InputMask = (get_mask(9,gnPcant)), ; + Column10.Name = "cCants", ; + Column10.ReadOnly = .T., ; + Column10.Width = 49, ; + Column11.ColumnOrder = 24, ; + Column11.ControlSource = "cant", ; + Column11.FontName = "Arial Narrow", ; + Column11.InputMask = (get_mask(9,gnPcant)), ; + Column11.Name = "ccant", ; + Column11.ReadOnly = .T., ; + Column11.Width = 39, ; + Column12.ColumnOrder = 25, ; + Column12.ControlSource = "cante", ; + Column12.FontName = "Arial Narrow", ; + Column12.InputMask = (get_mask(9,gnPcant)), ; + Column12.Name = "ccante", ; + Column12.ReadOnly = .T., ; + Column12.Width = 36, ; + Column13.ColumnOrder = 26, ; + Column13.ControlSource = "utilizator", ; + Column13.FontName = "Arial Narrow", ; + Column13.Name = "cUtilizator", ; + Column13.ReadOnly = .T., ; + Column13.Width = 99, ; + Column14.ColumnOrder = 27, ; + Column14.ControlSource = "responsabil", ; + Column14.FontName = "Arial Narrow", ; + Column14.Name = "cresponsabil", ; + Column14.ReadOnly = .T., ; + Column14.Width = 148, ; + Column15.ColumnOrder = 23, ; + Column15.ControlSource = "TTOD(datapif)", ; + Column15.FontName = "Arial Narrow", ; + Column15.Name = "cdatapif", ; + Column15.ReadOnly = .T., ; + Column15.Width = 49, ; + Column16.ColumnOrder = 32, ; + Column16.ControlSource = "dnf", ; + Column16.FontName = "Arial Narrow", ; + Column16.Name = "cdnf", ; + Column16.ReadOnly = .T., ; + Column16.Width = 70, ; + Column17.ColumnOrder = 28, ; + Column17.ControlSource = "meserie", ; + Column17.FontName = "Arial Narrow", ; + Column17.Name = "cMeserie", ; + Column17.ReadOnly = .T., ; + Column17.Width = 74, ; + Column18.ColumnOrder = 29, ; + Column18.ControlSource = "formatia", ; + Column18.FontName = "Arial Narrow", ; + Column18.Name = "cFormatia", ; + Column18.ReadOnly = .T., ; + Column18.Width = 68, ; + Column19.ColumnOrder = 30, ; + Column19.ControlSource = "ttod(dataang)", ; + Column19.FontName = "Arial Narrow", ; + Column19.Name = "cDataang", ; + Column19.ReadOnly = .T., ; + Column19.Width = 50, ; + Column20.ColumnOrder = 31, ; + Column20.ControlSource = "ttod(datalic)", ; + Column20.FontName = "Arial Narrow", ; + Column20.Name = "cDatalic", ; + Column20.ReadOnly = .T., ; + Column20.Width = 44, ; + Column21.ColumnOrder = 33, ; + Column21.ControlSource = "iif(dnf<>0, round((dnf-dns_luni)/dnf*100,0),0)", ; + Column21.FontName = "Arial Narrow", ; + Column21.InputMask = "999999", ; + Column21.Name = "cdns_luni", ; + Column21.ReadOnly = .T., ; + Column21.Width = 57, ; + Column22.BackColor = 234,249,255, ; + Column22.ColumnOrder = 34, ; + Column22.ControlSource = "uzura_faptic", ; + Column22.FontName = "Arial Narrow", ; + Column22.FontSize = 10, ; + Column22.InputMask = "999999", ; + Column22.Name = "cUzura_faptic", ; + Column22.ReadOnly = .F., ; + Column22.Width = 53, ; + Column23.ColumnOrder = 35, ; + Column23.ControlSource = "iif(dnf<>0, ROUND((dnf-dns_luni)/dnf*100, 0),0) - uzura_faptic", ; + Column23.FontName = "Arial Narrow", ; + Column23.InputMask = "999999", ; + Column23.Name = "cDif_dns_luni", ; + Column23.ReadOnly = .T., ; + Column23.Width = 43, ; + Column24.BackColor = 234,249,255, ; + Column24.ColumnOrder = 36, ; + Column24.ControlSource = "data_expirare", ; + Column24.FontName = "Arial Narrow", ; + Column24.FontSize = 10, ; + Column24.Name = "cData_expirare", ; + Column24.ReadOnly = .F., ; + Column24.Width = 53, ; + Column25.BackColor = 234,249,255, ; + Column25.ColumnOrder = 18, ; + Column25.ControlSource = "serie", ; + Column25.FontName = "Arial Narrow", ; + Column25.FontSize = 10, ; + Column25.Name = "cSerie", ; + Column25.ReadOnly = .F., ; + Column26.ColumnOrder = 40, ; + Column26.ControlSource = "Grupa", ; + Column26.FontName = "Arial Narrow", ; + Column26.Name = "cGrupa", ; + Column26.ReadOnly = .T., ; + Column27.ColumnOrder = 41, ; + Column27.ControlSource = "Subgrupa", ; + Column27.FontName = "Arial Narrow", ; + Column27.Name = "cSubgrupa", ; + Column27.ReadOnly = .T., ; + Column28.ColumnOrder = 20, ; + Column28.ControlSource = "pretd", ; + Column28.FontName = "Arial Narrow", ; + Column28.Format = "R", ; + Column28.InputMask = (get_mask(16,gnPPretVAL)), ; + Column28.Name = "cPretd", ; + Column28.ReadOnly = .T., ; + Column28.Width = 54, ; + Column29.ColumnOrder = 21, ; + Column29.ControlSource = "Valuta", ; + Column29.FontName = "Arial Narrow", ; + Column29.Name = "cValuta", ; + Column29.ReadOnly = .T., ; + Column29.Width = 46, ; + Column30.BackColor = 234,249,255, ; + Column30.ColumnOrder = 7, ; + Column30.ControlSource = "pretctvav", ; + Column30.FontBold = .T., ; + Column30.FontName = "Arial Narrow", ; + Column30.FontSize = 10, ; + Column30.Format = "RK", ; + Column30.InputMask = (get_mask(12,gnPPretV)), ; + Column30.Name = "cPretcTVA", ; + Column30.ReadOnly = .F., ; + Column31.ColumnOrder = 2, ; + Column31.ControlSource = "codbare", ; + Column31.FontName = "Arial Narrow", ; + Column31.Name = "cCodbare", ; + Column31.ReadOnly = .T., ; + Column31.Width = 60, ; + Column32.ColumnOrder = 38, ; + Column32.ControlSource = "part_rez", ; + Column32.FontName = "Arial Narrow", ; + Column32.Name = "cPart_rez", ; + Column32.ReadOnly = .T., ; + Column33.ColumnOrder = 39, ; + Column33.ControlSource = "nrord_rez", ; + Column33.FontName = "Arial Narrow", ; + Column33.Name = "cNrord_rez", ; + Column33.ReadOnly = .T., ; + Column34.BackColor = 234,249,255, ; + Column34.ColumnOrder = 6, ; + Column34.ControlSource = "crs_inventar.proc_tvav", ; + Column34.CurrentControl = "_combobox1", ; + Column34.FontName = "Arial Narrow", ; + Column34.FontSize = 10, ; + Column34.Format = "RK", ; + Column34.InputMask = "9.99", ; + Column34.Name = "cProc_TVAv", ; + Column34.ReadOnly = .F., ; + Column34.Width = 43, ; + Column35.BackColor = 234,249,255, ; + Column35.ColumnOrder = 10, ; + Column35.ControlSource = "stoc_faptic1", ; + Column35.FontName = "Arial Narrow", ; + Column35.FontSize = 10, ; + Column35.ForeColor = 0,64,128, ; + Column35.Format = "RK", ; + Column35.InputMask = (get_mask(9,gnPcant)), ; + Column35.Name = "cStocFaptic1", ; + Column35.ReadOnly = .F., ; + Column36.BackColor = 234,249,255, ; + Column36.ColumnOrder = 11, ; + Column36.ControlSource = "stoc_faptic2", ; + Column36.FontName = "Arial Narrow", ; + Column36.FontSize = 10, ; + Column36.Format = "RK", ; + Column36.InputMask = (get_mask(9,gnPcant)), ; + Column36.Name = "cStocFaptic2", ; + Column36.ReadOnly = .F., ; + Column37.BackColor = 234,249,255, ; + Column37.ColumnOrder = 12, ; + Column37.ControlSource = "stoc_faptic3", ; + Column37.FontName = "Arial Narrow", ; + Column37.FontSize = 10, ; + Column37.Format = "RK", ; + Column37.InputMask = (get_mask(9,gnPcant)), ; + Column37.Name = "cStocFaptic3", ; + Column37.ReadOnly = .F., ; + Column38.BackColor = 234,249,255, ; + Column38.ColumnOrder = 13, ; + Column38.ControlSource = "stoc_faptic4", ; + Column38.FontName = "Arial Narrow", ; + Column38.FontSize = 10, ; + Column38.Format = "RK", ; + Column38.InputMask = (get_mask(9,gnPcant)), ; + Column38.Name = "cStocFaptic4", ; + Column38.ReadOnly = .F., ; + Column39.BackColor = 234,249,255, ; + Column39.ColumnOrder = 14, ; + Column39.ControlSource = "stoc_faptic5", ; + Column39.FontName = "Arial Narrow", ; + Column39.FontSize = 10, ; + Column39.Format = "RK", ; + Column39.InputMask = (get_mask(9,gnPcant)), ; + Column39.Name = "cStocFaptic5", ; + Column39.ReadOnly = .F., ; + Column40.ColumnOrder = 8, ; + Column40.ControlSource = "stoc_scriptic", ; + Column40.FontName = "Arial Narrow", ; + Column40.InputMask = (get_mask(9,gnPcant)), ; + Column40.Name = "cStocScriptic", ; + Column40.ReadOnly = .T., ; + Column41.BackColor = 234,249,255, ; + Column41.ColumnOrder = 42, ; + Column41.ControlSource = "first_updated_at", ; + Column41.FontName = "Arial Narrow", ; + Column41.Name = "cFirstUpdatedAt", ; + Column41.ReadOnly = .F., ; + Column41.Width = 161, ; + Column42.BackColor = 234,249,255, ; + Column42.ColumnOrder = 37, ; + Column42.ControlSource = "furnizor", ; + Column42.FontName = "Arial Narrow", ; + Column42.Name = "cFurnizor", ; + Column42.ReadOnly = .T., ; + Column42.Width = 180, ; + Column43.ControlSource = "id_articol", ; + Column43.FontName = "Arial Narrow", ; + Column43.Name = "cIdArticol", ; + Column43.ReadOnly = .T., ; + Column44.ControlSource = "validat", ; + Column44.CurrentControl = "Check1", ; + Column44.FontName = "Arial Narrow", ; + Column44.Name = "cValidat", ; + Column44.ReadOnly = .T., ; + Column44.Sparse = .F., ; + Column44.Width = 32, ; + Column45.ControlSource = "dataora_validat", ; + Column45.FontName = "Arial Narrow", ; + Column45.Name = "cDataOraValidat", ; + Column45.ReadOnly = .T., ; + Column45.Width = 103, ; + Column46.ControlSource = "dataora", ; + Column46.FontName = "Arial Narrow", ; + Column46.Name = "cDataOra", ; + Column46.ReadOnly = .T., ; + Column46.Width = 101 + *< END OBJECT: BaseClass="grid" /> + + ADD OBJECT 'Grid1.cAcont.Header1' AS header WITH ; + Alignment = 2, ; + Caption = "Analitic", ; + FontName = "Arial Narrow", ; + Name = "Header1" + *< END OBJECT: BaseClass="header" /> + + ADD OBJECT 'Grid1.cAcont.Text1' AS textbox WITH ; + BackColor = 234,249,255, ; + BorderStyle = 0, ; + FontName = "Arial Narrow", ; + ForeColor = 0,0,0, ; + Margin = 0, ; + Name = "Text1", ; + ReadOnly = .T., ; + SelectedBackColor = 0,255,255, ; + SelectedForeColor = 0,0,0 + *< END OBJECT: BaseClass="textbox" /> + + ADD OBJECT 'Grid1.ccant.Header1' AS header WITH ; + Alignment = 2, ; + Caption = "Intrari", ; + FontName = "Arial Narrow", ; + Name = "Header1" + *< END OBJECT: BaseClass="header" /> + + ADD OBJECT 'Grid1.ccant.Text1' AS textbox WITH ; + BackColor = 255,255,255, ; + BorderStyle = 0, ; + FontName = "Arial Narrow", ; + ForeColor = 0,0,0, ; + Margin = 0, ; + Name = "Text1", ; + ReadOnly = .T., ; + SelectedBackColor = 0,255,255, ; + SelectedForeColor = 0,0,0 + *< END OBJECT: BaseClass="textbox" /> + + ADD OBJECT 'Grid1.ccante.Header1' AS header WITH ; + Alignment = 2, ; + Caption = "Iesiri", ; + FontName = "Arial Narrow", ; + Name = "Header1" + *< END OBJECT: BaseClass="header" /> + + ADD OBJECT 'Grid1.ccante.Text1' AS textbox WITH ; + BackColor = 255,255,255, ; + BorderStyle = 0, ; + FontName = "Arial Narrow", ; + ForeColor = 0,0,0, ; + Margin = 0, ; + Name = "Text1", ; + ReadOnly = .T., ; + SelectedBackColor = 0,255,255, ; + SelectedForeColor = 0,0,0 + *< END OBJECT: BaseClass="textbox" /> + + ADD OBJECT 'Grid1.cCants.Header1' AS header WITH ; + Alignment = 2, ; + Caption = "Stoc Precedent", ; + FontName = "Arial Narrow", ; + Name = "Header1", ; + WordWrap = .T. + *< END OBJECT: BaseClass="header" /> + + ADD OBJECT 'Grid1.cCants.Text1' AS textbox WITH ; + BackColor = 255,255,255, ; + BorderStyle = 0, ; + FontName = "Arial Narrow", ; + ForeColor = 0,0,0, ; + Margin = 0, ; + Name = "Text1", ; + ReadOnly = .T., ; + SelectedBackColor = 0,255,255, ; + SelectedForeColor = 0,0,0 + *< END OBJECT: BaseClass="textbox" /> + + ADD OBJECT 'Grid1.cCgest.Header1' AS header WITH ; + Alignment = 2, ; + Caption = "Gestiune", ; + FontName = "Arial Narrow", ; + Name = "Header1" + *< END OBJECT: BaseClass="header" /> + + ADD OBJECT 'Grid1.cCgest.Text1' AS textbox WITH ; + BackColor = 234,249,255, ; + BorderStyle = 0, ; + FontName = "Arial Narrow", ; + FontSize = 10, ; + ForeColor = 0,0,0, ; + Margin = 0, ; + Name = "Text1", ; + ReadOnly = .T., ; + SelectedBackColor = 0,255,255, ; + SelectedForeColor = 0,0,0 + *< END OBJECT: BaseClass="textbox" /> + + ADD OBJECT 'Grid1.cCodbare.Header1' AS header WITH ; + Alignment = 2, ; + Caption = "Cod bare", ; + FontName = "Arial Narrow", ; + Name = "Header1" + *< END OBJECT: BaseClass="header" /> + + ADD OBJECT 'Grid1.cCodbare.Text1' AS textbox WITH ; + BackColor = 255,255,255, ; + BorderStyle = 0, ; + FontName = "Arial Narrow", ; + ForeColor = 0,0,0, ; + Margin = 0, ; + Name = "Text1", ; + SelectedBackColor = 0,255,255, ; + SelectedForeColor = 0,0,0 + *< END OBJECT: BaseClass="textbox" /> + + ADD OBJECT 'Grid1.cCodmat.Header1' AS header WITH ; + Alignment = 2, ; + Caption = "Cod Mat.", ; + FontName = "Arial Narrow", ; + Name = "Header1" + *< END OBJECT: BaseClass="header" /> + + ADD OBJECT 'Grid1.cCodmat.Text1' AS textbox WITH ; + BackColor = 255,255,255, ; + BorderStyle = 0, ; + FontName = "Arial Narrow", ; + ForeColor = 0,0,0, ; + Margin = 0, ; + Name = "Text1", ; + ReadOnly = .T., ; + SelectedBackColor = 0,255,255, ; + SelectedForeColor = 0,0,0 + *< END OBJECT: BaseClass="textbox" /> + + ADD OBJECT 'Grid1.ccont.Header1' AS header WITH ; + Alignment = 2, ; + Caption = "Cont", ; + FontName = "Arial Narrow", ; + Name = "Header1" + *< END OBJECT: BaseClass="header" /> + + ADD OBJECT 'Grid1.ccont.Text1' AS textbox WITH ; + BackColor = 234,249,255, ; + BorderStyle = 0, ; + FontName = "Arial Narrow", ; + ForeColor = 0,0,0, ; + Margin = 0, ; + Name = "Text1", ; + ReadOnly = .T., ; + SelectedBackColor = 0,255,255, ; + SelectedForeColor = 0,0,0 + *< END OBJECT: BaseClass="textbox" /> + + ADD OBJECT 'Grid1.cData_expirare.Header1' AS header WITH ; + Alignment = 2, ; + Caption = "Data expirare", ; + FontName = "Arial Narrow", ; + Name = "Header1", ; + WordWrap = .T. + *< END OBJECT: BaseClass="header" /> + + ADD OBJECT 'Grid1.cData_expirare.Text1' AS textbox WITH ; + BackColor = 234,249,255, ; + BorderStyle = 0, ; + FontName = "Arial Narrow", ; + FontSize = 10, ; + ForeColor = 0,0,0, ; + Margin = 0, ; + Name = "Text1", ; + ReadOnly = .F., ; + SelectedBackColor = 0,255,255, ; + SelectedForeColor = 0,0,0 + *< END OBJECT: BaseClass="textbox" /> + + ADD OBJECT 'Grid1.cDataang.Header1' AS header WITH ; + Alignment = 2, ; + Caption = "Data angajarii", ; + FontName = "Arial Narrow", ; + Name = "Header1", ; + WordWrap = .T. + *< END OBJECT: BaseClass="header" /> + + ADD OBJECT 'Grid1.cDataang.Text1' AS textbox WITH ; + BackColor = 255,255,255, ; + BorderStyle = 0, ; + FontName = "Arial Narrow", ; + ForeColor = 0,0,0, ; + Margin = 0, ; + Name = "Text1", ; + ReadOnly = .T., ; + SelectedBackColor = 0,255,255, ; + SelectedForeColor = 0,0,0 + *< END OBJECT: BaseClass="textbox" /> + + ADD OBJECT 'Grid1.cDatalic.Header1' AS header WITH ; + Alignment = 2, ; + Caption = "Data plecarii", ; + FontName = "Arial Narrow", ; + Name = "Header1", ; + WordWrap = .T. + *< END OBJECT: BaseClass="header" /> + + ADD OBJECT 'Grid1.cDatalic.Text1' AS textbox WITH ; + BackColor = 255,255,255, ; + BorderStyle = 0, ; + FontName = "Arial Narrow", ; + ForeColor = 0,0,0, ; + Margin = 0, ; + Name = "Text1", ; + ReadOnly = .T., ; + SelectedBackColor = 0,255,255, ; + SelectedForeColor = 0,0,0 + *< END OBJECT: BaseClass="textbox" /> + + ADD OBJECT 'Grid1.cDataOra.Header1' AS header WITH ; + Alignment = 2, ; + Caption = "Dataora adaugat", ; + FontName = "Arial Narrow", ; + Name = "Header1" + *< END OBJECT: BaseClass="header" /> + + ADD OBJECT 'Grid1.cDataOra.Text1' AS textbox WITH ; + BackColor = 255,255,255, ; + BorderStyle = 0, ; + FontName = "Arial Narrow", ; + ForeColor = 0,0,0, ; + Margin = 0, ; + Name = "Text1", ; + ReadOnly = .T., ; + SelectedBackColor = 0,255,255, ; + SelectedForeColor = 0,0,0 + *< END OBJECT: BaseClass="textbox" /> + + ADD OBJECT 'Grid1.cDataOraValidat.Header1' AS header WITH ; + Alignment = 2, ; + Caption = "Dataora validat", ; + FontName = "Arial Narrow", ; + Name = "Header1" + *< END OBJECT: BaseClass="header" /> + + ADD OBJECT 'Grid1.cDataOraValidat.Text1' AS textbox WITH ; + BackColor = 255,255,255, ; + BorderStyle = 0, ; + FontName = "Arial Narrow", ; + ForeColor = 0,0,0, ; + Margin = 0, ; + Name = "Text1", ; + ReadOnly = .T., ; + SelectedBackColor = 0,255,255, ; + SelectedForeColor = 0,0,0 + *< END OBJECT: BaseClass="textbox" /> + + ADD OBJECT 'Grid1.cdatapif.Header1' AS header WITH ; + Alignment = 2, ; + Caption = "Data PIF", ; + FontName = "Arial Narrow", ; + Name = "Header1" + *< END OBJECT: BaseClass="header" /> + + ADD OBJECT 'Grid1.cdatapif.Text1' AS textbox WITH ; + BackColor = 255,255,255, ; + BorderStyle = 0, ; + FontName = "Arial Narrow", ; + ForeColor = 0,0,0, ; + Margin = 0, ; + Name = "Text1", ; + ReadOnly = .T., ; + SelectedBackColor = 0,255,255, ; + SelectedForeColor = 0,0,0 + *< END OBJECT: BaseClass="textbox" /> + + ADD OBJECT 'Grid1.cDenumire.Header1' AS header WITH ; + Alignment = 2, ; + Caption = "Denumire", ; + FontName = "Arial Narrow", ; + Name = "Header1" + *< END OBJECT: BaseClass="header" /> + + ADD OBJECT 'Grid1.cDenumire.Text1' AS textbox WITH ; + BackColor = 255,255,255, ; + BorderStyle = 0, ; + FontName = "Arial Narrow", ; + ForeColor = 0,0,0, ; + Margin = 0, ; + Name = "Text1", ; + ReadOnly = .T., ; + SelectedBackColor = 0,255,255, ; + SelectedForeColor = 0,0,0 + *< END OBJECT: BaseClass="textbox" /> + + ADD OBJECT 'Grid1.cDif_dns_luni.Header1' AS header WITH ; + Alignment = 2, ; + Caption = "Diferenta (%)", ; + FontName = "Arial Narrow", ; + Name = "Header1", ; + WordWrap = .T. + *< END OBJECT: BaseClass="header" /> + + ADD OBJECT 'Grid1.cDif_dns_luni.Text1' AS textbox WITH ; + BackColor = 255,255,255, ; + BorderStyle = 0, ; + FontName = "Arial Narrow", ; + ForeColor = 0,0,0, ; + Margin = 0, ; + Name = "Text1", ; + ReadOnly = .T., ; + SelectedBackColor = 0,255,255, ; + SelectedForeColor = 0,0,0 + *< END OBJECT: BaseClass="textbox" /> + + ADD OBJECT 'Grid1.cdnf.Header1' AS header WITH ; + Alignment = 2, ; + Caption = "Durata functionare (luni)", ; + FontName = "Arial Narrow", ; + Name = "Header1", ; + WordWrap = .T. + *< END OBJECT: BaseClass="header" /> + + ADD OBJECT 'Grid1.cdnf.Text1' AS textbox WITH ; + BackColor = 255,255,255, ; + BorderStyle = 0, ; + FontName = "Arial Narrow", ; + ForeColor = 0,0,0, ; + Margin = 0, ; + Name = "Text1", ; + ReadOnly = .T., ; + SelectedBackColor = 0,255,255, ; + SelectedForeColor = 0,0,0 + *< END OBJECT: BaseClass="textbox" /> + + ADD OBJECT 'Grid1.cdns_luni.Header1' AS header WITH ; + Alignment = 2, ; + Caption = "Uzura scriptica (%)", ; + FontName = "Arial Narrow", ; + Name = "Header1", ; + WordWrap = .T. + *< END OBJECT: BaseClass="header" /> + + ADD OBJECT 'Grid1.cdns_luni.Text1' AS textbox WITH ; + BackColor = 255,255,255, ; + BorderStyle = 0, ; + FontName = "Arial Narrow", ; + ForeColor = 0,0,0, ; + Margin = 0, ; + Name = "Text1", ; + ReadOnly = .T., ; + SelectedBackColor = 0,255,255, ; + SelectedForeColor = 0,0,0 + *< END OBJECT: BaseClass="textbox" /> + + ADD OBJECT 'Grid1.cFirstUpdatedAt.Header1' AS header WITH ; + Alignment = 2, ; + Caption = "Inventariat la", ; + FontName = "Arial Narrow", ; + Name = "Header1" + *< END OBJECT: BaseClass="header" /> + + ADD OBJECT 'Grid1.cFirstUpdatedAt.Text1' AS textbox WITH ; + BackColor = 234,249,255, ; + BorderStyle = 0, ; + FontName = "Arial Narrow", ; + ForeColor = 0,0,0, ; + Margin = 0, ; + Name = "Text1", ; + ReadOnly = .F., ; + SelectedBackColor = 0,255,255, ; + SelectedForeColor = 0,0,0 + *< END OBJECT: BaseClass="textbox" /> + + ADD OBJECT 'Grid1.cFormatia.Header1' AS header WITH ; + Alignment = 2, ; + Caption = "Formatie", ; + FontName = "Arial Narrow", ; + Name = "Header1" + *< END OBJECT: BaseClass="header" /> + + ADD OBJECT 'Grid1.cFormatia.Text1' AS textbox WITH ; + BackColor = 255,255,255, ; + BorderStyle = 0, ; + FontName = "Arial Narrow", ; + ForeColor = 0,0,0, ; + Margin = 0, ; + Name = "Text1", ; + ReadOnly = .T., ; + SelectedBackColor = 0,255,255, ; + SelectedForeColor = 0,0,0 + *< END OBJECT: BaseClass="textbox" /> + + ADD OBJECT 'Grid1.cFurnizor.Header1' AS header WITH ; + Alignment = 2, ; + Caption = "Furnizor", ; + FontName = "Arial Narrow", ; + Name = "Header1" + *< END OBJECT: BaseClass="header" /> + + ADD OBJECT 'Grid1.cFurnizor.Text1' AS textbox WITH ; + BackColor = 234,249,255, ; + BorderStyle = 0, ; + FontName = "Arial Narrow", ; + ForeColor = 0,0,0, ; + Margin = 0, ; + Name = "Text1", ; + ReadOnly = .T., ; + SelectedBackColor = 0,255,255, ; + SelectedForeColor = 0,0,0 + *< END OBJECT: BaseClass="textbox" /> + + ADD OBJECT 'Grid1.cGrupa.Header1' AS header WITH ; + Alignment = 2, ; + Caption = "Grupa", ; + FontName = "Arial Narrow", ; + Name = "Header1" + *< END OBJECT: BaseClass="header" /> + + ADD OBJECT 'Grid1.cGrupa.Text1' AS textbox WITH ; + BackColor = 255,255,255, ; + BorderStyle = 0, ; + FontName = "Arial Narrow", ; + ForeColor = 0,0,0, ; + Margin = 0, ; + Name = "Text1", ; + SelectedBackColor = 0,255,255, ; + SelectedForeColor = 0,0,0 + *< END OBJECT: BaseClass="textbox" /> + + ADD OBJECT 'Grid1.cIdArticol.Header1' AS header WITH ; + Alignment = 2, ; + Caption = "Id articol", ; + FontName = "Arial Narrow", ; + Name = "Header1" + *< END OBJECT: BaseClass="header" /> + + ADD OBJECT 'Grid1.cIdArticol.Text1' AS textbox WITH ; + BackColor = 255,255,255, ; + BorderStyle = 0, ; + FontName = "Arial Narrow", ; + ForeColor = 0,0,0, ; + Margin = 0, ; + Name = "Text1", ; + ReadOnly = .T., ; + SelectedBackColor = 0,255,255, ; + SelectedForeColor = 0,0,0 + *< END OBJECT: BaseClass="textbox" /> + + ADD OBJECT 'Grid1.cMeserie.Header1' AS header WITH ; + Alignment = 2, ; + Caption = "Meserie", ; + FontName = "Arial Narrow", ; + Name = "Header1" + *< END OBJECT: BaseClass="header" /> + + ADD OBJECT 'Grid1.cMeserie.Text1' AS textbox WITH ; + BackColor = 255,255,255, ; + BorderStyle = 0, ; + FontName = "Arial Narrow", ; + ForeColor = 0,0,0, ; + Margin = 0, ; + Name = "Text1", ; + ReadOnly = .T., ; + SelectedBackColor = 0,255,255, ; + SelectedForeColor = 0,0,0 + *< END OBJECT: BaseClass="textbox" /> + + ADD OBJECT 'Grid1.cNrcrt.Header1' AS header WITH ; + Alignment = 2, ; + Caption = "Nr. Crt.", ; + FontName = "Arial Narrow", ; + Name = "Header1", ; + WordWrap = .T. + *< END OBJECT: BaseClass="header" /> + + ADD OBJECT 'Grid1.cNrcrt.Text1' AS textbox WITH ; + BackColor = 255,255,255, ; + BorderStyle = 0, ; + FontName = "Arial Narrow", ; + ForeColor = 0,0,0, ; + Margin = 0, ; + Name = "Text1", ; + ReadOnly = .T., ; + SelectedBackColor = 0,255,255, ; + SelectedForeColor = 0,0,0 + *< END OBJECT: BaseClass="textbox" /> + + ADD OBJECT 'Grid1.cNrord_rez.Header1' AS header WITH ; + Alignment = 2, ; + Caption = "Lucrare rez.", ; + FontName = "Arial Narrow", ; + Name = "Header1" + *< END OBJECT: BaseClass="header" /> + + ADD OBJECT 'Grid1.cNrord_rez.Text1' AS textbox WITH ; + BackColor = 255,255,255, ; + BorderStyle = 0, ; + FontName = "Arial Narrow", ; + ForeColor = 0,0,0, ; + Margin = 0, ; + Name = "Text1", ; + SelectedBackColor = 0,255,255, ; + SelectedForeColor = 0,0,0 + *< END OBJECT: BaseClass="textbox" /> + + ADD OBJECT 'Grid1.cPart_rez.Header1' AS header WITH ; + Alignment = 2, ; + Caption = "Part. rez.", ; + FontName = "Arial Narrow", ; + Name = "Header1" + *< END OBJECT: BaseClass="header" /> + + ADD OBJECT 'Grid1.cPart_rez.Text1' AS textbox WITH ; + BackColor = 255,255,255, ; + BorderStyle = 0, ; + FontName = "Arial Narrow", ; + ForeColor = 0,0,0, ; + Margin = 0, ; + Name = "Text1", ; + SelectedBackColor = 0,255,255, ; + SelectedForeColor = 0,0,0 + *< END OBJECT: BaseClass="textbox" /> + + ADD OBJECT 'Grid1.cPret_unitar.Header1' AS header WITH ; + Alignment = 2, ; + Caption = "Pret Achizitie", ; + FontName = "Arial Narrow", ; + Name = "Header1" + *< END OBJECT: BaseClass="header" /> + + ADD OBJECT 'Grid1.cPret_unitar.Text1' AS textbox WITH ; + BackColor = 234,249,255, ; + BorderStyle = 0, ; + FontName = "Arial Narrow", ; + FontSize = 10, ; + ForeColor = 0,0,0, ; + Format = "k", ; + Margin = 0, ; + Name = "Text1", ; + ReadOnly = .F., ; + SelectedBackColor = 0,255,255, ; + SelectedForeColor = 0,0,0 + *< END OBJECT: BaseClass="textbox" /> + + ADD OBJECT 'Grid1.cPretcTVA.Header1' AS header WITH ; + Alignment = 2, ; + Caption = "Pret vanzare cu TVA", ; + FontName = "Arial Narrow", ; + Name = "Header1", ; + WordWrap = .T. + *< END OBJECT: BaseClass="header" /> + + ADD OBJECT 'Grid1.cPretcTVA.Text1' AS textbox WITH ; + BackColor = 234,249,255, ; + BorderStyle = 0, ; + FontBold = .T., ; + FontName = "Arial Narrow", ; + FontSize = 10, ; + ForeColor = 0,0,0, ; + Format = "k", ; + Margin = 0, ; + Name = "Text1", ; + ReadOnly = .F., ; + SelectedBackColor = 0,255,255, ; + SelectedForeColor = 0,0,0 + *< END OBJECT: BaseClass="textbox" /> + + ADD OBJECT 'Grid1.cPretd.Header1' AS header WITH ; + Alignment = 2, ; + Caption = "Pret valuta", ; + FontName = "Arial Narrow", ; + Name = "Header1" + *< END OBJECT: BaseClass="header" /> + + ADD OBJECT 'Grid1.cPretd.Text1' AS textbox WITH ; + BackColor = 255,255,255, ; + BorderStyle = 0, ; + ControlSource = "pretd", ; + FontName = "Arial Narrow", ; + ForeColor = 0,0,0, ; + Margin = 0, ; + Name = "Text1", ; + SelectedBackColor = 0,255,255, ; + SelectedForeColor = 0,0,0 + *< END OBJECT: BaseClass="textbox" /> + + ADD OBJECT 'Grid1.cProc_TVAv._combobox1' AS _combobox WITH ; + BorderStyle = 0, ; + BoundTo = .T., ; + FontName = "Arial Narrow", ; + Left = 29, ; + Name = "_combobox1", ; + RowSource = "cote_tva.proc_tva", ; + RowSourceType = 2, ; + Top = 59 + *< END OBJECT: ClassLib="_baza.vcx" BaseClass="combobox" /> + + ADD OBJECT 'Grid1.cProc_TVAv.Header1' AS header WITH ; + Caption = "Cota Tva", ; + FontName = "Arial Narrow", ; + Name = "Header1" + *< END OBJECT: BaseClass="header" /> + + ADD OBJECT 'Grid1.cProc_TVAv.Text1' AS textbox WITH ; + BackColor = 234,249,255, ; + BorderStyle = 0, ; + FontName = "Arial Narrow", ; + FontSize = 10, ; + ForeColor = 0,0,0, ; + Format = "RK", ; + InputMask = "9.99", ; + Margin = 0, ; + Name = "Text1", ; + ReadOnly = .F., ; + SelectedBackColor = 0,255,255, ; + SelectedForeColor = 0,0,0 + *< END OBJECT: BaseClass="textbox" /> + + ADD OBJECT 'Grid1.cresponsabil.Header1' AS header WITH ; + Alignment = 2, ; + Caption = "Responsabil", ; + FontName = "Arial Narrow", ; + Name = "Header1" + *< END OBJECT: BaseClass="header" /> + + ADD OBJECT 'Grid1.cresponsabil.Text1' AS textbox WITH ; + BackColor = 255,255,255, ; + BorderStyle = 0, ; + FontName = "Arial Narrow", ; + ForeColor = 0,0,0, ; + Margin = 0, ; + Name = "Text1", ; + ReadOnly = .T., ; + SelectedBackColor = 0,255,255, ; + SelectedForeColor = 0,0,0 + *< END OBJECT: BaseClass="textbox" /> + + ADD OBJECT 'Grid1.cSerie.Header1' AS header WITH ; + Alignment = 2, ; + Caption = "Serie", ; + FontName = "Arial Narrow", ; + Name = "Header1" + *< END OBJECT: BaseClass="header" /> + + ADD OBJECT 'Grid1.cSerie.Text1' AS textbox WITH ; + BackColor = 234,249,255, ; + BorderStyle = 0, ; + FontName = "Arial Narrow", ; + FontSize = 10, ; + ForeColor = 0,0,0, ; + Margin = 0, ; + Name = "Text1", ; + ReadOnly = .F., ; + SelectedBackColor = 0,255,255, ; + SelectedForeColor = 0,0,0 + *< END OBJECT: BaseClass="textbox" /> + + ADD OBJECT 'Grid1.cstoc_faptic.Header1' AS header WITH ; + Alignment = 2, ; + Caption = "Stoc faptic", ; + FontName = "Arial Narrow", ; + Name = "Header1" + *< END OBJECT: BaseClass="header" /> + + ADD OBJECT 'Grid1.cstoc_faptic.Text1' AS textbox WITH ; + BackColor = 234,249,255, ; + BorderStyle = 0, ; + FontBold = .T., ; + FontName = "Arial Narrow", ; + FontSize = 10, ; + ForeColor = 0,64,128, ; + Format = "", ; + Margin = 0, ; + Name = "Text1", ; + ReadOnly = .F., ; + SelectedBackColor = 0,255,255, ; + SelectedForeColor = 0,0,0 + *< END OBJECT: BaseClass="textbox" /> + + ADD OBJECT 'Grid1.cStocFaptic1.Header1' AS header WITH ; + Alignment = 2, ; + Caption = "Stoc faptic 1", ; + FontName = "Arial Narrow", ; + Name = "Header1" + *< END OBJECT: BaseClass="header" /> + + ADD OBJECT 'Grid1.cStocFaptic1.Text1' AS textbox WITH ; + BackColor = 234,249,255, ; + BorderStyle = 0, ; + FontName = "Arial Narrow", ; + FontSize = 10, ; + ForeColor = 0,64,128, ; + Margin = 0, ; + Name = "Text1", ; + ReadOnly = .F., ; + SelectedBackColor = 0,255,255, ; + SelectedForeColor = 0,0,0 + *< END OBJECT: BaseClass="textbox" /> + + ADD OBJECT 'Grid1.cStocFaptic2.Header1' AS header WITH ; + Alignment = 2, ; + Caption = "Stoc faptic 2", ; + FontName = "Arial Narrow", ; + Name = "Header1" + *< END OBJECT: BaseClass="header" /> + + ADD OBJECT 'Grid1.cStocFaptic2.Text1' AS textbox WITH ; + BackColor = 234,249,255, ; + BorderStyle = 0, ; + FontName = "Arial Narrow", ; + FontSize = 10, ; + ForeColor = 0,0,0, ; + Margin = 0, ; + Name = "Text1", ; + ReadOnly = .F., ; + SelectedBackColor = 0,255,255, ; + SelectedForeColor = 0,0,0 + *< END OBJECT: BaseClass="textbox" /> + + ADD OBJECT 'Grid1.cStocFaptic3.Header1' AS header WITH ; + Alignment = 2, ; + Caption = "Stoc faptic 3", ; + FontName = "Arial Narrow", ; + Name = "Header1" + *< END OBJECT: BaseClass="header" /> + + ADD OBJECT 'Grid1.cStocFaptic3.Text1' AS textbox WITH ; + BackColor = 234,249,255, ; + BorderStyle = 0, ; + FontName = "Arial Narrow", ; + FontSize = 10, ; + ForeColor = 0,0,0, ; + Margin = 0, ; + Name = "Text1", ; + ReadOnly = .F., ; + SelectedBackColor = 0,255,255, ; + SelectedForeColor = 0,0,0 + *< END OBJECT: BaseClass="textbox" /> + + ADD OBJECT 'Grid1.cStocFaptic4.Header1' AS header WITH ; + Alignment = 2, ; + Caption = "Stoc faptic 4", ; + FontName = "Arial Narrow", ; + Name = "Header1" + *< END OBJECT: BaseClass="header" /> + + ADD OBJECT 'Grid1.cStocFaptic4.Text1' AS textbox WITH ; + BackColor = 234,249,255, ; + BorderStyle = 0, ; + FontName = "Arial Narrow", ; + FontSize = 10, ; + ForeColor = 0,0,0, ; + Margin = 0, ; + Name = "Text1", ; + ReadOnly = .F., ; + SelectedBackColor = 0,255,255, ; + SelectedForeColor = 0,0,0 + *< END OBJECT: BaseClass="textbox" /> + + ADD OBJECT 'Grid1.cStocFaptic5.Header1' AS header WITH ; + Alignment = 2, ; + Caption = "Stoc faptic 5", ; + FontName = "Arial Narrow", ; + Name = "Header1" + *< END OBJECT: BaseClass="header" /> + + ADD OBJECT 'Grid1.cStocFaptic5.Text1' AS textbox WITH ; + BackColor = 234,249,255, ; + BorderStyle = 0, ; + FontName = "Arial Narrow", ; + FontSize = 10, ; + ForeColor = 0,0,0, ; + Margin = 0, ; + Name = "Text1", ; + ReadOnly = .F., ; + SelectedBackColor = 0,255,255, ; + SelectedForeColor = 0,0,0 + *< END OBJECT: BaseClass="textbox" /> + + ADD OBJECT 'Grid1.cStocScriptic.Header1' AS header WITH ; + Alignment = 2, ; + Caption = "Stoc scriptic", ; + FontName = "Arial Narrow", ; + Name = "Header1" + *< END OBJECT: BaseClass="header" /> + + ADD OBJECT 'Grid1.cStocScriptic.Text1' AS textbox WITH ; + BackColor = 255,255,255, ; + BorderStyle = 0, ; + FontName = "Arial Narrow", ; + ForeColor = 0,0,0, ; + Margin = 0, ; + Name = "Text1", ; + SelectedBackColor = 0,255,255, ; + SelectedForeColor = 0,0,0, ; + TabStop = .F. + *< END OBJECT: BaseClass="textbox" /> + + ADD OBJECT 'Grid1.cSubgrupa.Header1' AS header WITH ; + Alignment = 2, ; + Caption = "Subgrupa", ; + FontName = "Arial Narrow", ; + Name = "Header1" + *< END OBJECT: BaseClass="header" /> + + ADD OBJECT 'Grid1.cSubgrupa.Text1' AS textbox WITH ; + BackColor = 255,255,255, ; + BorderStyle = 0, ; + FontName = "Arial Narrow", ; + ForeColor = 0,0,0, ; + Margin = 0, ; + Name = "Text1", ; + SelectedBackColor = 0,255,255, ; + SelectedForeColor = 0,0,0 + *< END OBJECT: BaseClass="textbox" /> + + ADD OBJECT 'Grid1.cUM.Header1' AS header WITH ; + Alignment = 2, ; + Caption = "UM", ; + FontName = "Arial Narrow", ; + Name = "Header1" + *< END OBJECT: BaseClass="header" /> + + ADD OBJECT 'Grid1.cUM.Text1' AS textbox WITH ; + BackColor = 255,255,255, ; + BorderStyle = 0, ; + FontName = "Arial Narrow", ; + ForeColor = 0,0,0, ; + Margin = 0, ; + Name = "Text1", ; + ReadOnly = .T., ; + SelectedBackColor = 0,255,255, ; + SelectedForeColor = 0,0,0 + *< END OBJECT: BaseClass="textbox" /> + + ADD OBJECT 'Grid1.cUtilizator.Header1' AS header WITH ; + Alignment = 2, ; + Caption = "Utilizator", ; + FontName = "Arial Narrow", ; + Name = "Header1" + *< END OBJECT: BaseClass="header" /> + + ADD OBJECT 'Grid1.cUtilizator.Text1' AS textbox WITH ; + BackColor = 255,255,255, ; + BorderStyle = 0, ; + FontName = "Arial Narrow", ; + ForeColor = 0,0,0, ; + Margin = 0, ; + Name = "Text1", ; + ReadOnly = .T., ; + SelectedBackColor = 0,255,255, ; + SelectedForeColor = 0,0,0 + *< END OBJECT: BaseClass="textbox" /> + + ADD OBJECT 'Grid1.cUzura_faptic.Header1' AS header WITH ; + Alignment = 2, ; + Caption = "Uzura faptica (%)", ; + FontName = "Arial Narrow", ; + Name = "Header1", ; + WordWrap = .T. + *< END OBJECT: BaseClass="header" /> + + ADD OBJECT 'Grid1.cUzura_faptic.Text1' AS textbox WITH ; + BackColor = 234,249,255, ; + BorderStyle = 0, ; + FontName = "Arial Narrow", ; + FontSize = 10, ; + ForeColor = 0,0,0, ; + Margin = 0, ; + Name = "Text1", ; + ReadOnly = .F., ; + SelectedBackColor = 0,255,255, ; + SelectedForeColor = 0,0,0 + *< END OBJECT: BaseClass="textbox" /> + + ADD OBJECT 'Grid1.cValidat.Check1' AS checkbox WITH ; + Alignment = 2, ; + Caption = "", ; + Height = 17, ; + Left = 20, ; + Name = "Check1", ; + ReadOnly = .T., ; + Top = 71, ; + Width = 60 + *< END OBJECT: BaseClass="checkbox" /> + + ADD OBJECT 'Grid1.cValidat.Header1' AS header WITH ; + Alignment = 2, ; + Caption = "Validat", ; + FontName = "Arial Narrow", ; + Name = "Header1" + *< END OBJECT: BaseClass="header" /> + + ADD OBJECT 'Grid1.cValidat.Text1' AS textbox WITH ; + BackColor = 255,255,255, ; + BorderStyle = 0, ; + FontName = "Arial Narrow", ; + ForeColor = 0,0,0, ; + Margin = 0, ; + Name = "Text1", ; + SelectedBackColor = 0,255,255, ; + SelectedForeColor = 0,0,0 + *< END OBJECT: BaseClass="textbox" /> + + ADD OBJECT 'Grid1.cValuta.Header1' AS header WITH ; + Alignment = 2, ; + Caption = "Valuta", ; + FontName = "Arial Narrow", ; + Name = "Header1" + *< END OBJECT: BaseClass="header" /> + + ADD OBJECT 'Grid1.cValuta.Text1' AS textbox WITH ; + BackColor = 255,255,255, ; + BorderStyle = 0, ; + ControlSource = "id_valuta", ; + FontName = "Arial Narrow", ; + ForeColor = 0,0,0, ; + Margin = 0, ; + Name = "Text1", ; + SelectedBackColor = 0,255,255, ; + SelectedForeColor = 0,0,0 + *< END OBJECT: BaseClass="textbox" /> + + ADD OBJECT 'Gridextra1' AS gridextra WITH ; + Height = 17, ; + Left = 517, ; + Name = "Gridextra1", ; + Top = 102, ; + Width = 19 + *< END OBJECT: ClassLib="..\utile\gridextras\gridextras.vcx" BaseClass="custom" /> + + ADD OBJECT 'lblAtentie' AS lb_simplu WITH ; + Caption = "", ; + ForeColor = 255,0,0, ; + Left = 377, ; + Name = "lblAtentie", ; + TabIndex = 16, ; + Top = 128 + *< END OBJECT: ClassLib="lb.vcx" BaseClass="label" /> + + PROCEDURE actualizeaza_grid1 + LPARAMETERS pcFiltru + LOCAL lcFiltru + + lcFiltru=pcFiltru + *!* IF EMPTY(lcFiltru) + *!* lcFiltru=this.ocursor.ca_baza1.cfiltruOriginal + *!* ELSE + *!* lcFiltru = lcFiltru + [ and ] + this.ocursor.ca_baza1.cfiltruOriginal + *!* ENDIF + IF EMPTY(lcFiltru) + lcFiltru=this.ocursor.ca_baza1.cfiltru + ENDIF + + lcOrder = this.corder + [ ] + this.casc + save_grid(This.grid1) + this.ocursor.ca_baza1.lAfisare = .F. + this.ocursor.ca_baza1.cfiltru = lcfiltru + this.ocursor.ca_baza1.corder = lcOrder + this.ocursor.ca_baza1.afisare() + restore_grid(This.grid1) + + thisform.do_executa + + ENDPROC + + PROCEDURE citeste_doc + Private pcReturnValue + pcReturnValue = [] + If This.nOptiuneInventar = 1 + lcSql = [pack_inventar.citeste_documente_atasate(] + Alltrim(Str(Thisform.nidcinventar)) + [)] + lnSucces = goExecutor.oFunction2Value(lcSql, @pcReturnValue) + If lnSucces < 0 Then + amessagebox(goExecutor.cEroare,64,"Eroare") + Endif + Endif + Return pcReturnValue + ENDPROC + + PROCEDURE corder_assign + LPARAMETERS vNewVal + *To do: Modify this routine for the Assign method + + IF THIS.corder = m.vNewVal + lcASC = IIF(this.casc = 'ASC','DESC','ASC') + ELSE + lcASC = 'ASC' + ENDIF + THIS.cOrder = m.vNewVal + this.cAsc = lcAsc + this.actualizeaza_grid1() + + ENDPROC + + PROCEDURE do_adauga + *!* lcSql = 'select * from ' + gcs + '.vnom_articole order by denumire,codmat' + *!* lnSucces = goExecutor.oExecute(lcSql,'crsArticole') + *!* IF lnSucces < 0 + *!* MESSAGEBOX(goExecutor.ceroare,0) + *!* RETURN + *!* ENDIF + + Local oAdd As 'new_inventar_magazin' + Local lcSql, lccursor, lcsel, lnsucces, lcIdRulAux + *:Global gnButon, oinv, oinv_orig + PRIVATE pndns_luni, pnid_articol, pnid_gestiune, pnid_responsabil, pnidvaluta, pnpret, pnpretv, pcIdSucursala, pcSerie, pcacont, pccont, pddatapif, pnIdRulAux + PRIVATE pnpretvaluta, pnproc_tvav, pnstoc_faptic, pntvav, tValue, tcCol + If Thisform.lvalidat And !Thisform.lCorectie + Return + Endif + *!* v 2.0.22 + *!* pentru cresterea vitezei introducerii de articole noi - copii gestiunea, cont, acont, proc_tvav + lcsel = [select 1 + round(cota_tva/100, 2) as cota_tva,denumire from vjtva_coloane ] + ; + [where jv=1 and afisat = 1 and id_jtva_coloana > 0 order by ordine] + lccursor = [crs_cote_tva_inventar] + If !goExecutor.oExecuta(lcsel, lccursor) + Return + Endif + + + *!* modificare v 2.2.6 : dintre gestiunile pe care are dreptul utilizatorul arat doar gestiunile alese la inceperea inventarului + *!* lcSql = 'select * from vnom_gestiuni where inactiv = 0 order by nume_gestiune,cgest' + lcSql = [select distinct c.nume_gestiune,c.cgest,b.id_gestiune,c.nr_pag,c.cont,c.acont ] + ; + [from gest_coresp_util_grupe a ] + ; + [left join gest_coresp_grupe_gestiuni b on a.id_grupe=b.id_grupe ] + ; + [left join nom_gestiuni c on b.id_gestiune=c.id_gestiune ] + ; + [where a.id_util = ] + Alltrim(Str(gnIdUtil)) + Strtran(gcCondSucursala, [id_sucursala], [c.id_sucursala]) + ; + [ and c.inactiv = 0 ] + ; + Iif(!Empty(Nvl(Thisform.cId_gestiuni, '')), [and b.id_gestiune in (] + Thisform.cId_gestiuni + [)], []) + ; + [ order by c.nume_gestiune,c.cgest] + *!* modificare v 2.2.6 ^ + If !goExecutor.oExecuta(lcSql, 'crsGestiuni') + Return + Endif + + lcSql = 'select * from vnom_valute where inactiv = 0 order by moneda_nationala desc, nume_val' + If !goExecutor.oExecuta(lcSql, 'crsValuteTemp') + Return + Endif + + If This.lobinv + lcSql = 'select id_responsabil, nume from vnom_responsabili where inactiv = 0 order by nume' + lnsucces = goExecutor.oExecute(lcSql, 'crsResponsabili2') + If lnsucces < 0 + AMESSAGEBOX(goExecutor.cEroare, 0 + 16, "Eroare") + Return + Endif + Create Cursor crsResponsabili (id_responsabil N(20) Null, nume C(100)) + Insert Into crsResponsabili (id_responsabil, nume) Values (Null, '') + Insert Into crsResponsabili Select id_responsabil, nume From crsResponsabili2 + Select crsResponsabili + Go Top + Use In crsResponsabili2 + Endif + Local lcCursorInventar + lcCursorInventar = Thisform.cnumecursor + + + Select (Thisform.cnumecursor) + Scatter Name oinv_orig + Scatter Name oinv Blank + oinv.DATAPIF = Date() + oinv.id_gestiune = oinv_orig.id_gestiune + oinv.nume_gestiune = oinv_orig.nume_gestiune + oinv.proc_tvav = oinv_orig.proc_tvav + oinv.id_valuta = oinv_orig.id_valuta + oinv.valuta = oinv_orig.valuta + oinv.Cont = oinv_orig.Cont + oinv.acont = oinv_orig.acont + oinv.pretv = 0 + oinv.tvav = 0 + oinv.id_furnizor = oinv_orig.id_furnizor + oinv.furnizor = oinv_orig.furnizor + oinv.id_rul_aux = oinv_orig.id_rul_aux + + Select crsGestiuni + Locate For id_gestiune = oinv.id_gestiune + If !Found() + Go Top + oinv.id_gestiune = crsGestiuni.id_gestiune + oinv.nume_gestiune = crsGestiuni.nume_gestiune + Endif + + Select crsValuteTemp + Locate For id_valuta = oinv.id_valuta + If !Found() + Go Top + oinv.id_valuta = crsValuteTemp.id_valuta + oinv.valuta = crsValuteTemp.nume_val + Endif + + Select crs_cote_tva_inventar + Locate For cota_tva = oinv.proc_tvav + If !Found() + Go Top + oinv.proc_tvav = cota_tva + Endif + *!* v 2.0.22 ^ + + oAdd = Createobject('new_inventar_magazin') + *!* oAdd.lobinv = This.lobinv + oAdd.obj = oinv + oAdd.Show() + + Private pnIdInventar + pnIdInventar = 0 + + oinv.dns_luni = oinv.dnf + + If gnButon = 1 + pnpretvaluta = oinv.pretd + pnidvaluta = oinv.id_valuta + + pnid_articol = oinv.id_articol + pnid_gestiune = oinv.id_gestiune + pnid_responsabil = oinv.id_responsabil + pccont = Left(Alltrim(oinv.Cont), 4) + pcacont = Left(Alltrim(Nvl(oinv.acont, '')), 4) + pnpret = Nvl(oinv.Pret, 0) + pnpretv = Nvl(oinv.pretv, 0) + pntvav = Nvl(oinv.tvav, 0) + pnproc_tvav = Nvl(oinv.proc_tvav, 0) + pddatapif = oinv.DATAPIF + pndns_luni = Nvl(oinv.dns_luni, 0) + pcSerie = Nvl(oinv.serie, '') + pcIdSucursala = Iif(Nvl(gnIdSucursala, 0) = 0, 'NULL', Alltrim(Str(gnIdSucursala))) + pnstoc_faptic = Nvl(oinv.stoc_faptic, 0) + pnIdRulAux = NVL(oinv.id_rul_aux, 0) + lcIdRulAux = 'NULL' + + IF !EMPTY(NVL(oinv.id_furnizor,0)) + lcSql = [begin pack_contafin.GetRulajAuxiliarFurnizor(] + Transform(oinv.id_furnizor) + [, ?@pnIdRulAux); end;] + lnsucces = goExecutor.oExecute(m.lcSql) + If m.lnsucces < 0 + AMESSAGEBOX(goExecutor.cEroare, 0 + 48, _Screen.Caption) + Return m.lnsucces + ELSE + lcIdRulAux = ALLTRIM(STR(m.pnIdRulAux)) + ENDIF + ENDIF + + lcSql = [insert into gest_inventar (an,luna,id_articol,id_gestiune,cont,acont,pret,pretv,tvav,proc_tvav,data_referinta, ] + ; + [id_responsabil,datapif,dns_luni,id_rul_aux,serie,pretd,id_Valuta,id_sucursala,id_c_inventar,id_part_rez,id_lucrare_rez,stoc_faptic, stoc_faptic1, id_util ) ] + ; + [values(] + Alltrim(Str(gnAn)) + [,] + Alltrim(Str(gnLuna)) + [,] + Alltrim(Str(pnid_articol)) + [,] + ; + Alltrim(Str(pnid_gestiune)) + [,'] + pccont + [','] + pcacont + [',] + Alltrim(Str(pnpret, 20, 4)) + [,] + Alltrim(Str(pnpretv, 20, 4)) + [,] + ; + Alltrim(Str(pntvav, 10, 4)) + [,] + Alltrim(Str(pnproc_tvav, 10, 4)) + [,TO_DATE('] + Iif(!Empty(Nvl(pdDataRef, {})), Dtos(pdDataRef), '') + [','YYYYMMDD'),] + ; + Alltrim(Str(pnid_responsabil)) + [, TO_DATE('] + Iif(!Empty(Nvl(pddatapif, {})), Dtos(pddatapif), '') + [','YYYYMMDD'),] + Alltrim(Str(pndns_luni)) + [,] + m.lcIdRulAux + [,'] + ; + Alltrim(pcSerie) + [',] + Alltrim(Str(pnpretvaluta, 20, 4)) + [,] + Alltrim(Str(pnidvaluta)) + [,] + pcIdSucursala + [, ] + ; + Alltrim(Str(This.nidcinventar)) + ',' + Alltrim(Str(oinv.id_part_rez)) + [,] + Alltrim(Str(oinv.id_lucrare_rez)) + [,] + Alltrim(Str(pnstoc_faptic, 18, 3)) + ; + [,] + Alltrim(Str(pnstoc_faptic, 18, 3)) + [,] + Alltrim(Str(gnIdUtil)) + [) ] + ; + [ RETURNING ID_INVENTAR INTO ?@pnIdInventar] + lnsucces = goExecutor.oExecute(lcSql) + If lnsucces < 0 + AMESSAGEBOX(goExecutor.cEroare, 16, "Eroare") + gnButon = 2 + Else + + lcSql = 'select * from vgest_inventar where id_inventar = ?pnIdInventar' + lnsucces = goExecutor.oExecute(lcSql, "crsInventarNou") + If lnsucces < 0 + AMESSAGEBOX(goExecutor.cEroare, 16, "Eroare") + This.actualizeaza_grid1() + Else + Select (lcCursorInventar) + Append From Dbf('crsInventarNou') + Use In crsInventarNou + Endif + + Endif + Endif + + If Used('crsArticole') + Use In crsArticole + Endif + If Used('crsGestiuni') + Use In crsGestiuni + Endif + If Used('crsResponsabili') + Use In crsResponsabili + Endif + Use In (Select('crs_cote_tva_inventar')) + Use In (Select('crsValuteTemp')) + Thisform.do_executa() + This.grid1.SetFocus() + + ENDPROC + + PROCEDURE do_adauga_inform + *!* 04.05.2010 + *!* marius.mutu + *!* ultimul pret, tva de achizitie dupa data iesirii din stoc + + Private pnIdInventar + pnIdInventar = 0 + Local lcCursorInventar + lcCursorInventar = Thisform.cnumecursor + oinv.dns_luni = oinv.dnf + + Local pnpretvaluta,pnidvaluta,pnid_articol ,pnid_gestiune ,pnid_responsabil ,pccont ,pcacont ,pnpretv ,pntvav ,pnproc_tvav ,pddatapif ,pndns_luni ,pcSerie ,pcIdSucursala ,pnstoc_faptic + LOCAL pnPret, pnTva + pnPret = 0 + pnTva = 0 + + *!* 04.05.2010 + *!* lcSql = [select a.* from (select a.dataora,a.pret,a.tva, a.tvav,a.pretv,a.PRETV+a.TVAV as pretvtva ]+; + *!* [ from rul a where a.ID_ARTICOL = ]+Alltrim(Str(oinv.id_articol)) + [ and a.sters = 0 and ((a.cant<>0 and a.id_tip_rulaj = 0) or (a.cante<0 and a.id_tip_rulaj = 1) )]+; + *!* [ and an*12+luna between ]+ Alltrim(Str(gnAn*12+gnluna-1))+[ and ]+ Alltrim(Str(gnAn*12+gnluna)) +; + *!* [ order by a.an desc, a.luna desc, a.dataora desc) a where rownum = 1] + *!* *!* v 2.0.18 ^ + + TEXT TO lcSql NOSHOW + select max(pret) as pret, max(tva) as tva + from (select last_value(pret) OVER(ORDER BY dataout ROWS BETWEEN UNBOUNDED PRECEDING AND UNBOUNDED FOLLOWING) as pret, + last_value(tva) OVER(ORDER BY dataout ROWS BETWEEN UNBOUNDED PRECEDING AND UNBOUNDED FOLLOWING) as tva + from stoc + where an in (<>, <>) + and id_articol = <>) + ENDTEXT + *!* 04.05.2010 ^ + + lnSucces=goExecutor.oExecute(lcSql,'crsPretUltim') + If lnSucces < 0 + amessagebox(goExecutor.cEroare,0+16,'Eroare') + Else + pnpret = Nvl(crsPretUltim.Pret,0) + pntva = Nvl(crsPretUltim.tva,0) + ENDIF + + Use In (SELECT('crsPretUltim')) + + pnpretvaluta=oinv.pretd + pnidvaluta=oinv.id_valuta + + pnid_articol = oinv.id_articol + pnid_gestiune = Thisform.nid_gestiune + pnid_responsabil = oinv.id_responsabil + pccont = Left(Alltrim(oinv.Cont),4) + pcacont = Left(Alltrim(Nvl(oinv.acont,'')),4) + + pnpretv = Nvl(oinv.pretv,0) + pntvav = Nvl(oinv.tvav,0) + pnproc_tvav = Iif(Empty(Nvl(oinv.proc_tvav,0)),Thisform.nproc_tvav, Nvl(oinv.proc_tvav,0)) + + If !Empty(Nvl(oinv.proc_tvav,0)) + Thisform.nproc_tvav = Nvl(oinv.proc_tvav,0) + Endif + + pddatapif = oinv.DATAPIF + pndns_luni = oinv.dns_luni + pcSerie = oinv.serie + pcIdSucursala = Iif(Nvl(gnIdSucursala,0) = 0, 'NULL', Alltrim(Str(gnIdSucursala))) + pnstoc_faptic = Nvl(oinv.stoc_faptic,0) + *!* TEXT TO lcLog TEXTMERGE NOSHOW + *!* insert into gest_inventar (an,luna,id_articol,id_gestiune,cont,acont,pret,pretv,tvav,proc_tvav,data_referinta, ] + ; + *!* [id_responsabil,datapif,dns_luni,id_rul_aux,serie,pretd,id_Valuta,id_sucursala,id_c_inventar,id_part_rez,id_lucrare_rez,stoc_faptic,id_util ) ] +; + *!* [values(] + Alltrim(Str(<>)) + [,] + Alltrim(Str(<>)) + [,] + Alltrim(Str(<>)) + [,] + ; + *!* Alltrim(Str(<>)) + [,'] + <> + [','] + <> + [',] + Alltrim(Str(<>,20,4)) + [,] + Alltrim(Str(<>,20,4)) + [,] + ; + *!* Alltrim(Str(<>,10,4)) + [,] + Alltrim(Str(<>,10,4)) + [,TO_DATE('] + Iif(!Empty(Nvl(<>,{})),Dtos(<>), '') + [','YYYYMMDD'),] + ; + *!* Alltrim(Str(<>)) + [, TO_DATE('] + Iif(!Empty(Nvl(<>,{})),Dtos(<>), '') + [','YYYYMMDD'),] + Alltrim(Str(<>)) + [,0,'] + ; + *!* Alltrim(<>) + [',] + Alltrim(Str(<>,20,4)) + [,] + Alltrim(Str(<>)) + [,] + <> + [, ] + ; + *!* Alltrim(Str(<>)) + ',' + Alltrim(Str(<>)) + [,] + Alltrim(Str(<>)) +[,]+Alltrim(Str(<>,18,3))+; + *!* [,]+Alltrim(Str(<>))+ [) ] + *!* ENDTEXT + + + *!* golog.log(lcLog,PROGRAM()) + + lcSql = [insert into gest_inventar (an,luna,id_articol,id_gestiune,cont,acont,pret,tva,pretv,tvav,proc_tvav,data_referinta, ] + ; + [id_responsabil,datapif,dns_luni,id_rul_aux,serie,pretd,id_Valuta,id_sucursala,id_c_inventar,id_part_rez,id_lucrare_rez,stoc_faptic,id_util ) ] +; + [values(] + Alltrim(Str(gnAn)) + [,] + Alltrim(Str(gnluna)) + [,] + Alltrim(Str(pnid_articol)) + [,] + ; + Alltrim(Str(pnid_gestiune)) + [,'] + pccont + [','] + pcacont + [',] + Alltrim(Str(pnPret,20,4)) + [,] + Alltrim(Str(pnTva,20,4)) + [,] + Alltrim(Str(pnpretv,20,4)) + [,] + ; + Alltrim(Str(pntvav,20,4)) + [,] + Alltrim(Str(pnproc_tvav,10,4)) + [,TO_DATE('] + Iif(!Empty(Nvl(pdDataRef,{})),Dtos(pdDataRef), '') + [','YYYYMMDD'),] + ; + Alltrim(Str(pnid_responsabil)) + [, TO_DATE('] + Iif(!Empty(Nvl(pddatapif,{})),Dtos(pddatapif), '') + [','YYYYMMDD'),] + Alltrim(Str(pndns_luni)) + [,0,'] + ; + Alltrim(pcSerie) + [',] + Alltrim(Str(pnpretvaluta,20,4)) + [,] + Alltrim(Str(pnidvaluta)) + [,] + pcIdSucursala + [, ] + ; + Alltrim(Str(This.nidcinventar)) + ',' + Alltrim(Str(oinv.id_part_rez)) + [,] + Alltrim(Str(oinv.id_lucrare_rez)) +[,]+Alltrim(Str(pnstoc_faptic,18,3))+; + [,]+Alltrim(Str(gnIdUtil))+ [) ] + ; + [ RETURNING ID_INVENTAR INTO ?@pnIdInventar] + lnSucces = goExecutor.oExecute(lcSql) + If lnSucces < 0 + amessagebox(goExecutor.cEroare,16,"Eroare") + gnButon = 2 + Else + *!* DEBUG + *!* SUSPEND + + Use In Select('crsInventarNou') + lcSql = 'select * from vgest_inventar where id_inventar = ?pnIdInventar' + lnSucces = goExecutor.oExecute(lcSql, "crsInventarNou") + If lnSucces < 0 + amessagebox(goExecutor.cEroare,16,"Eroare") + This.actualizeaza_grid1() + Else + Select (lcCursorInventar) + Append From Dbf('crsInventarNou') + Use In crsInventarNou + Endif + + Endif + Thisform.do_executa() + + *!* 23.02.2010 + *!* marius.mutu + *!* nu stiu de ce nu pune focusul pe coloana corespunzatoare, desi intra pe ramura cu setfocus + Select crs_inventar + Locate For id_inventar = pnIdInventar + If Found() + If Empty(proc_tvav) + Thisform.grid1.cproc_TVAv.text1.SetFocus() + Else + If Empty(pretctvav) + Thisform.grid1.cPretcTVA.text1.SetFocus() + Else + + Thisform.grid1.cstoc_faptic.text1.SetFocus() + + Replace stoc_faptic With 0 + Endif + Endif + Endif + ENDPROC + + PROCEDURE do_cauta + Local lcFiltru + lcFiltru = "1=1" + gcCondSucursala + + IF LEN(THISFORM.filtru_pretty)>0 + lcFiltru = lcFiltru+" and (" + ALLTRIM(THISFORM.filtru_pretty) + ")" + ENDIF + IF !EMPTY(lcFiltru) + IF UPPER(ALLTRIM(LEFT(ALLTRIM(lcFiltru),4)))="AND" + lcFiltru =SUBSTR(lcfiltru,4) + ENDIF + + IF UPPER(ALLTRIM(LEFT(ALLTRIM(lcFiltru),3)))="OR" + lcFiltru =SUBSTR(lcfiltru,3) + ENDIF + ENDIF + IF (THIS.filtru_pretty#"none") + Thisform.MousePointer= 11 + Thisform.LockScreen=.T. + THISFORM.actualizeaza_grid1(lcFiltru) + Thisform.LockScreen=.F. + Thisform.MousePointer= 0 + IF RECCOUNT(this.cnumecursor)=0 + aMessagebox("Cautarea nu a intors rezultate!",0+48,"Info cautare") + ENDIF + ENDIF + + ENDPROC + + PROCEDURE do_cautacodbare + ENDPROC + + PROCEDURE do_cauta_articol + *!* 19.04.2010 + *!* marius.mutu + *!* analitic din gestiune/articol + Local locauta + + lcFiltru = [1=2] + lcSchema = [] + lcOrder = [denumire] + lccoloane = [denumire,codmat,codbare,id_articol] + lcTitlu = [Alegeti articolul] + lcTitluColoane = [Denumire,Cod Material,Cod bare,Id] + *!* 19.04.2010 + *!* lcSelect = [select a.ID_ARTICOL,a.DENUMIRE,a.CODMAT,a.CODBARE,a.INACTIV,a.cont,a.acont,c.pret,c.proc_tvav,c.pretftva,c.pretctva ] +; + *!* [ from nom_articole a ]+; + *!* [ left join ]+; + *!* [ (select distinct b.id_articol,max(NVL(b.pret,0)) as pret,max(NVL(b.proc_tvav,0)) as proc_tvav, ]+; + *!* [ max(NVL(b.pretftva,0)) as pretftva,max(NVL(b.pretctva,0)) as pretctva ]+; + *!* [ from crm_politici_pret_art b ]+; + *!* [ where b.id_pol in (select b1.id_pol from crm_vpolpretcurutil b1 where b1.id_util = ?gnIdUtil) ]+; + *!* [ group by b.id_articol) c on a.ID_ARTICOL = c.id_articol] + + lcSelect = [select a.ID_ARTICOL, a.DENUMIRE, a.CODMAT, a.CODBARE, a.INACTIV, NVL(g.cont, a.cont) as cont, NVL(g.acont, a.acont) as acont,c.pret,c.proc_tvav,c.pretftva,c.pretctva ] +; + [ from nom_articole a ]+; + [ left join (select id_gestiune, cont, acont from nom_gestiuni) g on g.id_gestiune = ] + Alltrim(Str(thisform.nid_gestiune)) + ; + [ left join ]+; + [ (select distinct b.id_articol,max(NVL(b.pret,0)) as pret,max(NVL(b.proc_tvav,0)) as proc_tvav, ]+; + [ max(NVL(b.pretftva,0)) as pretftva,max(NVL(b.pretctva,0)) as pretctva ]+; + [ from crm_politici_pret_art b ]+; + [ where b.id_pol in (select b1.id_pol from crm_vpolpretcurutil b1 where b1.id_util = ?gnIdUtil) ]+; + [ group by b.id_articol) c on a.ID_ARTICOL = c.id_articol] + *!* 19.04.2010 ^ + + lcFiltruOriginal = [ a.INACTIV = 0 and a.sters = 0 ] + lcNumeProc = [nom_articole] + + llToateIreg = .F. + lcPrimaColoana = [denumire] + lnPornire = 1 + lcIdColumn = "id_articol" + locauta = cauta_alfa(lcSelect, lcFiltru, lcSchema, lcOrder, lccoloane, lcTitlu, lcTitluColoane, lcNumeProc, llToateIreg, lcFiltruOriginal, lcPrimaColoana,; + lnPornire, , lcIdColumn) + If gnbuton <> 2 + oinv.denumire = locauta.denumire + oinv.id_articol = locauta.id_articol + oinv.proc_tvav = locauta.proc_tvav + Thisform.npretvtva = locauta.pretctva + oinv.pretv = locauta.pretftva + oinv.tvav = Thisform.npretvtva - oinv.pretv + oinv.stoc_faptic = 0 + oinv.Cont = Alltrim(Nvl(locauta.Cont,'')) + oinv.acont = Alltrim(Nvl(locauta.acont,'')) + + If Upper(Alltrim(oinv.codbare)) <>Upper(Alltrim(locauta.codbare)) And !(Empty(locauta.codbare) Or Isnull(locauta.codbare)) And !(Empty(oinv.codbare) Or Isnull(oinv.codbare)) + If amessagebox([Codul de bare vechi pe articolul ]+Alltrim(locauta.denumire)+; + [ este: ]+Alltrim(locauta.codbare)+[. Il inlocuim cu: ]+; + ALLTRIM(oinv.codbare)+[?],4+32,'Atentie!') = 6 + lcsel = [update nom_articole set codbare = ] + Alltrim(oinv.codbare)+; + [where id_articol = ]+Alltrim(Str(locauta.id_articol)) + lnSucces = goExecutor.oExecute(lcsel) + If lnSucces < 0 + amessagebox(goExecutor.cEroare ,0+16, 'Eroare') + Endif + Else + oinv.codbare = locauta.codbare + Endif + Else + lcsel = [update nom_articole set codbare = '] + Alltrim(oinv.codbare)+; + [' where id_articol = ]+Alltrim(Str(locauta.id_articol)) + lnSucces = goExecutor.oExecute(lcsel) + If lnSucces < 0 + amessagebox(goExecutor.cEroare ,0+16, 'Eroare') + Endif + + Endif + + lcSql = [select a.* from (select a.dataora,a.pret,a.tva, a.tvav,a.pretv,a.PRETV+a.TVAV as pretvtva ]+; + [ from rul a where a.ID_ARTICOL = ]+Alltrim(Str(oinv.id_articol)) + [ and a.sters = 0 and ((a.cant<>0 and a.id_tip_rulaj = 0) or (a.cante<0 and a.id_tip_rulaj = 1) )]+; + [ and an*12+luna between ]+ Alltrim(Str(gnAn*12+gnluna-1))+[ and ]+ Alltrim(Str(gnAn*12+gnluna)) +; + [ order by a.an desc, a.luna desc, a.dataora desc) a where rownum = 1] + *!* v 2.0.18 ^ + lnSucces=goExecutor.oExecute(lcSql,'crsPretUltim') + If lnSucces < 0 + amessagebox(goExecutor.cEroare,0+16,'Eroare') + Else + pnpret = Nvl(crsPretUltim.Pret,0) + Use In crsPretUltim + Endif + + *!* This.ct_clb_articol.Refresh() + *!* + *!* Thisform.clb_vanzare.Refresh + *!* Thisform.clb_cont.Refresh + *!* thisform.clb_tx_simplu1.Refresh + *!* Select crs_inventar + *!* Scatter Name oinv Blank + *!* Thisform.Refresh() + *!* thisform.CLB_TX_PretValuta.Refresh + *!* THISFORM.clb_tx_Valuta.Refresh + Else + Return + Endif + + ENDPROC + + PROCEDURE do_cauta_codbare + *!* 23.02.2010 + *!* marius.mutu + *!* la pozitionarea pe un articol se copia si stocul faptic de pe articolul anterior (nu se cunoaste cauza) + *!* s-a suprascris stocul faptic cu 0 + + *!* 31.05.2010 + *!* marius.mutu + *!* daca este un inventar din stoc, stoc_faptic si stoc_faptic1 sunt deja completate, desi nu au fost verificate + *!* la citirea unui cod de bare verific daca stoc_faptic2 = 0 si nu este completat first_updated_at, nu se pozitioneaza pe stoc_faptic2 ci pe stoc_faptic1 + + Local lcSelect, lnRecno, lnArticole + Private pcCodBare + + lcSelect = Select() + pcCodBare = Alltrim(oinv.codbare) + This.lblAtentie.Caption = '' + + If Empty(m.pcCodBare) + Return + Endif + *!* caut articolul in inventar si ma pozitionez pe el daca il gasesc + Select crs_inventar + lnRecno = Recno() + Calculate Cnt() To lnArticole For Alltrim(codbare) = m.pcCodBare + + If lnArticole > 0 + This.lblAtentie.Caption = 'Exista ' + Alltrim(Str(lnArticole)) + ' pozitii pentru acest cod de bare' + Locate For Alltrim(codbare) = m.pcCodBare + If !Found() + If lnReco > 0 + Goto lnRecno + Else + Go Top + Endif + ELSE + *!* goLog.Log(ALLTRIM(crs_inventar.codbare) + ' ' + ALLTRIM(crs_inventar.denumire) + ' do_cauta_codbare 1 stoc faptic ' + STR(crs_inventar.stoc_faptic)) + Do Case + Case Empty(proc_tvav) + Thisform.grid1.cproc_TVAv.text1.SetFocus() + Case Empty(pretctvav) + Thisform.grid1.cPretcTVA.text1.SetFocus() + Case Empty(stoc_faptic) + *!* goLog.Log(ALLTRIM(crs_inventar.codbare) + ' ' + ALLTRIM(crs_inventar.denumire) + ' do_cauta_codbare 2 stoc faptic' + STR(crs_inventar.stoc_faptic)) + Thisform.grid1.cstoc_faptic.text1.SetFocus() + *!* 23.02.2010 + REPLACE stoc_faptic WITH 0 IN crs_inventar + *!* 23.02.2010 + *!* goLog.Log(ALLTRIM(crs_inventar.codbare) + ' ' + ALLTRIM(crs_inventar.denumire) + ' do_cauta_codbare 3 stoc faptic ' + STR(crs_inventar.stoc_faptic)) + Case Empty(stoc_faptic1) + Thisform.grid1.cstocfaptic1.text1.SetFocus() + *!* 23.02.2010 + REPLACE stoc_faptic1 WITH 0 IN crs_inventar + *!* 23.02.2010 + Case Empty(stoc_faptic2) + *!* 31.05.2010 + *!* IF EMPTY(NVL(first_updated_at, {})) + *!* REPLACE stoc_faptic1 WITH stoc_faptic1 + *!* Thisform.grid1.cstocfaptic1.text1.SetFocus() + *!* ELSE + Thisform.grid1.cstocfaptic2.text1.SetFocus() + *!* 23.02.2010 + REPLACE stoc_faptic2 WITH 0 IN crs_inventar + *!* *!* 23.02.2010 + *!* ENDIF + *!* 31.05.2010 ^ + Case Empty(stoc_faptic3) + Thisform.grid1.cstocfaptic3.text1.SetFocus() + *!* 23.02.2010 + REPLACE stoc_faptic3 WITH 0 IN crs_inventar + *!* 23.02.2010 + Case Empty(stoc_faptic4) + Thisform.grid1.cstocfaptic4.text1.SetFocus() + *!* 23.02.2010 + REPLACE stoc_faptic4 WITH 0 IN crs_inventar + *!* 23.02.2010 + Case Empty(stoc_faptic5) + Thisform.grid1.cstocfaptic5.text1.SetFocus() + *!* 23.02.2010 + REPLACE stoc_faptic5 WITH 0 IN crs_inventar + *!* 23.02.2010 + Otherwise + Thisform.grid1.cstoc_faptic.text1.SetFocus() + Endcase + Endif + Else + + *!* caut codul de bare in nomenclatorul de articole + pretul din politicile de preturi ???pe care are drepturi utilizatorul respectiv??? + *!* cont.analitic din nomenclatorul de gestiuni sau de pe articol + TEXT TO lcSel NOSHOW TEXTMERGE + select id_articol, + codbare, + denumire, + proc_tvav, + pretftva, + pretctva, + NVL(g_cont, a_cont) as cont, + NVL(g_acont, a_acont) as acont + from (select a.ID_ARTICOL, + a.DENUMIRE, + a.CODMAT, + a.CODBARE, + a.INACTIV, + a.cont as a_cont, + a.acont as a_acont, + g.cont as g_cont, + g.acont as g_acont, + c.pret, + c.proc_tvav, + c.pretftva, + c.pretctva + from nom_articole a + left join (select id_gestiune, cont, acont from nom_gestiuni) g + on g.id_gestiune = <> + left join (select distinct b.id_articol, + max(NVL(b.pret, 0)) as pret, + max(NVL(b.proc_tvav, 0)) as proc_tvav, + max(NVL(b.pretftva, 0)) as pretftva, + max(NVL(b.pretctva, 0)) as pretctva + from crm_politici_pret_art b + where b.id_pol in (select b1.id_pol + from crm_vpolpretcurutil b1 + where b1.id_util = ?gnIdUtil) + group by b.id_articol) c + on a.ID_ARTICOL = c.id_articol + where a.INACTIV = 0 + and a.sters = 0 + and a.codbare = ?pcCodBare) + ENDTEXT + lccursor = [crs_ArtCodbare] + lnsucces = goExecutor.oExecute(lcsel,lccursor) + If lnsucces < 0 + AMESSAGEBOX(goExecutor.cEroare ,0+16, 'Eroare') + Return + Endif + + Select crs_ArtCodbare + If Reccount()<1 + AMESSAGEBOX('Nu exista codul de bare introdus! Alegeti din nomenclator articolul cu codul de bare introdus!',0+64,'Atentie') + Thisform.do_cauta_articol() + If gnbuton = 2 + Return + Endif + Else + If Reccount()>1 + + lcFiltru = [2=2] + lcSchema = [] + lcOrder = [denumire] + lccoloane = [denumire,codmat,codbare,id_articol] + lcTitlu = [Alegeti articolul] + lcTitluColoane = [Denumire,Cod Material,Cod bare,Id] + lcSelect = [select a.ID_ARTICOL, a.DENUMIRE, a.CODMAT, a.CODBARE, a.INACTIV, NVL(g.cont, a.cont) as cont, NVL(g.acont, a.acont) as acont,c.pret,c.proc_tvav,c.pretftva,c.pretctva ] +; + [ from nom_articole a ]+; + [ left join (select id_gestiune, cont, acont from nom_gestiuni) g on g.id_gestiune = ] + ALLTRIM(STR(thisform.nid_gestiune)) + ; + [ left join ]+; + [ (select distinct b.id_articol,max(NVL(b.pret,0)) as pret,max(NVL(b.proc_tvav,0)) as proc_tvav, ]+; + [ max(NVL(b.pretftva,0)) as pretftva,max(NVL(b.pretctva,0)) as pretctva ]+; + [ from crm_politici_pret_art b ]+; + [ where b.id_pol in (select b1.id_pol from crm_vpolpretcurutil b1 where b1.id_util = ?gnIdUtil) ]+; + [ group by b.id_articol) c on a.ID_ARTICOL = c.id_articol] + + lcFiltruOriginal = [ a.INACTIV = 0 and a.sters = 0 and a.codbare = ']+Alltrim(oinv.codbare)+['] + lcNumeProc = [nom_articole] + + llToateIreg = .F. + lcPrimaColoana = [denumire] + lnPornire = 1 + lcIdColumn = "id_articol" + loCauta = cauta_alfa(lcSelect, lcFiltru, lcSchema, lcOrder, lccoloane, lcTitlu, lcTitluColoane, lcNumeProc, llToateIreg, lcFiltruOriginal, lcPrimaColoana,; + lnPornire, , lcIdColumn) && 11.07.2007 + If gnbuton = 2 + Return + Endif + + oinv.denumire = loCauta.denumire + oinv.id_articol = loCauta.id_articol + oinv.proc_tvav = loCauta.proc_tvav + Thisform.npretvtva = loCauta.pretctva + oinv.pretv = loCauta.pretftva + oinv.tvav = Thisform.npretvtva - oinv.pretv + oinv.stoc_faptic = 0 + oinv.Cont = Alltrim(Nvl(loCauta.Cont,'')) + oinv.acont = Alltrim(Nvl(loCauta.acont,'')) + Else + oinv.denumire = crs_ArtCodbare.denumire + oinv.id_articol = crs_ArtCodbare.id_articol + oinv.proc_tvav = crs_ArtCodbare.proc_tvav + Thisform.npretvtva = crs_ArtCodbare.pretctva + oinv.pretv = crs_ArtCodbare.pretftva + oinv.tvav = Thisform.npretvtva - oinv.pretv + oinv.stoc_faptic = 0 + oinv.Cont = Alltrim(Nvl(crs_ArtCodbare.Cont,'')) + oinv.acont = Alltrim(Nvl(crs_ArtCodbare.acont,'')) + Endif && Reccount()>1 + Endif && Reccount()<1 + + + Thisform.do_adauga_inform() + + Endif && !Found() + *!* caut articolul in inventar si ma pozitionez pe el daca il gasesc ^ + + Select crs_inventar + Scatter Name oinv Blank + *!* goLog.Log(ALLTRIM(crs_inventar.codbare) + ' ' + ALLTRIM(crs_inventar.denumire) + ' do_cauta_codbare 4 stoc faptic ' + STR(crs_inventar.stoc_faptic)) + Thisform.Refresh() + + ENDPROC + + PROCEDURE do_cauta_furnizor + Local locauta + Local lcFiltru, lcFiltruOriginal, lcIdColumn, lcNumeProc, lcOrder, lcPrimaColoana, lcSchema + Local lcSelect, lcTitlu, lcTitluColoane, lccoloane, llToateIreg, lnId, lnPornire, lnSucces + lcFiltru = [2=2] + lcSchema = [] + lcOrder = [denumire,cod_fiscal,id_part] + lccoloane = [denumire,cod_fiscal,id_part] + lcTitlu = [Alegeti furnizorul] + lcTitluColoane = [Denumire,Cod fiscal,Id] + lcSelect = [select denumire, cod_fiscal, id_part from vnom_parteneri ] + + lcFiltruOriginal = [ INACTIV = 0 ] + lcNumeProc = [nom_parteneri] + + llToateIreg = .F. + lcPrimaColoana = [denumire] + lnPornire = 1 + lcIdColumn = "id_part" + locauta = cauta_alfa(lcSelect, lcFiltru, lcSchema, lcOrder, lccoloane, lcTitlu, lcTitluColoane, lcNumeProc, llToateIreg, lcFiltruOriginal, lcPrimaColoana, ; + lnPornire, , lcIdColumn) + + If gnbuton <> 2 + + lnId = crs_inventar.id_inventar + lnSucces = This.UpdateServer(lnId, 'id_furnizor', locauta.id_part) + If m.lnSucces > 0 + Select crs_inventar + Replace id_furnizor With locauta.id_part, furnizor With locauta.denumire + This.grid1.Refresh() + Endif + Endif + + + ENDPROC + + PROCEDURE do_cauta_gestiune + *!* 22.02.2010 + *!* marius.mutu + *!* parametru tlModifica + + LPARAMETERS tlModifica + *!* tlModifica = click pe coloana gestiune din tabel - se modifica gestiunea pe linia curenta + + Local locauta + lcFiltru = [2=2] + lcSchema = [] + lcOrder = [a.nume_gestiune,a.cgest] + lccoloane = [nume_gestiune,cgest,cont,acont,nr_pag,id_gestiune] + lcTitlu = [Alegeti gestiunea] + lcTitluColoane = [Denumire,Cgest,Cont,Acont,Nr.pag,Id] + lcSelect = [select a.* from vnom_gestiuni a ] + + lcFiltruOriginal = [ a.INACTIV = 0 and a.id_gestiune in (]+Alltrim(Thisform.cid_gestiuni)+[)] + lcNumeProc = [nom_gestiuni] + + llToateIreg = .F. + lcPrimaColoana = [nume_gestiune] + lnPornire = 1 + lcIdColumn = "id_gestiune" + locauta = cauta_alfa(lcSelect, lcFiltru, lcSchema, lcOrder, lccoloane, lcTitlu, lcTitluColoane, lcNumeProc, llToateIreg, lcFiltruOriginal, lcPrimaColoana,; + lnPornire, , lcIdColumn) + + If gnbuton <> 2 + IF tlModifica + lnId = crs_inventar.id_inventar + lnSucces = this.UpdateServer(lnId,'id_gestiune',loCauta.id_gestiune) + IF lnSucces > 0 + SELECT crs_inventar + REPLACE id_gestiune WITH loCauta.id_gestiune, nume_gestiune WITH loCauta.nume_gestiune, cgest WITH loCauta.cgest + this.grid1.Refresh() + ENDIF + ELSE + oinv.nume_gestiune = locauta.nume_gestiune + oinv.id_gestiune = locauta.id_gestiune + thisform.nid_gestiune = locauta.id_gestiune + thisform.cnume_gest = locauta.nume_gestiune + thisform.Ct_clb_gestiune.Refresh() + ENDIF + Endif + + + ENDPROC + + PROCEDURE do_copie + Private pnIdInventar + Local lnIdInventar, lnSucces, lcSql + Local lcIdRulAux, lnRecno, lcIdRulAux + PRIVATE oinv, pcIdLucrareRez, pcIdPartRez, pcIdSucursala, pcSerie, pcacont, pccont + PRIVATE pcid_responsabil, pddatapif, pndns_luni, pnid_articol, pnid_gestiune, pnidvaluta, pnpret + PRIVATE pnpretv, pnpretvaluta, pnproc_tvav, pnstoc_faptic, pntvav + + If Thisform.lvalidat And !Thisform.lCorectie + Return + Endif + + pnIdInventar = 0 + lnIdInventar = crs_inventar.id_inventar + + If Empty(Nvl(lnIdInventar, 0)) + Return + Endif + + *!* TEXT TO lcSql TEXTMERGE NOSHOW + *!* insert into gest_inventar + *!* (id_articol, id_gestiune, stoc_faptic, id_util, an, luna, pret, pretv, tva, tvav, cont, pretd, acont, proc_tvav, data_referinta, depreciere, motiv_depreciere, id_responsabil, datapif, dns_luni, dns_ramas, id_meseria, id_formatia, dataang, datalic, dns_luni_faptic, uzura_faptic, dnf, data_expirare, id_rul_aux, serie, id_valuta, id_sucursala, id_lucrare_rez, id_part_rez, lot, adata_expirare, id_c_inventar) + *!* select id_articol, id_gestiune, 0 as stoc_faptic, <> as id_util, an, luna, pret, pretv, tva, tvav, cont, pretd, acont, proc_tvav, data_referinta, depreciere, motiv_depreciere, id_responsabil, datapif, dns_luni, dns_ramas, id_meseria, id_formatia, dataang, datalic, dns_luni_faptic, uzura_faptic, dnf, data_expirare, id_rul_aux, serie, id_valuta, id_sucursala, id_lucrare_rez, id_part_rez, lot, adata_expirare, id_c_inventar + *!* from gest_inventar where id_inventar = <> + *!* RETURNING ID_INVENTAR INTO ?@pnIdInventar + *!* ENDTEXT + + Select crs_inventar + Scatter Name oinv + + If Nvl(oinv.id_gestiune, 0) = 0 + Messagebox('Gestiunea nu este completata!', 0 + 48, _Screen.Caption) + Return + Endif + If Nvl(oinv.id_articol, 0) = 0 + Messagebox('Articolul nu este completat!', 0 + 48, _Screen.Caption) + Return + Endif + + + oinv.DATAPIF = Date() + oinv.dns_luni = Nvl(oinv.dnf, 0) + + pnpretvaluta = Nvl(oinv.pretd, 0) + pnidvaluta = Nvl(oinv.id_valuta, 0) + pnid_articol = oinv.id_articol + pnid_gestiune = oinv.id_gestiune + pcid_responsabil = Iif(Isnull(oinv.id_responsabil), 'NULL', Alltrim(Str(oinv.id_responsabil))) + pccont = Left(Alltrim(Nvl(oinv.Cont, '')), 4) + pcacont = Left(Alltrim(Nvl(oinv.acont, '')), 4) + pnpret = Nvl(oinv.Pret, 0) + pnpretv = Nvl(oinv.pretv, 0) + pntvav = Nvl(oinv.tvav, 0) + pnproc_tvav = Nvl(oinv.proc_tvav, 0) + pddatapif = oinv.DATAPIF + pndns_luni = Nvl(oinv.dns_luni, 0) + pcSerie = Nvl(oinv.serie, '') + pcIdSucursala = Iif(Nvl(oinv.id_sucursala, 0) = 0, 'NULL', Alltrim(Str(oinv.id_sucursala))) + pnstoc_faptic = 0 + pcIdPartRez = Iif(Isnull(oinv.id_part_rez), 'NULL', Alltrim(Str(oinv.id_part_rez))) + pcIdLucrareRez = Iif(Isnull(oinv.id_lucrare_rez), 'NULL', Alltrim(Str(oinv.id_lucrare_rez))) + lcIdRulAux = Iif(Isnull(oinv.id_rul_aux), 'NULL', Alltrim(Str(oinv.id_rul_aux))) + + lcSql = [insert into gest_inventar (an,luna,id_articol,id_gestiune,cont,acont,pret,pretv,tvav,proc_tvav,data_referinta, ] + ; + [id_responsabil,datapif,dns_luni,id_rul_aux,serie,pretd,id_Valuta,id_sucursala,id_c_inventar,id_part_rez,id_lucrare_rez,stoc_faptic, stoc_faptic1, id_util ) ] + ; + [values(] + Alltrim(Str(gnAn)) + [,] + Alltrim(Str(gnLuna)) + [,] + Alltrim(Str(pnid_articol)) + [,] + ; + Alltrim(Str(pnid_gestiune)) + [,'] + pccont + [','] + pcacont + [',] + Alltrim(Str(pnpret, 20, 4)) + [,] + Alltrim(Str(pnpretv, 20, 4)) + [,] + ; + Alltrim(Str(pntvav, 10, 4)) + [,] + Alltrim(Str(pnproc_tvav, 10, 4)) + [,TO_DATE('] + Iif(!Empty(Nvl(pdDataRef, {})), Dtos(pdDataRef), '') + [','YYYYMMDD'),] + ; + pcid_responsabil + [, TO_DATE('] + Iif(!Empty(Nvl(pddatapif, {})), Dtos(pddatapif), '') + [','YYYYMMDD'),] + Alltrim(Str(pndns_luni)) + [,] + m.lcIdRulAux + [,'] + ; + Alltrim(pcSerie) + [',] + Alltrim(Str(pnpretvaluta, 20, 4)) + [,] + Alltrim(Str(pnidvaluta)) + [,] + pcIdSucursala + [, ] + ; + Alltrim(Str(This.nidcinventar)) + ',' + pcIdPartRez + [,] + pcIdLucrareRez + [,] + Alltrim(Str(pnstoc_faptic, 18, 3)) + ; + [,] + Alltrim(Str(pnstoc_faptic, 18, 3)) + [,] + Alltrim(Str(gnIdUtil)) + [) ] + ; + [ RETURNING ID_INVENTAR INTO ?@pnIdInventar] + lnSucces = goExecutor.oExecute(lcSql) + If lnSucces < 0 + AMESSAGEBOX(goExecutor.cEroare, 16, "Eroare") + Else + lcSql = 'select * from vgest_inventar where id_inventar = ?pnIdInventar' + lnSucces = goExecutor.oExecute(lcSql, "crsInventarNou") + If lnSucces < 0 + AMESSAGEBOX(goExecutor.cEroare, 16, "Eroare") + This.actualizeaza_grid1() + Else + Select crs_inventar + Append From Dbf('crsInventarNou') + Use In crsInventarNou + Select crs_inventar + lnRecno = Recno() + Locate For id_inventar = pnIdInventar + If !Found() + If lnRecno > 0 + Goto lnRecno + Endif + Endif + This.grid1.cstoc_faptic.SetFocus() + Endif + + Endif + + ENDPROC + + PROCEDURE do_excel + If Reccount(This.grid1.RecordSource)>0 + lcOrder = "denumire" + export_excel_grid(This.grid1, lcOrder) + Else + amessagebox("Nu exista inregistrari pentru export in Excel!",48,"Atentie") + Endif + ENDPROC + + PROCEDURE do_executa + lcSel = ALLTRIM(this.cnumecursor) + + SELECT (lcSel) + lnRandCrt = RECNO() + thisform.LockScreen = .T. + + SUM ROUND(pret*stoc_faptic,gnPc) TO thisform.nstoc_faptic + + SUM ROUND(pretctvav*stoc_faptic,gnPc) TO thisform.nstoc_fapticv + + SUM ROUND(stoc_faptic,gnPcant) TO thisform.ncstoc_faptic + + SELECT (lcSel) + IF lnRandCrt > 1 + TRY + GO RECORD lnRandCrt + CATCH + LOCATE + ENDTRY + ELSE + LOCATE + ENDIF + + this.clb_tx_simplu1.Refresh + this.clb_tx_simplu2.Refresh + this.clb_tx_simplu3.Refresh + + thisform.LockScreen = .F. + ENDPROC + + PROCEDURE do_listare + *!* 22.03.2010 + *!* marius.mutu + *!* apareau doar stoc_faptic > 0, nu si stoc_faptic <> stoc_scriptic + + *!* 15.04.2010 + *!* marius.mutu + *!* LCFILTRU = nu avea where + + *!* 16.06.2010 + *!* marius.mutu + *!* LCFILTRU = fara id_articol = 0 + + Local lcRaport, lnOptiuneListare, lcOrdine1, lcOrdine2, lcOrdine3, lcOrdine4, lcFilter + Private pcSubtitlu,pCNumeGest + lnOptiuneListare = xmenu('Listare alfabetica;Listare cronologica;\-;Listare necompletat;Listare necompletat redus') + IF !INLIST(m.lnOptiuneListare, 1, 2, 4, 5) + RETURN + ENDIF + + pCNumeGest = oInventar.cNume_gest + pcSubtitlu = Thisform.citeste_doc() + IF !EMPTY(NVL(pcSubtitlu,[])) + pcSubtitlu = [Documente incluse pe inventar dupa inceperea acestuia : ] + ALLTRIM(pcSubtitlu) + CHR(13) + CHR(10) + endif + pcSubtitlu = pcSubtitlu + This.filtru_pretty_ro_full + *!* pcChiosc = This.cdescriere + lcRaport = [rap_nota_inv2005_mag] + *!* 03.06.2010 + DO CASE + CASE INLIST(lnOptiuneListare, 1, 2) + lcRaport = [rap_nota_inv2005_mag] + CASE lnOptiuneListare = 4 + lcRaport = [rap_nota_inv2005_mag_necompletat] + CASE lnOptiuneListare = 5 + lcRaport = [rap_nota_inv2005_mag_necompletat_redus] + ENDCASE + *!* 03.06.2010 ^ + + Private pcDataOra + pcDataOra = get_ora(2) + lcSel = This.cnumecursor + lcFiltru = This.ocursor.ca_baza1.cfiltru + *!* 15.04.2010 + *!* 16.06.2010 + If !Empty(lcFiltru) + lcFiltru = [ where (NVL(id_articol,0) <> 0) and ] + lcFiltru + ELSE + lcFiltru = [ where NVL(id_articol,0) <> 0 ] + ENDIF + + * Filtru GridExtra + lcFilter = FILTER(This.cnumecursor) + IF !EMPTY(m.lcFilter) + lcFiltru = m.lcFiltru + [ and (] + m.lcFilter + [)] + ENDIF + + *!* 16.06.2010 ^ + *!* 15.04.2010 ^ + + *!* 22.03.2010 + *!* If !Empty(lcFiltru) + *!* lcFiltru = [ where ] + lcFiltru + [ and stoc_faptic > 0] + *!* Else + *!* lcFiltru = [ where stoc_faptic > 0] + *!* Endif + *!* 22.03.2010 ^ + + pcHeaderGrup = [Grupa articol : ] + pcIdGrup = [id_grupa] + pcGrup = [grupa] + *!* 17.04.2010 + lcOrdine1 = "2" + IF INLIST(lnOptiuneListare, 1, 4, 5) && alfabetic + lcOrdine2 = '3' + lcOrdine3 = '4' + lcOrdine4 = '5' + ELSE + lcOrdine2 = '6' + lcOrdine3 = '3' + lcOrdine4 = '5' + ENDIF + + Select (lcSel) + *!* 03.06.2010 + *!* Select grupa,denumire,codmat,MIN(first_updated_at) as first_updated_at, ; + *!* id_articol,um,id_gestiune,nume_gestiune,Pret,pretv,pret_unitar,depreciere,motiv_depreciere,serie,id_grupa, ; + *!* Sum(stoc_faptic) As stoc_faptic,Sum(cants) As cants,; + *!* SUM(cant) As cant, Sum(cante) As cante,Sum(stoc_scriptic) As stoc_scriptic, ; + *!* Max(data_referinta) As data_referinta ; + *!* From (lcSel) &lcFiltru; + *!* GROUP By id_articol,denumire,codmat,um,id_gestiune,nume_gestiune,Pret,pretv,pret_unitar,depreciere,motiv_depreciere,serie,grupa,id_grupa; + *!* ORDER By &lcOrdine1, &lcOrdine2, &lcOrdine3 ; + *!* INTO Cursor crsListare nofilter + SELECT grupa,denumire,codmat,serie,first_updated_at, ; + id_articol,um,id_gestiune,nume_gestiune,pret_unitar,depreciere,motiv_depreciere,id_grupa, ; + stoc_faptic, cants,; + cant, cante, stoc_scriptic, data_referinta ; + From (lcSel) WHERE .F. ; + INTO Cursor crsListareTemp READWRITE + + + IF INLIST(lnOptiuneListare, 4, 5) && necompletat + SELECT c1.grupa, c1.id_grupa ; + from (SELECT distinct grupa, id_grupa ; + FROM (lcSel) &lcFiltru ) c1, ; + (select 'x' as dummy from (lcSel) where RECNO() <= 30) c2; + order by 1,2 ; + INTO CURSOR crsGrupeTemp + + SELECT crsListareTemp + APPEND FROM DBF('crsGrupeTemp') + USE IN (SELECT('crsGrupeTemp')) + ENDIF + + Select 1 as tip, grupa,denumire,codmat,serie,MIN(first_updated_at) as first_updated_at, ; + id_articol,um,id_gestiune,nume_gestiune,pret_unitar,depreciere,motiv_depreciere,id_grupa, ; + Sum(stoc_faptic) As stoc_faptic,Sum(cants) As cants,; + SUM(cant) As cant, Sum(cante) As cante,Sum(stoc_scriptic) As stoc_scriptic, ; + Max(data_referinta) As data_referinta ; + From (lcSel) &lcFiltru; + GROUP By id_articol,denumire,codmat,um,id_gestiune,nume_gestiune,pret_unitar,depreciere,motiv_depreciere,serie,grupa,id_grupa; + UNION ALL ; + SELECT 2 as tip, grupa,denumire,codmat,serie,first_updated_at, ; + id_articol,um,id_gestiune,nume_gestiune,pret_unitar,depreciere,motiv_depreciere,id_grupa, ; + stoc_faptic, cants,; + cant, cante, stoc_scriptic, data_referinta ; + FROM crsListareTemp ; + ORDER By &lcOrdine1, 1, &lcOrdine2, &lcOrdine3, &lcOrdine4 ; + INTO Cursor crsListare nofilter + *!* 03.06.2010 ^ + + USE IN (SELECT('crsListareTemp')) + *!* Select Distinct a.id_grupa,a.grupa,Sum(a.pret_unitar*a.stoc_faptic) As suma From crsListare a ; + *!* Group By a.id_grupa,a.grupa Order By grupa Into Cursor crsRecapitulatie nofilter Readwrite + + *!* Insert Into crsRecapitulatie (grupa) Values ('MONETAR CASA') + + This.AlwaysOnTop = .F. + *!* In raport, pe footer.onentry se apeleaza poRecapitulatie.NewPage + *!* se salveaza in cRecapitulatieInventarPagini grupul, pagina si totalul pe pagina (grup, pagina, valoare) + PRIVATE poRecapitulatie + poRecapitulatie = CREATEOBJECT("recapitulatie_inventar") + *!* In raport, pe footer.onentry se apeleaza poRecapitulatie.NewPage ^ + + Select crsListare + Keyboard '{CTRL+F10}' + *!* Report Form (lcRaport) To Printer Prompt Preview + goExport.export2frx([crsListare],lcRaport,, , , , , .T.) + + SELECT 1 as tip, GRUP AS ID, PADR('MONETAR ' + grup, 100) AS GRUP, CAST(0 AS N(18,2)) AS valoare, SPACE(100) as pagina, CAST(0 as n(5)) as npagina FROM cRecapitulatieInventarPagini ; + union ; + SELECT 2 as tip, GRUP AS ID, PADR(grup,100) AS GRUP, valoare, PADR('Fila ' + ALLTRIM(STR(pagina)), 100) as pagina, pagina as npagina FROM cRecapitulatieInventarPagini; + union ; + SELECT 3 as tip, GRUP AS ID, PADR('TOTAL ' + ALLTRIM(grup), 100) AS GRUP, SUM(valoare) as valoare, SPACE(100) as pagina, CAST(0 as n(5)) as npagina FROM cRecapitulatieInventarPagini ; + GROUP BY GRUP ; + union ; + SELECT 4 as tip, 'ZZZZ' AS ID, PADR('TOTAL GENERAL', 100) AS GRUP, SUM(valoare) as valoare, SPACE(100) as pagina, CAST(0 as n(5)) as npagina FROM cRecapitulatieInventarPagini ; + INTO CURSOR crsRecapitulatie ; + ORDER BY 2,1,6 && grup/subgrupa articol, tip, numar pagina - ordonat numeric + + Select crsRecapitulatie + Keyboard '{CTRL+F10}' + *!* Report Form rap_recap_inv2005_mag To Printer Prompt Preview + goExport.export2frx([crsRecapitulatie],[rap_recap_inv2005_mag],, , , , , .T.) + + This.AlwaysOnTop = .T. + + If Used('crsListare') + Use In crsListare + Endif + If Used('crsRecapitulatie') + Use In crsRecapitulatie + Endif + + ENDPROC + + PROCEDURE do_reface + *!* 05.06.2012 + *!* marius.mutu + *!* se poate reface inventarul chiar daca este validat, la corectie de inventar + + *!* 15.12.2017 + *!* marius.mutu + *!* se poate reface inventarul si daca este corectie, indiferent daca nOptiune inventar = 1 sau 3 (inventar initial cu golire de stoc) + + *!* 05.01.2018 + *!* marius.mutu + *!* adaugarea de articole in inventar din documente dupa introducerea inventarului - nu se completeaza stocul faptic, indiferent de ce optiune s-a ales la inceputul inventarului + *!* ca sa nu se denatureze inventarierea faptica. In plus nu s-ar inregistra nici o diferenta daca stoc faptic = stoc scriptic + + LOCAL llReturn + llReturn = .T. + If (This.nOptiuneInventar = 1 OR this.lCorectie) And (!This.lvalidat OR thisform.lCorectie) + Local lcCursor,lcSql,lnSucces,loFrm,lcListaIdFact + lcCursor = [crstmpintdoc] + lcSql = [{call pack_inventar.citeste_documente(] + Alltrim(Str(Thisform.nidcinventar)) + [)}] + lnSucces = goExecutor.oExecute(lcSql,lcCursor+[1]) + If lnSucces < 0 + amessagebox(goExecutor.cEroare,64,"Eroare") + llReturn = .F. + Else + If Reccount(lcCursor+[1]) > 0 + copiaza_structura_cursor(lcCursor+[1],lcCursor) + Insert Into (lcCursor) Select * From (lcCursor+[1]) Order By tip Desc,ales Desc,dataact,dataora + Go Top + Use In (Select(lcCursor+[1])) + loFrm = Createobject("frm_inventar_doc") + loFrm.Show(1) + If gnButon = 1 + Select (lcCursor) + Set Filter To ales = 1 And tip = 0 + lcListaIdFact = [] + Scan + lcListaIdFact = lcListaIdFact + Alltrim(Str(id_fact)) + [|] + Endscan + If !Empty(lcListaIdFact) + lcSql = [begin pack_inventar.adauga_documente(] + Alltrim(Str(Thisform.nidcinventar)) + [,] + ; + ['] + Alltrim(lcListaIdFact) + [',?gnIdUtil, 1); end;] + lnSucces = goExecutor.oExecute(lcSql) + If lnSucces < 0 + amessagebox(goExecutor.cEroare,64,"Eroare") + llReturn = .F. + Else + save_grid_tag(Thisform.grid1) + podecabaza.ca_baza1.afisare() + restore_grid_tag(Thisform.grid1) + Endif + Endif + Else + llReturn = .F. + Endif + Else + amessagebox("Nu exista documente introduse dupa inceperea inventarului!",48,"Atentie") + Endif + Use In (Select(lcCursor)) + Endif + ENDIF + RETURN llReturn + ENDPROC + + PROCEDURE do_sterge + *!* 07.12.2011 + *!* marius.mutu + *!* nu se poate sterge un articol cu stoc scriptic diferit de 0 + + *!* 21.12.2011 + *!* thisform.lvalidat + IF thisform.lInregistrarevalidata + RETURN .F. + ENDIF + *!* 21.12.2011 ^ + + If Reccount('crs_inventar')>0 + Select crs_inventar + Scatter Name loArticolS + lcNumeArticol=Upper(Alltrim(loArticolS.denumire)) + IF NVL(loArticolS.stoc_scriptic,0) <> 0 AND !This.lCorectie + aMessagebox("Nu puteti sterge un articol cu stoc scriptic diferit de 0!",0+48,_Screen.Caption) + RETURN + ENDIF + If aMessagebox("Doriti sa stergeti articolul "+lcNumeArticol+" din inventar?",4+32+256,"Confirmare stergere")==6 + lcSql = 'delete from ' + gcs + '.gest_inventar where id_inventar='+Alltrim(Str(loArticolS.id_inventar)) + lnSucces = goExecutor.oExecute(lcSql) + If lnSucces < 0 + aMessagebox(goExecutor.ceroare,16,"Eroare") + gnButon = 2 + ELSE + Select crs_inventar + lnRecno = RECNO() - 1 + DELETE + GO TOP + IF lnRecno > 0 + GOTO lnRecno + ENDIF + this.grid1.SetFocus() + Endif + *!* This.actualizeaza_grid1 + Endif + Store "" To loArticolS + thisform.do_executa() + Endif + + ENDPROC + + PROCEDURE do_termin + If This.inainte_de_do_termin() + gnButon = 1 + pnButon = 1 + Buton = 1 + pnIesire = 1 + This.Release + Else + This.Visible = .T. + *!* modificare serii numere - 10.2007 + *!* If Type([_Screen.nId_tipdoc]) = 'N' And !Empty(_Screen.nid_tipdoc) + *!* poGeneratorNumere.dezaloca_numar(_Screen.nid_tipdoc) + *!* Endif + *!* IF PEMSTATUS(_SCREEN,'nIdSerie',5) + *!* lnIdSerieBon = _SCREEN.nIdSerie && il salvez in item.when + *!* IF TYPE('lnIdSerieBon') = 'N' AND !EMPTY(lnIdSerieBon) + *!* lcSql = [update ] + gcS + [.serii_numere set alocat = 0 where ] +; + *!* [ id_numar = ?lnIdSerieBon] + *!* lnSucces = goExecutor.oExecute(lcSql) + *!* IF lnSucces < 0 + *!* lcTitlu = [Eroare] + *!* lcTip = [Avertizare] + *!* lcImagine = [exclam.ico] + *!* lcMesaj = goExecutor.cEroare + *!* ofrm_eroare = CREATEOBJECT('frm_mesaj',lcTitlu,lcImagine,lcTip,lcMesaj) + *!* ofrm_eroare.SHOW(1) + *!* RELEASE ofrm_eroare + *!* ENDIF + *!* ENDIF + *!* ENDIF + *!* modificare serii numere - 10.2007 ^ + Endif + ENDPROC + + PROCEDURE grid_sort_bind + * NU STERGE + * SE FOLOSESTE GRIDEXTRA PENTRU SORTARE PE COLOANE + ENDPROC + + PROCEDURE inainte_de_do_termin + *!* 23.02.2010 + *!* INREGISTRARE INVENTAR DEFALCAT PE SUCURSALELE CORESPUNZATOARE GESTIUNILOR + *!* CAND FAC INVENTARUL PE O SUCURSALA, POT SA ALEG DOAR GESTIUNI DIN SUCURSALA RESPECTIVA + *!* CAND FAC INVENTARUL PE FIRMA MAMA, POT ALEGE GESTIUNI DIN MAI MULTE SUCURSALE SI TREBUIE SA SE GENEREZE NOTE SI RULAJE PE FIECARE SUCURSALA + + *!* 24.02.2010 + *!* marius.mutu + *!* daca se foloseste amessagebox, nu se mai afiseaza actbaza2007.items + + *!* 22.03.2010 + *!* marius.mutu + *!* note contabile defalcate si dupa subgrupa de articole (act.explicatia4) + *!* pentru a se putea verifica notele cu listarea grupata pe subgrupe articole + *!* + sectia din nom_gestiuni.id_sectie + + *!* 23.03.2010 analitice + *!* marius.mutu + *!* completare analitice din config_analitice + + *!* 15.06.2010 + *!* marius.mutu + *!* id_sectie din lans sau din cursor + + *!* 21.06.2010 + *!* marius.mutu + *!* Nu mai adaug in act linii cu suma 0 pentru golirea de stoc (au analitice/gestiuni gresite) + + *!* 23.03.2010 + LOCAL lcAcontD, lcAcontC, llCorectie, lnCod, lnIdFact + PRIVATE poActactan, poRul + poActactan = NULL + poRul = NULL + *!* 23.03.2010 ^ + + *!* 21.12.2011 + llCorectie = this.lCorectie + lnCod = this.nCod + lnIdFact = this.nIdFact + *!* 21.12.2011 ^ + + Private pdDataFinal, pdDataInceput + pdDataFinal = Date() + pdDataInceput = Date() + + Local lcSel, lcSchema, lcCursor, lnSucces, lcContCoresp, lVerificAnalitic, lCompletareParteneri + Local loAct, onota, lcSql, ldDataInventar, ldDataServer + + Local lcCrs + Local llReturn + Local lnIdSet + Local llGolireStoc + + lnIdSet = 90103 + llReturn = .T. + lcCrs = This.cnumecursor + llGolireStoc = .F. + + *!* modificare v 2.0.186 + If !Thisform.do_reface() + Return .F. + Endif + *!* modificare v 2.0.186 ^ + + *!* VERIFIC DACA EXISTA INREGISTRARI MODIFICATE (ID_UTIL) CARE NU AU FOST VALIDATE + *!* 21.12.2011 + IF this.lCorectie + SELECT crs_inventar + LOCATE FOR EMPTY(NVL(validat,0)) + IF !FOUND() + AMESSAGEBOX('Nu exista modificari nevalidate!',0,'Inventariere') + Return .F. + ENDIF + ELSE + If This.lvalidat + AMESSAGEBOX('Nu exista modificari nevalidate!',0,'Inventariere') + Return .F. + Endif + ENDIF + + *!* 24.02.2010 + *!* If AMESSAGEBOX([Doriti sa incheiati nota de inventariere?],4+32,_Screen.Caption) <> 6 + *!* Return .F. + *!* Endif + + lcTitlu = [Nota Inventariere] + lcTip = [INTREBARE] + lcImagine = [intreb.ico] + lcMesaj = [Doriti sa incheiati nota de inventariere?] + ofrm_eroare = Createobject('frm_mesaj',lcTitlu,lcImagine,lcTip,lcMesaj) + ofrm_eroare.Show(1) + Release ofrm_eroare + If gnButon = 2 + Return .F. + Endif + *!* 24.02.2010 ^ + + If !m.llCorectie AND This.nOptiuneInventar <> RG_INV_OPT_STOC And aMESSAGEBOX('Doriti sa goliti stocul inainte de inregistrarea inventarului?',4+32,"Inventariere") = 6 + llGolireStoc = .T. + Endif + + *!* This.Hide + This.AlwaysOnTop = .F. + gnButon = lans(lnIdSet) + + If gnButon = 2 && renunt + This.AlwaysOnTop = .T. + + *!* This.Show(1) + Return .F. + Endif + + *!* aduc toate inregistrarile de pe server (daca sunt filtrate este posibil sa nu fie pe local toate modificarile din sesiunea curenta) + This.but_reset_criterii1.Click() + + lcSel = [Select * from ] + gcs + [.vrul where 1=2] + lcSchema = [''] + lcCursor = [rul_temp] + + lnSucces = goExecutor.oExecute(lcSel,lcCursor) + If lnSucces < 0 + AMESSAGEBOX(goExecutor.cEroare,0+16,"Eroare") + This.AlwaysOnTop = .T. + *!* This.Show(1) + Return .F. + Endif + + + Select actactan + Locate + Scatter Name loAct + && completare actactan + *!* 15.06.2010 + lcCrs = This.cnumecursor + Select INT(lnCod) as cod, lnIdFact as id_fact, Cont, acont, nr_pag, id_gestiune, proc_tvav, Nvl(id_sucursala_gestiune, id_sucursala) As id_sucursala, NVL(id_sectie, loAct.id_sectie) as id_sectie, id_subgrupa, subgrupa, ; + SUM(Round(Pret*(stoc_scriptic-stoc_faptic),gnPc)) As valoare_achizitie, ; + SUM(Round((pretv-Pret)*(stoc_scriptic-stoc_faptic),gnPc)) As valoare_adaos, ; + SUM(Round(tvav*(stoc_scriptic-stoc_faptic),gnPc)) As valoare_tva ; + FROM (lcCrs) ; + WHERE stoc_scriptic - stoc_faptic <> 0 AND ((m.llCorectie AND NVL(validat,0) = 0) OR !m.llCorectie) ; + Group By 1,2,3,4,5,6,7,8,9,10,11 ; + ORDER By nr_pag, Cont, acont, proc_tvav ; + INTO Cursor tcrs + + Select actactan + Delete All + + Select tcrs + Scan + Scatter Name onota + *!* 607 = 371 + Select actactan + Append Blank + + + + If Left(Alltrim(onota.Cont),2)='34' + lcContCoresp = '711' + Else + If Alltrim(onota.Cont) # '371' + lcContCoresp = Strtran(onota.Cont, '3', '6', 1, 1) + Else + lcContCoresp = '607 ' + Endif + ENDIF + + * obiecte de inventar in folosinta - clasa 8 nu are corespondent + IF LEFT(onota.Cont,1) = '8' + lcContCoresp = '' + ENDIF + + loAct.scc = onota.Cont + loAct.ascc = onota.acont + loAct.id_gestout = onota.id_gestiune + loAct.id_sucursala = onota.id_sucursala + *!* 22.03.2010 + loAct.id_sectie = onota.id_sectie + loAct.explicatia4 = ALLTRIM(onota.subgrupa) + ' (' + ALLTRIM(STR(onota.id_subgrupa)) + ')' + *!* 22.03.2010 ^ + + Select actactan + Gather Name loAct + + + Replace suma With onota.valoare_achizitie, scd With lcContCoresp + + *!* 378 = 371 + *!* 21.12.2011 + *!* nu se genereaza adaos si tva neexigibil decat pentru gestiuni de marfa la pret de vanzare + If onota.nr_pag = 6 && marfa la pret de vanzare + Select actactan + Append Blank + Gather Name loAct + Replace suma With onota.valoare_adaos, scd With '378 ', proc_tva With onota.proc_tvav + *!* 4428 = 371 + If onota.proc_tvav <> 1 + Select actactan + Append Blank + Gather Name loAct + Replace suma With onota.valoare_tva, scd With '4428', proc_tva With onota.proc_tvav + ENDIF + Endif + Select tcrs + Endscan + use in tcrs && modificare 23.10.2012 + && completare rul_temp + + lcCrs = This.cnumecursor + + *!* GOLESC STOCUL PENTRU INVENTARE FARA STOC + If llGolireStoc + ldDataServer = Ttod(Get_Ora()) + ldDataInventar = TTOD(this.dDataInventar) + + *!* daca data inventarului = data serverului - selectez din stocul curent, altfel din stocul pana la data inventarului + TEXT TO lcSqlStoc TEXTMERGE Noshow + select an, + luna, + id_sucursala, + id_articol, + id_gestiune, + id_valuta, + id_rul_aux, + serie, + cont, + acont, + pret, + pretv, + tva, + tvav, + proc_tvav, + pretd, + cants+cant-cante as cante, + <> as id_set, + 7 as id_tip_rulaj + from <> + where cants+cant-cante <> 0 + <> + and id_gestiune in + (select x + FROM table(cast(CHARN2COLLECTION((SELECT ID_GESTIUNI + FROM GEST_CENTR_INVENTAR + WHERE ID_C_INVENTAR = + <>), + '|') as num_tab))) + ENDTEXT + + *!* daca data inventarului = data serverului - selectez din stocul curent, altfel din stocul pana la data inventarului + If ldDataServer <> ldDataInventar + lnTranzactieManuala = SQLSetprop(gnHandle,"Transactions", 2) + If lnTranzactieManuala < 0 + Messagebox('Eroare setare tranzactie manuala la golire stoc!',0+16, _Screen.Caption) + Return .F. + Else + pdDataFinal = ldDataInventar + pdDataInceput = Date(Year(pdDataFinal), Month(pdDataFinal), 1) + + lcSql = [begin pack_sesiune.set_data_init(?pdDataInceput); pack_sesiune.set_data_final(?pdDataFinal); end;] + lnSucces = goExecutor.oExecute(lcSql) + If lnSucces = CT_INSUCCES + Messagebox(goExecutor.cEroare, 0+16, _Screen.Caption) + Return .F. + Endif && pack_sesiune + Endif && tranzactie manuala + Endif && ldDataServer + + + + lnSucces = goExecutor.oExecute(lcSqlStoc, "cAnulareStoc") + If ldDataServer <> ldDataInventar + lnTranzactieAutomata = SQLSetprop(gnHandle,"Transactions", 1) + If lnTranzactieAutomata < 0 + Messagebox('Eroare setare tranzactie automata la golire stoc!',0+16, _Screen.Caption) + Return .F. + Endif + Endif + + If lnSucces = CT_INSUCCES + Messagebox(goExecutor.cEroare,0+16, _Screen.Caption) + Return .F. + Else + Select RUL_TEMP + Append From Dbf('cAnulareStoc') + + *!* 21.06.2010 + && ADAUG LINII 607 = 371 CU SUMA 0 + *!* Select Cont, acont, proc_tvav As proc_tva, lnIdSet As id_set, id_gestiune As id_gestout, ; + *!* 0 As suma, Iif( Left(Alltrim(Cont),2)='34', '711', Iif(Alltrim(Cont) # '371', Strtran(Cont, '3', '6', 1, 1), '607')) As scd, ; + *!* cont As scc, acont As ascc, id_sucursala ; + *!* FROM cAnulareStoc ; + *!* Group By Cont, acont, id_gestiune, proc_tvav, id_sucursala ; + *!* ORDER By id_sucursala, Cont, acont, proc_tvav ; + *!* INTO Cursor cActAnulareStoc + + *!* Select cActAnulareStoc + *!* Scan + *!* Scatter Name onota + + *!* loAct.scd = onota.scd + *!* loAct.scc = onota.scc + *!* loAct.ascc = onota.ascc + *!* loAct.id_gestout = onota.id_gestout + *!* loAct.id_sucursala = onota.id_sucursala + + *!* Insert Into actactan From Name loAct + *!* Endscan && cActAnulareStoc + + *!* Use In (Select('cActAnulareStoc')) + *!* 21.06.2010 + Use In (Select('cAnulareStoc')) + + + Endif && cAnulareStoc + Endif && llGolireStoc + + *!* STOC FAPTIC + Insert Into RUL_TEMP(cod, id_fact, id_articol, id_gestiune, Cont, acont, Pret, pretd, ID_Valuta, pretv, cante, tvav, proc_tvav, id_set, id_rul_aux, serie, lot, adata_expirare, id_lucrare_rez, id_part_rez, id_sucursala, id_tip_rulaj) ; + SELECT INT(lnCod) as cod, lnIdFact as id_fact, id_articol, id_gestiune, Cont, acont, Pret, pretd, ID_Valuta, pretv, stoc_scriptic-stoc_faptic As cante, tvav, proc_tvav, ; + lnIdSet, id_rul_aux, serie, lot, adata_expirare, id_lucrare_rez, id_part_rez, ; + NVL(id_sucursala_gestiune, id_sucursala) As id_sucursala, 6 as id_tip_rulaj ; + From &lcCrs Where stoc_scriptic-stoc_faptic <>0 AND ((m.llCorectie AND NVL(validat,0) = 0) OR !m.llCorectie) ; + + lcCursor = [rul_temp] + Select (lcCursor) + Replace All nnir With loAct.nnir, dataact With loAct.dataact, nract With loAct.nract, serie_Act With loAct.serie_Act + Replace All id_set With lnIdSet For Empty(id_set) + + + *!* 23.03.2010 analitice + SELECT ACTACTAN + SCAN FOR EMPTY(NVL(ascd,'')) OR EMPTY(NVL(ascc,'')) + SELECT actactan + SCATTER NAME poActactan + ADDPROPERTY(poActactan, "id_gestiune", poActactan.id_gestout) + + poRul = CREATEOBJECT("custom") + + IF EMPTY(NVL(ascd,'')) + lcAcontD = do_assign_analitic(poActactan.scd, "poRul", "poActactan") && ooperatii_comune.prg + REPLACE ascd WITH lcAcontD IN actactan + ENDIF + IF EMPTY(NVL(ascc,'')) + lcAcontC = do_assign_analitic(poActactan.scc, "poRul", "poActactan") && ooperatii_comune.prg + REPLACE ascc WITH lcAcontC IN actactan + ENDIF + ENDSCAN + *!* 23.03.2010 analitice ^ + + && verificare note contabile + Select actactan + *!* 21.12.2011 + *!* pentru corectia de inventar + REPLACE ALL cod WITH INT(m.lnCod), id_fact WITH m.lnIdFact + *!* 21.12.2011 ^ + Locate + lVerificAnalitic = .T. + lCompletareParteneri = .T. + + *!* IF !INLIST(poact.id_set, 26000) && Bon de consum cu inventar + Do Form verificare With lVerificAnalitic, lCompletareParteneri + + + llReturn = gnButon = 1 + + + Return llReturn + + ENDPROC + + PROCEDURE Init + Lparameters tnIdCInventar + DoDefault() + This.nidcinventar = tnIdCInventar + This.gridextra1.Setup() + ENDPROC + + PROCEDURE KeyPress + LPARAMETERS nKeyCode, nShiftAltCtrl + + ENDPROC + + PROCEDURE Show + *!* 31.05.2010 + *!* marius.mutu + *!* colorez in albastru inregistrarile modificate/inventariate - first_udpated_at + + LPARAMETERS nStyle + *!* modificare v 2.0.186 + If This.nOptiuneInventar = 1 And !This.lvalidat + This.but_reface1.Visible = .T. + Else + This.but_reface1.Visible = .F. + Endif + *!* modificare v 2.0.186 ^ + *!* lcSelect = ALLTRIM(This.cSelect) + lcOrder = Alltrim(This.cOrder) + *llAfisare = .F. + *lcNumeCursor = This.cNumecursor + + *llModParam = this.lmodparam + + *!* INREGISTRARILE MODIFICATE VALIDATE: GRI RGB(230,230,230) + *!* INREGISTRARILE MODIFICATE NEVALIDATE: BLUE PAL RGB(240,241,255) + *this.grid1.SetAll("DynamicBackColor","IIF(NVL(VALIDAT,0) = 1, RGB(230,230,230), IIF(!EMPTY(NVL(ID_UTIL,0)), RGB(240,241,255), RGB(255,255,255)))","Column") + + *!* COLOANELE CARE SE POT MODIFICA: ALBASTRU RGB(234,249,255) + this.grid1.cstoc_faptic.DynamicBackColor = "RGB(234,249,255)" + this.grid1.cUzura_faptic.DynamicBackColor = "RGB(234,249,255)" + this.grid1.cData_expirare.DynamicBackColor = "RGB(234,249,255)" + + + IF this.lvalidat AND !this.lCorectie + this.but_nou1.Visible= .F. + this.but_copiaza1.Visible = .F. + this.but_stergeX.Visible = .F. + this.but_terMIN1.Visible = .F. + ENDIF + + This.grid1.cCants.Visible = .F. + This.grid1.cCant.Visible = .F. + This.grid1.cCante.Visible = .F. + *This.grid1.SetAll("DynamicFontItalic","IIF(NVL(id_rul_aux,0)<>0,.T.,.F.)","Column") + *This.grid1.SetAll("DynamicForeColor","IIF(NVL(id_rul_aux,0)<>0,RGB(128,128,128),RGB(0,0,0))","Column") + this.grid1.cstoc_faptic.DynamicForeColor = "iif(stoc_faptic <> stoc_faptic1 + stoc_faptic2 + stoc_faptic3 + stoc_faptic4 + stoc_faptic5, RGB(255,0,0), RGB(0,0,0))" + this.grid1.cstoc_faptic.DynamicForeColor = "iif(stoc_faptic <> stoc_faptic1 + stoc_faptic2 + stoc_faptic3 + stoc_faptic4 + stoc_faptic5, RGB(255,0,0), RGB(0,0,0))" + *!* 31.05.2010 + this.grid1.ccodmat.DynamicForeColor = "iif(!EMPTY(NVL(first_updated_at,{})), RGB(0,0,255), RGB(0,0,0))" + this.grid1.ccodmat.DynamicBackColor = "iif(!EMPTY(NVL(first_updated_at,{})), RGB(192,192,192), RGB(255,255,255))" + this.grid1.ccodmat.DynamicFontBold = "!EMPTY(NVL(first_updated_at,{}))" + this.grid1.cum.DynamicForeColor = "iif(!EMPTY(NVL(first_updated_at,{})), RGB(0,0,255), RGB(0,0,0))" + this.grid1.cum.DynamicBackColor = "iif(!EMPTY(NVL(first_updated_at,{})), RGB(192,192,192), RGB(255,255,255))" + this.grid1.cum.DynamicFontBold = "!EMPTY(NVL(first_updated_at,{}))" + this.grid1.cdenumire.DynamicForeColor = "iif(!EMPTY(NVL(first_updated_at,{})), RGB(0,0,255), RGB(0,0,0))" + this.grid1.cdenumire.DynamicBackColor = "iif(!EMPTY(NVL(first_updated_at,{})), RGB(192,192,192), RGB(255,255,255))" + this.grid1.cdenumire.DynamicFontBold = "!EMPTY(NVL(first_updated_at,{}))" + this.grid1.cnrcrt.DynamicForeColor = "iif(!EMPTY(NVL(first_updated_at,{})), RGB(0,0,255), RGB(0,0,0))" + this.grid1.cnrcrt.DynamicBackColor = "iif(!EMPTY(NVL(first_updated_at,{})), RGB(192,192,192), RGB(255,255,255))" + this.grid1.cnrcrt.DynamicFontBold = "!EMPTY(NVL(first_updated_at,{}))" + this.grid1.ccodbare.DynamicForeColor = "iif(!EMPTY(NVL(first_updated_at,{})), RGB(0,0,255), RGB(0,0,0))" + this.grid1.ccodbare.DynamicBackColor = "iif(!EMPTY(NVL(first_updated_at,{})), RGB(192,192,192), RGB(255,255,255))" + this.grid1.ccodbare.DynamicFontBold = "!EMPTY(NVL(first_updated_at,{}))" + *!* 31.05.2010 ^ + This.grid1.cResponsabil.Visible = .F. + This.grid1.cMeserie.Visible = .F. + This.grid1.cFormatia.Visible = .F. + This.grid1.cDataAng.Visible = .F. + This.grid1.cDatalic.Visible = .F. + This.grid1.cDatapif.Visible = .F. + This.grid1.cDns_luni.Visible = .F. + This.grid1.cuzura_faptic.Visible = .F. + This.grid1.cdif_dns_luni.Visible = .F. + This.grid1.cDNF.Visible = .F. + This.grid1.cdata_expirare.Visible = .F. + This.respons= .F. + This.meserie= .F. + This.formatie= .F. + This.dataang= .F. + This.datalic= .F. + This.do_executa + IF this.Clb_tx_codbare.Visible = .f. + this.grid1.SetFocus() + ELSE + This.Clb_tx_codbare.text_simplu1.SetFocus() + ENDIF + + This.WindowState = 2 + ENDPROC + + PROCEDURE updateserver + *!* 31.05.2010 + *!* marius.mutu + *!* crs_inventar.first_updated_at - colorez liniile care au fost modificate/inventariate + Parameters tnId, tcCol, tValue + Local lnRecno, lcSql, lnSucces + PRIVATE pnIdRulAux + pnIdRulAux = 0 + If LOWER(ALLTRIM(m.tcCol)) = 'id_furnizor' + lcSql = [begin pack_contafin.GetRulajAuxiliarFurnizor(] + TRANSFORM(tValue) + [, ?@pnIdRulAux); end;] + lnSucces = goExecutor.oExecute(m.lcSql) + IF m.lnSucces < 0 + AMESSAGEBOX(goExecutor.cEroare, 0+48, _screen.Caption) + RETURN m.lnSucces + ELSE + tcCol = 'id_rul_aux' + tValue = m.pnIdRulAux + ENDIF + ENDIF + + *!* If Empty(Nvl(first_updated_at,{})) And Upper(Alltrim(tcCol)) = 'STOC_FAPTIC' + *!* lcSql = 'update /*+ index_ffs(gest_inventar pk_id_inventar) */ gest_inventar set id_util = ?gnIdUtil, ' + tcCol + ' = ?tValue, first_updated_at = SYSDATE where id_inventar = ' + ALLTRIM(STR(tnId)) + *!* Else + *!* lcSql = 'update /*+ index_ffs(gest_inventar pk_id_inventar) */ gest_inventar set id_util = ?gnIdUtil, ' + tcCol + ' = ?tValue where id_inventar = ' + ALLTRIM(STR(tnId)) + *!* Endif + + If Empty(Nvl(crs_inventar.first_updated_at,{})) And Upper(Alltrim(m.tcCol)) = 'STOC_FAPTIC' + lcSql = 'update gest_inventar set id_util = ?gnIdUtil, ' + tcCol + ' = ?tValue, first_updated_at = SYSDATE where id_inventar = ' + ALLTRIM(STR(m.tnId)) + Else + lcSql = 'update gest_inventar set id_util = ?gnIdUtil, ' + tcCol + ' = ?tValue where id_inventar = ' + ALLTRIM(STR(m.tnId)) + ENDIF + + lnSucces = goExecutor.oExecute(lcSql) + If lnSucces < 0 + aMESSAGEBOX(goExecutor.cEroare, 0+16, _Screen.Caption) + Else + *!* 31.05.2010 + If Empty(Nvl(crs_inventar.first_updated_at,{})) And Upper(Alltrim(m.tcCol)) = 'STOC_FAPTIC' + Replace first_updated_at With Datetime() In crs_inventar + Endif + Endif + Thisform.do_executa + Return lnSucces + + + + ENDPROC + + PROCEDURE validcantitate && Valideaza cantitatea - sa nu fie prea mare - daca se citeste codul de bare pe coloanele stoc faptic + LPARAMETERS tnCantitate + + LOCAL lnMaxCantitate, llValid + llValid = .T. + lnMaxCantitate = thisform.nMaxCantitate + IF m.lnMaxCantitate > 0 + IF tnCantitate > m.lnMaxCantitate + llValid = .F. + ENDIF + ENDIF + + IF !m.llValid + AMESSAGEBOX('Cantitate invalida!',0+48, _screen.Caption) + ENDIF + + RETURN llValid + ENDPROC + + PROCEDURE validpret && valideaza pretul - sa nu fie pret prea mare - citire cod de bare pe coloana pret + Lparameters tnPret + + Local lnMaxPret, llValid + llValid = .T. + lnMaxPret = Thisform.nMaxCantitate + If m.lnMaxPret > 0 + If tnPret > m.lnMaxPret + llValid = .F. + Endif + Endif + If !m.llValid + AMESSAGEBOX('Pret invalid!',0+48, _Screen.Caption) + Endif + + Return llValid + + ENDPROC + + PROCEDURE But_start_criterii1.loadcriterii + Parameters tacriterii + External Array tacriterii + *!* #Define crlf Chr(13)+Chr(10) + lcStringCriterii="Denumire articol\denumire\T\id_articol\nom_articol"+ crlf + ; + "Cod material\codmat\T\none\"+ crlf + ; + "Cod bare\codbare\T\none\"+ crlf + ; + "Pret achizitie\pret\N|get_mask(12,gnPpret)\none\"+ crlf + ; + "Pret vanzare\pretv+tvav\N|get_mask(12,gnPpret)\none\"+ crlf + ; + "Pret valuta\pretd\N|get_mask(12,gnPPretval)\none\" + crlf + ; + "Cont\cont\T\none\" + crlf + ; + "Analitic\acont\T\none\" + crlf + ; + "Gestiune\id_gestiune\I\id_gestiune\nom_gestiune" + crlf + ; + "Grupa articol\none\I\id_grupa\nom_grupa_articol"+ crlf + ; + "Subgrupa articol\none\I\id_subgrupa\nom_subgrupa_articol"+ crlf + If (Thisform.Validat) + lcStringCriterii=lcStringCriterii+"Validat\nofiled\E\ validat=1\" + crlf + Endif + If (Thisform.nevalidat) + lcStringCriterii=lcStringCriterii+ "Nevalidat\nofiled\E\ validat=0\" + crlf + Endif + If (Thisform.grupegest) + lcStringCriterii=lcStringCriterii+"Grupe gestiuni\|E|" + ; + [id_gestiune in ( ] + ; + [ select ID_GESTIUNE ] + ; + [ from vgest_coresp_grupe_gestiuni] + ; + [ where id_grupe = <>)] + ; + [\I\none\nom_grupa_gestiune] + crlf + Endif + lcStringCriterii=lcStringCriterii+"Stoc scriptic\stoc_scriptic\N\none\" + crlf + ; + "Stoc faptic\stoc_faptic\N\none\" + crlf + ; + "Diferenta\stoc_faptic-stoc_scriptic\N\none\" + crlf + ; + "Data intrare\datain\D\none\" + crlf + ; + "Data PIF\datapif\D\none\" + crlf + ; + "Lucrare rezervare\nrord_rez\T\ID_LUCRARE_REZ\nom_lucrare" + crlf + ; + "Partener rezervare\part_rez\T\id_part_rez\nom_parteneri" + crlf + ; + "Inventariat\nofiled\A\Inventariat,Neinventariat,Toate" + ; + "#first_updated_at is not null,first_updated_at is null,1=1\" + crlf + + If Thisform.respons + lcStringCriterii=lcStringCriterii + "Responsabil\responsabil\T\id_responsabil\nom_responsabil" + crlf + ; + "Meserie\meserie\T\id_meserie\nom_meserie" + crlf + ; + "Formatie\formatia\T\id_formatia\nom_formatie" + crlf + ; + "Data angajarii\dataang\D\none\" + crlf + ; + "Data plecarii\datalic\D\none\" + Endif + + DoDefault() + * "An prod\an_prod\N\none\" + crlf + ; + ENDPROC + + ENDPROC + + PROCEDURE Clb_tx_codbare.Text_simplu1.GotFocus + this.BackColor = RGB(0,255,255) + + ENDPROC + + PROCEDURE Clb_tx_codbare.Text_simplu1.LostFocus + this.BackColor = RGB(255,255,255) + + *!* goLog.Log(ALLTRIM(crs_inventar.codbare) + ' ' + ALLTRIM(crs_inventar.denumire) + ' txtCodBare LostFocus') + thisform.do_cauta_codbare() + ENDPROC + + PROCEDURE Grid1.AfterRowColChange + *!* 22.02.2010 + *!* marius.mutu + *!* la adaugarea unui articol nou prin citirea codului de bare - sa se preia ultima gestiune, cota_tva + + *!* 21.12.2011 + *!* marius.mutu + *!* daca este corectie de inventar si o inregistrare nu este validata, se poate modifica stocul scriptic!!! + + Lparameters nColIndex + + LOCAL llInregistrareValidata + + *!* 22.02.2010 + Thisform.nproc_tvav = crs_inventar.proc_tvav + *thisform.nId_gestiune = crs_inventar.id_gestiune + *!* 22.02.2010 ^ + + *!* 21.12.2011 + llCorectie = thisform.lCorectie + llInregistrareValidata = Nvl(crs_inventar.Validat,0) = 1 + Thisform.lInregistrareValidata = m.llInregistrareValidata + Thisform.grid1.cstocscriptic.ReadOnly = !(m.llCorectie and !m.llInregistrareValidata and NVL(crs_inventar.stoc_scriptic, 0) = 0) + *!* 21.12.2011 + + ENDPROC + + PROCEDURE Grid1.cAcont.Text1.GotFocus + *!* 15.04.2010 + *!* marius.mutu + *!* daca inregistrarea provine din stoc (stoc scriptic <> 0) nu se poate modifica decat stocul faptic + *!* doar la inventarul initial stoc scriptic = 0 + + This.Parent.ReadOnly = stoc_scriptic <> 0 + This.ReadOnly = stoc_scriptic <> 0 + ENDPROC + + PROCEDURE Grid1.cAcont.Text1.LostFocus + Local lnId, lcAcont + lnId = crs_inventar.id_inventar + lcAcont = Alltrim(NVL(crs_inventar.acont,'')) + + Thisform.UpdateServer(m.lnId, 'acont', m.lcAcont) + + + ENDPROC + + PROCEDURE Grid1.cAcont.Text1.When + *!* NU SE POATE MODIFICA O INREGISTRARE VALIDATA + *!* 21.12.2011 + *!* thisform.lvalidat + IF thisform.lInregistrarevalidata + RETURN .F. + ENDIF + *!* 21.12.2011 ^ + + + thisform.nvalue = this.Value + + ENDPROC + + PROCEDURE Grid1.cCgest.Text1.Click + *!* 15.04.2010 + *!* marius.mutu + *!* daca inregistrarea provine din stoc (stoc scriptic <> 0) nu se poate modifica decat stocul faptic + *!* doar la inventarul initial stoc scriptic = 0 + + *!* NU SE POATE MODIFICA O INREGISTRARE VALIDATA + *!* 21.12.2011 + *!* thisform.lvalidat + IF thisform.lInregistrarevalidata + RETURN .F. + ENDIF + *!* 21.12.2011 ^ + + + IF stoc_scriptic <> 0 + RETURN .F. + ENDIF + + thisform.do_cauta_gestiune(.T.) + ENDPROC + + PROCEDURE Grid1.cCgest.Text1.When + *!* NU SE POATE MODIFICA O INREGISTRARE VALIDATA + *!* 21.12.2011 + *!* thisform.lvalidat + IF thisform.lInregistrarevalidata + RETURN .F. + ENDIF + *!* 21.12.2011 ^ + + ENDPROC + + PROCEDURE Grid1.ccont.Text1.GotFocus + *!* 15.04.2010 + *!* marius.mutu + *!* daca inregistrarea provine din stoc (stoc scriptic <> 0) nu se poate modifica decat stocul faptic + *!* doar la inventarul initial stoc scriptic = 0 + + This.Parent.ReadOnly = stoc_scriptic <> 0 + This.ReadOnly = stoc_scriptic <> 0 + ENDPROC + + PROCEDURE Grid1.ccont.Text1.LostFocus + Local lnId, lcCont + lnId = crs_inventar.id_inventar + lcCont = Alltrim(NVL(crs_inventar.cont,'')) + + Thisform.UpdateServer(m.lnId, 'cont', m.lcCont) + + + ENDPROC + + PROCEDURE Grid1.ccont.Text1.When + *!* NU SE POATE MODIFICA O INREGISTRARE VALIDATA + *!* 21.12.2011 + *!* thisform.lvalidat + IF thisform.lInregistrarevalidata + RETURN .F. + ENDIF + *!* 21.12.2011 ^ + + + thisform.nvalue = this.Value + + ENDPROC + + PROCEDURE Grid1.cData_expirare.Text1.GotFocus + *!* modificare 15.08.2007 + If !Thisform.linventarroavin + This.Parent.ReadOnly = Iif(id_rul_aux<>0,.T.,.F.) + This.ReadOnly = Iif(id_rul_aux<>0,.T.,.F.) + Endif + *!* modificare 15.08.2007 ^ + ENDPROC + + PROCEDURE Grid1.cData_expirare.Text1.LostFocus + IF EMPTY(this.value) + WAIT WINDOW "Completati data expirarii !" + this.value = thisform.nValue + RETURN + ENDIF + + IF NVL(thisform.nvalue,{//::}) # NVL(this.value,{//::}) + * lnDNS_LUNI_FAPTIC = ROUND(dnf *(100-uzura_faptic)/100, 0) + lnDNS_LUNI_FAPTIC = (YEAR(data_expirare)*12+MONTH(data_expirare)) - (gnAn*12+gnLuna) + + lnUzura_faptic = IIF(DNF = 0, 0, round((dnf - lnDNS_LUNI_FAPTIC) / dnf * 100, 0)) + REPLACE uzura_faptic WITH lnUzura_faptic + + lnId = crs_inventar.id_inventar + thisform.UpdateServer(lnId,'uzura_faptic', lnUzura_faptic) + thisform.UpdateServer(lnId,'dns_luni_faptic', lnDNS_LUNI_FAPTIC) + ENDIF + ENDPROC + + PROCEDURE Grid1.cData_expirare.Text1.When + *!* NU SE POATE MODIFICA O INREGISTRARE VALIDATA + IF thisform.lvalidat + RETURN .F. + ENDIF + thisform.nValue = this.Value + + ENDPROC + + PROCEDURE Grid1.cFirstUpdatedAt.Text1.LostFocus + Local lnId, ldFirstUpdatedAt + lnId = crs_inventar.id_inventar + ldFirstUpdatedAt = IIF(EMPTY(NVL(crs_inventar.first_updated_at, {})), null, crs_inventar.first_updated_at) + + *!* If m.lcSerie <> NVL(Thisform.nvalue, '') + Thisform.UpdateServer(m.lnId, 'first_updated_at', m.ldFirstUpdatedAt) + *!* Endif + + ENDPROC + + PROCEDURE Grid1.cFirstUpdatedAt.Text1.When + *!* NU SE POATE MODIFICA O INREGISTRARE VALIDATA + IF thisform.lvalidat + RETURN .F. + ENDIF + thisform.nValue = this.Value + ENDPROC + + PROCEDURE Grid1.cFurnizor.Text1.Click + *!* 15.04.2010 + *!* marius.mutu + *!* daca inregistrarea provine din stoc (stoc scriptic <> 0) nu se poate modifica decat stocul faptic + *!* doar la inventarul initial stoc scriptic = 0 + + *!* NU SE POATE MODIFICA O INREGISTRARE VALIDATA + *!* 21.12.2011 + *!* thisform.lvalidat + IF thisform.lInregistrarevalidata + RETURN .F. + ENDIF + *!* 21.12.2011 ^ + + + IF stoc_scriptic <> 0 + RETURN .F. + ENDIF + + thisform.do_cauta_furnizor() + ENDPROC + + PROCEDURE Grid1.cFurnizor.Text1.When + *!* NU SE POATE MODIFICA O INREGISTRARE VALIDATA + IF thisform.lInregistrarevalidata + RETURN .F. + ENDIF + + ENDPROC + + PROCEDURE Grid1.cPretcTVA.Text1.Click + THIS.SelStart = 0 + THIS.SelLength = 100 + ENDPROC + + PROCEDURE Grid1.cPretcTVA.Text1.GotFocus + *!* 15.04.2010 + *!* marius.mutu + *!* daca inregistrarea provine din stoc (stoc scriptic <> 0) nu se poate modifica decat stocul faptic + *!* doar la inventarul initial stoc scriptic = 0 + + This.Parent.ReadOnly = stoc_scriptic <> 0 + This.ReadOnly = stoc_scriptic <> 0 + ENDPROC + + PROCEDURE Grid1.cPretcTVA.Text1.LostFocus + Local lnPretCtvav, lnId + Local lnPretv,lntvav + + Select crs_inventar + lnPretCtvav = crs_inventar.pretctvav + lnId = crs_inventar.id_inventar + + If lnPretCtvav < 0 + Replace pretctvav With 0 + Endif + *IF thisform.nValue <> m.lnPretCtvav + If proc_tvav <> 0 + lntvav = Round(((proc_tvav -1)/proc_tvav)* m.lnPretCtvav, gnPPretV) + Else + lntvav = 0 + Endif + + lnPretv = m.lnPretCtvav - m.lntvav + REPLACE pretv WITH lnPretv, tvav WITH m.lnTvav + + Thisform.UpdateServer(lnId,'tvav', m.lntvav) + Thisform.UpdateServer(lnId,'Pretv', m.lnPretv ) + *ENDIF + + ENDPROC + + PROCEDURE Grid1.cPretcTVA.Text1.Valid + LOCAL llValid + llValid = Thisform.ValidPret(crs_inventar.pretctvav) + IF !llValid + RETURN 0 + ENDIF + ENDPROC + + PROCEDURE Grid1.cPretcTVA.Text1.When + *!* NU SE POATE MODIFICA O INREGISTRARE VALIDATA + *!* 21.12.2011 + *!* thisform.lvalidat + IF thisform.lInregistrarevalidata + RETURN .F. + ENDIF + *!* 21.12.2011 ^ + + thisform.nvalue = crs_inventar.pretctvav + + ENDPROC + + PROCEDURE Grid1.cPret_unitar.Text1.Click + THIS.SelStart = 0 + THIS.SelLength = 100 + ENDPROC + + PROCEDURE Grid1.cPret_unitar.Text1.GotFocus + *!* 15.04.2010 + *!* marius.mutu + *!* daca inregistrarea provine din stoc (stoc scriptic <> 0) nu se poate modifica decat stocul faptic + *!* doar la inventarul initial stoc scriptic = 0 + + This.Parent.ReadOnly = stoc_scriptic <> 0 + This.ReadOnly = stoc_scriptic <> 0 + ENDPROC + + PROCEDURE Grid1.cPret_unitar.Text1.KeyPress + Lparameters nKeyCode, nShiftAltCtrl + + IF nKeyCode = 13 And crs_inventar.stoc_faptic <> 0 + Nodefault + Thisform.Clb_tx_codbare.text_simplu1.SetFocus() + ENDIF + ENDPROC + + PROCEDURE Grid1.cPret_unitar.Text1.LostFocus + If This.Value < 0 + Select crs_inventar + Replace Pret With Thisform.nvalue + Endif + *!* IF THISFORM.nvalue # THIS.VALUE + lnId = crs_inventar.id_inventar + Thisform.UpdateServer(lnId,'pret',This.Value) + *!* ENDIF + + + ENDPROC + + PROCEDURE Grid1.cPret_unitar.Text1.When + *!* NU SE POATE MODIFICA O INREGISTRARE VALIDATA + *!* 21.12.2011 + *!* thisform.lvalidat + IF thisform.lInregistrarevalidata + RETURN .F. + ENDIF + *!* 21.12.2011 ^ + + + thisform.nvalue = this.Value + + ENDPROC + + PROCEDURE Grid1.cProc_TVAv.Text1.Click + THIS.SelStart = 0 + THIS.SelLength = 100 + ENDPROC + + PROCEDURE Grid1.cProc_TVAv.Text1.GotFocus + *!* 15.04.2010 + *!* marius.mutu + *!* daca inregistrarea provine din stoc (stoc scriptic <> 0) nu se poate modifica decat stocul faptic + *!* doar la inventarul initial stoc scriptic = 0 + + This.Parent.ReadOnly = stoc_scriptic <> 0 + This.ReadOnly = stoc_scriptic <> 0 + + ENDPROC + + PROCEDURE Grid1.cProc_TVAv.Text1.LostFocus + Local lnProcTvav, lnPretv,lntvav, lnId + + Select crs_inventar + lnProcTvav = proc_tvav + lnId = id_inventar + + Do Case + Case m.lnProcTvav < 0 + Replace proc_tvav With Thisform.nvalue + lnProcTvav = proc_tvav + Case m.lnProcTvav >= 2 && 9 in loc de 1.09, 1.19 etc. + Replace proc_tvav With 1 + Round(This.Value/100,2) + lnProcTvav = proc_tvav + Endcase + * If Thisform.nvalue # m.lnProcTvav + If m.lnProcTvav <> 0 + lntvav = Round(((This.Value-1)/This.Value)* pretctvav ,gnPPretV) + lnPretv = pretctvav - lntvav + Else + lntvav = 0 + lnPretv = pretctvav + Endif + REPLACE tvav WITH lnTvav, pretv WITH lnPretv + + Thisform.UpdateServer(lnId,'proc_tvav', lnProcTvav) + Thisform.UpdateServer(lnId,'tvav', lntvav) + Thisform.UpdateServer(lnId,'Pretv', lnPretv ) + * Endif + + + ENDPROC + + PROCEDURE Grid1.cProc_TVAv.Text1.Valid + LOCAL lnProcTvav + lnProcTvav = crs_inventar.proc_tvav + SELECT cote_tva + LOCATE FOR proc_tva = m.lnProcTvav + ENDPROC + + PROCEDURE Grid1.cProc_TVAv.Text1.When + *!* NU SE POATE MODIFICA O INREGISTRARE VALIDATA + IF thisform.lvalidat + RETURN .F. + ENDIF + + thisform.nvalue = this.Value + + ENDPROC + + PROCEDURE Grid1.cProc_TVAv._combobox1.GotFocus + *!* 15.04.2010 + *!* marius.mutu + *!* daca inregistrarea provine din stoc (stoc scriptic <> 0) nu se poate modifica decat stocul faptic + *!* doar la inventarul initial stoc scriptic = 0 + + This.Parent.ReadOnly = stoc_scriptic <> 0 + This.ReadOnly = stoc_scriptic <> 0 + this.Enabled = stoc_scriptic = 0 + ENDPROC + + PROCEDURE Grid1.cProc_TVAv._combobox1.LostFocus + Local lnProcTvav, lnPretv,lntvav, lnId + + Select crs_inventar + lnProcTvav = proc_tvav + lnId = id_inventar + + *!* Do Case + *!* Case m.lnProcTvav < 0 + *!* Replace proc_tvav With Thisform.nvalue + *!* lnProcTvav = proc_tvav + *!* Case m.lnProcTvav >= 2 && 9 in loc de 1.09, 1.19 etc. + *!* Replace proc_tvav With 1 + Round(This.Value/100,2) + *!* lnProcTvav = proc_tvav + *!* Endcase + * If Thisform.nvalue # m.lnProcTvav + If m.lnProcTvav <> 0 + lntvav = Round(((This.Value-1)/This.Value)* pretctvav ,gnPPretV) + lnPretv = pretctvav - lntvav + Else + lntvav = 0 + lnPretv = pretctvav + Endif + REPLACE tvav WITH lnTvav, pretv WITH lnPretv + + Thisform.UpdateServer(lnId,'proc_tvav', m.lnProcTvav) + Thisform.UpdateServer(lnId,'tvav', m.lntvav) + Thisform.UpdateServer(lnId,'Pretv', m.lnPretv ) + * Endif + + ENDPROC + + PROCEDURE Grid1.cProc_TVAv._combobox1.When + *!* 21.12.2011 + *!* thisform.lvalidat + IF thisform.lInregistrarevalidata + RETURN .F. + ENDIF + *!* 21.12.2011 ^ + + thisform.nvalue = crs_inventar.proc_tvav + + ENDPROC + + PROCEDURE Grid1.cSerie.Text1.GotFocus + *!* 15.04.2010 + *!* marius.mutu + *!* daca inregistrarea provine din stoc (stoc scriptic <> 0) nu se poate modifica decat stocul faptic + *!* doar la inventarul initial stoc scriptic = 0 + + This.Parent.ReadOnly = stoc_scriptic <> 0 + This.ReadOnly = stoc_scriptic <> 0 + ENDPROC + + PROCEDURE Grid1.cSerie.Text1.LostFocus + Local lnId + lnId = crs_inventar.id_inventar + lcSerie = Alltrim(NVL(crs_inventar.serie,'')) + + *!* If m.lcSerie <> NVL(Thisform.nvalue, '') + Thisform.UpdateServer(m.lnId, 'serie', m.lcSerie) + *!* Endif + + ENDPROC + + PROCEDURE Grid1.cSerie.Text1.When + *!* NU SE POATE MODIFICA O INREGISTRARE VALIDATA + *!* 21.12.2011 + *!* thisform.lvalidat + IF thisform.lInregistrarevalidata + RETURN .F. + ENDIF + *!* 21.12.2011 ^ + + + thisform.nvalue = this.Value + + ENDPROC + + PROCEDURE Grid1.cStocFaptic1.Text1.Click + THIS.SelStart = 0 + THIS.SelLength = 100 + ENDPROC + + PROCEDURE Grid1.cStocFaptic1.Text1.GotFocus + *!* goLog.Log(ALLTRIM(crs_inventar.codbare) + ' ' + ALLTRIM(crs_inventar.denumire) + ' GotFocus stoc_faptic_1 this.Value ' + STR(this.value)) + + This.Parent.ReadOnly = Iif(id_rul_aux<>0,.T.,.F.) + This.ReadOnly = Iif(id_rul_aux<>0,.T.,.F.) + + ENDPROC + + PROCEDURE Grid1.cStocFaptic1.Text1.KeyPress + LPARAMETERS nKeyCode, nShiftAltCtrl + IF nkeycode = 13 AND this.Value <> 0 + Thisform.Clb_tx_codbare.SetFocus() + ENDIF + ENDPROC + + PROCEDURE Grid1.cStocFaptic1.Text1.LostFocus + *!* 14.08.2009 + *!* marius.mutu + *!* stoc_faptic este suma(stoc_faptic1..stoc_faptic5) + + *!* 04.09.2009 + *!* marius.mutu + *!* focus pe codbare + *!* goLog.Log(ALLTRIM(crs_inventar.codbare) + ' ' + ALLTRIM(crs_inventar.denumire) + ' LostFocus stoc_faptic_1 this.Value ' + STR(this.value)) + + *!* 13.04.2010 + *!* marius.mutu + *!* nu se mai actualizeaza stoc_faptic.. stoc_faptic5 pe baza diferentei dintre valoarea initiala si valoarea finala + + *!* 10.02.2012 + *!* marius.mutu + *!* daca este corectie de inventar, permit si stoc negativ + + IF THIS.VALUE < 0 + *!* 10.02.2012 + IF !thisform.lCorectie + *!* 10.02.2012 ^ + SELECT crs_inventar + REPLACE stoc_faptic1 WITH THISFORM.nvalue + ENDIF + ELSE + * IF THISFORM.nvalue # THIS.VALUE + lnId = crs_inventar.id_inventar + THISFORM.UpdateServer(lnId,'stoc_faptic1',THIS.VALUE) + *!* 14.08.2009 + SELECT crs_inventar + *!* REPLACE stoc_faptic WITH stoc_faptic + this.Value - THISFORM.nvalue + REPLACE stoc_faptic WITH stoc_faptic1 + stoc_faptic2 + stoc_faptic3 + stoc_faptic4 + stoc_faptic5 + THISFORM.UpdateServer(lnId,'stoc_faptic', crs_inventar.stoc_faptic) + *!* 14.08.2009 ^ + + *!* 04.09.2009 + *!* thisform.Clb_tx_codbare.SetFocus() + *!* 04.09.2009 ^ + * ENDIF + ENDIF + + ENDPROC + + PROCEDURE Grid1.cStocFaptic1.Text1.Valid + LOCAL llValid + llValid = Thisform.ValidCantitate(crs_inventar.stoc_faptic1) + IF !llValid + RETURN 0 + ENDIF + ENDPROC + + PROCEDURE Grid1.cStocFaptic1.Text1.When + *!* NU SE POATE MODIFICA O INREGISTRARE VALIDATA + + *!* 21.12.2011 + *!* thisform.lvalidat + IF thisform.lInregistrarevalidata + RETURN .F. + ENDIF + *!* 21.12.2011 ^ + + thisform.nvalue = this.Value + ENDPROC + + PROCEDURE Grid1.cStocFaptic2.Text1.Click + THIS.SelStart = 0 + THIS.SelLength = 100 + ENDPROC + + PROCEDURE Grid1.cStocFaptic2.Text1.GotFocus + This.Parent.ReadOnly = Iif(id_rul_aux<>0,.T.,.F.) + This.ReadOnly = Iif(id_rul_aux<>0,.T.,.F.) + + ENDPROC + + PROCEDURE Grid1.cStocFaptic2.Text1.KeyPress + LPARAMETERS nKeyCode, nShiftAltCtrl + IF nkeycode = 13 AND this.Value <> 0 + Thisform.Clb_tx_codbare.SetFocus() + ENDIF + ENDPROC + + PROCEDURE Grid1.cStocFaptic2.Text1.LostFocus + *!* 14.08.2009 + *!* marius.mutu + *!* stoc_faptic este suma(stoc_faptic1..stoc_faptic5) + + *!* 04.09.2009 + *!* marius.mutu + *!* focus pe codbare + + *!* 13.04.2010 + *!* marius.mutu + *!* nu se mai actualizeaza stoc_faptic.. stoc_faptic5 pe baza diferentei dintre valoarea initiala si valoarea finala + + IF THIS.VALUE < 0 + SELECT crs_inventar + REPLACE stoc_faptic2 WITH THISFORM.nvalue + ELSE + * IF THISFORM.nvalue # THIS.VALUE + lnId = crs_inventar.id_inventar + THISFORM.UpdateServer(lnId,'stoc_faptic2',THIS.VALUE) + *!* 14.08.2009 + SELECT crs_inventar + *!* REPLACE stoc_faptic WITH stoc_faptic + this.Value - THISFORM.nvalue + *!* REPLACE stoc_faptic WITH stoc_faptic1 + stoc_faptic3 + stoc_faptic4 + stoc_faptic5 + (this.Value - THISFORM.nvalue) + REPLACE stoc_faptic WITH stoc_faptic1 + stoc_faptic2 + stoc_faptic3 + stoc_faptic4 + stoc_faptic5 + THISFORM.UpdateServer(lnId,'stoc_faptic', crs_inventar.stoc_faptic) + *!* 14.08.2009 ^ + + *!* 04.09.2009 + *!* thisform.Clb_tx_codbare.SetFocus() + *!* 04.09.2009 ^ + * ENDIF + ENDIF + + ENDPROC + + PROCEDURE Grid1.cStocFaptic2.Text1.Valid + LOCAL llValid + llValid = Thisform.ValidCantitate(crs_inventar.stoc_faptic2) + IF !llValid + RETURN 0 + ENDIF + ENDPROC + + PROCEDURE Grid1.cStocFaptic2.Text1.When + *!* NU SE POATE MODIFICA O INREGISTRARE VALIDATA + + *!* 21.12.2011 + *!* thisform.lvalidat + IF thisform.lInregistrarevalidata + RETURN .F. + ENDIF + *!* 21.12.2011 ^ + + thisform.nvalue = this.Value + ENDPROC + + PROCEDURE Grid1.cStocFaptic3.Text1.Click + THIS.SelStart = 0 + THIS.SelLength = 100 + ENDPROC + + PROCEDURE Grid1.cStocFaptic3.Text1.GotFocus + This.Parent.ReadOnly = Iif(id_rul_aux<>0,.T.,.F.) + This.ReadOnly = Iif(id_rul_aux<>0,.T.,.F.) + + ENDPROC + + PROCEDURE Grid1.cStocFaptic3.Text1.KeyPress + LPARAMETERS nKeyCode, nShiftAltCtrl + IF nkeycode = 13 AND this.Value <> 0 + Thisform.Clb_tx_codbare.SetFocus() + ENDIF + ENDPROC + + PROCEDURE Grid1.cStocFaptic3.Text1.LostFocus + *!* 14.08.2009 + *!* marius.mutu + *!* stoc_faptic este suma(stoc_faptic1..stoc_faptic5) + + *!* 04.09.2009 + *!* marius.mutu + *!* focus pe codbare + + *!* 13.04.2010 + *!* marius.mutu + *!* nu se mai actualizeaza stoc_faptic.. stoc_faptic5 pe baza diferentei dintre valoarea initiala si valoarea finala + + + IF THIS.VALUE < 0 + SELECT crs_inventar + REPLACE stoc_faptic3 WITH THISFORM.nvalue + ELSE + * IF THISFORM.nvalue # THIS.VALUE + lnId = crs_inventar.id_inventar + THISFORM.UpdateServer(lnId,'stoc_faptic3',THIS.VALUE) + *!* 14.08.2009 + SELECT crs_inventar + *!* REPLACE stoc_faptic WITH stoc_faptic + this.Value - THISFORM.nvalue + *!* REPLACE stoc_faptic WITH stoc_faptic1 + stoc_faptic2 + stoc_faptic4 + stoc_faptic5 + (this.Value - THISFORM.nvalue) + REPLACE stoc_faptic WITH stoc_faptic1 + stoc_faptic2 + stoc_faptic3 + stoc_faptic4 + stoc_faptic5 + THISFORM.UpdateServer(lnId,'stoc_faptic', crs_inventar.stoc_faptic) + *!* 14.08.2009 ^ + + *!* 04.09.2009 + *!* thisform.Clb_tx_codbare.SetFocus() + *!* 04.09.2009 ^ + * ENDIF + ENDIF + + ENDPROC + + PROCEDURE Grid1.cStocFaptic3.Text1.Valid + LOCAL llValid + llValid = Thisform.ValidCantitate(crs_inventar.stoc_faptic3) + IF !llValid + RETURN 0 + ENDIF + ENDPROC + + PROCEDURE Grid1.cStocFaptic3.Text1.When + *!* NU SE POATE MODIFICA O INREGISTRARE VALIDATA + + *!* 21.12.2011 + *!* thisform.lvalidat + IF thisform.lInregistrarevalidata + RETURN .F. + ENDIF + *!* 21.12.2011 ^ + + thisform.nvalue = this.Value + ENDPROC + + PROCEDURE Grid1.cStocFaptic4.Text1.Click + THIS.SelStart = 0 + THIS.SelLength = 100 + ENDPROC + + PROCEDURE Grid1.cStocFaptic4.Text1.GotFocus + This.Parent.ReadOnly = Iif(id_rul_aux<>0,.T.,.F.) + This.ReadOnly = Iif(id_rul_aux<>0,.T.,.F.) + + ENDPROC + + PROCEDURE Grid1.cStocFaptic4.Text1.KeyPress + LPARAMETERS nKeyCode, nShiftAltCtrl + IF nkeycode = 13 AND this.Value <> 0 + Thisform.Clb_tx_codbare.SetFocus() + ENDIF + ENDPROC + + PROCEDURE Grid1.cStocFaptic4.Text1.LostFocus + *!* 14.08.2009 + *!* marius.mutu + *!* stoc_faptic este suma(stoc_faptic1..stoc_faptic5) + + *!* 04.09.2009 + *!* marius.mutu + *!* focus pe codbare + + *!* 13.04.2010 + *!* marius.mutu + *!* nu se mai actualizeaza stoc_faptic.. stoc_faptic5 pe baza diferentei dintre valoarea initiala si valoarea finala + + IF THIS.VALUE < 0 + SELECT crs_inventar + REPLACE stoc_faptic4 WITH THISFORM.nvalue + ELSE + * IF THISFORM.nvalue # THIS.VALUE + lnId = crs_inventar.id_inventar + THISFORM.UpdateServer(lnId,'stoc_faptic4',THIS.VALUE) + *!* 14.08.2009 + SELECT crs_inventar + *!* REPLACE stoc_faptic WITH stoc_faptic + this.Value - THISFORM.nvalue + * REPLACE stoc_faptic WITH stoc_faptic1 + stoc_faptic2 + stoc_faptic3 + stoc_faptic5 + (this.Value - THISFORM.nvalue) + REPLACE stoc_faptic WITH stoc_faptic1 + stoc_faptic2 + stoc_faptic3 + stoc_faptic4 + stoc_faptic5 + THISFORM.UpdateServer(lnId,'stoc_faptic', crs_inventar.stoc_faptic) + *!* 14.08.2009 ^ + *!* 04.09.2009 + *!* thisform.Clb_tx_codbare.SetFocus() + *!* 04.09.2009 ^ + * ENDIF + ENDIF + + ENDPROC + + PROCEDURE Grid1.cStocFaptic4.Text1.Valid + LOCAL llValid + llValid = Thisform.ValidCantitate(crs_inventar.stoc_faptic4) + IF !llValid + RETURN 0 + ENDIF + ENDPROC + + PROCEDURE Grid1.cStocFaptic4.Text1.When + *!* NU SE POATE MODIFICA O INREGISTRARE VALIDATA + + *!* 21.12.2011 + *!* thisform.lvalidat + IF thisform.lInregistrarevalidata + RETURN .F. + ENDIF + *!* 21.12.2011 ^ + + thisform.nvalue = this.Value + ENDPROC + + PROCEDURE Grid1.cStocFaptic5.Text1.Click + THIS.SelStart = 0 + THIS.SelLength = 100 + ENDPROC + + PROCEDURE Grid1.cStocFaptic5.Text1.GotFocus + This.Parent.ReadOnly = Iif(id_rul_aux<>0,.T.,.F.) + This.ReadOnly = Iif(id_rul_aux<>0,.T.,.F.) + + ENDPROC + + PROCEDURE Grid1.cStocFaptic5.Text1.KeyPress + LPARAMETERS nKeyCode, nShiftAltCtrl + IF nkeycode = 13 AND this.Value <> 0 + Thisform.Clb_tx_codbare.SetFocus() + ENDIF + ENDPROC + + PROCEDURE Grid1.cStocFaptic5.Text1.LostFocus + *!* 14.08.2009 + *!* marius.mutu + *!* stoc_faptic este suma(stoc_faptic1..stoc_faptic5) + + *!* 04.09.2009 + *!* marius.mutu + *!* focus pe codbare + + *!* 13.04.2010 + *!* marius.mutu + *!* nu se mai actualizeaza stoc_faptic.. stoc_faptic5 pe baza diferentei dintre valoarea initiala si valoarea finala + + IF THIS.VALUE < 0 + SELECT crs_inventar + REPLACE stoc_faptic5 WITH THISFORM.nvalue + ELSE + * IF THISFORM.nvalue # THIS.VALUE + lnId = crs_inventar.id_inventar + THISFORM.UpdateServer(lnId,'stoc_faptic5',THIS.VALUE) + *!* 14.08.2009 + SELECT crs_inventar + *!* REPLACE stoc_faptic WITH stoc_faptic + this.Value - THISFORM.nvalue + *!* REPLACE stoc_faptic WITH stoc_faptic1 + stoc_faptic2 + stoc_faptic3 + stoc_faptic4 + (this.Value - THISFORM.nvalue) + REPLACE stoc_faptic WITH stoc_faptic1 + stoc_faptic2 + stoc_faptic3 + stoc_faptic4 + stoc_faptic5 + THISFORM.UpdateServer(lnId,'stoc_faptic', crs_inventar.stoc_faptic) + *!* 14.08.2009 ^ + *!* 04.09.2009 + *!* thisform.Clb_tx_codbare.SetFocus() + *!* 04.09.2009 ^ + * ENDIF + ENDIF + + ENDPROC + + PROCEDURE Grid1.cStocFaptic5.Text1.Valid + LOCAL llValid + llValid = Thisform.ValidCantitate(crs_inventar.stoc_faptic5) + IF !llValid + RETURN 0 + ENDIF + ENDPROC + + PROCEDURE Grid1.cStocFaptic5.Text1.When + *!* NU SE POATE MODIFICA O INREGISTRARE VALIDATA + + *!* 21.12.2011 + *!* thisform.lvalidat + IF thisform.lInregistrarevalidata + RETURN .F. + ENDIF + *!* 21.12.2011 ^ + + thisform.nvalue = this.Value + ENDPROC + + PROCEDURE Grid1.cStocScriptic.Text1.Click + THIS.SelStart = 0 + THIS.SelLength = 100 + ENDPROC + + PROCEDURE Grid1.cStocScriptic.Text1.LostFocus + *!* 21.12.2011 + IF thisform.lInregistrarevalidata + RETURN .F. + ENDIF + IF !thisform.lCorectie + RETURN .F. + ENDIF + + Local lnStocScriptic, lnId, lnCant + + Select crs_inventar + lnStocScriptic = NVL(crs_inventar.stoc_scriptic, 0) + lnId = crs_inventar.id_inventar + + lnCant = m.lnStocScriptic - (cants + cant - cante) + REPLACE cant WITH m.lnCant + + Thisform.UpdateServer(lnId,'cant', m.lnCant) + *!* 21.12.2011 ^ + ENDPROC + + PROCEDURE Grid1.cStocScriptic.Text1.When + *!* NU SE POATE MODIFICA STOCUL SCRIPTIC DECAT LA O INREGISTRARE NEVALIDATA SI DOAR DACA ESTE CORECTIE DE INVENTAR (ADICA O INREGISTRARE ADAUGATA) + *!* 21.12.2011 + *!* thisform.lvalidat + If Thisform.lInregistrarevalidata + Return .F. + Endif + If !Thisform.lCorectie + Return .F. + Endif + *!* 21.12.2011 ^ + + Thisform.nvalue = Nvl(crs_inventar.stoc_scriptic, 0) + + ENDPROC + + PROCEDURE Grid1.cstoc_faptic.Text1.Click + THIS.SelStart = 0 + THIS.SelLength = 100 + ENDPROC + + PROCEDURE Grid1.cstoc_faptic.Text1.GotFocus + *!* goLog.Log(ALLTRIM(crs_inventar.codbare) + ' ' + ALLTRIM(crs_inventar.denumire) + ' GotFocus ' + STR(crs_inventar.stoc_faptic)) + + ENDPROC + + PROCEDURE Grid1.cstoc_faptic.Text1.KeyPress + LPARAMETERS nKeyCode, nShiftAltCtrl + IF nkeycode = 13 AND this.value <> 0 + * Nodefault + Thisform.Clb_tx_codbare.SetFocus() + ENDIF + ENDPROC + + PROCEDURE Grid1.cstoc_faptic.Text1.LostFocus + *!* 14.08.2009 + *!* marius.mutu + *!* suma(stoc_faptic1..stoc_faptic5) trebuie sa fie egale cu stoc_faptic + + *!* 04.09.2009 + *!* marius.mutu + *!* focus pe codbare + *!* goLog.Log(ALLTRIM(crs_inventar.codbare) + ' ' + ALLTRIM(crs_inventar.denumire) + ' LostFocus this.Value ' + STR(this.value)) + + *!* 13.04.2010 + *!* marius.mutu + *!* nu se mai actualizeaza stoc_faptic.. stoc_faptic5 pe baza diferentei dintre valoarea initiala si valoarea finala + + If This.Value < 0 + Select crs_inventar + Replace stoc_faptic With stoc_faptic1 + stoc_faptic2 + stoc_faptic3 + stoc_faptic4 + stoc_faptic5 + Else + *!* 13.04.2010 + * IF THISFORM.nvalue # THIS.VALUE + lnId = crs_inventar.id_inventar + + *!* 14.08.2009 + Select crs_inventar + If stoc_faptic = 0 + Replace stoc_faptic1 With 0, stoc_faptic2 With 0, stoc_faptic3 With 0, stoc_faptic4 With 0, stoc_faptic5 With 0 + Else + If stoc_faptic < stoc_faptic1 + stoc_faptic2 + stoc_faptic3 + stoc_faptic4 + stoc_faptic5 + aMessagebox('Nu puteti introduce o cantitate mai mica decat suma cantitatilor 1..5' + Chr(13) + 'Modificati cantitatile 1..5!',0+48, _Screen.Caption) + Replace stoc_faptic WITH stoc_faptic1 + stoc_faptic2 + stoc_faptic3 + stoc_faptic4 + stoc_faptic5 + this.Refresh() + Else + Replace stoc_faptic1 With stoc_faptic - stoc_faptic2 - stoc_faptic3 - stoc_faptic4 - stoc_faptic5 + Endif + Endif + + Thisform.UpdateServer(lnId,'stoc_faptic', crs_inventar.stoc_faptic) + Thisform.UpdateServer(lnId,'stoc_faptic1', crs_inventar.stoc_faptic1) + Thisform.UpdateServer(lnId,'stoc_faptic2', crs_inventar.stoc_faptic2) + Thisform.UpdateServer(lnId,'stoc_faptic3', crs_inventar.stoc_faptic3) + Thisform.UpdateServer(lnId,'stoc_faptic4', crs_inventar.stoc_faptic4) + Thisform.UpdateServer(lnId,'stoc_faptic5', crs_inventar.stoc_faptic5) + *!* 14.08.2009 ^ + + *!* 04.09.2009 + *!* Thisform.Clb_tx_codbare.SetFocus() + *!* 04.09.2009 ^ + * ENDIF + *!* 13.04.2010 ^ + Endif + + ENDPROC + + PROCEDURE Grid1.cstoc_faptic.Text1.Valid + LOCAL llValid + llValid = Thisform.ValidCantitate(crs_inventar.stoc_faptic) + IF !llValid + RETURN 0 + ENDIF + ENDPROC + + PROCEDURE Grid1.cstoc_faptic.Text1.When + *!* NU SE POATE MODIFICA O INREGISTRARE VALIDATA + + *!* 21.12.2011 + *!* thisform.lvalidat + IF thisform.lInregistrarevalidata + RETURN .F. + ENDIF + *!* 21.12.2011 ^ + + thisform.nvalue = crs_inventar.stoc_faptic + + ENDPROC + + PROCEDURE Grid1.cUzura_faptic.Text1.GotFocus + *!* modificare 15.08.2007 + If !Thisform.linventarroavin + This.Parent.ReadOnly = Iif(id_rul_aux<>0,.T.,.F.) + This.ReadOnly = Iif(id_rul_aux<>0,.T.,.F.) + Endif + *!* modificare 15.08.2007 ^ + ENDPROC + + PROCEDURE Grid1.cUzura_faptic.Text1.LostFocus + IF NVL(thisform.nvalue,0) # this.Value + lnDNS_LUNI_FAPTIC = ROUND(dnf *(100-uzura_faptic)/100, 0) + lnUzura_faptic = IIF(DNF = 0, 0, round((dnf - lnDNS_LUNI_FAPTIC) / dnf * 100, 0)) + REPLACE uzura_faptic WITH lnUzura_faptic + + lnId = crs_inventar.id_inventar + thisform.UpdateServer(lnId,'uzura_faptic', lnUzura_faptic) + thisform.UpdateServer(lnId,'dns_luni_faptic', lnDNS_LUNI_FAPTIC) + ENDIF + ENDPROC + + PROCEDURE Grid1.cUzura_faptic.Text1.When + *!* NU SE POATE MODIFICA O INREGISTRARE VALIDATA + IF thisform.lvalidat + RETURN .F. + ENDIF + thisform.nvalue = this.Value + + ENDPROC + + PROCEDURE Gridextra1.applyfilter + DODEFAULT() + thisform.do_executa() + ENDPROC + + PROCEDURE Gridextra1.clearfilter + DODEFAULT() + thisform.do_executa() + ENDPROC + +ENDDEFINE + +DEFINE CLASS new_inventar AS frm_termin_renunt OF "_frm_child.vcx" + *< CLASSDATA: Baseclass="form" Timestamp="" Scale="Pixels" Uniqueid="" /> + + *-- OBJECTDATA items order determines ZOrder / El orden de los items OBJECTDATA determina el ZOrder + *< OBJECTDATA: ObjPath="clb_gestiune" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="Clb_cont" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="Clb_tx_simplu1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="Clb_serie" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="Clb_acont" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="Clb_pret" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="Clb_vanzare" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="Clb_vanzare.Tx_tva" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="Clb_vanzare.Label1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="Clb_vanzare.Label2" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="Clb_vanzare.cb_cota_tva" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="Clb_vanzare.Text1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="Clb_vanzare.Label3" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="Clb_PretValuta" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="Clb_Valuta" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="Clb_Valuta.Combo1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="Ct_clb_articol" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="Ct_clb_part_rez" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="Ct_clb_nrord_rez" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="Ct_clb_furnizor" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="Clb_obinv" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="Clb_obinv.Tx_datapif" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="Clb_obinv.Label2" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="Clb_obinv.txtDnf" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="Clb_obinv.Label3" UniqueID="" Timestamp="" /> + + * + *m: alege_gestiune + *m: do_cauta_articol + *m: do_cauta_furnizor + *m: do_cauta_lucrare_rez + *m: do_cauta_part_rez + *p: dnf + *p: lcopiere + *p: lobinv + *p: npretvtva + *p: obj + * + + * + BorderStyle = 1 + dnf = 0 + DoCreate = .T. + Height = 485 + lcopiere = .F. + lobinv = .F. + Name = "new_inventar" + npretvtva = 0 + obj = + Width = 375 + _memberdata = + + + _shape1.Name = "_shape1" + _shape1.ZOrderSet = 0 + _shape2.Height = 29 + _shape2.Left = 310 + _shape2.Name = "_shape2" + _shape2.Top = 0 + _shape2.Width = 65 + _shape2.ZOrderSet = 1 + Lb_titlu_alb_b121.Caption = "Adaugare" + Lb_titlu_alb_b121.Name = "Lb_titlu_alb_b121" + Lb_titlu_alb_b121.TabIndex = 17 + Lb_titlu_alb_b121.ZOrderSet = 2 + BUT_TERMIN1.Left = 343 + BUT_TERMIN1.Name = "BUT_TERMIN1" + BUT_TERMIN1.TabIndex = 15 + BUT_TERMIN1.Top = 1 + BUT_TERMIN1.ZOrderSet = 3 + GRIDSORT1.Left = 324 + GRIDSORT1.Name = "GRIDSORT1" + GRIDSORT1.Top = 144 + But_renunt1.Left = 313 + But_renunt1.Name = "But_renunt1" + But_renunt1.TabIndex = 16 + But_renunt1.Top = 1 + But_renunt1.ZOrderSet = 5 + * + + ADD OBJECT 'Clb_acont' AS clb_tx_simplu WITH ; + Left = 9, ; + Name = "Clb_acont", ; + TabIndex = 6, ; + Top = 155, ; + Width = 294, ; + ZOrderSet = 9, ; + TEXT_SIMPLU1.ControlSource = "oinv.acont", ; + TEXT_SIMPLU1.Name = "TEXT_SIMPLU1", ; + LB_SIMPLU1.Caption = "Analitic", ; + LB_SIMPLU1.Name = "LB_SIMPLU1" + *< END OBJECT: ClassLib="lb_tx.vcx" BaseClass="container" /> + + ADD OBJECT 'Clb_cont' AS clb_tx_simplu WITH ; + Left = 9, ; + Name = "Clb_cont", ; + TabIndex = 5, ; + Top = 127, ; + Width = 294, ; + ZOrderSet = 7, ; + TEXT_SIMPLU1.ControlSource = "oinv.cont", ; + TEXT_SIMPLU1.Name = "TEXT_SIMPLU1", ; + LB_SIMPLU1.Caption = "Cont", ; + LB_SIMPLU1.Name = "LB_SIMPLU1" + *< END OBJECT: ClassLib="lb_tx.vcx" BaseClass="container" /> + + ADD OBJECT 'clb_gestiune' AS cb_tx_simplu WITH ; + Height = 29, ; + Left = 9, ; + Name = "clb_gestiune", ; + TabIndex = 2, ; + Top = 65, ; + Width = 358, ; + ZOrderSet = 6, ; + _CBBASE1.ColumnCount = 2, ; + _CBBASE1.ColumnWidths = "250,100", ; + _CBBASE1.ControlSource = "oinv.nume_gestiune", ; + _CBBASE1.Height = 23, ; + _CBBASE1.Left = 70, ; + _CBBASE1.Name = "_CBBASE1", ; + _CBBASE1.RowSource = "crsGestiuni.nume_gestiune,cgest", ; + _CBBASE1.RowSourceType = 2, ; + _CBBASE1.Top = 3, ; + _CBBASE1.Width = 286, ; + _LBBASE1.Caption = "Gestiune", ; + _LBBASE1.Name = "_LBBASE1" + *< END OBJECT: ClassLib="lb_tx.vcx" BaseClass="container" /> + + ADD OBJECT 'Clb_obinv' AS cb_tx_simplu WITH ; + Height = 85, ; + Left = 234, ; + Name = "Clb_obinv", ; + TabIndex = 12, ; + Top = 303, ; + Visible = .F., ; + Width = 335, ; + ZOrderSet = 18, ; + _cbbase1.ColumnWidths = "300", ; + _cbbase1.ControlSource = "oinv.responsabil", ; + _cbbase1.Height = 23, ; + _cbbase1.Left = 122, ; + _cbbase1.Name = "_cbbase1", ; + _cbbase1.RowSource = "", ; + _cbbase1.RowSourceType = 2, ; + _cbbase1.TabIndex = 1, ; + _cbbase1.Top = 3, ; + _cbbase1.Width = 206, ; + _lbbase1.Caption = "Responsabil", ; + _lbbase1.Left = 8, ; + _lbbase1.Name = "_lbbase1", ; + _lbbase1.TabIndex = 4 + *< END OBJECT: ClassLib="lb_tx.vcx" BaseClass="container" /> + + ADD OBJECT 'Clb_obinv.Label2' AS label WITH ; + AutoSize = .T., ; + BackStyle = 0, ; + Caption = "Data dare in folosinta", ; + Height = 17, ; + Left = 8, ; + Name = "Label2", ; + TabIndex = 6, ; + Top = 34, ; + Width = 119 + *< END OBJECT: BaseClass="label" /> + + ADD OBJECT 'Clb_obinv.Label3' AS label WITH ; + AutoSize = .T., ; + BackStyle = 0, ; + Caption = "Durata normata de functionare", ; + Height = 17, ; + Left = 8, ; + Name = "Label3", ; + TabIndex = 8, ; + Top = 61, ; + Width = 169 + *< END OBJECT: BaseClass="label" /> + + ADD OBJECT 'Clb_obinv.Tx_datapif' AS textbox WITH ; + ControlSource = "oinv.datapif", ; + Format = "K", ; + Height = 23, ; + Left = 197, ; + Name = "Tx_datapif", ; + TabIndex = 2, ; + Top = 28, ; + Width = 130 + *< END OBJECT: BaseClass="textbox" /> + + ADD OBJECT 'Clb_obinv.txtDnf' AS textbox WITH ; + ControlSource = "oinv.dnf", ; + Format = "K", ; + Height = 23, ; + InputMask = "", ; + Left = 197, ; + Name = "txtDnf", ; + ReadOnly = .T., ; + TabIndex = 7, ; + TabStop = .F., ; + Top = 55, ; + Width = 130 + *< END OBJECT: BaseClass="textbox" /> + + ADD OBJECT 'Clb_pret' AS clb_tx_simplu WITH ; + Left = 9, ; + Name = "Clb_pret", ; + TabIndex = 7, ; + Top = 183, ; + Width = 294, ; + ZOrderSet = 10, ; + TEXT_SIMPLU1.ControlSource = "oinv.pret", ; + TEXT_SIMPLU1.InputMask = (get_mask(9,gnPpret)), ; + TEXT_SIMPLU1.Name = "TEXT_SIMPLU1", ; + LB_SIMPLU1.Caption = "Pret achizitie", ; + LB_SIMPLU1.Name = "LB_SIMPLU1" + *< END OBJECT: ClassLib="lb_tx.vcx" BaseClass="container" /> + + ADD OBJECT 'Clb_PretValuta' AS clb_tx_simplu WITH ; + Left = 9, ; + Name = "Clb_PretValuta", ; + TabIndex = 8, ; + Top = 211, ; + Width = 294, ; + ZOrderSet = 12, ; + Text_simplu1.ControlSource = "oinv.Pretd", ; + Text_simplu1.InputMask = (get_mask(16,gnPPretVAL)), ; + Text_simplu1.Name = "Text_simplu1", ; + Text_simplu1.TabIndex = 1, ; + Lb_simplu1.Caption = "Pret valuta", ; + Lb_simplu1.Name = "Lb_simplu1", ; + Lb_simplu1.TabIndex = 2 + *< END OBJECT: ClassLib="lb_tx.vcx" BaseClass="container" /> + + ADD OBJECT 'Clb_serie' AS clb_tx_simplu WITH ; + Height = 29, ; + Left = 9, ; + Name = "Clb_serie", ; + TabIndex = 3, ; + Top = 99, ; + Width = 195, ; + ZOrderSet = 8, ; + Text_simplu1.ControlSource = "oinv.serie", ; + Text_simplu1.Height = 23, ; + Text_simplu1.Left = 52, ; + Text_simplu1.Name = "Text_simplu1", ; + Text_simplu1.Top = 3, ; + Text_simplu1.Width = 139, ; + Lb_simplu1.Caption = "Serie", ; + Lb_simplu1.Name = "Lb_simplu1" + *< END OBJECT: ClassLib="lb_tx.vcx" BaseClass="container" /> + + ADD OBJECT 'Clb_tx_simplu1' AS clb_tx_simplu WITH ; + Height = 29, ; + Left = 203, ; + Name = "Clb_tx_simplu1", ; + TabIndex = 4, ; + Top = 99, ; + Width = 163, ; + ZOrderSet = 8, ; + Text_simplu1.ControlSource = "oinv.lot", ; + Text_simplu1.Height = 23, ; + Text_simplu1.Left = 38, ; + Text_simplu1.Name = "Text_simplu1", ; + Text_simplu1.TabIndex = 1, ; + Text_simplu1.Top = 3, ; + Text_simplu1.Width = 120, ; + Lb_simplu1.Caption = "Lot", ; + Lb_simplu1.Name = "Lb_simplu1", ; + Lb_simplu1.TabIndex = 2 + *< END OBJECT: ClassLib="lb_tx.vcx" BaseClass="container" /> + + ADD OBJECT 'Clb_Valuta' AS clb_tx_simplu WITH ; + Left = 9, ; + Name = "Clb_Valuta", ; + TabIndex = 9, ; + Top = 239, ; + Width = 294, ; + ZOrderSet = 13, ; + Text_simplu1.ControlSource = "oinv.pret", ; + Text_simplu1.Format = "!K", ; + Text_simplu1.InputMask = (get_mask(9,gnPpret)), ; + Text_simplu1.Name = "Text_simplu1", ; + Text_simplu1.Value = , ; + Lb_simplu1.Caption = "Valuta", ; + Lb_simplu1.Name = "Lb_simplu1" + *< END OBJECT: ClassLib="lb_tx.vcx" BaseClass="container" /> + + ADD OBJECT 'Clb_Valuta.Combo1' AS combobox WITH ; + ColumnCount = 1, ; + ControlSource = "oinv.valuta", ; + Height = 25, ; + HideSelection = .F., ; + Left = 102, ; + Name = "Combo1", ; + ReadOnly = .F., ; + RowSource = "crsValuteTemp.nume_val", ; + RowSourceType = 2, ; + Style = 2, ; + Top = 2, ; + Width = 183 + *< END OBJECT: BaseClass="combobox" /> + + ADD OBJECT 'Clb_vanzare' AS clb_tx_simplu WITH ; + Height = 114, ; + Left = 9, ; + Name = "Clb_vanzare", ; + TabIndex = 11, ; + Top = 303, ; + Width = 294, ; + ZOrderSet = 11, ; + TEXT_SIMPLU1.ControlSource = "oinv.pretv", ; + TEXT_SIMPLU1.Height = 23, ; + TEXT_SIMPLU1.InputMask = (get_mask(12,gnPPretV)), ; + TEXT_SIMPLU1.Left = 101, ; + TEXT_SIMPLU1.Name = "TEXT_SIMPLU1", ; + TEXT_SIMPLU1.ReadOnly = .T., ; + TEXT_SIMPLU1.TabIndex = 3, ; + TEXT_SIMPLU1.TabStop = .F., ; + TEXT_SIMPLU1.Top = 60, ; + TEXT_SIMPLU1.Width = 184, ; + LB_SIMPLU1.Caption = "Pret vanzare", ; + LB_SIMPLU1.Left = 8, ; + LB_SIMPLU1.Name = "LB_SIMPLU1", ; + LB_SIMPLU1.TabIndex = 5, ; + LB_SIMPLU1.Top = 63 + *< END OBJECT: ClassLib="lb_tx.vcx" BaseClass="container" /> + + ADD OBJECT 'Clb_vanzare.cb_cota_tva' AS combobox WITH ; + BorderColor = 128,128,128, ; + BorderStyle = 1, ; + ColumnCount = 3, ; + ColumnLines = .F., ; + ColumnWidths = "200,10,0", ; + Comment = "F", ; + ControlSource = "", ; + Height = 20, ; + InputMask = "", ; + Left = 102, ; + Name = "cb_cota_tva", ; + RowSource = "crs_cote_tva_inventar.denumire,cota_tva", ; + RowSourceType = 6, ; + SpecialEffect = 1, ; + Style = 2, ; + TabIndex = 1, ; + TabStop = .F., ; + Top = 4, ; + Visible = .T., ; + Width = 184 + *< END OBJECT: BaseClass="combobox" /> + + ADD OBJECT 'Clb_vanzare.Label1' AS label WITH ; + AutoSize = .T., ; + BackStyle = 0, ; + Caption = "TVA vanzare", ; + Height = 17, ; + Left = 8, ; + Name = "Label1", ; + TabIndex = 6, ; + Top = 92, ; + Width = 68 + *< END OBJECT: BaseClass="label" /> + + ADD OBJECT 'Clb_vanzare.Label2' AS label WITH ; + AutoSize = .T., ; + BackStyle = 0, ; + Caption = "Cota TVA", ; + Height = 17, ; + Left = 9, ; + Name = "Label2", ; + TabIndex = 8, ; + Top = 7, ; + Width = 52 + *< END OBJECT: BaseClass="label" /> + + ADD OBJECT 'Clb_vanzare.Label3' AS label WITH ; + AutoSize = .T., ; + BackStyle = 0, ; + Caption = "Pret vanzare cu TVA", ; + Height = 32, ; + Left = 8, ; + Name = "Label3", ; + TabIndex = 7, ; + Top = 28, ; + Width = 85, ; + WordWrap = .T. + *< END OBJECT: BaseClass="label" /> + + ADD OBJECT 'Clb_vanzare.Text1' AS textbox WITH ; + ControlSource = "thisform.nPretvTVA", ; + Format = "!K", ; + Height = 23, ; + InputMask = (get_mask(12,gnPPretV)), ; + Left = 101, ; + Name = "Text1", ; + TabIndex = 2, ; + Top = 30, ; + Width = 184 + *< END OBJECT: BaseClass="textbox" /> + + ADD OBJECT 'Clb_vanzare.Tx_tva' AS textbox WITH ; + ControlSource = "oinv.tvav", ; + Format = "!K", ; + Height = 23, ; + InputMask = (get_mask(12,gnPPretV)), ; + Left = 101, ; + Name = "Tx_tva", ; + ReadOnly = .T., ; + TabIndex = 4, ; + TabStop = .F., ; + Top = 86, ; + Width = 184 + *< END OBJECT: BaseClass="textbox" /> + + ADD OBJECT 'Ct_clb_articol' AS ct_clb_cautare_var WITH ; + cconditie = EMPTY(NVL(oinv.id_articol,0)), ; + cprocedura = thisform.do_cauta_articol, ; + cvar_afisata = oinv.denumire, ; + Left = 8, ; + Name = "Ct_clb_articol", ; + TabIndex = 1, ; + Top = 36, ; + ZOrderSet = 14, ; + SHAPE_CAUTARE.Name = "SHAPE_CAUTARE", ; + IMG_CAUTARE.Name = "IMG_CAUTARE", ; + LB_CAUTARE.Caption = "Articol", ; + LB_CAUTARE.Name = "LB_CAUTARE", ; + TX_CAUTARE.Name = "TX_CAUTARE" + *< END OBJECT: ClassLib="caut_ora.vcx" BaseClass="container" /> + + ADD OBJECT 'Ct_clb_furnizor' AS ct_clb_cautare_var WITH ; + Anchor = 0, ; + cconditie = 1=2, ; + cprocedura = thisform.do_cauta_furnizor, ; + cvar_afisata = oinv.furnizor, ; + Left = 8, ; + Name = "Ct_clb_furnizor", ; + TabIndex = 10, ; + Top = 266, ; + ZOrderSet = 17, ; + SHAPE_CAUTARE.Name = "SHAPE_CAUTARE", ; + IMG_CAUTARE.Name = "IMG_CAUTARE", ; + LB_CAUTARE.Caption = "Furnizor", ; + LB_CAUTARE.Name = "LB_CAUTARE", ; + TX_CAUTARE.Name = "TX_CAUTARE" + *< END OBJECT: ClassLib="caut_ora.vcx" BaseClass="container" /> + + ADD OBJECT 'Ct_clb_nrord_rez' AS ct_clb_cautare_var WITH ; + Anchor = 4, ; + cprocedura = thisform.do_cauta_lucrare_rez, ; + cvar_afisata = oinv.nrord_rez, ; + Left = 8, ; + Name = "Ct_clb_nrord_rez", ; + TabIndex = 14, ; + Top = 450, ; + ZOrderSet = 16, ; + SHAPE_CAUTARE.Name = "SHAPE_CAUTARE", ; + IMG_CAUTARE.Name = "IMG_CAUTARE", ; + LB_CAUTARE.Caption = "Lucrare rez.", ; + LB_CAUTARE.Name = "LB_CAUTARE", ; + TX_CAUTARE.Name = "TX_CAUTARE" + *< END OBJECT: ClassLib="caut_ora.vcx" BaseClass="container" /> + + ADD OBJECT 'Ct_clb_part_rez' AS ct_clb_cautare_var WITH ; + Anchor = 4, ; + cprocedura = thisform.do_cauta_part_rez, ; + cvar_afisata = oinv.part_rez, ; + Left = 8, ; + Name = "Ct_clb_part_rez", ; + TabIndex = 13, ; + Top = 422, ; + ZOrderSet = 15, ; + SHAPE_CAUTARE.Name = "SHAPE_CAUTARE", ; + IMG_CAUTARE.Name = "IMG_CAUTARE", ; + LB_CAUTARE.Caption = "Partener rez.", ; + LB_CAUTARE.Name = "LB_CAUTARE", ; + TX_CAUTARE.Name = "TX_CAUTARE" + *< END OBJECT: ClassLib="caut_ora.vcx" BaseClass="container" /> + + PROCEDURE alege_gestiune + Select crsGestiuni + Scatter Name oart + oinv.id_gestiune = oart.id_gestiune + *oinv.nr_pag = oart.nr_pag + If !Thisform.lobinv + If oart.nr_pag = 6 + *!* If !Thisform.clb_vanzare.Visible + Thisform.clb_vanzare.Visible = .T. + *!* Thisform.ct_clb_nrord_rez.Top = Thisform.ct_clb_nrord_rez.Top + Thisform.clb_vanzare.Height + 5 + *!* Thisform.ct_clb_part_rez.Top = Thisform.ct_clb_part_rez.Top + Thisform.clb_vanzare.Height + 5 + *!* Endif + Thisform.Height = 485 + Else + *!* If Thisform.clb_vanzare.Visible + Thisform.clb_vanzare.Visible = .F. + *!* Thisform.ct_clb_nrord_rez.Top = Thisform.ct_clb_nrord_rez.Top - Thisform.clb_vanzare.Height + *!* Thisform.ct_clb_part_rez.Top = Thisform.ct_clb_part_rez.Top - Thisform.clb_vanzare.Height + *!* Endif + Thisform.Height = 390 + Endif + Thisform.Refresh() + Endif + + ENDPROC + + PROCEDURE do_cauta_articol + locauta = caut_articol() + If !Isnull(locauta) + oinv.denumire = locauta.denumire + oinv.id_articol = locauta.id_articol + *!* oinv.PretValuta = locauta.pretd + *!* oinv.ID_Valuta = locauta.ID_Valuta + If Thisform.lobinv + oinv.Cont = gcContObInv + * thisform.dnf = loCauta.dnf + oinv.dnf = loCauta.dnf + Else + oinv.Cont = locauta.Cont + Endif + + *!* oinv.pretv = locauta.pretv + *!* oinv.tvav = locauta.tvav + oinv.proc_tvav = oinv.proc_tvav + + This.ct_clb_articol.Refresh() + + Thisform.clb_vanzare.Refresh + Thisform.clb_cont.Refresh + *!* thisform.CLB_TX_PretValuta.Refresh + *!* THISFORM.clb_tx_Valuta.Refresh + Endif + ENDPROC + + PROCEDURE do_cauta_furnizor + Local loCauta + loCauta = CautPartenerContabilitate(GetHash([cTitlu=>Furnizor])) + If !Empty(Nvl(loCauta.id_part,0)) And !Empty(loCauta.denumire) + oinv.furnizor = loCauta.denumire + oinv.id_furnizor = loCauta.id_part + Else + oinv.furnizor = [] + oinv.id_furnizor = null + Endif + Thisform.ct_clb_furnizor.SetFocus() + + ENDPROC + + PROCEDURE do_cauta_lucrare_rez + Local loCauta + loCauta = caut_lucrare() + If !Empty(Nvl(loCauta.id_lucrare,0)) + oinv.id_lucrare_rez = loCauta.id_lucrare + oinv.nrord_rez = loCauta.nrord + + This.ct_clb_nrord_rez.Refresh() + Else + oinv.id_lucrare_rez = 0 + oinv.nrord_rez = [] + Endif + Thisform.but_TERMIN1.SetFocus() + + ENDPROC + + PROCEDURE do_cauta_part_rez + Local loCauta + loCauta = CautPartenerContabilitate(GetHash([cTitlu=>Partener rezervare])) + If !Empty(Nvl(loCauta.id_part,0)) And !Empty(loCauta.denumire) + oinv.part_rez = loCauta.denumire + oinv.id_part_rez = loCauta.id_part + + This.ct_clb_part_rez.Refresh() + Else + oinv.part_rez = [] + oinv.id_part_rez = 0 + Endif + Thisform.ct_clb_nrord_rez.SetFocus() + + ENDPROC + + PROCEDURE inainte_de_do_termin + IF oinv.id_articol = 0 OR ISNULL(oinv.id_articol) + AMESSAGEBOX('Alegeti articolul', 0+16, 'Atentie') + this.but_cautare1.SetFocus() + RETURN .F. + ENDIF + + IF oinv.id_gestiune= 0 OR ISNULL(oinv.id_gestiune) + AMESSAGEBOX('Alegeti gestiunea', 0+16, 'Atentie') + this.clb_gestiune._cbBASE1.SetFocus() + RETURN .F. + ENDIF + + IF this.lobinv + IF EMPTY(oinv.datapif) + AMESSAGEBOX('Completati data dare in folosinta', 0+16, 'Atentie') + this.clb_obinv.tx_datapif.SetFocus() + RETURN .F. + ENDIF + ENDIF + + ENDPROC + + PROCEDURE Init + LPARAMETERS tlCopiere + + DODEFAULT() + + This.lCopiere = m.tlCopiere + + ENDPROC + + PROCEDURE Show + Lparameters nStyle + *!* this.clb_cont.teXT_SIMPLU1.ControlSource = thisform.obj.cont + *!* this.clb_acont.teXT_SIMPLU1.ControlSource = thisform.obj.acont + *!* this.clb_pret.teXT_SIMPLU1.ControlSource = thisform.obj.pret + *!* this.clb_vanzare.teXT_SIMPLU1.ControlSource = this.obj.pretv + *!* this.clb_vanzare.tx_proc_tvav.ControlSource = this.obj.proc_tvav + *!* this.clb_vanzare.tx_tvav.ControlSource = this.obj.tvav + + Select crs_cote_tva_inventar + This.clb_vanzare.Cb_cota_tva.Value = Alltrim(denumire) + + If This.lobinv + This.clb_obinv._cbbase1.RowSource = [crsResponsabili.nume] + This.clb_obinv.Visible = .T. + This.clb_obinv.Left = This.clb_vanzare.Left + This.clb_vanzare.Visible = .F. + *!* modificare ROAOBINV v 2.0.3 + This.ct_clb_nrord_rez.Visible = .F. + This.ct_clb_part_rez.Visible = .F. + this.Height = 390 + this.Refresh() + *!* modificare ROAOBINV v 2.0.3 ^ + Else + This.clb_obinv.Visible = .F. + Endif + + IF !this.lCopiere + This.do_cauta_articol() + ENDIF + This.clb_gestiune._cbbase1.SetFocus() + Thisform.alege_gestiune() && modificare v 2.2.6 + ENDPROC + + PROCEDURE clb_gestiune._CBBASE1.Valid + *!* modificare v 2.2.6 + Thisform.alege_gestiune() + *!* Select crsGestiuni + *!* Scatter Name oart + *!* oinv.id_gestiune = oart.id_gestiune + *!* *oinv.nr_pag = oart.nr_pag + *!* If !Thisform.lobinv + *!* If oart.nr_pag = 6 + *!* *!* If !Thisform.clb_vanzare.Visible + *!* Thisform.clb_vanzare.Visible = .T. + *!* *!* Thisform.ct_clb_nrord_rez.Top = Thisform.ct_clb_nrord_rez.Top + Thisform.clb_vanzare.Height + 5 + *!* *!* Thisform.ct_clb_part_rez.Top = Thisform.ct_clb_part_rez.Top + Thisform.clb_vanzare.Height + 5 + *!* *!* Endif + *!* Thisform.Height = 420 +50 + *!* Else + *!* *!* If Thisform.clb_vanzare.Visible + *!* Thisform.clb_vanzare.Visible = .F. + *!* *!* Thisform.ct_clb_nrord_rez.Top = Thisform.ct_clb_nrord_rez.Top - Thisform.clb_vanzare.Height + *!* *!* Thisform.ct_clb_part_rez.Top = Thisform.ct_clb_part_rez.Top - Thisform.clb_vanzare.Height + *!* *!* Endif + *!* Thisform.Height = 310 +50 + *!* Endif + *!* Thisform.Refresh() + *!* Endif + *!* modificare v 2.2.6 ^ + ENDPROC + + PROCEDURE Clb_obinv._cbbase1.Valid + SELECT crsResponsabili + SCATTER NAME oart + oinv.id_responsabil = oart.id_responsabil + oinv.responsabil = oart.nume + ENDPROC + + PROCEDURE Clb_Valuta.Combo1.Valid + oinv.id_Valuta = crsValuteTemp.id_valuta + ENDPROC + + PROCEDURE Clb_vanzare.cb_cota_tva.InteractiveChange + oinv.proc_tvav = 1 + Round(crs_cote_tva_inventar.cota_tva/100,2) + oinv.pretv = Round(thisform.nPretvtva / oinv.proc_tvav , gnPPretV) + oinv.tvav = thisform.nPretvtva - oinv.pretv + this.Parent.text_simplu1.Refresh() + This.Parent.tx_tva.Refresh() + SELECT crs_cote_tva_inventar + *!* BROWSE + ENDPROC + + PROCEDURE Clb_vanzare.Text1.Valid + oinv.proc_tvav = 1 + Round(crs_cote_tva_inventar.cota_tva/100,2) + oinv.pretv = Round(thisform.npretvtva / oinv.proc_tvav, gnPPretV) + oinv.tvav = this.Value - oinv.pretv + thisform.clb_vanzare.text_simplu1.Refresh() + thisform.clb_vanzare.tx_tva.Refresh() + ENDPROC + + PROCEDURE Clb_vanzare.TEXT_SIMPLU1.Valid + *!* modificare v 2.0.194 + *!* oinv.proc_tvav = 1 + Round(crs_cote_tva_inventar.cota_tva/100,2) + *!* Thisform.nPretvtva = Round(oinv.pretv * oinv.proc_tvav,gnPc) + *!* oinv.tvav = Thisform.nPretvtva - oinv.pretv + *!* This.Parent.tx_tva.Refresh() + *!* This.Parent.text1.Refresh() + *!* modificare v 2.0.194 ^ + ENDPROC + + PROCEDURE Clb_vanzare.Tx_tva.Valid + *!* modificare v 2.0.194 + *!* thisform.nPretvtva = oinv.pretv + oinv.tvav + *!* this.Parent.text1.Refresh() + *!* modificare v 2.0.194 ^ + ENDPROC + +ENDDEFINE + +DEFINE CLASS new_inventar_magazin AS frm_termin_renunt OF "_frm_child.vcx" + *< CLASSDATA: Baseclass="form" Timestamp="" Scale="Pixels" Uniqueid="" /> + + *-- OBJECTDATA items order determines ZOrder / El orden de los items OBJECTDATA determina el ZOrder + *< OBJECTDATA: ObjPath="clb_gestiune" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="Clb_cont" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="Clb_tx_simplu2" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="Clb_tx_simplu1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="Clb_acont" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="Clb_Valuta" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="Clb_Valuta.Combo1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="Clb_pret" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="Clb_vanzare" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="Clb_vanzare.Tx_tva" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="Clb_vanzare.Label1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="Clb_vanzare.Label2" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="Clb_vanzare.cb_cota_tva" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="Clb_vanzare.Text1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="Clb_vanzare.Label3" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="Clb_PretValuta" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="Clb_tx_simplu3" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="Ct_clb_articol" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="Ct_clb_furnizor" UniqueID="" Timestamp="" /> + + * + *m: alege_gestiune + *m: do_cauta_articol + *m: do_cauta_codbare + *m: do_cauta_furnizor + *p: npretvtva + *p: obj + * + + * + BorderStyle = 1 + DoCreate = .T. + Height = 500 + Name = "new_inventar_magazin" + npretvtva = 0 + obj = .F. + Width = 380 + _shape1.Name = "_shape1" + _shape2.Name = "_shape2" + Lb_titlu_alb_b121.Caption = "Adaugare" + Lb_titlu_alb_b121.Name = "Lb_titlu_alb_b121" + Lb_titlu_alb_b121.TabIndex = 15 + BUT_TERMIN1.Name = "BUT_TERMIN1" + BUT_TERMIN1.TabIndex = 13 + Gridsort1.Name = "Gridsort1" + BUT_RENUNT1.Name = "BUT_RENUNT1" + BUT_RENUNT1.TabIndex = 14 + * + + ADD OBJECT 'Clb_acont' AS clb_tx_simplu WITH ; + Left = 10, ; + Name = "Clb_acont", ; + TabIndex = 7, ; + Top = 216, ; + Width = 294, ; + ZOrderSet = 9, ; + TEXT_SIMPLU1.ControlSource = "oinv.acont", ; + TEXT_SIMPLU1.Name = "TEXT_SIMPLU1", ; + LB_SIMPLU1.Caption = "Analitic", ; + LB_SIMPLU1.Name = "LB_SIMPLU1" + *< END OBJECT: ClassLib="lb_tx.vcx" BaseClass="container" /> + + ADD OBJECT 'Clb_cont' AS clb_tx_simplu WITH ; + Left = 10, ; + Name = "Clb_cont", ; + TabIndex = 6, ; + Top = 188, ; + Width = 294, ; + ZOrderSet = 8, ; + TEXT_SIMPLU1.ControlSource = "oinv.cont", ; + TEXT_SIMPLU1.Name = "TEXT_SIMPLU1", ; + LB_SIMPLU1.Caption = "Cont", ; + LB_SIMPLU1.Name = "LB_SIMPLU1" + *< END OBJECT: ClassLib="lb_tx.vcx" BaseClass="container" /> + + ADD OBJECT 'clb_gestiune' AS cb_tx_simplu WITH ; + Height = 29, ; + Left = 10, ; + Name = "clb_gestiune", ; + TabIndex = 5, ; + Top = 160, ; + Width = 358, ; + ZOrderSet = 7, ; + _CBBASE1.ColumnCount = 2, ; + _CBBASE1.ColumnWidths = "250,100", ; + _CBBASE1.ControlSource = "oinv.nume_gestiune", ; + _CBBASE1.Height = 23, ; + _CBBASE1.Left = 70, ; + _CBBASE1.Name = "_CBBASE1", ; + _CBBASE1.RowSource = "crsGestiuni.nume_gestiune,cgest", ; + _CBBASE1.RowSourceType = 2, ; + _CBBASE1.Top = 3, ; + _CBBASE1.Width = 286, ; + _LBBASE1.Caption = "Gestiune", ; + _LBBASE1.Name = "_LBBASE1" + *< END OBJECT: ClassLib="lb_tx.vcx" BaseClass="container" /> + + ADD OBJECT 'Clb_pret' AS clb_tx_simplu WITH ; + Left = 10, ; + Name = "Clb_pret", ; + TabIndex = 8, ; + Top = 251, ; + Width = 294, ; + ZOrderSet = 10, ; + TEXT_SIMPLU1.ControlSource = "oinv.pret", ; + TEXT_SIMPLU1.InputMask = (get_mask(9,gnPpret)), ; + TEXT_SIMPLU1.Name = "TEXT_SIMPLU1", ; + LB_SIMPLU1.Caption = "Pret achizitie", ; + LB_SIMPLU1.Name = "LB_SIMPLU1" + *< END OBJECT: ClassLib="lb_tx.vcx" BaseClass="container" /> + + ADD OBJECT 'Clb_PretValuta' AS clb_tx_simplu WITH ; + Left = 10, ; + Name = "Clb_PretValuta", ; + TabIndex = 9, ; + Top = 279, ; + Width = 294, ; + ZOrderSet = 9, ; + TEXT_SIMPLU1.ControlSource = "oinv.Pretd", ; + TEXT_SIMPLU1.InputMask = (get_mask(16,gnPPretVAL)), ; + TEXT_SIMPLU1.Name = "TEXT_SIMPLU1", ; + TEXT_SIMPLU1.TabIndex = 1, ; + LB_SIMPLU1.Caption = "Pret valuta", ; + LB_SIMPLU1.Name = "LB_SIMPLU1", ; + LB_SIMPLU1.TabIndex = 2 + *< END OBJECT: ClassLib="lb_tx.vcx" BaseClass="container" /> + + ADD OBJECT 'Clb_tx_simplu1' AS clb_tx_simplu WITH ; + Left = 10, ; + Name = "Clb_tx_simplu1", ; + TabIndex = 1, ; + Top = 39, ; + Width = 294, ; + ZOrderSet = 8, ; + TEXT_SIMPLU1.ControlSource = "oinv.codbare", ; + TEXT_SIMPLU1.Name = "TEXT_SIMPLU1", ; + LB_SIMPLU1.Caption = "Cod bare", ; + LB_SIMPLU1.Name = "LB_SIMPLU1" + *< END OBJECT: ClassLib="lb_tx.vcx" BaseClass="container" /> + + ADD OBJECT 'Clb_tx_simplu2' AS clb_tx_simplu WITH ; + Left = 10, ; + Name = "Clb_tx_simplu2", ; + TabIndex = 4, ; + Top = 132, ; + Width = 294, ; + ZOrderSet = 8, ; + TEXT_SIMPLU1.ControlSource = "oinv.stoc_faptic", ; + TEXT_SIMPLU1.Name = "TEXT_SIMPLU1", ; + LB_SIMPLU1.Caption = "Cantitate", ; + LB_SIMPLU1.Name = "LB_SIMPLU1" + *< END OBJECT: ClassLib="lb_tx.vcx" BaseClass="container" /> + + ADD OBJECT 'Clb_tx_simplu3' AS clb_tx_simplu WITH ; + Left = 10, ; + Name = "Clb_tx_simplu3", ; + TabIndex = 3, ; + Top = 95, ; + Width = 294, ; + ZOrderSet = 8, ; + Text_simplu1.ControlSource = "oinv.serie", ; + Text_simplu1.Format = "K", ; + Text_simplu1.Name = "Text_simplu1", ; + Text_simplu1.TabIndex = 1, ; + Lb_simplu1.Caption = "Serie", ; + Lb_simplu1.Name = "Lb_simplu1", ; + Lb_simplu1.TabIndex = 2 + *< END OBJECT: ClassLib="lb_tx.vcx" BaseClass="container" /> + + ADD OBJECT 'Clb_Valuta' AS clb_tx_simplu WITH ; + Left = 10, ; + Name = "Clb_Valuta", ; + TabIndex = 10, ; + Top = 307, ; + Width = 294, ; + ZOrderSet = 10, ; + TEXT_SIMPLU1.ControlSource = "oinv.pret", ; + TEXT_SIMPLU1.Format = "!K", ; + TEXT_SIMPLU1.InputMask = (get_mask(9,gnPpret)), ; + TEXT_SIMPLU1.Name = "TEXT_SIMPLU1", ; + TEXT_SIMPLU1.Value = , ; + LB_SIMPLU1.Caption = "Valuta", ; + LB_SIMPLU1.Name = "LB_SIMPLU1" + *< END OBJECT: ClassLib="lb_tx.vcx" BaseClass="container" /> + + ADD OBJECT 'Clb_Valuta.Combo1' AS combobox WITH ; + ColumnCount = 1, ; + ControlSource = "oinv.valuta", ; + Height = 25, ; + HideSelection = .F., ; + Left = 102, ; + Name = "Combo1", ; + ReadOnly = .F., ; + RowSource = "crsValuteTemp.nume_val", ; + RowSourceType = 2, ; + Style = 2, ; + Top = 2, ; + Width = 183 + *< END OBJECT: BaseClass="combobox" /> + + ADD OBJECT 'Clb_vanzare' AS clb_tx_simplu WITH ; + Height = 114, ; + Left = 10, ; + Name = "Clb_vanzare", ; + TabIndex = 12, ; + Top = 382, ; + Width = 294, ; + ZOrderSet = 11, ; + TEXT_SIMPLU1.ControlSource = "oinv.pretv", ; + TEXT_SIMPLU1.Height = 23, ; + TEXT_SIMPLU1.InputMask = (get_mask(12,gnPPretV)), ; + TEXT_SIMPLU1.Left = 101, ; + TEXT_SIMPLU1.Name = "TEXT_SIMPLU1", ; + TEXT_SIMPLU1.TabIndex = 3, ; + TEXT_SIMPLU1.Top = 59, ; + TEXT_SIMPLU1.Width = 184, ; + LB_SIMPLU1.Caption = "Pret vanzare", ; + LB_SIMPLU1.Left = 8, ; + LB_SIMPLU1.Name = "LB_SIMPLU1", ; + LB_SIMPLU1.TabIndex = 5, ; + LB_SIMPLU1.Top = 63 + *< END OBJECT: ClassLib="lb_tx.vcx" BaseClass="container" /> + + ADD OBJECT 'Clb_vanzare.cb_cota_tva' AS combobox WITH ; + BorderColor = 128,128,128, ; + BorderStyle = 1, ; + ColumnCount = 3, ; + ColumnLines = .F., ; + ColumnWidths = "200,10,0", ; + Comment = "F", ; + ControlSource = "", ; + Height = 20, ; + InputMask = "", ; + Left = 102, ; + Name = "cb_cota_tva", ; + RowSource = "crs_cote_tva_inventar.denumire,cota_tva", ; + RowSourceType = 6, ; + SpecialEffect = 1, ; + Style = 2, ; + TabIndex = 1, ; + TabStop = .T., ; + Top = 4, ; + Visible = .T., ; + Width = 184 + *< END OBJECT: BaseClass="combobox" /> + + ADD OBJECT 'Clb_vanzare.Label1' AS label WITH ; + AutoSize = .T., ; + BackStyle = 0, ; + Caption = "TVA vanzare", ; + Height = 17, ; + Left = 8, ; + Name = "Label1", ; + TabIndex = 6, ; + Top = 92, ; + Width = 68 + *< END OBJECT: BaseClass="label" /> + + ADD OBJECT 'Clb_vanzare.Label2' AS label WITH ; + AutoSize = .T., ; + BackStyle = 0, ; + Caption = "Cota TVA", ; + Height = 17, ; + Left = 9, ; + Name = "Label2", ; + TabIndex = 8, ; + Top = 7, ; + Width = 52 + *< END OBJECT: BaseClass="label" /> + + ADD OBJECT 'Clb_vanzare.Label3' AS label WITH ; + AutoSize = .T., ; + BackStyle = 0, ; + Caption = "Pret vanzare cu TVA", ; + Height = 32, ; + Left = 8, ; + Name = "Label3", ; + TabIndex = 7, ; + Top = 28, ; + Width = 85, ; + WordWrap = .T. + *< END OBJECT: BaseClass="label" /> + + ADD OBJECT 'Clb_vanzare.Text1' AS textbox WITH ; + ControlSource = "thisform.nPretvTVA", ; + Format = "!K", ; + Height = 23, ; + InputMask = (get_mask(12,gnPPretV)), ; + Left = 101, ; + Name = "Text1", ; + TabIndex = 2, ; + Top = 30, ; + Width = 184 + *< END OBJECT: BaseClass="textbox" /> + + ADD OBJECT 'Clb_vanzare.Tx_tva' AS textbox WITH ; + ControlSource = "oinv.tvav", ; + Format = "!K", ; + Height = 23, ; + InputMask = (get_mask(12,gnPPretV)), ; + Left = 101, ; + Name = "Tx_tva", ; + TabIndex = 4, ; + Top = 86, ; + Width = 184 + *< END OBJECT: BaseClass="textbox" /> + + ADD OBJECT 'Ct_clb_articol' AS ct_clb_cautare_var WITH ; + cconditie = EMPTY(NVL(oinv.id_articol,0)), ; + cprocedura = thisform.do_cauta_articol, ; + cvar_afisata = oinv.denumire, ; + Left = 9, ; + Name = "Ct_clb_articol", ; + TabIndex = 2, ; + Top = 66, ; + SHAPE_CAUTARE.Name = "SHAPE_CAUTARE", ; + IMG_CAUTARE.Name = "IMG_CAUTARE", ; + LB_CAUTARE.Caption = "Articol", ; + LB_CAUTARE.Name = "LB_CAUTARE", ; + TX_CAUTARE.Height = 23, ; + TX_CAUTARE.Left = 102, ; + TX_CAUTARE.Name = "TX_CAUTARE", ; + TX_CAUTARE.Top = 4, ; + TX_CAUTARE.Width = 206 + *< END OBJECT: ClassLib="caut_ora.vcx" BaseClass="container" /> + + ADD OBJECT 'Ct_clb_furnizor' AS ct_clb_cautare_var WITH ; + Anchor = 0, ; + cconditie = 1=2, ; + cprocedura = thisform.do_cauta_furnizor, ; + cvar_afisata = oinv.furnizor, ; + Left = 10, ; + Name = "Ct_clb_furnizor", ; + TabIndex = 11, ; + Top = 342, ; + SHAPE_CAUTARE.Name = "SHAPE_CAUTARE", ; + IMG_CAUTARE.Name = "IMG_CAUTARE", ; + LB_CAUTARE.Caption = "Furnizor", ; + LB_CAUTARE.Name = "LB_CAUTARE", ; + TX_CAUTARE.Name = "TX_CAUTARE" + *< END OBJECT: ClassLib="caut_ora.vcx" BaseClass="container" /> + + PROCEDURE alege_gestiune + Select crsGestiuni + Scatter Name oart + oinv.id_gestiune = oart.id_gestiune + *oinv.nr_pag = oart.nr_pag + oinv.Cont = oart.Cont + oinv.aCont = oart.aCont + If oart.nr_pag = 6 + Thisform.clb_vanzare.Visible = .T. + Thisform.Height = 500 + Else + Thisform.Height = 375 + Endif + Thisform.Refresh() + ENDPROC + + PROCEDURE do_cauta_articol + *!* 07.09.2009 + *!* marius.mutu + *!* actualizare cod bare + + Local locauta + + lcFiltru = [2=2] + lcSchema = [] + lcOrder = [denumire] + lccoloane = [denumire,codmat,codbare,id_articol] + lcTitlu = [Alegeti articolul] + lcTitluColoane = [Denumire,Cod Material,Cod bare,Id] + lcSelect = [select a.ID_ARTICOL,a.DENUMIRE,a.CODMAT,a.CODBARE,a.INACTIV,c.pret,c.proc_tvav,c.pretftva,c.pretctva ] +; + [ from nom_articole a ]+; + [ left join ]+; + [ (select distinct b.id_articol,max(NVL(b.pret,0)) as pret,max(NVL(b.proc_tvav,0)) as proc_tvav, ]+; + [ max(NVL(b.pretftva,0)) as pretftva,max(NVL(b.pretctva,0)) as pretctva ]+; + [ from crm_politici_pret_art b ]+; + [ where b.id_pol in (select b1.id_pol from crm_vpolpretcurutil b1 where b1.id_util = ?gnIdUtil) ]+; + [ group by b.id_articol) c on a.ID_ARTICOL = c.id_articol] + + lcFiltruOriginal = [ a.INACTIV = 0 and a.sters = 0 ] + lcNumeProc = [nom_articole] + + llToateIreg = .F. + lcPrimaColoana = [denumire] + lnPornire = 1 + lcIdColumn = "id_articol" + locauta = cauta_alfa(lcSelect, lcFiltru, lcSchema, lcOrder, lccoloane, lcTitlu, lcTitluColoane, lcNumeProc, llToateIreg, lcFiltruOriginal, lcPrimaColoana,; + lnPornire, , lcIdColumn) + + *!* locauta = caut_articol() + If !Isnull(locauta) + Select crs_cote_tva_inventar + Locate For cota_tva = (locauta.proc_tvav - 1)*100 + oinv.denumire = locauta.denumire + oinv.id_articol = locauta.id_articol + oinv.proc_tvav = locauta.proc_tvav + Thisform.npretvtva = locauta.pretctva + oinv.pretv = locauta.pretftva + oinv.tvav = Thisform.npretvtva - oinv.pretv + + + If Upper(Alltrim(NVL(oinv.codbare,''))) <> Upper(Alltrim(NVL(locauta.codbare,''))) And !Empty(NVL(locauta.codbare,'')) And !Empty(NVL(oinv.codbare,'')) + If aMESSAGEBOX([Codul de bare vechi pe articolul ]+Alltrim(locauta.denumire)+; + [ este: ]+Alltrim(locauta.codbare)+[. Il inlocuim cu: ]+; + ALLTRIM(oinv.codbare)+[?],4+32,'Atentie!') = 6 + lcsel = [update nom_articole set codbare = '] + Alltrim(oinv.codbare) + [' where id_articol = ] + locauta.id_articol + lnsucces = goExecutor.oExecute(lcsel) + If lnsucces < 0 + aMESSAGEBOX(goExecutor.cEroare ,0+16, 'Eroare') + Endif + Else + oinv.codbare = locauta.codbare + Endif + *!* ELSE + *!* IF !EMPTY(NVL(loCauta.codbare,'')) + *!* lcsel = [update nom_articole set codbare = '] + Alltrim(oinv.codbare)+; + *!* [' where id_articol = ]+Alltrim(Str(locauta.id_articol)) + *!* lnsucces = goExecutor.oExecute(lcsel) + *!* If lnsucces < 0 + *!* aMESSAGEBOX(goExecutor.cEroare ,0+16, 'Eroare') + *!* ENDIF + *!* ENDIF + Endif + This.ct_clb_articol.Refresh() + + Thisform.clb_vanzare.Refresh + Thisform.clb_cont.Refresh + Thisform.clb_tx_simplu1.Refresh + Thisform.Refresh() + *!* thisform.CLB_TX_PretValuta.Refresh + *!* THISFORM.clb_tx_Valuta.Refresh + + Endif + + ENDPROC + + PROCEDURE do_cauta_codbare + IF EMPTY(oinv.codbare) + RETURN + ENDIF + lcsel = [select id_articol, codbare, denumire,proc_tvav,pretftva,pretctva from ]+; + [(select a.ID_ARTICOL,a.DENUMIRE,a.CODMAT,a.CODBARE,a.INACTIV,c.pret,c.proc_tvav,c.pretftva,c.pretctva ] +; + [ from nom_articole a ]+; + [ left join ]+; + [ (select distinct b.id_articol,max(NVL(b.pret,0)) as pret,max(NVL(b.proc_tvav,0)) as proc_tvav, ]+; + [ max(NVL(b.pretftva,0)) as pretftva,max(NVL(b.pretctva,0)) as pretctva ]+; + [ from crm_politici_pret_art b ]+; + [ where b.id_pol in (select b1.id_pol from crm_vpolpretcurutil b1 where b1.id_util = ?gnIdUtil) ]+; + [ group by b.id_articol) c on a.ID_ARTICOL = c.id_articol where a.INACTIV = 0 and a.sters = 0 and a.codbare = ']+ALLTRIM(oinv.codbare)+[')] + lccursor = [crs_ArtCodbare] + lnsucces = goExecutor.oExecute(lcsel,lccursor) + If lnsucces < 0 + AMESSAGEBOX(goExecutor.cEroare ,0+16, 'Eroare') + RETURN + ENDIF + + SELECT crs_ArtCodbare + IF RECCOUNT()<1 + aMESSAGEBOX('Nu exista codul de bare introdus! Alegeti din nomenclator articolul cu codul de bare introdus!',0+64,_screen.Caption) + thisform.do_cauta_articol() + ELSE + IF RECCOUNT()>1 + + lcFiltru = [2=2] + lcSchema = [] + lcOrder = [denumire] + lccoloane = [denumire,codmat,codbare,id_articol] + lcTitlu = [Alegeti articolul] + lcTitluColoane = [Denumire,Cod Material,Cod bare,Id] + lcSelect = [select a.ID_ARTICOL,a.DENUMIRE,a.CODMAT,a.CODBARE,a.INACTIV,c.pret,c.proc_tvav,c.pretftva,c.pretctva ] +; + [ from nom_articole a ]+; + [ left join ]+; + [ (select distinct b.id_articol,max(NVL(b.pret,0)) as pret,max(NVL(b.proc_tvav,0)) as proc_tvav, ]+; + [ max(NVL(b.pretftva,0)) as pretftva,max(NVL(b.pretctva,0)) as pretctva ]+; + [ from crm_politici_pret_art b ]+; + [ where b.id_pol in (select b1.id_pol from crm_vpolpretcurutil b1 where b1.id_util = ?gnIdUtil) ]+; + [ group by b.id_articol) c on a.ID_ARTICOL = c.id_articol] + + lcFiltruOriginal = [ a.INACTIV = 0 and a.sters = 0 and a.codbare = ']+ALLTRIM(oinv.codbare)+['] + lcNumeProc = [nom_articole] + + llToateIreg = .F. + lcPrimaColoana = [denumire] + lnPornire = 1 + lcIdColumn = "id_articol" + loCauta = cauta_alfa(lcSelect, lcFiltru, lcSchema, lcOrder, lccoloane, lcTitlu, lcTitluColoane, lcNumeProc, llToateIreg, lcFiltruOriginal, lcPrimaColoana,; + lnPornire, , lcIdColumn) && 11.07.2007 + + *!* lcFiltru = [1=2] + *!* lcSchema = [] + *!* lcOrder = [denumire] + *!* lccoloane = [denumire,codmat,codbare,id_articol] + *!* lcTitlu = [Alegeti articolul] + *!* lcTitluColoane = [Denumire,Cod Material,Cod bare,Id] + *!* lcSelect = [select distinct a.denumire,a.codmat,a.codbare,a.um,a.cont,a.acont,] + ; + *!* [a.id_articol, a.grupa, a.subgrupa, a.id_grupa, a.id_subgrupa, a.dnf, 0 as id_tipgest from vnom_articole a ] + *!* lcFiltruOriginal = [a.inactiv=0 and a.codbare = ]+ALLTRIM(STR(oinv.codbare)) + *!* lcNumeProc = [nom_articole] + *!* + *!* llToateIreg = .T. + *!* lcPrimaColoana = [denumire] + *!* lnPornire = 1 + *!* lcIdColumn = "id_articol" + *!* loCauta = cauta_alfa(lcSelect, lcFiltru, lcSchema, lcOrder, lccoloane, lcTitlu, lcTitluColoane, lcNumeProc, llToateIreg, lcFiltruOriginal, lcPrimaColoana,; + *!* lnPornire, , lcIdColumn) && 11.07.2007 + SELECT crs_cote_tva_inventar + LOCATE FOR cota_tva = (loCauta.proc_tvav - 1)*100 + + oinv.denumire = loCauta.denumire + oinv.id_articol = loCauta.id_articol + oinv.proc_tvav = loCauta.proc_tvav + thisform.npretvtva = loCauta.pretctva + oinv.pretv = loCauta.pretftva + oinv.tvav = thisform.nPretvtva - oinv.pretv + ELSE + SELECT crs_cote_tva_inventar + LOCATE FOR cota_tva = (crs_ArtCodbare.proc_tvav - 1)*100 + + oinv.denumire = crs_ArtCodbare.denumire + oinv.id_articol = crs_ArtCodbare.id_articol + oinv.proc_tvav = crs_ArtCodbare.proc_tvav + thisform.npretvtva = crs_ArtCodbare.pretctva + oinv.pretv = crs_ArtCodbare.pretftva + oinv.tvav = thisform.nPretvtva - oinv.pretv + ENDIF + ENDIF + + thisform.Refresh() + ENDPROC + + PROCEDURE do_cauta_furnizor + Local loCauta + loCauta = CautPartenerContabilitate(GetHash([cTitlu=>Furnizor])) + If !Empty(Nvl(loCauta.id_part,0)) And !Empty(loCauta.denumire) + oinv.furnizor = loCauta.denumire + oinv.id_furnizor = loCauta.id_part + Else + oinv.furnizor = [] + oinv.id_furnizor = null + Endif + Thisform.ct_clb_furnizor.SetFocus() + + ENDPROC + + PROCEDURE inainte_de_do_termin + IF oinv.id_articol = 0 OR ISNULL(oinv.id_articol) + AMESSAGEBOX('Alegeti articolul', 0+16, 'Atentie') + this.but_cautare1.SetFocus() + RETURN .F. + ENDIF + + IF oinv.id_gestiune= 0 OR ISNULL(oinv.id_gestiune) + AMESSAGEBOX('Alegeti gestiunea', 0+16, 'Atentie') + this.clb_gestiune._cbBASE1.SetFocus() + RETURN .F. + ENDIF + + ENDPROC + + PROCEDURE Show + Lparameters nStyle + *!* this.clb_cont.teXT_SIMPLU1.ControlSource = thisform.obj.cont + *!* this.clb_acont.teXT_SIMPLU1.ControlSource = thisform.obj.acont + *!* this.clb_pret.teXT_SIMPLU1.ControlSource = thisform.obj.pret + *!* this.clb_vanzare.teXT_SIMPLU1.ControlSource = this.obj.pretv + *!* this.clb_vanzare.tx_proc_tvav.ControlSource = this.obj.proc_tvav + *!* this.clb_vanzare.tx_tvav.ControlSource = this.obj.tvav + + Select crs_cote_tva_inventar + This.clb_vanzare.Cb_cota_tva.Value = Alltrim(denumire) + + *!* If This.lobinv + *!* This.clb_obinv._cbbase1.RowSource = [crsResponsabili.nume] + *!* This.clb_obinv.Visible = .T. + *!* This.clb_obinv.Left = This.clb_vanzare.Left + *!* This.clb_vanzare.Visible = .F. + *!* *!* modificare ROAOBINV v 2.0.3 + *!* this.Height = 365 + *!* this.Refresh() + *!* *!* modificare ROAOBINV v 2.0.3 ^ + *!* Else + *!* This.clb_obinv.Visible = .F. + *!* Endif + + *!* This.do_cauta_articol() + *!* This.clb_gestiune._cbbase1.SetFocus() + Thisform.alege_gestiune() && modificare v 2.2.6 + ENDPROC + + PROCEDURE clb_gestiune._CBBASE1.LostFocus + *!* modificare v 2.2.6 + Thisform.alege_gestiune() + *!* Select crsGestiuni + *!* Scatter Name oart + *!* oinv.id_gestiune = oart.id_gestiune + *!* *oinv.nr_pag = oart.nr_pag + *!* oinv.Cont = oart.Cont + *!* oinv.aCont = oart.aCont + *!* If oart.nr_pag = 6 + *!* Thisform.clb_vanzare.Visible = .T. + *!* Thisform.Height = 470 + *!* ELSE + *!* Thisform.Height = 340 + *!* Endif + *!* Thisform.Refresh() + *!* modificare v 2.2.6 ^ + ENDPROC + + PROCEDURE Clb_tx_simplu1.TEXT_SIMPLU1.LostFocus + thisform.do_cauta_codbare() + ENDPROC + + PROCEDURE Clb_Valuta.Combo1.Valid + oinv.id_Valuta = crsValuteTemp.id_valuta + ENDPROC + + PROCEDURE Clb_vanzare.cb_cota_tva.LostFocus + this.Valid() + ENDPROC + + PROCEDURE Clb_vanzare.cb_cota_tva.Valid + *!* 19.04.2010 + *!* marius.mutu + *!* se folosea 19 in loc de 1.19 + + *!* oinv.proc_tvav = 1 + Round(crs_cote_tva_inventar.cota_tva/100,2) + *!* oinv.pretv = Round(thisform.nPretvtva / oinv.proc_tvav , gnPC) + LOCAL lnPretvtva + lnPretvtva = thisform.nPretvtva + + oinv.proc_tvav = crs_cote_tva_inventar.cota_tva + oinv.tvav = ROUND(lnPretvtva * (oinv.proc_tvav - 1 ) / oinv.proc_tvav, gnPPretV) + oinv.pretv = m.lnPretvtva - oinv.tvav + + thisform.clb_vanzare.text1.Refresh() + thisform.clb_vanzare.text_simplu1.Refresh() + thisform.clb_vanzare.tx_tva.Refresh() + + ENDPROC + + PROCEDURE Clb_vanzare.Text1.Valid + *!* 19.04.2010 + *!* marius.mutu + *!* se folosea 19 in loc de 1.19 + + *!* oinv.pretv = Round(thisform.npretvtva / oinv.proc_tvav, gnPc) + *!* oinv.tvav = this.Value - oinv.pretv + LOCAL lnPretvtva + lnPretvtva = thisform.nPretvtva + + oinv.proc_tvav = crs_cote_tva_inventar.cota_tva + oinv.tvav = ROUND(lnPretvtva * (oinv.proc_tvav - 1 ) / oinv.proc_tvav, gnPPretV) + oinv.pretv = m.lnPretvtva - oinv.tvav + + thisform.clb_vanzare.text_simplu1.Refresh() + thisform.clb_vanzare.tx_tva.Refresh() + + ENDPROC + + PROCEDURE Clb_vanzare.TEXT_SIMPLU1.InteractiveChange + + + + + ENDPROC + + PROCEDURE Clb_vanzare.TEXT_SIMPLU1.Valid + *!* 19.04.2010 + *!* marius.mutu + *!* se folosea 19 in loc de 1.19 + + LOCAL lnPretvtva + lnPretvtva = thisform.nPretvtva + *!* oinv.proc_tvav = 1 + Round(crs_cote_tva_inventar.cota_tva/100,2) + *!* oinv.tvav = thisform.nPretvtva - oinv.pretv + oinv.proc_tvav = crs_cote_tva_inventar.cota_tva + oinv.tvav = thisform.nPretvtva - oinv.pretv + + This.Parent.tx_tva.Refresh() + ENDPROC + + PROCEDURE Clb_vanzare.Tx_tva.Valid + thisform.nPretvtva = oinv.pretv + oinv.tvav + this.Parent.text1.Refresh() + ENDPROC + +ENDDEFINE + +DEFINE CLASS new_inventar_vin AS frm_termin_renunt OF "_frm_child.vcx" + *< CLASSDATA: Baseclass="form" Timestamp="" Scale="Pixels" Uniqueid="" /> + + *-- OBJECTDATA items order determines ZOrder / El orden de los items OBJECTDATA determina el ZOrder + *< OBJECTDATA: ObjPath="clb_gestiune" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="Clb_cont" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="Clb_PretValuta" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="Clb_acont" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="Clb_Valuta" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="Clb_Valuta.Combo1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="Clb_pret" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="Clb_vanzare" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="Clb_vanzare.Tx_tva" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="Clb_vanzare.Label1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="Clb_vanzare.Label2" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="Clb_vanzare.cb_cota_tva" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="Clb_an_prod" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="Clb_cant_zahar" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="Ct_clb_stadiu" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="Ct_clb_soi" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="Ct_clb_categ_calitate" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="Clb_grade_alcool" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="Clb_potential" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="Ct_clb_articol" UniqueID="" Timestamp="" /> + + * + *m: alege_gestiune + *m: do_cauta_articol + *m: do_cauta_categ_calitate + *m: do_cauta_stadiu + *m: do_cauta_venchelt + *p: dnf + *p: lcopiere + *p: lobinv + *p: obj + * + + * + dnf = 0 + DoCreate = .T. + Height = 347 + lcopiere = .F. + lobinv = .F. + Name = "new_inventar_vin" + obj = + Width = 683 + _memberdata = + + + _shape1.Height = 29 + _shape1.Left = 0 + _shape1.Name = "_shape1" + _shape1.Top = 0 + _shape1.Width = 684 + _shape1.ZOrderSet = 1 + _shape2.Height = 29 + _shape2.Left = 620 + _shape2.Name = "_shape2" + _shape2.Top = 0 + _shape2.Width = 65 + _shape2.ZOrderSet = 2 + Lb_titlu_alb_b121.Caption = "Adãugare" + Lb_titlu_alb_b121.Name = "Lb_titlu_alb_b121" + Lb_titlu_alb_b121.TabIndex = 19 + Lb_titlu_alb_b121.ZOrderSet = 3 + BUT_TERMIN1.Left = 653 + BUT_TERMIN1.Name = "BUT_TERMIN1" + BUT_TERMIN1.TabIndex = 17 + BUT_TERMIN1.Top = 1 + BUT_TERMIN1.ZOrderSet = 4 + GRIDSORT1.Left = 384 + GRIDSORT1.Name = "GRIDSORT1" + GRIDSORT1.Top = 36 + But_renunt1.Left = 623 + But_renunt1.Name = "But_renunt1" + But_renunt1.TabIndex = 18 + But_renunt1.Top = 1 + But_renunt1.ZOrderSet = 6 + * + + ADD OBJECT 'Clb_acont' AS clb_tx_simplu WITH ; + Left = 9, ; + Name = "Clb_acont", ; + TabIndex = 5, ; + Top = 132, ; + Width = 294, ; + ZOrderSet = 9, ; + TEXT_SIMPLU1.ControlSource = "oinv.acont", ; + TEXT_SIMPLU1.Name = "TEXT_SIMPLU1", ; + LB_SIMPLU1.Caption = "Analitic", ; + LB_SIMPLU1.Name = "LB_SIMPLU1" + *< END OBJECT: ClassLib="lb_tx.vcx" BaseClass="container" /> + + ADD OBJECT 'Clb_an_prod' AS clb_tx_simplu WITH ; + Anchor = 4, ; + Height = 29, ; + Left = 325, ; + Name = "Clb_an_prod", ; + TabIndex = 14, ; + Top = 216, ; + Width = 314, ; + Text_simplu1.Alignment = 3, ; + Text_simplu1.ControlSource = "oinv.an_prod", ; + Text_simplu1.InputMask = "9999", ; + Text_simplu1.Left = 126, ; + Text_simplu1.MaxLength = 4, ; + Text_simplu1.Name = "Text_simplu1", ; + Text_simplu1.Top = 3, ; + Lb_simplu1.Caption = "An producþie", ; + Lb_simplu1.Left = 8, ; + Lb_simplu1.Name = "Lb_simplu1", ; + Lb_simplu1.Top = 6 + *< END OBJECT: ClassLib="lb_tx.vcx" BaseClass="container" /> + + ADD OBJECT 'Clb_cant_zahar' AS clb_tx_simplu WITH ; + Height = 29, ; + Left = 325, ; + Name = "Clb_cant_zahar", ; + TabIndex = 11, ; + Top = 132, ; + Width = 314, ; + Text_simplu1.ControlSource = "oinv.cant_zahar", ; + Text_simplu1.InputMask = (get_mask(14,gnPcant)), ; + Text_simplu1.Left = 126, ; + Text_simplu1.Name = "Text_simplu1", ; + Text_simplu1.Top = 3, ; + Lb_simplu1.Caption = "Cantitate zahãr", ; + Lb_simplu1.Left = 8, ; + Lb_simplu1.Name = "Lb_simplu1", ; + Lb_simplu1.Top = 6 + *< END OBJECT: ClassLib="lb_tx.vcx" BaseClass="container" /> + + ADD OBJECT 'Clb_cont' AS clb_tx_simplu WITH ; + Left = 9, ; + Name = "Clb_cont", ; + TabIndex = 4, ; + Top = 104, ; + Width = 294, ; + ZOrderSet = 8, ; + TEXT_SIMPLU1.ControlSource = "oinv.cont", ; + TEXT_SIMPLU1.Name = "TEXT_SIMPLU1", ; + LB_SIMPLU1.Caption = "Cont", ; + LB_SIMPLU1.Name = "LB_SIMPLU1" + *< END OBJECT: ClassLib="lb_tx.vcx" BaseClass="container" /> + + ADD OBJECT 'clb_gestiune' AS cb_tx_simplu WITH ; + Height = 29, ; + Left = 9, ; + Name = "clb_gestiune", ; + TabIndex = 3, ; + Top = 76, ; + Width = 358, ; + ZOrderSet = 7, ; + _CBBASE1.ColumnCount = 2, ; + _CBBASE1.ColumnWidths = "250,100", ; + _CBBASE1.Comment = "oinv.nume_gestiune", ; + _CBBASE1.Height = 23, ; + _CBBASE1.Left = 70, ; + _CBBASE1.Name = "_CBBASE1", ; + _CBBASE1.RowSource = "crsGestiuni.nume_gestiune,cgest", ; + _CBBASE1.RowSourceType = 2, ; + _CBBASE1.Top = 3, ; + _CBBASE1.Width = 286, ; + _LBBASE1.Caption = "Gestiune", ; + _LBBASE1.Name = "_LBBASE1" + *< END OBJECT: ClassLib="lb_tx.vcx" BaseClass="container" /> + + ADD OBJECT 'Clb_grade_alcool' AS clb_tx_simplu WITH ; + Anchor = 4, ; + Height = 29, ; + Left = 325, ; + Name = "Clb_grade_alcool", ; + TabIndex = 12, ; + Top = 160, ; + Width = 314, ; + Text_simplu1.ControlSource = "oinv.grade_alcool", ; + Text_simplu1.InputMask = "999.999", ; + Text_simplu1.Left = 126, ; + Text_simplu1.MaxLength = 6, ; + Text_simplu1.Name = "Text_simplu1", ; + Text_simplu1.Top = 3, ; + Lb_simplu1.Caption = "Grade alcool", ; + Lb_simplu1.Left = 8, ; + Lb_simplu1.Name = "Lb_simplu1", ; + Lb_simplu1.Top = 6 + *< END OBJECT: ClassLib="lb_tx.vcx" BaseClass="container" /> + + ADD OBJECT 'Clb_potential' AS clb_tx_simplu WITH ; + Anchor = 4, ; + Height = 29, ; + Left = 325, ; + Name = "Clb_potential", ; + TabIndex = 13, ; + Top = 188, ; + Width = 314, ; + Text_simplu1.ControlSource = "oinv.potential", ; + Text_simplu1.InputMask = "999 999 999 999.999", ; + Text_simplu1.Left = 126, ; + Text_simplu1.MaxLength = 15, ; + Text_simplu1.Name = "Text_simplu1", ; + Text_simplu1.Top = 3, ; + Lb_simplu1.Caption = "Potenþial", ; + Lb_simplu1.Left = 8, ; + Lb_simplu1.Name = "Lb_simplu1", ; + Lb_simplu1.Top = 6 + *< END OBJECT: ClassLib="lb_tx.vcx" BaseClass="container" /> + + ADD OBJECT 'Clb_pret' AS clb_tx_simplu WITH ; + Left = 9, ; + Name = "Clb_pret", ; + TabIndex = 6, ; + Top = 160, ; + Width = 294, ; + ZOrderSet = 10, ; + TEXT_SIMPLU1.ControlSource = "oinv.pret", ; + TEXT_SIMPLU1.InputMask = (get_mask(9,gnPpret)), ; + TEXT_SIMPLU1.Name = "TEXT_SIMPLU1", ; + LB_SIMPLU1.Caption = "Preþ achiziþie", ; + LB_SIMPLU1.Name = "LB_SIMPLU1" + *< END OBJECT: ClassLib="lb_tx.vcx" BaseClass="container" /> + + ADD OBJECT 'Clb_PretValuta' AS clb_tx_simplu WITH ; + Left = 9, ; + Name = "Clb_PretValuta", ; + TabIndex = 7, ; + Top = 188, ; + Width = 294, ; + ZOrderSet = 9, ; + Text_simplu1.ControlSource = "oinv.Pretd", ; + Text_simplu1.InputMask = (get_mask(16,gnPPretVAL)), ; + Text_simplu1.Name = "Text_simplu1", ; + Text_simplu1.TabIndex = 1, ; + Lb_simplu1.Caption = "Preþ valutã", ; + Lb_simplu1.Name = "Lb_simplu1", ; + Lb_simplu1.TabIndex = 2 + *< END OBJECT: ClassLib="lb_tx.vcx" BaseClass="container" /> + + ADD OBJECT 'Clb_Valuta' AS clb_tx_simplu WITH ; + Left = 9, ; + Name = "Clb_Valuta", ; + TabIndex = 8, ; + Top = 216, ; + Width = 294, ; + ZOrderSet = 10, ; + Text_simplu1.ControlSource = "oinv.pret", ; + Text_simplu1.Format = "!K", ; + Text_simplu1.InputMask = (get_mask(9,gnPpret)), ; + Text_simplu1.Name = "Text_simplu1", ; + Text_simplu1.Value = , ; + Lb_simplu1.Caption = "Valuta", ; + Lb_simplu1.Name = "Lb_simplu1" + *< END OBJECT: ClassLib="lb_tx.vcx" BaseClass="container" /> + + ADD OBJECT 'Clb_Valuta.Combo1' AS combobox WITH ; + ColumnCount = 1, ; + ControlSource = "oinv.valuta", ; + Height = 25, ; + HideSelection = .F., ; + Left = 102, ; + Name = "Combo1", ; + ReadOnly = .F., ; + RowSource = "crsValuteTemp.nume_val", ; + RowSourceType = 2, ; + Style = 2, ; + Top = 2, ; + Width = 183 + *< END OBJECT: BaseClass="combobox" /> + + ADD OBJECT 'Clb_vanzare' AS clb_tx_simplu WITH ; + Height = 85, ; + Left = 9, ; + Name = "Clb_vanzare", ; + TabIndex = 9, ; + Top = 248, ; + Width = 294, ; + ZOrderSet = 11, ; + TEXT_SIMPLU1.ControlSource = "oinv.pretv", ; + TEXT_SIMPLU1.Height = 23, ; + TEXT_SIMPLU1.InputMask = (get_mask(12,gnPPretV)), ; + TEXT_SIMPLU1.Left = 101, ; + TEXT_SIMPLU1.Name = "TEXT_SIMPLU1", ; + TEXT_SIMPLU1.Width = 184, ; + LB_SIMPLU1.Caption = "Preþ vânzare", ; + LB_SIMPLU1.Left = 8, ; + LB_SIMPLU1.Name = "LB_SIMPLU1" + *< END OBJECT: ClassLib="lb_tx.vcx" BaseClass="container" /> + + ADD OBJECT 'Clb_vanzare.cb_cota_tva' AS combobox WITH ; + BorderColor = 128,128,128, ; + BorderStyle = 1, ; + ColumnCount = 3, ; + ColumnLines = .F., ; + ColumnWidths = "200,10,0", ; + Comment = "F", ; + ControlSource = "", ; + Height = 20, ; + InputMask = "", ; + Left = 101, ; + Name = "cb_cota_tva", ; + RowSource = "crs_cote_tva_inventar.denumire,cota_tva", ; + RowSourceType = 6, ; + SpecialEffect = 1, ; + Style = 2, ; + TabIndex = 25, ; + TabStop = .F., ; + Top = 56, ; + Visible = .T., ; + Width = 184 + *< END OBJECT: BaseClass="combobox" /> + + ADD OBJECT 'Clb_vanzare.Label1' AS label WITH ; + AutoSize = .T., ; + BackStyle = 0, ; + Caption = "TVA vânzare", ; + Height = 17, ; + Left = 8, ; + Name = "Label1", ; + Top = 36, ; + Width = 68 + *< END OBJECT: BaseClass="label" /> + + ADD OBJECT 'Clb_vanzare.Label2' AS label WITH ; + AutoSize = .T., ; + BackStyle = 0, ; + Caption = "Cota TVA", ; + Height = 17, ; + Left = 8, ; + Name = "Label2", ; + Top = 59, ; + Width = 52 + *< END OBJECT: BaseClass="label" /> + + ADD OBJECT 'Clb_vanzare.Tx_tva' AS textbox WITH ; + ControlSource = "oinv.tvav", ; + Format = "!K", ; + Height = 23, ; + InputMask = (get_mask(12,gnPPretV)), ; + Left = 101, ; + Name = "Tx_tva", ; + Top = 30, ; + Width = 184 + *< END OBJECT: BaseClass="textbox" /> + + ADD OBJECT 'Ct_clb_articol' AS ct_clb_cautare_var WITH ; + cconditie = EMPTY(NVL(oinv.id_articol,0)), ; + cprocedura = thisform.do_cauta_articol, ; + cvar_afisata = oinv.denumire, ; + Left = 8, ; + Name = "Ct_clb_articol", ; + TabIndex = 1, ; + Top = 36, ; + shape_cautare.Name = "shape_cautare", ; + img_cautare.Name = "img_cautare", ; + lb_cautare.Caption = "Articol", ; + lb_cautare.Name = "lb_cautare", ; + tx_cautare.Name = "tx_cautare" + *< END OBJECT: ClassLib="caut_ora.vcx" BaseClass="container" /> + + ADD OBJECT 'Ct_clb_categ_calitate' AS ct_clb_cautare WITH ; + Anchor = 4, ; + cconditie = EMPTY(NVL(oinv.id_categ_calitate,0)), ; + cprocedura = thisform.do_cauta_categ_calitate, ; + cvar_afisata = oinv.categorie_calitate, ; + Left = 324, ; + Name = "Ct_clb_categ_calitate", ; + TabIndex = 16, ; + Top = 271, ; + img_cautare.Name = "img_cautare", ; + clb_tx_cautare.Lb_simplu1.Caption = "Categorie calitate", ; + clb_tx_cautare.Lb_simplu1.Name = "Lb_simplu1", ; + clb_tx_cautare.Name = "clb_tx_cautare", ; + clb_tx_cautare.Text_simplu1.Name = "Text_simplu1" + *< END OBJECT: ClassLib="caut_ora.vcx" BaseClass="container" /> + + ADD OBJECT 'Ct_clb_soi' AS ct_clb_cautare WITH ; + Anchor = 4, ; + cconditie = EMPTY(NVL(oinv.id_venchelt,0)), ; + cprocedura = thisform.do_cauta_venchelt, ; + cvar_afisata = oinv.explicatie, ; + Left = 324, ; + Name = "Ct_clb_soi", ; + TabIndex = 15, ; + Top = 243, ; + img_cautare.Name = "img_cautare", ; + clb_tx_cautare.Lb_simplu1.Caption = "Soi", ; + clb_tx_cautare.Lb_simplu1.Name = "Lb_simplu1", ; + clb_tx_cautare.Name = "clb_tx_cautare", ; + clb_tx_cautare.Text_simplu1.Name = "Text_simplu1" + *< END OBJECT: ClassLib="caut_ora.vcx" BaseClass="container" /> + + ADD OBJECT 'Ct_clb_stadiu' AS ct_clb_cautare WITH ; + cconditie = EMPTY(NVL(oinv.id_vin_stadiu,0)), ; + cprocedura = thisform.do_cauta_stadiu, ; + cvar_afisata = oinv.stadiu, ; + Left = 324, ; + Name = "Ct_clb_stadiu", ; + TabIndex = 10, ; + Top = 103, ; + img_cautare.Name = "img_cautare", ; + clb_tx_cautare.Lb_simplu1.Caption = "Stadiu", ; + clb_tx_cautare.Lb_simplu1.Name = "Lb_simplu1", ; + clb_tx_cautare.Name = "clb_tx_cautare", ; + clb_tx_cautare.Text_simplu1.Name = "Text_simplu1" + *< END OBJECT: ClassLib="caut_ora.vcx" BaseClass="container" /> + + PROCEDURE alege_gestiune + Select crsGestiuni + Scatter Name oart + oinv.id_gestiune = oart.id_gestiune + *oinv.nr_pag = oart.nr_pag + If !Thisform.lobinv + If oart.nr_pag = 6 + Thisform.clb_vanzare.Visible = .T. + *!* thisform.Height = 320 +50 + Else + Thisform.clb_vanzare.Visible = .F. + *!* thisform.Height = 229 +50 + Endif + Endif + ENDPROC + + PROCEDURE Destroy + If Used('crs_cote_tva_inventar') + Use In 'crs_cote_tva_inventar' + Endif + ENDPROC + + PROCEDURE do_cauta_articol + locauta = caut_articol() + If !Isnull(locauta) + oinv.denumire = locauta.denumire + oinv.id_articol = locauta.id_articol + *!* oinv.PretValuta = locauta.pretd + *!* oinv.ID_Valuta = locauta.ID_Valuta + If Thisform.lobinv + oinv.Cont = gcContObInv + * thisform.dnf = loCauta.dnf + oinv.dnf = locauta.dnf + Else + oinv.Cont = locauta.Cont + Endif + + *!* oinv.pretv = locauta.pretv + *!* oinv.tvav = locauta.tvav + oinv.proc_tvav = oinv.proc_tvav + + Thisform.ct_clb_articol.Refresh() + Thisform.clb_vanzare.Refresh + Thisform.clb_cont.Refresh + *!* thisform.CLB_TX_PretValuta.Refresh + *!* THISFORM.clb_tx_Valuta.Refresh + EndIf + + ENDPROC + + PROCEDURE do_cauta_categ_calitate + Local loCauta + loCauta = cauta_categ_calitate() + If !Empty(Nvl(loCauta.id_categ_calitate,0)) + oinv.id_categ_calitate = loCauta.id_categ_calitate + oinv.categorie_calitate = loCauta.categorie_calitate + + Thisform.but_termin1.SetFocus() + Else + oinv.id_categ_calitate = Null + oinv.categorie_calitate = [] + Endif + + ENDPROC + + PROCEDURE do_cauta_stadiu + Local loCauta + loCauta = cauta_stadiu_vin() + If !Empty(Nvl(loCauta.id_vin_stadiu,0)) + oinv.id_vin_stadiu = loCauta.id_vin_stadiu + oinv.stadiu = loCauta.stadiu + + Thisform.clb_cant_zahar.SetFocus() + Else + oinv.id_vin_stadiu = Null + oinv.stadiu = [] + Endif + + ENDPROC + + PROCEDURE do_cauta_venchelt + Local loCauta + loCauta = caut_venchelt() + If !Empty(Nvl(loCauta.id_venchelt,0)) + oinv.id_venchelt = loCauta.id_venchelt + oinv.explicatie = loCauta.explicatie + + Thisform.ct_clb_categ_calitate.SetFocus() + Else + oinv.id_venchelt = NULL + oinv.explicatie = [] + Endif + + ENDPROC + + PROCEDURE inainte_de_do_termin + If oinv.id_articol = 0 Or Isnull(oinv.id_articol) + AMESSAGEBOX('Alegeti articolul', 0+16, 'Atentie') + This.but_cautare1.SetFocus() + Return .F. + Endif + + If oinv.id_gestiune= 0 Or Isnull(oinv.id_gestiune) + AMESSAGEBOX('Alegeti gestiunea', 0+16, 'Atentie') + This.clb_gestiune._cbBASE1.SetFocus() + Return .F. + Endif + ENDPROC + + PROCEDURE Init + LPARAMETERS tlCopiere + + This.lCopiere = m.tlCopiere + DODEFAULT() + ENDPROC + + PROCEDURE Load + If Used('crs_cote_tva_inventar') + Use In 'crs_cote_tva_inventar' + Endif + If !Used('crs_cote_tva_inventar') + lcsel3 = [select cota_tva,denumire from ] + gcS + [.vjtva_coloane ] + ; + [where jv=1 and afisat = 1 and id_jtva_coloana > 0 order by ordine] + *!* lcsel3 = [select procent,proc_tva from ] + gcS + [.vcote_tva where an = ?gnAn and luna = ?gnLuna] + lccursor3 = [crs_cote_tva_inventar] + lnsucces3 = goExecutor.oExecute(lcsel3,lccursor3) + If lnsucces3 < 0 + AMESSAGEBOX(goExecutor.cEroare ,0+16, 'Eroare') + Endif + Endif + ENDPROC + + PROCEDURE Show + Lparameters nStyle + *!* this.clb_cont.teXT_SIMPLU1.ControlSource = thisform.obj.cont + *!* this.clb_acont.teXT_SIMPLU1.ControlSource = thisform.obj.acont + *!* this.clb_pret.teXT_SIMPLU1.ControlSource = thisform.obj.pret + *!* this.clb_vanzare.teXT_SIMPLU1.ControlSource = this.obj.pretv + *!* this.clb_vanzare.tx_proc_tvav.ControlSource = this.obj.proc_tvav + *!* this.clb_vanzare.tx_tvav.ControlSource = this.obj.tvav + + Select crs_cote_tva_inventar + This.clb_vanzare.Cb_cota_tva.Value = Alltrim(denumire) + + IF !this.lCopiere + This.do_cauta_articol() + ENDIF + This.clb_gestiune._cbbase1.SetFocus() + Thisform.alege_gestiune() && modificare v 2.2.6 + ENDPROC + + PROCEDURE clb_gestiune._CBBASE1.Valid + *!* modificare v 2.2.6 + Thisform.alege_gestiune() + *!* SELECT crsGestiuni + *!* SCATTER NAME oart + *!* oinv.id_gestiune = oart.id_gestiune + *!* *oinv.nr_pag = oart.nr_pag + *!* IF !thisform.lobinv + *!* IF oart.nr_pag = 6 + *!* thisform.clb_vanzare.Visible = .t. + *!* *!* thisform.Height = 320 +50 + *!* ELSE + *!* thisform.clb_vanzare.Visible = .f. + *!* *!* thisform.Height = 229 +50 + *!* ENDIF + *!* ENDIF + *!* modificare v 2.2.6 ^ + ENDPROC + + PROCEDURE Clb_Valuta.Combo1.Valid + oinv.id_Valuta = crsValuteTemp.id_valuta + ENDPROC + + PROCEDURE Clb_vanzare.cb_cota_tva.InteractiveChange + oinv.proc_tvav = crs_cote_tva_inventar.cota_tva + oinv.tvav = oinv.pretv * oinv.proc_tvav / 100 + This.Parent.tx_tva.Refresh() + ENDPROC + + PROCEDURE Clb_vanzare.TEXT_SIMPLU1.InteractiveChange + oinv.proc_tvav = crs_cote_tva_inventar.cota_tva + oinv.tvav = This.Value * oinv.proc_tvav / 100 + This.Parent.tx_tva.Refresh() + ENDPROC + +ENDDEFINE + +DEFINE CLASS recapitulatie_inventar AS custom + *< CLASSDATA: Baseclass="custom" Timestamp="" Scale="Pixels" Uniqueid="" /> + + * + *m: newpage + *p: _memberdata && XML Metadata for customizable properties + * + + * + Name = "recapitulatie_inventar" + _memberdata = + + + * + + PROCEDURE Destroy + LOCAL lcSelect + lcSelect = SELECT() + USE IN (SELECT('cRecapitulatieInventarPagini')) + + SELECT (lcSelect) + ENDPROC + + PROCEDURE Init + LOCAL lcSelect + lcSelect = SELECT() + + CREATE CURSOR cRecapitulatieInventarPagini (grup c(250) NULL, pagina i, valoare n(18,4)) + + SELECT (lcSelect) + ENDPROC + + PROCEDURE newpage + LPARAMETERS tcGrup, tnPagina, tnValoare + LOCAL lcSelect + lcSelect = SELECT() + + SELECT cRecapitulatieInventarPagini + LOCATE FOR pagina = tnPagina + IF !FOUND() + INSERT INTO cRecapitulatieInventarPagini (grup, pagina, valoare) VALUES (tcGrup, tnPagina, tnValoare) + ENDIF + + SELECT (lcSelect) + ENDPROC + +ENDDEFINE + +DEFINE CLASS tip_inventar AS _frmbase OF "_frm_base.vcx" + *< CLASSDATA: Baseclass="form" Timestamp="" Scale="Pixels" Uniqueid="" /> + + *-- OBJECTDATA items order determines ZOrder / El orden de los items OBJECTDATA determina el ZOrder + *< OBJECTDATA: ObjPath="Optiongroup1" UniqueID="" Timestamp="" /> + + * + BorderStyle = 1 + DoCreate = .T. + Height = 152 + Name = "tip_inventar" + Width = 292 + _shape1.Height = 29 + _shape1.Left = 0 + _shape1.Name = "_shape1" + _shape1.Top = 0 + _shape1.Width = 288 + _shape2.Height = 29 + _shape2.Left = 264 + _shape2.Name = "_shape2" + _shape2.Top = 0 + _shape2.Width = 27 + Lb_titlu_alb_b121.Caption = "Tipul inventarului" + Lb_titlu_alb_b121.Name = "Lb_titlu_alb_b121" + BUT_TERMIN1.Left = 260 + BUT_TERMIN1.Name = "BUT_TERMIN1" + BUT_TERMIN1.Top = 1 + Gridsort1.Name = "Gridsort1" + * + + ADD OBJECT 'Optiongroup1' AS optiongroup WITH ; + BackStyle = 0, ; + ButtonCount = 5, ; + Height = 107, ; + Left = 26, ; + Name = "Optiongroup1", ; + Top = 35, ; + Value = 1, ; + Width = 243, ; + Option1.AutoSize = .T., ; + Option1.BackStyle = 0, ; + Option1.Caption = "Inventariere materiale/marfã", ; + Option1.FontCharSet = 238, ; + Option1.Height = 17, ; + Option1.Left = 5, ; + Option1.Name = "Option1", ; + Option1.TabIndex = 1, ; + Option1.Top = 5, ; + Option1.Value = 1, ; + Option1.Width = 172, ; + Option2.AutoSize = .T., ; + Option2.BackStyle = 0, ; + Option2.Caption = "Inventariere obiecte inventar în folosinþã", ; + Option2.FontCharSet = 238, ; + Option2.Height = 17, ; + Option2.Left = 5, ; + Option2.Name = "Option2", ; + Option2.TabIndex = 2, ; + Option2.Top = 24, ; + Option2.Value = 0, ; + Option2.Width = 234, ; + Option3.AutoSize = .T., ; + Option3.BackStyle = 0, ; + Option3.Caption = "Inventar cu bon de consum", ; + Option3.Height = 17, ; + Option3.Left = 5, ; + Option3.Name = "Option3", ; + Option3.Top = 43, ; + Option3.Value = 0, ; + Option3.Width = 166, ; + Option4.AutoSize = .T., ; + Option4.BackStyle = 0, ; + Option4.Caption = "Inventar ROAVIN", ; + Option4.Height = 17, ; + Option4.Left = 5, ; + Option4.Name = "Option4", ; + Option4.Top = 62, ; + Option4.Value = 0, ; + Option4.Width = 108, ; + Option5.AutoSize = .T., ; + Option5.BackStyle = 0, ; + Option5.Caption = "Inventar magazin", ; + Option5.Height = 17, ; + Option5.Left = 5, ; + Option5.Name = "Option5", ; + Option5.Top = 81, ; + Option5.Value = 0, ; + Option5.Width = 111 + *< END OBJECT: BaseClass="optiongroup" /> + + PROCEDURE inainte_de_do_termin + *!* 1 = INVENTAR STOC + *!* 2 = INVENTAR STOC OBIECTE DE INVENTAR IN FOLOSINTA + *!* 3 = INVENTAR CU BON CONSUM + *!* 4 = INVENTAR ROAVIN + *!* 5 = INVENTAR MAGAZIN + + *!* ROAVIN 2.0.0 + + *!* 24.02.2010 + *!* marius.mutu + *!* inventar bon de consum TIP = 3 + *!* inventar magazin TIP = 5 + + nTipInv = Thisform.optiongroup1.Value + + ENDPROC + + PROCEDURE Optiongroup1.Option3.When + *!* 24.02.2010 + *!* marius.mutu + *!* nu se face inventar cu bon de consum de aici + *!* daca se da de aici - da erori legate de actactan in inventar.inainte_de_do_termin + RETURN .F. + ENDPROC + +ENDDEFINE diff --git a/clase/omodificari.vc2 b/clase/omodificari.vc2 new file mode 100644 index 0000000..a9be3e5 --- /dev/null +++ b/clase/omodificari.vc2 @@ -0,0 +1,14942 @@ +*-------------------------------------------------------------------------------------------------------------------------------------------------------- +* (EN) AUTOGENERATED - ATTENTION!! - NOT INTENDED FOR EXECUTION!! USE ONLY FOR MERGING CHANGES AND STORING WITH SCM TOOLS!! +*-------------------------------------------------------------------------------------------------------------------------------------------------------- +*< FOXBIN2PRG: Version="1.21" SourceFile="omodificari.vcx" CPID="1252" /> (Solo para binarios VFP 9 / Only for VFP 9 binaries) +* +* +DEFINE CLASS frm_editare_set AS _frmbase OF "_frm_base.vcx" + *< CLASSDATA: Baseclass="form" Timestamp="" Scale="Pixels" Uniqueid="" /> + + *-- OBJECTDATA items order determines ZOrder / El orden de los items OBJECTDATA determina el ZOrder + *< OBJECTDATA: ObjPath="txtIdSet" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="txtNumeSet" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="_label1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="_label2" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="_label3" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="grdRequest" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="grdRequest.cLabelItem.Header1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="grdRequest.cLabelItem.Text1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="grdRequest.cLabelItem._combobox1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="grdRequest.cValoareDefaultText.Header1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="grdRequest.cValoareDefaultText.Text1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="But_renunt1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="cmdAdauga" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="_label4" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="But_sterge1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="cboCategorie" UniqueID="" Timestamp="" /> + + * + *m: leditmode_assign + *m: selectfromlookup + *p: leditmode + *p: oxset + *p: textcharacter + *p: textdate + *p: textnumber + *p: texttime + * + + * + BorderStyle = 3 + DoCreate = .T. + Height = 410 + leditmode = .F. + Name = "frm_editare_set" + oxset = NULL + textcharacter = + textdate = {} + textnumber = 0 + texttime = {} + Width = 482 + _shape1.Anchor = 10 + _shape1.Height = 29 + _shape1.Left = 0 + _shape1.Name = "_shape1" + _shape1.Top = 0 + _shape1.Width = 494 + _shape2.Height = 29 + _shape2.Left = 432 + _shape2.Name = "_shape2" + _shape2.Top = 0 + _shape2.Width = 48 + Lb_titlu_alb_b121.Caption = "Editare set" + Lb_titlu_alb_b121.Name = "Lb_titlu_alb_b121" + Lb_titlu_alb_b121.TabIndex = 9 + BUT_TERMIN1.Anchor = 8 + BUT_TERMIN1.Left = 451 + BUT_TERMIN1.Name = "BUT_TERMIN1" + BUT_TERMIN1.TabIndex = 6 + BUT_TERMIN1.Top = 1 + Gridsort1.Left = 276 + Gridsort1.Name = "Gridsort1" + Gridsort1.Top = 24 + * + + ADD OBJECT '_label1' AS _label WITH ; + Caption = "ID", ; + Left = 6, ; + Name = "_label1", ; + TabIndex = 10, ; + Top = 40 + *< END OBJECT: ClassLib="_baza.vcx" BaseClass="label" /> + + ADD OBJECT '_label2' AS _label WITH ; + Caption = "Nume", ; + Left = 6, ; + Name = "_label2", ; + TabIndex = 11, ; + Top = 64 + *< END OBJECT: ClassLib="_baza.vcx" BaseClass="label" /> + + ADD OBJECT '_label3' AS _label WITH ; + Caption = "Categorie", ; + Left = 6, ; + Name = "_label3", ; + TabIndex = 12, ; + Top = 89 + *< END OBJECT: ClassLib="_baza.vcx" BaseClass="label" /> + + ADD OBJECT '_label4' AS _label WITH ; + Caption = "Cerere date", ; + FontBold = .T., ; + FontUnderline = .T., ; + Left = 6, ; + Name = "_label4", ; + TabIndex = 13, ; + Top = 121 + *< END OBJECT: ClassLib="_baza.vcx" BaseClass="label" /> + + ADD OBJECT 'But_renunt1' AS but_renunt WITH ; + Anchor = 8, ; + Left = 421, ; + Name = "But_renunt1", ; + TabIndex = 7, ; + Top = 1 + *< END OBJECT: ClassLib="cmd_butoane.vcx" BaseClass="commandbutton" /> + + ADD OBJECT 'But_sterge1' AS but_sterge WITH ; + Anchor = 8, ; + Left = 413, ; + Name = "But_sterge1", ; + TabIndex = 4, ; + Top = 111 + *< END OBJECT: ClassLib="cmd_butoane.vcx" BaseClass="commandbutton" /> + + ADD OBJECT 'cboCategorie' AS _combobox WITH ; + Left = 66, ; + Name = "cboCategorie", ; + RowSource = "crsCategorii.categorie", ; + RowSourceType = 6, ; + TabIndex = 2, ; + Top = 85, ; + Width = 318 + *< END OBJECT: ClassLib="_baza.vcx" BaseClass="combobox" /> + + ADD OBJECT 'cmdAdauga' AS but_nou WITH ; + Anchor = 8, ; + Left = 443, ; + Name = "cmdAdauga", ; + TabIndex = 3, ; + ToolTipText = "Adaugare cerere date (CTRL+N)", ; + Top = 111 + *< END OBJECT: ClassLib="cmd_butoane.vcx" BaseClass="commandbutton" /> + + ADD OBJECT 'grdRequest' AS _grdbase WITH ; + Anchor = 15, ; + ColumnCount = 2, ; + DeleteMark = .F., ; + Height = 264, ; + Left = 6, ; + Name = "grdRequest", ; + Panel = 1, ; + RecordSource = "crsRequest", ; + TabIndex = 5, ; + Top = 140, ; + Width = 467, ; + Column1.ColumnOrder = 1, ; + Column1.ControlSource = "label_item", ; + Column1.CurrentControl = "Text1", ; + Column1.Name = "cLabelItem", ; + Column1.ReadOnly = .T., ; + Column1.ToolTipText = "Dublu click pentru editare", ; + Column1.Width = 226, ; + Column2.ColumnOrder = 2, ; + Column2.ControlSource = "valoare_default_text", ; + Column2.Name = "cValoareDefaultText", ; + Column2.ToolTipText = "Dublu click pentru editare", ; + Column2.Width = 204 + *< END OBJECT: ClassLib="_grd_base.vcx" BaseClass="grid" /> + + ADD OBJECT 'grdRequest.cLabelItem._combobox1' AS _combobox WITH ; + ControlSource = "crsRequest.id_item", ; + Enabled = .T., ; + Left = 81, ; + Name = "_combobox1", ; + ReadOnly = .F., ; + RowSource = "crsItems.label_item,id_item", ; + RowSourceType = 2, ; + ToolTipText = "Dublu click pentru editare", ; + Top = 35 + *< END OBJECT: ClassLib="_baza.vcx" BaseClass="combobox" /> + + ADD OBJECT 'grdRequest.cLabelItem.Header1' AS header WITH ; + Alignment = 2, ; + Caption = "Element", ; + Name = "Header1" + *< END OBJECT: BaseClass="header" /> + + ADD OBJECT 'grdRequest.cLabelItem.Text1' AS textbox WITH ; + BackColor = 255,255,255, ; + BorderStyle = 0, ; + ForeColor = 0,0,0, ; + Margin = 0, ; + Name = "Text1", ; + ReadOnly = .T., ; + SelectedBackColor = 100,185,255, ; + ToolTipText = "Dublu click pentru editare" + *< END OBJECT: BaseClass="textbox" /> + + ADD OBJECT 'grdRequest.cValoareDefaultText.Header1' AS header WITH ; + Alignment = 2, ; + Caption = "Valoare implicita", ; + Name = "Header1" + *< END OBJECT: BaseClass="header" /> + + ADD OBJECT 'grdRequest.cValoareDefaultText.Text1' AS textbox WITH ; + BackColor = 255,255,255, ; + BorderStyle = 0, ; + ForeColor = 0,0,0, ; + Margin = 0, ; + Name = "Text1", ; + ReadOnly = .F., ; + SelectedBackColor = 100,185,255, ; + ToolTipText = "Dublu click pentru editare" + *< END OBJECT: BaseClass="textbox" /> + + ADD OBJECT 'txtIdSet' AS _textbox WITH ; + ControlSource = "crsSet.id_set", ; + Height = 23, ; + Left = 66, ; + Name = "txtIdSet", ; + ReadOnly = .T., ; + TabIndex = 8, ; + TabStop = .F., ; + Top = 37, ; + Width = 138 + *< END OBJECT: ClassLib="_baza.vcx" BaseClass="textbox" /> + + ADD OBJECT 'txtNumeSet' AS _textbox WITH ; + ControlSource = "crsSet.nume_set", ; + Height = 23, ; + Left = 66, ; + Name = "txtNumeSet", ; + TabIndex = 1, ; + Top = 61, ; + Width = 318 + *< END OBJECT: ClassLib="_baza.vcx" BaseClass="textbox" /> + + PROCEDURE do_adauga + Local lnNrItem + Calculate Max(nr_item) To m.lnNrItem IN crsRequest + lnNrItem = m.lnNrItem + 1 + + Append Blank In crsRequest + Replace nr_item With m.lnNrItem In crsRequest + + This.lEditMode = .T. + Thisform.grdRequest.SetFocus() + ENDPROC + + PROCEDURE do_sterge + SELECT crsRequest + IF !EMPTY(label_item) + IF AMESSAGEBOX('Doriti sa stergeti ' + ALLTRIM(crsRequest.label_item) + '?',4+32, _screen.caption) = 6 + SELECT crsRequest + DELETE + ENDIF + ENDIF + This.lEditMode = .F. + thisform.grdRequest.SetFocus() + ENDPROC + + PROCEDURE inainte_de_do_termin + Local llSucces, lcSql + PRIVATE pcXMLSets, pcXmlRequest + STORE '' TO pcXmlSets, pcXmlRequest + + Cursortoxml("crsSet", "pcXmlSets",1,0+2+8,0,"") + Cursortoxml("crsRequest", "pcXmlRequest",1,0+2+8,0,"") + This.oXset.cXmlSets = m.pcXmlSets + This.oXset.cXmlRequest = m.pcXmlRequest + + llSucces = This.oXset.save() + + IF m.llSucces + AMESSAGEBOX('Setul de note s-a inregistrat cu ID: ' + ALLTRIM(TRANSFORM(this.oxset.nIdSet)), 0+64, _screen.Caption) + ENDIF + + RETURN m.llSucces + ENDPROC + + PROCEDURE Init + LPARAMETERS toXset + + DODEFAULT() + + this.oXset = m.toXset + + this.grdRequest.SetAll("dynamicbackcolor","iif(Empty(Nvl(crsRequest.fis_lista, '')), RGB(200,200,200), RGB(255,255,255))", "Column") + ENDPROC + + PROCEDURE leditmode_assign + LPARAMETERS vNewVal + *To do: Modify this routine for the Assign method + THIS.leditmode = m.vNewVal + + llReadOnly = !THIS.lEditMode + llEnabled = THIS.lEditMode + + Thisform.grdRequest.cLabelItem.ReadOnly = m.llReadOnly + Thisform.grdRequest.cValoareDefaultText.ReadOnly = m.llReadOnly + IF m.llEnabled + thisform.grdRequest.cLabelItem.CurrentControl = "_combobox1" + ELSE + *** pun textbox, ca sa pot sa dau dublu click + *** combobox-ul pe readonly, pot sa il deschid, iar pe enabled = .F., nu pot sa dau dublu click + thisform.grdRequest.cLabelItem.CurrentControl = "Text1" + Thisform.grdRequest.cLabelItem.Text1.readonly = m.llReadOnly + ENDIF + ENDPROC + + PROCEDURE selectfromlookup + Local lcSelect, lcFiltru, lcSchema, lcOrder, lcColoane, lcTitlu, lcNumeProc, lcFiltruOriginal, ; + loCauta, lcColoanaText, lcValoareText, lcColoanaId, lcValoareId, liat, lcValoareIdOld, lcValoareTextOld + + Select crsItems + Locate For crsItems.id_item = crsRequest.id_item + If Empty(Nvl(crsItems.fis_lista,[])) + *this.Parent.ReadOnly = .F. && permit scrierea de text in coloana daca nu trebuie sa aleg valoarea dintr-un nomenclator + Return + Endif + + lcValoareTextOld = Alltrim(crsRequest.valoare_default_text) + lnValoareIdOld = crsRequest.valoare_default + lcValoareIdOld = ALLTRIM(TRANSFORM(m.lnValoareIdOld)) + + lcSelect = [select ] + Alltrim(crsItems.camp_lista) + [,] + Alltrim(crsItems.id_fisier) + ; + [ from ] + Alltrim(crsItems.fis_lista) + lcFiltru = [1=2] + lcSchema = [] + lcOrder = Alltrim(crsItems.camp_lista) + lcColoane = Alltrim(crsItems.camp_lista) + [,] + Alltrim(crsItems.id_fisier) + lcTitlu = Alltrim(crsItems.label_item) + lcFiltruOriginal = [inactiv = 0] + lcNumeProc = [] + loCauta = cauta_alfa(lcSelect,lcFiltru, lcSchema, lcOrder, lcColoane, lcTitlu, ; + lcTitlu, lcNumeProc, .F., lcFiltruOriginal) + + + + *!* cand camp_lista retine doua valori(ex:nume,cod_fiscal) se pastreaza doar prima valoare + liat = Rat(',',Alltrim(crsItems.camp_lista)) + *lccoloanatext = [loCauta.] + LEFT(ALLTRIM(crsitems.camp_lista),liat - 1) + lcColoanaText = [loCauta.] + Left(Alltrim(crsItems.camp_lista), ; + Iif(liat!=0,liat - 1,Len(Alltrim(crsItems.camp_lista)))) + lcValoareText = Evaluate(lcColoanaText) + + lcColoanaId = [loCauta.] + Alltrim(crsItems.id_fisier) + lcValoareId = Alltrim(Str(Evaluate(lcColoanaId))) + + *!* daca locauta nu intoarce nimic, se memoreaza valorile vechi + If m.gnButon = 2 + lcValoareText = lcValoareTextOld + lcValoareId = lcValoareIdOld + Endif + *!* ^^ + + Select crsRequest + Replace valoare_default With lcValoareId, valoare_default_text With lcValoareText + Thisform.grdRequest.cValoareDefaultText.Refresh() + + ENDPROC + + PROCEDURE cboCategorie.Init + DODEFAULT() + LOCAL lcSelect + lcSelect = SELECT() + + SELECT crsCategorii + LOCATE FOR id_categorie = crsSet.id_categorie + IF FOUND() + This.Value = crsCategorii.categorie + ENDIF + + SELECT (m.lcSelect) + ENDPROC + + PROCEDURE cboCategorie.Valid + DODEFAULT() + REPLACE id_categorie WITH crsCategorii.id_categorie IN crsSet + ENDPROC + + PROCEDURE grdRequest.AfterRowColChange + Lparameters nColIndex + Thisform.lEditMode = .F. + + This.cvaloareDefaultText.ReadOnly = Empty(Nvl(crsRequest.fis_lista, '')) + + ENDPROC + + PROCEDURE grdRequest.cLabelItem.Text1.DblClick + Thisform.lEditMode = .T. + ENDPROC + + PROCEDURE grdRequest.cLabelItem._combobox1.Valid + Replace id_item With crsItems.id_item, fis_lista WITH NVL(crsItems.fis_lista, ''), camp_lista With NVL(crsItems.camp_lista, '') In crsRequest + + Select crsItems + Locate For id_item = crsRequest.id_item + + Thisform.lEditMode = .F. + + This.Parent.Parent.Refresh() + + + + ENDPROC + + PROCEDURE grdRequest.cValoareDefaultText.Text1.DblClick + If !Empty(Nvl(crsRequest.fis_lista, '')) + Thisform.Selectfromlookup() + Endif + + ENDPROC + + PROCEDURE grdRequest.cValoareDefaultText.Text1.KeyPress + Lparameters nKeyCode, nShiftAltCtrl + + If !Empty(Nvl(crsRequest.fis_lista, '')) + Thisform.Selectfromlookup() + Endif + + ENDPROC + +ENDDEFINE + +DEFINE CLASS frm_modific AS _frmbase OF "_frm_base.vcx" + *< CLASSDATA: Baseclass="form" Timestamp="" Scale="Pixels" Uniqueid="" /> + + *-- OBJECTDATA items order determines ZOrder / El orden de los items OBJECTDATA determina el ZOrder + *< OBJECTDATA: ObjPath="Grid1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="Grid1.Column1.Header1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="Grid1.Column1.Text1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="Grid1.Column2.Header2" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="Grid1.Column2.Text1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="Grid1.Column3.Header3" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="Grid1.Column3.Text1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="Grid1.Column4.Header4" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="Grid1.Column4.Text1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="Grid1.Column5.Header5" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="Grid1.Column5.Text1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="Grid1.Column6.Header6" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="Grid1.Column6.Text1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="Grid1.Column7.Header7" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="Grid1.Column7.Text1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="Grid1.Column8.Header8" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="Grid1.Column8.Text1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="Grid1.Column9.Header9" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="Grid1.Column9.Text1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="Grid1.Column10.Header1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="Grid1.Column10.Text1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="Grid1.Column11.Header1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="Grid1.Column11.Text1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="Grid1.Column12.Header1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="Grid1.Column12.Text1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="Grid1.Column13.Header1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="Grid1.Column13.Text1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="Grid1.Column14.Header1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="Grid1.Column14.Text1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="Grid1.Column15.Header1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="Grid1.Column15.Text1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="Grid1.Column16.Header1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="Grid1.Column16.Text1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="Grid1.Column17.Header1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="Grid1.Column17.Text1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="Grid1.Column18.Header1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="Grid1.Column18.Text1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="Grid1.Column19.Header1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="Grid1.Column19.Text1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="Grid1.Column20.Header1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="Grid1.Column20.Text1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="Grid1.Column21.Header1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="Grid1.Column21.Text1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="Grid1.Column22.Header1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="Grid1.Column22.Text1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="Grid1.Column23.Header1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="Grid1.Column23.Text1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="Grid1.Column24.Header1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="Grid1.Column24.Text1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="Grid1.Column25.Header1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="Grid1.Column25.Text1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="Grid1.Column26.Header1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="Grid1.Column26.Text1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="Grid1.Column27.Header1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="Grid1.Column27.Text1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="Grid1.Column28.Header1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="Grid1.Column28.Text1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="Grid1.Column29.Header1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="Grid1.Column29.Text1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="Grid1.Column30.Header1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="Grid1.Column30.Text1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="Grid1.Column31.Header1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="Grid1.Column31.Text1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="Grid1.Column32.Header1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="Grid1.Column32.Text1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="Grid1.Column33.Header1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="Grid1.Column33.Text1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="Grid1.Column34.Header1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="Grid1.Column34.Text1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="Command1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="Command2" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="But_renunt1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="cnomenclator" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="Command3" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="But_nou1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="But_sterge1" UniqueID="" Timestamp="" /> + + * + *m: aleg_document_pereche + *m: ccontrol_assign + *p: ccontrol + *p: fel_compensare + *p: pccontrol + *p: pcx_item + *p: pncolumnorder + * + + * + DoCreate = .T. + Height = 306 + Name = "frm_modific" + pccontrol = [] + pcx_item = 0 + pncolumnorder = 0 + Width = 804 + WindowType = 1 + _shape1.Height = 31 + _shape1.Left = 0 + _shape1.Name = "_shape1" + _shape1.Top = 0 + _shape1.Width = 727 + _shape2.Height = 31 + _shape2.Left = 670 + _shape2.Name = "_shape2" + _shape2.Top = 0 + _shape2.Width = 134 + Lb_titlu_alb_b121.Caption = "MODIFICARE" + Lb_titlu_alb_b121.Left = 6 + Lb_titlu_alb_b121.Name = "Lb_titlu_alb_b121" + Lb_titlu_alb_b121.Top = 5 + BUT_TERMIN1.Left = 771 + BUT_TERMIN1.Name = "BUT_TERMIN1" + BUT_TERMIN1.Top = 2 + Gridsort1.Name = "Gridsort1" + * + + ADD OBJECT 'But_nou1' AS but_nou WITH ; + Left = 673, ; + Name = "But_nou1", ; + Top = 2 + *< END OBJECT: ClassLib="cmd_butoane.vcx" BaseClass="commandbutton" /> + + ADD OBJECT 'But_renunt1' AS but_renunt WITH ; + Left = 739, ; + Name = "But_renunt1", ; + Top = 2 + *< END OBJECT: ClassLib="cmd_butoane.vcx" BaseClass="commandbutton" /> + + ADD OBJECT 'But_sterge1' AS but_sterge WITH ; + Left = 706, ; + Name = "But_sterge1", ; + Top = 2 + *< END OBJECT: ClassLib="cmd_butoane.vcx" BaseClass="commandbutton" /> + + ADD OBJECT 'cnomenclator' AS commandbutton WITH ; + Caption = "Nomenclator", ; + FontName = "Arial Narrow", ; + ForeColor = 0,0,64, ; + Height = 20, ; + Left = 726, ; + Name = "cnomenclator", ; + Top = 96, ; + Width = 74 + *< END OBJECT: BaseClass="commandbutton" /> + + ADD OBJECT 'Command1' AS commandbutton WITH ; + Caption = "Partener Debit", ; + FontName = "Arial Narrow", ; + ForeColor = 0,0,64, ; + Height = 20, ; + Left = 726, ; + Name = "Command1", ; + Top = 46, ; + Width = 74 + *< END OBJECT: BaseClass="commandbutton" /> + + ADD OBJECT 'Command2' AS commandbutton WITH ; + Caption = "Partener Credit", ; + FontName = "Arial Narrow", ; + ForeColor = 0,0,64, ; + Height = 20, ; + Left = 726, ; + Name = "Command2", ; + Top = 68, ; + Width = 74 + *< END OBJECT: BaseClass="commandbutton" /> + + ADD OBJECT 'Command3' AS commandbutton WITH ; + Caption = "Nr.Doc.Pereche", ; + Enabled = .F., ; + FontName = "Arial Narrow", ; + ForeColor = 0,0,64, ; + Height = 38, ; + Left = 726, ; + Name = "Command3", ; + Top = 118, ; + Width = 74, ; + WordWrap = .T. + *< END OBJECT: BaseClass="commandbutton" /> + + ADD OBJECT 'Grid1' AS grid WITH ; + BackColor = 244,250,255, ; + ColumnCount = 34, ; + DeleteMark = .F., ; + FontName = "Arial Narrow", ; + GridLineColor = 128,128,128, ; + Height = 255, ; + HighlightStyle = 1, ; + Left = 5, ; + Name = "Grid1", ; + Panel = 1, ; + ReadOnly = .F., ; + RecordSource = "tACT", ; + TabIndex = 1, ; + Top = 40, ; + Width = 718, ; + ZOrderSet = 3, ; + Column1.Alignment = 1, ; + Column1.BackColor = 244,250,255, ; + Column1.ControlSource = "", ; + Column1.FontName = "Arial Narrow", ; + Column1.Name = "Column1", ; + Column1.ReadOnly = .F., ; + Column1.Width = 29, ; + Column2.Alignment = 0, ; + Column2.BackColor = 244,250,255, ; + Column2.ControlSource = "dataireg", ; + Column2.FontName = "Arial Narrow", ; + Column2.Name = "Column2", ; + Column2.ReadOnly = .F., ; + Column2.Width = 49, ; + Column3.Alignment = 0, ; + Column3.BackColor = 244,250,255, ; + Column3.ColumnOrder = 13, ; + Column3.ControlSource = "fdoc", ; + Column3.FontName = "Arial Narrow", ; + Column3.Name = "Column3", ; + Column3.ReadOnly = .F., ; + Column3.Width = 88, ; + Column4.Alignment = 0, ; + Column4.BackColor = 244,250,255, ; + Column4.ColumnOrder = 3, ; + Column4.ControlSource = "dataact", ; + Column4.FontName = "Arial Narrow", ; + Column4.Name = "Column4", ; + Column4.ReadOnly = .F., ; + Column4.Width = 51, ; + Column5.Alignment = 1, ; + Column5.BackColor = 244,250,255, ; + Column5.ColumnOrder = 4, ; + Column5.ControlSource = "nract", ; + Column5.FontName = "Arial Narrow", ; + Column5.Name = "Column5", ; + Column5.ReadOnly = .F., ; + Column5.Width = 53, ; + Column6.Alignment = 0, ; + Column6.BackColor = 244,250,255, ; + Column6.ColumnOrder = 5, ; + Column6.ControlSource = "partd", ; + Column6.FontName = "Arial Narrow", ; + Column6.Name = "Column6", ; + Column6.ReadOnly = .F., ; + Column6.Width = 87, ; + Column7.Alignment = 1, ; + Column7.BackColor = 244,250,255, ; + Column7.ColumnOrder = 8, ; + Column7.ControlSource = "scd", ; + Column7.FontName = "Arial Narrow", ; + Column7.Name = "Column7", ; + Column7.ReadOnly = .F., ; + Column7.Width = 44, ; + Column8.Alignment = 1, ; + Column8.BackColor = 244,250,255, ; + Column8.ColumnOrder = 10, ; + Column8.ControlSource = "scc", ; + Column8.FontName = "Arial Narrow", ; + Column8.Name = "Column8", ; + Column8.ReadOnly = .F., ; + Column8.Width = 48, ; + Column9.Alignment = 1, ; + Column9.BackColor = 244,250,255, ; + Column9.ColumnOrder = 12, ; + Column9.ControlSource = "suma", ; + Column9.DynamicForeColor = "IIF(SUMA>=0, RGB(0,0,0), RGB(255,0,0))", ; + Column9.FontName = "Arial Narrow", ; + Column9.FontSize = 9, ; + Column9.Format = "r", ; + Column9.InputMask = (get_mask(12,gnPa)), ; + Column9.Name = "Column9", ; + Column9.ReadOnly = .F., ; + Column9.Width = 93, ; + Column10.Alignment = 0, ; + Column10.BackColor = 244,250,255, ; + Column10.ColumnOrder = 6, ; + Column10.ControlSource = "partc", ; + Column10.FontName = "Arial Narrow", ; + Column10.Name = "Column10", ; + Column10.ReadOnly = .F., ; + Column10.Width = 79, ; + Column11.Alignment = 0, ; + Column11.BackColor = 244,250,255, ; + Column11.ColumnOrder = 7, ; + Column11.ControlSource = "explicatia", ; + Column11.FontName = "Arial Narrow", ; + Column11.Name = "Column11", ; + Column11.ReadOnly = .F., ; + Column11.Width = 77, ; + Column12.BackColor = 244,250,255, ; + Column12.ColumnOrder = 31, ; + Column12.ControlSource = "cod", ; + Column12.FontName = "Arial Narrow", ; + Column12.Name = "Column12", ; + Column12.ReadOnly = .T., ; + Column12.Width = 52, ; + Column13.BackColor = 244,250,255, ; + Column13.ColumnOrder = 14, ; + Column13.ControlSource = "pereched", ; + Column13.FontName = "Arial Narrow", ; + Column13.Name = "Column13", ; + Column13.ReadOnly = .F., ; + Column13.Width = 65, ; + Column14.BackColor = 244,250,255, ; + Column14.ColumnOrder = 24, ; + Column14.ControlSource = "explicatia4", ; + Column14.FontName = "Arial Narrow", ; + Column14.Name = "Column14", ; + Column14.ReadOnly = .F., ; + Column15.BackColor = 244,250,255, ; + Column15.ColumnOrder = 17, ; + Column15.ControlSource = "nrord", ; + Column15.FontName = "Arial Narrow", ; + Column15.Name = "Column15", ; + Column15.ReadOnly = .F., ; + Column16.BackColor = 244,250,255, ; + Column16.ColumnOrder = 19, ; + Column16.ControlSource = "nresp", ; + Column16.FontName = "Arial Narrow", ; + Column16.Format = "", ; + Column16.InputMask = "", ; + Column16.Name = "Column16", ; + Column16.ReadOnly = .F., ; + Column17.BackColor = 244,250,255, ; + Column17.ColumnOrder = 20, ; + Column17.ControlSource = "dst_chlt", ; + Column17.FontName = "Arial Narrow", ; + Column17.Format = "", ; + Column17.InputMask = "", ; + Column17.Name = "Column17", ; + Column17.ReadOnly = .F., ; + Column18.BackColor = 244,250,255, ; + Column18.ColumnOrder = 25, ; + Column18.ControlSource = "explicatia5", ; + Column18.FontName = "Arial Narrow", ; + Column18.Name = "Column18", ; + Column18.ReadOnly = .F., ; + Column19.BackColor = 244,250,255, ; + Column19.ColumnOrder = 16, ; + Column19.ControlSource = "datascad", ; + Column19.FontName = "Arial Narrow", ; + Column19.Name = "Column19", ; + Column19.ReadOnly = .F., ; + Column19.Visible = .T., ; + Column20.BackColor = 244,250,255, ; + Column20.ColumnOrder = 21, ; + Column20.ControlSource = "suma_val", ; + Column20.FontName = "Arial Narrow", ; + Column20.InputMask = (get_mask(12,gnPa)), ; + Column20.Name = "Column20", ; + Column20.ReadOnly = .F., ; + Column21.BackColor = 244,250,255, ; + Column21.ColumnOrder = 23, ; + Column21.ControlSource = "curs", ; + Column21.FontName = "Arial Narrow", ; + Column21.InputMask = (get_mask(12,gnPcurs)), ; + Column21.Name = "Column21", ; + Column21.ReadOnly = .F., ; + Column21.Width = 61, ; + Column22.BackColor = 244,250,255, ; + Column22.ColumnOrder = 26, ; + Column22.ControlSource = "gestin", ; + Column22.FontName = "Arial Narrow", ; + Column22.Name = "Column22", ; + Column22.ReadOnly = .F., ; + Column22.Width = 87, ; + Column23.BackColor = 244,250,255, ; + Column23.ColumnOrder = 9, ; + Column23.ControlSource = "ascd", ; + Column23.FontName = "Arial Narrow", ; + Column23.Name = "Column23", ; + Column23.ReadOnly = .F., ; + Column23.Width = 33, ; + Column24.BackColor = 244,250,255, ; + Column24.ColumnOrder = 11, ; + Column24.ControlSource = "ascc", ; + Column24.FontName = "Arial Narrow", ; + Column24.Name = "Column24", ; + Column24.ReadOnly = .F., ; + Column24.Width = 33, ; + Column25.BackColor = 244,250,255, ; + Column25.ColumnOrder = 32, ; + Column25.ControlSource = "id_set", ; + Column25.FontName = "Arial Narrow", ; + Column25.Name = "Column25", ; + Column25.ReadOnly = .T., ; + Column25.Width = 52, ; + Column26.BackColor = 244,250,255, ; + Column26.ColumnOrder = 30, ; + Column26.ControlSource = "proc_tva", ; + Column26.FontName = "Arial Narrow", ; + Column26.Name = "Column26", ; + Column26.ReadOnly = .F., ; + Column26.Width = 45, ; + Column27.BackColor = 244,250,255, ; + Column27.ColumnOrder = 15, ; + Column27.ControlSource = "perechec", ; + Column27.FontName = "Arial Narrow", ; + Column27.Name = "Column27", ; + Column27.ReadOnly = .F., ; + Column27.Width = 64, ; + Column28.BackColor = 244,250,255, ; + Column28.ColumnOrder = 28, ; + Column28.ControlSource = "sectie", ; + Column28.FontName = "Arial Narrow", ; + Column28.Name = "Column28", ; + Column28.ReadOnly = .F., ; + Column28.Width = 88, ; + Column29.BackColor = 244,250,255, ; + Column29.ColumnOrder = 22, ; + Column29.ControlSource = "nume_val", ; + Column29.FontName = "Arial Narrow", ; + Column29.Name = "Column29", ; + Column29.ReadOnly = .F., ; + Column29.Width = 61, ; + Column30.BackColor = 244,250,255, ; + Column30.ColumnOrder = 33, ; + Column30.ControlSource = "id_partd", ; + Column30.FontName = "Arial Narrow", ; + Column30.Name = "Column30", ; + Column30.ReadOnly = .T., ; + Column30.Width = 45, ; + Column31.BackColor = 244,250,255, ; + Column31.ColumnOrder = 34, ; + Column31.ControlSource = "id_partc", ; + Column31.FontName = "Arial Narrow", ; + Column31.Name = "Column31", ; + Column31.ReadOnly = .T., ; + Column31.Width = 43, ; + Column32.BackColor = 244,250,255, ; + Column32.ColumnOrder = 27, ; + Column32.ControlSource = "gestout", ; + Column32.FontName = "Arial Narrow", ; + Column32.Name = "Column32", ; + Column32.ReadOnly = .F., ; + Column32.Width = 89, ; + Column33.BackColor = 244,250,255, ; + Column33.ColumnOrder = 29, ; + Column33.ControlSource = "sucursala", ; + Column33.FontName = "Arial Narrow", ; + Column33.Name = "Column33", ; + Column33.ReadOnly = .F., ; + Column33.Width = 121, ; + Column34.BackColor = 244,250,255, ; + Column34.ColumnOrder = 18, ; + Column34.ControlSource = "contract", ; + Column34.FontName = "Arial Narrow", ; + Column34.Name = "Column34", ; + Column34.ReadOnly = .T., ; + Column34.Width = 65 + *< END OBJECT: BaseClass="grid" /> + + ADD OBJECT 'Grid1.Column1.Header1' AS header WITH ; + Alignment = 2, ; + Caption = "NrCrt", ; + FontName = "Arial Narrow", ; + Name = "Header1" + *< END OBJECT: BaseClass="header" /> + + ADD OBJECT 'Grid1.Column1.Text1' AS textbox WITH ; + Alignment = 1, ; + BackColor = 244,250,255, ; + BorderStyle = 0, ; + FontName = "Arial Narrow", ; + ForeColor = 0,0,0, ; + Margin = 0, ; + Name = "Text1", ; + ReadOnly = .F. + *< END OBJECT: BaseClass="textbox" /> + + ADD OBJECT 'Grid1.Column10.Header1' AS header WITH ; + Alignment = 2, ; + Caption = "Expl.2", ; + FontName = "Arial Narrow", ; + Name = "Header1" + *< END OBJECT: BaseClass="header" /> + + ADD OBJECT 'Grid1.Column10.Text1' AS textbox WITH ; + Alignment = 0, ; + BackColor = 244,250,255, ; + BorderStyle = 0, ; + FontName = "Arial Narrow", ; + ForeColor = 0,0,0, ; + Margin = 0, ; + Name = "Text1", ; + ReadOnly = .F. + *< END OBJECT: BaseClass="textbox" /> + + ADD OBJECT 'Grid1.Column11.Header1' AS header WITH ; + Alignment = 2, ; + Caption = "Expl.3", ; + FontName = "Arial Narrow", ; + Name = "Header1" + *< END OBJECT: BaseClass="header" /> + + ADD OBJECT 'Grid1.Column11.Text1' AS textbox WITH ; + Alignment = 0, ; + BackColor = 244,250,255, ; + BorderStyle = 0, ; + FontName = "Arial Narrow", ; + ForeColor = 0,0,0, ; + Margin = 0, ; + Name = "Text1", ; + ReadOnly = .F. + *< END OBJECT: BaseClass="textbox" /> + + ADD OBJECT 'Grid1.Column12.Header1' AS header WITH ; + Alignment = 2, ; + Caption = "COD", ; + FontName = "Arial Narrow", ; + Name = "Header1" + *< END OBJECT: BaseClass="header" /> + + ADD OBJECT 'Grid1.Column12.Text1' AS textbox WITH ; + BackColor = 244,250,255, ; + BorderStyle = 0, ; + FontName = "Arial Narrow", ; + ForeColor = 0,0,0, ; + Margin = 0, ; + Name = "Text1", ; + ReadOnly = .T. + *< END OBJECT: BaseClass="textbox" /> + + ADD OBJECT 'Grid1.Column13.Header1' AS header WITH ; + Alignment = 2, ; + Caption = "Nr.doc.platit", ; + FontName = "Arial Narrow", ; + Name = "Header1" + *< END OBJECT: BaseClass="header" /> + + ADD OBJECT 'Grid1.Column13.Text1' AS textbox WITH ; + BackColor = 244,250,255, ; + BorderStyle = 0, ; + FontName = "Arial Narrow", ; + ForeColor = 0,0,0, ; + Margin = 0, ; + Name = "Text1", ; + ReadOnly = .F. + *< END OBJECT: BaseClass="textbox" /> + + ADD OBJECT 'Grid1.Column14.Header1' AS header WITH ; + Alignment = 2, ; + Caption = "Explicatia 4", ; + FontName = "Arial Narrow", ; + Name = "Header1" + *< END OBJECT: BaseClass="header" /> + + ADD OBJECT 'Grid1.Column14.Text1' AS textbox WITH ; + BackColor = 244,250,255, ; + BorderStyle = 0, ; + FontName = "Arial Narrow", ; + ForeColor = 0,0,0, ; + Margin = 0, ; + Name = "Text1", ; + ReadOnly = .F. + *< END OBJECT: BaseClass="textbox" /> + + ADD OBJECT 'Grid1.Column15.Header1' AS header WITH ; + Alignment = 2, ; + Caption = "Lucrarea", ; + FontName = "Arial Narrow", ; + Name = "Header1" + *< END OBJECT: BaseClass="header" /> + + ADD OBJECT 'Grid1.Column15.Text1' AS textbox WITH ; + BackColor = 244,250,255, ; + BorderStyle = 0, ; + FontName = "Arial Narrow", ; + ForeColor = 0,0,0, ; + Margin = 0, ; + Name = "Text1", ; + ReadOnly = .F. + *< END OBJECT: BaseClass="textbox" /> + + ADD OBJECT 'Grid1.Column16.Header1' AS header WITH ; + Alignment = 2, ; + Caption = "Responsabil", ; + FontName = "Arial Narrow", ; + Name = "Header1" + *< END OBJECT: BaseClass="header" /> + + ADD OBJECT 'Grid1.Column16.Text1' AS textbox WITH ; + BackColor = 244,250,255, ; + BorderStyle = 0, ; + FontName = "Arial Narrow", ; + ForeColor = 0,0,0, ; + Margin = 0, ; + Name = "Text1", ; + ReadOnly = .F. + *< END OBJECT: BaseClass="textbox" /> + + ADD OBJECT 'Grid1.Column17.Header1' AS header WITH ; + Alignment = 2, ; + Caption = "Cheltuiala", ; + FontName = "Arial Narrow", ; + Name = "Header1" + *< END OBJECT: BaseClass="header" /> + + ADD OBJECT 'Grid1.Column17.Text1' AS textbox WITH ; + BackColor = 244,250,255, ; + BorderStyle = 0, ; + FontName = "Arial Narrow", ; + ForeColor = 0,0,0, ; + Margin = 0, ; + Name = "Text1", ; + ReadOnly = .F. + *< END OBJECT: BaseClass="textbox" /> + + ADD OBJECT 'Grid1.Column18.Header1' AS header WITH ; + Alignment = 2, ; + Caption = "Explicatia 5", ; + FontName = "Arial Narrow", ; + Name = "Header1" + *< END OBJECT: BaseClass="header" /> + + ADD OBJECT 'Grid1.Column18.Text1' AS textbox WITH ; + BackColor = 244,250,255, ; + BorderStyle = 0, ; + FontName = "Arial Narrow", ; + ForeColor = 0,0,0, ; + Margin = 0, ; + Name = "Text1", ; + ReadOnly = .F. + *< END OBJECT: BaseClass="textbox" /> + + ADD OBJECT 'Grid1.Column19.Header1' AS header WITH ; + Alignment = 2, ; + Caption = "Data scadenta", ; + FontName = "Arial Narrow", ; + Name = "Header1" + *< END OBJECT: BaseClass="header" /> + + ADD OBJECT 'Grid1.Column19.Text1' AS textbox WITH ; + BackColor = 244,250,255, ; + BorderStyle = 0, ; + FontName = "Arial Narrow", ; + ForeColor = 0,0,0, ; + Margin = 0, ; + Name = "Text1", ; + ReadOnly = .F., ; + Visible = .T. + *< END OBJECT: BaseClass="textbox" /> + + ADD OBJECT 'Grid1.Column2.Header2' AS header WITH ; + Alignment = 2, ; + Caption = "Data Inreg.", ; + FontName = "Arial Narrow", ; + Name = "Header2" + *< END OBJECT: BaseClass="header" /> + + ADD OBJECT 'Grid1.Column2.Text1' AS textbox WITH ; + Alignment = 0, ; + BackColor = 244,250,255, ; + BorderStyle = 0, ; + FontName = "Arial Narrow", ; + ForeColor = 0,0,0, ; + Margin = 0, ; + Name = "Text1", ; + ReadOnly = .F. + *< END OBJECT: BaseClass="textbox" /> + + ADD OBJECT 'Grid1.Column20.Header1' AS header WITH ; + Alignment = 2, ; + Caption = "Suma in valuta", ; + FontName = "Arial Narrow", ; + Name = "Header1" + *< END OBJECT: BaseClass="header" /> + + ADD OBJECT 'Grid1.Column20.Text1' AS textbox WITH ; + BackColor = 244,250,255, ; + BorderStyle = 0, ; + FontName = "Arial Narrow", ; + ForeColor = 0,0,0, ; + Margin = 0, ; + Name = "Text1" + *< END OBJECT: BaseClass="textbox" /> + + ADD OBJECT 'Grid1.Column21.Header1' AS header WITH ; + Alignment = 2, ; + Caption = "Curs valutar", ; + FontName = "Arial Narrow", ; + Name = "Header1" + *< END OBJECT: BaseClass="header" /> + + ADD OBJECT 'Grid1.Column21.Text1' AS textbox WITH ; + BackColor = 244,250,255, ; + BorderStyle = 0, ; + FontName = "Arial Narrow", ; + ForeColor = 0,0,0, ; + Margin = 0, ; + Name = "Text1" + *< END OBJECT: BaseClass="textbox" /> + + ADD OBJECT 'Grid1.Column22.Header1' AS header WITH ; + Alignment = 2, ; + Caption = "Gestiune destinatie", ; + FontName = "Arial Narrow", ; + Name = "Header1" + *< END OBJECT: BaseClass="header" /> + + ADD OBJECT 'Grid1.Column22.Text1' AS textbox WITH ; + BackColor = 244,250,255, ; + BorderStyle = 0, ; + FontName = "Arial Narrow", ; + ForeColor = 0,0,0, ; + Margin = 0, ; + Name = "Text1" + *< END OBJECT: BaseClass="textbox" /> + + ADD OBJECT 'Grid1.Column23.Header1' AS header WITH ; + Alignment = 2, ; + Caption = "AnalitD", ; + FontName = "Arial Narrow", ; + Name = "Header1" + *< END OBJECT: BaseClass="header" /> + + ADD OBJECT 'Grid1.Column23.Text1' AS textbox WITH ; + BackColor = 244,250,255, ; + BorderStyle = 0, ; + FontName = "Arial Narrow", ; + ForeColor = 0,0,0, ; + Margin = 0, ; + Name = "Text1" + *< END OBJECT: BaseClass="textbox" /> + + ADD OBJECT 'Grid1.Column24.Header1' AS header WITH ; + Alignment = 2, ; + Caption = "AnalitC", ; + FontName = "Arial Narrow", ; + Name = "Header1" + *< END OBJECT: BaseClass="header" /> + + ADD OBJECT 'Grid1.Column24.Text1' AS textbox WITH ; + BackColor = 244,250,255, ; + BorderStyle = 0, ; + FontName = "Arial Narrow", ; + ForeColor = 0,0,0, ; + Margin = 0, ; + Name = "Text1" + *< END OBJECT: BaseClass="textbox" /> + + ADD OBJECT 'Grid1.Column25.Header1' AS header WITH ; + Alignment = 2, ; + Caption = "Tip operatie", ; + FontName = "Arial Narrow", ; + Name = "Header1" + *< END OBJECT: BaseClass="header" /> + + ADD OBJECT 'Grid1.Column25.Text1' AS textbox WITH ; + BackColor = 244,250,255, ; + BorderStyle = 0, ; + FontName = "Arial Narrow", ; + ForeColor = 0,0,0, ; + Margin = 0, ; + Name = "Text1", ; + ReadOnly = .T. + *< END OBJECT: BaseClass="textbox" /> + + ADD OBJECT 'Grid1.Column26.Header1' AS header WITH ; + Alignment = 2, ; + Caption = "Cota TVA", ; + FontName = "Arial Narrow", ; + Name = "Header1" + *< END OBJECT: BaseClass="header" /> + + ADD OBJECT 'Grid1.Column26.Text1' AS textbox WITH ; + BackColor = 244,250,255, ; + BorderStyle = 0, ; + FontName = "Arial Narrow", ; + ForeColor = 0,0,0, ; + Margin = 0, ; + Name = "Text1" + *< END OBJECT: BaseClass="textbox" /> + + ADD OBJECT 'Grid1.Column27.Header1' AS header WITH ; + Alignment = 2, ; + Caption = "Nr.doc.incasat", ; + FontName = "Arial Narrow", ; + Name = "Header1" + *< END OBJECT: BaseClass="header" /> + + ADD OBJECT 'Grid1.Column27.Text1' AS textbox WITH ; + BackColor = 244,250,255, ; + BorderStyle = 0, ; + FontName = "Arial Narrow", ; + ForeColor = 0,0,0, ; + Margin = 0, ; + Name = "Text1" + *< END OBJECT: BaseClass="textbox" /> + + ADD OBJECT 'Grid1.Column28.Header1' AS header WITH ; + Alignment = 2, ; + Caption = "Sectia", ; + FontName = "Arial Narrow", ; + Name = "Header1" + *< END OBJECT: BaseClass="header" /> + + ADD OBJECT 'Grid1.Column28.Text1' AS textbox WITH ; + BackColor = 244,250,255, ; + BorderStyle = 0, ; + FontName = "Arial Narrow", ; + ForeColor = 0,0,0, ; + Margin = 0, ; + Name = "Text1" + *< END OBJECT: BaseClass="textbox" /> + + ADD OBJECT 'Grid1.Column29.Header1' AS header WITH ; + Alignment = 2, ; + Caption = "Nume Valuta", ; + FontName = "Arial Narrow", ; + Name = "Header1" + *< END OBJECT: BaseClass="header" /> + + ADD OBJECT 'Grid1.Column29.Text1' AS textbox WITH ; + BackColor = 244,250,255, ; + BorderStyle = 0, ; + FontName = "Arial Narrow", ; + ForeColor = 0,0,0, ; + Margin = 0, ; + Name = "Text1" + *< END OBJECT: BaseClass="textbox" /> + + ADD OBJECT 'Grid1.Column3.Header3' AS header WITH ; + Alignment = 2, ; + Caption = "Fel Doc.", ; + FontName = "Arial Narrow", ; + Name = "Header3" + *< END OBJECT: BaseClass="header" /> + + ADD OBJECT 'Grid1.Column3.Text1' AS textbox WITH ; + Alignment = 0, ; + BackColor = 244,250,255, ; + BorderStyle = 0, ; + FontName = "Arial Narrow", ; + ForeColor = 0,0,0, ; + Margin = 0, ; + Name = "Text1", ; + ReadOnly = .F. + *< END OBJECT: BaseClass="textbox" /> + + ADD OBJECT 'Grid1.Column30.Header1' AS header WITH ; + Alignment = 2, ; + Caption = "Id Part D", ; + FontName = "Arial Narrow", ; + Name = "Header1" + *< END OBJECT: BaseClass="header" /> + + ADD OBJECT 'Grid1.Column30.Text1' AS textbox WITH ; + BackColor = 244,250,255, ; + BorderStyle = 0, ; + FontName = "Arial Narrow", ; + ForeColor = 0,0,0, ; + Margin = 0, ; + Name = "Text1", ; + ReadOnly = .T. + *< END OBJECT: BaseClass="textbox" /> + + ADD OBJECT 'Grid1.Column31.Header1' AS header WITH ; + Alignment = 2, ; + Caption = "Id Part C", ; + FontName = "Arial Narrow", ; + Name = "Header1" + *< END OBJECT: BaseClass="header" /> + + ADD OBJECT 'Grid1.Column31.Text1' AS textbox WITH ; + BackColor = 244,250,255, ; + BorderStyle = 0, ; + FontName = "Arial Narrow", ; + ForeColor = 0,0,0, ; + Margin = 0, ; + Name = "Text1", ; + ReadOnly = .T. + *< END OBJECT: BaseClass="textbox" /> + + ADD OBJECT 'Grid1.Column32.Header1' AS header WITH ; + Alignment = 2, ; + Caption = "Gestiune sursa", ; + FontName = "Arial Narrow", ; + Name = "Header1" + *< END OBJECT: BaseClass="header" /> + + ADD OBJECT 'Grid1.Column32.Text1' AS textbox WITH ; + BackColor = 244,250,255, ; + BorderStyle = 0, ; + FontName = "Arial Narrow", ; + ForeColor = 0,0,0, ; + Margin = 0, ; + Name = "Text1" + *< END OBJECT: BaseClass="textbox" /> + + ADD OBJECT 'Grid1.Column33.Header1' AS header WITH ; + Alignment = 2, ; + Caption = "Sucursala", ; + FontName = "Arial Narrow", ; + Name = "Header1" + *< END OBJECT: BaseClass="header" /> + + ADD OBJECT 'Grid1.Column33.Text1' AS textbox WITH ; + BackColor = 244,250,255, ; + BorderStyle = 0, ; + FontName = "Arial Narrow", ; + ForeColor = 0,0,0, ; + Margin = 0, ; + Name = "Text1" + *< END OBJECT: BaseClass="textbox" /> + + ADD OBJECT 'Grid1.Column34.Header1' AS header WITH ; + Alignment = 2, ; + Caption = "Contract", ; + FontName = "Arial Narrow", ; + Name = "Header1" + *< END OBJECT: BaseClass="header" /> + + ADD OBJECT 'Grid1.Column34.Text1' AS textbox WITH ; + BackColor = 244,250,255, ; + BorderStyle = 0, ; + FontName = "Arial Narrow", ; + ForeColor = 0,0,0, ; + Margin = 0, ; + Name = "Text1", ; + ReadOnly = .T. + *< END OBJECT: BaseClass="textbox" /> + + ADD OBJECT 'Grid1.Column4.Header4' AS header WITH ; + Alignment = 2, ; + Caption = "Data Act", ; + FontName = "Arial Narrow", ; + Name = "Header4" + *< END OBJECT: BaseClass="header" /> + + ADD OBJECT 'Grid1.Column4.Text1' AS textbox WITH ; + Alignment = 0, ; + BackColor = 244,250,255, ; + BorderStyle = 0, ; + FontName = "Arial Narrow", ; + ForeColor = 0,0,0, ; + Margin = 0, ; + Name = "Text1", ; + ReadOnly = .F. + *< END OBJECT: BaseClass="textbox" /> + + ADD OBJECT 'Grid1.Column5.Header5' AS header WITH ; + Alignment = 2, ; + Caption = "Nr.Doc.", ; + FontName = "Arial Narrow", ; + Name = "Header5" + *< END OBJECT: BaseClass="header" /> + + ADD OBJECT 'Grid1.Column5.Text1' AS textbox WITH ; + Alignment = 1, ; + BackColor = 244,250,255, ; + BorderStyle = 0, ; + FontName = "Arial Narrow", ; + ForeColor = 0,0,0, ; + Margin = 0, ; + Name = "Text1", ; + ReadOnly = .F. + *< END OBJECT: BaseClass="textbox" /> + + ADD OBJECT 'Grid1.Column6.Header6' AS header WITH ; + Alignment = 2, ; + Caption = "Expl.1", ; + FontName = "Arial Narrow", ; + Name = "Header6" + *< END OBJECT: BaseClass="header" /> + + ADD OBJECT 'Grid1.Column6.Text1' AS textbox WITH ; + Alignment = 0, ; + BackColor = 244,250,255, ; + BorderColor = 0,0,0, ; + BorderStyle = 0, ; + FontName = "Arial Narrow", ; + ForeColor = 0,0,0, ; + Margin = 0, ; + Name = "Text1", ; + ReadOnly = .F. + *< END OBJECT: BaseClass="textbox" /> + + ADD OBJECT 'Grid1.Column7.Header7' AS header WITH ; + Alignment = 2, ; + Caption = "Cont Deb.", ; + FontName = "Arial Narrow", ; + Name = "Header7" + *< END OBJECT: BaseClass="header" /> + + ADD OBJECT 'Grid1.Column7.Text1' AS textbox WITH ; + Alignment = 1, ; + BackColor = 244,250,255, ; + BorderStyle = 0, ; + FontName = "Arial Narrow", ; + ForeColor = 0,0,0, ; + Margin = 0, ; + Name = "Text1", ; + ReadOnly = .F. + *< END OBJECT: BaseClass="textbox" /> + + ADD OBJECT 'Grid1.Column8.Header8' AS header WITH ; + Alignment = 2, ; + Caption = "Cont Cred.", ; + FontName = "Arial Narrow", ; + Name = "Header8" + *< END OBJECT: BaseClass="header" /> + + ADD OBJECT 'Grid1.Column8.Text1' AS textbox WITH ; + Alignment = 1, ; + BackColor = 244,250,255, ; + BorderStyle = 0, ; + FontName = "Arial Narrow", ; + ForeColor = 0,0,0, ; + Margin = 0, ; + Name = "Text1", ; + ReadOnly = .F. + *< END OBJECT: BaseClass="textbox" /> + + ADD OBJECT 'Grid1.Column9.Header9' AS header WITH ; + Alignment = 2, ; + Caption = "Suma", ; + FontName = "Arial Narrow", ; + Name = "Header9" + *< END OBJECT: BaseClass="header" /> + + ADD OBJECT 'Grid1.Column9.Text1' AS textbox WITH ; + Alignment = 1, ; + BackColor = 244,250,255, ; + BorderStyle = 0, ; + FontName = "Arial Narrow", ; + FontSize = 9, ; + ForeColor = 0,0,0, ; + Margin = 0, ; + Name = "Text1", ; + ReadOnly = .F. + *< END OBJECT: BaseClass="textbox" /> + + PROCEDURE aleg_document_pereche + PARAMETERS tcFel,toAct + LOCAL lcSel,lcSelAct + lcSelAct = thisform.grid1.RecordSource + pnFelCont = tcFel + + IF pnFelCont = 0 && ACTIV + pcContul = ALLTRIM(NVL(toAct.scc,[])) + pcACont = ALLTRIM(NVL(toAct.ascc,[NULL])) + pnIdPart = NVL(toAct.Id_partc,0) + pcNume = ALLTRIM(NVL(toAct.partc,[])) + pnPereche = [perecheC] + pnIdPereche = [id_factC] + ELSE && PASIV + pcContul = ALLTRIM(NVL(toAct.scd,[])) + pcACont = ALLTRIM(NVL(toAct.ascd,[NULL])) + pnIdPart = NVL(toAct.Id_partd,0) + pcNume = ALLTRIM(NVL(toAct.partd,[])) + pnPereche = [perecheD] + pnIdPereche = [id_factD] + ENDIF + + lcSelect = [select count(*) as ePereche from ] + gcs + [.vcoresp_tip_cont where cont = ?pcContul and fel_cont = ?pnFelCont and cu_inregistrari = 1 ] + lcCursor = [crsTest] + lnSucces = goexecutor.oExecute(lcSelect,lcCursor) + IF lnSucces < 0 + aMESSAGEBOX('Modificare:Verific existenta pereche ' +goExecutor.cEroare,0+16,"Eroare") + SELECT (lcSelAct) + this.grid1.SetFocus + RETURN + ENDIF + + SELECT crsTest + LOCATE + IF ePereche = 0 + USE IN crsTest + SELECT (lcSelAct) + this.grid1.SetFocus + RETURN + ENDIF + + + IF !EMPTY(toAct.Suma_val) + llval = .t. + pnSuma = toAct.Suma_val + lcFormular = [ocompensari_val] + ELSE + llval = .f. + pnSuma = toAct.Suma + lcFormular = [ocompensari] + ENDIF + pnIdValuta = toAct.Id_Valuta + pcDenumire = [Partener ] + pcContul + + pcCond = [ an = ?gnAn and luna = ?gnluna] + + IF llval + pccond= pccond + [ and ABS(i.precvaldeb + i.valdebit - i.precvalcred - i.valcredit)>0 and i.id_valuta = ?pnIdValuta ] + ELSE + pccond= pccond + [ and (i.precvaldeb + i.valdebit - i.precvalcred - i.valcredit = 0) ] + ENDIF + + pcselect = ['select i.* FROM ] + gcs + [.Vireg_parteneri i where 2=2 '] + IF ALLTRIM(pcACont) # [NULL] + pcfiltru = [ i.id_part = ?pnIdPart AND ABS(i.precdeb + i.debit - i.preccred - i.credit)<>0 AND i.cont = ?pcContul and ] + pcCond + ELSE + pcfiltru = [ i.id_part = ?pnIdPart AND ABS(i.precdeb + i.debit - i.preccred - i.credit)<>0 AND i.cont = ?pcContul and acont is null and ] + pcCond + ENDIF + pcschema = [''] + pcorder = [''] + + PRIVATE podateintrod + STORE '' TO podateintrod + + gencursor('podateintrod','crs_actcv',pcselect,pcfiltru,[''],'') + + lcFis = 'actcv' + ALLTRIM(pcContul) + + IF USED(lcFis) + USE IN &lcFis + ENDIF + + IF pnFelCont = 0 + lcsel = [SELECT *, ACONT AS ASCC, nume_val as numeval, curs as cursschimb, precdeb + debit as totctva, preccred+credit as achitat, ] +; + [precvaldeb + valdebit AS sumaval, precVALcred+VALcredit as achitatval, ] +; + [.f. as ales, 00000000000000.0000 as sumaachi, 000000000000.0000 as sumaachi2, 00000000000000.0000 as achilei, 00000000000000.0000 as difplus, 00000000000000.0000 as difminus, 000000.0000 as cursval, 000000.0000 as cursdif ] +; + [FROM crs_actcv INTO CURSOR ] + lcFis + [ READWRITE ] + ELSE + lcsel = [SELECT *, ACONT AS ASCD, nume_val as numeval, curs as cursschimb, preccred + credit as totctva, precdeb+debit as achitat, ] + ; + [precvalcred + valcredit as sumaval, precVALdeb+VALdebit as achitatval, ] + ; + [.f. as ales, 00000000000000.0000 as sumaachi, 00000000000000.0000 as sumaachi2, 00000000000000.0000 as achilei, 00000000000000.0000 as difplus, 00000000000000.0000 as difminus, 000000.0000 as cursval, 000000.0000 as cursdif ] + ; + [FROM crs_actcv INTO CURSOR ] + lcFis + [ READWRITE ] + ENDIF + &lcsel + + USE IN crs_actcv + SELECT (lcFis) + + OPLATA=CREATEOBJECT(lcFormular) + OPLATA.titlufrumos1.CAPTION = pcDenumire + [: ] + pcNume + OPLATA.pcFis = lcFis + OPLATA.SUMA = pnSuma + OPLATA.pnFelCont = pnFelCont + OPLATA.SHOW(1) + + IF gnButon = 1 + SELECT (lcSelAct) + DELETE + SELECT (lcFis) + SCAN FOR ales + SCATTER NAME oper + SELECT (lcSelAct) + APPEND BLANK + GATHER NAME toAct + REPLACE &pnIdPereche WITH oper.id_fact, &pnPereche WITH oper.nract, suma WITH oper.sumaachi, suma_val WITH oper.sumaachi2 + SELECT (lcFis) + ENDSCAN + ELSE + SELECT (lcSelAct) + REPLACE &pnPereche WITH toact.&pnPereche + ENDIF + + IF USED(lcFis) + USE IN (lcFis) + ENDIF + SELECT (lcSelAct) + this.grid1.SetFocus + ENDPROC + + PROCEDURE ccontrol_assign + LPARAMETERS vNewVal + *To do: Modify this routine for the Assign method + THIS.cControl = m.vNewVal + + ENDPROC + + PROCEDURE do_adauga + SELECT tact + SCATTER NAME oadd FIELDS EXCEPT id_partd, partd, id_partc, partc, id_factd, pereched, id_factc, perechec, suma, suma_val + APPEND BLANK + GATHER NAME oadd + RELEASE oadd + + DO nrord WITH 'tact' + this.grid1.SetFocus + ENDPROC + + PROCEDURE do_cauta + PARAMETERS tcCont + LOCAL loCauta + + IF EMPTY(tcCont) + RETURN + ENDIF + loCauta = CautPartenerContabilitate(GetHash([cTitlu=>Alegeti partenerul??lAdaugCorespondente=>1??cCont=>] + ALLTRIM(tcCont))) + + RETURN loCauta + + ENDPROC + + PROCEDURE do_modifica + PARAMETERS tcX_item, tcControl + + *!* IF EMPTY(tcX_item) OR ISNULL(tcX_item) + *!* tcX_item = thisform.pcx_item + *!* ENDIF + + *!* IF EMPTY(tcControl) OR ISNULL(tcControl) + *!* tcControl = thisform.pccontrol + *!* ENDIF + + lcControl = ALLTRIM(tcControl) + IF '.'$ tcControl + lcControl = RIGHT(lcControl,LEN(lcControl)-AT('.',lcControl)) + ENDIF + + SELECT xitems + LOCATE FOR ALLTRIM(x_item) = ALLTRIM(tcX_item) + IF !FOUND() + RETURN + ENDIF + + SCATTER NAME locauta + lcColoane = ALLTRIM(locauta.camp_lista) + lcIdFis = ALLTRIM(locauta.id_fisier) + lcFisier = ALLTRIM(locauta.fis_lista) + lcVarAct = lcControl + lcIdAct = lcIdFis + + pcselect = [select ] + lcColoane + [,] + lcIdFis + [ from ] + lcFisier + pcfiltru = [1=2] + pcschema = [] + pcorder = lcColoane + pccoloane = lcColoane + pcTitlu = PROPER(ALLTRIM(locauta.label_item)) + pcTitluColoane = pcTitlu + lnColoane = OCCURS([,],lcColoane) + pcFiltruOriginal = [inactiv = 0] + IF lnColoane > 0 + FOR i= 1 TO lnColoane + pcTitluColoane = pcTitluColoane + [, ] + ENDFOR + ENDIF + locauta = cauta_alfa(pcselect,pcfiltru,pcschema,pcorder,pccoloane,pcTitlu,pcTitluColoane,lcFisier,.f.,pcFiltruOriginal) && 11.07.2007 + + + IF gnButon = 1 + IF ',' $ lcColoane + lcPrimVal = LEFT(lcColoane,AT(',',lcColoane)-1) + ELSE + lcPrimVal = ALLTRIM(lcColoane) + ENDIF + + IF 'nume_gestiune'$LOWER(lcPrimVal) + lcIdAct = [id_] + lcVarAct + ENDIF + + SELECT tact + lcReplace = [replace ] + lcVarAct + [ with locauta.] + lcPrimVal + [,] + lcIdAct + [ with locauta.] + lcIdFis + SELECT tact + &lcReplace + + ENDIF + + RETURN locauta + + ENDPROC + + PROCEDURE do_sterge + LOCAL lnAn, lnLuna, lnCod, lnIdFact, llReferinteDocumente + + SELECT tact + lnAn = an + lnLuna = luna + lnCod = cod + lnIdFact = id_fact + + llReferinteDocumente = ReferinteDocument(lnAn, lnLuna, lnCod, lnIdFact) && odocumente.prg + IF llReferinteDocumente + AMESSAGEBOX("Documentul are referinte (incasari/plati). Nu poate fi sters.", 0+48,"Stergere") + RETURN + ENDIF + + SELECT tact + DELETE + this.grid1.SetFocus + ENDPROC + + PROCEDURE do_verifica + *!* PARAMETERS tlClick, tccont, tcacont, tcColoana + + *!* m.den='' + *!* ll_l=.f. + + *!* IF EMPTY(tccont) + *!* RETURN ll_l + *!* ENDIF + + *!* IF USED('TCEVA') + *!* USE IN Tceva + *!* ENDIF + + *!* lcSql=[select acont || ' - ' || explicatie as den, CONT, ACONT FROM ] + gcS + [.vplcont_ANALITIC where to_number(cont) = ] + tcCont + [ and inactiv = 0 and an = ] + pcAn + [ order by acont ] + *!* lcCursor = 'tceva' + *!* lnSucces = goExecutor.oExecute(lcSql,lcCursor) + + *!* SELECT tceva + *!* LOCATE + *!* IF EOF() + *!* IF !EMPTY(tcAcont) AND !ISNULL(tcAcont) + *!* DO mesaj WITH 'Nu au fost definite simboluri analitice','pentru contul ' + tcCont + *!* ll_l=.t. + *!* ENDIF + *!* + *!* IF USED('TCEVA') + *!* USE IN Tceva + *!* ENDIF + *!* SELECT actactan + *!* this.grid1.SetFocus + *!* RETURN ll_l + *!* ELSE + *!* IF !tlClick + *!* IF empty(tcAcont) + *!* IF USED('TCEVA') + *!* USE IN Tceva + *!* ENDIF + *!* SELECT tact + *!* this.grid1.SetFocus + *!* RETURN ll_l + *!* ENDIF + *!* ENDIF + *!* ENDIF + + *!* SELECT tceva + *!* IF tlClick + *!* DO caut_alfa_cursor WITH 'tceva','den','Alegeti simbolul analitic','m.den' + *!* SELECT tceva + *!* LOCATE FOR ALLTRIM(den) = ALLTRIM(m.den) + *!* lcAcont = acont + + *!* SELECT tact + *!* REPLACE &tcColoana WITH lcAcont + *!* ELSE + *!* LOCATE FOR ALLTRIM(cont)=ALLTRIM(tccont) AND ALLTRIM(acont)=ALLTRIM(tcacont) + *!* IF !FOUND() + *!* DO caut_alfa_cursor WITH 'tceva','den','Alegeti simbolul analitic','m.den' + *!* SELECT tceva + *!* LOCATE FOR ALLTRIM(den) = ALLTRIM(m.den) + *!* lcAcont = acont + + *!* SELECT tact + *!* REPLACE &tcColoana WITH lcAcont + *!* ENDIF + *!* ENDIF + + *!* IF USED('TCEVA') + *!* USE IN Tceva + *!* ENDIF + + *!* SELECT tact + *!* this.grid1.SetFocus + *!* RETURN ll_l + ENDPROC + + PROCEDURE inainte_de_do_termin + lVerificAnalitic = .T. + lCompletezPartener = .F. + llRet = verificare_note_contabile('tact',lVerificAnalitic,lCompletezPartener) && in oOperatii_comune + RETURN llRet + + + *!* LOCAL lcInMesaj,lcInMesajP,lcInMesajIreg + *!* STORE '' TO lcInMesaj,lcInMesajP, lcInMesajIreg + + *!* SELECT tact + *!* GO TOP + *!* lnId_set=id_set + *!* ll_return = .T. + + *!* SELECT DISTINCT scd AS CONT FROM tact ; + *!* WHERE suma # 0 ; + *!* UNION ; + *!* SELECT DISTINCT scc AS CONT FROM tact ; + *!* WHERE suma # 0 ; + *!* INTO CURSOR tcont + + *!* i = 0 + *!* SELECT tcont + *!* SCAN + *!* i = i + 1 + *!* IF i = 1 + *!* lcLista = ALLTRIM(CONT) + *!* ELSE + *!* lcLista = lcLista + ',' + ALLTRIM(CONT) + *!* ENDIF + *!* ENDSCAN + + *!* lcSql = 'select distinct c.cont as contpart, c.fel_cont, c.cu_inregistrari, c.explicatie as explic_cont,e.cont_c as exceptie, e.debit as pozitie, e.invers, 0 as gasit ' + ; + *!* 'from ' + gcs + '.vcoresp_tip_cont c left join ' + gcs + '.exceptii_ireg e on c.cont = e.cont and e.invers = 1 ' + ; + *!* 'where to_number(c.cont) in (' + lcLista + ')' + *!* lcCursor = 'verif_part' + + *!* lnSucces = goExecutor.oExecute(lcSql,lcCursor) + *!* IF lnSucces < 0 + *!* MESSAGEBOX('Modificare:Verific completare id_part ' +goExecutor.cEroare,0+16,"Eroare") + *!* ENDIF + + *!* IF lnSucces > 0 + *!* IF RECCOUNT('verif_part') > 0 + *!* SELECT tact + *!* SCAN FOR !EMPTY(suma) + *!* SCATTER NAME loCont + *!* SELECT verif_part + *!* LOCATE FOR contpart=loCont.scd + *!* IF FOUND() + *!* IF EMPTY(loCont.Id_partd) AND !(loCont.scd$lcInMesajP) + *!* lcInMesajP=lcInMesajP+','+loCont.scd + *!* REPLACE gasit WITH 1 + *!* ENDIF + + *!* IF EMPTY(loCont.pereched) AND cu_inregistrari = 1 AND fel_cont = 1 AND !(loCont.scd$lcInMesajIreg) + *!* LOCATE FOR contpart=loCont.scd AND exceptie = loCont.scc AND fel_cont = 1 AND pozitie = 0 AND invers = 1 + *!* IF !FOUND() + *!* lcInMesajIreg = lcInMesajIreg + ',' + loCont.scd + *!* ENDIF + *!* ENDIF + *!* ENDIF + + *!* SELECT verif_part + *!* LOCATE FOR contpart=loCont.scc + *!* IF FOUND() + *!* IF EMPTY(loCont.Id_partc) AND !(loCont.scc$lcInMesajP) + *!* lcInMesajP=lcInMesajP+','+loCont.scc + *!* REPLACE gasit WITH 1 + *!* ENDIF + *!* IF cu_inregistrari = 1 AND fel_cont = 0 AND EMPTY(loCont.perechec) AND !(loCont.scc$lcInMesajIreg) + *!* LOCATE FOR contpart=loCont.scc AND exceptie = loCont.scd AND fel_cont = 0 AND pozitie = 1 AND invers = 1 + *!* IF !FOUND() + *!* lcInMesajIreg = lcInMesajIreg + ',' + loCont.scc + *!* ENDIF + *!* ENDIF + *!* ENDIF + *!* SELECT tact + *!* ENDSCAN + *!* ENDIF + *!* ENDIF + + *!* IF lnSucces > 0 AND !(lnId_set>90000 AND lnId_set<90010) && notele de inchidere se fac in functie de optiuni + *!* lcSql=[select CONT, ACONT FROM ] + gcs + [.vplcont_ANALITIC where inactiv = 0 and an = ?gnAn order by cont ] + *!* lcCursor = 'plcontana' + *!* lnSucces = goExecutor.oExecute(lcSql,lcCursor) + + *!* IF lnSucces < 0 + *!* MESSAGEBOX('Modificare:Verific completare analitic ' +goExecutor.cEroare,0+16,"Eroare") + *!* ENDIF + + *!* IF lnSucces > 0 + *!* SELECT tact + *!* SCAN FOR !EMPTY(suma) + *!* SCATTER NAME loCont + *!* IF EMPTY(loCont.ascd) OR ISNULL(loCont.ascd) + *!* SELECT plcontana + *!* LOCATE FOR ALLTRIM(CONT)=ALLTRIM(loCont.scd) + *!* IF FOUND() + *!* IF !(loCont.scd$lcInMesaj) + *!* lcInMesaj=lcInMesaj+','+loCont.scd + *!* ENDIF + *!* ENDIF + *!* ENDIF + *!* IF EMPTY(loCont.ascc) OR ISNULL(loCont.ascc) + *!* SELECT plcontana + *!* LOCATE FOR CONT=loCont.scc + *!* IF FOUND() + *!* IF !(loCont.scc$lcInMesaj) + *!* lcInMesaj=lcInMesaj+','+loCont.scc + *!* ENDIF + *!* ENDIF + *!* ENDIF + *!* SELECT tact + *!* ENDSCAN + *!* RELEASE loCont + *!* ENDIF + *!* ENDIF + + *!* IF !EMPTY(lcInMesaj) + *!* DO mesaj WITH 'Nu ati completat simbolurile analitice pentru conturile:',lcInMesaj + *!* ll_return = .F. + *!* ENDIF + + *!* IF !EMPTY(lcInMesajP) + *!* DO mesaj WITH 'Nu ati completat partenerii pentru conturile:', lcInMesajP + *!* ll_return = .F. + *!* ENDIF + + *!* IF !EMPTY(lcInMesajIreg) + *!* DO mesaj WITH 'Nu ati completat doc. pereche pentru conturile:', lcInMesajIreg + *!* ll_return = .F. + *!* ENDIF + + *!* IF USED('verif_part') + *!* USE IN verif_part + *!* ENDIF + *!* IF USED('plcontana') + *!* USE IN plcontana + *!* ENDIF + *!* IF USED('tcont') + *!* USE IN tcont + *!* ENDIF + + *!* RETURN ll_return + + + + ENDPROC + + PROCEDURE Show + LPARAMETERS nStyle + SELECT tact + this.grid1.SetFocus + ENDPROC + + PROCEDURE cnomenclator.Click + thisform.do_modifica(thisform.pcx_item, thisform.pccontrol) + ENDPROC + + PROCEDURE Command1.Click + LOCAL lnIdPartd + Select tact + lcCont = tact.scd + lnIdPartd = id_partd + + locauta = Thisform.do_cauta(lcCont) + If gnButon = 1 + lnid_part=locauta.id_part + lcnume=Alltrim(locauta.nume) + Select tact + Replace id_partd With lnid_part, partd With lcnume + If lnIdPartd <> lnid_part + Select tact + Replace pereched With 0, id_factd With 0 + Endif + Endif + + + ENDPROC + + PROCEDURE Command2.Click + LOCAL lnIdPartc + Select tact + lcCont = tact.scc + lnIdPartc = id_partc + + locauta = Thisform.do_cauta(lcCont) + If gnButon = 1 + lnid_part=locauta.id_part + lcnume=Alltrim(locauta.nume) + Select tact + Replace id_partc With lnid_part, partc With lcnume + If lnIdPartc <> lnid_part + Select tact + Replace perechec With 0, id_factc With 0 + Endif + Endif + + + ENDPROC + + PROCEDURE Command3.Click + PARAMETERS tnFel + LOCAL lcSel + + IF PCOUNT()<1 + tnFel = thisform.fel_compensare + ENDIF + + lcSel = thisform.grid1.RecordSource + SELECT (lcSel) + SCATTER NAME odoc + && 0 = ACTIV + && 1 = PASIV + *thisform.aleg_document_pereche(tnFel,odoc) + DO aleg_document_pereche WITH tnFel,odoc,lcSel IN oOperatii_comune.prg + thisform.grid1.SetFocus + RELEASE odoc + ENDPROC + + PROCEDURE Grid1.AfterRowColChange + LPARAMETERS nColIndex + IF thisform.pncolumnorder = nColIndex + thisform.cnomenclator.Enabled = .t. + ELSE + thisform.cnomenclator.Enabled = .f. + ENDIF + + IF [pereche]$LOWER(thisform.pccontrol) + thisform.command3.Enabled = .t. + IF [pereched]$LOWER(thisform.pccontrol) + thisform.fel_compensare = 1 + thisform.command3.Caption = [Nr.Doc.Pereche Cont ]+ ALLTRIM(scd) + ELSE + thisform.fel_compensare = 0 + thisform.command3.Caption = [Nr.Doc.Pereche Cont ]+ ALLTRIM(scc) + ENDIF + ELSE + thisform.command3.Enabled = .f. + thisform.command3.Caption = [Nr.Doc.Pereche] + ENDIF + ENDPROC + + PROCEDURE Grid1.BeforeRowColChange + LPARAMETERS nColIndex + IF thisform.pncolumnorder # nColIndex + STORE [] TO thisform.pccontrol + ENDIF + ENDPROC + + PROCEDURE Grid1.Column10.Text1.InteractiveChange + thisform.command2.Click + + ENDPROC + + PROCEDURE Grid1.Column13.Text1.GotFocus + thisform.pccontrol = ALLTRIM(this.ControlSource) + + ENDPROC + + PROCEDURE Grid1.Column13.Text1.InteractiveChange + thisform.command3.Click(1) + ENDPROC + + PROCEDURE Grid1.Column15.Text1.GotFocus + thisform.pccontrol = ALLTRIM(this.ControlSource) + thisform.pcx_item = 'x15' + thisform.pncolumnorder = this.Parent.ColumnOrder + ENDPROC + + PROCEDURE Grid1.Column15.Text1.InteractiveChange + locauta = thisform.do_modifica(thisform.pcx_item, thisform.pccontrol) + ENDPROC + + PROCEDURE Grid1.Column15.Text1.LostFocus + *thisform.cnomenclator.Enabled = .F. + ENDPROC + + PROCEDURE Grid1.Column16.Text1.GotFocus + thisform.pccontrol = ALLTRIM(this.ControlSource) + thisform.pcx_item = 'x13' + thisform.pncolumnorder = this.Parent.ColumnOrder + ENDPROC + + PROCEDURE Grid1.Column16.Text1.InteractiveChange + locauta = thisform.do_modifica(thisform.pcx_item, thisform.pccontrol) + ENDPROC + + PROCEDURE Grid1.Column16.Text1.LostFocus + *thisform.cnomenclator.Enabled = .F. + ENDPROC + + PROCEDURE Grid1.Column17.Text1.GotFocus + thisform.pccontrol = ALLTRIM(this.ControlSource) + thisform.pcx_item = 'x14' + thisform.pncolumnorder = this.Parent.ColumnOrder + ENDPROC + + PROCEDURE Grid1.Column17.Text1.InteractiveChange + locauta = thisform.do_modifica(thisform.pcx_item, thisform.pccontrol) + ENDPROC + + PROCEDURE Grid1.Column17.Text1.LostFocus + *thisform.cnomenclator.Enabled = .F. + ENDPROC + + PROCEDURE Grid1.Column22.Text1.GotFocus + thisform.pccontrol = ALLTRIM(this.ControlSource) + thisform.pcx_item = 'x9' + thisform.pncolumnorder = this.Parent.ColumnOrder + ENDPROC + + PROCEDURE Grid1.Column22.Text1.InteractiveChange + locauta = thisform.do_modifica(thisform.pcx_item, thisform.pccontrol) + ENDPROC + + PROCEDURE Grid1.Column23.Text1.Click + this.LostFocus(.t.) + ENDPROC + + PROCEDURE Grid1.Column23.Text1.LostFocus + PARAMETERS PlClick + lcCont = scd + lcAcont = ascd + llReturn = verific_analitic(plClick, lcCont, lcAcont,'ascd','tact') && in oOperatii_comune.prg + ENDPROC + + PROCEDURE Grid1.Column24.Text1.Click + this.LostFocus(.t.) + ENDPROC + + PROCEDURE Grid1.Column24.Text1.LostFocus + PARAMETERS PlClick + lcCont = scc + lcAcont = ascc + llReturn = verific_analitic(plClick, lcCont, lcAcont,'ascc','tact') && in oOperatii_comune.prg + ENDPROC + + PROCEDURE Grid1.Column27.Text1.GotFocus + thisform.pccontrol = ALLTRIM(this.ControlSource) + ENDPROC + + PROCEDURE Grid1.Column27.Text1.InteractiveChange + thisform.command3.Click(0) + ENDPROC + + PROCEDURE Grid1.Column28.Text1.GotFocus + thisform.pccontrol = ALLTRIM(this.ControlSource) + thisform.pcx_item = 'x16' + thisform.pncolumnorder = this.Parent.ColumnOrder + ENDPROC + + PROCEDURE Grid1.Column28.Text1.InteractiveChange + locauta = thisform.do_modifica(thisform.pcx_item, thisform.pccontrol) + ENDPROC + + PROCEDURE Grid1.Column28.Text1.LostFocus + *thisform.cnomenclator.Enabled = .F. + ENDPROC + + PROCEDURE Grid1.Column29.Text1.GotFocus + thisform.pccontrol = ALLTRIM(this.ControlSource) + thisform.pcx_item = 'x11' + thisform.pncolumnorder = this.Parent.ColumnOrder + ENDPROC + + PROCEDURE Grid1.Column29.Text1.InteractiveChange + locauta = thisform.do_modifica(thisform.pcx_item, thisform.pccontrol) + ENDPROC + + PROCEDURE Grid1.Column29.Text1.LostFocus + *thisform.cnomenclator.Enabled = .F. + ENDPROC + + PROCEDURE Grid1.Column3.Text1.GotFocus + thisform.pccontrol = ALLTRIM(this.ControlSource) + thisform.pcx_item = 'x2' + thisform.pncolumnorder = this.Parent.ColumnOrder + ENDPROC + + PROCEDURE Grid1.Column3.Text1.InteractiveChange + locauta = thisform.do_modifica(thisform.pcx_item, thisform.pccontrol) + ENDPROC + + PROCEDURE Grid1.Column3.Text1.LostFocus + *thisform.cnomenclator.Enabled = .F. + ENDPROC + + PROCEDURE Grid1.Column32.Text1.GotFocus + thisform.pccontrol = ALLTRIM(this.ControlSource) + thisform.pcx_item = 'x10' + thisform.pncolumnorder = this.Parent.ColumnOrder + ENDPROC + + PROCEDURE Grid1.Column32.Text1.InteractiveChange + locauta = thisform.do_modifica(thisform.pcx_item, thisform.pccontrol) + ENDPROC + + PROCEDURE Grid1.Column33.Text1.GotFocus + SELECT x_item FROM xitems WHERE ALLTRIM(UPPER(label_item)) == 'SUCURSALA' INTO CURSOR crsItem + SELECT crsItem + IF RECCOUNT() = 0 OR EMPTY(x_item) + thisform.pcx_item = 'x29' && XITEM DIN CONTABILITATE + ELSE + thisform.pcx_item = x_item && 'x32' IN XITEM DIN GESTIUNI + ENDIF + USE IN crsItem + + thisform.pccontrol = ALLTRIM(this.ControlSource) + thisform.pncolumnorder = this.Parent.ColumnOrder + ENDPROC + + PROCEDURE Grid1.Column33.Text1.InteractiveChange + locauta = thisform.do_modifica(thisform.pcx_item, thisform.pccontrol) + ENDPROC + + PROCEDURE Grid1.Column34.Text1.GotFocus + thisform.pccontrol = ALLTRIM(this.ControlSource) + thisform.pcx_item = 'x70' + thisform.pncolumnorder = this.Parent.ColumnOrder + ENDPROC + + PROCEDURE Grid1.Column34.Text1.InteractiveChange + locauta = thisform.do_modifica(thisform.pcx_item, thisform.pccontrol) + ENDPROC + + PROCEDURE Grid1.Column6.Text1.InteractiveChange + thisform.command1.Click + ENDPROC + + PROCEDURE Grid1.Column7.Text1.LostFocus + lcCont=scd + llReturn=exista_cont_in_plan_conturi(lcCont) && in oOperatii_comune.prg + ENDPROC + + PROCEDURE Grid1.Column8.Text1.LostFocus + lcCont=scc + llReturn=exista_cont_in_plan_conturi(lcCont) && in oOperatii_comune.prg + ENDPROC + +ENDDEFINE + +DEFINE CLASS frm_modific2007 AS _frmbase OF "_frm_base.vcx" + *< CLASSDATA: Baseclass="form" Timestamp="" Scale="Pixels" Uniqueid="" /> + + *-- OBJECTDATA items order determines ZOrder / El orden de los items OBJECTDATA determina el ZOrder + *< OBJECTDATA: ObjPath="Grid1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="Grid1.Column1.Header1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="Grid1.Column1.Text1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="Grid1.Column2.Header2" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="Grid1.Column2.Text1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="Grid1.Column3.Header3" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="Grid1.Column3.Text1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="Grid1.Column4.Header4" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="Grid1.Column4.Text1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="Grid1.Column5.Header5" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="Grid1.Column5.Text1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="Grid1.Column6.Header6" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="Grid1.Column6.Text1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="Grid1.Column7.Header7" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="Grid1.Column7.Text1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="Grid1.Column8.Header8" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="Grid1.Column8.Text1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="Grid1.Column9.Header9" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="Grid1.Column9.Text1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="Grid1.Column10.Header1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="Grid1.Column10.Text1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="Grid1.Column11.Header1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="Grid1.Column11.Text1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="Grid1.Column12.Header1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="Grid1.Column12.Text1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="Grid1.Column13.Header1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="Grid1.Column13.Text1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="Grid1.Column14.Header1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="Grid1.Column14.Text1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="Grid1.Column15.Header1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="Grid1.Column15.Text1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="Grid1.Column16.Header1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="Grid1.Column16.Text1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="Grid1.Column17.Header1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="Grid1.Column17.Text1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="Grid1.Column18.Header1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="Grid1.Column18.Text1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="Grid1.Column19.Header1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="Grid1.Column19.Text1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="Grid1.Column20.Header1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="Grid1.Column20.Text1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="Grid1.Column21.Header1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="Grid1.Column21.Text1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="Grid1.Column22.Header1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="Grid1.Column22.Text1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="Grid1.Column23.Header1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="Grid1.Column23.Text1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="Grid1.Column24.Header1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="Grid1.Column24.Text1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="Grid1.Column25.Header1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="Grid1.Column25.Text1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="Grid1.Column26.Header1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="Grid1.Column26.Text1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="Grid1.Column27.Header1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="Grid1.Column27.Text1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="Grid1.Column28.Header1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="Grid1.Column28.Text1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="Grid1.Column29.Header1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="Grid1.Column29.Text1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="Grid1.Column30.Header1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="Grid1.Column30.Text1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="Grid1.Column31.Header1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="Grid1.Column31.Text1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="Grid1.Column32.Header1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="Grid1.Column32.Text1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="Grid1.Column33.Header1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="Grid1.Column33.Text1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="Grid1.Column34.Header1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="Grid1.Column34.Text1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="Grid1.Column35.Header1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="Grid1.Column35.Text1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="Grid1.Column36.Header1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="Grid1.Column36._CHECKBOX1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="Grid1.Column37.Header1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="Grid1.Column37.Text1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="Grid1.Column38.Header1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="Grid1.Column38.Text1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="Grid1.Column39.Header1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="Grid1.Column39.Text1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="Grid1.Column40.Header1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="Grid1.Column40.Text1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="Grid1.cAles.Header1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="Grid1.cAles.Text1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="Grid1.cAles._CHECKBOX1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="Grid1.Column42.Header1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="Grid1.Column42.Text1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="Grid1.Column42._combobox1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="Grid1.Column43.Header1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="Grid1.Column43.Text1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="Grid1.Column43._combobox1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="Command1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="Command2" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="But_renunt1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="cnomenclator" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="Command3" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="But_nou1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="But_sterge1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="Command4" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="But_copiaza1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="Gridextra1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="Lb_shortcuts1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="Command5" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="But_salveaza1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="chkTVAEx" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="txtSuma" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="_label1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="But_modiparam1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="chkCtAnalitic" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="Command6" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="cmdSelect" UniqueID="" Timestamp="" /> + + * + *m: alege_partener + *m: aleg_document_pereche + *m: calculeazatotal + *m: ccontrol_assign + *m: creeaza_note_tva_incasare + *m: do_adauga_tva_exigibil + *m: do_import + *m: do_modifica_explicatie_tva + *m: grid_focus_prima_coloana + *m: salveazaxml + *m: updateexplicatiesaft + *m: valideaza_data + *p: cacont + *p: ccont + *p: ccontrol + *p: cpaymentcode + *p: fel_compensare + *p: lmodificare + *p: lnotanoua + *p: lverificare + *p: lvizualizare + *p: nid_set + *p: noldsuma && Valoarea la intrarea in campul "Suma" + *p: nsuma && Total suma inregistrari + *p: ntaxcode + *p: obackupxml + *p: oset + *p: ouset + *p: pccontrol + *p: pcx_item + *p: pncolumnorder + *p: pnid_item + * + + * + BackColor = 192,192,192 + BorderStyle = 3 + cacont = + ccont = + cpaymentcode = + DoCreate = .T. + FontCharSet = 238 + Height = 360 + lmodificare = .F. + lnotanoua = .F. + lverificare = .F. + lvizualizare = .F. + Name = "frm_modific2007" + nid_set = 0 + noldsuma = 0 + nsuma = 0 + ntaxcode = 0 + obackupxml = NULL + oset = NULL + ouset = NULL + pccontrol = [] + pcx_item = 0 + pncolumnorder = 0 + pnid_item = 0 + Width = 816 + WindowType = 1 + _memberdata = + + + + + + + + + + _shape1.Anchor = 10 + _shape1.Height = 31 + _shape1.Left = 0 + _shape1.Name = "_shape1" + _shape1.Top = 0 + _shape1.Width = 820 + _shape2.Anchor = 8 + _shape2.Height = 31 + _shape2.Left = 636 + _shape2.Name = "_shape2" + _shape2.Top = 0 + _shape2.Width = 164 + Lb_titlu_alb_b121.Caption = "MODIFICARE" + Lb_titlu_alb_b121.Left = 6 + Lb_titlu_alb_b121.Name = "Lb_titlu_alb_b121" + Lb_titlu_alb_b121.TabIndex = 18 + Lb_titlu_alb_b121.Top = 2 + BUT_TERMIN1.Anchor = 8 + BUT_TERMIN1.Left = 784 + BUT_TERMIN1.Name = "BUT_TERMIN1" + BUT_TERMIN1.TabIndex = 11 + BUT_TERMIN1.Top = 2 + Gridsort1.Name = "Gridsort1" + * + + ADD OBJECT '_label1' AS _label WITH ; + Anchor = 12, ; + Caption = "Total", ; + FontBold = .T., ; + Left = 511, ; + Name = "_label1", ; + TabIndex = 21, ; + Top = 334 + *< END OBJECT: ClassLib="_baza.vcx" BaseClass="label" /> + + ADD OBJECT 'But_copiaza1' AS but_copiaza WITH ; + Anchor = 8, ; + caction = do_copie, ; + Left = 665, ; + Name = "But_copiaza1", ; + TabIndex = 15, ; + ToolTipText = "Copiere - Se copiaza toate campurile din inregistrarea curenta sau inregistrarile alese ", ; + Top = 2 + *< END OBJECT: ClassLib="cmd_butoane.vcx" BaseClass="commandbutton" /> + + ADD OBJECT 'But_modiparam1' AS but_modiparam WITH ; + Anchor = 8, ; + caction = do_import, ; + Left = 605, ; + Name = "But_modiparam1", ; + TabIndex = 17, ; + ToolTipText = "Import din fisier MT940, xls...", ; + Top = 2, ; + Visible = .F. + *< END OBJECT: ClassLib="cmd_butoane.vcx" BaseClass="commandbutton" /> + + ADD OBJECT 'But_nou1' AS but_nou WITH ; + Anchor = 8, ; + Left = 636, ; + Name = "But_nou1", ; + TabIndex = 16, ; + ToolTipText = "Adaugare (CTRL+N) Se copiaza inregistrarea curenta sau inregistrarile alese, fara campurile: cont, partener, document pereche, suma lei, suma valuta", ; + Top = 2 + *< END OBJECT: ClassLib="cmd_butoane.vcx" BaseClass="commandbutton" /> + + ADD OBJECT 'But_renunt1' AS but_renunt WITH ; + Anchor = 8, ; + Left = 754, ; + Name = "But_renunt1", ; + TabIndex = 12, ; + Top = 2 + *< END OBJECT: ClassLib="cmd_butoane.vcx" BaseClass="commandbutton" /> + + ADD OBJECT 'But_salveaza1' AS but_salveaza WITH ; + Anchor = 8, ; + Left = 724, ; + Name = "But_salveaza1", ; + TabIndex = 13, ; + ToolTipText = "Salvare set note contabile", ; + Top = 2 + *< END OBJECT: ClassLib="cmd_butoane.vcx" BaseClass="commandbutton" /> + + ADD OBJECT 'But_sterge1' AS but_sterge WITH ; + Anchor = 8, ; + Left = 694, ; + Name = "But_sterge1", ; + TabIndex = 14, ; + Top = 2, ; + Visible = .T. + *< END OBJECT: ClassLib="cmd_butoane.vcx" BaseClass="commandbutton" /> + + ADD OBJECT 'chkCtAnalitic' AS _checkbox WITH ; + Alignment = 0, ; + Anchor = 8, ; + AutoSize = .F., ; + Caption = "Copiez ct. analitic", ; + FontCharSet = 238, ; + FontSize = 10, ; + Left = 689, ; + Name = "chkCtAnalitic", ; + TabIndex = 10, ; + ToolTipText = "Se completeaza contul analitic in toate inregistrarile pentru contul sintetic curent", ; + Top = 332, ; + Width = 120 + *< END OBJECT: ClassLib="_baza.vcx" BaseClass="checkbox" /> + + ADD OBJECT 'chkTVAEx' AS _checkbox WITH ; + Alignment = 0, ; + Anchor = 8, ; + AutoSize = .F., ; + Caption = "Suma TVA exigibil", ; + FontCharSet = 238, ; + FontSize = 10, ; + Left = 689, ; + Name = "chkTVAEx", ; + TabIndex = 9, ; + ToolTipText = "Calculeaza suma TVA exigibil la adaugare note TVA exigibil. Este activ pentru notele 4428 sau pentru plati/incasari.", ; + Top = 271, ; + Value = 1, ; + Width = 123 + *< END OBJECT: ClassLib="_baza.vcx" BaseClass="checkbox" /> + + ADD OBJECT 'cmdSelect' AS commandbutton WITH ; + Anchor = 6, ; + AutoSize = .F., ; + Caption = "Selecteaza tot", ; + FontCharSet = 238, ; + FontSize = 10, ; + FontUnderline = .T., ; + ForeColor = 0,0,64, ; + Height = 30, ; + Left = 4, ; + Name = "cmdSelect", ; + TabIndex = 4, ; + Top = 328, ; + Width = 114 + *< END OBJECT: BaseClass="commandbutton" /> + + ADD OBJECT 'cnomenclator' AS commandbutton WITH ; + Anchor = 8, ; + AutoSize = .F., ; + Caption = "Nomenclator", ; + FontCharSet = 238, ; + FontSize = 10, ; + ForeColor = 0,0,64, ; + Height = 30, ; + Left = 688, ; + Name = "cnomenclator", ; + TabIndex = 4, ; + Top = 105, ; + Width = 114 + *< END OBJECT: BaseClass="commandbutton" /> + + ADD OBJECT 'Command1' AS commandbutton WITH ; + Anchor = 8, ; + AutoSize = .F., ; + Caption = "Partener Debit", ; + FontCharSet = 238, ; + FontSize = 10, ; + ForeColor = 0,0,64, ; + Height = 30, ; + Left = 688, ; + Name = "Command1", ; + TabIndex = 2, ; + ToolTipText = "Alege partenerul cont debit", ; + Top = 46, ; + Width = 114 + *< END OBJECT: BaseClass="commandbutton" /> + + ADD OBJECT 'Command2' AS commandbutton WITH ; + Anchor = 8, ; + AutoSize = .F., ; + Caption = "Partener Credit", ; + FontCharSet = 238, ; + FontSize = 10, ; + ForeColor = 0,0,64, ; + Height = 30, ; + Left = 688, ; + Name = "Command2", ; + TabIndex = 3, ; + ToolTipText = "Alege partenerul cont credit", ; + Top = 75, ; + Width = 114 + *< END OBJECT: BaseClass="commandbutton" /> + + ADD OBJECT 'Command3' AS commandbutton WITH ; + Anchor = 8, ; + AutoSize = .F., ; + Caption = "Doc. platit", ; + Enabled = .F., ; + FontCharSet = 238, ; + FontSize = 10, ; + ForeColor = 0,0,64, ; + Height = 46, ; + Left = 688, ; + Name = "Command3", ; + TabIndex = 5, ; + ToolTipText = "Alege document platit (cont debitor). Este activ daca este completat contul si partenerul debit.", ; + Top = 137, ; + Width = 114, ; + WordWrap = .T. + *< END OBJECT: BaseClass="commandbutton" /> + + ADD OBJECT 'Command4' AS commandbutton WITH ; + Anchor = 8, ; + AutoSize = .F., ; + Caption = "Explicatie TVA", ; + Enabled = .F., ; + FontCharSet = 238, ; + FontSize = 10, ; + ForeColor = 0,0,64, ; + Height = 34, ; + Left = 688, ; + Name = "Command4", ; + TabIndex = 7, ; + Top = 232, ; + Width = 114 + *< END OBJECT: BaseClass="commandbutton" /> + + ADD OBJECT 'Command5' AS commandbutton WITH ; + Anchor = 8, ; + AutoSize = .F., ; + Caption = "Adauga nota TVA devenit exigibil", ; + Enabled = .F., ; + FontCharSet = 238, ; + FontSize = 10, ; + ForeColor = 0,0,64, ; + Height = 41, ; + Left = 688, ; + Name = "Command5", ; + TabIndex = 8, ; + ToolTipText = "Adauga nota TVA exigibil. Este activ pentru notele 4428 sau pentru plati/incasari.", ; + Top = 288, ; + Width = 114, ; + WordWrap = .T. + *< END OBJECT: BaseClass="commandbutton" /> + + ADD OBJECT 'Command6' AS commandbutton WITH ; + Anchor = 8, ; + AutoSize = .F., ; + Caption = "Doc. incasat", ; + Enabled = .F., ; + FontCharSet = 238, ; + FontSize = 10, ; + ForeColor = 0,0,64, ; + Height = 46, ; + Left = 688, ; + Name = "Command6", ; + TabIndex = 6, ; + ToolTipText = "Alege document incasat (cont creditor). Este activ daca este completat contul si partenerul credit.", ; + Top = 183, ; + Width = 114, ; + WordWrap = .T. + *< END OBJECT: BaseClass="commandbutton" /> + + ADD OBJECT 'Grid1' AS grid WITH ; + Anchor = 15, ; + BackColor = 244,250,255, ; + ColumnCount = 43, ; + DeleteMark = .F., ; + FontCharSet = 238, ; + FontSize = 10, ; + GridLineColor = 128,128,128, ; + HeaderHeight = 37, ; + Height = 284, ; + HighlightBackColor = 0,64,128, ; + HighlightStyle = 2, ; + Left = 5, ; + Name = "Grid1", ; + Panel = 1, ; + ReadOnly = .F., ; + RecordSource = "tACT", ; + RowHeight = 19, ; + SelectedItemBackColor = 49,106,197, ; + TabIndex = 1, ; + Top = 40, ; + Width = 675, ; + ZOrderSet = 3, ; + Column1.Alignment = 1, ; + Column1.BackColor = 244,250,255, ; + Column1.ColumnOrder = 1, ; + Column1.ControlSource = "NRCRT()", ; + Column1.FontCharSet = 238, ; + Column1.FontName = "Arial", ; + Column1.FontSize = 10, ; + Column1.Name = "Column1", ; + Column1.ReadOnly = .F., ; + Column1.Width = 29, ; + Column2.Alignment = 0, ; + Column2.BackColor = 244,250,255, ; + Column2.ColumnOrder = 3, ; + Column2.ControlSource = "dataireg", ; + Column2.FontCharSet = 238, ; + Column2.FontName = "Arial", ; + Column2.FontSize = 10, ; + Column2.Name = "Column2", ; + Column2.ReadOnly = .F., ; + Column2.Width = 71, ; + Column3.Alignment = 0, ; + Column3.BackColor = 244,250,255, ; + Column3.ColumnOrder = 15, ; + Column3.ControlSource = "fdoc", ; + Column3.FontCharSet = 238, ; + Column3.FontName = "Arial", ; + Column3.FontSize = 10, ; + Column3.Name = "Column3", ; + Column3.ReadOnly = .F., ; + Column3.Width = 88, ; + Column4.Alignment = 0, ; + Column4.BackColor = 244,250,255, ; + Column4.ColumnOrder = 4, ; + Column4.ControlSource = "dataact", ; + Column4.FontCharSet = 238, ; + Column4.FontName = "Arial", ; + Column4.FontSize = 10, ; + Column4.Name = "Column4", ; + Column4.ReadOnly = .F., ; + Column4.Width = 51, ; + Column5.Alignment = 1, ; + Column5.BackColor = 244,250,255, ; + Column5.ColumnOrder = 6, ; + Column5.ControlSource = "nract", ; + Column5.FontCharSet = 238, ; + Column5.FontName = "Arial", ; + Column5.FontSize = 10, ; + Column5.Name = "Column5", ; + Column5.ReadOnly = .F., ; + Column5.Width = 53, ; + Column6.Alignment = 0, ; + Column6.BackColor = 244,250,255, ; + Column6.ColumnOrder = 7, ; + Column6.ControlSource = "partd", ; + Column6.FontCharSet = 238, ; + Column6.FontName = "Arial", ; + Column6.FontSize = 10, ; + Column6.Name = "Column6", ; + Column6.ReadOnly = .F., ; + Column6.Width = 114, ; + Column7.Alignment = 1, ; + Column7.BackColor = 244,250,255, ; + Column7.ColumnOrder = 10, ; + Column7.ControlSource = "scd", ; + Column7.FontCharSet = 238, ; + Column7.FontName = "Arial", ; + Column7.FontSize = 10, ; + Column7.Name = "Column7", ; + Column7.ReadOnly = .F., ; + Column7.Width = 57, ; + Column8.Alignment = 1, ; + Column8.BackColor = 244,250,255, ; + Column8.ColumnOrder = 12, ; + Column8.ControlSource = "scc", ; + Column8.FontCharSet = 238, ; + Column8.FontName = "Arial", ; + Column8.FontSize = 10, ; + Column8.Name = "Column8", ; + Column8.ReadOnly = .F., ; + Column8.Width = 62, ; + Column9.Alignment = 1, ; + Column9.BackColor = 244,250,255, ; + Column9.ColumnOrder = 14, ; + Column9.ControlSource = "suma", ; + Column9.DynamicForeColor = "IIF(SUMA>=0, RGB(0,0,0), RGB(255,0,0))", ; + Column9.FontCharSet = 238, ; + Column9.FontName = "Arial", ; + Column9.FontSize = 10, ; + Column9.Format = "r", ; + Column9.InputMask = (get_mask(12,gnPa)), ; + Column9.Name = "Column9", ; + Column9.ReadOnly = .F., ; + Column9.Width = 93, ; + Column10.Alignment = 0, ; + Column10.BackColor = 244,250,255, ; + Column10.ColumnOrder = 8, ; + Column10.ControlSource = "partc", ; + Column10.FontCharSet = 238, ; + Column10.FontName = "Arial", ; + Column10.FontSize = 10, ; + Column10.Name = "Column10", ; + Column10.ReadOnly = .F., ; + Column10.Width = 100, ; + Column11.Alignment = 0, ; + Column11.BackColor = 244,250,255, ; + Column11.ColumnOrder = 9, ; + Column11.ControlSource = "explicatia", ; + Column11.FontCharSet = 238, ; + Column11.FontName = "Arial", ; + Column11.FontSize = 10, ; + Column11.Name = "Column11", ; + Column11.ReadOnly = .F., ; + Column11.Width = 77, ; + Column12.BackColor = 244,250,255, ; + Column12.ColumnOrder = 37, ; + Column12.ControlSource = "cod", ; + Column12.FontCharSet = 238, ; + Column12.FontName = "Arial", ; + Column12.FontSize = 10, ; + Column12.Name = "Column12", ; + Column12.ReadOnly = .T., ; + Column12.Width = 52, ; + Column13.BackColor = 244,250,255, ; + Column13.ColumnOrder = 16, ; + Column13.ControlSource = "pereched", ; + Column13.FontCharSet = 238, ; + Column13.FontName = "Arial", ; + Column13.FontSize = 10, ; + Column13.Name = "Column13", ; + Column13.ReadOnly = .F., ; + Column13.Width = 106, ; + Column14.BackColor = 244,250,255, ; + Column14.ColumnOrder = 31, ; + Column14.ControlSource = "explicatia4", ; + Column14.FontCharSet = 238, ; + Column14.FontName = "Arial", ; + Column14.FontSize = 10, ; + Column14.Name = "Column14", ; + Column14.ReadOnly = .F., ; + Column14.Width = 120, ; + Column15.BackColor = 244,250,255, ; + Column15.ColumnOrder = 24, ; + Column15.ControlSource = "nrord", ; + Column15.FontCharSet = 238, ; + Column15.FontName = "Arial", ; + Column15.FontSize = 10, ; + Column15.Name = "Column15", ; + Column15.ReadOnly = .F., ; + Column16.BackColor = 244,250,255, ; + Column16.ColumnOrder = 26, ; + Column16.ControlSource = "nresp", ; + Column16.FontCharSet = 238, ; + Column16.FontName = "Arial", ; + Column16.FontSize = 10, ; + Column16.Format = "", ; + Column16.InputMask = "", ; + Column16.Name = "Column16", ; + Column16.ReadOnly = .F., ; + Column17.BackColor = 244,250,255, ; + Column17.ColumnOrder = 27, ; + Column17.ControlSource = "dst_chlt", ; + Column17.FontCharSet = 238, ; + Column17.FontName = "Arial", ; + Column17.FontSize = 10, ; + Column17.Format = "", ; + Column17.InputMask = "", ; + Column17.Name = "Column17", ; + Column17.ReadOnly = .F., ; + Column18.BackColor = 244,250,255, ; + Column18.ColumnOrder = 32, ; + Column18.ControlSource = "explicatia5", ; + Column18.FontCharSet = 238, ; + Column18.FontName = "Arial", ; + Column18.FontSize = 10, ; + Column18.Name = "Column18", ; + Column18.ReadOnly = .F., ; + Column18.Width = 119, ; + Column19.BackColor = 244,250,255, ; + Column19.ColumnOrder = 23, ; + Column19.ControlSource = "datascad", ; + Column19.FontCharSet = 238, ; + Column19.FontName = "Arial", ; + Column19.FontSize = 10, ; + Column19.Name = "Column19", ; + Column19.ReadOnly = .F., ; + Column19.Visible = .T., ; + Column19.Width = 87, ; + Column20.BackColor = 244,250,255, ; + Column20.ColumnOrder = 28, ; + Column20.ControlSource = "suma_val", ; + Column20.FontCharSet = 238, ; + Column20.FontName = "Arial", ; + Column20.FontSize = 10, ; + Column20.InputMask = (get_mask(12,gnPa)), ; + Column20.Name = "Column20", ; + Column20.ReadOnly = .F., ; + Column20.Width = 89, ; + Column21.BackColor = 244,250,255, ; + Column21.ColumnOrder = 30, ; + Column21.ControlSource = "curs", ; + Column21.FontCharSet = 238, ; + Column21.FontName = "Arial", ; + Column21.FontSize = 10, ; + Column21.InputMask = (get_mask(12,gnPcurs)), ; + Column21.Name = "Column21", ; + Column21.ReadOnly = .F., ; + Column21.Width = 72, ; + Column22.BackColor = 244,250,255, ; + Column22.ColumnOrder = 33, ; + Column22.ControlSource = "gestin", ; + Column22.FontCharSet = 238, ; + Column22.FontName = "Arial", ; + Column22.FontSize = 10, ; + Column22.Name = "Column22", ; + Column22.ReadOnly = .F., ; + Column22.Width = 116, ; + Column23.BackColor = 244,250,255, ; + Column23.ColumnOrder = 11, ; + Column23.ControlSource = "ascd", ; + Column23.FontCharSet = 238, ; + Column23.FontName = "Arial", ; + Column23.FontSize = 10, ; + Column23.Name = "Column23", ; + Column23.ReadOnly = .F., ; + Column23.Width = 46, ; + Column24.BackColor = 244,250,255, ; + Column24.ColumnOrder = 13, ; + Column24.ControlSource = "ascc", ; + Column24.FontCharSet = 238, ; + Column24.FontName = "Arial", ; + Column24.FontSize = 10, ; + Column24.Name = "Column24", ; + Column24.ReadOnly = .F., ; + Column24.Width = 48, ; + Column25.BackColor = 244,250,255, ; + Column25.ColumnOrder = 38, ; + Column25.ControlSource = "id_set", ; + Column25.FontCharSet = 238, ; + Column25.FontName = "Arial", ; + Column25.FontSize = 10, ; + Column25.Name = "Column25", ; + Column25.ReadOnly = .T., ; + Column25.Width = 71, ; + Column26.BackColor = 244,250,255, ; + Column26.ColumnOrder = 19, ; + Column26.ControlSource = "proc_tva", ; + Column26.FontCharSet = 238, ; + Column26.FontName = "Arial", ; + Column26.FontSize = 10, ; + Column26.Name = "Column26", ; + Column26.ReadOnly = .T., ; + Column26.Width = 54, ; + Column27.BackColor = 244,250,255, ; + Column27.ColumnOrder = 17, ; + Column27.ControlSource = "perechec", ; + Column27.FontCharSet = 238, ; + Column27.FontName = "Arial", ; + Column27.FontSize = 10, ; + Column27.Name = "Column27", ; + Column27.ReadOnly = .F., ; + Column27.Width = 104, ; + Column28.BackColor = 244,250,255, ; + Column28.ColumnOrder = 35, ; + Column28.ControlSource = "sectie", ; + Column28.FontCharSet = 238, ; + Column28.FontName = "Arial", ; + Column28.FontSize = 10, ; + Column28.Name = "Column28", ; + Column28.ReadOnly = .F., ; + Column28.Width = 88, ; + Column29.BackColor = 244,250,255, ; + Column29.ColumnOrder = 29, ; + Column29.ControlSource = "nume_val", ; + Column29.FontCharSet = 238, ; + Column29.FontName = "Arial", ; + Column29.FontSize = 10, ; + Column29.Name = "Column29", ; + Column29.ReadOnly = .F., ; + Column29.Width = 79, ; + Column30.BackColor = 244,250,255, ; + Column30.ColumnOrder = 39, ; + Column30.ControlSource = "id_partd", ; + Column30.FontCharSet = 238, ; + Column30.FontName = "Arial", ; + Column30.FontSize = 10, ; + Column30.Name = "Column30", ; + Column30.ReadOnly = .T., ; + Column30.Width = 55, ; + Column31.BackColor = 244,250,255, ; + Column31.ColumnOrder = 40, ; + Column31.ControlSource = "id_partc", ; + Column31.FontCharSet = 238, ; + Column31.FontName = "Arial", ; + Column31.FontSize = 10, ; + Column31.Name = "Column31", ; + Column31.ReadOnly = .T., ; + Column31.Width = 55, ; + Column32.BackColor = 244,250,255, ; + Column32.ColumnOrder = 34, ; + Column32.ControlSource = "gestout", ; + Column32.FontCharSet = 238, ; + Column32.FontName = "Arial", ; + Column32.FontSize = 10, ; + Column32.Name = "Column32", ; + Column32.ReadOnly = .F., ; + Column32.Width = 92, ; + Column33.BackColor = 244,250,255, ; + Column33.ColumnOrder = 36, ; + Column33.ControlSource = "sucursala", ; + Column33.FontCharSet = 238, ; + Column33.FontName = "Arial", ; + Column33.FontSize = 10, ; + Column33.Name = "Column33", ; + Column33.ReadOnly = .F., ; + Column33.Width = 121, ; + Column34.BackColor = 244,250,255, ; + Column34.ColumnOrder = 25, ; + Column34.ControlSource = "contract", ; + Column34.FontCharSet = 238, ; + Column34.FontName = "Arial", ; + Column34.FontSize = 10, ; + Column34.Name = "Column34", ; + Column34.ReadOnly = .T., ; + Column34.Width = 65, ; + Column35.BackColor = 244,250,255, ; + Column35.ColumnOrder = 20, ; + Column35.ControlSource = "explicatie_tva", ; + Column35.FontCharSet = 238, ; + Column35.FontName = "Arial", ; + Column35.FontSize = 10, ; + Column35.Name = "Column35", ; + Column35.ReadOnly = .F., ; + Column35.Width = 136, ; + Column36.BackColor = 244,250,255, ; + Column36.ColumnOrder = 18, ; + Column36.ControlSource = "cu_tva", ; + Column36.FontCharSet = 238, ; + Column36.FontName = "Arial", ; + Column36.FontSize = 10, ; + Column36.Name = "Column36", ; + Column36.ReadOnly = .F., ; + Column36.Sparse = .F., ; + Column36.Width = 51, ; + Column37.BackColor = 244,250,255, ; + Column37.ColumnOrder = 5, ; + Column37.ControlSource = "serie_act", ; + Column37.FontCharSet = 238, ; + Column37.FontName = "Arial", ; + Column37.FontSize = 10, ; + Column37.Format = "!", ; + Column37.Name = "Column37", ; + Column37.ReadOnly = .F., ; + Column37.Width = 58, ; + Column38.BackColor = 244,250,255, ; + Column38.ColumnOrder = 41, ; + Column38.ControlSource = "id_fact", ; + Column38.FontCharSet = 238, ; + Column38.FontName = "Arial", ; + Column38.FontSize = 10, ; + Column38.Name = "Column38", ; + Column38.ReadOnly = .T., ; + Column38.Width = 94, ; + Column39.BackColor = 244,250,255, ; + Column39.ColumnOrder = 42, ; + Column39.ControlSource = "id_factd", ; + Column39.FontCharSet = 238, ; + Column39.FontName = "Arial", ; + Column39.FontSize = 10, ; + Column39.Name = "Column39", ; + Column39.ReadOnly = .T., ; + Column39.Width = 75, ; + Column40.BackColor = 244,250,255, ; + Column40.ColumnOrder = 43, ; + Column40.ControlSource = "id_factc", ; + Column40.FontCharSet = 238, ; + Column40.FontName = "Arial", ; + Column40.FontSize = 10, ; + Column40.Name = "Column40", ; + Column40.ReadOnly = .T., ; + Column41.BackColor = 244,250,255, ; + Column41.ColumnOrder = 2, ; + Column41.ControlSource = "ales", ; + Column41.CurrentControl = "_CHECKBOX1", ; + Column41.FontCharSet = 238, ; + Column41.FontName = "Arial", ; + Column41.FontSize = 10, ; + Column41.Name = "cAles", ; + Column41.ReadOnly = .F., ; + Column41.Sparse = .F., ; + Column41.Width = 22, ; + Column42.BackColor = 244,250,255, ; + Column42.Bound = .F., ; + Column42.ColumnOrder = 21, ; + Column42.ControlSource = "Iif(Seek(tAct.taxcode,'saft_taxtable','taxcode'),saft_taxtable.taxname,'')", ; + Column42.CurrentControl = "_combobox1", ; + Column42.FontCharSet = 238, ; + Column42.FontSize = 10, ; + Column42.Name = "Column42", ; + Column42.ReadOnly = .F., ; + Column42.Sparse = .F., ; + Column42.Width = 184, ; + Column43.BackColor = 244,250,255, ; + Column43.Bound = .F., ; + Column43.ColumnOrder = 22, ; + Column43.ControlSource = "Iif(Seek(tAct.paymentcode,'saft_mecanisme_plati','mcode'),saft_mecanisme_plati.paymentname,'')", ; + Column43.CurrentControl = "_combobox1", ; + Column43.FontCharSet = 238, ; + Column43.FontSize = 10, ; + Column43.Name = "Column43", ; + Column43.ReadOnly = .F., ; + Column43.Sparse = .F., ; + Column43.Width = 146 + *< END OBJECT: BaseClass="grid" /> + + ADD OBJECT 'Grid1.cAles._CHECKBOX1' AS _checkbox WITH ; + Alignment = 2, ; + BackColor = 255,255,255, ; + Caption = "", ; + FontCharSet = 238, ; + FontName = "Arial", ; + FontSize = 10, ; + Left = 9, ; + Name = "_CHECKBOX1", ; + ReadOnly = .F., ; + Top = 79 + *< END OBJECT: ClassLib="_baza.vcx" BaseClass="checkbox" /> + + ADD OBJECT 'Grid1.cAles.Header1' AS header WITH ; + Alignment = 2, ; + Caption = "Ales", ; + FontCharSet = 238, ; + FontName = "Arial", ; + FontSize = 10, ; + Name = "Header1" + *< END OBJECT: BaseClass="header" /> + + ADD OBJECT 'Grid1.cAles.Text1' AS textbox WITH ; + BackColor = 255,255,255, ; + BorderStyle = 0, ; + ForeColor = 0,0,0, ; + Margin = 0, ; + Name = "Text1", ; + SelectedBackColor = 49,106,197 + *< END OBJECT: BaseClass="textbox" /> + + ADD OBJECT 'Grid1.Column1.Header1' AS header WITH ; + Alignment = 2, ; + Caption = "NrCrt", ; + FontCharSet = 238, ; + FontName = "Arial", ; + FontSize = 10, ; + Name = "Header1" + *< END OBJECT: BaseClass="header" /> + + ADD OBJECT 'Grid1.Column1.Text1' AS textbox WITH ; + Alignment = 1, ; + BackColor = 244,250,255, ; + BorderStyle = 0, ; + FontCharSet = 238, ; + FontName = "Arial", ; + FontSize = 10, ; + ForeColor = 0,0,0, ; + Margin = 0, ; + Name = "Text1", ; + ReadOnly = .F., ; + SelectedBackColor = 49,106,197 + *< END OBJECT: BaseClass="textbox" /> + + ADD OBJECT 'Grid1.Column10.Header1' AS header WITH ; + Alignment = 2, ; + Caption = "Explicatie C", ; + FontCharSet = 238, ; + FontName = "Arial", ; + FontSize = 10, ; + Name = "Header1" + *< END OBJECT: BaseClass="header" /> + + ADD OBJECT 'Grid1.Column10.Text1' AS textbox WITH ; + Alignment = 0, ; + BackColor = 244,250,255, ; + BorderStyle = 0, ; + FontCharSet = 238, ; + FontName = "Arial", ; + FontSize = 10, ; + ForeColor = 0,0,0, ; + Margin = 0, ; + Name = "Text1", ; + ReadOnly = .F., ; + SelectedBackColor = 49,106,197 + *< END OBJECT: BaseClass="textbox" /> + + ADD OBJECT 'Grid1.Column11.Header1' AS header WITH ; + Alignment = 2, ; + Caption = "Expl.3", ; + FontCharSet = 238, ; + FontName = "Arial", ; + FontSize = 10, ; + Name = "Header1" + *< END OBJECT: BaseClass="header" /> + + ADD OBJECT 'Grid1.Column11.Text1' AS textbox WITH ; + Alignment = 0, ; + BackColor = 244,250,255, ; + BorderStyle = 0, ; + FontCharSet = 238, ; + FontName = "Arial", ; + FontSize = 10, ; + ForeColor = 0,0,0, ; + Margin = 0, ; + Name = "Text1", ; + ReadOnly = .F., ; + SelectedBackColor = 49,106,197 + *< END OBJECT: BaseClass="textbox" /> + + ADD OBJECT 'Grid1.Column12.Header1' AS header WITH ; + Alignment = 2, ; + Caption = "COD", ; + FontCharSet = 238, ; + FontName = "Arial", ; + FontSize = 10, ; + Name = "Header1" + *< END OBJECT: BaseClass="header" /> + + ADD OBJECT 'Grid1.Column12.Text1' AS textbox WITH ; + BackColor = 244,250,255, ; + BorderStyle = 0, ; + FontCharSet = 238, ; + FontName = "Arial", ; + FontSize = 10, ; + ForeColor = 0,0,0, ; + Margin = 0, ; + Name = "Text1", ; + ReadOnly = .T., ; + SelectedBackColor = 49,106,197 + *< END OBJECT: BaseClass="textbox" /> + + ADD OBJECT 'Grid1.Column13.Header1' AS header WITH ; + Alignment = 2, ; + Caption = "Nr. doc. platit (debit)", ; + FontCharSet = 238, ; + FontName = "Arial", ; + FontSize = 10, ; + Name = "Header1", ; + WordWrap = .T. + *< END OBJECT: BaseClass="header" /> + + ADD OBJECT 'Grid1.Column13.Text1' AS textbox WITH ; + BackColor = 244,250,255, ; + BorderStyle = 0, ; + FontCharSet = 238, ; + FontName = "Arial", ; + FontSize = 10, ; + ForeColor = 0,0,0, ; + Margin = 0, ; + Name = "Text1", ; + ReadOnly = .F., ; + SelectedBackColor = 49,106,197 + *< END OBJECT: BaseClass="textbox" /> + + ADD OBJECT 'Grid1.Column14.Header1' AS header WITH ; + Alignment = 2, ; + Caption = "Explicatia 4", ; + FontCharSet = 238, ; + FontName = "Arial", ; + FontSize = 10, ; + Name = "Header1" + *< END OBJECT: BaseClass="header" /> + + ADD OBJECT 'Grid1.Column14.Text1' AS textbox WITH ; + BackColor = 244,250,255, ; + BorderStyle = 0, ; + FontCharSet = 238, ; + FontName = "Arial", ; + FontSize = 10, ; + ForeColor = 0,0,0, ; + Margin = 0, ; + Name = "Text1", ; + ReadOnly = .F., ; + SelectedBackColor = 49,106,197 + *< END OBJECT: BaseClass="textbox" /> + + ADD OBJECT 'Grid1.Column15.Header1' AS header WITH ; + Alignment = 2, ; + Caption = "Lucrarea", ; + FontCharSet = 238, ; + FontName = "Arial", ; + FontSize = 10, ; + Name = "Header1" + *< END OBJECT: BaseClass="header" /> + + ADD OBJECT 'Grid1.Column15.Text1' AS textbox WITH ; + BackColor = 244,250,255, ; + BorderStyle = 0, ; + FontCharSet = 238, ; + FontName = "Arial", ; + FontSize = 10, ; + ForeColor = 0,0,0, ; + Margin = 0, ; + Name = "Text1", ; + ReadOnly = .F., ; + SelectedBackColor = 49,106,197 + *< END OBJECT: BaseClass="textbox" /> + + ADD OBJECT 'Grid1.Column16.Header1' AS header WITH ; + Alignment = 2, ; + Caption = "Responsabil", ; + FontCharSet = 238, ; + FontName = "Arial", ; + FontSize = 10, ; + Name = "Header1" + *< END OBJECT: BaseClass="header" /> + + ADD OBJECT 'Grid1.Column16.Text1' AS textbox WITH ; + BackColor = 244,250,255, ; + BorderStyle = 0, ; + FontCharSet = 238, ; + FontName = "Arial", ; + FontSize = 10, ; + ForeColor = 0,0,0, ; + Margin = 0, ; + Name = "Text1", ; + ReadOnly = .F., ; + SelectedBackColor = 49,106,197 + *< END OBJECT: BaseClass="textbox" /> + + ADD OBJECT 'Grid1.Column17.Header1' AS header WITH ; + Alignment = 2, ; + Caption = "Cheltuiala", ; + FontCharSet = 238, ; + FontName = "Arial", ; + FontSize = 10, ; + Name = "Header1" + *< END OBJECT: BaseClass="header" /> + + ADD OBJECT 'Grid1.Column17.Text1' AS textbox WITH ; + BackColor = 244,250,255, ; + BorderStyle = 0, ; + FontCharSet = 238, ; + FontName = "Arial", ; + FontSize = 10, ; + ForeColor = 0,0,0, ; + Margin = 0, ; + Name = "Text1", ; + ReadOnly = .F., ; + SelectedBackColor = 49,106,197 + *< END OBJECT: BaseClass="textbox" /> + + ADD OBJECT 'Grid1.Column18.Header1' AS header WITH ; + Alignment = 2, ; + Caption = "Explicatia 5", ; + FontCharSet = 238, ; + FontName = "Arial", ; + FontSize = 10, ; + Name = "Header1" + *< END OBJECT: BaseClass="header" /> + + ADD OBJECT 'Grid1.Column18.Text1' AS textbox WITH ; + BackColor = 244,250,255, ; + BorderStyle = 0, ; + FontCharSet = 238, ; + FontName = "Arial", ; + FontSize = 10, ; + ForeColor = 0,0,0, ; + Margin = 0, ; + Name = "Text1", ; + ReadOnly = .F., ; + SelectedBackColor = 49,106,197 + *< END OBJECT: BaseClass="textbox" /> + + ADD OBJECT 'Grid1.Column19.Header1' AS header WITH ; + Alignment = 2, ; + Caption = "Data scadenta", ; + FontCharSet = 238, ; + FontName = "Arial", ; + FontSize = 10, ; + Name = "Header1" + *< END OBJECT: BaseClass="header" /> + + ADD OBJECT 'Grid1.Column19.Text1' AS textbox WITH ; + BackColor = 244,250,255, ; + BorderStyle = 0, ; + FontCharSet = 238, ; + FontName = "Arial", ; + FontSize = 10, ; + ForeColor = 0,0,0, ; + Margin = 0, ; + Name = "Text1", ; + ReadOnly = .F., ; + SelectedBackColor = 49,106,197, ; + Visible = .T. + *< END OBJECT: BaseClass="textbox" /> + + ADD OBJECT 'Grid1.Column2.Header2' AS header WITH ; + Alignment = 2, ; + Caption = "Data Inreg.", ; + FontCharSet = 238, ; + FontName = "Arial", ; + FontSize = 10, ; + Name = "Header2" + *< END OBJECT: BaseClass="header" /> + + ADD OBJECT 'Grid1.Column2.Text1' AS textbox WITH ; + Alignment = 0, ; + BackColor = 244,250,255, ; + BorderStyle = 0, ; + FontCharSet = 238, ; + FontName = "Arial", ; + FontSize = 10, ; + ForeColor = 0,0,0, ; + Margin = 0, ; + Name = "Text1", ; + ReadOnly = .F., ; + SelectedBackColor = 49,106,197 + *< END OBJECT: BaseClass="textbox" /> + + ADD OBJECT 'Grid1.Column20.Header1' AS header WITH ; + Alignment = 2, ; + Caption = "Suma in valuta", ; + FontCharSet = 238, ; + FontName = "Arial", ; + FontSize = 10, ; + Name = "Header1" + *< END OBJECT: BaseClass="header" /> + + ADD OBJECT 'Grid1.Column20.Text1' AS textbox WITH ; + BackColor = 244,250,255, ; + BorderStyle = 0, ; + FontCharSet = 238, ; + FontName = "Arial", ; + FontSize = 10, ; + ForeColor = 0,0,0, ; + Margin = 0, ; + Name = "Text1", ; + SelectedBackColor = 49,106,197 + *< END OBJECT: BaseClass="textbox" /> + + ADD OBJECT 'Grid1.Column21.Header1' AS header WITH ; + Alignment = 2, ; + Caption = "Curs valutar", ; + FontCharSet = 238, ; + FontName = "Arial", ; + FontSize = 10, ; + Name = "Header1" + *< END OBJECT: BaseClass="header" /> + + ADD OBJECT 'Grid1.Column21.Text1' AS textbox WITH ; + BackColor = 244,250,255, ; + BorderStyle = 0, ; + FontCharSet = 238, ; + FontName = "Arial", ; + FontSize = 10, ; + ForeColor = 0,0,0, ; + Margin = 0, ; + Name = "Text1", ; + SelectedBackColor = 49,106,197 + *< END OBJECT: BaseClass="textbox" /> + + ADD OBJECT 'Grid1.Column22.Header1' AS header WITH ; + Alignment = 2, ; + Caption = "Gestiune destinatie", ; + FontCharSet = 238, ; + FontName = "Arial", ; + FontSize = 10, ; + Name = "Header1" + *< END OBJECT: BaseClass="header" /> + + ADD OBJECT 'Grid1.Column22.Text1' AS textbox WITH ; + BackColor = 244,250,255, ; + BorderStyle = 0, ; + FontCharSet = 238, ; + FontName = "Arial", ; + FontSize = 10, ; + ForeColor = 0,0,0, ; + Margin = 0, ; + Name = "Text1", ; + SelectedBackColor = 49,106,197 + *< END OBJECT: BaseClass="textbox" /> + + ADD OBJECT 'Grid1.Column23.Header1' AS header WITH ; + Alignment = 2, ; + Caption = "AnalitD", ; + FontCharSet = 238, ; + FontName = "Arial", ; + FontSize = 10, ; + Name = "Header1" + *< END OBJECT: BaseClass="header" /> + + ADD OBJECT 'Grid1.Column23.Text1' AS textbox WITH ; + BackColor = 244,250,255, ; + BorderStyle = 0, ; + FontCharSet = 238, ; + FontName = "Arial", ; + FontSize = 10, ; + ForeColor = 0,0,0, ; + Margin = 0, ; + Name = "Text1", ; + SelectedBackColor = 49,106,197 + *< END OBJECT: BaseClass="textbox" /> + + ADD OBJECT 'Grid1.Column24.Header1' AS header WITH ; + Alignment = 2, ; + Caption = "AnalitC", ; + FontCharSet = 238, ; + FontName = "Arial", ; + FontSize = 10, ; + Name = "Header1" + *< END OBJECT: BaseClass="header" /> + + ADD OBJECT 'Grid1.Column24.Text1' AS textbox WITH ; + BackColor = 244,250,255, ; + BorderStyle = 0, ; + FontCharSet = 238, ; + FontName = "Arial", ; + FontSize = 10, ; + ForeColor = 0,0,0, ; + Margin = 0, ; + Name = "Text1", ; + SelectedBackColor = 49,106,197 + *< END OBJECT: BaseClass="textbox" /> + + ADD OBJECT 'Grid1.Column25.Header1' AS header WITH ; + Alignment = 2, ; + Caption = "Tip operatie", ; + FontCharSet = 238, ; + FontName = "Arial", ; + FontSize = 10, ; + Name = "Header1" + *< END OBJECT: BaseClass="header" /> + + ADD OBJECT 'Grid1.Column25.Text1' AS textbox WITH ; + BackColor = 244,250,255, ; + BorderStyle = 0, ; + FontCharSet = 238, ; + FontName = "Arial", ; + FontSize = 10, ; + ForeColor = 0,0,0, ; + Margin = 0, ; + Name = "Text1", ; + ReadOnly = .T., ; + SelectedBackColor = 49,106,197 + *< END OBJECT: BaseClass="textbox" /> + + ADD OBJECT 'Grid1.Column26.Header1' AS header WITH ; + Alignment = 2, ; + Caption = "Cota TVA", ; + FontCharSet = 238, ; + FontName = "Arial", ; + FontSize = 10, ; + Name = "Header1" + *< END OBJECT: BaseClass="header" /> + + ADD OBJECT 'Grid1.Column26.Text1' AS textbox WITH ; + BackColor = 244,250,255, ; + BorderStyle = 0, ; + FontCharSet = 238, ; + FontName = "Arial", ; + FontSize = 10, ; + ForeColor = 0,0,0, ; + Margin = 0, ; + Name = "Text1", ; + ReadOnly = .T., ; + SelectedBackColor = 49,106,197 + *< END OBJECT: BaseClass="textbox" /> + + ADD OBJECT 'Grid1.Column27.Header1' AS header WITH ; + Alignment = 2, ; + Caption = "Nr. doc. incasat (credit)", ; + FontCharSet = 238, ; + FontName = "Arial", ; + FontSize = 10, ; + Name = "Header1", ; + WordWrap = .T. + *< END OBJECT: BaseClass="header" /> + + ADD OBJECT 'Grid1.Column27.Text1' AS textbox WITH ; + BackColor = 244,250,255, ; + BorderStyle = 0, ; + FontCharSet = 238, ; + FontName = "Arial", ; + FontSize = 10, ; + ForeColor = 0,0,0, ; + Margin = 0, ; + Name = "Text1", ; + SelectedBackColor = 49,106,197 + *< END OBJECT: BaseClass="textbox" /> + + ADD OBJECT 'Grid1.Column28.Header1' AS header WITH ; + Alignment = 2, ; + Caption = "Sectia", ; + FontCharSet = 238, ; + FontName = "Arial", ; + FontSize = 10, ; + Name = "Header1" + *< END OBJECT: BaseClass="header" /> + + ADD OBJECT 'Grid1.Column28.Text1' AS textbox WITH ; + BackColor = 244,250,255, ; + BorderStyle = 0, ; + FontCharSet = 238, ; + FontName = "Arial", ; + FontSize = 10, ; + ForeColor = 0,0,0, ; + Margin = 0, ; + Name = "Text1", ; + SelectedBackColor = 49,106,197 + *< END OBJECT: BaseClass="textbox" /> + + ADD OBJECT 'Grid1.Column29.Header1' AS header WITH ; + Alignment = 2, ; + Caption = "Nume Valuta", ; + FontCharSet = 238, ; + FontName = "Arial", ; + FontSize = 10, ; + Name = "Header1" + *< END OBJECT: BaseClass="header" /> + + ADD OBJECT 'Grid1.Column29.Text1' AS textbox WITH ; + BackColor = 244,250,255, ; + BorderStyle = 0, ; + FontCharSet = 238, ; + FontName = "Arial", ; + FontSize = 10, ; + ForeColor = 0,0,0, ; + Margin = 0, ; + Name = "Text1", ; + SelectedBackColor = 49,106,197 + *< END OBJECT: BaseClass="textbox" /> + + ADD OBJECT 'Grid1.Column3.Header3' AS header WITH ; + Alignment = 2, ; + Caption = "Fel Doc.", ; + FontCharSet = 238, ; + FontName = "Arial", ; + FontSize = 10, ; + Name = "Header3" + *< END OBJECT: BaseClass="header" /> + + ADD OBJECT 'Grid1.Column3.Text1' AS textbox WITH ; + Alignment = 0, ; + BackColor = 244,250,255, ; + BorderStyle = 0, ; + FontCharSet = 238, ; + FontName = "Arial", ; + FontSize = 10, ; + ForeColor = 0,0,0, ; + Margin = 0, ; + Name = "Text1", ; + ReadOnly = .F., ; + SelectedBackColor = 49,106,197 + *< END OBJECT: BaseClass="textbox" /> + + ADD OBJECT 'Grid1.Column30.Header1' AS header WITH ; + Alignment = 2, ; + Caption = "Id Part D", ; + FontCharSet = 238, ; + FontName = "Arial", ; + FontSize = 10, ; + Name = "Header1" + *< END OBJECT: BaseClass="header" /> + + ADD OBJECT 'Grid1.Column30.Text1' AS textbox WITH ; + BackColor = 244,250,255, ; + BorderStyle = 0, ; + FontCharSet = 238, ; + FontName = "Arial", ; + FontSize = 10, ; + ForeColor = 0,0,0, ; + Margin = 0, ; + Name = "Text1", ; + ReadOnly = .T., ; + SelectedBackColor = 49,106,197 + *< END OBJECT: BaseClass="textbox" /> + + ADD OBJECT 'Grid1.Column31.Header1' AS header WITH ; + Alignment = 2, ; + Caption = "Id Part C", ; + FontCharSet = 238, ; + FontName = "Arial", ; + FontSize = 10, ; + Name = "Header1" + *< END OBJECT: BaseClass="header" /> + + ADD OBJECT 'Grid1.Column31.Text1' AS textbox WITH ; + BackColor = 244,250,255, ; + BorderStyle = 0, ; + FontCharSet = 238, ; + FontName = "Arial", ; + FontSize = 10, ; + ForeColor = 0,0,0, ; + Margin = 0, ; + Name = "Text1", ; + ReadOnly = .T., ; + SelectedBackColor = 49,106,197 + *< END OBJECT: BaseClass="textbox" /> + + ADD OBJECT 'Grid1.Column32.Header1' AS header WITH ; + Alignment = 2, ; + Caption = "Gestiune sursa", ; + FontCharSet = 238, ; + FontName = "Arial", ; + FontSize = 10, ; + Name = "Header1" + *< END OBJECT: BaseClass="header" /> + + ADD OBJECT 'Grid1.Column32.Text1' AS textbox WITH ; + BackColor = 244,250,255, ; + BorderStyle = 0, ; + FontCharSet = 238, ; + FontName = "Arial", ; + FontSize = 10, ; + ForeColor = 0,0,0, ; + Margin = 0, ; + Name = "Text1", ; + SelectedBackColor = 49,106,197 + *< END OBJECT: BaseClass="textbox" /> + + ADD OBJECT 'Grid1.Column33.Header1' AS header WITH ; + Alignment = 2, ; + Caption = "Sucursala", ; + FontCharSet = 238, ; + FontName = "Arial", ; + FontSize = 10, ; + Name = "Header1" + *< END OBJECT: BaseClass="header" /> + + ADD OBJECT 'Grid1.Column33.Text1' AS textbox WITH ; + BackColor = 244,250,255, ; + BorderStyle = 0, ; + FontCharSet = 238, ; + FontName = "Arial", ; + FontSize = 10, ; + ForeColor = 0,0,0, ; + Margin = 0, ; + Name = "Text1", ; + ReadOnly = .F., ; + SelectedBackColor = 49,106,197 + *< END OBJECT: BaseClass="textbox" /> + + ADD OBJECT 'Grid1.Column34.Header1' AS header WITH ; + Alignment = 2, ; + Caption = "Contract", ; + FontCharSet = 238, ; + FontName = "Arial", ; + FontSize = 10, ; + Name = "Header1" + *< END OBJECT: BaseClass="header" /> + + ADD OBJECT 'Grid1.Column34.Text1' AS textbox WITH ; + BackColor = 244,250,255, ; + BorderStyle = 0, ; + FontCharSet = 238, ; + FontName = "Arial", ; + FontSize = 10, ; + ForeColor = 0,0,0, ; + Margin = 0, ; + Name = "Text1", ; + ReadOnly = .T., ; + SelectedBackColor = 49,106,197 + *< END OBJECT: BaseClass="textbox" /> + + ADD OBJECT 'Grid1.Column35.Header1' AS header WITH ; + Alignment = 2, ; + Caption = "Explicatie TVA", ; + FontCharSet = 238, ; + FontName = "Arial", ; + FontSize = 10, ; + Name = "Header1" + *< END OBJECT: BaseClass="header" /> + + ADD OBJECT 'Grid1.Column35.Text1' AS textbox WITH ; + BackColor = 244,250,255, ; + BorderStyle = 0, ; + FontCharSet = 238, ; + FontName = "Arial", ; + FontSize = 10, ; + ForeColor = 0,0,0, ; + Margin = 0, ; + Name = "Text1", ; + ReadOnly = .F., ; + SelectedBackColor = 49,106,197 + *< END OBJECT: BaseClass="textbox" /> + + ADD OBJECT 'Grid1.Column36._CHECKBOX1' AS _checkbox WITH ; + Alignment = 2, ; + AutoSize = .F., ; + Caption = "", ; + Centered = .T., ; + FontCharSet = 238, ; + FontName = "Arial", ; + FontSize = 10, ; + Left = 19, ; + Name = "_CHECKBOX1", ; + Top = 31 + *< END OBJECT: ClassLib="_baza.vcx" BaseClass="checkbox" /> + + ADD OBJECT 'Grid1.Column36.Header1' AS header WITH ; + Alignment = 2, ; + Caption = "Cu TVA", ; + FontCharSet = 238, ; + FontName = "Arial", ; + FontSize = 10, ; + Name = "Header1" + *< END OBJECT: BaseClass="header" /> + + ADD OBJECT 'Grid1.Column37.Header1' AS header WITH ; + Alignment = 2, ; + Caption = "Serie doc.", ; + FontCharSet = 238, ; + FontName = "Arial", ; + FontSize = 10, ; + Name = "Header1" + *< END OBJECT: BaseClass="header" /> + + ADD OBJECT 'Grid1.Column37.Text1' AS textbox WITH ; + BackColor = 244,250,255, ; + BorderStyle = 0, ; + FontCharSet = 238, ; + FontName = "Arial", ; + FontSize = 10, ; + ForeColor = 0,0,0, ; + Margin = 0, ; + Name = "Text1", ; + SelectedBackColor = 49,106,197 + *< END OBJECT: BaseClass="textbox" /> + + ADD OBJECT 'Grid1.Column38.Header1' AS header WITH ; + Alignment = 2, ; + Caption = "Id factura", ; + FontCharSet = 238, ; + FontName = "Arial", ; + FontSize = 10, ; + Name = "Header1" + *< END OBJECT: BaseClass="header" /> + + ADD OBJECT 'Grid1.Column38.Text1' AS textbox WITH ; + BackColor = 255,255,255, ; + BorderStyle = 0, ; + FontCharSet = 238, ; + FontName = "Arial", ; + FontSize = 10, ; + ForeColor = 0,0,0, ; + Margin = 0, ; + Name = "Text1", ; + ReadOnly = .T., ; + SelectedBackColor = 49,106,197 + *< END OBJECT: BaseClass="textbox" /> + + ADD OBJECT 'Grid1.Column39.Header1' AS header WITH ; + Caption = "Id Factura D", ; + FontCharSet = 238, ; + FontName = "Arial", ; + FontSize = 10, ; + Name = "Header1" + *< END OBJECT: BaseClass="header" /> + + ADD OBJECT 'Grid1.Column39.Text1' AS textbox WITH ; + BackColor = 255,255,255, ; + BorderStyle = 0, ; + FontCharSet = 238, ; + FontName = "Arial", ; + FontSize = 10, ; + ForeColor = 0,0,0, ; + Margin = 0, ; + Name = "Text1", ; + ReadOnly = .T., ; + SelectedBackColor = 49,106,197 + *< END OBJECT: BaseClass="textbox" /> + + ADD OBJECT 'Grid1.Column4.Header4' AS header WITH ; + Alignment = 2, ; + Caption = "Data Act", ; + FontCharSet = 238, ; + FontName = "Arial", ; + FontSize = 10, ; + Name = "Header4" + *< END OBJECT: BaseClass="header" /> + + ADD OBJECT 'Grid1.Column4.Text1' AS textbox WITH ; + Alignment = 0, ; + BackColor = 244,250,255, ; + BorderStyle = 0, ; + FontCharSet = 238, ; + FontName = "Arial", ; + FontSize = 10, ; + ForeColor = 0,0,0, ; + Margin = 0, ; + Name = "Text1", ; + ReadOnly = .F., ; + SelectedBackColor = 49,106,197 + *< END OBJECT: BaseClass="textbox" /> + + ADD OBJECT 'Grid1.Column40.Header1' AS header WITH ; + Alignment = 2, ; + Caption = "Id Factura C", ; + FontCharSet = 238, ; + FontName = "Arial", ; + FontSize = 10, ; + Name = "Header1" + *< END OBJECT: BaseClass="header" /> + + ADD OBJECT 'Grid1.Column40.Text1' AS textbox WITH ; + BackColor = 255,255,255, ; + BorderStyle = 0, ; + FontCharSet = 238, ; + FontName = "Arial", ; + FontSize = 10, ; + ForeColor = 0,0,0, ; + Margin = 0, ; + Name = "Text1", ; + ReadOnly = .T., ; + SelectedBackColor = 49,106,197 + *< END OBJECT: BaseClass="textbox" /> + + ADD OBJECT 'Grid1.Column42._combobox1' AS _combobox WITH ; + BackColor = 244,250,255, ; + BorderStyle = 0, ; + BoundColumn = 4, ; + BoundTo = .T., ; + ColumnCount = 3, ; + ColumnLines = .F., ; + ColumnWidths = "450,150,40", ; + ControlSource = "tAct.taxcode", ; + Left = 32, ; + Name = "_combobox1", ; + RowSource = "select taxname, tip, CAST(procent_taxa as N(6,2) null) as procent_taxa, taxcode from saft_taxtable order by tva, tva_livrari, tva_achizitii, wht, taxcode into cursor crsTaxTableX", ; + RowSourceType = 3, ; + Top = 55 + *< END OBJECT: ClassLib="_baza.vcx" BaseClass="combobox" /> + + ADD OBJECT 'Grid1.Column42.Header1' AS header WITH ; + Alignment = 2, ; + Caption = "Taxa SAFT", ; + Name = "Header1" + *< END OBJECT: BaseClass="header" /> + + ADD OBJECT 'Grid1.Column42.Text1' AS textbox WITH ; + BackColor = 255,255,255, ; + BorderStyle = 0, ; + ForeColor = 0,0,0, ; + Margin = 0, ; + Name = "Text1", ; + SelectedBackColor = 49,106,197 + *< END OBJECT: BaseClass="textbox" /> + + ADD OBJECT 'Grid1.Column43._combobox1' AS _combobox WITH ; + BorderStyle = 0, ; + BoundColumn = 3, ; + BoundTo = .T., ; + ColumnCount = 2, ; + ColumnLines = .F., ; + ColumnWidths = "300,150", ; + ControlSource = "tAct.paymentcode", ; + Left = 93, ; + Name = "_combobox1", ; + ReadOnly = .F., ; + RowSource = "select paymentname, methodname, mechanismcode from saft_mecanisme_plati where afisat = 1 order by ordine into cursor crsPaymentX", ; + RowSourceType = 3, ; + Top = 67 + *< END OBJECT: ClassLib="_baza.vcx" BaseClass="combobox" /> + + ADD OBJECT 'Grid1.Column43.Header1' AS header WITH ; + Alignment = 2, ; + Caption = "Plata SAFT", ; + Name = "Header1" + *< END OBJECT: BaseClass="header" /> + + ADD OBJECT 'Grid1.Column43.Text1' AS textbox WITH ; + BackColor = 244,250,255, ; + BorderStyle = 0, ; + FontCharSet = 238, ; + FontSize = 10, ; + ForeColor = 0,0,0, ; + Margin = 0, ; + Name = "Text1", ; + SelectedBackColor = 49,106,197 + *< END OBJECT: BaseClass="textbox" /> + + ADD OBJECT 'Grid1.Column5.Header5' AS header WITH ; + Alignment = 2, ; + Caption = "Nr.Doc.", ; + FontCharSet = 238, ; + FontName = "Arial", ; + FontSize = 10, ; + Name = "Header5" + *< END OBJECT: BaseClass="header" /> + + ADD OBJECT 'Grid1.Column5.Text1' AS textbox WITH ; + Alignment = 1, ; + BackColor = 244,250,255, ; + BorderStyle = 0, ; + FontCharSet = 238, ; + FontName = "Arial", ; + FontSize = 10, ; + ForeColor = 0,0,0, ; + Margin = 0, ; + Name = "Text1", ; + ReadOnly = .F., ; + SelectedBackColor = 49,106,197 + *< END OBJECT: BaseClass="textbox" /> + + ADD OBJECT 'Grid1.Column6.Header6' AS header WITH ; + Alignment = 2, ; + Caption = "Explicatie D", ; + FontCharSet = 238, ; + FontName = "Arial", ; + FontSize = 10, ; + Name = "Header6" + *< END OBJECT: BaseClass="header" /> + + ADD OBJECT 'Grid1.Column6.Text1' AS textbox WITH ; + Alignment = 0, ; + BackColor = 244,250,255, ; + BorderColor = 0,0,0, ; + BorderStyle = 0, ; + FontCharSet = 238, ; + FontName = "Arial", ; + FontSize = 10, ; + ForeColor = 0,0,0, ; + Margin = 0, ; + Name = "Text1", ; + ReadOnly = .F., ; + SelectedBackColor = 49,106,197 + *< END OBJECT: BaseClass="textbox" /> + + ADD OBJECT 'Grid1.Column7.Header7' AS header WITH ; + Alignment = 2, ; + Caption = "Cont Deb.", ; + FontCharSet = 238, ; + FontName = "Arial", ; + FontSize = 10, ; + Name = "Header7" + *< END OBJECT: BaseClass="header" /> + + ADD OBJECT 'Grid1.Column7.Text1' AS textbox WITH ; + Alignment = 1, ; + BackColor = 244,250,255, ; + BorderStyle = 0, ; + FontCharSet = 238, ; + FontName = "Arial", ; + FontSize = 10, ; + ForeColor = 0,0,0, ; + Margin = 0, ; + Name = "Text1", ; + ReadOnly = .F., ; + SelectedBackColor = 49,106,197 + *< END OBJECT: BaseClass="textbox" /> + + ADD OBJECT 'Grid1.Column8.Header8' AS header WITH ; + Alignment = 2, ; + Caption = "Cont Cred.", ; + FontCharSet = 238, ; + FontName = "Arial", ; + FontSize = 10, ; + Name = "Header8" + *< END OBJECT: BaseClass="header" /> + + ADD OBJECT 'Grid1.Column8.Text1' AS textbox WITH ; + Alignment = 1, ; + BackColor = 244,250,255, ; + BorderStyle = 0, ; + FontCharSet = 238, ; + FontName = "Arial", ; + FontSize = 10, ; + ForeColor = 0,0,0, ; + Margin = 0, ; + Name = "Text1", ; + ReadOnly = .F., ; + SelectedBackColor = 49,106,197 + *< END OBJECT: BaseClass="textbox" /> + + ADD OBJECT 'Grid1.Column9.Header9' AS header WITH ; + Alignment = 2, ; + Caption = "Suma", ; + FontCharSet = 238, ; + FontName = "Arial", ; + FontSize = 10, ; + Name = "Header9" + *< END OBJECT: BaseClass="header" /> + + ADD OBJECT 'Grid1.Column9.Text1' AS textbox WITH ; + Alignment = 1, ; + BackColor = 244,250,255, ; + BorderStyle = 0, ; + FontCharSet = 238, ; + FontName = "Arial", ; + FontSize = 10, ; + ForeColor = 0,0,0, ; + Margin = 0, ; + Name = "Text1", ; + ReadOnly = .F., ; + SelectedBackColor = 49,106,197 + *< END OBJECT: BaseClass="textbox" /> + + ADD OBJECT 'Gridextra1' AS gridextra WITH ; + Height = 17, ; + Left = 570, ; + Name = "Gridextra1", ; + Top = 11, ; + Width = 24 + *< END OBJECT: ClassLib="..\utile\gridextras\gridextras.vcx" BaseClass="custom" /> + + ADD OBJECT 'Lb_shortcuts1' AS lb_shortcuts WITH ; + Caption = "CTRL+F = Terminare; ESC = Renunþare; CTRL+N = Adãugare; CTRL+D = ªtergere", ; + Left = 5, ; + Name = "Lb_shortcuts1", ; + TabIndex = 19, ; + Top = 17 + *< END OBJECT: ClassLib="lb.vcx" BaseClass="label" /> + + ADD OBJECT 'txtSuma' AS _textbox WITH ; + Alignment = 3, ; + Anchor = 12, ; + ControlSource = "thisform.nSuma", ; + FontCharSet = 238, ; + Format = "R", ; + Height = 23, ; + InputMask = (get_mask(16,gnPa)), ; + Left = 556, ; + Name = "txtSuma", ; + ReadOnly = .T., ; + TabIndex = 20, ; + Top = 330, ; + Value = 0, ; + Width = 123 + *< END OBJECT: ClassLib="_baza.vcx" BaseClass="textbox" /> + + PROCEDURE alege_partener + *!* 07.11.2011 + *!* marius.mutu + *!* daca se schimba partenerul, se pune id_fact = -1 in loc de 0 + *!* pentru a se putea genera un nou id_fact + + *!* 26.02.2018 + *!* se inlocuieste partenerul pentru toate inregistrarile alese, optional + + LPARAMETERS tcExplicatie, tlSilent + *** tcExplicatie: D/C + *** tlSilent: .T. = afiseaza mesaj "contul nu este configurat cu parteneri" - pentru apasarea manuala pe butonul Partener + + PRIVATE pcCont + LOCAL lnIdPartOriginal, lnIdPart, lnrezultat, lnsucces + LOCAL lcExplicatie + LOCAL lcSql, lcnume, llToate, lnRecno, locauta + IF EMPTY(tcExplicatie) + lcExplicatie = 'D' + ELSE + lcExplicatie = UPPER(ALLTRIM(m.tcExplicatie)) + ENDIF + lnIdPart = 0 + + SELECT tact + pcCont = IIF(m.lcExplicatie = 'D', ALLTRIM(NVL(tact.scd, '')), ALLTRIM(NVL(tact.scc, ''))) + IF EMPTY(pcCont) + IF !m.tlSilent + AMESSAGEBOX('Completati contul ' + IIF(m.lcExplicatie = 'D', 'debitor.', 'creditor.'), 0 + 48, _SCREEN.CAPTION) + ENDIF + RETURN lnIdPart + ENDIF + lnIdPartOriginal = IIF(m.lcExplicatie = 'D', id_partd, id_partc) + + lnrezultat = 0 + lnsucces = 0 + lcSql = "select count(*) from config_cont_ireg where cont = &pcCont" + lnsucces = goExecutor.oSelect2Value(lcSql, @lnrezultat) + + IF lnsucces > 0 + IF NVL(lnrezultat, 0) > 0 + locauta = THISFORM.do_cauta(pcCont) + IF gnButon = 1 + lnIdPart = locauta.id_part + lcnume = ALLTRIM(locauta.nume) + + llToate = .F. + SELECT tact + lnRecno = RECNO() + LOCATE FOR ales + IF FOUND() AND AMESSAGEBOX('Doriti sa completati pentru toate inregistrarile alese?', 4 + 32, _SCREEN.CAPTION) = 6 + llToate = .T. + ENDIF + GOTO m.lnRecno + + SELECT tact + IF m.lcExplicatie = 'D' + IF m.llToate + REPLACE id_partd WITH lnIdPart, partd WITH lcnume FOR ales + ELSE + REPLACE id_partd WITH lnIdPart, partd WITH lcnume + ENDIF + IF (lnIdPartOriginal <> lnIdPart AND lnIdPartOriginal <> 0) OR m.llToate + REPLACE pereched WITH 0, id_factd WITH - 1 + ENDIF + ELSE + IF m.llToate + REPLACE id_partc WITH lnIdPart, partc WITH lcnume FOR ales + ELSE + REPLACE id_partc WITH lnIdPart, partc WITH lcnume + ENDIF + IF (lnIdPartOriginal <> lnIdPart AND lnIdPartOriginal <> 0) OR m.llToate + REPLACE perechec WITH 0, id_factc WITH - 1 + ENDIF + ENDIF + ENDIF + ELSE + IF !m.tlSilent + AMESSAGEBOX("Contul " + pcCont + " nu este configurat cu parteneri", 0 + 16, "Eroare") + ENDIF + ENDIF + ELSE + AMESSAGEBOX(goExecutor.oPrelucrareEroare, 0 + 16, "Eroare") + ENDIF + + RETURN lnIdPart + ENDPROC + + PROCEDURE aleg_document_pereche + PARAMETERS tcFel,toAct + LOCAL lcSel,lcSelAct + lcSelAct = thisform.grid1.RecordSource + pnFelCont = tcFel + + IF pnFelCont = 0 && ACTIV + pcContul = ALLTRIM(NVL(toAct.scc,[])) + pcACont = ALLTRIM(NVL(toAct.ascc,[NULL])) + pnIdPart = NVL(toAct.Id_partc,0) + pcNume = ALLTRIM(NVL(toAct.partc,[])) + pnPereche = [perecheC] + pnIdPereche = [id_factC] + ELSE && PASIV + pcContul = ALLTRIM(NVL(toAct.scd,[])) + pcACont = ALLTRIM(NVL(toAct.ascd,[NULL])) + pnIdPart = NVL(toAct.Id_partd,0) + pcNume = ALLTRIM(NVL(toAct.partd,[])) + pnPereche = [perecheD] + pnIdPereche = [id_factD] + ENDIF + + lcSelect = [select count(*) as ePereche from ] + gcs + [.vcoresp_tip_cont where cont = ?pcContul and fel_cont = ?pnFelCont and cu_inregistrari = 1 ] + lcCursor = [crsTest] + lnSucces = goexecutor.oExecute(lcSelect,lcCursor) + IF lnSucces < 0 + aMESSAGEBOX('Modificare:Verific existenta pereche ' +goExecutor.cEroare,0+16,"Eroare") + SELECT (lcSelAct) + this.grid1.SetFocus + RETURN + ENDIF + + SELECT crsTest + LOCATE + IF ePereche = 0 + USE IN crsTest + SELECT (lcSelAct) + this.grid1.SetFocus + RETURN + ENDIF + + + IF !EMPTY(toAct.Suma_val) + llval = .t. + pnSuma = toAct.Suma_val + lcFormular = [ocompensari_val] + ELSE + llval = .f. + pnSuma = toAct.Suma + lcFormular = [ocompensari] + ENDIF + pnIdValuta = toAct.Id_Valuta + pcDenumire = [Partener ] + pcContul + + pcCond = [ an = ?gnAn and luna = ?gnluna] + + IF llval + pccond= pccond + [ and ABS(i.precvaldeb + i.valdebit - i.precvalcred - i.valcredit)>0 and i.id_valuta = ?pnIdValuta ] + ELSE + pccond= pccond + [ and (i.precvaldeb + i.valdebit - i.precvalcred - i.valcredit = 0) ] + ENDIF + + pcselect = ['select i.* FROM ] + gcs + [.Vireg_parteneri i where 2=2 '] + IF ALLTRIM(pcACont) # [NULL] + pcfiltru = [ i.id_part = ?pnIdPart AND ABS(i.precdeb + i.debit - i.preccred - i.credit)<>0 AND i.cont = ?pcContul and ] + pcCond + ELSE + pcfiltru = [ i.id_part = ?pnIdPart AND ABS(i.precdeb + i.debit - i.preccred - i.credit)<>0 AND i.cont = ?pcContul and acont is null and ] + pcCond + ENDIF + pcschema = [''] + pcorder = [''] + + PRIVATE podateintrod + STORE '' TO podateintrod + + gencursor('podateintrod','crs_actcv',pcselect,pcfiltru,[''],'') + + lcFis = 'actcv' + ALLTRIM(pcContul) + + IF USED(lcFis) + USE IN &lcFis + ENDIF + + IF pnFelCont = 0 + lcsel = [SELECT *, ACONT AS ASCC, nume_val as numeval, curs as cursschimb, precdeb + debit as totctva, preccred+credit as achitat, ] +; + [precvaldeb + valdebit AS sumaval, precVALcred+VALcredit as achitatval, ] +; + [.f. as ales, 00000000000000.0000 as sumaachi, 000000000000.0000 as sumaachi2, 00000000000000.0000 as achilei, 00000000000000.0000 as difplus, 00000000000000.0000 as difminus, 000000.0000 as cursval, 000000.0000 as cursdif ] +; + [FROM crs_actcv INTO CURSOR ] + lcFis + [ READWRITE ] + ELSE + lcsel = [SELECT *, ACONT AS ASCD, nume_val as numeval, curs as cursschimb, preccred + credit as totctva, precdeb+debit as achitat, ] + ; + [precvalcred + valcredit as sumaval, precVALdeb+VALdebit as achitatval, ] + ; + [.f. as ales, 00000000000000.0000 as sumaachi, 00000000000000.0000 as sumaachi2, 00000000000000.0000 as achilei, 00000000000000.0000 as difplus, 00000000000000.0000 as difminus, 000000.0000 as cursval, 000000.0000 as cursdif ] + ; + [FROM crs_actcv INTO CURSOR ] + lcFis + [ READWRITE ] + ENDIF + &lcsel + + USE IN crs_actcv + SELECT (lcFis) + + OPLATA=CREATEOBJECT(lcFormular) + OPLATA.titlufrumos1.CAPTION = pcDenumire + [: ] + pcNume + OPLATA.pcFis = lcFis + OPLATA.SUMA = pnSuma + OPLATA.pnFelCont = pnFelCont + OPLATA.SHOW(1) + + IF gnButon = 1 + SELECT (lcSelAct) + DELETE + SELECT (lcFis) + SCAN FOR ales + SCATTER NAME oper + SELECT (lcSelAct) + APPEND BLANK + GATHER NAME toAct + REPLACE &pnIdPereche WITH oper.id_fact, &pnPereche WITH oper.nract, suma WITH oper.sumaachi, suma_val WITH oper.sumaachi2 + SELECT (lcFis) + ENDSCAN + ELSE + SELECT (lcSelAct) + REPLACE &pnPereche WITH toact.&pnPereche + ENDIF + + IF USED(lcFis) + USE IN (lcFis) + ENDIF + SELECT (lcSelAct) + this.grid1.SetFocus + ENDPROC + + PROCEDURE calculeazatotal + Local lcCursor, lcSelect, lnRecno + lcSelect = Select() + This.LockScreen = .T. + lcCursor = Thisform.grid1.RecordSource + Select (m.lcCursor) + lnRecno = Recno() + llEOF = EOF() + Calculate Sum(suma) To This.nSuma + If m.lnRecno > 0 AND !m.llEOF + Goto m.lnRecno + Endif + This.txtSuma.Refresh() + This.LockScreen = .F. + + Select (m.lcSelect) + + ENDPROC + + PROCEDURE ccontrol_assign + LPARAMETERS vNewVal + *To do: Modify this routine for the Assign method + THIS.cControl = m.vNewVal + ENDPROC + + PROCEDURE creeaza_note_tva_incasare + Lparameters tcCursorAct, toRec, tnSuma + * tcCursorAct: tAct = numele cursorului in care se adauga inregistrarile de TVA exigibil + * toRec: inregistrarea cu TVA incasare (id_fact, id_part etc.) + * tnSuma: suma incasata, din care se calculeaza TVA exigibil pe cote TVA + lnIdFact = toRec.id_fact + lnSuma = tnSuma + lnProcTVA = 0 + lnIdJtvaColoana = 0 + lnScd = Alltrim(toRec.scd) + lnScc = Alltrim(toRec.scc) + + lcSql = [{call pack_contab.defalca_tva_incasare(] + Alltrim(Str(m.lnIdFact)) + [,] + ; + ALLTRIM(Str(m.lnSuma, 16, m.gnPC)) + [,] + ; + ALLTRIM(Str(m.lnProcTVA, 16, 4)) + [,] + ; + IIF(!Empty(Nvl(m.lnIdJtvaColoana,0)) And !(m.lnScd ='408' And m.lnScc ='401'),[0],[1]) + [,] + ; + [?gnLuna,?gnAn)}] + + lcCursorDefTVA = Sys(2015) + If goExecutor.oExecuta(lcSql,lcCursorDefTVA) + + SELECT (m.lcCursorDefTVA) + GO TOP + lcScd = ALLTRIM(scd) + lcScc = ALLTRIM(scc) + update_jtva_coloane(IIF(m.lcSCD = '4427' OR m.lcScc = '4427', 'JV', 'JC'), 'crsExplicatiiTVATemp', 1) + + Insert Into &tcCursorAct(serie_act,luna,an,nract,ascd,scd,ascc,scc,; + suma,explicatia4,explicatia5,Curs,id_util,; + id_responsabil,nresp,id_venchelt,dst_chlt,id_lucrare,nrord,; + id_ctr,contract,id_sectie,sectie,proc_tva,id_set,id_fact,; + perecheC,perecheD,id_factD,id_factC,id_partd,partd,id_partc,partc,; + id_sucursala,sucursala,id_fdoc,fdoc,; + id_gestin,gestin,id_gestout,gestout,; + id_jtva_coloana, explicatie_tva, id_valuta,nume_val,dataact,dataireg, tipnota, cu_tva, tva_incasare) ; + Select Nvl(toRec.serie_act, '') As serie_act,; + toRec.luna As luna,toRec.an As an,toRec.nract As nract,a.ascd As ascd,a.scd As scd,a.ascc As ascc,a.scc As scc,; + a.suma As suma, Nvl(toRec.explicatia4, '') As explicatia4, Nvl(toRec.explicatia5, '') As explicatia5,toRec.Curs As Curs,toRec.id_util As id_util,; + toRec.id_responsabil As id_responsabil, Nvl(toRec.nresp, '') As nresp,toRec.id_venchelt As id_venchelt, Nvl(toRec.dst_chlt, '') As dst_chlt,; + toRec.id_lucrare As id_lucrare, Nvl(toRec.nrord, '') As nrord,toRec.id_ctr As id_ctr, Nvl(toRec.contract, '') As contract,; + toRec.id_sectie As id_sectie, Nvl(toRec.sectie, '') As sectie, a.proc_tva As proc_tva,toRec.id_set As id_set, a.id_fact As id_fact,; + a.perecheC As perecheC,a.perecheD As perecheD,; + 0 As id_factD,0 As id_factC,0 As id_partd,'' As partd,0 As id_partc,'' As partc,; + CAST(toRec.id_sucursala as I null) As id_sucursala, Nvl(toRec.sucursala, '') As sucursala,toRec.id_fdoc As id_fdoc, Nvl(toRec.fdoc, '') As fdoc,; + toRec.id_gestin As id_gestin, Nvl(toRec.gestin, '') As gestin,; + toRec.id_gestout As id_gestout, Nvl(toRec.gestout, '') As gestout,; + a.id_jtva_coloana As id_jtva_coloana, b.denumire as explicatie_tva, toRec.id_valuta As id_valuta, Nvl(toRec.nume_val, '') As nume_val,toRec.dataact As dataact,toRec.dataireg As dataireg, ; + toRec.tipnota, toRec.cu_tva, toRec.tva_incasare ; + FROM (lcCursorDefTVA) a ; + LEFT JOIN crsExplicatiiTVATemp b ON a.id_jtva_coloana = b.id_jtva_coloana + + USE IN (SELECT(lcCursorDefTVA)) + USE IN (SELECT('crsExplicatiiTVATemp')) + Endif + + ENDPROC + + PROCEDURE do_adauga + *!* 27.07.2011 + *!* marius.mutu + *!* nu se copiaza scd, scc, ascd, ascc + + *!* 08.08.2011 + *!* marius.mutu + *!* salvare xml nota in caz de fatal error. se reincarca la intrarea in nota fara predefinire + + *!* 24.05.2011 + Local lnRecno, loadd + Select tact + lnRecno = Recno() + Locate For ales + If Found() + lcCond = "ales" + ELSE + lcCond = "recno() = " + Alltrim(Str(lnRecno)) + LOCATE FOR !DELETED() + IF !FOUND() + lcCond = ".T." + ENDIF + ENDIF + + Select tact + SCAN FOR &lcCond + Scatter Name loadd Fields Except scd, ascd, scc, ascc, id_partd, partd, id_partc, partc, id_factd, pereched, id_factc, perechec, suma, suma_val, ales + IF NVL(m.gnIdSucursala,0) <> 0 + loAdd.id_sucursala = m.gnIdSucursala + loAdd.sucursala = m.gcFirma + ENDIF + lnRecno = RECNO() + loadd.id_act = 0 && modificare ROACONT v 2.4.4 + Append Blank + Gather Name loadd + GOTO lnRecno + ENDSCAN && ales + *!* 24.05.2011 ^ + *!* 08.08.2011 + This.SalveazaXml() + *!* 08.08.2011 ^ + Do nrord With 'tact' + Thisform.CalculeazaTotal() + + This.grid1.SetFocus + this.grid1.Refresh + this.grid_focus_prima_coloana() + + ENDPROC + + PROCEDURE do_adauga_tva_exigibil + *!* + *!* - tva devenit exigibil ( din nota cu plata / incasare ) : + *!* - de completat explicatia TVA + *!* - id_factd = 0 si id_fact = id_factd + *!* - id_partd = 0, id_partc = 0 + *!* - suma = 0 + *!* - proc_tva = 0; poate sa aleaga la explicatie TVA doar din cele exigibile + *!* - daca are o linie cu 4XX-5XXX sau 5XXX-4XX, atunci nu e activ decat pe linia respectiva + *!* - daca nu ( mai ) are nicio linie cu 4XX-5XXX sau 5XXX-4XX + *!* > ii arat o lista cu toate facturile din JV / JC din luna care mai au sold si ii completez id_fact + Local lnrecno, lnRecno1, loadd, llCalculeazaTVAEx, llCalculeazaNoteTVA + Local lcCond, lnSuma + + llCalculeazaTVAEx = (Thisform.chkTVAEX.Value = 1) && calculeaza suma TVA Exigibil = 100/(100 + proc tva) din suma achitata + llCalculeazaNoteTVA = .F. && calculeaza note tva incasare pentru plati, incasari (5xx = xxx, xxx = 5xx) + + Select tact + lnrecno = Recno() + lnrecno1 = Recno() + Locate For ales + If Found() + lcCond = [ales and (scc = '4428' or scd = '4428' or id_factd > 0 or id_factc > 0)] + Else + lcCond = "recno() = " + Alltrim(Str(m.lnrecno)) + *!* LOCATE FOR !DELETED() + *!* IF !FOUND() + *!* lcCond = ".T." + *!* ENDIF + Endif + Select tact + Scan For &lcCond + Scatter Name m.loadd Fields Except ascd, ascc, ales, id_jtva_coloana, proc_tva, explicatie_tva + lnSuma = suma + loadd.tipnota = 1 + loadd.cu_tva = 1 + loadd.tva_incasare = 1 + Do Case + Case m.loadd.scd = [4428] + If m.loadd.scc <> [4427] + loadd.scd = [4426] + loadd.scc = [4428] + loadd.pereched = m.loadd.nract + Endif + loadd.id_fact = Iif(m.loadd.id_fact > 0, m.loadd.id_fact, -5) && pun -5 in caz ca e din note fara predefinire, ca sa-i completez id_fact la scrie_in_act + + loadd.suma = Iif(m.llCalculeazaTVAEx, m.loadd.suma, 0) + loadd.suma_val = Iif(m.llCalculeazaTVAEx, m.loadd.suma_val, 0) + + Case m.loadd.scc = [4428] + If m.loadd.scd <> [4426] + loadd.scd = [4428] + loadd.scc = [4427] + loadd.perechec = m.loadd.nract + Endif + loadd.id_fact = Iif(m.loadd.id_fact > 0, m.loadd.id_fact, -5) && pun -5 in caz ca e din note fara predefinire, ca sa-i completez id_fact la scrie_in_act + + loadd.suma = Iif(m.llCalculeazaTVAEx, m.loadd.suma, 0) + loadd.suma_val = Iif(m.llCalculeazaTVAEx, m.loadd.suma_val, 0) + + Case !Empty(m.loadd.perechec) And Left(m.loadd.scd, 1) = '5' + loadd.scd = [4428] + loadd.scc = [4427] + loadd.id_fact = Iif(m.loadd.id_factc > 0, m.loadd.id_factc, -5) && pun -5 in caz ca e din note fara predefinire, ca sa-i completez id_fact la scrie_in_act + loadd.id_factd = 0 + loadd.id_factc = 0 + llCalculeazaNoteTVA = m.llCalculeazaTVAEx + + Case !Empty(m.loadd.pereched) And Left(m.loadd.scc, 1) = '5' + loadd.scd = [4426] + loadd.scc = [4428] + loadd.id_fact = Iif(m.loadd.id_factd > 0, m.loadd.id_factd, -5) && pun -5 in caz ca e din note fara predefinire, ca sa-i completez id_fact la scrie_in_act + loadd.id_factd = 0 + loadd.id_factc = 0 + llCalculeazaNoteTVA = m.llCalculeazaTVAEx + + Otherwise + If Type('loFactura') = 'U' + Local loFactura + loFactura = cauta_facturaTVAEx() && ocautare.prg + If Isnull(m.loFactura) + Exit + Endif + Endif + If m.loFactura.tip = [CUMPARARE] && CUMPARARE / VANZARE + loadd.scd = [4426] + loadd.scc = [4428] + loadd.pereched = m.loFactura.nract + loadd.perechec = 0 + Else + loadd.scd = [4428] + loadd.scc = [4427] + loadd.pereched = 0 + loadd.perechec = m.loFactura.nract + Endif + loadd.id_fact = m.loFactura.id_fact + loadd.id_factd = 0 + loadd.id_factc = 0 + Endcase + loadd.id_partd = 0 + loadd.id_partc = 0 + loadd.partd = [] + loadd.partc = [] + If Nvl(m.gnIdSucursala, 0) <> 0 + loadd.id_sucursala = m.gnIdSucursala + loadd.sucursala = m.gcFirma + Endif + Select tact + lnrecno = Recno() + + If !m.llCalculeazaNoteTVA + Append Blank + Gather Name m.loadd + Else + Thisform.creeaza_note_tva_incasare('tact', m.loadd, m.lnSuma) + Endif + + Select tact + Goto m.lnrecno + + Endscan + + Select tact + Goto m.lnRecno1 + + Release m.loFactura + This.SalveazaXml() + Do nrord With 'tact' + This.grid1.SetFocus + This.grid1.Refresh + This.grid_focus_prima_coloana() + ENDPROC + + PROCEDURE do_cauta + PARAMETERS tcCont + LOCAL loCauta + + IF EMPTY(NVL(tcCont,'')) + RETURN + ENDIF + loCauta = CautPartenerContabilitate(GetHash([cTitlu=>Alegeti partenerul??lAdaugCorespondente=>1??cCont=>] + ALLTRIM(tcCont))) + + RETURN loCauta + + ENDPROC + + PROCEDURE do_copie + *!* 20.05.2011 + Local lnrecno, loadd + Select tact + lnRecno = Recno() + Locate For ales + If Found() + lcCond = "ales" + Else + lcCond = "recno() = " + Alltrim(Str(lnRecno)) + ENDIF + + Select tact + SCAN FOR &lcCond + Scatter Name loadd Fields Except ales + IF NVL(m.gnIdSucursala,0) <> 0 + loAdd.id_sucursala = m.gnIdSucursala + loAdd.sucursala = m.gcFirma + ENDIF + lnrecno = RECNO() + loadd.id_act = 0 && modificare ROACONT v 2.4.4 + Append Blank + Gather Name loadd + GOTO lnRecno + ENDSCAN + *!* 20.05.2011 ^ + *!* 08.08.2011 + This.SalveazaXml() + *!* 08.08.2011 ^ + Thisform.CalculeazaTotal() + + Do nrord With 'tact' + This.grid1.SetFocus + this.grid1.Refresh + this.grid_focus_prima_coloana() + ENDPROC + + PROCEDURE do_import + ENDPROC + + PROCEDURE do_modifica + *!* 08.07.2013 + *!* marius.mutu + *!* + tnIdItem: pentru cazul in care am mai multe x_item la fel (vezi nrord) + + *!* 26.02.2018 + *!* se inlocuieste valoarea pentru toate inregistrarile alese, optional + + PARAMETERS tcX_item, tcControl, tnIdItem + *** tnIdItem (optional) in loc de tcX_item, in cazul in care am mai multe x_item la fel (vezi nrord) + + LOCAL lcColoane, lcControl, lcFisier, lcIdAct, lcIdFis, lcPrimVal, lcReplace, lcVarAct, llAles + LOCAL lnColoane, lnRecno, locauta + *:Global i, pcFiltruOriginal, pcTitlu, pcTitluColoane, pccoloane, pcfiltru, pcorder, pcschema + *:Global pcselect + lcControl = ALLTRIM(tcControl) + IF '.' $ tcControl + lcControl = RIGHT(lcControl, LEN(lcControl) - AT('.', lcControl)) + ENDIF + + SELECT xitems + IF !EMPTY(m.tnIdItem) + LOCATE FOR id_item = m.tnIdItem + ELSE + LOCATE FOR ALLTRIM(x_item) = ALLTRIM(tcX_item) + ENDIF + IF !FOUND() + RETURN + ENDIF + + SCATTER NAME locauta + lcColoane = ALLTRIM(locauta.camp_lista) + lcIdFis = ALLTRIM(locauta.id_fisier) + lcFisier = ALLTRIM(locauta.fis_lista) + lcVarAct = lcControl + lcIdAct = lcIdFis + + pcselect = [select ] + lcColoane + [,] + lcIdFis + [ from ] + lcFisier + pcfiltru = [1=2] + pcschema = [] + pcorder = lcColoane + pccoloane = lcColoane + pcTitlu = PROPER(ALLTRIM(locauta.label_item)) + pcTitluColoane = pcTitlu + lnColoane = OCCURS([,], lcColoane) + pcFiltruOriginal = [inactiv = 0] + IF lnColoane > 0 + FOR i = 1 TO lnColoane + pcTitluColoane = pcTitluColoane + [, ] + ENDFOR + ENDIF + locauta = cauta_alfa(pcselect, pcfiltru, pcschema, pcorder, pccoloane, pcTitlu, pcTitluColoane, lcFisier, .F., pcFiltruOriginal) && 11.07.2007 + + IF gnButon = 1 + IF ',' $ lcColoane + lcPrimVal = LEFT(lcColoane, AT(',', lcColoane) - 1) + ELSE + lcPrimVal = ALLTRIM(lcColoane) + ENDIF + + IF 'nume_gestiune' $ LOWER(lcPrimVal) + lcIdAct = [id_] + lcVarAct + ENDIF + + SELECT tact + lnRecno = RECNO() + LOCATE FOR ales + llAles = FOUND() + GOTO m.lnRecno + lcReplace = [replace ] + lcVarAct + [ with locauta.] + lcPrimVal + [,] + lcIdAct + [ with locauta.] + lcIdFis + IF m.llAles AND AMESSAGEBOX('Doriti sa completati pentru toate inregistrarile alese?',4+32, _screen.Caption) = 6 + lcReplace = m.lcReplace + ' for ales' + ENDIF + + SELECT tact + &lcReplace + GOTO m.lnRecno + + ENDIF + + RETURN locauta + + ENDPROC + + PROCEDURE do_modifica_explicatie_tva + If tact.cu_tva = 1 + *!* modificare ROACONT v 2.4.4 + If TYPE('tact.tipnota') = 'N' AND tact.tipnota = 1 + *!* explicatii TVA exigibile din JC ( 1 ), JV ( 3 ) sau toate ( 5 ) + locauta = caut_explicatie_tva(Nvl(tact.id_jtva_coloana,-1),,,iif(tact.scc=[4428],1,iif(tact.scd=[4428],3,5))) + Else + locauta = caut_explicatie_tva(Nvl(tact.id_jtva_coloana,-1)) + Endif + *!* locauta = caut_explicatie_tva(Nvl(tact.id_jtva_coloana,-1)) + *!* modificare ROACONT v 2.4.4 ^ + If !Empty(locauta.id_jtva_coloana) + Select tact + Replace id_jtva_coloana With locauta.id_jtva_coloana,explicatie_Tva With locauta.denumire,proc_tva With (locauta.cota_tva + 100) / 100 + Endif + + * Actualizez Cod Taxa SAFT in functie de Cota TVA + Thisform.UpdateExplicatieSAFT() + ENDIF + + + ENDPROC + + PROCEDURE do_salvare + *!* 24.10.2014 + *!* marius.mutu + *!* actualizez xsets cu seturile utilizator dupa salvarea unui set + + Local loxSet As "oxSet" + Local llModelNou, llNotaNoua, llNotaNouaDefinita, lnIdSet, lnOptiune, loSet, lcXMLNote + Local lcModel, llSucces, lnIdSetModel + *:Global Buton, gnButon, pnButon, pnIesire + + lnIdSet = Thisform.nid_set + llNotaNoua = Thisform.lNotaNoua + llNotaNouaDefinita = m.llNotaNoua And !Inlist(m.lnIdSet, 99998, 99999) + llModelNou = .T. && salvare model nou + + *** MODIFICARE SET SAU SET NOU? + *** Daca s-a incarcat o nota definita de utilizator + *** salvez peste nota existenta sau creez o nota noua + llModelNou = (Type('this.oSet') <> 'O') + loSet = This.oSet + + loxSet = Createobject("oxSet", m.lnIdSet) && ocont2003.prg + + SELECT *, RECNO() as nr_nota FROM tact INTO CURSOR crsNoteTemp && completez campul nr_nota pentru ordonare + loxSet.Cursor2Property("crsNoteTemp", "cXmlNote") && completez proprietatea cXmlNote + USE IN (SELECT('crsNoteTemp')) + + *** Daca este un set existent, il salvez cu noile note, fara sa mai editez proprietatile + IF !m.llModelNou + llSucces = loxSet.Save() + ELSE + *** daca este un set nou editez proprietatile (nume, categorie, request) si apoi salvez + loxSet.New() + llSucces = loxSet.Edit() + ENDIF + + If !m.llSucces + RETURN m.llSucces + ENDIF + + lnSucces = xdate() && actualizez xsets cu seturile utilizator + + *** Daca nu exista butonul Terminat (atunci cand apelez formularul din editare set), atunci salvez si ies din formular + If !This.but_terMIN1.Visible + gnButon = 3 + pnButon = 3 + Buton = 3 + pnIesire = 3 + If !This.lhide + This.Release + Else + This.Hide + Endif + Endif + ENDPROC + + PROCEDURE do_sterge + *!* 14.07.2011 + *!* daca formularul se foloseste pentru creare nota fara predefinire, inregistrarile se sterge direct, fara verificari + Local lnAn, lnLuna, lnCod, lnIdFact, llReferinteDocumente, llNotaNoua + Local lcCond, lnRecno + *!* 24.05.2011 + Select tact + lnRecno = Recno() + Locate For ales + If Found() + lcCond = "ales" + Else + lcCond = "recno() = " + Alltrim(Str(lnRecno)) + ENDIF + + *!* 14.07.2011 + llNotaNoua = this.lNotanoua && sunt in creare nota fara predefinire, nu in modificare nota din registrul jurnal + *!* 14.07.2011 ^ + IF !m.llNotaNoua + SELECT tAct + LOCATE FOR &lcCond and !(m.glEMama OR NVL(m.gnIdSucursala,0) = NVL(tAct.id_sucursala,0)) + IF FOUND() + AMESSAGEBOX('Nu se pot sterge decat inregistrari din sucursala curenta!', 0+48, _screen.Caption) + RETURN + ENDIF + ENDIF + + SELECT an, luna, cod, id_fact FROM tact WHERE .F. INTO CURSOR cReferinteVerificate READWRITE + + SELECT tact + SCAN FOR &lcCond + lnAn = an + lnLuna = luna + lnCod = cod + lnIdFact = id_fact + IF !m.llNotaNoua + WAIT WINDOW 'Verificare referinte ' + ALLTRIM(STR(m.lnIdFact)) + ' ...' NOWAIT + llReferinteDocumente = .F. + SELECT cReferinteVerificate + LOCATE FOR an = lnAn AND luna = lnLuna AND cod = lnCod AND id_fact = lnIdFact + IF !FOUND() + llReferinteDocumente = ReferinteDocument(lnAn, lnLuna, lnCod, lnIdFact) && odocumente.prg + ENDIF + If llReferinteDocumente + AMESSAGEBOX("Documentul are referinte (incasari/plati). Nu poate fi sters.", 0+48,"Stergere") + USE IN (SELECT('cReferinteVerificate')) + RETURN + ELSE + INSERT INTO cReferinteVerificate(an, luna, cod, id_fact) VALUES (lnAn, lnLuna, lnCod, lnIdFact) + Endif + ENDIF && llNotaNoua + + Select tact + DELETE + ENDSCAN && lcCond + USE IN (SELECT('cReferinteVerificate')) + *!* 24.05.2011 ^ + + *!* 08.08.2011 + This.SalveazaXml() + *!* 08.08.2011 ^ + + Thisform.CalculeazaTotal() + + Select tact + TRY + GOTO lnRecno + SKIP -1 + CATCH + GO TOP + ENDTRY + + This.grid1.SetFocus + + ENDPROC + + PROCEDURE do_verifica + *!* PARAMETERS tlClick, tccont, tcacont, tcColoana + + *!* m.den='' + *!* ll_l=.f. + + *!* IF EMPTY(tccont) + *!* RETURN ll_l + *!* ENDIF + + *!* IF USED('TCEVA') + *!* USE IN Tceva + *!* ENDIF + + *!* lcSql=[select acont || ' - ' || explicatie as den, CONT, ACONT FROM ] + gcS + [.vplcont_ANALITIC where to_number(cont) = ] + tcCont + [ and inactiv = 0 and an = ] + pcAn + [ order by acont ] + *!* lcCursor = 'tceva' + *!* lnSucces = goExecutor.oExecute(lcSql,lcCursor) + + *!* SELECT tceva + *!* LOCATE + *!* IF EOF() + *!* IF !EMPTY(tcAcont) AND !ISNULL(tcAcont) + *!* DO mesaj WITH 'Nu au fost definite simboluri analitice','pentru contul ' + tcCont + *!* ll_l=.t. + *!* ENDIF + *!* + *!* IF USED('TCEVA') + *!* USE IN Tceva + *!* ENDIF + *!* SELECT actactan + *!* this.grid1.SetFocus + *!* RETURN ll_l + *!* ELSE + *!* IF !tlClick + *!* IF empty(tcAcont) + *!* IF USED('TCEVA') + *!* USE IN Tceva + *!* ENDIF + *!* SELECT tact + *!* this.grid1.SetFocus + *!* RETURN ll_l + *!* ENDIF + *!* ENDIF + *!* ENDIF + + *!* SELECT tceva + *!* IF tlClick + *!* DO caut_alfa_cursor WITH 'tceva','den','Alegeti simbolul analitic','m.den' + *!* SELECT tceva + *!* LOCATE FOR ALLTRIM(den) = ALLTRIM(m.den) + *!* lcAcont = acont + + *!* SELECT tact + *!* REPLACE &tcColoana WITH lcAcont + *!* ELSE + *!* LOCATE FOR ALLTRIM(cont)=ALLTRIM(tccont) AND ALLTRIM(acont)=ALLTRIM(tcacont) + *!* IF !FOUND() + *!* DO caut_alfa_cursor WITH 'tceva','den','Alegeti simbolul analitic','m.den' + *!* SELECT tceva + *!* LOCATE FOR ALLTRIM(den) = ALLTRIM(m.den) + *!* lcAcont = acont + + *!* SELECT tact + *!* REPLACE &tcColoana WITH lcAcont + *!* ENDIF + *!* ENDIF + + *!* IF USED('TCEVA') + *!* USE IN Tceva + *!* ENDIF + + *!* SELECT tact + *!* this.grid1.SetFocus + *!* RETURN ll_l + ENDPROC + + PROCEDURE grid_focus_prima_coloana + Local lnColumns, loColumn, loGrid, i + Local lcColumn + + loGrid = this.grid1 + lnColumns = loGrid.ColumnCount + + FOR i = 1 TO m.lnColumns + lcColumn = 'loGrid.Column' + ALLTRIM(STR(i)) + loColumn = &lcColumn + IF loColumn.columnOrder = 1 + EXIT + ENDIF + ENDFOR + loColumn.Setfocus() + ENDPROC + + PROCEDURE grid_sort_bind + * nu sterge + ENDPROC + + PROCEDURE inainte_de_do_termin + Local lVerificAnalitic, lCompletezPartener, llNuVerificCont + *!* 24.05.2011 + SELECT tact + SET FILTER TO + *!* 24.05.2011 ^ + + lVerificAnalitic = .T. + lCompletezPartener = .F. + *!* 13.03.2008 + *!* modificare ROACONT v 2.0.110 + If INLIST(This.nid_set, 99998, 90024) && 99998 = NOTE FARA PREDEFINIRE * (FARA VERIFICARE COMPLETARE CONT SINTETIC/ANALITIC), 90024 = INITALIZARE FACTURI SOLDURI DIN PRELUARE + *!* If id_set = 99998 && NOTE FARA PREDEFINIRE * (FARA VERIFICARE COMPLETARE CONT SINTETIC/ANALITIC) + *!* modificare ROACONT v 2.0.110 ^ + llNuVerificCont = .T. + Else + llNuVerificCont = .F. + EndIf + *!* 14.03.2008 - nu mai fac nici o verificare pentru notele 99998 + If !llNuVerificCont + llRet = verificare_note_contabile('tact',lVerificAnalitic,lCompletezPartener,llNuVerificCont) && in oOperatii_comune + Else + llRet = .T. + EndIf + *!* 14.03.2008 ^ + *!* 13.03.2008 ^ + *!* modificare v 2.4.4 + IF m.llRet + If gnAn >= 2013 + Select tact + Locate For ((scd = '4426' And scc = '4428') Or (scd='4428' And scc='4427')) And tipnota = 0 And id_act = 0 + If Found() + llRet = Iif(amessagebox("Ati adaugat o nota 4426-4428 / 4428-4427 fara a folosi optiunea 'Adauga nota TVA devenit exigibil'." + CRLF + ; + "Din aceasta cauza, este posibil ca inregistrarea sa nu se preia corect in Registrul de Cumparari / Vanzari." + CRLF + CRLF + ; + "Doriti sa continuati?", 4+32, "Note 4426-4428/4428-4427")=6,.T.,.F.) + Endif + ENDIF + ENDIF + *!* modificare v 2.4.4 ^ + RETURN m.llRet + + + *!* LOCAL lcInMesaj,lcInMesajP,lcInMesajIreg + *!* STORE '' TO lcInMesaj,lcInMesajP, lcInMesajIreg + + *!* SELECT tact + *!* GO TOP + *!* lnId_set=id_set + *!* ll_return = .T. + + *!* SELECT DISTINCT scd AS CONT FROM tact ; + *!* WHERE suma # 0 ; + *!* UNION ; + *!* SELECT DISTINCT scc AS CONT FROM tact ; + *!* WHERE suma # 0 ; + *!* INTO CURSOR tcont + + *!* i = 0 + *!* SELECT tcont + *!* SCAN + *!* i = i + 1 + *!* IF i = 1 + *!* lcLista = ALLTRIM(CONT) + *!* ELSE + *!* lcLista = lcLista + ',' + ALLTRIM(CONT) + *!* ENDIF + *!* ENDSCAN + + *!* lcSql = 'select distinct c.cont as contpart, c.fel_cont, c.cu_inregistrari, c.explicatie as explic_cont,e.cont_c as exceptie, e.debit as pozitie, e.invers, 0 as gasit ' + ; + *!* 'from ' + gcs + '.vcoresp_tip_cont c left join ' + gcs + '.exceptii_ireg e on c.cont = e.cont and e.invers = 1 ' + ; + *!* 'where to_number(c.cont) in (' + lcLista + ')' + *!* lcCursor = 'verif_part' + + *!* lnSucces = goExecutor.oExecute(lcSql,lcCursor) + *!* IF lnSucces < 0 + *!* MESSAGEBOX('Modificare:Verific completare id_part ' +goExecutor.cEroare,0+16,"Eroare") + *!* ENDIF + + *!* IF lnSucces > 0 + *!* IF RECCOUNT('verif_part') > 0 + *!* SELECT tact + *!* SCAN FOR !EMPTY(suma) + *!* SCATTER NAME loCont + *!* SELECT verif_part + *!* LOCATE FOR contpart=loCont.scd + *!* IF FOUND() + *!* IF EMPTY(loCont.Id_partd) AND !(loCont.scd$lcInMesajP) + *!* lcInMesajP=lcInMesajP+','+loCont.scd + *!* REPLACE gasit WITH 1 + *!* ENDIF + + *!* IF EMPTY(loCont.pereched) AND cu_inregistrari = 1 AND fel_cont = 1 AND !(loCont.scd$lcInMesajIreg) + *!* LOCATE FOR contpart=loCont.scd AND exceptie = loCont.scc AND fel_cont = 1 AND pozitie = 0 AND invers = 1 + *!* IF !FOUND() + *!* lcInMesajIreg = lcInMesajIreg + ',' + loCont.scd + *!* ENDIF + *!* ENDIF + *!* ENDIF + + *!* SELECT verif_part + *!* LOCATE FOR contpart=loCont.scc + *!* IF FOUND() + *!* IF EMPTY(loCont.Id_partc) AND !(loCont.scc$lcInMesajP) + *!* lcInMesajP=lcInMesajP+','+loCont.scc + *!* REPLACE gasit WITH 1 + *!* ENDIF + *!* IF cu_inregistrari = 1 AND fel_cont = 0 AND EMPTY(loCont.perechec) AND !(loCont.scc$lcInMesajIreg) + *!* LOCATE FOR contpart=loCont.scc AND exceptie = loCont.scd AND fel_cont = 0 AND pozitie = 1 AND invers = 1 + *!* IF !FOUND() + *!* lcInMesajIreg = lcInMesajIreg + ',' + loCont.scc + *!* ENDIF + *!* ENDIF + *!* ENDIF + *!* SELECT tact + *!* ENDSCAN + *!* ENDIF + *!* ENDIF + + *!* IF lnSucces > 0 AND !(lnId_set>90000 AND lnId_set<90010) && notele de inchidere se fac in functie de optiuni + *!* lcSql=[select CONT, ACONT FROM ] + gcs + [.vplcont_ANALITIC where inactiv = 0 and an = ?gnAn order by cont ] + *!* lcCursor = 'plcontana' + *!* lnSucces = goExecutor.oExecute(lcSql,lcCursor) + + *!* IF lnSucces < 0 + *!* MESSAGEBOX('Modificare:Verific completare analitic ' +goExecutor.cEroare,0+16,"Eroare") + *!* ENDIF + + *!* IF lnSucces > 0 + *!* SELECT tact + *!* SCAN FOR !EMPTY(suma) + *!* SCATTER NAME loCont + *!* IF EMPTY(loCont.ascd) OR ISNULL(loCont.ascd) + *!* SELECT plcontana + *!* LOCATE FOR ALLTRIM(CONT)=ALLTRIM(loCont.scd) + *!* IF FOUND() + *!* IF !(loCont.scd$lcInMesaj) + *!* lcInMesaj=lcInMesaj+','+loCont.scd + *!* ENDIF + *!* ENDIF + *!* ENDIF + *!* IF EMPTY(loCont.ascc) OR ISNULL(loCont.ascc) + *!* SELECT plcontana + *!* LOCATE FOR CONT=loCont.scc + *!* IF FOUND() + *!* IF !(loCont.scc$lcInMesaj) + *!* lcInMesaj=lcInMesaj+','+loCont.scc + *!* ENDIF + *!* ENDIF + *!* ENDIF + *!* SELECT tact + *!* ENDSCAN + *!* RELEASE loCont + *!* ENDIF + *!* ENDIF + + *!* IF !EMPTY(lcInMesaj) + *!* DO mesaj WITH 'Nu ati completat simbolurile analitice pentru conturile:',lcInMesaj + *!* ll_return = .F. + *!* ENDIF + + *!* IF !EMPTY(lcInMesajP) + *!* DO mesaj WITH 'Nu ati completat partenerii pentru conturile:', lcInMesajP + *!* ll_return = .F. + *!* ENDIF + + *!* IF !EMPTY(lcInMesajIreg) + *!* DO mesaj WITH 'Nu ati completat doc. pereche pentru conturile:', lcInMesajIreg + *!* ll_return = .F. + *!* ENDIF + + *!* IF USED('verif_part') + *!* USE IN verif_part + *!* ENDIF + *!* IF USED('plcontana') + *!* USE IN plcontana + *!* ENDIF + *!* IF USED('tcont') + *!* USE IN tcont + *!* ENDIF + + *!* RETURN ll_return + + + + ENDPROC + + PROCEDURE Init + *!* 05.12.2013 + *!* marius.mutu + *!* adaugat parametru tlVizualizare - pentru verificarea din registrul jurnal + *!* parametrul tlVizualizare poate avea atat valori logice (.T. = VIZUALIZARE, .F. = MODIFICARE/NOTA FARA PREDEFINIRE), + *!* cat si valori numerice (1=VIZUALIZARE, 2 = MODIFICARE, 3 = VERIFICARENOTE) + + Lparameters tnIdSet, tlNotaNoua, toBackupXML, toSet, tlVizualizare + DoDefault() + + *!* modificare ROACONT v 2.0.110 + This.nid_set = tnIdSet + *!* 14.07.2011 + This.lNotaNoua = tlNotaNoua && daca se apeleaza formularul din nota_fara_predefinire (ocont2003.prg) + *!* 14.07.2011 ^ + + *!* 05.12.2013 + This.oBackupXML = toBackupXML + This.oSet = m.toSet + This.lVizualizare = .F. + This.lModificare = .T. + This.lVerificare = .F. + + If Pcount() >= 5 + If Type('tlVizualizare') = 'L' + This.lVizualizare = m.tlVizualizare && default = MODIFICARE + Else + If Type('tlVizualizare') = 'N' + Do Case + Case m.tlVizualizare = 1 + This.lVizualizare = .T. + Case m.tlVizualizare = 2 + This.lModificare = .T. + Case m.tlVizualizare = 3 + This.lVerificare = .T. + Endcase + Endif && Type('tlVizualizare') = 'N' + Endif && Type('tlVizualizare') = 'L' + Endif + + Do Case + Case This.lVerificare && verificarea notelor contabile (ex. nota inchidere imobilizari din inchidere.prg) + This.lb_titlu_alb_b121.Caption = 'VERIFICARE' + Case m.tlNotaNoua + This.lb_titlu_alb_b121.Caption = 'NOTA FARA PREDEFINIRE' + Endcase + + *** In modul editare note definite de utilizator, arat doar butoanele Salvez si Renunt + If Type('toSet') = 'O' && sunt in modul editare + This.but_termin1.Visible = .F. + Endif + + *!* 05.12.2013 ^ + + + *!* modificare ROACONT v 2.0.110 ^ + If Iif(Type('gnModificareIdSetSpe')='U',0,gnModificareIdSetSpe)=0 And ; + (Between(tnIdSet,25000,25099) Or Inlist(tnIdSet,79,83,206,61,62,63,102,103,64,65,73,222,223,224,225,226,227,236,238,239,240) ; + or Inlist(tnIdSet,252,255,258,259,260)) + Thisform.command4.Top = Thisform.command1.Top + Thisform._shape2.Left = Thisform.but_renunT1.Left + Thisform.command1.Visible = .F. + Thisform.command2.Visible = .F. + Thisform.RemoveObject('but_nou1') + Thisform.RemoveObject('but_sterge1') + *!* modificare 19.09.2007 + *!* Thisform.command3.Visible = .F. + *!* Thisform.cnomenclator.Visible = .F. + *!* Thisform.grid1.SetAll('Readonly',.T.,'Column') + With Thisform.grid1 + .column4.ReadOnly = .T. + .column6.ReadOnly = .T. + .column10.ReadOnly = .T. + .column5.ReadOnly = .T. + .column37.ReadOnly = .T. + .column9.ReadOnly = .T. + .column15.ReadOnly = .T. + .column34.ReadOnly = .T. + .column20.ReadOnly = .T. + .column29.ReadOnly = .T. + .column21.ReadOnly = .T. + .column22.ReadOnly = .T. + .column32.ReadOnly = .T. + .column12.ReadOnly = .T. + .column25.ReadOnly = .T. + .column30.ReadOnly = .T. + .column31.ReadOnly = .T. + Endwith + *!* modificare 19.09.2007 ^ + Endif + *!* modificare v 2.4.4 + If gnAn >= 2013 + Thisform.command5.Visible = .T. + thisform.chkTVAEx.Visible = .T. + Else + Thisform.command5.Visible = .F. + thisform.chkTVAEx.Visible = .F. + Endif + *!* modificare v 2.4.4 ^ + + This.grid1.Anchor = 15 + This.but_renunt1.Anchor = 8 + + ENDPROC + + PROCEDURE Load + If !Used('saft_taxtable') + update_saft_taxtable() + ENDIF + + If !Used('saft_mecanisme_plati') + update_saft_mecanisme_plati() + ENDIF + ENDPROC + + PROCEDURE salveazaxml + *!* *** salvez doar notele fara predefinire + *!* If This.nid_set = 99998 && NOTE FARA PREDEFINIRE + *!* SaveCursor2XML('tact', 'notafarapredefinire') && oproceduri_comune.prg + *!* ENDIF + *!* If This.nid_set = 99998 && NOTE FARA PREDEFINIRE * (FARA VERIFICARE COMPLETARE CONT SINTETIC/ANALITIC) + *!* SaveCursor2XML('tact', 'notafarapredefinire2') + *!* ENDIF + + + *** salvez doar notele fara predefinire + Local loBackupXml + IF INLIST(This.nid_set, 99998, 99999) + loBackupXml = This.oBackupXMl + IF TYPE('loBackupXml') = 'O' + IF USED('tact') + loBackupXML.SaveBackupSet("tact") + ENDIF + ENDIF + ENDIF + ENDPROC + + PROCEDURE Show + Lparameters nStyle, tlMaximize + Local lnHeight + + Select tact + This.grid1.SetFocus + *!* 24.05.2011 + lnHeight = This.Height + This.WindowState = 2 + IF !m.tlMaximize && la modificare nota nu maximizez formularul + This.Height = lnHeight + ENDIF + this.gridextra1.setup() + this.grid1.SetAll("dynamicbackcolor", "IIF(ALES, RGB(255,255,225), RGB(255,255,255))", "Column") + This.CalculeazaTotal() + *!* 24.05.2011 ^ + + This.Grid1.HeaderHeight = 37 + + This.grid1.column42.visible = m.gl406 && saft taxa + This.grid1.column43.visible = m.gl406 && saft plata + ENDPROC + + PROCEDURE updateexplicatiesaft + * Daca nu este activata SAFT 406 nu fac nimic + IF !m.gl406 + RETURN + ENDIF + + Local loPartenerRTVAI As "empty" + Local loPartenerRTVAIX As "empty" + Local lcCodFiscal, lcNumePart, ldDataAct, llFurnizorRTVAI, lnIdJtva, lnIdPart, lnTaxCode, lcSelect, llN50, llN100, llNeexigibil + LOCAL ARRAY laNesosit[1] + + lcSelect = SELECT() + + + ldDataAct = tAct.dataact + lnIdJtva = tAct.id_jtva_coloana + llFurnizorRTVAI = .F. + lnIdPart = Nvl(tAct.id_partc, tAct.id_partd) + lnIdSet = Thisform.nid_set + + * llN50/llN100 = .T. doar pentru linia cu Explicatie TVA = "Limitare deducere TVA" + llN50 = .F. && (m.lnIdSet = 10609) && limitare deducere 50% + llN100 = .F. && (m.lnIdSet = 10647) && limitare deducere 100% + + SELECT COUNT(*) as nr FROM tAct WHERE LEFT(scd,3) = '418' OR LEFT(scc,3) = '408' INTO ARRAY laNesosit + llNeexigibil = (laNesosit[1] > 0) && factura neintocmita/nesosita + + lnTaxCode = GetTaxCodeIdPart(m.gnAn, m.gnLuna, m.ldDataAct, m.lnIdJtva, m.lnIdPart, m.llN50, m.llN100, m.llNeexigibil) + Replace taxcode With m.lnTaxCode In tAct + + This.grid1.column42._combobox1.ForeColor = RGB(255,0,0) + This.grid1.column42.Refresh() + + SELECT (m.lcSelect) + ENDPROC + + PROCEDURE valideaza_data + Lparameters tcTipData + && tcTipdata: dataact, dataireg + + Local lcTipData, llReturn + lcTipData = Lower(Alltrim(tcTipData)) + + llReturn=.T. + Do Case + Case lcTipData = 'dataireg' + If !(Month(dataireg) = gnLuna And Year(dataireg) = gnAn) + amessagebox("Data inregistrarii trebuie sa fie din luna " + Alltrim(pcNl)+"/"+Alltrim(pcAn)+" !",0+48,"Atentie") + llReturn=.F. + Endif + Case lcTipData = 'dataact' + If !((Month(dataact)<= gnLuna And Year(dataact) = gnAn) Or Year(dataact)0 + *!* locauta = Thisform.do_cauta(pcCont) + *!* If gnButon = 1 + *!* lnid_part=locauta.id_part + *!* lcnume=Alltrim(locauta.nume) + *!* Select tact + *!* Replace id_partd With lnid_part, partd With lcnume + *!* IF lnIdPartd <> lnid_part + *!* Select tact + *!* Replace pereched WITH 0, id_factd WITH 0 + *!* ENDIF + *!* Endif + *!* Else + *!* AMESSAGEBOX("Contul " + pcCont + " nu este configurat cu parteneri", 0 + 16 ,"Eroare") + *!* Endif + *!* Else + *!* AMESSAGEBOX(goExecutor.oPrelucrareEroare, 0 + 16 ,"Eroare") + *!* Endif + + + ENDPROC + + PROCEDURE Command2.Click + Thisform.alege_partener("C") + + *!* PRIVATE pcCont + *!* Local lnIdPartc, lnrezultat,lnsucces + + *!* Select tact + *!* pcCont = ALLTRIM(Nvl(tact.scc, '')) + *!* If Empty(pcCont) + *!* Return + *!* Endif + *!* lnIdPartc = id_partc + *!* lnrezultat=0 + *!* lnsucces=0 + *!* lcSql="select count(*) from config_cont_ireg where cont = ?pcCont" + *!* lnsucces=goExecutor.oSelect2Value(lcSql,@lnrezultat) + *!* If lnsucces=1 + *!* If lnrezultat>0 + *!* locauta = Thisform.do_cauta(pcCont) + *!* If gnButon = 1 + *!* lnid_part=locauta.id_part + *!* lcnume=Alltrim(locauta.nume) + *!* Select tact + *!* Replace id_partc With lnid_part, partc With lcnume + *!* IF lnIdPartc <> lnid_part + *!* Select tact + *!* Replace perechec WITH 0, id_factc WITH 0 + *!* ENDIF + *!* Endif + *!* ELSE + *!* AMESSAGEBOX("Contul " + pcCont + " nu este configurat cu parteneri", 0 + 16 ,"Eroare") + *!* ENDIF + *!* ELSE + *!* AMESSAGEBOX(goExecutor.oPrelucrareEroare(), 0 + 16 ,"Eroare") + *!* Endif + + + ENDPROC + + PROCEDURE Command3.Click + PARAMETERS tnFel + LOCAL lcSel, lnRecno + + IF PCOUNT()<1 + tnFel = thisform.fel_compensare + ENDIF + + tnFel = 1 && PASIV / DEBIT 401 = 5121 + + lcSel = thisform.grid1.RecordSource + SELECT (lcSel) + SCATTER NAME odoc + lnRecno = RECNO() + && 0 = ACTIV + && 1 = PASIV + *thisform.aleg_document_pereche(tnFel,odoc) + DO aleg_document_pereche WITH tnFel,odoc,lcSel IN oOperatii_comune.prg + SELECT (m.lcSel) + TRY + GOTO m.lnRecno + CATCH + GO TOP + ENDTRY + thisform.grid1.SetFocus + RELEASE odoc + ENDPROC + + PROCEDURE Command4.Click + Thisform.do_modifica_explicatie_tva() + ENDPROC + + PROCEDURE Command5.Click + Thisform.do_adauga_tva_exigibil() + ENDPROC + + PROCEDURE Command6.Click + PARAMETERS tnFel + LOCAL lcSel, lnRecno + + IF PCOUNT()<1 + tnFel = thisform.fel_compensare + ENDIF + + tnFel = 0 && ACTIV / CREDIT 5121 = 4111 + + lcSel = thisform.grid1.RecordSource + SELECT (lcSel) + SCATTER NAME odoc + lnRecno = RECNO() + && 0 = ACTIV + && 1 = PASIV + *thisform.aleg_document_pereche(tnFel,odoc) + DO aleg_document_pereche WITH tnFel,odoc,lcSel IN oOperatii_comune.prg + SELECT (m.lcSel) + TRY + GOTO m.lnRecno + CATCH + GO TOP + ENDTRY + thisform.grid1.SetFocus + RELEASE odoc + ENDPROC + + PROCEDURE Grid1.AfterRowColChange + *!* 10.08.2011 + *!* marius.mutu + *!* id-urile sunt readonly - nu se pot completa direct + + *!* 18.04.2013 + *!* dezactivez butonul de copiere pentru inregistrarile TVA incasare + *!* sa nu se copie ID_FACT din greseala + + *!* 20.12.2013 + *!* se pot modifica inregistrari pe firma mama sau daca inregistrarile apartin sucursalei curente sau daca editez un set de note definit de utilizator + + *!* 07.05.2021 + *!* am adaugat buton separat document platit/incasat + + Lparameters nColIndex + + *** se pot modifica inregistrari pe firma mama sau daca inregistrarile apartin sucursalei curente sau daca editez un set de note definit de utilizator + llReadOnly = !(m.glEMama OR NVL(m.gnIdSucursala,0) = NVL(tAct.id_sucursala,0) OR Type('thisform.oSet') = 'O') + + This.SetAll("ReadOnly", m.llReadOnly, "Column") + *!* 10.08.2011 + *** nu vreau sa completeze id-urile direct + WITH This + .Column30.ReadOnly = .T. && id_partd + .Column31.ReadOnly = .T. && id_partc + .Column38.ReadOnly = .T. && id_fact + .Column39.ReadOnly = .T. && id_factd + .Column40.ReadOnly = .T. && id_factc + .Column35.ReadOnly = .T. && cod + .Column25.ReadOnly = .T. && id_set + ENDWITH + *!* 10.08.2011 ^ + *!* pot selecta inregistrari din alte sucursale pentru operatiile de copiere, adaugare care + This.cAles.ReadOnly = .F. + IF m.llReadOnly + Thisform.cnomenclator.Enabled = .F. + Thisform.command1.Enabled = .F. + Thisform.command2.Enabled = .F. + Thisform.command3.Enabled = .F. && PERECHE D + Thisform.command6.Enabled = .F. && PERECHE C + Thisform.command4.Enabled = .F. + Thisform.command5.Enabled = .F. && modificare ROACONT v 2.4.4 + thisform.chkTVAEx.Enabled = .F. + ELSE + If Thisform.pncolumnorder = nColIndex + Thisform.cnomenclator.Enabled = .T. + Else + Thisform.cnomenclator.Enabled = .F. + Endif + + If tact.cu_tva = 1 + Thisform.command4.Enabled = .T. + Else + Thisform.command4.Enabled = .F. + Endif + + Thisform.command3.Caption = [Doc. platit cont ]+ Alltrim(NVL(tact.scd,'')) + ; + IIF(!EMPTY(tact.pereched), ' (' + ALLTRIM(TRANSFORM(tact.pereched)) + ')', '') + Thisform.command3.Enabled = !(EMPTY(tact.id_partd) OR EMPTY(tact.scd)) + + Thisform.command6.Caption = [Doc. incasat cont ]+ Alltrim(NVL(tact.scc,'')) + ; + IIF(!EMPTY(tact.perechec), ' (' + ALLTRIM(TRANSFORM(tact.perechec)) + ')', '') + Thisform.command6.Enabled = !(EMPTY(tact.id_partc) OR EMPTY(tact.scc)) + + *!* If [pereche]$Lower(Thisform.pccontrol) + *!* Thisform.command3.Enabled = .T. + *!* If [pereched]$Lower(Thisform.pccontrol) + *!* Thisform.fel_compensare = 1 + *!* Thisform.command3.Caption = [Nr.Doc.Pereche Cont ]+ Alltrim(NVL(scd,'')) + *!* Else + *!* Thisform.fel_compensare = 0 + *!* Thisform.command3.Caption = [Nr.Doc.Pereche Cont ]+ Alltrim(NVL(scc,'')) + *!* Endif + *!* Else + *!* Thisform.command3.Enabled = .F. + *!* Thisform.command3.Caption = [Nr.Doc.Pereche] + *!* ENDIF + + *!* modificare ROACONT v 2.4.4 + *** activez butonul TVA Incasare doar pentru incasari/plati sau pentru linia de TVA incasare + if tact.scc = [4428] or tact.scd = [4428] or tact.id_factd > 0 or tact.id_factc > 0 + Thisform.command5.Enabled = .T. + thisform.chkTVAEx.Enabled = .T. + else + Thisform.command5.Enabled = .F. + thisform.chkTVAEx.Enabled = .F. + endif + *!* modificare ROACONT v 2.4.4 ^ + + *** dezactivez butonul de copiere pentru inregistrarile TVA incasare + *** sa nu se copie ID_FACT din greseala + if (tact.scd = [4428] and tact.scc = [4427] and !empty(nvl(perechec,0))) or (tact.scd = [4426] and tact.scd = [4428] and !empty(nvl(pereched,0))) + Thisform.but_copiaza1.Enabled = .F. + else + Thisform.but_copiaza1.Enabled = .T. + endif + + + ENDIF && llReadOnly + ENDPROC + + PROCEDURE Grid1.BeforeRowColChange + LPARAMETERS nColIndex + IF thisform.pncolumnorder # nColIndex + STORE [] TO thisform.pccontrol + ENDIF + ENDPROC + + PROCEDURE Grid1.Column10.Text1.InteractiveChange + ADDPROPERTY(this, 'lInteractiveChange') + LOCAL lnIdPart + lnIdPart = Thisform.alege_partener("C") + IF NVL(lnIdPart,0) = 0 + REPLACE partc WITH "", id_partc WITH 0 IN tAct + ENDIF + REMOVEPROPERTY(this, 'lInteractiveChange') + ENDPROC + + PROCEDURE Grid1.Column10.Text1.LostFocus + If !Pemstatus(This,'lInteractiveChange', 5) && daca exista proprietatea, sunt inca in codul din interactivechange si nu vreau sa declansez lostfocus + If Empty(Nvl(tact.partc,'')) + Thisform.alege_partener("C", .T.) + Endif + Endif + + ENDPROC + + PROCEDURE Grid1.Column13.Text1.GotFocus + thisform.pccontrol = ALLTRIM(this.ControlSource) + + ENDPROC + + PROCEDURE Grid1.Column13.Text1.InteractiveChange + thisform.command3.Click(1) + ENDPROC + + PROCEDURE Grid1.Column15.Text1.GotFocus + thisform.pccontrol = ALLTRIM(this.ControlSource) + thisform.pcx_item = 'x15' + thisform.pnid_item = 15 + thisform.pncolumnorder = this.Parent.ColumnOrder + ENDPROC + + PROCEDURE Grid1.Column15.Text1.InteractiveChange + locauta = thisform.do_modifica(thisform.pcx_item, thisform.pccontrol, thisform.pnid_item) + ENDPROC + + PROCEDURE Grid1.Column15.Text1.LostFocus + *thisform.cnomenclator.Enabled = .F. + ENDPROC + + PROCEDURE Grid1.Column16.Text1.GotFocus + thisform.pccontrol = ALLTRIM(this.ControlSource) + thisform.pcx_item = 'x13' + thisform.pnid_item = 13 + thisform.pncolumnorder = this.Parent.ColumnOrder + ENDPROC + + PROCEDURE Grid1.Column16.Text1.InteractiveChange + locauta = thisform.do_modifica(thisform.pcx_item, thisform.pccontrol, thisform.pnid_item) + ENDPROC + + PROCEDURE Grid1.Column16.Text1.LostFocus + *thisform.cnomenclator.Enabled = .F. + ENDPROC + + PROCEDURE Grid1.Column17.Text1.GotFocus + thisform.pccontrol = ALLTRIM(this.ControlSource) + thisform.pcx_item = 'x14' + thisform.pnid_item = 14 + thisform.pncolumnorder = this.Parent.ColumnOrder + ENDPROC + + PROCEDURE Grid1.Column17.Text1.InteractiveChange + locauta = thisform.do_modifica(thisform.pcx_item, thisform.pccontrol, thisform.pnid_item) + ENDPROC + + PROCEDURE Grid1.Column17.Text1.LostFocus + *thisform.cnomenclator.Enabled = .F. + ENDPROC + + PROCEDURE Grid1.Column2.Text1.Valid + Local llValid + llValid = thisform.valideaza_data("dataireg") + IF !llValid + RETURN 0 + ENDIF + ENDPROC + + PROCEDURE Grid1.Column20.Text1.LostFocus + SELECT tact + IF !EMPTY(suma_val) OR !EMPTY(curs) + REPLACE suma WITH ROUND(suma_val*curs, m.gnPA) + ENDIF + ENDPROC + + PROCEDURE Grid1.Column21.Text1.LostFocus + SELECT tact + IF !EMPTY(suma_val) OR !EMPTY(curs) + REPLACE suma WITH ROUND(suma_val*curs, m.gnPA) + ENDIF + ENDPROC + + PROCEDURE Grid1.Column22.Text1.GotFocus + thisform.pccontrol = ALLTRIM(this.ControlSource) + thisform.pcx_item = 'x9' + thisform.pnid_item = 9 + thisform.pncolumnorder = this.Parent.ColumnOrder + ENDPROC + + PROCEDURE Grid1.Column22.Text1.InteractiveChange + locauta = thisform.do_modifica(thisform.pcx_item, thisform.pccontrol, thisform.pnid_item) + ENDPROC + + PROCEDURE Grid1.Column23.Text1.Click + this.LostFocus(.t.) + ENDPROC + + PROCEDURE Grid1.Column23.Text1.LostFocus + Parameters PlClick + Local lcAcont, lcAcontOriginal, lcCont, llReturn, lnRecno + Select tAct + lcCont = Alltrim(scd) + lcAcont = Alltrim(ascd) + lcAcontOriginal = Alltrim(Nvl(Thisform.cAcont, '')) + lnRecno = Recno('tAct') + + llReturn = verific_analitic(PlClick, lcCont, lcAcont, 'ascd', 'tact') && in oOperatii_comune.prg + + If m.llReturn + Select tAct + lcAcont = Alltrim(tAct.ascd) && se poate modifica dupa ce verific_analitic() + Locate For ales + IF FOUND() AND AMESSAGEBOX('Doriti sa inlocuiti contul ' + m.lcCont + '.' + m.lcAcont + ' in toate inregistrarile selectate cu contul ' + m.lcCont + '.' + m.lcAcontOriginal + '?' ,4+32,_Screen.Caption) = 6 + Replace All ascd With m.lcAcont For ales And Alltrim(scd) == m.lcCont And Alltrim(Nvl(ascd, '')) == m.lcAcontOriginal + ELSE + If Thisform.chkCtAnalitic.Value = 1 && copiez contul analitic pe randurile fara analitic ale aceluiasi cont + Replace All ascd With m.lcAcont For Alltrim(scd) == m.lcCont And Alltrim(Nvl(ascd, '')) == m.lcAcontOriginal + ENDIF + ENDIF + Goto lnRecno + Endif + + ENDPROC + + PROCEDURE Grid1.Column23.Text1.When + Thisform.cAcont = tAct.ascd + ENDPROC + + PROCEDURE Grid1.Column24.Text1.Click + this.LostFocus(.t.) + ENDPROC + + PROCEDURE Grid1.Column24.Text1.LostFocus + Parameters PlClick + Local lcAcont, lcAcontOriginal, lcCont, llReturn, lnRecno + Select tAct + lcCont = Alltrim(scc) + lcAcont = Alltrim(ascc) + lcAcontOriginal = Alltrim(Nvl(Thisform.cAcont, '')) + lnRecno = Recno('tAct') + + llReturn = verific_analitic(PlClick, lcCont, lcAcont, 'ascc', 'tact') && in oOperatii_comune.prg + + If m.llReturn + + Select tAct + lcAcont = Alltrim(tAct.ascc) && se poate modifica dupa ce verific_analitic() + Locate For ales + IF FOUND() AND AMESSAGEBOX('Doriti sa inlocuiti contul ' + m.lcCont + '.' + m.lcAcont + ' in toate inregistrarile selectate cu contul ' + m.lcCont + '.' + m.lcAcontOriginal + '?' ,4+32,_Screen.Caption) = 6 + Replace All ascc With m.lcAcont For ales And Alltrim(scc) == m.lcCont And Alltrim(Nvl(ascc, '')) == m.lcAcontOriginal + ELSE + If Thisform.chkCtAnalitic.Value = 1 && copiez contul analitic pe randurile fara analitic ale aceluiasi cont + Replace All ascc With m.lcAcont For Alltrim(scc) == m.lcCont And Alltrim(Nvl(ascc, '')) == m.lcAcontOriginal + ENDIF + ENDIF + Goto lnRecno + Endif + + ENDPROC + + PROCEDURE Grid1.Column24.Text1.When + Thisform.cAcont = tAct.ascc + ENDPROC + + PROCEDURE Grid1.Column27.Text1.GotFocus + thisform.pccontrol = ALLTRIM(this.ControlSource) + ENDPROC + + PROCEDURE Grid1.Column27.Text1.InteractiveChange + thisform.command6.Click(0) + ENDPROC + + PROCEDURE Grid1.Column28.Text1.GotFocus + thisform.pccontrol = ALLTRIM(this.ControlSource) + thisform.pcx_item = 'x16' + thisform.pnid_item = 16 + thisform.pncolumnorder = this.Parent.ColumnOrder + ENDPROC + + PROCEDURE Grid1.Column28.Text1.InteractiveChange + locauta = thisform.do_modifica(thisform.pcx_item, thisform.pccontrol, thisform.pnid_item) + ENDPROC + + PROCEDURE Grid1.Column28.Text1.LostFocus + *thisform.cnomenclator.Enabled = .F. + ENDPROC + + PROCEDURE Grid1.Column29.Text1.GotFocus + thisform.pccontrol = ALLTRIM(this.ControlSource) + thisform.pcx_item = 'x11' + thisform.pnid_item = 11 + thisform.pncolumnorder = this.Parent.ColumnOrder + ENDPROC + + PROCEDURE Grid1.Column29.Text1.InteractiveChange + locauta = thisform.do_modifica(thisform.pcx_item, thisform.pccontrol, thisform.pnid_item) + ENDPROC + + PROCEDURE Grid1.Column29.Text1.LostFocus + *thisform.cnomenclator.Enabled = .F. + ENDPROC + + PROCEDURE Grid1.Column3.Text1.GotFocus + thisform.pccontrol = ALLTRIM(this.ControlSource) + thisform.pcx_item = 'x2' + thisform.pnid_item = 2 + thisform.pncolumnorder = this.Parent.ColumnOrder + ENDPROC + + PROCEDURE Grid1.Column3.Text1.InteractiveChange + ADDPROPERTY(this, 'lInteractiveChange') + locauta = thisform.do_modifica(thisform.pcx_item, thisform.pccontrol, thisform.pnid_item) + REMOVEPROPERTY(this, 'lInteractiveChange') + ENDPROC + + PROCEDURE Grid1.Column3.Text1.LostFocus + *thisform.cnomenclator.Enabled = .F. + IF !PEMSTATUS(this,'lInteractiveChange', 5) && daca exista proprietatea, sunt inca in codul din interactivechange si nu vreau sa declansez lostfocus + IF EMPTY(NVL(tact.fdoc,'')) + locauta = thisform.do_modifica(thisform.pcx_item, thisform.pccontrol, thisform.pnid_item) + ENDIF + ENDIF + ENDPROC + + PROCEDURE Grid1.Column32.Text1.GotFocus + thisform.pccontrol = ALLTRIM(this.ControlSource) + thisform.pcx_item = 'x10' + thisform.pnid_item = 10 + thisform.pncolumnorder = this.Parent.ColumnOrder + ENDPROC + + PROCEDURE Grid1.Column32.Text1.InteractiveChange + locauta = thisform.do_modifica(thisform.pcx_item, thisform.pccontrol, thisform.pnid_item) + ENDPROC + + PROCEDURE Grid1.Column33.Text1.GotFocus + *!* 08.02.2007 sa nu se modifice sucursala - se seteaza automat in baza de date in oscrie_in_fisiere.prg + + *!* SELECT x_item FROM xitems WHERE ALLTRIM(UPPER(label_item)) == 'SUCURSALA' INTO CURSOR crsItem + *!* SELECT crsItem + *!* IF RECCOUNT() = 0 OR EMPTY(x_item) + *!* thisform.pcx_item = 'x29' && XITEM DIN CONTABILITATE + *!* ELSE + *!* thisform.pcx_item = x_item && 'x32' IN XITEM DIN GESTIUNI + *!* ENDIF + *!* USE IN crsItem + + *!* thisform.pccontrol = ALLTRIM(this.ControlSource) + *!* thisform.pncolumnorder = this.Parent.ColumnOrder + + *!* 08.02.2007 ^ + *!* 24.05.2011 + *!* marius.mutu + *!* in pack_contafin.scrie_in_act nu se mai suprascrie id_sucursala completat + thisform.pccontrol = ALLTRIM(this.ControlSource) + thisform.pcx_item = 'x31' + thisform.pnid_item = 68 + thisform.pncolumnorder = this.Parent.ColumnOrder + *!* 24.05.2011 ^ + ENDPROC + + PROCEDURE Grid1.Column33.Text1.InteractiveChange + *!* 24.05.2011 + *!* marius.mutu + *!* se poate modifica sucursala doar daca sunt in mama + *!* altfel nu se refac corect balantele, inregistrarile + IF m.glEMama + locauta = thisform.do_modifica(thisform.pcx_item, thisform.pccontrol, thisform.pnid_item) + ENDIF + *!* 24.05.2011 ^ + + ENDPROC + + PROCEDURE Grid1.Column33.Text1.When + *!* 24.05.2011 + *!* marius.mutu + *!* se poate modifica sucursala doar daca sunt in mama + *!* altfel nu se refac corect balantele, inregistrarile + RETURN m.glEMama + *!* 24.05.2011 ^ + ENDPROC + + PROCEDURE Grid1.Column34.Text1.GotFocus + thisform.pccontrol = ALLTRIM(this.ControlSource) + thisform.pcx_item = 'x70' + thisform.pnid_item = 70 + thisform.pncolumnorder = this.Parent.ColumnOrder + ENDPROC + + PROCEDURE Grid1.Column34.Text1.InteractiveChange + locauta = thisform.do_modifica(thisform.pcx_item, thisform.pccontrol, thisform.pnid_item) + ENDPROC + + PROCEDURE Grid1.Column35.Text1.InteractiveChange + Thisform.do_modifica_explicatie_tva() + ENDPROC + + PROCEDURE Grid1.Column36._CHECKBOX1.Click + If tact.cu_tva = 1 + Thisform.command4.Enabled = .T. + Else + Thisform.command4.Enabled = .F. + Replace id_jtva_coloana With NULL, explicatie_Tva With '', proc_tva With 0, taxcode WITH NULL IN tact + ENDIF + + ENDPROC + + PROCEDURE Grid1.Column36._CHECKBOX1.KeyPress + Lparameters nKeyCode, nShiftAltCtrl + If nKeyCode=13 + Nodefault + This.Parent.Parent.column26.SetFocus() + + Endif + + ENDPROC + + PROCEDURE Grid1.Column4.Text1.Valid + Local llValid + llValid = thisform.valideaza_data("dataact") + IF !llValid + RETURN 0 + ENDIF + ENDPROC + + PROCEDURE Grid1.Column42._combobox1.Valid + Local lnTaxCodeNou, lnTaxCodeOriginal, lnRecno + + Select tact + lnRecno = Recno() + + lnTaxCodeOriginal = thisform.nTaxCode + lnTaxCodeNou = tAct.taxcode + + If NVL(m.lnTaxCodeNou,0) <> NVL(m.lnTaxCodeOriginal,0) + Locate For ales + If Found() And AMESSAGEBOX('Doriti sa inlocuiti codul de taxa "' + TRANSFORM(m.lnTaxCodeOriginal) + '" in toate inregistrarile selectate cu codul "' + TRANSFORM(m.lnTaxCodeNou) + '"?' ,4+32,_Screen.Caption) = 6 + Select tact + Replace taxcode With m.lnTaxCodeNou For NVL(taxcode,0) = NVL(m.lnTaxCodeOriginal,0) And ales + Endif + + Goto m.lnRecno + ENDIF + + RETURN .T. + ENDPROC + + PROCEDURE Grid1.Column42._combobox1.When + Thisform.nTaxCode = tAct.taxcode + ENDPROC + + PROCEDURE Grid1.Column43._combobox1.LostFocus + This.ForeColor = RGB(0,0,0) + + + ENDPROC + + PROCEDURE Grid1.Column43._combobox1.Valid + Local lcPaymentCodeNou, lcPaymentCodeOriginal, lnRecno + + Select tact + lnRecno = Recno() + + lcPaymentCodeOriginal = thisform.cPaymentCode + lcPaymentCodeNou = ALLTRIM(tAct.paymentcode) + + If NVL(m.lcPaymentCodeNou, '') <> NVL(m.lcPaymentCodeOriginal, '') + Locate For ales + If Found() And AMESSAGEBOX('Doriti sa inlocuiti codul de plata "' + m.lcPaymentCodeOriginal + '" in toate inregistrarile selectate cu codul "' + m.lcPaymentCodeNou + '"?' ,4+32,_Screen.Caption) = 6 + Select tact + Replace paymentcode With m.lcPaymentCodeNou For Alltrim(NVL(paymentcode,'')) = ALLTRIM(NVL(m.lcPaymentCodeOriginal, '')) And ales + Endif + + Goto m.lnRecno + ENDIF + + RETURN .T. + ENDPROC + + PROCEDURE Grid1.Column43._combobox1.When + thisform.cPaymentCode = ALLTRIM(tAct.paymentcode) + ENDPROC + + PROCEDURE Grid1.Column6.Text1.InteractiveChange + ADDPROPERTY(this, 'lInteractiveChange') + LOCAL lnIdPart + lnIdPart = Thisform.alege_partener("D") + IF NVL(lnIdPart,0) = 0 + REPLACE partd WITH "", id_partd WITH 0 IN tAct + ENDIF + + REMOVEPROPERTY(this, 'lInteractiveChange') + + + + + ENDPROC + + PROCEDURE Grid1.Column6.Text1.LostFocus + If !Pemstatus(This,'lInteractiveChange', 5) && daca exista proprietatea, sunt inca in codul din interactivechange si nu vreau sa declansez lostfocus + If Empty(Nvl(tact.partd,'')) + Thisform.alege_partener("D", .T.) + Endif + Endif + + ENDPROC + + PROCEDURE Grid1.Column7.Text1.LostFocus + Local lcContNou, lcContOriginal, llReturn, lnRecno + lcContOriginal = Thisform.cCont + lcContNou = Alltrim(scd) + If Empty(m.lcContNou) + Return + Endif + llReturn = exista_cont_in_plan_conturi(m.lcContNou) && in oOperatii_comune.prg + IF !m.llReturn + RETURN m.llReturn + ENDIF + Select tact + lnRecno = Recno() + lcContNou = Alltrim(scd) && se poate modifica dupa verificarea in planul de conturi + If m.lcContNou <> m.lcContOriginal + Locate For ales + If Found() And AMESSAGEBOX('Doriti sa inlocuiti contul ' + m.lcContNou + ' in toate inregistrarile selectate cu contul ' + m.lcContOriginal + '?' ,4+32,_Screen.Caption) = 6 + Select tact + Replace scd With m.lcContNou For Alltrim(scd) = m.lcContOriginal And ales + Endif + + Goto m.lnRecno + ENDIF + + RETURN m.llReturn + ENDPROC + + PROCEDURE Grid1.Column7.Text1.When + Thisform.cCont = ALLTRIM(tact.scd) + ENDPROC + + PROCEDURE Grid1.Column8.Text1.LostFocus + Local lcContNou, lcContOriginal, llReturn, lnRecno + lcContOriginal = Thisform.cCont + lcContNou = Alltrim(scc) + If Empty(m.lcContNou) + Return + Endif + llReturn = exista_cont_in_plan_conturi(m.lcContNou) && in oOperatii_comune.prg + IF !m.llReturn + RETURN m.llReturn + ENDIF + Select tact + lnRecno = Recno() + lcContNou = Alltrim(scc) && se poate modifica dupa verificarea in planul de conturi + If m.lcContNou <> m.lcContOriginal + Locate For ales + If Found() And AMESSAGEBOX('Doriti sa inlocuiti contul ' + m.lcContNou + ' in toate inregistrarile selectate cu contul ' + m.lcContOriginal + '?' ,4+32,_Screen.Caption) = 6 + Select tact + Replace scc With m.lcContNou For Alltrim(scc) = m.lcContOriginal And ales + Endif + + Goto m.lnRecno + ENDIF + + RETURN m.llReturn + ENDPROC + + PROCEDURE Grid1.Column8.Text1.When + Thisform.cCont = ALLTRIM(tact.scc) + ENDPROC + + PROCEDURE Grid1.Column9.Text1.Valid + IF this.Value <> thisform.nOldSuma + Thisform.CalculeazaTotal() + ENDIF + ENDPROC + + PROCEDURE Grid1.Column9.Text1.When + Thisform.nOldSuma = this.Value + ENDPROC + + PROCEDURE Gridextra1.applyfilter + DODEFAULT() + Thisform.CalculeazaTotal() + ENDPROC + + PROCEDURE Gridextra1.clearfilter + DODEFAULT() + Thisform.CalculeazaTotal() + ENDPROC + +ENDDEFINE + +DEFINE CLASS frm_modific2024 AS _frmbase OF "_frm_base.vcx" + *< CLASSDATA: Baseclass="form" Timestamp="" Scale="Pixels" Uniqueid="" /> + + *-- OBJECTDATA items order determines ZOrder / El orden de los items OBJECTDATA determina el ZOrder + *< OBJECTDATA: ObjPath="pgfArticole" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="pgfArticole.PAGE1._grdfooter1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="pgfArticole.PAGE1.grdRulaje" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="pgfArticole.PAGE1.grdRulaje.cNrCrt.Header1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="pgfArticole.PAGE1.grdRulaje.cNrCrt.Text1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="pgfArticole.PAGE1.grdRulaje.cNnir.Header1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="pgfArticole.PAGE1.grdRulaje.cNnir.Text1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="pgfArticole.PAGE1.grdRulaje.cDataact.Header1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="pgfArticole.PAGE1.grdRulaje.cDataact.Text1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="pgfArticole.PAGE1.grdRulaje.cCodmat.Header1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="pgfArticole.PAGE1.grdRulaje.cCodmat.Text1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="pgfArticole.PAGE1.grdRulaje.cDenumire.Header1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="pgfArticole.PAGE1.grdRulaje.cDenumire.Text1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="pgfArticole.PAGE1.grdRulaje.cUM.Header1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="pgfArticole.PAGE1.grdRulaje.cUM.Text1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="pgfArticole.PAGE1.grdRulaje.cPret.Header1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="pgfArticole.PAGE1.grdRulaje.cPret.Text1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="pgfArticole.PAGE1.grdRulaje.cCant.Header1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="pgfArticole.PAGE1.grdRulaje.cCant.Text1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="pgfArticole.PAGE1.grdRulaje.cCante.Header1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="pgfArticole.PAGE1.grdRulaje.cCante.Text1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="pgfArticole.PAGE1.grdRulaje.cCont.Header1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="pgfArticole.PAGE1.grdRulaje.cCont.Text1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="pgfArticole.PAGE1.grdRulaje.cCod.Header1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="pgfArticole.PAGE1.grdRulaje.cCod.Text1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="pgfArticole.PAGE1.grdRulaje.cAcont.Header1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="pgfArticole.PAGE1.grdRulaje.cAcont.Text1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="pgfArticole.PAGE1.grdRulaje.cGest.Header1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="pgfArticole.PAGE1.grdRulaje.cGest.Text1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="pgfArticole.PAGE1.grdRulaje.cNrord.Header1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="pgfArticole.PAGE1.grdRulaje.cNrord.Text1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="pgfArticole.PAGE1.grdRulaje.cCurs.Header1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="pgfArticole.PAGE1.grdRulaje.cCurs.Text1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="pgfArticole.PAGE1.grdRulaje.cPretd.Header1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="pgfArticole.PAGE1.grdRulaje.cPretd.Text1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="pgfArticole.PAGE1.grdRulaje.cProcent.Header1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="pgfArticole.PAGE1.grdRulaje.cProcent.Text1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="pgfArticole.PAGE1.grdRulaje.cAdaos.Header1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="pgfArticole.PAGE1.grdRulaje.cAdaos.Text1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="pgfArticole.PAGE1.grdRulaje.cTva.Header1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="pgfArticole.PAGE1.grdRulaje.cTva.Text1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="pgfArticole.PAGE1.grdRulaje.cValoareftva.Header1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="pgfArticole.PAGE1.grdRulaje.cValoareftva.Text1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="pgfArticole.PAGE1.grdRulaje.cPretv.Header1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="pgfArticole.PAGE1.grdRulaje.cPretv.Text1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="pgfArticole.PAGE1.grdRulaje.cTvav.Header1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="pgfArticole.PAGE1.grdRulaje.cTvav.Text1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="pgfArticole.PAGE1.grdRulaje.cPretvtva.Header1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="pgfArticole.PAGE1.grdRulaje.cPretvtva.Text1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="pgfArticole.PAGE1.grdRulaje.cProc_tva.Header1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="pgfArticole.PAGE1.grdRulaje.cProc_tva.Text1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="pgfArticole.PAGE1.grdRulaje.cUtil.Header1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="pgfArticole.PAGE1.grdRulaje.cUtil.Text1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="pgfArticole.PAGE1.grdRulaje.cDataora.Header1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="pgfArticole.PAGE1.grdRulaje.cDataora.Text1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="pgfArticole.PAGE1.grdRulaje.cSectie.Header1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="pgfArticole.PAGE1.grdRulaje.cSectie.Text1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="pgfArticole.PAGE1.grdRulaje.cDatain.Header1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="pgfArticole.PAGE1.grdRulaje.cDatain.Text1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="pgfArticole.PAGE1.grdRulaje.cDataOut.Header1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="pgfArticole.PAGE1.grdRulaje.cDataOut.Text1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="pgfArticole.PAGE1.grdRulaje.cNresp.Header1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="pgfArticole.PAGE1.grdRulaje.cNresp.Text1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="pgfArticole.PAGE1.grdRulaje.cGestC.Header1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="pgfArticole.PAGE1.grdRulaje.cGestC.Text1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="pgfArticole.PAGE1.grdRulaje.cNrespC.Header1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="pgfArticole.PAGE1.grdRulaje.cNrespC.Text1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="pgfArticole.PAGE1.grdRulaje.cTipRulaj.Header1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="pgfArticole.PAGE1.grdRulaje.cTipRulaj.Text1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="pgfArticole.PAGE1.grdRulaje.Column34.Header1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="pgfArticole.PAGE1.grdRulaje.Column34.Text1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="pgfArticole.PAGE1.grdRulaje.Column35.Header1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="pgfArticole.PAGE1.grdRulaje.Column35.Text1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="pgfArticole.PAGE1.grdRulaje.cGrupa.Header1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="pgfArticole.PAGE1.grdRulaje.cGrupa.Text1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="pgfArticole.PAGE1.grdRulaje.cNract.Header1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="pgfArticole.PAGE1.grdRulaje.cNract.Text1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="pgfArticole.PAGE1.grdRulaje.cSubgrupa.Header1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="pgfArticole.PAGE1.grdRulaje.cSubgrupa.Text1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="pgfArticole.PAGE1.grdRulaje.cUtils.Header1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="pgfArticole.PAGE1.grdRulaje.cUtils.Text1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="pgfArticole.PAGE1.grdRulaje.cDataoras.Header1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="pgfArticole.PAGE1.grdRulaje.cDataoras.Text1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="pgfArticole.PAGE1.grdRulaje.cSerie.Header1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="pgfArticole.PAGE1.grdRulaje.cSerie.Text1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="pgfArticole.PAGE1.grdRulaje.cNume_val.Header1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="pgfArticole.PAGE1.grdRulaje.cNume_val.Text1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="pgfArticole.PAGE1.grdRulaje.cSerie_act.Header1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="pgfArticole.PAGE1.grdRulaje.cSerie_act.Text1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="pgfArticole.PAGE1.grdRulaje.cCodmatF.Header1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="pgfArticole.PAGE1.grdRulaje.cCodmatF.Text1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="pgfArticole.PAGE1.grdRulaje.cLot.Header1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="pgfArticole.PAGE1.grdRulaje.cLot.Text1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="pgfArticole.PAGE1.grdRulaje.cDataExpirare.Header1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="pgfArticole.PAGE1.grdRulaje.cDataExpirare.Text1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="pgfArticole.PAGE1.grdRulaje.cSucursala.Header1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="pgfArticole.PAGE1.grdRulaje.cSucursala.Text1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="pgfArticole.PAGE1.grdRulaje.cPart_rez.Header1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="pgfArticole.PAGE1.grdRulaje.cPart_rez.Text1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="pgfArticole.PAGE1.grdRulaje.cNrord_rez.Header1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="pgfArticole.PAGE1.grdRulaje.cNrord_rez.Text1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="pgfArticole.PAGE1.grdRulaje.cValoaretva.Header1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="pgfArticole.PAGE1.grdRulaje.cValoaretva.Text1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="pgfArticole.PAGE1.grdRulaje.cValoarevftva.Header1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="pgfArticole.PAGE1.grdRulaje.cValoarevftva.Text1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="pgfArticole.PAGE1.grdRulaje.cProc_tvav.Header1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="pgfArticole.PAGE1.grdRulaje.cProc_tvav.Text1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="pgfArticole.PAGE1.grdRulaje.cAdaos_tva.Header1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="pgfArticole.PAGE1.grdRulaje.cAdaos_tva.Text1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="pgfArticole.PAGE1.grdRulaje.cValoare_adaosftva.Header1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="pgfArticole.PAGE1.grdRulaje.cValoare_adaosftva.Text1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="pgfArticole.PAGE1.grdRulaje.cvaloare_adaostva.Header1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="pgfArticole.PAGE1.grdRulaje.cvaloare_adaostva.Text1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="pgfArticole.PAGE1.grdRulaje.cDiscunitar.Header1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="pgfArticole.PAGE1.grdRulaje.cDiscunitar.Text1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="pgfArticole.PAGE1.grdRulaje.cDiscunitar_tva.Header1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="pgfArticole.PAGE1.grdRulaje.cDiscunitar_tva.Text1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="pgfArticole.PAGE1.grdRulaje.cProc_disc.Header1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="pgfArticole.PAGE1.grdRulaje.cProc_disc.Text1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="pgfArticole.PAGE1.grdRulaje.cvaloarecTVA.Header1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="pgfArticole.PAGE1.grdRulaje.cvaloarecTVA.Text1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="pgfArticole.PAGE1.grdRulaje.cvaloarevTVA.Header1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="pgfArticole.PAGE1.grdRulaje.cvaloarevTVA.Text1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="pgfArticole.PAGE1.grdRulaje.cvaloarevcTVA.cvaloarevcTVA" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="pgfArticole.PAGE1.grdRulaje.cvaloarevcTVA.Text1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="pgfArticole.PAGE1.grdRulaje.cTaxCode.Header1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="pgfArticole.PAGE1.grdRulaje.cTaxCode.Text1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="pgfArticole.PAGE1.grdRulaje.cExplicatieTVA.Header1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="pgfArticole.PAGE1.grdRulaje.cExplicatieTVA.Text1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="pgfArticole.PAGE1.grdRulaje.cExplicatieTVA._combobox1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="pgfArticole.PAGE2._grdfooter1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="pgfArticole.PAGE2.grdRulajeObinv" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="pgfArticole.PAGE2.grdRulajeObinv.cNrCrt.Header1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="pgfArticole.PAGE2.grdRulajeObinv.cNrCrt.Text1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="pgfArticole.PAGE2.grdRulajeObinv.cNnir.Header1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="pgfArticole.PAGE2.grdRulajeObinv.cNnir.Text1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="pgfArticole.PAGE2.grdRulajeObinv.cDataact.Header1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="pgfArticole.PAGE2.grdRulajeObinv.cDataact.Text1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="pgfArticole.PAGE2.grdRulajeObinv.cCodmat.Header1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="pgfArticole.PAGE2.grdRulajeObinv.cCodmat.Text1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="pgfArticole.PAGE2.grdRulajeObinv.cDenumire.Header1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="pgfArticole.PAGE2.grdRulajeObinv.cDenumire.Text1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="pgfArticole.PAGE2.grdRulajeObinv.cUM.Header1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="pgfArticole.PAGE2.grdRulajeObinv.cUM.Text1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="pgfArticole.PAGE2.grdRulajeObinv.cPret.Header1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="pgfArticole.PAGE2.grdRulajeObinv.cPret.Text1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="pgfArticole.PAGE2.grdRulajeObinv.cCant.Header1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="pgfArticole.PAGE2.grdRulajeObinv.cCant.Text1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="pgfArticole.PAGE2.grdRulajeObinv.cCante.Header1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="pgfArticole.PAGE2.grdRulajeObinv.cCante.Text1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="pgfArticole.PAGE2.grdRulajeObinv.cCont.Header1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="pgfArticole.PAGE2.grdRulajeObinv.cCont.Text1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="pgfArticole.PAGE2.grdRulajeObinv.cCod.Header1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="pgfArticole.PAGE2.grdRulajeObinv.cCod.Text1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="pgfArticole.PAGE2.grdRulajeObinv.cAcont.Header1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="pgfArticole.PAGE2.grdRulajeObinv.cAcont.Text1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="pgfArticole.PAGE2.grdRulajeObinv.cGest.Header1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="pgfArticole.PAGE2.grdRulajeObinv.cGest.Text1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="pgfArticole.PAGE2.grdRulajeObinv.cNrord.Header1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="pgfArticole.PAGE2.grdRulajeObinv.cNrord.Text1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="pgfArticole.PAGE2.grdRulajeObinv.cCurs.Header1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="pgfArticole.PAGE2.grdRulajeObinv.cCurs.Text1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="pgfArticole.PAGE2.grdRulajeObinv.cPretd.Header1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="pgfArticole.PAGE2.grdRulajeObinv.cPretd.Text1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="pgfArticole.PAGE2.grdRulajeObinv.cProcent.Header1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="pgfArticole.PAGE2.grdRulajeObinv.cProcent.Text1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="pgfArticole.PAGE2.grdRulajeObinv.cAdaos.Header1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="pgfArticole.PAGE2.grdRulajeObinv.cAdaos.Text1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="pgfArticole.PAGE2.grdRulajeObinv.cTva.Header1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="pgfArticole.PAGE2.grdRulajeObinv.cTva.Text1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="pgfArticole.PAGE2.grdRulajeObinv.cValoareftva.Header1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="pgfArticole.PAGE2.grdRulajeObinv.cValoareftva.Text1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="pgfArticole.PAGE2.grdRulajeObinv.cPretv.Header1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="pgfArticole.PAGE2.grdRulajeObinv.cPretv.Text1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="pgfArticole.PAGE2.grdRulajeObinv.cTvav.Header1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="pgfArticole.PAGE2.grdRulajeObinv.cTvav.Text1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="pgfArticole.PAGE2.grdRulajeObinv.cPretvtva.Header1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="pgfArticole.PAGE2.grdRulajeObinv.cPretvtva.Text1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="pgfArticole.PAGE2.grdRulajeObinv.cProc_tva.Header1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="pgfArticole.PAGE2.grdRulajeObinv.cProc_tva.Text1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="pgfArticole.PAGE2.grdRulajeObinv.cUtil.Header1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="pgfArticole.PAGE2.grdRulajeObinv.cUtil.Text1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="pgfArticole.PAGE2.grdRulajeObinv.cDataora.Header1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="pgfArticole.PAGE2.grdRulajeObinv.cDataora.Text1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="pgfArticole.PAGE2.grdRulajeObinv.cSectie.Header1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="pgfArticole.PAGE2.grdRulajeObinv.cSectie.Text1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="pgfArticole.PAGE2.grdRulajeObinv.cDatain.Header1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="pgfArticole.PAGE2.grdRulajeObinv.cDatain.Text1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="pgfArticole.PAGE2.grdRulajeObinv.cDataOut.Header1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="pgfArticole.PAGE2.grdRulajeObinv.cDataOut.Text1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="pgfArticole.PAGE2.grdRulajeObinv.cNresp.Header1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="pgfArticole.PAGE2.grdRulajeObinv.cNresp.Text1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="pgfArticole.PAGE2.grdRulajeObinv.cGestC.Header1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="pgfArticole.PAGE2.grdRulajeObinv.cGestC.Text1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="pgfArticole.PAGE2.grdRulajeObinv.cNrespC.Header1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="pgfArticole.PAGE2.grdRulajeObinv.cNrespC.Text1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="pgfArticole.PAGE2.grdRulajeObinv.cTipRulaj.Header1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="pgfArticole.PAGE2.grdRulajeObinv.cTipRulaj.Text1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="pgfArticole.PAGE2.grdRulajeObinv.Column34.Header1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="pgfArticole.PAGE2.grdRulajeObinv.Column34.Text1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="pgfArticole.PAGE2.grdRulajeObinv.Column35.Header1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="pgfArticole.PAGE2.grdRulajeObinv.Column35.Text1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="pgfArticole.PAGE2.grdRulajeObinv.cGrupa.Header1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="pgfArticole.PAGE2.grdRulajeObinv.cGrupa.Text1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="pgfArticole.PAGE2.grdRulajeObinv.cNract.Header1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="pgfArticole.PAGE2.grdRulajeObinv.cNract.Text1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="pgfArticole.PAGE2.grdRulajeObinv.cSubgrupa.Header1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="pgfArticole.PAGE2.grdRulajeObinv.cSubgrupa.Text1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="pgfArticole.PAGE2.grdRulajeObinv.cUtils.Header1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="pgfArticole.PAGE2.grdRulajeObinv.cUtils.Text1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="pgfArticole.PAGE2.grdRulajeObinv.cDataoras.Header1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="pgfArticole.PAGE2.grdRulajeObinv.cDataoras.Text1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="pgfArticole.PAGE2.grdRulajeObinv.cSerie.Header1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="pgfArticole.PAGE2.grdRulajeObinv.cSerie.Text1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="pgfArticole.PAGE2.grdRulajeObinv.cNume_val.Header1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="pgfArticole.PAGE2.grdRulajeObinv.cNume_val.Text1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="pgfArticole.PAGE2.grdRulajeObinv.cSerie_act.Header1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="pgfArticole.PAGE2.grdRulajeObinv.cSerie_act.Text1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="pgfArticole.PAGE2.grdRulajeObinv.cCodmatF.Header1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="pgfArticole.PAGE2.grdRulajeObinv.cCodmatF.Text1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="pgfArticole.PAGE2.grdRulajeObinv.cLot.Header1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="pgfArticole.PAGE2.grdRulajeObinv.cLot.Text1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="pgfArticole.PAGE2.grdRulajeObinv.cDataExpirare.Header1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="pgfArticole.PAGE2.grdRulajeObinv.cDataExpirare.Text1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="pgfArticole.PAGE2.grdRulajeObinv.cSucursala.Header1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="pgfArticole.PAGE2.grdRulajeObinv.cSucursala.Text1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="pgfArticole.PAGE2.grdRulajeObinv.cPart_rez.Header1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="pgfArticole.PAGE2.grdRulajeObinv.cPart_rez.Text1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="pgfArticole.PAGE2.grdRulajeObinv.cNrord_rez.Header1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="pgfArticole.PAGE2.grdRulajeObinv.cNrord_rez.Text1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="pgfArticole.PAGE2.grdRulajeObinv.cValoaretva.Header1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="pgfArticole.PAGE2.grdRulajeObinv.cValoaretva.Text1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="pgfArticole.PAGE2.grdRulajeObinv.cValoarevftva.Header1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="pgfArticole.PAGE2.grdRulajeObinv.cValoarevftva.Text1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="pgfArticole.PAGE2.grdRulajeObinv.cProc_tvav.Header1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="pgfArticole.PAGE2.grdRulajeObinv.cProc_tvav.Text1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="pgfArticole.PAGE2.grdRulajeObinv.cAdaos_tva.Header1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="pgfArticole.PAGE2.grdRulajeObinv.cAdaos_tva.Text1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="pgfArticole.PAGE2.grdRulajeObinv.cValoare_adaosftva.Header1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="pgfArticole.PAGE2.grdRulajeObinv.cValoare_adaosftva.Text1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="pgfArticole.PAGE2.grdRulajeObinv.cvaloare_adaostva.Header1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="pgfArticole.PAGE2.grdRulajeObinv.cvaloare_adaostva.Text1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="pgfArticole.PAGE2.grdRulajeObinv.cDiscunitar.Header1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="pgfArticole.PAGE2.grdRulajeObinv.cDiscunitar.Text1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="pgfArticole.PAGE2.grdRulajeObinv.cDiscunitar_tva.Header1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="pgfArticole.PAGE2.grdRulajeObinv.cDiscunitar_tva.Text1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="pgfArticole.PAGE2.grdRulajeObinv.cProc_disc.Header1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="pgfArticole.PAGE2.grdRulajeObinv.cProc_disc.Text1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="pgfArticole.PAGE2.grdRulajeObinv.cvaloarecTVA.Header1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="pgfArticole.PAGE2.grdRulajeObinv.cvaloarecTVA.Text1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="pgfArticole.PAGE2.grdRulajeObinv.cvaloarevTVA.Header1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="pgfArticole.PAGE2.grdRulajeObinv.cvaloarevTVA.Text1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="pgfArticole.PAGE2.grdRulajeObinv.cvaloarevcTVA.cvaloarevcTVA" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="pgfArticole.PAGE2.grdRulajeObinv.cvaloarevcTVA.Text1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="Grid1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="Grid1.Column1.Header1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="Grid1.Column1.Text1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="Grid1.Column2.Header2" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="Grid1.Column2.Text1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="Grid1.Column3.Header3" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="Grid1.Column3.Text1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="Grid1.Column4.Header4" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="Grid1.Column4.Text1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="Grid1.Column5.Header5" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="Grid1.Column5.Text1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="Grid1.Column6.Header6" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="Grid1.Column6.Text1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="Grid1.Column7.Header7" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="Grid1.Column7.Text1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="Grid1.Column8.Header8" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="Grid1.Column8.Text1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="Grid1.Column9.Header9" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="Grid1.Column9.Text1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="Grid1.Column10.Header1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="Grid1.Column10.Text1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="Grid1.Column11.Header1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="Grid1.Column11.Text1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="Grid1.Column12.Header1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="Grid1.Column12.Text1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="Grid1.Column13.Header1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="Grid1.Column13.Text1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="Grid1.Column14.Header1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="Grid1.Column14.Text1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="Grid1.Column15.Header1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="Grid1.Column15.Text1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="Grid1.Column16.Header1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="Grid1.Column16.Text1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="Grid1.Column17.Header1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="Grid1.Column17.Text1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="Grid1.Column18.Header1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="Grid1.Column18.Text1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="Grid1.Column19.Header1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="Grid1.Column19.Text1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="Grid1.Column20.Header1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="Grid1.Column20.Text1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="Grid1.Column21.Header1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="Grid1.Column21.Text1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="Grid1.Column22.Header1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="Grid1.Column22.Text1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="Grid1.Column23.Header1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="Grid1.Column23.Text1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="Grid1.Column24.Header1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="Grid1.Column24.Text1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="Grid1.Column25.Header1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="Grid1.Column25.Text1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="Grid1.Column26.Header1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="Grid1.Column26.Text1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="Grid1.Column27.Header1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="Grid1.Column27.Text1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="Grid1.Column28.Header1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="Grid1.Column28.Text1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="Grid1.Column29.Header1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="Grid1.Column29.Text1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="Grid1.Column30.Header1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="Grid1.Column30.Text1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="Grid1.Column31.Header1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="Grid1.Column31.Text1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="Grid1.Column32.Header1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="Grid1.Column32.Text1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="Grid1.Column33.Header1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="Grid1.Column33.Text1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="Grid1.Column34.Header1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="Grid1.Column34.Text1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="Grid1.Column35.Header1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="Grid1.Column35.Text1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="Grid1.Column36.Header1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="Grid1.Column36._CHECKBOX1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="Grid1.Column37.Header1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="Grid1.Column37.Text1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="Grid1.Column38.Header1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="Grid1.Column38.Text1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="Grid1.Column39.Header1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="Grid1.Column39.Text1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="Grid1.Column40.Header1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="Grid1.Column40.Text1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="Grid1.cAles.Header1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="Grid1.cAles.Text1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="Grid1.cAles._CHECKBOX1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="Grid1.Column42.Header1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="Grid1.Column42.Text1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="Grid1.Column42._combobox1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="Grid1.Column43.Header1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="Grid1.Column43.Text1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="Grid1.Column43._combobox1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="Command1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="Gridextra1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="Command2" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="But_renunt1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="cnomenclator" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="Command3" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="But_nou1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="But_sterge1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="Command4" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="But_copiaza1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="But_modificaR" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="Lb_shortcuts1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="Command5" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="But_salveaza1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="chkTVAEx" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="txtSuma" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="lblSuma" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="But_modiparam1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="chkCtAnalitic" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="Command6" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="cmdSelect" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="But_stergeR" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="but_afiseaza_rulaje" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="But_copiazaR" UniqueID="" Timestamp="" /> + + * + *m: afiseaza_rulaje + *m: alege_partener + *m: aleg_document_pereche + *m: calculeazatotal + *m: calculeaza_valori_rul + *m: ccontrol_assign + *m: creeaza_note_tva_incasare + *m: do_adauga_rul + *m: do_adauga_tva_exigibil + *m: do_copie_rul + *m: do_import + *m: do_modifica_explicatie_tva + *m: do_sterge_rul + *m: grid_focus_prima_coloana + *m: resize_grid1 + *m: salveazaxml + *m: updateexplicatiesaft + *m: updateexplicatiesaftrul + *m: valideaza_data + *p: cacont + *p: ccont + *p: ccontrol + *p: cpaymentcode + *p: fel_compensare + *p: leditare + *p: lmodificare + *p: lnotanoua + *p: lverificare + *p: lvizualizare + *p: nid_set + *p: noldsuma && Valoarea la intrarea in campul "Suma" + *p: nprimadata + *p: nsuma && Total suma inregistrari + *p: ntaxcode + *p: obackupxml + *p: oldvalue + *p: oset + *p: ouset + *p: pccontrol + *p: pcx_item + *p: pncolumnorder + *p: pnid_item + * + + * + BackColor = 192,192,192 + BorderStyle = 3 + cacont = + ccont = + cpaymentcode = + DoCreate = .T. + FontCharSet = 238 + Height = 508 + leditare = .F. + lmodificare = .F. + lnotanoua = .F. + lverificare = .F. + lvizualizare = .F. + Name = "frm_modific2024" + nid_set = 0 + noldsuma = 0 + nprimadata = 0 + nsuma = 0 + ntaxcode = 0 + obackupxml = NULL + oldvalue = + oset = NULL + ouset = NULL + pccontrol = [] + pcx_item = 0 + pncolumnorder = 0 + pnid_item = 0 + Width = 816 + WindowType = 1 + _memberdata = + + + + + + + + + + + + + _shape1.Anchor = 10 + _shape1.Height = 31 + _shape1.Left = 0 + _shape1.Name = "_shape1" + _shape1.Top = 0 + _shape1.Width = 820 + _shape1.ZOrderSet = 2 + _shape2.Anchor = 8 + _shape2.Height = 31 + _shape2.Left = 636 + _shape2.Name = "_shape2" + _shape2.Top = 0 + _shape2.Width = 164 + _shape2.ZOrderSet = 3 + Lb_titlu_alb_b121.Caption = "MODIFICARE" + Lb_titlu_alb_b121.Left = 6 + Lb_titlu_alb_b121.Name = "Lb_titlu_alb_b121" + Lb_titlu_alb_b121.TabIndex = 18 + Lb_titlu_alb_b121.Top = 2 + Lb_titlu_alb_b121.ZOrderSet = 5 + BUT_TERMIN1.Anchor = 8 + BUT_TERMIN1.Left = 784 + BUT_TERMIN1.Name = "BUT_TERMIN1" + BUT_TERMIN1.TabIndex = 11 + BUT_TERMIN1.Top = 2 + BUT_TERMIN1.ZOrderSet = 6 + Gridsort1.Name = "Gridsort1" + * + + ADD OBJECT 'but_afiseaza_rulaje' AS but_jos WITH ; + Anchor = 12, ; + caction = afiseaza_rulaje, ; + Left = 773, ; + Name = "but_afiseaza_rulaje", ; + Top = 471 + *< END OBJECT: ClassLib="cmd_butoane.vcx" BaseClass="commandbutton" /> + + ADD OBJECT 'But_copiaza1' AS but_copiaza WITH ; + Anchor = 8, ; + caction = do_copie, ; + Left = 665, ; + Name = "But_copiaza1", ; + TabIndex = 15, ; + ToolTipText = "Copiere - Se copiaza toate campurile din inregistrarea curenta sau inregistrarile alese ", ; + Top = 2, ; + ZOrderSet = 17 + *< END OBJECT: ClassLib="cmd_butoane.vcx" BaseClass="commandbutton" /> + + ADD OBJECT 'But_copiazaR' AS but_copiaza WITH ; + Anchor = 12, ; + caction = do_copie_rul, ; + Left = 773, ; + Name = "But_copiazaR", ; + TabIndex = 15, ; + ToolTipText = "Copiere - Se copiaza toate campurile din inregistrarea curenta", ; + Top = 368, ; + ZOrderSet = 30 + *< END OBJECT: ClassLib="cmd_butoane.vcx" BaseClass="commandbutton" /> + + ADD OBJECT 'But_modificaR' AS but_modifica WITH ; + Anchor = 12, ; + Left = 773, ; + Name = "But_modificaR", ; + Top = 396, ; + Visible = .T., ; + ZOrderSet = 31 + *< END OBJECT: ClassLib="cmd_butoane.vcx" BaseClass="commandbutton" /> + + ADD OBJECT 'But_modiparam1' AS but_modiparam WITH ; + Anchor = 8, ; + caction = do_import, ; + Left = 605, ; + Name = "But_modiparam1", ; + TabIndex = 17, ; + ToolTipText = "Import din fisier MT940, xls...", ; + Top = 2, ; + Visible = .F., ; + ZOrderSet = 25 + *< END OBJECT: ClassLib="cmd_butoane.vcx" BaseClass="commandbutton" /> + + ADD OBJECT 'But_nou1' AS but_nou WITH ; + Anchor = 8, ; + Left = 636, ; + Name = "But_nou1", ; + TabIndex = 16, ; + ToolTipText = "Adaugare (CTRL+N) Se copiaza inregistrarea curenta sau inregistrarile alese, fara campurile: cont, partener, document pereche, suma lei, suma valuta", ; + Top = 2, ; + ZOrderSet = 14 + *< END OBJECT: ClassLib="cmd_butoane.vcx" BaseClass="commandbutton" /> + + ADD OBJECT 'But_renunt1' AS but_renunt WITH ; + Anchor = 8, ; + Left = 754, ; + Name = "But_renunt1", ; + TabIndex = 12, ; + Top = 2, ; + ZOrderSet = 11 + *< END OBJECT: ClassLib="cmd_butoane.vcx" BaseClass="commandbutton" /> + + ADD OBJECT 'But_salveaza1' AS but_salveaza WITH ; + Anchor = 8, ; + Left = 724, ; + Name = "But_salveaza1", ; + TabIndex = 13, ; + ToolTipText = "Salvare set note contabile", ; + Top = 2, ; + ZOrderSet = 21 + *< END OBJECT: ClassLib="cmd_butoane.vcx" BaseClass="commandbutton" /> + + ADD OBJECT 'But_sterge1' AS but_sterge WITH ; + Anchor = 8, ; + Left = 694, ; + Name = "But_sterge1", ; + TabIndex = 14, ; + Top = 2, ; + Visible = .T., ; + ZOrderSet = 15 + *< END OBJECT: ClassLib="cmd_butoane.vcx" BaseClass="commandbutton" /> + + ADD OBJECT 'But_stergeR' AS but_sterge WITH ; + Anchor = 12, ; + caction = do_sterge_rul, ; + Left = 773, ; + Name = "But_stergeR", ; + TabIndex = 14, ; + Top = 424, ; + Visible = .T., ; + ZOrderSet = 29 + *< END OBJECT: ClassLib="cmd_butoane.vcx" BaseClass="commandbutton" /> + + ADD OBJECT 'chkCtAnalitic' AS _checkbox WITH ; + Alignment = 0, ; + Anchor = 8, ; + AutoSize = .F., ; + Caption = "Copiez ct. analitic", ; + FontCharSet = 238, ; + FontSize = 10, ; + Left = 689, ; + Name = "chkCtAnalitic", ; + TabIndex = 10, ; + ToolTipText = "Se completeaza contul analitic in toate inregistrarile pentru contul sintetic curent", ; + Top = 332, ; + Width = 120, ; + ZOrderSet = 26 + *< END OBJECT: ClassLib="_baza.vcx" BaseClass="checkbox" /> + + ADD OBJECT 'chkTVAEx' AS _checkbox WITH ; + Alignment = 0, ; + Anchor = 8, ; + AutoSize = .F., ; + Caption = "Suma TVA exigibil", ; + FontCharSet = 238, ; + FontSize = 10, ; + Left = 689, ; + Name = "chkTVAEx", ; + TabIndex = 9, ; + ToolTipText = "Calculeaza suma TVA exigibil la adaugare note TVA exigibil. Este activ pentru notele 4428 sau pentru plati/incasari.", ; + Top = 271, ; + Value = 1, ; + Width = 123, ; + ZOrderSet = 22 + *< END OBJECT: ClassLib="_baza.vcx" BaseClass="checkbox" /> + + ADD OBJECT 'cmdSelect' AS commandbutton WITH ; + Anchor = 2, ; + AutoSize = .F., ; + Caption = "Selecteaza tot", ; + FontCharSet = 238, ; + FontSize = 10, ; + FontUnderline = .T., ; + ForeColor = 0,0,64, ; + Height = 30, ; + Left = 4, ; + Name = "cmdSelect", ; + TabIndex = 4, ; + Top = 328, ; + Width = 114, ; + ZOrderSet = 28 + *< END OBJECT: BaseClass="commandbutton" /> + + ADD OBJECT 'cnomenclator' AS commandbutton WITH ; + Anchor = 8, ; + AutoSize = .F., ; + Caption = "Nomenclator", ; + FontCharSet = 238, ; + FontSize = 10, ; + ForeColor = 0,0,64, ; + Height = 30, ; + Left = 688, ; + Name = "cnomenclator", ; + TabIndex = 4, ; + Top = 105, ; + Width = 114, ; + ZOrderSet = 12 + *< END OBJECT: BaseClass="commandbutton" /> + + ADD OBJECT 'Command1' AS commandbutton WITH ; + Anchor = 8, ; + AutoSize = .F., ; + Caption = "Partener Debit", ; + FontCharSet = 238, ; + FontSize = 10, ; + ForeColor = 0,0,64, ; + Height = 30, ; + Left = 688, ; + Name = "Command1", ; + TabIndex = 2, ; + ToolTipText = "Alege partenerul cont debit", ; + Top = 46, ; + Width = 114, ; + ZOrderSet = 8 + *< END OBJECT: BaseClass="commandbutton" /> + + ADD OBJECT 'Command2' AS commandbutton WITH ; + Anchor = 8, ; + AutoSize = .F., ; + Caption = "Partener Credit", ; + FontCharSet = 238, ; + FontSize = 10, ; + ForeColor = 0,0,64, ; + Height = 30, ; + Left = 688, ; + Name = "Command2", ; + TabIndex = 3, ; + ToolTipText = "Alege partenerul cont credit", ; + Top = 75, ; + Width = 114, ; + ZOrderSet = 10 + *< END OBJECT: BaseClass="commandbutton" /> + + ADD OBJECT 'Command3' AS commandbutton WITH ; + Anchor = 8, ; + AutoSize = .F., ; + Caption = "Doc. platit", ; + Enabled = .F., ; + FontCharSet = 238, ; + FontSize = 10, ; + ForeColor = 0,0,64, ; + Height = 30, ; + Left = 688, ; + Name = "Command3", ; + TabIndex = 5, ; + ToolTipText = "Alege document platit (cont debitor). Este activ daca este completat contul si partenerul debit.", ; + Top = 135, ; + Width = 114, ; + WordWrap = .T., ; + ZOrderSet = 13 + *< END OBJECT: BaseClass="commandbutton" /> + + ADD OBJECT 'Command4' AS commandbutton WITH ; + Anchor = 8, ; + AutoSize = .F., ; + Caption = "Explicatie TVA", ; + Enabled = .F., ; + FontCharSet = 238, ; + FontSize = 10, ; + ForeColor = 0,0,64, ; + Height = 30, ; + Left = 688, ; + Name = "Command4", ; + TabIndex = 7, ; + Top = 196, ; + Width = 114, ; + ZOrderSet = 16 + *< END OBJECT: BaseClass="commandbutton" /> + + ADD OBJECT 'Command5' AS commandbutton WITH ; + Anchor = 8, ; + AutoSize = .F., ; + Caption = "Adauga TVA exigibilizat", ; + Enabled = .F., ; + FontCharSet = 238, ; + FontSize = 10, ; + ForeColor = 0,0,64, ; + Height = 36, ; + Left = 688, ; + Name = "Command5", ; + TabIndex = 8, ; + ToolTipText = "Adauga nota TVA exigibil. Este activ pentru notele 4428 sau pentru plati/incasari.", ; + Top = 288, ; + Width = 114, ; + WordWrap = .T., ; + ZOrderSet = 20 + *< END OBJECT: BaseClass="commandbutton" /> + + ADD OBJECT 'Command6' AS commandbutton WITH ; + Anchor = 8, ; + AutoSize = .F., ; + Caption = "Doc. incasat", ; + Enabled = .F., ; + FontCharSet = 238, ; + FontSize = 10, ; + ForeColor = 0,0,64, ; + Height = 30, ; + Left = 688, ; + Name = "Command6", ; + TabIndex = 6, ; + ToolTipText = "Alege document incasat (cont creditor). Este activ daca este completat contul si partenerul credit.", ; + Top = 166, ; + Width = 114, ; + WordWrap = .T., ; + ZOrderSet = 27 + *< END OBJECT: BaseClass="commandbutton" /> + + ADD OBJECT 'Grid1' AS grid WITH ; + Anchor = 10, ; + BackColor = 244,250,255, ; + ColumnCount = 43, ; + DeleteMark = .F., ; + FontCharSet = 238, ; + FontSize = 10, ; + GridLineColor = 128,128,128, ; + HeaderHeight = 37, ; + Height = 284, ; + HighlightBackColor = 0,64,128, ; + HighlightStyle = 2, ; + Left = 5, ; + Name = "Grid1", ; + Panel = 1, ; + ReadOnly = .F., ; + RecordSource = "tACT", ; + RowHeight = 19, ; + SelectedItemBackColor = 49,106,197, ; + TabIndex = 1, ; + Top = 45, ; + Width = 680, ; + ZOrderSet = 4, ; + Column1.Alignment = 1, ; + Column1.BackColor = 244,250,255, ; + Column1.ColumnOrder = 1, ; + Column1.ControlSource = "NRCRT()", ; + Column1.FontCharSet = 238, ; + Column1.FontName = "Arial", ; + Column1.FontSize = 10, ; + Column1.Name = "Column1", ; + Column1.ReadOnly = .F., ; + Column1.Width = 29, ; + Column2.Alignment = 0, ; + Column2.BackColor = 244,250,255, ; + Column2.ColumnOrder = 3, ; + Column2.ControlSource = "dataireg", ; + Column2.FontCharSet = 238, ; + Column2.FontName = "Arial", ; + Column2.FontSize = 10, ; + Column2.Name = "Column2", ; + Column2.ReadOnly = .F., ; + Column2.Width = 71, ; + Column3.Alignment = 0, ; + Column3.BackColor = 244,250,255, ; + Column3.ColumnOrder = 15, ; + Column3.ControlSource = "fdoc", ; + Column3.FontCharSet = 238, ; + Column3.FontName = "Arial", ; + Column3.FontSize = 10, ; + Column3.Name = "Column3", ; + Column3.ReadOnly = .F., ; + Column3.Width = 88, ; + Column4.Alignment = 0, ; + Column4.BackColor = 244,250,255, ; + Column4.ColumnOrder = 4, ; + Column4.ControlSource = "dataact", ; + Column4.FontCharSet = 238, ; + Column4.FontName = "Arial", ; + Column4.FontSize = 10, ; + Column4.Name = "Column4", ; + Column4.ReadOnly = .F., ; + Column4.Width = 51, ; + Column5.Alignment = 1, ; + Column5.BackColor = 244,250,255, ; + Column5.ColumnOrder = 6, ; + Column5.ControlSource = "nract", ; + Column5.FontCharSet = 238, ; + Column5.FontName = "Arial", ; + Column5.FontSize = 10, ; + Column5.Name = "Column5", ; + Column5.ReadOnly = .F., ; + Column5.Width = 53, ; + Column6.Alignment = 0, ; + Column6.BackColor = 244,250,255, ; + Column6.ColumnOrder = 7, ; + Column6.ControlSource = "partd", ; + Column6.FontCharSet = 238, ; + Column6.FontName = "Arial", ; + Column6.FontSize = 10, ; + Column6.Name = "Column6", ; + Column6.ReadOnly = .F., ; + Column6.Width = 114, ; + Column7.Alignment = 1, ; + Column7.BackColor = 244,250,255, ; + Column7.ColumnOrder = 10, ; + Column7.ControlSource = "scd", ; + Column7.FontCharSet = 238, ; + Column7.FontName = "Arial", ; + Column7.FontSize = 10, ; + Column7.Name = "Column7", ; + Column7.ReadOnly = .F., ; + Column7.Width = 57, ; + Column8.Alignment = 1, ; + Column8.BackColor = 244,250,255, ; + Column8.ColumnOrder = 12, ; + Column8.ControlSource = "scc", ; + Column8.FontCharSet = 238, ; + Column8.FontName = "Arial", ; + Column8.FontSize = 10, ; + Column8.Name = "Column8", ; + Column8.ReadOnly = .F., ; + Column8.Width = 62, ; + Column9.Alignment = 1, ; + Column9.BackColor = 244,250,255, ; + Column9.ColumnOrder = 14, ; + Column9.ControlSource = "suma", ; + Column9.DynamicForeColor = "IIF(SUMA>=0, RGB(0,0,0), RGB(255,0,0))", ; + Column9.FontCharSet = 238, ; + Column9.FontName = "Arial", ; + Column9.FontSize = 10, ; + Column9.Format = "r", ; + Column9.InputMask = (get_mask(12,gnPa)), ; + Column9.Name = "Column9", ; + Column9.ReadOnly = .F., ; + Column9.Width = 93, ; + Column10.Alignment = 0, ; + Column10.BackColor = 244,250,255, ; + Column10.ColumnOrder = 8, ; + Column10.ControlSource = "partc", ; + Column10.FontCharSet = 238, ; + Column10.FontName = "Arial", ; + Column10.FontSize = 10, ; + Column10.Name = "Column10", ; + Column10.ReadOnly = .F., ; + Column10.Width = 100, ; + Column11.Alignment = 0, ; + Column11.BackColor = 244,250,255, ; + Column11.ColumnOrder = 9, ; + Column11.ControlSource = "explicatia", ; + Column11.FontCharSet = 238, ; + Column11.FontName = "Arial", ; + Column11.FontSize = 10, ; + Column11.Name = "Column11", ; + Column11.ReadOnly = .F., ; + Column11.Width = 77, ; + Column12.BackColor = 244,250,255, ; + Column12.ColumnOrder = 37, ; + Column12.ControlSource = "cod", ; + Column12.FontCharSet = 238, ; + Column12.FontName = "Arial", ; + Column12.FontSize = 10, ; + Column12.Name = "Column12", ; + Column12.ReadOnly = .T., ; + Column12.Width = 52, ; + Column13.BackColor = 244,250,255, ; + Column13.ColumnOrder = 16, ; + Column13.ControlSource = "pereched", ; + Column13.FontCharSet = 238, ; + Column13.FontName = "Arial", ; + Column13.FontSize = 10, ; + Column13.Name = "Column13", ; + Column13.ReadOnly = .F., ; + Column13.Width = 106, ; + Column14.BackColor = 244,250,255, ; + Column14.ColumnOrder = 31, ; + Column14.ControlSource = "explicatia4", ; + Column14.FontCharSet = 238, ; + Column14.FontName = "Arial", ; + Column14.FontSize = 10, ; + Column14.Name = "Column14", ; + Column14.ReadOnly = .F., ; + Column14.Width = 120, ; + Column15.BackColor = 244,250,255, ; + Column15.ColumnOrder = 24, ; + Column15.ControlSource = "nrord", ; + Column15.FontCharSet = 238, ; + Column15.FontName = "Arial", ; + Column15.FontSize = 10, ; + Column15.Name = "Column15", ; + Column15.ReadOnly = .F., ; + Column16.BackColor = 244,250,255, ; + Column16.ColumnOrder = 26, ; + Column16.ControlSource = "nresp", ; + Column16.FontCharSet = 238, ; + Column16.FontName = "Arial", ; + Column16.FontSize = 10, ; + Column16.Format = "", ; + Column16.InputMask = "", ; + Column16.Name = "Column16", ; + Column16.ReadOnly = .F., ; + Column17.BackColor = 244,250,255, ; + Column17.ColumnOrder = 27, ; + Column17.ControlSource = "dst_chlt", ; + Column17.FontCharSet = 238, ; + Column17.FontName = "Arial", ; + Column17.FontSize = 10, ; + Column17.Format = "", ; + Column17.InputMask = "", ; + Column17.Name = "Column17", ; + Column17.ReadOnly = .F., ; + Column18.BackColor = 244,250,255, ; + Column18.ColumnOrder = 32, ; + Column18.ControlSource = "explicatia5", ; + Column18.FontCharSet = 238, ; + Column18.FontName = "Arial", ; + Column18.FontSize = 10, ; + Column18.Name = "Column18", ; + Column18.ReadOnly = .F., ; + Column18.Width = 119, ; + Column19.BackColor = 244,250,255, ; + Column19.ColumnOrder = 23, ; + Column19.ControlSource = "datascad", ; + Column19.FontCharSet = 238, ; + Column19.FontName = "Arial", ; + Column19.FontSize = 10, ; + Column19.Name = "Column19", ; + Column19.ReadOnly = .F., ; + Column19.Visible = .T., ; + Column19.Width = 87, ; + Column20.BackColor = 244,250,255, ; + Column20.ColumnOrder = 28, ; + Column20.ControlSource = "suma_val", ; + Column20.FontCharSet = 238, ; + Column20.FontName = "Arial", ; + Column20.FontSize = 10, ; + Column20.InputMask = (get_mask(12,gnPa)), ; + Column20.Name = "Column20", ; + Column20.ReadOnly = .F., ; + Column20.Width = 89, ; + Column21.BackColor = 244,250,255, ; + Column21.ColumnOrder = 30, ; + Column21.ControlSource = "curs", ; + Column21.FontCharSet = 238, ; + Column21.FontName = "Arial", ; + Column21.FontSize = 10, ; + Column21.InputMask = (get_mask(12,gnPcurs)), ; + Column21.Name = "Column21", ; + Column21.ReadOnly = .F., ; + Column21.Width = 72, ; + Column22.BackColor = 244,250,255, ; + Column22.ColumnOrder = 33, ; + Column22.ControlSource = "gestin", ; + Column22.FontCharSet = 238, ; + Column22.FontName = "Arial", ; + Column22.FontSize = 10, ; + Column22.Name = "Column22", ; + Column22.ReadOnly = .F., ; + Column22.Width = 116, ; + Column23.BackColor = 244,250,255, ; + Column23.ColumnOrder = 11, ; + Column23.ControlSource = "ascd", ; + Column23.FontCharSet = 238, ; + Column23.FontName = "Arial", ; + Column23.FontSize = 10, ; + Column23.Name = "Column23", ; + Column23.ReadOnly = .F., ; + Column23.Width = 46, ; + Column24.BackColor = 244,250,255, ; + Column24.ColumnOrder = 13, ; + Column24.ControlSource = "ascc", ; + Column24.FontCharSet = 238, ; + Column24.FontName = "Arial", ; + Column24.FontSize = 10, ; + Column24.Name = "Column24", ; + Column24.ReadOnly = .F., ; + Column24.Width = 48, ; + Column25.BackColor = 244,250,255, ; + Column25.ColumnOrder = 38, ; + Column25.ControlSource = "id_set", ; + Column25.FontCharSet = 238, ; + Column25.FontName = "Arial", ; + Column25.FontSize = 10, ; + Column25.Name = "Column25", ; + Column25.ReadOnly = .T., ; + Column25.Width = 71, ; + Column26.BackColor = 244,250,255, ; + Column26.ColumnOrder = 19, ; + Column26.ControlSource = "proc_tva", ; + Column26.FontCharSet = 238, ; + Column26.FontName = "Arial", ; + Column26.FontSize = 10, ; + Column26.Name = "Column26", ; + Column26.ReadOnly = .T., ; + Column26.Width = 54, ; + Column27.BackColor = 244,250,255, ; + Column27.ColumnOrder = 17, ; + Column27.ControlSource = "perechec", ; + Column27.FontCharSet = 238, ; + Column27.FontName = "Arial", ; + Column27.FontSize = 10, ; + Column27.Name = "Column27", ; + Column27.ReadOnly = .F., ; + Column27.Width = 104, ; + Column28.BackColor = 244,250,255, ; + Column28.ColumnOrder = 35, ; + Column28.ControlSource = "sectie", ; + Column28.FontCharSet = 238, ; + Column28.FontName = "Arial", ; + Column28.FontSize = 10, ; + Column28.Name = "Column28", ; + Column28.ReadOnly = .F., ; + Column28.Width = 88, ; + Column29.BackColor = 244,250,255, ; + Column29.ColumnOrder = 29, ; + Column29.ControlSource = "nume_val", ; + Column29.FontCharSet = 238, ; + Column29.FontName = "Arial", ; + Column29.FontSize = 10, ; + Column29.Name = "Column29", ; + Column29.ReadOnly = .F., ; + Column29.Width = 79, ; + Column30.BackColor = 244,250,255, ; + Column30.ColumnOrder = 39, ; + Column30.ControlSource = "id_partd", ; + Column30.FontCharSet = 238, ; + Column30.FontName = "Arial", ; + Column30.FontSize = 10, ; + Column30.Name = "Column30", ; + Column30.ReadOnly = .T., ; + Column30.Width = 55, ; + Column31.BackColor = 244,250,255, ; + Column31.ColumnOrder = 40, ; + Column31.ControlSource = "id_partc", ; + Column31.FontCharSet = 238, ; + Column31.FontName = "Arial", ; + Column31.FontSize = 10, ; + Column31.Name = "Column31", ; + Column31.ReadOnly = .T., ; + Column31.Width = 55, ; + Column32.BackColor = 244,250,255, ; + Column32.ColumnOrder = 34, ; + Column32.ControlSource = "gestout", ; + Column32.FontCharSet = 238, ; + Column32.FontName = "Arial", ; + Column32.FontSize = 10, ; + Column32.Name = "Column32", ; + Column32.ReadOnly = .F., ; + Column32.Width = 92, ; + Column33.BackColor = 244,250,255, ; + Column33.ColumnOrder = 36, ; + Column33.ControlSource = "sucursala", ; + Column33.FontCharSet = 238, ; + Column33.FontName = "Arial", ; + Column33.FontSize = 10, ; + Column33.Name = "Column33", ; + Column33.ReadOnly = .F., ; + Column33.Width = 121, ; + Column34.BackColor = 244,250,255, ; + Column34.ColumnOrder = 25, ; + Column34.ControlSource = "contract", ; + Column34.FontCharSet = 238, ; + Column34.FontName = "Arial", ; + Column34.FontSize = 10, ; + Column34.Name = "Column34", ; + Column34.ReadOnly = .T., ; + Column34.Width = 65, ; + Column35.BackColor = 244,250,255, ; + Column35.ColumnOrder = 20, ; + Column35.ControlSource = "explicatie_tva", ; + Column35.FontCharSet = 238, ; + Column35.FontName = "Arial", ; + Column35.FontSize = 10, ; + Column35.Name = "Column35", ; + Column35.ReadOnly = .F., ; + Column35.Width = 136, ; + Column36.BackColor = 244,250,255, ; + Column36.ColumnOrder = 18, ; + Column36.ControlSource = "cu_tva", ; + Column36.FontCharSet = 238, ; + Column36.FontName = "Arial", ; + Column36.FontSize = 10, ; + Column36.Name = "Column36", ; + Column36.ReadOnly = .F., ; + Column36.Sparse = .F., ; + Column36.Width = 51, ; + Column37.BackColor = 244,250,255, ; + Column37.ColumnOrder = 5, ; + Column37.ControlSource = "serie_act", ; + Column37.FontCharSet = 238, ; + Column37.FontName = "Arial", ; + Column37.FontSize = 10, ; + Column37.Format = "!", ; + Column37.Name = "Column37", ; + Column37.ReadOnly = .F., ; + Column37.Width = 58, ; + Column38.BackColor = 244,250,255, ; + Column38.ColumnOrder = 41, ; + Column38.ControlSource = "id_fact", ; + Column38.FontCharSet = 238, ; + Column38.FontName = "Arial", ; + Column38.FontSize = 10, ; + Column38.Name = "Column38", ; + Column38.ReadOnly = .T., ; + Column38.Width = 94, ; + Column39.BackColor = 244,250,255, ; + Column39.ColumnOrder = 42, ; + Column39.ControlSource = "id_factd", ; + Column39.FontCharSet = 238, ; + Column39.FontName = "Arial", ; + Column39.FontSize = 10, ; + Column39.Name = "Column39", ; + Column39.ReadOnly = .T., ; + Column39.Width = 75, ; + Column40.BackColor = 244,250,255, ; + Column40.ColumnOrder = 43, ; + Column40.ControlSource = "id_factc", ; + Column40.FontCharSet = 238, ; + Column40.FontName = "Arial", ; + Column40.FontSize = 10, ; + Column40.Name = "Column40", ; + Column40.ReadOnly = .T., ; + Column41.BackColor = 244,250,255, ; + Column41.ColumnOrder = 2, ; + Column41.ControlSource = "tAct.ales", ; + Column41.CurrentControl = "_CHECKBOX1", ; + Column41.FontCharSet = 238, ; + Column41.FontName = "Arial", ; + Column41.FontSize = 10, ; + Column41.Name = "cAles", ; + Column41.ReadOnly = .F., ; + Column41.Sparse = .F., ; + Column41.Width = 22, ; + Column42.BackColor = 244,250,255, ; + Column42.Bound = .F., ; + Column42.ColumnOrder = 21, ; + Column42.ControlSource = "Iif(Seek(tAct.taxcode,'saft_taxtable','taxcode'),saft_taxtable.taxname,'')", ; + Column42.CurrentControl = "_combobox1", ; + Column42.FontCharSet = 238, ; + Column42.FontSize = 10, ; + Column42.Name = "Column42", ; + Column42.ReadOnly = .F., ; + Column42.Sparse = .F., ; + Column42.Width = 184, ; + Column43.BackColor = 244,250,255, ; + Column43.Bound = .F., ; + Column43.ColumnOrder = 22, ; + Column43.ControlSource = "Iif(Seek(tAct.paymentcode,'saft_mecanisme_plati','mcode'),saft_mecanisme_plati.paymentname,'')", ; + Column43.CurrentControl = "_combobox1", ; + Column43.FontCharSet = 238, ; + Column43.FontSize = 10, ; + Column43.Name = "Column43", ; + Column43.ReadOnly = .F., ; + Column43.Sparse = .F., ; + Column43.Width = 146 + *< END OBJECT: BaseClass="grid" /> + + ADD OBJECT 'Grid1.cAles._CHECKBOX1' AS _checkbox WITH ; + Alignment = 2, ; + BackColor = 255,255,255, ; + Caption = "", ; + ControlSource = "tAct.ales", ; + FontCharSet = 238, ; + FontName = "Arial", ; + FontSize = 10, ; + Left = 9, ; + Name = "_CHECKBOX1", ; + ReadOnly = .F., ; + Top = 79 + *< END OBJECT: ClassLib="_baza.vcx" BaseClass="checkbox" /> + + ADD OBJECT 'Grid1.cAles.Header1' AS header WITH ; + Alignment = 2, ; + Caption = "Ales", ; + FontCharSet = 238, ; + FontName = "Arial", ; + FontSize = 10, ; + Name = "Header1" + *< END OBJECT: BaseClass="header" /> + + ADD OBJECT 'Grid1.cAles.Text1' AS textbox WITH ; + BackColor = 255,255,255, ; + BorderStyle = 0, ; + ControlSource = "tAct.ales", ; + ForeColor = 0,0,0, ; + Margin = 0, ; + Name = "Text1", ; + SelectedBackColor = 49,106,197 + *< END OBJECT: BaseClass="textbox" /> + + ADD OBJECT 'Grid1.Column1.Header1' AS header WITH ; + Alignment = 2, ; + Caption = "NrCrt", ; + FontCharSet = 238, ; + FontName = "Arial", ; + FontSize = 10, ; + Name = "Header1" + *< END OBJECT: BaseClass="header" /> + + ADD OBJECT 'Grid1.Column1.Text1' AS textbox WITH ; + Alignment = 1, ; + BackColor = 244,250,255, ; + BorderStyle = 0, ; + FontCharSet = 238, ; + FontName = "Arial", ; + FontSize = 10, ; + ForeColor = 0,0,0, ; + Margin = 0, ; + Name = "Text1", ; + ReadOnly = .F., ; + SelectedBackColor = 49,106,197 + *< END OBJECT: BaseClass="textbox" /> + + ADD OBJECT 'Grid1.Column10.Header1' AS header WITH ; + Alignment = 2, ; + Caption = "Explicatie C", ; + FontCharSet = 238, ; + FontName = "Arial", ; + FontSize = 10, ; + Name = "Header1" + *< END OBJECT: BaseClass="header" /> + + ADD OBJECT 'Grid1.Column10.Text1' AS textbox WITH ; + Alignment = 0, ; + BackColor = 244,250,255, ; + BorderStyle = 0, ; + FontCharSet = 238, ; + FontName = "Arial", ; + FontSize = 10, ; + ForeColor = 0,0,0, ; + Margin = 0, ; + Name = "Text1", ; + ReadOnly = .F., ; + SelectedBackColor = 49,106,197 + *< END OBJECT: BaseClass="textbox" /> + + ADD OBJECT 'Grid1.Column11.Header1' AS header WITH ; + Alignment = 2, ; + Caption = "Expl.3", ; + FontCharSet = 238, ; + FontName = "Arial", ; + FontSize = 10, ; + Name = "Header1" + *< END OBJECT: BaseClass="header" /> + + ADD OBJECT 'Grid1.Column11.Text1' AS textbox WITH ; + Alignment = 0, ; + BackColor = 244,250,255, ; + BorderStyle = 0, ; + FontCharSet = 238, ; + FontName = "Arial", ; + FontSize = 10, ; + ForeColor = 0,0,0, ; + Margin = 0, ; + Name = "Text1", ; + ReadOnly = .F., ; + SelectedBackColor = 49,106,197 + *< END OBJECT: BaseClass="textbox" /> + + ADD OBJECT 'Grid1.Column12.Header1' AS header WITH ; + Alignment = 2, ; + Caption = "COD", ; + FontCharSet = 238, ; + FontName = "Arial", ; + FontSize = 10, ; + Name = "Header1" + *< END OBJECT: BaseClass="header" /> + + ADD OBJECT 'Grid1.Column12.Text1' AS textbox WITH ; + BackColor = 244,250,255, ; + BorderStyle = 0, ; + FontCharSet = 238, ; + FontName = "Arial", ; + FontSize = 10, ; + ForeColor = 0,0,0, ; + Margin = 0, ; + Name = "Text1", ; + ReadOnly = .T., ; + SelectedBackColor = 49,106,197 + *< END OBJECT: BaseClass="textbox" /> + + ADD OBJECT 'Grid1.Column13.Header1' AS header WITH ; + Alignment = 2, ; + Caption = "Nr. doc. platit (debit)", ; + FontCharSet = 238, ; + FontName = "Arial", ; + FontSize = 10, ; + Name = "Header1", ; + WordWrap = .T. + *< END OBJECT: BaseClass="header" /> + + ADD OBJECT 'Grid1.Column13.Text1' AS textbox WITH ; + BackColor = 244,250,255, ; + BorderStyle = 0, ; + FontCharSet = 238, ; + FontName = "Arial", ; + FontSize = 10, ; + ForeColor = 0,0,0, ; + Margin = 0, ; + Name = "Text1", ; + ReadOnly = .F., ; + SelectedBackColor = 49,106,197 + *< END OBJECT: BaseClass="textbox" /> + + ADD OBJECT 'Grid1.Column14.Header1' AS header WITH ; + Alignment = 2, ; + Caption = "Explicatia 4", ; + FontCharSet = 238, ; + FontName = "Arial", ; + FontSize = 10, ; + Name = "Header1" + *< END OBJECT: BaseClass="header" /> + + ADD OBJECT 'Grid1.Column14.Text1' AS textbox WITH ; + BackColor = 244,250,255, ; + BorderStyle = 0, ; + FontCharSet = 238, ; + FontName = "Arial", ; + FontSize = 10, ; + ForeColor = 0,0,0, ; + Margin = 0, ; + Name = "Text1", ; + ReadOnly = .F., ; + SelectedBackColor = 49,106,197 + *< END OBJECT: BaseClass="textbox" /> + + ADD OBJECT 'Grid1.Column15.Header1' AS header WITH ; + Alignment = 2, ; + Caption = "Lucrarea", ; + FontCharSet = 238, ; + FontName = "Arial", ; + FontSize = 10, ; + Name = "Header1" + *< END OBJECT: BaseClass="header" /> + + ADD OBJECT 'Grid1.Column15.Text1' AS textbox WITH ; + BackColor = 244,250,255, ; + BorderStyle = 0, ; + FontCharSet = 238, ; + FontName = "Arial", ; + FontSize = 10, ; + ForeColor = 0,0,0, ; + Margin = 0, ; + Name = "Text1", ; + ReadOnly = .F., ; + SelectedBackColor = 49,106,197 + *< END OBJECT: BaseClass="textbox" /> + + ADD OBJECT 'Grid1.Column16.Header1' AS header WITH ; + Alignment = 2, ; + Caption = "Responsabil", ; + FontCharSet = 238, ; + FontName = "Arial", ; + FontSize = 10, ; + Name = "Header1" + *< END OBJECT: BaseClass="header" /> + + ADD OBJECT 'Grid1.Column16.Text1' AS textbox WITH ; + BackColor = 244,250,255, ; + BorderStyle = 0, ; + FontCharSet = 238, ; + FontName = "Arial", ; + FontSize = 10, ; + ForeColor = 0,0,0, ; + Margin = 0, ; + Name = "Text1", ; + ReadOnly = .F., ; + SelectedBackColor = 49,106,197 + *< END OBJECT: BaseClass="textbox" /> + + ADD OBJECT 'Grid1.Column17.Header1' AS header WITH ; + Alignment = 2, ; + Caption = "Cheltuiala", ; + FontCharSet = 238, ; + FontName = "Arial", ; + FontSize = 10, ; + Name = "Header1" + *< END OBJECT: BaseClass="header" /> + + ADD OBJECT 'Grid1.Column17.Text1' AS textbox WITH ; + BackColor = 244,250,255, ; + BorderStyle = 0, ; + FontCharSet = 238, ; + FontName = "Arial", ; + FontSize = 10, ; + ForeColor = 0,0,0, ; + Margin = 0, ; + Name = "Text1", ; + ReadOnly = .F., ; + SelectedBackColor = 49,106,197 + *< END OBJECT: BaseClass="textbox" /> + + ADD OBJECT 'Grid1.Column18.Header1' AS header WITH ; + Alignment = 2, ; + Caption = "Explicatia 5", ; + FontCharSet = 238, ; + FontName = "Arial", ; + FontSize = 10, ; + Name = "Header1" + *< END OBJECT: BaseClass="header" /> + + ADD OBJECT 'Grid1.Column18.Text1' AS textbox WITH ; + BackColor = 244,250,255, ; + BorderStyle = 0, ; + FontCharSet = 238, ; + FontName = "Arial", ; + FontSize = 10, ; + ForeColor = 0,0,0, ; + Margin = 0, ; + Name = "Text1", ; + ReadOnly = .F., ; + SelectedBackColor = 49,106,197 + *< END OBJECT: BaseClass="textbox" /> + + ADD OBJECT 'Grid1.Column19.Header1' AS header WITH ; + Alignment = 2, ; + Caption = "Data scadenta", ; + FontCharSet = 238, ; + FontName = "Arial", ; + FontSize = 10, ; + Name = "Header1" + *< END OBJECT: BaseClass="header" /> + + ADD OBJECT 'Grid1.Column19.Text1' AS textbox WITH ; + BackColor = 244,250,255, ; + BorderStyle = 0, ; + FontCharSet = 238, ; + FontName = "Arial", ; + FontSize = 10, ; + ForeColor = 0,0,0, ; + Margin = 0, ; + Name = "Text1", ; + ReadOnly = .F., ; + SelectedBackColor = 49,106,197, ; + Visible = .T. + *< END OBJECT: BaseClass="textbox" /> + + ADD OBJECT 'Grid1.Column2.Header2' AS header WITH ; + Alignment = 2, ; + Caption = "Data Inreg.", ; + FontCharSet = 238, ; + FontName = "Arial", ; + FontSize = 10, ; + Name = "Header2" + *< END OBJECT: BaseClass="header" /> + + ADD OBJECT 'Grid1.Column2.Text1' AS textbox WITH ; + Alignment = 0, ; + BackColor = 244,250,255, ; + BorderStyle = 0, ; + FontCharSet = 238, ; + FontName = "Arial", ; + FontSize = 10, ; + ForeColor = 0,0,0, ; + Margin = 0, ; + Name = "Text1", ; + ReadOnly = .F., ; + SelectedBackColor = 49,106,197 + *< END OBJECT: BaseClass="textbox" /> + + ADD OBJECT 'Grid1.Column20.Header1' AS header WITH ; + Alignment = 2, ; + Caption = "Suma in valuta", ; + FontCharSet = 238, ; + FontName = "Arial", ; + FontSize = 10, ; + Name = "Header1" + *< END OBJECT: BaseClass="header" /> + + ADD OBJECT 'Grid1.Column20.Text1' AS textbox WITH ; + BackColor = 244,250,255, ; + BorderStyle = 0, ; + FontCharSet = 238, ; + FontName = "Arial", ; + FontSize = 10, ; + ForeColor = 0,0,0, ; + Margin = 0, ; + Name = "Text1", ; + SelectedBackColor = 49,106,197 + *< END OBJECT: BaseClass="textbox" /> + + ADD OBJECT 'Grid1.Column21.Header1' AS header WITH ; + Alignment = 2, ; + Caption = "Curs valutar", ; + FontCharSet = 238, ; + FontName = "Arial", ; + FontSize = 10, ; + Name = "Header1" + *< END OBJECT: BaseClass="header" /> + + ADD OBJECT 'Grid1.Column21.Text1' AS textbox WITH ; + BackColor = 244,250,255, ; + BorderStyle = 0, ; + FontCharSet = 238, ; + FontName = "Arial", ; + FontSize = 10, ; + ForeColor = 0,0,0, ; + Margin = 0, ; + Name = "Text1", ; + SelectedBackColor = 49,106,197 + *< END OBJECT: BaseClass="textbox" /> + + ADD OBJECT 'Grid1.Column22.Header1' AS header WITH ; + Alignment = 2, ; + Caption = "Gestiune destinatie", ; + FontCharSet = 238, ; + FontName = "Arial", ; + FontSize = 10, ; + Name = "Header1" + *< END OBJECT: BaseClass="header" /> + + ADD OBJECT 'Grid1.Column22.Text1' AS textbox WITH ; + BackColor = 244,250,255, ; + BorderStyle = 0, ; + FontCharSet = 238, ; + FontName = "Arial", ; + FontSize = 10, ; + ForeColor = 0,0,0, ; + Margin = 0, ; + Name = "Text1", ; + SelectedBackColor = 49,106,197 + *< END OBJECT: BaseClass="textbox" /> + + ADD OBJECT 'Grid1.Column23.Header1' AS header WITH ; + Alignment = 2, ; + Caption = "AnalitD", ; + FontCharSet = 238, ; + FontName = "Arial", ; + FontSize = 10, ; + Name = "Header1" + *< END OBJECT: BaseClass="header" /> + + ADD OBJECT 'Grid1.Column23.Text1' AS textbox WITH ; + BackColor = 244,250,255, ; + BorderStyle = 0, ; + FontCharSet = 238, ; + FontName = "Arial", ; + FontSize = 10, ; + ForeColor = 0,0,0, ; + Margin = 0, ; + Name = "Text1", ; + SelectedBackColor = 49,106,197 + *< END OBJECT: BaseClass="textbox" /> + + ADD OBJECT 'Grid1.Column24.Header1' AS header WITH ; + Alignment = 2, ; + Caption = "AnalitC", ; + FontCharSet = 238, ; + FontName = "Arial", ; + FontSize = 10, ; + Name = "Header1" + *< END OBJECT: BaseClass="header" /> + + ADD OBJECT 'Grid1.Column24.Text1' AS textbox WITH ; + BackColor = 244,250,255, ; + BorderStyle = 0, ; + FontCharSet = 238, ; + FontName = "Arial", ; + FontSize = 10, ; + ForeColor = 0,0,0, ; + Margin = 0, ; + Name = "Text1", ; + SelectedBackColor = 49,106,197 + *< END OBJECT: BaseClass="textbox" /> + + ADD OBJECT 'Grid1.Column25.Header1' AS header WITH ; + Alignment = 2, ; + Caption = "Tip operatie", ; + FontCharSet = 238, ; + FontName = "Arial", ; + FontSize = 10, ; + Name = "Header1" + *< END OBJECT: BaseClass="header" /> + + ADD OBJECT 'Grid1.Column25.Text1' AS textbox WITH ; + BackColor = 244,250,255, ; + BorderStyle = 0, ; + FontCharSet = 238, ; + FontName = "Arial", ; + FontSize = 10, ; + ForeColor = 0,0,0, ; + Margin = 0, ; + Name = "Text1", ; + ReadOnly = .T., ; + SelectedBackColor = 49,106,197 + *< END OBJECT: BaseClass="textbox" /> + + ADD OBJECT 'Grid1.Column26.Header1' AS header WITH ; + Alignment = 2, ; + Caption = "Cota TVA", ; + FontCharSet = 238, ; + FontName = "Arial", ; + FontSize = 10, ; + Name = "Header1" + *< END OBJECT: BaseClass="header" /> + + ADD OBJECT 'Grid1.Column26.Text1' AS textbox WITH ; + BackColor = 244,250,255, ; + BorderStyle = 0, ; + FontCharSet = 238, ; + FontName = "Arial", ; + FontSize = 10, ; + ForeColor = 0,0,0, ; + Margin = 0, ; + Name = "Text1", ; + ReadOnly = .T., ; + SelectedBackColor = 49,106,197 + *< END OBJECT: BaseClass="textbox" /> + + ADD OBJECT 'Grid1.Column27.Header1' AS header WITH ; + Alignment = 2, ; + Caption = "Nr. doc. incasat (credit)", ; + FontCharSet = 238, ; + FontName = "Arial", ; + FontSize = 10, ; + Name = "Header1", ; + WordWrap = .T. + *< END OBJECT: BaseClass="header" /> + + ADD OBJECT 'Grid1.Column27.Text1' AS textbox WITH ; + BackColor = 244,250,255, ; + BorderStyle = 0, ; + FontCharSet = 238, ; + FontName = "Arial", ; + FontSize = 10, ; + ForeColor = 0,0,0, ; + Margin = 0, ; + Name = "Text1", ; + SelectedBackColor = 49,106,197 + *< END OBJECT: BaseClass="textbox" /> + + ADD OBJECT 'Grid1.Column28.Header1' AS header WITH ; + Alignment = 2, ; + Caption = "Sectia", ; + FontCharSet = 238, ; + FontName = "Arial", ; + FontSize = 10, ; + Name = "Header1" + *< END OBJECT: BaseClass="header" /> + + ADD OBJECT 'Grid1.Column28.Text1' AS textbox WITH ; + BackColor = 244,250,255, ; + BorderStyle = 0, ; + FontCharSet = 238, ; + FontName = "Arial", ; + FontSize = 10, ; + ForeColor = 0,0,0, ; + Margin = 0, ; + Name = "Text1", ; + SelectedBackColor = 49,106,197 + *< END OBJECT: BaseClass="textbox" /> + + ADD OBJECT 'Grid1.Column29.Header1' AS header WITH ; + Alignment = 2, ; + Caption = "Nume Valuta", ; + FontCharSet = 238, ; + FontName = "Arial", ; + FontSize = 10, ; + Name = "Header1" + *< END OBJECT: BaseClass="header" /> + + ADD OBJECT 'Grid1.Column29.Text1' AS textbox WITH ; + BackColor = 244,250,255, ; + BorderStyle = 0, ; + FontCharSet = 238, ; + FontName = "Arial", ; + FontSize = 10, ; + ForeColor = 0,0,0, ; + Margin = 0, ; + Name = "Text1", ; + SelectedBackColor = 49,106,197 + *< END OBJECT: BaseClass="textbox" /> + + ADD OBJECT 'Grid1.Column3.Header3' AS header WITH ; + Alignment = 2, ; + Caption = "Fel Doc.", ; + FontCharSet = 238, ; + FontName = "Arial", ; + FontSize = 10, ; + Name = "Header3" + *< END OBJECT: BaseClass="header" /> + + ADD OBJECT 'Grid1.Column3.Text1' AS textbox WITH ; + Alignment = 0, ; + BackColor = 244,250,255, ; + BorderStyle = 0, ; + FontCharSet = 238, ; + FontName = "Arial", ; + FontSize = 10, ; + ForeColor = 0,0,0, ; + Margin = 0, ; + Name = "Text1", ; + ReadOnly = .F., ; + SelectedBackColor = 49,106,197 + *< END OBJECT: BaseClass="textbox" /> + + ADD OBJECT 'Grid1.Column30.Header1' AS header WITH ; + Alignment = 2, ; + Caption = "Id Part D", ; + FontCharSet = 238, ; + FontName = "Arial", ; + FontSize = 10, ; + Name = "Header1" + *< END OBJECT: BaseClass="header" /> + + ADD OBJECT 'Grid1.Column30.Text1' AS textbox WITH ; + BackColor = 244,250,255, ; + BorderStyle = 0, ; + FontCharSet = 238, ; + FontName = "Arial", ; + FontSize = 10, ; + ForeColor = 0,0,0, ; + Margin = 0, ; + Name = "Text1", ; + ReadOnly = .T., ; + SelectedBackColor = 49,106,197 + *< END OBJECT: BaseClass="textbox" /> + + ADD OBJECT 'Grid1.Column31.Header1' AS header WITH ; + Alignment = 2, ; + Caption = "Id Part C", ; + FontCharSet = 238, ; + FontName = "Arial", ; + FontSize = 10, ; + Name = "Header1" + *< END OBJECT: BaseClass="header" /> + + ADD OBJECT 'Grid1.Column31.Text1' AS textbox WITH ; + BackColor = 244,250,255, ; + BorderStyle = 0, ; + FontCharSet = 238, ; + FontName = "Arial", ; + FontSize = 10, ; + ForeColor = 0,0,0, ; + Margin = 0, ; + Name = "Text1", ; + ReadOnly = .T., ; + SelectedBackColor = 49,106,197 + *< END OBJECT: BaseClass="textbox" /> + + ADD OBJECT 'Grid1.Column32.Header1' AS header WITH ; + Alignment = 2, ; + Caption = "Gestiune sursa", ; + FontCharSet = 238, ; + FontName = "Arial", ; + FontSize = 10, ; + Name = "Header1" + *< END OBJECT: BaseClass="header" /> + + ADD OBJECT 'Grid1.Column32.Text1' AS textbox WITH ; + BackColor = 244,250,255, ; + BorderStyle = 0, ; + FontCharSet = 238, ; + FontName = "Arial", ; + FontSize = 10, ; + ForeColor = 0,0,0, ; + Margin = 0, ; + Name = "Text1", ; + SelectedBackColor = 49,106,197 + *< END OBJECT: BaseClass="textbox" /> + + ADD OBJECT 'Grid1.Column33.Header1' AS header WITH ; + Alignment = 2, ; + Caption = "Sucursala", ; + FontCharSet = 238, ; + FontName = "Arial", ; + FontSize = 10, ; + Name = "Header1" + *< END OBJECT: BaseClass="header" /> + + ADD OBJECT 'Grid1.Column33.Text1' AS textbox WITH ; + BackColor = 244,250,255, ; + BorderStyle = 0, ; + FontCharSet = 238, ; + FontName = "Arial", ; + FontSize = 10, ; + ForeColor = 0,0,0, ; + Margin = 0, ; + Name = "Text1", ; + ReadOnly = .F., ; + SelectedBackColor = 49,106,197 + *< END OBJECT: BaseClass="textbox" /> + + ADD OBJECT 'Grid1.Column34.Header1' AS header WITH ; + Alignment = 2, ; + Caption = "Contract", ; + FontCharSet = 238, ; + FontName = "Arial", ; + FontSize = 10, ; + Name = "Header1" + *< END OBJECT: BaseClass="header" /> + + ADD OBJECT 'Grid1.Column34.Text1' AS textbox WITH ; + BackColor = 244,250,255, ; + BorderStyle = 0, ; + FontCharSet = 238, ; + FontName = "Arial", ; + FontSize = 10, ; + ForeColor = 0,0,0, ; + Margin = 0, ; + Name = "Text1", ; + ReadOnly = .T., ; + SelectedBackColor = 49,106,197 + *< END OBJECT: BaseClass="textbox" /> + + ADD OBJECT 'Grid1.Column35.Header1' AS header WITH ; + Alignment = 2, ; + Caption = "Explicatie TVA", ; + FontCharSet = 238, ; + FontName = "Arial", ; + FontSize = 10, ; + Name = "Header1" + *< END OBJECT: BaseClass="header" /> + + ADD OBJECT 'Grid1.Column35.Text1' AS textbox WITH ; + BackColor = 244,250,255, ; + BorderStyle = 0, ; + FontCharSet = 238, ; + FontName = "Arial", ; + FontSize = 10, ; + ForeColor = 0,0,0, ; + Margin = 0, ; + Name = "Text1", ; + ReadOnly = .F., ; + SelectedBackColor = 49,106,197 + *< END OBJECT: BaseClass="textbox" /> + + ADD OBJECT 'Grid1.Column36._CHECKBOX1' AS _checkbox WITH ; + Alignment = 2, ; + AutoSize = .F., ; + Caption = "", ; + Centered = .T., ; + FontCharSet = 238, ; + FontName = "Arial", ; + FontSize = 10, ; + Left = 19, ; + Name = "_CHECKBOX1", ; + Top = 31 + *< END OBJECT: ClassLib="_baza.vcx" BaseClass="checkbox" /> + + ADD OBJECT 'Grid1.Column36.Header1' AS header WITH ; + Alignment = 2, ; + Caption = "Cu TVA", ; + FontCharSet = 238, ; + FontName = "Arial", ; + FontSize = 10, ; + Name = "Header1" + *< END OBJECT: BaseClass="header" /> + + ADD OBJECT 'Grid1.Column37.Header1' AS header WITH ; + Alignment = 2, ; + Caption = "Serie doc.", ; + FontCharSet = 238, ; + FontName = "Arial", ; + FontSize = 10, ; + Name = "Header1" + *< END OBJECT: BaseClass="header" /> + + ADD OBJECT 'Grid1.Column37.Text1' AS textbox WITH ; + BackColor = 244,250,255, ; + BorderStyle = 0, ; + FontCharSet = 238, ; + FontName = "Arial", ; + FontSize = 10, ; + ForeColor = 0,0,0, ; + Margin = 0, ; + Name = "Text1", ; + SelectedBackColor = 49,106,197 + *< END OBJECT: BaseClass="textbox" /> + + ADD OBJECT 'Grid1.Column38.Header1' AS header WITH ; + Alignment = 2, ; + Caption = "Id factura", ; + FontCharSet = 238, ; + FontName = "Arial", ; + FontSize = 10, ; + Name = "Header1" + *< END OBJECT: BaseClass="header" /> + + ADD OBJECT 'Grid1.Column38.Text1' AS textbox WITH ; + BackColor = 255,255,255, ; + BorderStyle = 0, ; + FontCharSet = 238, ; + FontName = "Arial", ; + FontSize = 10, ; + ForeColor = 0,0,0, ; + Margin = 0, ; + Name = "Text1", ; + ReadOnly = .T., ; + SelectedBackColor = 49,106,197 + *< END OBJECT: BaseClass="textbox" /> + + ADD OBJECT 'Grid1.Column39.Header1' AS header WITH ; + Caption = "Id Factura D", ; + FontCharSet = 238, ; + FontName = "Arial", ; + FontSize = 10, ; + Name = "Header1" + *< END OBJECT: BaseClass="header" /> + + ADD OBJECT 'Grid1.Column39.Text1' AS textbox WITH ; + BackColor = 255,255,255, ; + BorderStyle = 0, ; + FontCharSet = 238, ; + FontName = "Arial", ; + FontSize = 10, ; + ForeColor = 0,0,0, ; + Margin = 0, ; + Name = "Text1", ; + ReadOnly = .T., ; + SelectedBackColor = 49,106,197 + *< END OBJECT: BaseClass="textbox" /> + + ADD OBJECT 'Grid1.Column4.Header4' AS header WITH ; + Alignment = 2, ; + Caption = "Data Act", ; + FontCharSet = 238, ; + FontName = "Arial", ; + FontSize = 10, ; + Name = "Header4" + *< END OBJECT: BaseClass="header" /> + + ADD OBJECT 'Grid1.Column4.Text1' AS textbox WITH ; + Alignment = 0, ; + BackColor = 244,250,255, ; + BorderStyle = 0, ; + FontCharSet = 238, ; + FontName = "Arial", ; + FontSize = 10, ; + ForeColor = 0,0,0, ; + Margin = 0, ; + Name = "Text1", ; + ReadOnly = .F., ; + SelectedBackColor = 49,106,197 + *< END OBJECT: BaseClass="textbox" /> + + ADD OBJECT 'Grid1.Column40.Header1' AS header WITH ; + Alignment = 2, ; + Caption = "Id Factura C", ; + FontCharSet = 238, ; + FontName = "Arial", ; + FontSize = 10, ; + Name = "Header1" + *< END OBJECT: BaseClass="header" /> + + ADD OBJECT 'Grid1.Column40.Text1' AS textbox WITH ; + BackColor = 255,255,255, ; + BorderStyle = 0, ; + FontCharSet = 238, ; + FontName = "Arial", ; + FontSize = 10, ; + ForeColor = 0,0,0, ; + Margin = 0, ; + Name = "Text1", ; + ReadOnly = .T., ; + SelectedBackColor = 49,106,197 + *< END OBJECT: BaseClass="textbox" /> + + ADD OBJECT 'Grid1.Column42._combobox1' AS _combobox WITH ; + BackColor = 244,250,255, ; + BorderStyle = 0, ; + BoundColumn = 4, ; + BoundTo = .T., ; + ColumnCount = 3, ; + ColumnLines = .F., ; + ColumnWidths = "450,150,40", ; + ControlSource = "tAct.taxcode", ; + Left = 32, ; + Name = "_combobox1", ; + RowSource = "select taxname, tip, CAST(procent_taxa as N(6,2) null) as procent_taxa, taxcode from saft_taxtable order by tva, tva_livrari, tva_achizitii, wht, taxcode into cursor crsTaxTableX", ; + RowSourceType = 3, ; + Top = 55 + *< END OBJECT: ClassLib="_baza.vcx" BaseClass="combobox" /> + + ADD OBJECT 'Grid1.Column42.Header1' AS header WITH ; + Alignment = 2, ; + Caption = "Taxa SAFT", ; + Name = "Header1" + *< END OBJECT: BaseClass="header" /> + + ADD OBJECT 'Grid1.Column42.Text1' AS textbox WITH ; + BackColor = 255,255,255, ; + BorderStyle = 0, ; + ForeColor = 0,0,0, ; + Margin = 0, ; + Name = "Text1", ; + SelectedBackColor = 49,106,197 + *< END OBJECT: BaseClass="textbox" /> + + ADD OBJECT 'Grid1.Column43._combobox1' AS _combobox WITH ; + BorderStyle = 0, ; + BoundColumn = 3, ; + BoundTo = .T., ; + ColumnCount = 2, ; + ColumnLines = .F., ; + ColumnWidths = "300,150", ; + ControlSource = "tAct.paymentcode", ; + Left = 93, ; + Name = "_combobox1", ; + ReadOnly = .F., ; + RowSource = "select paymentname, methodname, mechanismcode from saft_mecanisme_plati where afisat = 1 order by ordine into cursor crsPaymentX", ; + RowSourceType = 3, ; + Top = 67 + *< END OBJECT: ClassLib="_baza.vcx" BaseClass="combobox" /> + + ADD OBJECT 'Grid1.Column43.Header1' AS header WITH ; + Alignment = 2, ; + Caption = "Plata SAFT", ; + Name = "Header1" + *< END OBJECT: BaseClass="header" /> + + ADD OBJECT 'Grid1.Column43.Text1' AS textbox WITH ; + BackColor = 244,250,255, ; + BorderStyle = 0, ; + FontCharSet = 238, ; + FontSize = 10, ; + ForeColor = 0,0,0, ; + Margin = 0, ; + Name = "Text1", ; + SelectedBackColor = 49,106,197 + *< END OBJECT: BaseClass="textbox" /> + + ADD OBJECT 'Grid1.Column5.Header5' AS header WITH ; + Alignment = 2, ; + Caption = "Nr.Doc.", ; + FontCharSet = 238, ; + FontName = "Arial", ; + FontSize = 10, ; + Name = "Header5" + *< END OBJECT: BaseClass="header" /> + + ADD OBJECT 'Grid1.Column5.Text1' AS textbox WITH ; + Alignment = 1, ; + BackColor = 244,250,255, ; + BorderStyle = 0, ; + FontCharSet = 238, ; + FontName = "Arial", ; + FontSize = 10, ; + ForeColor = 0,0,0, ; + Margin = 0, ; + Name = "Text1", ; + ReadOnly = .F., ; + SelectedBackColor = 49,106,197 + *< END OBJECT: BaseClass="textbox" /> + + ADD OBJECT 'Grid1.Column6.Header6' AS header WITH ; + Alignment = 2, ; + Caption = "Explicatie D", ; + FontCharSet = 238, ; + FontName = "Arial", ; + FontSize = 10, ; + Name = "Header6" + *< END OBJECT: BaseClass="header" /> + + ADD OBJECT 'Grid1.Column6.Text1' AS textbox WITH ; + Alignment = 0, ; + BackColor = 244,250,255, ; + BorderColor = 0,0,0, ; + BorderStyle = 0, ; + FontCharSet = 238, ; + FontName = "Arial", ; + FontSize = 10, ; + ForeColor = 0,0,0, ; + Margin = 0, ; + Name = "Text1", ; + ReadOnly = .F., ; + SelectedBackColor = 49,106,197 + *< END OBJECT: BaseClass="textbox" /> + + ADD OBJECT 'Grid1.Column7.Header7' AS header WITH ; + Alignment = 2, ; + Caption = "Cont Deb.", ; + FontCharSet = 238, ; + FontName = "Arial", ; + FontSize = 10, ; + Name = "Header7" + *< END OBJECT: BaseClass="header" /> + + ADD OBJECT 'Grid1.Column7.Text1' AS textbox WITH ; + Alignment = 1, ; + BackColor = 244,250,255, ; + BorderStyle = 0, ; + FontCharSet = 238, ; + FontName = "Arial", ; + FontSize = 10, ; + ForeColor = 0,0,0, ; + Margin = 0, ; + Name = "Text1", ; + ReadOnly = .F., ; + SelectedBackColor = 49,106,197 + *< END OBJECT: BaseClass="textbox" /> + + ADD OBJECT 'Grid1.Column8.Header8' AS header WITH ; + Alignment = 2, ; + Caption = "Cont Cred.", ; + FontCharSet = 238, ; + FontName = "Arial", ; + FontSize = 10, ; + Name = "Header8" + *< END OBJECT: BaseClass="header" /> + + ADD OBJECT 'Grid1.Column8.Text1' AS textbox WITH ; + Alignment = 1, ; + BackColor = 244,250,255, ; + BorderStyle = 0, ; + FontCharSet = 238, ; + FontName = "Arial", ; + FontSize = 10, ; + ForeColor = 0,0,0, ; + Margin = 0, ; + Name = "Text1", ; + ReadOnly = .F., ; + SelectedBackColor = 49,106,197 + *< END OBJECT: BaseClass="textbox" /> + + ADD OBJECT 'Grid1.Column9.Header9' AS header WITH ; + Alignment = 2, ; + Caption = "Suma", ; + FontCharSet = 238, ; + FontName = "Arial", ; + FontSize = 10, ; + Name = "Header9" + *< END OBJECT: BaseClass="header" /> + + ADD OBJECT 'Grid1.Column9.Text1' AS textbox WITH ; + Alignment = 1, ; + BackColor = 244,250,255, ; + BorderStyle = 0, ; + FontCharSet = 238, ; + FontName = "Arial", ; + FontSize = 10, ; + ForeColor = 0,0,0, ; + Margin = 0, ; + Name = "Text1", ; + ReadOnly = .F., ; + SelectedBackColor = 49,106,197 + *< END OBJECT: BaseClass="textbox" /> + + ADD OBJECT 'Gridextra1' AS gridextra WITH ; + Height = 17, ; + Left = 570, ; + Name = "Gridextra1", ; + Top = 11, ; + Width = 24 + *< END OBJECT: ClassLib="..\utile\gridextras\gridextras.vcx" BaseClass="custom" /> + + ADD OBJECT 'Lb_shortcuts1' AS lb_shortcuts WITH ; + Caption = "CTRL+F = Terminare; ESC = Renunþare; CTRL+N = Adãugare; CTRL+D = ªtergere", ; + Left = 5, ; + Name = "Lb_shortcuts1", ; + TabIndex = 19, ; + Top = 17, ; + ZOrderSet = 19 + *< END OBJECT: ClassLib="lb.vcx" BaseClass="label" /> + + ADD OBJECT 'lblSuma' AS _label WITH ; + Anchor = 8, ; + Caption = "Total", ; + FontBold = .T., ; + Left = 511, ; + Name = "lblSuma", ; + TabIndex = 21, ; + Top = 334, ; + ZOrderSet = 24 + *< END OBJECT: ClassLib="_baza.vcx" BaseClass="label" /> + + ADD OBJECT 'pgfArticole' AS _pageframe WITH ; + Anchor = 15, ; + ErasePage = .T., ; + Height = 142, ; + Left = 5, ; + Name = "pgfArticole", ; + Top = 361, ; + Width = 764, ; + ZOrderSet = 0, ; + PAGE1.Caption = "Rulaje materii prime, materiale, marfuri, obiecte inventar (303)", ; + PAGE1.ForeColor = 0,64,128, ; + PAGE1.Name = "PAGE1", ; + PAGE2.Caption = "Rulaje obiecte inventar in folosinta (8039)", ; + PAGE2.ForeColor = 0,128,64, ; + PAGE2.Name = "PAGE2" + *< END OBJECT: ClassLib="_baza.vcx" BaseClass="pageframe" /> + + ADD OBJECT 'pgfArticole.PAGE1._grdfooter1' AS _grdfooter WITH ; + ccolwithlabel = cNrCrt, ; + csourcegrid = , ; + csumcolumns = cValoareftva, cValoaretva, cValoarectva, cValoarevftva, cValoarevtva, cValoarevctva, cValoare_adaosftva, cvaloare_adaostva, ; + ctotallabelexpression = 'TOTAL', ; + Height = 35, ; + Left = 0, ; + Name = "_grdfooter1", ; + Top = 75, ; + Width = 759, ; + ZOrderSet = 9 + *< END OBJECT: ClassLib="_grd_base.vcx" BaseClass="grid" /> + + ADD OBJECT 'pgfArticole.PAGE1.grdRulaje' AS _grdrow WITH ; + Anchor = 15, ; + ColumnCount = 63, ; + DeleteMark = .F., ; + FontSize = 10, ; + GridLineColor = 128,128,128, ; + HeaderHeight = 35, ; + Height = 72, ; + Left = 0, ; + Name = "grdRulaje", ; + Panel = 1, ; + ReadOnly = .F., ; + RecordSource = "trul", ; + RowHeight = 19, ; + TabIndex = 3, ; + Tag = "RESIZABLE", ; + Top = 0, ; + Width = 759, ; + ZOrderSet = 1, ; + Column1.ControlSource = "nrcrt()", ; + Column1.FontName = "Arial", ; + Column1.FontSize = 10, ; + Column1.Format = "R", ; + Column1.InputMask = "999 999", ; + Column1.Name = "cNrCrt", ; + Column1.ReadOnly = .T., ; + Column1.Width = 44, ; + Column2.ControlSource = "trul.nnir", ; + Column2.FontName = "Arial", ; + Column2.FontSize = 10, ; + Column2.Name = "cNnir", ; + Column2.ReadOnly = .F., ; + Column2.Width = 71, ; + Column3.ColumnOrder = 3, ; + Column3.ControlSource = "dataact", ; + Column3.FontName = "Arial", ; + Column3.FontSize = 10, ; + Column3.Name = "cDataact", ; + Column3.ReadOnly = .F., ; + Column3.Width = 67, ; + Column4.BackColor = 225,225,225, ; + Column4.ColumnOrder = 6, ; + Column4.ControlSource = "codmat", ; + Column4.FontName = "Arial", ; + Column4.FontSize = 10, ; + Column4.Name = "cCodmat", ; + Column4.ReadOnly = .T., ; + Column5.BackColor = 160,255,205, ; + Column5.ColumnOrder = 7, ; + Column5.ControlSource = "denumire", ; + Column5.FontName = "Arial", ; + Column5.FontSize = 10, ; + Column5.Name = "cDenumire", ; + Column5.ReadOnly = .F., ; + Column5.Width = 156, ; + Column6.BackColor = 225,225,225, ; + Column6.ColumnOrder = 9, ; + Column6.ControlSource = "um", ; + Column6.FontName = "Arial", ; + Column6.FontSize = 10, ; + Column6.Name = "cUM", ; + Column6.ReadOnly = .T., ; + Column6.Width = 39, ; + Column7.ColumnOrder = 19, ; + Column7.ControlSource = "pret", ; + Column7.DynamicForeColor = "IIF(pret>=0, RGB(0,0,0), RGB(255,0,0))", ; + Column7.FontName = "Arial", ; + Column7.FontSize = 10, ; + Column7.Format = "R", ; + Column7.InputMask = (get_mask(12,gnPPRET)), ; + Column7.Name = "cPret", ; + Column7.ReadOnly = .F., ; + Column7.Width = 70, ; + Column8.ColumnOrder = 12, ; + Column8.ControlSource = "cant", ; + Column8.DynamicForeColor = "IIF(cant>=0, RGB(0,0,0), RGB(0,0,255))", ; + Column8.FontName = "Arial", ; + Column8.FontSize = 10, ; + Column8.Format = "R", ; + Column8.InputMask = (get_mask(12,gnPCANT)), ; + Column8.Name = "cCant", ; + Column8.ReadOnly = .F., ; + Column8.Width = 68, ; + Column9.ColumnOrder = 13, ; + Column9.ControlSource = "cante", ; + Column9.FontName = "Arial", ; + Column9.FontSize = 10, ; + Column9.Format = "R", ; + Column9.InputMask = (get_mask(12,gnPCANT)), ; + Column9.Name = "cCante", ; + Column9.ReadOnly = .F., ; + Column9.Width = 68, ; + Column10.ColumnOrder = 14, ; + Column10.ControlSource = "cont", ; + Column10.FontName = "Arial", ; + Column10.FontSize = 10, ; + Column10.Name = "cCont", ; + Column10.ReadOnly = .F., ; + Column10.Width = 46, ; + Column11.BackColor = 225,225,225, ; + Column11.ColumnOrder = 61, ; + Column11.ControlSource = "cod", ; + Column11.FontName = "Arial", ; + Column11.FontSize = 10, ; + Column11.Name = "cCod", ; + Column11.ReadOnly = .T., ; + Column12.ColumnOrder = 15, ; + Column12.ControlSource = "acont", ; + Column12.FontName = "Arial", ; + Column12.FontSize = 10, ; + Column12.Name = "cAcont", ; + Column12.ReadOnly = .F., ; + Column12.Width = 46, ; + Column13.BackColor = 160,255,205, ; + Column13.ColumnOrder = 16, ; + Column13.ControlSource = "cgest", ; + Column13.FontName = "Arial", ; + Column13.FontSize = 10, ; + Column13.Name = "cGest", ; + Column13.ReadOnly = .F., ; + Column13.Width = 60, ; + Column14.BackColor = 160,255,205, ; + Column14.ColumnOrder = 18, ; + Column14.ControlSource = "nrord", ; + Column14.FontName = "Arial", ; + Column14.FontSize = 10, ; + Column14.Name = "cNrord", ; + Column14.ReadOnly = .F., ; + Column15.ColumnOrder = 26, ; + Column15.ControlSource = "curs", ; + Column15.FontName = "Arial", ; + Column15.FontSize = 10, ; + Column15.Format = "R", ; + Column15.InputMask = (get_mask(12,gnPcurs)), ; + Column15.Name = "cCurs", ; + Column15.ReadOnly = .F., ; + Column15.Width = 55, ; + Column16.ColumnOrder = 25, ; + Column16.ControlSource = "pretd", ; + Column16.FontName = "Arial", ; + Column16.FontSize = 10, ; + Column16.Format = "R", ; + Column16.InputMask = (get_mask(12,gnPPretVal)), ; + Column16.Name = "cPretd", ; + Column16.ReadOnly = .F., ; + Column16.Width = 64, ; + Column17.BackColor = 225,225,225, ; + Column17.ColumnOrder = 39, ; + Column17.ControlSource = "procent", ; + Column17.FontName = "Arial", ; + Column17.FontSize = 10, ; + Column17.Format = "R", ; + Column17.InputMask = "999 999.99", ; + Column17.Name = "cProcent", ; + Column17.ReadOnly = .T., ; + Column17.Width = 53, ; + Column18.ColumnOrder = 35, ; + Column18.ControlSource = "iif(trul.pretv#0,trul.pretv-trul.pret,0)", ; + Column18.FontName = "Arial", ; + Column18.FontSize = 10, ; + Column18.Format = "R", ; + Column18.InputMask = (get_mask(12,MAX(gnPPret,gnPPretV))), ; + Column18.Name = "cAdaos", ; + Column18.ReadOnly = .F., ; + Column18.Width = 56, ; + Column19.ColumnOrder = 21, ; + Column19.ControlSource = "tva", ; + Column19.FontName = "Arial", ; + Column19.FontSize = 10, ; + Column19.Format = "R", ; + Column19.InputMask = (get_mask(12,gnPPRET)), ; + Column19.Name = "cTva", ; + Column19.ReadOnly = .F., ; + Column19.Width = 68, ; + Column20.BackColor = 225,225,225, ; + Column20.ColumnOrder = 22, ; + Column20.ControlSource = "valoare", ; + Column20.FontName = "Arial", ; + Column20.FontSize = 10, ; + Column20.Format = "R", ; + Column20.InputMask = (get_mask(12,gnPc)), ; + Column20.Name = "cValoareftva", ; + Column20.ReadOnly = .T., ; + Column21.ColumnOrder = 28, ; + Column21.ControlSource = "trul.pretv", ; + Column21.FontName = "Arial", ; + Column21.FontSize = 10, ; + Column21.Format = "R", ; + Column21.InputMask = (get_mask(12,gnPPRETV)), ; + Column21.Name = "cPretv", ; + Column21.ReadOnly = .F., ; + Column22.ColumnOrder = 30, ; + Column22.ControlSource = "tvav", ; + Column22.FontName = "Arial", ; + Column22.FontSize = 10, ; + Column22.Format = "R", ; + Column22.InputMask = (get_mask(12,gnPPRETV)), ; + Column22.Name = "cTvav", ; + Column22.ReadOnly = .F., ; + Column23.ColumnOrder = 31, ; + Column23.ControlSource = "pretvtva", ; + Column23.FontName = "Arial", ; + Column23.FontSize = 10, ; + Column23.Format = "R", ; + Column23.InputMask = (get_mask(12,gnPPRETV)), ; + Column23.Name = "cPretvtva", ; + Column23.ReadOnly = .F., ; + Column23.Width = 94, ; + Column24.ColumnOrder = 20, ; + Column24.ControlSource = "proc_tva", ; + Column24.FontName = "Arial", ; + Column24.FontSize = 10, ; + Column24.Format = "R", ; + Column24.InputMask = "9.99", ; + Column24.Name = "cProc_tva", ; + Column24.ReadOnly = .F., ; + Column24.Width = 57, ; + Column25.BackColor = 225,225,225, ; + Column25.ColumnOrder = 57, ; + Column25.ControlSource = "util", ; + Column25.FontName = "Arial", ; + Column25.FontSize = 10, ; + Column25.Name = "cUtil", ; + Column25.ReadOnly = .T., ; + Column25.Width = 95, ; + Column26.BackColor = 225,225,225, ; + Column26.ColumnOrder = 58, ; + Column26.ControlSource = "dataora", ; + Column26.FontName = "Arial", ; + Column26.FontSize = 10, ; + Column26.Name = "cDataora", ; + Column26.ReadOnly = .T., ; + Column26.Width = 95, ; + Column27.BackColor = 160,255,205, ; + Column27.ColumnOrder = 45, ; + Column27.ControlSource = "sectie", ; + Column27.FontName = "Arial", ; + Column27.FontSize = 10, ; + Column27.Name = "cSectie", ; + Column27.ReadOnly = .F., ; + Column28.ColumnOrder = 43, ; + Column28.ControlSource = "datain", ; + Column28.FontName = "Arial", ; + Column28.FontSize = 10, ; + Column28.Name = "cDatain", ; + Column28.ReadOnly = .F., ; + Column29.ColumnOrder = 44, ; + Column29.ControlSource = "dataout", ; + Column29.FontName = "Arial", ; + Column29.FontSize = 10, ; + Column29.Name = "cDataOut", ; + Column29.ReadOnly = .F., ; + Column30.BackColor = 160,255,205, ; + Column30.ColumnOrder = 46, ; + Column30.ControlSource = "nresp", ; + Column30.FontName = "Arial", ; + Column30.FontSize = 10, ; + Column30.Name = "cNresp", ; + Column30.ReadOnly = .F., ; + Column30.Width = 116, ; + Column31.BackColor = 160,255,205, ; + Column31.ColumnOrder = 17, ; + Column31.ControlSource = "cgestc", ; + Column31.FontName = "Arial", ; + Column31.FontSize = 10, ; + Column31.Name = "cGestC", ; + Column31.ReadOnly = .F., ; + Column32.BackColor = 160,255,205, ; + Column32.ColumnOrder = 47, ; + Column32.ControlSource = "nrespc", ; + Column32.FontName = "Arial", ; + Column32.FontSize = 10, ; + Column32.Name = "cNrespC", ; + Column32.ReadOnly = .F., ; + Column32.Width = 91, ; + Column33.BackColor = 225,225,225, ; + Column33.ColumnOrder = 48, ; + Column33.ControlSource = "tip_rulaj", ; + Column33.FontName = "Arial", ; + Column33.FontSize = 10, ; + Column33.Name = "cTipRulaj", ; + Column33.ReadOnly = .T., ; + Column34.BackColor = 225,225,225, ; + Column34.ColumnOrder = 10, ; + Column34.ControlSource = "cant_bax", ; + Column34.FontName = "Arial", ; + Column34.FontSize = 10, ; + Column34.Name = "Column34", ; + Column34.ReadOnly = .F., ; + Column34.Sparse = .F., ; + Column34.Width = 41, ; + Column35.BackColor = 225,225,225, ; + Column35.ColumnOrder = 11, ; + Column35.ControlSource = "um2", ; + Column35.FontName = "Arial", ; + Column35.FontSize = 10, ; + Column35.Name = "Column35", ; + Column35.ReadOnly = .T., ; + Column35.Width = 35, ; + Column36.BackColor = 225,225,225, ; + Column36.ColumnOrder = 49, ; + Column36.ControlSource = "grupa", ; + Column36.FontName = "Arial", ; + Column36.FontSize = 10, ; + Column36.Name = "cGrupa", ; + Column36.ReadOnly = .T., ; + Column36.Width = 53, ; + Column37.ColumnOrder = 5, ; + Column37.ControlSource = "nract", ; + Column37.FontName = "Arial", ; + Column37.FontSize = 10, ; + Column37.Name = "cNract", ; + Column37.ReadOnly = .F., ; + Column37.Width = 70, ; + Column38.BackColor = 225,225,225, ; + Column38.ColumnOrder = 50, ; + Column38.ControlSource = "subgrupa", ; + Column38.FontName = "Arial", ; + Column38.FontSize = 10, ; + Column38.Name = "cSubgrupa", ; + Column38.ReadOnly = .T., ; + Column38.Width = 71, ; + Column39.BackColor = 225,225,225, ; + Column39.ColumnOrder = 59, ; + Column39.ControlSource = "utils", ; + Column39.FontName = "Arial", ; + Column39.FontSize = 10, ; + Column39.Name = "cUtils", ; + Column39.ReadOnly = .T., ; + Column40.BackColor = 225,225,225, ; + Column40.ColumnOrder = 60, ; + Column40.ControlSource = "dataoras", ; + Column40.FontName = "Arial", ; + Column40.FontSize = 10, ; + Column40.Name = "cDataoras", ; + Column40.ReadOnly = .T., ; + Column40.Width = 80, ; + Column41.ColumnOrder = 8, ; + Column41.ControlSource = "serie", ; + Column41.FontName = "Arial", ; + Column41.FontSize = 10, ; + Column41.Name = "cSerie", ; + Column41.ReadOnly = .F., ; + Column41.Width = 122, ; + Column42.BackColor = 160,255,205, ; + Column42.ColumnOrder = 27, ; + Column42.ControlSource = "nume_val", ; + Column42.FontName = "Arial", ; + Column42.FontSize = 10, ; + Column42.Name = "cNume_val", ; + Column42.ReadOnly = .F., ; + Column42.Width = 52, ; + Column43.ColumnOrder = 4, ; + Column43.ControlSource = "serie_act", ; + Column43.FontName = "Arial", ; + Column43.FontSize = 10, ; + Column43.Name = "cSerie_act", ; + Column43.ReadOnly = .F., ; + Column43.Width = 43, ; + Column44.BackColor = 225,225,225, ; + Column44.ColumnOrder = 51, ; + Column44.ControlSource = "codmatf", ; + Column44.FontName = "Arial", ; + Column44.FontSize = 10, ; + Column44.Name = "cCodmatF", ; + Column44.ReadOnly = .T., ; + Column45.ColumnOrder = 52, ; + Column45.ControlSource = "lot", ; + Column45.FontName = "Arial", ; + Column45.FontSize = 10, ; + Column45.Name = "cLot", ; + Column45.ReadOnly = .F., ; + Column46.ColumnOrder = 53, ; + Column46.ControlSource = "adata_expirare", ; + Column46.FontName = "Arial", ; + Column46.FontSize = 10, ; + Column46.Name = "cDataExpirare", ; + Column46.ReadOnly = .F., ; + Column47.BackColor = 225,225,225, ; + Column47.ColumnOrder = 56, ; + Column47.ControlSource = "sucursala", ; + Column47.FontName = "Arial", ; + Column47.FontSize = 10, ; + Column47.Name = "cSucursala", ; + Column47.ReadOnly = .T., ; + Column48.BackColor = 160,255,205, ; + Column48.ColumnOrder = 54, ; + Column48.ControlSource = "part_rez", ; + Column48.FontName = "Arial", ; + Column48.FontSize = 10, ; + Column48.Name = "cPart_rez", ; + Column48.ReadOnly = .F., ; + Column49.BackColor = 160,255,205, ; + Column49.ColumnOrder = 55, ; + Column49.ControlSource = "nrord_rez", ; + Column49.FontName = "Arial", ; + Column49.FontSize = 10, ; + Column49.Name = "cNrord_rez", ; + Column49.ReadOnly = .F., ; + Column50.BackColor = 225,225,225, ; + Column50.ColumnOrder = 23, ; + Column50.ControlSource = "valtva", ; + Column50.FontName = "Arial", ; + Column50.FontSize = 10, ; + Column50.Format = "r", ; + Column50.InputMask = (get_mask(12,gnPc)), ; + Column50.Name = "cValoaretva", ; + Column50.ReadOnly = .T., ; + Column50.Width = 98, ; + Column51.BackColor = 225,225,225, ; + Column51.ColumnOrder = 32, ; + Column51.ControlSource = "valoarev", ; + Column51.FontName = "Arial", ; + Column51.FontSize = 10, ; + Column51.Format = "r", ; + Column51.InputMask = (get_mask(12,gnPc)), ; + Column51.Name = "cValoarevftva", ; + Column51.ReadOnly = .T., ; + Column52.ColumnOrder = 29, ; + Column52.ControlSource = "proc_tvav", ; + Column52.FontName = "Arial", ; + Column52.FontSize = 10, ; + Column52.Name = "cProc_tvav", ; + Column52.ReadOnly = .F., ; + Column52.Width = 76, ; + Column53.ColumnOrder = 36, ; + Column53.ControlSource = "adaos_tva", ; + Column53.FontName = "Arial", ; + Column53.FontSize = 10, ; + Column53.InputMask = (get_mask(12,MAX(gnPPret,gnPPretV))), ; + Column53.Name = "cAdaos_tva", ; + Column53.ReadOnly = .F., ; + Column54.BackColor = 225,225,225, ; + Column54.ColumnOrder = 37, ; + Column54.ControlSource = "valoare_adaos", ; + Column54.FontName = "Arial", ; + Column54.FontSize = 10, ; + Column54.Format = "r", ; + Column54.InputMask = (get_mask(12,gnPc)), ; + Column54.Name = "cValoare_adaosftva", ; + Column54.ReadOnly = .T., ; + Column54.Width = 83, ; + Column55.BackColor = 225,225,225, ; + Column55.ColumnOrder = 38, ; + Column55.ControlSource = "valtva_adaos", ; + Column55.FontName = "Arial", ; + Column55.FontSize = 10, ; + Column55.Format = "r", ; + Column55.InputMask = (get_mask(12,gnPc)), ; + Column55.Name = "cvaloare_adaostva", ; + Column55.ReadOnly = .T., ; + Column56.ColumnOrder = 40, ; + Column56.ControlSource = "discunitar", ; + Column56.FontName = "Arial", ; + Column56.FontSize = 10, ; + Column56.InputMask = (get_mask(12,gnPPretV)), ; + Column56.Name = "cDiscunitar", ; + Column56.ReadOnly = .F., ; + Column57.ColumnOrder = 41, ; + Column57.ControlSource = "discunitar_tva", ; + Column57.FontName = "Arial", ; + Column57.FontSize = 10, ; + Column57.InputMask = (get_mask(12,gnPPretV)), ; + Column57.Name = "cDiscunitar_tva", ; + Column57.ReadOnly = .F., ; + Column57.Width = 77, ; + Column58.BackColor = 225,225,225, ; + Column58.ColumnOrder = 42, ; + Column58.ControlSource = "proc_disc", ; + Column58.FontName = "Arial", ; + Column58.FontSize = 10, ; + Column58.Name = "cProc_disc", ; + Column58.ReadOnly = .T., ; + Column59.BackColor = 225,225,225, ; + Column59.ColumnOrder = 24, ; + Column59.ControlSource = "valoarecTVA", ; + Column59.FontName = "Arial", ; + Column59.FontSize = 10, ; + Column59.InputMask = (get_mask(12,gnPc)), ; + Column59.Name = "cvaloarecTVA", ; + Column59.ReadOnly = .T., ; + Column59.Width = 107, ; + Column60.BackColor = 225,225,225, ; + Column60.ColumnOrder = 33, ; + Column60.ControlSource = "valtvav", ; + Column60.FontName = "Arial", ; + Column60.FontSize = 10, ; + Column60.Name = "cvaloarevTVA", ; + Column60.ReadOnly = .T., ; + Column60.Width = 103, ; + Column61.BackColor = 225,225,225, ; + Column61.ColumnOrder = 34, ; + Column61.ControlSource = "valoarevctva", ; + Column61.FontName = "Arial", ; + Column61.FontSize = 10, ; + Column61.InputMask = (get_mask(12,gnPc)), ; + Column61.Name = "cvaloarevcTVA", ; + Column61.ReadOnly = .T., ; + Column61.Width = 107, ; + Column62.BackColor = 160,255,205, ; + Column62.ColumnOrder = 63, ; + Column62.ControlSource = "taxcode", ; + Column62.FontSize = 10, ; + Column62.Name = "cTaxCode", ; + Column62.ReadOnly = .F., ; + Column63.BackColor = 160,255,205, ; + Column63.Bound = .F., ; + Column63.ColumnOrder = 62, ; + Column63.ControlSource = "Iif(Seek(trul.id_jtva_coloana,'crsJtvaTemp','id_jtva'),crsJtvaTemp.denumire,'')", ; + Column63.CurrentControl = "_combobox1", ; + Column63.FontSize = 10, ; + Column63.Name = "cExplicatieTVA", ; + Column63.ReadOnly = .F., ; + Column63.Sparse = .F., ; + Column63.Width = 152 + *< END OBJECT: ClassLib="_grd_base.vcx" BaseClass="grid" /> + + ADD OBJECT 'pgfArticole.PAGE1.grdRulaje.cAcont.Header1' AS header WITH ; + Alignment = 2, ; + Caption = "Analitic", ; + FontName = "Arial", ; + FontSize = 10, ; + Name = "Header1" + *< END OBJECT: BaseClass="header" /> + + ADD OBJECT 'pgfArticole.PAGE1.grdRulaje.cAcont.Text1' AS textbox WITH ; + BackColor = 255,255,255, ; + BorderStyle = 0, ; + FontName = "Arial", ; + FontSize = 10, ; + ForeColor = 0,0,0, ; + Margin = 0, ; + Name = "Text1", ; + ReadOnly = .F., ; + SelectedBackColor = 100,185,255 + *< END OBJECT: BaseClass="textbox" /> + + ADD OBJECT 'pgfArticole.PAGE1.grdRulaje.cAdaos.Header1' AS header WITH ; + Alignment = 2, ; + Caption = "Adaos", ; + FontName = "Arial", ; + FontSize = 10, ; + Name = "Header1" + *< END OBJECT: BaseClass="header" /> + + ADD OBJECT 'pgfArticole.PAGE1.grdRulaje.cAdaos.Text1' AS textbox WITH ; + BackColor = 255,255,255, ; + BorderStyle = 0, ; + FontName = "Arial", ; + FontSize = 10, ; + ForeColor = 0,0,0, ; + Margin = 0, ; + Name = "Text1", ; + ReadOnly = .F., ; + SelectedBackColor = 100,185,255 + *< END OBJECT: BaseClass="textbox" /> + + ADD OBJECT 'pgfArticole.PAGE1.grdRulaje.cAdaos_tva.Header1' AS header WITH ; + Alignment = 2, ; + Caption = "TVA adaos", ; + FontName = "Arial", ; + FontSize = 10, ; + Name = "Header1" + *< END OBJECT: BaseClass="header" /> + + ADD OBJECT 'pgfArticole.PAGE1.grdRulaje.cAdaos_tva.Text1' AS textbox WITH ; + BackColor = 255,255,255, ; + BorderStyle = 0, ; + FontName = "Arial", ; + FontSize = 10, ; + ForeColor = 0,0,0, ; + Margin = 0, ; + Name = "Text1", ; + ReadOnly = .F., ; + SelectedBackColor = 100,185,255 + *< END OBJECT: BaseClass="textbox" /> + + ADD OBJECT 'pgfArticole.PAGE1.grdRulaje.cCant.Header1' AS header WITH ; + Alignment = 2, ; + Caption = "Intrari", ; + FontName = "Arial", ; + FontSize = 10, ; + Name = "Header1" + *< END OBJECT: BaseClass="header" /> + + ADD OBJECT 'pgfArticole.PAGE1.grdRulaje.cCant.Text1' AS textbox WITH ; + BackColor = 255,255,255, ; + BorderStyle = 0, ; + FontName = "Arial", ; + FontSize = 10, ; + ForeColor = 0,0,0, ; + Margin = 0, ; + Name = "Text1", ; + ReadOnly = .F., ; + SelectedBackColor = 100,185,255 + *< END OBJECT: BaseClass="textbox" /> + + ADD OBJECT 'pgfArticole.PAGE1.grdRulaje.cCante.Header1' AS header WITH ; + Alignment = 2, ; + Caption = "Iesiri", ; + FontName = "Arial", ; + FontSize = 10, ; + Name = "Header1" + *< END OBJECT: BaseClass="header" /> + + ADD OBJECT 'pgfArticole.PAGE1.grdRulaje.cCante.Text1' AS textbox WITH ; + BackColor = 255,255,255, ; + BorderStyle = 0, ; + FontName = "Arial", ; + FontSize = 10, ; + ForeColor = 0,0,0, ; + Margin = 0, ; + Name = "Text1", ; + ReadOnly = .F., ; + SelectedBackColor = 100,185,255 + *< END OBJECT: BaseClass="textbox" /> + + ADD OBJECT 'pgfArticole.PAGE1.grdRulaje.cCod.Header1' AS header WITH ; + Alignment = 2, ; + Caption = "Cod", ; + FontName = "Arial", ; + FontSize = 10, ; + Name = "Header1" + *< END OBJECT: BaseClass="header" /> + + ADD OBJECT 'pgfArticole.PAGE1.grdRulaje.cCod.Text1' AS textbox WITH ; + BackColor = 225,225,225, ; + BorderStyle = 0, ; + FontName = "Arial", ; + FontSize = 10, ; + ForeColor = 0,0,0, ; + Margin = 0, ; + Name = "Text1", ; + ReadOnly = .T., ; + SelectedBackColor = 100,185,255 + *< END OBJECT: BaseClass="textbox" /> + + ADD OBJECT 'pgfArticole.PAGE1.grdRulaje.cCodmat.Header1' AS header WITH ; + Alignment = 2, ; + Caption = "Cod material", ; + FontName = "Arial", ; + FontSize = 10, ; + Name = "Header1" + *< END OBJECT: BaseClass="header" /> + + ADD OBJECT 'pgfArticole.PAGE1.grdRulaje.cCodmat.Text1' AS textbox WITH ; + BackColor = 225,225,225, ; + BorderStyle = 0, ; + FontName = "Arial", ; + FontSize = 10, ; + ForeColor = 0,0,0, ; + Margin = 0, ; + Name = "Text1", ; + ReadOnly = .T., ; + SelectedBackColor = 100,185,255 + *< END OBJECT: BaseClass="textbox" /> + + ADD OBJECT 'pgfArticole.PAGE1.grdRulaje.cCodmatF.Header1' AS header WITH ; + Alignment = 2, ; + Caption = "Cod furnizor", ; + FontName = "Arial", ; + FontSize = 10, ; + Name = "Header1" + *< END OBJECT: BaseClass="header" /> + + ADD OBJECT 'pgfArticole.PAGE1.grdRulaje.cCodmatF.Text1' AS textbox WITH ; + BackColor = 225,225,225, ; + BorderStyle = 0, ; + FontName = "Arial", ; + FontSize = 10, ; + ForeColor = 0,0,0, ; + Margin = 0, ; + Name = "Text1", ; + ReadOnly = .T., ; + SelectedBackColor = 100,185,255 + *< END OBJECT: BaseClass="textbox" /> + + ADD OBJECT 'pgfArticole.PAGE1.grdRulaje.cCont.Header1' AS header WITH ; + Alignment = 2, ; + Caption = "Cont", ; + FontName = "Arial", ; + FontSize = 10, ; + Name = "Header1" + *< END OBJECT: BaseClass="header" /> + + ADD OBJECT 'pgfArticole.PAGE1.grdRulaje.cCont.Text1' AS textbox WITH ; + BackColor = 255,255,255, ; + BorderStyle = 0, ; + FontName = "Arial", ; + FontSize = 10, ; + ForeColor = 0,0,0, ; + Margin = 0, ; + Name = "Text1", ; + ReadOnly = .F., ; + SelectedBackColor = 100,185,255 + *< END OBJECT: BaseClass="textbox" /> + + ADD OBJECT 'pgfArticole.PAGE1.grdRulaje.cCurs.Header1' AS header WITH ; + Alignment = 2, ; + Caption = "Curs valutar", ; + FontName = "Arial", ; + FontSize = 10, ; + Name = "Header1", ; + WordWrap = .T. + *< END OBJECT: BaseClass="header" /> + + ADD OBJECT 'pgfArticole.PAGE1.grdRulaje.cCurs.Text1' AS textbox WITH ; + BackColor = 255,255,255, ; + BorderStyle = 0, ; + FontName = "Arial", ; + FontSize = 10, ; + ForeColor = 0,0,0, ; + Margin = 0, ; + Name = "Text1", ; + ReadOnly = .F., ; + SelectedBackColor = 100,185,255 + *< END OBJECT: BaseClass="textbox" /> + + ADD OBJECT 'pgfArticole.PAGE1.grdRulaje.cDataact.Header1' AS header WITH ; + Alignment = 2, ; + Caption = "Data act", ; + FontName = "Arial", ; + FontSize = 10, ; + Name = "Header1" + *< END OBJECT: BaseClass="header" /> + + ADD OBJECT 'pgfArticole.PAGE1.grdRulaje.cDataact.Text1' AS textbox WITH ; + BackColor = 255,255,255, ; + BorderStyle = 0, ; + FontName = "Arial", ; + FontSize = 10, ; + ForeColor = 0,0,0, ; + Margin = 0, ; + Name = "Text1", ; + ReadOnly = .F., ; + SelectedBackColor = 100,185,255 + *< END OBJECT: BaseClass="textbox" /> + + ADD OBJECT 'pgfArticole.PAGE1.grdRulaje.cDataExpirare.Header1' AS header WITH ; + Alignment = 2, ; + Caption = "Data expirare", ; + FontName = "Arial", ; + FontSize = 10, ; + Name = "Header1" + *< END OBJECT: BaseClass="header" /> + + ADD OBJECT 'pgfArticole.PAGE1.grdRulaje.cDataExpirare.Text1' AS textbox WITH ; + BackColor = 255,255,255, ; + BorderStyle = 0, ; + FontName = "Arial", ; + FontSize = 10, ; + ForeColor = 0,0,0, ; + Margin = 0, ; + Name = "Text1", ; + ReadOnly = .F., ; + SelectedBackColor = 100,185,255 + *< END OBJECT: BaseClass="textbox" /> + + ADD OBJECT 'pgfArticole.PAGE1.grdRulaje.cDatain.Header1' AS header WITH ; + Alignment = 2, ; + Caption = "Data intrare", ; + FontName = "Arial", ; + FontSize = 10, ; + Name = "Header1" + *< END OBJECT: BaseClass="header" /> + + ADD OBJECT 'pgfArticole.PAGE1.grdRulaje.cDatain.Text1' AS textbox WITH ; + BackColor = 255,255,255, ; + BorderStyle = 0, ; + FontName = "Arial", ; + FontSize = 10, ; + ForeColor = 0,0,0, ; + Margin = 0, ; + Name = "Text1", ; + ReadOnly = .F., ; + SelectedBackColor = 100,185,255 + *< END OBJECT: BaseClass="textbox" /> + + ADD OBJECT 'pgfArticole.PAGE1.grdRulaje.cDataora.Header1' AS header WITH ; + Alignment = 2, ; + Caption = "Dataora introducerii", ; + FontName = "Arial", ; + FontSize = 10, ; + Name = "Header1" + *< END OBJECT: BaseClass="header" /> + + ADD OBJECT 'pgfArticole.PAGE1.grdRulaje.cDataora.Text1' AS textbox WITH ; + BackColor = 225,225,225, ; + BorderStyle = 0, ; + FontName = "Arial", ; + FontSize = 10, ; + ForeColor = 0,0,0, ; + Margin = 0, ; + Name = "Text1", ; + ReadOnly = .T., ; + SelectedBackColor = 100,185,255 + *< END OBJECT: BaseClass="textbox" /> + + ADD OBJECT 'pgfArticole.PAGE1.grdRulaje.cDataoras.Header1' AS header WITH ; + Alignment = 2, ; + Caption = "Data / ora stergerii", ; + FontName = "Arial", ; + FontSize = 10, ; + Name = "Header1" + *< END OBJECT: BaseClass="header" /> + + ADD OBJECT 'pgfArticole.PAGE1.grdRulaje.cDataoras.Text1' AS textbox WITH ; + BackColor = 225,225,225, ; + BorderStyle = 0, ; + FontName = "Arial", ; + FontSize = 10, ; + ForeColor = 0,0,0, ; + Margin = 0, ; + Name = "Text1", ; + ReadOnly = .T., ; + SelectedBackColor = 100,185,255 + *< END OBJECT: BaseClass="textbox" /> + + ADD OBJECT 'pgfArticole.PAGE1.grdRulaje.cDataOut.Header1' AS header WITH ; + Alignment = 2, ; + Caption = "Data iesire", ; + FontName = "Arial", ; + FontSize = 10, ; + Name = "Header1" + *< END OBJECT: BaseClass="header" /> + + ADD OBJECT 'pgfArticole.PAGE1.grdRulaje.cDataOut.Text1' AS textbox WITH ; + BackColor = 255,255,255, ; + BorderStyle = 0, ; + FontName = "Arial", ; + FontSize = 10, ; + ForeColor = 0,0,0, ; + Margin = 0, ; + Name = "Text1", ; + ReadOnly = .F., ; + SelectedBackColor = 100,185,255 + *< END OBJECT: BaseClass="textbox" /> + + ADD OBJECT 'pgfArticole.PAGE1.grdRulaje.cDenumire.Header1' AS header WITH ; + Alignment = 2, ; + Caption = "Denumire", ; + FontName = "Arial", ; + FontSize = 10, ; + Name = "Header1" + *< END OBJECT: BaseClass="header" /> + + ADD OBJECT 'pgfArticole.PAGE1.grdRulaje.cDenumire.Text1' AS textbox WITH ; + BackColor = 160,255,205, ; + BorderStyle = 0, ; + FontName = "Arial", ; + FontSize = 10, ; + ForeColor = 0,0,0, ; + Margin = 0, ; + Name = "Text1", ; + ReadOnly = .F., ; + SelectedBackColor = 100,185,255 + *< END OBJECT: BaseClass="textbox" /> + + ADD OBJECT 'pgfArticole.PAGE1.grdRulaje.cDiscunitar.Header1' AS header WITH ; + Alignment = 2, ; + Caption = "Discount unitar", ; + FontName = "Arial", ; + FontSize = 10, ; + Name = "Header1", ; + WordWrap = .T. + *< END OBJECT: BaseClass="header" /> + + ADD OBJECT 'pgfArticole.PAGE1.grdRulaje.cDiscunitar.Text1' AS textbox WITH ; + BackColor = 255,255,255, ; + BorderStyle = 0, ; + FontName = "Arial", ; + FontSize = 10, ; + ForeColor = 0,0,0, ; + Margin = 0, ; + Name = "Text1", ; + ReadOnly = .F., ; + SelectedBackColor = 100,185,255 + *< END OBJECT: BaseClass="textbox" /> + + ADD OBJECT 'pgfArticole.PAGE1.grdRulaje.cDiscunitar_tva.Header1' AS header WITH ; + Alignment = 2, ; + Caption = "TVA discount unitar", ; + FontName = "Arial", ; + FontSize = 10, ; + Name = "Header1", ; + WordWrap = .T. + *< END OBJECT: BaseClass="header" /> + + ADD OBJECT 'pgfArticole.PAGE1.grdRulaje.cDiscunitar_tva.Text1' AS textbox WITH ; + BackColor = 255,255,255, ; + BorderStyle = 0, ; + FontName = "Arial", ; + FontSize = 10, ; + ForeColor = 0,0,0, ; + Margin = 0, ; + Name = "Text1", ; + ReadOnly = .F., ; + SelectedBackColor = 100,185,255 + *< END OBJECT: BaseClass="textbox" /> + + ADD OBJECT 'pgfArticole.PAGE1.grdRulaje.cExplicatieTVA._combobox1' AS _combobox WITH ; + BorderStyle = 0, ; + BoundColumn = 2, ; + BoundTo = .T., ; + ColumnCount = 2, ; + ColumnLines = .F., ; + ColumnWidths = "400,0", ; + ControlSource = "trul.id_jtva_coloana", ; + Left = 34, ; + Name = "_combobox1", ; + RowSource = "select denumire, id_jtva_coloana from crsJtvaTemp order by denumire into cursor crsJtvaTempX", ; + RowSourceType = 3, ; + SpecialEffect = 1, ; + Top = 40 + *< END OBJECT: ClassLib="_baza.vcx" BaseClass="combobox" /> + + ADD OBJECT 'pgfArticole.PAGE1.grdRulaje.cExplicatieTVA.Header1' AS header WITH ; + Alignment = 2, ; + Caption = "Explicatie TVA", ; + Name = "Header1" + *< END OBJECT: BaseClass="header" /> + + ADD OBJECT 'pgfArticole.PAGE1.grdRulaje.cExplicatieTVA.Text1' AS textbox WITH ; + BackColor = 160,255,205, ; + BorderStyle = 0, ; + FontSize = 10, ; + ForeColor = 0,0,0, ; + Margin = 0, ; + Name = "Text1", ; + SelectedBackColor = 100,185,255 + *< END OBJECT: BaseClass="textbox" /> + + ADD OBJECT 'pgfArticole.PAGE1.grdRulaje.cGest.Header1' AS header WITH ; + Alignment = 2, ; + Caption = "Gestiunea", ; + FontName = "Arial", ; + FontSize = 10, ; + Name = "Header1" + *< END OBJECT: BaseClass="header" /> + + ADD OBJECT 'pgfArticole.PAGE1.grdRulaje.cGest.Text1' AS textbox WITH ; + BackColor = 160,255,205, ; + BorderStyle = 0, ; + FontName = "Arial", ; + FontSize = 10, ; + ForeColor = 0,0,0, ; + Margin = 0, ; + Name = "Text1", ; + ReadOnly = .F., ; + SelectedBackColor = 100,185,255 + *< END OBJECT: BaseClass="textbox" /> + + ADD OBJECT 'pgfArticole.PAGE1.grdRulaje.cGestC.Header1' AS header WITH ; + Alignment = 2, ; + Caption = "Gestiune C", ; + FontName = "Arial", ; + FontSize = 10, ; + Name = "Header1" + *< END OBJECT: BaseClass="header" /> + + ADD OBJECT 'pgfArticole.PAGE1.grdRulaje.cGestC.Text1' AS textbox WITH ; + BackColor = 160,255,205, ; + BorderStyle = 0, ; + FontName = "Arial", ; + FontSize = 10, ; + ForeColor = 0,0,0, ; + Margin = 0, ; + Name = "Text1", ; + ReadOnly = .F., ; + SelectedBackColor = 100,185,255 + *< END OBJECT: BaseClass="textbox" /> + + ADD OBJECT 'pgfArticole.PAGE1.grdRulaje.cGrupa.Header1' AS header WITH ; + Alignment = 2, ; + Caption = "Grupa", ; + FontName = "Arial", ; + FontSize = 10, ; + Name = "Header1" + *< END OBJECT: BaseClass="header" /> + + ADD OBJECT 'pgfArticole.PAGE1.grdRulaje.cGrupa.Text1' AS textbox WITH ; + BackColor = 225,225,225, ; + BorderStyle = 0, ; + FontName = "Arial", ; + FontSize = 10, ; + ForeColor = 0,0,0, ; + Margin = 0, ; + Name = "Text1", ; + ReadOnly = .T., ; + SelectedBackColor = 100,185,255 + *< END OBJECT: BaseClass="textbox" /> + + ADD OBJECT 'pgfArticole.PAGE1.grdRulaje.cLot.Header1' AS header WITH ; + Alignment = 2, ; + Caption = "Lot", ; + FontName = "Arial", ; + FontSize = 10, ; + Name = "Header1" + *< END OBJECT: BaseClass="header" /> + + ADD OBJECT 'pgfArticole.PAGE1.grdRulaje.cLot.Text1' AS textbox WITH ; + BackColor = 255,255,255, ; + BorderStyle = 0, ; + FontName = "Arial", ; + FontSize = 10, ; + ForeColor = 0,0,0, ; + Margin = 0, ; + Name = "Text1", ; + ReadOnly = .F., ; + SelectedBackColor = 100,185,255 + *< END OBJECT: BaseClass="textbox" /> + + ADD OBJECT 'pgfArticole.PAGE1.grdRulaje.cNnir.Header1' AS header WITH ; + Alignment = 2, ; + Caption = "Nr. NIR/Bon", ; + FontName = "Arial", ; + FontSize = 10, ; + Name = "Header1", ; + WordWrap = .T. + *< END OBJECT: BaseClass="header" /> + + ADD OBJECT 'pgfArticole.PAGE1.grdRulaje.cNnir.Text1' AS textbox WITH ; + BackColor = 255,255,255, ; + BorderStyle = 0, ; + FontName = "Arial", ; + FontSize = 10, ; + ForeColor = 0,0,0, ; + Margin = 0, ; + Name = "Text1", ; + ReadOnly = .F., ; + SelectedBackColor = 100,185,255 + *< END OBJECT: BaseClass="textbox" /> + + ADD OBJECT 'pgfArticole.PAGE1.grdRulaje.cNract.Header1' AS header WITH ; + Alignment = 2, ; + Caption = "Nr.act", ; + FontName = "Arial", ; + FontSize = 10, ; + Name = "Header1" + *< END OBJECT: BaseClass="header" /> + + ADD OBJECT 'pgfArticole.PAGE1.grdRulaje.cNract.Text1' AS textbox WITH ; + BackColor = 255,255,255, ; + BorderStyle = 0, ; + FontName = "Arial", ; + FontSize = 10, ; + ForeColor = 0,0,0, ; + Margin = 0, ; + Name = "Text1", ; + ReadOnly = .F., ; + SelectedBackColor = 100,185,255 + *< END OBJECT: BaseClass="textbox" /> + + ADD OBJECT 'pgfArticole.PAGE1.grdRulaje.cNrCrt.Header1' AS header WITH ; + Alignment = 2, ; + Caption = "Nr.crt.", ; + FontName = "Arial", ; + FontSize = 10, ; + Name = "Header1" + *< END OBJECT: BaseClass="header" /> + + ADD OBJECT 'pgfArticole.PAGE1.grdRulaje.cNrCrt.Text1' AS textbox WITH ; + BackColor = 255,255,255, ; + BorderStyle = 0, ; + FontName = "Arial", ; + FontSize = 10, ; + ForeColor = 0,0,0, ; + Margin = 0, ; + Name = "Text1", ; + ReadOnly = .T., ; + SelectedBackColor = 100,185,255 + *< END OBJECT: BaseClass="textbox" /> + + ADD OBJECT 'pgfArticole.PAGE1.grdRulaje.cNresp.Header1' AS header WITH ; + Alignment = 2, ; + Caption = "Responsabil", ; + FontName = "Arial", ; + FontSize = 10, ; + Name = "Header1" + *< END OBJECT: BaseClass="header" /> + + ADD OBJECT 'pgfArticole.PAGE1.grdRulaje.cNresp.Text1' AS textbox WITH ; + BackColor = 160,255,205, ; + BorderStyle = 0, ; + FontName = "Arial", ; + FontSize = 10, ; + ForeColor = 0,0,0, ; + Margin = 0, ; + Name = "Text1", ; + ReadOnly = .F., ; + SelectedBackColor = 100,185,255 + *< END OBJECT: BaseClass="textbox" /> + + ADD OBJECT 'pgfArticole.PAGE1.grdRulaje.cNrespC.Header1' AS header WITH ; + Alignment = 2, ; + Caption = "Responsabil C", ; + FontName = "Arial", ; + FontSize = 10, ; + Name = "Header1" + *< END OBJECT: BaseClass="header" /> + + ADD OBJECT 'pgfArticole.PAGE1.grdRulaje.cNrespC.Text1' AS textbox WITH ; + BackColor = 160,255,205, ; + BorderStyle = 0, ; + FontName = "Arial", ; + FontSize = 10, ; + ForeColor = 0,0,0, ; + Margin = 0, ; + Name = "Text1", ; + ReadOnly = .F., ; + SelectedBackColor = 100,185,255 + *< END OBJECT: BaseClass="textbox" /> + + ADD OBJECT 'pgfArticole.PAGE1.grdRulaje.cNrord.Header1' AS header WITH ; + Alignment = 2, ; + Caption = "Lucrare/Comanda", ; + FontName = "Arial", ; + FontSize = 10, ; + Name = "Header1" + *< END OBJECT: BaseClass="header" /> + + ADD OBJECT 'pgfArticole.PAGE1.grdRulaje.cNrord.Text1' AS textbox WITH ; + BackColor = 160,255,205, ; + BorderStyle = 0, ; + FontName = "Arial", ; + FontSize = 10, ; + ForeColor = 0,0,0, ; + Margin = 0, ; + Name = "Text1", ; + ReadOnly = .F., ; + SelectedBackColor = 100,185,255 + *< END OBJECT: BaseClass="textbox" /> + + ADD OBJECT 'pgfArticole.PAGE1.grdRulaje.cNrord_rez.Header1' AS header WITH ; + Alignment = 2, ; + Caption = "Lucrare rez.", ; + FontName = "Arial", ; + FontSize = 10, ; + Name = "Header1" + *< END OBJECT: BaseClass="header" /> + + ADD OBJECT 'pgfArticole.PAGE1.grdRulaje.cNrord_rez.Text1' AS textbox WITH ; + BackColor = 160,255,205, ; + BorderStyle = 0, ; + FontName = "Arial", ; + FontSize = 10, ; + ForeColor = 0,0,0, ; + Margin = 0, ; + Name = "Text1", ; + ReadOnly = .F., ; + SelectedBackColor = 100,185,255 + *< END OBJECT: BaseClass="textbox" /> + + ADD OBJECT 'pgfArticole.PAGE1.grdRulaje.cNume_val.Header1' AS header WITH ; + Alignment = 2, ; + Caption = "Valuta", ; + FontName = "Arial", ; + FontSize = 10, ; + Name = "Header1" + *< END OBJECT: BaseClass="header" /> + + ADD OBJECT 'pgfArticole.PAGE1.grdRulaje.cNume_val.Text1' AS textbox WITH ; + BackColor = 160,255,205, ; + BorderStyle = 0, ; + FontName = "Arial", ; + FontSize = 10, ; + ForeColor = 0,0,0, ; + Margin = 0, ; + Name = "Text1", ; + ReadOnly = .F., ; + SelectedBackColor = 100,185,255 + *< END OBJECT: BaseClass="textbox" /> + + ADD OBJECT 'pgfArticole.PAGE1.grdRulaje.Column34.Header1' AS header WITH ; + Alignment = 2, ; + Caption = "Cant 2", ; + FontName = "Arial", ; + FontSize = 10, ; + Name = "Header1" + *< END OBJECT: BaseClass="header" /> + + ADD OBJECT 'pgfArticole.PAGE1.grdRulaje.Column34.Text1' AS textbox WITH ; + BackColor = 225,225,225, ; + BorderStyle = 0, ; + FontName = "Arial", ; + FontSize = 10, ; + ForeColor = 0,0,0, ; + Margin = 0, ; + Name = "Text1", ; + ReadOnly = .F., ; + SelectedBackColor = 100,185,255 + *< END OBJECT: BaseClass="textbox" /> + + ADD OBJECT 'pgfArticole.PAGE1.grdRulaje.Column35.Header1' AS header WITH ; + Alignment = 2, ; + Caption = "UM 2", ; + FontName = "Arial", ; + FontSize = 10, ; + Name = "Header1" + *< END OBJECT: BaseClass="header" /> + + ADD OBJECT 'pgfArticole.PAGE1.grdRulaje.Column35.Text1' AS textbox WITH ; + BackColor = 225,225,225, ; + BorderStyle = 0, ; + FontName = "Arial", ; + FontSize = 10, ; + ForeColor = 0,0,0, ; + Margin = 0, ; + Name = "Text1", ; + ReadOnly = .T., ; + SelectedBackColor = 100,185,255 + *< END OBJECT: BaseClass="textbox" /> + + ADD OBJECT 'pgfArticole.PAGE1.grdRulaje.cPart_rez.Header1' AS header WITH ; + Alignment = 2, ; + Caption = "Part. rez.", ; + FontName = "Arial", ; + FontSize = 10, ; + Name = "Header1" + *< END OBJECT: BaseClass="header" /> + + ADD OBJECT 'pgfArticole.PAGE1.grdRulaje.cPart_rez.Text1' AS textbox WITH ; + BackColor = 160,255,205, ; + BorderStyle = 0, ; + FontName = "Arial", ; + FontSize = 10, ; + ForeColor = 0,0,0, ; + Margin = 0, ; + Name = "Text1", ; + ReadOnly = .F., ; + SelectedBackColor = 100,185,255 + *< END OBJECT: BaseClass="textbox" /> + + ADD OBJECT 'pgfArticole.PAGE1.grdRulaje.cPret.Header1' AS header WITH ; + Alignment = 2, ; + Caption = "Pret", ; + FontName = "Arial", ; + FontSize = 10, ; + Name = "Header1" + *< END OBJECT: BaseClass="header" /> + + ADD OBJECT 'pgfArticole.PAGE1.grdRulaje.cPret.Text1' AS textbox WITH ; + BackColor = 255,255,255, ; + BorderStyle = 0, ; + FontName = "Arial", ; + FontSize = 10, ; + ForeColor = 0,0,0, ; + Margin = 0, ; + Name = "Text1", ; + ReadOnly = .F., ; + SelectedBackColor = 100,185,255 + *< END OBJECT: BaseClass="textbox" /> + + ADD OBJECT 'pgfArticole.PAGE1.grdRulaje.cPretd.Header1' AS header WITH ; + Alignment = 2, ; + Caption = "Pret in valuta", ; + FontName = "Arial", ; + FontSize = 10, ; + Name = "Header1", ; + WordWrap = .T. + *< END OBJECT: BaseClass="header" /> + + ADD OBJECT 'pgfArticole.PAGE1.grdRulaje.cPretd.Text1' AS textbox WITH ; + BackColor = 255,255,255, ; + BorderStyle = 0, ; + FontName = "Arial", ; + FontSize = 10, ; + ForeColor = 0,0,0, ; + Margin = 0, ; + Name = "Text1", ; + ReadOnly = .F., ; + SelectedBackColor = 100,185,255 + *< END OBJECT: BaseClass="textbox" /> + + ADD OBJECT 'pgfArticole.PAGE1.grdRulaje.cPretv.Header1' AS header WITH ; + Alignment = 2, ; + Caption = "Pret vanzare", ; + FontName = "Arial", ; + FontSize = 10, ; + Name = "Header1", ; + WordWrap = .T. + *< END OBJECT: BaseClass="header" /> + + ADD OBJECT 'pgfArticole.PAGE1.grdRulaje.cPretv.Text1' AS textbox WITH ; + BackColor = 255,255,255, ; + BorderStyle = 0, ; + FontName = "Arial", ; + FontSize = 10, ; + ForeColor = 0,0,0, ; + Margin = 0, ; + Name = "Text1", ; + ReadOnly = .F., ; + SelectedBackColor = 100,185,255 + *< END OBJECT: BaseClass="textbox" /> + + ADD OBJECT 'pgfArticole.PAGE1.grdRulaje.cPretvtva.Header1' AS header WITH ; + Alignment = 2, ; + Caption = "Pret vanzare cu TVA", ; + FontName = "Arial", ; + FontSize = 10, ; + Name = "Header1", ; + WordWrap = .T. + *< END OBJECT: BaseClass="header" /> + + ADD OBJECT 'pgfArticole.PAGE1.grdRulaje.cPretvtva.Text1' AS textbox WITH ; + BackColor = 255,255,255, ; + BorderStyle = 0, ; + FontName = "Arial", ; + FontSize = 10, ; + ForeColor = 0,0,0, ; + Margin = 0, ; + Name = "Text1", ; + ReadOnly = .F., ; + SelectedBackColor = 100,185,255 + *< END OBJECT: BaseClass="textbox" /> + + ADD OBJECT 'pgfArticole.PAGE1.grdRulaje.cProc_disc.Header1' AS header WITH ; + Alignment = 2, ; + Caption = "Procent discount", ; + FontName = "Arial", ; + FontSize = 10, ; + Name = "Header1", ; + WordWrap = .T. + *< END OBJECT: BaseClass="header" /> + + ADD OBJECT 'pgfArticole.PAGE1.grdRulaje.cProc_disc.Text1' AS textbox WITH ; + BackColor = 225,225,225, ; + BorderStyle = 0, ; + FontName = "Arial", ; + FontSize = 10, ; + ForeColor = 0,0,0, ; + Margin = 0, ; + Name = "Text1", ; + ReadOnly = .T., ; + SelectedBackColor = 100,185,255 + *< END OBJECT: BaseClass="textbox" /> + + ADD OBJECT 'pgfArticole.PAGE1.grdRulaje.cProc_tva.Header1' AS header WITH ; + Alignment = 2, ; + Caption = "Cota TVA", ; + FontName = "Arial", ; + FontSize = 10, ; + Name = "Header1" + *< END OBJECT: BaseClass="header" /> + + ADD OBJECT 'pgfArticole.PAGE1.grdRulaje.cProc_tva.Text1' AS textbox WITH ; + BackColor = 255,255,255, ; + BorderStyle = 0, ; + FontName = "Arial", ; + FontSize = 10, ; + ForeColor = 0,0,0, ; + Margin = 0, ; + Name = "Text1", ; + ReadOnly = .F., ; + SelectedBackColor = 100,185,255 + *< END OBJECT: BaseClass="textbox" /> + + ADD OBJECT 'pgfArticole.PAGE1.grdRulaje.cProc_tvav.Header1' AS header WITH ; + Alignment = 2, ; + Caption = "Proc. TVA vanzare", ; + FontName = "Arial", ; + FontSize = 10, ; + Name = "Header1", ; + WordWrap = .T. + *< END OBJECT: BaseClass="header" /> + + ADD OBJECT 'pgfArticole.PAGE1.grdRulaje.cProc_tvav.Text1' AS textbox WITH ; + BackColor = 255,255,255, ; + BorderStyle = 0, ; + FontName = "Arial", ; + FontSize = 10, ; + ForeColor = 0,0,0, ; + Margin = 0, ; + Name = "Text1", ; + ReadOnly = .F., ; + SelectedBackColor = 100,185,255 + *< END OBJECT: BaseClass="textbox" /> + + ADD OBJECT 'pgfArticole.PAGE1.grdRulaje.cProcent.Header1' AS header WITH ; + Alignment = 2, ; + Caption = "Procent adaos", ; + FontName = "Arial", ; + FontSize = 10, ; + Name = "Header1", ; + WordWrap = .T. + *< END OBJECT: BaseClass="header" /> + + ADD OBJECT 'pgfArticole.PAGE1.grdRulaje.cProcent.Text1' AS textbox WITH ; + BackColor = 225,225,225, ; + BorderStyle = 0, ; + FontName = "Arial", ; + FontSize = 10, ; + ForeColor = 0,0,0, ; + Margin = 0, ; + Name = "Text1", ; + ReadOnly = .T., ; + SelectedBackColor = 100,185,255 + *< END OBJECT: BaseClass="textbox" /> + + ADD OBJECT 'pgfArticole.PAGE1.grdRulaje.cSectie.Header1' AS header WITH ; + Alignment = 2, ; + Caption = "Sectie", ; + FontName = "Arial", ; + FontSize = 10, ; + Name = "Header1" + *< END OBJECT: BaseClass="header" /> + + ADD OBJECT 'pgfArticole.PAGE1.grdRulaje.cSectie.Text1' AS textbox WITH ; + BackColor = 160,255,205, ; + BorderStyle = 0, ; + FontName = "Arial", ; + FontSize = 10, ; + ForeColor = 0,0,0, ; + Margin = 0, ; + Name = "Text1", ; + ReadOnly = .F., ; + SelectedBackColor = 100,185,255 + *< END OBJECT: BaseClass="textbox" /> + + ADD OBJECT 'pgfArticole.PAGE1.grdRulaje.cSerie.Header1' AS header WITH ; + Alignment = 2, ; + Caption = "Serie", ; + FontName = "Arial", ; + FontSize = 10, ; + Name = "Header1" + *< END OBJECT: BaseClass="header" /> + + ADD OBJECT 'pgfArticole.PAGE1.grdRulaje.cSerie.Text1' AS textbox WITH ; + BackColor = 255,255,255, ; + BorderStyle = 0, ; + FontName = "Arial", ; + FontSize = 10, ; + ForeColor = 0,0,0, ; + Margin = 0, ; + Name = "Text1", ; + ReadOnly = .F., ; + SelectedBackColor = 100,185,255 + *< END OBJECT: BaseClass="textbox" /> + + ADD OBJECT 'pgfArticole.PAGE1.grdRulaje.cSerie_act.Header1' AS header WITH ; + Alignment = 2, ; + Caption = "Serie act", ; + FontName = "Arial", ; + FontSize = 10, ; + Name = "Header1", ; + WordWrap = .T. + *< END OBJECT: BaseClass="header" /> + + ADD OBJECT 'pgfArticole.PAGE1.grdRulaje.cSerie_act.Text1' AS textbox WITH ; + BackColor = 255,255,255, ; + BorderStyle = 0, ; + FontName = "Arial", ; + FontSize = 10, ; + ForeColor = 0,0,0, ; + Margin = 0, ; + Name = "Text1", ; + ReadOnly = .F., ; + SelectedBackColor = 100,185,255 + *< END OBJECT: BaseClass="textbox" /> + + ADD OBJECT 'pgfArticole.PAGE1.grdRulaje.cSubgrupa.Header1' AS header WITH ; + Alignment = 2, ; + Caption = "Subgrupa", ; + FontName = "Arial", ; + FontSize = 10, ; + Name = "Header1" + *< END OBJECT: BaseClass="header" /> + + ADD OBJECT 'pgfArticole.PAGE1.grdRulaje.cSubgrupa.Text1' AS textbox WITH ; + BackColor = 225,225,225, ; + BorderStyle = 0, ; + FontName = "Arial", ; + FontSize = 10, ; + ForeColor = 0,0,0, ; + Margin = 0, ; + Name = "Text1", ; + ReadOnly = .T., ; + SelectedBackColor = 100,185,255 + *< END OBJECT: BaseClass="textbox" /> + + ADD OBJECT 'pgfArticole.PAGE1.grdRulaje.cSucursala.Header1' AS header WITH ; + Alignment = 2, ; + Caption = "Sucursala", ; + FontName = "Arial", ; + FontSize = 10, ; + Name = "Header1" + *< END OBJECT: BaseClass="header" /> + + ADD OBJECT 'pgfArticole.PAGE1.grdRulaje.cSucursala.Text1' AS textbox WITH ; + BackColor = 225,225,225, ; + BorderStyle = 0, ; + FontName = "Arial", ; + FontSize = 10, ; + ForeColor = 0,0,0, ; + Margin = 0, ; + Name = "Text1", ; + ReadOnly = .T., ; + SelectedBackColor = 100,185,255 + *< END OBJECT: BaseClass="textbox" /> + + ADD OBJECT 'pgfArticole.PAGE1.grdRulaje.cTaxCode.Header1' AS header WITH ; + Alignment = 2, ; + Caption = "Cod Taxa", ; + FontSize = 10, ; + Name = "Header1" + *< END OBJECT: BaseClass="header" /> + + ADD OBJECT 'pgfArticole.PAGE1.grdRulaje.cTaxCode.Text1' AS textbox WITH ; + BackColor = 160,255,205, ; + BorderStyle = 0, ; + FontSize = 10, ; + ForeColor = 0,0,0, ; + Margin = 0, ; + Name = "Text1", ; + ReadOnly = .F., ; + SelectedBackColor = 100,185,255 + *< END OBJECT: BaseClass="textbox" /> + + ADD OBJECT 'pgfArticole.PAGE1.grdRulaje.cTipRulaj.Header1' AS header WITH ; + Alignment = 2, ; + Caption = "Tip rulaj", ; + FontName = "Arial", ; + FontSize = 10, ; + Name = "Header1" + *< END OBJECT: BaseClass="header" /> + + ADD OBJECT 'pgfArticole.PAGE1.grdRulaje.cTipRulaj.Text1' AS textbox WITH ; + BackColor = 225,225,225, ; + BorderStyle = 0, ; + FontName = "Arial", ; + FontSize = 10, ; + ForeColor = 0,0,0, ; + Margin = 0, ; + Name = "Text1", ; + ReadOnly = .T., ; + SelectedBackColor = 100,185,255 + *< END OBJECT: BaseClass="textbox" /> + + ADD OBJECT 'pgfArticole.PAGE1.grdRulaje.cTva.Header1' AS header WITH ; + Alignment = 2, ; + Caption = "TVA achizitie", ; + FontName = "Arial", ; + FontSize = 10, ; + Name = "Header1", ; + WordWrap = .T. + *< END OBJECT: BaseClass="header" /> + + ADD OBJECT 'pgfArticole.PAGE1.grdRulaje.cTva.Text1' AS textbox WITH ; + BackColor = 255,255,255, ; + BorderStyle = 0, ; + FontName = "Arial", ; + FontSize = 10, ; + ForeColor = 0,0,0, ; + Margin = 0, ; + Name = "Text1", ; + ReadOnly = .F., ; + SelectedBackColor = 100,185,255 + *< END OBJECT: BaseClass="textbox" /> + + ADD OBJECT 'pgfArticole.PAGE1.grdRulaje.cTvav.Header1' AS header WITH ; + Alignment = 2, ; + Caption = "TVA vanzare", ; + FontName = "Arial", ; + FontSize = 10, ; + Name = "Header1", ; + WordWrap = .T. + *< END OBJECT: BaseClass="header" /> + + ADD OBJECT 'pgfArticole.PAGE1.grdRulaje.cTvav.Text1' AS textbox WITH ; + BackColor = 255,255,255, ; + BorderStyle = 0, ; + FontName = "Arial", ; + FontSize = 10, ; + ForeColor = 0,0,0, ; + Margin = 0, ; + Name = "Text1", ; + ReadOnly = .F., ; + SelectedBackColor = 100,185,255 + *< END OBJECT: BaseClass="textbox" /> + + ADD OBJECT 'pgfArticole.PAGE1.grdRulaje.cUM.Header1' AS header WITH ; + Alignment = 2, ; + Caption = "UM", ; + FontName = "Arial", ; + FontSize = 10, ; + Name = "Header1" + *< END OBJECT: BaseClass="header" /> + + ADD OBJECT 'pgfArticole.PAGE1.grdRulaje.cUM.Text1' AS textbox WITH ; + BackColor = 225,225,225, ; + BorderStyle = 0, ; + FontName = "Arial", ; + FontSize = 10, ; + ForeColor = 0,0,0, ; + Margin = 0, ; + Name = "Text1", ; + ReadOnly = .T., ; + SelectedBackColor = 100,185,255 + *< END OBJECT: BaseClass="textbox" /> + + ADD OBJECT 'pgfArticole.PAGE1.grdRulaje.cUtil.Header1' AS header WITH ; + Alignment = 2, ; + Caption = "Operator introducere", ; + FontName = "Arial", ; + FontSize = 10, ; + Name = "Header1" + *< END OBJECT: BaseClass="header" /> + + ADD OBJECT 'pgfArticole.PAGE1.grdRulaje.cUtil.Text1' AS textbox WITH ; + BackColor = 225,225,225, ; + BorderStyle = 0, ; + FontName = "Arial", ; + FontSize = 10, ; + ForeColor = 0,0,0, ; + Margin = 0, ; + Name = "Text1", ; + ReadOnly = .T., ; + SelectedBackColor = 100,185,255 + *< END OBJECT: BaseClass="textbox" /> + + ADD OBJECT 'pgfArticole.PAGE1.grdRulaje.cUtils.Header1' AS header WITH ; + Alignment = 2, ; + Caption = "Utilizator stergere", ; + FontName = "Arial", ; + FontSize = 10, ; + Name = "Header1" + *< END OBJECT: BaseClass="header" /> + + ADD OBJECT 'pgfArticole.PAGE1.grdRulaje.cUtils.Text1' AS textbox WITH ; + BackColor = 225,225,225, ; + BorderStyle = 0, ; + FontName = "Arial", ; + FontSize = 10, ; + ForeColor = 0,0,0, ; + Margin = 0, ; + Name = "Text1", ; + ReadOnly = .T., ; + SelectedBackColor = 100,185,255 + *< END OBJECT: BaseClass="textbox" /> + + ADD OBJECT 'pgfArticole.PAGE1.grdRulaje.cValoare_adaosftva.Header1' AS header WITH ; + Alignment = 2, ; + Caption = "Valoare adaos fara TVA", ; + FontName = "Arial", ; + FontSize = 10, ; + Name = "Header1", ; + WordWrap = .T. + *< END OBJECT: BaseClass="header" /> + + ADD OBJECT 'pgfArticole.PAGE1.grdRulaje.cValoare_adaosftva.Text1' AS textbox WITH ; + BackColor = 225,225,225, ; + BorderStyle = 0, ; + FontName = "Arial", ; + FontSize = 10, ; + ForeColor = 0,0,0, ; + Margin = 0, ; + Name = "Text1", ; + ReadOnly = .T., ; + SelectedBackColor = 100,185,255 + *< END OBJECT: BaseClass="textbox" /> + + ADD OBJECT 'pgfArticole.PAGE1.grdRulaje.cvaloare_adaostva.Header1' AS header WITH ; + Alignment = 2, ; + Caption = "Valoare TVA adaos", ; + FontName = "Arial", ; + FontSize = 10, ; + Name = "Header1", ; + WordWrap = .T. + *< END OBJECT: BaseClass="header" /> + + ADD OBJECT 'pgfArticole.PAGE1.grdRulaje.cvaloare_adaostva.Text1' AS textbox WITH ; + BackColor = 225,225,225, ; + BorderStyle = 0, ; + FontName = "Arial", ; + FontSize = 10, ; + ForeColor = 0,0,0, ; + Margin = 0, ; + Name = "Text1", ; + ReadOnly = .T., ; + SelectedBackColor = 100,185,255 + *< END OBJECT: BaseClass="textbox" /> + + ADD OBJECT 'pgfArticole.PAGE1.grdRulaje.cvaloarecTVA.Header1' AS header WITH ; + Alignment = 2, ; + Caption = "Valoare achizitie cu TVA", ; + FontName = "Arial", ; + FontSize = 10, ; + Name = "Header1", ; + WordWrap = .T. + *< END OBJECT: BaseClass="header" /> + + ADD OBJECT 'pgfArticole.PAGE1.grdRulaje.cvaloarecTVA.Text1' AS textbox WITH ; + BackColor = 225,225,225, ; + BorderStyle = 0, ; + FontName = "Arial", ; + FontSize = 10, ; + ForeColor = 0,0,0, ; + Margin = 0, ; + Name = "Text1", ; + ReadOnly = .T., ; + SelectedBackColor = 100,185,255 + *< END OBJECT: BaseClass="textbox" /> + + ADD OBJECT 'pgfArticole.PAGE1.grdRulaje.cValoareftva.Header1' AS header WITH ; + Alignment = 2, ; + Caption = "Valoare achizitie", ; + FontName = "Arial", ; + FontSize = 10, ; + Name = "Header1", ; + WordWrap = .T. + *< END OBJECT: BaseClass="header" /> + + ADD OBJECT 'pgfArticole.PAGE1.grdRulaje.cValoareftva.Text1' AS textbox WITH ; + BackColor = 225,225,225, ; + BorderStyle = 0, ; + FontName = "Arial", ; + FontSize = 10, ; + ForeColor = 0,0,0, ; + Margin = 0, ; + Name = "Text1", ; + ReadOnly = .T., ; + SelectedBackColor = 100,185,255 + *< END OBJECT: BaseClass="textbox" /> + + ADD OBJECT 'pgfArticole.PAGE1.grdRulaje.cValoaretva.Header1' AS header WITH ; + Alignment = 2, ; + Caption = "Valoare TVA achizitie", ; + FontName = "Arial", ; + FontSize = 10, ; + Name = "Header1", ; + WordWrap = .T. + *< END OBJECT: BaseClass="header" /> + + ADD OBJECT 'pgfArticole.PAGE1.grdRulaje.cValoaretva.Text1' AS textbox WITH ; + BackColor = 225,225,225, ; + BorderStyle = 0, ; + FontName = "Arial", ; + FontSize = 10, ; + ForeColor = 0,0,0, ; + Margin = 0, ; + Name = "Text1", ; + ReadOnly = .T., ; + SelectedBackColor = 100,185,255 + *< END OBJECT: BaseClass="textbox" /> + + ADD OBJECT 'pgfArticole.PAGE1.grdRulaje.cvaloarevcTVA.cvaloarevcTVA' AS header WITH ; + Alignment = 2, ; + Caption = "Valoare vanzare cu TVA", ; + FontName = "Arial", ; + FontSize = 10, ; + Name = "cvaloarevcTVA", ; + WordWrap = .T. + *< END OBJECT: BaseClass="header" /> + + ADD OBJECT 'pgfArticole.PAGE1.grdRulaje.cvaloarevcTVA.Text1' AS textbox WITH ; + BackColor = 225,225,225, ; + BorderStyle = 0, ; + FontName = "Arial", ; + FontSize = 10, ; + ForeColor = 0,0,0, ; + Margin = 0, ; + Name = "Text1", ; + ReadOnly = .T., ; + SelectedBackColor = 100,185,255 + *< END OBJECT: BaseClass="textbox" /> + + ADD OBJECT 'pgfArticole.PAGE1.grdRulaje.cValoarevftva.Header1' AS header WITH ; + Alignment = 2, ; + Caption = "Valoare vanzare", ; + FontName = "Arial", ; + FontSize = 10, ; + Name = "Header1", ; + WordWrap = .T. + *< END OBJECT: BaseClass="header" /> + + ADD OBJECT 'pgfArticole.PAGE1.grdRulaje.cValoarevftva.Text1' AS textbox WITH ; + BackColor = 225,225,225, ; + BorderStyle = 0, ; + FontName = "Arial", ; + FontSize = 10, ; + ForeColor = 0,0,0, ; + Margin = 0, ; + Name = "Text1", ; + ReadOnly = .T., ; + SelectedBackColor = 100,185,255 + *< END OBJECT: BaseClass="textbox" /> + + ADD OBJECT 'pgfArticole.PAGE1.grdRulaje.cvaloarevTVA.Header1' AS header WITH ; + Alignment = 2, ; + Caption = "Valoare TVA vanzare", ; + FontName = "Arial", ; + FontSize = 10, ; + Name = "Header1", ; + WordWrap = .T. + *< END OBJECT: BaseClass="header" /> + + ADD OBJECT 'pgfArticole.PAGE1.grdRulaje.cvaloarevTVA.Text1' AS textbox WITH ; + BackColor = 225,225,225, ; + BorderStyle = 0, ; + FontName = "Arial", ; + FontSize = 10, ; + ForeColor = 0,0,0, ; + Margin = 0, ; + Name = "Text1", ; + ReadOnly = .T., ; + SelectedBackColor = 100,185,255 + *< END OBJECT: BaseClass="textbox" /> + + ADD OBJECT 'pgfArticole.PAGE2._grdfooter1' AS _grdfooter WITH ; + ccolwithlabel = cNrCrt, ; + csourcegrid = , ; + csumcolumns = cValoareftva, cValoaretva, cValoarectva, cValoarevftva, cValoarevtva, cValoarevctva, cValoare_adaosftva, cvaloare_adaostva, ; + ctotallabelexpression = 'TOTAL', ; + Height = 35, ; + Left = 0, ; + Name = "_grdfooter1", ; + Top = 75, ; + Width = 759, ; + ZOrderSet = 9 + *< END OBJECT: ClassLib="_grd_base.vcx" BaseClass="grid" /> + + ADD OBJECT 'pgfArticole.PAGE2.grdRulajeObinv' AS _grdrow WITH ; + Anchor = 15, ; + ColumnCount = 61, ; + DeleteMark = .F., ; + FontSize = 10, ; + GridLineColor = 128,128,128, ; + HeaderHeight = 35, ; + Height = 72, ; + Left = 0, ; + Name = "grdRulajeObinv", ; + Panel = 1, ; + ReadOnly = .F., ; + RecordSource = "trul_obinv", ; + RowHeight = 19, ; + TabIndex = 3, ; + Tag = "RESIZABLE", ; + Top = 0, ; + Width = 759, ; + ZOrderSet = 1, ; + Column1.ControlSource = "nrcrt()", ; + Column1.FontName = "Arial", ; + Column1.FontSize = 10, ; + Column1.Format = "R", ; + Column1.InputMask = "999 999", ; + Column1.Name = "cNrCrt", ; + Column1.ReadOnly = .T., ; + Column1.Width = 44, ; + Column2.ControlSource = "trul_obinv.nnir", ; + Column2.FontName = "Arial", ; + Column2.FontSize = 10, ; + Column2.Name = "cNnir", ; + Column2.ReadOnly = .F., ; + Column2.Width = 71, ; + Column3.ColumnOrder = 3, ; + Column3.ControlSource = "dataact", ; + Column3.FontName = "Arial", ; + Column3.FontSize = 10, ; + Column3.Name = "cDataact", ; + Column3.ReadOnly = .F., ; + Column3.Width = 67, ; + Column4.BackColor = 225,225,225, ; + Column4.ColumnOrder = 6, ; + Column4.ControlSource = "codmat", ; + Column4.FontName = "Arial", ; + Column4.FontSize = 10, ; + Column4.Name = "cCodmat", ; + Column4.ReadOnly = .T., ; + Column5.BackColor = 160,255,205, ; + Column5.ColumnOrder = 7, ; + Column5.ControlSource = "denumire", ; + Column5.FontName = "Arial", ; + Column5.FontSize = 10, ; + Column5.Name = "cDenumire", ; + Column5.ReadOnly = .F., ; + Column5.Width = 156, ; + Column6.BackColor = 225,225,225, ; + Column6.ColumnOrder = 9, ; + Column6.ControlSource = "um", ; + Column6.FontName = "Arial", ; + Column6.FontSize = 10, ; + Column6.Name = "cUM", ; + Column6.ReadOnly = .T., ; + Column6.Width = 39, ; + Column7.ColumnOrder = 19, ; + Column7.ControlSource = "pret", ; + Column7.DynamicForeColor = "IIF(pret>=0, RGB(0,0,0), RGB(255,0,0))", ; + Column7.FontName = "Arial", ; + Column7.FontSize = 10, ; + Column7.Format = "R", ; + Column7.InputMask = (get_mask(12,gnPPRET)), ; + Column7.Name = "cPret", ; + Column7.ReadOnly = .F., ; + Column7.Width = 70, ; + Column8.ColumnOrder = 12, ; + Column8.ControlSource = "cant", ; + Column8.DynamicForeColor = "IIF(cant>=0, RGB(0,0,0), RGB(0,0,255))", ; + Column8.FontName = "Arial", ; + Column8.FontSize = 10, ; + Column8.Format = "R", ; + Column8.InputMask = (get_mask(12,gnPCANT)), ; + Column8.Name = "cCant", ; + Column8.ReadOnly = .F., ; + Column8.Width = 68, ; + Column9.ColumnOrder = 13, ; + Column9.ControlSource = "cante", ; + Column9.FontName = "Arial", ; + Column9.FontSize = 10, ; + Column9.Format = "R", ; + Column9.InputMask = (get_mask(12,gnPCANT)), ; + Column9.Name = "cCante", ; + Column9.ReadOnly = .F., ; + Column9.Width = 68, ; + Column10.ColumnOrder = 14, ; + Column10.ControlSource = "cont", ; + Column10.FontName = "Arial", ; + Column10.FontSize = 10, ; + Column10.Name = "cCont", ; + Column10.ReadOnly = .F., ; + Column10.Width = 46, ; + Column11.BackColor = 225,225,225, ; + Column11.ColumnOrder = 61, ; + Column11.ControlSource = "cod", ; + Column11.FontName = "Arial", ; + Column11.FontSize = 10, ; + Column11.Name = "cCod", ; + Column11.ReadOnly = .T., ; + Column12.ColumnOrder = 15, ; + Column12.ControlSource = "acont", ; + Column12.FontName = "Arial", ; + Column12.FontSize = 10, ; + Column12.Name = "cAcont", ; + Column12.ReadOnly = .F., ; + Column12.Width = 46, ; + Column13.BackColor = 160,255,205, ; + Column13.ColumnOrder = 16, ; + Column13.ControlSource = "cgest", ; + Column13.FontName = "Arial", ; + Column13.FontSize = 10, ; + Column13.Name = "cGest", ; + Column13.ReadOnly = .F., ; + Column13.Width = 60, ; + Column14.BackColor = 160,255,205, ; + Column14.ColumnOrder = 18, ; + Column14.ControlSource = "nrord", ; + Column14.FontName = "Arial", ; + Column14.FontSize = 10, ; + Column14.Name = "cNrord", ; + Column14.ReadOnly = .F., ; + Column15.ColumnOrder = 26, ; + Column15.ControlSource = "curs", ; + Column15.FontName = "Arial", ; + Column15.FontSize = 10, ; + Column15.Format = "R", ; + Column15.InputMask = (get_mask(12,gnPcurs)), ; + Column15.Name = "cCurs", ; + Column15.ReadOnly = .F., ; + Column15.Width = 55, ; + Column16.ColumnOrder = 25, ; + Column16.ControlSource = "pretd", ; + Column16.FontName = "Arial", ; + Column16.FontSize = 10, ; + Column16.Format = "R", ; + Column16.InputMask = (get_mask(12,gnPPretVal)), ; + Column16.Name = "cPretd", ; + Column16.ReadOnly = .F., ; + Column16.Width = 64, ; + Column17.BackColor = 225,225,225, ; + Column17.ColumnOrder = 39, ; + Column17.ControlSource = "procent", ; + Column17.FontName = "Arial", ; + Column17.FontSize = 10, ; + Column17.Format = "R", ; + Column17.InputMask = "999 999.99", ; + Column17.Name = "cProcent", ; + Column17.ReadOnly = .T., ; + Column17.Width = 53, ; + Column18.ColumnOrder = 35, ; + Column18.ControlSource = "iif(trul_obinv.pretv#0,trul_obinv.pretv-trul_obinv.pret,0)", ; + Column18.FontName = "Arial", ; + Column18.FontSize = 10, ; + Column18.Format = "R", ; + Column18.InputMask = (get_mask(12,MAX(gnPPret,gnPPretV))), ; + Column18.Name = "cAdaos", ; + Column18.ReadOnly = .F., ; + Column18.Width = 56, ; + Column19.ColumnOrder = 21, ; + Column19.ControlSource = "tva", ; + Column19.FontName = "Arial", ; + Column19.FontSize = 10, ; + Column19.Format = "R", ; + Column19.InputMask = (get_mask(12,gnPPRET)), ; + Column19.Name = "cTva", ; + Column19.ReadOnly = .F., ; + Column19.Width = 68, ; + Column20.BackColor = 225,225,225, ; + Column20.ColumnOrder = 22, ; + Column20.ControlSource = "valoare", ; + Column20.FontName = "Arial", ; + Column20.FontSize = 10, ; + Column20.Format = "R", ; + Column20.InputMask = (get_mask(12,gnPc)), ; + Column20.Name = "cValoareftva", ; + Column20.ReadOnly = .T., ; + Column21.ColumnOrder = 28, ; + Column21.ControlSource = "trul_obinv.pretv", ; + Column21.FontName = "Arial", ; + Column21.FontSize = 10, ; + Column21.Format = "R", ; + Column21.InputMask = (get_mask(12,gnPPRETV)), ; + Column21.Name = "cPretv", ; + Column21.ReadOnly = .F., ; + Column22.ColumnOrder = 30, ; + Column22.ControlSource = "tvav", ; + Column22.FontName = "Arial", ; + Column22.FontSize = 10, ; + Column22.Format = "R", ; + Column22.InputMask = (get_mask(12,gnPPRETV)), ; + Column22.Name = "cTvav", ; + Column22.ReadOnly = .F., ; + Column23.ColumnOrder = 31, ; + Column23.ControlSource = "pretvtva", ; + Column23.FontName = "Arial", ; + Column23.FontSize = 10, ; + Column23.Format = "R", ; + Column23.InputMask = (get_mask(12,gnPPRETV)), ; + Column23.Name = "cPretvtva", ; + Column23.ReadOnly = .F., ; + Column23.Width = 94, ; + Column24.ColumnOrder = 20, ; + Column24.ControlSource = "proc_tva", ; + Column24.FontName = "Arial", ; + Column24.FontSize = 10, ; + Column24.Format = "R", ; + Column24.InputMask = "9.99", ; + Column24.Name = "cProc_tva", ; + Column24.ReadOnly = .F., ; + Column24.Width = 57, ; + Column25.BackColor = 225,225,225, ; + Column25.ColumnOrder = 57, ; + Column25.ControlSource = "util", ; + Column25.FontName = "Arial", ; + Column25.FontSize = 10, ; + Column25.Name = "cUtil", ; + Column25.ReadOnly = .T., ; + Column25.Width = 95, ; + Column26.BackColor = 225,225,225, ; + Column26.ColumnOrder = 58, ; + Column26.ControlSource = "dataora", ; + Column26.FontName = "Arial", ; + Column26.FontSize = 10, ; + Column26.Name = "cDataora", ; + Column26.ReadOnly = .T., ; + Column26.Width = 95, ; + Column27.BackColor = 160,255,205, ; + Column27.ColumnOrder = 45, ; + Column27.ControlSource = "sectie", ; + Column27.FontName = "Arial", ; + Column27.FontSize = 10, ; + Column27.Name = "cSectie", ; + Column27.ReadOnly = .F., ; + Column28.ColumnOrder = 43, ; + Column28.ControlSource = "datain", ; + Column28.FontName = "Arial", ; + Column28.FontSize = 10, ; + Column28.Name = "cDatain", ; + Column28.ReadOnly = .F., ; + Column29.ColumnOrder = 44, ; + Column29.ControlSource = "dataout", ; + Column29.FontName = "Arial", ; + Column29.FontSize = 10, ; + Column29.Name = "cDataOut", ; + Column29.ReadOnly = .F., ; + Column30.BackColor = 160,255,205, ; + Column30.ColumnOrder = 46, ; + Column30.ControlSource = "nresp", ; + Column30.FontName = "Arial", ; + Column30.FontSize = 10, ; + Column30.Name = "cNresp", ; + Column30.ReadOnly = .F., ; + Column30.Width = 116, ; + Column31.BackColor = 160,255,205, ; + Column31.ColumnOrder = 17, ; + Column31.ControlSource = "cgestc", ; + Column31.FontName = "Arial", ; + Column31.FontSize = 10, ; + Column31.Name = "cGestC", ; + Column31.ReadOnly = .F., ; + Column32.BackColor = 160,255,205, ; + Column32.ColumnOrder = 47, ; + Column32.ControlSource = "nrespc", ; + Column32.FontName = "Arial", ; + Column32.FontSize = 10, ; + Column32.Name = "cNrespC", ; + Column32.ReadOnly = .F., ; + Column32.Width = 91, ; + Column33.BackColor = 225,225,225, ; + Column33.ColumnOrder = 48, ; + Column33.ControlSource = "tip_rulaj", ; + Column33.FontName = "Arial", ; + Column33.FontSize = 10, ; + Column33.Name = "cTipRulaj", ; + Column33.ReadOnly = .T., ; + Column34.BackColor = 225,225,225, ; + Column34.ColumnOrder = 10, ; + Column34.ControlSource = "cant_bax", ; + Column34.FontName = "Arial", ; + Column34.FontSize = 10, ; + Column34.Name = "Column34", ; + Column34.ReadOnly = .F., ; + Column34.Sparse = .F., ; + Column34.Width = 41, ; + Column35.BackColor = 225,225,225, ; + Column35.ColumnOrder = 11, ; + Column35.ControlSource = "um2", ; + Column35.FontName = "Arial", ; + Column35.FontSize = 10, ; + Column35.Name = "Column35", ; + Column35.ReadOnly = .T., ; + Column35.Width = 35, ; + Column36.BackColor = 225,225,225, ; + Column36.ColumnOrder = 49, ; + Column36.ControlSource = "grupa", ; + Column36.FontName = "Arial", ; + Column36.FontSize = 10, ; + Column36.Name = "cGrupa", ; + Column36.ReadOnly = .T., ; + Column36.Width = 53, ; + Column37.ColumnOrder = 5, ; + Column37.ControlSource = "nract", ; + Column37.FontName = "Arial", ; + Column37.FontSize = 10, ; + Column37.Name = "cNract", ; + Column37.ReadOnly = .F., ; + Column37.Width = 70, ; + Column38.BackColor = 225,225,225, ; + Column38.ColumnOrder = 50, ; + Column38.ControlSource = "subgrupa", ; + Column38.FontName = "Arial", ; + Column38.FontSize = 10, ; + Column38.Name = "cSubgrupa", ; + Column38.ReadOnly = .T., ; + Column38.Width = 71, ; + Column39.BackColor = 225,225,225, ; + Column39.ColumnOrder = 59, ; + Column39.ControlSource = "utils", ; + Column39.FontName = "Arial", ; + Column39.FontSize = 10, ; + Column39.Name = "cUtils", ; + Column39.ReadOnly = .T., ; + Column40.BackColor = 225,225,225, ; + Column40.ColumnOrder = 60, ; + Column40.ControlSource = "dataoras", ; + Column40.FontName = "Arial", ; + Column40.FontSize = 10, ; + Column40.Name = "cDataoras", ; + Column40.ReadOnly = .T., ; + Column40.Width = 80, ; + Column41.ColumnOrder = 8, ; + Column41.ControlSource = "serie", ; + Column41.FontName = "Arial", ; + Column41.FontSize = 10, ; + Column41.Name = "cSerie", ; + Column41.ReadOnly = .F., ; + Column41.Width = 122, ; + Column42.BackColor = 160,255,205, ; + Column42.ColumnOrder = 27, ; + Column42.ControlSource = "nume_val", ; + Column42.FontName = "Arial", ; + Column42.FontSize = 10, ; + Column42.Name = "cNume_val", ; + Column42.ReadOnly = .F., ; + Column42.Width = 52, ; + Column43.ColumnOrder = 4, ; + Column43.ControlSource = "serie_act", ; + Column43.FontName = "Arial", ; + Column43.FontSize = 10, ; + Column43.Name = "cSerie_act", ; + Column43.ReadOnly = .F., ; + Column43.Width = 43, ; + Column44.BackColor = 225,225,225, ; + Column44.ColumnOrder = 51, ; + Column44.ControlSource = "codmatf", ; + Column44.FontName = "Arial", ; + Column44.FontSize = 10, ; + Column44.Name = "cCodmatF", ; + Column44.ReadOnly = .T., ; + Column45.ColumnOrder = 52, ; + Column45.ControlSource = "lot", ; + Column45.FontName = "Arial", ; + Column45.FontSize = 10, ; + Column45.Name = "cLot", ; + Column45.ReadOnly = .F., ; + Column46.ColumnOrder = 53, ; + Column46.ControlSource = "adata_expirare", ; + Column46.FontName = "Arial", ; + Column46.FontSize = 10, ; + Column46.Name = "cDataExpirare", ; + Column46.ReadOnly = .F., ; + Column47.BackColor = 225,225,225, ; + Column47.ColumnOrder = 56, ; + Column47.ControlSource = "sucursala", ; + Column47.FontName = "Arial", ; + Column47.FontSize = 10, ; + Column47.Name = "cSucursala", ; + Column47.ReadOnly = .T., ; + Column48.BackColor = 160,255,205, ; + Column48.ColumnOrder = 54, ; + Column48.ControlSource = "part_rez", ; + Column48.FontName = "Arial", ; + Column48.FontSize = 10, ; + Column48.Name = "cPart_rez", ; + Column48.ReadOnly = .F., ; + Column49.BackColor = 160,255,205, ; + Column49.ColumnOrder = 55, ; + Column49.ControlSource = "nrord_rez", ; + Column49.FontName = "Arial", ; + Column49.FontSize = 10, ; + Column49.Name = "cNrord_rez", ; + Column49.ReadOnly = .F., ; + Column50.BackColor = 225,225,225, ; + Column50.ColumnOrder = 23, ; + Column50.ControlSource = "valtva", ; + Column50.FontName = "Arial", ; + Column50.FontSize = 10, ; + Column50.Format = "r", ; + Column50.InputMask = (get_mask(12,gnPc)), ; + Column50.Name = "cValoaretva", ; + Column50.ReadOnly = .T., ; + Column50.Width = 98, ; + Column51.BackColor = 225,225,225, ; + Column51.ColumnOrder = 32, ; + Column51.ControlSource = "valoarev", ; + Column51.FontName = "Arial", ; + Column51.FontSize = 10, ; + Column51.Format = "r", ; + Column51.InputMask = (get_mask(12,gnPc)), ; + Column51.Name = "cValoarevftva", ; + Column51.ReadOnly = .T., ; + Column52.ColumnOrder = 29, ; + Column52.ControlSource = "proc_tvav", ; + Column52.FontName = "Arial", ; + Column52.FontSize = 10, ; + Column52.Name = "cProc_tvav", ; + Column52.ReadOnly = .F., ; + Column52.Width = 76, ; + Column53.ColumnOrder = 36, ; + Column53.ControlSource = "adaos_tva", ; + Column53.FontName = "Arial", ; + Column53.FontSize = 10, ; + Column53.InputMask = (get_mask(12,MAX(gnPPret,gnPPretV))), ; + Column53.Name = "cAdaos_tva", ; + Column53.ReadOnly = .F., ; + Column54.BackColor = 225,225,225, ; + Column54.ColumnOrder = 37, ; + Column54.ControlSource = "valoare_adaos", ; + Column54.FontName = "Arial", ; + Column54.FontSize = 10, ; + Column54.Format = "r", ; + Column54.InputMask = (get_mask(12,gnPc)), ; + Column54.Name = "cValoare_adaosftva", ; + Column54.ReadOnly = .T., ; + Column54.Width = 83, ; + Column55.BackColor = 225,225,225, ; + Column55.ColumnOrder = 38, ; + Column55.ControlSource = "valtva_adaos", ; + Column55.FontName = "Arial", ; + Column55.FontSize = 10, ; + Column55.Format = "r", ; + Column55.InputMask = (get_mask(12,gnPc)), ; + Column55.Name = "cvaloare_adaostva", ; + Column55.ReadOnly = .T., ; + Column56.ColumnOrder = 40, ; + Column56.ControlSource = "discunitar", ; + Column56.FontName = "Arial", ; + Column56.FontSize = 10, ; + Column56.InputMask = (get_mask(12,gnPPretV)), ; + Column56.Name = "cDiscunitar", ; + Column56.ReadOnly = .F., ; + Column57.ColumnOrder = 41, ; + Column57.ControlSource = "discunitar_tva", ; + Column57.FontName = "Arial", ; + Column57.FontSize = 10, ; + Column57.InputMask = (get_mask(12,gnPPretV)), ; + Column57.Name = "cDiscunitar_tva", ; + Column57.ReadOnly = .F., ; + Column57.Width = 77, ; + Column58.BackColor = 225,225,225, ; + Column58.ColumnOrder = 42, ; + Column58.ControlSource = "proc_disc", ; + Column58.FontName = "Arial", ; + Column58.FontSize = 10, ; + Column58.Name = "cProc_disc", ; + Column58.ReadOnly = .T., ; + Column59.BackColor = 225,225,225, ; + Column59.ColumnOrder = 24, ; + Column59.ControlSource = "valoarecTVA", ; + Column59.FontName = "Arial", ; + Column59.FontSize = 10, ; + Column59.InputMask = (get_mask(12,gnPc)), ; + Column59.Name = "cvaloarecTVA", ; + Column59.ReadOnly = .T., ; + Column59.Width = 107, ; + Column60.BackColor = 225,225,225, ; + Column60.ColumnOrder = 33, ; + Column60.ControlSource = "valtvav", ; + Column60.FontName = "Arial", ; + Column60.FontSize = 10, ; + Column60.Name = "cvaloarevTVA", ; + Column60.ReadOnly = .T., ; + Column60.Width = 103, ; + Column61.BackColor = 225,225,225, ; + Column61.ColumnOrder = 34, ; + Column61.ControlSource = "valoarevctva", ; + Column61.FontName = "Arial", ; + Column61.FontSize = 10, ; + Column61.InputMask = (get_mask(12,gnPc)), ; + Column61.Name = "cvaloarevcTVA", ; + Column61.ReadOnly = .T., ; + Column61.Width = 107 + *< END OBJECT: ClassLib="_grd_base.vcx" BaseClass="grid" /> + + ADD OBJECT 'pgfArticole.PAGE2.grdRulajeObinv.cAcont.Header1' AS header WITH ; + Alignment = 2, ; + Caption = "Analitic", ; + FontName = "Arial", ; + FontSize = 10, ; + Name = "Header1" + *< END OBJECT: BaseClass="header" /> + + ADD OBJECT 'pgfArticole.PAGE2.grdRulajeObinv.cAcont.Text1' AS textbox WITH ; + BackColor = 255,255,255, ; + BorderStyle = 0, ; + FontName = "Arial", ; + FontSize = 10, ; + ForeColor = 0,0,0, ; + Margin = 0, ; + Name = "Text1", ; + ReadOnly = .F., ; + SelectedBackColor = 100,185,255 + *< END OBJECT: BaseClass="textbox" /> + + ADD OBJECT 'pgfArticole.PAGE2.grdRulajeObinv.cAdaos.Header1' AS header WITH ; + Alignment = 2, ; + Caption = "Adaos", ; + FontName = "Arial", ; + FontSize = 10, ; + Name = "Header1" + *< END OBJECT: BaseClass="header" /> + + ADD OBJECT 'pgfArticole.PAGE2.grdRulajeObinv.cAdaos.Text1' AS textbox WITH ; + BackColor = 255,255,255, ; + BorderStyle = 0, ; + FontName = "Arial", ; + FontSize = 10, ; + ForeColor = 0,0,0, ; + Margin = 0, ; + Name = "Text1", ; + ReadOnly = .F., ; + SelectedBackColor = 100,185,255 + *< END OBJECT: BaseClass="textbox" /> + + ADD OBJECT 'pgfArticole.PAGE2.grdRulajeObinv.cAdaos_tva.Header1' AS header WITH ; + Alignment = 2, ; + Caption = "TVA adaos", ; + FontName = "Arial", ; + FontSize = 10, ; + Name = "Header1" + *< END OBJECT: BaseClass="header" /> + + ADD OBJECT 'pgfArticole.PAGE2.grdRulajeObinv.cAdaos_tva.Text1' AS textbox WITH ; + BackColor = 255,255,255, ; + BorderStyle = 0, ; + FontName = "Arial", ; + FontSize = 10, ; + ForeColor = 0,0,0, ; + Margin = 0, ; + Name = "Text1", ; + ReadOnly = .F., ; + SelectedBackColor = 100,185,255 + *< END OBJECT: BaseClass="textbox" /> + + ADD OBJECT 'pgfArticole.PAGE2.grdRulajeObinv.cCant.Header1' AS header WITH ; + Alignment = 2, ; + Caption = "Intrari", ; + FontName = "Arial", ; + FontSize = 10, ; + Name = "Header1" + *< END OBJECT: BaseClass="header" /> + + ADD OBJECT 'pgfArticole.PAGE2.grdRulajeObinv.cCant.Text1' AS textbox WITH ; + BackColor = 255,255,255, ; + BorderStyle = 0, ; + FontName = "Arial", ; + FontSize = 10, ; + ForeColor = 0,0,0, ; + Margin = 0, ; + Name = "Text1", ; + ReadOnly = .F., ; + SelectedBackColor = 100,185,255 + *< END OBJECT: BaseClass="textbox" /> + + ADD OBJECT 'pgfArticole.PAGE2.grdRulajeObinv.cCante.Header1' AS header WITH ; + Alignment = 2, ; + Caption = "Iesiri", ; + FontName = "Arial", ; + FontSize = 10, ; + Name = "Header1" + *< END OBJECT: BaseClass="header" /> + + ADD OBJECT 'pgfArticole.PAGE2.grdRulajeObinv.cCante.Text1' AS textbox WITH ; + BackColor = 255,255,255, ; + BorderStyle = 0, ; + FontName = "Arial", ; + FontSize = 10, ; + ForeColor = 0,0,0, ; + Margin = 0, ; + Name = "Text1", ; + ReadOnly = .F., ; + SelectedBackColor = 100,185,255 + *< END OBJECT: BaseClass="textbox" /> + + ADD OBJECT 'pgfArticole.PAGE2.grdRulajeObinv.cCod.Header1' AS header WITH ; + Alignment = 2, ; + Caption = "Cod", ; + FontName = "Arial", ; + FontSize = 10, ; + Name = "Header1" + *< END OBJECT: BaseClass="header" /> + + ADD OBJECT 'pgfArticole.PAGE2.grdRulajeObinv.cCod.Text1' AS textbox WITH ; + BackColor = 225,225,225, ; + BorderStyle = 0, ; + FontName = "Arial", ; + FontSize = 10, ; + ForeColor = 0,0,0, ; + Margin = 0, ; + Name = "Text1", ; + ReadOnly = .T., ; + SelectedBackColor = 100,185,255 + *< END OBJECT: BaseClass="textbox" /> + + ADD OBJECT 'pgfArticole.PAGE2.grdRulajeObinv.cCodmat.Header1' AS header WITH ; + Alignment = 2, ; + Caption = "Cod material", ; + FontName = "Arial", ; + FontSize = 10, ; + Name = "Header1" + *< END OBJECT: BaseClass="header" /> + + ADD OBJECT 'pgfArticole.PAGE2.grdRulajeObinv.cCodmat.Text1' AS textbox WITH ; + BackColor = 225,225,225, ; + BorderStyle = 0, ; + FontName = "Arial", ; + FontSize = 10, ; + ForeColor = 0,0,0, ; + Margin = 0, ; + Name = "Text1", ; + ReadOnly = .T., ; + SelectedBackColor = 100,185,255 + *< END OBJECT: BaseClass="textbox" /> + + ADD OBJECT 'pgfArticole.PAGE2.grdRulajeObinv.cCodmatF.Header1' AS header WITH ; + Alignment = 2, ; + Caption = "Cod furnizor", ; + FontName = "Arial", ; + FontSize = 10, ; + Name = "Header1" + *< END OBJECT: BaseClass="header" /> + + ADD OBJECT 'pgfArticole.PAGE2.grdRulajeObinv.cCodmatF.Text1' AS textbox WITH ; + BackColor = 225,225,225, ; + BorderStyle = 0, ; + FontName = "Arial", ; + FontSize = 10, ; + ForeColor = 0,0,0, ; + Margin = 0, ; + Name = "Text1", ; + ReadOnly = .T., ; + SelectedBackColor = 100,185,255 + *< END OBJECT: BaseClass="textbox" /> + + ADD OBJECT 'pgfArticole.PAGE2.grdRulajeObinv.cCont.Header1' AS header WITH ; + Alignment = 2, ; + Caption = "Cont", ; + FontName = "Arial", ; + FontSize = 10, ; + Name = "Header1" + *< END OBJECT: BaseClass="header" /> + + ADD OBJECT 'pgfArticole.PAGE2.grdRulajeObinv.cCont.Text1' AS textbox WITH ; + BackColor = 255,255,255, ; + BorderStyle = 0, ; + FontName = "Arial", ; + FontSize = 10, ; + ForeColor = 0,0,0, ; + Margin = 0, ; + Name = "Text1", ; + ReadOnly = .F., ; + SelectedBackColor = 100,185,255 + *< END OBJECT: BaseClass="textbox" /> + + ADD OBJECT 'pgfArticole.PAGE2.grdRulajeObinv.cCurs.Header1' AS header WITH ; + Alignment = 2, ; + Caption = "Curs valutar", ; + FontName = "Arial", ; + FontSize = 10, ; + Name = "Header1", ; + WordWrap = .T. + *< END OBJECT: BaseClass="header" /> + + ADD OBJECT 'pgfArticole.PAGE2.grdRulajeObinv.cCurs.Text1' AS textbox WITH ; + BackColor = 255,255,255, ; + BorderStyle = 0, ; + FontName = "Arial", ; + FontSize = 10, ; + ForeColor = 0,0,0, ; + Margin = 0, ; + Name = "Text1", ; + ReadOnly = .F., ; + SelectedBackColor = 100,185,255 + *< END OBJECT: BaseClass="textbox" /> + + ADD OBJECT 'pgfArticole.PAGE2.grdRulajeObinv.cDataact.Header1' AS header WITH ; + Alignment = 2, ; + Caption = "Data act", ; + FontName = "Arial", ; + FontSize = 10, ; + Name = "Header1" + *< END OBJECT: BaseClass="header" /> + + ADD OBJECT 'pgfArticole.PAGE2.grdRulajeObinv.cDataact.Text1' AS textbox WITH ; + BackColor = 255,255,255, ; + BorderStyle = 0, ; + FontName = "Arial", ; + FontSize = 10, ; + ForeColor = 0,0,0, ; + Margin = 0, ; + Name = "Text1", ; + ReadOnly = .F., ; + SelectedBackColor = 100,185,255 + *< END OBJECT: BaseClass="textbox" /> + + ADD OBJECT 'pgfArticole.PAGE2.grdRulajeObinv.cDataExpirare.Header1' AS header WITH ; + Alignment = 2, ; + Caption = "Data expirare", ; + FontName = "Arial", ; + FontSize = 10, ; + Name = "Header1" + *< END OBJECT: BaseClass="header" /> + + ADD OBJECT 'pgfArticole.PAGE2.grdRulajeObinv.cDataExpirare.Text1' AS textbox WITH ; + BackColor = 255,255,255, ; + BorderStyle = 0, ; + FontName = "Arial", ; + FontSize = 10, ; + ForeColor = 0,0,0, ; + Margin = 0, ; + Name = "Text1", ; + ReadOnly = .F., ; + SelectedBackColor = 100,185,255 + *< END OBJECT: BaseClass="textbox" /> + + ADD OBJECT 'pgfArticole.PAGE2.grdRulajeObinv.cDatain.Header1' AS header WITH ; + Alignment = 2, ; + Caption = "Data intrare", ; + FontName = "Arial", ; + FontSize = 10, ; + Name = "Header1" + *< END OBJECT: BaseClass="header" /> + + ADD OBJECT 'pgfArticole.PAGE2.grdRulajeObinv.cDatain.Text1' AS textbox WITH ; + BackColor = 255,255,255, ; + BorderStyle = 0, ; + FontName = "Arial", ; + FontSize = 10, ; + ForeColor = 0,0,0, ; + Margin = 0, ; + Name = "Text1", ; + ReadOnly = .F., ; + SelectedBackColor = 100,185,255 + *< END OBJECT: BaseClass="textbox" /> + + ADD OBJECT 'pgfArticole.PAGE2.grdRulajeObinv.cDataora.Header1' AS header WITH ; + Alignment = 2, ; + Caption = "Dataora introducerii", ; + FontName = "Arial", ; + FontSize = 10, ; + Name = "Header1" + *< END OBJECT: BaseClass="header" /> + + ADD OBJECT 'pgfArticole.PAGE2.grdRulajeObinv.cDataora.Text1' AS textbox WITH ; + BackColor = 225,225,225, ; + BorderStyle = 0, ; + FontName = "Arial", ; + FontSize = 10, ; + ForeColor = 0,0,0, ; + Margin = 0, ; + Name = "Text1", ; + ReadOnly = .T., ; + SelectedBackColor = 100,185,255 + *< END OBJECT: BaseClass="textbox" /> + + ADD OBJECT 'pgfArticole.PAGE2.grdRulajeObinv.cDataoras.Header1' AS header WITH ; + Alignment = 2, ; + Caption = "Data / ora stergerii", ; + FontName = "Arial", ; + FontSize = 10, ; + Name = "Header1" + *< END OBJECT: BaseClass="header" /> + + ADD OBJECT 'pgfArticole.PAGE2.grdRulajeObinv.cDataoras.Text1' AS textbox WITH ; + BackColor = 225,225,225, ; + BorderStyle = 0, ; + FontName = "Arial", ; + FontSize = 10, ; + ForeColor = 0,0,0, ; + Margin = 0, ; + Name = "Text1", ; + ReadOnly = .T., ; + SelectedBackColor = 100,185,255 + *< END OBJECT: BaseClass="textbox" /> + + ADD OBJECT 'pgfArticole.PAGE2.grdRulajeObinv.cDataOut.Header1' AS header WITH ; + Alignment = 2, ; + Caption = "Data iesire", ; + FontName = "Arial", ; + FontSize = 10, ; + Name = "Header1" + *< END OBJECT: BaseClass="header" /> + + ADD OBJECT 'pgfArticole.PAGE2.grdRulajeObinv.cDataOut.Text1' AS textbox WITH ; + BackColor = 255,255,255, ; + BorderStyle = 0, ; + FontName = "Arial", ; + FontSize = 10, ; + ForeColor = 0,0,0, ; + Margin = 0, ; + Name = "Text1", ; + ReadOnly = .F., ; + SelectedBackColor = 100,185,255 + *< END OBJECT: BaseClass="textbox" /> + + ADD OBJECT 'pgfArticole.PAGE2.grdRulajeObinv.cDenumire.Header1' AS header WITH ; + Alignment = 2, ; + Caption = "Denumire", ; + FontName = "Arial", ; + FontSize = 10, ; + Name = "Header1" + *< END OBJECT: BaseClass="header" /> + + ADD OBJECT 'pgfArticole.PAGE2.grdRulajeObinv.cDenumire.Text1' AS textbox WITH ; + BackColor = 160,255,205, ; + BorderStyle = 0, ; + FontName = "Arial", ; + FontSize = 10, ; + ForeColor = 0,0,0, ; + Margin = 0, ; + Name = "Text1", ; + ReadOnly = .F., ; + SelectedBackColor = 100,185,255 + *< END OBJECT: BaseClass="textbox" /> + + ADD OBJECT 'pgfArticole.PAGE2.grdRulajeObinv.cDiscunitar.Header1' AS header WITH ; + Alignment = 2, ; + Caption = "Discount unitar", ; + FontName = "Arial", ; + FontSize = 10, ; + Name = "Header1", ; + WordWrap = .T. + *< END OBJECT: BaseClass="header" /> + + ADD OBJECT 'pgfArticole.PAGE2.grdRulajeObinv.cDiscunitar.Text1' AS textbox WITH ; + BackColor = 255,255,255, ; + BorderStyle = 0, ; + FontName = "Arial", ; + FontSize = 10, ; + ForeColor = 0,0,0, ; + Margin = 0, ; + Name = "Text1", ; + ReadOnly = .F., ; + SelectedBackColor = 100,185,255 + *< END OBJECT: BaseClass="textbox" /> + + ADD OBJECT 'pgfArticole.PAGE2.grdRulajeObinv.cDiscunitar_tva.Header1' AS header WITH ; + Alignment = 2, ; + Caption = "TVA discount unitar", ; + FontName = "Arial", ; + FontSize = 10, ; + Name = "Header1", ; + WordWrap = .T. + *< END OBJECT: BaseClass="header" /> + + ADD OBJECT 'pgfArticole.PAGE2.grdRulajeObinv.cDiscunitar_tva.Text1' AS textbox WITH ; + BackColor = 255,255,255, ; + BorderStyle = 0, ; + FontName = "Arial", ; + FontSize = 10, ; + ForeColor = 0,0,0, ; + Margin = 0, ; + Name = "Text1", ; + ReadOnly = .F., ; + SelectedBackColor = 100,185,255 + *< END OBJECT: BaseClass="textbox" /> + + ADD OBJECT 'pgfArticole.PAGE2.grdRulajeObinv.cGest.Header1' AS header WITH ; + Alignment = 2, ; + Caption = "Gestiunea", ; + FontName = "Arial", ; + FontSize = 10, ; + Name = "Header1" + *< END OBJECT: BaseClass="header" /> + + ADD OBJECT 'pgfArticole.PAGE2.grdRulajeObinv.cGest.Text1' AS textbox WITH ; + BackColor = 160,255,205, ; + BorderStyle = 0, ; + FontName = "Arial", ; + FontSize = 10, ; + ForeColor = 0,0,0, ; + Margin = 0, ; + Name = "Text1", ; + ReadOnly = .F., ; + SelectedBackColor = 100,185,255 + *< END OBJECT: BaseClass="textbox" /> + + ADD OBJECT 'pgfArticole.PAGE2.grdRulajeObinv.cGestC.Header1' AS header WITH ; + Alignment = 2, ; + Caption = "Gestiune C", ; + FontName = "Arial", ; + FontSize = 10, ; + Name = "Header1" + *< END OBJECT: BaseClass="header" /> + + ADD OBJECT 'pgfArticole.PAGE2.grdRulajeObinv.cGestC.Text1' AS textbox WITH ; + BackColor = 160,255,205, ; + BorderStyle = 0, ; + FontName = "Arial", ; + FontSize = 10, ; + ForeColor = 0,0,0, ; + Margin = 0, ; + Name = "Text1", ; + ReadOnly = .F., ; + SelectedBackColor = 100,185,255 + *< END OBJECT: BaseClass="textbox" /> + + ADD OBJECT 'pgfArticole.PAGE2.grdRulajeObinv.cGrupa.Header1' AS header WITH ; + Alignment = 2, ; + Caption = "Grupa", ; + FontName = "Arial", ; + FontSize = 10, ; + Name = "Header1" + *< END OBJECT: BaseClass="header" /> + + ADD OBJECT 'pgfArticole.PAGE2.grdRulajeObinv.cGrupa.Text1' AS textbox WITH ; + BackColor = 225,225,225, ; + BorderStyle = 0, ; + FontName = "Arial", ; + FontSize = 10, ; + ForeColor = 0,0,0, ; + Margin = 0, ; + Name = "Text1", ; + ReadOnly = .T., ; + SelectedBackColor = 100,185,255 + *< END OBJECT: BaseClass="textbox" /> + + ADD OBJECT 'pgfArticole.PAGE2.grdRulajeObinv.cLot.Header1' AS header WITH ; + Alignment = 2, ; + Caption = "Lot", ; + FontName = "Arial", ; + FontSize = 10, ; + Name = "Header1" + *< END OBJECT: BaseClass="header" /> + + ADD OBJECT 'pgfArticole.PAGE2.grdRulajeObinv.cLot.Text1' AS textbox WITH ; + BackColor = 255,255,255, ; + BorderStyle = 0, ; + FontName = "Arial", ; + FontSize = 10, ; + ForeColor = 0,0,0, ; + Margin = 0, ; + Name = "Text1", ; + ReadOnly = .F., ; + SelectedBackColor = 100,185,255 + *< END OBJECT: BaseClass="textbox" /> + + ADD OBJECT 'pgfArticole.PAGE2.grdRulajeObinv.cNnir.Header1' AS header WITH ; + Alignment = 2, ; + Caption = "Nr. NIR/Bon", ; + FontName = "Arial", ; + FontSize = 10, ; + Name = "Header1", ; + WordWrap = .T. + *< END OBJECT: BaseClass="header" /> + + ADD OBJECT 'pgfArticole.PAGE2.grdRulajeObinv.cNnir.Text1' AS textbox WITH ; + BackColor = 255,255,255, ; + BorderStyle = 0, ; + FontName = "Arial", ; + FontSize = 10, ; + ForeColor = 0,0,0, ; + Margin = 0, ; + Name = "Text1", ; + ReadOnly = .F., ; + SelectedBackColor = 100,185,255 + *< END OBJECT: BaseClass="textbox" /> + + ADD OBJECT 'pgfArticole.PAGE2.grdRulajeObinv.cNract.Header1' AS header WITH ; + Alignment = 2, ; + Caption = "Nr.act", ; + FontName = "Arial", ; + FontSize = 10, ; + Name = "Header1" + *< END OBJECT: BaseClass="header" /> + + ADD OBJECT 'pgfArticole.PAGE2.grdRulajeObinv.cNract.Text1' AS textbox WITH ; + BackColor = 255,255,255, ; + BorderStyle = 0, ; + FontName = "Arial", ; + FontSize = 10, ; + ForeColor = 0,0,0, ; + Margin = 0, ; + Name = "Text1", ; + ReadOnly = .F., ; + SelectedBackColor = 100,185,255 + *< END OBJECT: BaseClass="textbox" /> + + ADD OBJECT 'pgfArticole.PAGE2.grdRulajeObinv.cNrCrt.Header1' AS header WITH ; + Alignment = 2, ; + Caption = "Nr.crt.", ; + FontName = "Arial", ; + FontSize = 10, ; + Name = "Header1" + *< END OBJECT: BaseClass="header" /> + + ADD OBJECT 'pgfArticole.PAGE2.grdRulajeObinv.cNrCrt.Text1' AS textbox WITH ; + BackColor = 255,255,255, ; + BorderStyle = 0, ; + FontName = "Arial", ; + FontSize = 10, ; + ForeColor = 0,0,0, ; + Margin = 0, ; + Name = "Text1", ; + ReadOnly = .T., ; + SelectedBackColor = 100,185,255 + *< END OBJECT: BaseClass="textbox" /> + + ADD OBJECT 'pgfArticole.PAGE2.grdRulajeObinv.cNresp.Header1' AS header WITH ; + Alignment = 2, ; + Caption = "Responsabil", ; + FontName = "Arial", ; + FontSize = 10, ; + Name = "Header1" + *< END OBJECT: BaseClass="header" /> + + ADD OBJECT 'pgfArticole.PAGE2.grdRulajeObinv.cNresp.Text1' AS textbox WITH ; + BackColor = 160,255,205, ; + BorderStyle = 0, ; + FontName = "Arial", ; + FontSize = 10, ; + ForeColor = 0,0,0, ; + Margin = 0, ; + Name = "Text1", ; + ReadOnly = .F., ; + SelectedBackColor = 100,185,255 + *< END OBJECT: BaseClass="textbox" /> + + ADD OBJECT 'pgfArticole.PAGE2.grdRulajeObinv.cNrespC.Header1' AS header WITH ; + Alignment = 2, ; + Caption = "Responsabil C", ; + FontName = "Arial", ; + FontSize = 10, ; + Name = "Header1" + *< END OBJECT: BaseClass="header" /> + + ADD OBJECT 'pgfArticole.PAGE2.grdRulajeObinv.cNrespC.Text1' AS textbox WITH ; + BackColor = 160,255,205, ; + BorderStyle = 0, ; + FontName = "Arial", ; + FontSize = 10, ; + ForeColor = 0,0,0, ; + Margin = 0, ; + Name = "Text1", ; + ReadOnly = .F., ; + SelectedBackColor = 100,185,255 + *< END OBJECT: BaseClass="textbox" /> + + ADD OBJECT 'pgfArticole.PAGE2.grdRulajeObinv.cNrord.Header1' AS header WITH ; + Alignment = 2, ; + Caption = "Lucrare/Comanda", ; + FontName = "Arial", ; + FontSize = 10, ; + Name = "Header1" + *< END OBJECT: BaseClass="header" /> + + ADD OBJECT 'pgfArticole.PAGE2.grdRulajeObinv.cNrord.Text1' AS textbox WITH ; + BackColor = 160,255,205, ; + BorderStyle = 0, ; + FontName = "Arial", ; + FontSize = 10, ; + ForeColor = 0,0,0, ; + Margin = 0, ; + Name = "Text1", ; + ReadOnly = .F., ; + SelectedBackColor = 100,185,255 + *< END OBJECT: BaseClass="textbox" /> + + ADD OBJECT 'pgfArticole.PAGE2.grdRulajeObinv.cNrord_rez.Header1' AS header WITH ; + Alignment = 2, ; + Caption = "Lucrare rez.", ; + FontName = "Arial", ; + FontSize = 10, ; + Name = "Header1" + *< END OBJECT: BaseClass="header" /> + + ADD OBJECT 'pgfArticole.PAGE2.grdRulajeObinv.cNrord_rez.Text1' AS textbox WITH ; + BackColor = 160,255,205, ; + BorderStyle = 0, ; + FontName = "Arial", ; + FontSize = 10, ; + ForeColor = 0,0,0, ; + Margin = 0, ; + Name = "Text1", ; + ReadOnly = .F., ; + SelectedBackColor = 100,185,255 + *< END OBJECT: BaseClass="textbox" /> + + ADD OBJECT 'pgfArticole.PAGE2.grdRulajeObinv.cNume_val.Header1' AS header WITH ; + Alignment = 2, ; + Caption = "Valuta", ; + FontName = "Arial", ; + FontSize = 10, ; + Name = "Header1" + *< END OBJECT: BaseClass="header" /> + + ADD OBJECT 'pgfArticole.PAGE2.grdRulajeObinv.cNume_val.Text1' AS textbox WITH ; + BackColor = 160,255,205, ; + BorderStyle = 0, ; + FontName = "Arial", ; + FontSize = 10, ; + ForeColor = 0,0,0, ; + Margin = 0, ; + Name = "Text1", ; + ReadOnly = .F., ; + SelectedBackColor = 100,185,255 + *< END OBJECT: BaseClass="textbox" /> + + ADD OBJECT 'pgfArticole.PAGE2.grdRulajeObinv.Column34.Header1' AS header WITH ; + Alignment = 2, ; + Caption = "Cant 2", ; + FontName = "Arial", ; + FontSize = 10, ; + Name = "Header1" + *< END OBJECT: BaseClass="header" /> + + ADD OBJECT 'pgfArticole.PAGE2.grdRulajeObinv.Column34.Text1' AS textbox WITH ; + BackColor = 225,225,225, ; + BorderStyle = 0, ; + FontName = "Arial", ; + FontSize = 10, ; + ForeColor = 0,0,0, ; + Margin = 0, ; + Name = "Text1", ; + ReadOnly = .F., ; + SelectedBackColor = 100,185,255 + *< END OBJECT: BaseClass="textbox" /> + + ADD OBJECT 'pgfArticole.PAGE2.grdRulajeObinv.Column35.Header1' AS header WITH ; + Alignment = 2, ; + Caption = "UM 2", ; + FontName = "Arial", ; + FontSize = 10, ; + Name = "Header1" + *< END OBJECT: BaseClass="header" /> + + ADD OBJECT 'pgfArticole.PAGE2.grdRulajeObinv.Column35.Text1' AS textbox WITH ; + BackColor = 225,225,225, ; + BorderStyle = 0, ; + FontName = "Arial", ; + FontSize = 10, ; + ForeColor = 0,0,0, ; + Margin = 0, ; + Name = "Text1", ; + ReadOnly = .T., ; + SelectedBackColor = 100,185,255 + *< END OBJECT: BaseClass="textbox" /> + + ADD OBJECT 'pgfArticole.PAGE2.grdRulajeObinv.cPart_rez.Header1' AS header WITH ; + Alignment = 2, ; + Caption = "Part. rez.", ; + FontName = "Arial", ; + FontSize = 10, ; + Name = "Header1" + *< END OBJECT: BaseClass="header" /> + + ADD OBJECT 'pgfArticole.PAGE2.grdRulajeObinv.cPart_rez.Text1' AS textbox WITH ; + BackColor = 160,255,205, ; + BorderStyle = 0, ; + FontName = "Arial", ; + FontSize = 10, ; + ForeColor = 0,0,0, ; + Margin = 0, ; + Name = "Text1", ; + ReadOnly = .F., ; + SelectedBackColor = 100,185,255 + *< END OBJECT: BaseClass="textbox" /> + + ADD OBJECT 'pgfArticole.PAGE2.grdRulajeObinv.cPret.Header1' AS header WITH ; + Alignment = 2, ; + Caption = "Pret", ; + FontName = "Arial", ; + FontSize = 10, ; + Name = "Header1" + *< END OBJECT: BaseClass="header" /> + + ADD OBJECT 'pgfArticole.PAGE2.grdRulajeObinv.cPret.Text1' AS textbox WITH ; + BackColor = 255,255,255, ; + BorderStyle = 0, ; + FontName = "Arial", ; + FontSize = 10, ; + ForeColor = 0,0,0, ; + Margin = 0, ; + Name = "Text1", ; + ReadOnly = .F., ; + SelectedBackColor = 100,185,255 + *< END OBJECT: BaseClass="textbox" /> + + ADD OBJECT 'pgfArticole.PAGE2.grdRulajeObinv.cPretd.Header1' AS header WITH ; + Alignment = 2, ; + Caption = "Pret in valuta", ; + FontName = "Arial", ; + FontSize = 10, ; + Name = "Header1", ; + WordWrap = .T. + *< END OBJECT: BaseClass="header" /> + + ADD OBJECT 'pgfArticole.PAGE2.grdRulajeObinv.cPretd.Text1' AS textbox WITH ; + BackColor = 255,255,255, ; + BorderStyle = 0, ; + FontName = "Arial", ; + FontSize = 10, ; + ForeColor = 0,0,0, ; + Margin = 0, ; + Name = "Text1", ; + ReadOnly = .F., ; + SelectedBackColor = 100,185,255 + *< END OBJECT: BaseClass="textbox" /> + + ADD OBJECT 'pgfArticole.PAGE2.grdRulajeObinv.cPretv.Header1' AS header WITH ; + Alignment = 2, ; + Caption = "Pret vanzare", ; + FontName = "Arial", ; + FontSize = 10, ; + Name = "Header1", ; + WordWrap = .T. + *< END OBJECT: BaseClass="header" /> + + ADD OBJECT 'pgfArticole.PAGE2.grdRulajeObinv.cPretv.Text1' AS textbox WITH ; + BackColor = 255,255,255, ; + BorderStyle = 0, ; + FontName = "Arial", ; + FontSize = 10, ; + ForeColor = 0,0,0, ; + Margin = 0, ; + Name = "Text1", ; + ReadOnly = .F., ; + SelectedBackColor = 100,185,255 + *< END OBJECT: BaseClass="textbox" /> + + ADD OBJECT 'pgfArticole.PAGE2.grdRulajeObinv.cPretvtva.Header1' AS header WITH ; + Alignment = 2, ; + Caption = "Pret vanzare cu TVA", ; + FontName = "Arial", ; + FontSize = 10, ; + Name = "Header1", ; + WordWrap = .T. + *< END OBJECT: BaseClass="header" /> + + ADD OBJECT 'pgfArticole.PAGE2.grdRulajeObinv.cPretvtva.Text1' AS textbox WITH ; + BackColor = 255,255,255, ; + BorderStyle = 0, ; + FontName = "Arial", ; + FontSize = 10, ; + ForeColor = 0,0,0, ; + Margin = 0, ; + Name = "Text1", ; + ReadOnly = .F., ; + SelectedBackColor = 100,185,255 + *< END OBJECT: BaseClass="textbox" /> + + ADD OBJECT 'pgfArticole.PAGE2.grdRulajeObinv.cProc_disc.Header1' AS header WITH ; + Alignment = 2, ; + Caption = "Procent discount", ; + FontName = "Arial", ; + FontSize = 10, ; + Name = "Header1", ; + WordWrap = .T. + *< END OBJECT: BaseClass="header" /> + + ADD OBJECT 'pgfArticole.PAGE2.grdRulajeObinv.cProc_disc.Text1' AS textbox WITH ; + BackColor = 225,225,225, ; + BorderStyle = 0, ; + FontName = "Arial", ; + FontSize = 10, ; + ForeColor = 0,0,0, ; + Margin = 0, ; + Name = "Text1", ; + ReadOnly = .T., ; + SelectedBackColor = 100,185,255 + *< END OBJECT: BaseClass="textbox" /> + + ADD OBJECT 'pgfArticole.PAGE2.grdRulajeObinv.cProc_tva.Header1' AS header WITH ; + Alignment = 2, ; + Caption = "Cota TVA", ; + FontName = "Arial", ; + FontSize = 10, ; + Name = "Header1" + *< END OBJECT: BaseClass="header" /> + + ADD OBJECT 'pgfArticole.PAGE2.grdRulajeObinv.cProc_tva.Text1' AS textbox WITH ; + BackColor = 255,255,255, ; + BorderStyle = 0, ; + FontName = "Arial", ; + FontSize = 10, ; + ForeColor = 0,0,0, ; + Margin = 0, ; + Name = "Text1", ; + ReadOnly = .F., ; + SelectedBackColor = 100,185,255 + *< END OBJECT: BaseClass="textbox" /> + + ADD OBJECT 'pgfArticole.PAGE2.grdRulajeObinv.cProc_tvav.Header1' AS header WITH ; + Alignment = 2, ; + Caption = "Proc. TVA vanzare", ; + FontName = "Arial", ; + FontSize = 10, ; + Name = "Header1", ; + WordWrap = .T. + *< END OBJECT: BaseClass="header" /> + + ADD OBJECT 'pgfArticole.PAGE2.grdRulajeObinv.cProc_tvav.Text1' AS textbox WITH ; + BackColor = 255,255,255, ; + BorderStyle = 0, ; + FontName = "Arial", ; + FontSize = 10, ; + ForeColor = 0,0,0, ; + Margin = 0, ; + Name = "Text1", ; + ReadOnly = .F., ; + SelectedBackColor = 100,185,255 + *< END OBJECT: BaseClass="textbox" /> + + ADD OBJECT 'pgfArticole.PAGE2.grdRulajeObinv.cProcent.Header1' AS header WITH ; + Alignment = 2, ; + Caption = "Procent adaos", ; + FontName = "Arial", ; + FontSize = 10, ; + Name = "Header1", ; + WordWrap = .T. + *< END OBJECT: BaseClass="header" /> + + ADD OBJECT 'pgfArticole.PAGE2.grdRulajeObinv.cProcent.Text1' AS textbox WITH ; + BackColor = 225,225,225, ; + BorderStyle = 0, ; + FontName = "Arial", ; + FontSize = 10, ; + ForeColor = 0,0,0, ; + Margin = 0, ; + Name = "Text1", ; + ReadOnly = .T., ; + SelectedBackColor = 100,185,255 + *< END OBJECT: BaseClass="textbox" /> + + ADD OBJECT 'pgfArticole.PAGE2.grdRulajeObinv.cSectie.Header1' AS header WITH ; + Alignment = 2, ; + Caption = "Sectie", ; + FontName = "Arial", ; + FontSize = 10, ; + Name = "Header1" + *< END OBJECT: BaseClass="header" /> + + ADD OBJECT 'pgfArticole.PAGE2.grdRulajeObinv.cSectie.Text1' AS textbox WITH ; + BackColor = 160,255,205, ; + BorderStyle = 0, ; + FontName = "Arial", ; + FontSize = 10, ; + ForeColor = 0,0,0, ; + Margin = 0, ; + Name = "Text1", ; + ReadOnly = .F., ; + SelectedBackColor = 100,185,255 + *< END OBJECT: BaseClass="textbox" /> + + ADD OBJECT 'pgfArticole.PAGE2.grdRulajeObinv.cSerie.Header1' AS header WITH ; + Alignment = 2, ; + Caption = "Serie", ; + FontName = "Arial", ; + FontSize = 10, ; + Name = "Header1" + *< END OBJECT: BaseClass="header" /> + + ADD OBJECT 'pgfArticole.PAGE2.grdRulajeObinv.cSerie.Text1' AS textbox WITH ; + BackColor = 255,255,255, ; + BorderStyle = 0, ; + FontName = "Arial", ; + FontSize = 10, ; + ForeColor = 0,0,0, ; + Margin = 0, ; + Name = "Text1", ; + ReadOnly = .F., ; + SelectedBackColor = 100,185,255 + *< END OBJECT: BaseClass="textbox" /> + + ADD OBJECT 'pgfArticole.PAGE2.grdRulajeObinv.cSerie_act.Header1' AS header WITH ; + Alignment = 2, ; + Caption = "Serie act", ; + FontName = "Arial", ; + FontSize = 10, ; + Name = "Header1", ; + WordWrap = .T. + *< END OBJECT: BaseClass="header" /> + + ADD OBJECT 'pgfArticole.PAGE2.grdRulajeObinv.cSerie_act.Text1' AS textbox WITH ; + BackColor = 255,255,255, ; + BorderStyle = 0, ; + FontName = "Arial", ; + FontSize = 10, ; + ForeColor = 0,0,0, ; + Margin = 0, ; + Name = "Text1", ; + ReadOnly = .F., ; + SelectedBackColor = 100,185,255 + *< END OBJECT: BaseClass="textbox" /> + + ADD OBJECT 'pgfArticole.PAGE2.grdRulajeObinv.cSubgrupa.Header1' AS header WITH ; + Alignment = 2, ; + Caption = "Subgrupa", ; + FontName = "Arial", ; + FontSize = 10, ; + Name = "Header1" + *< END OBJECT: BaseClass="header" /> + + ADD OBJECT 'pgfArticole.PAGE2.grdRulajeObinv.cSubgrupa.Text1' AS textbox WITH ; + BackColor = 225,225,225, ; + BorderStyle = 0, ; + FontName = "Arial", ; + FontSize = 10, ; + ForeColor = 0,0,0, ; + Margin = 0, ; + Name = "Text1", ; + ReadOnly = .T., ; + SelectedBackColor = 100,185,255 + *< END OBJECT: BaseClass="textbox" /> + + ADD OBJECT 'pgfArticole.PAGE2.grdRulajeObinv.cSucursala.Header1' AS header WITH ; + Alignment = 2, ; + Caption = "Sucursala", ; + FontName = "Arial", ; + FontSize = 10, ; + Name = "Header1" + *< END OBJECT: BaseClass="header" /> + + ADD OBJECT 'pgfArticole.PAGE2.grdRulajeObinv.cSucursala.Text1' AS textbox WITH ; + BackColor = 225,225,225, ; + BorderStyle = 0, ; + FontName = "Arial", ; + FontSize = 10, ; + ForeColor = 0,0,0, ; + Margin = 0, ; + Name = "Text1", ; + ReadOnly = .T., ; + SelectedBackColor = 100,185,255 + *< END OBJECT: BaseClass="textbox" /> + + ADD OBJECT 'pgfArticole.PAGE2.grdRulajeObinv.cTipRulaj.Header1' AS header WITH ; + Alignment = 2, ; + Caption = "Tip rulaj", ; + FontName = "Arial", ; + FontSize = 10, ; + Name = "Header1" + *< END OBJECT: BaseClass="header" /> + + ADD OBJECT 'pgfArticole.PAGE2.grdRulajeObinv.cTipRulaj.Text1' AS textbox WITH ; + BackColor = 225,225,225, ; + BorderStyle = 0, ; + FontName = "Arial", ; + FontSize = 10, ; + ForeColor = 0,0,0, ; + Margin = 0, ; + Name = "Text1", ; + ReadOnly = .T., ; + SelectedBackColor = 100,185,255 + *< END OBJECT: BaseClass="textbox" /> + + ADD OBJECT 'pgfArticole.PAGE2.grdRulajeObinv.cTva.Header1' AS header WITH ; + Alignment = 2, ; + Caption = "TVA achizitie", ; + FontName = "Arial", ; + FontSize = 10, ; + Name = "Header1", ; + WordWrap = .T. + *< END OBJECT: BaseClass="header" /> + + ADD OBJECT 'pgfArticole.PAGE2.grdRulajeObinv.cTva.Text1' AS textbox WITH ; + BackColor = 255,255,255, ; + BorderStyle = 0, ; + FontName = "Arial", ; + FontSize = 10, ; + ForeColor = 0,0,0, ; + Margin = 0, ; + Name = "Text1", ; + ReadOnly = .F., ; + SelectedBackColor = 100,185,255 + *< END OBJECT: BaseClass="textbox" /> + + ADD OBJECT 'pgfArticole.PAGE2.grdRulajeObinv.cTvav.Header1' AS header WITH ; + Alignment = 2, ; + Caption = "TVA vanzare", ; + FontName = "Arial", ; + FontSize = 10, ; + Name = "Header1", ; + WordWrap = .T. + *< END OBJECT: BaseClass="header" /> + + ADD OBJECT 'pgfArticole.PAGE2.grdRulajeObinv.cTvav.Text1' AS textbox WITH ; + BackColor = 255,255,255, ; + BorderStyle = 0, ; + FontName = "Arial", ; + FontSize = 10, ; + ForeColor = 0,0,0, ; + Margin = 0, ; + Name = "Text1", ; + ReadOnly = .F., ; + SelectedBackColor = 100,185,255 + *< END OBJECT: BaseClass="textbox" /> + + ADD OBJECT 'pgfArticole.PAGE2.grdRulajeObinv.cUM.Header1' AS header WITH ; + Alignment = 2, ; + Caption = "UM", ; + FontName = "Arial", ; + FontSize = 10, ; + Name = "Header1" + *< END OBJECT: BaseClass="header" /> + + ADD OBJECT 'pgfArticole.PAGE2.grdRulajeObinv.cUM.Text1' AS textbox WITH ; + BackColor = 225,225,225, ; + BorderStyle = 0, ; + FontName = "Arial", ; + FontSize = 10, ; + ForeColor = 0,0,0, ; + Margin = 0, ; + Name = "Text1", ; + ReadOnly = .T., ; + SelectedBackColor = 100,185,255 + *< END OBJECT: BaseClass="textbox" /> + + ADD OBJECT 'pgfArticole.PAGE2.grdRulajeObinv.cUtil.Header1' AS header WITH ; + Alignment = 2, ; + Caption = "Operator introducere", ; + FontName = "Arial", ; + FontSize = 10, ; + Name = "Header1" + *< END OBJECT: BaseClass="header" /> + + ADD OBJECT 'pgfArticole.PAGE2.grdRulajeObinv.cUtil.Text1' AS textbox WITH ; + BackColor = 225,225,225, ; + BorderStyle = 0, ; + FontName = "Arial", ; + FontSize = 10, ; + ForeColor = 0,0,0, ; + Margin = 0, ; + Name = "Text1", ; + ReadOnly = .T., ; + SelectedBackColor = 100,185,255 + *< END OBJECT: BaseClass="textbox" /> + + ADD OBJECT 'pgfArticole.PAGE2.grdRulajeObinv.cUtils.Header1' AS header WITH ; + Alignment = 2, ; + Caption = "Utilizator stergere", ; + FontName = "Arial", ; + FontSize = 10, ; + Name = "Header1" + *< END OBJECT: BaseClass="header" /> + + ADD OBJECT 'pgfArticole.PAGE2.grdRulajeObinv.cUtils.Text1' AS textbox WITH ; + BackColor = 225,225,225, ; + BorderStyle = 0, ; + FontName = "Arial", ; + FontSize = 10, ; + ForeColor = 0,0,0, ; + Margin = 0, ; + Name = "Text1", ; + ReadOnly = .T., ; + SelectedBackColor = 100,185,255 + *< END OBJECT: BaseClass="textbox" /> + + ADD OBJECT 'pgfArticole.PAGE2.grdRulajeObinv.cValoare_adaosftva.Header1' AS header WITH ; + Alignment = 2, ; + Caption = "Valoare adaos fara TVA", ; + FontName = "Arial", ; + FontSize = 10, ; + Name = "Header1", ; + WordWrap = .T. + *< END OBJECT: BaseClass="header" /> + + ADD OBJECT 'pgfArticole.PAGE2.grdRulajeObinv.cValoare_adaosftva.Text1' AS textbox WITH ; + BackColor = 225,225,225, ; + BorderStyle = 0, ; + FontName = "Arial", ; + FontSize = 10, ; + ForeColor = 0,0,0, ; + Margin = 0, ; + Name = "Text1", ; + ReadOnly = .T., ; + SelectedBackColor = 100,185,255 + *< END OBJECT: BaseClass="textbox" /> + + ADD OBJECT 'pgfArticole.PAGE2.grdRulajeObinv.cvaloare_adaostva.Header1' AS header WITH ; + Alignment = 2, ; + Caption = "Valoare TVA adaos", ; + FontName = "Arial", ; + FontSize = 10, ; + Name = "Header1", ; + WordWrap = .T. + *< END OBJECT: BaseClass="header" /> + + ADD OBJECT 'pgfArticole.PAGE2.grdRulajeObinv.cvaloare_adaostva.Text1' AS textbox WITH ; + BackColor = 225,225,225, ; + BorderStyle = 0, ; + FontName = "Arial", ; + FontSize = 10, ; + ForeColor = 0,0,0, ; + Margin = 0, ; + Name = "Text1", ; + ReadOnly = .T., ; + SelectedBackColor = 100,185,255 + *< END OBJECT: BaseClass="textbox" /> + + ADD OBJECT 'pgfArticole.PAGE2.grdRulajeObinv.cvaloarecTVA.Header1' AS header WITH ; + Alignment = 2, ; + Caption = "Valoare achizitie cu TVA", ; + FontName = "Arial", ; + FontSize = 10, ; + Name = "Header1", ; + WordWrap = .T. + *< END OBJECT: BaseClass="header" /> + + ADD OBJECT 'pgfArticole.PAGE2.grdRulajeObinv.cvaloarecTVA.Text1' AS textbox WITH ; + BackColor = 225,225,225, ; + BorderStyle = 0, ; + FontName = "Arial", ; + FontSize = 10, ; + ForeColor = 0,0,0, ; + Margin = 0, ; + Name = "Text1", ; + ReadOnly = .T., ; + SelectedBackColor = 100,185,255 + *< END OBJECT: BaseClass="textbox" /> + + ADD OBJECT 'pgfArticole.PAGE2.grdRulajeObinv.cValoareftva.Header1' AS header WITH ; + Alignment = 2, ; + Caption = "Valoare achizitie", ; + FontName = "Arial", ; + FontSize = 10, ; + Name = "Header1", ; + WordWrap = .T. + *< END OBJECT: BaseClass="header" /> + + ADD OBJECT 'pgfArticole.PAGE2.grdRulajeObinv.cValoareftva.Text1' AS textbox WITH ; + BackColor = 225,225,225, ; + BorderStyle = 0, ; + FontName = "Arial", ; + FontSize = 10, ; + ForeColor = 0,0,0, ; + Margin = 0, ; + Name = "Text1", ; + ReadOnly = .T., ; + SelectedBackColor = 100,185,255 + *< END OBJECT: BaseClass="textbox" /> + + ADD OBJECT 'pgfArticole.PAGE2.grdRulajeObinv.cValoaretva.Header1' AS header WITH ; + Alignment = 2, ; + Caption = "Valoare TVA achizitie", ; + FontName = "Arial", ; + FontSize = 10, ; + Name = "Header1", ; + WordWrap = .T. + *< END OBJECT: BaseClass="header" /> + + ADD OBJECT 'pgfArticole.PAGE2.grdRulajeObinv.cValoaretva.Text1' AS textbox WITH ; + BackColor = 225,225,225, ; + BorderStyle = 0, ; + FontName = "Arial", ; + FontSize = 10, ; + ForeColor = 0,0,0, ; + Margin = 0, ; + Name = "Text1", ; + ReadOnly = .T., ; + SelectedBackColor = 100,185,255 + *< END OBJECT: BaseClass="textbox" /> + + ADD OBJECT 'pgfArticole.PAGE2.grdRulajeObinv.cvaloarevcTVA.cvaloarevcTVA' AS header WITH ; + Alignment = 2, ; + Caption = "Valoare vanzare cu TVA", ; + FontName = "Arial", ; + FontSize = 10, ; + Name = "cvaloarevcTVA", ; + WordWrap = .T. + *< END OBJECT: BaseClass="header" /> + + ADD OBJECT 'pgfArticole.PAGE2.grdRulajeObinv.cvaloarevcTVA.Text1' AS textbox WITH ; + BackColor = 225,225,225, ; + BorderStyle = 0, ; + FontName = "Arial", ; + FontSize = 10, ; + ForeColor = 0,0,0, ; + Margin = 0, ; + Name = "Text1", ; + ReadOnly = .T., ; + SelectedBackColor = 100,185,255 + *< END OBJECT: BaseClass="textbox" /> + + ADD OBJECT 'pgfArticole.PAGE2.grdRulajeObinv.cValoarevftva.Header1' AS header WITH ; + Alignment = 2, ; + Caption = "Valoare vanzare", ; + FontName = "Arial", ; + FontSize = 10, ; + Name = "Header1", ; + WordWrap = .T. + *< END OBJECT: BaseClass="header" /> + + ADD OBJECT 'pgfArticole.PAGE2.grdRulajeObinv.cValoarevftva.Text1' AS textbox WITH ; + BackColor = 225,225,225, ; + BorderStyle = 0, ; + FontName = "Arial", ; + FontSize = 10, ; + ForeColor = 0,0,0, ; + Margin = 0, ; + Name = "Text1", ; + ReadOnly = .T., ; + SelectedBackColor = 100,185,255 + *< END OBJECT: BaseClass="textbox" /> + + ADD OBJECT 'pgfArticole.PAGE2.grdRulajeObinv.cvaloarevTVA.Header1' AS header WITH ; + Alignment = 2, ; + Caption = "Valoare TVA vanzare", ; + FontName = "Arial", ; + FontSize = 10, ; + Name = "Header1", ; + WordWrap = .T. + *< END OBJECT: BaseClass="header" /> + + ADD OBJECT 'pgfArticole.PAGE2.grdRulajeObinv.cvaloarevTVA.Text1' AS textbox WITH ; + BackColor = 225,225,225, ; + BorderStyle = 0, ; + FontName = "Arial", ; + FontSize = 10, ; + ForeColor = 0,0,0, ; + Margin = 0, ; + Name = "Text1", ; + ReadOnly = .T., ; + SelectedBackColor = 100,185,255 + *< END OBJECT: BaseClass="textbox" /> + + ADD OBJECT 'txtSuma' AS _textbox WITH ; + Alignment = 3, ; + Anchor = 8, ; + ControlSource = "thisform.nSuma", ; + FontCharSet = 238, ; + Format = "R", ; + Height = 23, ; + InputMask = (get_mask(16,gnPa)), ; + Left = 556, ; + Name = "txtSuma", ; + ReadOnly = .T., ; + TabIndex = 20, ; + Top = 330, ; + Value = 0, ; + Width = 123, ; + ZOrderSet = 23 + *< END OBJECT: ClassLib="_baza.vcx" BaseClass="textbox" /> + + PROCEDURE Activate + IF This.nPrimaData = 0 + This.resize_grid1() + This.nPrimaData = 1 + ENDIF + ENDPROC + + PROCEDURE afiseaza_rulaje + * COLAPSEAZA SAU MARESTE PAGEFRAME-UL RULAJE + * Daca butonul are imaginea sus, inseamna ca pageframe-ul cu rulaje este ascuns + * si trebuie sa il afisez + lcPicture = this.but_afiseaza_rulaje.Picture + lcPictureDown = this.but_afiseaza_rulaje.cPictureDown + lcPictureUp = this.but_afiseaza_rulaje.cPictureUp + + llAfiseazaRulaje = 'sus'$m.lcPicture + + IF m.llAfiseazaRulaje + lcPicture2 = STRTRAN(m.lcPicture,'sus','jos') + lcPictureDown2 = STRTRAN(m.lcPictureDown,'sus','jos') + lcPictureUp2 = STRTRAN(m.lcPictureUp,'sus','jos') + ELSE + lcPicture2 = STRTRAN(m.lcPicture,'jos','sus') + lcPictureDown2 = STRTRAN(m.lcPictureDown,'jos','sus') + lcPictureUp2 = STRTRAN(m.lcPictureUp,'jos','sus') + ENDIF + + this.but_afiseaza_rulaje.Picture = m.lcPicture2 + this.but_afiseaza_rulaje.cPictureDown = m.lcPictureDown2 + this.but_afiseaza_rulaje.cPictureUp = m.lcPictureUp2 + + this.pgfArticole.Visible = m.llAfiseazaRulaje + this.but_copiazaR.Visible = m.llAfiseazaRulaje + this.but_modificaR.Visible = m.llAfiseazaRulaje + this.but_stergeR.Visible = m.llAfiseazaRulaje + + thisform.resize_grid1() + + *!* this.grid1.Height = 284 + IIF(m.llAfiseazaRulaje, 0, this.pgfArticole.Height) + *!* this.cmdSelect.Top = this.grid1.Top + this.grid1.Height + *!* this.lblSuma.Top = this.grid1.Top + this.grid1.Height + *!* this.txtSuma.Top = this.grid1.Top + this.grid1.Height + + ENDPROC + + PROCEDURE alege_partener + *!* 07.11.2011 + *!* marius.mutu + *!* daca se schimba partenerul, se pune id_fact = -1 in loc de 0 + *!* pentru a se putea genera un nou id_fact + + *!* 26.02.2018 + *!* se inlocuieste partenerul pentru toate inregistrarile alese, optional + + LPARAMETERS tcExplicatie, tlSilent + *** tcExplicatie: D/C + *** tlSilent: .T. = afiseaza mesaj "contul nu este configurat cu parteneri" - pentru apasarea manuala pe butonul Partener + + PRIVATE pcCont + LOCAL lnIdPartOriginal, lnIdPart, lnrezultat, lnsucces + LOCAL lcExplicatie + LOCAL lcSql, lcnume, llToate, lnRecno, locauta + IF EMPTY(tcExplicatie) + lcExplicatie = 'D' + ELSE + lcExplicatie = UPPER(ALLTRIM(m.tcExplicatie)) + ENDIF + lnIdPart = 0 + + SELECT tact + pcCont = IIF(m.lcExplicatie = 'D', ALLTRIM(NVL(tact.scd, '')), ALLTRIM(NVL(tact.scc, ''))) + IF EMPTY(pcCont) + IF !m.tlSilent + AMESSAGEBOX('Completati contul ' + IIF(m.lcExplicatie = 'D', 'debitor.', 'creditor.'), 0 + 48, _SCREEN.CAPTION) + ENDIF + RETURN lnIdPart + ENDIF + lnIdPartOriginal = IIF(m.lcExplicatie = 'D', id_partd, id_partc) + + lnrezultat = 0 + lnsucces = 0 + lcSql = "select count(*) from config_cont_ireg where cont = &pcCont" + lnsucces = goExecutor.oSelect2Value(lcSql, @lnrezultat) + + IF lnsucces > 0 + IF NVL(lnrezultat, 0) > 0 + locauta = THISFORM.do_cauta(pcCont) + IF gnButon = 1 + lnIdPart = locauta.id_part + lcnume = ALLTRIM(locauta.nume) + + llToate = .F. + SELECT tact + lnRecno = RECNO() + LOCATE FOR ales + IF FOUND() AND AMESSAGEBOX('Doriti sa completati pentru toate inregistrarile alese?', 4 + 32, _SCREEN.CAPTION) = 6 + llToate = .T. + ENDIF + GOTO m.lnRecno + + SELECT tact + IF m.lcExplicatie = 'D' + IF m.llToate + REPLACE id_partd WITH lnIdPart, partd WITH lcnume FOR ales + ELSE + REPLACE id_partd WITH lnIdPart, partd WITH lcnume + ENDIF + IF (lnIdPartOriginal <> lnIdPart AND lnIdPartOriginal <> 0) OR m.llToate + REPLACE pereched WITH 0, id_factd WITH - 1 + ENDIF + ELSE + IF m.llToate + REPLACE id_partc WITH lnIdPart, partc WITH lcnume FOR ales + ELSE + REPLACE id_partc WITH lnIdPart, partc WITH lcnume + ENDIF + IF (lnIdPartOriginal <> lnIdPart AND lnIdPartOriginal <> 0) OR m.llToate + REPLACE perechec WITH 0, id_factc WITH - 1 + ENDIF + ENDIF + ENDIF + ELSE + IF !m.tlSilent + AMESSAGEBOX("Contul " + pcCont + " nu este configurat cu parteneri", 0 + 16, "Eroare") + ENDIF + ENDIF + ELSE + AMESSAGEBOX(goExecutor.oPrelucrareEroare, 0 + 16, "Eroare") + ENDIF + + RETURN lnIdPart + ENDPROC + + PROCEDURE aleg_document_pereche + PARAMETERS tcFel,toAct + LOCAL lcSel,lcSelAct + lcSelAct = thisform.grid1.RecordSource + pnFelCont = tcFel + + IF pnFelCont = 0 && ACTIV + pcContul = ALLTRIM(NVL(toAct.scc,[])) + pcACont = ALLTRIM(NVL(toAct.ascc,[NULL])) + pnIdPart = NVL(toAct.Id_partc,0) + pcNume = ALLTRIM(NVL(toAct.partc,[])) + pnPereche = [perecheC] + pnIdPereche = [id_factC] + ELSE && PASIV + pcContul = ALLTRIM(NVL(toAct.scd,[])) + pcACont = ALLTRIM(NVL(toAct.ascd,[NULL])) + pnIdPart = NVL(toAct.Id_partd,0) + pcNume = ALLTRIM(NVL(toAct.partd,[])) + pnPereche = [perecheD] + pnIdPereche = [id_factD] + ENDIF + + lcSelect = [select count(*) as ePereche from ] + gcs + [.vcoresp_tip_cont where cont = ?pcContul and fel_cont = ?pnFelCont and cu_inregistrari = 1 ] + lcCursor = [crsTest] + lnSucces = goexecutor.oExecute(lcSelect,lcCursor) + IF lnSucces < 0 + aMESSAGEBOX('Modificare:Verific existenta pereche ' +goExecutor.cEroare,0+16,"Eroare") + SELECT (lcSelAct) + this.grid1.SetFocus + RETURN + ENDIF + + SELECT crsTest + LOCATE + IF ePereche = 0 + USE IN crsTest + SELECT (lcSelAct) + this.grid1.SetFocus + RETURN + ENDIF + + + IF !EMPTY(toAct.Suma_val) + llval = .t. + pnSuma = toAct.Suma_val + lcFormular = [ocompensari_val] + ELSE + llval = .f. + pnSuma = toAct.Suma + lcFormular = [ocompensari] + ENDIF + pnIdValuta = toAct.Id_Valuta + pcDenumire = [Partener ] + pcContul + + pcCond = [ an = ?gnAn and luna = ?gnluna] + + IF llval + pccond= pccond + [ and ABS(i.precvaldeb + i.valdebit - i.precvalcred - i.valcredit)>0 and i.id_valuta = ?pnIdValuta ] + ELSE + pccond= pccond + [ and (i.precvaldeb + i.valdebit - i.precvalcred - i.valcredit = 0) ] + ENDIF + + pcselect = ['select i.* FROM ] + gcs + [.Vireg_parteneri i where 2=2 '] + IF ALLTRIM(pcACont) # [NULL] + pcfiltru = [ i.id_part = ?pnIdPart AND ABS(i.precdeb + i.debit - i.preccred - i.credit)<>0 AND i.cont = ?pcContul and ] + pcCond + ELSE + pcfiltru = [ i.id_part = ?pnIdPart AND ABS(i.precdeb + i.debit - i.preccred - i.credit)<>0 AND i.cont = ?pcContul and acont is null and ] + pcCond + ENDIF + pcschema = [''] + pcorder = [''] + + PRIVATE podateintrod + STORE '' TO podateintrod + + gencursor('podateintrod','crs_actcv',pcselect,pcfiltru,[''],'') + + lcFis = 'actcv' + ALLTRIM(pcContul) + + IF USED(lcFis) + USE IN &lcFis + ENDIF + + IF pnFelCont = 0 + lcsel = [SELECT *, ACONT AS ASCC, nume_val as numeval, curs as cursschimb, precdeb + debit as totctva, preccred+credit as achitat, ] +; + [precvaldeb + valdebit AS sumaval, precVALcred+VALcredit as achitatval, ] +; + [.f. as ales, 00000000000000.0000 as sumaachi, 000000000000.0000 as sumaachi2, 00000000000000.0000 as achilei, 00000000000000.0000 as difplus, 00000000000000.0000 as difminus, 000000.0000 as cursval, 000000.0000 as cursdif ] +; + [FROM crs_actcv INTO CURSOR ] + lcFis + [ READWRITE ] + ELSE + lcsel = [SELECT *, ACONT AS ASCD, nume_val as numeval, curs as cursschimb, preccred + credit as totctva, precdeb+debit as achitat, ] + ; + [precvalcred + valcredit as sumaval, precVALdeb+VALdebit as achitatval, ] + ; + [.f. as ales, 00000000000000.0000 as sumaachi, 00000000000000.0000 as sumaachi2, 00000000000000.0000 as achilei, 00000000000000.0000 as difplus, 00000000000000.0000 as difminus, 000000.0000 as cursval, 000000.0000 as cursdif ] + ; + [FROM crs_actcv INTO CURSOR ] + lcFis + [ READWRITE ] + ENDIF + &lcsel + + USE IN crs_actcv + SELECT (lcFis) + + OPLATA=CREATEOBJECT(lcFormular) + OPLATA.titlufrumos1.CAPTION = pcDenumire + [: ] + pcNume + OPLATA.pcFis = lcFis + OPLATA.SUMA = pnSuma + OPLATA.pnFelCont = pnFelCont + OPLATA.SHOW(1) + + IF gnButon = 1 + SELECT (lcSelAct) + DELETE + SELECT (lcFis) + SCAN FOR ales + SCATTER NAME oper + SELECT (lcSelAct) + APPEND BLANK + GATHER NAME toAct + REPLACE &pnIdPereche WITH oper.id_fact, &pnPereche WITH oper.nract, suma WITH oper.sumaachi, suma_val WITH oper.sumaachi2 + SELECT (lcFis) + ENDSCAN + ELSE + SELECT (lcSelAct) + REPLACE &pnPereche WITH toact.&pnPereche + ENDIF + + IF USED(lcFis) + USE IN (lcFis) + ENDIF + SELECT (lcSelAct) + this.grid1.SetFocus + ENDPROC + + PROCEDURE calculeazatotal + Local lcCursor, lcSelect, lnRecno + lcSelect = Select() + This.LockScreen = .T. + lcCursor = Thisform.grid1.RecordSource + Select (m.lcCursor) + lnRecno = Recno() + llEOF = EOF() + Calculate Sum(suma) To This.nSuma + If m.lnRecno > 0 AND !m.llEOF + Goto m.lnRecno + Endif + This.txtSuma.Refresh() + This.LockScreen = .F. + + Select (m.lcSelect) + + ENDPROC + + PROCEDURE calculeaza_valori_rul + LPARAMETERS tcControlSource + LOCAL lcRul, lnPagina + Local lcControlSource, lnCantitate, lnPret, lnPretv, lnPretvtva, lnProcTva, lnProcTvav, lnTVA + Local lnTVAv, lnValoareFTva, lnValoareTVA, lnValoarecTVA + + lnPagina = This.pgfArticole.ActivePage + lcRul = IIF(m.lnPagina = 1, 'trul', 'trul_obinv') + + lcControlSource = ALLTRIM(LOWER(m.tcControlSource)) + IF '.' $ m.lcControlSource + m.lcControlSource = RIGHT(m.lcControlSource, LEN(m.lcControlSource) - AT('.', m.lcControlSource)) + ENDIF + + SELECT (m.lcRul) + DO case + * pret achizitie + CASE INLIST(m.lcControlSource, 'cant', 'cante', 'pret', 'proc_tva', 'tva') + lnCantitate = IIF(cant <> 0, cant, cante) + lnPret = pret + lnProcTva = IIF(EMPTY(proc_tva), 1, proc_tva) - 1 && 1.19 - 1 = 0.19 + IF m.lcControlSource = 'tva' + lnTVA = tva + ELSE + lnTVA = lnPret * m.lnProcTVA + ENDIF + lnValoareFTva = ROUND(m.lnCantitate * m.lnPret, m.gnPC) + lnValoareTVA = ROUND(m.lnCantitate * m.lnPret * m.lnProcTva, m.gnPC) + lnValoarecTVA = m.lnValoareFtva + m.lnValoareTVA + + REPLACE tva WITH m.lnTVA, valoare WITH m.lnValoareFtva, valtva WITH m.lnValoareTVA, valoarecTVA WITH m.lnValoarecTVA + + * pret vanzare + CASE INLIST(m.lcControlSource, 'cant', 'cante', 'pretv', 'tvav', 'proc_tvav', 'pretvtva') + + lnCantitate = IIF(cant <> 0, cant, cante) + lnPretv = ROUND(pretv, m.gnPPretv) + lnTVAv = ROUND(tvav, m.gnPPretv) + lnPretvtva = ROUND(pretvtva, m.gnPPretv) + lnProcTvav = IIF(EMPTY(proc_tvav), 1, proc_tvav) - 1 && 1.19 - 1 = 0.19 + DO CASE + CASE m.lcControlSource = 'pretv' + lnTVAv = ROUND(lnPretv * m.lnProcTVAv, m.gnPPretv) + lnPretvtva = ROUND(m.lnPretv + m.lnTVAv, m.gnPPretv) + CASE m.lcControlSource = 'tvav' + lnPretvtva = m.lnPretv + m.lnTVA + CASE m.lcControlSource = 'pretvtva' + lnTVAv = ROUND(lnPretVtva * m.lnProcTVAv / (1 + m.lnProcTvav), m.gnPPretv) + lnPretv = m.lnPretvtva - m.lnTvav + ENDCASE + + IF m.lcControlSource = 'pretvtva' + lnValoarecTVA = ROUND(m.lnCantitate * m.lnPretvTva, m.gnPC) + lnValoareTVA = ROUND(m.lnValoarecTVA * m.lnProcTVAv / (1 + m.lnProcTvav), m.gnPC) + lnValoareFTva = m.lnValoareCtva - m.lnValoareTVA + ELSE + lnValoareFTva = ROUND(m.lnCantitate * m.lnPretv, m.gnPC) + lnValoareTVA = ROUND(m.lnCantitate * m.lnPretv * m.lnProcTvav, m.gnPC) + lnValoarecTVA = m.lnValoareFtva + m.lnValoareTVA + ENDIF + + REPLACE pretv WITH m.lnPretv, pretvtva WITH m.lnPretvtva, tvav WITH m.lnTVAv, valoarev WITH m.lnValoareFtva, valtvav WITH m.lnValoareTVA, valoarevcTVA WITH m.lnValoarecTVA + ENDCASE + + IF m.lnPagina = 1 + This.pgfArticole.page1._grdfooter1.calcTotal() + ELSE + This.pgfArticole.page2._grdfooter1.calcTotal() + ENDIF + ENDPROC + + PROCEDURE ccontrol_assign + LPARAMETERS vNewVal + *To do: Modify this routine for the Assign method + THIS.cControl = m.vNewVal + ENDPROC + + PROCEDURE creeaza_note_tva_incasare + Lparameters tcCursorAct, toRec, tnSuma + * tcCursorAct: tAct = numele cursorului in care se adauga inregistrarile de TVA exigibil + * toRec: inregistrarea cu TVA incasare (id_fact, id_part etc.) + * tnSuma: suma incasata, din care se calculeaza TVA exigibil pe cote TVA + lnIdFact = toRec.id_fact + lnSuma = tnSuma + lnProcTVA = 0 + lnIdJtvaColoana = 0 + lnScd = Alltrim(toRec.scd) + lnScc = Alltrim(toRec.scc) + + lcSql = [{call pack_contab.defalca_tva_incasare(] + Alltrim(Str(m.lnIdFact)) + [,] + ; + ALLTRIM(Str(m.lnSuma, 16, m.gnPC)) + [,] + ; + ALLTRIM(Str(m.lnProcTVA, 16, 4)) + [,] + ; + IIF(!Empty(Nvl(m.lnIdJtvaColoana,0)) And !(m.lnScd ='408' And m.lnScc ='401'),[0],[1]) + [,] + ; + [?gnLuna,?gnAn)}] + + lcCursorDefTVA = Sys(2015) + If goExecutor.oExecuta(lcSql,lcCursorDefTVA) + + SELECT (m.lcCursorDefTVA) + GO TOP + lcScd = ALLTRIM(scd) + lcScc = ALLTRIM(scc) + update_jtva_coloane(IIF(m.lcSCD = '4427' OR m.lcScc = '4427', 'JV', 'JC'), 'crsExplicatiiTVATemp', 1) + + Insert Into &tcCursorAct(serie_act,luna,an,nract,ascd,scd,ascc,scc,; + suma,explicatia4,explicatia5,Curs,id_util,; + id_responsabil,nresp,id_venchelt,dst_chlt,id_lucrare,nrord,; + id_ctr,contract,id_sectie,sectie,proc_tva,id_set,id_fact,; + perecheC,perecheD,id_factD,id_factC,id_partd,partd,id_partc,partc,; + id_sucursala,sucursala,id_fdoc,fdoc,; + id_gestin,gestin,id_gestout,gestout,; + id_jtva_coloana, explicatie_tva, id_valuta,nume_val,dataact,dataireg, tipnota, cu_tva, tva_incasare) ; + Select Nvl(toRec.serie_act, '') As serie_act,; + toRec.luna As luna,toRec.an As an,toRec.nract As nract,a.ascd As ascd,a.scd As scd,a.ascc As ascc,a.scc As scc,; + a.suma As suma, Nvl(toRec.explicatia4, '') As explicatia4, Nvl(toRec.explicatia5, '') As explicatia5,toRec.Curs As Curs,toRec.id_util As id_util,; + toRec.id_responsabil As id_responsabil, Nvl(toRec.nresp, '') As nresp,toRec.id_venchelt As id_venchelt, Nvl(toRec.dst_chlt, '') As dst_chlt,; + toRec.id_lucrare As id_lucrare, Nvl(toRec.nrord, '') As nrord,toRec.id_ctr As id_ctr, Nvl(toRec.contract, '') As contract,; + toRec.id_sectie As id_sectie, Nvl(toRec.sectie, '') As sectie, a.proc_tva As proc_tva,toRec.id_set As id_set, a.id_fact As id_fact,; + a.perecheC As perecheC,a.perecheD As perecheD,; + 0 As id_factD,0 As id_factC,0 As id_partd,'' As partd,0 As id_partc,'' As partc,; + CAST(toRec.id_sucursala as I null) As id_sucursala, Nvl(toRec.sucursala, '') As sucursala,toRec.id_fdoc As id_fdoc, Nvl(toRec.fdoc, '') As fdoc,; + toRec.id_gestin As id_gestin, Nvl(toRec.gestin, '') As gestin,; + toRec.id_gestout As id_gestout, Nvl(toRec.gestout, '') As gestout,; + a.id_jtva_coloana As id_jtva_coloana, b.denumire as explicatie_tva, toRec.id_valuta As id_valuta, Nvl(toRec.nume_val, '') As nume_val,toRec.dataact As dataact,toRec.dataireg As dataireg, ; + toRec.tipnota, toRec.cu_tva, toRec.tva_incasare ; + FROM (lcCursorDefTVA) a ; + LEFT JOIN crsExplicatiiTVATemp b ON a.id_jtva_coloana = b.id_jtva_coloana + + USE IN (SELECT(lcCursorDefTVA)) + USE IN (SELECT('crsExplicatiiTVATemp')) + Endif + + ENDPROC + + PROCEDURE do_adauga + *!* 27.07.2011 + *!* marius.mutu + *!* nu se copiaza scd, scc, ascd, ascc + + *!* 08.08.2011 + *!* marius.mutu + *!* salvare xml nota in caz de fatal error. se reincarca la intrarea in nota fara predefinire + + *!* 24.05.2011 + Local lnRecno, loadd + Select tact + lnRecno = Recno() + Locate For ales + If Found() + lcCond = "ales" + ELSE + lcCond = "recno() = " + Alltrim(Str(lnRecno)) + LOCATE FOR !DELETED() + IF !FOUND() + lcCond = ".T." + ENDIF + ENDIF + + Select tact + SCAN FOR &lcCond + Scatter Name loadd Fields Except scd, ascd, scc, ascc, id_partd, partd, id_partc, partc, id_factd, pereched, id_factc, perechec, suma, suma_val, ales + IF NVL(m.gnIdSucursala,0) <> 0 + loAdd.id_sucursala = m.gnIdSucursala + loAdd.sucursala = m.gcFirma + ENDIF + lnRecno = RECNO() + loadd.id_act = 0 && modificare ROACONT v 2.4.4 + Append Blank + Gather Name loadd + GOTO lnRecno + ENDSCAN && ales + *!* 24.05.2011 ^ + *!* 08.08.2011 + This.SalveazaXml() + *!* 08.08.2011 ^ + Do nrord With 'tact' + Thisform.CalculeazaTotal() + + This.grid1.SetFocus + this.grid1.Refresh + this.grid_focus_prima_coloana() + + ENDPROC + + PROCEDURE do_adauga_rul + ENDPROC + + PROCEDURE do_adauga_tva_exigibil + *!* 20.11.2025 + *!* Completez taxcode pentru inregistrarile TVA exigibil care nu au taxcode + + + *!* + *!* - tva devenit exigibil ( din nota cu plata / incasare ) : + *!* - de completat explicatia TVA + *!* - id_factd = 0 si id_fact = id_factd + *!* - id_partd = 0, id_partc = 0 + *!* - suma = 0 + *!* - proc_tva = 0; poate sa aleaga la explicatie TVA doar din cele exigibile + *!* - daca are o linie cu 4XX-5XXX sau 5XXX-4XX, atunci nu e activ decat pe linia respectiva + *!* - daca nu ( mai ) are nicio linie cu 4XX-5XXX sau 5XXX-4XX + *!* > ii arat o lista cu toate facturile din JV / JC din luna care mai au sold si ii completez id_fact + Local lnrecno, lnRecno1, loadd, llCalculeazaTVAEx, llCalculeazaNoteTVA + Local lcCond, lnSuma + + llCalculeazaTVAEx = (Thisform.chkTVAEX.Value = 1) && calculeaza suma TVA Exigibil = 100/(100 + proc tva) din suma achitata + llCalculeazaNoteTVA = .F. && calculeaza note tva incasare pentru plati, incasari (5xx = xxx, xxx = 5xx) + + Select tact + lnrecno = Recno() + lnrecno1 = Recno() + Locate For ales + If Found() + lcCond = [ales and (scc = '4428' or scd = '4428' or id_factd > 0 or id_factc > 0)] + Else + lcCond = "recno() = " + Alltrim(Str(m.lnrecno)) + *!* LOCATE FOR !DELETED() + *!* IF !FOUND() + *!* lcCond = ".T." + *!* ENDIF + Endif + Select tact + Scan For &lcCond + Scatter Name m.loadd Fields Except ascd, ascc, ales, id_jtva_coloana, proc_tva, explicatie_tva + lnSuma = suma + loadd.tipnota = 1 + loadd.cu_tva = 1 + loadd.tva_incasare = 1 + Do Case + Case m.loadd.scd = [4428] + If m.loadd.scc <> [4427] + loadd.scd = [4426] + loadd.scc = [4428] + loadd.pereched = m.loadd.nract + Endif + loadd.id_fact = Iif(m.loadd.id_fact > 0, m.loadd.id_fact, -5) && pun -5 in caz ca e din note fara predefinire, ca sa-i completez id_fact la scrie_in_act + + loadd.suma = Iif(m.llCalculeazaTVAEx, m.loadd.suma, 0) + loadd.suma_val = Iif(m.llCalculeazaTVAEx, m.loadd.suma_val, 0) + + Case m.loadd.scc = [4428] + If m.loadd.scd <> [4426] + loadd.scd = [4428] + loadd.scc = [4427] + loadd.perechec = m.loadd.nract + Endif + loadd.id_fact = Iif(m.loadd.id_fact > 0, m.loadd.id_fact, -5) && pun -5 in caz ca e din note fara predefinire, ca sa-i completez id_fact la scrie_in_act + + loadd.suma = Iif(m.llCalculeazaTVAEx, m.loadd.suma, 0) + loadd.suma_val = Iif(m.llCalculeazaTVAEx, m.loadd.suma_val, 0) + + Case !Empty(m.loadd.perechec) And Left(m.loadd.scd, 1) = '5' + loadd.scd = [4428] + loadd.scc = [4427] + loadd.id_fact = Iif(m.loadd.id_factc > 0, m.loadd.id_factc, -5) && pun -5 in caz ca e din note fara predefinire, ca sa-i completez id_fact la scrie_in_act + loadd.id_factd = 0 + loadd.id_factc = 0 + llCalculeazaNoteTVA = m.llCalculeazaTVAEx + + Case !Empty(m.loadd.pereched) And Left(m.loadd.scc, 1) = '5' + loadd.scd = [4426] + loadd.scc = [4428] + loadd.id_fact = Iif(m.loadd.id_factd > 0, m.loadd.id_factd, -5) && pun -5 in caz ca e din note fara predefinire, ca sa-i completez id_fact la scrie_in_act + loadd.id_factd = 0 + loadd.id_factc = 0 + llCalculeazaNoteTVA = m.llCalculeazaTVAEx + + Otherwise + If Type('loFactura') = 'U' + Local loFactura + loFactura = cauta_facturaTVAEx() && ocautare.prg + If Isnull(m.loFactura) + Exit + Endif + Endif + If m.loFactura.tip = [CUMPARARE] && CUMPARARE / VANZARE + loadd.scd = [4426] + loadd.scc = [4428] + loadd.pereched = m.loFactura.nract + loadd.perechec = 0 + Else + loadd.scd = [4428] + loadd.scc = [4427] + loadd.pereched = 0 + loadd.perechec = m.loFactura.nract + Endif + loadd.id_fact = m.loFactura.id_fact + loadd.id_factd = 0 + loadd.id_factc = 0 + Endcase + loadd.id_partd = 0 + loadd.id_partc = 0 + loadd.partd = [] + loadd.partc = [] + If Nvl(m.gnIdSucursala, 0) <> 0 + loadd.id_sucursala = m.gnIdSucursala + loadd.sucursala = m.gcFirma + Endif + Select tact + lnrecno = Recno() + + If !m.llCalculeazaNoteTVA + Append Blank + Gather Name m.loadd + Else + Thisform.creeaza_note_tva_incasare('tact', m.loadd, m.lnSuma) + Endif + + Select tact + Goto m.lnrecno + + Endscan + + * Completez taxcode pentru inregistrarile TVA exigibil care nu au taxcode + Select tact + SCAN FOR EMPTY(NVL(taxcode,0)) AND ((scd = '4428' AND scc = '4427') OR (scd = '4426' AND scc = '4428')) + Thisform.UpdateExplicatieSAFT() + ENDSCAN + Goto m.lnRecno1 + + Release m.loFactura + This.SalveazaXml() + Do nrord With 'tact' + This.grid1.SetFocus + This.grid1.Refresh + This.grid_focus_prima_coloana() + ENDPROC + + PROCEDURE do_cauta + PARAMETERS tcCont + LOCAL loCauta + + IF EMPTY(NVL(tcCont,'')) + RETURN + ENDIF + loCauta = CautPartenerContabilitate(GetHash([cTitlu=>Alegeti partenerul??lAdaugCorespondente=>1??cCont=>] + ALLTRIM(tcCont))) + + RETURN loCauta + + ENDPROC + + PROCEDURE do_copie + *!* 20.05.2011 + Local lnrecno, loadd + Select tact + lnRecno = Recno() + Locate For ales + If Found() + lcCond = "ales" + Else + lcCond = "recno() = " + Alltrim(Str(lnRecno)) + ENDIF + + Select tact + SCAN FOR &lcCond + Scatter Name loadd Fields Except ales + IF NVL(m.gnIdSucursala,0) <> 0 + loAdd.id_sucursala = m.gnIdSucursala + loAdd.sucursala = m.gcFirma + ENDIF + lnrecno = RECNO() + loadd.id_act = 0 && modificare ROACONT v 2.4.4 + Append Blank + Gather Name loadd + GOTO lnRecno + ENDSCAN + *!* 20.05.2011 ^ + *!* 08.08.2011 + This.SalveazaXml() + *!* 08.08.2011 ^ + Thisform.CalculeazaTotal() + + Do nrord With 'tact' + This.grid1.SetFocus + this.grid1.Refresh + this.grid_focus_prima_coloana() + ENDPROC + + PROCEDURE do_copie_rul + Local lnrecno, loadd + Local lcRul, lnPagina + + lnPagina = thisform.pgfArticole.ActivePage + lcRul = IIF(m.lnPagina = 1, 'trul', 'trul_obinv') + + SELECT (m.lcRul) + Scatter Name loadd MEMO + IF NVL(m.gnIdSucursala,0) <> 0 + loAdd.id_sucursala = m.gnIdSucursala + loAdd.sucursala = m.gcFirma + ENDIF + lnrecno = RECNO() + IF m.lcRul = 'trul' + loadd.id_rul = 0 && modificare ROACONT v 2.4.4 + ELSE + loadd.id_rul_obinv = 0 + ENDIF + Append Blank + Gather Name loadd MEMO + + This.SalveazaXml() + + Do nrord With (m.lcRul) + IF m.lnPagina = 1 + This.pgfArticole.page1._grdfooter1.calcTotal() + This.pgfArticole.page1.grdrulaje.SetFocus + this.pgfArticole.page1.grdrulaje.Refresh + ELSE + This.pgfArticole.page2._grdfooter1.calcTotal() + This.pgfArticole.page2.grdRulajeObinv.SetFocus + this.pgfArticole.page2.grdRulajeObinv.Refresh + ENDIF + + + + ENDPROC + + PROCEDURE do_import + ENDPROC + + PROCEDURE do_modifica + *!* 08.07.2013 + *!* marius.mutu + *!* + tnIdItem: pentru cazul in care am mai multe x_item la fel (vezi nrord) + + *!* 26.02.2018 + *!* se inlocuieste valoarea pentru toate inregistrarile alese, optional + + PARAMETERS tcX_item, tcControl, tnIdItem, tcTabel + *** tnIdItem (optional) in loc de tcX_item, in cazul in care am mai multe x_item la fel (vezi nrord) + *** tcTabel (optional): tAct (implicit), trul + + LOCAL lcColoane, lcControl, lcFisier, lcIdAct, lcIdFis, lcPrimVal, lcReplace, lcVarAct, llAles + LOCAL lnColoane, lnRecno, locauta, lcTabel + Local lcFiltruOriginal, lcTitlu, lcTitluColoane, lcorder, lcschema + Local lcfiltru, lcselect, i + + + lcTabel = IIF(EMPTY(m.tcTabel), 'tact', LOWER(ALLTRIM(m.tcTabel))) + + lcControl = LOWER(ALLTRIM(tcControl)) + IF '.' $ tcControl + lcControl = RIGHT(lcControl, LEN(lcControl) - AT('.', lcControl)) + ENDIF + + SELECT xitems + IF !EMPTY(m.tnIdItem) + LOCATE FOR id_item = m.tnIdItem + ELSE + LOCATE FOR ALLTRIM(x_item) = ALLTRIM(tcX_item) + ENDIF + IF !FOUND() + RETURN + ENDIF + + SCATTER NAME locauta MEMO + lcColoane = ALLTRIM(locauta.camp_lista) + lcIdFis = ALLTRIM(locauta.id_fisier) + lcFisier = ALLTRIM(locauta.fis_lista) + lcVarAct = lcControl + lcIdAct = lcIdFis + + lcselect = [select ] + lcColoane + [,] + lcIdFis + [ from ] + lcFisier + lcfiltru = [1=2] + lcschema = [] + lcorder = lcColoane + lccoloane = lcColoane + lcTitlu = PROPER(GETWORDNUM(locauta.label_item,1, ',')) + lnColoane = OCCURS([,], lcColoane) + lcFiltruOriginal = [inactiv = 0] + lcTitluColoane = '' + IF m.lnColoane > 0 + FOR lnColoana = 1 TO lnColoane + lcTitluColoane = lcTitluColoane + GETWORDNUM(loCauta.label_item, m.lnColoana, ',') + [, ] + ENDFOR + ENDIF + locauta = cauta_alfa(lcselect, lcfiltru, lcschema, lcorder, lccoloane, lcTitlu, lcTitluColoane, lcFisier, .F., lcFiltruOriginal) && 11.07.2007 + + IF gnButon = 1 + DO CASE + CASE m.lcTabel = 'tact' + IF ',' $ lcColoane + lcPrimVal = LEFT(lcColoane, AT(',', lcColoane) - 1) + ELSE + lcPrimVal = ALLTRIM(lcColoane) + ENDIF + + IF 'nume_gestiune' $ LOWER(lcPrimVal) + lcIdAct = [id_] + lcVarAct + ENDIF + + SELECT tact + lnRecno = RECNO() + LOCATE FOR ales + llAles = FOUND() + GOTO m.lnRecno + lcReplace = [replace ] + lcVarAct + [ with locauta.] + lcPrimVal + [,] + lcIdAct + [ with locauta.] + lcIdFis + IF m.llAles AND AMESSAGEBOX('Doriti sa completati pentru toate inregistrarile alese?',4+32, _screen.Caption) = 6 + lcReplace = m.lcReplace + ' for ales' + ENDIF + + SELECT tact + &lcReplace + GOTO m.lnRecno + + CASE INLIST(m.lcTabel, 'trul', 'trul_obinv') + SELECT (m.lcTabel) + + DO CASE + CASE m.lcControl = 'denumire' + replace denumire with loCauta.denumire, id_articol with loCauta.id_articol, codmat WITH loCauta.codmat, ; + codmatf WITH loCauta.codmatf, um WITH loCauta.um, um2 WITH loCauta.um2, cant_bax WITH loCauta.cant_Bax, ; + id_subgrupa WITH loCauta.id_subgrupa, subgrupa WITH loCauta.subgrupa, id_grupa WITH loCauta.id_grupa, grupa WITH loCauta.grupa + + CASE m.lcControl = 'cgest' + replace cgest with loCauta.cGest, id_gestiune with loCauta.id_gestiune, nume_gestiune WITH loCauta.nume_gestiune + CASE m.lcControl = 'cgestc' + replace cgestc with loCauta.cGest, id_gestiunec with loCauta.id_gestiune, nume_gestiunec WITH loCauta.nume_gestiune + CASE m.lcControl = 'nrord' + replace nrord with loCauta.nrord, id_lucrare with loCauta.id_lucrare + + CASE m.lcControl = 'nume_val' + replace nume_val with loCauta.nume_val, id_valuta with loCauta.id_valuta + + CASE m.lcControl = 'sectie' + replace sectie with loCauta.sectie, id_valuta with loCauta.id_sectie + CASE m.lcControl = 'nresp' + replace nresp with loCauta.nume, id_responsabil with loCauta.id_responsabil + CASE m.lcControl = 'nrespc' + replace nrespc with loCauta.nume, id_responsabilc with loCauta.id_responsabil + CASE m.lcControl = 'part_rez' + replace part_rez with loCauta.denumire, id_part_rez with loCauta.id_part + CASE m.lcControl = 'nrord_rez' + replace nrord_rez with loCauta.nrord, id_lucrare_rez with loCauta.id_lucrare + ENDCASE + + ENDCASE + ENDIF + + RETURN locauta + + ENDPROC + + PROCEDURE do_modifica_explicatie_tva + If tact.cu_tva = 1 + *!* modificare ROACONT v 2.4.4 + If TYPE('tact.tipnota') = 'N' AND tact.tipnota = 1 + *!* explicatii TVA exigibile din JC ( 1 ), JV ( 3 ) sau toate ( 5 ) + locauta = caut_explicatie_tva(Nvl(tact.id_jtva_coloana,-1),,,iif(tact.scc=[4428],1,iif(tact.scd=[4428],3,5))) + Else + locauta = caut_explicatie_tva(Nvl(tact.id_jtva_coloana,-1)) + Endif + *!* locauta = caut_explicatie_tva(Nvl(tact.id_jtva_coloana,-1)) + *!* modificare ROACONT v 2.4.4 ^ + If !Empty(locauta.id_jtva_coloana) + Select tact + Replace id_jtva_coloana With locauta.id_jtva_coloana,explicatie_Tva With locauta.denumire,proc_tva With (locauta.cota_tva + 100) / 100 + Endif + + * Actualizez Cod Taxa SAFT in functie de Cota TVA + Thisform.UpdateExplicatieSAFT() + ENDIF + + + ENDPROC + + PROCEDURE do_salvare + *!* 24.10.2014 + *!* marius.mutu + *!* actualizez xsets cu seturile utilizator dupa salvarea unui set + + Local loxSet As "oxSet" + Local llModelNou, llNotaNoua, llNotaNouaDefinita, lnIdSet, lnOptiune, loSet, lcXMLNote + Local lcModel, llSucces, lnIdSetModel + *:Global Buton, gnButon, pnButon, pnIesire + + + lnIdSet = Thisform.nid_set + llNotaNoua = Thisform.lNotaNoua + llNotaNouaDefinita = m.llNotaNoua And !Inlist(m.lnIdSet, 99998, 99999) + llModelNou = .T. && salvare model nou + + *** MODIFICARE SET SAU SET NOU? + *** Daca s-a incarcat o nota definita de utilizator + *** salvez peste nota existenta sau creez o nota noua + llModelNou = (Type('this.oSet') <> 'O') + loSet = This.oSet + + loxSet = Createobject("oxSet", m.lnIdSet) && ocont2003.prg + + SELECT *, RECNO() as nr_nota FROM tact INTO CURSOR crsNoteTemp && completez campul nr_nota pentru ordonare + loxSet.Cursor2Property("crsNoteTemp", "cXmlNote") && completez proprietatea cXmlNote + USE IN (SELECT('crsNoteTemp')) + + *** Daca este un set existent, il salvez cu noile note, fara sa mai editez proprietatile + IF !m.llModelNou + llSucces = loxSet.Save() + ELSE + *** daca este un set nou editez proprietatile (nume, categorie, request) si apoi salvez + loxSet.New() + llSucces = loxSet.Edit() + ENDIF + + If m.llSucces + AMESSAGEBOX('Nota salvata cu succes',0+64,_screen.Caption) + ELSE + RETURN m.llSucces + ENDIF + + lnSucces = xdate() && actualizez xsets cu seturile utilizator + + *** Daca nu exista butonul Terminat (atunci cand apelez formularul din editare set), atunci salvez si ies din formular + If !This.but_terMIN1.Visible + gnButon = 3 + pnButon = 3 + Buton = 3 + pnIesire = 3 + If !This.lhide + This.Release + Else + This.Hide + Endif + Endif + ENDPROC + + PROCEDURE do_sterge + *!* 14.07.2011 + *!* daca formularul se foloseste pentru creare nota fara predefinire, inregistrarile se sterge direct, fara verificari + Local lnAn, lnLuna, lnCod, lnIdFact, llReferinteDocumente, llNotaNoua + Local lcCond, lnRecno + *!* 24.05.2011 + Select tact + lnRecno = Recno() + Locate For ales + If Found() + lcCond = "ales" + Else + lcCond = "recno() = " + Alltrim(Str(lnRecno)) + ENDIF + + *!* 14.07.2011 + llNotaNoua = this.lNotanoua && sunt in creare nota fara predefinire, nu in modificare nota din registrul jurnal + *!* 14.07.2011 ^ + IF !m.llNotaNoua + SELECT tAct + LOCATE FOR &lcCond and !(m.glEMama OR NVL(m.gnIdSucursala,0) = NVL(tAct.id_sucursala,0)) + IF FOUND() + AMESSAGEBOX('Nu se pot sterge decat inregistrari din sucursala curenta!', 0+48, _screen.Caption) + RETURN + ENDIF + ENDIF + + SELECT an, luna, cod, id_fact FROM tact WHERE .F. INTO CURSOR cReferinteVerificate READWRITE + + SELECT tact + SCAN FOR &lcCond + lnAn = an + lnLuna = luna + lnCod = cod + lnIdFact = id_fact + IF !m.llNotaNoua + WAIT WINDOW 'Verificare referinte ' + ALLTRIM(STR(m.lnIdFact)) + ' ...' NOWAIT + llReferinteDocumente = .F. + SELECT cReferinteVerificate + LOCATE FOR an = lnAn AND luna = lnLuna AND cod = lnCod AND id_fact = lnIdFact + IF !FOUND() + llReferinteDocumente = ReferinteDocument(lnAn, lnLuna, lnCod, lnIdFact) && odocumente.prg + ENDIF + If llReferinteDocumente + AMESSAGEBOX("Documentul are referinte (incasari/plati). Nu poate fi sters.", 0+48,"Stergere") + USE IN (SELECT('cReferinteVerificate')) + RETURN + ELSE + INSERT INTO cReferinteVerificate(an, luna, cod, id_fact) VALUES (lnAn, lnLuna, lnCod, lnIdFact) + Endif + ENDIF && llNotaNoua + + Select tact + DELETE + ENDSCAN && lcCond + USE IN (SELECT('cReferinteVerificate')) + *!* 24.05.2011 ^ + + *!* 08.08.2011 + This.SalveazaXml() + *!* 08.08.2011 ^ + + Thisform.CalculeazaTotal() + + Select tact + TRY + GOTO lnRecno + SKIP -1 + CATCH + GO TOP + ENDTRY + + This.grid1.SetFocus + + ENDPROC + + PROCEDURE do_sterge_rul + Local lcRul + Local lnPagina, lnRecno + + lnPagina = This.pgfArticole.ActivePage + lcRul = IIF(m.lnPagina = 1, 'trul', 'trul_obinv') + + SELECT (lcRul) + lnRecno = RECNO() + DELETE + TRY + SKIP -1 + CATCH + GO TOP + ENDTRY + + This.SalveazaXml() + + Do nrord With m.lcRul + + IF m.lnPagina = 1 + This.pgfArticole.page1._grdfooter1.calcTotal() + This.pgfArticole.page1.grdrulaje.SetFocus + this.pgfArticole.page1.grdrulaje.Refresh + ELSE + This.pgfArticole.page2._grdfooter1.calcTotal() + This.pgfArticole.page2.grdRulajeObinv.SetFocus + this.pgfArticole.page2.grdRulajeObinv.Refresh + ENDIF + + ENDPROC + + PROCEDURE do_verifica + *!* PARAMETERS tlClick, tccont, tcacont, tcColoana + + *!* m.den='' + *!* ll_l=.f. + + *!* IF EMPTY(tccont) + *!* RETURN ll_l + *!* ENDIF + + *!* IF USED('TCEVA') + *!* USE IN Tceva + *!* ENDIF + + *!* lcSql=[select acont || ' - ' || explicatie as den, CONT, ACONT FROM ] + gcS + [.vplcont_ANALITIC where to_number(cont) = ] + tcCont + [ and inactiv = 0 and an = ] + pcAn + [ order by acont ] + *!* lcCursor = 'tceva' + *!* lnSucces = goExecutor.oExecute(lcSql,lcCursor) + + *!* SELECT tceva + *!* LOCATE + *!* IF EOF() + *!* IF !EMPTY(tcAcont) AND !ISNULL(tcAcont) + *!* DO mesaj WITH 'Nu au fost definite simboluri analitice','pentru contul ' + tcCont + *!* ll_l=.t. + *!* ENDIF + *!* + *!* IF USED('TCEVA') + *!* USE IN Tceva + *!* ENDIF + *!* SELECT actactan + *!* this.grid1.SetFocus + *!* RETURN ll_l + *!* ELSE + *!* IF !tlClick + *!* IF empty(tcAcont) + *!* IF USED('TCEVA') + *!* USE IN Tceva + *!* ENDIF + *!* SELECT tact + *!* this.grid1.SetFocus + *!* RETURN ll_l + *!* ENDIF + *!* ENDIF + *!* ENDIF + + *!* SELECT tceva + *!* IF tlClick + *!* DO caut_alfa_cursor WITH 'tceva','den','Alegeti simbolul analitic','m.den' + *!* SELECT tceva + *!* LOCATE FOR ALLTRIM(den) = ALLTRIM(m.den) + *!* lcAcont = acont + + *!* SELECT tact + *!* REPLACE &tcColoana WITH lcAcont + *!* ELSE + *!* LOCATE FOR ALLTRIM(cont)=ALLTRIM(tccont) AND ALLTRIM(acont)=ALLTRIM(tcacont) + *!* IF !FOUND() + *!* DO caut_alfa_cursor WITH 'tceva','den','Alegeti simbolul analitic','m.den' + *!* SELECT tceva + *!* LOCATE FOR ALLTRIM(den) = ALLTRIM(m.den) + *!* lcAcont = acont + + *!* SELECT tact + *!* REPLACE &tcColoana WITH lcAcont + *!* ENDIF + *!* ENDIF + + *!* IF USED('TCEVA') + *!* USE IN Tceva + *!* ENDIF + + *!* SELECT tact + *!* this.grid1.SetFocus + *!* RETURN ll_l + ENDPROC + + PROCEDURE grid_focus_prima_coloana + Local lnColumns, loColumn, loGrid, i + Local lcColumn + + loGrid = this.grid1 + lnColumns = loGrid.ColumnCount + + FOR i = 1 TO m.lnColumns + lcColumn = 'loGrid.Column' + ALLTRIM(STR(i)) + loColumn = &lcColumn + IF loColumn.columnOrder = 1 + EXIT + ENDIF + ENDFOR + loColumn.Setfocus() + ENDPROC + + PROCEDURE grid_sort_bind + * nu sterge + ENDPROC + + PROCEDURE inainte_de_do_termin + Local lVerificAnalitic, lCompletezPartener, llNuVerificCont + *!* 24.05.2011 + SELECT tact + SET FILTER TO + *!* 24.05.2011 ^ + + * se pare ca nu se salveaza id_set la notele fara predefinire? + UPDATE tact SET id_set = This.nid_set WHERE EMPTY(NVL(id_set, 0)) + UPDATE trul SET id_set = This.nid_set WHERE EMPTY(NVL(id_set, 0)) + UPDATE trul_obinv SET id_set = This.nid_set WHERE EMPTY(NVL(id_set, 0)) + + lVerificAnalitic = .T. + lCompletezPartener = .F. + *!* 13.03.2008 + *!* modificare ROACONT v 2.0.110 + If INLIST(This.nid_set, 99998, 90024) && 99998 = NOTE FARA PREDEFINIRE * (FARA VERIFICARE COMPLETARE CONT SINTETIC/ANALITIC), 90024 = INITALIZARE FACTURI SOLDURI DIN PRELUARE + *!* If id_set = 99998 && NOTE FARA PREDEFINIRE * (FARA VERIFICARE COMPLETARE CONT SINTETIC/ANALITIC) + *!* modificare ROACONT v 2.0.110 ^ + llNuVerificCont = .T. + Else + llNuVerificCont = .F. + EndIf + *!* 14.03.2008 - nu mai fac nici o verificare pentru notele 99998 + If !llNuVerificCont + llRet = verificare_note_contabile('tact',lVerificAnalitic,lCompletezPartener,llNuVerificCont) && in oOperatii_comune + Else + llRet = .T. + EndIf + *!* 14.03.2008 ^ + *!* 13.03.2008 ^ + *!* modificare v 2.4.4 + IF m.llRet + If gnAn >= 2013 + Select tact + Locate For ((scd = '4426' And scc = '4428') Or (scd='4428' And scc='4427')) And tipnota = 0 And id_act = 0 + If Found() + llRet = Iif(amessagebox("Ati adaugat o nota 4426-4428 / 4428-4427 fara a folosi optiunea 'Adauga nota TVA devenit exigibil'." + CRLF + ; + "Din aceasta cauza, este posibil ca inregistrarea sa nu se preia corect in Registrul de Cumparari / Vanzari." + CRLF + CRLF + ; + "Doriti sa continuati?", 4+32, "Note 4426-4428/4428-4427")=6,.T.,.F.) + Endif + ENDIF + ENDIF + *!* modificare v 2.4.4 ^ + RETURN m.llRet + + + *!* LOCAL lcInMesaj,lcInMesajP,lcInMesajIreg + *!* STORE '' TO lcInMesaj,lcInMesajP, lcInMesajIreg + + *!* SELECT tact + *!* GO TOP + *!* lnId_set=id_set + *!* ll_return = .T. + + *!* SELECT DISTINCT scd AS CONT FROM tact ; + *!* WHERE suma # 0 ; + *!* UNION ; + *!* SELECT DISTINCT scc AS CONT FROM tact ; + *!* WHERE suma # 0 ; + *!* INTO CURSOR tcont + + *!* i = 0 + *!* SELECT tcont + *!* SCAN + *!* i = i + 1 + *!* IF i = 1 + *!* lcLista = ALLTRIM(CONT) + *!* ELSE + *!* lcLista = lcLista + ',' + ALLTRIM(CONT) + *!* ENDIF + *!* ENDSCAN + + *!* lcSql = 'select distinct c.cont as contpart, c.fel_cont, c.cu_inregistrari, c.explicatie as explic_cont,e.cont_c as exceptie, e.debit as pozitie, e.invers, 0 as gasit ' + ; + *!* 'from ' + gcs + '.vcoresp_tip_cont c left join ' + gcs + '.exceptii_ireg e on c.cont = e.cont and e.invers = 1 ' + ; + *!* 'where to_number(c.cont) in (' + lcLista + ')' + *!* lcCursor = 'verif_part' + + *!* lnSucces = goExecutor.oExecute(lcSql,lcCursor) + *!* IF lnSucces < 0 + *!* MESSAGEBOX('Modificare:Verific completare id_part ' +goExecutor.cEroare,0+16,"Eroare") + *!* ENDIF + + *!* IF lnSucces > 0 + *!* IF RECCOUNT('verif_part') > 0 + *!* SELECT tact + *!* SCAN FOR !EMPTY(suma) + *!* SCATTER NAME loCont + *!* SELECT verif_part + *!* LOCATE FOR contpart=loCont.scd + *!* IF FOUND() + *!* IF EMPTY(loCont.Id_partd) AND !(loCont.scd$lcInMesajP) + *!* lcInMesajP=lcInMesajP+','+loCont.scd + *!* REPLACE gasit WITH 1 + *!* ENDIF + + *!* IF EMPTY(loCont.pereched) AND cu_inregistrari = 1 AND fel_cont = 1 AND !(loCont.scd$lcInMesajIreg) + *!* LOCATE FOR contpart=loCont.scd AND exceptie = loCont.scc AND fel_cont = 1 AND pozitie = 0 AND invers = 1 + *!* IF !FOUND() + *!* lcInMesajIreg = lcInMesajIreg + ',' + loCont.scd + *!* ENDIF + *!* ENDIF + *!* ENDIF + + *!* SELECT verif_part + *!* LOCATE FOR contpart=loCont.scc + *!* IF FOUND() + *!* IF EMPTY(loCont.Id_partc) AND !(loCont.scc$lcInMesajP) + *!* lcInMesajP=lcInMesajP+','+loCont.scc + *!* REPLACE gasit WITH 1 + *!* ENDIF + *!* IF cu_inregistrari = 1 AND fel_cont = 0 AND EMPTY(loCont.perechec) AND !(loCont.scc$lcInMesajIreg) + *!* LOCATE FOR contpart=loCont.scc AND exceptie = loCont.scd AND fel_cont = 0 AND pozitie = 1 AND invers = 1 + *!* IF !FOUND() + *!* lcInMesajIreg = lcInMesajIreg + ',' + loCont.scc + *!* ENDIF + *!* ENDIF + *!* ENDIF + *!* SELECT tact + *!* ENDSCAN + *!* ENDIF + *!* ENDIF + + *!* IF lnSucces > 0 AND !(lnId_set>90000 AND lnId_set<90010) && notele de inchidere se fac in functie de optiuni + *!* lcSql=[select CONT, ACONT FROM ] + gcs + [.vplcont_ANALITIC where inactiv = 0 and an = ?gnAn order by cont ] + *!* lcCursor = 'plcontana' + *!* lnSucces = goExecutor.oExecute(lcSql,lcCursor) + + *!* IF lnSucces < 0 + *!* MESSAGEBOX('Modificare:Verific completare analitic ' +goExecutor.cEroare,0+16,"Eroare") + *!* ENDIF + + *!* IF lnSucces > 0 + *!* SELECT tact + *!* SCAN FOR !EMPTY(suma) + *!* SCATTER NAME loCont + *!* IF EMPTY(loCont.ascd) OR ISNULL(loCont.ascd) + *!* SELECT plcontana + *!* LOCATE FOR ALLTRIM(CONT)=ALLTRIM(loCont.scd) + *!* IF FOUND() + *!* IF !(loCont.scd$lcInMesaj) + *!* lcInMesaj=lcInMesaj+','+loCont.scd + *!* ENDIF + *!* ENDIF + *!* ENDIF + *!* IF EMPTY(loCont.ascc) OR ISNULL(loCont.ascc) + *!* SELECT plcontana + *!* LOCATE FOR CONT=loCont.scc + *!* IF FOUND() + *!* IF !(loCont.scc$lcInMesaj) + *!* lcInMesaj=lcInMesaj+','+loCont.scc + *!* ENDIF + *!* ENDIF + *!* ENDIF + *!* SELECT tact + *!* ENDSCAN + *!* RELEASE loCont + *!* ENDIF + *!* ENDIF + + *!* IF !EMPTY(lcInMesaj) + *!* DO mesaj WITH 'Nu ati completat simbolurile analitice pentru conturile:',lcInMesaj + *!* ll_return = .F. + *!* ENDIF + + *!* IF !EMPTY(lcInMesajP) + *!* DO mesaj WITH 'Nu ati completat partenerii pentru conturile:', lcInMesajP + *!* ll_return = .F. + *!* ENDIF + + *!* IF !EMPTY(lcInMesajIreg) + *!* DO mesaj WITH 'Nu ati completat doc. pereche pentru conturile:', lcInMesajIreg + *!* ll_return = .F. + *!* ENDIF + + *!* IF USED('verif_part') + *!* USE IN verif_part + *!* ENDIF + *!* IF USED('plcontana') + *!* USE IN plcontana + *!* ENDIF + *!* IF USED('tcont') + *!* USE IN tcont + *!* ENDIF + + *!* RETURN ll_return + + + + ENDPROC + + PROCEDURE Init + *!* 05.12.2013 + *!* marius.mutu + *!* adaugat parametru tlVizualizare - pentru verificarea din registrul jurnal + *!* parametrul tlVizualizare poate avea atat valori logice (.T. = VIZUALIZARE, .F. = MODIFICARE/NOTA FARA PREDEFINIRE), + *!* cat si valori numerice (1=VIZUALIZARE, 2 = MODIFICARE, 3 = VERIFICARENOTE) + + Lparameters tnIdSet, tlNotaNoua, toBackupXML, toSet, tlVizualizare + DoDefault() + + *!* modificare ROACONT v 2.0.110 + This.nid_set = tnIdSet + *!* 14.07.2011 + This.lNotaNoua = tlNotaNoua && daca se apeleaza formularul din nota_fara_predefinire (ocont2003.prg) + *!* 14.07.2011 ^ + + This.lEditare = (Type('toSet.lEditare') = 'L' and toSet.lEditare) && In modul editare note definite de utilizator, arat doar butoanele Salvez si Renunt + + *!* 05.12.2013 + This.oBackupXML = toBackupXML + This.oSet = m.toSet + This.lVizualizare = .F. + This.lModificare = .T. + This.lVerificare = .F. + + If Pcount() >= 5 + If Type('tlVizualizare') = 'L' + This.lVizualizare = m.tlVizualizare && default = MODIFICARE + Else + If Type('tlVizualizare') = 'N' + Do Case + Case m.tlVizualizare = 1 + This.lVizualizare = .T. + Case m.tlVizualizare = 2 + This.lModificare = .T. + Case m.tlVizualizare = 3 + This.lVerificare = .T. + Endcase + Endif && Type('tlVizualizare') = 'N' + Endif && Type('tlVizualizare') = 'L' + Endif + + Do Case + Case This.lVerificare && verificarea notelor contabile (ex. nota inchidere imobilizari din inchidere.prg) + This.lb_titlu_alb_b121.Caption = 'VERIFICARE' + Case m.tlNotaNoua + This.lb_titlu_alb_b121.Caption = 'NOTA FARA PREDEFINIRE' + Endcase + + + + *** In modul editare note definite de utilizator, arat doar butoanele Salvez si Renunt + This.but_termin1.Visible = !This.lEditare + + + *!* 05.12.2013 ^ + + + *!* modificare ROACONT v 2.0.110 ^ + If Iif(Type('gnModificareIdSetSpe')='U',0,gnModificareIdSetSpe)=0 And ; + (Between(tnIdSet,25000,25099) Or Inlist(tnIdSet,79,83,206,61,62,63,102,103,64,65,73,222,223,224,225,226,227,236,238,239,240) ; + or Inlist(tnIdSet,252,255,258,259,260)) + Thisform.command4.Top = Thisform.command1.Top + Thisform._shape2.Left = Thisform.but_renunT1.Left + Thisform.command1.Visible = .F. + Thisform.command2.Visible = .F. + Thisform.RemoveObject('but_nou1') + Thisform.RemoveObject('but_sterge1') + *!* modificare 19.09.2007 + *!* Thisform.command3.Visible = .F. + *!* Thisform.cnomenclator.Visible = .F. + *!* Thisform.grid1.SetAll('Readonly',.T.,'Column') + With Thisform.grid1 + .column4.ReadOnly = .T. + .column6.ReadOnly = .T. + .column10.ReadOnly = .T. + .column5.ReadOnly = .T. + .column37.ReadOnly = .T. + .column9.ReadOnly = .T. + .column15.ReadOnly = .T. + .column34.ReadOnly = .T. + .column20.ReadOnly = .T. + .column29.ReadOnly = .T. + .column21.ReadOnly = .T. + .column22.ReadOnly = .T. + .column32.ReadOnly = .T. + .column12.ReadOnly = .T. + .column25.ReadOnly = .T. + .column30.ReadOnly = .T. + .column31.ReadOnly = .T. + Endwith + *!* modificare 19.09.2007 ^ + Endif + *!* modificare v 2.4.4 + If gnAn >= 2013 + Thisform.command5.Visible = .T. + thisform.chkTVAEx.Visible = .T. + Else + Thisform.command5.Visible = .F. + thisform.chkTVAEx.Visible = .F. + Endif + *!* modificare v 2.4.4 ^ + + This.grid1.Anchor = 11 + This.but_renunt1.Anchor = 8 + + ENDPROC + + PROCEDURE Load + If !Used('saft_taxtable') + update_saft_taxtable() + ENDIF + + If !Used('saft_mecanisme_plati') + update_saft_mecanisme_plati() + ENDIF + ENDPROC + + PROCEDURE Resize + + this.cmdSelect.Top = this.grid1.Top + this.grid1.Height + this.lblSuma.Top = this.grid1.Top + this.grid1.Height + this.txtSuma.Top = this.grid1.Top + this.grid1.Height + + ENDPROC + + PROCEDURE resize_grid1 + Local llAfiseazaRulaje + + llAfiseazaRulaje = this.pgfArticole.Visible + this.grid1.Height = IIF(m.llAfiseazaRulaje, 284, this.Height - 100) + this.cmdSelect.Top = this.grid1.Top + this.grid1.Height + this.lblSuma.Top = this.grid1.Top + this.grid1.Height + this.txtSuma.Top = this.grid1.Top + this.grid1.Height + ENDPROC + + PROCEDURE salveazaxml + *!* *** salvez doar notele fara predefinire + *!* If This.nid_set = 99998 && NOTE FARA PREDEFINIRE + *!* SaveCursor2XML('tact', 'notafarapredefinire') && oproceduri_comune.prg + *!* ENDIF + *!* If This.nid_set = 99998 && NOTE FARA PREDEFINIRE * (FARA VERIFICARE COMPLETARE CONT SINTETIC/ANALITIC) + *!* SaveCursor2XML('tact', 'notafarapredefinire2') + *!* ENDIF + + + *** salvez doar notele fara predefinire + Local loBackupXml + IF INLIST(This.nid_set, 99998, 99999) + loBackupXml = This.oBackupXMl + IF TYPE('loBackupXml') = 'O' + IF USED('tact') + loBackupXML.SaveBackupSet("tact") + ENDIF + IF USED('trul') + loBackupXML.SaveBackupSet("trul") + ENDIF + IF USED('trul_obinv') + loBackupXML.SaveBackupSet("trul_obinv") + ENDIF + + ENDIF + ENDIF + ENDPROC + + PROCEDURE Show + Lparameters nStyle, tlMaximize + Local lnHeight + + Select tact + This.grid1.SetFocus + *!* 24.05.2011 + + + + this.gridextra1.setup() + this.grid1.SetAll("dynamicbackcolor", "IIF(ALES, RGB(255,255,225), RGB(255,255,255))", "Column") + This.CalculeazaTotal() + *!* 24.05.2011 ^ + + + this.pgfArticole.page1._grdfooter1.attachtogrid(this.pgfArticole.page1.grdRulaje) + this.pgfArticole.page1._grdfooter1.calcTotal() + + this.pgfArticole.page2._grdfooter1.attachtogrid(this.pgfArticole.page2.grdRulajeObinv) + this.pgfArticole.page2._grdfooter1.calcTotal() + + This.Grid1.HeaderHeight = 37 + this.pgfArticole.page1.grdRulaje.HeaderHeight = 37 + this.pgfArticole.page2.grdRulajeObinv.HeaderHeight = 37 + + This.grid1.column42.visible = m.gl406 && saft taxa + This.grid1.column43.visible = m.gl406 && saft plata + + Thisform.but_modificaR.Enabled = .F. + This.WindowState = 2 + + * Ascund pageframe rulaje daca nu am rulaje + IF RECCOUNT('trul') = 0 AND RECCOUNT('trul_obinv') = 0 + * pageframe rulaje este afisat + * daca nu exista inregistrari in trul sau trul_obinv, ascund pageframe-ul rulaje + * si maresc gridul cu note contabile + This.afiseaza_rulaje() + ENDIF + This.resize_grid1() + + + + ENDPROC + + PROCEDURE updateexplicatiesaft + * Daca nu este activata SAFT 406 nu fac nimic + IF !m.gl406 + RETURN + ENDIF + + Local loPartenerRTVAI As "empty" + Local loPartenerRTVAIX As "empty" + Local lcCodFiscal, lcNumePart, ldDataAct, llFurnizorRTVAI, lnIdJtva, lnIdPart, lnTaxCode, lcSelect, llN50, llN100, llNeexigibil + LOCAL ARRAY laNesosit[1] + + lcSelect = SELECT() + + + ldDataAct = tAct.dataact + lnIdJtva = tAct.id_jtva_coloana + llFurnizorRTVAI = .F. + lnIdPart = Nvl(tAct.id_partc, tAct.id_partd) + lnIdSet = Thisform.nid_set + + * llN50/llN100 = .T. doar pentru linia cu Explicatie TVA = "Limitare deducere TVA" + llN50 = .F. && (m.lnIdSet = 10609) && limitare deducere 50% + llN100 = .F. && (m.lnIdSet = 10647) && limitare deducere 100% + + SELECT COUNT(*) as nr FROM tAct WHERE LEFT(scd,3) = '418' OR LEFT(scc,3) = '408' INTO ARRAY laNesosit + llNeexigibil = (laNesosit[1] > 0) && factura neintocmita/nesosita + + lnTaxCode = GetTaxCodeIdPart(m.gnAn, m.gnLuna, m.ldDataAct, m.lnIdJtva, m.lnIdPart, m.llN50, m.llN100, m.llNeexigibil) + Replace taxcode With m.lnTaxCode In tAct + + This.grid1.column42._combobox1.ForeColor = RGB(255,0,0) + This.grid1.column42.Refresh() + + SELECT (m.lcSelect) + ENDPROC + + PROCEDURE updateexplicatiesaftrul + * Daca nu este activata SAFT 406 nu fac nimic + IF !m.gl406 + RETURN + ENDIF + + Local loPartenerRTVAI As "empty" + Local loPartenerRTVAIX As "empty" + Local lcCodFiscal, lcNumePart, ldDataAct, llFurnizorRTVAI, lnIdJtva, lnIdPart, lnTaxCode, lcSelect, llN50, llN100, llNeexigibil + LOCAL ARRAY laNesosit[1] + + lcSelect = SELECT() + + + ldDataAct = tAct.dataact + lnIdJtva = trul.id_jtva_coloana + llFurnizorRTVAI = .F. + lnIdPart = Nvl(tAct.id_partc, tAct.id_partd) + lnIdSet = Thisform.nid_set + + * llN50/llN100 = .T. doar pentru linia cu Explicatie TVA = "Limitare deducere TVA" + llN50 = .F. && (m.lnIdSet = 10609) && limitare deducere 50% + llN100 = .F. && (m.lnIdSet = 10647) && limitare deducere 100% + + SELECT COUNT(*) as nr FROM tAct WHERE LEFT(scd,3) = '418' OR LEFT(scc,3) = '408' INTO ARRAY laNesosit + llNeexigibil = (laNesosit[1] > 0) && factura neintocmita/nesosita + + lnTaxCode = GetTaxCodeIdPart(m.gnAn, m.gnLuna, m.ldDataAct, m.lnIdJtva, m.lnIdPart, m.llN50, m.llN100, m.llNeexigibil) + Replace taxcode With m.lnTaxCode In tRul + + This.pgfArticole.page1.grdRulaje.cTaxCode.ForeColor = RGB(255,0,0) + This.pgfArticole.page1.grdRulaje.cTaxCode.Refresh() + + SELECT (m.lcSelect) + ENDPROC + + PROCEDURE valideaza_data + Lparameters tcTipData + && tcTipdata: dataact, dataireg + + Local lcTipData, llReturn + lcTipData = Lower(Alltrim(tcTipData)) + + llReturn=.T. + Do Case + Case lcTipData = 'dataireg' + If !(Month(dataireg) = gnLuna And Year(dataireg) = gnAn) + amessagebox("Data inregistrarii trebuie sa fie din luna " + Alltrim(pcNl)+"/"+Alltrim(pcAn)+" !",0+48,"Atentie") + llReturn=.F. + Endif + Case lcTipData = 'dataact' + If !((Month(dataact)<= gnLuna And Year(dataact) = gnAn) Or Year(dataact)0 + *!* locauta = Thisform.do_cauta(pcCont) + *!* If gnButon = 1 + *!* lnid_part=locauta.id_part + *!* lcnume=Alltrim(locauta.nume) + *!* Select tact + *!* Replace id_partd With lnid_part, partd With lcnume + *!* IF lnIdPartd <> lnid_part + *!* Select tact + *!* Replace pereched WITH 0, id_factd WITH 0 + *!* ENDIF + *!* Endif + *!* Else + *!* AMESSAGEBOX("Contul " + pcCont + " nu este configurat cu parteneri", 0 + 16 ,"Eroare") + *!* Endif + *!* Else + *!* AMESSAGEBOX(goExecutor.oPrelucrareEroare, 0 + 16 ,"Eroare") + *!* Endif + + + ENDPROC + + PROCEDURE Command2.Click + Thisform.alege_partener("C") + + *!* PRIVATE pcCont + *!* Local lnIdPartc, lnrezultat,lnsucces + + *!* Select tact + *!* pcCont = ALLTRIM(Nvl(tact.scc, '')) + *!* If Empty(pcCont) + *!* Return + *!* Endif + *!* lnIdPartc = id_partc + *!* lnrezultat=0 + *!* lnsucces=0 + *!* lcSql="select count(*) from config_cont_ireg where cont = ?pcCont" + *!* lnsucces=goExecutor.oSelect2Value(lcSql,@lnrezultat) + *!* If lnsucces=1 + *!* If lnrezultat>0 + *!* locauta = Thisform.do_cauta(pcCont) + *!* If gnButon = 1 + *!* lnid_part=locauta.id_part + *!* lcnume=Alltrim(locauta.nume) + *!* Select tact + *!* Replace id_partc With lnid_part, partc With lcnume + *!* IF lnIdPartc <> lnid_part + *!* Select tact + *!* Replace perechec WITH 0, id_factc WITH 0 + *!* ENDIF + *!* Endif + *!* ELSE + *!* AMESSAGEBOX("Contul " + pcCont + " nu este configurat cu parteneri", 0 + 16 ,"Eroare") + *!* ENDIF + *!* ELSE + *!* AMESSAGEBOX(goExecutor.oPrelucrareEroare(), 0 + 16 ,"Eroare") + *!* Endif + + + ENDPROC + + PROCEDURE Command3.Click + PARAMETERS tnFel + LOCAL lcSel, lnRecno + + IF PCOUNT()<1 + tnFel = thisform.fel_compensare + ENDIF + + tnFel = 1 && PASIV / DEBIT 401 = 5121 + + lcSel = thisform.grid1.RecordSource + SELECT (lcSel) + SCATTER NAME odoc + lnRecno = RECNO() + && 0 = ACTIV + && 1 = PASIV + *thisform.aleg_document_pereche(tnFel,odoc) + DO aleg_document_pereche WITH tnFel,odoc,lcSel IN oOperatii_comune.prg + SELECT (m.lcSel) + TRY + GOTO m.lnRecno + CATCH + GO TOP + ENDTRY + thisform.grid1.SetFocus + RELEASE odoc + ENDPROC + + PROCEDURE Command4.Click + Thisform.do_modifica_explicatie_tva() + ENDPROC + + PROCEDURE Command5.Click + Thisform.do_adauga_tva_exigibil() + ENDPROC + + PROCEDURE Command6.Click + PARAMETERS tnFel + LOCAL lcSel, lnRecno + + IF PCOUNT()<1 + tnFel = thisform.fel_compensare + ENDIF + + tnFel = 0 && ACTIV / CREDIT 5121 = 4111 + + lcSel = thisform.grid1.RecordSource + SELECT (lcSel) + SCATTER NAME odoc + lnRecno = RECNO() + && 0 = ACTIV + && 1 = PASIV + *thisform.aleg_document_pereche(tnFel,odoc) + DO aleg_document_pereche WITH tnFel,odoc,lcSel IN oOperatii_comune.prg + SELECT (m.lcSel) + TRY + GOTO m.lnRecno + CATCH + GO TOP + ENDTRY + thisform.grid1.SetFocus + RELEASE odoc + ENDPROC + + PROCEDURE Grid1.AfterRowColChange + *!* 10.08.2011 + *!* marius.mutu + *!* id-urile sunt readonly - nu se pot completa direct + + *!* 18.04.2013 + *!* dezactivez butonul de copiere pentru inregistrarile TVA incasare + *!* sa nu se copie ID_FACT din greseala + + *!* 20.12.2013 + *!* se pot modifica inregistrari pe firma mama sau daca inregistrarile apartin sucursalei curente sau daca editez un set de note definit de utilizator + + *!* 07.05.2021 + *!* am adaugat buton separat document platit/incasat + + Lparameters nColIndex + + *** se pot modifica inregistrari pe firma mama sau daca inregistrarile apartin sucursalei curente sau daca editez un set de note definit de utilizator + llReadOnly = !(m.glEMama OR NVL(m.gnIdSucursala,0) = NVL(tAct.id_sucursala,0) OR Type('thisform.oSet') = 'O') + + This.SetAll("ReadOnly", m.llReadOnly, "Column") + *!* 10.08.2011 + *** nu vreau sa completeze id-urile direct + WITH This + .Column30.ReadOnly = .T. && id_partd + .Column31.ReadOnly = .T. && id_partc + .Column38.ReadOnly = .T. && id_fact + .Column39.ReadOnly = .T. && id_factd + .Column40.ReadOnly = .T. && id_factc + .Column35.ReadOnly = .T. && cod + .Column25.ReadOnly = .T. && id_set + ENDWITH + *!* 10.08.2011 ^ + *!* pot selecta inregistrari din alte sucursale pentru operatiile de copiere, adaugare care + This.cAles.ReadOnly = .F. + IF m.llReadOnly + Thisform.cnomenclator.Enabled = .F. + Thisform.command1.Enabled = .F. + Thisform.command2.Enabled = .F. + Thisform.command3.Enabled = .F. && PERECHE D + Thisform.command6.Enabled = .F. && PERECHE C + Thisform.command4.Enabled = .F. + Thisform.command5.Enabled = .F. && modificare ROACONT v 2.4.4 + thisform.chkTVAEx.Enabled = .F. + ELSE + If Thisform.pncolumnorder = nColIndex + Thisform.cnomenclator.Enabled = .T. + Else + Thisform.cnomenclator.Enabled = .F. + Endif + + If tact.cu_tva = 1 + Thisform.command4.Enabled = .T. + Else + Thisform.command4.Enabled = .F. + Endif + + Thisform.command3.Caption = [Doc. platit cont ]+ Alltrim(NVL(tact.scd,'')) + ; + IIF(!EMPTY(tact.pereched), ' (' + ALLTRIM(TRANSFORM(tact.pereched)) + ')', '') + Thisform.command3.Enabled = !(EMPTY(tact.id_partd) OR EMPTY(tact.scd)) + + Thisform.command6.Caption = [Doc. incasat cont ]+ Alltrim(NVL(tact.scc,'')) + ; + IIF(!EMPTY(tact.perechec), ' (' + ALLTRIM(TRANSFORM(tact.perechec)) + ')', '') + Thisform.command6.Enabled = !(EMPTY(tact.id_partc) OR EMPTY(tact.scc)) + + *!* If [pereche]$Lower(Thisform.pccontrol) + *!* Thisform.command3.Enabled = .T. + *!* If [pereched]$Lower(Thisform.pccontrol) + *!* Thisform.fel_compensare = 1 + *!* Thisform.command3.Caption = [Nr.Doc.Pereche Cont ]+ Alltrim(NVL(scd,'')) + *!* Else + *!* Thisform.fel_compensare = 0 + *!* Thisform.command3.Caption = [Nr.Doc.Pereche Cont ]+ Alltrim(NVL(scc,'')) + *!* Endif + *!* Else + *!* Thisform.command3.Enabled = .F. + *!* Thisform.command3.Caption = [Nr.Doc.Pereche] + *!* ENDIF + + *!* modificare ROACONT v 2.4.4 + *** activez butonul TVA Incasare doar pentru incasari/plati sau pentru linia de TVA incasare + if tact.scc = [4428] or tact.scd = [4428] or tact.id_factd > 0 or tact.id_factc > 0 + Thisform.command5.Enabled = .T. + thisform.chkTVAEx.Enabled = .T. + else + Thisform.command5.Enabled = .F. + thisform.chkTVAEx.Enabled = .F. + endif + *!* modificare ROACONT v 2.4.4 ^ + + *** dezactivez butonul de copiere pentru inregistrarile TVA incasare + *** sa nu se copie ID_FACT din greseala + if (tact.scd = [4428] and tact.scc = [4427] and !empty(nvl(perechec,0))) or (tact.scd = [4426] and tact.scd = [4428] and !empty(nvl(pereched,0))) + Thisform.but_copiaza1.Enabled = .F. + else + Thisform.but_copiaza1.Enabled = .T. + endif + + + ENDIF && llReadOnly + ENDPROC + + PROCEDURE Grid1.BeforeRowColChange + LPARAMETERS nColIndex + IF thisform.pncolumnorder # nColIndex + STORE [] TO thisform.pccontrol + ENDIF + ENDPROC + + PROCEDURE Grid1.Column10.Text1.InteractiveChange + ADDPROPERTY(this, 'lInteractiveChange') + LOCAL lnIdPart + lnIdPart = Thisform.alege_partener("C") + IF NVL(lnIdPart,0) = 0 + REPLACE partc WITH "", id_partc WITH 0 IN tAct + ENDIF + REMOVEPROPERTY(this, 'lInteractiveChange') + ENDPROC + + PROCEDURE Grid1.Column10.Text1.LostFocus + If !Pemstatus(This,'lInteractiveChange', 5) && daca exista proprietatea, sunt inca in codul din interactivechange si nu vreau sa declansez lostfocus + If Empty(Nvl(tact.partc,'')) + Thisform.alege_partener("C", .T.) + Endif + Endif + + ENDPROC + + PROCEDURE Grid1.Column13.Text1.GotFocus + thisform.pccontrol = ALLTRIM(this.ControlSource) + + ENDPROC + + PROCEDURE Grid1.Column13.Text1.InteractiveChange + thisform.command3.Click(1) + ENDPROC + + PROCEDURE Grid1.Column15.Text1.GotFocus + thisform.pccontrol = ALLTRIM(this.ControlSource) + thisform.pcx_item = 'x15' + thisform.pnid_item = 15 + thisform.pncolumnorder = this.Parent.ColumnOrder + ENDPROC + + PROCEDURE Grid1.Column15.Text1.InteractiveChange + locauta = thisform.do_modifica(thisform.pcx_item, thisform.pccontrol, thisform.pnid_item) + ENDPROC + + PROCEDURE Grid1.Column15.Text1.LostFocus + *thisform.cnomenclator.Enabled = .F. + ENDPROC + + PROCEDURE Grid1.Column16.Text1.GotFocus + thisform.pccontrol = ALLTRIM(this.ControlSource) + thisform.pcx_item = 'x13' + thisform.pnid_item = 13 + thisform.pncolumnorder = this.Parent.ColumnOrder + ENDPROC + + PROCEDURE Grid1.Column16.Text1.InteractiveChange + locauta = thisform.do_modifica(thisform.pcx_item, thisform.pccontrol, thisform.pnid_item) + ENDPROC + + PROCEDURE Grid1.Column16.Text1.LostFocus + *thisform.cnomenclator.Enabled = .F. + ENDPROC + + PROCEDURE Grid1.Column17.Text1.GotFocus + thisform.pccontrol = ALLTRIM(this.ControlSource) + thisform.pcx_item = 'x14' + thisform.pnid_item = 14 + thisform.pncolumnorder = this.Parent.ColumnOrder + ENDPROC + + PROCEDURE Grid1.Column17.Text1.InteractiveChange + locauta = thisform.do_modifica(thisform.pcx_item, thisform.pccontrol, thisform.pnid_item) + ENDPROC + + PROCEDURE Grid1.Column17.Text1.LostFocus + *thisform.cnomenclator.Enabled = .F. + ENDPROC + + PROCEDURE Grid1.Column2.Text1.Valid + Local llValid + llValid = thisform.valideaza_data("dataireg") + IF !llValid + RETURN 0 + ENDIF + ENDPROC + + PROCEDURE Grid1.Column20.Text1.LostFocus + SELECT tact + IF !EMPTY(suma_val) OR !EMPTY(curs) + REPLACE suma WITH ROUND(suma_val*curs, m.gnPA) + ENDIF + ENDPROC + + PROCEDURE Grid1.Column21.Text1.LostFocus + SELECT tact + IF !EMPTY(suma_val) OR !EMPTY(curs) + REPLACE suma WITH ROUND(suma_val*curs, m.gnPA) + ENDIF + ENDPROC + + PROCEDURE Grid1.Column22.Text1.GotFocus + thisform.pccontrol = ALLTRIM(this.ControlSource) + thisform.pcx_item = 'x9' + thisform.pnid_item = 9 + thisform.pncolumnorder = this.Parent.ColumnOrder + ENDPROC + + PROCEDURE Grid1.Column22.Text1.InteractiveChange + locauta = thisform.do_modifica(thisform.pcx_item, thisform.pccontrol, thisform.pnid_item) + ENDPROC + + PROCEDURE Grid1.Column23.Text1.Click + this.LostFocus(.t.) + ENDPROC + + PROCEDURE Grid1.Column23.Text1.LostFocus + Parameters PlClick + Local lcAcont, lcAcontOriginal, lcCont, llReturn, lnRecno + Select tAct + lcCont = Alltrim(scd) + lcAcont = Alltrim(ascd) + lcAcontOriginal = Alltrim(Nvl(Thisform.cAcont, '')) + lnRecno = Recno('tAct') + + llReturn = verific_analitic(PlClick, lcCont, lcAcont, 'ascd', 'tact') && in oOperatii_comune.prg + + If m.llReturn + Select tAct + lcAcont = Alltrim(tAct.ascd) && se poate modifica dupa ce verific_analitic() + Locate For ales + IF FOUND() AND AMESSAGEBOX('Doriti sa inlocuiti contul ' + m.lcCont + '.' + m.lcAcont + ' in toate inregistrarile selectate cu contul ' + m.lcCont + '.' + m.lcAcontOriginal + '?' ,4+32,_Screen.Caption) = 6 + Replace All ascd With m.lcAcont For ales And Alltrim(scd) == m.lcCont And Alltrim(Nvl(ascd, '')) == m.lcAcontOriginal + ELSE + If Thisform.chkCtAnalitic.Value = 1 && copiez contul analitic pe randurile fara analitic ale aceluiasi cont + Replace All ascd With m.lcAcont For Alltrim(scd) == m.lcCont And Alltrim(Nvl(ascd, '')) == m.lcAcontOriginal + ENDIF + ENDIF + Goto lnRecno + Endif + + ENDPROC + + PROCEDURE Grid1.Column23.Text1.When + Thisform.cAcont = tAct.ascd + ENDPROC + + PROCEDURE Grid1.Column24.Text1.Click + this.LostFocus(.t.) + ENDPROC + + PROCEDURE Grid1.Column24.Text1.LostFocus + Parameters PlClick + Local lcAcont, lcAcontOriginal, lcCont, llReturn, lnRecno + Select tAct + lcCont = Alltrim(scc) + lcAcont = Alltrim(ascc) + lcAcontOriginal = Alltrim(Nvl(Thisform.cAcont, '')) + lnRecno = Recno('tAct') + + llReturn = verific_analitic(PlClick, lcCont, lcAcont, 'ascc', 'tact') && in oOperatii_comune.prg + + If m.llReturn + + Select tAct + lcAcont = Alltrim(tAct.ascc) && se poate modifica dupa ce verific_analitic() + Locate For ales + IF FOUND() AND AMESSAGEBOX('Doriti sa inlocuiti contul ' + m.lcCont + '.' + m.lcAcont + ' in toate inregistrarile selectate cu contul ' + m.lcCont + '.' + m.lcAcontOriginal + '?' ,4+32,_Screen.Caption) = 6 + Replace All ascc With m.lcAcont For ales And Alltrim(scc) == m.lcCont And Alltrim(Nvl(ascc, '')) == m.lcAcontOriginal + ELSE + If Thisform.chkCtAnalitic.Value = 1 && copiez contul analitic pe randurile fara analitic ale aceluiasi cont + Replace All ascc With m.lcAcont For Alltrim(scc) == m.lcCont And Alltrim(Nvl(ascc, '')) == m.lcAcontOriginal + ENDIF + ENDIF + Goto lnRecno + Endif + + ENDPROC + + PROCEDURE Grid1.Column24.Text1.When + Thisform.cAcont = tAct.ascc + ENDPROC + + PROCEDURE Grid1.Column27.Text1.GotFocus + thisform.pccontrol = ALLTRIM(this.ControlSource) + ENDPROC + + PROCEDURE Grid1.Column27.Text1.InteractiveChange + thisform.command6.Click(0) + ENDPROC + + PROCEDURE Grid1.Column28.Text1.GotFocus + thisform.pccontrol = ALLTRIM(this.ControlSource) + thisform.pcx_item = 'x16' + thisform.pnid_item = 16 + thisform.pncolumnorder = this.Parent.ColumnOrder + ENDPROC + + PROCEDURE Grid1.Column28.Text1.InteractiveChange + locauta = thisform.do_modifica(thisform.pcx_item, thisform.pccontrol, thisform.pnid_item) + ENDPROC + + PROCEDURE Grid1.Column28.Text1.LostFocus + *thisform.cnomenclator.Enabled = .F. + ENDPROC + + PROCEDURE Grid1.Column29.Text1.GotFocus + thisform.pccontrol = ALLTRIM(this.ControlSource) + thisform.pcx_item = 'x11' + thisform.pnid_item = 11 + thisform.pncolumnorder = this.Parent.ColumnOrder + ENDPROC + + PROCEDURE Grid1.Column29.Text1.InteractiveChange + locauta = thisform.do_modifica(thisform.pcx_item, thisform.pccontrol, thisform.pnid_item) + ENDPROC + + PROCEDURE Grid1.Column29.Text1.LostFocus + *thisform.cnomenclator.Enabled = .F. + ENDPROC + + PROCEDURE Grid1.Column3.Text1.GotFocus + thisform.pccontrol = ALLTRIM(this.ControlSource) + thisform.pcx_item = 'x2' + thisform.pnid_item = 2 + thisform.pncolumnorder = this.Parent.ColumnOrder + ENDPROC + + PROCEDURE Grid1.Column3.Text1.InteractiveChange + ADDPROPERTY(this, 'lInteractiveChange') + locauta = thisform.do_modifica(thisform.pcx_item, thisform.pccontrol, thisform.pnid_item) + REMOVEPROPERTY(this, 'lInteractiveChange') + ENDPROC + + PROCEDURE Grid1.Column3.Text1.LostFocus + *thisform.cnomenclator.Enabled = .F. + IF !PEMSTATUS(this,'lInteractiveChange', 5) && daca exista proprietatea, sunt inca in codul din interactivechange si nu vreau sa declansez lostfocus + IF EMPTY(NVL(tact.fdoc,'')) + locauta = thisform.do_modifica(thisform.pcx_item, thisform.pccontrol, thisform.pnid_item) + ENDIF + ENDIF + ENDPROC + + PROCEDURE Grid1.Column32.Text1.GotFocus + thisform.pccontrol = ALLTRIM(this.ControlSource) + thisform.pcx_item = 'x10' + thisform.pnid_item = 10 + thisform.pncolumnorder = this.Parent.ColumnOrder + ENDPROC + + PROCEDURE Grid1.Column32.Text1.InteractiveChange + locauta = thisform.do_modifica(thisform.pcx_item, thisform.pccontrol, thisform.pnid_item) + ENDPROC + + PROCEDURE Grid1.Column33.Text1.GotFocus + *!* 08.02.2007 sa nu se modifice sucursala - se seteaza automat in baza de date in oscrie_in_fisiere.prg + + *!* SELECT x_item FROM xitems WHERE ALLTRIM(UPPER(label_item)) == 'SUCURSALA' INTO CURSOR crsItem + *!* SELECT crsItem + *!* IF RECCOUNT() = 0 OR EMPTY(x_item) + *!* thisform.pcx_item = 'x29' && XITEM DIN CONTABILITATE + *!* ELSE + *!* thisform.pcx_item = x_item && 'x32' IN XITEM DIN GESTIUNI + *!* ENDIF + *!* USE IN crsItem + + *!* thisform.pccontrol = ALLTRIM(this.ControlSource) + *!* thisform.pncolumnorder = this.Parent.ColumnOrder + + *!* 08.02.2007 ^ + *!* 24.05.2011 + *!* marius.mutu + *!* in pack_contafin.scrie_in_act nu se mai suprascrie id_sucursala completat + thisform.pccontrol = ALLTRIM(this.ControlSource) + thisform.pcx_item = 'x31' + thisform.pnid_item = 68 + thisform.pncolumnorder = this.Parent.ColumnOrder + *!* 24.05.2011 ^ + ENDPROC + + PROCEDURE Grid1.Column33.Text1.InteractiveChange + *!* 24.05.2011 + *!* marius.mutu + *!* se poate modifica sucursala doar daca sunt in mama + *!* altfel nu se refac corect balantele, inregistrarile + IF m.glEMama + locauta = thisform.do_modifica(thisform.pcx_item, thisform.pccontrol, thisform.pnid_item) + ENDIF + *!* 24.05.2011 ^ + + ENDPROC + + PROCEDURE Grid1.Column33.Text1.When + *!* 24.05.2011 + *!* marius.mutu + *!* se poate modifica sucursala doar daca sunt in mama + *!* altfel nu se refac corect balantele, inregistrarile + RETURN m.glEMama + *!* 24.05.2011 ^ + ENDPROC + + PROCEDURE Grid1.Column34.Text1.GotFocus + thisform.pccontrol = ALLTRIM(this.ControlSource) + thisform.pcx_item = 'x70' + thisform.pnid_item = 70 + thisform.pncolumnorder = this.Parent.ColumnOrder + ENDPROC + + PROCEDURE Grid1.Column34.Text1.InteractiveChange + locauta = thisform.do_modifica(thisform.pcx_item, thisform.pccontrol, thisform.pnid_item) + ENDPROC + + PROCEDURE Grid1.Column35.Text1.InteractiveChange + Thisform.do_modifica_explicatie_tva() + ENDPROC + + PROCEDURE Grid1.Column36._CHECKBOX1.Click + If tact.cu_tva = 1 + Thisform.command4.Enabled = .T. + Else + Thisform.command4.Enabled = .F. + Replace id_jtva_coloana With NULL, explicatie_Tva With '', proc_tva With 0, taxcode WITH NULL IN tact + ENDIF + + ENDPROC + + PROCEDURE Grid1.Column36._CHECKBOX1.KeyPress + Lparameters nKeyCode, nShiftAltCtrl + If nKeyCode=13 + Nodefault + This.Parent.Parent.column26.SetFocus() + + Endif + + ENDPROC + + PROCEDURE Grid1.Column4.Text1.Valid + Local llValid + llValid = thisform.valideaza_data("dataact") + IF !llValid + RETURN 0 + ENDIF + ENDPROC + + PROCEDURE Grid1.Column42._combobox1.Valid + Local lnTaxCodeNou, lnTaxCodeOriginal, lnRecno + + Select tact + lnRecno = Recno() + + lnTaxCodeOriginal = thisform.nTaxCode + lnTaxCodeNou = tAct.taxcode + + If NVL(m.lnTaxCodeNou,0) <> NVL(m.lnTaxCodeOriginal,0) + Locate For ales + If Found() And AMESSAGEBOX('Doriti sa inlocuiti codul de taxa "' + TRANSFORM(m.lnTaxCodeOriginal) + '" in toate inregistrarile selectate cu codul "' + TRANSFORM(m.lnTaxCodeNou) + '"?' ,4+32,_Screen.Caption) = 6 + Select tact + Replace taxcode With m.lnTaxCodeNou For NVL(taxcode,0) = NVL(m.lnTaxCodeOriginal,0) And ales + Endif + + Goto m.lnRecno + ENDIF + + RETURN .T. + ENDPROC + + PROCEDURE Grid1.Column42._combobox1.When + Thisform.nTaxCode = tAct.taxcode + ENDPROC + + PROCEDURE Grid1.Column43._combobox1.LostFocus + This.ForeColor = RGB(0,0,0) + + + ENDPROC + + PROCEDURE Grid1.Column43._combobox1.Valid + Local lcPaymentCodeNou, lcPaymentCodeOriginal, lnRecno + + Select tact + lnRecno = Recno() + + lcPaymentCodeOriginal = thisform.cPaymentCode + lcPaymentCodeNou = ALLTRIM(tAct.paymentcode) + + If NVL(m.lcPaymentCodeNou, '') <> NVL(m.lcPaymentCodeOriginal, '') + Locate For ales + If Found() And AMESSAGEBOX('Doriti sa inlocuiti codul de plata "' + m.lcPaymentCodeOriginal + '" in toate inregistrarile selectate cu codul "' + m.lcPaymentCodeNou + '"?' ,4+32,_Screen.Caption) = 6 + Select tact + Replace paymentcode With m.lcPaymentCodeNou For Alltrim(NVL(paymentcode,'')) = ALLTRIM(NVL(m.lcPaymentCodeOriginal, '')) And ales + Endif + + Goto m.lnRecno + ENDIF + + RETURN .T. + ENDPROC + + PROCEDURE Grid1.Column43._combobox1.When + thisform.cPaymentCode = ALLTRIM(tAct.paymentcode) + ENDPROC + + PROCEDURE Grid1.Column6.Text1.InteractiveChange + ADDPROPERTY(this, 'lInteractiveChange') + LOCAL lnIdPart + lnIdPart = Thisform.alege_partener("D") + IF NVL(lnIdPart,0) = 0 + REPLACE partd WITH "", id_partd WITH 0 IN tAct + ENDIF + + REMOVEPROPERTY(this, 'lInteractiveChange') + + + + + ENDPROC + + PROCEDURE Grid1.Column6.Text1.LostFocus + If !Pemstatus(This,'lInteractiveChange', 5) && daca exista proprietatea, sunt inca in codul din interactivechange si nu vreau sa declansez lostfocus + If Empty(Nvl(tact.partd,'')) + Thisform.alege_partener("D", .T.) + Endif + Endif + + ENDPROC + + PROCEDURE Grid1.Column7.Text1.LostFocus + Local lcContNou, lcContOriginal, llReturn, lnRecno + lcContOriginal = Thisform.cCont + lcContNou = Alltrim(scd) + If Empty(m.lcContNou) + Return + Endif + llReturn = exista_cont_in_plan_conturi(m.lcContNou) && in oOperatii_comune.prg + IF !m.llReturn + RETURN m.llReturn + ENDIF + Select tact + lnRecno = Recno() + lcContNou = Alltrim(scd) && se poate modifica dupa verificarea in planul de conturi + If m.lcContNou <> m.lcContOriginal + Locate For ales + If Found() And AMESSAGEBOX('Doriti sa inlocuiti contul ' + m.lcContNou + ' in toate inregistrarile selectate cu contul ' + m.lcContOriginal + '?' ,4+32,_Screen.Caption) = 6 + Select tact + Replace scd With m.lcContNou For Alltrim(scd) = m.lcContOriginal And ales + Endif + + Goto m.lnRecno + ENDIF + + RETURN m.llReturn + ENDPROC + + PROCEDURE Grid1.Column7.Text1.When + Thisform.cCont = ALLTRIM(tact.scd) + ENDPROC + + PROCEDURE Grid1.Column8.Text1.LostFocus + Local lcContNou, lcContOriginal, llReturn, lnRecno + lcContOriginal = Thisform.cCont + lcContNou = Alltrim(scc) + If Empty(m.lcContNou) + Return + Endif + llReturn = exista_cont_in_plan_conturi(m.lcContNou) && in oOperatii_comune.prg + IF !m.llReturn + RETURN m.llReturn + ENDIF + Select tact + lnRecno = Recno() + lcContNou = Alltrim(scc) && se poate modifica dupa verificarea in planul de conturi + If m.lcContNou <> m.lcContOriginal + Locate For ales + If Found() And AMESSAGEBOX('Doriti sa inlocuiti contul ' + m.lcContNou + ' in toate inregistrarile selectate cu contul ' + m.lcContOriginal + '?' ,4+32,_Screen.Caption) = 6 + Select tact + Replace scc With m.lcContNou For Alltrim(scc) = m.lcContOriginal And ales + Endif + + Goto m.lnRecno + ENDIF + + RETURN m.llReturn + ENDPROC + + PROCEDURE Grid1.Column8.Text1.When + Thisform.cCont = ALLTRIM(tact.scc) + ENDPROC + + PROCEDURE Grid1.Column9.Text1.Valid + IF this.Value <> thisform.nOldSuma + Thisform.CalculeazaTotal() + ENDIF + ENDPROC + + PROCEDURE Grid1.Column9.Text1.When + Thisform.nOldSuma = this.Value + ENDPROC + + PROCEDURE Gridextra1.applyfilter + DODEFAULT() + Thisform.CalculeazaTotal() + ENDPROC + + PROCEDURE Gridextra1.clearfilter + DODEFAULT() + Thisform.CalculeazaTotal() + ENDPROC + + PROCEDURE pgfArticole.PAGE1.grdRulaje.AfterRowColChange + Lparameters nColIndex + + If Thisform.pncolumnorder = nColIndex + Thisform.but_modificaR.Enabled = .T. + Else + Thisform.but_modificaR.Enabled = .F. + Endif + + ENDPROC + + PROCEDURE pgfArticole.PAGE1.grdRulaje.BeforeRowColChange + LPARAMETERS nColIndex + IF thisform.pncolumnorder # nColIndex + STORE [] TO thisform.pccontrol + ENDIF + ENDPROC + + PROCEDURE pgfArticole.PAGE1.grdRulaje.cCant.Text1.Valid + IF NVL(thisform.oldvalue, 0) <> NVL(this.Value, 0) + Thisform.calculeaza_valori_rul(this.ControlSource) + thisform.oldvalue = this.Value + ENDIF + ENDPROC + + PROCEDURE pgfArticole.PAGE1.grdRulaje.cCant.Text1.When + thisform.oldvalue = this.Value + ENDPROC + + PROCEDURE pgfArticole.PAGE1.grdRulaje.cCante.Text1.Valid + IF NVL(thisform.oldvalue, 0) <> NVL(this.Value, 0) + Thisform.calculeaza_valori_rul(this.ControlSource) + thisform.oldvalue = this.Value + ENDIF + ENDPROC + + PROCEDURE pgfArticole.PAGE1.grdRulaje.cCante.Text1.When + thisform.oldvalue = this.Value + ENDPROC + + PROCEDURE pgfArticole.PAGE1.grdRulaje.cDenumire.Text1.GotFocus + thisform.pccontrol = ALLTRIM(this.ControlSource) + thisform.pcx_item = '' + thisform.pnid_item = 101 + thisform.pncolumnorder = this.Parent.ColumnOrder + ENDPROC + + PROCEDURE pgfArticole.PAGE1.grdRulaje.cDenumire.Text1.InteractiveChange + ADDPROPERTY(this, 'lInteractiveChange') + locauta = thisform.do_modifica(thisform.pcx_item, thisform.pccontrol, thisform.pnid_item, 'trul') + REMOVEPROPERTY(this, 'lInteractiveChange') + ENDPROC + + PROCEDURE pgfArticole.PAGE1.grdRulaje.cDenumire.Text1.LostFocus + IF !PEMSTATUS(this,'lInteractiveChange', 5) && daca exista proprietatea, sunt inca in codul din interactivechange si nu vreau sa declansez lostfocus + IF EMPTY(NVL(trul.denumire,'')) + locauta = thisform.do_modifica(thisform.pcx_item, thisform.pccontrol, thisform.pnid_item, 'trul') + ENDIF + ENDIF + ENDPROC + + PROCEDURE pgfArticole.PAGE1.grdRulaje.cExplicatieTVA._combobox1.Valid + Thisform.UpdateExplicatieSAFTRul() + ENDPROC + + PROCEDURE pgfArticole.PAGE1.grdRulaje.cGest.Text1.GotFocus + thisform.pccontrol = ALLTRIM(this.ControlSource) + thisform.pcx_item = 'x9' + thisform.pnid_item = 9 + thisform.pncolumnorder = this.Parent.ColumnOrder + ENDPROC + + PROCEDURE pgfArticole.PAGE1.grdRulaje.cGest.Text1.InteractiveChange + ADDPROPERTY(this, 'lInteractiveChange') + locauta = thisform.do_modifica(thisform.pcx_item, thisform.pccontrol, thisform.pnid_item, 'trul') + REMOVEPROPERTY(this, 'lInteractiveChange') + ENDPROC + + PROCEDURE pgfArticole.PAGE1.grdRulaje.cGest.Text1.LostFocus + IF !PEMSTATUS(this,'lInteractiveChange', 5) && daca exista proprietatea, sunt inca in codul din interactivechange si nu vreau sa declansez lostfocus + IF EMPTY(NVL(trul.cgest,'')) + locauta = thisform.do_modifica(thisform.pcx_item, thisform.pccontrol, thisform.pnid_item, 'trul') + ENDIF + ENDIF + ENDPROC + + PROCEDURE pgfArticole.PAGE1.grdRulaje.cGestC.Text1.GotFocus + thisform.pccontrol = ALLTRIM(this.ControlSource) + thisform.pcx_item = 'x9' + thisform.pnid_item = 9 + thisform.pncolumnorder = this.Parent.ColumnOrder + ENDPROC + + PROCEDURE pgfArticole.PAGE1.grdRulaje.cGestC.Text1.InteractiveChange + ADDPROPERTY(this, 'lInteractiveChange') + locauta = thisform.do_modifica(thisform.pcx_item, thisform.pccontrol, thisform.pnid_item, 'trul') + REMOVEPROPERTY(this, 'lInteractiveChange') + ENDPROC + + PROCEDURE pgfArticole.PAGE1.grdRulaje.cNresp.Text1.GotFocus + thisform.pccontrol = ALLTRIM(this.ControlSource) + thisform.pcx_item = 'x13' + thisform.pnid_item = 13 + thisform.pncolumnorder = this.Parent.ColumnOrder + ENDPROC + + PROCEDURE pgfArticole.PAGE1.grdRulaje.cNresp.Text1.InteractiveChange + ADDPROPERTY(this, 'lInteractiveChange') + locauta = thisform.do_modifica(thisform.pcx_item, thisform.pccontrol, thisform.pnid_item, 'trul') + REMOVEPROPERTY(this, 'lInteractiveChange') + ENDPROC + + PROCEDURE pgfArticole.PAGE1.grdRulaje.cNrespC.Text1.GotFocus + thisform.pccontrol = ALLTRIM(this.ControlSource) + thisform.pcx_item = 'x13' + thisform.pnid_item = 13 + thisform.pncolumnorder = this.Parent.ColumnOrder + ENDPROC + + PROCEDURE pgfArticole.PAGE1.grdRulaje.cNrespC.Text1.InteractiveChange + ADDPROPERTY(this, 'lInteractiveChange') + locauta = thisform.do_modifica(thisform.pcx_item, thisform.pccontrol, thisform.pnid_item, 'trul') + REMOVEPROPERTY(this, 'lInteractiveChange') + ENDPROC + + PROCEDURE pgfArticole.PAGE1.grdRulaje.cNrord.Text1.GotFocus + thisform.pccontrol = ALLTRIM(this.ControlSource) + thisform.pcx_item = 'x15' + thisform.pnid_item = 15 + thisform.pncolumnorder = this.Parent.ColumnOrder + ENDPROC + + PROCEDURE pgfArticole.PAGE1.grdRulaje.cNrord.Text1.InteractiveChange + ADDPROPERTY(this, 'lInteractiveChange') + locauta = thisform.do_modifica(thisform.pcx_item, thisform.pccontrol, thisform.pnid_item, 'trul') + REMOVEPROPERTY(this, 'lInteractiveChange') + ENDPROC + + PROCEDURE pgfArticole.PAGE1.grdRulaje.cNrord_rez.Text1.GotFocus + thisform.pccontrol = ALLTRIM(this.ControlSource) + thisform.pcx_item = 'x15' + thisform.pnid_item = 15 + thisform.pncolumnorder = this.Parent.ColumnOrder + ENDPROC + + PROCEDURE pgfArticole.PAGE1.grdRulaje.cNrord_rez.Text1.InteractiveChange + ADDPROPERTY(this, 'lInteractiveChange') + locauta = thisform.do_modifica(thisform.pcx_item, thisform.pccontrol, thisform.pnid_item, 'trul') + REMOVEPROPERTY(this, 'lInteractiveChange') + ENDPROC + + PROCEDURE pgfArticole.PAGE1.grdRulaje.cNume_val.Text1.GotFocus + thisform.pccontrol = ALLTRIM(this.ControlSource) + thisform.pcx_item = 'x11' + thisform.pnid_item = 11 + thisform.pncolumnorder = this.Parent.ColumnOrder + ENDPROC + + PROCEDURE pgfArticole.PAGE1.grdRulaje.cNume_val.Text1.InteractiveChange + ADDPROPERTY(this, 'lInteractiveChange') + locauta = thisform.do_modifica(thisform.pcx_item, thisform.pccontrol, thisform.pnid_item, 'trul') + REMOVEPROPERTY(this, 'lInteractiveChange') + ENDPROC + + PROCEDURE pgfArticole.PAGE1.grdRulaje.cPart_rez.Text1.GotFocus + thisform.pccontrol = ALLTRIM(this.ControlSource) + thisform.pcx_item = '' + thisform.pnid_item = 102 + thisform.pncolumnorder = this.Parent.ColumnOrder + ENDPROC + + PROCEDURE pgfArticole.PAGE1.grdRulaje.cPart_rez.Text1.InteractiveChange + ADDPROPERTY(this, 'lInteractiveChange') + locauta = thisform.do_modifica(thisform.pcx_item, thisform.pccontrol, thisform.pnid_item, 'trul') + REMOVEPROPERTY(this, 'lInteractiveChange') + ENDPROC + + PROCEDURE pgfArticole.PAGE1.grdRulaje.cPret.Text1.Valid + IF NVL(thisform.oldvalue, 0) <> NVL(this.Value, 0) + Thisform.calculeaza_valori_rul(this.ControlSource) + thisform.oldvalue = this.Value + ENDIF + ENDPROC + + PROCEDURE pgfArticole.PAGE1.grdRulaje.cPret.Text1.When + thisform.oldvalue = this.Value + ENDPROC + + PROCEDURE pgfArticole.PAGE1.grdRulaje.cPretv.Text1.Valid + IF NVL(thisform.oldvalue, 0) <> NVL(this.Value, 0) + Thisform.calculeaza_valori_rul(this.ControlSource) + thisform.oldvalue = this.Value + ENDIF + ENDPROC + + PROCEDURE pgfArticole.PAGE1.grdRulaje.cPretv.Text1.When + thisform.oldvalue = this.Value + ENDPROC + + PROCEDURE pgfArticole.PAGE1.grdRulaje.cPretvtva.Text1.Valid + IF NVL(thisform.oldvalue, 0) <> NVL(this.Value, 0) + Thisform.calculeaza_valori_rul(this.ControlSource) + thisform.oldvalue = this.Value + ENDIF + ENDPROC + + PROCEDURE pgfArticole.PAGE1.grdRulaje.cPretvtva.Text1.When + thisform.oldvalue = this.Value + ENDPROC + + PROCEDURE pgfArticole.PAGE1.grdRulaje.cProc_tva.Text1.Valid + IF NVL(thisform.oldvalue, 0) <> NVL(this.Value, 0) + Thisform.calculeaza_valori_rul(this.ControlSource) + thisform.oldvalue = this.Value + ENDIF + ENDPROC + + PROCEDURE pgfArticole.PAGE1.grdRulaje.cProc_tva.Text1.When + thisform.oldvalue = this.Value + ENDPROC + + PROCEDURE pgfArticole.PAGE1.grdRulaje.cProc_tvav.Text1.Valid + IF NVL(thisform.oldvalue, 0) <> NVL(this.Value, 0) + Thisform.calculeaza_valori_rul(this.ControlSource) + thisform.oldvalue = this.Value + ENDIF + ENDPROC + + PROCEDURE pgfArticole.PAGE1.grdRulaje.cProc_tvav.Text1.When + thisform.oldvalue = this.Value + ENDPROC + + PROCEDURE pgfArticole.PAGE1.grdRulaje.cSectie.Text1.GotFocus + thisform.pccontrol = ALLTRIM(this.ControlSource) + thisform.pcx_item = 'x16' + thisform.pnid_item = 16 + thisform.pncolumnorder = this.Parent.ColumnOrder + ENDPROC + + PROCEDURE pgfArticole.PAGE1.grdRulaje.cSectie.Text1.InteractiveChange + ADDPROPERTY(this, 'lInteractiveChange') + locauta = thisform.do_modifica(thisform.pcx_item, thisform.pccontrol, thisform.pnid_item, 'trul') + REMOVEPROPERTY(this, 'lInteractiveChange') + ENDPROC + + PROCEDURE pgfArticole.PAGE1.grdRulaje.cTva.Text1.Valid + IF NVL(thisform.oldvalue, 0) <> NVL(this.Value, 0) + Thisform.calculeaza_valori_rul(this.ControlSource) + thisform.oldvalue = this.Value + ENDIF + ENDPROC + + PROCEDURE pgfArticole.PAGE1.grdRulaje.cTva.Text1.When + thisform.oldvalue = this.Value + ENDPROC + + PROCEDURE pgfArticole.PAGE1.grdRulaje.cTvav.Text1.Valid + IF NVL(thisform.oldvalue, 0) <> NVL(this.Value, 0) + Thisform.calculeaza_valori_rul(this.ControlSource) + thisform.oldvalue = this.Value + ENDIF + ENDPROC + + PROCEDURE pgfArticole.PAGE1.grdRulaje.cTvav.Text1.When + thisform.oldvalue = this.Value + ENDPROC + + PROCEDURE pgfArticole.PAGE1.grdRulaje.Init + *Nu sterge + ENDPROC + + PROCEDURE pgfArticole.PAGE2.grdRulajeObinv.AfterRowColChange + Lparameters nColIndex + + If Thisform.pncolumnorder = nColIndex + Thisform.but_modificaR.Enabled = .T. + Else + Thisform.but_modificaR.Enabled = .F. + Endif + + ENDPROC + + PROCEDURE pgfArticole.PAGE2.grdRulajeObinv.BeforeRowColChange + LPARAMETERS nColIndex + IF thisform.pncolumnorder # nColIndex + STORE [] TO thisform.pccontrol + ENDIF + ENDPROC + + PROCEDURE pgfArticole.PAGE2.grdRulajeObinv.cCant.Text1.Valid + IF NVL(thisform.oldvalue, 0) <> NVL(this.Value, 0) + Thisform.calculeaza_valori_rul(this.ControlSource) + thisform.oldvalue = this.Value + ENDIF + ENDPROC + + PROCEDURE pgfArticole.PAGE2.grdRulajeObinv.cCant.Text1.When + thisform.oldvalue = this.Value + ENDPROC + + PROCEDURE pgfArticole.PAGE2.grdRulajeObinv.cCante.Text1.Valid + IF NVL(thisform.oldvalue, 0) <> NVL(this.Value, 0) + Thisform.calculeaza_valori_rul(this.ControlSource) + thisform.oldvalue = this.Value + ENDIF + ENDPROC + + PROCEDURE pgfArticole.PAGE2.grdRulajeObinv.cCante.Text1.When + thisform.oldvalue = this.Value + ENDPROC + + PROCEDURE pgfArticole.PAGE2.grdRulajeObinv.cDenumire.Text1.GotFocus + thisform.pccontrol = ALLTRIM(this.ControlSource) + thisform.pcx_item = '' + thisform.pnid_item = 101 + thisform.pncolumnorder = this.Parent.ColumnOrder + ENDPROC + + PROCEDURE pgfArticole.PAGE2.grdRulajeObinv.cDenumire.Text1.InteractiveChange + ADDPROPERTY(this, 'lInteractiveChange') + locauta = thisform.do_modifica(thisform.pcx_item, thisform.pccontrol, thisform.pnid_item, 'trul_obinv') + REMOVEPROPERTY(this, 'lInteractiveChange') + ENDPROC + + PROCEDURE pgfArticole.PAGE2.grdRulajeObinv.cDenumire.Text1.LostFocus + IF !PEMSTATUS(this,'lInteractiveChange', 5) && daca exista proprietatea, sunt inca in codul din interactivechange si nu vreau sa declansez lostfocus + IF EMPTY(NVL(trul_obinv.denumire,'')) + locauta = thisform.do_modifica(thisform.pcx_item, thisform.pccontrol, thisform.pnid_item, 'trul_obinv') + ENDIF + ENDIF + ENDPROC + + PROCEDURE pgfArticole.PAGE2.grdRulajeObinv.cGest.Text1.GotFocus + thisform.pccontrol = ALLTRIM(this.ControlSource) + thisform.pcx_item = 'x9' + thisform.pnid_item = 9 + thisform.pncolumnorder = this.Parent.ColumnOrder + ENDPROC + + PROCEDURE pgfArticole.PAGE2.grdRulajeObinv.cGest.Text1.InteractiveChange + ADDPROPERTY(this, 'lInteractiveChange') + locauta = thisform.do_modifica(thisform.pcx_item, thisform.pccontrol, thisform.pnid_item, 'trul_obinv') + REMOVEPROPERTY(this, 'lInteractiveChange') + ENDPROC + + PROCEDURE pgfArticole.PAGE2.grdRulajeObinv.cGest.Text1.LostFocus + IF !PEMSTATUS(this,'lInteractiveChange', 5) && daca exista proprietatea, sunt inca in codul din interactivechange si nu vreau sa declansez lostfocus + IF EMPTY(NVL(trul_obinv.cgest,'')) + locauta = thisform.do_modifica(thisform.pcx_item, thisform.pccontrol, thisform.pnid_item, 'trul_obinv') + ENDIF + ENDIF + ENDPROC + + PROCEDURE pgfArticole.PAGE2.grdRulajeObinv.cGestC.Text1.GotFocus + thisform.pccontrol = ALLTRIM(this.ControlSource) + thisform.pcx_item = 'x9' + thisform.pnid_item = 9 + thisform.pncolumnorder = this.Parent.ColumnOrder + ENDPROC + + PROCEDURE pgfArticole.PAGE2.grdRulajeObinv.cGestC.Text1.InteractiveChange + ADDPROPERTY(this, 'lInteractiveChange') + locauta = thisform.do_modifica(thisform.pcx_item, thisform.pccontrol, thisform.pnid_item, 'trul_obinv') + REMOVEPROPERTY(this, 'lInteractiveChange') + ENDPROC + + PROCEDURE pgfArticole.PAGE2.grdRulajeObinv.cNresp.Text1.GotFocus + thisform.pccontrol = ALLTRIM(this.ControlSource) + thisform.pcx_item = 'x13' + thisform.pnid_item = 13 + thisform.pncolumnorder = this.Parent.ColumnOrder + ENDPROC + + PROCEDURE pgfArticole.PAGE2.grdRulajeObinv.cNresp.Text1.InteractiveChange + ADDPROPERTY(this, 'lInteractiveChange') + locauta = thisform.do_modifica(thisform.pcx_item, thisform.pccontrol, thisform.pnid_item, 'trul_obinv') + REMOVEPROPERTY(this, 'lInteractiveChange') + ENDPROC + + PROCEDURE pgfArticole.PAGE2.grdRulajeObinv.cNrespC.Text1.GotFocus + thisform.pccontrol = ALLTRIM(this.ControlSource) + thisform.pcx_item = 'x13' + thisform.pnid_item = 13 + thisform.pncolumnorder = this.Parent.ColumnOrder + ENDPROC + + PROCEDURE pgfArticole.PAGE2.grdRulajeObinv.cNrespC.Text1.InteractiveChange + ADDPROPERTY(this, 'lInteractiveChange') + locauta = thisform.do_modifica(thisform.pcx_item, thisform.pccontrol, thisform.pnid_item, 'trul_obinv') + REMOVEPROPERTY(this, 'lInteractiveChange') + ENDPROC + + PROCEDURE pgfArticole.PAGE2.grdRulajeObinv.cNrord.Text1.GotFocus + thisform.pccontrol = ALLTRIM(this.ControlSource) + thisform.pcx_item = 'x15' + thisform.pnid_item = 15 + thisform.pncolumnorder = this.Parent.ColumnOrder + ENDPROC + + PROCEDURE pgfArticole.PAGE2.grdRulajeObinv.cNrord.Text1.InteractiveChange + ADDPROPERTY(this, 'lInteractiveChange') + locauta = thisform.do_modifica(thisform.pcx_item, thisform.pccontrol, thisform.pnid_item, 'trul_obinv') + REMOVEPROPERTY(this, 'lInteractiveChange') + ENDPROC + + PROCEDURE pgfArticole.PAGE2.grdRulajeObinv.cNrord_rez.Text1.GotFocus + thisform.pccontrol = ALLTRIM(this.ControlSource) + thisform.pcx_item = 'x15' + thisform.pnid_item = 15 + thisform.pncolumnorder = this.Parent.ColumnOrder + ENDPROC + + PROCEDURE pgfArticole.PAGE2.grdRulajeObinv.cNrord_rez.Text1.InteractiveChange + ADDPROPERTY(this, 'lInteractiveChange') + locauta = thisform.do_modifica(thisform.pcx_item, thisform.pccontrol, thisform.pnid_item, 'trul_obinv') + REMOVEPROPERTY(this, 'lInteractiveChange') + ENDPROC + + PROCEDURE pgfArticole.PAGE2.grdRulajeObinv.cNume_val.Text1.GotFocus + thisform.pccontrol = ALLTRIM(this.ControlSource) + thisform.pcx_item = 'x11' + thisform.pnid_item = 11 + thisform.pncolumnorder = this.Parent.ColumnOrder + ENDPROC + + PROCEDURE pgfArticole.PAGE2.grdRulajeObinv.cNume_val.Text1.InteractiveChange + ADDPROPERTY(this, 'lInteractiveChange') + locauta = thisform.do_modifica(thisform.pcx_item, thisform.pccontrol, thisform.pnid_item, 'trul_obinv') + REMOVEPROPERTY(this, 'lInteractiveChange') + ENDPROC + + PROCEDURE pgfArticole.PAGE2.grdRulajeObinv.cPart_rez.Text1.GotFocus + thisform.pccontrol = ALLTRIM(this.ControlSource) + thisform.pcx_item = '' + thisform.pnid_item = 102 + thisform.pncolumnorder = this.Parent.ColumnOrder + ENDPROC + + PROCEDURE pgfArticole.PAGE2.grdRulajeObinv.cPart_rez.Text1.InteractiveChange + ADDPROPERTY(this, 'lInteractiveChange') + locauta = thisform.do_modifica(thisform.pcx_item, thisform.pccontrol, thisform.pnid_item, 'trul_obinv') + REMOVEPROPERTY(this, 'lInteractiveChange') + ENDPROC + + PROCEDURE pgfArticole.PAGE2.grdRulajeObinv.cPret.Text1.Valid + IF NVL(thisform.oldvalue, 0) <> NVL(this.Value, 0) + Thisform.calculeaza_valori_rul(this.ControlSource) + thisform.oldvalue = this.Value + ENDIF + ENDPROC + + PROCEDURE pgfArticole.PAGE2.grdRulajeObinv.cPret.Text1.When + thisform.oldvalue = this.Value + ENDPROC + + PROCEDURE pgfArticole.PAGE2.grdRulajeObinv.cPretv.Text1.Valid + IF NVL(thisform.oldvalue, 0) <> NVL(this.Value, 0) + Thisform.calculeaza_valori_rul(this.ControlSource) + thisform.oldvalue = this.Value + ENDIF + ENDPROC + + PROCEDURE pgfArticole.PAGE2.grdRulajeObinv.cPretv.Text1.When + thisform.oldvalue = this.Value + ENDPROC + + PROCEDURE pgfArticole.PAGE2.grdRulajeObinv.cPretvtva.Text1.Valid + IF NVL(thisform.oldvalue, 0) <> NVL(this.Value, 0) + Thisform.calculeaza_valori_rul(this.ControlSource) + thisform.oldvalue = this.Value + ENDIF + ENDPROC + + PROCEDURE pgfArticole.PAGE2.grdRulajeObinv.cPretvtva.Text1.When + thisform.oldvalue = this.Value + ENDPROC + + PROCEDURE pgfArticole.PAGE2.grdRulajeObinv.cProc_tva.Text1.Valid + IF NVL(thisform.oldvalue, 0) <> NVL(this.Value, 0) + Thisform.calculeaza_valori_rul(this.ControlSource) + thisform.oldvalue = this.Value + ENDIF + ENDPROC + + PROCEDURE pgfArticole.PAGE2.grdRulajeObinv.cProc_tva.Text1.When + thisform.oldvalue = this.Value + ENDPROC + + PROCEDURE pgfArticole.PAGE2.grdRulajeObinv.cProc_tvav.Text1.Valid + IF NVL(thisform.oldvalue, 0) <> NVL(this.Value, 0) + Thisform.calculeaza_valori_rul(this.ControlSource) + thisform.oldvalue = this.Value + ENDIF + ENDPROC + + PROCEDURE pgfArticole.PAGE2.grdRulajeObinv.cProc_tvav.Text1.When + thisform.oldvalue = this.Value + ENDPROC + + PROCEDURE pgfArticole.PAGE2.grdRulajeObinv.cSectie.Text1.GotFocus + thisform.pccontrol = ALLTRIM(this.ControlSource) + thisform.pcx_item = 'x16' + thisform.pnid_item = 16 + thisform.pncolumnorder = this.Parent.ColumnOrder + ENDPROC + + PROCEDURE pgfArticole.PAGE2.grdRulajeObinv.cSectie.Text1.InteractiveChange + ADDPROPERTY(this, 'lInteractiveChange') + locauta = thisform.do_modifica(thisform.pcx_item, thisform.pccontrol, thisform.pnid_item, 'trul_obinv') + REMOVEPROPERTY(this, 'lInteractiveChange') + ENDPROC + + PROCEDURE pgfArticole.PAGE2.grdRulajeObinv.cTva.Text1.Valid + IF NVL(thisform.oldvalue, 0) <> NVL(this.Value, 0) + Thisform.calculeaza_valori_rul(this.ControlSource) + thisform.oldvalue = this.Value + ENDIF + ENDPROC + + PROCEDURE pgfArticole.PAGE2.grdRulajeObinv.cTva.Text1.When + thisform.oldvalue = this.Value + ENDPROC + + PROCEDURE pgfArticole.PAGE2.grdRulajeObinv.cTvav.Text1.Valid + IF NVL(thisform.oldvalue, 0) <> NVL(this.Value, 0) + Thisform.calculeaza_valori_rul(this.ControlSource) + thisform.oldvalue = this.Value + ENDIF + ENDPROC + + PROCEDURE pgfArticole.PAGE2.grdRulajeObinv.cTvav.Text1.When + thisform.oldvalue = this.Value + ENDPROC + + PROCEDURE pgfArticole.PAGE2.grdRulajeObinv.Init + *Nu sterge + ENDPROC + +ENDDEFINE diff --git a/clase/onom_articole.vc2 b/clase/onom_articole.vc2 new file mode 100644 index 0000000..2b05341 --- /dev/null +++ b/clase/onom_articole.vc2 @@ -0,0 +1,2906 @@ +*-------------------------------------------------------------------------------------------------------------------------------------------------------- +* (EN) AUTOGENERATED - ATTENTION!! - NOT INTENDED FOR EXECUTION!! USE ONLY FOR MERGING CHANGES AND STORING WITH SCM TOOLS!! +*-------------------------------------------------------------------------------------------------------------------------------------------------------- +*< FOXBIN2PRG: Version="1.21" SourceFile="onom_articole.vcx" CPID="1252" /> (Solo para binarios VFP 9 / Only for VFP 9 binaries) +* +* +DEFINE CLASS cus_odata_catalog_articole AS _cusodatabase OF "_cus_odata_base.vcx" + *< CLASSDATA: Baseclass="custom" Timestamp="" Scale="Pixels" Uniqueid="" /> + + * + Name = "cus_odata_catalog_articole" + * + + PROCEDURE make_sql + *!* 27.08.2009 + *!* marius.mutu + *!* nom_articole.taxa_reconditionare + + *!* 19.12.2019 + *!* marius.mutu + *!* variabila privata pnIdAMS creata in adauga_modifica_inregistrare@oproceduri_ams.prg pentru completarea cu id-ul generat in INSERT + + Lparameters toRec,tnId + lcActiune = Alltrim(This.cActiune) + + + If Inlist(lcActiune, "UPDATE",'INSERT') And Type('toRec') != "O" + Return .F. + Endif + + If Inlist(lcActiune, "UPDATE",'DELETE') And Type('tnId') != "N" + Return .F. + Endif + + IF TYPE('pnIdAMS') = 'U' + PRIVATE pnIdAMS + pnIdAMS = 0 + ENDIF + + lcActiune = Alltrim(This.cActiune) + Private pnId, pccodmat, pcdenumire, pcum, pccont, pcacont, pnid_subgrupa, pnCant_bax, pcum2, pcCodBare, pnDNF, pnin_stoc, pnin_crm, pninactiv, pnIdUtil, pnListareCodBare + PRIVATE pcCodNC8, pnGreutate, pnIdTaraOrigine, pcCodUMISO + *!* Public pnIdArticolTemp + *!* pnIdArticolTemp = 0 && 14.02.2013 : l-am adaugat pentru ca altfel imi da eroare la apelarea procedurii de salvare + If Inlist(lcActiune, "UPDATE",'DELETE') + pnId = tnId + ENDIF + pnIdUtil = gnIdUtil + + If Inlist(lcActiune, "UPDATE",'INSERT') + pccodmat = Strtran(Alltrim(Upper(Nvl(toRec.codmat,[]))),['],['']) + pccodmatf = Strtran(Alltrim(Upper(Nvl(toRec.codmatf,[]))),['],['']) + pcdenumire = Strtran(Alltrim(Upper(Nvl(toRec.denumire,[]))),['],['']) + pcconditii_pastrare = Strtran(Alltrim(Upper(Nvl(toRec.conditii_pastrare,[]))),['],['']) + pcum = Nvl(Upper(Alltrim(toRec.um)),'') + pccont = Alltrim(Nvl(toRec.Cont,[])) + pcacont = Nvl(Alltrim(toRec.acont),'') + pnid_subgrupa = toRec.id_subgrupa + pnCant_bax = toRec.cant_bax + pcum2 = Nvl(Upper(Alltrim(toRec.um2)),'') + pcCodBare = Nvl(Alltrim(toRec.codbare),'') + pnDNF = Nvl(toRec.dnf,0) + pnin_stoc = Nvl(toRec.in_stoc,0) + pnin_crm = Nvl(toRec.in_crm,0) + pnListareCodBare = Nvl(toRec.listare_codbare,0) + pninactiv = Nvl(toRec.inactiv,0) + pnId_part = toRec.id_part + pnTaxaReconditionare = Nvl(toRec.taxa_reconditionare,0) + pnIdArticolGeneral = toRec.id_articol_general + pnTip = toRec.tip + pcCodNC8 = ALLTRIM(NVL(toRec.codNC8, '')) + pnGreutate = toRec.greutate + pnIdTaraOrigine = toRec.id_tara_origine + pcCodCPV = ALLTRIM(NVL(toRec.codCPV, '')) + pcCodUMISO = ALLTRIM(NVL(toRec.cod_um_iso, '')) + Endif + Do Case + Case lcActiune = "INSERT" + lcSql = [begin pack_preturi.adauga_articol(?gnAn,']+pccodmat+[', '] + pccodmatf + [', '] + pcconditii_pastrare + [', '] + ; + pcdenumire + [','] + pcum + [','] + pccont + [','] + pcacont + [',] + Alltrim(Str(pnid_subgrupa)) + [,] + ; + ALLTRIM(Str(pnCant_bax,10,4)) + [,'] + pcum2 + [','] + pcCodBare + [',] + Alltrim(Str(pnDNF)) + [,] + ; + IIF(Isnull(pnIdArticolGeneral),[NULL],Alltrim(Str(pnIdArticolGeneral))) + [,] + ; + Alltrim(Str(pnin_stoc)) + [,] + Alltrim(Str(pnin_crm)) + [,] + ; + ALLTRIM(Str(pninactiv)) + [,?gnIdUtil,] + ; + IIF(Isnull(pnId_part),[NULL],Alltrim(Str(pnId_part)))+[,] + ; + Alltrim(Str(pnTaxaReconditionare,18,4)) + [,] + ; + Alltrim(Str(pnListareCodBare)) + [,?@pnIdAMS,] + ; + alltrim(str(pnTip)) + [,0] + [, '] + m.pcCodNC8 + [',] + ALLTRIM(STR(NVL(m.pnGreutate, 0),12,4)) + [,] + ALLTRIM(STR(m.pnIdTaraOrigine)) + [, '] + m.pcCodCPV + [','] + m.pcCodUMISO + ['); end;] + Case lcActiune = "UPDATE" + lcSql = [begin pack_preturi.modifica_articol(?gnAn,]+Alltrim(Str(pnId))+[, ']+; + pccodmat+ [', '] + pccodmatf + [', '] + pcconditii_pastrare + [','] + pcdenumire+[',] + ; + [']+pcum+[', ']+pccont+[', ']+pcacont+[', ]+Alltrim(Str(pnid_subgrupa))+[, ]+; + ALLTRIM(Str(pnCant_bax,10,4))+[, ']+pcum2+[', ']+pcCodBare+[', ]+Alltrim(Str(pnDNF))+[, ]+; + IIF(Isnull(pnIdArticolGeneral),[NULL],Alltrim(Str(pnIdArticolGeneral))) + [,] + ; + Alltrim(Str(pnin_stoc)) + [,] + Alltrim(Str(pnin_crm)) + [,] + ; + ALLTRIM(Str(pninactiv)) + [,?gnIdUtil,] + ; + IIF(Isnull(pnId_part),[NULL],Alltrim(Str(pnId_part)))+[,] + ; + Alltrim(Str(pnTaxaReconditionare,18,4)) + [,] + ; + Alltrim(Str(pnListareCodBare)) + [,] + ; + alltrim(str(pnTip)) + [,0] + [, '] + m.pcCodNC8 + [',] + ALLTRIM(STR(NVL(m.pnGreutate, 0),12,4)) + [,] + IIF(ISNULL(m.pnIdTaraOrigine), [NULL], ALLTRIM(STR(m.pnIdTaraOrigine))) + [, '] + m.pcCodCPV + [','] + m.pcCodUMISO + ['); end;] + Case lcActiune = "DELETE" + lcSql = [begin pack_preturi.sterge_articol(?pnId, ?pnIdUtil); end;] + Endcase + + This.csql = lcSql + ENDPROC + +ENDDEFINE + +DEFINE CLASS cus_odata_grupe_art AS _cusodatabase OF "_cus_odata_base.vcx" + *< CLASSDATA: Baseclass="custom" Timestamp="" Scale="Pixels" Uniqueid="" /> + + * + Name = "cus_odata_grupe_art" + * + + PROCEDURE make_sql + Lparameters toRec,tnId + + lcActiune = Alltrim(This.cActiune) + + If Inlist(lcActiune, "UPDATE",'INSERT') And Type('toRec') != "O" + Return .F. + Endif + + If Inlist(lcActiune, "UPDATE",'DELETE') And Type('tnId') != "N" + Return .F. + Endif + + IF INLIST(lcActiune, "UPDATE",'DELETE') + lcId = Alltrim(Str(tnId)) + lcnom = [gest_art_gr] + lc_camp_id = [id_grupa] + lc_copil_lookup = [vnom_articole] + lc_camp_id_lookup = [id_grupa] + lc_copil_del = [gest_art_sbgr] + lc_camp_id_del = [id_grupa] + ENDIF + + If Inlist(lcActiune, "UPDATE",'DELETE') + lcId = Alltrim(Str(tnId)) + Endif + + If Inlist(lcActiune, "UPDATE",'INSERT') + lcgrupa = Nvl(STRTRAN(Alltrim(Upper(toRec.grupa)),['],['']),"") + Endif + + + Do Case + Case lcActiune = "INSERT" + lcSql = [INSERT INTO ] + gcS + [.gest_art_gr (grupa) VALUES ('] + lcgrupa + [')] + Case lcActiune = "UPDATE" + lcSql = [UPDATE ] + gcS + [.gest_art_gr SET grupa = '] + lcgrupa + ['] + ; + [ where id_grupa = ] + lcId + Case lcActiune = "DELETE" + lcSql = [begin NOM_COPIL_DELPROC('] + gcS + [','] + lcnom + [','] + lc_camp_id +; + [',] + lcId + [,'] + lc_copil_lookup + [','] + lc_camp_id_lookup + [','] +; + lc_copil_del + [','] + lc_camp_id_del + ['); end;] + *!* lcSql = [begin nomdelproc('] + lcnom + [','] + lcamp + [',] + lcid + [,'] +; + *!* lclook + [','] + lclookid + ['); end;] + + Endcase + + This.csql = lcSql + + ENDPROC + +ENDDEFINE + +DEFINE CLASS cus_odata_parteneri_articole_coduri AS _cusodatabase OF "_cus_odata_base.vcx" + *< CLASSDATA: Baseclass="custom" Timestamp="" Scale="Pixels" Uniqueid="" /> + + * + Name = "cus_odata_parteneri_articole_conturi" + * + + PROCEDURE make_sql + Lparameters toRec,tnId + lcActiune = Alltrim(This.cActiune) + + If Inlist(lcActiune, "UPDATE",'INSERT') And Type('toRec') != "O" + Return .F. + Endif + + If Inlist(lcActiune, "UPDATE",'DELETE') And Type('tnId') != "N" + Return .F. + Endif + + Do Case + Case lcActiune = "INSERT" + lcSql = [insert into parteneri_articole_coduri(id_part, id_articol, cod, id_util, dataora) values (?poRec.id_part, ?poRec.id_articol, TRIM(?poRec.cod), ?gnIdUtil, sysdate) returning id into ?@pnIdAMS] + Case lcActiune = "UPDATE" + lcSql = [update parteneri_articole_coduri set id_part = ?poRec.id_part, id_articol = ?poRec.id_articol, cod = TRIM(?poRec.cod), id_util = ?gnIdUtil, dataora = sysdate where id = ?poRec.id] + Case lcActiune = "DELETE" + lcSql = [update parteneri_articole_coduri set sters = 1, id_utils = ?gnIdUtil, dataoras = sysdate where id = ?poRec.id] + Endcase + + This.csql = lcSql + ENDPROC + +ENDDEFINE + +DEFINE CLASS cus_odata_subgrupe_art AS _cusodatabase OF "_cus_odata_base.vcx" + *< CLASSDATA: Baseclass="custom" Timestamp="" Scale="Pixels" Uniqueid="" /> + + * + Name = "cus_odata_subgrupe_art" + * + + PROCEDURE make_sql + Lparameters toRec,tnId + + lcActiune = Alltrim(This.cActiune) + + If Inlist(lcActiune, "UPDATE",'INSERT') And Type('toRec') != "O" + Return .F. + Endif + + If Inlist(lcActiune, "UPDATE",'DELETE') And Type('tnId') != "N" + Return .F. + Endif + + IF INLIST(lcActiune, "UPDATE",'DELETE') + lcId = Alltrim(Str(tnId)) + lcnom = gcS + [.gest_art_sbgr] + lc_camp_id = [id_subgrupa] + lc_copil_lookup = gcS + [.vnom_articole] + lc_camp_id_lookup = [id_subgrupa] + ENDIF + + If Inlist(lcActiune, "UPDATE",'DELETE') + lcId = Alltrim(Str(tnId)) + Endif + + If Inlist(lcActiune, "UPDATE",'INSERT') + lcsubgrupa = Nvl(STRTRAN(Alltrim(Upper(toRec.subgrupa)),['],['']),"") + lcId_grupa = ALLTRIM(STR(pnId_grupa)) + lcIndicativ = Nvl(STRTRAN(Alltrim(Upper(toRec.indicativ)),['],['']),"") + Endif + + + Do Case + Case lcActiune = "INSERT" + lcSql = [INSERT INTO ] + gcS + [.gest_art_sbgr (subgrupa,id_grupa,indicativ) VALUES ('] +; + lcsubgrupa + [',] + lcId_grupa +[,']+lcIndicativ + [')] + Case lcActiune = "UPDATE" + lcSql = [UPDATE ] + gcS + [.gest_art_sbgr SET subgrupa = '] + lcsubgrupa + ; + [',id_grupa = ] + lcId_grupa + [,indicativ = ']+lcIndicativ +[' where id_subgrupa = ] + lcId + Case lcActiune = "DELETE" + *!* lcSql = [begin NOM_COPIL_DELPROC('] + gcS + [','] + lcnom + [','] + lc_camp_id +; + *!* [',] + lcId + [,'] + lc_copil_lookup + [','] + lc_camp_id_lookup + [','] +; + *!* lc_copil_del + [','] + lc_camp_id_del + ['); end;] + lcSql = [begin nomdelproc('] + lcnom + [','] + lc_camp_id + [',] + lcid + [,'] +; + lc_copil_lookup + [','] + lc_camp_id_lookup + ['); end;] + + Endcase + + This.csql = lcSql + + ENDPROC + +ENDDEFINE + +DEFINE CLASS frm_catalog_articole AS _frmbase OF "_frm_base.vcx" + *< CLASSDATA: Baseclass="form" Timestamp="" Scale="Pixels" Uniqueid="" /> + + *-- OBJECTDATA items order determines ZOrder / El orden de los items OBJECTDATA determina el ZOrder + *< OBJECTDATA: ObjPath="Ct_grid_search1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="But_nou1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="But_modifica1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="But_sterge1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="But_listare1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="BUT_RENUNT1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="BUT_EXCEL1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="But_start_criterii1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="But_reset_criterii1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="Gridextra1" UniqueID="" Timestamp="" /> + + * + *m: do_listare_codbare + *p: clista_id + *p: lcaut + *p: lcubifa + * + + * + BorderStyle = 1 + clista_id = + DoCreate = .T. + Height = 425 + Name = "frm_catalog_articole" + Width = 774 + _shape1.Anchor = 10 + _shape1.Height = 29 + _shape1.Left = 0 + _shape1.Name = "_shape1" + _shape1.Tag = "RESIZABLE,NOVERTICAL_RESIZE" + _shape1.Top = 0 + _shape1.Width = 775 + _shape1.ZOrderSet = 0 + _shape2.Anchor = 8 + _shape2.Height = 29 + _shape2.Left = 594 + _shape2.Name = "_shape2" + _shape2.Tag = "MOVABLE, NOVERTICAL_MOVE" + _shape2.Top = 0 + _shape2.Width = 180 + _shape2.ZOrderSet = 1 + Lb_titlu_alb_b121.Caption = "CATALOG DE MATERIALE SI MARFURI" + Lb_titlu_alb_b121.Name = "Lb_titlu_alb_b121" + Lb_titlu_alb_b121.TabIndex = 8 + Lb_titlu_alb_b121.ZOrderSet = 2 + BUT_TERMIN1.Anchor = 8 + BUT_TERMIN1.Height = 27 + BUT_TERMIN1.Left = 743 + BUT_TERMIN1.Name = "BUT_TERMIN1" + BUT_TERMIN1.TabIndex = 2 + BUT_TERMIN1.Tag = "MOVABLE, NOVERTICAL_MOVE" + BUT_TERMIN1.Top = 1 + BUT_TERMIN1.Width = 30 + BUT_TERMIN1.ZOrderSet = 3 + GRIDSORT1.Name = "GRIDSORT1" + * + + ADD OBJECT 'BUT_EXCEL1' AS but_excel WITH ; + Anchor = 8, ; + Height = 27, ; + Left = 683, ; + Name = "BUT_EXCEL1", ; + Top = 1, ; + Width = 30 + *< END OBJECT: ClassLib="cmd_butoane.vcx" BaseClass="commandbutton" /> + + ADD OBJECT 'But_listare1' AS but_listare WITH ; + Anchor = 8, ; + Height = 27, ; + Left = 712, ; + Name = "But_listare1", ; + TabIndex = 4, ; + Tag = "MOVABLE, NOVERTICAL_MOVE", ; + Top = 1, ; + Width = 30, ; + ZOrderSet = 8 + *< END OBJECT: ClassLib="cmd_butoane.vcx" BaseClass="commandbutton" /> + + ADD OBJECT 'But_modifica1' AS but_modifica WITH ; + Anchor = 8, ; + Height = 27, ; + Left = 624, ; + Name = "But_modifica1", ; + TabIndex = 6, ; + Tag = "MOVABLE, NOVERTICAL_MOVE", ; + Top = 1, ; + Width = 30, ; + ZOrderSet = 6 + *< END OBJECT: ClassLib="cmd_butoane.vcx" BaseClass="commandbutton" /> + + ADD OBJECT 'But_nou1' AS but_nou WITH ; + Anchor = 8, ; + Height = 27, ; + Left = 595, ; + Name = "But_nou1", ; + TabIndex = 7, ; + Tag = "MOVABLE, NOVERTICAL_MOVE", ; + Top = 1, ; + Width = 30, ; + ZOrderSet = 5 + *< END OBJECT: ClassLib="cmd_butoane.vcx" BaseClass="commandbutton" /> + + ADD OBJECT 'BUT_RENUNT1' AS but_renunt WITH ; + Anchor = 8, ; + Height = 27, ; + Left = 468, ; + Name = "BUT_RENUNT1", ; + TabIndex = 3, ; + Tag = "MOVABLE, NOVERTICAL_MOVE", ; + Top = 0, ; + Visible = .F., ; + Width = 30, ; + ZOrderSet = 9 + *< END OBJECT: ClassLib="cmd_butoane.vcx" BaseClass="commandbutton" /> + + ADD OBJECT 'But_reset_criterii1' AS but_reset_criterii WITH ; + Anchor = 9, ; + Left = 535, ; + Name = "But_reset_criterii1", ; + Top = 2, ; + Visible = .T. + *< END OBJECT: ClassLib="ocriterii.vcx" BaseClass="commandbutton" /> + + ADD OBJECT 'But_start_criterii1' AS but_start_criterii WITH ; + Anchor = 9, ; + Comment = "*:OnResize=RT", ; + Left = 564, ; + Name = "But_start_criterii1", ; + Top = 1 + *< END OBJECT: ClassLib="ocriterii.vcx" BaseClass="commandbutton" /> + + ADD OBJECT 'But_sterge1' AS but_sterge WITH ; + Anchor = 8, ; + Height = 27, ; + Left = 653, ; + Name = "But_sterge1", ; + TabIndex = 5, ; + Tag = "MOVABLE, NOVERTICAL_MOVE", ; + Top = 1, ; + Width = 30, ; + ZOrderSet = 7 + *< END OBJECT: ClassLib="cmd_butoane.vcx" BaseClass="commandbutton" /> + + ADD OBJECT 'Ct_grid_search1' AS ct_grid_search WITH ; + Anchor = 15, ; + Height = 385, ; + Left = 4, ; + Name = "Ct_grid_search1", ; + TabIndex = 1, ; + Tag = "RESIZABLE", ; + Top = 35, ; + Width = 762, ; + ZOrderSet = 4, ; + _GRID1.Height = 325, ; + _GRID1.Left = 6, ; + _GRID1.Name = "_GRID1", ; + _GRID1.TabIndex = 2, ; + _GRID1.Tag = "RESIZABLE", ; + _GRID1.Top = 56, ; + _GRID1.Width = 755, ; + TITLU.Left = 9, ; + TITLU.Name = "TITLU", ; + TITLU.TabIndex = 3, ; + TITLU.Top = 3, ; + CB_TX_CAUTARE1.CRITERIU.Name = "CRITERIU", ; + CB_TX_CAUTARE1.Left = 7, ; + CB_TX_CAUTARE1.Name = "CB_TX_CAUTARE1", ; + CB_TX_CAUTARE1.TabIndex = 1, ; + CB_TX_CAUTARE1.Text.Name = "Text", ; + CB_TX_CAUTARE1.Top = 24 + *< END OBJECT: ClassLib="ferestre_cere_date.vcx" BaseClass="container" /> + + ADD OBJECT 'Gridextra1' AS gridextra WITH ; + gridexpression = thisform.CT_GRID_SEARCH1._GRID1, ; + Left = 384, ; + Name = "Gridextra1", ; + productname = ROA, ; + Top = 33 + *< END OBJECT: ClassLib="..\utile\gridextras\gridextras.vcx" BaseClass="custom" /> + + PROCEDURE do_adauga + local lnId + lnId = 0 + llSucces = nom_articole_nou(@lnId) + + this.ct_grid_search1.actualizeaza_grid + + + ENDPROC + + PROCEDURE do_cauta + Lparameters tcFiltru, tlForceSerch + Local lcFiltru + If !Empty(tcFiltru) + lcFiltru = tcFiltru + Else + lcFiltru = [] + Endif + + && filtru pretty + IF LEN(THISFORM.filtru_pretty)>0 + filtrutext = THISFORM.filtru_pretty + lcFiltru = IIF(!EMPTY(lcFiltru), " and ", "") + "("+ALLTRIM(filtrutext)+")" + ENDIF + + IF (THIS.filtru_pretty#"none" OR tlForceSerch) + this.ct_GRID_SEARCH1.actualizeaza_grid(lcfiltru) + ENDIF + + Select (This.ct_GRID_SEARCH1.cnumecursor) + Go Top + If (Reccount(This.ct_GRID_SEARCH1.cnumecursor)=0) + This.ct_GRID_SEARCH1._GRID1.SetFocus() + aMessagebox("Nu exista rezultate!",0+48,"Atentie") + This.ct_GRID_SEARCH1._GRID1.SetFocus() + Endif + + + + + + + + ENDPROC + + PROCEDURE do_excel + LOCAL loGrid + loGrid = this.ct_grid_search1._gRID1 + DO export_excel_grid WITH loGrid + + ENDPROC + + PROCEDURE do_listare_codbare + ofrmlist = CreateObject('frm_listeaza_articolecodbare') + ofrmlist.show(1) + ENDPROC + + PROCEDURE do_modifica + LOCAL loRec + Select crsnom_articole + Scatter Name lorec Memo + If lorec.tip = 1 + amessagebox("Acest articol poate fi modificat doar prin optiunea 'Norme' din programul ROADEVIZE !",48,"Atentie") + Else + llSucces = nom_articole_modifica(loRec.id_articol) + IF m.llSucces + This.ct_grid_search1.actualizeaza_grid + + Select crsnom_articole + Locate For id_articol = loRec.id_articol + If !Found() + Go Top + ENDIF + ENDIF + Endif + This.ct_grid_search1._GRID1.SetFocus() + + + ENDPROC + + PROCEDURE do_sterge + *!* 18.05.2007 + *!* marius.mutu + *!* variabile private sa le pot folosi in cus_odata_catalog_articole.salvare + PRIVATE pnId, pnIdUtil + LOCAL lnId + + SELECT crsnom_articole + SCATTER NAME lorec + lnId = lorec.id_articol + + pnId = lnId + pnIdUtil = NVL(gnIdUtil,0) + + DO STERGE_INREGISTRARE WITH [catalog_articole],lnid + this.ct_grid_search1.actualizeaza_grid + IF BUTON = 2 && RENUNT + SELECT crsnom_articole + LOCATE FOR id_articol = lnId + IF !FOUND() + GO top + ENDIF + ENDIF + this.ct_grid_search1._GRID1.SetFocus() + + ENDPROC + + PROCEDURE inainte_de_do_listare + + X = XMENU("\ + + *-- OBJECTDATA items order determines ZOrder / El orden de los items OBJECTDATA determina el ZOrder + *< OBJECTDATA: ObjPath="But_renunt1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="Cus_odata_catalog_articole" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="_pageframe1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="_pageframe1.Page1._shape1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="_pageframe1.Page1.ct_nume" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="_pageframe1.Page1.ct_nume.txtCodMatF" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="_pageframe1.Page1.ct_nume.lblCodMatF" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="_pageframe1.Page1.grdParteneriArticoleCoduri" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="_pageframe1.Page1.grdParteneriArticoleCoduri.cPartener.Header1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="_pageframe1.Page1.grdParteneriArticoleCoduri.cPartener.Text1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="_pageframe1.Page1.grdParteneriArticoleCoduri.cCod.Header1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="_pageframe1.Page1.grdParteneriArticoleCoduri.cCod.Text1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="_pageframe1.Page1.Ct_articol_general" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="_pageframe1.Page1.Cb_tx_grupa" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="_pageframe1.Page1.Cb_tx_tip" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="_pageframe1.Page1.Clb_tx_codmat" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="_pageframe1.Page1.Clb_tx_codmat.Cmd_executa1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="_pageframe1.Page1.Clb_tx_denumire" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="_pageframe1.Page1.Clb_tx_taxa_reconditionare" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="_pageframe1.Page1.Cb_tx_subgrupa" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="_pageframe1.Page1.Clb_tx_cont" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="_pageframe1.Page1.Clb_tx_cont.Text1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="_pageframe1.Page1.Clb_tx_cont.But_help1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="_pageframe1.Page1.Clb_tx_dnf" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="_pageframe1.Page1.Clb_tx_simplu2" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="_pageframe1.Page1.ckInStoc" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="_pageframe1.Page1.Clb_tx_cant_bax" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="_pageframe1.Page1.Clb_codbare" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="_pageframe1.Page1.Clb_codbare.Cmd_executa2" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="_pageframe1.Page1.lblIntrastat" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="_pageframe1.Page1._checkbox1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="_pageframe1.Page1.chkListareCodBare" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="_pageframe1.Page1.ckInCRM" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="_pageframe1.Page1.But_nou1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="_pageframe1.Page1.But_sterge1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="_pageframe1.Page1.cboUMISO" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="_pageframe1.Page1._lbbase1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="_pageframe1.Page1.cboUM" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="_pageframe1.Page2.Ed_tx_simplu1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="_pageframe1.Page2.Clb_tx_simplu1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="_pageframe1.Page2.Clb_tx_simplu3" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="_pageframe1.Page2.ct_tara_origine" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="_pageframe1.Page2.lblIntrastat" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="_pageframe1.Page2.Clb_tx_simplu2" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="Cus_odata_parteneri_articole_coduri" UniqueID="" Timestamp="" /> + + * + *m: arata_date + *m: do_alege_articol_general + *m: do_alege_furnizor + *m: do_alege_partener + *m: do_alege_tara + *m: do_genereaza_codbare + *m: do_genereaza_codmat + *p: nid + *p: ogeneratorcodbare + *p: ogeneratorcodmat + *p: orec + * + + * + BorderStyle = 1 + DoCreate = .T. + Height = 437 + Name = "frm_catalog_articole_nou" + nid = 0 + ogeneratorcodbare = .NULL. + ogeneratorcodmat = .NULL. + Width = 610 + _memberdata = + + + + _shape1.Height = 29 + _shape1.Left = 0 + _shape1.Name = "_shape1" + _shape1.Top = 0 + _shape1.Width = 624 + _shape1.ZOrderSet = 0 + _shape2.Height = 29 + _shape2.Left = 608 + _shape2.Name = "_shape2" + _shape2.Top = 0 + _shape2.Width = 61 + _shape2.ZOrderSet = 1 + Lb_titlu_alb_b121.Name = "Lb_titlu_alb_b121" + Lb_titlu_alb_b121.TabIndex = 4 + Lb_titlu_alb_b121.ZOrderSet = 2 + BUT_TERMIN1.Left = 580 + BUT_TERMIN1.Name = "BUT_TERMIN1" + BUT_TERMIN1.TabIndex = 2 + BUT_TERMIN1.Top = 0 + BUT_TERMIN1.ZOrderSet = 3 + Gridsort1.Left = 96 + Gridsort1.Name = "Gridsort1" + Gridsort1.Top = 12 + * + + ADD OBJECT '_pageframe1' AS _pageframe WITH ; + ErasePage = .T., ; + Height = 415, ; + Left = 1, ; + Name = "_pageframe1", ; + PageCount = 2, ; + TabIndex = 1, ; + Top = 27, ; + Width = 610, ; + Page1.Caption = "Articol", ; + Page1.Name = "Page1", ; + Page2.Caption = "Alte informatii", ; + Page2.Name = "Page2" + *< END OBJECT: ClassLib="_baza.vcx" BaseClass="pageframe" /> + + ADD OBJECT '_pageframe1.Page1._checkbox1' AS _checkbox WITH ; + Alignment = 0, ; + Anchor = 12, ; + Caption = "\ + + ADD OBJECT '_pageframe1.Page1._lbbase1' AS _lbbase WITH ; + Caption = "UM", ; + FontBold = .T., ; + Left = 16, ; + Name = "_lbbase1", ; + TabIndex = 24, ; + Top = 153, ; + ZOrderSet = 23 + *< END OBJECT: ClassLib="_lb_base.vcx" BaseClass="label" /> + + ADD OBJECT '_pageframe1.Page1._shape1' AS _shape WITH ; + BackStyle = 0, ; + Height = 29, ; + Left = 9, ; + Name = "_shape1", ; + Top = 147, ; + Width = 290, ; + ZOrderSet = 0 + *< END OBJECT: ClassLib="_baza.vcx" BaseClass="shape" /> + + ADD OBJECT '_pageframe1.Page1.But_nou1' AS but_nou WITH ; + Anchor = 12, ; + Left = 540, ; + Name = "But_nou1", ; + TabIndex = 22, ; + Top = 212, ; + ZOrderSet = 20 + *< END OBJECT: ClassLib="cmd_butoane.vcx" BaseClass="commandbutton" /> + + ADD OBJECT '_pageframe1.Page1.But_sterge1' AS but_sterge WITH ; + Anchor = 12, ; + Left = 569, ; + Name = "But_sterge1", ; + TabIndex = 23, ; + Top = 212, ; + Visible = .T., ; + ZOrderSet = 21 + *< END OBJECT: ClassLib="cmd_butoane.vcx" BaseClass="commandbutton" /> + + ADD OBJECT '_pageframe1.Page1.Cb_tx_grupa' AS cb_tx_simplu WITH ; + Left = 9, ; + Name = "Cb_tx_grupa", ; + TabIndex = 2, ; + Top = 35, ; + ZOrderSet = 4, ; + _cbbase1.Name = "_cbbase1", ; + _cbbase1.RowSource = "crs_grupe_art.grupa", ; + _cbbase1.RowSourceType = 2, ; + _lbbase1.Caption = "Grupa", ; + _lbbase1.FontBold = .T., ; + _lbbase1.Name = "_lbbase1" + *< END OBJECT: ClassLib="lb_tx.vcx" BaseClass="container" /> + + ADD OBJECT '_pageframe1.Page1.Cb_tx_subgrupa' AS cb_tx_simplu WITH ; + Left = 9, ; + Name = "Cb_tx_subgrupa", ; + TabIndex = 3, ; + Top = 63, ; + Width = 290, ; + ZOrderSet = 9, ; + _cbbase1.Name = "_cbbase1", ; + _cbbase1.RowSource = "crs_subgrupe_art.subgrupa", ; + _cbbase1.RowSourceType = 2, ; + _lbbase1.Caption = "Subgrupa", ; + _lbbase1.FontBold = .T., ; + _lbbase1.Name = "_lbbase1" + *< END OBJECT: ClassLib="lb_tx.vcx" BaseClass="container" /> + + ADD OBJECT '_pageframe1.Page1.Cb_tx_tip' AS cb_tx_simplu WITH ; + Anchor = 10, ; + Height = 29, ; + Left = 322, ; + Name = "Cb_tx_tip", ; + TabIndex = 15, ; + Top = 174, ; + Width = 231, ; + ZOrderSet = 5, ; + _cbbase1.BoundColumn = 2, ; + _cbbase1.BoundTo = .T., ; + _cbbase1.ColumnCount = 2, ; + _cbbase1.ColumnLines = .F., ; + _cbbase1.ColumnWidths = "169,0", ; + _cbbase1.ControlSource = "poRec.tip", ; + _cbbase1.FontName = "Arial Narrow", ; + _cbbase1.Height = 23, ; + _cbbase1.Left = 55, ; + _cbbase1.Name = "_cbbase1", ; + _cbbase1.RowSource = "MATERIALE,0,MANOPERÃ,1,UTILAJE,2,TERÞI,3", ; + _cbbase1.RowSourceType = 1, ; + _cbbase1.Top = 3, ; + _cbbase1.Width = 169, ; + _lbbase1.Caption = "Tip", ; + _lbbase1.Name = "_lbbase1" + *< END OBJECT: ClassLib="lb_tx.vcx" BaseClass="container" /> + + ADD OBJECT '_pageframe1.Page1.cboUM' AS _cbsearch WITH ; + BoundColumn = 1, ; + BoundTo = .T., ; + ColumnCount = 3, ; + ColumnLines = .F., ; + ColumnWidths = "50,150,50", ; + ControlSource = "poRec.um", ; + Format = "!K", ; + Height = 24, ; + Left = 57, ; + Name = "cboUM", ; + RowSource = "vnom_um.um,um_iso, cod_um_iso", ; + RowSourceType = 6, ; + TabIndex = 6, ; + Top = 150, ; + Width = 74, ; + ZOrderSet = 24 + *< END OBJECT: ClassLib="_cb_base.vcx" BaseClass="combobox" /> + + ADD OBJECT '_pageframe1.Page1.cboUMISO' AS _cbsearch WITH ; + BoundColumn = 2, ; + BoundTo = .T., ; + ColumnCount = 2, ; + ColumnLines = .F., ; + ColumnWidths = "150,50", ; + ControlSource = "poRec.cod_um_iso", ; + Format = "K", ; + Height = 24, ; + Left = 133, ; + Name = "cboUMISO", ; + RowSource = "vnom_um_iso.um_iso, cod_um_iso", ; + RowSourceType = 6, ; + TabIndex = 7, ; + Top = 150, ; + Width = 161, ; + ZOrderSet = 22 + *< END OBJECT: ClassLib="_cb_base.vcx" BaseClass="combobox" /> + + ADD OBJECT '_pageframe1.Page1.chkListareCodBare' AS _checkbox WITH ; + Alignment = 0, ; + Anchor = 4, ; + Caption = "Lista \ + + ADD OBJECT '_pageframe1.Page1.ckInCRM' AS _checkbox WITH ; + Alignment = 0, ; + Anchor = 4, ; + Caption = "Cu \ + + ADD OBJECT '_pageframe1.Page1.ckInStoc' AS _checkbox WITH ; + Alignment = 0, ; + Anchor = 4, ; + Caption = "Articol \ + + ADD OBJECT '_pageframe1.Page1.Clb_codbare' AS clb_tx_simplu WITH ; + Height = 29, ; + Left = 9, ; + Name = "Clb_codbare", ; + TabIndex = 5, ; + Top = 119, ; + Width = 290, ; + ZOrderSet = 15, ; + Text_simplu1.ControlSource = "porec.codbare", ; + Text_simplu1.Height = 23, ; + Text_simplu1.Left = 101, ; + Text_simplu1.Name = "Text_simplu1", ; + Text_simplu1.Top = 3, ; + Text_simplu1.Width = 166, ; + Lb_simplu1.Caption = "Cod bare", ; + Lb_simplu1.FontBold = .T., ; + Lb_simplu1.Name = "Lb_simplu1" + *< END OBJECT: ClassLib="lb_tx.vcx" BaseClass="container" /> + + ADD OBJECT '_pageframe1.Page1.Clb_codbare.Cmd_executa2' AS cmd_executa WITH ; + caction = do_genereaza_codbare, ; + Caption = "!", ; + Height = 17, ; + Left = 272, ; + Name = "Cmd_executa2", ; + TabIndex = 29, ; + TabStop = .F., ; + ToolTipText = "Genereaza cod bare automat", ; + Top = 6, ; + Width = 15, ; + ZOrderSet = 24 + *< END OBJECT: ClassLib="cmd_butoane.vcx" BaseClass="commandbutton" /> + + ADD OBJECT '_pageframe1.Page1.Clb_tx_cant_bax' AS clb_tx_simplu WITH ; + Height = 29, ; + Left = 9, ; + Name = "Clb_tx_cant_bax", ; + TabIndex = 9, ; + Top = 212, ; + Width = 290, ; + ZOrderSet = 14, ; + Text_simplu1.ControlSource = "porec.cant_bax", ; + Text_simplu1.Format = "RK", ; + Text_simplu1.InputMask = (get_mask(7,4)), ; + Text_simplu1.Left = 163, ; + Text_simplu1.Name = "Text_simplu1", ; + Text_simplu1.Top = 3, ; + Text_simplu1.Width = 120, ; + Lb_simplu1.Caption = "Cantitate/pachet", ; + Lb_simplu1.Left = 6, ; + Lb_simplu1.Name = "Lb_simplu1", ; + Lb_simplu1.Top = 6 + *< END OBJECT: ClassLib="lb_tx.vcx" BaseClass="container" /> + + ADD OBJECT '_pageframe1.Page1.Clb_tx_codmat' AS clb_tx_simplu WITH ; + Height = 29, ; + Left = 9, ; + Name = "Clb_tx_codmat", ; + TabIndex = 4, ; + Top = 91, ; + Width = 290, ; + ZOrderSet = 6, ; + Text_simplu1.ControlSource = "porec.codmat", ; + Text_simplu1.Format = "!k", ; + Text_simplu1.Height = 23, ; + Text_simplu1.Left = 101, ; + Text_simplu1.MaxLength = 50, ; + Text_simplu1.Name = "Text_simplu1", ; + Text_simplu1.TabIndex = 1, ; + Text_simplu1.Top = 3, ; + Text_simplu1.Width = 166, ; + Lb_simplu1.Caption = "Cod material", ; + Lb_simplu1.FontBold = .T., ; + Lb_simplu1.Left = 8, ; + Lb_simplu1.Name = "Lb_simplu1", ; + Lb_simplu1.TabIndex = 2, ; + Lb_simplu1.Top = 5 + *< END OBJECT: ClassLib="lb_tx.vcx" BaseClass="container" /> + + ADD OBJECT '_pageframe1.Page1.Clb_tx_codmat.Cmd_executa1' AS cmd_executa WITH ; + caction = do_genereaza_codmat, ; + Caption = "!", ; + Height = 17, ; + Left = 272, ; + Name = "Cmd_executa1", ; + TabIndex = 28, ; + TabStop = .F., ; + ToolTipText = "Genereaza cod material automat", ; + Top = 6, ; + Width = 15, ; + ZOrderSet = 24 + *< END OBJECT: ClassLib="cmd_butoane.vcx" BaseClass="commandbutton" /> + + ADD OBJECT '_pageframe1.Page1.Clb_tx_cont' AS clb_tx_simplu WITH ; + Height = 29, ; + Left = 9, ; + Name = "Clb_tx_cont", ; + TabIndex = 8, ; + Top = 175, ; + Width = 290, ; + ZOrderSet = 10, ; + Text_simplu1.ControlSource = "porec.cont", ; + Text_simplu1.Height = 23, ; + Text_simplu1.Left = 101, ; + Text_simplu1.MaxLength = 4, ; + Text_simplu1.Name = "Text_simplu1", ; + Text_simplu1.TabIndex = 1, ; + Text_simplu1.Top = 3, ; + Text_simplu1.Width = 74, ; + Lb_simplu1.Caption = "Cont*", ; + Lb_simplu1.FontBold = .T., ; + Lb_simplu1.Name = "Lb_simplu1", ; + Lb_simplu1.TabIndex = 3 + *< END OBJECT: ClassLib="lb_tx.vcx" BaseClass="container" /> + + ADD OBJECT '_pageframe1.Page1.Clb_tx_cont.But_help1' AS but_help WITH ; + Height = 23, ; + Left = 259, ; + Name = "But_help1", ; + TabIndex = 26, ; + ToolTipText = "Help - Planul de conturi (CTRL+ H)", ; + Top = 3, ; + Width = 26, ; + ZOrderSet = 18 + *< END OBJECT: ClassLib="cmd_butoane.vcx" BaseClass="commandbutton" /> + + ADD OBJECT '_pageframe1.Page1.Clb_tx_cont.Text1' AS textbox WITH ; + ControlSource = "porec.acont", ; + Format = "!k", ; + Height = 22, ; + Left = 179, ; + MaxLength = 4, ; + Name = "Text1", ; + TabIndex = 2, ; + Top = 3, ; + Width = 74 + *< END OBJECT: BaseClass="textbox" /> + + ADD OBJECT '_pageframe1.Page1.Clb_tx_denumire' AS clb_tx_simplu WITH ; + Anchor = 10, ; + Height = 29, ; + Left = 9, ; + Name = "Clb_tx_denumire", ; + TabIndex = 1, ; + Top = 7, ; + Width = 544, ; + ZOrderSet = 7, ; + Text_simplu1.ControlSource = "porec.denumire", ; + Text_simplu1.Height = 23, ; + Text_simplu1.Left = 101, ; + Text_simplu1.MaxLength = 100, ; + Text_simplu1.Name = "Text_simplu1", ; + Text_simplu1.Top = 3, ; + Text_simplu1.Width = 436, ; + Lb_simplu1.Caption = "Denumire*", ; + Lb_simplu1.FontBold = .T., ; + Lb_simplu1.Left = 8, ; + Lb_simplu1.Name = "Lb_simplu1", ; + Lb_simplu1.Top = 9 + *< END OBJECT: ClassLib="lb_tx.vcx" BaseClass="container" /> + + ADD OBJECT '_pageframe1.Page1.Clb_tx_dnf' AS clb_tx_simplu WITH ; + Height = 29, ; + Left = 9, ; + Name = "Clb_tx_dnf", ; + TabIndex = 11, ; + Top = 277, ; + Visible = .F., ; + Width = 290, ; + ZOrderSet = 11, ; + Text_simplu1.ControlSource = "porec.dnf", ; + Text_simplu1.Height = 23, ; + Text_simplu1.Left = 217, ; + Text_simplu1.MaxLength = 6, ; + Text_simplu1.Name = "Text_simplu1", ; + Text_simplu1.Top = 3, ; + Text_simplu1.Width = 63, ; + Lb_simplu1.Caption = "Durata normata de functionare (luni)", ; + Lb_simplu1.Name = "Lb_simplu1" + *< END OBJECT: ClassLib="lb_tx.vcx" BaseClass="container" /> + + ADD OBJECT '_pageframe1.Page1.Clb_tx_simplu2' AS clb_tx_simplu WITH ; + Height = 29, ; + Left = 9, ; + Name = "Clb_tx_simplu2", ; + TabIndex = 10, ; + Top = 240, ; + Width = 290, ; + ZOrderSet = 12, ; + Text_simplu1.ControlSource = "porec.um2", ; + Text_simplu1.Height = 23, ; + Text_simplu1.Left = 101, ; + Text_simplu1.MaxLength = 6, ; + Text_simplu1.Name = "Text_simplu1", ; + Text_simplu1.Top = 3, ; + Text_simplu1.Width = 184, ; + Lb_simplu1.Caption = "UM pachet", ; + Lb_simplu1.FontSize = 10, ; + Lb_simplu1.Name = "Lb_simplu1" + *< END OBJECT: ClassLib="lb_tx.vcx" BaseClass="container" /> + + ADD OBJECT '_pageframe1.Page1.Clb_tx_taxa_reconditionare' AS clb_tx_simplu WITH ; + Height = 29, ; + Left = 9, ; + Name = "Clb_tx_taxa_reconditionare", ; + TabIndex = 12, ; + Top = 305, ; + Visible = .F., ; + Width = 290, ; + ZOrderSet = 8, ; + Text_simplu1.ControlSource = "porec.taxa_reconditionare", ; + Text_simplu1.Format = "RK", ; + Text_simplu1.Height = 23, ; + Text_simplu1.InputMask = (GET_MASK(12,gnPC)), ; + Text_simplu1.Left = 168, ; + Text_simplu1.Name = "Text_simplu1", ; + Text_simplu1.Top = 3, ; + Text_simplu1.Width = 113, ; + Lb_simplu1.Caption = "Taxa reconditionare", ; + Lb_simplu1.Name = "Lb_simplu1" + *< END OBJECT: ClassLib="lb_tx.vcx" BaseClass="container" /> + + ADD OBJECT '_pageframe1.Page1.Ct_articol_general' AS ct_clb_cautare WITH ; + Anchor = 10, ; + cconditie = EMPTY(NVL(poRec.articol_general,'')) AND EMPTY(NVL(poRec.id_articol_general,0)), ; + cprocedura = thisform.do_alege_articol_general, ; + cvar_afisata = porec.articol_general, ; + Height = 48, ; + Left = 321, ; + Name = "Ct_articol_general", ; + TabIndex = 14, ; + Top = 122, ; + Width = 261, ; + ZOrderSet = 3, ; + img_cautare.Left = 235, ; + img_cautare.Name = "img_cautare", ; + img_cautare.Top = 14, ; + clb_tx_cautare.Height = 47, ; + clb_tx_cautare.Lb_simplu1.Caption = "Articol general", ; + clb_tx_cautare.Lb_simplu1.Left = 5, ; + clb_tx_cautare.Lb_simplu1.Name = "Lb_simplu1", ; + clb_tx_cautare.Lb_simplu1.Top = 4, ; + clb_tx_cautare.Left = 1, ; + clb_tx_cautare.Name = "clb_tx_cautare", ; + clb_tx_cautare.Text_simplu1.Height = 23, ; + clb_tx_cautare.Text_simplu1.Left = 10, ; + clb_tx_cautare.Text_simplu1.Name = "Text_simplu1", ; + clb_tx_cautare.Text_simplu1.Top = 21, ; + clb_tx_cautare.Text_simplu1.Width = 214, ; + clb_tx_cautare.Top = 1, ; + clb_tx_cautare.Width = 231 + *< END OBJECT: ClassLib="caut_ora.vcx" BaseClass="container" /> + + ADD OBJECT '_pageframe1.Page1.ct_nume' AS ct_clb_cautare WITH ; + Anchor = 10, ; + cconditie = EMPTY(NVL(poRec.furnizor,'')) AND EMPTY(NVL(poRec.id_furnizor,0)), ; + cprocedura = [thisform.do_alege_furnizor], ; + cvar_afisata = porec.partener, ; + Height = 86, ; + Left = 321, ; + Name = "ct_nume", ; + TabIndex = 13, ; + Top = 34, ; + Width = 257, ; + ZOrderSet = 1, ; + img_cautare.Left = 235, ; + img_cautare.Name = "img_cautare", ; + img_cautare.Top = 14, ; + clb_tx_cautare.Height = 85, ; + clb_tx_cautare.Lb_simplu1.Caption = "Furnizor principal", ; + clb_tx_cautare.Lb_simplu1.Left = 6, ; + clb_tx_cautare.Lb_simplu1.Name = "Lb_simplu1", ; + clb_tx_cautare.Lb_simplu1.Top = 3, ; + clb_tx_cautare.Left = 1, ; + clb_tx_cautare.Name = "clb_tx_cautare", ; + clb_tx_cautare.Text_simplu1.Left = 10, ; + clb_tx_cautare.Text_simplu1.Name = "Text_simplu1", ; + clb_tx_cautare.Text_simplu1.Top = 21, ; + clb_tx_cautare.Text_simplu1.Width = 214, ; + clb_tx_cautare.Top = 1, ; + clb_tx_cautare.Width = 231 + *< END OBJECT: ClassLib="caut_ora.vcx" BaseClass="container" /> + + ADD OBJECT '_pageframe1.Page1.ct_nume.lblCodMatF' AS _label WITH ; + Caption = "Cod furnizor", ; + Height = 18, ; + Left = 12, ; + Name = "lblCodMatF", ; + Top = 61, ; + Width = 71 + *< END OBJECT: ClassLib="_baza.vcx" BaseClass="label" /> + + ADD OBJECT '_pageframe1.Page1.ct_nume.txtCodMatF' AS _textbox WITH ; + ControlSource = "porec.codmatf", ; + Format = "!K", ; + Height = 23, ; + Left = 85, ; + MaxLength = 50, ; + Name = "txtCodMatF", ; + Top = 57, ; + Width = 139 + *< END OBJECT: ClassLib="_baza.vcx" BaseClass="textbox" /> + + ADD OBJECT '_pageframe1.Page1.grdParteneriArticoleCoduri' AS _grid WITH ; + Anchor = 13, ; + ColumnCount = 2, ; + DeleteMark = .F., ; + Height = 97, ; + lcamptextneeditabil = .F., ; + lcoloreazaeditabil = .T., ; + Left = 322, ; + Name = "grdParteneriArticoleCoduri", ; + Panel = 1, ; + ReadOnly = .F., ; + RecordMark = .F., ; + RecordSource = "crsParteneriArticoleCoduri", ; + RecordSourceType = 1, ; + ScrollBars = 2, ; + TabIndex = 16, ; + Top = 240, ; + Width = 279, ; + ZOrderSet = 2, ; + Column1.ControlSource = "partener", ; + Column1.Name = "cPartener", ; + Column1.ReadOnly = .F., ; + Column1.Width = 146, ; + Column2.ControlSource = "cod", ; + Column2.Name = "cCod", ; + Column2.ReadOnly = .F., ; + Column2.Width = 96 + *< END OBJECT: ClassLib="_baza.vcx" BaseClass="grid" /> + + ADD OBJECT '_pageframe1.Page1.grdParteneriArticoleCoduri.cCod.Header1' AS header WITH ; + Alignment = 2, ; + Caption = "Cod", ; + Name = "Header1" + *< END OBJECT: BaseClass="header" /> + + ADD OBJECT '_pageframe1.Page1.grdParteneriArticoleCoduri.cCod.Text1' AS textbox WITH ; + BackColor = 255,255,255, ; + BorderStyle = 0, ; + ForeColor = 0,0,0, ; + Margin = 0, ; + Name = "Text1", ; + ReadOnly = .F., ; + SelectedBackColor = 100,185,255 + *< END OBJECT: BaseClass="textbox" /> + + ADD OBJECT '_pageframe1.Page1.grdParteneriArticoleCoduri.cPartener.Header1' AS header WITH ; + Alignment = 2, ; + Caption = "Client", ; + Name = "Header1" + *< END OBJECT: BaseClass="header" /> + + ADD OBJECT '_pageframe1.Page1.grdParteneriArticoleCoduri.cPartener.Text1' AS textbox WITH ; + BackColor = 255,255,255, ; + BorderStyle = 0, ; + ForeColor = 0,0,0, ; + Margin = 0, ; + Name = "Text1", ; + ReadOnly = .F., ; + SelectedBackColor = 100,185,255 + *< END OBJECT: BaseClass="textbox" /> + + ADD OBJECT '_pageframe1.Page1.lblIntrastat' AS _label WITH ; + Anchor = 12, ; + Caption = "Coduri clienti", ; + FontBold = .T., ; + Left = 322, ; + Name = "lblIntrastat", ; + TabIndex = 20, ; + Top = 218, ; + ZOrderSet = 16 + *< END OBJECT: ClassLib="_baza.vcx" BaseClass="label" /> + + ADD OBJECT '_pageframe1.Page2.Clb_tx_simplu1' AS clb_tx_simplu WITH ; + Anchor = 8, ; + Height = 29, ; + Left = 287, ; + Name = "Clb_tx_simplu1", ; + TabIndex = 1, ; + Top = 30, ; + Width = 290, ; + ZOrderSet = 13, ; + Text_simplu1.ControlSource = "porec.codnc8", ; + Text_simplu1.Height = 23, ; + Text_simplu1.Left = 101, ; + Text_simplu1.MaxLength = 20, ; + Text_simplu1.Name = "Text_simplu1", ; + Text_simplu1.ToolTipText = "Cod NC8 declaratia INTRASTAT", ; + Text_simplu1.Top = 3, ; + Text_simplu1.Width = 183, ; + Lb_simplu1.Caption = "Cod NC8", ; + Lb_simplu1.FontSize = 10, ; + Lb_simplu1.Name = "Lb_simplu1" + *< END OBJECT: ClassLib="lb_tx.vcx" BaseClass="container" /> + + ADD OBJECT '_pageframe1.Page2.Clb_tx_simplu2' AS clb_tx_simplu WITH ; + Anchor = 8, ; + Height = 29, ; + Left = 287, ; + Name = "Clb_tx_simplu2", ; + TabIndex = 4, ; + Top = 126, ; + Width = 290, ; + ZOrderSet = 13, ; + Text_simplu1.ControlSource = "porec.codcpv", ; + Text_simplu1.Height = 23, ; + Text_simplu1.Left = 101, ; + Text_simplu1.MaxLength = 20, ; + Text_simplu1.Name = "Text_simplu1", ; + Text_simplu1.ToolTipText = "Cod CPV (Vocabular Comun Achizitii Publice)", ; + Text_simplu1.Top = 3, ; + Text_simplu1.Width = 183, ; + Lb_simplu1.Caption = "Cod CPV", ; + Lb_simplu1.FontSize = 10, ; + Lb_simplu1.Name = "Lb_simplu1" + *< END OBJECT: ClassLib="lb_tx.vcx" BaseClass="container" /> + + ADD OBJECT '_pageframe1.Page2.Clb_tx_simplu3' AS clb_tx_simplu WITH ; + Anchor = 8, ; + Height = 29, ; + Left = 287, ; + Name = "Clb_tx_simplu3", ; + TabIndex = 2, ; + Top = 58, ; + Width = 290, ; + ZOrderSet = 15, ; + Text_simplu1.ControlSource = "porec.greutate", ; + Text_simplu1.Format = "RK", ; + Text_simplu1.Height = 23, ; + Text_simplu1.InputMask = (get_mask(12,4)), ; + Text_simplu1.Left = 100, ; + Text_simplu1.Name = "Text_simplu1", ; + Text_simplu1.ToolTipText = "Greutate (Kg) declaratia INTRASTAT", ; + Text_simplu1.Top = 3, ; + Text_simplu1.Width = 184, ; + Lb_simplu1.Caption = "Greutate (Kg)", ; + Lb_simplu1.Left = 6, ; + Lb_simplu1.Name = "Lb_simplu1", ; + Lb_simplu1.Top = 6 + *< END OBJECT: ClassLib="lb_tx.vcx" BaseClass="container" /> + + ADD OBJECT '_pageframe1.Page2.ct_tara_origine' AS ct_clb_cautare WITH ; + Anchor = 8, ; + cconditie = EMPTY(NVL(poRec.tara_origine,'')) AND EMPTY(NVL(poRec.id_tara_origine,0)), ; + cprocedura = thisform.do_alege_tara, ; + cvar_afisata = porec.tara_origine, ; + Height = 31, ; + Left = 286, ; + Name = "ct_tara_origine", ; + TabIndex = 3, ; + Top = 85, ; + Width = 319, ; + ZOrderSet = 23, ; + img_cautare.Left = 295, ; + img_cautare.Name = "img_cautare", ; + img_cautare.Top = 5, ; + clb_tx_cautare.Lb_simplu1.Caption = "Tara origine", ; + clb_tx_cautare.Lb_simplu1.Name = "Lb_simplu1", ; + clb_tx_cautare.Name = "clb_tx_cautare", ; + clb_tx_cautare.Text_simplu1.Left = 100, ; + clb_tx_cautare.Text_simplu1.Name = "Text_simplu1", ; + clb_tx_cautare.Text_simplu1.ToolTipText = "Tara origine declaratia INTRASTAT", ; + clb_tx_cautare.Text_simplu1.Top = 3, ; + clb_tx_cautare.Width = 290 + *< END OBJECT: ClassLib="caut_ora.vcx" BaseClass="container" /> + + ADD OBJECT '_pageframe1.Page2.Ed_tx_simplu1' AS ed_tx_simplu WITH ; + Anchor = 10, ; + Height = 156, ; + Left = 10, ; + Name = "Ed_tx_simplu1", ; + TabIndex = 5, ; + Top = 8, ; + Width = 261, ; + ZOrderSet = 22, ; + _edbase1.ControlSource = "porec.conditii_pastrare", ; + _edbase1.Height = 127, ; + _edbase1.Left = 5, ; + _edbase1.Name = "_edbase1", ; + _edbase1.Top = 23, ; + _edbase1.Width = 250, ; + _lbbase1.Caption = "Conditii de pastrare", ; + _lbbase1.Name = "_lbbase1" + *< END OBJECT: ClassLib="lb_tx.vcx" BaseClass="container" /> + + ADD OBJECT '_pageframe1.Page2.lblIntrastat' AS _label WITH ; + Anchor = 8, ; + Caption = "INTRASTAT", ; + FontBold = .T., ; + Left = 286, ; + Name = "lblIntrastat", ; + TabIndex = 6, ; + Top = 8 + *< END OBJECT: ClassLib="_baza.vcx" BaseClass="label" /> + + ADD OBJECT 'But_renunt1' AS but_renunt WITH ; + Left = 551, ; + Name = "But_renunt1", ; + TabIndex = 3, ; + Top = 0, ; + ZOrderSet = 5 + *< END OBJECT: ClassLib="cmd_butoane.vcx" BaseClass="commandbutton" /> + + ADD OBJECT 'Cus_odata_catalog_articole' AS cus_odata_catalog_articole WITH ; + Left = 156, ; + Name = "Cus_odata_catalog_articole", ; + Top = 12 + *< END OBJECT: ClassLib="onom_articole.vcx" BaseClass="custom" /> + + ADD OBJECT 'Cus_odata_parteneri_articole_coduri' AS cus_odata_parteneri_articole_coduri WITH ; + Left = 194, ; + lsilent = .T., ; + Name = "Cus_odata_parteneri_articole_coduri", ; + Top = 10 + *< END OBJECT: ClassLib="onom_articole.vcx" BaseClass="custom" /> + + PROCEDURE arata_date + WITH thisform._pageframe1.page1.ct_nume + .VISIBLE = .T. + .cconditie = [EMPTY(NVL(poRec.partener,'')) AND EMPTY(NVL(poRec.id_part,0))] + .cprocedura = [thisform.do_alege_furnizor] + .clb_tx_cautare.lb_simplu1.CAPTION = [Nume furnizor] + ENDWITH + + ENDPROC + + PROCEDURE Destroy + Use In (SELECT('crs_grupe_art')) + Use In (SELECT('crs_subgrupe_art')) + + ENDPROC + + PROCEDURE do_alege_articol_general + Local loCauta + loCauta = caut_articol(.F.,.F.,.F.,.F.,.F.,.T.) + If !Empty(Nvl(loCauta.id_articol,0)) + If loCauta.id_articol = Nvl(poRec.id_articol,0) + amessagebox("Articolul nu poate fi general pentru el insusi!",64,"Atentie") + Else + poRec.id_articol_general = loCauta.id_articol + poRec.articol_general = Alltrim(loCauta.denumire) + Endif + Else + poRec.id_articol_general = Null + poRec.articol_general = [] + Endif + + thisform._pageframe1.page1.ct_articol_general.Refresh() + + ENDPROC + + PROCEDURE do_alege_furnizor + Local loCauta + loCauta = CautPartenerContabilitate(GetHash([cTitlu=>Alegeti furnizorul??cCont=>401??lAdaugCorespondente=>1])) + If !Empty(loCauta.id_part) And !Empty(loCauta.denumire) AND !ISNULL(loCauta.id_part) + poRec.id_part = loCauta.id_part + poRec.partener = Alltrim(loCauta.denumire) + *!* Thisform.clb_data_livrare.SetFocus() + *!* Else + *!* poRec.id_furnizor = 0 + *!* poRec.furnizor = [] + Endif + + thisform._pageframe1.page1.ct_nume.Refresh() + + ENDPROC + + PROCEDURE do_alege_partener + Local loCauta, lnRecno, lnRecno2 + SELECT crsParteneriArticoleCoduri + lnRecno = RECNO() + + loCauta = CautPartenerContabilitate(GetHash([cTitlu=>Alegeti clientul??cCont=>4111??lAdaugCorespondente=>1])) + If !Empty(loCauta.id_part) And !Empty(loCauta.denumire) AND !ISNULL(loCauta.id_part) + SELECT crsParteneriArticoleCoduri + LOCATE FOR id_part = loCauta.id_part + IF FOUND() + lnRecno2 = RECNO() + AMESSAGEBOX('Exista deja configurat un cod pe acest partener!',0+48,_screen.Caption) + GOTO m.lnRecno + DELETE + GOTO m.lnRecno2 + ELSE + GOTO m.lnRecno + REPLACE id_part WITH loCauta.id_part, partener WITH Alltrim(loCauta.denumire) + ENDIF + Endif + + thisform._pageframe1.page1.grdParteneriArticoleCoduri.cPartener.Refresh() + + ENDPROC + + PROCEDURE do_alege_tara + Local loCauta + loCauta = caut_tara() + IF TYPE('loCauta.id_tara') = 'N' + poRec.id_tara_origine = loCauta.id_tara + poRec.tara_origine = Alltrim(loCauta.tara) + Endif + + thisform._pageframe1.page2.ct_tara_origine.Refresh() + + ENDPROC + + PROCEDURE do_genereaza_codbare + *!* 07.09.2009 + *!* marius.mutu + *!* generator + + If gnCodBareAutomat = 2 + If Empty(porec.codbare) Or Isnull(porec.codbare) + Local lcsel2 ,lccursor2 ,lnsucces2 ,lnNnr2 + Private pcIndicativsubgrupa2 + pcIndicativsubgrupa2= Alltrim(crs_subgrupe_art.indicativ) + *!* 07.09.2009 + If !Isnull(This.oGeneratorCodBare) + This.oGeneratorCodBare.dezaloca_numar(15) + lnNnr2 = This.oGeneratorCodBare.aloca_numar(15,porec.id_subgrupa) + porec.codbare = Alltrim(Nvl(gcCodbarePrefix,''))+pcIndicativsubgrupa2+Padl(Alltrim(Str(lnNnr2)),Val(gcCodBareCifre),'0') + thisform._pageframe1.page1.clb_codbare.Refresh + Endif && !isnull + *!* 07.09.2009 ^ + Endif + Endif + + ENDPROC + + PROCEDURE do_genereaza_codmat + *!* 07.09.2009 + *!* marius.mutu + *!* generator + + If gnCodmatAutomat = 2 + If Empty(porec.codmat ) Or Isnull(porec.codmat) + Local lcsel ,lccursor ,lnsucces ,lnNnr + Private pcIndicativsubgrupa + pcIndicativsubgrupa = Alltrim(crs_subgrupe_art.indicativ) + *!* 07.09.2009 + If !Isnull(This.oGeneratorCodmat) + This.oGeneratorCodmat.dezaloca_numar(14) + lnNnr = This.oGeneratorCodmat.aloca_numar(14,porec.id_subgrupa) + porec.codmat = Alltrim(Nvl(gcCodmatPrefix,''))+pcIndicativsubgrupa+Alltrim(Nvl(gcCodmatMijloc,''))+ Padl(Alltrim(Str(lnNnr)),Val(gcCodmatCifre),'0') + thisform._pageframe1.page1.clb_tx_codmat.Refresh() + ENDIF && !isnull + *!* 07.09.2009 ^ + Endif + Endif + + ENDPROC + + PROCEDURE inainte_de_do_renunt + *!* 07.09.2009 + *!* marius.mutu + *!* generator codmat, codbare + + If gnCodMatAutomat = 2 AND !Isnull(This.oGeneratorCodmat) + This.oGeneratorCodmat.dezaloca_numar(14) + Endif + + If gnCodBareAutomat = 2 and !Isnull(This.oGeneratorCodBare) + This.oGeneratorCodBare.dezaloca_numar(15) + Endif + + ENDPROC + + PROCEDURE inainte_de_do_termin + Local llReturn + Local lnSucces, lcSql, lcMesaj + Local lcActiune, lcDeleted, lccontrol, lcval, lnIdArticol, loRec, loob + m.llReturn = .F. + lccontrol = Upper(This.ActiveControl.BaseClass ) + If Inlist(lccontrol, "TEXTBOX", "EDITBOX", "COMBOBOX") + lcval = This.ActiveControl.ControlSource + &lcval = Thisform.ActiveControl.Value + Endif + + lcMesaj = [] + + Do Case + Case Empty(porec.denumire) + lcMesaj = [Completati Denumirea!] + loob = Thisform._pageframe1.page1.clb_tx_denumire.text_simplu1 + + Case Empty(porec.Cont) And porec.in_stoc = 1 + lcMesaj = [Nu ati completat contul!] + loob = Thisform._pageframe1.page1.clb_tx_cont.text_simplu1 + Otherwise + If Thisform.do_deschide_tranzactie() + llReturn = This.cus_odata_catalog_articole.salvare(Thisform.orec, Thisform.NID) + If m.llReturn + lnIdArticol = m.pnIdAMS + + * Salvare parteneri_articole_coduri + lcDeleted = Set("Deleted") + Set Deleted Off + Select crsParteneriArticoleCoduri + Replace All id_articol With m.lnIdArticol For Empty(Nvl(id_articol, 0)) + + Select crsParteneriArticoleCoduri + SCAN FOR !(EMPTY(NVL(id_part,0)) OR EMPTY(NVL(cod,''))) + Do Case + Case Id = 0 And !Deleted() + lcActiune = [INSERT] + Case Id <> 0 And !Deleted() + lcActiune = [UPDATE] + Case Id <> 0 And Deleted() + lcActiune = [DELETE] + Otherwise + lcActiune = [] + Endcase + If !Empty(lcActiune) + Scatter Name loRec + Thisform.Cus_odata_parteneri_articole_coduri.cactiune = lcActiune + llReturn = Thisform.Cus_odata_parteneri_articole_coduri.salvare(loRec, loRec.Id) + If !m.llReturn + Exit + Endif + Endif + Select crsParteneriArticoleCoduri + Endscan + + Set Deleted &lcDeleted + Endif && cus_odata_catalog_articole + + Thisform.do_inchide_tranzactie(Iif(m.llReturn, 1, 2)) + Endif && do_deschide_tranzactie + Endcase + + If !Empty(lcMesaj) + AMESSAGEBOX(lcMesaj, 0 + 48, "Atentie") + loob.SetFocus() + Endif + + Return m.llReturn + + ENDPROC + + PROCEDURE Init + *!* 27.08.2009 + *!* marius.mutu + *!* taxa reconditionare + + *!* 07.09.2009 + *!* marius.mutu + *!* generatoare codmat, codbare + + LPARAMETERS toRec, tnId, tcActiune + + DODEFAULT() + + SELECT crs_grupe_art + LOCATE FOR id_grupa = toRec.id_grupa + THIS._pageframe1.page1.cb_tx_grupa._cbbase1.VALUE = crs_grupe_art.grupa + *this.cb_tx_grupa._cbbase1.Value = torec.id_grupa + THIS._pageframe1.page1.cb_tx_subgrupa._cbbase1.ROWSOURCE = [] + SELECT crs_subgrupe_art + + lcFiltru = [set filter to id_grupa = ] + ALLTRIM(STR(NVL(toRec.id_grupa,0))) + &lcFiltru + THIS._pageframe1.page1.cb_tx_subgrupa._cbbase1.ROWSOURCE = [crs_subgrupe_art.subgrupa] + LOCATE FOR id_subgrupa = toRec.id_subgrupa + THIS._pageframe1.page1.cb_tx_subgrupa._cbbase1.VALUE = crs_subgrupe_art.subgrupa + *this.cb_tx_subgrupa._cbbase1.Value = torec.id_subgrupa + + THIS.orec= toRec + THIS.nid = tnId + THIS.cus_odata_catalog_articole.cactiune = tcActiune + + DO CASE + CASE UPPER(ALLTRIM(tcActiune)) = [INSERT] + THIS.lb_titlu_alb_b121.CAPTION = [Adaugare] + *!* se pot adauga si articolele negestionabile 17.02.2009 + *!* IF NVL(toRec.in_stoc,0) = 1 + *!* this.ckInStoc.ReadOnly = .T. + *!* ENDIF + *!* 17.02.2009 ^ + IF NVL(toRec.in_crm,0) = 1 + THIS._pageframe1.page1.ckInCrm.ReadOnly = .T. + ENDIF + CASE UPPER(ALLTRIM(tcActiune)) = [UPDATE] + THIS.lb_titlu_alb_b121.CAPTION = [Modificare] + + *!* 27.08.2009 + IF LEFT(torec.cont,3) = "303" + thisform._pageframe1.page1.Clb_tx_dnf.Visible = .T. + thisform._pageframe1.page1.Clb_tx_taxa_reconditionare.Visible = .T. + ELSE + thisform._pageframe1.page1.Clb_tx_dnf.Visible = .F. + thisform._pageframe1.page1.Clb_tx_taxa_reconditionare.Visible = .F. + ENDIF + *!* 27.08.2009 ^ + ENDCASE + Thisform.arata_date() + + + *!* 07.09.2009 + If gnCodMatAutomat = 2 + This.oGeneratorCodmat= Createobject("oGeneratorNumere") + lnRezultat = This.oGeneratorCodmat.creeaza_cursor_serii(14) + EndIf + If gnCodBareAutomat = 2 + This.oGeneratorCodBare= Createobject("oGeneratorNumere") + lnRezultat2 = This.oGeneratorCodBare.creeaza_cursor_serii(15) + EndIf + *!* 07.09.2009 ^ + ENDPROC + + PROCEDURE Load + If Used('crs_grupe_art') + Use In 'crs_grupe_art' + Endif + If !Used('crs_grupe_art') + lcsel1 = [select grupa,id_grupa from ] + gcS + [.vgest_art_gr order by grupa] + lccursor1 = [crs_grupe_art] + lnsucces1 = goExecutor.oExecute(lcsel1,lccursor1) + If lnsucces1 < 0 + lcmesaj = goExecutor.cEroare + ofrm_er = Createobject('frm_mesaj','Eroare','exclam.ico','Avertizare',lcmesaj) + ofrm_er.Show(1) + Release ofrm_er + Endif + Endif + + If Used('crs_subgrupe_art') + Use In 'crs_subgrupe_art' + Endif + If !Used('crs_subgrupe_art') + lcsel2 = [select subgrupa,id_subgrupa,id_grupa,indicativ from ] + gcS + [.vgest_art_sbgr order by subgrupa] + lccursor2 = [crs_subgrupe_art] + lnsucces2 = goExecutor.oExecute(lcsel2,lccursor2) + If lnsucces2 < 0 + lcmesaj = goExecutor.cEroare + ofrm_er = Createobject('frm_mesaj','Eroare','exclam.ico','Avertizare',lcmesaj) + ofrm_er.Show(1) + Release ofrm_er + Endif + Endif + ENDPROC + + PROCEDURE Show + LPARAMETERS nStyle + DODEFAULT(nStyle) + this._pageframe1.pAGE1.clb_tx_denumire.texT_SIMPLU1.SetFocus() + + ENDPROC + + PROCEDURE _pageframe1.Page1.But_nou1.Click + SELECT crsParteneriArticoleCoduri + APPEND BLANK + this.Parent.grdParteneriArticoleCoduri.cPartener.SetFocus() + ENDPROC + + PROCEDURE _pageframe1.Page1.But_sterge1.Click + SELECT crsParteneriArticoleCoduri + IF !BOF('crsParteneriArticoleCoduri') AND AMESSAGEBOX('Stergeti inregistrarea?',4+32,_screen.Caption) = 6 + DELETE + TRY + SKIP -1 IN crsParteneriArticoleCoduri + ENDTRY + this.Parent.grdParteneriArticoleCoduri.cPartener.SetFocus() + ENDIF + + ENDPROC + + PROCEDURE _pageframe1.Page1.cboUM.LostFocus + poRec.cod_um_iso = ALLTRIM(vnom_um.cod_um_iso) + poRec.um_iso = ALLTRIM(vnom_um.um_iso) + this.Parent.cboUMISO.Refresh() + ENDPROC + + PROCEDURE _pageframe1.Page1.cboUM.ProgrammaticChange + poRec.cod_um_iso = ALLTRIM(vnom_um.cod_um_iso) + poRec.um_iso = ALLTRIM(vnom_um.um_iso) + this.Parent.cboUMISO.Refresh() + + ENDPROC + + PROCEDURE _pageframe1.Page1.cboUM.Valid + Local laUM[1], lcUM, lcSelect + lcSelect = SELECT() + lcUM = ALLTRIM(this.DisplayValue) + SELECT COUNT(*) as nr FROM vnom_um WHERE ALLTRIM(um) == m.lcUM INTO ARRAY laUM + IF laUM[1] = 0 + SELECT vnom_um + APPEND BLANK + REPLACE um WITH m.lcUM, um_iso WITH '', cod_um_iso WITH '' + poRec.um = m.lcUM + ENDIF + + poRec.cod_um_iso = ALLTRIM(vnom_um.cod_um_iso) + poRec.um_iso = ALLTRIM(vnom_um.um_iso) + this.Parent.cboUMISO.Refresh() + + SELECT (m.lcSelect) + RETURN .T. + ENDPROC + + PROCEDURE _pageframe1.Page1.cboUMISO.Valid + Local laUMISO[1], lcUMISO + lcUMISO = ALLTRIM(this.DisplayValue) + IF !EMPTY(m.lcUMISO) + SELECT COUNT(*) as nr FROM vnom_um_iso WHERE ALLTRIM(um_iso) == m.lcUMISO INTO ARRAY laUMISO + IF laUMISO[1] = 0 + AMESSAGEBOX('Alegeti o unitate de masura valida!',0+48,_screen.Caption) + RETURN .F. + ENDIF + ENDIF + + RETURN .T. + ENDPROC + + PROCEDURE _pageframe1.Page1.Cb_tx_grupa._cbbase1.Valid + + IF !EMPTY(this.value) + porec.id_grupa = crs_grupe_art.id_grupa + thisform._pageframe1.page1.cb_tx_subgrupa._cbbase1.RowSource = [] + SELECT crs_subgrupe_art + lcfilter = [SET FILTER TO id_grupa = ] + ALLTRIM(STR(porec.id_grupa)) + &lcfilter + thisform._pageframe1.page1.cb_tx_subgrupa._cbbase1.RowSource = [crs_subgrupe_art.subgrupa] + thisform._pageframe1.page1.cb_tx_subgrupa._cbbase1.ResetToDefault('value') + porec.id_subgrupa = 0 + thisform._pageframe1.page1.cb_tx_subgrupa._cbbase1.refresh + ENDIF + + ENDPROC + + PROCEDURE _pageframe1.Page1.Cb_tx_subgrupa._cbbase1.GotFocus + IF EMPTY(thisform._pageframe1.page1.cb_tx_grupa._cbbase1.value) + AMESSAGEBOX('Alegeti mai intai grupa!',0+32,_screen.Caption) + thisform._pageframe1.page1.cb_tx_grupa._cbbase1.setfocus + ENDIF + + + ENDPROC + + PROCEDURE _pageframe1.Page1.Cb_tx_subgrupa._cbbase1.LostFocus + IF !EMPTY(this.value) + porec.id_subgrupa = crs_subgrupe_art.id_subgrupa + EndIf + thisform.Refresh + ENDPROC + + PROCEDURE _pageframe1.Page1.Clb_tx_cont.Text_simplu1.Valid + *!* 27.08.2009 + *!* marius.mutu + *!* taxa reconditionare + + *!* 27.08.2009 + IF LEFT(porec.cont,3) = "303" + thisform._pageframe1.page1.Clb_tx_dnf.Visible = .T. + thisform._pageframe1.page1.Clb_tx_taxa_reconditionare.Visible = .T. + ELSE + thisform._pageframe1.page1.Clb_tx_dnf.Visible = .F. + thisform._pageframe1.page1.Clb_tx_taxa_reconditionare.Visible = .F. + ENDIF + *!* 27.08.2009 ^ + ENDPROC + + PROCEDURE _pageframe1.Page1.grdParteneriArticoleCoduri.cPartener.Text1.InteractiveChange + thisform.do_alege_partener() + ENDPROC + +ENDDEFINE + +DEFINE CLASS frm_config_codbare AS frm_termin_renunt OF "_frm_child.vcx" + *< CLASSDATA: Baseclass="form" Timestamp="" Scale="Pixels" Uniqueid="" /> + + *-- OBJECTDATA items order determines ZOrder / El orden de los items OBJECTDATA determina el ZOrder + *< OBJECTDATA: ObjPath="_txbase1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="_LBBASE1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="_lbbase2" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="_optiongrup1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="_lbbase4" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="_lbbase3" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="_txbase2" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="_lbbase5" UniqueID="" Timestamp="" /> + + * + *m: do_enabledisable + *p: ccodbarecifre + *p: ccodbareprefix + *p: ncodbareautomat + * + + * + ccodbarecifre = + ccodbareprefix = + DoCreate = .T. + Height = 133 + Name = "frm_config_codbare" + ncodbareautomat = 0 + Width = 417 + _shape1.Height = 29 + _shape1.Left = 0 + _shape1.Name = "_shape1" + _shape1.Top = 0 + _shape1.Width = 492 + _shape2.Name = "_shape2" + Lb_titlu_alb_b121.Caption = "Configurare cod bare" + Lb_titlu_alb_b121.Name = "Lb_titlu_alb_b121" + BUT_TERMIN1.Left = 387 + BUT_TERMIN1.Name = "BUT_TERMIN1" + BUT_TERMIN1.Top = 0 + Gridsort1.Name = "Gridsort1" + But_renunt1.Left = 358 + But_renunt1.Name = "But_renunt1" + But_renunt1.Top = 0 + * + + ADD OBJECT '_LBBASE1' AS _lbbase WITH ; + Caption = "Prefix:", ; + Left = 5, ; + Name = "_LBBASE1", ; + Top = 107 + *< END OBJECT: ClassLib="_lb_base.vcx" BaseClass="label" /> + + ADD OBJECT '_lbbase2' AS _lbbase WITH ; + Caption = "+ Cod Subgrupa+", ; + Left = 123, ; + Name = "_lbbase2", ; + Top = 107 + *< END OBJECT: ClassLib="_lb_base.vcx" BaseClass="label" /> + + ADD OBJECT '_lbbase3' AS _lbbase WITH ; + Caption = "Numar automat din ", ; + Left = 223, ; + Name = "_lbbase3", ; + Top = 107 + *< END OBJECT: ClassLib="_lb_base.vcx" BaseClass="label" /> + + ADD OBJECT '_lbbase4' AS _lbbase WITH ; + Caption = "Se genereaza automat codul de bare?", ; + Left = 12, ; + Name = "_lbbase4", ; + Top = 37 + *< END OBJECT: ClassLib="_lb_base.vcx" BaseClass="label" /> + + ADD OBJECT '_lbbase5' AS _lbbase WITH ; + Caption = "cifre", ; + Left = 385, ; + Name = "_lbbase5", ; + Top = 107 + *< END OBJECT: ClassLib="_lb_base.vcx" BaseClass="label" /> + + ADD OBJECT '_optiongrup1' AS _optiongrup WITH ; + ControlSource = "thisform.ncodbareautomat", ; + Height = 46, ; + Left = 29, ; + Name = "_optiongrup1", ; + Top = 55, ; + Width = 71, ; + Option1.AutoSize = .T., ; + Option1.Caption = "NU", ; + Option1.Left = 5, ; + Option1.Name = "Option1", ; + Option1.Top = 5, ; + Option2.Caption = "DA", ; + Option2.Left = 5, ; + Option2.Name = "Option2", ; + Option2.Top = 24 + *< END OBJECT: ClassLib="_baza.vcx" BaseClass="optiongroup" /> + + ADD OBJECT '_txbase1' AS _txbase WITH ; + ControlSource = "thisform.ccodbareprefix", ; + Height = 23, ; + Left = 45, ; + Name = "_txbase1", ; + Top = 104, ; + Width = 72 + *< END OBJECT: ClassLib="_tx_base.vcx" BaseClass="textbox" /> + + ADD OBJECT '_txbase2' AS _txbase WITH ; + ControlSource = "thisform.ccodbarecifre", ; + Height = 23, ; + Left = 337, ; + Name = "_txbase2", ; + Top = 104, ; + Width = 38 + *< END OBJECT: ClassLib="_tx_base.vcx" BaseClass="textbox" /> + + PROCEDURE do_enabledisable + Parameters tnValoare + + If tnValoare = 1 + thisform._LBBASE1.Enabled= .F. + thisform._lbbase2.Enabled= .F. + thisform._lbbase3.Enabled= .F. + thisform._lbbase5.Enabled= .F. + thisform._txbase1.Enabled= .F. + thisform._txbase2.Enabled= .F. + Else + thisform._LBBASE1.Enabled= .t. + thisform._lbbase2.Enabled= .t. + thisform._lbbase3.Enabled= .t. + thisform._lbbase5.Enabled= .t. + thisform._txbase1.Enabled= .t. + thisform._txbase2.Enabled= .t. + EndIf + ENDPROC + + PROCEDURE inainte_de_do_termin + Local lcSel,lnsucces ,lcmesaj + lcsel = [begin update optiuni set varvalue = ']+Alltrim(Transform(thisform.ncodbareautomat ))+[' where varname = 'CODBAREAUTOMAT';]+; + [update optiuni set varvalue = ']+Nvl(Alltrim(thisform.ccodbareprefix ),[])+[' where varname = 'CODBAREPREFIX';]+; + [update optiuni set varvalue = ']+Nvl(Alltrim(thisform.ccodbarecifre),[0])+[' where varname = 'CODBARECIFRE';]+; + [end;] + lnsucces = goExecutor.oExecute(lcsel) + If lnsucces < 0 + lcmesaj = goExecutor.cEroare + ofrm_er = Createobject('frm_mesaj','Eroare','exclam.ico','Avertizare',lcmesaj) + ofrm_er.Show(1) + Release ofrm_er + Return + EndIf + + gnCODBAREAUTOMAT = thisform.ncodbareautomat + gcCODBAREPREFIX = Alltrim(thisform.ccodbareprefix ) + gcCODBAREcifre = Alltrim(thisform.ccodbarecifre) + + DoDefault() + + ENDPROC + + PROCEDURE Show + LPARAMETERS nStyle + thisform.ncodbareautomat = gnCODBAREAUTOMAT + thisform.ccodbareprefix = gcCODBAREPREFIX + thisform.ccodbarecifre = gcCODBAREcifre + + thisform.do_enabledisable(gnCodbareAutomat) + ENDPROC + + PROCEDURE _optiongrup1.InteractiveChange + thisform.do_enabledisable(this.Value) + ENDPROC + +ENDDEFINE + +DEFINE CLASS frm_config_codmat AS frm_termin_renunt OF "_frm_child.vcx" + *< CLASSDATA: Baseclass="form" Timestamp="" Scale="Pixels" Uniqueid="" /> + + *-- OBJECTDATA items order determines ZOrder / El orden de los items OBJECTDATA determina el ZOrder + *< OBJECTDATA: ObjPath="_optiongrup1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="_lbbase4" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="_txbase1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="Cmd_executa1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="_txbase2" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="_lbbase1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="_lbbase2" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="_txbase3" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="_lbbase3" UniqueID="" Timestamp="" /> + + * + *m: do_enabledisable + *p: ccodmatcifre + *p: ccodmatmijloc + *p: ccodmatprefix + *p: ccodmatsablon + *p: ncodmatautomat + * + + * + ccodmatcifre = + ccodmatmijloc = + ccodmatprefix = + ccodmatsablon = + DoCreate = .T. + Height = 165 + Name = "frm_config_codmat" + ncodmatautomat = + Width = 486 + _shape1.Height = 29 + _shape1.Left = 0 + _shape1.Name = "_shape1" + _shape1.Top = 0 + _shape1.Width = 540 + _shape2.Name = "_shape2" + Lb_titlu_alb_b121.Caption = "Configurare cod material" + Lb_titlu_alb_b121.Name = "Lb_titlu_alb_b121" + BUT_TERMIN1.Left = 454 + BUT_TERMIN1.Name = "BUT_TERMIN1" + BUT_TERMIN1.Top = 1 + Gridsort1.Left = 228 + Gridsort1.Name = "Gridsort1" + Gridsort1.Top = 12 + But_renunt1.Left = 425 + But_renunt1.Name = "But_renunt1" + But_renunt1.Top = 1 + * + + ADD OBJECT '_lbbase1' AS _lbbase WITH ; + Caption = "+ Cod Subgrupa +", ; + Left = 88, ; + Name = "_lbbase1", ; + Top = 131 + *< END OBJECT: ClassLib="_lb_base.vcx" BaseClass="label" /> + + ADD OBJECT '_lbbase2' AS _lbbase WITH ; + Caption = "+ Numar automat din ", ; + Left = 264, ; + Name = "_lbbase2", ; + Top = 131 + *< END OBJECT: ClassLib="_lb_base.vcx" BaseClass="label" /> + + ADD OBJECT '_lbbase3' AS _lbbase WITH ; + Caption = "cifre", ; + Left = 432, ; + Name = "_lbbase3", ; + Top = 131 + *< END OBJECT: ClassLib="_lb_base.vcx" BaseClass="label" /> + + ADD OBJECT '_lbbase4' AS _lbbase WITH ; + Caption = "Se genereaza automat codul material?", ; + Left = 12, ; + Name = "_lbbase4", ; + Top = 36 + *< END OBJECT: ClassLib="_lb_base.vcx" BaseClass="label" /> + + ADD OBJECT '_optiongrup1' AS _optiongrup WITH ; + ControlSource = "thisform.ncodmatautomat", ; + Height = 46, ; + Left = 29, ; + Name = "_optiongrup1", ; + Top = 55, ; + Width = 71, ; + Option1.AutoSize = .T., ; + Option1.Caption = "NU", ; + Option1.Left = 5, ; + Option1.Name = "Option1", ; + Option1.Top = 5, ; + Option2.Caption = "DA", ; + Option2.Left = 5, ; + Option2.Name = "Option2", ; + Option2.Top = 24 + *< END OBJECT: ClassLib="_baza.vcx" BaseClass="optiongroup" /> + + ADD OBJECT '_txbase1' AS _txbase WITH ; + ControlSource = "thisform.ccodmatprefix", ; + Height = 23, ; + Left = 12, ; + Name = "_txbase1", ; + Top = 128, ; + Width = 72 + *< END OBJECT: ClassLib="_tx_base.vcx" BaseClass="textbox" /> + + ADD OBJECT '_txbase2' AS _txbase WITH ; + ControlSource = "thisform.ccodmatmijloc", ; + Height = 23, ; + Left = 192, ; + Name = "_txbase2", ; + Top = 128, ; + Width = 72 + *< END OBJECT: ClassLib="_tx_base.vcx" BaseClass="textbox" /> + + ADD OBJECT '_txbase3' AS _txbase WITH ; + ControlSource = "thisform.ccodmatcifre", ; + Height = 23, ; + Left = 384, ; + Name = "_txbase3", ; + Top = 128, ; + Width = 38 + *< END OBJECT: ClassLib="_tx_base.vcx" BaseClass="textbox" /> + + ADD OBJECT 'Cmd_executa1' AS cmd_executa WITH ; + Left = 360, ; + Name = "Cmd_executa1", ; + Top = 48, ; + Visible = .F. + *< END OBJECT: ClassLib="cmd_butoane.vcx" BaseClass="commandbutton" /> + + PROCEDURE do_enabledisable + Parameters tnValoare + + If tnValoare = 1 + thisform._LBBASE1.Enabled= .F. + thisform._lbbase2.Enabled= .F. + thisform._lbbase3.Enabled= .F. + thisform._txbase1.Enabled= .F. + thisform._txbase2.Enabled= .F. + thisform._txbase3.Enabled= .F. + + Else + thisform._LBBASE1.Enabled= .t. + thisform._lbbase2.Enabled= .t. + thisform._lbbase3.Enabled= .t. + thisform._txbase1.Enabled= .t. + thisform._txbase2.Enabled= .t. + thisform._txbase3.Enabled= .t. + EndIf + ENDPROC + + PROCEDURE do_executa + Local lnNnir + Store 0 to lnNnir + *!* Debug + *!* Suspend + + Private poGeneratorNumere + poGeneratorNumere = Createobject("oGeneratorNumere") + lnRezultat = poGeneratorNumere.creeaza_cursor_serii(14) + *!* poGeneratorNumere.activeazaBuffer(2,2) + lnNnir = poGeneratorNumere.aloca_numar(14,2) + + MessageBox(Transform(lnNnir ),0,'a') + poGeneratorNumere.dezaloca_numar(14) + poGeneratorNumere.dezaloca_numere() + Release poGeneratorNumere + ENDPROC + + PROCEDURE inainte_de_do_termin + Local lcSel,lnsucces ,lcmesaj + + lcsel = [begin update optiuni set varvalue = ']+Alltrim(Transform(thisform.ncodmatautomat))+[' where varname = 'CODMATAUTOMAT'; ]+; + [update optiuni set varvalue = ']+Nvl(Alltrim(thisform.CCODMATPRefix),[])+[' where varname = 'CODMATPREFIX'; ]+; + [update optiuni set varvalue = ']+Nvl(Alltrim(thisform.CCODmatmijloc),[])+[' where varname = 'CODMATMIJLOC'; ]+; + [update optiuni set varvalue = ']+Nvl(Alltrim(thisform.CCODMAtcifre),[0])+[' where varname = 'CODMATCIFRE'; ]+; + [ end;] + lnsucces = goExecutor.oExecute(lcsel) + If lnsucces < 0 + lcmesaj = goExecutor.cEroare + ofrm_er = Createobject('frm_mesaj','Eroare','exclam.ico','Avertizare',lcmesaj) + ofrm_er.Show(1) + Release ofrm_er + Return + EndIf + gncodmatautomat = thisform.ncodmatautomat + gccodmatPrefix = Alltrim(thisform.ccodmatprefix) + gccodmatMijloc = Alltrim(thisform.ccodmatMijloc) + gccodmatCifre = Alltrim(thisform.ccodmatCifre) + DoDefault() + ENDPROC + + PROCEDURE Show + LPARAMETERS nStyle + thisform.ncodmatautomat = gncodmatautomat + thisform.ccodmatmijloc = gcCodMatMijloc + thisform.ccodmatprefix = gcCodmatPrefix + thisform.ccodmatcifre = gcCodmatCifre + + + thisform.do_enabledisable(thisform.ncodmatautomat) + ENDPROC + + PROCEDURE _optiongrup1.InteractiveChange + thisform.do_enabledisable(this.Value) + ENDPROC + +ENDDEFINE + +DEFINE CLASS frm_grupe_subgr_art_nou AS _frmbase OF "_frm_base.vcx" + *< CLASSDATA: Baseclass="form" Timestamp="" Scale="Pixels" Uniqueid="" /> + + *-- OBJECTDATA items order determines ZOrder / El orden de los items OBJECTDATA determina el ZOrder + *< OBJECTDATA: ObjPath="Cus_odata_grupe_art" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="Cus_odata_subgrupe_art" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="Clb_tx_simplu" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="But_renunt1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="Clb_tx_simplu1" UniqueID="" Timestamp="" /> + + * + *p: nid + *p: orec + * + + * + DoCreate = .T. + Height = 99 + Name = "frm_grupe_subgr_art_nou" + nid = 0 + Width = 417 + _shape1.Height = 29 + _shape1.Left = 0 + _shape1.Name = "_shape1" + _shape1.Top = 0 + _shape1.Width = 468 + _shape2.Height = 29 + _shape2.Left = 354 + _shape2.Name = "_shape2" + _shape2.Top = 0 + _shape2.Width = 61 + Lb_titlu_alb_b121.Name = "Lb_titlu_alb_b121" + Lb_titlu_alb_b121.TabIndex = 5 + BUT_TERMIN1.Left = 385 + BUT_TERMIN1.Name = "BUT_TERMIN1" + BUT_TERMIN1.TabIndex = 3 + BUT_TERMIN1.Top = 1 + Gridsort1.Name = "Gridsort1" + * + + ADD OBJECT 'But_renunt1' AS but_renunt WITH ; + Left = 356, ; + Name = "But_renunt1", ; + TabIndex = 4, ; + Top = 1 + *< END OBJECT: ClassLib="cmd_butoane.vcx" BaseClass="commandbutton" /> + + ADD OBJECT 'Clb_tx_simplu' AS clb_tx_simplu WITH ; + Height = 29, ; + Left = 13, ; + Name = "Clb_tx_simplu", ; + TabIndex = 1, ; + Top = 34, ; + Width = 393, ; + Text_simplu1.Height = 23, ; + Text_simplu1.Left = 99, ; + Text_simplu1.Name = "Text_simplu1", ; + Text_simplu1.Top = 3, ; + Text_simplu1.Width = 286, ; + Lb_simplu1.Name = "Lb_simplu1" + *< END OBJECT: ClassLib="lb_tx.vcx" BaseClass="container" /> + + ADD OBJECT 'Clb_tx_simplu1' AS clb_tx_simplu WITH ; + Height = 29, ; + Left = 13, ; + Name = "Clb_tx_simplu1", ; + TabIndex = 2, ; + Top = 65, ; + Width = 393, ; + Text_simplu1.Height = 23, ; + Text_simplu1.Left = 99, ; + Text_simplu1.Name = "Text_simplu1", ; + Text_simplu1.Top = 3, ; + Text_simplu1.Width = 286, ; + Lb_simplu1.Name = "Lb_simplu1" + *< END OBJECT: ClassLib="lb_tx.vcx" BaseClass="container" /> + + ADD OBJECT 'Cus_odata_grupe_art' AS cus_odata_grupe_art WITH ; + Left = 21, ; + Name = "Cus_odata_grupe_art", ; + Top = 80 + *< END OBJECT: ClassLib="onom_articole.vcx" BaseClass="custom" /> + + ADD OBJECT 'Cus_odata_subgrupe_art' AS cus_odata_subgrupe_art WITH ; + Left = 294, ; + Name = "Cus_odata_subgrupe_art", ; + Top = 79 + *< END OBJECT: ClassLib="onom_articole.vcx" BaseClass="custom" /> + + PROCEDURE inainte_de_do_termin + LOCAL PLRETURN + + lccontrol = UPPER(this.ActiveControl.BaseClass ) + IF INLIST(lccontrol,"TEXTBOX","EDITBOX","COMBOBOX") + lcval=This.Activecontrol.controlsource + &lcval=thisform.ActiveControl.value + ENDIF + + DO case + CASE UPPER(ALLTRIM(this.clb_tx_simplu.lb_simplu1.Caption))='GRUPA' + IF EMPTY(porec.grupa) + lcTitlu=[Atentie] + lcMesaj=[Nu ati completat numele grupei!] + lcimagine = [exclam.ico] + lctip = [Avertizare] + ofrm_av = CREATEOBJECT([frm_mesaj],lcTitlu,lcimagine,lctip,lcMesaj) + ofrm_av.show(1) + RELEASE ofrm_av + + This.clb_tx_simplu.SetFocus() + plreturn=.F. + ELSE + If Alltrim(Upper(This.cus_odata_grupe_art.cactiune))="INSERT" ; + Or (Alltrim(Upper(This.cus_odata_grupe_art.cactiune))="UPDATE" ; + And porec.grupa!=pcnume) + SELECT crsgrupe_art + LOCATE FOR UPPER(ALLTRIM(grupa)) = UPPER(TRIM(porec.grupa)) + IF FOUND() + ofrm_av = CREATEOBJECT([frm_mesaj],[Atentie],[exclam.ico],[Avertizare],[Mai exista o grupa cu acest nume inregistrata!]) + ofrm_av.show(1) + RELEASE ofrm_av + + Thisform.clb_tx_simplu.SetFocus() + plreturn=.F. + Else + + PLRETURN=This.cus_odata_grupe_art.salvare(This.OREC,This.NID) + ENDIF + ELSE + PLRETURN=This.cus_odata_grupe_art.salvare(This.OREC,This.NID) + ENDIF + ENDIF + + CASE UPPER(ALLTRIM(this.clb_tx_simplu.lb_simplu1.Caption))='SUBGRUPA' + IF EMPTY(porec.subgrupa) + lcTitlu=[Atentie] + lcMesaj=[Nu ati completat numele subgrupei!] + lcimagine = [exclam.ico] + lctip = [Avertizare] + ofrm_av = CREATEOBJECT([frm_mesaj],lcTitlu,lcimagine,lctip,lcMesaj) + ofrm_av.show(1) + RELEASE ofrm_av + + This.clb_tx_simplu.SetFocus() + plreturn=.F. + ELSE + If Alltrim(Upper(This.cus_odata_subgrupe_art.cactiune))="INSERT" ; + Or (Alltrim(Upper(This.cus_odata_subgrupe_art.cactiune))="UPDATE" ; + And (porec.subgrupa!=pcnume or Nvl(porec.indicativ,[]) != Nvl(pcIndicativ,[]))) + SELECT crssubgrupe_art + If Alltrim(Upper(This.cus_odata_subgrupe_art.cactiune))="INSERT" + LOCATE For(UPPER(ALLTRIM(subgrupa)) = UPPER(TRIM(porec.subgrupa))) + Else + LOCATE For(UPPER(ALLTRIM(subgrupa)) = UPPER(TRIM(porec.subgrupa)) and porec.subgrupa!=pcnume ) + EndIf + IF FOUND() + ofrm_av = CREATEOBJECT([frm_mesaj],[Atentie],[exclam.ico],[Avertizare],[Mai exista o subgrupa cu acest nume inregistrata!]) + ofrm_av.show(1) + RELEASE ofrm_av + + Thisform.clb_tx_simplu.SetFocus() + plreturn=.F. + Else + SELECT crssubgrupe_art + If Alltrim(Upper(This.cus_odata_subgrupe_art.cactiune))="INSERT" + LOCATE FOR Nvl(Alltrim(indicativ),[])=Nvl(Alltrim(porec.indicativ),[]) + Else + LOCATE FOR UPPER(ALLTRIM(subgrupa)) <> UPPER(TRIM(pcnume)) and Nvl(Alltrim(indicativ),[])=Nvl(Alltrim(porec.indicativ),[]) + EndIf + IF FOUND() + ofrm_av = CREATEOBJECT([frm_mesaj],[Atentie],[exclam.ico],[Avertizare],[Mai exista o subgrupa cu acest indicativ inregistrata!]) + ofrm_av.show(1) + RELEASE ofrm_av + + Thisform.clb_tx_simplu1.SetFocus() + plreturn=.F. + Else + PLRETURN=This.cus_odata_subgrupe_art.salvare(This.OREC,This.NID) + EndIf + ENDIF + ELSE + PLRETURN=This.cus_odata_subgrupe_art.salvare(This.OREC,This.NID) + ENDIF + ENDIF + ENDCASE + + Return PLRETURN + + + ENDPROC + + PROCEDURE Init + LPARAMETERS toRec, tnId, tcActiune + + DODEFAULT() + + IF PEMSTATUS(torec,'id_subgrupa',5) && se creeaza sau se modifica o subgrupa + lccus_odata = 'cus_odata_subgrupe_art' + lcTitlu = 'Subgrupa articole' + this.clb_tx_simplu.lb_simplu1.caption = 'Subgrupa' + this.clb_tx_simplu.text_simplu1.ControlSource = 'porec.subgrupa' + this.clb_tx_simplu1.lb_simplu1.caption = 'Indicativ' + this.clb_tx_simplu1.text_simplu1.ControlSource = 'porec.indicativ' + this.clb_tx_simplu1.Visible= .T. + thisform.Height=100 + ELSE && se creeaza sau se modifica o grupa + lccus_odata = 'cus_odata_grupe_art' + lcTitlu = 'Grupa articole' + this.clb_tx_simplu.lb_simplu1.caption = 'Grupa' + this.clb_tx_simplu.text_simplu1.ControlSource = 'porec.grupa' + this.clb_tx_simplu1.Visible= .F. + thisform.Height=70 + ENDIF + + this.Lb_titlu_alb_b121.Caption = lctitlu + this.orec= toRec + this.nid = tnId + this.&lccus_odata..cactiune = tcActiune + ENDPROC + +ENDDEFINE + +DEFINE CLASS frm_grupe_subgr_articole AS _frmbase OF "..\..\..\roacomenzi\comun\clase\_frm_base.vcx" + *< CLASSDATA: Baseclass="form" Timestamp="" Scale="Pixels" Uniqueid="" /> + + *-- OBJECTDATA items order determines ZOrder / El orden de los items OBJECTDATA determina el ZOrder + *< OBJECTDATA: ObjPath="Ct_grid_search1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="Ct_grid_search2" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="But_nou1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="But_modifica1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="But_sterge1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="But_nou2" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="But_modifica2" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="But_sterge2" UniqueID="" Timestamp="" /> + + * + cbuton3 = but_modifica1;but_modifica2 + cbuton4 = but_sterge1;but_sterge2;but_reface1 + DoCreate = .T. + Height = 419 + Name = "frm_grupe_subgr_articole" + Width = 711 + _shape1.Height = 29 + _shape1.Left = 0 + _shape1.Name = "_shape1" + _shape1.Top = 0 + _shape1.Width = 720 + _shape2.Height = 29 + _shape2.Left = 679 + _shape2.Name = "_shape2" + _shape2.Top = 0 + _shape2.Width = 32 + Lb_titlu_alb_b121.Name = "Lb_titlu_alb_b121" + BUT_TERMIN1.Left = 681 + BUT_TERMIN1.Name = "BUT_TERMIN1" + BUT_TERMIN1.Top = 1 + Gridsort1.Name = "Gridsort1" + * + + ADD OBJECT 'But_modifica1' AS but_modifica WITH ; + caction = do_modifica, ; + Left = 45, ; + Name = "But_modifica1", ; + Top = 383 + *< END OBJECT: ClassLib="..\..\..\roacomenzi\comun\clase\cmd_butoane.vcx" BaseClass="commandbutton" /> + + ADD OBJECT 'But_modifica2' AS but_modifica WITH ; + caction = do_modifica, ; + Left = 382, ; + Name = "But_modifica2", ; + Top = 383 + *< END OBJECT: ClassLib="..\..\..\roacomenzi\comun\clase\cmd_butoane.vcx" BaseClass="commandbutton" /> + + ADD OBJECT 'But_nou1' AS but_nou WITH ; + caction = do_adauga, ; + Left = 15, ; + Name = "But_nou1", ; + Top = 382 + *< END OBJECT: ClassLib="..\..\..\roacomenzi\comun\clase\cmd_butoane.vcx" BaseClass="commandbutton" /> + + ADD OBJECT 'But_nou2' AS but_nou WITH ; + caction = do_adauga, ; + Left = 352, ; + Name = "But_nou2", ; + Top = 382 + *< END OBJECT: ClassLib="..\..\..\roacomenzi\comun\clase\cmd_butoane.vcx" BaseClass="commandbutton" /> + + ADD OBJECT 'But_sterge1' AS but_sterge WITH ; + caction = do_sterge, ; + Left = 74, ; + Name = "But_sterge1", ; + Top = 382 + *< END OBJECT: ClassLib="..\..\..\roacomenzi\comun\clase\cmd_butoane.vcx" BaseClass="commandbutton" /> + + ADD OBJECT 'But_sterge2' AS but_sterge WITH ; + caction = do_sterge, ; + Left = 411, ; + Name = "But_sterge2", ; + Top = 382 + *< END OBJECT: ClassLib="..\..\..\roacomenzi\comun\clase\cmd_butoane.vcx" BaseClass="commandbutton" /> + + ADD OBJECT 'Ct_grid_search1' AS ct_grid_search WITH ; + Height = 352, ; + Left = 6, ; + Name = "Ct_grid_search1", ; + Top = 31, ; + Width = 330, ; + _GRID1.Height = 285, ; + _GRID1.Left = 6, ; + _GRID1.Name = "_GRID1", ; + _GRID1.Top = 57, ; + _GRID1.Width = 312, ; + Titlu.Left = 6, ; + Titlu.Name = "Titlu", ; + Titlu.Top = 3, ; + Cb_tx_cautare1.Criteriu.Name = "Criteriu", ; + Cb_tx_cautare1.Height = 27, ; + Cb_tx_cautare1.Left = 4, ; + Cb_tx_cautare1.Name = "Cb_tx_cautare1", ; + Cb_tx_cautare1.Text.Height = 25, ; + Cb_tx_cautare1.Text.Left = 103, ; + Cb_tx_cautare1.Text.Name = "Text", ; + Cb_tx_cautare1.Text.Top = 1, ; + Cb_tx_cautare1.Text.Width = 208, ; + Cb_tx_cautare1.Top = 23, ; + Cb_tx_cautare1.Width = 314 + *< END OBJECT: ClassLib="..\..\..\roacomenzi\comun\clase\ferestre_cere_date.vcx" BaseClass="container" /> + + ADD OBJECT 'Ct_grid_search2' AS ct_grid_search WITH ; + Height = 354, ; + Left = 343, ; + Name = "Ct_grid_search2", ; + Top = 31, ; + Width = 365, ; + _GRID1.Height = 285, ; + _GRID1.Left = 6, ; + _GRID1.Name = "_GRID1", ; + _GRID1.Top = 57, ; + _GRID1.Width = 347, ; + Titlu.Left = 6, ; + Titlu.Name = "Titlu", ; + Titlu.Top = 3, ; + Cb_tx_cautare1.Criteriu.Name = "Criteriu", ; + Cb_tx_cautare1.Height = 27, ; + Cb_tx_cautare1.Left = 4, ; + Cb_tx_cautare1.Name = "Cb_tx_cautare1", ; + Cb_tx_cautare1.Text.Height = 25, ; + Cb_tx_cautare1.Text.Left = 103, ; + Cb_tx_cautare1.Text.Name = "Text", ; + Cb_tx_cautare1.Text.Top = 1, ; + Cb_tx_cautare1.Text.Width = 243, ; + Cb_tx_cautare1.Top = 23, ; + Cb_tx_cautare1.Width = 349 + *< END OBJECT: ClassLib="..\..\..\roacomenzi\comun\clase\ferestre_cere_date.vcx" BaseClass="container" /> + + PROCEDURE do_adauga + + DO case + CASE pnnr = 1 + lccursor = 'crsgrupe_art' + lcgrid = 'ct_grid_search1' + CASE pnnr = 2 + lccursor = 'crssubgrupe_art' + lcgrid = 'ct_grid_search2' + ENDCASE + + SELECT (lccursor) + SCATTER NAME lorec blank + DO Adauga_Modifica_Inregistrare WITH [grupe_subgr_art],lorec,,[INSERT] + this.&lcgrid..actualizeaza_grid + ENDPROC + + PROCEDURE do_modifica + IF TYPE('pnnr') # 'N' + pnnr =1 + ENDIF + + PRIVATE pcnume,pcIndicativ + STORE '' TO pcnume,pcIndicativ + + DO case + CASE pnnr = 1 + lccursor = 'crsgrupe_art' + lcgrid = 'ct_grid_search1' + lcamp_id = 'id_grupa' + lcamp_nume = 'grupa' + CASE pnnr = 2 + lccursor = 'crssubgrupe_art' + lcgrid = 'ct_grid_search2' + lcamp_id = 'id_subgrupa' + lcamp_nume = 'subgrupa' + + ENDCASE + + SELECT (lccursor) + SCATTER NAME lorec + lnId = lorec.&lcamp_id. + pcnume = lorec.&lcamp_nume. + If pnnr = 2 + pcIndicativ = lorec.indicativ + EndIf + DO Adauga_Modifica_Inregistrare WITH [grupe_subgr_art],lorec,lnid,[UPDATE] + this.&lcgrid..actualizeaza_grid + ENDPROC + + PROCEDURE do_sterge + + DO case + CASE pnnr = 1 + lccursor = 'crsgrupe_art' + lcgrid = 'ct_grid_search1' + lcamp_id = 'id_grupa' + lcalias = [grupe_art] + CASE pnnr = 2 + lccursor = 'crssubgrupe_art' + lcgrid = 'ct_grid_search2' + lcamp_id = 'id_subgrupa' + lcalias = [subgrupe_art] + ENDCASE + + SELECT (lccursor) + SCATTER NAME lorec + lnId = lorec.&lcamp_id. + DO STERGE_INREGISTRARE WITH lcalias,lnid + this.&lcgrid..actualizeaza_grid + + + + ENDPROC + + PROCEDURE Show + LPARAMETERS nStyle + + thisform.Ct_grid_search1.initializare(.t.) + SELECT crsgrupe_art + pnId_grupa = id_grupa + thisform.Ct_grid_search2.initializare(.t.) + + + ENDPROC + + PROCEDURE But_modifica1.Click + PRIVATE pnnr + pnnr =1 + DODEFAULT() + ENDPROC + + PROCEDURE But_modifica2.Click + PRIVATE pnnr + pnnr =2 + DODEFAULT() + ENDPROC + + PROCEDURE But_nou1.Click + PRIVATE pnnr + pnnr =1 + DODEFAULT() + ENDPROC + + PROCEDURE But_nou2.Click + PRIVATE pnnr + pnnr =2 + DODEFAULT() + ENDPROC + + PROCEDURE But_sterge1.Click + PRIVATE pnnr + pnnr =1 + DODEFAULT() + ENDPROC + + PROCEDURE But_sterge2.Click + PRIVATE pnnr + pnnr =2 + DODEFAULT() + ENDPROC + + PROCEDURE Ct_grid_search1._GRID1.AfterRowColChange + LPARAMETERS nColIndex + + SELECT crsgrupe_art + pnId_grupa = id_grupa + thisform.Ct_grid_search2.actualizeaza_grid() + + ENDPROC + +ENDDEFINE + +DEFINE CLASS frm_listeaza_articolecodbare AS frm_termin OF "_frm_child.vcx" + *< CLASSDATA: Baseclass="form" Timestamp="" Scale="Pixels" Uniqueid="" /> + + *-- OBJECTDATA items order determines ZOrder / El orden de los items OBJECTDATA determina el ZOrder + *< OBJECTDATA: ObjPath="Cb_grupare1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="Cb_grupare2" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="But_listare1" UniqueID="" Timestamp="" /> + + * + *p: cgrupa1 + *p: cgrupa2 + * + + * + cgrupa1 = + cgrupa2 = + DoCreate = .T. + Height = 130 + Name = "frm_listeaza_articolecodbare" + Width = 375 + _shape1.Name = "_shape1" + _shape2.Name = "_shape2" + Lb_titlu_alb_b121.Caption = "Listare coduri de bare" + Lb_titlu_alb_b121.Name = "Lb_titlu_alb_b121" + BUT_TERMIN1.Name = "BUT_TERMIN1" + BUT_TERMIN1.Top = 1 + Gridsort1.Name = "Gridsort1" + * + + ADD OBJECT 'But_listare1' AS but_listare WITH ; + Left = 312, ; + Name = "But_listare1", ; + Top = 1 + *< END OBJECT: ClassLib="cmd_butoane.vcx" BaseClass="commandbutton" /> + + ADD OBJECT 'Cb_grupare1' AS cb_tx_simplu WITH ; + Left = 42, ; + Name = "Cb_grupare1", ; + Top = 48, ; + _cbbase1.ControlSource = "thisform.cGrupa1", ; + _cbbase1.Name = "_cbbase1", ; + _cbbase1.RowSource = " ,Grupa,Subgrupa", ; + _cbbase1.RowSourceType = 1, ; + _lbbase1.Caption = "Grupare 1", ; + _lbbase1.Name = "_lbbase1" + *< END OBJECT: ClassLib="lb_tx.vcx" BaseClass="container" /> + + ADD OBJECT 'Cb_grupare2' AS cb_tx_simplu WITH ; + Left = 42, ; + Name = "Cb_grupare2", ; + Top = 84, ; + _cbbase1.ControlSource = "thisform.cGrupa2", ; + _cbbase1.Name = "_cbbase1", ; + _cbbase1.RowSource = " ,Grupa,Subgrupa", ; + _cbbase1.RowSourceType = 1, ; + _lbbase1.Caption = "Grupare 2", ; + _lbbase1.Name = "_lbbase1" + *< END OBJECT: ClassLib="lb_tx.vcx" BaseClass="container" /> + + PROCEDURE inainte_de_do_listare + Local lcGrupare,lcOrdine,lcSelect + Private pcGrup1,pcGrup2,pcHeaderGrup1,pcHeaderGrup2 + X = XMENU("Listare coduri de bare (pentru cititor);Listare coduri de bare (simpla)") + + Store [EOF()] To pcGrup1,pcGrup2 + Store [] To pcHeaderGrup1,pcHeaderGrup2 + + Store [] To lcGrupare,lcOrdine,lcSelect + Select crsnom_articole + If !Empty(Alltrim(Nvl(This.cgrupa1,''))) + lcGrupare = This.cgrupa1 + pcGrup1 = Alltrim(This.cgrupa1) + pcHeaderGrup1 = Alltrim(This.cgrupa1) + Endif + + If !Empty(Alltrim(Nvl(This.cgrupa2,''))) + lcGrupare = lcGrupare +Iif(!Empty(lcGrupare ),[,],[])+This.cgrupa2 + pcGrup2 = Alltrim(This.cgrupa2) + pcHeaderGrup2 = Alltrim(This.cgrupa2) + Endif + + If !Empty(lcGrupare) + lcOrdine = lcGrupare+[ ,] + lcGrupare = [ group by ]+lcGrupare + Endif + + lcSelect = [Select denumire, codmat, subgrupa, grupa, codbare from crsnom_articole order by ]+Nvl(lcOrdine,[]) +[ denumire into cursor crsListare ] + &lcSelect + Thisform.AlwaysOnTop = .F. + Select crsListare + Do Case + Case X=1 + Report Form rap_articolecodbare To Printer Prompt Preview + Case X=2 + Report Form rap_articolecodbares To Printer Prompt Preview + Otherwise + X= 3 + Endcase + Thisform.AlwaysOnTop = .T. + ENDPROC + +ENDDEFINE diff --git a/clase/onom_curs.vc2 b/clase/onom_curs.vc2 new file mode 100644 index 0000000..88d7f88 --- /dev/null +++ b/clase/onom_curs.vc2 @@ -0,0 +1,1718 @@ +*-------------------------------------------------------------------------------------------------------------------------------------------------------- +* (EN) AUTOGENERATED - ATTENTION!! - NOT INTENDED FOR EXECUTION!! USE ONLY FOR MERGING CHANGES AND STORING WITH SCM TOOLS!! +*-------------------------------------------------------------------------------------------------------------------------------------------------------- +*< FOXBIN2PRG: Version="1.21" SourceFile="onom_curs.vcx" CPID="1252" /> (Solo para binarios VFP 9 / Only for VFP 9 binaries) +* +* +DEFINE CLASS actualizare_curs_bnr AS _custom OF "_baza.vcx" + *< CLASSDATA: Baseclass="custom" Timestamp="" Scale="Pixels" Uniqueid="" /> + + * + *m: citeste_curs + *m: citeste_curs_altesurse + *m: citeste_curs_bnr + *m: initializeaza + *m: scrie_curs_bnr + *p: ccursor + *p: clink + *p: ctempfile + *p: ddata + *p: ncurs + *p: nmultiplicator + *p: ntip && 1 - Se cauta cursul la adresa din This.cLink; 2 - Se cauta cursul folosind obiectul "curs". + *p: _memberdata && XML Metadata for customizable properties + * + + * + ccursor = ccrsbnr + clink = https://www.bnr.ro/nbrfxrates.xml + ctempfile = C:\temp\temp.xml + ddata = {} + Height = 17 + Name = "actualizare_curs_bnr" + ncurs = 0.0000 + nmultiplicator = 1 + ntip = 1 + Width = 37 + _memberdata = + + + + + + + * + + PROCEDURE citeste_curs + Lparameters tdZiua,tcIsoValuta + This.nmultiplicator = 1 + This.ncurs = 0.0000 + If !Used(This.cCursor) Or tdZiua <> This.dData + This.initializeaza(tdZiua) + Endif + If !Empty(tcIsoValuta) + Select (This.cCursor) + Locate For Alltrim(Currency) = Alltrim(tcIsoValuta) + If Found() + This.nmultiplicator = Iif(Empty(Nvl(multiplier,0)),1,multiplier) + This.ncurs = Curs + Endif + Endif + + ENDPROC + + PROCEDURE citeste_curs_altesurse + Local loCurs,lnCurs,lcSql,lnSucces,loActualizareCurs,lnCurs,lcValuta,lnMultiplicator + If Empty(This.cCursor) + This.cCursor = [ccrsbnr] + Endif + If Used(This.cCursor) + Use In (This.cCursor) + Endif + lcSql = [{call pack_curs.citeste_valute()}] + lnSucces = goExecutor.oExecute(lcSql,This.cCursor) + If lnSucces < 0 + amessagebox(goExecutor.cEroare,16,"Eroare") + Else + Wait "Se actualizeaza cursurile..." Window Nowait + loActualizareCurs = Createobject("curs",This.dData) + Select (This.cCursor) + Scan + lcValuta = Alltrim(Currency) + Wait Alltrim(Str(Recno())) + "/" + Alltrim(Str(Reccount())) + " - " + lcValuta + " ..." Window Nowait + lnCurs = loActualizareCurs.calccurs(This.dData,lcValuta) + lnMultiplicator = 1 + If lnCurs <> 0 + Do While lnCurs <> Round(lnCurs,4) + *!* daca cursurile au mai mult de 4 zecimale : inmultesc cu 100 pana raman doar cu 4 zecimale + lnMultiplicator = lnMultiplicator * 100 + lnCurs = lnCurs * lnMultiplicator + Enddo + Endif + Replace multiplier With lnMultiplicator,Curs With lnCurs + Endscan + Delete For Curs = 0 + Wait "Cursurile au fost actualizate!" Window Nowait + Endif + Release loCurs,lnCurs,lcSql,lnSucces,loActualizareCurs,lnCurs,lcValuta,lnMultiplicator + ENDPROC + + PROCEDURE citeste_curs_bnr + Local loHTTP As 'winHTTP.winHTTPrequest.5.1' + Local lcData, lcFisier, lcServer + + If Empty(This.cCursor) + This.cCursor = [ccrsbnr] + Endif + creeaza_backup_cursoare(This.cCursor) && modificare 03.06.2013 + If Used(This.cCursor) + Use In (This.cCursor) + Endif + + lcServer = This.cLink + loHTTP = Createobject('winHTTP.winHTTPrequest.5.1') + loHTTP.Open('GET', lcServer, .F.) + loHTTP.setRequestHeader("Content-Type", "application/xml;") + poLog.Log(m.lcServer) + loHTTP.Send() + + If loHTTP.Status = 200 + lcFisier = loHTTP.Responsebody + + lcFisier = Strextract(lcFisier,[],[]) + lcData = Strextract(lcFisier,[date="],["]) + lcFisier= Strtran(lcFisier,[date="]+lcData+["],[]) + lcFisier= Strtran(Strtran(lcFisier,[">],[" curs="]),[],[" />]) + Xmltocursor(lcFisier,This.cCursor) + This.dData = Ttod(Ctot(lcData+[T000000]))+1 + *!* modificare 03.06.2013 + sterge_backup_cursoare(This.cCursor) + Else + repune_backup_cursoare(This.cCursor) + Endif + *!* modificare 03.06.2013 ^ + Release loUpdate,loIp,loUrl,lcData,lnSize,lcFisier,lcData + + ENDPROC + + PROCEDURE Destroy + If Used(This.cCursor) + Use In (This.cCursor) + Endif + ENDPROC + + PROCEDURE Init + Lparameters tnTip + This.nTip = Iif(Empty(tnTip),1,tnTip) + If !Directory(Justpath(This.cTempFile)) + This.cTempFile = gcAppPath + Justfname(This.cTempFile) + Endif + ENDPROC + + PROCEDURE initializeaza + Lparameters tdZiua + Private pdData + This.dData = tdZiua + pdData = This.dData + + lcSql = [{call pack_curs.citeste_cotatii_curs(?pdData)}] + lnSucces = goExecutor.oExecute(lcSql,This.cCursor) + If lnSucces < 0 + amessagebox(goExecutor.cEroare,16,"Eroare") + Else + If Reccount(This.cCursor)=0 + ltDataOra = get_Ora() + Do Case + Case This.nTip = 1 + Do Case + Case (This.dData = Ttod(ltDataOra) And Hour(ltDataOra) <13) Or (This.dData = Ttod(ltDataOra) + 1 And Hour(ltDataOra) >= 13) + This.citeste_curs_bnr() + Case This.dData < Ttod(ltDataOra) Or This.dData = Ttod(ltDataOra) And Hour(ltDataOra) >= 13 + If amessagebox("Nu poate fi preluat automat cursul BNR. Doriti sa accesati pagina BNR?",4+32,"Confirmare") = 6 + goUrl("http://www.bnr.ro") && din wwutils.prg + Endif + Otherwise + amessagebox("Nu exista cursul BNR pentru data specificata!",48,"Atentie") + Endcase + Case This.nTip = 2 + If This.dData <= Ttod(ltDataOra) + This.citeste_curs_altesurse() + Else + amessagebox("Nu exista cursul BNR pentru data specificata!",48,"Atentie") + Endif + Case This.nTip = 3 + Do Case + Case (This.dData = Ttod(ltDataOra) And Hour(ltDataOra) <13) Or (This.dData = Ttod(ltDataOra) + 1 And Hour(ltDataOra) >= 13) + This.citeste_curs_bnr() + Case This.dData < Ttod(ltDataOra) Or This.dData = Ttod(ltDataOra) And Hour(ltDataOra) >= 13 + This.citeste_curs_altesurse() + Otherwise + amessagebox("Nu exista cursul BNR pentru data specificata!",48,"Atentie") + Endcase + Otherwise + If amessagebox("Doriti sa accesati pagina BNR?",4+32,"Confirmare") = 6 + goUrl("http://www.bnr.ro") && din wwutils.prg + Endif + Endcase + If Reccount(This.cCursor)>0 + This.scrie_curs_bnr() + Endif + Endif + Endif + ENDPROC + + PROCEDURE scrie_curs_bnr + Private pdData,pcSirCursuri + pdData = This.dData + pcSirCursuri = [] + Select (This.cCursor) + Scan + pcSirCursuri = pcSirCursuri + Alltrim(Currency) + [;] + Alltrim(Str(Iif(Empty(Nvl(multiplier,0)),1,multiplier))) + [;] + ; + ALLTRIM(Str(Curs,14,gnPCurs)) + [|] + Endscan + If Dow(pdData,2) = 6 + lcSql = [begin pack_curs.scrie_cotatii_curs(?pdData,?pcSirCursuri,?gnIdUtil); ] + ; + [pack_curs.scrie_cotatii_curs(?pdData+1,?pcSirCursuri,?gnIdUtil);] + ; + [pack_curs.scrie_cotatii_curs(?pdData+2,?pcSirCursuri,?gnIdUtil); end;] + Else + lcSql = [begin pack_curs.scrie_cotatii_curs(?pdData,?pcSirCursuri,?gnIdUtil); end;] + Endif + lnSucces = goExecutor.oExecute(lcSql) + If lnSucces < 0 + amessagebox(goExecutor.cEroare,16,"Eroare") + Endif + Release pdData,pcSirCursuri + ENDPROC + +ENDDEFINE + +DEFINE CLASS curs AS custom + *< CLASSDATA: Baseclass="custom" Timestamp="" Scale="Pixels" Uniqueid="" /> + + * + *m: calccurs && lnCurs = loCurs.calccurs(DATE(),'EUR') + *m: readurl + *m: retudata + *p: cbanca && BNR/BCE + *p: csite && site-ul pentru cursul valutar (ex:INFOVALUTAR) + *p: cvaluta && Valuta + *p: ddata && Data cursului valutar + * + + * + cbanca = BNR + csite = INFOVALUTAR + cvaluta = EUR + ddata = {} + Height = 17 + Name = "curs" + Width = 17 + * + + PROCEDURE calccurs && lnCurs = loCurs.calccurs(DATE(),'EUR') + Lparameters tdData, tcValuta as , tcBanca, tcSite + + If Pcount() >= 1 + This.dData = m.tdData + Endif + If Pcount() >= 2 + This.cValuta = Upper(Alltrim(m.tcValuta)) + Endif + If Pcount() >= 3 + This.cBanca = Upper(Alltrim(m.tcBanca)) + ENDIF + If Pcount() >= 4 + This.cSite = Upper(Alltrim(m.tcSite)) + Endif + + + Local lcUrl, lcBanca, ldData, lcSite, lnCurs, oldPoint, oldDecimals + lnCurs = 0 + + lcSite = Upper(This.cSite) + If Empty(m.lcSite) + lcSite = 'INFOVALUTAR' + Endif + + ldData = Iif(Empty(Nvl(This.dData, {})) Or Type('this.dData') <> 'D', Date(), This.dData) + lcBanca = Iif(!Inlist(Upper(This.cBanca), 'BNR', 'BCE'), 'BNR', Upper(This.cBanca)) + lcValuta = ALLTRIM(UPPER(this.cValuta)) + If lcSite = 'INFOVALUTAR' + lcUrl="http://www.infovalutar.ro/" + This.retudata(m.ldData) + [/] + m.lcValuta + [.] + m.lcBanca + + lcWebContent = This.ReadURL(m.lcUrl) + + oldPoint = Set("Point") + oldDecimals = SET("Decimals") + Set Point To [.] + SET DECIMALS TO 4 + lnCurs=Val(lcWebContent) + Set Point To &oldPoint + SET DECIMALS TO &oldDecimals + + If Vartype(lnCurs) <> [N] + lnCurs = 0 + Endif + ENDIF + + Return lnCurs + + ENDPROC + + PROCEDURE Init + Lparameters tdData, tcValuta, tcBanca, tcSite + + If Pcount() >= 1 + This.dData = m.tdData + Endif + If Pcount() >= 2 + This.cValuta = Upper(Alltrim(m.tcValuta)) + Endif + If Pcount() >= 3 + This.cBanca = Upper(Alltrim(m.tcBanca)) + Endif + + If Pcount() >= 4 + This.cSite = Upper(Alltrim(m.tcSite)) + Endif + + + ENDPROC + + PROCEDURE readurl + * readurl.prg 06-Mar-98 + + * 06-Mar-98 pulled from Q174524 on March 98 Technet CD + * 06-Mar-98 bug fixed about the length of the sReadBuffer + + *Any Internet or intranet URL can be passed as a parameter. Microsoft.com + *was chosen for this example. + + *Note that Microsoft Internet Explorer must be installed on the computer. + + * passed: URLName, in the form "http://www.microsoft.com" + * + * returns: the content of the URL + * + * usage: + * + * uWebContent = ReadURL( "http://www.microsoft.com" ) + * uWebContent = ReadURL( "http://www.SomeSite.com/SomeJPG.jpg" ) + * This next one provides feedback on the download every 4092 bytes: + * uWebContent = ReadURL( "http://www.SomeSite.com/SomeBigFile.exe", + * "GiveFeedback(lcBytesRead,llOK)", 4092 ) + * + * notes: + * 1 - IE does not need to be running to use this, but must be installed + + LPARAMETERS pcUrlName, pcOptFeedback, pnOptBuffSize, pcOptOutputFile + * These parameters are No good, pcOptOutputBuffer, pcOptOutputWhole + * because once they're passed as parameters, the original names get hidden, so the + * feedback function can't reference them that way, anyway. + *May 27, 03: Loader v1.01: Added parameter "pcOptOutputFile" to be able to download + * files bigger than 16MB + + DECLARE INTEGER InternetOpen IN wininet.DLL STRING sAgent, ; + INTEGER lAccessType, STRING sProxyName, ; + STRING sProxyBypass, INTEGER lFlags + + DECLARE INTEGER InternetOpenUrl IN wininet.DLL ; + INTEGER hInternetSession, STRING sUrl, STRING sHeaders, ; + INTEGER lHeadersLength, INTEGER lFlags, INTEGER lContext + + DECLARE INTEGER InternetReadFile IN wininet.DLL INTEGER hfile, ; + STRING @sBuffer, INTEGER lNumberofBytesToRead, INTEGER @lBytesRead + + DECLARE short InternetCloseHandle IN wininet.DLL INTEGER hInst + + #DEFINE INTERNET_OPEN_TYPE_PRECONFIG 0 + #DEFINE INTERNET_OPEN_TYPE_DIRECT 1 + #DEFINE INTERNET_OPEN_TYPE_PROXY 3 + #DEFINE SYNCHRONOUS 0 + #DEFINE INTERNET_FLAG_RELOAD 2147483648 + + LOCAL lcAgent, lhInternetSession, lhUrlFile, llOk, lnOk, lcRetVal, lcReadBuffer, lnBytesRead, laDr[1], llCancel + + if vartype(pcOptFeedback)='C' + * if we're given a feedback function, make sure it has both parentheses (looks like a function) + if not ( at('(',pcOptFeedback)>0 and (at('(',pcOptFeedback) < at(')',pcOptFeedback) ) ) + pcOptFeedback = .f. + endif + endif + + * what application is using Internet services? + lcAgent = "VFP" + + lhInternetSession = InternetOpen( lcAgent, INTERNET_OPEN_TYPE_PRECONFIG, '', '', SYNCHRONOUS ) + + IF lhInternetSession = 0 + WAIT WINDOW "Internet session cannot be established" TIME 2 + RETURN .null. + ENDIF + + lhUrlFile = InternetOpenUrl( lhInternetSession, pcUrlName, '', 0, INTERNET_FLAG_RELOAD, 0 ) + + IF lhUrlFile = 0 + * URL cannot be opened + RETURN .null. + ENDIF + + lcRetVal = "" + llOk = .t. + llCancel = .F. + lnTotalBytesRead = 0 + lnBytesRead = 0 + lcReadBuffer = '' + if VarType(pcOptFeedback)='C' && Call the feedback at the zero mark + =&pcOptFeedback + endif + + * Clear output file, if it exists. + if type('pcOptOutputFile')='C' and ADIR(laDr,pcOptOutputFile)>0 + DELETE FILE (pcOptOutputFile) + endif + + DO WHILE llOK and NOT llCancel + * set aside a big buffer + lcReadBuffer = SPACE(iif(VarType(pnOptBuffSize)='N',pnOptBuffSize,32767)) + lnBytesRead = 0 + lnOK = InternetReadFile( lhUrlFile, @lcReadBuffer, LEN(lcReadBuffer), @lnBytesRead) + + lnTotalBytesRead = lnTotalBytesRead + lnBytesRead + + if ( lnBytesRead > 0 ) + if type('pcOptOutputFile')='C' + StrToFile(left(lcReadBuffer,lnBytesRead),pcOptOutputFile,.T.) && Add to file. + else + lcRetVal = lcRetVal + left( lcReadBuffer, lnBytesRead ) + endif + endif + + *!* if vartype(pcOptOutputBuffer)='C' + *!* pcOptOutputBuffer = left( lcReadBuffer, lnBytesRead ) + *!* endif + *!* if vartype(pcOptOutputWhole)='C' + *!* pcOptOutputWhole = lcRetVal + *!* endif + + * error trap - either a read failure or read past eof() + llOk = ( lnOK = 1 ) and ( lnBytesRead > 0 ) + + if vartype(pcOptFeedback)='C' + if not &pcOptFeedback + llCancel = .T. + endif + endif + ENDDO + + * close all the handles we opened + InternetCloseHandle( lhUrlFile ) + InternetCloseHandle( lhInternetSession ) + + * IF saving to file, return Success status. + if type('pcOptOutputFile')='C' + RETURN NOT llCancel + endif + * return the URL contents + RETURN lcRetVal + + ENDPROC + + PROCEDURE retudata + Parameters dData + + oldCentury=Set("Century") + oldDataFormat=Set("Date") + oldDateMark=Set("Mark") + Set Century On + Set Date YMD + Set Mark To [/] + lcDate=Dtoc(dData) + Set Century &oldCentury + Set Date &oldDataFormat + Set Mark To &oldDateMark + Return lcDate + + ENDPROC + +ENDDEFINE + +DEFINE CLASS cus_odata_curs AS _cusodatabase OF "_cus_odata_base.vcx" + *< CLASSDATA: Baseclass="custom" Timestamp="" Scale="Pixels" Uniqueid="" /> + + * + Name = "cus_odata_curs" + * + + PROCEDURE make_sql + Lparameters toRec,tnId + + lcActiune = Alltrim(This.cActiune) + + If Inlist(lcActiune, "UPDATE",'INSERT') And Type('toRec') != "O" + Return .F. + Endif + + If Inlist(lcActiune, "UPDATE",'DELETE') And Type('tnId') != "N" + Return .F. + Endif + + If Inlist(lcActiune, "UPDATE",'DELETE') + lcId = Alltrim(Str(tnId)) + *!* lcnom = gcS + ".dev_masiniclienti" + *!* lcamp = "id_masiniclient" + *!* lclook = gcS + ".dev_vordl" + *!* lclookid = "id_masiniclient" + Endif + + If Inlist(lcActiune, "UPDATE",'INSERT') + lcData = Dtos(toRec.Data) + lcData2 = Dtos(toRec.data2) + lcIdValuta = Nvl(Alltrim(Str(toRec.id_valuta)),"") + lcCurs = Alltrim(Str(toRec.Curs,14,gnPCurs)) + lcMultiplicator = ALLTRIM(STR(toRec.multiplicator,10,0)) + Endif + + + Do Case + Case lcActiune = "INSERT" + lcSql = [begin pack_curs.adauga_curs(to_date('] + lcData + [','YYYYMMDD'),] + ; + [to_date('] + lcData2 +[','YYYYMMDD'),] + lcIdValuta + [,] + ; + lcMultiplicator + [,] + lcCurs + [,] + Alltrim(Str(gnIdUtil)) + [); end;] + + Case lcActiune = "UPDATE" + lcSql = [begin pack_curs.modifica_curs(] + lcId + [,to_date('] + lcData + [','YYYYMMDD'),] + ; + [to_date('] + lcData2 +[','YYYYMMDD'),] + lcIdValuta + [,] + lcMultiplicator + [,] + ; + lcCurs + [,] + Alltrim(Str(gnIdUtil)) + [); end;] + + Case lcActiune = "DELETE" + lcSql = [begin pack_curs.sterge_curs(] + lcId + [,] + Alltrim(Str(gnIdUtil)) + [); end;] + Endcase + This.csql = lcSql + + ENDPROC + +ENDDEFINE + +DEFINE CLASS frm_curs AS _frmbase OF "_frm_base.vcx" + *< CLASSDATA: Baseclass="form" Timestamp="" Scale="Pixels" Uniqueid="" /> + + *-- OBJECTDATA items order determines ZOrder / El orden de los items OBJECTDATA determina el ZOrder + *< OBJECTDATA: ObjPath="But_nou1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="But_sterge1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="grd_curs" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="grd_curs.cData.Header1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="grd_curs.cData.Text1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="grd_curs.cData2.Header1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="grd_curs.cData2.Text1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="grd_curs.cNume_val.Header1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="grd_curs.cNume_val.Text1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="grd_curs.cCurs.Header1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="grd_curs.cCurs.Text1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="grd_curs.cMultiplicator.Header1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="grd_curs.cMultiplicator.Text1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="grd_curs.cIso_valuta.Header1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="grd_curs.cIso_valuta.Text1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="But_modifica1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="ck_data" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="Ck_nume_val" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="ck_data2" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="ck_zi_curs" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="Cmd_cauta1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="tx_zi_curs" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="Cmd_reset1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="Gridextra1" UniqueID="" Timestamp="" /> + + * + *p: ddatacurs + * + + * + BorderStyle = 3 + cgridsortlist = grd_curs + ddatacurs = {} + DoCreate = .T. + Height = 590 + Name = "frm_curs" + Width = 544 + _shape1.Anchor = 10 + _shape1.Height = 29 + _shape1.Left = 0 + _shape1.Name = "_shape1" + _shape1.Top = 0 + _shape1.Width = 557 + _shape1.ZOrderSet = 2 + _shape2.Anchor = 8 + _shape2.Height = 29 + _shape2.Left = 420 + _shape2.Name = "_shape2" + _shape2.Top = -1 + _shape2.Width = 129 + _shape2.ZOrderSet = 3 + Lb_titlu_alb_b121.Caption = "CURS VALUTAR" + Lb_titlu_alb_b121.FontBold = .T. + Lb_titlu_alb_b121.Name = "Lb_titlu_alb_b121" + Lb_titlu_alb_b121.TabIndex = 10 + Lb_titlu_alb_b121.ZOrderSet = 4 + BUT_TERMIN1.Anchor = 8 + BUT_TERMIN1.Left = 514 + BUT_TERMIN1.Name = "BUT_TERMIN1" + BUT_TERMIN1.TabIndex = 8 + BUT_TERMIN1.Top = 0 + BUT_TERMIN1.ZOrderSet = 8 + Gridsort1.Name = "Gridsort1" + * + + ADD OBJECT 'But_modifica1' AS but_modifica WITH ; + Anchor = 8, ; + Left = 453, ; + Name = "But_modifica1", ; + TabIndex = 13, ; + Top = 0 + *< END OBJECT: ClassLib="cmd_butoane.vcx" BaseClass="commandbutton" /> + + ADD OBJECT 'But_nou1' AS but_nou WITH ; + Anchor = 8, ; + Left = 422, ; + Name = "But_nou1", ; + TabIndex = 11, ; + Top = 0 + *< END OBJECT: ClassLib="cmd_butoane.vcx" BaseClass="commandbutton" /> + + ADD OBJECT 'But_sterge1' AS but_sterge WITH ; + Anchor = 8, ; + Left = 484, ; + Name = "But_sterge1", ; + TabIndex = 12, ; + Top = 0 + *< END OBJECT: ClassLib="cmd_butoane.vcx" BaseClass="commandbutton" /> + + ADD OBJECT 'ck_data' AS ck_filtru_numar WITH ; + Alignment = 0, ; + camp_nume = data, ; + Caption = "Data inceput", ; + Left = 23, ; + Name = "ck_data", ; + TabIndex = 1, ; + tip = D, ; + Top = 38 + *< END OBJECT: ClassLib="caut_ora.vcx" BaseClass="checkbox" /> + + ADD OBJECT 'ck_data2' AS ck_filtru_numar WITH ; + Alignment = 0, ; + camp_nume = data2, ; + Caption = "Data sfarsit", ; + Left = 23, ; + Name = "ck_data2", ; + TabIndex = 2, ; + tip = D, ; + Top = 54 + *< END OBJECT: ClassLib="caut_ora.vcx" BaseClass="checkbox" /> + + ADD OBJECT 'Ck_nume_val' AS ck_filtru_text WITH ; + Alignment = 0, ; + camp_nume = nume_val, ; + Caption = "Valuta", ; + Left = 23, ; + Name = "Ck_nume_val", ; + TabIndex = 3, ; + Top = 70, ; + Width = 56, ; + ZOrderSet = 11 + *< END OBJECT: ClassLib="caut_ora.vcx" BaseClass="checkbox" /> + + ADD OBJECT 'ck_zi_curs' AS _checkbox WITH ; + Alignment = 0, ; + Caption = "Zi curs", ; + Left = 130, ; + Name = "ck_zi_curs", ; + TabIndex = 4, ; + Top = 39 + *< END OBJECT: ClassLib="_baza.vcx" BaseClass="checkbox" /> + + ADD OBJECT 'Cmd_cauta1' AS cmd_cauta WITH ; + Anchor = 8, ; + Left = 369, ; + Name = "Cmd_cauta1", ; + TabIndex = 6, ; + Top = 45, ; + ZOrderSet = 14 + *< END OBJECT: ClassLib="cmd_butoane.vcx" BaseClass="commandbutton" /> + + ADD OBJECT 'Cmd_reset1' AS cmd_reset WITH ; + Anchor = 8, ; + Left = 456, ; + Name = "Cmd_reset1", ; + TabIndex = 9, ; + Top = 45, ; + ZOrderSet = 15 + *< END OBJECT: ClassLib="cmd_butoane.vcx" BaseClass="commandbutton" /> + + ADD OBJECT 'grd_curs' AS _grdrow WITH ; + Anchor = 15, ; + ColumnCount = 6, ; + DeleteMark = .F., ; + Height = 480, ; + Left = 15, ; + Name = "grd_curs", ; + Panel = 1, ; + ReadOnly = .T., ; + RecordSource = "crscurs", ; + RowHeight = 19, ; + TabIndex = 7, ; + Top = 96, ; + Width = 525, ; + ZOrderSet = 7, ; + Column1.ControlSource = "data", ; + Column1.FontName = "Arial", ; + Column1.FontSize = 10, ; + Column1.Name = "cData", ; + Column1.ReadOnly = .T., ; + Column1.Visible = .T., ; + Column1.Width = 77, ; + Column2.ControlSource = "data2", ; + Column2.FontName = "Arial", ; + Column2.FontSize = 10, ; + Column2.Name = "cData2", ; + Column2.ReadOnly = .T., ; + Column2.Visible = .T., ; + Column2.Width = 77, ; + Column3.ColumnOrder = 3, ; + Column3.ControlSource = "nume_val", ; + Column3.FontName = "Arial", ; + Column3.FontSize = 10, ; + Column3.Name = "cNume_val", ; + Column3.ReadOnly = .T., ; + Column3.Visible = .T., ; + Column3.Width = 90, ; + Column4.ColumnOrder = 6, ; + Column4.ControlSource = "curs", ; + Column4.FontName = "Arial", ; + Column4.FontSize = 10, ; + Column4.InputMask = (get_mask(14,gnPCurs)), ; + Column4.Name = "cCurs", ; + Column4.ReadOnly = .T., ; + Column4.Visible = .T., ; + Column4.Width = 99, ; + Column5.ColumnOrder = 4, ; + Column5.ControlSource = "multiplicator", ; + Column5.FontName = "Arial", ; + Column5.FontSize = 10, ; + Column5.InputMask = (get_mask(10,0)), ; + Column5.Name = "cMultiplicator", ; + Column5.ReadOnly = .T., ; + Column5.Width = 73, ; + Column6.ColumnOrder = 5, ; + Column6.ControlSource = "iso_valuta", ; + Column6.FontName = "Arial", ; + Column6.FontSize = 10, ; + Column6.Name = "cIso_valuta", ; + Column6.ReadOnly = .T., ; + Column6.Width = 59 + *< END OBJECT: ClassLib="_grd_base.vcx" BaseClass="grid" /> + + ADD OBJECT 'grd_curs.cCurs.Header1' AS header WITH ; + Alignment = 2, ; + Caption = "Curs", ; + FontName = "Arial", ; + FontSize = 10, ; + Name = "Header1" + *< END OBJECT: BaseClass="header" /> + + ADD OBJECT 'grd_curs.cCurs.Text1' AS textbox WITH ; + BackColor = 255,255,255, ; + BorderStyle = 0, ; + FontName = "Arial", ; + FontSize = 10, ; + ForeColor = 0,0,0, ; + Margin = 0, ; + Name = "Text1", ; + ReadOnly = .T., ; + SelectedBackColor = 100,185,255, ; + Visible = .T. + *< END OBJECT: BaseClass="textbox" /> + + ADD OBJECT 'grd_curs.cData.Header1' AS header WITH ; + Alignment = 2, ; + Caption = "Data inceput", ; + FontName = "Arial", ; + FontSize = 10, ; + Name = "Header1" + *< END OBJECT: BaseClass="header" /> + + ADD OBJECT 'grd_curs.cData.Text1' AS textbox WITH ; + BackColor = 255,255,255, ; + BorderStyle = 0, ; + FontName = "Arial", ; + FontSize = 10, ; + ForeColor = 0,0,0, ; + Margin = 0, ; + Name = "Text1", ; + ReadOnly = .T., ; + SelectedBackColor = 100,185,255, ; + Visible = .T. + *< END OBJECT: BaseClass="textbox" /> + + ADD OBJECT 'grd_curs.cData2.Header1' AS header WITH ; + Alignment = 2, ; + Caption = "Data sfarsit", ; + FontName = "Arial", ; + FontSize = 10, ; + Name = "Header1" + *< END OBJECT: BaseClass="header" /> + + ADD OBJECT 'grd_curs.cData2.Text1' AS textbox WITH ; + BackColor = 255,255,255, ; + BorderStyle = 0, ; + FontName = "Arial", ; + FontSize = 10, ; + ForeColor = 0,0,0, ; + Margin = 0, ; + Name = "Text1", ; + ReadOnly = .T., ; + SelectedBackColor = 100,185,255, ; + Visible = .T. + *< END OBJECT: BaseClass="textbox" /> + + ADD OBJECT 'grd_curs.cIso_valuta.Header1' AS header WITH ; + Alignment = 2, ; + Caption = "Simbol", ; + FontName = "Arial", ; + FontSize = 10, ; + Name = "Header1" + *< END OBJECT: BaseClass="header" /> + + ADD OBJECT 'grd_curs.cIso_valuta.Text1' AS textbox WITH ; + BackColor = 255,255,255, ; + BorderStyle = 0, ; + FontName = "Arial", ; + FontSize = 10, ; + ForeColor = 0,0,0, ; + Margin = 0, ; + Name = "Text1", ; + SelectedBackColor = 100,185,255 + *< END OBJECT: BaseClass="textbox" /> + + ADD OBJECT 'grd_curs.cMultiplicator.Header1' AS header WITH ; + Alignment = 2, ; + Caption = "Multiplicator", ; + FontName = "Arial", ; + FontSize = 10, ; + Name = "Header1" + *< END OBJECT: BaseClass="header" /> + + ADD OBJECT 'grd_curs.cMultiplicator.Text1' AS textbox WITH ; + BackColor = 255,255,255, ; + BorderStyle = 0, ; + FontName = "Arial", ; + FontSize = 10, ; + ForeColor = 0,0,0, ; + Margin = 0, ; + Name = "Text1", ; + SelectedBackColor = 100,185,255 + *< END OBJECT: BaseClass="textbox" /> + + ADD OBJECT 'grd_curs.cNume_val.Header1' AS header WITH ; + Alignment = 2, ; + Caption = "Valuta", ; + FontName = "Arial", ; + FontSize = 10, ; + Name = "Header1" + *< END OBJECT: BaseClass="header" /> + + ADD OBJECT 'grd_curs.cNume_val.Text1' AS textbox WITH ; + BackColor = 255,255,255, ; + BorderStyle = 0, ; + FontName = "Arial", ; + FontSize = 10, ; + ForeColor = 0,0,0, ; + Margin = 0, ; + Name = "Text1", ; + ReadOnly = .T., ; + SelectedBackColor = 100,185,255, ; + Visible = .T. + *< END OBJECT: BaseClass="textbox" /> + + ADD OBJECT 'Gridextra1' AS gridextra WITH ; + gridexpression = Thisform.grd_curs, ; + Left = 262, ; + Name = "Gridextra1", ; + Top = 60 + *< END OBJECT: ClassLib="..\utile\gridextras\gridextras.vcx" BaseClass="custom" /> + + ADD OBJECT 'tx_zi_curs' AS _textbox WITH ; + Alignment = 3, ; + Height = 23, ; + Left = 130, ; + Name = "tx_zi_curs", ; + ReadOnly = .T., ; + TabIndex = 5, ; + Top = 57, ; + Value = {}, ; + Width = 84 + *< END OBJECT: ClassLib="_baza.vcx" BaseClass="textbox" /> + + PROCEDURE actualizeaza_grid1 + Lparameters tcFiltru + Local lcFiltru + lcFiltru = tcFiltru + If Empty(lcFiltru) + lcFiltru = pocurs.ca_baza1.cfiltru + Endif + save_grid_comment(This.grd_curs) + pocurs.ca_baza1.cfiltru = lcFiltru + pocurs.ca_baza1.afisare() + restore_grid_comment(This.grd_curs) + ENDPROC + + PROCEDURE do_adauga + Local lcRaport + x= xmenu('\ 0 + Private pniesire + pniesire=0 + *!* modificare ROAFACTURARE v 2.0.46 + *!* ldData = Ttod(get_ora()) + If Empty(Thisform.ddatacurs) + ldData = Ttod(get_ora()) + Else + ldData = Thisform.ddatacurs + Endif + *!* modificare ROAFACTURARE v 2.0.46 ^ + If x = 1 + Select crscurs + Scatter Name loRec Blank + loRec.Data = ldData + loRec.data2 = ldData + Do Adauga_Modifica_Inregistrare With "curs",loRec,,"INSERT" + Else + lcCursor = [crsCursNou] + If Used(lcCursor) + Use In (lcCursor) + Endif + lcSql = [select id_valuta,nume_val,0.0000 as curs,0.0000 as curs_bnr,1 as multiplicator,nume_val2 as iso_valuta ] + ; + [ from ] + gcS + [.vnom_valute where moneda_nationala = 0 and inactiv = 0 order by nume_val] + lnSucces = goExecutor.oExecute(lcSql,lcCursor) + If lnSucces < 0 + amessagebox(goExecutor.oPrelucrareEroare(),16,"Eroare") + Else + Private ofrmcursnou + ofrmcursnou = Createobject('frm_curs_nou_multiplu',ldData) + ofrmcursnou.Show(1) + Release ofrmcursnou + Endif + If Used(lcCursor) + Use In (lcCursor) + Endif + Endif + If pniesire=1 + This.actualizeaza_grid1() + Endif + Endif + Thisform.grd_curs.SetFocus() + ENDPROC + + PROCEDURE do_cauta + Local lcFiltru + Store [] To lcFiltru + + If Thisform.ck_data.Value = 1 + lcFiltru = lcFiltru + Thisform.ck_data.filtru + Endif + + If Thisform.ck_data2.Value = 1 + lcFiltru = lcFiltru + Thisform.ck_data2.filtru + Endif + + If Thisform.ck_nume_val.Value = 1 + lcFiltru = lcFiltru + Thisform.ck_nume_val.filtru + Endif + + If Thisform.ck_zi_curs.Value = 1 + lcData = Dtoc(Thisform.tx_zi_curs.Value,1) + lcFiltru = lcFiltru + [ and data <= to_date('] + lcData + [','YYYYMMDD') ] + ; + [and data2 >= to_date('] + lcData + [','YYYYMMDD') ] + Endif + + If !Empty(lcFiltru) + lcFiltru=Substr(lcFiltru,6) + Else + lcFiltru=[2=2] + Endif + + Thisform.actualizeaza_grid1(lcFiltru) + + If Reccount('crscurs')=0 + amessagebox("Cautarea nu a intors rezultate!",64,"Info cautare") + Thisform.ck_data.SetFocus() + Else + Thisform.grd_curs.SetFocus() + Endif + + ENDPROC + + PROCEDURE do_modifica + If Reccount('crscurs')>0 + Private pniesire + pniesire=0 + + Select crscurs + Scatter Name loRec + Do Adauga_Modifica_Inregistrare With "curs",loRec,loRec.id_curs,"UPDATE" + If pniesire=1 + This.actualizeaza_grid1() + Endif + Thisform.grd_curs.SetFocus() + Else + amessagebox("Nu puteti face modificari,deoarece in aceasta selectie nu exista inregistrari!",0+48,"Atentie") + Thisform.ck_data.SetFocus() + Endif + + ENDPROC + + PROCEDURE do_reset + Thisform.ck_data.Value = 0 + Thisform.ck_data2.Value = 0 + Thisform.ck_nume_val.Value = 0 + Thisform.ck_zi_curs.Value = 0 + Thisform.ck_data.SetFocus() + Thisform.Refresh + + ENDPROC + + PROCEDURE do_sterge + If Reccount('crscurs')>0 + Select crscurs + Scatter Name loRec + Do STERGE_INREGISTRARE With "curs",loRec.id_curs + This.actualizeaza_grid1() + Else + amessagebox("Nu puteti sterge,deoarece in aceasta selectie nu exista inregistrari!",0+48,"Atentie") + Endif + ENDPROC + + PROCEDURE Init + *!* modificare ROAFACTURARE v 2.0.46 + Lparameters tdDataCurs + DoDefault() + If !Empty(tdDataCurs) + Thisform.ddatacurs = tdDataCurs + Thisform.ck_zi_curs.Value = 1 + Thisform.tx_zi_curs.Value = tdDataCurs + Endif + *!* modificare ROAFACTURARE v 2.0.46 ^ + + this.gridextra1.setup() + ENDPROC + + PROCEDURE ck_zi_curs.InteractiveChange + If This.Value = 1 + Thisform.tx_zi_curs.ReadOnly = .F. + Thisform.tx_zi_curs.SetFocus() + Else + Thisform.tx_zi_curs.ReadOnly = .T. + Thisform.tx_zi_curs.Value = {} + Endif + + ENDPROC + + PROCEDURE ck_zi_curs.ProgrammaticChange + This.InteractiveChange() + ENDPROC + +ENDDEFINE + +DEFINE CLASS frm_curs_nou AS _frmbase OF "_frm_base.vcx" + *< CLASSDATA: Baseclass="form" Timestamp="" Scale="Pixels" Uniqueid="" /> + + *-- OBJECTDATA items order determines ZOrder / El orden de los items OBJECTDATA determina el ZOrder + *< OBJECTDATA: ObjPath="clb_data" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="clb_data2" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="But_renunt1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="Cus_odata_curs1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="Clb_tx_curs" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="Ct_clb_nume_val" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="Clb_tx_multiplicator" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="Clb_tx_curs_bnr" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="BUT_MODIPARAM1" UniqueID="" Timestamp="" /> + + * + *m: actualizeaza_curs_bnr + *m: do_cauta_marca + *m: do_cauta_valuta + *p: nid + *p: oactualizare + *p: orec + * + + * + DoCreate = .T. + Height = 240 + Name = "frm_curs_nou" + oactualizare = + Width = 374 + _shape1.Name = "_shape1" + _shape2.Height = 29 + _shape2.Left = 312 + _shape2.Name = "_shape2" + _shape2.Top = 0 + _shape2.Width = 64 + Lb_titlu_alb_b121.Caption = "CURS VALUTAR" + Lb_titlu_alb_b121.FontBold = .T. + Lb_titlu_alb_b121.Name = "Lb_titlu_alb_b121" + Lb_titlu_alb_b121.TabIndex = 9 + BUT_TERMIN1.Left = 344 + BUT_TERMIN1.Name = "BUT_TERMIN1" + BUT_TERMIN1.TabIndex = 7 + BUT_TERMIN1.Top = 1 + GRIDSORT1.Name = "GRIDSORT1" + * + + ADD OBJECT 'BUT_MODIPARAM1' AS but_modiparam WITH ; + caction = do_modifica, ; + Left = 328, ; + Name = "BUT_MODIPARAM1", ; + TabIndex = 10, ; + Top = 191 + *< END OBJECT: ClassLib="cmd_butoane.vcx" BaseClass="commandbutton" /> + + ADD OBJECT 'But_renunt1' AS but_renunt WITH ; + Left = 314, ; + Name = "But_renunt1", ; + TabIndex = 8, ; + Top = 1 + *< END OBJECT: ClassLib="cmd_butoane.vcx" BaseClass="commandbutton" /> + + ADD OBJECT 'clb_data' AS clb_tx_simplu WITH ; + Left = 20, ; + Name = "clb_data", ; + TabIndex = 1, ; + Top = 48, ; + Text_simplu1.ControlSource = "porec.data", ; + Text_simplu1.MaxLength = 10, ; + Text_simplu1.Name = "Text_simplu1", ; + Lb_simplu1.Caption = "Data inceput", ; + Lb_simplu1.Name = "Lb_simplu1" + *< END OBJECT: ClassLib="lb_tx.vcx" BaseClass="container" /> + + ADD OBJECT 'clb_data2' AS clb_tx_simplu WITH ; + Left = 20, ; + Name = "clb_data2", ; + TabIndex = 2, ; + Top = 76, ; + Text_simplu1.ControlSource = "porec.data2", ; + Text_simplu1.Name = "Text_simplu1", ; + Lb_simplu1.Caption = "Data sfarsit", ; + Lb_simplu1.Name = "Lb_simplu1" + *< END OBJECT: ClassLib="lb_tx.vcx" BaseClass="container" /> + + ADD OBJECT 'Clb_tx_curs' AS clb_tx_simplu WITH ; + Left = 20, ; + Name = "Clb_tx_curs", ; + TabIndex = 6, ; + Top = 188, ; + Text_simplu1.ControlSource = "porec.curs", ; + Text_simplu1.InputMask = (get_mask(14,gnPCurs)), ; + Text_simplu1.Name = "Text_simplu1", ; + Lb_simplu1.Caption = "Curs", ; + Lb_simplu1.Name = "Lb_simplu1" + *< END OBJECT: ClassLib="lb_tx.vcx" BaseClass="container" /> + + ADD OBJECT 'Clb_tx_curs_bnr' AS clb_tx_simplu WITH ; + Left = 20, ; + Name = "Clb_tx_curs_bnr", ; + TabIndex = 5, ; + Top = 160, ; + Text_simplu1.ControlSource = "porec.curs_bnr", ; + Text_simplu1.InputMask = (get_mask(14,gnPCurs)), ; + Text_simplu1.Name = "Text_simplu1", ; + Text_simplu1.ReadOnly = .T., ; + Lb_simplu1.Caption = "Curs BNR", ; + Lb_simplu1.Name = "Lb_simplu1" + *< END OBJECT: ClassLib="lb_tx.vcx" BaseClass="container" /> + + ADD OBJECT 'Clb_tx_multiplicator' AS clb_tx_simplu WITH ; + Left = 20, ; + Name = "Clb_tx_multiplicator", ; + TabIndex = 4, ; + Top = 132, ; + Text_simplu1.ControlSource = "porec.multiplicator", ; + Text_simplu1.InputMask = (get_mask(10,0)), ; + Text_simplu1.Name = "Text_simplu1", ; + Text_simplu1.ReadOnly = .T., ; + Lb_simplu1.Caption = "Multiplicator", ; + Lb_simplu1.Name = "Lb_simplu1" + *< END OBJECT: ClassLib="lb_tx.vcx" BaseClass="container" /> + + ADD OBJECT 'Ct_clb_nume_val' AS ct_clb_cautare WITH ; + cconditie = EMPTY(porec.id_valuta), ; + cprocedura = thisform.do_cauta_valuta, ; + cvar_afisata = porec.nume_val, ; + Left = 19, ; + Name = "Ct_clb_nume_val", ; + TabIndex = 3, ; + Top = 103, ; + img_cautare.Name = "img_cautare", ; + clb_tx_cautare.Lb_simplu1.Caption = "Valuta", ; + clb_tx_cautare.Lb_simplu1.Name = "Lb_simplu1", ; + clb_tx_cautare.Name = "clb_tx_cautare", ; + clb_tx_cautare.Text_simplu1.Name = "Text_simplu1" + *< END OBJECT: ClassLib="caut_ora.vcx" BaseClass="container" /> + + ADD OBJECT 'Cus_odata_curs1' AS cus_odata_curs WITH ; + Left = 324, ; + Name = "Cus_odata_curs1", ; + Top = 48 + *< END OBJECT: ClassLib="onom_curs.vcx" BaseClass="custom" /> + + PROCEDURE actualizeaza_curs_bnr + Thisform.LockScreen = .T. + This.oactualizare.citeste_curs(poRec.Data,poRec.iso_valuta) + Thisform.LockScreen = .F. + poRec.multiplicator = This.oactualizare.nmultiplicator + poRec.curs_bnr = This.oactualizare.ncurs + If poRec.curs_bnr = 0 + This.clb_tx_multiplicator.text_simplu1.ReadOnly = .F. + Else + This.clb_tx_multiplicator.text_simplu1.ReadOnly = .T. + IF EMPTY(NVL(poRec.curs,0)) + poRec.curs = poRec.curs_bnr + ENDIF + Endif + Thisform.clb_tx_multiplicator.Refresh() + Thisform.clb_tx_curs_bnr.Refresh() + + ENDPROC + + PROCEDURE Destroy + Unbindevents(poRec,"data",Thisform,"actualizeaza_curs_bnr") + Unbindevents(poRec,"iso_valuta",Thisform,"actualizeaza_curs_bnr") + ENDPROC + + PROCEDURE do_cauta_marca + ENDPROC + + PROCEDURE do_cauta_valuta + locauta=caut_valuta(,,.T.) + If !Isnull(locauta) + porec.id_valuta = locauta.id_valuta + porec.iso_valuta = locauta.nume_val2 + porec.nume_val = locauta.nume_val + + Thisform.ct_clb_nume_val.Refresh() + Thisform.clb_tx_curs.SetFocus() + Endif + ENDPROC + + PROCEDURE do_modifica + Local lnOptiune + lnOptiune = xmenu("\ + + *-- OBJECTDATA items order determines ZOrder / El orden de los items OBJECTDATA determina el ZOrder + *< OBJECTDATA: ObjPath="clb_data" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="clb_data2" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="grd_curs" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="grd_curs.cNume_val.Header1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="grd_curs.cNume_val.Text1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="grd_curs.cCurs.Header1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="grd_curs.cCurs.Text1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="grd_curs.cMultiplicator.Header1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="grd_curs.cMultiplicator.Text1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="grd_curs.cCurs_BNR.Header1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="grd_curs.cCurs_BNR.Text1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="grd_curs.cIso_valuta.Header1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="grd_curs.cIso_valuta.Text1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="But_renunt1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="BUT_MODIPARAM1" UniqueID="" Timestamp="" /> + + * + *m: actualizeaza_curs_bnr + *p: ddata + *p: nid + *p: oactualizare + *p: orec + * + + * + BorderStyle = 1 + ddata = {} + DoCreate = .T. + Height = 400 + Name = "frm_curs_nou_multiplu" + oactualizare = .NULL. + Width = 441 + _shape1.Height = 29 + _shape1.Left = 0 + _shape1.Name = "_shape1" + _shape1.Top = 0 + _shape1.Width = 442 + _shape2.Height = 29 + _shape2.Left = 383 + _shape2.Name = "_shape2" + _shape2.Top = 0 + _shape2.Width = 64 + Lb_titlu_alb_b121.Caption = "CURS VALUTAR" + Lb_titlu_alb_b121.FontBold = .T. + Lb_titlu_alb_b121.Name = "Lb_titlu_alb_b121" + Lb_titlu_alb_b121.TabIndex = 6 + BUT_TERMIN1.Left = 411 + BUT_TERMIN1.Name = "BUT_TERMIN1" + BUT_TERMIN1.TabIndex = 4 + BUT_TERMIN1.Top = 1 + GRIDSORT1.Name = "GRIDSORT1" + * + + ADD OBJECT 'BUT_MODIPARAM1' AS but_modiparam WITH ; + caction = do_modifica, ; + Left = 401, ; + Name = "BUT_MODIPARAM1", ; + Top = 70 + *< END OBJECT: ClassLib="cmd_butoane.vcx" BaseClass="commandbutton" /> + + ADD OBJECT 'But_renunt1' AS but_renunt WITH ; + Left = 381, ; + Name = "But_renunt1", ; + TabIndex = 5, ; + Top = 1 + *< END OBJECT: ClassLib="cmd_butoane.vcx" BaseClass="commandbutton" /> + + ADD OBJECT 'clb_data' AS clb_tx_simplu WITH ; + Left = 12, ; + Name = "clb_data", ; + TabIndex = 1, ; + Top = 41, ; + Text_simplu1.ControlSource = "Thisform.ddata", ; + Text_simplu1.MaxLength = 10, ; + Text_simplu1.Name = "Text_simplu1", ; + Lb_simplu1.Caption = "Data inceput", ; + Lb_simplu1.Name = "Lb_simplu1" + *< END OBJECT: ClassLib="lb_tx.vcx" BaseClass="container" /> + + ADD OBJECT 'clb_data2' AS clb_tx_simplu WITH ; + Left = 12, ; + Name = "clb_data2", ; + TabIndex = 2, ; + Top = 69, ; + Text_simplu1.Name = "Text_simplu1", ; + Lb_simplu1.Caption = "Data sfarsit", ; + Lb_simplu1.Name = "Lb_simplu1" + *< END OBJECT: ClassLib="lb_tx.vcx" BaseClass="container" /> + + ADD OBJECT 'grd_curs' AS _grdrow WITH ; + Anchor = 15, ; + ColumnCount = 5, ; + DeleteMark = .F., ; + Height = 276, ; + Left = 10, ; + Name = "grd_curs", ; + Panel = 1, ; + ReadOnly = .F., ; + RecordSource = "crscursnou", ; + RowHeight = 19, ; + TabIndex = 3, ; + Top = 108, ; + Width = 424, ; + ZOrderSet = 7, ; + Column1.ColumnOrder = 1, ; + Column1.ControlSource = "nume_val", ; + Column1.FontName = "Arial", ; + Column1.FontSize = 10, ; + Column1.Name = "cNume_val", ; + Column1.ReadOnly = .T., ; + Column1.Width = 72, ; + Column2.BackColor = 170,213,255, ; + Column2.ColumnOrder = 5, ; + Column2.ControlSource = "curs", ; + Column2.DynamicBackColor = "RGB(170,213,255)", ; + Column2.FontName = "Arial", ; + Column2.FontSize = 10, ; + Column2.InputMask = (get_mask(14,gnPCurs)), ; + Column2.Name = "cCurs", ; + Column2.ReadOnly = .F., ; + Column2.Width = 94, ; + Column3.ColumnOrder = 2, ; + Column3.ControlSource = "multiplicator", ; + Column3.DynamicBackColor = "IIF(curs_bnr=0,RGB(255,255,180),RGB(255,255,255))", ; + Column3.FontName = "Arial", ; + Column3.FontSize = 10, ; + Column3.InputMask = (get_mask(10,0)), ; + Column3.Name = "cMultiplicator", ; + Column3.ReadOnly = .T., ; + Column3.Width = 77, ; + Column4.ColumnOrder = 4, ; + Column4.ControlSource = "curs_bnr", ; + Column4.FontName = "Arial", ; + Column4.FontSize = 10, ; + Column4.InputMask = (get_mask(14,gnPCurs)), ; + Column4.Name = "cCurs_BNR", ; + Column4.ReadOnly = .T., ; + Column4.Width = 78, ; + Column5.ColumnOrder = 3, ; + Column5.ControlSource = "iso_valuta", ; + Column5.FontName = "Arial", ; + Column5.FontSize = 10, ; + Column5.Name = "cIso_valuta", ; + Column5.ReadOnly = .T., ; + Column5.Width = 56 + *< END OBJECT: ClassLib="_grd_base.vcx" BaseClass="grid" /> + + ADD OBJECT 'grd_curs.cCurs.Header1' AS header WITH ; + Alignment = 2, ; + Caption = "Curs", ; + FontName = "Arial", ; + FontSize = 10, ; + Name = "Header1" + *< END OBJECT: BaseClass="header" /> + + ADD OBJECT 'grd_curs.cCurs.Text1' AS textbox WITH ; + BackColor = 170,213,255, ; + BorderStyle = 0, ; + FontName = "Arial", ; + FontSize = 10, ; + Margin = 0, ; + Name = "Text1", ; + ReadOnly = .F., ; + SelectedBackColor = 100,185,255, ; + Visible = .T. + *< END OBJECT: BaseClass="textbox" /> + + ADD OBJECT 'grd_curs.cCurs_BNR.Header1' AS header WITH ; + Alignment = 2, ; + Caption = "Curs BNR", ; + FontName = "Arial", ; + FontSize = 10, ; + Name = "Header1" + *< END OBJECT: BaseClass="header" /> + + ADD OBJECT 'grd_curs.cCurs_BNR.Text1' AS textbox WITH ; + BackColor = 255,255,255, ; + BorderStyle = 0, ; + FontName = "Arial", ; + FontSize = 10, ; + ForeColor = 0,0,0, ; + Margin = 0, ; + Name = "Text1", ; + ReadOnly = .T., ; + SelectedBackColor = 100,185,255 + *< END OBJECT: BaseClass="textbox" /> + + ADD OBJECT 'grd_curs.cIso_valuta.Header1' AS header WITH ; + Alignment = 2, ; + Caption = "Simbol", ; + FontName = "Arial", ; + FontSize = 10, ; + Name = "Header1" + *< END OBJECT: BaseClass="header" /> + + ADD OBJECT 'grd_curs.cIso_valuta.Text1' AS textbox WITH ; + BackColor = 255,255,255, ; + BorderStyle = 0, ; + FontName = "Arial", ; + FontSize = 10, ; + ForeColor = 0,0,0, ; + Margin = 0, ; + Name = "Text1", ; + ReadOnly = .T., ; + SelectedBackColor = 100,185,255 + *< END OBJECT: BaseClass="textbox" /> + + ADD OBJECT 'grd_curs.cMultiplicator.Header1' AS header WITH ; + Alignment = 2, ; + Caption = "Multiplicator", ; + FontName = "Arial", ; + FontSize = 10, ; + Name = "Header1" + *< END OBJECT: BaseClass="header" /> + + ADD OBJECT 'grd_curs.cMultiplicator.Text1' AS textbox WITH ; + BackColor = 255,255,255, ; + BorderStyle = 0, ; + FontName = "Arial", ; + FontSize = 10, ; + ForeColor = 0,0,0, ; + Margin = 0, ; + Name = "Text1", ; + ReadOnly = .T., ; + SelectedBackColor = 100,185,255 + *< END OBJECT: BaseClass="textbox" /> + + ADD OBJECT 'grd_curs.cNume_val.Header1' AS header WITH ; + Alignment = 2, ; + Caption = "Valuta", ; + FontName = "Arial", ; + FontSize = 10, ; + Name = "Header1" + *< END OBJECT: BaseClass="header" /> + + ADD OBJECT 'grd_curs.cNume_val.Text1' AS textbox WITH ; + BackColor = 255,255,255, ; + BorderStyle = 0, ; + FontName = "Arial", ; + FontSize = 10, ; + ForeColor = 0,0,0, ; + Margin = 0, ; + Name = "Text1", ; + ReadOnly = .T., ; + SelectedBackColor = 100,185,255, ; + Visible = .T. + *< END OBJECT: BaseClass="textbox" /> + + PROCEDURE actualizeaza_curs_bnr + Thisform.LockScreen = .T. + Thisform.oactualizare.citeste_curs(Thisform.ddata) + Thisform.LockScreen = .F. + Thisform.grd_curs.salveaza_grid() + copiaza_structura_cursor([crscursnou],[crscursnout]) + Insert Into crscursnout Select * From crscursnou + Use In crscursnou + Select a.id_valuta,a.nume_val,a.Curs,Cast(Nvl(b.Curs,0.0000) As N(14,4)) As curs_bnr,; + CAST(Iif(Empty(Nvl(b.multiplier,0)),Nvl(a.multiplicator,1),b.multiplier) As N(10)) As multiplicator,a.iso_valuta ; + FROM crscursnout a Left Join (This.oactualizare.cCursor) b On Alltrim(a.iso_valuta) = Alltrim(b.Currency) ; + INTO Cursor crscursnou Readwrite Order By nume_val + Select crscursnou + Go Top + Thisform.grd_curs.incarca_grid() + + ENDPROC + + PROCEDURE Destroy + Unbindevents(Thisform.clb_data.text_simplu1,"InteractiveChange",Thisform,"actualizeaza_curs_bnr") + ENDPROC + + PROCEDURE do_modifica + Local lnOptiune,lnRecno + lnOptiune = xmenu("\ 0 + lcSql = lcSql + [pack_curs.adauga_curs(to_date('] + lcData + [','YYYYMMDD'),] + ; + [to_date('] + lcData2 +[','YYYYMMDD'),] + Alltrim(Str(id_valuta)) + [,] + ; + ALLTRIM(Str(multiplicator)) + [,] + Alltrim(Str(Curs,14,4)) + [,?gnIdUtil);] + Endscan + *!* modificare ROAFACTURARE v 2.0.71 + If Empty(lcSql) + amessagebox("Nu ati completat cursul pentru nicio valuta!",48,"Atentie") + PLRETURN = .F. + Else + *!* modificare ROAFACTURARE v 2.0.71 ^ + lcSql = [begin ] + lcSql + [ end;] + lnSucces = goExecutor.oExecute(lcSql) + If lnSucces < 0 + amessagebox(goExecutor.oPrelucrareEroare(),16,"Eroare") + Thisform.clb_data.SetFocus() + PLRETURN = .F. + Else + PLRETURN = .T. + Endif + *!* modificare ROAFACTURARE v 2.0.71 + Endif + *!* modificare ROAFACTURARE v 2.0.71 ^ + Endcase + *!* modificare 31.08.2011 + Endif + *!* modificare 31.08.2011 ^ + Return PLRETURN + + ENDPROC + + PROCEDURE Init + Lparameters tdData + Thisform.ddata = tdData + Thisform.clb_data2.text_simplu1.Value = tdData + DoDefault() + Thisform.oactualizare = Createobject("actualizare_curs_bnr",gnTipActualizareCurs) + Thisform.actualizeaza_curs_bnr() + Bindevent(Thisform,"ddata",Thisform,"actualizeaza_curs_bnr",1) + ENDPROC + + PROCEDURE grd_curs.cMultiplicator.Text1.GotFocus + If curs_bnr = 0 + This.ReadOnly = .F. + This.Parent.ReadOnly = .F. + Else + This.ReadOnly = .T. + This.Parent.ReadOnly = .T. + Endif + ENDPROC + + PROCEDURE grd_curs.Init + * + ENDPROC + +ENDDEFINE diff --git a/clase/onom_retete.vc2 b/clase/onom_retete.vc2 new file mode 100644 index 0000000..e8e51c0 --- /dev/null +++ b/clase/onom_retete.vc2 @@ -0,0 +1,1108 @@ +*-------------------------------------------------------------------------------------------------------------------------------------------------------- +* (EN) AUTOGENERATED - ATTENTION!! - NOT INTENDED FOR EXECUTION!! USE ONLY FOR MERGING CHANGES AND STORING WITH SCM TOOLS!! +*-------------------------------------------------------------------------------------------------------------------------------------------------------- +*< FOXBIN2PRG: Version="1.21" SourceFile="onom_retete.vcx" CPID="1252" /> (Solo para binarios VFP 9 / Only for VFP 9 binaries) +* +* +DEFINE CLASS ct_retetar AS _ctfrmbase OF "_ct_base.vcx" + *< CLASSDATA: Baseclass="container" Timestamp="" Scale="Pixels" Uniqueid="" /> + + *-- OBJECTDATA items order determines ZOrder / El orden de los items OBJECTDATA determina el ZOrder + *< OBJECTDATA: ObjPath="Ct_grid_search1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="Ct_grid_search2" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="But_listare1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="But_nou1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="But_sterge1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="But_nou2" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="But_sterge2" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="But_modifica1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="But_reset1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="But_reset2" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="But_copie" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="Cb_tx_cautare1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="Lb_cautare" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="But_reset3" UniqueID="" Timestamp="" /> + + * + *m: do_adauga_in_retetar + *m: do_cauta_materiale + *m: do_reset_cautare + *p: cantf + *p: canti + *p: cfiltruoriginalreteta + *p: colf + *p: coli + *p: nid_produs + *p: ntip + *p: rowf + *p: rowi + * + + * + BackStyle = 0 + cantf = 0 + canti = 0 + cfiltruoriginalreteta = + colf = 0 + coli = 0 + Height = 614 + Name = "ct_retetar" + nid_produs = 0 + ntip = 1 + rowf = 0 + rowi = 0 + Width = 644 + Gridsort1.Left = 24 + Gridsort1.Name = "Gridsort1" + Gridsort1.Top = 4 + _ct_controller_keypress1.Left = 134 + _ct_controller_keypress1.Name = "_ct_controller_keypress1" + _ct_controller_keypress1.Top = 127 + * + + ADD OBJECT 'But_copie' AS but_grafic WITH ; + Anchor = 9, ; + caction = do_copiaza, ; + cpicturedown = copy_jos.bmp, ; + cpictureup = copy_sus.bmp, ; + Left = 605, ; + Name = "But_copie", ; + Picture = ..\grafice\copy_sus.bmp, ; + TabIndex = 9, ; + ToolTipText = "Copiere reteta", ; + Top = 5, ; + ZOrderSet = 13 + *< END OBJECT: ClassLib="cmd_butoane.vcx" BaseClass="commandbutton" /> + + ADD OBJECT 'But_listare1' AS but_listare WITH ; + Anchor = 9, ; + Left = 575, ; + Name = "But_listare1", ; + TabIndex = 7, ; + Top = 5 + *< END OBJECT: ClassLib="cmd_butoane.vcx" BaseClass="commandbutton" /> + + ADD OBJECT 'But_modifica1' AS but_modifica WITH ; + Anchor = 9, ; + Left = 488, ; + Name = "But_modifica1", ; + TabIndex = 10, ; + Top = 17 + *< END OBJECT: ClassLib="cmd_butoane.vcx" BaseClass="commandbutton" /> + + ADD OBJECT 'But_nou1' AS but_nou WITH ; + Anchor = 9, ; + Left = 458, ; + Name = "But_nou1", ; + TabIndex = 2, ; + Top = 17 + *< END OBJECT: ClassLib="cmd_butoane.vcx" BaseClass="commandbutton" /> + + ADD OBJECT 'But_nou2' AS but_nou WITH ; + Anchor = 12, ; + Left = 487, ; + Name = "But_nou2", ; + TabIndex = 6, ; + Top = 339 + *< END OBJECT: ClassLib="cmd_butoane.vcx" BaseClass="commandbutton" /> + + ADD OBJECT 'But_reset1' AS but_reset WITH ; + Anchor = 8, ; + Left = 575, ; + Name = "But_reset1", ; + TabIndex = 11, ; + Top = 50 + *< END OBJECT: ClassLib="cmd_butoane.vcx" BaseClass="commandbutton" /> + + ADD OBJECT 'But_reset2' AS but_reset WITH ; + Anchor = 12, ; + Left = 575, ; + Name = "But_reset2", ; + TabIndex = 12, ; + Top = 373 + *< END OBJECT: ClassLib="cmd_butoane.vcx" BaseClass="commandbutton" /> + + ADD OBJECT 'But_reset3' AS but_reset WITH ; + Anchor = 12, ; + caction = do_reset_cautare, ; + Left = 454, ; + Name = "But_reset3", ; + TabIndex = 14, ; + Top = 307 + *< END OBJECT: ClassLib="cmd_butoane.vcx" BaseClass="commandbutton" /> + + ADD OBJECT 'But_sterge1' AS but_sterge WITH ; + Anchor = 9, ; + Left = 517, ; + Name = "But_sterge1", ; + TabIndex = 3, ; + Top = 17 + *< END OBJECT: ClassLib="cmd_butoane.vcx" BaseClass="commandbutton" /> + + ADD OBJECT 'But_sterge2' AS but_sterge WITH ; + Anchor = 12, ; + Left = 517, ; + Name = "But_sterge2", ; + TabIndex = 8, ; + Top = 339, ; + Visible = .T. + *< END OBJECT: ClassLib="cmd_butoane.vcx" BaseClass="commandbutton" /> + + ADD OBJECT 'Cb_tx_cautare1' AS cb_tx_cautare WITH ; + Height = 27, ; + Left = 175, ; + Name = "Cb_tx_cautare1", ; + TabIndex = 4, ; + Top = 307, ; + Width = 277, ; + Text.Height = 25, ; + Text.Left = 103, ; + Text.Name = "Text", ; + Text.Top = 1, ; + Text.Width = 172, ; + Criteriu.Name = "Criteriu" + *< END OBJECT: ClassLib="lb_tx.vcx" BaseClass="container" /> + + ADD OBJECT 'Ct_grid_search1' AS ct_grid_search WITH ; + Anchor = 15, ; + Height = 276, ; + Left = 12, ; + Name = "Ct_grid_search1", ; + TabIndex = 1, ; + Top = 13, ; + Width = 540, ; + _GRID1.Height = 228, ; + _GRID1.HighlightStyle = 2, ; + _GRID1.Left = 6, ; + _GRID1.Name = "_GRID1", ; + _GRID1.Top = 36, ; + _GRID1.Width = 529, ; + Titlu.Left = 6, ; + Titlu.Name = "Titlu", ; + Titlu.Top = 9, ; + Cb_tx_cautare1.Anchor = 10, ; + Cb_tx_cautare1.criteriu.Name = "criteriu", ; + Cb_tx_cautare1.Height = 27, ; + Cb_tx_cautare1.Left = 162, ; + Cb_tx_cautare1.Name = "Cb_tx_cautare1", ; + Cb_tx_cautare1.Text.Name = "Text", ; + Cb_tx_cautare1.Text.Width = 173, ; + Cb_tx_cautare1.Top = 4, ; + Cb_tx_cautare1.Width = 277 + *< END OBJECT: ClassLib="ferestre_cere_date.vcx" BaseClass="container" /> + + ADD OBJECT 'Ct_grid_search2' AS ct_grid_search WITH ; + Anchor = 14, ; + Height = 268, ; + Left = 12, ; + Name = "Ct_grid_search2", ; + TabIndex = 5, ; + Top = 335, ; + Width = 539, ; + _GRID1.Height = 229, ; + _GRID1.Left = 6, ; + _GRID1.Name = "_GRID1", ; + _GRID1.Top = 37, ; + _GRID1.Width = 529, ; + Titlu.Left = 6, ; + Titlu.Name = "Titlu", ; + Titlu.Top = 9, ; + Cb_tx_cautare1.criteriu.Name = "criteriu", ; + Cb_tx_cautare1.Left = 163, ; + Cb_tx_cautare1.Name = "Cb_tx_cautare1", ; + Cb_tx_cautare1.Text.Name = "Text", ; + Cb_tx_cautare1.Text.Width = 173, ; + Cb_tx_cautare1.Top = 4, ; + Cb_tx_cautare1.Width = 277 + *< END OBJECT: ClassLib="ferestre_cere_date.vcx" BaseClass="container" /> + + ADD OBJECT 'Lb_cautare' AS lb_simplu WITH ; + Caption = "Retete care au in componenta articolele a caror denumire corespunde criteriului :", ; + Left = 22, ; + Name = "Lb_cautare", ; + TabIndex = 13, ; + Top = 288 + *< END OBJECT: ClassLib="lb.vcx" BaseClass="label" /> + + PROCEDURE actualizeaza_cursoare + If (!Used('crsRetete') And !Used('crsMateriale')) Or gcS!=This.cSchema + This.creeaza_cursoare() + This.cSchema=gcS + Endif + + ENDPROC + + PROCEDURE creeaza_cursoare + pnIdReteta = 0 + + lcSelect1 = ['select id_reteta,id_articol,codmat,denumire,cod,principala,explicatie ] + ; + [ from ] + gcS + [.vnom_retetar where 1=2'] + lcCursor1 = [crsRetete] + lcSchema1 = [''] + lcOrder1 = [denumire] + lcFiltru1 = [1=1] + lcNume_coloane1= [codmat;denumire;cod;principala;explicatie;] + lcTitlu_coloane1 = [Cod produs,Denumire,Cod tehnologic,Principala,Explicatie] + lcNrColoaneCheck = [5] + + lcSelect2 = ['select id_reteta_elem,id_reteta,id_articol,codmat,denumire,'+] +; + ['um,cont,cantitate from ] + gcS + [.vnom_retetar_elemente where 1=2'] + lcCursor2 = [crsMateriale] + lcSchema2 = ['id_reteta_elem n(20),id_reteta n(20),id_articol n(20),codmat c(50),' +] +; + ['denumire c(100),um c(6),cont c(4),cantitate n(12,4)'] + lcOrder2 = [denumire] + lcFiltru2 = [id_reteta = ?pnIdReteta ] + lcNume_coloane2= [codmat;denumire;um;cont;cantitate] + lcTitlu_coloane2 = [Cod material,Denumire,Unitate de masura,Cont,Cantitate] + + With This.ct_grid_search1 + .cSelect = lcSelect1 + .cSchema = lcSchema1 + .cFiltruOriginal = lcFiltru1 + .cFiltru = lcFiltru1 + .cTitlu = 'PRODUSE' + .corder = lcOrder1 + .cnume_coloane = lcNume_coloane1 + .ctitlu_coloane = lcTitlu_coloane1 + .cnumecursor = lcCursor1 + .cnrcoloane_check = lcNrColoaneCheck + Endwith + + *!* modificare ROAGRESTAURANT 0.0.19 + This.cfiltruoriginalreteta = This.ct_grid_search1.cFiltruOriginal + *!* modificare ROAGRESTAURANT 0.0.19 ^ + + With This.ct_grid_search2 + .cSelect = lcSelect2 + .cSchema = lcSchema2 + .cFiltruOriginal = lcFiltru2 + .cFiltru = [1=1] + .cTitlu = 'FISA TEHNOLOGICA' + .corder = lcOrder2 + .cnume_coloane = lcNume_coloane2 + .ctitlu_coloane = lcTitlu_coloane2 + .cnumecursor = lcCursor2 + Endwith + + This.ct_grid_search1.initializare(.T.) + Select crsRetete + Go Top + pnIdReteta = crsRetete.id_reteta + This.ct_grid_search2.initializare(.T.) + This.ct_grid_search2._GRID1.column6.ReadOnly = .F. + + ENDPROC + + PROCEDURE do_adauga + Local lntip + lntip = This.ntip + + Private pcLista_art + Store '' To pcLista_art + + lcAlias1 = This.ct_grid_search1.cnumecursor + lcAlias2 = This.ct_grid_search2.cnumecursor + Do Case + Case lntip = 1 && Produse + Select (lcAlias1) + Scatter Name loRec Blank + lnIdRetetaTemp = pnIdReteta + pnIdReteta = 0 + Do Adauga_Modifica_Inregistrare With "reteta",loRec,,"INSERT" + lnIdRetetaAdaugare = pnIdReteta + pnIdReteta = lnIdRetetaTemp + If !Empty(lnIdRetetaAdaugare) + pcLista_art = [] + *!* lcFiltru = [ SUBSTR(TRIM(cont),1,1) = '3'] + pcLista_art = This.do_cauta_materiale() + If !Empty(pcLista_art) + This.do_adauga_in_retetar(lnIdRetetaAdaugare,pcLista_art) + Else + This.ct_grid_search1.actualizeaza_grid() + Endif + Endif + + Case lntip = 2 && Materiale + + *!* modificare ROAPRODUCTIE v 2.0.2 + If Reccount(lcAlias1) > 0 + *!* modificare ROAPRODUCTIE v 2.0.2 ^ + *!* lcFiltru = [ SUBSTR(TRIM(cont),1,1) = '3'] + *!* DO viz_catalog_articole WITH .f.,.t.,lcFiltru,.t.,[Alegeti materialele] in oproceduri_articole.prg + Select (lcAlias1) + lnIdReteta = id_reteta + lcFiltru = [ and id_articol not in (select id_articol from nom_retetar_elemente where id_reteta=]+Alltrim(Str(lnIdReteta))+; + [ and sters=0)] + pcLista_art = This.do_cauta_materiale(lcFiltru) + If !Empty(pcLista_art) + This.do_adauga_in_retetar(lnIdReteta,pcLista_art) + Endif + *!* modificare ROAPRODUCTIE v 2.0.2 + Else + amessagebox("Nu ati selectat produsul!",48,"Atentie") + Endif + *!* modificare ROAPRODUCTIE v 2.0.2 + Endcase + + ENDPROC + + PROCEDURE do_adauga_in_retetar + Parameters tnIdReteta,tcLista_Mat + Local lntip + lntip = This.ntip + + lnIdReteta = tnIdReteta + lcLista_Mat = tcLista_Mat + + lnMat = Occurs(',',lcLista_Mat) + + If Right(lcLista_Mat,1) # ',' + lcLista_Mat = lcLista_Mat + ',' + Endif + If Left(lcLista_Mat,1) # ',' + lcLista_Mat = ',' + lcLista_Mat + Endif + + *!* modificare ROAGEST v 2.0. + *!* *!* modificare ROAPRODUCTIE v 2.0.2 + *!* IF (RECCOUNT(lcAlias1)=0 AND lnTip = 1) OR (RECCOUNT(lcAlias2)=0 AND lnTip=2) + IF RECCOUNT(lcAlias1) = 0 AND lnTip = 2 + *!* modificare ROAGEST v 2.0. ^ + amessagebox("Nu ati selectat reteta!",48,"Atentie") + RETURN + ENDIF + *!* modificare ROAPRODUCTIE v 2.0.2 ^ + + lcAlias1 = This.ct_grid_search1.cnumecursor + lcAlias2 = This.ct_grid_search2.cnumecursor + For i=1 To lnMat+1 + lcId_material = Strextract(lcLista_Mat,[,],[,],i) + + lcSql = [begin pack_retete.adauga_material(] + Alltrim(Str(lnIdReteta)) + [,] + ; + lcId_material + [,] + ALLTRIM(STR(gnIdUtil)) +[); end;] + lnSucces = goExecutor.oExecute(lcSql) + If lnSucces < 0 + lcTextEroare = goExecutor.oPrelucrareEroare() + lcMesaj = "Adaugarea nu s-a realizat!" + Chr(13) + Chr(10) + lcTextEroare + AMESSAGEBOX(lcMesaj,0+16,"Atentie") + *!* Return + Endif + Endfor + + This.ct_grid_search1.actualizeaza_grid + This.ct_grid_search2.actualizeaza_grid + + Select (lcAlias1) + Locate For id_reteta = lnIdReteta + This.ct_grid_search1.SetFocus + + If lntip = 2 + This.ct_grid_search2.SetFocus + Endif + ENDPROC + + PROCEDURE do_cauta + *!* modificare ROAGRESTAURANT 0.0.19 + Local lcFiltru,lcValoare,lcCriteriu,lnCriteriu + lcValoare = Strtran(Alltrim(Upper(This.cb_tx_cautare1.Text.Value)),['],['']) + lnCriteriu = VAL(This.cb_tx_cautare1.criteriu.Value) + lcFiltru = [ AND ID_RETETA IN (SELECT DISTINCT ID_RETETA FROM VNOM_RETETAR_ELEMENTE WHERE DENUMIRE ] + Do Case + Case lnCriteriu = 1 And !Empty(lcValoare) + lcFiltru = lcFiltru + [ LIKE '] + lcValoare + [%')] + Case lnCriteriu = 2 And !Empty(lcValoare) + lcFiltru = lcFiltru + [ ='] + lcValoare + [')] + Case lnCriteriu = 3 And !Empty(lcValoare) + lcFiltru = lcFiltru + [ !='] + lcValoare + [')] + Case lnCriteriu = 4 And !Empty(lcValoare) + lcFiltru = lcFiltru + [ LIKE '%] + lcValoare + [%')] + Case lnCriteriu = 5 And !Empty(lcValoare) + lcFiltru = lcFiltru + [ NOT LIKE '%] + lcValoare + [%')] + Otherwise + lcFiltru = [] + Endcase + This.ct_grid_search1.cfiltruoriginal = This.cfiltruoriginalreteta + lcFiltru + lcCriteriu = This.ct_grid_search1.cb_tx_cautare1.criteriu.Value + lcValoare = This.ct_grid_search1.cb_tx_cautare1.Text.Value + If lcCriteriu <> "6" And Empty(lcValoare) + This.ct_grid_search1.cb_tx_cautare1.criteriu.Value = "6" + This.ct_grid_search1.cb_tx_cautare1.Text.Value = "" + Endif + This.ct_grid_search1.do_cauta() + *!* modificare ROAGRESTAURANT 0.0.19 ^ + ENDPROC + + PROCEDURE do_cauta_materiale + Lparameters tcFiltru + Local lcArticole, lcXMLArticole,lcFiltru + lcArticole = "" + lcFiltru = Iif(Empty(tcFiltru),[],tcFiltru) + lcXMLArticole = cauta_nom_articole([(a.cont='301' or a.cont like '302%' or a.cont like '34%' or a.in_stoc = 0)] + lcFiltru) + + If !Empty(lcXMLArticole) + + Xmltocursor(lcXMLArticole, "crsArticoleTemp") + lcArticole = cursor2lista("crsArticoleTemp", "id_articol", ",") + Use In crsArticoleTemp + Endif + + Return lcArticole + + ENDPROC + + PROCEDURE do_copiaza + Local lcTabel, lnIdReteta_dest, lcDenumire_Dest, lnIdReteta_Sursa, lcDenumire_sursa, lnRaspuns, lcSql, lnSucces + lcTabel = This.ct_grid_search1._GRID1.RecordSource + Select (lcTabel) + If Recno() = 0 + aMESSAGEBOX("Nu ati selectat produsul!",48,"Atentie") + Return + Endif + + Select (lcTabel) + lnIdReteta_sursa = id_reteta + lcDenumire_sursa = Alltrim(denumire) + lcCod_sursa = Alltrim(Nvl(cod,[])) + If Empty(lnIdReteta_sursa) + Return + Endif + + Local lcselect, lcfiltru, lcschema, lcorder, lccoloane, lcTitlu, lcTitluColoane, lcFiltruOriginal, lcNumeProc + lcselect = [select id_reteta,id_articol,codmat,denumire,cod,explicatie FROM vnom_retetar] + lcfiltru = [2=2] + lcschema = [] + lcorder = [denumire] + lccoloane = [denumire, codmat, explicatie] + * lcTitlu = [Alegeti reteta pe care doriti s-o copiati] + lcTitlu = [Alegeti produsul pentru care doriti sa inlocuiti fisa cu cea selectata] + lcTitluColoane = [Denumire, Cod material ] + lcFiltruOriginal = [id_reteta <> ]+Alltrim(Str(lnIdReteta_sursa)) + lcNumeProc = "" + locauta = cauta_alfa(lcselect, lcfiltru, lcschema, lcorder, lccoloane, lcTitlu, lcTitluColoane, lcNumeProc, .F., lcFiltruOriginal) && 11.07.2007 + + If !Empty(locauta.id_articol) + lnIdReteta_dest = locauta.id_reteta + lcDenumire_dest = Alltrim(locauta.denumire) + lcCod_dest = Alltrim(Nvl(locauta.cod,[])) + + lnRaspuns = AMESSAGEBOX([Doriti sa copiati fisa tehnologica a produsului ] + lcDenumire_sursa + ; + IIF(!Empty(lcCod_Sursa),[ (cod: ] + lcCod_Sursa + [ ) ],[ ]) + ; + [in cea a produsului ] + lcDenumire_Dest + Iif(!Empty(lcCod_Dest),[ (cod: ] + lcCod_Dest + [ ) ],[ ]) + ; + [?],4+32,'Copiere fisa tehnologica') + If lnRaspuns = 7 + Return + Endif + + lcSql = [begin pack_retete.copiaza_reteta(] + Alltrim(Str(lnIdReteta_Sursa)) + [,] + ; + Alltrim(Str(lnIdReteta_dest)) + [,] + Alltrim(Str(gnIdUtil)) +[); end;] + lnSucces = goExecutor.oExecute(lcSql) + + If lnSucces < 0 + aMessagebox(goExecutor.oPrelucrareEroare(),0+16,"Eroare") + Endif + + This.ct_grid_search2.actualizeaza_grid() + Endif + + ENDPROC + + PROCEDURE do_listare + Private poListRetetar + Store '' To poListRetetar + + pcDataOra = get_ora(2) + + Local lcCriteriu + lcCriteriu = This.ct_grid_search1.ocursor.ca_baza1.cfiltru + If Type("lcCriteriu") <> "C" + lcCriteriu = [2=2] + Endif + + Local lcSchema1, lcSelect1, lcOrder1, lcFiltru1, llAfiseaza + lcSelect1 = [select id_reteta, NVL(denumire,'') as denumire, cod, explicatie, NVL(denumire_mat,'') as denumire_mat,]+; + [NVL(codmat_mat,'') as codmat_mat, NVL(um_mat,'') as um_mat, NVL(cantitate,0) as cant_mat from ] + gcS + [.prod_vrap_retetar ] + lcOrder1 = [denumire, id_reteta, denumire_mat] + lcgroup = [] + lcFiltru1 = lcCriteriu + lcFiltruOriginal = [] + llModParam = .T. + llAfiseaza = .F. + + gencursor('poListRetetar','cListRetetar', lcSelect1, lcFiltru1, lcSchema1, lcOrder1, llAfiseaza, lcgroup, llModParam, lcFiltruOriginal) + poListRetetar.ca_baza1.afisare() + + If Reccount('cListRetetar')>0 + If Type('this.parent.alwaysontop')<>'U' + This.Parent.AlwaysOnTop=.F. + Endif + + Select cListRetetar + Report Form rap_retetar To Printer Prompt Preview + + If Type('this.parent.alwaysontop')<>'U' + This.Parent.AlwaysOnTop=.T. + Endif + Else + amessagebox("Nu exista inregistrari pentru listare!",0+48,"Atentie") + Endif + + If Used("cListRetetar") + Use In cListRetetar + Endif + + Release poListRetetar + + ENDPROC + + PROCEDURE do_reset + Local lntip + lntip = This.ntip + + Do Case + Case lntip=1 + With This.ct_grid_search1 + *!* modificare ROAPRODUCTIE v 2.0.2 + *!* .ocursor.ca_baza1.cfiltru=.cfiltruoriginal + .cb_tx_cautare1.Text.Value=[] + .do_cauta() + *!* modificare ROAPRODUCTIE v 2.0.2 ^ + Endwith + Case lntip=2 + With This.ct_grid_search2 + *!* modificare ROAPRODUCTIE v 2.0.2 + *!* .ocursor.ca_baza1.cfiltru=.cfiltruoriginal + .cb_tx_cautare1.Text.Value=[] + .do_cauta() + *!* modificare ROAPRODUCTIE v 2.0.2 ^ + Endwith + Endcase + ENDPROC + + PROCEDURE do_reset_cautare + *!* modificare ROAGRESTAURANT 0.0.19 + This.cb_tx_cautare1.Text.Value = [] + This.cb_tx_cautare1.criteriu.Value = "1" + *!* modificare ROAGRESTAURANT 0.0.19 ^ + ENDPROC + + PROCEDURE do_sterge + Local lntip + lntip = This.ntip + + lcAlias1 = This.ct_grid_search1.cnumecursor + lcAlias2 = This.ct_grid_search2.cnumecursor + + *!* modificare ROAPRODUCTIE v 2.0.2 + If (Reccount(lcAlias1)=0 And lntip = 1) Or (Reccount(lcAlias2)=0 And lntip = 2) + amessagebox("Nu exista inregistrari pentru stergere!",48,"Atentie") + Return + Endif + *!* modificare ROAPRODUCTIE v 2.0.2 ^ + + Do Case + Case lntip = 1 && Produse + Select (lcAlias1) + If amessagebox("Sunteti sigur ca doriti sa stergeti fisa tehnologica pentru "+Alltrim(denumire)+" ?",4+32,"Confirmare stergere")= 7 + This.ct_grid_search1.SetFocus() + Return + Endif + lcIdReteta = Alltrim(Str(id_reteta)) + lcSql = [begin pack_retete.sterge_reteta(] + lcIdReteta + [,] + Alltrim(Str(gnIdUtil)) + [); end;] + Case lntip = 2 && Materiale + Select (lcAlias2) + lcIdRetetaElem = Alltrim(Str(id_reteta_elem)) + *!* lcIdMaterial = Alltrim(Str(id_articol)) + lcSql = [begin pack_retete.sterge_material(] + lcIdRetetaElem + [,] + ; + Alltrim(Str(gnIdUtil)) + [); end;] + Endcase + + lnSucces = goExecutor.oExecute(lcSql) + If lnSucces < 0 + lcTextEroare = goExecutor.oPrelucrareEroare() + lcMesaj = "Stergerea nu s-a realizat!" + Chr(13) + Chr(10) + lcTextEroare + ofrm_er =Createobject('frm_mesaj',[Atentie],[exclam.ico],[Avertizare],lcMesaj) + ofrm_er.Show() + Release ofrm_er + Return + Endif + + This.ct_grid_search1.actualizeaza_grid + This.ct_grid_search2.actualizeaza_grid + This.ct_grid_search1.SetFocus + This.ct_grid_search1.Refresh + + If lntip = 2 + This.ct_grid_search2.SetFocus + Endif + + *!* lcFocus = [this.ct_grid_search] + ALLTRIM(STR(lntip)) + [.SetFocus] + *!* &lcFocus + ENDPROC + + PROCEDURE inainte_de_do_modifica + Local lntip + lntip = This.ntip + + lcAlias1 = This.ct_grid_search1.cnumecursor + Do Case + Case lntip = 1 && Produse + *!* modificare ROAPRODUCTIE v 2.0.2 + If Reccount(lcAlias1) > 0 + *!* modificare ROAPRODUCTIE v 2.0.2 ^ + Select (lcAlias1) + Scatter Name loRec + lnIdRetetaTemp = pnIdReteta + pnIdReteta = 0 + Do Adauga_Modifica_Inregistrare With "reteta",loRec,loRec.Id_reteta,"UPDATE" + This.ct_grid_search1.actualizeaza_grid() + *!* modificare ROAPRODUCTIE v 2.0.2 + Else + amessagebox("Nu exista inregistrari pentru modificare!",48,"Atentie") + Endif + *!* modificare ROAPRODUCTIE v 2.0.2 ^ + Endcase + + ENDPROC + + PROCEDURE Init + gcAcces=[1;2;3;4;] + DoDefault() + This.cb_tx_cautare1.criteriu.Value = [1] + This.cb_tx_cautare1.criteriu.Refresh() + + ENDPROC + + PROCEDURE But_nou1.Click + This.Parent.ntip =1 + DoDefault() + ENDPROC + + PROCEDURE But_nou2.Click + This.Parent.ntip =2 + DoDefault() + ENDPROC + + PROCEDURE But_reset1.Click + This.Parent.ntip=1 + DoDefault() + + ENDPROC + + PROCEDURE But_reset2.Click + This.Parent.ntip=2 + DoDefault() + + ENDPROC + + PROCEDURE But_reset3.Click + This.Parent.ntip=2 + DoDefault() + + ENDPROC + + PROCEDURE But_sterge1.Click + This.Parent.ntip =1 + DoDefault() + ENDPROC + + PROCEDURE But_sterge2.Click + This.Parent.ntip =2 + DoDefault() + ENDPROC + + PROCEDURE Cb_tx_cautare1.Text.KeyPress + Lparameters nKeyCode, nShiftAltCtrl + If nKeyCode = 13 + Nodefault + This.Parent.Parent.do_cauta() + Else + DoDefault(nKeyCode, nShiftAltCtrl) + Endif + + ENDPROC + + PROCEDURE Ct_grid_search1.Cb_tx_cautare1.Text.KeyPress + *!* modificare ROAGRESTAURANT v 0.0.19 + Lparameters nKeyCode, nShiftAltCtrl + If nKeyCode = 13 + Nodefault + This.Parent.Parent.Parent.do_cauta() + Else + DoDefault(nKeyCode, nShiftAltCtrl) + Endif + *!* modificare ROAGRESTAURANT v 0.0.19 ^ + ENDPROC + + PROCEDURE Ct_grid_search1.initializare + Parameters tlNumerotare + DoDefault(tlNumerotare) + Local liColIndex,i + For liColIndex=1 To This._grid1.ColumnCount + With This._grid1.Columns(liColIndex) + .ReadOnly=.T. + .FontName='Arial Narrow' + Endwith + Endfor + ENDPROC + + PROCEDURE Ct_grid_search1._GRID1.AfterRowColChange + Lparameters nColIndex + If This.RowColChange<>2 + pnIdReteta = crsRetete.id_reteta + This.Parent.Parent.ct_grid_search2.actualizeaza_grid + Endif + ENDPROC + + PROCEDURE Ct_grid_search1._GRID1.SetFocus + pnIdReteta = crsRetete.id_reteta + This.Parent.Parent.ct_grid_search2.actualizeaza_grid + + ENDPROC + + PROCEDURE Ct_grid_search2.initializare + Parameters tlNumerotare + DoDefault(tlNumerotare) + This._GRID1.column6.DynamicBackColor="RGB(217,241,255)" + ENDPROC + + PROCEDURE Ct_grid_search2._GRID1.AfterRowColChange + Lparameters nColIndex + lcalias2 = This.Parent.cnumecursor + Select (lcalias2) + + With This.Parent.Parent + .rowf = This.ActiveRow + .colf = This.ActiveColumn + If .rowi <> 0 And .coli = 6 + Go .rowi + .cantf = cantitate + If .canti <> .cantf + Scatter Fields id_reteta_elem,cantitate Name loMat + lcCantitate = Transform(loMat.cantitate) + lcIdRetetaElem = Transform(loMat.id_reteta_elem) + lcSql = [begin pack_retete.modifica_material_cant(] + lcIdRetetaElem + [,] + ; + lcCantitate + [,] + Alltrim(Str(gnIdUtil)) + [); end;] + lnSucces = goExecutor.oExecute(lcSql) + If lnSucces < 0 + lcTextEroare = goExecutor.cEroare + lcMesaj = "Modificarea nu s-a realizat!." + Chr(13) + Chr(10) + lcTextEroare + ofrm_er =Createobject('frm_mesaj',[Atentie],[exclam.ico],[Avertizare],lcMesaj) + ofrm_er.Show() + Release ofrm_er + Return + Endif + Endif + If .rowf <= Reccount(lcalias2) + Go .rowf + Endif + Endif + .rowi = .rowf + .coli = .colf + If .coli = 6 + .canti = cantitate + Endif + Endwith + + ENDPROC + +ENDDEFINE + +DEFINE CLASS cus_odata_reteta AS _cusodatabase OF "..\..\..\roacomenzi\comun\clase\_cus_odata_base.vcx" + *< CLASSDATA: Baseclass="custom" Timestamp="" Scale="Pixels" Uniqueid="" /> + + * + Name = "cus_odata_reteta" + * + + PROCEDURE make_sql + Lparameters toRec,tnId + + lcActiune = Alltrim(This.cActiune) + + If Inlist(lcActiune, "UPDATE",'INSERT') And Type('toRec') != "O" + Return .F. + Endif + + If Inlist(lcActiune, "UPDATE",'DELETE') And Type('tnId') != "N" + Return .F. + Endif + + If Inlist(lcActiune, "UPDATE",'DELETE') + lcId = Alltrim(Str(tnId)) + Endif + + If Inlist(lcActiune, "UPDATE",'INSERT') + lcCod=Alltrim(toRec.cod) + lcIdArticol=Alltrim(STR(toRec.id_articol)) + lcExplicatie=Alltrim(NVL(toRec.explicatie,[])) + lcPrincipala=ALLTRIM(STR(toRec.principala)) + Endif + + Do Case + Case lcActiune = "INSERT" + lcSql = [begin pack_retete.adauga_reteta('] + STRTRAN(lcCod,['],['']) + [',] + lcIdArticol + [,] +; + ['] + STRTRAN(lcExplicatie,['],['']) + [',] + lcPrincipala + [,] + Alltrim(Str(gnIdUtil)) + [,?@pnIdReteta); end;] + + Case lcActiune = "UPDATE" + lcSql = [begin pack_retete.modifica_reteta(] + lcId + [,'] + STRTRAN(lcCod,['],['']) + [',] + lcIdArticol + [,] +; + ['] + STRTRAN(lcExplicatie,['],['']) + [',] + lcPrincipala + [,] + Alltrim(Str(gnIdUtil)) + [); end;] + + Case lcActiune = "DELETE" + lcSql = [begin pack_retete.sterge_reteta(] + lcId + [,] + Alltrim(Str(gnIdUtil)) + [); end;] + + Endcase + This.csql = lcSql + ENDPROC + +ENDDEFINE + +DEFINE CLASS frm_reteta_nou AS _frmbase OF "_frm_base.vcx" + *< CLASSDATA: Baseclass="form" Timestamp="" Scale="Pixels" Uniqueid="" /> + + *-- OBJECTDATA items order determines ZOrder / El orden de los items OBJECTDATA determina el ZOrder + *< OBJECTDATA: ObjPath="But_renunt1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="clb_cod" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="clb_denumire" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="Cus_odata_reteta1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="ck_principala" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="Ed_explicatie" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="Image1" UniqueID="" Timestamp="" /> + + * + *m: do_cauta_articol + *p: nid + *p: orec + * + + * + DoCreate = .T. + Height = 191 + Name = "frm_reteta_nou" + Width = 348 + _shape1.Height = 29 + _shape1.Left = 0 + _shape1.Name = "_shape1" + _shape1.Top = 0 + _shape1.Width = 348 + _shape2.Height = 29 + _shape2.Left = 286 + _shape2.Name = "_shape2" + _shape2.Top = 0 + _shape2.Width = 64 + Lb_titlu_alb_b121.Caption = "TEHNOLOGIE" + Lb_titlu_alb_b121.FontBold = .T. + Lb_titlu_alb_b121.Name = "Lb_titlu_alb_b121" + Lb_titlu_alb_b121.TabIndex = 7 + BUT_TERMIN1.Left = 318 + BUT_TERMIN1.Name = "BUT_TERMIN1" + BUT_TERMIN1.TabIndex = 5 + BUT_TERMIN1.Top = 1 + GRIDSORT1.Left = 13 + GRIDSORT1.Name = "GRIDSORT1" + GRIDSORT1.Top = 42 + * + + ADD OBJECT 'But_renunt1' AS but_renunt WITH ; + Left = 288, ; + Name = "But_renunt1", ; + TabIndex = 6, ; + Top = 1 + *< END OBJECT: ClassLib="cmd_butoane.vcx" BaseClass="commandbutton" /> + + ADD OBJECT 'ck_principala' AS _checkbox WITH ; + Alignment = 0, ; + Caption = "Principala", ; + ControlSource = "porec.principala", ; + Left = 228, ; + Name = "ck_principala", ; + TabIndex = 4, ; + Top = 164 + *< END OBJECT: ClassLib="_baza.vcx" BaseClass="checkbox" /> + + ADD OBJECT 'clb_cod' AS clb_tx_simplu WITH ; + Left = 16, ; + Name = "clb_cod", ; + TabIndex = 1, ; + Top = 44, ; + Text_simplu1.ControlSource = "porec.cod", ; + Text_simplu1.Name = "Text_simplu1", ; + Lb_simplu1.Caption = "Cod tehnologic", ; + Lb_simplu1.Name = "Lb_simplu1" + *< END OBJECT: ClassLib="lb_tx.vcx" BaseClass="container" /> + + ADD OBJECT 'clb_denumire' AS clb_tx_simplu WITH ; + Left = 16, ; + Name = "clb_denumire", ; + TabIndex = 2, ; + Top = 72, ; + Text_simplu1.ControlSource = "porec.denumire", ; + Text_simplu1.Name = "Text_simplu1", ; + Text_simplu1.ReadOnly = .T., ; + Lb_simplu1.Caption = "Produs", ; + Lb_simplu1.Name = "Lb_simplu1" + *< END OBJECT: ClassLib="lb_tx.vcx" BaseClass="container" /> + + ADD OBJECT 'Cus_odata_reteta1' AS cus_odata_reteta WITH ; + Left = 96, ; + Name = "Cus_odata_reteta1", ; + Top = 164 + *< END OBJECT: ClassLib="onom_retete.vcx" BaseClass="custom" /> + + ADD OBJECT 'Ed_explicatie' AS ed_tx_simplu WITH ; + Left = 16, ; + Name = "Ed_explicatie", ; + TabIndex = 3, ; + Top = 100, ; + _edbase1.ControlSource = "porec.explicatie", ; + _edbase1.Name = "_edbase1", ; + _lbbase1.Caption = "Explicatie", ; + _lbbase1.Name = "_lbbase1" + *< END OBJECT: ClassLib="lb_tx.vcx" BaseClass="container" /> + + ADD OBJECT 'Image1' AS image WITH ; + Height = 20, ; + Left = 315, ; + Name = "Image1", ; + Picture = ..\grafice\alege.bmp, ; + Stretch = 2, ; + Top = 76, ; + Width = 24, ; + ZOrderSet = 31 + *< END OBJECT: BaseClass="image" /> + + PROCEDURE do_cauta_articol + locauta=caut_articol_gs(.F., .F., .F., [341,345,371]) + If !Isnull(locauta) + porec.denumire = locauta.denumire + porec.id_articol = locauta.id_articol + Thisform.clb_denumire.Refresh() + Endif + ENDPROC + + PROCEDURE inainte_de_do_termin + Local plReturn + lccontrol = Upper(This.ActiveControl.BaseClass ) + If Inlist(lccontrol,"TEXTBOX","EDITBOX","COMBOBOX") + lcval=This.ActiveControl.ControlSource + &lcval=Thisform.ActiveControl.Value + Endif + + Do Case + Case Empty(Nvl(porec.cod,[])) + amessagebox('Nu ati completat codul tehnologic!',0+48,"Atentie") + Thisform.clb_cod.texT_SIMPLU1.SetFocus() + plReturn=.F. + Case Empty(Nvl(porec.denumire,[])) Or Empty(Nvl(porec.id_articol,0)) + amessagebox('Nu ati ales produsul!',0+48,"Atentie") + Thisform.clb_produs.texT_SIMPLU1.SetFocus() + plReturn=.F. + Otherwise + plReturn=Thisform.cus_odata_reteta1.salvare(This.OREC,This.NID) + Endcase + Return plReturn + ENDPROC + + PROCEDURE Init + Lparameters toRec, tnId, tcActiune + + DoDefault() + + This.orec= toRec + This.nid = tnId + This.cus_odata_reteta1.cactiune = tcActiune + ENDPROC + + PROCEDURE clb_denumire.Text_simplu1.KeyPress + Lparameters nKeyCode, nShiftAltCtrl + If Inlist(nKeyCode,9,13) And nShiftAltCtrl=0 And Empty(porec.id_articol) + Nodefault + Thisform.do_cauta_articol() + Endif + + ENDPROC + + PROCEDURE Image1.Click + Thisform.do_cauta_articol() + ENDPROC + +ENDDEFINE + +DEFINE CLASS frm_retetar AS _frmbase OF "_frm_base.vcx" + *< CLASSDATA: Baseclass="form" Timestamp="" Scale="Pixels" Uniqueid="" /> + + *-- OBJECTDATA items order determines ZOrder / El orden de los items OBJECTDATA determina el ZOrder + *< OBJECTDATA: ObjPath="Ct_retetar1" UniqueID="" Timestamp="" /> + + * + DoCreate = .T. + Height = 650 + Name = "frm_retetar" + Width = 661 + _shape1.Anchor = 11 + _shape1.Height = 29 + _shape1.Left = -1 + _shape1.Name = "_shape1" + _shape1.Top = 0 + _shape1.Width = 661 + _shape2.Anchor = 9 + _shape2.Height = 29 + _shape2.Left = 624 + _shape2.Name = "_shape2" + _shape2.Top = 0 + _shape2.Width = 37 + Lb_titlu_alb_b121.Caption = "FISA TEHNOLOGICA" + Lb_titlu_alb_b121.Name = "Lb_titlu_alb_b121" + Lb_titlu_alb_b121.TabIndex = 8 + BUT_TERMIN1.Anchor = 9 + BUT_TERMIN1.Height = 27 + BUT_TERMIN1.Left = 628 + BUT_TERMIN1.Name = "BUT_TERMIN1" + BUT_TERMIN1.TabIndex = 7 + BUT_TERMIN1.Top = 1 + BUT_TERMIN1.Width = 30 + GRIDSORT1.Left = 9 + GRIDSORT1.Name = "GRIDSORT1" + GRIDSORT1.Top = 48 + * + + ADD OBJECT 'Ct_retetar1' AS ct_retetar WITH ; + Left = 5, ; + Name = "Ct_retetar1", ; + Top = 34, ; + Gridsort1.Name = "Gridsort1", ; + _ct_controller_keypress1.Name = "_ct_controller_keypress1", ; + Ct_grid_search1.Cb_tx_cautare1.Criteriu.Name = "Criteriu", ; + Ct_grid_search1.Cb_tx_cautare1.Name = "Cb_tx_cautare1", ; + Ct_grid_search1.Cb_tx_cautare1.Text.Name = "Text", ; + Ct_grid_search1.Name = "Ct_grid_search1", ; + Ct_grid_search1.Titlu.Name = "Titlu", ; + Ct_grid_search1._GRID1.Name = "_GRID1", ; + Ct_grid_search2.Cb_tx_cautare1.Criteriu.Name = "Criteriu", ; + Ct_grid_search2.Cb_tx_cautare1.Name = "Cb_tx_cautare1", ; + Ct_grid_search2.Cb_tx_cautare1.Text.Name = "Text", ; + Ct_grid_search2.Name = "Ct_grid_search2", ; + Ct_grid_search2.Titlu.Name = "Titlu", ; + Ct_grid_search2._GRID1.Name = "_GRID1", ; + But_listare1.Name = "But_listare1", ; + But_nou1.Name = "But_nou1", ; + But_sterge1.Name = "But_sterge1", ; + But_nou2.Name = "But_nou2", ; + But_sterge2.Name = "But_sterge2", ; + But_modifica1.Name = "But_modifica1", ; + But_reset1.Name = "But_reset1", ; + But_reset2.Name = "But_reset2", ; + Cb_tx_cautare1.Criteriu.Name = "Criteriu", ; + Cb_tx_cautare1.Name = "Cb_tx_cautare1", ; + Cb_tx_cautare1.Text.Name = "Text", ; + But_copie.Name = "But_copie", ; + Lb_cautare.Name = "Lb_cautare", ; + But_reset3.Name = "But_reset3" + *< END OBJECT: ClassLib="onom_retete.vcx" BaseClass="container" /> + + PROCEDURE Show + Lparameters nStyle + This.ct_retetar1.actualizeaza_cursoare() + + ENDPROC + +ENDDEFINE diff --git a/clase/onom_sal.vc2 b/clase/onom_sal.vc2 new file mode 100644 index 0000000..5967788 --- /dev/null +++ b/clase/onom_sal.vc2 @@ -0,0 +1,11984 @@ +*-------------------------------------------------------------------------------------------------------------------------------------------------------- +* (EN) AUTOGENERATED - ATTENTION!! - NOT INTENDED FOR EXECUTION!! USE ONLY FOR MERGING CHANGES AND STORING WITH SCM TOOLS!! +*-------------------------------------------------------------------------------------------------------------------------------------------------------- +*< FOXBIN2PRG: Version="1.21" SourceFile="onom_sal.vcx" CPID="1252" /> (Solo para binarios VFP 9 / Only for VFP 9 binaries) +* +* +DEFINE CLASS cus_odata_caseasig AS _cusodatabase OF "..\..\comun\clase\_cus_odata_base.vcx" + *< CLASSDATA: Baseclass="custom" Timestamp="" Scale="Pixels" Uniqueid="" /> + + * + Name = "cus_odata_caseasig" + * + + PROCEDURE make_sql + Lparameters toRec,tnId + + lcActiune = Alltrim(This.cActiune) + + If Inlist(lcActiune, "UPDATE",'INSERT') And Type('toRec') != "O" + Return .F. + Endif + + If Inlist(lcActiune, "UPDATE",'DELETE') And Type('tnId') != "N" + Return .F. + Endif + + If Inlist(lcActiune, "UPDATE",'DELETE') + lcId = Alltrim(Str(tnId)) + lcnom = gcS + ".sal_caseasig" + lcamp = "id_caseasig" + lclook = gcS + ".sal_stat" + lclookid = "id_caseasig" + + + + + + Endif + + If Inlist(lcActiune, "UPDATE",'INSERT') + lcid_judet = NVL(ALLTRIM(STR(torec.id_judet)),'0') + lcNumecasa = NVL(STRTRAN(ALLTRIM(UPPER(torec.numecasa)),['],['']),"") + + Endif + + + Do Case + Case lcActiune = "INSERT" + + lcSql = [INSERT INTO ] + gcS + [.SAL_caseasig (ID_judet, numecasa) VALUES (]+; + LCId_judet + [,']+ lcNumecasa + [')] + + Case lcActiune = "UPDATE" + *!* DEBUG + *!* SUSPEND + lcSql = [UPDATE ] + gcS + [.SAL_caseasig SET id_judet = ] + lcid_judet +; + [,numecasa = '] + lcnumecasa + [' where id_caseasig = ] + lcId + + Case lcActiune = "DELETE" + + *!* lcSql = [update nom_sectii set sters=1,id_util=]+ALLTRIM(STR(gcidutil))+[,id_modif=seq_modif_nomen.nextval where id_banca=]+lcid + lcSql = [begin nomdelproc('] + lcnom + [','] + lcamp + [',] + lcid + [,'] + lclook + [','] + lclookid + ['); end;] + Endcase + + This.csql = lcSql + + ENDPROC + +ENDDEFINE + +DEFINE CLASS cus_odata_clasesal AS _cusodatabase OF "..\..\comun\clase\_cus_odata_base.vcx" + *< CLASSDATA: Baseclass="custom" Timestamp="" Scale="Pixels" Uniqueid="" /> + + * + Name = "cus_odata_clasesal" + * + + PROCEDURE make_sql + + + Lparameters toRec,tnId + + lcActiune = Alltrim(This.cActiune) + + If Inlist(lcActiune, "UPDATE",'INSERT') And Type('toRec') != "O" + Return .F. + Endif + + If Inlist(lcActiune, "UPDATE",'DELETE') And Type('tnId') != "N" + Return .F. + Endif + + If Inlist(lcActiune, "UPDATE",'DELETE') + lcId = Alltrim(Str(tnId)) + lcnom = gcS + ".sal_nom_clasesal" + lcamp = "id_clasasal" + lclook = gcS + ".sal_stat" + lclookid = "sal_stat.id_clasasal" + Endif + If Inlist(lcActiune, "UPDATE",'INSERT') + lcCod = NVL(ALLTRIM(torec.cod),"") + lcTarifar = Nvl(ALLTRIM(STR(toRec.tarifar)),"0") + lcinactiv = Nvl(ALLTRIM(STR(toRec.inactiv)),"0") + Endif + + + Do Case + Case lcActiune = "INSERT" + + lcSql = [INSERT INTO ] + gcS + [.sal_nom_clasesal (cod,tarifar) VALUES (']; + + lcCod+ [',] + lcTarifar +[)] + + Case lcActiune = "UPDATE" + + lcSql = [UPDATE ] + gcS + [.sal_nom_clasesal SET cod = '] + lcCod+ ; + [',tarifar = ]+ lcTarifar+[,inactiv = ]+ lcInactiv+; + [ where id_clasasal = ] + lcId + + Case lcActiune = "DELETE" + + *!* lcSql = [update nom_sectii set sters=1,id_util=]+ALLTRIM(STR(gcidutil))+[,id_modif=seq_modif_nomen.nextval where id_banca=]+lcid + *lcSql = [begin nomdelproc('] + lcnom + [','] + lcamp + [',] + lcid + [,'] + lclook + [','] + lclookid + ['); end;] + lcSql = [begin nomdelproc('] + lcnom + [','] + lcamp + [',] + lcid + [,'] + lclook + [','] + lclookid + ['); end;] + + Endcase + + This.csql = lcSql + + ENDPROC + +ENDDEFINE + +DEFINE CLASS cus_odata_conf_popr AS _cusodatabase OF "_cus_odata_base.vcx" + *< CLASSDATA: Baseclass="custom" Timestamp="" Scale="Pixels" Uniqueid="" /> + + * + Name = "cus_odata_conf_popr" + * + + PROCEDURE make_sql + Lparameters toRec,tnId + + lcActiune = Alltrim(This.cActiune) + + If Inlist(lcActiune, "UPDATE",'INSERT') And Type('toRec') != "O" + Return .F. + Endif + + If Inlist(lcActiune, "UPDATE",'DELETE') And Type('tnId') != "N" + Return .F. + Endif + If Inlist(lcActiune, "UPDATE",'DELETE') + lcId = Alltrim(Str(tnId)) + lcnom = gcS + ".sal_nom_popriri" + lcamp = "id_popriri" + lclook = gcS + ".sal_popriri" + lclookid = "sal_popriri.id_poprire" + Endif + + If Inlist(lcActiune, "UPDATE",'INSERT') + lcNume_popr = NVL(UPPER(ALLTRIM(torec.nume_popr)),"") + lcsumafixa = Nvl(ALLTRIM(STR(toRec.sumafixa)),"0") + lcid_calcdin = Nvl(ALLTRIM(STR(toRec.id_calcdin)),"0") + lcpermanent = Nvl(ALLTRIM(STR(toRec.permanent)),"0") + lcneimpozab = Nvl(ALLTRIM(STR(toRec.neimpozab)),"0") + lcinactiv = Nvl(ALLTRIM(STR(toRec.inactiv)),"0") + lcidben = ALLTRIM(STR(NVL(toRec.id_beneficiar,0))) + lcScd = NVL(UPPER(ALLTRIM(torec.scd)),"") + lcAscd = NVL(UPPER(ALLTRIM(torec.ascd)),"") + lcScc = NVL(UPPER(ALLTRIM(torec.scc)),"") + lcAscc = NVL(UPPER(ALLTRIM(torec.ascc)),"") + Endif + + + Do Case + Case lcActiune = "INSERT" + + lcSql = [INSERT INTO ] + gcS + [.sal_nom_popriri (nume_popr,sumafixa,id_calcdin,permanent,neimpozab,id_beneficiar,scd,ascd,scc,ascc) VALUES ('] + lcNume_popr+ [',] + lcSumafixa + ; + [,] + lcid_calcdin + [,] + lcpermanent + [,] + lcneimpozab +[,]+lcidben +[,']+lcScd+[',']+lcAscd+[',']+lcScc+[',']+lcAscc+[')] + + Case lcActiune = "UPDATE" + + lcSql = [UPDATE ] + gcS + [.sal_nom_popriri SET nume_popr = '] +lcNume_popr + [',sumafixa =] + lcsumafixa + ; + [,id_calcdin = ] + lcid_Calcdin + [,permanent = ] + lcpermanent + [,neimpozab = ] + lcneimpozab + ; + [,inactiv = ]+ lcinactiv + [,id_beneficiar = ']+lcidben +; + [',scd = ']+lcScd+[',ascd = ']+lcAscd+[',scc=']+lcScc+[',ascc = ']+lcAscc+[' where id_popriri = ] + lcId + + Case lcActiune = "DELETE" + + *!* lcSql = [update nom_sectii set sters=1,id_util=]+ALLTRIM(STR(gcidutil))+[,id_modif=seq_modif_nomen.nextval where id_banca=]+lcid + lcSql = [begin nomdelproc('] + lcnom + [','] + lcamp + [',] + lcid + [,'] + lclook + [','] + lclookid + ['); end;] + *!* lcSql = [UPDATE ] + gcS + [.sal_persintret SET STERS = 1 WHERE id_pers = ] + lcId + Endcase + + This.csql = lcSql + + ENDPROC + +ENDDEFINE + +DEFINE CLASS cus_odata_conf_spor AS _cusodatabase OF "_cus_odata_base.vcx" + *< CLASSDATA: Baseclass="custom" Timestamp="" Scale="Pixels" Uniqueid="" /> + + * + Name = "cus_odata_conf_spor" + * + + PROCEDURE make_sql + Lparameters toRec,tnId + + lcActiune = Alltrim(This.cActiune) + + If Inlist(lcActiune, "UPDATE",'INSERT') And Type('toRec') != "O" + Return .F. + Endif + + If Inlist(lcActiune, "UPDATE",'DELETE') And Type('tnId') != "N" + Return .F. + Endif + If Inlist(lcActiune, "UPDATE",'DELETE') + lcId = Alltrim(Str(tnId)) + lcnom = gcS + ".sal_nom_sporuri " + lcamp = "id_sporuri " + lclook = gcS + ".sal_sporuri" + lclookid = "sal_sporuri.id_spor" + Endif + + If Inlist(lcActiune, "UPDATE",'INSERT') + lcNume_spor = NVL(UPPER(ALLTRIM(torec.nume_spor)),"") + lcsumafixa = Nvl(ALLTRIM(STR(toRec.sumafixa)),"0") + lcid_calcdin = Nvl(ALLTRIM(STR(toRec.id_calcdin)),"0") + lcpermanent = Nvl(ALLTRIM(STR(toRec.permanent)),"0") + lcsomaj = Nvl(ALLTRIM(STR(toRec.somaj)),"0") + lcvechime = Nvl(ALLTRIM(STR(toRec.vechime)),"0") + lcinactiv = Nvl(ALLTRIM(STR(toRec.inactiv)),"0") + lcIdTipSpor = ALLTRIM(STR(toRec.id_tip_spor)) + Endif + + + Do Case + Case lcActiune = "INSERT" + *!* modificare v 2.0.0 + *!* lcSql = [INSERT INTO ] + gcS + [.sal_nom_sporuri (nume_spor,sumafixa,id_calcdin,permanent,somaj,vechime) VALUES ('] + lcNume_spor+ [',] + lcSumafixa + ; + *!* [,] + lcid_calcdin + [,] + lcpermanent + [,] + lcsomaj + [,] + lcvechime +[)] + lcSql = [begin pack_def_salarii.adauga_spor(] + lcIdTipSpor + [,'] + lcNume_spor+ [',] + lcSumafixa + ; + [,] + lcid_calcdin + [,] + lcpermanent + [,] + lcsomaj + [,] + lcvechime +[,] + lcInactiv + [); end;] + Case lcActiune = "UPDATE" + *!* lcSql = [UPDATE ] + gcS + [.sal_nom_sporuri SET nume_spor = '] +lcNume_spor + [',sumafixa =] + lcsumafixa + ; + *!* [,id_calcdin = ] + lcid_Calcdin + [,permanent = ] + lcpermanent + [,somaj = ] + lcsomaj + ; + *!* [,vechime = ] + lcvechime + [,inactiv = ]+ lcinactiv + [ where id_sporuri = ] + lcId + lcSql = [begin pack_def_salarii.modifica_spor(] + lcId + [,] + lcIdTipSpor + [,'] + lcNume_spor+ [',] + lcSumafixa + ; + [,] + lcid_calcdin + [,] + lcpermanent + [,] + lcsomaj + [,] + lcvechime +[,] + lcInactiv + [); end;] + *!* modificare v 2.0.0 ^ + Case lcActiune = "DELETE" + + *!* lcSql = [update nom_sectii set sters=1,id_util=]+ALLTRIM(STR(gcidutil))+[,id_modif=seq_modif_nomen.nextval where id_banca=]+lcid + lcSql = [begin nomdelproc('] + lcnom + [','] + lcamp + [',] + lcid + [,'] + lclook + [','] + lclookid + ['); end;] + *!* lcSql = [UPDATE ] + gcS + [.sal_persintret SET STERS = 1 WHERE id_pers = ] + lcId + Endcase + + This.csql = lcSql + + ENDPROC + +ENDDEFINE + +DEFINE CLASS cus_odata_curscal AS _cusodatabase OF "..\..\comun\clase\_cus_odata_base.vcx" + *< CLASSDATA: Baseclass="custom" Timestamp="" Scale="Pixels" Uniqueid="" /> + + * + Name = "cus_odata_curscal" + * + + PROCEDURE make_sql + Lparameters toRec,tnId + + lcActiune = Alltrim(This.cActiune) + + If Inlist(lcActiune, "UPDATE",'INSERT') And Type('toRec') != "O" + Return .F. + Endif + + If Inlist(lcActiune, "UPDATE",'DELETE') And Type('tnId') != "N" + Return .F. + Endif + + If Inlist(lcActiune, "UPDATE",'DELETE') + lcId = Alltrim(Str(tnId)) + lcnom = gcS + ".sal_nom_curs" + lcamp = "id_c" + lclook = gcS + ".sal_cursuri" + lclookid = "id_c" + Endif + + If Inlist(lcActiune, "UPDATE",'INSERT') + lcDenumire = NVL(STRTRAN(ALLTRIM(UPPER(torec.denumire)),['],['']),"") + lcInactiv = NVL(ALLTRIM(STR(torec.inactiv)),'0') + + Endif + + + Do Case + Case lcActiune = "INSERT" + + lcSql = [INSERT INTO ] + gcS + [.sal_nom_curs (denumire) VALUES (']+; + lcDenumire + [')] + + Case lcActiune = "UPDATE" + *!* DEBUG + *!* SUSPEND + lcSql = [UPDATE ] + gcS + [.sal_nom_curs SET denumire = '] + lcDenumire +; + [',inactiv = ] + lcinactiv +[ where id_c = ] + lcId + + Case lcActiune = "DELETE" + + *!* lcSql = [update ] +gcS +[.sal_deduceri set sters=1 where id_deducere=]+lcid + lcSql = [begin nomdelproc('] + lcnom + [','] + lcamp + [',] + lcid + [,'] + lclook + [','] + lclookid + ['); end;] + Endcase + + This.csql = lcSql + + ENDPROC + +ENDDEFINE + +DEFINE CLASS cus_odata_formatii AS _cusodatabase OF "_cus_odata_base.vcx" + *< CLASSDATA: Baseclass="custom" Timestamp="" Scale="Pixels" Uniqueid="" /> + + * + Name = "cus_odata_formatii" + * + + PROCEDURE make_sql + Lparameters toRec,tnId + + lcActiune = Alltrim(This.cActiune) + + If Inlist(lcActiune, "UPDATE",'INSERT') And Type('toRec') != "O" + Return .F. + Endif + + If Inlist(lcActiune, "UPDATE",'DELETE') And Type('tnId') != "N" + Return .F. + Endif + + If Inlist(lcActiune, "UPDATE",'DELETE') + lcId = Alltrim(Str(tnId)) + lcnom = gcS + ".sal_nom_formatii" + lcamp = "id_formatia" + lclook = gcS + ".sal_stat" + lclookid = "id_formatie" + + + + + + Endif + + If Inlist(lcActiune, "UPDATE",'INSERT') + lcid_sectie = NVL(ALLTRIM(STR(torec.id_sectie)),'0') + lcTranse = NVL(ALLTRIM(STR(torec.id_transa)),'0') + lcSemnaturi = NVL(ALLTRIM(STR(torec.id_semnatura)),'null') + lcDenumire = NVL(STRTRAN(ALLTRIM(UPPER(torec.denumire)),['],['']),"") + lcOrdine = NVL(ALLTRIM(STR(torec.ordine)),'') + lcInactiv = NVL(ALLTRIM(STR(torec.INACTIV)),'0') + Endif + + IF gnSAL_SPECIAL = 4 AND gnIdProgram = 9 + If Inlist(lcActiune, "UPDATE",'DELETE') + lcId = Alltrim(Str(tnId)) + lcnom = gcS + ".sal_nom_locmunca" + lcamp = "id_locmunca" + lclook = gcS + ".sal_stat" + lclookid = "id_locmunca" + ENDIF + + + + Do Case + Case lcActiune = "INSERT" + + lcSql = [INSERT INTO ] + gcS + [.sal_nom_locmunca (ID_SECTIE, ID_TRANSA, DENUMIRE, ORDINE,id_semnatura) VALUES (]+; + LCiD_SECTIE + [,]+ lctranse + [,'] + lcDenumire + [',] + lcOrdine + [,]+lcSemnaturi +[)] + + Case lcActiune = "UPDATE" + *!* DEBUG + *!* SUSPEND + lcSql = [UPDATE ] + gcS + [.sal_nom_locmunca SET id_sectie = ] + lcid_sectie +[,id_transa = ] + lctranse; + + [,denumire = '] + lcDenumire + [',inactiv = ] + lcinactiv +[,ordine= ] + lcOrdine + [,id_semnatura = ]+lcSemnaturi +[ where id_locmunca = ] + lcId + + Case lcActiune = "DELETE" + + *!* lcSql = [update nom_sectii set sters=1,id_util=]+ALLTRIM(STR(gcidutil))+[,id_modif=seq_modif_nomen.nextval where id_banca=]+lcid + lcSql = [begin nomdelproc('] + lcnom + [','] + lcamp + [',] + lcid + [,'] + lclook + [','] + lclookid + ['); end;] + Endcase + + ELSE + Do Case + Case lcActiune = "INSERT" + + lcSql = [INSERT INTO ] + gcS + [.SAL_nom_FORMATII (ID_SECTIE, ID_TRANSA, DENUMIRE, ORDINE,id_semnatura) VALUES (]+; + LCiD_SECTIE + [,]+ lctranse + [,'] + lcDenumire + [',] + lcOrdine + [,]+lcSemnaturi +[)] + + Case lcActiune = "UPDATE" + *!* DEBUG + *!* SUSPEND + lcSql = [UPDATE ] + gcS + [.SAL_nom_FORMATII SET id_sectie = ] + lcid_sectie +[,id_transa = ] + lctranse; + + [,denumire = '] + lcDenumire + [',inactiv = ] + lcinactiv +[,ordine= ] + lcOrdine + [,id_semnatura = ]+lcSemnaturi +[ where id_formatia = ] + lcId + + Case lcActiune = "DELETE" + + *!* lcSql = [update nom_sectii set sters=1,id_util=]+ALLTRIM(STR(gcidutil))+[,id_modif=seq_modif_nomen.nextval where id_banca=]+lcid + lcSql = [begin nomdelproc('] + lcnom + [','] + lcamp + [',] + lcid + [,'] + lclook + [','] + lclookid + ['); end;] + Endcase + ENDIF + This.csql = lcSql + + ENDPROC + +ENDDEFINE + +DEFINE CLASS cus_odata_grdhand AS _cusodatabase OF "..\..\comun\clase\_cus_odata_base.vcx" + *< CLASSDATA: Baseclass="custom" Timestamp="" Scale="Pixels" Uniqueid="" /> + + * + Name = "cus_odata_grdhand" + * + + PROCEDURE make_sql + + + Lparameters toRec,tnId + + lcActiune = Alltrim(This.cActiune) + + If Inlist(lcActiune, "UPDATE",'INSERT') And Type('toRec') != "O" + Return .F. + Endif + + If Inlist(lcActiune, "UPDATE",'DELETE') And Type('tnId') != "N" + Return .F. + Endif + + If Inlist(lcActiune, "UPDATE",'DELETE') + lcId = Alltrim(Str(tnId)) + lcnom = gcS + ".SAL_NOM_HANDICAP" + lcamp = "ID_HANDICAP" + lclook = gcS + ".sal_stat" + lclookid = "sal_stat.ID_HANDICAP" + Endif + If Inlist(lcActiune, "UPDATE",'INSERT') + + lcDen = NVL(ALLTRIM(torec.denumire),"") + lcCHand = Nvl(ALLTRIM(STR(toRec.c_handicap,5,3)),"0") + Endif + + + Do Case + Case lcActiune = "INSERT" + + lcSql = [INSERT INTO ] + gcS + [.SAL_NOM_HANDICAP (denumire,c_handicap) VALUES (']; + + lcDen + [',] + lcCHand + [)] + + Case lcActiune = "UPDATE" + + lcSql = [UPDATE ] + gcS + [.SAL_NOM_HANDICAP set denumire= '] + lcDen + ; + [',c_handicap=] + lcCHand+; + [ where id_handicap = ] + lcId + + Case lcActiune = "DELETE" + + *!* lcSql = [update nom_sectii set sters=1,id_util=]+ALLTRIM(STR(gcidutil))+[,id_modif=seq_modif_nomen.nextval where id_banca=]+lcid + *lcSql = [begin nomdelproc('] + lcnom + [','] + lcamp + [',] + lcid + [,'] + lclook + [','] + lclookid + ['); end;] + lcSql = [begin nomdelproc('] + lcnom + [','] + lcamp + [',] + lcid + [,'] + lclook + [','] + lclookid + ['); end;] + Endcase + + This.csql = lcSql + + ENDPROC + +ENDDEFINE + +DEFINE CLASS cus_odata_grilaco AS _cusodatabase OF "_cus_odata_base.vcx" + *< CLASSDATA: Baseclass="custom" Timestamp="" Scale="Pixels" Uniqueid="" /> + + * + Name = "cus_odata_grilaco" + * + + PROCEDURE make_sql + Lparameters toRec,tnId + + lcActiune = Alltrim(This.cActiune) + + If Inlist(lcActiune, "UPDATE",'INSERT') And Type('toRec') != "O" + Return .F. + Endif + + If Inlist(lcActiune, "UPDATE",'DELETE') And Type('tnId') != "N" + Return .F. + Endif + + If Inlist(lcActiune, "UPDATE",'DELETE') + lcId = Alltrim(Str(tnId)) + lcnom = gcS + ".sal_nom_zileco" + *!* lcamp = "id_caseasig" + *!* lclook = gcS + ".sal_stat" + *!* lclookid = "id_caseasig" + Endif + + If Inlist(lcActiune, "UPDATE",'INSERT') + lcliminf = Nvl(Alltrim(Str(toRec.liminf)),'0') + lclimsup = Nvl(Alltrim(Str(toRec.limsup)),'0') + lcZile = Nvl(Alltrim(Str(toRec.zile)),'0') + *!* modificare v 2.0.9 + lcDataI = [to_date(']+Dtoc(toRec.datai,1)+[','YYYYMMDD')] + lcDataS = Iif(Empty(Nvl(toRec.DataS,{})),[NULL],[to_date(']+Dtoc(toRec.DataS,1)+[','YYYYMMDD')]) + *!* modificare v 2.0.9 ^ + Endif + + + Do Case + *!* modificare v 2.0.9 + *!* Case lcActiune = "INSERT" + *!* lcSql = [INSERT INTO ] + gcS + [.SAL_nom_zileco (liminf, limsup,zile) VALUES (]+; + *!* LCliminf + [,]+ lclimsup + [,] + lcCoef+ [)] + *!* + *!* Case lcActiune = "UPDATE" + *!* lcSql = [UPDATE ] + gcS + [.SAL_nom_zileco SET liminf = ] + lcliminf +; + *!* [,limsup = ] + lclimsup + [,zile = ] + lcCoef + [ where id_grilaco = ] + lcId + *!* Case lcActiune = "DELETE" + *!* lcSql = [update ] +gcS +[.sal_nom_zileco set sters=1 where id_grilaco=]+lcid + *!* *!* lcSql = [begin nomdelproc('] + lcnom + [','] + lcamp + [',] + lcid + [,'] + lclook + [','] + lclookid + ['); end;] + Case lcActiune = "INSERT" + lcSql = [begin pack_def_salarii.adauga_grila_co(] + lcliminf + [,] + lclimsup + [,] + lcZile + [,] + ; + lcDataI + [,] + lcDataS + [,?gnIdUtil); end;] + Case lcActiune = "UPDATE" + lcSql = [begin pack_def_salarii.modifica_grila_co(] + lcId + [,] + lcliminf + [,] + lclimsup + [,] + ; + lcZile + [,] + lcDataI + [,] + lcDataS + [,?gnIdUtil); end;] + Case lcActiune = "DELETE" + lcSql = [begin pack_def_salarii.sterge_grila_co(] + lcId + [,?gnIdUtil); end;] + *!* modificare v 2.0.9 ^ + Endcase + + This.csql = lcSql + + ENDPROC + +ENDDEFINE + +DEFINE CLASS cus_odata_grpmun AS _cusodatabase OF "..\..\comun\clase\_cus_odata_base.vcx" + *< CLASSDATA: Baseclass="custom" Timestamp="" Scale="Pixels" Uniqueid="" /> + + * + Name = "cus_odata_grpmun" + * + + PROCEDURE make_sql + + + Lparameters toRec,tnId + + lcActiune = Alltrim(This.cActiune) + + If Inlist(lcActiune, "UPDATE",'INSERT') And Type('toRec') != "O" + Return .F. + Endif + + If Inlist(lcActiune, "UPDATE",'DELETE') And Type('tnId') != "N" + Return .F. + Endif + + If Inlist(lcActiune, "UPDATE",'DELETE') + lcId = Alltrim(Str(tnId)) + lcnom = gcS + ".sal_coef_cas" + lcamp = "ID_CAS" + lclook = gcS + ".sal_stat" + lclookid = "sal_stat.ID_CAS" + Endif + If Inlist(lcActiune, "UPDATE",'INSERT') + + lcDenGrupa = NVL(ALLTRIM(torec.dengrupa),"") + lcCCas = Nvl(ALLTRIM(STR(toRec.c_cas,5,3)),"0") + Endif + + + Do Case + Case lcActiune = "INSERT" + + lcSql = [INSERT INTO ] + gcS + [.SAL_coef_cas (dengrupa,c_cas) VALUES (']; + + lcDenGrupa + [',] + lcCCas + [)] + + Case lcActiune = "UPDATE" + + lcSql = [UPDATE ] + gcS + [.SAL_coef_cas set dengrupa= '] + lcDenGrupa + ; + [',c_cas=] + lcCCas+; + [ where id_cas = ] + lcId + + Case lcActiune = "DELETE" + + *!* lcSql = [update nom_sectii set sters=1,id_util=]+ALLTRIM(STR(gcidutil))+[,id_modif=seq_modif_nomen.nextval where id_banca=]+lcid + *lcSql = [begin nomdelproc('] + lcnom + [','] + lcamp + [',] + lcid + [,'] + lclook + [','] + lclookid + ['); end;] + lcSql = [begin nomdelproc('] + lcnom + [','] + lcamp + [',] + lcid + [,'] + lclook + [','] + lclookid + ['); end;] + Endcase + + This.csql = lcSql + + ENDPROC + +ENDDEFINE + +DEFINE CLASS cus_odata_imp AS _cusodatabase OF "..\..\comun\clase\_cus_odata_base.vcx" + *< CLASSDATA: Baseclass="custom" Timestamp="" Scale="Pixels" Uniqueid="" /> + + * + Name = "cus_odata_imp" + * + + PROCEDURE make_sql + Lparameters toRec,tnId + + lcActiune = Alltrim(This.cActiune) + + If Inlist(lcActiune, "UPDATE",'INSERT') And Type('toRec') != "O" + Return .F. + Endif + + If Inlist(lcActiune, "UPDATE",'DELETE') And Type('tnId') != "N" + Return .F. + Endif + + If Inlist(lcActiune, "UPDATE",'DELETE') + lcId = Alltrim(Str(tnId)) + lcnom = gcS + ".sal_impozitar" + *!* lcamp = "id_caseasig" + *!* lclook = gcS + ".sal_stat" + *!* lclookid = "id_caseasig" + Endif + + If Inlist(lcActiune, "UPDATE",'INSERT') + lcinf = NVL(ALLTRIM(STR(torec.inf)),'0') + lcsup = NVL(ALLTRIM(STR(torec.sup)),'0') + lcsumainit = NVL(ALLTRIM(STR(torec.sumainit)),'0') + lccoef = NVL(ALLTRIM(STR(torec.coef,5,3)),'0') + IF plImpAn + lcLuna = '0' + lcAn = NVL(ALLTRIM(STR(gnAN)),'0') + ELSE + lcLuna = NVL(ALLTRIM(STR(gnLuna)),'0') + lcAn = NVL(ALLTRIM(STR(gnAN)),'0') + ENDIF + Endif + + + Do Case + Case lcActiune = "INSERT" + + lcSql = [INSERT INTO ] + gcS + [.SAL_impozitar (inf, sup,sumainit,coef,an,luna) VALUES (]+; + LCinf + [,]+ lcsup +[,]+ lcsumainit+[,] + lcCoef+[,]+LcAn+[,]+lcLuna+ [)] + + Case lcActiune = "UPDATE" + *!* DEBUG + *!* SUSPEND + lcSql = [UPDATE ] + gcS + [.SAL_impozitar SET inf = ] + lcinf +; + [,sup = ] + lcsup + [,sumainit = ] + lcsumainit + [,coef = ] + lcCoef + [,luna = ] + lcLuna +[,an = ] + lcAn +[ where id_impozitar = ] + lcId + + Case lcActiune = "DELETE" + + lcSql = [update ] +gcS +[.SAL_impozitar set sters=1 where id_impozitar=]+lcid + *!* lcSql = [begin nomdelproc('] + lcnom + [','] + lcamp + [',] + lcid + [,'] + lclook + [','] + lclookid + ['); end;] + Endcase + + This.csql = lcSql + + ENDPROC + +ENDDEFINE + +DEFINE CLASS cus_odata_limded AS _cusodatabase OF "_cus_odata_base.vcx" + *< CLASSDATA: Baseclass="custom" Timestamp="" Scale="Pixels" Uniqueid="" /> + + * + Height = 18 + Name = "cus_odata_limded" + Width = 20 + * + + PROCEDURE make_sql + Lparameters toRec,tnId + + + lcActiune = Alltrim(This.cActiune) + + If Inlist(lcActiune, "UPDATE",'INSERT') And Type('toRec') != "O" + Return .F. + Endif + + If Inlist(lcActiune, "UPDATE",'DELETE') And Type('tnId') != "N" + Return .F. + Endif + + If Inlist(lcActiune, "UPDATE",'DELETE') + lcId = Alltrim(Str(tnId)) + lcnom = gcS + ".sal_deduceri" + *lcId_calensal = ALLTRIM(STR(gcIdCalensal)) + *lcId_calensal = ALLTRIM(STR(torec.id_calensal)) + *!* lcamp = "id_caseasig" + *!* lclook = gcS + ".sal_stat" + *!* lclookid = "id_caseasig" + Endif + + If Inlist(lcActiune, "UPDATE",'INSERT') + lcnrpers = Nvl(Alltrim(Str(toRec.nrpers)),'0') + lcsuma = Nvl(Alltrim(Str(toRec.suma)),'0') + *lcId_calensal = ALLTRIM(STR(gcIdCalensal)) + *lcId_calensal = ALLTRIM(STR(torec.id_calensal)) + Endif + + If Used('crsCalendar') + Select crsCalendar + If id_calendar = 0 Then + aMessagebox('Nu se pot introduce deduceri in aceasta luna!',16,"Eroare") + Return .F. + Else + lcId_calensal =Alltrim(Str(id_calendar)) + Endif + *!* modificare v 1.0.15 + *!* Use In crsCalendar + Else + aMessagebox('Nu se pot introduce deduceri in aceasta luna!',16,"Eroare") + Return .F. + *!* modificare v 1.0.15 ^ + Endif + Do Case + Case lcActiune = "INSERT" + lcSql = [INSERT INTO ] + gcS + [.sal_deduceri (nrpers, suma,id_calensal) VALUES (]+; + lcnrpers + [,]+ lcsuma+ [,]+lcId_calensal +[)] + Case lcActiune = "UPDATE" + lcSql = [UPDATE ] + gcS + [.sal_deduceri SET nrpers = ] + lcnrpers +; + [,suma = ] + lcsuma +[,id_calensal = ]+lcId_calensal +[ where id_deducere = ] + lcId + Case lcActiune = "DELETE" + lcSql = [update ] +gcS +[.sal_deduceri set sters=1 where id_deducere=]+lcId + *!* lcSql = [begin nomdelproc('] + lcnom + [','] + lcamp + [',] + lcid + [,'] + lclook + [','] + lclookid + ['); end;] + Endcase + *STRTOFILE(LCSQL,'C:\1.TXT') + This.csql = lcSql + + ENDPROC + +ENDDEFINE + +DEFINE CLASS cus_odata_meserii AS _cusodatabase OF "_cus_odata_base.vcx" + *< CLASSDATA: Baseclass="custom" Timestamp="" Scale="Pixels" Uniqueid="" /> + + * + Name = "cus_odata_meserii" + * + + PROCEDURE make_sql + + + Lparameters toRec,tnId + + lcActiune = Alltrim(This.cActiune) + + If Inlist(lcActiune, "UPDATE",'INSERT') And Type('toRec') != "O" + Return .F. + Endif + + If Inlist(lcActiune, "UPDATE",'DELETE') And Type('tnId') != "N" + Return .F. + Endif + + If Inlist(lcActiune, "UPDATE",'DELETE') + lcId = Alltrim(Str(tnId)) + lcnom = gcS + ".sal_nom_mes" + lcamp = "id_meseria" + lclook = gcS + ".sal_stat" + lclookid = "sal_stat.id_meserie" + Endif + If Inlist(lcActiune, "UPDATE",'INSERT') + + lcMeseria = NVL(ALLTRIM(torec.meserie),"") + lcCOdMes = NVL(ALLTRIM(torec.cod_meserie),"") + lcZILESUPL_CO = Nvl(ALLTRIM(STR(toRec.ZILESUPL_CO)),"0") + lcinactiv = Nvl(ALLTRIM(STR(toRec.inactiv)),"0") + lcVersiune = ALLTRIM(STR(toRec.versiune_cor)) + *!* modificare v 2.0.3 + lcTipModificare = NVL(ALLTRIM(Str(toRec.tip_modificare)),"NULL") + lcDataConsemnare = NVL(ALLTRIM(DTOC(toRec.dataconsemnare,1)),"") + *!* modificare v 2.0.3 ^ + Endif + + + Do Case + Case lcActiune = "INSERT" + *!* modificare v 2.0.0 + *!* lcSql = [INSERT INTO ] + gcS + [.SAL_NOM_MES (meserie,cod_meserie,ZILESUPL_CO,inactiv) VALUES (']; + *!* + lcMeseria+ [','] + lcCOdMes+ [',] + lcZILESUPL_CO+ [,] + lcinactiv + [)] + lcSql = [begin pack_def_salarii.adauga_meserie('] + lcMeseria + [','] + lcCodMes + [',] + lcVersiune + [,] + ; + lcZileSupl_CO + [,] + lcInactiv + [,?gnIdUtil); end;] + Case lcActiune = "UPDATE" + *!* lcSql = [UPDATE ] + gcS + [.SAL_NOM_MES SET meserie= '] + lcMeseria+ ; + *!* [',cod_meserie='] + lcCOdMes+[',ZILESUPL_CO= ] + lcZILESUPL_CO+ [,inactiv = ]+ lcInactiv+; + *!* [ where id_meseria = ] + lcId + lcSql = [begin pack_def_salarii.modifica_meserie(] + lcId + [,'] + lcMeseria + [','] + lcCodMes + [',] + lcVersiune + [,] + ; + lcZileSupl_CO + [,] + lcInactiv + [,] + lcTipModificare + [,to_date('] + lcDataConsemnare + [','YYYYMMDD'),?gnIdUtil); end;] + *!* modificare v 2.0.0 ^ + Case lcActiune = "DELETE" + *!* lcSql = [update nom_sectii set sters=1,id_util=]+ALLTRIM(STR(gcidutil))+[,id_modif=seq_modif_nomen.nextval where id_banca=]+lcid + *lcSql = [begin nomdelproc('] + lcnom + [','] + lcamp + [',] + lcid + [,'] + lclook + [','] + lclookid + ['); end;] + lcSql = [begin nomdelproc('] + lcnom + [','] + lcamp + [',] + lcid + [,'] + lclook + [','] + lclookid + ['); end;] + Endcase + + This.csql = lcSql + + ENDPROC + +ENDDEFINE + +DEFINE CLASS cus_odata_modlic AS _cusodatabase OF "_cus_odata_base.vcx" + *< CLASSDATA: Baseclass="custom" Timestamp="" Scale="Pixels" Uniqueid="" /> + + * + Name = "cus_odata_modlic" + * + + PROCEDURE make_sql + + + Lparameters toRec,tnId + + lcActiune = Alltrim(This.cActiune) + + If Inlist(lcActiune, "UPDATE",'INSERT') And Type('toRec') != "O" + Return .F. + Endif + + If Inlist(lcActiune, "UPDATE",'DELETE') And Type('tnId') != "N" + Return .F. + Endif + + If Inlist(lcActiune, "UPDATE",'DELETE') + lcId = Alltrim(Str(tnId)) + lcnom = gcS + ".sal_nom_modlic" + lcamp = "id_modlic" + lclook = gcS + ".sal_stat" + lclookid = "sal_stat.ID_modlic" + Endif + If Inlist(lcActiune, "UPDATE",'INSERT') + + lcTipMod = NVL(ALLTRIM(torec.modlic),"") + + Endif + + + Do Case + Case lcActiune = "INSERT" + + lcSql = [INSERT INTO ] + gcS + [.SAL_NOM_modlic (modlic) VALUES (']; + + lcTipMod + [')] + + Case lcActiune = "UPDATE" + + lcSql = [UPDATE ] + gcS + [.SAL_NOM_modlic SET modlic = '] + lcTipMod + ; + [' where id_modlic = ] + lcId + + Case lcActiune = "DELETE" + + *!* lcSql = [update nom_sectii set sters=1,id_util=]+ALLTRIM(STR(gcidutil))+[,id_modif=seq_modif_nomen.nextval where id_banca=]+lcid + *lcSql = [begin nomdelproc('] + lcnom + [','] + lcamp + [',] + lcid + [,'] + lclook + [','] + lclookid + ['); end;] + lcSql = [begin nomdelproc('] + lcnom + [','] + lcamp + [',] + lcid + [,'] + lclook + [','] + lclookid + ['); end;] + Endcase + + This.csql = lcSql + + ENDPROC + +ENDDEFINE + +DEFINE CLASS cus_odata_nom_limbi AS _cusodatabase OF "_cus_odata_base.vcx" + *< CLASSDATA: Baseclass="custom" Timestamp="" Scale="Pixels" Uniqueid="" /> + + * + Name = "cus_odata_nom_limbi" + * + + PROCEDURE make_sql + + + Lparameters toRec,tnId + + lcActiune = Alltrim(This.cActiune) + + If Inlist(lcActiune, "UPDATE",'INSERT') And Type('toRec') != "O" + Return .F. + Endif + + If Inlist(lcActiune, "UPDATE",'DELETE') And Type('tnId') != "N" + Return .F. + Endif + + If Inlist(lcActiune, "UPDATE",'DELETE') + lcId = Alltrim(Str(tnId)) + lcnom = gcS + ".sal_nom_limbi" + lcamp = "id_limba" + Endif + If Inlist(lcActiune, "UPDATE",'INSERT') + lcDenumire = NVL(ALLTRIM(torec.denumire),"") + Endif + + + Do Case + Case lcActiune = "INSERT" + + lcSql = [INSERT INTO ] + gcS + [.sal_nom_limbi (denumire) VALUES (']; + + lcDenumire + [')] + + Case lcActiune = "UPDATE" + + lcSql = [UPDATE ] + gcS + [.sal_nom_limbi SET denumire= '] + lcDenumire + ; + [' where id_limba = ] + lcId + + Case lcActiune = "DELETE" + + *!* lcSql = [update nom_sectii set sters=1,id_util=]+ALLTRIM(STR(gcidutil))+[,id_modif=seq_modif_nomen.nextval where id_banca=]+lcid + *lcSql = [begin nomdelproc('] + lcnom + [','] + lcamp + [',] + lcid + [,'] + lclook + [','] + lclookid + ['); end;] + lcSql = [UPDATE ] + gcS + [.sal_nom_limbi SET sters = 1 where id_limba = ] + lcId + Endcase + + This.csql = lcSql + + ENDPROC + +ENDDEFINE + +DEFINE CLASS cus_odata_nomcm AS _cusodatabase OF "..\..\comun\clase\_cus_odata_base.vcx" + *< CLASSDATA: Baseclass="custom" Timestamp="" Scale="Pixels" Uniqueid="" /> + + * + Name = "cus_odata_nomcm" + * + + PROCEDURE make_sql + Lparameters toRec,tnId + + lcActiune = Alltrim(This.cActiune) + + If Inlist(lcActiune, "UPDATE",'INSERT') And Type('toRec') != "O" + Return .F. + Endif + + If Inlist(lcActiune, "UPDATE",'DELETE') And Type('tnId') != "N" + Return .F. + Endif + + If Inlist(lcActiune, "UPDATE",'DELETE') + lcId = Alltrim(Str(tnId)) + lcnom = gcS + ".sal_nom_cm" + lcamp = "id_cm" + lclook = gcS + ".SAL_CONCMED" + lclookid = "id_cm" + Endif + + If Inlist(lcActiune, "UPDATE",'INSERT') + lcOrdine = NVL(ALLTRIM(STR(torec.ordine)),'0') + lconc_med = NVL(STRTRAN(ALLTRIM(UPPER(torec.conc_med)),['],['']),"") + lcCoef = NVL(ALLTRIM(STR(torec.coef,5,3)),'0') + lcPlbass = NVL(ALLTRIM(STR(torec.plbass)),'0') + lcPlang = NVL(ALLTRIM(STR(torec.plang)),'0') + lcCuvechime = NVL(ALLTRIM(STR(torec.cuvechime)),'0') + lcingrijire = NVL(ALLTRIM(STR(torec.INGRIJIRE)),'0') + lcCAS = NVL(ALLTRIM(STR(torec.cas)),'0') + lcimpozit = NVL(ALLTRIM(STR(torec.impozit)),'0') + lcsanatate = NVL(ALLTRIM(STR(torec.sanatate)),'0') + lcSomaj = NVL(ALLTRIM(STR(torec.somaj)),'0') + + Endif + + + Do Case + Case lcActiune = "INSERT" + + lcSql = [INSERT INTO ] + gcS + [.SAL_nom_cm (ordine, conc_med,coef,plbass,plang,cuvechime,ingrijire,cas,impozit,sanatate,somaj) VALUES (]+; + lcOrdine + [,']+ lconc_med + [',] + lcCoef +[,]+lcPlbass + [,]+lcPlang + [,]+lcCuvechime+[,]+ lcingrijire+[,]+lcCas+[,]+lcimpozit+[,]+lcsanatate+[,]+lcSomaj+ [)] + + Case lcActiune = "UPDATE" + *!* DEBUG + *!* SUSPEND + lcSql = [UPDATE ] + gcS + [.SAL_nom_cm SET ordine = ] + lcOrdine +; + [,conc_med = '] + lconc_med + [',coef = ] + lcCoef + [, plbass = ] +lcPlbass +[,plang = ]+lcPlang+[,cuvechime = ]+lcCuvechime + [,ingrijire=]+lcingrijire + [,cas = ]+lccas+[,impozit = ]+ lcimpozit+[,sanatate = ]+lcsanatate +[,somaj = ]+lcSomaj+; + [ where id_cm = ] + lcId + + Case lcActiune = "DELETE" + + *!* lcSql = [update ] +gcS +[.sal_nom_cm set sters=1 where id_nomore=]+lcid + lcSql = [begin nomdelproc('] + lcnom + [','] + lcamp + [',] + lcid + [,'] + lclook + [','] + lclookid + ['); end;] + Endcase + + This.csql = lcSql + + ENDPROC + +ENDDEFINE + +DEFINE CLASS cus_odata_nomore AS _cusodatabase OF "_cus_odata_base.vcx" + *< CLASSDATA: Baseclass="custom" Timestamp="" Scale="Pixels" Uniqueid="" /> + + * + Name = "cus_odata_nomore" + * + + PROCEDURE make_sql + Lparameters toRec,tnId + + lcActiune = Alltrim(This.cActiune) + + If Inlist(lcActiune, "UPDATE",'INSERT') And Type('toRec') != "O" + Return .F. + Endif + + If Inlist(lcActiune, "UPDATE",'DELETE') And Type('tnId') != "N" + Return .F. + Endif + + If Inlist(lcActiune, "UPDATE",'DELETE') + lcId = Alltrim(Str(tnId)) + lcnom = gcS + ".sal_nomore" + *!* lcamp = "id_caseasig" + *!* lclook = gcS + ".sal_stat" + *!* lclookid = "id_caseasig" + Endif + + If Inlist(lcActiune, "UPDATE",'INSERT') + lcOrdine = NVL(ALLTRIM(STR(torec.ordine)),'0') + lcOre = NVL(STRTRAN(ALLTRIM(UPPER(torec.ore)),['],['']),"") + lcComentariu = NVL(STRTRAN(ALLTRIM(UPPER(torec.comentariu)),['],['']),"") + lcinactiv = NVL(ALLTRIM(STR(torec.inactiv)),'0') + lcTabel = NVL(STRTRAN(ALLTRIM(UPPER(torec.tabel)),['],['']),"") + lcColoana1 = NVL(STRTRAN(ALLTRIM(UPPER(torec.coloana1)),['],['']),"") + lcColoana2 = NVL(STRTRAN(ALLTRIM(UPPER(torec.coloana2)),['],['']),"") + lcTotalzile = NVL(ALLTRIM(STR(torec.totalzile)),'0') + + Endif + + + Do Case + Case lcActiune = "INSERT" + + lcSql = [INSERT INTO SAL_nomore (ordine, ore,comentariu, tabel, coloana1, coloana2, totalzile) VALUES (]+; + lcOrdine + [,']+ lcOre + [','] + lcComentariu + [','] + lcTabel + [','] + lcColoana1 + [','] + lcColoana2 + [',] + lcTotalzile + [)] + + Case lcActiune = "UPDATE" + + lcSql = [UPDATE ] + gcS + [.SAL_nomore SET ordine = ] + lcOrdine +; + [,ore = '] + lcOre + [',comentariu = '] + lcComentariu + [', inactiv = ] + lcInactiv + ; + [,tabel = '] + lcTabel + [',coloana1 = '] + lcColoana1 + [', coloana2 = '] + lcColoana2 + [', totalzile = ] + lcTotalzile + ; + [ where id_nomore = ] + lcId + + Case lcActiune = "DELETE" + + lcSql = [update ] +gcS +[.sal_nomore set sters=1 where id_nomore=]+lcid + *!* lcSql = [begin nomdelproc('] + lcnom + [','] + lcamp + [',] + lcid + [,'] + lclook + [','] + lclookid + ['); end;] + Endcase + + This.csql = lcSql + + ENDPROC + +ENDDEFINE + +DEFINE CLASS cus_odata_nompop AS _cusodatabase OF "..\..\comun\clase\_cus_odata_base.vcx" + *< CLASSDATA: Baseclass="custom" Timestamp="" Scale="Pixels" Uniqueid="" /> + + * + Name = "cus_odata_nompop" + * + + PROCEDURE make_sql + Lparameters toRec,tnId + + lcActiune = Alltrim(This.cActiune) + + If Inlist(lcActiune, "UPDATE",'INSERT') And Type('toRec') != "O" + Return .F. + Endif + + If Inlist(lcActiune, "UPDATE",'DELETE') And Type('tnId') != "N" + Return .F. + Endif + + If Inlist(lcActiune, "UPDATE",'DELETE') + lcId = Alltrim(Str(tnId)) + lcnom = gcS + ".sal_nom_popriri" + lcamp = "ID_popriri" + lclook = gcS + ".sal_popriri" + lclookid = "id_poprire" + + + + + + Endif + + If Inlist(lcActiune, "UPDATE",'INSERT') + lcid_popriri = NVL(ALLTRIM(STR(torec.id_popriri)),'0') + lcDenumire = NVL(STRTRAN(ALLTRIM(UPPER(torec.denumire)),['],['']),"") + lcPermanent = NVL(ALLTRIM(STR(torec.permanent)),'0') + lcSumafixa = NVL(ALLTRIM(STR(torec.sumafixa)),'0') + lcIdCalcDin = NVL(ALLTRIM(STR(torec.id_calcdin)),'0') + lcInactiv = NVL(ALLTRIM(STR(torec.inactiv)),'0') + Endif + + + Do Case + Case lcActiune = "INSERT" + + lcSql = [INSERT INTO ] + gcS + [.SAL_NOM_POPRIRI (DENUMIRE, PERMANENT, SUMAFIXA, ID_CALCDIN) VALUES (']+; + lcDenumire + [',]+ lcPermanent + [,]+lcSumafixa + [,] + lcIdCalcDin+[)] + + Case lcActiune = "UPDATE" + *!* DEBUG + *!* SUSPEND + lcSql = [UPDATE ] + gcS + [.SAL_NOM_popriri SET denumire = '] + lcDenumire+[']; + + [,permanent = ]+ lcPermanent + [,sumafixa = ]+ lcSumafixa + [,id_calcdin = ] + lcIdCalcDin +[,inactiv = ] + lcinactiv + [ where id_popriri = ] + lcId + + Case lcActiune = "DELETE" + + *!* lcSql = [update nom_sectii set sters=1,id_util=]+ALLTRIM(STR(gcidutil))+[,id_modif=seq_modif_nomen.nextval where id_banca=]+lcid + lcSql = [begin nomdelproc('] + lcnom + [','] + lcamp + [',] + lcid + [,'] + lclook + [','] + lclookid + ['); end;] + Endcase + + This.csql = lcSql + + ENDPROC + +ENDDEFINE + +DEFINE CLASS cus_odata_nomtichete AS _cusodatabase OF "..\..\..\roasalspec\comun\clase\_cus_odata_base.vcx" + *< CLASSDATA: Baseclass="custom" Timestamp="" Scale="Pixels" Uniqueid="" /> + + * + Name = "cus_odata_nomtichete" + * + + PROCEDURE make_sql + lparameters toRec,tnId + + lcActiune = Alltrim(This.cActiune) + + If Inlist(lcActiune, "UPDATE",'INSERT') And Type('toRec') != "O" + Return .F. + Endif + + If Inlist(lcActiune, "UPDATE",'DELETE') And Type('tnId') != "N" + Return .F. + Endif + + If Inlist(lcActiune, "UPDATE",'DELETE') + lcId = Alltrim(Str(tnId)) + lcnom = gcS + ".sal_nom_tichete" + lcamp = "id" + lclook = gcS + ".sal_stat" + lclookid = "sal_stat.id_tichet" + Endif + If Inlist(lcActiune, "UPDATE",'INSERT') + + lcDenumire = NVL(ALLTRIM(torec.denumire),"") + lcvaloare = Nvl(ALLTRIM(STR(torec.valoare,6,2)),"0") + lcinactiv = Nvl(ALLTRIM(STR(toRec.inactiv)),"0") + Endif + + + Do Case + Case lcActiune = "INSERT" + + lcSql = [INSERT INTO sal_nom_tichete(denumire,valoare,inactiv) VALUES (']+lcDenumire +[',]+lcvaloare +[,]+lcinactiv +[)] + + Case lcActiune = "UPDATE" + + lcSql = [UPDATE sal_nom_tichete SET denumire= ']+lcDenumire +[',valoare=]+lcvaloare +[,inactiv = ]+lcinactiv +[ where id = ] + lcId + + Case lcActiune = "DELETE" + + *!* lcSql = [update nom_sectii set sters=1,id_util=]+ALLTRIM(STR(gcidutil))+[,id_modif=seq_modif_nomen.nextval where id_banca=]+lcid + *lcSql = [begin nomdelproc('] + lcnom + [','] + lcamp + [',] + lcid + [,'] + lclook + [','] + lclookid + ['); end;] + lcSql = [begin nomdelproc('] + lcnom + [','] + lcamp + [',] + lcid + [,'] + lclook + [','] + lclookid + ['); end;] + Endcase + + This.csql = lcSql + + ENDPROC + +ENDDEFINE + +DEFINE CLASS cus_odata_nomture AS _cusodatabase OF "_cus_odata_base.vcx" + *< CLASSDATA: Baseclass="custom" Timestamp="" Scale="Pixels" Uniqueid="" /> + + * + Name = "cus_odata_nomture" + * + + PROCEDURE make_sql + lparameters toRec,tnId + + lcActiune = Alltrim(This.cActiune) + + If Inlist(lcActiune, "UPDATE",'INSERT') And Type('toRec') != "O" + Return .F. + Endif + + If Inlist(lcActiune, "UPDATE",'DELETE') And Type('tnId') != "N" + Return .F. + Endif + + If Inlist(lcActiune, "UPDATE",'DELETE') + lcId = Alltrim(Str(tnId)) + lcnom = gcS + ".sal_nom_ture" + + Endif + If Inlist(lcActiune, "UPDATE",'INSERT') + + lcDenumire = NVL(ALLTRIM(torec.denumire),"") + lcTura = NVL(ALLTRIM(torec.tura),"") + lcOrastart = NVL(ALLTRIM(torec.orastart),"") + Endif + + + Do Case + Case lcActiune = "INSERT" + + lcSql = [begin PACK_DEF_SALARII.adauga_tura(']+lcTura +[',']+lcDenumire+[',']+lcOrastart +['); end;] + + Case lcActiune = "UPDATE" + lcSql = [UPDATE sal_nom_ture SET orastart = ']+lcOrastart +[' where id_tura = ] + lcId + *!* lcSql = [UPDATE sal_nom_tichete SET denumire= ']+lcDenumire +[',valoare=]+lcvaloare +[,inactiv = ]+lcinactiv +[ where id = ] + lcId + + Case lcActiune = "DELETE" + lcSql = [UPDATE sal_nom_ture SET sters= 1 where id_tura = ] + lcId + Endcase + + This.csql = lcSql + + ENDPROC + +ENDDEFINE + +DEFINE CLASS cus_odata_resp AS _cusodatabase OF "_cus_odata_base.vcx" + *< CLASSDATA: Baseclass="custom" Timestamp="" Scale="Pixels" Uniqueid="" /> + + * + Name = "cus_odata_resp" + * + + PROCEDURE make_sql + Lparameters toRec,tnId + + lcActiune = Alltrim(This.cActiune) + + If Inlist(lcActiune, "UPDATE",'INSERT') And Type('toRec') != "O" + Return .F. + Endif + + If Inlist(lcActiune, "UPDATE",'DELETE') And Type('tnId') != "N" + Return .F. + Endif + + If Inlist(lcActiune, "UPDATE",'DELETE') + lcId = Alltrim(Str(tnId)) + *!* lcnom = gcS + ".dev_nom_resp" + lcamp = "id_sresp" + *!* lclook = gcS + ".dev_oper_mecanici" + *!* lclookid = "dev_oper_mecanici.id_mecanic" + Endif + If Inlist(lcActiune, "UPDATE",'INSERT') + + lcNume = Nvl(Alltrim(toRec.nume),"") + lcpreNume = Nvl(Alltrim(toRec.prenume),"") + lcFunctia = Nvl(Alltrim(toRec.functia),"") + lcales_decl = Nvl(Alltrim(Str(toRec.ales_decl)),"") + lcales_doc = Nvl(Alltrim(Str(toRec.ales_doc)),"") + lcinactiv = Nvl(Alltrim(Str(toRec.inactiv)),"") + Endif + + + Do Case + Case lcActiune = "INSERT" + lcSql = [begin pack_def_salarii.adauga_responsabil_sal(']+lcNume+[',']+lcpreNume+[',']+lcFunctia+[',] +; + lcales_decl + [,] + lcales_doc + [,?gnIdUtil); end;] + *!* lcSql = [INSERT INTO ] + gcS + [.sal_responsabil (nume,prenume,functia,ales,inactiv) VALUES (']; + *!* + lcNume+ [','] + lcPrenume+ [','] + lcfunctia+ [',] + lcales + [,]+lcinactiv+[)] + Case lcActiune = "UPDATE" + lcSql = [begin pack_def_salarii.modifica_responsabil_sal(]+lcId+[,']+lcNume+[',']+lcpreNume+[',']+lcFunctia+[',] +; + lcales_decl + [,] + lcales_doc + [,] + lcinactiv + [,?gnIdUtil); end;] + *!* lcSql = [UPDATE ] + gcS + [.sal_responsabil SET nume = '] + lcNume+ ; + *!* [',prenume='] + lcPrenume+[',functia = '] + lcFunctia+ [',ales = ]+ lcAles +[,inactiv = ]+ lcInactiv+; + *!* [ where id_sresp = ] + lcId + Case lcActiune = "DELETE" + lcSql = [begin pack_def_salarii.sterge_responsabil_sal(]+lcId+[,?gnIdUtil); end;] + *!* *!* lcSql = [update nom_sectii set sters=1,id_util=]+ALLTRIM(STR(gcidutil))+[,id_modif=seq_modif_nomen.nextval where id_banca=]+lcid + *!* *lcSql = [begin nomdelproc('] + lcnom + [','] + lcamp + [',] + lcid + [,'] + lclook + [','] + lclookid + ['); end;] + *!* lcSql = [UPDATE ] + gcS + [.sal_responsabil SET STERS = 1 WHERE id_sresp = ] + lcId + Endcase + + This.csql = lcSql + + ENDPROC + +ENDDEFINE + +DEFINE CLASS cus_odata_sarbatori AS _cusodatabase OF "..\..\comun\clase\_cus_odata_base.vcx" + *< CLASSDATA: Baseclass="custom" Timestamp="" Scale="Pixels" Uniqueid="" /> + + * + Name = "cus_odata_sarbatori" + * + + PROCEDURE make_sql + Lparameters toRec,tnId + + lcActiune = Alltrim(This.cActiune) + + If Inlist(lcActiune, "UPDATE",'INSERT') And Type('toRec') != "O" + Return .F. + Endif + + If Inlist(lcActiune, "UPDATE",'DELETE') And Type('tnId') != "N" + Return .F. + Endif + + If Inlist(lcActiune, "UPDATE",'DELETE') + lcId = Alltrim(Str(tnId)) + *!* lcnom = gcS + ".sal_nom_mes" + *!* lcamp = "id_meseria" + *!* lclook = gcS + ".sal_stat" + *!* lclookid = "sal_stat.id_meserie" + Endif + If Inlist(lcActiune, "UPDATE",'INSERT') + lcData = NVL(DTOS(torec.data),"") + lcSarbatoare = NVL(ALLTRIM(torec.sarbatoare),"") + + Endif + + + Do Case + Case lcActiune = "INSERT" + + lcSql = [INSERT INTO ] + gcS + [.SAL_NOM_SARBATORI (data,sarbatoare) VALUES (TO_DATE(']; + + lcData+ [','YYYYMMDD'),'] + lcSarbatoare+ [')] + + Case lcActiune = "UPDATE" + + lcSql = [UPDATE ] + gcS + [.SAL_NOM_SARBATORI SET data= TO_DATE(']; + + lcData+ [','YYYYMMDD'),sarbatoare='] + lcSarbatoare + [' where id_sarbat = ] + lcId + + Case lcActiune = "DELETE" + + lcSql = [update ] + gcS + [.sal_nom_sarbatori set sters=1 where id_sarbat =]+lcid + *lcSql = [begin nomdelproc('] + lcnom + [','] + lcamp + [',] + lcid + [,'] + lclook + [','] + lclookid + ['); end;] + Endcase + + This.csql = lcSql + + ENDPROC + +ENDDEFINE + +DEFINE CLASS cus_odata_tabvechime AS _cusodatabase OF "..\..\comun\clase\_cus_odata_base.vcx" + *< CLASSDATA: Baseclass="custom" Timestamp="" Scale="Pixels" Uniqueid="" /> + + * + Name = "cus_odata_tabvechime" + * + + PROCEDURE make_sql + Lparameters toRec,tnId + + lcActiune = Alltrim(This.cActiune) + + If Inlist(lcActiune, "UPDATE",'INSERT') And Type('toRec') != "O" + Return .F. + Endif + + If Inlist(lcActiune, "UPDATE",'DELETE') And Type('tnId') != "N" + Return .F. + Endif + + If Inlist(lcActiune, "UPDATE",'DELETE') + lcId = Alltrim(Str(tnId)) + lcnom = gcS + ".sal_tab_vechimi" + *!* lcamp = "id_caseasig" + *!* lclook = gcS + ".sal_stat" + *!* lclookid = "id_caseasig" + Endif + + If Inlist(lcActiune, "UPDATE",'INSERT') + lcliminf = NVL(ALLTRIM(STR(torec.lim_inf)),'0') + lclimsup = NVL(ALLTRIM(STR(torec.lim_sup)),'0') + lccoef = NVL(ALLTRIM(STR(torec.coef_vechi,5,3)),'0') + Endif + + + Do Case + Case lcActiune = "INSERT" + + lcSql = [INSERT INTO ] + gcS + [.SAL_tab_vechimi (lim_inf, lim_sup,coef_vechi) VALUES (]+; + LCliminf + [,]+ lclimsup + [,] + lcCoef+ [)] + + Case lcActiune = "UPDATE" + *!* DEBUG + *!* SUSPEND + lcSql = [UPDATE ] + gcS + [.SAL_tab_vechimi SET lim_inf = ] + lcliminf +; + [,lim_sup = ] + lclimsup + [,coef_vechi = ] + lcCoef + [ where id_tabvechime = ] + lcId + + Case lcActiune = "DELETE" + + lcSql = [update ] +gcS +[.sal_tab_vechimi set sters=1 where id_tabvechime=]+lcid + *!* lcSql = [begin nomdelproc('] + lcnom + [','] + lcamp + [',] + lcid + [,'] + lclook + [','] + lclookid + ['); end;] + Endcase + + This.csql = lcSql + + ENDPROC + +ENDDEFINE + +DEFINE CLASS cus_odata_tipctr AS _cusodatabase OF "..\..\comun\clase\_cus_odata_base.vcx" + *< CLASSDATA: Baseclass="custom" Timestamp="" Scale="Pixels" Uniqueid="" /> + + * + Name = "cus_odata_tipctr" + * + + PROCEDURE make_sql + + + Lparameters toRec,tnId + + lcActiune = Alltrim(This.cActiune) + + If Inlist(lcActiune, "UPDATE",'INSERT') And Type('toRec') != "O" + Return .F. + Endif + + If Inlist(lcActiune, "UPDATE",'DELETE') And Type('tnId') != "N" + Return .F. + Endif + + If Inlist(lcActiune, "UPDATE",'DELETE') + lcId = Alltrim(Str(tnId)) + lcnom = gcS + ".sal_nom_tipctr" + lcamp = "id_tipctr" + lclook = gcS + ".sal_stat" + lclookid = "sal_stat.ID_TIPCTR" + Endif + If Inlist(lcActiune, "UPDATE",'INSERT') + + lcTipctr = NVL(ALLTRIM(torec.tip_contract),"") + lcIdOra = NVL(ALLTRIM(STR(torec.id_ore)),"0") + lcinactiv = Nvl(ALLTRIM(STR(toRec.inactiv)),"0") + Endif + + + Do Case + Case lcActiune = "INSERT" + + lcSql = [INSERT INTO ] + gcS + [.SAL_NOM_tipctr (tip_contract,id_ore) VALUES (']; + + lcTipctr + [',] + lcIdOra + [)] + + Case lcActiune = "UPDATE" + + lcSql = [UPDATE ] + gcS + [.SAL_NOM_tipctr SET tip_contract = '] + lcTipctr + ; + [',id_ore=] + lcIdOra+ [,inactiv = ]+ lcInactiv+; + [ where id_tipctr = ] + lcId + + Case lcActiune = "DELETE" + + *!* lcSql = [update nom_sectii set sters=1,id_util=]+ALLTRIM(STR(gcidutil))+[,id_modif=seq_modif_nomen.nextval where id_banca=]+lcid + *lcSql = [begin nomdelproc('] + lcnom + [','] + lcamp + [',] + lcid + [,'] + lclook + [','] + lclookid + ['); end;] + lcSql = [begin nomdelproc('] + lcnom + [','] + lcamp + [',] + lcid + [,'] + lclook + [','] + lclookid + ['); end;] + Endcase + + This.csql = lcSql + + ENDPROC + +ENDDEFINE + +DEFINE CLASS cus_odata_tipintret AS _cusodatabase OF "..\..\comun\clase\_cus_odata_base.vcx" + *< CLASSDATA: Baseclass="custom" Timestamp="" Scale="Pixels" Uniqueid="" /> + + * + Name = "cus_odata_tipintret" + * + + PROCEDURE make_sql + + + Lparameters toRec,tnId + + lcActiune = Alltrim(This.cActiune) + + If Inlist(lcActiune, "UPDATE",'INSERT') And Type('toRec') != "O" + Return .F. + Endif + + If Inlist(lcActiune, "UPDATE",'DELETE') And Type('tnId') != "N" + Return .F. + Endif + + If Inlist(lcActiune, "UPDATE",'DELETE') + lcId = Alltrim(Str(tnId)) + lcnom = gcS + ".SAL_NOM_DEDSUPL" + lcamp = "ID_dedsupl" + lclook = gcS + ".sal_persintret" + lclookid = "sal_persintret.ID_deducere" + Endif + If Inlist(lcActiune, "UPDATE",'INSERT') + + lcCalitate = NVL(ALLTRIM(torec.calitate),"") + lcCDed = Nvl(ALLTRIM(STR(toRec.c_ded,5,3)),"0") + lcCoasig = Nvl(ALLTRIM(STR(toRec.coasigurat,5,3)),"0") + Endif + + + Do Case + Case lcActiune = "INSERT" + + lcSql = [INSERT INTO ] + gcS + [.SAL_NOM_DEDSUPL (calitate,c_ded,coasigurat) VALUES (']; + + lcCalitate + [',] + lcCDed + [,]+lcCoasig+[)] + + Case lcActiune = "UPDATE" + + lcSql = [UPDATE ] + gcS + [.SAL_NOM_DEDSUPL set calitate= '] + lcCalitate + ; + [',c_ded=] + lcCDed+ [,coasigurat = ] + lcCoasig +; + [ where id_dedsupl = ] + lcId + + Case lcActiune = "DELETE" + + *!* lcSql = [update nom_sectii set sters=1,id_util=]+ALLTRIM(STR(gcidutil))+[,id_modif=seq_modif_nomen.nextval where id_banca=]+lcid + *lcSql = [begin nomdelproc('] + lcnom + [','] + lcamp + [',] + lcid + [,'] + lclook + [','] + lclookid + ['); end;] + lcSql = [begin nomdelproc('] + lcnom + [','] + lcamp + [',] + lcid + [,'] + lclook + [','] + lclookid + ['); end;] + Endcase + + This.csql = lcSql + + ENDPROC + +ENDDEFINE + +DEFINE CLASS cus_odata_transe AS _cusodatabase OF "_cus_odata_base.vcx" + *< CLASSDATA: Baseclass="custom" Timestamp="" Scale="Pixels" Uniqueid="" /> + + * + Name = "cus_odata_transe" + * + + PROCEDURE make_sql + + + Lparameters toRec,tnId + + lcActiune = Alltrim(This.cActiune) + + If Inlist(lcActiune, "UPDATE",'INSERT') And Type('toRec') != "O" + Return .F. + Endif + + If Inlist(lcActiune, "UPDATE",'DELETE') And Type('tnId') != "N" + Return .F. + Endif + + If Inlist(lcActiune, "UPDATE",'DELETE') + lcId = Alltrim(Str(tnId)) + lcnom = gcS + ".sal_nom_transe" + lcamp = "id_transa" + lclook = gcS + ".sal_nom_formatii" + lclookid = "sal_nom_formatii.id_transa" + Endif + If Inlist(lcActiune, "UPDATE",'INSERT') + lcTransa = NVL(ALLTRIM(torec.transa),"") + lcinactiv = Nvl(ALLTRIM(STR(toRec.inactiv)),"0") + Endif + + + Do Case + Case lcActiune = "INSERT" + + lcSql = [INSERT INTO ] + gcS + [.SAL_NOM_transe (transa) VALUES (']; + + lcTransa+ [')] + + Case lcActiune = "UPDATE" + + lcSql = [UPDATE ] + gcS + [.SAL_NOM_transe SET transa= '] + lcTransa+ ; + [',inactiv = ]+ lcInactiv+; + [ where id_transa = ] + lcId + + Case lcActiune = "DELETE" + + *!* lcSql = [update nom_sectii set sters=1,id_util=]+ALLTRIM(STR(gcidutil))+[,id_modif=seq_modif_nomen.nextval where id_banca=]+lcid + *lcSql = [begin nomdelproc('] + lcnom + [','] + lcamp + [',] + lcid + [,'] + lclook + [','] + lclookid + ['); end;] + lcSql = [begin nomdelproc('] + lcnom + [','] + lcamp + [',] + lcid + [,'] + lclook + [','] + lclookid + ['); end;] + + Endcase + + This.csql = lcSql + + ENDPROC + +ENDDEFINE + +DEFINE CLASS cus_odata_zile AS _cusodatabase OF "..\..\comun\clase\_cus_odata_base.vcx" + *< CLASSDATA: Baseclass="custom" Timestamp="" Scale="Pixels" Uniqueid="" /> + + * + Name = "cus_odata_zile" + * + +ENDDEFINE + +DEFINE CLASS frm_caseasig AS frm_termin OF "_frm_child.vcx" + *< CLASSDATA: Baseclass="form" Timestamp="" Scale="Pixels" Uniqueid="" /> + + *-- OBJECTDATA items order determines ZOrder / El orden de los items OBJECTDATA determina el ZOrder + *< OBJECTDATA: ObjPath="_grdrow1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="_grdrow1.Column1.Header1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="_grdrow1.Column1.Text1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="_grdrow1.Column2.Header1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="_grdrow1.Column2.Text1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="But_nou1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="But_modifica1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="But_sterge1" UniqueID="" Timestamp="" /> + + * + DoCreate = .T. + Name = "frm_caseasig" + _shape1.Anchor = 11 + _shape1.Name = "_shape1" + _shape2.Anchor = 9 + _shape2.Height = 29 + _shape2.Left = 255 + _shape2.Name = "_shape2" + _shape2.Top = 0 + _shape2.Width = 122 + Lb_titlu_alb_b121.Caption = "Case de asigurãri" + Lb_titlu_alb_b121.Name = "Lb_titlu_alb_b121" + BUT_TERMIN1.Anchor = 9 + BUT_TERMIN1.Height = 27 + BUT_TERMIN1.Left = 345 + BUT_TERMIN1.Name = "BUT_TERMIN1" + BUT_TERMIN1.Top = 1 + Gridsort1.Name = "Gridsort1" + * + + ADD OBJECT '_grdrow1' AS _grdrow WITH ; + Anchor = 15, ; + ColumnCount = 2, ; + DeleteMark = .F., ; + Height = 200, ; + Left = 18, ; + Name = "_grdrow1", ; + Panel = 1, ; + RecordSource = "v_caseasig", ; + Top = 36, ; + Width = 336, ; + Column1.ControlSource = "numecasa", ; + Column1.Name = "Column1", ; + Column1.Width = 228, ; + Column2.ControlSource = "judet", ; + Column2.Name = "Column2" + *< END OBJECT: ClassLib="_grd_base.vcx" BaseClass="grid" /> + + ADD OBJECT '_grdrow1.Column1.Header1' AS header WITH ; + Alignment = 2, ; + Caption = "Denumire casa", ; + Name = "Header1" + *< END OBJECT: BaseClass="header" /> + + ADD OBJECT '_grdrow1.Column1.Text1' AS textbox WITH ; + BackColor = 255,255,255, ; + BorderStyle = 0, ; + ForeColor = 0,0,0, ; + Margin = 0, ; + Name = "Text1" + *< END OBJECT: BaseClass="textbox" /> + + ADD OBJECT '_grdrow1.Column2.Header1' AS header WITH ; + Alignment = 2, ; + Caption = "Judet", ; + Name = "Header1" + *< END OBJECT: BaseClass="header" /> + + ADD OBJECT '_grdrow1.Column2.Text1' AS textbox WITH ; + BackColor = 255,255,255, ; + BorderStyle = 0, ; + ForeColor = 0,0,0, ; + Margin = 0, ; + Name = "Text1" + *< END OBJECT: BaseClass="textbox" /> + + ADD OBJECT 'But_modifica1' AS but_modifica WITH ; + Anchor = 9, ; + Height = 27, ; + Left = 285, ; + Name = "But_modifica1", ; + Top = 1 + *< END OBJECT: ClassLib="cmd_butoane.vcx" BaseClass="commandbutton" /> + + ADD OBJECT 'But_nou1' AS but_nou WITH ; + Anchor = 9, ; + Height = 27, ; + Left = 255, ; + Name = "But_nou1", ; + Top = 1 + *< END OBJECT: ClassLib="cmd_butoane.vcx" BaseClass="commandbutton" /> + + ADD OBJECT 'But_sterge1' AS but_sterge WITH ; + Anchor = 9, ; + Height = 27, ; + Left = 315, ; + Name = "But_sterge1", ; + Top = 1 + *< END OBJECT: ClassLib="cmd_butoane.vcx" BaseClass="commandbutton" /> + + PROCEDURE actualizeaza_grid1 + LPARAMETERS pcFiltru + LOCAL lcFiltru + lcFiltru=pcFiltru + IF EMPTY(lcFiltru) + lcFiltru=ponomgrp.ca_baza1.cfiltru + ENDIF + save_grid_tag(thisform._grdrow1) + ponomgrp.ca_baza1.cfiltru=lcFiltru + ponomgrp.ca_baza1.afisare() + restore_grid_tag(thisform._grdrow1) + *!* IF RECCOUNT('v_delegati')>0 + thisform._grdrow1.SetFocus() + *!* ELSE + *!* thisform.lb_delegati.SetFocus() + *!* ENDIF + + ENDPROC + + PROCEDURE do_adauga + Private pniesire + Do update_judete In updateserver.prg + pniesire=0 + Select v_caseasig + *!* pcNume = loRec.nume + *!* pcPrenume = loRec.prenume + Scatter Name loRec Blank + Do Adauga_Modifica_Inregistrare With "caseasig",loRec,,"INSERT",,"addcasa" + IF USED('v_jud') + USE IN v_jud + ENDIF + + If pniesire=1 + This.actualizeaza_grid1() + Endif + + ENDPROC + + PROCEDURE do_modifica + Private pniesire + Do update_judete In updateserver.prg + pniesire=0 + Select v_caseasig + Scatter Name loRec + *!* pcNume = loRec.nume + *!* pcPrenume = loRec.prenume + Do Adauga_Modifica_Inregistrare With "caseasig",loRec,loRec.id_caseasig,"UPDATE",,"modcasa" + IF USED('v_jud') + USE IN v_jud + ENDIF + + If pniesire=1 + This.actualizeaza_grid1() + Endif + + + ENDPROC + + PROCEDURE do_sterge + SELECT v_caseasig + SCATTER NAME lorec + Do STERGE_INREGISTRARE With "caseasig",loRec.id_caseasig + This.actualizeaza_grid1() + ENDPROC + +ENDDEFINE + +DEFINE CLASS frm_caseasig_nou AS frm_termin_renunt OF "_frm_child.vcx" + *< CLASSDATA: Baseclass="form" Timestamp="" Scale="Pixels" Uniqueid="" /> + + *-- OBJECTDATA items order determines ZOrder / El orden de los items OBJECTDATA determina el ZOrder + *< OBJECTDATA: ObjPath="Clb_tx_simplu1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="Cb_tx_simplu1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="Cus_odata_caseasig1" UniqueID="" Timestamp="" /> + + * + *p: nid + *p: orec + * + + * + DoCreate = .T. + Height = 113 + Name = "frm_caseasig_nou" + nid = .F. + orec = .F. + Width = 313 + _shape1.Anchor = 11 + _shape1.Name = "_shape1" + _shape2.Anchor = 9 + _shape2.Height = 29 + _shape2.Left = 252 + _shape2.Name = "_shape2" + _shape2.Top = 0 + _shape2.Width = 61 + Lb_titlu_alb_b121.Caption = "Case de asigurãri" + Lb_titlu_alb_b121.Name = "Lb_titlu_alb_b121" + Lb_titlu_alb_b121.TabIndex = 5 + BUT_TERMIN1.Anchor = 9 + BUT_TERMIN1.Left = 283 + BUT_TERMIN1.Name = "BUT_TERMIN1" + BUT_TERMIN1.TabIndex = 3 + BUT_TERMIN1.Top = 1 + Gridsort1.Name = "Gridsort1" + BUT_RENUNT1.Anchor = 9 + BUT_RENUNT1.Left = 254 + BUT_RENUNT1.Name = "BUT_RENUNT1" + BUT_RENUNT1.TabIndex = 4 + BUT_RENUNT1.Top = 1 + * + + ADD OBJECT 'Cb_tx_simplu1' AS cb_tx_simplu WITH ; + Left = 12, ; + Name = "Cb_tx_simplu1", ; + TabIndex = 2, ; + Top = 69, ; + _CBBASE1.ControlSource = "porec.judet", ; + _CBBASE1.Name = "_CBBASE1", ; + _CBBASE1.RowSource = "v_jud.judet", ; + _CBBASE1.RowSourceType = 2, ; + _LBBASE1.Caption = "Judeþ", ; + _LBBASE1.Name = "_LBBASE1" + *< END OBJECT: ClassLib="lb_tx.vcx" BaseClass="container" /> + + ADD OBJECT 'Clb_tx_simplu1' AS clb_tx_simplu WITH ; + Left = 12, ; + Name = "Clb_tx_simplu1", ; + TabIndex = 1, ; + Top = 41, ; + TEXT_SIMPLU1.ControlSource = "porec.numecasa", ; + TEXT_SIMPLU1.Name = "TEXT_SIMPLU1", ; + LB_SIMPLU1.Caption = "Casa de asig.", ; + LB_SIMPLU1.Name = "LB_SIMPLU1" + *< END OBJECT: ClassLib="lb_tx.vcx" BaseClass="container" /> + + ADD OBJECT 'Cus_odata_caseasig1' AS cus_odata_caseasig WITH ; + Left = 287, ; + Name = "Cus_odata_caseasig1", ; + Top = 30 + *< END OBJECT: ClassLib="onom_sal.vcx" BaseClass="custom" /> + + PROCEDURE inainte_de_do_termin + Local PLRETURN + + lccontrol = Upper(This.ActiveControl.BaseClass ) + If Inlist(lccontrol,"TEXTBOX","EDITBOX","COMBOBOX") + lcval=This.ActiveControl.ControlSource + &lcval=Thisform.ActiveControl.Value + Endif + + Do Case + Case Empty(porec.numecasa) + Messagebox('Nu ati completat numele casei!',0+48,"Atentie") + This.clb_tx_simplu1.texT_SIMPLU1.SetFocus() + PLRETURN=.F. + Otherwise + + PLRETURN=This.cus_odata_caseasig1.salvare(This.OREC,This.NID) + *!* ENDIF + Endcase + Return PLRETURN + + + ENDPROC + + PROCEDURE Init + Lparameters toRec, tnId, tcActiune + + DoDefault() + + This.orec= toRec + This.nid = tnId + This.cus_odata_caseasig1.cactiune = tcActiune + *!* modificare v 2.0.12 + If tcActiune = [INSERT] + Select v_jud + porec.judet = judet + porec.id_judet = id_judet + Thisform.cb_tx_simplu1._cbbase1.Refresh() + Endif + *!* modificare v 2.0.12 ^ + ENDPROC + + PROCEDURE Cb_tx_simplu1._CBBASE1.LostFocus + porec.id_judet = v_jud.id_judet + ENDPROC + +ENDDEFINE + +DEFINE CLASS frm_clasesal AS formtermin OF "_frm_base.vcx" + *< CLASSDATA: Baseclass="form" Timestamp="" Scale="Pixels" Uniqueid="" /> + + *-- OBJECTDATA items order determines ZOrder / El orden de los items OBJECTDATA determina el ZOrder + *< OBJECTDATA: ObjPath="_grdrow1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="_grdrow1.Column1.Header1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="_grdrow1.Column1.Text1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="_grdrow1.Column2.Header1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="_grdrow1.Column2.Text1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="_grdrow1.Column3.Header1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="_grdrow1.Column3.Text1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="_grdrow1.Column3.Check1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="But_nou1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="But_modifica1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="But_sterge1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="Cmd_executa1" UniqueID="" Timestamp="" /> + + * + DoCreate = .T. + Height = 272 + Name = "frm_clasesal" + Width = 289 + _SHAPE1.Anchor = 11 + _SHAPE1.Name = "_SHAPE1" + _SHAPE2.Anchor = 9 + _SHAPE2.Height = 29 + _SHAPE2.Left = 180 + _SHAPE2.Name = "_SHAPE2" + _SHAPE2.Top = 0 + _SHAPE2.Width = 110 + LB_TITLU_ALB_B121.Caption = "Clase de salarizare" + LB_TITLU_ALB_B121.Name = "LB_TITLU_ALB_B121" + BUT_TERMIN1.Anchor = 9 + BUT_TERMIN1.Left = 258 + BUT_TERMIN1.Name = "BUT_TERMIN1" + BUT_TERMIN1.Top = 1 + Gridsort1.Name = "Gridsort1" + * + + ADD OBJECT '_grdrow1' AS _grdrow WITH ; + Anchor = 15, ; + ColumnCount = 3, ; + DeleteMark = .F., ; + Height = 200, ; + Left = 22, ; + Name = "_grdrow1", ; + Panel = 1, ; + ReadOnly = .T., ; + RecordSource = "v_clasesal", ; + Top = 36, ; + Width = 246, ; + Column1.ControlSource = "cod", ; + Column1.Name = "Column1", ; + Column1.ReadOnly = .T., ; + Column1.Width = 92, ; + Column2.ControlSource = "tarifar", ; + Column2.InputMask = (get_mask(14,Gnpa)), ; + Column2.Name = "Column2", ; + Column2.ReadOnly = .T., ; + Column2.Width = 80, ; + Column3.ControlSource = "inactiv", ; + Column3.CurrentControl = "Check1", ; + Column3.Name = "Column3", ; + Column3.ReadOnly = .T., ; + Column3.Sparse = .F., ; + Column3.Width = 39 + *< END OBJECT: ClassLib="_grd_base.vcx" BaseClass="grid" /> + + ADD OBJECT '_grdrow1.Column1.Header1' AS header WITH ; + Alignment = 2, ; + Caption = "Cod", ; + Name = "Header1" + *< END OBJECT: BaseClass="header" /> + + ADD OBJECT '_grdrow1.Column1.Text1' AS textbox WITH ; + BackColor = 255,255,255, ; + BorderStyle = 0, ; + ForeColor = 0,0,0, ; + Margin = 0, ; + Name = "Text1", ; + ReadOnly = .T. + *< END OBJECT: BaseClass="textbox" /> + + ADD OBJECT '_grdrow1.Column2.Header1' AS header WITH ; + Alignment = 2, ; + Caption = "Tarifar", ; + Name = "Header1" + *< END OBJECT: BaseClass="header" /> + + ADD OBJECT '_grdrow1.Column2.Text1' AS textbox WITH ; + BackColor = 255,255,255, ; + BorderStyle = 0, ; + ForeColor = 0,0,0, ; + Margin = 0, ; + Name = "Text1", ; + ReadOnly = .T. + *< END OBJECT: BaseClass="textbox" /> + + ADD OBJECT '_grdrow1.Column3.Check1' AS checkbox WITH ; + Alignment = 0, ; + Caption = "", ; + Height = 17, ; + Left = 17, ; + Name = "Check1", ; + Top = 47, ; + Width = 60 + *< END OBJECT: BaseClass="checkbox" /> + + ADD OBJECT '_grdrow1.Column3.Header1' AS header WITH ; + Alignment = 2, ; + Caption = "Inactiv", ; + Name = "Header1" + *< END OBJECT: BaseClass="header" /> + + ADD OBJECT '_grdrow1.Column3.Text1' AS textbox WITH ; + BackColor = 255,255,255, ; + BorderStyle = 0, ; + ForeColor = 0,0,0, ; + Margin = 0, ; + Name = "Text1", ; + ReadOnly = .T. + *< END OBJECT: BaseClass="textbox" /> + + ADD OBJECT 'But_modifica1' AS but_modifica WITH ; + Anchor = 9, ; + Left = 201, ; + Name = "But_modifica1", ; + Top = 1 + *< END OBJECT: ClassLib="cmd_butoane.vcx" BaseClass="commandbutton" /> + + ADD OBJECT 'But_nou1' AS but_nou WITH ; + Anchor = 9, ; + Left = 172, ; + Name = "But_nou1", ; + Top = 1 + *< END OBJECT: ClassLib="cmd_butoane.vcx" BaseClass="commandbutton" /> + + ADD OBJECT 'But_sterge1' AS but_sterge WITH ; + Anchor = 9, ; + Left = 229, ; + Name = "But_sterge1", ; + Top = 1 + *< END OBJECT: ClassLib="cmd_butoane.vcx" BaseClass="commandbutton" /> + + ADD OBJECT 'Cmd_executa1' AS cmd_executa WITH ; + Anchor = 12, ; + AutoSize = .T., ; + Caption = "Aplicã grila de salarizare", ; + Left = 105, ; + Name = "Cmd_executa1", ; + Top = 240 + *< END OBJECT: ClassLib="cmd_butoane.vcx" BaseClass="commandbutton" /> + + PROCEDURE actualizeaza_grid1 + LPARAMETERS pcFiltru + LOCAL lcFiltru + lcFiltru=pcFiltru + IF EMPTY(lcFiltru) + lcFiltru=poclasesal.ca_baza1.cfiltru + ENDIF + save_grid_tag(thisform._grdrow1) + poclasesal.ca_baza1.cfiltru=lcFiltru + poclasesal.ca_baza1.afisare() + restore_grid_tag(thisform._grdrow1) + *!* IF RECCOUNT('v_delegati')>0 + thisform._grdrow1.SetFocus() + *!* ELSE + *!* thisform.lb_delegati.SetFocus() + *!* ENDIF + + ENDPROC + + PROCEDURE do_adauga + Private pniesire + pniesire=0 + Select v_clasesal + Scatter Name loRec Blank + *!* DEBUG + *!* SUSPEND + Do Adauga_Modifica_Inregistrare With "clasesal",loRec,,"INSERT",,"addcs" + If pniesire=1 + This.actualizeaza_grid1() + Endif + ENDPROC + + PROCEDURE do_executa + IF MESSAGEBOX('Sunteti sigur ca doriti sa aplicati grilele de salarizare?',4+32,'') = 6 + lcSql = [begin PACK_SALARII.aplica_grila_sal('] + gcS +['); end;]&&[select * from ] + gcS + [.calendar] + lcCursor = [crsRezultate] + lnSucces = goExecutor.oExecute(lcSql) + + IF lnSucces < 0 + MESSAGEBOX(goExecutor.cEroare,0+16,"Eroare") + ENDIF + + ENDIF + + MESSAGEBOX('Au fost aplicate grilele de salarizare',0+48,'') + + ENDPROC + + PROCEDURE do_modifica + Private pniesire + pniesire=0 + Select v_clasesal + Scatter Name loRec + Do Adauga_Modifica_Inregistrare With "clasesal",loRec,loRec.id_clasasal,"UPDATE",,"modcs" + If pniesire=1 + This.actualizeaza_grid1() + Endif + + + ENDPROC + + PROCEDURE do_sterge + SELECT v_clasesal + SCATTER NAME lorec + Do STERGE_INREGISTRARE With "clasesal",loRec.id_clasasal + + this.actualizeaza_grid1() + + ENDPROC + +ENDDEFINE + +DEFINE CLASS frm_clasesal_nou AS frm_termin_renunt OF "_frm_child.vcx" + *< CLASSDATA: Baseclass="form" Timestamp="" Scale="Pixels" Uniqueid="" /> + + *-- OBJECTDATA items order determines ZOrder / El orden de los items OBJECTDATA determina el ZOrder + *< OBJECTDATA: ObjPath="Clb_tx_simplu1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="Clb_tx_simplu2" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="_checkbox1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="Cus_odata_clasesal1" UniqueID="" Timestamp="" /> + + * + *p: nid + *p: orec + * + + * + DoCreate = .T. + Height = 134 + Name = "frm_clasesal_nou" + nid = .F. + orec = .F. + Width = 375 + _SHAPE1.Anchor = 11 + _SHAPE1.Name = "_SHAPE1" + _SHAPE2.Anchor = 9 + _SHAPE2.Height = 29 + _SHAPE2.Left = 314 + _SHAPE2.Name = "_SHAPE2" + _SHAPE2.Top = 0 + _SHAPE2.Width = 62 + LB_TITLU_ALB_B121.Caption = "Clasã salarizare" + LB_TITLU_ALB_B121.Name = "LB_TITLU_ALB_B121" + LB_TITLU_ALB_B121.TabIndex = 6 + BUT_TERMIN1.Anchor = 9 + BUT_TERMIN1.Left = 346 + BUT_TERMIN1.Name = "BUT_TERMIN1" + BUT_TERMIN1.TabIndex = 4 + BUT_TERMIN1.Top = 1 + Gridsort1.Name = "Gridsort1" + BUT_RENUNT1.Anchor = 9 + BUT_RENUNT1.Left = 316 + BUT_RENUNT1.Name = "BUT_RENUNT1" + BUT_RENUNT1.TabIndex = 5 + BUT_RENUNT1.Top = 1 + * + + ADD OBJECT '_checkbox1' AS _checkbox WITH ; + Alignment = 0, ; + Caption = "Inactiv", ; + ControlSource = "porec.inactiv", ; + Height = 17, ; + Left = 39, ; + Name = "_checkbox1", ; + TabIndex = 3, ; + Top = 104, ; + Width = 52 + *< END OBJECT: ClassLib="_baza.vcx" BaseClass="checkbox" /> + + ADD OBJECT 'Clb_tx_simplu1' AS clb_tx_simplu WITH ; + Left = 36, ; + Name = "Clb_tx_simplu1", ; + TabIndex = 1, ; + Top = 41, ; + TEXT_SIMPLU1.ControlSource = "porec.cod", ; + TEXT_SIMPLU1.Name = "TEXT_SIMPLU1", ; + LB_SIMPLU1.Caption = "Cod", ; + LB_SIMPLU1.Name = "LB_SIMPLU1" + *< END OBJECT: ClassLib="lb_tx.vcx" BaseClass="container" /> + + ADD OBJECT 'Clb_tx_simplu2' AS clb_tx_simplu WITH ; + Left = 36, ; + Name = "Clb_tx_simplu2", ; + TabIndex = 2, ; + Top = 69, ; + TEXT_SIMPLU1.ControlSource = "porec.tarifar", ; + TEXT_SIMPLU1.InputMask = (get_mask(14,Gnpa)), ; + TEXT_SIMPLU1.Name = "TEXT_SIMPLU1", ; + LB_SIMPLU1.Caption = "Tarifar", ; + LB_SIMPLU1.Name = "LB_SIMPLU1" + *< END OBJECT: ClassLib="lb_tx.vcx" BaseClass="container" /> + + ADD OBJECT 'Cus_odata_clasesal1' AS cus_odata_clasesal WITH ; + Left = 336, ; + Name = "Cus_odata_clasesal1", ; + Top = 84 + *< END OBJECT: ClassLib="onom_sal.vcx" BaseClass="custom" /> + + PROCEDURE inainte_de_do_termin + LOCAL PLRETURN + + lccontrol = UPPER(this.ActiveControl.BaseClass ) + IF INLIST(lccontrol,"TEXTBOX","EDITBOX","COMBOBOX") + lcval=This.Activecontrol.controlsource + &lcval=thisform.ActiveControl.value + ENDIF + + + Do Case + Case Empty(porec.tarifar) + Messagebox('Nu ati completat tarifarul!',0+48,"Atentie") + this.clb_tx_simplu2.text_simplu1.SetFocus() + + plreturn=.F. + + OTHERWISE + PLRETURN=This.cus_odata_clasesal1.salvare(This.OREC,This.NID) + + + ENDCASE + + Return PLRETURN + + + + + ENDPROC + + PROCEDURE Init + Lparameters toRec, tnId, tcActiune + + DoDefault() + + This.orec= toRec + This.nid = tnId + this.cus_odata_clasesal1.cactiune = tcActiune + + ENDPROC + +ENDDEFINE + +DEFINE CLASS frm_conf_popr AS frm_termin OF "_frm_child.vcx" + *< CLASSDATA: Baseclass="form" Timestamp="" Scale="Pixels" Uniqueid="" /> + + *-- OBJECTDATA items order determines ZOrder / El orden de los items OBJECTDATA determina el ZOrder + *< OBJECTDATA: ObjPath="_grdrow1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="_grdrow1.Column1.Header1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="_grdrow1.Column1.Text1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="_grdrow1.Column2.Header1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="_grdrow1.Column2.Text1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="_grdrow1.Column2.Check1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="_grdrow1.Column3.Header1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="_grdrow1.Column3.Text1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="_grdrow1.Column3.Check1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="_grdrow1.Column4.Header1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="_grdrow1.Column4.Text1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="_grdrow1.Column5.Header1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="_grdrow1.Column5.Text1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="_grdrow1.Column5.Check1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="_grdrow1.Column6.Header1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="_grdrow1.Column6.Text1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="_grdrow1.Column6.Check1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="_grdrow1.Column7.Header1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="_grdrow1.Column7.Text1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="_grdrow1.Column8.Header1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="_grdrow1.Column8.Text1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="_grdrow1.Column9.Header1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="_grdrow1.Column9.Text1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="_grdrow1.Column10.Header1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="_grdrow1.Column10.Text1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="_grdrow1.Column11.Header1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="_grdrow1.Column11.Text1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="But_nou1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="But_modifica1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="But_sterge1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="Cmd_executa1" UniqueID="" Timestamp="" /> + + * + DoCreate = .T. + Height = 443 + Name = "frm_conf_popr" + Width = 561 + _shape1.Height = 29 + _shape1.Left = 0 + _shape1.Name = "_shape1" + _shape1.Top = 0 + _shape1.Width = 576 + _shape2.Height = 29 + _shape2.Left = 437 + _shape2.Name = "_shape2" + _shape2.Top = 0 + _shape2.Width = 123 + Lb_titlu_alb_b121.Caption = "Configurare popriri" + Lb_titlu_alb_b121.Name = "Lb_titlu_alb_b121" + BUT_TERMIN1.Height = 27 + BUT_TERMIN1.Left = 528 + BUT_TERMIN1.Name = "BUT_TERMIN1" + BUT_TERMIN1.Top = 1 + Gridsort1.Name = "Gridsort1" + * + + ADD OBJECT '_grdrow1' AS _grdrow WITH ; + ColumnCount = 11, ; + DeleteMark = .F., ; + Height = 367, ; + Left = 10, ; + Name = "_grdrow1", ; + Panel = 1, ; + ReadOnly = .T., ; + RecordSource = "v_nompopr", ; + Top = 36, ; + Width = 540, ; + Column1.ControlSource = "nume_popr", ; + Column1.Name = "Column1", ; + Column1.ReadOnly = .T., ; + Column1.Width = 123, ; + Column2.ColumnOrder = 3, ; + Column2.ControlSource = "permanent", ; + Column2.CurrentControl = "Check1", ; + Column2.Name = "Column2", ; + Column2.ReadOnly = .T., ; + Column2.Sparse = .F., ; + Column2.Width = 65, ; + Column3.ColumnOrder = 4, ; + Column3.ControlSource = "sumafixa", ; + Column3.CurrentControl = "Check1", ; + Column3.Name = "Column3", ; + Column3.ReadOnly = .T., ; + Column3.Sparse = .F., ; + Column3.Width = 35, ; + Column4.ColumnOrder = 5, ; + Column4.ControlSource = "nume_col", ; + Column4.Name = "Column4", ; + Column4.ReadOnly = .T., ; + Column4.Width = 70, ; + Column5.ColumnOrder = 6, ; + Column5.ControlSource = "neimpozab", ; + Column5.CurrentControl = "Check1", ; + Column5.Name = "Column5", ; + Column5.ReadOnly = .T., ; + Column5.Sparse = .F., ; + Column5.Width = 43, ; + Column6.ColumnOrder = 7, ; + Column6.ControlSource = "inactiv", ; + Column6.CurrentControl = "Check1", ; + Column6.Name = "Column6", ; + Column6.ReadOnly = .T., ; + Column6.Sparse = .F., ; + Column6.Width = 38, ; + Column7.ColumnOrder = 2, ; + Column7.ControlSource = "beneficiar", ; + Column7.Name = "Column7", ; + Column7.ReadOnly = .T., ; + Column7.Width = 129, ; + Column8.ControlSource = "scd", ; + Column8.Name = "Column8", ; + Column8.ReadOnly = .T., ; + Column8.Width = 60, ; + Column9.ControlSource = "ascd", ; + Column9.Name = "Column9", ; + Column9.ReadOnly = .T., ; + Column9.Width = 64, ; + Column10.ControlSource = "ascc", ; + Column10.Name = "Column10", ; + Column10.ReadOnly = .T., ; + Column10.Width = 63, ; + Column11.ControlSource = "ascc", ; + Column11.Name = "Column11", ; + Column11.ReadOnly = .T., ; + Column11.Width = 67 + *< END OBJECT: ClassLib="_grd_base.vcx" BaseClass="grid" /> + + ADD OBJECT '_grdrow1.Column1.Header1' AS header WITH ; + Caption = "Nume poprire", ; + Name = "Header1" + *< END OBJECT: BaseClass="header" /> + + ADD OBJECT '_grdrow1.Column1.Text1' AS textbox WITH ; + BackColor = 255,255,255, ; + BorderStyle = 0, ; + ForeColor = 0,0,0, ; + Margin = 0, ; + Name = "Text1", ; + ReadOnly = .T. + *< END OBJECT: BaseClass="textbox" /> + + ADD OBJECT '_grdrow1.Column10.Header1' AS header WITH ; + Caption = "Cont credit", ; + Name = "Header1" + *< END OBJECT: BaseClass="header" /> + + ADD OBJECT '_grdrow1.Column10.Text1' AS textbox WITH ; + BackColor = 255,255,255, ; + BorderStyle = 0, ; + ForeColor = 0,0,0, ; + Margin = 0, ; + Name = "Text1" + *< END OBJECT: BaseClass="textbox" /> + + ADD OBJECT '_grdrow1.Column11.Header1' AS header WITH ; + Caption = "Acont credit", ; + Name = "Header1" + *< END OBJECT: BaseClass="header" /> + + ADD OBJECT '_grdrow1.Column11.Text1' AS textbox WITH ; + BackColor = 255,255,255, ; + BorderStyle = 0, ; + ForeColor = 0,0,0, ; + Margin = 0, ; + Name = "Text1" + *< END OBJECT: BaseClass="textbox" /> + + ADD OBJECT '_grdrow1.Column2.Check1' AS checkbox WITH ; + Alignment = 0, ; + Caption = "", ; + Height = 17, ; + Left = 28, ; + Name = "Check1", ; + ReadOnly = .T., ; + Top = 107, ; + Width = 60 + *< END OBJECT: BaseClass="checkbox" /> + + ADD OBJECT '_grdrow1.Column2.Header1' AS header WITH ; + Caption = "Permanent", ; + Name = "Header1" + *< END OBJECT: BaseClass="header" /> + + ADD OBJECT '_grdrow1.Column2.Text1' AS textbox WITH ; + BackColor = 255,255,255, ; + BorderStyle = 0, ; + ForeColor = 0,0,0, ; + Margin = 0, ; + Name = "Text1" + *< END OBJECT: BaseClass="textbox" /> + + ADD OBJECT '_grdrow1.Column3.Check1' AS checkbox WITH ; + Alignment = 0, ; + Caption = "", ; + Height = 17, ; + Left = 34, ; + Name = "Check1", ; + ReadOnly = .T., ; + Top = 83, ; + Width = 60 + *< END OBJECT: BaseClass="checkbox" /> + + ADD OBJECT '_grdrow1.Column3.Header1' AS header WITH ; + Caption = "Suma", ; + Name = "Header1" + *< END OBJECT: BaseClass="header" /> + + ADD OBJECT '_grdrow1.Column3.Text1' AS textbox WITH ; + BackColor = 255,255,255, ; + BorderStyle = 0, ; + ForeColor = 0,0,0, ; + Margin = 0, ; + Name = "Text1" + *< END OBJECT: BaseClass="textbox" /> + + ADD OBJECT '_grdrow1.Column4.Header1' AS header WITH ; + Caption = "Se calc. din:", ; + Name = "Header1" + *< END OBJECT: BaseClass="header" /> + + ADD OBJECT '_grdrow1.Column4.Text1' AS textbox WITH ; + BackColor = 255,255,255, ; + BorderStyle = 0, ; + ForeColor = 0,0,0, ; + Margin = 0, ; + Name = "Text1", ; + ReadOnly = .T. + *< END OBJECT: BaseClass="textbox" /> + + ADD OBJECT '_grdrow1.Column5.Check1' AS checkbox WITH ; + Alignment = 0, ; + Caption = "", ; + Height = 17, ; + Left = 11, ; + Name = "Check1", ; + ReadOnly = .T., ; + Top = 71, ; + Width = 60 + *< END OBJECT: BaseClass="checkbox" /> + + ADD OBJECT '_grdrow1.Column5.Header1' AS header WITH ; + Caption = "Impozit", ; + Name = "Header1" + *< END OBJECT: BaseClass="header" /> + + ADD OBJECT '_grdrow1.Column5.Text1' AS textbox WITH ; + BackColor = 255,255,255, ; + BorderStyle = 0, ; + ForeColor = 0,0,0, ; + Margin = 0, ; + Name = "Text1" + *< END OBJECT: BaseClass="textbox" /> + + ADD OBJECT '_grdrow1.Column6.Check1' AS checkbox WITH ; + Alignment = 0, ; + Caption = "", ; + Height = 17, ; + Left = 15, ; + Name = "Check1", ; + ReadOnly = .T., ; + Top = 83, ; + Width = 60 + *< END OBJECT: BaseClass="checkbox" /> + + ADD OBJECT '_grdrow1.Column6.Header1' AS header WITH ; + Caption = "Inactiv", ; + Name = "Header1" + *< END OBJECT: BaseClass="header" /> + + ADD OBJECT '_grdrow1.Column6.Text1' AS textbox WITH ; + BackColor = 255,255,255, ; + BorderStyle = 0, ; + ForeColor = 0,0,0, ; + Margin = 0, ; + Name = "Text1" + *< END OBJECT: BaseClass="textbox" /> + + ADD OBJECT '_grdrow1.Column7.Header1' AS header WITH ; + Caption = "Beneficiar", ; + Name = "Header1" + *< END OBJECT: BaseClass="header" /> + + ADD OBJECT '_grdrow1.Column7.Text1' AS textbox WITH ; + BackColor = 255,255,255, ; + BorderStyle = 0, ; + ForeColor = 0,0,0, ; + Margin = 0, ; + Name = "Text1" + *< END OBJECT: BaseClass="textbox" /> + + ADD OBJECT '_grdrow1.Column8.Header1' AS header WITH ; + Caption = "Cont debit", ; + Name = "Header1" + *< END OBJECT: BaseClass="header" /> + + ADD OBJECT '_grdrow1.Column8.Text1' AS textbox WITH ; + BackColor = 255,255,255, ; + BorderStyle = 0, ; + ForeColor = 0,0,0, ; + Margin = 0, ; + Name = "Text1" + *< END OBJECT: BaseClass="textbox" /> + + ADD OBJECT '_grdrow1.Column9.Header1' AS header WITH ; + Caption = "Acont debit", ; + Name = "Header1" + *< END OBJECT: BaseClass="header" /> + + ADD OBJECT '_grdrow1.Column9.Text1' AS textbox WITH ; + BackColor = 255,255,255, ; + BorderStyle = 0, ; + ForeColor = 0,0,0, ; + Margin = 0, ; + Name = "Text1" + *< END OBJECT: BaseClass="textbox" /> + + ADD OBJECT 'But_modifica1' AS but_modifica WITH ; + Height = 27, ; + Left = 469, ; + Name = "But_modifica1", ; + Top = 1 + *< END OBJECT: ClassLib="cmd_butoane.vcx" BaseClass="commandbutton" /> + + ADD OBJECT 'But_nou1' AS but_nou WITH ; + Height = 27, ; + Left = 439, ; + Name = "But_nou1", ; + Top = 1 + *< END OBJECT: ClassLib="cmd_butoane.vcx" BaseClass="commandbutton" /> + + ADD OBJECT 'But_sterge1' AS but_sterge WITH ; + Height = 27, ; + Left = 498, ; + Name = "But_sterge1", ; + Top = 1 + *< END OBJECT: ClassLib="cmd_butoane.vcx" BaseClass="commandbutton" /> + + ADD OBJECT 'Cmd_executa1' AS cmd_executa WITH ; + Caption = "\ + + PROCEDURE actualizeaza_grid1 + LPARAMETERS pcFiltru + + LOCAL lcFiltru + + lcFiltru=pcFiltru + + *!* IF EMPTY(lcFiltru) + *!* lcFiltru=pocentr.ca_baza1.cfiltru + *!* ENDIF + save_grid_tag(thisform._grdrow1 ) + + DO update_nom_popr IN update_salarii.prg + restore_grid_tag(thisform._grdrow1) + thisform._grdrow1.SetFocus + + ENDPROC + + PROCEDURE do_adauga + Private pniesire,pnNr,pcNumeTata + + DO update_colcalc IN update_salarii.prg + pniesire=0 + + Select v_nompopr + Scatter Name loRec Blank + + Do Adauga_Modifica_Inregistrare With "conf_popr",loRec,,"INSERT",,"apop" + If pniesire=1 + This.actualizeaza_grid1() + Endif + ENDPROC + + PROCEDURE do_executa + DO UPDATE_BENPOP IN update_salarii.prg + SELECT v_benpop + + ofrm_ben = CREATEOBJECT('frm_benefpop') + ofrm_ben.show(1) + ENDPROC + + PROCEDURE do_modifica + Private pniesire,pcNumeTata + + DO update_colcalc IN update_salarii.prg + + pniesire=0 + Select v_nompopr + Scatter Name loRec + + Do Adauga_Modifica_Inregistrare With "conf_popr",loRec,loRec.id_popriri,"UPDATE",,"mpop" + + If pniesire=1 + This.actualizeaza_grid1() + Endif + ENDPROC + + PROCEDURE do_sterge + SELECT v_nompopr + SCATTER NAME lorec + Do STERGE_INREGISTRARE With "conf_popr",loRec.id_popriri + this.actualizeaza_grid1() + + ENDPROC + +ENDDEFINE + +DEFINE CLASS frm_conf_popr_nou AS frm_termin_renunt OF "_frm_child.vcx" + *< CLASSDATA: Baseclass="form" Timestamp="" Scale="Pixels" Uniqueid="" /> + + *-- OBJECTDATA items order determines ZOrder / El orden de los items OBJECTDATA determina el ZOrder + *< OBJECTDATA: ObjPath="Cus_odata_conf_popr1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="Clb_tx_simplu1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="Cb_tx_simplu1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="Check1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="Check2" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="Check3" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="Check4" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="Clb_tx_simplu2" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="Clb_tx_simplu3" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="Clb_tx_simplu4" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="Clb_tx_simplu5" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="Clb_tx_simplu6" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="Cmd_executa1" UniqueID="" Timestamp="" /> + + * + *p: nid + *p: orec + * + + * + BorderStyle = 1 + DoCreate = .T. + Height = 401 + Name = "frm_conf_popr_nou" + nid = .F. + orec = .F. + Width = 375 + _shape1.Name = "_shape1" + _shape2.Name = "_shape2" + Lb_titlu_alb_b121.Caption = "-" + Lb_titlu_alb_b121.Name = "Lb_titlu_alb_b121" + Lb_titlu_alb_b121.TabIndex = 14 + BUT_TERMIN1.Name = "BUT_TERMIN1" + BUT_TERMIN1.TabIndex = 8 + Gridsort1.Name = "Gridsort1" + BUT_RENUNT1.Name = "BUT_RENUNT1" + BUT_RENUNT1.TabIndex = 13 + * + + ADD OBJECT 'Cb_tx_simplu1' AS cb_tx_simplu WITH ; + Left = 50, ; + Name = "Cb_tx_simplu1", ; + TabIndex = 3, ; + Top = 135, ; + _CBBASE1.ControlSource = "porec.nume_col", ; + _CBBASE1.Height = 23, ; + _CBBASE1.Left = 108, ; + _CBBASE1.Name = "_CBBASE1", ; + _CBBASE1.RowSource = "v_colcalc.explicatie", ; + _CBBASE1.RowSourceType = 2, ; + _CBBASE1.Top = 3, ; + _CBBASE1.Width = 179, ; + _LBBASE1.Caption = "Se calculeaza din:", ; + _LBBASE1.Name = "_LBBASE1" + *< END OBJECT: ClassLib="lb_tx.vcx" BaseClass="container" /> + + ADD OBJECT 'Check1' AS checkbox WITH ; + Alignment = 0, ; + AutoSize = .T., ; + BackStyle = 0, ; + Caption = "Suma fixa", ; + ControlSource = "porec.sumafixa", ; + Height = 17, ; + Left = 50, ; + Name = "Check1", ; + TabIndex = 9, ; + Top = 111, ; + Width = 72 + *< END OBJECT: BaseClass="checkbox" /> + + ADD OBJECT 'Check2' AS checkbox WITH ; + Alignment = 0, ; + AutoSize = .T., ; + BackStyle = 0, ; + Caption = "Poprire permanenta", ; + ControlSource = "porec.permanent", ; + Height = 17, ; + Left = 50, ; + Name = "Check2", ; + TabIndex = 10, ; + Top = 171, ; + Width = 128 + *< END OBJECT: BaseClass="checkbox" /> + + ADD OBJECT 'Check3' AS checkbox WITH ; + Alignment = 0, ; + AutoSize = .T., ; + BackStyle = 0, ; + Caption = "Neimpozabil", ; + ControlSource = "porec.neimpozab", ; + Height = 17, ; + Left = 50, ; + Name = "Check3", ; + TabIndex = 11, ; + Top = 195, ; + Width = 87 + *< END OBJECT: BaseClass="checkbox" /> + + ADD OBJECT 'Check4' AS checkbox WITH ; + Alignment = 0, ; + AutoSize = .T., ; + BackStyle = 0, ; + Caption = "Inactiv", ; + ControlSource = "porec.inactiv", ; + Height = 17, ; + Left = 50, ; + Name = "Check4", ; + TabIndex = 12, ; + Top = 219, ; + Width = 52 + *< END OBJECT: BaseClass="checkbox" /> + + ADD OBJECT 'Clb_tx_simplu1' AS clb_tx_simplu WITH ; + Left = 50, ; + Name = "Clb_tx_simplu1", ; + TabIndex = 1, ; + Top = 47, ; + TEXT_SIMPLU1.ControlSource = "porec.nume_popr", ; + TEXT_SIMPLU1.Name = "TEXT_SIMPLU1", ; + Lb_simplu1.Caption = "Poprire", ; + Lb_simplu1.Name = "Lb_simplu1" + *< END OBJECT: ClassLib="lb_tx.vcx" BaseClass="container" /> + + ADD OBJECT 'Clb_tx_simplu2' AS clb_tx_simplu WITH ; + Left = 50, ; + Name = "Clb_tx_simplu2", ; + TabIndex = 2, ; + Top = 77, ; + Text_simplu1.ControlSource = "porec.beneficiar", ; + Text_simplu1.Name = "Text_simplu1", ; + Lb_simplu1.Caption = "Beneficiar", ; + Lb_simplu1.Name = "Lb_simplu1" + *< END OBJECT: ClassLib="lb_tx.vcx" BaseClass="container" /> + + ADD OBJECT 'Clb_tx_simplu3' AS clb_tx_simplu WITH ; + Left = 50, ; + Name = "Clb_tx_simplu3", ; + TabIndex = 4, ; + Top = 240, ; + TEXT_SIMPLU1.ControlSource = "porec.scd", ; + TEXT_SIMPLU1.Name = "TEXT_SIMPLU1", ; + Lb_simplu1.Caption = "Cont debit", ; + Lb_simplu1.Name = "Lb_simplu1" + *< END OBJECT: ClassLib="lb_tx.vcx" BaseClass="container" /> + + ADD OBJECT 'Clb_tx_simplu4' AS clb_tx_simplu WITH ; + Left = 50, ; + Name = "Clb_tx_simplu4", ; + TabIndex = 5, ; + Top = 271, ; + TEXT_SIMPLU1.ControlSource = "porec.ascd", ; + TEXT_SIMPLU1.Name = "TEXT_SIMPLU1", ; + Lb_simplu1.Caption = "Analitic debit", ; + Lb_simplu1.Name = "Lb_simplu1" + *< END OBJECT: ClassLib="lb_tx.vcx" BaseClass="container" /> + + ADD OBJECT 'Clb_tx_simplu5' AS clb_tx_simplu WITH ; + Left = 50, ; + Name = "Clb_tx_simplu5", ; + TabIndex = 6, ; + Top = 302, ; + TEXT_SIMPLU1.ControlSource = "porec.scc", ; + TEXT_SIMPLU1.Name = "TEXT_SIMPLU1", ; + Lb_simplu1.Caption = "Cont credit", ; + Lb_simplu1.Name = "Lb_simplu1" + *< END OBJECT: ClassLib="lb_tx.vcx" BaseClass="container" /> + + ADD OBJECT 'Clb_tx_simplu6' AS clb_tx_simplu WITH ; + Left = 50, ; + Name = "Clb_tx_simplu6", ; + TabIndex = 7, ; + Top = 333, ; + TEXT_SIMPLU1.ControlSource = "porec.ascc", ; + TEXT_SIMPLU1.Name = "TEXT_SIMPLU1", ; + Lb_simplu1.Caption = "Analitic credit", ; + Lb_simplu1.Name = "Lb_simplu1" + *< END OBJECT: ClassLib="lb_tx.vcx" BaseClass="container" /> + + ADD OBJECT 'Cmd_executa1' AS cmd_executa WITH ; + AutoSize = .T., ; + Caption = "Aleg partenerii pe sectii", ; + Left = 110, ; + Name = "Cmd_executa1", ; + Top = 367 + *< END OBJECT: ClassLib="cmd_butoane.vcx" BaseClass="commandbutton" /> + + ADD OBJECT 'Cus_odata_conf_popr1' AS cus_odata_conf_popr WITH ; + Left = 6, ; + Name = "Cus_odata_conf_popr1", ; + Top = 163 + *< END OBJECT: ClassLib="onom_sal.vcx" BaseClass="custom" /> + + PROCEDURE Activate + IF thisform.check1.Value = 1 + thisform.cb_tx_simplu1.Enabled = .f. + + ELSE + thisform.cb_tx_simplu1.Enabled = .t. + ENDIF + ENDPROC + + PROCEDURE inainte_de_do_termin + LOCAL PLRETURN + + lccontrol = UPPER(this.ActiveControl.BaseClass ) + IF INLIST(lccontrol,"TEXTBOX","EDITBOX","COMBOBOX") + lcval=This.Activecontrol.controlsource + &lcval=thisform.ActiveControl.value + ENDIF + PLRETURN=this.cus_odata_conf_popr1.salvare(This.OREC,This.NID) + + Return PLRETURN + ENDPROC + + PROCEDURE Init + Lparameters toRec, tnId, tcActiune + + DoDefault() + + This.orec= toRec + This.nid = tnId + + this.cus_odata_conf_popr1.cactiune = tcActiune + + + ENDPROC + + PROCEDURE Cb_tx_simplu1._CBBASE1.LostFocus + porec.id_calcdin = v_colcalc.id_coloana + ENDPROC + + PROCEDURE Check1.InteractiveChange + IF this.Value = 1 + thisform.cb_tx_simplu1.Enabled = .f. + porec.id_calcdin = 0 + + + ELSE + thisform.cb_tx_simplu1.Enabled = .t. + ENDIF + ENDPROC + + PROCEDURE Clb_tx_simplu2.Text_simplu1.GotFocus + pcselect = [select * from sal_vbenef_pop ] + pcfiltru = [1=2] + pcschema = [] + pcorder = [beneficiar] + pccoloane = [beneficiar] + pcTitlu = [Beneficiar] + pcTitluColoane = [Beneficiar] + locauta = cauta_alfa(pcselect,pcfiltru,pcschema,pcorder,pccoloane,pcTitlu,pcTitluColoane)&&30iul2007 + + *!* Parameters tcselect,tcfiltru,tcschema,tcorder,tccoloana,tcTitlu,tcTitluColoana,tcNume_Proc,tl_AllInList,tcFiltruOriginal + + IF buton # 2 + porec.beneficiar = locauta.beneficiar + porec.id_beneficiar = locauta.id_beneficiar + this.Refresh + ENDIF + ENDPROC + +ENDDEFINE + +DEFINE CLASS frm_conf_spor AS frm_termin OF "_frm_child.vcx" + *< CLASSDATA: Baseclass="form" Timestamp="" Scale="Pixels" Uniqueid="" /> + + *-- OBJECTDATA items order determines ZOrder / El orden de los items OBJECTDATA determina el ZOrder + *< OBJECTDATA: ObjPath="_grdrow1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="_grdrow1.Column1.Header1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="_grdrow1.Column1.Text1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="_grdrow1.Column2.Header1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="_grdrow1.Column2.Text1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="_grdrow1.Column2.Check1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="_grdrow1.Column3.Header1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="_grdrow1.Column3.Text1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="_grdrow1.Column4.Header1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="_grdrow1.Column4.Text1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="_grdrow1.Column4.Check1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="_grdrow1.Column5.Header1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="_grdrow1.Column5.Text1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="_grdrow1.Column5.Check1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="_grdrow1.cNume_tip_spor.Header1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="_grdrow1.cNume_tip_spor.Text1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="But_nou1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="But_modifica1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="But_sterge1" UniqueID="" Timestamp="" /> + + * + DoCreate = .T. + Height = 420 + Name = "frm_conf_spor" + Width = 588 + _shape1.Height = 29 + _shape1.Left = 0 + _shape1.Name = "_shape1" + _shape1.Top = 0 + _shape1.Width = 588 + _shape2.Height = 29 + _shape2.Left = 461 + _shape2.Name = "_shape2" + _shape2.Top = -1 + _shape2.Width = 128 + Lb_titlu_alb_b121.Caption = "Definire sporuri" + Lb_titlu_alb_b121.Height = 21 + Lb_titlu_alb_b121.Left = 6 + Lb_titlu_alb_b121.Name = "Lb_titlu_alb_b121" + Lb_titlu_alb_b121.Top = 6 + Lb_titlu_alb_b121.Width = 109 + BUT_TERMIN1.Left = 557 + BUT_TERMIN1.Name = "BUT_TERMIN1" + BUT_TERMIN1.Top = 0 + Gridsort1.Name = "Gridsort1" + * + + ADD OBJECT '_grdrow1' AS _grdrow WITH ; + ColumnCount = 6, ; + DeleteMark = .F., ; + Height = 372, ; + Left = 12, ; + Name = "_grdrow1", ; + Panel = 1, ; + ReadOnly = .T., ; + RecordSource = "v_nomspor", ; + Top = 36, ; + Width = 564, ; + Column1.ControlSource = "nume_spor", ; + Column1.Name = "Column1", ; + Column1.ReadOnly = .T., ; + Column1.Width = 141, ; + Column2.ControlSource = "sumafixa", ; + Column2.CurrentControl = "Check1", ; + Column2.Name = "Column2", ; + Column2.ReadOnly = .T., ; + Column2.Sparse = .F., ; + Column2.Width = 37, ; + Column3.ControlSource = "nume_col", ; + Column3.Name = "Column3", ; + Column3.ReadOnly = .T., ; + Column3.Width = 94, ; + Column4.ControlSource = "permanent", ; + Column4.CurrentControl = "Check1", ; + Column4.Name = "Column4", ; + Column4.ReadOnly = .T., ; + Column4.Sparse = .F., ; + Column4.Width = 65, ; + Column5.ControlSource = "somaj", ; + Column5.CurrentControl = "Check1", ; + Column5.Name = "Column5", ; + Column5.ReadOnly = .T., ; + Column5.Sparse = .F., ; + Column5.Width = 40, ; + Column6.ControlSource = "nume_tip_spor", ; + Column6.Name = "cNume_tip_spor", ; + Column6.ReadOnly = .T., ; + Column6.Width = 149 + *< END OBJECT: ClassLib="_grd_base.vcx" BaseClass="grid" /> + + ADD OBJECT '_grdrow1.cNume_tip_spor.Header1' AS header WITH ; + Alignment = 2, ; + Caption = "Tip spor", ; + Name = "Header1" + *< END OBJECT: BaseClass="header" /> + + ADD OBJECT '_grdrow1.cNume_tip_spor.Text1' AS textbox WITH ; + BackColor = 255,255,255, ; + BorderStyle = 0, ; + ForeColor = 0,0,0, ; + Margin = 0, ; + Name = "Text1" + *< END OBJECT: BaseClass="textbox" /> + + ADD OBJECT '_grdrow1.Column1.Header1' AS header WITH ; + Alignment = 2, ; + Caption = "Nume spor", ; + Name = "Header1" + *< END OBJECT: BaseClass="header" /> + + ADD OBJECT '_grdrow1.Column1.Text1' AS textbox WITH ; + BackColor = 255,255,255, ; + BorderStyle = 0, ; + ForeColor = 0,0,0, ; + Margin = 0, ; + Name = "Text1", ; + ReadOnly = .T. + *< END OBJECT: BaseClass="textbox" /> + + ADD OBJECT '_grdrow1.Column2.Check1' AS checkbox WITH ; + Alignment = 0, ; + Caption = "", ; + Height = 17, ; + Left = 9, ; + Name = "Check1", ; + ReadOnly = .T., ; + Top = 83, ; + Width = 60 + *< END OBJECT: BaseClass="checkbox" /> + + ADD OBJECT '_grdrow1.Column2.Header1' AS header WITH ; + Caption = "Suma", ; + Name = "Header1" + *< END OBJECT: BaseClass="header" /> + + ADD OBJECT '_grdrow1.Column2.Text1' AS textbox WITH ; + BackColor = 255,255,255, ; + BorderStyle = 0, ; + ForeColor = 0,0,0, ; + Margin = 0, ; + Name = "Text1" + *< END OBJECT: BaseClass="textbox" /> + + ADD OBJECT '_grdrow1.Column3.Header1' AS header WITH ; + Caption = "Se calc din:", ; + Name = "Header1" + *< END OBJECT: BaseClass="header" /> + + ADD OBJECT '_grdrow1.Column3.Text1' AS textbox WITH ; + BackColor = 255,255,255, ; + BorderStyle = 0, ; + ForeColor = 0,0,0, ; + Margin = 0, ; + Name = "Text1", ; + ReadOnly = .T. + *< END OBJECT: BaseClass="textbox" /> + + ADD OBJECT '_grdrow1.Column4.Check1' AS checkbox WITH ; + Alignment = 0, ; + Caption = "", ; + Height = 17, ; + Left = 27, ; + Name = "Check1", ; + ReadOnly = .T., ; + Top = 71, ; + Width = 60 + *< END OBJECT: BaseClass="checkbox" /> + + ADD OBJECT '_grdrow1.Column4.Header1' AS header WITH ; + Caption = "Permanent", ; + Name = "Header1" + *< END OBJECT: BaseClass="header" /> + + ADD OBJECT '_grdrow1.Column4.Text1' AS textbox WITH ; + BackColor = 255,255,255, ; + BorderStyle = 0, ; + ForeColor = 0,0,0, ; + Margin = 0, ; + Name = "Text1" + *< END OBJECT: BaseClass="textbox" /> + + ADD OBJECT '_grdrow1.Column5.Check1' AS checkbox WITH ; + Alignment = 0, ; + Caption = "", ; + Height = 17, ; + Left = 21, ; + Name = "Check1", ; + ReadOnly = .T., ; + Top = 71, ; + Width = 60 + *< END OBJECT: BaseClass="checkbox" /> + + ADD OBJECT '_grdrow1.Column5.Header1' AS header WITH ; + Caption = "Somaj", ; + Name = "Header1" + *< END OBJECT: BaseClass="header" /> + + ADD OBJECT '_grdrow1.Column5.Text1' AS textbox WITH ; + BackColor = 255,255,255, ; + BorderStyle = 0, ; + ForeColor = 0,0,0, ; + Margin = 0, ; + Name = "Text1" + *< END OBJECT: BaseClass="textbox" /> + + ADD OBJECT 'But_modifica1' AS but_modifica WITH ; + Height = 27, ; + Left = 495, ; + Name = "But_modifica1", ; + Top = 0 + *< END OBJECT: ClassLib="cmd_butoane.vcx" BaseClass="commandbutton" /> + + ADD OBJECT 'But_nou1' AS but_nou WITH ; + Height = 27, ; + Left = 464, ; + Name = "But_nou1", ; + Top = 0 + *< END OBJECT: ClassLib="cmd_butoane.vcx" BaseClass="commandbutton" /> + + ADD OBJECT 'But_sterge1' AS but_sterge WITH ; + Height = 27, ; + Left = 526, ; + Name = "But_sterge1", ; + Top = 0 + *< END OBJECT: ClassLib="cmd_butoane.vcx" BaseClass="commandbutton" /> + + PROCEDURE actualizeaza_grid1 + LPARAMETERS pcFiltru + + LOCAL lcFiltru + + lcFiltru=pcFiltru + + *!* IF EMPTY(lcFiltru) + *!* lcFiltru=pocentr.ca_baza1.cfiltru + *!* ENDIF + save_grid_tag(thisform._grdrow1 ) + + DO update_nom_sporuri IN update_salarii.prg + restore_grid_tag(thisform._grdrow1) + thisform._grdrow1.SetFocus + + ENDPROC + + PROCEDURE do_adauga + PRIVATE pniesire,pnNr,pcNumeTata + + DO update_colcalc IN update_salarii.prg + pniesire=0 + + SELECT v_nomspor + SCATTER NAME loRec BLANK + + DO Adauga_Modifica_Inregistrare WITH "conf_spor",loRec,,"INSERT",,"aspor" + IF pniesire=1 + THIS.actualizeaza_grid1() + + + + ENDIF + + ENDPROC + + PROCEDURE do_modifica + Private pniesire,pcNumeTata + + DO update_colcalc IN update_salarii.prg + + pniesire=0 + Select v_nomspor + Scatter Name loRec + + Do Adauga_Modifica_Inregistrare With "conf_spor",loRec,loRec.id_sporuri,"UPDATE",,"mspor" + + If pniesire=1 + This.actualizeaza_grid1() + Endif + ENDPROC + + PROCEDURE do_sterge + SELECT v_nomspor + SCATTER NAME lorec + Do STERGE_INREGISTRARE With "conf_spor",loRec.id_sporuri + this.actualizeaza_grid1() + + ENDPROC + + PROCEDURE Init + DoDefault() + Thisform._grdrow1.cNume_tip_spor.DynamicBackColor = [IIF(EMPTY(NVL(nume_tip_spor,'')),RGB(255,0,0),IIF(NVL(data_inactiv,DATE(2099,12,31)) + + *-- OBJECTDATA items order determines ZOrder / El orden de los items OBJECTDATA determina el ZOrder + *< OBJECTDATA: ObjPath="Clb_tx_simplu1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="Cb_tx_simplu1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="Check1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="Check2" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="Check3" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="Cus_odata_conf_spor1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="Check4" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="Ct_clb_tip_spor" UniqueID="" Timestamp="" /> + + * + *m: do_cauta_tip_spor + *p: nid + *p: orec + * + + * + DoCreate = .T. + Height = 230 + Name = "frm_conf_spor_nou" + nid = .F. + orec = .F. + Width = 375 + _shape1.Name = "_shape1" + _shape2.Height = 29 + _shape2.Left = 309 + _shape2.Name = "_shape2" + _shape2.Top = 0 + _shape2.Width = 68 + Lb_titlu_alb_b121.Caption = "-" + Lb_titlu_alb_b121.Name = "Lb_titlu_alb_b121" + Lb_titlu_alb_b121.TabIndex = 10 + BUT_TERMIN1.Left = 344 + BUT_TERMIN1.Name = "BUT_TERMIN1" + BUT_TERMIN1.TabIndex = 8 + BUT_TERMIN1.Top = 1 + Gridsort1.Name = "Gridsort1" + BUT_RENUNT1.Left = 312 + BUT_RENUNT1.Name = "BUT_RENUNT1" + BUT_RENUNT1.TabIndex = 9 + BUT_RENUNT1.Top = 1 + * + + ADD OBJECT 'Cb_tx_simplu1' AS cb_tx_simplu WITH ; + Height = 29, ; + Left = 12, ; + Name = "Cb_tx_simplu1", ; + TabIndex = 4, ; + Top = 119, ; + Width = 312, ; + _CBBASE1.ControlSource = "porec.nume_col", ; + _CBBASE1.Height = 23, ; + _CBBASE1.Left = 124, ; + _CBBASE1.Name = "_CBBASE1", ; + _CBBASE1.RowSource = "v_colcalc.explicatie", ; + _CBBASE1.RowSourceType = 2, ; + _CBBASE1.Top = 3, ; + _LBBASE1.Caption = "Se calculeaza din:", ; + _LBBASE1.Name = "_LBBASE1" + *< END OBJECT: ClassLib="lb_tx.vcx" BaseClass="container" /> + + ADD OBJECT 'Check1' AS checkbox WITH ; + Alignment = 0, ; + AutoSize = .T., ; + BackStyle = 0, ; + Caption = "Suma fixa", ; + ControlSource = "porec.sumafixa", ; + Height = 17, ; + Left = 14, ; + Name = "Check1", ; + TabIndex = 3, ; + Top = 99, ; + Width = 72 + *< END OBJECT: BaseClass="checkbox" /> + + ADD OBJECT 'Check2' AS checkbox WITH ; + Alignment = 0, ; + AutoSize = .T., ; + BackStyle = 0, ; + Caption = "Spor permanent", ; + ControlSource = "porec.permanent", ; + Height = 17, ; + Left = 14, ; + Name = "Check2", ; + TabIndex = 5, ; + Top = 151, ; + Width = 107 + *< END OBJECT: BaseClass="checkbox" /> + + ADD OBJECT 'Check3' AS checkbox WITH ; + Alignment = 0, ; + AutoSize = .T., ; + BackStyle = 0, ; + Caption = "Participa la somaj", ; + ControlSource = "porec.somaj", ; + Height = 17, ; + Left = 14, ; + Name = "Check3", ; + TabIndex = 6, ; + Top = 172, ; + Width = 117 + *< END OBJECT: BaseClass="checkbox" /> + + ADD OBJECT 'Check4' AS checkbox WITH ; + Alignment = 0, ; + AutoSize = .T., ; + BackStyle = 0, ; + Caption = "Inactiv", ; + ControlSource = "porec.inactiv", ; + Height = 17, ; + Left = 14, ; + Name = "Check4", ; + TabIndex = 7, ; + Top = 193, ; + Width = 52 + *< END OBJECT: BaseClass="checkbox" /> + + ADD OBJECT 'Clb_tx_simplu1' AS clb_tx_simplu WITH ; + Height = 29, ; + Left = 12, ; + Name = "Clb_tx_simplu1", ; + TabIndex = 2, ; + Top = 65, ; + Width = 312, ; + TEXT_SIMPLU1.ControlSource = "porec.nume_spor", ; + TEXT_SIMPLU1.Left = 124, ; + TEXT_SIMPLU1.Name = "TEXT_SIMPLU1", ; + TEXT_SIMPLU1.Top = 3, ; + Lb_simplu1.Caption = "Spor", ; + Lb_simplu1.Name = "Lb_simplu1" + *< END OBJECT: ClassLib="lb_tx.vcx" BaseClass="container" /> + + ADD OBJECT 'Ct_clb_tip_spor' AS ct_clb_cautare_var WITH ; + cconditie = EMPTY(NVL(porec.id_tip_spor,0)), ; + cprocedura = Thisform.do_cauta_tip_spor, ; + cvar_afisata = porec.nume_tip_spor, ; + Left = 11, ; + Name = "Ct_clb_tip_spor", ; + TabIndex = 1, ; + Top = 36, ; + shape_cautare.Name = "shape_cautare", ; + img_cautare.Name = "img_cautare", ; + lb_cautare.Caption = "Tip spor", ; + lb_cautare.Name = "lb_cautare", ; + tx_cautare.Name = "tx_cautare" + *< END OBJECT: ClassLib="caut_ora.vcx" BaseClass="container" /> + + ADD OBJECT 'Cus_odata_conf_spor1' AS cus_odata_conf_spor WITH ; + Left = 336, ; + Name = "Cus_odata_conf_spor1", ; + Top = 180 + *< END OBJECT: ClassLib="onom_sal.vcx" BaseClass="custom" /> + + PROCEDURE Activate + IF thisform.check1.Value = 1 + thisform.cb_tx_simplu1.Enabled = .f. + + + ELSE + thisform.cb_tx_simplu1.Enabled = .t. + + ENDIF + ENDPROC + + PROCEDURE do_cauta_tip_spor + Local loTipSpor + loTipSpor = caut_tip_spor() + If gnButon<>2 + If !Empty(Nvl(loTipSpor.nume_tip_spor,[])) + poRec.nume_tip_spor = loTipSpor.nume_tip_spor + poRec.id_tip_spor = loTipSpor.id_tip_spor + If Empty(Nvl(poRec.nume_spor,[])) + poRec.nume_spor = Upper(loTipSpor.nume_tip_spor) + Thisform.clb_tx_simplu1.text_simplu1.Refresh() + Endif + Endif + Endif + + ENDPROC + + PROCEDURE inainte_de_do_termin + Local PLRETURN + PLRETURN = .F. + lccontrol = Upper(This.ActiveControl.BaseClass ) + If Inlist(lccontrol,"TEXTBOX","EDITBOX","COMBOBOX") + lcval=This.ActiveControl.ControlSource + &lcval=Thisform.ActiveControl.Value + Endif + Do Case + Case Empty(Nvl(poRec.id_tip_spor,0)) + amessagebox("Nu ati ales tipul sporului!",48,"Atentie") + Thisform.ct_clb_tip_spor.tx_cautare.SetFocus() + Case Empty(poRec.nume_spor) + amessagebox("Nu ati completat numele sporului!",48,"Atentie") + Thisform.clb_tx_simplu1.text_simplu1.SetFocus() + Otherwise + PLRETURN=This.cus_odata_conf_spor1.salvare(This.OREC,This.NID) + Endcase + + Return PLRETURN + ENDPROC + + PROCEDURE Init + Lparameters toRec, tnId, tcActiune + + DoDefault() + + This.orec= toRec + This.nid = tnId + + this.cus_odata_conf_spor1.cactiune = tcActiune + + + ENDPROC + + PROCEDURE Cb_tx_simplu1._CBBASE1.LostFocus + porec.id_calcdin = v_colcalc.id_coloana + ENDPROC + + PROCEDURE Check1.InteractiveChange + IF this.Value = 1 + thisform.cb_tx_simplu1.Enabled = .f. + porec.id_calcdin = 0 + + + ELSE + thisform.cb_tx_simplu1.Enabled = .t. + ENDIF + ENDPROC + +ENDDEFINE + +DEFINE CLASS frm_curscal AS frm_termin OF "_frm_child.vcx" + *< CLASSDATA: Baseclass="form" Timestamp="" Scale="Pixels" Uniqueid="" /> + + *-- OBJECTDATA items order determines ZOrder / El orden de los items OBJECTDATA determina el ZOrder + *< OBJECTDATA: ObjPath="_grdrow1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="_grdrow1.Column1.Header1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="_grdrow1.Column1.Text1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="_grdrow1.Column2.Header1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="_grdrow1.Column2.Check1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="But_nou1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="But_modifica1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="But_sterge1" UniqueID="" Timestamp="" /> + + * + DoCreate = .T. + Height = 308 + Name = "frm_curscal" + Width = 235 + _shape1.Anchor = 11 + _shape1.Name = "_shape1" + _shape2.Anchor = 9 + _shape2.Height = 29 + _shape2.Left = 120 + _shape2.Name = "_shape2" + _shape2.Top = -1 + _shape2.Width = 116 + Lb_titlu_alb_b121.Caption = "Cursuri" + Lb_titlu_alb_b121.Name = "Lb_titlu_alb_b121" + BUT_TERMIN1.Anchor = 9 + BUT_TERMIN1.Left = 204 + BUT_TERMIN1.Name = "BUT_TERMIN1" + BUT_TERMIN1.Top = 0 + Gridsort1.Name = "Gridsort1" + * + + ADD OBJECT '_grdrow1' AS _grdrow WITH ; + Anchor = 15, ; + ColumnCount = 2, ; + DeleteMark = .F., ; + Height = 264, ; + Left = 14, ; + Name = "_grdrow1", ; + Panel = 1, ; + RecordSource = "v_curscal", ; + Top = 39, ; + Width = 207, ; + Column1.ControlSource = "denumire", ; + Column1.Name = "Column1", ; + Column1.Width = 131, ; + Column2.ControlSource = "inactiv", ; + Column2.CurrentControl = "Check1", ; + Column2.Name = "Column2", ; + Column2.Sparse = .F., ; + Column2.Width = 40 + *< END OBJECT: ClassLib="_grd_base.vcx" BaseClass="grid" /> + + ADD OBJECT '_grdrow1.Column1.Header1' AS header WITH ; + Alignment = 2, ; + Caption = "Denumire", ; + Name = "Header1" + *< END OBJECT: BaseClass="header" /> + + ADD OBJECT '_grdrow1.Column1.Text1' AS textbox WITH ; + BackColor = 255,255,255, ; + BorderStyle = 0, ; + ForeColor = 0,0,0, ; + Margin = 0, ; + Name = "Text1" + *< END OBJECT: BaseClass="textbox" /> + + ADD OBJECT '_grdrow1.Column2.Check1' AS checkbox WITH ; + Alignment = 0, ; + Caption = "", ; + Height = 17, ; + Left = 19, ; + Name = "Check1", ; + Top = 56, ; + Width = 60 + *< END OBJECT: BaseClass="checkbox" /> + + ADD OBJECT '_grdrow1.Column2.Header1' AS header WITH ; + Alignment = 2, ; + Caption = "Inactiv", ; + Name = "Header1" + *< END OBJECT: BaseClass="header" /> + + ADD OBJECT 'But_modifica1' AS but_modifica WITH ; + Anchor = 9, ; + Left = 148, ; + Name = "But_modifica1", ; + Top = 0 + *< END OBJECT: ClassLib="cmd_butoane.vcx" BaseClass="commandbutton" /> + + ADD OBJECT 'But_nou1' AS but_nou WITH ; + Anchor = 9, ; + Left = 119, ; + Name = "But_nou1", ; + Top = 0 + *< END OBJECT: ClassLib="cmd_butoane.vcx" BaseClass="commandbutton" /> + + ADD OBJECT 'But_sterge1' AS but_sterge WITH ; + Anchor = 9, ; + Left = 177, ; + Name = "But_sterge1", ; + Top = 0 + *< END OBJECT: ClassLib="cmd_butoane.vcx" BaseClass="commandbutton" /> + + PROCEDURE actualizeaza_grid1 + LPARAMETERS pcFiltru + LOCAL lcFiltru + lcFiltru=pcFiltru + IF EMPTY(lcFiltru) + lcFiltru=ponomgrp.ca_baza1.cfiltru + ENDIF + save_grid_tag(thisform._grdrow1) + ponomgrp.ca_baza1.cfiltru=lcFiltru + ponomgrp.ca_baza1.afisare() + restore_grid_tag(thisform._grdrow1) + *!* IF RECCOUNT('v_delegati')>0 + thisform._grdrow1.SetFocus() + *!* ELSE + *!* thisform.lb_delegati.SetFocus() + *!* ENDIF + + ENDPROC + + PROCEDURE do_adauga + Private pniesire + pniesire=0 + Select v_curscal + *!* pcNume = loRec.nume + *!* pcPrenume = loRec.prenume + Scatter Name loRec Blank + Do Adauga_Modifica_Inregistrare With "curscal",loRec,,"INSERT",,"addcurs" + + + If pniesire=1 + This.actualizeaza_grid1() + Endif + + ENDPROC + + PROCEDURE do_modifica + Private pniesire + pniesire=0 + Select v_curscal + Scatter Name loRec + *!* pcNume = loRec.nume + *!* pcPrenume = loRec.prenume + Do Adauga_Modifica_Inregistrare With "curscal",loRec,loRec.id_c,"UPDATE",,"modcurs" + + If pniesire=1 + This.actualizeaza_grid1() + Endif + + + ENDPROC + + PROCEDURE do_sterge + SELECT v_curscal + SCATTER NAME lorec + Do STERGE_INREGISTRARE With "curscal",loRec.id_c + This.actualizeaza_grid1() + ENDPROC + +ENDDEFINE + +DEFINE CLASS frm_curscal_nou AS frm_termin_renunt OF "_frm_child.vcx" + *< CLASSDATA: Baseclass="form" Timestamp="" Scale="Pixels" Uniqueid="" /> + + *-- OBJECTDATA items order determines ZOrder / El orden de los items OBJECTDATA determina el ZOrder + *< OBJECTDATA: ObjPath="Cus_odata_curscal1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="Clb_tx_simplu1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="_checkbox1" UniqueID="" Timestamp="" /> + + * + *p: nid + *p: orec + * + + * + DoCreate = .T. + Height = 106 + Name = "frm_curscal_nou" + nid = .F. + orec = .F. + Width = 375 + _shape1.Anchor = 11 + _shape1.Name = "_shape1" + _shape2.Anchor = 9 + _shape2.Height = 29 + _shape2.Left = 314 + _shape2.Name = "_shape2" + _shape2.Top = 0 + _shape2.Width = 62 + Lb_titlu_alb_b121.Caption = "Curs calificare" + Lb_titlu_alb_b121.Name = "Lb_titlu_alb_b121" + Lb_titlu_alb_b121.TabIndex = 5 + BUT_TERMIN1.Anchor = 9 + BUT_TERMIN1.Left = 345 + BUT_TERMIN1.Name = "BUT_TERMIN1" + BUT_TERMIN1.TabIndex = 3 + BUT_TERMIN1.Top = 1 + Gridsort1.Name = "Gridsort1" + But_renunt1.Anchor = 9 + But_renunt1.Left = 316 + But_renunt1.Name = "But_renunt1" + But_renunt1.TabIndex = 4 + But_renunt1.Top = 1 + * + + ADD OBJECT '_checkbox1' AS _checkbox WITH ; + Alignment = 0, ; + Caption = "Inactiv", ; + ControlSource = "porec.inactiv", ; + Left = 48, ; + Name = "_checkbox1", ; + TabIndex = 2, ; + Top = 77 + *< END OBJECT: ClassLib="_baza.vcx" BaseClass="checkbox" /> + + ADD OBJECT 'Clb_tx_simplu1' AS clb_tx_simplu WITH ; + Left = 36, ; + Name = "Clb_tx_simplu1", ; + TabIndex = 1, ; + Top = 41, ; + Text_simplu1.ControlSource = "porec.denumire", ; + Text_simplu1.Name = "Text_simplu1", ; + Lb_simplu1.Caption = "Denumire curs:", ; + Lb_simplu1.Name = "Lb_simplu1" + *< END OBJECT: ClassLib="lb_tx.vcx" BaseClass="container" /> + + ADD OBJECT 'Cus_odata_curscal1' AS cus_odata_curscal WITH ; + Left = 324, ; + Name = "Cus_odata_curscal1", ; + Top = 48 + *< END OBJECT: ClassLib="onom_sal.vcx" BaseClass="custom" /> + + PROCEDURE inainte_de_do_termin + Local PLRETURN + + lccontrol = Upper(This.ActiveControl.BaseClass ) + If Inlist(lccontrol,"TEXTBOX","EDITBOX","COMBOBOX") + lcval=This.ActiveControl.ControlSource + &lcval=Thisform.ActiveControl.Value + Endif + + *!* Do Case + *!* Case Empty(porec.tip_contract) + *!* Messagebox('Nu ati completat formatia!',0+48,"Atentie") + *!* This.clb_tx_simplu1._cbbase1.SetFocus() + *!* PLRETURN=.F. + *!* Otherwise + + PLRETURN=this.cus_odata_curscal1.salvare(This.OREC,This.NID) + + + *!* ENDIF + *!* Endcase + Return PLRETURN + + + + ENDPROC + + PROCEDURE Init + Lparameters toRec, tnId, tcActiune + + DoDefault() + + This.orec= toRec + This.nid = tnId + this.cus_odata_curscal1.cactiune = tcActiune + + ENDPROC + +ENDDEFINE + +DEFINE CLASS frm_formatii AS _frmbase OF "_frm_base.vcx" + *< CLASSDATA: Baseclass="form" Timestamp="" Scale="Pixels" Uniqueid="" /> + + *-- OBJECTDATA items order determines ZOrder / El orden de los items OBJECTDATA determina el ZOrder + *< OBJECTDATA: ObjPath="_grdrow1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="_grdrow1.Column1.Header1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="_grdrow1.Column1.Text1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="_grdrow1.Column2.Header1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="_grdrow1.Column2.Text1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="_grdrow1.Column3.Header1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="_grdrow1.Column3.Text1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="_grdrow1.Column4.Header1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="_grdrow1.Column4.Text1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="_grdrow1.Column5.Header1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="_grdrow1.Column5.Text1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="But_nou1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="But_modifica1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="But_sterge1" UniqueID="" Timestamp="" /> + + * + DoCreate = .T. + Height = 434 + Name = "frm_formatii" + Width = 652 + _shape1.Anchor = 11 + _shape1.Height = 29 + _shape1.Left = 0 + _shape1.Name = "_shape1" + _shape1.Top = 0 + _shape1.Width = 732 + _shape2.Anchor = 9 + _shape2.Height = 29 + _shape2.Left = 516 + _shape2.Name = "_shape2" + _shape2.Top = 0 + _shape2.Width = 131 + Lb_titlu_alb_b121.Caption = "Formaþii" + Lb_titlu_alb_b121.Name = "Lb_titlu_alb_b121" + BUT_TERMIN1.Anchor = 9 + BUT_TERMIN1.Left = 615 + BUT_TERMIN1.Name = "BUT_TERMIN1" + BUT_TERMIN1.Top = 1 + Gridsort1.Name = "Gridsort1" + * + + ADD OBJECT '_grdrow1' AS _grdrow WITH ; + Anchor = 15, ; + ColumnCount = 5, ; + DeleteMark = .F., ; + Height = 372, ; + Left = 12, ; + Name = "_grdrow1", ; + Panel = 1, ; + ReadOnly = .T., ; + Top = 48, ; + Width = 624, ; + Column1.ControlSource = "denumire", ; + Column1.Name = "Column1", ; + Column1.ReadOnly = .T., ; + Column1.Width = 153, ; + Column2.ControlSource = "sectiE", ; + Column2.Name = "Column2", ; + Column2.ReadOnly = .T., ; + Column2.Width = 116, ; + Column3.ControlSource = "transa", ; + Column3.Name = "Column3", ; + Column3.ReadOnly = .T., ; + Column3.Width = 87, ; + Column4.ControlSource = "ordine", ; + Column4.Name = "Column4", ; + Column4.ReadOnly = .T., ; + Column4.Width = 41, ; + Column5.ControlSource = "semnatura", ; + Column5.Name = "Column5", ; + Column5.ReadOnly = .T., ; + Column5.Width = 193 + *< END OBJECT: ClassLib="_grd_base.vcx" BaseClass="grid" /> + + ADD OBJECT '_grdrow1.Column1.Header1' AS header WITH ; + Alignment = 2, ; + Caption = "Formatia", ; + Name = "Header1" + *< END OBJECT: BaseClass="header" /> + + ADD OBJECT '_grdrow1.Column1.Text1' AS textbox WITH ; + BackColor = 255,255,255, ; + BorderStyle = 0, ; + ForeColor = 0,0,0, ; + Margin = 0, ; + Name = "Text1", ; + ReadOnly = .T., ; + SelectedBackColor = 100,185,255 + *< END OBJECT: BaseClass="textbox" /> + + ADD OBJECT '_grdrow1.Column2.Header1' AS header WITH ; + Alignment = 2, ; + Caption = "Sectia", ; + Name = "Header1" + *< END OBJECT: BaseClass="header" /> + + ADD OBJECT '_grdrow1.Column2.Text1' AS textbox WITH ; + BackColor = 255,255,255, ; + BorderStyle = 0, ; + ForeColor = 0,0,0, ; + Margin = 0, ; + Name = "Text1", ; + ReadOnly = .T., ; + SelectedBackColor = 100,185,255 + *< END OBJECT: BaseClass="textbox" /> + + ADD OBJECT '_grdrow1.Column3.Header1' AS header WITH ; + Alignment = 2, ; + Caption = "Transa", ; + Name = "Header1" + *< END OBJECT: BaseClass="header" /> + + ADD OBJECT '_grdrow1.Column3.Text1' AS textbox WITH ; + BackColor = 255,255,255, ; + BorderStyle = 0, ; + ForeColor = 0,0,0, ; + Margin = 0, ; + Name = "Text1", ; + ReadOnly = .T., ; + SelectedBackColor = 100,185,255 + *< END OBJECT: BaseClass="textbox" /> + + ADD OBJECT '_grdrow1.Column4.Header1' AS header WITH ; + Alignment = 2, ; + Caption = "Ordine", ; + Name = "Header1" + *< END OBJECT: BaseClass="header" /> + + ADD OBJECT '_grdrow1.Column4.Text1' AS textbox WITH ; + BackColor = 255,255,255, ; + BorderStyle = 0, ; + ForeColor = 0,0,0, ; + Margin = 0, ; + Name = "Text1", ; + ReadOnly = .T., ; + SelectedBackColor = 100,185,255 + *< END OBJECT: BaseClass="textbox" /> + + ADD OBJECT '_grdrow1.Column5.Header1' AS header WITH ; + Alignment = 2, ; + Caption = "Semnatura", ; + Name = "Header1" + *< END OBJECT: BaseClass="header" /> + + ADD OBJECT '_grdrow1.Column5.Text1' AS textbox WITH ; + BackColor = 255,255,255, ; + BorderStyle = 0, ; + ForeColor = 0,0,0, ; + Margin = 0, ; + Name = "Text1", ; + SelectedBackColor = 100,185,255 + *< END OBJECT: BaseClass="textbox" /> + + ADD OBJECT 'But_modifica1' AS but_modifica WITH ; + Anchor = 9, ; + Left = 551, ; + Name = "But_modifica1", ; + Top = 1 + *< END OBJECT: ClassLib="cmd_butoane.vcx" BaseClass="commandbutton" /> + + ADD OBJECT 'But_nou1' AS but_nou WITH ; + Anchor = 9, ; + Left = 519, ; + Name = "But_nou1", ; + Top = 1 + *< END OBJECT: ClassLib="cmd_butoane.vcx" BaseClass="commandbutton" /> + + ADD OBJECT 'But_sterge1' AS but_sterge WITH ; + Anchor = 9, ; + Left = 583, ; + Name = "But_sterge1", ; + Top = 1 + *< END OBJECT: ClassLib="cmd_butoane.vcx" BaseClass="commandbutton" /> + + PROCEDURE actualizeaza_grid1 + LPARAMETERS pcFiltru + LOCAL lcFiltru + lcFiltru=pcFiltru + IF EMPTY(lcFiltru) + lcFiltru=poformatii.ca_baza1.cfiltru + ENDIF + save_grid_tag(thisform._grdrow1) + poformatii.ca_baza1.cfiltru=lcFiltru + poformatii.ca_baza1.afisare() + restore_grid_tag(thisform._grdrow1) + thisform._grdrow1.SetFocus() + + ENDPROC + + PROCEDURE do_adauga + Private pniesire + Do update_sectie In update_roadef_sal.prg + Do update_transe In update_roadef_sal.prg + DO update_semnaturi In update_roadef_sal.prg + pniesire=0 + Select v_formatii + *!* pcNume = loRec.nume + *!* pcPrenume = loRec.prenume + Scatter Name loRec Blank + Do Adauga_Modifica_Inregistrare With "FORMATII",loRec,,"INSERT",,"addform" + IF USED('v_sectie') + USE IN v_sectie + ENDIF + IF USED('v_transe') + USE IN v_transe + ENDIF + If pniesire=1 + This.actualizeaza_grid1() + Endif + + ENDPROC + + PROCEDURE do_modifica + Private pniesire + Do update_sectie In update_roadef_sal.prg + Do update_transe In update_roadef_sal.prg + DO update_semnaturi In update_roadef_sal.prg + + pniesire=0 + Select v_formatii + Scatter Name loRec + *!* pcNume = loRec.nume + *!* pcPrenume = loRec.prenume + IF gnSAL_SPECIAL = 4 AND gnIdProgram = 9 + Do Adauga_Modifica_Inregistrare With "formatii",loRec,loRec.id_locmunca,"UPDATE",,"modform" + + ELSE + Do Adauga_Modifica_Inregistrare With "FORMATII",loRec,loRec.id_FORMATIA,"UPDATE",,"modform" + ENDIF + IF USED('v_sectie') + USE IN v_sectie + ENDIF + IF USED('v_transe') + USE IN v_transe + ENDIF + If pniesire=1 + This.actualizeaza_grid1() + Endif + + + ENDPROC + + PROCEDURE do_sterge + SELECT v_formatii + SCATTER NAME lorec + IF gnSAL_SPECIAL = 4 AND gnIdProgram = 9 + Do STERGE_INREGISTRARE With "formatii",loRec.id_locmunca + ELSE + Do STERGE_INREGISTRARE With "formatii",loRec.id_formatia + ENDIF + This.actualizeaza_grid1() + ENDPROC + + PROCEDURE Init + IF gnSAL_SPECIAL = 4 AND gnIdProgram = 9 + thisform.lb_titlu_alb_b121.Caption = 'Locuri de munca' + thisform._grdrow1.column1.header1.Caption='Loc de munca' + thisform._grdrow1.column2.header1.Caption='Partener' + thisform._grdrow1.column3.header1.Caption='Activitate' + ENDIF + DODEFAULT() + ENDPROC + +ENDDEFINE + +DEFINE CLASS frm_formatii_nou AS frm_termin_renunt OF "_frm_child.vcx" + *< CLASSDATA: Baseclass="form" Timestamp="" Scale="Pixels" Uniqueid="" /> + + *-- OBJECTDATA items order determines ZOrder / El orden de los items OBJECTDATA determina el ZOrder + *< OBJECTDATA: ObjPath="Cb_tx_simplu1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="Cb_tx_simplu2" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="Clb_tx_simplu1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="Clb_tx_simplu2" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="_checkbox1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="Cus_odata_formatii1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="Cb_tx_simplu3" UniqueID="" Timestamp="" /> + + * + *p: nid + *p: orec + * + + * + DoCreate = .T. + Height = 222 + Name = "frm_formatii_nou" + nid = .F. + orec = .F. + Width = 565 + _shape1.Anchor = 11 + _shape1.Height = 29 + _shape1.Left = 0 + _shape1.Name = "_shape1" + _shape1.Top = 0 + _shape1.Width = 624 + _shape2.Anchor = 9 + _shape2.Height = 29 + _shape2.Left = 504 + _shape2.Name = "_shape2" + _shape2.Top = 0 + _shape2.Width = 63 + Lb_titlu_alb_b121.Caption = "Adãugare / modificare formaþie" + Lb_titlu_alb_b121.Name = "Lb_titlu_alb_b121" + Lb_titlu_alb_b121.TabIndex = 9 + BUT_TERMIN1.Anchor = 9 + BUT_TERMIN1.Left = 534 + BUT_TERMIN1.Name = "BUT_TERMIN1" + BUT_TERMIN1.TabIndex = 6 + BUT_TERMIN1.Top = 0 + Gridsort1.Name = "Gridsort1" + But_renunt1.Anchor = 9 + But_renunt1.Left = 504 + But_renunt1.Name = "But_renunt1" + But_renunt1.TabIndex = 7 + But_renunt1.Top = 0 + * + + ADD OBJECT '_checkbox1' AS _checkbox WITH ; + Alignment = 0, ; + Caption = "Inactiv", ; + ControlSource = "porec.inactiv", ; + Left = 30, ; + Name = "_checkbox1", ; + TabIndex = 8, ; + Top = 197 + *< END OBJECT: ClassLib="_baza.vcx" BaseClass="checkbox" /> + + ADD OBJECT 'Cb_tx_simplu1' AS cb_tx_simplu WITH ; + Height = 29, ; + Left = 24, ; + Name = "Cb_tx_simplu1", ; + TabIndex = 2, ; + Top = 73, ; + Width = 530, ; + _cbbase1.ControlSource = "porec.sectie", ; + _cbbase1.Name = "_cbbase1", ; + _cbbase1.RowSource = "v_sectie.sectie", ; + _cbbase1.RowSourceType = 2, ; + _cbbase1.Width = 424, ; + _lbbase1.Caption = "Secþia", ; + _lbbase1.Name = "_lbbase1" + *< END OBJECT: ClassLib="lb_tx.vcx" BaseClass="container" /> + + ADD OBJECT 'Cb_tx_simplu2' AS cb_tx_simplu WITH ; + Height = 29, ; + Left = 24, ; + Name = "Cb_tx_simplu2", ; + TabIndex = 3, ; + Top = 101, ; + Width = 530, ; + _cbbase1.ControlSource = "porec.transa", ; + _cbbase1.Name = "_cbbase1", ; + _cbbase1.RowSource = "v_transe.transa", ; + _cbbase1.RowSourceType = 2, ; + _cbbase1.Width = 424, ; + _lbbase1.Caption = "Tranºa", ; + _lbbase1.Name = "_lbbase1" + *< END OBJECT: ClassLib="lb_tx.vcx" BaseClass="container" /> + + ADD OBJECT 'Cb_tx_simplu3' AS cb_tx_simplu WITH ; + Height = 29, ; + Left = 24, ; + Name = "Cb_tx_simplu3", ; + TabIndex = 4, ; + Top = 131, ; + Width = 530, ; + _cbbase1.ControlSource = "porec.semnatura", ; + _cbbase1.Name = "_cbbase1", ; + _cbbase1.RowSource = "v_semnaturi.semnatura", ; + _cbbase1.RowSourceType = 2, ; + _cbbase1.Width = 424, ; + _lbbase1.Caption = "Semnatura", ; + _lbbase1.Name = "_lbbase1" + *< END OBJECT: ClassLib="lb_tx.vcx" BaseClass="container" /> + + ADD OBJECT 'Clb_tx_simplu1' AS clb_tx_simplu WITH ; + Height = 29, ; + Left = 24, ; + Name = "Clb_tx_simplu1", ; + TabIndex = 1, ; + Top = 45, ; + Width = 530, ; + TEXT_SIMPLU1.ControlSource = "porec.denumire", ; + TEXT_SIMPLU1.Height = 23, ; + TEXT_SIMPLU1.Left = 101, ; + TEXT_SIMPLU1.Name = "TEXT_SIMPLU1", ; + TEXT_SIMPLU1.Top = 3, ; + TEXT_SIMPLU1.Width = 424, ; + LB_SIMPLU1.Caption = "Formaþia", ; + LB_SIMPLU1.Name = "LB_SIMPLU1" + *< END OBJECT: ClassLib="lb_tx.vcx" BaseClass="container" /> + + ADD OBJECT 'Clb_tx_simplu2' AS clb_tx_simplu WITH ; + Left = 24, ; + Name = "Clb_tx_simplu2", ; + TabIndex = 5, ; + Top = 161, ; + TEXT_SIMPLU1.ControlSource = "porec.ordine", ; + TEXT_SIMPLU1.Name = "TEXT_SIMPLU1", ; + LB_SIMPLU1.Caption = "Ordine", ; + LB_SIMPLU1.Name = "LB_SIMPLU1" + *< END OBJECT: ClassLib="lb_tx.vcx" BaseClass="container" /> + + ADD OBJECT 'Cus_odata_formatii1' AS cus_odata_formatii WITH ; + Left = 161, ; + Name = "Cus_odata_formatii1", ; + Top = 202 + *< END OBJECT: ClassLib="onom_sal.vcx" BaseClass="custom" /> + + PROCEDURE inainte_de_do_termin + Local PLRETURN + + lccontrol = Upper(This.ActiveControl.BaseClass ) + If Inlist(lccontrol,"TEXTBOX","EDITBOX","COMBOBOX") + lcval=This.ActiveControl.ControlSource + &lcval=Thisform.ActiveControl.Value + Endif + + Do Case + Case Empty(porec.denumire) + Messagebox('Nu ati completat formatia!',0+48,"Atentie") + This.clb_tx_simplu1._cbbase1.SetFocus() + PLRETURN=.F. + Otherwise + + PLRETURN=this.cus_odata_formatii1.salvare(This.OREC,This.NID) + + *!* ENDIF + Endcase + Return PLRETURN + + + + ENDPROC + + PROCEDURE Init + Lparameters toRec, tnId, tcActiune + + DoDefault() + + This.orec= toRec + This.nid = tnId + this.cus_odata_formatii1.cactiune = tcActiune + + IF gnSAL_SPECIAL = 4 AND gnIdProgram = 9 + thisform.lb_titlu_alb_b121.Caption = 'Loc de munca' + thisform.clb_tx_simplu1.lB_SIMPLU1.Caption ='Loc munca' + thisform.cb_tx_simplu1._LBBASE1.Caption='Partener' + thisform.cb_tx_simplu2._LBBASE1.Caption='Activitate' + ENDIF + ENDPROC + + PROCEDURE Cb_tx_simplu1._cbbase1.LostFocus + porec.id_sectie = v_sectie.id_sectie + ENDPROC + + PROCEDURE Cb_tx_simplu2._cbbase1.LostFocus + porec.id_TRANSA = v_TRANSE.id_TRANSA + ENDPROC + + PROCEDURE Cb_tx_simplu3._cbbase1.LostFocus + porec.id_semnatura = v_semnaturi.id_semnatura + ENDPROC + +ENDDEFINE + +DEFINE CLASS frm_grdhand AS frm_termin OF "_frm_child.vcx" + *< CLASSDATA: Baseclass="form" Timestamp="" Scale="Pixels" Uniqueid="" /> + + *-- OBJECTDATA items order determines ZOrder / El orden de los items OBJECTDATA determina el ZOrder + *< OBJECTDATA: ObjPath="_grdrow1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="_grdrow1.Column1.Header1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="_grdrow1.Column1.Text1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="_grdrow1.Column2.Header1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="_grdrow1.Column2.Text1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="But_nou1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="But_modifica1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="But_sterge1" UniqueID="" Timestamp="" /> + + * + DoCreate = .T. + Height = 250 + Name = "frm_grdhand" + Width = 316 + _shape1.Anchor = 11 + _shape1.Name = "_shape1" + _shape2.Anchor = 9 + _shape2.Height = 29 + _shape2.Left = 192 + _shape2.Name = "_shape2" + _shape2.Top = 0 + _shape2.Width = 124 + Lb_titlu_alb_b121.Caption = "Grupe de handicap" + Lb_titlu_alb_b121.Name = "Lb_titlu_alb_b121" + BUT_TERMIN1.Anchor = 9 + BUT_TERMIN1.Left = 284 + BUT_TERMIN1.Name = "BUT_TERMIN1" + BUT_TERMIN1.Top = 1 + Gridsort1.Name = "Gridsort1" + * + + ADD OBJECT '_grdrow1' AS _grdrow WITH ; + Anchor = 15, ; + ColumnCount = 2, ; + DeleteMark = .F., ; + Height = 200, ; + Left = 14, ; + Name = "_grdrow1", ; + Panel = 1, ; + RecordSource = "v_nomhand", ; + Top = 39, ; + Width = 280, ; + Column1.ControlSource = "denumire", ; + Column1.Name = "Column1", ; + Column1.Width = 164, ; + Column2.ControlSource = "c_handicap", ; + Column2.Name = "Column2", ; + Column2.Width = 84 + *< END OBJECT: ClassLib="_grd_base.vcx" BaseClass="grid" /> + + ADD OBJECT '_grdrow1.Column1.Header1' AS header WITH ; + Caption = "Denumire", ; + Name = "Header1" + *< END OBJECT: BaseClass="header" /> + + ADD OBJECT '_grdrow1.Column1.Text1' AS textbox WITH ; + BackColor = 255,255,255, ; + BorderStyle = 0, ; + ForeColor = 0,0,0, ; + Margin = 0, ; + Name = "Text1" + *< END OBJECT: BaseClass="textbox" /> + + ADD OBJECT '_grdrow1.Column2.Header1' AS header WITH ; + Caption = "Coef. handicap", ; + Name = "Header1" + *< END OBJECT: BaseClass="header" /> + + ADD OBJECT '_grdrow1.Column2.Text1' AS textbox WITH ; + BackColor = 255,255,255, ; + BorderStyle = 0, ; + ForeColor = 0,0,0, ; + Margin = 0, ; + Name = "Text1" + *< END OBJECT: BaseClass="textbox" /> + + ADD OBJECT 'But_modifica1' AS but_modifica WITH ; + Anchor = 9, ; + Left = 225, ; + Name = "But_modifica1", ; + Top = 1 + *< END OBJECT: ClassLib="cmd_butoane.vcx" BaseClass="commandbutton" /> + + ADD OBJECT 'But_nou1' AS but_nou WITH ; + Anchor = 9, ; + Left = 195, ; + Name = "But_nou1", ; + Top = 1 + *< END OBJECT: ClassLib="cmd_butoane.vcx" BaseClass="commandbutton" /> + + ADD OBJECT 'But_sterge1' AS but_sterge WITH ; + Anchor = 9, ; + Left = 254, ; + Name = "But_sterge1", ; + Top = 1 + *< END OBJECT: ClassLib="cmd_butoane.vcx" BaseClass="commandbutton" /> + + PROCEDURE actualizeaza_grid1 + LPARAMETERS pcFiltru + LOCAL lcFiltru + lcFiltru=pcFiltru + IF EMPTY(lcFiltru) + lcFiltru=ponomgrp.ca_baza1.cfiltru + ENDIF + save_grid_tag(thisform._grdrow1) + ponomgrp.ca_baza1.cfiltru=lcFiltru + ponomgrp.ca_baza1.afisare() + restore_grid_tag(thisform._grdrow1) + *!* IF RECCOUNT('v_delegati')>0 + thisform._grdrow1.SetFocus() + *!* ELSE + *!* thisform.lb_delegati.SetFocus() + *!* ENDIF + ENDPROC + + PROCEDURE do_adauga + Private pniesire + pniesire=0 + Select v_nomhand + Scatter Name loRec Blank + *!* DEBUG + *!* SUSPEND + Do Adauga_Modifica_Inregistrare With "grdhand",loRec,,"INSERT",,"addgrd" + If pniesire=1 + This.actualizeaza_grid1() + Endif + ENDPROC + + PROCEDURE do_modifica + Private pniesire + pniesire=0 + Select v_nomhand + Scatter Name loRec + Do Adauga_Modifica_Inregistrare With "grdhand",loRec,loRec.id_handicap,"UPDATE",,"modgrd" + If pniesire=1 + This.actualizeaza_grid1() + Endif + + + ENDPROC + + PROCEDURE do_sterge + SELECT v_nomhand + SCATTER NAME lorec + Do STERGE_INREGISTRARE With "grdhand",loRec.id_handicap + + this.actualizeaza_grid1() + + ENDPROC + +ENDDEFINE + +DEFINE CLASS frm_grdhand_nou AS frm_termin_renunt OF "_frm_child.vcx" + *< CLASSDATA: Baseclass="form" Timestamp="" Scale="Pixels" Uniqueid="" /> + + *-- OBJECTDATA items order determines ZOrder / El orden de los items OBJECTDATA determina el ZOrder + *< OBJECTDATA: ObjPath="Clb_tx_simplu1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="Clb_tx_simplu2" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="Cus_odata_grdhand1" UniqueID="" Timestamp="" /> + + * + *p: nid + *p: orec + * + + * + DoCreate = .T. + Height = 112 + Name = "frm_grdhand_nou" + nid = .F. + orec = .F. + Width = 375 + _shape1.Anchor = 11 + _shape1.Name = "_shape1" + _shape2.Anchor = 9 + _shape2.Height = 29 + _shape2.Left = 312 + _shape2.Name = "_shape2" + _shape2.Top = 0 + _shape2.Width = 64 + Lb_titlu_alb_b121.Caption = "Grupa de handicap" + Lb_titlu_alb_b121.Name = "Lb_titlu_alb_b121" + Lb_titlu_alb_b121.TabIndex = 5 + BUT_TERMIN1.Anchor = 9 + BUT_TERMIN1.Left = 345 + BUT_TERMIN1.Name = "BUT_TERMIN1" + BUT_TERMIN1.TabIndex = 3 + BUT_TERMIN1.Top = 1 + Gridsort1.Left = 9 + Gridsort1.Name = "Gridsort1" + Gridsort1.Top = 35 + BUT_RENUNT1.Anchor = 9 + BUT_RENUNT1.Left = 315 + BUT_RENUNT1.Name = "BUT_RENUNT1" + BUT_RENUNT1.TabIndex = 4 + BUT_RENUNT1.Top = 1 + * + + ADD OBJECT 'Clb_tx_simplu1' AS clb_tx_simplu WITH ; + Left = 42, ; + Name = "Clb_tx_simplu1", ; + TabIndex = 1, ; + Top = 37, ; + TEXT_SIMPLU1.ControlSource = "porec.denumire", ; + TEXT_SIMPLU1.Name = "TEXT_SIMPLU1", ; + LB_SIMPLU1.Caption = "Denumire", ; + LB_SIMPLU1.Name = "LB_SIMPLU1" + *< END OBJECT: ClassLib="lb_tx.vcx" BaseClass="container" /> + + ADD OBJECT 'Clb_tx_simplu2' AS clb_tx_simplu WITH ; + Left = 42, ; + Name = "Clb_tx_simplu2", ; + TabIndex = 2, ; + Top = 65, ; + TEXT_SIMPLU1.ControlSource = "porec.c_handicap", ; + TEXT_SIMPLU1.Name = "TEXT_SIMPLU1", ; + LB_SIMPLU1.Caption = "Coef. handicap", ; + LB_SIMPLU1.Name = "LB_SIMPLU1" + *< END OBJECT: ClassLib="lb_tx.vcx" BaseClass="container" /> + + ADD OBJECT 'Cus_odata_grdhand1' AS cus_odata_grdhand WITH ; + Left = 348, ; + Name = "Cus_odata_grdhand1", ; + Top = 48 + *< END OBJECT: ClassLib="onom_sal.vcx" BaseClass="custom" /> + + PROCEDURE inainte_de_do_termin + LOCAL PLRETURN + + lccontrol = UPPER(this.ActiveControl.BaseClass ) + IF INLIST(lccontrol,"TEXTBOX","EDITBOX","COMBOBOX") + lcval=This.Activecontrol.controlsource + &lcval=thisform.ActiveControl.value + ENDIF + + + Do Case + Case Empty(porec.denumire) + Messagebox('Nu ati completat denumirea!',0+48,"Atentie") + this.clb_tx_simplu1.text_simplu1.SetFocus() + + plreturn=.F. + + + + OTHERWISE + + PLRETURN=This.cus_odata_grdhand1.salvare(This.OREC,This.NID) + + ENDCASE + + Return PLRETURN + + + ENDPROC + + PROCEDURE Init + Lparameters toRec, tnId, tcActiune + + DoDefault() + + This.orec= toRec + This.nid = tnId + + this.cus_odata_grdhand1.cactiune = tcActiune + ENDPROC + +ENDDEFINE + +DEFINE CLASS frm_grilaco AS frm_termin OF "_frm_child.vcx" + *< CLASSDATA: Baseclass="form" Timestamp="" Scale="Pixels" Uniqueid="" /> + + *-- OBJECTDATA items order determines ZOrder / El orden de los items OBJECTDATA determina el ZOrder + *< OBJECTDATA: ObjPath="_grdrow1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="_grdrow1.Column1.Header1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="_grdrow1.Column1.Text1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="_grdrow1.Column2.Header1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="_grdrow1.Column2.Text1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="_grdrow1.Column3.Header1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="_grdrow1.Column3.Text1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="_grdrow1.Column4.Header1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="_grdrow1.Column4.Text1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="_grdrow1.Column5.Header1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="_grdrow1.Column5.Text1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="But_nou1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="But_modifica1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="But_sterge1" UniqueID="" Timestamp="" /> + + * + DoCreate = .T. + Height = 426 + Name = "frm_grilaco" + Width = 374 + _shape1.Anchor = 11 + _shape1.Height = 29 + _shape1.Left = 0 + _shape1.Name = "_shape1" + _shape1.Top = 0 + _shape1.Width = 372 + _shape2.Anchor = 9 + _shape2.Height = 29 + _shape2.Left = 251 + _shape2.Name = "_shape2" + _shape2.Top = 0 + _shape2.Width = 122 + Lb_titlu_alb_b121.Caption = "Grilã zile CO" + Lb_titlu_alb_b121.Name = "Lb_titlu_alb_b121" + BUT_TERMIN1.Anchor = 9 + BUT_TERMIN1.Left = 341 + BUT_TERMIN1.Name = "BUT_TERMIN1" + BUT_TERMIN1.Top = 1 + Gridsort1.Name = "Gridsort1" + * + + ADD OBJECT '_grdrow1' AS _grdrow WITH ; + Anchor = 15, ; + ColumnCount = 5, ; + DeleteMark = .F., ; + Height = 369, ; + Left = 12, ; + Name = "_grdrow1", ; + Panel = 1, ; + RecordSource = "v_grilaco", ; + Top = 39, ; + Width = 348, ; + Column1.ControlSource = "liminf", ; + Column1.Name = "Column1", ; + Column1.Width = 80, ; + Column2.ControlSource = "limsup", ; + Column2.Name = "Column2", ; + Column2.Width = 86, ; + Column3.ColumnOrder = 5, ; + Column3.ControlSource = "zile", ; + Column3.Name = "Column3", ; + Column3.Width = 49, ; + Column4.ColumnOrder = 3, ; + Column4.ControlSource = "datai", ; + Column4.Name = "Column4", ; + Column4.Width = 47, ; + Column5.ColumnOrder = 4, ; + Column5.ControlSource = "datas", ; + Column5.Name = "Column5", ; + Column5.Width = 48 + *< END OBJECT: ClassLib="_grd_base.vcx" BaseClass="grid" /> + + ADD OBJECT '_grdrow1.Column1.Header1' AS header WITH ; + Alignment = 2, ; + Caption = "Limita inf (ani)", ; + Name = "Header1" + *< END OBJECT: BaseClass="header" /> + + ADD OBJECT '_grdrow1.Column1.Text1' AS textbox WITH ; + BackColor = 255,255,255, ; + BorderStyle = 0, ; + ForeColor = 0,0,0, ; + Margin = 0, ; + Name = "Text1" + *< END OBJECT: BaseClass="textbox" /> + + ADD OBJECT '_grdrow1.Column2.Header1' AS header WITH ; + Alignment = 2, ; + Caption = "Limita sup (ani)", ; + Name = "Header1" + *< END OBJECT: BaseClass="header" /> + + ADD OBJECT '_grdrow1.Column2.Text1' AS textbox WITH ; + BackColor = 255,255,255, ; + BorderStyle = 0, ; + ForeColor = 0,0,0, ; + Margin = 0, ; + Name = "Text1" + *< END OBJECT: BaseClass="textbox" /> + + ADD OBJECT '_grdrow1.Column3.Header1' AS header WITH ; + Alignment = 2, ; + Caption = "Nr. zile", ; + Name = "Header1" + *< END OBJECT: BaseClass="header" /> + + ADD OBJECT '_grdrow1.Column3.Text1' AS textbox WITH ; + BackColor = 255,255,255, ; + BorderStyle = 0, ; + ForeColor = 0,0,0, ; + Margin = 0, ; + Name = "Text1" + *< END OBJECT: BaseClass="textbox" /> + + ADD OBJECT '_grdrow1.Column4.Header1' AS header WITH ; + Alignment = 2, ; + Caption = "Data inc.", ; + Name = "Header1" + *< END OBJECT: BaseClass="header" /> + + ADD OBJECT '_grdrow1.Column4.Text1' AS textbox WITH ; + BackColor = 255,255,255, ; + BorderStyle = 0, ; + ForeColor = 0,0,0, ; + Margin = 0, ; + Name = "Text1" + *< END OBJECT: BaseClass="textbox" /> + + ADD OBJECT '_grdrow1.Column5.Header1' AS header WITH ; + Alignment = 2, ; + Caption = "Data sf.", ; + Name = "Header1" + *< END OBJECT: BaseClass="header" /> + + ADD OBJECT '_grdrow1.Column5.Text1' AS textbox WITH ; + BackColor = 255,255,255, ; + BorderStyle = 0, ; + ForeColor = 0,0,0, ; + Margin = 0, ; + Name = "Text1" + *< END OBJECT: BaseClass="textbox" /> + + ADD OBJECT 'But_modifica1' AS but_modifica WITH ; + Anchor = 9, ; + Height = 27, ; + Left = 281, ; + Name = "But_modifica1", ; + Top = 1 + *< END OBJECT: ClassLib="cmd_butoane.vcx" BaseClass="commandbutton" /> + + ADD OBJECT 'But_nou1' AS but_nou WITH ; + Anchor = 9, ; + Height = 27, ; + Left = 251, ; + Name = "But_nou1", ; + Top = 1 + *< END OBJECT: ClassLib="cmd_butoane.vcx" BaseClass="commandbutton" /> + + ADD OBJECT 'But_sterge1' AS but_sterge WITH ; + Anchor = 9, ; + Height = 27, ; + Left = 310, ; + Name = "But_sterge1", ; + Top = 1 + *< END OBJECT: ClassLib="cmd_butoane.vcx" BaseClass="commandbutton" /> + + PROCEDURE actualizeaza_grid1 + LPARAMETERS pcFiltru + LOCAL lcFiltru + lcFiltru=pcFiltru + IF EMPTY(lcFiltru) + lcFiltru=ponomgrp.ca_baza1.cfiltru + ENDIF + save_grid_tag(thisform._grdrow1) + ponomgrp.ca_baza1.cfiltru=lcFiltru + ponomgrp.ca_baza1.afisare() + restore_grid_tag(thisform._grdrow1) + *!* IF RECCOUNT('v_delegati')>0 + thisform._grdrow1.SetFocus() + *!* ELSE + *!* thisform.lb_delegati.SetFocus() + *!* ENDIF + + ENDPROC + + PROCEDURE do_adauga + Private pniesire + pniesire=0 + Select v_grilaco + + Scatter Name loRec Blank + Do Adauga_Modifica_Inregistrare With "grilaco",loRec,,"INSERT",,"addco" + + + If pniesire=1 + This.actualizeaza_grid1() + Endif + + ENDPROC + + PROCEDURE do_modifica + Private pniesire + pniesire=0 + Select v_grilaco + Scatter Name loRec + *!* pcNume = loRec.nume + *!* pcPrenume = loRec.prenume + Do Adauga_Modifica_Inregistrare With "grilaco",loRec,loRec.id_grilaco,"UPDATE",,"modco" + + If pniesire=1 + This.actualizeaza_grid1() + Endif + + + ENDPROC + + PROCEDURE do_sterge + SELECT v_grilaco + SCATTER NAME lorec + Do STERGE_INREGISTRARE With "grilaco",loRec.id_grilaco + This.actualizeaza_grid1() + ENDPROC + + PROCEDURE inainte_de_do_termin + Local lcCursor,lnLimInf,llReturn + llReturn = .T. + If Reccount('v_grilaco') > 0 + lcCursor = Select() + *!* modificare ROADEFSALARII v 2.0.9 : am adaugat ISNULL(datas) + Select liminf,limsup From v_grilaco WHERE ISNULL(datas) Order By liminf Into Cursor crscotemp + lnLimSup = 0 + Select crscotemp + Scan + If lnLimSup <> liminf + amessagebox("Nu este acoperit intervalul " + Alltrim(Str(lnLimSup)) + " - " + Alltrim(Str(liminf)) + " !",48,"Atentie") + llReturn = .F. + Exit + Else + lnLimSup = limsup + Endif + Endscan + Use In ('crscotemp') + Select (lcCursor) + Endif + RETURN llReturn + ENDPROC + +ENDDEFINE + +DEFINE CLASS frm_grilaco_nou AS frm_termin_renunt OF "_frm_child.vcx" + *< CLASSDATA: Baseclass="form" Timestamp="" Scale="Pixels" Uniqueid="" /> + + *-- OBJECTDATA items order determines ZOrder / El orden de los items OBJECTDATA determina el ZOrder + *< OBJECTDATA: ObjPath="Clb_tx_simplu1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="Clb_tx_simplu2" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="Clb_tx_simplu3" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="Cus_odata_grilaco1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="Clb_nr_intre1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="Lb_simplu1" UniqueID="" Timestamp="" /> + + * + *p: nid + *p: orec + * + + * + DoCreate = .T. + Height = 216 + Name = "frm_grilaco_nou" + nid = .F. + orec = .F. + Width = 375 + _shape1.Anchor = 11 + _shape1.Name = "_shape1" + _shape2.Anchor = 9 + _shape2.Height = 29 + _shape2.Left = 312 + _shape2.Name = "_shape2" + _shape2.Top = 0 + _shape2.Width = 64 + Lb_titlu_alb_b121.Caption = "Grilã CO" + Lb_titlu_alb_b121.Name = "Lb_titlu_alb_b121" + Lb_titlu_alb_b121.TabIndex = 7 + BUT_TERMIN1.Anchor = 9 + BUT_TERMIN1.Left = 344 + BUT_TERMIN1.Name = "BUT_TERMIN1" + BUT_TERMIN1.TabIndex = 5 + BUT_TERMIN1.Top = 1 + Gridsort1.Name = "Gridsort1" + BUT_RENUNT1.Anchor = 9 + BUT_RENUNT1.Left = 315 + BUT_RENUNT1.Name = "BUT_RENUNT1" + BUT_RENUNT1.TabIndex = 6 + BUT_RENUNT1.Top = 1 + * + + ADD OBJECT 'Clb_nr_intre1' AS clb_nr_intre WITH ; + Height = 60, ; + Left = 48, ; + Name = "Clb_nr_intre1", ; + TabIndex = 4, ; + Top = 120, ; + Width = 290, ; + tx_n1.Alignment = 3, ; + tx_n1.ControlSource = "porec.datai", ; + tx_n1.Left = 128, ; + tx_n1.Name = "tx_n1", ; + tx_n1.Top = 28, ; + tx_n1.Value = {}, ; + Lb_simplu1.Caption = "Valabilã pentru salariaþii angajaþi în perioada", ; + Lb_simplu1.Name = "Lb_simplu1", ; + tx_n2.Alignment = 3, ; + tx_n2.ControlSource = "porec.datas", ; + tx_n2.Left = 208, ; + tx_n2.Name = "tx_n2", ; + tx_n2.Top = 28, ; + tx_n2.Value = {} + *< END OBJECT: ClassLib="lb_tx.vcx" BaseClass="container" /> + + ADD OBJECT 'Clb_tx_simplu1' AS clb_tx_simplu WITH ; + Left = 48, ; + Name = "Clb_tx_simplu1", ; + TabIndex = 1, ; + Top = 36, ; + TEXT_SIMPLU1.ControlSource = "porec.liminf", ; + TEXT_SIMPLU1.Name = "TEXT_SIMPLU1", ; + LB_SIMPLU1.Caption = "Limita inf.", ; + LB_SIMPLU1.Name = "LB_SIMPLU1" + *< END OBJECT: ClassLib="lb_tx.vcx" BaseClass="container" /> + + ADD OBJECT 'Clb_tx_simplu2' AS clb_tx_simplu WITH ; + Left = 48, ; + Name = "Clb_tx_simplu2", ; + TabIndex = 2, ; + Top = 64, ; + TEXT_SIMPLU1.ControlSource = "porec.limsup", ; + TEXT_SIMPLU1.Name = "TEXT_SIMPLU1", ; + LB_SIMPLU1.Caption = "Limita sup.", ; + LB_SIMPLU1.Name = "LB_SIMPLU1" + *< END OBJECT: ClassLib="lb_tx.vcx" BaseClass="container" /> + + ADD OBJECT 'Clb_tx_simplu3' AS clb_tx_simplu WITH ; + Left = 48, ; + Name = "Clb_tx_simplu3", ; + TabIndex = 3, ; + Top = 92, ; + TEXT_SIMPLU1.ControlSource = "porec.zile", ; + TEXT_SIMPLU1.Name = "TEXT_SIMPLU1", ; + LB_SIMPLU1.Caption = "Nr. zile", ; + LB_SIMPLU1.Name = "LB_SIMPLU1" + *< END OBJECT: ClassLib="lb_tx.vcx" BaseClass="container" /> + + ADD OBJECT 'Cus_odata_grilaco1' AS cus_odata_grilaco WITH ; + Left = 2, ; + Name = "Cus_odata_grilaco1", ; + Top = 65 + *< END OBJECT: ClassLib="onom_sal.vcx" BaseClass="custom" /> + + ADD OBJECT 'Lb_simplu1' AS lb_simplu WITH ; + AutoSize = .F., ; + Caption = " Data de sfârºit a perioadei se completeazã doar dacã se cunoaºte. Altfel, se lasã necompletatã.", ; + Height = 36, ; + Left = 36, ; + Name = "Lb_simplu1", ; + TabIndex = 8, ; + Top = 180, ; + Width = 313, ; + WordWrap = .T. + *< END OBJECT: ClassLib="lb.vcx" BaseClass="label" /> + + PROCEDURE inainte_de_do_termin + Local PLRETURN + + lccontrol = Upper(This.ActiveControl.BaseClass ) + If Inlist(lccontrol,"TEXTBOX","EDITBOX","COMBOBOX") + lcval=This.ActiveControl.ControlSource + &lcval=Thisform.ActiveControl.Value + Endif + + *!* Do Case + *!* Case Empty(porec.tip_contract) + *!* Messagebox('Nu ati completat formatia!',0+48,"Atentie") + *!* This.clb_tx_simplu1._cbbase1.SetFocus() + *!* PLRETURN=.F. + *!* Otherwise + *!* modificare v 2.0.9 + *!* PLRETURN=this.cus_odata_grilaco1.salvare(This.OREC,This.NID) + PLRETURN = .F. + Do Case + Case Empty(porec.limsup) + amessagebox("Nu ati completat limita superioara!",48,"Atentie") + Thisform.clb_tx_simplu2.text_simplu1.SetFocus() + Case porec.limsup < porec.liminf + amessagebox("Limita superioara trebuie sa fie mai mare sau egala cu limita inferioara!",48,"Atentie") + Thisform.clb_tx_simplu2.text_simplu1.SetFocus() + Case Empty(porec.zile) + amessagebox("Numarul de zile nu poate fi 0!",48,"Atentie") + Thisform.clb_tx_simplu3.text_simplu1.SetFocus() + Case Empty(porec.datai) + amessagebox("Nu ati completat data de inceput!",48,"Atentie") + Thisform.clb_nr_intre1.tx_n1.SetFocus() + Case !Empty(porec.DataS) And porec.DataS < porec.datai + amessagebox("Data de sfarsit nu poate fi mai mica decat data de inceput!",48,"Atentie") + Thisform.clb_nr_intre1.tx_n2.SetFocus() + Otherwise + PLRETURN=This.cus_odata_grilaco1.salvare(This.OREC,This.NID) + Endcase + *!* modificare v 2.0.9 ^ + *!* ENDIF + *!* Endcase + Return PLRETURN + + ENDPROC + + PROCEDURE Init + Lparameters toRec, tnId, tcActiune + + DoDefault() + + This.orec= toRec + This.nid = tnId + this.cus_odata_grilaco1.cactiune = tcActiune + + ENDPROC + + PROCEDURE Clb_nr_intre1.tx_n1.Valid + * + ENDPROC + + PROCEDURE Clb_nr_intre1.tx_n2.Valid + * + ENDPROC + +ENDDEFINE + +DEFINE CLASS frm_grpmun AS frm_termin OF "_frm_child.vcx" + *< CLASSDATA: Baseclass="form" Timestamp="" Scale="Pixels" Uniqueid="" /> + + *-- OBJECTDATA items order determines ZOrder / El orden de los items OBJECTDATA determina el ZOrder + *< OBJECTDATA: ObjPath="_grdrow1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="_grdrow1.Column1.Header1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="_grdrow1.Column1.Text1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="But_nou1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="But_modifica1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="But_sterge1" UniqueID="" Timestamp="" /> + + * + DoCreate = .T. + Height = 250 + Name = "frm_grpmun" + Width = 323 + _shape1.Anchor = 11 + _shape1.Name = "_shape1" + _shape2.Anchor = 9 + _shape2.Height = 29 + _shape2.Left = 204 + _shape2.Name = "_shape2" + _shape2.Top = 0 + _shape2.Width = 120 + Lb_titlu_alb_b121.Caption = "Grupe de muncã" + Lb_titlu_alb_b121.Name = "Lb_titlu_alb_b121" + BUT_TERMIN1.Anchor = 9 + BUT_TERMIN1.Left = 292 + BUT_TERMIN1.Name = "BUT_TERMIN1" + BUT_TERMIN1.Top = 1 + Gridsort1.Name = "Gridsort1" + * + + ADD OBJECT '_grdrow1' AS _grdrow WITH ; + Anchor = 15, ; + ColumnCount = 1, ; + DeleteMark = .F., ; + Height = 200, ; + Left = 13, ; + Name = "_grdrow1", ; + Panel = 1, ; + RecordSource = "v_nomgrp", ; + Top = 39, ; + Width = 295, ; + Column1.ControlSource = "dengrupa", ; + Column1.Name = "Column1", ; + Column1.Width = 259 + *< END OBJECT: ClassLib="_grd_base.vcx" BaseClass="grid" /> + + ADD OBJECT '_grdrow1.Column1.Header1' AS header WITH ; + Alignment = 2, ; + Caption = "Denumire", ; + Name = "Header1" + *< END OBJECT: BaseClass="header" /> + + ADD OBJECT '_grdrow1.Column1.Text1' AS textbox WITH ; + BackColor = 255,255,255, ; + BorderStyle = 0, ; + ForeColor = 0,0,0, ; + Margin = 0, ; + Name = "Text1" + *< END OBJECT: BaseClass="textbox" /> + + ADD OBJECT 'But_modifica1' AS but_modifica WITH ; + Anchor = 9, ; + Left = 234, ; + Name = "But_modifica1", ; + Top = 1 + *< END OBJECT: ClassLib="cmd_butoane.vcx" BaseClass="commandbutton" /> + + ADD OBJECT 'But_nou1' AS but_nou WITH ; + Anchor = 9, ; + Left = 204, ; + Name = "But_nou1", ; + Top = 1 + *< END OBJECT: ClassLib="cmd_butoane.vcx" BaseClass="commandbutton" /> + + ADD OBJECT 'But_sterge1' AS but_sterge WITH ; + Anchor = 9, ; + Left = 264, ; + Name = "But_sterge1", ; + Top = 1 + *< END OBJECT: ClassLib="cmd_butoane.vcx" BaseClass="commandbutton" /> + + PROCEDURE actualizeaza_grid1 + LPARAMETERS pcFiltru + LOCAL lcFiltru + lcFiltru=pcFiltru + IF EMPTY(lcFiltru) + lcFiltru=ponomgrp.ca_baza1.cfiltru + ENDIF + save_grid_tag(thisform._grdrow1) + ponomgrp.ca_baza1.cfiltru=lcFiltru + ponomgrp.ca_baza1.afisare() + restore_grid_tag(thisform._grdrow1) + *!* IF RECCOUNT('v_delegati')>0 + thisform._grdrow1.SetFocus() + *!* ELSE + *!* thisform.lb_delegati.SetFocus() + *!* ENDIF + + ENDPROC + + PROCEDURE do_adauga + Private pniesire + pniesire=0 + Select v_nomgrp + Scatter Name loRec Blank + *!* DEBUG + *!* SUSPEND + Do Adauga_Modifica_Inregistrare With "grpmun",loRec,,"INSERT",,"addgrp" + If pniesire=1 + This.actualizeaza_grid1() + Endif + ENDPROC + + PROCEDURE do_modifica + Private pniesire + pniesire=0 + Select v_nomgrp + Scatter Name loRec + Do Adauga_Modifica_Inregistrare With "grpmun",loRec,loRec.id_cas,"UPDATE",,"modgrp" + If pniesire=1 + This.actualizeaza_grid1() + Endif + + + ENDPROC + + PROCEDURE do_sterge + SELECT v_nomgrp + SCATTER NAME lorec + Do STERGE_INREGISTRARE With "grpmun",loRec.id_cas + + this.actualizeaza_grid1() + + ENDPROC + +ENDDEFINE + +DEFINE CLASS frm_grpmun_nou AS frm_termin_renunt OF "_frm_child.vcx" + *< CLASSDATA: Baseclass="form" Timestamp="" Scale="Pixels" Uniqueid="" /> + + *-- OBJECTDATA items order determines ZOrder / El orden de los items OBJECTDATA determina el ZOrder + *< OBJECTDATA: ObjPath="Clb_tx_simplu1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="Cus_odata_grpmun1" UniqueID="" Timestamp="" /> + + * + *p: nid + *p: orec + * + + * + DoCreate = .T. + Height = 90 + Name = "frm_grpmun_nou" + nid = .F. + orec = .F. + Width = 375 + _shape1.Anchor = 11 + _shape1.Name = "_shape1" + _shape2.Anchor = 9 + _shape2.Height = 29 + _shape2.Left = 312 + _shape2.Name = "_shape2" + _shape2.Top = 0 + _shape2.Width = 64 + Lb_titlu_alb_b121.Caption = "Grupa de muncã" + Lb_titlu_alb_b121.Name = "Lb_titlu_alb_b121" + Lb_titlu_alb_b121.TabIndex = 5 + BUT_TERMIN1.Anchor = 9 + BUT_TERMIN1.Left = 344 + BUT_TERMIN1.Name = "BUT_TERMIN1" + BUT_TERMIN1.TabIndex = 3 + BUT_TERMIN1.Top = 1 + Gridsort1.Name = "Gridsort1" + BUT_RENUNT1.Anchor = 9 + BUT_RENUNT1.Left = 314 + BUT_RENUNT1.Name = "BUT_RENUNT1" + BUT_RENUNT1.TabIndex = 4 + BUT_RENUNT1.Top = 1 + * + + ADD OBJECT 'Clb_tx_simplu1' AS clb_tx_simplu WITH ; + Left = 36, ; + Name = "Clb_tx_simplu1", ; + TabIndex = 1, ; + Top = 42, ; + TEXT_SIMPLU1.ControlSource = "porec.dengrupa", ; + TEXT_SIMPLU1.Name = "TEXT_SIMPLU1", ; + LB_SIMPLU1.Caption = "Denumire", ; + LB_SIMPLU1.Name = "LB_SIMPLU1" + *< END OBJECT: ClassLib="lb_tx.vcx" BaseClass="container" /> + + ADD OBJECT 'Cus_odata_grpmun1' AS cus_odata_grpmun WITH ; + Left = 348, ; + Name = "Cus_odata_grpmun1", ; + Top = 48 + *< END OBJECT: ClassLib="onom_sal.vcx" BaseClass="custom" /> + + PROCEDURE inainte_de_do_termin + LOCAL PLRETURN + + lccontrol = UPPER(this.ActiveControl.BaseClass ) + IF INLIST(lccontrol,"TEXTBOX","EDITBOX","COMBOBOX") + lcval=This.Activecontrol.controlsource + &lcval=thisform.ActiveControl.value + ENDIF + + + Do Case + Case Empty(porec.dengrupa) + Messagebox('Nu ati completat denumire grupei de munca!',0+48,"Atentie") + this.clb_tx_simplu1.text_simplu1.SetFocus() + + plreturn=.F. + + + OTHERWISE + + PLRETURN=This.cus_odata_grpmun1.salvare(This.OREC,This.NID) + + ENDCASE + + Return PLRETURN + + + ENDPROC + + PROCEDURE Init + Lparameters toRec, tnId, tcActiune + + DoDefault() + + This.orec= toRec + This.nid = tnId + + this.cus_odata_grpmun1.cactiune = tcActiune + ENDPROC + +ENDDEFINE + +DEFINE CLASS frm_imp AS frm_termin OF "_frm_child.vcx" + *< CLASSDATA: Baseclass="form" Timestamp="" Scale="Pixels" Uniqueid="" /> + + *-- OBJECTDATA items order determines ZOrder / El orden de los items OBJECTDATA determina el ZOrder + *< OBJECTDATA: ObjPath="_grdrow1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="_grdrow1.Column1.Header1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="_grdrow1.Column1.Text1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="_grdrow1.Column2.Header1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="_grdrow1.Column2.Text1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="_grdrow1.Column3.Header1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="_grdrow1.Column3.Text1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="_grdrow1.Column4.Header1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="_grdrow1.Column4.Text1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="But_nou1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="But_modifica1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="But_sterge1" UniqueID="" Timestamp="" /> + + * + DoCreate = .T. + Name = "frm_imp" + _shape1.Anchor = 11 + _shape1.Left = -12 + _shape1.Name = "_shape1" + _shape1.Top = 0 + _shape2.Anchor = 9 + _shape2.Height = 29 + _shape2.Left = 252 + _shape2.Name = "_shape2" + _shape2.Top = 0 + _shape2.Width = 122 + Lb_titlu_alb_b121.Caption = "Impozitar" + Lb_titlu_alb_b121.Name = "Lb_titlu_alb_b121" + BUT_TERMIN1.Anchor = 9 + BUT_TERMIN1.Left = 343 + BUT_TERMIN1.Name = "BUT_TERMIN1" + BUT_TERMIN1.Top = 1 + Gridsort1.Name = "Gridsort1" + * + + ADD OBJECT '_grdrow1' AS _grdrow WITH ; + Anchor = 15, ; + ColumnCount = 4, ; + DeleteMark = .F., ; + Height = 206, ; + Left = 28, ; + Name = "_grdrow1", ; + Panel = 1, ; + ReadOnly = .T., ; + RecordSource = "v_imp", ; + Top = 36, ; + Width = 313, ; + Column1.ControlSource = "inf", ; + Column1.InputMask = (get_mask(16,Gnpa)), ; + Column1.Name = "Column1", ; + Column1.ReadOnly = .T., ; + Column1.Width = 58, ; + Column2.ControlSource = "sup", ; + Column2.InputMask = (get_mask(16,Gnpa)), ; + Column2.Name = "Column2", ; + Column2.ReadOnly = .T., ; + Column2.Width = 75, ; + Column3.ColumnOrder = 4, ; + Column3.ControlSource = "coef", ; + Column3.Name = "Column3", ; + Column3.ReadOnly = .T., ; + Column4.ColumnOrder = 3, ; + Column4.ControlSource = "sumainit", ; + Column4.InputMask = (get_mask(16,Gnpa)), ; + Column4.Name = "Column4", ; + Column4.ReadOnly = .T., ; + Column4.Width = 71 + *< END OBJECT: ClassLib="_grd_base.vcx" BaseClass="grid" /> + + ADD OBJECT '_grdrow1.Column1.Header1' AS header WITH ; + Caption = "Limita inf", ; + FontName = "Arial Narrow", ; + Name = "Header1" + *< END OBJECT: BaseClass="header" /> + + ADD OBJECT '_grdrow1.Column1.Text1' AS textbox WITH ; + BackColor = 255,255,255, ; + BorderStyle = 0, ; + ForeColor = 0,0,0, ; + Margin = 0, ; + Name = "Text1", ; + ReadOnly = .T. + *< END OBJECT: BaseClass="textbox" /> + + ADD OBJECT '_grdrow1.Column2.Header1' AS header WITH ; + Caption = "Limita sup", ; + FontName = "Arial Narrow", ; + Name = "Header1" + *< END OBJECT: BaseClass="header" /> + + ADD OBJECT '_grdrow1.Column2.Text1' AS textbox WITH ; + BackColor = 255,255,255, ; + BorderStyle = 0, ; + ForeColor = 0,0,0, ; + Margin = 0, ; + Name = "Text1", ; + ReadOnly = .T. + *< END OBJECT: BaseClass="textbox" /> + + ADD OBJECT '_grdrow1.Column3.Header1' AS header WITH ; + Caption = "Coeficient (0,xx)", ; + FontName = "Arial Narrow", ; + Name = "Header1" + *< END OBJECT: BaseClass="header" /> + + ADD OBJECT '_grdrow1.Column3.Text1' AS textbox WITH ; + BackColor = 255,255,255, ; + BorderStyle = 0, ; + ForeColor = 0,0,0, ; + Margin = 0, ; + Name = "Text1", ; + ReadOnly = .T. + *< END OBJECT: BaseClass="textbox" /> + + ADD OBJECT '_grdrow1.Column4.Header1' AS header WITH ; + Caption = "Suma init", ; + FontName = "Arial Narrow", ; + Name = "Header1" + *< END OBJECT: BaseClass="header" /> + + ADD OBJECT '_grdrow1.Column4.Text1' AS textbox WITH ; + BackColor = 255,255,255, ; + BorderStyle = 0, ; + ForeColor = 0,0,0, ; + Margin = 0, ; + Name = "Text1" + *< END OBJECT: BaseClass="textbox" /> + + ADD OBJECT 'But_modifica1' AS but_modifica WITH ; + Anchor = 9, ; + Left = 283, ; + Name = "But_modifica1", ; + Top = 1 + *< END OBJECT: ClassLib="cmd_butoane.vcx" BaseClass="commandbutton" /> + + ADD OBJECT 'But_nou1' AS but_nou WITH ; + Anchor = 9, ; + Left = 254, ; + Name = "But_nou1", ; + Top = 1 + *< END OBJECT: ClassLib="cmd_butoane.vcx" BaseClass="commandbutton" /> + + ADD OBJECT 'But_sterge1' AS but_sterge WITH ; + Anchor = 9, ; + Left = 314, ; + Name = "But_sterge1", ; + Top = 1 + *< END OBJECT: ClassLib="cmd_butoane.vcx" BaseClass="commandbutton" /> + + PROCEDURE actualizeaza_grid1 + LPARAMETERS pcFiltru + LOCAL lcFiltru + lcFiltru=pcFiltru + IF EMPTY(lcFiltru) + lcFiltru=ponomgrp.ca_baza1.cfiltru + ENDIF + save_grid_tag(thisform._grdrow1) + ponomgrp.ca_baza1.cfiltru=lcFiltru + ponomgrp.ca_baza1.afisare() + restore_grid_tag(thisform._grdrow1) + *!* IF RECCOUNT('v_delegati')>0 + thisform._grdrow1.SetFocus() + *!* ELSE + *!* thisform.lb_delegati.SetFocus() + *!* ENDIF + + ENDPROC + + PROCEDURE do_adauga + Private pniesire + pniesire=0 + Select v_imp + *!* pcNume = loRec.nume + *!* pcPrenume = loRec.prenume + Scatter Name loRec Blank + Do Adauga_Modifica_Inregistrare With "imp",loRec,,"INSERT",,"addimp" + + + If pniesire=1 + This.actualizeaza_grid1() + Endif + + ENDPROC + + PROCEDURE do_modifica + Private pniesire + pniesire=0 + Select v_imp + Scatter Name loRec + *!* pcNume = loRec.nume + *!* pcPrenume = loRec.prenume + Do Adauga_Modifica_Inregistrare With "imp",loRec,loRec.id_impozitar,"UPDATE",,"modimp" + + If pniesire=1 + This.actualizeaza_grid1() + Endif + + + ENDPROC + + PROCEDURE do_sterge + SELECT v_imp + SCATTER NAME lorec + Do STERGE_INREGISTRARE With "imp",loRec.id_impozitar + This.actualizeaza_grid1() + ENDPROC + + PROCEDURE inainte_de_do_termin + LPARAMETERS pcFiltru + LOCAL lcFiltru + lcFiltru=pcFiltru + IF EMPTY(lcFiltru) + lcFiltru=ponomgrp.ca_baza1.cfiltru + ENDIF + save_grid_tag(thisform._grdrow1) + ponomgrp.ca_baza1.cfiltru=lcFiltru + ponomgrp.ca_baza1.afisare() + restore_grid_tag(thisform._grdrow1) + *!* IF RECCOUNT('v_delegati')>0 + thisform._grdrow1.SetFocus() + *!* ELSE + *!* thisform.lb_delegati.SetFocus() + *!* ENDIF + + ENDPROC + +ENDDEFINE + +DEFINE CLASS frm_imp_nou AS frm_termin_renunt OF "_frm_child.vcx" + *< CLASSDATA: Baseclass="form" Timestamp="" Scale="Pixels" Uniqueid="" /> + + *-- OBJECTDATA items order determines ZOrder / El orden de los items OBJECTDATA determina el ZOrder + *< OBJECTDATA: ObjPath="Clb_tx_simplu1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="Clb_tx_simplu2" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="Clb_tx_simplu3" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="Cus_odata_imp1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="Clb_tx_simplu4" UniqueID="" Timestamp="" /> + + * + *p: nid + *p: orec + * + + * + DoCreate = .T. + Height = 175 + Name = "frm_imp_nou" + nid = .F. + orec = .F. + Width = 375 + _shape1.Anchor = 11 + _shape1.Name = "_shape1" + _shape2.Anchor = 9 + _shape2.Height = 29 + _shape2.Left = 312 + _shape2.Name = "_shape2" + _shape2.Top = 0 + _shape2.Width = 64 + Lb_titlu_alb_b121.Caption = "Impozitar" + Lb_titlu_alb_b121.Name = "Lb_titlu_alb_b121" + Lb_titlu_alb_b121.TabIndex = 7 + Lb_titlu_alb_b121.Visible = .F. + BUT_TERMIN1.Anchor = 9 + BUT_TERMIN1.Left = 345 + BUT_TERMIN1.Name = "BUT_TERMIN1" + BUT_TERMIN1.TabIndex = 5 + BUT_TERMIN1.Top = 1 + Gridsort1.Name = "Gridsort1" + But_renunt1.Anchor = 9 + But_renunt1.Left = 314 + But_renunt1.Name = "But_renunt1" + But_renunt1.TabIndex = 6 + But_renunt1.Top = 1 + * + + ADD OBJECT 'Clb_tx_simplu1' AS clb_tx_simplu WITH ; + Left = 48, ; + Name = "Clb_tx_simplu1", ; + TabIndex = 1, ; + Top = 41, ; + Text_simplu1.ControlSource = "porec.inf", ; + Text_simplu1.InputMask = (get_mask(16,Gnpa)), ; + Text_simplu1.Name = "Text_simplu1", ; + Lb_simplu1.Caption = "Limita inf.", ; + Lb_simplu1.Name = "Lb_simplu1" + *< END OBJECT: ClassLib="lb_tx.vcx" BaseClass="container" /> + + ADD OBJECT 'Clb_tx_simplu2' AS clb_tx_simplu WITH ; + Left = 48, ; + Name = "Clb_tx_simplu2", ; + TabIndex = 2, ; + Top = 69, ; + Text_simplu1.ControlSource = "porec.sup", ; + Text_simplu1.InputMask = (get_mask(16,Gnpa)), ; + Text_simplu1.Name = "Text_simplu1", ; + Lb_simplu1.Caption = "Limita sup.", ; + Lb_simplu1.Name = "Lb_simplu1" + *< END OBJECT: ClassLib="lb_tx.vcx" BaseClass="container" /> + + ADD OBJECT 'Clb_tx_simplu3' AS clb_tx_simplu WITH ; + Left = 48, ; + Name = "Clb_tx_simplu3", ; + TabIndex = 3, ; + Top = 97, ; + Text_simplu1.ControlSource = "porec.sumainit", ; + Text_simplu1.InputMask = (get_mask(16,Gnpa)), ; + Text_simplu1.Name = "Text_simplu1", ; + Lb_simplu1.Caption = "Suma init.", ; + Lb_simplu1.Name = "Lb_simplu1" + *< END OBJECT: ClassLib="lb_tx.vcx" BaseClass="container" /> + + ADD OBJECT 'Clb_tx_simplu4' AS clb_tx_simplu WITH ; + Left = 48, ; + Name = "Clb_tx_simplu4", ; + TabIndex = 4, ; + Top = 125, ; + Text_simplu1.ControlSource = "porec.coef", ; + Text_simplu1.Name = "Text_simplu1", ; + Lb_simplu1.Caption = "Coef. (0,xx)", ; + Lb_simplu1.Name = "Lb_simplu1" + *< END OBJECT: ClassLib="lb_tx.vcx" BaseClass="container" /> + + ADD OBJECT 'Cus_odata_imp1' AS cus_odata_imp WITH ; + Left = 252, ; + Name = "Cus_odata_imp1", ; + Top = 216 + *< END OBJECT: ClassLib="onom_sal.vcx" BaseClass="custom" /> + + PROCEDURE inainte_de_do_termin + Local PLRETURN + + lccontrol = Upper(This.ActiveControl.BaseClass ) + If Inlist(lccontrol,"TEXTBOX","EDITBOX","COMBOBOX") + lcval=This.ActiveControl.ControlSource + &lcval=Thisform.ActiveControl.Value + Endif + + *!* Do Case + *!* Case Empty(porec.tip_contract) + *!* Messagebox('Nu ati completat formatia!',0+48,"Atentie") + *!* This.clb_tx_simplu1._cbbase1.SetFocus() + *!* PLRETURN=.F. + *!* Otherwise + + PLRETURN=this.cus_odata_imp1.salvare(This.OREC,This.NID) + + + *!* ENDIF + *!* Endcase + Return PLRETURN + + + + ENDPROC + + PROCEDURE Init + Lparameters toRec, tnId, tcActiune + + DoDefault() + + This.orec= toRec + This.nid = tnId + this.cus_odata_imp1.cactiune = tcActiune + + ENDPROC + +ENDDEFINE + +DEFINE CLASS frm_limded AS frm_termin_renunt OF "_frm_child.vcx" + *< CLASSDATA: Baseclass="form" Timestamp="" Scale="Pixels" Uniqueid="" /> + + *-- OBJECTDATA items order determines ZOrder / El orden de los items OBJECTDATA determina el ZOrder + *< OBJECTDATA: ObjPath="_grdrow1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="_grdrow1.Column1.Header1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="_grdrow1.Column1.Text1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="_grdrow1.Column2.Header1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="_grdrow1.Column2.Text1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="But_nou1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="But_modifica1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="But_sterge1" UniqueID="" Timestamp="" /> + + * + DoCreate = .T. + Height = 316 + Name = "frm_limded" + Width = 285 + _shape1.Anchor = 11 + _shape1.Name = "_shape1" + _shape2.Anchor = 9 + _shape2.Height = 29 + _shape2.Left = 157 + _shape2.Name = "_shape2" + _shape2.Top = 0 + _shape2.Width = 129 + Lb_titlu_alb_b121.Caption = "Deduceri" + Lb_titlu_alb_b121.Name = "Lb_titlu_alb_b121" + BUT_TERMIN1.Anchor = 9 + BUT_TERMIN1.Left = 255 + BUT_TERMIN1.Name = "BUT_TERMIN1" + BUT_TERMIN1.Top = 1 + Gridsort1.Name = "Gridsort1" + But_renunt1.Left = 360 + But_renunt1.Name = "But_renunt1" + But_renunt1.Top = 12 + But_renunt1.Visible = .F. + * + + ADD OBJECT '_grdrow1' AS _grdrow WITH ; + Anchor = 15, ; + ColumnCount = 2, ; + DeleteMark = .F., ; + Height = 264, ; + Left = 41, ; + Name = "_grdrow1", ; + Panel = 1, ; + RecordSource = "v_deduceri", ; + Top = 40, ; + Width = 206, ; + Column1.ControlSource = "nrpers", ; + Column1.Name = "Column1", ; + Column2.ControlSource = "suma", ; + Column2.InputMask = (get_mask(16,Gnpa)), ; + Column2.Name = "Column2", ; + Column2.Width = 93 + *< END OBJECT: ClassLib="_grd_base.vcx" BaseClass="grid" /> + + ADD OBJECT '_grdrow1.Column1.Header1' AS header WITH ; + Alignment = 2, ; + Caption = "Nr. pers.", ; + Name = "Header1" + *< END OBJECT: BaseClass="header" /> + + ADD OBJECT '_grdrow1.Column1.Text1' AS textbox WITH ; + BackColor = 255,255,255, ; + BorderStyle = 0, ; + ForeColor = 0,0,0, ; + Margin = 0, ; + Name = "Text1" + *< END OBJECT: BaseClass="textbox" /> + + ADD OBJECT '_grdrow1.Column2.Header1' AS header WITH ; + Alignment = 2, ; + Caption = "Suma", ; + Name = "Header1" + *< END OBJECT: BaseClass="header" /> + + ADD OBJECT '_grdrow1.Column2.Text1' AS textbox WITH ; + BackColor = 255,255,255, ; + BorderStyle = 0, ; + ForeColor = 0,0,0, ; + Margin = 0, ; + Name = "Text1" + *< END OBJECT: BaseClass="textbox" /> + + ADD OBJECT 'But_modifica1' AS but_modifica WITH ; + Anchor = 9, ; + Left = 192, ; + Name = "But_modifica1", ; + Top = 1 + *< END OBJECT: ClassLib="cmd_butoane.vcx" BaseClass="commandbutton" /> + + ADD OBJECT 'But_nou1' AS but_nou WITH ; + Anchor = 9, ; + Left = 161, ; + Name = "But_nou1", ; + Top = 1 + *< END OBJECT: ClassLib="cmd_butoane.vcx" BaseClass="commandbutton" /> + + ADD OBJECT 'But_sterge1' AS but_sterge WITH ; + Anchor = 9, ; + Left = 223, ; + Name = "But_sterge1", ; + Top = 1 + *< END OBJECT: ClassLib="cmd_butoane.vcx" BaseClass="commandbutton" /> + + PROCEDURE actualizeaza_grid1 + LPARAMETERS pcFiltru + LOCAL lcFiltru + lcFiltru=pcFiltru + IF EMPTY(lcFiltru) + lcFiltru=ponomgrp.ca_baza1.cfiltru + ENDIF + save_grid_tag(thisform._grdrow1) + ponomgrp.ca_baza1.cfiltru=lcFiltru + ponomgrp.ca_baza1.afisare() + restore_grid_tag(thisform._grdrow1) + *!* IF RECCOUNT('v_delegati')>0 + thisform._grdrow1.SetFocus() + *!* ELSE + *!* thisform.lb_delegati.SetFocus() + *!* ENDIF + + ENDPROC + + PROCEDURE do_adauga + Private pniesire + pniesire=0 + Select v_deduceri + *!* pcNume = loRec.nume + *!* pcPrenume = loRec.prenume + Scatter Name loRec Blank + Do Adauga_Modifica_Inregistrare With "limded",loRec,,"INSERT",,"addlim" + + + If pniesire=1 + This.actualizeaza_grid1() + Endif + + ENDPROC + + PROCEDURE do_modifica + Private pniesire + pniesire=0 + Select v_deduceri + Scatter Name loRec + *!* pcNume = loRec.nume + *!* pcPrenume = loRec.prenume + Do Adauga_Modifica_Inregistrare With "limded",loRec,loRec.id_deducere,"UPDATE",,"modlim" + + If pniesire=1 + This.actualizeaza_grid1() + Endif + + + ENDPROC + + PROCEDURE do_sterge + SELECT v_deduceri + SCATTER NAME lorec + Do STERGE_INREGISTRARE With "limded",loRec.id_deducere + This.actualizeaza_grid1() + ENDPROC + +ENDDEFINE + +DEFINE CLASS frm_limded_nou AS frm_termin_renunt OF "_frm_child.vcx" + *< CLASSDATA: Baseclass="form" Timestamp="" Scale="Pixels" Uniqueid="" /> + + *-- OBJECTDATA items order determines ZOrder / El orden de los items OBJECTDATA determina el ZOrder + *< OBJECTDATA: ObjPath="Clb_tx_simplu1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="Clb_tx_simplu2" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="Cus_odata_limded1" UniqueID="" Timestamp="" /> + + * + *p: nid + *p: orec + * + + * + DoCreate = .T. + Height = 125 + Name = "frm_limded_nou" + nid = .F. + orec = .F. + Width = 375 + _shape1.Anchor = 11 + _shape1.Name = "_shape1" + _shape2.Anchor = 9 + _shape2.Height = 29 + _shape2.Left = 312 + _shape2.Name = "_shape2" + _shape2.Top = 0 + _shape2.Width = 64 + Lb_titlu_alb_b121.Caption = "Deducere" + Lb_titlu_alb_b121.Name = "Lb_titlu_alb_b121" + BUT_TERMIN1.Anchor = 9 + BUT_TERMIN1.Left = 344 + BUT_TERMIN1.Name = "BUT_TERMIN1" + BUT_TERMIN1.Top = 1 + Gridsort1.Name = "Gridsort1" + But_renunt1.Anchor = 9 + But_renunt1.Left = 314 + But_renunt1.Name = "But_renunt1" + But_renunt1.Top = 1 + * + + ADD OBJECT 'Clb_tx_simplu1' AS clb_tx_simplu WITH ; + Left = 41, ; + Name = "Clb_tx_simplu1", ; + TabIndex = 1, ; + Top = 43, ; + Text_simplu1.ControlSource = "porec.nrpers", ; + Text_simplu1.Name = "Text_simplu1", ; + Lb_simplu1.Caption = "Nr. persoane", ; + Lb_simplu1.Name = "Lb_simplu1" + *< END OBJECT: ClassLib="lb_tx.vcx" BaseClass="container" /> + + ADD OBJECT 'Clb_tx_simplu2' AS clb_tx_simplu WITH ; + Left = 41, ; + Name = "Clb_tx_simplu2", ; + TabIndex = 2, ; + Top = 71, ; + Text_simplu1.ControlSource = "porec.suma", ; + Text_simplu1.InputMask = (get_mask(16,Gnpa)), ; + Text_simplu1.Name = "Text_simplu1", ; + Lb_simplu1.Caption = "Suma:", ; + Lb_simplu1.Name = "Lb_simplu1" + *< END OBJECT: ClassLib="lb_tx.vcx" BaseClass="container" /> + + ADD OBJECT 'Cus_odata_limded1' AS cus_odata_limded WITH ; + Left = 18, ; + Name = "Cus_odata_limded1", ; + Top = 65 + *< END OBJECT: ClassLib="onom_sal.vcx" BaseClass="custom" /> + + PROCEDURE inainte_de_do_termin + Local PLRETURN + + lccontrol = Upper(This.ActiveControl.BaseClass ) + If Inlist(lccontrol,"TEXTBOX","EDITBOX","COMBOBOX") + lcval=This.ActiveControl.ControlSource + &lcval=Thisform.ActiveControl.Value + Endif + + *!* Do Case + *!* Case Empty(porec.tip_contract) + *!* Messagebox('Nu ati completat formatia!',0+48,"Atentie") + *!* This.clb_tx_simplu1._cbbase1.SetFocus() + *!* PLRETURN=.F. + *!* Otherwise + + PLRETURN=this.cus_odata_limded1.salvare(This.OREC,This.NID) + + + *!* ENDIF + *!* Endcase + Return PLRETURN + + + + ENDPROC + + PROCEDURE Init + Lparameters toRec, tnId, tcActiune + + DoDefault() + + This.orec= toRec + This.nid = tnId + this.cus_odata_limded1.cactiune = tcActiune + + ENDPROC + +ENDDEFINE + +DEFINE CLASS frm_meserii AS formtermin OF "_frm_base.vcx" + *< CLASSDATA: Baseclass="form" Timestamp="" Scale="Pixels" Uniqueid="" /> + + *-- OBJECTDATA items order determines ZOrder / El orden de los items OBJECTDATA determina el ZOrder + *< OBJECTDATA: ObjPath="_grdrow1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="_grdrow1.Column1.Header1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="_grdrow1.Column1.Text1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="_grdrow1.Column2.Header1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="_grdrow1.Column2.Text1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="_grdrow1.Column3.Header1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="_grdrow1.Column3.Text1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="_grdrow1.Column4.Header1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="_grdrow1.Column4.Text1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="_grdrow1.Column5.Header1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="_grdrow1.Column5._checkbox1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="But_nou1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="But_modifica1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="But_sterge1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="But_reface1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="Gridextra1" UniqueID="" Timestamp="" /> + + * + *p: ndiferente + * + + * + DoCreate = .T. + Height = 447 + Name = "frm_meserii" + ndiferente = 0 + Width = 419 + _memberdata = + + + _shape1.Anchor = 10 + _shape1.Height = 29 + _shape1.Left = 0 + _shape1.Name = "_shape1" + _shape1.Top = 0 + _shape1.Width = 420 + _shape2.Anchor = 9 + _shape2.Height = 29 + _shape2.Left = 298 + _shape2.Name = "_shape2" + _shape2.Top = 0 + _shape2.Width = 122 + Lb_titlu_alb_b121.Caption = "Meserii" + Lb_titlu_alb_b121.Name = "Lb_titlu_alb_b121" + BUT_TERMIN1.Anchor = 9 + BUT_TERMIN1.Left = 388 + BUT_TERMIN1.Name = "BUT_TERMIN1" + BUT_TERMIN1.Top = 1 + Gridsort1.Name = "Gridsort1" + * + + ADD OBJECT '_grdrow1' AS _grdrow WITH ; + Anchor = 15, ; + ColumnCount = 5, ; + DeleteMark = .F., ; + FontName = "Arial Narrow", ; + Height = 396, ; + Left = 19, ; + Name = "_grdrow1", ; + Panel = 1, ; + ReadOnly = .T., ; + RecordSource = "v_meserii", ; + Top = 36, ; + Width = 389, ; + Column1.ControlSource = "meserie", ; + Column1.FontName = "Arial Narrow", ; + Column1.Name = "Column1", ; + Column1.ReadOnly = .T., ; + Column1.Width = 143, ; + Column2.ColumnOrder = 3, ; + Column2.ControlSource = "cod_meserie", ; + Column2.FontName = "Arial Narrow", ; + Column2.Name = "Column2", ; + Column2.ReadOnly = .T., ; + Column3.ColumnOrder = 4, ; + Column3.ControlSource = "zilesupl_co", ; + Column3.FontName = "Arial Narrow", ; + Column3.Name = "Column3", ; + Column3.ReadOnly = .T., ; + Column3.Width = 31, ; + Column4.ColumnOrder = 5, ; + Column4.ControlSource = "versiune_cor", ; + Column4.FontName = "Arial Narrow", ; + Column4.Name = "Column4", ; + Column4.ReadOnly = .T., ; + Column4.Width = 67, ; + Column5.ColumnOrder = 2, ; + Column5.ControlSource = "inactiv", ; + Column5.FontName = "Arial Narrow", ; + Column5.Name = "Column5", ; + Column5.ReadOnly = .T., ; + Column5.Sparse = .F., ; + Column5.Width = 37 + *< END OBJECT: ClassLib="_grd_base.vcx" BaseClass="grid" /> + + ADD OBJECT '_grdrow1.Column1.Header1' AS header WITH ; + Alignment = 2, ; + Caption = "Meserie", ; + FontName = "Arial Narrow", ; + Name = "Header1" + *< END OBJECT: BaseClass="header" /> + + ADD OBJECT '_grdrow1.Column1.Text1' AS textbox WITH ; + BackColor = 255,255,255, ; + BorderStyle = 0, ; + FontName = "Arial Narrow", ; + ForeColor = 0,0,0, ; + Margin = 0, ; + Name = "Text1", ; + ReadOnly = .T. + *< END OBJECT: BaseClass="textbox" /> + + ADD OBJECT '_grdrow1.Column2.Header1' AS header WITH ; + Alignment = 2, ; + Caption = "Cod meserie", ; + FontName = "Arial Narrow", ; + Name = "Header1" + *< END OBJECT: BaseClass="header" /> + + ADD OBJECT '_grdrow1.Column2.Text1' AS textbox WITH ; + BackColor = 255,255,255, ; + BorderStyle = 0, ; + FontName = "Arial Narrow", ; + ForeColor = 0,0,0, ; + Margin = 0, ; + Name = "Text1", ; + ReadOnly = .T. + *< END OBJECT: BaseClass="textbox" /> + + ADD OBJECT '_grdrow1.Column3.Header1' AS header WITH ; + Alignment = 2, ; + Caption = "Zile CO", ; + FontName = "Arial Narrow", ; + Name = "Header1" + *< END OBJECT: BaseClass="header" /> + + ADD OBJECT '_grdrow1.Column3.Text1' AS textbox WITH ; + BackColor = 255,255,255, ; + BorderStyle = 0, ; + FontName = "Arial Narrow", ; + ForeColor = 0,0,0, ; + Margin = 0, ; + Name = "Text1", ; + ReadOnly = .T. + *< END OBJECT: BaseClass="textbox" /> + + ADD OBJECT '_grdrow1.Column4.Header1' AS header WITH ; + Alignment = 2, ; + Caption = "Revizie COR", ; + FontName = "Arial Narrow", ; + Name = "Header1" + *< END OBJECT: BaseClass="header" /> + + ADD OBJECT '_grdrow1.Column4.Text1' AS textbox WITH ; + BackColor = 255,255,255, ; + BorderStyle = 0, ; + FontName = "Arial Narrow", ; + ForeColor = 0,0,0, ; + Margin = 0, ; + Name = "Text1" + *< END OBJECT: BaseClass="textbox" /> + + ADD OBJECT '_grdrow1.Column5._checkbox1' AS _checkbox WITH ; + Alignment = 2, ; + Caption = "", ; + Left = 30, ; + Name = "_checkbox1", ; + ReadOnly = .T., ; + Top = 23 + *< END OBJECT: ClassLib="_baza.vcx" BaseClass="checkbox" /> + + ADD OBJECT '_grdrow1.Column5.Header1' AS header WITH ; + Alignment = 2, ; + Caption = "Inactiv", ; + FontName = "Arial Narrow", ; + Name = "Header1" + *< END OBJECT: BaseClass="header" /> + + ADD OBJECT 'But_modifica1' AS but_modifica WITH ; + Anchor = 9, ; + Left = 329, ; + Name = "But_modifica1", ; + Top = 1 + *< END OBJECT: ClassLib="cmd_butoane.vcx" BaseClass="commandbutton" /> + + ADD OBJECT 'But_nou1' AS but_nou WITH ; + Anchor = 9, ; + Left = 300, ; + Name = "But_nou1", ; + Top = 1 + *< END OBJECT: ClassLib="cmd_butoane.vcx" BaseClass="commandbutton" /> + + ADD OBJECT 'But_reface1' AS but_reface WITH ; + Anchor = 9, ; + Left = 270, ; + Name = "But_reface1", ; + ToolTipText = "Actualizare la ultima versiune COR", ; + Top = 1 + *< END OBJECT: ClassLib="cmd_butoane.vcx" BaseClass="commandbutton" /> + + ADD OBJECT 'But_sterge1' AS but_sterge WITH ; + Anchor = 9, ; + Left = 358, ; + Name = "But_sterge1", ; + Top = 1 + *< END OBJECT: ClassLib="cmd_butoane.vcx" BaseClass="commandbutton" /> + + ADD OBJECT 'Gridextra1' AS gridextra WITH ; + gridexpression = Thisform._grdrow1, ; + Left = 12, ; + Name = "Gridextra1", ; + Top = 156 + *< END OBJECT: ClassLib="..\utile\gridextras\gridextras.vcx" BaseClass="custom" /> + + PROCEDURE actualizeaza_grid1 + LPARAMETERS pcFiltru + LOCAL lcFiltru + lcFiltru=pcFiltru + IF EMPTY(lcFiltru) + lcFiltru=poresp.ca_baza1.cfiltru + ENDIF + save_grid_tag(thisform._grdrow1) + poResp.ca_baza1.cfiltru=lcFiltru + poResp.ca_baza1.afisare() + restore_grid_tag(thisform._grdrow1) + *!* IF RECCOUNT('v_delegati')>0 + thisform._grdrow1.SetFocus() + *!* ELSE + *!* thisform.lb_delegati.SetFocus() + *!* ENDIF + + ENDPROC + + PROCEDURE do_adauga + Private pniesire + pniesire=0 + Select v_meserii + Scatter Name loRec Blank + *!* modificare v 2.0.3 + AddProperty(loRec,"tip_modificare",3) + AddProperty(loRec,"dataconsemnare",{}) + *!* modificare v 2.0.3 ^ + *!* DEBUG + *!* SUSPEND + Do Adauga_Modifica_Inregistrare With "meserii",loRec,,"INSERT",,"addmes" + If pniesire=1 + This.actualizeaza_grid1() + Endif + ENDPROC + + PROCEDURE do_modifica + Private pniesire + pniesire=0 + Select v_meserii + Scatter Name loRec + *!* modificare v 2.0.3 + AddProperty(loRec,"tip_modificare",2) + AddProperty(loRec,"dataconsemnare",{}) + *!* modificare v 2.0.3 ^ + Do Adauga_Modifica_Inregistrare With "meserii",loRec,loRec.id_meseria,"UPDATE",,"modmes" + If pniesire=1 + This.actualizeaza_grid1() + Endif + + + ENDPROC + + PROCEDURE do_reface + Local lcSql, llFinalizata, lnTip, llSucces + Private pniesire, poPers + pniesire = 0 + llSucces = .T. && modificare v 2.0.6 + llFinalizata = .T. + lnTip = 2 && 1 - commit ; 2 - rollback + _Screen.LockScreen = .T. + Thisform._grdrow1.salveaza_grid() + Thisform.do_deschide_tranzactie() + *!* modificare v 2.0.6 + *!* lcSql = [begin pack_def_salarii.activeaza_versiune_cor(?gnIdUtil); end;] + *!* If goExecutor.oExecuta(lcSql) + If This.nDiferente = 1 Or gnScrieRegistru <> 1 && manual + *!* daca am actualizare automata, nu mai apelez activeaza_actualizare_cor + lcSql = [begin pack_def_salarii.activeaza_actualizare_cor(?gnIdUtil); end;] + llSucces = goExecutor.oExecuta(lcSql) + Endif + IF llSucces + *!* modificare v 2.0.6 ^ + *!* aleg data consemnarii si tipul modificarii + Select v_meserii + Scatter Name loRec + AddProperty(loRec,"tip_modificare",2) + AddProperty(loRec,"dataconsemnare",{}) + poPers = loRec + *!* modificare v 2.0.5 + *!* loFrm = Createobject("frm_salvare_opersonal",.T.) + *!* loFrm.Show(1) + If gnScrieRegistru = 1 + loFrm = Createobject("frm_salvare_opersonal",.T.) + loFrm.Show(1) + Else + gnButon = 1 + poPers.dataconsemnare = Null + Endif + *!* modificare v 2.0.5 ^ + If gnButon = 1 + *!* modificare v 2.0.6 + *!* *!* citesc toate meseriile de pe contractele active in luna curenta + *!* poresp.ca_baza1.cfiltru=[sters = 0 and id_meseria in (select distinct id_meserie from sal_vstatplata where datalic is null) ] + ; + *!* [and versiune_cor <> (select versiune from sal_versiuni_cor where inactiv = 0 and sters = 0)] + If This.nDiferente = 1 OR gnScrieRegistru <> 1 && manual + IF gnScrieRegistru = 1 + *!* citesc toate meseriile care au fost transmise in ReGES ( de pe contractele active, suspendate si detasate ) + poresp.ca_baza1.cfiltru=[id_meseria in (select distinct id_meserie from sal_reges_contracte where sters = 0 and tip_modificare <> 1 ] + ; + [and id_sal_ctr not in (select id_sal_ctr from sal_reges_stari_ctr where id_tip_stare = 1 and sters = 0 and tip_modificare <> 1) ] + ; + [and versiune_cor <> (select versiune from sal_versiuni_cor where inactiv = 0 and sters = 0)) ] + ELSE + *!* citesc toate meseriile folosite in anul curent + poresp.ca_baza1.cfiltru = [id_meseria in (select id_meserie from sal_stat where sters = 0 and an = ?gnAn) and ] + ; + [versiune_cor <> (select versiune from sal_versiuni_cor where inactiv = 0 and sters = 0)] + ENDIF + *!* modificare v 2.0.6 ^ + poresp.ca_baza1.afisare() + Select v_meserii + Scan + Scatter Name loRec + lnVersiune = loRec.versiune_cor + AddProperty(loRec,"tip_modificare",poPers.tip_modificare) + AddProperty(loRec,"dataconsemnare",poPers.dataconsemnare) + Do Adauga_Modifica_Inregistrare With "meserii",loRec,loRec.id_meseria,"UPDATE",,"modmes" + If pniesire<>1 + *!* daca apasa renunt + llFinalizata = .F. + amessagebox("Actualizarea codurilor COR a fost intrerupta si trebuie reluata de la inceput!",48,"Atentie") + Exit + Endif + Select v_meserii + Endscan + *!* modificare v 2.0.6 + Else + *!* daca am tabela pentru conversie automata + lcSql = [begin pack_personal.reges_actualizeaza_cor_aut(?gnLuna,?gnAn,] + ; + [to_date('] + DTOC(poPers.dataconsemnare,1) + [','YYYYMMDD'),] + ; + ALLTRIM(STR(poPers.tip_modificare)) + [,?gnIdUtil); end;] + llFinalizata = goExecutor.oExecuta(lcSql) + Endif + *!* modificare v 2.0.6 ^ + Else + llFinalizata = .F. + Endif + If llFinalizata + *!* modificare v 2.0.6 + *!* lnTip = 1 + *!* Thisform.but_reface1.Visible = .F. + lcSql = [begin pack_def_salarii.dezactiveaza_actualizare_cor(?gnIdUtil); end;] + If goExecutor.oExecuta(lcSql) + lnTip = 1 + Thisform.but_reface1.Visible = .F. + Endif + *!* modificare v 2.0.6 ^ + Endif + Thisform.do_inchide_tranzactie(lnTip) + poresp.ca_baza1.cfiltru=[sters = 0] + poresp.ca_baza1.afisare() + Else + Thisform.do_inchide_tranzactie(lnTip) + Endif + Thisform._grdrow1.incarca_grid() + _Screen.LockScreen=.F. + + ENDPROC + + PROCEDURE do_sterge + SELECT v_meserii + SCATTER NAME lorec + *!* modificare v 2.0.3 + AddProperty(loRec,"tip_modificare",3) + AddProperty(loRec,"dataconsemnare",{}) + *!* modificare v 2.0.3 ^ + Do STERGE_INREGISTRARE With "meserii",loRec.id_meseria + + this.actualizeaza_grid1() + + ENDPROC + + PROCEDURE Init + Lparameters tnDiferente + DoDefault() + *!* modificare v 2.0.6 + *!* Thisform.but_reface1.Visible = Iif(tnDiferente=0,.T.,.F.) + Thisform.nDiferente = tnDiferente + Thisform.but_reface1.Visible = Iif(Thisform.nDiferente=0,.F.,.T.) + *!* modificare v 2.0.6 ^ + Thisform.gridextra1.Setup() + ENDPROC + +ENDDEFINE + +DEFINE CLASS frm_meserii_nou AS formtermin OF "_frm_base.vcx" + *< CLASSDATA: Baseclass="form" Timestamp="" Scale="Pixels" Uniqueid="" /> + + *-- OBJECTDATA items order determines ZOrder / El orden de los items OBJECTDATA determina el ZOrder + *< OBJECTDATA: ObjPath="But_renunt1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="Clb_tx_simplu1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="Clb_tx_simplu2" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="Clb_tx_simplu3" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="_checkbox1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="Cus_odata_meserii1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="ole_grupe" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="_oleimagelist1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="Clb_tx_versiune" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="CMD_CAUTA1" UniqueID="" Timestamp="" /> + + * + *m: actualizeaza_tree + *p: ccod_meserie_init + *p: nid + *p: nversiune_cor + *p: nversiune_cor_init + *p: orec + * + + * + ccod_meserie_init = + DoCreate = .T. + Height = 585 + Name = "frm_meserii_nou" + nid = .F. + nversiune_cor = 0 + nversiune_cor_init = 0 + orec = .F. + Width = 924 + _shape1.Height = 29 + _shape1.Left = 0 + _shape1.Name = "_shape1" + _shape1.Top = 0 + _shape1.Width = 924 + _shape2.Height = 29 + _shape2.Left = 862 + _shape2.Name = "_shape2" + _shape2.Top = 0 + _shape2.Width = 62 + Lb_titlu_alb_b121.Caption = "Meserii" + Lb_titlu_alb_b121.Name = "Lb_titlu_alb_b121" + Lb_titlu_alb_b121.TabIndex = 9 + BUT_TERMIN1.Left = 893 + BUT_TERMIN1.Name = "BUT_TERMIN1" + BUT_TERMIN1.TabIndex = 7 + BUT_TERMIN1.Top = 1 + Gridsort1.Left = 516 + Gridsort1.Name = "Gridsort1" + Gridsort1.Top = 132 + * + + ADD OBJECT '_checkbox1' AS _checkbox WITH ; + Alignment = 0, ; + Caption = "Inactiv", ; + ControlSource = "porec.inactiv", ; + Left = 330, ; + Name = "_checkbox1", ; + TabIndex = 6, ; + Top = 155 + *< END OBJECT: ClassLib="_baza.vcx" BaseClass="checkbox" /> + + ADD OBJECT '_oleimagelist1' AS _oleimagelist WITH ; + Height = 37, ; + Left = 456, ; + Name = "_oleimagelist1", ; + Top = 180, ; + Width = 38 + *< END OBJECT: ClassLib="_baza.vcx" BaseClass="olecontrol" OLEObject="c:\windows\system32\mscomctl.ocx" Value="0M8R4KGxGuEAAAAAAAAAAAAAAAAAAAAAPgADAP7/CQAGAAAAAAAAAAAAAAABAAAAAQAAAAAAAAAAEAAAAgAAAAEAAAD+////AAAAAAAAAAD////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////9/////v////7////+/////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////1IAbwBvAHQAIABFAG4AdAByAHkAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAWAAUA//////////8BAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADCtmAooAc0BAwAAAEABAAAAAAAAAwBPAGwAZQBPAGIAagBlAGMAdABEAGEAdABhAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAB4AAgEDAAAAAgAAAP////8AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAXAAAAAAAAAADAEEAYwBjAGUAcwBzAE8AYgBqAFMAaQB0AGUARABhAHQAYQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAJgACAP///////////////wAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAEAAABcAAAAAAAAAAMAQwBoAGEAbgBnAGUAZABQAHIAbwBwAHMAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAcAAIA////////////////AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAwAAAD0AAAAAAAAABAAAAAIAAAD+/////v////7///////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////8jfyQskYXREbFqAMDwKDYoIUM0EggAAADtAwAA7QMAAIB+4eYAAAYAIAAAAAAAAADAwMAA//8AAAHvzasAAAUAXAAAAAAAAAABAAAAAAAAAAAAAAAAAAAAAAAAACQAAAA4AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA5MzY4MjY1RS04NUZFLTExZDEtOEJFMy0wMDAwRjg3NTREQTFEAEEAOABEADgARgAtADkARAA2AEEALQAxADAAMQBCAC0AQQABAACADAAAAEltYWdlSGVpZ2h0AAkAAABJCgAAAAAAAAALAAAASW1hZ2VXaWR0aAAJAAAASQoAAAAAAAAAAHMAMGcZAAYAAAD/////BQAAgAAAAAAAAAAAAAAAAC4AbwBjAHgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA==" /> + + ADD OBJECT 'But_renunt1' AS but_renunt WITH ; + Left = 864, ; + Name = "But_renunt1", ; + TabIndex = 8, ; + Top = 1 + *< END OBJECT: ClassLib="cmd_butoane.vcx" BaseClass="commandbutton" /> + + ADD OBJECT 'Clb_tx_simplu1' AS clb_tx_simplu WITH ; + Left = 317, ; + Name = "Clb_tx_simplu1", ; + TabIndex = 2, ; + Top = 38, ; + Text_simplu1.ControlSource = "porec.meserie", ; + Text_simplu1.Name = "Text_simplu1", ; + Lb_simplu1.Caption = "Meseria:", ; + Lb_simplu1.Name = "Lb_simplu1" + *< END OBJECT: ClassLib="lb_tx.vcx" BaseClass="container" /> + + ADD OBJECT 'Clb_tx_simplu2' AS clb_tx_simplu WITH ; + Left = 317, ; + Name = "Clb_tx_simplu2", ; + TabIndex = 3, ; + Top = 66, ; + Text_simplu1.ControlSource = "porec.cod_meserie", ; + Text_simplu1.Name = "Text_simplu1", ; + Lb_simplu1.Caption = "Cod meserie:", ; + Lb_simplu1.Name = "Lb_simplu1" + *< END OBJECT: ClassLib="lb_tx.vcx" BaseClass="container" /> + + ADD OBJECT 'Clb_tx_simplu3' AS clb_tx_simplu WITH ; + Left = 317, ; + Name = "Clb_tx_simplu3", ; + TabIndex = 5, ; + Top = 122, ; + Text_simplu1.ControlSource = "porec.zilesupl_co", ; + Text_simplu1.Name = "Text_simplu1", ; + Lb_simplu1.Caption = "Zile CO supl.:", ; + Lb_simplu1.Name = "Lb_simplu1" + *< END OBJECT: ClassLib="lb_tx.vcx" BaseClass="container" /> + + ADD OBJECT 'Clb_tx_versiune' AS clb_tx_simplu WITH ; + Left = 317, ; + Name = "Clb_tx_versiune", ; + TabIndex = 4, ; + Top = 94, ; + Text_simplu1.ControlSource = "porec.versiune_cor", ; + Text_simplu1.Name = "Text_simplu1", ; + Lb_simplu1.Caption = "Revizie COR", ; + Lb_simplu1.Name = "Lb_simplu1" + *< END OBJECT: ClassLib="lb_tx.vcx" BaseClass="container" /> + + ADD OBJECT 'CMD_CAUTA1' AS cmd_cauta WITH ; + Caption = "\ + + ADD OBJECT 'Cus_odata_meserii1' AS cus_odata_meserii WITH ; + Left = 570, ; + Name = "Cus_odata_meserii1", ; + Top = 133 + *< END OBJECT: ClassLib="onom_sal.vcx" BaseClass="custom" /> + + ADD OBJECT 'ole_grupe' AS _olecontrol WITH ; + Anchor = 15, ; + Height = 396, ; + Left = 8, ; + Name = "ole_grupe", ; + TabIndex = 1, ; + Top = 180, ; + Width = 904 + *< END OBJECT: ClassLib="_baza.vcx" BaseClass="olecontrol" OLEObject="c:\windows\system32\mscomctl.ocx" Value="0M8R4KGxGuEAAAAAAAAAAAAAAAAAAAAAPgADAP7/CQAGAAAAAAAAAAAAAAABAAAAAQAAAAAAAAAAEAAAAgAAAAEAAAD+////AAAAAAAAAAD////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////9/////v////7////+/////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////1IAbwBvAHQAIABFAG4AdAByAHkAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAWAAUA//////////8BAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAEBjlgooAc0BAwAAAAACAAAAAAAAAwBPAGwAZQBPAGIAagBlAGMAdABEAGEAdABhAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAB4AAgEDAAAAAgAAAP////8AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAagAAAAAAAAADAEEAYwBjAGUAcwBzAE8AYgBqAFMAaQB0AGUARABhAHQAYQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAJgACAP///////////////wAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAEAAABcAAAAAAAAAAMAQwBoAGEAbgBnAGUAZABQAHIAbwBwAHMAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAcAAIA////////////////AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAwAAAO4AAAAAAAAABAAAAAIAAAD+////BQAAAP7///8GAAAABwAAAP7///////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////+2kEHHiYXREbFqAMDwKDYoIUM0EggAAABuXQAA7igAALE8wWoBAAYAIgAAAJwAAADtAwAACAAAAAEAAAAB782rXAAAAAAAAAABAAAAAAAAAAAAAAAAAAAAAAAAACQAAAA4AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA5MzY4MjY1RS04NUZFLTExZDEtOEJFMy0wMDAwRjg3NTREQTFmAHQAIABXAGkAbgBkAG8AdwBzACAAUgBlAHAAbwByAHQAIAABAACADgAAAEhpZGVTZWxlY3Rpb24ABQAAAEwBAAAADAAAAEluZGVudGF0aW9uABEAAABODQAAAAcAAAAAAAAAAAAFAGAoHQAGAAAAAAAAAAUAAIA43xIAAQAAAC4AH97svQEABQCA3xIATgBUAFwAUwB5AHMAdABlAG0AMwAyAAAAQ0AKAAAATGluZVN0eWxlAAkAAABJCgAAAAAAAAANAAAATW91c2VQb2ludGVyAAkAAABJCgAAAAAAAAAOAAAAUGF0aFNlcGFyYXRvcgAKAAAASAAAAAABAAAALgYAAABTdHlsZQAJAAAASQoAAAAHAAAADAAAAE9MRURyYWdNb2RlAAkAAABJCgAAAAAAAAAMAAAAT0xFRHJvcE1vZGUACQAAAEkKAAAAAAAAABYAAAAAAAkEAAAAAAAAAAAAAA==" /> + + PROCEDURE actualizeaza_tree + Lparameters tcCod + Select v_cor + Locate For Alltrim(cod)=ALLTRIM(tcCod) + If Found() + Thisform.ole_grupe.Nodes(rown).Selected = .T. + Thisform.ole_grupe.Nodes(rown).EnsureVisible() + Thisform.ole_grupe.SetFocus() + *!* Thisform.ole_grupe.Refresh() + Endif + + ENDPROC + + PROCEDURE Destroy + IF USED('v_cor') + USE IN v_cor + ENDIF + DODEFAULT() + ENDPROC + + PROCEDURE do_cauta + Local loCauta + lcSelect = [select cod,rown,UPPER(denumire) as denumire,versiune from v_cor] + lcFiltru = [] + lcSchema = [cod c(12),rown n(10),denumire c(255),versiune n(10)] + lcOrder = [rown] + lcColoana = [denumire,cod] + lcTitlu = [Cautati cod COR dupa meserie] + lcTitluColoana = [Denumire,Cod COR] + *!* modificare v 2.0.6 + lcFiltruOriginal = [!exists (select b.* from v_cor b where b.parentid = v_cor.id_cor)] + *!* lcFiltruOriginal = [LEN(ALLTRIM(cod))=6] + *!* modificare v 2.0.6 ^ + loCauta = cauta_alfa_vfp(lcSelect,lcFiltru,lcSchema,lcOrder,lcColoana,lcTitlu,lcTitluColoana,[],.F.,lcFiltruOriginal,4,Alltrim(porec.meserie)) + If gnButon <> 2 + porec.cod_meserie = loCauta.cod + porec.versiune_cor = loCauta.versiune + Thisform.clb_tx_simplu2.Refresh() + Thisform.clb_tx_versiune.Refresh() + Thisform.actualizeaza_tree(porec.cod_meserie) + Endif + ENDPROC + + PROCEDURE inainte_de_do_termin + Local PLRETURN + + lccontrol = Upper(This.ActiveControl.BaseClass ) + If Inlist(lccontrol,"TEXTBOX","EDITBOX","COMBOBOX") + lcval=This.ActiveControl.ControlSource + &lcval=Thisform.ActiveControl.Value + Endif + + Do Case + Case Empty(porec.meserie) + aMessagebox('Nu ati completat meseria!',0+48,"Atentie") + This.clb_tx_simplu1.text_simplu1.SetFocus() + PLRETURN=.F. + Case Empty(porec.versiune_cor) + aMessagebox('Nu ati completat revizia COR!',48,"Atentie") + Thisform.clb_tx_versiune.text_simplu1.SetFocus() + PLRETURN = .F. + CASE Thisform.nversiune_cor = porec.versiune_cor and !Empty(Nvl(porec.dataconsemnare,{})) And This.cus_odata_meserii1.cactiune=[UPDATE] + *!* e actualizare de COR de la o versiune la alta + aMessagebox('Nu ati modificat revizia COR!'+CRLF+'Faceti dublu click pe linia corespunzatoare din lista sau completati manual in campul "Revizie COR"!',48,"Atentie") + Thisform.clb_tx_versiune.text_simplu1.SetFocus() + PLRETURN = .F. + Otherwise + *!* modificare v 2.0.3 + If gnEvaluareRevisal5 = 0 And gnScrieRegistru = 1 ; + And Empty(Nvl(porec.dataconsemnare,{})) And This.cus_odata_meserii1.cactiune=[UPDATE] ; + ; && modificare v 2.0.7 + AND (NVL(porec.versiune_cor,0) <> Thisform.nversiune_cor_init OR ; + NVL(porec.cod_meserie,[]) <> Thisform.ccod_meserie_init) + *!* modificare v 2.0.7 ^ + Private popers + popers = porec + loFrm = Createobject("frm_salvare_opersonal",.T.) + loFrm.Show(1) + If gnButon = 1 + PLRETURN=This.cus_odata_meserii1.salvare(This.OREC,This.NID) + *!* modificare v 2.0.7 + If !plReturn + porec.dataconsemnare = {} + Endif + *!* modificare v 2.0.7 ^ + Endif + Else + *!* modificare v 2.0.3 ^ + PLRETURN=This.cus_odata_meserii1.salvare(This.OREC,This.NID) + *!* modificare v 2.0.3 + Endif + *!* modificare v 2.0.3 ^ + + Endcase + Return PLRETURN + ENDPROC + + PROCEDURE Init + Lparameters toRec, tnId, tcActiune + Thisform.nversiune_cor = porec.versiune_cor + update_cor() && update_server + Dimension a(10) + + Select v_cor + With Thisform.ole_grupe.Nodes + Scan + lcNivel = parentid + lcCheie = 'A'+Alltrim(Str(id_cor)) + lcText=Alltrim(cod)+' : '+Alltrim(denumire) + *!* modificare ROADEFSALARII v 2.0.8 + Try + *!* modificare ROADEFSALARII v 2.0.8 ^ + If Isnull(lcNivel) + .Add(,,lcCheie,lcText) && 1 + Else + lcCod = 'A'+Alltrim(Str(lcNivel)) + .Add(lcCod,4,lcCheie,lcText) && 1 + Endif + *!* modificare ROADEFSALARII v 2.0.8 + Catch To loEroare + amessagebox("Eroare la "+lcText+" !",16,"Eroare") + Endtry + *!* modificare ROADEFSALARII v 2.0.8 ^ + *!* Thisform.ole_grupe.Nodes.Item(rownum).Tag=ALLTRIM(cod) + Select v_cor + Endscan + Endwith + + + DoDefault() + + This.orec= toRec + This.nid = tnId + This.cus_odata_meserii1.cactiune = tcActiune + *!* modificare v 2.0.7 + Thisform.nversiune_cor_init = Nvl(porec.versiune_cor,0) + Thisform.ccod_meserie_init = Nvl(porec.cod_meserie,[]) + *!* modificare v 2.0.7 ^ + *!* modificare v 2.0.1 + If This.cus_odata_meserii1.cactiune = [UPDATE] + Thisform.actualizeaza_tree(porec.cod_meserie) + Endif + *!* modificare v 2.0.1 ^ + + ENDPROC + + PROCEDURE Clb_tx_simplu2.Text_simplu1.InteractiveChange + Thisform.actualizeaza_tree(This.Value) + *!* modificare v 2.0.6 + This.SetFocus() + This.SelLength = 0 + This.SelStart = Len(Alltrim(This.Value)) + *!* modificare v 2.0.6 ^ + + ENDPROC + + PROCEDURE ole_grupe.DblClick + *** ActiveX Control Event *** + + ENDPROC + + PROCEDURE ole_grupe.NodeClick + *** ActiveX Control Event *** + Lparameters Node + lnCheie=Val(Substr(Node.Key,2)) + Select v_cor + Locate For id_cor=lnCheie + If Found() + porec.cod_meserie=Alltrim(cod) + porec.versiune_cor = versiune + Thisform.clb_tx_simplu2.Refresh + Thisform.clb_tx_versiune.Refresh() + Endif + + ENDPROC + +ENDDEFINE + +DEFINE CLASS frm_modlic_nou AS frm_termin_renunt OF "_frm_child.vcx" + *< CLASSDATA: Baseclass="form" Timestamp="" Scale="Pixels" Uniqueid="" /> + + *-- OBJECTDATA items order determines ZOrder / El orden de los items OBJECTDATA determina el ZOrder + *< OBJECTDATA: ObjPath="Clb_tx_simplu1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="CUS_ODATA_MODLIC1" UniqueID="" Timestamp="" /> + + * + *p: nid + *p: orec + * + + * + DoCreate = .T. + Height = 77 + Name = "frm_modlic_nou" + nid = .F. + orec = .F. + Width = 373 + _shape1.Name = "_shape1" + _shape2.Height = 29 + _shape2.Left = 311 + _shape2.Name = "_shape2" + _shape2.Top = 0 + _shape2.Width = 63 + Lb_titlu_alb_b121.Caption = "Mod lichidare" + Lb_titlu_alb_b121.Name = "Lb_titlu_alb_b121" + Lb_titlu_alb_b121.TabIndex = 6 + BUT_TERMIN1.Name = "BUT_TERMIN1" + BUT_TERMIN1.TabIndex = 4 + GRIDSORT1.Name = "GRIDSORT1" + But_renunt1.Name = "But_renunt1" + But_renunt1.TabIndex = 5 + * + + ADD OBJECT 'Clb_tx_simplu1' AS clb_tx_simplu WITH ; + Left = 45, ; + Name = "Clb_tx_simplu1", ; + TabIndex = 1, ; + Top = 38, ; + Text_simplu1.ControlSource = "porec.modlic", ; + Text_simplu1.Name = "Text_simplu1", ; + Lb_simplu1.Caption = "Mod lichidare", ; + Lb_simplu1.Name = "Lb_simplu1" + *< END OBJECT: ClassLib="lb_tx.vcx" BaseClass="container" /> + + ADD OBJECT 'CUS_ODATA_MODLIC1' AS cus_odata_modlic WITH ; + Left = 13, ; + Name = "CUS_ODATA_MODLIC1", ; + Top = 66 + *< END OBJECT: ClassLib="onom_sal.vcx" BaseClass="custom" /> + + PROCEDURE inainte_de_do_termin + Local PLRETURN + + lccontrol = Upper(This.ActiveControl.BaseClass ) + If Inlist(lccontrol,"TEXTBOX","EDITBOX","COMBOBOX") + lcval=This.ActiveControl.ControlSource + &lcval=Thisform.ActiveControl.Value + Endif + + Do Case + Case Empty(porec.modlic) + Messagebox('Nu ati completat modul lichidarii!',0+48,"Atentie") + This.clb_tx_simplu1._cbbase1.SetFocus() + PLRETURN=.F. + Otherwise + + PLRETURN=this.cus_odata_modlic1.salvare(This.OREC,This.NID) + + *!* ENDIF + Endcase + Return PLRETURN + + + + ENDPROC + + PROCEDURE Init + Lparameters toRec, tnId, tcActiune + + DoDefault() + + This.orec= toRec + This.nid = tnId + this.cus_odata_modlic1.cactiune = tcActiune + ENDPROC + +ENDDEFINE + +DEFINE CLASS frm_nom_limbi_nou AS frm_termin_renunt OF "_frm_child.vcx" + *< CLASSDATA: Baseclass="form" Timestamp="" Scale="Pixels" Uniqueid="" /> + + *-- OBJECTDATA items order determines ZOrder / El orden de los items OBJECTDATA determina el ZOrder + *< OBJECTDATA: ObjPath="Clb_tx_simplu1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="Cus_odata_nom_limbi1" UniqueID="" Timestamp="" /> + + * + *p: nid + *p: orec + * + + * + DoCreate = .T. + Height = 101 + Name = "frm_nom_limbi_nou" + nid = .F. + orec = .F. + Width = 375 + _SHAPE1.Anchor = 11 + _SHAPE1.Name = "_SHAPE1" + _SHAPE2.Anchor = 9 + _SHAPE2.Left = 303 + _SHAPE2.Name = "_SHAPE2" + _SHAPE2.Top = 0 + LB_TITLU_ALB_B121.Caption = "Limba straina noua" + LB_TITLU_ALB_B121.Name = "LB_TITLU_ALB_B121" + LB_TITLU_ALB_B121.TabIndex = 5 + BUT_TERMIN1.Anchor = 9 + BUT_TERMIN1.Left = 343 + BUT_TERMIN1.Name = "BUT_TERMIN1" + BUT_TERMIN1.TabIndex = 3 + BUT_TERMIN1.Top = 1 + Gridsort1.Name = "Gridsort1" + BUT_RENUNT1.Anchor = 9 + BUT_RENUNT1.Left = 310 + BUT_RENUNT1.Name = "BUT_RENUNT1" + BUT_RENUNT1.TabIndex = 4 + BUT_RENUNT1.Top = 1 + * + + ADD OBJECT 'Clb_tx_simplu1' AS clb_tx_simplu WITH ; + Left = 42, ; + Name = "Clb_tx_simplu1", ; + TabIndex = 1, ; + Top = 41, ; + TEXT_SIMPLU1.ControlSource = "porec.denumire", ; + TEXT_SIMPLU1.Name = "TEXT_SIMPLU1", ; + LB_SIMPLU1.Caption = "Limba straina", ; + LB_SIMPLU1.Name = "LB_SIMPLU1" + *< END OBJECT: ClassLib="lb_tx.vcx" BaseClass="container" /> + + ADD OBJECT 'Cus_odata_nom_limbi1' AS cus_odata_nom_limbi WITH ; + Left = 16, ; + Name = "Cus_odata_nom_limbi1", ; + Top = 70 + *< END OBJECT: ClassLib="onom_sal.vcx" BaseClass="custom" /> + + PROCEDURE inainte_de_do_termin + LOCAL PLRETURN + + lccontrol = UPPER(this.ActiveControl.BaseClass ) + IF INLIST(lccontrol,"TEXTBOX","EDITBOX","COMBOBOX") + lcval=This.Activecontrol.controlsource + &lcval=thisform.ActiveControl.value + ENDIF + + + Do Case + Case Empty(porec.denumire) + Messagebox('Nu ati completat denumirea!',0+48,"Atentie") + this.clb_tx_simplu1.text_simplu1.SetFocus() + + plreturn=.F. + + OTHERWISE + PLRETURN=This.cus_odata_nom_limbi1.salvare(This.OREC,This.NID) + + ENDCASE + + Return PLRETURN + + + ENDPROC + + PROCEDURE Init + Lparameters toRec, tnId, tcActiune + + DoDefault() + + This.orec= toRec + This.nid = tnId + this.cus_odata_nom_limbi1.cactiune = tcActiune + + ENDPROC + +ENDDEFINE + +DEFINE CLASS frm_nomcm AS frm_termin OF "_frm_child.vcx" + *< CLASSDATA: Baseclass="form" Timestamp="" Scale="Pixels" Uniqueid="" /> + + *-- OBJECTDATA items order determines ZOrder / El orden de los items OBJECTDATA determina el ZOrder + *< OBJECTDATA: ObjPath="_grdrow1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="_grdrow1.Column1.Header1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="_grdrow1.Column1.Text1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="_grdrow1.Column2.Header1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="_grdrow1.Column2.Text1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="_grdrow1.Column3.Header1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="_grdrow1.Column3.Text1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="_grdrow1.Column3.Check1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="_grdrow1.Column4.Header1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="_grdrow1.Column4.Text1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="_grdrow1.Column4.Check1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="_grdrow1.Column5.Header1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="_grdrow1.Column5.Text1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="_grdrow1.Column5.Check1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="_grdrow1.Column6.Header1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="_grdrow1.Column6.Text1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="_grdrow1.Column7.Header1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="_grdrow1.Column7.Text1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="_grdrow1.Column7.Check1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="_grdrow1.Column8.Header1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="_grdrow1.Column8.Text1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="_grdrow1.Column8.Check1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="_grdrow1.Column9.Header1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="_grdrow1.Column9.Text1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="_grdrow1.Column9.Check1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="_grdrow1.Column10.Header1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="_grdrow1.Column10.Text1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="_grdrow1.Column10.Check1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="_grdrow1.Column11.Header1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="_grdrow1.Column11.Text1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="_grdrow1.Column11.Check1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="But_nou1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="But_modifica1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="But_sterge1" UniqueID="" Timestamp="" /> + + * + DoCreate = .T. + Height = 390 + Name = "frm_nomcm" + Width = 583 + _shape1.Anchor = 11 + _shape1.Height = 29 + _shape1.Left = 0 + _shape1.Name = "_shape1" + _shape1.Top = 0 + _shape1.Width = 636 + _shape2.Anchor = 9 + _shape2.Height = 29 + _shape2.Left = 458 + _shape2.Name = "_shape2" + _shape2.Top = 0 + _shape2.Width = 125 + Lb_titlu_alb_b121.Caption = "Concedii medicale" + Lb_titlu_alb_b121.Name = "Lb_titlu_alb_b121" + BUT_TERMIN1.Anchor = 9 + BUT_TERMIN1.Left = 551 + BUT_TERMIN1.Name = "BUT_TERMIN1" + BUT_TERMIN1.Top = 1 + Gridsort1.Name = "Gridsort1" + * + + ADD OBJECT '_grdrow1' AS _grdrow WITH ; + Anchor = 15, ; + ColumnCount = 11, ; + DeleteMark = .F., ; + FontName = "Arial Narrow", ; + Height = 343, ; + Left = 4, ; + Name = "_grdrow1", ; + Panel = 1, ; + ReadOnly = .T., ; + RecordSource = "v_nomtipcm", ; + Top = 35, ; + Width = 568, ; + Column1.ColumnOrder = 2, ; + Column1.ControlSource = "conc_med", ; + Column1.FontName = "Arial Narrow", ; + Column1.Name = "Column1", ; + Column1.ReadOnly = .T., ; + Column1.Width = 126, ; + Column2.ColumnOrder = 3, ; + Column2.ControlSource = "coef", ; + Column2.FontName = "Arial Narrow", ; + Column2.Name = "Column2", ; + Column2.ReadOnly = .T., ; + Column2.Width = 33, ; + Column3.ColumnOrder = 4, ; + Column3.ControlSource = "plbass", ; + Column3.CurrentControl = "Check1", ; + Column3.FontName = "Arial Narrow", ; + Column3.Name = "Column3", ; + Column3.ReadOnly = .T., ; + Column3.Sparse = .F., ; + Column3.Width = 44, ; + Column4.ColumnOrder = 5, ; + Column4.ControlSource = "plang", ; + Column4.CurrentControl = "Check1", ; + Column4.FontName = "Arial Narrow", ; + Column4.Name = "Column4", ; + Column4.ReadOnly = .T., ; + Column4.Sparse = .F., ; + Column4.Width = 29, ; + Column5.ColumnOrder = 6, ; + Column5.ControlSource = "cuvechime", ; + Column5.CurrentControl = "Check1", ; + Column5.FontName = "Arial Narrow", ; + Column5.Name = "Column5", ; + Column5.ReadOnly = .T., ; + Column5.Sparse = .F., ; + Column5.Width = 53, ; + Column6.ColumnOrder = 1, ; + Column6.ControlSource = "ordine", ; + Column6.FontName = "Arial Narrow", ; + Column6.Name = "Column6", ; + Column6.ReadOnly = .T., ; + Column6.Width = 29, ; + Column7.ControlSource = "ingrijire", ; + Column7.CurrentControl = "Check1", ; + Column7.FontName = "Arial Narrow", ; + Column7.Name = "Column7", ; + Column7.ReadOnly = .T., ; + Column7.Sparse = .F., ; + Column8.ControlSource = "cas", ; + Column8.CurrentControl = "Check1", ; + Column8.FontName = "Arial Narrow", ; + Column8.Name = "Column8", ; + Column8.ReadOnly = .T., ; + Column8.Sparse = .F., ; + Column8.Width = 41, ; + Column9.ControlSource = "impozit", ; + Column9.CurrentControl = "Check1", ; + Column9.FontName = "Arial Narrow", ; + Column9.Name = "Column9", ; + Column9.ReadOnly = .T., ; + Column9.Sparse = .F., ; + Column9.Width = 46, ; + Column10.ControlSource = "sanatate", ; + Column10.CurrentControl = "Check1", ; + Column10.FontName = "Arial Narrow", ; + Column10.Name = "Column10", ; + Column10.ReadOnly = .T., ; + Column10.Sparse = .F., ; + Column10.Width = 52, ; + Column11.ControlSource = "somaj", ; + Column11.CurrentControl = "Check1", ; + Column11.FontName = "Arial Narrow", ; + Column11.Name = "Column11", ; + Column11.ReadOnly = .T., ; + Column11.Sparse = .F., ; + Column11.Width = 46 + *< END OBJECT: ClassLib="_grd_base.vcx" BaseClass="grid" /> + + ADD OBJECT '_grdrow1.Column1.Header1' AS header WITH ; + Caption = "Denumire CM", ; + FontName = "Arial Narrow", ; + Name = "Header1" + *< END OBJECT: BaseClass="header" /> + + ADD OBJECT '_grdrow1.Column1.Text1' AS textbox WITH ; + BackColor = 255,255,255, ; + BorderStyle = 0, ; + FontName = "Arial Narrow", ; + ForeColor = 0,0,0, ; + Margin = 0, ; + Name = "Text1", ; + ReadOnly = .T. + *< END OBJECT: BaseClass="textbox" /> + + ADD OBJECT '_grdrow1.Column10.Check1' AS checkbox WITH ; + Alignment = 0, ; + Caption = "", ; + Height = 17, ; + Left = 0, ; + Name = "Check1", ; + Top = 96, ; + Width = 60 + *< END OBJECT: BaseClass="checkbox" /> + + ADD OBJECT '_grdrow1.Column10.Header1' AS header WITH ; + Caption = "Pl.Sanatate", ; + FontName = "Arial Narrow", ; + Name = "Header1" + *< END OBJECT: BaseClass="header" /> + + ADD OBJECT '_grdrow1.Column10.Text1' AS textbox WITH ; + BackColor = 255,255,255, ; + BorderStyle = 0, ; + ForeColor = 0,0,0, ; + Margin = 0, ; + Name = "Text1" + *< END OBJECT: BaseClass="textbox" /> + + ADD OBJECT '_grdrow1.Column11.Check1' AS checkbox WITH ; + Alignment = 0, ; + Caption = "", ; + Height = 17, ; + Left = 0, ; + Name = "Check1", ; + Top = 84, ; + Width = 60 + *< END OBJECT: BaseClass="checkbox" /> + + ADD OBJECT '_grdrow1.Column11.Header1' AS header WITH ; + Caption = "Pl. Somaj", ; + FontName = "Arial Narrow", ; + Name = "Header1" + *< END OBJECT: BaseClass="header" /> + + ADD OBJECT '_grdrow1.Column11.Text1' AS textbox WITH ; + BackColor = 255,255,255, ; + BorderStyle = 0, ; + ForeColor = 0,0,0, ; + Margin = 0, ; + Name = "Text1" + *< END OBJECT: BaseClass="textbox" /> + + ADD OBJECT '_grdrow1.Column2.Header1' AS header WITH ; + Caption = "Coef.", ; + FontName = "Arial Narrow", ; + Name = "Header1" + *< END OBJECT: BaseClass="header" /> + + ADD OBJECT '_grdrow1.Column2.Text1' AS textbox WITH ; + BackColor = 255,255,255, ; + BorderStyle = 0, ; + FontName = "Arial Narrow", ; + ForeColor = 0,0,0, ; + Margin = 0, ; + Name = "Text1", ; + ReadOnly = .T. + *< END OBJECT: BaseClass="textbox" /> + + ADD OBJECT '_grdrow1.Column3.Check1' AS checkbox WITH ; + Alignment = 0, ; + Caption = "", ; + FontName = "Arial Narrow", ; + Height = 17, ; + Left = 28, ; + Name = "Check1", ; + ReadOnly = .T., ; + Top = 96, ; + Width = 60 + *< END OBJECT: BaseClass="checkbox" /> + + ADD OBJECT '_grdrow1.Column3.Header1' AS header WITH ; + Caption = "Pl. BASS", ; + FontName = "Arial Narrow", ; + Name = "Header1" + *< END OBJECT: BaseClass="header" /> + + ADD OBJECT '_grdrow1.Column3.Text1' AS textbox WITH ; + BackColor = 255,255,255, ; + BorderStyle = 0, ; + ForeColor = 0,0,0, ; + Margin = 0, ; + Name = "Text1" + *< END OBJECT: BaseClass="textbox" /> + + ADD OBJECT '_grdrow1.Column4.Check1' AS checkbox WITH ; + Alignment = 0, ; + Caption = "", ; + FontName = "Arial Narrow", ; + Height = 17, ; + Left = 12, ; + Name = "Check1", ; + ReadOnly = .T., ; + Top = 84, ; + Width = 60 + *< END OBJECT: BaseClass="checkbox" /> + + ADD OBJECT '_grdrow1.Column4.Header1' AS header WITH ; + Caption = "Pl. FS", ; + FontName = "Arial Narrow", ; + Name = "Header1" + *< END OBJECT: BaseClass="header" /> + + ADD OBJECT '_grdrow1.Column4.Text1' AS textbox WITH ; + BackColor = 255,255,255, ; + BorderStyle = 0, ; + ForeColor = 0,0,0, ; + Margin = 0, ; + Name = "Text1" + *< END OBJECT: BaseClass="textbox" /> + + ADD OBJECT '_grdrow1.Column5.Check1' AS checkbox WITH ; + Alignment = 0, ; + Caption = "", ; + FontName = "Arial Narrow", ; + Height = 17, ; + Left = 60, ; + Name = "Check1", ; + ReadOnly = .T., ; + Top = 96, ; + Width = 60 + *< END OBJECT: BaseClass="checkbox" /> + + ADD OBJECT '_grdrow1.Column5.Header1' AS header WITH ; + Caption = "Din vechime", ; + FontName = "Arial Narrow", ; + Name = "Header1" + *< END OBJECT: BaseClass="header" /> + + ADD OBJECT '_grdrow1.Column5.Text1' AS textbox WITH ; + BackColor = 255,255,255, ; + BorderStyle = 0, ; + ForeColor = 0,0,0, ; + Margin = 0, ; + Name = "Text1" + *< END OBJECT: BaseClass="textbox" /> + + ADD OBJECT '_grdrow1.Column6.Header1' AS header WITH ; + Caption = "Ordine", ; + FontName = "Arial Narrow", ; + Name = "Header1" + *< END OBJECT: BaseClass="header" /> + + ADD OBJECT '_grdrow1.Column6.Text1' AS textbox WITH ; + BackColor = 255,255,255, ; + BorderStyle = 0, ; + FontName = "Arial Narrow", ; + ForeColor = 0,0,0, ; + Margin = 0, ; + Name = "Text1", ; + ReadOnly = .T. + *< END OBJECT: BaseClass="textbox" /> + + ADD OBJECT '_grdrow1.Column7.Check1' AS checkbox WITH ; + Alignment = 0, ; + Caption = "", ; + FontName = "Arial Narrow", ; + Height = 17, ; + Left = 31, ; + Name = "Check1", ; + ReadOnly = .T., ; + Top = 60, ; + Width = 60 + *< END OBJECT: BaseClass="checkbox" /> + + ADD OBJECT '_grdrow1.Column7.Header1' AS header WITH ; + Caption = "Ingrijire copil 2 ani", ; + FontName = "Arial Narrow", ; + Name = "Header1" + *< END OBJECT: BaseClass="header" /> + + ADD OBJECT '_grdrow1.Column7.Text1' AS textbox WITH ; + BackColor = 255,255,255, ; + BorderStyle = 0, ; + ForeColor = 0,0,0, ; + Margin = 0, ; + Name = "Text1" + *< END OBJECT: BaseClass="textbox" /> + + ADD OBJECT '_grdrow1.Column8.Check1' AS checkbox WITH ; + Alignment = 0, ; + Caption = "", ; + Height = 17, ; + Left = 46, ; + Name = "Check1", ; + Top = 84, ; + Width = 60 + *< END OBJECT: BaseClass="checkbox" /> + + ADD OBJECT '_grdrow1.Column8.Header1' AS header WITH ; + Caption = "Pl. CAS", ; + FontName = "Arial Narrow", ; + Name = "Header1" + *< END OBJECT: BaseClass="header" /> + + ADD OBJECT '_grdrow1.Column8.Text1' AS textbox WITH ; + BackColor = 255,255,255, ; + BorderStyle = 0, ; + ForeColor = 0,0,0, ; + Margin = 0, ; + Name = "Text1" + *< END OBJECT: BaseClass="textbox" /> + + ADD OBJECT '_grdrow1.Column9.Check1' AS checkbox WITH ; + Alignment = 0, ; + Caption = "", ; + Height = 17, ; + Left = 30, ; + Name = "Check1", ; + Top = 84, ; + Width = 60 + *< END OBJECT: BaseClass="checkbox" /> + + ADD OBJECT '_grdrow1.Column9.Header1' AS header WITH ; + Caption = "Pl.Impozit", ; + FontName = "Arial Narrow", ; + Name = "Header1" + *< END OBJECT: BaseClass="header" /> + + ADD OBJECT '_grdrow1.Column9.Text1' AS textbox WITH ; + BackColor = 255,255,255, ; + BorderStyle = 0, ; + ForeColor = 0,0,0, ; + Margin = 0, ; + Name = "Text1" + *< END OBJECT: BaseClass="textbox" /> + + ADD OBJECT 'But_modifica1' AS but_modifica WITH ; + Anchor = 9, ; + Height = 27, ; + Left = 491, ; + Name = "But_modifica1", ; + Top = 1 + *< END OBJECT: ClassLib="cmd_butoane.vcx" BaseClass="commandbutton" /> + + ADD OBJECT 'But_nou1' AS but_nou WITH ; + Anchor = 9, ; + Height = 27, ; + Left = 460, ; + Name = "But_nou1", ; + Top = 1 + *< END OBJECT: ClassLib="cmd_butoane.vcx" BaseClass="commandbutton" /> + + ADD OBJECT 'But_sterge1' AS but_sterge WITH ; + Anchor = 9, ; + Height = 27, ; + Left = 521, ; + Name = "But_sterge1", ; + Top = 1 + *< END OBJECT: ClassLib="cmd_butoane.vcx" BaseClass="commandbutton" /> + + PROCEDURE actualizeaza_grid1 + LPARAMETERS pcFiltru + LOCAL lcFiltru + lcFiltru=pcFiltru + IF EMPTY(lcFiltru) + lcFiltru=ponomgrp.ca_baza1.cfiltru + ENDIF + save_grid_tag(thisform._grdrow1) + ponomgrp.ca_baza1.cfiltru=lcFiltru + ponomgrp.ca_baza1.afisare() + restore_grid_tag(thisform._grdrow1) + *!* IF RECCOUNT('v_delegati')>0 + thisform._grdrow1.SetFocus() + *!* ELSE + *!* thisform.lb_delegati.SetFocus() + *!* ENDIF + + ENDPROC + + PROCEDURE do_adauga + Private pniesire + pniesire=0 + Select v_nomtipcm + Scatter Name loRec Blank + *!* DEBUG + *!* SUSPEND + Do Adauga_Modifica_Inregistrare With "nomcm",loRec,,"INSERT",,"addcm" + If pniesire=1 + This.actualizeaza_grid1() + Endif + ENDPROC + + PROCEDURE do_modifica + Private pniesire + pniesire=0 + Select v_nomtipcm + Scatter Name loRec + Do Adauga_Modifica_Inregistrare With "nomcm",loRec,loRec.id_cm,"UPDATE",,"modcm" + If pniesire=1 + This.actualizeaza_grid1() + Endif + + + ENDPROC + + PROCEDURE do_sterge + SELECT v_nomtipcm + SCATTER NAME lorec + Do STERGE_INREGISTRARE With "nomcm",loRec.id_cm + + this.actualizeaza_grid1() + + ENDPROC + +ENDDEFINE + +DEFINE CLASS frm_nomcm_nou AS frm_termin_renunt OF "_frm_child.vcx" + *< CLASSDATA: Baseclass="form" Timestamp="" Scale="Pixels" Uniqueid="" /> + + *-- OBJECTDATA items order determines ZOrder / El orden de los items OBJECTDATA determina el ZOrder + *< OBJECTDATA: ObjPath="Clb_tx_simplu1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="Clb_tx_simplu2" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="Clb_tx_simplu3" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="_checkbox1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="_checkbox2" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="_checkbox3" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="_checkbox4" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="Cus_odata_nomcm1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="_checkbox5" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="_checkbox6" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="_checkbox7" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="_checkbox8" UniqueID="" Timestamp="" /> + + * + *p: nid + *p: orec + * + + * + DoCreate = .T. + Height = 280 + Name = "frm_nomcm_nou" + nid = .F. + orec = .F. + Width = 375 + _shape1.Anchor = 11 + _shape1.Name = "_shape1" + _shape2.Anchor = 9 + _shape2.Left = 303 + _shape2.Name = "_shape2" + _shape2.Top = 0 + Lb_titlu_alb_b121.Caption = "Tip concediu medical" + Lb_titlu_alb_b121.Name = "Lb_titlu_alb_b121" + Lb_titlu_alb_b121.TabIndex = 14 + BUT_TERMIN1.Anchor = 9 + BUT_TERMIN1.Left = 343 + BUT_TERMIN1.Name = "BUT_TERMIN1" + BUT_TERMIN1.TabIndex = 12 + BUT_TERMIN1.Top = 1 + Gridsort1.Name = "Gridsort1" + But_renunt1.Anchor = 9 + But_renunt1.Left = 310 + But_renunt1.Name = "But_renunt1" + But_renunt1.TabIndex = 13 + But_renunt1.Top = 1 + * + + ADD OBJECT '_checkbox1' AS _checkbox WITH ; + Alignment = 0, ; + Caption = "Se plãteºte din BASS", ; + ControlSource = "porec.plBass", ; + Left = 53, ; + Name = "_checkbox1", ; + TabIndex = 4, ; + Top = 127 + *< END OBJECT: ClassLib="_baza.vcx" BaseClass="checkbox" /> + + ADD OBJECT '_checkbox2' AS _checkbox WITH ; + Alignment = 0, ; + Caption = "Se plãteºte din FS", ; + ControlSource = "porec.plang", ; + Left = 53, ; + Name = "_checkbox2", ; + TabIndex = 5, ; + Top = 144 + *< END OBJECT: ClassLib="_baza.vcx" BaseClass="checkbox" /> + + ADD OBJECT '_checkbox3' AS _checkbox WITH ; + Alignment = 0, ; + Caption = "Se calculeazã ºi din sporul de vechime", ; + ControlSource = "porec.cuvechime", ; + Left = 53, ; + Name = "_checkbox3", ; + TabIndex = 6, ; + Top = 162 + *< END OBJECT: ClassLib="_baza.vcx" BaseClass="checkbox" /> + + ADD OBJECT '_checkbox4' AS _checkbox WITH ; + Alignment = 0, ; + Caption = "Concediu de îngrijire copil pânã la 2 ani", ; + ControlSource = "porec.ingrijire", ; + Left = 53, ; + Name = "_checkbox4", ; + TabIndex = 7, ; + Top = 180 + *< END OBJECT: ClassLib="_baza.vcx" BaseClass="checkbox" /> + + ADD OBJECT '_checkbox5' AS _checkbox WITH ; + Alignment = 0, ; + Caption = "Se calculeazã CAS", ; + ControlSource = "porec.cas", ; + Left = 53, ; + Name = "_checkbox5", ; + TabIndex = 8, ; + Top = 198 + *< END OBJECT: ClassLib="_baza.vcx" BaseClass="checkbox" /> + + ADD OBJECT '_checkbox6' AS _checkbox WITH ; + Alignment = 0, ; + Caption = "Se calculeazã impozit", ; + ControlSource = "porec.impozit", ; + Left = 53, ; + Name = "_checkbox6", ; + TabIndex = 9, ; + Top = 216 + *< END OBJECT: ClassLib="_baza.vcx" BaseClass="checkbox" /> + + ADD OBJECT '_checkbox7' AS _checkbox WITH ; + Alignment = 0, ; + Caption = "Se calculeazã sãnãtate", ; + ControlSource = "porec.sanatate", ; + Left = 53, ; + Name = "_checkbox7", ; + TabIndex = 10, ; + Top = 235 + *< END OBJECT: ClassLib="_baza.vcx" BaseClass="checkbox" /> + + ADD OBJECT '_checkbox8' AS _checkbox WITH ; + Alignment = 0, ; + Caption = "Se calculeazã ºomaj", ; + ControlSource = "porec.somaj", ; + Left = 53, ; + Name = "_checkbox8", ; + TabIndex = 11, ; + Top = 254 + *< END OBJECT: ClassLib="_baza.vcx" BaseClass="checkbox" /> + + ADD OBJECT 'Clb_tx_simplu1' AS clb_tx_simplu WITH ; + Left = 42, ; + Name = "Clb_tx_simplu1", ; + TabIndex = 1, ; + Top = 36, ; + Text_simplu1.ControlSource = "porec.ordine", ; + Text_simplu1.Name = "Text_simplu1", ; + Lb_simplu1.Caption = "Ordine", ; + Lb_simplu1.Name = "Lb_simplu1" + *< END OBJECT: ClassLib="lb_tx.vcx" BaseClass="container" /> + + ADD OBJECT 'Clb_tx_simplu2' AS clb_tx_simplu WITH ; + Left = 42, ; + Name = "Clb_tx_simplu2", ; + TabIndex = 2, ; + Top = 64, ; + Text_simplu1.ControlSource = "porec.conc_med", ; + Text_simplu1.Name = "Text_simplu1", ; + Lb_simplu1.Caption = "Denumire", ; + Lb_simplu1.FontName = "Arial Narrow", ; + Lb_simplu1.Name = "Lb_simplu1" + *< END OBJECT: ClassLib="lb_tx.vcx" BaseClass="container" /> + + ADD OBJECT 'Clb_tx_simplu3' AS clb_tx_simplu WITH ; + Left = 42, ; + Name = "Clb_tx_simplu3", ; + TabIndex = 3, ; + Top = 92, ; + Text_simplu1.ControlSource = "porec.coef", ; + Text_simplu1.Name = "Text_simplu1", ; + Lb_simplu1.Caption = "Coeficient", ; + Lb_simplu1.Name = "Lb_simplu1" + *< END OBJECT: ClassLib="lb_tx.vcx" BaseClass="container" /> + + ADD OBJECT 'Cus_odata_nomcm1' AS cus_odata_nomcm WITH ; + Left = 20, ; + Name = "Cus_odata_nomcm1", ; + Top = 111 + *< END OBJECT: ClassLib="onom_sal.vcx" BaseClass="custom" /> + + PROCEDURE inainte_de_do_termin + LOCAL PLRETURN + + lccontrol = UPPER(this.ActiveControl.BaseClass ) + IF INLIST(lccontrol,"TEXTBOX","EDITBOX","COMBOBOX") + lcval=This.Activecontrol.controlsource + &lcval=thisform.ActiveControl.value + ENDIF + + + Do Case + Case Empty(porec.conc_med) + Messagebox('Nu ati completat concediul!',0+48,"Atentie") + this.clb_tx_simplu2.text_simplu1.SetFocus() + + plreturn=.F. + + OTHERWISE + PLRETURN=This.cus_odata_nomcm1.salvare(This.OREC,This.NID) + + ENDCASE + + Return PLRETURN + + + + + ENDPROC + + PROCEDURE Init + Lparameters toRec, tnId, tcActiune + + DoDefault() + + This.orec= toRec + This.nid = tnId + this.cus_odata_nomcm1.cactiune = tcActiune + ENDPROC + +ENDDEFINE + +DEFINE CLASS frm_nomore AS frm_termin OF "_frm_child.vcx" + *< CLASSDATA: Baseclass="form" Timestamp="" Scale="Pixels" Uniqueid="" /> + + *-- OBJECTDATA items order determines ZOrder / El orden de los items OBJECTDATA determina el ZOrder + *< OBJECTDATA: ObjPath="_grdrow1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="_grdrow1.Column1.Header1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="_grdrow1.Column1.Text1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="_grdrow1.Column2.Header1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="_grdrow1.Column2.Text1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="_grdrow1.Column3.Header1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="_grdrow1.Column3.Text1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="_grdrow1.Column4.Header1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="_grdrow1.Column4.Text1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="_grdrow1.Column4.Check1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="_grdrow1.Column5.Header1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="_grdrow1.Column5.Text1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="_grdrow1.Column6.Header1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="_grdrow1.Column6.Text1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="_grdrow1.Column7.Header1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="_grdrow1.Column7.Text1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="_grdrow1.Column8.Header1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="_grdrow1.Column8.Check1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="But_nou1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="But_modifica1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="But_sterge1" UniqueID="" Timestamp="" /> + + * + BorderStyle = 1 + DoCreate = .T. + Height = 447 + Name = "frm_nomore" + Width = 692 + _shape1.Anchor = 11 + _shape1.Height = 29 + _shape1.Left = 0 + _shape1.Name = "_shape1" + _shape1.Top = 0 + _shape1.Width = 696 + _shape2.Anchor = 9 + _shape2.Height = 29 + _shape2.Left = 563 + _shape2.Name = "_shape2" + _shape2.Top = 0 + _shape2.Width = 130 + Lb_titlu_alb_b121.Caption = "Nomenclator ore" + Lb_titlu_alb_b121.Name = "Lb_titlu_alb_b121" + BUT_TERMIN1.Anchor = 9 + BUT_TERMIN1.Height = 27 + BUT_TERMIN1.Left = 662 + BUT_TERMIN1.Name = "BUT_TERMIN1" + BUT_TERMIN1.Top = 1 + Gridsort1.Name = "Gridsort1" + * + + ADD OBJECT '_grdrow1' AS _grdrow WITH ; + Anchor = 15, ; + ColumnCount = 8, ; + DeleteMark = .F., ; + Height = 396, ; + Left = 5, ; + Name = "_grdrow1", ; + Panel = 1, ; + ReadOnly = .T., ; + RecordSource = "v_nomore", ; + Top = 38, ; + Width = 681, ; + Column1.ControlSource = "ordine", ; + Column1.Name = "Column1", ; + Column1.ReadOnly = .T., ; + Column1.Width = 39, ; + Column2.ControlSource = "comentariu", ; + Column2.Name = "Column2", ; + Column2.ReadOnly = .T., ; + Column2.Width = 197, ; + Column3.ControlSource = "ore", ; + Column3.Name = "Column3", ; + Column3.ReadOnly = .T., ; + Column3.Width = 49, ; + Column4.ControlSource = "inactiv", ; + Column4.CurrentControl = "Check1", ; + Column4.Name = "Column4", ; + Column4.ReadOnly = .T., ; + Column4.Sparse = .F., ; + Column4.Width = 38, ; + Column5.ControlSource = "tabel", ; + Column5.Name = "Column5", ; + Column5.ReadOnly = .T., ; + Column5.Width = 104, ; + Column6.ControlSource = "coloana1", ; + Column6.Name = "Column6", ; + Column6.ReadOnly = .T., ; + Column6.Width = 81, ; + Column7.ControlSource = "coloana2", ; + Column7.Name = "Column7", ; + Column7.ReadOnly = .T., ; + Column7.Width = 80, ; + Column8.ControlSource = "totalzile", ; + Column8.Name = "Column8", ; + Column8.ReadOnly = .T., ; + Column8.Sparse = .F., ; + Column8.Width = 54 + *< END OBJECT: ClassLib="_grd_base.vcx" BaseClass="grid" /> + + ADD OBJECT '_grdrow1.Column1.Header1' AS header WITH ; + Alignment = 2, ; + Caption = "Ordine", ; + Name = "Header1" + *< END OBJECT: BaseClass="header" /> + + ADD OBJECT '_grdrow1.Column1.Text1' AS textbox WITH ; + BackColor = 255,255,255, ; + BorderStyle = 0, ; + ForeColor = 0,0,0, ; + Margin = 0, ; + Name = "Text1", ; + ReadOnly = .T. + *< END OBJECT: BaseClass="textbox" /> + + ADD OBJECT '_grdrow1.Column2.Header1' AS header WITH ; + Alignment = 2, ; + Caption = "Tip ora", ; + Name = "Header1" + *< END OBJECT: BaseClass="header" /> + + ADD OBJECT '_grdrow1.Column2.Text1' AS textbox WITH ; + BackColor = 255,255,255, ; + BorderStyle = 0, ; + ForeColor = 0,0,0, ; + Margin = 0, ; + Name = "Text1", ; + ReadOnly = .T. + *< END OBJECT: BaseClass="textbox" /> + + ADD OBJECT '_grdrow1.Column3.Header1' AS header WITH ; + Alignment = 2, ; + Caption = "Abrev.", ; + Name = "Header1" + *< END OBJECT: BaseClass="header" /> + + ADD OBJECT '_grdrow1.Column3.Text1' AS textbox WITH ; + BackColor = 255,255,255, ; + BorderStyle = 0, ; + ForeColor = 0,0,0, ; + Margin = 0, ; + Name = "Text1", ; + ReadOnly = .T. + *< END OBJECT: BaseClass="textbox" /> + + ADD OBJECT '_grdrow1.Column4.Check1' AS checkbox WITH ; + Alignment = 0, ; + Caption = "", ; + Height = 17, ; + Left = 6, ; + Name = "Check1", ; + ReadOnly = .T., ; + Top = 71, ; + Width = 60 + *< END OBJECT: BaseClass="checkbox" /> + + ADD OBJECT '_grdrow1.Column4.Header1' AS header WITH ; + Alignment = 2, ; + Caption = "Inactiv", ; + Name = "Header1" + *< END OBJECT: BaseClass="header" /> + + ADD OBJECT '_grdrow1.Column4.Text1' AS textbox WITH ; + BackColor = 255,255,255, ; + BorderStyle = 0, ; + ForeColor = 0,0,0, ; + Margin = 0, ; + Name = "Text1" + *< END OBJECT: BaseClass="textbox" /> + + ADD OBJECT '_grdrow1.Column5.Header1' AS header WITH ; + Alignment = 2, ; + Caption = "Tabel", ; + Name = "Header1" + *< END OBJECT: BaseClass="header" /> + + ADD OBJECT '_grdrow1.Column5.Text1' AS textbox WITH ; + BackColor = 255,255,255, ; + BorderStyle = 0, ; + ForeColor = 0,0,0, ; + Margin = 0, ; + Name = "Text1" + *< END OBJECT: BaseClass="textbox" /> + + ADD OBJECT '_grdrow1.Column6.Header1' AS header WITH ; + Alignment = 2, ; + Caption = "Coloana 1", ; + Name = "Header1" + *< END OBJECT: BaseClass="header" /> + + ADD OBJECT '_grdrow1.Column6.Text1' AS textbox WITH ; + BackColor = 255,255,255, ; + BorderStyle = 0, ; + ForeColor = 0,0,0, ; + Margin = 0, ; + Name = "Text1" + *< END OBJECT: BaseClass="textbox" /> + + ADD OBJECT '_grdrow1.Column7.Header1' AS header WITH ; + Alignment = 2, ; + Caption = "Coloana 2", ; + Name = "Header1" + *< END OBJECT: BaseClass="header" /> + + ADD OBJECT '_grdrow1.Column7.Text1' AS textbox WITH ; + BackColor = 255,255,255, ; + BorderStyle = 0, ; + ForeColor = 0,0,0, ; + Margin = 0, ; + Name = "Text1" + *< END OBJECT: BaseClass="textbox" /> + + ADD OBJECT '_grdrow1.Column8.Check1' AS checkbox WITH ; + Alignment = 0, ; + Caption = "", ; + Height = 17, ; + Left = 13, ; + Name = "Check1", ; + Top = 23, ; + Width = 60 + *< END OBJECT: BaseClass="checkbox" /> + + ADD OBJECT '_grdrow1.Column8.Header1' AS header WITH ; + Alignment = 2, ; + Caption = "Total zile", ; + Name = "Header1" + *< END OBJECT: BaseClass="header" /> + + ADD OBJECT 'But_modifica1' AS but_modifica WITH ; + Anchor = 9, ; + Height = 27, ; + Left = 599, ; + Name = "But_modifica1", ; + Top = 1 + *< END OBJECT: ClassLib="cmd_butoane.vcx" BaseClass="commandbutton" /> + + ADD OBJECT 'But_nou1' AS but_nou WITH ; + Anchor = 9, ; + Height = 27, ; + Left = 567, ; + Name = "But_nou1", ; + Top = 1 + *< END OBJECT: ClassLib="cmd_butoane.vcx" BaseClass="commandbutton" /> + + ADD OBJECT 'But_sterge1' AS but_sterge WITH ; + Anchor = 9, ; + Left = 631, ; + Name = "But_sterge1", ; + Top = 1 + *< END OBJECT: ClassLib="cmd_butoane.vcx" BaseClass="commandbutton" /> + + PROCEDURE actualizeaza_grid1 + LPARAMETERS pcFiltru + LOCAL lcFiltru + lcFiltru=pcFiltru + IF EMPTY(lcFiltru) + lcFiltru=ponomgrp.ca_baza1.cfiltru + ENDIF + save_grid_tag(thisform._grdrow1) + ponomgrp.ca_baza1.cfiltru=lcFiltru + ponomgrp.ca_baza1.afisare() + restore_grid_tag(thisform._grdrow1) + *!* IF RECCOUNT('v_delegati')>0 + thisform._grdrow1.SetFocus() + *!* ELSE + *!* thisform.lb_delegati.SetFocus() + *!* ENDIF + + ENDPROC + + PROCEDURE do_adauga + Private pniesire + pniesire=0 + Select v_nomore + + Scatter Name loRec Blank + loRec.totalzile = 1 + Do Adauga_Modifica_Inregistrare With "nomore",loRec,,"INSERT",,"addora" + + + If pniesire=1 + This.actualizeaza_grid1() + Endif + + ENDPROC + + PROCEDURE do_modifica + Private pniesire + pniesire=0 + Select v_nomore + Scatter Name loRec + *!* pcNume = loRec.nume + *!* pcPrenume = loRec.prenume + Do Adauga_Modifica_Inregistrare With "nomore",loRec,loRec.id_nomore,"UPDATE",,"modora" + + If pniesire=1 + This.actualizeaza_grid1() + Endif + + + ENDPROC + + PROCEDURE do_sterge + SELECT v_nomore + SCATTER NAME lorec + Do STERGE_INREGISTRARE With "nomore",loRec.id_nomore + This.actualizeaza_grid1() + ENDPROC + +ENDDEFINE + +DEFINE CLASS frm_nomore_nou AS frm_termin_renunt OF "_frm_child.vcx" + *< CLASSDATA: Baseclass="form" Timestamp="" Scale="Pixels" Uniqueid="" /> + + *-- OBJECTDATA items order determines ZOrder / El orden de los items OBJECTDATA determina el ZOrder + *< OBJECTDATA: ObjPath="Clb_tx_simplu1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="Clb_tx_simplu2" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="Clb_tx_simplu3" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="_checkbox1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="Cus_odata_nomore1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="Clb_tx_simplu4" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="Clb_tx_simplu5" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="Clb_tx_simplu6" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="_checkbox2" UniqueID="" Timestamp="" /> + + * + *p: nid + *p: orec + * + + * + BorderStyle = 1 + DoCreate = .T. + Height = 261 + Name = "frm_nomore_nou" + nid = .F. + orec = .F. + Width = 375 + _shape1.Anchor = 11 + _shape1.Name = "_shape1" + _shape2.Anchor = 9 + _shape2.Height = 29 + _shape2.Left = 312 + _shape2.Name = "_shape2" + _shape2.Top = 0 + _shape2.Width = 64 + Lb_titlu_alb_b121.Caption = "Ore" + Lb_titlu_alb_b121.Name = "Lb_titlu_alb_b121" + Lb_titlu_alb_b121.TabIndex = 11 + BUT_TERMIN1.Anchor = 9 + BUT_TERMIN1.Left = 345 + BUT_TERMIN1.Name = "BUT_TERMIN1" + BUT_TERMIN1.TabIndex = 9 + BUT_TERMIN1.Top = 1 + Gridsort1.Name = "Gridsort1" + But_renunt1.Anchor = 9 + But_renunt1.Left = 314 + But_renunt1.Name = "But_renunt1" + But_renunt1.TabIndex = 10 + But_renunt1.Top = 1 + * + + ADD OBJECT '_checkbox1' AS _checkbox WITH ; + Alignment = 0, ; + Caption = "Inactiv", ; + ControlSource = "porec.inactiv", ; + Left = 30, ; + Name = "_checkbox1", ; + TabIndex = 8, ; + Top = 237 + *< END OBJECT: ClassLib="_baza.vcx" BaseClass="checkbox" /> + + ADD OBJECT '_checkbox2' AS _checkbox WITH ; + Alignment = 0, ; + Caption = "Total zile", ; + ControlSource = "porec.totalzile", ; + Left = 30, ; + Name = "_checkbox2", ; + TabIndex = 7, ; + Top = 216 + *< END OBJECT: ClassLib="_baza.vcx" BaseClass="checkbox" /> + + ADD OBJECT 'Clb_tx_simplu1' AS clb_tx_simplu WITH ; + Left = 30, ; + Name = "Clb_tx_simplu1", ; + TabIndex = 1, ; + Top = 44, ; + Text_simplu1.ControlSource = "porec.ordine", ; + Text_simplu1.Name = "Text_simplu1", ; + Lb_simplu1.Caption = "Ordine", ; + Lb_simplu1.Name = "Lb_simplu1" + *< END OBJECT: ClassLib="lb_tx.vcx" BaseClass="container" /> + + ADD OBJECT 'Clb_tx_simplu2' AS clb_tx_simplu WITH ; + Left = 30, ; + Name = "Clb_tx_simplu2", ; + TabIndex = 2, ; + Top = 72, ; + Text_simplu1.ControlSource = "porec.comentariu", ; + Text_simplu1.Name = "Text_simplu1", ; + Lb_simplu1.Caption = "Tip orã", ; + Lb_simplu1.Name = "Lb_simplu1" + *< END OBJECT: ClassLib="lb_tx.vcx" BaseClass="container" /> + + ADD OBJECT 'Clb_tx_simplu3' AS clb_tx_simplu WITH ; + Left = 30, ; + Name = "Clb_tx_simplu3", ; + TabIndex = 3, ; + Top = 100, ; + Text_simplu1.ControlSource = "porec.ore", ; + Text_simplu1.Name = "Text_simplu1", ; + Lb_simplu1.Caption = "Abreviere", ; + Lb_simplu1.Name = "Lb_simplu1" + *< END OBJECT: ClassLib="lb_tx.vcx" BaseClass="container" /> + + ADD OBJECT 'Clb_tx_simplu4' AS clb_tx_simplu WITH ; + Left = 30, ; + Name = "Clb_tx_simplu4", ; + TabIndex = 4, ; + Top = 128, ; + Text_simplu1.ControlSource = "porec.tabel", ; + Text_simplu1.Name = "Text_simplu1", ; + Lb_simplu1.Caption = "Tabel", ; + Lb_simplu1.Name = "Lb_simplu1" + *< END OBJECT: ClassLib="lb_tx.vcx" BaseClass="container" /> + + ADD OBJECT 'Clb_tx_simplu5' AS clb_tx_simplu WITH ; + Left = 30, ; + Name = "Clb_tx_simplu5", ; + TabIndex = 5, ; + Top = 156, ; + Text_simplu1.ControlSource = "porec.coloana1", ; + Text_simplu1.Name = "Text_simplu1", ; + Lb_simplu1.Caption = "Coloana 1", ; + Lb_simplu1.Name = "Lb_simplu1" + *< END OBJECT: ClassLib="lb_tx.vcx" BaseClass="container" /> + + ADD OBJECT 'Clb_tx_simplu6' AS clb_tx_simplu WITH ; + Left = 30, ; + Name = "Clb_tx_simplu6", ; + TabIndex = 6, ; + Top = 184, ; + Text_simplu1.ControlSource = "porec.coloana2", ; + Text_simplu1.Name = "Text_simplu1", ; + Lb_simplu1.Caption = "Coloana 2", ; + Lb_simplu1.Name = "Lb_simplu1" + *< END OBJECT: ClassLib="lb_tx.vcx" BaseClass="container" /> + + ADD OBJECT 'Cus_odata_nomore1' AS cus_odata_nomore WITH ; + Left = 336, ; + Name = "Cus_odata_nomore1", ; + Top = 132 + *< END OBJECT: ClassLib="onom_sal.vcx" BaseClass="custom" /> + + PROCEDURE inainte_de_do_termin + Local PLRETURN + + lccontrol = Upper(This.ActiveControl.BaseClass ) + If Inlist(lccontrol,"TEXTBOX","EDITBOX","COMBOBOX") + lcval=This.ActiveControl.ControlSource + &lcval=Thisform.ActiveControl.Value + Endif + + *!* Do Case + *!* Case Empty(porec.tip_contract) + *!* Messagebox('Nu ati completat formatia!',0+48,"Atentie") + *!* This.clb_tx_simplu1._cbbase1.SetFocus() + *!* PLRETURN=.F. + *!* Otherwise + + PLRETURN=this.cus_odata_nomore1.salvare(This.OREC,This.NID) + + + *!* ENDIF + *!* Endcase + Return PLRETURN + + ENDPROC + + PROCEDURE Init + Lparameters toRec, tnId, tcActiune + + DoDefault() + + This.orec= toRec + This.nid = tnId + this.cus_odata_nomore1.cactiune = tcActiune + + ENDPROC + +ENDDEFINE + +DEFINE CLASS frm_nompop_nou AS frm_termin_renunt OF "_frm_child.vcx" + *< CLASSDATA: Baseclass="form" Timestamp="" Scale="Pixels" Uniqueid="" /> + + *-- OBJECTDATA items order determines ZOrder / El orden de los items OBJECTDATA determina el ZOrder + *< OBJECTDATA: ObjPath="Clb_tx_simplu1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="Cb_tx_simplu1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="_checkbox3" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="CUS_ODATA_NOMPOP1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="_checkbox1" UniqueID="" Timestamp="" /> + + * + *p: nid + *p: orec + * + + * + DoCreate = .T. + Height = 179 + Name = "frm_nompop_nou" + nid = .F. + orec = .F. + Width = 375 + _shape1.Anchor = 11 + _shape1.Name = "_shape1" + _shape2.Anchor = 9 + _shape2.Height = 29 + _shape2.Left = 305 + _shape2.Name = "_shape2" + _shape2.Top = 0 + _shape2.Width = 72 + Lb_titlu_alb_b121.Caption = "Definire poprire" + Lb_titlu_alb_b121.Name = "Lb_titlu_alb_b121" + Lb_titlu_alb_b121.TabIndex = 7 + BUT_TERMIN1.Anchor = 9 + BUT_TERMIN1.Left = 343 + BUT_TERMIN1.Name = "BUT_TERMIN1" + BUT_TERMIN1.TabIndex = 5 + BUT_TERMIN1.Top = 1 + Gridsort1.Name = "Gridsort1" + But_renunt1.Anchor = 9 + But_renunt1.Left = 310 + But_renunt1.Name = "But_renunt1" + But_renunt1.TabIndex = 6 + But_renunt1.Top = 1 + * + + ADD OBJECT '_checkbox1' AS _checkbox WITH ; + Alignment = 0, ; + Caption = "Sumã fixã", ; + ControlSource = "porec.sumafixa", ; + Left = 45, ; + Name = "_checkbox1", ; + TabIndex = 3, ; + Top = 100 + *< END OBJECT: ClassLib="_baza.vcx" BaseClass="checkbox" /> + + ADD OBJECT '_checkbox3' AS _checkbox WITH ; + Alignment = 0, ; + Caption = "Permanent", ; + ControlSource = "porec.permanent", ; + Left = 45, ; + Name = "_checkbox3", ; + TabIndex = 2, ; + Top = 81 + *< END OBJECT: ClassLib="_baza.vcx" BaseClass="checkbox" /> + + ADD OBJECT 'Cb_tx_simplu1' AS cb_tx_simplu WITH ; + Left = 39, ; + Name = "Cb_tx_simplu1", ; + TabIndex = 4, ; + Top = 121, ; + _cbbase1.ControlSource = "torec.nume_camp", ; + _cbbase1.Name = "_cbbase1", ; + _cbbase1.RowSource = "v_calcdin.nume_camp", ; + _cbbase1.RowSourceType = 2, ; + _lbbase1.Caption = "Se calculeazã din", ; + _lbbase1.Left = 3, ; + _lbbase1.Name = "_lbbase1", ; + _lbbase1.Top = 6 + *< END OBJECT: ClassLib="lb_tx.vcx" BaseClass="container" /> + + ADD OBJECT 'Clb_tx_simplu1' AS clb_tx_simplu WITH ; + Left = 39, ; + Name = "Clb_tx_simplu1", ; + TabIndex = 1, ; + Top = 48, ; + Text_simplu1.ControlSource = "torec.denumire", ; + Text_simplu1.Name = "Text_simplu1", ; + Lb_simplu1.Caption = "Denumire poprire", ; + Lb_simplu1.Left = 2, ; + Lb_simplu1.Name = "Lb_simplu1", ; + Lb_simplu1.Top = 6 + *< END OBJECT: ClassLib="lb_tx.vcx" BaseClass="container" /> + + ADD OBJECT 'CUS_ODATA_NOMPOP1' AS cus_odata_nompop WITH ; + Left = 12, ; + Name = "CUS_ODATA_NOMPOP1", ; + Top = 48 + *< END OBJECT: ClassLib="onom_sal.vcx" BaseClass="custom" /> + + PROCEDURE inainte_de_do_termin + Local PLRETURN + + lccontrol = Upper(This.ActiveControl.BaseClass ) + If Inlist(lccontrol,"TEXTBOX","EDITBOX","COMBOBOX") + lcval=This.ActiveControl.ControlSource + &lcval=Thisform.ActiveControl.Value + Endif + + Do Case + Case Empty(porec.denumire) + Messagebox('Nu ati completat denumirea popririi!',0+48,"Atentie") + This.clb_tx_simplu1._cbbase1.SetFocus() + PLRETURN=.F. + Otherwise + + PLRETURN=this.cus_odata_nompop1.salvare(This.OREC,This.NID) + + *!* ENDIF + Endcase + Return PLRETURN + + + + ENDPROC + + PROCEDURE Init + Lparameters toRec, tnId, tcActiune + + DoDefault() + + This.orec= toRec + This.nid = tnId + this.cus_odata_nompop1.cactiune = tcActiune + ENDPROC + + PROCEDURE Cb_tx_simplu1._cbbase1.LostFocus + porec.id_calcdin = v_calcdin.id_calcdin + ENDPROC + +ENDDEFINE + +DEFINE CLASS frm_nompopriri AS frm_termin OF "_frm_child.vcx" + *< CLASSDATA: Baseclass="form" Timestamp="" Scale="Pixels" Uniqueid="" /> + + *-- OBJECTDATA items order determines ZOrder / El orden de los items OBJECTDATA determina el ZOrder + *< OBJECTDATA: ObjPath="_grdrow1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="_grdrow1.Column1.Header1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="_grdrow1.Column1.Text1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="_grdrow1.Column2.Header1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="_grdrow1.Column2.Check1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="_grdrow1.Column3.Header1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="_grdrow1.Column3.Text1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="_grdrow1.Column4.Header1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="_grdrow1.Column4.Check1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="But_nou1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="But_modifica1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="But_sterge1" UniqueID="" Timestamp="" /> + + * + DoCreate = .T. + Height = 460 + Name = "frm_nompopriri" + Width = 490 + _shape1.Anchor = 11 + _shape1.Height = 29 + _shape1.Left = 0 + _shape1.Name = "_shape1" + _shape1.Top = 0 + _shape1.Width = 492 + _shape2.Anchor = 9 + _shape2.Height = 29 + _shape2.Left = 360 + _shape2.Name = "_shape2" + _shape2.Top = 1 + _shape2.Width = 131 + Lb_titlu_alb_b121.Caption = "Popriri" + Lb_titlu_alb_b121.Name = "Lb_titlu_alb_b121" + Lb_titlu_alb_b121.TabIndex = 1 + BUT_TERMIN1.Anchor = 9 + BUT_TERMIN1.Left = 459 + BUT_TERMIN1.Name = "BUT_TERMIN1" + BUT_TERMIN1.TabIndex = 2 + BUT_TERMIN1.Top = 2 + Gridsort1.Name = "Gridsort1" + * + + ADD OBJECT '_grdrow1' AS _grdrow WITH ; + Anchor = 15, ; + ColumnCount = 4, ; + DeleteMark = .F., ; + Height = 405, ; + Left = 11, ; + Name = "_grdrow1", ; + Panel = 1, ; + ReadOnly = .T., ; + RecordSource = "v_nompop", ; + TabIndex = 3, ; + Top = 39, ; + Width = 468, ; + Column1.ControlSource = "denumire", ; + Column1.Name = "Column1", ; + Column1.ReadOnly = .T., ; + Column1.Width = 150, ; + Column2.ControlSource = "permanent", ; + Column2.CurrentControl = "Check1", ; + Column2.Name = "Column2", ; + Column2.ReadOnly = .T., ; + Column2.Sparse = .F., ; + Column3.ControlSource = "nume_camp", ; + Column3.Name = "Column3", ; + Column3.ReadOnly = .T., ; + Column3.Width = 132, ; + Column4.ControlSource = "sumafixa", ; + Column4.CurrentControl = "Check1", ; + Column4.Name = "Column4", ; + Column4.ReadOnly = .T., ; + Column4.Sparse = .F. + *< END OBJECT: ClassLib="_grd_base.vcx" BaseClass="grid" /> + + ADD OBJECT '_grdrow1.Column1.Header1' AS header WITH ; + Alignment = 2, ; + Caption = "Poprire", ; + Name = "Header1" + *< END OBJECT: BaseClass="header" /> + + ADD OBJECT '_grdrow1.Column1.Text1' AS textbox WITH ; + BackColor = 255,255,255, ; + BorderStyle = 0, ; + ForeColor = 0,0,0, ; + Margin = 0, ; + Name = "Text1", ; + ReadOnly = .T. + *< END OBJECT: BaseClass="textbox" /> + + ADD OBJECT '_grdrow1.Column2.Check1' AS checkbox WITH ; + Alignment = 0, ; + Caption = "", ; + ControlSource = "permanent", ; + Height = 17, ; + Left = 19, ; + Name = "Check1", ; + ReadOnly = .T., ; + Top = 107, ; + Width = 60 + *< END OBJECT: BaseClass="checkbox" /> + + ADD OBJECT '_grdrow1.Column2.Header1' AS header WITH ; + Alignment = 2, ; + Caption = "Permanent", ; + Name = "Header1" + *< END OBJECT: BaseClass="header" /> + + ADD OBJECT '_grdrow1.Column3.Header1' AS header WITH ; + Alignment = 2, ; + Caption = "Se calc. din:", ; + Name = "Header1" + *< END OBJECT: BaseClass="header" /> + + ADD OBJECT '_grdrow1.Column3.Text1' AS textbox WITH ; + Alignment = 3, ; + BackColor = 255,255,255, ; + BorderStyle = 0, ; + ForeColor = 0,0,0, ; + Margin = 0, ; + Name = "Text1", ; + ReadOnly = .T. + *< END OBJECT: BaseClass="textbox" /> + + ADD OBJECT '_grdrow1.Column4.Check1' AS checkbox WITH ; + Alignment = 0, ; + Caption = "", ; + Height = 17, ; + Left = 62, ; + Name = "Check1", ; + ReadOnly = .T., ; + Top = 119, ; + Width = 60 + *< END OBJECT: BaseClass="checkbox" /> + + ADD OBJECT '_grdrow1.Column4.Header1' AS header WITH ; + Alignment = 2, ; + Caption = "Suma fixa", ; + Name = "Header1" + *< END OBJECT: BaseClass="header" /> + + ADD OBJECT 'But_modifica1' AS but_modifica WITH ; + Anchor = 9, ; + Height = 27, ; + Left = 396, ; + Name = "But_modifica1", ; + TabIndex = 5, ; + Top = 2, ; + Width = 29 + *< END OBJECT: ClassLib="cmd_butoane.vcx" BaseClass="commandbutton" /> + + ADD OBJECT 'But_nou1' AS but_nou WITH ; + Anchor = 9, ; + Left = 364, ; + Name = "But_nou1", ; + TabIndex = 4, ; + Top = 2 + *< END OBJECT: ClassLib="cmd_butoane.vcx" BaseClass="commandbutton" /> + + ADD OBJECT 'But_sterge1' AS but_sterge WITH ; + Anchor = 9, ; + Left = 427, ; + Name = "But_sterge1", ; + TabIndex = 6, ; + Top = 2 + *< END OBJECT: ClassLib="cmd_butoane.vcx" BaseClass="commandbutton" /> + + PROCEDURE actualizeaza_grid1 + LPARAMETERS pcFiltru + LOCAL lcFiltru + lcFiltru=pcFiltru + IF EMPTY(lcFiltru) + lcFiltru=ponompop.ca_baza1.cfiltru + ENDIF + save_grid_tag(thisform._grdrow1) + ponompop.ca_baza1.cfiltru=lcFiltru + ponompop.ca_baza1.afisare() + restore_grid_tag(thisform._grdrow1) + thisform._grdrow1.SetFocus() + + ENDPROC + + PROCEDURE do_adauga + Private pniesire + Do update_calcdin In update_roadef_sal.prg + pniesire=0 + Select v_nompop + *!* pcNume = loRec.nume + *!* pcPrenume = loRec.prenume + Scatter Name loRec Blank + Do Adauga_Modifica_Inregistrare With "nompop",loRec,,"INSERT",,"addpop" + IF USED('v_calcdin') + USE IN v_calcdin + ENDIF + + If pniesire=1 + This.actualizeaza_grid1() + Endif + + ENDPROC + + PROCEDURE do_modifica + Private pniesire + Do update_calcdin In update_roadef_sal.prg + pniesire=0 + Select v_nompop + Scatter Name loRec + *!* pcNume = loRec.nume + *!* pcPrenume = loRec.prenume + Do Adauga_Modifica_Inregistrare With "nompop",loRec,loRec.id_popriri,"UPDATE",,"modpop" + IF USED('v_calcdin') + USE IN v_calcdin + ENDIF + + If pniesire=1 + This.actualizeaza_grid1() + Endif + + + ENDPROC + + PROCEDURE do_sterge + SELECT v_nompop + SCATTER NAME lorec + Do STERGE_INREGISTRARE With "nomspor",loRec.id_popriri + This.actualizeaza_grid1() + + ENDPROC + +ENDDEFINE + +DEFINE CLASS frm_nomtichete AS frm_termin OF "..\..\..\roasalspec\comun\clase\_frm_child.vcx" + *< CLASSDATA: Baseclass="form" Timestamp="" Scale="Pixels" Uniqueid="" /> + + *-- OBJECTDATA items order determines ZOrder / El orden de los items OBJECTDATA determina el ZOrder + *< OBJECTDATA: ObjPath="_grdrow1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="_grdrow1.Column1.Header1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="_grdrow1.Column1.Text1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="_grdrow1.Column2.Header1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="_grdrow1.Column2.Text1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="_grdrow1.Column3.Header1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="_grdrow1.Column3.Text1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="_grdrow1.Column3.Check1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="But_nou1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="But_modifica1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="But_sterge1" UniqueID="" Timestamp="" /> + + * + DoCreate = .T. + Height = 197 + Name = "frm_nomtichete" + Width = 375 + _shape1.Anchor = 11 + _shape1.Name = "_shape1" + _shape2.Anchor = 9 + _shape2.Left = 324 + _shape2.Name = "_shape2" + _shape2.Top = 0 + Lb_titlu_alb_b121.Caption = "Tichete" + Lb_titlu_alb_b121.Name = "Lb_titlu_alb_b121" + BUT_TERMIN1.Anchor = 9 + BUT_TERMIN1.Left = 345 + BUT_TERMIN1.Name = "BUT_TERMIN1" + BUT_TERMIN1.Top = 1 + Gridsort1.Name = "Gridsort1" + * + + ADD OBJECT '_grdrow1' AS _grdrow WITH ; + Anchor = 15, ; + ColumnCount = 3, ; + DeleteMark = .F., ; + FontName = "Arial Narrow", ; + Height = 137, ; + Left = 20, ; + Name = "_grdrow1", ; + Panel = 1, ; + ReadOnly = .T., ; + RecordSource = "vnom_tichete", ; + Top = 40, ; + Width = 336, ; + Column1.ControlSource = "denumire", ; + Column1.FontName = "Arial Narrow", ; + Column1.Name = "Column1", ; + Column1.ReadOnly = .T., ; + Column1.Width = 217, ; + Column2.ControlSource = "valoare", ; + Column2.FontName = "Arial Narrow", ; + Column2.Format = "r", ; + Column2.InputMask = "99.99", ; + Column2.Name = "Column2", ; + Column2.ReadOnly = .T., ; + Column2.Width = 50, ; + Column3.ControlSource = "inactiv", ; + Column3.CurrentControl = "Check1", ; + Column3.FontName = "Arial Narrow", ; + Column3.Name = "Column3", ; + Column3.ReadOnly = .T., ; + Column3.Sparse = .F., ; + Column3.Width = 32 + *< END OBJECT: ClassLib="_grd_base.vcx" BaseClass="grid" /> + + ADD OBJECT '_grdrow1.Column1.Header1' AS header WITH ; + Alignment = 2, ; + Caption = "Denumire", ; + FontName = "Arial Narrow", ; + Name = "Header1" + *< END OBJECT: BaseClass="header" /> + + ADD OBJECT '_grdrow1.Column1.Text1' AS textbox WITH ; + BackColor = 255,255,255, ; + BorderStyle = 0, ; + FontName = "Arial Narrow", ; + ForeColor = 0,0,0, ; + Margin = 0, ; + Name = "Text1", ; + ReadOnly = .T. + *< END OBJECT: BaseClass="textbox" /> + + ADD OBJECT '_grdrow1.Column2.Header1' AS header WITH ; + Alignment = 2, ; + Caption = "Valoare", ; + FontName = "Arial Narrow", ; + Name = "Header1" + *< END OBJECT: BaseClass="header" /> + + ADD OBJECT '_grdrow1.Column2.Text1' AS textbox WITH ; + BackColor = 255,255,255, ; + BorderStyle = 0, ; + FontName = "Arial Narrow", ; + ForeColor = 0,0,0, ; + Margin = 0, ; + Name = "Text1", ; + ReadOnly = .T. + *< END OBJECT: BaseClass="textbox" /> + + ADD OBJECT '_grdrow1.Column3.Check1' AS checkbox WITH ; + Alignment = 0, ; + Caption = "", ; + Height = 17, ; + Left = 18, ; + Name = "Check1", ; + Top = 43, ; + Width = 60 + *< END OBJECT: BaseClass="checkbox" /> + + ADD OBJECT '_grdrow1.Column3.Header1' AS header WITH ; + Alignment = 2, ; + Caption = "Inactiv", ; + FontName = "Arial Narrow", ; + Name = "Header1" + *< END OBJECT: BaseClass="header" /> + + ADD OBJECT '_grdrow1.Column3.Text1' AS textbox WITH ; + BackColor = 255,255,255, ; + BorderStyle = 0, ; + FontName = "Arial Narrow", ; + ForeColor = 0,0,0, ; + Margin = 0, ; + Name = "Text1", ; + ReadOnly = .T. + *< END OBJECT: BaseClass="textbox" /> + + ADD OBJECT 'But_modifica1' AS but_modifica WITH ; + Anchor = 9, ; + Left = 285, ; + Name = "But_modifica1", ; + Top = 1 + *< END OBJECT: ClassLib="cmd_butoane.vcx" BaseClass="commandbutton" /> + + ADD OBJECT 'But_nou1' AS but_nou WITH ; + Anchor = 9, ; + Left = 255, ; + Name = "But_nou1", ; + Top = 1 + *< END OBJECT: ClassLib="cmd_butoane.vcx" BaseClass="commandbutton" /> + + ADD OBJECT 'But_sterge1' AS but_sterge WITH ; + Anchor = 9, ; + Left = 315, ; + Name = "But_sterge1", ; + Top = 1 + *< END OBJECT: ClassLib="cmd_butoane.vcx" BaseClass="commandbutton" /> + + PROCEDURE actualizeaza_grid1 + LPARAMETERS pcFiltru + LOCAL lcFiltru + lcFiltru=pcFiltru + IF EMPTY(lcFiltru) + lcFiltru=ponomtic.ca_baza1.cfiltru + ENDIF + save_grid_tag(thisform._grdrow1) + ponomtic.ca_baza1.cfiltru=lcFiltru + ponomtic.ca_baza1.afisare() + restore_grid_tag(thisform._grdrow1) + *!* IF RECCOUNT('v_delegati')>0 + thisform._grdrow1.SetFocus() + *!* ELSE + *!* thisform.lb_delegati.SetFocus() + *!* ENDIF + + ENDPROC + + PROCEDURE do_adauga + Private pniesire + pniesire=0 + Select vnom_tichete + Scatter Name loRec Blank + + *!* DEBUG + *!* SUSPEND + Do Adauga_Modifica_Inregistrare With "nomtichete",loRec,,"INSERT",,"addtic" + If pniesire=1 + This.actualizeaza_grid1() + Endif + ENDPROC + + PROCEDURE do_modifica + Private pniesire + pniesire=0 + Select vnom_tichete + Scatter Name loRec + + Do Adauga_Modifica_Inregistrare With "nomtichete",loRec,loRec.id,"UPDATE",,"modtic" + If pniesire=1 + This.actualizeaza_grid1() + Endif + + + ENDPROC + + PROCEDURE do_sterge + SELECT vnom_tichete + SCATTER NAME lorec + Do STERGE_INREGISTRARE With "nomtichete",loRec.id + this.actualizeaza_grid1() + + ENDPROC + +ENDDEFINE + +DEFINE CLASS frm_nomtichete_nou AS frm_termin_renunt OF "..\..\..\roasalspec\comun\clase\_frm_child.vcx" + *< CLASSDATA: Baseclass="form" Timestamp="" Scale="Pixels" Uniqueid="" /> + + *-- OBJECTDATA items order determines ZOrder / El orden de los items OBJECTDATA determina el ZOrder + *< OBJECTDATA: ObjPath="Clb_tx_simplu1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="Clb_tx_simplu2" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="_checkbox1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="Cus_odata_nomtichete1" UniqueID="" Timestamp="" /> + + * + *p: nid + *p: orec + * + + * + DoCreate = .T. + Height = 124 + Name = "frm_nomtichete_nou" + nid = .F. + orec = .F. + Width = 375 + _shape1.Anchor = 11 + _shape1.Name = "_shape1" + _shape2.Anchor = 9 + _shape2.Height = 29 + _shape2.Left = 312 + _shape2.Name = "_shape2" + _shape2.Top = 0 + _shape2.Width = 64 + Lb_titlu_alb_b121.Caption = "Tichete" + Lb_titlu_alb_b121.Name = "Lb_titlu_alb_b121" + BUT_TERMIN1.Anchor = 9 + BUT_TERMIN1.Left = 346 + BUT_TERMIN1.Name = "BUT_TERMIN1" + BUT_TERMIN1.Top = 1 + Gridsort1.Name = "Gridsort1" + But_renunt1.Anchor = 9 + But_renunt1.Left = 315 + But_renunt1.Name = "But_renunt1" + But_renunt1.Top = 1 + * + + ADD OBJECT '_checkbox1' AS _checkbox WITH ; + Alignment = 0, ; + Caption = "Inactiv", ; + ControlSource = "porec.inactiv", ; + Height = 17, ; + Left = 288, ; + Name = "_checkbox1", ; + TabIndex = 5, ; + TabStop = .F., ; + Top = 104, ; + Width = 52 + *< END OBJECT: ClassLib="_baza.vcx" BaseClass="checkbox" /> + + ADD OBJECT 'Clb_tx_simplu1' AS clb_tx_simplu WITH ; + Left = 50, ; + Name = "Clb_tx_simplu1", ; + TabIndex = 1, ; + Top = 39, ; + Text_simplu1.ControlSource = "porec.denumire", ; + Text_simplu1.Name = "Text_simplu1", ; + Lb_simplu1.Caption = "Denumire", ; + Lb_simplu1.Name = "Lb_simplu1" + *< END OBJECT: ClassLib="lb_tx.vcx" BaseClass="container" /> + + ADD OBJECT 'Clb_tx_simplu2' AS clb_tx_simplu WITH ; + Left = 50, ; + Name = "Clb_tx_simplu2", ; + TabIndex = 2, ; + Top = 67, ; + Text_simplu1.ControlSource = "porec.valoare", ; + Text_simplu1.Format = "!Kr", ; + Text_simplu1.InputMask = (get_mask(8,Gnpa)), ; + Text_simplu1.Name = "Text_simplu1", ; + Lb_simplu1.Caption = "Valoare", ; + Lb_simplu1.Name = "Lb_simplu1" + *< END OBJECT: ClassLib="lb_tx.vcx" BaseClass="container" /> + + ADD OBJECT 'Cus_odata_nomtichete1' AS cus_odata_nomtichete WITH ; + Left = 14, ; + Name = "Cus_odata_nomtichete1", ; + Top = 79 + *< END OBJECT: ClassLib="onom_sal.vcx" BaseClass="custom" /> + + PROCEDURE inainte_de_do_termin + Local PLRETURN + + lccontrol = Upper(This.ActiveControl.BaseClass ) + If Inlist(lccontrol,"TEXTBOX","EDITBOX","COMBOBOX") + lcval=This.ActiveControl.ControlSource + &lcval=Thisform.ActiveControl.Value + Endif + + Do Case + Case Empty(porec.denumire) + Messagebox('Nu ati completat denumirea tichetelor!',0+48,"Atentie") + This.clb_tx_simplu1._cbbase1.SetFocus() + PLRETURN=.F. + Otherwise + + PLRETURN=this.cus_odata_nomtichete1.salvare(This.OREC,This.NID) + + *!* ENDIF + Endcase + Return PLRETURN + + + + ENDPROC + + PROCEDURE Init + Lparameters toRec, tnId, tcActiune + + DoDefault() + + This.orec= toRec + This.nid = tnId + this.cus_odata_nomtichete1.cactiune = tcActiune + ENDPROC + +ENDDEFINE + +DEFINE CLASS frm_nomture AS frm_termin OF "..\..\..\roasalspec\comun\clase\_frm_child.vcx" + *< CLASSDATA: Baseclass="form" Timestamp="" Scale="Pixels" Uniqueid="" /> + + *-- OBJECTDATA items order determines ZOrder / El orden de los items OBJECTDATA determina el ZOrder + *< OBJECTDATA: ObjPath="_grdrow1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="_grdrow1.Column1.Header1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="_grdrow1.Column1.Text1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="_grdrow1.Column2.Header1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="_grdrow1.Column2.Text1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="_grdrow1.Column3.Header1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="_grdrow1.Column3.Text1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="But_nou1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="But_sterge1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="But_modifica1" UniqueID="" Timestamp="" /> + + * + BorderStyle = 1 + DoCreate = .T. + Height = 265 + Name = "frm_nomture" + Width = 440 + _shape1.Anchor = 11 + _shape1.Height = 29 + _shape1.Left = 0 + _shape1.Name = "_shape1" + _shape1.Top = 0 + _shape1.Width = 443 + _shape2.Anchor = 9 + _shape2.Left = 376 + _shape2.Name = "_shape2" + _shape2.Top = 0 + Lb_titlu_alb_b121.Caption = "Tichete" + Lb_titlu_alb_b121.Name = "Lb_titlu_alb_b121" + Lb_titlu_alb_b121.TabIndex = 1 + BUT_TERMIN1.Anchor = 9 + BUT_TERMIN1.Left = 404 + BUT_TERMIN1.Name = "BUT_TERMIN1" + BUT_TERMIN1.TabIndex = 3 + BUT_TERMIN1.Top = 1 + Gridsort1.Name = "Gridsort1" + * + + ADD OBJECT '_grdrow1' AS _grdrow WITH ; + Anchor = 15, ; + ColumnCount = 3, ; + DeleteMark = .F., ; + FontName = "Arial Narrow", ; + Height = 217, ; + Left = 12, ; + Name = "_grdrow1", ; + Panel = 1, ; + ReadOnly = .T., ; + RecordSource = "vnom_ture", ; + TabIndex = 2, ; + Top = 40, ; + Width = 416, ; + Column1.ControlSource = "denumire", ; + Column1.Name = "Column1", ; + Column1.ReadOnly = .T., ; + Column1.Width = 211, ; + Column2.ControlSource = "tura", ; + Column2.Name = "Column2", ; + Column2.ReadOnly = .T., ; + Column2.Width = 68, ; + Column3.ControlSource = "orastart", ; + Column3.Name = "Column3", ; + Column3.ReadOnly = .T., ; + Column3.Width = 113 + *< END OBJECT: ClassLib="_grd_base.vcx" BaseClass="grid" /> + + ADD OBJECT '_grdrow1.Column1.Header1' AS header WITH ; + Alignment = 2, ; + Caption = "Denumire", ; + Name = "Header1" + *< END OBJECT: BaseClass="header" /> + + ADD OBJECT '_grdrow1.Column1.Text1' AS textbox WITH ; + BackColor = 255,255,255, ; + BorderStyle = 0, ; + FontName = "Arial", ; + ForeColor = 0,0,0, ; + Margin = 0, ; + Name = "Text1", ; + ReadOnly = .T., ; + SelectedBackColor = 100,185,255 + *< END OBJECT: BaseClass="textbox" /> + + ADD OBJECT '_grdrow1.Column2.Header1' AS header WITH ; + Alignment = 2, ; + Caption = "Prescurtare", ; + Name = "Header1" + *< END OBJECT: BaseClass="header" /> + + ADD OBJECT '_grdrow1.Column2.Text1' AS textbox WITH ; + BackColor = 255,255,255, ; + BorderStyle = 0, ; + FontName = "Arial", ; + ForeColor = 0,0,0, ; + Margin = 0, ; + Name = "Text1", ; + ReadOnly = .T., ; + SelectedBackColor = 100,185,255 + *< END OBJECT: BaseClass="textbox" /> + + ADD OBJECT '_grdrow1.Column3.Header1' AS header WITH ; + Alignment = 2, ; + Caption = "Ora inceput", ; + Name = "Header1" + *< END OBJECT: BaseClass="header" /> + + ADD OBJECT '_grdrow1.Column3.Text1' AS textbox WITH ; + BackColor = 255,255,255, ; + BorderStyle = 0, ; + FontName = "Arial", ; + ForeColor = 0,0,0, ; + Margin = 0, ; + Name = "Text1", ; + SelectedBackColor = 100,185,255 + *< END OBJECT: BaseClass="textbox" /> + + ADD OBJECT 'But_modifica1' AS but_modifica WITH ; + caction = do_modifica, ; + Left = 343, ; + Name = "But_modifica1", ; + TabIndex = 5, ; + Top = 1, ; + Visible = .T. + *< END OBJECT: ClassLib="cmd_butoane.vcx" BaseClass="commandbutton" /> + + ADD OBJECT 'But_nou1' AS but_nou WITH ; + Anchor = 9, ; + Left = 312, ; + Name = "But_nou1", ; + TabIndex = 4, ; + Top = 1 + *< END OBJECT: ClassLib="cmd_butoane.vcx" BaseClass="commandbutton" /> + + ADD OBJECT 'But_sterge1' AS but_sterge WITH ; + Anchor = 9, ; + Left = 374, ; + Name = "But_sterge1", ; + TabIndex = 6, ; + Top = 1 + *< END OBJECT: ClassLib="cmd_butoane.vcx" BaseClass="commandbutton" /> + + PROCEDURE actualizeaza_grid1 + LPARAMETERS pcFiltru + LOCAL lcFiltru + lcFiltru=pcFiltru + IF EMPTY(lcFiltru) + lcFiltru=ponomture.ca_baza1.cfiltru + ENDIF + save_grid_tag(thisform._grdrow1) + ponomture.ca_baza1.cfiltru=lcFiltru + ponomture.ca_baza1.afisare() + restore_grid_tag(thisform._grdrow1) + *!* IF RECCOUNT('v_delegati')>0 + thisform._grdrow1.SetFocus() + *!* ELSE + *!* thisform.lb_delegati.SetFocus() + *!* ENDIF + + ENDPROC + + PROCEDURE do_adauga + Private pniesire + pniesire=0 + Select vnom_ture + Scatter Name loRec Blank + + *!* DEBUG + *!* SUSPEND + Do Adauga_Modifica_Inregistrare With "nomture",loRec,,"INSERT",,"addtura" + If pniesire=1 + This.actualizeaza_grid1() + Endif + ENDPROC + + PROCEDURE do_modifica + Private pniesire + pniesire=0 + Select vnom_ture + Scatter Name loRec + + Do Adauga_Modifica_Inregistrare With "nomture",loRec,loRec.id_tura,"UPDATE",,"modture" + If pniesire=1 + This.actualizeaza_grid1() + Endif + + + ENDPROC + + PROCEDURE do_sterge + SELECT vnom_ture + SCATTER NAME lorec + Do STERGE_INREGISTRARE With "nomture",loRec.id + this.actualizeaza_grid1() + + ENDPROC + +ENDDEFINE + +DEFINE CLASS frm_nomture_nou AS frm_termin_renunt OF "..\..\..\roasalspec\comun\clase\_frm_child.vcx" + *< CLASSDATA: Baseclass="form" Timestamp="" Scale="Pixels" Uniqueid="" /> + + *-- OBJECTDATA items order determines ZOrder / El orden de los items OBJECTDATA determina el ZOrder + *< OBJECTDATA: ObjPath="Clb_tx_simplu1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="Clb_tx_simplu2" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="Cus_odata_nomture1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="Clb_tx_simplu3" UniqueID="" Timestamp="" /> + + * + *p: nid + *p: orec + * + + * + DoCreate = .T. + Height = 135 + Name = "frm_nomture_nou" + nid = .F. + orec = .F. + Width = 375 + _shape1.Anchor = 11 + _shape1.Name = "_shape1" + _shape2.Anchor = 9 + _shape2.Height = 29 + _shape2.Left = 312 + _shape2.Name = "_shape2" + _shape2.Top = 0 + _shape2.Width = 64 + Lb_titlu_alb_b121.Caption = "Ture de lucru" + Lb_titlu_alb_b121.Name = "Lb_titlu_alb_b121" + Lb_titlu_alb_b121.TabIndex = 6 + BUT_TERMIN1.Anchor = 9 + BUT_TERMIN1.Left = 346 + BUT_TERMIN1.Name = "BUT_TERMIN1" + BUT_TERMIN1.TabIndex = 4 + BUT_TERMIN1.Top = 1 + Gridsort1.Name = "Gridsort1" + But_renunt1.Anchor = 9 + But_renunt1.Left = 315 + But_renunt1.Name = "But_renunt1" + But_renunt1.TabIndex = 5 + But_renunt1.Top = 1 + * + + ADD OBJECT 'Clb_tx_simplu1' AS clb_tx_simplu WITH ; + Left = 50, ; + Name = "Clb_tx_simplu1", ; + TabIndex = 1, ; + Top = 39, ; + Text_simplu1.ControlSource = "porec.denumire", ; + Text_simplu1.Name = "Text_simplu1", ; + Lb_simplu1.Caption = "Denumire", ; + Lb_simplu1.Name = "Lb_simplu1" + *< END OBJECT: ClassLib="lb_tx.vcx" BaseClass="container" /> + + ADD OBJECT 'Clb_tx_simplu2' AS clb_tx_simplu WITH ; + Left = 50, ; + Name = "Clb_tx_simplu2", ; + TabIndex = 2, ; + Top = 67, ; + Text_simplu1.ControlSource = "porec.tura", ; + Text_simplu1.Format = "!K", ; + Text_simplu1.Height = 23, ; + Text_simplu1.Left = 190, ; + Text_simplu1.Name = "Text_simplu1", ; + Text_simplu1.Top = 3, ; + Text_simplu1.Width = 95, ; + Lb_simplu1.Caption = "Prescurtare (minim 2 caractere)", ; + Lb_simplu1.Name = "Lb_simplu1" + *< END OBJECT: ClassLib="lb_tx.vcx" BaseClass="container" /> + + ADD OBJECT 'Clb_tx_simplu3' AS clb_tx_simplu WITH ; + Left = 50, ; + Name = "Clb_tx_simplu3", ; + TabIndex = 3, ; + Top = 95, ; + Text_simplu1.ControlSource = "porec.orastart", ; + Text_simplu1.Format = "!K", ; + Text_simplu1.Height = 23, ; + Text_simplu1.InputMask = "XX:XX", ; + Text_simplu1.Left = 190, ; + Text_simplu1.Name = "Text_simplu1", ; + Text_simplu1.Top = 3, ; + Text_simplu1.Width = 95, ; + Lb_simplu1.Caption = "Ora inceput:", ; + Lb_simplu1.Name = "Lb_simplu1" + *< END OBJECT: ClassLib="lb_tx.vcx" BaseClass="container" /> + + ADD OBJECT 'Cus_odata_nomture1' AS cus_odata_nomture WITH ; + Left = 9, ; + Name = "Cus_odata_nomture1", ; + Top = 79 + *< END OBJECT: ClassLib="onom_sal.vcx" BaseClass="custom" /> + + PROCEDURE Activate + IF ALLTRIM(this.cus_odata_nomture1.cactiune) = 'UPDATE' + this.clb_tx_simplu1.text_simplu1.ReadOnly= .T. + this.clb_tx_simplu2.text_simplu1.ReadOnly= .T. + this.clb_tx_simplu3.text_simplu1.SetFocus + + ELSE + this.clb_tx_simplu1.text_simplu1.ReadOnly= .f. + this.clb_tx_simplu2.text_simplu1.ReadOnly= .f. + ENDIF + ENDPROC + + PROCEDURE inainte_de_do_termin + Local PLRETURN + + lccontrol = Upper(This.ActiveControl.BaseClass ) + If Inlist(lccontrol,"TEXTBOX","EDITBOX","COMBOBOX") + lcval=This.ActiveControl.ControlSource + &lcval=Thisform.ActiveControl.Value + Endif + + Do Case + Case Empty(porec.denumire) + Messagebox('Nu ati completat denumirea turei!',0+48,"Atentie") + This.clb_tx_simplu1.text_simplu1.SetFocus() + PLRETURN=.F. + Case LEN(ALLTRIM(porec.tura))<2 + Messagebox('Prescutarea trebuie sa aiba cel putin DOUA caractere!',0+48,"Atentie") + This.clb_tx_simplu2.text_simplu1.SetFocus() + PLRETURN=.F. + Case Empty(porec.orastart) + Messagebox('Nu ati completat ora de inceput!',0+48,"Atentie") + This.clb_tx_simplu3.text_simplu1.SetFocus() + PLRETURN=.F. + Otherwise + + PLRETURN=this.cus_odata_nomture1.salvare(This.OREC,This.NID) + + *!* ENDIF + Endcase + Return PLRETURN + + + + ENDPROC + + PROCEDURE Init + Lparameters toRec, tnId, tcActiune + + DoDefault() + + This.orec= toRec + This.nid = tnId + this.cus_odata_nomture1.cactiune = tcActiune + ENDPROC + +ENDDEFINE + +DEFINE CLASS frm_resp_nou AS formtermin OF "_frm_base.vcx" + *< CLASSDATA: Baseclass="form" Timestamp="" Scale="Pixels" Uniqueid="" /> + + *-- OBJECTDATA items order determines ZOrder / El orden de los items OBJECTDATA determina el ZOrder + *< OBJECTDATA: ObjPath="Clb_tx_simplu1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="Clb_tx_simplu2" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="Clb_tx_simplu3" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="_checkbox1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="_checkbox2" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="Cus_odata_resp1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="But_renunt1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="_checkbox3" UniqueID="" Timestamp="" /> + + * + *p: nid + *p: orec + * + + * + DoCreate = .T. + Height = 185 + Name = "frm_resp_nou" + nid = .F. + orec = .F. + Width = 375 + _shape1.Anchor = 11 + _shape1.Name = "_shape1" + _shape2.Anchor = 9 + _shape2.Height = 29 + _shape2.Left = 310 + _shape2.Name = "_shape2" + _shape2.Top = 0 + _shape2.Width = 65 + Lb_titlu_alb_b121.Caption = "Responsabil" + Lb_titlu_alb_b121.Name = "Lb_titlu_alb_b121" + Lb_titlu_alb_b121.TabIndex = 8 + BUT_TERMIN1.Anchor = 9 + BUT_TERMIN1.Left = 344 + BUT_TERMIN1.Name = "BUT_TERMIN1" + BUT_TERMIN1.TabIndex = 7 + BUT_TERMIN1.Top = 1 + Gridsort1.Name = "Gridsort1" + * + + ADD OBJECT '_checkbox1' AS _checkbox WITH ; + Alignment = 0, ; + Caption = "Inactiv", ; + ControlSource = "porec.inactiv", ; + Left = 54, ; + Name = "_checkbox1", ; + TabIndex = 6, ; + Top = 160 + *< END OBJECT: ClassLib="_baza.vcx" BaseClass="checkbox" /> + + ADD OBJECT '_checkbox2' AS _checkbox WITH ; + Alignment = 0, ; + Caption = "Ales declaraþii", ; + ControlSource = "porec.ales_decl", ; + Left = 54, ; + Name = "_checkbox2", ; + TabIndex = 4, ; + Top = 128 + *< END OBJECT: ClassLib="_baza.vcx" BaseClass="checkbox" /> + + ADD OBJECT '_checkbox3' AS _checkbox WITH ; + Alignment = 0, ; + Caption = "Ales documente resurse umane", ; + ControlSource = "porec.ales_doc", ; + Left = 54, ; + Name = "_checkbox3", ; + TabIndex = 5, ; + Top = 144 + *< END OBJECT: ClassLib="_baza.vcx" BaseClass="checkbox" /> + + ADD OBJECT 'But_renunt1' AS but_renunt WITH ; + Anchor = 9, ; + Left = 313, ; + Name = "But_renunt1", ; + TabIndex = 9, ; + Top = 1 + *< END OBJECT: ClassLib="cmd_butoane.vcx" BaseClass="commandbutton" /> + + ADD OBJECT 'Clb_tx_simplu1' AS clb_tx_simplu WITH ; + Left = 43, ; + Name = "Clb_tx_simplu1", ; + TabIndex = 1, ; + Top = 40, ; + Text_simplu1.ControlSource = "porec.nume", ; + Text_simplu1.Name = "Text_simplu1", ; + Lb_simplu1.Caption = "Nume", ; + Lb_simplu1.Name = "Lb_simplu1" + *< END OBJECT: ClassLib="lb_tx.vcx" BaseClass="container" /> + + ADD OBJECT 'Clb_tx_simplu2' AS clb_tx_simplu WITH ; + Left = 43, ; + Name = "Clb_tx_simplu2", ; + TabIndex = 2, ; + Top = 68, ; + Text_simplu1.ControlSource = "porec.prenume", ; + Text_simplu1.Name = "Text_simplu1", ; + Lb_simplu1.Caption = "Prenume", ; + Lb_simplu1.Name = "Lb_simplu1" + *< END OBJECT: ClassLib="lb_tx.vcx" BaseClass="container" /> + + ADD OBJECT 'Clb_tx_simplu3' AS clb_tx_simplu WITH ; + Left = 43, ; + Name = "Clb_tx_simplu3", ; + TabIndex = 3, ; + Top = 96, ; + Text_simplu1.ControlSource = "porec.functia", ; + Text_simplu1.Name = "Text_simplu1", ; + Lb_simplu1.Caption = "Funcþia", ; + Lb_simplu1.Name = "Lb_simplu1" + *< END OBJECT: ClassLib="lb_tx.vcx" BaseClass="container" /> + + ADD OBJECT 'Cus_odata_resp1' AS cus_odata_resp WITH ; + Left = 18, ; + Name = "Cus_odata_resp1", ; + Top = 147 + *< END OBJECT: ClassLib="onom_sal.vcx" BaseClass="custom" /> + + PROCEDURE inainte_de_do_termin + LOCAL PLRETURN + + lccontrol = UPPER(this.ActiveControl.BaseClass ) + IF INLIST(lccontrol,"TEXTBOX","EDITBOX","COMBOBOX") + lcval=This.Activecontrol.controlsource + &lcval=thisform.ActiveControl.value + ENDIF + + + Do Case + Case Empty(porec.nume) + Messagebox('Nu ati completat responsabilui!',0+48,"Atentie") + this.clb_tx_simplu1.text_simplu1.SetFocus() + + plreturn=.F. + + OTHERWISE + PLRETURN=This.cus_odata_resp1.salvare(This.OREC,This.NID) + + ENDCASE + + Return PLRETURN + + + + + ENDPROC + + PROCEDURE Init + Lparameters toRec, tnId, tcActiune + + DoDefault() + + This.orec= toRec + This.nid = tnId + this.cus_odata_resp1.cactiune = tcActiune + ENDPROC + +ENDDEFINE + +DEFINE CLASS frm_resp_sal AS formtermin OF "_frm_base.vcx" + *< CLASSDATA: Baseclass="form" Timestamp="" Scale="Pixels" Uniqueid="" /> + + *-- OBJECTDATA items order determines ZOrder / El orden de los items OBJECTDATA determina el ZOrder + *< OBJECTDATA: ObjPath="_grdrow1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="_grdrow1.Column1.Header1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="_grdrow1.Column1.Text1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="_grdrow1.Column2.Header1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="_grdrow1.Column2.Text1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="_grdrow1.Column3.Header1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="_grdrow1.Column3.Text1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="_grdrow1.Column4.Header1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="_grdrow1.Column4.Check1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="_grdrow1.Column5.Header1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="_grdrow1.Column5.Check1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="_grdrow1.Column6.Header1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="_grdrow1.Column6._checkbox1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="But_nou1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="But_modifica1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="But_sterge1" UniqueID="" Timestamp="" /> + + * + DoCreate = .T. + Height = 174 + Name = "frm_resp_sal" + Width = 576 + _shape1.Anchor = 11 + _shape1.Height = 29 + _shape1.Left = 0 + _shape1.Name = "_shape1" + _shape1.Top = 0 + _shape1.Width = 576 + _shape2.Anchor = 9 + _shape2.Height = 29 + _shape2.Left = 453 + _shape2.Name = "_shape2" + _shape2.Top = 0 + _shape2.Width = 124 + Lb_titlu_alb_b121.Caption = "Responsabil" + Lb_titlu_alb_b121.Name = "Lb_titlu_alb_b121" + BUT_TERMIN1.Anchor = 9 + BUT_TERMIN1.Left = 545 + BUT_TERMIN1.Name = "BUT_TERMIN1" + BUT_TERMIN1.Top = 1 + Gridsort1.Name = "Gridsort1" + * + + ADD OBJECT '_grdrow1' AS _grdrow WITH ; + Anchor = 15, ; + ColumnCount = 6, ; + DeleteMark = .F., ; + Height = 128, ; + Left = 6, ; + Name = "_grdrow1", ; + Panel = 1, ; + ReadOnly = .T., ; + RecordSource = "v_resp", ; + Top = 36, ; + Width = 558, ; + Column1.ControlSource = "nume", ; + Column1.Name = "Column1", ; + Column1.ReadOnly = .T., ; + Column1.Width = 123, ; + Column2.ControlSource = "prenume", ; + Column2.Name = "Column2", ; + Column2.ReadOnly = .T., ; + Column2.Width = 117, ; + Column3.ControlSource = "functia", ; + Column3.Name = "Column3", ; + Column3.ReadOnly = .T., ; + Column3.Width = 124, ; + Column4.ControlSource = "ales_decl", ; + Column4.CurrentControl = "Check1", ; + Column4.Name = "Column4", ; + Column4.ReadOnly = .T., ; + Column4.Sparse = .F., ; + Column4.Width = 53, ; + Column5.ColumnOrder = 6, ; + Column5.ControlSource = "Inactiv", ; + Column5.CurrentControl = "Check1", ; + Column5.Name = "Column5", ; + Column5.ReadOnly = .T., ; + Column5.Sparse = .F., ; + Column5.Width = 38, ; + Column6.ColumnOrder = 5, ; + Column6.ControlSource = "ales_doc", ; + Column6.Name = "Column6", ; + Column6.ReadOnly = .T., ; + Column6.Sparse = .F., ; + Column6.Width = 55 + *< END OBJECT: ClassLib="_grd_base.vcx" BaseClass="grid" /> + + ADD OBJECT '_grdrow1.Column1.Header1' AS header WITH ; + Alignment = 2, ; + Caption = "Nume", ; + Name = "Header1" + *< END OBJECT: BaseClass="header" /> + + ADD OBJECT '_grdrow1.Column1.Text1' AS textbox WITH ; + BackColor = 255,255,255, ; + BorderStyle = 0, ; + ForeColor = 0,0,0, ; + Margin = 0, ; + Name = "Text1", ; + ReadOnly = .T. + *< END OBJECT: BaseClass="textbox" /> + + ADD OBJECT '_grdrow1.Column2.Header1' AS header WITH ; + Alignment = 2, ; + Caption = "Prenume", ; + Name = "Header1" + *< END OBJECT: BaseClass="header" /> + + ADD OBJECT '_grdrow1.Column2.Text1' AS textbox WITH ; + BackColor = 255,255,255, ; + BorderStyle = 0, ; + ForeColor = 0,0,0, ; + Margin = 0, ; + Name = "Text1", ; + ReadOnly = .T. + *< END OBJECT: BaseClass="textbox" /> + + ADD OBJECT '_grdrow1.Column3.Header1' AS header WITH ; + Alignment = 2, ; + Caption = "Functia", ; + Name = "Header1" + *< END OBJECT: BaseClass="header" /> + + ADD OBJECT '_grdrow1.Column3.Text1' AS textbox WITH ; + BackColor = 255,255,255, ; + BorderStyle = 0, ; + ForeColor = 0,0,0, ; + Margin = 0, ; + Name = "Text1", ; + ReadOnly = .T. + *< END OBJECT: BaseClass="textbox" /> + + ADD OBJECT '_grdrow1.Column4.Check1' AS checkbox WITH ; + Alignment = 2, ; + Caption = "", ; + Centered = .T., ; + Height = 17, ; + Left = 24, ; + Name = "Check1", ; + ReadOnly = .T., ; + SpecialEffect = 1, ; + Top = 35, ; + Width = 60 + *< END OBJECT: BaseClass="checkbox" /> + + ADD OBJECT '_grdrow1.Column4.Header1' AS header WITH ; + Alignment = 2, ; + Caption = "Ales decl.", ; + Name = "Header1" + *< END OBJECT: BaseClass="header" /> + + ADD OBJECT '_grdrow1.Column5.Check1' AS checkbox WITH ; + Alignment = 2, ; + Caption = "", ; + Centered = .T., ; + Height = 17, ; + Left = 27, ; + Name = "Check1", ; + ReadOnly = .T., ; + SpecialEffect = 1, ; + Top = 47, ; + Width = 60 + *< END OBJECT: BaseClass="checkbox" /> + + ADD OBJECT '_grdrow1.Column5.Header1' AS header WITH ; + Alignment = 2, ; + Caption = "Inactiv", ; + Name = "Header1" + *< END OBJECT: BaseClass="header" /> + + ADD OBJECT '_grdrow1.Column6._checkbox1' AS _checkbox WITH ; + Alignment = 2, ; + Caption = "", ; + Centered = .T., ; + Left = 36, ; + Name = "_checkbox1", ; + Top = 23 + *< END OBJECT: ClassLib="_baza.vcx" BaseClass="checkbox" /> + + ADD OBJECT '_grdrow1.Column6.Header1' AS header WITH ; + Alignment = 2, ; + Caption = "Ales doc.", ; + Name = "Header1" + *< END OBJECT: BaseClass="header" /> + + ADD OBJECT 'But_modifica1' AS but_modifica WITH ; + Anchor = 9, ; + Left = 487, ; + Name = "But_modifica1", ; + Top = 1 + *< END OBJECT: ClassLib="cmd_butoane.vcx" BaseClass="commandbutton" /> + + ADD OBJECT 'But_nou1' AS but_nou WITH ; + Anchor = 9, ; + Left = 457, ; + Name = "But_nou1", ; + Top = 1 + *< END OBJECT: ClassLib="cmd_butoane.vcx" BaseClass="commandbutton" /> + + ADD OBJECT 'But_sterge1' AS but_sterge WITH ; + Anchor = 9, ; + Left = 516, ; + Name = "But_sterge1", ; + Top = 1 + *< END OBJECT: ClassLib="cmd_butoane.vcx" BaseClass="commandbutton" /> + + PROCEDURE actualizeaza_grid1 + LPARAMETERS pcFiltru + LOCAL lcFiltru + lcFiltru=pcFiltru + IF EMPTY(lcFiltru) + lcFiltru=poresp.ca_baza1.cfiltru + ENDIF + save_grid_tag(thisform._grdrow1) + poResp.ca_baza1.cfiltru=lcFiltru + poResp.ca_baza1.afisare() + restore_grid_tag(thisform._grdrow1) + *!* IF RECCOUNT('v_delegati')>0 + thisform._grdrow1.SetFocus() + *!* ELSE + *!* thisform.lb_delegati.SetFocus() + *!* ENDIF + + ENDPROC + + PROCEDURE do_adauga + Private pniesire + pniesire=0 + Select v_resp + Scatter Name loRec Blank + *!* DEBUG + *!* SUSPEND + Do Adauga_Modifica_Inregistrare With "resp",loRec,,"INSERT",,"addresp" + If pniesire=1 + This.actualizeaza_grid1() + Endif + ENDPROC + + PROCEDURE do_modifica + Private pniesire + pniesire=0 + Select v_resp + Scatter Name loRec + Do Adauga_Modifica_Inregistrare With "resp",loRec,loRec.id_sresp,"UPDATE",,"modresp" + If pniesire=1 + This.actualizeaza_grid1() + Endif + + + ENDPROC + + PROCEDURE do_sterge + SELECT v_Resp + SCATTER NAME lorec + Do STERGE_INREGISTRARE With "resp",loRec.id_sresp + + this.actualizeaza_grid1() + + ENDPROC + +ENDDEFINE + +DEFINE CLASS frm_salcoef AS frm_termin_renunt OF "_frm_child.vcx" + *< CLASSDATA: Baseclass="form" Timestamp="" Scale="Pixels" Uniqueid="" /> + + *-- OBJECTDATA items order determines ZOrder / El orden de los items OBJECTDATA determina el ZOrder + *< OBJECTDATA: ObjPath="_shape8" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="_shape3" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="_shape4" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="_shape5" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="_shape7" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="_shape6" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="lbSomAng" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="txSomAng" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="lbSanAng" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="txSanAng" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="lbCasAng" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="txCasAng" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="lblim1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="txlim1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="lblim2" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="txlim2" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="lbSomSoc" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="txSomSoc" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="lbSanSoc" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="txSanSoc" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="lbfaambp" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="txfaambp" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="_lbbase8" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="_txbase8" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="_lbbase7" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="_txbase7" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="_lbbase6" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="_txbase6" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="_lbbase5" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="_txbase5" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="lbCM" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="txCm" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="lbsalmin" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="txsalmin" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="lbsalmed" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="txsalmed" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="_lbbase14" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="_lbbase13" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="lbNrzile" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="txNrZileF" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="txNrzile" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="_lbbase1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="_txbase1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="_lbbase2" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="_txbase2" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="_lbbase3" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="_txbase3" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="_lbbase4" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="_txbase4" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="_lbbase9" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="_txbase9" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="ck_coefautomat" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="_lbbase12" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="tx_coresarb" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="_lbbase11" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="tx_corew" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="_lbbase10" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="tx_corenoapte" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="_lbbase15" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="txdiurnaneimp" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="_checkbox1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="_lbbase16" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="_txbase10" UniqueID="" Timestamp="" /> + + * + BorderStyle = 3 + DoCreate = .T. + Height = 416 + Name = "frm_salcoef" + Width = 650 + _shape1.Anchor = 11 + _shape1.Height = 29 + _shape1.Left = 0 + _shape1.Name = "_shape1" + _shape1.Top = 0 + _shape1.Width = 648 + _shape1.ZOrderSet = 6 + _shape2.Anchor = 9 + _shape2.Height = 29 + _shape2.Left = 585 + _shape2.Name = "_shape2" + _shape2.Top = 0 + _shape2.Width = 65 + _shape2.ZOrderSet = 8 + Lb_titlu_alb_b121.Caption = "Setare coeficienþi lunari" + Lb_titlu_alb_b121.Name = "Lb_titlu_alb_b121" + Lb_titlu_alb_b121.TabIndex = 32 + Lb_titlu_alb_b121.ZOrderSet = 9 + BUT_TERMIN1.Anchor = 9 + BUT_TERMIN1.Left = 619 + BUT_TERMIN1.Name = "BUT_TERMIN1" + BUT_TERMIN1.TabIndex = 25 + BUT_TERMIN1.Top = 1 + BUT_TERMIN1.ZOrderSet = 52 + Gridsort1.Name = "Gridsort1" + But_renunt1.Anchor = 9 + But_renunt1.Left = 587 + But_renunt1.Name = "But_renunt1" + But_renunt1.TabIndex = 31 + But_renunt1.Top = 1 + But_renunt1.ZOrderSet = 53 + * + + ADD OBJECT '_checkbox1' AS _checkbox WITH ; + Alignment = 0, ; + Caption = "Se incadreaza in OUG 114/2018", ; + ControlSource = "pocoef.oug114_2018", ; + Height = 18, ; + Left = 276, ; + Name = "_checkbox1", ; + TabIndex = 27, ; + Top = 348, ; + Width = 206, ; + WordWrap = .T., ; + ZOrderSet = 54 + *< END OBJECT: ClassLib="_baza.vcx" BaseClass="checkbox" /> + + ADD OBJECT '_lbbase1' AS _lbbase WITH ; + Caption = "Baza de calcul pentru concediu de îngrijirea copilului", ; + Height = 50, ; + Left = 4, ; + Name = "_lbbase1", ; + TabIndex = 50, ; + Top = 268, ; + Width = 128, ; + WordWrap = .T., ; + ZOrderSet = 42 + *< END OBJECT: ClassLib="_lb_base.vcx" BaseClass="label" /> + + ADD OBJECT '_lbbase10' AS _lbbase WITH ; + Caption = "Ore noapte", ; + FontName = "Arial Narrow", ; + Left = 514, ; + Name = "_lbbase10", ; + TabIndex = 40, ; + Top = 104, ; + ZOrderSet = 55 + *< END OBJECT: ClassLib="_lb_base.vcx" BaseClass="label" /> + + ADD OBJECT '_lbbase11' AS _lbbase WITH ; + Caption = "Ore weekend", ; + FontName = "Arial Narrow", ; + Left = 514, ; + Name = "_lbbase11", ; + TabIndex = 39, ; + Top = 128, ; + ZOrderSet = 55 + *< END OBJECT: ClassLib="_lb_base.vcx" BaseClass="label" /> + + ADD OBJECT '_lbbase12' AS _lbbase WITH ; + Caption = "Ore sãrbãt.", ; + FontName = "Arial Narrow", ; + Left = 514, ; + Name = "_lbbase12", ; + TabIndex = 42, ; + Top = 152, ; + ZOrderSet = 55 + *< END OBJECT: ClassLib="_lb_base.vcx" BaseClass="label" /> + + ADD OBJECT '_lbbase13' AS _lbbase WITH ; + Caption = "( cu FNUASS )", ; + Height = 18, ; + Left = 353, ; + Name = "_lbbase13", ; + TabIndex = 60, ; + Top = 270, ; + Width = 89, ; + ZOrderSet = 40 + *< END OBJECT: ClassLib="_lb_base.vcx" BaseClass="label" /> + + ADD OBJECT '_lbbase14' AS _lbbase WITH ; + AutoSize = .T., ; + Caption = "( cu FAAMBP )", ; + Height = 18, ; + Left = 353, ; + Name = "_lbbase14", ; + TabIndex = 59, ; + Top = 293, ; + Width = 91, ; + ZOrderSet = 40 + *< END OBJECT: ClassLib="_lb_base.vcx" BaseClass="label" /> + + ADD OBJECT '_lbbase15' AS _lbbase WITH ; + Caption = "Diurna neimpozabila /zi", ; + Left = 9, ; + Name = "_lbbase15", ; + TabIndex = 56, ; + Top = 238, ; + ZOrderSet = 38 + *< END OBJECT: ClassLib="_lb_base.vcx" BaseClass="label" /> + + ADD OBJECT '_lbbase16' AS _lbbase WITH ; + Caption = "Salariu minim brut studii superioare:", ; + Left = 12, ; + Name = "_lbbase16", ; + TabIndex = 54, ; + Top = 386, ; + ZOrderSet = 36 + *< END OBJECT: ClassLib="_lb_base.vcx" BaseClass="label" /> + + ADD OBJECT '_lbbase2' AS _lbbase WITH ; + Caption = "Coef. CAS gr.1 muncã", ; + Left = 280, ; + Name = "_lbbase2", ; + TabIndex = 49, ; + Top = 167, ; + ZOrderSet = 44 + *< END OBJECT: ClassLib="_lb_base.vcx" BaseClass="label" /> + + ADD OBJECT '_lbbase3' AS _lbbase WITH ; + Caption = "Coef. CAS gr.2 muncã", ; + Left = 280, ; + Name = "_lbbase3", ; + TabIndex = 48, ; + Top = 191, ; + ZOrderSet = 46 + *< END OBJECT: ClassLib="_lb_base.vcx" BaseClass="label" /> + + ADD OBJECT '_lbbase4' AS _lbbase WITH ; + Caption = "Coef. CAS gr.3 muncã", ; + Left = 279, ; + Name = "_lbbase4", ; + TabIndex = 47, ; + Top = 215, ; + ZOrderSet = 48 + *< END OBJECT: ClassLib="_lb_base.vcx" BaseClass="label" /> + + ADD OBJECT '_lbbase5' AS _lbbase WITH ; + Caption = "Cota FNUASS:", ; + Left = 279, ; + Name = "_lbbase5", ; + TabIndex = 45, ; + Top = 239, ; + ZOrderSet = 32 + *< END OBJECT: ClassLib="_lb_base.vcx" BaseClass="label" /> + + ADD OBJECT '_lbbase6' AS _lbbase WITH ; + AutoSize = .F., ; + Caption = "Brut primã de vacanþã", ; + Height = 18, ; + Left = 9, ; + Name = "_lbbase6", ; + TabIndex = 51, ; + Top = 322, ; + Width = 142, ; + WordWrap = .T., ; + ZOrderSet = 30 + *< END OBJECT: ClassLib="_lb_base.vcx" BaseClass="label" /> + + ADD OBJECT '_lbbase7' AS _lbbase WITH ; + AutoSize = .F., ; + Caption = "Net primã de vacanþã", ; + Height = 18, ; + Left = 9, ; + Name = "_lbbase7", ; + TabIndex = 52, ; + Top = 346, ; + Width = 143, ; + WordWrap = .T., ; + ZOrderSet = 28 + *< END OBJECT: ClassLib="_lb_base.vcx" BaseClass="label" /> + + ADD OBJECT '_lbbase8' AS _lbbase WITH ; + Caption = "Coef. din brut CO = Avans", ; + Left = 276, ; + Name = "_lbbase8", ; + TabIndex = 46, ; + Top = 324, ; + ZOrderSet = 26 + *< END OBJECT: ClassLib="_lb_base.vcx" BaseClass="label" /> + + ADD OBJECT '_lbbase9' AS _lbbase WITH ; + Caption = "C. fond garantare", ; + Left = 281, ; + Name = "_lbbase9", ; + TabIndex = 38, ; + Top = 73, ; + ZOrderSet = 50 + *< END OBJECT: ClassLib="_lb_base.vcx" BaseClass="label" /> + + ADD OBJECT '_shape3' AS _shape WITH ; + BackStyle = 0, ; + Height = 84, ; + Left = 3, ; + Name = "_shape3", ; + SpecialEffect = 0, ; + Top = 40, ; + Width = 269, ; + ZOrderSet = 1 + *< END OBJECT: ClassLib="_baza.vcx" BaseClass="shape" /> + + ADD OBJECT '_shape4' AS _shape WITH ; + BackStyle = 0, ; + Height = 224, ; + Left = 270, ; + Name = "_shape4", ; + SpecialEffect = 0, ; + Top = 40, ; + Width = 243, ; + ZOrderSet = 2 + *< END OBJECT: ClassLib="_baza.vcx" BaseClass="shape" /> + + ADD OBJECT '_shape5' AS _shape WITH ; + BackStyle = 0, ; + Height = 142, ; + Left = 3, ; + Name = "_shape5", ; + SpecialEffect = 0, ; + Top = 122, ; + Width = 269, ; + ZOrderSet = 3 + *< END OBJECT: ClassLib="_baza.vcx" BaseClass="shape" /> + + ADD OBJECT '_shape6' AS _shape WITH ; + BackStyle = 0, ; + Height = 57, ; + Left = 3, ; + Name = "_shape6", ; + SpecialEffect = 0, ; + Top = 262, ; + Width = 510, ; + ZOrderSet = 5 + *< END OBJECT: ClassLib="_baza.vcx" BaseClass="shape" /> + + ADD OBJECT '_shape7' AS _shape WITH ; + BackStyle = 0, ; + Height = 57, ; + Left = 3, ; + Name = "_shape7", ; + SpecialEffect = 0, ; + Top = 317, ; + Width = 510, ; + ZOrderSet = 4 + *< END OBJECT: ClassLib="_baza.vcx" BaseClass="shape" /> + + ADD OBJECT '_shape8' AS _shape WITH ; + BackStyle = 0, ; + Height = 334, ; + Left = 511, ; + Name = "_shape8", ; + SpecialEffect = 0, ; + Top = 40, ; + Width = 137, ; + ZOrderSet = 0 + *< END OBJECT: ClassLib="_baza.vcx" BaseClass="shape" /> + + ADD OBJECT '_txbase1' AS _txbase WITH ; + ControlSource = "pocoef.BAZA_INGR", ; + Height = 23, ; + InputMask = (get_mask(14,Gnps)), ; + Left = 137, ; + Name = "_txbase1", ; + TabIndex = 9, ; + Top = 281, ; + Width = 101, ; + ZOrderSet = 43 + *< END OBJECT: ClassLib="_tx_base.vcx" BaseClass="textbox" /> + + ADD OBJECT '_txbase10' AS _txbase WITH ; + ControlSource = "pocoef.salminstudii", ; + Height = 23, ; + InputMask = (get_mask(14,Gnps)), ; + Left = 235, ; + Name = "_txbase10", ; + TabIndex = 12, ; + Top = 384, ; + Width = 120, ; + ZOrderSet = 37 + *< END OBJECT: ClassLib="_tx_base.vcx" BaseClass="textbox" /> + + ADD OBJECT '_txbase2' AS _txbase WITH ; + ControlSource = "pocoef.c_cas1", ; + Height = 23, ; + Left = 438, ; + Name = "_txbase2", ; + TabIndex = 18, ; + Top = 167, ; + Width = 67, ; + ZOrderSet = 45 + *< END OBJECT: ClassLib="_tx_base.vcx" BaseClass="textbox" /> + + ADD OBJECT '_txbase3' AS _txbase WITH ; + ControlSource = "pocoef.c_cas2", ; + Height = 23, ; + Left = 438, ; + Name = "_txbase3", ; + TabIndex = 19, ; + Top = 191, ; + Width = 67, ; + ZOrderSet = 47 + *< END OBJECT: ClassLib="_tx_base.vcx" BaseClass="textbox" /> + + ADD OBJECT '_txbase4' AS _txbase WITH ; + ControlSource = "pocoef.c_cas3", ; + Height = 23, ; + Left = 438, ; + Name = "_txbase4", ; + TabIndex = 20, ; + Top = 215, ; + Width = 67, ; + ZOrderSet = 49 + *< END OBJECT: ClassLib="_tx_base.vcx" BaseClass="textbox" /> + + ADD OBJECT '_txbase5' AS _txbase WITH ; + ControlSource = "pocoef.FD_FNUASS", ; + Height = 23, ; + Left = 438, ; + Name = "_txbase5", ; + TabIndex = 21, ; + Top = 239, ; + Width = 67, ; + ZOrderSet = 33 + *< END OBJECT: ClassLib="_tx_base.vcx" BaseClass="textbox" /> + + ADD OBJECT '_txbase6' AS _txbase WITH ; + ControlSource = "pocoef.brutprimaco", ; + Height = 23, ; + InputMask = (get_mask(14,Gnps)), ; + Left = 156, ; + Name = "_txbase6", ; + TabIndex = 10, ; + Top = 322, ; + Width = 101, ; + ZOrderSet = 31 + *< END OBJECT: ClassLib="_tx_base.vcx" BaseClass="textbox" /> + + ADD OBJECT '_txbase7' AS _txbase WITH ; + ControlSource = "pocoef.netprimaco", ; + Height = 23, ; + InputMask = (get_mask(14,Gnps)), ; + Left = 156, ; + Name = "_txbase7", ; + TabIndex = 11, ; + Top = 346, ; + Width = 101, ; + ZOrderSet = 29 + *< END OBJECT: ClassLib="_tx_base.vcx" BaseClass="textbox" /> + + ADD OBJECT '_txbase8' AS _txbase WITH ; + ControlSource = "pocoef.coefavco", ; + Height = 23, ; + InputMask = "9.9999", ; + Left = 439, ; + Name = "_txbase8", ; + TabIndex = 24, ; + Top = 322, ; + Width = 67, ; + ZOrderSet = 27 + *< END OBJECT: ClassLib="_tx_base.vcx" BaseClass="textbox" /> + + ADD OBJECT '_txbase9' AS _txbase WITH ; + ControlSource = "pocoef.C_FDGARANT", ; + Height = 23, ; + Left = 438, ; + Name = "_txbase9", ; + TabIndex = 14, ; + Top = 71, ; + Width = 67, ; + ZOrderSet = 51 + *< END OBJECT: ClassLib="_tx_base.vcx" BaseClass="textbox" /> + + ADD OBJECT 'ck_coefautomat' AS _checkbox WITH ; + Alignment = 0, ; + Caption = "Se folosesc coef. de mai jos ptr. pontaje", ; + ControlSource = "pocoef.fol_cstandard", ; + Left = 514, ; + Name = "ck_coefautomat", ; + TabIndex = 26, ; + Top = 44, ; + Width = 121, ; + WordWrap = .T., ; + ZOrderSet = 54 + *< END OBJECT: ClassLib="_baza.vcx" BaseClass="checkbox" /> + + ADD OBJECT 'lbCasAng' AS _lbbase WITH ; + Caption = "Coef. CAS personal", ; + Left = 9, ; + Name = "lbCasAng", ; + TabIndex = 35, ; + Top = 97, ; + ZOrderSet = 14 + *< END OBJECT: ClassLib="_lb_base.vcx" BaseClass="label" /> + + ADD OBJECT 'lbCM' AS _lbbase WITH ; + Caption = "C. comision cãrþi muncã", ; + Left = 280, ; + Name = "lbCM", ; + TabIndex = 53, ; + Top = 143, ; + ZOrderSet = 34 + *< END OBJECT: ClassLib="_lb_base.vcx" BaseClass="label" /> + + ADD OBJECT 'lbfaambp' AS _lbbase WITH ; + Caption = "C. fond risc ºi accidente", ; + Left = 280, ; + Name = "lbfaambp", ; + TabIndex = 44, ; + Top = 121, ; + ZOrderSet = 24 + *< END OBJECT: ClassLib="_lb_base.vcx" BaseClass="label" /> + + ADD OBJECT 'lblim1' AS _lbbase WITH ; + Caption = "Limita 1 deducere:", ; + Left = 9, ; + Name = "lblim1", ; + TabIndex = 36, ; + Top = 129, ; + ZOrderSet = 16 + *< END OBJECT: ClassLib="_lb_base.vcx" BaseClass="label" /> + + ADD OBJECT 'lblim2' AS _lbbase WITH ; + Caption = "Limita 2 deducere:", ; + Left = 9, ; + Name = "lblim2", ; + TabIndex = 37, ; + Top = 153, ; + ZOrderSet = 18 + *< END OBJECT: ClassLib="_lb_base.vcx" BaseClass="label" /> + + ADD OBJECT 'lbNrzile' AS _lbbase WITH ; + Caption = "Nr. maxim zile CM plãtite de angajator", ; + Height = 50, ; + Left = 263, ; + Name = "lbNrzile", ; + TabIndex = 58, ; + Top = 265, ; + Width = 86, ; + WordWrap = .T., ; + ZOrderSet = 40 + *< END OBJECT: ClassLib="_lb_base.vcx" BaseClass="label" /> + + ADD OBJECT 'lbsalmed' AS _lbbase WITH ; + Caption = "Salariu mediu brut:", ; + Left = 9, ; + Name = "lbsalmed", ; + TabIndex = 57, ; + Top = 209, ; + ZOrderSet = 38 + *< END OBJECT: ClassLib="_lb_base.vcx" BaseClass="label" /> + + ADD OBJECT 'lbsalmin' AS _lbbase WITH ; + Caption = "Salariu minim brut:", ; + Left = 9, ; + Name = "lbsalmin", ; + TabIndex = 55, ; + Top = 185, ; + ZOrderSet = 36 + *< END OBJECT: ClassLib="_lb_base.vcx" BaseClass="label" /> + + ADD OBJECT 'lbSanAng' AS _lbbase WITH ; + Caption = "Coef. sãnãtate personal", ; + Left = 9, ; + Name = "lbSanAng", ; + TabIndex = 34, ; + Top = 73, ; + ZOrderSet = 12 + *< END OBJECT: ClassLib="_lb_base.vcx" BaseClass="label" /> + + ADD OBJECT 'lbSanSoc' AS _lbbase WITH ; + Caption = "C. sãnãtate societate", ; + Left = 280, ; + Name = "lbSanSoc", ; + TabIndex = 43, ; + Top = 97, ; + ZOrderSet = 22 + *< END OBJECT: ClassLib="_lb_base.vcx" BaseClass="label" /> + + ADD OBJECT 'lbSomAng' AS _lbbase WITH ; + Caption = "Coef. ºomaj personal", ; + Left = 9, ; + Name = "lbSomAng", ; + TabIndex = 33, ; + Top = 48, ; + ZOrderSet = 10 + *< END OBJECT: ClassLib="_lb_base.vcx" BaseClass="label" /> + + ADD OBJECT 'lbSomSoc' AS _lbbase WITH ; + Caption = "C. ºomaj societate", ; + Left = 280, ; + Name = "lbSomSoc", ; + TabIndex = 41, ; + Top = 49, ; + ZOrderSet = 20 + *< END OBJECT: ClassLib="_lb_base.vcx" BaseClass="label" /> + + ADD OBJECT 'tx_corenoapte' AS _txbase WITH ; + Alignment = 1, ; + ControlSource = "pocoef.c_orenoapte", ; + Height = 23, ; + InputMask = (get_mask(6,3)), ; + Left = 595, ; + Name = "tx_corenoapte", ; + ReadOnly = .T., ; + TabIndex = 28, ; + Top = 102, ; + Width = 48, ; + ZOrderSet = 56 + *< END OBJECT: ClassLib="_tx_base.vcx" BaseClass="textbox" /> + + ADD OBJECT 'tx_coresarb' AS _txbase WITH ; + Alignment = 1, ; + ControlSource = "pocoef.c_oresupl", ; + Height = 23, ; + InputMask = (get_mask(6,3)), ; + Left = 595, ; + Name = "tx_coresarb", ; + ReadOnly = .T., ; + TabIndex = 30, ; + Top = 150, ; + Width = 48, ; + ZOrderSet = 56 + *< END OBJECT: ClassLib="_tx_base.vcx" BaseClass="textbox" /> + + ADD OBJECT 'tx_corew' AS _txbase WITH ; + Alignment = 1, ; + ControlSource = "pocoef.c_orew", ; + Height = 23, ; + InputMask = (get_mask(6,3)), ; + Left = 595, ; + Name = "tx_corew", ; + ReadOnly = .T., ; + TabIndex = 29, ; + Top = 126, ; + Width = 48, ; + ZOrderSet = 56 + *< END OBJECT: ClassLib="_tx_base.vcx" BaseClass="textbox" /> + + ADD OBJECT 'txCasAng' AS _txbase WITH ; + ControlSource = "pocoef.c_casp", ; + Height = 23, ; + Left = 162, ; + Name = "txCasAng", ; + TabIndex = 3, ; + Top = 95, ; + Width = 67, ; + ZOrderSet = 15 + *< END OBJECT: ClassLib="_tx_base.vcx" BaseClass="textbox" /> + + ADD OBJECT 'txCm' AS _txbase WITH ; + ControlSource = "pocoef.c_munca", ; + Height = 23, ; + Left = 438, ; + Name = "txCm", ; + TabIndex = 17, ; + Top = 143, ; + Width = 67, ; + ZOrderSet = 35 + *< END OBJECT: ClassLib="_tx_base.vcx" BaseClass="textbox" /> + + ADD OBJECT 'txdiurnaneimp' AS _txbase WITH ; + Alignment = 1, ; + ControlSource = "pocoef.diurnaneimp", ; + Height = 23, ; + InputMask = (get_mask(14,2)), ; + Left = 162, ; + Name = "txdiurnaneimp", ; + TabIndex = 8, ; + Top = 236, ; + Width = 94, ; + ZOrderSet = 39 + *< END OBJECT: ClassLib="_tx_base.vcx" BaseClass="textbox" /> + + ADD OBJECT 'txfaambp' AS _txbase WITH ; + ControlSource = "pocoef.c_faambp", ; + Height = 23, ; + Left = 438, ; + Name = "txfaambp", ; + TabIndex = 16, ; + Top = 119, ; + Width = 67, ; + ZOrderSet = 25 + *< END OBJECT: ClassLib="_tx_base.vcx" BaseClass="textbox" /> + + ADD OBJECT 'txlim1' AS _txbase WITH ; + ControlSource = "pocoef.dedl1", ; + Height = 23, ; + InputMask = (get_mask(14,Gnps)), ; + Left = 162, ; + Name = "txlim1", ; + TabIndex = 4, ; + Top = 127, ; + Width = 94, ; + ZOrderSet = 17 + *< END OBJECT: ClassLib="_tx_base.vcx" BaseClass="textbox" /> + + ADD OBJECT 'txlim2' AS _txbase WITH ; + ControlSource = "pocoef.dedl2", ; + Height = 23, ; + InputMask = (get_mask(14,Gnps)), ; + Left = 162, ; + Name = "txlim2", ; + TabIndex = 5, ; + Top = 151, ; + Width = 94, ; + ZOrderSet = 19 + *< END OBJECT: ClassLib="_tx_base.vcx" BaseClass="textbox" /> + + ADD OBJECT 'txNrzile' AS _txbase WITH ; + ControlSource = "pocoef.ZILECMPLANG", ; + Height = 23, ; + Left = 449, ; + Name = "txNrzile", ; + TabIndex = 22, ; + Top = 267, ; + Width = 55, ; + ZOrderSet = 41 + *< END OBJECT: ClassLib="_tx_base.vcx" BaseClass="textbox" /> + + ADD OBJECT 'txNrZileF' AS _txbase WITH ; + ControlSource = "pocoef.ZILECMPLANGF", ; + Height = 23, ; + Left = 449, ; + Name = "txNrZileF", ; + TabIndex = 23, ; + Top = 291, ; + Width = 55, ; + ZOrderSet = 41 + *< END OBJECT: ClassLib="_tx_base.vcx" BaseClass="textbox" /> + + ADD OBJECT 'txsalmed' AS _txbase WITH ; + ControlSource = "pocoef.salmed", ; + Height = 23, ; + InputMask = (get_mask(14,Gnps)), ; + Left = 162, ; + Name = "txsalmed", ; + TabIndex = 7, ; + Top = 207, ; + Width = 94, ; + ZOrderSet = 39 + *< END OBJECT: ClassLib="_tx_base.vcx" BaseClass="textbox" /> + + ADD OBJECT 'txsalmin' AS _txbase WITH ; + ControlSource = "pocoef.salmin", ; + Height = 23, ; + InputMask = (get_mask(14,Gnps)), ; + Left = 162, ; + Name = "txsalmin", ; + TabIndex = 6, ; + Top = 183, ; + Width = 94, ; + ZOrderSet = 37 + *< END OBJECT: ClassLib="_tx_base.vcx" BaseClass="textbox" /> + + ADD OBJECT 'txSanAng' AS _txbase WITH ; + ControlSource = "pocoef.c_medp", ; + Height = 23, ; + Left = 162, ; + Name = "txSanAng", ; + TabIndex = 2, ; + Top = 71, ; + Width = 67, ; + ZOrderSet = 13 + *< END OBJECT: ClassLib="_tx_base.vcx" BaseClass="textbox" /> + + ADD OBJECT 'txSanSoc' AS _txbase WITH ; + ControlSource = "pocoef.c_meds", ; + Height = 23, ; + Left = 438, ; + Name = "txSanSoc", ; + TabIndex = 15, ; + Top = 95, ; + Width = 67, ; + ZOrderSet = 23 + *< END OBJECT: ClassLib="_tx_base.vcx" BaseClass="textbox" /> + + ADD OBJECT 'txSomAng' AS _txbase WITH ; + ControlSource = "pocoef.c_somp", ; + Height = 23, ; + Left = 162, ; + Name = "txSomAng", ; + TabIndex = 1, ; + Top = 46, ; + Width = 67, ; + ZOrderSet = 11 + *< END OBJECT: ClassLib="_tx_base.vcx" BaseClass="textbox" /> + + ADD OBJECT 'txSomSoc' AS _txbase WITH ; + ControlSource = "pocoef.c_soms", ; + Height = 23, ; + Left = 438, ; + Name = "txSomSoc", ; + TabIndex = 13, ; + Top = 47, ; + Width = 67, ; + ZOrderSet = 21 + *< END OBJECT: ClassLib="_tx_base.vcx" BaseClass="textbox" /> + + PROCEDURE Init + DODEFAULT() + If Thisform.ck_coefautomat.Value = 1 + Thisform.tx_corenoapte.ReadOnly = .F. + Thisform.tx_coresarb.ReadOnly = .F. + Thisform.tx_corew.ReadOnly = .F. + Else + Thisform.tx_corenoapte.ReadOnly = .T. + Thisform.tx_coresarb.ReadOnly = .T. + Thisform.tx_corew.ReadOnly = .T. + ENDIF + + IF gnAn*12+GnLuna >= 2018*12+1 + thisform.lbsomang.Visible=.f. + thisform.txsomAng.Visible = .f. + thisform._lbbase1.Visible= .F. + thisform._txbase1.Visible= .F. + thisform.lbsomSoc.Caption='Contrib asiguratorie munca' + thisform._lbbase9.Visible= .F. + thisform._txbase9.Visible= .F. + thisform.lbsansoc.Visible= .F. + thisform.txsansoc.Visible= .F. + thisform.lbfaambp.Visible= .F. + thisform.txfaambp.Visible= .F. + thisform.lbcm.Visible= .F. + thisform.txcm.Visible= .F. + thisform._lbbase2.Visible= .F. + thisform._txbase2.Visible =.f. + thisform._lbbase3.Visible= .F. + thisform._txbase3.Visible= .F. + thisform._lbbase4.Visible= .F. + thisform._txbase4.Visible= .F. + thisform._lbbase5.Visible= .F. + thisform._txbase5.Visible= .F. + + ENDIF + + ENDPROC + + PROCEDURE ck_coefautomat.InteractiveChange + If This.Value = 1 + Thisform.tx_corenoapte.ReadOnly = .F. + Thisform.tx_coresarb.ReadOnly = .F. + Thisform.tx_corew.ReadOnly = .F. + Else + Thisform.tx_corenoapte.ReadOnly = .T. + Thisform.tx_corenoapte.Value = 0 + Thisform.tx_coresarb.ReadOnly = .T. + Thisform.tx_coresarb.Value = 0 + Thisform.tx_corew.ReadOnly = .T. + Thisform.tx_corew.Value = 0 + Endif + ENDPROC + + PROCEDURE ck_coefautomat.ProgrammaticChange + This.InteractiveChange() + ENDPROC + +ENDDEFINE + +DEFINE CLASS frm_sarbatori_nou AS frm_termin_renunt OF "_frm_child.vcx" + *< CLASSDATA: Baseclass="form" Timestamp="" Scale="Pixels" Uniqueid="" /> + + *-- OBJECTDATA items order determines ZOrder / El orden de los items OBJECTDATA determina el ZOrder + *< OBJECTDATA: ObjPath="Clb_tx_simplu1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="Clb_tx_simplu2" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="Cus_odata_sarbatori1" UniqueID="" Timestamp="" /> + + * + *p: nid + *p: orec + * + + * + DoCreate = .T. + Height = 115 + Name = "frm_sarbatori_nou" + nid = .F. + orec = .F. + Width = 375 + _shape1.Anchor = 11 + _shape1.Name = "_shape1" + _shape2.Anchor = 9 + _shape2.Height = 29 + _shape2.Left = 312 + _shape2.Name = "_shape2" + _shape2.Top = 0 + _shape2.Width = 65 + Lb_titlu_alb_b121.Caption = "Sãrbãtori" + Lb_titlu_alb_b121.Name = "Lb_titlu_alb_b121" + Lb_titlu_alb_b121.TabIndex = 5 + BUT_TERMIN1.Anchor = 9 + BUT_TERMIN1.Left = 345 + BUT_TERMIN1.Name = "BUT_TERMIN1" + BUT_TERMIN1.TabIndex = 3 + BUT_TERMIN1.Top = 1 + Gridsort1.Name = "Gridsort1" + BUT_RENUNT1.Anchor = 9 + BUT_RENUNT1.Left = 315 + BUT_RENUNT1.Name = "BUT_RENUNT1" + BUT_RENUNT1.TabIndex = 4 + BUT_RENUNT1.Top = 1 + * + + ADD OBJECT 'Clb_tx_simplu1' AS clb_tx_simplu WITH ; + Left = 45, ; + Name = "Clb_tx_simplu1", ; + TabIndex = 1, ; + Top = 44, ; + TEXT_SIMPLU1.ControlSource = "porec.data", ; + TEXT_SIMPLU1.Format = "kd", ; + TEXT_SIMPLU1.Name = "TEXT_SIMPLU1", ; + LB_SIMPLU1.Caption = "Data", ; + LB_SIMPLU1.Name = "LB_SIMPLU1" + *< END OBJECT: ClassLib="lb_tx.vcx" BaseClass="container" /> + + ADD OBJECT 'Clb_tx_simplu2' AS clb_tx_simplu WITH ; + Left = 45, ; + Name = "Clb_tx_simplu2", ; + TabIndex = 2, ; + Top = 72, ; + TEXT_SIMPLU1.ControlSource = "porec.sarbatoare", ; + TEXT_SIMPLU1.Name = "TEXT_SIMPLU1", ; + LB_SIMPLU1.Caption = "Sãrbãtoare", ; + LB_SIMPLU1.Name = "LB_SIMPLU1" + *< END OBJECT: ClassLib="lb_tx.vcx" BaseClass="container" /> + + ADD OBJECT 'Cus_odata_sarbatori1' AS cus_odata_sarbatori WITH ; + Left = 344, ; + Name = "Cus_odata_sarbatori1", ; + Top = 36 + *< END OBJECT: ClassLib="onom_sal.vcx" BaseClass="custom" /> + + PROCEDURE inainte_de_do_termin + Local PLRETURN + lccontrol = Upper(This.ActiveControl.BaseClass ) + If Inlist(lccontrol,"TEXTBOX","EDITBOX","COMBOBOX") + lcval=This.ActiveControl.ControlSource + &lcval=Thisform.ActiveControl.Value + Endif + Do Case + Case Empty(porec.Data) + aMessagebox('Nu ati completat data sarbatorii!',0+48,"Atentie") + This.clb_tx_simplu1.text_simplu1.SetFocus() + PLRETURN=.F. + *!* modificare v 2.0.5 + CASE YEAR(porec.data) < gnAn + amessagebox("Nu puteti introduce o data dintr-un an anterior!",48,"Atentie") + This.clb_tx_simplu1.text_simplu1.SetFocus() + plreturn = .F. + CASE YEAR(porec.data) = gnAn+1 AND gnLuna <> 12 + amessagebox('Pentru a introduce o data din anul '+ALLTRIM(STR(gnAn+1,4)) + ; + ', trebuie sa intrati in luna decembrie din anul '+ALLTRIM(STR(gnAn,4)) + '!',48,"Atentie") + This.clb_tx_simplu1.text_simplu1.SetFocus() + plreturn = .F. + CASE YEAR(porec.data) > gnAn+1 + amessagebox('Nu puteti introduce o data dintr-un an mai mare decat '+ALLTRIM(STR(gnAn+1,4))+'!',48,"Atentie") + This.clb_tx_simplu1.text_simplu1.SetFocus() + plreturn = .F. + *!* modificare v 2.0.5 ^ + Otherwise + PLRETURN=This.cus_odata_sarbatori1.salvare(This.OREC,This.NID) + Endcase + Return PLRETURN + + ENDPROC + + PROCEDURE Init + Lparameters toRec, tnId, tcActiune + + DoDefault() + + This.orec= toRec + This.nid = tnId + this.cus_odata_sarbatori1.cactiune = tcActiune + + ENDPROC + +ENDDEFINE + +DEFINE CLASS frm_tabvechimi AS frm_termin OF "_frm_child.vcx" + *< CLASSDATA: Baseclass="form" Timestamp="" Scale="Pixels" Uniqueid="" /> + + *-- OBJECTDATA items order determines ZOrder / El orden de los items OBJECTDATA determina el ZOrder + *< OBJECTDATA: ObjPath="_grdrow1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="_grdrow1.Column1.Header1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="_grdrow1.Column1.Text1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="_grdrow1.Column2.Header1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="_grdrow1.Column2.Text1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="_grdrow1.Column3.Header1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="_grdrow1.Column3.Text1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="But_nou1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="But_modifica1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="But_sterge1" UniqueID="" Timestamp="" /> + + * + DoCreate = .T. + Height = 250 + Name = "frm_tabvechimi" + Width = 323 + _shape1.Anchor = 11 + _shape1.Name = "_shape1" + _shape2.Anchor = 9 + _shape2.Height = 29 + _shape2.Left = 198 + _shape2.Name = "_shape2" + _shape2.Top = 0 + _shape2.Width = 124 + Lb_titlu_alb_b121.Caption = "Grilã sporuri de vechime" + Lb_titlu_alb_b121.Name = "Lb_titlu_alb_b121" + BUT_TERMIN1.Anchor = 9 + BUT_TERMIN1.Left = 290 + BUT_TERMIN1.Name = "BUT_TERMIN1" + BUT_TERMIN1.Top = 1 + Gridsort1.Name = "Gridsort1" + * + + ADD OBJECT '_grdrow1' AS _grdrow WITH ; + Anchor = 11, ; + ColumnCount = 3, ; + DeleteMark = .F., ; + Height = 206, ; + Left = 9, ; + Name = "_grdrow1", ; + Panel = 1, ; + RecordSource = "v_tabvechimi", ; + Top = 36, ; + Width = 305, ; + Column1.ControlSource = "lim_inf", ; + Column1.Name = "Column1", ; + Column1.Width = 93, ; + Column2.ControlSource = "lim_sup", ; + Column2.Name = "Column2", ; + Column2.Width = 101, ; + Column3.ControlSource = "coef_vechi", ; + Column3.Name = "Column3" + *< END OBJECT: ClassLib="_grd_base.vcx" BaseClass="grid" /> + + ADD OBJECT '_grdrow1.Column1.Header1' AS header WITH ; + Alignment = 2, ; + Caption = "Limita inferioara (ani)", ; + FontName = "Arial Narrow", ; + Name = "Header1" + *< END OBJECT: BaseClass="header" /> + + ADD OBJECT '_grdrow1.Column1.Text1' AS textbox WITH ; + BackColor = 255,255,255, ; + BorderStyle = 0, ; + ForeColor = 0,0,0, ; + Margin = 0, ; + Name = "Text1" + *< END OBJECT: BaseClass="textbox" /> + + ADD OBJECT '_grdrow1.Column2.Header1' AS header WITH ; + Alignment = 2, ; + Caption = "Limita superioara (ani)", ; + FontName = "Arial Narrow", ; + Name = "Header1" + *< END OBJECT: BaseClass="header" /> + + ADD OBJECT '_grdrow1.Column2.Text1' AS textbox WITH ; + BackColor = 255,255,255, ; + BorderStyle = 0, ; + ForeColor = 0,0,0, ; + Margin = 0, ; + Name = "Text1" + *< END OBJECT: BaseClass="textbox" /> + + ADD OBJECT '_grdrow1.Column3.Header1' AS header WITH ; + Alignment = 2, ; + Caption = "Coeficient (0,xx)", ; + FontName = "Arial Narrow", ; + Name = "Header1" + *< END OBJECT: BaseClass="header" /> + + ADD OBJECT '_grdrow1.Column3.Text1' AS textbox WITH ; + BackColor = 255,255,255, ; + BorderStyle = 0, ; + ForeColor = 0,0,0, ; + Margin = 0, ; + Name = "Text1" + *< END OBJECT: BaseClass="textbox" /> + + ADD OBJECT 'But_modifica1' AS but_modifica WITH ; + Anchor = 9, ; + Height = 27, ; + Left = 230, ; + Name = "But_modifica1", ; + Top = 1 + *< END OBJECT: ClassLib="cmd_butoane.vcx" BaseClass="commandbutton" /> + + ADD OBJECT 'But_nou1' AS but_nou WITH ; + Anchor = 9, ; + Height = 27, ; + Left = 200, ; + Name = "But_nou1", ; + Top = 1 + *< END OBJECT: ClassLib="cmd_butoane.vcx" BaseClass="commandbutton" /> + + ADD OBJECT 'But_sterge1' AS but_sterge WITH ; + Anchor = 9, ; + Height = 27, ; + Left = 260, ; + Name = "But_sterge1", ; + Top = 1 + *< END OBJECT: ClassLib="cmd_butoane.vcx" BaseClass="commandbutton" /> + + PROCEDURE actualizeaza_grid1 + LPARAMETERS pcFiltru + LOCAL lcFiltru + lcFiltru=pcFiltru + IF EMPTY(lcFiltru) + lcFiltru=ponomgrp.ca_baza1.cfiltru + ENDIF + save_grid_tag(thisform._grdrow1) + ponomgrp.ca_baza1.cfiltru=lcFiltru + ponomgrp.ca_baza1.afisare() + restore_grid_tag(thisform._grdrow1) + *!* IF RECCOUNT('v_delegati')>0 + thisform._grdrow1.SetFocus() + *!* ELSE + *!* thisform.lb_delegati.SetFocus() + *!* ENDIF + + ENDPROC + + PROCEDURE do_adauga + Private pniesire + pniesire=0 + Select v_tabvechimi + *!* pcNume = loRec.nume + *!* pcPrenume = loRec.prenume + Scatter Name loRec Blank + Do Adauga_Modifica_Inregistrare With "tabvechimi",loRec,,"INSERT",,"addvech" + + + If pniesire=1 + This.actualizeaza_grid1() + Endif + + ENDPROC + + PROCEDURE do_modifica + Private pniesire + pniesire=0 + Select v_tabvechimi + Scatter Name loRec + *!* pcNume = loRec.nume + *!* pcPrenume = loRec.prenume + Do Adauga_Modifica_Inregistrare With "tabvechimi",loRec,loRec.id_tabvechime,"UPDATE",,"modvech" + + If pniesire=1 + This.actualizeaza_grid1() + Endif + + + ENDPROC + + PROCEDURE do_sterge + SELECT v_tabvechimi + SCATTER NAME lorec + Do STERGE_INREGISTRARE With "tabvechime",loRec.id_tabvechime + This.actualizeaza_grid1() + ENDPROC + + PROCEDURE inainte_de_do_termin + LPARAMETERS pcFiltru + LOCAL lcFiltru + lcFiltru=pcFiltru + IF EMPTY(lcFiltru) + lcFiltru=ponomgrp.ca_baza1.cfiltru + ENDIF + save_grid_tag(thisform._grdrow1) + ponomgrp.ca_baza1.cfiltru=lcFiltru + ponomgrp.ca_baza1.afisare() + restore_grid_tag(thisform._grdrow1) + *!* IF RECCOUNT('v_delegati')>0 + thisform._grdrow1.SetFocus() + *!* ELSE + *!* thisform.lb_delegati.SetFocus() + *!* ENDIF + + ENDPROC + +ENDDEFINE + +DEFINE CLASS frm_tabvechimi_nou AS frm_termin_renunt OF "_frm_child.vcx" + *< CLASSDATA: Baseclass="form" Timestamp="" Scale="Pixels" Uniqueid="" /> + + *-- OBJECTDATA items order determines ZOrder / El orden de los items OBJECTDATA determina el ZOrder + *< OBJECTDATA: ObjPath="Clb_tx_simplu1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="Clb_tx_simplu2" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="Clb_tx_simplu3" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="Cus_odata_tabvechime1" UniqueID="" Timestamp="" /> + + * + *p: nid + *p: orec + * + + * + DoCreate = .T. + Height = 147 + Name = "frm_tabvechimi_nou" + nid = .F. + orec = .F. + Width = 375 + _shape1.Anchor = 11 + _shape1.Name = "_shape1" + _shape2.Anchor = 9 + _shape2.Height = 29 + _shape2.Left = 312 + _shape2.Name = "_shape2" + _shape2.Top = 0 + _shape2.Width = 64 + Lb_titlu_alb_b121.Caption = "Grilã vechimi" + Lb_titlu_alb_b121.Name = "Lb_titlu_alb_b121" + Lb_titlu_alb_b121.TabIndex = 6 + BUT_TERMIN1.Anchor = 9 + BUT_TERMIN1.Left = 345 + BUT_TERMIN1.Name = "BUT_TERMIN1" + BUT_TERMIN1.TabIndex = 4 + BUT_TERMIN1.Top = 1 + Gridsort1.Name = "Gridsort1" + BUT_RENUNT1.Anchor = 9 + BUT_RENUNT1.Left = 314 + BUT_RENUNT1.Name = "BUT_RENUNT1" + BUT_RENUNT1.TabIndex = 5 + BUT_RENUNT1.Top = 1 + * + + ADD OBJECT 'Clb_tx_simplu1' AS clb_tx_simplu WITH ; + Left = 42, ; + Name = "Clb_tx_simplu1", ; + TabIndex = 1, ; + Top = 45, ; + TEXT_SIMPLU1.ControlSource = "porec.lim_inf", ; + TEXT_SIMPLU1.Name = "TEXT_SIMPLU1", ; + LB_SIMPLU1.Caption = "Limita inf.", ; + LB_SIMPLU1.Name = "LB_SIMPLU1" + *< END OBJECT: ClassLib="lb_tx.vcx" BaseClass="container" /> + + ADD OBJECT 'Clb_tx_simplu2' AS clb_tx_simplu WITH ; + Left = 42, ; + Name = "Clb_tx_simplu2", ; + TabIndex = 2, ; + Top = 73, ; + TEXT_SIMPLU1.ControlSource = "porec.lim_sup", ; + TEXT_SIMPLU1.Name = "TEXT_SIMPLU1", ; + LB_SIMPLU1.Caption = "Limita sup.", ; + LB_SIMPLU1.Name = "LB_SIMPLU1" + *< END OBJECT: ClassLib="lb_tx.vcx" BaseClass="container" /> + + ADD OBJECT 'Clb_tx_simplu3' AS clb_tx_simplu WITH ; + Left = 42, ; + Name = "Clb_tx_simplu3", ; + TabIndex = 3, ; + Top = 101, ; + TEXT_SIMPLU1.ControlSource = "porec.coef_vechi", ; + TEXT_SIMPLU1.Name = "TEXT_SIMPLU1", ; + LB_SIMPLU1.Caption = "Coef. (0,xx)", ; + LB_SIMPLU1.Name = "LB_SIMPLU1" + *< END OBJECT: ClassLib="lb_tx.vcx" BaseClass="container" /> + + ADD OBJECT 'Cus_odata_tabvechime1' AS cus_odata_tabvechime WITH ; + Left = 15, ; + Name = "Cus_odata_tabvechime1", ; + Top = 57 + *< END OBJECT: ClassLib="onom_sal.vcx" BaseClass="custom" /> + + PROCEDURE inainte_de_do_termin + Local PLRETURN + + lccontrol = Upper(This.ActiveControl.BaseClass ) + If Inlist(lccontrol,"TEXTBOX","EDITBOX","COMBOBOX") + lcval=This.ActiveControl.ControlSource + &lcval=Thisform.ActiveControl.Value + Endif + + *!* Do Case + *!* Case Empty(porec.tip_contract) + *!* Messagebox('Nu ati completat formatia!',0+48,"Atentie") + *!* This.clb_tx_simplu1._cbbase1.SetFocus() + *!* PLRETURN=.F. + *!* Otherwise + + PLRETURN=this.cus_odata_tabvechime1.salvare(This.OREC,This.NID) + + + *!* ENDIF + *!* Endcase + Return PLRETURN + + + + ENDPROC + + PROCEDURE Init + Lparameters toRec, tnId, tcActiune + + DoDefault() + + This.orec= toRec + This.nid = tnId + this.cus_odata_tabvechime1.cactiune = tcActiune + + ENDPROC + +ENDDEFINE + +DEFINE CLASS frm_tipctr AS frm_termin OF "_frm_child.vcx" + *< CLASSDATA: Baseclass="form" Timestamp="" Scale="Pixels" Uniqueid="" /> + + *-- OBJECTDATA items order determines ZOrder / El orden de los items OBJECTDATA determina el ZOrder + *< OBJECTDATA: ObjPath="_grdrow1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="_grdrow1.Column1.Header1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="_grdrow1.Column1.Text1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="_grdrow1.Column2.Header1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="_grdrow1.Column2.Text1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="_grdrow1.Column3.Header1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="_grdrow1.Column3.Text1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="But_nou1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="But_modifica1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="But_sterge1" UniqueID="" Timestamp="" /> + + * + DoCreate = .T. + Name = "frm_tipctr" + _shape1.Anchor = 11 + _shape1.Name = "_shape1" + _shape2.Anchor = 9 + _shape2.Height = 29 + _shape2.Left = 254 + _shape2.Name = "_shape2" + _shape2.Top = 0 + _shape2.Width = 122 + Lb_titlu_alb_b121.Caption = "Tipuri de contract" + Lb_titlu_alb_b121.Name = "Lb_titlu_alb_b121" + BUT_TERMIN1.Anchor = 9 + BUT_TERMIN1.Left = 344 + BUT_TERMIN1.Name = "BUT_TERMIN1" + BUT_TERMIN1.Top = 1 + Gridsort1.Name = "Gridsort1" + * + + ADD OBJECT '_grdrow1' AS _grdrow WITH ; + Anchor = 15, ; + ColumnCount = 3, ; + DeleteMark = .F., ; + Height = 200, ; + Left = 22, ; + Name = "_grdrow1", ; + Panel = 1, ; + RecordSource = "v_tipctr", ; + Top = 39, ; + Width = 335, ; + Column1.ControlSource = "tip_contract", ; + Column1.Name = "Column1", ; + Column1.Width = 228, ; + Column2.ControlSource = "ore", ; + Column2.Name = "Column2", ; + Column2.Width = 35, ; + Column3.ControlSource = "inactiv", ; + Column3.Name = "Column3", ; + Column3.Width = 38 + *< END OBJECT: ClassLib="_grd_base.vcx" BaseClass="grid" /> + + ADD OBJECT '_grdrow1.Column1.Header1' AS header WITH ; + Alignment = 2, ; + Caption = "Tip contract", ; + Name = "Header1" + *< END OBJECT: BaseClass="header" /> + + ADD OBJECT '_grdrow1.Column1.Text1' AS textbox WITH ; + BackColor = 255,255,255, ; + BorderStyle = 0, ; + ForeColor = 0,0,0, ; + Margin = 0, ; + Name = "Text1" + *< END OBJECT: BaseClass="textbox" /> + + ADD OBJECT '_grdrow1.Column2.Header1' AS header WITH ; + Alignment = 2, ; + Caption = "Ore/zi", ; + Name = "Header1" + *< END OBJECT: BaseClass="header" /> + + ADD OBJECT '_grdrow1.Column2.Text1' AS textbox WITH ; + BackColor = 255,255,255, ; + BorderStyle = 0, ; + ForeColor = 0,0,0, ; + Margin = 0, ; + Name = "Text1" + *< END OBJECT: BaseClass="textbox" /> + + ADD OBJECT '_grdrow1.Column3.Header1' AS header WITH ; + Alignment = 2, ; + Caption = "Inactiv", ; + Name = "Header1" + *< END OBJECT: BaseClass="header" /> + + ADD OBJECT '_grdrow1.Column3.Text1' AS textbox WITH ; + BackColor = 255,255,255, ; + BorderStyle = 0, ; + ForeColor = 0,0,0, ; + Margin = 0, ; + Name = "Text1" + *< END OBJECT: BaseClass="textbox" /> + + ADD OBJECT 'But_modifica1' AS but_modifica WITH ; + Anchor = 9, ; + Left = 286, ; + Name = "But_modifica1", ; + Top = 1 + *< END OBJECT: ClassLib="cmd_butoane.vcx" BaseClass="commandbutton" /> + + ADD OBJECT 'But_nou1' AS but_nou WITH ; + Anchor = 9, ; + Left = 257, ; + Name = "But_nou1", ; + Top = 1 + *< END OBJECT: ClassLib="cmd_butoane.vcx" BaseClass="commandbutton" /> + + ADD OBJECT 'But_sterge1' AS but_sterge WITH ; + Anchor = 9, ; + Left = 314, ; + Name = "But_sterge1", ; + Top = 1 + *< END OBJECT: ClassLib="cmd_butoane.vcx" BaseClass="commandbutton" /> + + PROCEDURE actualizeaza_grid1 + LPARAMETERS pcFiltru + LOCAL lcFiltru + lcFiltru=pcFiltru + IF EMPTY(lcFiltru) + lcFiltru=potipctr.ca_baza1.cfiltru + ENDIF + save_grid_tag(thisform._grdrow1) + potipctr.ca_baza1.cfiltru=lcFiltru + potipctr.ca_baza1.afisare() + restore_grid_tag(thisform._grdrow1) + thisform._grdrow1.SetFocus() + + ENDPROC + + PROCEDURE do_adauga + Private pniesire + Do update_ore In update_roadef_sal.prg + *!* SELECT V_TRANSE + *!* BROWSE + pniesire=0 + Select v_tipctr + Scatter Name loRec Blank + Do Adauga_Modifica_Inregistrare With "tipctr",loRec,,"INSERT",,"addtip" + + IF USED('v_nomore') + USE IN v_nomore + ENDIF + If pniesire=1 + This.actualizeaza_grid1() + Endif + ENDPROC + + PROCEDURE do_modifica + Private pniesire + Do update_ore In update_roadef_sal.prg + + pniesire=0 + Select v_tipctr + Scatter Name loRec + Do Adauga_Modifica_Inregistrare With "tipctr",loRec,loRec.id_tipctr,"UPDATE",,"modtip" + + IF USED('v_nomore') + USE IN v_nomore + ENDIF + If pniesire=1 + This.actualizeaza_grid1() + Endif + ENDPROC + + PROCEDURE do_sterge + SELECT v_tipctr + SCATTER NAME lorec + Do STERGE_INREGISTRARE With "tipctr",loRec.id_tipctr + This.actualizeaza_grid1() + ENDPROC + +ENDDEFINE + +DEFINE CLASS frm_tipctr_nou AS frm_termin_renunt OF "_frm_child.vcx" + *< CLASSDATA: Baseclass="form" Timestamp="" Scale="Pixels" Uniqueid="" /> + + *-- OBJECTDATA items order determines ZOrder / El orden de los items OBJECTDATA determina el ZOrder + *< OBJECTDATA: ObjPath="Clb_tx_simplu1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="_checkbox1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="Cus_odata_tipctr1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="Cb_tx_simplu1" UniqueID="" Timestamp="" /> + + * + *p: nid + *p: orec + * + + * + DoCreate = .T. + Height = 133 + Name = "frm_tipctr_nou" + nid = .F. + orec = .F. + Width = 375 + _shape1.Anchor = 11 + _shape1.Name = "_shape1" + _shape2.Anchor = 9 + _shape2.Height = 29 + _shape2.Left = 312 + _shape2.Name = "_shape2" + _shape2.Top = 0 + _shape2.Width = 64 + Lb_titlu_alb_b121.Caption = "Tip contract" + Lb_titlu_alb_b121.Name = "Lb_titlu_alb_b121" + Lb_titlu_alb_b121.TabIndex = 6 + BUT_TERMIN1.Anchor = 9 + BUT_TERMIN1.Left = 344 + BUT_TERMIN1.Name = "BUT_TERMIN1" + BUT_TERMIN1.TabIndex = 4 + BUT_TERMIN1.Top = 1 + Gridsort1.Name = "Gridsort1" + But_renunt1.Anchor = 9 + But_renunt1.Left = 314 + But_renunt1.Name = "But_renunt1" + But_renunt1.TabIndex = 5 + But_renunt1.Top = 1 + * + + ADD OBJECT '_checkbox1' AS _checkbox WITH ; + Alignment = 0, ; + Caption = "Inactiv", ; + ControlSource = "porec.inactiv", ; + Left = 45, ; + Name = "_checkbox1", ; + TabIndex = 3, ; + Top = 104 + *< END OBJECT: ClassLib="_baza.vcx" BaseClass="checkbox" /> + + ADD OBJECT 'Cb_tx_simplu1' AS cb_tx_simplu WITH ; + Left = 42, ; + Name = "Cb_tx_simplu1", ; + TabIndex = 2, ; + Top = 69, ; + _cbbase1.ControlSource = "porec.ore", ; + _cbbase1.Name = "_cbbase1", ; + _cbbase1.RowSource = "v_nomore.ore", ; + _cbbase1.RowSourceType = 2, ; + _lbbase1.Caption = "Ore / zi", ; + _lbbase1.Name = "_lbbase1" + *< END OBJECT: ClassLib="lb_tx.vcx" BaseClass="container" /> + + ADD OBJECT 'Clb_tx_simplu1' AS clb_tx_simplu WITH ; + Left = 42, ; + Name = "Clb_tx_simplu1", ; + TabIndex = 1, ; + Top = 41, ; + Text_simplu1.ControlSource = "porec.tip_contract", ; + Text_simplu1.Name = "Text_simplu1", ; + Lb_simplu1.Caption = "Tip contract", ; + Lb_simplu1.Name = "Lb_simplu1" + *< END OBJECT: ClassLib="lb_tx.vcx" BaseClass="container" /> + + ADD OBJECT 'Cus_odata_tipctr1' AS cus_odata_tipctr WITH ; + Left = 324, ; + Name = "Cus_odata_tipctr1", ; + Top = 108 + *< END OBJECT: ClassLib="onom_sal.vcx" BaseClass="custom" /> + + PROCEDURE inainte_de_do_termin + Local PLRETURN + + lccontrol = Upper(This.ActiveControl.BaseClass ) + If Inlist(lccontrol,"TEXTBOX","EDITBOX","COMBOBOX") + lcval=This.ActiveControl.ControlSource + &lcval=Thisform.ActiveControl.Value + Endif + + Do Case + Case Empty(porec.tip_contract) + Messagebox('Nu ati completat formatia!',0+48,"Atentie") + This.clb_tx_simplu1._cbbase1.SetFocus() + PLRETURN=.F. + Otherwise + + PLRETURN=this.cus_odata_tipctr1.salvare(This.OREC,This.NID) + + *!* ENDIF + Endcase + Return PLRETURN + + + + ENDPROC + + PROCEDURE Init + Lparameters toRec, tnId, tcActiune + + DoDefault() + + This.orec= toRec + This.nid = tnId + this.cus_odata_tipctr1.cactiune = tcActiune + ENDPROC + + PROCEDURE Cb_tx_simplu1._cbbase1.LostFocus + porec.id_ore = v_nomore.id_nomore + ENDPROC + +ENDDEFINE + +DEFINE CLASS frm_tipintret AS frm_termin OF "_frm_child.vcx" + *< CLASSDATA: Baseclass="form" Timestamp="" Scale="Pixels" Uniqueid="" /> + + *-- OBJECTDATA items order determines ZOrder / El orden de los items OBJECTDATA determina el ZOrder + *< OBJECTDATA: ObjPath="_grdrow1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="_grdrow1.Column1.Header1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="_grdrow1.Column1.Text1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="_grdrow1.Column2.Header1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="_grdrow1.Column2.Text1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="_grdrow1.Column3.Header1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="_grdrow1.Column3.Text1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="_grdrow1.Column3.Check1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="But_nou1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="But_modifica1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="But_sterge1" UniqueID="" Timestamp="" /> + + * + DoCreate = .T. + Height = 250 + Name = "frm_tipintret" + Width = 335 + _shape1.Anchor = 11 + _shape1.Name = "_shape1" + _shape1.Top = 0 + _shape2.Anchor = 9 + _shape2.Height = 29 + _shape2.Left = 208 + _shape2.Name = "_shape2" + _shape2.Top = 0 + _shape2.Width = 128 + Lb_titlu_alb_b121.Caption = "Tipuri întreþinere persoane" + Lb_titlu_alb_b121.Name = "Lb_titlu_alb_b121" + BUT_TERMIN1.Anchor = 9 + BUT_TERMIN1.Left = 304 + BUT_TERMIN1.Name = "BUT_TERMIN1" + BUT_TERMIN1.Top = 1 + Gridsort1.Name = "Gridsort1" + * + + ADD OBJECT '_grdrow1' AS _grdrow WITH ; + Anchor = 15, ; + ColumnCount = 3, ; + DeleteMark = .F., ; + Left = 6, ; + Name = "_grdrow1", ; + Panel = 1, ; + RecordSource = "v_nomintret", ; + Top = 41, ; + Column1.ControlSource = "calitate", ; + Column1.Name = "Column1", ; + Column1.Width = 136, ; + Column2.ControlSource = "c_ded", ; + Column2.Name = "Column2", ; + Column2.Width = 87, ; + Column3.ControlSource = "coasigurat", ; + Column3.CurrentControl = "Check1", ; + Column3.Name = "Column3", ; + Column3.Sparse = .F., ; + Column3.Width = 60 + *< END OBJECT: ClassLib="_grd_base.vcx" BaseClass="grid" /> + + ADD OBJECT '_grdrow1.Column1.Header1' AS header WITH ; + Alignment = 2, ; + Caption = "Calitate", ; + Name = "Header1" + *< END OBJECT: BaseClass="header" /> + + ADD OBJECT '_grdrow1.Column1.Text1' AS textbox WITH ; + BackColor = 255,255,255, ; + BorderStyle = 0, ; + ForeColor = 0,0,0, ; + Margin = 0, ; + Name = "Text1" + *< END OBJECT: BaseClass="textbox" /> + + ADD OBJECT '_grdrow1.Column2.Header1' AS header WITH ; + Alignment = 2, ; + Caption = "Coef. deducere", ; + Name = "Header1" + *< END OBJECT: BaseClass="header" /> + + ADD OBJECT '_grdrow1.Column2.Text1' AS textbox WITH ; + BackColor = 255,255,255, ; + BorderStyle = 0, ; + ForeColor = 0,0,0, ; + Margin = 0, ; + Name = "Text1" + *< END OBJECT: BaseClass="textbox" /> + + ADD OBJECT '_grdrow1.Column3.Check1' AS checkbox WITH ; + Alignment = 0, ; + Caption = "", ; + Height = 17, ; + Left = 46, ; + Name = "Check1", ; + Top = 54, ; + Width = 60 + *< END OBJECT: BaseClass="checkbox" /> + + ADD OBJECT '_grdrow1.Column3.Header1' AS header WITH ; + Alignment = 2, ; + Caption = "Coasigurat", ; + Name = "Header1" + *< END OBJECT: BaseClass="header" /> + + ADD OBJECT '_grdrow1.Column3.Text1' AS textbox WITH ; + BackColor = 255,255,255, ; + BorderStyle = 0, ; + ForeColor = 0,0,0, ; + Margin = 0, ; + Name = "Text1" + *< END OBJECT: BaseClass="textbox" /> + + ADD OBJECT 'But_modifica1' AS but_modifica WITH ; + Anchor = 9, ; + Height = 27, ; + Left = 243, ; + Name = "But_modifica1", ; + Top = 1, ; + Width = 29 + *< END OBJECT: ClassLib="cmd_butoane.vcx" BaseClass="commandbutton" /> + + ADD OBJECT 'But_nou1' AS but_nou WITH ; + Anchor = 9, ; + Left = 212, ; + Name = "But_nou1", ; + Top = 1 + *< END OBJECT: ClassLib="cmd_butoane.vcx" BaseClass="commandbutton" /> + + ADD OBJECT 'But_sterge1' AS but_sterge WITH ; + Anchor = 9, ; + Left = 273, ; + Name = "But_sterge1", ; + Top = 1 + *< END OBJECT: ClassLib="cmd_butoane.vcx" BaseClass="commandbutton" /> + + PROCEDURE actualizeaza_grid1 + LPARAMETERS pcFiltru + LOCAL lcFiltru + lcFiltru=pcFiltru + IF EMPTY(lcFiltru) + lcFiltru=ponomgrp.ca_baza1.cfiltru + ENDIF + save_grid_tag(thisform._grdrow1) + ponomgrp.ca_baza1.cfiltru=lcFiltru + ponomgrp.ca_baza1.afisare() + restore_grid_tag(thisform._grdrow1) + *!* IF RECCOUNT('v_delegati')>0 + thisform._grdrow1.SetFocus() + *!* ELSE + *!* thisform.lb_delegati.SetFocus() + *!* ENDIF + + ENDPROC + + PROCEDURE do_adauga + Private pniesire + pniesire=0 + Select v_nomintret + Scatter Name loRec Blank + *!* DEBUG + *!* SUSPEND + Do Adauga_Modifica_Inregistrare With "tipintret",loRec,,"INSERT",,"addintret" + If pniesire=1 + This.actualizeaza_grid1() + Endif + ENDPROC + + PROCEDURE do_modifica + Private pniesire + pniesire=0 + Select v_nomintret + Scatter Name loRec + Do Adauga_Modifica_Inregistrare With "tipintret",loRec,loRec.id_dedsupl,"UPDATE",,"modintret" + If pniesire=1 + This.actualizeaza_grid1() + Endif + + + ENDPROC + + PROCEDURE do_sterge + SELECT v_nomintret + SCATTER NAME lorec + Do STERGE_INREGISTRARE With "tipintret",loRec.id_dedsupl + + this.actualizeaza_grid1() + + ENDPROC + +ENDDEFINE + +DEFINE CLASS frm_tipintret_nou AS frm_termin_renunt OF "_frm_child.vcx" + *< CLASSDATA: Baseclass="form" Timestamp="" Scale="Pixels" Uniqueid="" /> + + *-- OBJECTDATA items order determines ZOrder / El orden de los items OBJECTDATA determina el ZOrder + *< OBJECTDATA: ObjPath="Clb_tx_simplu1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="Clb_tx_simplu2" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="_checkbox1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="CUS_ODATA_TIPINTRET1" UniqueID="" Timestamp="" /> + + * + *p: nid + *p: orec + * + + * + DoCreate = .T. + Height = 141 + Name = "frm_tipintret_nou" + nid = .F. + orec = .F. + Width = 375 + _shape1.Anchor = 11 + _shape1.Name = "_shape1" + _shape2.Anchor = 9 + _shape2.Height = 29 + _shape2.Left = 312 + _shape2.Name = "_shape2" + _shape2.Top = 0 + _shape2.Width = 64 + Lb_titlu_alb_b121.Caption = "Tip întreþinere" + Lb_titlu_alb_b121.Name = "Lb_titlu_alb_b121" + Lb_titlu_alb_b121.TabIndex = 6 + BUT_TERMIN1.Anchor = 9 + BUT_TERMIN1.Left = 345 + BUT_TERMIN1.Name = "BUT_TERMIN1" + BUT_TERMIN1.TabIndex = 4 + BUT_TERMIN1.Top = 1 + Gridsort1.Name = "Gridsort1" + BUT_RENUNT1.Anchor = 9 + BUT_RENUNT1.Left = 315 + BUT_RENUNT1.Name = "BUT_RENUNT1" + BUT_RENUNT1.TabIndex = 5 + BUT_RENUNT1.Top = 1 + * + + ADD OBJECT '_checkbox1' AS _checkbox WITH ; + Alignment = 0, ; + Caption = "Coasigurat", ; + ControlSource = "porec.coasigurat", ; + Left = 42, ; + Name = "_checkbox1", ; + TabIndex = 3, ; + Top = 105 + *< END OBJECT: ClassLib="_baza.vcx" BaseClass="checkbox" /> + + ADD OBJECT 'Clb_tx_simplu1' AS clb_tx_simplu WITH ; + Left = 42, ; + Name = "Clb_tx_simplu1", ; + TabIndex = 1, ; + Top = 41, ; + TEXT_SIMPLU1.ControlSource = "porec.calitate", ; + TEXT_SIMPLU1.Name = "TEXT_SIMPLU1", ; + LB_SIMPLU1.Caption = "Calitatea:", ; + LB_SIMPLU1.Name = "LB_SIMPLU1" + *< END OBJECT: ClassLib="lb_tx.vcx" BaseClass="container" /> + + ADD OBJECT 'Clb_tx_simplu2' AS clb_tx_simplu WITH ; + Left = 42, ; + Name = "Clb_tx_simplu2", ; + TabIndex = 2, ; + Top = 69, ; + TEXT_SIMPLU1.ControlSource = "porec.c_ded", ; + TEXT_SIMPLU1.Name = "TEXT_SIMPLU1", ; + LB_SIMPLU1.Caption = "Coef. deducere;", ; + LB_SIMPLU1.Name = "LB_SIMPLU1" + *< END OBJECT: ClassLib="lb_tx.vcx" BaseClass="container" /> + + ADD OBJECT 'CUS_ODATA_TIPINTRET1' AS cus_odata_tipintret WITH ; + Left = 21, ; + Name = "CUS_ODATA_TIPINTRET1", ; + Top = 66 + *< END OBJECT: ClassLib="onom_sal.vcx" BaseClass="custom" /> + + PROCEDURE inainte_de_do_termin + LOCAL PLRETURN + + lccontrol = UPPER(this.ActiveControl.BaseClass ) + IF INLIST(lccontrol,"TEXTBOX","EDITBOX","COMBOBOX") + lcval=This.Activecontrol.controlsource + &lcval=thisform.ActiveControl.value + ENDIF + + + Do Case + Case Empty(porec.calitate) + Messagebox('Nu ati completat calitatea!',0+48,"Atentie") + this.clb_tx_simplu1.text_simplu1.SetFocus() + + plreturn=.F. + + OTHERWISE + + PLRETURN=This.cus_odata_tipintret1.salvare(This.OREC,This.NID) + ENDCASE + + Return PLRETURN + + + ENDPROC + + PROCEDURE Init + Lparameters toRec, tnId, tcActiune + + DoDefault() + + This.orec= toRec + This.nid = tnId + this.cus_odata_tipintret1.cactiune = tcActiune + ENDPROC + +ENDDEFINE + +DEFINE CLASS frm_transe AS formtermin OF "_frm_base.vcx" + *< CLASSDATA: Baseclass="form" Timestamp="" Scale="Pixels" Uniqueid="" /> + + *-- OBJECTDATA items order determines ZOrder / El orden de los items OBJECTDATA determina el ZOrder + *< OBJECTDATA: ObjPath="_grdrow1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="_grdrow1.Column1.Header1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="_grdrow1.Column1.Text1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="_grdrow1.Column2.Header1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="_grdrow1.Column2.Text1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="But_nou1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="But_modifica1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="But_sterge1" UniqueID="" Timestamp="" /> + + * + BorderStyle = 3 + DoCreate = .T. + Height = 331 + Name = "frm_transe" + Width = 309 + _SHAPE1.Anchor = 11 + _SHAPE1.Name = "_SHAPE1" + _SHAPE2.Anchor = 9 + _SHAPE2.Height = 29 + _SHAPE2.Left = 187 + _SHAPE2.Name = "_SHAPE2" + _SHAPE2.Top = 0 + _SHAPE2.Width = 124 + LB_TITLU_ALB_B121.Caption = "Tranºe" + LB_TITLU_ALB_B121.Name = "LB_TITLU_ALB_B121" + BUT_TERMIN1.Anchor = 9 + BUT_TERMIN1.Left = 278 + BUT_TERMIN1.Name = "BUT_TERMIN1" + BUT_TERMIN1.Top = 1 + Gridsort1.Name = "Gridsort1" + * + + ADD OBJECT '_grdrow1' AS _grdrow WITH ; + Anchor = 15, ; + ColumnCount = 2, ; + DeleteMark = .F., ; + Height = 282, ; + Left = 7, ; + Name = "_grdrow1", ; + Panel = 1, ; + ReadOnly = .T., ; + RecordSource = "v_transe", ; + Top = 42, ; + Width = 293, ; + Column1.ControlSource = "transa", ; + Column1.Name = "Column1", ; + Column1.ReadOnly = .T., ; + Column1.Width = 198, ; + Column2.ControlSource = "inactiv", ; + Column2.Name = "Column2", ; + Column2.ReadOnly = .T., ; + Column2.Width = 37 + *< END OBJECT: ClassLib="_grd_base.vcx" BaseClass="grid" /> + + ADD OBJECT '_grdrow1.Column1.Header1' AS header WITH ; + Alignment = 2, ; + Caption = "Transa", ; + Name = "Header1" + *< END OBJECT: BaseClass="header" /> + + ADD OBJECT '_grdrow1.Column1.Text1' AS textbox WITH ; + BackColor = 255,255,255, ; + BorderStyle = 0, ; + ForeColor = 0,0,0, ; + Margin = 0, ; + Name = "Text1", ; + ReadOnly = .T., ; + SelectedBackColor = 100,185,255 + *< END OBJECT: BaseClass="textbox" /> + + ADD OBJECT '_grdrow1.Column2.Header1' AS header WITH ; + Alignment = 2, ; + Caption = "Inactiv", ; + Name = "Header1" + *< END OBJECT: BaseClass="header" /> + + ADD OBJECT '_grdrow1.Column2.Text1' AS textbox WITH ; + BackColor = 255,255,255, ; + BorderStyle = 0, ; + ForeColor = 0,0,0, ; + Margin = 0, ; + Name = "Text1", ; + ReadOnly = .T., ; + SelectedBackColor = 100,185,255 + *< END OBJECT: BaseClass="textbox" /> + + ADD OBJECT 'But_modifica1' AS but_modifica WITH ; + Anchor = 9, ; + Left = 219, ; + Name = "But_modifica1", ; + Top = 1 + *< END OBJECT: ClassLib="cmd_butoane.vcx" BaseClass="commandbutton" /> + + ADD OBJECT 'But_nou1' AS but_nou WITH ; + Anchor = 9, ; + Left = 189, ; + Name = "But_nou1", ; + Top = 1 + *< END OBJECT: ClassLib="cmd_butoane.vcx" BaseClass="commandbutton" /> + + ADD OBJECT 'But_sterge1' AS but_sterge WITH ; + Anchor = 9, ; + Left = 249, ; + Name = "But_sterge1", ; + Top = 1 + *< END OBJECT: ClassLib="cmd_butoane.vcx" BaseClass="commandbutton" /> + + PROCEDURE actualizeaza_grid1 + LPARAMETERS pcFiltru + LOCAL lcFiltru + lcFiltru=pcFiltru + IF EMPTY(lcFiltru) + lcFiltru=potransa.ca_baza1.cfiltru + ENDIF + save_grid_tag(thisform._grdrow1) + potransa.ca_baza1.cfiltru=lcFiltru + potransa.ca_baza1.afisare() + restore_grid_tag(thisform._grdrow1) + *!* IF RECCOUNT('v_delegati')>0 + thisform._grdrow1.SetFocus() + *!* ELSE + *!* thisform.lb_delegati.SetFocus() + *!* ENDIF + + ENDPROC + + PROCEDURE do_adauga + Private pniesire + pniesire=0 + Select v_transe + Scatter Name loRec Blank + *!* DEBUG + *!* SUSPEND + Do Adauga_Modifica_Inregistrare With "transe",loRec,,"INSERT",,"addtra" + If pniesire=1 + This.actualizeaza_grid1() + Endif + ENDPROC + + PROCEDURE do_modifica + Private pniesire + pniesire=0 + Select v_transe + Scatter Name loRec + Do Adauga_Modifica_Inregistrare With "transe",loRec,loRec.id_transa,"UPDATE",,"modtr" + If pniesire=1 + This.actualizeaza_grid1() + Endif + + + ENDPROC + + PROCEDURE do_sterge + SELECT v_transe + SCATTER NAME lorec + Do STERGE_INREGISTRARE With "transe",loRec.id_transa + + this.actualizeaza_grid1() + + ENDPROC + + PROCEDURE Init + DODEFAULT() + IF gnSAL_SPECIAL = 4 AND gnIdProgram = 9 + thisform.lb_titlu_alb_b121.Caption = 'Activitati' + thisform._grdrow1.column1.header1.Caption = 'Activitate' + ENDIF + ENDPROC + +ENDDEFINE + +DEFINE CLASS frm_transe_nou AS frm_termin_renunt OF "_frm_child.vcx" + *< CLASSDATA: Baseclass="form" Timestamp="" Scale="Pixels" Uniqueid="" /> + + *-- OBJECTDATA items order determines ZOrder / El orden de los items OBJECTDATA determina el ZOrder + *< OBJECTDATA: ObjPath="Clb_tx_simplu1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="Cus_odata_transe1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="_checkbox1" UniqueID="" Timestamp="" /> + + * + *p: nid + *p: orec + * + + * + DoCreate = .T. + Height = 101 + Name = "frm_transe_nou" + nid = .F. + orec = .F. + Width = 375 + _SHAPE1.Anchor = 11 + _SHAPE1.Name = "_SHAPE1" + _SHAPE2.Anchor = 9 + _SHAPE2.Left = 303 + _SHAPE2.Name = "_SHAPE2" + _SHAPE2.Top = 0 + LB_TITLU_ALB_B121.Caption = "Tranºa" + LB_TITLU_ALB_B121.Name = "LB_TITLU_ALB_B121" + LB_TITLU_ALB_B121.TabIndex = 5 + BUT_TERMIN1.Anchor = 9 + BUT_TERMIN1.Left = 343 + BUT_TERMIN1.Name = "BUT_TERMIN1" + BUT_TERMIN1.TabIndex = 3 + BUT_TERMIN1.Top = 1 + Gridsort1.Name = "Gridsort1" + BUT_RENUNT1.Anchor = 9 + BUT_RENUNT1.Left = 310 + BUT_RENUNT1.Name = "BUT_RENUNT1" + BUT_RENUNT1.TabIndex = 4 + BUT_RENUNT1.Top = 1 + * + + ADD OBJECT '_checkbox1' AS _checkbox WITH ; + Alignment = 0, ; + Caption = "Inactiv", ; + ControlSource = "porec.inactiv", ; + Left = 47, ; + Name = "_checkbox1", ; + TabIndex = 2, ; + Top = 77 + *< END OBJECT: ClassLib="_baza.vcx" BaseClass="checkbox" /> + + ADD OBJECT 'Clb_tx_simplu1' AS clb_tx_simplu WITH ; + Left = 42, ; + Name = "Clb_tx_simplu1", ; + TabIndex = 1, ; + Top = 41, ; + TEXT_SIMPLU1.ControlSource = "porec.transa", ; + TEXT_SIMPLU1.Name = "TEXT_SIMPLU1", ; + LB_SIMPLU1.Caption = "Tranºa", ; + LB_SIMPLU1.Name = "LB_SIMPLU1" + *< END OBJECT: ClassLib="lb_tx.vcx" BaseClass="container" /> + + ADD OBJECT 'Cus_odata_transe1' AS cus_odata_transe WITH ; + Left = 14, ; + Name = "Cus_odata_transe1", ; + Top = 43 + *< END OBJECT: ClassLib="onom_sal.vcx" BaseClass="custom" /> + + PROCEDURE inainte_de_do_termin + LOCAL PLRETURN + + lccontrol = UPPER(this.ActiveControl.BaseClass ) + IF INLIST(lccontrol,"TEXTBOX","EDITBOX","COMBOBOX") + lcval=This.Activecontrol.controlsource + &lcval=thisform.ActiveControl.value + ENDIF + + + Do Case + Case Empty(porec.transa) + Messagebox('Nu ati completat numele transei!',0+48,"Atentie") + this.clb_tx_simplu1.text_simplu1.SetFocus() + + plreturn=.F. + + OTHERWISE + PLRETURN=This.cus_odata_transe1.salvare(This.OREC,This.NID) + + ENDCASE + + Return PLRETURN + + + ENDPROC + + PROCEDURE Init + Lparameters toRec, tnId, tcActiune + + DoDefault() + + This.orec= toRec + This.nid = tnId + this.cus_odata_transe1.cactiune = tcActiune + + IF gnSAL_SPECIAL = 4 AND gnIdProgram = 9 + thisform.lb_titlu_alb_b121.Caption='Activitate' + thisform.clb_tx_simplu1.lB_SIMPLU1.Caption='Denumire' + ENDIF + ENDPROC + +ENDDEFINE + +DEFINE CLASS frm_zileluc AS formtermin OF "_frm_base.vcx" + *< CLASSDATA: Baseclass="form" Timestamp="" Scale="Pixels" Uniqueid="" /> + + *-- OBJECTDATA items order determines ZOrder / El orden de los items OBJECTDATA determina el ZOrder + *< OBJECTDATA: ObjPath="Lb_simplu1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="Lb_simplu2" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="Text1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="Text2" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="_grdrow1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="_grdrow1.Column1.Header1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="_grdrow1.Column1.Text1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="_grdrow1.Column2.Header1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="_grdrow1.Column2.Text1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="Lb_simplu3" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="Lb_simplu4" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="Lb_simplu5" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="But_nou1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="But_modifica1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="But_sterge1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="Text3" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="Text4" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="Text5" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="BUT_RENUNT1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="Lb_simplu6" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="Text6" UniqueID="" Timestamp="" /> + + * + BorderStyle = 1 + DoCreate = .T. + Height = 500 + Name = "frm_zileluc" + Width = 464 + _shape1.Anchor = 11 + _shape1.Height = 29 + _shape1.Left = 0 + _shape1.Name = "_shape1" + _shape1.Top = 0 + _shape1.Width = 468 + _shape2.Anchor = 9 + _shape2.Height = 29 + _shape2.Left = 398 + _shape2.Name = "_shape2" + _shape2.Top = 0 + _shape2.Width = 67 + Lb_titlu_alb_b121.Caption = "Ore / zile lucrãtoare" + Lb_titlu_alb_b121.Name = "Lb_titlu_alb_b121" + Lb_titlu_alb_b121.TabIndex = 7 + BUT_TERMIN1.Anchor = 9 + BUT_TERMIN1.Left = 433 + BUT_TERMIN1.Name = "BUT_TERMIN1" + BUT_TERMIN1.TabIndex = 5 + BUT_TERMIN1.Top = 1 + Gridsort1.Name = "Gridsort1" + * + + ADD OBJECT '_grdrow1' AS _grdrow WITH ; + Anchor = 15, ; + ColumnCount = 2, ; + DeleteMark = .F., ; + Height = 432, ; + Left = 12, ; + Name = "_grdrow1", ; + Panel = 1, ; + ReadOnly = .T., ; + RecordSource = "v_sarbat", ; + TabIndex = 12, ; + Top = 60, ; + Width = 288, ; + Column1.ControlSource = "data", ; + Column1.Name = "Column1", ; + Column1.ReadOnly = .T., ; + Column2.ControlSource = "sarbatoare", ; + Column2.Name = "Column2", ; + Column2.ReadOnly = .T., ; + Column2.Width = 177 + *< END OBJECT: ClassLib="_grd_base.vcx" BaseClass="grid" /> + + ADD OBJECT '_grdrow1.Column1.Header1' AS header WITH ; + Alignment = 2, ; + Caption = "Data", ; + Name = "Header1" + *< END OBJECT: BaseClass="header" /> + + ADD OBJECT '_grdrow1.Column1.Text1' AS textbox WITH ; + BackColor = 255,255,255, ; + BorderStyle = 0, ; + ForeColor = 0,0,0, ; + Margin = 0, ; + Name = "Text1", ; + ReadOnly = .T. + *< END OBJECT: BaseClass="textbox" /> + + ADD OBJECT '_grdrow1.Column2.Header1' AS header WITH ; + Alignment = 2, ; + Caption = "Sarbatoare", ; + Name = "Header1" + *< END OBJECT: BaseClass="header" /> + + ADD OBJECT '_grdrow1.Column2.Text1' AS textbox WITH ; + BackColor = 255,255,255, ; + BorderStyle = 0, ; + ForeColor = 0,0,0, ; + Margin = 0, ; + Name = "Text1", ; + ReadOnly = .T. + *< END OBJECT: BaseClass="textbox" /> + + ADD OBJECT 'But_modifica1' AS but_modifica WITH ; + Anchor = 9, ; + Left = 241, ; + Name = "But_modifica1", ; + TabIndex = 18, ; + Top = 30 + *< END OBJECT: ClassLib="cmd_butoane.vcx" BaseClass="commandbutton" /> + + ADD OBJECT 'But_nou1' AS but_nou WITH ; + Anchor = 9, ; + Left = 210, ; + Name = "But_nou1", ; + TabIndex = 17, ; + Top = 30 + *< END OBJECT: ClassLib="cmd_butoane.vcx" BaseClass="commandbutton" /> + + ADD OBJECT 'BUT_RENUNT1' AS but_renunt WITH ; + Anchor = 9, ; + Left = 402, ; + Name = "BUT_RENUNT1", ; + TabIndex = 6, ; + Top = 1 + *< END OBJECT: ClassLib="cmd_butoane.vcx" BaseClass="commandbutton" /> + + ADD OBJECT 'But_sterge1' AS but_sterge WITH ; + Anchor = 9, ; + Left = 271, ; + Name = "But_sterge1", ; + TabIndex = 19, ; + Top = 30 + *< END OBJECT: ClassLib="cmd_butoane.vcx" BaseClass="commandbutton" /> + + ADD OBJECT 'Lb_simplu1' AS lb_simplu WITH ; + Anchor = 9, ; + Caption = "Luna", ; + FontBold = .T., ; + Left = 309, ; + Name = "Lb_simplu1", ; + TabIndex = 8, ; + Top = 70 + *< END OBJECT: ClassLib="lb.vcx" BaseClass="label" /> + + ADD OBJECT 'Lb_simplu2' AS lb_simplu WITH ; + Anchor = 9, ; + Caption = "Anul", ; + FontBold = .T., ; + Left = 386, ; + Name = "Lb_simplu2", ; + TabIndex = 9, ; + Top = 70 + *< END OBJECT: ClassLib="lb.vcx" BaseClass="label" /> + + ADD OBJECT 'Lb_simplu3' AS lb_simplu WITH ; + Anchor = 9, ; + Caption = "Zile lucrãtoare:", ; + Left = 310, ; + Name = "Lb_simplu3", ; + TabIndex = 13, ; + Top = 100 + *< END OBJECT: ClassLib="lb.vcx" BaseClass="label" /> + + ADD OBJECT 'Lb_simplu4' AS lb_simplu WITH ; + Anchor = 9, ; + Caption = "Ore lucrãtoare:", ; + Left = 310, ; + Name = "Lb_simplu4", ; + TabIndex = 14, ; + Top = 124 + *< END OBJECT: ClassLib="lb.vcx" BaseClass="label" /> + + ADD OBJECT 'Lb_simplu5' AS lb_simplu WITH ; + Anchor = 9, ; + Caption = "Ore stas:", ; + Left = 310, ; + Name = "Lb_simplu5", ; + TabIndex = 15, ; + Top = 148 + *< END OBJECT: ClassLib="lb.vcx" BaseClass="label" /> + + ADD OBJECT 'Lb_simplu6' AS lb_simplu WITH ; + Anchor = 9, ; + Caption = "Ore supl. / lunã:", ; + Left = 310, ; + Name = "Lb_simplu6", ; + TabIndex = 16, ; + Top = 171 + *< END OBJECT: ClassLib="lb.vcx" BaseClass="label" /> + + ADD OBJECT 'Text1' AS textbox WITH ; + Anchor = 9, ; + BorderStyle = 0, ; + ControlSource = "gnluna", ; + DisabledBackColor = 255,255,255, ; + FontBold = .T., ; + Left = 340, ; + Name = "Text1", ; + ReadOnly = .T., ; + SpecialEffect = 1, ; + TabIndex = 10, ; + Top = 68, ; + Width = 24 + *< END OBJECT: BaseClass="textbox" /> + + ADD OBJECT 'Text2' AS textbox WITH ; + Anchor = 9, ; + BorderStyle = 0, ; + ControlSource = "gnan", ; + DisabledBackColor = 255,255,255, ; + FontBold = .T., ; + Left = 417, ; + Name = "Text2", ; + ReadOnly = .T., ; + SpecialEffect = 1, ; + TabIndex = 11, ; + Top = 68, ; + Width = 36 + *< END OBJECT: BaseClass="textbox" /> + + ADD OBJECT 'Text3' AS textbox WITH ; + Anchor = 9, ; + ControlSource = "pnzileluc", ; + Format = "k", ; + Height = 23, ; + Left = 396, ; + Name = "Text3", ; + TabIndex = 1, ; + Top = 95, ; + Width = 48 + *< END OBJECT: BaseClass="textbox" /> + + ADD OBJECT 'Text4' AS textbox WITH ; + Anchor = 9, ; + ControlSource = "pnoreluc", ; + Format = "k", ; + Height = 23, ; + Left = 396, ; + Name = "Text4", ; + TabIndex = 2, ; + Top = 120, ; + Width = 48 + *< END OBJECT: BaseClass="textbox" /> + + ADD OBJECT 'Text5' AS textbox WITH ; + Anchor = 9, ; + ControlSource = "pnorestas", ; + Format = "k", ; + Height = 23, ; + Left = 396, ; + Name = "Text5", ; + TabIndex = 3, ; + Top = 145, ; + Width = 48 + *< END OBJECT: BaseClass="textbox" /> + + ADD OBJECT 'Text6' AS textbox WITH ; + Anchor = 9, ; + ControlSource = "pnoresupluna", ; + Format = "k", ; + Height = 23, ; + Left = 396, ; + Name = "Text6", ; + TabIndex = 4, ; + Top = 168, ; + Width = 48 + *< END OBJECT: BaseClass="textbox" /> + + PROCEDURE actualizeaza_grid1 + LPARAMETERS pcFiltru + LOCAL lcFiltru + lcFiltru=pcFiltru + IF EMPTY(lcFiltru) + lcFiltru=posarbat.ca_baza1.cfiltru + ENDIF + save_grid_tag(thisform._grdrow1) + posarbat.ca_baza1.cfiltru=lcFiltru + posarbat.ca_baza1.afisare() + restore_grid_tag(thisform._grdrow1) + *!* IF RECCOUNT('v_delegati')>0 + thisform._grdrow1.SetFocus() + *!* ELSE + *!* thisform.lb_delegati.SetFocus() + *!* ENDIF + + ENDPROC + + PROCEDURE do_adauga + Private pniesire + pniesire=0 + Select v_sarbat + Scatter Name loRec Blank + + Do Adauga_Modifica_Inregistrare With "sarbatori",loRec,,"INSERT",,"addsarbat" + If pniesire=1 + This.actualizeaza_grid1() + Endif + ENDPROC + + PROCEDURE do_modifica + Private pniesire + pniesire=0 + Select v_sarbat + Scatter Name loRec + + Do Adauga_Modifica_Inregistrare With "sarbatori",loRec,loRec.id_sarbat,"UPDATE",,"modsarbat" + If pniesire=1 + This.actualizeaza_grid1() + Endif + + + ENDPROC + + PROCEDURE do_sterge + SELECT v_sarbat + SCATTER NAME lorec + Do STERGE_INREGISTRARE With "sarbatori",loRec.id_sarbat + + this.actualizeaza_grid1() + + ENDPROC + + PROCEDURE Init + *!* modificare v 2.0.5 + DoDefault() + Thisform._grdrow1.SetAll("DynamicForeColor","IIF(YEAR(data)=gnAn,RGB(0,0,0),RGB(0,0,255))","Column") + *!* modificare v 2.0.5 ^ + ENDPROC + + PROCEDURE Text3.LostFocus + pnOreluc = pnZileluc * 8 + thisform.tEXT4.Refresh + ENDPROC + +ENDDEFINE diff --git a/clase/onomenclatoare.vc2 b/clase/onomenclatoare.vc2 new file mode 100644 index 0000000..9e6cb1d --- /dev/null +++ b/clase/onomenclatoare.vc2 @@ -0,0 +1,23385 @@ +*-------------------------------------------------------------------------------------------------------------------------------------------------------- +* (EN) AUTOGENERATED - ATTENTION!! - NOT INTENDED FOR EXECUTION!! USE ONLY FOR MERGING CHANGES AND STORING WITH SCM TOOLS!! +*-------------------------------------------------------------------------------------------------------------------------------------------------------- +*< FOXBIN2PRG: Version="1.21" SourceFile="onomenclatoare.vcx" CPID="1252" /> (Solo para binarios VFP 9 / Only for VFP 9 binaries) +* +* +DEFINE CLASS cb_nom_valute AS _cbbase OF "..\libs\_cb_base.vcx" + *< CLASSDATA: Baseclass="combobox" Timestamp="" Scale="Pixels" Uniqueid="" /> + + * + *m: initializare + * + + * + FontName = "Arial Narrow" + Name = "cb_nom_valute" + Width = 72 + * + + PROCEDURE Destroy + If Used('crsnumeval') + Use In crsnumeval + Endif + ENDPROC + + PROCEDURE Init + this.initializare() + ENDPROC + + PROCEDURE initializare + =ccvalute() + Select nume_val From v_nom_valute Into Array lanumeval Order By nume_val + Use In v_nom_valute + + If Used('crsnumeval') + Use In crsnumeval + Endif + + Create Cursor crsnumeval (nume_val c(5)) + Select crsnumeval + Append Blank + Replace nume_val With '---' + If Type('lanumeval')#'U' + Append From Array lanumeval + Release lanumeval + Endif + This.RowSourceType= 2 + This.RowSource="crsnumeval" + This.Value='---' + This.BoundTo=.T. + ENDPROC + +ENDDEFINE + +DEFINE CLASS ct_coresp_delegati_part AS _container OF "_baza.vcx" + *< CLASSDATA: Baseclass="container" Timestamp="" Scale="Pixels" Uniqueid="" /> + + *-- OBJECTDATA items order determines ZOrder / El orden de los items OBJECTDATA determina el ZOrder + *< OBJECTDATA: ObjPath="lb_explicatie" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="grd_parteneri" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="grd_parteneri.cAles.Header1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="grd_parteneri.cAles._checkbox1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="grd_parteneri.cDenumire.Header1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="grd_parteneri.cDenumire.Text1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="tx_cautare" UniqueID="" Timestamp="" /> + + * + *m: do_cauta + *m: do_initializeaza_grid + *m: do_modifica_lista_part + *m: do_prelucreaza_coresp + *m: initializeaza_date + *m: modifica_vizibilitate + *p: clista_id_part + *p: clista_initiala && 1=2 daca gridul e readonly sau daca nu e vizibil; 2=2 daca gridul e vizibil + *p: nid_delegat + * + + * + BorderWidth = 0 + clista_id_part = + clista_initiala = + Height = 443 + Name = "ct_coresp_delegati_part" + nid_delegat = 0 + Width = 251 + * + + ADD OBJECT 'grd_parteneri' AS _grdrow WITH ; + ColumnCount = 2, ; + DeleteMark = .F., ; + Height = 367, ; + HighlightStyle = 2, ; + Left = 11, ; + Name = "grd_parteneri", ; + Panel = 1, ; + RecordMark = .F., ; + RecordSource = "crsrezultate", ; + TabIndex = 2, ; + Top = 65, ; + Width = 228, ; + Column1.ControlSource = "ales", ; + Column1.Name = "cAles", ; + Column1.Sparse = .F., ; + Column1.Width = 28, ; + Column2.ControlSource = "denumire", ; + Column2.Name = "cDenumire", ; + Column2.Width = 170 + *< END OBJECT: ClassLib="_grd_base.vcx" BaseClass="grid" /> + + ADD OBJECT 'grd_parteneri.cAles._checkbox1' AS _checkbox WITH ; + Alignment = 2, ; + Caption = "", ; + Centered = .T., ; + Left = 14, ; + Name = "_checkbox1", ; + Top = 42 + *< END OBJECT: ClassLib="_baza.vcx" BaseClass="checkbox" /> + + ADD OBJECT 'grd_parteneri.cAles.Header1' AS header WITH ; + Alignment = 2, ; + Caption = "Ales", ; + Name = "Header1" + *< END OBJECT: BaseClass="header" /> + + ADD OBJECT 'grd_parteneri.cDenumire.Header1' AS header WITH ; + Alignment = 2, ; + Caption = "Denumire", ; + Name = "Header1" + *< END OBJECT: BaseClass="header" /> + + ADD OBJECT 'grd_parteneri.cDenumire.Text1' AS textbox WITH ; + BackColor = 255,255,255, ; + BorderStyle = 0, ; + ForeColor = 0,0,0, ; + Margin = 0, ; + Name = "Text1" + *< END OBJECT: BaseClass="textbox" /> + + ADD OBJECT 'lb_explicatie' AS label WITH ; + AutoSize = .T., ; + BackStyle = 0, ; + Caption = "Alegeþi clienþii pentru acest delegat", ; + FontCharSet = 238, ; + Height = 17, ; + Left = 12, ; + Name = "lb_explicatie", ; + TabIndex = 3, ; + Top = 5, ; + Width = 192 + *< END OBJECT: BaseClass="label" /> + + ADD OBJECT 'tx_cautare' AS _textbox WITH ; + Format = "K!", ; + Height = 24, ; + Left = 22, ; + Name = "tx_cautare", ; + TabIndex = 1, ; + Top = 29, ; + Width = 206 + *< END OBJECT: ClassLib="_baza.vcx" BaseClass="textbox" /> + + PROCEDURE Destroy + If Used('crsrezultate') + Use In crsrezultate + Endif + ENDPROC + + PROCEDURE do_cauta + Lparameters tcValoare + save_grid_tag(This.grd_parteneri) + If Used('crsClientiTemp') + Use In crsClientiTemp + Endif + If Used('crsClientiDelTemp') + Use In crsClientiDelTemp + Endif + If Used('crsrezultate') + Select ales,denumire,id_part From crsrezultate With (Buffering = .T.) Where ales = 1 Into Cursor crsClientiDelTemp + Use In crsrezultate + Else + Create Cursor crsClientiDelTemp(ales N(1),denumire c(50),id_part N(10)) + Endif + lcSql = [select b.id_part,b.denumire from ] + gcS + [.coresp_tip_cont a ] + ; + [left join ] + gcS + [.vcoresp_tip_part b on a.id_tip_part = b.id_tip_part ] + ; + [where a.cont = ?gcCont411 and b.inactiv = 0 and b.denumire like '] + Alltrim(Strtran(tcValoare,['],[''])) + [%'] + lnSucces = goExecutor.oExecute(lcSql,[crsClientiTemp]) + If lnSucces < 0 + amessagebox(goExecutor.oPrelucreazaEroare(),16,"Eroare") + Endif + Select ales,denumire,id_part From crsClientiDelTemp ; + UNION ; + Select 0 As ales,denumire,id_part From crsClientiTemp Where id_part Not In (Select id_part From crsClientiDelTemp) ; + INTO Cursor crsrezultate Readwrite Order By ales Desc,denumire + Use In crsClientiTemp + restore_grid_tag(This.grd_parteneri) + If Reccount('crsrezultate')>0 + This.grd_parteneri.SetFocus() + Else + amessagebox("Cautarea nu a intors rezultate!",0+48,"Info cautare") + This.tx_cautare.SetFocus() + Endif + + ENDPROC + + PROCEDURE do_initializeaza_grid + Lparameters tcCorespDel + save_grid_tag(This.grd_parteneri) + Do Case + Case !Empty(tcCorespDel) + *!* adaugare de delegat pentru un anumit partener + lcSql = [select 1 as ales, a.id_part, a.denumire from ] + gcS + [.nom_parteneri a ] + ; + [where a.id_part in (] + Alltrim(tcCorespDel) + [)] + lnSucces = goExecutor.oExecute(lcSql,[crsrezultate]) + If lnSucces<0 + amessagebox(goExecutor.oPrelucrareEroare(),16,"Eroare") + Endif + Case Empty(tcCorespDel) And Used('crscoresppart') + *!* adaugare/modificare de delegat din fereastra speciala pentru delegati + Select 1 As ales,id_part,denumire From crscoresppart Into Cursor crsrezultate Readwrite Order By denumire + Otherwise + *!* adaugare/modificare de delegat din fereastra generala de entitati sau din fereastra pentru alte tipuri decat delegat + lcSql = [select 1 as ales, a.id_part, b.denumire from ] + gcS + [.coresp_delegati_part a ] + ; + [left join ] + gcS + [.nom_parteneri b on a.id_part = b.id_part ] + ; + [where a.id_delegat = ] + Alltrim(Str(This.nid_delegat)) + [ and a.sters = 0 and ] + ; + [b.sters = 0 and b.inactiv = 0 order by b.denumire] + lnSucces = goExecutor.oExecute(lcSql,[crsrezultate]) + If lnSucces<0 + amessagebox(goExecutor.oPrelucrareEroare(),16,"Eroare") + Endif + Endcase + restore_grid_tag(This.grd_parteneri) + ENDPROC + + PROCEDURE do_modifica_lista_part + Select crsrezultate + lcIdPart = [<]+Alltrim(Str(id_part))+[>] + If At(lcIdPart,This.clista_id_part,1)>0 + This.clista_id_part = Strtran(This.clista_id_part,lcIdPart,[]) + Else + This.clista_id_part = This.clista_id_part + lcIdPart + Endif + ENDPROC + + PROCEDURE do_prelucreaza_coresp + ENDPROC + + PROCEDURE initializeaza_date + Lparameters tlExistent,tnIdPart,tnIdTipPart,tcCorespDel + This.nid_delegat = tnIdPart + Do Case + Case Inlist(tnIdTipPart,gnIdTipDelegati,0) And tlExistent + && este apelata din Entitati sau din Delegati + Do Case + Case tnIdPart <> 0 + This.do_initializeaza_grid() + Case tnIdPart = 0 And !Empty(tcCorespDel) + This.do_initializeaza_grid(tcCorespDel) + This.clista_id_part = [<]+Strtran(tcCorespDel,[,],[><])+[>] + Endcase + Bindevent(This.grd_parteneri.cAles._checkbox1,"Click",This,"do_modifica_lista_part",1) + This.clista_initiala = [2=2] + Case tnIdTipPart <> gnIdTipDelegati And tlExistent + && este apelata din alta fereastra,dar este si delegat + This.RemoveObject('tx_cautare') + This.lb_explicatie.Caption = [Partenerii pentru acest delegat:] + This.grd_parteneri.SetAll("ReadOnly",.T.,"Column") + This.do_initializeaza_grid() + This.clista_initiala = [] + Otherwise + This.clista_initiala = [] + Endcase + + ENDPROC + + PROCEDURE modifica_vizibilitate + Lparameters tlVizibil + This.Visible = tlVizibil + + ENDPROC + + PROCEDURE grd_parteneri.Init + This.SetAll("DynamicBackColor","iif(ales = 1, RGB(157,206,255), RGB(255,255,255))","Column") + + ENDPROC + + PROCEDURE tx_cautare.KeyPress + Lparameters nKeyCode, nShiftAltCtrl + If Inlist(nKeyCode,9,13) And nShiftAltCtrl = 0 And !Empty(This.Value) + Nodefault + This.Parent.do_cauta(This.Value) + Else + DoDefault(nKeyCode,nShiftAltCtrl) + Endif + ENDPROC + +ENDDEFINE + +DEFINE CLASS ct_localitate AS _container OF "_baza.vcx" + *< CLASSDATA: Baseclass="container" Timestamp="" Scale="Pixels" Uniqueid="" /> + + *-- OBJECTDATA items order determines ZOrder / El orden de los items OBJECTDATA determina el ZOrder + *< OBJECTDATA: ObjPath="Cb_tara" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="Cb_judet" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="Cb_localitate_af" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="Cb_localitate_af.img_atentie" UniqueID="" Timestamp="" /> + + * + *m: actualizeaza_judete + *m: actualizeaza_localitati + *m: actualizeaza_tari + *m: initializeaza + *m: modifica_judet + *m: modifica_localitate + *m: modifica_tara + *p: ccrsjudete && Nume cursor Judete + *p: ccrslocalitati && Nume cursor Localitati + *p: ccrstari && Nume cursor Tari + *p: cdate && Numele obiectului care are proprietatile : id_tara, tara, id_judet, judet, id_localitate, localitate + *p: cprescurtaretara + *p: odate && Obiectul care are proprietatile : id_tara, tara, id_judet, judet, id_localitate, localitate + *p: _memberdata && XML Metadata for customizable properties + * + + * + BorderWidth = 0 + ccrsjudete = crsJudete + ccrslocalitati = crsLocalitati + ccrstari = crsTari + cdate = + cprescurtaretara = + Height = 85 + Name = "ct_localitate" + odate = + Width = 314 + _memberdata = + + + + + * + + ADD OBJECT 'Cb_judet' AS cb_tx_simplu WITH ; + Height = 29, ; + Left = 0, ; + Name = "Cb_judet", ; + TabIndex = 2, ; + Top = 28, ; + Width = 314, ; + ZOrderSet = 14, ; + _cbbase1.Enabled = .F., ; + _cbbase1.Height = 23, ; + _cbbase1.Left = 80, ; + _cbbase1.Name = "_cbbase1", ; + _cbbase1.Top = 3, ; + _cbbase1.Width = 230, ; + _lbbase1.Caption = "Judeþ", ; + _lbbase1.Left = 4, ; + _lbbase1.Name = "_lbbase1" + *< END OBJECT: ClassLib="lb_tx.vcx" BaseClass="container" /> + + ADD OBJECT 'Cb_localitate_af' AS cb_tx_autofill WITH ; + Left = 0, ; + Name = "Cb_localitate_af", ; + TabIndex = 3, ; + Top = 56, ; + Width = 314, ; + _lbbase1.Caption = "Localitate", ; + _lbbase1.Left = 4, ; + _lbbase1.Name = "_lbbase1", ; + _lbbase1.TabIndex = 2, ; + _lbbase1.Top = 6, ; + _cbautofill1.Enabled = .F., ; + _cbautofill1.Left = 80, ; + _cbautofill1.Name = "_cbautofill1", ; + _cbautofill1.Style = 2, ; + _cbautofill1.TabIndex = 1, ; + _cbautofill1.Top = 3, ; + _cbautofill1.Width = 230 + *< END OBJECT: ClassLib="lb_tx.vcx" BaseClass="container" /> + + ADD OBJECT 'Cb_localitate_af.img_atentie' AS _image WITH ; + Height = 18, ; + Left = 59, ; + Name = "img_atentie", ; + Picture = ..\grafice\exclam.ico, ; + Stretch = 1, ; + Top = 5, ; + Visible = .F., ; + Width = 18 + *< END OBJECT: ClassLib="_baza.vcx" BaseClass="image" /> + + ADD OBJECT 'Cb_tara' AS cb_tx_simplu WITH ; + Height = 29, ; + Left = 0, ; + Name = "Cb_tara", ; + TabIndex = 1, ; + Top = 0, ; + Width = 314, ; + ZOrderSet = 14, ; + _cbbase1.Height = 23, ; + _cbbase1.Left = 80, ; + _cbbase1.Name = "_cbbase1", ; + _cbbase1.TabIndex = 1, ; + _cbbase1.Top = 3, ; + _cbbase1.Width = 230, ; + _lbbase1.Caption = "Þarã", ; + _lbbase1.Left = 4, ; + _lbbase1.Name = "_lbbase1", ; + _lbbase1.TabIndex = 2 + *< END OBJECT: ClassLib="lb_tx.vcx" BaseClass="container" /> + + PROCEDURE actualizeaza_judete + Local lcSql, lcCursor + With This.cb_judet + With ._cbbase1 + .ControlSource = [] + .RowSourceType = 0 + .RowSource = [] + .DisplayValue = [] + Endwith + + If This.cprescurtaretara = [RO] + .Visible = .T. + lcSql = [select 1 as tip,null as id_judet, '' as judet, '' as indicativ from dual] + ; + [ union all ] +; + [select 2 as tip,id_judet, judet, indicativ from syn_vnom_judete where inactiv = 0 and id_tara = 1 order by tip,judet] + lcCursor = IIF(!EMPTY(This.cCrsJudete), This.cCrsJudete, [crsjudete]) + If goExecutor.oExecuta(lcSql,lcCursor) + Select (lcCursor) + Locate For Nvl(id_judet,-1) = Nvl(This.oDate.id_judet,-1) + If !Found() + Go Top + Endif + This.oDate.id_judet = id_judet + This.oDate.judet = Alltrim(judet) + With ._cbbase1 + .Enabled = .T. + Endwith + Else + This.oDate.id_judet = Null + This.oDate.judet = [] + With ._cbbase1 + .Enabled = .F. + Endwith + Endif + + With ._cbbase1 + .ControlSource = This.cDate+[.judet] + .RowSourceType = 2 + .RowSource = m.lcCursor + [.judet] + .DisplayValue = This.oDate.judet + Endwith + Else + .Visible = .F. + This.oDate.id_judet = Null + This.oDate.judet = [] + Endif + Endwith + This.actualizeaza_localitati() + ENDPROC + + PROCEDURE actualizeaza_localitati + Local lcSql, lcCursor, lcFiltru + With This.cb_localitate_af._cbautofill1 + .ControlSource = [] + .RowSourceType = 0 + .RowSource = [] + .DisplayValue = [] + + If This.cprescurtaretara = [RO] + If Nvl(This.oDate.id_judet,0) = 0 + lcFiltru = [1=2] + Else + lcFiltru = [inactiv = 0 and id_judet = ] + Alltrim(Str(This.oDate.id_judet)) + Endif + .Style = 2 + Else + lcFiltru = [inactiv = 0 and id_tara = ] + Alltrim(Str(This.oDate.id_tara)) + .Style = 0 + Endif + .Format = [!K] + lcSql = [select 1 as tip,null as id_loc, '' as localitate,1 as nr_loc from dual] + ; + [ union all ] +; + [select 2 as tip,id_loc, localitate,nr_loc from syn_vnom_localitati where ] + lcFiltru + ; + [ order by tip,localitate] + lcCursor = IIF(!EMPTY(This.cCrsLocalitati), This.cCrsLocalitati, [crsLocalitati]) + If goExecutor.oExecuta(lcSql,lcCursor) + Select (lcCursor) + Locate For Nvl(id_loc,-1) = Nvl(This.oDate.id_loc,-1) && am pus -1 pentru ca localitatile noi le am cu id = 0 + If !Found() + Go Top + Endif + This.oDate.id_loc = id_loc + This.oDate.localitate = Alltrim(localitate) + If Reccount(lcCursor) = 1 AND This.cprescurtaretara = [RO] AND Nvl(This.oDate.id_judet,0) = 0 + .Enabled = .F. + Else + .Enabled = .T. + ENDIF + + Else + This.oDate.id_loc = Null + This.oDate.localitate = [] + .Enabled = .F. + Endif + + .ControlSource = This.cDate+[.localitate] + .RowSourceType = 2 + .RowSource = m.lcCursor + [.localitate,nr_loc] + .ColumnCount = 2 + .ColumnWidths = [250,0] + .ColumnLines = .F. + .cpk = [id_loc] + .DisplayValue = This.oDate.localitate + Endwith + ENDPROC + + PROCEDURE actualizeaza_tari + Local lcSql, lcCursor + With This.cb_tara._cbbase1 + .ControlSource = [] + .RowSourceType = 0 + .RowSource = [] + .DisplayValue = [] + lcSql = [select id_tara, tara, prescurtare from syn_vnom_tari order by tara] + lcCursor = IIF(!EMPTY(This.cCrsTari), This.cCrsTari, [crstari]) + If goExecutor.oExecuta(lcSql,lcCursor) + Select (lcCursor) + If Nvl(This.oDate.id_tara,0) = 0 + Locate For prescurtare = [RO] + Else + Locate For id_tara = This.oDate.id_tara + Endif + If !Found() + Go Top + Endif + This.oDate.id_tara = id_tara + This.oDate.tara = Alltrim(tara) + This.cprescurtaretara = Alltrim(prescurtare) + Endif + .ControlSource = This.cDate+[.tara] + .RowSourceType = 2 + .RowSource = lcCursor + [.tara] + .DisplayValue = This.oDate.tara + Endwith + This.actualizeaza_judete() + ENDPROC + + PROCEDURE Destroy + lcCursorLocalitati = IIF(!EMPTY(This.cCrsLocalitati), This.cCrsLocalitati, [crsLocalitati]) + lcCursorJudete = IIF(!EMPTY(This.cCrsJudete), This.cCrsJudete, [crsJudete]) + lcCursorTari = IIF(!EMPTY(This.cCrsTari), This.cCrsTari, [crsTari]) + + Use In (Select(lcCursorTari)) + Use In (Select(lcCursorJudete)) + Use In (Select(lcCursorLocalitati)) + + ENDPROC + + PROCEDURE initializeaza + Local lcObiect + lcObiect = This.cdate + This.odate = &lcObiect + This.actualizeaza_tari() + ENDPROC + + PROCEDURE modifica_judet + LOCAL lcCursor + lcCursor = IIF(!EMPTY(This.cCrsJudete), This.cCrsJudete, [crsjudete]) + + This.oDate.id_judet = EVALUATE(m.lcCursor + [.id_judet]) + This.oDate.id_loc = Null + This.oDate.localitate = [] + This.actualizeaza_localitati() + ENDPROC + + PROCEDURE modifica_localitate + Lparameters tnIdLoc + + This.oDate.id_loc = tnIdLoc + ENDPROC + + PROCEDURE modifica_tara + LOCAL lcCursor + lcCursor = IIF(!EMPTY(This.cCrsTari), This.cCrsTari, [crstari]) + + This.oDate.id_tara = EVALUATE(m.lcCursor + [.id_tara]) + This.cprescurtaretara = Alltrim(EVALUATE(m.lcCursor + [.prescurtare])) + This.oDate.id_judet = Null + This.oDate.judet = [] + This.actualizeaza_judete() + ENDPROC + + PROCEDURE Cb_judet._cbbase1.InteractiveChange + This.Parent.Parent.modifica_judet() + ENDPROC + + PROCEDURE Cb_localitate_af._cbautofill1.InteractiveChange + DoDefault() + Local lnNrLoc, lcCursor + lcCursor = Iif(!Empty(This.Parent.Parent.cCrsLocalitati), This.Parent.Parent.cCrsLocalitati, [crsLocalitati]) + lnNrLoc = Evaluate(lcCursor + '.nr_loc') + If lnNrLoc > 1 + This.Parent.img_atentie.Visible = .T. + This.Parent.img_atentie.ToolTipText = [ATENTIE! Exista ] + Alltrim(Str(lnNrLoc)) + [ localitati cu acest nume!] + Else + This.Parent.img_atentie.Visible = .F. + Endif + ENDPROC + + PROCEDURE Cb_localitate_af._cbautofill1.Valid + DoDefault() + This.Parent.Parent.modifica_localitate(This.npk) + + ENDPROC + + PROCEDURE Cb_tara._cbbase1.InteractiveChange + This.Parent.Parent.modifica_tara() + ENDPROC + +ENDDEFINE + +DEFINE CLASS cus_odata_categorii_entitati AS _cusodatabase OF "..\..\..\roacomenzi\comun\clase\_cus_odata_base.vcx" + *< CLASSDATA: Baseclass="custom" Timestamp="" Scale="Pixels" Uniqueid="" /> + + #INCLUDE "..\..\program files\microsoft visual foxpro 8\foxpro.h" + * + *p: csql1 + *p: csql2 + * + + * + csql1 = + csql2 = + Name = "cus_odata_categorii_entitati" + * + + PROCEDURE make_sql + Lparameters toRec,tnId + lcActiune = Alltrim(This.cActiune) + + If Inlist(lcActiune, "UPDATE",'INSERT') And Type('toRec') != "O" + Return .F. + Endif + + If Inlist(lcActiune, "UPDATE",'DELETE') And Type('tnId') != "N" + Return .F. + Endif + + If Inlist(lcActiune, "UPDATE",'DELETE') + lcId = Alltrim(Str(tnId)) + Endif + + If Inlist(lcActiune, "UPDATE",'INSERT') + lcCategorie_Entitate = Nvl(Strtran(Alltrim(Upper(toRec.categorie_entitate)),['],['']),"") + lcinactiv = Alltrim(Str(toRec.inactiv)) + Endif + + Do Case + Case lcActiune = "INSERT" + lcSql = [begin ] + gcS + [.pack_def.adauga_categorie_entitate(']+lcCategorie_Entitate+[',]+lcinactiv+[,?gnIdUtil); end;] + Case lcActiune = "UPDATE" + lcSql = [begin ] + gcS + [.pack_def.modifica_categorie_entitate(]+lcId+[,']+lcCategorie_Entitate+[',]+lcinactiv+[,?gnIdUtil); end;] + Case lcActiune = "DELETE" + lcSql = [begin ] + gcS + [.pack_def.sterge_categorie_entitate(]+lcId+[,?gnIdUtil); end;] + Endcase + This.csql = lcSql + + ENDPROC + +ENDDEFINE + +DEFINE CLASS cus_odata_clienti_201402 AS _cusodatabase OF "_cus_odata_base.vcx" + *< CLASSDATA: Baseclass="custom" Timestamp="" Scale="Pixels" Uniqueid="" /> + + * + Name = "cus_odata_clienti" + * + + PROCEDURE make_sql + Lparameters toRec,tnId + + lcActiune = Alltrim(This.cActiune) + + If Inlist(lcActiune, "UPDATE",'INSERT') And Type('toRec') != "O" + Return .F. + Endif + + If Inlist(lcActiune, "UPDATE",'DELETE') And Type('tnId') != "N" + Return .F. + Endif + + If Inlist(lcActiune, "UPDATE",'DELETE') + lcId = Alltrim(Str(tnId)) + lcnom = gcS + ".nom_parteneri" + lcamp = "id_part" + lclook = gcS + ".dev_masiniclienti" + lclookid = "id_partener" + Endif + + If Inlist(lcActiune, "UPDATE",'INSERT') + lcNume = Nvl(Strtran(Alltrim(Upper(toRec.nume)),['],['']),"") + lcCod_fiscal = Nvl(Strtran(Alltrim(Upper(toRec.cod_fiscal)),['],['']),"") + lctelefon = Nvl(Strtran(Alltrim(Upper(toRec.telefon)),['],['']),"") + lcadresa = Nvl(Strtran(Alltrim(Upper(toRec.adresa)),['],['']),"") + lcbanca = Nvl(Strtran(Alltrim(Upper(toRec.banca)),['],['']),"") + lccont_banca = Nvl(Strtran(Alltrim(Upper(toRec.cont_banca)),['],['']),"") + lcreg_comert = Nvl(Strtran(Alltrim(Upper(toRec.reg_comert)),['],['']),"") + *!* lcJudet = Nvl(STRTRAN(Alltrim(Upper(toRec.judet)),['],['']),"") + *!* lcLocalitate = Nvl(STRTRAN(Alltrim(Upper(toRec.localitate)),['],['']),"") + lcIdLoc = Nvl(Alltrim(Str(toRec.id_loc)),0) + Endif + + + Do Case + Case lcActiune = "INSERT" + lcSql = [begin devpartinsproc('] + gcS + [','] + lcNume + [','] + lcCod_fiscal + [','] + lctelefon +[',']+ lcadresa + [','] +lcbanca + ; + [',']+ lccont_banca + [','] + lcreg_comert + [',] + lcIdLoc + [); end;] + + *!* lcSql = [INSERT INTO ] + gcS + [.nom_parteneri (nume,cod_fiscal,telefon,adresa,banca,cont_banca,reg_comert,id_loc) ] + ; + *!* [VALUES ('] + lcnume + [','] + lccod_fiscal + [','] + lctelefon +[',']+ lcAdresa + [','] +lcbanca + ; + *!* [',']+ lcCont_banca + [',']+ lcReg_comert+[',] + lcIdLoc + [)] + Case lcActiune = "UPDATE" + If pnNivelModificare=-1 + lcSql = [UPDATE ] + gcS + [.nom_parteneri SET nume = '] + lcNume; + +[',cod_fiscal = '] + lcCod_fiscal + [',telefon = '] + lctelefon +; + [',adresa = '] + lcadresa + [',banca = '] + lcbanca + [',cont_banca = '] + lccont_banca + [',reg_comert = ']+lcreg_comert+; + [',id_loc = ] + lcIdLoc + [ where id_part = ] + lcId + ELSE + lcSql = [UPDATE ] + gcS + [.nom_parteneri SET telefon = '] + lctelefon + [' ]+; + [ where id_part = ] + lcId + Endif + Case lcActiune = "DELETE" + + *!* lcSql = [update nom_sectii set sters=1,id_util=]+ALLTRIM(STR(gcidutil))+[,id_modif=seq_modif_nomen.nextval where id_banca=]+lcid + lcSql = [begin nomdelproc('] + lcnom + [','] + lcamp + [',] + lcId + [,'] + lclook + [','] + lclookid + ['); end;] + Endcase + This.csql = lcSql + ENDPROC + +ENDDEFINE + +DEFINE CLASS cus_odata_cod AS _cusodatabase OF "_cus_odata_base.vcx" + *< CLASSDATA: Baseclass="custom" Timestamp="" Scale="Pixels" Uniqueid="" /> + + * + Name = "cus_odata_cod" + * + + PROCEDURE make_sql + Lparameters toRec,tnId + + lcActiune = Alltrim(This.cActiune) + + If Inlist(lcActiune, "UPDATE",'INSERT') And Type('toRec') != "O" + Return .F. + Endif + + If Inlist(lcActiune, "UPDATE",'DELETE') And Type('tnId') != "N" + Return .F. + Endif + + If Inlist(lcActiune, "UPDATE",'DELETE') + lcId = Alltrim(Str(tnId)) + lccod = gcS + ".cod" + Endif + + If Inlist(lcActiune, "UPDATE",'INSERT') + lcocod = Nvl(STRTRAN(Alltrim(Upper(toRec.cod)),['],['']),"") + lcidpart = NVL(STRTRAN(ALLTRIM(UPPER(STR(toRec.id_part))),['],['']),"") + + Endif + + + Do Case + Case lcActiune = "INSERT" + + lcSql = [INSERT INTO ] + gcS + [.parteneri_coduri (cod,id_part,id_util) VALUES ('] + lcocod + [',] + lcidpart + [,?gnIdUtil)] + + Case lcActiune = "UPDATE" + + lcSql = [UPDATE ] + gcS + [.parteneri_coduri SET cod= '] + lcocod + ['] + [ where id = ] + lcId + + Case lcActiune = "DELETE" + lcSql = [begin coddelproc('] + lcid + [',?gnIdUtil); end;] + Endcase + + This.csql = lcSql + + ENDPROC + +ENDDEFINE + +DEFINE CLASS cus_odata_config_cont_ireg AS _cusodatabase OF "_cus_odata_base.vcx" + *< CLASSDATA: Baseclass="custom" Timestamp="" Scale="Pixels" Uniqueid="" /> + + * + Name = "cus_odata_config_cont_ireg" + * + + PROCEDURE make_sql + LPARAMETERS toRec,tnId + + lcActiune = ALLTRIM(THIS.cActiune) + + IF INLIST(lcActiune, "UPDATE",'INSERT') AND TYPE('toRec') != "O" + RETURN .F. + ENDIF + + IF INLIST(lcActiune, "UPDATE",'DELETE') AND TYPE('tnId') != "N" + RETURN .F. + ENDIF + + IF INLIST(lcActiune, "UPDATE",'DELETE') + lcId = ALLTRIM(STR(tnId)) + lcnom = gcS + ".config_cont_ireg" + lcamp = "config_cont_ireg.cont" + *!* lclook = gcS + ".act" + *!* lclookid = "id_tip_part" + ENDIF + + + IF INLIST(lcActiune, "UPDATE",'INSERT') + *lcId_tip_part=ALLTRIM(STR(torec.id_tip_part)) + lcCont = NVL(STRTRAN(ALLTRIM(UPPER(toRec.Cont)),['],['']),"") + lcExplicatie = NVL(STRTRAN(ALLTRIM(UPPER(toRec.Explicatie)),['],['']),"") + lnFel_cont = ALLTRIM(STR(toRec.Fel_Cont)) + lnCu_inregistrari = ALLTRIM(STR(toRec.Cu_Inregistrari)) + lnDupa_venchelt = ALLTRIM(STR(toRec.Cu_venchelt)) + lnDupa_ProcTva = ALLTRIM(STR(toRec.Cu_proc_tva)) + ENDIF + + **MESSAGEBOX("id loc:"+STR(lcId_loc)) + **MESSAGEBOX("id tip part:"+STR(lcId_tip_part)) + + DO CASE + CASE lcActiune = "INSERT" + lcSql = [INSERT INTO ] + gcS + [.config_cont_ireg(Cont,Explicatie,Fel_cont,Cu_inregistrari,cu_venchelt,cu_proc_tva)]+; + +[ VALUES (']+ lcCont + [',']+ lcExplicatie + [',] + lnFel_cont + [,] + lnCu_inregistrari + [,] + lnDupa_venchelt + [,] + lnDupa_procTva + [)] + + CASE lcActiune = "UPDATE" + lcSql = [UPDATE ] + gcS + [.config_cont_ireg SET Cont = '] + lcCont + [',Explicatie = '] + lcExplicatie + [',Fel_cont = ] + lnFel_cont + ; + [,Cu_inregistrari = ] + lnCu_inregistrari + [,Cu_venChelt = ] + lnDupa_venchelt + [,Cu_proc_Tva = ] + lnDupa_ProcTva + ; + [ where id_cont_ireg = ] + lcId + + CASE lcActiune = "DELETE" + + lcSql = [delete ] + gcS + [.config_cont_ireg where id_cont_ireg =]+lcid + + ENDCASE + this.csql = lcSql + + ENDPROC + +ENDDEFINE + +DEFINE CLASS cus_odata_contract AS _cusodatabase OF "_cus_odata_base.vcx" + *< CLASSDATA: Baseclass="custom" Timestamp="" Scale="Pixels" Uniqueid="" /> + + * + Name = "cus_odata_contract" + * + + PROCEDURE make_sql + Lparameters toRec,tnId + Private poRec + poRec = m.toRec + + lcActiune = Alltrim(This.cActiune) + + If Inlist(lcActiune, "UPDATE",'INSERT') And Type('toRec') != "O" + Return .F. + Endif + + If Inlist(lcActiune, "UPDATE",'DELETE') And Type('tnId') != "N" + Return .F. + Endif + + + If Inlist(lcActiune, "UPDATE",'INSERT') + poRec.id_tip_ctr = Nvl(poRec.id_tip_ctr, 0) + poRec.inactiv = Nvl(poRec.inactiv, 0) + poRec.id_tata = Iif(Empty(Nvl(poRec.id_tata,0)),Null, poRec.id_tata) + poRec.id_valuta = Iif(Empty(Nvl(poRec.id_valuta,0)),Null,poRec.id_valuta) + poRec.id_responsabil = Iif(Empty(Nvl(poRec.id_responsabil,0)), Null, poRec.id_responsabil) + Endif + + Do Case + Case Inlist(lcActiune, "INSERT", "UPDATE") + TEXT TO lcSql NOSHOW + begin + pack_def.adauga_modifica_contract(?@pnIdAMS, + ?poRec.id_part, + ?poRec.numar, + ?poRec.data, + ?poRec.data_inceput, + ?poRec.data_sfarsit, + ?poRec.Id_tip_ctr, + ?poRec.inactiv, + ?poRec.tip_istoric, + ?poRec.descriere, + ?poRec.id_tata, + ?poRec.Valftva, + ?poRec.proc_tva, + ?poRec.curs, + ?poRec.id_valuta, + ?poRec.tip_curs, + ?poRec.id_responsabil, + ?poRec.scadenta_incasare, + ?poRec.coef_penalitati, + ?poRec.coef_penalitati2, + ?poRec.zile_penalitati, + ?poRec.zile_penalitati2, + ?poRec.zile_gratie_penalitati, + ?gnIdUtil); + end; + ENDTEXT + + + Case lcActiune = "DELETE" + lcSql = [begin pack_def.sterge_contract(?pnId,?gnIdUtil); end;] + Endcase + + This.csql = lcSql + + ENDPROC + +ENDDEFINE + +DEFINE CLASS cus_odata_coresp_tipuri_conturi AS _cusodatabase OF "_cus_odata_base.vcx" + *< CLASSDATA: Baseclass="custom" Timestamp="" Scale="Pixels" Uniqueid="" /> + + #INCLUDE "..\..\program files\microsoft visual foxpro 8\foxpro.h" + * + Name = "cus_odata_coresp_tipuri_conturi" + * + + PROCEDURE make_sql + LPARAMETERS toRec,tnId + + lcActiune = ALLTRIM(THIS.cActiune) + + IF INLIST(lcActiune, "UPDATE",'INSERT') AND TYPE('toRec') != "O" + RETURN .F. + ENDIF + + IF INLIST(lcActiune, "UPDATE",'DELETE') AND TYPE('tnId') != "N" + RETURN .F. + ENDIF + + IF INLIST(lcActiune, "UPDATE",'DELETE') + lcId = ALLTRIM(STR(tnId)) + lcnom = gcS + ".coresp_tip_cont" + lcamp = "coresp_tip_cont.id_coresp_tip_cont" + *!* lclook = gcS + ".act" + *!* lclookid = "id_tip_part" + ENDIF + + + IF INLIST(lcActiune, "UPDATE",'INSERT') + lcId_tip_part=ALLTRIM(STR(torec.id_tip_part)) + lcCont = NVL(STRTRAN(ALLTRIM(UPPER(toRec.Cont)),['],['']),"") + *lcExplicatie = NVL(STRTRAN(ALLTRIM(UPPER(toRec.Explicatie)),['],['']),"") + *lnFel_cont = ALLTRIM(STR(toRec.Fel_Cont)) + *lnCu_inregistrari = ALLTRIM(STR(toRec.Cu_Inregistrari)) + ENDIF + + **MESSAGEBOX("id loc:"+STR(lcId_loc)) + **MESSAGEBOX("id tip part:"+STR(lcId_tip_part)) + + DO CASE + CASE lcActiune = "INSERT" + *!* lcSql = [INSERT INTO ] + gcS + [.coresp_tip_cont (Id_tip_part,Cont,Explicatie,Fel_cont,Cu_inregistrari)]+; + *!* +[ VALUES (] + lcId_tip_part+[,']+ lcCont + [',']+ lcExplicatie + [',] + lnFel_cont + [,] + lnCu_inregistrari + [)] + lcSql = [INSERT INTO ] + gcS + [.coresp_tip_cont (Id_tip_part,Cont)]+; + +[ VALUES (] + lcId_tip_part+[,']+ lcCont + [')] + + CASE lcActiune = "UPDATE" + *lcSql = [UPDATE ] + gcS + [.coresp_tip_cont SET Id_tip_part = ] + lcId_tip_part +[,Cont = '] + lcCont + [',Explicatie = '] + lcExplicatie + [',Fel_cont = ] + lnFel_cont + [,Cu_inregistrari = ] + lnCu_inregistrari + [ where id_coresp_tip_cont = ] + lcId + lcSql = [UPDATE ] + gcS + [.coresp_tip_cont SET Id_tip_part = ] + lcId_tip_part +[,Cont = '] + lcCont + [' where id_coresp_tip_cont = ] + lcId + + CASE lcActiune = "DELETE" + + lcSql = [delete ] + gcS + [.coresp_tip_cont where id_coresp_tip_cont=]+lcid + + ENDCASE + this.csql = lcSql + + ENDPROC + +ENDDEFINE + +DEFINE CLASS cus_odata_fdoc AS _cusodatabase OF "_cus_odata_base.vcx" + *< CLASSDATA: Baseclass="custom" Timestamp="" Scale="Pixels" Uniqueid="" /> + + #INCLUDE "..\..\program files\microsoft visual foxpro 8\foxpro.h" + * + Name = "cus_odata_fdoc" + * + + PROCEDURE make_sql + Lparameters toRec,tnId + + lcActiune = Alltrim(This.cActiune) + + If Inlist(lcActiune, "UPDATE",'INSERT') And Type('toRec') != "O" + Return .F. + Endif + + If Inlist(lcActiune, "UPDATE",'DELETE') And Type('tnId') != "N" + Return .F. + Endif + + If Inlist(lcActiune, "UPDATE",'DELETE') + lcId = Alltrim(Str(tnId)) + lcnom = gcS + ".nom_fdoc" + lcamp = "nom_fdoc.id_fdoc" + lclook = gcS + ".act" + lclookid = "act.id_fdoc" + Endif + + If Inlist(lcActiune, "UPDATE",'INSERT') + lcfdoc = Nvl(STRTRAN(Alltrim(Upper(toRec.fel_document)),['],['']),"") + lcinactiv = Nvl(ALLTRIM(STR(toRec.inactiv)),"") + lcTip = Nvl(STRTRAN(Alltrim(Upper(toRec.tip_doc)),['],['']),"") + lcPaymentCode = ALLTRIM(NVL(toRec.PaymentCode,'')) + Endif + + + Do Case + Case lcActiune = "INSERT" + + lcSql = [INSERT INTO nom_fdoc (fel_document, tip_doc, inactiv, paymentcode) VALUES ('] + lcfdoc + [','] + lcTip + [',] + lcinactiv + [,'] + m.lcPaymentCode + [')] + + Case lcActiune = "UPDATE" + + lcSql = [UPDATE nom_fdoc SET fel_document = '] + lcfdoc + [', tip_doc = '] + lcTip + [', inactiv =] + lcinactiv + [, paymentcode = '] + m.lcPaymentCode + [' where id_fdoc = ] + lcId + + Case lcActiune = "DELETE" + + *!* lcSql = [update nom_sectii set sters=1,id_util=]+ALLTRIM(STR(gcidutil))+[,id_modif=seq_modif_nomen.nextval where id_banca=]+lcid + lcSql = [begin nomdelproc('] + lcnom + [','] + lcamp + [',] + lcid + [,'] + lclook + [','] + lclookid + ['); end;] + Endcase + + This.csql = lcSql + + ENDPROC + +ENDDEFINE + +DEFINE CLASS cus_odata_gestiuni AS _cusodatabase OF "_cus_odata_base.vcx" + *< CLASSDATA: Baseclass="custom" Timestamp="" Scale="Pixels" Uniqueid="" /> + + #INCLUDE "..\..\program files\microsoft visual foxpro 8\foxpro.h" + * + Name = "cus_odata_gestiuni" + * + + PROCEDURE make_sql + *!* 22.02.2010 + *!* marius.mutu + *!* lcid_sucursala caracter in loc de numeric + + *!* 23.02.2010 + *!* marius.mutu + *!* + lcid_sectie + + *!* 22.02.2010 + *!* marius.mutu + *!* +lcacont_cheltuiala, lcacont_adaos + + Lparameters toRec,tnId + + lcActiune = Alltrim(This.cActiune) + + If Inlist(lcActiune, "UPDATE",'INSERT') And Type('toRec') != "O" + Return .F. + Endif + + If Inlist(lcActiune, "UPDATE",'DELETE') And Type('tnId') != "N" + Return .F. + Endif + + Local lcid_sectie, lcacont_cheltuiala, lcacont_adaos + + If Inlist(lcActiune, "UPDATE",'DELETE') + lcId = Alltrim(Str(tnId)) + *!* ROADEF v 2.0.16 + *!* lcnom = gcS + ".nom_gestiuni" + *!* lcamp = "nom_gestiuni.id_gestiune" + *!* lclook = gcS + ".act" + *!* lclookid1 = "act.id_gestin" + *!* lclookid2 = "act.id_gestout" + *!* ROADEF v 2.0.16 ^ + Endif + + If Inlist(lcActiune, "UPDATE",'DELETE') + lcId = Alltrim(Str(tnId)) + Endif + + If Inlist(lcActiune, "UPDATE",'INSERT') + lcsectie = Nvl(Strtran(Alltrim(Upper(toRec.nume_gestiune)),['],['']),"") + lcgest = Nvl(Upper(Alltrim(toRec.cgest)),"") + lcont = Nvl(Alltrim(toRec.Cont),"") + lnr_pag = Nvl(Alltrim(Str(toRec.nr_pag)),"") + lacont = Nvl(Alltrim(toRec.acont),"") + ****** modificare v 2.0.13 + *!* lcid_sucursala = Nvl(ALLTRIM(STR(toRec.id_sucursala)),[NULL]) + ****** modificare v 2.0.13^ + lcinactiv = Nvl(Alltrim(Str(toRec.inactiv)),"") + *!* 22.02.2010 + lcid_sucursala = Iif(Isnull(toRec.id_sucursala), "NULL", Alltrim(Str(toRec.id_sucursala))) + lcid_responsabil = Iif(Isnull(toRec.id_responsabil), "NULL", Alltrim(Str(toRec.id_responsabil))) + *!* 22.02.2010 ^ + *!* 23.02.2010 + lcid_sectie = Iif(Isnull(toRec.id_sectie), "NULL", Alltrim(Str(toRec.id_sectie))) + *!* 23.02.2010 ^ + *!* 24.02.2010 + lcacont_cheltuiala = Alltrim(Nvl(toRec.acont_cheltuiala,"")) + lcacont_adaos = Alltrim(Nvl(toRec.acont_adaos,"")) + *!* 24.02.2010 ^ + lcid_lucrare = Iif(Isnull(toRec.id_lucrare), "NULL", Alltrim(Str(toRec.id_lucrare))) + lcGestionar = Upper(Alltrim(NVL(toRec.gestionar, ""))) + lcReceptie1 = Upper(Alltrim(NVL(toRec.comisie_receptie1, ""))) + lcReceptie2 = Upper(Alltrim(NVL(toRec.comisie_receptie2, ""))) + lcReceptie3 = Upper(Alltrim(NVL(toRec.comisie_receptie3, ""))) + Endif + + + Do Case + Case lcActiune = "INSERT" + lcSql = [begin pack_def.adauga_gestiune('] + lcsectie + [','] + lcgest + [','] + lcont + [',] + lnr_pag + [,] + ; + ['] + lacont + [',] + lcinactiv +[,]+lcid_sucursala+ [,] + lcid_responsabil + [,] + lcid_sectie + ; + [,'] + lcacont_cheltuiala + [','] + lcacont_adaos + [',] + lcid_lucrare + [,'] + lcGestionar + [','] + lcReceptie1 + [','] + lcReceptie2 + [','] + lcReceptie3 + ['); end;] + + Case lcActiune = "UPDATE" + lcSql = [begin pack_def.modifica_gestiune(] + lcId + [,'] + lcsectie + [','] + lcgest + [','] + lcont + ['] + ; + [,] + lnr_pag + [,'] + lacont + [',] + lcinactiv +[,]+lcid_sucursala + [,] + lcid_responsabil + [,] + lcid_sectie + ; + [,'] + lcacont_cheltuiala + [','] + lcacont_adaos + [',] + lcid_lucrare + [,'] + lcGestionar + [','] + lcReceptie1 + [','] + lcReceptie2 + [','] + lcReceptie3 + ['); end;] + Otherwise + *!* ROADEF v 2.0.16 + *!* lcSql = [begin nomdelproc2('] + lcnom + [','] + lcamp + [',] + lcId + [,'] + lclook + [','] + lclookid1 + [','] + lclook + [','] + lclookid2 + ['); end;] + lcSql = [begin pack_def.sterge_gestiune(] + lcId + [,?gnIdUtil); end;] + *!* ROADEF v 2.0.16 ^ + Endcase + + This.csql = lcSql + + ENDPROC + +ENDDEFINE + +DEFINE CLASS cus_odata_judet AS _cusodatabase OF "_cus_odata_base.vcx" + *< CLASSDATA: Baseclass="custom" Timestamp="" Scale="Pixels" Uniqueid="" /> + + #INCLUDE "..\..\program files\microsoft visual foxpro 8\foxpro.h" + * + Name = "cus_odata_judet" + * + + PROCEDURE make_sql + Lparameters toRec,tnId + + lcActiune = Alltrim(This.cActiune) + + If Inlist(lcActiune, "UPDATE",'INSERT') And Type('toRec') != "O" + Return .F. + Endif + + If Inlist(lcActiune, "UPDATE",'DELETE') And Type('tnId') != "N" + Return .F. + Endif + + If Inlist(lcActiune, "UPDATE",'DELETE') + lcId = Alltrim(Str(tnId)) + *!* lcnom = "syn_nom_judete" + *!* lcamp = "syn_nom_judete.id_judet" + *!* lclook = "syn_nom_localitati" + *!* lclookid = "nom_localitati.id_judet" + Endif + + If Inlist(lcActiune, "UPDATE",'INSERT') + lcjud = Nvl(STRTRAN(Alltrim(Upper(toRec.judet)),['],['']),"") + lcinactiv = Nvl(ALLTRIM(STR(toRec.inactiv)),"") + lcindicativ = Nvl(ALLTRIM(toRec.indicativ),"") + lcidtara = NVL(ALLTRIM(STR(toRec.id_tara)),"") + Endif + + + Do Case + Case lcActiune = "INSERT" + *!* lcSql = [INSERT INTO ] + gcS + [.nom_judete (judet,indicativ,inactiv) VALUES ('] + lcjud + [','] + lcindicativ + [', ] + lcinactiv + [)] + lcSql = [begin syn_pack_def_co.adauga_judet(']+lcjud+[',']+lcindicativ+[',]+lcidtara+[,]+lcinactiv+[);end;] + Case lcActiune = "UPDATE" + *!* lcSql = [UPDATE ] + gcS + [.nom_judete SET judet = '] + lcjud + [',indicativ = '] + lcindicativ + [',inactiv = ] + lcinactiv + [ where id_judet = ] + lcId + lcSql = [begin syn_pack_def_co.modifica_judet(]+lcId+[,']+lcjud+[',']+lcindicativ+[',]+lcidtara+[,]+lcinactiv+[);end;] + Case lcActiune = "DELETE" + *!* lcSql = [update nom_sectii set sters=1,id_util=]+ALLTRIM(STR(gcidutil))+[,id_modif=seq_modif_nomen.nextval where id_banca=]+lcid + *!* lcSql = [begin nomdelproc('] + lcnom + [','] + lcamp + [',] + lcid + [,'] + lclook + [','] + lclookid + ['); end;] + lcSql = [begin syn_pack_def_co.sterge_judet(]+lcid+[);end;] + Endcase + + This.csql = lcSql + + ENDPROC + +ENDDEFINE + +DEFINE CLASS cus_odata_localitati AS _cusodatabase OF "_cus_odata_base.vcx" + *< CLASSDATA: Baseclass="custom" Timestamp="" Scale="Pixels" Uniqueid="" /> + + #INCLUDE "..\..\program files\microsoft visual foxpro 8\foxpro.h" + * + Name = "cus_odata_localitati" + * + + PROCEDURE make_sql + Lparameters toRec,tnId + + lcActiune = Alltrim(This.cActiune) + + If Inlist(lcActiune, "UPDATE",'INSERT') And Type('toRec') != "O" + Return .F. + Endif + + If Inlist(lcActiune, "UPDATE",'DELETE') And Type('tnId') != "N" + Return .F. + Endif + + If Inlist(lcActiune, "UPDATE",'DELETE') + lcId = Alltrim(Str(tnId)) + *!* lcnom = gcS + ".nom_localitati" + *!* lcamp = "nom_localitati.id_loc" + *!* lclook = gcS + ".nom_parteneri" + *!* lclookid = "nom_parteneri.id_loc" + Endif + + If Inlist(lcActiune, "UPDATE",'INSERT') + lcloc = Nvl(STRTRAN(Alltrim(Upper(toRec.localitate_s)),['],['']),"") + lcid_judet = Nvl(ALLTRIM(STR(toRec.id_judet)),"NULL") + lcinactiv = Nvl(ALLTRIM(STR(toRec.inactiv)),"0") + lcSiruta = Nvl(ALLTRIM(STR(toRec.siruta)),"NULL") + lcIdTara = NVL(ALLTRIM(STR(toRec.id_tara)),"NULL") + lcExplicatie = NVL(ALLTRIM(toRec.explicatie),"") + Endif + + + Do Case + Case lcActiune = "INSERT" + *!* lcSql = [INSERT INTO ] + gcS + [.nom_localitati (localitate,id_judet,siruta,inactiv) VALUES ('] + lcloc + [',] + lcid_judet + [,] + lcSiruta + [,] + lcinactiv + [)] + lcSql = [begin syn_pack_def_co.adauga_localitate(']+lcLoc+[',']+lcExplicatie+[',]+lcIdTara+[,]+lcid_judet+[,]+lcSiruta+[,]+; + lcInactiv+[); end;] + Case lcActiune = "UPDATE" + *!* lcSql = [UPDATE ] + gcS + [.nom_localitati SET localitate = '] + lcloc +[',id_judet = ] + lcid_judet + [,siruta=] + lcSiruta + [,inactiv = ] + lcinactiv + [ where id_loc = ] + lcId + lcSql = [begin syn_pack_def_co.modifica_localitate(]+lcId+[,']+lcLoc+[',']+lcExplicatie+[',]+lcIdTara+[,]+lcid_judet+[,]+; + lcSiruta+[,]+lcInactiv+[); end;] + Case lcActiune = "DELETE" + *!* *!* lcSql = [update nom_sectii set sters=1,id_util=]+ALLTRIM(STR(gcidutil))+[,id_modif=seq_modif_nomen.nextval where id_banca=]+lcid + *!* lcSql = [begin nomdelproc('] + lcnom + [','] + lcamp + [',] + lcid + [,'] + lclook + [','] + lclookid + ['); end;] + lcSql = [begin syn_pack_def_co.sterge_localitate(]+lcId+[); end;] + Endcase + + This.csql = lcSql + + ENDPROC + +ENDDEFINE + +DEFINE CLASS cus_odata_lucrari AS _cusodatabase OF "..\..\..\roagest\comun\clase\_cus_odata_base.vcx" + *< CLASSDATA: Baseclass="custom" Timestamp="" Scale="Pixels" Uniqueid="" /> + + #INCLUDE "..\..\program files\microsoft visual foxpro 8\foxpro.h" + * + Name = "cus_odata_lucrari" + * + + PROCEDURE make_sql + Lparameters toRec,tnId + + lcActiune = Alltrim(This.cActiune) + + If Inlist(lcActiune, "UPDATE",'INSERT') And Type('toRec') != "O" + Return .F. + Endif + + If Inlist(lcActiune, "UPDATE",'DELETE') And Type('tnId') != "N" + Return .F. + Endif + + If Inlist(lcActiune, "UPDATE",'DELETE') + lcId = Alltrim(Str(tnId)) + lcnom = gcS + ".nom_lucrari" + lcamp = "id_lucrare" + lclook = gcS + ".act" + lclookid = "id_lucrare" + Endif + + If Inlist(lcActiune, "UPDATE",'INSERT') + lcnrord = Nvl(STRTRAN(Alltrim(Upper(toRec.nrord)),['],['']),"") + lcinactiv = Nvl(ALLTRIM(STR(toRec.inactiv)),"") + IF EMPTY(toRec.id_tata) OR ISNULL(toRec.id_tata) + lcParentId = "NULL" + ELSE + lcParentId = NVL(TRANSFORM(toRec.id_tata),"NULL") + ENDIF + Endif + + + Do Case + Case lcActiune = "INSERT" + lcSql = [begin ] + gcS + [.pack_def.adauga_lucrare('] + lcnrord + [',] + lcParentId + [,] + lcinactiv +[); end;] + + Case lcActiune = "UPDATE" + + lcSql = [begin ] + gcS + [.pack_def.modifica_lucrare(] + lcId + [,'] + lcnrord + [',] + lcParentId + [,] + lcinactiv + [); end;] + + Case lcActiune = "DELETE" + + lcSql = [begin nomdelproc('] + lcnom + [','] + lcamp + [',] + lcid + [,'] + lclook + [','] + lclookid + ['); end;] + Endcase + + This.csql = lcSql + + ENDPROC + +ENDDEFINE + +DEFINE CLASS cus_odata_medii_transmisie AS _cusodatabase OF "_cus_odata_base.vcx" + *< CLASSDATA: Baseclass="custom" Timestamp="" Scale="Pixels" Uniqueid="" /> + + #INCLUDE "..\..\program files\microsoft visual foxpro 8\foxpro.h" + * + Name = "cus_odata_medii_transmisie" + * + + PROCEDURE make_sql + Lparameters toRec,tnId + + lcActiune = Alltrim(This.cActiune) + + If Inlist(lcActiune, "UPDATE",'INSERT') And Type('toRec') != "O" + Return .F. + Endif + + If Inlist(lcActiune, "UPDATE",'DELETE') And Type('tnId') != "N" + Return .F. + Endif + + If Inlist(lcActiune, "UPDATE",'DELETE') + lcId = Alltrim(Str(tnId)) + lcnom = "nom_medii_transmisie" + lcamp = "nom_medii_transmisie.id_mediu" + lclook = "" + lclookid = "" + Endif + + If Inlist(lcActiune, "UPDATE",'INSERT') + lcMediu_transmisie = Nvl(STRTRAN(Alltrim(Upper(toRec.mediu_transmisie)),['],['']),"") + *lcinactiv = Nvl(ALLTRIM(STR(toRec.inactiv)),"") + + Endif + + + Do Case + Case lcActiune = "INSERT" + + lcSql = [INSERT INTO nom_medii_transmisie (mediu_transmisie) VALUES ('] + lcMediu_transmisie + [')] + + Case lcActiune = "UPDATE" + + lcSql = [UPDATE nom_medii_transmisie SET mediu_transmisie = '] + lcMediu_transmisie + [' where id_mediu = ] + lcId + + Case lcActiune = "DELETE" + + lcSql = [begin nomdelproc('] + lcnom + [','] + lcamp + [',] + lcid + [,'] + lclook + [','] + lclookid + ['); end;] + Endcase + + This.csql = lcSql + + ENDPROC + +ENDDEFINE + +DEFINE CLASS cus_odata_parteneri AS _cusodatabase OF "_cus_odata_base.vcx" + *< CLASSDATA: Baseclass="custom" Timestamp="" Scale="Pixels" Uniqueid="" /> + + #INCLUDE "..\..\..\program files\microsoft visual foxpro 8\foxpro.h" + * + Height = 18 + Name = "cus_odata_parteneri" + Width = 18 + * + + PROCEDURE make_sql + Lparameters toRec, tnId + + Local lcActiune, lcBanca, lcCod_fiscal, lcCod_fiscal2, lcCont_Banca, lcCorespDel, lcDenumire, lcId + Local lcIdString, lcId_categ_ent, lcId_loc_inreg, lcId_util, lcMotiv_inactiv, lcNume, lcPrefix + Local lcPrenume, lcReg_comert, lcSql, lcSufix, lcTip_persoana, lcamp, lcinactiv, lclook, lcnom + LOCAL lcSwiftBanca, lcAdresaBanca, lcInstitutiePublica + PRIVATE pnIdPart + pnIdPart = IIF(!EMPTY(NVL(tnId,0)), m.tnId, 0) + lcActiune = Alltrim(This.cActiune) + lcId_util = Alltrim(Str(gnidutil)) + lcDenumire = '' + lcNume = '' + lcPrenume = '' + lcCod_fiscal = '' + lcCod_fiscal2 = '' + lcReg_comert = '' + lcId_loc_inreg = 'NULL' + lcId_categ_ent = 'NULL' + lcPrefix = "" + lcSufix = "" + lcTip_persoana = "0" + lcBanca = "" + lcCont_Banca = "" + lcinactiv = "0" + lcMotiv_inactiv = "" + lcIdString = "" + lcCorespDel = "" + lcSwiftBanca = "" + lcAdresaBanca = "" + lcInstitutiePublica = "0" + lcId = ALLTRIM(STR(m.pnIdPart)) + + If Inlist(lcActiune, "UPDATE", 'INSERT') And Type('toRec') != "O" + Return .F. + Endif + + If Inlist(lcActiune, "UPDATE", 'DELETE') And Type('tnId') != "N" + Return .F. + Endif + + *!* If Inlist(lcActiune, "UPDATE", 'DELETE') + *!* lcId = Alltrim(Str(tnId)) + *!* lcnom = gcS + ".nom_parteneri" + *!* lcamp = "id_part" + *!* lclook = "vact.id_partd;vact.id_partc" + *!* Endif + + If Inlist(lcActiune, "UPDATE", 'INSERT') + lcDenumire = Nvl(Strtran(Alltrim(Upper(toRec.denumire)), ['], ['']), "") + lcCod_fiscal = Nvl(Alltrim(Upper(toRec.cod_fiscal)), "") + If Pemstatus(toRec, 'nume', 5) + lcNume = Nvl(Strtran(Alltrim(Upper(toRec.Nume)), ['], ['']), "") + Endif + If Pemstatus(toRec, 'prenume', 5) + lcPrenume = Nvl(Strtran(Alltrim(Upper(toRec.Prenume)), ['], ['']), "") + Endif + If Empty(m.lcNume) + lcNume = m.lcDenumire + lcPrenume = '' + Endif + If Pemstatus(toRec, 'cod_fiscal2', 5) + lcCod_fiscal2 = Nvl(Alltrim(Upper(toRec.cod_fiscal2)), "") + Endif + If Pemstatus(toRec, 'reg_comert', 5) + lcReg_comert = Nvl(Alltrim(Upper(toRec.reg_comert)), "") + Endif + If Pemstatus(toRec, 'id_loc_inreg', 5) + lcId_loc_inreg = Iif(Nvl(toRec.id_loc_inreg, 0) = 0, 'NULL', Alltrim(Str(toRec.id_loc_inreg))) + Endif + If Pemstatus(toRec, 'id_categorie_entitate', 5) + lcId_categ_ent = Iif(Nvl(toRec.id_categorie_entitate, 0) = 0, 'NULL', Alltrim(Str(toRec.id_categorie_entitate))) + Endif + If Pemstatus(toRec, 'prefix', 5) + lcPrefix = Nvl(Alltrim(Upper(toRec.prefix)), "") + Endif + If Pemstatus(toRec, 'sufix', 5) + lcSufix = Nvl(Alltrim(Upper(toRec.sufix)), "") + Endif + If Pemstatus(toRec, 'tip_persoana', 5) + lcTip_persoana = Nvl(Alltrim(Str(toRec.tip_persoana)), "0") + Endif + If Pemstatus(toRec, 'banca', 5) + lcBanca = Nvl(Alltrim(Upper(toRec.Banca)), "") + Endif + If Pemstatus(toRec, 'cont_banca', 5) + lcCont_Banca = Nvl(Alltrim(Upper(toRec.Cont_Banca)), "") + Endif + If Pemstatus(toRec, 'inactiv', 5) + lcinactiv = Nvl(Alltrim(Str(toRec.inactiv)), "0") + Endif + If Pemstatus(toRec, 'motiv_inactiv', 5) + lcMotiv_inactiv = Nvl(Alltrim(Upper(toRec.motiv_inactiv)), "") + Endif + If Pemstatus(toRec, 'tip_partener', 5) + lcIdString = Nvl(Alltrim(Upper(Transform(toRec.tip_partener))), "") + If(Right(lcIdString, 1) # ';') + lcIdString = lcIdString + ";" + Endif + Endif + If Pemstatus(toRec, 'ccorespdel', 5) + lcCorespDel = Nvl(Alltrim(toRec.ccorespdel), "") + Endif + If Pemstatus(toRec, 'swift_banca', 5) + lcSwiftBanca = Nvl(Alltrim(toRec.swift_banca), "") + Endif + If Pemstatus(toRec, 'adresa_banca', 5) + lcAdresaBanca = Nvl(Alltrim(toRec.adresa_banca), "") + Endif + If Pemstatus(toRec, 'institutie_publica', 5) + lcInstitutiePublica = Nvl(Alltrim(Str(toRec.institutie_publica)), "0") + Endif + + Endif + + + Do Case + Case Inlist(lcActiune, "INSERT", "UPDATE") + lcSql = [begin pack_def.adauga_modifica_partener(?@pnIdPart, '] + lcDenumire + [','] + lcNume + [','] + lcPrenume + [','] + lcCod_fiscal + [','] + lcCod_fiscal2 + [','] + ; + lcReg_comert + [',] + lcId_loc_inreg + [,] + lcId_categ_ent + [,'] + lcPrefix + [','] + lcSufix + [',] + ; + lcTip_persoana + [,'] + lcBanca + [','] + lcCont_Banca + [',] + lcinactiv + [,'] + lcMotiv_inactiv + [',] + ; + lcId_util + [,'] + lcIdString + [','] + lcCorespDel + [','] + lcSwiftBanca + [','] + lcAdresaBanca + [',] + m.lcInstitutiePublica + [); end;] + Case lcActiune = "DELETE" + lcSql = [begin pack_def.sterge_partener(] + lcId + [,] + lcId_util + [); end;] + Endcase + This.csql = lcSql + *STRTOFILE(lcsql,'c:\sql.txt') + + ENDPROC + +ENDDEFINE + +DEFINE CLASS cus_odata_parteneri_2 AS _cusodatabase OF "_cus_odata_base.vcx" + *< CLASSDATA: Baseclass="custom" Timestamp="" Scale="Pixels" Uniqueid="" /> + + #INCLUDE "..\..\program files\microsoft visual foxpro 8\foxpro.h" + * + lsilent = .F. + Name = "cus_odata_parteneri_2" + * + + PROCEDURE make_sql + LPARAMETERS toRec,tnId + + lcActiune = ALLTRIM(THIS.cActiune) + lcId_util = ALLTRIM(STR(gnidutil)) + + IF INLIST(lcActiune, "UPDATE",'INSERT') AND TYPE('toRec') != "O" + RETURN .F. + ENDIF + + IF INLIST(lcActiune, "UPDATE",'DELETE') AND TYPE('tnId') != "N" + RETURN .F. + ENDIF + + IF INLIST(lcActiune, "UPDATE",'DELETE') + lcId = ALLTRIM(STR(tnId)) + lcnom = gcS + ".nom_parteneri" + lcamp = "id_part" + lclook = "vact.id_partd;vact.id_partc" + ENDIF + + IF INLIST(lcActiune, "UPDATE",'INSERT') + lcDenumire = NVL(STRTRAN(ALLTRIM(UPPER(toRec.denumire)),['],['']),"") + lcNume = NVL(STRTRAN(ALLTRIM(UPPER(toRec.Nume)),['],['']),"") + lcPrenume = NVL(STRTRAN(ALLTRIM(UPPER(toRec.Prenume)),['],['']),"") + lcCod_fiscal = NVL(ALLTRIM(UPPER(toRec.cod_fiscal)),"") + lcReg_comert = NVL(ALLTRIM(UPPER(toRec.reg_comert)),"") + lcId_loc_inreg = Nvl(ALLTRIM(STR(toRec.id_loc_inreg)),[NULL]) + IF lcId_loc_inreg = '0' + lcId_loc_inreg = 'NULL' + ENDIF + lcId_categ_ent = NVL(ALLTRIM(STR(toRec.id_categorie_entitate)),[NULL]) + IF lcId_categ_ent = '0' + lcId_categ_ent = 'NULL' + ENDIF + lcPrefix = NVL(ALLTRIM(UPPER(toRec.prefix)),"") + lcSufix = NVL(ALLTRIM(UPPER(toRec.sufix)),"") + *IF thisform.op + lcTip_persoana = Nvl(ALLTRIM(STR(toRec.tip_persoana)),"0") + + lcBanca = NVL(ALLTRIM(UPPER(toRec.Banca)),"") + lcCont_Banca = NVL(ALLTRIM(UPPER(toRec.Cont_Banca)),"") + + lcinactiv = Nvl(ALLTRIM(STR(toRec.inactiv)),"0") + lcMotiv_inactiv = NVL(ALLTRIM(UPPER(toRec.motiv_inactiv)),"") + + lcIdString = NVL(ALLTRIM(UPPER(toRec.tip_partener)),"") + lcCorespDel = NVL(ALLTRIM(toRec.ccorespdel),"") + ENDIF + + + DO CASE + CASE lcActiune = "INSERT" + lcSql = [begin pack_def.adauga_partener(']+lcDenumire+[',']+lcNume+[',']+lcPrenume+[',']+lcCod_fiscal+[',']+; + lcReg_comert+[',]+lcId_loc_inreg+[,]+lcId_categ_ent +[,']+lcPrefix+[',']+lcSufix+[',]+; + lcTip_persoana+[,']+lcBanca+[',']+lcCont_banca+[',]+lcInactiv+[,']+lcMotiv_inactiv+[',]+; + lcId_util+[,']+lcIdString+[',']+lcCorespDel+[',?@pnIdPart); end;] + + CASE lcActiune = "UPDATE" + lcSql = [begin pack_def.modifica_partener(]+lcId+[,']+lcDenumire+[',']+lcNume+[',']+lcPrenume+[',']+; + lcCod_fiscal+[',']+lcReg_comert+[',]+lcId_loc_inreg+[,]+lcId_categ_ent +[,']+lcPrefix+[',']+; + lcSufix+[',]+lcTip_persoana+[,']+lcBanca+[',']+lcCont_banca+[',]+lcInactiv+[,']+lcMotiv_inactiv+; + [',]+lcId_util+[,']+lcIdString+[',']+lcCorespDel+['); end;] + + CASE lcActiune = "DELETE" + lcSql = [begin pack_def.sterge_partener(] + lcId+ [,]+lcId_util + [); end;] + ENDCASE + this.csql = lcSql + *STRTOFILE(lcsql,'c:\sql.txt') + + ENDPROC + +ENDDEFINE + +DEFINE CLASS cus_odata_parteneri_adrese AS _cusodatabase OF "_cus_odata_base.vcx" + *< CLASSDATA: Baseclass="custom" Timestamp="" Scale="Pixels" Uniqueid="" /> + + #INCLUDE "..\..\program files\microsoft visual foxpro 8\foxpro.h" + * + Name = "cus_odata_parteneri_adrese" + * + + PROCEDURE make_sql + LPARAMETERS toRec,tnId + + lcActiune = ALLTRIM(THIS.cActiune) + lcId_util = ALLTRIM(STR(gnidutil)) + + IF INLIST(lcActiune, "UPDATE",'INSERT') AND TYPE('toRec') != "O" + RETURN .F. + ENDIF + + IF INLIST(lcActiune, "UPDATE",'DELETE') AND TYPE('tnId') != "N" + RETURN .F. + ENDIF + + IF INLIST(lcActiune, "UPDATE",'DELETE') + lcId = ALLTRIM(STR(tnId)) + ENDIF + + IF INLIST(lcActiune, "UPDATE",'INSERT') + lcDenumire_adresa = NVL(ALLTRIM(UPPER(toRec.denumire_adresa)),"") + lcDA_apare = ALLTRIM(STR(toRec.da_apare)) + lcStrada = NVL(ALLTRIM(UPPER(toRec.strada)),"") + lcNumar = NVL(ALLTRIM(UPPER(toRec.numar)),"") + + lcBloc = NVL(ALLTRIM(UPPER(toRec.BLOC)),"") + lcScara = NVL(ALLTRIM(UPPER(toRec.scara)),"") + lcApart = NVL(ALLTRIM(UPPER(toRec.apart)),"") + lcEtaj = NVL(ALLTRIM(toRec.etaj),"") + lcId_loc = NVL(ALLTRIM(STR(toRec.Id_loc)),"NULL") + lcLocalitate = ALLTRIM(toRec.localitate) + lcId_Judet = NVL(ALLTRIM(STR(toRec.Id_judet)),"NULL") + lcCodpostal = NVL(ALLTRIM(STR(toRec.codpostal)),"NULL") + lcId_tara = NVL(ALLTRIM(STR(toRec.Id_tara)),"NULL") + lcTelefon1 = NVL(ALLTRIM(UPPER(toRec.Telefon1)),"") + lcTelefon2 = NVL(ALLTRIM(UPPER(toRec.Telefon2)),"") + lcFax = NVL(ALLTRIM(UPPER(toRec.fax)),"") + lcEmail = NVL(ALLTRIM(toRec.email),"") + lcWeb = NVL(ALLTRIM(toRec.web),"") + lcPrincipala = NVL(ALLTRIM(STR(toRec.principala)),"0") + lcinactiv = NVL(ALLTRIM(STR(toRec.inactiv)),"0") + lcIdPart = NVL(ALLTRIM(STR(toRec.id_part)),"") + IF lcId_Judet = "0" + lcId_Judet = 'NULL' + ENDIF + IF lcId_tara = "0" + lcId_tara = 'NULL' + ENDIF + IF lcId_loc = "0" + lcId_loc = 'NULL' + ENDIF + ENDIF + + DO CASE + CASE lcActiune = "INSERT" + lcSql = [begin pack_def.adauga_adresa_partener2(]+lcIdPart + [,']+ lcDenumire_adresa+[',] + lcDA_apare + [,] + ; + [']+lcStrada+[',']+lcNumar + [','] +; + lcBloc+[',']+lcScara+[',']+lcApart+[',']+lcEtaj+[',]+lcId_loc+[,']+lcLocalitate+[',]+lcId_Judet+[,]+lcCodpostal+[,]+lcId_tara+[,']+; + lcTelefon1+[',']+lcTelefon2+[',']+lcFax+[',']+lcEmail+[',']+lcWeb+[',]+; + lcPrincipala+[,]+lcinactiv+[,]+lcId_util+[,?@pnIdAdresa); end;] + + CASE lcActiune = "UPDATE" + lcSql = [begin pack_def.modifica_adresa_partener2(]+lcId+[,']+lcDenumire_adresa+[',] + lcDA_apare + [,] + ; + [']+lcStrada+[',']+lcNumar + [','] +; + lcBloc+[',']+lcScara+[',']+lcApart+[',']+lcEtaj+[',]+lcId_loc+[,']+lcLocalitate+[',]+lcId_Judet+[,]+lcCodpostal+[,]+lcId_tara+[,']+; + lcTelefon1+[',']+lcTelefon2+[',']+lcFax+[',']+lcEmail+[',']+lcWeb+[',]+; + lcPrincipala+[,]+lcinactiv+[,]+lcId_util+[); end;] + + CASE lcActiune = "DELETE" + lcSql = [begin pack_def.sterge_adresa_partener(]+lcId+[,]+lcId_util+[); end;] + ENDCASE + + THIS.csql = lcSql + + ENDPROC + +ENDDEFINE + +DEFINE CLASS cus_odata_pers_contact AS _cusodatabase OF "_cus_odata_base.vcx" + *< CLASSDATA: Baseclass="custom" Timestamp="" Scale="Pixels" Uniqueid="" /> + + #INCLUDE "..\..\program files\microsoft visual foxpro 8\foxpro.h" + * + Name = "cus_odata_pers_contact" + * + + PROCEDURE make_sql + LPARAMETERS toRec,tnId + + lcActiune = ALLTRIM(THIS.cActiune) + lcId_util = ALLTRIM(STR(gnidutil)) + + IF INLIST(lcActiune, "UPDATE",'INSERT') AND TYPE('toRec') != "O" + RETURN .F. + ENDIF + + IF INLIST(lcActiune, "UPDATE",'DELETE') AND TYPE('tnId') != "N" + RETURN .F. + ENDIF + + IF INLIST(lcActiune, "UPDATE",'DELETE') + lcId = ALLTRIM(STR(tnId)) + ENDIF + + IF INLIST(lcActiune, "UPDATE",'INSERT') + lcNume = NVL(ALLTRIM(UPPER(toRec.nume)),"") + lcPrenume = NVL(ALLTRIM(UPPER(toRec.prenume)),"") + + lcApelativ = NVL(ALLTRIM(UPPER(toRec.apelativ)),"") + lcFunctia = NVL(ALLTRIM(UPPER(toRec.functia)),"") + + lcTelefon = NVL(ALLTRIM(UPPER(toRec.telefon)),"") + lcEmail = NVL(ALLTRIM(UPPER(toRec.email)),"") + + lcPrincipal = NVL(ALLTRIM(STR(toRec.principal)),"0") + lcInactiv = Nvl(ALLTRIM(STR(toRec.inactiv)),"0") + ENDIF + + + *!* DO CASE + *!* CASE lcActiune = "INSERT" + *!* lcSql = [begin nompartinsproc(']+gcS+[',']+LCNUME+[',']+lcCod_fiscal+[',']+lcReg_comert+[',']+lcAdresa+[',]+ALLTRIM(STR(lcId_loc))+[,']+lcBloc+[',']+lcScara+[',']+lcApartament+[',']+lcTelefon+[',']+lcBanca+[',']+lcCont_banca+[',']+lcZona+[',]+lcInactiv+[,']+lcIdString+[') ;end;] + + *!* CASE lcActiune = "UPDATE" + *!* lcSql = [begin nompartmodproc(']+gcS+[',]+lcunid+[,']+LCNUME+[',']+lcCod_fiscal+[',']+lcReg_comert+[',']+lcAdresa+[',]+ALLTRIM(STR(lcId_loc))+[,']+lcBloc+[',']+lcScara+[',']+lcApartament+[',']+lcTelefon+[',']+lcBanca+[',']+lcCont_banca+[',']+lcZona+[',]+lcInactiv+[,']+lcIdString+[') ;end;] + *!* + *!* CASE lcActiune = "DELETE" + *!* lcSql = [begin NOMDELPROCN('] + GCS + [','] + lcnom + [','] + lcamp + [',] + lcid + [,'] + lclook + ['); end;] + *!* ENDCASE + + Do Case + Case lcActiune = "INSERT" + lcSql = [begin pack_def.adauga_pers_contact(]+ALLTRIM(STR(pnId_part)) + [,']+ lcNume+[',']+lcPrenume+[',']+lcApelativ+ [','] +; + lcFunctia+[',']+lcTelefon+[',']+lcEmail+[',]+lcPrincipal+[,]+lcInactiv+[,]+lcId_util+[); end;] + + Case lcActiune = "UPDATE" + lcSql = [begin pack_def.modifica_pers_contact(]+lcId+[,']+ lcNume+[',']+lcPrenume+[',']+lcApelativ+ [','] +; + lcFunctia+[',']+lcTelefon+[',']+lcEmail+[',]+lcPrincipal+[,]+lcInactiv+[,]+lcId_util+[); end;] + + Case lcActiune = "DELETE" + lcSql = [begin pack_def.sterge_pers_contact(]+lcId+[,]+lcId_util+[); end;] + ENDCASE + + this.csql = lcSql + + ENDPROC + +ENDDEFINE + +DEFINE CLASS cus_odata_plcont AS _cusodatabase OF "_cus_odata_base.vcx" + *< CLASSDATA: Baseclass="custom" Timestamp="" Scale="Pixels" Uniqueid="" /> + + #INCLUDE "..\..\program files\microsoft visual foxpro 8\foxpro.h" + * + Name = "cus_odata_plcont" + * + + PROCEDURE make_sql + Lparameters toRec, tnId + + *!* 03.01.2006 + *!* MARIUS.MUTU - MODIFICAT lcLookupFields sa caute in BAL si BALANA + + Local lan, lcActiune, lcId, lcIdField, lcLookupFields, lcLookupValue, lcLookupValueType, lcSchema + Local lcSql, lcTable, lcacont, lcCod, lcexpl, lcexpls, lcinactiv, lcnefolosit + Local lcont, lcont_alt, lnIdValue, ltipc, ltips + Local lcContAlt + lcActiune = Alltrim(This.cActiune) + + If Inlist(lcActiune, "UPDATE", 'INSERT') And Type('toRec') != "O" + Return .F. + Endif + + If Inlist(lcActiune, "UPDATE", 'DELETE') And Type('tnId') != "N" + Return .F. + Endif + + If Inlist(lcActiune, "UPDATE", 'DELETE') + lcSchema = gcS + lcTable = [plcont] + lcIdField = [id_plcont] + lnIdValue = tnId + *!* lcLookupFields = [ACT.SCD || ''.'' || NVL(ASCD,''XXXX'');ACT.SCC || ''.'' || NVL(ASCC,''XXXX'')] + lcLookupFields = [BAL.CONT || ''.XXXX'';BALANA.CONT || ''.'' || NVL(ACONT,''XXXX'')] + lcLookupValue = [CONT || ''.'' || NVL(ACONT,''XXXX'')] + lcLookupValueType = [C] + lcId = Alltrim(Str(tnId)) + Endif + + If Inlist(lcActiune, "UPDATE", 'INSERT') + lcexpl = Nvl(Strtran(Alltrim(Upper(toRec.explicatie)), ['], ['']), "") + lcacont = Nvl(Alltrim(toRec.acont), "") + lcont = Nvl(Alltrim(toRec.Cont), "") + lcContAlt = Nvl(Alltrim(toRec.cont_alt), "") + lcCod = Nvl(Alltrim(toRec.cod), "") + ltips = Nvl(Alltrim(toRec.tip_sold), "") + lan = Nvl(Alltrim(Str(toRec.an)), "") + ltipc = Nvl(Alltrim(Str(toRec.tip_cont)), "") + lcinactiv = Nvl(Alltrim(Str(toRec.inactiv)), "") + lcnefolosit = Nvl(Alltrim(Str(toRec.nefolosit)), "") + lcexpls = Nvl(Strtran(Alltrim(Upper(toRec.explicaties)), ['], ['']), "") + Endif + + + Do Case + Case lcActiune = "INSERT" + + lcSql = [INSERT INTO ] + gcS + [.plcont (explicatie,acont,cont,tip_sold,an,tip_cont,inactiv,nefolosit,explicaties, cont_alt, cod) VALUES ('] + ; + lcexpl + [','] + lcacont + [','] + lcont + [','] + ltips + [',] + lan + [,] + ltipc + [,] + lcinactiv + [,] + lcnefolosit + [,'] + lcexpls + [','] + lcContAlt + [','] + lcCod + [')] + + Case lcActiune = "UPDATE" + + lcSql = [UPDATE ] + gcS + [.plcont SET explicatie = '] + lcexpl + ; + [',acont = '] + lcacont + [',cont ='] + lcont + [',tip_sold ='] + ltips + [',an =] + lan + [,tip_cont =] + ltipc + [,inactiv = ] + lcinactiv + ; + [,nefolosit = ] + lcnefolosit + [,explicaties = '] + lcexpls + [',] + ; + [cont_alt ='] + lcContAlt + [',cod = '] + m.lcCod + ['] + ; + [ where id_plcont = ] + lcId + + Case lcActiune = "DELETE" + *!* lcsql = [delete from ]+gcs+[.plcont where id_plcont=]+lcid + lcSql = [begin pack_nomenclatoare.nomdelete('] + lcSchema + [','] + lcTable + ; + [','] + lcIdField + [',] + Transform(lnIdValue) + [,'] + lcLookupFields + [','] + lcLookupValue + ; + [','] + lcLookupValueType + ['); end;] + Endcase + + This.csql = lcSql + + ENDPROC + +ENDDEFINE + +DEFINE CLASS cus_odata_proiecte AS _cusodatabase OF "_cus_odata_base.vcx" + *< CLASSDATA: Baseclass="custom" Timestamp="" Scale="Pixels" Uniqueid="" /> + + #INCLUDE "..\..\..\program files\microsoft visual foxpro 8\foxpro.h" + * + Name = "cus_odata_proiecte" + * + + PROCEDURE make_sql + Lparameters toRec,tnId + lcActiune = Alltrim(This.cActiune) + + If Inlist(lcActiune, "UPDATE",'INSERT') And Type('toRec') != "O" + Return .F. + Endif + + If Inlist(lcActiune, "UPDATE",'DELETE') And Type('tnId') != "N" + Return .F. + Endif + + If Inlist(lcActiune, "UPDATE",'DELETE') + lcId_proiect = Alltrim(Str(tnId)) + Endif + + If Inlist(lcActiune, "UPDATE",'INSERT') + lcIdTipmodel = Iif(Empty(Nvl(toRec.id_modelproiect,0)),[NULL],Alltrim(Str(toRec.id_modelproiect))) + lcIndicativ = Alltrim(toRec.indicativ) + lcDenumire = Nvl(Alltrim(toRec.denumire),[null]) + lcDescriere = Nvl(Alltrim(toRec.descriere),[null]) + lcId_Part = Iif(Empty(Nvl(toRec.id_part,0)),[NULL],Alltrim(Str(toRec.id_part))) + lcId_Responsabil = Iif(Empty(Nvl(toRec.id_responsabil,0)),[NULL],Alltrim(Str(toRec.id_responsabil))) + + lcData_proiect = IIF(EMPTY(NVL(torec.data_proiect,{})),[NULL],[to_date(']+DTOS(torec.data_proiect)+[','YYYYMMDD')]) + + Endif + + Do Case + Case lcActiune = "INSERT" + lcSql = [begin pack_contracte.adauga_proiect_din_tipuri(]+lcIdTipmodel+[,']+lcIndicativ+[',']+; + lcDenumire+[',']+lcDescriere+[',]+lcId_Part +[,?gnIdUtil,]+lcData_proiect +[,]+; + lcId_Responsabil +[ );end;] + + *!* lcSql = [begin pack_contracte.adauga_proiect_din_tipuri('] + lcIndicativ + [','] + lcDenumire + [',] + ; + *!* ['] + lcDescriere + [',] + lcId_Part +[,?gnIdUtil,] + lcData_proiect + [); end;] + Case lcActiune = "UPDATE" + lcSql = [begin pack_contracte.modifica_proiect(] + lcId_proiect + [,'] + lcIndicativ + [','] + lcDenumire + [',] + ; + ['] + lcDescriere + [',] + lcId_Part + [,?gnIdUtil,] + lcData_proiect + [); end;] + Case lcActiune = "DELETE" + lcSql = [begin pack_contracte.sterge_proiect(] + lcId_proiect + [,?gnIdUtil); end;] + ENDCASE + + This.csql = lcSql + ENDPROC + +ENDDEFINE + +DEFINE CLASS cus_odata_responsabili AS _cusodatabase OF "_cus_odata_base.vcx" + *< CLASSDATA: Baseclass="custom" Timestamp="" Scale="Pixels" Uniqueid="" /> + + #INCLUDE "..\..\program files\microsoft visual foxpro 8\foxpro.h" + * + Name = "cus_odata_responsabili" + * + + PROCEDURE make_sql + Lparameters toRec,tnId + + lcActiune = Alltrim(This.cActiune) + + If Inlist(lcActiune, "UPDATE",'INSERT') And Type('toRec') != "O" + Return .F. + Endif + + If Inlist(lcActiune, "UPDATE",'DELETE') And Type('tnId') != "N" + Return .F. + Endif + + If Inlist(lcActiune, "UPDATE",'DELETE') + lcId = Alltrim(Str(tnId)) + lcnom = gcS + ".nom_responsabili" + lcamp = "nom_responsabili.id_responsabil" + lclook = gcS + ".act" + lclookid = "act.id_responsabil" + Endif + + If Inlist(lcActiune, "UPDATE",'INSERT') + lcIdPart = ALLTRIM(STR(toRec.id_responsabil)) + *!* lcdenumire = NVL(UPPER(ALLTRIM(toRec.nume)),"") + *!* lcnume = SUBSTR(lcdenumire,1,AT(" ",lcdenumire,1)-1) + *!* lcprenume = SUBSTR(lcdenumire,AT(" ",lcdenumire,1)+1) + *!* lcfunct = NVL(UPPER(ALLTRIM(toRec.functie)),"") + *!* lcales = NVL(ALLTRIM(STR(toRec.ales)),"") + *!* lcinactiv = NVL(ALLTRIM(STR(toRec.inactiv)),"") + Endif + + Do Case + Case lcActiune = "INSERT" + lcSql=[begin pack_def.adauga_responsabil(]+lcIdPart+[); end;] + *!* lcSql = [INSERT INTO ] + gcS + [.nom_responsabili (nume,functie,ales,inactiv,ID_UTIL) VALUES ('] + lcnume + ; + *!* [','] + lcfunct + [',] + lcales + [,] + lcinactiv + [,?gnIdUtil)] + + Case lcActiune = "UPDATE" + + *!* lcSql = [UPDATE ] + gcS + [.nom_responsabili SET nume = '] + lcnume + ; + *!* [',functie = '] + lcfunct + [',ales = ] + lcales + [,inactiv = ] + lcinactiv +; + *!* [, id_util = ?gnIdUtil ] +; + *!* [ where id_responsabil = ] + lcId + + Case lcActiune = "DELETE" + + *!* lcSql = [begin nomdelproc('] + lcnom + [','] + lcamp + [',] + lcid + [,'] + lclook + [','] + lclookid + ['); end;] + + Endcase + + This.csql = lcSql + ENDPROC + +ENDDEFINE + +DEFINE CLASS cus_odata_sectii AS _cusodatabase OF "_cus_odata_base.vcx" + *< CLASSDATA: Baseclass="custom" Timestamp="" Scale="Pixels" Uniqueid="" /> + + #INCLUDE "..\..\program files\microsoft visual foxpro 8\foxpro.h" + * + Name = "cus_odata_sectii" + * + + PROCEDURE make_sql + Lparameters toRec,tnId + + lcActiune = Alltrim(This.cActiune) + + If Inlist(lcActiune, "UPDATE",'INSERT') And Type('toRec') != "O" + Return .F. + Endif + + If Inlist(lcActiune, "UPDATE",'DELETE') And Type('tnId') != "N" + Return .F. + Endif + + If Inlist(lcActiune, "UPDATE",'DELETE') + lcId = Alltrim(Str(tnId)) + lcnom = gcS + ".nom_sectii" + lcamp = "id_sectie" + lclook = gcS + ".act" + lclookid = "id_sectie" + Endif + + If Inlist(lcActiune, "UPDATE",'INSERT') + lcsectie = Nvl(STRTRAN(Alltrim(Upper(toRec.sectie)),['],['']),"") + lcinactiv = Nvl(ALLTRIM(STR(toRec.inactiv)),"") + lccsectie = Nvl(ALLTRIM(toRec.csectie),"") + lcIdSucursala = Iif(IsNull(toRec.id_sucursala),[NULL],ALLTRIM(STR(toRec.id_sucursala))) && modificare ROADEF v 2.0.4 + Endif + + + Do Case + Case lcActiune = "INSERT" + lcSql = [begin pack_def.adauga_sectie('] + lcsectie + [',] + lcinactiv +[,'] + lccsectie + [',] + lcIdSucursala + [); end;] + *!* lcSql = [INSERT INTO ] + gcS + [.nom_sectii (sectie,inactiv,csectie) VALUES ('] + lcsectie + [',] + lcinactiv +[,'] + lccsectie + [')] + + Case lcActiune = "UPDATE" + lcSql = [begin pack_def.modifica_sectie(] + lcId + [,'] + lcsectie + [',] + lcinactiv + [,'] +lccsectie + [',] + lcIdSucursala + [); end;] + *!* lcSql = [UPDATE ] + gcS + [.nom_sectii SET sectie = '] + lcsectie + [',inactiv = ] + lcinactiv + [ ,csectie = '] +lccsectie + [' where id_sectie = ] + lcId + + Case lcActiune = "DELETE" + + *!* lcSql = [update nom_sectii set sters=1,id_util=]+ALLTRIM(STR(gcidutil))+[,id_modif=seq_modif_nomen.nextval where id_banca=]+lcid + lcSql = [begin nomdelproc('] + lcnom + [','] + lcamp + [',] + lcid + [,'] + lclook + [','] + lclookid + ['); end;] + Endcase + *!* STRTOFILE(LCSQL,'C:\DELETE.SQL') + This.csql = lcSql + + ENDPROC + +ENDDEFINE + +DEFINE CLASS cus_odata_sucursale AS _cusodatabase OF "_cus_odata_base.vcx" + *< CLASSDATA: Baseclass="custom" Timestamp="" Scale="Pixels" Uniqueid="" /> + + #INCLUDE "..\..\program files\microsoft visual foxpro 8\foxpro.h" + * + Name = "cus_odata_sucursale" + * + + PROCEDURE make_sql + Lparameters toRec,tnId + + lcActiune = Alltrim(This.cActiune) + + If Inlist(lcActiune, "UPDATE",'INSERT') And Type('toRec') != "O" + Return .F. + Endif + + If Inlist(lcActiune, "UPDATE",'DELETE') And Type('tnId') != "N" + Return .F. + Endif + + If Inlist(lcActiune, "UPDATE",'DELETE') + lcId = Alltrim(Str(tnId)) + lcnom = gcS + ".nom_sucursale" + lcamp = "id_sucursala" + lclook = gcS + ".act" + lclookid = "id_sucursala" + Endif + + If Inlist(lcActiune, "UPDATE",'INSERT') + lcsucursala = Nvl(STRTRAN(Alltrim(Upper(toRec.sucursala)),['],['']),"") + lcinactiv = Nvl(ALLTRIM(STR(toRec.inactiv)),"") + Endif + + + Do Case + Case lcActiune = "INSERT" + + lcSql = [INSERT INTO ] + gcS + [.nom_sucursale (sucursala,inactiv) VALUES ('] + lcsucursala + [',] + lcinactiv + [)] + + Case lcActiune = "UPDATE" + + lcSql = [UPDATE ] + gcS + [.nom_sucursale SET sucursala = '] + lcsucursala + [',inactiv = ] + lcinactiv + [ where id_sucursala = ] + lcId + + Case lcActiune = "DELETE" + + *!* lcSql = [update nom_sectii set sters=1,id_util=]+ALLTRIM(STR(gcidutil))+[,id_modif=seq_modif_nomen.nextval where id_banca=]+lcid + lcSql = [begin nomdelproc('] + lcnom + [','] + lcamp + [',] + lcid + [,'] + lclook + [','] + lclookid + ['); end;] + Endcase + *!* STRTOFILE(LCSQL,'C:\DELETE.SQL') + This.csql = lcSql + + ENDPROC + +ENDDEFINE + +DEFINE CLASS cus_odata_tipuri_ctr AS _cusodatabase OF "_cus_odata_base.vcx" + *< CLASSDATA: Baseclass="custom" Timestamp="" Scale="Pixels" Uniqueid="" /> + + * + Name = "cus_odata_tipuri_ctr" + * + + PROCEDURE make_sql + Lparameters toRec,tnId + + lcActiune = Alltrim(This.cActiune) + lcId_util = Alltrim(Str(gnIdUtil)) + + If Inlist(lcActiune, "UPDATE",'INSERT') And Type('toRec') != "O" + Return .F. + Endif + + If Inlist(lcActiune, "UPDATE",'DELETE') And Type('tnId') != "N" + Return .F. + Endif + + If Inlist(lcActiune, "UPDATE",'DELETE') + lcId = Alltrim(Str(tnId)) + Endif + + If Inlist(lcActiune, "UPDATE",'INSERT') + lcDenumire = Strtran(Alltrim(toRec.denumire_tip),['],['']) + lcId_tata = Alltrim(STR(NVL(toRec.id_tata,'0'))) + ENDIF + + + Do Case + Case lcActiune = "INSERT" + lcSql = [begin pack_nomenclatoare.adauga_tip_ctr('] + lcDenumire + [',]+ lcId_tata +[,]+lcId_util+[); end;] + + Case lcActiune = "UPDATE" + lcSql = [begin pack_nomenclatoare.modifica_tip_ctr(]+lcId +[,']+lcDenumire + [',]+ lcId_tata +[,]+lcId_util+[); end;] + + Case lcActiune = "DELETE" + * lcSql = [begin pack_nomenclatoare.sterge_tip_ctr(]+lcId+[,]+lcId_util+[); end;] + lcSql = [begin pack_nomenclatoare.sterge_tip_ctr(]+lcId+[); end;] + + Endcase + + This.csql = lcSql + + ENDPROC + +ENDDEFINE + +DEFINE CLASS cus_odata_tipuri_parteneri AS _cusodatabase OF "_cus_odata_base.vcx" + *< CLASSDATA: Baseclass="custom" Timestamp="" Scale="Pixels" Uniqueid="" /> + + #INCLUDE "..\..\program files\microsoft visual foxpro 8\foxpro.h" + * + *p: cid + *p: csql1 + *p: csql2 + *p: csql3 + * + + * + cid = 0 + csql1 = + csql2 = + csql3 = + Name = "cus_odata_tipuri_parteneri" + * + + PROCEDURE make_sql + LPARAMETERS toRec,tnId + + + lcActiune = ALLTRIM(THIS.cActiune) + + IF INLIST(lcActiune, "UPDATE",'INSERT') AND TYPE('toRec') != "O" + RETURN .F. + ENDIF + + IF INLIST(lcActiune, "UPDATE",'DELETE') AND TYPE('tnId') != "N" + RETURN .F. + ENDIF + + IF INLIST(lcActiune, "UPDATE",'DELETE') + lcId = ALLTRIM(STR(tnId)) + this.cId = lcId + lcnom = gcS + ".nom_tip_parteneri" + lcamp = "nom_tip_parteneri.id_tip_part" + + ENDIF + + + IF INLIST(lcActiune, "UPDATE",'INSERT') + lcTip_partener = NVL(STRTRAN(ALLTRIM(UPPER(toRec.Tip_partener)),['],['']),"") + lcinactiv = ALLTRIM(STR(toRec.inactiv)) + ENDIF + + + + DO CASE + CASE lcActiune = "INSERT" + lcSql1 = [INSERT INTO ] + gcS + [.nom_tip_parteneri (tip_partener,inactiv) VALUES ('] + lcTip_partener + [',] + lcinactiv + [)] + + CASE lcActiune = "UPDATE" + lcSql1 = [UPDATE ] + gcS + [.nom_tip_parteneri SET tip_partener = '] + lcTip_partener +[',inactiv = ] + lcinactiv + [ where id_tip_part = ] + lcId + + CASE lcActiune = "DELETE" + + lcSql = [] + + lcSql1 = [update nom_tip_parteneri set sters=1 where id_tip_part=]+lcid + + lcSql2 = [delete coresp_tip_cont where id_tip_part=]+lcid + + this.csql2 = lcSql2 + + lcSql3 = [delete coresp_tip_part where id_tip_part=]+lcid + + this.csql3 = lcSql3 + + ENDCASE + this.csql1 = lcSql1 + + ENDPROC + + PROCEDURE salvare + Lparameters toRec,tnId + + Private llSucces, lnSucces + + llSucces = .T. + lnSucces = -1 + lcActiune = Upper(Alltrim(This.cactiune)) + lcMesaj = '' + lcTitlu = '' + Do Case + Case lcActiune = "INSERT" + lcMesaj = "Doriti sa adaugati inregistrarea?" + lcTitlu = "Adaugare" + lnOptiuni = 4 + 32 + Case lcActiune = "UPDATE" + lcMesaj = "Doriti sa salvati modificarile?" + lcTitlu = "Modificare" + lnOptiuni = 4 + 32 + Case lcActiune = "DELETE" + lcMesaj = "Doriti sa stergeti inregistrarea?" + lcTitlu = "Stergere" + lnOptiuni = 4 + 32 + 512 + Endcase + + + If aMESSAGEBOX(lcMesaj,lnOptiuni,lcTitlu) = 6 + PNIESIRE=1 + If This.validare() + + This.make_sql(toRec,tnId) + + + lcSql1 = Upper(Alltrim(This.csql1)) + lcSql2 = Upper(Alltrim(This.csql2)) + lcSql3 = Upper(Alltrim(This.csql3)) + + + llConditie = 'INSERT'$lcSql1 Or 'UPDATE'$lcSql1 Or 'DELETE'$lcSql1 Or 'BEGIN'$lcSql1 + If !Empty(lcSql2) + llConditie = 'INSERT'$lcSql2 Or 'UPDATE'$lcSql2 Or 'DELETE'$lcSql2 Or 'BEGIN'$lcSql2 + Endif + + If llConditie + *!* ver. 2.0.67 + lcSqlNr1 = [select count(*) as nr_tip_cont from coresp_tip_cont t where id_tip_part = ]+ALLTRIM(TRANSFORM(This.cId)) + lcCursor = [crsNrTipCont] + lnSucces = goExecutor.oExecute(lcSqlNr1,lcCursor) + + If lnSucces < 0 + aMESSAGEBOX(goExecutor.cEroare,0+16,'Eroare') + Return + Endif + + Select crsNrTipCont + lnNrTipCont = nr_tip_cont + If lnNrTipCont > 0 + lnRaspuns = aMESSAGEBOX('Sunt definite corespondente intre acest tip de parteneri si conturi. Doriti sa stergeti aceste relatii?',4+32,'Entitati - conturi') + If lnRaspuns = 7 + Return + Endif + Endif + + lcSqlNr2 = [select count(*) as nr_tip_part from coresp_tip_part t where id_tip_part = ]+ALLTRIM(TRANSFORM(This.cId)) + lcCursor = [crsNrTipPart] + lnSucces = goExecutor.oExecute(lcSqlNr2,lcCursor) + + If lnSucces < 0 + aMESSAGEBOX(goExecutor.cEroare,0+16,'Eroare') + Return + Endif + + Select crsNrTipPart + lnNrTipPart = nr_tip_part + If lnNrTipPart > 0 + lnRaspuns = aMESSAGEBOX('Sunt definite corespondente intre acest tip de parteneri si parteneri. Doriti sa stergeti aceste relatii?',4+32,'Entitati - parteneri') + If lnRaspuns = 7 + Return + Endif + Endif + *!* ver. 2.0.67 + + lnSucces = SQLExec(gnHandle,lcSql1) + If !Empty(lcSql2) + lnSucces = SQLExec(gnHandle,lcSql2) + Endif + If !Empty(lcSql3) + lnSucces = SQLExec(gnHandle,lcSql3) + Endif + Endif + + If lnSucces < 0 + Release laEroare + Aerror(laEroare) + + lcTextEroare = '' + If Type('laEroare')!= "U" + lcTextEroare = lcSql1 + Chr(13) + Chr(10) + laEroare(3) + Endif + + Release laEroare + + Do Case + Case lcActiune = "INSERT" + lcMesaj = "Inregistrarea nu a fost adaugata." + Chr(13) + Chr(10) + lcTextEroare + lcTitlu = "Adaugare" + Case lcActiune = "UPDATE" + lcMesaj = "Inregistrarea nu a fost modificata." + Chr(13) + Chr(10) + lcTextEroare + lcTitlu = "Modificare" + Case lcActiune = "DELETE" + lcMesaj = "Inregistrarea nu a fost stearsa." + Chr(13) + Chr(10) + lcTextEroare + lcTitlu = "Stergere" + Endcase + + aMESSAGEBOX(lcMesaj,0+48,lcTitlu) + llSucces = .F. + Endif + If lnSucces >=1 And lcActiune = "DELETE" + lcMesaj = "Inregistrarea a fost stearsa." + lcTitlu = "Stergere" + aMESSAGEBOX(lcMesaj,0+64,lcTitlu) + Endif + Endif + Else + PNIESIRE=2 + Endif + + + Return llSucces + + + ENDPROC + +ENDDEFINE + +DEFINE CLASS cus_odata_valute AS _cusodatabase OF "_cus_odata_base.vcx" + *< CLASSDATA: Baseclass="custom" Timestamp="" Scale="Pixels" Uniqueid="" /> + + #INCLUDE "..\..\program files\microsoft visual foxpro 8\foxpro.h" + * + Name = "cus_odata_valute" + * + + PROCEDURE make_sql + Lparameters toRec,tnId + lcActiune = Alltrim(This.cActiune) + + If Inlist(lcActiune, "UPDATE",'INSERT') And Type('toRec') != "O" + Return .F. + Endif + + If Inlist(lcActiune, "UPDATE",'DELETE') And Type('tnId') != "N" + Return .F. + Endif + + If Inlist(lcActiune, "UPDATE",'DELETE') + lcId = Alltrim(Str(tnId)) + *!* lcnom = gcS + ".nom_valute" + *!* lcamp = "nom_valute.id_valuta" + *!* lclook = gcS + ".act" + *!* lclookid = "act.id_valuta" + Endif + + If Inlist(lcActiune, "UPDATE",'INSERT') + lcnume_valuta = Nvl(Strtran(Alltrim(Upper(toRec.nume_val)),['],['']),"") + lcinactiv = Nvl(Alltrim(Str(toRec.inactiv)),"") + lcMonedaNationala = Nvl(Alltrim(Str(toRec.moneda_nationala)),"NULL") + lcIdValutaIso = Alltrim(Str(toRec.id_valuta2)) + Endif + + Do Case + Case lcActiune = "INSERT" + *!* lcSql = [INSERT INTO ] + gcS + [.nom_valute (nume_val,inactiv,moneda_nationala) VALUES ('] + lcnume_valuta + [',] + lcinactiv + [)] + lcSql = [begin pack_def.adauga_valuta(']+lcnume_valuta+[',]+lcIdValutaIso+[,]+lcinactiv+[,]+lcMonedaNationala+[,]+; + ALLTRIM(Str(gnIdUtil))+[); end;] + Case lcActiune = "UPDATE" + *!* lcSql = [UPDATE ] + gcS + [.nom_valute SET nume_val = '] + lcnume_valuta + [',inactiv =] + lcinactiv + ; + *!* [,moneda_nationala = ]+lcMonedaNationala +[ where id_valuta = ] + lcId + lcSql = [begin pack_def.modifica_valuta(]+lcId+[,']+lcnume_valuta+[',]+lcIdValutaIso+[,]+lcinactiv+[,]+lcMonedaNationala+[,]+; + ALLTRIM(Str(gnIdUtil))+[); end;] + + Case lcActiune = "DELETE" + *!* lcSql = [update nom_sectii set sters=1,id_util=]+ALLTRIM(STR(gcidutil))+[,id_modif=seq_modif_nomen.nextval where id_banca=]+lcid + *!* lcSql = [begin nomdelproc('] + lcnom + [','] + lcamp + [',] + lcid + [,'] + lclook + [','] + lclookid + ['); end;] + lcSql = [begin pack_def.sterge_valuta(]+lcId+[,]+Alltrim(Str(gnIdUtil))+[); end;] + Endcase + + This.csql = lcSql + + ENDPROC + +ENDDEFINE + +DEFINE CLASS cus_odata_venchel AS _cusodatabase OF "..\..\..\roasuport\comun\clase\_cus_odata_base.vcx" + *< CLASSDATA: Baseclass="custom" Timestamp="" Scale="Pixels" Uniqueid="" /> + + #INCLUDE "..\..\program files\microsoft visual foxpro 8\foxpro.h" + * + Name = "cus_odata_venchel" + * + + PROCEDURE make_sql + Lparameters toRec,tnId + + lcActiune = Alltrim(This.cActiune) + + If Inlist(lcActiune, "UPDATE",'INSERT') And Type('toRec') != "O" + Return .F. + Endif + + If Inlist(lcActiune, "UPDATE",'DELETE') And Type('tnId') != "N" + Return .F. + Endif + + If Inlist(lcActiune, "UPDATE",'DELETE') + lcId = Alltrim(Str(tnId)) + lcnom = gcS + ".nom_venit_cheltuieli" + lcamp = "nom_venit_cheltuieli.id_venchelt" + lclook = gcS + ".act" + lclookid = "act.id_venchelt" + Endif + + If Inlist(lcActiune, "UPDATE",'INSERT') + lcvenchel = Nvl(Strtran(Alltrim(Upper(toRec.explicatie_fiu)),['],['']),"") + lctip = Nvl(Alltrim(Str(toRec.tip_venchelt)),"") + lcinactiv = Nvl(Alltrim(Str(toRec.inactiv)),"") + lcIdTata = Iif(Empty(Nvl(toRec.id_tata,0)),[NULL],Alltrim(Str(toRec.id_tata))) + Endif + + Do Case + Case lcActiune = "INSERT" + + lcSql = [INSERT INTO ] + gcS + [.nom_venit_cheltuieli (explicatie,tip_venchelt,inactiv,id_tata) VALUES ('] + lcvenchel + [',] + lctip + [,] + lcinactiv + [,] + lcIdTata + [)] + + Case lcActiune = "UPDATE" + + lcSql = [UPDATE ] + gcS + [.nom_venit_cheltuieli SET explicatie = '] + lcvenchel + [',tip_venchelt = ] + lctip + [,inactiv = ] + lcinactiv + [,id_tata = ] + lcIdTata + [ where id_venchelt = ] + lcId + + Case lcActiune = "DELETE" + + *!* lcSql = [update nom_sectii set sters=1,id_util=]+ALLTRIM(STR(gcidutil))+[,id_modif=seq_modif_nomen.nextval where id_banca=]+lcid + lcSql = [begin nomdelproc('] + lcnom + [','] + lcamp + [',] + lcid + [,'] + lclook + [','] + lclookid + ['); end;] + Endcase + + This.csql = lcSql + + ENDPROC + +ENDDEFINE + +DEFINE CLASS frm_categorii_entitati AS _frmbase OF "_frm_base.vcx" + *< CLASSDATA: Baseclass="form" Timestamp="" Scale="Pixels" Uniqueid="" /> + + *-- OBJECTDATA items order determines ZOrder / El orden de los items OBJECTDATA determina el ZOrder + *< OBJECTDATA: ObjPath="Cmd_cauta1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="Cmd_reset1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="clb_categorie_entitate" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="But_nou1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="But_modifica1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="But_sterge1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="grd_categorii_entitati" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="grd_categorii_entitati.cCategorie_entitate.Header1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="grd_categorii_entitati.cCategorie_entitate.Text1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="grd_categorii_entitati.cInactiv.Header1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="grd_categorii_entitati.cInactiv.Check1" UniqueID="" Timestamp="" /> + + * + *m: do_adauga2 + *m: do_modifica2 + *m: do_sterge2 + * + + * + cgridsortlist = grd_categorii_entitati + DoCreate = .T. + Height = 466 + Name = "frm_categorii_entitati" + Width = 528 + _shape1.Anchor = 10 + _shape1.Height = 29 + _shape1.Left = 0 + _shape1.Name = "_shape1" + _shape1.Top = 0 + _shape1.Width = 528 + _shape1.ZOrderSet = 2 + _shape2.Anchor = 8 + _shape2.Height = 29 + _shape2.Left = 401 + _shape2.Name = "_shape2" + _shape2.Top = -1 + _shape2.Width = 133 + _shape2.ZOrderSet = 3 + Lb_titlu_alb_b121.Caption = "CATEGORII ENTITATI" + Lb_titlu_alb_b121.FontBold = .T. + Lb_titlu_alb_b121.Name = "Lb_titlu_alb_b121" + Lb_titlu_alb_b121.TabIndex = 9 + Lb_titlu_alb_b121.ZOrderSet = 4 + BUT_TERMIN1.Anchor = 8 + BUT_TERMIN1.Left = 497 + BUT_TERMIN1.Name = "BUT_TERMIN1" + BUT_TERMIN1.TabIndex = 4 + BUT_TERMIN1.Top = 0 + BUT_TERMIN1.ZOrderSet = 5 + Gridsort1.Left = 240 + Gridsort1.Name = "Gridsort1" + Gridsort1.Top = 12 + * + + ADD OBJECT 'But_modifica1' AS but_modifica WITH ; + Anchor = 8, ; + Left = 435, ; + Name = "But_modifica1", ; + TabIndex = 6, ; + Top = 0 + *< END OBJECT: ClassLib="cmd_butoane.vcx" BaseClass="commandbutton" /> + + ADD OBJECT 'But_nou1' AS but_nou WITH ; + Anchor = 8, ; + Left = 404, ; + Name = "But_nou1", ; + TabIndex = 7, ; + Top = 0 + *< END OBJECT: ClassLib="cmd_butoane.vcx" BaseClass="commandbutton" /> + + ADD OBJECT 'But_sterge1' AS but_sterge WITH ; + Anchor = 8, ; + Left = 466, ; + Name = "But_sterge1", ; + TabIndex = 5, ; + Top = 0 + *< END OBJECT: ClassLib="cmd_butoane.vcx" BaseClass="commandbutton" /> + + ADD OBJECT 'clb_categorie_entitate' AS clb_tx_simplu WITH ; + Anchor = 0, ; + Height = 29, ; + Left = 9, ; + Name = "clb_categorie_entitate", ; + TabIndex = 1, ; + Top = 37, ; + Width = 303, ; + Text_simplu1.Left = 114, ; + Text_simplu1.Name = "Text_simplu1", ; + Text_simplu1.Top = 3, ; + Lb_simplu1.Caption = "Categorie entitate", ; + Lb_simplu1.Name = "Lb_simplu1" + *< END OBJECT: ClassLib="lb_tx.vcx" BaseClass="container" /> + + ADD OBJECT 'Cmd_cauta1' AS cmd_cauta WITH ; + Anchor = 0, ; + Left = 330, ; + Name = "Cmd_cauta1", ; + TabIndex = 2, ; + Top = 36 + *< END OBJECT: ClassLib="cmd_butoane.vcx" BaseClass="commandbutton" /> + + ADD OBJECT 'Cmd_reset1' AS cmd_reset WITH ; + Anchor = 0, ; + Left = 418, ; + Name = "Cmd_reset1", ; + TabIndex = 8, ; + Top = 36 + *< END OBJECT: ClassLib="cmd_butoane.vcx" BaseClass="commandbutton" /> + + ADD OBJECT 'grd_categorii_entitati' AS _grdrow WITH ; + Anchor = 15, ; + ColumnCount = 2, ; + DeleteMark = .F., ; + Height = 383, ; + Left = 17, ; + Name = "grd_categorii_entitati", ; + Panel = 1, ; + ReadOnly = .T., ; + RecordMark = .F., ; + RecordSource = "crscategorii_entitati", ; + TabIndex = 3, ; + Top = 73, ; + Width = 495, ; + Column1.ControlSource = "categorie_entitate", ; + Column1.Name = "cCategorie_entitate", ; + Column1.ReadOnly = .T., ; + Column1.Width = 423, ; + Column2.Alignment = 2, ; + Column2.ControlSource = "inactiv", ; + Column2.Name = "cInactiv", ; + Column2.ReadOnly = .T., ; + Column2.Sparse = .F., ; + Column2.Width = 45 + *< END OBJECT: ClassLib="_grd_base.vcx" BaseClass="grid" /> + + ADD OBJECT 'grd_categorii_entitati.cCategorie_entitate.Header1' AS header WITH ; + Alignment = 2, ; + Caption = "Categorie entitate", ; + Name = "Header1" + *< END OBJECT: BaseClass="header" /> + + ADD OBJECT 'grd_categorii_entitati.cCategorie_entitate.Text1' AS textbox WITH ; + BackColor = 255,255,255, ; + BorderStyle = 0, ; + ForeColor = 0,0,0, ; + Margin = 0, ; + Name = "Text1", ; + ReadOnly = .T. + *< END OBJECT: BaseClass="textbox" /> + + ADD OBJECT 'grd_categorii_entitati.cInactiv.Check1' AS checkbox WITH ; + Alignment = 0, ; + Caption = "", ; + Centered = .T., ; + Height = 17, ; + Left = 22, ; + Name = "Check1", ; + Top = 58, ; + Width = 60 + *< END OBJECT: BaseClass="checkbox" /> + + ADD OBJECT 'grd_categorii_entitati.cInactiv.Header1' AS header WITH ; + Alignment = 2, ; + Caption = "Inactiv", ; + Name = "Header1" + *< END OBJECT: BaseClass="header" /> + + PROCEDURE actualizeaza_grid1 + Lparameters lcFiltru + If Empty(lcFiltru) + lcFiltru = poCategorii_entitati.ca_baza1.cfiltru + Endif + Thisform.MousePointer= 11 + Thisform.LockScreen=.T. + save_grid_tag(Thisform.grd_categorii_entitati) + poCategorii_entitati.ca_baza1.cfiltru = lcFiltru + poCategorii_entitati.ca_baza1.afisare() + restore_grid_tag(Thisform.grd_categorii_entitati) + Thisform.LockScreen = .F. + Thisform.MousePointer = 0 + + ENDPROC + + PROCEDURE do_adauga + Private pniesire + pniesire=0 + Select crsCategorii_entitati + Scatter Name loRec Blank + Do Adauga_Modifica_Inregistrare With "categorii_entitati",loRec,,"INSERT" + If pniesire=1 + This.actualizeaza_grid1() + Locate For categorie_entitate = loRec.categorie_entitate + Thisform.grd_categorii_entitati.SetFocus() + Endif + + ENDPROC + + PROCEDURE do_adauga2 + ENDPROC + + PROCEDURE do_cauta + Local lcFiltru + Store '' To lcFiltru + lcFiltru=[2=2] + lcCategorieEntitate = Strtran(Upper(Alltrim(This.clb_categorie_entitate.text_simplu1.Value)),['],['']) + + If !Empty(lcCategorieEntitate) + lcFiltru = lcFiltru + [ and categorie_entitate like '] + lcCategorieEntitate + [%'] + Endif + + Thisform.actualizeaza_grid1(lcFiltru) + + If Reccount('crsCategorii_entitati')>0 + Select crsCategorii_entitati + Go Top + Thisform.grd_categorii_entitati.SetFocus() + Else + aMessagebox("Cautarea nu a intors rezultate!",0+64,"Info cautare") + Thisform.clb_categorie_entitate.SetFocus() + Endif + + ENDPROC + + PROCEDURE do_modifica + If Reccount('crsCategorii_entitati')>0 + Private pniesire + pniesire = 0 + Select crsCategorii_entitati + Scatter Name loRec + Do Adauga_Modifica_Inregistrare With "categorii_entitati",loRec,loRec.id_categorie_entitate,"UPDATE" + If pniesire = 1 + This.actualizeaza_grid1() + Locate For categorie_entitate = loRec.categorie_entitate + Thisform.grd_categorii_entitati.SetFocus() + Endif + Else + amessagebox("Nu exista inregistrari pentru modificare!",0+48,"Atentie") + Thisform.clb_categorie_entitate.SetFocus() + Endif + ENDPROC + + PROCEDURE do_modifica2 + ENDPROC + + PROCEDURE do_reset + With Thisform.clb_categorie_entitate.text_simplu1 + .Value = [] + .SetFocus() + Endwith + + ENDPROC + + PROCEDURE do_sterge + If Reccount('crsCategorii_entitati')>0 + Select crsCategorii_entitati + Scatter Name loRec + Do STERGE_INREGISTRARE With "categorii_entitati",loRec.id_categorie_entitate + This.actualizeaza_grid1() + If Reccount('crsCategorii_entitati')>0 + Thisform.grd_categorii_entitati.SetFocus() + Else + Thisform.clb_categorie_entitate.SetFocus() + Endif + Else + amessagebox("Nu exista inregistrari pentru stergere!",0+48,"Atentie") + Thisform.clb_categorie_entitate.SetFocus() + Endif + + ENDPROC + + PROCEDURE do_sterge2 + ENDPROC + +ENDDEFINE + +DEFINE CLASS frm_categorii_entitati_nou AS _frmbase OF "_frm_base.vcx" + *< CLASSDATA: Baseclass="form" Timestamp="" Scale="Pixels" Uniqueid="" /> + + *-- OBJECTDATA items order determines ZOrder / El orden de los items OBJECTDATA determina el ZOrder + *< OBJECTDATA: ObjPath="ck_inactiv" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="But_renunt1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="Clb_categorie_entitate" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="Cus_odata_categorii_entitati1" UniqueID="" Timestamp="" /> + + * + *p: nid + *p: orec + * + + * + DoCreate = .T. + Height = 109 + Name = "frm_categorii_entitati_nou" + nid = 0 + Width = 336 + _shape1.Height = 29 + _shape1.Left = 0 + _shape1.Name = "_shape1" + _shape1.Top = 0 + _shape1.Width = 336 + _shape2.Height = 29 + _shape2.Left = 275 + _shape2.Name = "_shape2" + _shape2.Top = 0 + _shape2.Width = 58 + Lb_titlu_alb_b121.Caption = "Categorie entitate" + Lb_titlu_alb_b121.Name = "Lb_titlu_alb_b121" + Lb_titlu_alb_b121.TabIndex = 5 + BUT_TERMIN1.Left = 305 + BUT_TERMIN1.Name = "BUT_TERMIN1" + BUT_TERMIN1.TabIndex = 3 + BUT_TERMIN1.Top = 1 + GRIDSORT1.Left = 156 + GRIDSORT1.Name = "GRIDSORT1" + GRIDSORT1.Top = 84 + * + + ADD OBJECT 'But_renunt1' AS but_renunt WITH ; + Left = 276, ; + Name = "But_renunt1", ; + TabIndex = 4, ; + Top = 1, ; + ZOrderSet = 12 + *< END OBJECT: ClassLib="cmd_butoane.vcx" BaseClass="commandbutton" /> + + ADD OBJECT 'ck_inactiv' AS _checkbox WITH ; + Alignment = 0, ; + Caption = "Inactiv", ; + ControlSource = "porec.inactiv", ; + Left = 30, ; + Name = "ck_inactiv", ; + TabIndex = 2, ; + TabStop = .F., ; + Top = 85 + *< END OBJECT: ClassLib="_baza.vcx" BaseClass="checkbox" /> + + ADD OBJECT 'Clb_categorie_entitate' AS clb_tx_simplu WITH ; + Left = 24, ; + Name = "Clb_categorie_entitate", ; + TabIndex = 1, ; + Top = 48, ; + Text_simplu1.ControlSource = "porec.categorie_entitate", ; + Text_simplu1.Name = "Text_simplu1", ; + Lb_simplu1.Caption = "Categorie entitate", ; + Lb_simplu1.Left = 2, ; + Lb_simplu1.Name = "Lb_simplu1", ; + Lb_simplu1.Top = 6 + *< END OBJECT: ClassLib="lb_tx.vcx" BaseClass="container" /> + + ADD OBJECT 'Cus_odata_categorii_entitati1' AS cus_odata_categorii_entitati WITH ; + Left = 112, ; + Name = "Cus_odata_categorii_entitati1", ; + Top = 85 + *< END OBJECT: ClassLib="onomenclatoare.vcx" BaseClass="custom" /> + + PROCEDURE inainte_de_do_termin + Local PLRETURN + + lccontrol = Upper(This.ActiveControl.BaseClass ) + If Inlist(lccontrol,"TEXTBOX","EDITBOX","COMBOBOX") + lcval=This.ActiveControl.ControlSource + &lcval=Thisform.ActiveControl.Value + Endif + + If Empty(porec.categorie_entitate) + aMessagebox('Nu ati completat categoria!',0+48,"Atentie") + This.clb_categorie_entitate.SetFocus() + PLRETURN=.F. + Else + PLRETURN=This.cus_odata_categorii_entitati1.salvare(This.OREC,This.NID) + Endif + + Return PLRETURN + + ENDPROC + + PROCEDURE Init + Lparameters toRec, tnId, tcActiune + DoDefault() + This.orec= toRec + This.nid = tnId + This.cus_odata_categorii_entitati1.cactiune = tcActiune + + ENDPROC + +ENDDEFINE + +DEFINE CLASS frm_coduri_nou AS _frmbase OF "_frm_base.vcx" + *< CLASSDATA: Baseclass="form" Timestamp="" Scale="Pixels" Uniqueid="" /> + + *-- OBJECTDATA items order determines ZOrder / El orden de los items OBJECTDATA determina el ZOrder + *< OBJECTDATA: ObjPath="Clb_tx_simplu1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="BUT_RENUNT1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="Cus_odata_cod1" UniqueID="" Timestamp="" /> + + * + *p: cod + *p: nid + *p: orec + * + + * + BorderStyle = 1 + cod = .F. + DoCreate = .T. + Height = 94 + Name = "frm_coduri_nou" + nid = .F. + orec = .F. + Width = 375 + _shape1.Name = "_shape1" + _shape2.Height = 29 + _shape2.Left = 312 + _shape2.Name = "_shape2" + _shape2.Top = 0 + _shape2.Width = 62 + Lb_titlu_alb_b121.Caption = "Adaugare cod partener" + Lb_titlu_alb_b121.Name = "Lb_titlu_alb_b121" + BUT_TERMIN1.Name = "BUT_TERMIN1" + Gridsort1.Left = 12 + Gridsort1.Name = "Gridsort1" + Gridsort1.Top = 36 + * + + ADD OBJECT 'BUT_RENUNT1' AS but_renunt WITH ; + Left = 313, ; + Name = "BUT_RENUNT1", ; + Top = 1 + *< END OBJECT: ClassLib="cmd_butoane.vcx" BaseClass="commandbutton" /> + + ADD OBJECT 'Clb_tx_simplu1' AS clb_tx_simplu WITH ; + Left = 46, ; + Name = "Clb_tx_simplu1", ; + TabIndex = 1, ; + Top = 52, ; + Text_simplu1.ControlSource = "porec.cod", ; + Text_simplu1.Format = "", ; + Text_simplu1.Name = "Text_simplu1", ; + Lb_simplu1.Caption = "Cod partener", ; + Lb_simplu1.Name = "Lb_simplu1" + *< END OBJECT: ClassLib="lb_tx.vcx" BaseClass="container" /> + + ADD OBJECT 'Cus_odata_cod1' AS cus_odata_cod WITH ; + Left = 312, ; + Name = "Cus_odata_cod1", ; + Top = 36 + *< END OBJECT: ClassLib="onomenclatoare.vcx" BaseClass="custom" /> + + PROCEDURE inainte_de_do_termin + LOCAL PLRETURN + + lccontrol = UPPER(this.ActiveControl.BaseClass ) + IF INLIST(lccontrol,"TEXTBOX","EDITBOX","COMBOBOX") + lcval=This.Activecontrol.controlsource + &lcval=thisform.ActiveControl.value + ENDIF + + Do Case + Case Empty(porec.cod) + aMessagebox('Nu ati completat codul!',0+48,"Atentie") + This.clb_tx_simplu1.SetFocus() + plreturn=.F. + OTHERWISE + If Alltrim(Upper(This.cus_odata_cod1.cactiune))="INSERT" Or (Alltrim(Upper(This.cus_odata_cod1.cactiune))="UPDATE" And porec.cod!=thisform.cod) + pcexec=[select * from ]+gcS+[.parteneri_coduri where TRIM(cod)=']+Alltrim(porec.cod)+['] + Do While .T. + pnSucces = SQLEXEC(GNHANDLE,pcexec,'exista_cod') + If pnSucces = 0 + * instructiunea in curs de executie + Else + Exit + Endif + Enddo + If Reccount('exista_cod')>0 + amessagebox('Mai exista acest cod inregistrat!',0+48,"Atentie") + Thisform.clb_tx_simplu1.SetFocus() + Use In exista_cod + plreturn=.F. + ELSE + PLRETURN=This.cus_odata_cod1.salvare(This.OREC,This.NID) + ENDIF + ELSE + PLRETURN=This.cus_odata_cod1.salvare(This.OREC,This.NID) + ENDIF + ENDCASE + + Return PLRETURN + + ENDPROC + + PROCEDURE Init + LPARAMETERS toRec, tnId, tcActiune + DODEFAULT() + + this.orec= toRec + this.cod=this.orec.cod + + this.nid = tnId + this.cus_odata_cod1.cactiune = tcActiune + ENDPROC + +ENDDEFINE + +DEFINE CLASS frm_coduri_utilizatori AS _frmbase OF "_frm_base.vcx" + *< CLASSDATA: Baseclass="form" Timestamp="" Scale="Pixels" Uniqueid="" /> + + *-- OBJECTDATA items order determines ZOrder / El orden de los items OBJECTDATA determina el ZOrder + *< OBJECTDATA: ObjPath="BUT_RENUNT1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="_grdbase1" UniqueID="" Timestamp="" /> + + * + DoCreate = .T. + Name = "frm_coduri_utilizatori" + _shape1.Name = "_shape1" + _shape2.Height = 29 + _shape2.Left = 312 + _shape2.Name = "_shape2" + _shape2.Top = 0 + _shape2.Width = 62 + Lb_titlu_alb_b121.Caption = "Coduri parteneri" + Lb_titlu_alb_b121.Name = "Lb_titlu_alb_b121" + BUT_TERMIN1.Name = "BUT_TERMIN1" + Gridsort1.Name = "Gridsort1" + * + + ADD OBJECT '_grdbase1' AS _grdbase WITH ; + Height = 176, ; + Left = 24, ; + Name = "_grdbase1", ; + Top = 72, ; + Width = 320 + *< END OBJECT: ClassLib="_grd_base.vcx" BaseClass="grid" /> + + ADD OBJECT 'BUT_RENUNT1' AS but_renunt WITH ; + Left = 313, ; + Name = "BUT_RENUNT1", ; + Top = 1 + *< END OBJECT: ClassLib="cmd_butoane.vcx" BaseClass="commandbutton" /> + +ENDDEFINE + +DEFINE CLASS frm_config_cont_ireg_nou AS _frmbase OF "_frm_base.vcx" + *< CLASSDATA: Baseclass="form" Timestamp="" Scale="Pixels" Uniqueid="" /> + + *-- OBJECTDATA items order determines ZOrder / El orden de los items OBJECTDATA determina el ZOrder + *< OBJECTDATA: ObjPath="clb_cont" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="_checkbox1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="Clb_explicatie" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="Cb_fel_cont" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="_checkbox2" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="Label1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="_checkbox3" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="Cus_odata_config_cont_ireg1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="But_renunt1" UniqueID="" Timestamp="" /> + + * + *p: contm + *p: nid + *p: orec + * + + * + contm = + DoCreate = .T. + Height = 230 + Name = "frm_config_cont_ireg_nou" + nid = 0 + orec = + Width = 375 + _shape1.Name = "_shape1" + _shape2.Height = 29 + _shape2.Left = 313 + _shape2.Name = "_shape2" + _shape2.Top = 0 + _shape2.Width = 60 + Lb_titlu_alb_b121.Caption = "Configurare conturi cu inregistrari" + Lb_titlu_alb_b121.Name = "Lb_titlu_alb_b121" + Lb_titlu_alb_b121.TabIndex = 7 + BUT_TERMIN1.Left = 344 + BUT_TERMIN1.Name = "BUT_TERMIN1" + BUT_TERMIN1.TabIndex = 6 + BUT_TERMIN1.Top = 1 + GRIDSORT1.Name = "GRIDSORT1" + * + + ADD OBJECT '_checkbox1' AS _checkbox WITH ; + Alignment = 0, ; + Caption = "Cu Inregistrari", ; + ControlSource = "", ; + Left = 36, ; + Name = "_checkbox1", ; + ReadOnly = .F., ; + TabIndex = 5, ; + TabStop = .F., ; + Top = 134 + *< END OBJECT: ClassLib="_baza.vcx" BaseClass="checkbox" /> + + ADD OBJECT '_checkbox2' AS _checkbox WITH ; + Alignment = 0, ; + Caption = "Venit / Cheltuiala", ; + ControlSource = "", ; + Left = 36, ; + Name = "_checkbox2", ; + TabIndex = 5, ; + TabStop = .F., ; + Top = 183 + *< END OBJECT: ClassLib="_baza.vcx" BaseClass="checkbox" /> + + ADD OBJECT '_checkbox3' AS _checkbox WITH ; + Alignment = 0, ; + Caption = "Procent TVA", ; + ControlSource = "", ; + Left = 36, ; + Name = "_checkbox3", ; + TabIndex = 5, ; + TabStop = .F., ; + Top = 205 + *< END OBJECT: ClassLib="_baza.vcx" BaseClass="checkbox" /> + + ADD OBJECT 'But_renunt1' AS but_renunt WITH ; + Left = 315, ; + Name = "But_renunt1", ; + TabIndex = 14, ; + Top = 1, ; + ZOrderSet = 12 + *< END OBJECT: ClassLib="cmd_butoane.vcx" BaseClass="commandbutton" /> + + ADD OBJECT 'Cb_fel_cont' AS cb_tx_simplu WITH ; + Height = 29, ; + Left = 24, ; + Name = "Cb_fel_cont", ; + TabIndex = 4, ; + Top = 96, ; + Width = 314, ; + _CBBASE1.ControlSource = "", ; + _CBBASE1.Height = 23, ; + _CBBASE1.Left = 101, ; + _CBBASE1.Name = "_CBBASE1", ; + _CBBASE1.RowSource = "Activ,Pasiv,Bifunctional", ; + _CBBASE1.RowSourceType = 1, ; + _CBBASE1.Top = 3, ; + _CBBASE1.Width = 185, ; + _LBBASE1.Caption = "Fel Cont", ; + _LBBASE1.Name = "_LBBASE1" + *< END OBJECT: ClassLib="lb_tx.vcx" BaseClass="container" /> + + ADD OBJECT 'clb_cont' AS clb_tx_simplu WITH ; + Height = 29, ; + Left = 24, ; + Name = "clb_cont", ; + TabIndex = 2, ; + Top = 40, ; + Width = 314, ; + Text_simplu1.ControlSource = "", ; + Text_simplu1.Format = "!K", ; + Text_simplu1.MaxLength = 4, ; + Text_simplu1.Name = "Text_simplu1", ; + Lb_simplu1.Caption = "Cont", ; + Lb_simplu1.Name = "Lb_simplu1" + *< END OBJECT: ClassLib="lb_tx.vcx" BaseClass="container" /> + + ADD OBJECT 'Clb_explicatie' AS clb_tx_simplu WITH ; + Height = 29, ; + Left = 24, ; + Name = "Clb_explicatie", ; + TabIndex = 3, ; + Top = 68, ; + Width = 314, ; + Text_simplu1.ControlSource = "", ; + Text_simplu1.Format = "!K", ; + Text_simplu1.Name = "Text_simplu1", ; + Lb_simplu1.Caption = "Explicatie", ; + Lb_simplu1.Name = "Lb_simplu1" + *< END OBJECT: ClassLib="lb_tx.vcx" BaseClass="container" /> + + ADD OBJECT 'Cus_odata_config_cont_ireg1' AS cus_odata_config_cont_ireg WITH ; + Left = 191, ; + Name = "Cus_odata_config_cont_ireg1", ; + Top = 174 + *< END OBJECT: ClassLib="onomenclatoare.vcx" BaseClass="custom" /> + + ADD OBJECT 'Label1' AS label WITH ; + AutoSize = .T., ; + BackStyle = 0, ; + Caption = "Defalcate dupa :", ; + Height = 17, ; + Left = 24, ; + Name = "Label1", ; + Top = 162, ; + Width = 91 + *< END OBJECT: BaseClass="label" /> + + PROCEDURE inainte_de_do_termin + LOCAL plReturn + + plReturn = .t. + + Do Case + Case Empty(this.orec.Cont) + amessagebox('Nu ati completat contul!',0+48,"Atentie") + This.clb_cont.SetFocus() + plreturn=.F. + Case Empty(this.orec.Explicatie) + amessagebox('Nu ati completat explicatia!',0+48,"Atentie") + This.clb_explicatie.SetFocus() + plreturn=.F. + *!* Case Empty(porec.Fel_cont) + *!* Messagebox('Nu ati completat felul contului!',0+48,"Atentie") + *!* This.cb_fel_cont.SetFocus() + *!* plreturn=.F. + OTHERWISE + * + ENDCASE + lcactiune = This.cus_odata_config_cont_ireg1.cactiune + DO CASE + CASE lcactiune = 'INSERT' + SELECT v_config_cont_ireg + LOCATE FOR ALLTRIM(cont) = ALLTRIM(this.orec.cont) + IF FOUND() + amessagebox('Acest cont exista in lista de conturi cu inregistrari!' + CHR(13) + 'Nu poate fi adaugat!',48,'Atentie') + plReturn = .f. + ENDIF + CASE lcActiune = 'UPDATE' + SELECT v_config_cont_ireg + IF ALLTRIM(this.Contm) # ALLTRIM(this.orec.cont) + LOCATE FOR ALLTRIM(cont) = ALLTRIM(this.orec.cont) + IF FOUND() + amessagebox('Acest cont exista in lista de conturi cu inregistrari!' + CHR(13) + 'Nu poate fi adaugat!',48,'Atentie') + plReturn = .f. + ENDIF + ENDIF + OTHERWISE + + ENDCASE + IF plReturn + plReturn = This.cus_odata_config_cont_ireg1.salvare(This.OREC,This.NID) + ENDIF + + Return PLRETURN + + ENDPROC + + PROCEDURE Init + Lparameters toRec, tnId, tcActiune + DoDefault() + This.orec= toRec + This.nid = tnId + This.cus_odata_config_cont_ireg1.cactiune = tcActiune + + This.contm=toRec.Cont + This.clb_cont.text_simplu1.ControlSource = 'Thisform.orec.cont' + This.clb_explicatie.text_simplu1.ControlSource = 'Thisform.orec.explicatie' + This._checkbox1.ControlSource = 'Thisform.orec.cu_inregistrari' + This._checkbox2.ControlSource = 'Thisform.orec.cu_venchelt' + This._checkbox3.ControlSource = 'Thisform.orec.cu_proc_tva' + + If tcActiune = "UPDATE" Or tcActiune = "INSERT" + Do Case + Case This.orec.Fel_cont = 0 + Thisform.cb_fel_cont._CBBASE1.Value="Activ" + Case This.orec.Fel_cont = 1 + Thisform.cb_fel_cont._CBBASE1.Value="Pasiv" + Otherwise + Thisform.cb_fel_cont._CBBASE1.Value="Bifunctional" + Endcase + Endif + + If This.orec.cu_inregistrari = 0 + Thisform._checkbox2.ReadOnly = .T. + Thisform._checkbox3.ReadOnly = .T. + Else + Thisform._checkbox2.ReadOnly = .F. + Thisform._checkbox3.ReadOnly = .F. + Endif + + *!* this.cb_tip_entitate.SetFocus + + ENDPROC + + PROCEDURE Cb_fel_cont._CBBASE1.LostFocus + Do Case + Case This.Value="Activ" + Thisform.orec.Fel_cont=0 + Case This.Value="Pasiv" + Thisform.orec.Fel_cont=1 + Otherwise + Thisform.orec.Fel_cont=2 + Endcase + + ENDPROC + + PROCEDURE clb_cont.Text_simplu1.Valid + IF !EMPTY(this.Value) + lnVerificat = verific_cont(thisform.orec.cont) + IF lnVerificat < 0 + RETURN 0 + ENDIF + ENDIF + ENDPROC + + PROCEDURE _checkbox1.Valid + IF this.Value = 0 + thisform._checkbox2.ReadOnly = .t. + thisform._checkbox3.ReadOnly = .t. + ELSE + thisform._checkbox2.ReadOnly = .f. + thisform._checkbox3.ReadOnly = .f. + ENDIF + ENDPROC + +ENDDEFINE + +DEFINE CLASS frm_contnou AS _frmbase OF "_frm_base.vcx" + *< CLASSDATA: Baseclass="form" Timestamp="" Scale="Pixels" Uniqueid="" /> + + *-- OBJECTDATA items order determines ZOrder / El orden de los items OBJECTDATA determina el ZOrder + *< OBJECTDATA: ObjPath="_shape4" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="_shape3" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="_pgfrmconturi" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="But_renunt1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="Lb_simplu1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="Lb_simplu2" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="grid1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="grid1.Column1.Header1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="grid1.Column1.Text1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="grid1.Column2.Header1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="grid1.Column2.Text1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="grid2" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="grid2.Column1.Header1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="grid2.Column1.Text1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="grid2.Column2.Header1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="grid2.Column2.Text1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="grid2.Column3.Header1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="grid2.Column3.Text1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="_optiongrup1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="But_nou1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="But_nou2" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="But_sterge1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="But_sterge2" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="But_modifica1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="But_modifica2" UniqueID="" Timestamp="" /> + + * + *p: cacont + *p: ccont + *p: cdeunde + *p: cfiltruacont + *p: cpagcont + *p: creturncont + * + + * + cacont = + ccont = + cdeunde = + cfiltruacont = + cpagcont = + creturncont = + DoCreate = .T. + Height = 500 + Name = "frm_contnou" + Width = 795 + _shape1.Height = 29 + _shape1.Left = 0 + _shape1.Name = "_shape1" + _shape1.Top = 0 + _shape1.Width = 795 + _shape1.ZOrderSet = 3 + _shape2.Height = 29 + _shape2.Left = 726 + _shape2.Name = "_shape2" + _shape2.Top = 0 + _shape2.Width = 70 + _shape2.ZOrderSet = 4 + Lb_titlu_alb_b121.Caption = "PLANUL DE CONTURI" + Lb_titlu_alb_b121.FontBold = .T. + Lb_titlu_alb_b121.Name = "Lb_titlu_alb_b121" + Lb_titlu_alb_b121.TabIndex = 13 + Lb_titlu_alb_b121.ZOrderSet = 5 + But_termin1.Left = 763 + But_termin1.Name = "But_termin1" + But_termin1.TabIndex = 11 + But_termin1.Top = 1 + But_termin1.ZOrderSet = 6 + Gridsort1.Name = "Gridsort1" + * + + ADD OBJECT '_optiongrup1' AS _optiongrup WITH ; + Height = 27, ; + Left = 426, ; + Name = "_optiongrup1", ; + TabIndex = 7, ; + Top = 60, ; + Width = 236, ; + Option1.Caption = "Selectie", ; + Option1.Left = 5, ; + Option1.Name = "Option1", ; + Option1.Top = 5, ; + Option2.AutoSize = .T., ; + Option2.Caption = "Toate simbolurile definite", ; + Option2.Left = 74, ; + Option2.Name = "Option2", ; + Option2.Top = 5 + *< END OBJECT: ClassLib="_baza.vcx" BaseClass="optiongroup" /> + + ADD OBJECT '_pgfrmconturi' AS _pgfrmbase WITH ; + ActivePage = 9, ; + ErasePage = .T., ; + Height = 420, ; + Left = 36, ; + Name = "_pgfrmconturi", ; + PageCount = 9, ; + TabIndex = 1, ; + TabStyle = 1, ; + Top = 60, ; + Width = 336, ; + ZOrderSet = 2, ; + Page1.Caption = "1", ; + Page1.Name = "Page1", ; + Page2.Caption = "2", ; + Page2.Name = "Page2", ; + Page3.Caption = "3", ; + Page3.Name = "Page3", ; + Page4.Caption = "4", ; + Page4.Name = "Page4", ; + Page5.Caption = "5", ; + Page5.Name = "Page5", ; + Page6.Caption = "6", ; + Page6.Name = "Page6", ; + Page7.Caption = "7", ; + Page7.Name = "Page7", ; + Page8.Caption = "8", ; + Page8.Name = "Page8", ; + Page9.Caption = "Toate", ; + Page9.Name = "Page9" + *< END OBJECT: ClassLib="_frm_base.vcx" BaseClass="pageframe" /> + + ADD OBJECT '_shape3' AS _shape WITH ; + BackStyle = 0, ; + BorderColor = 128,128,128, ; + Height = 444, ; + Left = 24, ; + Name = "_shape3", ; + Top = 48, ; + Width = 360, ; + ZOrderSet = 1 + *< END OBJECT: ClassLib="_baza.vcx" BaseClass="shape" /> + + ADD OBJECT '_shape4' AS _shape WITH ; + BackStyle = 0, ; + BorderColor = 128,128,128, ; + Height = 444, ; + Left = 408, ; + Name = "_shape4", ; + Top = 48, ; + Width = 360, ; + ZOrderSet = 0 + *< END OBJECT: ClassLib="_baza.vcx" BaseClass="shape" /> + + ADD OBJECT 'But_modifica1' AS but_modifica WITH ; + Height = 27, ; + Left = 697, ; + Name = "But_modifica1", ; + TabIndex = 9, ; + ToolTipText = "Modificare cont analitic", ; + Top = 58 + *< END OBJECT: ClassLib="cmd_butoane.vcx" BaseClass="commandbutton" /> + + ADD OBJECT 'But_modifica2' AS but_modifica WITH ; + Height = 27, ; + Left = 306, ; + Name = "But_modifica2", ; + TabIndex = 4, ; + ToolTipText = "Modificare cont sintetic", ; + Top = 54 + *< END OBJECT: ClassLib="cmd_butoane.vcx" BaseClass="commandbutton" /> + + ADD OBJECT 'But_nou1' AS but_nou WITH ; + Height = 27, ; + Left = 276, ; + Name = "But_nou1", ; + TabIndex = 3, ; + ToolTipText = "Adaugare cont sintetic", ; + Top = 54 + *< END OBJECT: ClassLib="cmd_butoane.vcx" BaseClass="commandbutton" /> + + ADD OBJECT 'But_nou2' AS but_nou WITH ; + Height = 27, ; + Left = 666, ; + Name = "But_nou2", ; + TabIndex = 8, ; + ToolTipText = "Adaugare cont analitic", ; + Top = 58 + *< END OBJECT: ClassLib="cmd_butoane.vcx" BaseClass="commandbutton" /> + + ADD OBJECT 'But_renunt1' AS but_renunt WITH ; + Left = 732, ; + Name = "But_renunt1", ; + TabIndex = 12, ; + Top = 1, ; + ZOrderSet = 7 + *< END OBJECT: ClassLib="cmd_butoane.vcx" BaseClass="commandbutton" /> + + ADD OBJECT 'But_sterge1' AS but_sterge WITH ; + Height = 27, ; + Left = 726, ; + Name = "But_sterge1", ; + TabIndex = 10, ; + ToolTipText = "Stergere cont analitic", ; + Top = 58 + *< END OBJECT: ClassLib="cmd_butoane.vcx" BaseClass="commandbutton" /> + + ADD OBJECT 'But_sterge2' AS but_sterge WITH ; + Height = 27, ; + Left = 336, ; + Name = "But_sterge2", ; + TabIndex = 5, ; + ToolTipText = "Stergere cont sintetic", ; + Top = 54 + *< END OBJECT: ClassLib="cmd_butoane.vcx" BaseClass="commandbutton" /> + + ADD OBJECT 'grid1' AS _grdrow WITH ; + ColumnCount = 2, ; + DeleteMark = .F., ; + Height = 384, ; + Left = 45, ; + Name = "grid1", ; + Panel = 1, ; + RecordSource = "plcont", ; + TabIndex = 2, ; + Top = 92, ; + Width = 320, ; + ZOrderSet = 10, ; + Column1.ControlSource = "cont", ; + Column1.Name = "Column1", ; + Column1.Width = 49, ; + Column2.ControlSource = "explicatie", ; + Column2.Name = "Column2", ; + Column2.Width = 239 + *< END OBJECT: ClassLib="_grd_base.vcx" BaseClass="grid" /> + + ADD OBJECT 'grid1.Column1.Header1' AS header WITH ; + Alignment = 2, ; + Caption = "Cont", ; + Name = "Header1" + *< END OBJECT: BaseClass="header" /> + + ADD OBJECT 'grid1.Column1.Text1' AS textbox WITH ; + BackColor = 255,255,255, ; + BorderStyle = 0, ; + ForeColor = 0,0,0, ; + Margin = 0, ; + Name = "Text1" + *< END OBJECT: BaseClass="textbox" /> + + ADD OBJECT 'grid1.Column2.Header1' AS header WITH ; + Alignment = 2, ; + Caption = "Denumire", ; + Name = "Header1" + *< END OBJECT: BaseClass="header" /> + + ADD OBJECT 'grid1.Column2.Text1' AS textbox WITH ; + BackColor = 255,255,255, ; + BorderStyle = 0, ; + ForeColor = 0,0,0, ; + Margin = 0, ; + Name = "Text1" + *< END OBJECT: BaseClass="textbox" /> + + ADD OBJECT 'grid2' AS _grdrow WITH ; + ColumnCount = 3, ; + DeleteMark = .F., ; + Height = 384, ; + Left = 430, ; + Name = "grid2", ; + Panel = 1, ; + TabIndex = 6, ; + Top = 92, ; + Width = 320, ; + ZOrderSet = 11, ; + Column1.ControlSource = "cont", ; + Column1.Name = "Column1", ; + Column1.Width = 41, ; + Column2.ControlSource = "acont", ; + Column2.Name = "Column2", ; + Column2.Width = 43, ; + Column3.ControlSource = "explicatie", ; + Column3.Name = "Column3", ; + Column3.Width = 203 + *< END OBJECT: ClassLib="_grd_base.vcx" BaseClass="grid" /> + + ADD OBJECT 'grid2.Column1.Header1' AS header WITH ; + Alignment = 2, ; + Caption = "Cont", ; + Name = "Header1" + *< END OBJECT: BaseClass="header" /> + + ADD OBJECT 'grid2.Column1.Text1' AS textbox WITH ; + BackColor = 255,255,255, ; + BorderStyle = 0, ; + ForeColor = 0,0,0, ; + Margin = 0, ; + Name = "Text1" + *< END OBJECT: BaseClass="textbox" /> + + ADD OBJECT 'grid2.Column2.Header1' AS header WITH ; + Alignment = 2, ; + Caption = "Simbol", ; + Name = "Header1" + *< END OBJECT: BaseClass="header" /> + + ADD OBJECT 'grid2.Column2.Text1' AS textbox WITH ; + BackColor = 255,255,255, ; + BorderStyle = 0, ; + ForeColor = 0,0,0, ; + Margin = 0, ; + Name = "Text1" + *< END OBJECT: BaseClass="textbox" /> + + ADD OBJECT 'grid2.Column3.Header1' AS header WITH ; + Alignment = 2, ; + Caption = "Denumire", ; + Name = "Header1" + *< END OBJECT: BaseClass="header" /> + + ADD OBJECT 'grid2.Column3.Text1' AS textbox WITH ; + BackColor = 255,255,255, ; + BorderStyle = 0, ; + ForeColor = 0,0,0, ; + Margin = 0, ; + Name = "Text1" + *< END OBJECT: BaseClass="textbox" /> + + ADD OBJECT 'Lb_simplu1' AS lb_simplu WITH ; + BackColor = 255,255,255, ; + BackStyle = 1, ; + Caption = "Conturi", ; + Left = 37, ; + Name = "Lb_simplu1", ; + TabIndex = 14, ; + Top = 40, ; + ZOrderSet = 8 + *< END OBJECT: ClassLib="lb.vcx" BaseClass="label" /> + + ADD OBJECT 'Lb_simplu2' AS lb_simplu WITH ; + BackColor = 255,255,255, ; + BackStyle = 1, ; + Caption = "Simboluri analitice", ; + Left = 422, ; + Name = "Lb_simplu2", ; + TabIndex = 15, ; + Top = 40, ; + ZOrderSet = 9 + *< END OBJECT: ClassLib="lb.vcx" BaseClass="label" /> + + PROCEDURE actualizeaza_grid1 + Lparameters tcFiltru + Local lcFiltru + lcFiltru=tcFiltru + If Empty(lcFiltru) + lcFiltru=poplcont.ca_baza1.cfiltru + Endif + save_grid_tag(Thisform.grid1) + poplcont.ca_baza1.cfiltru=lcFiltru + poplcont.ca_baza1.afisare() + restore_grid_tag(Thisform.grid1) + ENDPROC + + PROCEDURE actualizeaza_grid2 + Lparameters tcFiltru + Local lcFiltru + lcFiltru=tcFiltru + If Empty(lcFiltru) + lcFiltru=[an=]+Alltrim(Str(gnAn)) + Else + lcFiltru=[an=]+Alltrim(Str(gnAn))+tcFiltru + Endif + save_grid_tag(Thisform.grid2) + poplcontana.ca_baza1.cfiltru=lcFiltru + poplcontana.ca_baza1.afisare() + restore_grid_tag(Thisform.grid2) + ENDPROC + + PROCEDURE do_cauta + Local lcFiltru + lcFiltru=[an=]+Alltrim(Str(gnAn))+[ and SUBSTR(explicatie,1,3)!=' '] + If Thisform.cpagcont!="Toate" + lcFiltru=lcFiltru+[ AND SUBSTR(cont,1,1)=']+Alltrim(Thisform.cpagcont)+['] + Endif + Thisform.actualizeaza_grid1(lcFiltru) + Select plcont + Go Top + lcFiltru=[ and cont=']+Alltrim(pccont)+['] + Thisform.cfiltruacont=lcFiltru + Thisform.actualizeaza_grid2(lcFiltru) + Select plcontana + Go Top + Thisform.cacont=acont + Select plcont + + ENDPROC + + PROCEDURE inainte_de_do_termin + Select plcont + Set Filter To + Select plcontana + Set Filter To + If !Empty(Thisform.creturncont) + lcVar=Thisform.creturncont + &lcVar=Padr(Thisform.ccont,4," ")+Iif(!Empty(Thisform.cacont),"."+Padr(Thisform.cacont,4," "),"") + Endif + RETURN .T. + ENDPROC + + PROCEDURE Init + Parameters tcReturneazaCont + If Parameters()=1 && in tcReturneazaCont am numele variabilei care trebuie setate cu contul ales + Thisform.cReturnCont=Alltrim(tcReturneazaCont) + Endif + Select plcont + Go Top + Thisform.ccont=Cont + Thisform.cacont="" + Select plcontana + lcFiltru=[ and cont=']+Alltrim(Thisform.ccont)+['] + Thisform.cfiltruacont=lcFiltru + Thisform.actualizeaza_grid2(lcFiltru) + Select plcont + DoDefault() + ENDPROC + + PROCEDURE KeyPress + Lparameters nKeyCode, nShiftAltCtrl + lcActiveControl = Upper(Alltrim(This.ActiveControl.Name)) + + If nKeyCode=13 And lcActiveControl = 'GRID1' + Nodefault + Thisform.grid2.SetFocus() + Endif + + If nKeyCode = 13 And lcActiveControl = 'GRID2' + Nodefault + Thisform.but_termin1.SetFocus() + Endif + + DoDefault(nKeyCode, nShiftAltCtrl) + ENDPROC + + PROCEDURE But_modifica1.Click + Private pnbuton + Local lcFiltru + pnbuton=1 + Select plcontana + Scatter Name loRec + AddProperty(loRec,'balana',1) + Do Adauga_Modifica_Inregistrare With "plcont",loRec,loRec.Id_plcont,"UPDATE" + If pnbuton=1 + If Thisform._optiongrup1.Value=1 + lcFiltru=Thisform.cfiltruacont + Else + lcFiltru="" + Endif + Thisform.actualizeaza_grid2(lcFiltru) + Endif + Thisform.grid2.SetFocus() + ENDPROC + + PROCEDURE But_modifica2.Click + Private pnbuton,pnrec + pnbuton=1 + Select plcont + pnrec=RECNO() + Scatter Name loRec + AddProperty(loRec,'balana',0) + Do Adauga_Modifica_Inregistrare With "plcont",loRec,loRec.Id_plcont,"UPDATE" + If pnbuton=1 + Thisform.actualizeaza_grid1() + Select plcont + Go pnrec + lcFiltru=[ and cont=']+Alltrim(cont)+['] + Thisform.cfiltruacont=lcFiltru + Thisform.actualizeaza_grid2(lcFiltru) + Select plcontana + Go Top + Thisform.cacont=acont + Select plcont + Endif + Thisform.grid1.SetFocus() + ENDPROC + + PROCEDURE But_nou1.Click + Private pnbuton + Select plcont + pnbuton=1 + Scatter Name loRec Blank + With loRec + .tip_cont=0 + .an = gnAn + Endwith + AddProperty(loRec,'balana',0) + Do Adauga_Modifica_Inregistrare With "plcont",loRec,,"INSERT" + If pnbuton=1 + Thisform.actualizeaza_grid1() + Select plcont + Locate For Cont=loRec.Cont + lcFiltru=[ and cont=']+Alltrim(Cont)+['] + Thisform.cfiltruacont=lcFiltru + Thisform.actualizeaza_grid2(lcFiltru) + Select plcontana + Go Top + Thisform.cacont=acont + Select plcont + Endif + Thisform.grid1.SetFocus() + Release loRec + ENDPROC + + PROCEDURE But_nou2.Click + Private pccont,pctipsold,pnbuton + Local lcFiltru + Select plcont + pccont=Cont + pctipsold=tip_sold + pnbuton=1 + Select plcontana + Scatter Name loRec Blank + With loRec + .Cont=pccont + .tip_sold=pctipsold + .tip_cont=1 + .an = gnAn + Endwith + AddProperty(loRec,'balana',1) + Do Adauga_Modifica_Inregistrare With "plcont",loRec,,"INSERT" + If pnbuton=1 + If Thisform._optiongrup1.Value=1 + lcFiltru=Thisform.cfiltruacont + Else + lcFiltru="" + Endif + Thisform.actualizeaza_grid2(lcFiltru) + Endif + Thisform.grid2.SetFocus() + ENDPROC + + PROCEDURE But_sterge1.Click + Private pniesire + Local lcFiltru + pniesire=1 + Select plcontana + Scatter Name loRec + Do STERGE_INREGISTRARE With "plcont",loRec.id_plcont + If pniesire=1 + If Thisform._optiongrup1.Value=1 + lcFiltru=Thisform.cfiltruacont + Else + lcFiltru="" + Endif + Thisform.actualizeaza_grid2(lcFiltru) + Endif + Thisform.grid2.SetFocus() + ENDPROC + + PROCEDURE But_sterge2.Click + Private pniesire,pnrec + pniesire=1 + Select plcont + pnrec=RECNO() + Scatter Name loRec + Do STERGE_INREGISTRARE With "plcont",loRec.id_plcont + If pniesire=1 + Thisform.actualizeaza_grid1() + Select plcont + pnrec=MIN(RECCOUNT(),pnrec) + Go pnrec + lcFiltru=[ and cont=']+Alltrim(cont)+['] + Thisform.cfiltruacont=lcFiltru + Thisform.actualizeaza_grid2(lcFiltru) + Select plcontana + Go Top + Thisform.cacont=acont + Select plcont + Endif + thisform.grid1.SetFocus() + ENDPROC + + PROCEDURE grid1.AfterRowColChange + LPARAMETERS nColIndex + + + IF UPPER(ALLTRIM(THISFORM.cCont)) <> UPPER(ALLTRIM(plcont.CONT)) + *If This.RowColChange= 1 Or This.RowColChange=3 + LOCAL pccont,lcFiltru + lcFiltru="" + SELECT plcont + pccont=CONT + THISFORM.cCont=pccont + IF THISFORM._optiongrup1.VALUE=1 + lcFiltru=[ and cont=']+ALLTRIM(pccont)+['] + THISFORM.cfiltruacont=lcFiltru + THISFORM.actualizeaza_grid2(lcFiltru) + SELECT plcontana + GO TOP + THISFORM.cacont=acont + ELSE + THISFORM.actualizeaza_grid2() + SELECT plcontana + LOCATE FOR CONT=pccont + THISFORM.cacont=acont + ENDIF + THISFORM.grid2.REFRESH + SELECT plcont + ENDIF + + + DODEFAULT() + + ENDPROC + + PROCEDURE grid2.AfterRowColChange + Lparameters nColIndex + If This.RowColChange= 1 Or This.RowColChange= 3 + Thisform.ccont=plcontana.Cont + Thisform.cacont=plcontana.acont + Endif + DoDefault() + ENDPROC + + PROCEDURE _optiongrup1.Valid + Local lcFiltru + lcFiltru="" + If This.Value=1 + lcFiltru=Thisform.cfiltruacont + Endif + Thisform.actualizeaza_grid2(lcFiltru) + ENDPROC + + PROCEDURE _pgfrmconturi.Page1.Click + thisform.cpagcont=this.Caption + thisform.do_cauta() + ENDPROC + + PROCEDURE _pgfrmconturi.Page2.Click + thisform.cpagcont=this.Caption + thisform.do_cauta() + ENDPROC + + PROCEDURE _pgfrmconturi.Page3.Click + thisform.cpagcont=this.Caption + thisform.do_cauta() + ENDPROC + + PROCEDURE _pgfrmconturi.Page4.Click + thisform.cpagcont=this.Caption + thisform.do_cauta() + ENDPROC + + PROCEDURE _pgfrmconturi.Page5.Click + thisform.cpagcont=this.Caption + thisform.do_cauta() + ENDPROC + + PROCEDURE _pgfrmconturi.Page6.Click + thisform.cpagcont=this.Caption + thisform.do_cauta() + ENDPROC + + PROCEDURE _pgfrmconturi.Page7.Click + thisform.cpagcont=this.Caption + thisform.do_cauta() + ENDPROC + + PROCEDURE _pgfrmconturi.Page8.Click + thisform.cpagcont=this.Caption + thisform.do_cauta() + ENDPROC + + PROCEDURE _pgfrmconturi.Page9.Click + thisform.cpagcont=this.Caption + thisform.do_cauta() + ENDPROC + +ENDDEFINE + +DEFINE CLASS frm_contract_nou AS _frmbase OF "_frm_base.vcx" + *< CLASSDATA: Baseclass="form" Timestamp="" Scale="Pixels" Uniqueid="" /> + + *-- OBJECTDATA items order determines ZOrder / El orden de los items OBJECTDATA determina el ZOrder + *< OBJECTDATA: ObjPath="Clb_data" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="Clb_tx_simplu4" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="Clb_numar" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="Clb_curs" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="BUT_RENUNT1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="_checkbox1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="Clb_valftva" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="Ct_clb_responsabil" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="Ct_clb_denumire_tip" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="Ct_clb_nume_val" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="Ct_clb_contract" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="opt_tip_contract" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="Ct_clb_denumire" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="Clb_tx_simplu5" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="Cus_odata_contract1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="Cb_proc_Tva" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="Ed_descriere" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="Clb_tx_simplu1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="Clb_tx_simplu1._label1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="Clb_tx_simplu1._textbox1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="Clb_tx_simplu1._label2" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="Clb_tx_simplu3" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="Clb_tx_simplu2" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="Clb_tx_simplu2._label1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="Clb_tx_simplu2._textbox1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="Clb_tx_simplu2._label2" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="Cb_tx_simplu1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="Clb_tx_simplu6" UniqueID="" Timestamp="" /> + + * + *m: do_alege_contract + *m: do_alege_partener + *m: do_alege_responsabil + *m: do_alege_tip + *m: do_alege_valuta + *m: do_schimba_tip + *m: do_scrolldown + *m: do_scrollup + *p: nid + *p: nmoneda_nationala && 0 - daca moneda aleasa nu este moneda nationala; 1 - daca este moneda nationala + *p: orec + * + + * + BorderStyle = 1 + Caption = "Contract" + DoCreate = .T. + Height = 484 + Name = "frm_contract_nou" + nid = .F. + nmoneda_nationala = 2 + orec = .NULL. + Width = 532 + _shape1.Anchor = 10 + _shape1.Height = 29 + _shape1.Left = 0 + _shape1.Name = "_shape1" + _shape1.Top = 0 + _shape1.Width = 600 + _shape1.ZOrderSet = 1 + _shape2.Height = 29 + _shape2.Left = 468 + _shape2.Name = "_shape2" + _shape2.Top = 0 + _shape2.Width = 61 + _shape2.ZOrderSet = 2 + Lb_titlu_alb_b121.Caption = "CONTRACT" + Lb_titlu_alb_b121.Name = "Lb_titlu_alb_b121" + Lb_titlu_alb_b121.TabIndex = 23 + Lb_titlu_alb_b121.ZOrderSet = 3 + BUT_TERMIN1.Anchor = 8 + BUT_TERMIN1.Left = 498 + BUT_TERMIN1.Name = "BUT_TERMIN1" + BUT_TERMIN1.TabIndex = 18 + BUT_TERMIN1.Top = 1 + BUT_TERMIN1.ZOrderSet = 4 + Gridsort1.Left = 96 + Gridsort1.Name = "Gridsort1" + Gridsort1.Top = 8 + * + + ADD OBJECT '_checkbox1' AS _checkbox WITH ; + Alignment = 0, ; + Caption = "Inactiv", ; + ControlSource = "porec.inactiv", ; + Left = 468, ; + Name = "_checkbox1", ; + TabIndex = 22, ; + TabStop = .F., ; + Top = 397, ; + ZOrderSet = 10 + *< END OBJECT: ClassLib="_baza.vcx" BaseClass="checkbox" /> + + ADD OBJECT 'BUT_RENUNT1' AS but_renunt WITH ; + Anchor = 8, ; + Left = 469, ; + Name = "BUT_RENUNT1", ; + TabIndex = 19, ; + Top = 1, ; + ZOrderSet = 9 + *< END OBJECT: ClassLib="cmd_butoane.vcx" BaseClass="commandbutton" /> + + ADD OBJECT 'Cb_proc_Tva' AS cb_tx_simplu WITH ; + Height = 29, ; + Left = 312, ; + Name = "Cb_proc_Tva", ; + TabIndex = 17, ; + Top = 264, ; + Width = 213, ; + _CBBASE1.Height = 23, ; + _CBBASE1.Left = 84, ; + _CBBASE1.Name = "_CBBASE1", ; + _CBBASE1.RowSourceType = 1, ; + _CBBASE1.Top = 3, ; + _CBBASE1.Value = 1, ; + _CBBASE1.Width = 124, ; + _lbbase1.Caption = "Procent TVA", ; + _lbbase1.Name = "_lbbase1" + *< END OBJECT: ClassLib="lb_tx.vcx" BaseClass="container" /> + + ADD OBJECT 'Cb_tx_simplu1' AS cb_tx_simplu WITH ; + Height = 29, ; + Left = 9, ; + Name = "Cb_tx_simplu1", ; + TabIndex = 10, ; + Top = 349, ; + Width = 270, ; + _cbbase1.BoundColumn = 2, ; + _cbbase1.BoundTo = .T., ; + _cbbase1.ColumnCount = 2, ; + _cbbase1.ColumnLines = .F., ; + _cbbase1.ColumnWidths = "200,0", ; + _cbbase1.ControlSource = "poRec.tip_curs", ; + _cbbase1.Height = 23, ; + _cbbase1.Left = 99, ; + _cbbase1.Name = "_cbbase1", ; + _cbbase1.RowSource = "Ziua facturii,1,Ultima zi din luna precedenta,2", ; + _cbbase1.RowSourceType = 1, ; + _cbbase1.Top = 3, ; + _cbbase1.Value = 0, ; + _cbbase1.Width = 166, ; + _lbbase1.Caption = "Zi curs factura", ; + _lbbase1.Name = "_lbbase1" + *< END OBJECT: ClassLib="lb_tx.vcx" BaseClass="container" /> + + ADD OBJECT 'Clb_curs' AS clb_tx_simplu WITH ; + Height = 29, ; + Left = 9, ; + Name = "Clb_curs", ; + TabIndex = 9, ; + Top = 321, ; + Width = 270, ; + ZOrderSet = 8, ; + Text_simplu1.ControlSource = "porec.curs", ; + Text_simplu1.Format = "!K", ; + Text_simplu1.InputMask = (get_mask(14,gnPCurs)), ; + Text_simplu1.Left = 140, ; + Text_simplu1.Name = "Text_simplu1", ; + Text_simplu1.Top = 3, ; + Text_simplu1.Width = 125, ; + Lb_simplu1.Caption = "Curs", ; + Lb_simplu1.Left = 6, ; + Lb_simplu1.Name = "Lb_simplu1", ; + Lb_simplu1.Top = 6 + *< END OBJECT: ClassLib="lb_tx.vcx" BaseClass="container" /> + + ADD OBJECT 'Clb_data' AS clb_tx_simplu WITH ; + Height = 29, ; + Left = 9, ; + Name = "Clb_data", ; + TabIndex = 4, ; + Top = 173, ; + Width = 179, ; + ZOrderSet = 6, ; + TEXT_SIMPLU1.ControlSource = "poRec.data", ; + TEXT_SIMPLU1.Format = "!K", ; + TEXT_SIMPLU1.Height = 23, ; + TEXT_SIMPLU1.Left = 85, ; + TEXT_SIMPLU1.Name = "TEXT_SIMPLU1", ; + TEXT_SIMPLU1.Top = 3, ; + TEXT_SIMPLU1.Width = 90, ; + Lb_simplu1.Caption = "Data", ; + Lb_simplu1.Left = 6, ; + Lb_simplu1.Name = "Lb_simplu1", ; + Lb_simplu1.Top = 6 + *< END OBJECT: ClassLib="lb_tx.vcx" BaseClass="container" /> + + ADD OBJECT 'Clb_numar' AS clb_tx_simplu WITH ; + Height = 29, ; + Left = 9, ; + Name = "Clb_numar", ; + TabIndex = 3, ; + Top = 145, ; + Width = 272, ; + ZOrderSet = 7, ; + Text_simplu1.ControlSource = "poRec.numar", ; + Text_simplu1.Format = "!K", ; + Text_simplu1.Left = 85, ; + Text_simplu1.Name = "Text_simplu1", ; + Text_simplu1.Top = 3, ; + Lb_simplu1.Caption = "Numar", ; + Lb_simplu1.Left = 6, ; + Lb_simplu1.Name = "Lb_simplu1", ; + Lb_simplu1.Top = 6 + *< END OBJECT: ClassLib="lb_tx.vcx" BaseClass="container" /> + + ADD OBJECT 'Clb_tx_simplu1' AS clb_tx_simplu WITH ; + Height = 53, ; + Left = 312, ; + Name = "Clb_tx_simplu1", ; + TabIndex = 14, ; + Top = 116, ; + Width = 213, ; + Text_simplu1.ControlSource = "poRec.coef_penalitati", ; + Text_simplu1.Height = 23, ; + Text_simplu1.Left = 138, ; + Text_simplu1.Name = "Text_simplu1", ; + Text_simplu1.ToolTipText = "Procent penalitati / zi - perioada 1", ; + Text_simplu1.Top = 3, ; + Text_simplu1.Width = 71, ; + Lb_simplu1.Caption = "Procent penalitati/zi 1", ; + Lb_simplu1.Name = "Lb_simplu1", ; + Lb_simplu1.Top = 5 + *< END OBJECT: ClassLib="lb_tx.vcx" BaseClass="container" /> + + ADD OBJECT 'Clb_tx_simplu1._label1' AS _label WITH ; + Caption = "dupa", ; + Left = 10, ; + Name = "_label1", ; + Top = 27 + *< END OBJECT: ClassLib="_baza.vcx" BaseClass="label" /> + + ADD OBJECT 'Clb_tx_simplu1._label2' AS _label WITH ; + Caption = "zile", ; + Left = 86, ; + Name = "_label2", ; + Top = 27 + *< END OBJECT: ClassLib="_baza.vcx" BaseClass="label" /> + + ADD OBJECT 'Clb_tx_simplu1._textbox1' AS _textbox WITH ; + ControlSource = "poRec.zile_penalitati", ; + Format = "!k", ; + Height = 23, ; + Left = 42, ; + Name = "_textbox1", ; + ToolTipText = "Numar de zile de la data facturii, dupa care se aplica procentul de penalitate perioada 1 (de obicei numarul de zile de scadenta)", ; + Top = 25, ; + Width = 36 + *< END OBJECT: ClassLib="_baza.vcx" BaseClass="textbox" /> + + ADD OBJECT 'Clb_tx_simplu2' AS clb_tx_simplu WITH ; + Height = 53, ; + Left = 312, ; + Name = "Clb_tx_simplu2", ; + TabIndex = 15, ; + Top = 168, ; + Width = 213, ; + Text_simplu1.ControlSource = "poRec.coef_penalitati2", ; + Text_simplu1.Height = 23, ; + Text_simplu1.Left = 138, ; + Text_simplu1.Name = "Text_simplu1", ; + Text_simplu1.ToolTipText = "Procent penalitati / zi - perioada 2", ; + Text_simplu1.Top = 3, ; + Text_simplu1.Width = 71, ; + Lb_simplu1.Caption = "Procent penalitati/zi 2", ; + Lb_simplu1.Name = "Lb_simplu1", ; + Lb_simplu1.Top = 5 + *< END OBJECT: ClassLib="lb_tx.vcx" BaseClass="container" /> + + ADD OBJECT 'Clb_tx_simplu2._label1' AS _label WITH ; + Caption = "dupa", ; + Left = 10, ; + Name = "_label1", ; + Top = 27 + *< END OBJECT: ClassLib="_baza.vcx" BaseClass="label" /> + + ADD OBJECT 'Clb_tx_simplu2._label2' AS _label WITH ; + Caption = "zile", ; + Left = 86, ; + Name = "_label2", ; + Top = 27 + *< END OBJECT: ClassLib="_baza.vcx" BaseClass="label" /> + + ADD OBJECT 'Clb_tx_simplu2._textbox1' AS _textbox WITH ; + ControlSource = "poRec.zile_penalitati2", ; + Format = "!k", ; + Height = 23, ; + Left = 42, ; + Name = "_textbox1", ; + ToolTipText = "Numar de zile de la data facturii, dupa care se aplica procentul de penalitate perioada 2 (daca este cazul)", ; + Top = 25, ; + Width = 36 + *< END OBJECT: ClassLib="_baza.vcx" BaseClass="textbox" /> + + ADD OBJECT 'Clb_tx_simplu3' AS clb_tx_simplu WITH ; + Height = 29, ; + Left = 312, ; + Name = "Clb_tx_simplu3", ; + TabIndex = 16, ; + Top = 220, ; + Width = 213, ; + Text_simplu1.ControlSource = "poRec.zile_gratie_penalitati", ; + Text_simplu1.Height = 23, ; + Text_simplu1.Left = 138, ; + Text_simplu1.Name = "Text_simplu1", ; + Text_simplu1.ToolTipText = "Perioada de restanta in care nu se factureaza penalitati", ; + Text_simplu1.Top = 3, ; + Text_simplu1.Width = 71, ; + Lb_simplu1.Caption = "Zile gratie penalitati", ; + Lb_simplu1.Name = "Lb_simplu1" + *< END OBJECT: ClassLib="lb_tx.vcx" BaseClass="container" /> + + ADD OBJECT 'Clb_tx_simplu4' AS clb_tx_simplu WITH ; + Height = 29, ; + Left = 9, ; + Name = "Clb_tx_simplu4", ; + TabIndex = 5, ; + Top = 201, ; + Width = 179, ; + ZOrderSet = 6, ; + Text_simplu1.ControlSource = "poRec.data_inceput", ; + Text_simplu1.Format = "!K", ; + Text_simplu1.Height = 23, ; + Text_simplu1.Left = 85, ; + Text_simplu1.Name = "Text_simplu1", ; + Text_simplu1.Top = 3, ; + Text_simplu1.Width = 90, ; + Lb_simplu1.Caption = "Data inceput", ; + Lb_simplu1.Left = 6, ; + Lb_simplu1.Name = "Lb_simplu1", ; + Lb_simplu1.Top = 6 + *< END OBJECT: ClassLib="lb_tx.vcx" BaseClass="container" /> + + ADD OBJECT 'Clb_tx_simplu5' AS clb_tx_simplu WITH ; + Height = 29, ; + Left = 9, ; + Name = "Clb_tx_simplu5", ; + TabIndex = 6, ; + Top = 229, ; + Width = 179, ; + ZOrderSet = 6, ; + Text_simplu1.ControlSource = "poRec.data_sfarsit", ; + Text_simplu1.Format = "!K", ; + Text_simplu1.Height = 23, ; + Text_simplu1.Left = 85, ; + Text_simplu1.Name = "Text_simplu1", ; + Text_simplu1.Top = 3, ; + Text_simplu1.Width = 90, ; + Lb_simplu1.Caption = "Data sfarsit", ; + Lb_simplu1.Left = 6, ; + Lb_simplu1.Name = "Lb_simplu1", ; + Lb_simplu1.Top = 6 + *< END OBJECT: ClassLib="lb_tx.vcx" BaseClass="container" /> + + ADD OBJECT 'Clb_tx_simplu6' AS clb_tx_simplu WITH ; + Height = 29, ; + Left = 312, ; + Name = "Clb_tx_simplu6", ; + TabIndex = 13, ; + Top = 88, ; + Width = 213, ; + Text_simplu1.ControlSource = "poRec.scadenta_incasare", ; + Text_simplu1.Height = 23, ; + Text_simplu1.Left = 138, ; + Text_simplu1.Name = "Text_simplu1", ; + Text_simplu1.ToolTipText = "Numar zile scadenta factura", ; + Text_simplu1.Top = 3, ; + Text_simplu1.Width = 71, ; + Lb_simplu1.Caption = "Zile scadenta", ; + Lb_simplu1.Name = "Lb_simplu1", ; + Lb_simplu1.Top = 5 + *< END OBJECT: ClassLib="lb_tx.vcx" BaseClass="container" /> + + ADD OBJECT 'Clb_valftva' AS clb_tx_simplu WITH ; + Height = 29, ; + Left = 9, ; + Name = "Clb_valftva", ; + TabIndex = 7, ; + Top = 265, ; + Width = 270, ; + ZOrderSet = 8, ; + Text_simplu1.ControlSource = "porec.valftva", ; + Text_simplu1.Format = "!K", ; + Text_simplu1.Height = 23, ; + Text_simplu1.InputMask = (get_mask(14,gnPc)), ; + Text_simplu1.Left = 140, ; + Text_simplu1.Name = "Text_simplu1", ; + Text_simplu1.Top = 3, ; + Text_simplu1.Width = 125, ; + Lb_simplu1.Caption = "Valoare fara TVA", ; + Lb_simplu1.Left = 6, ; + Lb_simplu1.Name = "Lb_simplu1", ; + Lb_simplu1.Top = 6 + *< END OBJECT: ClassLib="lb_tx.vcx" BaseClass="container" /> + + ADD OBJECT 'Ct_clb_contract' AS ct_clb_cautare_var WITH ; + cconditie = EMPTY(NVL(poRec.id_ctr,0)), ; + cprocedura = thisform.do_alege_contract(), ; + cvar_afisata = porec.numar2, ; + Height = 50, ; + Left = 101, ; + Name = "Ct_clb_contract", ; + TabIndex = 20, ; + Top = 42, ; + Visible = .F., ; + Width = 218, ; + ZOrderSet = 15, ; + SHAPE_CAUTARE.Height = 48, ; + SHAPE_CAUTARE.Left = 0, ; + SHAPE_CAUTARE.Name = "SHAPE_CAUTARE", ; + SHAPE_CAUTARE.Top = 0, ; + SHAPE_CAUTARE.Width = 180, ; + IMG_CAUTARE.Left = 191, ; + IMG_CAUTARE.Name = "IMG_CAUTARE", ; + IMG_CAUTARE.Top = 24, ; + LB_CAUTARE.Caption = "Contract", ; + LB_CAUTARE.Left = 6, ; + LB_CAUTARE.Name = "LB_CAUTARE", ; + LB_CAUTARE.Top = 5, ; + TX_CAUTARE.ControlSource = "", ; + TX_CAUTARE.Height = 23, ; + TX_CAUTARE.Left = 5, ; + TX_CAUTARE.Name = "TX_CAUTARE", ; + TX_CAUTARE.Top = 22, ; + TX_CAUTARE.Width = 170 + *< END OBJECT: ClassLib="caut_ora.vcx" BaseClass="container" /> + + ADD OBJECT 'Ct_clb_denumire' AS ct_clb_cautare_var WITH ; + cconditie = EMPTY(NVL(poRec.id_part,0)), ; + cprocedura = thisform.do_alege_partener(), ; + cvar_afisata = porec.denumire, ; + Height = 31, ; + Left = 8, ; + Name = "Ct_clb_denumire", ; + TabIndex = 2, ; + Top = 116, ; + Width = 305, ; + ZOrderSet = 12, ; + shape_cautare.Height = 29, ; + shape_cautare.Left = 1, ; + shape_cautare.Name = "shape_cautare", ; + shape_cautare.Top = 1, ; + shape_cautare.Width = 272, ; + img_cautare.Left = 281, ; + img_cautare.Name = "img_cautare", ; + img_cautare.Top = 5, ; + lb_cautare.Caption = "Partener", ; + lb_cautare.Name = "lb_cautare", ; + tx_cautare.ControlSource = "", ; + tx_cautare.Left = 85, ; + tx_cautare.Name = "tx_cautare", ; + tx_cautare.Top = 4 + *< END OBJECT: ClassLib="caut_ora.vcx" BaseClass="container" /> + + ADD OBJECT 'Ct_clb_denumire_tip' AS ct_clb_cautare_var WITH ; + cconditie = EMPTY(NVL(poRec.id_tip_ctr,0)), ; + cprocedura = thisform.do_alege_tip(), ; + cvar_afisata = porec.denumire_tip, ; + Height = 31, ; + Left = 8, ; + Name = "Ct_clb_denumire_tip", ; + TabIndex = 1, ; + Top = 88, ; + Width = 304, ; + ZOrderSet = 13, ; + shape_cautare.Height = 29, ; + shape_cautare.Left = 1, ; + shape_cautare.Name = "shape_cautare", ; + shape_cautare.Top = 1, ; + shape_cautare.Width = 272, ; + img_cautare.Left = 282, ; + img_cautare.Name = "img_cautare", ; + img_cautare.Top = 5, ; + lb_cautare.Caption = "Tip contract", ; + lb_cautare.Name = "lb_cautare", ; + tx_cautare.ControlSource = "", ; + tx_cautare.Height = 23, ; + tx_cautare.Left = 85, ; + tx_cautare.Name = "tx_cautare", ; + tx_cautare.Top = 4, ; + tx_cautare.Width = 184 + *< END OBJECT: ClassLib="caut_ora.vcx" BaseClass="container" /> + + ADD OBJECT 'Ct_clb_nume_val' AS ct_clb_cautare_var WITH ; + cconditie = EMPTY(NVL(poRec.id_valuta,0)) AND !EMPTY(poRec.valftva), ; + cprocedura = thisform.do_alege_valuta(), ; + cvar_afisata = porec.nume_val, ; + Height = 31, ; + Left = 8, ; + Name = "Ct_clb_nume_val", ; + TabIndex = 8, ; + Top = 292, ; + Width = 307, ; + ZOrderSet = 14, ; + SHAPE_CAUTARE.Height = 29, ; + SHAPE_CAUTARE.Left = 1, ; + SHAPE_CAUTARE.Name = "SHAPE_CAUTARE", ; + SHAPE_CAUTARE.Top = 1, ; + SHAPE_CAUTARE.Width = 270, ; + IMG_CAUTARE.Left = 281, ; + IMG_CAUTARE.Name = "IMG_CAUTARE", ; + IMG_CAUTARE.Top = 5, ; + LB_CAUTARE.Caption = "Valuta", ; + LB_CAUTARE.Name = "LB_CAUTARE", ; + TX_CAUTARE.ControlSource = "", ; + TX_CAUTARE.Left = 140, ; + TX_CAUTARE.Name = "TX_CAUTARE", ; + TX_CAUTARE.Width = 125 + *< END OBJECT: ClassLib="caut_ora.vcx" BaseClass="container" /> + + ADD OBJECT 'Ct_clb_responsabil' AS ct_clb_cautare_var WITH ; + cconditie = EMPTY(NVL(poRec.id_responsabil,0)), ; + cprocedura = thisform.do_alege_responsabil(), ; + cvar_afisata = porec.responsabil, ; + Height = 31, ; + Left = 9, ; + Name = "Ct_clb_responsabil", ; + TabIndex = 11, ; + Top = 384, ; + Width = 306, ; + ZOrderSet = 12, ; + shape_cautare.Height = 29, ; + shape_cautare.Left = 1, ; + shape_cautare.Name = "shape_cautare", ; + shape_cautare.Top = 1, ; + shape_cautare.Width = 270, ; + img_cautare.Left = 281, ; + img_cautare.Name = "img_cautare", ; + img_cautare.Top = 5, ; + lb_cautare.Caption = "Responsabil", ; + lb_cautare.Name = "lb_cautare", ; + tx_cautare.ControlSource = "", ; + tx_cautare.Left = 85, ; + tx_cautare.Name = "tx_cautare" + *< END OBJECT: ClassLib="caut_ora.vcx" BaseClass="container" /> + + ADD OBJECT 'Cus_odata_contract1' AS cus_odata_contract WITH ; + Left = 192, ; + Name = "Cus_odata_contract1", ; + Top = 5 + *< END OBJECT: ClassLib="onomenclatoare.vcx" BaseClass="custom" /> + + ADD OBJECT 'Ed_descriere' AS ed_tx_simplu WITH ; + Height = 58, ; + Left = 10, ; + Name = "Ed_descriere", ; + TabIndex = 12, ; + Top = 420, ; + Width = 519, ; + _edbase1.ControlSource = "poRec.descriere", ; + _edbase1.Format = "K!", ; + _edbase1.Height = 53, ; + _edbase1.Left = 85, ; + _edbase1.MaxLength = 250, ; + _edbase1.Name = "_edbase1", ; + _edbase1.Top = 2, ; + _edbase1.Width = 430, ; + _lbbase1.Caption = "Descriere", ; + _lbbase1.Name = "_lbbase1" + *< END OBJECT: ClassLib="lb_tx.vcx" BaseClass="container" /> + + ADD OBJECT 'opt_tip_contract' AS _optiongrup WITH ; + AutoSize = .F., ; + Height = 49, ; + Left = 9, ; + Name = "opt_tip_contract", ; + TabIndex = 21, ; + Top = 40, ; + Width = 94, ; + ZOrderSet = 16, ; + Option1.AutoSize = .T., ; + Option1.Caption = "Contract", ; + Option1.FontBold = .T., ; + Option1.Left = 7, ; + Option1.Name = "Option1", ; + Option1.Top = 5, ; + Option2.AutoSize = .T., ; + Option2.Caption = "Act aditional", ; + Option2.FontCharSet = 238, ; + Option2.Left = 5, ; + Option2.Name = "Option2", ; + Option2.Top = 27 + *< END OBJECT: ClassLib="_baza.vcx" BaseClass="optiongroup" /> + + PROCEDURE do_alege_contract + Local loCauta + loCauta = caut_contract() + If !Isnull(loCauta) And !Empty(Nvl(loCauta.id_ctr,0)) + poRec.id_tata = loCauta.id_ctr + poRec.numar2 = loCauta.contract + pnId_part = loCauta.id_part + poRec.id_part = loCauta.id_part + poRec.denumire = loCauta.denumire + Thisform.ct_clb_denumire.Refresh() + Thisform.ct_clb_denumire_tip.SetFocus() + Endif + + ENDPROC + + PROCEDURE do_alege_partener + *!* LOCAL lcselect, lcfiltru, lcschema, lcorder, lccoloane, lcTitlu, lcTitluColoane, lcFiltruOriginal, lcNumeProc + *!* lcselect = [select id_tip_ctr, denumire FROM ] + gcs + [.vtipuri_contracte where] + *!* lcfiltru = [1=2] + *!* lcschema = [] + *!* lcorder = [denumire] + *!* lccoloane = [denumire] + *!* lcTitlu = [Alegeti tip contract] + *!* lcTitluColoane = [Denumire] + *!* lcFiltruOriginal = [] + *!* lcNumeProc = "" + *!* lnPornire = 6 + *!* llDesktop = .T. + *!* locauta = cauta_alfa(lcselect, lcfiltru, lcschema, lcorder, lccoloane, lcTitlu, lcTitluColoane, lcNumeProc, .F., lcFiltruOriginal,,lnPornire,,,llDesktop) + + If Type('pnId_tip_part')<>'U' + locauta = caut_partener(pnId_tip_part) + *!* modificare 11.04.2012 + Else + locauta = caut_parteneri() + Endif + *!* modificare 11.04.2012 ^ + If buton=2 + Return + Endif + + pnId_part = locauta.id_part + porec.id_part = locauta.id_part + porec.denumire = locauta.denumire + *!* THISFORM.clb_denumire.teXT_SIMPLU1.REFRESH + Thisform.clb_numar.SetFocus() + *!* modificare 11.04.2012 + *!* Endif + *!* modificare 11.04.2012 ^ + ENDPROC + + PROCEDURE do_alege_responsabil + Local loCauta + loCauta = CautPartenerContabilitate(GetHash([cTitlu=>Responsabili??cTipuriParteneri=>]+Alltrim(Str(gnIdTipResponsabili))+[??lAdaugCorespondente=>1])) + If !Empty(Nvl(loCauta.id_part,0)) + poRec.id_responsabil = loCauta.id_part + poRec.responsabil = Alltrim(loCauta.nume) + This.but_TERMIN1.SetFocus() + Endif + ENDPROC + + PROCEDURE do_alege_tip + LOCAL lcselect, lcfiltru, lcschema, lcorder, lccoloane, lcTitlu, lcTitluColoane, lcFiltruOriginal, lcNumeProc + lcselect = [select id_tip_ctr, denumire_tip FROM vtipuri_contracte] + lcfiltru = [] && [1=2] + lcschema = [] + lcorder = [denumire_tip] + lccoloane = [denumire_tip] + lcTitlu = [Alegeti tip contract] + lcTitluColoane = [Denumire] + + IF TYPE('gnParametru_prog')<>'U' + DO CASE + CASE gnParametru_prog=1 + lcFiltruOriginal = [substr(tata,2,6)='CLIENT'] + CASE gnParametru_prog=2 + lcFiltruOriginal = [substr(tata,2,6)='FURNIZ'] + OTHERWISE + lcFiltruOriginal = [] + ENDCASE + ELSE + lcFiltruOriginal = [] + ENDIF + lcNumeProc = "" + lnPornire = 6 + llDesktop = .T. + locauta = cauta_alfa(lcselect, lcfiltru, lcschema, lcorder, lccoloane, lcTitlu, lcTitluColoane, lcNumeProc, .F., lcFiltruOriginal,,lnPornire,,,llDesktop) && 11.07.2007 + + IF buton=2 + RETURN + ENDIF + + porec.id_tip_ctr = locauta.id_tip_ctr + porec.denumire_tip = locauta.denumire_tip + *!* THISFORM.clb_denumire_tip.teXT_SIMPLU1.REFRESH + thisform.but_TERMIN1.SetFocus() + + ENDPROC + + PROCEDURE do_alege_valuta + Local loCauta + loCauta = caut_valuta(1) + *!* modificare migrare v 1.0 > v 2.0 + *!* If !Isnull(loCauta) And !Empty(Nvl(loCauta.id_valuta,0)) + If gnButon = 1 + *!* modificare migrare v 1.0 > v 2.0 ^ + poRec.id_valuta = loCauta.id_valuta + poRec.nume_val = loCauta.nume_val + *!* modificare migrare v 1.0 > v 2.0 + This.nmoneda_nationala = loCauta.moneda_nationala + Else + poRec.id_valuta = 0 + poRec.nume_val = [] + This.nmoneda_nationala = 2 + Endif + *!* modificare migrare v 1.0 > v 2.0 ^ + If This.nmoneda_nationala=0 + Thisform.clb_curs.text_simplu1.SetFocus() + with Thisform.clb_valftva.text_simplu1 + .InputMask = get_mask(14,gnPc) + .Refresh() + Endwith + Else + Thisform.cb_proc_Tva.SetFocus() + with Thisform.clb_valftva.text_simplu1 + .InputMask = get_mask(14,gnPVal) + .Refresh() + Endwith + Endif + *!* modificare migrare v 1.0 > v 2.0 + *!* EndIf + *!* modificare migrare v 1.0 > v 2.0 + + ENDPROC + + PROCEDURE do_schimba_tip + Lparameters tnTip + If tnTip = 1 + poRec.tip_istoric = 'C' + With Thisform.opt_tip_contract + .option1.FontBold = .T. + .option2.FontBold = .F. + Endwith + + Thisform.ct_clb_contract.Visible = .F. + poRec.id_tata = 0 + poRec.numar2 = [] + Else + poRec.tip_istoric = 'A' + With Thisform.opt_tip_contract + .option1.FontBold = .F. + .option2.FontBold = .T. + Endwith + + With Thisform.ct_clb_contract + .Refresh() + .Visible = .T. + Endwith + Endif + ENDPROC + + PROCEDURE do_scrolldown + This.Height = 495 + This.ct_clb_nume_val.Refresh() + This.ct_clb_responsabil.Refresh() + This.but_jos1.Visible = .F. + This.but_sus1.Visible = .T. + + ENDPROC + + PROCEDURE do_scrollup + This.Height = 345 + This.nmoneda_nationala = 2 + poRec.valftva = 0 + poRec.id_valuta = 0 + poRec.Curs = 0 + poRec.nume_val = [] + poRec.id_responsabil = 0 + poRec.responsabil = [] + This.cb_proc_Tva._CBBASE1.Value = 1 + This.but_sus1.Visible = .F. + This.but_jos1.Visible = .T. + + ENDPROC + + PROCEDURE inainte_de_do_termin + Local llReturn + lccontrol = Upper(This.ActiveControl.BaseClass ) + If Inlist(lccontrol,"TEXTBOX","EDITBOX","COMBOBOX") + lcval=This.ActiveControl.ControlSource + &lcval=Thisform.ActiveControl.Value + Endif + + Do Case + Case Thisform.opt_tip_contract.Value = 2 And Empty(Nvl(poRec.id_tata,0)) + amessagebox("Nu ati ales contractul!",48,"Atentie") + Thisform.ct_clb_contract.tx_cautare.SetFocus() + llReturn = .F. + Case Empty(Nvl(poRec.id_part,0)) + amessagebox('Nu ati completat partenerul!',0+48,"Atentie") + Thisform.ct_clb_denumire.tx_cautare.SetFocus() + llReturn=.F. + Case Empty(Nvl(poRec.numar,0)) + amessagebox('Nu ati completat numarul contractului!',0+48,"Atentie") + This.clb_numar.texT_SIMPLU1.SetFocus() + llReturn=.F. + Case Empty(poRec.Data) + amessagebox('Nu ati completat data contractului!',0+48,"Atentie") + This.clb_data.texT_SIMPLU1.SetFocus() + llReturn=.F. + Case Empty(Nvl(poRec.id_tip_ctr,0)) + amessagebox('Nu ati completat tipul contractului!',0+48,"Atentie") + Thisform.ct_clb_denumire_tip.tx_cautare.SetFocus() + llReturn=.F. + Case !Empty(NVL(poRec.valftva,0)) And Empty(Nvl(poRec.id_valuta,0)) And This.nmoneda_nationala = 2 + amessagebox("Nu ati ales moneda pentru suma introdusa!",48,"Atentie") + Thisform.ct_clb_nume_val.tx_cautare.SetFocus() + llReturn = .F. + Case Empty(poRec.Curs) And This.nmoneda_nationala = 0 + amessagebox("Nu ati introdus cursul!",48,"Atentie") + Thisform.clb_curs.texT_SIMPLU1.SetFocus() + llReturn = .F. + Otherwise + llReturn=This.cus_odata_contract1.salvare(This.OREC,This.NID) + Endcase + + Return llReturn + + ENDPROC + + PROCEDURE Init + *!* 08.02.2016 + *!* marius.mutu + *!* cotele de TVA se citesc din COTE_TVA, nu sunt scrise de mana + + Lparameters toRec, tnId, tcActiune + DoDefault() + + Local lcListaTVA, lnSucces + + This.orec = toRec + This.nid = tnId + This.cus_odata_contract1.cactiune = tcActiune + *!* If gnAn * 12 + gnLuna <= 2010 * 12 + 6 + *!* This.cb_PROC_TVA._cbbase1.RowSource = "0,5,9,19" + *!* Else + *!* This.cb_PROC_TVA._cbbase1.RowSource = "0,5,9,19,20,24" + *!* Endif + + lnSucces = update_cote_TVA() + If lnSucces < 0 + AMESSAGEBOX(goExecutor.cEroare, 0 + 16, _Screen.Caption) + lcListaTVA = "0,5,9,19,20,24" + Else + lcListaTVA = cursor2lista("cote_TVA", "procent", ",") + Endif + Use In (Select('cote_TVA')) + This.cb_PROC_TVA._cbbase1.RowSource = m.lcListaTVA + + *!* modificare 11.04.2012 + *!* If Type('pnId_part')<>'U' And !Empty(Nvl(pnId_part,0)) + If !Empty(Nvl(toRec.id_part, 0)) + *!* modificare 11.04.2012 ^ + Private poDenPart + Local lcschema, lcselect, lcFiltru, lcOrder, llAfiseaza, lcGroup, llModParam, lcFiltruOriginal + Store '' To poDenPart + + lcschema = [] + lcselect = [SELECT id_part, denumire FROM VNOM_PARTENERI] + lcOrder = [denumire] + lcFiltru = [id_part = ] + Alltrim(Str(toRec.id_part)) && modificare 11.04.2012 : Transform(pnId_part) + llAfiseaza = .F. + lcGroup = "" + llModParam = .T. + lcFiltruOriginal = [] + gencursor('poDenPart', 'crsDenPart', lcselect, lcFiltru, lcschema, lcOrder, llAfiseaza, lcGroup, llModParam, lcFiltruOriginal) + poDenPart.ca_baza1.afisare() + + Select crsDenPart + toRec.id_part = id_part + toRec.denumire = Alltrim(denumire) + + If Used("crsDenPart") + Use In crsDenPart + Endif + Release poDenPart + + *!* modificare 11.04.2012 + Thisform.ct_clb_denumire.do_dezactiveaza() + *!* modificare 11.04.2012 ^ + Endif + + If Type('pnId_tip_ctr') <> 'U' And !Empty(Nvl(pnId_tip_ctr, 0)) + Private poTipCtr + Local lcschema, lcselect, lcFiltru, lcOrder, llAfiseaza, lcGroup, llModParam, lcFiltruOriginal + Store '' To poTipCtr + + lcschema = [] + lcselect = [select id_tip_ctr, denumire_tip from vtipuri_contracte] + lcOrder = [denumire_tip] + *!* lcFiltru = [] + llAfiseaza = .F. + lcGroup = "" + llModParam = .T. + *lcFiltruOriginal = [id_tip_ctr = ] + ALLTRIM(STR(pnId_tip_ctr)) + If Type('gnParametru_prog') <> 'U' + Do Case + Case gnParametru_prog = 1 + lcFiltru = [substr(tata,2,6)='CLIENT'] + Case gnParametru_prog = 2 + lcFiltru = [substr(tata,2,6)='FURNIZ'] + Otherwise + lcFiltru = [2=2] + Endcase + Else + lcFiltru = [id_tip_ctr = ?pnId_tip_ctr] + Endif + lcFiltruOriginal = [] + + gencursor('poTipCtr', 'crsTipCtr', lcselect, lcFiltru, lcschema, lcOrder, llAfiseaza, lcGroup, llModParam, lcFiltruOriginal) + poTipCtr.ca_baza1.afisare() + + Select crsTipCtr + toRec.id_tip_ctr = id_tip_ctr + toRec.denumire_tip = Alltrim(denumire_tip) + + * Adaugat ulterior, copiat din ct_contracte + If Type('gnParametru_prog') <> 'U' + toRec.id_tip_ctr = Iif(gnParametru_prog = 1, -1, -2) + toRec.denumire_tip = Iif(gnParametru_prog = 1, 'CLIENT', 'FURNIZOR') + ENDIF + If Used("crsTipCtr") + Use In crsTipCtr + Endif + Release poTipCtr + + Thisform.ct_clb_denumire_tip.do_dezactiveaza() + Endif + + *!* modificare 11.04.2012 + *!* If Type('pnId_tip_part') = 'U' + *!* Thisform.ct_clb_denumire.do_dezactiveaza() + *!* Endif + *!* modificare 11.04.2012 ^ + + *!* If Type('pnId_tip_ctr') <> 'U' + *!* Thisform.ct_clb_denumire_tip.do_dezactiveaza() + *!* Endif + ENDPROC + + PROCEDURE Cb_proc_Tva._CBBASE1.InteractiveChange + poRec.proc_tva = Val(This.List(This.Value)) + ENDPROC + + PROCEDURE Cb_proc_Tva._CBBASE1.ProgrammaticChange + This.InteractiveChange() + + ENDPROC + + PROCEDURE opt_tip_contract.Click + Thisform.do_schimba_tip(This.Value) + ENDPROC + +ENDDEFINE + +DEFINE CLASS frm_coresp_tipuri_conturi_nou AS frm_termin_renunt OF "_frm_child.vcx" + *< CLASSDATA: Baseclass="form" Timestamp="" Scale="Pixels" Uniqueid="" /> + + *-- OBJECTDATA items order determines ZOrder / El orden de los items OBJECTDATA determina el ZOrder + *< OBJECTDATA: ObjPath="Cb_tip_entitate" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="Cb_tx_simplu1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="But_nou1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="Cus_odata_coresp_tipuri_conturi1" UniqueID="" Timestamp="" /> + + * + *p: nid + *p: orec + * + + * + BorderStyle = 1 + DoCreate = .T. + Height = 127 + Name = "frm_coresp_tipuri_conturi_nou" + nid = 0 + orec = + Width = 374 + _shape1.Name = "_shape1" + _shape2.Height = 29 + _shape2.Left = 311 + _shape2.Name = "_shape2" + _shape2.Top = 0 + _shape2.Width = 63 + Lb_titlu_alb_b121.Caption = "Tipuri Entitati" + Lb_titlu_alb_b121.Name = "Lb_titlu_alb_b121" + Lb_titlu_alb_b121.TabIndex = 5 + BUT_TERMIN1.Name = "BUT_TERMIN1" + BUT_TERMIN1.TabIndex = 3 + Gridsort1.Name = "Gridsort1" + But_renunt1.Name = "But_renunt1" + But_renunt1.TabIndex = 4 + * + + ADD OBJECT 'But_nou1' AS but_nou WITH ; + Left = 312, ; + Name = "But_nou1", ; + TabIndex = 6, ; + Top = 78 + *< END OBJECT: ClassLib="cmd_butoane.vcx" BaseClass="commandbutton" /> + + ADD OBJECT 'Cb_tip_entitate' AS cb_tx_simplu WITH ; + Height = 29, ; + Left = 22, ; + Name = "Cb_tip_entitate", ; + TabIndex = 1, ; + Top = 48, ; + Width = 317, ; + _cbbase1.BoundColumn = 2, ; + _cbbase1.BoundTo = .T., ; + _cbbase1.ControlSource = "poRec.id_tip_part", ; + _cbbase1.Height = 23, ; + _cbbase1.Left = 101, ; + _cbbase1.Name = "_cbbase1", ; + _cbbase1.RowSource = "v_nom_tip_parteneri.tip_partener,id_tip_part", ; + _cbbase1.RowSourceType = 6, ; + _cbbase1.Top = 3, ; + _cbbase1.Width = 185, ; + _lbbase1.Caption = "Tip entitate", ; + _lbbase1.Name = "_lbbase1" + *< END OBJECT: ClassLib="lb_tx.vcx" BaseClass="container" /> + + ADD OBJECT 'Cb_tx_simplu1' AS cb_tx_simplu WITH ; + Height = 29, ; + Left = 22, ; + Name = "Cb_tx_simplu1", ; + TabIndex = 2, ; + Top = 76, ; + Width = 290, ; + _cbbase1.ControlSource = "porec.cont", ; + _cbbase1.Height = 23, ; + _cbbase1.Left = 101, ; + _cbbase1.Name = "_cbbase1", ; + _cbbase1.RowSource = "v_config_cont_ireg.cont", ; + _cbbase1.RowSourceType = 2, ; + _cbbase1.TabIndex = 1, ; + _cbbase1.Top = 3, ; + _cbbase1.Width = 185, ; + _lbbase1.Caption = "Cont", ; + _lbbase1.Name = "_lbbase1", ; + _lbbase1.TabIndex = 2 + *< END OBJECT: ClassLib="lb_tx.vcx" BaseClass="container" /> + + ADD OBJECT 'Cus_odata_coresp_tipuri_conturi1' AS cus_odata_coresp_tipuri_conturi WITH ; + Left = 8, ; + Name = "Cus_odata_coresp_tipuri_conturi1", ; + Top = 32 + *< END OBJECT: ClassLib="onomenclatoare.vcx" BaseClass="custom" /> + + PROCEDURE do_adauga + SELECT v_config_cont_ireg + SCATTER NAME loRecI BLANK + + lorecI.Fel_cont = 0 + loRecI.cu_inregistrari = 0 + loRecI.cu_venchelt = 0 + loRecI.cu_proc_tva = 0 + *loRecI.cont = porec.cont + + *!* ADDPROPERTY(lorec,"id_tip_part",0) + + lnSucces = Adauga_Modifica_Inregistrare("config_cont_ireg",loRecI,,"INSERT",.f.,'oAddConfig') + + IF lnSucces > 0 + =close_config_ireg() + =config_ireg() + ENDIF + + IF lnSucces = 1 + porec.cont = loRecI.cont + ENDIF + + + ENDPROC + + PROCEDURE inainte_de_do_termin + LOCAL PLRETURN + + Do Case + Case Empty(porec.Cont) + aMessagebox('Nu ati completat contul!',0+48,"Atentie") + This.cb_tx_simplu1.SetFocus() + plreturn=.F. + + Otherwise + PLRETURN=This.Cus_odata_coresp_tipuri_conturi1.salvare(This.OREC,This.NID) + ENDCASE + + Return PLRETURN + + ENDPROC + + PROCEDURE Init + Lparameters toRec, tnId, tcActiune + DODEFAULT() + This.orec= toRec + This.nid = tnId + This.cus_odata_coresp_tipuri_conturi1.cactiune = tcActiune + + *!* porec.Fel_cont=0 + + *!* IF tcActiune = "UPDATE" OR tcActiune = "INSERT" + *!* IF torec.Fel_cont = 0 + *!* thisform.cb_fel_cont._CBBASE1.Value="Activ" + *!* ELSE + *!* thisform.cb_fel_cont._CBBASE1.Value="Pasiv" + *!* ENDIF + *!* ENDIF + + *!* this.cb_tip_entitate.SetFocus + ENDPROC + + PROCEDURE Cb_tip_entitate._cbbase1.Init + *!* SELECT v_nom_tip_parteneri + *!* LOCATE FOR id_tip_part = poRec.id_tip_part + *!* IF !FOUND() + *!* LOCATE FOR tip_partener = poRec.tip_partener + *!* IF !FOUND() + *!* GO TOP + *!* ENDIF + *!* ENDIF + + *!* this.value = v_nom_tip_parteneri.tip_partener + *!* this.DisplayValue = v_nom_tip_parteneri.tip_partener + ENDPROC + + PROCEDURE Cb_tip_entitate._cbbase1.LostFocus + porec.id_tip_part=v_nom_tip_parteneri.id_tip_part + ENDPROC + +ENDDEFINE + +DEFINE CLASS frm_entitati_conturi AS _frmbase OF "_frm_base.vcx" + *< CLASSDATA: Baseclass="form" Timestamp="" Scale="Pixels" Uniqueid="" /> + + *-- OBJECTDATA items order determines ZOrder / El orden de los items OBJECTDATA determina el ZOrder + *< OBJECTDATA: ObjPath="_pageframe1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="_pageframe1.PAGE1._grdrow3" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="_pageframe1.PAGE1._grdrow3.Column1.Header1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="_pageframe1.PAGE1._grdrow3.Column1.Text1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="_pageframe1.PAGE1._grdrow3.Column2.Header1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="_pageframe1.PAGE1._grdrow3.Column2.Text1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="_pageframe1.PAGE1._grdrow3.Column3.Header1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="_pageframe1.PAGE1._grdrow3.Column3._checkbox1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="_pageframe1.PAGE1._grdrow4" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="_pageframe1.PAGE1._grdrow4.Column1.Header1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="_pageframe1.PAGE1._grdrow4.Column1.Text1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="_pageframe1.PAGE1._grdrow4.Column2.Header1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="_pageframe1.PAGE1._grdrow4.Column2.Text1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="_pageframe1.PAGE1._grdrow4.Column3.Header1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="_pageframe1.PAGE1._grdrow4.Column3.Text1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="_pageframe1.PAGE1._grdrow4.Column4.Header1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="_pageframe1.PAGE1._grdrow4.Column4.Text1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="_pageframe1.PAGE1._grdrow4.Column5.Header1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="_pageframe1.PAGE1._grdrow4.Column5._checkbox1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="_pageframe1.PAGE1.But_nou2" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="_pageframe1.PAGE1.But_modifica2" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="_pageframe1.PAGE1.But_sterge2" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="_pageframe1.PAGE1.But_nou3" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="_pageframe1.PAGE1.But_modifica3" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="_pageframe1.PAGE1.But_sterge3" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="_pageframe1.PAGE1.Lb_simplu1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="_pageframe1.PAGE1.Lb_simplu2" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="_pageframe1.PAGE2._grdrow4" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="_pageframe1.PAGE2._grdrow4.Column2.Header1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="_pageframe1.PAGE2._grdrow4.Column2.Text1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="_pageframe1.PAGE2._grdrow4.Column3.Header1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="_pageframe1.PAGE2._grdrow4.Column3.Text1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="_pageframe1.PAGE2._grdrow4.Column4.Header1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="_pageframe1.PAGE2._grdrow4.Column4.Text1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="_pageframe1.PAGE2._grdrow4.Column5.Header1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="_pageframe1.PAGE2._grdrow4.Column5._checkbox1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="_pageframe1.PAGE2._grdrow4.Column1.Header1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="_pageframe1.PAGE2._grdrow4.Column1.Check1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="_pageframe1.PAGE2._grdrow4.Column6.Header1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="_pageframe1.PAGE2._grdrow4.Column6.Check1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="_pageframe1.PAGE2.But_nou3" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="_pageframe1.PAGE2.But_modifica3" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="_pageframe1.PAGE2.But_sterge3" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="_pageframe1.PAGE2.Ck_filtru_cont2" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="_pageframe1.PAGE2.Cmd_cauta1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="_pageframe1.PAGE2.Cmd_reset1" UniqueID="" Timestamp="" /> + + * + *m: actualizeaza_grid3 + *m: actualizeaza_grid4 + *m: actualizeaza_grid5 + *m: adauga_cont + *m: do_adauga_coresp_tc + *m: do_adauga_tipuri + *m: do_cauta2 + *m: do_modifica_coresp_tc + *m: do_modifica_tipuri + *m: do_reset2 + *m: do_sterge_coresp_tc + *m: do_sterge_tipuri + *m: modifica_cont + *m: sterge_cont + *p: cul_activ + *p: temporar_id_tip_part + *p: temporar_tip_partener + * + + * + BorderStyle = 3 + cgridsortlist = _pageframe1.page1._grdrow3 + DoCreate = .T. + Height = 420 + Name = "frm_entitati_conturi" + temporar_id_tip_part = 0 + temporar_tip_partener = + Width = 697 + WindowState = 0 + WindowType = 1 + _shape1.Anchor = 10 + _shape1.Comment = "*:OnResize=sR" + _shape1.Height = 30 + _shape1.Left = 0 + _shape1.Name = "_shape1" + _shape1.Tag = "W" + _shape1.Top = 0 + _shape1.Width = 698 + _shape2.Anchor = 8 + _shape2.Comment = "*:OnResize=RT" + _shape2.Height = 29 + _shape2.Left = 665 + _shape2.Name = "_shape2" + _shape2.Tag = "L" + _shape2.Top = 1 + _shape2.Width = 32 + Lb_titlu_alb_b121.Caption = "Configurare Entitati" + Lb_titlu_alb_b121.Name = "Lb_titlu_alb_b121" + Lb_titlu_alb_b121.TabIndex = 19 + Lb_titlu_alb_b121.Tag = "" + BUT_TERMIN1.Anchor = 8 + BUT_TERMIN1.Comment = "*:OnResize=RT" + BUT_TERMIN1.Height = 27 + BUT_TERMIN1.Left = 666 + BUT_TERMIN1.Name = "BUT_TERMIN1" + BUT_TERMIN1.TabIndex = 18 + BUT_TERMIN1.Tag = "L" + BUT_TERMIN1.Top = 2 + BUT_TERMIN1.Width = 30 + Gridsort1.Name = "Gridsort1" + * + + ADD OBJECT '_pageframe1' AS _pageframe WITH ; + Anchor = 15, ; + Comment = "*:OnResize=sS", ; + ErasePage = .T., ; + Height = 391, ; + Left = 0, ; + Name = "_pageframe1", ; + PageCount = 2, ; + Tag = "WH", ; + Top = 29, ; + Width = 698, ; + PAGE1.BackColor = 255,255,255, ; + PAGE1.Caption = "Tipuri Entitati - Conturi", ; + PAGE1.Comment = "", ; + PAGE1.Name = "PAGE1", ; + PAGE1.Tag = "HW", ; + PAGE2.BackColor = 255,255,255, ; + PAGE2.Caption = "Conturi", ; + PAGE2.Comment = "", ; + PAGE2.Name = "PAGE2", ; + PAGE2.Tag = "HW" + *< END OBJECT: ClassLib="_baza.vcx" BaseClass="pageframe" /> + + ADD OBJECT '_pageframe1.PAGE1._grdrow3' AS _grdrow WITH ; + Anchor = 5, ; + ColumnCount = 3, ; + DeleteMark = .F., ; + Height = 296, ; + HighlightStyle = 1, ; + Left = 5, ; + Name = "_grdrow3", ; + nrgbrow = 0, ; + Panel = 1, ; + RecordMark = .F., ; + RecordSource = "crstipuriparteneri", ; + ScrollBars = 2, ; + TabIndex = 16, ; + Tag = "H", ; + Top = 59, ; + Width = 238, ; + Column1.ControlSource = "crstipuriparteneri.id_tip_part", ; + Column1.Name = "Column1", ; + Column1.Width = 47, ; + Column2.ColumnOrder = 2, ; + Column2.ControlSource = "crstipuriparteneri.tip_partener", ; + Column2.Name = "Column2", ; + Column2.Width = 125, ; + Column3.ColumnOrder = 3, ; + Column3.ControlSource = "crstipuriparteneri.inactiv", ; + Column3.Name = "Column3", ; + Column3.ReadOnly = .T., ; + Column3.Sparse = .F., ; + Column3.Width = 43 + *< END OBJECT: ClassLib="_grd_base.vcx" BaseClass="grid" /> + + ADD OBJECT '_pageframe1.PAGE1._grdrow3.Column1.Header1' AS header WITH ; + Alignment = 2, ; + Caption = "Id", ; + Name = "Header1" + *< END OBJECT: BaseClass="header" /> + + ADD OBJECT '_pageframe1.PAGE1._grdrow3.Column1.Text1' AS textbox WITH ; + BackColor = 255,255,255, ; + BorderStyle = 0, ; + ForeColor = 0,0,0, ; + Margin = 0, ; + Name = "Text1" + *< END OBJECT: BaseClass="textbox" /> + + ADD OBJECT '_pageframe1.PAGE1._grdrow3.Column2.Header1' AS header WITH ; + Alignment = 2, ; + Caption = "Tip ", ; + Name = "Header1" + *< END OBJECT: BaseClass="header" /> + + ADD OBJECT '_pageframe1.PAGE1._grdrow3.Column2.Text1' AS textbox WITH ; + BackColor = 255,255,255, ; + BorderStyle = 0, ; + ForeColor = 0,0,0, ; + Margin = 0, ; + Name = "Text1" + *< END OBJECT: BaseClass="textbox" /> + + ADD OBJECT '_pageframe1.PAGE1._grdrow3.Column3._checkbox1' AS _checkbox WITH ; + Alignment = 0, ; + Caption = "", ; + Centered = .T., ; + Left = 38, ; + Name = "_checkbox1", ; + ReadOnly = .T., ; + Top = 93 + *< END OBJECT: ClassLib="_baza.vcx" BaseClass="checkbox" /> + + ADD OBJECT '_pageframe1.PAGE1._grdrow3.Column3.Header1' AS header WITH ; + Alignment = 2, ; + Caption = "Inactiv", ; + Name = "Header1" + *< END OBJECT: BaseClass="header" /> + + ADD OBJECT '_pageframe1.PAGE1._grdrow4' AS _grdrow WITH ; + Anchor = 15, ; + ColumnCount = 5, ; + DeleteMark = .F., ; + Height = 296, ; + Left = 245, ; + Name = "_grdrow4", ; + nrgbrow = 0, ; + Panel = 1, ; + RecordMark = .F., ; + RecordSource = "crstipuriconturi", ; + ScrollBars = 2, ; + TabIndex = 17, ; + Tag = "HW", ; + Top = 59, ; + Width = 442, ; + Column1.ControlSource = "crstipuriconturi.tip_partener", ; + Column1.Name = "Column1", ; + Column1.Tag = "W", ; + Column1.Width = 68, ; + Column2.ControlSource = "crstipuriconturi.cont", ; + Column2.Name = "Column2", ; + Column2.Width = 72, ; + Column3.ControlSource = "crstipuriconturi.explicatie", ; + Column3.Name = "Column3", ; + Column3.Width = 122, ; + Column4.ControlSource = 'iif(crstipuriconturi.fel_cont<=0,"Activ","Pasiv")', ; + Column4.Name = "Column4", ; + Column4.Width = 71, ; + Column5.ControlSource = "crstipuriconturi.cu_inregistrari", ; + Column5.Name = "Column5", ; + Column5.ReadOnly = .T., ; + Column5.Sparse = .F., ; + Column5.Width = 83 + *< END OBJECT: ClassLib="_grd_base.vcx" BaseClass="grid" /> + + ADD OBJECT '_pageframe1.PAGE1._grdrow4.Column1.Header1' AS header WITH ; + Alignment = 2, ; + Caption = "Tip", ; + Name = "Header1" + *< END OBJECT: BaseClass="header" /> + + ADD OBJECT '_pageframe1.PAGE1._grdrow4.Column1.Text1' AS textbox WITH ; + BackColor = 255,255,255, ; + BorderStyle = 0, ; + ForeColor = 0,0,0, ; + Margin = 0, ; + Name = "Text1" + *< END OBJECT: BaseClass="textbox" /> + + ADD OBJECT '_pageframe1.PAGE1._grdrow4.Column2.Header1' AS header WITH ; + Alignment = 2, ; + Caption = "Cont", ; + Name = "Header1" + *< END OBJECT: BaseClass="header" /> + + ADD OBJECT '_pageframe1.PAGE1._grdrow4.Column2.Text1' AS textbox WITH ; + BackColor = 255,255,255, ; + BorderStyle = 0, ; + ForeColor = 0,0,0, ; + Margin = 0, ; + Name = "Text1" + *< END OBJECT: BaseClass="textbox" /> + + ADD OBJECT '_pageframe1.PAGE1._grdrow4.Column3.Header1' AS header WITH ; + Alignment = 2, ; + Caption = "Explicatie", ; + Name = "Header1" + *< END OBJECT: BaseClass="header" /> + + ADD OBJECT '_pageframe1.PAGE1._grdrow4.Column3.Text1' AS textbox WITH ; + BackColor = 255,255,255, ; + BorderStyle = 0, ; + ForeColor = 0,0,0, ; + Margin = 0, ; + Name = "Text1" + *< END OBJECT: BaseClass="textbox" /> + + ADD OBJECT '_pageframe1.PAGE1._grdrow4.Column4.Header1' AS header WITH ; + Alignment = 2, ; + Caption = "Fel Cont", ; + Name = "Header1" + *< END OBJECT: BaseClass="header" /> + + ADD OBJECT '_pageframe1.PAGE1._grdrow4.Column4.Text1' AS textbox WITH ; + BackColor = 255,255,255, ; + BorderStyle = 0, ; + ControlSource = "crstipuriconturi.fel_cont", ; + ForeColor = 0,0,0, ; + Margin = 0, ; + Name = "Text1" + *< END OBJECT: BaseClass="textbox" /> + + ADD OBJECT '_pageframe1.PAGE1._grdrow4.Column5._checkbox1' AS _checkbox WITH ; + Alignment = 0, ; + Caption = "", ; + Centered = .T., ; + Left = 28, ; + Name = "_checkbox1", ; + Top = 45 + *< END OBJECT: ClassLib="_baza.vcx" BaseClass="checkbox" /> + + ADD OBJECT '_pageframe1.PAGE1._grdrow4.Column5.Header1' AS header WITH ; + Alignment = 2, ; + Caption = "Cu Inregistrari", ; + Name = "Header1" + *< END OBJECT: BaseClass="header" /> + + ADD OBJECT '_pageframe1.PAGE1.But_modifica2' AS but_modifica WITH ; + caction = do_modifica_tipuri, ; + Comment = "*:OnResize=RT", ; + Left = 183, ; + Name = "But_modifica2", ; + TabIndex = 8, ; + Top = 29, ; + Visible = .T. + *< END OBJECT: ClassLib="cmd_butoane.vcx" BaseClass="commandbutton" /> + + ADD OBJECT '_pageframe1.PAGE1.But_modifica3' AS but_modifica WITH ; + Anchor = 8, ; + caction = do_modifica_coresp_tc, ; + Comment = "*:OnResize=RT", ; + Left = 630, ; + Name = "But_modifica3", ; + TabIndex = 9, ; + Tag = "L", ; + Top = 29, ; + Visible = .T. + *< END OBJECT: ClassLib="cmd_butoane.vcx" BaseClass="commandbutton" /> + + ADD OBJECT '_pageframe1.PAGE1.But_nou2' AS but_nou WITH ; + caction = do_adauga_tipuri, ; + Comment = "*:OnResize=RT", ; + Left = 152, ; + Name = "But_nou2", ; + TabIndex = 6, ; + Top = 29 + *< END OBJECT: ClassLib="cmd_butoane.vcx" BaseClass="commandbutton" /> + + ADD OBJECT '_pageframe1.PAGE1.But_nou3' AS but_nou WITH ; + Anchor = 8, ; + caction = do_adauga_coresp_tc, ; + Comment = "*:OnResize=RT", ; + Left = 599, ; + Name = "But_nou3", ; + TabIndex = 7, ; + Tag = "L", ; + Top = 29 + *< END OBJECT: ClassLib="cmd_butoane.vcx" BaseClass="commandbutton" /> + + ADD OBJECT '_pageframe1.PAGE1.But_sterge2' AS but_sterge WITH ; + caction = do_sterge_tipuri, ; + Comment = "*:OnResize=RT", ; + Left = 212, ; + Name = "But_sterge2", ; + TabIndex = 11, ; + Top = 29, ; + Visible = .T. + *< END OBJECT: ClassLib="cmd_butoane.vcx" BaseClass="commandbutton" /> + + ADD OBJECT '_pageframe1.PAGE1.But_sterge3' AS but_sterge WITH ; + Anchor = 8, ; + caction = do_sterge_coresp_tc, ; + Comment = "*:OnResize=RT", ; + Left = 659, ; + Name = "But_sterge3", ; + TabIndex = 13, ; + Tag = "L", ; + Top = 29, ; + Visible = .T. + *< END OBJECT: ClassLib="cmd_butoane.vcx" BaseClass="commandbutton" /> + + ADD OBJECT '_pageframe1.PAGE1.Lb_simplu1' AS lb_simplu WITH ; + Caption = "Tipuri Entitati", ; + FontSize = 10, ; + Left = 5, ; + Name = "Lb_simplu1", ; + Top = 42 + *< END OBJECT: ClassLib="lb.vcx" BaseClass="label" /> + + ADD OBJECT '_pageframe1.PAGE1.Lb_simplu2' AS lb_simplu WITH ; + Caption = "Conturi", ; + Comment = "*:OnResize=RT", ; + FontSize = 10, ; + Left = 246, ; + Name = "Lb_simplu2", ; + Top = 42 + *< END OBJECT: ClassLib="lb.vcx" BaseClass="label" /> + + ADD OBJECT '_pageframe1.PAGE2._grdrow4' AS _grdrow WITH ; + Anchor = 15, ; + ColumnCount = 6, ; + DeleteMark = .F., ; + Height = 297, ; + HighlightStyle = 1, ; + Left = 7, ; + Name = "_grdrow4", ; + nrgbrow = 0, ; + Panel = 1, ; + RecordMark = .F., ; + RecordSource = "crsconturi", ; + TabIndex = 17, ; + Tag = "HW", ; + Top = 59, ; + Width = 682, ; + Column1.ControlSource = "cont", ; + Column1.Name = "Column2", ; + Column1.Width = 72, ; + Column2.ControlSource = "explicatie", ; + Column2.Name = "Column3", ; + Column2.Width = 328, ; + Column3.ControlSource = "fel_cont", ; + Column3.Name = "Column4", ; + Column3.Width = 89, ; + Column4.ControlSource = "cu_inregistrari", ; + Column4.Name = "Column5", ; + Column4.ReadOnly = .T., ; + Column4.Sparse = .F., ; + Column4.Width = 83, ; + Column5.ControlSource = "cu_venchelt", ; + Column5.Name = "Column1", ; + Column5.ReadOnly = .T., ; + Column5.Sparse = .F., ; + Column5.Width = 97, ; + Column6.ControlSource = "cu_proc_tva", ; + Column6.Name = "Column6", ; + Column6.ReadOnly = .T., ; + Column6.Sparse = .F., ; + Column6.Width = 70 + *< END OBJECT: ClassLib="_grd_base.vcx" BaseClass="grid" /> + + ADD OBJECT '_pageframe1.PAGE2._grdrow4.Column1.Check1' AS checkbox WITH ; + Alignment = 0, ; + Caption = "", ; + Height = 17, ; + Left = 36, ; + Name = "Check1", ; + ReadOnly = .T., ; + Top = 24, ; + Width = 60 + *< END OBJECT: BaseClass="checkbox" /> + + ADD OBJECT '_pageframe1.PAGE2._grdrow4.Column1.Header1' AS header WITH ; + Alignment = 2, ; + Caption = "Venituri/cheltuieli", ; + Name = "Header1" + *< END OBJECT: BaseClass="header" /> + + ADD OBJECT '_pageframe1.PAGE2._grdrow4.Column2.Header1' AS header WITH ; + Alignment = 2, ; + Caption = "Cont", ; + Name = "Header1" + *< END OBJECT: BaseClass="header" /> + + ADD OBJECT '_pageframe1.PAGE2._grdrow4.Column2.Text1' AS textbox WITH ; + BackColor = 255,255,255, ; + BorderStyle = 0, ; + ForeColor = 0,0,0, ; + Margin = 0, ; + Name = "Text1" + *< END OBJECT: BaseClass="textbox" /> + + ADD OBJECT '_pageframe1.PAGE2._grdrow4.Column3.Header1' AS header WITH ; + Alignment = 2, ; + Caption = "Explicatie", ; + Name = "Header1" + *< END OBJECT: BaseClass="header" /> + + ADD OBJECT '_pageframe1.PAGE2._grdrow4.Column3.Text1' AS textbox WITH ; + BackColor = 255,255,255, ; + BorderStyle = 0, ; + ForeColor = 0,0,0, ; + Margin = 0, ; + Name = "Text1" + *< END OBJECT: BaseClass="textbox" /> + + ADD OBJECT '_pageframe1.PAGE2._grdrow4.Column4.Header1' AS header WITH ; + Alignment = 2, ; + Caption = "Fel Cont", ; + Name = "Header1" + *< END OBJECT: BaseClass="header" /> + + ADD OBJECT '_pageframe1.PAGE2._grdrow4.Column4.Text1' AS textbox WITH ; + BackColor = 255,255,255, ; + BorderStyle = 0, ; + ControlSource = "crstipuriconturi.fel_cont", ; + ForeColor = 0,0,0, ; + Margin = 0, ; + Name = "Text1" + *< END OBJECT: BaseClass="textbox" /> + + ADD OBJECT '_pageframe1.PAGE2._grdrow4.Column5._checkbox1' AS _checkbox WITH ; + Alignment = 0, ; + Caption = "", ; + Centered = .T., ; + Left = 28, ; + Name = "_checkbox1", ; + Top = 45 + *< END OBJECT: ClassLib="_baza.vcx" BaseClass="checkbox" /> + + ADD OBJECT '_pageframe1.PAGE2._grdrow4.Column5.Header1' AS header WITH ; + Alignment = 2, ; + Caption = "Cu Inregistrari", ; + Name = "Header1" + *< END OBJECT: BaseClass="header" /> + + ADD OBJECT '_pageframe1.PAGE2._grdrow4.Column6.Check1' AS checkbox WITH ; + Alignment = 0, ; + Caption = "", ; + Height = 17, ; + Left = 22, ; + Name = "Check1", ; + ReadOnly = .T., ; + Top = 24, ; + Width = 60 + *< END OBJECT: BaseClass="checkbox" /> + + ADD OBJECT '_pageframe1.PAGE2._grdrow4.Column6.Header1' AS header WITH ; + Alignment = 2, ; + Caption = "Procent TVA", ; + Name = "Header1" + *< END OBJECT: BaseClass="header" /> + + ADD OBJECT '_pageframe1.PAGE2.But_modifica3' AS but_modifica WITH ; + Anchor = 8, ; + caction = modifica_cont, ; + Comment = "*:OnResize=RT", ; + Left = 628, ; + Name = "But_modifica3", ; + TabIndex = 9, ; + Tag = "L", ; + Top = 12, ; + Visible = .T. + *< END OBJECT: ClassLib="cmd_butoane.vcx" BaseClass="commandbutton" /> + + ADD OBJECT '_pageframe1.PAGE2.But_nou3' AS but_nou WITH ; + Anchor = 8, ; + caction = adauga_cont, ; + Comment = "*:OnResize=RT", ; + Left = 598, ; + Name = "But_nou3", ; + TabIndex = 7, ; + Tag = "L", ; + Top = 12 + *< END OBJECT: ClassLib="cmd_butoane.vcx" BaseClass="commandbutton" /> + + ADD OBJECT '_pageframe1.PAGE2.But_sterge3' AS but_sterge WITH ; + Anchor = 8, ; + caction = sterge_cont, ; + Comment = "*:OnResize=RT", ; + Left = 657, ; + Name = "But_sterge3", ; + TabIndex = 13, ; + Tag = "L", ; + Top = 12, ; + Visible = .T. + *< END OBJECT: ClassLib="cmd_butoane.vcx" BaseClass="commandbutton" /> + + ADD OBJECT '_pageframe1.PAGE2.Ck_filtru_cont2' AS ck_filtru_text WITH ; + Alignment = 0, ; + camp_nume = cont, ; + Caption = "Cont", ; + Left = 4, ; + Name = "Ck_filtru_cont2", ; + Top = 3 + *< END OBJECT: ClassLib="caut_ora.vcx" BaseClass="checkbox" /> + + ADD OBJECT '_pageframe1.PAGE2.Cmd_cauta1' AS cmd_cauta WITH ; + caction = do_cauta2, ; + Comment = "*:OnResize=RT", ; + Left = 119, ; + Name = "Cmd_cauta1", ; + TabIndex = 4, ; + Tag = "L", ; + Top = 0 + *< END OBJECT: ClassLib="cmd_butoane.vcx" BaseClass="commandbutton" /> + + ADD OBJECT '_pageframe1.PAGE2.Cmd_reset1' AS cmd_reset WITH ; + caction = do_reset2, ; + Comment = "*:OnResize=RT", ; + Left = 119, ; + Name = "Cmd_reset1", ; + Tag = "L", ; + Top = 29 + *< END OBJECT: ClassLib="cmd_butoane.vcx" BaseClass="commandbutton" /> + + PROCEDURE actualizeaza_grid3 + LPARAMETERS pcFiltru + LOCAL lcFiltru + lcFiltru=pcFiltru + IF EMPTY(lcFiltru) + lcFiltru = potipuri_parteneri.ca_baza1.cfiltru + ENDIF + save_grid_comment(This._pageframe1.pAGE1._grdrow3) + potipuri_parteneri.ca_baza1.cfiltru=lcfiltru + potipuri_parteneri.ca_baza1.afisare() + restore_grid_comment(This._pageframe1.pAGE1._grdrow3) + *!* Select crstipuriparteneri + *!* Go Top + + ENDPROC + + PROCEDURE actualizeaza_grid4 + LPARAMETERS pcFiltru + LOCAL lcFiltru + lcFiltru = pcFiltru + IF EMPTY(lcFiltru) + lcFiltru = potipuri_conturi.ca_baza1.cfiltru + ENDIF + save_grid_comment(THIS._pageframe1.pAGE1._grdrow4) + potipuri_conturi.ca_baza1.cfiltru = lcFiltru + potipuri_conturi.ca_baza1.afisare() + restore_grid_comment(THIS._pageframe1.pAGE1._grdrow4) + + + ENDPROC + + PROCEDURE actualizeaza_grid5 + LPARAMETERS pcFiltru + LOCAL lcFiltru + lcFiltru=pcFiltru + IF EMPTY(lcFiltru) + lcFiltru = poconturi.ca_baza1.cfiltru + ENDIF + save_grid_comment(This._pageframe1.page2._grdrow4) + poconturi.ca_baza1.cfiltru=lcfiltru + poconturi.ca_baza1.afisare() + restore_grid_comment(This._pageframe1.page2._grdrow4) + + + ENDPROC + + PROCEDURE adauga_cont + SELECT crsconturi + SCATTER NAME loRecI BLANK + + lorecI.Fel_cont = 0 + loRecI.cu_inregistrari = 0 + loRecI.cu_venchelt = 0 + loRecI.cu_proc_tva = 0 + + config_ireg() + lnSucces = Adauga_Modifica_Inregistrare("config_cont_ireg",loRecI,,"INSERT",.f.,'oAddConfig') + + IF lnSucces > 0 + Thisform.MousePointer= 11 + Thisform.LockScreen=.T. + Thisform.actualizeaza_grid5() + Thisform.LockScreen=.F. + Thisform.MousePointer= 0 + ENDIF + + close_config_ireg() + + + ENDPROC + + PROCEDURE do_adauga_coresp_tc + LOCAL loRec + SELECT crstipuriconturi + SCATTER NAME loRec BLANK + + loRec.Fel_cont = 0 + loRec.tip_partener = THISFORM.temporar_tip_partener + loRec.id_tip_part = crstipuriparteneri.id_tip_part + pncontinua = 0 + *!* ADDPROPERTY(lorec,"id_tip_part",0) + + lnSucces = cctipuri() + IF lnSucces < 0 + RETURN + ENDIF + lnSucces = config_ireg() + IF lnSucces < 0 + RETURN + ENDIF + + pncontinua = Adauga_Modifica_Inregistrare("coresp_tipuri_conturi",loRec,,"INSERT") + + =close_cctipuri() + =close_config_ireg() + + IF pncontinua = 1 + THISFORM.actualizeaza_grid4() + ENDIF + + + ENDPROC + + PROCEDURE do_adauga_tipuri + SELECT crstipuriparteneri + SCATTER NAME loRec BLANK + pccontinua=.F. + + DO Adauga_Modifica_Inregistrare WITH "tipuri_parteneri",loRec,,"INSERT" IN oproceduri_ams.prg + + IF pccontinua=.T. + thisform.actualizeaza_grid3() + ENDIF + + + ENDPROC + + PROCEDURE do_cauta2 + Private lcfiltru,lcval1 + lcfiltru='' + + If ThisForm._pageframe1.pAGE2.Ck_filtru_cont2.Value = 1 + lcfiltru=lcfiltru + thisform._pageframe1.page2.ck_filtru_cont2.filtru + Endif + + If !Empty(lcfiltru) + lcfiltru=Substr(lcfiltru,5) + Else + lcfiltru = [1=1] + ENDIF + + thisform.actualizeaza_grid5(lcFiltru) + ENDPROC + + PROCEDURE do_executa + Local loPart, loCauta, lnIdPartProst, lnIdPartBun, lnAn1, lnAn2, lnLuna1, lnLuna2, lnInit, lnFinal, lcMesaj + Local lcSelect, lcFiltru, lcSchema, lcOrder, lcColoane, lcTitlu, lcFiltruOriginal, lcNumeProc, llAllInlist + + Select crsParteneri + Scatter Name loPart + If loPart.id_part = 0 + Return + Endif + + lcParola = Inputbox('Parola','Parola','') + If lcParola # Transform(Year(Date())) + Padl(Transform(Month(Date())),2,'0') + Padl(Transform(Day(Date())),2,'0') + Return + Endif + + lcSelect = [select p.nume, p.cod_fiscal, p.id_part,p.inactiv FROM Vnom_parteneri p] + lcFiltru = [] + lcSchema = [] + lcOrder = [P.NUME] + lcColoane = [nume,cod_fiscal,id_part,inactiv] + lcTitlu = [Alegeti parterul cu Id Partener corect] + lcTitluColoane = [Nume,Cod fiscal,Id Partener, Inactiv] + lcFiltruOriginal = [p.inactiv = 0 and id_part <> ] + Transform(loPart.id_part) + lcNumeProc = "" + llAllInlist = .F. + loCauta = cauta_alfa(lcSelect, lcFiltru, lcSchema, lcOrder, lcColoane, lcTitlu, lcTitluColoane, lcNumeProc, llAllInlist, lcFiltruOriginal) && 11.07.2007 + + + If loCauta.id_part = 0 + Return + Endif + + pcondper="" + ofrmperioada=Createobject('frm_perioada_luni') + ofrmperioada.Show(1) + If gnButon=2 + Return + Endif + + plPerioada=.F. + lnPoz=At('_',pcondper) + If lnPoz>0 + plPerioada=.T. + Endif + + + If plPerioada + lnAn1 = Val(Substr(pcondper,3,4)) + lnLuna1 = Val(Substr(pcondper,1,2)) + lnAn2 = Val(Substr(pcondper,10,4)) + lnLuna2 = Val(Substr(pcondper,8,2)) + + lnInit = lnAn1 * 12 + lnLuna1 + lnFinal = lnAn2 * 12 + lnLuna2 + lcPerioada = Substr(pcondper,1,2)+'/'+Substr(pcondper,3,4) + ' - ' + Substr(pcondper,8,2)+'/'+Substr(pcondper,10,4) + Else + lnAn1 = Val(Substr(pcondper,3,4)) + lnLuna1 = Val(Substr(pcondper,1,2)) + lnAn2 = Val(Substr(pcondper,3,4)) + lnLuna2 = Val(Substr(pcondper,1,2)) + + lnInit = lnAn1 * 12 + lnLuna1 + lnFinal = lnAn2 * 12 + lnLuna2 + lcPerioada = Substr(pcondper,1,2)+'/'+Substr(pcondper,3,4) + ' - ' + Substr(pcondper,1,2)+'/'+Substr(pcondper,3,4) + Endif + + lnRaspuns = aMessagebox('Doriti sa inlocuiti in registrul jurnal, balanta verificare, balanta partener si inregistrari partener ' + Chr(13) + ; + lcPerioada + Chr(13) + ; + ALLTRIM(loPart.Nume) + '(' + Transform(loPart.id_part) +')' + Chr(13) + ; + 'cu ' + Alltrim(loCauta.Nume) + '(' + Transform(loCauta.id_part) +')?',4+32,'Inlocuire ID Partener') + If lnRaspuns # 6 + Return + Endif + + + lnIdPartProst = loPart.id_part + lnIdPartBun = loCauta.id_part + + lcEroare = '' + lcEroare = modifica_id_partener(lnIdPartProst, lnIdPartBun, lnAn1, lnLuna1, lnAn2, lnLuna2) + If !Empty(lcEroare) + lcMesaj = lcEroare + aMESSAGEBOX(lcMesaj,0+16,"Eroare") + Else + lcMesaj = 'S-au terminat modificarile!' + aMESSAGEBOX(lcMesaj,0+64,"Info") + Endif + + + ENDPROC + + PROCEDURE do_modifica_coresp_tc + If Reccount('crstipuriconturi')>0 + + Select crstipuriconturi + Scatter Name loRec + + loRec.tip_partener = thisform.temporar_tip_partener + + pncontinua = 0 + + lnSucces = cctipuri() + IF lnSucces < 0 + RETURN + ENDIF + lnSucces = config_ireg() + IF lnSucces < 0 + RETURN + ENDIF + + pnContinua = Adauga_Modifica_Inregistrare("coresp_tipuri_conturi",loRec,loRec.ID_coresp_tip_cont,"UPDATE") && IN oproceduri_ams.prg + =close_cctipuri() + =close_config_ireg() + + IF pncontinua = 1 + Thisform.MousePointer= 11 + Thisform.LockScreen=.T. + Thisform.actualizeaza_grid4() + + Select crstipuriconturi + LOCATE FOR ID_coresp_tip_cont = loRec.ID_coresp_tip_cont + IF !FOUND() + GO top + ENDIF + + Thisform.LockScreen=.F. + Thisform.MousePointer= 0 + Endif + ENDIF + + + ENDPROC + + PROCEDURE do_modifica_tipuri + If Reccount('crstipuriparteneri')>0 + + Select crstipuriparteneri + Scatter Name loRec + + pctip_partener = loRec.tip_partener + + pccontinua=.F. + + Do Adauga_Modifica_Inregistrare With "tipuri_parteneri",loRec,loRec.ID_tip_part,"UPDATE" IN oproceduri_ams.prg + If pccontinua=.T. + Thisform.MousePointer= 11 + Thisform.LockScreen=.T. + Thisform.actualizeaza_grid3() + + Select crstipuriparteneri + LOCATE FOR id_tip_part = loRec.ID_tip_part + IF !FOUND() + GO top + ENDIF + this._pageframe1.page1._grdrow3.Refresh() + + Thisform.LockScreen=.F. + Thisform.MousePointer= 0 + Endif + Endif + ENDPROC + + PROCEDURE do_reset2 + this._pageframe1.page2.ck_filtru_cont2.Value=0 + this._pageframe1.page2.cmd_cauta1.Click + ENDPROC + + PROCEDURE do_sterge_coresp_tc + SELECT crstipuriconturi + SCATTER NAME loRec + DO sterge_inregistrare WITH "coresp_tipuri_conturi",loRec.id_coresp_tip_cont IN oproceduri_ams.prg + THISFORM.actualizeaza_grid4() + + ENDPROC + + PROCEDURE do_sterge_tipuri + Select crstipuriparteneri + Scatter Name loRec + + Do sterge_inregistrare With "tipuri_parteneri",loRec.id_tip_part In oproceduri_ams.prg + Thisform.actualizeaza_grid3() + Thisform.actualizeaza_grid4() + + ENDPROC + + PROCEDURE modifica_cont + SELECT crsconturi + SCATTER NAME loRec + + config_ireg() + lnsucces = Adauga_Modifica_Inregistrare("config_cont_ireg",loRec,loRec.ID_cont_ireg,"UPDATE",.f.) + + + IF lnSucces > 0 + Thisform.MousePointer= 11 + Thisform.LockScreen=.T. + Thisform.actualizeaza_grid5() + Select crsconturi + LOCATE FOR ID_cont_ireg = loRec.ID_cont_ireg + IF !FOUND() + GO top + ENDIF + this._pageframe1.page2._grdrow4.Refresh + Thisform.LockScreen=.F. + Thisform.MousePointer= 0 + ENDIF + + close_config_ireg() + + + + + ENDPROC + + PROCEDURE sterge_cont + Select crsconturi + Scatter Name loRec + lnsucces = sterge_inregistrare("config_cont_ireg",lorec.id_cont_ireg) + + Thisform.actualizeaza_grid5() + + ENDPROC + + PROCEDURE _pageframe1.PAGE1.DblClick + THIS.CMD_executa1.Visible = .T. + ENDPROC + + PROCEDURE _pageframe1.PAGE1._grdrow3.AfterRowColChange + LPARAMETERS nColIndex + DODEFAULT() + + SELECT crstipuriparteneri + lcFiltru4 = [ID_TIP_PART=]+ALLTRIM(STR(crstipuriparteneri.id_tip_part)) + thisform.actualizeaza_grid4(lcFiltru4) + + thisform.temporar_tip_partener=crstipuriparteneri.tip_partener + ENDPROC + + PROCEDURE _shape1.DblClick + IF thisform.WindowState = 2 + thisform.WindowState = 0 + ELSE + thisform.WindowState = 2 + ENDIF + THISFORM.Refresh + THISFORM._pageframe1.Page1._grdrow3.SetFocus() + + ENDPROC + +ENDDEFINE + +DEFINE CLASS frm_fdoc AS _frmbase OF "_frm_base.vcx" + *< CLASSDATA: Baseclass="form" Timestamp="" Scale="Pixels" Uniqueid="" /> + + *-- OBJECTDATA items order determines ZOrder / El orden de los items OBJECTDATA determina el ZOrder + *< OBJECTDATA: ObjPath="Cmd_cauta1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="_gnom_fdoc" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="_gnom_fdoc.Column1.Header1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="_gnom_fdoc.Column1.Text1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="_gnom_fdoc.Column2.Header1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="_gnom_fdoc.Column2.Check1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="_gnom_fdoc.Column3.Header1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="_gnom_fdoc.Column3.Text1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="_gnom_fdoc.Column4.Header1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="_gnom_fdoc.Column4.Text1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="_gnom_fdoc.Column5.Header1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="_gnom_fdoc.Column5.Text1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="_gnom_fdoc.Column6.Header1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="_gnom_fdoc.Column6.Text1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="But_nou1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="But_sterge1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="But_modifica1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="lb_nom_fdoc" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="Gridextra1" UniqueID="" Timestamp="" /> + + * + *m: log + * + + * + BorderStyle = 1 + cgridsortlist = _gnom_fdoc + DoCreate = .T. + Height = 500 + lactiv3 = .T. + lactiv4 = .T. + Name = "frm_fdoc" + Width = 700 + _shape1.Anchor = 10 + _shape1.Height = 29 + _shape1.Left = 0 + _shape1.Name = "_shape1" + _shape1.Top = 0 + _shape1.Width = 708 + _shape2.Height = 29 + _shape2.Left = 579 + _shape2.Name = "_shape2" + _shape2.Top = 0 + _shape2.Width = 135 + Lb_titlu_alb_b121.Caption = "Documente" + Lb_titlu_alb_b121.Name = "Lb_titlu_alb_b121" + Lb_titlu_alb_b121.TabIndex = 8 + BUT_TERMIN1.Anchor = 8 + BUT_TERMIN1.Left = 668 + BUT_TERMIN1.Name = "BUT_TERMIN1" + BUT_TERMIN1.TabIndex = 4 + BUT_TERMIN1.Top = 1 + BUT_TERMIN1.Visible = .T. + GRIDSORT1.Name = "GRIDSORT1" + * + + ADD OBJECT '_gnom_fdoc' AS _grdrow WITH ; + Anchor = 15, ; + ColumnCount = 6, ; + DeleteMark = .F., ; + FontName = "Arial", ; + FontSize = 10, ; + Height = 407, ; + Left = 9, ; + Name = "_gnom_fdoc", ; + Panel = 1, ; + ReadOnly = .T., ; + RecordSource = "v_fdoc", ; + RowHeight = 19, ; + ScrollBars = 3, ; + TabIndex = 3, ; + Top = 85, ; + Width = 681, ; + Column1.ColumnOrder = 1, ; + Column1.ControlSource = "fel_document", ; + Column1.FontName = "Arial", ; + Column1.FontSize = 10, ; + Column1.Name = "Column1", ; + Column1.ReadOnly = .T., ; + Column1.Width = 231, ; + Column2.ColumnOrder = 5, ; + Column2.ControlSource = "inactiv", ; + Column2.FontName = "Arial", ; + Column2.FontSize = 10, ; + Column2.Name = "Column2", ; + Column2.ReadOnly = .T., ; + Column2.Sparse = .F., ; + Column2.Width = 37, ; + Column3.ColumnOrder = 6, ; + Column3.ControlSource = "id_fdoc", ; + Column3.FontName = "Arial", ; + Column3.FontSize = 10, ; + Column3.Name = "Column3", ; + Column3.ReadOnly = .T., ; + Column3.Width = 38, ; + Column4.ColumnOrder = 2, ; + Column4.ControlSource = "tip_doc", ; + Column4.FontName = "Arial", ; + Column4.FontSize = 10, ; + Column4.Name = "Column4", ; + Column4.ReadOnly = .T., ; + Column4.Width = 54, ; + Column5.ColumnOrder = 4, ; + Column5.ControlSource = "descriere", ; + Column5.FontName = "Arial", ; + Column5.FontSize = 10, ; + Column5.Name = "Column5", ; + Column5.ReadOnly = .T., ; + Column5.Width = 161, ; + Column6.ColumnOrder = 3, ; + Column6.ControlSource = "paymentname", ; + Column6.FontName = "Arial", ; + Column6.FontSize = 10, ; + Column6.Name = "Column6", ; + Column6.ReadOnly = .T., ; + Column6.Width = 120 + *< END OBJECT: ClassLib="_grd_base.vcx" BaseClass="grid" /> + + ADD OBJECT '_gnom_fdoc.Column1.Header1' AS header WITH ; + Alignment = 2, ; + Caption = "Document", ; + FontName = "Arial", ; + FontSize = 10, ; + Name = "Header1" + *< END OBJECT: BaseClass="header" /> + + ADD OBJECT '_gnom_fdoc.Column1.Text1' AS textbox WITH ; + BackColor = 255,255,255, ; + BorderStyle = 0, ; + FontName = "Arial", ; + FontSize = 10, ; + ForeColor = 0,0,0, ; + Margin = 0, ; + Name = "Text1", ; + ReadOnly = .T., ; + SelectedBackColor = 100,185,255 + *< END OBJECT: BaseClass="textbox" /> + + ADD OBJECT '_gnom_fdoc.Column2.Check1' AS checkbox WITH ; + Alignment = 0, ; + Caption = "", ; + Centered = .T., ; + FontName = "Arial", ; + FontSize = 10, ; + Height = 17, ; + Left = 11, ; + Name = "Check1", ; + ReadOnly = .T., ; + Top = 30, ; + Width = 60 + *< END OBJECT: BaseClass="checkbox" /> + + ADD OBJECT '_gnom_fdoc.Column2.Header1' AS header WITH ; + Alignment = 2, ; + Caption = "Inactiv", ; + FontName = "Arial", ; + FontSize = 10, ; + Name = "Header1" + *< END OBJECT: BaseClass="header" /> + + ADD OBJECT '_gnom_fdoc.Column3.Header1' AS header WITH ; + Alignment = 2, ; + Caption = "Id", ; + FontName = "Arial", ; + FontSize = 10, ; + Name = "Header1" + *< END OBJECT: BaseClass="header" /> + + ADD OBJECT '_gnom_fdoc.Column3.Text1' AS textbox WITH ; + BackColor = 255,255,255, ; + BorderStyle = 0, ; + FontName = "Arial", ; + FontSize = 10, ; + ForeColor = 0,0,0, ; + Margin = 0, ; + Name = "Text1", ; + ReadOnly = .T., ; + SelectedBackColor = 100,185,255 + *< END OBJECT: BaseClass="textbox" /> + + ADD OBJECT '_gnom_fdoc.Column4.Header1' AS header WITH ; + Alignment = 2, ; + Caption = "Tip D394", ; + FontName = "Arial", ; + FontSize = 10, ; + Name = "Header1" + *< END OBJECT: BaseClass="header" /> + + ADD OBJECT '_gnom_fdoc.Column4.Text1' AS textbox WITH ; + BackColor = 255,255,255, ; + BorderStyle = 0, ; + FontName = "Arial", ; + FontSize = 10, ; + ForeColor = 0,0,0, ; + Margin = 0, ; + Name = "Text1", ; + ReadOnly = .T., ; + SelectedBackColor = 100,185,255 + *< END OBJECT: BaseClass="textbox" /> + + ADD OBJECT '_gnom_fdoc.Column5.Header1' AS header WITH ; + Alignment = 2, ; + Caption = "Descriere", ; + FontName = "Arial", ; + FontSize = 10, ; + Name = "Header1" + *< END OBJECT: BaseClass="header" /> + + ADD OBJECT '_gnom_fdoc.Column5.Text1' AS textbox WITH ; + BackColor = 255,255,255, ; + BorderStyle = 0, ; + FontName = "Arial", ; + FontSize = 10, ; + ForeColor = 0,0,0, ; + Margin = 0, ; + Name = "Text1", ; + ReadOnly = .T., ; + SelectedBackColor = 100,185,255 + *< END OBJECT: BaseClass="textbox" /> + + ADD OBJECT '_gnom_fdoc.Column6.Header1' AS header WITH ; + Alignment = 2, ; + Caption = "Cod plata SAFT", ; + FontName = "Arial", ; + FontSize = 10, ; + Name = "Header1" + *< END OBJECT: BaseClass="header" /> + + ADD OBJECT '_gnom_fdoc.Column6.Text1' AS textbox WITH ; + BackColor = 255,255,255, ; + BorderStyle = 0, ; + FontName = "Arial", ; + FontSize = 10, ; + ForeColor = 0,0,0, ; + Margin = 0, ; + Name = "Text1", ; + ReadOnly = .T., ; + SelectedBackColor = 100,185,255 + *< END OBJECT: BaseClass="textbox" /> + + ADD OBJECT 'But_modifica1' AS but_modifica WITH ; + Anchor = 8, ; + Left = 611, ; + Name = "But_modifica1", ; + TabIndex = 6, ; + Top = 1, ; + Visible = .T. + *< END OBJECT: ClassLib="cmd_butoane.vcx" BaseClass="commandbutton" /> + + ADD OBJECT 'But_nou1' AS but_nou WITH ; + Anchor = 8, ; + Left = 581, ; + Name = "But_nou1", ; + TabIndex = 7, ; + Top = 1, ; + Visible = .T. + *< END OBJECT: ClassLib="cmd_butoane.vcx" BaseClass="commandbutton" /> + + ADD OBJECT 'But_sterge1' AS but_sterge WITH ; + Anchor = 8, ; + Left = 639, ; + Name = "But_sterge1", ; + TabIndex = 5, ; + Top = 1, ; + Visible = .T. + *< END OBJECT: ClassLib="cmd_butoane.vcx" BaseClass="commandbutton" /> + + ADD OBJECT 'Cmd_cauta1' AS cmd_cauta WITH ; + Left = 299, ; + Name = "Cmd_cauta1", ; + TabIndex = 2, ; + Top = 44 + *< END OBJECT: ClassLib="cmd_butoane.vcx" BaseClass="commandbutton" /> + + ADD OBJECT 'Gridextra1' AS gridextra WITH ; + gridexpression = Thisform._gnom_fdoc, ; + Left = 405, ; + Name = "Gridextra1", ; + productname = ROA, ; + Top = 46 + *< END OBJECT: ClassLib="..\..\..\roacont\comun\utile\gridextras\gridextras.vcx" BaseClass="custom" /> + + ADD OBJECT 'lb_nom_fdoc' AS clb_tx_simplu WITH ; + Left = 8, ; + Name = "lb_nom_fdoc", ; + TabIndex = 1, ; + Top = 44, ; + Text_simplu1.Name = "Text_simplu1", ; + Lb_simplu1.Caption = "Tip Document", ; + Lb_simplu1.Name = "Lb_simplu1" + *< END OBJECT: ClassLib="lb_tx.vcx" BaseClass="container" /> + + PROCEDURE actualizeaza_grid1 + LPARAMETERS pcFiltru + LOCAL lcFiltru + lcFiltru=pcFiltru + IF EMPTY(lcFiltru) + lcFiltru=pofdoc.ca_baza1.cfiltru + ENDIF + save_grid_tag(thisform._gnom_fdoc) + pofdoc.ca_baza1.cfiltru=lcFiltru + pofdoc.ca_baza1.afisare() + restore_grid_tag(thisform._gnom_fdoc) + IF RECCOUNT('v_fdoc')>0 + thisform._gnom_fdoc.SetFocus() + ELSE + thisform.lb_nom_fdoc.SetFocus() + ENDIF + + ENDPROC + + PROCEDURE do_adauga + SELECT v_fdoc + SCATTER NAME loRec blank + DO Adauga_Modifica_Inregistrare WITH "fdoc",loRec,,"INSERT" + this.actualizeaza_grid1() + ENDPROC + + PROCEDURE do_cauta + Local lcFiltru + lcFiltru=[] + lcNume = STRTRAN(Upper(Alltrim(This.lb_nom_fdoc.text_simplu1.value)),['],['']) + If !Empty(lcNume) + lcFiltru=[fel_document like ']+lcNume+[%'] + ELSE + lcFiltru = [2=2] + Endif + This.MousePointer= 11 + This.LockScreen=.T. + Thisform.actualizeaza_grid1(lcFiltru) + IF RECCOUNT()=0 + aMESSAGEBOX("Cautarea nu a intors rezultate!",0+64,"Info cautare") + ENDIF + This.LockScreen=.F. + This.MousePointer= 0 + ENDPROC + + PROCEDURE do_modifica + LOCAL loRec + If Reccount('v_fdoc')>0 + Select v_fdoc + Scatter Name loRec + pcfel_document=loRec.fel_document + Do Adauga_Modifica_Inregistrare With "fdoc",loRec,loRec.Id_fdoc,"UPDATE" + Thisform.actualizeaza_grid1() + SELECT v_fdoc + LOCATE FOR id_fdoc = loRec.id_fdoc + IF !FOUND() + GO TOP + ENDIF + Else + amessagebox("Nu exista inregistrari pentru modificare!",48,"Atentie") + Endif + ENDPROC + + PROCEDURE do_sterge + If Reccount('v_fdoc')>0 + Select v_fdoc + Scatter Name lorec + Do STERGE_INREGISTRARE With "fdoc",lorec.id_fdoc + + This.actualizeaza_grid1() + + Else + amessagebox("Nu exista inregistrari pentru stergere!",48,"Atentie") + Endif + ENDPROC + + PROCEDURE Init + DODEFAULT() + + This._gnom_fdoc.column6.Visible = m.gl406 + THIS.GRIdextra1.setup() + + ENDPROC + + PROCEDURE KeyPress + Lparameters nKeyCode, nShiftAltCtrl + lcActiveControl = UPPER(ALLTRIM(this.ActiveControl.name)) + + IF nKeyCode=13 AND lcActiveControl = '_GNOM_FDOC' + Nodefault + this.lb_nom_fdoc.SetFocus + ENDIF + + + DODEFAULT(nKeyCode, nShiftAltCtrl) + + + ENDPROC + + PROCEDURE log + LPARAMETERS tctabela,tnId + + lcId = ALLTRIM(STR(tnId)) + lctabela = UPPER(ALLTRIM(tctabela)) + PRIVATE polog,pcschema1,pcselect1 + STORE '' TO polog + pcschema1 = [''] + pcselect1=['select * from vlog where '] + pcorder1=['dataora'] + pcfiltru1 = [tabel = '] + lctabela + [' and id_tabel = ] + lcId + gencursor('polog','v_log',pcselect1,pcfiltru1,pcschema1,pcorder1) + polog.ca_baza1.afisare() + ofrmlog=CREATEOBJECT('frm_log') + ofrmlog.show(1) + RELEASE polog + + + ENDPROC + + PROCEDURE _gnom_fdoc.Column1.Text1.DblClick + thisform.log("NOM_FDOC",v_fdoc.id_fdoc) + ENDPROC + +ENDDEFINE + +DEFINE CLASS frm_fdoc_nou AS _frmbase OF "_frm_base.vcx" + *< CLASSDATA: Baseclass="form" Timestamp="" Scale="Pixels" Uniqueid="" /> + + *-- OBJECTDATA items order determines ZOrder / El orden de los items OBJECTDATA determina el ZOrder + *< OBJECTDATA: ObjPath="But_renunt1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="Clb_tx_simplu1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="Cus_odata_fdoc1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="_checkbox1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="Cb_tx_simplu1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="Cb_cod_plata" UniqueID="" Timestamp="" /> + + * + *p: lusedtipdoc && Daca este deschis deja cursorul crsTipDoc la Load + *p: nid + *p: orec + * + + * + BorderStyle = 1 + DoCreate = .T. + Height = 155 + lusedtipdoc = .F. + Name = "frm_fdoc_nou" + Width = 372 + _memberdata = + + + _shape1.Name = "_shape1" + _shape2.Height = 29 + _shape2.Left = 309 + _shape2.Name = "_shape2" + _shape2.Top = 0 + _shape2.Width = 70 + Lb_titlu_alb_b121.Caption = "Document" + Lb_titlu_alb_b121.Name = "Lb_titlu_alb_b121" + Lb_titlu_alb_b121.TabIndex = 7 + BUT_TERMIN1.Name = "BUT_TERMIN1" + BUT_TERMIN1.TabIndex = 4 + Gridsort1.Left = 4 + Gridsort1.Name = "Gridsort1" + Gridsort1.Top = 42 + * + + ADD OBJECT '_checkbox1' AS _checkbox WITH ; + Alignment = 0, ; + Caption = "Inactiv", ; + ControlSource = "porec.inactiv", ; + Left = 8, ; + Name = "_checkbox1", ; + TabIndex = 6, ; + TabStop = .F., ; + Top = 131 + *< END OBJECT: ClassLib="_baza.vcx" BaseClass="checkbox" /> + + ADD OBJECT 'But_renunt1' AS but_renunt WITH ; + Left = 312, ; + Name = "But_renunt1", ; + TabIndex = 5, ; + Top = 1 + *< END OBJECT: ClassLib="cmd_butoane.vcx" BaseClass="commandbutton" /> + + ADD OBJECT 'Cb_cod_plata' AS cb_tx_simplu WITH ; + Left = 8, ; + Name = "Cb_cod_plata", ; + TabIndex = 3, ; + Top = 94, ; + Width = 357, ; + _CBBASE1.BoundColumn = 3, ; + _CBBASE1.ColumnCount = 2, ; + _CBBASE1.ColumnLines = .F., ; + _CBBASE1.ColumnWidths = "250,150", ; + _CBBASE1.ControlSource = "poRec.PaymentCode", ; + _CBBASE1.Height = 23, ; + _CBBASE1.Left = 112, ; + _CBBASE1.Name = "_CBBASE1", ; + _CBBASE1.RowSource = "Select paymentname, methodname, mechanismcode From saft_mecanisme_plati where afisat=1 Order By ordine Into Cursor crsMecanismePlati", ; + _CBBASE1.RowSourceType = 3, ; + _CBBASE1.ToolTipText = "Tip document pentru Declaratia 394", ; + _CBBASE1.Top = 3, ; + _CBBASE1.Width = 237, ; + _LBBASE1.Caption = "Cod plata SAFT", ; + _LBBASE1.Name = "_LBBASE1" + *< END OBJECT: ClassLib="lb_tx.vcx" BaseClass="container" /> + + ADD OBJECT 'Cb_tx_simplu1' AS cb_tx_simplu WITH ; + Left = 8, ; + Name = "Cb_tx_simplu1", ; + TabIndex = 2, ; + Top = 66, ; + Width = 357, ; + _cbbase1.Height = 23, ; + _cbbase1.Left = 112, ; + _cbbase1.Name = "_cbbase1", ; + _cbbase1.RowSource = "crsTipDoc.descriere", ; + _cbbase1.RowSourceType = 6, ; + _cbbase1.ToolTipText = "Tip document pentru Declaratia 394", ; + _cbbase1.Top = 3, ; + _cbbase1.Width = 237, ; + _lbbase1.Caption = "Tip D394", ; + _lbbase1.Name = "_lbbase1" + *< END OBJECT: ClassLib="lb_tx.vcx" BaseClass="container" /> + + ADD OBJECT 'Clb_tx_simplu1' AS clb_tx_simplu WITH ; + Height = 29, ; + Left = 8, ; + Name = "Clb_tx_simplu1", ; + TabIndex = 1, ; + Top = 38, ; + Width = 357, ; + Text_simplu1.ControlSource = "porec.fel_document", ; + Text_simplu1.Format = "!K", ; + Text_simplu1.Height = 23, ; + Text_simplu1.Left = 112, ; + Text_simplu1.Name = "Text_simplu1", ; + Text_simplu1.Top = 3, ; + Text_simplu1.Width = 237, ; + Lb_simplu1.Caption = "Document", ; + Lb_simplu1.Name = "Lb_simplu1" + *< END OBJECT: ClassLib="lb_tx.vcx" BaseClass="container" /> + + ADD OBJECT 'Cus_odata_fdoc1' AS cus_odata_fdoc WITH ; + Left = 0, ; + Name = "Cus_odata_fdoc1", ; + Top = 60 + *< END OBJECT: ClassLib="onomenclatoare.vcx" BaseClass="custom" /> + + PROCEDURE Destroy + IF !this.lUsedTipDoc + close_tip_doc() + ENDIF + ENDPROC + + PROCEDURE inainte_de_do_termin + + Local PLRETURN + + lccontrol = Upper(This.ActiveControl.BaseClass ) + If Inlist(lccontrol,"TEXTBOX","EDITBOX","COMBOBOX") + lcval=This.ActiveControl.ControlSource + &lcval=Thisform.ActiveControl.Value + Endif + + Do Case + Case Empty(porec.fel_document) + aMessagebox('Nu ati completat tipul documentului!',0+48,"Atentie") + This.clb_tx_simplu1.SetFocus() + PLRETURN=.F. + Otherwise + If Alltrim(Upper(This.cus_odata_fdoc1.cactiune))="INSERT" Or (Alltrim(Upper(This.cus_odata_fdoc1.cactiune))="UPDATE" And porec.fel_document!=pcfel_document) + pcexec=[select * from ]+gcS+[.vnom_fdoc where TRIM(fel_document)=']+Alltrim(porec.fel_document)+['] + Do While .T. + pnSucces = SQLExec(GNHANDLE,pcexec,'exista_fel_document') + If pnSucces = 0 + * instructiunea in curs de executie + Else + Exit + Endif + Enddo + If Reccount('exista_fel_document')>0 + aMessagebox('Mai exista acest tip de document inregistrat!',0+48,"Atentie") + Thisform.clb_tx_simplu1.SetFocus() + Use In exista_fel_document + PLRETURN=.F. + Else + PLRETURN=This.cus_odata_fdoc1.salvare(This.OREC,This.NID) + Endif + Else + PLRETURN=This.cus_odata_fdoc1.salvare(This.OREC,This.NID) + Endif + Endcase + + Return PLRETURN + + ENDPROC + + PROCEDURE Init + LPARAMETERS toRec, tnId, tcActiune + + DODEFAULT() + + this.orec= toRec + this.nid = tnId + this.cus_odata_fdoc1.cactiune = tcActiune + + SELECT crsTipDoc + LOCATE FOR NVL(tip, 'x') = NVL(torec.tip_doc, 'x') + IF !FOUND() + GO TOP + ENDIF + this.cb_tx_simplu1._cbbase1.Value = crsTipDoc.descriere + + this.cb_cod_plata.Visible = m.gl406 + ENDPROC + + PROCEDURE Load + Local lcSelect, llSucces + If !Used('crsTipDoc') + This.lUsedTipDoc = .F. + lcSelect = Select() + llSucces = update_tip_doc(.T.) + + If !Used('saft_mecanisme_plati') + update_saft_mecanisme_plati() + ENDIF + Select (m.lcSelect) + ELSE + This.lUsedTipDoc = .T. + Endif + ENDPROC + + PROCEDURE Cb_cod_plata._CBBASE1.LostFocus + porec.tip_doc = ALLTRIM(NVL(crsTipDoc.tip, '')) + ENDPROC + + PROCEDURE Cb_tx_simplu1._cbbase1.LostFocus + porec.tip_doc = ALLTRIM(NVL(crsTipDoc.tip, '')) + ENDPROC + +ENDDEFINE + +DEFINE CLASS frm_gestiuni AS _frmbase OF "_frm_base.vcx" + *< CLASSDATA: Baseclass="form" Timestamp="" Scale="Pixels" Uniqueid="" /> + + *-- OBJECTDATA items order determines ZOrder / El orden de los items OBJECTDATA determina el ZOrder + *< OBJECTDATA: ObjPath="Cmd_cauta1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="_gnom_gestiuni" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="_gnom_gestiuni.cNume_gestiune.Header1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="_gnom_gestiuni.cNume_gestiune.Text1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="_gnom_gestiuni.cCgest.Header1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="_gnom_gestiuni.cCgest.Text1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="_gnom_gestiuni.cCont.Header1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="_gnom_gestiuni.cCont.Text1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="_gnom_gestiuni.cNr_pag.Header1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="_gnom_gestiuni.cNr_pag.Text1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="_gnom_gestiuni.cAcont.Header1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="_gnom_gestiuni.cAcont.Text1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="_gnom_gestiuni.cInactiv.Header1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="_gnom_gestiuni.cInactiv.Check1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="_gnom_gestiuni.cId_gestiune.Header1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="_gnom_gestiuni.cId_gestiune.Text1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="_gnom_gestiuni.cSucursala.Header1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="_gnom_gestiuni.cSucursala.Text1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="_gnom_gestiuni.cDenumire.Header1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="_gnom_gestiuni.cDenumire.Text1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="_gnom_gestiuni.cSectie.Header1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="_gnom_gestiuni.cSectie.Text1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="_gnom_gestiuni.cAcontCheltuiala.Header1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="_gnom_gestiuni.cAcontCheltuiala.Text1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="_gnom_gestiuni.cAcontAdaos.Header1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="_gnom_gestiuni.cAcontAdaos.Text1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="_gnom_gestiuni.cLucrare.Header1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="_gnom_gestiuni.cLucrare.Text1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="_gnom_gestiuni.cReceptie1.Header1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="_gnom_gestiuni.cReceptie1.Text1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="_gnom_gestiuni.cReceptie2.Header1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="_gnom_gestiuni.cReceptie2.Text1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="_gnom_gestiuni.cReceptie3.Header1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="_gnom_gestiuni.cReceptie3.Text1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="_gnom_gestiuni.cGestionar.Header1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="_gnom_gestiuni.cGestionar.Text1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="But_nou1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="But_sterge1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="But_modifica1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="lb_nom_gestiuni" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="But_excel1" UniqueID="" Timestamp="" /> + + * + *m: log + * + + * + BorderStyle = 1 + cgridsortlist = _gnom_gestiuni + DoCreate = .T. + Height = 451 + lactiv3 = .T. + lactiv4 = .T. + Name = "frm_gestiuni" + Width = 561 + _shape1.Height = 29 + _shape1.Left = 0 + _shape1.Name = "_shape1" + _shape1.Top = 0 + _shape1.Width = 564 + _shape2.Height = 29 + _shape2.Left = 434 + _shape2.Name = "_shape2" + _shape2.Top = 0 + _shape2.Width = 129 + Lb_titlu_alb_b121.Caption = "Gestiuni" + Lb_titlu_alb_b121.Name = "Lb_titlu_alb_b121" + Lb_titlu_alb_b121.TabIndex = 8 + BUT_TERMIN1.Height = 27 + BUT_TERMIN1.Left = 530 + BUT_TERMIN1.Name = "BUT_TERMIN1" + BUT_TERMIN1.TabIndex = 4 + BUT_TERMIN1.Top = 1 + BUT_TERMIN1.Visible = .T. + BUT_TERMIN1.Width = 30 + GRIDSORT1.Name = "GRIDSORT1" + * + + ADD OBJECT '_gnom_gestiuni' AS _grdrow WITH ; + ColumnCount = 17, ; + DeleteMark = .F., ; + FontSize = 10, ; + Height = 363, ; + Left = 8, ; + Name = "_gnom_gestiuni", ; + Panel = 1, ; + ReadOnly = .T., ; + RecordSource = "v_gestiuni", ; + RowHeight = 19, ; + TabIndex = 3, ; + Top = 80, ; + Width = 545, ; + Column1.ColumnOrder = 2, ; + Column1.ControlSource = "nume_gestiune", ; + Column1.FontName = "Arial", ; + Column1.FontSize = 10, ; + Column1.Name = "cNume_gestiune", ; + Column1.ReadOnly = .T., ; + Column1.Width = 238, ; + Column2.ColumnOrder = 4, ; + Column2.ControlSource = "cgest", ; + Column2.FontName = "Arial", ; + Column2.FontSize = 10, ; + Column2.Name = "cCgest", ; + Column2.ReadOnly = .T., ; + Column2.Width = 50, ; + Column3.ColumnOrder = 8, ; + Column3.ControlSource = "cont", ; + Column3.FontName = "Arial", ; + Column3.FontSize = 10, ; + Column3.Name = "cCont", ; + Column3.ReadOnly = .T., ; + Column3.Width = 63, ; + Column4.ColumnOrder = 12, ; + Column4.ControlSource = "nr_pag", ; + Column4.FontName = "Arial", ; + Column4.FontSize = 10, ; + Column4.Name = "cNr_pag", ; + Column4.ReadOnly = .T., ; + Column4.Width = 123, ; + Column5.ColumnOrder = 9, ; + Column5.ControlSource = "acont", ; + Column5.FontName = "Arial", ; + Column5.FontSize = 10, ; + Column5.Name = "cAcont", ; + Column5.ReadOnly = .T., ; + Column5.Width = 55, ; + Column6.ColumnOrder = 17, ; + Column6.ControlSource = "inactiv", ; + Column6.FontName = "Arial", ; + Column6.FontSize = 10, ; + Column6.Name = "cInactiv", ; + Column6.ReadOnly = .T., ; + Column6.Sparse = .F., ; + Column6.Width = 38, ; + Column7.ColumnOrder = 1, ; + Column7.ControlSource = "id_gestiune", ; + Column7.FontName = "Arial", ; + Column7.FontSize = 10, ; + Column7.Name = "cId_gestiune", ; + Column7.ReadOnly = .T., ; + Column7.Width = 30, ; + Column8.ColumnOrder = 3, ; + Column8.ControlSource = "sucursala", ; + Column8.FontName = "Arial", ; + Column8.FontSize = 10, ; + Column8.Name = "cSucursala", ; + Column8.ReadOnly = .T., ; + Column9.ColumnOrder = 5, ; + Column9.ControlSource = "denumire", ; + Column9.FontName = "Arial", ; + Column9.FontSize = 10, ; + Column9.Name = "cDenumire", ; + Column9.ReadOnly = .T., ; + Column9.Width = 122, ; + Column10.ColumnOrder = 7, ; + Column10.ControlSource = "sectie", ; + Column10.FontName = "Arial", ; + Column10.FontSize = 10, ; + Column10.Name = "cSectie", ; + Column10.ReadOnly = .T., ; + Column10.Width = 147, ; + Column11.ColumnOrder = 10, ; + Column11.ControlSource = "acont_cheltuiala", ; + Column11.FontName = "Arial", ; + Column11.FontSize = 10, ; + Column11.Name = "cAcontCheltuiala", ; + Column11.ReadOnly = .T., ; + Column11.Width = 72, ; + Column12.ColumnOrder = 11, ; + Column12.ControlSource = "acont_adaos", ; + Column12.FontName = "Arial", ; + Column12.FontSize = 10, ; + Column12.Name = "cAcontAdaos", ; + Column12.ReadOnly = .T., ; + Column12.Width = 72, ; + Column13.ColumnOrder = 6, ; + Column13.ControlSource = "nrord", ; + Column13.FontName = "Arial", ; + Column13.FontSize = 10, ; + Column13.Name = "cLucrare", ; + Column13.ReadOnly = .T., ; + Column13.Width = 101, ; + Column14.ColumnOrder = 14, ; + Column14.ControlSource = "comisie_receptie1", ; + Column14.FontName = "Arial", ; + Column14.FontSize = 10, ; + Column14.Name = "cReceptie1", ; + Column14.ReadOnly = .T., ; + Column14.Width = 152, ; + Column15.ColumnOrder = 15, ; + Column15.ControlSource = "comisie_receptie2", ; + Column15.Name = "cReceptie2", ; + Column15.ReadOnly = .T., ; + Column15.Width = 134, ; + Column16.ColumnOrder = 16, ; + Column16.ControlSource = "comisie_receptie3", ; + Column16.Name = "cReceptie3", ; + Column16.ReadOnly = .T., ; + Column16.Width = 112, ; + Column17.ColumnOrder = 13, ; + Column17.ControlSource = "gestionar", ; + Column17.Name = "cGestionar", ; + Column17.ReadOnly = .T., ; + Column17.Width = 144 + *< END OBJECT: ClassLib="_grd_base.vcx" BaseClass="grid" /> + + ADD OBJECT '_gnom_gestiuni.cAcont.Header1' AS header WITH ; + Alignment = 2, ; + Caption = "Analitic", ; + FontName = "Arial", ; + FontSize = 10, ; + Name = "Header1" + *< END OBJECT: BaseClass="header" /> + + ADD OBJECT '_gnom_gestiuni.cAcont.Text1' AS textbox WITH ; + BackColor = 255,255,255, ; + BorderStyle = 0, ; + FontName = "Arial", ; + FontSize = 10, ; + ForeColor = 0,0,0, ; + Margin = 0, ; + Name = "Text1", ; + ReadOnly = .T., ; + SelectedBackColor = 100,185,255 + *< END OBJECT: BaseClass="textbox" /> + + ADD OBJECT '_gnom_gestiuni.cAcontAdaos.Header1' AS header WITH ; + Alignment = 2, ; + Caption = "Analitic 37x", ; + FontName = "Arial", ; + FontSize = 10, ; + Name = "Header1" + *< END OBJECT: BaseClass="header" /> + + ADD OBJECT '_gnom_gestiuni.cAcontAdaos.Text1' AS textbox WITH ; + BackColor = 255,255,255, ; + BorderStyle = 0, ; + FontName = "Arial", ; + FontSize = 10, ; + ForeColor = 0,0,0, ; + Margin = 0, ; + Name = "Text1", ; + ReadOnly = .T., ; + SelectedBackColor = 100,185,255 + *< END OBJECT: BaseClass="textbox" /> + + ADD OBJECT '_gnom_gestiuni.cAcontCheltuiala.Header1' AS header WITH ; + Alignment = 2, ; + Caption = "Analitic 60x", ; + FontName = "Arial", ; + FontSize = 10, ; + Name = "Header1" + *< END OBJECT: BaseClass="header" /> + + ADD OBJECT '_gnom_gestiuni.cAcontCheltuiala.Text1' AS textbox WITH ; + BackColor = 255,255,255, ; + BorderStyle = 0, ; + FontName = "Arial", ; + FontSize = 10, ; + ForeColor = 0,0,0, ; + Margin = 0, ; + Name = "Text1", ; + ReadOnly = .T., ; + SelectedBackColor = 100,185,255 + *< END OBJECT: BaseClass="textbox" /> + + ADD OBJECT '_gnom_gestiuni.cCgest.Header1' AS header WITH ; + Alignment = 2, ; + Caption = "Indicativ", ; + FontName = "Arial", ; + FontSize = 10, ; + Name = "Header1" + *< END OBJECT: BaseClass="header" /> + + ADD OBJECT '_gnom_gestiuni.cCgest.Text1' AS textbox WITH ; + BackColor = 255,255,255, ; + BorderStyle = 0, ; + FontName = "Arial", ; + FontSize = 10, ; + ForeColor = 0,0,0, ; + Margin = 0, ; + Name = "Text1", ; + ReadOnly = .T., ; + SelectedBackColor = 100,185,255 + *< END OBJECT: BaseClass="textbox" /> + + ADD OBJECT '_gnom_gestiuni.cCont.Header1' AS header WITH ; + Alignment = 2, ; + Caption = "Cont", ; + FontName = "Arial", ; + FontSize = 10, ; + Name = "Header1" + *< END OBJECT: BaseClass="header" /> + + ADD OBJECT '_gnom_gestiuni.cCont.Text1' AS textbox WITH ; + BackColor = 255,255,255, ; + BorderStyle = 0, ; + FontName = "Arial", ; + FontSize = 10, ; + ForeColor = 0,0,0, ; + Margin = 0, ; + Name = "Text1", ; + ReadOnly = .T., ; + SelectedBackColor = 100,185,255 + *< END OBJECT: BaseClass="textbox" /> + + ADD OBJECT '_gnom_gestiuni.cDenumire.Header1' AS header WITH ; + Alignment = 2, ; + Caption = "Responsabil", ; + FontName = "Arial", ; + FontSize = 10, ; + Name = "Header1" + *< END OBJECT: BaseClass="header" /> + + ADD OBJECT '_gnom_gestiuni.cDenumire.Text1' AS textbox WITH ; + BackColor = 255,255,255, ; + BorderStyle = 0, ; + FontName = "Arial", ; + FontSize = 10, ; + ForeColor = 0,0,0, ; + Margin = 0, ; + Name = "Text1", ; + ReadOnly = .T., ; + SelectedBackColor = 100,185,255 + *< END OBJECT: BaseClass="textbox" /> + + ADD OBJECT '_gnom_gestiuni.cGestionar.Header1' AS header WITH ; + Alignment = 2, ; + Caption = "Gestionar", ; + Name = "Header1" + *< END OBJECT: BaseClass="header" /> + + ADD OBJECT '_gnom_gestiuni.cGestionar.Text1' AS textbox WITH ; + BackColor = 255,255,255, ; + BorderStyle = 0, ; + ForeColor = 0,0,0, ; + Margin = 0, ; + Name = "Text1", ; + ReadOnly = .T., ; + SelectedBackColor = 100,185,255 + *< END OBJECT: BaseClass="textbox" /> + + ADD OBJECT '_gnom_gestiuni.cId_gestiune.Header1' AS header WITH ; + Alignment = 2, ; + Caption = "Id", ; + FontName = "Arial", ; + FontSize = 10, ; + Name = "Header1" + *< END OBJECT: BaseClass="header" /> + + ADD OBJECT '_gnom_gestiuni.cId_gestiune.Text1' AS textbox WITH ; + BackColor = 255,255,255, ; + BorderStyle = 0, ; + FontName = "Arial", ; + FontSize = 10, ; + ForeColor = 0,0,0, ; + Margin = 0, ; + Name = "Text1", ; + ReadOnly = .T., ; + SelectedBackColor = 100,185,255 + *< END OBJECT: BaseClass="textbox" /> + + ADD OBJECT '_gnom_gestiuni.cInactiv.Check1' AS checkbox WITH ; + Alignment = 0, ; + Caption = "", ; + Centered = .T., ; + FontName = "Arial", ; + FontSize = 10, ; + Height = 17, ; + Left = 16, ; + Name = "Check1", ; + ReadOnly = .T., ; + Top = 21, ; + Width = 60 + *< END OBJECT: BaseClass="checkbox" /> + + ADD OBJECT '_gnom_gestiuni.cInactiv.Header1' AS header WITH ; + Alignment = 2, ; + Caption = "Inactiv", ; + FontName = "Arial", ; + FontSize = 10, ; + Name = "Header1" + *< END OBJECT: BaseClass="header" /> + + ADD OBJECT '_gnom_gestiuni.cLucrare.Header1' AS header WITH ; + Alignment = 2, ; + Caption = "Lucrare", ; + FontName = "Arial", ; + FontSize = 10, ; + Name = "Header1" + *< END OBJECT: BaseClass="header" /> + + ADD OBJECT '_gnom_gestiuni.cLucrare.Text1' AS textbox WITH ; + BackColor = 255,255,255, ; + BorderStyle = 0, ; + FontName = "Arial", ; + FontSize = 10, ; + ForeColor = 0,0,0, ; + Margin = 0, ; + Name = "Text1", ; + ReadOnly = .T., ; + SelectedBackColor = 100,185,255 + *< END OBJECT: BaseClass="textbox" /> + + ADD OBJECT '_gnom_gestiuni.cNr_pag.Header1' AS header WITH ; + Alignment = 2, ; + Caption = "Tip", ; + FontName = "Arial", ; + FontSize = 10, ; + Name = "Header1" + *< END OBJECT: BaseClass="header" /> + + ADD OBJECT '_gnom_gestiuni.cNr_pag.Text1' AS textbox WITH ; + BackColor = 255,255,255, ; + BorderStyle = 0, ; + FontName = "Arial", ; + FontSize = 10, ; + ForeColor = 0,0,0, ; + Margin = 0, ; + Name = "Text1", ; + ReadOnly = .T., ; + SelectedBackColor = 100,185,255 + *< END OBJECT: BaseClass="textbox" /> + + ADD OBJECT '_gnom_gestiuni.cNume_gestiune.Header1' AS header WITH ; + Alignment = 2, ; + Caption = "Gestiune", ; + FontName = "Arial", ; + FontSize = 10, ; + Name = "Header1" + *< END OBJECT: BaseClass="header" /> + + ADD OBJECT '_gnom_gestiuni.cNume_gestiune.Text1' AS textbox WITH ; + BackColor = 255,255,255, ; + BorderStyle = 0, ; + FontName = "Arial", ; + FontSize = 10, ; + ForeColor = 0,0,0, ; + Margin = 0, ; + Name = "Text1", ; + ReadOnly = .T., ; + SelectedBackColor = 100,185,255 + *< END OBJECT: BaseClass="textbox" /> + + ADD OBJECT '_gnom_gestiuni.cReceptie1.Header1' AS header WITH ; + Alignment = 2, ; + Caption = "Receptie 1", ; + FontName = "Arial", ; + FontSize = 10, ; + Name = "Header1" + *< END OBJECT: BaseClass="header" /> + + ADD OBJECT '_gnom_gestiuni.cReceptie1.Text1' AS textbox WITH ; + BackColor = 255,255,255, ; + BorderStyle = 0, ; + FontName = "Arial", ; + FontSize = 10, ; + ForeColor = 0,0,0, ; + Margin = 0, ; + Name = "Text1", ; + ReadOnly = .T., ; + SelectedBackColor = 100,185,255 + *< END OBJECT: BaseClass="textbox" /> + + ADD OBJECT '_gnom_gestiuni.cReceptie2.Header1' AS header WITH ; + Alignment = 2, ; + Caption = "Receptie 2", ; + Name = "Header1" + *< END OBJECT: BaseClass="header" /> + + ADD OBJECT '_gnom_gestiuni.cReceptie2.Text1' AS textbox WITH ; + BackColor = 255,255,255, ; + BorderStyle = 0, ; + ForeColor = 0,0,0, ; + Margin = 0, ; + Name = "Text1", ; + ReadOnly = .T., ; + SelectedBackColor = 100,185,255 + *< END OBJECT: BaseClass="textbox" /> + + ADD OBJECT '_gnom_gestiuni.cReceptie3.Header1' AS header WITH ; + Alignment = 2, ; + Caption = "Receptie 3", ; + Name = "Header1" + *< END OBJECT: BaseClass="header" /> + + ADD OBJECT '_gnom_gestiuni.cReceptie3.Text1' AS textbox WITH ; + BackColor = 255,255,255, ; + BorderStyle = 0, ; + ForeColor = 0,0,0, ; + Margin = 0, ; + Name = "Text1", ; + ReadOnly = .T., ; + SelectedBackColor = 100,185,255 + *< END OBJECT: BaseClass="textbox" /> + + ADD OBJECT '_gnom_gestiuni.cSectie.Header1' AS header WITH ; + Alignment = 2, ; + Caption = "Sectie", ; + FontName = "Arial", ; + FontSize = 10, ; + Name = "Header1" + *< END OBJECT: BaseClass="header" /> + + ADD OBJECT '_gnom_gestiuni.cSectie.Text1' AS textbox WITH ; + BackColor = 255,255,255, ; + BorderStyle = 0, ; + FontName = "Arial", ; + FontSize = 10, ; + ForeColor = 0,0,0, ; + Margin = 0, ; + Name = "Text1", ; + ReadOnly = .T., ; + SelectedBackColor = 100,185,255 + *< END OBJECT: BaseClass="textbox" /> + + ADD OBJECT '_gnom_gestiuni.cSucursala.Header1' AS header WITH ; + Alignment = 2, ; + Caption = "Sucursala", ; + FontName = "Arial", ; + FontSize = 10, ; + Name = "Header1" + *< END OBJECT: BaseClass="header" /> + + ADD OBJECT '_gnom_gestiuni.cSucursala.Text1' AS textbox WITH ; + BackColor = 255,255,255, ; + BorderStyle = 0, ; + FontName = "Arial", ; + FontSize = 10, ; + ForeColor = 0,0,0, ; + Margin = 0, ; + Name = "Text1", ; + ReadOnly = .T., ; + SelectedBackColor = 100,185,255 + *< END OBJECT: BaseClass="textbox" /> + + ADD OBJECT 'But_excel1' AS but_excel WITH ; + Left = 408, ; + Name = "But_excel1", ; + Top = 1 + *< END OBJECT: ClassLib="cmd_butoane.vcx" BaseClass="commandbutton" /> + + ADD OBJECT 'But_modifica1' AS but_modifica WITH ; + Height = 27, ; + Left = 469, ; + Name = "But_modifica1", ; + TabIndex = 6, ; + Top = 1, ; + Visible = .T., ; + Width = 30 + *< END OBJECT: ClassLib="cmd_butoane.vcx" BaseClass="commandbutton" /> + + ADD OBJECT 'But_nou1' AS but_nou WITH ; + Height = 27, ; + Left = 438, ; + Name = "But_nou1", ; + TabIndex = 7, ; + Top = 1, ; + Visible = .T., ; + Width = 30 + *< END OBJECT: ClassLib="cmd_butoane.vcx" BaseClass="commandbutton" /> + + ADD OBJECT 'But_sterge1' AS but_sterge WITH ; + Height = 27, ; + Left = 499, ; + Name = "But_sterge1", ; + TabIndex = 5, ; + Top = 1, ; + Visible = .T., ; + Width = 30 + *< END OBJECT: ClassLib="cmd_butoane.vcx" BaseClass="commandbutton" /> + + ADD OBJECT 'Cmd_cauta1' AS cmd_cauta WITH ; + Left = 307, ; + Name = "Cmd_cauta1", ; + TabIndex = 2, ; + Top = 44 + *< END OBJECT: ClassLib="cmd_butoane.vcx" BaseClass="commandbutton" /> + + ADD OBJECT 'lb_nom_gestiuni' AS clb_tx_simplu WITH ; + Left = 11, ; + Name = "lb_nom_gestiuni", ; + TabIndex = 1, ; + Top = 44, ; + Text_simplu1.Name = "Text_simplu1", ; + Lb_simplu1.Caption = "Gestiune", ; + Lb_simplu1.Name = "Lb_simplu1" + *< END OBJECT: ClassLib="lb_tx.vcx" BaseClass="container" /> + + PROCEDURE actualizeaza_grid1 + LPARAMETERS pcFiltru + LOCAL lcFiltru + lcFiltru=pcFiltru + IF EMPTY(lcFiltru) + lcFiltru=pogestiuni.ca_baza1.cfiltru + ENDIF + save_grid_tag(thisform._gnom_gestiuni) + pogestiuni.ca_baza1.cfiltru=lcFiltru + pogestiuni.ca_baza1.afisare() + restore_grid_tag(thisform._gnom_gestiuni) + IF RECCOUNT('v_gestiuni')>0 + thisform._gnom_gestiuni.SetFocus() + ELSE + thisform.lb_nom_gestiuni.SetFocus() + ENDIF + + ENDPROC + + PROCEDURE do_adauga + DO nom_gestiuni_nou IN onomenclatoare.prg + + IF gnButon = 1 + THISFORM.actualizeaza_grid1() + ENDI + ENDPROC + + PROCEDURE do_cauta + Local lcFiltru + lcFiltru=[] + lcNume = STRTRAN(Upper(Alltrim(This.lb_nom_gestiuni.text_simplu1.value)),['],['']) + + If !Empty(lcNume) + lcFiltru=[nume_gestiune like ']+lcNume+[%'] + ELSE + lcFiltru = [2=2] + Endif + This.MousePointer= 11 + This.LockScreen=.T. + Thisform.actualizeaza_grid1(lcFiltru) + IF RECCOUNT()=0 + aMESSAGEBOX("Cautarea nu a intors rezultate!",0+64,"Info cautare") + ENDIF + This.LockScreen=.F. + This.MousePointer= 0 + ENDPROC + + PROCEDURE do_excel + DO export_excel_grid WITH this._gnom_gestiuni, "nume_gestiune" + ENDPROC + + PROCEDURE do_modifica + LOCAL loRec, lnIdGestiune + + If Reccount('v_gestiuni')>0 + Select v_gestiuni + lnIdGestiune = id_gestiune + Scatter Name loRec + + loRec = nom_gestiuni_modifica(lnIdGestiune) + + IF !ISNULL(loRec) + Thisform.MousePointer= 11 + Thisform.LockScreen=.T. + Thisform.actualizeaza_grid1() + SELECT v_gestiuni + LOCATE FOR id_gestiune = lorec.id_gestiune + IF !FOUND() + GO top + ENDIF + thisform._gnom_gestiuni.SetFocus() + Thisform.LockScreen=.F. + Thisform.MousePointer= 0 + Endif + Else + amessagebox("Nu exista inregistrari pentru modificare!",48,"Atentie") + Endif + ENDPROC + + PROCEDURE do_sterge + If Reccount('v_gestiuni')>0 + Select v_gestiuni + Scatter Name lorec + Do STERGE_INREGISTRARE With "gestiuni",lorec.id_gestiune + + This.actualizeaza_grid1() + Else + amessagebox("Nu exista inregistrari pentru stergere!",48,"Atentie") + Endif + + ENDPROC + + PROCEDURE KeyPress + Lparameters nKeyCode, nShiftAltCtrl + lcActiveControl = UPPER(ALLTRIM(this.ActiveControl.name)) + + IF nKeyCode=13 AND lcActiveControl = '_GNOM_GESTIUNI' + Nodefault + this.lb_nom_gestiuni.SetFocus + ENDIF + + + DODEFAULT(nKeyCode, nShiftAltCtrl) + + + ENDPROC + + PROCEDURE log + LPARAMETERS tctabela,tnId + + lcId = ALLTRIM(STR(tnId)) + lctabela = UPPER(ALLTRIM(tctabela)) + PRIVATE polog,pcschema1,pcselect1 + STORE '' TO polog + pcschema1 = [''] + pcselect1=['select * from ] + gcS + [.vlog where '] + pcorder1=[''] + pcfiltru1 = [tabel = '] + lctabela + [' and id_tabel = ] + lcId + gencursor('polog','v_log',pcselect1,pcfiltru1,pcschema1,pcorder1) + polog.ca_baza1.afisare() + ofrmlog=CREATEOBJECT('frm_log') + ofrmlog.show(1) + RELEASE polog + ENDPROC + + PROCEDURE Unload + IF USED('v_gestiuni') + USE IN v_gestiuni + ENDIF + ENDPROC + + PROCEDURE _gnom_gestiuni.cNume_gestiune.Text1.DblClick + thisform.log("NOM_GESTIUNI",v_gestiuni.id_gestiune) + ENDPROC + +ENDDEFINE + +DEFINE CLASS frm_gestiuni_nou AS _frmbase OF "_frm_base.vcx" + *< CLASSDATA: Baseclass="form" Timestamp="" Scale="Pixels" Uniqueid="" /> + + *-- OBJECTDATA items order determines ZOrder / El orden de los items OBJECTDATA determina el ZOrder + *< OBJECTDATA: ObjPath="But_renunt1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="Clb_tx_simplu1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="Cus_odata_gestiuni1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="Clb_tx_simplu2" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="Clb_cont" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="Clb_acont" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="_checkbox1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="Cb_nr_pag" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="Cb_sucursala" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="Ct_clb_responsabil" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="Cb_sectia" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="Clb_tx_simplu3" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="Clb_tx_simplu4" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="Ct_clb_lucrare" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="txtComisie1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="txtComisie2" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="txtComisie3" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="txtGestionar" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="lblComisie" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="lblGestionar" UniqueID="" Timestamp="" /> + + * + *m: do_alege_sucursala + *m: do_cauta_lucrare + *m: do_cauta_responsabil + *p: nid + *p: orec + * + + * + BorderStyle = 1 + DoCreate = .T. + Height = 437 + Name = "frm_gestiuni_nou" + Width = 375 + _shape1.Height = 29 + _shape1.Left = 0 + _shape1.Name = "_shape1" + _shape1.Top = 0 + _shape1.Width = 388 + _shape2.Height = 29 + _shape2.Left = 312 + _shape2.Name = "_shape2" + _shape2.Top = 0 + _shape2.Width = 69 + Lb_titlu_alb_b121.Caption = "Gestiune" + Lb_titlu_alb_b121.Name = "Lb_titlu_alb_b121" + Lb_titlu_alb_b121.TabIndex = 19 + BUT_TERMIN1.Left = 345 + BUT_TERMIN1.Name = "BUT_TERMIN1" + BUT_TERMIN1.TabIndex = 17 + BUT_TERMIN1.Top = 1 + Gridsort1.Name = "Gridsort1" + * + + ADD OBJECT '_checkbox1' AS _checkbox WITH ; + Alignment = 0, ; + Caption = "Inactiv", ; + ControlSource = "porec.inactiv", ; + Left = 303, ; + Name = "_checkbox1", ; + TabIndex = 16, ; + TabStop = .F., ; + Top = 412 + *< END OBJECT: ClassLib="_baza.vcx" BaseClass="checkbox" /> + + ADD OBJECT 'But_renunt1' AS but_renunt WITH ; + Left = 315, ; + Name = "But_renunt1", ; + TabIndex = 18, ; + Top = 1 + *< END OBJECT: ClassLib="cmd_butoane.vcx" BaseClass="commandbutton" /> + + ADD OBJECT 'Cb_nr_pag' AS cb_tx_simplu WITH ; + Left = 15, ; + Name = "Cb_nr_pag", ; + TabIndex = 3, ; + Top = 100, ; + Width = 321, ; + _CBBASE1.ControlSource = "porec.nume_tip", ; + _CBBASE1.Name = "_CBBASE1", ; + _CBBASE1.RowSource = "vtipuri_gestiuni.nume_tip", ; + _CBBASE1.RowSourceType = 2, ; + _CBBASE1.Width = 216, ; + _LBBASE1.Caption = "Tip", ; + _LBBASE1.FontBold = .T., ; + _LBBASE1.Name = "_LBBASE1" + *< END OBJECT: ClassLib="lb_tx.vcx" BaseClass="container" /> + + ADD OBJECT 'Cb_sectia' AS cb_tx_simplu WITH ; + Height = 29, ; + Left = 16, ; + Name = "Cb_sectia", ; + TabIndex = 8, ; + Top = 184, ; + Width = 321, ; + _cbbase1.ControlSource = "porec.sectie", ; + _cbbase1.Height = 23, ; + _cbbase1.Left = 101, ; + _cbbase1.Name = "_cbbase1", ; + _cbbase1.RowSource = "vnom_sectii.sectie", ; + _cbbase1.RowSourceType = 2, ; + _cbbase1.Top = 3, ; + _cbbase1.Width = 216, ; + _lbbase1.Caption = "Sectie", ; + _lbbase1.Name = "_lbbase1" + *< END OBJECT: ClassLib="lb_tx.vcx" BaseClass="container" /> + + ADD OBJECT 'Cb_sucursala' AS cb_tx_simplu WITH ; + Height = 29, ; + Left = 16, ; + Name = "Cb_sucursala", ; + TabIndex = 9, ; + Top = 212, ; + Visible = .F., ; + Width = 321, ; + _CBBASE1.ControlSource = "porec.sucursala", ; + _CBBASE1.Height = 23, ; + _CBBASE1.Left = 101, ; + _CBBASE1.Name = "_CBBASE1", ; + _CBBASE1.RowSource = "vnom_sucursale.sucursala", ; + _CBBASE1.RowSourceType = 2, ; + _CBBASE1.Top = 3, ; + _CBBASE1.Width = 216, ; + _LBBASE1.Caption = "Sucursala", ; + _LBBASE1.Name = "_LBBASE1" + *< END OBJECT: ClassLib="lb_tx.vcx" BaseClass="container" /> + + ADD OBJECT 'Clb_acont' AS clb_tx_simplu WITH ; + Height = 29, ; + Left = 184, ; + Name = "Clb_acont", ; + TabIndex = 5, ; + Top = 128, ; + Width = 152, ; + Text_simplu1.ControlSource = "porec.acont", ; + Text_simplu1.Format = "!K", ; + Text_simplu1.Height = 23, ; + Text_simplu1.Left = 82, ; + Text_simplu1.MaxLength = 4, ; + Text_simplu1.Name = "Text_simplu1", ; + Text_simplu1.Top = 3, ; + Text_simplu1.Width = 64, ; + Lb_simplu1.Caption = "Analitic 3xx", ; + Lb_simplu1.Name = "Lb_simplu1", ; + Lb_simplu1.ToolTipText = "Analitic 3xx" + *< END OBJECT: ClassLib="lb_tx.vcx" BaseClass="container" /> + + ADD OBJECT 'Clb_cont' AS clb_tx_simplu WITH ; + Height = 29, ; + Left = 15, ; + Name = "Clb_cont", ; + TabIndex = 4, ; + ToolTipText = "Cont 3xx", ; + Top = 128, ; + Width = 170, ; + Text_simplu1.ControlSource = "porec.cont", ; + Text_simplu1.Format = "!K", ; + Text_simplu1.Height = 23, ; + Text_simplu1.Left = 101, ; + Text_simplu1.MaxLength = 4, ; + Text_simplu1.Name = "Text_simplu1", ; + Text_simplu1.Top = 3, ; + Text_simplu1.Width = 64, ; + Lb_simplu1.Caption = "Cont 3xx", ; + Lb_simplu1.Name = "Lb_simplu1" + *< END OBJECT: ClassLib="lb_tx.vcx" BaseClass="container" /> + + ADD OBJECT 'Clb_tx_simplu1' AS clb_tx_simplu WITH ; + Left = 15, ; + Name = "Clb_tx_simplu1", ; + TabIndex = 1, ; + Top = 44, ; + Width = 321, ; + Text_simplu1.ControlSource = "porec.nume_gestiune", ; + Text_simplu1.Format = "!K", ; + Text_simplu1.Name = "Text_simplu1", ; + Text_simplu1.Width = 216, ; + Lb_simplu1.Caption = "Gestiune", ; + Lb_simplu1.FontBold = .T., ; + Lb_simplu1.Name = "Lb_simplu1" + *< END OBJECT: ClassLib="lb_tx.vcx" BaseClass="container" /> + + ADD OBJECT 'Clb_tx_simplu2' AS clb_tx_simplu WITH ; + Left = 15, ; + Name = "Clb_tx_simplu2", ; + TabIndex = 2, ; + Top = 72, ; + Width = 170, ; + Text_simplu1.ControlSource = "porec.cgest", ; + Text_simplu1.Format = "!K", ; + Text_simplu1.Height = 23, ; + Text_simplu1.Left = 101, ; + Text_simplu1.MaxLength = 20, ; + Text_simplu1.Name = "Text_simplu1", ; + Text_simplu1.Top = 3, ; + Text_simplu1.Width = 64, ; + Lb_simplu1.Caption = "Indicativ scurt", ; + Lb_simplu1.FontBold = .T., ; + Lb_simplu1.Name = "Lb_simplu1" + *< END OBJECT: ClassLib="lb_tx.vcx" BaseClass="container" /> + + ADD OBJECT 'Clb_tx_simplu3' AS clb_tx_simplu WITH ; + Left = 15, ; + Name = "Clb_tx_simplu3", ; + TabIndex = 6, ; + Top = 156, ; + Width = 170, ; + Text_simplu1.ControlSource = "porec.acont_cheltuiala", ; + Text_simplu1.Format = "!K", ; + Text_simplu1.Height = 23, ; + Text_simplu1.Left = 101, ; + Text_simplu1.MaxLength = 4, ; + Text_simplu1.Name = "Text_simplu1", ; + Text_simplu1.Top = 3, ; + Text_simplu1.Width = 64, ; + Lb_simplu1.Caption = "Analitic 60x", ; + Lb_simplu1.Name = "Lb_simplu1", ; + Lb_simplu1.ToolTipText = "Analitic cheltuiala 6xx" + *< END OBJECT: ClassLib="lb_tx.vcx" BaseClass="container" /> + + ADD OBJECT 'Clb_tx_simplu4' AS clb_tx_simplu WITH ; + Height = 29, ; + Left = 184, ; + Name = "Clb_tx_simplu4", ; + TabIndex = 7, ; + Top = 156, ; + Width = 152, ; + Text_simplu1.ControlSource = "porec.acont_adaos", ; + Text_simplu1.Format = "!K", ; + Text_simplu1.Height = 23, ; + Text_simplu1.Left = 82, ; + Text_simplu1.MaxLength = 4, ; + Text_simplu1.Name = "Text_simplu1", ; + Text_simplu1.Top = 3, ; + Text_simplu1.Width = 64, ; + Lb_simplu1.Caption = "Analitic 37x", ; + Lb_simplu1.Name = "Lb_simplu1", ; + Lb_simplu1.ToolTipText = "Analitic adaos 37x" + *< END OBJECT: ClassLib="lb_tx.vcx" BaseClass="container" /> + + ADD OBJECT 'Ct_clb_lucrare' AS ct_clb_cautare WITH ; + cconditie = 1=2, ; + cprocedura = thisform.do_cauta_lucrare, ; + cvar_afisata = poRec.nrord, ; + Height = 31, ; + Left = 15, ; + Name = "Ct_clb_lucrare", ; + TabIndex = 11, ; + Top = 267, ; + Width = 349, ; + img_cautare.Left = 325, ; + img_cautare.Name = "img_cautare", ; + img_cautare.Top = 5, ; + clb_tx_cautare.Height = 29, ; + clb_tx_cautare.Lb_simplu1.Caption = "Lucrare", ; + clb_tx_cautare.Lb_simplu1.Name = "Lb_simplu1", ; + clb_tx_cautare.Left = 1, ; + clb_tx_cautare.Name = "clb_tx_cautare", ; + clb_tx_cautare.Text_simplu1.Left = 101, ; + clb_tx_cautare.Text_simplu1.Name = "Text_simplu1", ; + clb_tx_cautare.Text_simplu1.Top = 3, ; + clb_tx_cautare.Text_simplu1.Width = 216, ; + clb_tx_cautare.Top = 1, ; + clb_tx_cautare.Width = 321 + *< END OBJECT: ClassLib="caut_ora.vcx" BaseClass="container" /> + + ADD OBJECT 'Ct_clb_responsabil' AS ct_clb_cautare WITH ; + cconditie = 1=2, ; + cprocedura = thisform.do_cauta_responsabil, ; + cvar_afisata = poRec.denumire, ; + Height = 31, ; + Left = 15, ; + Name = "Ct_clb_responsabil", ; + TabIndex = 10, ; + Top = 239, ; + Width = 346, ; + img_cautare.Left = 325, ; + img_cautare.Name = "img_cautare", ; + img_cautare.Top = 5, ; + clb_tx_cautare.Height = 29, ; + clb_tx_cautare.Lb_simplu1.Caption = "Responsabil", ; + clb_tx_cautare.Lb_simplu1.Name = "Lb_simplu1", ; + clb_tx_cautare.Left = 1, ; + clb_tx_cautare.Name = "clb_tx_cautare", ; + clb_tx_cautare.Text_simplu1.Left = 101, ; + clb_tx_cautare.Text_simplu1.Name = "Text_simplu1", ; + clb_tx_cautare.Text_simplu1.Top = 3, ; + clb_tx_cautare.Text_simplu1.Width = 216, ; + clb_tx_cautare.Top = 1, ; + clb_tx_cautare.Width = 321 + *< END OBJECT: ClassLib="caut_ora.vcx" BaseClass="container" /> + + ADD OBJECT 'Cus_odata_gestiuni1' AS cus_odata_gestiuni WITH ; + Left = 180, ; + Name = "Cus_odata_gestiuni1", ; + Top = 24 + *< END OBJECT: ClassLib="onomenclatoare.vcx" BaseClass="custom" /> + + ADD OBJECT 'lblComisie' AS _label WITH ; + Caption = "Comisia de receptie", ; + Left = 16, ; + Name = "lblComisie", ; + TabIndex = 20, ; + Top = 299 + *< END OBJECT: ClassLib="_baza.vcx" BaseClass="label" /> + + ADD OBJECT 'lblGestionar' AS _label WITH ; + Caption = "Gestionar", ; + Left = 16, ; + Name = "lblGestionar", ; + TabIndex = 21, ; + Top = 390 + *< END OBJECT: ClassLib="_baza.vcx" BaseClass="label" /> + + ADD OBJECT 'txtComisie1' AS _textbox WITH ; + ControlSource = "porec.comisie_receptie1", ; + Format = "!k", ; + Height = 23, ; + Left = 15, ; + MaxLength = 50, ; + Name = "txtComisie1", ; + TabIndex = 12, ; + Top = 316, ; + Width = 216 + *< END OBJECT: ClassLib="_baza.vcx" BaseClass="textbox" /> + + ADD OBJECT 'txtComisie2' AS _textbox WITH ; + ControlSource = "porec.comisie_receptie2", ; + Format = "!k", ; + Height = 23, ; + Left = 15, ; + MaxLength = 50, ; + Name = "txtComisie2", ; + TabIndex = 13, ; + Top = 340, ; + Width = 216 + *< END OBJECT: ClassLib="_baza.vcx" BaseClass="textbox" /> + + ADD OBJECT 'txtComisie3' AS _textbox WITH ; + ControlSource = "porec.comisie_receptie3", ; + Format = "!k", ; + Height = 23, ; + Left = 15, ; + MaxLength = 50, ; + Name = "txtComisie3", ; + TabIndex = 14, ; + Top = 364, ; + Width = 216 + *< END OBJECT: ClassLib="_baza.vcx" BaseClass="textbox" /> + + ADD OBJECT 'txtGestionar' AS _textbox WITH ; + ControlSource = "porec.gestionar", ; + Format = "!k", ; + Height = 23, ; + Left = 16, ; + MaxLength = 50, ; + Name = "txtGestionar", ; + TabIndex = 15, ; + Top = 407, ; + Width = 216 + *< END OBJECT: ClassLib="_baza.vcx" BaseClass="textbox" /> + + PROCEDURE do_alege_sucursala + ENDPROC + + PROCEDURE do_cauta_lucrare + Local loCauta + loCauta=caut_lucrare() + If !Empty(Nvl(loCauta.id_lucrare,0)) + poRec.id_lucrare= loCauta.id_lucrare + poRec.nrord = Alltrim(loCauta.nrord) + Thisform.ct_clb_lucrare.Refresh() + Thisform.cb_nr_pag.SetFocus() + Else + poRec.id_lucrare = Null + poRec.nrord = [] + endif + + + ENDPROC + + PROCEDURE do_cauta_responsabil + Local loCauta + loCauta=caut_responsabil() + If !Empty(Nvl(loCauta.id_responsabil,0)) + poRec.id_responsabil = loCauta.id_responsabil + poRec.denumire = Alltrim(loCauta.nume) + Thisform.ct_clb_responsabil.Refresh() + Thisform.ct_clb_lucrare.SetFocus() + Else + poRec.id_responsabil = Null + poRec.denumire = [] + Endif + ENDPROC + + PROCEDURE inainte_de_do_termin + *!* 22.06.2010 + *!* marius.mutu + *!* exista gestiuni cu mai multe conturi + *!* la transfer catre alta gestiune - sa apara conturile asociate tipului de gestiune, in loc de un contul configurat pe gestiune + + Local PLRETURN + + lccontrol = Upper(This.ActiveControl.BaseClass ) + If Inlist(lccontrol,"TEXTBOX","EDITBOX","COMBOBOX") + lcval=This.ActiveControl.ControlSource + &lcval=Thisform.ActiveControl.Value + Endif + + + Do Case + Case Empty(porec.nume_gestiune) + aMESSAGEBOX('Nu ati completat denumirea gestiunii!',0+48,"Atentie") + This.clb_tx_simplu1.SetFocus() + PLRETURN=.F. + + Case Empty(porec.cgest) + aMESSAGEBOX('Nu ati completat indicativul gestiunii!',0+48,"Atentie") + This.clb_tx_simplu2.SetFocus() + PLRETURN=.F. + + *!* 22.06.2010 + *!* Case Empty(porec.Cont) + *!* aMESSAGEBOX('Nu ati completat contul!',0+48,"Atentie") + *!* This.clb_cont.text_simplu1.SetFocus() + *!* PLRETURN=.F. + *!* 22.06.2010 ^ + + *!* Case Empty(Nvl(porec.id_responsabil,0)) + *!* aMESSAGEBOX('Nu ati completat responsabilul!',0+48,"Atentie") + *!* This.ct_clb_responsabil.SetFocus() + *!* PLRETURN=.F. + + Case Empty(porec.nume_tip) + aMESSAGEBOX('Nu ati completat tipul!',0+48,"Atentie") + This.cb_nr_pag._cbbase1.SetFocus() + PLRETURN=.F. + + Case Empty(Nvl(porec.id_sucursala,0)) and glEMama + aMESSAGEBOX('Nu ati completat sucursala!',0+48,"Atentie") + This.cb_sucursala._cbbase1.SetFocus() + PLRETURN=.F. + + otherwise + PLRETURN=This.cus_odata_gestiuni1.salvare(This.OREC,This.NID) + Endcase + + Return PLRETURN + + ENDPROC + + PROCEDURE Init + Lparameters toRec, tnId, tcActiune + + DoDefault() + + This.orec= toRec + This.nid = tnId + This.cus_odata_gestiuni1.cactiune = tcActiune + If glEMama + Thisform.cb_sucursala.Visible = .T. + Endif + ENDPROC + + PROCEDURE Cb_nr_pag._CBBASE1.Valid + porec.nr_pag = vtipuri_gestiuni.id_tipgest + + ENDPROC + + PROCEDURE Cb_sectia._cbbase1.Valid + porec.id_sectie = vnom_sectii.id_sectie + + ENDPROC + + PROCEDURE Cb_sucursala._CBBASE1.Valid + porec.id_sucursala = vnom_sucursale.id_sucursala + + ENDPROC + +ENDDEFINE + +DEFINE CLASS frm_judet AS _frmbase OF "_frm_base.vcx" + *< CLASSDATA: Baseclass="form" Timestamp="" Scale="Pixels" Uniqueid="" /> + + *-- OBJECTDATA items order determines ZOrder / El orden de los items OBJECTDATA determina el ZOrder + *< OBJECTDATA: ObjPath="Cmd_cauta1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="_gnom_judet" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="_gnom_judet.Column1.Header1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="_gnom_judet.Column1.Text1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="_gnom_judet.Column2.Header1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="_gnom_judet.Column2.Text1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="_gnom_judet.Column3.Header1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="_gnom_judet.Column3.Check1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="_gnom_judet.Column4.Header1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="_gnom_judet.Column4.Text1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="But_nou1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="But_sterge1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="But_modifica1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="lb_nom_judet" UniqueID="" Timestamp="" /> + + * + *m: log + * + + * + BorderStyle = 1 + cgridsortlist = _gnom_judet + DoCreate = .T. + Height = 303 + lactiv3 = .T. + lactiv4 = .T. + Name = "frm_judet" + Width = 379 + _shape1.Height = 29 + _shape1.Left = 0 + _shape1.Name = "_shape1" + _shape1.Top = 0 + _shape1.Width = 385 + _shape2.Height = 29 + _shape2.Left = 260 + _shape2.Name = "_shape2" + _shape2.Top = 0 + _shape2.Visible = .T. + _shape2.Width = 121 + Lb_titlu_alb_b121.Caption = "Judeþe" + Lb_titlu_alb_b121.Name = "Lb_titlu_alb_b121" + Lb_titlu_alb_b121.TabIndex = 8 + BUT_TERMIN1.Height = 27 + BUT_TERMIN1.Left = 349 + BUT_TERMIN1.Name = "BUT_TERMIN1" + BUT_TERMIN1.TabIndex = 4 + BUT_TERMIN1.Top = 1 + BUT_TERMIN1.Visible = .T. + BUT_TERMIN1.Width = 30 + GRIDSORT1.Name = "GRIDSORT1" + * + + ADD OBJECT '_gnom_judet' AS _grdrow WITH ; + ColumnCount = 4, ; + DeleteMark = .F., ; + Height = 220, ; + Left = 12, ; + Name = "_gnom_judet", ; + Panel = 1, ; + ReadOnly = .T., ; + RecordSource = "v_judet", ; + ScrollBars = 2, ; + TabIndex = 3, ; + Top = 72, ; + Width = 360, ; + Column1.ColumnOrder = 2, ; + Column1.ControlSource = "judet", ; + Column1.Name = "Column1", ; + Column1.ReadOnly = .T., ; + Column1.Width = 213, ; + Column2.ColumnOrder = 3, ; + Column2.ControlSource = "indicativ", ; + Column2.Name = "Column2", ; + Column2.ReadOnly = .T., ; + Column2.Width = 46, ; + Column3.ColumnOrder = 4, ; + Column3.ControlSource = "inactiv", ; + Column3.Name = "Column3", ; + Column3.ReadOnly = .T., ; + Column3.Sparse = .F., ; + Column3.Width = 35, ; + Column4.ColumnOrder = 1, ; + Column4.ControlSource = "v_judet.id_judet", ; + Column4.Name = "Column4", ; + Column4.ReadOnly = .T., ; + Column4.Width = 29 + *< END OBJECT: ClassLib="_grd_base.vcx" BaseClass="grid" /> + + ADD OBJECT '_gnom_judet.Column1.Header1' AS header WITH ; + Alignment = 2, ; + Caption = "Judet", ; + Name = "Header1" + *< END OBJECT: BaseClass="header" /> + + ADD OBJECT '_gnom_judet.Column1.Text1' AS textbox WITH ; + BackColor = 255,255,255, ; + BorderStyle = 0, ; + ForeColor = 0,0,0, ; + Margin = 0, ; + Name = "Text1", ; + ReadOnly = .T. + *< END OBJECT: BaseClass="textbox" /> + + ADD OBJECT '_gnom_judet.Column2.Header1' AS header WITH ; + Alignment = 2, ; + Caption = "Indicativ", ; + Name = "Header1" + *< END OBJECT: BaseClass="header" /> + + ADD OBJECT '_gnom_judet.Column2.Text1' AS textbox WITH ; + BackColor = 255,255,255, ; + BorderStyle = 0, ; + ForeColor = 0,0,0, ; + Margin = 0, ; + Name = "Text1", ; + ReadOnly = .T. + *< END OBJECT: BaseClass="textbox" /> + + ADD OBJECT '_gnom_judet.Column3.Check1' AS checkbox WITH ; + Alignment = 0, ; + Caption = "", ; + Centered = .T., ; + Height = 17, ; + Left = 13, ; + Name = "Check1", ; + ReadOnly = .T., ; + Top = 30, ; + Width = 60 + *< END OBJECT: BaseClass="checkbox" /> + + ADD OBJECT '_gnom_judet.Column3.Header1' AS header WITH ; + Alignment = 2, ; + Caption = "Inactiv", ; + Name = "Header1" + *< END OBJECT: BaseClass="header" /> + + ADD OBJECT '_gnom_judet.Column4.Header1' AS header WITH ; + Caption = "Id", ; + Name = "Header1" + *< END OBJECT: BaseClass="header" /> + + ADD OBJECT '_gnom_judet.Column4.Text1' AS textbox WITH ; + BackColor = 255,255,255, ; + BorderStyle = 0, ; + ForeColor = 0,0,0, ; + Margin = 0, ; + Name = "Text1", ; + ReadOnly = .T. + *< END OBJECT: BaseClass="textbox" /> + + ADD OBJECT 'But_modifica1' AS but_modifica WITH ; + Height = 27, ; + Left = 292, ; + Name = "But_modifica1", ; + TabIndex = 6, ; + Top = 1, ; + Visible = .T., ; + Width = 30 + *< END OBJECT: ClassLib="cmd_butoane.vcx" BaseClass="commandbutton" /> + + ADD OBJECT 'But_nou1' AS but_nou WITH ; + Height = 27, ; + Left = 262, ; + Name = "But_nou1", ; + TabIndex = 7, ; + Top = 1, ; + Visible = .T., ; + Width = 30 + *< END OBJECT: ClassLib="cmd_butoane.vcx" BaseClass="commandbutton" /> + + ADD OBJECT 'But_sterge1' AS but_sterge WITH ; + Height = 27, ; + Left = 320, ; + Name = "But_sterge1", ; + TabIndex = 5, ; + Top = 1, ; + Visible = .T., ; + Width = 30 + *< END OBJECT: ClassLib="cmd_butoane.vcx" BaseClass="commandbutton" /> + + ADD OBJECT 'Cmd_cauta1' AS cmd_cauta WITH ; + Left = 293, ; + Name = "Cmd_cauta1", ; + TabIndex = 2, ; + Top = 37 + *< END OBJECT: ClassLib="cmd_butoane.vcx" BaseClass="commandbutton" /> + + ADD OBJECT 'lb_nom_judet' AS clb_tx_simplu WITH ; + Left = 2, ; + Name = "lb_nom_judet", ; + TabIndex = 1, ; + Top = 37, ; + Text_simplu1.Height = 23, ; + Text_simplu1.Left = 46, ; + Text_simplu1.Name = "Text_simplu1", ; + Text_simplu1.Top = 3, ; + Text_simplu1.Width = 239, ; + Lb_simplu1.Caption = "Judeþ", ; + Lb_simplu1.Name = "Lb_simplu1" + *< END OBJECT: ClassLib="lb_tx.vcx" BaseClass="container" /> + + PROCEDURE actualizeaza_grid1 + Lparameters pcFiltru + Local lcFiltru + lcFiltru=pcFiltru + If Empty(lcFiltru) + lcFiltru=pojud.ca_baza1.cfiltru + Endif + Thisform._gnom_judet.salveaza_grid() + pojud.ca_baza1.cfiltru=lcFiltru + pojud.ca_baza1.afisare() + Thisform._gnom_judet.incarca_grid() + If Reccount('v_judet')>0 + Thisform._gnom_judet.SetFocus() + Else + Thisform.lb_nom_judet.SetFocus() + Endif + + ENDPROC + + PROCEDURE do_adauga + SELECT v_judet + SCATTER NAME loRec blank + DO Adauga_Modifica_Inregistrare WITH "judet",loRec,,"INSERT" + this.actualizeaza_grid1() + ENDPROC + + PROCEDURE do_cauta + Local lcFiltru + lcFiltru=[] + lcNume = STRTRAN(Upper(Alltrim(This.lb_nom_judet.text_simplu1.value)),['],['']) + If !Empty(lcNume) + lcFiltru=[judet like ']+lcNume+[%'] + ELSE + lcFiltru = [2=2] + Endif + This.MousePointer= 11 + This.LockScreen=.T. + Thisform.actualizeaza_grid1(lcFiltru) + IF RECCOUNT()=0 + aMESSAGEBOX("Cautarea nu a intors rezultate!",0+64,"Info cautare") + ENDIF + This.LockScreen=.F. + This.MousePointer= 0 + ENDPROC + + PROCEDURE do_modifica + If Reccount('v_judet')>0 + Select v_judet + Scatter Name loRec + pcjudet = loRec.judet + pcindicativ = loRec.indicativ + Do Adauga_Modifica_Inregistrare With "judet",loRec,loRec.Id_judet,"UPDATE" + Thisform.actualizeaza_grid1() + Else + amessagebox("Nu exista inregistrari pentru modificare!",48,"Atentie") + Endif + ENDPROC + + PROCEDURE do_sterge + If Reccount('v_judet')>0 + Select v_judet + Scatter Name lorec + Do STERGE_INREGISTRARE With "judet",lorec.id_judet + + This.actualizeaza_grid1() + + Else + amessagebox("Nu exista inregistrari pentru stergere!",48,"Atentie") + Endif + ENDPROC + + PROCEDURE KeyPress + Lparameters nKeyCode, nShiftAltCtrl + lcActiveControl = UPPER(ALLTRIM(this.ActiveControl.name)) + + IF nKeyCode=13 AND lcActiveControl = '_GNOM_JUDET' + Nodefault + this.LB_nom_judet.SetFocus + ENDIF + + + DODEFAULT(nKeyCode, nShiftAltCtrl) + + + ENDPROC + + PROCEDURE log + LPARAMETERS tctabela,tnId + + lcId = ALLTRIM(STR(tnId)) + lctabela = UPPER(ALLTRIM(tctabela)) + PRIVATE polog,pcschema1,pcselect1 + STORE '' TO polog + pcschema1 = [''] + pcselect1=['select * from ] + gcS + [.vlog where ']&&[.vlog where '] + pcorder1=['dataora'] + pcfiltru1 = [tabel = '] + lctabela + [' and id_tabel = ] + lcId + gencursor('polog','v_log',pcselect1,pcfiltru1,pcschema1,pcorder1) + polog.ca_baza1.afisare() + ofrmlog=CREATEOBJECT('frm_log') + ofrmlog.show(1) + RELEASE polog + ENDPROC + + PROCEDURE Unload + IF USED('v_judet') + USE IN v_judet + ENDIF + ENDPROC + + PROCEDURE _gnom_judet.Column1.Text1.DblClick + thisform.log("NOM_JUDETE",v_judet.id_judet) + ENDPROC + +ENDDEFINE + +DEFINE CLASS frm_judet_nou AS _frmbase OF "_frm_base.vcx" + *< CLASSDATA: Baseclass="form" Timestamp="" Scale="Pixels" Uniqueid="" /> + + *-- OBJECTDATA items order determines ZOrder / El orden de los items OBJECTDATA determina el ZOrder + *< OBJECTDATA: ObjPath="But_renunt1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="Clb_tx_simplu1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="Clb_tx_simplu2" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="Cus_odata_judet1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="_checkbox1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="Cb_tara" UniqueID="" Timestamp="" /> + + * + *p: nid + *p: orec + * + + * + DoCreate = .T. + Height = 152 + Name = "frm_judet_nou" + Width = 372 + _shape1.Name = "_shape1" + _shape2.Height = 29 + _shape2.Left = 312 + _shape2.Name = "_shape2" + _shape2.Top = 0 + _shape2.Width = 62 + Lb_titlu_alb_b121.Caption = "Judeþ" + Lb_titlu_alb_b121.Name = "Lb_titlu_alb_b121" + Lb_titlu_alb_b121.TabIndex = 7 + BUT_TERMIN1.Name = "BUT_TERMIN1" + BUT_TERMIN1.TabIndex = 5 + GRIDSORT1.Name = "GRIDSORT1" + * + + ADD OBJECT '_checkbox1' AS _checkbox WITH ; + Alignment = 0, ; + Caption = "Inactiv", ; + ControlSource = "porec.inactiv", ; + Left = 31, ; + Name = "_checkbox1", ; + TabIndex = 4, ; + TabStop = .F., ; + Top = 127 + *< END OBJECT: ClassLib="_baza.vcx" BaseClass="checkbox" /> + + ADD OBJECT 'But_renunt1' AS but_renunt WITH ; + Left = 312, ; + Name = "But_renunt1", ; + TabIndex = 6, ; + Top = 1 + *< END OBJECT: ClassLib="cmd_butoane.vcx" BaseClass="commandbutton" /> + + ADD OBJECT 'Cb_tara' AS cb_tx_simplu WITH ; + Height = 29, ; + Left = 25, ; + Name = "Cb_tara", ; + TabIndex = 1, ; + Top = 36, ; + Width = 314, ; + ZOrderSet = 14, ; + _cbbase1.Height = 23, ; + _cbbase1.Left = 80, ; + _cbbase1.Name = "_cbbase1", ; + _cbbase1.TabIndex = 1, ; + _cbbase1.Top = 3, ; + _cbbase1.Width = 230, ; + _lbbase1.Caption = "Þarã", ; + _lbbase1.Name = "_lbbase1", ; + _lbbase1.TabIndex = 2 + *< END OBJECT: ClassLib="lb_tx.vcx" BaseClass="container" /> + + ADD OBJECT 'Clb_tx_simplu1' AS clb_tx_simplu WITH ; + Left = 25, ; + Name = "Clb_tx_simplu1", ; + TabIndex = 2, ; + Top = 64, ; + Width = 314, ; + Text_simplu1.ControlSource = "porec.judet", ; + Text_simplu1.Format = "!K", ; + Text_simplu1.Left = 80, ; + Text_simplu1.Name = "Text_simplu1", ; + Text_simplu1.Width = 230, ; + Lb_simplu1.Caption = "Judeþ", ; + Lb_simplu1.Name = "Lb_simplu1" + *< END OBJECT: ClassLib="lb_tx.vcx" BaseClass="container" /> + + ADD OBJECT 'Clb_tx_simplu2' AS clb_tx_simplu WITH ; + Left = 25, ; + Name = "Clb_tx_simplu2", ; + TabIndex = 3, ; + Top = 92, ; + Width = 314, ; + Text_simplu1.ControlSource = "porec.indicativ", ; + Text_simplu1.Format = "!K", ; + Text_simplu1.Left = 80, ; + Text_simplu1.MaxLength = 2, ; + Text_simplu1.Name = "Text_simplu1", ; + Text_simplu1.Width = 230, ; + Lb_simplu1.Caption = "Indicativ", ; + Lb_simplu1.Name = "Lb_simplu1" + *< END OBJECT: ClassLib="lb_tx.vcx" BaseClass="container" /> + + ADD OBJECT 'Cus_odata_judet1' AS cus_odata_judet WITH ; + Left = 336, ; + Name = "Cus_odata_judet1", ; + Top = 48 + *< END OBJECT: ClassLib="onomenclatoare.vcx" BaseClass="custom" /> + + PROCEDURE inainte_de_do_termin + + LOCAL PLRETURN + + lccontrol = UPPER(this.ActiveControl.BaseClass ) + IF INLIST(lccontrol,"TEXTBOX","EDITBOX","COMBOBOX") + lcval=This.Activecontrol.controlsource + &lcval=thisform.ActiveControl.value + ENDIF + + + Do Case + Case Empty(porec.judet) + amessagebox('Nu ati completat judetul!',0+48,"Atentie") + This.Clb_tx_simplu1.SetFocus() + plreturn=.F. + Case Empty(porec.indicativ) + amessagebox('Nu ati completat indicativul!',0+48,"Atentie") + This.Clb_tx_simplu2.SetFocus() + plreturn=.F. + Otherwise + *!* modificare ROADEF v 2.1.2 + *!* If Alltrim(Upper(This.cus_odata_judet1.cactiune))="INSERT" Or (Alltrim(Upper(This.cus_odata_judet1.cactiune))="UPDATE" And (porec.judet!=pcjudet OR porec.indicativ!=pcindicativ)) + *!* pcexec=[select * from syn_vnom_judete where (TRIM(judet)=']+Alltrim(porec.judet)+[' or TRIM(indicativ)=']+Alltrim(porec.indicativ)+[') and id_judet !=]+ALLTRIM(STR(porec.id_judet)) + *!* Do While .T. + *!* pnSucces = SQLEXEC(GNHANDLE,pcexec,'exista') + *!* If pnSucces = 0 + *!* * instructiunea in curs de executie + *!* Else + *!* Exit + *!* Endif + *!* Enddo + *!* If Reccount('exista')>0 + *!* SELECT exista + *!* LOCATE FOR judet=Alltrim(porec.judet) + *!* IF FOUND() + *!* j=1 + *!* ELSE + *!* j=0 + *!* ENDIF + *!* GO TOP + *!* LOCATE FOR indicativ=Alltrim(porec.indicativ) + *!* IF FOUND() + *!* i=1 + *!* ELSE + *!* i=0 + *!* ENDIF + *!* + *!* DO CASE + *!* CASE j=1 AND i=0 + *!* amessagebox('Mai exista acest judet inregistrat!',0+48,"Atentie") + *!* Thisform.clb_tx_simplu1.SetFocus() + *!* Use In exista + *!* plreturn=.F. + *!* CASE j=0 AND i=1 + *!* amessagebox('Mai exista acest indicativ inregistrat!',0+48,"Atentie") + *!* Thisform.clb_tx_simplu2.SetFocus() + *!* Use In exista + *!* plreturn=.F. + *!* CASE j=1 AND i=1 + *!* amessagebox('Mai exista acest judet si acest indicativ inregistrate!',0+48,"Atentie") + *!* Thisform.clb_tx_simplu1.SetFocus() + *!* Use In exista + *!* plreturn=.F. + *!* ENDCASE + *!* ELSE + *!* PLRETURN=This.cus_odata_judet1.salvare(This.OREC,This.NID) + *!* ENDIF + *!* ELSE + *!* PLRETURN=This.cus_odata_judet1.salvare(This.OREC,This.NID) + *!* ENDIF + PLRETURN=This.cus_odata_judet1.salvare(This.OREC,This.NID) + *!* modificare ROADEF v 2.1.2 ^ + ENDCASE + + + + Return PLRETURN + + ***** + + ENDPROC + + PROCEDURE Init + LPARAMETERS toRec, tnId, tcActiune + + DODEFAULT() + + this.orec= toRec + this.nid = tnId + this.cus_odata_judet1.cactiune = tcActiune + + Local lcSql, lcCursor + With This.cb_tara._cbbase1 + .ControlSource = [] + .RowSourceType = 0 + .RowSource = [] + .DisplayValue = [] + lcSql = [select id_tara, tara, prescurtare from syn_nom_tari order by tara] + lcCursor = [crstari] + If goExecutor.oExecuta(lcSql,lcCursor) + Select (lcCursor) + If Nvl(this.orec.id_tara,0) = 0 + Locate For prescurtare = [RO] + Else + Locate For id_tara = this.orec.id_tara + Endif + If !Found() + Go Top + Endif + this.orec.id_tara = id_tara + this.orec.tara = Alltrim(tara) + Endif + .ControlSource = [porec.tara] + .RowSourceType = 2 + .RowSource = [crstari.tara] + .DisplayValue = this.orec.tara + Endwith + ENDPROC + + PROCEDURE Cb_tara._cbbase1.InteractiveChange + Thisform.oRec.id_tara = crstari.id_tara + ENDPROC + +ENDDEFINE + +DEFINE CLASS frm_localitati AS _frmbase OF "_frm_base.vcx" + *< CLASSDATA: Baseclass="form" Timestamp="" Scale="Pixels" Uniqueid="" /> + + *-- OBJECTDATA items order determines ZOrder / El orden de los items OBJECTDATA determina el ZOrder + *< OBJECTDATA: ObjPath="Cmd_cauta1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="_gnom_local" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="_gnom_local.cLocalitate.Header1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="_gnom_local.cLocalitate.Text1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="_gnom_local.cInactiv.Header1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="_gnom_local.cInactiv.Check1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="_gnom_local.cJudet.Header1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="_gnom_local.cJudet.Text1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="_gnom_local.cId_loc.Header1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="_gnom_local.cId_loc.Text1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="_gnom_local.cSiruta.Header1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="_gnom_local.cSiruta.Text1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="_gnom_local.cTara.Header1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="_gnom_local.cTara.Text1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="_gnom_local.cExplicatie.Header1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="_gnom_local.cExplicatie.Text1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="But_nou1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="But_sterge1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="But_modifica1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="lb_nom_local" UniqueID="" Timestamp="" /> + + * + *m: log + * + + * + cgridsortlist = _gnom_local + DoCreate = .T. + Height = 377 + lactiv3 = .T. + lactiv4 = .T. + Name = "frm_localitati" + Width = 599 + _shape1.Anchor = 10 + _shape1.Height = 29 + _shape1.Left = 0 + _shape1.Name = "_shape1" + _shape1.Top = 0 + _shape1.Width = 600 + _shape2.Anchor = 9 + _shape2.Height = 29 + _shape2.Left = 478 + _shape2.Name = "_shape2" + _shape2.Top = 0 + _shape2.Width = 121 + Lb_titlu_alb_b121.Caption = "Localitãþi" + Lb_titlu_alb_b121.Name = "Lb_titlu_alb_b121" + Lb_titlu_alb_b121.TabIndex = 8 + BUT_TERMIN1.Anchor = 9 + BUT_TERMIN1.Height = 27 + BUT_TERMIN1.Left = 567 + BUT_TERMIN1.Name = "BUT_TERMIN1" + BUT_TERMIN1.TabIndex = 4 + BUT_TERMIN1.Top = 1 + BUT_TERMIN1.Visible = .T. + BUT_TERMIN1.Width = 30 + GRIDSORT1.Name = "GRIDSORT1" + * + + ADD OBJECT '_gnom_local' AS _grdrow WITH ; + Anchor = 15, ; + ColumnCount = 7, ; + DeleteMark = .F., ; + Height = 299, ; + Left = 9, ; + Name = "_gnom_local", ; + Panel = 1, ; + ReadOnly = .T., ; + RecordSource = "v_local", ; + TabIndex = 3, ; + Top = 73, ; + Width = 579, ; + Column1.ColumnOrder = 2, ; + Column1.ControlSource = "localitate_s", ; + Column1.Name = "cLocalitate", ; + Column1.ReadOnly = .T., ; + Column1.Width = 145, ; + Column2.ColumnOrder = 7, ; + Column2.ControlSource = "inactiv", ; + Column2.Name = "cInactiv", ; + Column2.ReadOnly = .T., ; + Column2.Sparse = .F., ; + Column2.Width = 35, ; + Column3.ColumnOrder = 5, ; + Column3.ControlSource = "judet", ; + Column3.Name = "cJudet", ; + Column3.ReadOnly = .T., ; + Column3.Width = 52, ; + Column4.ColumnOrder = 1, ; + Column4.ControlSource = "id_loc", ; + Column4.Name = "cId_loc", ; + Column4.ReadOnly = .T., ; + Column4.Width = 34, ; + Column5.ColumnOrder = 4, ; + Column5.ControlSource = "siruta", ; + Column5.Name = "cSiruta", ; + Column5.ReadOnly = .T., ; + Column5.Width = 41, ; + Column6.ColumnOrder = 6, ; + Column6.ControlSource = "tara", ; + Column6.Name = "cTara", ; + Column6.ReadOnly = .T., ; + Column7.ColumnOrder = 3, ; + Column7.ControlSource = "explicatie", ; + Column7.Name = "cExplicatie", ; + Column7.ReadOnly = .T., ; + Column7.Width = 156 + *< END OBJECT: ClassLib="_grd_base.vcx" BaseClass="grid" /> + + ADD OBJECT '_gnom_local.cExplicatie.Header1' AS header WITH ; + Alignment = 2, ; + Caption = "Explicatie", ; + Name = "Header1" + *< END OBJECT: BaseClass="header" /> + + ADD OBJECT '_gnom_local.cExplicatie.Text1' AS textbox WITH ; + BackColor = 255,255,255, ; + BorderStyle = 0, ; + ForeColor = 0,0,0, ; + Margin = 0, ; + Name = "Text1" + *< END OBJECT: BaseClass="textbox" /> + + ADD OBJECT '_gnom_local.cId_loc.Header1' AS header WITH ; + Alignment = 2, ; + Caption = "Id", ; + Name = "Header1" + *< END OBJECT: BaseClass="header" /> + + ADD OBJECT '_gnom_local.cId_loc.Text1' AS textbox WITH ; + BackColor = 255,255,255, ; + BorderStyle = 0, ; + ForeColor = 0,0,0, ; + Margin = 0, ; + Name = "Text1", ; + ReadOnly = .T. + *< END OBJECT: BaseClass="textbox" /> + + ADD OBJECT '_gnom_local.cInactiv.Check1' AS checkbox WITH ; + Alignment = 0, ; + Caption = "", ; + Centered = .T., ; + Height = 17, ; + Left = 13, ; + Name = "Check1", ; + ReadOnly = .T., ; + Top = 30, ; + Width = 60 + *< END OBJECT: BaseClass="checkbox" /> + + ADD OBJECT '_gnom_local.cInactiv.Header1' AS header WITH ; + Alignment = 2, ; + Caption = "Inactiv", ; + Name = "Header1" + *< END OBJECT: BaseClass="header" /> + + ADD OBJECT '_gnom_local.cJudet.Header1' AS header WITH ; + Alignment = 2, ; + Caption = "Judet", ; + Name = "Header1" + *< END OBJECT: BaseClass="header" /> + + ADD OBJECT '_gnom_local.cJudet.Text1' AS textbox WITH ; + BackColor = 255,255,255, ; + BorderStyle = 0, ; + ForeColor = 0,0,0, ; + Margin = 0, ; + Name = "Text1", ; + ReadOnly = .T. + *< END OBJECT: BaseClass="textbox" /> + + ADD OBJECT '_gnom_local.cLocalitate.Header1' AS header WITH ; + Alignment = 2, ; + Caption = "Localitate", ; + Name = "Header1" + *< END OBJECT: BaseClass="header" /> + + ADD OBJECT '_gnom_local.cLocalitate.Text1' AS textbox WITH ; + BackColor = 255,255,255, ; + BorderStyle = 0, ; + ForeColor = 0,0,0, ; + Margin = 0, ; + Name = "Text1", ; + ReadOnly = .T. + *< END OBJECT: BaseClass="textbox" /> + + ADD OBJECT '_gnom_local.cSiruta.Header1' AS header WITH ; + Alignment = 2, ; + Caption = "Siruta", ; + Name = "Header1" + *< END OBJECT: BaseClass="header" /> + + ADD OBJECT '_gnom_local.cSiruta.Text1' AS textbox WITH ; + BackColor = 255,255,255, ; + BorderStyle = 0, ; + ForeColor = 0,0,0, ; + Margin = 0, ; + Name = "Text1" + *< END OBJECT: BaseClass="textbox" /> + + ADD OBJECT '_gnom_local.cTara.Header1' AS header WITH ; + Alignment = 2, ; + Caption = "Tara", ; + Name = "Header1" + *< END OBJECT: BaseClass="header" /> + + ADD OBJECT '_gnom_local.cTara.Text1' AS textbox WITH ; + BackColor = 255,255,255, ; + BorderStyle = 0, ; + ForeColor = 0,0,0, ; + Margin = 0, ; + Name = "Text1" + *< END OBJECT: BaseClass="textbox" /> + + ADD OBJECT 'But_modifica1' AS but_modifica WITH ; + Anchor = 9, ; + Height = 27, ; + Left = 508, ; + Name = "But_modifica1", ; + TabIndex = 6, ; + Top = 1, ; + Visible = .T., ; + Width = 30 + *< END OBJECT: ClassLib="cmd_butoane.vcx" BaseClass="commandbutton" /> + + ADD OBJECT 'But_nou1' AS but_nou WITH ; + Anchor = 9, ; + Height = 27, ; + Left = 478, ; + Name = "But_nou1", ; + TabIndex = 7, ; + Top = 1, ; + Visible = .T., ; + Width = 30 + *< END OBJECT: ClassLib="cmd_butoane.vcx" BaseClass="commandbutton" /> + + ADD OBJECT 'But_sterge1' AS but_sterge WITH ; + Anchor = 9, ; + Height = 27, ; + Left = 538, ; + Name = "But_sterge1", ; + TabIndex = 5, ; + Top = 1, ; + Visible = .T., ; + Width = 30 + *< END OBJECT: ClassLib="cmd_butoane.vcx" BaseClass="commandbutton" /> + + ADD OBJECT 'Cmd_cauta1' AS cmd_cauta WITH ; + Anchor = 0, ; + Left = 384, ; + Name = "Cmd_cauta1", ; + TabIndex = 2, ; + Top = 38 + *< END OBJECT: ClassLib="cmd_butoane.vcx" BaseClass="commandbutton" /> + + ADD OBJECT 'lb_nom_local' AS clb_tx_simplu WITH ; + Anchor = 0, ; + Left = 93, ; + Name = "lb_nom_local", ; + TabIndex = 1, ; + Top = 37, ; + Text_simplu1.Name = "Text_simplu1", ; + Lb_simplu1.Caption = "Localitate", ; + Lb_simplu1.Name = "Lb_simplu1" + *< END OBJECT: ClassLib="lb_tx.vcx" BaseClass="container" /> + + PROCEDURE actualizeaza_grid1 + LPARAMETERS pcFiltru + LOCAL lcFiltru + lcFiltru=pcFiltru + IF EMPTY(lcFiltru) + lcFiltru=poloc.ca_baza1.cfiltru + ENDIF + thisform._gnom_local.salveaza_grid() + poloc.ca_baza1.cfiltru=lcFiltru + poloc.ca_baza1.afisare() + thisform._gnom_local.incarca_grid() + IF RECCOUNT('v_local')>0 + thisform._gnom_local.SetFocus() + ELSE + thisform.lb_nom_local.SetFocus() + ENDIF + + ENDPROC + + PROCEDURE do_adauga + SELECT v_local + SCATTER NAME loRec blank + DO Adauga_Modifica_Inregistrare WITH "localitati",loRec,,"INSERT" + this.actualizeaza_grid1() + ENDPROC + + PROCEDURE do_cauta + Local lcFiltru + lcFiltru=[] + lcNume = STRTRAN(Upper(Alltrim(This.lb_nom_local.text_simplu1.value)),['],['']) + If !Empty(lcNume) + lcFiltru=[localitate like ']+lcNume+[%'] + ELSE + lcFiltru = [2=2] + Endif + This.MousePointer= 11 + This.LockScreen=.T. + Thisform.actualizeaza_grid1(lcFiltru) + IF RECCOUNT()=0 + aMESSAGEBOX("Cautarea nu a intors rezultate!",0+64,"Info cautare") + ENDIF + This.LockScreen=.F. + This.MousePointer= 0 + ENDPROC + + PROCEDURE do_modifica + If Reccount('v_local')>0 + Select v_local + Scatter Name loRec + pcid_judet = loRec.id_judet + pclocalitate = loRec.localitate + Do Adauga_Modifica_Inregistrare With "localitati",loRec,loRec.Id_loc,"UPDATE" + Thisform.actualizeaza_grid1() + Else + amessagebox("Nu exista inregistrari pentru modificare!",48,"Atentie") + Endif + + ENDPROC + + PROCEDURE do_sterge + If Reccount('v_local')>0 + Select v_local + Scatter Name lorec + Do STERGE_INREGISTRARE With "localitati",lorec.id_loc + This.actualizeaza_grid1() + Else + amessagebox("Nu exista inregistrari pentru stergere!",48,"Atentie") + Endif + + ENDPROC + + PROCEDURE KeyPress + Lparameters nKeyCode, nShiftAltCtrl + lcActiveControl = UPPER(ALLTRIM(this.ActiveControl.name)) + + IF nKeyCode=13 AND lcActiveControl = '_GNOM_LOCAL' + Nodefault + this.LB_nom_local.SetFocus + ENDIF + + + DODEFAULT(nKeyCode, nShiftAltCtrl) + + + ENDPROC + + PROCEDURE log + LPARAMETERS tctabela,tnId + + lcId = ALLTRIM(STR(tnId)) + lctabela = UPPER(ALLTRIM(tctabela)) + PRIVATE polog,pcschema1,pcselect1 + STORE '' TO polog + pcschema1 = [''] + pcselect1=['select * from ] + gcS + [.vlog where '] + pcorder1=['dataora'] + pcfiltru1 = [tabel = '] + lctabela + [' and id_tabel = ] + lcId + gencursor('polog','v_log',pcselect1,pcfiltru1,pcschema1,pcorder1) + polog.ca_baza1.afisare() + ofrmlog=CREATEOBJECT('frm_log') + ofrmlog.show(1) + RELEASE polog + ENDPROC + + PROCEDURE Unload + IF USED('v_local') + USE IN v_local + ENDIF + ENDPROC + + PROCEDURE _gnom_local.cLocalitate.Text1.DblClick + thisform.log("NOM_LOCALITATI",v_local.id_loc) + ENDPROC + +ENDDEFINE + +DEFINE CLASS frm_localitati_nou AS _frmbase OF "_frm_base.vcx" + *< CLASSDATA: Baseclass="form" Timestamp="" Scale="Pixels" Uniqueid="" /> + + *-- OBJECTDATA items order determines ZOrder / El orden de los items OBJECTDATA determina el ZOrder + *< OBJECTDATA: ObjPath="But_renunt1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="Clb_tx_simplu2" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="Cus_odata_localitati1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="_checkbox1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="Clb_tx_siruta" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="Cb_tara" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="Cb_judet" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="Ed_tx_simplu1" UniqueID="" Timestamp="" /> + + * + *m: actualizeaza_judete + *m: actualizeaza_tari + *m: modifica_judet + *m: modifica_tara + *p: cprescurtaretara + *p: nid + *p: orec + * + + * + cprescurtaretara = + DoCreate = .T. + Height = 240 + Name = "frm_localitati_nou" + Width = 350 + _shape1.Height = 29 + _shape1.Left = 0 + _shape1.Name = "_shape1" + _shape1.Top = 0 + _shape1.Width = 350 + _shape2.Height = 29 + _shape2.Left = 289 + _shape2.Name = "_shape2" + _shape2.Top = 0 + _shape2.Width = 62 + Lb_titlu_alb_b121.Caption = "Localitate" + Lb_titlu_alb_b121.Name = "Lb_titlu_alb_b121" + Lb_titlu_alb_b121.TabIndex = 9 + BUT_TERMIN1.Left = 319 + BUT_TERMIN1.Name = "BUT_TERMIN1" + BUT_TERMIN1.TabIndex = 7 + BUT_TERMIN1.Top = 1 + Gridsort1.Name = "Gridsort1" + * + + ADD OBJECT '_checkbox1' AS _checkbox WITH ; + Alignment = 0, ; + Caption = "Inactiv", ; + ControlSource = "porec.inactiv", ; + Left = 19, ; + Name = "_checkbox1", ; + TabIndex = 6, ; + TabStop = .F., ; + Top = 215 + *< END OBJECT: ClassLib="_baza.vcx" BaseClass="checkbox" /> + + ADD OBJECT 'But_renunt1' AS but_renunt WITH ; + Left = 289, ; + Name = "But_renunt1", ; + TabIndex = 8, ; + Top = 1 + *< END OBJECT: ClassLib="cmd_butoane.vcx" BaseClass="commandbutton" /> + + ADD OBJECT 'Cb_judet' AS cb_tx_simplu WITH ; + Height = 29, ; + Left = 19, ; + Name = "Cb_judet", ; + TabIndex = 2, ; + Top = 64, ; + Width = 314, ; + ZOrderSet = 14, ; + _cbbase1.Enabled = .F., ; + _cbbase1.Height = 23, ; + _cbbase1.Left = 80, ; + _cbbase1.Name = "_cbbase1", ; + _cbbase1.Top = 3, ; + _cbbase1.Width = 230, ; + _lbbase1.Caption = "Judeþ", ; + _lbbase1.Name = "_lbbase1" + *< END OBJECT: ClassLib="lb_tx.vcx" BaseClass="container" /> + + ADD OBJECT 'Cb_tara' AS cb_tx_simplu WITH ; + Height = 29, ; + Left = 19, ; + Name = "Cb_tara", ; + TabIndex = 1, ; + Top = 36, ; + Width = 314, ; + ZOrderSet = 14, ; + _cbbase1.Height = 23, ; + _cbbase1.Left = 80, ; + _cbbase1.Name = "_cbbase1", ; + _cbbase1.TabIndex = 1, ; + _cbbase1.Top = 3, ; + _cbbase1.Width = 230, ; + _lbbase1.Caption = "Þarã", ; + _lbbase1.Name = "_lbbase1", ; + _lbbase1.TabIndex = 2 + *< END OBJECT: ClassLib="lb_tx.vcx" BaseClass="container" /> + + ADD OBJECT 'Clb_tx_simplu2' AS clb_tx_simplu WITH ; + Left = 19, ; + Name = "Clb_tx_simplu2", ; + TabIndex = 3, ; + Top = 92, ; + Width = 314, ; + Text_simplu1.ControlSource = "porec.localitate_s", ; + Text_simplu1.Format = "!K", ; + Text_simplu1.Left = 80, ; + Text_simplu1.Name = "Text_simplu1", ; + Text_simplu1.Width = 230, ; + Lb_simplu1.Caption = "Localitate", ; + Lb_simplu1.Name = "Lb_simplu1" + *< END OBJECT: ClassLib="lb_tx.vcx" BaseClass="container" /> + + ADD OBJECT 'Clb_tx_siruta' AS clb_tx_simplu WITH ; + Left = 19, ; + Name = "Clb_tx_siruta", ; + TabIndex = 4, ; + Top = 120, ; + Width = 314, ; + Text_simplu1.ControlSource = "porec.siruta", ; + Text_simplu1.Format = "!K", ; + Text_simplu1.Left = 80, ; + Text_simplu1.Name = "Text_simplu1", ; + Text_simplu1.ReadOnly = .T., ; + Text_simplu1.Width = 230, ; + Lb_simplu1.Caption = "Siruta", ; + Lb_simplu1.Name = "Lb_simplu1" + *< END OBJECT: ClassLib="lb_tx.vcx" BaseClass="container" /> + + ADD OBJECT 'Cus_odata_localitati1' AS cus_odata_localitati WITH ; + Left = 337, ; + Name = "Cus_odata_localitati1", ; + Top = 48 + *< END OBJECT: ClassLib="onomenclatoare.vcx" BaseClass="custom" /> + + ADD OBJECT 'Ed_tx_simplu1' AS ed_tx_simplu WITH ; + Left = 19, ; + Name = "Ed_tx_simplu1", ; + TabIndex = 5, ; + Top = 148, ; + _edbase1.ControlSource = "porec.explicatie", ; + _edbase1.Left = 80, ; + _edbase1.Name = "_edbase1", ; + _edbase1.Width = 230, ; + _lbbase1.Caption = "Explicaþie", ; + _lbbase1.Name = "_lbbase1" + *< END OBJECT: ClassLib="lb_tx.vcx" BaseClass="container" /> + + PROCEDURE actualizeaza_judete + Local lcSql, lcCursor + With This.cb_judet + With ._cbbase1 + .ControlSource = [] + .RowSourceType = 0 + .RowSource = [] + .DisplayValue = [] + Endwith + + If This.cprescurtaretara = [RO] + .Visible = .T. + This.Clb_tx_siruta.Visible = .T. + lcSql = [select 1 as tip,null as id_judet, '' as judet, '' as indicativ from dual] + ; + [ union all ] +; + [select 2 as tip,id_judet, judet, indicativ from syn_vnom_judete where inactiv = 0 and id_tara = 1 order by tip,judet] + lcCursor = [crsjudete] + If goExecutor.oExecuta(lcSql,lcCursor) + Select (lcCursor) + Locate For Nvl(id_judet,-1) = Nvl(This.oRec.id_judet,-1) + If !Found() + Go Top + Endif + This.oRec.id_judet = id_judet + This.oRec.judet = Alltrim(judet) + With ._cbbase1 + .Enabled = .T. + Endwith + Else + This.oRec.id_judet = Null + This.oRec.judet = [] + With ._cbbase1 + .Enabled = .F. + Endwith + Endif + + With ._cbbase1 + .ControlSource = [porec.judet] + .RowSourceType = 2 + .RowSource = [crsjudete.judet] + .DisplayValue = This.oRec.judet + Endwith + Else + .Visible = .F. + This.oRec.id_judet = Null + This.oRec.judet = [] + This.oRec.siruta = 0 + This.Clb_tx_siruta.Refresh() + This.Clb_tx_siruta.Visible = .F. + Endif + Endwith + ENDPROC + + PROCEDURE actualizeaza_tari + Local lcSql, lcCursor + With This.cb_tara._cbbase1 + .ControlSource = [] + .RowSourceType = 0 + .RowSource = [] + .DisplayValue = [] + lcSql = [select id_tara, tara, prescurtare from syn_nom_tari order by tara] + lcCursor = [crstari] + If goExecutor.oExecuta(lcSql,lcCursor) + Select (lcCursor) + If Nvl(This.oRec.id_tara,0) = 0 + Locate For prescurtare = [RO] + Else + Locate For id_tara = This.oRec.id_tara + Endif + If !Found() + Go Top + Endif + This.oRec.id_tara = id_tara + This.oRec.tara = Alltrim(tara) + This.cprescurtaretara = Alltrim(prescurtare) + Endif + .ControlSource = [porec.tara] + .RowSourceType = 2 + .RowSource = [crstari.tara] + .DisplayValue = This.oRec.tara + Endwith + This.actualizeaza_judete() + ENDPROC + + PROCEDURE inainte_de_do_renunt + plreturn=.F. + ENDPROC + + PROCEDURE inainte_de_do_termin + Local PLRETURN + + lccontrol = Upper(This.ActiveControl.BaseClass ) + If Inlist(lccontrol,"TEXTBOX","EDITBOX","COMBOBOX") + lcval=This.ActiveControl.ControlSource + &lcval=Thisform.ActiveControl.Value + Endif + + + Do Case + Case Empty(porec.tara) + amessagebox('Nu ati completat tara!',0+48,"Atentie") + This.cb_tara._cbbase1.SetFocus() + PLRETURN=.F. + Case EMPTY(NVL(porec.id_judet,0)) AND This.cprescurtaretara = [RO] + amessagebox('Nu ati completat judetul!',0+48,"Atentie") + This.cb_judet._cbbase1.SetFocus() + PLRETURN=.F. + Case Empty(porec.localitate_s) + amessagebox('Nu ati completat denumirea localitatii!',0+48,"Atentie") + This.clb_tx_simplu2.Text_simplu1.SetFocus() + PLRETURN=.F. + Otherwise + *!* modificare ROADEF v 2.1.2 + *!* If Alltrim(Upper(This.cus_odata_localitati1.cactiune))="INSERT" Or (Alltrim(Upper(This.cus_odata_localitati1.cactiune))="UPDATE" And (porec.localitate!=pclocalitate OR porec.id_judet !=pcid_judet)) + *!* pcexec=[select * from ]+gcS+[.vnom_localitati where (TRIM(localitate)=']+Alltrim(porec.localitate)+[' and TRIM(id_judet)=]+ALLTRIM(STR(porec.id_judet))+[) and id_loc !=]+ALLTRIM(STR(porec.id_loc)) + *!* Do While .T. + *!* pnSucces = SQLEXEC(GNHANDLE,pcexec,'exista_loc_jud') + *!* If pnSucces = 0 + *!* * instructiunea in curs de executie + *!* Else + *!* Exit + *!* Endif + *!* Enddo + *!* If Reccount('exista_loc_jud')>0 + *!* amessagebox('Mai exista acesta localitate inregistrata in acest judet!',0+48,"Atentie") + *!* Thisform.clb_tx_simplu2.SetFocus() + *!* Use In exista_loc_jud + *!* plreturn=.F. + *!* ELSE + *!* PLRETURN=This.cus_odata_localitati1.salvare(This.OREC,This.NID) + *!* ENDIF + *!* ELSE + *!* PLRETURN=This.cus_odata_localitati1.salvare(This.OREC,This.NID) + *!* ENDIF + PLRETURN=This.cus_odata_localitati1.salvare(This.OREC,This.NID) + *!* modificare ROADEF v 2.1.2 ^ + Endcase + + Return PLRETURN + + + + ENDPROC + + PROCEDURE Init + LPARAMETERS toRec, tnId, tcActiune + + DODEFAULT() + + this.orec= toRec + this.nid = tnId + this.cus_odata_localitati1.cactiune = tcActiune + + Thisform.actualizeaza_tari() + ENDPROC + + PROCEDURE modifica_judet + This.oRec.id_judet = crsjudete.id_judet + This.oRec.id_loc = Null + This.oRec.localitate = [] + ENDPROC + + PROCEDURE modifica_tara + This.oRec.id_tara = crstari.id_tara + This.cprescurtaretara = Alltrim(crstari.prescurtare) + This.oRec.id_judet = Null + This.oRec.judet = [] + This.actualizeaza_judete() + ENDPROC + + PROCEDURE Cb_judet._cbbase1.InteractiveChange + Thisform.modifica_judet() + ENDPROC + + PROCEDURE Cb_tara._cbbase1.InteractiveChange + Thisform.modifica_tara() + ENDPROC + +ENDDEFINE + +DEFINE CLASS frm_log AS _frmbase OF "_frm_base.vcx" + *< CLASSDATA: Baseclass="form" Timestamp="" Scale="Pixels" Uniqueid="" /> + + *-- OBJECTDATA items order determines ZOrder / El orden de los items OBJECTDATA determina el ZOrder + *< OBJECTDATA: ObjPath="Cmd_cauta1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="_glog" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="_glog.Column1.Responsabill" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="_glog.Column1.Text1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="_glog.Column2.Header1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="_glog.Column2.Text1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="_glog.Column3.Header1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="_glog.Column3.Text1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="_glog.Column4.Header1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="_glog.Column4.Text1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="_glog.Column5.Header1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="_glog.Column5.Text1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="_glog.Column6.Header1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="_glog.Column6.Text1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="_glog.Column7.Header1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="_glog.Column7.Text1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="Cb_tx_cautare1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="_lbbase2" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="Cb_tx_cautare2" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="_lbbase3" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="Cb_tx_cautare3" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="_lbbase4" UniqueID="" Timestamp="" /> + + * + BorderStyle = 1 + DoCreate = .T. + Height = 484 + Name = "frm_log" + Width = 742 + _shape1.Height = 29 + _shape1.Left = 0 + _shape1.Name = "_shape1" + _shape1.Top = 0 + _shape1.Width = 743 + _shape2.Height = 29 + _shape2.Left = 708 + _shape2.Name = "_shape2" + _shape2.Top = 0 + _shape2.Width = 36 + Lb_titlu_alb_b121.Caption = "Log" + Lb_titlu_alb_b121.Name = "Lb_titlu_alb_b121" + Lb_titlu_alb_b121.TabIndex = 7 + BUT_TERMIN1.Left = 713 + BUT_TERMIN1.Name = "BUT_TERMIN1" + BUT_TERMIN1.TabIndex = 6 + BUT_TERMIN1.Top = 1 + GRIDSORT1.Name = "GRIDSORT1" + * + + ADD OBJECT '_glog' AS _grdrow WITH ; + ColumnCount = 7, ; + DeleteMark = .F., ; + Height = 354, ; + Left = 3, ; + Name = "_glog", ; + Panel = 1, ; + RecordMark = .F., ; + RecordSource = "v_log", ; + ScrollBars = 3, ; + TabIndex = 5, ; + Top = 123, ; + Width = 729, ; + Column1.ControlSource = "tabel", ; + Column1.Name = "Column1", ; + Column1.Width = 132, ; + Column2.ColumnOrder = 3, ; + Column2.ControlSource = "id_tabel", ; + Column2.Name = "Column2", ; + Column2.Width = 50, ; + Column3.ColumnOrder = 2, ; + Column3.ControlSource = "camp", ; + Column3.Name = "Column3", ; + Column3.Width = 80, ; + Column4.ControlSource = "valoarev", ; + Column4.Name = "Column4", ; + Column4.Width = 98, ; + Column5.ControlSource = "valoaren", ; + Column5.Name = "Column5", ; + Column5.Width = 92, ; + Column6.ControlSource = "utilizator", ; + Column6.Name = "Column6", ; + Column6.Width = 146, ; + Column7.ControlSource = "dataora", ; + Column7.Name = "Column7", ; + Column7.Width = 102 + *< END OBJECT: ClassLib="_grd_base.vcx" BaseClass="grid" /> + + ADD OBJECT '_glog.Column1.Responsabill' AS header WITH ; + Alignment = 2, ; + Caption = "Tabel", ; + Name = "Responsabill" + *< END OBJECT: BaseClass="header" /> + + ADD OBJECT '_glog.Column1.Text1' AS textbox WITH ; + BackColor = 255,255,255, ; + BorderStyle = 0, ; + ForeColor = 0,0,0, ; + Margin = 0, ; + Name = "Text1" + *< END OBJECT: BaseClass="textbox" /> + + ADD OBJECT '_glog.Column2.Header1' AS header WITH ; + Alignment = 2, ; + Caption = "Id", ; + Name = "Header1" + *< END OBJECT: BaseClass="header" /> + + ADD OBJECT '_glog.Column2.Text1' AS textbox WITH ; + BackColor = 255,255,255, ; + BorderStyle = 0, ; + ForeColor = 0,0,0, ; + Margin = 0, ; + Name = "Text1" + *< END OBJECT: BaseClass="textbox" /> + + ADD OBJECT '_glog.Column3.Header1' AS header WITH ; + Alignment = 2, ; + Caption = "Camp", ; + Name = "Header1" + *< END OBJECT: BaseClass="header" /> + + ADD OBJECT '_glog.Column3.Text1' AS textbox WITH ; + BackColor = 255,255,255, ; + BorderStyle = 0, ; + ForeColor = 0,0,0, ; + Margin = 0, ; + Name = "Text1" + *< END OBJECT: BaseClass="textbox" /> + + ADD OBJECT '_glog.Column4.Header1' AS header WITH ; + Alignment = 2, ; + Caption = "Valoare veche", ; + Name = "Header1" + *< END OBJECT: BaseClass="header" /> + + ADD OBJECT '_glog.Column4.Text1' AS textbox WITH ; + BackColor = 255,255,255, ; + BorderStyle = 0, ; + ForeColor = 0,0,0, ; + Margin = 0, ; + Name = "Text1" + *< END OBJECT: BaseClass="textbox" /> + + ADD OBJECT '_glog.Column5.Header1' AS header WITH ; + Alignment = 2, ; + Caption = "Valoare noua", ; + Name = "Header1" + *< END OBJECT: BaseClass="header" /> + + ADD OBJECT '_glog.Column5.Text1' AS textbox WITH ; + BackColor = 255,255,255, ; + BorderStyle = 0, ; + ForeColor = 0,0,0, ; + Margin = 0, ; + Name = "Text1" + *< END OBJECT: BaseClass="textbox" /> + + ADD OBJECT '_glog.Column6.Header1' AS header WITH ; + Alignment = 2, ; + Caption = "Operator", ; + Name = "Header1" + *< END OBJECT: BaseClass="header" /> + + ADD OBJECT '_glog.Column6.Text1' AS textbox WITH ; + BackColor = 255,255,255, ; + BorderStyle = 0, ; + ForeColor = 0,0,0, ; + Margin = 0, ; + Name = "Text1" + *< END OBJECT: BaseClass="textbox" /> + + ADD OBJECT '_glog.Column7.Header1' AS header WITH ; + Alignment = 2, ; + Caption = "Data ora", ; + Name = "Header1" + *< END OBJECT: BaseClass="header" /> + + ADD OBJECT '_glog.Column7.Text1' AS textbox WITH ; + BackColor = 255,255,255, ; + BorderStyle = 0, ; + ForeColor = 0,0,0, ; + Margin = 0, ; + Name = "Text1" + *< END OBJECT: BaseClass="textbox" /> + + ADD OBJECT '_lbbase2' AS _lbbase WITH ; + AutoSize = .F., ; + Caption = "Tabel", ; + Comment = "tabel", ; + FontSize = 12, ; + Height = 19, ; + Left = 9, ; + Name = "_lbbase2", ; + TabIndex = 11, ; + Top = 36, ; + Width = 97 + *< END OBJECT: ClassLib="_lb_base.vcx" BaseClass="label" /> + + ADD OBJECT '_lbbase3' AS _lbbase WITH ; + AutoSize = .F., ; + Caption = "Camp", ; + Comment = "camp", ; + FontSize = 12, ; + Height = 19, ; + Left = 9, ; + Name = "_lbbase3", ; + TabIndex = 10, ; + Top = 66, ; + Width = 97 + *< END OBJECT: ClassLib="_lb_base.vcx" BaseClass="label" /> + + ADD OBJECT '_lbbase4' AS _lbbase WITH ; + AutoSize = .F., ; + Caption = "Operator", ; + Comment = "utilizator", ; + FontSize = 12, ; + Height = 19, ; + Left = 9, ; + Name = "_lbbase4", ; + TabIndex = 12, ; + Top = 95, ; + Width = 97 + *< END OBJECT: ClassLib="_lb_base.vcx" BaseClass="label" /> + + ADD OBJECT 'Cb_tx_cautare1' AS cb_tx_cautare WITH ; + Left = 109, ; + Name = "Cb_tx_cautare1", ; + TabIndex = 1, ; + Top = 32, ; + Text.Name = "Text", ; + Criteriu.Name = "Criteriu" + *< END OBJECT: ClassLib="lb_tx.vcx" BaseClass="container" /> + + ADD OBJECT 'Cb_tx_cautare2' AS cb_tx_cautare WITH ; + Left = 109, ; + Name = "Cb_tx_cautare2", ; + TabIndex = 2, ; + Top = 62, ; + Text.Name = "Text", ; + Criteriu.Name = "Criteriu" + *< END OBJECT: ClassLib="lb_tx.vcx" BaseClass="container" /> + + ADD OBJECT 'Cb_tx_cautare3' AS cb_tx_cautare WITH ; + Left = 109, ; + Name = "Cb_tx_cautare3", ; + TabIndex = 3, ; + Top = 91, ; + Text.Name = "Text", ; + Criteriu.Name = "Criteriu" + *< END OBJECT: ClassLib="lb_tx.vcx" BaseClass="container" /> + + ADD OBJECT 'Cmd_cauta1' AS cmd_cauta WITH ; + Left = 420, ; + Name = "Cmd_cauta1", ; + TabIndex = 4, ; + Top = 32 + *< END OBJECT: ClassLib="cmd_butoane.vcx" BaseClass="commandbutton" /> + + PROCEDURE actualizeaza_grid1 + LPARAMETERS pcFiltru + LOCAL lcFiltru + lcFiltru=pcFiltru + IF EMPTY(lcFiltru) + lcFiltru=polog.ca_baza1.cfiltru + ENDIF + save_grid_tag(thisform._glog) + polog.ca_baza1.cfiltru=lcFiltru + polog.ca_baza1.afisare() + restore_grid_tag(thisform._glog) + IF RECCOUNT('v_log')>0 + thisform._glog.SetFocus() + ELSE + thisform.cb_tx_cautare1.SetFocus() + ENDIF + + ENDPROC + + PROCEDURE do_cauta + LOCAL lcFiltru + lcFiltru=[] + + + && make lcFiltru: [numele coloanelor din v_log sunt pe comment-urile labelurilor] + FOR i = 1 TO 3 + lcExecuteString = " Thisform.cb_tx_cautare" + ALLTRIM(STR(i)) + WITH &lcExecuteString + lcval1=STRTRAN(ALLTRIM(UPPER(.TEXT.VALUE)),['],['']) + IF !EMPTY(.TEXT.VALUE) OR (EMPTY(.TEXT.VALUE) AND .criteriu.VALUE = "6") + DO CASE + CASE .criteriu.VALUE = "1" + lcExecuteString = "lcfiltru = lcfiltru + [and ] + thisform._lbbase" + ALLTRIM(STR(i+1)) + ".comment + [ LIKE '] + lcval1 + [%']" + &lcExecuteString + CASE .criteriu.VALUE = "2" + lcExecuteString = "lcfiltru = lcfiltru + [and ] + thisform._lbbase" + ALLTRIM(STR(i+1)) +".comment + [ ='] + lcval1 + [']" + &lcExecuteString + CASE .criteriu.VALUE = "3" + lcExecuteString = "lcfiltru = lcfiltru + [and ] + thisform._lbbase" + ALLTRIM(STR(i+1)) + ".comment + [ !='] + lcval1 + [']" + &lcExecuteString + CASE .criteriu.VALUE = "4" + lcExecuteString = "lcfiltru = lcfiltru + [and ] + thisform._lbbase" + ALLTRIM(STR(i+1)) + ".comment + [ LIKE '%] + lcval1 + [%']" + &lcExecuteString + CASE .criteriu.VALUE = "5" + lcExecuteString = "lcfiltru = lcfiltru + [and ] + thisform._lbbase" + ALLTRIM(STR(i+1)) + ".comment + [ NOT LIKE '%] + lcval1 + [%']" + &lcExecuteString + CASE .criteriu.VALUE = "6" + lcFiltru = lcFiltru + [and 2=2] + ENDCASE + ENDIF + ENDWITH + ENDFOR + + + && taiere and din fata: + IF !EMPTY(lcFiltru) + lcFiltru = SUBSTR(lcFiltru,5) + ENDIF + + &&WAIT WINDOW ":"+lcFiltru + + + &&from dis point all I need is lcFiltru: + THIS.MOUSEPOINTER= 11 + THIS.LOCKSCREEN=.T. + THISFORM.actualizeaza_grid1(lcFiltru) + IF RECCOUNT()=0 + aMESSAGEBOX("Cautarea nu a intors rezultate!",0+64,"Info cautare") + ENDIF + THIS.LOCKSCREEN=.F. + THIS.MOUSEPOINTER= 0 + + ENDPROC + + PROCEDURE KeyPress + Lparameters nKeyCode, nShiftAltCtrl + lcActiveControl = UPPER(ALLTRIM(this.ActiveControl.name)) + + IF nKeyCode=13 AND lcActiveControl = '_GLOG' + Nodefault + this.LB_log.SetFocus + ENDIF + + + DODEFAULT(nKeyCode, nShiftAltCtrl) + + + ENDPROC + + PROCEDURE Unload + IF USED('v_log') + USE IN v_log + ENDIF + ENDPROC + +ENDDEFINE + +DEFINE CLASS frm_lucrari AS _frmbase OF "_frm_base.vcx" + *< CLASSDATA: Baseclass="form" Timestamp="" Scale="Pixels" Uniqueid="" /> + + *-- OBJECTDATA items order determines ZOrder / El orden de los items OBJECTDATA determina el ZOrder + *< OBJECTDATA: ObjPath="Cmd_cauta1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="gnom_lucrari" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="gnom_lucrari.Column1.Header1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="gnom_lucrari.Column1.Text1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="gnom_lucrari.Column2.Header1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="gnom_lucrari.Column2.Check1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="gnom_lucrari.Column3.Header1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="gnom_lucrari.Column3.Text1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="But_nou1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="But_sterge1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="But_modifica1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="lb_nom_lucrari" UniqueID="" Timestamp="" /> + + * + *m: log + * + + * + BorderStyle = 1 + cgridsortlist = gnom_lucrari + DoCreate = .T. + Height = 303 + lactiv3 = .T. + lactiv4 = .T. + Name = "frm_lucrari" + Width = 388 + _shape1.Height = 29 + _shape1.Left = 0 + _shape1.Name = "_shape1" + _shape1.Top = 0 + _shape1.Width = 385 + _shape2.Height = 29 + _shape2.Left = 264 + _shape2.Name = "_shape2" + _shape2.Top = 0 + _shape2.Width = 125 + Lb_titlu_alb_b121.Caption = "Lucrari" + Lb_titlu_alb_b121.Name = "Lb_titlu_alb_b121" + Lb_titlu_alb_b121.TabIndex = 8 + BUT_TERMIN1.Height = 27 + BUT_TERMIN1.Left = 355 + BUT_TERMIN1.Name = "BUT_TERMIN1" + BUT_TERMIN1.TabIndex = 4 + BUT_TERMIN1.Top = 1 + BUT_TERMIN1.Visible = .T. + BUT_TERMIN1.Width = 30 + GRIDSORT1.Name = "GRIDSORT1" + * + + ADD OBJECT 'But_modifica1' AS but_modifica WITH ; + Height = 27, ; + Left = 298, ; + Name = "But_modifica1", ; + TabIndex = 6, ; + Top = 1, ; + Visible = .T., ; + Width = 30 + *< END OBJECT: ClassLib="cmd_butoane.vcx" BaseClass="commandbutton" /> + + ADD OBJECT 'But_nou1' AS but_nou WITH ; + Height = 27, ; + Left = 268, ; + Name = "But_nou1", ; + TabIndex = 7, ; + Top = 1, ; + Visible = .T., ; + Width = 30 + *< END OBJECT: ClassLib="cmd_butoane.vcx" BaseClass="commandbutton" /> + + ADD OBJECT 'But_sterge1' AS but_sterge WITH ; + Height = 27, ; + Left = 326, ; + Name = "But_sterge1", ; + TabIndex = 5, ; + Top = 1, ; + Visible = .T., ; + Width = 30 + *< END OBJECT: ClassLib="cmd_butoane.vcx" BaseClass="commandbutton" /> + + ADD OBJECT 'Cmd_cauta1' AS cmd_cauta WITH ; + Left = 300, ; + Name = "Cmd_cauta1", ; + TabIndex = 2, ; + Top = 44 + *< END OBJECT: ClassLib="cmd_butoane.vcx" BaseClass="commandbutton" /> + + ADD OBJECT 'gnom_lucrari' AS _grdrow WITH ; + ColumnCount = 3, ; + DeleteMark = .F., ; + Height = 218, ; + Left = 8, ; + Name = "gnom_lucrari", ; + Panel = 1, ; + ReadOnly = .T., ; + RecordSource = "v_nom_lucrari", ; + TabIndex = 3, ; + Top = 81, ; + Width = 374, ; + Column1.ColumnOrder = 2, ; + Column1.ControlSource = "nrord", ; + Column1.Name = "Column1", ; + Column1.ReadOnly = .T., ; + Column1.Width = 257, ; + Column2.ColumnOrder = 3, ; + Column2.ControlSource = "inactiv", ; + Column2.Name = "Column2", ; + Column2.ReadOnly = .T., ; + Column2.Sparse = .F., ; + Column2.Width = 49, ; + Column3.ColumnOrder = 1, ; + Column3.ControlSource = "id_lucrare", ; + Column3.Name = "Column3", ; + Column3.ReadOnly = .T., ; + Column3.Width = 35 + *< END OBJECT: ClassLib="_grd_base.vcx" BaseClass="grid" /> + + ADD OBJECT 'gnom_lucrari.Column1.Header1' AS header WITH ; + Alignment = 2, ; + Caption = "Lucrare", ; + Name = "Header1" + *< END OBJECT: BaseClass="header" /> + + ADD OBJECT 'gnom_lucrari.Column1.Text1' AS textbox WITH ; + BackColor = 255,255,255, ; + BorderStyle = 0, ; + ForeColor = 0,0,0, ; + Margin = 0, ; + Name = "Text1", ; + ReadOnly = .T. + *< END OBJECT: BaseClass="textbox" /> + + ADD OBJECT 'gnom_lucrari.Column2.Check1' AS checkbox WITH ; + Alignment = 0, ; + Caption = "", ; + Centered = .T., ; + Height = 17, ; + Left = 21, ; + Name = "Check1", ; + ReadOnly = .T., ; + Top = 26, ; + Width = 60 + *< END OBJECT: BaseClass="checkbox" /> + + ADD OBJECT 'gnom_lucrari.Column2.Header1' AS header WITH ; + Alignment = 2, ; + Caption = "Inactiv", ; + Name = "Header1" + *< END OBJECT: BaseClass="header" /> + + ADD OBJECT 'gnom_lucrari.Column3.Header1' AS header WITH ; + Alignment = 2, ; + Caption = "Id", ; + Name = "Header1" + *< END OBJECT: BaseClass="header" /> + + ADD OBJECT 'gnom_lucrari.Column3.Text1' AS textbox WITH ; + BackColor = 255,255,255, ; + BorderStyle = 0, ; + ForeColor = 0,0,0, ; + Margin = 0, ; + Name = "Text1", ; + ReadOnly = .T. + *< END OBJECT: BaseClass="textbox" /> + + ADD OBJECT 'lb_nom_lucrari' AS clb_tx_simplu WITH ; + Left = 9, ; + Name = "lb_nom_lucrari", ; + TabIndex = 1, ; + Top = 44, ; + Text_simplu1.Name = "Text_simplu1", ; + Lb_simplu1.Caption = "Lucrare", ; + Lb_simplu1.Name = "Lb_simplu1" + *< END OBJECT: ClassLib="lb_tx.vcx" BaseClass="container" /> + + PROCEDURE actualizeaza_grid1 + LPARAMETERS pcFiltru + LOCAL lcFiltru + lcFiltru=pcFiltru + IF EMPTY(lcFiltru) + lcFiltru=polucrari.ca_baza1.cfiltru + ENDIF + save_grid_tag(THISFORM.gnom_lucrari) + polucrari.ca_baza1.cfiltru=lcFiltru + polucrari.ca_baza1.afisare() + restore_grid_tag(THISFORM.gnom_lucrari) + IF RECCOUNT('v_nom_lucrari')>0 + THISFORM.gnom_lucrari.SETFOCUS() + ELSE + THISFORM.lb_nom_lucrari.SETFOCUS() + ENDIF + + ENDPROC + + PROCEDURE do_adauga + DO nom_lucrari_nou + + IF gnButon = 1 + THISFORM.actualizeaza_grid1() + ENDIF + + ENDPROC + + PROCEDURE do_cauta + Local lcFiltru + lcFiltru=[] + lcNume = STRTRAN(Upper(Alltrim(This.lb_nom_lucrari.text_simplu1.value)),['],['']) + If !Empty(lcNume) + lcFiltru=[nrord like ']+lcNume+[%'] + ELSE + lcFiltru = [2=2] + Endif + This.MousePointer= 11 + This.LockScreen=.T. + Thisform.actualizeaza_grid1(lcFiltru) + IF RECCOUNT()=0 + aMESSAGEBOX("Cautarea nu a intors rezultate!",0+64,"Info cautare") + ENDIF + This.LockScreen=.F. + This.MousePointer= 0 + ENDPROC + + PROCEDURE do_modifica + LOCAL loRec, lnIdLucrare + + If Reccount('v_nom_lucrari')>0 + Select v_nom_lucrari + lnIdLucrare = id_lucrare + Scatter Name loRec + + loRec = nom_lucrari_modifica(lnIdLucrare) + + IF !ISNULL(loRec) + Thisform.MousePointer= 11 + Thisform.LockScreen=.T. + Thisform.actualizeaza_grid1() + SELECT v_nom_lucrari + LOCATE FOR id_lucrare = lorec.id_lucrare + IF !FOUND() + GO top + ENDIF + thisform.gnom_lucrari.SetFocus() + Thisform.LockScreen=.F. + Thisform.MousePointer= 0 + Endif + Else + amessagebox("Nu exista inregistrari pentru modificare!",48,"Atentie") + Endif + + ENDPROC + + PROCEDURE do_sterge + If Reccount('v_nom_lucrari')>0 + Select v_nom_lucrari + Scatter Name lorec + Do STERGE_INREGISTRARE With "lucrari",lorec.id_lucrare + + This.actualizeaza_grid1() + Else + amessagebox("Nu exista inregistrari pentru stergere!",48,"Atentie") + Endif + + ENDPROC + + PROCEDURE KeyPress + Lparameters nKeyCode, nShiftAltCtrl + lcActiveControl = UPPER(ALLTRIM(this.ActiveControl.name)) + + IF nKeyCode=13 AND lcActiveControl = 'GNOM_LUCRARI' + Nodefault + this.LB_nom_lucrari.SetFocus + ENDIF + + + DODEFAULT(nKeyCode, nShiftAltCtrl) + + + ENDPROC + + PROCEDURE log + LPARAMETERS tctabela,tnId + + lcId = ALLTRIM(STR(tnId)) + lctabela = UPPER(ALLTRIM(tctabela)) + PRIVATE polog,pcschema1,pcselect1 + STORE '' TO polog + pcschema1 = [''] + pcselect1=['select * from ] + gcS + [.vlog where '] + pcorder1=['dataora'] + pcfiltru1 = [tabel = '] + lctabela + [' and id_tabel = ] + lcId + gencursor('polog','v_log',pcselect1,pcfiltru1,pcschema1,pcorder1) + polog.ca_baza1.afisare() + ofrmlog=CREATEOBJECT('frm_log') + ofrmlog.show(1) + RELEASE polog + ENDPROC + + PROCEDURE gnom_lucrari.Column1.Text1.DblClick + thisform.log("NOM_LUCRARI",v_nom_lucrari.ID_LUCRARE) + ENDPROC + +ENDDEFINE + +DEFINE CLASS frm_lucrari_nou AS _frmbase OF "..\..\..\roaauto\comun\clase\_frm_base.vcx" + *< CLASSDATA: Baseclass="form" Timestamp="" Scale="Pixels" Uniqueid="" /> + + *-- OBJECTDATA items order determines ZOrder / El orden de los items OBJECTDATA determina el ZOrder + *< OBJECTDATA: ObjPath="But_renunt1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="Clb_tx_simplu1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="_checkbox1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="Cus_odata_lucrari1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="img_parinte" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="clb_parinte" UniqueID="" Timestamp="" /> + + * + *m: do_alege_parinte + *p: nid + *p: orec + * + + * + DoCreate = .T. + Height = 124 + Name = "frm_lucrari_nou" + Width = 371 + _shape1.Name = "_shape1" + _shape2.Height = 29 + _shape2.Left = 312 + _shape2.Name = "_shape2" + _shape2.Top = 0 + _shape2.Width = 62 + Lb_titlu_alb_b121.Caption = "Lucrare" + Lb_titlu_alb_b121.Name = "Lb_titlu_alb_b121" + Lb_titlu_alb_b121.TabIndex = 6 + BUT_TERMIN1.Name = "BUT_TERMIN1" + BUT_TERMIN1.TabIndex = 2 + Gridsort1.Left = -5 + Gridsort1.Name = "Gridsort1" + Gridsort1.Top = 31 + * + + ADD OBJECT '_checkbox1' AS _checkbox WITH ; + Alignment = 0, ; + Caption = "Inactiv", ; + ControlSource = "porec.inactiv", ; + Left = 39, ; + Name = "_checkbox1", ; + TabIndex = 5, ; + TabStop = .F., ; + Top = 100 + *< END OBJECT: ClassLib="..\..\..\roaauto\comun\clase\_baza.vcx" BaseClass="checkbox" /> + + ADD OBJECT 'But_renunt1' AS but_renunt WITH ; + Left = 312, ; + Name = "But_renunt1", ; + TabIndex = 3, ; + Top = 1 + *< END OBJECT: ClassLib="..\..\..\roaauto\comun\clase\cmd_butoane.vcx" BaseClass="commandbutton" /> + + ADD OBJECT 'clb_parinte' AS clb_tx_simplu WITH ; + Height = 29, ; + Left = 12, ; + Name = "clb_parinte", ; + TabIndex = 4, ; + TabStop = .F., ; + ToolTipText = "Pentru modificare, faceti dublu-click!", ; + Top = 40, ; + Width = 313, ; + Text_simplu1.ControlSource = "porec.nume_parinte", ; + Text_simplu1.Height = 23, ; + Text_simplu1.Left = 101, ; + Text_simplu1.Name = "Text_simplu1", ; + Text_simplu1.ReadOnly = .T., ; + Text_simplu1.Top = 3, ; + Text_simplu1.Value = , ; + Text_simplu1.Width = 206, ; + Lb_simplu1.Caption = "Parinte", ; + Lb_simplu1.Name = "Lb_simplu1" + *< END OBJECT: ClassLib="..\..\..\roaauto\comun\clase\lb_tx.vcx" BaseClass="container" /> + + ADD OBJECT 'Clb_tx_simplu1' AS clb_tx_simplu WITH ; + Height = 29, ; + Left = 12, ; + Name = "Clb_tx_simplu1", ; + TabIndex = 1, ; + Top = 68, ; + Width = 313, ; + Text_simplu1.ControlSource = "porec.nrord", ; + Text_simplu1.Format = "!K", ; + Text_simplu1.Height = 23, ; + Text_simplu1.Left = 101, ; + Text_simplu1.Name = "Text_simplu1", ; + Text_simplu1.Top = 3, ; + Text_simplu1.Width = 205, ; + Lb_simplu1.Caption = "Lucrare", ; + Lb_simplu1.Name = "Lb_simplu1" + *< END OBJECT: ClassLib="..\..\..\roaauto\comun\clase\lb_tx.vcx" BaseClass="container" /> + + ADD OBJECT 'Cus_odata_lucrari1' AS cus_odata_lucrari WITH ; + Left = 180, ; + Name = "Cus_odata_lucrari1", ; + Top = 24 + *< END OBJECT: ClassLib="..\..\..\roaauto\comun\clase\onomenclatoare.vcx" BaseClass="custom" /> + + ADD OBJECT 'img_parinte' AS _image WITH ; + Height = 24, ; + Left = 331, ; + Name = "img_parinte", ; + Picture = ..\grafice\alege.bmp, ; + Stretch = 2, ; + ToolTipText = "Alegeti valuta", ; + Top = 42, ; + Width = 24 + *< END OBJECT: ClassLib="..\..\..\roaauto\comun\clase\_baza.vcx" BaseClass="image" /> + + PROCEDURE do_alege_parinte + Local loCauta + loCauta = caut_lucrare() + IF ISNULL(loCauta) + RETURN + ENDIF + + IF !EMPTY(loCauta.id_lucrare) + poRec.id_tata = loCauta.id_lucrare + poRec.nume_parinte = loCauta.nrord + ELSE + poRec.id_tata = NULL + poRec.nume_parinte = "" + ENDIF + + this.clb_parinte.text_simplu1.Refresh() + + + ENDPROC + + PROCEDURE inainte_de_do_termin + LOCAL PLRETURN + + lccontrol = UPPER(this.ActiveControl.BaseClass ) + IF INLIST(lccontrol,"TEXTBOX","EDITBOX","COMBOBOX") + lcval=This.Activecontrol.controlsource + &lcval=thisform.ActiveControl.value + ENDIF + + + IF EMPTY(porec.nrord) + aMessagebox('Nu ati completat lucrarea!',0+48,"Atentie") + This.clb_tx_simplu1.SetFocus() + plreturn=.F. + ELSE + PLRETURN=This.cus_odata_lucrari1.salvare(This.OREC,This.NID) + ENDIF + + Return PLRETURN + + + ENDPROC + + PROCEDURE Init + LPARAMETERS toRec, tnId, tcActiune + + DODEFAULT() + + this.orec= toRec + this.nid = tnId + this.cus_odata_lucrari1.cactiune = tcActiune + ENDPROC + + PROCEDURE clb_parinte.Text_simplu1.DblClick + Thisform.do_alege_parinte() + ENDPROC + + PROCEDURE img_parinte.Click + Thisform.do_alege_parinte() + + ENDPROC + +ENDDEFINE + +DEFINE CLASS frm_medii_transmisie AS _frmbase OF "_frm_base.vcx" + *< CLASSDATA: Baseclass="form" Timestamp="" Scale="Pixels" Uniqueid="" /> + + *-- OBJECTDATA items order determines ZOrder / El orden de los items OBJECTDATA determina el ZOrder + *< OBJECTDATA: ObjPath="Cmd_cauta1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="_gnom_medii_transmisie" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="_gnom_medii_transmisie.Column1.Header1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="_gnom_medii_transmisie.Column1.Text1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="_gnom_medii_transmisie.Column3.Header1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="_gnom_medii_transmisie.Column3.Text1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="But_nou1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="But_sterge1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="But_modifica1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="lb_nom_medii_transmisie" UniqueID="" Timestamp="" /> + + * + *m: log + * + + * + cgridsortlist = _gnom_medii_transmisie + DoCreate = .T. + Height = 303 + lactiv3 = .T. + lactiv4 = .T. + Name = "frm_medii_transmisie" + Width = 378 + _shape1.Height = 29 + _shape1.Left = 0 + _shape1.Name = "_shape1" + _shape1.Top = 0 + _shape1.Width = 385 + _shape2.Height = 29 + _shape2.Left = 259 + _shape2.Name = "_shape2" + _shape2.Top = 0 + _shape2.Width = 121 + Lb_titlu_alb_b121.Caption = "Medii_transmisie" + Lb_titlu_alb_b121.Name = "Lb_titlu_alb_b121" + Lb_titlu_alb_b121.TabIndex = 8 + BUT_TERMIN1.Left = 348 + BUT_TERMIN1.Name = "BUT_TERMIN1" + BUT_TERMIN1.TabIndex = 4 + BUT_TERMIN1.Top = 1 + BUT_TERMIN1.Visible = .T. + GRIDSORT1.Name = "GRIDSORT1" + * + + ADD OBJECT '_gnom_medii_transmisie' AS _grdrow WITH ; + ColumnCount = 2, ; + DeleteMark = .F., ; + Height = 191, ; + Left = 16, ; + Name = "_gnom_medii_transmisie", ; + Panel = 1, ; + ReadOnly = .T., ; + RecordSource = "v_medii_transmisie", ; + ScrollBars = 2, ; + TabIndex = 3, ; + Top = 101, ; + Width = 338, ; + Column1.ColumnOrder = 2, ; + Column1.ControlSource = "mediu_transmisie", ; + Column1.Name = "Column1", ; + Column1.ReadOnly = .T., ; + Column1.Width = 231, ; + Column2.ColumnOrder = 1, ; + Column2.ControlSource = "id_mediu", ; + Column2.Name = "Column3", ; + Column2.ReadOnly = .T., ; + Column2.Width = 38 + *< END OBJECT: ClassLib="_grd_base.vcx" BaseClass="grid" /> + + ADD OBJECT '_gnom_medii_transmisie.Column1.Header1' AS header WITH ; + Alignment = 2, ; + Caption = "Mediu_transmisie", ; + Name = "Header1" + *< END OBJECT: BaseClass="header" /> + + ADD OBJECT '_gnom_medii_transmisie.Column1.Text1' AS textbox WITH ; + BackColor = 255,255,255, ; + BorderStyle = 0, ; + ForeColor = 0,0,0, ; + Margin = 0, ; + Name = "Text1", ; + ReadOnly = .T. + *< END OBJECT: BaseClass="textbox" /> + + ADD OBJECT '_gnom_medii_transmisie.Column3.Header1' AS header WITH ; + Alignment = 2, ; + Caption = "Id", ; + Name = "Header1" + *< END OBJECT: BaseClass="header" /> + + ADD OBJECT '_gnom_medii_transmisie.Column3.Text1' AS textbox WITH ; + BackColor = 255,255,255, ; + BorderStyle = 0, ; + ForeColor = 0,0,0, ; + Margin = 0, ; + Name = "Text1", ; + ReadOnly = .T. + *< END OBJECT: BaseClass="textbox" /> + + ADD OBJECT 'But_modifica1' AS but_modifica WITH ; + Left = 291, ; + Name = "But_modifica1", ; + TabIndex = 6, ; + Top = 1, ; + Visible = .T. + *< END OBJECT: ClassLib="cmd_butoane.vcx" BaseClass="commandbutton" /> + + ADD OBJECT 'But_nou1' AS but_nou WITH ; + Left = 261, ; + Name = "But_nou1", ; + TabIndex = 7, ; + Top = 1, ; + Visible = .T. + *< END OBJECT: ClassLib="cmd_butoane.vcx" BaseClass="commandbutton" /> + + ADD OBJECT 'But_sterge1' AS but_sterge WITH ; + Left = 319, ; + Name = "But_sterge1", ; + TabIndex = 5, ; + Top = 1, ; + Visible = .T. + *< END OBJECT: ClassLib="cmd_butoane.vcx" BaseClass="commandbutton" /> + + ADD OBJECT 'Cmd_cauta1' AS cmd_cauta WITH ; + Left = 293, ; + Name = "Cmd_cauta1", ; + TabIndex = 2, ; + Top = 44 + *< END OBJECT: ClassLib="cmd_butoane.vcx" BaseClass="commandbutton" /> + + ADD OBJECT 'lb_nom_medii_transmisie' AS clb_tx_simplu WITH ; + Left = 2, ; + Name = "lb_nom_medii_transmisie", ; + TabIndex = 1, ; + Top = 44, ; + Text_simplu1.Name = "Text_simplu1", ; + Lb_simplu1.Caption = "Medii transmisie", ; + Lb_simplu1.Name = "Lb_simplu1" + *< END OBJECT: ClassLib="lb_tx.vcx" BaseClass="container" /> + + PROCEDURE actualizeaza_grid1 + LPARAMETERS pcFiltru + LOCAL lcFiltru + lcFiltru=pcFiltru + IF EMPTY(lcFiltru) + lcFiltru=poMediu_transmisie.ca_baza1.cfiltru + ENDIF + + save_grid_tag(thisform._gnom_medii_transmisie) + poMediu_transmisie.ca_baza1.cfiltru=lcFiltru + poMediu_transmisie.ca_baza1.afisare() + restore_grid_tag(thisform._gnom_medii_transmisie) + IF RECCOUNT('v_medii_transmisie')>0 + thisform._gnom_medii_transmisie.SetFocus() + ELSE + thisform.lb_nom_medii_transmisie.SetFocus() + ENDIF + + ENDPROC + + PROCEDURE do_adauga + SELECT v_medii_transmisie + SCATTER NAME loRec blank + DO Adauga_Modifica_Inregistrare WITH "medii_transmisie",loRec,,"INSERT" + this.actualizeaza_grid1() + ENDPROC + + PROCEDURE do_cauta + Local lcFiltru + lcFiltru=[] + lcNume = STRTRAN(Upper(Alltrim(This.lb_nom_medii_transmisie.text_simplu1.value)),['],['']) + If !Empty(lcNume) + lcFiltru=[mediu_transmisie like ']+lcNume+[%'] + ELSE + lcFiltru = [2=2] + Endif + This.MousePointer= 11 + This.LockScreen=.T. + Thisform.actualizeaza_grid1(lcFiltru) + IF RECCOUNT()=0 + aMESSAGEBOX("Cautarea nu a intors rezultate!",0+64,"Info cautare") + ENDIF + This.LockScreen=.F. + This.MousePointer= 0 + ENDPROC + + PROCEDURE do_modifica + If Reccount('v_medii_transmisie')>0 + Select v_medii_transmisie + Scatter Name loRec + pcmediu_transmisie=loRec.mediu_transmisie + Do Adauga_Modifica_Inregistrare With "medii_transmisie",loRec,loRec.Id_mediu,"UPDATE" + Thisform.actualizeaza_grid1() + Else + amessagebox("Nu exista inregistrari pentru modificare!",48,"Atentie") + Endif + ENDPROC + + PROCEDURE do_sterge + If Reccount('v_medii_transmisie')>0 + Select v_medii_transmisie + Scatter Name lorec + Do STERGE_INREGISTRARE With "medii_transmisie",lorec.id_mediu + + This.actualizeaza_grid1() + + Else + amessagebox("Nu exista inregistrari pentru stergere!",48,"Atentie") + Endif + ENDPROC + + PROCEDURE KeyPress + Lparameters nKeyCode, nShiftAltCtrl + lcActiveControl = UPPER(ALLTRIM(this.ActiveControl.name)) + + IF nKeyCode=13 AND lcActiveControl = '_gnom_medii_transmisie' + Nodefault + this.lb_nom_medii_transmisie.SetFocus + ENDIF + + + DODEFAULT(nKeyCode, nShiftAltCtrl) + + + ENDPROC + + PROCEDURE log + LPARAMETERS tctabela,tnId + + lcId = ALLTRIM(STR(tnId)) + lctabela = UPPER(ALLTRIM(tctabela)) + PRIVATE polog,pcschema1,pcselect1 + STORE '' TO polog + pcschema1 = [''] + pcselect1=['select * from ] + gcS + [.vlog where '] + pcorder1=['dataora'] + pcfiltru1 = [tabel = '] + lctabela + [' and id_tabel = ] + lcId + gencursor('polog','v_log',pcselect1,pcfiltru1,pcschema1,pcorder1) + polog.ca_baza1.afisare() + ofrmlog=CREATEOBJECT('frm_log') + ofrmlog.show(1) + RELEASE polog + ENDPROC + + PROCEDURE Unload + IF USED('v_medii_transmisie') + USE IN v_medii_transmisie + ENDIF + ENDPROC + + PROCEDURE _gnom_medii_transmisie.Column1.Text1.DblClick + thisform.log("NOM_FDOC",v_fdoc.id_fdoc) + ENDPROC + +ENDDEFINE + +DEFINE CLASS frm_medii_transmisie_nou AS _frmbase OF "_frm_base.vcx" + *< CLASSDATA: Baseclass="form" Timestamp="" Scale="Pixels" Uniqueid="" /> + + *-- OBJECTDATA items order determines ZOrder / El orden de los items OBJECTDATA determina el ZOrder + *< OBJECTDATA: ObjPath="But_renunt1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="Clb_tx_simplu1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="Cus_odata_medii_transmisie1" UniqueID="" Timestamp="" /> + + * + *p: nid + *p: orec + * + + * + DoCreate = .T. + Height = 106 + Name = "frm_medii_transmisie_nou" + Width = 372 + _shape1.Name = "_shape1" + _shape2.Height = 29 + _shape2.Left = 309 + _shape2.Name = "_shape2" + _shape2.Top = 0 + _shape2.Width = 70 + Lb_titlu_alb_b121.Caption = "Mediu transmisie" + Lb_titlu_alb_b121.Name = "Lb_titlu_alb_b121" + Lb_titlu_alb_b121.TabIndex = 5 + BUT_TERMIN1.Name = "BUT_TERMIN1" + BUT_TERMIN1.TabIndex = 3 + Gridsort1.Name = "Gridsort1" + * + + ADD OBJECT 'But_renunt1' AS but_renunt WITH ; + Left = 312, ; + Name = "But_renunt1", ; + TabIndex = 4, ; + Top = 1 + *< END OBJECT: ClassLib="cmd_butoane.vcx" BaseClass="commandbutton" /> + + ADD OBJECT 'Clb_tx_simplu1' AS clb_tx_simplu WITH ; + Height = 29, ; + Left = 31, ; + Name = "Clb_tx_simplu1", ; + TabIndex = 1, ; + Top = 44, ; + Width = 303, ; + Text_simplu1.ControlSource = "porec.mediu_transmisie", ; + Text_simplu1.Format = "!K", ; + Text_simplu1.Left = 111, ; + Text_simplu1.Name = "Text_simplu1", ; + Text_simplu1.Top = 3, ; + Lb_simplu1.Caption = "Mediu transmisie", ; + Lb_simplu1.Name = "Lb_simplu1" + *< END OBJECT: ClassLib="lb_tx.vcx" BaseClass="container" /> + + ADD OBJECT 'Cus_odata_medii_transmisie1' AS cus_odata_medii_transmisie WITH ; + Left = 339, ; + Name = "Cus_odata_medii_transmisie1", ; + Top = 65 + *< END OBJECT: ClassLib="onomenclatoare.vcx" BaseClass="custom" /> + + PROCEDURE inainte_de_do_termin + + LOCAL PLRETURN + + lccontrol = UPPER(this.ActiveControl.BaseClass ) + IF INLIST(lccontrol,"TEXTBOX","EDITBOX","COMBOBOX") + lcval=This.Activecontrol.controlsource + &lcval=thisform.ActiveControl.value + ENDIF + + Do Case + Case Empty(porec.mediu_transmisie) + aMessagebox('Nu ati completat mediu transmisie!',0+48,"Atentie") + This.clb_tx_simplu1.SetFocus() + plreturn=.F. + OTHERWISE + + If Alltrim(Upper(This.cus_odata_medii_transmisie1.cactiune))="INSERT" Or (Alltrim(Upper(This.cus_odata_medii_transmisie1.cactiune))="UPDATE" And porec.mediu_transmisie!=pcMediu_transmisie) + pcexec=[select * from vnom_medii_transmisie where TRIM(mediu_transmisie)=']+Alltrim(porec.mediu_transmisie)+['] + Do While .T. + pnSucces = SQLEXEC(GNHANDLE,pcexec,'exista_mediu_transmisie') + If pnSucces = 0 + * instructiunea in curs de executie + Else + Exit + Endif + Enddo + If Reccount('exista_mediu_transmisie')>0 + amessagebox('Mai exista acest mediu de transmisie inregistrat!',0+48,"Atentie") + Thisform.clb_tx_simplu1.SetFocus() + Use In exista_mediu_transmisie + plreturn=.F. + ELSE + PLRETURN=This.cus_odata_medii_transmisie1.salvare(This.OREC,This.NID) + ENDIF + ELSE + PLRETURN=This.cus_odata_medii_transmisie1.salvare(This.OREC,This.NID) + ENDIF + ENDCASE + + Return PLRETURN + + ENDPROC + + PROCEDURE Init + LPARAMETERS toRec, tnId, tcActiune + + DODEFAULT() + + this.orec= toRec + this.nid = tnId + this.cus_odata_medii_transmisie1.cactiune = tcActiune + + ENDPROC + +ENDDEFINE + +DEFINE CLASS frm_partener AS _frmbase OF "_frm_base.vcx" + *< CLASSDATA: Baseclass="form" Timestamp="" Scale="Pixels" Uniqueid="" /> + + *-- OBJECTDATA items order determines ZOrder / El orden de los items OBJECTDATA determina el ZOrder + *< OBJECTDATA: ObjPath="_grdrow1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="_grdrow1.cId.Header1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="_grdrow1.cId.Text1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="_grdrow1.cDenumire.Header1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="_grdrow1.cDenumire.Text1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="_grdrow1.cCod_fiscal.Header1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="_grdrow1.cCod_fiscal.Text1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="_grdrow1.cReg_comert.Header1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="_grdrow1.cReg_comert.Text1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="_grdrow1.cInactiv.Header1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="_grdrow1.cInactiv.Check1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="_grdrow1.Column6.Header1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="_grdrow1.Column6.Text1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="_grdrow1.Column7.Header1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="_grdrow1.Column7.Text1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="_grdrow1.cBanca.Header1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="_grdrow1.cBanca.Text1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="_grdrow1.cCont_banca.Header1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="_grdrow1.cCont_banca.Text1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="_grdrow1.cPrefix.Header1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="_grdrow1.cPrefix.Text1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="_grdrow1.cSufix.Header1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="_grdrow1.cSufix.Text1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="_grdrow1.cTip_persoana.Header1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="_grdrow1.cTip_persoana.Text1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="_grdrow1.cMotiv_inactiv.Header1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="_grdrow1.cMotiv_inactiv.Text1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="_grdrow1.cLocalitate_inreg.Header1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="_grdrow1.cLocalitate_inreg.Text1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="_grdrow1.cCategorie_entitate.Header1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="_grdrow1.cCategorie_entitate.Text1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="_grdrow2" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="_grdrow2.cDenumire.Header1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="_grdrow2.cDenumire.Text1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="But_nou1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="But_modifica1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="But_sterge1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="Cmd_cauta1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="Cmd_reset1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="Ck_reg_comert" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="Ck_filtru_denumire" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="Ck_filtru_nume" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="Ck_filtru_categorie" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="Pageframe1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="Pageframe1.Page1._grdrow3" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="Pageframe1.Page1._grdrow3.cStrada.Header1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="Pageframe1.Page1._grdrow3.cStrada.Text1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="Pageframe1.Page1._grdrow3.cLocalitate.Header1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="Pageframe1.Page1._grdrow3.cLocalitate.Text1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="Pageframe1.Page1._grdrow3.cTelefon1.Header1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="Pageframe1.Page1._grdrow3.cTelefon1.Text1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="Pageframe1.Page1._grdrow3.Column10.Header1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="Pageframe1.Page1._grdrow3.Column10.Text1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="Pageframe1.Page1._grdrow3.cBloc.Header1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="Pageframe1.Page1._grdrow3.cBloc.Text1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="Pageframe1.Page1._grdrow3.cScara.Header1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="Pageframe1.Page1._grdrow3.cScara.Text1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="Pageframe1.Page1._grdrow3.cApart.Header1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="Pageframe1.Page1._grdrow3.cApart.Text1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="Pageframe1.Page1._grdrow3.cNumar.Header1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="Pageframe1.Page1._grdrow3.cNumar.Text1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="Pageframe1.Page1._grdrow3.cInactiv.Header1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="Pageframe1.Page1._grdrow3.cInactiv.Check1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="Pageframe1.Page1._grdrow3.cPrincipala.Header1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="Pageframe1.Page1._grdrow3.cPrincipala.Check1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="Pageframe1.Page1._grdrow3.cEtaj.Header1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="Pageframe1.Page1._grdrow3.cEtaj.Text1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="Pageframe1.Page1._grdrow3.cTelefon2.Header1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="Pageframe1.Page1._grdrow3.cTelefon2.Text1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="Pageframe1.Page1._grdrow3.cFax.Header1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="Pageframe1.Page1._grdrow3.cFax.Text1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="Pageframe1.Page1._grdrow3.cEmail.Header1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="Pageframe1.Page1._grdrow3.cEmail.Text1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="Pageframe1.Page1._grdrow3.cWeb.Header1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="Pageframe1.Page1._grdrow3.cWeb.Text1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="Pageframe1.Page1._grdrow3.cJudet.Header1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="Pageframe1.Page1._grdrow3.cJudet.Text1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="Pageframe1.Page1._grdrow3.Column17.Header1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="Pageframe1.Page1._grdrow3.Column17.Text1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="Pageframe1.Page1.But_nou2" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="Pageframe1.Page1.But_modifica2" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="Pageframe1.Page1.But_sterge2" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="Pageframe1.Page2._grdrow3" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="Pageframe1.Page2._grdrow3.Column17.Header1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="Pageframe1.Page2._grdrow3.Column17.Text1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="Pageframe1.Page2.But_nou2" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="Pageframe1.Page2.But_modifica2" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="Pageframe1.Page2.But_sterge2" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="But_verifica1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="Ck_cod_fiscal" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="But_copiaza1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="Ck_filtru_prenume" UniqueID="" Timestamp="" /> + + * + *m: actualizeaza_grid3 + *m: actualizeaza_grid_part + *m: do_adauga2 + *m: do_adauga3 + *m: inainte_de_do_modifica2 + *m: inainte_de_do_modifica3 + *m: inainte_de_do_sterge2 + *m: inainte_de_do_sterge3 + *p: cul_activ + *p: nid_tip_part + *p: ntip_persoana_default && Tipul de persoana cu care intra implicit la adaugare (1 - persoana juridica,2 - persoana fizica) + * + + * + Caption = "" + cgridsortlist = _grdrow1 + DoCreate = .T. + Height = 593 + Name = "frm_partener" + nid_tip_part = 0 + ntip_persoana_default = 1 + Width = 696 + WindowState = 2 + WindowType = 1 + _shape1.Anchor = 10 + _shape1.Comment = "*:OnResize=sR" + _shape1.Height = 30 + _shape1.Left = 0 + _shape1.Name = "_shape1" + _shape1.Tag = "W" + _shape1.Top = 0 + _shape1.Width = 698 + _shape1.ZOrderSet = 2 + _shape2.Anchor = 8 + _shape2.Comment = "*:OnResize=RT" + _shape2.Height = 29 + _shape2.Left = 665 + _shape2.Name = "_shape2" + _shape2.Tag = "L" + _shape2.Top = 1 + _shape2.Width = 32 + _shape2.ZOrderSet = 3 + Lb_titlu_alb_b121.Caption = "Parteneri" + Lb_titlu_alb_b121.Name = "Lb_titlu_alb_b121" + Lb_titlu_alb_b121.TabIndex = 17 + Lb_titlu_alb_b121.Tag = "" + Lb_titlu_alb_b121.ZOrderSet = 4 + BUT_TERMIN1.Anchor = 8 + BUT_TERMIN1.Comment = "*:OnResize=RT" + BUT_TERMIN1.Height = 27 + BUT_TERMIN1.Left = 666 + BUT_TERMIN1.Name = "BUT_TERMIN1" + BUT_TERMIN1.TabIndex = 16 + BUT_TERMIN1.Tag = "L" + BUT_TERMIN1.Top = 2 + BUT_TERMIN1.Width = 30 + BUT_TERMIN1.ZOrderSet = 5 + Gridsort1.Left = 408 + Gridsort1.Name = "Gridsort1" + Gridsort1.Top = 8 + * + + ADD OBJECT '_grdrow1' AS _grdrow WITH ; + Anchor = 15, ; + ColumnCount = 15, ; + Comment = "*:OnResize=SS", ; + DeleteMark = .F., ; + GridLineColor = 192,192,192, ; + Height = 340, ; + HighlightStyle = 2, ; + Left = 4, ; + Name = "_grdrow1", ; + nrgbrow = 0, ; + Panel = 1, ; + ReadOnly = .T., ; + RecordMark = .T., ; + RecordSource = "crsparteneri", ; + TabIndex = 8, ; + Tag = "HW", ; + Top = 80, ; + Width = 524, ; + ZOrderSet = 0, ; + Column1.ControlSource = "crsparteneri.id_part", ; + Column1.Name = "cId", ; + Column1.ReadOnly = .T., ; + Column1.Width = 52, ; + Column2.ControlSource = "crsparteneri.denumire", ; + Column2.Name = "cDenumire", ; + Column2.ReadOnly = .T., ; + Column2.Width = 174, ; + Column3.ColumnOrder = 5, ; + Column3.ControlSource = "crsparteneri.cod_fiscal", ; + Column3.Name = "cCod_fiscal", ; + Column3.ReadOnly = .T., ; + Column4.ColumnOrder = 6, ; + Column4.ControlSource = "crsparteneri.reg_comert", ; + Column4.Name = "cReg_comert", ; + Column4.ReadOnly = .T., ; + Column5.Alignment = 2, ; + Column5.ColumnOrder = 14, ; + Column5.ControlSource = "crsparteneri.inactiv", ; + Column5.Name = "cInactiv", ; + Column5.ReadOnly = .T., ; + Column5.Sparse = .F., ; + Column5.Width = 38, ; + Column6.ColumnOrder = 3, ; + Column6.ControlSource = "crsparteneri.nume", ; + Column6.Name = "Column6", ; + Column6.ReadOnly = .T., ; + Column7.ColumnOrder = 4, ; + Column7.ControlSource = "crsparteneri.prenume", ; + Column7.Name = "Column7", ; + Column7.ReadOnly = .T., ; + Column8.ColumnOrder = 12, ; + Column8.ControlSource = "banca", ; + Column8.Name = "cBanca", ; + Column8.ReadOnly = .T., ; + Column9.ColumnOrder = 13, ; + Column9.ControlSource = "cont_banca", ; + Column9.Name = "cCont_banca", ; + Column9.ReadOnly = .T., ; + Column10.ColumnOrder = 8, ; + Column10.ControlSource = "prefix", ; + Column10.Name = "cPrefix", ; + Column10.ReadOnly = .T., ; + Column10.Width = 58, ; + Column11.ColumnOrder = 9, ; + Column11.ControlSource = "sufix", ; + Column11.Name = "cSufix", ; + Column11.ReadOnly = .T., ; + Column11.Width = 60, ; + Column12.ColumnOrder = 10, ; + Column12.ControlSource = "iif(tip_persoana=1,'Juridica','Fizica')", ; + Column12.Name = "cTip_persoana", ; + Column12.ReadOnly = .T., ; + Column12.Width = 88, ; + Column13.ColumnOrder = 15, ; + Column13.ControlSource = "motiv_inactiv", ; + Column13.Name = "cMotiv_inactiv", ; + Column13.ReadOnly = .T., ; + Column13.Width = 89, ; + Column14.ColumnOrder = 7, ; + Column14.ControlSource = "crsparteneri.localitate_inreg", ; + Column14.Name = "cLocalitate_inreg", ; + Column14.ReadOnly = .T., ; + Column15.ColumnOrder = 11, ; + Column15.ControlSource = "categorie_entitate", ; + Column15.Name = "cCategorie_entitate", ; + Column15.ReadOnly = .T. + *< END OBJECT: ClassLib="_grd_base.vcx" BaseClass="grid" /> + + ADD OBJECT '_grdrow1.cBanca.Header1' AS header WITH ; + Alignment = 2, ; + Caption = "Banca", ; + Name = "Header1" + *< END OBJECT: BaseClass="header" /> + + ADD OBJECT '_grdrow1.cBanca.Text1' AS textbox WITH ; + BackColor = 255,255,255, ; + BorderStyle = 0, ; + ForeColor = 0,0,0, ; + Margin = 0, ; + Name = "Text1" + *< END OBJECT: BaseClass="textbox" /> + + ADD OBJECT '_grdrow1.cCategorie_entitate.Header1' AS header WITH ; + Alignment = 2, ; + Caption = "Categorie", ; + Name = "Header1" + *< END OBJECT: BaseClass="header" /> + + ADD OBJECT '_grdrow1.cCategorie_entitate.Text1' AS textbox WITH ; + BackColor = 255,255,255, ; + BorderStyle = 0, ; + ForeColor = 0,0,0, ; + Margin = 0, ; + Name = "Text1" + *< END OBJECT: BaseClass="textbox" /> + + ADD OBJECT '_grdrow1.cCod_fiscal.Header1' AS header WITH ; + Alignment = 2, ; + Caption = "C.I.F. / C.N.P.", ; + Name = "Header1" + *< END OBJECT: BaseClass="header" /> + + ADD OBJECT '_grdrow1.cCod_fiscal.Text1' AS textbox WITH ; + BackColor = 255,255,255, ; + BorderStyle = 0, ; + ForeColor = 0,0,0, ; + Margin = 0, ; + Name = "Text1", ; + ReadOnly = .T. + *< END OBJECT: BaseClass="textbox" /> + + ADD OBJECT '_grdrow1.cCont_banca.Header1' AS header WITH ; + Alignment = 2, ; + Caption = "Cont banca", ; + Name = "Header1" + *< END OBJECT: BaseClass="header" /> + + ADD OBJECT '_grdrow1.cCont_banca.Text1' AS textbox WITH ; + BackColor = 255,255,255, ; + BorderStyle = 0, ; + ForeColor = 0,0,0, ; + Margin = 0, ; + Name = "Text1" + *< END OBJECT: BaseClass="textbox" /> + + ADD OBJECT '_grdrow1.cDenumire.Header1' AS header WITH ; + Alignment = 2, ; + Caption = "Denumire", ; + Name = "Header1" + *< END OBJECT: BaseClass="header" /> + + ADD OBJECT '_grdrow1.cDenumire.Text1' AS textbox WITH ; + BackColor = 255,255,255, ; + BorderStyle = 0, ; + ForeColor = 0,0,0, ; + Margin = 0, ; + Name = "Text1", ; + ReadOnly = .T. + *< END OBJECT: BaseClass="textbox" /> + + ADD OBJECT '_grdrow1.cId.Header1' AS header WITH ; + Alignment = 2, ; + Caption = "Id", ; + Name = "Header1" + *< END OBJECT: BaseClass="header" /> + + ADD OBJECT '_grdrow1.cId.Text1' AS textbox WITH ; + BackColor = 255,255,255, ; + BorderStyle = 0, ; + ForeColor = 0,0,0, ; + Margin = 0, ; + Name = "Text1", ; + ReadOnly = .T. + *< END OBJECT: BaseClass="textbox" /> + + ADD OBJECT '_grdrow1.cInactiv.Check1' AS checkbox WITH ; + Alignment = 0, ; + Caption = "", ; + Centered = .T., ; + Height = 17, ; + Left = 17, ; + Name = "Check1", ; + Top = 49, ; + Width = 60 + *< END OBJECT: BaseClass="checkbox" /> + + ADD OBJECT '_grdrow1.cInactiv.Header1' AS header WITH ; + Alignment = 2, ; + Caption = "Inactiv", ; + Name = "Header1" + *< END OBJECT: BaseClass="header" /> + + ADD OBJECT '_grdrow1.cLocalitate_inreg.Header1' AS header WITH ; + Alignment = 2, ; + Caption = "Localitate", ; + Name = "Header1" + *< END OBJECT: BaseClass="header" /> + + ADD OBJECT '_grdrow1.cLocalitate_inreg.Text1' AS textbox WITH ; + BackColor = 255,255,255, ; + BorderStyle = 0, ; + ForeColor = 0,0,0, ; + Margin = 0, ; + Name = "Text1" + *< END OBJECT: BaseClass="textbox" /> + + ADD OBJECT '_grdrow1.cMotiv_inactiv.Header1' AS header WITH ; + Alignment = 2, ; + Caption = "Motivul inactiv.", ; + Name = "Header1" + *< END OBJECT: BaseClass="header" /> + + ADD OBJECT '_grdrow1.cMotiv_inactiv.Text1' AS textbox WITH ; + BackColor = 255,255,255, ; + BorderStyle = 0, ; + ForeColor = 0,0,0, ; + Margin = 0, ; + Name = "Text1" + *< END OBJECT: BaseClass="textbox" /> + + ADD OBJECT '_grdrow1.Column6.Header1' AS header WITH ; + Alignment = 2, ; + Caption = "Nume", ; + Name = "Header1" + *< END OBJECT: BaseClass="header" /> + + ADD OBJECT '_grdrow1.Column6.Text1' AS textbox WITH ; + BackColor = 255,255,255, ; + BorderStyle = 0, ; + ForeColor = 0,0,0, ; + Margin = 0, ; + Name = "Text1" + *< END OBJECT: BaseClass="textbox" /> + + ADD OBJECT '_grdrow1.Column7.Header1' AS header WITH ; + Alignment = 2, ; + Caption = "Prenume", ; + Name = "Header1" + *< END OBJECT: BaseClass="header" /> + + ADD OBJECT '_grdrow1.Column7.Text1' AS textbox WITH ; + BackColor = 255,255,255, ; + BorderStyle = 0, ; + ForeColor = 0,0,0, ; + Margin = 0, ; + Name = "Text1" + *< END OBJECT: BaseClass="textbox" /> + + ADD OBJECT '_grdrow1.cPrefix.Header1' AS header WITH ; + Alignment = 2, ; + Caption = "Prefix", ; + Name = "Header1" + *< END OBJECT: BaseClass="header" /> + + ADD OBJECT '_grdrow1.cPrefix.Text1' AS textbox WITH ; + BackColor = 255,255,255, ; + BorderStyle = 0, ; + ForeColor = 0,0,0, ; + Margin = 0, ; + Name = "Text1" + *< END OBJECT: BaseClass="textbox" /> + + ADD OBJECT '_grdrow1.cReg_comert.Header1' AS header WITH ; + Alignment = 2, ; + Caption = "Reg. Comert", ; + Name = "Header1" + *< END OBJECT: BaseClass="header" /> + + ADD OBJECT '_grdrow1.cReg_comert.Text1' AS textbox WITH ; + BackColor = 255,255,255, ; + BorderStyle = 0, ; + ForeColor = 0,0,0, ; + Margin = 0, ; + Name = "Text1", ; + ReadOnly = .T. + *< END OBJECT: BaseClass="textbox" /> + + ADD OBJECT '_grdrow1.cSufix.Header1' AS header WITH ; + Alignment = 2, ; + Caption = "Sufix", ; + Name = "Header1" + *< END OBJECT: BaseClass="header" /> + + ADD OBJECT '_grdrow1.cSufix.Text1' AS textbox WITH ; + BackColor = 255,255,255, ; + BorderStyle = 0, ; + ForeColor = 0,0,0, ; + Margin = 0, ; + Name = "Text1" + *< END OBJECT: BaseClass="textbox" /> + + ADD OBJECT '_grdrow1.cTip_persoana.Header1' AS header WITH ; + Alignment = 2, ; + Caption = "Tip persoana", ; + Name = "Header1" + *< END OBJECT: BaseClass="header" /> + + ADD OBJECT '_grdrow1.cTip_persoana.Text1' AS textbox WITH ; + BackColor = 255,255,255, ; + BorderStyle = 0, ; + ForeColor = 0,0,0, ; + Margin = 0, ; + Name = "Text1" + *< END OBJECT: BaseClass="textbox" /> + + ADD OBJECT '_grdrow2' AS _grdrow WITH ; + Anchor = 13, ; + ColumnCount = 1, ; + DeleteMark = .F., ; + FontName = "Arial Narrow", ; + GridLineColor = 192,192,192, ; + Height = 340, ; + HighlightStyle = 2, ; + Left = 540, ; + Name = "_grdrow2", ; + nrgbrow = 0, ; + Panel = 1, ; + ReadOnly = .T., ; + RecordMark = .F., ; + RecordSource = "crscoresppart", ; + TabIndex = 9, ; + Tag = "HW", ; + Top = 80, ; + Width = 145, ; + ZOrderSet = 0, ; + Column1.ControlSource = "denumire", ; + Column1.FontName = "Arial Narrow", ; + Column1.Name = "cDenumire", ; + Column1.ReadOnly = .T., ; + Column1.Width = 123 + *< END OBJECT: ClassLib="_grd_base.vcx" BaseClass="grid" /> + + ADD OBJECT '_grdrow2.cDenumire.Header1' AS header WITH ; + Alignment = 2, ; + Caption = "Client", ; + FontName = "Arial Narrow", ; + Name = "Header1" + *< END OBJECT: BaseClass="header" /> + + ADD OBJECT '_grdrow2.cDenumire.Text1' AS textbox WITH ; + BackColor = 255,255,255, ; + BorderStyle = 0, ; + FontName = "Arial Narrow", ; + ForeColor = 0,0,0, ; + Margin = 0, ; + Name = "Text1", ; + ReadOnly = .T. + *< END OBJECT: BaseClass="textbox" /> + + ADD OBJECT 'But_copiaza1' AS but_copiaza WITH ; + Anchor = 8, ; + Left = 533, ; + Name = "But_copiaza1", ; + TabIndex = 10, ; + Top = 48 + *< END OBJECT: ClassLib="cmd_butoane.vcx" BaseClass="commandbutton" /> + + ADD OBJECT 'But_modifica1' AS but_modifica WITH ; + Anchor = 8, ; + Comment = "*:OnResize=RT", ; + Left = 594, ; + Name = "But_modifica1", ; + TabIndex = 12, ; + Tag = "L", ; + Top = 48, ; + Visible = .T., ; + ZOrderSet = 8 + *< END OBJECT: ClassLib="cmd_butoane.vcx" BaseClass="commandbutton" /> + + ADD OBJECT 'But_nou1' AS but_nou WITH ; + Anchor = 8, ; + Comment = "*:OnResize=RT", ; + Left = 564, ; + Name = "But_nou1", ; + TabIndex = 11, ; + Tag = "L", ; + Top = 48, ; + ZOrderSet = 7 + *< END OBJECT: ClassLib="cmd_butoane.vcx" BaseClass="commandbutton" /> + + ADD OBJECT 'But_sterge1' AS but_sterge WITH ; + Anchor = 8, ; + Comment = "*:OnResize=RT", ; + Left = 624, ; + Name = "But_sterge1", ; + TabIndex = 13, ; + Tag = "L", ; + Top = 48, ; + Visible = .T., ; + ZOrderSet = 9 + *< END OBJECT: ClassLib="cmd_butoane.vcx" BaseClass="commandbutton" /> + + ADD OBJECT 'But_verifica1' AS but_verifica WITH ; + Anchor = 8, ; + Left = 654, ; + Name = "But_verifica1", ; + TabIndex = 14, ; + ToolTipText = "Validare cod", ; + Top = 48 + *< END OBJECT: ClassLib="cmd_butoane.vcx" BaseClass="commandbutton" /> + + ADD OBJECT 'Ck_cod_fiscal' AS ck_filtru_text WITH ; + Alignment = 0, ; + camp_nume = cod_fiscal, ; + Caption = "Cod Fiscal", ; + criteriu = 4, ; + criteriu2 = 4, ; + Left = 5, ; + Name = "Ck_cod_fiscal", ; + TabIndex = 2, ; + Top = 56, ; + ZOrderSet = 19 + *< END OBJECT: ClassLib="caut_ora.vcx" BaseClass="checkbox" /> + + ADD OBJECT 'Ck_filtru_categorie' AS ck_filtru_text WITH ; + Alignment = 0, ; + camp_nume = p.categorie_entitate, ; + Caption = "Categorie", ; + Left = 139, ; + Name = "Ck_filtru_categorie", ; + TabIndex = 6, ; + Top = 56, ; + ZOrderSet = 16 + *< END OBJECT: ClassLib="caut_ora.vcx" BaseClass="checkbox" /> + + ADD OBJECT 'Ck_filtru_denumire' AS ck_filtru_text WITH ; + Alignment = 0, ; + camp_nume = denumire, ; + Caption = "Denumire", ; + Left = 5, ; + Name = "Ck_filtru_denumire", ; + TabIndex = 1, ; + Top = 35, ; + ZOrderSet = 15 + *< END OBJECT: ClassLib="caut_ora.vcx" BaseClass="checkbox" /> + + ADD OBJECT 'Ck_filtru_nume' AS ck_filtru_text WITH ; + Alignment = 0, ; + camp_nume = nume, ; + Caption = "Nume", ; + Left = 76, ; + Name = "Ck_filtru_nume", ; + TabIndex = 3, ; + Top = 35, ; + ZOrderSet = 16 + *< END OBJECT: ClassLib="caut_ora.vcx" BaseClass="checkbox" /> + + ADD OBJECT 'Ck_filtru_prenume' AS ck_filtru_text WITH ; + Alignment = 0, ; + camp_nume = prenume, ; + Caption = "Prenume", ; + Left = 76, ; + Name = "Ck_filtru_prenume", ; + TabIndex = 4, ; + Top = 56, ; + ZOrderSet = 20 + *< END OBJECT: ClassLib="caut_ora.vcx" BaseClass="checkbox" /> + + ADD OBJECT 'Ck_reg_comert' AS ck_filtru_text WITH ; + Alignment = 0, ; + camp_nume = reg_comert, ; + Caption = "Reg. Comerþ", ; + criteriu = 4, ; + criteriu2 = 4, ; + Left = 139, ; + Name = "Ck_reg_comert", ; + TabIndex = 5, ; + Top = 35, ; + ZOrderSet = 21 + *< END OBJECT: ClassLib="caut_ora.vcx" BaseClass="checkbox" /> + + ADD OBJECT 'Cmd_cauta1' AS cmd_cauta WITH ; + Anchor = 2, ; + Comment = "*:OnResize=RT", ; + Left = 259, ; + Name = "Cmd_cauta1", ; + TabIndex = 7, ; + Tag = "L", ; + Top = 43, ; + ZOrderSet = 11 + *< END OBJECT: ClassLib="cmd_butoane.vcx" BaseClass="commandbutton" /> + + ADD OBJECT 'Cmd_reset1' AS cmd_reset WITH ; + Anchor = 2, ; + Comment = "*:OnResize=RT", ; + Left = 347, ; + Name = "Cmd_reset1", ; + TabIndex = 18, ; + Tag = "L", ; + Top = 43, ; + ZOrderSet = 12 + *< END OBJECT: ClassLib="cmd_butoane.vcx" BaseClass="commandbutton" /> + + ADD OBJECT 'Pageframe1' AS pageframe WITH ; + Anchor = 14, ; + ErasePage = .T., ; + Height = 168, ; + Left = 0, ; + Name = "Pageframe1", ; + PageCount = 2, ; + TabIndex = 15, ; + TabStretch = 1, ; + TabStyle = 1, ; + Top = 420, ; + Width = 720, ; + Page1.Caption = "Adrese", ; + Page1.Name = "Page1", ; + Page2.Caption = "Coduri", ; + Page2.Name = "Page2" + *< END OBJECT: BaseClass="pageframe" /> + + ADD OBJECT 'Pageframe1.Page1._grdrow3' AS _grdrow WITH ; + Anchor = 14, ; + ColumnCount = 17, ; + Comment = "*:OnResize=SS", ; + DeleteMark = .F., ; + FontSize = 8, ; + GridLineColor = 192,192,192, ; + Height = 121, ; + HighlightStyle = 1, ; + Left = 7, ; + Name = "_grdrow3", ; + nrgbrow = 0, ; + Panel = 1, ; + ReadOnly = .T., ; + RecordMark = .T., ; + RecordSource = "crsAdrese", ; + RowHeight = 17, ; + TabIndex = 15, ; + Tag = "HW", ; + Top = 7, ; + Width = 636, ; + ZOrderSet = 22, ; + Column1.ColumnOrder = 2, ; + Column1.ControlSource = "strada", ; + Column1.FontSize = 8, ; + Column1.Name = "cStrada", ; + Column1.ReadOnly = .T., ; + Column1.Width = 105, ; + Column2.ColumnOrder = 8, ; + Column2.ControlSource = "localitate", ; + Column2.FontSize = 8, ; + Column2.Name = "cLocalitate", ; + Column2.ReadOnly = .T., ; + Column3.ColumnOrder = 10, ; + Column3.ControlSource = "telefon1", ; + Column3.FontSize = 8, ; + Column3.Name = "cTelefon1", ; + Column3.ReadOnly = .T., ; + Column4.ColumnOrder = 17, ; + Column4.ControlSource = "id_regiune", ; + Column4.FontSize = 8, ; + Column4.Name = "Column10", ; + Column4.ReadOnly = .T., ; + Column5.ColumnOrder = 4, ; + Column5.ControlSource = "bloc", ; + Column5.FontSize = 8, ; + Column5.Name = "cBloc", ; + Column5.ReadOnly = .T., ; + Column5.Width = 28, ; + Column6.ColumnOrder = 5, ; + Column6.ControlSource = "scara", ; + Column6.FontSize = 8, ; + Column6.Name = "cScara", ; + Column6.ReadOnly = .T., ; + Column6.Width = 36, ; + Column7.ColumnOrder = 6, ; + Column7.ControlSource = "apart", ; + Column7.FontSize = 8, ; + Column7.Name = "cApart", ; + Column7.ReadOnly = .T., ; + Column7.Width = 34, ; + Column8.ColumnOrder = 3, ; + Column8.ControlSource = "numar", ; + Column8.FontSize = 8, ; + Column8.Name = "cNumar", ; + Column8.ReadOnly = .T., ; + Column8.Width = 42, ; + Column9.Alignment = 2, ; + Column9.ColumnOrder = 15, ; + Column9.ControlSource = "inactiv", ; + Column9.FontSize = 8, ; + Column9.Name = "cInactiv", ; + Column9.ReadOnly = .T., ; + Column9.Sparse = .F., ; + Column9.Width = 39, ; + Column10.Alignment = 2, ; + Column10.ColumnOrder = 16, ; + Column10.ControlSource = "principala", ; + Column10.FontSize = 8, ; + Column10.Name = "cPrincipala", ; + Column10.ReadOnly = .T., ; + Column10.Sparse = .F., ; + Column10.Width = 59, ; + Column11.ColumnOrder = 7, ; + Column11.ControlSource = "etaj", ; + Column11.FontSize = 8, ; + Column11.Name = "cEtaj", ; + Column11.ReadOnly = .T., ; + Column11.Width = 36, ; + Column12.ColumnOrder = 11, ; + Column12.ControlSource = "telefon2", ; + Column12.FontSize = 8, ; + Column12.Name = "cTelefon2", ; + Column12.ReadOnly = .T., ; + Column13.ColumnOrder = 12, ; + Column13.ControlSource = "fax", ; + Column13.FontSize = 8, ; + Column13.Name = "cFax", ; + Column13.ReadOnly = .T., ; + Column14.ColumnOrder = 13, ; + Column14.ControlSource = "email", ; + Column14.FontSize = 8, ; + Column14.Name = "cEmail", ; + Column14.ReadOnly = .T., ; + Column15.ColumnOrder = 14, ; + Column15.ControlSource = "web", ; + Column15.FontSize = 8, ; + Column15.Name = "cWeb", ; + Column15.ReadOnly = .T., ; + Column16.ColumnOrder = 9, ; + Column16.ControlSource = "judet", ; + Column16.FontSize = 8, ; + Column16.Name = "cJudet", ; + Column16.ReadOnly = .T., ; + Column16.Width = 40, ; + Column17.ColumnOrder = 1, ; + Column17.ControlSource = "denumire_adresa", ; + Column17.FontSize = 8, ; + Column17.Name = "Column17", ; + Column17.ReadOnly = .T., ; + Column17.Width = 67 + *< END OBJECT: ClassLib="_grd_base.vcx" BaseClass="grid" /> + + ADD OBJECT 'Pageframe1.Page1._grdrow3.cApart.Header1' AS header WITH ; + Alignment = 2, ; + Caption = "Apart.", ; + FontSize = 8, ; + Name = "Header1" + *< END OBJECT: BaseClass="header" /> + + ADD OBJECT 'Pageframe1.Page1._grdrow3.cApart.Text1' AS textbox WITH ; + BackColor = 255,255,255, ; + BorderStyle = 0, ; + FontSize = 8, ; + ForeColor = 0,0,0, ; + Margin = 0, ; + Name = "Text1", ; + ReadOnly = .T. + *< END OBJECT: BaseClass="textbox" /> + + ADD OBJECT 'Pageframe1.Page1._grdrow3.cBloc.Header1' AS header WITH ; + Alignment = 2, ; + Caption = "Bloc", ; + FontSize = 8, ; + Name = "Header1" + *< END OBJECT: BaseClass="header" /> + + ADD OBJECT 'Pageframe1.Page1._grdrow3.cBloc.Text1' AS textbox WITH ; + BackColor = 255,255,255, ; + BorderStyle = 0, ; + FontSize = 8, ; + ForeColor = 0,0,0, ; + Margin = 0, ; + Name = "Text1", ; + ReadOnly = .T. + *< END OBJECT: BaseClass="textbox" /> + + ADD OBJECT 'Pageframe1.Page1._grdrow3.cEmail.Header1' AS header WITH ; + Alignment = 2, ; + Caption = "E-mail", ; + FontSize = 8, ; + Name = "Header1" + *< END OBJECT: BaseClass="header" /> + + ADD OBJECT 'Pageframe1.Page1._grdrow3.cEmail.Text1' AS textbox WITH ; + BackColor = 255,255,255, ; + BorderStyle = 0, ; + FontSize = 8, ; + ForeColor = 0,0,0, ; + Margin = 0, ; + Name = "Text1" + *< END OBJECT: BaseClass="textbox" /> + + ADD OBJECT 'Pageframe1.Page1._grdrow3.cEtaj.Header1' AS header WITH ; + Alignment = 2, ; + Caption = "Etaj", ; + FontSize = 8, ; + Name = "Header1" + *< END OBJECT: BaseClass="header" /> + + ADD OBJECT 'Pageframe1.Page1._grdrow3.cEtaj.Text1' AS textbox WITH ; + BackColor = 255,255,255, ; + BorderStyle = 0, ; + FontSize = 8, ; + ForeColor = 0,0,0, ; + Margin = 0, ; + Name = "Text1" + *< END OBJECT: BaseClass="textbox" /> + + ADD OBJECT 'Pageframe1.Page1._grdrow3.cFax.Header1' AS header WITH ; + Alignment = 2, ; + Caption = "Fax", ; + FontSize = 8, ; + Name = "Header1" + *< END OBJECT: BaseClass="header" /> + + ADD OBJECT 'Pageframe1.Page1._grdrow3.cFax.Text1' AS textbox WITH ; + BackColor = 255,255,255, ; + BorderStyle = 0, ; + FontSize = 8, ; + ForeColor = 0,0,0, ; + Margin = 0, ; + Name = "Text1" + *< END OBJECT: BaseClass="textbox" /> + + ADD OBJECT 'Pageframe1.Page1._grdrow3.cInactiv.Check1' AS checkbox WITH ; + Alignment = 0, ; + Caption = "", ; + Centered = .T., ; + FontSize = 8, ; + Height = 17, ; + Left = 30, ; + Name = "Check1", ; + Top = 42, ; + Width = 60 + *< END OBJECT: BaseClass="checkbox" /> + + ADD OBJECT 'Pageframe1.Page1._grdrow3.cInactiv.Header1' AS header WITH ; + Alignment = 2, ; + Caption = "Inactiv", ; + FontSize = 8, ; + Name = "Header1" + *< END OBJECT: BaseClass="header" /> + + ADD OBJECT 'Pageframe1.Page1._grdrow3.cJudet.Header1' AS header WITH ; + Alignment = 2, ; + Caption = "Judetul", ; + FontSize = 8, ; + Name = "Header1" + *< END OBJECT: BaseClass="header" /> + + ADD OBJECT 'Pageframe1.Page1._grdrow3.cJudet.Text1' AS textbox WITH ; + BackColor = 255,255,255, ; + BorderStyle = 0, ; + FontSize = 8, ; + ForeColor = 0,0,0, ; + Margin = 0, ; + Name = "Text1" + *< END OBJECT: BaseClass="textbox" /> + + ADD OBJECT 'Pageframe1.Page1._grdrow3.cLocalitate.Header1' AS header WITH ; + Alignment = 2, ; + Caption = "Localitate", ; + FontSize = 8, ; + Name = "Header1" + *< END OBJECT: BaseClass="header" /> + + ADD OBJECT 'Pageframe1.Page1._grdrow3.cLocalitate.Text1' AS textbox WITH ; + BackColor = 255,255,255, ; + BorderStyle = 0, ; + FontSize = 8, ; + ForeColor = 0,0,0, ; + Margin = 0, ; + Name = "Text1", ; + ReadOnly = .T. + *< END OBJECT: BaseClass="textbox" /> + + ADD OBJECT 'Pageframe1.Page1._grdrow3.cNumar.Header1' AS header WITH ; + Alignment = 2, ; + Caption = "Numar", ; + FontSize = 8, ; + Name = "Header1" + *< END OBJECT: BaseClass="header" /> + + ADD OBJECT 'Pageframe1.Page1._grdrow3.cNumar.Text1' AS textbox WITH ; + BackColor = 255,255,255, ; + BorderStyle = 0, ; + FontSize = 8, ; + ForeColor = 0,0,0, ; + Margin = 0, ; + Name = "Text1" + *< END OBJECT: BaseClass="textbox" /> + + ADD OBJECT 'Pageframe1.Page1._grdrow3.Column10.Header1' AS header WITH ; + Alignment = 2, ; + Caption = "Zona", ; + FontSize = 8, ; + Name = "Header1" + *< END OBJECT: BaseClass="header" /> + + ADD OBJECT 'Pageframe1.Page1._grdrow3.Column10.Text1' AS textbox WITH ; + BackColor = 255,255,255, ; + BorderStyle = 0, ; + FontSize = 8, ; + ForeColor = 0,0,0, ; + Margin = 0, ; + Name = "Text1", ; + ReadOnly = .T. + *< END OBJECT: BaseClass="textbox" /> + + ADD OBJECT 'Pageframe1.Page1._grdrow3.Column17.Header1' AS header WITH ; + Alignment = 2, ; + Caption = "Denumire", ; + FontSize = 8, ; + Name = "Header1" + *< END OBJECT: BaseClass="header" /> + + ADD OBJECT 'Pageframe1.Page1._grdrow3.Column17.Text1' AS textbox WITH ; + BackColor = 255,255,255, ; + BorderStyle = 0, ; + FontSize = 8, ; + ForeColor = 0,0,0, ; + Margin = 0, ; + Name = "Text1" + *< END OBJECT: BaseClass="textbox" /> + + ADD OBJECT 'Pageframe1.Page1._grdrow3.cPrincipala.Check1' AS checkbox WITH ; + Alignment = 0, ; + Caption = "", ; + Centered = .T., ; + FontSize = 8, ; + Height = 17, ; + Left = 26, ; + Name = "Check1", ; + Top = 42, ; + Width = 60 + *< END OBJECT: BaseClass="checkbox" /> + + ADD OBJECT 'Pageframe1.Page1._grdrow3.cPrincipala.Header1' AS header WITH ; + Alignment = 2, ; + Caption = "Principala", ; + FontSize = 8, ; + Name = "Header1" + *< END OBJECT: BaseClass="header" /> + + ADD OBJECT 'Pageframe1.Page1._grdrow3.cScara.Header1' AS header WITH ; + Alignment = 2, ; + Caption = "Scara", ; + FontSize = 8, ; + Name = "Header1" + *< END OBJECT: BaseClass="header" /> + + ADD OBJECT 'Pageframe1.Page1._grdrow3.cScara.Text1' AS textbox WITH ; + BackColor = 255,255,255, ; + BorderStyle = 0, ; + FontSize = 8, ; + ForeColor = 0,0,0, ; + Margin = 0, ; + Name = "Text1", ; + ReadOnly = .T. + *< END OBJECT: BaseClass="textbox" /> + + ADD OBJECT 'Pageframe1.Page1._grdrow3.cStrada.Header1' AS header WITH ; + Alignment = 2, ; + Caption = "Strada", ; + FontSize = 8, ; + Name = "Header1" + *< END OBJECT: BaseClass="header" /> + + ADD OBJECT 'Pageframe1.Page1._grdrow3.cStrada.Text1' AS textbox WITH ; + BackColor = 255,255,255, ; + BorderStyle = 0, ; + FontSize = 8, ; + ForeColor = 0,0,0, ; + Margin = 0, ; + Name = "Text1", ; + ReadOnly = .T. + *< END OBJECT: BaseClass="textbox" /> + + ADD OBJECT 'Pageframe1.Page1._grdrow3.cTelefon1.Header1' AS header WITH ; + Alignment = 2, ; + Caption = "Telefon 1", ; + FontSize = 8, ; + Name = "Header1" + *< END OBJECT: BaseClass="header" /> + + ADD OBJECT 'Pageframe1.Page1._grdrow3.cTelefon1.Text1' AS textbox WITH ; + BackColor = 255,255,255, ; + BorderStyle = 0, ; + FontSize = 8, ; + ForeColor = 0,0,0, ; + Margin = 0, ; + Name = "Text1", ; + ReadOnly = .T. + *< END OBJECT: BaseClass="textbox" /> + + ADD OBJECT 'Pageframe1.Page1._grdrow3.cTelefon2.Header1' AS header WITH ; + Alignment = 2, ; + Caption = "Telefon 2", ; + FontSize = 8, ; + Name = "Header1" + *< END OBJECT: BaseClass="header" /> + + ADD OBJECT 'Pageframe1.Page1._grdrow3.cTelefon2.Text1' AS textbox WITH ; + BackColor = 255,255,255, ; + BorderStyle = 0, ; + FontSize = 8, ; + ForeColor = 0,0,0, ; + Margin = 0, ; + Name = "Text1" + *< END OBJECT: BaseClass="textbox" /> + + ADD OBJECT 'Pageframe1.Page1._grdrow3.cWeb.Header1' AS header WITH ; + Alignment = 2, ; + Caption = "Web", ; + FontSize = 8, ; + Name = "Header1" + *< END OBJECT: BaseClass="header" /> + + ADD OBJECT 'Pageframe1.Page1._grdrow3.cWeb.Text1' AS textbox WITH ; + BackColor = 255,255,255, ; + BorderStyle = 0, ; + FontSize = 8, ; + ForeColor = 0,0,0, ; + Margin = 0, ; + Name = "Text1" + *< END OBJECT: BaseClass="textbox" /> + + ADD OBJECT 'Pageframe1.Page1.But_modifica2' AS but_modifica WITH ; + Anchor = 12, ; + caction = inainte_de_do_modifica2, ; + Comment = "*:OnResize=RT", ; + Left = 655, ; + Name = "But_modifica2", ; + TabIndex = 12, ; + Tag = "L", ; + Top = 34, ; + Visible = .T., ; + ZOrderSet = 26 + *< END OBJECT: ClassLib="cmd_butoane.vcx" BaseClass="commandbutton" /> + + ADD OBJECT 'Pageframe1.Page1.But_nou2' AS but_nou WITH ; + Anchor = 12, ; + caction = do_adauga2, ; + Comment = "*:OnResize=RT", ; + Left = 655, ; + Name = "But_nou2", ; + TabIndex = 10, ; + Tag = "L", ; + Top = 9, ; + ZOrderSet = 25 + *< END OBJECT: ClassLib="cmd_butoane.vcx" BaseClass="commandbutton" /> + + ADD OBJECT 'Pageframe1.Page1.But_sterge2' AS but_sterge WITH ; + Anchor = 12, ; + caction = inainte_de_do_sterge2, ; + Comment = "*:OnResize=RT", ; + Left = 655, ; + Name = "But_sterge2", ; + TabIndex = 13, ; + Tag = "L", ; + Top = 61, ; + Visible = .T., ; + ZOrderSet = 27 + *< END OBJECT: ClassLib="cmd_butoane.vcx" BaseClass="commandbutton" /> + + ADD OBJECT 'Pageframe1.Page2._grdrow3' AS _grdrow WITH ; + Anchor = 14, ; + ColumnCount = 1, ; + Comment = "", ; + DeleteMark = .F., ; + FontSize = 8, ; + GridLineColor = 192,192,192, ; + Height = 121, ; + HighlightStyle = 1, ; + Left = 7, ; + Name = "_grdrow3", ; + nrgbrow = 0, ; + Panel = 1, ; + ReadOnly = .T., ; + RecordMark = .T., ; + RecordSource = "crsCoduri", ; + RowHeight = 17, ; + TabIndex = 15, ; + Tag = "", ; + Top = 7, ; + Width = 636, ; + ZOrderSet = 22, ; + Column1.ColumnOrder = 1, ; + Column1.ControlSource = "cod", ; + Column1.FontSize = 8, ; + Column1.Name = "Column17", ; + Column1.ReadOnly = .T., ; + Column1.Width = 350 + *< END OBJECT: ClassLib="_grd_base.vcx" BaseClass="grid" /> + + ADD OBJECT 'Pageframe1.Page2._grdrow3.Column17.Header1' AS header WITH ; + Alignment = 2, ; + Caption = "Cod", ; + FontSize = 8, ; + Name = "Header1" + *< END OBJECT: BaseClass="header" /> + + ADD OBJECT 'Pageframe1.Page2._grdrow3.Column17.Text1' AS textbox WITH ; + BackColor = 255,255,255, ; + BorderStyle = 0, ; + FontName = "Arial Narrow", ; + FontSize = 8, ; + ForeColor = 0,0,0, ; + Margin = 0, ; + Name = "Text1", ; + ReadOnly = .T. + *< END OBJECT: BaseClass="textbox" /> + + ADD OBJECT 'Pageframe1.Page2.But_modifica2' AS but_modifica WITH ; + Anchor = 12, ; + caction = inainte_de_do_modifica3, ; + Comment = "*:OnResize=RT", ; + Left = 655, ; + Name = "But_modifica2", ; + TabIndex = 12, ; + Tag = "L", ; + Top = 34, ; + Visible = .T., ; + ZOrderSet = 26 + *< END OBJECT: ClassLib="cmd_butoane.vcx" BaseClass="commandbutton" /> + + ADD OBJECT 'Pageframe1.Page2.But_nou2' AS but_nou WITH ; + Anchor = 12, ; + caction = do_adauga3, ; + Comment = "*:OnResize=RT", ; + Left = 655, ; + Name = "But_nou2", ; + TabIndex = 10, ; + Tag = "L", ; + Top = 9, ; + ZOrderSet = 25 + *< END OBJECT: ClassLib="cmd_butoane.vcx" BaseClass="commandbutton" /> + + ADD OBJECT 'Pageframe1.Page2.But_sterge2' AS but_sterge WITH ; + Anchor = 12, ; + caction = inainte_de_do_sterge3, ; + Comment = "*:OnResize=RT", ; + Left = 655, ; + Name = "But_sterge2", ; + TabIndex = 13, ; + Tag = "L", ; + Top = 61, ; + Visible = .T., ; + ZOrderSet = 27 + *< END OBJECT: ClassLib="cmd_butoane.vcx" BaseClass="commandbutton" /> + + PROCEDURE Activate + *!* + ENDPROC + + PROCEDURE actualizeaza_grid1 + LPARAMETERS pcFiltru + + && Parteneri + LOCAL lcFiltru + lcFiltru = pcFiltru + IF EMPTY(lcFiltru) + lcFiltru = poparteneri.ca_baza1.cfiltru + ENDIF + This._grdrow1.salveaza_grid() + poparteneri.ca_baza1.cfiltru = lcfiltru + poparteneri.ca_baza1.afisare() + This._grdrow1.incarca_grid() + Select CRSPARTENERI + IF (RECCOUNT()=0) + aMESSAGEBOX("Nu exista rezultate!",0+64,"Info cautare") + ENDIF + + + + ENDPROC + + PROCEDURE actualizeaza_grid2 + LPARAMETERS pcFiltru + LOCAL lcFiltru + lcFiltru = pcFiltru + IF EMPTY(lcFiltru) + lcFiltru = poAdrese.ca_baza1.cfiltru + ENDIF + this.pageframe1.page1._grdrow3.salveaza_grid() + poAdrese.ca_baza1.cfiltru = lcfiltru + poAdrese.ca_baza1.afisare() + this.pageframe1.page1._grdrow3.incarca_grid() + + ENDPROC + + PROCEDURE actualizeaza_grid3 + LPARAMETERS pcFiltru + LOCAL lcFiltru + lcFiltru = pcFiltru + IF EMPTY(lcFiltru) + lcFiltru = poCoduri.ca_baza1.cfiltru + ENDIF + this.pageframe1.page2._grdrow3.salveaza_grid() + poCoduri.ca_baza1.cfiltru = lcfiltru + poCoduri.ca_baza1.afisare() + this.pageframe1.page2._grdrow3.incarca_grid() + + ENDPROC + + PROCEDURE actualizeaza_grid_part + LPARAMETERS nColIndex + If Thisform._grdrow1.RowColChange<>2 + Select crsparteneri + lnIdPart = id_part + This._grdrow2.salveaza_grid() + lcSql = [select a.id_part, b.denumire from ] + gcS + [.coresp_delegati_part a ] + ; + [left join ] + gcS + [.nom_parteneri b on a.id_part = b.id_part ] + ; + [where a.id_delegat = ] + Alltrim(Str(lnIdPart)) + [ and a.sters = 0 and ] + ; + [b.sters = 0 and b.inactiv = 0 order by b.denumire] + goExecutor.oExecuta(lcSql,[crscoresppart]) + This._grdrow2.incarca_grid() + Endif + ENDPROC + + PROCEDURE Destroy + If Used('crscoresppart') + Use In crscoresppart + Endif + ENDPROC + + PROCEDURE do_adauga + Do nom_parteneri_nou With Thisform.nid_tip_part,Thisform.lb_titlu_alb_b121.Caption,1,Thisform.ntip_persoana_default + If gnButon = 1 + Thisform.actualizeaza_grid1() + Endif + + ENDPROC + + PROCEDURE do_adauga2 + Local loRec, lnIdPart + lnIdPart = crsparteneri.id_part + If Isnull(lnIdPart) Or Empty(lnIdPart) + Return + Endif + loRec = adrese_parteneri_nou(lnIdPart) && onomenclatoare.prg + If !Isnull(loRec) + Thisform.actualizeaza_grid2() + Endif + + ENDPROC + + PROCEDURE do_adauga3 + Local loRec, lnIdPart + + lnIdPart = crsparteneri.id_part + If Isnull(lnIdPart) Or Empty(lnIdPart) + Return + Endif + + loRec = coduri_parteneri_nou(lnIdPart) && onomenclatoare.prg + + If !Isnull(loRec) + Thisform.actualizeaza_grid3() + Endif + + ENDPROC + + PROCEDURE do_cauta + Private lcfiltru,lcval1 + lcfiltru = '' + + If Thisform.Ck_filtru_denumire.Value = 1 + lcfiltru = lcfiltru + Thisform.Ck_filtru_denumire.filtru + Endif + + If Thisform.Ck_filtru_nume.Value = 1 + lcfiltru = lcfiltru + Thisform.Ck_filtru_nume.filtru + Endif + + If Thisform.Ck_filtru_prenume.Value = 1 + lcfiltru = lcfiltru + Thisform.Ck_filtru_prenume.filtru + Endif + + If Thisform.Ck_cod_fiscal.Value = 1 + lcfiltru = lcfiltru + Thisform.Ck_cod_fiscal.filtru + Endif + + If Thisform.Ck_reg_comert.Value = 1 + lcfiltru = lcfiltru + Thisform.Ck_reg_comert.filtru + Endif + + If Thisform.ck_filtru_categorie.Value = 1 + lcFiltru = lcFiltru + Thisform.ck_filtru_categorie.filtru + Endif + + lcfiltru = lcfiltru + [ and ctp.id_tip_part = ] + Alltrim(Str(Thisform.nid_tip_part)) + + If !Empty(lcfiltru) + lcfiltru = Substr(lcfiltru,5) + Else + lcfiltru = [1=1] + Endif + + Thisform.actualizeaza_grid1(lcfiltru) + thisform._grdrow1.SetFocus() + + ENDPROC + + PROCEDURE do_copiaza + Local lnButon, loPartener + Select crsparteneri + Scatter Name loPartener + lnButon = nom_parteneri_copiaza(m.loPartener,Thisform.nid_tip_part,Thisform.ntip_persoana_default,1,Thisform.lb_titlu_alb_b121.Caption) && onom_parteneri.prg + If m.lnButon = 1 + Thisform.actualizeaza_grid1() + Endif + ENDPROC + + PROCEDURE do_reset + This.ck_filtru_denumire.Value = 0 + This.ck_filtru_nume.Value = 0 + This.ck_filtru_prenume.Value = 0 + This.Ck_cod_fiscal.Value = 0 + This.ck_filtru_categorie.Value = 0 + This.Ck_reg_comert.Value = 0 + This.ck_filtru_denumire.SetFocus() + + ENDPROC + + PROCEDURE do_verifica + #Define CRLF Chr(13) + Chr(10) + Local lcFile, lcRun, lcSelect, llPlatitorTVA, lcCoduriEronate + Local X, llVerificarePlatitorTVA, lcWhere, lcCodFiscal, llAtributFiscalRO + Local lcXml, loPartener, lcEroare, lcKey + Local lcFilter, lcTipInterogare, llMFIN, llValidare, lcNume + lcNume = ALLTRIM(crsparteneri.denumire) + + lcSelect = Select() + X = XMENU(m.lcNume + ' - Validitate CNP/CIF, platitor TVA VIES, informatii Ministerul de Finante;\-;' + ; + 'TOTI - Validitate CNP/CIF;TOTI - Informatii Ministerul de Finante;TOTI - Platitor TVA Registrul Operatorilor Intracomunitari VIES') + + IF !BETWEEN(x,1,5) + RETURN + ENDIF + llVerificarePlatitorTVA = INLIST(x, 1, 5) + llMFIN = INLIST(x, 1, 4) + llValidare = .T. + + lcFilter = FILTER("crsparteneri") + lcWhere = IIF(x = 1, "recno() = " + ALLTRIM(STR(RECNO())), IIF(!EMPTY(m.lcFilter), m.lcFilter, ".T.")) + Select Distinct COD_FISCAL, denumire, IIF(LEFT(UPPER(COD_FISCAL), 2) = "RO", "RO", " ") AS ATRIBUT_FISCAL, .T. As IsCIF, .F. As codvalid ; + FROM crsparteneri ; + WHERE &lcWhere ; + INTO Cursor crsCoduriFiscale ; + ORDER By denumire, COD_FISCAL ; + READWRITE + + + LOCAL lcXMLParteneri + lcXMLParteneri = "" + CURSORTOXML('crsCoduriFiscale', "lcXMLParteneri",1,0,0,"1") + + DO verificare_parteneri WITH m.lcXMLParteneri, m.llValidare, m.llMFIN, m.llVerificarePlatitorTVA + ENDPROC + + PROCEDURE inainte_de_do_modifica + Local loRec, lnIdPart + + If Reccount('crsparteneri')>0 + Select crsparteneri + lnIdPart = id_part + Scatter Name loRec + + loRec = nom_parteneri_modifica(lnIdPart,Thisform.nid_tip_part,Thisform.lb_titlu_alb_b121.Caption,1) + + If !Isnull(loRec) + Thisform.MousePointer= 11 + Thisform.LockScreen=.T. + Thisform.actualizeaza_grid1() + Select crsparteneri + Locate For id_part = loRec.id_part + If !Found() + Go Top + Endif + Thisform._grdrow1.SetFocus() + Thisform.LockScreen=.F. + Thisform.MousePointer= 0 + Endif + Endif + + ENDPROC + + PROCEDURE inainte_de_do_modifica2 + LOCAL lnIdAdresa, loRec + + SELECT crsAdrese + IF RECCOUNT('crsAdrese')>0 + lnIdAdresa = id_adresa + loRec = adrese_parteneri_modifica(lnIdAdresa) && onomenclatoare.prg + IF !ISNULL(loRec) + THISFORM.actualizeaza_grid2() + SELECT crsAdrese + LOCATE FOR id_adresa = lnIdAdresa + IF !FOUND() + LOCATE + ENDIF + ENDIF + thisform.pageframe1.page1._grdrow3.SetFocus() + ENDIF + + ENDPROC + + PROCEDURE inainte_de_do_modifica3 + LOCAL lnIdAdresa, loRec + SELECT crsCoduri + IF RECCOUNT('crsCoduri')>0 + lnidcod = id + loRec = coduri_parteneri_modifica(lnidcod) && onomenclatoare.prg + IF !ISNULL(loRec) + THISFORM.actualizeaza_grid3() + SELECT crsCoduri + LOCATE FOR id = lnidcod + IF !FOUND() + LOCATE + ENDIF + ENDIF + thisform.pageframe1.page2._grdrow3.SetFocus() + ENDIF + + ENDPROC + + PROCEDURE inainte_de_do_sterge + LOCAL lnSucces + SELECT crsparteneri + SCATTER NAME loRec + llSucces = .F. + llSucces = sterge_inregistrare("parteneri",loRec.id_part) + IF llSucces + SELECT crsParteneri + THISFORM.actualizeaza_grid1() + ENDIF + + ENDPROC + + PROCEDURE inainte_de_do_sterge2 + If Reccount('crsAdrese')>0 + Local loRec + Select crsAdrese + Scatter Name loRec + Do STERGE_INREGISTRARE With "parteneri_adrese",loRec.id_adresa + This.actualizeaza_grid2() + Endif + + ENDPROC + + PROCEDURE inainte_de_do_sterge3 + If Reccount('crsCoduri')>0 + Local loRec + Select crsCoduri + Scatter Name loRec + Do STERGE_INREGISTRARE With "cod",loRec.id + This.actualizeaza_grid3() + Endif + + ENDPROC + + PROCEDURE Init + Lparameters tnIdTipPart, tcTitlu, tnTipPersoana + DoDefault() + Thisform.nid_tip_part=tnIdTipPart + Thisform.lb_titlu_alb_b121.Caption=tcTitlu + If Empty(tnTipPersoana) + Thisform.ntip_persoana_default = 1 + Else + Thisform.ntip_persoana_default = tnTipPersoana + Endif + + If Thisform.ntip_persoana_default = 2 && persoana fizica + Thisform._grdrow1.cCod_fiscal.header1.Caption= 'CNP' + Thisform._grdrow1.cReg_comert.header1.Caption= 'Act identitate' + *!* thisform._grdrow1.cDenumire.Width = 0 + *!* thisform._grdrow1.cPrefix.Width = 0 + *!* thisform._grdrow1.cSufix.Width = 0 + *!* thisform._grdrow1.cTip_persoana.Width = 0 + *!* thisform._grdrow1.cBanca.Width = 0 + *!* thisform._grdrow1.cCont_banca.Width = 0 + With Thisform._grdrow1 + .RemoveObject('cDenumire') + .RemoveObject('cPrefix') + .RemoveObject('cSufix') + .RemoveObject('cTip_persoana') + .RemoveObject('cBanca') + .RemoveObject('cCont_banca') + Endwith + Endif + + If !Inlist(tnIdTipPart,gnIdTipDelegati) + With Thisform._grdrow1 + lnAnchor = .Anchor + .Anchor = 0 + .Width = Thisform._grdrow2.Left + Thisform._grdrow2.Width + Thisform.RemoveObject('_grdrow2') + .Anchor = lnAnchor + Endwith + Thisform.Refresh() + Else + Bindevent(Thisform._grdrow1,'AfterRowColChange',Thisform,'actualizeaza_grid_part',1) + Endif + + If !Inlist(Upper(tcTitlu),[CLIENTI],[CLIENÞI],[FURNIZORI]) + Thisform.but_verifica1.Visible = .F. + Thisform.but_copiaza1.Visible = .F. + Endif + ENDPROC + + PROCEDURE Pageframe1.Page1._grdrow3.Init + this.SetAll("DynamicBackColor","iif(INACTIV = 1, RGB(200,200,200), RGB(255,255,255))","Column") + ENDPROC + + PROCEDURE _grdrow1.AfterRowColChange + Lparameters nColIndex + DoDefault() + If Inlist(This.RowColChange,0,1,3) + Select crsparteneri + lcFiltru2 = [ID_PART=]+Alltrim(Str(crsparteneri.id_part)) + Thisform.actualizeaza_grid2(lcFiltru2) + Thisform.actualizeaza_grid3(lcFiltru2) + Endif + ENDPROC + + PROCEDURE _grdrow1.cId.Text1.Click + + + + ENDPROC + + PROCEDURE _grdrow1.Init + this.SetAll("DynamicBackColor","iif(inactiv = 1, RGB(200,200,200), RGB(255,255,255))","Column") + ENDPROC + + PROCEDURE _grdrow2.cDenumire.Text1.Click + + + + ENDPROC + + PROCEDURE _shape1.DblClick + IF thisform.WindowState = 2 + thisform.WindowState = 0 + ELSE + thisform.WindowState = 2 + ENDIF + THISFORM.Refresh + THISFORM._grdrow1.SetFocus() + ENDPROC + +ENDDEFINE + +DEFINE CLASS frm_parteneri AS _frmbase OF "_frm_base.vcx" + *< CLASSDATA: Baseclass="form" Timestamp="" Scale="Pixels" Uniqueid="" /> + + *-- OBJECTDATA items order determines ZOrder / El orden de los items OBJECTDATA determina el ZOrder + *< OBJECTDATA: ObjPath="grdParteneri" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="grdParteneri.Column1.Header1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="grdParteneri.Column1.Text1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="grdParteneri.Column2.Header1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="grdParteneri.Column2.Text1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="grdParteneri.Column3.Header1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="grdParteneri.Column3.Text1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="grdParteneri.Column4.Header1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="grdParteneri.Column4.Text1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="grdParteneri.Column14.Header1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="grdParteneri.Column14.Check1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="grdParteneri.Column6.Header1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="grdParteneri.Column6.Text1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="grdParteneri.Column7.Header1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="grdParteneri.Column7.Text1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="grdParteneri.Column8.Header1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="grdParteneri.Column8.Text1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="grdParteneri.Column9.Header1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="grdParteneri.Column9.Text1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="grdParteneri.Column10.Header1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="grdParteneri.Column10.Text1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="grdParteneri.Column11.Header1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="grdParteneri.Column11.Text1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="grdParteneri.Column12.Header1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="grdParteneri.Column12.Text1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="grdParteneri.Column13.Header1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="grdParteneri.Column13.Text1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="grdParteneri.cCategorie_entitate.Header1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="grdParteneri.cCategorie_entitate.Text1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="grdParteneri.cUtilizator.Header1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="grdParteneri.cUtilizator.Text1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="grdParteneri.cDataora.Header1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="grdParteneri.cDataora.Text1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="grdParteneri.cAdresa.Header1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="grdParteneri.cAdresa.Text1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="grdParteneri.cTelefon.Header1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="grdParteneri.cTelefon.Text1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="grdParteneri.cEmail.Header1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="grdParteneri.cEmail.Text1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="grdParteneri.cCodFiscal2.Header1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="grdParteneri.cCodFiscal2.Text1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="grdParteneri.Column21.Header1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="grdParteneri.Column21.Text1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="grdParteneri.Column22.Header1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="grdParteneri.Column22.Text1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="grdParteneri.cInstitutiePublica.Header1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="grdParteneri.cInstitutiePublica.Text1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="grdParteneri.cInstitutiePublica._checkbox1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="_pageframe1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="_pageframe1.Page1.grdAdrese" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="_pageframe1.Page1.grdAdrese.cStrada.Header1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="_pageframe1.Page1.grdAdrese.cStrada.Text1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="_pageframe1.Page1.grdAdrese.cLocalitate.Header1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="_pageframe1.Page1.grdAdrese.cLocalitate.Text1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="_pageframe1.Page1.grdAdrese.cTelefon1.Header1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="_pageframe1.Page1.grdAdrese.cTelefon1.Text1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="_pageframe1.Page1.grdAdrese.Column10.Header1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="_pageframe1.Page1.grdAdrese.Column10.Text1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="_pageframe1.Page1.grdAdrese.cBloc.Header1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="_pageframe1.Page1.grdAdrese.cBloc.Text1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="_pageframe1.Page1.grdAdrese.cScara.Header1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="_pageframe1.Page1.grdAdrese.cScara.Text1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="_pageframe1.Page1.grdAdrese.cApart.Header1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="_pageframe1.Page1.grdAdrese.cApart.Text1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="_pageframe1.Page1.grdAdrese.cNumar.Header1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="_pageframe1.Page1.grdAdrese.cNumar.Text1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="_pageframe1.Page1.grdAdrese.cInactiv.Header1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="_pageframe1.Page1.grdAdrese.cInactiv.Check1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="_pageframe1.Page1.grdAdrese.cPrincipala.Header1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="_pageframe1.Page1.grdAdrese.cPrincipala.Check1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="_pageframe1.Page1.grdAdrese.cEtaj.Header1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="_pageframe1.Page1.grdAdrese.cEtaj.Text1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="_pageframe1.Page1.grdAdrese.cTelefon2.Header1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="_pageframe1.Page1.grdAdrese.cTelefon2.Text1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="_pageframe1.Page1.grdAdrese.cFax.Header1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="_pageframe1.Page1.grdAdrese.cFax.Text1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="_pageframe1.Page1.grdAdrese.cEmail.Header1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="_pageframe1.Page1.grdAdrese.cEmail.Text1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="_pageframe1.Page1.grdAdrese.cWeb.Header1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="_pageframe1.Page1.grdAdrese.cWeb.Text1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="_pageframe1.Page1.grdAdrese.cJudet.Header1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="_pageframe1.Page1.grdAdrese.cJudet.Text1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="_pageframe1.Page1.grdAdrese.Column17.Header1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="_pageframe1.Page1.grdAdrese.Column17.Text1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="_pageframe1.Page1.grdAdrese.cDA_apare.Header1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="_pageframe1.Page1.grdAdrese.cDA_apare._checkbox1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="_pageframe1.Page1.But_nou2" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="_pageframe1.Page1.But_modifica2" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="_pageframe1.Page1.But_sterge2" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="_pageframe1.Page1.Gridextra1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="_pageframe1.Page2.grdPersoane" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="_pageframe1.Page2.grdPersoane.Column17.Header1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="_pageframe1.Page2.grdPersoane.Column17.Text1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="_pageframe1.Page2.grdPersoane.Column2.Header1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="_pageframe1.Page2.grdPersoane.Column2.Text1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="_pageframe1.Page2.grdPersoane.Column3.Header1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="_pageframe1.Page2.grdPersoane.Column3.Text1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="_pageframe1.Page2.grdPersoane.Column4.Header1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="_pageframe1.Page2.grdPersoane.Column4.Text1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="_pageframe1.Page2.grdPersoane.Column5.Header1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="_pageframe1.Page2.grdPersoane.Column5.Text1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="_pageframe1.Page2.grdPersoane.Column6.Header1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="_pageframe1.Page2.grdPersoane.Column6.Text1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="_pageframe1.Page2.grdPersoane.Column7.Header1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="_pageframe1.Page2.grdPersoane.Column7.Check1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="_pageframe1.Page2.grdPersoane.Column8.Header1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="_pageframe1.Page2.grdPersoane.Column8.Check1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="_pageframe1.Page2.But_nou3" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="_pageframe1.Page2.But_modifica3" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="_pageframe1.Page2.But_sterge3" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="_pageframe1.Page2.Gridextra1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="_pageframe1.Page3.grd_contracte" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="_pageframe1.Page3.grd_contracte.cData.Header1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="_pageframe1.Page3.grd_contracte.cData.Text1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="_pageframe1.Page3.grd_contracte.cNumar.Header1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="_pageframe1.Page3.grd_contracte.cNumar.Text1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="_pageframe1.Page3.grd_contracte.cDenumire_tip.Header1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="_pageframe1.Page3.grd_contracte.cDenumire_tip.Text1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="_pageframe1.Page3.grd_contracte.cInactiv.Header1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="_pageframe1.Page3.grd_contracte.cInactiv.Check1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="_pageframe1.Page3.grd_contracte.cScadentaIncasare.Header1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="_pageframe1.Page3.grd_contracte.cScadentaIncasare.Text1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="_pageframe1.Page3.grd_contracte.cDataInceput.Header1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="_pageframe1.Page3.grd_contracte.cDataInceput.Text1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="_pageframe1.Page3.grd_contracte.cDataSfarsit.Header1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="_pageframe1.Page3.grd_contracte.cDataSfarsit.Text1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="_pageframe1.Page3.grd_contracte.cCoefPenalitati.Header1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="_pageframe1.Page3.grd_contracte.cCoefPenalitati.Text1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="_pageframe1.Page3.grd_contracte.cZilePenalitati.Header1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="_pageframe1.Page3.grd_contracte.cZilePenalitati.Text1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="_pageframe1.Page3.grd_contracte.cCoefPenalitati2.Header1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="_pageframe1.Page3.grd_contracte.cCoefPenalitati2.Text1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="_pageframe1.Page3.grd_contracte.cZilePenalitati2.Header1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="_pageframe1.Page3.grd_contracte.cZilePenalitati2.Text1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="_pageframe1.Page3.grd_contracte.cZileGratiePenalitati.Header1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="_pageframe1.Page3.grd_contracte.cZileGratiePenalitati.Text1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="_pageframe1.Page3.grd_contracte.cDescriere.Header1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="_pageframe1.Page3.grd_contracte.cDescriere.Text1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="_pageframe1.Page3.grd_contracte.cTipCursExplicatie.Header1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="_pageframe1.Page3.grd_contracte.cTipCursExplicatie.Text1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="_pageframe1.Page3.But_nou2" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="_pageframe1.Page3.But_modifica2" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="_pageframe1.Page3.But_sterge2" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="_pageframe1.Page3.Gridextra1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="_pageframe1.Page4.grdCoduri" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="_pageframe1.Page4.grdCoduri.Column17.Header1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="_pageframe1.Page4.grdCoduri.Column17.Text1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="_pageframe1.Page4.grdCoduri.Column2.Header1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="_pageframe1.Page4.grdCoduri.Column2.Text1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="_pageframe1.Page4.grdCoduri.Column3.Header1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="_pageframe1.Page4.grdCoduri.Column3.Text1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="_pageframe1.Page4.Gridextra1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="But_nou1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="But_modifica1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="But_sterge1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="grdTipParteneri" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="grdTipParteneri.Column1.Header1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="grdTipParteneri.Column1.Text1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="Cmd_cauta1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="Cmd_reset1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="Lb_simplu3" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="Ck_filtru_denumire" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="Ck_filtru_nume" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="Ck_filtru_categorie" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="ck_tip_entitate" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="Cmd_executa1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="Ck_cod_fiscal" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="Ck_filtru_prenume" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="Ck_reg_comert" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="But_excel1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="But_copiaza1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="But_verifica1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="Gridextra1" UniqueID="" Timestamp="" /> + + * + *m: actualizeaza_contracte + *m: actualizeaza_grid3 + *m: actualizeaza_grid4 + *m: do_adauga2 + *m: do_adauga3 + *m: do_adauga_contract + *m: inainte_de_do_modifica2 + *m: inainte_de_do_modifica3 + *m: inainte_de_do_modifica_contract + *m: inainte_de_do_sterge2 + *m: inainte_de_do_sterge3 + *m: inainte_de_do_sterge_contract + *m: modifica_cont + *m: refreshtabele + *m: sterge_cont + *p: cul_activ + *p: id_tip_part + *p: mesaj + *p: ntip_persoana_default && Tip persoana: 1=PJ, 2=PF + *p: special + *p: temporar_id_tip_part + *p: temporar_tip_partener + * + + * + Caption = "Form" + cgridsortlist = grdParteneri + DoCreate = .T. + Height = 593 + id_tip_part = 0 + mesaj = + Name = "frm_parteneri" + ntip_persoana_default = 1 + special = 0 + temporar_id_tip_part = 0 + temporar_tip_partener = + Width = 696 + WindowState = 0 + WindowType = 1 + _memberdata = + + + _shape1.Anchor = 10 + _shape1.Comment = "*:OnResize=sR" + _shape1.Height = 30 + _shape1.Left = 0 + _shape1.Name = "_shape1" + _shape1.Tag = "W" + _shape1.Top = 0 + _shape1.Width = 698 + _shape1.ZOrderSet = 2 + _shape2.Anchor = 8 + _shape2.Comment = "*:OnResize=RT" + _shape2.Height = 29 + _shape2.Left = 665 + _shape2.Name = "_shape2" + _shape2.Tag = "L" + _shape2.Top = 1 + _shape2.Width = 32 + _shape2.ZOrderSet = 3 + Lb_titlu_alb_b121.Caption = "Parteneri" + Lb_titlu_alb_b121.Name = "Lb_titlu_alb_b121" + Lb_titlu_alb_b121.TabIndex = 15 + Lb_titlu_alb_b121.Tag = "" + Lb_titlu_alb_b121.ZOrderSet = 4 + BUT_TERMIN1.Anchor = 8 + BUT_TERMIN1.Comment = "*:OnResize=RT" + BUT_TERMIN1.Height = 27 + BUT_TERMIN1.Left = 666 + BUT_TERMIN1.Name = "BUT_TERMIN1" + BUT_TERMIN1.TabIndex = 14 + BUT_TERMIN1.Tag = "L" + BUT_TERMIN1.Top = 2 + BUT_TERMIN1.Width = 30 + BUT_TERMIN1.ZOrderSet = 5 + Gridsort1.Left = 408 + Gridsort1.Name = "Gridsort1" + Gridsort1.Top = 8 + * + + ADD OBJECT '_pageframe1' AS _pageframe WITH ; + Anchor = 14, ; + ErasePage = .T., ; + Height = 220, ; + Left = 4, ; + Name = "_pageframe1", ; + PageCount = 4, ; + TabIndex = 16, ; + TabStyle = 1, ; + Top = 372, ; + Width = 702, ; + ZOrderSet = 1, ; + Page1.BackColor = 255,255,255, ; + Page1.Caption = "Adrese", ; + Page1.Name = "Page1", ; + Page1.PageOrder = 1, ; + Page2.BackColor = 255,255,255, ; + Page2.Caption = "Persoane de contact", ; + Page2.Name = "Page2", ; + Page2.PageOrder = 3, ; + Page3.BackColor = 255,255,255, ; + Page3.Caption = "Contracte", ; + Page3.FontSize = 10, ; + Page3.Name = "Page3", ; + Page3.PageOrder = 2, ; + Page4.Caption = "Coduri", ; + Page4.FontSize = 10, ; + Page4.Name = "Page4", ; + Page4.PageOrder = 4 + *< END OBJECT: ClassLib="_baza.vcx" BaseClass="pageframe" /> + + ADD OBJECT '_pageframe1.Page1.But_modifica2' AS but_modifica WITH ; + Anchor = 12, ; + caction = inainte_de_do_modifica2, ; + Comment = "*:OnResize=RT", ; + Left = 659, ; + Name = "But_modifica2", ; + TabIndex = 11, ; + Tag = "L", ; + Top = 28, ; + Visible = .T., ; + ZOrderSet = 26 + *< END OBJECT: ClassLib="cmd_butoane.vcx" BaseClass="commandbutton" /> + + ADD OBJECT '_pageframe1.Page1.But_nou2' AS but_nou WITH ; + Anchor = 12, ; + caction = do_adauga2, ; + Comment = "*:OnResize=RT", ; + Left = 659, ; + Name = "But_nou2", ; + TabIndex = 10, ; + Tag = "L", ; + Top = 2, ; + ZOrderSet = 25 + *< END OBJECT: ClassLib="cmd_butoane.vcx" BaseClass="commandbutton" /> + + ADD OBJECT '_pageframe1.Page1.But_sterge2' AS but_sterge WITH ; + Anchor = 12, ; + caction = inainte_de_do_sterge2, ; + Comment = "*:OnResize=RT", ; + Left = 659, ; + Name = "But_sterge2", ; + TabIndex = 12, ; + Tag = "L", ; + Top = 54, ; + Visible = .T., ; + ZOrderSet = 27 + *< END OBJECT: ClassLib="cmd_butoane.vcx" BaseClass="commandbutton" /> + + ADD OBJECT '_pageframe1.Page1.grdAdrese' AS _grdrow WITH ; + Anchor = 14, ; + ColumnCount = 18, ; + Comment = "*:OnResize=SS", ; + DeleteMark = .F., ; + GridLineColor = 192,192,192, ; + Height = 180, ; + HighlightStyle = 1, ; + Left = 5, ; + Name = "grdAdrese", ; + nrgbrow = 0, ; + Panel = 1, ; + ReadOnly = .T., ; + RecordMark = .T., ; + RecordSource = "crsAdrese", ; + RowHeight = 19, ; + TabIndex = 13, ; + Tag = "HW", ; + Top = 3, ; + Width = 650, ; + ZOrderSet = 22, ; + Column1.ColumnOrder = 3, ; + Column1.ControlSource = "strada", ; + Column1.FontName = "Arial", ; + Column1.FontSize = 10, ; + Column1.Name = "cStrada", ; + Column1.ReadOnly = .T., ; + Column1.Width = 210, ; + Column2.ColumnOrder = 9, ; + Column2.ControlSource = "localitate", ; + Column2.FontName = "Arial", ; + Column2.FontSize = 10, ; + Column2.Name = "cLocalitate", ; + Column2.ReadOnly = .T., ; + Column3.ColumnOrder = 11, ; + Column3.ControlSource = "telefon1", ; + Column3.FontName = "Arial", ; + Column3.FontSize = 10, ; + Column3.Name = "cTelefon1", ; + Column3.ReadOnly = .T., ; + Column4.ColumnOrder = 18, ; + Column4.ControlSource = "id_regiune", ; + Column4.FontName = "Arial", ; + Column4.FontSize = 10, ; + Column4.Name = "Column10", ; + Column4.ReadOnly = .T., ; + Column5.ColumnOrder = 5, ; + Column5.ControlSource = "bloc", ; + Column5.FontName = "Arial", ; + Column5.FontSize = 10, ; + Column5.Name = "cBloc", ; + Column5.ReadOnly = .T., ; + Column5.Width = 28, ; + Column6.ColumnOrder = 6, ; + Column6.ControlSource = "scara", ; + Column6.FontName = "Arial", ; + Column6.FontSize = 10, ; + Column6.Name = "cScara", ; + Column6.ReadOnly = .T., ; + Column6.Width = 36, ; + Column7.ColumnOrder = 7, ; + Column7.ControlSource = "apart", ; + Column7.FontName = "Arial", ; + Column7.FontSize = 10, ; + Column7.Name = "cApart", ; + Column7.ReadOnly = .T., ; + Column7.Width = 34, ; + Column8.ColumnOrder = 4, ; + Column8.ControlSource = "numar", ; + Column8.FontName = "Arial", ; + Column8.FontSize = 10, ; + Column8.Name = "cNumar", ; + Column8.ReadOnly = .T., ; + Column8.Width = 42, ; + Column9.Alignment = 2, ; + Column9.ColumnOrder = 16, ; + Column9.ControlSource = "inactiv", ; + Column9.FontName = "Arial", ; + Column9.FontSize = 10, ; + Column9.Name = "cInactiv", ; + Column9.ReadOnly = .T., ; + Column9.Sparse = .F., ; + Column9.Width = 39, ; + Column10.Alignment = 2, ; + Column10.ColumnOrder = 17, ; + Column10.ControlSource = "principala", ; + Column10.FontName = "Arial", ; + Column10.FontSize = 10, ; + Column10.Name = "cPrincipala", ; + Column10.ReadOnly = .T., ; + Column10.Sparse = .F., ; + Column10.Width = 59, ; + Column11.ColumnOrder = 8, ; + Column11.ControlSource = "etaj", ; + Column11.FontName = "Arial", ; + Column11.FontSize = 10, ; + Column11.Name = "cEtaj", ; + Column11.ReadOnly = .T., ; + Column11.Width = 36, ; + Column12.ColumnOrder = 12, ; + Column12.ControlSource = "telefon2", ; + Column12.FontName = "Arial", ; + Column12.FontSize = 10, ; + Column12.Name = "cTelefon2", ; + Column12.ReadOnly = .T., ; + Column13.ColumnOrder = 13, ; + Column13.ControlSource = "fax", ; + Column13.FontName = "Arial", ; + Column13.FontSize = 10, ; + Column13.Name = "cFax", ; + Column13.ReadOnly = .T., ; + Column14.ColumnOrder = 14, ; + Column14.ControlSource = "email", ; + Column14.FontName = "Arial", ; + Column14.FontSize = 10, ; + Column14.Name = "cEmail", ; + Column14.ReadOnly = .T., ; + Column15.ColumnOrder = 15, ; + Column15.ControlSource = "web", ; + Column15.FontName = "Arial", ; + Column15.FontSize = 10, ; + Column15.Name = "cWeb", ; + Column15.ReadOnly = .T., ; + Column16.ColumnOrder = 10, ; + Column16.ControlSource = "judet", ; + Column16.FontName = "Arial", ; + Column16.FontSize = 10, ; + Column16.Name = "cJudet", ; + Column16.ReadOnly = .T., ; + Column16.Width = 40, ; + Column17.ColumnOrder = 1, ; + Column17.ControlSource = "denumire_adresa", ; + Column17.FontName = "Arial", ; + Column17.FontSize = 10, ; + Column17.Name = "Column17", ; + Column17.ReadOnly = .T., ; + Column17.Width = 137, ; + Column18.ColumnOrder = 2, ; + Column18.ControlSource = "da_apare", ; + Column18.FontName = "Arial", ; + Column18.FontSize = 10, ; + Column18.Name = "cDA_apare", ; + Column18.ReadOnly = .T., ; + Column18.Sparse = .F., ; + Column18.Width = 76 + *< END OBJECT: ClassLib="_grd_base.vcx" BaseClass="grid" /> + + ADD OBJECT '_pageframe1.Page1.grdAdrese.cApart.Header1' AS header WITH ; + Alignment = 2, ; + Caption = "Apart.", ; + FontName = "Arial", ; + FontSize = 10, ; + Name = "Header1" + *< END OBJECT: BaseClass="header" /> + + ADD OBJECT '_pageframe1.Page1.grdAdrese.cApart.Text1' AS textbox WITH ; + BackColor = 255,255,255, ; + BorderStyle = 0, ; + FontName = "Arial", ; + FontSize = 10, ; + ForeColor = 0,0,0, ; + Margin = 0, ; + Name = "Text1", ; + ReadOnly = .T., ; + SelectedBackColor = 100,185,255 + *< END OBJECT: BaseClass="textbox" /> + + ADD OBJECT '_pageframe1.Page1.grdAdrese.cBloc.Header1' AS header WITH ; + Alignment = 2, ; + Caption = "Bloc", ; + FontName = "Arial", ; + FontSize = 10, ; + Name = "Header1" + *< END OBJECT: BaseClass="header" /> + + ADD OBJECT '_pageframe1.Page1.grdAdrese.cBloc.Text1' AS textbox WITH ; + BackColor = 255,255,255, ; + BorderStyle = 0, ; + FontName = "Arial", ; + FontSize = 10, ; + ForeColor = 0,0,0, ; + Margin = 0, ; + Name = "Text1", ; + ReadOnly = .T., ; + SelectedBackColor = 100,185,255 + *< END OBJECT: BaseClass="textbox" /> + + ADD OBJECT '_pageframe1.Page1.grdAdrese.cDA_apare._checkbox1' AS _checkbox WITH ; + Alignment = 2, ; + Caption = "", ; + Centered = .T., ; + FontName = "Arial", ; + FontSize = 10, ; + Left = 11, ; + Name = "_checkbox1", ; + Top = 24 + *< END OBJECT: ClassLib="_baza.vcx" BaseClass="checkbox" /> + + ADD OBJECT '_pageframe1.Page1.grdAdrese.cDA_apare.Header1' AS header WITH ; + Alignment = 2, ; + Caption = "Pe adresa", ; + FontName = "Arial", ; + FontSize = 10, ; + Name = "Header1" + *< END OBJECT: BaseClass="header" /> + + ADD OBJECT '_pageframe1.Page1.grdAdrese.cEmail.Header1' AS header WITH ; + Alignment = 2, ; + Caption = "E-mail", ; + FontName = "Arial", ; + FontSize = 10, ; + Name = "Header1" + *< END OBJECT: BaseClass="header" /> + + ADD OBJECT '_pageframe1.Page1.grdAdrese.cEmail.Text1' AS textbox WITH ; + BackColor = 255,255,255, ; + BorderStyle = 0, ; + FontName = "Arial", ; + FontSize = 10, ; + ForeColor = 0,0,0, ; + Margin = 0, ; + Name = "Text1", ; + SelectedBackColor = 100,185,255 + *< END OBJECT: BaseClass="textbox" /> + + ADD OBJECT '_pageframe1.Page1.grdAdrese.cEtaj.Header1' AS header WITH ; + Alignment = 2, ; + Caption = "Etaj", ; + FontName = "Arial", ; + FontSize = 10, ; + Name = "Header1" + *< END OBJECT: BaseClass="header" /> + + ADD OBJECT '_pageframe1.Page1.grdAdrese.cEtaj.Text1' AS textbox WITH ; + BackColor = 255,255,255, ; + BorderStyle = 0, ; + FontName = "Arial", ; + FontSize = 10, ; + ForeColor = 0,0,0, ; + Margin = 0, ; + Name = "Text1", ; + SelectedBackColor = 100,185,255 + *< END OBJECT: BaseClass="textbox" /> + + ADD OBJECT '_pageframe1.Page1.grdAdrese.cFax.Header1' AS header WITH ; + Alignment = 2, ; + Caption = "Fax", ; + FontName = "Arial", ; + FontSize = 10, ; + Name = "Header1" + *< END OBJECT: BaseClass="header" /> + + ADD OBJECT '_pageframe1.Page1.grdAdrese.cFax.Text1' AS textbox WITH ; + BackColor = 255,255,255, ; + BorderStyle = 0, ; + FontName = "Arial", ; + FontSize = 10, ; + ForeColor = 0,0,0, ; + Margin = 0, ; + Name = "Text1", ; + SelectedBackColor = 100,185,255 + *< END OBJECT: BaseClass="textbox" /> + + ADD OBJECT '_pageframe1.Page1.grdAdrese.cInactiv.Check1' AS checkbox WITH ; + Alignment = 0, ; + Caption = "", ; + Centered = .T., ; + FontName = "Arial", ; + FontSize = 10, ; + Height = 17, ; + Left = 30, ; + Name = "Check1", ; + Top = 42, ; + Width = 60 + *< END OBJECT: BaseClass="checkbox" /> + + ADD OBJECT '_pageframe1.Page1.grdAdrese.cInactiv.Header1' AS header WITH ; + Alignment = 2, ; + Caption = "Inactiv", ; + FontName = "Arial", ; + FontSize = 10, ; + Name = "Header1" + *< END OBJECT: BaseClass="header" /> + + ADD OBJECT '_pageframe1.Page1.grdAdrese.cJudet.Header1' AS header WITH ; + Alignment = 2, ; + Caption = "Judetul", ; + FontName = "Arial", ; + FontSize = 10, ; + Name = "Header1" + *< END OBJECT: BaseClass="header" /> + + ADD OBJECT '_pageframe1.Page1.grdAdrese.cJudet.Text1' AS textbox WITH ; + BackColor = 255,255,255, ; + BorderStyle = 0, ; + FontName = "Arial", ; + FontSize = 10, ; + ForeColor = 0,0,0, ; + Margin = 0, ; + Name = "Text1", ; + SelectedBackColor = 100,185,255 + *< END OBJECT: BaseClass="textbox" /> + + ADD OBJECT '_pageframe1.Page1.grdAdrese.cLocalitate.Header1' AS header WITH ; + Alignment = 2, ; + Caption = "Localitate", ; + FontName = "Arial", ; + FontSize = 10, ; + Name = "Header1" + *< END OBJECT: BaseClass="header" /> + + ADD OBJECT '_pageframe1.Page1.grdAdrese.cLocalitate.Text1' AS textbox WITH ; + BackColor = 255,255,255, ; + BorderStyle = 0, ; + FontName = "Arial", ; + FontSize = 10, ; + ForeColor = 0,0,0, ; + Margin = 0, ; + Name = "Text1", ; + ReadOnly = .T., ; + SelectedBackColor = 100,185,255 + *< END OBJECT: BaseClass="textbox" /> + + ADD OBJECT '_pageframe1.Page1.grdAdrese.cNumar.Header1' AS header WITH ; + Alignment = 2, ; + Caption = "Numar", ; + FontName = "Arial", ; + FontSize = 10, ; + Name = "Header1" + *< END OBJECT: BaseClass="header" /> + + ADD OBJECT '_pageframe1.Page1.grdAdrese.cNumar.Text1' AS textbox WITH ; + BackColor = 255,255,255, ; + BorderStyle = 0, ; + FontName = "Arial", ; + FontSize = 10, ; + ForeColor = 0,0,0, ; + Margin = 0, ; + Name = "Text1", ; + SelectedBackColor = 100,185,255 + *< END OBJECT: BaseClass="textbox" /> + + ADD OBJECT '_pageframe1.Page1.grdAdrese.Column10.Header1' AS header WITH ; + Alignment = 2, ; + Caption = "Zona", ; + FontName = "Arial", ; + FontSize = 10, ; + Name = "Header1" + *< END OBJECT: BaseClass="header" /> + + ADD OBJECT '_pageframe1.Page1.grdAdrese.Column10.Text1' AS textbox WITH ; + BackColor = 255,255,255, ; + BorderStyle = 0, ; + FontName = "Arial", ; + FontSize = 10, ; + ForeColor = 0,0,0, ; + Margin = 0, ; + Name = "Text1", ; + ReadOnly = .T., ; + SelectedBackColor = 100,185,255 + *< END OBJECT: BaseClass="textbox" /> + + ADD OBJECT '_pageframe1.Page1.grdAdrese.Column17.Header1' AS header WITH ; + Alignment = 2, ; + Caption = "Denumire", ; + FontName = "Arial", ; + FontSize = 10, ; + Name = "Header1" + *< END OBJECT: BaseClass="header" /> + + ADD OBJECT '_pageframe1.Page1.grdAdrese.Column17.Text1' AS textbox WITH ; + BackColor = 255,255,255, ; + BorderStyle = 0, ; + FontName = "Arial", ; + FontSize = 10, ; + ForeColor = 0,0,0, ; + Margin = 0, ; + Name = "Text1", ; + SelectedBackColor = 100,185,255 + *< END OBJECT: BaseClass="textbox" /> + + ADD OBJECT '_pageframe1.Page1.grdAdrese.cPrincipala.Check1' AS checkbox WITH ; + Alignment = 0, ; + Caption = "", ; + Centered = .T., ; + FontName = "Arial", ; + FontSize = 10, ; + Height = 17, ; + Left = 26, ; + Name = "Check1", ; + Top = 42, ; + Width = 60 + *< END OBJECT: BaseClass="checkbox" /> + + ADD OBJECT '_pageframe1.Page1.grdAdrese.cPrincipala.Header1' AS header WITH ; + Alignment = 2, ; + Caption = "Principala", ; + FontName = "Arial", ; + FontSize = 10, ; + Name = "Header1" + *< END OBJECT: BaseClass="header" /> + + ADD OBJECT '_pageframe1.Page1.grdAdrese.cScara.Header1' AS header WITH ; + Alignment = 2, ; + Caption = "Scara", ; + FontName = "Arial", ; + FontSize = 10, ; + Name = "Header1" + *< END OBJECT: BaseClass="header" /> + + ADD OBJECT '_pageframe1.Page1.grdAdrese.cScara.Text1' AS textbox WITH ; + BackColor = 255,255,255, ; + BorderStyle = 0, ; + FontName = "Arial", ; + FontSize = 10, ; + ForeColor = 0,0,0, ; + Margin = 0, ; + Name = "Text1", ; + ReadOnly = .T., ; + SelectedBackColor = 100,185,255 + *< END OBJECT: BaseClass="textbox" /> + + ADD OBJECT '_pageframe1.Page1.grdAdrese.cStrada.Header1' AS header WITH ; + Alignment = 2, ; + Caption = "Strada", ; + FontName = "Arial", ; + FontSize = 10, ; + Name = "Header1" + *< END OBJECT: BaseClass="header" /> + + ADD OBJECT '_pageframe1.Page1.grdAdrese.cStrada.Text1' AS textbox WITH ; + BackColor = 255,255,255, ; + BorderStyle = 0, ; + FontName = "Arial", ; + FontSize = 10, ; + ForeColor = 0,0,0, ; + Margin = 0, ; + Name = "Text1", ; + ReadOnly = .T., ; + SelectedBackColor = 100,185,255 + *< END OBJECT: BaseClass="textbox" /> + + ADD OBJECT '_pageframe1.Page1.grdAdrese.cTelefon1.Header1' AS header WITH ; + Alignment = 2, ; + Caption = "Telefon 1", ; + FontName = "Arial", ; + FontSize = 10, ; + Name = "Header1" + *< END OBJECT: BaseClass="header" /> + + ADD OBJECT '_pageframe1.Page1.grdAdrese.cTelefon1.Text1' AS textbox WITH ; + BackColor = 255,255,255, ; + BorderStyle = 0, ; + FontName = "Arial", ; + FontSize = 10, ; + ForeColor = 0,0,0, ; + Margin = 0, ; + Name = "Text1", ; + ReadOnly = .T., ; + SelectedBackColor = 100,185,255 + *< END OBJECT: BaseClass="textbox" /> + + ADD OBJECT '_pageframe1.Page1.grdAdrese.cTelefon2.Header1' AS header WITH ; + Alignment = 2, ; + Caption = "Telefon 2", ; + FontName = "Arial", ; + FontSize = 10, ; + Name = "Header1" + *< END OBJECT: BaseClass="header" /> + + ADD OBJECT '_pageframe1.Page1.grdAdrese.cTelefon2.Text1' AS textbox WITH ; + BackColor = 255,255,255, ; + BorderStyle = 0, ; + FontName = "Arial", ; + FontSize = 10, ; + ForeColor = 0,0,0, ; + Margin = 0, ; + Name = "Text1", ; + SelectedBackColor = 100,185,255 + *< END OBJECT: BaseClass="textbox" /> + + ADD OBJECT '_pageframe1.Page1.grdAdrese.cWeb.Header1' AS header WITH ; + Alignment = 2, ; + Caption = "Web", ; + FontName = "Arial", ; + FontSize = 10, ; + Name = "Header1" + *< END OBJECT: BaseClass="header" /> + + ADD OBJECT '_pageframe1.Page1.grdAdrese.cWeb.Text1' AS textbox WITH ; + BackColor = 255,255,255, ; + BorderStyle = 0, ; + FontName = "Arial", ; + FontSize = 10, ; + ForeColor = 0,0,0, ; + Margin = 0, ; + Name = "Text1", ; + SelectedBackColor = 100,185,255 + *< END OBJECT: BaseClass="textbox" /> + + ADD OBJECT '_pageframe1.Page1.Gridextra1' AS gridextra WITH ; + gridexpression = thisform._pageframe1.page1.grdAdrese, ; + Left = 667, ; + Name = "Gridextra1", ; + productname = ROA, ; + Top = 114 + *< END OBJECT: ClassLib="..\utile\gridextras\gridextras.vcx" BaseClass="custom" /> + + ADD OBJECT '_pageframe1.Page2.But_modifica3' AS but_modifica WITH ; + Anchor = 12, ; + caction = inainte_de_do_modifica3, ; + Comment = "*:OnResize=RT", ; + Left = 659, ; + Name = "But_modifica3", ; + TabIndex = 11, ; + Tag = "L", ; + Top = 27, ; + Visible = .T., ; + ZOrderSet = 30 + *< END OBJECT: ClassLib="cmd_butoane.vcx" BaseClass="commandbutton" /> + + ADD OBJECT '_pageframe1.Page2.But_nou3' AS but_nou WITH ; + Anchor = 12, ; + caction = do_adauga3, ; + Comment = "*:OnResize=RT", ; + Left = 659, ; + Name = "But_nou3", ; + TabIndex = 10, ; + Tag = "L", ; + Top = 1, ; + ZOrderSet = 29 + *< END OBJECT: ClassLib="cmd_butoane.vcx" BaseClass="commandbutton" /> + + ADD OBJECT '_pageframe1.Page2.But_sterge3' AS but_sterge WITH ; + Anchor = 12, ; + caction = inainte_de_do_sterge3, ; + Comment = "*:OnResize=RT", ; + Left = 659, ; + Name = "But_sterge3", ; + TabIndex = 12, ; + Tag = "L", ; + Top = 53, ; + Visible = .T., ; + ZOrderSet = 31 + *< END OBJECT: ClassLib="cmd_butoane.vcx" BaseClass="commandbutton" /> + + ADD OBJECT '_pageframe1.Page2.grdPersoane' AS _grdrow WITH ; + Anchor = 14, ; + ColumnCount = 8, ; + Comment = "*:OnResize=SS", ; + DeleteMark = .F., ; + GridLineColor = 192,192,192, ; + Height = 180, ; + HighlightStyle = 1, ; + Left = 5, ; + Name = "grdPersoane", ; + nrgbrow = 0, ; + Panel = 1, ; + ReadOnly = .T., ; + RecordMark = .T., ; + RecordSource = "crsPers_contact", ; + RowHeight = 19, ; + TabIndex = 13, ; + Tag = "HW", ; + Top = 3, ; + Width = 649, ; + ZOrderSet = 28, ; + Column1.BackColor = 255,255,255, ; + Column1.ColumnOrder = 1, ; + Column1.ControlSource = "nume", ; + Column1.FontSize = 10, ; + Column1.Name = "Column17", ; + Column1.ReadOnly = .T., ; + Column1.Width = 98, ; + Column2.BackColor = 255,255,255, ; + Column2.ControlSource = "prenume", ; + Column2.FontSize = 10, ; + Column2.Name = "Column2", ; + Column2.ReadOnly = .T., ; + Column2.Width = 99, ; + Column3.BackColor = 255,255,255, ; + Column3.ControlSource = "apelativ", ; + Column3.FontSize = 10, ; + Column3.Name = "Column3", ; + Column3.ReadOnly = .T., ; + Column4.BackColor = 255,255,255, ; + Column4.ControlSource = "functia", ; + Column4.FontSize = 10, ; + Column4.Name = "Column4", ; + Column4.ReadOnly = .T., ; + Column4.Width = 77, ; + Column5.BackColor = 255,255,255, ; + Column5.ControlSource = "telefon", ; + Column5.FontSize = 10, ; + Column5.Name = "Column5", ; + Column5.ReadOnly = .T., ; + Column6.BackColor = 255,255,255, ; + Column6.ControlSource = "email", ; + Column6.FontSize = 10, ; + Column6.Name = "Column6", ; + Column6.ReadOnly = .T., ; + Column7.Alignment = 2, ; + Column7.BackColor = 255,255,255, ; + Column7.ControlSource = "principal", ; + Column7.FontSize = 10, ; + Column7.Name = "Column7", ; + Column7.ReadOnly = .T., ; + Column7.Sparse = .F., ; + Column7.Width = 52, ; + Column8.Alignment = 2, ; + Column8.BackColor = 255,255,255, ; + Column8.ControlSource = "inactiv", ; + Column8.FontSize = 10, ; + Column8.Name = "Column8", ; + Column8.ReadOnly = .T., ; + Column8.Sparse = .F., ; + Column8.Width = 42 + *< END OBJECT: ClassLib="_grd_base.vcx" BaseClass="grid" /> + + ADD OBJECT '_pageframe1.Page2.grdPersoane.Column17.Header1' AS header WITH ; + Alignment = 2, ; + Caption = "Nume", ; + FontSize = 10, ; + Name = "Header1" + *< END OBJECT: BaseClass="header" /> + + ADD OBJECT '_pageframe1.Page2.grdPersoane.Column17.Text1' AS textbox WITH ; + BackColor = 255,255,255, ; + BorderStyle = 0, ; + FontSize = 10, ; + ForeColor = 0,0,0, ; + Margin = 0, ; + Name = "Text1", ; + SelectedBackColor = 100,185,255 + *< END OBJECT: BaseClass="textbox" /> + + ADD OBJECT '_pageframe1.Page2.grdPersoane.Column2.Header1' AS header WITH ; + Alignment = 2, ; + Caption = "Prenume", ; + FontSize = 10, ; + Name = "Header1" + *< END OBJECT: BaseClass="header" /> + + ADD OBJECT '_pageframe1.Page2.grdPersoane.Column2.Text1' AS textbox WITH ; + BackColor = 255,255,255, ; + BorderStyle = 0, ; + FontSize = 10, ; + ForeColor = 0,0,0, ; + Margin = 0, ; + Name = "Text1", ; + SelectedBackColor = 100,185,255 + *< END OBJECT: BaseClass="textbox" /> + + ADD OBJECT '_pageframe1.Page2.grdPersoane.Column3.Header1' AS header WITH ; + Alignment = 2, ; + Caption = "Apelativ", ; + FontSize = 10, ; + Name = "Header1" + *< END OBJECT: BaseClass="header" /> + + ADD OBJECT '_pageframe1.Page2.grdPersoane.Column3.Text1' AS textbox WITH ; + BackColor = 255,255,255, ; + BorderStyle = 0, ; + FontSize = 10, ; + ForeColor = 0,0,0, ; + Margin = 0, ; + Name = "Text1", ; + SelectedBackColor = 100,185,255 + *< END OBJECT: BaseClass="textbox" /> + + ADD OBJECT '_pageframe1.Page2.grdPersoane.Column4.Header1' AS header WITH ; + Alignment = 2, ; + Caption = "Functia", ; + FontSize = 10, ; + Name = "Header1" + *< END OBJECT: BaseClass="header" /> + + ADD OBJECT '_pageframe1.Page2.grdPersoane.Column4.Text1' AS textbox WITH ; + BackColor = 255,255,255, ; + BorderStyle = 0, ; + FontSize = 10, ; + ForeColor = 0,0,0, ; + Margin = 0, ; + Name = "Text1", ; + SelectedBackColor = 100,185,255 + *< END OBJECT: BaseClass="textbox" /> + + ADD OBJECT '_pageframe1.Page2.grdPersoane.Column5.Header1' AS header WITH ; + Alignment = 2, ; + Caption = "Telefon", ; + FontSize = 10, ; + Name = "Header1" + *< END OBJECT: BaseClass="header" /> + + ADD OBJECT '_pageframe1.Page2.grdPersoane.Column5.Text1' AS textbox WITH ; + BackColor = 255,255,255, ; + BorderStyle = 0, ; + FontSize = 10, ; + ForeColor = 0,0,0, ; + Margin = 0, ; + Name = "Text1", ; + SelectedBackColor = 100,185,255 + *< END OBJECT: BaseClass="textbox" /> + + ADD OBJECT '_pageframe1.Page2.grdPersoane.Column6.Header1' AS header WITH ; + Alignment = 2, ; + Caption = "E-mail", ; + FontSize = 10, ; + Name = "Header1" + *< END OBJECT: BaseClass="header" /> + + ADD OBJECT '_pageframe1.Page2.grdPersoane.Column6.Text1' AS textbox WITH ; + BackColor = 255,255,255, ; + BorderStyle = 0, ; + FontSize = 10, ; + ForeColor = 0,0,0, ; + Margin = 0, ; + Name = "Text1", ; + SelectedBackColor = 100,185,255 + *< END OBJECT: BaseClass="textbox" /> + + ADD OBJECT '_pageframe1.Page2.grdPersoane.Column7.Check1' AS checkbox WITH ; + Alignment = 0, ; + Caption = "", ; + Centered = .T., ; + FontSize = 10, ; + Height = 17, ; + Left = 38, ; + Name = "Check1", ; + Top = 20, ; + Width = 60 + *< END OBJECT: BaseClass="checkbox" /> + + ADD OBJECT '_pageframe1.Page2.grdPersoane.Column7.Header1' AS header WITH ; + Alignment = 2, ; + Caption = "Principal", ; + FontSize = 10, ; + Name = "Header1" + *< END OBJECT: BaseClass="header" /> + + ADD OBJECT '_pageframe1.Page2.grdPersoane.Column8.Check1' AS checkbox WITH ; + Alignment = 0, ; + Caption = "", ; + Centered = .T., ; + FontSize = 10, ; + Height = 17, ; + Left = 34, ; + Name = "Check1", ; + Top = 32, ; + Width = 60 + *< END OBJECT: BaseClass="checkbox" /> + + ADD OBJECT '_pageframe1.Page2.grdPersoane.Column8.Header1' AS header WITH ; + Alignment = 2, ; + BackColor = 212,208,200, ; + Caption = "Inactiv", ; + FontSize = 10, ; + Name = "Header1" + *< END OBJECT: BaseClass="header" /> + + ADD OBJECT '_pageframe1.Page2.Gridextra1' AS gridextra WITH ; + gridexpression = thisform._pageframe1.page2.grdPersoane, ; + Left = 667, ; + Name = "Gridextra1", ; + productname = ROA, ; + Top = 90 + *< END OBJECT: ClassLib="..\utile\gridextras\gridextras.vcx" BaseClass="custom" /> + + ADD OBJECT '_pageframe1.Page3.But_modifica2' AS but_modifica WITH ; + Anchor = 12, ; + caction = inainte_de_do_modifica_contract, ; + Comment = "*:OnResize=RT", ; + Left = 659, ; + Name = "But_modifica2", ; + TabIndex = 11, ; + Tag = "L", ; + Top = 28, ; + Visible = .T., ; + ZOrderSet = 26 + *< END OBJECT: ClassLib="cmd_butoane.vcx" BaseClass="commandbutton" /> + + ADD OBJECT '_pageframe1.Page3.But_nou2' AS but_nou WITH ; + Anchor = 12, ; + caction = do_adauga_contract, ; + Comment = "*:OnResize=RT", ; + Left = 659, ; + Name = "But_nou2", ; + TabIndex = 10, ; + Tag = "L", ; + Top = 2, ; + ZOrderSet = 25 + *< END OBJECT: ClassLib="cmd_butoane.vcx" BaseClass="commandbutton" /> + + ADD OBJECT '_pageframe1.Page3.But_sterge2' AS but_sterge WITH ; + Anchor = 12, ; + caction = inainte_de_do_sterge_contract, ; + Comment = "*:OnResize=RT", ; + Left = 659, ; + Name = "But_sterge2", ; + TabIndex = 12, ; + Tag = "L", ; + Top = 54, ; + Visible = .T., ; + ZOrderSet = 27 + *< END OBJECT: ClassLib="cmd_butoane.vcx" BaseClass="commandbutton" /> + + ADD OBJECT '_pageframe1.Page3.grd_contracte' AS _grdrow WITH ; + Anchor = 14, ; + ColumnCount = 14, ; + Comment = "*:OnResize=SS", ; + DeleteMark = .F., ; + GridLineColor = 192,192,192, ; + HeaderHeight = 37, ; + Height = 180, ; + HighlightStyle = 1, ; + Left = 5, ; + Name = "grd_contracte", ; + nrgbrow = 0, ; + Panel = 1, ; + ReadOnly = .T., ; + RecordMark = .T., ; + RecordSource = "crsContracte", ; + RowHeight = 19, ; + TabIndex = 13, ; + Tag = "HW", ; + Top = 3, ; + Width = 650, ; + ZOrderSet = 22, ; + Column1.ColumnOrder = 2, ; + Column1.ControlSource = "data", ; + Column1.FontName = "Arial", ; + Column1.FontSize = 10, ; + Column1.Name = "cData", ; + Column1.ReadOnly = .T., ; + Column1.Width = 120, ; + Column2.ColumnOrder = 1, ; + Column2.ControlSource = "numar", ; + Column2.FontName = "Arial", ; + Column2.FontSize = 10, ; + Column2.Name = "cNumar", ; + Column2.ReadOnly = .T., ; + Column2.Width = 138, ; + Column3.ColumnOrder = 12, ; + Column3.ControlSource = "denumire_tip", ; + Column3.FontName = "Arial", ; + Column3.FontSize = 10, ; + Column3.Name = "cDenumire_tip", ; + Column3.ReadOnly = .T., ; + Column3.Width = 106, ; + Column4.Alignment = 2, ; + Column4.ColumnOrder = 14, ; + Column4.ControlSource = "inactiv", ; + Column4.FontName = "Arial", ; + Column4.FontSize = 10, ; + Column4.Name = "cInactiv", ; + Column4.ReadOnly = .T., ; + Column4.Sparse = .F., ; + Column4.Width = 45, ; + Column5.ColumnOrder = 3, ; + Column5.ControlSource = "scadenta_incasare", ; + Column5.FontSize = 10, ; + Column5.Name = "cScadentaIncasare", ; + Column5.ReadOnly = .T., ; + Column6.ColumnOrder = 4, ; + Column6.ControlSource = "data_inceput", ; + Column6.FontSize = 10, ; + Column6.Name = "cDataInceput", ; + Column6.ReadOnly = .T., ; + Column7.ColumnOrder = 5, ; + Column7.ControlSource = "data_sfarsit", ; + Column7.FontSize = 10, ; + Column7.Name = "cDataSfarsit", ; + Column7.ReadOnly = .T., ; + Column8.ColumnOrder = 6, ; + Column8.ControlSource = "coef_penalitati", ; + Column8.FontSize = 10, ; + Column8.Name = "cCoefPenalitati", ; + Column8.ReadOnly = .T., ; + Column8.Sparse = .F., ; + Column8.Width = 99, ; + Column9.ColumnOrder = 7, ; + Column9.ControlSource = "zile_penalitati", ; + Column9.FontSize = 10, ; + Column9.Name = "cZilePenalitati", ; + Column9.ReadOnly = .T., ; + Column9.Width = 72, ; + Column10.ColumnOrder = 8, ; + Column10.ControlSource = "coef_penalitati2", ; + Column10.FontSize = 10, ; + Column10.Name = "cCoefPenalitati2", ; + Column10.ReadOnly = .T., ; + Column10.Sparse = .F., ; + Column10.Width = 98, ; + Column11.ColumnOrder = 9, ; + Column11.ControlSource = "zile_penalitati2", ; + Column11.FontSize = 10, ; + Column11.Name = "cZilePenalitati2", ; + Column11.ReadOnly = .T., ; + Column12.ColumnOrder = 10, ; + Column12.ControlSource = "zile_gratie_penalitati", ; + Column12.FontSize = 10, ; + Column12.Name = "cZileGratiePenalitati", ; + Column12.ReadOnly = .T., ; + Column12.Width = 89, ; + Column13.ColumnOrder = 13, ; + Column13.ControlSource = "descriere", ; + Column13.FontSize = 10, ; + Column13.Name = "cDescriere", ; + Column13.ReadOnly = .T., ; + Column13.Width = 169, ; + Column14.ColumnOrder = 11, ; + Column14.ControlSource = "tip_curs_explicatie", ; + Column14.Name = "cTipCursExplicatie", ; + Column14.ReadOnly = .T., ; + Column14.Width = 160 + *< END OBJECT: ClassLib="_grd_base.vcx" BaseClass="grid" /> + + ADD OBJECT '_pageframe1.Page3.grd_contracte.cCoefPenalitati.Header1' AS header WITH ; + Alignment = 2, ; + Caption = "Procent penalitati / zi (1)", ; + FontSize = 10, ; + Name = "Header1", ; + WordWrap = .T. + *< END OBJECT: BaseClass="header" /> + + ADD OBJECT '_pageframe1.Page3.grd_contracte.cCoefPenalitati.Text1' AS textbox WITH ; + BackColor = 255,255,255, ; + BorderStyle = 0, ; + FontSize = 10, ; + ForeColor = 0,0,0, ; + Margin = 0, ; + Name = "Text1", ; + ReadOnly = .T., ; + SelectedBackColor = 100,185,255 + *< END OBJECT: BaseClass="textbox" /> + + ADD OBJECT '_pageframe1.Page3.grd_contracte.cCoefPenalitati2.Header1' AS header WITH ; + Alignment = 2, ; + Caption = "Procent penalitati / zi (2)", ; + FontSize = 10, ; + Name = "Header1", ; + WordWrap = .T. + *< END OBJECT: BaseClass="header" /> + + ADD OBJECT '_pageframe1.Page3.grd_contracte.cCoefPenalitati2.Text1' AS textbox WITH ; + BackColor = 255,255,255, ; + BorderStyle = 0, ; + FontSize = 10, ; + ForeColor = 0,0,0, ; + Margin = 0, ; + Name = "Text1", ; + ReadOnly = .T., ; + SelectedBackColor = 100,185,255 + *< END OBJECT: BaseClass="textbox" /> + + ADD OBJECT '_pageframe1.Page3.grd_contracte.cData.Header1' AS header WITH ; + Alignment = 2, ; + Caption = "Data", ; + FontName = "Arial", ; + FontSize = 10, ; + Name = "Header1" + *< END OBJECT: BaseClass="header" /> + + ADD OBJECT '_pageframe1.Page3.grd_contracte.cData.Text1' AS textbox WITH ; + BackColor = 255,255,255, ; + BorderStyle = 0, ; + FontName = "Arial", ; + FontSize = 10, ; + ForeColor = 0,0,0, ; + Margin = 0, ; + Name = "Text1", ; + ReadOnly = .T., ; + SelectedBackColor = 100,185,255 + *< END OBJECT: BaseClass="textbox" /> + + ADD OBJECT '_pageframe1.Page3.grd_contracte.cDataInceput.Header1' AS header WITH ; + Alignment = 2, ; + Caption = "Data inceput", ; + FontSize = 10, ; + Name = "Header1" + *< END OBJECT: BaseClass="header" /> + + ADD OBJECT '_pageframe1.Page3.grd_contracte.cDataInceput.Text1' AS textbox WITH ; + BackColor = 255,255,255, ; + BorderStyle = 0, ; + FontSize = 10, ; + ForeColor = 0,0,0, ; + Margin = 0, ; + Name = "Text1", ; + ReadOnly = .T., ; + SelectedBackColor = 100,185,255 + *< END OBJECT: BaseClass="textbox" /> + + ADD OBJECT '_pageframe1.Page3.grd_contracte.cDataSfarsit.Header1' AS header WITH ; + Alignment = 2, ; + Caption = "Data sfarsit", ; + FontSize = 10, ; + Name = "Header1" + *< END OBJECT: BaseClass="header" /> + + ADD OBJECT '_pageframe1.Page3.grd_contracte.cDataSfarsit.Text1' AS textbox WITH ; + BackColor = 255,255,255, ; + BorderStyle = 0, ; + FontSize = 10, ; + ForeColor = 0,0,0, ; + Margin = 0, ; + Name = "Text1", ; + ReadOnly = .T., ; + SelectedBackColor = 100,185,255 + *< END OBJECT: BaseClass="textbox" /> + + ADD OBJECT '_pageframe1.Page3.grd_contracte.cDenumire_tip.Header1' AS header WITH ; + Alignment = 2, ; + Caption = "Tip contract", ; + FontName = "Arial", ; + FontSize = 10, ; + Name = "Header1" + *< END OBJECT: BaseClass="header" /> + + ADD OBJECT '_pageframe1.Page3.grd_contracte.cDenumire_tip.Text1' AS textbox WITH ; + BackColor = 255,255,255, ; + BorderStyle = 0, ; + FontName = "Arial", ; + FontSize = 10, ; + ForeColor = 0,0,0, ; + Margin = 0, ; + Name = "Text1", ; + ReadOnly = .T., ; + SelectedBackColor = 100,185,255 + *< END OBJECT: BaseClass="textbox" /> + + ADD OBJECT '_pageframe1.Page3.grd_contracte.cDescriere.Header1' AS header WITH ; + Alignment = 2, ; + Caption = "Descriere", ; + FontSize = 10, ; + Name = "Header1" + *< END OBJECT: BaseClass="header" /> + + ADD OBJECT '_pageframe1.Page3.grd_contracte.cDescriere.Text1' AS textbox WITH ; + BackColor = 255,255,255, ; + BorderStyle = 0, ; + FontSize = 10, ; + ForeColor = 0,0,0, ; + Margin = 0, ; + Name = "Text1", ; + ReadOnly = .T., ; + SelectedBackColor = 100,185,255 + *< END OBJECT: BaseClass="textbox" /> + + ADD OBJECT '_pageframe1.Page3.grd_contracte.cInactiv.Check1' AS checkbox WITH ; + Alignment = 0, ; + Caption = "", ; + Centered = .T., ; + FontName = "Arial", ; + FontSize = 10, ; + Height = 17, ; + Left = 43, ; + Name = "Check1", ; + ReadOnly = .T., ; + Top = 35, ; + Width = 60 + *< END OBJECT: BaseClass="checkbox" /> + + ADD OBJECT '_pageframe1.Page3.grd_contracte.cInactiv.Header1' AS header WITH ; + Alignment = 2, ; + Caption = "Inactiv", ; + FontName = "Arial", ; + FontSize = 10, ; + Name = "Header1" + *< END OBJECT: BaseClass="header" /> + + ADD OBJECT '_pageframe1.Page3.grd_contracte.cNumar.Header1' AS header WITH ; + Alignment = 2, ; + Caption = "Numar", ; + FontName = "Arial", ; + FontSize = 10, ; + Name = "Header1" + *< END OBJECT: BaseClass="header" /> + + ADD OBJECT '_pageframe1.Page3.grd_contracte.cNumar.Text1' AS textbox WITH ; + BackColor = 255,255,255, ; + BorderStyle = 0, ; + FontName = "Arial", ; + FontSize = 10, ; + ForeColor = 0,0,0, ; + Margin = 0, ; + Name = "Text1", ; + ReadOnly = .T., ; + SelectedBackColor = 100,185,255 + *< END OBJECT: BaseClass="textbox" /> + + ADD OBJECT '_pageframe1.Page3.grd_contracte.cScadentaIncasare.Header1' AS header WITH ; + Alignment = 2, ; + Caption = "Nr. zile scadenta", ; + FontSize = 10, ; + Name = "Header1", ; + WordWrap = .T. + *< END OBJECT: BaseClass="header" /> + + ADD OBJECT '_pageframe1.Page3.grd_contracte.cScadentaIncasare.Text1' AS textbox WITH ; + BackColor = 255,255,255, ; + BorderStyle = 0, ; + FontSize = 10, ; + ForeColor = 0,0,0, ; + Margin = 0, ; + Name = "Text1", ; + ReadOnly = .T., ; + SelectedBackColor = 100,185,255 + *< END OBJECT: BaseClass="textbox" /> + + ADD OBJECT '_pageframe1.Page3.grd_contracte.cTipCursExplicatie.Header1' AS header WITH ; + Alignment = 2, ; + Caption = "Zi curs factura", ; + Name = "Header1", ; + WordWrap = .T. + *< END OBJECT: BaseClass="header" /> + + ADD OBJECT '_pageframe1.Page3.grd_contracte.cTipCursExplicatie.Text1' AS textbox WITH ; + BackColor = 255,255,255, ; + BorderStyle = 0, ; + ForeColor = 0,0,0, ; + Margin = 0, ; + Name = "Text1", ; + ReadOnly = .T., ; + SelectedBackColor = 100,185,255 + *< END OBJECT: BaseClass="textbox" /> + + ADD OBJECT '_pageframe1.Page3.grd_contracte.cZileGratiePenalitati.Header1' AS header WITH ; + Alignment = 2, ; + Caption = "Nr. zile gratie penalitati", ; + FontSize = 10, ; + Name = "Header1", ; + WordWrap = .T. + *< END OBJECT: BaseClass="header" /> + + ADD OBJECT '_pageframe1.Page3.grd_contracte.cZileGratiePenalitati.Text1' AS textbox WITH ; + BackColor = 255,255,255, ; + BorderStyle = 0, ; + FontSize = 10, ; + ForeColor = 0,0,0, ; + Margin = 0, ; + Name = "Text1", ; + ReadOnly = .T., ; + SelectedBackColor = 100,185,255 + *< END OBJECT: BaseClass="textbox" /> + + ADD OBJECT '_pageframe1.Page3.grd_contracte.cZilePenalitati.Header1' AS header WITH ; + Alignment = 2, ; + Caption = "Zile penalitati (1)", ; + FontSize = 10, ; + Name = "Header1", ; + WordWrap = .T. + *< END OBJECT: BaseClass="header" /> + + ADD OBJECT '_pageframe1.Page3.grd_contracte.cZilePenalitati.Text1' AS textbox WITH ; + BackColor = 255,255,255, ; + BorderStyle = 0, ; + FontSize = 10, ; + ForeColor = 0,0,0, ; + Margin = 0, ; + Name = "Text1", ; + ReadOnly = .T., ; + SelectedBackColor = 100,185,255 + *< END OBJECT: BaseClass="textbox" /> + + ADD OBJECT '_pageframe1.Page3.grd_contracte.cZilePenalitati2.Header1' AS header WITH ; + Alignment = 2, ; + Caption = "Zile penalitati (2)", ; + FontSize = 10, ; + Name = "Header1", ; + WordWrap = .T. + *< END OBJECT: BaseClass="header" /> + + ADD OBJECT '_pageframe1.Page3.grd_contracte.cZilePenalitati2.Text1' AS textbox WITH ; + BackColor = 255,255,255, ; + BorderStyle = 0, ; + FontSize = 10, ; + ForeColor = 0,0,0, ; + Margin = 0, ; + Name = "Text1", ; + ReadOnly = .T., ; + SelectedBackColor = 100,185,255 + *< END OBJECT: BaseClass="textbox" /> + + ADD OBJECT '_pageframe1.Page3.Gridextra1' AS gridextra WITH ; + gridexpression = thisform._pageframe1.page3.grd_contracte, ; + Left = 655, ; + Name = "Gridextra1", ; + productname = ROA, ; + Top = 102 + *< END OBJECT: ClassLib="..\utile\gridextras\gridextras.vcx" BaseClass="custom" /> + + ADD OBJECT '_pageframe1.Page4.grdCoduri' AS _grdrow WITH ; + Anchor = 14, ; + ColumnCount = 3, ; + Comment = "", ; + DeleteMark = .F., ; + GridLineColor = 192,192,192, ; + Height = 180, ; + HighlightStyle = 1, ; + Left = 5, ; + Name = "grdCoduri", ; + nrgbrow = 0, ; + Panel = 1, ; + ReadOnly = .T., ; + RecordMark = .T., ; + RecordSource = "crsCoduri", ; + RowHeight = 19, ; + TabIndex = 13, ; + Tag = "", ; + Top = 3, ; + Width = 649, ; + ZOrderSet = 28, ; + Column1.BackColor = 255,255,255, ; + Column1.ColumnOrder = 1, ; + Column1.ControlSource = "id", ; + Column1.FontSize = 10, ; + Column1.Name = "Column17", ; + Column1.ReadOnly = .T., ; + Column1.Width = 98, ; + Column2.BackColor = 255,255,255, ; + Column2.ControlSource = "id_part", ; + Column2.FontSize = 10, ; + Column2.Name = "Column2", ; + Column2.ReadOnly = .T., ; + Column2.Width = 99, ; + Column3.BackColor = 255,255,255, ; + Column3.ControlSource = "cod", ; + Column3.FontSize = 10, ; + Column3.Name = "Column3", ; + Column3.ReadOnly = .T. + *< END OBJECT: ClassLib="_grd_base.vcx" BaseClass="grid" /> + + ADD OBJECT '_pageframe1.Page4.grdCoduri.Column17.Header1' AS header WITH ; + Alignment = 2, ; + Caption = "Nume", ; + FontSize = 10, ; + Name = "Header1" + *< END OBJECT: BaseClass="header" /> + + ADD OBJECT '_pageframe1.Page4.grdCoduri.Column17.Text1' AS textbox WITH ; + BackColor = 255,255,255, ; + BorderStyle = 0, ; + FontSize = 10, ; + ForeColor = 0,0,0, ; + Margin = 0, ; + Name = "Text1", ; + SelectedBackColor = 100,185,255 + *< END OBJECT: BaseClass="textbox" /> + + ADD OBJECT '_pageframe1.Page4.grdCoduri.Column2.Header1' AS header WITH ; + Alignment = 2, ; + Caption = "Prenume", ; + FontSize = 10, ; + Name = "Header1" + *< END OBJECT: BaseClass="header" /> + + ADD OBJECT '_pageframe1.Page4.grdCoduri.Column2.Text1' AS textbox WITH ; + BackColor = 255,255,255, ; + BorderStyle = 0, ; + FontSize = 10, ; + ForeColor = 0,0,0, ; + Margin = 0, ; + Name = "Text1", ; + SelectedBackColor = 100,185,255 + *< END OBJECT: BaseClass="textbox" /> + + ADD OBJECT '_pageframe1.Page4.grdCoduri.Column3.Header1' AS header WITH ; + Alignment = 2, ; + Caption = "Apelativ", ; + FontSize = 10, ; + Name = "Header1" + *< END OBJECT: BaseClass="header" /> + + ADD OBJECT '_pageframe1.Page4.grdCoduri.Column3.Text1' AS textbox WITH ; + BackColor = 255,255,255, ; + BorderStyle = 0, ; + FontSize = 10, ; + ForeColor = 0,0,0, ; + Margin = 0, ; + Name = "Text1", ; + SelectedBackColor = 100,185,255 + *< END OBJECT: BaseClass="textbox" /> + + ADD OBJECT '_pageframe1.Page4.Gridextra1' AS gridextra WITH ; + gridexpression = thisform._pageframe1.page4.grdCoduri, ; + Left = 667, ; + Name = "Gridextra1", ; + productname = ROA, ; + Top = 30 + *< END OBJECT: ClassLib="..\utile\gridextras\gridextras.vcx" BaseClass="custom" /> + + ADD OBJECT 'But_copiaza1' AS but_copiaza WITH ; + Anchor = 8, ; + Left = 514, ; + Name = "But_copiaza1", ; + Top = 2, ; + Visible = .F. + *< END OBJECT: ClassLib="cmd_butoane.vcx" BaseClass="commandbutton" /> + + ADD OBJECT 'But_excel1' AS but_excel WITH ; + Anchor = 8, ; + caction = do_excel, ; + Left = 636, ; + Name = "But_excel1", ; + Top = 2, ; + Visible = .F. + *< END OBJECT: ClassLib="cmd_butoane.vcx" BaseClass="commandbutton" /> + + ADD OBJECT 'But_modifica1' AS but_modifica WITH ; + Anchor = 8, ; + Comment = "*:OnResize=RT", ; + Left = 544, ; + Name = "But_modifica1", ; + TabIndex = 11, ; + Tag = "L", ; + Top = 2, ; + ZOrderSet = 8 + *< END OBJECT: ClassLib="cmd_butoane.vcx" BaseClass="commandbutton" /> + + ADD OBJECT 'But_nou1' AS but_nou WITH ; + Anchor = 8, ; + Comment = "*:OnResize=RT", ; + Left = 483, ; + Name = "But_nou1", ; + TabIndex = 10, ; + Tag = "L", ; + Top = 2, ; + Visible = .F., ; + ZOrderSet = 7 + *< END OBJECT: ClassLib="cmd_butoane.vcx" BaseClass="commandbutton" /> + + ADD OBJECT 'But_sterge1' AS but_sterge WITH ; + Anchor = 8, ; + Comment = "*:OnResize=RT", ; + Left = 575, ; + Name = "But_sterge1", ; + TabIndex = 12, ; + Tag = "L", ; + Top = 2, ; + ZOrderSet = 9 + *< END OBJECT: ClassLib="cmd_butoane.vcx" BaseClass="commandbutton" /> + + ADD OBJECT 'But_verifica1' AS but_verifica WITH ; + Anchor = 8, ; + Left = 605, ; + Name = "But_verifica1", ; + TabIndex = 14, ; + ToolTipText = "Validare cod", ; + Top = 2 + *< END OBJECT: ClassLib="cmd_butoane.vcx" BaseClass="commandbutton" /> + + ADD OBJECT 'Ck_cod_fiscal' AS ck_filtru_text WITH ; + Alignment = 0, ; + camp_nume = p.cod_fiscal, ; + Caption = "Cod Fiscal", ; + criteriu = 4, ; + criteriu2 = 4, ; + Left = 5, ; + Name = "Ck_cod_fiscal", ; + TabIndex = 2, ; + Top = 56, ; + ZOrderSet = 19 + *< END OBJECT: ClassLib="caut_ora.vcx" BaseClass="checkbox" /> + + ADD OBJECT 'Ck_filtru_categorie' AS ck_filtru_text WITH ; + Alignment = 0, ; + camp_nume = p.categorie_entitate, ; + Caption = "Categorie", ; + Left = 166, ; + Name = "Ck_filtru_categorie", ; + TabIndex = 6, ; + Top = 56, ; + ZOrderSet = 16 + *< END OBJECT: ClassLib="caut_ora.vcx" BaseClass="checkbox" /> + + ADD OBJECT 'Ck_filtru_denumire' AS ck_filtru_text WITH ; + Alignment = 0, ; + camp_nume = p.denumire, ; + Caption = "Denumire", ; + Left = 5, ; + Name = "Ck_filtru_denumire", ; + TabIndex = 1, ; + Top = 35, ; + ZOrderSet = 15 + *< END OBJECT: ClassLib="caut_ora.vcx" BaseClass="checkbox" /> + + ADD OBJECT 'Ck_filtru_nume' AS ck_filtru_text WITH ; + Alignment = 0, ; + camp_nume = p.nume, ; + Caption = "Nume", ; + Left = 92, ; + Name = "Ck_filtru_nume", ; + TabIndex = 3, ; + Top = 35, ; + ZOrderSet = 16 + *< END OBJECT: ClassLib="caut_ora.vcx" BaseClass="checkbox" /> + + ADD OBJECT 'Ck_filtru_prenume' AS ck_filtru_text WITH ; + Alignment = 0, ; + camp_nume = p.prenume, ; + Caption = "Prenume", ; + Left = 92, ; + Name = "Ck_filtru_prenume", ; + TabIndex = 4, ; + Top = 56, ; + ZOrderSet = 20 + *< END OBJECT: ClassLib="caut_ora.vcx" BaseClass="checkbox" /> + + ADD OBJECT 'Ck_reg_comert' AS ck_filtru_text WITH ; + Alignment = 0, ; + camp_nume = p.reg_comert, ; + Caption = "Reg. Comert", ; + criteriu = 4, ; + criteriu2 = 4, ; + Left = 166, ; + Name = "Ck_reg_comert", ; + TabIndex = 5, ; + Top = 35, ; + ZOrderSet = 21 + *< END OBJECT: ClassLib="caut_ora.vcx" BaseClass="checkbox" /> + + ADD OBJECT 'ck_tip_entitate' AS _checkbox WITH ; + Alignment = 0, ; + Caption = "Tip Entitate", ; + Left = 264, ; + Name = "ck_tip_entitate", ; + TabIndex = 7, ; + Top = 35, ; + Visible = .F., ; + ZOrderSet = 17 + *< END OBJECT: ClassLib="_baza.vcx" BaseClass="checkbox" /> + + ADD OBJECT 'Cmd_cauta1' AS cmd_cauta WITH ; + Anchor = 2, ; + Comment = "*:OnResize=RT", ; + Left = 364, ; + Name = "Cmd_cauta1", ; + TabIndex = 8, ; + Tag = "L", ; + Top = 42, ; + ZOrderSet = 11 + *< END OBJECT: ClassLib="cmd_butoane.vcx" BaseClass="commandbutton" /> + + ADD OBJECT 'Cmd_executa1' AS cmd_executa WITH ; + Anchor = 8, ; + Caption = "\ + + ADD OBJECT 'Cmd_reset1' AS cmd_reset WITH ; + Anchor = 2, ; + Comment = "*:OnResize=RT", ; + Left = 460, ; + Name = "Cmd_reset1", ; + TabIndex = 17, ; + Tag = "L", ; + Top = 42, ; + ZOrderSet = 12 + *< END OBJECT: ClassLib="cmd_butoane.vcx" BaseClass="commandbutton" /> + + ADD OBJECT 'grdParteneri' AS _grdrow WITH ; + Anchor = 15, ; + ColumnCount = 23, ; + Comment = "*:OnResize=SS", ; + DeleteMark = .F., ; + GridLineColor = 192,192,192, ; + Height = 290, ; + HighlightStyle = 2, ; + Left = 4, ; + Name = "grdParteneri", ; + nrgbrow = 0, ; + Panel = 1, ; + ReadOnly = .T., ; + RecordMark = .T., ; + RecordSource = "crsparteneri", ; + RowHeight = 19, ; + TabIndex = 9, ; + Tag = "HW", ; + Top = 80, ; + Width = 546, ; + ZOrderSet = 0, ; + Column1.ColumnOrder = 1, ; + Column1.ControlSource = "crsparteneri.id_part", ; + Column1.FontName = "Arial", ; + Column1.FontSize = 10, ; + Column1.Name = "Column1", ; + Column1.ReadOnly = .T., ; + Column1.Width = 52, ; + Column2.ColumnOrder = 2, ; + Column2.ControlSource = "crsparteneri.denumire", ; + Column2.FontName = "Arial", ; + Column2.FontSize = 10, ; + Column2.Name = "Column2", ; + Column2.ReadOnly = .T., ; + Column2.Width = 192, ; + Column3.ColumnOrder = 5, ; + Column3.ControlSource = "crsparteneri.cod_fiscal", ; + Column3.FontName = "Arial", ; + Column3.FontSize = 10, ; + Column3.Name = "Column3", ; + Column3.ReadOnly = .T., ; + Column3.Width = 115, ; + Column4.ColumnOrder = 7, ; + Column4.ControlSource = "crsparteneri.reg_comert", ; + Column4.FontName = "Arial", ; + Column4.FontSize = 10, ; + Column4.Name = "Column4", ; + Column4.ReadOnly = .T., ; + Column4.Width = 124, ; + Column5.Alignment = 2, ; + Column5.ColumnOrder = 16, ; + Column5.ControlSource = "crsparteneri.inactiv", ; + Column5.FontName = "Arial", ; + Column5.FontSize = 10, ; + Column5.Name = "Column14", ; + Column5.ReadOnly = .T., ; + Column5.Sparse = .F., ; + Column5.Width = 38, ; + Column6.ColumnOrder = 3, ; + Column6.ControlSource = "crsparteneri.nume", ; + Column6.FontName = "Arial", ; + Column6.FontSize = 10, ; + Column6.Name = "Column6", ; + Column6.ReadOnly = .T., ; + Column6.Width = 197, ; + Column7.ColumnOrder = 4, ; + Column7.ControlSource = "crsparteneri.prenume", ; + Column7.FontName = "Arial", ; + Column7.FontSize = 10, ; + Column7.Name = "Column7", ; + Column7.ReadOnly = .T., ; + Column7.Width = 127, ; + Column8.ColumnOrder = 12, ; + Column8.ControlSource = "banca", ; + Column8.FontName = "Arial", ; + Column8.FontSize = 10, ; + Column8.Name = "Column8", ; + Column8.ReadOnly = .T., ; + Column8.Width = 188, ; + Column9.ColumnOrder = 13, ; + Column9.ControlSource = "cont_banca", ; + Column9.FontName = "Arial", ; + Column9.FontSize = 10, ; + Column9.Name = "Column9", ; + Column9.ReadOnly = .T., ; + Column9.Width = 172, ; + Column10.ColumnOrder = 8, ; + Column10.ControlSource = "prefix", ; + Column10.FontName = "Arial", ; + Column10.FontSize = 10, ; + Column10.Name = "Column10", ; + Column10.ReadOnly = .T., ; + Column10.Width = 58, ; + Column11.ColumnOrder = 9, ; + Column11.ControlSource = "sufix", ; + Column11.FontName = "Arial", ; + Column11.FontSize = 10, ; + Column11.Name = "Column11", ; + Column11.ReadOnly = .T., ; + Column11.Width = 60, ; + Column12.ColumnOrder = 10, ; + Column12.ControlSource = "iif(tip_persoana=1,'Juridica','Fizica')", ; + Column12.FontName = "Arial", ; + Column12.FontSize = 10, ; + Column12.Name = "Column12", ; + Column12.ReadOnly = .T., ; + Column12.Width = 88, ; + Column13.ColumnOrder = 17, ; + Column13.ControlSource = "motiv_inactiv", ; + Column13.FontName = "Arial", ; + Column13.FontSize = 10, ; + Column13.Name = "Column13", ; + Column13.ReadOnly = .T., ; + Column13.Width = 89, ; + Column14.ColumnOrder = 11, ; + Column14.ControlSource = "categorie_entitate", ; + Column14.FontName = "Arial", ; + Column14.FontSize = 10, ; + Column14.Name = "cCategorie_entitate", ; + Column14.ReadOnly = .T., ; + Column14.Width = 88, ; + Column15.ColumnOrder = 22, ; + Column15.ControlSource = "utilizator", ; + Column15.FontName = "Arial", ; + Column15.FontSize = 10, ; + Column15.Name = "cUtilizator", ; + Column15.ReadOnly = .T., ; + Column15.Width = 175, ; + Column16.ColumnOrder = 23, ; + Column16.ControlSource = "dataora", ; + Column16.FontName = "Arial", ; + Column16.FontSize = 10, ; + Column16.Name = "cDataora", ; + Column16.ReadOnly = .T., ; + Column16.Width = 151, ; + Column17.ColumnOrder = 18, ; + Column17.ControlSource = "adresa", ; + Column17.Name = "cAdresa", ; + Column17.ReadOnly = .T., ; + Column17.Width = 224, ; + Column18.ColumnOrder = 19, ; + Column18.ControlSource = "telefon", ; + Column18.Name = "cTelefon", ; + Column18.ReadOnly = .T., ; + Column18.Width = 123, ; + Column19.ColumnOrder = 21, ; + Column19.ControlSource = "email", ; + Column19.Name = "cEmail", ; + Column19.ReadOnly = .T., ; + Column19.Width = 148, ; + Column20.ColumnOrder = 6, ; + Column20.ControlSource = "cod_fiscal2", ; + Column20.Name = "cCodFiscal2", ; + Column20.ReadOnly = .T., ; + Column20.ToolTipText = "Cod identificare fiscala diferit de CIF. Cand CIF este folosit doar pentru activitati in scopuri TVA, iar firma nu desfasoara activitati in sfera TVA.", ; + Column20.Width = 96, ; + Column21.ColumnOrder = 14, ; + Column21.ControlSource = "swift_banca", ; + Column21.Name = "Column21", ; + Column21.ReadOnly = .T., ; + Column21.Width = 124, ; + Column22.ColumnOrder = 15, ; + Column22.ControlSource = "adresa_banca", ; + Column22.Name = "Column22", ; + Column22.ReadOnly = .T., ; + Column22.Width = 177, ; + Column23.ColumnOrder = 20, ; + Column23.ControlSource = "institutie_publica", ; + Column23.CurrentControl = "_checkbox1", ; + Column23.Name = "cInstitutiePublica", ; + Column23.ReadOnly = .T., ; + Column23.Sparse = .F., ; + Column23.Width = 93 + *< END OBJECT: ClassLib="_grd_base.vcx" BaseClass="grid" /> + + ADD OBJECT 'grdParteneri.cAdresa.Header1' AS header WITH ; + Alignment = 2, ; + Caption = "Adresa principala", ; + Name = "Header1" + *< END OBJECT: BaseClass="header" /> + + ADD OBJECT 'grdParteneri.cAdresa.Text1' AS textbox WITH ; + BackColor = 255,255,255, ; + BorderStyle = 0, ; + ForeColor = 0,0,0, ; + Margin = 0, ; + Name = "Text1", ; + ReadOnly = .T., ; + SelectedBackColor = 100,185,255 + *< END OBJECT: BaseClass="textbox" /> + + ADD OBJECT 'grdParteneri.cCategorie_entitate.Header1' AS header WITH ; + Alignment = 2, ; + Caption = "Categorie", ; + FontName = "Arial", ; + FontSize = 10, ; + Name = "Header1" + *< END OBJECT: BaseClass="header" /> + + ADD OBJECT 'grdParteneri.cCategorie_entitate.Text1' AS textbox WITH ; + BackColor = 255,255,255, ; + BorderStyle = 0, ; + FontName = "Arial", ; + FontSize = 10, ; + ForeColor = 0,0,0, ; + Margin = 0, ; + Name = "Text1", ; + ReadOnly = .T., ; + SelectedBackColor = 100,185,255 + *< END OBJECT: BaseClass="textbox" /> + + ADD OBJECT 'grdParteneri.cCodFiscal2.Header1' AS header WITH ; + Alignment = 2, ; + BackColor = 240,240,240, ; + Caption = "CUI", ; + Name = "Header1" + *< END OBJECT: BaseClass="header" /> + + ADD OBJECT 'grdParteneri.cCodFiscal2.Text1' AS textbox WITH ; + BackColor = 255,255,255, ; + BorderStyle = 0, ; + ForeColor = 0,0,0, ; + Margin = 0, ; + Name = "Text1", ; + ReadOnly = .T., ; + SelectedBackColor = 100,185,255 + *< END OBJECT: BaseClass="textbox" /> + + ADD OBJECT 'grdParteneri.cDataora.Header1' AS header WITH ; + Alignment = 2, ; + Caption = "Data adaugare/modificare", ; + FontName = "Arial", ; + FontSize = 10, ; + Name = "Header1" + *< END OBJECT: BaseClass="header" /> + + ADD OBJECT 'grdParteneri.cDataora.Text1' AS textbox WITH ; + BackColor = 255,255,255, ; + BorderStyle = 0, ; + FontName = "Arial", ; + FontSize = 10, ; + ForeColor = 0,0,0, ; + Margin = 0, ; + Name = "Text1", ; + ReadOnly = .T., ; + SelectedBackColor = 100,185,255 + *< END OBJECT: BaseClass="textbox" /> + + ADD OBJECT 'grdParteneri.cEmail.Header1' AS header WITH ; + Alignment = 2, ; + Caption = "Email", ; + Name = "Header1" + *< END OBJECT: BaseClass="header" /> + + ADD OBJECT 'grdParteneri.cEmail.Text1' AS textbox WITH ; + BackColor = 255,255,255, ; + BorderStyle = 0, ; + ForeColor = 0,0,0, ; + Margin = 0, ; + Name = "Text1", ; + ReadOnly = .T., ; + SelectedBackColor = 100,185,255 + *< END OBJECT: BaseClass="textbox" /> + + ADD OBJECT 'grdParteneri.cInstitutiePublica._checkbox1' AS _checkbox WITH ; + Alignment = 2, ; + Caption = "", ; + Left = 53, ; + Name = "_checkbox1", ; + ReadOnly = .T., ; + Top = 51 + *< END OBJECT: ClassLib="_baza.vcx" BaseClass="checkbox" /> + + ADD OBJECT 'grdParteneri.cInstitutiePublica.Header1' AS header WITH ; + Caption = "Institutie publica", ; + Name = "Header1" + *< END OBJECT: BaseClass="header" /> + + ADD OBJECT 'grdParteneri.cInstitutiePublica.Text1' AS textbox WITH ; + BackColor = 255,255,255, ; + BorderStyle = 0, ; + ForeColor = 0,0,0, ; + Margin = 0, ; + Name = "Text1", ; + SelectedBackColor = 100,185,255 + *< END OBJECT: BaseClass="textbox" /> + + ADD OBJECT 'grdParteneri.Column1.Header1' AS header WITH ; + Alignment = 2, ; + Caption = "Id", ; + FontName = "Arial", ; + FontSize = 10, ; + Name = "Header1" + *< END OBJECT: BaseClass="header" /> + + ADD OBJECT 'grdParteneri.Column1.Text1' AS textbox WITH ; + BackColor = 255,255,255, ; + BorderStyle = 0, ; + FontName = "Arial", ; + FontSize = 10, ; + ForeColor = 0,0,0, ; + Margin = 0, ; + Name = "Text1", ; + ReadOnly = .T., ; + SelectedBackColor = 100,185,255 + *< END OBJECT: BaseClass="textbox" /> + + ADD OBJECT 'grdParteneri.Column10.Header1' AS header WITH ; + Alignment = 2, ; + Caption = "Prefix", ; + FontName = "Arial", ; + FontSize = 10, ; + Name = "Header1" + *< END OBJECT: BaseClass="header" /> + + ADD OBJECT 'grdParteneri.Column10.Text1' AS textbox WITH ; + BackColor = 255,255,255, ; + BorderStyle = 0, ; + FontName = "Arial", ; + FontSize = 10, ; + ForeColor = 0,0,0, ; + Margin = 0, ; + Name = "Text1", ; + ReadOnly = .T., ; + SelectedBackColor = 100,185,255 + *< END OBJECT: BaseClass="textbox" /> + + ADD OBJECT 'grdParteneri.Column11.Header1' AS header WITH ; + Alignment = 2, ; + Caption = "Sufix", ; + FontName = "Arial", ; + FontSize = 10, ; + Name = "Header1" + *< END OBJECT: BaseClass="header" /> + + ADD OBJECT 'grdParteneri.Column11.Text1' AS textbox WITH ; + BackColor = 255,255,255, ; + BorderStyle = 0, ; + FontName = "Arial", ; + FontSize = 10, ; + ForeColor = 0,0,0, ; + Margin = 0, ; + Name = "Text1", ; + ReadOnly = .T., ; + SelectedBackColor = 100,185,255 + *< END OBJECT: BaseClass="textbox" /> + + ADD OBJECT 'grdParteneri.Column12.Header1' AS header WITH ; + Alignment = 2, ; + Caption = "Tip persoana", ; + FontName = "Arial", ; + FontSize = 10, ; + Name = "Header1" + *< END OBJECT: BaseClass="header" /> + + ADD OBJECT 'grdParteneri.Column12.Text1' AS textbox WITH ; + BackColor = 255,255,255, ; + BorderStyle = 0, ; + FontName = "Arial", ; + FontSize = 10, ; + ForeColor = 0,0,0, ; + Margin = 0, ; + Name = "Text1", ; + ReadOnly = .T., ; + SelectedBackColor = 100,185,255 + *< END OBJECT: BaseClass="textbox" /> + + ADD OBJECT 'grdParteneri.Column13.Header1' AS header WITH ; + Alignment = 2, ; + Caption = "Motivul inactiv.", ; + FontName = "Arial", ; + FontSize = 10, ; + Name = "Header1" + *< END OBJECT: BaseClass="header" /> + + ADD OBJECT 'grdParteneri.Column13.Text1' AS textbox WITH ; + BackColor = 255,255,255, ; + BorderStyle = 0, ; + FontName = "Arial", ; + FontSize = 10, ; + ForeColor = 0,0,0, ; + Margin = 0, ; + Name = "Text1", ; + ReadOnly = .T., ; + SelectedBackColor = 100,185,255 + *< END OBJECT: BaseClass="textbox" /> + + ADD OBJECT 'grdParteneri.Column14.Check1' AS checkbox WITH ; + Alignment = 0, ; + Caption = "", ; + Centered = .T., ; + FontName = "Arial", ; + FontSize = 10, ; + Height = 17, ; + Left = 17, ; + Name = "Check1", ; + ReadOnly = .T., ; + Top = 49, ; + Width = 60 + *< END OBJECT: BaseClass="checkbox" /> + + ADD OBJECT 'grdParteneri.Column14.Header1' AS header WITH ; + Alignment = 2, ; + Caption = "Inactiv", ; + FontName = "Arial", ; + FontSize = 10, ; + Name = "Header1" + *< END OBJECT: BaseClass="header" /> + + ADD OBJECT 'grdParteneri.Column2.Header1' AS header WITH ; + Alignment = 2, ; + Caption = "Denumire", ; + FontName = "Arial", ; + FontSize = 10, ; + Name = "Header1" + *< END OBJECT: BaseClass="header" /> + + ADD OBJECT 'grdParteneri.Column2.Text1' AS textbox WITH ; + BackColor = 255,255,255, ; + BorderStyle = 0, ; + FontName = "Arial", ; + FontSize = 10, ; + ForeColor = 0,0,0, ; + Margin = 0, ; + Name = "Text1", ; + ReadOnly = .T., ; + SelectedBackColor = 100,185,255 + *< END OBJECT: BaseClass="textbox" /> + + ADD OBJECT 'grdParteneri.Column21.Header1' AS header WITH ; + Alignment = 2, ; + Caption = "SWIFT", ; + Name = "Header1" + *< END OBJECT: BaseClass="header" /> + + ADD OBJECT 'grdParteneri.Column21.Text1' AS textbox WITH ; + BackColor = 255,255,255, ; + BorderStyle = 0, ; + ForeColor = 0,0,0, ; + Margin = 0, ; + Name = "Text1", ; + ReadOnly = .T., ; + SelectedBackColor = 100,185,255 + *< END OBJECT: BaseClass="textbox" /> + + ADD OBJECT 'grdParteneri.Column22.Header1' AS header WITH ; + Alignment = 2, ; + Caption = "Adresa banca", ; + Name = "Header1" + *< END OBJECT: BaseClass="header" /> + + ADD OBJECT 'grdParteneri.Column22.Text1' AS textbox WITH ; + BackColor = 255,255,255, ; + BorderStyle = 0, ; + ForeColor = 0,0,0, ; + Margin = 0, ; + Name = "Text1", ; + ReadOnly = .T., ; + SelectedBackColor = 100,185,255 + *< END OBJECT: BaseClass="textbox" /> + + ADD OBJECT 'grdParteneri.Column3.Header1' AS header WITH ; + Alignment = 2, ; + Caption = "C.I.F. / C.N.P.", ; + FontName = "Arial", ; + FontSize = 10, ; + Name = "Header1" + *< END OBJECT: BaseClass="header" /> + + ADD OBJECT 'grdParteneri.Column3.Text1' AS textbox WITH ; + BackColor = 255,255,255, ; + BorderStyle = 0, ; + FontName = "Arial", ; + FontSize = 10, ; + ForeColor = 0,0,0, ; + Margin = 0, ; + Name = "Text1", ; + ReadOnly = .T., ; + SelectedBackColor = 100,185,255 + *< END OBJECT: BaseClass="textbox" /> + + ADD OBJECT 'grdParteneri.Column4.Header1' AS header WITH ; + Alignment = 2, ; + Caption = "Reg. Comert", ; + FontName = "Arial", ; + FontSize = 10, ; + Name = "Header1" + *< END OBJECT: BaseClass="header" /> + + ADD OBJECT 'grdParteneri.Column4.Text1' AS textbox WITH ; + BackColor = 255,255,255, ; + BorderStyle = 0, ; + FontName = "Arial", ; + FontSize = 10, ; + ForeColor = 0,0,0, ; + Margin = 0, ; + Name = "Text1", ; + ReadOnly = .T., ; + SelectedBackColor = 100,185,255 + *< END OBJECT: BaseClass="textbox" /> + + ADD OBJECT 'grdParteneri.Column6.Header1' AS header WITH ; + Alignment = 2, ; + Caption = "Nume", ; + FontName = "Arial", ; + FontSize = 10, ; + Name = "Header1" + *< END OBJECT: BaseClass="header" /> + + ADD OBJECT 'grdParteneri.Column6.Text1' AS textbox WITH ; + BackColor = 255,255,255, ; + BorderStyle = 0, ; + FontName = "Arial", ; + FontSize = 10, ; + ForeColor = 0,0,0, ; + Margin = 0, ; + Name = "Text1", ; + ReadOnly = .T., ; + SelectedBackColor = 100,185,255 + *< END OBJECT: BaseClass="textbox" /> + + ADD OBJECT 'grdParteneri.Column7.Header1' AS header WITH ; + Alignment = 2, ; + Caption = "Prenume", ; + FontName = "Arial", ; + FontSize = 10, ; + Name = "Header1" + *< END OBJECT: BaseClass="header" /> + + ADD OBJECT 'grdParteneri.Column7.Text1' AS textbox WITH ; + BackColor = 255,255,255, ; + BorderStyle = 0, ; + FontName = "Arial", ; + FontSize = 10, ; + ForeColor = 0,0,0, ; + Margin = 0, ; + Name = "Text1", ; + ReadOnly = .T., ; + SelectedBackColor = 100,185,255 + *< END OBJECT: BaseClass="textbox" /> + + ADD OBJECT 'grdParteneri.Column8.Header1' AS header WITH ; + Alignment = 2, ; + Caption = "Banca", ; + FontName = "Arial", ; + FontSize = 10, ; + Name = "Header1" + *< END OBJECT: BaseClass="header" /> + + ADD OBJECT 'grdParteneri.Column8.Text1' AS textbox WITH ; + BackColor = 255,255,255, ; + BorderStyle = 0, ; + FontName = "Arial", ; + FontSize = 10, ; + ForeColor = 0,0,0, ; + Margin = 0, ; + Name = "Text1", ; + ReadOnly = .T., ; + SelectedBackColor = 100,185,255 + *< END OBJECT: BaseClass="textbox" /> + + ADD OBJECT 'grdParteneri.Column9.Header1' AS header WITH ; + Alignment = 2, ; + Caption = "Cont banca", ; + FontName = "Arial", ; + FontSize = 10, ; + Name = "Header1" + *< END OBJECT: BaseClass="header" /> + + ADD OBJECT 'grdParteneri.Column9.Text1' AS textbox WITH ; + BackColor = 255,255,255, ; + BorderStyle = 0, ; + FontName = "Arial", ; + FontSize = 10, ; + ForeColor = 0,0,0, ; + Margin = 0, ; + Name = "Text1", ; + ReadOnly = .T., ; + SelectedBackColor = 100,185,255 + *< END OBJECT: BaseClass="textbox" /> + + ADD OBJECT 'grdParteneri.cTelefon.Header1' AS header WITH ; + Alignment = 2, ; + Caption = "Telefon", ; + Name = "Header1" + *< END OBJECT: BaseClass="header" /> + + ADD OBJECT 'grdParteneri.cTelefon.Text1' AS textbox WITH ; + BackColor = 255,255,255, ; + BorderStyle = 0, ; + ForeColor = 0,0,0, ; + Margin = 0, ; + Name = "Text1", ; + ReadOnly = .T., ; + SelectedBackColor = 100,185,255 + *< END OBJECT: BaseClass="textbox" /> + + ADD OBJECT 'grdParteneri.cUtilizator.Header1' AS header WITH ; + Alignment = 2, ; + Caption = "Utilizator adaugare/modificare", ; + FontName = "Arial", ; + FontSize = 10, ; + Name = "Header1" + *< END OBJECT: BaseClass="header" /> + + ADD OBJECT 'grdParteneri.cUtilizator.Text1' AS textbox WITH ; + BackColor = 255,255,255, ; + BorderStyle = 0, ; + FontName = "Arial", ; + FontSize = 10, ; + ForeColor = 0,0,0, ; + Margin = 0, ; + Name = "Text1", ; + ReadOnly = .T., ; + SelectedBackColor = 100,185,255 + *< END OBJECT: BaseClass="textbox" /> + + ADD OBJECT 'grdTipParteneri' AS _grdrow WITH ; + Anchor = 9, ; + ColumnCount = 1, ; + crgb_row = 255,255,255, ; + DeleteMark = .F., ; + GridLineColor = 192,192,192, ; + Height = 292, ; + Left = 552, ; + Name = "grdTipParteneri", ; + Panel = 1, ; + RecordMark = .F., ; + RecordSource = "crscoresp_tip_parteneri", ; + RowHeight = 19, ; + TabIndex = 13, ; + Tag = "HL", ; + Top = 80, ; + Width = 136, ; + ZOrderSet = 10, ; + Column1.ControlSource = "crscoresp_tip_parteneri.tip_partener", ; + Column1.FontName = "Arial", ; + Column1.FontSize = 10, ; + Column1.Name = "Column1", ; + Column1.Width = 93 + *< END OBJECT: ClassLib="_grd_base.vcx" BaseClass="grid" /> + + ADD OBJECT 'grdTipParteneri.Column1.Header1' AS header WITH ; + Alignment = 2, ; + Caption = "Tip", ; + FontName = "Arial", ; + FontSize = 10, ; + Name = "Header1" + *< END OBJECT: BaseClass="header" /> + + ADD OBJECT 'grdTipParteneri.Column1.Text1' AS textbox WITH ; + BackColor = 255,255,255, ; + BorderStyle = 0, ; + FontName = "Arial", ; + FontSize = 10, ; + ForeColor = 0,0,0, ; + Margin = 0, ; + Name = "Text1", ; + SelectedBackColor = 100,185,255 + *< END OBJECT: BaseClass="textbox" /> + + ADD OBJECT 'Gridextra1' AS gridextra WITH ; + gridexpression = Thisform.grdParteneri, ; + Left = 404, ; + Name = "Gridextra1", ; + productname = ROA, ; + Top = 275 + *< END OBJECT: ClassLib="..\utile\gridextras\gridextras.vcx" BaseClass="custom" /> + + ADD OBJECT 'Lb_simplu3' AS lb_simplu WITH ; + Anchor = 8, ; + Caption = "Tip(uri) entitate selectata", ; + Comment = "*:OnResize=RT", ; + Left = 545, ; + Name = "Lb_simplu3", ; + TabIndex = 19, ; + Tag = "L", ; + Top = 64, ; + ZOrderSet = 14 + *< END OBJECT: ClassLib="lb.vcx" BaseClass="label" /> + + PROCEDURE Activate + thisform.WindowState = 2 + THIS.Refresh + ENDPROC + + PROCEDURE actualizeaza_contracte + LPARAMETERS pcFiltru + + LOCAL lcFiltru + lcFiltru = pcFiltru + + IF EMPTY(lcFiltru) + lcFiltru = poContracte.ca_baza1.cfiltru + ENDIF + save_grid_comment(this._pageframe1.page3.grd_contracte) + poContracte.ca_baza1.cfiltru = lcfiltru + poContracte.ca_baza1.afisare() + + restore_grid_comment(this._pageframe1.page3.grd_contracte) + ENDPROC + + PROCEDURE actualizeaza_grid1 + LPARAMETERS pcFiltru + + && Parteneri + LOCAL lcFiltru + lcFiltru = pcFiltru + IF EMPTY(lcFiltru) + lcFiltru = poparteneri.ca_baza1.cfiltru + ENDIF + save_grid_comment(This.grdParteneri) + poparteneri.ca_baza1.cfiltru = lcfiltru + poparteneri.ca_baza1.afisare() + restore_grid_comment(This.grdParteneri) + Select CRSPARTENERI + IF (RECCOUNT()=0) + aMESSAGEBOX("Cautarea nu a intors rezultate!",0+64,"Info cautare") + ENDIF + + + + ENDPROC + + PROCEDURE actualizeaza_grid2 + LPARAMETERS pcFiltru + + * Daca este vizualizare de clienti, furnizori etc., nu exista gridul grdTipParteneri + IF TYPE('This.grdTipParteneri.height') = 'U' + RETURN + ENDIF + + && tipuri + LOCAL lcFiltru + lcFiltru = pcFiltru + IF EMPTY(lcFiltru) + lcFiltru = poparteneri.ca_baza1.cfiltru + ENDIF + save_grid_comment(This.grdTipParteneri) + pocoresp_tip_parteneri.ca_baza1.cfiltru = lcfiltru + pocoresp_tip_parteneri.ca_baza1.afisare() + restore_grid_comment(This.grdTipParteneri) + Select crscoresp_tip_parteneri + Go Top + IF (RECCOUNT()=0) + * WAIT "Acest partener nu are setat tipul." WINDOW NOWAIT + ELSE + ** thisform.grdParteneri.SetFocus() + ENDIF + + + ENDPROC + + PROCEDURE actualizeaza_grid3 + LPARAMETERS pcFiltru + + *!* LOCAL lcFiltru + *!* lcFiltru = pcFiltru + *!* IF EMPTY(lcFiltru) + *!* lcFiltru = poAdrese.ca_baza1.cfiltru + *!* ENDIF + *!* save_grid_comment(This.grdAdrese) + *!* poAdrese.ca_baza1.cfiltru = lcfiltru + *!* poAdrese.ca_baza1.afisare() + *!* restore_grid_comment(This.grdAdrese) + + LOCAL lcFiltru + lcFiltru = pcFiltru + IF EMPTY(lcFiltru) + lcFiltru = poAdrese.ca_baza1.cfiltru + ENDIF + save_grid_comment(this._pageframe1.page1.grdAdrese) + poAdrese.ca_baza1.cfiltru = lcfiltru + poAdrese.ca_baza1.afisare() + restore_grid_comment(this._pageframe1.page1.grdAdrese) + + ENDPROC + + PROCEDURE actualizeaza_grid4 + LPARAMETERS pcFiltru + + *!* LOCAL lcFiltru + *!* lcFiltru = pcFiltru + *!* IF EMPTY(lcFiltru) + *!* lcFiltru = poPers.ca_baza1.cfiltru + *!* ENDIF + *!* save_grid_comment(This._grdrow4) + *!* poPers.ca_baza1.cfiltru = lcfiltru + *!* poPers.ca_baza1.afisare() + *!* restore_grid_comment(This._grdrow4) + + LOCAL lcFiltru + lcFiltru = pcFiltru + IF EMPTY(lcFiltru) + lcFiltru = poPers.ca_baza1.cfiltru + ENDIF + save_grid_comment(this._pageframe1.paGE2.grdPersoane) + poPers.ca_baza1.cfiltru = lcfiltru + poPers.ca_baza1.afisare() + restore_grid_comment(this._pageframe1.paGE2.grdPersoane) + ENDPROC + + PROCEDURE DblClick + thisform.cmd_executa1.Visible = .T. + ENDPROC + + PROCEDURE do_adauga + IF !EMPTY(thisform.id_tip_part) OR !EMPTY(thisform.special) + loPartener = nom_parteneri_nou(Thisform.id_tip_part,Thisform.lb_titlu_alb_b121.Caption,thisform.special,Thisform.ntip_persoana_default) &&in onomenclatoare.prg + ELSE + loPartener = nom_parteneri_nou() &&in onomenclatoare.prg + ENDIF + IF gnButon = 1 + THISFORM.actualizeaza_grid1() + ENDIF + + + ENDPROC + + PROCEDURE do_adauga2 + LOCAL loRec, lnIdPart + + lnIdPart = crsparteneri.id_part + IF ISNULL(lnIdPart) OR EMPTY(lnIdPart) + RETURN + ENDIF + *!* Scatter Name loRecPart + *!* Private pnId_part + *!* pnId_part = loRecPart.id_part + + *!* =cclocalitati() + *!* =ccJudete() + *!* =ccTari() + + *!* Select crsAdrese + *!* Scatter Name loRec Blank + *!* Do Adauga_Modifica_Inregistrare With "parteneri_adrese",loRec,,"INSERT" In oproceduri_ams.prg + + *!* =close_cclocalitati() + *!* =close_ccJudete() + *!* =close_ccTari() + loRec = adrese_parteneri_nou(lnIdPart) && onomenclatoare.prg + + IF !ISNULL(loRec) + Thisform.actualizeaza_grid3() + ENDIF + + + ENDPROC + + PROCEDURE do_adauga3 + SELECT crsparteneri + SCATTER NAME loRecPart + PRIVATE pnId_part + pnId_part = loRecPart.id_part + + SELECT crsPers_contact + SCATTER NAME loRec BLANK + DO Adauga_Modifica_Inregistrare WITH "pers_contact",loRec,,"INSERT" IN oproceduri_ams.prg + + thisform.actualizeaza_grid4() + + + ENDPROC + + PROCEDURE do_adauga_contract + *!* SELECT crsParteneri + *!* pnCtrIdPart = id_part + *!* pcCtrDenumirePart = denumire + + SELECT crsparteneri + SCATTER NAME loRecPart + + *!* PRIVATE pnId_part && sa am deja completat numele partenerului (si sa nu mai poata sa-l modifice) + *!* pnId_part = loRecPart.id_part + + *!* SELECT crsContracte + *!* SCATTER NAME loRec BLANK + *!* DO Adauga_Modifica_Inregistrare WITH "contract",loRec,,"INSERT" IN oproceduri_ams.prg + IF gcAppName = 'ROAACNPRO' OR This.id_tip_part = 16 + DO contracte_nou WITH loRecPart.id_part, -1 && tip contract = CLIENTI + ELSE + DO contracte_nou WITH loRecPart.id_part + ENDIF + && sa am deja completat numele partenerului (si sa nu mai poata sa-l modifice) + + thisform.actualizeaza_contracte() + + + ENDPROC + + PROCEDURE do_cauta + Private lcfiltru,lcval1 + lcfiltru = '' + + If ThisForm.Ck_filtru_denumire.Value = 1 + lcfiltru = lcfiltru + thisform.Ck_filtru_denumire.filtru + ENDIF + + If ThisForm.Ck_filtru_nume.Value = 1 + lcfiltru = lcfiltru + thisform.ck_filtru_nume.filtru + ENDIF + + If ThisForm.Ck_filtru_prenume.Value = 1 + lcfiltru = lcfiltru + thisform.ck_filtru_prenume.filtru + Endif + + If ThisForm.Ck_tip_entitate.Value = 1 + If !empty(ThisForm.temporar_id_tip_part) + lcfiltru = lcfiltru + [ and p.id_tip_part = ] + ALLTRIM(STR(thisform.temporar_id_tip_part)) + ENDIF + ENDIF + + + If ThisForm.Ck_cod_fiscal.Value = 1 + lcfiltru = lcfiltru + thisform.ck_cod_fiscal.filtru + ENDIF + + If ThisForm.Ck_reg_comert.Value = 1 + lcfiltru = lcfiltru + thisform.ck_reg_comert.filtru + ENDIF + + If Thisform.ck_filtru_categorie.Value = 1 + lcFiltru = lcFiltru + Thisform.ck_filtru_categorie.filtru + Endif + + If !Empty(lcfiltru) + lcfiltru = Substr(lcfiltru,5) + Else + lcfiltru = [1=1] + ENDIF + + thisform.actualizeaza_grid1(lcFiltru) + thisform.grdParteneri.SetFocus() + thisform.RefreshTabele() + ENDPROC + + PROCEDURE do_copiaza + LOCAL lnButon, loPartener + + SELECT crsparteneri + SCATTER NAME loPartener + IF !EMPTY(thisform.id_tip_part) OR !EMPTY(thisform.special) + lnButon = nom_parteneri_copiaza(m.loPartener,Thisform.nid_tip_part,Thisform.ntip_persoana_default,thisform.special,Thisform.lb_titlu_alb_b121.Caption) && onom_parteneri.prg + ELSE + lnButon = nom_parteneri_copiaza(m.loPartener) && onom_parteneri.prg + ENDIF + + IF m.lnButon = 1 + THISFORM.actualizeaza_grid1() + ENDIF + ENDPROC + + PROCEDURE do_excel + *!* If !Thisform.lactiv1 + *!* Return + *!* Endif + + Local lcAlias, lcFiltru, lcColumnList, lcHeaderList, lcSelect, lcOutput, lcFrom, lcWhere, lcOrder + + If !Used('crsParteneri') Or Reccount('crsParteneri') = 0 + Return + Endif + + lcAlias = 'crsParteneri' + lcFiltru = Filter(lcAlias) + If Empty(lcFiltru) + lcFiltru = '.T.' + Endif + + + lcColumnList = '' + lcHeaderList = '' + lcSelect = '' + llSelect = .T. + lcType = 'CURSOR' + lcFrom = lcAlias + lcWhere = lcFiltru + lcOrder = 'denumire' + lcOutput = 'crsP' + + get_schema_grid(This.grdParteneri, @lcColumnList, @lcHeaderList, @lcSelect, llSelect, lcType, lcFrom, lcWhere, lcOrder, lcOutput) + *!*MESSAGEBOX(lcSelect) + &lcSelect + + If Used(lcOutput) + Do export_xls With lcOutput IN oproceduri_comune.prg + Use In (lcOutput) + Endif + + Return + ENDPROC + + PROCEDURE do_executa + Local loUnificarePart As "frm_parteneri_unificare" + Local lcMesaj, lcParola, lcPerioada, llSucces, lnFinal, lnInit, lnRaspuns, loPart + PRIVATE pdData1, pnAn1, pnAn2, pnIdPartBun, pnIdPartProst, pnLuna1, pnLuna2, pnLunaMinima + SELECT crsParteneri + SCATTER NAME loPart + IF loPart.id_part = 0 + RETURN + ENDIF + + lcParola = INPUTBOX('Parola','Parola','') + IF lcParola # TRANSFORM(YEAR(DATE())) + PADL(TRANSFORM(MONTH(DATE())),2,'0') + PADL(TRANSFORM(DAY(DATE())),2,'0') + RETURN + ENDIF + + PRIVATE xrec + xrec = Createobject('custom') + xrec.AddProperty('id_part1', loPart.id_part) + xrec.AddProperty('numepart1', ALLTRIM(loPart.denumire)) + xrec.AddProperty('id_part2', 0) + xrec.AddProperty('numepart2', '') + + xrec.AddProperty('lunai', Padl(Alltrim(Str(gnLuna)), 2, '0')) + xrec.AddProperty('lunaf', Padl(Alltrim(Str(gnLuna)), 2, '0')) + xrec.AddProperty('ani', Alltrim(Str(gnAn))) + xrec.AddProperty('anf', Alltrim(Str(gnAn))) + + xrec.AddProperty('verificarelunai', .T.) + xrec.AddProperty('datai', {//}) + + + loUnificarePart = CREATEOBJECT("frm_parteneri_unificare") + loUnificarePart.show(1) + IF gnButon = 2 + RETURN + ENDIF + IF EMPTY(NVL(xrec.id_part2,0)) + RETURN + ENDIF + + + pnAn1 = INT(VAL(xrec.ani)) + pnLuna1 = INT(VAL(xrec.lunai)) + pnAn2 = INT(VAL(xrec.anf)) + pnLuna2 = INT(VAL(xrec.lunaf)) + pdData1 = IIF(EMPTY(NVL(xrec.datai,{})), null, xrec.datai) + + pnIdPartProst = xrec.id_part1 + pnIdPartBun = xrec.id_part2 + pnLunaMinima = IIF(xrec.verificarelunai, 0, 1) + + lnInit = pnAn1 * 12 + pnLuna1 + lnFinal = pnAn2 * 12 + pnLuna2 + lcPerioada = IIF(!EMPTY(NVL(m.pdData1, {})), DTOC(m.pdData1), xrec.lunai +'/'+ xrec.ani) + ' - ' + xrec.lunaf +'/'+ xrec.anf + + lnRaspuns = aMESSAGEBOX('Doriti sa inlocuiti in baza de date ' + CHR(13) + ; + 'Perioada: ' + lcPerioada + CHR(13) + ; + ALLTRIM(xrec.numepart1) + '(' + TRANSFORM(xrec.id_part1) +')' + CHR(13) + ; + 'cu ' + ALLTRIM(xrec.numepart2) + '(' + TRANSFORM(xrec.id_part2) +')?' + ; + IIF(!EMPTY(NVL(m.pdData1, {})), CHR(13) + CHR(13) + 'ATENTIE! Trebuie sa dati redeschideri de luna incepand cu ' + DTOC(m.pdData1) + ' pentru ca faceti modificari pe o luna partiala', ''); + ,4+32,'Inlocuire ID Partener') + IF m.lnRaspuns # 6 + RETURN + ENDIF + SET STEP ON + llSucces = goExecutor.oExecuta("BEGIN PACK_PARTENERI.IDPART2IDPART(?pnIdPartProst, ?pnIdPartBun, ?pnAn1, ?pnLuna1, ?pnAn2, ?pnLuna2, ?pnLunaMinima, ?pdData1); END;") + + IF m.llSucces + lcMesaj = 'S-au terminat modificarile!' + aMESSAGEBOX(lcMesaj,0+64,"Info") + ENDIF + + ENDPROC + + PROCEDURE do_reset + *!* This.ck_filtru_denumire.Value = 0 + *!* This.ck_filtru_nume.Value = 0 + *!* This.ck_filtru_prenume.Value = 0 + *!* This.Ck_cod_fiscal.Value = 0 + *!* This.ck_tip_entitate.Value = 0 + *!* This.Ck_reg_comert.Value = 0 + *!* This.ck_filtru_categorie.Value = 0 + *!* This.Ck_filtru_cont.Value = 0 + + + With This + For i=1 To .Objects.Count + If Upper(.Objects(i).BaseClass)='CHECKBOX' + .Objects(i).Value=0 + Endif + Endfor + ENDWITH + + This.ck_filtru_denumire.SetFocus() + + ENDPROC + + PROCEDURE do_verifica + #DEFINE CRLF CHR(13) + CHR(10) + + LOCAL lcFilter, lcSelect, lcWhere, llAutoVerificare, llMFIN, llValidare, llVerificarePlatitorTVA, lnOptiune + LOCAL loDate AS "empty" + LOCAL lcCodFiscal, lcDenumire, lcNume, llDontCloseCursor, llExperimental, llServiciuWebANAF + LOCAL lnRaspuns, loPartener + + lcSelect = SELECT() + lcNume = ALLTRIM(crsparteneri.denumire) + lcDenumire = ALLTRIM(crsparteneri.denumire) + lcCodFiscal = crsparteneri.cod_fiscal + + IF EMPTY(NVL(m.lcNume, '')) + RETURN + ENDIF + lnOptiune = XMENU('VERIFICA... ' + m.lcNume + ';VERIFICA TOTI PARTENERII - ANAF (EXTRA RAPID)') + + IF !BETWEEN(m.lnOptiune, 1, 2) + RETURN + ENDIF + + IF lnOptiune = 1 + lnOptiune = 0 + loPartener = NULL + loDate = CREATEOBJECT("empty") + + ADDPROPERTY(loDate, "denumire", m.lcDenumire) + ADDPROPERTY(loDate, "cod_fiscal", m.lcCodFiscal) + ADDPROPERTY(loDate, "judet", "") + ADDPROPERTY(loDate, "cod_auto", "") + ADDPROPERTY(loDate, "cod_judet", "") + *ADDPROPERTY(loDate, "mesaj_intrebare", 'Doriti sa se completeze datele in formular?') + + lnRaspuns = VerificaCodFiscal(loDate, @lnOptiune, @loPartener) + ELSE + llVerificarePlatitorTVA = .F. && verific VIES pentru toti partenerii + llMFIN = .T. && verific MFIN pentru toata lumea + llValidare = .T. && verific algoritmul codurilor fiscale + llAutoVerificare = .T. && lanseaza verificarea automata la activate-ul formularului de verificare + llExperimental = .T. + llServiciuWebANAF = .T. + llDontCloseCursor = .F. + + lcFilter = FILTER("crsparteneri") + lcWhere = IIF(m.lnOptiune = 1, "recno() = " + ALLTRIM(STR(RECNO())), IIF(!EMPTY(m.lcFilter), m.lcFilter, ".T.")) + SELECT DISTINCT id_part, cod_fiscal, denumire, IIF(LEFT(UPPER(cod_fiscal), 2) = "RO", "RO", " ") AS ATRIBUT_FISCAL, .T. AS IsCIF, .F. AS codvalid ; + FROM crsparteneri ; + WHERE &lcWhere ; + INTO CURSOR crsCoduriFiscale ; + ORDER BY denumire, cod_fiscal ; + READWRITE + + + LOCAL lcXMLParteneri + lcXMLParteneri = "" + CURSORTOXML('crsCoduriFiscale', "lcXMLParteneri", 1, 0, 0, "1") + + *DO verificare_parteneri WITH m.lcXMLParteneri, m.llValidare, m.llMFIN, m.llVerificarePlatitorTVA, m.llAutoVerificare + DO verificare_parteneri WITH m.lcXMLParteneri, m.llValidare, m.llMFIN, m.llVerificarePlatitorTVA, m.llAutoVerificare, m.llDontCloseCursor, m.llExperimental, m.llServiciuWebANAF + ENDIF + ENDPROC + + PROCEDURE inainte_de_do_modifica + LOCAL loRec, lnIdPart + + If Reccount('crsparteneri')>0 + Select crsparteneri + lnIdPart = id_part + Scatter Name loRec + + IF !EMPTY(thisform.id_tip_part) AND !EMPTY(thisform.special) + IF !EMPTY(thisform.mesaj) + loRec=nom_parteneri_modifica(lnIdPart,thisform.id_tip_part,,thisform.special,thisform.mesaj) &&in onomenclatoare.prg + ELSE + loRec=nom_parteneri_modifica(lnIdPart,thisform.id_tip_part,,thisform.special) &&in onomenclatoare.prg + ENDIF + ELSE + loRec = nom_parteneri_modifica(lnIdPart) + ENDIF + + IF !ISNULL(loRec) + Thisform.MousePointer= 11 + Thisform.LockScreen=.T. + Thisform.actualizeaza_grid1() + SELECT crsParteneri + LOCATE FOR id_part = lorec.id_part + IF !FOUND() + GO top + ENDIF + thisform.grdParteneri.SetFocus() + Thisform.LockScreen=.F. + Thisform.MousePointer= 0 + Endif + Endif + ENDPROC + + PROCEDURE inainte_de_do_modifica2 + LOCAL lnIdAdresa, loRec + + SELECT crsAdrese + IF RECCOUNT('crsAdrese')>0 + lnIdAdresa = id_adresa + *!* SCATTER NAME loRec + *!* + *!* =cclocalitati() + *!* =ccJudete() + *!* =ccTari() + + *!* DO Adauga_Modifica_Inregistrare WITH "parteneri_adrese",loRec,loRec.ID_adresa,"UPDATE" IN oproceduri_ams.prg + *!* + *!* =close_cclocalitati() + *!* =close_ccJudete() + *!* =close_ccTari() + loRec = adrese_parteneri_modifica(lnIdAdresa) && onomenclatoare.prg + IF !ISNULL(loRec) + THISFORM.actualizeaza_grid3() + SELECT crsAdrese + LOCATE FOR id_adresa = lnIdAdresa + IF !FOUND() + LOCATE + ENDIF + ENDIF + this._pageframe1.page1.grdAdrese.SetFocus() + ENDIF + + ENDPROC + + PROCEDURE inainte_de_do_modifica3 + LOCAL lnRecno + STORE 0 TO lnRecno + + SELECT crsPers_contact + IF RECCOUNT('crsPers_contact')>0 + lnRecno = RECNO() + SCATTER NAME loRec + + DO Adauga_Modifica_Inregistrare WITH "pers_contact",loRec,loRec.id_pers,"UPDATE" IN oproceduri_ams.prg + + THISFORM.actualizeaza_grid4() + SELECT crsPers_contact + GOTO lnRecno + this._pageframe1.page2.grdPersoane.SETFOCUS() + + ENDIF + ENDPROC + + PROCEDURE inainte_de_do_modifica_contract + LOCAL lnRecno + STORE 0 TO lnRecno + + SELECT crsContracte + IF RECCOUNT('crsContracte')>0 + lnRecno = RECNO() + SCATTER NAME loRec + *!* modificare ROACONT v 2.2.9 + AddProperty(loRec,"numar2","") + If Type('loRec.curs')='U' + AddProperty(loRec,"curs",0) + Endif + *!* modificare ROACONT v 2.2.9 ^ + DO Adauga_Modifica_Inregistrare WITH "contract",loRec,loRec.id_ctr,"UPDATE" IN oproceduri_ams.prg + + THISFORM.actualizeaza_contracte() + SELECT crsContracte + GOTO lnRecno + this._pageframe1.page3.grd_contracte.SetFocus() + ENDIF + ENDPROC + + PROCEDURE inainte_de_do_sterge + LOCAL lnSucces + SELECT crsparteneri + SCATTER NAME loRec + *!* SQLSETPROP(gnHandle,"Transactions",2) && tranzactie manuala + + ****inceput exceptii*** + IF gnId_prg_owner = 69 + PRIVATE lnId_tip_part + lnId_tip_part = thisform.id_tip_part + *!* lnIdPart,thisform.id_tip_part,,thisform.special,thisform.mesaj + lcSel = [{call pack_def.get_partener_tipuri(?loRec.id_part, ?lnId_tip_part , 0)}] + lcCursor = 'v_nom_tip_parteneri' + lnSucces = goExecutor.oExecute(lcSel,lcCursor) + + IF lnSucces < 0 + amessagebox(goExecutor.cEroare,0+16,"Eroare") + RETURN + ENDIF + =cctipuri_selectate(loRec.id_part) + IF RECCOUNT('v_nom_tip_parteneri_selectati')>1 + IF thisform.id_tip_part<>0 AND thisform.special<>0 AND !EMPTY(thisform.mesaj) + aMESSAGEBOX(thisform.mesaj,16,'Atentie!') + RETURN NULL + ENDIF + ENDIF + + IF RECCOUNT('v_nom_tip_parteneri_selectati')=1 AND v_nom_tip_parteneri_selectati.id_tip_part <> thisform.id_tip_part + aMESSAGEBOX(thisform.mesaj,16,'Atentie!') + RETURN NULL + ENDIF + ENDIF + ****sfarsit exceptii*** + + llSucces = .F. + *!* lnSucces = -1 + + llSucces = sterge_inregistrare("parteneri",loRec.id_part) + *!* IF llSucces + *!* lcSql = [DELETE FROM ] + gcS + [.CORESP_TIP_PART WHERE ID_PART = ] + ALLTRIM(STR(loRec.id_part)) + *!* lnSucces = goExecutor.oExecute(lcSql) + *!* ENDIF + *!* IF lnSucces > 0 + *!* SQLCOMMIT(gnHandle) + *!* ELSE + *!* SQLROLLBACK(gnHandle) + *!* ENDIF + *!* SQLSETPROP(gnHandle,"Transactions",1) && tranzactie automata + + IF llSucces + SELECT crsparteneri + THISFORM.actualizeaza_grid1() + ENDIF + + ENDPROC + + PROCEDURE inainte_de_do_sterge2 + If Reccount('crsAdrese')>0 + Local loRec + Select crsAdrese + Scatter Name loRec + Do STERGE_INREGISTRARE With "parteneri_adrese",loRec.id_adresa + This.actualizeaza_grid3() + Endif + + ENDPROC + + PROCEDURE inainte_de_do_sterge3 + If Reccount('crsPers_contact')>0 + Local loRec + Select crsPers_contact + Scatter Name loRec + Do STERGE_INREGISTRARE With "pers_contact",loRec.id_pers + This.actualizeaza_grid4() + Endif + + ENDPROC + + PROCEDURE inainte_de_do_sterge_contract + If Reccount('crsContracte')>0 + Local loRec + Select crsContracte + Scatter Name loRec + Do STERGE_INREGISTRARE With "contract",loRec.id_ctr + This.actualizeaza_contracte() + Endif + + ENDPROC + + PROCEDURE Init + Lparameters tnIdTipPart,tnSpecial,tcMesaj, tcTitlu, tnTipPersoana + DoDefault() + Thisform.id_tip_part=tnIdTipPart + Thisform.Special=tnSpecial + Thisform.mesaj=tcMesaj + + Thisform.lb_titlu_alb_b121.Caption=tcTitlu + If Empty(tnTipPersoana) + Thisform.ntip_persoana_default = 1 + Else + Thisform.ntip_persoana_default = tnTipPersoana + Endif + + * Sterg gridul Tip Parteneri daca intru cu un sigur tip (Clienti, Furnizori etc.) + If !EMPTY(NVL(tnIdTipPart,0)) AND !Inlist(tnIdTipPart,gnIdTipDelegati) + With Thisform.grdParteneri + lnAnchor = .Anchor + .Anchor = 0 + .Width = Thisform.grdTipParteneri.Left + Thisform.grdTipParteneri.Width + Thisform.RemoveObject('grdTipParteneri') + .Anchor = lnAnchor + Endwith + Thisform.Refresh() + Endif + + If !EMPTY(m.tnIdTipPart) AND !Inlist(Upper(tcTitlu),[CLIENTI],[CLIENÞI],[FURNIZORI]) + Thisform.but_verifica1.Visible = .F. + Thisform.but_copiaza1.Visible = .F. + ENDIF + + thisform.gridextra1.setup() + thisform._pageframe1.page1.gridextra1.setup() + thisform._pageframe1.page2.gridextra1.setup() + thisform._pageframe1.page3.gridextra1.setup() + thisform._pageframe1.page4.gridextra1.setup() + ENDPROC + + PROCEDURE modifica_cont + ENDPROC + + PROCEDURE refreshtabele + LOCAL lcFiltru + lcFiltru = [ID_PART = ] + Alltrim(Str(crsparteneri.id_part)) + Thisform.actualizeaza_grid2(m.lcFiltru) + Thisform.actualizeaza_grid3(m.lcFiltru) + Thisform.actualizeaza_grid4(m.lcFiltru) + Thisform.actualizeaza_contracte(m.lcFiltru) + + ENDPROC + + PROCEDURE Resize + THISFORM.Refresh() + *this.resizer1.onresize + ENDPROC + + PROCEDURE sterge_cont + ENDPROC + + PROCEDURE ck_tip_entitate.Valid + IF this.Value = 1 + pcselect = [select tip_partener,id_tip_part from VNOM_TIP_PARTENERI] + pcfiltru = [] + pcschema = [] + pcorder = [tip_partener] + pccoloane = [tip_partener] + pcTitlu = [Tip partener] + pcTitluColoane = [Tip partener] + pcFiltruOriginal = [inactiv = 0] + locauta = cauta_alfa(pcselect,pcfiltru,pcschema,pcorder,pccoloane,pcTitlu,pcTitluColoane,"",.f.,pcFiltruOriginal) && 11.07.2007 + + thisform.temporar_id_tip_part = locauta.id_tip_part + ENDIF + ENDPROC + + PROCEDURE grdParteneri.AfterRowColChange + LPARAMETERS nColIndex + DODEFAULT() + LOCAL lcFiltru2 + IF INLIST(this.RowColChange,1,3) + Thisform.RefreshTabele() + ENDIF + + ENDPROC + + PROCEDURE grdParteneri.Column1.Text1.Click + + + + ENDPROC + + PROCEDURE grdParteneri.Init + this.SetAll("DynamicBackColor","iif(inactiv = 1, RGB(200,200,200), RGB(255,255,255))","Column") + ENDPROC + + PROCEDURE Gridextra1.applyfilter + DODEFAULT() + thisform.RefreshTabele() + ENDPROC + + PROCEDURE Gridextra1.clearfilter + DODEFAULT() + thisform.RefreshTabele() + ENDPROC + + PROCEDURE _pageframe1.Page1.grdAdrese.AfterRowColChange + LPARAMETERS nColIndex + DODEFAULT() + + SELECT crsparteneri + lcFiltru2 = [ID_PART=]+ALLTRIM(STR(crsparteneri.id_part)) + thisform.actualizeaza_grid2(lcFiltru2) + + ENDPROC + + PROCEDURE _pageframe1.Page1.grdAdrese.Init + this.SetAll("DynamicBackColor","iif(INACTIV = 1, RGB(200,200,200), RGB(255,255,255))","Column") + ENDPROC + + PROCEDURE _pageframe1.Page1.grdAdrese.Valid + **thisform.grdTipParteneri.Left=thisform.grdTipParteneri.Left+30 + ENDPROC + + PROCEDURE _pageframe1.Page1.grdAdrese.When + **thisform.grdTipParteneri.Left=thisform.grdTipParteneri.Left-30 + ENDPROC + + PROCEDURE _pageframe1.Page2.grdPersoane.AfterRowColChange + LPARAMETERS nColIndex + DODEFAULT() + + SELECT crsparteneri + lcFiltru2 = [ID_PART=]+ALLTRIM(STR(crsparteneri.id_part)) + thisform.actualizeaza_grid2(lcFiltru2) + + ENDPROC + + PROCEDURE _pageframe1.Page2.grdPersoane.Init + this.SetAll("DynamicBackColor","iif(INACTIV = 1, RGB(200,200,200), RGB(255,255,255))","Column") + ENDPROC + + PROCEDURE _pageframe1.Page2.grdPersoane.Valid + **thisform.grdTipParteneri.Left=thisform.grdTipParteneri.Left+30 + ENDPROC + + PROCEDURE _pageframe1.Page2.grdPersoane.When + **thisform.grdTipParteneri.Left=thisform.grdTipParteneri.Left-30 + ENDPROC + + PROCEDURE _pageframe1.Page3.grd_contracte.Init + this.SetAll("DynamicBackColor","iif(INACTIV = 1, RGB(200,200,200), RGB(255,255,255))","Column") + ENDPROC + + PROCEDURE _pageframe1.Page4.grdCoduri.AfterRowColChange + LPARAMETERS nColIndex + DODEFAULT() + + SELECT crsparteneri + lcFiltru2 = [ID_PART=]+ALLTRIM(STR(crsparteneri.id_part)) + thisform.actualizeaza_grid2(lcFiltru2) + ENDPROC + + PROCEDURE _pageframe1.Page4.grdCoduri.Init + this.SetAll("DynamicBackColor","iif(INACTIV = 1, RGB(200,200,200), RGB(255,255,255))","Column") + ENDPROC + + PROCEDURE _pageframe1.Page4.grdCoduri.Valid + **thisform.grdTipParteneri.Left=thisform.grdTipParteneri.Left+30 + ENDPROC + + PROCEDURE _pageframe1.Page4.grdCoduri.When + **thisform.grdTipParteneri.Left=thisform.grdTipParteneri.Left-30 + ENDPROC + + PROCEDURE _shape1.DblClick + IF thisform.WindowState = 2 + thisform.WindowState = 0 + ELSE + thisform.WindowState = 2 + ENDIF + THISFORM.Refresh + THISFORM.grdParteneri.SetFocus() + ENDPROC + +ENDDEFINE + +DEFINE CLASS frm_parteneri_adrese_nou AS _frmbase OF "_frm_base.vcx" + *< CLASSDATA: Baseclass="form" Timestamp="" Scale="Pixels" Uniqueid="" /> + + *-- OBJECTDATA items order determines ZOrder / El orden de los items OBJECTDATA determina el ZOrder + *< OBJECTDATA: ObjPath="Clb_bloc" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="Clb_tx_simplu2" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="Clb_tx_simplu13" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="Clb_tx_simplu13._checkbox3" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="Clb_tx_simplu1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="Clb_scara" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="Clb_apartament" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="Clb_telefon" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="Clb_tx_simplu3" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="Clb_tx_simplu4" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="Clb_tx_simplu5" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="Clb_tx_simplu6" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="Clb_tx_simplu10" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="Clb_tx_simplu11" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="CUS_ODATA_PARTENERI_ADRESE1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="BUT_RENUNT1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="_checkbox1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="_checkbox2" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="Ct_localitate1" UniqueID="" Timestamp="" /> + + * + *p: nid + *p: orec + * + + * + BorderStyle = 1 + DoCreate = .T. + Height = 550 + Name = "frm_parteneri_adrese_nou" + nid = .F. + orec = .NULL. + Width = 348 + _shape1.Name = "_shape1" + _shape2.Height = 29 + _shape2.Left = 287 + _shape2.Name = "_shape2" + _shape2.Top = 0 + _shape2.Width = 61 + Lb_titlu_alb_b121.Caption = "ADRESÃ" + Lb_titlu_alb_b121.Name = "Lb_titlu_alb_b121" + Lb_titlu_alb_b121.TabIndex = 19 + BUT_TERMIN1.Left = 318 + BUT_TERMIN1.Name = "BUT_TERMIN1" + BUT_TERMIN1.TabIndex = 17 + BUT_TERMIN1.Top = 1 + Gridsort1.Left = 96 + Gridsort1.Name = "Gridsort1" + Gridsort1.Top = 8 + * + + ADD OBJECT '_checkbox1' AS _checkbox WITH ; + Alignment = 0, ; + Caption = "Inactiv", ; + ControlSource = "porec.inactiv", ; + Left = 274, ; + Name = "_checkbox1", ; + TabIndex = 16, ; + TabStop = .F., ; + Top = 532 + *< END OBJECT: ClassLib="_baza.vcx" BaseClass="checkbox" /> + + ADD OBJECT '_checkbox2' AS _checkbox WITH ; + Alignment = 0, ; + Caption = "Principalã", ; + ControlSource = "porec.principala", ; + Left = 12, ; + Name = "_checkbox2", ; + TabIndex = 15, ; + TabStop = .F., ; + Top = 532 + *< END OBJECT: ClassLib="_baza.vcx" BaseClass="checkbox" /> + + ADD OBJECT 'BUT_RENUNT1' AS but_renunt WITH ; + Left = 289, ; + Name = "BUT_RENUNT1", ; + TabIndex = 18, ; + Top = 1 + *< END OBJECT: ClassLib="cmd_butoane.vcx" BaseClass="commandbutton" /> + + ADD OBJECT 'Clb_apartament' AS clb_tx_simplu WITH ; + Height = 29, ; + Left = 12, ; + Name = "Clb_apartament", ; + TabIndex = 8, ; + Top = 314, ; + Width = 314, ; + ZOrderSet = 9, ; + TEXT_SIMPLU1.ControlSource = "poRec.apart", ; + TEXT_SIMPLU1.Format = "!K", ; + TEXT_SIMPLU1.Left = 80, ; + TEXT_SIMPLU1.Name = "TEXT_SIMPLU1", ; + TEXT_SIMPLU1.Width = 230, ; + Lb_simplu1.Caption = "Apartament", ; + Lb_simplu1.Name = "Lb_simplu1" + *< END OBJECT: ClassLib="lb_tx.vcx" BaseClass="container" /> + + ADD OBJECT 'Clb_bloc' AS clb_tx_simplu WITH ; + Height = 29, ; + Left = 12, ; + Name = "Clb_bloc", ; + TabIndex = 5, ; + Top = 230, ; + Width = 314, ; + ZOrderSet = 7, ; + TEXT_SIMPLU1.ControlSource = "poRec.bloc", ; + TEXT_SIMPLU1.Format = "!K", ; + TEXT_SIMPLU1.Left = 80, ; + TEXT_SIMPLU1.Name = "TEXT_SIMPLU1", ; + TEXT_SIMPLU1.Width = 230, ; + Lb_simplu1.Caption = "Bloc", ; + Lb_simplu1.Name = "Lb_simplu1" + *< END OBJECT: ClassLib="lb_tx.vcx" BaseClass="container" /> + + ADD OBJECT 'Clb_scara' AS clb_tx_simplu WITH ; + Height = 29, ; + Left = 12, ; + Name = "Clb_scara", ; + TabIndex = 6, ; + Top = 258, ; + Width = 314, ; + ZOrderSet = 8, ; + TEXT_SIMPLU1.ControlSource = "poRec.scara", ; + TEXT_SIMPLU1.Format = "!K", ; + TEXT_SIMPLU1.Left = 80, ; + TEXT_SIMPLU1.Name = "TEXT_SIMPLU1", ; + TEXT_SIMPLU1.Width = 230, ; + Lb_simplu1.Caption = "Scara", ; + Lb_simplu1.Name = "Lb_simplu1" + *< END OBJECT: ClassLib="lb_tx.vcx" BaseClass="container" /> + + ADD OBJECT 'Clb_telefon' AS clb_tx_simplu WITH ; + Height = 29, ; + Left = 12, ; + Name = "Clb_telefon", ; + TabIndex = 10, ; + Top = 385, ; + Width = 314, ; + ZOrderSet = 10, ; + TEXT_SIMPLU1.ControlSource = "poRec.telefon1", ; + TEXT_SIMPLU1.Format = "!K", ; + TEXT_SIMPLU1.Left = 80, ; + TEXT_SIMPLU1.Name = "TEXT_SIMPLU1", ; + TEXT_SIMPLU1.Width = 230, ; + Lb_simplu1.Caption = "Telefon 1", ; + Lb_simplu1.Name = "Lb_simplu1" + *< END OBJECT: ClassLib="lb_tx.vcx" BaseClass="container" /> + + ADD OBJECT 'Clb_tx_simplu1' AS clb_tx_simplu WITH ; + Height = 29, ; + Left = 12, ; + Name = "Clb_tx_simplu1", ; + TabIndex = 3, ; + Top = 174, ; + Width = 314, ; + ZOrderSet = 7, ; + Text_simplu1.ControlSource = "poRec.strada", ; + Text_simplu1.Format = "!K", ; + Text_simplu1.Left = 80, ; + Text_simplu1.Name = "Text_simplu1", ; + Text_simplu1.Width = 230, ; + Lb_simplu1.Caption = "Strada", ; + Lb_simplu1.Name = "Lb_simplu1" + *< END OBJECT: ClassLib="lb_tx.vcx" BaseClass="container" /> + + ADD OBJECT 'Clb_tx_simplu10' AS clb_tx_simplu WITH ; + Height = 29, ; + Left = 12, ; + Name = "Clb_tx_simplu10", ; + TabIndex = 9, ; + Top = 342, ; + Width = 314, ; + ZOrderSet = 9, ; + Text_simplu1.ControlSource = "poRec.codpostal", ; + Text_simplu1.Format = "!K", ; + Text_simplu1.Left = 80, ; + Text_simplu1.Name = "Text_simplu1", ; + Text_simplu1.Width = 230, ; + Lb_simplu1.Caption = "Cod poºtal", ; + Lb_simplu1.Name = "Lb_simplu1" + *< END OBJECT: ClassLib="lb_tx.vcx" BaseClass="container" /> + + ADD OBJECT 'Clb_tx_simplu11' AS clb_tx_simplu WITH ; + Height = 29, ; + Left = 12, ; + Name = "Clb_tx_simplu11", ; + TabIndex = 7, ; + Top = 286, ; + Width = 314, ; + ZOrderSet = 9, ; + Text_simplu1.ControlSource = "poRec.etaj", ; + Text_simplu1.Format = "!K", ; + Text_simplu1.Left = 80, ; + Text_simplu1.Name = "Text_simplu1", ; + Text_simplu1.Width = 230, ; + Lb_simplu1.Caption = "Etaj", ; + Lb_simplu1.Name = "Lb_simplu1" + *< END OBJECT: ClassLib="lb_tx.vcx" BaseClass="container" /> + + ADD OBJECT 'Clb_tx_simplu13' AS clb_tx_simplu WITH ; + BackStyle = 0, ; + Height = 47, ; + Left = 12, ; + Name = "Clb_tx_simplu13", ; + TabIndex = 1, ; + Top = 38, ; + Width = 314, ; + ZOrderSet = 7, ; + Text_simplu1.ControlSource = "poRec.denumire_adresa", ; + Text_simplu1.Format = "!K", ; + Text_simplu1.Height = 23, ; + Text_simplu1.Left = 5, ; + Text_simplu1.Name = "Text_simplu1", ; + Text_simplu1.TabIndex = 1, ; + Text_simplu1.Top = 21, ; + Text_simplu1.Width = 305, ; + Lb_simplu1.Caption = "Denumire adresã", ; + Lb_simplu1.FontBold = .T., ; + Lb_simplu1.Left = 8, ; + Lb_simplu1.Name = "Lb_simplu1", ; + Lb_simplu1.TabIndex = 3, ; + Lb_simplu1.Top = 4 + *< END OBJECT: ClassLib="lb_tx.vcx" BaseClass="container" /> + + ADD OBJECT 'Clb_tx_simplu13._checkbox3' AS _checkbox WITH ; + Alignment = 0, ; + Caption = "Apare pe adresã", ; + ControlSource = "poRec.da_apare", ; + Left = 200, ; + Name = "_checkbox3", ; + TabIndex = 2, ; + Top = 4 + *< END OBJECT: ClassLib="_baza.vcx" BaseClass="checkbox" /> + + ADD OBJECT 'Clb_tx_simplu2' AS clb_tx_simplu WITH ; + Height = 29, ; + Left = 12, ; + Name = "Clb_tx_simplu2", ; + TabIndex = 4, ; + Top = 202, ; + Width = 314, ; + ZOrderSet = 7, ; + Text_simplu1.ControlSource = "poRec.numar", ; + Text_simplu1.Format = "!K", ; + Text_simplu1.Left = 80, ; + Text_simplu1.Name = "Text_simplu1", ; + Text_simplu1.Width = 230, ; + Lb_simplu1.Caption = "Numãr", ; + Lb_simplu1.Name = "Lb_simplu1" + *< END OBJECT: ClassLib="lb_tx.vcx" BaseClass="container" /> + + ADD OBJECT 'Clb_tx_simplu3' AS clb_tx_simplu WITH ; + Height = 29, ; + Left = 12, ; + Name = "Clb_tx_simplu3", ; + TabIndex = 11, ; + Top = 413, ; + Width = 314, ; + ZOrderSet = 10, ; + Text_simplu1.ControlSource = "poRec.telefon2", ; + Text_simplu1.Format = "!K", ; + Text_simplu1.Left = 80, ; + Text_simplu1.Name = "Text_simplu1", ; + Text_simplu1.Width = 230, ; + Lb_simplu1.Caption = "Telefon 2", ; + Lb_simplu1.Name = "Lb_simplu1" + *< END OBJECT: ClassLib="lb_tx.vcx" BaseClass="container" /> + + ADD OBJECT 'Clb_tx_simplu4' AS clb_tx_simplu WITH ; + Height = 29, ; + Left = 12, ; + Name = "Clb_tx_simplu4", ; + TabIndex = 12, ; + Top = 441, ; + Width = 314, ; + ZOrderSet = 10, ; + Text_simplu1.ControlSource = "poRec.fax", ; + Text_simplu1.Format = "!K", ; + Text_simplu1.Left = 80, ; + Text_simplu1.Name = "Text_simplu1", ; + Text_simplu1.Width = 230, ; + Lb_simplu1.Caption = "Fax", ; + Lb_simplu1.Name = "Lb_simplu1" + *< END OBJECT: ClassLib="lb_tx.vcx" BaseClass="container" /> + + ADD OBJECT 'Clb_tx_simplu5' AS clb_tx_simplu WITH ; + Height = 29, ; + Left = 12, ; + Name = "Clb_tx_simplu5", ; + TabIndex = 13, ; + Top = 469, ; + Width = 314, ; + ZOrderSet = 10, ; + Text_simplu1.ControlSource = "poRec.EMAIL", ; + Text_simplu1.Format = "K", ; + Text_simplu1.Left = 80, ; + Text_simplu1.Name = "Text_simplu1", ; + Text_simplu1.Width = 230, ; + Lb_simplu1.Caption = "E-mail", ; + Lb_simplu1.Name = "Lb_simplu1" + *< END OBJECT: ClassLib="lb_tx.vcx" BaseClass="container" /> + + ADD OBJECT 'Clb_tx_simplu6' AS clb_tx_simplu WITH ; + Height = 29, ; + Left = 12, ; + Name = "Clb_tx_simplu6", ; + TabIndex = 14, ; + Top = 497, ; + Width = 314, ; + ZOrderSet = 10, ; + Text_simplu1.ControlSource = "poRec.web", ; + Text_simplu1.Format = "K", ; + Text_simplu1.Left = 80, ; + Text_simplu1.Name = "Text_simplu1", ; + Text_simplu1.Width = 230, ; + Lb_simplu1.Caption = "Web", ; + Lb_simplu1.Name = "Lb_simplu1" + *< END OBJECT: ClassLib="lb_tx.vcx" BaseClass="container" /> + + ADD OBJECT 'Ct_localitate1' AS ct_localitate WITH ; + cdate = poRec, ; + Left = 12, ; + Name = "Ct_localitate1", ; + TabIndex = 2, ; + Top = 90, ; + Cb_localitate_af.img_atentie.Name = "img_atentie", ; + Cb_localitate_af.Name = "Cb_localitate_af", ; + Cb_localitate_af._cbautofill1.Name = "_cbautofill1", ; + Cb_localitate_af._lbbase1.Name = "_lbbase1", ; + Cb_tara.Name = "Cb_tara", ; + Cb_tara._cbbase1.Name = "_cbbase1", ; + Cb_tara._lbbase1.Name = "_lbbase1", ; + Cb_judet.Name = "Cb_judet", ; + Cb_judet._cbbase1.Name = "_cbbase1", ; + Cb_judet._lbbase1.Name = "_lbbase1" + *< END OBJECT: ClassLib="onomenclatoare.vcx" BaseClass="container" /> + + ADD OBJECT 'CUS_ODATA_PARTENERI_ADRESE1' AS cus_odata_parteneri_adrese WITH ; + Left = 216, ; + Name = "CUS_ODATA_PARTENERI_ADRESE1", ; + Top = 7 + *< END OBJECT: ClassLib="onomenclatoare.vcx" BaseClass="custom" /> + + PROCEDURE inainte_de_do_termin + Local plReturn + plReturn=.F. + lccontrol = Upper(This.ActiveControl.BaseClass) + If Inlist(lccontrol,"TEXTBOX","EDITBOX","COMBOBOX") + lcval=This.ActiveControl.ControlSource + &lcval=Thisform.ActiveControl.Value + Endif + + Do Case + Case Isnull(poRec.id_loc) And !Isnull(poRec.id_judet) + amessagebox("Nu ati ales localitatea!",48,"Atentie") + Thisform.ct_LOCALITATE1.cb_localitate_af.SetFocus() + Otherwise + If Isnull(poRec.id_judet) && adica poRec.judet = [] + poRec.judet = [] + Endif + If Isnull(poRec.id_loc) && adica poRec.localitate = [] + poRec.localitate = [] + Endif + plReturn=This.cuS_ODATA_PARTENERI_ADRESE1.salvare(This.OREC,This.NID) + Endcase + + Return plReturn + + ENDPROC + + PROCEDURE Init + Lparameters toRec, tnId, tcActiune + DoDefault() + + This.orec = toRec + This.nid = tnId + This.cus_odata_parteneri_adrese1.cactiune = tcActiune + + *!* modificare adrese parteneri 12.2013 + This.ct_localitate1.initializeaza() + *!* *!* modificare 04.07.2012 + *!* If tcActiune = [INSERT] + *!* Thisform.clb_tx_simplu9.text_simplu1.ReadOnly = .T. + *!* Select v_nom_tari + *!* Locate For prescurtare = [RO] + *!* If !Found() + *!* Go Top + *!* Endif + *!* porec.id_tara = v_nom_tari.id_tara + *!* porec.tara = v_nom_tari.tara + *!* Thisform.cb_tara._cbbase1.Refresh() + *!* Endif + *!* *!* modificare 04.07.2012 ^ + *!* modificare adrese parteneri 12.2013 ^ + ENDPROC + +ENDDEFINE + +DEFINE CLASS frm_parteneri_nou AS _frmbase OF "_frm_base.vcx" + *< CLASSDATA: Baseclass="form" Timestamp="" Scale="Pixels" Uniqueid="" /> + + *-- OBJECTDATA items order determines ZOrder / El orden de los items OBJECTDATA determina el ZOrder + *< OBJECTDATA: ObjPath="Cus_odata_parteneri1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="But_renunt1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="pf_date" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="pf_date.date_entitate._shape1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="pf_date.date_entitate.clb_denumire" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="pf_date.date_entitate.Clb_nume" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="pf_date.date_entitate.Clb_prenume" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="pf_date.date_entitate.Clb_cod_fiscal" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="pf_date.date_entitate.Clb_cod_fiscal.But_verifica1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="pf_date.date_entitate.Clb_cod_fiscal.txtCodFiscal2" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="pf_date.date_entitate.Clb_prefix" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="pf_date.date_entitate.Clb_motiv_inactiv" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="pf_date.date_entitate.clb_numar" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="pf_date.date_entitate.Clb_scara" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="pf_date.date_entitate.Clb_codp" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="pf_date.date_entitate.Clb_web" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="pf_date.date_entitate.Clb_telefon2" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="pf_date.date_entitate.Clb_telefon1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="pf_date.date_entitate.Clb_fax" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="pf_date.date_entitate.Clb_email" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="pf_date.date_entitate.clb_etaj" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="pf_date.date_entitate.Clb_apartament" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="pf_date.date_entitate.Clb_bloc" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="pf_date.date_entitate.clb_strada" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="pf_date.date_entitate.Clb_sufix" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="pf_date.date_entitate.Clb_reg_comert" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="pf_date.date_entitate.Cb_categorie_entitate" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="pf_date.date_entitate._grdrow1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="pf_date.date_entitate._grdrow1.Column1.Header1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="pf_date.date_entitate._grdrow1.Column1.Text1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="pf_date.date_entitate._grdrow1.Column2.Header1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="pf_date.date_entitate._grdrow1.Column2.Check1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="pf_date.date_entitate.cbAdrese" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="pf_date.date_entitate.butAdresaNou" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="pf_date.date_entitate._checkbox1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="pf_date.date_entitate.Optiongroup1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="pf_date.date_entitate.Label1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="pf_date.date_entitate.Ct_coresp_delegati_part1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="pf_date.date_entitate.Ct_localitate1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="pf_date.date_entitate.chkInactiva" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="pf_date.date_entitate.chkPrincipala" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="pf_date.date_entitate.chkInstitutiePublica" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="pf_date.adrese._grdrow3" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="pf_date.adrese._grdrow3.cStrada.Header1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="pf_date.adrese._grdrow3.cStrada.Text1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="pf_date.adrese._grdrow3.cLocalitate.Header1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="pf_date.adrese._grdrow3.cLocalitate.Text1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="pf_date.adrese._grdrow3.cTelefon1.Header1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="pf_date.adrese._grdrow3.cTelefon1.Text1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="pf_date.adrese._grdrow3.cId_regiune.Header1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="pf_date.adrese._grdrow3.cId_regiune.Text1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="pf_date.adrese._grdrow3.cBloc.Header1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="pf_date.adrese._grdrow3.cBloc.Text1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="pf_date.adrese._grdrow3.cScara.Header1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="pf_date.adrese._grdrow3.cScara.Text1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="pf_date.adrese._grdrow3.cApart.Header1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="pf_date.adrese._grdrow3.cApart.Text1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="pf_date.adrese._grdrow3.cNumar.Header1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="pf_date.adrese._grdrow3.cNumar.Text1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="pf_date.adrese._grdrow3.cInactiv.Header1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="pf_date.adrese._grdrow3.cInactiv.Check1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="pf_date.adrese._grdrow3.cPrincipala.Header1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="pf_date.adrese._grdrow3.cPrincipala.Check1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="pf_date.adrese._grdrow3.cEtaj.Header1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="pf_date.adrese._grdrow3.cEtaj.Text1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="pf_date.adrese._grdrow3.cTelefon2.Header1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="pf_date.adrese._grdrow3.cTelefon2.Text1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="pf_date.adrese._grdrow3.cFax.Header1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="pf_date.adrese._grdrow3.cFax.Text1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="pf_date.adrese._grdrow3.cEmail.Header1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="pf_date.adrese._grdrow3.cEmail.Text1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="pf_date.adrese._grdrow3.cWeb.Header1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="pf_date.adrese._grdrow3.cWeb.Text1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="pf_date.adrese._grdrow3.cJudet.Header1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="pf_date.adrese._grdrow3.cJudet.Text1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="pf_date.adrese._grdrow3.cDenumire_adresa.Header1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="pf_date.adrese._grdrow3.cDenumire_adresa.Text1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="pf_date.adrese._grdrow3.cDA_apare.Header1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="pf_date.adrese._grdrow3.cDA_apare._checkbox1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="pf_date.adrese.But_nou2" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="pf_date.adrese.But_modifica2" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="pf_date.adrese.But_sterge2" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="pf_date.adrese._grdrow4" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="pf_date.adrese._grdrow4.cNume.Header1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="pf_date.adrese._grdrow4.cNume.Text1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="pf_date.adrese._grdrow4.cPrenume.Header1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="pf_date.adrese._grdrow4.cPrenume.Text1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="pf_date.adrese._grdrow4.cApelativ.Header1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="pf_date.adrese._grdrow4.cApelativ.Text1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="pf_date.adrese._grdrow4.cFunctia.Header1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="pf_date.adrese._grdrow4.cFunctia.Text1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="pf_date.adrese._grdrow4.cTelefon.Header1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="pf_date.adrese._grdrow4.cTelefon.Text1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="pf_date.adrese._grdrow4.cEmail.Header1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="pf_date.adrese._grdrow4.cEmail.Text1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="pf_date.adrese._grdrow4.cPrincipal.Header1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="pf_date.adrese._grdrow4.cPrincipal.Check1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="pf_date.adrese._grdrow4.cInactiv.Header1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="pf_date.adrese._grdrow4.cInactiv.Check1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="pf_date.adrese.But_modifica3" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="pf_date.adrese.But_sterge3" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="pf_date.adrese.But_nou3" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="pf_date.adrese.LB_SIMPLU1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="pf_date.adrese.Lb_simplu2" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="pf_date.banca.Clb_cont_banca" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="pf_date.banca.Clb_banca" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="pf_date.banca.Clb_tx_simplu1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="pf_date.banca.Clb_tx_simplu2" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="CUS_ODATA_PARTENERI_ADRESE1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="Cus_odata_pers_contact1" UniqueID="" Timestamp="" /> + + * + *m: actualizeaza_grid3 + *m: adauga_tip_partener + *m: cuivalid + *m: do_adauga2 + *m: do_adauga3 + *m: do_modifica2 + *m: do_modifica3 + *m: do_sterge2 + *m: do_sterge3 + *m: modifica_tip_persoana + *m: seteazacorespdelegati + *m: sterge_tip_partener + *p: lnsters + *p: nid + *p: orec + * + + * + BorderStyle = 3 + Caption = "Partener" + DoCreate = .T. + Height = 598 + lnsters = 0 + Name = "frm_parteneri_nou" + orec = .NULL. + Width = 782 + _shape1.Anchor = 10 + _shape1.Height = 29 + _shape1.Left = 0 + _shape1.Name = "_shape1" + _shape1.Top = 0 + _shape1.Width = 780 + _shape1.ZOrderSet = 0 + _shape2.Anchor = 8 + _shape2.Height = 29 + _shape2.Left = 719 + _shape2.Name = "_shape2" + _shape2.Top = 0 + _shape2.Width = 64 + _shape2.ZOrderSet = 1 + Lb_titlu_alb_b121.Caption = "Entitate" + Lb_titlu_alb_b121.Left = 8 + Lb_titlu_alb_b121.Name = "Lb_titlu_alb_b121" + Lb_titlu_alb_b121.TabIndex = 3 + Lb_titlu_alb_b121.Top = 6 + Lb_titlu_alb_b121.ZOrderSet = 2 + But_termin1.Anchor = 8 + But_termin1.Left = 751 + But_termin1.Name = "But_termin1" + But_termin1.TabIndex = 1 + But_termin1.Top = 1 + But_termin1.ZOrderSet = 20 + Gridsort1.Left = 180 + Gridsort1.Name = "Gridsort1" + Gridsort1.Top = 12 + * + + ADD OBJECT 'But_renunt1' AS but_renunt WITH ; + Anchor = 8, ; + Left = 721, ; + Name = "But_renunt1", ; + TabIndex = 2, ; + Top = 1, ; + ZOrderSet = 19 + *< END OBJECT: ClassLib="cmd_butoane.vcx" BaseClass="commandbutton" /> + + ADD OBJECT 'Cus_odata_parteneri1' AS cus_odata_parteneri WITH ; + Left = 151, ; + Name = "Cus_odata_parteneri1", ; + Top = 8 + *< END OBJECT: ClassLib="onomenclatoare.vcx" BaseClass="custom" /> + + ADD OBJECT 'CUS_ODATA_PARTENERI_ADRESE1' AS cus_odata_parteneri_adrese WITH ; + Left = 222, ; + Name = "CUS_ODATA_PARTENERI_ADRESE1", ; + Top = 6 + *< END OBJECT: ClassLib="onomenclatoare.vcx" BaseClass="custom" /> + + ADD OBJECT 'Cus_odata_pers_contact1' AS cus_odata_pers_contact WITH ; + Left = 256, ; + Name = "Cus_odata_pers_contact1", ; + Top = 7 + *< END OBJECT: ClassLib="onomenclatoare.vcx" BaseClass="custom" /> + + ADD OBJECT 'pf_date' AS _pfbase WITH ; + Anchor = 15, ; + ErasePage = .T., ; + Height = 571, ; + Left = 1, ; + Name = "pf_date", ; + PageCount = 3, ; + TabIndex = 4, ; + Top = 29, ; + Width = 785, ; + Page1.BackColor = 255,255,255, ; + Page1.Caption = "Date entitate", ; + Page1.FontBold = .T., ; + Page1.FontSize = 10, ; + Page1.Name = "date_entitate", ; + Page1.PageOrder = 1, ; + Page2.BackColor = 255,255,255, ; + Page2.Caption = "Adrese, persoane de contact", ; + Page2.FontBold = .T., ; + Page2.FontSize = 10, ; + Page2.Name = "adrese", ; + Page2.PageOrder = 3, ; + Page3.Caption = "Banca", ; + Page3.FontBold = .T., ; + Page3.Name = "banca", ; + Page3.PageOrder = 2 + *< END OBJECT: ClassLib="_pf_base.vcx" BaseClass="pageframe" /> + + ADD OBJECT 'pf_date.adrese._grdrow3' AS _grdrow WITH ; + Anchor = 15, ; + ColumnCount = 18, ; + DeleteMark = .F., ; + FontCharSet = 1, ; + FontName = "Arial", ; + GridLineColor = 192,192,192, ; + Height = 222, ; + HighlightStyle = 1, ; + Left = 11, ; + Name = "_grdrow3", ; + Panel = 1, ; + ReadOnly = .T., ; + RecordMark = .T., ; + RecordSource = "crsAdreseEnt", ; + RowHeight = 18, ; + TabIndex = 1, ; + Top = 35, ; + Width = 708, ; + ZOrderSet = 22, ; + Column1.ColumnOrder = 5, ; + Column1.ControlSource = "strada", ; + Column1.FontCharSet = 1, ; + Column1.FontName = "Arial", ; + Column1.FontSize = 9, ; + Column1.Name = "cStrada", ; + Column1.ReadOnly = .T., ; + Column1.Width = 105, ; + Column2.ColumnOrder = 3, ; + Column2.ControlSource = "localitate", ; + Column2.FontCharSet = 1, ; + Column2.FontName = "Arial", ; + Column2.FontSize = 9, ; + Column2.Name = "cLocalitate", ; + Column2.ReadOnly = .T., ; + Column3.ColumnOrder = 11, ; + Column3.ControlSource = "telefon1", ; + Column3.FontCharSet = 1, ; + Column3.FontName = "Arial", ; + Column3.FontSize = 9, ; + Column3.Name = "cTelefon1", ; + Column3.ReadOnly = .T., ; + Column4.ColumnOrder = 18, ; + Column4.ControlSource = "id_regiune", ; + Column4.FontCharSet = 1, ; + Column4.FontName = "Arial", ; + Column4.FontSize = 9, ; + Column4.Name = "cId_regiune", ; + Column4.ReadOnly = .T., ; + Column5.ColumnOrder = 7, ; + Column5.ControlSource = "bloc", ; + Column5.FontCharSet = 1, ; + Column5.FontName = "Arial", ; + Column5.FontSize = 9, ; + Column5.Name = "cBloc", ; + Column5.ReadOnly = .T., ; + Column5.Width = 28, ; + Column6.ColumnOrder = 8, ; + Column6.ControlSource = "scara", ; + Column6.FontCharSet = 1, ; + Column6.FontName = "Arial", ; + Column6.FontSize = 9, ; + Column6.Name = "cScara", ; + Column6.ReadOnly = .T., ; + Column6.Width = 36, ; + Column7.ColumnOrder = 9, ; + Column7.ControlSource = "apart", ; + Column7.FontCharSet = 1, ; + Column7.FontName = "Arial", ; + Column7.FontSize = 9, ; + Column7.Name = "cApart", ; + Column7.ReadOnly = .T., ; + Column7.Width = 34, ; + Column8.ColumnOrder = 6, ; + Column8.ControlSource = "numar", ; + Column8.FontCharSet = 1, ; + Column8.FontName = "Arial", ; + Column8.FontSize = 9, ; + Column8.Name = "cNumar", ; + Column8.ReadOnly = .T., ; + Column8.Width = 42, ; + Column9.Alignment = 2, ; + Column9.ColumnOrder = 16, ; + Column9.ControlSource = "inactiv", ; + Column9.FontCharSet = 1, ; + Column9.FontName = "Arial", ; + Column9.FontSize = 9, ; + Column9.Name = "cInactiv", ; + Column9.ReadOnly = .T., ; + Column9.Sparse = .F., ; + Column9.Width = 39, ; + Column10.Alignment = 2, ; + Column10.ColumnOrder = 17, ; + Column10.ControlSource = "principala", ; + Column10.FontCharSet = 1, ; + Column10.FontName = "Arial", ; + Column10.FontSize = 9, ; + Column10.Name = "cPrincipala", ; + Column10.ReadOnly = .T., ; + Column10.Sparse = .F., ; + Column10.Width = 59, ; + Column11.ColumnOrder = 10, ; + Column11.ControlSource = "etaj", ; + Column11.FontCharSet = 1, ; + Column11.FontName = "Arial", ; + Column11.FontSize = 9, ; + Column11.Name = "cEtaj", ; + Column11.ReadOnly = .T., ; + Column11.Width = 36, ; + Column12.ColumnOrder = 12, ; + Column12.ControlSource = "telefon2", ; + Column12.FontCharSet = 1, ; + Column12.FontName = "Arial", ; + Column12.FontSize = 9, ; + Column12.Name = "cTelefon2", ; + Column12.ReadOnly = .T., ; + Column13.ColumnOrder = 13, ; + Column13.ControlSource = "fax", ; + Column13.FontCharSet = 1, ; + Column13.FontName = "Arial", ; + Column13.FontSize = 9, ; + Column13.Name = "cFax", ; + Column13.ReadOnly = .T., ; + Column14.ColumnOrder = 14, ; + Column14.ControlSource = "email", ; + Column14.FontCharSet = 1, ; + Column14.FontName = "Arial", ; + Column14.FontSize = 9, ; + Column14.Name = "cEmail", ; + Column14.ReadOnly = .T., ; + Column15.ColumnOrder = 15, ; + Column15.ControlSource = "web", ; + Column15.FontCharSet = 1, ; + Column15.FontName = "Arial", ; + Column15.FontSize = 9, ; + Column15.Name = "cWeb", ; + Column15.ReadOnly = .T., ; + Column16.ColumnOrder = 4, ; + Column16.ControlSource = "judet", ; + Column16.FontCharSet = 1, ; + Column16.FontName = "Arial", ; + Column16.FontSize = 9, ; + Column16.Name = "cJudet", ; + Column16.ReadOnly = .T., ; + Column16.Width = 28, ; + Column17.ColumnOrder = 1, ; + Column17.ControlSource = "denumire_adresa", ; + Column17.FontCharSet = 1, ; + Column17.FontName = "Arial", ; + Column17.FontSize = 9, ; + Column17.Name = "cDenumire_adresa", ; + Column17.ReadOnly = .T., ; + Column17.Width = 85, ; + Column18.ColumnOrder = 2, ; + Column18.ControlSource = "da_apare", ; + Column18.FontCharSet = 1, ; + Column18.FontName = "Arial", ; + Column18.Name = "cDA_apare", ; + Column18.ReadOnly = .T., ; + Column18.Sparse = .F., ; + Column18.Width = 36 + *< END OBJECT: ClassLib="_grd_base.vcx" BaseClass="grid" /> + + ADD OBJECT 'pf_date.adrese._grdrow3.cApart.Header1' AS header WITH ; + Alignment = 2, ; + Caption = "Apart.", ; + FontCharSet = 1, ; + FontName = "Arial", ; + FontSize = 9, ; + Name = "Header1" + *< END OBJECT: BaseClass="header" /> + + ADD OBJECT 'pf_date.adrese._grdrow3.cApart.Text1' AS textbox WITH ; + BackColor = 255,255,255, ; + BorderStyle = 0, ; + FontCharSet = 1, ; + FontName = "Arial", ; + FontSize = 9, ; + ForeColor = 0,0,0, ; + Margin = 0, ; + Name = "Text1", ; + ReadOnly = .T., ; + SelectedBackColor = 100,185,255 + *< END OBJECT: BaseClass="textbox" /> + + ADD OBJECT 'pf_date.adrese._grdrow3.cBloc.Header1' AS header WITH ; + Alignment = 2, ; + Caption = "Bloc", ; + FontCharSet = 1, ; + FontName = "Arial", ; + FontSize = 9, ; + Name = "Header1" + *< END OBJECT: BaseClass="header" /> + + ADD OBJECT 'pf_date.adrese._grdrow3.cBloc.Text1' AS textbox WITH ; + BackColor = 255,255,255, ; + BorderStyle = 0, ; + FontCharSet = 1, ; + FontName = "Arial", ; + FontSize = 9, ; + ForeColor = 0,0,0, ; + Margin = 0, ; + Name = "Text1", ; + ReadOnly = .T., ; + SelectedBackColor = 100,185,255 + *< END OBJECT: BaseClass="textbox" /> + + ADD OBJECT 'pf_date.adrese._grdrow3.cDA_apare._checkbox1' AS _checkbox WITH ; + Alignment = 2, ; + Caption = "", ; + Centered = .T., ; + Left = 37, ; + Name = "_checkbox1", ; + Top = 20 + *< END OBJECT: ClassLib="_baza.vcx" BaseClass="checkbox" /> + + ADD OBJECT 'pf_date.adrese._grdrow3.cDA_apare.Header1' AS header WITH ; + Alignment = 2, ; + Caption = "Pe adresa", ; + FontCharSet = 1, ; + FontName = "Arial", ; + Name = "Header1" + *< END OBJECT: BaseClass="header" /> + + ADD OBJECT 'pf_date.adrese._grdrow3.cDenumire_adresa.Header1' AS header WITH ; + Alignment = 2, ; + Caption = "Denumire", ; + FontCharSet = 1, ; + FontName = "Arial", ; + FontSize = 9, ; + Name = "Header1" + *< END OBJECT: BaseClass="header" /> + + ADD OBJECT 'pf_date.adrese._grdrow3.cDenumire_adresa.Text1' AS textbox WITH ; + BackColor = 255,255,255, ; + BorderStyle = 0, ; + FontCharSet = 1, ; + FontName = "Arial", ; + FontSize = 9, ; + ForeColor = 0,0,0, ; + Margin = 0, ; + Name = "Text1", ; + SelectedBackColor = 100,185,255 + *< END OBJECT: BaseClass="textbox" /> + + ADD OBJECT 'pf_date.adrese._grdrow3.cEmail.Header1' AS header WITH ; + Alignment = 2, ; + Caption = "E-mail", ; + FontCharSet = 1, ; + FontName = "Arial", ; + FontSize = 9, ; + Name = "Header1" + *< END OBJECT: BaseClass="header" /> + + ADD OBJECT 'pf_date.adrese._grdrow3.cEmail.Text1' AS textbox WITH ; + BackColor = 255,255,255, ; + BorderStyle = 0, ; + FontCharSet = 1, ; + FontName = "Arial", ; + FontSize = 9, ; + ForeColor = 0,0,0, ; + Margin = 0, ; + Name = "Text1", ; + SelectedBackColor = 100,185,255 + *< END OBJECT: BaseClass="textbox" /> + + ADD OBJECT 'pf_date.adrese._grdrow3.cEtaj.Header1' AS header WITH ; + Alignment = 2, ; + Caption = "Etaj", ; + FontCharSet = 1, ; + FontName = "Arial", ; + FontSize = 9, ; + Name = "Header1" + *< END OBJECT: BaseClass="header" /> + + ADD OBJECT 'pf_date.adrese._grdrow3.cEtaj.Text1' AS textbox WITH ; + BackColor = 255,255,255, ; + BorderStyle = 0, ; + FontCharSet = 1, ; + FontName = "Arial", ; + FontSize = 9, ; + ForeColor = 0,0,0, ; + Margin = 0, ; + Name = "Text1", ; + SelectedBackColor = 100,185,255 + *< END OBJECT: BaseClass="textbox" /> + + ADD OBJECT 'pf_date.adrese._grdrow3.cFax.Header1' AS header WITH ; + Alignment = 2, ; + Caption = "Fax", ; + FontCharSet = 1, ; + FontName = "Arial", ; + FontSize = 9, ; + Name = "Header1" + *< END OBJECT: BaseClass="header" /> + + ADD OBJECT 'pf_date.adrese._grdrow3.cFax.Text1' AS textbox WITH ; + BackColor = 255,255,255, ; + BorderStyle = 0, ; + FontCharSet = 1, ; + FontName = "Arial", ; + FontSize = 9, ; + ForeColor = 0,0,0, ; + Margin = 0, ; + Name = "Text1", ; + SelectedBackColor = 100,185,255 + *< END OBJECT: BaseClass="textbox" /> + + ADD OBJECT 'pf_date.adrese._grdrow3.cId_regiune.Header1' AS header WITH ; + Alignment = 2, ; + Caption = "Zona", ; + FontCharSet = 1, ; + FontName = "Arial", ; + FontSize = 9, ; + Name = "Header1" + *< END OBJECT: BaseClass="header" /> + + ADD OBJECT 'pf_date.adrese._grdrow3.cId_regiune.Text1' AS textbox WITH ; + BackColor = 255,255,255, ; + BorderStyle = 0, ; + FontCharSet = 1, ; + FontName = "Arial", ; + FontSize = 9, ; + ForeColor = 0,0,0, ; + Margin = 0, ; + Name = "Text1", ; + ReadOnly = .T., ; + SelectedBackColor = 100,185,255 + *< END OBJECT: BaseClass="textbox" /> + + ADD OBJECT 'pf_date.adrese._grdrow3.cInactiv.Check1' AS checkbox WITH ; + Alignment = 0, ; + Caption = "", ; + Centered = .T., ; + FontCharSet = 1, ; + FontName = "Arial", ; + FontSize = 9, ; + Height = 17, ; + Left = 30, ; + Name = "Check1", ; + Top = 42, ; + Width = 60 + *< END OBJECT: BaseClass="checkbox" /> + + ADD OBJECT 'pf_date.adrese._grdrow3.cInactiv.Header1' AS header WITH ; + Alignment = 2, ; + Caption = "Inactiv", ; + FontCharSet = 1, ; + FontName = "Arial", ; + FontSize = 9, ; + Name = "Header1" + *< END OBJECT: BaseClass="header" /> + + ADD OBJECT 'pf_date.adrese._grdrow3.cJudet.Header1' AS header WITH ; + Alignment = 2, ; + Caption = "Jud.", ; + FontCharSet = 1, ; + FontName = "Arial", ; + FontSize = 9, ; + Name = "Header1" + *< END OBJECT: BaseClass="header" /> + + ADD OBJECT 'pf_date.adrese._grdrow3.cJudet.Text1' AS textbox WITH ; + BackColor = 255,255,255, ; + BorderStyle = 0, ; + FontCharSet = 1, ; + FontName = "Arial", ; + FontSize = 9, ; + ForeColor = 0,0,0, ; + Margin = 0, ; + Name = "Text1", ; + SelectedBackColor = 100,185,255 + *< END OBJECT: BaseClass="textbox" /> + + ADD OBJECT 'pf_date.adrese._grdrow3.cLocalitate.Header1' AS header WITH ; + Alignment = 2, ; + Caption = "Localitate", ; + FontCharSet = 1, ; + FontName = "Arial", ; + FontSize = 9, ; + Name = "Header1" + *< END OBJECT: BaseClass="header" /> + + ADD OBJECT 'pf_date.adrese._grdrow3.cLocalitate.Text1' AS textbox WITH ; + BackColor = 255,255,255, ; + BorderStyle = 0, ; + FontCharSet = 1, ; + FontName = "Arial", ; + FontSize = 9, ; + ForeColor = 0,0,0, ; + Margin = 0, ; + Name = "Text1", ; + ReadOnly = .T., ; + SelectedBackColor = 100,185,255 + *< END OBJECT: BaseClass="textbox" /> + + ADD OBJECT 'pf_date.adrese._grdrow3.cNumar.Header1' AS header WITH ; + Alignment = 2, ; + Caption = "Numar", ; + FontCharSet = 1, ; + FontName = "Arial", ; + FontSize = 9, ; + Name = "Header1" + *< END OBJECT: BaseClass="header" /> + + ADD OBJECT 'pf_date.adrese._grdrow3.cNumar.Text1' AS textbox WITH ; + BackColor = 255,255,255, ; + BorderStyle = 0, ; + FontCharSet = 1, ; + FontName = "Arial", ; + FontSize = 9, ; + ForeColor = 0,0,0, ; + Margin = 0, ; + Name = "Text1", ; + SelectedBackColor = 100,185,255 + *< END OBJECT: BaseClass="textbox" /> + + ADD OBJECT 'pf_date.adrese._grdrow3.cPrincipala.Check1' AS checkbox WITH ; + Alignment = 0, ; + Caption = "", ; + Centered = .T., ; + FontCharSet = 1, ; + FontName = "Arial", ; + FontSize = 9, ; + Height = 17, ; + Left = 26, ; + Name = "Check1", ; + Top = 42, ; + Width = 60 + *< END OBJECT: BaseClass="checkbox" /> + + ADD OBJECT 'pf_date.adrese._grdrow3.cPrincipala.Header1' AS header WITH ; + Alignment = 2, ; + Caption = "Principala", ; + FontCharSet = 1, ; + FontName = "Arial", ; + FontSize = 9, ; + Name = "Header1" + *< END OBJECT: BaseClass="header" /> + + ADD OBJECT 'pf_date.adrese._grdrow3.cScara.Header1' AS header WITH ; + Alignment = 2, ; + Caption = "Scara", ; + FontCharSet = 1, ; + FontName = "Arial", ; + FontSize = 9, ; + Name = "Header1" + *< END OBJECT: BaseClass="header" /> + + ADD OBJECT 'pf_date.adrese._grdrow3.cScara.Text1' AS textbox WITH ; + BackColor = 255,255,255, ; + BorderStyle = 0, ; + FontCharSet = 1, ; + FontName = "Arial", ; + FontSize = 9, ; + ForeColor = 0,0,0, ; + Margin = 0, ; + Name = "Text1", ; + ReadOnly = .T., ; + SelectedBackColor = 100,185,255 + *< END OBJECT: BaseClass="textbox" /> + + ADD OBJECT 'pf_date.adrese._grdrow3.cStrada.Header1' AS header WITH ; + Alignment = 2, ; + Caption = "Strada", ; + FontCharSet = 1, ; + FontName = "Arial", ; + FontSize = 9, ; + Name = "Header1" + *< END OBJECT: BaseClass="header" /> + + ADD OBJECT 'pf_date.adrese._grdrow3.cStrada.Text1' AS textbox WITH ; + BackColor = 255,255,255, ; + BorderStyle = 0, ; + FontCharSet = 1, ; + FontName = "Arial", ; + FontSize = 9, ; + ForeColor = 0,0,0, ; + Margin = 0, ; + Name = "Text1", ; + ReadOnly = .T., ; + SelectedBackColor = 100,185,255 + *< END OBJECT: BaseClass="textbox" /> + + ADD OBJECT 'pf_date.adrese._grdrow3.cTelefon1.Header1' AS header WITH ; + Alignment = 2, ; + Caption = "Telefon 1", ; + FontCharSet = 1, ; + FontName = "Arial", ; + FontSize = 9, ; + Name = "Header1" + *< END OBJECT: BaseClass="header" /> + + ADD OBJECT 'pf_date.adrese._grdrow3.cTelefon1.Text1' AS textbox WITH ; + BackColor = 255,255,255, ; + BorderStyle = 0, ; + FontCharSet = 1, ; + FontName = "Arial", ; + FontSize = 9, ; + ForeColor = 0,0,0, ; + Margin = 0, ; + Name = "Text1", ; + ReadOnly = .T., ; + SelectedBackColor = 100,185,255 + *< END OBJECT: BaseClass="textbox" /> + + ADD OBJECT 'pf_date.adrese._grdrow3.cTelefon2.Header1' AS header WITH ; + Alignment = 2, ; + Caption = "Telefon 2", ; + FontCharSet = 1, ; + FontName = "Arial", ; + FontSize = 9, ; + Name = "Header1" + *< END OBJECT: BaseClass="header" /> + + ADD OBJECT 'pf_date.adrese._grdrow3.cTelefon2.Text1' AS textbox WITH ; + BackColor = 255,255,255, ; + BorderStyle = 0, ; + FontCharSet = 1, ; + FontName = "Arial", ; + FontSize = 9, ; + ForeColor = 0,0,0, ; + Margin = 0, ; + Name = "Text1", ; + SelectedBackColor = 100,185,255 + *< END OBJECT: BaseClass="textbox" /> + + ADD OBJECT 'pf_date.adrese._grdrow3.cWeb.Header1' AS header WITH ; + Alignment = 2, ; + Caption = "Web", ; + FontCharSet = 1, ; + FontName = "Arial", ; + FontSize = 9, ; + Name = "Header1" + *< END OBJECT: BaseClass="header" /> + + ADD OBJECT 'pf_date.adrese._grdrow3.cWeb.Text1' AS textbox WITH ; + BackColor = 255,255,255, ; + BorderStyle = 0, ; + FontCharSet = 1, ; + FontName = "Arial", ; + FontSize = 9, ; + ForeColor = 0,0,0, ; + Margin = 0, ; + Name = "Text1", ; + SelectedBackColor = 100,185,255 + *< END OBJECT: BaseClass="textbox" /> + + ADD OBJECT 'pf_date.adrese._grdrow4' AS _grdrow WITH ; + Anchor = 14, ; + ColumnCount = 8, ; + DeleteMark = .F., ; + GridLineColor = 192,192,192, ; + Height = 181, ; + HighlightStyle = 1, ; + Left = 11, ; + Name = "_grdrow4", ; + Panel = 1, ; + ReadOnly = .T., ; + RecordMark = .T., ; + RecordSource = "crsPersContactEnt", ; + RowHeight = 18, ; + TabIndex = 5, ; + Top = 284, ; + Width = 708, ; + ZOrderSet = 28, ; + Column1.BackColor = 255,255,255, ; + Column1.ColumnOrder = 1, ; + Column1.ControlSource = "nume", ; + Column1.FontName = "Arial", ; + Column1.FontSize = 9, ; + Column1.Name = "cNume", ; + Column1.ReadOnly = .T., ; + Column1.Width = 98, ; + Column2.BackColor = 255,255,255, ; + Column2.ControlSource = "prenume", ; + Column2.FontName = "Arial", ; + Column2.FontSize = 9, ; + Column2.Name = "cPrenume", ; + Column2.ReadOnly = .T., ; + Column2.Width = 99, ; + Column3.BackColor = 255,255,255, ; + Column3.ControlSource = "apelativ", ; + Column3.FontName = "Arial", ; + Column3.FontSize = 9, ; + Column3.Name = "cApelativ", ; + Column3.ReadOnly = .T., ; + Column4.BackColor = 255,255,255, ; + Column4.ControlSource = "functia", ; + Column4.FontName = "Arial", ; + Column4.FontSize = 9, ; + Column4.Name = "cFunctia", ; + Column4.ReadOnly = .T., ; + Column4.Width = 77, ; + Column5.BackColor = 255,255,255, ; + Column5.ControlSource = "telefon", ; + Column5.FontName = "Arial", ; + Column5.FontSize = 9, ; + Column5.Name = "cTelefon", ; + Column5.ReadOnly = .T., ; + Column6.BackColor = 255,255,255, ; + Column6.ControlSource = "email", ; + Column6.FontName = "Arial", ; + Column6.FontSize = 9, ; + Column6.Name = "cEmail", ; + Column6.ReadOnly = .T., ; + Column7.Alignment = 2, ; + Column7.BackColor = 255,255,255, ; + Column7.ControlSource = "principal", ; + Column7.FontName = "Arial", ; + Column7.FontSize = 9, ; + Column7.Name = "cPrincipal", ; + Column7.ReadOnly = .T., ; + Column7.Sparse = .F., ; + Column7.Width = 52, ; + Column8.Alignment = 2, ; + Column8.BackColor = 255,255,255, ; + Column8.ControlSource = "inactiv", ; + Column8.FontName = "Arial", ; + Column8.FontSize = 9, ; + Column8.Name = "cInactiv", ; + Column8.ReadOnly = .T., ; + Column8.Sparse = .F., ; + Column8.Width = 42 + *< END OBJECT: ClassLib="_grd_base.vcx" BaseClass="grid" /> + + ADD OBJECT 'pf_date.adrese._grdrow4.cApelativ.Header1' AS header WITH ; + Alignment = 2, ; + Caption = "Apelativ", ; + FontName = "Arial", ; + FontSize = 9, ; + Name = "Header1" + *< END OBJECT: BaseClass="header" /> + + ADD OBJECT 'pf_date.adrese._grdrow4.cApelativ.Text1' AS textbox WITH ; + BackColor = 255,255,255, ; + BorderStyle = 0, ; + FontName = "Arial", ; + FontSize = 9, ; + ForeColor = 0,0,0, ; + Margin = 0, ; + Name = "Text1", ; + SelectedBackColor = 100,185,255 + *< END OBJECT: BaseClass="textbox" /> + + ADD OBJECT 'pf_date.adrese._grdrow4.cEmail.Header1' AS header WITH ; + Alignment = 2, ; + Caption = "E-mail", ; + FontName = "Arial", ; + FontSize = 9, ; + Name = "Header1" + *< END OBJECT: BaseClass="header" /> + + ADD OBJECT 'pf_date.adrese._grdrow4.cEmail.Text1' AS textbox WITH ; + BackColor = 255,255,255, ; + BorderStyle = 0, ; + FontName = "Arial", ; + FontSize = 9, ; + ForeColor = 0,0,0, ; + Margin = 0, ; + Name = "Text1", ; + SelectedBackColor = 100,185,255 + *< END OBJECT: BaseClass="textbox" /> + + ADD OBJECT 'pf_date.adrese._grdrow4.cFunctia.Header1' AS header WITH ; + Alignment = 2, ; + Caption = "Functia", ; + FontName = "Arial", ; + FontSize = 9, ; + Name = "Header1" + *< END OBJECT: BaseClass="header" /> + + ADD OBJECT 'pf_date.adrese._grdrow4.cFunctia.Text1' AS textbox WITH ; + BackColor = 255,255,255, ; + BorderStyle = 0, ; + FontName = "Arial", ; + FontSize = 9, ; + ForeColor = 0,0,0, ; + Margin = 0, ; + Name = "Text1", ; + SelectedBackColor = 100,185,255 + *< END OBJECT: BaseClass="textbox" /> + + ADD OBJECT 'pf_date.adrese._grdrow4.cInactiv.Check1' AS checkbox WITH ; + Alignment = 0, ; + Caption = "", ; + Centered = .T., ; + FontName = "Arial", ; + FontSize = 9, ; + Height = 17, ; + Left = 34, ; + Name = "Check1", ; + Top = 32, ; + Width = 60 + *< END OBJECT: BaseClass="checkbox" /> + + ADD OBJECT 'pf_date.adrese._grdrow4.cInactiv.Header1' AS header WITH ; + Alignment = 2, ; + BackColor = 212,208,200, ; + Caption = "Inactiv", ; + FontName = "Arial", ; + FontSize = 9, ; + Name = "Header1" + *< END OBJECT: BaseClass="header" /> + + ADD OBJECT 'pf_date.adrese._grdrow4.cNume.Header1' AS header WITH ; + Alignment = 2, ; + Caption = "Nume", ; + FontName = "Arial", ; + FontSize = 9, ; + Name = "Header1" + *< END OBJECT: BaseClass="header" /> + + ADD OBJECT 'pf_date.adrese._grdrow4.cNume.Text1' AS textbox WITH ; + BackColor = 255,255,255, ; + BorderStyle = 0, ; + FontName = "Arial", ; + FontSize = 9, ; + ForeColor = 0,0,0, ; + Margin = 0, ; + Name = "Text1", ; + SelectedBackColor = 100,185,255 + *< END OBJECT: BaseClass="textbox" /> + + ADD OBJECT 'pf_date.adrese._grdrow4.cPrenume.Header1' AS header WITH ; + Alignment = 2, ; + Caption = "Prenume", ; + FontName = "Arial", ; + FontSize = 9, ; + Name = "Header1" + *< END OBJECT: BaseClass="header" /> + + ADD OBJECT 'pf_date.adrese._grdrow4.cPrenume.Text1' AS textbox WITH ; + BackColor = 255,255,255, ; + BorderStyle = 0, ; + FontName = "Arial", ; + FontSize = 9, ; + ForeColor = 0,0,0, ; + Margin = 0, ; + Name = "Text1", ; + SelectedBackColor = 100,185,255 + *< END OBJECT: BaseClass="textbox" /> + + ADD OBJECT 'pf_date.adrese._grdrow4.cPrincipal.Check1' AS checkbox WITH ; + Alignment = 0, ; + Caption = "", ; + Centered = .T., ; + FontName = "Arial", ; + FontSize = 9, ; + Height = 17, ; + Left = 38, ; + Name = "Check1", ; + Top = 20, ; + Width = 60 + *< END OBJECT: BaseClass="checkbox" /> + + ADD OBJECT 'pf_date.adrese._grdrow4.cPrincipal.Header1' AS header WITH ; + Alignment = 2, ; + Caption = "Principal", ; + FontName = "Arial", ; + FontSize = 9, ; + Name = "Header1" + *< END OBJECT: BaseClass="header" /> + + ADD OBJECT 'pf_date.adrese._grdrow4.cTelefon.Header1' AS header WITH ; + Alignment = 2, ; + Caption = "Telefon", ; + FontName = "Arial", ; + FontSize = 9, ; + Name = "Header1" + *< END OBJECT: BaseClass="header" /> + + ADD OBJECT 'pf_date.adrese._grdrow4.cTelefon.Text1' AS textbox WITH ; + BackColor = 255,255,255, ; + BorderStyle = 0, ; + FontName = "Arial", ; + FontSize = 9, ; + ForeColor = 0,0,0, ; + Margin = 0, ; + Name = "Text1", ; + SelectedBackColor = 100,185,255 + *< END OBJECT: BaseClass="textbox" /> + + ADD OBJECT 'pf_date.adrese.But_modifica2' AS but_modifica WITH ; + Anchor = 9, ; + caction = do_modifica2, ; + Comment = "*:OnResize=RT", ; + Left = 728, ; + Name = "But_modifica2", ; + TabIndex = 3, ; + Tag = "L", ; + Top = 62, ; + Visible = .T., ; + ZOrderSet = 26 + *< END OBJECT: ClassLib="cmd_butoane.vcx" BaseClass="commandbutton" /> + + ADD OBJECT 'pf_date.adrese.But_modifica3' AS but_modifica WITH ; + Anchor = 12, ; + caction = do_modifica3, ; + Comment = "*:OnResize=RT", ; + Left = 728, ; + Name = "But_modifica3", ; + TabIndex = 7, ; + Tag = "L", ; + Top = 312, ; + Visible = .T., ; + ZOrderSet = 30 + *< END OBJECT: ClassLib="cmd_butoane.vcx" BaseClass="commandbutton" /> + + ADD OBJECT 'pf_date.adrese.But_nou2' AS but_nou WITH ; + Anchor = 9, ; + caction = do_adauga2, ; + Left = 728, ; + Name = "But_nou2", ; + TabIndex = 2, ; + Tag = "L", ; + Top = 34, ; + ZOrderSet = 25 + *< END OBJECT: ClassLib="cmd_butoane.vcx" BaseClass="commandbutton" /> + + ADD OBJECT 'pf_date.adrese.But_nou3' AS but_nou WITH ; + Anchor = 12, ; + caction = do_adauga3, ; + Comment = "*:OnResize=RT", ; + Left = 728, ; + Name = "But_nou3", ; + TabIndex = 6, ; + Tag = "L", ; + Top = 283, ; + ZOrderSet = 29 + *< END OBJECT: ClassLib="cmd_butoane.vcx" BaseClass="commandbutton" /> + + ADD OBJECT 'pf_date.adrese.But_sterge2' AS but_sterge WITH ; + Anchor = 9, ; + caction = do_sterge2, ; + Comment = "*:OnResize=RT", ; + Left = 728, ; + Name = "But_sterge2", ; + TabIndex = 4, ; + Tag = "L", ; + Top = 90, ; + Visible = .T., ; + ZOrderSet = 27 + *< END OBJECT: ClassLib="cmd_butoane.vcx" BaseClass="commandbutton" /> + + ADD OBJECT 'pf_date.adrese.But_sterge3' AS but_sterge WITH ; + Anchor = 12, ; + caction = do_sterge3, ; + Comment = "*:OnResize=RT", ; + Left = 728, ; + Name = "But_sterge3", ; + TabIndex = 8, ; + Tag = "L", ; + Top = 340, ; + Visible = .T., ; + ZOrderSet = 31 + *< END OBJECT: ClassLib="cmd_butoane.vcx" BaseClass="commandbutton" /> + + ADD OBJECT 'pf_date.adrese.LB_SIMPLU1' AS lb_simplu WITH ; + Caption = "Adrese", ; + Left = 16, ; + Name = "LB_SIMPLU1", ; + TabIndex = 9, ; + Top = 13 + *< END OBJECT: ClassLib="lb.vcx" BaseClass="label" /> + + ADD OBJECT 'pf_date.adrese.Lb_simplu2' AS lb_simplu WITH ; + Caption = "Persoane de contact", ; + Left = 16, ; + Name = "Lb_simplu2", ; + TabIndex = 10, ; + Top = 263 + *< END OBJECT: ClassLib="lb.vcx" BaseClass="label" /> + + ADD OBJECT 'pf_date.banca.Clb_banca' AS clb_tx_simplu WITH ; + Anchor = 10, ; + Height = 29, ; + Left = 8, ; + Name = "Clb_banca", ; + TabIndex = 1, ; + Top = 12, ; + Width = 336, ; + ZOrderSet = 5, ; + Text_simplu1.Anchor = 10, ; + Text_simplu1.ControlSource = "poRec.banca", ; + Text_simplu1.Format = "!K", ; + Text_simplu1.Left = 90, ; + Text_simplu1.Name = "Text_simplu1", ; + Text_simplu1.Top = 3, ; + Text_simplu1.Width = 240, ; + Lb_simplu1.Caption = "Nume bancã", ; + Lb_simplu1.FontBold = .T., ; + Lb_simplu1.Left = 4, ; + Lb_simplu1.Name = "Lb_simplu1" + *< END OBJECT: ClassLib="lb_tx.vcx" BaseClass="container" /> + + ADD OBJECT 'pf_date.banca.Clb_cont_banca' AS clb_tx_simplu WITH ; + Anchor = 10, ; + Height = 29, ; + Left = 8, ; + Name = "Clb_cont_banca", ; + TabIndex = 2, ; + Top = 40, ; + Width = 336, ; + ZOrderSet = 5, ; + Text_simplu1.Anchor = 10, ; + Text_simplu1.ControlSource = "poRec.cont_banca", ; + Text_simplu1.Format = "!K", ; + Text_simplu1.Left = 90, ; + Text_simplu1.Name = "Text_simplu1", ; + Text_simplu1.Top = 3, ; + Text_simplu1.Width = 240, ; + Lb_simplu1.Caption = "Cont bancã", ; + Lb_simplu1.Left = 4, ; + Lb_simplu1.Name = "Lb_simplu1" + *< END OBJECT: ClassLib="lb_tx.vcx" BaseClass="container" /> + + ADD OBJECT 'pf_date.banca.Clb_tx_simplu1' AS clb_tx_simplu WITH ; + Anchor = 10, ; + Height = 29, ; + Left = 8, ; + Name = "Clb_tx_simplu1", ; + TabIndex = 3, ; + Top = 68, ; + Width = 336, ; + ZOrderSet = 5, ; + Text_simplu1.Anchor = 10, ; + Text_simplu1.ControlSource = "poRec.swift_banca", ; + Text_simplu1.Format = "!K", ; + Text_simplu1.Left = 90, ; + Text_simplu1.Name = "Text_simplu1", ; + Text_simplu1.Top = 3, ; + Text_simplu1.Width = 240, ; + Lb_simplu1.Caption = "SWIFT", ; + Lb_simplu1.Left = 4, ; + Lb_simplu1.Name = "Lb_simplu1" + *< END OBJECT: ClassLib="lb_tx.vcx" BaseClass="container" /> + + ADD OBJECT 'pf_date.banca.Clb_tx_simplu2' AS clb_tx_simplu WITH ; + Anchor = 10, ; + Height = 29, ; + Left = 8, ; + Name = "Clb_tx_simplu2", ; + TabIndex = 4, ; + Top = 96, ; + Width = 336, ; + ZOrderSet = 5, ; + Text_simplu1.Anchor = 10, ; + Text_simplu1.ControlSource = "poRec.adresa_banca", ; + Text_simplu1.Format = "!K", ; + Text_simplu1.Left = 90, ; + Text_simplu1.Name = "Text_simplu1", ; + Text_simplu1.Top = 3, ; + Text_simplu1.Width = 240, ; + Lb_simplu1.Caption = "Adresa bancã", ; + Lb_simplu1.Left = 4, ; + Lb_simplu1.Name = "Lb_simplu1" + *< END OBJECT: ClassLib="lb_tx.vcx" BaseClass="container" /> + + ADD OBJECT 'pf_date.date_entitate._checkbox1' AS _checkbox WITH ; + Alignment = 0, ; + Anchor = 0, ; + Caption = "Inactiv", ; + ControlSource = "porec.inactiv", ; + FontBold = .T., ; + Left = 554, ; + Name = "_checkbox1", ; + TabIndex = 27, ; + TabStop = .F., ; + Top = 511 + *< END OBJECT: ClassLib="_baza.vcx" BaseClass="checkbox" /> + + ADD OBJECT 'pf_date.date_entitate._grdrow1' AS _grdrow WITH ; + Anchor = 9, ; + ColumnCount = 2, ; + DeleteMark = .F., ; + GridLines = 0, ; + Height = 412, ; + HighlightStyle = 2, ; + Left = 340, ; + Name = "_grdrow1", ; + Panel = 1, ; + RecordMark = .F., ; + RecordSource = "v_nom_tip_parteneri", ; + ScrollBars = 3, ; + TabIndex = 26, ; + Top = 21, ; + Width = 201, ; + ZOrderSet = 15, ; + Column1.ControlSource = "v_nom_tip_parteneri.tip_partener", ; + Column1.Name = "Column1", ; + Column1.ReadOnly = .T., ; + Column1.Width = 115, ; + Column2.Alignment = 2, ; + Column2.ControlSource = "v_nom_tip_parteneri.ales", ; + Column2.Name = "Column2", ; + Column2.Sparse = .F., ; + Column2.Width = 45 + *< END OBJECT: ClassLib="_grd_base.vcx" BaseClass="grid" /> + + ADD OBJECT 'pf_date.date_entitate._grdrow1.Column1.Header1' AS header WITH ; + Alignment = 2, ; + BackColor = 212,208,200, ; + Caption = "Tip Entitate", ; + Name = "Header1" + *< END OBJECT: BaseClass="header" /> + + ADD OBJECT 'pf_date.date_entitate._grdrow1.Column1.Text1' AS textbox WITH ; + BackColor = 255,255,255, ; + BorderStyle = 0, ; + ForeColor = 0,0,0, ; + Margin = 0, ; + Name = "Text1", ; + ReadOnly = .T., ; + SelectedBackColor = 100,185,255 + *< END OBJECT: BaseClass="textbox" /> + + ADD OBJECT 'pf_date.date_entitate._grdrow1.Column2.Check1' AS checkbox WITH ; + Alignment = 0, ; + Caption = "", ; + Centered = .T., ; + Height = 17, ; + Left = 42, ; + Name = "Check1", ; + Top = 100, ; + Width = 60 + *< END OBJECT: BaseClass="checkbox" /> + + ADD OBJECT 'pf_date.date_entitate._grdrow1.Column2.Header1' AS header WITH ; + Alignment = 2, ; + Caption = "Ales", ; + Name = "Header1" + *< END OBJECT: BaseClass="header" /> + + ADD OBJECT 'pf_date.date_entitate._shape1' AS _shape WITH ; + BackStyle = 0, ; + BorderColor = 0,128,255, ; + Height = 337, ; + Left = 6, ; + Name = "_shape1", ; + Top = 197, ; + Width = 327 + *< END OBJECT: ClassLib="_baza.vcx" BaseClass="shape" /> + + ADD OBJECT 'pf_date.date_entitate.butAdresaNou' AS but_nou WITH ; + Anchor = 0, ; + caction = do_adauga2, ; + Left = 300, ; + Name = "butAdresaNou", ; + TabIndex = 8, ; + TabStop = .F., ; + Tag = "L", ; + Top = 199, ; + ZOrderSet = 25 + *< END OBJECT: ClassLib="cmd_butoane.vcx" BaseClass="commandbutton" /> + + ADD OBJECT 'pf_date.date_entitate.Cb_categorie_entitate' AS cb_tx_simplu WITH ; + Anchor = 0, ; + Height = 29, ; + Left = 341, ; + Name = "Cb_categorie_entitate", ; + TabIndex = 23, ; + Top = 449, ; + Width = 190, ; + ZOrderSet = 14, ; + _cbbase1.Anchor = 10, ; + _cbbase1.ControlSource = "porec.categorie_entitate", ; + _cbbase1.Height = 23, ; + _cbbase1.Left = 70, ; + _cbbase1.Name = "_cbbase1", ; + _cbbase1.RowSource = "v_nom_categ_ent.categorie_entitate", ; + _cbbase1.RowSourceType = 2, ; + _cbbase1.Top = 3, ; + _cbbase1.Width = 110, ; + _lbbase1.Caption = "Categorie", ; + _lbbase1.Left = 4, ; + _lbbase1.Name = "_lbbase1" + *< END OBJECT: ClassLib="lb_tx.vcx" BaseClass="container" /> + + ADD OBJECT 'pf_date.date_entitate.cbAdrese' AS cb_tx_simplu WITH ; + Anchor = 0, ; + BorderColor = 0,128,255, ; + Height = 29, ; + Left = 6, ; + Name = "cbAdrese", ; + TabIndex = 6, ; + Top = 197, ; + Width = 327, ; + ZOrderSet = 14, ; + _cbbase1.Anchor = 10, ; + _cbbase1.Height = 23, ; + _cbbase1.Left = 80, ; + _cbbase1.Name = "_cbbase1", ; + _cbbase1.RowSource = "crsAdreseEnt.strada", ; + _cbbase1.RowSourceType = 6, ; + _cbbase1.Top = 4, ; + _cbbase1.Width = 211, ; + _lbbase1.Caption = "Adresa", ; + _lbbase1.FontBold = .T., ; + _lbbase1.Left = 4, ; + _lbbase1.Name = "_lbbase1" + *< END OBJECT: ClassLib="lb_tx.vcx" BaseClass="container" /> + + ADD OBJECT 'pf_date.date_entitate.chkInactiva' AS _checkbox WITH ; + Alignment = 0, ; + Anchor = 0, ; + Caption = "Adresã inactivã", ; + ControlSource = "crsAdreseEnt.inactiv", ; + Height = 18, ; + Left = 94, ; + Name = "chkInactiva", ; + TabIndex = 22, ; + TabStop = .F., ; + Top = 513, ; + Width = 107, ; + WordWrap = .T. + *< END OBJECT: ClassLib="_baza.vcx" BaseClass="checkbox" /> + + ADD OBJECT 'pf_date.date_entitate.chkInstitutiePublica' AS _checkbox WITH ; + Alignment = 0, ; + Caption = "Institutie Publica", ; + ControlSource = "porec.institutie_publica", ; + FontBold = .T., ; + Left = 239, ; + Name = "chkInstitutiePublica", ; + TabIndex = 29, ; + TabStop = .F., ; + Top = 2 + *< END OBJECT: ClassLib="_baza.vcx" BaseClass="checkbox" /> + + ADD OBJECT 'pf_date.date_entitate.chkPrincipala' AS _checkbox WITH ; + Alignment = 0, ; + Anchor = 0, ; + Caption = "Principalã", ; + ControlSource = "crsAdreseEnt.principala", ; + Left = 10, ; + Name = "chkPrincipala", ; + TabIndex = 21, ; + TabStop = .F., ; + Top = 513 + *< END OBJECT: ClassLib="_baza.vcx" BaseClass="checkbox" /> + + ADD OBJECT 'pf_date.date_entitate.Clb_apartament' AS clb_tx_simplu WITH ; + Anchor = 0, ; + BorderColor = 0,128,255, ; + Height = 29, ; + Left = 106, ; + Name = "Clb_apartament", ; + TabIndex = 14, ; + Top = 365, ; + Width = 114, ; + ZOrderSet = 9, ; + Text_simplu1.ControlSource = "crsAdreseEnt.apart", ; + Text_simplu1.Format = "!K", ; + Text_simplu1.Height = 23, ; + Text_simplu1.Left = 36, ; + Text_simplu1.Name = "Text_simplu1", ; + Text_simplu1.Top = 3, ; + Text_simplu1.Width = 73, ; + Lb_simplu1.Caption = "Ap.", ; + Lb_simplu1.Left = 4, ; + Lb_simplu1.Name = "Lb_simplu1" + *< END OBJECT: ClassLib="lb_tx.vcx" BaseClass="container" /> + + ADD OBJECT 'pf_date.date_entitate.Clb_bloc' AS clb_tx_simplu WITH ; + Anchor = 0, ; + BorderColor = 0,128,255, ; + Height = 29, ; + Left = 6, ; + Name = "Clb_bloc", ; + TabIndex = 11, ; + Top = 337, ; + Width = 214, ; + ZOrderSet = 7, ; + Text_simplu1.ControlSource = "crsAdreseEnt.bloc", ; + Text_simplu1.Format = "!K", ; + Text_simplu1.Height = 23, ; + Text_simplu1.Left = 36, ; + Text_simplu1.Name = "Text_simplu1", ; + Text_simplu1.Top = 3, ; + Text_simplu1.Width = 172, ; + Lb_simplu1.Caption = "Bloc", ; + Lb_simplu1.Left = 4, ; + Lb_simplu1.Name = "Lb_simplu1" + *< END OBJECT: ClassLib="lb_tx.vcx" BaseClass="container" /> + + ADD OBJECT 'pf_date.date_entitate.Clb_cod_fiscal' AS clb_tx_simplu WITH ; + Anchor = 10, ; + Height = 32, ; + Left = 6, ; + Name = "Clb_cod_fiscal", ; + TabIndex = 4, ; + Top = 124, ; + Width = 327, ; + ZOrderSet = 5, ; + Text_simplu1.Anchor = 10, ; + Text_simplu1.ControlSource = "poRec.cod_fiscal", ; + Text_simplu1.Format = "!K", ; + Text_simplu1.Height = 23, ; + Text_simplu1.Left = 64, ; + Text_simplu1.Name = "Text_simplu1", ; + Text_simplu1.TabIndex = 1, ; + Text_simplu1.Top = 3, ; + Text_simplu1.Width = 112, ; + Lb_simplu1.Caption = "C.I.F.", ; + Lb_simplu1.FontBold = .T., ; + Lb_simplu1.Left = 4, ; + Lb_simplu1.Name = "Lb_simplu1", ; + Lb_simplu1.TabIndex = 2 + *< END OBJECT: ClassLib="lb_tx.vcx" BaseClass="container" /> + + ADD OBJECT 'pf_date.date_entitate.Clb_cod_fiscal.But_verifica1' AS but_verifica WITH ; + Anchor = 8, ; + Left = 291, ; + Name = "But_verifica1", ; + TabIndex = 3, ; + ToolTipText = "Validare cod", ; + Top = 1 + *< END OBJECT: ClassLib="cmd_butoane.vcx" BaseClass="commandbutton" /> + + ADD OBJECT 'pf_date.date_entitate.Clb_cod_fiscal.txtCodFiscal2' AS _textbox WITH ; + ControlSource = "poRec.cod_fiscal2", ; + Format = "!K", ; + Height = 23, ; + Left = 179, ; + Name = "txtCodFiscal2", ; + TabIndex = 4, ; + ToolTipText = "Cod identificare fiscala diferit de CIF. Daca CIF este folosit doar pentru activitati in scopuri TVA, iar firma nu desfasoara activitati in sfera TVA.", ; + Top = 3, ; + Width = 112 + *< END OBJECT: ClassLib="_baza.vcx" BaseClass="textbox" /> + + ADD OBJECT 'pf_date.date_entitate.Clb_codp' AS clb_tx_simplu WITH ; + Anchor = 0, ; + BorderColor = 0,128,255, ; + Height = 29, ; + Left = 219, ; + Name = "Clb_codp", ; + TabIndex = 15, ; + Top = 365, ; + Width = 114, ; + ZOrderSet = 9, ; + Text_simplu1.ControlSource = "crsAdreseEnt.codpostal", ; + Text_simplu1.Format = "!K", ; + Text_simplu1.Height = 23, ; + Text_simplu1.Left = 43, ; + Text_simplu1.Name = "Text_simplu1", ; + Text_simplu1.Top = 3, ; + Text_simplu1.Width = 66, ; + Lb_simplu1.Caption = "Cod p.", ; + Lb_simplu1.Left = 4, ; + Lb_simplu1.Name = "Lb_simplu1" + *< END OBJECT: ClassLib="lb_tx.vcx" BaseClass="container" /> + + ADD OBJECT 'pf_date.date_entitate.clb_denumire' AS clb_tx_simplu WITH ; + Anchor = 10, ; + Height = 29, ; + Left = 6, ; + Name = "clb_denumire", ; + TabIndex = 1, ; + Top = 23, ; + Width = 327, ; + ZOrderSet = 4, ; + Text_simplu1.Anchor = 10, ; + Text_simplu1.ControlSource = "poRec.denumire", ; + Text_simplu1.Format = "!K", ; + Text_simplu1.Height = 23, ; + Text_simplu1.Left = 70, ; + Text_simplu1.Name = "Text_simplu1", ; + Text_simplu1.Top = 3, ; + Text_simplu1.Width = 250, ; + Lb_simplu1.Caption = "Denumire", ; + Lb_simplu1.FontBold = .T., ; + Lb_simplu1.Left = 4, ; + Lb_simplu1.Name = "Lb_simplu1" + *< END OBJECT: ClassLib="lb_tx.vcx" BaseClass="container" /> + + ADD OBJECT 'pf_date.date_entitate.Clb_email' AS clb_tx_simplu WITH ; + Anchor = 0, ; + BorderColor = 0,128,255, ; + Height = 29, ; + Left = 6, ; + Name = "Clb_email", ; + TabIndex = 18, ; + Top = 421, ; + Width = 262, ; + ZOrderSet = 10, ; + Text_simplu1.ControlSource = "crsAdreseEnt.EMAIL", ; + Text_simplu1.Format = "K", ; + Text_simplu1.Height = 23, ; + Text_simplu1.Left = 44, ; + Text_simplu1.Name = "Text_simplu1", ; + Text_simplu1.Top = 3, ; + Text_simplu1.Width = 211, ; + Lb_simplu1.Caption = "Email", ; + Lb_simplu1.Left = 4, ; + Lb_simplu1.Name = "Lb_simplu1", ; + Lb_simplu1.Top = 6 + *< END OBJECT: ClassLib="lb_tx.vcx" BaseClass="container" /> + + ADD OBJECT 'pf_date.date_entitate.clb_etaj' AS clb_tx_simplu WITH ; + Anchor = 0, ; + BorderColor = 0,128,255, ; + Height = 29, ; + Left = 6, ; + Name = "clb_etaj", ; + TabIndex = 13, ; + Top = 365, ; + Width = 88, ; + ZOrderSet = 9, ; + Text_simplu1.ControlSource = "crsAdreseEnt.etaj", ; + Text_simplu1.Format = "!K", ; + Text_simplu1.Height = 23, ; + Text_simplu1.Left = 33, ; + Text_simplu1.Name = "Text_simplu1", ; + Text_simplu1.Top = 3, ; + Text_simplu1.Width = 51, ; + Lb_simplu1.Caption = "Etaj", ; + Lb_simplu1.Left = 4, ; + Lb_simplu1.Name = "Lb_simplu1" + *< END OBJECT: ClassLib="lb_tx.vcx" BaseClass="container" /> + + ADD OBJECT 'pf_date.date_entitate.Clb_fax' AS clb_tx_simplu WITH ; + Anchor = 0, ; + BorderColor = 0,128,255, ; + Height = 29, ; + Left = 6, ; + Name = "Clb_fax", ; + TabIndex = 19, ; + Top = 449, ; + Width = 262, ; + ZOrderSet = 10, ; + Text_simplu1.ControlSource = "crsAdreseEnt.fax", ; + Text_simplu1.Format = "!K", ; + Text_simplu1.Height = 23, ; + Text_simplu1.Left = 44, ; + Text_simplu1.Name = "Text_simplu1", ; + Text_simplu1.Top = 3, ; + Text_simplu1.Width = 211, ; + Lb_simplu1.Caption = "Fax", ; + Lb_simplu1.Left = 4, ; + Lb_simplu1.Name = "Lb_simplu1" + *< END OBJECT: ClassLib="lb_tx.vcx" BaseClass="container" /> + + ADD OBJECT 'pf_date.date_entitate.Clb_motiv_inactiv' AS clb_tx_simplu WITH ; + Anchor = 0, ; + Height = 29, ; + Left = 550, ; + Name = "Clb_motiv_inactiv", ; + TabIndex = 30, ; + Top = 505, ; + Width = 226, ; + ZOrderSet = 5, ; + Text_simplu1.Anchor = 10, ; + Text_simplu1.ControlSource = "poRec.motiv_inactiv", ; + Text_simplu1.Format = "!K", ; + Text_simplu1.Height = 23, ; + Text_simplu1.Left = 70, ; + Text_simplu1.Name = "Text_simplu1", ; + Text_simplu1.Top = 3, ; + Text_simplu1.Width = 151, ; + Lb_simplu1.Caption = "Motiv inactivare", ; + Lb_simplu1.Left = 265, ; + Lb_simplu1.Name = "Lb_simplu1", ; + Lb_simplu1.Top = 12 + *< END OBJECT: ClassLib="lb_tx.vcx" BaseClass="container" /> + + ADD OBJECT 'pf_date.date_entitate.clb_numar' AS clb_tx_simplu WITH ; + Anchor = 0, ; + BorderColor = 0,128,255, ; + Height = 29, ; + Left = 245, ; + Name = "clb_numar", ; + TabIndex = 10, ; + Top = 309, ; + Width = 88, ; + ZOrderSet = 7, ; + Text_simplu1.ControlSource = "crsAdreseEnt.numar", ; + Text_simplu1.Format = "!K", ; + Text_simplu1.Height = 23, ; + Text_simplu1.Left = 26, ; + Text_simplu1.Name = "Text_simplu1", ; + Text_simplu1.Top = 3, ; + Text_simplu1.Width = 57, ; + Lb_simplu1.Caption = "Nr.", ; + Lb_simplu1.Left = 4, ; + Lb_simplu1.Name = "Lb_simplu1" + *< END OBJECT: ClassLib="lb_tx.vcx" BaseClass="container" /> + + ADD OBJECT 'pf_date.date_entitate.Clb_nume' AS clb_tx_simplu WITH ; + Anchor = 10, ; + Height = 29, ; + Left = 6, ; + Name = "Clb_nume", ; + TabIndex = 2, ; + Top = 51, ; + Width = 327, ; + ZOrderSet = 4, ; + Text_simplu1.Anchor = 10, ; + Text_simplu1.ControlSource = "poRec.nume", ; + Text_simplu1.Format = "!K", ; + Text_simplu1.Left = 70, ; + Text_simplu1.Name = "Text_simplu1", ; + Text_simplu1.Width = 250, ; + Lb_simplu1.Caption = "Nume", ; + Lb_simplu1.Left = 4, ; + Lb_simplu1.Name = "Lb_simplu1" + *< END OBJECT: ClassLib="lb_tx.vcx" BaseClass="container" /> + + ADD OBJECT 'pf_date.date_entitate.Clb_prefix' AS clb_tx_simplu WITH ; + Anchor = 0, ; + Height = 29, ; + Left = 341, ; + Name = "Clb_prefix", ; + TabIndex = 24, ; + Top = 477, ; + Width = 190, ; + ZOrderSet = 5, ; + Text_simplu1.Anchor = 10, ; + Text_simplu1.ControlSource = "poRec.prefix", ; + Text_simplu1.Format = "!K", ; + Text_simplu1.Height = 23, ; + Text_simplu1.Left = 70, ; + Text_simplu1.Name = "Text_simplu1", ; + Text_simplu1.Top = 3, ; + Text_simplu1.Width = 110, ; + Lb_simplu1.Caption = "Prefix", ; + Lb_simplu1.Left = 4, ; + Lb_simplu1.Name = "Lb_simplu1" + *< END OBJECT: ClassLib="lb_tx.vcx" BaseClass="container" /> + + ADD OBJECT 'pf_date.date_entitate.Clb_prenume' AS clb_tx_simplu WITH ; + Anchor = 10, ; + Height = 29, ; + Left = 6, ; + Name = "Clb_prenume", ; + TabIndex = 3, ; + Top = 79, ; + Width = 327, ; + ZOrderSet = 4, ; + Text_simplu1.Anchor = 10, ; + Text_simplu1.ControlSource = "poRec.prenume", ; + Text_simplu1.Format = "!K", ; + Text_simplu1.Left = 70, ; + Text_simplu1.Name = "Text_simplu1", ; + Text_simplu1.Width = 250, ; + Lb_simplu1.Caption = "Prenume", ; + Lb_simplu1.Left = 4, ; + Lb_simplu1.Name = "Lb_simplu1" + *< END OBJECT: ClassLib="lb_tx.vcx" BaseClass="container" /> + + ADD OBJECT 'pf_date.date_entitate.Clb_reg_comert' AS clb_tx_simplu WITH ; + Anchor = 10, ; + Height = 29, ; + Left = 6, ; + Name = "Clb_reg_comert", ; + TabIndex = 5, ; + Top = 155, ; + Width = 327, ; + ZOrderSet = 6, ; + Text_simplu1.Anchor = 10, ; + Text_simplu1.ControlSource = "poRec.reg_comert", ; + Text_simplu1.Format = "!K", ; + Text_simplu1.Left = 80, ; + Text_simplu1.Name = "Text_simplu1", ; + Text_simplu1.Width = 240, ; + Lb_simplu1.Caption = "Reg. Comerþ", ; + Lb_simplu1.Height = 18, ; + Lb_simplu1.Left = 4, ; + Lb_simplu1.Name = "Lb_simplu1", ; + Lb_simplu1.Top = 7, ; + Lb_simplu1.Width = 75 + *< END OBJECT: ClassLib="lb_tx.vcx" BaseClass="container" /> + + ADD OBJECT 'pf_date.date_entitate.Clb_scara' AS clb_tx_simplu WITH ; + Anchor = 0, ; + BorderColor = 0,128,255, ; + Height = 29, ; + Left = 219, ; + Name = "Clb_scara", ; + TabIndex = 12, ; + Top = 337, ; + Width = 114, ; + ZOrderSet = 8, ; + Text_simplu1.ControlSource = "crsAdreseEnt.scara", ; + Text_simplu1.Format = "!K", ; + Text_simplu1.Height = 23, ; + Text_simplu1.Left = 43, ; + Text_simplu1.Name = "Text_simplu1", ; + Text_simplu1.Top = 3, ; + Text_simplu1.Width = 66, ; + Lb_simplu1.Caption = "Scara", ; + Lb_simplu1.Left = 4, ; + Lb_simplu1.Name = "Lb_simplu1" + *< END OBJECT: ClassLib="lb_tx.vcx" BaseClass="container" /> + + ADD OBJECT 'pf_date.date_entitate.clb_strada' AS clb_tx_simplu WITH ; + Anchor = 0, ; + BorderColor = 0,128,255, ; + Height = 29, ; + Left = 6, ; + Name = "clb_strada", ; + TabIndex = 9, ; + Top = 309, ; + Width = 240, ; + ZOrderSet = 7, ; + Text_simplu1.ControlSource = "crsAdreseEnt.strada", ; + Text_simplu1.Format = "!K", ; + Text_simplu1.Height = 23, ; + Text_simplu1.Left = 36, ; + Text_simplu1.Name = "Text_simplu1", ; + Text_simplu1.Top = 3, ; + Text_simplu1.Width = 198, ; + Lb_simplu1.Caption = "Str.", ; + Lb_simplu1.Left = 4, ; + Lb_simplu1.Name = "Lb_simplu1" + *< END OBJECT: ClassLib="lb_tx.vcx" BaseClass="container" /> + + ADD OBJECT 'pf_date.date_entitate.Clb_sufix' AS clb_tx_simplu WITH ; + Anchor = 0, ; + Height = 29, ; + Left = 341, ; + Name = "Clb_sufix", ; + TabIndex = 25, ; + Top = 505, ; + Width = 190, ; + ZOrderSet = 5, ; + Text_simplu1.Anchor = 10, ; + Text_simplu1.ControlSource = "poRec.sufix", ; + Text_simplu1.Format = "!K", ; + Text_simplu1.Left = 70, ; + Text_simplu1.Name = "Text_simplu1", ; + Text_simplu1.Top = 3, ; + Text_simplu1.Width = 110, ; + Lb_simplu1.Caption = "Sufix", ; + Lb_simplu1.Left = 4, ; + Lb_simplu1.Name = "Lb_simplu1" + *< END OBJECT: ClassLib="lb_tx.vcx" BaseClass="container" /> + + ADD OBJECT 'pf_date.date_entitate.Clb_telefon1' AS clb_tx_simplu WITH ; + Anchor = 0, ; + BorderColor = 0,128,255, ; + Height = 29, ; + Left = 6, ; + Name = "Clb_telefon1", ; + TabIndex = 16, ; + Top = 393, ; + Width = 174, ; + ZOrderSet = 10, ; + Text_simplu1.ControlSource = "crsAdreseEnt.telefon1", ; + Text_simplu1.Format = "!K", ; + Text_simplu1.Height = 23, ; + Text_simplu1.Left = 36, ; + Text_simplu1.Name = "Text_simplu1", ; + Text_simplu1.Top = 3, ; + Text_simplu1.Width = 129, ; + Lb_simplu1.Caption = "Tel. 1", ; + Lb_simplu1.Left = 4, ; + Lb_simplu1.Name = "Lb_simplu1", ; + Lb_simplu1.Top = 6 + *< END OBJECT: ClassLib="lb_tx.vcx" BaseClass="container" /> + + ADD OBJECT 'pf_date.date_entitate.Clb_telefon2' AS clb_tx_simplu WITH ; + Anchor = 0, ; + BorderColor = 0,128,255, ; + Height = 29, ; + Left = 179, ; + Name = "Clb_telefon2", ; + TabIndex = 17, ; + Top = 393, ; + Width = 154, ; + ZOrderSet = 10, ; + Text_simplu1.ControlSource = "crsAdreseEnt.telefon2", ; + Text_simplu1.Format = "!K", ; + Text_simplu1.Height = 23, ; + Text_simplu1.Left = 40, ; + Text_simplu1.Name = "Text_simplu1", ; + Text_simplu1.Top = 3, ; + Text_simplu1.Width = 111, ; + Lb_simplu1.Caption = "Tel. 2 ", ; + Lb_simplu1.Left = 4, ; + Lb_simplu1.Name = "Lb_simplu1" + *< END OBJECT: ClassLib="lb_tx.vcx" BaseClass="container" /> + + ADD OBJECT 'pf_date.date_entitate.Clb_web' AS clb_tx_simplu WITH ; + Anchor = 0, ; + BorderColor = 0,128,255, ; + Height = 29, ; + Left = 6, ; + Name = "Clb_web", ; + TabIndex = 20, ; + Top = 477, ; + Width = 262, ; + ZOrderSet = 10, ; + Text_simplu1.ControlSource = "crsAdreseEnt.web", ; + Text_simplu1.Format = "K", ; + Text_simplu1.Height = 23, ; + Text_simplu1.Left = 44, ; + Text_simplu1.Name = "Text_simplu1", ; + Text_simplu1.Top = 3, ; + Text_simplu1.Width = 211, ; + Lb_simplu1.Caption = "Web", ; + Lb_simplu1.Left = 4, ; + Lb_simplu1.Name = "Lb_simplu1" + *< END OBJECT: ClassLib="lb_tx.vcx" BaseClass="container" /> + + ADD OBJECT 'pf_date.date_entitate.Ct_coresp_delegati_part1' AS ct_coresp_delegati_part WITH ; + Anchor = 0, ; + Height = 441, ; + Left = 523, ; + Name = "Ct_coresp_delegati_part1", ; + TabIndex = 31, ; + Top = 1, ; + Width = 251, ; + lb_explicatie.Left = 23, ; + lb_explicatie.Name = "lb_explicatie", ; + lb_explicatie.Top = 5, ; + grd_parteneri.cAles.FontSize = 9, ; + grd_parteneri.cAles.Header1.FontSize = 9, ; + grd_parteneri.cAles.Header1.Name = "Header1", ; + grd_parteneri.cAles.Name = "cAles", ; + grd_parteneri.cAles._checkbox1.Alignment = 2, ; + grd_parteneri.cAles._checkbox1.FontSize = 9, ; + grd_parteneri.cAles._checkbox1.Name = "_checkbox1", ; + grd_parteneri.cDenumire.FontSize = 9, ; + grd_parteneri.cDenumire.Header1.FontSize = 9, ; + grd_parteneri.cDenumire.Header1.Name = "Header1", ; + grd_parteneri.cDenumire.Name = "cDenumire", ; + grd_parteneri.cDenumire.Text1.FontSize = 9, ; + grd_parteneri.cDenumire.Text1.Name = "Text1", ; + grd_parteneri.Height = 367, ; + grd_parteneri.Left = 23, ; + grd_parteneri.Name = "grd_parteneri", ; + grd_parteneri.RowHeight = 18, ; + grd_parteneri.Top = 65, ; + grd_parteneri.Width = 228, ; + tx_cautare.Left = 23, ; + tx_cautare.Name = "tx_cautare", ; + tx_cautare.Top = 29 + *< END OBJECT: ClassLib="onomenclatoare.vcx" BaseClass="container" /> + + ADD OBJECT 'pf_date.date_entitate.Ct_localitate1' AS ct_localitate WITH ; + Anchor = 0, ; + BorderColor = 0,128,255, ; + ccrsjudete = crsJudetex, ; + ccrslocalitati = crsLocalitatix, ; + ccrstari = crsTarix, ; + cdate = poRec, ; + Height = 85, ; + Left = 6, ; + Name = "Ct_localitate1", ; + TabIndex = 7, ; + Top = 225, ; + Width = 328, ; + Cb_localitate_af.BorderColor = 0,128,255, ; + Cb_localitate_af.Height = 29, ; + Cb_localitate_af.img_atentie.Name = "img_atentie", ; + Cb_localitate_af.Left = 0, ; + Cb_localitate_af.Name = "Cb_localitate_af", ; + Cb_localitate_af.Top = 56, ; + Cb_localitate_af.Width = 327, ; + Cb_localitate_af._cbautofill1.BorderColor = 0,128,255, ; + Cb_localitate_af._cbautofill1.Height = 23, ; + Cb_localitate_af._cbautofill1.Left = 80, ; + Cb_localitate_af._cbautofill1.Name = "_cbautofill1", ; + Cb_localitate_af._cbautofill1.Top = 3, ; + Cb_localitate_af._cbautofill1.Width = 242, ; + Cb_localitate_af._lbbase1.Name = "_lbbase1", ; + Cb_tara.BorderColor = 0,128,255, ; + Cb_tara.Height = 29, ; + Cb_tara.Left = 0, ; + Cb_tara.Name = "Cb_tara", ; + Cb_tara.Top = 0, ; + Cb_tara.Width = 327, ; + Cb_tara._cbbase1.Height = 23, ; + Cb_tara._cbbase1.Left = 80, ; + Cb_tara._cbbase1.Name = "_cbbase1", ; + Cb_tara._cbbase1.Top = 3, ; + Cb_tara._cbbase1.Width = 242, ; + Cb_tara._lbbase1.Name = "_lbbase1", ; + Cb_judet.BorderColor = 0,128,255, ; + Cb_judet.Height = 29, ; + Cb_judet.Left = 0, ; + Cb_judet.Name = "Cb_judet", ; + Cb_judet.Top = 28, ; + Cb_judet.Width = 327, ; + Cb_judet._cbbase1.Height = 23, ; + Cb_judet._cbbase1.Left = 80, ; + Cb_judet._cbbase1.Name = "_cbbase1", ; + Cb_judet._cbbase1.Top = 3, ; + Cb_judet._cbbase1.Width = 242, ; + Cb_judet._lbbase1.Name = "_lbbase1" + *< END OBJECT: ClassLib="onomenclatoare.vcx" BaseClass="container" /> + + ADD OBJECT 'pf_date.date_entitate.Label1' AS label WITH ; + BackStyle = 0, ; + Caption = "Tip persoanã", ; + FontBold = .T., ; + FontCharSet = 238, ; + FontName = "Arial", ; + Height = 17, ; + Left = 6, ; + Name = "Label1", ; + TabIndex = 32, ; + Top = 3, ; + Width = 75 + *< END OBJECT: BaseClass="label" /> + + ADD OBJECT 'pf_date.date_entitate.Optiongroup1' AS optiongroup WITH ; + AutoSize = .T., ; + BackStyle = 0, ; + BorderStyle = 0, ; + ButtonCount = 2, ; + ControlSource = "poRec.tip_persoana", ; + Height = 27, ; + Left = 96, ; + Name = "Optiongroup1", ; + TabIndex = 28, ; + Top = -2, ; + Value = 1, ; + Width = 140, ; + Option1.BackStyle = 0, ; + Option1.Caption = "Juridicã", ; + Option1.FontCharSet = 238, ; + Option1.Height = 17, ; + Option1.Left = 5, ; + Option1.Name = "Option1", ; + Option1.Top = 5, ; + Option1.Value = 1, ; + Option1.Width = 61, ; + Option2.BackStyle = 0, ; + Option2.Caption = "Fizicã", ; + Option2.FontCharSet = 238, ; + Option2.Height = 17, ; + Option2.Left = 74, ; + Option2.Name = "Option2", ; + Option2.Top = 5, ; + Option2.Width = 61 + *< END OBJECT: BaseClass="optiongroup" /> + + PROCEDURE actualizeaza_grid3 + ENDPROC + + PROCEDURE adauga_tip_partener + ENDPROC + + PROCEDURE cuivalid + LPARAMETERS tcCodFiscal + + Local lcCodFiscal, llValid + Local loPartener As "empty" + Local lcDenumire, llIsCIF + lcCodFiscal = IIF(!EMPTY(m.tcCodFiscal), m.tcCodFiscal, poRec.cod_fiscal) + lcDenumire = Alltrim(poRec.denumire) + llIsCIF = (poRec.tip_persoana = 1) + llValid = .T. + If !Empty(m.lcCodFiscal) + loPartener = Createobject("empty") + AddProperty(loPartener, "cod_fiscal", m.lcCodFiscal) + AddProperty(loPartener, "denumire", m.lcDenumire) + AddProperty(loPartener, "isCIF", m.llIsCIF) + + llValid = verifica_partener("VALIDARE", m.loPartener) + ENDIF + + RETURN m.llValid + ENDPROC + + PROCEDURE do_adauga2 + Local loRecAdresa, lcCursor, loRecBckp + lcCursor = This.pf_date.adrese._grdrow3.RecordSource + loRecBckp = poRec + loRecAdresa = adrese_parteneri_nou(poRec.id_part,[LOCAL],lcCursor) && onomenclatoare.prg + poRec = loRecBckp + If gnButon = 1 + Select (lcCursor) + Append Blank + Gather Name loRecAdresa + This.pf_date.adrese._grdrow3.SetFocus() + Endif + ENDPROC + + PROCEDURE do_adauga3 + Local lcCursor, loRecContact, loRecBckp + loRecBckp = poRec + lcCursor = This.pf_date.adrese._grdrow4.RecordSource + Select (lcCursor) + Scatter Name loRecContact Blank + Do Adauga_Modifica_Inregistrare With "pers_contact",loRecContact,,"LOCAL" In oproceduri_ams.prg + poRec = loRecBckp + If gnButon = 1 + Select (lcCursor) + Append Blank + Gather Name loRecContact + This.pf_date.adrese._grdrow4.SetFocus() + Endif + ENDPROC + + PROCEDURE do_cauta + Lparameters nKeyCode, nShiftAltCtrl + *!* 06.01 + poRec.cod_fiscal = Thisform.pf_date.date_entitate.clb_cod_fiscal.text_simplu1.Value + If Inlist(nKeyCode,9,13) And nShiftAltCtrl=0 And !Empty(Nvl(poRec.cod_fiscal,'')) + poRec.denumire = Alltrim(Nvl(poRec.denumire,[])) + lcSql = [begin ] + gcS + [.pack_def.cauta_partener(?@poRec.denumire,?ALLTRIM(poRec.cod_fiscal),] + ; + [?poRec.tip_persoana,?@poRec.nume,?@poRec.prenume,?@poRec.reg_comert,?@poRec.id_loc_inreg,] + ; + [?@poRec.localitate_inreg,?@poRec.id_categorie_entitate,?@poRec.categorie_entitate,] + ; + [?@poRec.prefix,?@poRec.sufix,?@poRec.Banca,?@poRec.cont_banca,?@poRec.inactiv,] + ; + [?@poRec.motiv_inactiv); end;] + If goExecutor.oExecuta(lcSql) + Thisform.Refresh() + Endif + Endif + *!* ^ + ENDPROC + + PROCEDURE do_modifica2 + Local lnIdAdresa, loRecAdresa, lcCursor, lnRecNo, loRecBckp + lcCursor = This.pf_date.adrese._grdrow3.RecordSource + If Reccount(lcCursor)>0 + Select (lcCursor) + lnIdAdresa = id_adresa + lnRecNo = RECNO() + loRecBckp = poRec + loRecAdresa = adrese_parteneri_modifica(lnIdAdresa,"LOCAL",lcCursor) && onomenclatoare.prg + poRec = loRecBckp + If gnButon = 1 + loRecAdresa.id_adresa_orig = (-1)*loRecAdresa.id_adresa_orig && ca sa stiu ca am modificat valoarea + Select (lcCursor) + Goto lnRecno + Gather Name loRecAdresa + Endif + This.pf_date.adrese._grdrow3.SetFocus() + Endif + ENDPROC + + PROCEDURE do_modifica3 + Local lnRecno, lcCursor, loRecBckp + Store 0 To lnRecno + lcCursor = This.pf_date.adrese._grdrow4.RecordSource + If Reccount(lcCursor)>0 + Select (lcCursor) + lnRecno = Recno() + Scatter Name loRecContact + loRecBckp = poRec + Do Adauga_Modifica_Inregistrare With "pers_contact",loRecContact,loRecContact.id_pers,"LOCAL" In oproceduri_ams.prg + poRec = loRecBckp + If gnButon = 1 + loRecContact.id_pers_orig = (-1)*loRecContact.id_pers_orig && ca sa stiu ca am modificat valoarea + Select (lcCursor) + Goto lnRecno + Gather Name loRecContact + Endif + This.pf_date.adrese._grdrow4.SetFocus() + Endif + ENDPROC + + PROCEDURE do_sterge2 + Local lcCursor + lcCursor = This.pf_date.adrese._grdrow3.RecordSource + If Reccount(lcCursor)>0 + lcImagine = [intreb.ico] + lcTip = [Intrebare] + lcMesaj = "Doriþi sã ºtergeþi înregistrarea?" + lcTitlu = "ªtergere" + loFrmIntreb = Createobject('frm_mesaj',lcTitlu,lcImagine,lcTip,lcMesaj) + loFrmIntreb.Show(1) + If gnButon = 1 + Select (lcCursor) + Delete + Skip + Endif + This.pf_date.adrese._grdrow3.SetFocus() + Endif + ENDPROC + + PROCEDURE do_sterge3 + Local lcCursor + lcCursor = This.pf_date.adrese._grdrow4.RecordSource + If Reccount(lcCursor)>0 + lcImagine = [intreb.ico] + lcTip = [Intrebare] + lcMesaj = "Doriþi sã ºtergeþi înregistrarea?" + lcTitlu = "ªtergere" + loFrmIntreb = Createobject('frm_mesaj',lcTitlu,lcImagine,lcTip,lcMesaj) + loFrmIntreb.Show(1) + If gnButon = 1 + Select (lcCursor) + Delete + Skip + Endif + This.pf_date.adrese._grdrow4.SetFocus() + Endif + + ENDPROC + + PROCEDURE do_verifica + *!* 15.01.2020 + *!* marius.mutu + *!* verificare cod_fiscal2 + *!* nu se mai suprascrie reg_com daca loPartener.recom este gol (verificarea ANAF nu are regcom) + + #Define CRLF Chr(13) + Chr(10) + + Local loDate As "empty" + Local llCodRO, llPlatitorTVAMfin, lnRaspuns, loPartener, lnOptiune, lcCodFiscal, lcCodFiscal2, lcDenumire + Local lcAdresa, lcLocalitate, lcNumar, lcStrada + Local lcApart, lcBloc, lcEtaj, lcFax, lcScara, lcTelefon, lnCodPostal + + lnOptiune = 0 + loPartener = Null + loDate = Createobject("empty") + lcCodFiscal = Alltrim(Nvl(poRec.cod_fiscal, '')) + lcCodFiscal2 = Alltrim(Nvl(poRec.cod_fiscal2, '')) + If !Empty(m.lcCodFiscal) And !Empty(m.lcCodFiscal2) + lnOptiune = xmenu('Verifica ' + m.lcCodFiscal + ';Verifica ' + m.lcCodFiscal2) + If Empty(m.lnOptiune) + Return .F. + Else + lcCodFiscal = Iif(m.lnOptiune = 1, m.lcCodFiscal, m.lcCodFiscal2) + Endif + Endif + + lcDenumire = Alltrim(poRec.denumire) + AddProperty(loDate, "denumire", m.lcDenumire) + AddProperty(loDate, "cod_fiscal", m.lcCodFiscal) + AddProperty(loDate, "judet", "") + AddProperty(loDate, "cod_auto", "") + AddProperty(loDate, "cod_judet", "") + AddProperty(loDate, "mesaj_intrebare", 'Doriti sa se completeze datele in formular?') + + lnRaspuns = VerificaCodFiscal(loDate, @lnOptiune, @loPartener) + If Empty(m.lnOptiune) + Return + Endif + + If Pemstatus(loPartener, "platitortvamfin", 5) + llPlatitorTVAMfin = loPartener.PlatitorTvaMfin + llCodRO = (Left(m.lcCodFiscal, 2) = 'RO') + + If m.lnRaspuns = 6 + poRec.denumire = Upper(Alltrim(loPartener.firma)) + poRec.reg_comert = Iif(Left(Alltrim(loPartener.regcom), 1) <> '-' And !Empty(Nvl(loPartener.regcom, '')), Upper(Alltrim(loPartener.regcom)), poRec.reg_comert) + + * Adresa + lcAdresa = Alltrim(loPartener.adresa) + lcStrada = Upper(Alltrim(loPartener.strada)) + lcNumar = Upper(Alltrim(loPartener.nr)) + lcLocalitate = Upper(Alltrim(loPartener.localitate)) + lcBloc = Upper(Alltrim(loPartener.Bloc)) + lcScara = Upper(Alltrim(loPartener.scara)) + lcApart = Upper(Alltrim(loPartener.apart)) + lcEtaj = Upper(Alltrim(loPartener.etaj)) + + Select (This.pf_date.date_entitate.ct_localitate1.cCrsJudete) + Locate For judet = Alltrim(RemoveCharacters(Strtran(Upper(loPartener.judet), 'MUNICIPIUL', ''), .T.)) + If Found() + This.pf_date.date_entitate.ct_localitate1.odate.judet = Alltrim(judet) + This.pf_date.date_entitate.ct_localitate1.odate.id_judet = id_judet + This.pf_date.date_entitate.ct_localitate1.modifica_judet() + + If Empty(m.lcLocalitate) + lcLocalitate = Alltrim(RemoveCharacters(Getwordnum(m.lcAdresa, Getwordcount(m.lcAdresa), ' '), .T.)) && localitatea este ultimul cuvant din adresa (pot fi si mai multe cuvinte)!!! + Endif + + If Left(m.lcLocalitate, 7) = "SECTOR " + m.lcLocalitate = Strtran(m.lcLocalitate, "SECTOR ", "BUCURESTI SECTORUL ", 1, 1, 1) + Endif + Select (This.pf_date.date_entitate.ct_localitate1.cCrsLocalitati) + Locate For Like(m.lcLocalitate + '*', localitate) + If Found() + This.pf_date.date_entitate.ct_localitate1.odate.localitate = Alltrim(localitate) + This.pf_date.date_entitate.ct_localitate1.odate.id_loc = id_loc + This.pf_date.date_entitate.ct_localitate1.modifica_localitate(id_loc) + lcAdresa = Alltrim(Left(m.lcAdresa, Rat(' ', m.lcAdresa))) && scot localitatea din adresa + Endif + Endif + + If Empty(m.lcStrada) + lcStrada = Alltrim(m.lcAdresa) + lcStrada = Alltrim(Strtran(m.lcStrada, 'STR.', '', 1, 1, 1)) + lcStrada = Alltrim(Strtran(m.lcStrada, 'SOS.', '', 1, 1, 1)) + lcStrada = Alltrim(Strtran(m.lcStrada, 'B-DUL', '', 1, 1, 1)) + Endif + + If Empty(m.lcNumar) + lcNumar = Getwordnum(lcStrada, Getwordcount(lcStrada), ' ') + If Isdigit(m.lcNumar) + lcStrada = Left(lcStrada, Rat(' ', lcStrada)) + Else + lcNumar = '' + Endif + Endif + + lcStrada = Iif(!Empty(m.lcStrada), m.lcStrada, crsAdreseEnt.strada) + lcNumar = Iif(!Empty(m.lcNumar), m.lcNumar, crsAdreseEnt.numar) + lnCodPostal = Iif(!Empty(Int(Val(loPartener.codpostal))), Int(Val(loPartener.codpostal)), crsAdreseEnt.codpostal) + lcTelefon = Iif(!Empty(loPartener.telefon), Alltrim(loPartener.telefon), crsAdreseEnt.telefon1) + lcFax = Iif(!Empty(ALLTRIM(loPartener.fax)), Alltrim(loPartener.fax), crsAdreseEnt.fax) + lcBloc = Iif(!Empty(m.lcBloc), m.lcBloc, crsAdreseEnt.Bloc) + lcScara = Iif(!Empty(m.lcScara), m.lcScara, crsAdreseEnt.scara) + lcApart = Iif(!Empty(m.lcApart), m.lcApart, crsAdreseEnt.apart) + lcEtaj = Iif(!Empty(m.lcEtaj), m.lcEtaj, crsAdreseEnt.etaj) + + + Replace strada With m.lcStrada, numar With m.lcNumar, codpostal With m.lnCodPostal, ; + telefon1 With m.lcTelefon, fax With m.lcFax In crsAdreseEnt + + Replace Bloc With m.lcBloc, scara With m.lcScara, apart With m.lcApart, etaj With m.lcEtaj In crsAdreseEnt + Endif + + If m.llPlatitorTVAMfin And !m.llCodRO And AMESSAGEBOX('Partenerul este Platitor de TVA!' + CRLF + 'Doriti sa adaugati RO la codul fiscal?', 4 + 32, _Screen.Caption) = 6 + poRec.cod_fiscal = 'RO' + m.lcCodFiscal + Thisform.pf_date.date_entitate.clb_cod_fiscal.text_simplu1.SetFocus() + Else + If !m.llPlatitorTVAMfin And m.llCodRO And AMESSAGEBOX('Partenerul este Neplatitor de TVA!' + CRLF + 'Doriti sa stergeti RO din codul fiscal?', 4 + 32, _Screen.Caption) = 6 + poRec.cod_fiscal = Alltrim(Substr(m.lcCodFiscal, 3)) + Thisform.pf_date.date_entitate.clb_cod_fiscal.text_simplu1.SetFocus() + Endif + ENDIF + thisform.pf_date.date_entitate.clb_denumire.teXT_SIMPLU1.Valid() && actualizare nume din denumire pentru persoana juridica + Thisform.Refresh() + Endif && pemstatus + ********************************* + + + + + + + + + ENDPROC + + PROCEDURE inainte_de_do_renunt + pccontinua=.F. + ENDPROC + + PROCEDURE inainte_de_do_termin + *!* 20.08.2009 + *!* marius.mutu + + *!* 02.03.2016 + *!* marius.mutu + *!* optiune glCUIClientObligatoriu - trebuie completat CUI Client + + Private m.plreturn + Local lcCodFiscal, lccontrol, lcval, llValid, lnRecNr + *:Global pccontinua + plreturn = .F. + + If Type('Thisform.ActiveControl.ControlSource')!= 'U' + lccontrol = Upper(Thisform.ActiveControl.BaseClass ) + If Inlist(m.lccontrol, "TEXTBOX", "EDITBOX", "COMBOBOX") + lcval = Thisform.ActiveControl.ControlSource + IF !'crsadreseent'$LOWER(m.lcVal) + &lcval = Thisform.ActiveControl.Value + ENDIF + Endif + Endif + + Select v_nom_tip_parteneri + Calculate Cnt() For ales = 1 To m.lnRecNr + + * Este obligatoriu completarea CUI/CNP client? + llCUIClient = .F. + IF TYPE('glCUIClientObligatoriu') = 'L' AND m.glCUIClientObligatoriu + Select v_nom_tip_parteneri + Locate For ales = 1 AND id_tip_part = 16 && TIP CLIENT + llCUIClient = FOUND() + GO TOP + ENDIF + + llCUIValid = .F. + lcCodFiscal = ALLTRIM(Nvl(poRec.cod_fiscal, '')) + If !Empty(m.lcCodFiscal) + llCUIValid = Thisform.CUIValid() + ENDIF + + llIBANValid = .F. + lcIBAN = ALLTRIM(NVL(poRec.cont_banca, '')) + IF !EMPTY(m.lcIBAN) + llIBANValid = verifiban(m.lcIBAN) + ENDIF + + llExitClient = .F. + DO CASE + CASE Empty(m.lcCodFiscal) + IF m.llCUIClient + amessagebox("Nu ati completat " + Iif(poRec.tip_persoana = 1, "C.I.F.-ul", "C.N.P.-ul") + "!",0+48,_screen.caption) + Thisform.pf_date.date_entitate.clb_cod_fiscal.text_simplu1.SetFocus() + llExitClient = .T. + ELSE + If amessagebox("Nu ati completat " + Iif(poRec.tip_persoana = 1, "C.I.F.-ul", "C.N.P.-ul") + "!" + crlf + "Doriti sa continuati?", 4 + 32, "Atentie") <> 6 + Thisform.pf_date.date_entitate.clb_cod_fiscal.text_simplu1.SetFocus() + llExitClient = .T. + ENDIF + ENDIF + + CASE !Empty(m.lcCodFiscal) AND !m.llCUIValid + IF m.llCUIClient + amessagebox(Iif(poRec.tip_persoana = 1, "C.I.F.-ul ", "C.N.P.-ul ") + m.lcCodFiscal + ' este INVALID!' + crlf + 'Completarea codului pentru clienti este obligatorie!',0+48,_screen.caption) + llExitClient = .T. + ELSE + If amessagebox(Iif(poRec.tip_persoana = 1, "C.I.F.-ul ", "C.N.P.-ul ") + m.lcCodFiscal + ' este INVALID!' + crlf + 'Doriti sa continuati?', 4 + 32, "Atentie") <> 6 + llExitClient = .T. + Endif + ENDIF + + CASE !EMPTY(m.lcIBAN) AND !m.llIBANValid + If amessagebox("Codul IBAN " + m.lcIBAN + ' este INVALID!' + crlf + 'Doriti sa continuati?', 4 + 32, "Atentie") <> 6 + llExitClient = .T. + Endif + ENDCASE + IF m.llExitClient + plreturn = .F. + RETURN m.plreturn + ENDIF + + *!* modificare 11.12.2009 ^ + Do Case + Case poRec.tip_persoana = 1 And (Empty(poRec.denumire) Or Isnull(poRec.denumire)) + amessagebox('Nu ati completat denumirea!', 0 + 48, "Atentie") + Thisform.pf_date.date_entitate.clb_denumire.SetFocus() + plreturn = .F. + + Case poRec.tip_persoana = 2 And (Empty(poRec.nume) Or Isnull(poRec.nume)) + amessagebox('Nu ati completat numele!', 0 + 48, "Atentie") + Thisform.pf_date.date_entitate.clb_nume.SetFocus() + plreturn = .F. + + Case poRec.tip_persoana = 2 And (Empty(poRec.prenume) Or Isnull(poRec.prenume)) + amessagebox('Nu ati completat prenumele!', 0 + 48, "Atentie") + Thisform.pf_date.date_entitate.clb_prenume.SetFocus() + plreturn = .F. + + Case m.lnRecNr = 0 + amessagebox('Nu ati ales tipul/tipurile de partener(i)', 0 + 48, "Atentie") + Thisform.pf_date.date_entitate._grdrow1.SetFocus() + plreturn = .F. + Otherwise + + *!* If Alltrim(Upper(This.cus_odata_parteneri1.cactiune))="INSERT" Or (Alltrim(Upper(This.cus_odata_parteneri1.cactiune))="UPDATE" And porec.cod_fiscal!=pccod_fiscal) + *!* pcexec=[select * from ]+gcS+[.vnom_parteneri where TRIM(cod_fiscal)=']+Alltrim(porec.cod_fiscal)+['] + *!* Do While .T. + *!* pnSucces = SQLEXEC(GNHANDLE,pcexec,'exista_codfiscal') + *!* If pnSucces = 0 + *!* * instructiunea in curs de executie + *!* Else + *!* Exit + *!* Endif + *!* Enddo + *!* If Reccount('exista_codfiscal')>0 + *!* Amessagebox('Mai exista partener cu acest '+IIF(thisform.optiongroup1.Value=1,'cod fiscal','CNP')+' !',0+48,"Atentie") + *!* Thisform.clb_cod_fiscal.SetFocus() + *!* Use In exista_codfiscal + *!* plreturn=.F. + *!* ELSE + *!* ***incarcare tipuri:*************************** + *!* this.orec.tip_partener = "" + *!* SELECT v_nom_tip_parteneri + *!* SCAN FOR ales = 1 + *!* this.orec.tip_partener = this.orec.tip_partener + ALLTRIM(STR(v_nom_tip_parteneri.id_tip_part)) + ";" + *!* ENDSCAN + *!* *** *************************************** + *!* plreturn=This.cus_odata_parteneri1.salvare(This.OREC,This.NID) + *!* Endif + *!* ELSE + ***incarcare tipuri:*************************** + Thisform.orec.ccorespdel = Iif(Thisform.pf_date.date_entitate.ct_coresp_delegati_part1.Visible, ; + Strtran(Strtran(Thisform.pf_date.date_entitate.ct_coresp_delegati_part1.clista_id_part, [>], [;]), [<], []), ; + Thisform.pf_date.date_entitate.ct_coresp_delegati_part1.clista_initiala) + Thisform.orec.tip_partener = "" + Select v_nom_tip_parteneri + Scan For ales = 1 + Thisform.orec.tip_partener = Thisform.orec.tip_partener + Alltrim(Str(v_nom_tip_parteneri.id_tip_part)) + ";" + Endscan + *** *************************************** + *!* modificare adrese parteneri 12.2013 + *!* plreturn = Thisform.cus_odata_parteneri1.salvare(Thisform.orec, Thisform.NID) + *!* Endif + If Thisform.do_deschide_tranzactie() + Private pnIdAdresa + Store 0 To pnIdAdresa + Local lcCursorAdCont, lcActiuneAdCont, lcDeleted + If Thisform.cus_odata_parteneri1.salvare(Thisform.orec, Thisform.NID) + plreturn = .T. + lcDeleted = SET("Deleted") + SET DELETED OFF + If This.cus_odata_parteneri1.cactiune = [INSERT] + *!* salvare adrese + + lcCursorAdCont = Thisform.pf_date.adrese._grdrow3.RecordSource + Thisform.cus_ODATA_PARTENERI_ADRESE1.cactiune = [INSERT] + Select (lcCursorAdCont) + Replace All id_part With pnIdPart + Replace id_loc With Null For id_loc = 0 + Scan For !Deleted() + Scatter Name loRecAdCont + plreturn = Thisform.cus_ODATA_PARTENERI_ADRESE1.salvare(loRecAdCont,loRecAdCont.id_adresa) + If !plreturn + Exit + Endif + Select (lcCursorAdCont) + Endscan + + If plreturn + *!* salvare persoane de contact + PRIVATE pnId_part + pnId_part = pnIdPart + lcCursorAdCont = Thisform.pf_date.adrese._grdrow4.RecordSource + Thisform.cus_odata_pers_contact1.cactiune = [INSERT] + Select (lcCursorAdCont) + Replace All id_part With pnIdPart + Scan For !Deleted() + Scatter Name loRecAdCont + plreturn = Thisform.cus_odata_pers_contact1.salvare(loRecAdCont,loRecAdCont.id_pers) + If !plreturn + Exit + Endif + Select (lcCursorAdCont) + Endscan + + Endif + Else + *!* salvare adrese + lcCursorAdCont = Thisform.pf_date.adrese._grdrow3.RecordSource + Select (lcCursorAdCont) + Replace id_loc With Null For id_loc = 0 + Scan + Do Case + Case id_adresa = 0 AND !DELETED() + lcActiuneAdCont = [INSERT] + Case id_adresa <> 0 And !Deleted() And id_adresa_orig = (-1)*id_adresa + lcActiuneAdCont = [UPDATE] + Case id_adresa <> 0 And Deleted() + lcActiuneAdCont = [DELETE] + Otherwise + lcActiuneAdCont = [] + Endcase + If !Empty(lcActiuneAdCont) + Scatter Name loRecAdCont + Thisform.cus_ODATA_PARTENERI_ADRESE1.cactiune = lcActiuneAdCont + plreturn = Thisform.cus_ODATA_PARTENERI_ADRESE1.salvare(loRecAdCont,IIF(lcActiuneAdCont=[INSERT],[],loRecAdCont.id_adresa)) + If !plreturn + Exit + Endif + Endif + Select (lcCursorAdCont) + Endscan + + If plreturn + *!* salvare persoane de contact + lcCursorAdCont = Thisform.pf_date.adrese._grdrow4.RecordSource + Select (lcCursorAdCont) + Scan + Do Case + Case id_pers = 0 AND !DELETED() + lcActiuneAdCont = [INSERT] + Case id_pers <> 0 And !Deleted() And id_pers_orig = (-1)*id_pers + lcActiuneAdCont = [UPDATE] + Case id_pers <> 0 And Deleted() + lcActiuneAdCont = [DELETE] + Otherwise + lcActiuneAdCont = [] + Endcase + If !Empty(lcActiuneAdCont) + Scatter Name loRecAdCont + Thisform.cus_odata_pers_contact1.cactiune = lcActiuneAdCont + plreturn = Thisform.cus_odata_pers_contact1.salvare(loRecAdCont,IIF(lcActiuneAdCont=[INSERT],[],loRecAdCont.id_pers)) + If !plreturn + Exit + Endif + Endif + Select (lcCursorAdCont) + Endscan + Endif + Endif + Set Deleted &lcDeleted + Release pnIdAdresa + Endif + Thisform.do_inchide_tranzactie(Iif(plreturn,1,2)) + Endif + *!* modificare adrese parteneri 12.2013 ^ + Endcase + If m.plreturn + pccontinua = .T. + Endif + Return m.plreturn + + ENDPROC + + PROCEDURE Init + Lparameters toRec, tnId, tcActiune + DoDefault() + This.orec= toRec + This.nid = tnId + This.cus_odata_parteneri1.cactiune = tcActiune + *!* modificare adrese parteneri 12.2013 + This.cus_ODATA_PARTENERI_ADRESE1.lsilent = .T. + This.cus_odata_pers_contact1.lsilent = .T. + This.pf_date.adrese._grdrow3.AutoFit() + This.pf_date.adrese._grdrow4.AutoFit() + *!* modificare adrese parteneri 12.2013 ^ + + If tcActiune='INSERT' + *!* modificare 06.01 + Bindevent(Thisform.pf_date.date_entitate.clb_cod_fiscal.text_simplu1,"KeyPress",Thisform,"do_cauta") + *!* ^ + Endif + + IF !EMPTY(toRec.id_tip_part) + Select v_nom_tip_parteneri + Locate For id_tip_part = toRec.id_tip_part + If Found() + Replace ales With 1 + Endif + ENDIF + + If toRec.Special = 1 + Select v_nom_tip_parteneri + LOCATE FOR ales = 1 + IF FOUND() + Set Filter To ales=1 + Thisform.pf_date.date_entitate._grdrow1.Column2.ReadOnly=.T. + ENDIF + Else + Select v_nom_tip_parteneri + Set Filter To + Thisform.pf_date.date_entitate._grdrow1.Column2.ReadOnly=.F. + Endif + + *!* modificare 30.10.2013 + *!* If toRec.tip_persoana = 1 && juridica + *!* Thisform.clb_nume.Visible = .F. + *!* Thisform.clb_prenume.Visible = .F. + *!* Thisform.clb_cod_fiscal.lb_simplu1.Caption = "C.I.F." + *!* Thisform.clb_reg_comert.lb_simplu1.Caption = "Registru comert" + *!* Else + *!* Thisform.clb_denumire.text_simplu1.ReadOnly = .T. + *!* Thisform.clb_prefix.Visible = .F. + *!* Thisform.clb_sufix.Visible = .F. + *!* Thisform.clb_cod_fiscal.lb_simplu1.Caption = "C.N.P." + *!* Thisform.clb_reg_comert.lb_simplu1.Caption = "Serie, nr BI/CI" + *!* Thisform.clb_nume.SetFocus() + *!* Endif + *!* modificare 30.10.2013 ^ + *!* modificare 08.01 + Select v_nom_tip_parteneri + Locate For ales = 1 And id_tip_part = Nvl(gnIdTipDelegati,-44) + llGasit = Found() + Thisform.pf_date.date_entitate.ct_coresp_delegati_part1.initializeaza_date(llGasit,toRec.id_part,toRec.id_tip_part,toRec.ccorespdel) + Thisform.seteazaCorespDelegati(llGasit) + *!* ^ + + Select v_nom_tip_parteneri + Locate For ales = 1 + If !Found() + Go Top + Endif + Thisform.pf_date.date_entitate._grdrow1.Refresh() + *!* modificare 30.10.2013 + + Thisform.modifica_tip_persoana(toRec.tip_persoana) + *!* modificare 30.10.2013 ^ + + this.pf_date.date_entitate.ct_localitate1.initializeaza() + + + IF NVL(crsAdreseEnt.id_adresa,0) = NVL(crsAdreseEnt.id_adresa_orig,0) + REPLACE id_adresa_orig with (-1)*id_adresa_orig IN crsAdreseEnt + ENDIF + this.pf_date.date_entitate.cbAdrese._cbbase1.DisplayValue = NVL(crsAdreseEnt.strada, '') + this.pf_date.date_entitate.cbAdrese._cbbase1.Value = NVL(crsAdreseEnt.strada, '') + IF EMPTY(NVL(toRec.id_part,0)) OR RECCOUNT('crsAdreseEnt') = 0 + this.pf_date.date_entitate.butAdresaNou.click() + this.pf_date.date_entitate.clb_denumire.text_simplu1.SetFocus() + ENDIF + ENDPROC + + PROCEDURE KeyPress + Lparameters nKeyCode, nShiftAltCtrl + + lcControlClass = Alltrim(Upper(Thisform.ActiveControl.BaseClass)) + Do Case + *!* modificare 08.01 + Case Inlist(nKeyCode,9,13) And lcControlClass = "GRID" And Thisform.pf_date.date_entitate.ct_coresp_delegati_part1.Visible + Nodefault + Thisform.pf_date.date_entitate.ct_coresp_delegati_part1.SetFocus() + *!* ^ + Case Inlist(nKeyCode,9,13) And lcControlClass = "GRID" + Nodefault + Thisform.BUT_TERMIN1.SetFocus + Otherwise + DoDefault(nKeyCode, nShiftAltCtrl) + Endcase + + ENDPROC + + PROCEDURE modifica_tip_persoana + LPARAMETERS tnTip_persoana + If tnTip_persoana = 1 && juridica + With Thisform.pf_date.date_entitate.clb_denumire.text_simplu1 + .ReadOnly = .F. + .TabStop = .T. + Endwith + Thisform.pf_date.date_entitate.clb_nume.Visible = .F. + Thisform.pf_date.date_entitate.clb_prenume.Visible = .F. + Thisform.pf_date.date_entitate.clb_prefix.Visible = .T. + Thisform.pf_date.date_entitate.clb_sufix.Visible = .T. + WITH Thisform.pf_date.date_entitate.clb_cod_fiscal + .lb_simplu1.Caption = "C.I.F." + .but_verifica1.Visible = .T. && modificare 30.10.2013 + Endwith + Thisform.pf_date.date_entitate.clb_reg_comert.lb_simplu1.Caption = "Reg. Comerþ" + Thisform.pf_date.date_entitate.clb_denumire.SetFocus() + Else && persoana fizica + With Thisform.pf_date.date_entitate.clb_denumire.text_simplu1 + .ReadOnly = .T. + .TabStop = .F. + Endwith + Thisform.pf_date.date_entitate.clb_nume.Visible = .T. + Thisform.pf_date.date_entitate.clb_prenume.Visible = .T. + Thisform.pf_date.date_entitate.clb_prefix.Visible = .F. + Thisform.pf_date.date_entitate.clb_sufix.Visible = .F. + With Thisform.pf_date.date_entitate.clb_cod_fiscal + .lb_simplu1.Caption = "C.N.P." + .but_verifica1.Visible = .F. && modificare 30.10.2013 + Endwith + Thisform.pf_date.date_entitate.clb_reg_comert.lb_simplu1.Caption = "Serie, nr BI/CI" + Thisform.pf_date.date_entitate.clb_nume.SetFocus() + Endif + ENDPROC + + PROCEDURE seteazacorespdelegati + Lparameters tlArataCorespDelegati + Thisform.pf_date.date_entitate.ct_coresp_delegati_part1.modifica_vizibilitate(tlArataCorespDelegati) + *!* Thisform.Width = Iif(tlArataCorespDelegati,782,530) + Thisform.AutoCenter = .T. + Thisform.Refresh() + + ENDPROC + + PROCEDURE sterge_tip_partener + ENDPROC + + PROCEDURE pf_date.adrese._grdrow3.Init + DODEFAULT() + this.SetAll("DynamicBackColor","iif(INACTIV = 1, RGB(200,200,200), RGB(255,255,255))","Column") + ENDPROC + + PROCEDURE pf_date.adrese._grdrow4.Init + DoDefault() + This.SetAll("DynamicBackColor","iif(INACTIV = 1, RGB(200,200,200), RGB(255,255,255))","Column") + + ENDPROC + + PROCEDURE pf_date.banca.Clb_cont_banca.Text_simplu1.Valid + LOCAL lcIBAN + lcIBAN = ALLTRIM(NVL(poRec.cont_banca,'')) + If !Empty(m.lcIBAN) AND !verifiban(m.lcIBAN) + AMESSAGEBOX("Codul IBAN " + m.lcIBAN + ' este INVALID!', 0 + 48, "Verificare cod") + Endif + ENDPROC + + PROCEDURE pf_date.date_entitate.Activate + *!* *!* daca am activat pagina Adrese si am modificat/adaugat o adresa, se inchid cursoarele crsTari, crsJudete, crsLocalitati + *!* *!* trebuie sa le reconstruiesc pentru modificarea adresei principale din pagina date_entitate + *!* IF !USED('crsLocalitati') + *!* this.ct_localitate1.initializeaza() + *!* ENDIF + ENDPROC + + PROCEDURE pf_date.date_entitate.butAdresaNou.Click + Local lnPrincipalaCnt, lnRecno + Calculate Cnt(principala) For Nvl(principala, 0) = 1 To lnPrincipalaCnt In crsAdreseEnt + + Select crsAdreseEnt + Append Blank + Replace id_part With Nvl(poRec.id_part, 0), principala With Iif(m.lnPrincipalaCnt = 0, 1, 0) + + + lnRecno = Recno() + Locate + Locate For Recno() = m.lnRecno + If !Found() + Go Top + Endif + + poRec.strada = strada + This.Parent.cbAdrese._cbbase1.Valid() + This.Parent.cbAdrese._cbbase1.LostFocus() + This.Parent.ct_localitate1.Cb_tara.SetFocus() + + This.Parent.clb_strada.text_simplu1.Refresh() + This.Parent.clb_numar.text_simplu1.Refresh() + This.Parent.Refresh() + ENDPROC + + PROCEDURE pf_date.date_entitate.cbAdrese._cbbase1.LostFocus + DODEFAULT() + IF NVL(crsAdreseEnt.id_adresa,0) = NVL(crsAdreseEnt.id_adresa_orig,0) + REPLACE id_adresa_orig with (-1)*id_adresa_orig IN crsAdreseEnt + ENDIF + ENDPROC + + PROCEDURE pf_date.date_entitate.cbAdrese._cbbase1.Valid + WITH thisform.pf_date.Date_entitate.ct_localitate1 + .oDate.id_tara = crsAdreseEnt.id_tara + .oDate.id_judet = crsAdreseEnt.id_judet + .oDate.id_loc = crsAdreseEnt.id_loc + .initializeaza() + ENDWITH + + thisform.pf_date.Date_entitate.refresh() + ENDPROC + + PROCEDURE pf_date.date_entitate.Cb_categorie_entitate._cbbase1.LostFocus + porec.id_categorie_entitate = v_nom_categ_ent.id_categorie_entitate + ENDPROC + + PROCEDURE pf_date.date_entitate.Clb_cod_fiscal.Text_simplu1.Valid + LOCAL lcCodFiscal + lcCodFiscal = ALLTRIM(NVL(poRec.cod_fiscal,'')) + If !Empty(m.lcCodFiscal) AND !Thisform.CUIValid(m.lcCodFiscal) + aMESSAGEBOX(Iif(poRec.tip_persoana = 1, "C.I.F.-ul ", "C.N.P.-ul ") + m.lcCodFiscal + ' este invalid', 0 + 48, "Verificare cod") + Endif + ENDPROC + + PROCEDURE pf_date.date_entitate.Clb_cod_fiscal.txtCodFiscal2.Valid + LOCAL lcCodFiscal + lcCodFiscal = ALLTRIM(NVL(poRec.cod_fiscal2,'')) + If !Empty(m.lcCodFiscal) AND !Thisform.CUIValid(m.lcCodFiscal) + aMESSAGEBOX(Iif(poRec.tip_persoana = 1, "C.I.F.-ul ", "C.N.P.-ul ") + m.lcCodFiscal + ' este invalid', 0 + 48, "Verificare cod") + Endif + ENDPROC + + PROCEDURE pf_date.date_entitate.clb_denumire.Text_simplu1.Valid + If poRec.tip_persoana = 1 + poRec.nume = Nvl(Alltrim(poRec.denumire),'') + poRec.prenume = '' + Thisform.pf_date.date_entitate.clb_nume.Refresh + Thisform.pf_date.date_entitate.clb_prenume.Refresh + Endif + + ENDPROC + + PROCEDURE pf_date.date_entitate.Clb_nume.Text_simplu1.LostFocus + porec.denumire = NVL(ALLTRIM(porec.nume),'') + ' ' + NVL(ALLTRIM(porec.prenume),'') + thisform.pf_date.date_entitate.clb_denumire.Refresh + + ENDPROC + + PROCEDURE pf_date.date_entitate.Clb_prenume.LostFocus + porec.denumire = ALLTRIM(porec.nume) + ' ' + ALLTRIM(porec.prenume) + ENDPROC + + PROCEDURE pf_date.date_entitate.Clb_prenume.Text_simplu1.LostFocus + porec.denumire = NVL(ALLTRIM(porec.nume),'') + ' ' + NVL(ALLTRIM(porec.prenume),'') + thisform.pf_date.date_entitate.clb_denumire.Refresh + ENDPROC + + PROCEDURE pf_date.date_entitate.clb_strada.Text_simplu1.LostFocus + + + ENDPROC + + PROCEDURE pf_date.date_entitate.Ct_localitate1.actualizeaza_judete + DODEFAULT() + REPLACE id_judet with This.oDate.id_judet, judet with This.oDate.judet IN crsAdreseEnt + + + ENDPROC + + PROCEDURE pf_date.date_entitate.Ct_localitate1.actualizeaza_localitati + DODEFAULT() + REPLACE id_loc WITH This.oDate.id_loc, localitate WITH this.oDate.localitate IN crsAdreseEnt + ENDPROC + + PROCEDURE pf_date.date_entitate.Ct_localitate1.actualizeaza_tari + DODEFAULT() + REPLACE id_tara WITH this.odate.id_tara, tara WITH this.odate.tara IN crsAdreseEnt + ENDPROC + + PROCEDURE pf_date.date_entitate.Ct_localitate1.modifica_judet + DODEFAULT() + REPLACE id_judet with This.oDate.id_judet, judet with This.oDate.judet IN crsAdreseEnt + ENDPROC + + PROCEDURE pf_date.date_entitate.Ct_localitate1.modifica_localitate + Lparameters tnIdLoc + DoDefault(tnIdLoc) + Replace id_loc With Iif(!Empty(Nvl(This.oDate.id_loc, 0)), This.oDate.id_loc, Null) In crsAdreseEnt + + * Pentru alte tari decat Romania, adaug localitatile direct legate de tara, fara judet, in adrese parteneri, pentru a fi adaugate in nomenclatorul nom_localitati + If This.cprescurtaretara <> [RO] + lcLocalitate = Alltrim(Upper(This.oDate.localitate)) + Replace localitate With This.oDate.localitate In crsAdreseEnt + Endif + + + ENDPROC + + PROCEDURE pf_date.date_entitate.Ct_localitate1.modifica_tara + DODEFAULT() + REPLACE id_tara WITH this.odate.id_tara, tara WITH this.odate.tara IN crsAdreseEnt + ENDPROC + + PROCEDURE pf_date.date_entitate.Optiongroup1.Valid + *!* modificare 30.10.2013 : am mutat totul in modifica_tip_persoana + Thisform.modifica_tip_persoana(poRec.tip_persoana) + *!* modificare 30.10.2013 ^ + ENDPROC + + PROCEDURE pf_date.date_entitate._grdrow1.Column2.Check1.Click + If !This.ReadOnly + Select v_nom_tip_parteneri + If id_tip_part = gnIdTipDelegati + Thisform.seteazacorespdelegati(This.Value = 1) + Endif + Endif + ENDPROC + + PROCEDURE pf_date.date_entitate._grdrow1.Init + this.SetAll("DynamicBackColor","iif(ales = 1, RGB(157,206,255), RGB(255,255,255))","Column") + ENDPROC + +ENDDEFINE + +DEFINE CLASS frm_parteneri_unificare AS frm_termin_renunt OF "_frm_child.vcx" + *< CLASSDATA: Baseclass="form" Timestamp="" Scale="Pixels" Uniqueid="" /> + + *-- OBJECTDATA items order determines ZOrder / El orden de los items OBJECTDATA determina el ZOrder + *< OBJECTDATA: ObjPath="clbPartener2" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="Clb_perioada" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="chkVerificaLunaInceput" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="clbPartener1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="Clb_data1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="Clb_data1.chkData1" UniqueID="" Timestamp="" /> + + * + *p: acont + *p: acontexp + *p: ccont + *p: ccursoracont + *p: ccursorcont + *p: id_part + *p: tip_sold + * + + * + acont = + acontexp = + BorderStyle = 1 + ccont = + ccursoracont = + ccursorcont = + DoCreate = .T. + Height = 163 + id_part = 0 + Name = "frm_parteneri_unificare" + tip_sold = 0 + Width = 500 + _shape1.Height = 29 + _shape1.Left = 0 + _shape1.Name = "_shape1" + _shape1.Top = 0 + _shape1.Width = 500 + _shape2.Height = 29 + _shape2.Left = 438 + _shape2.Name = "_shape2" + _shape2.Top = 0 + _shape2.Width = 62 + Lb_titlu_alb_b121.Caption = "Unificare entitati" + Lb_titlu_alb_b121.Name = "Lb_titlu_alb_b121" + Lb_titlu_alb_b121.TabIndex = 8 + BUT_TERMIN1.Left = 469 + BUT_TERMIN1.Name = "BUT_TERMIN1" + BUT_TERMIN1.TabIndex = 5 + BUT_TERMIN1.Top = 1 + Gridsort1.Name = "Gridsort1" + But_renunt1.Left = 440 + But_renunt1.Name = "But_renunt1" + But_renunt1.TabIndex = 6 + But_renunt1.Top = 1 + * + + ADD OBJECT 'chkVerificaLunaInceput' AS checkbox WITH ; + Alignment = 0, ; + AutoSize = .T., ; + BackStyle = 0, ; + Caption = "Se tine cont de luna inceput a aparitiei celor doi parteneri", ; + ControlSource = "xrec.verificarelunai", ; + FontSize = 10, ; + Height = 18, ; + Left = 12, ; + Name = "chkVerificaLunaInceput", ; + TabIndex = 4, ; + Top = 132, ; + Value = .T., ; + Width = 348 + *< END OBJECT: BaseClass="checkbox" /> + + ADD OBJECT 'Clb_data1' AS clb_tx_simplu WITH ; + Height = 29, ; + Left = 264, ; + Name = "Clb_data1", ; + TabIndex = 3, ; + Top = 94, ; + Width = 228, ; + Text_simplu1.BorderStyle = 1, ; + Text_simplu1.ControlSource = "xrec.datai", ; + Text_simplu1.DisabledBackColor = 255,255,255, ; + Text_simplu1.Enabled = .F., ; + Text_simplu1.Format = "!K", ; + Text_simplu1.Height = 23, ; + Text_simplu1.Left = 135, ; + Text_simplu1.Name = "Text_simplu1", ; + Text_simplu1.SpecialEffect = 1, ; + Text_simplu1.TabIndex = 2, ; + Text_simplu1.Top = 3, ; + Text_simplu1.Width = 83, ; + Lb_simplu1.Caption = "Data inceput", ; + Lb_simplu1.Enabled = .F., ; + Lb_simplu1.Left = 28, ; + Lb_simplu1.Name = "Lb_simplu1", ; + Lb_simplu1.TabIndex = 1, ; + Lb_simplu1.Top = 6 + *< END OBJECT: ClassLib="lb_tx.vcx" BaseClass="container" /> + + ADD OBJECT 'Clb_data1.chkData1' AS checkbox WITH ; + Alignment = 0, ; + AutoSize = .T., ; + BackStyle = 0, ; + Caption = "", ; + ControlSource = "", ; + FontSize = 10, ; + Height = 18, ; + Left = 5, ; + Name = "chkData1", ; + TabIndex = 10, ; + Top = 6, ; + Width = 19 + *< END OBJECT: BaseClass="checkbox" /> + + ADD OBJECT 'Clb_perioada' AS clb_luna_intre WITH ; + Height = 29, ; + Left = 14, ; + Name = "Clb_perioada", ; + TabIndex = 2, ; + Top = 94, ; + Width = 239, ; + tx_n1.Left = 73, ; + tx_n1.Name = "tx_n1", ; + tx_n1.SpecialEffect = 1, ; + tx_n1.Top = 3, ; + Lb_simplu1.Caption = "Perioada", ; + Lb_simplu1.Name = "Lb_simplu1", ; + tx_n2.Left = 158, ; + tx_n2.Name = "tx_n2", ; + tx_n2.SpecialEffect = 1, ; + tx_n2.Top = 3 + *< END OBJECT: ClassLib="lb_tx.vcx" BaseClass="container" /> + + ADD OBJECT 'clbPartener1' AS clb_tx_simplu WITH ; + Height = 29, ; + Left = 14, ; + Name = "clbPartener1", ; + TabIndex = 7, ; + Top = 38, ; + Width = 478, ; + Text_simplu1.ControlSource = "xrec.numepart1", ; + Text_simplu1.DisabledBackColor = 255,255,255, ; + Text_simplu1.Enabled = .F., ; + Text_simplu1.FontItalic = .T., ; + Text_simplu1.Height = 23, ; + Text_simplu1.Left = 148, ; + Text_simplu1.Name = "Text_simplu1", ; + Text_simplu1.ReadOnly = .T., ; + Text_simplu1.Top = 3, ; + Text_simplu1.Width = 271, ; + Lb_simplu1.Caption = "Partener vechi/gresit", ; + Lb_simplu1.Enabled = .F., ; + Lb_simplu1.FontItalic = .T., ; + Lb_simplu1.Name = "Lb_simplu1" + *< END OBJECT: ClassLib="lb_tx.vcx" BaseClass="container" /> + + ADD OBJECT 'clbPartener2' AS clb_tx_simplu WITH ; + Height = 29, ; + Left = 14, ; + Name = "clbPartener2", ; + TabIndex = 1, ; + Top = 66, ; + Width = 478, ; + Text_simplu1.ControlSource = "xrec.numepart2", ; + Text_simplu1.DisabledBackColor = 255,255,255, ; + Text_simplu1.Height = 23, ; + Text_simplu1.Left = 148, ; + Text_simplu1.Name = "Text_simplu1", ; + Text_simplu1.ReadOnly = .T., ; + Text_simplu1.Top = 3, ; + Text_simplu1.Width = 271, ; + Lb_simplu1.Caption = "Partener nou/corect", ; + Lb_simplu1.Name = "Lb_simplu1" + *< END OBJECT: ClassLib="lb_tx.vcx" BaseClass="container" /> + + PROCEDURE Init + this.clb_perioada.tx_n1.Value = xrec.lunai + xrec.ani + this.clb_perioada.tx_n2.Value = xrec.lunaf + xrec.anf + ENDPROC + + PROCEDURE clbPartener2.Text_simplu1.GotFocus + lcSelect = [select p.denumire, p.cod_fiscal, p.id_part FROM Vnom_parteneri p] + lcFiltru = [1=2] + lcSchema = [] + lcOrder = [P.denumire] + lcColoane = [denumire,cod_fiscal,id_part] + lcTitlu = [Alegeti parterul cu Id Partener corect] + lcTitluColoane = [Nume,C.I.F. / C.N.P.,Id Partener] + lcFiltruOriginal = [p.inactiv = 0 and id_part <> ] + TRANSFORM(xrec.id_part1) + lcNumeProc = "" + llAllInlist = .F. + loCauta = cauta_alfa(lcSelect, lcFiltru, lcSchema, lcOrder, lcColoane, lcTitlu, lcTitluColoane, lcNumeProc, llAllInlist, lcFiltruOriginal) && 11.07.2007 + + + IF loCauta.id_part = 0 OR ISNULL(loCauta) + RETURN + ENDIF + + xrec.id_part2 = loCauta.id_part + xrec.numepart2 = loCauta.denumire + ENDPROC + + PROCEDURE Clb_data1.chkData1.Valid + llEnabled = (this.Value = 1) + This.parent.lb_simplu1.Enabled = m.llEnabled + This.parent.text_simplu1.Enabled = m.llEnabled + + IF m.llEnabled + xrec.datai = DATE(VAL(xrec.ani),VAL(xrec.lunai),1) + ELSE + xrec.datai = {} + ENDIF + + IF m.llEnabled + AMESSAGEBOX('ATENTIE! Va trebui sa dati redeschideri de luna incepand cu ' + DTOC(xrec.datai) + ' pentru ca faceti modificari pe o luna partiala',0+48,_screen.Caption) + ENDIF + + this.Parent.text_simplu1.Refresh + ENDPROC + + PROCEDURE Clb_data1.Text_simplu1.LostFocus + IF xrec.datai < DATE(VAL(xrec.ani), VAL(xrec.lunai), 1) + aMESSAGEBOX('Nu puteti selecta data de inceput anterioara lunii de inceput') + RETURN + ENDIF + ENDPROC + + PROCEDURE Clb_perioada.LostFocus + + lcdatai = this.tx_n1.Value + lcdataf = this.tx_n2.Value + + IF !EMPTY(lcdatai) AND !EMPTY(lcdataf) + xrec.lunai = ALLTRIM(STR(VAL(LEFT(lcdatai,2)))) + xrec.lunaf = ALLTRIM(STR(VAL(LEFT(lcdataf,2)))) + xrec.ani = RIGHT(lcdatai,4) + xrec.anf = RIGHT(lcdataf,4) + IF VAL(xrec.ani)*12+VAL(xrec.lunai)>VAL(xrec.anf)*12+VAL(xrec.lunaf) + aMESSAGEBOX('Luna initiala nu poate fi mai mare decat cea finala!',16,'Atentie!') + RETURN + ENDIF + IF VAL(xrec.anf)*12+VAL(xrec.lunaf)>gnan*12+gnluna + aMESSAGEBOX('Nu puteti selecta ca perioada finala o luna mai mare decat luna curenta!',16,'Atentie!') + RETURN + ENDIF + ENDIF + + ENDPROC + +ENDDEFINE + +DEFINE CLASS frm_pers_contact_nou AS _frmbase OF "_frm_base.vcx" + *< CLASSDATA: Baseclass="form" Timestamp="" Scale="Pixels" Uniqueid="" /> + + *-- OBJECTDATA items order determines ZOrder / El orden de los items OBJECTDATA determina el ZOrder + *< OBJECTDATA: ObjPath="Clb_bloc" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="Clb_tx_simplu2" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="Clb_tx_simplu1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="Clb_scara" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="Clb_telefon" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="Clb_tx_simplu5" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="BUT_RENUNT1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="_checkbox1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="_checkbox2" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="Cus_odata_pers_contact1" UniqueID="" Timestamp="" /> + + * + *p: nid + *p: orec + * + + * + BorderStyle = 1 + DoCreate = .T. + Height = 245 + Name = "frm_pers_contact_nou" + nid = .F. + orec = .NULL. + Width = 348 + _shape1.Name = "_shape1" + _shape2.Height = 29 + _shape2.Left = 287 + _shape2.Name = "_shape2" + _shape2.Top = 0 + _shape2.Width = 61 + Lb_titlu_alb_b121.Caption = "PERSOANA CONTACT" + Lb_titlu_alb_b121.Name = "Lb_titlu_alb_b121" + Lb_titlu_alb_b121.TabIndex = 11 + BUT_TERMIN1.Left = 318 + BUT_TERMIN1.Name = "BUT_TERMIN1" + BUT_TERMIN1.TabIndex = 9 + BUT_TERMIN1.Top = 1 + Gridsort1.Left = 96 + Gridsort1.Name = "Gridsort1" + Gridsort1.Top = 8 + * + + ADD OBJECT '_checkbox1' AS _checkbox WITH ; + Alignment = 0, ; + Caption = "Inactiv", ; + ControlSource = "porec.inactiv", ; + Left = 274, ; + Name = "_checkbox1", ; + TabIndex = 8, ; + TabStop = .F., ; + Top = 218 + *< END OBJECT: ClassLib="_baza.vcx" BaseClass="checkbox" /> + + ADD OBJECT '_checkbox2' AS _checkbox WITH ; + Alignment = 0, ; + Caption = "Principal", ; + ControlSource = "porec.principal", ; + Left = 12, ; + Name = "_checkbox2", ; + TabIndex = 7, ; + TabStop = .F., ; + Top = 218 + *< END OBJECT: ClassLib="_baza.vcx" BaseClass="checkbox" /> + + ADD OBJECT 'BUT_RENUNT1' AS but_renunt WITH ; + Left = 289, ; + Name = "BUT_RENUNT1", ; + TabIndex = 10, ; + Top = 1 + *< END OBJECT: ClassLib="cmd_butoane.vcx" BaseClass="commandbutton" /> + + ADD OBJECT 'Clb_bloc' AS clb_tx_simplu WITH ; + Height = 29, ; + Left = 12, ; + Name = "Clb_bloc", ; + TabIndex = 3, ; + Top = 100, ; + Width = 314, ; + ZOrderSet = 7, ; + TEXT_SIMPLU1.ControlSource = "poRec.apelativ", ; + TEXT_SIMPLU1.Format = "!K", ; + TEXT_SIMPLU1.Left = 114, ; + TEXT_SIMPLU1.Name = "TEXT_SIMPLU1", ; + Lb_simplu1.Caption = "Apelativ", ; + Lb_simplu1.Name = "Lb_simplu1" + *< END OBJECT: ClassLib="lb_tx.vcx" BaseClass="container" /> + + ADD OBJECT 'Clb_scara' AS clb_tx_simplu WITH ; + Height = 29, ; + Left = 12, ; + Name = "Clb_scara", ; + TabIndex = 4, ; + Top = 128, ; + Width = 314, ; + ZOrderSet = 8, ; + TEXT_SIMPLU1.ControlSource = "poRec.functia", ; + TEXT_SIMPLU1.Format = "!K", ; + TEXT_SIMPLU1.Left = 114, ; + TEXT_SIMPLU1.Name = "TEXT_SIMPLU1", ; + Lb_simplu1.Caption = "Functia", ; + Lb_simplu1.Name = "Lb_simplu1" + *< END OBJECT: ClassLib="lb_tx.vcx" BaseClass="container" /> + + ADD OBJECT 'Clb_telefon' AS clb_tx_simplu WITH ; + Height = 29, ; + Left = 12, ; + Name = "Clb_telefon", ; + TabIndex = 5, ; + Top = 156, ; + Width = 314, ; + ZOrderSet = 10, ; + TEXT_SIMPLU1.ControlSource = "poRec.telefon", ; + TEXT_SIMPLU1.Format = "!K", ; + TEXT_SIMPLU1.Left = 114, ; + TEXT_SIMPLU1.Name = "TEXT_SIMPLU1", ; + Lb_simplu1.Caption = "Telefon", ; + Lb_simplu1.Name = "Lb_simplu1" + *< END OBJECT: ClassLib="lb_tx.vcx" BaseClass="container" /> + + ADD OBJECT 'Clb_tx_simplu1' AS clb_tx_simplu WITH ; + Height = 29, ; + Left = 12, ; + Name = "Clb_tx_simplu1", ; + TabIndex = 1, ; + Top = 44, ; + Width = 314, ; + ZOrderSet = 7, ; + Text_simplu1.ControlSource = "poRec.nume", ; + Text_simplu1.Format = "!K", ; + Text_simplu1.Left = 114, ; + Text_simplu1.Name = "Text_simplu1", ; + Lb_simplu1.Caption = "Nume", ; + Lb_simplu1.Name = "Lb_simplu1" + *< END OBJECT: ClassLib="lb_tx.vcx" BaseClass="container" /> + + ADD OBJECT 'Clb_tx_simplu2' AS clb_tx_simplu WITH ; + Height = 29, ; + Left = 12, ; + Name = "Clb_tx_simplu2", ; + TabIndex = 2, ; + Top = 72, ; + Width = 314, ; + ZOrderSet = 7, ; + Text_simplu1.ControlSource = "poRec.prenume", ; + Text_simplu1.Format = "!K", ; + Text_simplu1.Left = 114, ; + Text_simplu1.Name = "Text_simplu1", ; + Lb_simplu1.Caption = "Prenume", ; + Lb_simplu1.Name = "Lb_simplu1" + *< END OBJECT: ClassLib="lb_tx.vcx" BaseClass="container" /> + + ADD OBJECT 'Clb_tx_simplu5' AS clb_tx_simplu WITH ; + Height = 29, ; + Left = 12, ; + Name = "Clb_tx_simplu5", ; + TabIndex = 6, ; + Top = 184, ; + Width = 314, ; + ZOrderSet = 10, ; + Text_simplu1.ControlSource = "poRec.email", ; + Text_simplu1.Format = "K", ; + Text_simplu1.Left = 114, ; + Text_simplu1.Name = "Text_simplu1", ; + Lb_simplu1.Caption = "E-mail", ; + Lb_simplu1.Name = "Lb_simplu1" + *< END OBJECT: ClassLib="lb_tx.vcx" BaseClass="container" /> + + ADD OBJECT 'Cus_odata_pers_contact1' AS cus_odata_pers_contact WITH ; + Left = 187, ; + Name = "Cus_odata_pers_contact1", ; + Top = 18 + *< END OBJECT: ClassLib="onomenclatoare.vcx" BaseClass="custom" /> + + PROCEDURE inainte_de_do_termin + Local plReturn + lccontrol = Upper(This.ActiveControl.BaseClass ) + If Inlist(lccontrol,"TEXTBOX","EDITBOX","COMBOBOX") + lcval=This.ActiveControl.ControlSource + &lcval=Thisform.ActiveControl.Value + Endif + + Do Case + *!* Case Empty(porec.nume_lista_preturi) + *!* Messagebox('Nu ati completat numele!',0+48,"Atentie") + *!* This.clb_nume.text_simplu1.SetFocus() + *!* plReturn=.F. + + Otherwise + plReturn=This.cus_odata_pers_contact1.salvare(This.OREC,This.NID) + endcase + + Return plReturn + + ENDPROC + + PROCEDURE Init + Lparameters toRec, tnId, tcActiune + DODEFAULT() + This.orec = toRec + This.nid = tnId + This.cus_odata_pers_contact1.cactiune = tcActiune + + ENDPROC + +ENDDEFINE + +DEFINE CLASS frm_plcont AS _frmbase OF "_frm_base.vcx" + *< CLASSDATA: Baseclass="form" Timestamp="" Scale="Pixels" Uniqueid="" /> + + *-- OBJECTDATA items order determines ZOrder / El orden de los items OBJECTDATA determina el ZOrder + *< OBJECTDATA: ObjPath="Cmd_cauta1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="_gnom_plcont" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="_gnom_plcont.Column2.Header1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="_gnom_plcont.Column2.Text1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="_gnom_plcont.Column4.Header1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="_gnom_plcont.Column4.Text1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="_gnom_plcont.Column3.Header1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="_gnom_plcont.Column3.Text1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="_gnom_plcont.Column5.Header1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="_gnom_plcont.Column5.Text1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="_gnom_plcont.Column6.Header1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="_gnom_plcont.Column6.Text1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="_gnom_plcont.Column7.Header1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="_gnom_plcont.Column7.Check1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="_gnom_plcont.Column8.Header1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="_gnom_plcont.Column8.Text1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="_gnom_plcont.Column9.Header1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="_gnom_plcont.Column9.Check1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="_gnom_plcont.cContAlt.Header1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="_gnom_plcont.cContAlt.Text1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="_gnom_plcont.cAcontAlt.Header1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="_gnom_plcont.cAcontAlt.Text1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="But_nou1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="But_sterge1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="But_modifica1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="Ck_filtru_text1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="Ck_filtru_text2" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="Ck_filtru_text3" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="But_excel1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="Gridextra1" UniqueID="" Timestamp="" /> + + * + *m: log + * + + * + BorderStyle = 1 + cgridsortlist = _gnom_plcont + DoCreate = .T. + Height = 303 + lactiv3 = .T. + lactiv4 = .T. + Name = "frm_plcont" + Width = 770 + _shape1.Anchor = 10 + _shape1.Height = 29 + _shape1.Left = 0 + _shape1.Name = "_shape1" + _shape1.Tag = "W" + _shape1.Top = 0 + _shape1.Width = 780 + _shape2.Anchor = 8 + _shape2.Height = 29 + _shape2.Left = 617 + _shape2.Name = "_shape2" + _shape2.Tag = "L" + _shape2.Top = -1 + _shape2.Width = 149 + Lb_titlu_alb_b121.Caption = "Plan conturi" + Lb_titlu_alb_b121.Name = "Lb_titlu_alb_b121" + Lb_titlu_alb_b121.TabIndex = 7 + BUT_TERMIN1.Anchor = 8 + BUT_TERMIN1.Left = 735 + BUT_TERMIN1.Name = "BUT_TERMIN1" + BUT_TERMIN1.TabIndex = 8 + BUT_TERMIN1.Tag = "L" + BUT_TERMIN1.Top = 0 + BUT_TERMIN1.Visible = .T. + GRIDSORT1.Name = "GRIDSORT1" + * + + ADD OBJECT '_gnom_plcont' AS _grdrow WITH ; + Anchor = 15, ; + ColumnCount = 10, ; + DeleteMark = .F., ; + Height = 239, ; + HighlightStyle = 2, ; + Left = 13, ; + Name = "_gnom_plcont", ; + nrgbrow = 0, ; + Panel = 1, ; + ReadOnly = .T., ; + RecordSource = "v_plcont", ; + TabIndex = 3, ; + Tag = "HW", ; + Top = 61, ; + Width = 755, ; + Column1.ColumnOrder = 7, ; + Column1.ControlSource = "explicatie", ; + Column1.Name = "Column2", ; + Column1.ReadOnly = .T., ; + Column1.Tag = "W", ; + Column1.Width = 218, ; + Column2.ColumnOrder = 2, ; + Column2.ControlSource = "acont", ; + Column2.Name = "Column4", ; + Column2.ReadOnly = .T., ; + Column2.Width = 54, ; + Column3.ColumnOrder = 1, ; + Column3.ControlSource = "cont", ; + Column3.Name = "Column3", ; + Column3.ReadOnly = .T., ; + Column3.Width = 45, ; + Column4.ColumnOrder = 5, ; + Column4.ControlSource = "tip_sold", ; + Column4.Name = "Column5", ; + Column4.ReadOnly = .T., ; + Column4.Width = 52, ; + Column5.ColumnOrder = 6, ; + Column5.ControlSource = 'iif(tip_cont = 0,"Sintetic","Analitic")', ; + Column5.Name = "Column6", ; + Column5.ReadOnly = .T., ; + Column5.Width = 55, ; + Column6.Alignment = 2, ; + Column6.ColumnOrder = 10, ; + Column6.ControlSource = "inactiv", ; + Column6.Name = "Column7", ; + Column6.ReadOnly = .T., ; + Column6.Sparse = .F., ; + Column6.Width = 43, ; + Column7.ColumnOrder = 8, ; + Column7.ControlSource = "explicaties", ; + Column7.Name = "Column8", ; + Column7.ReadOnly = .T., ; + Column7.Width = 153, ; + Column8.Alignment = 2, ; + Column8.ColumnOrder = 9, ; + Column8.ControlSource = "nefolosit", ; + Column8.Name = "Column9", ; + Column8.ReadOnly = .T., ; + Column8.Sparse = .F., ; + Column8.Width = 56, ; + Column9.ColumnOrder = 3, ; + Column9.ControlSource = "cont_alt", ; + Column9.Name = "cContAlt", ; + Column9.ReadOnly = .T., ; + Column9.Width = 109, ; + Column10.ColumnOrder = 4, ; + Column10.ControlSource = "cod", ; + Column10.Name = "cAcontAlt", ; + Column10.ReadOnly = .T., ; + Column10.Width = 102 + *< END OBJECT: ClassLib="_grd_base.vcx" BaseClass="grid" /> + + ADD OBJECT '_gnom_plcont.cAcontAlt.Header1' AS header WITH ; + Alignment = 2, ; + Caption = "Cod", ; + Name = "Header1" + *< END OBJECT: BaseClass="header" /> + + ADD OBJECT '_gnom_plcont.cAcontAlt.Text1' AS textbox WITH ; + BackColor = 255,255,255, ; + BorderStyle = 0, ; + ForeColor = 0,0,0, ; + Margin = 0, ; + Name = "Text1", ; + ReadOnly = .T., ; + SelectedBackColor = 100,185,255 + *< END OBJECT: BaseClass="textbox" /> + + ADD OBJECT '_gnom_plcont.cContAlt.Header1' AS header WITH ; + Alignment = 2, ; + Caption = "Cont alt.", ; + Name = "Header1" + *< END OBJECT: BaseClass="header" /> + + ADD OBJECT '_gnom_plcont.cContAlt.Text1' AS textbox WITH ; + BackColor = 255,255,255, ; + BorderStyle = 0, ; + ForeColor = 0,0,0, ; + Margin = 0, ; + Name = "Text1", ; + ReadOnly = .T., ; + SelectedBackColor = 100,185,255 + *< END OBJECT: BaseClass="textbox" /> + + ADD OBJECT '_gnom_plcont.Column2.Header1' AS header WITH ; + Alignment = 2, ; + Caption = "Explicatie", ; + Name = "Header1" + *< END OBJECT: BaseClass="header" /> + + ADD OBJECT '_gnom_plcont.Column2.Text1' AS textbox WITH ; + BackColor = 255,255,255, ; + BorderStyle = 0, ; + ForeColor = 0,0,0, ; + Margin = 0, ; + Name = "Text1", ; + ReadOnly = .T., ; + SelectedBackColor = 100,185,255 + *< END OBJECT: BaseClass="textbox" /> + + ADD OBJECT '_gnom_plcont.Column3.Header1' AS header WITH ; + Alignment = 2, ; + Caption = "Cont", ; + Name = "Header1" + *< END OBJECT: BaseClass="header" /> + + ADD OBJECT '_gnom_plcont.Column3.Text1' AS textbox WITH ; + BackColor = 255,255,255, ; + BorderStyle = 0, ; + ForeColor = 0,0,0, ; + Margin = 0, ; + Name = "Text1", ; + ReadOnly = .T., ; + SelectedBackColor = 100,185,255 + *< END OBJECT: BaseClass="textbox" /> + + ADD OBJECT '_gnom_plcont.Column4.Header1' AS header WITH ; + Alignment = 2, ; + Caption = "Acont", ; + Name = "Header1" + *< END OBJECT: BaseClass="header" /> + + ADD OBJECT '_gnom_plcont.Column4.Text1' AS textbox WITH ; + BackColor = 255,255,255, ; + BorderStyle = 0, ; + ForeColor = 0,0,0, ; + Margin = 0, ; + Name = "Text1", ; + ReadOnly = .T., ; + SelectedBackColor = 100,185,255 + *< END OBJECT: BaseClass="textbox" /> + + ADD OBJECT '_gnom_plcont.Column5.Header1' AS header WITH ; + Alignment = 2, ; + Caption = "Tip", ; + Name = "Header1" + *< END OBJECT: BaseClass="header" /> + + ADD OBJECT '_gnom_plcont.Column5.Text1' AS textbox WITH ; + BackColor = 255,255,255, ; + BorderStyle = 0, ; + ForeColor = 0,0,0, ; + Margin = 0, ; + Name = "Text1", ; + ReadOnly = .T., ; + SelectedBackColor = 100,185,255 + *< END OBJECT: BaseClass="textbox" /> + + ADD OBJECT '_gnom_plcont.Column6.Header1' AS header WITH ; + Alignment = 2, ; + Caption = "Tip Cont", ; + Name = "Header1" + *< END OBJECT: BaseClass="header" /> + + ADD OBJECT '_gnom_plcont.Column6.Text1' AS textbox WITH ; + BackColor = 255,255,255, ; + BorderStyle = 0, ; + ForeColor = 0,0,0, ; + Margin = 0, ; + Name = "Text1", ; + ReadOnly = .T., ; + SelectedBackColor = 100,185,255 + *< END OBJECT: BaseClass="textbox" /> + + ADD OBJECT '_gnom_plcont.Column7.Check1' AS checkbox WITH ; + Alignment = 0, ; + Caption = "", ; + Centered = .T., ; + Height = 17, ; + Left = 9, ; + Name = "Check1", ; + ReadOnly = .T., ; + Top = 30, ; + Width = 60 + *< END OBJECT: BaseClass="checkbox" /> + + ADD OBJECT '_gnom_plcont.Column7.Header1' AS header WITH ; + Alignment = 2, ; + Caption = "Inactiv", ; + Name = "Header1" + *< END OBJECT: BaseClass="header" /> + + ADD OBJECT '_gnom_plcont.Column8.Header1' AS header WITH ; + Alignment = 2, ; + Caption = "Explicatie scurta", ; + Name = "Header1" + *< END OBJECT: BaseClass="header" /> + + ADD OBJECT '_gnom_plcont.Column8.Text1' AS textbox WITH ; + BackColor = 255,255,255, ; + BorderStyle = 0, ; + ForeColor = 0,0,0, ; + Margin = 0, ; + Name = "Text1", ; + SelectedBackColor = 100,185,255 + *< END OBJECT: BaseClass="textbox" /> + + ADD OBJECT '_gnom_plcont.Column9.Check1' AS checkbox WITH ; + Alignment = 0, ; + Caption = "", ; + Centered = .T., ; + Height = 17, ; + Left = 17, ; + Name = "Check1", ; + ReadOnly = .T., ; + Top = 58, ; + Width = 60 + *< END OBJECT: BaseClass="checkbox" /> + + ADD OBJECT '_gnom_plcont.Column9.Header1' AS header WITH ; + Alignment = 2, ; + Caption = "Nefolosit", ; + Name = "Header1" + *< END OBJECT: BaseClass="header" /> + + ADD OBJECT 'But_excel1' AS but_excel WITH ; + Anchor = 8, ; + Left = 705, ; + Name = "But_excel1", ; + Top = 0 + *< END OBJECT: ClassLib="cmd_butoane.vcx" BaseClass="commandbutton" /> + + ADD OBJECT 'But_modifica1' AS but_modifica WITH ; + Anchor = 8, ; + Left = 647, ; + Name = "But_modifica1", ; + TabIndex = 5, ; + Tag = "L", ; + Top = 0 + *< END OBJECT: ClassLib="cmd_butoane.vcx" BaseClass="commandbutton" /> + + ADD OBJECT 'But_nou1' AS but_nou WITH ; + Anchor = 8, ; + Left = 619, ; + Name = "But_nou1", ; + TabIndex = 6, ; + Tag = "L", ; + Top = 0, ; + Visible = .F. + *< END OBJECT: ClassLib="cmd_butoane.vcx" BaseClass="commandbutton" /> + + ADD OBJECT 'But_sterge1' AS but_sterge WITH ; + Anchor = 8, ; + Left = 676, ; + Name = "But_sterge1", ; + TabIndex = 4, ; + Tag = "L", ; + Top = 0 + *< END OBJECT: ClassLib="cmd_butoane.vcx" BaseClass="commandbutton" /> + + ADD OBJECT 'Ck_filtru_text1' AS ck_filtru_text WITH ; + Alignment = 0, ; + camp_nume = explicatie, ; + Caption = "Explicatie", ; + Left = 128, ; + Name = "Ck_filtru_text1", ; + Top = 36 + *< END OBJECT: ClassLib="caut_ora.vcx" BaseClass="checkbox" /> + + ADD OBJECT 'Ck_filtru_text2' AS ck_filtru_text WITH ; + Alignment = 0, ; + camp_nume = cont, ; + Caption = "Cont", ; + Left = 24, ; + Name = "Ck_filtru_text2", ; + Top = 36 + *< END OBJECT: ClassLib="caut_ora.vcx" BaseClass="checkbox" /> + + ADD OBJECT 'Ck_filtru_text3' AS ck_filtru_text WITH ; + Alignment = 0, ; + camp_nume = acont, ; + Caption = "Acont", ; + Left = 72, ; + Name = "Ck_filtru_text3", ; + Top = 36 + *< END OBJECT: ClassLib="caut_ora.vcx" BaseClass="checkbox" /> + + ADD OBJECT 'Cmd_cauta1' AS cmd_cauta WITH ; + Anchor = 8, ; + Left = 684, ; + Name = "Cmd_cauta1", ; + TabIndex = 2, ; + Tag = "L", ; + Top = 31 + *< END OBJECT: ClassLib="cmd_butoane.vcx" BaseClass="commandbutton" /> + + ADD OBJECT 'Gridextra1' AS gridextra WITH ; + gridexpression = Thisform._gnom_plcont, ; + Left = 270, ; + Name = "Gridextra1", ; + productname = ROA, ; + Top = 34 + *< END OBJECT: ClassLib="..\utile\gridextras\gridextras.vcx" BaseClass="custom" /> + + PROCEDURE actualizeaza_grid1 + LPARAMETERS pcFiltru + LOCAL lcFiltru + lcFiltru=pcFiltru + IF EMPTY(lcFiltru) + lcFiltru=poplcont.ca_baza1.cfiltru + ENDIF + save_grid_tag(thisform._gnom_plcont) + poplcont.ca_baza1.cfiltru=lcFiltru + poplcont.ca_baza1.afisare() + restore_grid_tag(thisform._gnom_plcont) + IF RECCOUNT('v_plcont')>0 + thisform._gnom_plcont.SetFocus() + + ENDIF + + ENDPROC + + PROCEDURE do_adauga + SELECT v_plcont + SCATTER NAME loRec + WITH loRec + .an = gnAn + ENDWITH + DO Adauga_Modifica_Inregistrare WITH "plcont",loRec,,"INSERT" + this.actualizeaza_grid1() + SELECT v_plcont + LOCATE FOR cont = loRec.cont AND NVL(acont,'xxxx') = NVL(loRec.acont,'xxxx') + IF !FOUND() + GO TOP + ENDIF + ENDPROC + + PROCEDURE do_cauta + Local lcFiltru + lcFiltru=[] + + If ThisForm.ck_filtru_text1.Value = 1 + lcfiltru=lcfiltru + thisform.ck_filtru_text1.filtru + ENDIF + If ThisForm.ck_filtru_text2.Value = 1 + lcfiltru=lcfiltru + thisform.ck_filtru_text2.filtru + ENDIF + If ThisForm.ck_filtru_text3.Value = 1 + lcfiltru=lcfiltru + thisform.ck_filtru_text3.filtru + ENDIF + + If !Empty(lcfiltru) + lcfiltru = [an=]+ALLTRIM(STR(gnan)) + lcFiltru + Else + lcfiltru = [an=]+ALLTRIM(STR(gnan)) + ENDIF + + This.MousePointer= 11 + This.LockScreen=.T. + Thisform.actualizeaza_grid1(lcFiltru) + IF RECCOUNT()=0 + aMESSAGEBOX("Cautarea nu a intors rezultate!",0+64,"Info cautare") + ENDIF + This.LockScreen=.F. + This.MousePointer= 0 + ENDPROC + + PROCEDURE do_modifica + LOCAL lnId + Select v_plcont + Scatter Name loRec + lnId = lorec.ID_PLCONT + pccont = loRec.cont + pcacont = loRec.acont + Do Adauga_Modifica_Inregistrare With "plcont",loRec,loRec.Id_plcont,"UPDATE" + IF gnButon = 1 + thisform.actualizeaza_grid1() + LOCATE FOR id_plcont = lnId + IF !FOUND() + GO top + ENDIF + ENDIF + ENDPROC + + PROCEDURE do_sterge + LOCAL lnId + + SELECT v_plcont + SCATTER NAME lorec + llSucces = STERGE_INREGISTRARE("plcont",loRec.id_plcont) + + IF llSucces AND gnButon = 1 + SELECT v_plcont + DELETE + IF !EOF() + SKIP 1 + IF EOF() + SKIP -1 + ENDIF + ENDIF + lnId = id_plcont + *!* this.actualizeaza_grid1() + + LOCATE FOR id_plcont = lnId + IF !FOUND() + GO top + ENDIF + ENDIF + this._gnom_plcont.SetFocus() + + + ENDPROC + + PROCEDURE inainte_de_do_excel + DO export_excel_grid WITH thisform._gnom_plcont + + ENDPROC + + PROCEDURE Init + DODEFAULT() + this.WindowState = 2 + THIS.Resize + This.gridextra1.setup() + ENDPROC + + PROCEDURE KeyPress + Lparameters nKeyCode, nShiftAltCtrl + lcActiveControl = UPPER(ALLTRIM(this.ActiveControl.name)) + + IF nKeyCode=13 AND lcActiveControl = '_GNOM_PLCONT' + Nodefault + this.lb_nom_plcont.SetFocus + ENDIF + + + DODEFAULT(nKeyCode, nShiftAltCtrl) + + + ENDPROC + + PROCEDURE log + LPARAMETERS tctabela,tnId + + lcId = ALLTRIM(STR(tnId)) + lctabela = UPPER(ALLTRIM(tctabela)) + PRIVATE polog,pcschema1,pcselect1 + STORE '' TO polog + pcschema1 = [''] + pcselect1=['select * from ] + gcS + [.vlog where '] + pcorder1=['dataora'] + pcfiltru1 = [tabel = '] + lctabela + [' and id_tabel = ] + lcId + gencursor('polog','v_log',pcselect1,pcfiltru1,pcschema1,pcorder1) + polog.ca_baza1.afisare() + ofrmlog=CREATEOBJECT('frm_log') + ofrmlog.show(1) + RELEASE polog + ENDPROC + + PROCEDURE Unload + IF USED('v_gestiuni') + USE IN v_gestiuni + ENDIF + ENDPROC + + PROCEDURE _gnom_plcont.Column2.Text1.DblClick + thisform.log("PLCONT",v_plcont.id_plcont) + ENDPROC + + PROCEDURE _gnom_plcont.Init + this.SetAll("DynamicBackColor","iif(nefolosit = 1 or inactiv = 1, RGB(200,200,200), RGB(255,255,255))","Column") + ENDPROC + +ENDDEFINE + +DEFINE CLASS frm_plcont_nou AS _frmbase OF "_frm_base.vcx" + *< CLASSDATA: Baseclass="form" Timestamp="" Scale="Pixels" Uniqueid="" /> + + *-- OBJECTDATA items order determines ZOrder / El orden de los items OBJECTDATA determina el ZOrder + *< OBJECTDATA: ObjPath="But_renunt1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="Clb_tx_simplu1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="Clb_tx_simplu2" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="Clb_tx_simplu3" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="Clb_tx_simplu5" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="Cus_odata_plcont1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="Cb_tx_simplu1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="Cb_tx_simplu2" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="_checkbox1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="Clb_tx_simplu4" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="_checkbox2" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="clb_cont_alt" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="clb_cod" UniqueID="" Timestamp="" /> + + * + *p: nid + *p: orec + * + + * + BorderStyle = 1 + DoCreate = .T. + Height = 288 + Name = "frm_plcont_nou" + Width = 510 + _shape1.Height = 29 + _shape1.Left = 0 + _shape1.Name = "_shape1" + _shape1.Top = 0 + _shape1.Width = 510 + _shape2.Height = 29 + _shape2.Left = 439 + _shape2.Name = "_shape2" + _shape2.Top = 0 + _shape2.Width = 71 + Lb_titlu_alb_b121.Caption = "Plan conturi" + Lb_titlu_alb_b121.Name = "Lb_titlu_alb_b121" + Lb_titlu_alb_b121.TabIndex = 14 + BUT_TERMIN1.Left = 476 + BUT_TERMIN1.Name = "BUT_TERMIN1" + BUT_TERMIN1.TabIndex = 10 + BUT_TERMIN1.Top = 1 + Gridsort1.Name = "Gridsort1" + * + + ADD OBJECT '_checkbox1' AS _checkbox WITH ; + Alignment = 0, ; + Caption = "Inactiv", ; + ControlSource = "porec.inactiv", ; + Left = 19, ; + Name = "_checkbox1", ; + TabIndex = 12, ; + TabStop = .F., ; + Top = 262 + *< END OBJECT: ClassLib="_baza.vcx" BaseClass="checkbox" /> + + ADD OBJECT '_checkbox2' AS _checkbox WITH ; + Alignment = 0, ; + Caption = "Nefolosit", ; + ControlSource = "porec.nefolosit", ; + Left = 84, ; + Name = "_checkbox2", ; + TabIndex = 13, ; + TabStop = .F., ; + Top = 262 + *< END OBJECT: ClassLib="_baza.vcx" BaseClass="checkbox" /> + + ADD OBJECT 'But_renunt1' AS but_renunt WITH ; + Left = 446, ; + Name = "But_renunt1", ; + TabIndex = 11, ; + Top = 1 + *< END OBJECT: ClassLib="cmd_butoane.vcx" BaseClass="commandbutton" /> + + ADD OBJECT 'Cb_tx_simplu1' AS cb_tx_simplu WITH ; + Height = 29, ; + Left = 18, ; + Name = "Cb_tx_simplu1", ; + TabIndex = 7, ; + Top = 170, ; + Width = 213, ; + _cbbase1.Height = 23, ; + _cbbase1.Left = 105, ; + _cbbase1.Name = "_cbbase1", ; + _cbbase1.RowSource = "A,P,B", ; + _cbbase1.RowSourceType = 1, ; + _cbbase1.Top = 3, ; + _cbbase1.Width = 89, ; + _lbbase1.Caption = "Tip", ; + _lbbase1.Name = "_lbbase1" + *< END OBJECT: ClassLib="lb_tx.vcx" BaseClass="container" /> + + ADD OBJECT 'Cb_tx_simplu2' AS cb_tx_simplu WITH ; + Height = 29, ; + Left = 18, ; + Name = "Cb_tx_simplu2", ; + TabIndex = 8, ; + Top = 198, ; + Width = 213, ; + _cbbase1.Height = 23, ; + _cbbase1.Left = 105, ; + _cbbase1.Name = "_cbbase1", ; + _cbbase1.RowSource = "Sintetic,Analitic", ; + _cbbase1.RowSourceType = 1, ; + _cbbase1.Top = 3, ; + _cbbase1.Width = 88, ; + _lbbase1.Caption = "Tip cont", ; + _lbbase1.Name = "_lbbase1" + *< END OBJECT: ClassLib="lb_tx.vcx" BaseClass="container" /> + + ADD OBJECT 'clb_cod' AS clb_tx_simplu WITH ; + Height = 29, ; + Left = 232, ; + Name = "clb_cod", ; + TabIndex = 4, ; + Top = 76, ; + Width = 272, ; + Text_simplu1.ControlSource = "porec.cod", ; + Text_simplu1.Format = "!K", ; + Text_simplu1.Left = 120, ; + Text_simplu1.MaxLength = 20, ; + Text_simplu1.Name = "Text_simplu1", ; + Text_simplu1.Top = 3, ; + Text_simplu1.Width = 145, ; + Lb_simplu1.Caption = "Cod", ; + Lb_simplu1.Name = "Lb_simplu1" + *< END OBJECT: ClassLib="lb_tx.vcx" BaseClass="container" /> + + ADD OBJECT 'clb_cont_alt' AS clb_tx_simplu WITH ; + Height = 29, ; + Left = 232, ; + Name = "clb_cont_alt", ; + TabIndex = 3, ; + Top = 48, ; + Width = 272, ; + Text_simplu1.ControlSource = "porec.cont_alt", ; + Text_simplu1.Format = "!K", ; + Text_simplu1.Left = 120, ; + Text_simplu1.MaxLength = 20, ; + Text_simplu1.Name = "Text_simplu1", ; + Text_simplu1.Top = 3, ; + Text_simplu1.Width = 145, ; + Lb_simplu1.Caption = "Cont alternativ", ; + Lb_simplu1.Name = "Lb_simplu1" + *< END OBJECT: ClassLib="lb_tx.vcx" BaseClass="container" /> + + ADD OBJECT 'Clb_tx_simplu1' AS clb_tx_simplu WITH ; + Height = 29, ; + Left = 18, ; + Name = "Clb_tx_simplu1", ; + TabIndex = 2, ; + Top = 76, ; + Width = 215, ; + Text_simplu1.ControlSource = "porec.acont", ; + Text_simplu1.Format = "!K", ; + Text_simplu1.Left = 106, ; + Text_simplu1.MaxLength = 4, ; + Text_simplu1.Name = "Text_simplu1", ; + Text_simplu1.TabIndex = 1, ; + Text_simplu1.Top = 3, ; + Text_simplu1.Width = 105, ; + Lb_simplu1.Caption = "Analitic", ; + Lb_simplu1.FontBold = .T., ; + Lb_simplu1.Name = "Lb_simplu1", ; + Lb_simplu1.TabIndex = 2 + *< END OBJECT: ClassLib="lb_tx.vcx" BaseClass="container" /> + + ADD OBJECT 'Clb_tx_simplu2' AS clb_tx_simplu WITH ; + Height = 29, ; + Left = 18, ; + Name = "Clb_tx_simplu2", ; + TabIndex = 5, ; + Top = 109, ; + Width = 486, ; + Text_simplu1.ControlSource = "porec.explicatie", ; + Text_simplu1.Format = "!K", ; + Text_simplu1.Height = 23, ; + Text_simplu1.Left = 126, ; + Text_simplu1.MaxLength = 100, ; + Text_simplu1.Name = "Text_simplu1", ; + Text_simplu1.Top = 3, ; + Text_simplu1.Width = 356, ; + Lb_simplu1.Caption = "Explicatie", ; + Lb_simplu1.Name = "Lb_simplu1" + *< END OBJECT: ClassLib="lb_tx.vcx" BaseClass="container" /> + + ADD OBJECT 'Clb_tx_simplu3' AS clb_tx_simplu WITH ; + Height = 29, ; + Left = 18, ; + Name = "Clb_tx_simplu3", ; + TabIndex = 1, ; + Top = 48, ; + Width = 215, ; + Text_simplu1.ControlSource = "porec.cont", ; + Text_simplu1.Format = "!K", ; + Text_simplu1.Height = 23, ; + Text_simplu1.Left = 106, ; + Text_simplu1.MaxLength = 4, ; + Text_simplu1.Name = "Text_simplu1", ; + Text_simplu1.Top = 3, ; + Text_simplu1.Width = 105, ; + Lb_simplu1.Caption = "Cont", ; + Lb_simplu1.FontBold = .T., ; + Lb_simplu1.Name = "Lb_simplu1" + *< END OBJECT: ClassLib="lb_tx.vcx" BaseClass="container" /> + + ADD OBJECT 'Clb_tx_simplu4' AS clb_tx_simplu WITH ; + Height = 29, ; + Left = 18, ; + Name = "Clb_tx_simplu4", ; + TabIndex = 6, ; + Top = 137, ; + Width = 486, ; + Text_simplu1.ControlSource = "porec.explicaties", ; + Text_simplu1.Format = "!K", ; + Text_simplu1.Height = 23, ; + Text_simplu1.Left = 126, ; + Text_simplu1.MaxLength = 100, ; + Text_simplu1.Name = "Text_simplu1", ; + Text_simplu1.ToolTipText = "Explicatie Balanta Verificare", ; + Text_simplu1.Top = 3, ; + Text_simplu1.Width = 356, ; + Lb_simplu1.Caption = "Explicatie balanta", ; + Lb_simplu1.Name = "Lb_simplu1" + *< END OBJECT: ClassLib="lb_tx.vcx" BaseClass="container" /> + + ADD OBJECT 'Clb_tx_simplu5' AS clb_tx_simplu WITH ; + Height = 29, ; + Left = 18, ; + Name = "Clb_tx_simplu5", ; + TabIndex = 9, ; + Top = 226, ; + Width = 213, ; + Text_simplu1.ControlSource = "gnan", ; + Text_simplu1.Format = "!K", ; + Text_simplu1.Height = 23, ; + Text_simplu1.Left = 105, ; + Text_simplu1.Name = "Text_simplu1", ; + Text_simplu1.ReadOnly = .T., ; + Text_simplu1.TabStop = .F., ; + Text_simplu1.Top = 3, ; + Text_simplu1.Width = 88, ; + Lb_simplu1.Caption = "An", ; + Lb_simplu1.Name = "Lb_simplu1" + *< END OBJECT: ClassLib="lb_tx.vcx" BaseClass="container" /> + + ADD OBJECT 'Cus_odata_plcont1' AS cus_odata_plcont WITH ; + Left = 144, ; + Name = "Cus_odata_plcont1", ; + Top = 24 + *< END OBJECT: ClassLib="onomenclatoare.vcx" BaseClass="custom" /> + + PROCEDURE inainte_de_do_termin + LOCAL PLRETURN, lcSql, lnSucces, lcControl, lcFragmentSql + PRIVATE pnReturnValue, pnTipCont + pnReturnValue = 0 + PLRETURN = .T. + + THIS.but_TERMIN1.SetFocus() + + IF (THIS.cb_tx_simplu2._CBBASE1.VALUE = "Sintetic") + pnTipCont = 0 + ELSE + pnTipCont = 1 + ENDIF + + DO CASE + CASE EMPTY(NVL(porec.CONT,'')) + amessagebox('Nu ati completat contul!',0+48,"Atentie") + THIS.clb_tx_simplu3.SETFOCUS() + PLRETURN=.F. + + CASE EMPTY(NVL(porec.acont,'')) AND pnTipCont = 1 + amessagebox('Nu ati completat contul analitic!',0+48,"Atentie") + THIS.clb_tx_simplu1.SETFOCUS() + PLRETURN=.F. + + CASE !EMPTY(NVL(porec.acont,'')) AND pnTipCont = 0 + amessagebox('Ati completat contul analitic! Alegeti tipul contului "Analitic"',0+48,"Atentie") + THIS.cb_tx_simplu2._CBBASE1.SETFOCUS() + PLRETURN=.F. + + CASE EMPTY(porec.tip_sold) + amessagebox('Nu ati ales tipul contului!',0+48,"Atentie") + THIS.cb_tx_simplu1.SETFOCUS() + PLRETURN=.F. + OTHERWISE + *!* 23.05.2007 + *!* marius.mutu + *!* verificare pe insert/update + lcActiune = ALLTRIM(UPPER(THIS.cus_odata_plcont1.cactiune)) + IF INLIST(lcActiune, "INSERT", "UPDATE") + IF pnTipCont = 0 && sintetic + lcFragmentSql = [] + ELSE + lcFragmentSql = [ and acont = ?ALLTRIM(poRec.acont)] + ENDIF + + IF lcActiune = "INSERT" + lcSql = [select COUNT(*) as nr from vnom_plcont where cont= ?ALLTRIM(porec.CONT) and tip_cont = ?pnTipCont and an = ?gnan] + lcFragmentSql + ELSE + lcSql = [select COUNT(*) as nr from vnom_plcont where cont= ?ALLTRIM(porec.CONT) and tip_cont = ?pnTipCont and an = ?gnan and id_plcont <> ?poRec.id_plcont] + lcFragmentSql + ENDIF + + lnSucces = goExecutor.oSelect2Value(lcSql, @pnReturnValue) + IF lnSucces < 0 + AMESSAGEBOX(goExecutor.cEroare, 0+16, "Eroare") + plReturn = .F. + ELSE + IF pnReturnValue > 0 + amessagebox("Contul " + ALLTRIM(porec.CONT) + IIF(pnTipCont = 1, "." + ALLTRIM(porec.acont), "") + " mai este inregistrat!",0+48,"Atentie") + THISFORM.clb_tx_simplu3.SETFOCUS() + PLRETURN=.F. + ENDIF + ENDIF + ENDIF + + ENDCASE + + IF plReturn + PLRETURN=THIS.cus_odata_plcont1.salvare(THIS.OREC,THIS.NID) + ENDIF + + RETURN PLRETURN + + + + ENDPROC + + PROCEDURE Init + Lparameters toRec, tnId, tcActiune + Local lcTitlu, llAnalitic + DoDefault() + This.orec = toRec + This.nid = tnId + This.cus_odata_plcont1.cactiune = tcActiune + If Type('toRec.balana') # 'U' + Do Case + Case tcActiune = 'INSERT' + lcTitlu = 'Adaugare' + Case tcActiune = 'UPDATE' + lcTitlu = 'Modificare' + Endcase + If toRec.balana = 0 + Thisform.clb_tx_simplu1.text_simplu1.ReadOnly = .T. + Thisform.cb_tx_simplu2._cbbase1.Enabled = .F. + Thisform.lb_titlu_alb_b121.Caption = lcTitlu + ' cont sintetic' + Else + Thisform.clb_tx_simplu3.text_simplu1.ReadOnly = .T. + Thisform.cb_tx_simplu2._cbbase1.Enabled = .F. + Thisform.cb_tx_simplu1._cbbase1.Enabled = .F. + Thisform.lb_titlu_alb_b121.Caption = lcTitlu + ' cont analitic' + Endif + Endif + ENDPROC + + PROCEDURE Cb_tx_simplu1._cbbase1.Init + DO CASE + CASE porec.tip_sold = "A" + this.Value = "A" + CASE porec.tip_sold = "P" + this.Value = "P" + CASE porec.tip_sold = "B" + this.Value = "B" + OTHERWISE + **nada.. + ENDCASE + ENDPROC + + PROCEDURE Cb_tx_simplu1._cbbase1.LostFocus + DO CASE + CASE this.Value = "Activ" + porec.tip_sold = "A" + CASE this.Value = "Pasiv" + porec.tip_sold = "P" + CASE this.Value = "Bifunctional" + porec.tip_sold = "B" + ENDCASE + ENDPROC + + PROCEDURE Cb_tx_simplu1._cbbase1.Valid + DO CASE + CASE this.Value = "A" + porec.tip_sold = "A" + CASE this.Value = "P" + porec.tip_sold = "P" + CASE this.Value = "B" + porec.tip_sold = "B" + ENDCASE + ENDPROC + + PROCEDURE Cb_tx_simplu2._cbbase1.Init + IF porec.tip_cont = 0 + this.Value = "Sintetic" + ELSE + this.Value = "Analitic" + ENDIF + ENDPROC + + PROCEDURE Cb_tx_simplu2._cbbase1.LostFocus + IF this.Value = "Sintetic" + porec.tip_cont = 0 + ELSE + porec.tip_cont = 1 + ENDIF + ENDPROC + + PROCEDURE Clb_tx_simplu1.Text_simplu1.LostFocus + Local llAnalitic + llAnalitic = !Empty(Nvl(poRec.acont, '')) + poRec.tip_cont = Iif(m.llAnalitic, 1, 0) + Thisform.cb_tx_simplu2._CBBASE1.Value = Iif(m.llAnalitic, "Analitic", "Sintetic") + Thisform.cb_tx_simplu2._CBBASE1.Refresh() + + + ENDPROC + +ENDDEFINE + +DEFINE CLASS frm_proiecte_nou AS _frmbase OF "_frm_base.vcx" + *< CLASSDATA: Baseclass="form" Timestamp="" Scale="Pixels" Uniqueid="" /> + + *-- OBJECTDATA items order determines ZOrder / El orden de los items OBJECTDATA determina el ZOrder + *< OBJECTDATA: ObjPath="Clb_indicativ" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="Ed_denumire" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="Ed_descriere" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="BUT_RENUNT1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="Ct_client" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="Cus_odata_proiecte1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="Clb_tx_simplu1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="Ct_responsabil" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="Ct_clb_cautare_var1" UniqueID="" Timestamp="" /> + + * + *m: do_alege_client + *m: do_alege_modelproiect + *m: do_alege_responsabil + *p: nid + *p: orec + * + + * + DoCreate = .T. + FontCharSet = 238 + Height = 305 + Name = "frm_proiecte_nou" + nid = + orec = + Width = 360 + _SHAPE1.Height = 29 + _SHAPE1.Left = 0 + _SHAPE1.Name = "_SHAPE1" + _SHAPE1.Top = 0 + _SHAPE1.Width = 360 + _SHAPE2.Height = 29 + _SHAPE2.Left = 300 + _SHAPE2.Name = "_SHAPE2" + _SHAPE2.Top = 0 + _SHAPE2.Width = 60 + LB_TITLU_ALB_B121.Caption = "PROIECT" + LB_TITLU_ALB_B121.FontBold = .T. + LB_TITLU_ALB_B121.FontCharSet = 238 + LB_TITLU_ALB_B121.Name = "LB_TITLU_ALB_B121" + LB_TITLU_ALB_B121.TabIndex = 10 + BUT_TERMIN1.Left = 331 + BUT_TERMIN1.Name = "BUT_TERMIN1" + BUT_TERMIN1.TabIndex = 8 + BUT_TERMIN1.Top = 1 + Gridsort1.Left = 24 + Gridsort1.Name = "Gridsort1" + Gridsort1.Top = 222 + * + + ADD OBJECT 'BUT_RENUNT1' AS but_renunt WITH ; + Left = 301, ; + Name = "BUT_RENUNT1", ; + TabIndex = 9, ; + Top = 1 + *< END OBJECT: ClassLib="cmd_butoane.vcx" BaseClass="commandbutton" /> + + ADD OBJECT 'Clb_indicativ' AS clb_tx_simplu WITH ; + Left = 21, ; + Name = "Clb_indicativ", ; + TabIndex = 1, ; + Top = 45, ; + TEXT_SIMPLU1.ControlSource = "porec.indicativ", ; + TEXT_SIMPLU1.Name = "TEXT_SIMPLU1", ; + LB_SIMPLU1.Caption = "Indicativ", ; + LB_SIMPLU1.Name = "LB_SIMPLU1" + *< END OBJECT: ClassLib="lb_tx.vcx" BaseClass="container" /> + + ADD OBJECT 'Clb_tx_simplu1' AS clb_tx_simplu WITH ; + Left = 21, ; + Name = "Clb_tx_simplu1", ; + TabIndex = 2, ; + Top = 73, ; + Text_simplu1.ControlSource = "porec.data_proiect", ; + Text_simplu1.Name = "Text_simplu1", ; + Lb_simplu1.Caption = "Data", ; + Lb_simplu1.Name = "Lb_simplu1" + *< END OBJECT: ClassLib="lb_tx.vcx" BaseClass="container" /> + + ADD OBJECT 'Ct_clb_cautare_var1' AS ct_clb_cautare_var WITH ; + cconditie = EMPTY(NVL(poRec.id_modelproiect,0)), ; + cprocedura = thisform.do_alege_modelproiect(), ; + cvar_afisata = poRec.modelproiect, ; + Height = 31, ; + Left = 20, ; + Name = "Ct_clb_cautare_var1", ; + TabIndex = 6, ; + Top = 242, ; + Width = 326, ; + shape_cautare.Height = 29, ; + shape_cautare.Left = 1, ; + shape_cautare.Name = "shape_cautare", ; + shape_cautare.Top = 1, ; + shape_cautare.Width = 290, ; + img_cautare.Left = 299, ; + img_cautare.Name = "img_cautare", ; + img_cautare.Top = 5, ; + lb_cautare.Caption = "Model de proiect", ; + lb_cautare.Name = "lb_cautare", ; + tx_cautare.Left = 102, ; + tx_cautare.Name = "tx_cautare", ; + tx_cautare.Top = 4 + *< END OBJECT: ClassLib="caut_ora.vcx" BaseClass="container" /> + + ADD OBJECT 'Ct_client' AS ct_clb_cautare_var WITH ; + cconditie = EMPTY(NVL(poRec.id_part,0)), ; + cprocedura = thisform.do_alege_client(), ; + cvar_afisata = poRec.client, ; + Height = 31, ; + Left = 20, ; + Name = "Ct_client", ; + TabIndex = 5, ; + Top = 214, ; + Width = 326, ; + shape_cautare.Height = 29, ; + shape_cautare.Left = 1, ; + shape_cautare.Name = "shape_cautare", ; + shape_cautare.Top = 1, ; + shape_cautare.Width = 290, ; + img_cautare.Left = 299, ; + img_cautare.Name = "img_cautare", ; + img_cautare.Top = 5, ; + lb_cautare.Caption = "Client", ; + lb_cautare.Name = "lb_cautare", ; + tx_cautare.Left = 102, ; + tx_cautare.Name = "tx_cautare", ; + tx_cautare.Top = 4 + *< END OBJECT: ClassLib="caut_ora.vcx" BaseClass="container" /> + + ADD OBJECT 'Ct_responsabil' AS ct_clb_cautare_var WITH ; + cconditie = EMPTY(NVL(poRec.id_responsabil,0)), ; + cprocedura = thisform.do_alege_responsabil(), ; + cvar_afisata = poRec.responsabil, ; + Height = 31, ; + Left = 20, ; + Name = "Ct_responsabil", ; + TabIndex = 7, ; + Top = 270, ; + Width = 326, ; + shape_cautare.Height = 29, ; + shape_cautare.Left = 1, ; + shape_cautare.Name = "shape_cautare", ; + shape_cautare.Top = 1, ; + shape_cautare.Width = 290, ; + img_cautare.Left = 299, ; + img_cautare.Name = "img_cautare", ; + img_cautare.Top = 5, ; + lb_cautare.Caption = "Responsabil", ; + lb_cautare.Name = "lb_cautare", ; + tx_cautare.Left = 102, ; + tx_cautare.Name = "tx_cautare", ; + tx_cautare.Top = 4 + *< END OBJECT: ClassLib="caut_ora.vcx" BaseClass="container" /> + + ADD OBJECT 'Cus_odata_proiecte1' AS cus_odata_proiecte WITH ; + Left = 60, ; + Name = "Cus_odata_proiecte1", ; + Top = 222 + *< END OBJECT: ClassLib="onomenclatoare.vcx" BaseClass="custom" /> + + ADD OBJECT 'Ed_denumire' AS ed_tx_simplu WITH ; + Left = 21, ; + Name = "Ed_denumire", ; + TabIndex = 3, ; + Top = 101, ; + _edbase1.ControlSource = "porec.denumire", ; + _edbase1.Format = "K!", ; + _edbase1.Name = "_edbase1", ; + _lbbase1.Caption = "Denumire", ; + _lbbase1.Name = "_lbbase1" + *< END OBJECT: ClassLib="lb_tx.vcx" BaseClass="container" /> + + ADD OBJECT 'Ed_descriere' AS ed_tx_simplu WITH ; + Left = 21, ; + Name = "Ed_descriere", ; + TabIndex = 4, ; + Top = 158, ; + _edbase1.ControlSource = "porec.descriere", ; + _edbase1.Format = "K!", ; + _edbase1.Name = "_edbase1", ; + _lbbase1.Caption = "Descriere", ; + _lbbase1.Name = "_lbbase1" + *< END OBJECT: ClassLib="lb_tx.vcx" BaseClass="container" /> + + PROCEDURE do_alege_client + Local loCauta + loCauta = CautPartenerContabilitate(GetHash([cTitlu=>Clienti??cCont=>4111??lAdaugCorespondente=>1])) + If !Empty(Nvl(loCauta.id_part,0)) + poRec.id_part=loCauta.id_part + poRec.client=Alltrim(loCauta.nume) + thisform.ct_clb_cautare_var1.tx_cautare.SetFocus() + Endif + + ENDPROC + + PROCEDURE do_alege_modelproiect + PRIVATE pcselect,pcfiltru ,pcschema ,pcorder ,pccoloane ,pcTitlu ,pcTitluColoane ,pcFiltruOriginal + LOCAL locauta + + pcselect = [select * from con_modelproiect] + + pcfiltru = [1=2] + pcschema = [] + pcorder = [denumire_model] + pccoloane = [denumire_model] + pcTitlu = [Alegeti modelul de proiect] + pcTitluColoane = [Model] + pcFiltruOriginal = [sters = 0] + locauta = cauta_alfa(pcselect,pcfiltru,pcschema,pcorder,pccoloane,pcTitlu,pcTitluColoane,'crsnomluc',.F.,pcFiltruOriginal )&&30iul2007 + *!* Parameters tcselect,tcfiltru,tcschema,tcorder,tccoloana,tcTitlu,tcTitluColoana,tcNume_Proc,tl_AllInList,tcFiltruOriginal + + IF buton # 2 + If !Empty(Nvl(loCauta.id_modelproiect,0)) + poRec.id_modelproiect=loCauta.id_modelproiect + poRec.modelproiect=Alltrim(loCauta.denumire_model) + Thisform.ct_responsabil.SetFocus() + ENDIF + ENDIF + ENDPROC + + PROCEDURE do_alege_responsabil + Local loCauta + loCauta = CautPartenerContabilitate(GetHash([cTitlu=>Responsabili??cTipuriParteneri=>]+Alltrim(Str(gnIdTipResponsabili))+[??lAdaugCorespondente=>1])) + If !Empty(Nvl(loCauta.id_part,0)) + poRec.id_responsabil = loCauta.id_part + poRec.responsabil=Alltrim(loCauta.nume) + Thisform.but_TERMIN1.SetFocus() + Endif + ENDPROC + + PROCEDURE inainte_de_do_termin + Local plReturn + lccontrol = Upper(This.ActiveControl.BaseClass ) + If Inlist(lccontrol,"TEXTBOX","EDITBOX","COMBOBOX") + lcval=This.ActiveControl.ControlSource + &lcval=Thisform.ActiveControl.Value + Endif + + Do Case + Case Empty(NVL(poRec.indicativ,[])) + amessagebox("Nu ati completat indicativul!",48,"Atentie") + Thisform.clb_indicativ.SetFocus() + plReturn = .F. + Case Empty(NVL(poRec.data_proiect,[])) + amessagebox("Nu ati completat data!",48,"Atentie") + Thisform.clb_tx_simplu1.SetFocus() + plReturn = .F. + Case Empty(NVL(poRec.id_responsabil,[])) AND This.cus_odata_proiecte1.cactiune<> [UPDATE] + amessagebox("Nu ati completat responsabilul!",48,"Atentie") + Thisform.ct_responsabil.SetFocus() + plReturn = .F. + Otherwise + plReturn=Thisform.cus_odata_proiecte1.salvare(This.OREC,This.NID) + If !plReturn + Thisform.clb_indicativ.SetFocus() + Endif + Endcase + + Return plReturn + + ENDPROC + + PROCEDURE Init + Lparameters toRec, tnId, tcActiune + DoDefault() + + This.orec= toRec + This.nid = tnId + This.cus_odata_proiecte1.cactiune=tcActiune + + If tcActiune = [UPDATE] + Thisform.ct_responsabil.Visible=.f. + Endif + + ENDPROC + +ENDDEFINE + +DEFINE CLASS frm_responsabili AS _frmbase OF "_frm_base.vcx" + *< CLASSDATA: Baseclass="form" Timestamp="" Scale="Pixels" Uniqueid="" /> + + *-- OBJECTDATA items order determines ZOrder / El orden de los items OBJECTDATA determina el ZOrder + *< OBJECTDATA: ObjPath="Cmd_cauta1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="_gnom_responsabili" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="_gnom_responsabili.Column1.Header1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="_gnom_responsabili.Column1.Text1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="_gnom_responsabili.Column5.Header1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="_gnom_responsabili.Column5.Text1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="But_nou1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="lb_nom_responsabili" UniqueID="" Timestamp="" /> + + * + *m: log + * + + * + cgridsortlist = _gnom_responsabili + DoCreate = .T. + Height = 303 + lactiv3 = .T. + lactiv4 = .T. + Name = "frm_responsabili" + Width = 397 + _shape1.Height = 29 + _shape1.Left = 0 + _shape1.Name = "_shape1" + _shape1.Top = 0 + _shape1.Width = 504 + _shape2.Height = 29 + _shape2.Left = 336 + _shape2.Name = "_shape2" + _shape2.Top = 0 + _shape2.Width = 63 + Lb_titlu_alb_b121.Caption = "Responsabili" + Lb_titlu_alb_b121.Name = "Lb_titlu_alb_b121" + Lb_titlu_alb_b121.TabIndex = 8 + BUT_TERMIN1.Left = 367 + BUT_TERMIN1.Name = "BUT_TERMIN1" + BUT_TERMIN1.TabIndex = 4 + BUT_TERMIN1.Top = 1 + BUT_TERMIN1.Visible = .T. + GRIDSORT1.Name = "GRIDSORT1" + * + + ADD OBJECT '_gnom_responsabili' AS _grdrow WITH ; + ColumnCount = 2, ; + DeleteMark = .F., ; + Height = 203, ; + Left = 11, ; + Name = "_gnom_responsabili", ; + Panel = 1, ; + ReadOnly = .T., ; + RecordSource = "v_responsabili", ; + TabIndex = 3, ; + Top = 85, ; + Width = 373, ; + Column1.ColumnOrder = 2, ; + Column1.ControlSource = "nume", ; + Column1.Name = "Column1", ; + Column1.ReadOnly = .T., ; + Column1.Width = 305, ; + Column2.ColumnOrder = 1, ; + Column2.ControlSource = "id_responsabil", ; + Column2.Name = "Column5", ; + Column2.ReadOnly = .T., ; + Column2.Width = 31 + *< END OBJECT: ClassLib="_grd_base.vcx" BaseClass="grid" /> + + ADD OBJECT '_gnom_responsabili.Column1.Header1' AS header WITH ; + Alignment = 2, ; + Caption = "Responsabil", ; + Name = "Header1" + *< END OBJECT: BaseClass="header" /> + + ADD OBJECT '_gnom_responsabili.Column1.Text1' AS textbox WITH ; + BackColor = 255,255,255, ; + BorderStyle = 0, ; + ForeColor = 0,0,0, ; + Margin = 0, ; + Name = "Text1", ; + ReadOnly = .T. + *< END OBJECT: BaseClass="textbox" /> + + ADD OBJECT '_gnom_responsabili.Column5.Header1' AS header WITH ; + Alignment = 2, ; + Caption = "Id", ; + Name = "Header1" + *< END OBJECT: BaseClass="header" /> + + ADD OBJECT '_gnom_responsabili.Column5.Text1' AS textbox WITH ; + BackColor = 255,255,255, ; + BorderStyle = 0, ; + ForeColor = 0,0,0, ; + Margin = 0, ; + Name = "Text1", ; + ReadOnly = .T. + *< END OBJECT: BaseClass="textbox" /> + + ADD OBJECT 'But_nou1' AS but_nou WITH ; + Left = 336, ; + Name = "But_nou1", ; + TabIndex = 7, ; + Top = 1, ; + Visible = .T. + *< END OBJECT: ClassLib="cmd_butoane.vcx" BaseClass="commandbutton" /> + + ADD OBJECT 'Cmd_cauta1' AS cmd_cauta WITH ; + Left = 309, ; + Name = "Cmd_cauta1", ; + TabIndex = 2, ; + Top = 44 + *< END OBJECT: ClassLib="cmd_butoane.vcx" BaseClass="commandbutton" /> + + ADD OBJECT 'lb_nom_responsabili' AS clb_tx_simplu WITH ; + Left = 8, ; + Name = "lb_nom_responsabili", ; + TabIndex = 1, ; + Top = 44, ; + Text_simplu1.Name = "Text_simplu1", ; + Lb_simplu1.Caption = "Responsabil", ; + Lb_simplu1.Name = "Lb_simplu1" + *< END OBJECT: ClassLib="lb_tx.vcx" BaseClass="container" /> + + PROCEDURE actualizeaza_grid1 + LPARAMETERS pcFiltru + LOCAL lcFiltru + lcFiltru=pcFiltru + IF EMPTY(lcFiltru) + lcFiltru=poresponsabili.ca_baza1.cfiltru + ENDIF + save_grid_tag(thisform._gnom_responsabili) + poresponsabili.ca_baza1.cfiltru=lcFiltru + poresponsabili.ca_baza1.afisare() + restore_grid_tag(thisform._gnom_responsabili) + IF RECCOUNT('v_responsabili')>0 + thisform._gnom_responsabili.SetFocus() + ELSE + thisform.lb_nom_responsabili.SetFocus() + ENDIF + + ENDPROC + + PROCEDURE do_adauga + SELECT v_responsabili + SCATTER NAME loRec blank + DO Adauga_Modifica_Inregistrare WITH "responsabili",loRec,,"INSERT" + this.actualizeaza_grid1() + ENDPROC + + PROCEDURE do_cauta + Local lcFiltru + lcFiltru=[] + lcNume = STRTRAN(Upper(Alltrim(This.lb_nom_responsabili.text_simplu1.value)),['],['']) + If !Empty(lcNume) + lcFiltru=[nume like ']+lcNume+[%'] + ELSE + lcFiltru = [2=2] + Endif + This.MousePointer= 11 + This.LockScreen=.T. + Thisform.actualizeaza_grid1(lcFiltru) + IF RECCOUNT()=0 + aMESSAGEBOX("Cautarea nu a intors rezultate!",0+64,"Info cautare") + ENDIF + This.LockScreen=.F. + This.MousePointer= 0 + ENDPROC + + PROCEDURE do_modifica + *!* Select v_responsabili + *!* Scatter Name loRec + *!* Do Adauga_Modifica_Inregistrare With "responsabili",loRec,loRec.Id_responsabil,"UPDATE" + *!* thisform.actualizeaza_grid1() + ENDPROC + + PROCEDURE do_sterge + *!* SELECT v_responsabili + *!* SCATTER NAME lorec + *!* Do STERGE_INREGISTRARE With "responsabili",loRec.id_responsabil + + *!* this.actualizeaza_grid1() + + + ENDPROC + + PROCEDURE KeyPress + Lparameters nKeyCode, nShiftAltCtrl + lcActiveControl = UPPER(ALLTRIM(this.ActiveControl.name)) + + IF nKeyCode=13 AND lcActiveControl = '_GNOM_RESPONSABILI' + Nodefault + this.LB_nom_responsabili.SetFocus + ENDIF + + + DODEFAULT(nKeyCode, nShiftAltCtrl) + + + ENDPROC + + PROCEDURE log + LPARAMETERS tctabela,tnId + + lcId = ALLTRIM(STR(tnId)) + lctabela = UPPER(ALLTRIM(tctabela)) + PRIVATE polog,pcschema1,pcselect1 + STORE '' TO polog + pcschema1 = [''] + pcselect1=['select * from ] + gcS + [.vlog where '] + pcorder1=['dataora'] + pcfiltru1 = [tabel = '] + lctabela + [' and id_tabel = ] + lcId + gencursor('polog','v_log',pcselect1,pcfiltru1,pcschema1,pcorder1) + polog.ca_baza1.afisare() + ofrmlog=CREATEOBJECT('frm_log') + ofrmlog.show(1) + RELEASE polog + ENDPROC + + PROCEDURE Unload + IF USED('v_responsabili') + USE IN v_responsabili + ENDIF + ENDPROC + + PROCEDURE _gnom_responsabili.Column1.Text1.DblClick + thisform.log("NOM_RESPONSABILI",v_responsabili.id_responsabil) + ENDPROC + +ENDDEFINE + +DEFINE CLASS frm_responsabili_nou AS _frmbase OF "_frm_base.vcx" + *< CLASSDATA: Baseclass="form" Timestamp="" Scale="Pixels" Uniqueid="" /> + + *-- OBJECTDATA items order determines ZOrder / El orden de los items OBJECTDATA determina el ZOrder + *< OBJECTDATA: ObjPath="But_renunt1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="Clb_tx_simplu1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="Cus_odata_responsabili1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="img_zona" UniqueID="" Timestamp="" /> + + * + *m: do_alege_partener + *p: nid + *p: orec + * + + * + DoCreate = .T. + Height = 109 + Name = "frm_responsabili_nou" + Width = 375 + _shape1.Name = "_shape1" + _shape2.Height = 29 + _shape2.Left = 312 + _shape2.Name = "_shape2" + _shape2.Top = 0 + _shape2.Width = 62 + Lb_titlu_alb_b121.Caption = "Responsabili" + Lb_titlu_alb_b121.Name = "Lb_titlu_alb_b121" + Lb_titlu_alb_b121.TabIndex = 7 + BUT_TERMIN1.Name = "BUT_TERMIN1" + BUT_TERMIN1.TabIndex = 5 + Gridsort1.Name = "Gridsort1" + * + + ADD OBJECT 'But_renunt1' AS but_renunt WITH ; + Left = 312, ; + Name = "But_renunt1", ; + TabIndex = 6, ; + Top = 1 + *< END OBJECT: ClassLib="cmd_butoane.vcx" BaseClass="commandbutton" /> + + ADD OBJECT 'Clb_tx_simplu1' AS clb_tx_simplu WITH ; + Left = 31, ; + Name = "Clb_tx_simplu1", ; + TabIndex = 1, ; + Top = 44, ; + Text_simplu1.ControlSource = "porec.nume", ; + Text_simplu1.Format = "!K", ; + Text_simplu1.InputMask = "", ; + Text_simplu1.Name = "Text_simplu1", ; + Text_simplu1.ReadOnly = .T., ; + Text_simplu1.Value = , ; + Lb_simplu1.Caption = "Responsabil", ; + Lb_simplu1.Name = "Lb_simplu1" + *< END OBJECT: ClassLib="lb_tx.vcx" BaseClass="container" /> + + ADD OBJECT 'Cus_odata_responsabili1' AS cus_odata_responsabili WITH ; + Left = 192, ; + Name = "Cus_odata_responsabili1", ; + Top = 84 + *< END OBJECT: ClassLib="onomenclatoare.vcx" BaseClass="custom" /> + + ADD OBJECT 'img_zona' AS _image WITH ; + Height = 24, ; + Left = 333, ; + Name = "img_zona", ; + Picture = ..\..\..\roaoferta\comun\grafice\alege.bmp, ; + Stretch = 2, ; + ToolTipText = "Alegeti agentul", ; + Top = 47, ; + Visible = .T., ; + Width = 24 + *< END OBJECT: ClassLib="..\..\..\roaoferta\comun\clase\_baza.vcx" BaseClass="image" /> + + PROCEDURE do_alege_partener + Local lnId,lcNume + lnId=poRec.id_responsabil + lcNume=poRec.nume + If caut_partener_dupa_tip(gnIdTipSalariati,[Adauga responsabil],@lnId,@lcNume,Alltrim(Str(gnIdTipResponsabili))) + poRec.id_responsabil=lnId + poRec.nume=lcNume + Thisform.clb_tx_simplu1.text_simplu1.Refresh() + Endif + + ENDPROC + + PROCEDURE inainte_de_do_termin + Local PLRETURN + + lccontrol = Upper(This.ActiveControl.BaseClass ) + If Inlist(lccontrol,"TEXTBOX","EDITBOX","COMBOBOX") + lcval=This.ActiveControl.ControlSource + &lcval=Thisform.ActiveControl.Value + Endif + + If Empty(porec.id_responsabil) + AMESSAGEBOX("Nu ati ales un responsabil!",0+48,"Atentie") + PLRETURN=.F. + Else + PLRETURN=This.cus_odata_responsabili1.salvare(This.OREC,This.NID) + Endif + + Return PLRETURN + + ENDPROC + + PROCEDURE Init + LPARAMETERS toRec, tnId, tcActiune + + DODEFAULT() + + this.orec= toRec + this.nid = tnId + this.cus_odata_RESPONSABILI1.cactiune = tcActiune + ENDPROC + + PROCEDURE Clb_tx_simplu1.Text_simplu1.DblClick + Thisform.do_alege_partener() + ENDPROC + + PROCEDURE Clb_tx_simplu1.Text_simplu1.KeyPress + LPARAMETERS nKeyCode, nShiftAltCtrl + If Empty(poRec.id_responsabil) And Empty(poRec.nume) ; + AND Inlist(nKeyCode,9,13) And nShiftAltCtrl=0 + Thisform.do_alege_partener() + Else + DoDefault() + Endif + ENDPROC + + PROCEDURE img_zona.Click + Thisform.do_alege_partener() + + ENDPROC + +ENDDEFINE + +DEFINE CLASS frm_sectii AS _frmbase OF "_frm_base.vcx" + *< CLASSDATA: Baseclass="form" Timestamp="" Scale="Pixels" Uniqueid="" /> + + *-- OBJECTDATA items order determines ZOrder / El orden de los items OBJECTDATA determina el ZOrder + *< OBJECTDATA: ObjPath="Cmd_cauta1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="_gnom_sectii" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="_gnom_sectii.Column1.Header1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="_gnom_sectii.Column1.Text1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="_gnom_sectii.Column2.Header1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="_gnom_sectii.Column2.Check1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="_gnom_sectii.Column3.Header1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="_gnom_sectii.Column3.Text1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="_gnom_sectii.Column4.Header1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="_gnom_sectii.Column4.Text1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="_gnom_sectii.cSucursala.Header1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="_gnom_sectii.cSucursala.Text1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="But_nou1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="But_sterge1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="But_modifica1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="lb_nom_sectii" UniqueID="" Timestamp="" /> + + * + *m: log + * + + * + cgridsortlist = _gnom_sectii + DoCreate = .T. + Height = 303 + lactiv3 = .T. + lactiv4 = .T. + Name = "frm_sectii" + Width = 388 + _shape1.Height = 29 + _shape1.Left = 0 + _shape1.Name = "_shape1" + _shape1.Top = 0 + _shape1.Width = 385 + _shape2.Height = 29 + _shape2.Left = 264 + _shape2.Name = "_shape2" + _shape2.Top = 0 + _shape2.Width = 125 + Lb_titlu_alb_b121.Caption = "Sectii" + Lb_titlu_alb_b121.Name = "Lb_titlu_alb_b121" + Lb_titlu_alb_b121.TabIndex = 8 + BUT_TERMIN1.Height = 27 + BUT_TERMIN1.Left = 355 + BUT_TERMIN1.Name = "BUT_TERMIN1" + BUT_TERMIN1.TabIndex = 4 + BUT_TERMIN1.Top = 1 + BUT_TERMIN1.Visible = .T. + BUT_TERMIN1.Width = 30 + GRIDSORT1.Name = "GRIDSORT1" + * + + ADD OBJECT '_gnom_sectii' AS _grdrow WITH ; + ColumnCount = 5, ; + DeleteMark = .F., ; + Height = 218, ; + Left = 8, ; + Name = "_gnom_sectii", ; + Panel = 1, ; + ReadOnly = .T., ; + RecordSource = "v_sectii", ; + ScrollBars = 3, ; + TabIndex = 3, ; + Top = 81, ; + Width = 374, ; + Column1.ColumnOrder = 2, ; + Column1.ControlSource = "sectie", ; + Column1.Name = "Column1", ; + Column1.ReadOnly = .T., ; + Column1.Width = 213, ; + Column2.ColumnOrder = 4, ; + Column2.ControlSource = "inactiv", ; + Column2.Name = "Column2", ; + Column2.ReadOnly = .T., ; + Column2.Sparse = .F., ; + Column2.Width = 58, ; + Column3.ColumnOrder = 1, ; + Column3.ControlSource = "id_sectie", ; + Column3.Name = "Column3", ; + Column3.ReadOnly = .T., ; + Column3.Width = 24, ; + Column4.ColumnOrder = 3, ; + Column4.ControlSource = "csectie", ; + Column4.Name = "Column4", ; + Column4.ReadOnly = .T., ; + Column4.Width = 46, ; + Column5.ControlSource = "sucursala", ; + Column5.Name = "cSucursala", ; + Column5.ReadOnly = .T. + *< END OBJECT: ClassLib="_grd_base.vcx" BaseClass="grid" /> + + ADD OBJECT '_gnom_sectii.Column1.Header1' AS header WITH ; + Alignment = 2, ; + Caption = "Sectie", ; + Name = "Header1" + *< END OBJECT: BaseClass="header" /> + + ADD OBJECT '_gnom_sectii.Column1.Text1' AS textbox WITH ; + BackColor = 255,255,255, ; + BorderStyle = 0, ; + ForeColor = 0,0,0, ; + Margin = 0, ; + Name = "Text1", ; + ReadOnly = .T. + *< END OBJECT: BaseClass="textbox" /> + + ADD OBJECT '_gnom_sectii.Column2.Check1' AS checkbox WITH ; + Alignment = 0, ; + Caption = "", ; + Centered = .T., ; + Height = 17, ; + Left = 21, ; + Name = "Check1", ; + ReadOnly = .T., ; + Top = 26, ; + Width = 60 + *< END OBJECT: BaseClass="checkbox" /> + + ADD OBJECT '_gnom_sectii.Column2.Header1' AS header WITH ; + Alignment = 2, ; + Caption = "Inactiv", ; + Name = "Header1" + *< END OBJECT: BaseClass="header" /> + + ADD OBJECT '_gnom_sectii.Column3.Header1' AS header WITH ; + Alignment = 2, ; + Caption = "Id", ; + Name = "Header1" + *< END OBJECT: BaseClass="header" /> + + ADD OBJECT '_gnom_sectii.Column3.Text1' AS textbox WITH ; + BackColor = 255,255,255, ; + BorderStyle = 0, ; + ForeColor = 0,0,0, ; + Margin = 0, ; + Name = "Text1", ; + ReadOnly = .T. + *< END OBJECT: BaseClass="textbox" /> + + ADD OBJECT '_gnom_sectii.Column4.Header1' AS header WITH ; + Alignment = 2, ; + Caption = "Csectie", ; + Name = "Header1" + *< END OBJECT: BaseClass="header" /> + + ADD OBJECT '_gnom_sectii.Column4.Text1' AS textbox WITH ; + BackColor = 255,255,255, ; + BorderStyle = 0, ; + ForeColor = 0,0,0, ; + Margin = 0, ; + Name = "Text1" + *< END OBJECT: BaseClass="textbox" /> + + ADD OBJECT '_gnom_sectii.cSucursala.Header1' AS header WITH ; + Alignment = 2, ; + Caption = "Sucursala", ; + Name = "Header1" + *< END OBJECT: BaseClass="header" /> + + ADD OBJECT '_gnom_sectii.cSucursala.Text1' AS textbox WITH ; + BackColor = 255,255,255, ; + BorderStyle = 0, ; + ForeColor = 0,0,0, ; + Margin = 0, ; + Name = "Text1" + *< END OBJECT: BaseClass="textbox" /> + + ADD OBJECT 'But_modifica1' AS but_modifica WITH ; + Height = 27, ; + Left = 298, ; + Name = "But_modifica1", ; + TabIndex = 6, ; + Top = 1, ; + Visible = .T., ; + Width = 30 + *< END OBJECT: ClassLib="cmd_butoane.vcx" BaseClass="commandbutton" /> + + ADD OBJECT 'But_nou1' AS but_nou WITH ; + Height = 27, ; + Left = 268, ; + Name = "But_nou1", ; + TabIndex = 7, ; + Top = 1, ; + Visible = .T., ; + Width = 30 + *< END OBJECT: ClassLib="cmd_butoane.vcx" BaseClass="commandbutton" /> + + ADD OBJECT 'But_sterge1' AS but_sterge WITH ; + Height = 27, ; + Left = 326, ; + Name = "But_sterge1", ; + TabIndex = 5, ; + Top = 1, ; + Visible = .T., ; + Width = 30 + *< END OBJECT: ClassLib="cmd_butoane.vcx" BaseClass="commandbutton" /> + + ADD OBJECT 'Cmd_cauta1' AS cmd_cauta WITH ; + Left = 300, ; + Name = "Cmd_cauta1", ; + TabIndex = 2, ; + Top = 44 + *< END OBJECT: ClassLib="cmd_butoane.vcx" BaseClass="commandbutton" /> + + ADD OBJECT 'lb_nom_sectii' AS clb_tx_simplu WITH ; + Left = 9, ; + Name = "lb_nom_sectii", ; + TabIndex = 1, ; + Top = 44, ; + Text_simplu1.Name = "Text_simplu1", ; + Lb_simplu1.Caption = "Sectia", ; + Lb_simplu1.Name = "Lb_simplu1" + *< END OBJECT: ClassLib="lb_tx.vcx" BaseClass="container" /> + + PROCEDURE actualizeaza_grid1 + LPARAMETERS pcFiltru + LOCAL lcFiltru + lcFiltru=pcFiltru + IF EMPTY(lcFiltru) + lcFiltru=posectii.ca_baza1.cfiltru + ENDIF + save_grid_tag(thisform._gnom_sectii) + posectii.ca_baza1.cfiltru=lcFiltru + posectii.ca_baza1.afisare() + restore_grid_tag(thisform._gnom_sectii) + IF RECCOUNT('v_sectii')>0 + thisform._gnom_sectii.SetFocus() + ELSE + thisform.lb_nom_sectii.SetFocus() + ENDIF + + ENDPROC + + PROCEDURE do_adauga + SELECT v_sectii + SCATTER NAME loRec blank + DO Adauga_Modifica_Inregistrare WITH "sectii",loRec,,"INSERT" + this.actualizeaza_grid1() + ENDPROC + + PROCEDURE do_cauta + Local lcFiltru + lcFiltru=[] + lcNume = STRTRAN(Upper(Alltrim(This.lb_nom_sectii.text_simplu1.value)),['],['']) + If !Empty(lcNume) + lcFiltru=[sectie like ']+lcNume+[%']+gcCondSucursala + ELSE + lcFiltru = [2=2]+gcCondSucursala + Endif + This.MousePointer= 11 + This.LockScreen=.T. + Thisform.actualizeaza_grid1(lcFiltru) + IF RECCOUNT()=0 + aMESSAGEBOX("Cautarea nu a intors rezultate!",0+64,"Info cautare") + ENDIF + This.LockScreen=.F. + This.MousePointer= 0 + ENDPROC + + PROCEDURE do_modifica + If Reccount('v_sectii')>0 + Select v_sectii + Scatter Name loRec + pcsectie = loRec.sectie + Do Adauga_Modifica_Inregistrare With "sectii",loRec,loRec.Id_sectie,"UPDATE" + Thisform.actualizeaza_grid1() + Else + amessagebox("Nu exista inregistrari pentru modificare!",48,"Atentie") + Endif + + ENDPROC + + PROCEDURE do_sterge + If Reccount('v_sectii')>0 + Select v_sectii + Scatter Name lorec + Do STERGE_INREGISTRARE With "sectii",lorec.id_sectie + + This.actualizeaza_grid1() + Else + amessagebox("Nu exista inregistrari pentru stergere!",48,"Atentie") + Endif + + ENDPROC + + PROCEDURE Init + DoDefault() + If (!glEMama AND ISNULL(gnIdSucursala)) Or !Isnull(gnIdSucursala) + Thisform._gnom_sectii.RemoveObject('cSucursala') + Endif + + ENDPROC + + PROCEDURE KeyPress + Lparameters nKeyCode, nShiftAltCtrl + lcActiveControl = UPPER(ALLTRIM(this.ActiveControl.name)) + + IF nKeyCode=13 AND lcActiveControl = '_GNOM_SECTII' + Nodefault + this.LB_nom_sectii.SetFocus + ENDIF + + + DODEFAULT(nKeyCode, nShiftAltCtrl) + + + ENDPROC + + PROCEDURE log + LPARAMETERS tctabela,tnId + + lcId = ALLTRIM(STR(tnId)) + lctabela = UPPER(ALLTRIM(tctabela)) + PRIVATE polog,pcschema1,pcselect1 + STORE '' TO polog + pcschema1 = [''] + pcselect1=['select * from ] + gcS + [.vlog where '] + pcorder1=['dataora'] + pcfiltru1 = [tabel = '] + lctabela + [' and id_tabel = ] + lcId + gencursor('polog','v_log',pcselect1,pcfiltru1,pcschema1,pcorder1) + polog.ca_baza1.afisare() + ofrmlog=CREATEOBJECT('frm_log') + ofrmlog.show(1) + RELEASE polog + ENDPROC + + PROCEDURE Unload + IF USED('v_sectii') + USE IN v_sectii + ENDIF + ENDPROC + + PROCEDURE _gnom_sectii.Column1.Text1.DblClick + thisform.log("NOM_SECTII",v_sectii.id_sectie) + ENDPROC + +ENDDEFINE + +DEFINE CLASS frm_sectii_nou AS _frmbase OF "_frm_base.vcx" + *< CLASSDATA: Baseclass="form" Timestamp="" Scale="Pixels" Uniqueid="" /> + + *-- OBJECTDATA items order determines ZOrder / El orden de los items OBJECTDATA determina el ZOrder + *< OBJECTDATA: ObjPath="But_renunt1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="Cus_odata_sectii1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="Clb_tx_simplu1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="_checkbox1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="Clb_tx_simplu3" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="Ct_clb_sucursala" UniqueID="" Timestamp="" /> + + * + *m: do_cauta_sucursala + *p: nid + *p: orec + * + + * + DoCreate = .T. + Height = 164 + Name = "frm_sectii_nou" + Width = 374 + _shape1.Name = "_shape1" + _shape2.Height = 29 + _shape2.Left = 312 + _shape2.Name = "_shape2" + _shape2.Top = 0 + _shape2.Width = 62 + Lb_titlu_alb_b121.Caption = "Sectia" + Lb_titlu_alb_b121.Name = "Lb_titlu_alb_b121" + Lb_titlu_alb_b121.TabIndex = 7 + BUT_TERMIN1.Name = "BUT_TERMIN1" + BUT_TERMIN1.TabIndex = 5 + Gridsort1.Name = "Gridsort1" + * + + ADD OBJECT '_checkbox1' AS _checkbox WITH ; + Alignment = 0, ; + Anchor = 4, ; + Caption = "Inactiv", ; + ControlSource = "porec.inactiv", ; + Left = 31, ; + Name = "_checkbox1", ; + TabIndex = 4, ; + TabStop = .F., ; + Top = 137 + *< END OBJECT: ClassLib="_baza.vcx" BaseClass="checkbox" /> + + ADD OBJECT 'But_renunt1' AS but_renunt WITH ; + Left = 312, ; + Name = "But_renunt1", ; + TabIndex = 6, ; + Top = 1 + *< END OBJECT: ClassLib="cmd_butoane.vcx" BaseClass="commandbutton" /> + + ADD OBJECT 'Clb_tx_simplu1' AS clb_tx_simplu WITH ; + Left = 20, ; + Name = "Clb_tx_simplu1", ; + TabIndex = 1, ; + Top = 44, ; + Text_simplu1.ControlSource = "porec.sectie", ; + Text_simplu1.Format = "!K", ; + Text_simplu1.Name = "Text_simplu1", ; + Lb_simplu1.Caption = "Sectia", ; + Lb_simplu1.Name = "Lb_simplu1" + *< END OBJECT: ClassLib="lb_tx.vcx" BaseClass="container" /> + + ADD OBJECT 'Clb_tx_simplu3' AS clb_tx_simplu WITH ; + Left = 20, ; + Name = "Clb_tx_simplu3", ; + TabIndex = 2, ; + Top = 72, ; + Text_simplu1.ControlSource = "porec.csectie", ; + Text_simplu1.Format = "!K", ; + Text_simplu1.Name = "Text_simplu1", ; + Lb_simplu1.Caption = "Csectie", ; + Lb_simplu1.Name = "Lb_simplu1" + *< END OBJECT: ClassLib="lb_tx.vcx" BaseClass="container" /> + + ADD OBJECT 'Ct_clb_sucursala' AS ct_clb_cautare_var WITH ; + cconditie = EMPTY(NVL(poRec.id_sucursala,0)), ; + cprocedura = thisform.do_cauta_sucursala, ; + cvar_afisata = poRec.sucursala, ; + Left = 19, ; + Name = "Ct_clb_sucursala", ; + TabIndex = 3, ; + Top = 99, ; + shape_cautare.Name = "shape_cautare", ; + IMG_CAUTARE.Name = "IMG_CAUTARE", ; + lb_cautare.Caption = "Sucursala", ; + lb_cautare.Left = 10, ; + lb_cautare.Name = "lb_cautare", ; + lb_cautare.Top = 8, ; + tx_cautare.Name = "tx_cautare" + *< END OBJECT: ClassLib="caut_ora.vcx" BaseClass="container" /> + + ADD OBJECT 'Cus_odata_sectii1' AS cus_odata_sectii WITH ; + Left = 336, ; + Name = "Cus_odata_sectii1", ; + Top = 48 + *< END OBJECT: ClassLib="onomenclatoare.vcx" BaseClass="custom" /> + + PROCEDURE do_cauta_sucursala + Local loCauta + loCauta = caut_sucursala() + If !Isnull(loCauta) + poRec.id_sucursala = loCauta.id_sucursala + poRec.sucursala = loCauta.sucursala + Thisform._checkbox1.SetFocus() + Else + poRec.id_sucursala = Null + poRec.sucursala = [] + Endif + ENDPROC + + PROCEDURE inainte_de_do_termin + LOCAL PLRETURN + + Do Case + Case Empty(porec.sectie) + amessagebox('Nu ati completat sectia!',0+48,"Atentie") + This.clb_tx_simplu1.SetFocus() + plreturn=.F. + CASE glEMama AND EMPTY(NVL(poRec.id_sucursala,0)) + amessagebox("Nu ati ales sucursala!",48,"Atentie") + thisform.ct_clb_sucursala.SetFocus() + plReturn = .F. + OTHERWISE + *!* If Alltrim(Upper(This.cus_odata_sectii1.cactiune))="INSERT" Or (Alltrim(Upper(This.cus_odata_sectii1.cactiune))="UPDATE" And porec.sectie!=pcsectie) + *!* pcexec=[select * from ]+gcS+[.vnom_sectii where TRIM(sectie)=']+Alltrim(porec.sectie)+['] + *!* Do While .T. + *!* pnSucces = SQLEXEC(GNHANDLE,pcexec,'exista_sectie') + *!* If pnSucces = 0 + *!* * instructiunea in curs de executie + *!* Else + *!* Exit + *!* Endif + *!* Enddo + *!* If Reccount('exista_sectie')>0 + *!* amessagebox('Mai exista o sectie cu acest nume!',0+48,"Atentie") + *!* Thisform.clb_tx_simplu1.SetFocus() + *!* Use In exista_sectie + *!* plreturn=.F. + *!* ELSE + *!* PLRETURN=This.cus_odata_sectii1.salvare(This.OREC,This.NID) + *!* ENDIF + *!* ELSE + PLRETURN=This.cus_odata_sectii1.salvare(This.OREC,This.NID) + *!* ENDIF + ENDCASE + + Return PLRETURN + + ENDPROC + + PROCEDURE Init + Lparameters toRec, tnId, tcActiune + + DoDefault() + + This.orec= toRec + This.nid = tnId + This.cus_odata_sectii1.cactiune = tcActiune + + If (!glEMama And Isnull(gnIdSucursala)) Or !Isnull(gnIdSucursala) + Thisform.RemoveObject('ct_clb_sucursala') + Thisform.Height = 135 + poRec.id_sucursala = gnIdSucursala + Else + poRec.id_sucursala = Null + Endif + ENDPROC + +ENDDEFINE + +DEFINE CLASS frm_sucursale AS _frmbase OF "_frm_base.vcx" + *< CLASSDATA: Baseclass="form" Timestamp="" Scale="Pixels" Uniqueid="" /> + + *-- OBJECTDATA items order determines ZOrder / El orden de los items OBJECTDATA determina el ZOrder + *< OBJECTDATA: ObjPath="Cmd_cauta1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="_gnom_sucursale" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="_gnom_sucursale.Column1.Header1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="_gnom_sucursale.Column1.Text1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="_gnom_sucursale.Column2.Header1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="_gnom_sucursale.Column2.Check1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="_gnom_sucursale.Column3.Header1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="_gnom_sucursale.Column3.Text1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="But_nou1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="But_sterge1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="But_modifica1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="lb_nom_sucursale" UniqueID="" Timestamp="" /> + + * + *m: log + * + + * + cgridsortlist = _gnom_sucursale + DoCreate = .T. + Height = 303 + lactiv3 = .T. + lactiv4 = .T. + Name = "frm_sucursale" + Width = 388 + _shape1.Height = 29 + _shape1.Left = 0 + _shape1.Name = "_shape1" + _shape1.Top = 0 + _shape1.Width = 385 + _shape2.Height = 29 + _shape2.Left = 264 + _shape2.Name = "_shape2" + _shape2.Top = 0 + _shape2.Width = 125 + Lb_titlu_alb_b121.Caption = "Sucursale" + Lb_titlu_alb_b121.Name = "Lb_titlu_alb_b121" + Lb_titlu_alb_b121.TabIndex = 8 + BUT_TERMIN1.Height = 27 + BUT_TERMIN1.Left = 355 + BUT_TERMIN1.Name = "BUT_TERMIN1" + BUT_TERMIN1.TabIndex = 4 + BUT_TERMIN1.Top = 1 + BUT_TERMIN1.Visible = .T. + BUT_TERMIN1.Width = 30 + GRIDSORT1.Name = "GRIDSORT1" + * + + ADD OBJECT '_gnom_sucursale' AS _grdrow WITH ; + ColumnCount = 3, ; + DeleteMark = .F., ; + Height = 218, ; + Left = 8, ; + Name = "_gnom_sucursale", ; + Panel = 1, ; + ReadOnly = .T., ; + RecordSource = "v_sucursale", ; + ScrollBars = 3, ; + TabIndex = 3, ; + Top = 81, ; + Width = 374, ; + Column1.ColumnOrder = 2, ; + Column1.ControlSource = "sucursala", ; + Column1.Name = "Column1", ; + Column1.ReadOnly = .T., ; + Column1.Width = 245, ; + Column2.ColumnOrder = 3, ; + Column2.ControlSource = "inactiv", ; + Column2.Name = "Column2", ; + Column2.ReadOnly = .T., ; + Column2.Sparse = .F., ; + Column2.Width = 58, ; + Column3.ColumnOrder = 1, ; + Column3.ControlSource = "id_sucursala", ; + Column3.Name = "Column3", ; + Column3.ReadOnly = .T., ; + Column3.Width = 39 + *< END OBJECT: ClassLib="_grd_base.vcx" BaseClass="grid" /> + + ADD OBJECT '_gnom_sucursale.Column1.Header1' AS header WITH ; + Alignment = 2, ; + Caption = "Sucursala", ; + Name = "Header1" + *< END OBJECT: BaseClass="header" /> + + ADD OBJECT '_gnom_sucursale.Column1.Text1' AS textbox WITH ; + BackColor = 255,255,255, ; + BorderStyle = 0, ; + ForeColor = 0,0,0, ; + Margin = 0, ; + Name = "Text1", ; + ReadOnly = .T. + *< END OBJECT: BaseClass="textbox" /> + + ADD OBJECT '_gnom_sucursale.Column2.Check1' AS checkbox WITH ; + Alignment = 0, ; + Caption = "", ; + Centered = .T., ; + Height = 17, ; + Left = 21, ; + Name = "Check1", ; + ReadOnly = .T., ; + Top = 26, ; + Width = 60 + *< END OBJECT: BaseClass="checkbox" /> + + ADD OBJECT '_gnom_sucursale.Column2.Header1' AS header WITH ; + Alignment = 2, ; + Caption = "Inactiv", ; + Name = "Header1" + *< END OBJECT: BaseClass="header" /> + + ADD OBJECT '_gnom_sucursale.Column3.Header1' AS header WITH ; + Alignment = 2, ; + Caption = "Id", ; + Name = "Header1" + *< END OBJECT: BaseClass="header" /> + + ADD OBJECT '_gnom_sucursale.Column3.Text1' AS textbox WITH ; + BackColor = 255,255,255, ; + BorderStyle = 0, ; + ForeColor = 0,0,0, ; + Margin = 0, ; + Name = "Text1", ; + ReadOnly = .T. + *< END OBJECT: BaseClass="textbox" /> + + ADD OBJECT 'But_modifica1' AS but_modifica WITH ; + Height = 27, ; + Left = 298, ; + Name = "But_modifica1", ; + TabIndex = 6, ; + Top = 1, ; + Visible = .T., ; + Width = 30 + *< END OBJECT: ClassLib="cmd_butoane.vcx" BaseClass="commandbutton" /> + + ADD OBJECT 'But_nou1' AS but_nou WITH ; + Height = 27, ; + Left = 268, ; + Name = "But_nou1", ; + TabIndex = 7, ; + Top = 1, ; + Visible = .T., ; + Width = 30 + *< END OBJECT: ClassLib="cmd_butoane.vcx" BaseClass="commandbutton" /> + + ADD OBJECT 'But_sterge1' AS but_sterge WITH ; + Height = 27, ; + Left = 326, ; + Name = "But_sterge1", ; + TabIndex = 5, ; + Top = 1, ; + Visible = .T., ; + Width = 30 + *< END OBJECT: ClassLib="cmd_butoane.vcx" BaseClass="commandbutton" /> + + ADD OBJECT 'Cmd_cauta1' AS cmd_cauta WITH ; + Left = 300, ; + Name = "Cmd_cauta1", ; + TabIndex = 2, ; + Top = 44 + *< END OBJECT: ClassLib="cmd_butoane.vcx" BaseClass="commandbutton" /> + + ADD OBJECT 'lb_nom_sucursale' AS clb_tx_simplu WITH ; + Left = 9, ; + Name = "lb_nom_sucursale", ; + TabIndex = 1, ; + Top = 44, ; + Text_simplu1.Name = "Text_simplu1", ; + Lb_simplu1.Caption = "Sucursala", ; + Lb_simplu1.Name = "Lb_simplu1" + *< END OBJECT: ClassLib="lb_tx.vcx" BaseClass="container" /> + + PROCEDURE actualizeaza_grid1 + LPARAMETERS pcFiltru + LOCAL lcFiltru + lcFiltru=pcFiltru + IF EMPTY(lcFiltru) + lcFiltru=posucursale.ca_baza1.cfiltru + ENDIF + save_grid_tag(thisform._gnom_sucursale) + posucursale.ca_baza1.cfiltru=lcFiltru + posucursale.ca_baza1.afisare() + restore_grid_tag(thisform._gnom_sucursale) + IF RECCOUNT('v_sucursale')>0 + thisform._gnom_sucursale.SetFocus() + ELSE + thisform.lb_nom_sucursale.SetFocus() + ENDIF + + ENDPROC + + PROCEDURE do_adauga + SELECT v_sucursale + SCATTER NAME loRec blank + DO Adauga_Modifica_Inregistrare WITH "sucursale",loRec,,"INSERT" + this.actualizeaza_grid1() + ENDPROC + + PROCEDURE do_cauta + Local lcFiltru + lcFiltru=[] + lcNume = STRTRAN(Upper(Alltrim(This.lb_nom_sucursale.text_simplu1.value)),['],['']) + If !Empty(lcNume) + lcFiltru=[sucursala like ']+lcNume+[%'] + ELSE + lcFiltru = [2=2] + Endif + This.MousePointer= 11 + This.LockScreen=.T. + Thisform.actualizeaza_grid1(lcFiltru) + IF RECCOUNT()=0 + aMESSAGEBOX("Cautarea nu a intors rezultate!",0+64,"Info cautare") + ENDIF + This.LockScreen=.F. + This.MousePointer= 0 + ENDPROC + + PROCEDURE do_modifica + If Reccount('v_sucursale')>0 + Select v_sucursale + Scatter Name loRec + pcsucursala = loRec.sucursala + Do Adauga_Modifica_Inregistrare With "sucursale",loRec,loRec.Id_sucursala,"UPDATE" + Thisform.actualizeaza_grid1() + Else + amessagebox("Nu exista inregistrari pentru modificare!",48,"Atentie") + Endif + + ENDPROC + + PROCEDURE do_sterge + If Reccount('v_sucursale')>0 + Select v_sucursale + Scatter Name lorec + Do STERGE_INREGISTRARE With "sucursale",lorec.id_sucursala + This.actualizeaza_grid1() + Else + amessagebox("Nu exista inregistrari pentru stergere!",48,"Atentie") + Endif + + + ENDPROC + + PROCEDURE KeyPress + Lparameters nKeyCode, nShiftAltCtrl + lcActiveControl = UPPER(ALLTRIM(this.ActiveControl.name)) + + IF nKeyCode=13 AND lcActiveControl = '_GNOM_SUCURSALE' + Nodefault + this.LB_nom_sucursale.SetFocus + ENDIF + + + DODEFAULT(nKeyCode, nShiftAltCtrl) + + + ENDPROC + + PROCEDURE log + LPARAMETERS tctabela,tnId + + lcId = ALLTRIM(STR(tnId)) + lctabela = UPPER(ALLTRIM(tctabela)) + PRIVATE polog,pcschema1,pcselect1 + STORE '' TO polog + pcschema1 = [''] + pcselect1=['select * from ] + gcS + [.vlog where '] + pcorder1=['dataora'] + pcfiltru1 = [tabel = '] + lctabela + [' and id_tabel = ] + lcId + gencursor('polog','v_log',pcselect1,pcfiltru1,pcschema1,pcorder1) + polog.ca_baza1.afisare() + ofrmlog=CREATEOBJECT('frm_log') + ofrmlog.show(1) + RELEASE polog + ENDPROC + + PROCEDURE Unload + IF USED('v_sucursale') + USE IN v_sucursale + ENDIF + ENDPROC + + PROCEDURE _gnom_sucursale.Column1.Text1.DblClick + thisform.log("NOM_sucursale",v_sucursale.id_sucursala) + ENDPROC + +ENDDEFINE + +DEFINE CLASS frm_sucursale_nou AS _frmbase OF "_frm_base.vcx" + *< CLASSDATA: Baseclass="form" Timestamp="" Scale="Pixels" Uniqueid="" /> + + *-- OBJECTDATA items order determines ZOrder / El orden de los items OBJECTDATA determina el ZOrder + *< OBJECTDATA: ObjPath="But_renunt1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="Clb_tx_simplu1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="Cus_odata_sucursale1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="_checkbox1" UniqueID="" Timestamp="" /> + + * + *p: nid + *p: orec + * + + * + DoCreate = .T. + Height = 107 + Name = "frm_sucursale_nou" + Width = 374 + _shape1.Name = "_shape1" + _shape1.ZOrderSet = 1 + _shape2.Height = 29 + _shape2.Left = 312 + _shape2.Name = "_shape2" + _shape2.Top = 0 + _shape2.Width = 62 + _shape2.ZOrderSet = 2 + Lb_titlu_alb_b121.Caption = "Sucursala" + Lb_titlu_alb_b121.Name = "Lb_titlu_alb_b121" + Lb_titlu_alb_b121.TabIndex = 5 + Lb_titlu_alb_b121.ZOrderSet = 3 + BUT_TERMIN1.Name = "BUT_TERMIN1" + BUT_TERMIN1.TabIndex = 2 + BUT_TERMIN1.ZOrderSet = 4 + Gridsort1.Name = "Gridsort1" + * + + ADD OBJECT '_checkbox1' AS _checkbox WITH ; + Alignment = 0, ; + Caption = "Inactiv", ; + ControlSource = "porec.inactiv", ; + Left = 31, ; + Name = "_checkbox1", ; + TabIndex = 4, ; + TabStop = .F., ; + Top = 82, ; + ZOrderSet = 7 + *< END OBJECT: ClassLib="_baza.vcx" BaseClass="checkbox" /> + + ADD OBJECT 'But_renunt1' AS but_renunt WITH ; + Left = 312, ; + Name = "But_renunt1", ; + TabIndex = 3, ; + Top = 1, ; + ZOrderSet = 5 + *< END OBJECT: ClassLib="cmd_butoane.vcx" BaseClass="commandbutton" /> + + ADD OBJECT 'Clb_tx_simplu1' AS clb_tx_simplu WITH ; + Left = 31, ; + Name = "Clb_tx_simplu1", ; + TabIndex = 1, ; + Top = 44, ; + ZOrderSet = 6, ; + Text_simplu1.ControlSource = "porec.sucursala", ; + Text_simplu1.Format = "!K", ; + Text_simplu1.Name = "Text_simplu1", ; + Lb_simplu1.Caption = "Sucursala", ; + Lb_simplu1.Name = "Lb_simplu1" + *< END OBJECT: ClassLib="lb_tx.vcx" BaseClass="container" /> + + ADD OBJECT 'Cus_odata_sucursale1' AS cus_odata_sucursale WITH ; + Left = 350, ; + Name = "Cus_odata_sucursale1", ; + Top = 53 + *< END OBJECT: ClassLib="onomenclatoare.vcx" BaseClass="custom" /> + + PROCEDURE inainte_de_do_termin + LOCAL PLRETURN + + Do Case + Case Empty(porec.sucursala) + amessagebox('Nu ati completat sucursala!',0+48,"Atentie") + This.clb_tx_simplu1.SetFocus() + plreturn=.F. + OTHERWISE + If Alltrim(Upper(This.cus_odata_sucursale1.cactiune))="INSERT" Or (Alltrim(Upper(This.cus_odata_sucursale1.cactiune))="UPDATE" And porec.sucursala!=pcsucursala) + pcexec=[select * from ]+gcS+[.vnom_sucursale where TRIM(sucursala)=']+Alltrim(porec.sucursala)+['] + Do While .T. + pnSucces = SQLEXEC(GNHANDLE,pcexec,'exista_sucursala') + If pnSucces = 0 + * instructiunea in curs de executie + Else + Exit + Endif + Enddo + If Reccount('exista_sucursala')>0 + amessagebox('Mai exista aceasta sucursala inregistrata!',0+48,"Atentie") + Thisform.clb_tx_simplu1.SetFocus() + Use In exista_sucursala + plreturn=.F. + ELSE + PLRETURN=This.cus_odata_sucursale1.salvare(This.OREC,This.NID) + ENDIF + ELSE + PLRETURN=This.cus_odata_sucursale1.salvare(This.OREC,This.NID) + ENDIF + ENDCASE + + Return PLRETURN + + ENDPROC + + PROCEDURE Init + LPARAMETERS toRec, tnId, tcActiune + + DODEFAULT() + + this.orec= toRec + this.nid = tnId + this.cus_odata_sucursale1.cactiune = tcActiune + ENDPROC + +ENDDEFINE + +DEFINE CLASS frm_tipuri_ctr AS _frmbase OF "_frm_base.vcx" + *< CLASSDATA: Baseclass="form" Timestamp="" Scale="Pixels" Uniqueid="" /> + + *-- OBJECTDATA items order determines ZOrder / El orden de los items OBJECTDATA determina el ZOrder + *< OBJECTDATA: ObjPath="Cmd_cauta1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="Cmd_reset1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="clb_denumire" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="But_nou1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="But_modifica1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="But_sterge1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="grd_tipuri_ctr" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="grd_tipuri_ctr.Column1.Header1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="grd_tipuri_ctr.Column1.Text1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="grd_tipuri_ctr.Column2.Header1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="grd_tipuri_ctr.Column2.Text1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="grd_tipuri_ctr.Column3.Header1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="grd_tipuri_ctr.Column3.Check1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="grd_tipuri_ctr.Column4.Header1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="grd_tipuri_ctr.Column4.Text1" UniqueID="" Timestamp="" /> + + * + *m: do_adauga2 + *m: do_modifica2 + *m: do_sterge2 + * + + * + BorderStyle = 1 + cgridsortlist = grd_tipuri_ctr + DoCreate = .T. + Height = 466 + lactiv3 = .T. + Name = "frm_tipuri_ctr" + Width = 711 + WindowState = 2 + _shape1.Anchor = 10 + _shape1.Height = 29 + _shape1.Left = 0 + _shape1.Name = "_shape1" + _shape1.Top = 0 + _shape1.Width = 744 + _shape1.ZOrderSet = 2 + _shape2.Anchor = 8 + _shape2.Height = 29 + _shape2.Left = 577 + _shape2.Name = "_shape2" + _shape2.Top = -1 + _shape2.Width = 136 + _shape2.ZOrderSet = 3 + Lb_titlu_alb_b121.Caption = "TIPURI CONTRACTE" + Lb_titlu_alb_b121.FontBold = .T. + Lb_titlu_alb_b121.Name = "Lb_titlu_alb_b121" + Lb_titlu_alb_b121.TabIndex = 11 + Lb_titlu_alb_b121.ZOrderSet = 4 + BUT_TERMIN1.Anchor = 8 + BUT_TERMIN1.Left = 680 + BUT_TERMIN1.Name = "BUT_TERMIN1" + BUT_TERMIN1.TabIndex = 6 + BUT_TERMIN1.Top = 0 + BUT_TERMIN1.ZOrderSet = 5 + Gridsort1.Left = 240 + Gridsort1.Name = "Gridsort1" + Gridsort1.Top = 12 + * + + ADD OBJECT 'But_modifica1' AS but_modifica WITH ; + Anchor = 8, ; + Left = 615, ; + Name = "But_modifica1", ; + TabIndex = 8, ; + Top = 0 + *< END OBJECT: ClassLib="cmd_butoane.vcx" BaseClass="commandbutton" /> + + ADD OBJECT 'But_nou1' AS but_nou WITH ; + Anchor = 8, ; + Left = 581, ; + Name = "But_nou1", ; + TabIndex = 7, ; + Top = 0 + *< END OBJECT: ClassLib="cmd_butoane.vcx" BaseClass="commandbutton" /> + + ADD OBJECT 'But_sterge1' AS but_sterge WITH ; + Anchor = 8, ; + Left = 648, ; + Name = "But_sterge1", ; + TabIndex = 9, ; + Top = 0 + *< END OBJECT: ClassLib="cmd_butoane.vcx" BaseClass="commandbutton" /> + + ADD OBJECT 'clb_denumire' AS clb_tx_simplu WITH ; + Anchor = 0, ; + Left = 9, ; + Name = "clb_denumire", ; + TabIndex = 1, ; + Top = 37, ; + Text_simplu1.Name = "Text_simplu1", ; + Lb_simplu1.Caption = "Denumire", ; + Lb_simplu1.Name = "Lb_simplu1" + *< END OBJECT: ClassLib="lb_tx.vcx" BaseClass="container" /> + + ADD OBJECT 'Cmd_cauta1' AS cmd_cauta WITH ; + Anchor = 0, ; + Left = 330, ; + Name = "Cmd_cauta1", ; + TabIndex = 4, ; + Top = 36 + *< END OBJECT: ClassLib="cmd_butoane.vcx" BaseClass="commandbutton" /> + + ADD OBJECT 'Cmd_reset1' AS cmd_reset WITH ; + Anchor = 0, ; + Left = 418, ; + Name = "Cmd_reset1", ; + TabIndex = 10, ; + Top = 36 + *< END OBJECT: ClassLib="cmd_butoane.vcx" BaseClass="commandbutton" /> + + ADD OBJECT 'grd_tipuri_ctr' AS _grdrow WITH ; + Anchor = 15, ; + ColumnCount = 4, ; + DeleteMark = .F., ; + Height = 383, ; + Left = 9, ; + Name = "grd_tipuri_ctr", ; + Panel = 1, ; + ReadOnly = .T., ; + RecordMark = .F., ; + RecordSource = "cTipuri_ctr", ; + Top = 73, ; + Width = 687, ; + Column1.ControlSource = "id_tip_ctr", ; + Column1.Name = "Column1", ; + Column1.ReadOnly = .T., ; + Column1.Width = 51, ; + Column2.ControlSource = "denumire_tip", ; + Column2.Name = "Column2", ; + Column2.ReadOnly = .T., ; + Column2.Width = 198, ; + Column3.Alignment = 2, ; + Column3.ControlSource = "system", ; + Column3.Name = "Column3", ; + Column3.ReadOnly = .T., ; + Column3.Sparse = .F., ; + Column3.Width = 45, ; + Column4.ControlSource = "tip_sup", ; + Column4.Name = "Column4", ; + Column4.ReadOnly = .T., ; + Column4.Width = 366 + *< END OBJECT: ClassLib="_grd_base.vcx" BaseClass="grid" /> + + ADD OBJECT 'grd_tipuri_ctr.Column1.Header1' AS header WITH ; + Alignment = 2, ; + Caption = "Id tip ctr.", ; + Name = "Header1" + *< END OBJECT: BaseClass="header" /> + + ADD OBJECT 'grd_tipuri_ctr.Column1.Text1' AS textbox WITH ; + BackColor = 255,255,255, ; + BorderStyle = 0, ; + ForeColor = 0,0,0, ; + Margin = 0, ; + Name = "Text1", ; + ReadOnly = .T. + *< END OBJECT: BaseClass="textbox" /> + + ADD OBJECT 'grd_tipuri_ctr.Column2.Header1' AS header WITH ; + Alignment = 2, ; + Caption = "Denumire tip", ; + Name = "Header1" + *< END OBJECT: BaseClass="header" /> + + ADD OBJECT 'grd_tipuri_ctr.Column2.Text1' AS textbox WITH ; + BackColor = 255,255,255, ; + BorderStyle = 0, ; + ForeColor = 0,0,0, ; + Margin = 0, ; + Name = "Text1", ; + ReadOnly = .T. + *< END OBJECT: BaseClass="textbox" /> + + ADD OBJECT 'grd_tipuri_ctr.Column3.Check1' AS checkbox WITH ; + Alignment = 0, ; + Caption = "", ; + Centered = .T., ; + Height = 17, ; + Left = 22, ; + Name = "Check1", ; + Top = 58, ; + Width = 60 + *< END OBJECT: BaseClass="checkbox" /> + + ADD OBJECT 'grd_tipuri_ctr.Column3.Header1' AS header WITH ; + Alignment = 2, ; + Caption = "Sistem", ; + Name = "Header1" + *< END OBJECT: BaseClass="header" /> + + ADD OBJECT 'grd_tipuri_ctr.Column4.Header1' AS header WITH ; + Alignment = 2, ; + Caption = "Tip superior", ; + Name = "Header1" + *< END OBJECT: BaseClass="header" /> + + ADD OBJECT 'grd_tipuri_ctr.Column4.Text1' AS textbox WITH ; + BackColor = 255,255,255, ; + BorderStyle = 0, ; + ForeColor = 0,0,0, ; + Margin = 0, ; + Name = "Text1" + *< END OBJECT: BaseClass="textbox" /> + + PROCEDURE actualizeaza_grid1 + Lparameters lcFiltru + If Empty(lcFiltru) + lcFiltru = poTipuri_ctr.ca_baza1.cfiltru + Endif + Thisform.MousePointer= 11 + Thisform.LockScreen=.T. + save_grid_tag(Thisform.grd_tipuri_ctr) + poTipuri_ctr.ca_baza1.cfiltru = lcFiltru + poTipuri_ctr.ca_baza1.afisare() + restore_grid_tag(Thisform.grd_tipuri_ctr) + Thisform.LockScreen = .F. + Thisform.MousePointer = 0 + + ENDPROC + + PROCEDURE do_adauga + Private pniesire + pniesire=0 + Select cTipuri_ctr + Scatter Name loRec Blank + If Used('cTipuri_ctr2') + Use In cTipuri_ctr2 + ENDIF + Select id_tip_ctr, denumire_tip From cTipuri_ctr Order By denumire_tip Into Cursor cTipuri_ctr2 + + Do Adauga_Modifica_Inregistrare With "tipuri_ctr",loRec,,"INSERT" + If pniesire=1 + This.actualizeaza_grid1() + Select cTipuri_ctr + Locate For denumire_tip = loRec.denumire_tip + Thisform.grd_tipuri_ctr.SetFocus() + Endif + + ENDPROC + + PROCEDURE do_adauga2 + ENDPROC + + PROCEDURE do_cauta + Local lcFiltru + Store '' To lcFiltru + lcFiltru=[2=2] + lcDenumire = Strtran(Upper(Alltrim(This.clb_denumire.text_simplu1.Value)),['],['']) + + If !Empty(lcDenumire) + lcFiltru = lcFiltru + [ and denumire_tip like '] + lcDenumire + [%'] + Endif + + Thisform.actualizeaza_grid1(lcFiltru) + + If Reccount('cTipuri_ctr')>0 + Select cTipuri_ctr + Go Top + Thisform.grd_tipuri_ctr.SetFocus() + Else + aMessagebox("Cautarea nu a intors rezultate!",0+64,"Info cautare") + Thisform.clb_denumire.SetFocus() + Endif + + ENDPROC + + PROCEDURE do_modifica + If Reccount('cTipuri_ctr')>0 + Private pniesire + pniesire = 0 + Select cTipuri_ctr + Scatter Name loRec + If loRec.id_tip_ctr = -1 Or loRec.id_tip_ctr = -2 + aMessagebox("Nu puteti modifica acest tip!",0+48,"Atentie") + Return + Endif + If Used('cTipuri_ctr2') + Use In cTipuri_ctr2 + Endif + + Select id_tip_ctr, denumire_tip From cTipuri_ctr Where id_tip_ctr!=loRec.id_tip_ctr ; + Order By denumire_tip Into Cursor cTipuri_ctr2 + + Do Adauga_Modifica_Inregistrare With "tipuri_ctr",loRec,loRec.id_tip_ctr,"UPDATE" + If pniesire = 1 + This.actualizeaza_grid1() + Endif + Else + aMessagebox("Nu exista inregistrari pentru modificare!",48,"Atentie") + Endif + + ENDPROC + + PROCEDURE do_modifica2 + ENDPROC + + PROCEDURE do_reset + thisform.clb_denumire.TEXT_SIMPLU1.Value = '' + Thisform.Refresh + Thisform.clb_denumire.TEXT_SIMPLU1.SetFocus() + + ENDPROC + + PROCEDURE do_sterge + If Reccount('cTipuri_ctr')>0 + Select cTipuri_ctr + Scatter Name loRec + Do STERGE_INREGISTRARE With "tipuri_ctr",loRec.id_tip_ctr + This.actualizeaza_grid1() + Else + amessagebox("Nu exista inregistrari pentru stergere!",48,"Atentie") + Endif + + ENDPROC + + PROCEDURE do_sterge2 + ENDPROC + +ENDDEFINE + +DEFINE CLASS frm_tipuri_ctr_nou AS _frmbase OF "_frm_base.vcx" + *< CLASSDATA: Baseclass="form" Timestamp="" Scale="Pixels" Uniqueid="" /> + + *-- OBJECTDATA items order determines ZOrder / El orden de los items OBJECTDATA determina el ZOrder + *< OBJECTDATA: ObjPath="Clb_categ_ctr" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="But_renunt1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="Cus_odata_tipuri_ctr1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="Cb_tipSup" UniqueID="" Timestamp="" /> + + * + *p: cnumevechi + *p: nid + *p: nnivelmodificare && - 1 daca utilizatorul are voie sa modifice toate datele ; 0 daca are voie sa modifice doar nr. de telefon + *p: orec + * + + * + BorderStyle = 1 + cnumevechi = + DoCreate = .T. + Height = 105 + Name = "frm_tipuri_ctr_nou" + nnivelmodificare = -1 + Width = 358 + _shape1.Height = 29 + _shape1.Left = 0 + _shape1.Name = "_shape1" + _shape1.Top = 0 + _shape1.Width = 744 + _shape2.Height = 29 + _shape2.Left = 291 + _shape2.Name = "_shape2" + _shape2.Top = -1 + _shape2.Width = 69 + Lb_titlu_alb_b121.Caption = "TIP CONTRACT" + Lb_titlu_alb_b121.FontBold = .T. + Lb_titlu_alb_b121.Name = "Lb_titlu_alb_b121" + Lb_titlu_alb_b121.TabIndex = 5 + BUT_TERMIN1.Height = 27 + BUT_TERMIN1.Left = 328 + BUT_TERMIN1.Name = "BUT_TERMIN1" + BUT_TERMIN1.TabIndex = 3 + BUT_TERMIN1.Top = 0 + BUT_TERMIN1.Width = 30 + Gridsort1.Left = 240 + Gridsort1.Name = "Gridsort1" + Gridsort1.Top = 5 + * + + ADD OBJECT 'But_renunt1' AS but_renunt WITH ; + Height = 27, ; + Left = 296, ; + Name = "But_renunt1", ; + TabIndex = 4, ; + Top = 0, ; + Width = 30 + *< END OBJECT: ClassLib="cmd_butoane.vcx" BaseClass="commandbutton" /> + + ADD OBJECT 'Cb_tipSup' AS cb_tx_simplu WITH ; + Left = 15, ; + Name = "Cb_tipSup", ; + TabIndex = 2, ; + Top = 65, ; + Width = 328, ; + _CBBASE1.Left = 136, ; + _CBBASE1.Name = "_CBBASE1", ; + _CBBASE1.Top = 3, ; + _LBBASE1.Caption = "Tip superior", ; + _LBBASE1.Name = "_LBBASE1" + *< END OBJECT: ClassLib="lb_tx.vcx" BaseClass="container" /> + + ADD OBJECT 'Clb_categ_ctr' AS clb_tx_simplu WITH ; + Height = 29, ; + Left = 15, ; + Name = "Clb_categ_ctr", ; + TabIndex = 1, ; + Top = 37, ; + Width = 328, ; + Text_simplu1.ControlSource = "porec.denumire_tip", ; + Text_simplu1.Left = 136, ; + Text_simplu1.Name = "Text_simplu1", ; + Text_simplu1.Top = 3, ; + Lb_simplu1.Caption = "Denumire tip contract", ; + Lb_simplu1.Name = "Lb_simplu1" + *< END OBJECT: ClassLib="lb_tx.vcx" BaseClass="container" /> + + ADD OBJECT 'Cus_odata_tipuri_ctr1' AS cus_odata_tipuri_ctr WITH ; + Left = 199, ; + Name = "Cus_odata_tipuri_ctr1", ; + Top = 8 + *< END OBJECT: ClassLib="onomenclatoare.vcx" BaseClass="custom" /> + + PROCEDURE Destroy + If Used('cTipuri_ctr2') + Use In cTipuri_ctr2 + Endif + ENDPROC + + PROCEDURE inainte_de_do_termin + Local PLRETURN + lccontrol = Upper(This.ActiveControl.BaseClass ) + If Inlist(lccontrol,"TEXTBOX","EDITBOX","COMBOBOX") + lcval = This.ActiveControl.ControlSource + &lcval = Thisform.ActiveControl.Value + ENDIF + + lcTata=Thisform.cb_tipSup._CBBASE1.Value + If Empty(lcTata) + porec.id_tata=0 + Else + Select cTipuri_ctr2 + porec.id_tata = id_tip_ctr + Endif + + Do Case + Case Empty(porec.denumire_tip) + amessagebox('Nu ati completat denumirea tipului!',0+48,"Atentie") + this.clb_denumire.text_simplu1.SetFocus() + PLRETURN = .F. + Case Empty(porec.id_tata) + amessagebox('Nu ati ales tipul superior!',0+48,"Atentie") + this.cb_tipSup._cbbasE1.SetFocus() + PLRETURN = .F. + + OTHERWISE + PLRETURN = This.cus_odata_tipuri_ctr1.salvare(This.OREC, This.NID) + + ENDCASE + + Return PLRETURN + + ENDPROC + + PROCEDURE Init + LPARAMETERS toRec, tnId, tcActiune + + DODEFAULT() + lcGrupTata = "" + + THIS.orec = toRec + THIS.nid = tnId + THIS.cus_odata_tipuri_ctr1.cactiune = tcActiune + IF tcActiune = 'UPDATE' + *!* Select v_zone + *!* Locate For id_zona=toRec.id_zona + *!* If Found() + *!* Thisform.cb_zona._cbbase1.Value=zona + *!* Thisform.cb_zona._cbbase1.Refresh + *!* Endif + SELECT cTipuri_ctr2 + LOCATE FOR id_tip_ctr = porec.id_tata + IF FOUND() + lcGrupTata = denumire_tip + ENDIF + GO TOP + THISFORM.nNivelModificare=0 + ENDIF + + THISFORM.cb_TipSup._cbbase1.ROWSOURCE = "cTipuri_ctr2.denumire_tip" + THISFORM.cb_TipSup._cbbase1.ROWSOURCETYPE = 2 + THISFORM.cb_TipSup._cbbase1.VALUE = lcGrupTata + + ENDPROC + +ENDDEFINE + +DEFINE CLASS frm_tipuri_parteneri_nou AS _frmbase OF "_frm_base.vcx" + *< CLASSDATA: Baseclass="form" Timestamp="" Scale="Pixels" Uniqueid="" /> + + *-- OBJECTDATA items order determines ZOrder / El orden de los items OBJECTDATA determina el ZOrder + *< OBJECTDATA: ObjPath="clb_tip_part" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="Cus_odata_tipuri_parteneri1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="_checkbox1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="But_renunt1" UniqueID="" Timestamp="" /> + + * + *p: nid + *p: orec + * + + * + DoCreate = .T. + Height = 106 + Name = "frm_tipuri_parteneri_nou" + nid = 0 + Width = 376 + _shape1.Name = "_shape1" + _shape2.Height = 29 + _shape2.Left = 316 + _shape2.Name = "_shape2" + _shape2.Top = 0 + _shape2.Width = 58 + Lb_titlu_alb_b121.Caption = "Tipuri entitati" + Lb_titlu_alb_b121.Name = "Lb_titlu_alb_b121" + Lb_titlu_alb_b121.TabIndex = 5 + BUT_TERMIN1.Left = 347 + BUT_TERMIN1.Name = "BUT_TERMIN1" + BUT_TERMIN1.TabIndex = 3 + BUT_TERMIN1.Top = 1 + GRIDSORT1.Name = "GRIDSORT1" + * + + ADD OBJECT '_checkbox1' AS _checkbox WITH ; + Alignment = 0, ; + Caption = "Inactiv", ; + ControlSource = "porec.inactiv", ; + Left = 30, ; + Name = "_checkbox1", ; + TabIndex = 2, ; + TabStop = .F., ; + Top = 78 + *< END OBJECT: ClassLib="_baza.vcx" BaseClass="checkbox" /> + + ADD OBJECT 'But_renunt1' AS but_renunt WITH ; + Left = 318, ; + Name = "But_renunt1", ; + TabIndex = 4, ; + Top = 1, ; + ZOrderSet = 12 + *< END OBJECT: ClassLib="cmd_butoane.vcx" BaseClass="commandbutton" /> + + ADD OBJECT 'clb_tip_part' AS clb_tx_simplu WITH ; + Height = 29, ; + Left = 33, ; + Name = "clb_tip_part", ; + TabIndex = 1, ; + Top = 40, ; + Width = 314, ; + Text_simplu1.ControlSource = "poRec.tip_partener", ; + Text_simplu1.Format = "!K", ; + Text_simplu1.Name = "Text_simplu1", ; + Lb_simplu1.Caption = "Denumire", ; + Lb_simplu1.Name = "Lb_simplu1" + *< END OBJECT: ClassLib="lb_tx.vcx" BaseClass="container" /> + + ADD OBJECT 'Cus_odata_tipuri_parteneri1' AS cus_odata_tipuri_parteneri WITH ; + Left = 74, ; + Name = "Cus_odata_tipuri_parteneri1", ; + Top = 43 + *< END OBJECT: ClassLib="onomenclatoare.vcx" BaseClass="custom" /> + + PROCEDURE inainte_de_do_renunt + pccontinua=.F. + ENDPROC + + PROCEDURE inainte_de_do_termin + LOCAL PLRETURN + + lccontrol = UPPER(this.ActiveControl.BaseClass ) + IF INLIST(lccontrol,"TEXTBOX","EDITBOX","COMBOBOX") + lcval=This.Activecontrol.controlsource + &lcval=thisform.ActiveControl.value + ENDIF + + + Do Case + Case Empty(porec.Tip_partener) + amessagebox('Nu ati completat tipul de partener!',0+48,"Atentie") + This.clb_tip_part.SetFocus() + plreturn=.F. + Otherwise + If Alltrim(Upper(This.cus_odata_tipuri_parteneri1.cactiune))="INSERT" Or (Alltrim(Upper(This.cus_odata_tipuri_parteneri1.cactiune))="UPDATE" And poRec.tip_partener!=pctip_partener) + pcexec=[select * from ]+gcS+[.vnom_tip_parteneri where TRIM(tip_partener)=']+Alltrim(poRec.tip_partener)+['] + Do While .T. + pnSucces = SQLEXEC(GNHANDLE,pcexec,'exista_tip_partener') + If pnSucces = 0 + * instructiunea in curs de executie + Else + Exit + Endif + Enddo + If Reccount('exista_tip_partener')>0 + amessagebox('Mai exista acest tip de partener inregistrat!',0+48,"Atentie") + Thisform.clb_tip_part.SetFocus() + Use In exista_tip_partener + plreturn=.F. + ELSE + PLRETURN=This.cus_odata_tipuri_parteneri1.salvare(This.OREC,This.NID) + ENDIF + ELSE + PLRETURN=This.cus_odata_tipuri_parteneri1.salvare(This.OREC,This.NID) + ENDIF + ENDCASE + + If plreturn + pccontinua=.T. + Endif + + Return PLRETURN + + + ENDPROC + + PROCEDURE Init + Lparameters toRec, tnId, tcActiune + DODEFAULT() + This.orec= toRec + This.nid = tnId + This.cus_odata_tipuri_parteneri1.cactiune = tcActiune + + ENDPROC + +ENDDEFINE + +DEFINE CLASS frm_valute AS _frmbase OF "_frm_base.vcx" + *< CLASSDATA: Baseclass="form" Timestamp="" Scale="Pixels" Uniqueid="" /> + + *-- OBJECTDATA items order determines ZOrder / El orden de los items OBJECTDATA determina el ZOrder + *< OBJECTDATA: ObjPath="Cmd_cauta1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="_gnom_valute" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="_gnom_valute.cNume_val.Header1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="_gnom_valute.cNume_val.Text1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="_gnom_valute.cInactiv.Header1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="_gnom_valute.cInactiv.Check1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="_gnom_valute.cId_valuta.Header1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="_gnom_valute.cId_valuta.Text1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="_gnom_valute.cMoneda_nationala.Header1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="_gnom_valute.cMoneda_nationala._checkbox1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="_gnom_valute.cNume_val2.Header1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="_gnom_valute.cNume_val2.Text1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="But_nou1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="But_sterge1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="But_modifica1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="lb_nom_valute" UniqueID="" Timestamp="" /> + + * + *m: log + * + + * + BorderStyle = 1 + cgridsortlist = _gnom_valute + DoCreate = .T. + Height = 309 + lactiv3 = .T. + lactiv4 = .T. + Name = "frm_valute" + Width = 410 + _shape1.Height = 29 + _shape1.Left = 0 + _shape1.Name = "_shape1" + _shape1.Top = 0 + _shape1.Width = 410 + _shape2.Height = 29 + _shape2.Left = 289 + _shape2.Name = "_shape2" + _shape2.Top = 0 + _shape2.Width = 121 + Lb_titlu_alb_b121.Caption = "Valute" + Lb_titlu_alb_b121.Name = "Lb_titlu_alb_b121" + Lb_titlu_alb_b121.TabIndex = 8 + BUT_TERMIN1.Left = 378 + BUT_TERMIN1.Name = "BUT_TERMIN1" + BUT_TERMIN1.TabIndex = 4 + BUT_TERMIN1.Top = 1 + BUT_TERMIN1.Visible = .T. + GRIDSORT1.Name = "GRIDSORT1" + * + + ADD OBJECT '_gnom_valute' AS _grdrow WITH ; + ColumnCount = 5, ; + DeleteMark = .F., ; + FontName = "Arial Narrow", ; + HeaderHeight = 34, ; + Height = 200, ; + Left = 13, ; + Name = "_gnom_valute", ; + Panel = 1, ; + RecordSource = "v_valute", ; + ScrollBars = 3, ; + TabIndex = 3, ; + Top = 84, ; + Width = 384, ; + Column1.ColumnOrder = 2, ; + Column1.ControlSource = "nume_val", ; + Column1.FontName = "Arial Narrow", ; + Column1.Name = "cNume_val", ; + Column1.Width = 159, ; + Column2.ColumnOrder = 4, ; + Column2.ControlSource = "inactiv", ; + Column2.FontName = "Arial Narrow", ; + Column2.Name = "cInactiv", ; + Column2.ReadOnly = .T., ; + Column2.Sparse = .F., ; + Column2.Width = 39, ; + Column3.ColumnOrder = 1, ; + Column3.ControlSource = "id_valuta", ; + Column3.FontName = "Arial Narrow", ; + Column3.Name = "cId_valuta", ; + Column3.Width = 38, ; + Column4.ColumnOrder = 5, ; + Column4.ControlSource = "moneda_nationala", ; + Column4.FontName = "Arial Narrow", ; + Column4.Name = "cMoneda_nationala", ; + Column4.Sparse = .F., ; + Column4.Width = 63, ; + Column5.ColumnOrder = 3, ; + Column5.ControlSource = "nume_val2", ; + Column5.FontName = "Arial Narrow", ; + Column5.Name = "cNume_val2", ; + Column5.Width = 49 + *< END OBJECT: ClassLib="_grd_base.vcx" BaseClass="grid" /> + + ADD OBJECT '_gnom_valute.cId_valuta.Header1' AS header WITH ; + Alignment = 2, ; + Caption = "Id", ; + FontName = "Arial Narrow", ; + Name = "Header1" + *< END OBJECT: BaseClass="header" /> + + ADD OBJECT '_gnom_valute.cId_valuta.Text1' AS textbox WITH ; + BackColor = 255,255,255, ; + BorderStyle = 0, ; + FontName = "Arial Narrow", ; + ForeColor = 0,0,0, ; + Margin = 0, ; + Name = "Text1" + *< END OBJECT: BaseClass="textbox" /> + + ADD OBJECT '_gnom_valute.cInactiv.Check1' AS checkbox WITH ; + Alignment = 2, ; + Caption = "", ; + Centered = .T., ; + FontName = "Arial Narrow", ; + Height = 17, ; + Left = 11, ; + Name = "Check1", ; + ReadOnly = .T., ; + Top = 30, ; + Width = 60 + *< END OBJECT: BaseClass="checkbox" /> + + ADD OBJECT '_gnom_valute.cInactiv.Header1' AS header WITH ; + Alignment = 2, ; + Caption = "Inactiv", ; + FontName = "Arial Narrow", ; + Name = "Header1" + *< END OBJECT: BaseClass="header" /> + + ADD OBJECT '_gnom_valute.cMoneda_nationala._checkbox1' AS _checkbox WITH ; + Alignment = 2, ; + AutoSize = .F., ; + Caption = "", ; + Centered = .T., ; + FontName = "Arial Narrow", ; + Left = 33, ; + Name = "_checkbox1", ; + Top = 42 + *< END OBJECT: ClassLib="_baza.vcx" BaseClass="checkbox" /> + + ADD OBJECT '_gnom_valute.cMoneda_nationala.Header1' AS header WITH ; + Alignment = 2, ; + Caption = "Moneda nationala", ; + FontName = "Arial Narrow", ; + Name = "Header1", ; + WordWrap = .T. + *< END OBJECT: BaseClass="header" /> + + ADD OBJECT '_gnom_valute.cNume_val.Header1' AS header WITH ; + Alignment = 2, ; + Caption = "Denumire valuta", ; + FontName = "Arial Narrow", ; + Name = "Header1" + *< END OBJECT: BaseClass="header" /> + + ADD OBJECT '_gnom_valute.cNume_val.Text1' AS textbox WITH ; + BackColor = 255,255,255, ; + BorderStyle = 0, ; + FontName = "Arial Narrow", ; + ForeColor = 0,0,0, ; + Margin = 0, ; + Name = "Text1" + *< END OBJECT: BaseClass="textbox" /> + + ADD OBJECT '_gnom_valute.cNume_val2.Header1' AS header WITH ; + Alignment = 2, ; + Caption = "Simbol", ; + FontName = "Arial Narrow", ; + Name = "Header1" + *< END OBJECT: BaseClass="header" /> + + ADD OBJECT '_gnom_valute.cNume_val2.Text1' AS textbox WITH ; + BackColor = 255,255,255, ; + BorderStyle = 0, ; + FontName = "Arial Narrow", ; + ForeColor = 0,0,0, ; + Margin = 0, ; + Name = "Text1" + *< END OBJECT: BaseClass="textbox" /> + + ADD OBJECT 'But_modifica1' AS but_modifica WITH ; + Left = 321, ; + Name = "But_modifica1", ; + TabIndex = 6, ; + Top = 1, ; + Visible = .T. + *< END OBJECT: ClassLib="cmd_butoane.vcx" BaseClass="commandbutton" /> + + ADD OBJECT 'But_nou1' AS but_nou WITH ; + Left = 291, ; + Name = "But_nou1", ; + TabIndex = 7, ; + Top = 1, ; + Visible = .T. + *< END OBJECT: ClassLib="cmd_butoane.vcx" BaseClass="commandbutton" /> + + ADD OBJECT 'But_sterge1' AS but_sterge WITH ; + Left = 349, ; + Name = "But_sterge1", ; + TabIndex = 5, ; + Top = 1, ; + Visible = .T. + *< END OBJECT: ClassLib="cmd_butoane.vcx" BaseClass="commandbutton" /> + + ADD OBJECT 'Cmd_cauta1' AS cmd_cauta WITH ; + Left = 295, ; + Name = "Cmd_cauta1", ; + TabIndex = 2, ; + Top = 45 + *< END OBJECT: ClassLib="cmd_butoane.vcx" BaseClass="commandbutton" /> + + ADD OBJECT 'lb_nom_valute' AS clb_tx_simplu WITH ; + Height = 29, ; + Left = 30, ; + Name = "lb_nom_valute", ; + TabIndex = 1, ; + Top = 44, ; + Width = 252, ; + Text_simplu1.Left = 63, ; + Text_simplu1.Name = "Text_simplu1", ; + Text_simplu1.Top = 3, ; + Lb_simplu1.Caption = "Valuta", ; + Lb_simplu1.Name = "Lb_simplu1" + *< END OBJECT: ClassLib="lb_tx.vcx" BaseClass="container" /> + + PROCEDURE actualizeaza_grid1 + LPARAMETERS pcFiltru + LOCAL lcFiltru + lcFiltru=pcFiltru + IF EMPTY(lcFiltru) + lcFiltru=povalute.ca_baza1.cfiltru + ENDIF + save_grid_tag(thisform._gnom_valute) + povalute.ca_baza1.cfiltru=lcFiltru + povalute.ca_baza1.afisare() + restore_grid_tag(thisform._gnom_valute) + IF RECCOUNT('v_valute')>0 + thisform._gnom_valute.SetFocus() + ELSE + thisform.lb_nom_valute.SetFocus() + ENDIF + + ENDPROC + + PROCEDURE do_adauga + SELECT v_valute + SCATTER NAME loRec blank + DO Adauga_Modifica_Inregistrare WITH "valute",loRec,,"INSERT" + this.actualizeaza_grid1() + ENDPROC + + PROCEDURE do_cauta + Local lcFiltru + lcFiltru=[] + lcNume = STRTRAN(Upper(Alltrim(This.lb_nom_valute.text_simplu1.value)),['],['']) + If !Empty(lcNume) + lcFiltru=[nume_val like ']+lcNume+[%'] + ELSE + lcFiltru = [2=2] + Endif + This.MousePointer= 11 + This.LockScreen=.T. + Thisform.actualizeaza_grid1(lcFiltru) + IF RECCOUNT()=0 + aMESSAGEBOX("Cautarea nu a intors rezultate!",0+64,"Info cautare") + ENDIF + This.LockScreen=.F. + This.MousePointer= 0 + ENDPROC + + PROCEDURE do_modifica + If Reccount('v_valute')>0 + Select v_valute + Scatter Name loRec + pcnume_val = loRec.nume_val + Do Adauga_Modifica_Inregistrare With "valute",loRec,loRec.Id_valuta,"UPDATE" + Thisform.actualizeaza_grid1() + Else + amessagebox("Nu exista inregistrari pentru modificare!",48,"Atentie") + Endif + ENDPROC + + PROCEDURE do_sterge + If Reccount('v_valute')>0 + Select v_valute + Scatter Name lorec + Do STERGE_INREGISTRARE With "valute",lorec.id_valuta + + This.actualizeaza_grid1() + Else + amessagebox("Nu exista inregistrari pentru stergere!",48,"Atentie") + Endif + + ENDPROC + + PROCEDURE KeyPress + Lparameters nKeyCode, nShiftAltCtrl + lcActiveControl = UPPER(ALLTRIM(this.ActiveControl.name)) + + IF nKeyCode=13 AND lcActiveControl = '_GNOM_VALUTE' + Nodefault + this.lb_nom_valute.SetFocus + ENDIF + + + DODEFAULT(nKeyCode, nShiftAltCtrl) + + + ENDPROC + + PROCEDURE log + LPARAMETERS tctabela,tnId + + lcId = ALLTRIM(STR(tnId)) + lctabela = UPPER(ALLTRIM(tctabela)) + PRIVATE polog,pcschema1,pcselect1 + STORE '' TO polog + pcschema1 = [''] + pcselect1=['select * from ] + gcS + [.vlog where '] + pcorder1=['dataora'] + pcfiltru1 = [tabel = '] + lctabela + [' and id_tabel = ] + lcId + gencursor('polog','v_log',pcselect1,pcfiltru1,pcschema1,pcorder1) + polog.ca_baza1.afisare() + ofrmlog=CREATEOBJECT('frm_log') + ofrmlog.show(1) + RELEASE polog + ENDPROC + + PROCEDURE Unload + IF USED('v_valute') + USE IN v_valute + ENDIF + ENDPROC + + PROCEDURE _gnom_valute.cNume_val.Text1.DblClick + thisform.log("NOM_VALUTE",v_valute.id_valuta) + ENDPROC + + PROCEDURE _gnom_valute.Init + DoDefault() + This.SetAll("ReadOnly",.T.,"Column") + + ENDPROC + +ENDDEFINE + +DEFINE CLASS frm_valute_nou AS _frmbase OF "_frm_base.vcx" + *< CLASSDATA: Baseclass="form" Timestamp="" Scale="Pixels" Uniqueid="" /> + + *-- OBJECTDATA items order determines ZOrder / El orden de los items OBJECTDATA determina el ZOrder + *< OBJECTDATA: ObjPath="But_renunt1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="Clb_tx_simplu1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="ck_moneda_nationala" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="Cus_odata_valute1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="ck_inactiv" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="Ct_valuta_iso" UniqueID="" Timestamp="" /> + + * + *m: do_cauta_iso + *p: nid + *p: orec + * + + * + DoCreate = .T. + Height = 130 + Name = "frm_valute_nou" + Width = 375 + _shape1.Name = "_shape1" + _shape2.Height = 29 + _shape2.Left = 312 + _shape2.Name = "_shape2" + _shape2.Top = 0 + _shape2.Width = 62 + Lb_titlu_alb_b121.Caption = "Valuta" + Lb_titlu_alb_b121.Name = "Lb_titlu_alb_b121" + Lb_titlu_alb_b121.TabIndex = 7 + BUT_TERMIN1.Name = "BUT_TERMIN1" + BUT_TERMIN1.TabIndex = 5 + Gridsort1.Name = "Gridsort1" + * + + ADD OBJECT 'But_renunt1' AS but_renunt WITH ; + Left = 312, ; + Name = "But_renunt1", ; + TabIndex = 6, ; + Top = 1 + *< END OBJECT: ClassLib="cmd_butoane.vcx" BaseClass="commandbutton" /> + + ADD OBJECT 'ck_inactiv' AS _checkbox WITH ; + Alignment = 0, ; + Caption = "Inactiv", ; + ControlSource = "porec.inactiv", ; + Left = 34, ; + Name = "ck_inactiv", ; + TabIndex = 3, ; + TabStop = .F., ; + Top = 107 + *< END OBJECT: ClassLib="_baza.vcx" BaseClass="checkbox" /> + + ADD OBJECT 'ck_moneda_nationala' AS _checkbox WITH ; + Alignment = 0, ; + Caption = "Moneda nationala", ; + ControlSource = "porec.moneda_nationala", ; + Left = 202, ; + Name = "ck_moneda_nationala", ; + TabIndex = 4, ; + TabStop = .F., ; + Top = 107 + *< END OBJECT: ClassLib="_baza.vcx" BaseClass="checkbox" /> + + ADD OBJECT 'Clb_tx_simplu1' AS clb_tx_simplu WITH ; + Height = 29, ; + Left = 18, ; + Name = "Clb_tx_simplu1", ; + TabIndex = 1, ; + Top = 43, ; + Width = 312, ; + Text_simplu1.ControlSource = "porec.nume_val", ; + Text_simplu1.Format = "!K", ; + Text_simplu1.Left = 124, ; + Text_simplu1.MaxLength = 10, ; + Text_simplu1.Name = "Text_simplu1", ; + Text_simplu1.Top = 3, ; + Lb_simplu1.Caption = "Denumire valuta", ; + Lb_simplu1.Name = "Lb_simplu1" + *< END OBJECT: ClassLib="lb_tx.vcx" BaseClass="container" /> + + ADD OBJECT 'Ct_valuta_iso' AS ct_clb_cautare_var WITH ; + cprocedura = Thisform.do_cauta_iso, ; + ctooltip = Alegeti simbolul ISO pentru aceasta valuta, ; + cvar_afisata = poRec.nume_val2, ; + Left = 17, ; + Name = "Ct_valuta_iso", ; + TabIndex = 2, ; + Top = 70, ; + shape_cautare.Name = "shape_cautare", ; + img_cautare.Name = "img_cautare", ; + lb_cautare.Caption = "Simbol ISO", ; + lb_cautare.Name = "lb_cautare", ; + tx_cautare.Name = "tx_cautare" + *< END OBJECT: ClassLib="caut_ora.vcx" BaseClass="container" /> + + ADD OBJECT 'Cus_odata_valute1' AS cus_odata_valute WITH ; + Left = 166, ; + Name = "Cus_odata_valute1", ; + Top = 116 + *< END OBJECT: ClassLib="onomenclatoare.vcx" BaseClass="custom" /> + + PROCEDURE do_cauta_iso + Lparameters tcParametru + Local loCautaV,lnTipCautare + lnTipCautare = Iif(Empty(tcParametru),2,3) + loCautaV = cauta_valuta_iso(lnTipCautare,tcParametru) + If !Isnull(loCautaV) + If !Empty(Nvl(loCautaV.id_valuta_iso,0)) + poRec.id_valuta2 = loCautaV.id_valuta_iso + poRec.nume_val2 = loCautaV.iso_valuta + Endif + Endif + Release loCautaV,lnTipCautare + ENDPROC + + PROCEDURE inainte_de_do_termin + Local PLRETURN + + lccontrol = Upper(This.ActiveControl.BaseClass ) + If Inlist(lccontrol,"TEXTBOX","EDITBOX","COMBOBOX") + lcval=This.ActiveControl.ControlSource + &lcval=Thisform.ActiveControl.Value + Endif + + Do Case + Case Empty(porec.nume_val) + aMessagebox('Nu ati completat valuta!',0+48,"Atentie") + This.clb_tx_simplu1.SetFocus() + PLRETURN=.F. + Case Empty(Nvl(porec.id_valuta2,0)) + aMessagebox("Nu ati ales simbolul ISO pentru aceasta valuta!",0+48,"Atentie") + This.ct_valuta_iso.SetFocus() + PLRETURN = .F. + Otherwise + *!* If Alltrim(Upper(This.cus_odata_valute1.cactiune))="INSERT" Or (Alltrim(Upper(This.cus_odata_valute1.cactiune))="UPDATE" And porec.nume_val!=pcnume_val) + *!* pcexec=[select * from ]+gcS+[.vnom_valute where TRIM(nume_val)=']+Alltrim(porec.nume_val)+['] + *!* Do While .T. + *!* pnSucces = SQLEXEC(GNHANDLE,pcexec,'exista_nume_val') + *!* If pnSucces = 0 + *!* * instructiunea in curs de executie + *!* Else + *!* Exit + *!* Endif + *!* Enddo + *!* If Reccount('exista_nume_val')>0 + *!* Messagebox('Mai exista acesta valuta inregistrata!',0+48,"Atentie") + *!* Thisform.clb_tx_simplu1.SetFocus() + *!* Use In exista_nume_val + *!* plreturn=.F. + *!* ELSE + *!* PLRETURN=This.cus_odata_valute1.salvare(This.OREC,This.NID) + *!* ENDIF + *!* ELSE + PLRETURN=This.cus_odata_valute1.salvare(This.OREC,This.NID) + If !PLRETURN + Thisform.clb_tx_simplu1.SetFocus() + Endif + *!* ENDIF + Endcase + + Return PLRETURN + + ENDPROC + + PROCEDURE Init + LPARAMETERS toRec, tnId, tcActiune + + DODEFAULT() + + this.orec= toRec + this.nid = tnId + this.cus_odata_valute1.cactiune = tcActiune + ENDPROC + + PROCEDURE Clb_tx_simplu1.Text_simplu1.LostFocus + If Empty(Nvl(poRec.id_valuta2,0)) + Thisform.do_cauta_iso(This.Value) + Endif + ENDPROC + +ENDDEFINE + +DEFINE CLASS frm_venchel AS _frmbase OF "_frm_base.vcx" + *< CLASSDATA: Baseclass="form" Timestamp="" Scale="Pixels" Uniqueid="" /> + + *-- OBJECTDATA items order determines ZOrder / El orden de los items OBJECTDATA determina el ZOrder + *< OBJECTDATA: ObjPath="Cmd_cauta1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="_gnom_venchel" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="_gnom_venchel.cExplicatie_fiu.Header1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="_gnom_venchel.cExplicatie_fiu.Text1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="_gnom_venchel.cTip.Header1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="_gnom_venchel.cTip.Text1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="_gnom_venchel.cInactiv.Header1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="_gnom_venchel.cInactiv.Check1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="_gnom_venchel.cId_venchelt.Header1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="_gnom_venchel.cId_venchelt.Text1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="_gnom_venchel.cExplicatie_tata.Header1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="_gnom_venchel.cExplicatie_tata.Text1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="_gnom_venchel.cExplicatie.Header1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="_gnom_venchel.cExplicatie.Text1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="But_nou1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="But_sterge1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="But_modifica1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="lb_nom_venchel" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="But_listare1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="But_excel1" UniqueID="" Timestamp="" /> + + * + *m: log + * + + * + cgridsortlist = _gnom_venchel + DoCreate = .T. + Height = 383 + lactiv3 = .T. + lactiv4 = .T. + Name = "frm_venchel" + Width = 516 + _shape1.Height = 29 + _shape1.Left = 0 + _shape1.Name = "_shape1" + _shape1.Top = 0 + _shape1.Width = 516 + _shape2.Height = 29 + _shape2.Left = 336 + _shape2.Name = "_shape2" + _shape2.Top = 0 + _shape2.Width = 181 + Lb_titlu_alb_b121.Caption = "Venituri Cheltuieli" + Lb_titlu_alb_b121.Name = "Lb_titlu_alb_b121" + Lb_titlu_alb_b121.TabIndex = 8 + BUT_TERMIN1.Left = 485 + BUT_TERMIN1.Name = "BUT_TERMIN1" + BUT_TERMIN1.TabIndex = 4 + BUT_TERMIN1.Top = 1 + BUT_TERMIN1.Visible = .T. + GRIDSORT1.Name = "GRIDSORT1" + * + + ADD OBJECT '_gnom_venchel' AS _grdrow WITH ; + ColumnCount = 6, ; + DeleteMark = .F., ; + FontName = "Arial Narrow", ; + Height = 290, ; + Left = 16, ; + Name = "_gnom_venchel", ; + Panel = 1, ; + ReadOnly = .T., ; + RecordSource = "v_venchel", ; + ScrollBars = 3, ; + TabIndex = 3, ; + Top = 82, ; + Width = 485, ; + Column1.ColumnOrder = 2, ; + Column1.ControlSource = "explicatie_fiu", ; + Column1.FontName = "Arial Narrow", ; + Column1.Name = "cExplicatie_fiu", ; + Column1.ReadOnly = .T., ; + Column1.Width = 144, ; + Column2.ColumnOrder = 3, ; + Column2.ControlSource = 'iif(tip_venchelt = 1,"C","V")', ; + Column2.FontName = "Arial Narrow", ; + Column2.Name = "cTip", ; + Column2.ReadOnly = .T., ; + Column2.Width = 45, ; + Column3.ColumnOrder = 6, ; + Column3.ControlSource = "inactiv", ; + Column3.FontName = "Arial Narrow", ; + Column3.Name = "cInactiv", ; + Column3.ReadOnly = .T., ; + Column3.Sparse = .F., ; + Column3.Width = 35, ; + Column4.ColumnOrder = 1, ; + Column4.ControlSource = "id_venchelt", ; + Column4.FontName = "Arial Narrow", ; + Column4.Name = "cId_venchelt", ; + Column4.ReadOnly = .T., ; + Column4.Width = 35, ; + Column5.ColumnOrder = 4, ; + Column5.ControlSource = "explicatie_tata", ; + Column5.FontName = "Arial Narrow", ; + Column5.Name = "cExplicatie_tata", ; + Column5.ReadOnly = .T., ; + Column5.Width = 98, ; + Column6.ColumnOrder = 5, ; + Column6.ControlSource = "explicatie", ; + Column6.FontName = "Arial Narrow", ; + Column6.Name = "cExplicatie", ; + Column6.ReadOnly = .T., ; + Column6.Width = 89 + *< END OBJECT: ClassLib="_grd_base.vcx" BaseClass="grid" /> + + ADD OBJECT '_gnom_venchel.cExplicatie.Header1' AS header WITH ; + Alignment = 2, ; + Caption = "Explicatie completa", ; + FontName = "Arial Narrow", ; + Name = "Header1" + *< END OBJECT: BaseClass="header" /> + + ADD OBJECT '_gnom_venchel.cExplicatie.Text1' AS textbox WITH ; + BackColor = 255,255,255, ; + BorderStyle = 0, ; + FontName = "Arial Narrow", ; + ForeColor = 0,0,0, ; + Margin = 0, ; + Name = "Text1" + *< END OBJECT: BaseClass="textbox" /> + + ADD OBJECT '_gnom_venchel.cExplicatie_fiu.Header1' AS header WITH ; + Alignment = 2, ; + Caption = "Explicatia", ; + FontName = "Arial Narrow", ; + Name = "Header1" + *< END OBJECT: BaseClass="header" /> + + ADD OBJECT '_gnom_venchel.cExplicatie_fiu.Text1' AS textbox WITH ; + BackColor = 255,255,255, ; + BorderStyle = 0, ; + FontName = "Arial Narrow", ; + ForeColor = 0,0,0, ; + Margin = 0, ; + Name = "Text1", ; + ReadOnly = .T. + *< END OBJECT: BaseClass="textbox" /> + + ADD OBJECT '_gnom_venchel.cExplicatie_tata.Header1' AS header WITH ; + Alignment = 2, ; + Caption = "Parinte", ; + FontName = "Arial Narrow", ; + Name = "Header1" + *< END OBJECT: BaseClass="header" /> + + ADD OBJECT '_gnom_venchel.cExplicatie_tata.Text1' AS textbox WITH ; + BackColor = 255,255,255, ; + BorderStyle = 0, ; + FontName = "Arial Narrow", ; + ForeColor = 0,0,0, ; + Margin = 0, ; + Name = "Text1" + *< END OBJECT: BaseClass="textbox" /> + + ADD OBJECT '_gnom_venchel.cId_venchelt.Header1' AS header WITH ; + Alignment = 2, ; + Caption = "Id", ; + FontName = "Arial Narrow", ; + Name = "Header1" + *< END OBJECT: BaseClass="header" /> + + ADD OBJECT '_gnom_venchel.cId_venchelt.Text1' AS textbox WITH ; + BackColor = 255,255,255, ; + BorderStyle = 0, ; + FontName = "Arial Narrow", ; + ForeColor = 0,0,0, ; + Margin = 0, ; + Name = "Text1", ; + ReadOnly = .T. + *< END OBJECT: BaseClass="textbox" /> + + ADD OBJECT '_gnom_venchel.cInactiv.Check1' AS checkbox WITH ; + Alignment = 2, ; + AutoSize = .T., ; + Caption = "", ; + Centered = .T., ; + FontName = "Arial Narrow", ; + Height = 17, ; + Left = 13, ; + Name = "Check1", ; + ReadOnly = .T., ; + Top = 30, ; + Width = 60 + *< END OBJECT: BaseClass="checkbox" /> + + ADD OBJECT '_gnom_venchel.cInactiv.Header1' AS header WITH ; + Alignment = 2, ; + Caption = "Inactiv", ; + FontName = "Arial Narrow", ; + Name = "Header1" + *< END OBJECT: BaseClass="header" /> + + ADD OBJECT '_gnom_venchel.cTip.Header1' AS header WITH ; + Alignment = 2, ; + Caption = "Tip", ; + FontName = "Arial Narrow", ; + Name = "Header1" + *< END OBJECT: BaseClass="header" /> + + ADD OBJECT '_gnom_venchel.cTip.Text1' AS textbox WITH ; + BackColor = 255,255,255, ; + BorderStyle = 0, ; + FontName = "Arial Narrow", ; + ForeColor = 0,0,0, ; + Margin = 0, ; + Name = "Text1", ; + ReadOnly = .T. + *< END OBJECT: BaseClass="textbox" /> + + ADD OBJECT 'But_excel1' AS but_excel WITH ; + Left = 454, ; + Name = "But_excel1", ; + Top = 1 + *< END OBJECT: ClassLib="cmd_butoane.vcx" BaseClass="commandbutton" /> + + ADD OBJECT 'But_listare1' AS but_listare WITH ; + Left = 424, ; + Name = "But_listare1", ; + Top = 1 + *< END OBJECT: ClassLib="cmd_butoane.vcx" BaseClass="commandbutton" /> + + ADD OBJECT 'But_modifica1' AS but_modifica WITH ; + Left = 366, ; + Name = "But_modifica1", ; + TabIndex = 6, ; + Top = 1, ; + Visible = .T. + *< END OBJECT: ClassLib="cmd_butoane.vcx" BaseClass="commandbutton" /> + + ADD OBJECT 'But_nou1' AS but_nou WITH ; + Left = 336, ; + Name = "But_nou1", ; + TabIndex = 7, ; + Top = 1, ; + Visible = .T. + *< END OBJECT: ClassLib="cmd_butoane.vcx" BaseClass="commandbutton" /> + + ADD OBJECT 'But_sterge1' AS but_sterge WITH ; + Left = 394, ; + Name = "But_sterge1", ; + TabIndex = 5, ; + Top = 1, ; + Visible = .T. + *< END OBJECT: ClassLib="cmd_butoane.vcx" BaseClass="commandbutton" /> + + ADD OBJECT 'Cmd_cauta1' AS cmd_cauta WITH ; + Left = 361, ; + Name = "Cmd_cauta1", ; + TabIndex = 2, ; + Top = 40 + *< END OBJECT: ClassLib="cmd_butoane.vcx" BaseClass="commandbutton" /> + + ADD OBJECT 'lb_nom_venchel' AS clb_tx_simplu WITH ; + Left = 61, ; + Name = "lb_nom_venchel", ; + TabIndex = 1, ; + Top = 40, ; + Text_simplu1.Name = "Text_simplu1", ; + Lb_simplu1.Caption = "Explicatia", ; + Lb_simplu1.Name = "Lb_simplu1" + *< END OBJECT: ClassLib="lb_tx.vcx" BaseClass="container" /> + + PROCEDURE actualizeaza_grid1 + LPARAMETERS pcFiltru + LOCAL lcFiltru + lcFiltru=pcFiltru + IF EMPTY(lcFiltru) + lcFiltru=povenchel.ca_baza1.cfiltru + ENDIF + save_grid_tag(thisform._gnom_venchel) + povenchel.ca_baza1.cfiltru=lcFiltru + povenchel.ca_baza1.afisare() + restore_grid_tag(thisform._gnom_venchel) + IF RECCOUNT('v_venchel')>0 + thisform._gnom_venchel.SetFocus() + ELSE + thisform.lb_nom_venchel.SetFocus() + ENDIF + + ENDPROC + + PROCEDURE do_adauga + SELECT v_venchel + SCATTER NAME loRec blank + DO Adauga_Modifica_Inregistrare WITH "venchel",loRec,,"INSERT" + this.actualizeaza_grid1() + ENDPROC + + PROCEDURE do_cauta + Local lcFiltru + lcFiltru=[] + lcNume = STRTRAN(Upper(Alltrim(This.lb_nom_venchel.text_simplu1.value)),['],['']) + If !Empty(lcNume) + lcFiltru=[explicatie like ']+lcNume+[%'] + ELSE + lcFiltru = [2=2] + Endif + This.MousePointer= 11 + This.LockScreen=.T. + Thisform.actualizeaza_grid1(lcFiltru) + IF RECCOUNT()=0 + aMESSAGEBOX("Cautarea nu a intors rezultate!",0+64,"Info cautare") + ENDIF + This.LockScreen=.F. + This.MousePointer= 0 + ENDPROC + + PROCEDURE do_modifica + If Reccount('v_venchel')>0 + Select v_venchel + Scatter Name loRec + Do Adauga_Modifica_Inregistrare With "venchel",loRec,loRec.Id_venchelt,"UPDATE" + Thisform.actualizeaza_grid1() + Else + amessagebox("Nu exista inregistrari pentru modificare!",48,"Atentie") + Endif + ENDPROC + + PROCEDURE do_sterge + If Reccount('v_venchel')>0 + Select v_venchel + Scatter Name lorec + Do STERGE_INREGISTRARE With "venchel",lorec.id_venchelt + + This.actualizeaza_grid1() + Else + amessagebox("Nu exista inregistrari pentru stergere!",48,"Atentie") + Endif + + ENDPROC + + PROCEDURE inainte_de_do_excel + lcTabel = Thisform._gnom_venchel.RecordSource + If Reccount(lcTabel)>0 + Do export_excel_grid With Thisform._gnom_venchel + Else + amessagebox("Nu exista inregistrari pentru export in Excel!",48,"Atentie") + Endif + ENDPROC + + PROCEDURE inainte_de_do_listare + lcTabel = Thisform._gnom_venchel.RecordSource + If Reccount(lcTabel)>0 + Thisform.AlwaysOnTop = .F. + + Private pcDataOra, pcTitlu + pcDataOra = get_ora(2) + pcTitlu = "Venituri / Cheltuieli" + + Local lcTabel, lcRaport + + lcRaport = 'rVenChelt.frx' + Select (lcTabel) + Report Form (lcRaport) To Printer Prompt Preview + Thisform.AlwaysOnTop = .T. + Else + amessagebox("Nu exista inregistrari pentru listare!",48,"Atentie") + Endif + ENDPROC + + PROCEDURE KeyPress + Lparameters nKeyCode, nShiftAltCtrl + lcActiveControl = UPPER(ALLTRIM(this.ActiveControl.name)) + + IF nKeyCode=13 AND lcActiveControl = '_GNOM_VENCHEL' + Nodefault + this.LB_nom_venchel.SetFocus + ENDIF + + + DODEFAULT(nKeyCode, nShiftAltCtrl) + + + ENDPROC + + PROCEDURE log + LPARAMETERS tctabela,tnId + + lcId = ALLTRIM(STR(tnId)) + lctabela = UPPER(ALLTRIM(tctabela)) + PRIVATE polog,pcschema1,pcselect1 + STORE '' TO polog + pcschema1 = [''] + pcselect1=['select * from ] + gcS + [.vlog where '] + pcorder1=['dataora'] + pcfiltru1 = [tabel = '] + lctabela + [' and id_tabel = ] + lcId + gencursor('polog','v_log',pcselect1,pcfiltru1,pcschema1,pcorder1) + polog.ca_baza1.afisare() + ofrmlog=CREATEOBJECT('frm_log') + ofrmlog.show(1) + RELEASE polog + ENDPROC + + PROCEDURE Unload + IF USED('v_venchel') + USE IN v_venchel + ENDIF + ENDPROC + + PROCEDURE _gnom_venchel.cExplicatie_fiu.Text1.DblClick + thisform.log("NOM_VENIT_CHELTUIELI",v_venchel.id_venchelt) + ENDPROC + +ENDDEFINE + +DEFINE CLASS frm_venchel_nou AS _frmbase OF "_frm_base.vcx" + *< CLASSDATA: Baseclass="form" Timestamp="" Scale="Pixels" Uniqueid="" /> + + *-- OBJECTDATA items order determines ZOrder / El orden de los items OBJECTDATA determina el ZOrder + *< OBJECTDATA: ObjPath="But_renunt1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="Clb_tx_simplu1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="Cus_odata_venchel1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="ck_inactiv" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="Cb_tx_simplu1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="Ct_clb_tata" UniqueID="" Timestamp="" /> + + * + *m: do_cauta_venchelt + *p: nid + *p: orec + * + + * + DoCreate = .T. + Height = 162 + Name = "frm_venchel_nou" + Width = 373 + _shape1.Name = "_shape1" + _shape2.Height = 29 + _shape2.Left = 312 + _shape2.Name = "_shape2" + _shape2.Top = 0 + _shape2.Width = 62 + Lb_titlu_alb_b121.Caption = "Venituri Cheltuieli" + Lb_titlu_alb_b121.Name = "Lb_titlu_alb_b121" + Lb_titlu_alb_b121.TabIndex = 7 + BUT_TERMIN1.Name = "BUT_TERMIN1" + BUT_TERMIN1.TabIndex = 5 + GRIDSORT1.Name = "GRIDSORT1" + * + + ADD OBJECT 'But_renunt1' AS but_renunt WITH ; + Left = 312, ; + Name = "But_renunt1", ; + TabIndex = 6, ; + Top = 1 + *< END OBJECT: ClassLib="cmd_butoane.vcx" BaseClass="commandbutton" /> + + ADD OBJECT 'Cb_tx_simplu1' AS cb_tx_simplu WITH ; + Left = 15, ; + Name = "Cb_tx_simplu1", ; + TabIndex = 2, ; + Top = 72, ; + _cbbase1.Name = "_cbbase1", ; + _cbbase1.RowSource = "Cheltuieli,Venituri", ; + _cbbase1.RowSourceType = 1, ; + _lbbase1.Caption = "Tip", ; + _lbbase1.Name = "_lbbase1" + *< END OBJECT: ClassLib="lb_tx.vcx" BaseClass="container" /> + + ADD OBJECT 'ck_inactiv' AS _checkbox WITH ; + Alignment = 0, ; + Caption = "Inactiv", ; + ControlSource = "porec.inactiv", ; + Left = 31, ; + Name = "ck_inactiv", ; + TabIndex = 4, ; + TabStop = .F., ; + Top = 138 + *< END OBJECT: ClassLib="_baza.vcx" BaseClass="checkbox" /> + + ADD OBJECT 'Clb_tx_simplu1' AS clb_tx_simplu WITH ; + Left = 15, ; + Name = "Clb_tx_simplu1", ; + TabIndex = 1, ; + Top = 44, ; + Text_simplu1.ControlSource = "porec.explicatie_fiu", ; + Text_simplu1.Format = "!K", ; + Text_simplu1.Name = "Text_simplu1", ; + Lb_simplu1.Caption = "Explicatia", ; + Lb_simplu1.Name = "Lb_simplu1" + *< END OBJECT: ClassLib="lb_tx.vcx" BaseClass="container" /> + + ADD OBJECT 'Ct_clb_tata' AS ct_clb_cautare WITH ; + cconditie = EMPTY(NVL(poRec.id_tata,0)), ; + cprocedura = thisform.do_cauta_venchelt, ; + cvar_afisata = poRec.explicatie_tata, ; + Left = 14, ; + Name = "Ct_clb_tata", ; + TabIndex = 3, ; + Top = 99, ; + IMG_CAUTARE.Name = "IMG_CAUTARE", ; + CLB_TX_CAUTARE.LB_SIMPLU1.Caption = "Parinte", ; + CLB_TX_CAUTARE.LB_SIMPLU1.Name = "LB_SIMPLU1", ; + CLB_TX_CAUTARE.Name = "CLB_TX_CAUTARE", ; + CLB_TX_CAUTARE.TEXT_SIMPLU1.Name = "TEXT_SIMPLU1" + *< END OBJECT: ClassLib="..\..\..\roafacturare\comun\clase\caut_ora.vcx" BaseClass="container" /> + + ADD OBJECT 'Cus_odata_venchel1' AS cus_odata_venchel WITH ; + Left = 336, ; + Name = "Cus_odata_venchel1", ; + Top = 48 + *< END OBJECT: ClassLib="onomenclatoare.vcx" BaseClass="custom" /> + + PROCEDURE do_cauta_venchelt + Local loCauta + If This.cus_odata_venchel1.cactiune = 'INSERT' + loCauta = caut_venchelt(1,.F.,poRec.tip_venchelt) + Else + loCauta = caut_venchelt(1,.F.,poRec.tip_venchelt,poRec.id_venchelt) + Endif + If !Empty(Nvl(loCauta.id_venchelt,0)) + poRec.id_tata = loCauta.id_venchelt + poRec.explicatie_tata = loCauta.explicatie + + Thisform.ck_inactiv.SetFocus() + Else + poRec.id_tata = Null + poRec.explicatie_tata = [] + Endif + + ENDPROC + + PROCEDURE inainte_de_do_termin + LOCAL PLRETURN + + lccontrol = UPPER(this.ActiveControl.BaseClass ) + IF INLIST(lccontrol,"TEXTBOX","EDITBOX","COMBOBOX") + lcval=This.Activecontrol.controlsource + &lcval=thisform.ActiveControl.value + ENDIF + + + PLRETURN=This.cus_odata_venchel1.salvare(This.OREC,This.NID) + Return PLRETURN + + ENDPROC + + PROCEDURE Init + LPARAMETERS toRec, tnId, tcActiune + + DODEFAULT() + + this.orec= toRec + this.nid = tnId + this.cus_odata_venchel1.cactiune = tcActiune + ENDPROC + + PROCEDURE Cb_tx_simplu1._cbbase1.Init + IF porec.tip_venchelt = 1 + this.Value = "Cheltuieli" + ELSE + this.Value = "Venituri" + ENDIF + ENDPROC + + PROCEDURE Cb_tx_simplu1._cbbase1.InteractiveChange + IF this.Value = "Cheltuieli" + porec.tip_venchelt = 1 + ELSE + porec.tip_venchelt = 2 + ENDIF + ENDPROC + + PROCEDURE Cb_tx_simplu1._cbbase1.ProgrammaticChange + IF this.Value = "Cheltuieli" + porec.tip_venchelt = 1 + ELSE + porec.tip_venchelt = 2 + ENDIF + ENDPROC + +ENDDEFINE diff --git a/clase/onomenclatoare2.vc2 b/clase/onomenclatoare2.vc2 new file mode 100644 index 0000000..dd17158 --- /dev/null +++ b/clase/onomenclatoare2.vc2 @@ -0,0 +1,640 @@ +*-------------------------------------------------------------------------------------------------------------------------------------------------------- +* (EN) AUTOGENERATED - ATTENTION!! - NOT INTENDED FOR EXECUTION!! USE ONLY FOR MERGING CHANGES AND STORING WITH SCM TOOLS!! +*-------------------------------------------------------------------------------------------------------------------------------------------------------- +*< FOXBIN2PRG: Version="1.21" SourceFile="onomenclatoare2.vcx" CPID="1252" /> (Solo para binarios VFP 9 / Only for VFP 9 binaries) +* +* +DEFINE CLASS cus_odata_masini AS _cusodatabase OF "_cus_odata_base.vcx" + *< CLASSDATA: Baseclass="custom" Timestamp="" Scale="Pixels" Uniqueid="" /> + + * + Name = "cus_odata_masini" + * + + PROCEDURE make_sql + Lparameters toRec,tnId + + lcActiune = Alltrim(This.cActiune) + + If Inlist(lcActiune, "UPDATE",'INSERT') And Type('toRec') != "O" + Return .F. + Endif + + If Inlist(lcActiune, "UPDATE",'DELETE') And Type('tnId') != "N" + Return .F. + Endif + + If Inlist(lcActiune, "UPDATE",'DELETE') + lcId = Alltrim(Str(tnId)) + *!* lcnom = gcS + ".dev_masiniclienti" + *!* lcamp = "id_masiniclient" + *!* lclook = gcS + ".dev_vordl" + *!* lclookid = "id_masiniclient" + Endif + + If Inlist(lcActiune, "UPDATE",'INSERT') + lcId_partener = Nvl(Alltrim(Str(toRec.id_part)),"") + lcId_model_masina = Iif(Empty(Nvl(toRec.id_model_masina,0)) and Empty(Nvl(toRec.model_masina,[])),[NULL],; + Nvl(Alltrim(Str(toRec.id_model_masina)),"")) + lcnrinmat = Nvl(Strtran(Alltrim(Upper(toRec.nrinmat)),['],['']),"") + lcculoare = Nvl(Strtran(Alltrim(Upper(toRec.culoare)),['],['']),"") + lcseries = Nvl(Strtran(Alltrim(Upper(toRec.series)),['],['']),"") + lcseriem = Nvl(Strtran(Alltrim(Upper(toRec.seriem)),['],['']),"") + lckmint = Nvl(Alltrim(Str(toRec.kmint)),"") + lcdataachi = Nvl(Alltrim(Dtos(toRec.dataachi)),"") + lcserief = Nvl(Strtran(Alltrim(Upper(toRec.serief)),['],['']),"") + lcId_furnizor = Nvl(Alltrim(Str(toRec.id_furnizor)),"") + lcinactiv = Nvl(Alltrim(Str(toRec.inactiv)),"") + Endif + + + Do Case + Case lcActiune = "INSERT" + lcSql = [begin pack_comenzi.adauga_masina(] + ; + lcId_model_masina + [,'] + lcnrinmat +[',']+lcculoare + [',]+ALLTRIM(STR(gnIdUtil))+[); end;] + + Case lcActiune = "UPDATE" + lcSql = [begin pack_comenzi.modifica_masina(]+lcId+[,] + lcId_model_masina +; + [,']+ lcnrinmat + [','] + lcculoare + [',]+ALLTRIM(STR(gnIdUtil))+[); end;] + + Case lcActiune = "DELETE" + lcSql = [begin pack_comenzi.sterge_masina(]+lcId+[,]+ALLTRIM(STR(gnIdUtil))+[); end;] + *!* lcSql = [begin nomdelproc('] + lcnom + [','] + lcamp + [',] + lcId + [,'] + lclook + [','] + lclookid + ['); end;] + Endcase + This.csql = lcSql + + ENDPROC + +ENDDEFINE + +DEFINE CLASS frm_masini AS _frmbase OF "_frm_base.vcx" + *< CLASSDATA: Baseclass="form" Timestamp="" Scale="Pixels" Uniqueid="" /> + + *-- OBJECTDATA items order determines ZOrder / El orden de los items OBJECTDATA determina el ZOrder + *< OBJECTDATA: ObjPath="But_nou1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="But_sterge1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="gmasini" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="gmasini.cMarca.Header1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="gmasini.cMarca.Text1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="gmasini.cModel.Header1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="gmasini.cModel.Text1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="gmasini.cNrinmat.Header1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="gmasini.cNrinmat.Text1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="gmasini.cCuloare.Header1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="gmasini.cCuloare.Text1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="gmasini.cInactiv.Header1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="gmasini.cInactiv.Check1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="Ck_marca" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="Ck_model" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="Ck_nrinmat" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="Cmd_cauta1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="But_modifica1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="Cmd_reset1" UniqueID="" Timestamp="" /> + + * + cgridsortlist = gmasini + DoCreate = .T. + Height = 590 + Name = "frm_masini" + Width = 472 + _shape1.Anchor = 10 + _shape1.Height = 29 + _shape1.Left = 0 + _shape1.Name = "_shape1" + _shape1.Top = 0 + _shape1.Width = 470 + _shape1.ZOrderSet = 2 + _shape2.Anchor = 8 + _shape2.Height = 29 + _shape2.Left = 342 + _shape2.Name = "_shape2" + _shape2.Top = -1 + _shape2.Width = 129 + _shape2.ZOrderSet = 3 + Lb_titlu_alb_b121.Caption = "Maºini" + Lb_titlu_alb_b121.FontBold = .T. + Lb_titlu_alb_b121.Name = "Lb_titlu_alb_b121" + Lb_titlu_alb_b121.TabIndex = 18 + Lb_titlu_alb_b121.ZOrderSet = 4 + BUT_TERMIN1.Anchor = 8 + BUT_TERMIN1.Left = 439 + BUT_TERMIN1.Name = "BUT_TERMIN1" + BUT_TERMIN1.TabIndex = 16 + BUT_TERMIN1.Top = 0 + BUT_TERMIN1.ZOrderSet = 8 + Gridsort1.Name = "Gridsort1" + * + + ADD OBJECT 'But_modifica1' AS but_modifica WITH ; + Anchor = 8, ; + Left = 378, ; + Name = "But_modifica1", ; + Top = 0 + *< END OBJECT: ClassLib="cmd_butoane.vcx" BaseClass="commandbutton" /> + + ADD OBJECT 'But_nou1' AS but_nou WITH ; + Anchor = 8, ; + Left = 347, ; + Name = "But_nou1", ; + Top = 0 + *< END OBJECT: ClassLib="cmd_butoane.vcx" BaseClass="commandbutton" /> + + ADD OBJECT 'But_sterge1' AS but_sterge WITH ; + Anchor = 8, ; + Left = 409, ; + Name = "But_sterge1", ; + Top = 0 + *< END OBJECT: ClassLib="cmd_butoane.vcx" BaseClass="commandbutton" /> + + ADD OBJECT 'Ck_marca' AS ck_filtru_text WITH ; + Alignment = 0, ; + camp_nume = marca_masina, ; + Caption = "Marca maºinii", ; + Left = 24, ; + Name = "Ck_marca", ; + TabIndex = 8, ; + Top = 36, ; + Width = 77, ; + ZOrderSet = 9 + *< END OBJECT: ClassLib="caut_ora.vcx" BaseClass="checkbox" /> + + ADD OBJECT 'Ck_model' AS ck_filtru_text WITH ; + Alignment = 0, ; + camp_nume = model_masina, ; + Caption = "Model", ; + Left = 24, ; + Name = "Ck_model", ; + TabIndex = 9, ; + Top = 51, ; + Width = 44, ; + ZOrderSet = 10 + *< END OBJECT: ClassLib="caut_ora.vcx" BaseClass="checkbox" /> + + ADD OBJECT 'Ck_nrinmat' AS ck_filtru_text WITH ; + Alignment = 0, ; + camp_nume = nrinmat, ; + Caption = "Nr. înmatriculare", ; + Left = 24, ; + Name = "Ck_nrinmat", ; + TabIndex = 10, ; + Top = 65, ; + Width = 87, ; + ZOrderSet = 11 + *< END OBJECT: ClassLib="caut_ora.vcx" BaseClass="checkbox" /> + + ADD OBJECT 'Cmd_cauta1' AS cmd_cauta WITH ; + Anchor = 8, ; + Left = 252, ; + Name = "Cmd_cauta1", ; + TabIndex = 2, ; + Top = 45, ; + ZOrderSet = 14 + *< END OBJECT: ClassLib="cmd_butoane.vcx" BaseClass="commandbutton" /> + + ADD OBJECT 'Cmd_reset1' AS cmd_reset WITH ; + Anchor = 8, ; + Left = 364, ; + Name = "Cmd_reset1", ; + TabIndex = 17, ; + Top = 45, ; + ZOrderSet = 15 + *< END OBJECT: ClassLib="cmd_butoane.vcx" BaseClass="commandbutton" /> + + ADD OBJECT 'gmasini' AS _grdrow WITH ; + Anchor = 15, ; + ColumnCount = 5, ; + DeleteMark = .F., ; + FontName = "Arial Narrow", ; + Height = 480, ; + Left = 15, ; + Name = "gmasini", ; + Panel = 1, ; + ReadOnly = .T., ; + RecordSource = "crsmasini", ; + TabIndex = 4, ; + Top = 96, ; + Width = 441, ; + ZOrderSet = 7, ; + Column1.ControlSource = "marca_masina", ; + Column1.FontName = "Arial Narrow", ; + Column1.Name = "cMarca", ; + Column1.ReadOnly = .T., ; + Column1.Width = 119, ; + Column2.ControlSource = "model_masina", ; + Column2.FontName = "Arial Narrow", ; + Column2.Name = "cModel", ; + Column2.ReadOnly = .T., ; + Column2.Width = 93, ; + Column3.ControlSource = "nrinmat", ; + Column3.FontName = "Arial Narrow", ; + Column3.Name = "cNrinmat", ; + Column3.ReadOnly = .T., ; + Column3.Width = 76, ; + Column4.ControlSource = "culoare", ; + Column4.FontName = "Arial Narrow", ; + Column4.Name = "cCuloare", ; + Column4.ReadOnly = .T., ; + Column4.Width = 73, ; + Column5.ControlSource = "inactiv", ; + Column5.FontName = "Arial Narrow", ; + Column5.Name = "cInactiv", ; + Column5.ReadOnly = .T., ; + Column5.Sparse = .F., ; + Column5.Visible = .T., ; + Column5.Width = 36 + *< END OBJECT: ClassLib="_grd_base.vcx" BaseClass="grid" /> + + ADD OBJECT 'gmasini.cCuloare.Header1' AS header WITH ; + Alignment = 2, ; + Caption = "Culoare", ; + FontName = "Arial Narrow", ; + Name = "Header1" + *< END OBJECT: BaseClass="header" /> + + ADD OBJECT 'gmasini.cCuloare.Text1' AS textbox WITH ; + BackColor = 255,255,255, ; + BorderStyle = 0, ; + FontName = "Arial Narrow", ; + ForeColor = 0,0,0, ; + Margin = 0, ; + Name = "Text1", ; + ReadOnly = .T. + *< END OBJECT: BaseClass="textbox" /> + + ADD OBJECT 'gmasini.cInactiv.Check1' AS checkbox WITH ; + Alignment = 0, ; + Caption = "", ; + Centered = .T., ; + FontName = "Arial Narrow", ; + Height = 17, ; + Left = 30, ; + Name = "Check1", ; + ReadOnly = .T., ; + Top = 40, ; + Visible = .T., ; + Width = 60 + *< END OBJECT: BaseClass="checkbox" /> + + ADD OBJECT 'gmasini.cInactiv.Header1' AS header WITH ; + Alignment = 2, ; + Caption = "Inactiv", ; + FontName = "Arial Narrow", ; + Name = "Header1" + *< END OBJECT: BaseClass="header" /> + + ADD OBJECT 'gmasini.cMarca.Header1' AS header WITH ; + Alignment = 2, ; + Caption = "Marca masinii", ; + FontName = "Arial Narrow", ; + Name = "Header1" + *< END OBJECT: BaseClass="header" /> + + ADD OBJECT 'gmasini.cMarca.Text1' AS textbox WITH ; + BackColor = 255,255,255, ; + BorderStyle = 0, ; + FontName = "Arial Narrow", ; + ForeColor = 0,0,0, ; + Margin = 0, ; + Name = "Text1", ; + ReadOnly = .T. + *< END OBJECT: BaseClass="textbox" /> + + ADD OBJECT 'gmasini.cModel.Header1' AS header WITH ; + Alignment = 2, ; + Caption = "Model", ; + FontName = "Arial Narrow", ; + Name = "Header1" + *< END OBJECT: BaseClass="header" /> + + ADD OBJECT 'gmasini.cModel.Text1' AS textbox WITH ; + BackColor = 255,255,255, ; + BorderStyle = 0, ; + FontName = "Arial Narrow", ; + ForeColor = 0,0,0, ; + Margin = 0, ; + Name = "Text1", ; + ReadOnly = .T. + *< END OBJECT: BaseClass="textbox" /> + + ADD OBJECT 'gmasini.cNrinmat.Header1' AS header WITH ; + Alignment = 2, ; + Caption = "Nr. inmatriculare", ; + FontName = "Arial Narrow", ; + Name = "Header1" + *< END OBJECT: BaseClass="header" /> + + ADD OBJECT 'gmasini.cNrinmat.Text1' AS textbox WITH ; + BackColor = 255,255,255, ; + BorderStyle = 0, ; + FontName = "Arial Narrow", ; + ForeColor = 0,0,0, ; + Margin = 0, ; + Name = "Text1", ; + ReadOnly = .T. + *< END OBJECT: BaseClass="textbox" /> + + PROCEDURE actualizeaza_grid1 + Lparameters tcFiltru + Local lcFiltru + lcFiltru = tcFiltru + If Empty(lcFiltru) + lcFiltru = pomasini.ca_baza1.cfiltru + Endif + save_grid_comment(This.gmasini) + pomasini.ca_baza1.cfiltru = lcFiltru + pomasini.ca_baza1.afisare() + restore_grid_comment(This.gmasini) + ENDPROC + + PROCEDURE do_adauga + Private pniesire + pniesire=0 + + Select crsmasini + Scatter Name loRec Blank + loRec.dataachi={} + Do Adauga_Modifica_Inregistrare With "masini",loRec,,"INSERT",,"addmasclie" + If pniesire=1 + This.actualizeaza_grid1() + Endif + Thisform.gmasini.SetFocus() + ENDPROC + + PROCEDURE do_cauta + Local lcFiltru + Store [] To lcFiltru + + If Thisform.ck_marca.Value = 1 + lcFiltru = lcFiltru + Thisform.ck_marca.filtru + Endif + + If Thisform.ck_model.Value = 1 + lcFiltru = lcFiltru + Thisform.ck_model.filtru + Endif + + If Thisform.ck_nrinmat.Value = 1 + lcFiltru = lcFiltru + Thisform.ck_nrinmat.filtru + Endif + + If !Empty(lcFiltru) + lcFiltru=Substr(lcFiltru,6) + Else + lcFiltru=[2=2] + Endif + + Thisform.actualizeaza_grid1(lcFiltru) + + If Reccount('crsmasini')=0 + amessagebox("Cautarea nu a intors rezultate!",64,"Info cautare") + Thisform.ck_marca.SetFocus() + Else + Thisform.gmasini.SetFocus() + Endif + + ENDPROC + + PROCEDURE do_modifica + If Reccount('crsmasini')>0 + Private pniesire + pniesire=0 + + Select crsmasini + Scatter Name loRec + Do Adauga_Modifica_Inregistrare With "masini",loRec,loRec.id_masina,"UPDATE",,"modmasclie" + If pniesire=1 + This.actualizeaza_grid1() + Endif + Thisform.gmasini.SetFocus() + Else + amessagebox("Nu puteti face modificari,deoarece in aceasta selectie nu exista inregistrari!",0+48,"Atentie") + Thisform.ck_marca.SetFocus() + Endif + + ENDPROC + + PROCEDURE do_reset + Thisform.ck_marca.Value = 0 + Thisform.ck_model.Value = 0 + Thisform.ck_nrinmat.Value = 0 + *!* modificare ROAFACTURARE v 2.0.71 + *!* Thisform.ck_seriem.Value = 0 + *!* Thisform.ck_series.Value = 0 + *!* modificare ROAFACTURARE v 2.0.71 ^ + Thisform.Refresh + ENDPROC + + PROCEDURE do_sterge + If Reccount('crsmasini')>0 + Select crsmasini + Scatter Name loRec + Do STERGE_INREGISTRARE With "masini",loRec.id_masina + This.actualizeaza_grid1() + Else + amessagebox("Nu puteti sterge,deoarece in aceasta selectie nu exista inregistrari!",0+48,"Atentie") + Endif + ENDPROC + +ENDDEFINE + +DEFINE CLASS frm_masini_nou AS _frmbase OF "_frm_base.vcx" + *< CLASSDATA: Baseclass="form" Timestamp="" Scale="Pixels" Uniqueid="" /> + + *-- OBJECTDATA items order determines ZOrder / El orden de los items OBJECTDATA determina el ZOrder + *< OBJECTDATA: ObjPath="clb_nrinmat" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="cb_model" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="clb_culoare" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="But_renunt1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="_checkbox1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="Cus_odata_masini1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="Ct_clb_marca" UniqueID="" Timestamp="" /> + + * + *m: do_cauta_marca + *p: nid + *p: orec + * + + * + DoCreate = .T. + Height = 193 + Name = "frm_masini_nou" + Width = 374 + _shape1.Name = "_shape1" + _shape2.Height = 29 + _shape2.Left = 312 + _shape2.Name = "_shape2" + _shape2.Top = 0 + _shape2.Width = 64 + Lb_titlu_alb_b121.Caption = "MAªINA" + Lb_titlu_alb_b121.FontBold = .T. + Lb_titlu_alb_b121.Name = "Lb_titlu_alb_b121" + Lb_titlu_alb_b121.TabIndex = 8 + BUT_TERMIN1.Left = 344 + BUT_TERMIN1.Name = "BUT_TERMIN1" + BUT_TERMIN1.TabIndex = 6 + BUT_TERMIN1.Top = 1 + GRIDSORT1.Name = "GRIDSORT1" + * + + ADD OBJECT '_checkbox1' AS _checkbox WITH ; + Alignment = 0, ; + Caption = "Inactiv", ; + ControlSource = "porec.inactiv", ; + Left = 36, ; + Name = "_checkbox1", ; + TabIndex = 5, ; + Top = 168 + *< END OBJECT: ClassLib="_baza.vcx" BaseClass="checkbox" /> + + ADD OBJECT 'But_renunt1' AS but_renunt WITH ; + Left = 314, ; + Name = "But_renunt1", ; + TabIndex = 7, ; + Top = 1 + *< END OBJECT: ClassLib="cmd_butoane.vcx" BaseClass="commandbutton" /> + + ADD OBJECT 'cb_model' AS cb_tx_simplu WITH ; + Left = 29, ; + Name = "cb_model", ; + TabIndex = 2, ; + Top = 70, ; + _cbbase1.ControlSource = "porec.model_masina", ; + _cbbase1.Name = "_cbbase1", ; + _lbbase1.Caption = "Model:", ; + _lbbase1.Name = "_lbbase1" + *< END OBJECT: ClassLib="lb_tx.vcx" BaseClass="container" /> + + ADD OBJECT 'clb_culoare' AS clb_tx_simplu WITH ; + Left = 29, ; + Name = "clb_culoare", ; + TabIndex = 4, ; + Top = 126, ; + Text_simplu1.ControlSource = "porec.culoare", ; + Text_simplu1.Name = "Text_simplu1", ; + Lb_simplu1.Caption = "Culoare:", ; + Lb_simplu1.Name = "Lb_simplu1" + *< END OBJECT: ClassLib="lb_tx.vcx" BaseClass="container" /> + + ADD OBJECT 'clb_nrinmat' AS clb_tx_simplu WITH ; + Left = 29, ; + Name = "clb_nrinmat", ; + TabIndex = 3, ; + Top = 98, ; + Text_simplu1.ControlSource = "porec.nrinmat", ; + Text_simplu1.MaxLength = 25, ; + Text_simplu1.Name = "Text_simplu1", ; + Lb_simplu1.Caption = "Nr. înmatriculare:", ; + Lb_simplu1.Name = "Lb_simplu1" + *< END OBJECT: ClassLib="lb_tx.vcx" BaseClass="container" /> + + ADD OBJECT 'Ct_clb_marca' AS ct_clb_cautare WITH ; + cconditie = Empty(NVL(porec.id_marca_masina,0)), ; + cprocedura = Thisform.do_cauta_marca, ; + cvar_afisata = porec.marca_masina, ; + Height = 31, ; + Left = 28, ; + Name = "Ct_clb_marca", ; + TabIndex = 1, ; + Top = 41, ; + Width = 331, ; + IMG_CAUTARE.Left = 309, ; + IMG_CAUTARE.Name = "IMG_CAUTARE", ; + IMG_CAUTARE.Top = 5, ; + CLB_TX_CAUTARE.Height = 29, ; + CLB_TX_CAUTARE.LB_SIMPLU1.Caption = "Marca", ; + CLB_TX_CAUTARE.LB_SIMPLU1.Name = "LB_SIMPLU1", ; + CLB_TX_CAUTARE.Left = 1, ; + CLB_TX_CAUTARE.Name = "CLB_TX_CAUTARE", ; + CLB_TX_CAUTARE.TEXT_SIMPLU1.Left = 102, ; + CLB_TX_CAUTARE.TEXT_SIMPLU1.Name = "TEXT_SIMPLU1", ; + CLB_TX_CAUTARE.TEXT_SIMPLU1.Top = 3, ; + CLB_TX_CAUTARE.Top = 1, ; + CLB_TX_CAUTARE.Width = 290 + *< END OBJECT: ClassLib="caut_ora.vcx" BaseClass="container" /> + + ADD OBJECT 'Cus_odata_masini1' AS cus_odata_masini WITH ; + Left = 6, ; + Name = "Cus_odata_masini1", ; + Top = 148 + *< END OBJECT: ClassLib="onomenclatoare2.vcx" BaseClass="custom" /> + + PROCEDURE do_cauta_marca + locauta=caut_marca_masina() + If !Isnull(locauta) + porec.marca_masina = locauta.marca_masina + porec.id_marca_masina = locauta.id_marca_masina + + update_modele_masini(porec.id_marca_masina) + Thisform.cb_model._CBBASE1.RowSource=[crsmodelemasini.model_masina,id_model_masina] + Thisform.cb_model._CBBASE1.RowSourceType= 6 + + Thisform.ct_clb_marca.Refresh() + Thisform.cb_model._CBBASE1.Requery + Thisform.cb_model._CBBASE1.Refresh() + Endif + + *!* Select v_masini + *!* Set Filter To id_marca = porec.id_marca + *!* Locate For Alltrim(masina)=pcmasina + *!* porec.id_masina=id_masina + *!* Thisform.cb_tx_simplu2._CBBASE1.SetFocus() + *!* Thisform.clb_tx_simplu1.SetFocus() + + ENDPROC + + PROCEDURE inainte_de_do_termin + Local PLRETURN + lccontrol = Upper(This.ActiveControl.BaseClass ) + If Inlist(lccontrol,"TEXTBOX","EDITBOX","COMBOBOX") + lcval=This.ActiveControl.ControlSource + &lcval=Thisform.ActiveControl.Value + Endif + Do Case + *!* modificare ROAFACTURARE v 2.0.3 + *!* Case Empty(porec.marca_masina) + *!* amessagebox('Nu ati completat marca masinii!',0+48,"Atentie") + *!* Thisform.ct_clb_marca.SetFocus() + *!* PLRETURN=.F. + *!* Case Empty(porec.model_masina) + *!* amessagebox('Nu ati completat modelul masinii!',0+48,"Atentie") + *!* Thisform.cb_model.SetFocus() + *!* PLRETURN=.F. + *!* modificare ROAFACTURARE v 2.0.3 ^ + Case Empty(porec.nrinmat) + amessagebox('Nu ati completat numarul de inmatriculare al masinii!',0+48,"Atentie") + Thisform.clb_nrinmat.SetFocus() + PLRETURN=.F. + + Otherwise + PLRETURN=This.cus_odata_masini1.salvare(This.OREC,This.NID) + If !PLRETURN + Thisform.clb_nrinmat.SetFocus() + Endif + Endcase + Return PLRETURN + ENDPROC + + PROCEDURE Init + Lparameters toRec, tnId, tcActiune + + DoDefault() + + This.orec= toRec + This.nid = tnId + This.cus_odata_masini1.cactiune = tcActiune + If tcActiune='UPDATE' + update_modele_masini(porec.id_marca_masina) + Thisform.cb_model._CBBASE1.RowSource=[crsmodelemasini.model_masina,id_model_masina] + Thisform.cb_model._CBBASE1.RowSourceType= 6 + Select crsmodelemasini + Locate For model_masina=porec.model_masina + Thisform.cb_model._CBBASE1.Requery + Thisform.cb_model._CBBASE1.Refresh() + Endif + ENDPROC + + PROCEDURE cb_model._cbbase1.InteractiveChange + porec.id_model_masina = crsmodelemasini.id_model_masina + ENDPROC + +ENDDEFINE diff --git a/clase/onote_contabile.vc2 b/clase/onote_contabile.vc2 new file mode 100644 index 0000000..bb3ee67 --- /dev/null +++ b/clase/onote_contabile.vc2 @@ -0,0 +1,7930 @@ +*-------------------------------------------------------------------------------------------------------------------------------------------------------- +* (EN) AUTOGENERATED - ATTENTION!! - NOT INTENDED FOR EXECUTION!! USE ONLY FOR MERGING CHANGES AND STORING WITH SCM TOOLS!! +*-------------------------------------------------------------------------------------------------------------------------------------------------------- +*< FOXBIN2PRG: Version="1.21" SourceFile="onote_contabile.vcx" CPID="1252" /> (Solo para binarios VFP 9 / Only for VFP 9 binaries) +* +* +DEFINE CLASS cus_odata_config_analitice AS _cusodatabase OF "_cus_odata_base.vcx" + *< CLASSDATA: Baseclass="custom" Timestamp="" Scale="Pixels" Uniqueid="" /> + + * + Name = "cus_odata_config_analitice" + * + + PROCEDURE make_sql + Lparameters toRec,tnId + + lcActiune = Alltrim(This.cActiune) + + If Inlist(lcActiune, "UPDATE",'INSERT') And Type('toRec') != "O" + Return .F. + Endif + + If Inlist(lcActiune, "UPDATE",'DELETE') And Type('tnId') != "N" + Return .F. + Endif + + If Inlist(lcActiune, "UPDATE",'DELETE') + lcId = Alltrim(Str(tnId)) + Endif + + + If Inlist(lcActiune, "UPDATE",'INSERT') + lcCont = Nvl(STRTRAN(Alltrim(toRec.cont),['],['']),"") + lcTabelPrefix = Nvl(STRTRAN(Alltrim(toRec.tabel_prefix),['],['']),"") + lcColPrefix = Nvl(STRTRAN(Alltrim(toRec.col_prefix),['],['']),"") + lcTabelSufix = Nvl(STRTRAN(Alltrim(toRec.tabel_sufix),['],['']),"") + lcColSufix = Nvl(STRTRAN(Alltrim(toRec.col_sufix),['],['']),"") + lcCampLegPrefix = Nvl(STRTRAN(Alltrim(toRec.camp_leg_prefix),['],['']),"") + lcCampLegSufix = Nvl(STRTRAN(Alltrim(toRec.camp_leg_sufix),['],['']),"") + lcPozStartPrefix = Nvl(TRANSFORM(toRec.poz_start_prefix),"0") + lcPozStartSufix = Nvl(TRANSFORM(toRec.poz_start_sufix),"0") + lcNrReturnPrefix = Nvl(TRANSFORM(toRec.nr_return_prefix),"0") + lcNrReturnSufix = Nvl(TRANSFORM(toRec.nr_return_sufix),"0") + Endif + + + Do Case + Case lcActiune = "INSERT" + + lcSql = [INSERT INTO ] + gcS + [.config_analitice (cont, tabel_prefix, col_prefix, tabel_sufix, col_sufix, camp_leg_prefix, camp_leg_sufix, poz_start_prefix, nr_return_prefix, poz_start_sufix, nr_return_sufix)] + ; + [ VALUES ('] + lcCont + [','] + lcTabelPrefix + [','] + lcColPrefix + [','] + lcTabelSufix + [','] + lcColSufix + [','] + lcCampLegPrefix + ; + [','] + lcCampLegSufix + [',] + lcPozStartPrefix + [,] + lcNrReturnPrefix + [,] + lcPozStartSufix + [,] + lcNrReturnSufix + [)] + + Case lcActiune = "UPDATE" + + lcSql = [UPDATE ] + gcS + [.config_analitice SET cont = '] + lcCont + ; + [',tabel_prefix = '] + lcTabelPrefix + [',tabel_sufix = '] + lcTabelSufix + [',col_prefix = '] + lcColPrefix + [',col_sufix = '] + lcColSufix + ; + [',camp_leg_prefix = '] + lcCampLegPrefix + [',camp_leg_sufix = '] + lcCampLegSufix + [',poz_start_prefix = ] + lcPozStartPrefix + [,nr_return_prefix = ] + lcNrReturnPrefix + ; + [,poz_start_sufix = ] + lcPozStartSufix + [,nr_return_sufix = ] + lcNrReturnSufix + ; + [ where id_config_ana = ] + lcId + + Case lcActiune = "DELETE" + + lcSql = [delete from ] + gcS + [.config_analitice where id_config_ana =] + lcId + ENDCASE + + This.csql = lcSql + + ENDPROC + + PROCEDURE salvare + Lparameters toRec,tnId + + Private llSucces, lnSucces + + llSucces = .T. + lnSucces = -1 + lcActiune = Upper(Alltrim(This.cactiune)) + lcMesaj1 = '' + lcTitlu = '' + Do Case + Case lcActiune = "INSERT" + lcMesaj1 = "Doriti sa adaugati inregistrarea?" + lcTitlu = "Adaugare" + *lnOptiuni = 4 + 32 + Case lcActiune = "UPDATE" + lcMesaj1 = "Doriti sa salvati modificarile?" + lcTitlu = "Modificare" + *lnOptiuni = 4 + 32 + Case lcActiune = "DELETE" + lcMesaj1 = "Doriti sa stergeti inregistrarea?" + lcTitlu = "Stergere" + *lnOptiuni = 4 + 32 + 512 + Endcase + + + IF AMESSAGEBOX(lcMesaj1,0+4,lcTitlu) = 6 + BUTON = 1 + PNIESIRE=1 + If This.validare() + + This.make_sql(toRec,tnId) + + lcSql = Upper(Alltrim(This.csql)) + + llConditie = 'INSERT'$lcSql Or 'UPDATE'$lcSql Or 'DELETE'$lcSql Or 'BEGIN'$lcSql + + If llConditie + lnSucces = goExecutor.oExecute(lcSql) + If lnSucces < 0 + + lcTextEroare = goExecutor.cEroare + + Do Case + Case "ORA-20000"$lcTextEroare + lnPozi=At("ORA-20000",lcTextEroare)+11 + lnPozf=At("ORA",lcTextEroare,2) + lcMesaj=Substr(lcTextEroare,lnPozi,lnPozf-lnPozi) + lcTitlu="Eroare" + Case lcActiune = "INSERT" + lcMesaj = "Inregistrarea nu a fost adaugata." + Chr(13) + Chr(10) + lcTextEroare + lcTitlu = "Adaugare" + Case lcActiune = "UPDATE" + lcMesaj = "Inregistrarea nu a fost modificata." + Chr(13) + Chr(10) + lcTextEroare + lcTitlu = "Modificare" + Case lcActiune = "DELETE" + lcMesaj = "Inregistrarea nu a fost stearsa." + Chr(13) + Chr(10) + lcTextEroare + lcTitlu = "Stergere" + Endcase + + + AMESSAGEBOX(lcMesaj,0+16,lcTitlu) + llSucces = .F. + Endif + + If lnSucces >=1 And lcActiune = "DELETE" + lcMesaj = "Inregistrarea a fost stearsa." + lcTitlu = "Stergere" + lcimagine = [info_c.ico] + lctip = [Informare] + ofrm_mesaj = CREATEOBJECT([frm_mesaj],lcTitlu,lcimagine,lctip,lcMesaj) + ofrm_mesaj.show(1) + RELEASE ofrm_mesaj + Endif + Endif + + Endif + + Else + BUTON = 2 + PNIESIRE=2 + Endif + + + Return llSucces + + ENDPROC + +ENDDEFINE + +DEFINE CLASS cus_odata_config_gruputil_analitice AS _cusodatabase OF "_cus_odata_base.vcx" + *< CLASSDATA: Baseclass="custom" Timestamp="" Scale="Pixels" Uniqueid="" /> + + * + Name = "cus_odata_config_gruputil_analitice" + * + + PROCEDURE make_sql + Lparameters toRec,tnId + + lcActiune = Alltrim(This.cActiune) + + If Inlist(lcActiune, "UPDATE",'INSERT') And Type('toRec') != "O" + Return .F. + Endif + + If Inlist(lcActiune, "UPDATE",'DELETE') And Type('tnId') != "N" + Return .F. + Endif + + If Inlist(lcActiune, "UPDATE",'DELETE') + lcId = Alltrim(Str(tnId)) + Endif + + + If Inlist(lcActiune, "UPDATE",'INSERT') + lcIdGrup = Iif(!IsNull(toRec.id_grup), Alltrim(Str(toRec.id_grup)),"") + lcCont = Nvl(STRTRAN(Alltrim(toRec.cont),['],['']),"") + lcAcont = Nvl(STRTRAN(Alltrim(toRec.acont),['],['']),"") + lcIdUtil = Alltrim(Str(gnIdUtil)) + Endif + + + Do Case + Case lcActiune = "INSERT" + + lcSql = [INSERT INTO config_gruputil_analitice (id_grup, cont, acont, id_util, dataora)] + ; + [ VALUES (] + lcIdGrup + [,'] + lcCont + [','] + lcAcont + [',] + lcIdUtil + [,SYSDATE] + [)] + + Case lcActiune = "UPDATE" + + lcSql = [UPDATE config_gruputil_analitice SET acont = '] + lcAcont + [', id_util = ] + lcIdUtil + [, dataora = SYSDATE] + ; + [ where id_grup = ] + lcIdGrup + [ and cont = '] + lcCont + ['] + + Case lcActiune = "DELETE" + + lcSql = [delete from config_gruputil_analitice where id_grup = ] + lcIdGrup + [ and cont = '] + lcCont + ['] + ENDCASE + + This.csql = lcSql + + ENDPROC + +ENDDEFINE + +DEFINE CLASS cus_odata_config_tva_analitice AS _cusodatabase OF "_cus_odata_base.vcx" + *< CLASSDATA: Baseclass="custom" Timestamp="" Scale="Pixels" Uniqueid="" /> + + * + Name = "cus_odata_config_tva_analitice" + * + + PROCEDURE make_sql + Lparameters toRec,tnId + + lcActiune = Alltrim(This.cActiune) + + If Inlist(lcActiune, "UPDATE",'INSERT') And Type('toRec') != "O" + Return .F. + Endif + + If Inlist(lcActiune, "UPDATE",'DELETE') And Type('tnId') != "N" + Return .F. + Endif + + If Inlist(lcActiune, "UPDATE",'DELETE') + lcId = Alltrim(Str(tnId)) + Endif + + + If Inlist(lcActiune, "UPDATE",'INSERT') + lcIdSucursala = Iif(!EMPTY(NVL(toRec.id_sucursala,0)), Alltrim(Str(toRec.id_sucursala)),"NULL") + lcIdGrup = Iif(!EMPTY(NVL(toRec.id_grup,0)), Alltrim(Str(toRec.id_grup)),"NULL") + lcIdExplicatieTVA = Iif(!IsNull(toRec.id_jtva_coloana), Alltrim(Str(toRec.id_jtva_coloana)),"NULL") + lcCont = Nvl(STRTRAN(Alltrim(toRec.cont),['],['']),"NULL") + lcAcont = Nvl(STRTRAN(Alltrim(toRec.acont),['],['']),"NULL") + lcIdUtil = Alltrim(Str(gnIdUtil)) + Endif + + + Do Case + Case lcActiune = "INSERT" + + lcSql = [INSERT INTO CONFIG_TVA_ANALITICE (id_sucursala, id_grup, id_jtva_coloana, cont, acont, id_util, dataora)] + ; + [ VALUES (] + lcIdSucursala + [,] + lcIdGrup + [,] + lcIdExplicatieTVA + [,'] + lcCont + [','] + lcAcont + [',] + lcIdUtil + [,SYSDATE] + [)] + + Case lcActiune = "UPDATE" + + lcSql = [UPDATE CONFIG_TVA_ANALITICE SET acont = '] + lcAcont + [', id_util = ] + lcIdUtil + [, dataora = SYSDATE] + ; + [ where id = ] + m.lcId + + Case lcActiune = "DELETE" + + lcSql = [delete from CONFIG_TVA_ANALITICE where id = ] + m.lcId + ENDCASE + + This.csql = lcSql + + ENDPROC + +ENDDEFINE + +DEFINE CLASS cus_odata_note_contabile AS _cusodatabase OF "_cus_odata_base.vcx" + *< CLASSDATA: Baseclass="custom" Timestamp="" Scale="Pixels" Uniqueid="" /> + + * + Name = "cus_odata_note_contabile" + * + + PROCEDURE make_sql + Lparameters toRec,tnId + + lcActiune = Alltrim(This.cActiune) + + If Inlist(lcActiune, "UPDATE",'INSERT') And Type('toRec') != "O" + Return .F. + Endif + + If Inlist(lcActiune, "UPDATE",'DELETE') And Type('tnId') != "N" + Return .F. + Endif + + If Inlist(lcActiune, "UPDATE",'DELETE') + lcId = Alltrim(Str(tnId)) + Endif + + + If Inlist(lcActiune, "UPDATE",'INSERT') + lcexplicatie = Nvl(STRTRAN(Alltrim(Upper(toRec.explicatie)),['],['']),"") + lcscd = Nvl(STRTRAN(Alltrim(toRec.scd),['],['']),"") + lcascd = Nvl(STRTRAN(Alltrim(toRec.ascd),['],['']),"") + lcscc = Nvl(STRTRAN(Alltrim(toRec.scc),['],['']),"") + lcascc = Nvl(STRTRAN(Alltrim(toRec.ascc),['],['']),"") + lcordine = Nvl(ALLTRIM(STR(toRec.ordine)),"0") + lccu_TVA = Nvl(ALLTRIM(STR(toRec.cu_TVA)),"0") + lcpTVA = Nvl(ALLTRIM(STR(toRec.pTVA)),"0") + lcid_set = Nvl(ALLTRIM(STR(toRec.id_set)),"0") + lcInValuta = Nvl(ALLTRIM(STR(toRec.in_valuta)),"0") + Endif + + + Do Case + Case lcActiune = "INSERT" + + lcSql = [INSERT INTO ] + gcS + [.note_contabile (explicatie,scd,ascd,scc,ascc,ordine,cu_tva,ptva,id_set,in_valuta)] + ; + [ VALUES ('] + lcexplicatie + [','] + lcscd + [','] + lcascd + [','] + lcscc + [','] + lcascc + [',] + lcordine + ; + [,] + lccu_tva + [,] + lcptva + [,] + lcid_set + [,] + lcInValuta + [)] + + Case lcActiune = "UPDATE" + + lcSql = [UPDATE ] + gcS + [.note_contabile SET explicatie = '] + lcexplicatie + ; + [',scd = '] + lcscd + [',ascd = '] + lcascd + [',scc = '] + lcscc + [',ascc = '] + lcascc + [',ordine = ] + lcordine + [,cu_tva = ] + ; + lccu_tva + [,ptva = ] + lcptva + [,id_set = ] + lcid_set + [,in_valuta = ] + lcInValuta + ; + [ where id_note = ] + lcId + + Case lcActiune = "DELETE" + + lcSql = [delete from ] + gcS + [.note_contabile where id_note=] + lcId + ENDCASE + + This.csql = lcSql + + ENDPROC + + PROCEDURE salvare + Lparameters toRec,tnId + + Private llSucces, lnSucces + + llSucces = .T. + lnSucces = -1 + lcActiune = Upper(Alltrim(This.cactiune)) + lcMesaj1 = '' + lcTitlu = '' + Do Case + Case lcActiune = "INSERT" + lcMesaj1 = "Doriti sa adaugati inregistrarea?" + lcTitlu = "Adaugare" + *lnOptiuni = 4 + 32 + Case lcActiune = "UPDATE" + lcMesaj1 = "Doriti sa salvati modificarile?" + lcTitlu = "Modificare" + *lnOptiuni = 4 + 32 + Case lcActiune = "DELETE" + lcMesaj1 = "Doriti sa stergeti inregistrarea?" + lcTitlu = "Stergere" + *lnOptiuni = 4 + 32 + 512 + Endcase + + lcimagine = [intreb.ico] + lctip = [Intrebare] + ofrm_conf = CREATEOBJECT('frm_mesaj',lctitlu,lcimagine,lctip,lcmesaj1) + ofrm_conf.show(1) + RELEASE ofrm_conf + + IF buton = 1 + PNIESIRE=1 + If This.validare() + + This.make_sql(toRec,tnId) + + lcSql = Upper(Alltrim(This.csql)) + + llConditie = 'INSERT'$lcSql Or 'UPDATE'$lcSql Or 'DELETE'$lcSql Or 'BEGIN'$lcSql + + If llConditie + lnSucces = goExecutor.oExecute(lcSql) + If lnSucces < 0 + + lcTextEroare = goExecutor.cEroare + + Do Case + Case "ORA-20000"$lcTextEroare + lnPozi=At("ORA-20000",lcTextEroare)+11 + lnPozf=At("ORA",lcTextEroare,2) + lcMesaj=Substr(lcTextEroare,lnPozi,lnPozf-lnPozi) + lcTitlu="Eroare" + Case lcActiune = "INSERT" + lcMesaj = "Inregistrarea nu a fost adaugata." + Chr(13) + Chr(10) + lcTextEroare + lcTitlu = "Adaugare" + Case lcActiune = "UPDATE" + lcMesaj = "Inregistrarea nu a fost modificata." + Chr(13) + Chr(10) + lcTextEroare + lcTitlu = "Modificare" + Case lcActiune = "DELETE" + lcMesaj = "Inregistrarea nu a fost stearsa." + Chr(13) + Chr(10) + lcTextEroare + lcTitlu = "Stergere" + Endcase + + lcimagine = [info_c.ico] + lctip = [Informare] + ofrm_mesaj = CREATEOBJECT([frm_mesaj],lcTitlu,lcimagine,lctip,lcMesaj) + ofrm_mesaj.show(1) + RELEASE ofrm_mesaj + *Messagebox(lcMesaj,0+48,lcTitlu) + llSucces = .F. + Endif + + If lnSucces >=1 And lcActiune = "DELETE" + lcMesaj = "Inregistrarea a fost stearsa." + lcTitlu = "Stergere" + lcimagine = [info_c.ico] + lctip = [Informare] + ofrm_mesaj = CREATEOBJECT([frm_mesaj],lcTitlu,lcimagine,lctip,lcMesaj) + ofrm_mesaj.show(1) + RELEASE ofrm_mesaj + *Messagebox(lcMesaj,0+64,lcTitlu) + Endif + Endif + + Endif + + Else + PNIESIRE=2 + Endif + + + Return llSucces + + ENDPROC + +ENDDEFINE + +DEFINE CLASS cus_odata_note_contabile2007 AS _cusodatabase OF "_cus_odata_base.vcx" + *< CLASSDATA: Baseclass="custom" Timestamp="" Scale="Pixels" Uniqueid="" /> + + * + *p: _memberdata && XML Metadata for customizable properties + * + + * + Name = "cus_odata_note_contabile2007" + _memberdata = + + + * + + PROCEDURE make_sql + Lparameters toRec,tnId + + lcActiune = Alltrim(This.cActiune) + + If Inlist(lcActiune, "UPDATE",'INSERT') And Type('toRec') != "O" + Return .F. + Endif + + If Inlist(lcActiune, "UPDATE",'DELETE') And Type('tnId') != "N" + Return .F. + Endif + + If Inlist(lcActiune, "UPDATE",'DELETE') + lcId = Alltrim(Str(tnId)) + Endif + + lcNumeColoana = IIF(gnNeplatitoare_tva=1,[ID_JTVA_NEPL],[ID_JTVA_COLOANA]) + + If Inlist(lcActiune, "UPDATE",'INSERT') + lcexplicatie = Nvl(STRTRAN(Alltrim(Upper(toRec.explicatie)),['],['']),"") + lcscd = Nvl(STRTRAN(Alltrim(toRec.scd),['],['']),"") + lcascd = Nvl(STRTRAN(Alltrim(toRec.ascd),['],['']),"") + lcscc = Nvl(STRTRAN(Alltrim(toRec.scc),['],['']),"") + lcascc = Nvl(STRTRAN(Alltrim(toRec.ascc),['],['']),"") + lcordine = Nvl(ALLTRIM(STR(toRec.ordine)),"0") + lccu_TVA = Nvl(ALLTRIM(STR(toRec.cu_TVA)),"0") + lcpTVA = Nvl(ALLTRIM(STR(toRec.pTVA)),"0") + lcIdJtvaColoana = NVL(ALLTRIM(STR(toRec.id_jtva_coloana)),"NULL") + lcid_set = Nvl(ALLTRIM(STR(toRec.id_set)),"0") + lcInValuta = Nvl(ALLTRIM(STR(toRec.in_valuta)),"0") + lcIdPartD = IIF(!EMPTY(NVL(toRec.id_partd,0)),ALLTRIM(STR(toRec.id_partd)), "NULL") + lcIdPartC = IIF(!EMPTY(NVL(toRec.id_partc,0)),ALLTRIM(STR(toRec.id_partc)), "NULL") + Endif + + + Do Case + Case lcActiune = "INSERT" + + lcSql = [INSERT INTO ] + gcS + [.note_contabile (explicatie,scd,ascd,scc,ascc,ordine,cu_tva,ptva,id_set,in_valuta,]+lcNumeColoana +[,id_partd,id_partc)] + ; + [ VALUES ('] + lcexplicatie + [','] + lcscd + [','] + lcascd + [','] + lcscc + [','] + lcascc + [',] + lcordine + ; + [,] + lccu_tva + [,] + lcptva + [,] + lcid_set + [,] + lcInValuta + [,] + lcIdJtvaColoana + [,] + lcIdPartD + [,] + lcIdPartC + [)] + + Case lcActiune = "UPDATE" + + lcSql = [UPDATE ] + gcS + [.note_contabile SET explicatie = '] + lcexplicatie + ; + [',scd = '] + lcscd + [',ascd = '] + lcascd + [',scc = '] + lcscc + [',ascc = '] + lcascc + [',ordine = ] + lcordine + [,cu_tva = ] + ; + lccu_tva + [,ptva = ] + lcptva + [,id_set = ] + lcid_set + [,in_valuta = ] + lcInValuta + [,] + lcNumeColoana + [ = ] + lcIdJtvaColoana + ; + [, id_partd = ] + lcIdPartD + [, id_partc = ] + lcIdPartC + ; + [ where id_note = ] + lcId + + Case lcActiune = "DELETE" + + lcSql = [delete from ] + gcS + [.note_contabile where id_note=] + lcId + ENDCASE + + This.csql = lcSql + + ENDPROC + +ENDDEFINE + +DEFINE CLASS cus_odata_note_crm AS _cusodatabase OF "_cus_odata_base.vcx" + *< CLASSDATA: Baseclass="custom" Timestamp="" Scale="Pixels" Uniqueid="" /> + + * + Name = "cus_odata_note_crm" + * + + PROCEDURE make_sql + Lparameters toRec,tnId + + lcActiune = Alltrim(This.cActiune) + lcId_util = Alltrim(Str(gnIdUtil)) + + If Inlist(lcActiune, "UPDATE",'INSERT') And Type('toRec') != "O" + Return .F. + Endif + + If Inlist(lcActiune, "UPDATE",'DELETE') And Type('tnId') != "N" + Return .F. + Endif + + If Inlist(lcActiune, "UPDATE",'DELETE') + lcId = Alltrim(Str(tnId)) + Endif + + If Inlist(lcActiune, "UPDATE",'INSERT') + lcDenumire = Strtran(Alltrim(toRec.denumire),['],['']) + lcId_sectie = IIF(toRec.id_sectie = 0 or ISNULL(toRec.id_sectie),'NULL',ALLTRIM(STR(toRec.id_sectie))) + lcId_venchelt = IIF(toRec.id_venchelt = 0 or ISNULL(toRec.id_venchelt),'NULL',ALLTRIM(STR(toRec.id_venchelt))) + ENDIF + + + Do Case + Case lcActiune = "INSERT" + lcSql = [begin pack_preturi.adauga_nota_vanzari(']+Alltrim(gcS)+[',']+lcDenumire + [',]+lcId_sectie+[,]+lcId_venchelt+[,]+lcId_util+[); end;] + + Case lcActiune = "UPDATE" + lcSql = [begin pack_preturi.modifica_nota_vanzari(']+Alltrim(gcS)+[',]+lcId+[,']+lcDenumire +[',]+; + lcId_sectie+[,]+lcId_venchelt+ [,] +lcId_util +[); end;] + + Case lcActiune = "DELETE" + lcSql = [begin pack_preturi.sterge_nota_vanzari(']+Alltrim(gcS)+[',]+lcId+[,]+lcId_util+[); end;] + + Endcase + + This.csql = lcSql + + ENDPROC + +ENDDEFINE + +DEFINE CLASS frm_config_analitice AS frm_termin OF "_frm_child.vcx" + *< CLASSDATA: Baseclass="form" Timestamp="" Scale="Pixels" Uniqueid="" /> + + *-- OBJECTDATA items order determines ZOrder / El orden de los items OBJECTDATA determina el ZOrder + *< OBJECTDATA: ObjPath="But_nou1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="But_sterge1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="But_modifica1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="gridInregistrari" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="gridInregistrari.cCont.Header1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="gridInregistrari.cCont.Text1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="gridInregistrari.cTabel_Prefix.Header1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="gridInregistrari.cTabel_Prefix.Text1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="gridInregistrari.cCol_Prefix.Header1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="gridInregistrari.cCol_Prefix.Text1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="gridInregistrari.cCol_Sufix.Header1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="gridInregistrari.cCol_Sufix.Text1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="gridInregistrari.cCamp_Leg_Sufix.Header1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="gridInregistrari.cCamp_Leg_Sufix.Text1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="gridInregistrari.cTabel_sufix.Header1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="gridInregistrari.cTabel_sufix.Text1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="gridInregistrari.cCamp_Leg_Prefix.Header1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="gridInregistrari.cCamp_Leg_Prefix.Text1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="gridInregistrari.cPoz_Start_Prefix.Header1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="gridInregistrari.cPoz_Start_Prefix.Text1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="gridInregistrari.cNr_Return_Prefix.Header1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="gridInregistrari.cNr_Return_Prefix.Text1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="gridInregistrari.cpoz_start_sufix.Header1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="gridInregistrari.cpoz_start_sufix.Text1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="gridInregistrari.cNr_return_sufix.Header1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="gridInregistrari.cNr_return_sufix.Text1" UniqueID="" Timestamp="" /> + + * + *m: actual_afisare + *m: do_adauga_ireg + *m: do_modifica_ireg + *m: do_sterge_ireg + *m: refacere_tabel + *p: lcrm + * + + * + DoCreate = .T. + Height = 359 + lcrm = .F. + Name = "frm_config_analitice" + Width = 574 + _SHAPE1.Anchor = 10 + _SHAPE1.Height = 29 + _SHAPE1.Left = 0 + _SHAPE1.Name = "_SHAPE1" + _SHAPE1.Top = 0 + _SHAPE1.Width = 792 + _SHAPE2.Anchor = 8 + _SHAPE2.Height = 29 + _SHAPE2.Left = 444 + _SHAPE2.Name = "_SHAPE2" + _SHAPE2.Top = 0 + _SHAPE2.Width = 131 + LB_TITLU_ALB_B121.Caption = "Configurare analitice" + LB_TITLU_ALB_B121.Name = "LB_TITLU_ALB_B121" + BUT_TERMIN1.Anchor = 8 + BUT_TERMIN1.Left = 541 + BUT_TERMIN1.Name = "BUT_TERMIN1" + BUT_TERMIN1.Top = 1 + GRIDSORT1.Left = -2 + GRIDSORT1.Name = "GRIDSORT1" + GRIDSORT1.Top = 33 + * + + ADD OBJECT 'But_modifica1' AS but_modifica WITH ; + Anchor = 8, ; + Left = 480, ; + Name = "But_modifica1", ; + TabIndex = 4, ; + Top = 1 + *< END OBJECT: ClassLib="cmd_butoane.vcx" BaseClass="commandbutton" /> + + ADD OBJECT 'But_nou1' AS but_nou WITH ; + Anchor = 8, ; + Left = 448, ; + Name = "But_nou1", ; + TabIndex = 3, ; + Top = 1 + *< END OBJECT: ClassLib="cmd_butoane.vcx" BaseClass="commandbutton" /> + + ADD OBJECT 'But_sterge1' AS but_sterge WITH ; + Anchor = 8, ; + Left = 511, ; + Name = "But_sterge1", ; + TabIndex = 5, ; + Top = 1 + *< END OBJECT: ClassLib="cmd_butoane.vcx" BaseClass="commandbutton" /> + + ADD OBJECT 'gridInregistrari' AS _grdrow WITH ; + Anchor = 15, ; + ColumnCount = 11, ; + DeleteMark = .F., ; + FontName = "Arial", ; + HeaderHeight = 50, ; + Height = 311, ; + Left = 12, ; + Name = "gridInregistrari", ; + Panel = 1, ; + RecordSource = "crsConfigAnalitice", ; + Top = 40, ; + Width = 552, ; + Column1.ControlSource = "cont", ; + Column1.FontName = "Arial", ; + Column1.Name = "cCont", ; + Column1.Width = 54, ; + Column2.ControlSource = "tabel_prefix", ; + Column2.FontName = "Arial", ; + Column2.Name = "cTabel_Prefix", ; + Column2.Width = 100, ; + Column3.ControlSource = "col_prefix", ; + Column3.FontName = "Arial", ; + Column3.Name = "cCol_Prefix", ; + Column3.Width = 84, ; + Column4.ColumnOrder = 6, ; + Column4.ControlSource = "col_sufix", ; + Column4.FontName = "Arial", ; + Column4.Name = "cCol_Sufix", ; + Column4.Width = 85, ; + Column5.ColumnOrder = 7, ; + Column5.ControlSource = "camp_leg_sufix", ; + Column5.FontName = "Arial", ; + Column5.Name = "cCamp_Leg_Sufix", ; + Column5.Width = 59, ; + Column6.ColumnOrder = 5, ; + Column6.ControlSource = "tabel_sufix", ; + Column6.FontName = "Arial", ; + Column6.Name = "cTabel_sufix", ; + Column6.Width = 85, ; + Column7.ColumnOrder = 4, ; + Column7.ControlSource = "camp_leg_prefix", ; + Column7.FontName = "Arial", ; + Column7.Name = "cCamp_Leg_Prefix", ; + Column7.Width = 75, ; + Column8.ControlSource = "poz_start_prefix", ; + Column8.FontName = "Arial", ; + Column8.Name = "cPoz_Start_Prefix", ; + Column8.Width = 43, ; + Column9.ControlSource = "nr_return_prefix", ; + Column9.FontName = "Arial", ; + Column9.Name = "cNr_Return_Prefix", ; + Column9.Width = 53, ; + Column10.ControlSource = "poz_start_sufix", ; + Column10.FontName = "Arial", ; + Column10.Name = "cpoz_start_sufix", ; + Column10.Width = 43, ; + Column11.ControlSource = "nr_return_sufix", ; + Column11.FontName = "Arial", ; + Column11.Name = "cNr_return_sufix", ; + Column11.Width = 54 + *< END OBJECT: ClassLib="_grd_base.vcx" BaseClass="grid" /> + + ADD OBJECT 'gridInregistrari.cCamp_Leg_Prefix.Header1' AS header WITH ; + Alignment = 2, ; + Caption = "Camp legatura prefix", ; + FontName = "Arial", ; + Name = "Header1", ; + WordWrap = .T. + *< END OBJECT: BaseClass="header" /> + + ADD OBJECT 'gridInregistrari.cCamp_Leg_Prefix.Text1' AS textbox WITH ; + BackColor = 255,255,255, ; + BorderStyle = 0, ; + FontName = "Arial", ; + ForeColor = 0,0,0, ; + Margin = 0, ; + Name = "Text1" + *< END OBJECT: BaseClass="textbox" /> + + ADD OBJECT 'gridInregistrari.cCamp_Leg_Sufix.Header1' AS header WITH ; + Alignment = 2, ; + Caption = "Camp legatura sufix", ; + FontName = "Arial", ; + Name = "Header1", ; + WordWrap = .T. + *< END OBJECT: BaseClass="header" /> + + ADD OBJECT 'gridInregistrari.cCamp_Leg_Sufix.Text1' AS textbox WITH ; + BackColor = 255,255,255, ; + BorderStyle = 0, ; + FontName = "Arial", ; + ForeColor = 0,0,0, ; + Margin = 0, ; + Name = "Text1" + *< END OBJECT: BaseClass="textbox" /> + + ADD OBJECT 'gridInregistrari.cCol_Prefix.Header1' AS header WITH ; + Alignment = 2, ; + Caption = "Coloana prefix", ; + FontName = "Arial", ; + Name = "Header1" + *< END OBJECT: BaseClass="header" /> + + ADD OBJECT 'gridInregistrari.cCol_Prefix.Text1' AS textbox WITH ; + BackColor = 255,255,255, ; + BorderStyle = 0, ; + FontName = "Arial", ; + ForeColor = 0,0,0, ; + Margin = 0, ; + Name = "Text1" + *< END OBJECT: BaseClass="textbox" /> + + ADD OBJECT 'gridInregistrari.cCol_Sufix.Header1' AS header WITH ; + Alignment = 2, ; + Caption = "Coloana sufix", ; + FontName = "Arial", ; + Name = "Header1" + *< END OBJECT: BaseClass="header" /> + + ADD OBJECT 'gridInregistrari.cCol_Sufix.Text1' AS textbox WITH ; + BackColor = 255,255,255, ; + BorderStyle = 0, ; + FontName = "Arial", ; + ForeColor = 0,0,0, ; + Margin = 0, ; + Name = "Text1" + *< END OBJECT: BaseClass="textbox" /> + + ADD OBJECT 'gridInregistrari.cCont.Header1' AS header WITH ; + Alignment = 2, ; + Caption = "Cont", ; + FontName = "Arial", ; + Name = "Header1" + *< END OBJECT: BaseClass="header" /> + + ADD OBJECT 'gridInregistrari.cCont.Text1' AS textbox WITH ; + BackColor = 255,255,255, ; + BorderStyle = 0, ; + FontName = "Arial", ; + ForeColor = 0,0,0, ; + Margin = 0, ; + Name = "Text1" + *< END OBJECT: BaseClass="textbox" /> + + ADD OBJECT 'gridInregistrari.cNr_Return_Prefix.Header1' AS header WITH ; + Alignment = 2, ; + Caption = "Nr caractere prefix", ; + FontName = "Arial", ; + Name = "Header1", ; + WordWrap = .T. + *< END OBJECT: BaseClass="header" /> + + ADD OBJECT 'gridInregistrari.cNr_Return_Prefix.Text1' AS textbox WITH ; + BackColor = 255,255,255, ; + BorderStyle = 0, ; + FontName = "Arial", ; + ForeColor = 0,0,0, ; + Margin = 0, ; + Name = "Text1" + *< END OBJECT: BaseClass="textbox" /> + + ADD OBJECT 'gridInregistrari.cNr_return_sufix.Header1' AS header WITH ; + Alignment = 2, ; + Caption = "Nr caractere sufix", ; + FontName = "Arial", ; + Name = "Header1", ; + WordWrap = .T. + *< END OBJECT: BaseClass="header" /> + + ADD OBJECT 'gridInregistrari.cNr_return_sufix.Text1' AS textbox WITH ; + BackColor = 255,255,255, ; + BorderStyle = 0, ; + FontName = "Arial", ; + ForeColor = 0,0,0, ; + Margin = 0, ; + Name = "Text1" + *< END OBJECT: BaseClass="textbox" /> + + ADD OBJECT 'gridInregistrari.cPoz_Start_Prefix.Header1' AS header WITH ; + Alignment = 2, ; + Caption = "Poz. start prefix", ; + FontName = "Arial", ; + Name = "Header1", ; + WordWrap = .T. + *< END OBJECT: BaseClass="header" /> + + ADD OBJECT 'gridInregistrari.cPoz_Start_Prefix.Text1' AS textbox WITH ; + BackColor = 255,255,255, ; + BorderStyle = 0, ; + FontName = "Arial", ; + ForeColor = 0,0,0, ; + Margin = 0, ; + Name = "Text1" + *< END OBJECT: BaseClass="textbox" /> + + ADD OBJECT 'gridInregistrari.cpoz_start_sufix.Header1' AS header WITH ; + Alignment = 2, ; + Caption = "Poz. start sufix", ; + FontName = "Arial", ; + Name = "Header1", ; + WordWrap = .T. + *< END OBJECT: BaseClass="header" /> + + ADD OBJECT 'gridInregistrari.cpoz_start_sufix.Text1' AS textbox WITH ; + BackColor = 255,255,255, ; + BorderStyle = 0, ; + FontName = "Arial", ; + ForeColor = 0,0,0, ; + Margin = 0, ; + Name = "Text1" + *< END OBJECT: BaseClass="textbox" /> + + ADD OBJECT 'gridInregistrari.cTabel_Prefix.Header1' AS header WITH ; + Alignment = 2, ; + Caption = "Tabel prefix", ; + FontName = "Arial", ; + Name = "Header1" + *< END OBJECT: BaseClass="header" /> + + ADD OBJECT 'gridInregistrari.cTabel_Prefix.Text1' AS textbox WITH ; + BackColor = 255,255,255, ; + BorderStyle = 0, ; + FontName = "Arial", ; + ForeColor = 0,0,0, ; + Margin = 0, ; + Name = "Text1" + *< END OBJECT: BaseClass="textbox" /> + + ADD OBJECT 'gridInregistrari.cTabel_sufix.Header1' AS header WITH ; + Alignment = 2, ; + Caption = "Tabel sufix", ; + FontName = "Arial", ; + Name = "Header1" + *< END OBJECT: BaseClass="header" /> + + ADD OBJECT 'gridInregistrari.cTabel_sufix.Text1' AS textbox WITH ; + BackColor = 255,255,255, ; + BorderStyle = 0, ; + FontName = "Arial", ; + ForeColor = 0,0,0, ; + Margin = 0, ; + Name = "Text1" + *< END OBJECT: BaseClass="textbox" /> + + PROCEDURE actualizeaza_grid1 + LPARAMETERS pcFiltru + + LOCAL lcFiltru + lcFiltru = pcFiltru + IF EMPTY(lcFiltru) + lcFiltru = poConfig.ca_baza1.cfiltru + ENDIF + + save_grid_tag(thisform.gridInregistrari) + poConfig.ca_baza1.cfiltru = lcFiltru + poConfig.ca_baza1.afisare() + restore_grid_tag(thisform.gridInregistrari) + thisform.gridInregistrari.refresh + + + ENDPROC + + PROCEDURE actual_afisare + ENDPROC + + PROCEDURE do_adauga + SELECT crsConfigAnalitice + SCATTER NAME loRec + + DO Adauga_Modifica_Inregistrare WITH "config_analitice",loRec,,"INSERT" + THIS.actualizeaza_grid1() + + THISFORM.gridInregistrari.SETFOCUS() + + + + + ENDPROC + + PROCEDURE do_adauga_ireg + ENDPROC + + PROCEDURE do_modifica + SELECT crsConfigAnalitice + IF RECCOUNT() > 0 + SCATTER NAME loRec + + DO Adauga_Modifica_Inregistrare WITH "config_analitice",loRec,loRec.id_config_ana,"UPDATE" + THIS.actualizeaza_grid1() + SELECT crsConfigAnalitice + LOCATE FOR id_config_ana = loRec.id_config_ana + THISFORM.gridInregistrari.SETFOCUS() + + ENDIF + + ENDPROC + + PROCEDURE do_modifica_ireg + ENDPROC + + PROCEDURE do_sterge + If Reccount('crsConfigAnalitice')>0 + SELECT crsConfigAnalitice + Scatter Name loRec + Do STERGE_INREGISTRARE With "config_analitice",loRec.id_config_ana + This.actualizeaza_grid1() + Endif + ENDPROC + + PROCEDURE do_sterge_ireg + ENDPROC + + PROCEDURE Init + this.WindowState = 2 + DODEFAULT() + ENDPROC + + PROCEDURE refacere_tabel + ENDPROC + +ENDDEFINE + +DEFINE CLASS frm_config_analitice_gruputil AS frm_termin OF "_frm_child.vcx" + *< CLASSDATA: Baseclass="form" Timestamp="" Scale="Pixels" Uniqueid="" /> + + *-- OBJECTDATA items order determines ZOrder / El orden de los items OBJECTDATA determina el ZOrder + *< OBJECTDATA: ObjPath="But_nou1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="But_sterge1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="But_modifica1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="gridInregistrari" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="gridInregistrari.cCont.Header1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="gridInregistrari.cCont.Text1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="gridInregistrari.cGrupUtil.Header1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="gridInregistrari.cGrupUtil.Text1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="gridInregistrari.cAcont.Header1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="gridInregistrari.cAcont.Text1" UniqueID="" Timestamp="" /> + + * + *m: actual_afisare + *m: do_adauga_ireg + *m: do_modifica_ireg + *m: do_sterge_ireg + *m: refacere_tabel + *p: lcrm + * + + * + BorderStyle = 1 + DoCreate = .T. + Height = 359 + lcrm = .F. + Name = "frm_config_analitice_gruputil" + Width = 446 + _SHAPE1.Anchor = 10 + _SHAPE1.Height = 29 + _SHAPE1.Left = 0 + _SHAPE1.Name = "_SHAPE1" + _SHAPE1.Top = 0 + _SHAPE1.Width = 792 + _SHAPE2.Anchor = 8 + _SHAPE2.Height = 29 + _SHAPE2.Left = 317 + _SHAPE2.Name = "_SHAPE2" + _SHAPE2.Top = 0 + _SHAPE2.Width = 131 + LB_TITLU_ALB_B121.Caption = "Configurare analitice pe grupuri utilizatori" + LB_TITLU_ALB_B121.Name = "LB_TITLU_ALB_B121" + BUT_TERMIN1.Anchor = 8 + BUT_TERMIN1.Left = 414 + BUT_TERMIN1.Name = "BUT_TERMIN1" + BUT_TERMIN1.Top = 1 + GRIDSORT1.Left = -2 + GRIDSORT1.Name = "GRIDSORT1" + GRIDSORT1.Top = 33 + * + + ADD OBJECT 'But_modifica1' AS but_modifica WITH ; + Anchor = 8, ; + Left = 353, ; + Name = "But_modifica1", ; + TabIndex = 4, ; + Top = 1 + *< END OBJECT: ClassLib="cmd_butoane.vcx" BaseClass="commandbutton" /> + + ADD OBJECT 'But_nou1' AS but_nou WITH ; + Anchor = 8, ; + Left = 321, ; + Name = "But_nou1", ; + TabIndex = 3, ; + Top = 1 + *< END OBJECT: ClassLib="cmd_butoane.vcx" BaseClass="commandbutton" /> + + ADD OBJECT 'But_sterge1' AS but_sterge WITH ; + Anchor = 8, ; + Left = 384, ; + Name = "But_sterge1", ; + TabIndex = 5, ; + Top = 1 + *< END OBJECT: ClassLib="cmd_butoane.vcx" BaseClass="commandbutton" /> + + ADD OBJECT 'gridInregistrari' AS _grdrow WITH ; + Anchor = 15, ; + ColumnCount = 3, ; + DeleteMark = .F., ; + FontName = "Arial", ; + HeaderHeight = 20, ; + Height = 311, ; + Left = 12, ; + Name = "gridInregistrari", ; + Panel = 1, ; + RecordSource = "crsConfigAnalitice", ; + Top = 40, ; + Width = 428, ; + Column1.ColumnOrder = 2, ; + Column1.ControlSource = "cont", ; + Column1.FontName = "Arial", ; + Column1.Name = "cCont", ; + Column1.Width = 57, ; + Column2.ColumnOrder = 1, ; + Column2.ControlSource = "denumire_grup", ; + Column2.FontName = "Arial", ; + Column2.Name = "cGrupUtil", ; + Column2.Width = 281, ; + Column3.ControlSource = "acont", ; + Column3.FontName = "Arial", ; + Column3.Name = "cAcont", ; + Column3.Width = 55 + *< END OBJECT: ClassLib="_grd_base.vcx" BaseClass="grid" /> + + ADD OBJECT 'gridInregistrari.cAcont.Header1' AS header WITH ; + Alignment = 2, ; + Caption = "Analitic", ; + FontName = "Arial", ; + Name = "Header1" + *< END OBJECT: BaseClass="header" /> + + ADD OBJECT 'gridInregistrari.cAcont.Text1' AS textbox WITH ; + BackColor = 255,255,255, ; + BorderStyle = 0, ; + FontName = "Arial", ; + ForeColor = 0,0,0, ; + Margin = 0, ; + Name = "Text1" + *< END OBJECT: BaseClass="textbox" /> + + ADD OBJECT 'gridInregistrari.cCont.Header1' AS header WITH ; + Alignment = 2, ; + Caption = "Cont", ; + FontName = "Arial", ; + Name = "Header1" + *< END OBJECT: BaseClass="header" /> + + ADD OBJECT 'gridInregistrari.cCont.Text1' AS textbox WITH ; + BackColor = 255,255,255, ; + BorderStyle = 0, ; + FontName = "Arial", ; + ForeColor = 0,0,0, ; + Margin = 0, ; + Name = "Text1" + *< END OBJECT: BaseClass="textbox" /> + + ADD OBJECT 'gridInregistrari.cGrupUtil.Header1' AS header WITH ; + Alignment = 2, ; + Caption = "Grup utilizatori", ; + FontName = "Arial", ; + Name = "Header1" + *< END OBJECT: BaseClass="header" /> + + ADD OBJECT 'gridInregistrari.cGrupUtil.Text1' AS textbox WITH ; + BackColor = 255,255,255, ; + BorderStyle = 0, ; + FontName = "Arial", ; + ForeColor = 0,0,0, ; + Margin = 0, ; + Name = "Text1" + *< END OBJECT: BaseClass="textbox" /> + + PROCEDURE actualizeaza_grid1 + LPARAMETERS pcFiltru + + LOCAL lcFiltru + lcFiltru = pcFiltru + IF EMPTY(lcFiltru) + lcFiltru = poConfig.ca_baza1.cfiltru + ENDIF + + save_grid_tag(thisform.gridInregistrari) + poConfig.ca_baza1.cfiltru = lcFiltru + poConfig.ca_baza1.afisare() + restore_grid_tag(thisform.gridInregistrari) + thisform.gridInregistrari.refresh + + + ENDPROC + + PROCEDURE actual_afisare + ENDPROC + + PROCEDURE do_adauga + SELECT crsConfigAnalitice + SCATTER NAME loRec + + DO Adauga_Modifica_Inregistrare WITH "config_analitice_gruputil",loRec,,"INSERT" + THIS.actualizeaza_grid1() + + THISFORM.gridInregistrari.SETFOCUS() + + + + + ENDPROC + + PROCEDURE do_adauga_ireg + ENDPROC + + PROCEDURE do_modifica + SELECT crsConfigAnalitice + IF RECCOUNT() > 0 + SCATTER NAME loRec + + DO Adauga_Modifica_Inregistrare WITH "config_analitice_gruputil",loRec,loRec.id_grup,"UPDATE" + THIS.actualizeaza_grid1() + SELECT crsConfigAnalitice + LOCATE FOR id_grup = loRec.id_grup and cont = loRec.cont + THISFORM.gridInregistrari.SETFOCUS() + + ENDIF + + ENDPROC + + PROCEDURE do_modifica_ireg + ENDPROC + + PROCEDURE do_sterge + If Reccount('crsConfigAnalitice')>0 + If aMessageBox('Doriti sa stergeti inregistrarea?',4+32,'Configurare') <> 6 + Return + EndIf + + SELECT crsConfigAnalitice + Scatter Name loRec + *!* Do STERGE_INREGISTRARE With "config_analitice",loRec.id_grup + lcSql = [delete from config_gruputil_analitice where id_grup =] + Alltrim(Str(loRec.id_grup)) + [ and cont = '] + Alltrim(loRec.cont) + ['] + lnSucces = goExecutor.oExecute(lcSql) + If lnSucces < 0 + aMessageBox(goExecutor.cEroare,0+16,'Eroare') + Else + This.actualizeaza_grid1() + EndIf + Endif + ENDPROC + + PROCEDURE do_sterge_ireg + ENDPROC + + PROCEDURE refacere_tabel + ENDPROC + +ENDDEFINE + +DEFINE CLASS frm_config_analitice_gruputil_nou AS _frmbase OF "_frm_base.vcx" + *< CLASSDATA: Baseclass="form" Timestamp="" Scale="Pixels" Uniqueid="" /> + + *-- OBJECTDATA items order determines ZOrder / El orden de los items OBJECTDATA determina el ZOrder + *< OBJECTDATA: ObjPath="But_renunt2" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="Clb_tx_cont" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="But_renunt1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="Clb_tx_acont" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="cnt_grup" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="Cus_odata_config_gruputil_analitice1" UniqueID="" Timestamp="" /> + + * + *m: do_alege_grup + *p: nid + *p: orec + * + + * + BorderStyle = 1 + DoCreate = .T. + Height = 144 + Name = "frm_config_analitice_gruputil_nou" + Width = 345 + _shape1.Name = "_shape1" + _shape1.ZOrderSet = 1 + _shape2.Height = 29 + _shape2.Left = 284 + _shape2.Name = "_shape2" + _shape2.Top = 0 + _shape2.Width = 62 + _shape2.ZOrderSet = 0 + Lb_titlu_alb_b121.Caption = "Configurare analitice" + Lb_titlu_alb_b121.Name = "Lb_titlu_alb_b121" + Lb_titlu_alb_b121.TabIndex = 7 + Lb_titlu_alb_b121.ZOrderSet = 4 + BUT_TERMIN1.Left = 315 + BUT_TERMIN1.Name = "BUT_TERMIN1" + BUT_TERMIN1.TabIndex = 4 + BUT_TERMIN1.Top = 1 + BUT_TERMIN1.ZOrderSet = 10 + Gridsort1.Name = "Gridsort1" + * + + ADD OBJECT 'But_renunt1' AS but_renunt WITH ; + Left = 285, ; + Name = "But_renunt1", ; + TabIndex = 5, ; + Top = 1, ; + ZOrderSet = 6 + *< END OBJECT: ClassLib="cmd_butoane.vcx" BaseClass="commandbutton" /> + + ADD OBJECT 'But_renunt2' AS but_renunt WITH ; + Left = 284, ; + Name = "But_renunt2", ; + TabIndex = 6, ; + Top = 1, ; + ZOrderSet = 3 + *< END OBJECT: ClassLib="cmd_butoane.vcx" BaseClass="commandbutton" /> + + ADD OBJECT 'Clb_tx_acont' AS clb_tx_simplu WITH ; + Height = 29, ; + Left = 25, ; + Name = "Clb_tx_acont", ; + TabIndex = 3, ; + Top = 105, ; + Width = 156, ; + ZOrderSet = 7, ; + Text_simplu1.ControlSource = "poRec.acont", ; + Text_simplu1.Height = 23, ; + Text_simplu1.Left = 94, ; + Text_simplu1.Name = "Text_simplu1", ; + Text_simplu1.Top = 3, ; + Text_simplu1.Width = 52, ; + Lb_simplu1.Caption = "Analitic", ; + Lb_simplu1.Name = "Lb_simplu1" + *< END OBJECT: ClassLib="lb_tx.vcx" BaseClass="container" /> + + ADD OBJECT 'Clb_tx_cont' AS clb_tx_simplu WITH ; + Height = 29, ; + Left = 25, ; + Name = "Clb_tx_cont", ; + TabIndex = 2, ; + Top = 77, ; + Width = 156, ; + ZOrderSet = 5, ; + Text_simplu1.ControlSource = "poRec.cont", ; + Text_simplu1.Height = 23, ; + Text_simplu1.Left = 94, ; + Text_simplu1.Name = "Text_simplu1", ; + Text_simplu1.Top = 3, ; + Text_simplu1.Width = 52, ; + Lb_simplu1.Caption = "Cont", ; + Lb_simplu1.Name = "Lb_simplu1" + *< END OBJECT: ClassLib="lb_tx.vcx" BaseClass="container" /> + + ADD OBJECT 'cnt_grup' AS ct_clb_cautare_var WITH ; + cconditie = EMPTY(NVL(poRec.denumire_grup,'')), ; + cprocedura = thisform.do_alege_grup(), ; + cvar_afisata = porec.denumire_grup, ; + Height = 31, ; + Left = 24, ; + Name = "cnt_grup", ; + TabIndex = 1, ; + Top = 48, ; + Width = 317, ; + ZOrderSet = 8, ; + shape_cautare.Height = 29, ; + shape_cautare.Left = 1, ; + shape_cautare.Name = "shape_cautare", ; + shape_cautare.Top = 1, ; + shape_cautare.Width = 283, ; + img_cautare.Left = 293, ; + img_cautare.Name = "img_cautare", ; + img_cautare.Top = 5, ; + lb_cautare.Caption = "Grup utilizatori", ; + lb_cautare.Name = "lb_cautare", ; + tx_cautare.Left = 95, ; + tx_cautare.Name = "tx_cautare", ; + tx_cautare.Top = 4 + *< END OBJECT: ClassLib="caut_ora.vcx" BaseClass="container" /> + + ADD OBJECT 'Cus_odata_config_gruputil_analitice1' AS cus_odata_config_gruputil_analitice WITH ; + Left = 286, ; + Name = "Cus_odata_config_gruputil_analitice1", ; + Top = 96 + *< END OBJECT: ClassLib="onote_contabile.vcx" BaseClass="custom" /> + + PROCEDURE do_alege_grup + Local lcCont, loHash, loGrup + lcCont = "" + If Upper(this.cus_odata_config_gruputil_analitice1.cactiune) = 'UPDATE' + Return + EndIf + loGrup = caut_gruputilizatori() + + If !Empty(Nvl(loGrup.id_grup,0)) + poRec.id_grup = loGrup.id_grup + poRec.denumire_grup = loGrup.denumire_grup + Endif + + ENDPROC + + PROCEDURE inainte_de_do_termin + If Empty(Nvl(poRec.id_grup,0)) + AMESSAGEBOX('Nu ati ales grupul de utilizatori!') + this.cnt_grup.tx_cautare.SetFocus() + RETURN .F. + EndIf + IF EMPTY(POREC.CONT) + AMESSAGEBOX('Nu ati completat contul!') + THIS.Clb_tx_cont.text_simplu1.SetFocus() + RETURN .F. + ENDIF + IF EMPTY(POREC.ACONT) + AMESSAGEBOX('Nu ati completat analiticul!') + THIS.Clb_tx_Acont.text_simplu1.SetFocus() + RETURN .F. + ENDIF + + RETURN THIS.cus_odata_config_gruputil_analitice1.salvare(THIS.OREC,THIS.NID) + + + + + ENDPROC + + PROCEDURE Init + LPARAMETERS toRec, tnId, tcActiune + + this.orec= toRec + this.nid = tnId + this.cus_odata_config_gruputil_analitice1.cactiune = tcActiune + + If Upper(tcActiune) = 'UPDATE' + THIS.cnt_grup.Enabled = .F. + this.clb_tx_cont.text_simplu1.ReadOnly = .T. + this.clb_tx_acont.text_simplu1.SetFocus() + Else + this.clb_tx_cont.text_simplu1.SetFocus() + EndIf + + DODEFAULT() + ENDPROC + +ENDDEFINE + +DEFINE CLASS frm_config_analitice_nou AS _frmbase OF "_frm_base.vcx" + *< CLASSDATA: Baseclass="form" Timestamp="" Scale="Pixels" Uniqueid="" /> + + *-- OBJECTDATA items order determines ZOrder / El orden de los items OBJECTDATA determina el ZOrder + *< OBJECTDATA: ObjPath="But_renunt2" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="Cus_odata_config_analitice1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="Clb_tx_cont" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="Clb_tx_simplu2" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="Clb_tx_simplu3" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="Clb_tx_simplu4" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="Clb_tx_simplu5" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="Clb_tx_simplu6" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="But_renunt1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="Clb_tx_simplu7" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="Clb_tx_simplu8" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="Clb_tx_simplu9" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="Clb_tx_simplu10" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="Clb_tx_simplu11" UniqueID="" Timestamp="" /> + + * + *p: nid + *p: orec + * + + * + DoCreate = .T. + Height = 387 + Name = "frm_config_analitice_nou" + Width = 345 + _shape1.Name = "_shape1" + _shape1.ZOrderSet = 4 + _shape2.Height = 29 + _shape2.Left = 284 + _shape2.Name = "_shape2" + _shape2.Top = 0 + _shape2.Width = 62 + _shape2.ZOrderSet = 5 + Lb_titlu_alb_b121.Caption = "Configurare analitice" + Lb_titlu_alb_b121.Name = "Lb_titlu_alb_b121" + Lb_titlu_alb_b121.TabIndex = 15 + Lb_titlu_alb_b121.ZOrderSet = 6 + BUT_TERMIN1.Left = 315 + BUT_TERMIN1.Name = "BUT_TERMIN1" + BUT_TERMIN1.TabIndex = 12 + BUT_TERMIN1.Top = 1 + BUT_TERMIN1.ZOrderSet = 12 + Gridsort1.Name = "Gridsort1" + * + + ADD OBJECT 'But_renunt1' AS but_renunt WITH ; + Left = 285, ; + Name = "But_renunt1", ; + TabIndex = 14, ; + Top = 1, ; + ZOrderSet = 14 + *< END OBJECT: ClassLib="cmd_butoane.vcx" BaseClass="commandbutton" /> + + ADD OBJECT 'But_renunt2' AS but_renunt WITH ; + Left = 284, ; + Name = "But_renunt2", ; + TabIndex = 13, ; + Top = 1 + *< END OBJECT: ClassLib="cmd_butoane.vcx" BaseClass="commandbutton" /> + + ADD OBJECT 'Clb_tx_cont' AS clb_tx_simplu WITH ; + Left = 24, ; + Name = "Clb_tx_cont", ; + TabIndex = 1, ; + Top = 48, ; + Text_simplu1.ControlSource = "poRec.cont", ; + Text_simplu1.Name = "Text_simplu1", ; + Lb_simplu1.Caption = "Cont", ; + Lb_simplu1.Name = "Lb_simplu1" + *< END OBJECT: ClassLib="lb_tx.vcx" BaseClass="container" /> + + ADD OBJECT 'Clb_tx_simplu10' AS clb_tx_simplu WITH ; + Left = 24, ; + Name = "Clb_tx_simplu10", ; + TabIndex = 10, ; + Top = 322, ; + Text_simplu1.ControlSource = "poRec.poz_start_sufix", ; + Text_simplu1.Name = "Text_simplu1", ; + Lb_simplu1.Caption = "Poz. start sufix", ; + Lb_simplu1.Name = "Lb_simplu1" + *< END OBJECT: ClassLib="lb_tx.vcx" BaseClass="container" /> + + ADD OBJECT 'Clb_tx_simplu11' AS clb_tx_simplu WITH ; + Left = 24, ; + Name = "Clb_tx_simplu11", ; + TabIndex = 11, ; + Top = 350, ; + Text_simplu1.ControlSource = "poRec.nr_return_sufix", ; + Text_simplu1.Name = "Text_simplu1", ; + Lb_simplu1.Caption = "Nr. car. sufix", ; + Lb_simplu1.Name = "Lb_simplu1" + *< END OBJECT: ClassLib="lb_tx.vcx" BaseClass="container" /> + + ADD OBJECT 'Clb_tx_simplu2' AS clb_tx_simplu WITH ; + Left = 24, ; + Name = "Clb_tx_simplu2", ; + TabIndex = 2, ; + Top = 87, ; + Text_simplu1.ControlSource = "poRec.tabel_prefix", ; + Text_simplu1.Name = "Text_simplu1", ; + Lb_simplu1.Caption = "Tabel prefix", ; + Lb_simplu1.Name = "Lb_simplu1" + *< END OBJECT: ClassLib="lb_tx.vcx" BaseClass="container" /> + + ADD OBJECT 'Clb_tx_simplu3' AS clb_tx_simplu WITH ; + Left = 24, ; + Name = "Clb_tx_simplu3", ; + TabIndex = 3, ; + Top = 115, ; + Text_simplu1.ControlSource = "poRec.col_prefix", ; + Text_simplu1.Name = "Text_simplu1", ; + Lb_simplu1.Caption = "Coloanã prefix", ; + Lb_simplu1.Name = "Lb_simplu1" + *< END OBJECT: ClassLib="lb_tx.vcx" BaseClass="container" /> + + ADD OBJECT 'Clb_tx_simplu4' AS clb_tx_simplu WITH ; + Left = 24, ; + Name = "Clb_tx_simplu4", ; + TabIndex = 7, ; + Top = 238, ; + Text_simplu1.ControlSource = "poRec.tabel_sufix", ; + Text_simplu1.Name = "Text_simplu1", ; + Lb_simplu1.Caption = "Tabel sufix", ; + Lb_simplu1.Name = "Lb_simplu1" + *< END OBJECT: ClassLib="lb_tx.vcx" BaseClass="container" /> + + ADD OBJECT 'Clb_tx_simplu5' AS clb_tx_simplu WITH ; + Left = 24, ; + Name = "Clb_tx_simplu5", ; + TabIndex = 8, ; + Top = 266, ; + Text_simplu1.ControlSource = "poRec.col_sufix", ; + Text_simplu1.Name = "Text_simplu1", ; + Lb_simplu1.Caption = "Coloanã sufix", ; + Lb_simplu1.Name = "Lb_simplu1" + *< END OBJECT: ClassLib="lb_tx.vcx" BaseClass="container" /> + + ADD OBJECT 'Clb_tx_simplu6' AS clb_tx_simplu WITH ; + Left = 24, ; + Name = "Clb_tx_simplu6", ; + TabIndex = 4, ; + Top = 143, ; + Text_simplu1.ControlSource = "poRec.camp_leg_prefix", ; + Text_simplu1.Name = "Text_simplu1", ; + Lb_simplu1.Caption = "Câmp leg. prefix", ; + Lb_simplu1.Name = "Lb_simplu1" + *< END OBJECT: ClassLib="lb_tx.vcx" BaseClass="container" /> + + ADD OBJECT 'Clb_tx_simplu7' AS clb_tx_simplu WITH ; + Left = 24, ; + Name = "Clb_tx_simplu7", ; + TabIndex = 9, ; + Top = 294, ; + Text_simplu1.ControlSource = "poRec.camp_leg_sufix", ; + Text_simplu1.Name = "Text_simplu1", ; + Lb_simplu1.Caption = "Câmp leg. sufix", ; + Lb_simplu1.Name = "Lb_simplu1" + *< END OBJECT: ClassLib="lb_tx.vcx" BaseClass="container" /> + + ADD OBJECT 'Clb_tx_simplu8' AS clb_tx_simplu WITH ; + Left = 24, ; + Name = "Clb_tx_simplu8", ; + TabIndex = 5, ; + Top = 171, ; + Text_simplu1.ControlSource = "poRec.poz_start_prefix", ; + Text_simplu1.Name = "Text_simplu1", ; + Lb_simplu1.Caption = "Poz. start prefix", ; + Lb_simplu1.Name = "Lb_simplu1" + *< END OBJECT: ClassLib="lb_tx.vcx" BaseClass="container" /> + + ADD OBJECT 'Clb_tx_simplu9' AS clb_tx_simplu WITH ; + Left = 24, ; + Name = "Clb_tx_simplu9", ; + TabIndex = 6, ; + Top = 199, ; + Text_simplu1.ControlSource = "poRec.nr_return_prefix", ; + Text_simplu1.Name = "Text_simplu1", ; + Lb_simplu1.Caption = "Nr. car. prefix", ; + Lb_simplu1.Name = "Lb_simplu1" + *< END OBJECT: ClassLib="lb_tx.vcx" BaseClass="container" /> + + ADD OBJECT 'Cus_odata_config_analitice1' AS cus_odata_config_analitice WITH ; + Left = 324, ; + Name = "Cus_odata_config_analitice1", ; + Top = 24 + *< END OBJECT: ClassLib="onote_contabile.vcx" BaseClass="custom" /> + + PROCEDURE inainte_de_do_termin + IF EMPTY(POREC.CONT) + AMESSAGEBOX('Nu ati completat contul') + THIS.Clb_tx_cont.text_simplu1.SetFocus() + RETURN + ENDIF + RETURN THIS.cus_odata_config_analitice1.salvare(THIS.OREC,THIS.NID) + + + + + ENDPROC + + PROCEDURE Init + LPARAMETERS toRec, tnId, tcActiune + + this.orec= toRec + this.nid = tnId + this.cus_odata_config_analitice1.cactiune = tcActiune + + DODEFAULT() + ENDPROC + +ENDDEFINE + +DEFINE CLASS frm_config_analitice_tva AS frm_termin OF "_frm_child.vcx" + *< CLASSDATA: Baseclass="form" Timestamp="" Scale="Pixels" Uniqueid="" /> + + *-- OBJECTDATA items order determines ZOrder / El orden de los items OBJECTDATA determina el ZOrder + *< OBJECTDATA: ObjPath="But_nou1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="But_sterge1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="But_modifica1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="gridInregistrari" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="gridInregistrari.cCont.Header1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="gridInregistrari.cCont.Text1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="gridInregistrari.cGrupUtil.Header1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="gridInregistrari.cGrupUtil.Text1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="gridInregistrari.cAcont.Header1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="gridInregistrari.cAcont.Text1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="gridInregistrari.cSucursala.Header1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="gridInregistrari.cSucursala.Text1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="gridInregistrari.cExplicatieTVA.Header1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="gridInregistrari.cExplicatieTVA.Text1" UniqueID="" Timestamp="" /> + + * + *m: actual_afisare + *m: do_adauga_ireg + *m: do_modifica_ireg + *m: do_sterge_ireg + *m: refacere_tabel + *p: lcrm + * + + * + BorderStyle = 1 + DoCreate = .T. + Height = 359 + lcrm = .F. + Name = "frm_config_analitice_tva" + Width = 699 + _SHAPE1.Anchor = 10 + _SHAPE1.Height = 29 + _SHAPE1.Left = 0 + _SHAPE1.Name = "_SHAPE1" + _SHAPE1.Top = 0 + _SHAPE1.Width = 792 + _SHAPE2.Anchor = 8 + _SHAPE2.Height = 29 + _SHAPE2.Left = 569 + _SHAPE2.Name = "_SHAPE2" + _SHAPE2.Top = 0 + _SHAPE2.Width = 131 + LB_TITLU_ALB_B121.Caption = "Configurare analitice conturi TVA" + LB_TITLU_ALB_B121.Name = "LB_TITLU_ALB_B121" + BUT_TERMIN1.Anchor = 8 + BUT_TERMIN1.Left = 666 + BUT_TERMIN1.Name = "BUT_TERMIN1" + BUT_TERMIN1.Top = 1 + GRIDSORT1.Left = -2 + GRIDSORT1.Name = "GRIDSORT1" + GRIDSORT1.Top = 33 + * + + ADD OBJECT 'But_modifica1' AS but_modifica WITH ; + Anchor = 8, ; + Left = 605, ; + Name = "But_modifica1", ; + TabIndex = 4, ; + Top = 1, ; + Visible = .T. + *< END OBJECT: ClassLib="cmd_butoane.vcx" BaseClass="commandbutton" /> + + ADD OBJECT 'But_nou1' AS but_nou WITH ; + Anchor = 8, ; + Left = 573, ; + Name = "But_nou1", ; + TabIndex = 3, ; + Top = 1 + *< END OBJECT: ClassLib="cmd_butoane.vcx" BaseClass="commandbutton" /> + + ADD OBJECT 'But_sterge1' AS but_sterge WITH ; + Anchor = 8, ; + Left = 636, ; + Name = "But_sterge1", ; + TabIndex = 5, ; + Top = 1, ; + Visible = .T. + *< END OBJECT: ClassLib="cmd_butoane.vcx" BaseClass="commandbutton" /> + + ADD OBJECT 'gridInregistrari' AS _grdrow WITH ; + Anchor = 15, ; + ColumnCount = 5, ; + DeleteMark = .F., ; + FontName = "Arial", ; + HeaderHeight = 20, ; + Height = 311, ; + Left = 12, ; + Name = "gridInregistrari", ; + Panel = 1, ; + RecordSource = "crsConfigAnalitice", ; + Top = 40, ; + Width = 679, ; + Column1.ColumnOrder = 4, ; + Column1.ControlSource = "cont", ; + Column1.FontName = "Arial", ; + Column1.Name = "cCont", ; + Column1.Width = 57, ; + Column2.ColumnOrder = 2, ; + Column2.ControlSource = "denumire_grup", ; + Column2.FontName = "Arial", ; + Column2.Name = "cGrupUtil", ; + Column2.Width = 157, ; + Column3.ColumnOrder = 5, ; + Column3.ControlSource = "acont", ; + Column3.FontName = "Arial", ; + Column3.Name = "cAcont", ; + Column3.Width = 55, ; + Column4.ColumnOrder = 1, ; + Column4.ControlSource = "sucursala", ; + Column4.FontName = "Arial", ; + Column4.Name = "cSucursala", ; + Column4.Width = 193, ; + Column5.ColumnOrder = 3, ; + Column5.ControlSource = "explicatie_tva", ; + Column5.FontName = "Arial", ; + Column5.Name = "cExplicatieTVA", ; + Column5.Width = 176 + *< END OBJECT: ClassLib="_grd_base.vcx" BaseClass="grid" /> + + ADD OBJECT 'gridInregistrari.cAcont.Header1' AS header WITH ; + Alignment = 2, ; + Caption = "Analitic", ; + FontName = "Arial", ; + Name = "Header1" + *< END OBJECT: BaseClass="header" /> + + ADD OBJECT 'gridInregistrari.cAcont.Text1' AS textbox WITH ; + BackColor = 255,255,255, ; + BorderStyle = 0, ; + FontName = "Arial", ; + ForeColor = 0,0,0, ; + Margin = 0, ; + Name = "Text1" + *< END OBJECT: BaseClass="textbox" /> + + ADD OBJECT 'gridInregistrari.cCont.Header1' AS header WITH ; + Alignment = 2, ; + Caption = "Cont", ; + FontName = "Arial", ; + Name = "Header1" + *< END OBJECT: BaseClass="header" /> + + ADD OBJECT 'gridInregistrari.cCont.Text1' AS textbox WITH ; + BackColor = 255,255,255, ; + BorderStyle = 0, ; + FontName = "Arial", ; + ForeColor = 0,0,0, ; + Margin = 0, ; + Name = "Text1" + *< END OBJECT: BaseClass="textbox" /> + + ADD OBJECT 'gridInregistrari.cExplicatieTVA.Header1' AS header WITH ; + Alignment = 2, ; + Caption = "Explicatie TVA", ; + Name = "Header1" + *< END OBJECT: BaseClass="header" /> + + ADD OBJECT 'gridInregistrari.cExplicatieTVA.Text1' AS textbox WITH ; + BackColor = 255,255,255, ; + BorderStyle = 0, ; + ForeColor = 0,0,0, ; + Margin = 0, ; + Name = "Text1" + *< END OBJECT: BaseClass="textbox" /> + + ADD OBJECT 'gridInregistrari.cGrupUtil.Header1' AS header WITH ; + Alignment = 2, ; + Caption = "Grup utilizatori", ; + FontName = "Arial", ; + Name = "Header1" + *< END OBJECT: BaseClass="header" /> + + ADD OBJECT 'gridInregistrari.cGrupUtil.Text1' AS textbox WITH ; + BackColor = 255,255,255, ; + BorderStyle = 0, ; + FontName = "Arial", ; + ForeColor = 0,0,0, ; + Margin = 0, ; + Name = "Text1" + *< END OBJECT: BaseClass="textbox" /> + + ADD OBJECT 'gridInregistrari.cSucursala.Header1' AS header WITH ; + Alignment = 2, ; + Caption = "Sucursala", ; + Name = "Header1" + *< END OBJECT: BaseClass="header" /> + + ADD OBJECT 'gridInregistrari.cSucursala.Text1' AS textbox WITH ; + BackColor = 255,255,255, ; + BorderStyle = 0, ; + ForeColor = 0,0,0, ; + Margin = 0, ; + Name = "Text1" + *< END OBJECT: BaseClass="textbox" /> + + PROCEDURE actualizeaza_grid1 + LPARAMETERS pcFiltru + + LOCAL lcFiltru + lcFiltru = pcFiltru + IF EMPTY(lcFiltru) + lcFiltru = poConfig.ca_baza1.cfiltru + ENDIF + + save_grid_tag(thisform.gridInregistrari) + poConfig.ca_baza1.cfiltru = lcFiltru + poConfig.ca_baza1.afisare() + restore_grid_tag(thisform.gridInregistrari) + thisform.gridInregistrari.refresh + + + ENDPROC + + PROCEDURE actual_afisare + ENDPROC + + PROCEDURE do_adauga + SELECT crsConfigAnalitice + SCATTER NAME loRec + + DO Adauga_Modifica_Inregistrare WITH "config_analitice_tva",loRec,,"INSERT" + THIS.actualizeaza_grid1() + + THISFORM.gridInregistrari.SETFOCUS() + + + + + ENDPROC + + PROCEDURE do_adauga_ireg + ENDPROC + + PROCEDURE do_modifica + SELECT crsConfigAnalitice + IF RECCOUNT() > 0 + SCATTER NAME loRec + + DO Adauga_Modifica_Inregistrare WITH "config_analitice_tva",loRec,loRec.id,"UPDATE" + THIS.actualizeaza_grid1() + SELECT crsConfigAnalitice + LOCATE FOR id = lorec.id + THISFORM.gridInregistrari.SETFOCUS() + + ENDIF + + ENDPROC + + PROCEDURE do_modifica_ireg + ENDPROC + + PROCEDURE do_sterge + If Reccount('crsConfigAnalitice')>0 + If aMessageBox('Doriti sa stergeti inregistrarea?',4+32,'Configurare') <> 6 + Return + EndIf + + SELECT crsConfigAnalitice + Scatter Name loRec + Do STERGE_INREGISTRARE With "config_tva_analitice",loRec.id + THIS.actualizeaza_grid1() + *!* lcSql = [delete from CONFIG_TVA_ANALITICE where id =] + Alltrim(Str(loRec.id)) + ['] + *!* lnSucces = goExecutor.oExecute(lcSql) + *!* If lnSucces < 0 + *!* aMessageBox(goExecutor.cEroare,0+16,'Eroare') + *!* Else + *!* This.actualizeaza_grid1() + *!* EndIf + Endif + ENDPROC + + PROCEDURE do_sterge_ireg + ENDPROC + + PROCEDURE refacere_tabel + ENDPROC + +ENDDEFINE + +DEFINE CLASS frm_config_analitice_tva_nou AS _frmbase OF "_frm_base.vcx" + *< CLASSDATA: Baseclass="form" Timestamp="" Scale="Pixels" Uniqueid="" /> + + *-- OBJECTDATA items order determines ZOrder / El orden de los items OBJECTDATA determina el ZOrder + *< OBJECTDATA: ObjPath="Clb_tx_cont" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="But_renunt1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="Clb_tx_acont" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="cnt_explicatietva" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="cnt_sucursala" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="cnt_grup" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="Cus_odata_config_tva_analitice1" UniqueID="" Timestamp="" /> + + * + *m: do_alege_explicatietva + *m: do_alege_grup + *m: do_alege_sucursala + *p: nid + *p: orec + * + + * + BorderStyle = 1 + DoCreate = .T. + Height = 190 + Name = "frm_config_analitice_tva_nou" + Width = 411 + _shape1.Height = 29 + _shape1.Left = 0 + _shape1.Name = "_shape1" + _shape1.Top = 0 + _shape1.Width = 420 + _shape1.ZOrderSet = 1 + _shape2.Height = 29 + _shape2.Left = 284 + _shape2.Name = "_shape2" + _shape2.Top = 0 + _shape2.Width = 62 + _shape2.ZOrderSet = 0 + Lb_titlu_alb_b121.Caption = "Configurare analitice" + Lb_titlu_alb_b121.Name = "Lb_titlu_alb_b121" + Lb_titlu_alb_b121.TabIndex = 9 + Lb_titlu_alb_b121.ZOrderSet = 4 + BUT_TERMIN1.Left = 380 + BUT_TERMIN1.Name = "BUT_TERMIN1" + BUT_TERMIN1.TabIndex = 6 + BUT_TERMIN1.Top = 1 + BUT_TERMIN1.ZOrderSet = 10 + Gridsort1.Name = "Gridsort1" + * + + ADD OBJECT 'But_renunt1' AS but_renunt WITH ; + Left = 350, ; + Name = "But_renunt1", ; + TabIndex = 7, ; + Top = 1, ; + ZOrderSet = 6 + *< END OBJECT: ClassLib="cmd_butoane.vcx" BaseClass="commandbutton" /> + + ADD OBJECT 'Clb_tx_acont' AS clb_tx_simplu WITH ; + Height = 29, ; + Left = 25, ; + Name = "Clb_tx_acont", ; + TabIndex = 5, ; + Top = 154, ; + Width = 156, ; + ZOrderSet = 7, ; + Text_simplu1.ControlSource = "poRec.acont", ; + Text_simplu1.Height = 23, ; + Text_simplu1.Left = 94, ; + Text_simplu1.Name = "Text_simplu1", ; + Text_simplu1.Top = 3, ; + Text_simplu1.Width = 52, ; + Lb_simplu1.Caption = "Analitic", ; + Lb_simplu1.FontBold = .T., ; + Lb_simplu1.Left = 6, ; + Lb_simplu1.Name = "Lb_simplu1" + *< END OBJECT: ClassLib="lb_tx.vcx" BaseClass="container" /> + + ADD OBJECT 'Clb_tx_cont' AS clb_tx_simplu WITH ; + Height = 29, ; + Left = 25, ; + Name = "Clb_tx_cont", ; + TabIndex = 4, ; + Top = 126, ; + Width = 156, ; + ZOrderSet = 5, ; + Text_simplu1.ControlSource = "poRec.cont", ; + Text_simplu1.Height = 23, ; + Text_simplu1.Left = 94, ; + Text_simplu1.Name = "Text_simplu1", ; + Text_simplu1.Top = 3, ; + Text_simplu1.Width = 52, ; + Lb_simplu1.Caption = "Cont", ; + Lb_simplu1.FontBold = .T., ; + Lb_simplu1.Left = 6, ; + Lb_simplu1.Name = "Lb_simplu1" + *< END OBJECT: ClassLib="lb_tx.vcx" BaseClass="container" /> + + ADD OBJECT 'cnt_explicatietva' AS ct_clb_cautare_var WITH ; + cconditie = EMPTY(NVL(poRec.id_jtva_coloana,0)), ; + cprocedura = thisform.do_alege_explicatietva(), ; + cvar_afisata = porec.explicatie_tva, ; + Height = 31, ; + Left = 24, ; + Name = "cnt_explicatietva", ; + TabIndex = 3, ; + Top = 97, ; + Width = 390, ; + ZOrderSet = 8, ; + shape_cautare.Height = 29, ; + shape_cautare.Left = 1, ; + shape_cautare.Name = "shape_cautare", ; + shape_cautare.Top = 1, ; + shape_cautare.Width = 359, ; + img_cautare.Left = 364, ; + img_cautare.Name = "img_cautare", ; + img_cautare.Top = 5, ; + lb_cautare.Caption = "Explicatie TVA", ; + lb_cautare.FontBold = .T., ; + lb_cautare.Name = "lb_cautare", ; + tx_cautare.Height = 23, ; + tx_cautare.Left = 95, ; + tx_cautare.Name = "tx_cautare", ; + tx_cautare.Top = 4, ; + tx_cautare.Width = 260 + *< END OBJECT: ClassLib="caut_ora.vcx" BaseClass="container" /> + + ADD OBJECT 'cnt_grup' AS ct_clb_cautare_var WITH ; + cconditie = 1=2, ; + cprocedura = thisform.do_alege_grup(), ; + cvar_afisata = porec.denumire_grup, ; + Height = 31, ; + Left = 24, ; + Name = "cnt_grup", ; + TabIndex = 2, ; + Top = 69, ; + Width = 390, ; + ZOrderSet = 8, ; + shape_cautare.Height = 29, ; + shape_cautare.Left = 1, ; + shape_cautare.Name = "shape_cautare", ; + shape_cautare.Top = 1, ; + shape_cautare.Width = 283, ; + img_cautare.Left = 293, ; + img_cautare.Name = "img_cautare", ; + img_cautare.Top = 5, ; + lb_cautare.Caption = "Grup utilizatori", ; + lb_cautare.Name = "lb_cautare", ; + tx_cautare.Left = 95, ; + tx_cautare.Name = "tx_cautare", ; + tx_cautare.Top = 4 + *< END OBJECT: ClassLib="caut_ora.vcx" BaseClass="container" /> + + ADD OBJECT 'cnt_sucursala' AS ct_clb_cautare_var WITH ; + cconditie = 1=2, ; + cprocedura = thisform.do_alege_sucursala(), ; + cvar_afisata = porec.sucursala, ; + Height = 31, ; + Left = 24, ; + Name = "cnt_sucursala", ; + TabIndex = 1, ; + Top = 41, ; + Width = 390, ; + ZOrderSet = 8, ; + shape_cautare.Height = 29, ; + shape_cautare.Left = 1, ; + shape_cautare.Name = "shape_cautare", ; + shape_cautare.Top = 1, ; + shape_cautare.Width = 283, ; + img_cautare.Left = 293, ; + img_cautare.Name = "img_cautare", ; + img_cautare.Top = 5, ; + lb_cautare.Caption = "Sucursala", ; + lb_cautare.Name = "lb_cautare", ; + tx_cautare.Left = 95, ; + tx_cautare.Name = "tx_cautare", ; + tx_cautare.Top = 4 + *< END OBJECT: ClassLib="caut_ora.vcx" BaseClass="container" /> + + ADD OBJECT 'Cus_odata_config_tva_analitice1' AS cus_odata_config_tva_analitice WITH ; + Left = 2, ; + Name = "Cus_odata_config_tva_analitice1", ; + Top = 74 + *< END OBJECT: ClassLib="onote_contabile.vcx" BaseClass="custom" /> + + PROCEDURE do_alege_explicatietva + Local loCauta + + If Upper(This.cus_odata_config_tva_analitice1.cactiune) = 'UPDATE' + Return + Endif + loCauta = caut_explicatie_tva() + + If !Isnull(loCauta) + If !Empty(Nvl(loCauta.id_jtva_coloana,0)) + poRec.id_jtva_coloana = loCauta.id_jtva_coloana + poRec.explicatie_tva = ALLTRIM(loCauta.denumire) + Endif + Endif + + ENDPROC + + PROCEDURE do_alege_grup + Local lcCont, loHash, loGrup + lcCont = "" + If Upper(this.cus_odata_config_tva_analitice1.cactiune) = 'UPDATE' + Return + EndIf + loGrup = caut_gruputilizatori() + + If !Empty(Nvl(loGrup.id_grup,0)) + poRec.id_grup = loGrup.id_grup + poRec.denumire_grup = loGrup.denumire_grup + Endif + + ENDPROC + + PROCEDURE do_alege_sucursala + Local loCauta + + If Upper(this.cus_odata_config_tva_analitice1.cactiune) = 'UPDATE' + Return + EndIf + + loCauta = caut_sucursala() + If !Isnull(loCauta) + poRec.id_sucursala = loCauta.id_sucursala + poRec.sucursala = loCauta.sucursala + Else + poRec.id_sucursala = Null + poRec.sucursala = [] + Endif + + + + + ENDPROC + + PROCEDURE inainte_de_do_termin + If Empty(Nvl(poRec.id_jtva_coloana,0)) + AMESSAGEBOX('Nu ati ales Explicatia TVA!') + this.cnt_explicatietva.tx_cautare.SetFocus() + RETURN .F. + EndIf + IF EMPTY(POREC.CONT) + AMESSAGEBOX('Nu ati completat contul!') + THIS.Clb_tx_cont.text_simplu1.SetFocus() + RETURN .F. + ENDIF + IF EMPTY(POREC.ACONT) + AMESSAGEBOX('Nu ati completat analiticul!') + THIS.Clb_tx_Acont.text_simplu1.SetFocus() + RETURN .F. + ENDIF + + RETURN THIS.cus_odata_config_tva_analitice1.salvare(THIS.OREC,THIS.NID) + + + + + ENDPROC + + PROCEDURE Init + LPARAMETERS toRec, tnId, tcActiune + + this.orec= toRec + this.nid = tnId + this.cus_odata_config_tva_analitice1.cactiune = tcActiune + + If Upper(tcActiune) = 'UPDATE' + this.cnt_sucursala.Enabled = .F. + THIS.cnt_grup.Enabled = .F. + this.cnt_explicatietva.Enabled = .F. + this.clb_tx_cont.text_simplu1.ReadOnly = .T. + this.clb_tx_acont.text_simplu1.SetFocus() + Else + this.clb_tx_cont.text_simplu1.SetFocus() + EndIf + + DODEFAULT() + ENDPROC + +ENDDEFINE + +DEFINE CLASS frm_config_note_contabile AS frm_termin OF "_frm_child.vcx" + *< CLASSDATA: Baseclass="form" Timestamp="" Scale="Pixels" Uniqueid="" /> + + *-- OBJECTDATA items order determines ZOrder / El orden de los items OBJECTDATA determina el ZOrder + *< OBJECTDATA: ObjPath="_pageframe1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="_pageframe1.Page1.But_nou1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="_pageframe1.Page1.But_sterge1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="_pageframe1.Page1.But_modifica1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="_pageframe1.Page1.But_reface1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="_pageframe1.Page1.But_nou2" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="_pageframe1.Page1.gridNote" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="_pageframe1.Page1.gridNote.Column1.Header1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="_pageframe1.Page1.gridNote.Column1.Text1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="_pageframe1.Page1.gridNote.Column2.Header1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="_pageframe1.Page1.gridNote.Column2.Text1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="_pageframe1.Page1.gridNote.Column3.Header1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="_pageframe1.Page1.gridNote.Column3.Text1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="_pageframe1.Page1.gridNote.Column4.Header1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="_pageframe1.Page1.gridNote.Column4.Text1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="_pageframe1.Page1.But_sterge2" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="_pageframe1.Page1.But_modifica2" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="_pageframe1.Page1.gridInregistrari" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="_pageframe1.Page1.gridInregistrari.cOrdine.Header1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="_pageframe1.Page1.gridInregistrari.cOrdine.Text1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="_pageframe1.Page1.gridInregistrari.cExplicatie.Header1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="_pageframe1.Page1.gridInregistrari.cExplicatie.Text1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="_pageframe1.Page1.gridInregistrari.cScd.Header1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="_pageframe1.Page1.gridInregistrari.cScd.Text1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="_pageframe1.Page1.gridInregistrari.cScc.Header1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="_pageframe1.Page1.gridInregistrari.cScc.Text1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="_pageframe1.Page1.gridInregistrari.cCu_tva.Header1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="_pageframe1.Page1.gridInregistrari.cCu_tva.Check1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="_pageframe1.Page1.gridInregistrari.cptva.Header1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="_pageframe1.Page1.gridInregistrari.cptva.Text1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="_pageframe1.Page1.gridInregistrari.cin_valuta.Header1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="_pageframe1.Page1.gridInregistrari.cin_valuta.Check1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="_pageframe1.Page1.gridInregistrari.cAscd.Header1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="_pageframe1.Page1.gridInregistrari.cAscd.Text1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="_pageframe1.Page1.gridInregistrari.cAscc.Header1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="_pageframe1.Page1.gridInregistrari.cAscc.Text1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="_pageframe1.Page1.gridInregistrari.Column10.Header1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="_pageframe1.Page1.gridInregistrari.Column10.Text1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="_pageframe1.Page1.gridInregistrari.Column11.Header1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="_pageframe1.Page1.gridInregistrari.Column11.Text1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="_pageframe1.Page2.grdUSets" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="_pageframe1.Page2.grdUSets.Column1.Header1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="_pageframe1.Page2.grdUSets.Column1.Text1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="_pageframe1.Page2.grdUSets.Column2.Header1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="_pageframe1.Page2.grdUSets.Column2.Text1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="_pageframe1.Page2.grdUCategorii" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="_pageframe1.Page2.grdUCategorii.Column1.Header1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="_pageframe1.Page2.grdUCategorii.Column1.Text1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="_pageframe1.Page2.grdUCategorii.Column2.Header1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="_pageframe1.Page2.grdUCategorii.Column2.Text1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="_pageframe1.Page2.grdUCategorii.Column3.Header1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="_pageframe1.Page2.grdUCategorii.Column3.Text1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="_pageframe1.Page2._label1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="_pageframe1.Page2._label2" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="_pageframe1.Page2.txtCategorie" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="_pageframe1.Page2.spnOrdine" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="_pageframe1.Page2.lblCategorie2" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="_pageframe1.Page2.lblCategorie" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="_pageframe1.Page2.lblOrdine" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="_pageframe1.Page2.txtSet" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="_pageframe1.Page2.lblSet" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="_pageframe1.Page2.But_salveaza1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="_pageframe1.Page2.But_sterge1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="_pageframe1.Page2.But_salveaza2" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="_pageframe1.Page2.But_renunt2" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="_pageframe1.Page2.But_modifica2" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="_pageframe1.Page2.But_sterge2" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="_pageframe1.Page2.But_nou2" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="_pageframe1.Page2.But_nou1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="_pageframe1.Page2.But_copiaza2" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="_pageframe1.Page2.But_editeazaset" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="_pageframe1.Page2.cboCategorii" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="_pageframe1.Page2.But_renunt3" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="_pageframe1.Page2.But_modifica1" UniqueID="" Timestamp="" /> + + * + *m: actual_afisare + *m: do_adauga_ireg + *m: do_modifica_ireg + *m: do_sterge_ireg + *m: refacere_tabel + *p: lcrm + * + + * + BorderStyle = 1 + DoCreate = .T. + Height = 466 + lcrm = .F. + Name = "frm_config_note_contabile" + Width = 794 + _SHAPE1.Height = 29 + _SHAPE1.Left = 0 + _SHAPE1.Name = "_SHAPE1" + _SHAPE1.Top = 0 + _SHAPE1.Width = 792 + _SHAPE2.Height = 29 + _SHAPE2.Left = 719 + _SHAPE2.Name = "_SHAPE2" + _SHAPE2.Top = 0 + _SHAPE2.Width = 73 + LB_TITLU_ALB_B121.Caption = "Configurare note" + LB_TITLU_ALB_B121.Name = "LB_TITLU_ALB_B121" + BUT_TERMIN1.Anchor = 8 + BUT_TERMIN1.Left = 758 + BUT_TERMIN1.Name = "BUT_TERMIN1" + BUT_TERMIN1.Top = 1 + GRIDSORT1.Left = 9 + GRIDSORT1.Name = "GRIDSORT1" + GRIDSORT1.Top = 39 + * + + ADD OBJECT '_pageframe1' AS _pageframe WITH ; + Anchor = 15, ; + ErasePage = .T., ; + Height = 421, ; + Left = 12, ; + Name = "_pageframe1", ; + Top = 40, ; + Width = 782, ; + Page1.Caption = "Note predefinite", ; + Page1.FontSize = 10, ; + Page1.Name = "Page1", ; + Page2.Caption = "Note definite de utilizatori", ; + Page2.Name = "Page2" + *< END OBJECT: ClassLib="..\..\..\..\contafin\comun\clase\_baza.vcx" BaseClass="pageframe" /> + + ADD OBJECT '_pageframe1.Page1.But_modifica1' AS but_modifica WITH ; + Anchor = 8, ; + caction = do_modifica_ireg, ; + Left = 687, ; + Name = "But_modifica1", ; + TabIndex = 4, ; + Top = 2, ; + Visible = .T. + *< END OBJECT: ClassLib="cmd_butoane.vcx" BaseClass="commandbutton" /> + + ADD OBJECT '_pageframe1.Page1.But_modifica2' AS but_modifica WITH ; + Anchor = 8, ; + Left = 261, ; + Name = "But_modifica2", ; + TabIndex = 4, ; + Top = 2, ; + Visible = .T. + *< END OBJECT: ClassLib="cmd_butoane.vcx" BaseClass="commandbutton" /> + + ADD OBJECT '_pageframe1.Page1.But_nou1' AS but_nou WITH ; + Anchor = 8, ; + caction = do_adauga_ireg, ; + Left = 658, ; + Name = "But_nou1", ; + TabIndex = 3, ; + Top = 2 + *< END OBJECT: ClassLib="cmd_butoane.vcx" BaseClass="commandbutton" /> + + ADD OBJECT '_pageframe1.Page1.But_nou2' AS but_nou WITH ; + Anchor = 8, ; + Left = 233, ; + Name = "But_nou2", ; + TabIndex = 3, ; + Top = 2 + *< END OBJECT: ClassLib="cmd_butoane.vcx" BaseClass="commandbutton" /> + + ADD OBJECT '_pageframe1.Page1.But_reface1' AS but_reface WITH ; + Anchor = 8, ; + Left = 743, ; + lvizibil = .F., ; + Name = "But_reface1", ; + Top = 2, ; + Visible = .F. + *< END OBJECT: ClassLib="cmd_butoane.vcx" BaseClass="commandbutton" /> + + ADD OBJECT '_pageframe1.Page1.But_sterge1' AS but_sterge WITH ; + Anchor = 8, ; + caction = do_sterge_ireg, ; + Left = 715, ; + Name = "But_sterge1", ; + TabIndex = 5, ; + Top = 2, ; + Visible = .T. + *< END OBJECT: ClassLib="cmd_butoane.vcx" BaseClass="commandbutton" /> + + ADD OBJECT '_pageframe1.Page1.But_sterge2' AS but_sterge WITH ; + Anchor = 8, ; + Left = 289, ; + Name = "But_sterge2", ; + TabIndex = 5, ; + Top = 2, ; + Visible = .T. + *< END OBJECT: ClassLib="cmd_butoane.vcx" BaseClass="commandbutton" /> + + ADD OBJECT '_pageframe1.Page1.gridInregistrari' AS _grdrow WITH ; + ColumnCount = 11, ; + DeleteMark = .F., ; + HeaderHeight = 38, ; + Height = 350, ; + Left = 325, ; + Name = "gridInregistrari", ; + Panel = 1, ; + RecordSource = "cnote_contab", ; + Top = 31, ; + Width = 448, ; + Column1.ColumnOrder = 1, ; + Column1.ControlSource = "cnote_contab.ordine", ; + Column1.FontName = "Arial", ; + Column1.Name = "cOrdine", ; + Column1.Width = 41, ; + Column2.ColumnOrder = 2, ; + Column2.ControlSource = "cnote_contab.explicatie", ; + Column2.FontName = "Arial", ; + Column2.Name = "cExplicatie", ; + Column2.Width = 181, ; + Column3.ColumnOrder = 3, ; + Column3.ControlSource = "cnote_contab.scd", ; + Column3.FontName = "Arial", ; + Column3.Name = "cScd", ; + Column3.Width = 54, ; + Column4.ColumnOrder = 5, ; + Column4.ControlSource = "cnote_contab.scc", ; + Column4.FontName = "Arial", ; + Column4.Name = "cScc", ; + Column4.Width = 57, ; + Column5.ColumnOrder = 7, ; + Column5.ControlSource = "cnote_contab.cu_tva", ; + Column5.FontName = "Arial", ; + Column5.Name = "cCu_tva", ; + Column5.Sparse = .F., ; + Column5.Width = 39, ; + Column6.ColumnOrder = 8, ; + Column6.ControlSource = "cnote_contab.ptva", ; + Column6.FontName = "Arial", ; + Column6.Name = "cptva", ; + Column6.Width = 53, ; + Column7.ColumnOrder = 9, ; + Column7.ControlSource = "cnote_contab.in_valuta", ; + Column7.FontName = "Arial", ; + Column7.Name = "cin_valuta", ; + Column7.Sparse = .F., ; + Column7.Width = 95, ; + Column8.ColumnOrder = 4, ; + Column8.ControlSource = "cnote_contab.ascd", ; + Column8.FontName = "Arial", ; + Column8.Name = "cAscd", ; + Column8.Width = 84, ; + Column9.ColumnOrder = 6, ; + Column9.ControlSource = "cnote_contab.ascc", ; + Column9.FontName = "Arial", ; + Column9.Name = "cAscc", ; + Column9.Width = 87, ; + Column10.ColumnOrder = 10, ; + Column10.FontName = "Arial", ; + Column10.Name = "Column10", ; + Column10.Width = 129, ; + Column11.ColumnOrder = 11, ; + Column11.FontName = "Arial", ; + Column11.Name = "Column11", ; + Column11.Width = 117 + *< END OBJECT: ClassLib="_grd_base.vcx" BaseClass="grid" /> + + ADD OBJECT '_pageframe1.Page1.gridInregistrari.cAscc.Header1' AS header WITH ; + Alignment = 2, ; + Caption = "Analitic creditor", ; + FontName = "Arial", ; + Name = "Header1", ; + WordWrap = .T. + *< END OBJECT: BaseClass="header" /> + + ADD OBJECT '_pageframe1.Page1.gridInregistrari.cAscc.Text1' AS textbox WITH ; + BackColor = 255,255,255, ; + BorderStyle = 0, ; + FontName = "Arial", ; + ForeColor = 0,0,0, ; + Margin = 0, ; + Name = "Text1", ; + SelectedBackColor = 100,185,255 + *< END OBJECT: BaseClass="textbox" /> + + ADD OBJECT '_pageframe1.Page1.gridInregistrari.cAscd.Header1' AS header WITH ; + Alignment = 2, ; + Caption = "Analitic debitor", ; + FontName = "Arial", ; + Name = "Header1", ; + WordWrap = .T. + *< END OBJECT: BaseClass="header" /> + + ADD OBJECT '_pageframe1.Page1.gridInregistrari.cAscd.Text1' AS textbox WITH ; + BackColor = 255,255,255, ; + BorderStyle = 0, ; + FontName = "Arial", ; + ForeColor = 0,0,0, ; + Margin = 0, ; + Name = "Text1", ; + SelectedBackColor = 100,185,255 + *< END OBJECT: BaseClass="textbox" /> + + ADD OBJECT '_pageframe1.Page1.gridInregistrari.cCu_tva.Check1' AS checkbox WITH ; + Alignment = 0, ; + Caption = "", ; + FontName = "Arial", ; + Height = 17, ; + Left = 27, ; + Name = "Check1", ; + SpecialEffect = 1, ; + Top = 47, ; + Width = 60 + *< END OBJECT: BaseClass="checkbox" /> + + ADD OBJECT '_pageframe1.Page1.gridInregistrari.cCu_tva.Header1' AS header WITH ; + Alignment = 2, ; + Caption = "Cu TVA", ; + FontName = "Arial", ; + Name = "Header1", ; + WordWrap = .T. + *< END OBJECT: BaseClass="header" /> + + ADD OBJECT '_pageframe1.Page1.gridInregistrari.cExplicatie.Header1' AS header WITH ; + Alignment = 2, ; + Caption = "Explicatie", ; + FontName = "Arial", ; + Name = "Header1" + *< END OBJECT: BaseClass="header" /> + + ADD OBJECT '_pageframe1.Page1.gridInregistrari.cExplicatie.Text1' AS textbox WITH ; + BackColor = 255,255,255, ; + BorderStyle = 0, ; + FontName = "Arial", ; + ForeColor = 0,0,0, ; + Margin = 0, ; + Name = "Text1", ; + SelectedBackColor = 100,185,255 + *< END OBJECT: BaseClass="textbox" /> + + ADD OBJECT '_pageframe1.Page1.gridInregistrari.cin_valuta.Check1' AS checkbox WITH ; + Alignment = 0, ; + Caption = "", ; + FontName = "Arial", ; + Height = 17, ; + Left = 36, ; + Name = "Check1", ; + SpecialEffect = 1, ; + Top = 71, ; + Width = 60 + *< END OBJECT: BaseClass="checkbox" /> + + ADD OBJECT '_pageframe1.Page1.gridInregistrari.cin_valuta.Header1' AS header WITH ; + Alignment = 2, ; + Caption = "Se inregistreaza suma in valuta", ; + FontName = "Arial", ; + Name = "Header1", ; + WordWrap = .T. + *< END OBJECT: BaseClass="header" /> + + ADD OBJECT '_pageframe1.Page1.gridInregistrari.Column10.Header1' AS header WITH ; + Alignment = 2, ; + Caption = "Partener debit", ; + FontName = "Arial", ; + Name = "Header1" + *< END OBJECT: BaseClass="header" /> + + ADD OBJECT '_pageframe1.Page1.gridInregistrari.Column10.Text1' AS textbox WITH ; + BackColor = 255,255,255, ; + BorderStyle = 0, ; + FontName = "Arial", ; + ForeColor = 0,0,0, ; + Margin = 0, ; + Name = "Text1", ; + SelectedBackColor = 100,185,255 + *< END OBJECT: BaseClass="textbox" /> + + ADD OBJECT '_pageframe1.Page1.gridInregistrari.Column11.Header1' AS header WITH ; + Alignment = 2, ; + Caption = "Partener credit", ; + FontName = "Arial", ; + Name = "Header1" + *< END OBJECT: BaseClass="header" /> + + ADD OBJECT '_pageframe1.Page1.gridInregistrari.Column11.Text1' AS textbox WITH ; + BackColor = 255,255,255, ; + BorderStyle = 0, ; + FontName = "Arial", ; + ForeColor = 0,0,0, ; + Margin = 0, ; + Name = "Text1", ; + SelectedBackColor = 100,185,255 + *< END OBJECT: BaseClass="textbox" /> + + ADD OBJECT '_pageframe1.Page1.gridInregistrari.cOrdine.Header1' AS header WITH ; + Alignment = 2, ; + Caption = "Ordine", ; + FontName = "Arial", ; + Name = "Header1" + *< END OBJECT: BaseClass="header" /> + + ADD OBJECT '_pageframe1.Page1.gridInregistrari.cOrdine.Text1' AS textbox WITH ; + BackColor = 255,255,255, ; + BorderStyle = 0, ; + FontName = "Arial", ; + ForeColor = 0,0,0, ; + Margin = 0, ; + Name = "Text1", ; + SelectedBackColor = 100,185,255 + *< END OBJECT: BaseClass="textbox" /> + + ADD OBJECT '_pageframe1.Page1.gridInregistrari.cptva.Header1' AS header WITH ; + Alignment = 2, ; + Caption = "Proc TVA", ; + FontName = "Arial", ; + Name = "Header1", ; + WordWrap = .T. + *< END OBJECT: BaseClass="header" /> + + ADD OBJECT '_pageframe1.Page1.gridInregistrari.cptva.Text1' AS textbox WITH ; + BackColor = 255,255,255, ; + BorderStyle = 0, ; + FontName = "Arial", ; + ForeColor = 0,0,0, ; + Margin = 0, ; + Name = "Text1", ; + SelectedBackColor = 100,185,255 + *< END OBJECT: BaseClass="textbox" /> + + ADD OBJECT '_pageframe1.Page1.gridInregistrari.cScc.Header1' AS header WITH ; + Alignment = 2, ; + Caption = "Cont cred", ; + FontName = "Arial", ; + Name = "Header1", ; + WordWrap = .T. + *< END OBJECT: BaseClass="header" /> + + ADD OBJECT '_pageframe1.Page1.gridInregistrari.cScc.Text1' AS textbox WITH ; + BackColor = 255,255,255, ; + BorderStyle = 0, ; + FontName = "Arial", ; + ForeColor = 0,0,0, ; + Margin = 0, ; + Name = "Text1", ; + SelectedBackColor = 100,185,255 + *< END OBJECT: BaseClass="textbox" /> + + ADD OBJECT '_pageframe1.Page1.gridInregistrari.cScd.Header1' AS header WITH ; + Alignment = 2, ; + Caption = "Cont deb", ; + FontName = "Arial", ; + Name = "Header1", ; + WordWrap = .T. + *< END OBJECT: BaseClass="header" /> + + ADD OBJECT '_pageframe1.Page1.gridInregistrari.cScd.Text1' AS textbox WITH ; + BackColor = 255,255,255, ; + BorderStyle = 0, ; + FontName = "Arial", ; + ForeColor = 0,0,0, ; + Margin = 0, ; + Name = "Text1", ; + SelectedBackColor = 100,185,255 + *< END OBJECT: BaseClass="textbox" /> + + ADD OBJECT '_pageframe1.Page1.gridNote' AS grid WITH ; + ColumnCount = 4, ; + DeleteMark = .F., ; + FontSize = 10, ; + Height = 350, ; + Left = 8, ; + Name = "gridNote", ; + Panel = 1, ; + ReadOnly = .T., ; + RecordSource = "nom_meniu", ; + RowHeight = 19, ; + TabIndex = 1, ; + Top = 31, ; + Width = 311, ; + ZOrderSet = 6, ; + Column1.ControlSource = "MENIU", ; + Column1.FontName = "Arial", ; + Column1.FontSize = 10, ; + Column1.Name = "Column1", ; + Column1.ReadOnly = .T., ; + Column1.Width = 226, ; + Column2.ControlSource = "ID_SET", ; + Column2.FontName = "Arial", ; + Column2.FontSize = 10, ; + Column2.Name = "Column2", ; + Column2.ReadOnly = .T., ; + Column2.Width = 54, ; + Column3.ControlSource = "sectie", ; + Column3.FontName = "Arial", ; + Column3.FontSize = 10, ; + Column3.Name = "Column3", ; + Column3.ReadOnly = .T., ; + Column4.ControlSource = "explicatie", ; + Column4.FontName = "Arial", ; + Column4.FontSize = 10, ; + Column4.Name = "Column4", ; + Column4.ReadOnly = .T., ; + Column4.Width = 105 + *< END OBJECT: BaseClass="grid" /> + + ADD OBJECT '_pageframe1.Page1.gridNote.Column1.Header1' AS header WITH ; + Alignment = 2, ; + Caption = "Element meniu", ; + FontName = "Arial", ; + FontSize = 10, ; + Name = "Header1" + *< END OBJECT: BaseClass="header" /> + + ADD OBJECT '_pageframe1.Page1.gridNote.Column1.Text1' AS textbox WITH ; + BackColor = 255,255,255, ; + BorderStyle = 0, ; + FontName = "Arial", ; + FontSize = 10, ; + ForeColor = 0,0,0, ; + Margin = 0, ; + Name = "Text1", ; + ReadOnly = .T. + *< END OBJECT: BaseClass="textbox" /> + + ADD OBJECT '_pageframe1.Page1.gridNote.Column2.Header1' AS header WITH ; + Alignment = 2, ; + Caption = "Id", ; + FontName = "Arial", ; + FontSize = 10, ; + Name = "Header1" + *< END OBJECT: BaseClass="header" /> + + ADD OBJECT '_pageframe1.Page1.gridNote.Column2.Text1' AS textbox WITH ; + BackColor = 255,255,255, ; + BorderStyle = 0, ; + FontName = "Arial", ; + FontSize = 10, ; + ForeColor = 0,0,0, ; + Margin = 0, ; + Name = "Text1", ; + ReadOnly = .T. + *< END OBJECT: BaseClass="textbox" /> + + ADD OBJECT '_pageframe1.Page1.gridNote.Column3.Header1' AS header WITH ; + Alignment = 2, ; + Caption = "Sectie", ; + FontName = "Arial", ; + FontSize = 10, ; + Name = "Header1" + *< END OBJECT: BaseClass="header" /> + + ADD OBJECT '_pageframe1.Page1.gridNote.Column3.Text1' AS textbox WITH ; + BackColor = 255,255,255, ; + BorderStyle = 0, ; + FontName = "Arial", ; + FontSize = 10, ; + ForeColor = 0,0,0, ; + Margin = 0, ; + Name = "Text1" + *< END OBJECT: BaseClass="textbox" /> + + ADD OBJECT '_pageframe1.Page1.gridNote.Column4.Header1' AS header WITH ; + Alignment = 2, ; + Caption = "Venituri/Cheltuieli", ; + FontName = "Arial", ; + FontSize = 10, ; + Name = "Header1" + *< END OBJECT: BaseClass="header" /> + + ADD OBJECT '_pageframe1.Page1.gridNote.Column4.Text1' AS textbox WITH ; + BackColor = 255,255,255, ; + BorderStyle = 0, ; + FontName = "Arial", ; + FontSize = 10, ; + ForeColor = 0,0,0, ; + Margin = 0, ; + Name = "Text1" + *< END OBJECT: BaseClass="textbox" /> + + ADD OBJECT '_pageframe1.Page2._label1' AS _label WITH ; + Caption = "Categorii", ; + FontBold = .T., ; + FontSize = 10, ; + Left = 17, ; + Name = "_label1", ; + TabIndex = 19, ; + Top = 19, ; + ZOrderSet = 2 + *< END OBJECT: ClassLib="..\..\..\..\contafin\comun\clase\_baza.vcx" BaseClass="label" /> + + ADD OBJECT '_pageframe1.Page2._label2' AS _label WITH ; + Caption = "Set note", ; + FontBold = .T., ; + FontSize = 10, ; + Left = 364, ; + Name = "_label2", ; + TabIndex = 20, ; + Top = 19, ; + ZOrderSet = 3 + *< END OBJECT: ClassLib="..\..\..\..\contafin\comun\clase\_baza.vcx" BaseClass="label" /> + + ADD OBJECT '_pageframe1.Page2.But_copiaza2' AS but_copiaza WITH ; + Anchor = 8, ; + caction = do_copie_set, ; + Left = 637, ; + Name = "But_copiaza2", ; + TabIndex = 10, ; + ToolTipText = "Copiere set", ; + Top = 14, ; + ZOrderSet = 19 + *< END OBJECT: ClassLib="..\..\..\..\contafin\comun\clase\cmd_butoane.vcx" BaseClass="commandbutton" /> + + ADD OBJECT '_pageframe1.Page2.But_editeazaset' AS but_modiparam WITH ; + Anchor = 8, ; + caction = do_editeaza_set, ; + Left = 738, ; + Name = "But_editeazaset", ; + TabIndex = 13, ; + ToolTipText = "Editare set note", ; + Top = 14, ; + ZOrderSet = 20 + *< END OBJECT: ClassLib="..\..\..\..\contafin\comun\clase\cmd_butoane.vcx" BaseClass="commandbutton" /> + + ADD OBJECT '_pageframe1.Page2.But_modifica1' AS but_modifica WITH ; + Anchor = 3, ; + caction = do_modifica_categorie, ; + Left = 283, ; + Name = "But_modifica1", ; + TabIndex = 2, ; + ToolTipText = "Modificare categorie", ; + Top = 14, ; + Visible = .T., ; + ZOrderSet = 23 + *< END OBJECT: ClassLib="..\..\..\..\contafin\comun\clase\cmd_butoane.vcx" BaseClass="commandbutton" /> + + ADD OBJECT '_pageframe1.Page2.But_modifica2' AS but_modifica WITH ; + Anchor = 8, ; + caction = do_modifica_set, ; + Left = 665, ; + Name = "But_modifica2", ; + TabIndex = 11, ; + ToolTipText = "Modificare set", ; + Top = 14, ; + Visible = .T., ; + ZOrderSet = 15 + *< END OBJECT: ClassLib="..\..\..\..\contafin\comun\clase\cmd_butoane.vcx" BaseClass="commandbutton" /> + + ADD OBJECT '_pageframe1.Page2.But_nou1' AS but_nou WITH ; + Anchor = 3, ; + caction = do_adauga_categorie, ; + Left = 254, ; + Name = "But_nou1", ; + TabIndex = 1, ; + ToolTipText = "Adaugare categorie", ; + Top = 14, ; + ZOrderSet = 18 + *< END OBJECT: ClassLib="..\..\..\..\contafin\comun\clase\cmd_butoane.vcx" BaseClass="commandbutton" /> + + ADD OBJECT '_pageframe1.Page2.But_nou2' AS but_nou WITH ; + Anchor = 8, ; + caction = do_adauga_set, ; + Left = 609, ; + Name = "But_nou2", ; + TabIndex = 9, ; + ToolTipText = "Adaugare set", ; + Top = 14, ; + ZOrderSet = 17 + *< END OBJECT: ClassLib="..\..\..\..\contafin\comun\clase\cmd_butoane.vcx" BaseClass="commandbutton" /> + + ADD OBJECT '_pageframe1.Page2.But_renunt2' AS but_renunt WITH ; + Anchor = 8, ; + Left = 665, ; + Name = "But_renunt2", ; + TabIndex = 18, ; + ToolTipText = "Renuntare editare set", ; + Top = 14, ; + Visible = .F., ; + ZOrderSet = 14 + *< END OBJECT: ClassLib="..\..\..\..\contafin\comun\clase\cmd_butoane.vcx" BaseClass="commandbutton" /> + + ADD OBJECT '_pageframe1.Page2.But_renunt3' AS but_renunt WITH ; + Anchor = 3, ; + Left = 283, ; + Name = "But_renunt3", ; + TabIndex = 8, ; + ToolTipText = "Renuntare editare categorie", ; + Top = 14, ; + Visible = .F., ; + ZOrderSet = 22 + *< END OBJECT: ClassLib="..\..\..\..\contafin\comun\clase\cmd_butoane.vcx" BaseClass="commandbutton" /> + + ADD OBJECT '_pageframe1.Page2.But_salveaza1' AS but_salveaza WITH ; + Anchor = 3, ; + Left = 312, ; + Name = "But_salveaza1", ; + TabIndex = 7, ; + ToolTipText = "Salvare categorie", ; + Top = 14, ; + Visible = .F., ; + ZOrderSet = 11 + *< END OBJECT: ClassLib="..\..\..\..\contafin\comun\clase\cmd_butoane.vcx" BaseClass="commandbutton" /> + + ADD OBJECT '_pageframe1.Page2.But_salveaza2' AS but_salveaza WITH ; + Anchor = 8, ; + Left = 694, ; + Name = "But_salveaza2", ; + TabIndex = 17, ; + ToolTipText = "Salvare set", ; + Top = 14, ; + Visible = .F., ; + ZOrderSet = 13 + *< END OBJECT: ClassLib="..\..\..\..\contafin\comun\clase\cmd_butoane.vcx" BaseClass="commandbutton" /> + + ADD OBJECT '_pageframe1.Page2.But_sterge1' AS but_sterge WITH ; + Anchor = 3, ; + caction = do_sterge_categorie, ; + Left = 312, ; + Name = "But_sterge1", ; + TabIndex = 3, ; + ToolTipText = "Stergere categorie", ; + Top = 14, ; + Visible = .T., ; + ZOrderSet = 12 + *< END OBJECT: ClassLib="..\..\..\..\contafin\comun\clase\cmd_butoane.vcx" BaseClass="commandbutton" /> + + ADD OBJECT '_pageframe1.Page2.But_sterge2' AS but_sterge WITH ; + Anchor = 8, ; + caction = do_sterge_set, ; + Left = 694, ; + Name = "But_sterge2", ; + TabIndex = 12, ; + ToolTipText = "Stergere set", ; + Top = 14, ; + Visible = .T., ; + ZOrderSet = 16 + *< END OBJECT: ClassLib="..\..\..\..\contafin\comun\clase\cmd_butoane.vcx" BaseClass="commandbutton" /> + + ADD OBJECT '_pageframe1.Page2.cboCategorii' AS _combobox WITH ; + Anchor = 4, ; + ControlSource = "Thisform.oSet.cat_id", ; + Enabled = .F., ; + FontSize = 10, ; + Height = 24, ; + Left = 429, ; + Name = "cboCategorii", ; + TabIndex = 16, ; + Top = 352, ; + Width = 224, ; + ZOrderSet = 21 + *< END OBJECT: ClassLib="..\..\..\..\contafin\comun\clase\_baza.vcx" BaseClass="combobox" /> + + ADD OBJECT '_pageframe1.Page2.grdUCategorii' AS grid WITH ; + Anchor = 5, ; + ColumnCount = 3, ; + DeleteMark = .F., ; + FontSize = 10, ; + Height = 260, ; + HighlightBackColor = 60,115,200, ; + HighlightStyle = 2, ; + Left = 16, ; + Name = "grdUCategorii", ; + Panel = 1, ; + ReadOnly = .T., ; + RecordSource = "crsUCATEGORII", ; + RowHeight = 19, ; + TabIndex = 4, ; + Top = 50, ; + Width = 327, ; + ZOrderSet = 1, ; + Column1.ControlSource = "nume", ; + Column1.FontName = "Arial", ; + Column1.FontSize = 10, ; + Column1.Name = "Column1", ; + Column1.ReadOnly = .T., ; + Column1.Width = 207, ; + Column2.ColumnOrder = 3, ; + Column2.ControlSource = "id", ; + Column2.FontName = "Arial", ; + Column2.FontSize = 10, ; + Column2.Name = "Column2", ; + Column2.ReadOnly = .T., ; + Column2.Width = 48, ; + Column3.ColumnOrder = 2, ; + Column3.ControlSource = "ordine", ; + Column3.FontName = "Arial", ; + Column3.FontSize = 10, ; + Column3.Name = "Column3", ; + Column3.ReadOnly = .T., ; + Column3.Width = 35 + *< END OBJECT: BaseClass="grid" /> + + ADD OBJECT '_pageframe1.Page2.grdUCategorii.Column1.Header1' AS header WITH ; + Alignment = 2, ; + Caption = "Nume", ; + FontName = "Arial", ; + FontSize = 10, ; + Name = "Header1" + *< END OBJECT: BaseClass="header" /> + + ADD OBJECT '_pageframe1.Page2.grdUCategorii.Column1.Text1' AS textbox WITH ; + BackColor = 255,255,255, ; + BorderStyle = 0, ; + FontName = "Arial", ; + FontSize = 10, ; + ForeColor = 0,0,0, ; + Margin = 0, ; + Name = "Text1", ; + ReadOnly = .T. + *< END OBJECT: BaseClass="textbox" /> + + ADD OBJECT '_pageframe1.Page2.grdUCategorii.Column2.Header1' AS header WITH ; + Alignment = 2, ; + Caption = "Id", ; + FontName = "Arial", ; + FontSize = 10, ; + Name = "Header1" + *< END OBJECT: BaseClass="header" /> + + ADD OBJECT '_pageframe1.Page2.grdUCategorii.Column2.Text1' AS textbox WITH ; + BackColor = 255,255,255, ; + BorderStyle = 0, ; + FontName = "Arial", ; + FontSize = 10, ; + ForeColor = 0,0,0, ; + Margin = 0, ; + Name = "Text1", ; + ReadOnly = .T. + *< END OBJECT: BaseClass="textbox" /> + + ADD OBJECT '_pageframe1.Page2.grdUCategorii.Column3.Header1' AS header WITH ; + Alignment = 2, ; + Caption = "Ordine", ; + FontName = "Arial", ; + FontSize = 10, ; + Name = "Header1" + *< END OBJECT: BaseClass="header" /> + + ADD OBJECT '_pageframe1.Page2.grdUCategorii.Column3.Text1' AS textbox WITH ; + BackColor = 255,255,255, ; + BorderStyle = 0, ; + FontName = "Arial", ; + FontSize = 10, ; + ForeColor = 0,0,0, ; + Margin = 0, ; + Name = "Text1" + *< END OBJECT: BaseClass="textbox" /> + + ADD OBJECT '_pageframe1.Page2.grdUSets' AS grid WITH ; + Anchor = 15, ; + ColumnCount = 2, ; + DeleteMark = .F., ; + FontSize = 10, ; + Height = 259, ; + HighlightBackColor = 60,115,200, ; + HighlightStyle = 2, ; + Left = 364, ; + Name = "grdUSets", ; + Panel = 1, ; + ReadOnly = .T., ; + RecordSource = "usets", ; + RowHeight = 19, ; + TabIndex = 14, ; + Top = 50, ; + Width = 404, ; + ZOrderSet = 0, ; + Column1.ControlSource = "nume", ; + Column1.FontName = "Arial", ; + Column1.FontSize = 10, ; + Column1.Name = "Column1", ; + Column1.ReadOnly = .T., ; + Column1.Width = 299, ; + Column2.ControlSource = "id", ; + Column2.FontName = "Arial", ; + Column2.FontSize = 10, ; + Column2.Name = "Column2", ; + Column2.ReadOnly = .T., ; + Column2.Width = 69 + *< END OBJECT: BaseClass="grid" /> + + ADD OBJECT '_pageframe1.Page2.grdUSets.Column1.Header1' AS header WITH ; + Alignment = 2, ; + Caption = "Nume", ; + FontName = "Arial", ; + FontSize = 10, ; + Name = "Header1" + *< END OBJECT: BaseClass="header" /> + + ADD OBJECT '_pageframe1.Page2.grdUSets.Column1.Text1' AS textbox WITH ; + BackColor = 255,255,255, ; + BorderStyle = 0, ; + FontName = "Arial", ; + FontSize = 10, ; + ForeColor = 0,0,0, ; + Margin = 0, ; + Name = "Text1", ; + ReadOnly = .T. + *< END OBJECT: BaseClass="textbox" /> + + ADD OBJECT '_pageframe1.Page2.grdUSets.Column2.Header1' AS header WITH ; + Alignment = 2, ; + Caption = "Id", ; + FontName = "Arial", ; + FontSize = 10, ; + Name = "Header1" + *< END OBJECT: BaseClass="header" /> + + ADD OBJECT '_pageframe1.Page2.grdUSets.Column2.Text1' AS textbox WITH ; + BackColor = 255,255,255, ; + BorderStyle = 0, ; + FontName = "Arial", ; + FontSize = 10, ; + ForeColor = 0,0,0, ; + Margin = 0, ; + Name = "Text1", ; + ReadOnly = .T. + *< END OBJECT: BaseClass="textbox" /> + + ADD OBJECT '_pageframe1.Page2.lblCategorie' AS _label WITH ; + Anchor = 6, ; + Caption = "Categorie", ; + FontBold = .T., ; + FontSize = 10, ; + Left = 17, ; + Name = "lblCategorie", ; + TabIndex = 22, ; + Top = 325, ; + ZOrderSet = 7 + *< END OBJECT: ClassLib="..\..\..\..\contafin\comun\clase\_baza.vcx" BaseClass="label" /> + + ADD OBJECT '_pageframe1.Page2.lblCategorie2' AS _label WITH ; + Anchor = 4, ; + Caption = "Categorie", ; + FontBold = .T., ; + FontSize = 10, ; + Left = 364, ; + Name = "lblCategorie2", ; + TabIndex = 21, ; + Top = 355, ; + ZOrderSet = 6 + *< END OBJECT: ClassLib="..\..\..\..\contafin\comun\clase\_baza.vcx" BaseClass="label" /> + + ADD OBJECT '_pageframe1.Page2.lblOrdine' AS _label WITH ; + Anchor = 6, ; + Caption = "Ordine", ; + FontBold = .T., ; + FontSize = 10, ; + Left = 17, ; + Name = "lblOrdine", ; + TabIndex = 23, ; + Top = 355, ; + ZOrderSet = 8 + *< END OBJECT: ClassLib="..\..\..\..\contafin\comun\clase\_baza.vcx" BaseClass="label" /> + + ADD OBJECT '_pageframe1.Page2.lblSet' AS _label WITH ; + Anchor = 4, ; + Caption = "Set", ; + FontBold = .T., ; + FontSize = 10, ; + Left = 364, ; + Name = "lblSet", ; + TabIndex = 24, ; + Top = 325, ; + ZOrderSet = 10 + *< END OBJECT: ClassLib="..\..\..\..\contafin\comun\clase\_baza.vcx" BaseClass="label" /> + + ADD OBJECT '_pageframe1.Page2.spnOrdine' AS _spinner WITH ; + Anchor = 6, ; + FontSize = 10, ; + Height = 24, ; + Left = 83, ; + Name = "spnOrdine", ; + ReadOnly = .T., ; + TabIndex = 6, ; + Top = 351, ; + Width = 63, ; + ZOrderSet = 5 + *< END OBJECT: ClassLib="..\..\..\..\contafin\comun\clase\_baza.vcx" BaseClass="spinner" /> + + ADD OBJECT '_pageframe1.Page2.txtCategorie' AS _textbox WITH ; + Anchor = 6, ; + FontSize = 10, ; + Format = "K", ; + Height = 23, ; + Left = 83, ; + Name = "txtCategorie", ; + ReadOnly = .T., ; + TabIndex = 5, ; + Top = 322, ; + Width = 260, ; + ZOrderSet = 4 + *< END OBJECT: ClassLib="..\..\..\..\contafin\comun\clase\_baza.vcx" BaseClass="textbox" /> + + ADD OBJECT '_pageframe1.Page2.txtSet' AS _textbox WITH ; + Anchor = 4, ; + FontSize = 10, ; + Format = "K", ; + Height = 23, ; + Left = 429, ; + Name = "txtSet", ; + ReadOnly = .T., ; + TabIndex = 15, ; + Top = 322, ; + Width = 339, ; + ZOrderSet = 9 + *< END OBJECT: ClassLib="..\..\..\..\contafin\comun\clase\_baza.vcx" BaseClass="textbox" /> + + PROCEDURE actualizeaza_grid1 + LPARAMETERS pcFiltru + + LOCAL lcFiltru + lcFiltru = pcFiltru + IF EMPTY(lcFiltru) + lcFiltru = poNote_vanzari.ca_baza1.cfiltru + ENDIF + + save_grid_tag(thisform.gridNote) + poNote_vanzari.ca_baza1.cfiltru = lcFiltru + poNote_vanzari.ca_baza1.afisare() + restore_grid_tag(thisform.gridNote) + thisform.gridNote.refresh + + + ENDPROC + + PROCEDURE actualizeaza_grid2 + LPARAMETERS pcFiltru + + LOCAL lcFiltru + lcFiltru=pcFiltru + IF EMPTY(lcFiltru) + lcFiltru = ponote_contab.ca_baza1.cfiltru + ENDIF + save_grid_tag(thisform.gridInregistrari) + ponote_contab.ca_baza1.cfiltru=lcFiltru + ponote_contab.ca_baza1.afisare() + restore_grid_tag(thisform.gridInregistrari) + thisform.gridInregistrari.refresh + ENDPROC + + PROCEDURE actual_afisare + SELECT nom_meniu + SCATTER NAME poset + + *SELECT cnote_contab + *SET FILTER TO id_set = poset.id_set + save_grid_tag(thisform.gridInregistrari) + ponote_contab.ca_baza1.cfiltru = [ id_set = ] + ALLTRIM(STR(NVL(poset.id_set,0))) + ponote_contab.ca_baza1.afisare() + restore_grid_tag(thisform.gridInregistrari) + + GO TOP + thisform.gridInregistrari.Refresh + ENDPROC + + PROCEDURE do_adauga + If Thisform.lcrm + Select nom_meniu + Scatter Name loRec Blank + + Do Adauga_Modifica_Inregistrare With "note_crm",loRec,,"INSERT" + If gnButon = 1 + This.actualizeaza_grid1() + Select nom_meniu + Locate For meniu = loRec.meniu + Endif + Thisform.gridNote.SetFocus() + Thisform.gridNote.Refresh + Endif + ENDPROC + + PROCEDURE do_adauga_ireg + Local lcTabel + lcTabel = Thisform.gridNote.RecordSource + Select (lcTabel) + Scatter Name poNotaIdSet + + Select cnote_contab + Go Bottom + Scatter Name loUltRec + Scatter Name loRec Memo Blank + loRec.ordine = loUltRec.ordine + 1 + * loRec.id_set = loUltRec.id_set + loRec.id_set = poNotaIdSet.id_set + loRec.cu_tva = 1 + loRec.in_valuta = 0 + Store .Null. To loRec.ptva + *!* loRec.ptva = (pnctvam*100)-100 + Release loUltRec + + Do Adauga_Modifica_Inregistrare With "note_contabile",loRec,,"INSERT" + If gnButon = 1 + This.actualizeaza_grid2() + Endif + ENDPROC + + PROCEDURE do_modifica_ireg + Select cnote_contab + Scatter Name loRec + + Do Adauga_Modifica_Inregistrare With "note_contabile",loRec,loRec.Id_note,"UPDATE" + If gnButon = 1 + Thisform.actualizeaza_grid2() + Endif + ENDPROC + + PROCEDURE do_reface + RETURN + + lctitlu = [Refacere] + lcimagine = [intreb.ico] + lctip = [Intrebare] + lcmesaj1 = [Aceasta operatie va sterge configuratia actuala ] + lcmesaj2 = [a notelor contabile! Doriti sa continuati?] + + ofrm_mesaj = CREATEOBJECT([frm_mesaj],lctitlu,lcimagine,lctip,lcmesaj1,lcmesaj2) + ofrm_mesaj.show(1) + RELEASE ofrm_mesaj + + IF buton=2 + RETURN + ENDIF + + lcComanda1 = [delete from ] + gcS + [.note_contabile] + lnSucces1 = goExecutor.oExecute(lcComanda1) + IF lnSucces1 < 0 + aMESSAGEBOX('Delete from note_contabile:'+goExecutor.cEroare,0+16,'Eroare') + RETURN + ENDIF + + lcComanda2 = [insert into ] + gcS + [.note_contabile (explicatie,scd,ascd,scc,ascc,in_valuta,cu_tva,id_set,ordine,ptva) (select explicatie,scd,ascd,scc,ascc,in_valuta,cu_tva,id_set,ordine,ptva from note_contabile)] + lnSucces2 = goExecutor.oExecute(lcComanda2) + IF lnSucces2 < 0 + aMESSAGEBOX('Insert into note_contabile:' + goExecutor.cEroare,0+16,'Eroare') + RETURN + ENDIF + + SELECT ctva + LOCATE FOR 'STANDARD' $ UPPER(TVA) + IF FOUND() + lnProcent = ptva + lcComanda2 = [UPDATE ] + gcS + [.note_contabile set ptva = ?lnProcent] + lnSucces2 = goExecutor.oExecute(lcComanda2) + IF lnSucces2 < 0 + aMESSAGEBOX('Update note_contabile:'+goExecutor.cEroare,0+16,'Eroare') + ENDIF + ENDIF + + lctitlu = [Refacere] + lcimagine = [info_c.ico] + lctip = [Informare] + lcmesaj1 = [Actualizarea s-a terminat!] + + ofrm_mesaj = CREATEOBJECT([frm_mesaj],lctitlu,lcimagine,lctip,lcmesaj1) + ofrm_mesaj.show(1) + RELEASE ofrm_mesaj + *DO mesaj WITH 'Actualizarea s-a terminat!','' + + this.actualizeaza_grid2 + + ENDPROC + + PROCEDURE do_sterge_ireg + SELECT cnote_contab + SCATTER NAME lorec + Do STERGE_INREGISTRARE With "note_contabile",loRec.id_note + IF gnButon = 1 + this.actualizeaza_grid2() + endif + + + ENDPROC + + PROCEDURE inainte_de_do_modifica + If Reccount('nom_meniu')>0 + Select nom_meniu + Scatter Name loRec + + Do Adauga_Modifica_Inregistrare With "note_crm",loRec,loRec.id_nota,"UPDATE" + If gnButon = 1 + This.actualizeaza_grid1() + Select nom_meniu + Locate For id_nota = loRec.id_nota + Endif + Thisform.gridNote.SetFocus() + Endif + + ENDPROC + + PROCEDURE inainte_de_do_sterge + If Reccount('nom_meniu')>0 + Select nom_meniu + Scatter Name loRec + Do STERGE_INREGISTRARE With "note_crm",loRec.id_nota + This.actualizeaza_grid1() + Endif + ENDPROC + + PROCEDURE Init + PARAMETERS tlCRM + DODEFAULT() + + thisform.lCRM = tlCRM + + IF thisform.lCRM + thisform.but_reface1.Visible = .F. + ELSE + thisform.but_nou2.Visible = .F. + thisform.but_modifica2.Visible = .F. + thisform.but_sterge2.Visible = .F. + ENDIF + + thisform.actual_afisare + ENDPROC + + PROCEDURE refacere_tabel + *!* lctitlu = [Refacere] + *!* lcimagine = [intreb.ico] + *!* lctip = [Intrebare] + *!* lcmesaj1 = [Aceasta operatie va sterge configuratia actuala ] + *!* lcmesaj2 = [a notelor contabile!Doriti sa continuati?] + + *!* ofrm_mesaj = CREATEOBJECT([frm_mesaj],lctitlu,lcimagine,lctip,lcmesaj1,lcmesaj2) + *!* ofrm_mesaj.show(1) + *!* RELEASE ofrm_mesaj + + *!* IF buton=2 + *!* RETURN + *!* ENDIF + + *!* lcComanda1 = [delete from ] + gcS + [.note_contabile] + *!* lnSucces1 = goExecutor.oExecute(lcComanda1) + *!* IF lnSucces1 < 0 + *!* MESSAGEBOX(goExecutor.cEroare,0+16,'Eroare') + *!* RETURN + *!* ENDIF + + *!* lcComanda2 = [insert into ] + gcS + [.note_contabile (select * from note_contabile)] + *!* lnSucces2 = goExecutor.oExecute(lcComanda2) + *!* IF lnSucces2 < 0 + *!* MESSAGEBOX(goExecutor.cEroare,0+16,'Eroare') + *!* RETURN + *!* ENDIF + + *!* SELECT ctva + *!* LOCATE FOR 'STANDARD' $ UPPER(TVA) + *!* IF FOUND() + *!* lnProcent = ptva + *!* lcComanda2 = [UPDATE ] + gcS + [.note_contabile set ptva = ?lnProcent] + *!* lnSucces2 = goExecutor.oExecute(lcComanda2) + *!* IF lnSucces2 < 0 + *!* MESSAGEBOX(goExecutor.cEroare,0+16,'Eroare') + *!* ENDIF + *!* ENDIF + + *!* lctitlu = [Refacere] + *!* lcimagine = [info_c.ico] + *!* lctip = [Informare] + *!* lcmesaj1 = [Actualizarea s-a terminat!] + + *!* ofrm_mesaj = CREATEOBJECT([frm_mesaj],lctitlu,lcimagine,lctip,lcmesaj1) + *!* ofrm_mesaj.show(1) + *!* RELEASE ofrm_mesaj + *!* *DO mesaj WITH 'Actualizarea s-a terminat!','' + + *!* this.actualizeaza_grid2 + + ENDPROC + + PROCEDURE _pageframe1.Page1.gridNote.AfterRowColChange + LPARAMETERS nColIndex + + thisform.actual_afisare + ENDPROC + + PROCEDURE _pageframe1.Page2.But_renunt2.Click + Thisform.lEditModeSeturi = .F. + ENDPROC + + PROCEDURE _pageframe1.Page2.But_renunt3.Click + Thisform.lEditModeCategorii = .F. + ENDPROC + + PROCEDURE _pageframe1.Page2.But_salveaza1.Click + LOCAL loCategorie, llCategorieNoua, lcSelect + LOCAL loEx as Exception + Local llSucces + lcSelect = SELECT() + loCategorie = Thisform.oCategorie + llCategorieNoua = .F. + IF NVL(loCategorie.ID, 0) = 0 + loCategorie.ID = NEW_ID("UCATEGORII", "ID", "ID") + llCategorieNoua = .T. + ENDIF + + llSucces = .T. + TRY + IF m.llCategorieNoua + INSERT INTO ucategorii FROM NAME loCategorie + INSERT INTO crsUcategorii FROM NAME loCategorie + ELSE + UPDATE ucategorii SET nume = loCategorie.nume, ordine = loCategorie.ordine, utilm_id = m.gnIdUtil, dataoram = DATETIME() WHERE id = loCategorie.id + replace nume with loCategorie.nume, ordine with loCategorie.ordine IN crsUCategorii + ENDIF + CATCH TO loEx + llSucces = .F. + AMESSAGEBOX(TRANSFORM(loEx.ErrorNo) + " " + loEx.Message, 0+48, _screen.Caption) + ENDTRY + + SELECT (m.lcSelect) + IF m.llSucces + Thisform.lEditModeCategorii = .F. + ENDIF + + ENDPROC + + PROCEDURE _pageframe1.Page2.But_salveaza2.Click + Local loSet, llNou, lcSelect + Local llSucces, loEx as Exception + lcSelect = SELECT() + loSet = Thisform.oSet + llNou = .F. + If Nvl(loSet.Id, 0) = 0 + llNou = .T. + loSet.Id = NEW_ID("USETS", "ID", "ID", 1000000) + Endif + + llSucces = .T. + TRY + loSet.cat_id = IIF(NVL(loSet.cat_id, 0) = 0, NULL, loSet.cat_id) + If m.llNou + Insert Into usets (id, nume, cat_id, util_id, dataora) VALUES (loSet.id, loSet.nume, loSet.cat_id, m.gnIdUtil, DATETIME()) + Else + Update usets Set nume = loSet.nume, cat_id = loSet.cat_id, utilm_id = m.gnIdUtil, dataoram = DATETIME() Where Id = loSet.Id + Endif + Catch To loEx + llSucces = .F. + AMESSAGEBOX(Transform(loEx.ErrorNo) + " " + loEx.Message, 0+48, _Screen.Caption) + Endtry + + Select (m.lcSelect) + If m.llSucces + Thisform.lEditModeSeturi = .F. + Endif + + + ENDPROC + + PROCEDURE _pageframe1.Page2.grdUCategorii.AfterRowColChange + LPARAMETERS nColIndex + LOCAL loCategorie + Local lcFilter + + SELECT crsUCategorii + SCATTER NAME loCategorie + Thisform.oCategorie = loCategorie + + lcFilter = [NVL(cat_id, 0) = ] + STR(NVL(Thisform.oCategorie.id, 0)) + + SET FILTER TO &lcFilter IN usets + GO TOP IN usets + + this.Parent.grdUsets.Refresh() + This.Parent.grdUsets.AfterRowColChange() + This.Parent.txtCategorie.Refresh() + This.Parent.spnOrdine.Refresh() + ENDPROC + + PROCEDURE _pageframe1.Page2.grdUSets.AfterRowColChange + LPARAMETERS nColIndex + + SELECT usets + *!* IF !EOF() + SCATTER NAME Thisform.oSet + this.parent.txtSet.Refresh() + This.parent.cboCategorii.Refresh() + *!* ENDIF + ENDPROC + +ENDDEFINE + +DEFINE CLASS frm_config_note_contabile2007 AS frm_termin OF "_frm_child.vcx" + *< CLASSDATA: Baseclass="form" Timestamp="" Scale="Pixels" Uniqueid="" /> + + *-- OBJECTDATA items order determines ZOrder / El orden de los items OBJECTDATA determina el ZOrder + *< OBJECTDATA: ObjPath="_pageframe1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="_pageframe1.Page1.But_nou1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="_pageframe1.Page1.But_sterge1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="_pageframe1.Page1.But_modifica1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="_pageframe1.Page1.But_nou2" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="_pageframe1.Page1.But_sterge2" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="_pageframe1.Page1.gridNote" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="_pageframe1.Page1.gridNote.Column1.Header1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="_pageframe1.Page1.gridNote.Column1.Text1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="_pageframe1.Page1.gridNote.Column2.Header1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="_pageframe1.Page1.gridNote.Column2.Text1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="_pageframe1.Page1.gridNote.Column3.Header1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="_pageframe1.Page1.gridNote.Column3.Text1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="_pageframe1.Page1.gridNote.Column4.Header1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="_pageframe1.Page1.gridNote.Column4.Text1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="_pageframe1.Page1.But_modifica2" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="_pageframe1.Page1.gridInregistrari" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="_pageframe1.Page1.gridInregistrari.cOrdine.Header1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="_pageframe1.Page1.gridInregistrari.cOrdine.Text1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="_pageframe1.Page1.gridInregistrari.cExplicatie.Header1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="_pageframe1.Page1.gridInregistrari.cExplicatie.Text1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="_pageframe1.Page1.gridInregistrari.cScd.Header1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="_pageframe1.Page1.gridInregistrari.cScd.Text1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="_pageframe1.Page1.gridInregistrari.cScc.Header1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="_pageframe1.Page1.gridInregistrari.cScc.Text1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="_pageframe1.Page1.gridInregistrari.cCu_tva.Header1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="_pageframe1.Page1.gridInregistrari.cCu_tva.Check1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="_pageframe1.Page1.gridInregistrari.cptva.Header1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="_pageframe1.Page1.gridInregistrari.cptva.Text1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="_pageframe1.Page1.gridInregistrari.cin_valuta.Header1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="_pageframe1.Page1.gridInregistrari.cin_valuta.Check1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="_pageframe1.Page1.gridInregistrari.cAscd.Header1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="_pageframe1.Page1.gridInregistrari.cAscd.Text1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="_pageframe1.Page1.gridInregistrari.cAscc.Header1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="_pageframe1.Page1.gridInregistrari.cAscc.Text1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="_pageframe1.Page1.gridInregistrari.cExplicatieTVA.Header1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="_pageframe1.Page1.gridInregistrari.cExplicatieTVA.Text1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="_pageframe1.Page1.gridInregistrari.cPartd.Header1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="_pageframe1.Page1.gridInregistrari.cPartd.Text1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="_pageframe1.Page1.gridInregistrari.cPartc.Header1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="_pageframe1.Page1.gridInregistrari.cPartc.Text1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="_pageframe1.Page2.grdUSets" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="_pageframe1.Page2.grdUSets.cNumeSet.Header1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="_pageframe1.Page2.grdUSets.cNumeSet.Text1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="_pageframe1.Page2.grdUSets.cIdSet.Header1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="_pageframe1.Page2.grdUSets.cIdSet.Text1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="_pageframe1.Page2.grdUCategorii" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="_pageframe1.Page2.grdUCategorii.cCategorie.Header1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="_pageframe1.Page2.grdUCategorii.cCategorie.Text1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="_pageframe1.Page2.grdUCategorii.cIdCategorie.Header1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="_pageframe1.Page2.grdUCategorii.cIdCategorie.Text1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="_pageframe1.Page2.grdUCategorii.cOrdine.Header1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="_pageframe1.Page2.grdUCategorii.cOrdine.Text1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="_pageframe1.Page2.lblCategorii" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="_pageframe1.Page2.lblRequest" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="_pageframe1.Page2.lblSets" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="_pageframe1.Page2.txtCategorie" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="_pageframe1.Page2.spnOrdine" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="_pageframe1.Page2.lblCategorie" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="_pageframe1.Page2.lblOrdine" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="_pageframe1.Page2.grdNote" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="_pageframe1.Page2.grdNote.Column1.Header1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="_pageframe1.Page2.grdNote.Column1.Text1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="_pageframe1.Page2.grdNote.Column2.Header2" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="_pageframe1.Page2.grdNote.Column2.Text1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="_pageframe1.Page2.grdNote.Column3.Header3" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="_pageframe1.Page2.grdNote.Column3.Text1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="_pageframe1.Page2.grdNote.Column4.Header4" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="_pageframe1.Page2.grdNote.Column4.Text1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="_pageframe1.Page2.grdNote.Column5.Header5" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="_pageframe1.Page2.grdNote.Column5.Text1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="_pageframe1.Page2.grdNote.Column6.Header6" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="_pageframe1.Page2.grdNote.Column6.Text1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="_pageframe1.Page2.grdNote.Column7.Header7" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="_pageframe1.Page2.grdNote.Column7.Text1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="_pageframe1.Page2.grdNote.Column8.Header8" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="_pageframe1.Page2.grdNote.Column8.Text1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="_pageframe1.Page2.grdNote.Column9.Header9" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="_pageframe1.Page2.grdNote.Column9.Text1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="_pageframe1.Page2.grdNote.Column10.Header1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="_pageframe1.Page2.grdNote.Column10.Text1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="_pageframe1.Page2.grdNote.Column11.Header1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="_pageframe1.Page2.grdNote.Column11.Text1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="_pageframe1.Page2.grdNote.Column12.Header1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="_pageframe1.Page2.grdNote.Column12.Text1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="_pageframe1.Page2.grdNote.Column13.Header1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="_pageframe1.Page2.grdNote.Column13.Text1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="_pageframe1.Page2.grdNote.Column14.Header1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="_pageframe1.Page2.grdNote.Column14.Text1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="_pageframe1.Page2.grdNote.Column15.Header1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="_pageframe1.Page2.grdNote.Column15.Text1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="_pageframe1.Page2.grdNote.Column16.Header1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="_pageframe1.Page2.grdNote.Column16.Text1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="_pageframe1.Page2.grdNote.Column17.Header1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="_pageframe1.Page2.grdNote.Column17.Text1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="_pageframe1.Page2.grdNote.Column18.Header1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="_pageframe1.Page2.grdNote.Column18.Text1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="_pageframe1.Page2.grdNote.Column19.Header1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="_pageframe1.Page2.grdNote.Column19.Text1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="_pageframe1.Page2.grdNote.Column20.Header1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="_pageframe1.Page2.grdNote.Column20.Text1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="_pageframe1.Page2.grdNote.Column21.Header1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="_pageframe1.Page2.grdNote.Column21.Text1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="_pageframe1.Page2.grdNote.Column22.Header1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="_pageframe1.Page2.grdNote.Column22.Text1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="_pageframe1.Page2.grdNote.Column23.Header1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="_pageframe1.Page2.grdNote.Column23.Text1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="_pageframe1.Page2.grdNote.Column24.Header1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="_pageframe1.Page2.grdNote.Column24.Text1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="_pageframe1.Page2.grdNote.Column25.Header1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="_pageframe1.Page2.grdNote.Column25.Text1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="_pageframe1.Page2.grdNote.Column26.Header1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="_pageframe1.Page2.grdNote.Column26.Text1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="_pageframe1.Page2.grdNote.Column27.Header1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="_pageframe1.Page2.grdNote.Column27.Text1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="_pageframe1.Page2.grdNote.Column28.Header1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="_pageframe1.Page2.grdNote.Column28.Text1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="_pageframe1.Page2.grdNote.Column29.Header1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="_pageframe1.Page2.grdNote.Column29.Text1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="_pageframe1.Page2.grdNote.Column30.Header1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="_pageframe1.Page2.grdNote.Column30.Text1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="_pageframe1.Page2.grdNote.Column31.Header1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="_pageframe1.Page2.grdNote.Column31.Text1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="_pageframe1.Page2.grdNote.Column32.Header1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="_pageframe1.Page2.grdNote.Column32.Text1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="_pageframe1.Page2.grdNote.Column33.Header1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="_pageframe1.Page2.grdNote.Column33.Text1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="_pageframe1.Page2.grdNote.Column34.Header1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="_pageframe1.Page2.grdNote.Column34.Text1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="_pageframe1.Page2.grdNote.Column35.Header1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="_pageframe1.Page2.grdNote.Column35.Text1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="_pageframe1.Page2.grdNote.Column36.Header1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="_pageframe1.Page2.grdNote.Column36._CHECKBOX1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="_pageframe1.Page2.grdNote.Column37.Header1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="_pageframe1.Page2.grdNote.Column37.Text1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="_pageframe1.Page2.grdNote.Column38.Header1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="_pageframe1.Page2.grdNote.Column38.Text1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="_pageframe1.Page2.grdNote.Column39.Header1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="_pageframe1.Page2.grdNote.Column39.Text1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="_pageframe1.Page2.grdNote.Column40.Header1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="_pageframe1.Page2.grdNote.Column40.Text1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="_pageframe1.Page2.grdNote.cAles.Header1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="_pageframe1.Page2.grdNote.cAles.Text1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="_pageframe1.Page2.grdNote.cAles._CHECKBOX1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="_pageframe1.Page2.lblNote" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="_pageframe1.Page2.But_salveaza1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="_pageframe1.Page2.But_sterge1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="_pageframe1.Page2.But_renunt3" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="_pageframe1.Page2.But_modifica1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="_pageframe1.Page2.But_modifica2" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="_pageframe1.Page2.But_sterge2" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="_pageframe1.Page2.But_nou2" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="_pageframe1.Page2.But_nou1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="_pageframe1.Page2.But_copiaza2" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="_pageframe1.Page2.grdRequest" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="_pageframe1.Page2.grdRequest.Column1.Header1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="_pageframe1.Page2.grdRequest.Column1.Text1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="_pageframe1.Page2.grdRequest.Column2.Header1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="_pageframe1.Page2.grdRequest.Column2.Text1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="_pageframe1.Page2.But_editeazaset" UniqueID="" Timestamp="" /> + + * + *m: creeaza_cursor + *m: do_actualizeaza_gridcategorii + *m: do_actualizeaza_gridnote + *m: do_actualizeaza_gridrequest + *m: do_actualizeaza_gridset + *m: do_adauga_categorie + *m: do_adauga_ireg + *m: do_adauga_set + *m: do_copie_set + *m: do_editeaza_set + *m: do_modifica_categorie + *m: do_modifica_ireg + *m: do_modifica_set + *m: do_sterge_categorie + *m: do_sterge_ireg + *m: do_sterge_set + *m: leditmodecategorii_assign + *m: leditmodeseturi_assign + *m: refacere_tabel + *m: refreshdata + *p: lcrm + *p: leditmodecategorii + *p: leditmodeseturi + *p: ocategorie + *p: oset + * + + * + BorderStyle = 3 + Caption = "Form" + cgridsortlist = + DoCreate = .T. + Height = 466 + lcrm = .F. + leditmodecategorii = .F. + leditmodeseturi = .F. + Name = "frm_config_note_contabile2007" + ocategorie = NULL + oset = NULL + Width = 843 + _SHAPE1.Anchor = 10 + _SHAPE1.Height = 29 + _SHAPE1.Left = 0 + _SHAPE1.Name = "_SHAPE1" + _SHAPE1.Top = 0 + _SHAPE1.Width = 852 + _SHAPE2.Anchor = 8 + _SHAPE2.Height = 29 + _SHAPE2.Left = 809 + _SHAPE2.Name = "_SHAPE2" + _SHAPE2.Top = 0 + _SHAPE2.Width = 35 + LB_TITLU_ALB_B121.Caption = "Configurare note" + LB_TITLU_ALB_B121.Name = "LB_TITLU_ALB_B121" + BUT_TERMIN1.Anchor = 8 + BUT_TERMIN1.Left = 813 + BUT_TERMIN1.Name = "BUT_TERMIN1" + BUT_TERMIN1.Top = 1 + GRIDSORT1.Left = 9 + GRIDSORT1.Name = "GRIDSORT1" + GRIDSORT1.Top = 39 + * + + ADD OBJECT '_pageframe1' AS _pageframe WITH ; + Anchor = 15, ; + ErasePage = .T., ; + Height = 419, ; + Left = 0, ; + Name = "_pageframe1", ; + Top = 34, ; + Width = 846, ; + Page1.Caption = "Note predefinite", ; + Page1.Name = "Page1", ; + Page2.Caption = "Note definite de utilizatori", ; + Page2.Name = "Page2" + *< END OBJECT: ClassLib="_baza.vcx" BaseClass="pageframe" /> + + ADD OBJECT '_pageframe1.Page1.But_modifica1' AS but_modifica WITH ; + Height = 26, ; + Left = 261, ; + Name = "But_modifica1", ; + TabIndex = 4, ; + Top = 5, ; + Width = 29 + *< END OBJECT: ClassLib="cmd_butoane.vcx" BaseClass="commandbutton" /> + + ADD OBJECT '_pageframe1.Page1.But_modifica2' AS but_modifica WITH ; + Anchor = 8, ; + caction = do_modifica_ireg, ; + Left = 769, ; + Name = "But_modifica2", ; + TabIndex = 4, ; + Top = 5, ; + Visible = .T. + *< END OBJECT: ClassLib="cmd_butoane.vcx" BaseClass="commandbutton" /> + + ADD OBJECT '_pageframe1.Page1.But_nou1' AS but_nou WITH ; + Height = 26, ; + Left = 234, ; + Name = "But_nou1", ; + TabIndex = 3, ; + Top = 5, ; + Width = 29 + *< END OBJECT: ClassLib="cmd_butoane.vcx" BaseClass="commandbutton" /> + + ADD OBJECT '_pageframe1.Page1.But_nou2' AS but_nou WITH ; + Anchor = 8, ; + caction = do_adauga_ireg, ; + Left = 741, ; + Name = "But_nou2", ; + TabIndex = 3, ; + Top = 5 + *< END OBJECT: ClassLib="cmd_butoane.vcx" BaseClass="commandbutton" /> + + ADD OBJECT '_pageframe1.Page1.But_sterge1' AS but_sterge WITH ; + Height = 26, ; + Left = 289, ; + Name = "But_sterge1", ; + TabIndex = 5, ; + Top = 5, ; + Width = 29 + *< END OBJECT: ClassLib="cmd_butoane.vcx" BaseClass="commandbutton" /> + + ADD OBJECT '_pageframe1.Page1.But_sterge2' AS but_sterge WITH ; + Anchor = 8, ; + caction = do_sterge_ireg, ; + Left = 797, ; + Name = "But_sterge2", ; + TabIndex = 5, ; + Top = 5, ; + Visible = .T. + *< END OBJECT: ClassLib="cmd_butoane.vcx" BaseClass="commandbutton" /> + + ADD OBJECT '_pageframe1.Page1.gridInregistrari' AS _grdrow WITH ; + Anchor = 15, ; + ColumnCount = 12, ; + DeleteMark = .F., ; + HeaderHeight = 38, ; + Height = 346, ; + Left = 324, ; + Name = "gridInregistrari", ; + Panel = 1, ; + RecordSource = "cnote_contab", ; + Top = 34, ; + Width = 503, ; + Column1.ControlSource = "cnote_contab.ordine", ; + Column1.FontName = "Arial", ; + Column1.Name = "cOrdine", ; + Column1.Width = 32, ; + Column2.ControlSource = "cnote_contab.explicatie", ; + Column2.FontName = "Arial", ; + Column2.Name = "cExplicatie", ; + Column2.Width = 181, ; + Column3.ControlSource = "cnote_contab.scd", ; + Column3.FontName = "Arial", ; + Column3.Name = "cScd", ; + Column3.Width = 33, ; + Column4.ColumnOrder = 5, ; + Column4.ControlSource = "cnote_contab.scc", ; + Column4.FontName = "Arial", ; + Column4.Name = "cScc", ; + Column4.Width = 33, ; + Column5.ColumnOrder = 7, ; + Column5.ControlSource = "cnote_contab.cu_tva", ; + Column5.FontName = "Arial", ; + Column5.Name = "cCu_tva", ; + Column5.Sparse = .F., ; + Column5.Width = 30, ; + Column6.ColumnOrder = 8, ; + Column6.ControlSource = "cnote_contab.ptva", ; + Column6.FontName = "Arial", ; + Column6.InputMask = "99.99", ; + Column6.Name = "cptva", ; + Column6.Width = 27, ; + Column7.ColumnOrder = 10, ; + Column7.ControlSource = "cnote_contab.in_valuta", ; + Column7.FontName = "Arial", ; + Column7.Name = "cin_valuta", ; + Column7.Sparse = .F., ; + Column8.ColumnOrder = 4, ; + Column8.ControlSource = "cnote_contab.ascd", ; + Column8.FontName = "Arial", ; + Column8.Name = "cAscd", ; + Column8.Width = 37, ; + Column9.ColumnOrder = 6, ; + Column9.ControlSource = "cnote_contab.ascc", ; + Column9.FontName = "Arial", ; + Column9.Name = "cAscc", ; + Column9.Width = 36, ; + Column10.ColumnOrder = 9, ; + Column10.ControlSource = "explicatie_tva", ; + Column10.FontName = "Arial", ; + Column10.Name = "cExplicatieTVA", ; + Column10.Width = 95, ; + Column11.ControlSource = "partd", ; + Column11.FontName = "Arial", ; + Column11.Name = "cPartd", ; + Column11.Width = 131, ; + Column12.ControlSource = "partc", ; + Column12.FontName = "Arial", ; + Column12.Name = "cPartc", ; + Column12.Width = 113 + *< END OBJECT: ClassLib="_grd_base.vcx" BaseClass="grid" /> + + ADD OBJECT '_pageframe1.Page1.gridInregistrari.cAscc.Header1' AS header WITH ; + Alignment = 2, ; + Caption = "Analitic creditor", ; + FontName = "Arial", ; + Name = "Header1", ; + WordWrap = .T. + *< END OBJECT: BaseClass="header" /> + + ADD OBJECT '_pageframe1.Page1.gridInregistrari.cAscc.Text1' AS textbox WITH ; + BackColor = 255,255,255, ; + BorderStyle = 0, ; + FontName = "Arial", ; + ForeColor = 0,0,0, ; + Margin = 0, ; + Name = "Text1", ; + SelectedBackColor = 100,185,255 + *< END OBJECT: BaseClass="textbox" /> + + ADD OBJECT '_pageframe1.Page1.gridInregistrari.cAscd.Header1' AS header WITH ; + Alignment = 2, ; + Caption = "Analitic debitor", ; + FontName = "Arial", ; + Name = "Header1", ; + WordWrap = .T. + *< END OBJECT: BaseClass="header" /> + + ADD OBJECT '_pageframe1.Page1.gridInregistrari.cAscd.Text1' AS textbox WITH ; + BackColor = 255,255,255, ; + BorderStyle = 0, ; + FontName = "Arial", ; + ForeColor = 0,0,0, ; + Margin = 0, ; + Name = "Text1", ; + SelectedBackColor = 100,185,255 + *< END OBJECT: BaseClass="textbox" /> + + ADD OBJECT '_pageframe1.Page1.gridInregistrari.cCu_tva.Check1' AS checkbox WITH ; + Alignment = 2, ; + Caption = "", ; + Centered = .T., ; + FontName = "Arial", ; + Height = 17, ; + Left = 27, ; + Name = "Check1", ; + SpecialEffect = 1, ; + Top = 47, ; + Width = 60 + *< END OBJECT: BaseClass="checkbox" /> + + ADD OBJECT '_pageframe1.Page1.gridInregistrari.cCu_tva.Header1' AS header WITH ; + Alignment = 2, ; + Caption = "Cu TVA", ; + FontName = "Arial", ; + Name = "Header1", ; + WordWrap = .T. + *< END OBJECT: BaseClass="header" /> + + ADD OBJECT '_pageframe1.Page1.gridInregistrari.cExplicatie.Header1' AS header WITH ; + Alignment = 2, ; + Caption = "Explicatie", ; + FontName = "Arial", ; + Name = "Header1" + *< END OBJECT: BaseClass="header" /> + + ADD OBJECT '_pageframe1.Page1.gridInregistrari.cExplicatie.Text1' AS textbox WITH ; + BackColor = 255,255,255, ; + BorderStyle = 0, ; + FontName = "Arial", ; + ForeColor = 0,0,0, ; + Margin = 0, ; + Name = "Text1", ; + SelectedBackColor = 100,185,255 + *< END OBJECT: BaseClass="textbox" /> + + ADD OBJECT '_pageframe1.Page1.gridInregistrari.cExplicatieTVA.Header1' AS header WITH ; + Alignment = 2, ; + Caption = "Explicatie TVA", ; + FontName = "Arial", ; + Name = "Header1" + *< END OBJECT: BaseClass="header" /> + + ADD OBJECT '_pageframe1.Page1.gridInregistrari.cExplicatieTVA.Text1' AS textbox WITH ; + BackColor = 255,255,255, ; + BorderStyle = 0, ; + FontName = "Arial", ; + ForeColor = 0,0,0, ; + Margin = 0, ; + Name = "Text1", ; + SelectedBackColor = 100,185,255 + *< END OBJECT: BaseClass="textbox" /> + + ADD OBJECT '_pageframe1.Page1.gridInregistrari.cin_valuta.Check1' AS checkbox WITH ; + Alignment = 2, ; + Caption = "", ; + Centered = .T., ; + FontName = "Arial", ; + Height = 17, ; + Left = 36, ; + Name = "Check1", ; + SpecialEffect = 1, ; + Top = 71, ; + Width = 60 + *< END OBJECT: BaseClass="checkbox" /> + + ADD OBJECT '_pageframe1.Page1.gridInregistrari.cin_valuta.Header1' AS header WITH ; + Alignment = 2, ; + Caption = "Se inregistreaza suma in valuta", ; + FontName = "Arial", ; + Name = "Header1", ; + WordWrap = .T. + *< END OBJECT: BaseClass="header" /> + + ADD OBJECT '_pageframe1.Page1.gridInregistrari.cOrdine.Header1' AS header WITH ; + Alignment = 2, ; + Caption = "Ordine", ; + FontName = "Arial", ; + Name = "Header1" + *< END OBJECT: BaseClass="header" /> + + ADD OBJECT '_pageframe1.Page1.gridInregistrari.cOrdine.Text1' AS textbox WITH ; + BackColor = 255,255,255, ; + BorderStyle = 0, ; + FontName = "Arial", ; + ForeColor = 0,0,0, ; + Margin = 0, ; + Name = "Text1", ; + SelectedBackColor = 100,185,255 + *< END OBJECT: BaseClass="textbox" /> + + ADD OBJECT '_pageframe1.Page1.gridInregistrari.cPartc.Header1' AS header WITH ; + Alignment = 2, ; + Caption = "Partener credit", ; + FontName = "Arial", ; + Name = "Header1" + *< END OBJECT: BaseClass="header" /> + + ADD OBJECT '_pageframe1.Page1.gridInregistrari.cPartc.Text1' AS textbox WITH ; + BackColor = 255,255,255, ; + BorderStyle = 0, ; + FontName = "Arial", ; + ForeColor = 0,0,0, ; + Margin = 0, ; + Name = "Text1", ; + SelectedBackColor = 100,185,255 + *< END OBJECT: BaseClass="textbox" /> + + ADD OBJECT '_pageframe1.Page1.gridInregistrari.cPartd.Header1' AS header WITH ; + Alignment = 2, ; + Caption = "Partener debit", ; + FontName = "Arial", ; + Name = "Header1" + *< END OBJECT: BaseClass="header" /> + + ADD OBJECT '_pageframe1.Page1.gridInregistrari.cPartd.Text1' AS textbox WITH ; + BackColor = 255,255,255, ; + BorderStyle = 0, ; + FontName = "Arial", ; + ForeColor = 0,0,0, ; + Margin = 0, ; + Name = "Text1", ; + SelectedBackColor = 100,185,255 + *< END OBJECT: BaseClass="textbox" /> + + ADD OBJECT '_pageframe1.Page1.gridInregistrari.cptva.Header1' AS header WITH ; + Alignment = 2, ; + Caption = "Proc TVA", ; + FontName = "Arial", ; + Name = "Header1", ; + WordWrap = .T. + *< END OBJECT: BaseClass="header" /> + + ADD OBJECT '_pageframe1.Page1.gridInregistrari.cptva.Text1' AS textbox WITH ; + BackColor = 255,255,255, ; + BorderStyle = 0, ; + FontName = "Arial", ; + ForeColor = 0,0,0, ; + Margin = 0, ; + Name = "Text1", ; + SelectedBackColor = 100,185,255 + *< END OBJECT: BaseClass="textbox" /> + + ADD OBJECT '_pageframe1.Page1.gridInregistrari.cScc.Header1' AS header WITH ; + Alignment = 2, ; + Caption = "Cont cred", ; + FontName = "Arial", ; + Name = "Header1", ; + WordWrap = .T. + *< END OBJECT: BaseClass="header" /> + + ADD OBJECT '_pageframe1.Page1.gridInregistrari.cScc.Text1' AS textbox WITH ; + BackColor = 255,255,255, ; + BorderStyle = 0, ; + FontName = "Arial", ; + ForeColor = 0,0,0, ; + Margin = 0, ; + Name = "Text1", ; + SelectedBackColor = 100,185,255 + *< END OBJECT: BaseClass="textbox" /> + + ADD OBJECT '_pageframe1.Page1.gridInregistrari.cScd.Header1' AS header WITH ; + Alignment = 2, ; + Caption = "Cont deb", ; + FontName = "Arial", ; + Name = "Header1", ; + WordWrap = .T. + *< END OBJECT: BaseClass="header" /> + + ADD OBJECT '_pageframe1.Page1.gridInregistrari.cScd.Text1' AS textbox WITH ; + BackColor = 255,255,255, ; + BorderStyle = 0, ; + FontName = "Arial", ; + ForeColor = 0,0,0, ; + Margin = 0, ; + Name = "Text1", ; + SelectedBackColor = 100,185,255 + *< END OBJECT: BaseClass="textbox" /> + + ADD OBJECT '_pageframe1.Page1.gridNote' AS grid WITH ; + Anchor = 5, ; + ColumnCount = 4, ; + DeleteMark = .F., ; + FontSize = 10, ; + Height = 346, ; + Left = 7, ; + Name = "gridNote", ; + Panel = 1, ; + ReadOnly = .T., ; + RecordSource = "nom_meniu", ; + RowHeight = 19, ; + TabIndex = 1, ; + Top = 34, ; + Width = 311, ; + ZOrderSet = 6, ; + Column1.ControlSource = "MENIU", ; + Column1.FontName = "Arial", ; + Column1.FontSize = 10, ; + Column1.Name = "Column1", ; + Column1.ReadOnly = .T., ; + Column1.Width = 226, ; + Column2.ControlSource = "ID_SET", ; + Column2.FontName = "Arial", ; + Column2.FontSize = 10, ; + Column2.Name = "Column2", ; + Column2.ReadOnly = .T., ; + Column2.Width = 54, ; + Column3.ControlSource = "sectie", ; + Column3.FontName = "Arial", ; + Column3.FontSize = 10, ; + Column3.Name = "Column3", ; + Column3.ReadOnly = .T., ; + Column4.ControlSource = "explicatie", ; + Column4.FontName = "Arial", ; + Column4.FontSize = 10, ; + Column4.Name = "Column4", ; + Column4.ReadOnly = .T., ; + Column4.Width = 105 + *< END OBJECT: BaseClass="grid" /> + + ADD OBJECT '_pageframe1.Page1.gridNote.Column1.Header1' AS header WITH ; + Alignment = 2, ; + Caption = "Element meniu", ; + FontName = "Arial", ; + FontSize = 10, ; + Name = "Header1" + *< END OBJECT: BaseClass="header" /> + + ADD OBJECT '_pageframe1.Page1.gridNote.Column1.Text1' AS textbox WITH ; + BackColor = 255,255,255, ; + BorderStyle = 0, ; + FontName = "Arial", ; + FontSize = 10, ; + ForeColor = 0,0,0, ; + Margin = 0, ; + Name = "Text1", ; + ReadOnly = .T. + *< END OBJECT: BaseClass="textbox" /> + + ADD OBJECT '_pageframe1.Page1.gridNote.Column2.Header1' AS header WITH ; + Alignment = 2, ; + Caption = "Id", ; + FontName = "Arial", ; + FontSize = 10, ; + Name = "Header1" + *< END OBJECT: BaseClass="header" /> + + ADD OBJECT '_pageframe1.Page1.gridNote.Column2.Text1' AS textbox WITH ; + BackColor = 255,255,255, ; + BorderStyle = 0, ; + FontName = "Arial", ; + FontSize = 10, ; + ForeColor = 0,0,0, ; + Margin = 0, ; + Name = "Text1", ; + ReadOnly = .T. + *< END OBJECT: BaseClass="textbox" /> + + ADD OBJECT '_pageframe1.Page1.gridNote.Column3.Header1' AS header WITH ; + Alignment = 2, ; + Caption = "Sectie", ; + FontName = "Arial", ; + FontSize = 10, ; + Name = "Header1" + *< END OBJECT: BaseClass="header" /> + + ADD OBJECT '_pageframe1.Page1.gridNote.Column3.Text1' AS textbox WITH ; + BackColor = 255,255,255, ; + BorderStyle = 0, ; + FontName = "Arial", ; + FontSize = 10, ; + ForeColor = 0,0,0, ; + Margin = 0, ; + Name = "Text1" + *< END OBJECT: BaseClass="textbox" /> + + ADD OBJECT '_pageframe1.Page1.gridNote.Column4.Header1' AS header WITH ; + Alignment = 2, ; + Caption = "Venituri/Cheltuieli", ; + FontName = "Arial", ; + FontSize = 10, ; + Name = "Header1" + *< END OBJECT: BaseClass="header" /> + + ADD OBJECT '_pageframe1.Page1.gridNote.Column4.Text1' AS textbox WITH ; + BackColor = 255,255,255, ; + BorderStyle = 0, ; + FontName = "Arial", ; + FontSize = 10, ; + ForeColor = 0,0,0, ; + Margin = 0, ; + Name = "Text1" + *< END OBJECT: BaseClass="textbox" /> + + ADD OBJECT '_pageframe1.Page2.But_copiaza2' AS but_copiaza WITH ; + Anchor = 8, ; + caction = do_copie_set, ; + Left = 488, ; + Name = "But_copiaza2", ; + TabIndex = 10, ; + ToolTipText = "Copiere set", ; + Top = 14, ; + ZOrderSet = 19 + *< END OBJECT: ClassLib="cmd_butoane.vcx" BaseClass="commandbutton" /> + + ADD OBJECT '_pageframe1.Page2.But_editeazaset' AS but_modiparam WITH ; + Anchor = 12, ; + caction = do_editeaza_set, ; + Height = 27, ; + Left = 806, ; + Name = "But_editeazaset", ; + TabIndex = 13, ; + ToolTipText = "Editare set note", ; + Top = 240, ; + Width = 30, ; + ZOrderSet = 20 + *< END OBJECT: ClassLib="cmd_butoane.vcx" BaseClass="commandbutton" /> + + ADD OBJECT '_pageframe1.Page2.But_modifica1' AS but_modifica WITH ; + Anchor = 3, ; + caction = do_modifica_categorie, ; + Left = 283, ; + Name = "But_modifica1", ; + TabIndex = 2, ; + ToolTipText = "Modificare categorie", ; + Top = 14, ; + Visible = .T., ; + ZOrderSet = 23 + *< END OBJECT: ClassLib="cmd_butoane.vcx" BaseClass="commandbutton" /> + + ADD OBJECT '_pageframe1.Page2.But_modifica2' AS but_modifica WITH ; + Anchor = 8, ; + caction = do_modifica_set, ; + Left = 516, ; + Name = "But_modifica2", ; + TabIndex = 11, ; + ToolTipText = "Modificare set", ; + Top = 14, ; + Visible = .T., ; + ZOrderSet = 15 + *< END OBJECT: ClassLib="cmd_butoane.vcx" BaseClass="commandbutton" /> + + ADD OBJECT '_pageframe1.Page2.But_nou1' AS but_nou WITH ; + Anchor = 3, ; + caction = do_adauga_categorie, ; + Left = 254, ; + Name = "But_nou1", ; + TabIndex = 1, ; + ToolTipText = "Adaugare categorie", ; + Top = 14, ; + ZOrderSet = 18 + *< END OBJECT: ClassLib="cmd_butoane.vcx" BaseClass="commandbutton" /> + + ADD OBJECT '_pageframe1.Page2.But_nou2' AS but_nou WITH ; + Anchor = 8, ; + caction = do_adauga_set, ; + Left = 460, ; + Name = "But_nou2", ; + TabIndex = 9, ; + ToolTipText = "Adaugare set", ; + Top = 14, ; + ZOrderSet = 17 + *< END OBJECT: ClassLib="cmd_butoane.vcx" BaseClass="commandbutton" /> + + ADD OBJECT '_pageframe1.Page2.But_renunt3' AS but_renunt WITH ; + Anchor = 3, ; + Left = 283, ; + Name = "But_renunt3", ; + TabIndex = 8, ; + ToolTipText = "Renuntare editare categorie", ; + Top = 14, ; + Visible = .F., ; + ZOrderSet = 22 + *< END OBJECT: ClassLib="cmd_butoane.vcx" BaseClass="commandbutton" /> + + ADD OBJECT '_pageframe1.Page2.But_salveaza1' AS but_salveaza WITH ; + Anchor = 3, ; + Left = 312, ; + Name = "But_salveaza1", ; + TabIndex = 7, ; + ToolTipText = "Salvare categorie", ; + Top = 14, ; + Visible = .F., ; + ZOrderSet = 11 + *< END OBJECT: ClassLib="cmd_butoane.vcx" BaseClass="commandbutton" /> + + ADD OBJECT '_pageframe1.Page2.But_sterge1' AS but_sterge WITH ; + Anchor = 3, ; + caction = do_sterge_categorie, ; + Left = 312, ; + Name = "But_sterge1", ; + TabIndex = 3, ; + ToolTipText = "Stergere categorie", ; + Top = 14, ; + Visible = .T., ; + ZOrderSet = 12 + *< END OBJECT: ClassLib="cmd_butoane.vcx" BaseClass="commandbutton" /> + + ADD OBJECT '_pageframe1.Page2.But_sterge2' AS but_sterge WITH ; + Anchor = 8, ; + caction = do_sterge_set, ; + Left = 545, ; + Name = "But_sterge2", ; + TabIndex = 12, ; + ToolTipText = "Stergere set", ; + Top = 14, ; + Visible = .T., ; + ZOrderSet = 16 + *< END OBJECT: ClassLib="cmd_butoane.vcx" BaseClass="commandbutton" /> + + ADD OBJECT '_pageframe1.Page2.grdNote' AS grid WITH ; + Anchor = 14, ; + BackColor = 244,250,255, ; + ColumnCount = 41, ; + DeleteMark = .F., ; + FontSize = 10, ; + GridLineColor = 128,128,128, ; + Height = 111, ; + HighlightBackColor = 0,64,128, ; + HighlightStyle = 2, ; + Left = 361, ; + Name = "grdNote", ; + Panel = 1, ; + ReadOnly = .F., ; + RecordSource = "crsENote", ; + RowHeight = 19, ; + SelectedItemBackColor = 49,106,197, ; + TabIndex = 1, ; + Top = 267, ; + Width = 475, ; + ZOrderSet = 3, ; + Column1.Alignment = 1, ; + Column1.BackColor = 244,250,255, ; + Column1.ColumnOrder = 1, ; + Column1.ControlSource = "NRCRT()", ; + Column1.FontName = "Arial", ; + Column1.FontSize = 10, ; + Column1.Name = "Column1", ; + Column1.ReadOnly = .F., ; + Column1.Width = 29, ; + Column2.Alignment = 0, ; + Column2.BackColor = 244,250,255, ; + Column2.ColumnOrder = 3, ; + Column2.ControlSource = "dataireg", ; + Column2.FontName = "Arial", ; + Column2.FontSize = 10, ; + Column2.Name = "Column2", ; + Column2.ReadOnly = .F., ; + Column2.Width = 49, ; + Column3.Alignment = 0, ; + Column3.BackColor = 244,250,255, ; + Column3.ColumnOrder = 15, ; + Column3.ControlSource = "fdoc", ; + Column3.FontName = "Arial", ; + Column3.FontSize = 10, ; + Column3.Name = "Column3", ; + Column3.ReadOnly = .F., ; + Column3.Width = 88, ; + Column4.Alignment = 0, ; + Column4.BackColor = 244,250,255, ; + Column4.ColumnOrder = 4, ; + Column4.ControlSource = "dataact", ; + Column4.FontName = "Arial", ; + Column4.FontSize = 10, ; + Column4.Name = "Column4", ; + Column4.ReadOnly = .F., ; + Column4.Width = 51, ; + Column5.Alignment = 1, ; + Column5.BackColor = 244,250,255, ; + Column5.ColumnOrder = 6, ; + Column5.ControlSource = "nract", ; + Column5.FontName = "Arial", ; + Column5.FontSize = 10, ; + Column5.Name = "Column5", ; + Column5.ReadOnly = .F., ; + Column5.Width = 53, ; + Column6.Alignment = 0, ; + Column6.BackColor = 244,250,255, ; + Column6.ColumnOrder = 7, ; + Column6.ControlSource = "partd", ; + Column6.FontName = "Arial", ; + Column6.FontSize = 10, ; + Column6.Name = "Column6", ; + Column6.ReadOnly = .F., ; + Column6.Width = 87, ; + Column7.Alignment = 1, ; + Column7.BackColor = 244,250,255, ; + Column7.ColumnOrder = 10, ; + Column7.ControlSource = "scd", ; + Column7.FontName = "Arial", ; + Column7.FontSize = 10, ; + Column7.Name = "Column7", ; + Column7.ReadOnly = .F., ; + Column7.Width = 44, ; + Column8.Alignment = 1, ; + Column8.BackColor = 244,250,255, ; + Column8.ColumnOrder = 12, ; + Column8.ControlSource = "scc", ; + Column8.FontName = "Arial", ; + Column8.FontSize = 10, ; + Column8.Name = "Column8", ; + Column8.ReadOnly = .F., ; + Column8.Width = 48, ; + Column9.Alignment = 1, ; + Column9.BackColor = 244,250,255, ; + Column9.ColumnOrder = 14, ; + Column9.ControlSource = "suma", ; + Column9.DynamicForeColor = "IIF(SUMA>=0, RGB(0,0,0), RGB(255,0,0))", ; + Column9.FontName = "Arial", ; + Column9.FontSize = 10, ; + Column9.Format = "r", ; + Column9.InputMask = (get_mask(12,gnPa)), ; + Column9.Name = "Column9", ; + Column9.ReadOnly = .F., ; + Column9.Width = 93, ; + Column10.Alignment = 0, ; + Column10.BackColor = 244,250,255, ; + Column10.ColumnOrder = 8, ; + Column10.ControlSource = "partc", ; + Column10.FontName = "Arial", ; + Column10.FontSize = 10, ; + Column10.Name = "Column10", ; + Column10.ReadOnly = .F., ; + Column10.Width = 79, ; + Column11.Alignment = 0, ; + Column11.BackColor = 244,250,255, ; + Column11.ColumnOrder = 9, ; + Column11.ControlSource = "explicatia", ; + Column11.FontName = "Arial", ; + Column11.FontSize = 10, ; + Column11.Name = "Column11", ; + Column11.ReadOnly = .F., ; + Column11.Width = 77, ; + Column12.BackColor = 244,250,255, ; + Column12.ColumnOrder = 35, ; + Column12.ControlSource = "cod", ; + Column12.FontName = "Arial", ; + Column12.FontSize = 10, ; + Column12.Name = "Column12", ; + Column12.ReadOnly = .T., ; + Column12.Width = 52, ; + Column13.BackColor = 244,250,255, ; + Column13.ColumnOrder = 16, ; + Column13.ControlSource = "pereched", ; + Column13.FontName = "Arial", ; + Column13.FontSize = 10, ; + Column13.Name = "Column13", ; + Column13.ReadOnly = .F., ; + Column13.Width = 65, ; + Column14.BackColor = 244,250,255, ; + Column14.ColumnOrder = 29, ; + Column14.ControlSource = "explicatia4", ; + Column14.FontName = "Arial", ; + Column14.FontSize = 10, ; + Column14.Name = "Column14", ; + Column14.ReadOnly = .F., ; + Column15.BackColor = 244,250,255, ; + Column15.ColumnOrder = 22, ; + Column15.ControlSource = "nrord", ; + Column15.FontName = "Arial", ; + Column15.FontSize = 10, ; + Column15.Name = "Column15", ; + Column15.ReadOnly = .F., ; + Column16.BackColor = 244,250,255, ; + Column16.ColumnOrder = 24, ; + Column16.ControlSource = "nresp", ; + Column16.FontName = "Arial", ; + Column16.FontSize = 10, ; + Column16.Format = "", ; + Column16.InputMask = "", ; + Column16.Name = "Column16", ; + Column16.ReadOnly = .F., ; + Column17.BackColor = 244,250,255, ; + Column17.ColumnOrder = 25, ; + Column17.ControlSource = "dst_chlt", ; + Column17.FontName = "Arial", ; + Column17.FontSize = 10, ; + Column17.Format = "", ; + Column17.InputMask = "", ; + Column17.Name = "Column17", ; + Column17.ReadOnly = .F., ; + Column18.BackColor = 244,250,255, ; + Column18.ColumnOrder = 30, ; + Column18.ControlSource = "explicatia5", ; + Column18.FontName = "Arial", ; + Column18.FontSize = 10, ; + Column18.Name = "Column18", ; + Column18.ReadOnly = .F., ; + Column19.BackColor = 244,250,255, ; + Column19.ColumnOrder = 21, ; + Column19.ControlSource = "datascad", ; + Column19.FontName = "Arial", ; + Column19.FontSize = 10, ; + Column19.Name = "Column19", ; + Column19.ReadOnly = .F., ; + Column19.Visible = .T., ; + Column20.BackColor = 244,250,255, ; + Column20.ColumnOrder = 26, ; + Column20.ControlSource = "suma_val", ; + Column20.FontName = "Arial", ; + Column20.FontSize = 10, ; + Column20.InputMask = (get_mask(12,gnPa)), ; + Column20.Name = "Column20", ; + Column20.ReadOnly = .F., ; + Column21.BackColor = 244,250,255, ; + Column21.ColumnOrder = 28, ; + Column21.ControlSource = "curs", ; + Column21.FontName = "Arial", ; + Column21.FontSize = 10, ; + Column21.InputMask = (get_mask(12,gnPcurs)), ; + Column21.Name = "Column21", ; + Column21.ReadOnly = .F., ; + Column21.Width = 61, ; + Column22.BackColor = 244,250,255, ; + Column22.ColumnOrder = 31, ; + Column22.ControlSource = "gestin", ; + Column22.FontName = "Arial", ; + Column22.FontSize = 10, ; + Column22.Name = "Column22", ; + Column22.ReadOnly = .F., ; + Column22.Width = 87, ; + Column23.BackColor = 244,250,255, ; + Column23.ColumnOrder = 11, ; + Column23.ControlSource = "ascd", ; + Column23.FontName = "Arial", ; + Column23.FontSize = 10, ; + Column23.Name = "Column23", ; + Column23.ReadOnly = .F., ; + Column23.Width = 33, ; + Column24.BackColor = 244,250,255, ; + Column24.ColumnOrder = 13, ; + Column24.ControlSource = "ascc", ; + Column24.FontName = "Arial", ; + Column24.FontSize = 10, ; + Column24.Name = "Column24", ; + Column24.ReadOnly = .F., ; + Column24.Width = 33, ; + Column25.BackColor = 244,250,255, ; + Column25.ColumnOrder = 36, ; + Column25.ControlSource = "id_set", ; + Column25.FontName = "Arial", ; + Column25.FontSize = 10, ; + Column25.Name = "Column25", ; + Column25.ReadOnly = .T., ; + Column25.Width = 52, ; + Column26.BackColor = 244,250,255, ; + Column26.ColumnOrder = 19, ; + Column26.ControlSource = "proc_tva", ; + Column26.FontName = "Arial", ; + Column26.FontSize = 10, ; + Column26.Name = "Column26", ; + Column26.ReadOnly = .T., ; + Column26.Width = 45, ; + Column27.BackColor = 244,250,255, ; + Column27.ColumnOrder = 17, ; + Column27.ControlSource = "perechec", ; + Column27.FontName = "Arial", ; + Column27.FontSize = 10, ; + Column27.Name = "Column27", ; + Column27.ReadOnly = .F., ; + Column27.Width = 64, ; + Column28.BackColor = 244,250,255, ; + Column28.ColumnOrder = 33, ; + Column28.ControlSource = "sectie", ; + Column28.FontName = "Arial", ; + Column28.FontSize = 10, ; + Column28.Name = "Column28", ; + Column28.ReadOnly = .F., ; + Column28.Width = 88, ; + Column29.BackColor = 244,250,255, ; + Column29.ColumnOrder = 27, ; + Column29.ControlSource = "nume_val", ; + Column29.FontName = "Arial", ; + Column29.FontSize = 10, ; + Column29.Name = "Column29", ; + Column29.ReadOnly = .F., ; + Column29.Width = 61, ; + Column30.BackColor = 244,250,255, ; + Column30.ColumnOrder = 37, ; + Column30.ControlSource = "id_partd", ; + Column30.FontName = "Arial", ; + Column30.FontSize = 10, ; + Column30.Name = "Column30", ; + Column30.ReadOnly = .T., ; + Column30.Width = 45, ; + Column31.BackColor = 244,250,255, ; + Column31.ColumnOrder = 38, ; + Column31.ControlSource = "id_partc", ; + Column31.FontName = "Arial", ; + Column31.FontSize = 10, ; + Column31.Name = "Column31", ; + Column31.ReadOnly = .T., ; + Column31.Width = 43, ; + Column32.BackColor = 244,250,255, ; + Column32.ColumnOrder = 32, ; + Column32.ControlSource = "gestout", ; + Column32.FontName = "Arial", ; + Column32.FontSize = 10, ; + Column32.Name = "Column32", ; + Column32.ReadOnly = .F., ; + Column32.Width = 89, ; + Column33.BackColor = 244,250,255, ; + Column33.ColumnOrder = 34, ; + Column33.ControlSource = "sucursala", ; + Column33.FontName = "Arial", ; + Column33.FontSize = 10, ; + Column33.Name = "Column33", ; + Column33.ReadOnly = .F., ; + Column33.Width = 121, ; + Column34.BackColor = 244,250,255, ; + Column34.ColumnOrder = 23, ; + Column34.ControlSource = "contract", ; + Column34.FontName = "Arial", ; + Column34.FontSize = 10, ; + Column34.Name = "Column34", ; + Column34.ReadOnly = .T., ; + Column34.Width = 65, ; + Column35.BackColor = 244,250,255, ; + Column35.ColumnOrder = 20, ; + Column35.ControlSource = "explicatie_tva", ; + Column35.FontName = "Arial", ; + Column35.FontSize = 10, ; + Column35.Name = "Column35", ; + Column35.ReadOnly = .F., ; + Column35.Width = 75, ; + Column36.BackColor = 244,250,255, ; + Column36.ColumnOrder = 18, ; + Column36.ControlSource = "cu_tva", ; + Column36.FontName = "Arial", ; + Column36.FontSize = 10, ; + Column36.Name = "Column36", ; + Column36.ReadOnly = .F., ; + Column36.Sparse = .F., ; + Column36.Width = 40, ; + Column37.BackColor = 244,250,255, ; + Column37.ColumnOrder = 5, ; + Column37.ControlSource = "serie_act", ; + Column37.FontName = "Arial", ; + Column37.FontSize = 10, ; + Column37.Format = "!", ; + Column37.Name = "Column37", ; + Column37.ReadOnly = .F., ; + Column37.Width = 49, ; + Column38.BackColor = 244,250,255, ; + Column38.ColumnOrder = 39, ; + Column38.ControlSource = "id_fact", ; + Column38.FontName = "Arial", ; + Column38.FontSize = 10, ; + Column38.Name = "Column38", ; + Column38.ReadOnly = .T., ; + Column39.BackColor = 244,250,255, ; + Column39.ColumnOrder = 40, ; + Column39.ControlSource = "id_factd", ; + Column39.FontName = "Arial", ; + Column39.FontSize = 10, ; + Column39.Name = "Column39", ; + Column39.ReadOnly = .T., ; + Column40.BackColor = 244,250,255, ; + Column40.ColumnOrder = 41, ; + Column40.ControlSource = "id_factc", ; + Column40.FontName = "Arial", ; + Column40.FontSize = 10, ; + Column40.Name = "Column40", ; + Column40.ReadOnly = .T., ; + Column41.BackColor = 244,250,255, ; + Column41.ColumnOrder = 2, ; + Column41.ControlSource = "ales", ; + Column41.CurrentControl = "_CHECKBOX1", ; + Column41.FontName = "Arial", ; + Column41.FontSize = 10, ; + Column41.Name = "cAles", ; + Column41.ReadOnly = .F., ; + Column41.Sparse = .F., ; + Column41.Width = 22 + *< END OBJECT: BaseClass="grid" /> + + ADD OBJECT '_pageframe1.Page2.grdNote.cAles._CHECKBOX1' AS _checkbox WITH ; + Alignment = 2, ; + BackColor = 255,255,255, ; + Caption = "", ; + FontName = "Arial", ; + FontSize = 10, ; + Left = 9, ; + Name = "_CHECKBOX1", ; + ReadOnly = .F., ; + Top = 79 + *< END OBJECT: ClassLib="_baza.vcx" BaseClass="checkbox" /> + + ADD OBJECT '_pageframe1.Page2.grdNote.cAles.Header1' AS header WITH ; + Alignment = 2, ; + Caption = "Ales", ; + FontName = "Arial", ; + FontSize = 10, ; + Name = "Header1" + *< END OBJECT: BaseClass="header" /> + + ADD OBJECT '_pageframe1.Page2.grdNote.cAles.Text1' AS textbox WITH ; + BackColor = 255,255,255, ; + BorderStyle = 0, ; + ForeColor = 0,0,0, ; + Margin = 0, ; + Name = "Text1", ; + SelectedBackColor = 49,106,197 + *< END OBJECT: BaseClass="textbox" /> + + ADD OBJECT '_pageframe1.Page2.grdNote.Column1.Header1' AS header WITH ; + Alignment = 2, ; + Caption = "NrCrt", ; + FontName = "Arial", ; + FontSize = 10, ; + Name = "Header1" + *< END OBJECT: BaseClass="header" /> + + ADD OBJECT '_pageframe1.Page2.grdNote.Column1.Text1' AS textbox WITH ; + Alignment = 1, ; + BackColor = 244,250,255, ; + BorderStyle = 0, ; + FontName = "Arial", ; + FontSize = 10, ; + ForeColor = 0,0,0, ; + Margin = 0, ; + Name = "Text1", ; + ReadOnly = .F., ; + SelectedBackColor = 49,106,197 + *< END OBJECT: BaseClass="textbox" /> + + ADD OBJECT '_pageframe1.Page2.grdNote.Column10.Header1' AS header WITH ; + Alignment = 2, ; + Caption = "Explicatie C", ; + FontName = "Arial", ; + FontSize = 10, ; + Name = "Header1" + *< END OBJECT: BaseClass="header" /> + + ADD OBJECT '_pageframe1.Page2.grdNote.Column10.Text1' AS textbox WITH ; + Alignment = 0, ; + BackColor = 244,250,255, ; + BorderStyle = 0, ; + FontName = "Arial", ; + FontSize = 10, ; + ForeColor = 0,0,0, ; + Margin = 0, ; + Name = "Text1", ; + ReadOnly = .F., ; + SelectedBackColor = 49,106,197 + *< END OBJECT: BaseClass="textbox" /> + + ADD OBJECT '_pageframe1.Page2.grdNote.Column11.Header1' AS header WITH ; + Alignment = 2, ; + Caption = "Expl.3", ; + FontName = "Arial", ; + FontSize = 10, ; + Name = "Header1" + *< END OBJECT: BaseClass="header" /> + + ADD OBJECT '_pageframe1.Page2.grdNote.Column11.Text1' AS textbox WITH ; + Alignment = 0, ; + BackColor = 244,250,255, ; + BorderStyle = 0, ; + FontName = "Arial", ; + FontSize = 10, ; + ForeColor = 0,0,0, ; + Margin = 0, ; + Name = "Text1", ; + ReadOnly = .F., ; + SelectedBackColor = 49,106,197 + *< END OBJECT: BaseClass="textbox" /> + + ADD OBJECT '_pageframe1.Page2.grdNote.Column12.Header1' AS header WITH ; + Alignment = 2, ; + Caption = "COD", ; + FontName = "Arial", ; + FontSize = 10, ; + Name = "Header1" + *< END OBJECT: BaseClass="header" /> + + ADD OBJECT '_pageframe1.Page2.grdNote.Column12.Text1' AS textbox WITH ; + BackColor = 244,250,255, ; + BorderStyle = 0, ; + FontName = "Arial", ; + FontSize = 10, ; + ForeColor = 0,0,0, ; + Margin = 0, ; + Name = "Text1", ; + ReadOnly = .T., ; + SelectedBackColor = 49,106,197 + *< END OBJECT: BaseClass="textbox" /> + + ADD OBJECT '_pageframe1.Page2.grdNote.Column13.Header1' AS header WITH ; + Alignment = 2, ; + Caption = "Nr.doc.platit", ; + FontName = "Arial", ; + FontSize = 10, ; + Name = "Header1" + *< END OBJECT: BaseClass="header" /> + + ADD OBJECT '_pageframe1.Page2.grdNote.Column13.Text1' AS textbox WITH ; + BackColor = 244,250,255, ; + BorderStyle = 0, ; + FontName = "Arial", ; + FontSize = 10, ; + ForeColor = 0,0,0, ; + Margin = 0, ; + Name = "Text1", ; + ReadOnly = .F., ; + SelectedBackColor = 49,106,197 + *< END OBJECT: BaseClass="textbox" /> + + ADD OBJECT '_pageframe1.Page2.grdNote.Column14.Header1' AS header WITH ; + Alignment = 2, ; + Caption = "Explicatia 4", ; + FontName = "Arial", ; + FontSize = 10, ; + Name = "Header1" + *< END OBJECT: BaseClass="header" /> + + ADD OBJECT '_pageframe1.Page2.grdNote.Column14.Text1' AS textbox WITH ; + BackColor = 244,250,255, ; + BorderStyle = 0, ; + FontName = "Arial", ; + FontSize = 10, ; + ForeColor = 0,0,0, ; + Margin = 0, ; + Name = "Text1", ; + ReadOnly = .F., ; + SelectedBackColor = 49,106,197 + *< END OBJECT: BaseClass="textbox" /> + + ADD OBJECT '_pageframe1.Page2.grdNote.Column15.Header1' AS header WITH ; + Alignment = 2, ; + Caption = "Lucrarea", ; + FontName = "Arial", ; + FontSize = 10, ; + Name = "Header1" + *< END OBJECT: BaseClass="header" /> + + ADD OBJECT '_pageframe1.Page2.grdNote.Column15.Text1' AS textbox WITH ; + BackColor = 244,250,255, ; + BorderStyle = 0, ; + FontName = "Arial", ; + FontSize = 10, ; + ForeColor = 0,0,0, ; + Margin = 0, ; + Name = "Text1", ; + ReadOnly = .F., ; + SelectedBackColor = 49,106,197 + *< END OBJECT: BaseClass="textbox" /> + + ADD OBJECT '_pageframe1.Page2.grdNote.Column16.Header1' AS header WITH ; + Alignment = 2, ; + Caption = "Responsabil", ; + FontName = "Arial", ; + FontSize = 10, ; + Name = "Header1" + *< END OBJECT: BaseClass="header" /> + + ADD OBJECT '_pageframe1.Page2.grdNote.Column16.Text1' AS textbox WITH ; + BackColor = 244,250,255, ; + BorderStyle = 0, ; + FontName = "Arial", ; + FontSize = 10, ; + ForeColor = 0,0,0, ; + Margin = 0, ; + Name = "Text1", ; + ReadOnly = .F., ; + SelectedBackColor = 49,106,197 + *< END OBJECT: BaseClass="textbox" /> + + ADD OBJECT '_pageframe1.Page2.grdNote.Column17.Header1' AS header WITH ; + Alignment = 2, ; + Caption = "Cheltuiala", ; + FontName = "Arial", ; + FontSize = 10, ; + Name = "Header1" + *< END OBJECT: BaseClass="header" /> + + ADD OBJECT '_pageframe1.Page2.grdNote.Column17.Text1' AS textbox WITH ; + BackColor = 244,250,255, ; + BorderStyle = 0, ; + FontName = "Arial", ; + FontSize = 10, ; + ForeColor = 0,0,0, ; + Margin = 0, ; + Name = "Text1", ; + ReadOnly = .F., ; + SelectedBackColor = 49,106,197 + *< END OBJECT: BaseClass="textbox" /> + + ADD OBJECT '_pageframe1.Page2.grdNote.Column18.Header1' AS header WITH ; + Alignment = 2, ; + Caption = "Explicatia 5", ; + FontName = "Arial", ; + FontSize = 10, ; + Name = "Header1" + *< END OBJECT: BaseClass="header" /> + + ADD OBJECT '_pageframe1.Page2.grdNote.Column18.Text1' AS textbox WITH ; + BackColor = 244,250,255, ; + BorderStyle = 0, ; + FontName = "Arial", ; + FontSize = 10, ; + ForeColor = 0,0,0, ; + Margin = 0, ; + Name = "Text1", ; + ReadOnly = .F., ; + SelectedBackColor = 49,106,197 + *< END OBJECT: BaseClass="textbox" /> + + ADD OBJECT '_pageframe1.Page2.grdNote.Column19.Header1' AS header WITH ; + Alignment = 2, ; + Caption = "Data scadenta", ; + FontName = "Arial", ; + FontSize = 10, ; + Name = "Header1" + *< END OBJECT: BaseClass="header" /> + + ADD OBJECT '_pageframe1.Page2.grdNote.Column19.Text1' AS textbox WITH ; + BackColor = 244,250,255, ; + BorderStyle = 0, ; + FontName = "Arial", ; + FontSize = 10, ; + ForeColor = 0,0,0, ; + Margin = 0, ; + Name = "Text1", ; + ReadOnly = .F., ; + SelectedBackColor = 49,106,197, ; + Visible = .T. + *< END OBJECT: BaseClass="textbox" /> + + ADD OBJECT '_pageframe1.Page2.grdNote.Column2.Header2' AS header WITH ; + Alignment = 2, ; + Caption = "Data Inreg.", ; + FontName = "Arial", ; + FontSize = 10, ; + Name = "Header2" + *< END OBJECT: BaseClass="header" /> + + ADD OBJECT '_pageframe1.Page2.grdNote.Column2.Text1' AS textbox WITH ; + Alignment = 0, ; + BackColor = 244,250,255, ; + BorderStyle = 0, ; + FontName = "Arial", ; + FontSize = 10, ; + ForeColor = 0,0,0, ; + Margin = 0, ; + Name = "Text1", ; + ReadOnly = .F., ; + SelectedBackColor = 49,106,197 + *< END OBJECT: BaseClass="textbox" /> + + ADD OBJECT '_pageframe1.Page2.grdNote.Column20.Header1' AS header WITH ; + Alignment = 2, ; + Caption = "Suma in valuta", ; + FontName = "Arial", ; + FontSize = 10, ; + Name = "Header1" + *< END OBJECT: BaseClass="header" /> + + ADD OBJECT '_pageframe1.Page2.grdNote.Column20.Text1' AS textbox WITH ; + BackColor = 244,250,255, ; + BorderStyle = 0, ; + FontName = "Arial", ; + FontSize = 10, ; + ForeColor = 0,0,0, ; + Margin = 0, ; + Name = "Text1", ; + SelectedBackColor = 49,106,197 + *< END OBJECT: BaseClass="textbox" /> + + ADD OBJECT '_pageframe1.Page2.grdNote.Column21.Header1' AS header WITH ; + Alignment = 2, ; + Caption = "Curs valutar", ; + FontName = "Arial", ; + FontSize = 10, ; + Name = "Header1" + *< END OBJECT: BaseClass="header" /> + + ADD OBJECT '_pageframe1.Page2.grdNote.Column21.Text1' AS textbox WITH ; + BackColor = 244,250,255, ; + BorderStyle = 0, ; + FontName = "Arial", ; + FontSize = 10, ; + ForeColor = 0,0,0, ; + Margin = 0, ; + Name = "Text1", ; + SelectedBackColor = 49,106,197 + *< END OBJECT: BaseClass="textbox" /> + + ADD OBJECT '_pageframe1.Page2.grdNote.Column22.Header1' AS header WITH ; + Alignment = 2, ; + Caption = "Gestiune destinatie", ; + FontName = "Arial", ; + FontSize = 10, ; + Name = "Header1" + *< END OBJECT: BaseClass="header" /> + + ADD OBJECT '_pageframe1.Page2.grdNote.Column22.Text1' AS textbox WITH ; + BackColor = 244,250,255, ; + BorderStyle = 0, ; + FontName = "Arial", ; + FontSize = 10, ; + ForeColor = 0,0,0, ; + Margin = 0, ; + Name = "Text1", ; + SelectedBackColor = 49,106,197 + *< END OBJECT: BaseClass="textbox" /> + + ADD OBJECT '_pageframe1.Page2.grdNote.Column23.Header1' AS header WITH ; + Alignment = 2, ; + Caption = "AnalitD", ; + FontName = "Arial", ; + FontSize = 10, ; + Name = "Header1" + *< END OBJECT: BaseClass="header" /> + + ADD OBJECT '_pageframe1.Page2.grdNote.Column23.Text1' AS textbox WITH ; + BackColor = 244,250,255, ; + BorderStyle = 0, ; + FontName = "Arial", ; + FontSize = 10, ; + ForeColor = 0,0,0, ; + Margin = 0, ; + Name = "Text1", ; + SelectedBackColor = 49,106,197 + *< END OBJECT: BaseClass="textbox" /> + + ADD OBJECT '_pageframe1.Page2.grdNote.Column24.Header1' AS header WITH ; + Alignment = 2, ; + Caption = "AnalitC", ; + FontName = "Arial", ; + FontSize = 10, ; + Name = "Header1" + *< END OBJECT: BaseClass="header" /> + + ADD OBJECT '_pageframe1.Page2.grdNote.Column24.Text1' AS textbox WITH ; + BackColor = 244,250,255, ; + BorderStyle = 0, ; + FontName = "Arial", ; + FontSize = 10, ; + ForeColor = 0,0,0, ; + Margin = 0, ; + Name = "Text1", ; + SelectedBackColor = 49,106,197 + *< END OBJECT: BaseClass="textbox" /> + + ADD OBJECT '_pageframe1.Page2.grdNote.Column25.Header1' AS header WITH ; + Alignment = 2, ; + Caption = "Tip operatie", ; + FontName = "Arial", ; + FontSize = 10, ; + Name = "Header1" + *< END OBJECT: BaseClass="header" /> + + ADD OBJECT '_pageframe1.Page2.grdNote.Column25.Text1' AS textbox WITH ; + BackColor = 244,250,255, ; + BorderStyle = 0, ; + FontName = "Arial", ; + FontSize = 10, ; + ForeColor = 0,0,0, ; + Margin = 0, ; + Name = "Text1", ; + ReadOnly = .T., ; + SelectedBackColor = 49,106,197 + *< END OBJECT: BaseClass="textbox" /> + + ADD OBJECT '_pageframe1.Page2.grdNote.Column26.Header1' AS header WITH ; + Alignment = 2, ; + Caption = "Cota TVA", ; + FontName = "Arial", ; + FontSize = 10, ; + Name = "Header1" + *< END OBJECT: BaseClass="header" /> + + ADD OBJECT '_pageframe1.Page2.grdNote.Column26.Text1' AS textbox WITH ; + BackColor = 244,250,255, ; + BorderStyle = 0, ; + FontName = "Arial", ; + FontSize = 10, ; + ForeColor = 0,0,0, ; + Margin = 0, ; + Name = "Text1", ; + ReadOnly = .T., ; + SelectedBackColor = 49,106,197 + *< END OBJECT: BaseClass="textbox" /> + + ADD OBJECT '_pageframe1.Page2.grdNote.Column27.Header1' AS header WITH ; + Alignment = 2, ; + Caption = "Nr.doc.incasat", ; + FontName = "Arial", ; + FontSize = 10, ; + Name = "Header1" + *< END OBJECT: BaseClass="header" /> + + ADD OBJECT '_pageframe1.Page2.grdNote.Column27.Text1' AS textbox WITH ; + BackColor = 244,250,255, ; + BorderStyle = 0, ; + FontName = "Arial", ; + FontSize = 10, ; + ForeColor = 0,0,0, ; + Margin = 0, ; + Name = "Text1", ; + SelectedBackColor = 49,106,197 + *< END OBJECT: BaseClass="textbox" /> + + ADD OBJECT '_pageframe1.Page2.grdNote.Column28.Header1' AS header WITH ; + Alignment = 2, ; + Caption = "Sectia", ; + FontName = "Arial", ; + FontSize = 10, ; + Name = "Header1" + *< END OBJECT: BaseClass="header" /> + + ADD OBJECT '_pageframe1.Page2.grdNote.Column28.Text1' AS textbox WITH ; + BackColor = 244,250,255, ; + BorderStyle = 0, ; + FontName = "Arial", ; + FontSize = 10, ; + ForeColor = 0,0,0, ; + Margin = 0, ; + Name = "Text1", ; + SelectedBackColor = 49,106,197 + *< END OBJECT: BaseClass="textbox" /> + + ADD OBJECT '_pageframe1.Page2.grdNote.Column29.Header1' AS header WITH ; + Alignment = 2, ; + Caption = "Nume Valuta", ; + FontName = "Arial", ; + FontSize = 10, ; + Name = "Header1" + *< END OBJECT: BaseClass="header" /> + + ADD OBJECT '_pageframe1.Page2.grdNote.Column29.Text1' AS textbox WITH ; + BackColor = 244,250,255, ; + BorderStyle = 0, ; + FontName = "Arial", ; + FontSize = 10, ; + ForeColor = 0,0,0, ; + Margin = 0, ; + Name = "Text1", ; + SelectedBackColor = 49,106,197 + *< END OBJECT: BaseClass="textbox" /> + + ADD OBJECT '_pageframe1.Page2.grdNote.Column3.Header3' AS header WITH ; + Alignment = 2, ; + Caption = "Fel Doc.", ; + FontName = "Arial", ; + FontSize = 10, ; + Name = "Header3" + *< END OBJECT: BaseClass="header" /> + + ADD OBJECT '_pageframe1.Page2.grdNote.Column3.Text1' AS textbox WITH ; + Alignment = 0, ; + BackColor = 244,250,255, ; + BorderStyle = 0, ; + FontName = "Arial", ; + FontSize = 10, ; + ForeColor = 0,0,0, ; + Margin = 0, ; + Name = "Text1", ; + ReadOnly = .F., ; + SelectedBackColor = 49,106,197 + *< END OBJECT: BaseClass="textbox" /> + + ADD OBJECT '_pageframe1.Page2.grdNote.Column30.Header1' AS header WITH ; + Alignment = 2, ; + Caption = "Id Part D", ; + FontName = "Arial", ; + FontSize = 10, ; + Name = "Header1" + *< END OBJECT: BaseClass="header" /> + + ADD OBJECT '_pageframe1.Page2.grdNote.Column30.Text1' AS textbox WITH ; + BackColor = 244,250,255, ; + BorderStyle = 0, ; + FontName = "Arial", ; + FontSize = 10, ; + ForeColor = 0,0,0, ; + Margin = 0, ; + Name = "Text1", ; + ReadOnly = .T., ; + SelectedBackColor = 49,106,197 + *< END OBJECT: BaseClass="textbox" /> + + ADD OBJECT '_pageframe1.Page2.grdNote.Column31.Header1' AS header WITH ; + Alignment = 2, ; + Caption = "Id Part C", ; + FontName = "Arial", ; + FontSize = 10, ; + Name = "Header1" + *< END OBJECT: BaseClass="header" /> + + ADD OBJECT '_pageframe1.Page2.grdNote.Column31.Text1' AS textbox WITH ; + BackColor = 244,250,255, ; + BorderStyle = 0, ; + FontName = "Arial", ; + FontSize = 10, ; + ForeColor = 0,0,0, ; + Margin = 0, ; + Name = "Text1", ; + ReadOnly = .T., ; + SelectedBackColor = 49,106,197 + *< END OBJECT: BaseClass="textbox" /> + + ADD OBJECT '_pageframe1.Page2.grdNote.Column32.Header1' AS header WITH ; + Alignment = 2, ; + Caption = "Gestiune sursa", ; + FontName = "Arial", ; + FontSize = 10, ; + Name = "Header1" + *< END OBJECT: BaseClass="header" /> + + ADD OBJECT '_pageframe1.Page2.grdNote.Column32.Text1' AS textbox WITH ; + BackColor = 244,250,255, ; + BorderStyle = 0, ; + FontName = "Arial", ; + FontSize = 10, ; + ForeColor = 0,0,0, ; + Margin = 0, ; + Name = "Text1", ; + SelectedBackColor = 49,106,197 + *< END OBJECT: BaseClass="textbox" /> + + ADD OBJECT '_pageframe1.Page2.grdNote.Column33.Header1' AS header WITH ; + Alignment = 2, ; + Caption = "Sucursala", ; + FontName = "Arial", ; + FontSize = 10, ; + Name = "Header1" + *< END OBJECT: BaseClass="header" /> + + ADD OBJECT '_pageframe1.Page2.grdNote.Column33.Text1' AS textbox WITH ; + BackColor = 244,250,255, ; + BorderStyle = 0, ; + FontName = "Arial", ; + FontSize = 10, ; + ForeColor = 0,0,0, ; + Margin = 0, ; + Name = "Text1", ; + ReadOnly = .F., ; + SelectedBackColor = 49,106,197 + *< END OBJECT: BaseClass="textbox" /> + + ADD OBJECT '_pageframe1.Page2.grdNote.Column34.Header1' AS header WITH ; + Alignment = 2, ; + Caption = "Contract", ; + FontName = "Arial", ; + FontSize = 10, ; + Name = "Header1" + *< END OBJECT: BaseClass="header" /> + + ADD OBJECT '_pageframe1.Page2.grdNote.Column34.Text1' AS textbox WITH ; + BackColor = 244,250,255, ; + BorderStyle = 0, ; + FontName = "Arial", ; + FontSize = 10, ; + ForeColor = 0,0,0, ; + Margin = 0, ; + Name = "Text1", ; + ReadOnly = .T., ; + SelectedBackColor = 49,106,197 + *< END OBJECT: BaseClass="textbox" /> + + ADD OBJECT '_pageframe1.Page2.grdNote.Column35.Header1' AS header WITH ; + Alignment = 2, ; + Caption = "Explicatie TVA", ; + FontName = "Arial", ; + FontSize = 10, ; + Name = "Header1" + *< END OBJECT: BaseClass="header" /> + + ADD OBJECT '_pageframe1.Page2.grdNote.Column35.Text1' AS textbox WITH ; + BackColor = 244,250,255, ; + BorderStyle = 0, ; + FontName = "Arial", ; + FontSize = 10, ; + ForeColor = 0,0,0, ; + Margin = 0, ; + Name = "Text1", ; + ReadOnly = .F., ; + SelectedBackColor = 49,106,197 + *< END OBJECT: BaseClass="textbox" /> + + ADD OBJECT '_pageframe1.Page2.grdNote.Column36._CHECKBOX1' AS _checkbox WITH ; + Alignment = 2, ; + AutoSize = .F., ; + Caption = "", ; + Centered = .T., ; + FontName = "Arial", ; + FontSize = 10, ; + Left = 19, ; + Name = "_CHECKBOX1", ; + Top = 31 + *< END OBJECT: ClassLib="_baza.vcx" BaseClass="checkbox" /> + + ADD OBJECT '_pageframe1.Page2.grdNote.Column36.Header1' AS header WITH ; + Alignment = 2, ; + Caption = "Cu TVA", ; + FontName = "Arial", ; + FontSize = 10, ; + Name = "Header1" + *< END OBJECT: BaseClass="header" /> + + ADD OBJECT '_pageframe1.Page2.grdNote.Column37.Header1' AS header WITH ; + Alignment = 2, ; + Caption = "Serie doc.", ; + FontName = "Arial", ; + FontSize = 10, ; + Name = "Header1" + *< END OBJECT: BaseClass="header" /> + + ADD OBJECT '_pageframe1.Page2.grdNote.Column37.Text1' AS textbox WITH ; + BackColor = 244,250,255, ; + BorderStyle = 0, ; + FontName = "Arial", ; + FontSize = 10, ; + ForeColor = 0,0,0, ; + Margin = 0, ; + Name = "Text1", ; + SelectedBackColor = 49,106,197 + *< END OBJECT: BaseClass="textbox" /> + + ADD OBJECT '_pageframe1.Page2.grdNote.Column38.Header1' AS header WITH ; + Caption = "Id factura", ; + FontName = "Arial", ; + FontSize = 10, ; + Name = "Header1" + *< END OBJECT: BaseClass="header" /> + + ADD OBJECT '_pageframe1.Page2.grdNote.Column38.Text1' AS textbox WITH ; + BackColor = 255,255,255, ; + BorderStyle = 0, ; + FontName = "Arial", ; + FontSize = 10, ; + ForeColor = 0,0,0, ; + Margin = 0, ; + Name = "Text1", ; + ReadOnly = .T., ; + SelectedBackColor = 49,106,197 + *< END OBJECT: BaseClass="textbox" /> + + ADD OBJECT '_pageframe1.Page2.grdNote.Column39.Header1' AS header WITH ; + Caption = "Id Factura d", ; + FontName = "Arial", ; + FontSize = 10, ; + Name = "Header1" + *< END OBJECT: BaseClass="header" /> + + ADD OBJECT '_pageframe1.Page2.grdNote.Column39.Text1' AS textbox WITH ; + BackColor = 255,255,255, ; + BorderStyle = 0, ; + FontName = "Arial", ; + FontSize = 10, ; + ForeColor = 0,0,0, ; + Margin = 0, ; + Name = "Text1", ; + ReadOnly = .T., ; + SelectedBackColor = 49,106,197 + *< END OBJECT: BaseClass="textbox" /> + + ADD OBJECT '_pageframe1.Page2.grdNote.Column4.Header4' AS header WITH ; + Alignment = 2, ; + Caption = "Data Act", ; + FontName = "Arial", ; + FontSize = 10, ; + Name = "Header4" + *< END OBJECT: BaseClass="header" /> + + ADD OBJECT '_pageframe1.Page2.grdNote.Column4.Text1' AS textbox WITH ; + Alignment = 0, ; + BackColor = 244,250,255, ; + BorderStyle = 0, ; + FontName = "Arial", ; + FontSize = 10, ; + ForeColor = 0,0,0, ; + Margin = 0, ; + Name = "Text1", ; + ReadOnly = .F., ; + SelectedBackColor = 49,106,197 + *< END OBJECT: BaseClass="textbox" /> + + ADD OBJECT '_pageframe1.Page2.grdNote.Column40.Header1' AS header WITH ; + Caption = "Id Factura c", ; + FontName = "Arial", ; + FontSize = 10, ; + Name = "Header1" + *< END OBJECT: BaseClass="header" /> + + ADD OBJECT '_pageframe1.Page2.grdNote.Column40.Text1' AS textbox WITH ; + BackColor = 255,255,255, ; + BorderStyle = 0, ; + FontName = "Arial", ; + FontSize = 10, ; + ForeColor = 0,0,0, ; + Margin = 0, ; + Name = "Text1", ; + ReadOnly = .T., ; + SelectedBackColor = 49,106,197 + *< END OBJECT: BaseClass="textbox" /> + + ADD OBJECT '_pageframe1.Page2.grdNote.Column5.Header5' AS header WITH ; + Alignment = 2, ; + Caption = "Nr.Doc.", ; + FontName = "Arial", ; + FontSize = 10, ; + Name = "Header5" + *< END OBJECT: BaseClass="header" /> + + ADD OBJECT '_pageframe1.Page2.grdNote.Column5.Text1' AS textbox WITH ; + Alignment = 1, ; + BackColor = 244,250,255, ; + BorderStyle = 0, ; + FontName = "Arial", ; + FontSize = 10, ; + ForeColor = 0,0,0, ; + Margin = 0, ; + Name = "Text1", ; + ReadOnly = .F., ; + SelectedBackColor = 49,106,197 + *< END OBJECT: BaseClass="textbox" /> + + ADD OBJECT '_pageframe1.Page2.grdNote.Column6.Header6' AS header WITH ; + Alignment = 2, ; + Caption = "Explicatie D", ; + FontName = "Arial", ; + FontSize = 10, ; + Name = "Header6" + *< END OBJECT: BaseClass="header" /> + + ADD OBJECT '_pageframe1.Page2.grdNote.Column6.Text1' AS textbox WITH ; + Alignment = 0, ; + BackColor = 244,250,255, ; + BorderColor = 0,0,0, ; + BorderStyle = 0, ; + FontName = "Arial", ; + FontSize = 10, ; + ForeColor = 0,0,0, ; + Margin = 0, ; + Name = "Text1", ; + ReadOnly = .F., ; + SelectedBackColor = 49,106,197 + *< END OBJECT: BaseClass="textbox" /> + + ADD OBJECT '_pageframe1.Page2.grdNote.Column7.Header7' AS header WITH ; + Alignment = 2, ; + Caption = "Cont Deb.", ; + FontName = "Arial", ; + FontSize = 10, ; + Name = "Header7" + *< END OBJECT: BaseClass="header" /> + + ADD OBJECT '_pageframe1.Page2.grdNote.Column7.Text1' AS textbox WITH ; + Alignment = 1, ; + BackColor = 244,250,255, ; + BorderStyle = 0, ; + FontName = "Arial", ; + FontSize = 10, ; + ForeColor = 0,0,0, ; + Margin = 0, ; + Name = "Text1", ; + ReadOnly = .F., ; + SelectedBackColor = 49,106,197 + *< END OBJECT: BaseClass="textbox" /> + + ADD OBJECT '_pageframe1.Page2.grdNote.Column8.Header8' AS header WITH ; + Alignment = 2, ; + Caption = "Cont Cred.", ; + FontName = "Arial", ; + FontSize = 10, ; + Name = "Header8" + *< END OBJECT: BaseClass="header" /> + + ADD OBJECT '_pageframe1.Page2.grdNote.Column8.Text1' AS textbox WITH ; + Alignment = 1, ; + BackColor = 244,250,255, ; + BorderStyle = 0, ; + FontName = "Arial", ; + FontSize = 10, ; + ForeColor = 0,0,0, ; + Margin = 0, ; + Name = "Text1", ; + ReadOnly = .F., ; + SelectedBackColor = 49,106,197 + *< END OBJECT: BaseClass="textbox" /> + + ADD OBJECT '_pageframe1.Page2.grdNote.Column9.Header9' AS header WITH ; + Alignment = 2, ; + Caption = "Suma", ; + FontName = "Arial", ; + FontSize = 10, ; + Name = "Header9" + *< END OBJECT: BaseClass="header" /> + + ADD OBJECT '_pageframe1.Page2.grdNote.Column9.Text1' AS textbox WITH ; + Alignment = 1, ; + BackColor = 244,250,255, ; + BorderStyle = 0, ; + FontName = "Arial", ; + FontSize = 10, ; + ForeColor = 0,0,0, ; + Margin = 0, ; + Name = "Text1", ; + ReadOnly = .F., ; + SelectedBackColor = 49,106,197 + *< END OBJECT: BaseClass="textbox" /> + + ADD OBJECT '_pageframe1.Page2.grdRequest' AS _grdbase WITH ; + Anchor = 13, ; + ColumnCount = 2, ; + DeleteMark = .F., ; + Height = 183, ; + Left = 579, ; + Name = "grdRequest", ; + Panel = 1, ; + ReadOnly = .F., ; + RecordSource = "crsERequest", ; + Top = 50, ; + Width = 260, ; + Column1.ControlSource = "label_item", ; + Column1.Name = "Column1", ; + Column1.ReadOnly = .F., ; + Column1.Width = 123, ; + Column2.ControlSource = "valoare_default_text", ; + Column2.Name = "Column2", ; + Column2.ReadOnly = .F., ; + Column2.Width = 104 + *< END OBJECT: ClassLib="_grd_base.vcx" BaseClass="grid" /> + + ADD OBJECT '_pageframe1.Page2.grdRequest.Column1.Header1' AS header WITH ; + Alignment = 2, ; + Caption = "Element", ; + Name = "Header1" + *< END OBJECT: BaseClass="header" /> + + ADD OBJECT '_pageframe1.Page2.grdRequest.Column1.Text1' AS textbox WITH ; + BackColor = 255,255,255, ; + BorderStyle = 0, ; + ForeColor = 0,0,0, ; + Margin = 0, ; + Name = "Text1", ; + ReadOnly = .F., ; + SelectedBackColor = 100,185,255 + *< END OBJECT: BaseClass="textbox" /> + + ADD OBJECT '_pageframe1.Page2.grdRequest.Column2.Header1' AS header WITH ; + Alignment = 2, ; + Caption = "Valoare implicita", ; + Name = "Header1" + *< END OBJECT: BaseClass="header" /> + + ADD OBJECT '_pageframe1.Page2.grdRequest.Column2.Text1' AS textbox WITH ; + BackColor = 255,255,255, ; + BorderStyle = 0, ; + ForeColor = 0,0,0, ; + Margin = 0, ; + Name = "Text1", ; + ReadOnly = .F., ; + SelectedBackColor = 100,185,255 + *< END OBJECT: BaseClass="textbox" /> + + ADD OBJECT '_pageframe1.Page2.grdUCategorii' AS grid WITH ; + Anchor = 5, ; + ColumnCount = 3, ; + DeleteMark = .F., ; + FontSize = 10, ; + Height = 260, ; + HighlightBackColor = 60,115,200, ; + HighlightStyle = 2, ; + Left = 16, ; + Name = "grdUCategorii", ; + Panel = 1, ; + ReadOnly = .T., ; + RecordSource = "crsECategorii", ; + RowHeight = 19, ; + TabIndex = 4, ; + Top = 50, ; + Width = 327, ; + ZOrderSet = 1, ; + Column1.ControlSource = "categorie", ; + Column1.FontName = "Arial", ; + Column1.FontSize = 10, ; + Column1.Name = "cCategorie", ; + Column1.ReadOnly = .T., ; + Column1.Width = 207, ; + Column2.ColumnOrder = 3, ; + Column2.ControlSource = "id_categorie", ; + Column2.FontName = "Arial", ; + Column2.FontSize = 10, ; + Column2.Format = "R", ; + Column2.InputMask = "99999999", ; + Column2.Name = "cIdCategorie", ; + Column2.ReadOnly = .T., ; + Column2.Width = 48, ; + Column3.ColumnOrder = 2, ; + Column3.ControlSource = "ordine", ; + Column3.FontName = "Arial", ; + Column3.FontSize = 10, ; + Column3.Format = "RK", ; + Column3.InputMask = "999999", ; + Column3.Name = "cOrdine", ; + Column3.ReadOnly = .T., ; + Column3.Width = 35 + *< END OBJECT: BaseClass="grid" /> + + ADD OBJECT '_pageframe1.Page2.grdUCategorii.cCategorie.Header1' AS header WITH ; + Alignment = 2, ; + Caption = "Nume", ; + FontName = "Arial", ; + FontSize = 10, ; + Name = "Header1" + *< END OBJECT: BaseClass="header" /> + + ADD OBJECT '_pageframe1.Page2.grdUCategorii.cCategorie.Text1' AS textbox WITH ; + BackColor = 255,255,255, ; + BorderStyle = 0, ; + FontName = "Arial", ; + FontSize = 10, ; + ForeColor = 0,0,0, ; + Margin = 0, ; + Name = "Text1", ; + ReadOnly = .T. + *< END OBJECT: BaseClass="textbox" /> + + ADD OBJECT '_pageframe1.Page2.grdUCategorii.cIdCategorie.Header1' AS header WITH ; + Alignment = 2, ; + Caption = "Id", ; + FontName = "Arial", ; + FontSize = 10, ; + Name = "Header1" + *< END OBJECT: BaseClass="header" /> + + ADD OBJECT '_pageframe1.Page2.grdUCategorii.cIdCategorie.Text1' AS textbox WITH ; + BackColor = 255,255,255, ; + BorderStyle = 0, ; + FontName = "Arial", ; + FontSize = 10, ; + ForeColor = 0,0,0, ; + Margin = 0, ; + Name = "Text1", ; + ReadOnly = .T. + *< END OBJECT: BaseClass="textbox" /> + + ADD OBJECT '_pageframe1.Page2.grdUCategorii.cOrdine.Header1' AS header WITH ; + Alignment = 2, ; + Caption = "Ordine", ; + FontName = "Arial", ; + FontSize = 10, ; + Name = "Header1" + *< END OBJECT: BaseClass="header" /> + + ADD OBJECT '_pageframe1.Page2.grdUCategorii.cOrdine.Text1' AS textbox WITH ; + BackColor = 255,255,255, ; + BorderStyle = 0, ; + FontName = "Arial", ; + FontSize = 10, ; + ForeColor = 0,0,0, ; + Margin = 0, ; + Name = "Text1" + *< END OBJECT: BaseClass="textbox" /> + + ADD OBJECT '_pageframe1.Page2.grdUSets' AS grid WITH ; + Anchor = 15, ; + ColumnCount = 2, ; + DeleteMark = .F., ; + FontSize = 10, ; + Height = 183, ; + HighlightBackColor = 60,115,200, ; + HighlightStyle = 2, ; + Left = 364, ; + Name = "grdUSets", ; + Panel = 1, ; + ReadOnly = .T., ; + RecordSource = "crsESets", ; + RowHeight = 19, ; + TabIndex = 14, ; + Top = 50, ; + Width = 211, ; + ZOrderSet = 0, ; + Column1.ControlSource = "nume_set", ; + Column1.FontName = "Arial", ; + Column1.FontSize = 10, ; + Column1.Name = "cNumeSet", ; + Column1.ReadOnly = .T., ; + Column1.Width = 299, ; + Column2.ControlSource = "id_set", ; + Column2.FontName = "Arial", ; + Column2.FontSize = 10, ; + Column2.Format = "R", ; + Column2.InputMask = "99999999", ; + Column2.Name = "cIdSet", ; + Column2.ReadOnly = .T., ; + Column2.Width = 69 + *< END OBJECT: BaseClass="grid" /> + + ADD OBJECT '_pageframe1.Page2.grdUSets.cIdSet.Header1' AS header WITH ; + Alignment = 2, ; + Caption = "Id", ; + FontName = "Arial", ; + FontSize = 10, ; + Name = "Header1" + *< END OBJECT: BaseClass="header" /> + + ADD OBJECT '_pageframe1.Page2.grdUSets.cIdSet.Text1' AS textbox WITH ; + BackColor = 255,255,255, ; + BorderStyle = 0, ; + FontName = "Arial", ; + FontSize = 10, ; + ForeColor = 0,0,0, ; + Margin = 0, ; + Name = "Text1", ; + ReadOnly = .T. + *< END OBJECT: BaseClass="textbox" /> + + ADD OBJECT '_pageframe1.Page2.grdUSets.cNumeSet.Header1' AS header WITH ; + Alignment = 2, ; + Caption = "Nume", ; + FontName = "Arial", ; + FontSize = 10, ; + Name = "Header1" + *< END OBJECT: BaseClass="header" /> + + ADD OBJECT '_pageframe1.Page2.grdUSets.cNumeSet.Text1' AS textbox WITH ; + BackColor = 255,255,255, ; + BorderStyle = 0, ; + FontName = "Arial", ; + FontSize = 10, ; + ForeColor = 0,0,0, ; + Margin = 0, ; + Name = "Text1", ; + ReadOnly = .T. + *< END OBJECT: BaseClass="textbox" /> + + ADD OBJECT '_pageframe1.Page2.lblCategorie' AS _label WITH ; + Anchor = 6, ; + Caption = "Categorie", ; + FontBold = .T., ; + Left = 17, ; + Name = "lblCategorie", ; + TabIndex = 22, ; + Top = 325, ; + ZOrderSet = 7 + *< END OBJECT: ClassLib="_baza.vcx" BaseClass="label" /> + + ADD OBJECT '_pageframe1.Page2.lblCategorii' AS _label WITH ; + Caption = "Categorii", ; + FontBold = .T., ; + Left = 17, ; + Name = "lblCategorii", ; + TabIndex = 19, ; + Top = 19, ; + ZOrderSet = 2 + *< END OBJECT: ClassLib="_baza.vcx" BaseClass="label" /> + + ADD OBJECT '_pageframe1.Page2.lblNote' AS _label WITH ; + Anchor = 6, ; + Caption = "Note", ; + FontBold = .T., ; + Height = 18, ; + Left = 364, ; + Name = "lblNote", ; + TabIndex = 20, ; + Top = 245, ; + Width = 31, ; + ZOrderSet = 3 + *< END OBJECT: ClassLib="_baza.vcx" BaseClass="label" /> + + ADD OBJECT '_pageframe1.Page2.lblOrdine' AS _label WITH ; + Anchor = 6, ; + Caption = "Ordine", ; + FontBold = .T., ; + Left = 17, ; + Name = "lblOrdine", ; + TabIndex = 23, ; + Top = 355, ; + ZOrderSet = 8 + *< END OBJECT: ClassLib="_baza.vcx" BaseClass="label" /> + + ADD OBJECT '_pageframe1.Page2.lblRequest' AS _label WITH ; + Anchor = 8, ; + AutoSize = .F., ; + Caption = "Cerere date", ; + FontBold = .T., ; + Height = 17, ; + Left = 579, ; + Name = "lblRequest", ; + TabIndex = 20, ; + Top = 19, ; + Width = 260, ; + ZOrderSet = 3 + *< END OBJECT: ClassLib="_baza.vcx" BaseClass="label" /> + + ADD OBJECT '_pageframe1.Page2.lblSets' AS _label WITH ; + Caption = "Seturi", ; + FontBold = .T., ; + Left = 364, ; + Name = "lblSets", ; + TabIndex = 20, ; + Top = 19, ; + ZOrderSet = 3 + *< END OBJECT: ClassLib="_baza.vcx" BaseClass="label" /> + + ADD OBJECT '_pageframe1.Page2.spnOrdine' AS _spinner WITH ; + Anchor = 6, ; + Format = "R", ; + Height = 24, ; + Increment = 1.00, ; + InputMask = "999999", ; + KeyboardHighValue = 100000, ; + KeyboardLowValue = 1, ; + Left = 79, ; + Name = "spnOrdine", ; + ReadOnly = .T., ; + SpinnerHighValue = 1000000.00, ; + SpinnerLowValue = 1.00, ; + TabIndex = 6, ; + Top = 351, ; + Width = 63, ; + ZOrderSet = 5 + *< END OBJECT: ClassLib="_baza.vcx" BaseClass="spinner" /> + + ADD OBJECT '_pageframe1.Page2.txtCategorie' AS _textbox WITH ; + Anchor = 6, ; + Format = "!K", ; + Height = 23, ; + Left = 79, ; + Name = "txtCategorie", ; + ReadOnly = .T., ; + TabIndex = 5, ; + Top = 322, ; + Width = 264, ; + ZOrderSet = 4 + *< END OBJECT: ClassLib="_baza.vcx" BaseClass="textbox" /> + + PROCEDURE actualizeaza_grid1 + LPARAMETERS pcFiltru + + LOCAL lcFiltru + lcFiltru = pcFiltru + IF EMPTY(lcFiltru) + lcFiltru = poNote_vanzari.ca_baza1.cfiltru + ENDIF + + save_grid_tag(thisform._pageframe1.page1.gridNote) + poNote_vanzari.ca_baza1.cfiltru = lcFiltru + poNote_vanzari.ca_baza1.afisare() + restore_grid_tag(thisform._pageframe1.page1.gridNote) + thisform._pageframe1.page1.gridNote.refresh + + + ENDPROC + + PROCEDURE actualizeaza_grid2 + LPARAMETERS pcFiltru + + LOCAL lcFiltru + lcFiltru=pcFiltru + IF EMPTY(lcFiltru) + lcFiltru = ponote_contab.ca_baza1.cfiltru + ENDIF + save_grid_tag(thisform._pageframe1.page1.gridInregistrari) + ponote_contab.ca_baza1.cfiltru=lcFiltru + ponote_contab.ca_baza1.afisare() + restore_grid_tag(thisform._pageframe1.page1.gridInregistrari) + thisform._pageframe1.page1.gridInregistrari.refresh + ENDPROC + + PROCEDURE creeaza_cursor + If Used('crscoloane') + Use In crscoloane + Endif + lcSql = [select id_jtva_coloana,denumire as explicatie_tva,cota_tva ] + ; + [from ] + gcS + [.vjtva_coloane where id_jtva_coloana > 0 order by ordine] + lnSucces = goExecutor.oExecute(lcSql,[crscoloane]) + If lnSucces < 0 + amessagebox(goExecutor.cEroare,0+64,"Eroare") + Endif + ENDPROC + + PROCEDURE do_actualizeaza_gridcategorii + save_grid_tag(Thisform._pageframe1.page2.grdUCategorii) + poCategorii.ca_baza1.cfiltru = "" + poCategorii.ca_baza1.afisare() + restore_grid_tag(Thisform._pageframe1.page2.grdUCategorii) + ENDPROC + + PROCEDURE do_actualizeaza_gridnote + Local lcfiltru, loSet + loSet = Thisform.oSet + + lcfiltru = [a.id_set = ] + Alltrim(Str(m.loSet.id_set)) + save_grid_tag(Thisform._pageframe1.page2.grdNote) + + poNote.ca_baza1.cfiltru = m.lcfiltru + poNote.ca_baza1.afisare() + restore_grid_tag(Thisform._pageframe1.page2.grdNote) + + Go Top In crsENote + ENDPROC + + PROCEDURE do_actualizeaza_gridrequest + Local lcfiltru, loSet + loSet = Thisform.oSet + + lcfiltru = [r.id_set = ] + Alltrim(Str(m.loSet.id_set)) + save_grid_tag(Thisform._pageframe1.page2.grdRequest) + + poRequest.ca_baza1.cfiltru = m.lcfiltru + poRequest.ca_baza1.afisare() + restore_grid_tag(Thisform._pageframe1.page2.grdRequest) + + Go Top In crsERequest + ENDPROC + + PROCEDURE do_actualizeaza_gridset + Local lcfiltru, lnIdCategorie + lnIdCategorie = Thisform.oCategorie.id_categorie + lcfiltru = [NVL(id_categorie, 0) = ] + Str(Nvl(Thisform.oCategorie.id_categorie, 0)) + + save_grid_tag(Thisform._pageframe1.page2.grdUSets) + + poSets.ca_baza1.cfiltru = m.lcfiltru + poSets.ca_baza1.afisare() + restore_grid_tag(Thisform._pageframe1.page2.grdUSets) + + Go Top In crsESets + + ENDPROC + + PROCEDURE do_adauga + If Thisform.lcrm + Select nom_meniu + Scatter Name loRec Blank + + Do Adauga_Modifica_Inregistrare With "note_crm",loRec,,"INSERT" + If gnButon = 1 + This.actualizeaza_grid1() + Select nom_meniu + Locate For meniu = loRec.meniu + Endif + Thisform._pageframe1.page1.gridNote.SetFocus() + Thisform._pageframe1.page1.gridNote.Refresh + Endif + ENDPROC + + PROCEDURE do_adauga_categorie + Local loCategorie, lnOrdine + + SELECT crsECategorii + SCATTER NAME loCategorie BLANK + loCategorie.categorie = "Categorie noua..." + CALCULATE MAX(ordine) TO loCategorie.ordine IN crsECategorii + loCategorie.ordine = loCategorie.ordine + 1 + + Thisform.oCategorie = loCategorie + Thisform.lEditModeCategorii = .T. + ENDPROC + + PROCEDURE do_adauga_ireg + Local lcTabel + + lcTabel = Thisform._pageframe1.page1.gridNote.RecordSource + Select (lcTabel) + Scatter Name poNotaIdSet + + Select cnote_contab + Go Bottom + Scatter Name loUltRec + Scatter Name loRec Memo Blank + loRec.ordine = loUltRec.ordine + 1 + loRec.id_set = poNotaIdSet.id_set + loRec.cu_tva = 1 + loRec.in_valuta = 0 + Store .Null. To loRec.ptva + + Release loUltRec + + Thisform.creeaza_cursor() + Do Adauga_Modifica_Inregistrare With "note_contabile2007",loRec,,"INSERT" + If Used('crscoloane') + Use In crscoloane + Endif + If gnButon = 1 + This.actualizeaza_grid2() + ENDIF + + ENDPROC + + PROCEDURE do_adauga_set + Local loxSet As "oxSet" + Local llSucces, lnIdSet + + loxSet = Createobject("oxSet") && ocont2003.prg + llSucces = loxSet.Edit() + lnIdSet = loxSet.nIdSet + + If m.llSucces + This.RefreshData('SET', m.lnIdSet) + Endif + ENDPROC + + PROCEDURE do_copie_set + Local lcSql, llSucces + Private pnIdSet, pnIdSetNou + pnIdSet = This.oSet.id_set + pnIdSetNou = 0 + + lcSql = [begin pack_seturi.copie_set(?pnIdSet, ?@pnIdSetNou, ?gnIdUtil); end;] + llSucces = goExecutor.oExecuta(m.lcSql) + If m.llSucces + This.do_Actualizeaza_gridset() + Endif + ENDPROC + + PROCEDURE do_editeaza_set + IF !PEMSTATUS(this.oSet, "lEditare", 5) + ADDPROPERTY(this.oset, "lEditare", .T.) + + this.oSet.lEditare = .T. + + ENDIF + + DO note_fara_predefinire WITH This.oSet.id_set, This.oSet IN ocont2003.prg + This.RefreshData('NOTE') + + + + ENDPROC + + PROCEDURE do_modifica + If Reccount('nom_meniu')>0 + Select nom_meniu + Scatter Name loRec + + Do Adauga_Modifica_Inregistrare With "note_crm",loRec,loRec.id_nota,"UPDATE" + If gnButon = 1 + This.actualizeaza_grid1() + Select nom_meniu + Locate For id_nota = loRec.id_nota + Endif + Thisform._pageframe1.page1.gridNote.SetFocus() + Else + amessagebox("Nu sunt inregistrari de modificat!",0+48,"Atentie") + Endif + + ENDPROC + + PROCEDURE do_modifica_categorie + *** nu se modifica categoria virtuala FARA CATEGORIE + IF NVL(This.oCategorie.id_categorie, 0) = 0 + RETURN + ENDIF + Thisform.lEditModeCategorii = .T. + ENDPROC + + PROCEDURE do_modifica_ireg + If Reccount('cnote_contab')>0 + Select cnote_contab + Scatter Name loRec + + Thisform.creeaza_cursor() + Do Adauga_Modifica_Inregistrare With "note_contabile2007",loRec,loRec.Id_note,"UPDATE" + If Used('crscoloane') + Use In crscoloane + Endif + If gnButon = 1 + Thisform.actualizeaza_grid2() + Endif + Else + amessagebox("Nu sunt inregistrari de modificat!",0+48,"Atentie") + Endif + + ENDPROC + + PROCEDURE do_modifica_set + *!* Thisform.lEditModeSeturi = .T. + Local loxSet As "oxSet" + Local lcSql, llSucces, lnIdSet, loSet + + loSet = This.oSet + lnIdSet = m.loSet.id_set + + SET STEP ON + loxSet = Createobject("oxSet", m.lnIdSet) && ocont2003.prg + llSucces = loxSet.Edit() + + If m.llSucces + IF loxSet.nIdSet = m.lnIdSet + This.RefreshData('SET', m.lnIdSet) + ELSE + This.RefreshData('CATEGORIE', loxSet.nIdSet) + ENDIF + Endif + ENDPROC + + PROCEDURE do_reface + *!* If aMESSAGEBOX("Aceasta operatie va sterge configuratia actuala a notelor contabile!" + ; + *!* CHR(13) + Chr(10) + "Doriti sa continuati?",4+32,"Refacere") = 6 + + *!* lcComanda1 = [delete from ] + gcS + [.note_contabile] + *!* lnSucces1 = goExecutor.oExecute(lcComanda1) + *!* If lnSucces1 < 0 + *!* aMESSAGEBOX('Delete from note_contabile:'+goExecutor.cEroare,0+16,'Eroare') + *!* Return + *!* Endif + + *!* lcComanda2 = [insert into ] + gcS + [.note_contabile (explicatie,scd,ascd,scc,ascc,in_valuta,cu_tva,id_set,ordine,ptva) (select explicatie,scd,ascd,scc,ascc,in_valuta,cu_tva,id_set,ordine,ptva from note_contabile)] + *!* lnSucces2 = goExecutor.oExecute(lcComanda2) + *!* If lnSucces2 < 0 + *!* aMESSAGEBOX('Insert into note_contabile:' + goExecutor.cEroare,0+16,'Eroare') + *!* Return + *!* Endif + + *!* Select ctva + *!* Locate For 'STANDARD' $ Upper(TVA) + *!* If Found() + *!* lnProcent = ptva + *!* lcComanda2 = [UPDATE ] + gcS + [.note_contabile set ptva = ?lnProcent] + *!* lnSucces2 = goExecutor.oExecute(lcComanda2) + *!* If lnSucces2 < 0 + *!* aMESSAGEBOX('Update note_contabile:'+goExecutor.cEroare,0+16,'Eroare') + *!* Endif + *!* Endif + + *!* lctitlu = [Refacere] + *!* lcimagine = [info_c.ico] + *!* lctip = [Informare] + *!* lcmesaj1 = [Actualizarea s-a terminat!] + + *!* ofrm_mesaj = Createobject([frm_mesaj],lctitlu,lcimagine,lctip,lcmesaj1) + *!* ofrm_mesaj.Show(1) + *!* Release ofrm_mesaj + *!* *DO mesaj WITH 'Actualizarea s-a terminat!','' + + *!* This.actualizeaza_grid2 + *!* Endif + ENDPROC + + PROCEDURE do_sterge + If Reccount('nom_meniu')>0 + Select nom_meniu + Scatter Name loRec + Do STERGE_INREGISTRARE With "note_crm",loRec.id_nota + This.actualizeaza_grid1() + Else + amessagebox("Nu sunt inregistrari de sters!",0+48,"Atentie") + Endif + ENDPROC + + PROCEDURE do_sterge_categorie + PRIVATE pnIdCategorie + Local lcCategorie, llCategorieUtilizata, lnCategorieId, lnRaspuns, lcSelect + lcSelect = SELECT() + pnIdCategorie = This.oCategorie.id_categorie + lcCategorie = ALLTRIM(This.oCategorie.categorie) + lnRaspuns = 6 + + SELECT COUNT(*) as nr FROM crsESets WHERE id_categorie = m.pnIdCategorie INTO CURSOR crsESetsTemp + llCategorieUtilizata = (NVL(crsESetsTemp.nr, 0) > 0) + USE IN (SELECT("crsESetsTemp")) + IF m.llCategorieUtilizata + lnRaspuns = AMESSAGEBOX("Categoria " + m.lcCategorie + " are asociate seturi." + CHR(13) + CHR(10) + ; + "Doriti sa o stergeti?",4+32, _screen.Caption) + ELSE + lnRaspuns = AMESSAGEBOX("Doriti sa stergeti categoria " + m.lcCategorie + "?",4+32, _screen.Caption) + ENDIF + IF m.lnRaspuns = 6 + lcSql = [begin pack_seturi.sterge_categorie(?pnIdCategorie, ?gnIdUtil); end;] + llSucces = goExecutor.oExecuta(m.lcSql) + IF m.llSucces + SELECT crsECategorii + DELETE + LOCATE && nu se facea refresh la inregistrarile sterse + + save_grid_tag(thisform._pageframe1.page2.grdUSets) + poSets.ca_baza1.afisare() + restore_grid_tag(thisform._pageframe1.page2.grdUSets) + + This._pageframe1.page2.grdUCategorii.SetFocus() + ENDIF + ENDIF + + SELECT (m.lcSelect) + ENDPROC + + PROCEDURE do_sterge_ireg + If Reccount('cnote_contab')>0 + Select cnote_contab + Scatter Name lorec + + Do STERGE_INREGISTRARE With "note_contabile2007",lorec.id_note + If gnButon = 1 + This.actualizeaza_grid2() + Endif + Else + amessagebox("Nu sunt inregistrari de sters!",0+48,"Atentie") + Endif + + ENDPROC + + PROCEDURE do_sterge_set + Local lcSelect, lcSet, lnRaspuns + Local lcSql, llSucces, lnIdSet + + lcSelect = Select() + lnIdSet = This.oSet.id_set + lcSet = Alltrim(This.oSet.nume_set) + lnRaspuns = 6 + + lnRaspuns = AMESSAGEBOX([Doriti sa stergeti setul de note "] + m.lcSet + ["?], 4 + 32, _Screen.Caption) + + If m.lnRaspuns = 6 + loxSet = Createobject("oxSet", m.lnIdSet, .T.) && ocont2003.prg + llSucces = loxSet.Delete() + + If m.llSucces + This.RefreshData('SET', m.lnIdSet) + Endif + + Endif + + + Select (m.lcSelect) + ENDPROC + + PROCEDURE Init + Parameters tlCRM + DoDefault() + + Thisform.lCRM = tlCRM + Thisform.lactiv3 = Thisform.lCRM + Thisform.lactiv4 = Thisform.lCRM + Thisform._pageframe1.page2.Enabled = !Thisform.lCRM + Thisform._pageframe1.page1.but_nou1.Visible = Thisform.lCRM + Thisform._pageframe1.page1.but_modifica1.Visible = Thisform.lCRM + Thisform._pageframe1.page1.but_sterge1.Visible = Thisform.lCRM + + Thisform._pageframe1.page1.gridNote.SetFocus() + + + This.RefreshData() + With This._pageframe1.page2 + .txtCategorie.ControlSource = "Thisform.oCategorie.categorie" + .spnOrdine.ControlSource = "Thisform.oCategorie.ordine" + + + .grdUCategorii.SetFocus() + ENDWITH + + this.WindowState = 2 + ENDPROC + + PROCEDURE leditmodecategorii_assign + lparameters tlEditModeCategorii + This.lEditModeCategorii = tlEditModeCategorii + WITH This._pageframe1.page2 + .txtCategorie.ReadOnly = !m.tlEditModeCategorii + .spnOrdine.ReadOnly = !m.tlEditModeCategorii + .grdUCategorii.enabled = !m.tlEditModeCategorii + .but_nou1.Visible = !m.tlEditModeCategorii + .but_modifica1.Visible = !m.tlEditModeCategorii + .but_sterge1.Visible = !m.tlEditModeCategorii + .but_salveaza1.Visible = m.tlEditModeCategorii + .but_renunt3.Visible = m.tlEditModeCategorii + IF m.tlEditModeCategorii + .spnOrdine.Refresh() + .txtCategorie.SetFocus() + ELSE + .grdUCategorii.SetFocus() + ENDIF + .grdUCategorii.Refresh() + ENDWITH + + ENDPROC + + PROCEDURE leditmodeseturi_assign + lparameters tlEditModeSeturi + This.lEditModeSeturi = tlEditModeSeturi + WITH This._pageframe1.page2 + .grdUsets.enabled = !m.tlEditModeSeturi + .but_nou2.Visible = !m.tlEditModeSeturi + .but_copiaza2.Visible = !m.tlEditModeSeturi + .but_modifica2.Visible = !m.tlEditModeSeturi + .but_sterge2.Visible = !m.tlEditModeSeturi + .but_editeazaset.Visible = !m.tlEditModeSeturi + .but_salveaza2.Visible = m.tlEditModeSeturi + .but_renunt2.Visible = m.tlEditModeSeturi + IF m.tlEditModeSeturi + .txtSet.SetFocus() + ELSE + .grdUsets.SetFocus() + ENDIF + .grdUsets.Refresh() + ENDWITH + ENDPROC + + PROCEDURE refacere_tabel + ENDPROC + + PROCEDURE refreshdata + Lparameters tcTip, tnIdTip + *** tcTip: CATEGORIE/SET + *** tnIdTip: ID_CATEGORIE/ID_SET + + Local loCategorie, lcFilter + lcSelect = Select() + loPage2 = this._pageframe1.page2 + lcTip = IIF(TYPE('tcTip') = 'C', UPPER(ALLTRIM(m.tcTip)), 'CATEGORIE') + + Do Case + Case m.lcTip = 'SET' + llCategorie = .F. + llSet = .T. + llNote = .T. + Case m.lcTip = 'CATEGORIE' + llCategorie = .T. + llSet = .T. + llNote = .T. + Otherwise && NOTE + llCategorie = .F. + llSet = .F. + llNote = .T. + ENDCASE + + If m.llCategorie + Thisform.do_actualizeaza_gridcategorii() + + Select crsECategorii + If Type('tnIdTip') = 'N' + Locate For id_categorie = m.tnIdTip + If !Found() + Go Top + Endif + Else + Go Top + Endif + ENDIF + + Select crsECategorii + Scatter Name Thisform.oCategorie + lcCategorie = ALLTRIM(NVL(categorie, '')) + + *loPage2.lblSets.Caption = 'Seturi ' + m.lcCategorie + loPage2.txtCategorie.Refresh() + loPage2.spnOrdine.Refresh() + + + If m.llSet + Thisform.do_actualizeaza_gridset() + + Select crsESets + If Type('tnIdTip') = 'N' + Locate For id_SET = m.tnIdTip + If !Found() + Go Top + Endif + Else + Go Top + ENDIF + + Select crsESets + Scatter Name Thisform.oSet + + Thisform.do_actualizeaza_gridrequest() + ENDIF + + Select crsESets + Scatter Name Thisform.oSet + lcSet = ALLTRIM(NVL(nume_set, '')) + *loPage2.lblNote.Caption = 'Note ' + m.lcSet + *loPage2.lblRequest.Caption = 'Cerere date ' + m.lcSet + + If m.llNote + Thisform.do_actualizeaza_gridnote() + Thisform.do_actualizeaza_gridrequest() + ENDIF + + Select (m.lcSelect) + + ENDPROC + + PROCEDURE _pageframe1.Page1.gridInregistrari.Init + DoDefault() + This.SetAll("ReadOnly",.T.,"Column") + ENDPROC + + PROCEDURE _pageframe1.Page1.gridNote.AfterRowColChange + Lparameters nColIndex + If This.RowColChange <> 3 + Select nom_meniu + lcFiltru = [ id_set = ] + Alltrim(Str(Nvl(id_set,0))) + Thisform.actualizeaza_grid2(lcFiltru) + Endif + + ENDPROC + + PROCEDURE _pageframe1.Page1.gridNote.Init + This.SetAll("ReadOnly",.T.,"Column") + ENDPROC + + PROCEDURE _pageframe1.Page2.But_renunt3.Click + Thisform.lEditModeCategorii = .F. + ENDPROC + + PROCEDURE _pageframe1.Page2.But_salveaza1.Click + PRIVATE pcCategorie, pnOrdine, pnIdCategorie + Local lcSelect, lcSql, llSucces, loCategorie + + lcSelect = SELECT() + loCategorie = Thisform.oCategorie + + pcCategorie = ALLTRIM(Thisform.oCategorie.categorie) + pnOrdine = Thisform.oCategorie.ordine + pnIdCategorie = Thisform.oCategorie.id_categorie + + lcSql = [begin pack_seturi.modifica_categorie(?@pnIdCategorie, ?pcCategorie, ?pnOrdine, ?gnIdUtil); end;] + llSucces = goExecutor.oExecuta(m.lcSql) + + SELECT (m.lcSelect) + IF m.llSucces + Thisform.RefreshData('CATEGORIE', m.pnIdCategorie) + Thisform.lEditModeCategorii = .F. + ENDIF + + ENDPROC + + PROCEDURE _pageframe1.Page2.grdUCategorii.AfterRowColChange + LPARAMETERS nColIndex + IF INLIST(This.RowColChange, 1, 3) + Thisform.RefreshData('SET') + ENDIF + ENDPROC + + PROCEDURE _pageframe1.Page2.grdUSets.AfterRowColChange + LPARAMETERS nColIndex + + IF INLIST(This.RowColChange, 1, 3) + Thisform.RefreshData('NOTE') + ENDIF + ENDPROC + +ENDDEFINE + +DEFINE CLASS frm_note_contabile2007_nou AS _frmbase OF "_frm_base.vcx" + *< CLASSDATA: Baseclass="form" Timestamp="" Scale="Pixels" Uniqueid="" /> + + *-- OBJECTDATA items order determines ZOrder / El orden de los items OBJECTDATA determina el ZOrder + *< OBJECTDATA: ObjPath="Shape4" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="Shape1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="Shape2" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="Shape3" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="Shape5" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="Shape6" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="lbl_text2" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="_lbbase4" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="_lbbase1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="_lbbase3" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="txt_explicatie" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="txt_scd" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="txt_scc" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="But_renunt1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="chk_cu_tva" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="cbo_ptva" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="_checkbox1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="_lbbase5" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="txt_ascc" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="_lbbase6" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="txt_ascd" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="But_renunt2" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="Cus_odata_note_contabile20071" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="Ct_clb_cautare_var1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="Ct_clb_cautare_var2" UniqueID="" Timestamp="" /> + + * + *m: cont_are_partener + *m: do_alege_partener + *p: nid + *p: orec + * + + * + BorderStyle = 1 + DataSession = 1 + DoCreate = .T. + Height = 282 + Name = "frm_note_contabile2007_nou" + Width = 345 + _shape1.Name = "_shape1" + _shape1.ZOrderSet = 4 + _shape2.Height = 29 + _shape2.Left = 284 + _shape2.Name = "_shape2" + _shape2.Top = 0 + _shape2.Width = 62 + _shape2.ZOrderSet = 5 + Lb_titlu_alb_b121.Caption = "Note contabile" + Lb_titlu_alb_b121.Name = "Lb_titlu_alb_b121" + Lb_titlu_alb_b121.TabIndex = 15 + Lb_titlu_alb_b121.ZOrderSet = 6 + BUT_TERMIN1.Left = 315 + BUT_TERMIN1.Name = "BUT_TERMIN1" + BUT_TERMIN1.TabIndex = 11 + BUT_TERMIN1.Top = 1 + BUT_TERMIN1.ZOrderSet = 12 + Gridsort1.Name = "Gridsort1" + * + + ADD OBJECT '_checkbox1' AS _checkbox WITH ; + Alignment = 0, ; + Caption = "Se înregistreazã suma în valutã", ; + ControlSource = "porec.in_valuta", ; + Left = 18, ; + Name = "_checkbox1", ; + TabIndex = 10, ; + Top = 246, ; + ZOrderSet = 15 + *< END OBJECT: ClassLib="_baza.vcx" BaseClass="checkbox" /> + + ADD OBJECT '_lbbase1' AS _lbbase WITH ; + Alignment = 0, ; + AutoSize = .F., ; + BackColor = 255,255,255, ; + BackStyle = 1, ; + BorderStyle = 0, ; + Caption = "Cont debitor:", ; + FontName = "Arial", ; + FontSize = 9, ; + Height = 18, ; + Left = 15, ; + Name = "_lbbase1", ; + TabIndex = 17, ; + Top = 77, ; + Width = 80, ; + ZOrderSet = 8 + *< END OBJECT: ClassLib="_lb_base.vcx" BaseClass="label" /> + + ADD OBJECT '_lbbase3' AS _lbbase WITH ; + Alignment = 0, ; + AutoSize = .F., ; + BackColor = 255,255,255, ; + BackStyle = 1, ; + BorderStyle = 0, ; + Caption = "Cont creditor:", ; + FontName = "Arial", ; + FontSize = 9, ; + Height = 18, ; + Left = 16, ; + Name = "_lbbase3", ; + TabIndex = 19, ; + Top = 109, ; + Width = 80, ; + ZOrderSet = 9 + *< END OBJECT: ClassLib="_lb_base.vcx" BaseClass="label" /> + + ADD OBJECT '_lbbase4' AS _lbbase WITH ; + Alignment = 0, ; + AutoSize = .F., ; + BackColor = 255,255,255, ; + BackStyle = 1, ; + BorderStyle = 0, ; + Caption = "Explicaþie TVA", ; + FontName = "Arial", ; + FontSize = 9, ; + Height = 18, ; + Left = 84, ; + Name = "_lbbase4", ; + TabIndex = 13, ; + Top = 216, ; + Width = 86, ; + ZOrderSet = 8 + *< END OBJECT: ClassLib="_lb_base.vcx" BaseClass="label" /> + + ADD OBJECT '_lbbase5' AS _lbbase WITH ; + Alignment = 0, ; + AutoSize = .F., ; + BackColor = 255,255,255, ; + BackStyle = 1, ; + BorderStyle = 0, ; + Caption = "Analitic cred.:", ; + FontName = "Arial", ; + FontSize = 9, ; + Height = 18, ; + Left = 177, ; + Name = "_lbbase5", ; + TabIndex = 18, ; + Top = 109, ; + Width = 86, ; + ZOrderSet = 9 + *< END OBJECT: ClassLib="_lb_base.vcx" BaseClass="label" /> + + ADD OBJECT '_lbbase6' AS _lbbase WITH ; + Alignment = 0, ; + AutoSize = .F., ; + BackColor = 255,255,255, ; + BackStyle = 1, ; + BorderStyle = 0, ; + Caption = "Analitic deb.:", ; + FontName = "Arial", ; + FontSize = 9, ; + Height = 18, ; + Left = 177, ; + Name = "_lbbase6", ; + TabIndex = 20, ; + Top = 79, ; + Width = 80, ; + ZOrderSet = 9 + *< END OBJECT: ClassLib="_lb_base.vcx" BaseClass="label" /> + + ADD OBJECT 'But_renunt1' AS but_renunt WITH ; + Left = 285, ; + Name = "But_renunt1", ; + TabIndex = 14, ; + Top = 1, ; + ZOrderSet = 14 + *< END OBJECT: ClassLib="cmd_butoane.vcx" BaseClass="commandbutton" /> + + ADD OBJECT 'But_renunt2' AS but_renunt WITH ; + Left = 284, ; + Name = "But_renunt2", ; + TabIndex = 12, ; + Top = 1 + *< END OBJECT: ClassLib="cmd_butoane.vcx" BaseClass="commandbutton" /> + + ADD OBJECT 'cbo_ptva' AS _combobox WITH ; + BoundColumn = 1, ; + BoundTo = .T., ; + ColumnCount = 2, ; + ColumnLines = .F., ; + ColumnWidths = "300,20,0", ; + ControlSource = "porec.explicatie_tva", ; + Height = 23, ; + Left = 173, ; + Name = "cbo_ptva", ; + RowSource = "crscoloane.explicatie_tva,cota_tva,id_jtva_coloana", ; + RowSourceType = 2, ; + TabIndex = 9, ; + Top = 213, ; + Width = 157, ; + ZOrderSet = 16 + *< END OBJECT: ClassLib="_baza.vcx" BaseClass="combobox" /> + + ADD OBJECT 'chk_cu_tva' AS _checkbox WITH ; + Alignment = 0, ; + Caption = "Cu TVA", ; + ControlSource = "porec.cu_tva", ; + Left = 18, ; + Name = "chk_cu_tva", ; + TabIndex = 8, ; + Top = 215, ; + ZOrderSet = 15 + *< END OBJECT: ClassLib="_baza.vcx" BaseClass="checkbox" /> + + ADD OBJECT 'Ct_clb_cautare_var1' AS ct_clb_cautare_var WITH ; + cconditie = 1=2, ; + cprocedura = thisform.do_alege_partener(1), ; + cvar_afisata = porec.partd, ; + Height = 31, ; + Left = 11, ; + Name = "Ct_clb_cautare_var1", ; + TabIndex = 6, ; + Top = 142, ; + Width = 327, ; + shape_cautare.Height = 29, ; + shape_cautare.Left = 1, ; + shape_cautare.Name = "shape_cautare", ; + shape_cautare.Top = 1, ; + shape_cautare.Width = 283, ; + img_cautare.Left = 301, ; + img_cautare.Name = "img_cautare", ; + img_cautare.Top = 5, ; + lb_cautare.Caption = "Partener debit", ; + lb_cautare.Name = "lb_cautare", ; + tx_cautare.Left = 95, ; + tx_cautare.Name = "tx_cautare", ; + tx_cautare.Top = 4 + *< END OBJECT: ClassLib="caut_ora.vcx" BaseClass="container" /> + + ADD OBJECT 'Ct_clb_cautare_var2' AS ct_clb_cautare_var WITH ; + cconditie = 1=2, ; + cprocedura = thisform.do_alege_partener(2), ; + cvar_afisata = porec.partc, ; + Height = 31, ; + Left = 11, ; + Name = "Ct_clb_cautare_var2", ; + TabIndex = 7, ; + Top = 170, ; + Width = 327, ; + shape_cautare.Height = 29, ; + shape_cautare.Left = 1, ; + shape_cautare.Name = "shape_cautare", ; + shape_cautare.Top = 1, ; + shape_cautare.Width = 283, ; + img_cautare.Left = 301, ; + img_cautare.Name = "img_cautare", ; + img_cautare.Top = 5, ; + lb_cautare.Caption = "Partener credit", ; + lb_cautare.Name = "lb_cautare", ; + tx_cautare.Left = 95, ; + tx_cautare.Name = "tx_cautare", ; + tx_cautare.Top = 4 + *< END OBJECT: ClassLib="caut_ora.vcx" BaseClass="container" /> + + ADD OBJECT 'Cus_odata_note_contabile20071' AS cus_odata_note_contabile2007 WITH ; + Left = 36, ; + Name = "Cus_odata_note_contabile20071", ; + Top = 24 + *< END OBJECT: ClassLib="onote_contabile.vcx" BaseClass="custom" /> + + ADD OBJECT 'lbl_text2' AS _lbbase WITH ; + Alignment = 0, ; + AutoSize = .F., ; + BackColor = 255,255,255, ; + BackStyle = 1, ; + BorderStyle = 0, ; + Caption = "Explicaþie:", ; + FontName = "Arial", ; + FontSize = 9, ; + Height = 18, ; + Left = 14, ; + Name = "lbl_text2", ; + TabIndex = 16, ; + Top = 50, ; + Width = 80, ; + ZOrderSet = 7 + *< END OBJECT: ClassLib="_lb_base.vcx" BaseClass="label" /> + + ADD OBJECT 'Shape1' AS shape WITH ; + BackStyle = 0, ; + BorderColor = 0,0,0, ; + BorderStyle = 1, ; + Height = 31, ; + Left = 11, ; + Name = "Shape1", ; + Top = 42, ; + Width = 323, ; + ZOrderSet = 1 + *< END OBJECT: BaseClass="shape" /> + + ADD OBJECT 'Shape2' AS shape WITH ; + BackStyle = 0, ; + BorderColor = 0,0,0, ; + BorderStyle = 1, ; + Height = 31, ; + Left = 11, ; + Name = "Shape2", ; + Top = 72, ; + Width = 162, ; + ZOrderSet = 2 + *< END OBJECT: BaseClass="shape" /> + + ADD OBJECT 'Shape3' AS shape WITH ; + BackStyle = 0, ; + BorderColor = 0,0,0, ; + BorderStyle = 1, ; + Height = 31, ; + Left = 11, ; + Name = "Shape3", ; + Top = 102, ; + Width = 162, ; + ZOrderSet = 3 + *< END OBJECT: BaseClass="shape" /> + + ADD OBJECT 'Shape4' AS shape WITH ; + BackStyle = 0, ; + BorderColor = 0,0,0, ; + BorderStyle = 1, ; + BorderWidth = 1, ; + Height = 63, ; + Left = 11, ; + Name = "Shape4", ; + Top = 209, ; + Width = 323, ; + ZOrderSet = 0 + *< END OBJECT: BaseClass="shape" /> + + ADD OBJECT 'Shape5' AS shape WITH ; + BackStyle = 0, ; + BorderColor = 0,0,0, ; + BorderStyle = 1, ; + Height = 31, ; + Left = 172, ; + Name = "Shape5", ; + Top = 102, ; + Width = 162, ; + ZOrderSet = 3 + *< END OBJECT: BaseClass="shape" /> + + ADD OBJECT 'Shape6' AS shape WITH ; + BackStyle = 0, ; + BorderColor = 0,0,0, ; + BorderStyle = 1, ; + Height = 31, ; + Left = 172, ; + Name = "Shape6", ; + Top = 72, ; + Width = 162, ; + ZOrderSet = 3 + *< END OBJECT: BaseClass="shape" /> + + ADD OBJECT 'txt_ascc' AS textbox WITH ; + ControlSource = "porec.ascc", ; + FontSize = 9, ; + Format = "k!", ; + Height = 23, ; + Left = 260, ; + Name = "txt_ascc", ; + TabIndex = 5, ; + Top = 106, ; + Width = 70, ; + ZOrderSet = 13 + *< END OBJECT: BaseClass="textbox" /> + + ADD OBJECT 'txt_ascd' AS textbox WITH ; + ControlSource = "porec.ascd", ; + FontSize = 9, ; + Format = "k!", ; + Height = 23, ; + Left = 260, ; + Name = "txt_ascd", ; + TabIndex = 3, ; + Top = 76, ; + Width = 70, ; + ZOrderSet = 13 + *< END OBJECT: BaseClass="textbox" /> + + ADD OBJECT 'txt_explicatie' AS textbox WITH ; + Comment = "", ; + ControlSource = "porec.explicatie", ; + FontSize = 9, ; + Format = "k!", ; + Height = 23, ; + Left = 97, ; + Name = "txt_explicatie", ; + TabIndex = 1, ; + Top = 46, ; + Width = 234, ; + ZOrderSet = 10 + *< END OBJECT: BaseClass="textbox" /> + + ADD OBJECT 'txt_scc' AS textbox WITH ; + ControlSource = "porec.scc", ; + FontSize = 9, ; + Format = "k!", ; + Height = 23, ; + Left = 99, ; + Name = "txt_scc", ; + TabIndex = 4, ; + Top = 106, ; + Width = 70, ; + ZOrderSet = 13 + *< END OBJECT: BaseClass="textbox" /> + + ADD OBJECT 'txt_scd' AS textbox WITH ; + ControlSource = "porec.scd", ; + FontSize = 9, ; + Format = "k!", ; + Height = 23, ; + Left = 98, ; + Name = "txt_scd", ; + TabIndex = 2, ; + Top = 76, ; + Width = 70, ; + ZOrderSet = 11 + *< END OBJECT: BaseClass="textbox" /> + + PROCEDURE cont_are_partener + LPARAMETERS tcCont + *!* verific daca contul are partener + LOCAL lnCount + PRIVATE pcCont + + + lnCount = 0 + pcCont = ALLTRIM(NVL(tcCont,'')) + + lcSql = [select COUNT(*) from config_cont_ireg where cont = ?pcCont] + lnSucces = goExecutor.oSelect2Value(lcSql,@lnCount) + + RETURN lnCount > 0 + + + ENDPROC + + PROCEDURE do_alege_partener + LPARAMETERS tnTip + * tnTip: 1=partener debit; 2=partener credit + LOCAL lcCont, loHash, loPartener + lcCont = "" + + IF EMPTY(tnTip) + tnTip = 1 + ENDIF + IF tnTip = 1 + lcCont = poRec.scd + ELSE + lcCont = poRec.scc + ENDIF + + loHash = GetHash() + WITH loHash + .SetValue("cTitlu", "Alegeþi partenerul") + .SetValue("cCont", lcCont) + ENDWITH + loPartener = CautPartenerContabilitate(loHash) + + IF !EMPTY(loPartener.id_part) + IF tnTip = 1 + poRec.partD = loPartener.nume + poRec.id_partd = loPartener.id_part + ELSE + poRec.partC = loPartener.nume + poRec.id_partc = loPartener.id_part + ENDIF + + ENDIF + ENDPROC + + PROCEDURE inainte_de_do_termin + Local PLRETURN + + + lccontrol = Upper(This.ActiveControl.BaseClass ) + If Inlist(lccontrol,"TEXTBOX","EDITBOX","COMBOBOX") + lcval=This.ActiveControl.ControlSource + &lcval=Thisform.ActiveControl.Value + Endif + + lctip = [Avertizare] + lcimagine = [exclam.ico] + + If Empty(porec.scd) AND !INLIST(LEFT(NVL(porec.scc,''),1), '8', '9') + amessagebox("Nu ati completat contul debitor!",0+48,"Atentie") + This.txt_scd.SetFocus() + Return .F. + Endif + + If !Empty(porec.scd) + Select cplcont + Locate For Alltrim(Cont) = Alltrim(porec.scd) + If !Found() + amessagebox("Contul debitor completat nu exista in planul de conturi!",0+48,"Atentie") + This.txt_scd.SetFocus() + Return .F. + Endif + Endif + + If !Empty(porec.ascd) And !Isnull(porec.ascd) + Select cplcont + Locate For Alltrim(Cont) = Alltrim(porec.scd) And Alltrim(ACONT) = Alltrim(porec.ascd) + If !Found() + amessagebox("Contul analitic debitor completat nu exista in planul de conturi!",0+48,"Atentie") + This.txt_ascd.SetFocus() + Return .F. + Endif + Endif + + If Empty(porec.scc) AND !INLIST(LEFT(NVL(porec.scd,''),1), '8', '9') + amessagebox("Nu ati completat contul creditor!",0+48,"Atentie") + This.txt_scc.SetFocus() + Return .F. + Endif + + If !Empty(porec.scc) + Select cplcont + Locate For Alltrim(Cont) = Alltrim(porec.scc) + If !Found() + amessagebox("Contul creditor completat nu exista in planul de conturi!",0+48,"Atentie") + This.txt_scc.SetFocus() + Return .F. + Endif + Endif + + + + If !Empty(porec.ascc) And !Isnull(porec.ascc) + Select cplcont + Locate For Alltrim(Cont) = Alltrim(porec.scc) And Alltrim(ACONT) = Alltrim(porec.ascc) + If !Found() + amessagebox("Contul analitic creditor completat nu exista in planul de conturi!",0+48,"Atentie") + This.txt_ascc.SetFocus() + Return .F. + Endif + Endif + + If porec.cu_tva = 1 And Isnull(porec.id_jtva_coloana) And Isnull(porec.ptva) + amessagebox("Nu ati completat explicatia TVA!",0+48,"Atentie") + Release ofrm_mesaj + Endif + + Return This.cus_odata_note_contabile20071.salvare(This.OREC,This.NID) + ENDPROC + + PROCEDURE Init + Lparameters toRec, tnId, tcActiune + DoDefault() + + Do Case + Case Upper(Alltrim(tcActiune)) = [INSERT] + This.lb_titlu_alb_b121.Caption = [Notã contabilã - Adãugare] + Case Upper(Alltrim(tcActiune)) = [UPDATE] + This.lb_titlu_alb_b121.Caption = [Notã contabilã - Modificare] + Endcase + + If This.chk_cu_tva.Value = 0 + This.cbo_ptva.Enabled = .F. + poRec.id_jtva_coloana = Null + poRec.ptva = 0 + Else + This.cbo_ptva.Enabled = .T. + Endif + + This.orec= toRec + This.nid = tnId + This.cus_odata_note_contabile20071.cactiune = tcActiune + ENDPROC + + PROCEDURE cbo_ptva.InteractiveChange + SELECT crscoloane + poRec.ptva = cota_tva + poRec.id_jtva_coloana = id_jtva_coloana + ENDPROC + + PROCEDURE chk_cu_tva.Valid + If This.Value = 0 + Store .Null. To porec.ptva + Thisform.cbo_ptva.Enabled = .F. + Thisform.cbo_ptva.Refresh + porec.id_jtva_coloana = Null + porec.ptva = 0 + Else + Thisform.cbo_ptva.Enabled = .T. + Endif + + ENDPROC + +ENDDEFINE + +DEFINE CLASS frm_note_contabile_nou AS _frmbase OF "_frm_base.vcx" + *< CLASSDATA: Baseclass="form" Timestamp="" Scale="Pixels" Uniqueid="" /> + + *-- OBJECTDATA items order determines ZOrder / El orden de los items OBJECTDATA determina el ZOrder + *< OBJECTDATA: ObjPath="Shape4" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="Shape1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="Shape2" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="Shape6" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="Shape5" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="Shape3" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="lbl_text2" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="_lbbase1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="_lbbase6" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="_lbbase5" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="_lbbase3" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="txt_explicatie" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="txt_ascd" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="txt_scd" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="txt_ascc" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="_lbbase4" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="txt_scc" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="But_renunt1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="_checkbox1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="chk_cu_tva" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="cbo_ptva" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="Cus_odata_note_contabile1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="But_renunt2" UniqueID="" Timestamp="" /> + + * + *p: nid + *p: orec + * + + * + BorderStyle = 1 + DataSession = 1 + Desktop = .T. + DoCreate = .T. + Height = 215 + Name = "frm_note_contabile_nou" + Width = 345 + _shape1.Name = "_shape1" + _shape1.ZOrderSet = 4 + _shape2.Height = 29 + _shape2.Left = 284 + _shape2.Name = "_shape2" + _shape2.Top = 0 + _shape2.Width = 62 + _shape2.ZOrderSet = 5 + Lb_titlu_alb_b121.Caption = "Note contabile" + Lb_titlu_alb_b121.Name = "Lb_titlu_alb_b121" + Lb_titlu_alb_b121.TabIndex = 11 + Lb_titlu_alb_b121.ZOrderSet = 6 + BUT_TERMIN1.Left = 315 + BUT_TERMIN1.Name = "BUT_TERMIN1" + BUT_TERMIN1.TabIndex = 9 + BUT_TERMIN1.Top = 1 + BUT_TERMIN1.ZOrderSet = 12 + Gridsort1.Name = "Gridsort1" + * + + ADD OBJECT '_checkbox1' AS _checkbox WITH ; + Alignment = 0, ; + Caption = "Se înregistreazã suma în valutã", ; + ControlSource = "porec.in_valuta", ; + Left = 18, ; + Name = "_checkbox1", ; + TabIndex = 8, ; + Top = 177, ; + ZOrderSet = 15 + *< END OBJECT: ClassLib="_baza.vcx" BaseClass="checkbox" /> + + ADD OBJECT '_lbbase1' AS _lbbase WITH ; + Alignment = 0, ; + AutoSize = .F., ; + BackColor = 255,255,255, ; + BackStyle = 1, ; + BorderStyle = 0, ; + Caption = "Cont debitor:", ; + FontName = "Arial", ; + FontSize = 9, ; + Height = 18, ; + Left = 15, ; + Name = "_lbbase1", ; + TabIndex = 13, ; + Top = 77, ; + Width = 80, ; + ZOrderSet = 8 + *< END OBJECT: ClassLib="_lb_base.vcx" BaseClass="label" /> + + ADD OBJECT '_lbbase3' AS _lbbase WITH ; + Alignment = 0, ; + AutoSize = .F., ; + BackColor = 255,255,255, ; + BackStyle = 1, ; + BorderStyle = 0, ; + Caption = "Cont creditor:", ; + FontName = "Arial", ; + FontSize = 9, ; + Height = 18, ; + Left = 16, ; + Name = "_lbbase3", ; + TabIndex = 15, ; + Top = 109, ; + Width = 80, ; + ZOrderSet = 9 + *< END OBJECT: ClassLib="_lb_base.vcx" BaseClass="label" /> + + ADD OBJECT '_lbbase4' AS _lbbase WITH ; + Alignment = 0, ; + AutoSize = .F., ; + BackColor = 255,255,255, ; + BackStyle = 1, ; + BorderStyle = 0, ; + Caption = "Procent TVA:", ; + FontName = "Arial", ; + FontSize = 9, ; + Height = 18, ; + Left = 97, ; + Name = "_lbbase4", ; + TabIndex = 17, ; + Top = 147, ; + Width = 74, ; + ZOrderSet = 8 + *< END OBJECT: ClassLib="_lb_base.vcx" BaseClass="label" /> + + ADD OBJECT '_lbbase5' AS _lbbase WITH ; + Alignment = 0, ; + AutoSize = .F., ; + BackColor = 255,255,255, ; + BackStyle = 1, ; + BorderStyle = 0, ; + Caption = "Analitic cred.:", ; + FontName = "Arial", ; + FontSize = 9, ; + Height = 18, ; + Left = 177, ; + Name = "_lbbase5", ; + TabIndex = 14, ; + Top = 109, ; + Width = 86, ; + ZOrderSet = 9 + *< END OBJECT: ClassLib="_lb_base.vcx" BaseClass="label" /> + + ADD OBJECT '_lbbase6' AS _lbbase WITH ; + Alignment = 0, ; + AutoSize = .F., ; + BackColor = 255,255,255, ; + BackStyle = 1, ; + BorderStyle = 0, ; + Caption = "Analitic deb.:", ; + FontName = "Arial", ; + FontSize = 9, ; + Height = 18, ; + Left = 177, ; + Name = "_lbbase6", ; + TabIndex = 16, ; + Top = 79, ; + Width = 80, ; + ZOrderSet = 9 + *< END OBJECT: ClassLib="_lb_base.vcx" BaseClass="label" /> + + ADD OBJECT 'But_renunt1' AS but_renunt WITH ; + Left = 285, ; + Name = "But_renunt1", ; + TabIndex = 10, ; + Top = 1, ; + ZOrderSet = 14 + *< END OBJECT: ClassLib="cmd_butoane.vcx" BaseClass="commandbutton" /> + + ADD OBJECT 'But_renunt2' AS but_renunt WITH ; + Left = 284, ; + Name = "But_renunt2", ; + Top = 1 + *< END OBJECT: ClassLib="cmd_butoane.vcx" BaseClass="commandbutton" /> + + ADD OBJECT 'cbo_ptva' AS _combobox WITH ; + BoundColumn = 2, ; + BoundTo = .T., ; + ColumnCount = 2, ; + ColumnLines = .F., ; + ColumnWidths = "150,20", ; + ControlSource = "porec.ptva", ; + Height = 23, ; + Left = 173, ; + Name = "cbo_ptva", ; + RowSource = "ctva.tva,ptva", ; + RowSourceType = 2, ; + TabIndex = 7, ; + Top = 144, ; + Width = 157, ; + ZOrderSet = 16 + *< END OBJECT: ClassLib="_baza.vcx" BaseClass="combobox" /> + + ADD OBJECT 'chk_cu_tva' AS _checkbox WITH ; + Alignment = 0, ; + Caption = "Cu TVA", ; + ControlSource = "porec.cu_tva", ; + Left = 18, ; + Name = "chk_cu_tva", ; + TabIndex = 6, ; + Top = 146, ; + ZOrderSet = 15 + *< END OBJECT: ClassLib="_baza.vcx" BaseClass="checkbox" /> + + ADD OBJECT 'Cus_odata_note_contabile1' AS cus_odata_note_contabile WITH ; + Left = 300, ; + Name = "Cus_odata_note_contabile1", ; + Top = 170 + *< END OBJECT: ClassLib="onote_contabile.vcx" BaseClass="custom" /> + + ADD OBJECT 'lbl_text2' AS _lbbase WITH ; + Alignment = 0, ; + AutoSize = .F., ; + BackColor = 255,255,255, ; + BackStyle = 1, ; + BorderStyle = 0, ; + Caption = "Explicaþie:", ; + FontName = "Arial", ; + FontSize = 9, ; + Height = 18, ; + Left = 14, ; + Name = "lbl_text2", ; + TabIndex = 12, ; + Top = 50, ; + Width = 80, ; + ZOrderSet = 7 + *< END OBJECT: ClassLib="_lb_base.vcx" BaseClass="label" /> + + ADD OBJECT 'Shape1' AS shape WITH ; + BackStyle = 0, ; + BorderColor = 0,0,0, ; + BorderStyle = 1, ; + Height = 31, ; + Left = 11, ; + Name = "Shape1", ; + Top = 42, ; + Width = 323, ; + ZOrderSet = 1 + *< END OBJECT: BaseClass="shape" /> + + ADD OBJECT 'Shape2' AS shape WITH ; + BackStyle = 0, ; + BorderColor = 0,0,0, ; + BorderStyle = 1, ; + Height = 31, ; + Left = 11, ; + Name = "Shape2", ; + Top = 72, ; + Width = 162, ; + ZOrderSet = 2 + *< END OBJECT: BaseClass="shape" /> + + ADD OBJECT 'Shape3' AS shape WITH ; + BackStyle = 0, ; + BorderColor = 0,0,0, ; + BorderStyle = 1, ; + Height = 31, ; + Left = 11, ; + Name = "Shape3", ; + Top = 102, ; + Width = 162, ; + ZOrderSet = 3 + *< END OBJECT: BaseClass="shape" /> + + ADD OBJECT 'Shape4' AS shape WITH ; + BackStyle = 0, ; + BorderColor = 0,0,0, ; + BorderStyle = 1, ; + BorderWidth = 1, ; + Height = 63, ; + Left = 11, ; + Name = "Shape4", ; + Top = 140, ; + Width = 323, ; + ZOrderSet = 0 + *< END OBJECT: BaseClass="shape" /> + + ADD OBJECT 'Shape5' AS shape WITH ; + BackStyle = 0, ; + BorderColor = 0,0,0, ; + BorderStyle = 1, ; + Height = 31, ; + Left = 172, ; + Name = "Shape5", ; + Top = 102, ; + Width = 162, ; + ZOrderSet = 3 + *< END OBJECT: BaseClass="shape" /> + + ADD OBJECT 'Shape6' AS shape WITH ; + BackStyle = 0, ; + BorderColor = 0,0,0, ; + BorderStyle = 1, ; + Height = 31, ; + Left = 172, ; + Name = "Shape6", ; + Top = 72, ; + Width = 162, ; + ZOrderSet = 3 + *< END OBJECT: BaseClass="shape" /> + + ADD OBJECT 'txt_ascc' AS textbox WITH ; + ControlSource = "porec.ascc", ; + FontSize = 9, ; + Format = "k!", ; + Height = 23, ; + Left = 260, ; + Name = "txt_ascc", ; + TabIndex = 5, ; + Top = 106, ; + Width = 70, ; + ZOrderSet = 13 + *< END OBJECT: BaseClass="textbox" /> + + ADD OBJECT 'txt_ascd' AS textbox WITH ; + ControlSource = "porec.ascd", ; + FontSize = 9, ; + Format = "k!", ; + Height = 23, ; + Left = 260, ; + Name = "txt_ascd", ; + TabIndex = 3, ; + Top = 76, ; + Width = 70, ; + ZOrderSet = 13 + *< END OBJECT: BaseClass="textbox" /> + + ADD OBJECT 'txt_explicatie' AS textbox WITH ; + Comment = "", ; + ControlSource = "porec.explicatie", ; + FontSize = 9, ; + Format = "k!", ; + Height = 23, ; + Left = 97, ; + Name = "txt_explicatie", ; + TabIndex = 1, ; + Top = 46, ; + Width = 234, ; + ZOrderSet = 10 + *< END OBJECT: BaseClass="textbox" /> + + ADD OBJECT 'txt_scc' AS textbox WITH ; + ControlSource = "porec.scc", ; + FontSize = 9, ; + Format = "k!", ; + Height = 23, ; + Left = 99, ; + Name = "txt_scc", ; + TabIndex = 4, ; + Top = 106, ; + Width = 70, ; + ZOrderSet = 13 + *< END OBJECT: BaseClass="textbox" /> + + ADD OBJECT 'txt_scd' AS textbox WITH ; + ControlSource = "porec.scd", ; + FontSize = 9, ; + Format = "k!", ; + Height = 23, ; + Left = 98, ; + Name = "txt_scd", ; + TabIndex = 2, ; + Top = 76, ; + Width = 70, ; + ZOrderSet = 11 + *< END OBJECT: BaseClass="textbox" /> + + PROCEDURE inainte_de_do_termin + LOCAL PLRETURN + + lccontrol = UPPER(THIS.ACTIVECONTROL.BASECLASS ) + IF INLIST(lccontrol,"TEXTBOX","EDITBOX","COMBOBOX") + lcval=THIS.ACTIVECONTROL.CONTROLSOURCE + &lcval=THISFORM.ACTIVECONTROL.VALUE + ENDIF + + lctip = [Avertizare] + lcimagine = [exclam.ico] + + IF EMPTY(porec.scd) AND !INLIST(LEFT(NVL(porec.scc,''),1), '8', '9') + lctitlu = [Cont debitor] + lcmesaj = [Nu ati completat contul debitor!] + ofrm_mesaj = CREATEOBJECT('frm_mesaj',lctitlu,lcimagine,lctip,lcmesaj) + ofrm_mesaj.show(1) + *MESSAGEBOX('Nu ati completat contul debitor!',0+48,"Atentie") + THIS.txt_scd.SETFOCUS() + RELEASE ofrm_mesaj + RETURN .F. + ENDIF + + IF !EMPTY(porec.scd) + SELECT cplcont + LOCATE FOR ALLTRIM(CONT) = ALLTRIM(porec.scd) + IF !FOUND() + lctitlu = [Cont debitor] + lcmesaj1 = [Contul debitor completat ] + lcmesaj2 = [nu exista in planul de conturi!] + ofrm_mesaj = CREATEOBJECT('frm_mesaj',lctitlu,lcimagine,lctip,lcmesaj1,lcmesaj2) + ofrm_mesaj.show(1) + *MESSAGEBOX('Contul debitor completat nu exista in planul de conturi!',0+48,"Atentie") + THIS.txt_scd.SETFOCUS() + RELEASE ofrm_mesaj + RETURN .F. + ENDIF + ENDIF + + IF !EMPTY(porec.ascd) AND !ISNULL(porec.ascd) + SELECT cplcont + LOCATE FOR ALLTRIM(CONT) = ALLTRIM(porec.scd) AND ALLTRIM(ACONT) = ALLTRIM(porec.ascd) + IF !FOUND() + lctitlu = [Analitic debitor] + lcmesaj1 = [Contul analitic debitor completat ] + lcmesaj2 = [nu exista in planul de conturi!] + ofrm_mesaj = CREATEOBJECT('frm_mesaj',lctitlu,lcimagine,lctip,lcmesaj1,lcmesaj2) + ofrm_mesaj.show(1) + *MESSAGEBOX('Contul debitor completat nu exista in planul de conturi!',0+48,"Atentie") + THIS.txt_ascd.SETFOCUS() + RELEASE ofrm_mesaj + RETURN .F. + ENDIF + ENDIF + + IF EMPTY(porec.scc) AND !INLIST(LEFT(NVL(porec.scd,''),1), '8', '9') + lctitlu = [Cont creditor] + lcmesaj = [Nu ati completat contul creditor!] + ofrm_mesaj = CREATEOBJECT('frm_mesaj',lctitlu,lcimagine,lctip,lcmesaj) + ofrm_mesaj.show(1) + *MESSAGEBOX('Nu ati completat contul creditor!',0+48,"Atentie") + THIS.txt_scc.SETFOCUS() + RELEASE ofrm_mesaj + RETURN .F. + ENDIF + + IF !EMPTY(porec.scc) + SELECT cplcont + LOCATE FOR ALLTRIM(CONT) = ALLTRIM(porec.scc) + IF !FOUND() + lctitlu = [Cont creditor] + lcmesaj1 = [Contul creditor completat ] + lcmesaj2 = [nu exista in planul de conturi!] + ofrm_mesaj = CREATEOBJECT('frm_mesaj',lctitlu,lcimagine,lctip,lcmesaj1,lcmesaj2) + ofrm_mesaj.show(1) + *MESSAGEBOX('Contul creditor completat nu exista in planul de conturi!',0+48,"Atentie") + THIS.txt_scc.SETFOCUS() + RELEASE ofrm_mesaj + RETURN .F. + ENDIF + ENDIF + + + + IF !EMPTY(porec.ascc) AND !ISNULL(porec.ascc) + SELECT cplcont + LOCATE FOR ALLTRIM(CONT) = ALLTRIM(porec.scc) AND ALLTRIM(ACONT) = ALLTRIM(porec.ascc) + IF !FOUND() + lctitlu = [Analitic creditor] + lcmesaj1 = [Contul analitic creditor completat ] + lcmesaj2 = [nu exista in planul de conturi!] + ofrm_mesaj = CREATEOBJECT('frm_mesaj',lctitlu,lcimagine,lctip,lcmesaj1,lcmesaj2) + ofrm_mesaj.show(1) + *MESSAGEBOX('Contul debitor completat nu exista in planul de conturi!',0+48,"Atentie") + THIS.txt_ascc.SETFOCUS() + RELEASE ofrm_mesaj + RETURN .F. + ENDIF + ENDIF + + IF porec.cu_tva = 1 AND ISNULL(porec.ptva) + lctitlu = [Procent de TVA] + lcmesaj = [Nu ati selectat procentul de TVA!] + ofrm_mesaj = CREATEOBJECT('frm_mesaj',lctitlu,lcimagine,lctip,lcmesaj) + ofrm_mesaj.show(1) + *MESSAGEBOX('Nu ati selectat procentul de TVA!',0+48,"Atentie") + THIS.cbo_ptva.SETFOCUS() + RELEASE ofrm_mesaj + RETURN .F. + ENDIF + + RETURN THIS.cus_odata_note_contabile1.salvare(THIS.OREC,THIS.NID) + + + + + ENDPROC + + PROCEDURE Init + LPARAMETERS toRec, tnId, tcActiune + + DODEFAULT() + + DO CASE + CASE UPPER(ALLTRIM(tcActiune)) = [INSERT] + this.lb_titlu_alb_b121.Caption = [Notã contabilã - Adãugare] + CASE UPPER(ALLTRIM(tcActiune)) = [UPDATE] + this.lb_titlu_alb_b121.Caption = [Notã contabilã - Modificare] + ENDCASE + + IF this.chk_cu_tva.Value = 0 + this.cbo_ptva.Enabled = .f. + ELSE + this.cbo_ptva.Enabled = .t. + ENDIF + + this.orec= toRec + this.nid = tnId + this.cus_odata_note_contabile1.cactiune = tcActiune + ENDPROC + + PROCEDURE cbo_ptva.Valid + porec.ptva = ctva.ptva + ENDPROC + + PROCEDURE chk_cu_tva.Valid + IF this.Value = 0 + STORE .null. to porec.ptva + thisform.cbo_ptva.Enabled = .f. + thisform.cbo_ptva.refresh + ELSE + thisform.cbo_ptva.Enabled = .t. + ENDIF + + ENDPROC + +ENDDEFINE + +DEFINE CLASS frm_note_crm_nou AS _frmbase OF "_frm_base.vcx" + *< CLASSDATA: Baseclass="form" Timestamp="" Scale="Pixels" Uniqueid="" /> + + *-- OBJECTDATA items order determines ZOrder / El orden de los items OBJECTDATA determina el ZOrder + *< OBJECTDATA: ObjPath="Clb_denumire" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="But_renunt1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="Cus_odata_note_crm1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="Ct_clb_sectie" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="Ct_clb_venchelt" UniqueID="" Timestamp="" /> + + * + *m: do_alege_sectie + *m: do_alege_venchelt + *p: cnumevechi + *p: nid + *p: nnivelmodificare && - 1 daca utilizatorul are voie sa modifice toate datele ; 0 daca are voie sa modifice doar nr. de telefon + *p: orec + * + + * + cnumevechi = + DoCreate = .T. + Height = 154 + Name = "frm_note_crm_nou" + nnivelmodificare = -1 + Width = 385 + _shape1.Anchor = 9 + _shape1.Height = 29 + _shape1.Left = 0 + _shape1.Name = "_shape1" + _shape1.Top = 0 + _shape1.Width = 708 + _shape2.Anchor = 9 + _shape2.Height = 29 + _shape2.Left = 318 + _shape2.Name = "_shape2" + _shape2.Top = 0 + _shape2.Width = 69 + Lb_titlu_alb_b121.Caption = "NOTÃ VÂNZÃRI" + Lb_titlu_alb_b121.FontBold = .T. + Lb_titlu_alb_b121.Name = "Lb_titlu_alb_b121" + Lb_titlu_alb_b121.TabIndex = 6 + BUT_TERMIN1.Anchor = 9 + BUT_TERMIN1.Height = 27 + BUT_TERMIN1.Left = 355 + BUT_TERMIN1.Name = "BUT_TERMIN1" + BUT_TERMIN1.TabIndex = 4 + BUT_TERMIN1.Top = 1 + BUT_TERMIN1.Width = 30 + Gridsort1.Name = "Gridsort1" + * + + ADD OBJECT 'But_renunt1' AS but_renunt WITH ; + Anchor = 9, ; + Height = 27, ; + Left = 323, ; + Name = "But_renunt1", ; + TabIndex = 5, ; + Top = 1, ; + Width = 30 + *< END OBJECT: ClassLib="cmd_butoane.vcx" BaseClass="commandbutton" /> + + ADD OBJECT 'Clb_denumire' AS clb_tx_simplu WITH ; + Height = 29, ; + Left = 23, ; + Name = "Clb_denumire", ; + TabIndex = 1, ; + Top = 46, ; + Width = 301, ; + Text_simplu1.ControlSource = "porec.denumire", ; + Text_simplu1.Left = 113, ; + Text_simplu1.Name = "Text_simplu1", ; + Lb_simplu1.Caption = "Denumire", ; + Lb_simplu1.Name = "Lb_simplu1" + *< END OBJECT: ClassLib="lb_tx.vcx" BaseClass="container" /> + + ADD OBJECT 'Ct_clb_sectie' AS ct_clb_cautare_var WITH ; + cconditie = EMPTY(NVL(porec.id_sectie,0)), ; + cprocedura = thisform.do_alege_sectie, ; + cvar_afisata = porec.sectie, ; + Height = 31, ; + Left = 22, ; + Name = "Ct_clb_sectie", ; + TabIndex = 2, ; + Top = 73, ; + Width = 350, ; + shape_cautare.Height = 29, ; + shape_cautare.Left = 1, ; + shape_cautare.Name = "shape_cautare", ; + shape_cautare.Top = 1, ; + shape_cautare.Width = 301, ; + img_cautare.Left = 317, ; + img_cautare.Name = "img_cautare", ; + img_cautare.Top = 5, ; + lb_cautare.Caption = "Secþie", ; + lb_cautare.Left = 8, ; + lb_cautare.Name = "lb_cautare", ; + lb_cautare.Top = 7, ; + tx_cautare.Left = 113, ; + tx_cautare.Name = "tx_cautare", ; + tx_cautare.Top = 3 + *< END OBJECT: ClassLib="caut_ora.vcx" BaseClass="container" /> + + ADD OBJECT 'Ct_clb_venchelt' AS ct_clb_cautare_var WITH ; + cconditie = EMPTY(NVL(porec.id_venchelt,0)), ; + cprocedura = thisform.do_alege_venchelt, ; + cvar_afisata = porec.explicatie, ; + Height = 31, ; + Left = 22, ; + Name = "Ct_clb_venchelt", ; + TabIndex = 3, ; + Top = 101, ; + Width = 350, ; + shape_cautare.Height = 29, ; + shape_cautare.Left = 1, ; + shape_cautare.Name = "shape_cautare", ; + shape_cautare.Top = 1, ; + shape_cautare.Width = 301, ; + img_cautare.Left = 318, ; + img_cautare.Name = "img_cautare", ; + img_cautare.Top = 5, ; + lb_cautare.Caption = "Venituri / cheltuieli", ; + lb_cautare.Left = 7, ; + lb_cautare.Name = "lb_cautare", ; + lb_cautare.Top = 7, ; + tx_cautare.Left = 112, ; + tx_cautare.Name = "tx_cautare", ; + tx_cautare.Top = 3 + *< END OBJECT: ClassLib="caut_ora.vcx" BaseClass="container" /> + + ADD OBJECT 'Cus_odata_note_crm1' AS cus_odata_note_crm WITH ; + Left = 345, ; + Name = "Cus_odata_note_crm1", ; + Top = 45 + *< END OBJECT: ClassLib="onote_contabile.vcx" BaseClass="custom" /> + + PROCEDURE do_adauga + PRIVATE poNoteContab + STORE '' TO poNoteContab + + LOCAL lcSchema1, lcSelect1, lcOrder1, lcFiltru1, llAfiseaza + lcSchema1 = [] + lcSelect1 = [select nc.*, 0 as ales from note_contabile nc] + lcOrder1 = [] + lcgroup = [] + lcFiltru1 = [] + lcFiltruOriginal = [] + llModParam = .T. + llAfiseaza = .F. + + gencursor('poNoteContab','crsNoteContab', lcSelect1, lcFiltru1, lcSchema1, lcOrder1, llAfiseaza, lcgroup, llModParam, lcFiltruOriginal) + poNoteContab.ca_baza1.afisare() + + lfan = CREATEOBJECT("frm_alege_nota") + lfan.SHOW(1) + + IF buton = 2 + RETURN + ENDIF + + SELECT * FROM crsNoteContab WITH (BUFFERING = .T.) WHERE ales = 1 INTO CURSOR cNoteAlese + + SELECT crsNoteIreg_curente + *!* BROWSE + + *!* lcTabel = THISFORM.grd_inregistrari.RECORDSOURCE + *!* SELECT (lcTabel) + APPEND FROM DBF("cNoteAlese") + + RELEASE poNoteContab + IF USED("crsNoteContab") + USE IN crsNoteContab + ENDIF + + IF USED("cNoteAlese") + USE IN cNoteAlese + ENDIF + + THISFORM.grd_inregistrari.Refresh + + ENDPROC + + PROCEDURE do_alege_sectie + Local loCauta, llDesktop + *!* llDesktop = .T. + llDesktop = .F. + loCauta = caut_sectie(6, llDesktop) + If buton=1 + poRec.id_sectie = Iif(!Empty(loCauta.id_sectie), loCauta.id_sectie, 0) + poRec.sectie = Iif(!Empty(loCauta.sectie), loCauta.sectie, "") + + Thisform.ct_clb_sectie.Refresh() + Endif + Thisform.ct_clb_venchelt.SetFocus() + + ENDPROC + + PROCEDURE do_alege_venchelt + *!* LOCAL lcselect, lcfiltru, lcschema, lcorder, lccoloane, lcTitlu, lcTitluColoane, lcFiltruOriginal, lcNumeProc + *!* lcselect = [select v.id_venchelt, v.explicatie, (case v.tip_venchelt when 1 then 'C' else 'V' end) as tip_venchelt FROM vnom_venchel v] + *!* lcfiltru = [1=2] + *!* lcschema = [] + *!* lcorder = [v.explicatie] + *!* lccoloane = [explicatie,tip_venchelt] + *!* lcTitlu = [Alegeti tipul de venit/cheltuiala] + *!* lcTitluColoane = [Explicatia, Tip] + *!* lcFiltruOriginal = [inactiv=0] + *!* lcNumeProc = "" + *!* locauta = cauta_alfa(lcselect, lcfiltru, lcschema, lcorder, lccoloane, lcTitlu, lcTitluColoane, lcNumeProc, .F., lcFiltruOriginal) + + Local loCauta, lnPornire, llDesktop + + lnPornire = 6 && 1-incepe cu..., 6-toate + *!* llDesktop = .T. + llDesktop = .F. + loCauta = caut_venchelt(lnPornire, llDesktop) + *!* modificare migrare v 1.0 > v 2.0 + *!* If buton=1 + *!* poRec.id_venchelt = Iif(!Empty(loCauta.id_venchelt), loCauta.id_venchelt, 0) + *!* poRec.explicatie = Iif(!Empty(loCauta.explicatie), loCauta.explicatie, "") + *!* Thisform.ct_clb_venchelt.Refresh() + *!* Endif + If gnButon=1 + poRec.id_venchelt = Iif(!Empty(loCauta.id_venchelt), loCauta.id_venchelt, 0) + poRec.explicatie = Iif(!Empty(loCauta.explicatie), loCauta.explicatie, "") + Else + poRec.id_venchelt = Null + poRec.explicatie = [] + EndIf + Thisform.ct_clb_venchelt.Refresh() + *!* modificare migrare v 1.0 > v 2.0 ^ + Thisform.but_termin1.SetFocus() + ENDPROC + + PROCEDURE inainte_de_do_sterge + lnRaspuns = AMESSAGEBOX("Doriti sa stergeti ?",0+48,_screen.Caption) + IF lnRaspuns = 7 + RETURN + ENDIF + + SELECT crsNoteIreg_curente + DELETE + + thisform.grd_inregistrari.Refresh + + ENDPROC + + PROCEDURE inainte_de_do_termin + Local PLRETURN + lccontrol = Upper(This.ActiveControl.BaseClass ) + If Inlist(lccontrol,"TEXTBOX","EDITBOX","COMBOBOX") + lcval=This.ActiveControl.ControlSource + &lcval=Thisform.ActiveControl.Value + Endif + + Do Case + Case Empty(porec.denumire) + aMessagebox('Nu ati completat denumirea notei!',0+48,"Atentie") + This.clb_denumire.text_simplu1.SetFocus() + PLRETURN=.F. + *!* Case Empty(porec.scd) + *!* Messagebox('Nu ati completat contul debitor!',0+48,"Atentie") + *!* This.clb_scd.text_simplu1.SetFocus() + *!* PLRETURN=.F. + *!* Case Empty(porec.scc) + *!* Messagebox('Nu ati completat contul creditor!',0+48,"Atentie") + *!* This.clb_scc.text_simplu1.SetFocus() + *!* PLRETURN=.F. + OTHERWISE + PLRETURN=This.cus_odata_note_crm1.salvare(This.OREC,This.NID) + ENDCASE + + Return PLRETURN + + ENDPROC + + PROCEDURE Init + Lparameters toRec, tnId, tcActiune + *!* Local lnid_prospect + DoDefault() + This.orec= toRec + This.nid = tnId + This.cus_odata_note_crm1.cactiune = tcActiune + + If tcActiune = 'UPDATE' + *!* Select v_zone + *!* Locate For id_zona=toRec.id_zona + *!* If Found() + *!* Thisform.cb_zona._cbbase1.Value=zona + *!* Thisform.cb_zona._cbbase1.Refresh + *!* Endif + Thisform.nNivelModificare=0 + Endif + ENDPROC + + PROCEDURE Release + IF USED("crsNoteIreg_curente") + USE IN crsNoteIreg_curente + ENDIF + ENDPROC + +ENDDEFINE diff --git a/clase/oparteneri.vc2 b/clase/oparteneri.vc2 new file mode 100644 index 0000000..324ac6d --- /dev/null +++ b/clase/oparteneri.vc2 @@ -0,0 +1,13074 @@ +*-------------------------------------------------------------------------------------------------------------------------------------------------------- +* (EN) AUTOGENERATED - ATTENTION!! - NOT INTENDED FOR EXECUTION!! USE ONLY FOR MERGING CHANGES AND STORING WITH SCM TOOLS!! +*-------------------------------------------------------------------------------------------------------------------------------------------------------- +*< FOXBIN2PRG: Version="1.21" SourceFile="oparteneri.vcx" CPID="1252" /> (Solo para binarios VFP 9 / Only for VFP 9 binaries) +* +* +DEFINE CLASS afincpl AS _frmbase OF "_frm_base.vcx" + *< CLASSDATA: Baseclass="form" Timestamp="" Scale="Pixels" Uniqueid="" /> + + *-- OBJECTDATA items order determines ZOrder / El orden de los items OBJECTDATA determina el ZOrder + *< OBJECTDATA: ObjPath="Grid1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="Grid1.Column1.Header1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="Grid1.Column1.Text1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="Grid1.Column2.Header1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="Grid1.Column2.Text1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="Grid1.Column3.Header1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="Grid1.Column3.Text1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="Grid1.Column4.Header1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="Grid1.Column4.Text1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="Grid1.Column5.Header1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="Grid1.Column5.Text1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="Grid1.Column6.Header1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="Grid1.Column6.Text1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="Grid1.Column7.Header1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="Grid1.Column7.Text1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="Grid1.Column8.Header1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="Grid1.Column8.Text1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="Grid1.Column9.Header1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="Grid1.Column9.Text1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="Grid1.Column10.Header1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="Grid1.Column10.Text1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="Grid1.Column11.Header1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="Grid1.Column11.Text1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="Grid1.Column12.Header1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="Grid1.Column12.Text1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="txtTotal" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="But_listare1" UniqueID="" Timestamp="" /> + + * + *p: ali + * + + * + ali = '' + DoCreate = .T. + Height = 437 + Name = "afincpl" + Width = 727 + WindowState = 2 + _shape1.Anchor = 10 + _shape1.Height = 29 + _shape1.Left = 0 + _shape1.Name = "_shape1" + _shape1.Top = 0 + _shape1.Width = 732 + _shape2.Height = 29 + _shape2.Left = 664 + _shape2.Name = "_shape2" + _shape2.Top = -1 + _shape2.Width = 62 + Lb_titlu_alb_b121.Caption = "RULAJ" + Lb_titlu_alb_b121.Name = "Lb_titlu_alb_b121" + BUT_TERMIN1.Anchor = 8 + BUT_TERMIN1.Left = 697 + BUT_TERMIN1.Name = "BUT_TERMIN1" + BUT_TERMIN1.Top = 0 + GRIDSORT1.Name = "GRIDSORT1" + * + + ADD OBJECT 'But_listare1' AS but_listare WITH ; + Anchor = 8, ; + Left = 667, ; + Name = "But_listare1", ; + Top = 0 + *< END OBJECT: ClassLib="cmd_butoane.vcx" BaseClass="commandbutton" /> + + ADD OBJECT 'Grid1' AS grid WITH ; + Anchor = 15, ; + ColumnCount = 12, ; + DeleteMark = .F., ; + FontSize = 10, ; + Height = 368, ; + Left = 14, ; + Name = "Grid1", ; + Panel = 1, ; + RowHeight = 19, ; + Top = 36, ; + Width = 702, ; + Column1.ControlSource = "dataireg", ; + Column1.FontName = "Arial", ; + Column1.FontSize = 10, ; + Column1.Name = "Column1", ; + Column1.Width = 71, ; + Column2.ControlSource = "dataact", ; + Column2.FontName = "Arial", ; + Column2.FontSize = 10, ; + Column2.Name = "Column2", ; + Column2.Width = 77, ; + Column3.ControlSource = "nract", ; + Column3.FontName = "Arial", ; + Column3.FontSize = 10, ; + Column3.Name = "Column3", ; + Column3.Width = 104, ; + Column4.ControlSource = "partD", ; + Column4.FontName = "Arial", ; + Column4.FontSize = 10, ; + Column4.Name = "Column4", ; + Column4.Width = 199, ; + Column5.ControlSource = "partC", ; + Column5.FontName = "Arial", ; + Column5.FontSize = 10, ; + Column5.Name = "Column5", ; + Column5.Width = 67, ; + Column6.ControlSource = "explicatia", ; + Column6.FontName = "Arial", ; + Column6.FontSize = 10, ; + Column6.Name = "Column6", ; + Column6.Width = 69, ; + Column7.ControlSource = "suma", ; + Column7.FontName = "Arial", ; + Column7.FontSize = 10, ; + Column7.InputMask = "999 999 999 999 999.99", ; + Column7.Name = "Column7", ; + Column7.Width = 117, ; + Column8.ControlSource = "scd", ; + Column8.FontName = "Arial", ; + Column8.FontSize = 10, ; + Column8.Name = "Column8", ; + Column8.Width = 58, ; + Column9.ControlSource = "scc", ; + Column9.FontName = "Arial", ; + Column9.FontSize = 10, ; + Column9.Name = "Column9", ; + Column9.Width = 62, ; + Column10.ControlSource = "fdoc", ; + Column10.FontName = "Arial", ; + Column10.FontSize = 10, ; + Column10.Name = "Column10", ; + Column10.Width = 112, ; + Column11.ControlSource = "util", ; + Column11.FontName = "Arial", ; + Column11.FontSize = 10, ; + Column11.Name = "Column11", ; + Column11.Width = 83, ; + Column12.ControlSource = "dataora", ; + Column12.FontName = "Arial", ; + Column12.FontSize = 10, ; + Column12.Name = "Column12" + *< END OBJECT: BaseClass="grid" /> + + ADD OBJECT 'Grid1.Column1.Header1' AS header WITH ; + Alignment = 2, ; + Caption = "Data inreg.", ; + FontName = "Arial", ; + FontSize = 10, ; + Name = "Header1" + *< END OBJECT: BaseClass="header" /> + + ADD OBJECT 'Grid1.Column1.Text1' AS textbox WITH ; + BackColor = 255,255,255, ; + BorderStyle = 0, ; + FontName = "Arial", ; + FontSize = 10, ; + ForeColor = 0,0,0, ; + Margin = 0, ; + Name = "Text1" + *< END OBJECT: BaseClass="textbox" /> + + ADD OBJECT 'Grid1.Column10.Header1' AS header WITH ; + Alignment = 2, ; + Caption = "Fel Doc.", ; + FontName = "Arial", ; + FontSize = 10, ; + Name = "Header1" + *< END OBJECT: BaseClass="header" /> + + ADD OBJECT 'Grid1.Column10.Text1' AS textbox WITH ; + BackColor = 255,255,255, ; + BorderStyle = 0, ; + FontName = "Arial", ; + FontSize = 10, ; + ForeColor = 0,0,0, ; + Margin = 0, ; + Name = "Text1" + *< END OBJECT: BaseClass="textbox" /> + + ADD OBJECT 'Grid1.Column11.Header1' AS header WITH ; + Alignment = 2, ; + Caption = "Utilizator", ; + FontName = "Arial", ; + FontSize = 10, ; + Name = "Header1" + *< END OBJECT: BaseClass="header" /> + + ADD OBJECT 'Grid1.Column11.Text1' AS textbox WITH ; + BackColor = 255,255,255, ; + BorderStyle = 0, ; + FontName = "Arial", ; + FontSize = 10, ; + ForeColor = 0,0,0, ; + Margin = 0, ; + Name = "Text1" + *< END OBJECT: BaseClass="textbox" /> + + ADD OBJECT 'Grid1.Column12.Header1' AS header WITH ; + Alignment = 2, ; + Caption = "Data ora", ; + FontName = "Arial", ; + FontSize = 10, ; + Name = "Header1" + *< END OBJECT: BaseClass="header" /> + + ADD OBJECT 'Grid1.Column12.Text1' AS textbox WITH ; + BackColor = 255,255,255, ; + BorderStyle = 0, ; + FontName = "Arial", ; + FontSize = 10, ; + ForeColor = 0,0,0, ; + Margin = 0, ; + Name = "Text1" + *< END OBJECT: BaseClass="textbox" /> + + ADD OBJECT 'Grid1.Column2.Header1' AS header WITH ; + Alignment = 2, ; + Caption = "Data Act", ; + FontName = "Arial", ; + FontSize = 10, ; + Name = "Header1" + *< END OBJECT: BaseClass="header" /> + + ADD OBJECT 'Grid1.Column2.Text1' AS textbox WITH ; + BackColor = 255,255,255, ; + BorderStyle = 0, ; + FontName = "Arial", ; + FontSize = 10, ; + ForeColor = 0,0,0, ; + Margin = 0, ; + Name = "Text1" + *< END OBJECT: BaseClass="textbox" /> + + ADD OBJECT 'Grid1.Column3.Header1' AS header WITH ; + Alignment = 2, ; + Caption = "Nr. Doc.", ; + FontName = "Arial", ; + FontSize = 10, ; + Name = "Header1" + *< END OBJECT: BaseClass="header" /> + + ADD OBJECT 'Grid1.Column3.Text1' AS textbox WITH ; + BackColor = 255,255,255, ; + BorderStyle = 0, ; + FontName = "Arial", ; + FontSize = 10, ; + ForeColor = 0,0,0, ; + Margin = 0, ; + Name = "Text1" + *< END OBJECT: BaseClass="textbox" /> + + ADD OBJECT 'Grid1.Column4.Header1' AS header WITH ; + Alignment = 2, ; + Caption = "Expl. 1", ; + FontName = "Arial", ; + FontSize = 10, ; + Name = "Header1" + *< END OBJECT: BaseClass="header" /> + + ADD OBJECT 'Grid1.Column4.Text1' AS textbox WITH ; + BackColor = 255,255,255, ; + BorderStyle = 0, ; + FontName = "Arial", ; + FontSize = 10, ; + ForeColor = 0,0,0, ; + Margin = 0, ; + Name = "Text1" + *< END OBJECT: BaseClass="textbox" /> + + ADD OBJECT 'Grid1.Column5.Header1' AS header WITH ; + Alignment = 2, ; + Caption = "Expl. 2", ; + FontName = "Arial", ; + FontSize = 10, ; + Name = "Header1" + *< END OBJECT: BaseClass="header" /> + + ADD OBJECT 'Grid1.Column5.Text1' AS textbox WITH ; + BackColor = 255,255,255, ; + BorderStyle = 0, ; + FontName = "Arial", ; + FontSize = 10, ; + ForeColor = 0,0,0, ; + Margin = 0, ; + Name = "Text1" + *< END OBJECT: BaseClass="textbox" /> + + ADD OBJECT 'Grid1.Column6.Header1' AS header WITH ; + Alignment = 2, ; + Caption = "Expl. 3", ; + FontName = "Arial", ; + FontSize = 10, ; + Name = "Header1" + *< END OBJECT: BaseClass="header" /> + + ADD OBJECT 'Grid1.Column6.Text1' AS textbox WITH ; + BackColor = 255,255,255, ; + BorderStyle = 0, ; + FontName = "Arial", ; + FontSize = 10, ; + ForeColor = 0,0,0, ; + Margin = 0, ; + Name = "Text1" + *< END OBJECT: BaseClass="textbox" /> + + ADD OBJECT 'Grid1.Column7.Header1' AS header WITH ; + Alignment = 2, ; + Caption = "Suma", ; + FontName = "Arial", ; + FontSize = 10, ; + Name = "Header1" + *< END OBJECT: BaseClass="header" /> + + ADD OBJECT 'Grid1.Column7.Text1' AS textbox WITH ; + BackColor = 255,255,255, ; + BorderStyle = 0, ; + FontName = "Arial", ; + FontSize = 10, ; + ForeColor = 0,0,0, ; + Margin = 0, ; + Name = "Text1" + *< END OBJECT: BaseClass="textbox" /> + + ADD OBJECT 'Grid1.Column8.Header1' AS header WITH ; + Alignment = 2, ; + Caption = "Cont Deb.", ; + FontName = "Arial", ; + FontSize = 10, ; + Name = "Header1" + *< END OBJECT: BaseClass="header" /> + + ADD OBJECT 'Grid1.Column8.Text1' AS textbox WITH ; + BackColor = 255,255,255, ; + BorderStyle = 0, ; + FontName = "Arial", ; + FontSize = 10, ; + ForeColor = 0,0,0, ; + Margin = 0, ; + Name = "Text1" + *< END OBJECT: BaseClass="textbox" /> + + ADD OBJECT 'Grid1.Column9.Header1' AS header WITH ; + Alignment = 2, ; + Caption = "Cont Cred.", ; + FontName = "Arial", ; + FontSize = 10, ; + Name = "Header1" + *< END OBJECT: BaseClass="header" /> + + ADD OBJECT 'Grid1.Column9.Text1' AS textbox WITH ; + BackColor = 255,255,255, ; + BorderStyle = 0, ; + FontName = "Arial", ; + FontSize = 10, ; + ForeColor = 0,0,0, ; + Margin = 0, ; + Name = "Text1" + *< END OBJECT: BaseClass="textbox" /> + + ADD OBJECT 'txtTotal' AS textbox WITH ; + Anchor = 12, ; + FontSize = 10, ; + Height = 23, ; + InputMask = "999 999 999 999 999.99", ; + Left = 552, ; + Name = "txtTotal", ; + ReadOnly = .T., ; + Top = 408, ; + Visible = .F., ; + Width = 164 + *< END OBJECT: BaseClass="textbox" /> + + PROCEDURE do_listare + LOCAL lcAlias + lcAlias = Thisform.grid1.RecordSource + If Reccount(m.lcAlias)>0 + pcDataOra = get_ora(2) + Thisform.AlwaysOnTop= .F. + SELECT(m.lcAlias) + Report Form ist_deb_cred To Printer Prompt Preview + Thisform.AlwaysOnTop= .T. + Else + amessagebox("Nu exista inregistrari pentru listare!",48,"Atentie") + Endif + + ENDPROC + + PROCEDURE Show + LPARAMETERS nStyle + + LOCAL lcAlias + lcAlias = Thisform.grid1.RecordSource + SELECT(m.lcAlias) + CALCULATE SUM(suma) TO thisform.txtTotal.Value + GO TOP + + DODEFAULT(nStyle) + ENDPROC + + PROCEDURE txtTotal.Init + sum suma to totsum + ENDPROC + +ENDDEFINE + +DEFINE CLASS cb_nom_valute AS _cbbase OF "..\..\comun\clase\_cb_base.vcx" + *< CLASSDATA: Baseclass="combobox" Timestamp="" Scale="Pixels" Uniqueid="" /> + + * + *m: initializare + * + + * + FontName = "Arial Narrow" + Name = "cb_nom_valute" + Width = 72 + * + + PROCEDURE Destroy + If Used('crsnumeval') + Use In crsnumeval + Endif + ENDPROC + + PROCEDURE Init + this.initializare() + ENDPROC + + PROCEDURE initializare + =ccvalute() + Select nume_val From v_nom_valute Into Array lanumeval Order By nume_val + Use In v_nom_valute + + If Used('crsnumeval') + Use In crsnumeval + Endif + + Create Cursor crsnumeval (nume_val c(5)) + Select crsnumeval + Append Blank + Replace nume_val With '---' + If Type('lanumeval')#'U' + Append From Array lanumeval + Release lanumeval + Endif + This.RowSourceType= 2 + This.RowSource="crsnumeval" + This.Value='---' + This.BoundTo=.T. + ENDPROC + +ENDDEFINE + +DEFINE CLASS config_balanta_nou AS frm_termin OF "..\..\comun\clase\_frm_child.vcx" + *< CLASSDATA: Baseclass="form" Timestamp="" Scale="Pixels" Uniqueid="" /> + + *-- OBJECTDATA items order determines ZOrder / El orden de los items OBJECTDATA determina el ZOrder + *< OBJECTDATA: ObjPath="Clb_tx_simplu1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="Clb_tx_simplu2" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="Grid1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="Grid1.Column1.Header1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="Grid1.Column1.Text1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="Grid1.Column2.Header1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="Grid1.Column2.Check1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="But_renunt1" UniqueID="" Timestamp="" /> + + * + DoCreate = .T. + Name = "config_balanta_nou" + _shape1.Name = "_shape1" + _shape2.Height = 29 + _shape2.Left = 299 + _shape2.Name = "_shape2" + _shape2.Top = 0 + _shape2.Width = 76 + Lb_titlu_alb_b121.Caption = "-" + Lb_titlu_alb_b121.Name = "Lb_titlu_alb_b121" + Lb_titlu_alb_b121.TabIndex = 4 + BUT_TERMIN1.Name = "BUT_TERMIN1" + BUT_TERMIN1.TabIndex = 5 + BUT_TERMIN1.Top = 1 + * + + ADD OBJECT 'But_renunt1' AS but_renunt WITH ; + Left = 311, ; + Name = "But_renunt1", ; + TabIndex = 6, ; + Top = 1 + *< END OBJECT: ClassLib="..\..\comun\clase\cmd_butoane.vcx" BaseClass="commandbutton" /> + + ADD OBJECT 'Clb_tx_simplu1' AS clb_tx_simplu WITH ; + Height = 29, ; + Left = 9, ; + Name = "Clb_tx_simplu1", ; + TabIndex = 1, ; + Top = 41, ; + Width = 360, ; + TEXT_SIMPLU1.ControlSource = "oadd.explicatie", ; + TEXT_SIMPLU1.Format = "K", ; + TEXT_SIMPLU1.Height = 23, ; + TEXT_SIMPLU1.Left = 64, ; + TEXT_SIMPLU1.Name = "TEXT_SIMPLU1", ; + TEXT_SIMPLU1.Top = 3, ; + TEXT_SIMPLU1.Width = 292, ; + LB_SIMPLU1.Caption = "Titlu", ; + LB_SIMPLU1.Name = "LB_SIMPLU1" + *< END OBJECT: ClassLib="..\..\comun\clase\lb_tx.vcx" BaseClass="container" /> + + ADD OBJECT 'Clb_tx_simplu2' AS clb_tx_simplu WITH ; + Height = 29, ; + Left = 9, ; + Name = "Clb_tx_simplu2", ; + TabIndex = 2, ; + Top = 72, ; + Width = 360, ; + TEXT_SIMPLU1.ControlSource = "oadd.explicatie2", ; + TEXT_SIMPLU1.Height = 23, ; + TEXT_SIMPLU1.Left = 64, ; + TEXT_SIMPLU1.Name = "TEXT_SIMPLU1", ; + TEXT_SIMPLU1.ReadOnly = .T., ; + TEXT_SIMPLU1.Top = 3, ; + TEXT_SIMPLU1.Width = 292, ; + LB_SIMPLU1.Caption = "Explicatie", ; + LB_SIMPLU1.Name = "LB_SIMPLU1" + *< END OBJECT: ClassLib="..\..\comun\clase\lb_tx.vcx" BaseClass="container" /> + + ADD OBJECT 'Grid1' AS grid WITH ; + ColumnCount = 2, ; + DeleteMark = .F., ; + Height = 132, ; + Left = 13, ; + Name = "Grid1", ; + Panel = 1, ; + RecordSource = "crsCont", ; + TabIndex = 3, ; + Top = 108, ; + Width = 163, ; + Column1.ControlSource = "cont", ; + Column1.Name = "Column1", ; + Column1.Width = 91, ; + Column2.ControlSource = "ales", ; + Column2.CurrentControl = "Check1", ; + Column2.Name = "Column2", ; + Column2.Sparse = .F., ; + Column2.Width = 40 + *< END OBJECT: BaseClass="grid" /> + + ADD OBJECT 'Grid1.Column1.Header1' AS header WITH ; + Alignment = 2, ; + Caption = "Cont", ; + Name = "Header1" + *< END OBJECT: BaseClass="header" /> + + ADD OBJECT 'Grid1.Column1.Text1' AS textbox WITH ; + BackColor = 255,255,255, ; + BorderStyle = 0, ; + ForeColor = 0,0,0, ; + Margin = 0, ; + Name = "Text1" + *< END OBJECT: BaseClass="textbox" /> + + ADD OBJECT 'Grid1.Column2.Check1' AS checkbox WITH ; + Alignment = 0, ; + Caption = "", ; + Height = 17, ; + Left = 30, ; + Name = "Check1", ; + Top = 47, ; + Width = 60 + *< END OBJECT: BaseClass="checkbox" /> + + ADD OBJECT 'Grid1.Column2.Header1' AS header WITH ; + Alignment = 2, ; + Caption = "Alege", ; + Name = "Header1" + *< END OBJECT: BaseClass="header" /> + + PROCEDURE Grid1.Column2.Check1.Valid + pcExplicatie2 = '' + SELECT crsCont + lnRecno = RECNO() + SCAN FOR ales = 1 + pcExplicatie2 = pcExplicatie2 + '+' + ALLTRIM(cont) + ENDSCAN + pcExplicatie2 = SUBSTR(pcExplicatie2,2) + oadd.explicatie2 = pcExplicatie2 + SELECT crsCont + GO lnRecno + thisform.clb_tx_simplu2.Refresh + + ENDPROC + +ENDDEFINE + +DEFINE CLASS config_balante_parteneri AS frm_termin OF "_frm_child.vcx" + *< CLASSDATA: Baseclass="form" Timestamp="" Scale="Pixels" Uniqueid="" /> + + *-- OBJECTDATA items order determines ZOrder / El orden de los items OBJECTDATA determina el ZOrder + *< OBJECTDATA: ObjPath="LbExplicatie" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="Ct_grid_search1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="Ct_grid_search1.But_nou1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="Ct_grid_search1.But_modifica1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="Ct_grid_search1.But_sterge1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="Ct_grid_search2" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="Ct_grid_search2.But_nou2" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="Ct_grid_search2.But_modifica2" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="Ct_grid_search2.But_sterge2" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="Ct_grid_search3" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="Ct_grid_search3.But_nou3" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="Ct_grid_search3.But_modifica3" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="Ct_grid_search3.But_sterge3" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="Edit1" UniqueID="" Timestamp="" /> + + * + *m: calcul_formula + *m: do_adauga_balanta + *m: do_adauga_coloane + *m: do_adauga_formula + *m: do_modifica_balanta + *m: do_modifica_coloane + *m: do_modifica_formula + *m: do_sterge_balanta + *m: do_sterge_coloane + *m: do_sterge_formula + *p: cformula + *p: clistaconturi + *p: cnumecoloana + *p: ctiltlubalanta + *p: nidbalanta + *p: nidcoloana + * + + * + BorderStyle = 3 + cbuton3 = Ct_grid_search1.but_modifica1;Ct_grid_search2.but_modifica2;Ct_grid_search3.but_modifica3 + cbuton4 = Ct_grid_search1.but_sterge1;Ct_grid_search2.but_sterge2;Ct_grid_search3.but_sterge3;but_reface1 + cformula = + clistaconturi = + cnumecoloana = + ctiltlubalanta = + DoCreate = .T. + Height = 541 + Name = "config_balante_parteneri" + nidbalanta = 0 + nidcoloana = 0 + Width = 727 + WindowState = 2 + _shape1.Anchor = 11 + _shape1.Height = 29 + _shape1.Left = 0 + _shape1.Name = "_shape1" + _shape1.Top = 0 + _shape1.Width = 751 + _shape1.ZOrderSet = 1 + _shape2.Anchor = 9 + _shape2.Left = 675 + _shape2.Name = "_shape2" + _shape2.Top = 0 + _shape2.ZOrderSet = 2 + Lb_titlu_alb_b121.Caption = "Configurare Balante Parteneri" + Lb_titlu_alb_b121.Name = "Lb_titlu_alb_b121" + Lb_titlu_alb_b121.ZOrderSet = 3 + BUT_TERMIN1.Anchor = 9 + BUT_TERMIN1.Left = 695 + BUT_TERMIN1.Name = "BUT_TERMIN1" + BUT_TERMIN1.Top = 1 + BUT_TERMIN1.ZOrderSet = 4 + Gridsort1.Name = "Gridsort1" + * + + ADD OBJECT 'Ct_grid_search1' AS ct_grid_search WITH ; + Anchor = 11, ; + Height = 172, ; + Left = 12, ; + Name = "Ct_grid_search1", ; + Top = 26, ; + Width = 349, ; + ZOrderSet = 5, ; + _GRID1.Anchor = 15, ; + _GRID1.FontName = "Arial", ; + _GRID1.Height = 105, ; + _GRID1.Left = 6, ; + _GRID1.Name = "_GRID1", ; + _GRID1.Top = 62, ; + _GRID1.Width = 336, ; + Titlu.Anchor = 3, ; + Titlu.Caption = "Lista Balante Configurate", ; + Titlu.Name = "Titlu", ; + Cb_tx_cautare1.Anchor = 10, ; + Cb_tx_cautare1.Criteriu.Anchor = 2, ; + Cb_tx_cautare1.Criteriu.Height = 24, ; + Cb_tx_cautare1.Criteriu.Left = 3, ; + Cb_tx_cautare1.Criteriu.Name = "Criteriu", ; + Cb_tx_cautare1.Criteriu.Top = 1, ; + Cb_tx_cautare1.Criteriu.Width = 99, ; + Cb_tx_cautare1.Height = 27, ; + Cb_tx_cautare1.Left = 7, ; + Cb_tx_cautare1.Name = "Cb_tx_cautare1", ; + Cb_tx_cautare1.Text.Anchor = 130, ; + Cb_tx_cautare1.Text.Height = 25, ; + Cb_tx_cautare1.Text.Left = 102, ; + Cb_tx_cautare1.Text.Name = "Text", ; + Cb_tx_cautare1.Text.Top = 1, ; + Cb_tx_cautare1.Text.Width = 145, ; + Cb_tx_cautare1.Top = 31, ; + Cb_tx_cautare1.Width = 248 + *< END OBJECT: ClassLib="ferestre_cere_date.vcx" BaseClass="container" /> + + ADD OBJECT 'Ct_grid_search1.But_modifica1' AS but_modifica WITH ; + Anchor = 9, ; + caction = do_modifica_balanta, ; + Left = 285, ; + Name = "But_modifica1", ; + Top = 31 + *< END OBJECT: ClassLib="cmd_butoane.vcx" BaseClass="commandbutton" /> + + ADD OBJECT 'Ct_grid_search1.But_nou1' AS but_nou WITH ; + Anchor = 9, ; + caction = do_adauga_balanta, ; + Left = 256, ; + Name = "But_nou1", ; + Top = 31 + *< END OBJECT: ClassLib="cmd_butoane.vcx" BaseClass="commandbutton" /> + + ADD OBJECT 'Ct_grid_search1.But_sterge1' AS but_sterge WITH ; + Anchor = 9, ; + caction = do_sterge_balanta, ; + Left = 313, ; + Name = "But_sterge1", ; + Top = 31 + *< END OBJECT: ClassLib="cmd_butoane.vcx" BaseClass="commandbutton" /> + + ADD OBJECT 'Ct_grid_search2' AS ct_grid_search WITH ; + Anchor = 225, ; + Height = 260, ; + Left = 12, ; + Name = "Ct_grid_search2", ; + Top = 202, ; + Width = 349, ; + ZOrderSet = 6, ; + _GRID1.FontName = "Arial", ; + _GRID1.Height = 195, ; + _GRID1.Left = 6, ; + _GRID1.Name = "_GRID1", ; + _GRID1.Top = 62, ; + _GRID1.Width = 336, ; + Titlu.Caption = "Coloane Balanta", ; + Titlu.Name = "Titlu", ; + Cb_tx_cautare1.Criteriu.Height = 24, ; + Cb_tx_cautare1.Criteriu.Left = 3, ; + Cb_tx_cautare1.Criteriu.Name = "Criteriu", ; + Cb_tx_cautare1.Criteriu.Top = 1, ; + Cb_tx_cautare1.Criteriu.Width = 105, ; + Cb_tx_cautare1.Height = 27, ; + Cb_tx_cautare1.Left = 7, ; + Cb_tx_cautare1.Name = "Cb_tx_cautare1", ; + Cb_tx_cautare1.Text.Height = 25, ; + Cb_tx_cautare1.Text.Left = 108, ; + Cb_tx_cautare1.Text.Name = "Text", ; + Cb_tx_cautare1.Text.ReadOnly = .T., ; + Cb_tx_cautare1.Text.Top = 1, ; + Cb_tx_cautare1.Text.Width = 138, ; + Cb_tx_cautare1.Top = 31, ; + Cb_tx_cautare1.Width = 248 + *< END OBJECT: ClassLib="ferestre_cere_date.vcx" BaseClass="container" /> + + ADD OBJECT 'Ct_grid_search2.But_modifica2' AS but_modifica WITH ; + Anchor = 9, ; + caction = do_modifica_coloane, ; + Left = 284, ; + Name = "But_modifica2", ; + Top = 31 + *< END OBJECT: ClassLib="cmd_butoane.vcx" BaseClass="commandbutton" /> + + ADD OBJECT 'Ct_grid_search2.But_nou2' AS but_nou WITH ; + Anchor = 9, ; + caction = do_adauga_coloane, ; + Left = 255, ; + Name = "But_nou2", ; + Top = 31 + *< END OBJECT: ClassLib="cmd_butoane.vcx" BaseClass="commandbutton" /> + + ADD OBJECT 'Ct_grid_search2.But_sterge2' AS but_sterge WITH ; + Anchor = 9, ; + caction = do_sterge_coloane, ; + Left = 312, ; + Name = "But_sterge2", ; + Top = 31 + *< END OBJECT: ClassLib="cmd_butoane.vcx" BaseClass="commandbutton" /> + + ADD OBJECT 'Ct_grid_search3' AS ct_grid_search WITH ; + Anchor = 225, ; + Height = 260, ; + Left = 372, ; + Name = "Ct_grid_search3", ; + Top = 202, ; + Width = 349, ; + ZOrderSet = 7, ; + _GRID1.FontName = "Arial", ; + _GRID1.Height = 195, ; + _GRID1.Left = 6, ; + _GRID1.Name = "_GRID1", ; + _GRID1.Top = 62, ; + _GRID1.Width = 336, ; + Titlu.Caption = "Formula Coloane", ; + Titlu.Name = "Titlu", ; + Cb_tx_cautare1.Criteriu.Height = 24, ; + Cb_tx_cautare1.Criteriu.Left = 3, ; + Cb_tx_cautare1.Criteriu.Name = "Criteriu", ; + Cb_tx_cautare1.Criteriu.Top = 1, ; + Cb_tx_cautare1.Criteriu.Width = 106, ; + Cb_tx_cautare1.Height = 27, ; + Cb_tx_cautare1.Left = 7, ; + Cb_tx_cautare1.Name = "Cb_tx_cautare1", ; + Cb_tx_cautare1.Text.Height = 25, ; + Cb_tx_cautare1.Text.Left = 110, ; + Cb_tx_cautare1.Text.Name = "Text", ; + Cb_tx_cautare1.Text.Top = 1, ; + Cb_tx_cautare1.Text.Width = 136, ; + Cb_tx_cautare1.Top = 31, ; + Cb_tx_cautare1.Visible = .F., ; + Cb_tx_cautare1.Width = 248 + *< END OBJECT: ClassLib="ferestre_cere_date.vcx" BaseClass="container" /> + + ADD OBJECT 'Ct_grid_search3.But_modifica3' AS but_modifica WITH ; + Anchor = 9, ; + caction = do_modifica_formula, ; + Left = 284, ; + Name = "But_modifica3", ; + Top = 32 + *< END OBJECT: ClassLib="cmd_butoane.vcx" BaseClass="commandbutton" /> + + ADD OBJECT 'Ct_grid_search3.But_nou3' AS but_nou WITH ; + Anchor = 9, ; + caction = do_adauga_formula, ; + Left = 255, ; + Name = "But_nou3", ; + Top = 31 + *< END OBJECT: ClassLib="cmd_butoane.vcx" BaseClass="commandbutton" /> + + ADD OBJECT 'Ct_grid_search3.But_sterge3' AS but_sterge WITH ; + Anchor = 9, ; + caction = do_sterge_formula, ; + Left = 312, ; + Name = "But_sterge3", ; + Top = 31 + *< END OBJECT: ClassLib="cmd_butoane.vcx" BaseClass="commandbutton" /> + + ADD OBJECT 'Edit1' AS editbox WITH ; + Anchor = 30, ; + ControlSource = "thisform.cFormula", ; + DisabledBackColor = 255,255,255, ; + Height = 46, ; + Left = 18, ; + Name = "Edit1", ; + ReadOnly = .T., ; + SpecialEffect = 1, ; + Top = 488, ; + Width = 696, ; + ZOrderSet = 8 + *< END OBJECT: BaseClass="editbox" /> + + ADD OBJECT 'LbExplicatie' AS label WITH ; + Anchor = 82, ; + AutoSize = .T., ; + BackStyle = 0, ; + Caption = "Explicatie", ; + FontItalic = .T., ; + FontUnderline = .T., ; + Height = 17, ; + Left = 18, ; + Name = "LbExplicatie", ; + Top = 470, ; + Width = 55, ; + ZOrderSet = 0 + *< END OBJECT: BaseClass="label" /> + + PROCEDURE calcul_formula + LOCAL lcFormula + lcFormula = [] + lcCrs = thisform.ct_grid_search3.cnumecursor + SELECT (lcCrs) + SCAN + lcFormula = lcFormula +" " +ALLTRIM(camp) + ENDSCAN + thisform.cformula = lcFormula + thisform.edit1.Refresh + + lcFormula = ALLTRIM(this.ctiltlubalanta) + [ - Formula de calcul pentru coloana "] + ALLTRIM(this.cnumecoloana) + [" este :] + this.lbExplicatie.Caption = lcFormula + this.lbExplicatie.Refresh + ENDPROC + + PROCEDURE do_adauga_balanta + lcSel = this.ct_grid_search1.cnumecursor + SELECT (lcSel) + SCATTER NAME oadd BLANK + + lcSql = [select distinct cont, 0 as ales from ] + gcs + [.vcoresp_tip_cont order by cont] + lcCursor = [crsCont] + lnSucces = goExecutor.oExecute(lcSql, lcCursor) + + IF lnSucces < 0 + aMESSAGEBOX(goExecutor.cEroare,0+16,"Eroare") + RETURN + ENDIF + + gnButon = 2 + poAdd = CREATEOBJECT('config_balanta_nou') + poAdd.show() + + IF gnButon = 1 + pcListaConturi = ALLTRIM(oadd.explicatie2) + pcExplicatie = ALLTRIM(oadd.explicatie) + pnIdBal = oadd.id_coloana + lcCallProc = [{call pack_balante_cumulate.add_new_balanta(?gcs,?pcListaConturi,'+',?pcExplicatie,1,?pnIdBal)}] + lnSucces = goExecutor.oExecute(lcCallProc) + IF lnSucces < 0 + aMESSAGEBOX(goExecutor.cEroare,0+16,"Eroare") + RETURN + ENDIF + ENDIF + + IF USED(lcCursor) + USE IN (lcCursor) + ENDIF + + this.ct_grid_search1.actualizeaza_grid() + this.ct_grid_search1._GRID1.AutoFit + this.ct_grid_search1.SetFocus + ENDPROC + + PROCEDURE do_adauga_coloane + lcSel = this.ct_grid_search2.cnumecursor + SELECT (lcSel) + SCATTER NAME oadd BLANK + + + gnButon = 2 + poAdd = CREATEOBJECT('config_coloana_nou') + poAdd.show() + + IF gnButon = 1 + pcNumeColoana = ALLTRIM(oadd.explicatie) + pnOrdine = oadd.ordine + pnIdBal = thisform.nidbalanta + pnIdCol = oadd.id_op_col + pnIdCalcul = oadd.id_calcul + + lcCallProc = [{call pack_balante_cumulate.add_new_coloana(?gcs,?pcNumeColoana,?pnOrdine,1,?pnIdBal,?pnIdCol,?pnIdCalcul)}] + lnSucces = goExecutor.oExecute(lcCallProc) + IF lnSucces < 0 + amessagebox(goExecutor.cEroare,0+16,"Eroare") + RETURN + ENDIF + ENDIF + + this.ct_grid_search2.actualizeaza_grid() + this.ct_grid_search2._GRID1.AutoFit + this.ct_grid_search2.SetFocus + ENDPROC + + PROCEDURE do_adauga_formula + lcSel = this.ct_grid_search3.cnumecursor + SELECT (lcSel) + SCATTER NAME oadd BLANK + + pcListaConturi = ['] + ALLTRIM(STRTRAN(this.clistaconturi, [+], [','])) + ['] + + lcSql = [select id_coloana, explicatie, camp from ] + gcs + [.coloane where explicatie2 in (] + pcListaConturi + [) order by explicatie2, id_coloana] + lcCursor1 = [crsColoane] + lnSucces = goExecutor.oExecute(lcSql, lcCursor1) + + IF lnSucces < 0 + amessagebox(goExecutor.cEroare,0+16,"Eroare") + RETURN + ENDIF + + lcSql = [select id_operator, operator, traducere from ] + gcs + [.sal_operatori where functie = 0 order by id_operator] + lcCursor2 = [CrsOperatori] + lnSucces = goExecutor.oExecute(lcSql, lcCursor2) + + IF lnSucces < 0 + amessagebox(goExecutor.cEroare,0+16,"Eroare") + RETURN + ENDIF + + pcTata = this.cnumecoloana + + gnButon = 2 + poAdd = CREATEOBJECT('config_formula_nou') + poAdd.show() + + IF gnButon = 1 + pnOrdine = oadd.ordine + pnTip = 1 && Insert + pnIdTata = this.nidcoloana + pnIdColOp = oadd.Id_Op_col + pnFel = oadd.coloana + pnIdCalcul = oadd.id_calcul + + lcCallProc = [{call pack_balante_cumulate.add_new_formula(?gcs,?pnOrdine, ?pnTip, ?pnIdTata, ?pnIdColOp, ?pnFel, ?pnIdCalcul)}] + lnSucces = goExecutor.oExecute(lcCallProc) + IF lnSucces < 0 + amessagebox(goExecutor.cEroare,0+16,"Eroare") + RETURN + ENDIF + ENDIF + + IF USED(lcCursor1) + USE IN (lcCursor1) + ENDIF + IF USED(lcCursor2) + USE IN (lcCursor2) + ENDIF + + this.ct_grid_search3.actualizeaza_grid() + this.ct_grid_search3._GRID1.AutoFit + this.ct_grid_search3.SetFocus + this.calcul_formula + ENDPROC + + PROCEDURE do_modifica_balanta + lcSel = this.ct_grid_search1.cnumecursor + SELECT (lcSel) + SCATTER NAME oadd + pcListaConturi = ALLTRIM(STRTRAN(oadd.explicatie2,[+],[,])) + + lcSql = [select distinct cont, (CASE WHEN cont in (] + pcListaConturi + [) THEN 1 ELSE 0 END) as ales from ] + gcs + [.vcoresp_tip_cont order by cont] + lcCursor = [crsCont] + lnSucces = goExecutor.oExecute(lcSql, lcCursor) + + IF lnSucces < 0 + amessagebox(goExecutor.cEroare,0+16,"Eroare") + RETURN + ENDIF + + SELECT (lcCursor) + gnButon = 2 + poAdd = CREATEOBJECT('config_balanta_nou') + poAdd.show() + + IF gnButon = 1 + pcListaConturi = ALLTRIM(oadd.explicatie2) + pcExplicatie = ALLTRIM(oadd.explicatie) + pnIdBal = oadd.id_coloana + lcCallProc = [{call pack_balante_cumulate.add_new_balanta(?gcs,?pcListaConturi,'+',?pcExplicatie,2,?pnIdBal)}] + lnSucces = goExecutor.oExecute(lcCallProc) + IF lnSucces < 0 + amessagebox(goExecutor.cEroare,0+16,"Eroare") + RETURN + ENDIF + ENDIF + + IF USED(lcCursor) + USE IN (lcCursor) + ENDIF + + this.ct_grid_search1.actualizeaza_grid() + this.ct_grid_search1._GRID1.AutoFit + ENDPROC + + PROCEDURE do_modifica_coloane + lcSel = this.ct_grid_search2.cnumecursor + SELECT (lcSel) + SCATTER NAME oadd + + + gnButon = 2 + poAdd = CREATEOBJECT('config_coloana_nou') + poAdd.show() + + IF gnButon = 1 + pcNumeColoana = ALLTRIM(oadd.explicatie) + pnOrdine = oadd.ordine + pnIdBal = oadd.id_coloana + pnIdCol = oadd.id_op_col + pnIdCalcul = oadd.id_calcul + + lcCallProc = [{call pack_balante_cumulate.add_new_coloana(?gcs,?pcNumeColoana,?pnOrdine,2,?pnIdBal,?pnIdCol,?pnIdCalcul)}] + lnSucces = goExecutor.oExecute(lcCallProc) + IF lnSucces < 0 + amessagebox(goExecutor.cEroare,0+16,"Eroare") + RETURN + ENDIF + ENDIF + + this.ct_grid_search2.actualizeaza_grid() + this.ct_grid_search2._GRID1.AutoFit + ENDPROC + + PROCEDURE do_modifica_formula + lcSel = this.ct_grid_search3.cnumecursor + SELECT (lcSel) + SCATTER NAME oadd + + pcListaConturi = ['] + ALLTRIM(STRTRAN(this.clistaconturi, [+], [','])) + ['] + + lcSql = [select id_coloana, explicatie, camp from ] + gcs + [.coloane where explicatie2 in (] + pcListaConturi + [) order by explicatie2, id_coloana] + lcCursor1 = [crsColoane] + lnSucces = goExecutor.oExecute(lcSql, lcCursor1) + + IF lnSucces < 0 + amessagebox(goExecutor.cEroare,0+16,"Eroare") + RETURN + ENDIF + + lcSql = [select id_operator, operator, traducere from ] + gcs + [.sal_operatori where functie = 0 order by id_operator] + lcCursor2 = [CrsOperatori] + lnSucces = goExecutor.oExecute(lcSql, lcCursor2) + + IF lnSucces < 0 + amessagebox(goExecutor.cEroare,0+16,"Eroare") + RETURN + ENDIF + + pcTata = this.cnumecoloana + + gnButon = 2 + poAdd = CREATEOBJECT('config_formula_nou') + poAdd.show() + + IF gnButon = 1 + pnOrdine = oadd.ordine + pnTip = 2 && UPDATE + pnIdTata = this.nidcoloana + pnIdColOp = oadd.Id_Op_col + pnFel = oadd.coloana + pnIdCalcul = oadd.id_calcul + + lcCallProc = [{call pack_balante_cumulate.add_new_formula(?gcs,?pnOrdine, ?pnTip, ?pnIdTata, ?pnIdColOp, ?pnFel, ?pnIdCalcul)}] + lnSucces = goExecutor.oExecute(lcCallProc) + IF lnSucces < 0 + amessagebox(goExecutor.cEroare,0+16,"Eroare") + RETURN + ENDIF + ENDIF + + IF USED(lcCursor1) + USE IN (lcCursor1) + ENDIF + IF USED(lcCursor2) + USE IN (lcCursor2) + ENDIF + + this.ct_grid_search3.actualizeaza_grid() + this.ct_grid_search3._GRID1.AutoFit + this.calcul_formula + ENDPROC + + PROCEDURE do_sterge_balanta + lcSel = this.ct_grid_search1.cnumecursor + SELECT (lcSel) + SCATTER NAME oadd + + lnBut = amessagebox('Stergeti ' + ALLTRIM(oadd.explicatie) + ' ?',4+32,'Atentie') + + IF lnBut = 6 + pcListaConturi = ALLTRIM(oadd.explicatie2) + pcExplicatie = ALLTRIM(oadd.explicatie) + pnIdBal = oadd.id_coloana + lcCallProc = [{call pack_balante_cumulate.add_new_balanta(?gcs,?pcListaConturi,'+',?pcExplicatie,3,?pnIdBal)}] + lnSucces = goExecutor.oExecute(lcCallProc) + IF lnSucces < 0 + amessagebox(goExecutor.cEroare,0+16,"Eroare") + RETURN + ENDIF + ENDIF + + this.ct_grid_search1.actualizeaza_grid() + this.ct_grid_search1._GRID1.AutoFit + this.ct_grid_search1.SetFocus + ENDPROC + + PROCEDURE do_sterge_coloane + lcSel = this.ct_grid_search2.cnumecursor + SELECT (lcSel) + SCATTER NAME oadd + + + lnBut = amessagebox('Stergeti coloana ' + ALLTRIM(oadd.explicatie) + ' ?',4+32,'Atentie') + + IF lnBut = 6 + pcNumeColoana = ALLTRIM(oadd.explicatie) + pnOrdine = oadd.ordine + pnIdBal = oadd.id_coloana + pnIdCol = oadd.id_op_col + pnIdCalcul = oadd.id_calcul + + lcCallProc = [{call pack_balante_cumulate.add_new_coloana(?gcs,?pcNumeColoana,?pnOrdine,3,?pnIdBal,?pnIdCol,?pnIdCalcul)}] + lnSucces = goExecutor.oExecute(lcCallProc) + IF lnSucces < 0 + amessagebox(goExecutor.cEroare,0+16,"Eroare") + RETURN + ENDIF + ENDIF + + this.ct_grid_search2.actualizeaza_grid() + this.ct_grid_search2._GRID1.AutoFit + this.ct_grid_search2.SetFocus + ENDPROC + + PROCEDURE do_sterge_formula + lcSel = this.ct_grid_search3.cnumecursor + SELECT (lcSel) + SCATTER NAME oadd + + lnBut = amessagebox('Stergeti formula ' + ALLTRIM(oadd.explicatie) + ' ?',4+32,'Atentie') + + IF lnBut = 6 + pnOrdine = oadd.ordine + pnTip = 3 && DELETE + pnIdTata = this.nidcoloana + pnIdColOp = oadd.Id_Op_col + pnFel = oadd.coloana + pnIdCalcul = oadd.id_calcul + + lcCallProc = [{call pack_balante_cumulate.add_new_formula(?gcs,?pnOrdine, ?pnTip, ?pnIdTata, ?pnIdColOp, ?pnFel, ?pnIdCalcul)}] + lnSucces = goExecutor.oExecute(lcCallProc) + IF lnSucces < 0 + amessagebox(goExecutor.cEroare,0+16,"Eroare") + RETURN + ENDIF + ENDIF + + this.ct_grid_search3.actualizeaza_grid() + this.ct_grid_search3._GRID1.AutoFit + this.ct_grid_search3.SetFocus + this.calcul_formula + ENDPROC + + PROCEDURE Show + LPARAMETERS nStyle + + + this.ct_grid_search1.initializare(.t.) + + lcSel = this.ct_grid_search1.cnumecursor + SELECT (lcSel) + LOCATE + pnIdBalanta = id_coloana + this.nidbalanta = id_coloana + this.cListaConturi = explicatie2 + this.cTiltluBalanta = explicatie + this.ct_grid_search2.initializare(.t.) + + lcSel = this.ct_grid_search2.cnumecursor + SELECT (lcSel) + LOCATE + pnIdColoana = id_op_col + this.nidcoloana = id_op_col + this.cNumeColoana = explicatie + this.ct_grid_search3.initializare(.t.) + + this.ct_grid_search1._GRID1.SetFocus + + THIS.WindowState = 2 + ENDPROC + + PROCEDURE Ct_grid_search1.Resize + * + ENDPROC + + PROCEDURE Ct_grid_search1._GRID1.AfterRowColChange + LPARAMETERS nColIndex + DODEFAULT(nColIndex) + pnIdBalanta = id_coloana + thisform.nIdbalanta = id_coloana + thisform.cListaConturi = explicatie2 + thisform.cTiltluBalanta = explicatie + + thisform.ct_grid_search2.actualizeaza_grid() + thisform.ct_grid_search2._GRID1.AutoFit + lcSel = thisform.ct_grid_search2.cnumecursor + pnIdColoana = &lcSel..id_op_col + thisform.nIdColoana = &lcSel..id_op_col + thisform.cNumeColoana = &lcSel..explicatie + + thisform.ct_grid_search3.actualizeaza_grid() + thisform.ct_grid_search3._GRID1.AutoFit + + thisform.calcul_formula + ENDPROC + + PROCEDURE Ct_grid_search2._GRID1.AfterRowColChange + LPARAMETERS nColIndex + DODEFAULT(nColIndex) + pnIdColoana = id_op_col + thisform.nIdColoana = id_op_col + thisform.cNumeColoana = explicatie + + thisform.ct_grid_search3.actualizeaza_grid() + thisform.ct_grid_search3._GRID1.AutoFit + + thisform.calcul_formula + ENDPROC + + PROCEDURE _shape1.DblClick + IF thisform.WindowState = 2 + thisform.WindowState = 0 + ELSE + thisform.WindowState = 2 + ENDIF + ENDPROC + +ENDDEFINE + +DEFINE CLASS config_coloana_nou AS frm_termin_renunt OF "..\..\comun\clase\_frm_child.vcx" + *< CLASSDATA: Baseclass="form" Timestamp="" Scale="Pixels" Uniqueid="" /> + + *-- OBJECTDATA items order determines ZOrder / El orden de los items OBJECTDATA determina el ZOrder + *< OBJECTDATA: ObjPath="Clb_tx_simplu1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="Clb_tx_simplu2" UniqueID="" Timestamp="" /> + + * + *p: nid + *p: orec + * + + * + DoCreate = .T. + Height = 125 + Name = "config_coloana_nou" + nid = .F. + orec = .F. + Width = 375 + _shape1.Name = "_shape1" + _shape2.Name = "_shape2" + Lb_titlu_alb_b121.Caption = "-" + Lb_titlu_alb_b121.Name = "Lb_titlu_alb_b121" + Lb_titlu_alb_b121.TabIndex = 5 + BUT_TERMIN1.Name = "BUT_TERMIN1" + BUT_TERMIN1.TabIndex = 3 + BUT_RENUNT1.Name = "BUT_RENUNT1" + BUT_RENUNT1.TabIndex = 4 + * + + ADD OBJECT 'Clb_tx_simplu1' AS clb_tx_simplu WITH ; + Left = 41, ; + Name = "Clb_tx_simplu1", ; + TabIndex = 1, ; + Top = 41, ; + TEXT_SIMPLU1.ControlSource = "oadd.explicatie", ; + TEXT_SIMPLU1.Format = "K", ; + TEXT_SIMPLU1.Name = "TEXT_SIMPLU1", ; + Lb_simplu1.Caption = "Denumire", ; + Lb_simplu1.Name = "Lb_simplu1" + *< END OBJECT: ClassLib="..\..\comun\clase\lb_tx.vcx" BaseClass="container" /> + + ADD OBJECT 'Clb_tx_simplu2' AS clb_tx_simplu WITH ; + Left = 41, ; + Name = "Clb_tx_simplu2", ; + TabIndex = 2, ; + Top = 71, ; + TEXT_SIMPLU1.ControlSource = "oadd.ordine", ; + TEXT_SIMPLU1.Name = "TEXT_SIMPLU1", ; + Lb_simplu1.Caption = "Ordine", ; + Lb_simplu1.Name = "Lb_simplu1" + *< END OBJECT: ClassLib="..\..\comun\clase\lb_tx.vcx" BaseClass="container" /> + +ENDDEFINE + +DEFINE CLASS config_formula_nou AS frm_termin_renunt OF "..\..\comun\clase\_frm_child.vcx" + *< CLASSDATA: Baseclass="form" Timestamp="" Scale="Pixels" Uniqueid="" /> + + *-- OBJECTDATA items order determines ZOrder / El orden de los items OBJECTDATA determina el ZOrder + *< OBJECTDATA: ObjPath="Clb_tx_simplu1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="Check1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="Cb_tx" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="Clb_tx_simplu2" UniqueID="" Timestamp="" /> + + * + *p: nid + *p: orec + * + + * + BorderStyle = 1 + DoCreate = .T. + Height = 189 + Name = "config_formula_nou" + nid = .F. + orec = .F. + Width = 375 + _shape1.Name = "_shape1" + _shape2.Name = "_shape2" + Lb_titlu_alb_b121.Caption = "-" + Lb_titlu_alb_b121.Name = "Lb_titlu_alb_b121" + Lb_titlu_alb_b121.TabIndex = 7 + BUT_TERMIN1.Name = "BUT_TERMIN1" + BUT_TERMIN1.TabIndex = 5 + BUT_RENUNT1.Name = "BUT_RENUNT1" + BUT_RENUNT1.TabIndex = 6 + * + + ADD OBJECT 'Cb_tx' AS cb_tx_simplu WITH ; + Left = 42, ; + Name = "Cb_tx", ; + TabIndex = 3, ; + Top = 110, ; + _cbbase1.ControlSource = "oadd.camp", ; + _cbbase1.Name = "_cbbase1", ; + _cbbase1.RowSourceType = 2, ; + _lbbase1.Name = "_lbbase1" + *< END OBJECT: ClassLib="..\..\comun\clase\lb_tx.vcx" BaseClass="container" /> + + ADD OBJECT 'Check1' AS checkbox WITH ; + Alignment = 0, ; + AutoSize = .T., ; + BackStyle = 0, ; + Caption = "Coloana", ; + ControlSource = "oadd.coloana", ; + Height = 17, ; + Left = 42, ; + Name = "Check1", ; + TabIndex = 2, ; + Top = 86, ; + Width = 65 + *< END OBJECT: BaseClass="checkbox" /> + + ADD OBJECT 'Clb_tx_simplu1' AS clb_tx_simplu WITH ; + Left = 42, ; + Name = "Clb_tx_simplu1", ; + TabIndex = 1, ; + Top = 50, ; + TEXT_SIMPLU1.ControlSource = "pcTata", ; + TEXT_SIMPLU1.Name = "TEXT_SIMPLU1", ; + TEXT_SIMPLU1.ReadOnly = .T., ; + Lb_simplu1.Caption = "Camp calculat:", ; + Lb_simplu1.Name = "Lb_simplu1" + *< END OBJECT: ClassLib="..\..\comun\clase\lb_tx.vcx" BaseClass="container" /> + + ADD OBJECT 'Clb_tx_simplu2' AS clb_tx_simplu WITH ; + Left = 42, ; + Name = "Clb_tx_simplu2", ; + TabIndex = 4, ; + Top = 138, ; + TEXT_SIMPLU1.ControlSource = "oadd.ordine", ; + TEXT_SIMPLU1.Name = "TEXT_SIMPLU1", ; + Lb_simplu1.Caption = "Ordine", ; + Lb_simplu1.Name = "Lb_simplu1" + *< END OBJECT: ClassLib="..\..\comun\clase\lb_tx.vcx" BaseClass="container" /> + + PROCEDURE Show + LPARAMETERS nStyle + IF oadd.coloana = 1 + thisform.cb_tx._cbbase1.RowSource = 'crsColoane.camp,explicatie' + thisform.cb_tx._lbbase1.Caption = "COLOANA" + ELSE + thisform.cb_tx._cbbase1.RowSource = 'CrsOperatori.traducere' + thisform.cb_tx._lbbase1.Caption = "OPERATOR" + ENDIF + ENDPROC + + PROCEDURE Cb_tx._cbbase1.LostFocus + *!* IF oadd.coloana = 1 + *!* *!* thisform.cb_tx._cbbase1.RowSource = 'v_colcalc.explicatie' + *!* *!* thisform.cb_tx._lbbase1.Caption = "COLOANA" + *!* oadd.id_op_col = v_colcalc.id_coloana + + *!* ELSE + *!* *!* thisform.cb_tx._cbbase1.RowSource = 'v_operatori.traducere' + *!* *!* thisform.cb_tx._lbbase1.Caption = "OPERATOR" + *!* porec.id_op_Col = v_operatori.id_operator + + *!* ENDIF + + + ENDPROC + + PROCEDURE Cb_tx._cbbase1.Valid + IF oadd.coloana = 1 + oadd.id_op_col = crsColoane.id_coloana + ELSE + oadd.id_op_col = crsOperatori.id_operator + ENDIF + ENDPROC + + PROCEDURE Check1.InteractiveChange + IF this.Value = 1 + thisform.cb_tx._cbbase1.RowSource = 'crsColoane.camp' + thisform.cb_tx._lbbase1.Caption = "COLOANA" + ELSE + thisform.cb_tx._cbbase1.RowSource = 'CrsOperatori.traducere' + thisform.cb_tx._lbbase1.Caption = "OPERATOR" + ENDIF + ENDPROC + +ENDDEFINE + +DEFINE CLASS frm_bal_parteneri AS _frmbase OF "_frm_base.vcx" + *< CLASSDATA: Baseclass="form" Timestamp="" Scale="Pixels" Uniqueid="" /> + + *-- OBJECTDATA items order determines ZOrder / El orden de los items OBJECTDATA determina el ZOrder + *< OBJECTDATA: ObjPath="But_modifica1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="But_excel1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="grid1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="grid1.cNume.Header1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="grid1.cNume.Text1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="grid1.cAcont.Header1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="grid1.cAcont.Text1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="grid1.cSoldPrec.Header1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="grid1.cSoldPrec.Text1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="grid1.cAvans.Header1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="grid1.cAvans.Text1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="grid1.cDeb.Header1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="grid1.cDeb.Text1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="grid1.cCred.Header1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="grid1.cCred.Text1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="grid1.cSold.Header1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="grid1.cSold.Text1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="grid1.cSoldFinal.Header1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="grid1.cSoldFinal.Text1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="grid1.cAvansPrec.Header1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="grid1.cAvansPrec.Text1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="grid1.cPrecdeb.Header1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="grid1.cPrecdeb.Text1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="grid1.cPreccred.Header1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="grid1.cPreccred.Text1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="grid1.cTotAvans.Header1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="grid1.cTotAvans.Text1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="grid1.cTotdeb.Header1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="grid1.cTotdeb.Text1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="grid1.cTotcred.Header1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="grid1.cTotcred.Text1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="grid1.cCod_fiscal.Header1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="grid1.cCod_fiscal.Text1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="grid1.cNume_val.Header1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="grid1.cNume_val.Text1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="grid1.cSoldPrecVal.Header1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="grid1.cSoldPrecVal.Text1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="grid1.cValDebit.Header1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="grid1.cValDebit.Text1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="grid1.cValCredit.Header1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="grid1.cValCredit.Text1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="grid1.cSoldFinalVal.Header1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="grid1.cSoldFinalVal.Text1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="grid1.cAcont2.Header1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="grid1.cAcont2.Text1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="grid1.cNume2.Header1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="grid1.cNume2.Text1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="grid1.cId_part.Header1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="grid1.cId_part.Text1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="grid1.Column24.Header1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="grid1.Column24.Text1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="grid1.cSucursala.Header1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="grid1.cSucursala.Text1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="grid1.csoldprec1.Header1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="grid1.csoldprec1.Text1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="grid1.cPrecdeb1.Header1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="grid1.cPrecdeb1.Text1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="grid1.cPreccred1.Header1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="grid1.cPreccred1.Text1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="grid1.cRulanDeb.Header1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="grid1.cRulanDeb.Text1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="grid1.cRulAnCred.Header1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="grid1.cRulAnCred.Text1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="grid1.cAdresa.Header1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="grid1.cAdresa.Text1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="grid1.cRegComert.Header1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="grid1.cRegComert.Text1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="grid1.cTelefon.Header1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="grid1.cTelefon.Text1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="grid1.cEmail.Header1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="grid1.cEmail.Text1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="grid1.cRulanpdeb.Header1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="grid1.cRulanpdeb.Text1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="grid1.cRulanpCred.Header1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="grid1.cRulanpCred.Text1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="grid1.cContBanca.Header1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="grid1.cContBanca.Text1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="grid1.cSwiftBanca.Header1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="grid1.cSwiftBanca.Text1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="grid1.cBanca.Header1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="grid1.cBanca.Text1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="grid1.cAdresaBanca.Header1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="grid1.cAdresaBanca.Text1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="grid1.cCategorieEntitate.Header1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="grid1.cCategorieEntitate.Text1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="But_listare2" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="But_reface1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="cmdDebitor" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="But_verifica1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="Lb_shortcuts1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="cmdLunaInitializare" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="oContextMenu" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="Gridextra1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="Optiongroup1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="oMenuShortcut" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="But_start_criterii1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="_grdfooter1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="But_reset_criterii1" UniqueID="" Timestamp="" /> + + * + *m: actualizeaza_totaluri + *m: butapend + *m: butdrept + *m: corderby_assign + *m: initializare + *m: istavans + *m: istcred + *m: istdeb + *m: istdebcred + *m: lblocatrefacere_assign + *m: listare_notificari + *m: llunainitializare_assign + *p: casc + *p: centitate + *p: cnewvalue + *p: coldvalue + *p: corder + *p: cseparator + *p: cvaluta + *p: lafisaretot + *p: lblocatrefacere + *p: llunainitializare + *p: lmodificare_totaluri && Dezactiveaza BeforeRowColChange cand se reactualizeaza totalurile. + *p: lmodificata && Indica daca linia a fost modificata sau nu. + *p: ncurs + *p: nprec1avans + *p: nprec1cred + *p: nprec1deb + *p: nprecavans + *p: npreccred + *p: nprecdeb + *p: nsold1prec + *p: nsoldprec + *p: nsoldtot + *p: ntavans + *p: ntcred + *p: ntdeb + *p: ntipselectie && Variabila pentru tipul selectiei : toti (1), interni(2), externi(3). + *p: ntotavans + *p: ntotcred + *p: ntotdeb + *p: ntsold + *p: pcacont + *p: pccont + *p: pcfel + *p: pnidpart + *p: reglat + *p: tabel + * + + * + BorderStyle = 1 + casc = ASC + cbuton2 = but_listare1;but_listare2 + centitate = BP + cgridsortlist = grid1 + cnewvalue = + coldvalue = + corder = + cseparator = . + cvaluta = + DoCreate = .T. + Height = 508 + lafisaretot = .F. + lblocatrefacere = .F. + llunainitializare = .F. + lmodificare_totaluri = .F. + lmodificata = .F. + Name = "frm_bal_parteneri" + ncurs = 0 + nprec1avans = 0 + nprec1cred = 0 + nprec1deb = 0 + nprecavans = 0 + npreccred = 0 + nprecdeb = 0 + nsold1prec = 0 + nsoldprec = 0 + nsoldtot = 0 + ntavans = 0 + ntcred = 0 + ntdeb = 0 + ntipselectie = 1 + ntotavans = 0 + ntotcred = 0 + ntotdeb = 0 + ntsold = 0 + pcacont = .F. + pccont = '' + pcfel = '' + pnidpart = .F. + reglat = .F. + tabel = '' + Width = 910 + _memberdata = + + + + + + + + _shape1.Anchor = 11 + _shape1.Height = 29 + _shape1.Left = 0 + _shape1.Name = "_shape1" + _shape1.Top = 0 + _shape1.Width = 910 + _shape1.ZOrderSet = 3 + _shape2.Anchor = 9 + _shape2.Height = 29 + _shape2.Left = 612 + _shape2.Name = "_shape2" + _shape2.Top = 0 + _shape2.Width = 178 + _shape2.ZOrderSet = 4 + Lb_titlu_alb_b121.Caption = "SITUATII ANALITICE" + Lb_titlu_alb_b121.Left = 6 + Lb_titlu_alb_b121.Name = "Lb_titlu_alb_b121" + Lb_titlu_alb_b121.Top = -1 + Lb_titlu_alb_b121.Width = 146 + Lb_titlu_alb_b121.ZOrderSet = 6 + BUT_TERMIN1.Anchor = 9 + BUT_TERMIN1.Left = 879 + BUT_TERMIN1.Name = "BUT_TERMIN1" + BUT_TERMIN1.Top = 1 + BUT_TERMIN1.ZOrderSet = 17 + Gridsort1.Left = 336 + Gridsort1.Name = "Gridsort1" + Gridsort1.Top = 0 + * + + ADD OBJECT '_grdfooter1' AS _grdfooter WITH ; + ccolwithlabel = cNume, ; + csourcegrdalias = xtemp, ; + csourcegrid = grid1, ; + csumcolumns = csoldprec1,csoldprec,cdeb,ccred,csold,csoldfinal,cprecdeb1,cpreccred1,crulandeb,crulancred,crulanpdeb,crulanpcred,cprecdeb,cpreccred,ctotdeb,ctotcred,csoldfinalval,cvaldebit,cvalcredit, ; + ctotallabelexpression = 'TOTAL', ; + Left = 6, ; + Name = "_grdfooter1", ; + Top = 465, ; + Width = 896 + *< END OBJECT: ClassLib="_grd_base.vcx" BaseClass="grid" /> + + ADD OBJECT 'But_excel1' AS but_excel WITH ; + Anchor = 9, ; + Left = 820, ; + Name = "But_excel1", ; + Top = 1, ; + ZOrderSet = 35 + *< END OBJECT: ClassLib="cmd_butoane.vcx" BaseClass="commandbutton" /> + + ADD OBJECT 'But_listare2' AS but_listare WITH ; + Anchor = 9, ; + Left = 849, ; + Name = "But_listare2", ; + ToolTipText = "Listare detaliata", ; + Top = 1, ; + ZOrderSet = 37 + *< END OBJECT: ClassLib="cmd_butoane.vcx" BaseClass="commandbutton" /> + + ADD OBJECT 'But_modifica1' AS but_modifica WITH ; + Anchor = 9, ; + caction = butapend, ; + Left = 790, ; + Name = "But_modifica1", ; + Top = 1, ; + ZOrderSet = 34 + *< END OBJECT: ClassLib="cmd_butoane.vcx" BaseClass="commandbutton" /> + + ADD OBJECT 'But_reface1' AS but_reface WITH ; + Anchor = 9, ; + Left = 760, ; + Name = "But_reface1", ; + Top = 1, ; + ZOrderSet = 38 + *< END OBJECT: ClassLib="cmd_butoane.vcx" BaseClass="commandbutton" /> + + ADD OBJECT 'But_reset_criterii1' AS but_reset_criterii WITH ; + Anchor = 9, ; + Left = 675, ; + Name = "But_reset_criterii1", ; + Top = 1, ; + Visible = .T., ; + ZOrderSet = 20 + *< END OBJECT: ClassLib="ocriterii.vcx" BaseClass="commandbutton" /> + + ADD OBJECT 'But_start_criterii1' AS but_start_criterii WITH ; + Anchor = 9, ; + Height = 27, ; + Left = 704, ; + Name = "But_start_criterii1", ; + RightToLeft = .F., ; + SpecialEffect = 1, ; + Top = 1, ; + Width = 31, ; + ZOrderSet = 19 + *< END OBJECT: ClassLib="ocriterii.vcx" BaseClass="commandbutton" /> + + ADD OBJECT 'But_verifica1' AS but_verifica WITH ; + Anchor = 8, ; + Left = 732, ; + Name = "But_verifica1", ; + TabIndex = 14, ; + ToolTipText = "Verificare coduri fiscale", ; + Top = 1, ; + ZOrderSet = 11 + *< END OBJECT: ClassLib="cmd_butoane.vcx" BaseClass="commandbutton" /> + + ADD OBJECT 'cmdDebitor' AS commandbutton WITH ; + Anchor = 8, ; + AutoSize = .T., ; + Caption = "Istoric Debit/Credit", ; + FontBold = .F., ; + FontCharSet = 0, ; + FontSize = 10, ; + Height = 29, ; + Left = 767, ; + Name = "cmdDebitor", ; + Top = 38, ; + Width = 129, ; + ZOrderSet = 40 + *< END OBJECT: BaseClass="commandbutton" /> + + ADD OBJECT 'cmdLunaInitializare' AS cmd_executa WITH ; + Anchor = 9, ; + AutoSize = .T., ; + Caption = "Luna initializare!", ; + ForeColor = 255,0,0, ; + Left = 537, ; + Name = "cmdLunaInitializare", ; + ToolTipText = "Atentie, situatia contabila a fost initializata manual si nu se modifica in cazul refacerii/redeschiderii de luna! Click pentru schimbare optiune!", ; + Top = 0, ; + Visible = .F. + *< END OBJECT: ClassLib="cmd_butoane.vcx" BaseClass="commandbutton" /> + + ADD OBJECT 'grid1' AS _grdrow WITH ; + Anchor = 15, ; + ColumnCount = 41, ; + DeleteMark = .F., ; + FontName = "Arial", ; + FontSize = 10, ; + Height = 393, ; + Left = 6, ; + Name = "grid1", ; + Panel = 1, ; + RowHeight = 20, ; + Top = 72, ; + Width = 896, ; + ZOrderSet = 7, ; + Column1.ColumnOrder = 3, ; + Column1.ControlSource = "nume", ; + Column1.FontName = "Arial", ; + Column1.FontSize = 10, ; + Column1.Name = "cNume", ; + Column1.Width = 171, ; + Column2.ColumnOrder = 2, ; + Column2.ControlSource = "acont", ; + Column2.DynamicBackColor = "iif(this.readonly,RGB(255,255,255),RGB(252,255,183))", ; + Column2.FontName = "Arial", ; + Column2.FontSize = 10, ; + Column2.InputMask = "9999", ; + Column2.Name = "cAcont", ; + Column2.Width = 46, ; + Column3.ColumnOrder = 5, ; + Column3.ControlSource = "soldprec", ; + Column3.DynamicBackColor = "RGB(236,249,255)", ; + Column3.FontName = "Arial", ; + Column3.FontSize = 10, ; + Column3.InputMask = (get_mask(12,gnPA)), ; + Column3.Name = "cSoldPrec", ; + Column3.Width = 100, ; + Column4.ColumnOrder = 6, ; + Column4.ControlSource = "", ; + Column4.DynamicBackColor = "iif(this.readonly,RGB(255,255,255),RGB(252,255,183))", ; + Column4.FontName = "Arial", ; + Column4.FontSize = 10, ; + Column4.InputMask = (get_mask(12,gnPA)), ; + Column4.Name = "cAvans", ; + Column4.Width = 78, ; + Column5.ColumnOrder = 7, ; + Column5.ControlSource = "deb", ; + Column5.DynamicBackColor = "iif(this.readonly,RGB(255,255,255),RGB(252,255,183))", ; + Column5.FontName = "Arial", ; + Column5.FontSize = 10, ; + Column5.InputMask = (get_mask(12,gnPA)), ; + Column5.Name = "cDeb", ; + Column5.Width = 101, ; + Column6.ColumnOrder = 8, ; + Column6.ControlSource = "cred", ; + Column6.DynamicBackColor = "IIF(THIS.READONLY,RGB(255,255,255),RGB(252,255,183))", ; + Column6.FontName = "Arial", ; + Column6.FontSize = 10, ; + Column6.InputMask = (get_mask(12,gnPA)), ; + Column6.Name = "cCred", ; + Column6.Width = 96, ; + Column7.ColumnOrder = 9, ; + Column7.ControlSource = "sold", ; + Column7.FontName = "Arial", ; + Column7.FontSize = 10, ; + Column7.InputMask = (get_mask(12,gnPA)), ; + Column7.Name = "cSold", ; + Column7.Width = 130, ; + Column8.ColumnOrder = 10, ; + Column8.ControlSource = "totdeb-totcred", ; + Column8.DynamicBackColor = "RGB(187,235,255)", ; + Column8.FontName = "Arial", ; + Column8.FontSize = 10, ; + Column8.InputMask = (get_mask(12,gnPA)), ; + Column8.Name = "cSoldFinal", ; + Column8.Width = 79, ; + Column9.ColumnOrder = 11, ; + Column9.ControlSource = "", ; + Column9.DynamicBackColor = "IIF(THIS.READONLY,RGB(236,249,255),RGB(252,255,183))", ; + Column9.FontName = "Arial", ; + Column9.FontSize = 10, ; + Column9.InputMask = (get_mask(12,gnPA)), ; + Column9.Name = "cAvansPrec", ; + Column10.ColumnOrder = 19, ; + Column10.ControlSource = "precdeb", ; + Column10.DynamicBackColor = "IIF(THIS.READONLY,RGB(236,249,255),RGB(252,255,183))", ; + Column10.FontName = "Arial", ; + Column10.FontSize = 10, ; + Column10.Format = "r", ; + Column10.InputMask = (get_mask(12,gnPA)), ; + Column10.Name = "cPrecdeb", ; + Column11.ColumnOrder = 20, ; + Column11.ControlSource = "preccred", ; + Column11.DynamicBackColor = "IIF(THIS.READONLY,RGB(236,249,255),RGB(252,255,183))", ; + Column11.FontName = "Arial", ; + Column11.FontSize = 10, ; + Column11.Format = "r", ; + Column11.InputMask = (get_mask(12,gnPA)), ; + Column11.Name = "cPreccred", ; + Column12.ColumnOrder = 21, ; + Column12.ControlSource = "", ; + Column12.DynamicBackColor = "RGB(187,235,255)", ; + Column12.FontName = "Arial", ; + Column12.FontSize = 10, ; + Column12.Format = "r", ; + Column12.InputMask = (get_mask(12,gnPA)), ; + Column12.Name = "cTotAvans", ; + Column13.ColumnOrder = 22, ; + Column13.ControlSource = "totdeb", ; + Column13.DynamicBackColor = "RGB(187,235,255)", ; + Column13.FontName = "Arial", ; + Column13.FontSize = 10, ; + Column13.Format = "r", ; + Column13.InputMask = (get_mask(12,gnPA)), ; + Column13.Name = "cTotdeb", ; + Column14.ColumnOrder = 23, ; + Column14.ControlSource = "totcred", ; + Column14.DynamicBackColor = "RGB(187,235,255)", ; + Column14.FontName = "Arial", ; + Column14.FontSize = 10, ; + Column14.Format = "r", ; + Column14.InputMask = (get_mask(12,gnPA)), ; + Column14.Name = "cTotcred", ; + Column15.ColumnOrder = 31, ; + Column15.ControlSource = "cod_fiscal", ; + Column15.FontName = "Arial", ; + Column15.FontSize = 10, ; + Column15.Format = "!", ; + Column15.Name = "cCod_fiscal", ; + Column15.Width = 59, ; + Column16.ControlSource = "nume_val", ; + Column16.FontName = "Arial", ; + Column16.FontSize = 10, ; + Column16.Name = "cNume_val", ; + Column16.Visible = .F., ; + Column17.ColumnOrder = 24, ; + Column17.ControlSource = "soldprecval", ; + Column17.DynamicBackColor = "RGB(236,249,255)", ; + Column17.FontName = "Arial", ; + Column17.FontSize = 10, ; + Column17.InputMask = (get_mask(12,gnPval)), ; + Column17.Name = "cSoldPrecVal", ; + Column17.Width = 84, ; + Column18.ColumnOrder = 25, ; + Column18.ControlSource = "valdebit", ; + Column18.DynamicBackColor = "IIF(THIS.READONLY,RGB(255,255,255),RGB(252,255,183))", ; + Column18.FontName = "Arial", ; + Column18.FontSize = 10, ; + Column18.InputMask = (get_mask(12,gnPval)), ; + Column18.Name = "cValDebit", ; + Column19.ColumnOrder = 26, ; + Column19.ControlSource = "valcredit", ; + Column19.DynamicBackColor = "IIF(THIS.READONLY,RGB(255,255,255),RGB(252,255,183))", ; + Column19.FontName = "Arial", ; + Column19.FontSize = 10, ; + Column19.InputMask = (get_mask(12,gnPval)), ; + Column19.Name = "cValCredit", ; + Column20.ColumnOrder = 27, ; + Column20.ControlSource = "soldfinalval", ; + Column20.DynamicBackColor = "RGB(187,235,255)", ; + Column20.FontName = "Arial", ; + Column20.FontSize = 10, ; + Column20.InputMask = (get_mask(12,gnPval)), ; + Column20.Name = "cSoldFinalVal", ; + Column20.Width = 89, ; + Column21.ColumnOrder = 29, ; + Column21.ControlSource = "acont", ; + Column21.FontName = "Arial", ; + Column21.FontSize = 10, ; + Column21.InputMask = "9999", ; + Column21.Name = "cAcont2", ; + Column21.Width = 34, ; + Column22.ColumnOrder = 30, ; + Column22.ControlSource = "nume", ; + Column22.FontName = "Arial", ; + Column22.FontSize = 10, ; + Column22.Name = "cNume2", ; + Column22.Width = 176, ; + Column23.ColumnOrder = 32, ; + Column23.ControlSource = "id_part", ; + Column23.FontName = "Arial", ; + Column23.FontSize = 10, ; + Column23.Name = "cId_part", ; + Column23.Width = 68, ; + Column24.ColumnOrder = 1, ; + Column24.ControlSource = "cont", ; + Column24.FontName = "Arial", ; + Column24.FontSize = 10, ; + Column24.Name = "Column24", ; + Column24.Width = 39, ; + Column25.ColumnOrder = 28, ; + Column25.ControlSource = "sucursala", ; + Column25.FontName = "Arial", ; + Column25.FontSize = 10, ; + Column25.Name = "cSucursala", ; + Column25.Width = 155, ; + Column26.ColumnOrder = 4, ; + Column26.ControlSource = "soldprec1", ; + Column26.FontName = "Arial", ; + Column26.FontSize = 10, ; + Column26.InputMask = (get_mask(12,gnPA)), ; + Column26.Name = "csoldprec1", ; + Column26.Width = 103, ; + Column27.ColumnOrder = 12, ; + Column27.ControlSource = "precdeb1", ; + Column27.FontName = "Arial", ; + Column27.FontSize = 10, ; + Column27.InputMask = (get_mask(12,gnPA)), ; + Column27.Name = "cPrecdeb1", ; + Column27.Width = 98, ; + Column28.ColumnOrder = 13, ; + Column28.ControlSource = "preccred1", ; + Column28.FontName = "Arial", ; + Column28.FontSize = 10, ; + Column28.InputMask = (get_mask(12,gnPA)), ; + Column28.Name = "cPreccred1", ; + Column28.Width = 102, ; + Column29.ColumnOrder = 17, ; + Column29.ControlSource = "rulandeb", ; + Column29.FontName = "Arial", ; + Column29.FontSize = 10, ; + Column29.InputMask = (get_mask(12,gnPA)), ; + Column29.Name = "cRulanDeb", ; + Column29.Width = 108, ; + Column30.ColumnOrder = 18, ; + Column30.ControlSource = "rulancred", ; + Column30.FontName = "Arial", ; + Column30.FontSize = 10, ; + Column30.InputMask = (get_mask(12,gnPA)), ; + Column30.Name = "cRulAnCred", ; + Column30.Width = 115, ; + Column31.ColumnOrder = 34, ; + Column31.ControlSource = "adresa", ; + Column31.FontName = "Arial", ; + Column31.FontSize = 10, ; + Column31.Name = "cAdresa", ; + Column31.Width = 160, ; + Column32.ColumnOrder = 33, ; + Column32.ControlSource = "reg_comert", ; + Column32.FontName = "Arial", ; + Column32.FontSize = 10, ; + Column32.Name = "cRegComert", ; + Column32.ReadOnly = .T., ; + Column33.ColumnOrder = 35, ; + Column33.ControlSource = "telefon", ; + Column33.FontName = "Arial", ; + Column33.FontSize = 10, ; + Column33.Name = "cTelefon", ; + Column33.ReadOnly = .T., ; + Column33.Width = 81, ; + Column34.ColumnOrder = 36, ; + Column34.ControlSource = "email", ; + Column34.FontName = "Arial", ; + Column34.FontSize = 10, ; + Column34.Name = "cEmail", ; + Column34.ReadOnly = .T., ; + Column34.Width = 135, ; + Column35.ColumnOrder = 14, ; + Column35.ControlSource = "rulanpdeb", ; + Column35.FontName = "Arial", ; + Column35.FontSize = 10, ; + Column35.Format = "RK", ; + Column35.InputMask = (get_mask(12,gnPA)), ; + Column35.Name = "cRulanpdeb", ; + Column35.Width = 127, ; + Column36.ColumnOrder = 15, ; + Column36.ControlSource = "rulanpcred", ; + Column36.FontName = "Arial", ; + Column36.FontSize = 10, ; + Column36.Format = "RK", ; + Column36.InputMask = (get_mask(12,gnPA)), ; + Column36.Name = "cRulanpCred", ; + Column36.Width = 130, ; + Column37.ControlSource = "cont_banca", ; + Column37.FontName = "Arial", ; + Column37.FontSize = 10, ; + Column37.Name = "cContBanca", ; + Column37.ReadOnly = .T., ; + Column37.Width = 234, ; + Column38.ControlSource = "swift_banca", ; + Column38.FontName = "Arial", ; + Column38.FontSize = 10, ; + Column38.Name = "cSwiftBanca", ; + Column38.ReadOnly = .T., ; + Column38.Width = 105, ; + Column39.ControlSource = "banca", ; + Column39.FontName = "Arial", ; + Column39.FontSize = 10, ; + Column39.Name = "cBanca", ; + Column39.ReadOnly = .T., ; + Column39.Width = 191, ; + Column40.ControlSource = "adresa_banca", ; + Column40.FontName = "Arial", ; + Column40.FontSize = 10, ; + Column40.Name = "cAdresaBanca", ; + Column40.ReadOnly = .T., ; + Column40.Width = 160, ; + Column41.ControlSource = "categorie_entitate", ; + Column41.Name = "cCategorieEntitate", ; + Column41.ReadOnly = .T., ; + Column41.Width = 114 + *< END OBJECT: ClassLib="_grd_base.vcx" BaseClass="grid" /> + + ADD OBJECT 'grid1.cAcont.Header1' AS header WITH ; + Alignment = 2, ; + Caption = "Analitic", ; + FontName = "Arial", ; + FontSize = 10, ; + Name = "Header1" + *< END OBJECT: BaseClass="header" /> + + ADD OBJECT 'grid1.cAcont.Text1' AS textbox WITH ; + BackColor = 255,255,255, ; + BorderStyle = 0, ; + FontName = "Arial", ; + FontSize = 10, ; + ForeColor = 0,0,0, ; + Margin = 0, ; + Name = "Text1", ; + SelectedBackColor = 100,185,255 + *< END OBJECT: BaseClass="textbox" /> + + ADD OBJECT 'grid1.cAcont2.Header1' AS header WITH ; + Alignment = 2, ; + Caption = "Analitic", ; + FontName = "Arial", ; + FontSize = 10, ; + Name = "Header1" + *< END OBJECT: BaseClass="header" /> + + ADD OBJECT 'grid1.cAcont2.Text1' AS textbox WITH ; + BackColor = 255,255,255, ; + BorderStyle = 0, ; + FontName = "Arial", ; + FontSize = 10, ; + ForeColor = 0,0,0, ; + Margin = 0, ; + Name = "Text1", ; + SelectedBackColor = 100,185,255 + *< END OBJECT: BaseClass="textbox" /> + + ADD OBJECT 'grid1.cAdresa.Header1' AS header WITH ; + Alignment = 2, ; + Caption = "Adresa", ; + FontName = "Arial", ; + FontSize = 10, ; + Name = "Header1" + *< END OBJECT: BaseClass="header" /> + + ADD OBJECT 'grid1.cAdresa.Text1' AS textbox WITH ; + BackColor = 255,255,255, ; + BorderStyle = 0, ; + FontName = "Arial", ; + FontSize = 10, ; + ForeColor = 0,0,0, ; + Margin = 0, ; + Name = "Text1", ; + SelectedBackColor = 100,185,255 + *< END OBJECT: BaseClass="textbox" /> + + ADD OBJECT 'grid1.cAdresaBanca.Header1' AS header WITH ; + Alignment = 2, ; + Caption = "Adresa banca", ; + Name = "Header1" + *< END OBJECT: BaseClass="header" /> + + ADD OBJECT 'grid1.cAdresaBanca.Text1' AS textbox WITH ; + BackColor = 255,255,255, ; + BorderStyle = 0, ; + ForeColor = 0,0,0, ; + Margin = 0, ; + Name = "Text1", ; + ReadOnly = .T., ; + SelectedBackColor = 100,185,255 + *< END OBJECT: BaseClass="textbox" /> + + ADD OBJECT 'grid1.cAvans.Header1' AS header WITH ; + Alignment = 2, ; + Caption = "Avans", ; + FontName = "Arial", ; + FontSize = 10, ; + Name = "Header1" + *< END OBJECT: BaseClass="header" /> + + ADD OBJECT 'grid1.cAvans.Text1' AS textbox WITH ; + BackColor = 255,255,255, ; + BorderStyle = 0, ; + FontName = "Arial", ; + FontSize = 10, ; + ForeColor = 0,0,0, ; + Margin = 0, ; + Name = "Text1", ; + SelectedBackColor = 100,185,255 + *< END OBJECT: BaseClass="textbox" /> + + ADD OBJECT 'grid1.cAvansPrec.Header1' AS header WITH ; + Alignment = 2, ; + Caption = "Avans prec.", ; + FontName = "Arial", ; + FontSize = 10, ; + Name = "Header1" + *< END OBJECT: BaseClass="header" /> + + ADD OBJECT 'grid1.cAvansPrec.Text1' AS textbox WITH ; + BackColor = 255,255,255, ; + BorderStyle = 0, ; + FontName = "Arial", ; + FontSize = 10, ; + ForeColor = 0,0,0, ; + Margin = 0, ; + Name = "Text1", ; + SelectedBackColor = 100,185,255 + *< END OBJECT: BaseClass="textbox" /> + + ADD OBJECT 'grid1.cBanca.Header1' AS header WITH ; + Alignment = 2, ; + Caption = "Banca", ; + Name = "Header1" + *< END OBJECT: BaseClass="header" /> + + ADD OBJECT 'grid1.cBanca.Text1' AS textbox WITH ; + BackColor = 255,255,255, ; + BorderStyle = 0, ; + ForeColor = 0,0,0, ; + Margin = 0, ; + Name = "Text1", ; + ReadOnly = .T., ; + SelectedBackColor = 100,185,255 + *< END OBJECT: BaseClass="textbox" /> + + ADD OBJECT 'grid1.cCategorieEntitate.Header1' AS header WITH ; + Alignment = 2, ; + Caption = "Categorie ent.", ; + FontSize = 10, ; + Name = "Header1" + *< END OBJECT: BaseClass="header" /> + + ADD OBJECT 'grid1.cCategorieEntitate.Text1' AS textbox WITH ; + BackColor = 255,255,255, ; + BorderStyle = 0, ; + ForeColor = 0,0,0, ; + Margin = 0, ; + Name = "Text1", ; + ReadOnly = .T., ; + SelectedBackColor = 100,185,255 + *< END OBJECT: BaseClass="textbox" /> + + ADD OBJECT 'grid1.cCod_fiscal.Header1' AS header WITH ; + Alignment = 2, ; + Caption = "Cod fiscal", ; + FontName = "Arial", ; + FontSize = 10, ; + Name = "Header1" + *< END OBJECT: BaseClass="header" /> + + ADD OBJECT 'grid1.cCod_fiscal.Text1' AS textbox WITH ; + BackColor = 255,255,255, ; + BorderStyle = 0, ; + FontName = "Arial", ; + FontSize = 10, ; + ForeColor = 0,0,0, ; + Margin = 0, ; + Name = "Text1", ; + SelectedBackColor = 100,185,255 + *< END OBJECT: BaseClass="textbox" /> + + ADD OBJECT 'grid1.cContBanca.Header1' AS header WITH ; + Alignment = 2, ; + Caption = "IBAN", ; + Name = "Header1" + *< END OBJECT: BaseClass="header" /> + + ADD OBJECT 'grid1.cContBanca.Text1' AS textbox WITH ; + BackColor = 255,255,255, ; + BorderStyle = 0, ; + ForeColor = 0,0,0, ; + Margin = 0, ; + Name = "Text1", ; + ReadOnly = .T., ; + SelectedBackColor = 100,185,255 + *< END OBJECT: BaseClass="textbox" /> + + ADD OBJECT 'grid1.cCred.Header1' AS header WITH ; + Alignment = 2, ; + Caption = "Credit(Incasat)", ; + FontName = "Arial", ; + FontSize = 10, ; + Name = "Header1" + *< END OBJECT: BaseClass="header" /> + + ADD OBJECT 'grid1.cCred.Text1' AS textbox WITH ; + BackColor = 255,255,255, ; + BorderStyle = 0, ; + FontName = "Arial", ; + FontSize = 10, ; + ForeColor = 0,0,0, ; + Margin = 0, ; + Name = "Text1", ; + SelectedBackColor = 100,185,255 + *< END OBJECT: BaseClass="textbox" /> + + ADD OBJECT 'grid1.cDeb.Header1' AS header WITH ; + Alignment = 2, ; + Caption = "Debit(Facturat)", ; + FontName = "Arial", ; + FontSize = 10, ; + Name = "Header1" + *< END OBJECT: BaseClass="header" /> + + ADD OBJECT 'grid1.cDeb.Text1' AS textbox WITH ; + BackColor = 255,255,255, ; + BorderStyle = 0, ; + FontName = "Arial", ; + FontSize = 10, ; + ForeColor = 0,0,0, ; + Margin = 0, ; + Name = "Text1", ; + SelectedBackColor = 100,185,255 + *< END OBJECT: BaseClass="textbox" /> + + ADD OBJECT 'grid1.cEmail.Header1' AS header WITH ; + Alignment = 2, ; + Caption = "Email", ; + FontName = "Arial", ; + FontSize = 10, ; + Name = "Header1" + *< END OBJECT: BaseClass="header" /> + + ADD OBJECT 'grid1.cEmail.Text1' AS textbox WITH ; + BackColor = 255,255,255, ; + BorderStyle = 0, ; + FontName = "Arial", ; + FontSize = 10, ; + ForeColor = 0,0,0, ; + Margin = 0, ; + Name = "Text1", ; + ReadOnly = .T., ; + SelectedBackColor = 100,185,255 + *< END OBJECT: BaseClass="textbox" /> + + ADD OBJECT 'grid1.cId_part.Header1' AS header WITH ; + Alignment = 2, ; + Caption = "Id_partener", ; + FontName = "Arial", ; + FontSize = 10, ; + Name = "Header1" + *< END OBJECT: BaseClass="header" /> + + ADD OBJECT 'grid1.cId_part.Text1' AS textbox WITH ; + BackColor = 255,255,255, ; + BorderStyle = 0, ; + FontName = "Arial", ; + FontSize = 10, ; + ForeColor = 0,0,0, ; + Margin = 0, ; + Name = "Text1", ; + SelectedBackColor = 100,185,255 + *< END OBJECT: BaseClass="textbox" /> + + ADD OBJECT 'grid1.cNume.Header1' AS header WITH ; + Alignment = 2, ; + Caption = "Nume", ; + FontName = "Arial", ; + FontSize = 10, ; + Name = "Header1" + *< END OBJECT: BaseClass="header" /> + + ADD OBJECT 'grid1.cNume.Text1' AS textbox WITH ; + BackColor = 255,255,255, ; + BorderStyle = 0, ; + FontName = "Arial", ; + FontSize = 10, ; + ForeColor = 0,0,0, ; + Margin = 0, ; + Name = "Text1", ; + SelectedBackColor = 100,185,255 + *< END OBJECT: BaseClass="textbox" /> + + ADD OBJECT 'grid1.cNume2.Header1' AS header WITH ; + Alignment = 2, ; + Caption = "Nume", ; + FontName = "Arial", ; + FontSize = 10, ; + Name = "Header1" + *< END OBJECT: BaseClass="header" /> + + ADD OBJECT 'grid1.cNume2.Text1' AS textbox WITH ; + BackColor = 255,255,255, ; + BorderStyle = 0, ; + FontName = "Arial", ; + FontSize = 10, ; + ForeColor = 0,0,0, ; + Margin = 0, ; + Name = "Text1", ; + SelectedBackColor = 100,185,255 + *< END OBJECT: BaseClass="textbox" /> + + ADD OBJECT 'grid1.cNume_val.Header1' AS header WITH ; + Alignment = 2, ; + Caption = "Valuta", ; + FontName = "Arial", ; + FontSize = 10, ; + Name = "Header1" + *< END OBJECT: BaseClass="header" /> + + ADD OBJECT 'grid1.cNume_val.Text1' AS textbox WITH ; + BackColor = 255,255,255, ; + BorderStyle = 0, ; + FontName = "Arial", ; + FontSize = 10, ; + ForeColor = 0,0,0, ; + Margin = 0, ; + Name = "Text1", ; + SelectedBackColor = 100,185,255, ; + Visible = .F. + *< END OBJECT: BaseClass="textbox" /> + + ADD OBJECT 'grid1.Column24.Header1' AS header WITH ; + Alignment = 2, ; + Caption = "Cont", ; + FontName = "Arial", ; + FontSize = 10, ; + Name = "Header1" + *< END OBJECT: BaseClass="header" /> + + ADD OBJECT 'grid1.Column24.Text1' AS textbox WITH ; + BackColor = 255,255,255, ; + BorderStyle = 0, ; + FontName = "Arial", ; + FontSize = 10, ; + ForeColor = 0,0,0, ; + Margin = 0, ; + Name = "Text1", ; + SelectedBackColor = 100,185,255 + *< END OBJECT: BaseClass="textbox" /> + + ADD OBJECT 'grid1.cPreccred.Header1' AS header WITH ; + Alignment = 2, ; + Caption = "Prec Cred.", ; + FontName = "Arial", ; + FontSize = 10, ; + Name = "Header1" + *< END OBJECT: BaseClass="header" /> + + ADD OBJECT 'grid1.cPreccred.Text1' AS textbox WITH ; + BackColor = 255,255,255, ; + BorderStyle = 0, ; + FontName = "Arial", ; + FontSize = 10, ; + ForeColor = 0,0,0, ; + Margin = 0, ; + Name = "Text1", ; + SelectedBackColor = 100,185,255 + *< END OBJECT: BaseClass="textbox" /> + + ADD OBJECT 'grid1.cPreccred1.Header1' AS header WITH ; + Caption = "Prec. Cred. 1 ian", ; + FontName = "Arial", ; + FontSize = 10, ; + Name = "Header1" + *< END OBJECT: BaseClass="header" /> + + ADD OBJECT 'grid1.cPreccred1.Text1' AS textbox WITH ; + BackColor = 255,255,255, ; + BorderStyle = 0, ; + FontName = "Arial", ; + FontSize = 10, ; + ForeColor = 0,0,0, ; + Margin = 0, ; + Name = "Text1", ; + SelectedBackColor = 100,185,255 + *< END OBJECT: BaseClass="textbox" /> + + ADD OBJECT 'grid1.cPrecdeb.Header1' AS header WITH ; + Alignment = 2, ; + Caption = "Prec Deb.", ; + FontName = "Arial", ; + FontSize = 10, ; + Name = "Header1" + *< END OBJECT: BaseClass="header" /> + + ADD OBJECT 'grid1.cPrecdeb.Text1' AS textbox WITH ; + BackColor = 255,255,255, ; + BorderStyle = 0, ; + FontName = "Arial", ; + FontSize = 10, ; + ForeColor = 0,0,0, ; + Margin = 0, ; + Name = "Text1", ; + SelectedBackColor = 100,185,255 + *< END OBJECT: BaseClass="textbox" /> + + ADD OBJECT 'grid1.cPrecdeb1.Header1' AS header WITH ; + Caption = "Prec. Deb. 1 ian", ; + FontName = "Arial", ; + FontSize = 10, ; + Name = "Header1" + *< END OBJECT: BaseClass="header" /> + + ADD OBJECT 'grid1.cPrecdeb1.Text1' AS textbox WITH ; + BackColor = 255,255,255, ; + BorderStyle = 0, ; + FontName = "Arial", ; + FontSize = 10, ; + ForeColor = 0,0,0, ; + Margin = 0, ; + Name = "Text1", ; + SelectedBackColor = 100,185,255 + *< END OBJECT: BaseClass="textbox" /> + + ADD OBJECT 'grid1.cRegComert.Header1' AS header WITH ; + Alignment = 2, ; + Caption = "Reg. Comert", ; + FontName = "Arial", ; + FontSize = 10, ; + Name = "Header1" + *< END OBJECT: BaseClass="header" /> + + ADD OBJECT 'grid1.cRegComert.Text1' AS textbox WITH ; + BackColor = 255,255,255, ; + BorderStyle = 0, ; + FontName = "Arial", ; + FontSize = 10, ; + ForeColor = 0,0,0, ; + Margin = 0, ; + Name = "Text1", ; + ReadOnly = .T., ; + SelectedBackColor = 100,185,255 + *< END OBJECT: BaseClass="textbox" /> + + ADD OBJECT 'grid1.cRulAnCred.Header1' AS header WITH ; + Caption = "Rulaj anual creditor", ; + FontName = "Arial", ; + FontSize = 10, ; + Name = "Header1" + *< END OBJECT: BaseClass="header" /> + + ADD OBJECT 'grid1.cRulAnCred.Text1' AS textbox WITH ; + BackColor = 255,255,255, ; + BorderStyle = 0, ; + FontName = "Arial", ; + FontSize = 10, ; + ForeColor = 0,0,0, ; + Margin = 0, ; + Name = "Text1", ; + SelectedBackColor = 100,185,255 + *< END OBJECT: BaseClass="textbox" /> + + ADD OBJECT 'grid1.cRulanDeb.Header1' AS header WITH ; + Alignment = 2, ; + Caption = "Rulaj anual debitor", ; + FontName = "Arial", ; + FontSize = 10, ; + Name = "Header1" + *< END OBJECT: BaseClass="header" /> + + ADD OBJECT 'grid1.cRulanDeb.Text1' AS textbox WITH ; + BackColor = 255,255,255, ; + BorderStyle = 0, ; + FontName = "Arial", ; + FontSize = 10, ; + ForeColor = 0,0,0, ; + Margin = 0, ; + Name = "Text1", ; + SelectedBackColor = 100,185,255 + *< END OBJECT: BaseClass="textbox" /> + + ADD OBJECT 'grid1.cRulanpCred.Header1' AS header WITH ; + Alignment = 2, ; + Caption = "Rulaj anual prec. credit", ; + Name = "Header1" + *< END OBJECT: BaseClass="header" /> + + ADD OBJECT 'grid1.cRulanpCred.Text1' AS textbox WITH ; + BackColor = 255,255,255, ; + BorderStyle = 0, ; + ForeColor = 0,0,0, ; + Margin = 0, ; + Name = "Text1", ; + SelectedBackColor = 100,185,255 + *< END OBJECT: BaseClass="textbox" /> + + ADD OBJECT 'grid1.cRulanpdeb.Header1' AS header WITH ; + Alignment = 2, ; + Caption = "Rulaj anual prec. debit", ; + Name = "Header1" + *< END OBJECT: BaseClass="header" /> + + ADD OBJECT 'grid1.cRulanpdeb.Text1' AS textbox WITH ; + BackColor = 255,255,255, ; + BorderStyle = 0, ; + ForeColor = 0,0,0, ; + Margin = 0, ; + Name = "Text1", ; + SelectedBackColor = 100,185,255 + *< END OBJECT: BaseClass="textbox" /> + + ADD OBJECT 'grid1.cSold.Header1' AS header WITH ; + Alignment = 2, ; + Caption = "Sold(deb-cred-avans)", ; + FontName = "Arial", ; + FontSize = 10, ; + Name = "Header1" + *< END OBJECT: BaseClass="header" /> + + ADD OBJECT 'grid1.cSold.Text1' AS textbox WITH ; + BackColor = 255,255,255, ; + BorderStyle = 0, ; + FontName = "Arial", ; + FontSize = 10, ; + ForeColor = 0,0,0, ; + Margin = 0, ; + Name = "Text1", ; + SelectedBackColor = 100,185,255 + *< END OBJECT: BaseClass="textbox" /> + + ADD OBJECT 'grid1.cSoldFinal.Header1' AS header WITH ; + Alignment = 2, ; + Caption = "Sold final", ; + FontName = "Arial", ; + FontSize = 10, ; + Name = "Header1" + *< END OBJECT: BaseClass="header" /> + + ADD OBJECT 'grid1.cSoldFinal.Text1' AS textbox WITH ; + BackColor = 255,255,255, ; + BorderStyle = 0, ; + FontName = "Arial", ; + FontSize = 10, ; + ForeColor = 0,0,0, ; + Margin = 0, ; + Name = "Text1", ; + SelectedBackColor = 100,185,255 + *< END OBJECT: BaseClass="textbox" /> + + ADD OBJECT 'grid1.cSoldFinalVal.Header1' AS header WITH ; + Alignment = 2, ; + Caption = "Sold Final Val.", ; + FontName = "Arial", ; + FontSize = 10, ; + Name = "Header1" + *< END OBJECT: BaseClass="header" /> + + ADD OBJECT 'grid1.cSoldFinalVal.Text1' AS textbox WITH ; + BackColor = 255,255,255, ; + BorderStyle = 0, ; + FontName = "Arial", ; + FontSize = 10, ; + ForeColor = 0,0,0, ; + Margin = 0, ; + Name = "Text1", ; + SelectedBackColor = 100,185,255 + *< END OBJECT: BaseClass="textbox" /> + + ADD OBJECT 'grid1.cSoldPrec.Header1' AS header WITH ; + Alignment = 2, ; + Caption = "Sold precedent", ; + FontName = "Arial", ; + FontSize = 10, ; + Name = "Header1" + *< END OBJECT: BaseClass="header" /> + + ADD OBJECT 'grid1.cSoldPrec.Text1' AS textbox WITH ; + BackColor = 255,255,255, ; + BorderStyle = 0, ; + FontName = "Arial", ; + FontSize = 10, ; + ForeColor = 0,0,0, ; + Margin = 0, ; + Name = "Text1", ; + SelectedBackColor = 100,185,255 + *< END OBJECT: BaseClass="textbox" /> + + ADD OBJECT 'grid1.csoldprec1.Header1' AS header WITH ; + Caption = "Sold la 1 ianuarie", ; + FontName = "Arial", ; + FontSize = 10, ; + Name = "Header1" + *< END OBJECT: BaseClass="header" /> + + ADD OBJECT 'grid1.csoldprec1.Text1' AS textbox WITH ; + BackColor = 255,255,255, ; + BorderStyle = 0, ; + FontName = "Arial", ; + FontSize = 10, ; + ForeColor = 0,0,0, ; + Margin = 0, ; + Name = "Text1", ; + SelectedBackColor = 100,185,255 + *< END OBJECT: BaseClass="textbox" /> + + ADD OBJECT 'grid1.cSoldPrecVal.Header1' AS header WITH ; + Alignment = 2, ; + Caption = "Sold Prec Val", ; + FontName = "Arial", ; + FontSize = 10, ; + Name = "Header1" + *< END OBJECT: BaseClass="header" /> + + ADD OBJECT 'grid1.cSoldPrecVal.Text1' AS textbox WITH ; + BackColor = 255,255,255, ; + BorderStyle = 0, ; + FontName = "Arial", ; + FontSize = 10, ; + ForeColor = 0,0,0, ; + Margin = 0, ; + Name = "Text1", ; + SelectedBackColor = 100,185,255 + *< END OBJECT: BaseClass="textbox" /> + + ADD OBJECT 'grid1.cSucursala.Header1' AS header WITH ; + Alignment = 2, ; + Caption = "Sucursala", ; + FontName = "Arial", ; + FontSize = 10, ; + Name = "Header1" + *< END OBJECT: BaseClass="header" /> + + ADD OBJECT 'grid1.cSucursala.Text1' AS textbox WITH ; + BackColor = 255,255,255, ; + BorderStyle = 0, ; + FontName = "Arial", ; + FontSize = 10, ; + ForeColor = 0,0,0, ; + Margin = 0, ; + Name = "Text1", ; + SelectedBackColor = 100,185,255 + *< END OBJECT: BaseClass="textbox" /> + + ADD OBJECT 'grid1.cSwiftBanca.Header1' AS header WITH ; + Alignment = 2, ; + Caption = "SWIFT", ; + Name = "Header1" + *< END OBJECT: BaseClass="header" /> + + ADD OBJECT 'grid1.cSwiftBanca.Text1' AS textbox WITH ; + BackColor = 255,255,255, ; + BorderStyle = 0, ; + ForeColor = 0,0,0, ; + Margin = 0, ; + Name = "Text1", ; + ReadOnly = .T., ; + SelectedBackColor = 100,185,255 + *< END OBJECT: BaseClass="textbox" /> + + ADD OBJECT 'grid1.cTelefon.Header1' AS header WITH ; + Alignment = 2, ; + Caption = "Telefon", ; + FontName = "Arial", ; + FontSize = 10, ; + Name = "Header1" + *< END OBJECT: BaseClass="header" /> + + ADD OBJECT 'grid1.cTelefon.Text1' AS textbox WITH ; + BackColor = 255,255,255, ; + BorderStyle = 0, ; + FontName = "Arial", ; + FontSize = 10, ; + ForeColor = 0,0,0, ; + Margin = 0, ; + Name = "Text1", ; + ReadOnly = .T., ; + SelectedBackColor = 100,185,255 + *< END OBJECT: BaseClass="textbox" /> + + ADD OBJECT 'grid1.cTotAvans.Header1' AS header WITH ; + Alignment = 2, ; + Caption = "Total Avans", ; + FontName = "Arial", ; + FontSize = 10, ; + Name = "Header1" + *< END OBJECT: BaseClass="header" /> + + ADD OBJECT 'grid1.cTotAvans.Text1' AS textbox WITH ; + BackColor = 255,255,255, ; + BorderStyle = 0, ; + FontName = "Arial", ; + FontSize = 10, ; + ForeColor = 0,0,0, ; + Margin = 0, ; + Name = "Text1", ; + SelectedBackColor = 100,185,255 + *< END OBJECT: BaseClass="textbox" /> + + ADD OBJECT 'grid1.cTotcred.Header1' AS header WITH ; + Alignment = 2, ; + Caption = "Total Cred.", ; + FontName = "Arial", ; + FontSize = 10, ; + Name = "Header1" + *< END OBJECT: BaseClass="header" /> + + ADD OBJECT 'grid1.cTotcred.Text1' AS textbox WITH ; + BackColor = 255,255,255, ; + BorderStyle = 0, ; + FontName = "Arial", ; + FontSize = 10, ; + ForeColor = 0,0,0, ; + Margin = 0, ; + Name = "Text1", ; + SelectedBackColor = 100,185,255 + *< END OBJECT: BaseClass="textbox" /> + + ADD OBJECT 'grid1.cTotdeb.Header1' AS header WITH ; + Alignment = 2, ; + Caption = "Total Deb.", ; + FontName = "Arial", ; + FontSize = 10, ; + Name = "Header1" + *< END OBJECT: BaseClass="header" /> + + ADD OBJECT 'grid1.cTotdeb.Text1' AS textbox WITH ; + BackColor = 255,255,255, ; + BorderStyle = 0, ; + FontName = "Arial", ; + FontSize = 10, ; + ForeColor = 0,0,0, ; + Margin = 0, ; + Name = "Text1", ; + SelectedBackColor = 100,185,255 + *< END OBJECT: BaseClass="textbox" /> + + ADD OBJECT 'grid1.cValCredit.Header1' AS header WITH ; + Alignment = 2, ; + Caption = "Credit Val", ; + FontName = "Arial", ; + FontSize = 10, ; + Name = "Header1" + *< END OBJECT: BaseClass="header" /> + + ADD OBJECT 'grid1.cValCredit.Text1' AS textbox WITH ; + BackColor = 255,255,255, ; + BorderStyle = 0, ; + FontName = "Arial", ; + FontSize = 10, ; + ForeColor = 0,0,0, ; + Margin = 0, ; + Name = "Text1", ; + SelectedBackColor = 100,185,255 + *< END OBJECT: BaseClass="textbox" /> + + ADD OBJECT 'grid1.cValDebit.Header1' AS header WITH ; + Alignment = 2, ; + Caption = "Debit Val", ; + FontName = "Arial", ; + FontSize = 10, ; + Name = "Header1" + *< END OBJECT: BaseClass="header" /> + + ADD OBJECT 'grid1.cValDebit.Text1' AS textbox WITH ; + BackColor = 255,255,255, ; + BorderStyle = 0, ; + FontName = "Arial", ; + FontSize = 10, ; + ForeColor = 0,0,0, ; + Margin = 0, ; + Name = "Text1", ; + SelectedBackColor = 100,185,255 + *< END OBJECT: BaseClass="textbox" /> + + ADD OBJECT 'Gridextra1' AS gridextra WITH ; + Left = 240, ; + Name = "Gridextra1", ; + Top = 0 + *< END OBJECT: ClassLib="..\utile\gridextras\gridextras.vcx" BaseClass="custom" /> + + ADD OBJECT 'Lb_shortcuts1' AS lb_shortcuts WITH ; + Caption = "CTRL+F = Terminare; ESC = Renuntare; CTRL+Q = Cautare; CTRL+T = Resetare", ; + Left = 6, ; + Name = "Lb_shortcuts1", ; + Top = 15 + *< END OBJECT: ClassLib="lb.vcx" BaseClass="label" /> + + ADD OBJECT 'oContextMenu' AS ctl32_contextmenu WITH ; + Height = 21, ; + Left = 444, ; + Name = "oContextMenu", ; + TabIndex = 3, ; + Top = 12, ; + Width = 64, ; + lblname.Name = "lblname" + *< END OBJECT: ClassLib="..\utile\ctl32\ctl32_contextmenu.vcx" BaseClass="container" /> + + ADD OBJECT 'oMenuShortcut' AS menulib WITH ; + Left = 378, ; + Name = "oMenuShortcut", ; + Top = 5, ; + ZOrderSet = 18 + *< END OBJECT: ClassLib="utility.vcx" BaseClass="container" /> + + ADD OBJECT 'Optiongroup1' AS optiongroup WITH ; + Anchor = 8, ; + AutoSize = .T., ; + BackStyle = 0, ; + BorderStyle = 0, ; + ButtonCount = 3, ; + Height = 27, ; + Left = 588, ; + Name = "Optiongroup1", ; + Top = 39, ; + Value = 1, ; + Width = 172, ; + ZOrderSet = 16, ; + Option1.BackStyle = 0, ; + Option1.Caption = "Toti", ; + Option1.FontCharSet = 0, ; + Option1.FontName = "Segoe UI", ; + Option1.FontSize = 10, ; + Option1.Height = 17, ; + Option1.Left = 5, ; + Option1.Name = "Option1", ; + Option1.Top = 5, ; + Option1.Value = 1, ; + Option1.Width = 61, ; + Option2.BackStyle = 0, ; + Option2.Caption = "Interni", ; + Option2.FontCharSet = 0, ; + Option2.FontName = "Segoe UI", ; + Option2.FontSize = 10, ; + Option2.Height = 17, ; + Option2.Left = 48, ; + Option2.Name = "Option2", ; + Option2.Top = 5, ; + Option2.Value = 0, ; + Option2.Width = 61, ; + Option3.BackStyle = 0, ; + Option3.Caption = "Externi", ; + Option3.FontCharSet = 0, ; + Option3.FontName = "Segoe UI", ; + Option3.FontSize = 10, ; + Option3.Height = 17, ; + Option3.Left = 106, ; + Option3.Name = "Option3", ; + Option3.Top = 5, ; + Option3.Value = 0, ; + Option3.Width = 61 + *< END OBJECT: BaseClass="optiongroup" /> + + PROCEDURE Activate + *!* thisform.WindowState=2 + + *!* tw1=thisform.Width + *!* tl1=thisform.Height + + *!* tw2=thisform.Width + *!* tl2=thisform.Height + + *!* gw1=thisform.grid1.width + *!* gl1=thisform.grid1.height + + *!* thisform.grid1.width=ROUND(gw1*tw2/tw1,0) + *!* thisform.grid1.height=ROUND(gl1*tl2/tl1,0) + + *!* lnlung1=thisform._shape1.width + *!* thisform._shape1.Width=ROUND(lnlung1*tw2/tw1,0) + *!* lndif=thisform._shape1.Width-lnlung1 + *!* thisform._shape2.Left=thisform._shape2.Left+lndif + *!* ** + + *!* thisform.paint + *!* thisform.refresh + + *!* set safety off + *!* SELE xtemp + + + + ENDPROC + + PROCEDURE actualizeaza_grid1 + Lparameters lcFiltru + c = Thisform.pcfel + save_grid_tag(Thisform.gRID1) + Do Case + Case Thisform.ntipselectie = 1 + If Empty(lcFiltru) + lcFiltru = pobalparttot.ca_baza1.cfiltru + Endif + Use In xtemp + pobalparttot.ca_baza1.cfiltru = lcFiltru + pobalparttot.ca_baza1.afisare() + With Thisform.gRID1 + .cSoldPrecVal.Visible = .F. + .cValDebit.Visible = .F. + .cValCredit.Visible = .F. + .cSoldFinalVal.Visible = .F. + .cNume_Val.Visible = .F. + If Thisform.pcfel = 'A' + .cSold.ControlSource = '- cred + deb' + .cSoldFinal.ControlSource = '- totcred + totdeb' + .cSoldPrec.ControlSource = '- preccred + precdeb' + .cSoldPrec1.ControlSource = '- preccred1 + precdeb1' + .cSold.header1.Caption = 'Sold (deb-cred)' + .cDeb.header1.Caption = 'Debit' + .cCred.header1.Caption = 'Credit' + Else + .cSold.ControlSource = 'cred - deb' + .cSoldFinal.ControlSource = 'totcred - totdeb' + .cSoldPrec.ControlSource = 'preccred -precdeb' + .cSoldPrec1.ControlSource = 'preccred1 -precdeb1' + .cSold.header1.Caption = 'Sold (cred-deb)' + .cDeb.header1.Caption = 'Debit' + .cCred.header1.Caption = 'Credit' + Endif + Endwith + Case Thisform.ntipselectie = 2 + If Empty(lcFiltru) + lcFiltru = pobalpartext.ca_baza1.cfiltru + Endif + Use In xtemp + pobalpartext.ca_baza1.cfiltru = lcFiltru + pobalpartext.ca_baza1.afisare() + With Thisform.gRID1 + .cSoldPrecVal.Visible = .F. + .cValDebit.Visible = .F. + .cValCredit.Visible = .F. + .cSoldFinalVal.Visible = .F. + .cNume_Val.Visible = .F. + If Thisform.pcfel = 'A' + .cSold.ControlSource = '- cred + deb' + .cSoldFinal.ControlSource = '- totcred + totdeb' + .cSoldPrec.ControlSource = '- preccred + precdeb' + .cSoldPrec1.ControlSource = '- preccred1 + precdeb1' + .cSold.header1.Caption = 'Sold (deb-cred)' + .cDeb.header1.Caption = 'Debit' + .cCred.header1.Caption = 'Credit' + Else + .cSold.ControlSource = 'cred - deb' + .cSoldFinal.ControlSource = 'totcred - totdeb' + .cSoldPrec.ControlSource = 'preccred -precdeb' + .cSoldPrec1.ControlSource = 'preccred1 -precdeb1' + .cSold.header1.Caption = 'Sold (cred-deb)' + .cDeb.header1.Caption = 'Debit' + .cCred.header1.Caption = 'Credit' + Endif + Endwith + Case Thisform.ntipselectie = 3 + Local llCautareNoua + llCautareNoua = .T. + If Empty(lcFiltru) + lcFiltru = pobalpartext.ca_baza1.cfiltru + llCautareNoua = .F. + Endif + Use In xtemp + pobalpartext.ca_baza1.cfiltru = lcFiltru + pobalpartext.ca_baza1.afisare() + With Thisform.gRID1 + .cSoldPrecVal.Visible = .T. + .cValDebit.Visible = .T. + .cValCredit.Visible = .T. + .cSoldFinalVal.Visible = .T. + .cNume_Val.Visible = .T. + If Thisform.pcfel = 'A' + .cSold.ControlSource = '- valcredit + valdebit' + .cSoldFinal.ControlSource = '- totvalcred + totvaldeb' + .cSoldPrec.ControlSource = '- precvalcred + precvaldeb' + .cSoldPrec1.ControlSource = '- precvalcred1 + precvaldeb1' + .cSold.header1.Caption = 'Sold (deb-cred)' + .cDeb.header1.Caption = 'Debit' + .cCred.header1.Caption = 'Credit' + Else + .cSold.ControlSource = 'valcredit - valdebit' + .cSoldFinal.ControlSource = 'totvalcred - totvaldeb' + .cSoldPrec.ControlSource = 'precvalcred -precvaldeb' + .cSoldPrec1.ControlSource = 'precvalcred1 -precvaldeb1' + .cSold.header1.Caption = 'Sold (cred-deb)' + .cDeb.header1.Caption = 'Debit' + .cCred.header1.Caption = 'Credit' + Endif + Endwith + Endcase + If !Empty(Thisform.ncurs) + Select xtemp + Repl All precdeb1 With Round(precdeb1/Thisform.ncurs,gnPval) && pt. evaluarea in valuta + Repl All preccred1 With Round(preccred1/Thisform.ncurs,gnPval) + Repl All precdeb With Round(precdeb/Thisform.ncurs,gnPval) && pt. evaluarea in valuta + Repl All preccred With Round(preccred/Thisform.ncurs,gnPval) + Repl All cred With Round(cred/Thisform.ncurs,gnPval) + Repl All deb With Round(deb/Thisform.ncurs,gnPval) + Repl All totdeb With Round(totdeb/Thisform.ncurs,gnPval) + Repl All totcred With Round(totcred/Thisform.ncurs,gnPval) + Endif + restore_grid_tag(Thisform.gRID1) + + *!* Do Case + *!* Case Thisform.ntipselectie=3 + *!* Thisform.label3.Caption='Total valuta' + *!* * Thisform.label7.Caption='Avans valuta' + *!* Thisform.label4.Caption='Debit valuta' + *!* Thisform.label5.Caption='Credit valuta' + *!* Thisform.label6.Caption='Sold valuta' + *!* Thisform.cb_nom_valute1.Visible=.T. + *!* Thisform.cb_nom_valute1.initializare(llCautareNoua) + *!* Otherwise + *!* Thisform.cb_nom_valute1.Visible=.F. + *!* Thisform.label3.Caption='Total' + *!* * Thisform.label7.Caption='Avans' + *!* Thisform.label4.Caption='Debit' + *!* Thisform.label5.Caption='Credit' + *!* Thisform.label6.Caption='Sold' + *!* Endcase + + Thisform.actualizeaza_totaluri() + Sele xtemp + Go Top + Thisform.gRID1.SetFocus + + ENDPROC + + PROCEDURE actualizeaza_totaluri + Local lcValuta,lnPoz + *!* lcValuta=Alltrim(Thisform.cb_nom_valute1.Value) + Select xtemp + lnPoz=Iif(Reccount('xtemp')>0,Recno(),0) + c=thisform.pcfel + + If Type('XTEMP.AVANS') # 'U' + Sum avans,precavans,totavans To Thisform.ntavans,Thisform.nprecavans,Thisform.ntotavans + Endif + + *!* If Thisform.ntipselectie=3 + *!* Sum valdebit,valcredit,precvaldeb,precvalcred,totvaldeb,totvalcred,precdeb1,preccred1 To ; + *!* Thisform.ntdeb,Thisform.ntcred,Thisform.nprecdeb,Thisform.npreccred,Thisform.ntotdeb,Thisform.ntotcred,; + *!* thisform.nprec1deb, thisform.nprec1cred For nume_val=lcValuta + *!* Else + *!* Sum deb,cred,precdeb,preccred,totdeb,totcred,precdeb1,preccred1 To ; + *!* Thisform.ntdeb,Thisform.ntcred,Thisform.nprecdeb,Thisform.npreccred,Thisform.ntotdeb,Thisform.ntotcred,; + *!* thisform.nprec1deb, thisform.nprec1cred + *!* Endif + + *!* If c='A' &&clienti + *!* Thisform.nSOLD1PREC=Thisform.nprec1deb-Thisform.nprec1cred + *!* Thisform.nSOLDPREC=Thisform.nprecdeb-Thisform.npreccred-Thisform.nprecavans + *!* Thisform.nSOLDTOT=Thisform.ntotdeb-Thisform.ntotcred-Thisform.ntotavans + *!* Thisform.ntsold=Thisform.ntdeb-Thisform.ntcred-Thisform.ntavans + *!* Else &&furnizori + *!* Thisform.nSOLD1PREC=-Thisform.nprec1deb+Thisform.nprec1cred + *!* Thisform.nSOLDPREC=-Thisform.nprecdeb+Thisform.npreccred-Thisform.nprecavans + *!* Thisform.nSOLDTOT=-Thisform.ntotdeb+Thisform.ntotcred-Thisform.ntotavans + *!* Thisform.ntsold=-Thisform.ntdeb+Thisform.ntcred-Thisform.ntavans + *!* Endif + + * Am sters totalurile textbox + *!* Thisform.text1.Refresh + *!* Thisform.text2.Refresh + *!* Thisform.text3.Refresh + *!* Thisform.text4.Refresh + *!* Thisform.text5.Refresh + *!* Thisform.text6.Refresh + *!* Thisform.text7.Refresh + *!* Thisform.text8.Refresh + *!* Thisform.text9.Refresh + *!* Thisform.text10.Refresh + *!* Thisform.text11.Refresh + *!* Thisform.text12.Refresh + *!* Thisform.text13.Refresh + *!* Thisform.text14.Refresh + *!* Thisform.text15.Refresh + Thisform._grdfooter1.calcTotal() + If Reccount('xtemp')>0 + Select xtemp + Go lnPoz + Endif + ENDPROC + + PROCEDURE butapend + IF glLunaInchisa + RETURN + ENDIF + + + IF THISFORM.lactiv3 + PRIVATE lcText,lcFis,lnOpt + lcFis = UPPER(ALLTRIM(THISFORM.tabel)) + IF THISFORM.ntipselectie = 1 + aMessagebox("Nu puteti face initializari decat in selectiile pe interni sau externi!",0+48,"Atentie") + RETURN + ENDIF + + IF THISFORM.grid1.READONLY + lcText=[\Alegeti partenerul ] + lcCont + [??lAdaugCorespondente=>1??cCont=>] + lcCont)) + IF !EMPTY(locauta.nume) + lnid_part=locauta.id_part + lcnume=ALLTRIM(locauta.nume) + lccod_fiscal=ALLTRIM(locauta.cod_fiscal) + ELSE + RETURN + ENDIF + + STORE "" TO locauta + locauta = caut_acont(lcCont) + IF gnButon=2 + RETURN + ENDIF + IF !EMPTY(locauta.acont) + lcacont=ALLTRIM(locauta.acont) + ELSE + lcacont="" + ENDIF + + IF THISFORM.ntipselectie=3 + STORE "" TO locauta + STORE "" TO locauta + locauta = caut_valuta() + IF EMPTY(locauta.nume_val) + RETURN + ENDIF + lnid_valuta=locauta.id_valuta + lcnume_val=ALLTRIM(locauta.nume_val) + ELSE + *!* 17.10.2006 + *!* marius.mutu + loCauta = GetMonedaNationala() + lnid_valuta = loCauta.id_valuta + lcnume_val = ALLTRIM(locauta.nume_val) + ENDIF + + SELECT xtemp + LOCATE FOR id_part=lnid_part AND ALLTRIM(cont) = lcCont AND ALLTRIM(acont) = lcacont AND id_valuta=lnid_valuta AND NVL(id_sucursala,0) = NVL(lnIdSucursala,0) + IF !FOUND() + APPEND BLANK + REPLACE CONT WITH ALLTRIM(lcCont) + REPLACE acont WITH lcacont + REPLACE an WITH gnAn + && luna este 0 pentru a deosebi liniile noi de cele modificate + REPLACE luna WITH 0 + REPLACE id_part WITH lnid_part + REPLACE cod_fiscal WITH lccod_fiscal + REPLACE nume WITH lcnume + REPLACE id_valuta WITH lnid_valuta + REPLACE nume_val WITH lcnume_val + REPLACE id_sucursala WITH lnIdSucursala, sucursala WITH lcSucursala + THISFORM.lmodificata=.T. + ENDIF + THISFORM.grid1.SETFOCUS() + + + + ENDPROC + + PROCEDURE do_cauta + Local tnume,tfdoc,TBER,lcFiltru,lcAvans,lcTotAvans,lnPoz + Store '.t.' To tnume,tfdoc,TBER + lcFiltru="" + C=Thisform.pcfel + lcTitlu=Thisform.lb_titlu_alb_b121.Caption + lnPoz=Rat('*',lcTitlu,1)-2 + + Do Case + Case Thisform.optiongroup1.Value=1 + Thisform.lb_titlu_alb_b121.Caption=Substr(lcTitlu,1,Iif(lnPoz<0,Len(lcTitlu),lnPoz))+" * TOTI" + Case Thisform.optiongroup1.Value=2 + Thisform.lb_titlu_alb_b121.Caption=Substr(lcTitlu,1,Iif(lnPoz<0,Len(lcTitlu),lnPoz))+" * INTERNI" + *!* 17.10.2006 + *!* marius.mutu + lcFiltru = lcFiltru + [ AND (ID_VALUTA=0 OR MONEDA_NATIONALA = 1)] + Case Thisform.optiongroup1.Value=3 + Thisform.lb_titlu_alb_b121.Caption=Substr(lcTitlu,1,Iif(lnPoz<0,Len(lcTitlu),lnPoz))+" * EXTERNI" + lcFiltru = lcFiltru + [ AND MONEDA_NATIONALA = 0] + *!* lcFiltru = lcFiltru + [ AND ID_VALUTA!=0] + *!* If Thisform.ck_numeval.Value=1 + *!* lcFiltru = lcFiltru + Thisform.ck_numeval.filtru + *!* Endif + Endcase + + *!* If this.check4.Value = 1 + *!* lcFiltru=lcFiltru + [ AND UPPER(SUBSTR(nume,1,]+Alltrim(Str(Len(m.nume)))+[))=']+Alltrim(m.nume)+['] + *!* tnume="UPPER(LEFT(nume,LEN(M.nume)))==M.nume" + *!* Endif + + *!* If This.ck_nume.Value = 1 + *!* lcFiltru = lcFiltru + Thisform.ck_nume.filtru + *!* Endif + + *!* If This.ck_acont.Value = 1 + *!* lcFiltru = lcFiltru + Thisform.ck_acont.filtru + *!* ENDIF + + *!* If This.ck_cont.Value = 1 + *!* lcFiltru = lcFiltru + Thisform.ck_cont.filtru + *!* Endif + + If Type('XTEMP.AVANS') # 'U' + lcAvans=[+avans] + lcTotAvans=[+Totavans] + Else + lcAvans=[] + lcTotAvans=[] + Endif + + *!* If This.check1.Value = 1 + *!* Do Case + *!* Case C='A' + *!* lcFiltru=lcFiltru + [ AND (ABS(debit-credit]+lcAvans+[)>0 or ABS(PRECDEB+DEBIT-PRECCRED-CREDIT]+lcTotAvans+[)>0)] + *!* *!* tfdoc='(abs(deb-cred+avans)>0 OR abs(TOTdeb-TOTcred+TOTavans)>0)' + *!* Case C='P' + *!* lcFiltru=lcFiltru + [ AND (ABS(-debit+credit]+lcAvans+[)>0 or ABS(-PRECDEB-DEBIT+PRECCRED+CREDIT]+lcTotAvans+[)>0)] + *!* *!* tfdoc='(abs(-deb+cred+avans)>0 OR abs(-TOTdeb+TOTcred+TOTavans)>0)' + *!* Endcase + *!* Endif + + *!* Sele xtemp + If Len(Thisform.filtru_pretty)>0 + filtrutext=Thisform.filtru_pretty + If At("AND",filtrutext)=1 + filtrutext=Right(filtrutext,Len(filtrutext)-4) + Endif + + lcFiltru=lcFiltru+" and ("+Alltrim(filtrutext)+")" + Endif + Do Case + Case C='P' + lcFiltru=[luna=]+Alltrim(Str(gnLuna))+[ and an=]+Alltrim(Str(gnan))+[ and CONT in (']+Alltrim(Strtran(Thisform.pccont, [,], [','])) + [') ] + lcFiltru + Case C='A' + lcFiltru=[luna=]+Alltrim(Str(gnLuna))+[ and an=]+Alltrim(Str(gnan))+[ and CONT in (']+Alltrim(Strtran(Thisform.pccont, [,], [','])) + [') ] + lcFiltru + Otherwise + lcFiltru=[luna=]+Alltrim(Str(gnLuna))+[ and an=]+Alltrim(Str(gnan))+[ and SUBSTR(cont,1,4)=']+Left(cn,4)+[']+lcFiltru + Endcase + + Thisform.nTipSelectie = Thisform.optiongroup1.Value + + If (This.filtru_pretty#"none") + Thisform.actualizeaza_grid1(lcFiltru) + If Reccount('xtemp')=0 + amessagebox("Cautarea nu a intors rezultate!",0+64,"Info cautare") + Endif + ENDIF + Thisform.but_start_criterii1.SetFocus() + + + ENDPROC + + PROCEDURE do_excel + Local lcAlias, lcFiltru, lcColumnList, lcHeaderList, lcSelect, lcOutput, lcFrom, lcWhere, lcOrder + lcAlias = this.grid1.RecordSource + lcFiltru = FILTER(lcAlias) + IF EMPTY(lcFiltru) + lcFiltru = '.T.' + ENDIF + + exista_excel=.T. + lcColumnList = '' + lcHeaderList = '' + lcSelect = '' + llSelect = .T. + lcType = 'CURSOR' + lcFrom = lcAlias + lcWhere = lcFiltru + lcOrder = 'nume' + lcOutput = 'crsBalPart' + + get_schema_grid(this.grid1,@lcColumnList, @lcHeaderList, @lcSelect, llSelect, lcType, lcFrom, lcWhere, lcOrder, lcOutput) + &lcSelect + IF USED(lcOutput) + DO export_xls WITH lcOutput IN oproceduri_comune.prg + USE IN (lcOutput) + ENDIF + + + RETURN + + *!* Local i,xlsheet,XLApp,tmpsheet + *!* exista_excel=.T. + *!* p1='' + *!* p2='' + *!* With Thisform.grid1 + *!* For nCol=1 To .ColumnCount + *!* nColumn=.Columns(nCol).ColumnOrder + *!* p1=p1+.Columns(nCol).ControlSource+',' + *!* p2=p2+Strtran(.Columns(nCol).header1.Caption,Chr(32),'_')+',' + *!* Endfor + *!* p1=Substr(p1,1,Len(p1)-1) + *!* p2=Substr(p2,1,Len(p2)-1) + *!* Endwith + *!* On Error Do exportare With thisform.grID1.recordsource,p1,p2 + *!* tmpsheet = Getobject('','excel.sheet') + *!* On Error + + *!* If exista_excel + *!* Wait Window "Se transmit datele catre Excel..." Nowait + + *!* XLApp = tmpsheet.Application + + *!* XLApp.workbooks.Close() + *!* XLApp.workbooks.Add() + *!* poExcel = XLApp.ActiveSheet + + + *!* Go Top + *!* poExcel.Cells(1,1).Font.Size=16 + *!* poExcel.Cells(1,1).Font.Bold=.T. + *!* poExcel.Cells(1,1)=Thisform.lb_titlu_alb_b121.Caption+" Luna "+Alltrim(Str(gnLuna))+"/"+Alltrim(Str(gnAn)) + *!* nRows = 3 + *!* With Thisform.grid1 + *!* For nCol = 1 To .ColumnCount + *!* nColumn = .Columns(nCol).ColumnOrder + *!* poExcel.Columns(nColumn).ColumnWidth = .Columns(nCol).Width/7.5 + *!* poExcel.Cells(nRows,nColumn) = .Columns(nCol).header1.Caption + *!* poExcel.Cells(nRows,nColumn).Font.Bold = .T. + *!* poExcel.Cells(nRows,nColumn).Interior.ColorIndex = 16 + *!* Endfor + *!* Scan + *!* nRows = nRows + 1 + *!* For nCol = 1 To .ColumnCount + *!* nColumn = .Columns(nCol).ColumnOrder + *!* If At('CHECK',Upper(.Columns(nCol).CurrentControl))>0 + *!* poExcel.Cells(nRows,nColumn)=Iif(Eval(.Columns(nCol).ControlSource)==0,'NU','DA') + *!* Else + *!* poExcel.Cells(nRows,nColumn) = Eval(.Columns(nCol).ControlSource) + *!* Endif + *!* Endfor + *!* Endscan + *!* Endwith + + *!* XLApp.Visible = .T. + *!* Endif + + + + + ENDPROC + + PROCEDURE do_listare + **thisform.cmdlist1.Click + PRIVATE pcTitlu, D, denC, denD, denCC, denDD, denCCC, denDDD + LOCAL lcOrder + LOCAL lcSortColumn, lcSortType + LOCAL lcCrs, lcCursor, lcFilter, lcMenuRetVal, lcRaport, lcType, lcorderby, lctext, llColumnExist + LOCAL lnOptiune, luNullValue + *:Global pcGroupAcont, pcSubtitlu + pcTitlu = THISFORM.lb_TITLU_ALB_B121.CAPTION + D = THISFORM.grid1.RECORDSOURCE + + PRIVATE tlextern + tlextern = IIF(THISFORM.optiongroup1.VALUE = 3, .T., .F.) + + denD = THISFORM.grid1.cPrecDeb.header1.CAPTION + denC = THISFORM.grid1.cPrecCred.header1.CAPTION + denDD = THISFORM.grid1.cTotDeb.header1.CAPTION + denCC = THISFORM.grid1.cTotCred.header1.CAPTION + denDDD = [Total ] + THISFORM.grid1.cValDebit.header1.CAPTION + denCCC = [Total ] + THISFORM.grid1.cValCredit.header1.CAPTION + + IF THISFORM.filtru_traducere() # "" + lctext = " si " + THIS.PARENT.filtru_traducere() + ELSE + lctext = "" + ENDIF + + pcSubtitlu = THISFORM.filtru_pretty_ro + lctext + + WITH THISFORM.oContextMenu + .CLEAR + + * creare meniu + .ADD("000000") + + * categorie + .ADD("000000", "1", "Listare \ 0 + lcCont = GETWORDNUM(lcConturi, i, [,]) + lnSucces = refacere(lcSursa,lcLunar,lcCont,lnLuna,lnAn) && IN orefaceri.prg + ENDIF + ENDFOR + + IF lnSucces > 0 + do inainte WITH "BALANTA_parteneri",lcCont in oinainte_de.prg + + Thisform.actualizeaza_grid1() + amessagebox('Refacerea s-a terminat!',64,"Info refacere") + ENDIF + ENDPROC + + PROCEDURE do_renunt + pnbuton=2 + If Thisform.lmodificata + Thisform.do_modifica(.T.) + Endif + If Type('thisformset')='O' + Thisformset.Release + Endif + Thisform.Release + ENDPROC + + PROCEDURE do_reset + *STORE .F. TO ber,bfdoc,bnume + *!* this.check1.Value = 0 + *!* *this.check4.Value = 0 + *!* this.ck_nume.Value = 0 + *!* this.ck_acont.Value = 0 + *!* this.ck_cont.Value = 0 + *!* *this.ck_numeval.Value=0 + + * Banca/Casa in valuta - intru cu externi automat + IF '5124'$this.lb_titlu_alb_b121.Caption OR '5314'$this.lb_titlu_alb_b121.Caption + this.optionGroup1.Value = 3 && externi + ELSE + this.optionGroup1.Value = 1 && toti + ENDIF + + If This.lmodificata + This.do_modifica() + Endif + + + IF NOT PEMSTATUS(thisform,"filtru_pretty",5) + thisform.AddProperty("filtru_pretty") + ENDIF + + IF NOT PEMSTATUS(thisform,"filtru_pretty_ro",5) + thisform.AddProperty("filtru_pretty_ro") + ENDIF + + thisform.filtru_pretty="" + thisform.filtru_pretty_ro="" + thisform.but_start_criterii1.ToolTipText=thisform.filtru_pretty_ro + Thisform.but_start_criterii1.SetFocus + Thisform.Refresh + thisform.but_start_criterii1.pornit="nu" + thisform.do_cauta() + Thisform.but_start_criterii1.SetFocus + ENDPROC + + PROCEDURE do_sterge + If Thisform.ntipselectie = 1 + aMESSAGEBOX('Nu puteti sterge inregistrari decat pe inregistrarile interne/externe',0+48,'Stergere') + Return + Endif + + Local lcSql,lnRec + Select xtemp + lnRec=Recno() + Scatter Name loRec + Thisform.grid1.SetAll('DynamicFontBold','IIF(RECNO()='+ALLTRIM(STR(lnRec))+',.T.,.F.)','Column') + Thisform.grid1.Refresh() + + If loRec.id_bal_part = 0 Or Isnull(loRec.id_bal_part) + aMESSAGEBOX("Aceasta inregistrare nu este salvata pe server. Repetati cautarea",0+48,'Stergere') + Return + Endif + + If aMESSAGEBOX("Doriti sa stergeti aceasta inregistrare?",4+32+256,"Stergere")==6 + lcSql = [BEGIN PACK_INREGISTRARI.BALPARTDELPROC(] + Alltrim(Str(loRec.id_bal_part)) + [); END;] + + lnSucces = goExecutor.oExecute(lcSql) + If lnSucces < 0 + lcTextEroare = goExecutor.cEroare + aMESSAGEBOX(lcTextEroare,0+48,"Eroare") + Return + Endif + aMESSAGEBOX("Inregistrarea a fost stearsa!",0,"Stergere") + Thisform.MousePointer= 11 + Thisform.LockScreen=.T. + Thisform.actualizeaza_grid1() + Thisform.LockScreen=.F. + Thisform.MousePointer=0 + Release loRec + Select xtemp + lnRec=Min(Reccount(),lnRec) + + If lnRec <= 1 + Go Top + Else + Go lnRec + Endif + Endif + Thisform.grid1.SetAll('DynamicFontBold','.F.','Column') + Thisform.grid1.SetFocus() + ENDPROC + + PROCEDURE do_termin + pnbuton=1 + IF THISFORM.lmodificata + THISFORM.do_modifica(.T.) + ENDIF + IF TYPE('thisformset')='O' + THISFORMSET.RELEASE + ENDIF + THISFORM.RELEASE + THIS.BUT_STArt_criterii1.RESETstatus() + DODEFAULT() + + + ENDPROC + + PROCEDURE do_verifica + Local loDate As "empty" + Local lcCodFiscal, lcDenumire, lcFilter, lcSelect, lcWhere, llAutoVerificare, llDontCloseCursor + Local llExperimental, llMFIN, llServiciuWebANAF, llValidare, llVerificarePlatitorTVA, lnOptiune + Local lnRaspuns, loPartener + lcSelect = Select() + + Select xtemp + lcCodFiscal = Alltrim(xtemp.cod_fiscal) + lcDenumire = Alltrim(xtemp.nume) + lcIBAN = ALLTRIM(NVL(cont_banca,'')) + + lnOptiune = XMENU('Verifica... ' + m.lcDenumire + ' - ANAF; Verifica toti partenerii - ANAF; Verifica codul IBAN; Verifica toate codurile IBAN') + + If Empty(m.lnOptiune) + Return + Endif + + * Pot sa fac verificarea pentru un singur nume si cu formularul pentru mai multi parteneri, dar arata mai dragut informatia intr-un messagebox pentru unul singur + Do Case + Case m.lnOptiune = 1 && un singur nume + loPartener = Null + loDate = Createobject("empty") + + AddProperty(loDate, "denumire", m.lcDenumire) + AddProperty(loDate, "cod_fiscal", m.lcCodFiscal) + AddProperty(loDate, "tip_verificare", "ANAF_SERVICIU_WEB") + + lnRaspuns = VerificaCodFiscal(loDate, @lnOptiune, @loPartener) + + Case m.lnOptiune = 2 && TOATE NUMELE + llDontCloseCursor = .F. + llExperimental = .F. + llVerificarePlatitorTVA = .F. && verific VIES pentru toti partenerii + llMFIN = .T. && verific MFIN pentru toata lumea + llValidare = .T. && verific algoritmul codurilor fiscale + llAutoVerificare = .T. && lanseaza verificarea automata la activate-ul formularului de verificare + llServiciuWebANAF = .T. + + lcFilter = Filter("xtemp") + lcWhere = Iif(m.lnOptiune = 1, "recno() = " + Alltrim(Str(Recno())), Iif(!Empty(m.lcFilter), m.lcFilter, ".T.")) + Select Distinct cod_fiscal, nume As denumire, Iif(Left(Upper(cod_fiscal), 2) = "RO", "RO", " ") As ATRIBUT_FISCAL, .T. As IsCIF, .F. As codvalid ; + From xtemp; + Where &lcWhere ; + Into Cursor crsCoduriFiscale ; + Order By nume, cod_fiscal ; + Readwrite + + + Local lcXMLParteneri + lcXMLParteneri = "" + Cursortoxml('crsCoduriFiscale', "lcXMLParteneri", 1, 0, 0, "1") + + Do verificare_parteneri With m.lcXMLParteneri, m.llValidare, m.llMFIN, m.llVerificarePlatitorTVA, m.llAutoVerificare, m.llDontCloseCursor, m.llExperimental, m.llServiciuWebANAF + + CASE m.lnOptiune = 3 && IBAN un cod + lcIBAN = ALLTRIM(NVL(cont_banca,'')) + llValid = verifiban(m.lcIBAN) + IF m.llValid + AMESSAGEBOX('Contul IBAN ' + m.lcIBAN + ' este VALID.',0+64,_screen.Caption) + ELSE + AMESSAGEBOX('Contul IBAN ' + m.lcIBAN + ' este INVALID!',0+48,_screen.Caption) + ENDIF + Case m.lnOptiune = 4 && IBAN + lcFilter = Filter("xtemp") + lcWhere = Iif(m.lnOptiune = 1, "recno() = " + Alltrim(Str(Recno())), Iif(!Empty(m.lcFilter), m.lcFilter, ".T.")) + + SELECT DISTINCT nume as denumire, cod_fiscal, cont_banca ; + FROM xtemp ; + Where &lcWhere ; + Into Cursor crsCoduriIBAN + + Local lcXMLIBAN + lcXMLIBAN = "" + Cursortoxml('crsCoduriIBAN', "lcXMLIBAN", 1, 0, 0, "1") + USE IN (SELECT('crsCoduriIBAN')) + + DO verificare_iban WITH m.lcXMLIBAN + + Endcase && x = 1 + + Select (m.lcSelect) + + ENDPROC + + PROCEDURE Init + *!* *------------------ \\imi trebuie pt ordonarea pe dblclick header + *!* thisform.RemoveObject('check3') + LPARAMETERS tnCurs,tcValuta, tlAfisareTot + * tlAfisareTot .T. = daca se afiseaza toate inregistrarile la intrarea in formular + + If !Empty(tnCurs) + Thisform.ncurs = tnCurs + Endif + + If !Empty(tcValuta) + Thisform.cvaluta = tcValuta + ENDIF + + This.lAfisareTot = m.tlAfisareTot + + DODEFAULT() + SELECT xtemp + GO top + SCATTER MEMVAR blank + + IF THIS.but_modifica1.VISIBLE + THIS.but_modifica1.VISIBLE=!glLunaInchisa + ENDIF + IF THIS.but_reface1.VISIBLE + THIS.but_reface1.VISIBLE=!glLunaInchisa + ENDIF + + This.gridextra1.setup() + + ENDPROC + + PROCEDURE initializare + Thisform.grid1.ReadOnly = !Thisform.grid1.ReadOnly + THIS.but_start_criterii1.Enabled = !THIS.but_start_criterii1.Enabled + this.but_reset_criterii1.Enabled = !this.but_reset_criterii1.Enabled + + thisform.cmdDebitor.Enabled = !Thisform.cmdDebitor.Enabled + *Thisform.cmdCreditor.Enabled = !Thisform.cmdCreditor.Enabled + With Thisform.grid1 + .cNume.ReadOnly=.T. + .cCod_fiscal.ReadOnly=.T. + *!* .cAcont.readonly=.T. + .cSold.ReadOnly=.T. + .cAcont2.ReadOnly=.T. + .cSoldPrec.ReadOnly=.T. + .cSoldFinal.ReadOnly=.T. + .cTotAvans.ReadOnly=.T. + .cTotdeb.ReadOnly=.T. + .cTotCred.ReadOnly=.T. + .cNume2.ReadOnly=.T. + .cNume_val.ReadOnly=.T. + .cSucursala.ReadOnly=.T. + Endwith + thisform.grid1.Refresh + + + ENDPROC + + PROCEDURE istavans + PRIVATE pcschema1,pcselect1,pcfiltru1,pcorder1,poactan,pcdatacrt,pnavans + STORE "" TO poactan + pcschema1=['ID_ACT N(20),LUNA N(2),AN N(4),COD N(20),DATAIREG D,nract N(20),DATAACT D,'+]+; + ['EXPLICATIA C(100),SCD C(4),ASCD C(4),SCC C(4),ASCC C(4),SUMA N(19,2),PERECHED N(14),'+]+; + ['PERECHEC N(14),SUMA_VAL N(19,2),NUME_VAL C(5),CURS N(8,2),DATASCAD D,NEIMPOZAB N(19,2),'+]+; + ['NNIR N(10),ID_UTIL N(5),UTIL C(30),DATAORA T,ID_UTILS N(5),UTILS C(30),DATAORAS T,'+]+; + ['ID_RESPONSABIL N(5),NRESP C(30),ID_VENCHELT N(5),DST_CHLT C(100),ID_LUCRARE N(5),NRORD C(30),ID_SECTIE N(5),'+]+; + ['SECTIE C(30),PROC_TVA N(5,2),ID_SET N(20),ID_FACT N(20),ID_PARTD N(10),PARTD C(50),ID_PARTC N(10),'+]+; + ['PARTC C(50),ID_SUCURSALA N(5),SUCURSALA C(50),ID_FDOC N(5),FDOC C(30),'+]+; + ['EXPLICATIA4 C(100),EXPLICATIA5 C(100),ID_GESTD N(5),GESTD C(50),ID_GESTC N(5),GESTC C(50)'] + pcschema1=[''] + pcselect1=['select * from ]+gcS+[.vact where 2=2'] + pcorder1=[] + llAfisare=.F. + + pcdatacrt=ALLTRIM(STR(gnAn))+PADL(ALLTRIM(STR(gnLuna)),2,'0')+[01] + thisform.AlwaysOnTop= .F. + + SELECT xtemp + SCATTER NAME loRec + IF loRec.pnavans==0 + OST=CREATEOBJ("stop") + OST.LABEL2.CAPTION=" " + OST.LABEL3.CAPTION="Avans = 0" + oSt.show(1) + ELSE + IF TYPE('loRec.id_part') # 'U' + lcCond=[(partD=']+ALLTRIM(loRec.nume)+[' or id_partC=]+ALLTRIM(STR(loRec.id_part))+[)] + ELSE + IF this.pccont = '542 ' + lcCond=[partC=']+ALLTRIM(loRec.nume)+['] + ELSE + lcCond=[partD=']+ALLTRIM(loRec.nume)+['] + ENDIF + ENDIF + + IF 'CLIENTI' $ thisform.lb_titlu_alb_b121.Caption + pcfiltru1=[SUBSTR(scc,1,3)='419' and dataact 0 or credit <> 0)\" + crlf + ; + "Cu rulaje anuale\nofiled\E\((TOTDEB-PRECDEB1) <> 0 or (TOTCRED-PRECCRED1) <> 0)\" + crlf + ; + "Cu sold\nofiled\E\" + + IF THISFORM.pcfel="A" + lcStringCriterii=lcStringCriterii+ [ (ABS(debit-credit] + lcAvans + [)>0 or ABS(PRECDEB+DEBIT-PRECCRED-CREDIT] + lcTotAvans + [)>0)\] + crlf + ELSE + lcStringCriterii = lcStringCriterii + [ (ABS(-debit+credit] + lcAvans + [)>0 or ABS(-PRECDEB-DEBIT+PRECCRED+CREDIT] + lcTotAvans+[)>0)\] + crlf + ENDIF + + lcStringCriterii = lcStringCriterii + "Rulaj debit\debit\N|get_mask(12,gnPA)\none\"+ crlf + lcStringCriterii = lcStringCriterii + "Rulaj credit\credit\N|get_mask(12,gnPA)\none\"+ crlf + + lcStringCriterii = lcStringCriterii + "Rul. debit anual\(TOTDEB-PRECDEB1)\N|get_mask(12,gnPA)\none\"+ crlf + lcStringCriterii = lcStringCriterii + "Rul. credit anual\(TOTCRED-PRECCRED1)\N|get_mask(12,gnPA)\none\"+ crlf + + If THISFORM.pcfel="A" + lcStringCriterii = lcStringCriterii + "Sold\precdeb+debit-credit-preccred\N|get_mask(12,gnPA)\none\"+ crlf + Else + lcStringCriterii = lcStringCriterii + "Sold\credit+preccred-precdeb-debit\N|get_mask(12,gnPA)\none\"+ crlf + ENDIF + + lcStringCriterii = lcStringCriterii + "Cu rulaje sau sold\nofiled\E\((precdeb1-preccred1)<>0 or (totdeb-precdeb1) <> 0 or (totcred-preccred1) <> 0 or debit<> 0 or credit<>0)\" + crlf + + ******** + lcStringCriterii= lcStringCriterii + "Nume valuta\nume_val\T\none\"+ crlf + ********** + lcStringCriterii = lcStringCriterii + IIF(glEMama, "Sucursala\sucursala\T\ID_SUCURSALA\nom_sucursala"+ crlf, "") + + DODEFAULT() + + ENDPROC + + PROCEDURE cmdDebitor.Click + lnOptiune = xmenu('Istoric debitor;Istoric creditor') + IF EMPTY(m.lnOptiune) + RETURN + ENDIF + IF m.lnOptiune = 1 + thisform.istdeb() + ELSE + thisform.istcred() + ENDIF + ENDPROC + + PROCEDURE cmdLunaInitializare.Click + IF amessagebox('Doriti sa demarcati luna ' + PADL(m.gnLuna, 2, '0') + '/' + ALLTRIM(STR(gnAn)) + ' pentru initializare?' + CHR(13) + CHR(10) + ; + 'Atentie! Situatia contabila curenta va fi suprascrisa (refacuta) la Redeschidere de luna sau Refaceri!', 4+32, _SCREEN.CAPTION) = 6 + Thisform.lLunainitializare = IsCalendarInit('DEL', thisform.cEntitate, Thisform.pccont) && oparteneri.prg + Thisform.lBlocatRefacere = IsBlocatRefacere(thisform.cEntitate, Thisform.pccont) && oparteneri.prg + endif + + ENDPROC + + PROCEDURE grid1.AfterRowColChange + Lparameters nColIndex + Local lnluna + With Thisform.grid1 + Select xtemp + lnluna = luna + If Thisform.lmodificata + Replace TOTCRED With PRECCRED + CRED + Replace totdeb With PRECDEB + DEB + Replace totvalcred With precvalcred + valcredit + Replace totvaldeb With precvaldeb + valdebit + Thisform.lmodificare_totaluri = .T. + Thisform.actualizeaza_totaluri() + If lnluna = 0 + Thisform.lmodificare_totaluri = .F. + Endif + Thisform.grid1.Refresh + Endif + If .RowColChange = 1 Or .RowColChange = 3 + If Type('xtemp.acont') # 'U' + Thisform.pcAcont = Alltrim(acont) + Endif + If Type('xtemp.idpart') # 'U' + Thisform.pnidpart = idpart + Endif + Endif + Endwith + + ENDPROC + + PROCEDURE grid1.BeforeRowColChange + Lparameters nColIndex + If !Thisform.lmodificare_totaluri + Local lnCol + Private pnRec + + * WAIT WINDOW TRANSFORM(THISFORM.coldvalue) + ' ' + TRANSFORM(THISFORM.cnewvalue) + If Thisform.grid1.ReadOnly=.F. And Thisform.coldvalue!=Thisform.cnewvalue + Thisform.lmodificata=.T. + Endif + If (This.RowColChange= 1 Or This.RowColChange= 3) And Thisform.lmodificata + If Thisform.coldvalue!=Thisform.cnewvalue + For i=1 To This.ColumnCount + If This.Columns(i).ColumnOrder=nColIndex + lcColoana="thisform.grid1."+This.Columns(i).Name + Exit + Endif + Endfor + oColoana=&lcColoana + lValue=oColoana.text1.Value + lcNumeColoana=Substr(oColoana.ControlSource,At('.',oColoana.ControlSource)+1) + Select xtemp + Replace (lcNumeColoana) With lValue + Endif + pnRec=Recno() + Thisform.do_modifica() + Thisform.lmodificare_totaluri=.F. + *!* Thisform.grid1.ActivateCell(pnRec,nColIndex) + DoDefault() + Endif + Else + Thisform.lmodificare_totaluri=.F. + Nodefault + Endif + + ENDPROC + + PROCEDURE grid1.cAcont.Text1.GotFocus + Thisform.coldvalue=Alltrim(NVL(This.Value,[])) + Thisform.cnewvalue=Thisform.coldvalue + ENDPROC + + PROCEDURE grid1.cAcont.Text1.InteractiveChange + Thisform.cnewvalue=Alltrim(This.Value) + ENDPROC + + PROCEDURE grid1.cAcont.Text1.RightClick + do editscurt.mpr + ENDPROC + + PROCEDURE grid1.cAcont2.Text1.DblClick + thisform.butdrept + ENDPROC + + PROCEDURE grid1.cAcont2.Text1.GotFocus + thisform.cnewvalue="" + thisform.coldvalue="" + ENDPROC + + PROCEDURE grid1.cAcont2.Text1.RightClick + do editscurt.mpr + ENDPROC + + PROCEDURE grid1.cAvans.Header1.DblClick + ThisForm.gridsort1.gridsort(This.Parent) + ENDPROC + + PROCEDURE grid1.cAvans.Text1.DblClick + thisform.butdrept + ENDPROC + + PROCEDURE grid1.cAvans.Text1.GotFocus + lcMask=Strtran(This.Parent.InputMask,' ','') + lnNrZec=At(Thisform.cseparator,lcMask,1) + Thisform.coldvalue=Alltrim(Str(This.Value,Len(lcMask),Iif(lnNrZec>0,Len(lcMask)-lnNrZec,0))) + Thisform.cnewvalue=Thisform.coldvalue + ENDPROC + + PROCEDURE grid1.cAvans.Text1.InteractiveChange + lcMask=Strtran(This.Parent.InputMask,' ','') + lnNrZec=At(Thisform.cseparator,lcMask,1) + Thisform.cnewvalue=Alltrim(Str(This.Value,Len(lcMask),Iif(lnNrZec>0,Len(lcMask)-lnNrZec,0))) + ENDPROC + + PROCEDURE grid1.cAvans.Text1.RightClick + do editscurt.mpr + ENDPROC + + PROCEDURE grid1.cAvansPrec.Text1.GotFocus + lcMask=Strtran(This.Parent.InputMask,' ','') + lnNrZec=At(Thisform.cseparator,lcMask,1) + Thisform.coldvalue=Alltrim(Str(This.Value,Len(lcMask),Iif(lnNrZec>0,Len(lcMask)-lnNrZec,0))) + Thisform.cnewvalue=Thisform.coldvalue + ENDPROC + + PROCEDURE grid1.cAvansPrec.Text1.InteractiveChange + lcMask=Strtran(This.Parent.InputMask,' ','') + lnNrZec=At(Thisform.cseparator,lcMask,1) + Thisform.cnewvalue=Alltrim(Str(This.Value,Len(lcMask),Iif(lnNrZec>0,Len(lcMask)-lnNrZec,0))) + ENDPROC + + PROCEDURE grid1.cCod_fiscal.Text1.DblClick + thisform.butdrept + ENDPROC + + PROCEDURE grid1.cCod_fiscal.Text1.GotFocus + Thisform.cnewvalue="" + Thisform.coldvalue="" + ENDPROC + + PROCEDURE grid1.cCod_fiscal.Text1.RightClick + do editscurt.mpr + ENDPROC + + PROCEDURE grid1.cCred.Text1.DblClick + thisform.butdrept + ENDPROC + + PROCEDURE grid1.cCred.Text1.GotFocus + lcMask=Strtran(This.Parent.InputMask,' ','') + lnNrZec=At(Thisform.cseparator,lcMask,1) + Thisform.coldvalue=Alltrim(Str(This.Value,Len(lcMask),Iif(lnNrZec>0,Len(lcMask)-lnNrZec,0))) + Thisform.cnewvalue=Thisform.coldvalue + ENDPROC + + PROCEDURE grid1.cCred.Text1.InteractiveChange + lcMask=Strtran(This.Parent.InputMask,' ','') + lnNrZec=At(Thisform.cseparator,lcMask,1) + Thisform.cnewvalue=Alltrim(Str(This.Value,Len(lcMask),Iif(lnNrZec>0,Len(lcMask)-lnNrZec,0))) + ENDPROC + + PROCEDURE grid1.cCred.Text1.RightClick + do editscurt.mpr + ENDPROC + + PROCEDURE grid1.cDeb.Text1.DblClick + thisform.butdrept + ENDPROC + + PROCEDURE grid1.cDeb.Text1.GotFocus + lcMask=Strtran(This.Parent.InputMask,' ','') + lnNrZec=At(Thisform.cseparator,lcMask,1) + Thisform.coldvalue=Alltrim(Str(This.Value,Len(lcMask),Iif(lnNrZec>0,Len(lcMask)-lnNrZec,0))) + Thisform.cnewvalue=Thisform.coldvalue + ENDPROC + + PROCEDURE grid1.cDeb.Text1.InteractiveChange + lcMask=Strtran(This.Parent.InputMask,' ','') + lnNrZec=At(Thisform.cseparator,lcMask,1) + Thisform.cnewvalue=Alltrim(Str(This.Value,Len(lcMask),Iif(lnNrZec>0,Len(lcMask)-lnNrZec,0))) + ENDPROC + + PROCEDURE grid1.cDeb.Text1.RightClick + do editscurt.mpr + ENDPROC + + PROCEDURE grid1.cNume.Text1.DblClick + thisform.butdrept + ENDPROC + + PROCEDURE grid1.cNume.Text1.GotFocus + thisform.coldvalue = "" + thisform.cnewvalue = "" + RETURN + + LOCAL lcAlias + lcAlias = thisform.grid1.RecordSource + thisform.coldvalue = &lcAlias..id_part + thisform.cnewvalue = thisform.coldvalue + ENDPROC + + PROCEDURE grid1.cNume.Text1.InteractiveChange + && DACA MODIFIC PARTENERUL/SUCURSALA SE DUBLEAZA LINIA - ESTE LA FEL CA ADAUGARE LINIE NOUA SI COPIERE SUME + RETURN + + LOCAL lcCont, lcAlias + lcAlias = thisform.grid1.RecordSource + + IF !THISFORM.grid1.READONLY + NODEFAULT + LOCAL locauta,lcOldValue,lcNewValue + + STORE "" TO locauta + SELECT (lcAlias) + lcOldValue = id_part + lnRec = RECNO() + lcCont = ALLTRIM(CONT) + + locauta = CautPartenerContabilitate(GetHash([cTitlu=>Alegeti partenerul ] + lcCont + [??lAdaugCorespondente=>1??cCont=>] + lcCont)) + + IF !EMPTY(locauta.nume) + SELECT (lcAlias) + GO lnRec + REPLACE id_part WITH locauta.id_part + REPLACE nume WITH ALLTRIM(locauta.nume) + lcNewValue = loCauta.id_part + ELSE + lcNewValue = lcOldValue + ENDIF + THIS.SETFOCUS() + THISFORM.coldvalue = lcOldValue + THISFORM.cnewvalue = lcNewValue + Thisform.lmodificata=.T. + RELEASE locauta + ELSE + DODEFAULT() + ENDIF + ENDPROC + + PROCEDURE grid1.cNume.Text1.RightClick + do editscurt.mpr + ENDPROC + + PROCEDURE grid1.cNume2.Text1.GotFocus + thisform.cnewvalue="" + thisform.coldvalue="" + ENDPROC + + PROCEDURE grid1.cNume_val.Text1.GotFocus + Thisform.coldvalue="" + Thisform.cnewvalue="" + ENDPROC + + PROCEDURE grid1.cPreccred.Text1.GotFocus + lcMask=Strtran(This.Parent.InputMask,' ','') + lnNrZec=At(Thisform.cseparator,lcMask,1) + Thisform.coldvalue=Alltrim(Str(This.Value,Len(lcMask),Iif(lnNrZec>0,Len(lcMask)-lnNrZec,0))) + Thisform.cnewvalue=Thisform.coldvalue + ENDPROC + + PROCEDURE grid1.cPreccred.Text1.InteractiveChange + lcMask=Strtran(This.Parent.InputMask,' ','') + lnNrZec=At(Thisform.cseparator,lcMask,1) + Thisform.cnewvalue=Alltrim(Str(This.Value,Len(lcMask),Iif(lnNrZec>0,Len(lcMask)-lnNrZec,0))) + ENDPROC + + PROCEDURE grid1.cPrecdeb.Text1.GotFocus + lcMask=Strtran(This.Parent.InputMask,' ','') + lnNrZec=At(Thisform.cseparator,lcMask,1) + Thisform.coldvalue=Alltrim(Str(This.Value,Len(lcMask),Iif(lnNrZec>0,Len(lcMask)-lnNrZec,0))) + Thisform.cnewvalue=Thisform.coldvalue + ENDPROC + + PROCEDURE grid1.cPrecdeb.Text1.InteractiveChange + lcMask=Strtran(This.Parent.InputMask,' ','') + lnNrZec=At(Thisform.cseparator,lcMask,1) + Thisform.cnewvalue=Alltrim(Str(This.Value,Len(lcMask),Iif(lnNrZec>0,Len(lcMask)-lnNrZec,0))) + ENDPROC + + PROCEDURE grid1.cSold.Text1.DblClick + thisform.butdrept + ENDPROC + + PROCEDURE grid1.cSold.Text1.GotFocus + Thisform.cnewvalue="" + Thisform.coldvalue="" + ENDPROC + + PROCEDURE grid1.cSold.Text1.InteractiveChange + lcMask=Strtran(This.Parent.InputMask,' ','') + lnNrZec=At(Thisform.cseparator,lcMask,1) + Thisform.cnewvalue=Alltrim(Str(This.Value,Len(lcMask),Iif(lnNrZec>0,Len(lcMask)-lnNrZec,0))) + + ENDPROC + + PROCEDURE grid1.cSold.Text1.RightClick + do editscurt.mpr + ENDPROC + + PROCEDURE grid1.cSoldFinal.Text1.GotFocus + Thisform.cnewvalue="" + Thisform.coldvalue="" + ENDPROC + + PROCEDURE grid1.cSoldFinalVal.Text1.GotFocus + Thisform.cnewvalue="" + Thisform.coldvalue="" + ENDPROC + + PROCEDURE grid1.cSoldPrec.Text1.GotFocus + Thisform.cnewvalue="" + Thisform.coldvalue="" + ENDPROC + + PROCEDURE grid1.cSoldPrecVal.Text1.GotFocus + Thisform.cnewvalue="" + Thisform.coldvalue="" + ENDPROC + + PROCEDURE grid1.cSucursala.Text1.InteractiveChange + && DACA MODIFIC PARTENERUL/SUCURSALA SE DUBLEAZA LINIA - ESTE LA FEL CA ADAUGARE LINIE NOUA SI COPIERE SUME + RETURN + + IF !glEMama + RETURN + ENDIF + + LOCAL lcAlias + lcAlias = thisform.grid1.RecordSource + + IF !THISFORM.grid1.READONLY + NODEFAULT + LOCAL locauta,lcOldValue,lcNewValue, lnIdSucursala, lcOldSucursala + + STORE "" TO locauta + SELECT (lcAlias) + lcOldValue = id_sucursala + lcOldSucursala = sucursala + lnRec = RECNO() + + + loCauta = caut_sucursala() + IF gnButon = 1 + loCauta.id_sucursala = IIF(NVL(locauta.id_sucursala,0) = 0, NULL, locauta.id_sucursala) + SELECT (lcAlias) + GO lnRec + REPLACE id_sucursala WITH loCauta.id_sucursala + REPLACE sucursala WITH ALLTRIM(NVL(locauta.sucursala,'')) + + lcNewValue = loCauta.id_sucursala + this.Value = sucursala + ELSE + lcNewValue = lcOldValue + this.value = lcOldSucursala + ENDIF + RELEASE locauta + THIS.SETFOCUS() + THISFORM.coldvalue = lcOldValue + THISFORM.cnewvalue = lcNewValue + + Thisform.lmodificata=.T. + * MESSAGEBOX(TRANSFORM(THISFORM.coldvalue) + ' ' + TRANSFORM(THISFORM.cnewvalue)) + + *!* FOR i=1 TO THISFORM.grid1.COLUMNCOUNT + *!* IF THISFORM.grid1.COLUMNS(i).COLUMNORDER=THIS.PARENT.COLUMNORDER+1 + *!* EXIT + *!* ENDIF + *!* ENDFOR + *!* THISFORM.grid1.COLUMNS(i).SETFOCUS() + ELSE + DODEFAULT() + ENDIF + ENDPROC + + PROCEDURE grid1.cSucursala.Text1.When + && NU AM REUSIT SA FAC COLDVALUE <> CNEWVALUE :( + thisform.coldvalue = "" + thisform.cnewvalue = "" + RETURN .T. + + LOCAL lcAlias + lcAlias = thisform.grid1.RecordSource + thisform.coldvalue = &lcAlias..id_sucursala + thisform.cnewvalue = thisform.coldvalue + RETURN .T. + ENDPROC + + PROCEDURE grid1.cTotAvans.Text1.GotFocus + Thisform.cnewvalue="" + Thisform.coldvalue="" + ENDPROC + + PROCEDURE grid1.cTotcred.Text1.GotFocus + Thisform.cnewvalue="" + Thisform.coldvalue="" + ENDPROC + + PROCEDURE grid1.cTotdeb.Text1.GotFocus + Thisform.cnewvalue="" + Thisform.coldvalue="" + ENDPROC + + PROCEDURE grid1.cValCredit.Text1.GotFocus + lcMask=Strtran(This.Parent.InputMask,' ','') + lnNrZec=At(Thisform.cseparator,lcMask,1) + Thisform.coldvalue=Alltrim(Str(This.Value,Len(lcMask),Iif(lnNrZec>0,Len(lcMask)-lnNrZec,0))) + Thisform.cnewvalue=Thisform.coldvalue + ENDPROC + + PROCEDURE grid1.cValCredit.Text1.InteractiveChange + lcMask=Strtran(This.Parent.InputMask,' ','') + lnNrZec=At(Thisform.cseparator,lcMask,1) + Thisform.cnewvalue=Alltrim(Str(This.Value,Len(lcMask),Iif(lnNrZec>0,Len(lcMask)-lnNrZec,0))) + ENDPROC + + PROCEDURE grid1.cValDebit.Text1.GotFocus + lcMask=Strtran(This.Parent.InputMask,' ','') + lnNrZec=At(Thisform.cseparator,lcMask,1) + Thisform.coldvalue=Alltrim(Str(This.Value,Len(lcMask),Iif(lnNrZec>0,Len(lcMask)-lnNrZec,0))) + Thisform.cnewvalue=Thisform.coldvalue + ENDPROC + + PROCEDURE grid1.cValDebit.Text1.InteractiveChange + lcMask=Strtran(This.Parent.InputMask,' ','') + lnNrZec=At(Thisform.cseparator,lcMask,1) + Thisform.cnewvalue=Alltrim(Str(This.Value,Len(lcMask),Iif(lnNrZec>0,Len(lcMask)-lnNrZec,0))) + ENDPROC + + PROCEDURE grid1.Init + *!* * + *!* * Replace default headers with custom one + *!* lcOrder = thisform.corder + *!* i=0 + *!* For Each loColumn In This.Columns + *!* i = i + 1 + *!* With loColumn + *!* If !Empty(loColumn.ControlSource) + + *!* * Save default caption, color and font + + *!* lcOldCaption = loColumn.Header1.Caption + *!* lcOldFontName = loColumn.Header1.FontName + *!* lnOldForeColor = loColumn.Header1.ForeColor + *!* llOldFontUnderline = loColumn.Header1.FontUnderline + + *!* * Name Header Obj after ControlSource + + *!* lcControlSrc = loColumn.ControlSource + *!* lnControlSrc = Rat(".", lcControlSrc) + 1 + *!* lcControlSrc = Substr(lcControlSrc, lnControlSrc) + + *!* * Metoda dupa care se face ordonarea relativa la grid + *!* lcMethodName = 'parent.corderby_assign' + *!* lcPropColOrder = 'parent.cOrder' + *!* lcPropSensOrder = 'parent.cAsc' + *!* * Remove old and create new header + + *!* .RemoveObject("Header1") + *!* .AddObject("Header1", ; + *!* "PSHeader", ; + *!* lcOldCaption, lcOldFontName,lnOldForeColor,llOldFontUnderline,lcMethodName,lcControlSrc) + + *!* *!* If Upper(Alltrim(lcControlSrc)) = Upper(Alltrim(lcOrder)) + *!* *!* lcCuloare = [locolumn.grh] + ALLTRIM(STR(i)) + [.forecolor = RGB(0,0,255)] + *!* *!* &lcCuloare + *!* *!* lcUnderline = [locolumn.grh] + ALLTRIM(STR(i)) + [.FontUnderline = .t.] + *!* *!* &lcUnderline + *!* *!* Endif + *!* Endif + *!* Endwith + *!* ENDFOR + + ENDPROC + + PROCEDURE Gridextra1.applyfilter + DODEFAULT() + Thisform._grdfooter1.calcTotal() + ENDPROC + + PROCEDURE Gridextra1.clearfilter + DODEFAULT() + Thisform._grdfooter1.calcTotal() + ENDPROC + + PROCEDURE Optiongroup1.Valid + *!* IF !PEMSTATUS(THIS,"cTraducere",5) + *!* THIS.ADDPROPERTY("cTraducere", "") + *!* ENDIF + *!* DO CASE + *!* CASE THIS.VALUE = 1 + *!* THIS.cTraducere = "" + *!* CASE THIS.VALUE = 2 + *!* THIS.cTraducere = "Parteneri interni" + *!* CASE THIS.VALUE = 3 + *!* THIS.cTraducere = "Parteneri externi" + *!* ENDCASE + THISFORM.do_cauta() + thisform._grdfooter1.attachtogrid(thisform.grid1) && se ascund/afiseaza coloane valuta + Thisform.actualizeaza_totaluri() && nu se mai afisau totalurile dupa attachtogrid + + THISFORM.but_start_criterii1.refreshstatus + + ENDPROC + +ENDDEFINE + +DEFINE CLASS frm_bal_parteneri_cumulata AS frm_termin OF "_frm_child.vcx" + *< CLASSDATA: Baseclass="form" Timestamp="" Scale="Pixels" Uniqueid="" /> + + *-- OBJECTDATA items order determines ZOrder / El orden de los items OBJECTDATA determina el ZOrder + *< OBJECTDATA: ObjPath="Shape1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="Label1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="Ct_grid_order1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="Grd_total" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="Resizable1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="But_excel1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="Lb_shortcuts1" UniqueID="" Timestamp="" /> + + * + *m: calcul_totaluri + *m: resize_grd_total + *p: ctitlu + *p: ototal + * + + * + BorderStyle = 2 + cgridsortlist = ct_grid_order1._GRID1 + ctitlu = + DoCreate = .T. + Height = 503 + Name = "frm_bal_parteneri_cumulata" + ototal = .F. + Width = 793 + _shape1.Height = 29 + _shape1.Left = 0 + _shape1.Name = "_shape1" + _shape1.Top = -2 + _shape1.Width = 792 + _shape1.ZOrderSet = 2 + _shape2.Height = 29 + _shape2.Left = 732 + _shape2.Name = "_shape2" + _shape2.Top = -2 + _shape2.Width = 60 + _shape2.ZOrderSet = 3 + Lb_titlu_alb_b121.Caption = "Balata parteneri cumulata" + Lb_titlu_alb_b121.Left = 4 + Lb_titlu_alb_b121.Name = "Lb_titlu_alb_b121" + Lb_titlu_alb_b121.Top = 0 + Lb_titlu_alb_b121.ZOrderSet = 4 + BUT_TERMIN1.Left = 760 + BUT_TERMIN1.Name = "BUT_TERMIN1" + BUT_TERMIN1.Top = -1 + BUT_TERMIN1.ZOrderSet = 5 + Gridsort1.Name = "Gridsort1" + * + + ADD OBJECT 'But_excel1' AS but_excel WITH ; + Anchor = 9, ; + Left = 732, ; + Name = "But_excel1", ; + Top = 0, ; + ZOrderSet = 38 + *< END OBJECT: ClassLib="cmd_butoane.vcx" BaseClass="commandbutton" /> + + ADD OBJECT 'Ct_grid_order1' AS ct_grid_order WITH ; + Height = 430, ; + Left = 0, ; + Name = "Ct_grid_order1", ; + Top = 31, ; + Width = 792, ; + ZOrderSet = 6, ; + _GRID1.Height = 393, ; + _GRID1.Left = 6, ; + _GRID1.Name = "_GRID1", ; + _GRID1.RecordMark = .T., ; + _GRID1.Top = 33, ; + _GRID1.Width = 783, ; + Titlu.Left = 372, ; + Titlu.Name = "Titlu", ; + Titlu.Top = 19, ; + Cb_tx_cautare1.Criteriu.Name = "Criteriu", ; + Cb_tx_cautare1.Left = 7, ; + Cb_tx_cautare1.Name = "Cb_tx_cautare1", ; + Cb_tx_cautare1.Text.Name = "Text", ; + Cb_tx_cautare1.Top = 2 + *< END OBJECT: ClassLib="ferestre_cere_date.vcx" BaseClass="container" /> + + ADD OBJECT 'Grd_total' AS grid WITH ; + AllowHeaderSizing = .F., ; + AllowRowSizing = .F., ; + BackColor = 236,249,255, ; + DeleteMark = .F., ; + FontBold = .T., ; + FontName = "Arial Narrow", ; + FontSize = 10, ; + GridLineColor = 0,98,145, ; + GridLines = 2, ; + GridLineWidth = 1, ; + HeaderHeight = 0, ; + Height = 21, ; + HighlightBackColor = 236,249,255, ; + HighlightForeColor = 0,0,0, ; + Left = 13, ; + Name = "Grd_total", ; + RecordMark = .F., ; + RowHeight = 21, ; + ScrollBars = 0, ; + Top = 474, ; + Width = 769, ; + ZOrderSet = 7 + *< END OBJECT: BaseClass="grid" /> + + ADD OBJECT 'Label1' AS label WITH ; + AutoSize = .T., ; + BackColor = 255,255,255, ; + BackStyle = 1, ; + Caption = "Totaluri", ; + FontBold = .T., ; + Height = 17, ; + Left = 13, ; + Name = "Label1", ; + Top = 457, ; + Width = 45, ; + ZOrderSet = 1 + *< END OBJECT: BaseClass="label" /> + + ADD OBJECT 'Lb_shortcuts1' AS lb_shortcuts WITH ; + Caption = "CTRL+F = Terminare; ESC = Renuntare", ; + Left = 4, ; + Name = "Lb_shortcuts1", ; + Top = 14 + *< END OBJECT: ClassLib="lb.vcx" BaseClass="label" /> + + ADD OBJECT 'Resizable1' AS resizable_class WITH ; + Left = 312, ; + Name = "Resizable1", ; + repositionlist = _shape But_termin But_renunt Titlufrumos _txbase Ct_grid_order Grid Shape Label, ; + resizelist = _shape But_termin But_renunt Titlufrumos _txbase Ct_grid_order Grid Shape Label, ; + Top = 10 + *< END OBJECT: ClassLib="solution.vcx" BaseClass="custom" /> + + ADD OBJECT 'Shape1' AS shape WITH ; + BackStyle = 0, ; + Height = 34, ; + Left = 7, ; + Name = "Shape1", ; + Top = 465, ; + Width = 781, ; + ZOrderSet = 0 + *< END OBJECT: BaseClass="shape" /> + + PROCEDURE Activate + this.WindowState = 2 + ENDPROC + + PROCEDURE calcul_totaluri + LOCAL lcCursor, lcColoane, lnNrCol, lcColoana + + lcCursor = this.ct_grid_order1.cnumecursor + lcColoane = this.ct_grid_order1.cnume_coloane + lnNrCol = GETWORDCOUNT(lcColoane,';') + + SELECT (lcCursor) + SCATTER NAME otot BLANK + lnRecno = RECNO() + + FOR i = 1 TO lnNrCol + lcColoana = GETWORDNUM(lcColoane,i,';') + IF TYPE(lcColoana) = 'N' + SELECT (lcCursor) + SUM &lcColoana TO otot.&lcColoana + ENDIF + ENDFOR + + SELECT (lcCursor) + IF !EOF() + GOTO lnRecno + ELSE + LOCATE + ENDIF + this.ototal = oTot + this.resize_grd_total + + ENDPROC + + PROCEDURE do_excel + Local lcAlias, lcFiltru, lcColumnList, lcHeaderList, lcSelect, lcOutput, lcFrom, lcWhere, lcOrder + lcAlias = this.ct_grid_order1._GRID1.RecordSource + lcFiltru = FILTER(lcAlias) + IF EMPTY(lcFiltru) + lcFiltru = '.T.' + ENDIF + + exista_excel=.T. + lcColumnList = '' + lcHeaderList = '' + lcSelect = '' + llSelect = .T. + lcType = 'CURSOR' + lcFrom = lcAlias + lcWhere = lcFiltru + lcOrder = 'nume' + lcOutput = 'crsBalPart' + + get_schema_grid(this.grid1,@lcColumnList, @lcHeaderList, @lcSelect, llSelect, lcType, lcFrom, lcWhere, lcOrder, lcOutput) + &lcSelect + IF USED(lcOutput) + DO export_xls WITH lcOutput IN oproceduri_comune.prg + USE IN (lcOutput) + ENDIF + ENDPROC + + PROCEDURE Resize + this.resizable1.adjustcontrols + ENDPROC + + PROCEDURE resize_grd_total + this.LockScreen = .T. + + this.grd_total.RecordSource = this.ct_grid_order1._gRID1.RecordSource + WITH this.ct_grid_order1._gRID1 + this.grd_total.ColumnCount = .ColumnCount + For i=1 To .ColumnCount + lcControlCol = ALLTRIM(.columns(i).ControlSource) + lnWidth = .columns(i).width + lcMaskCol = .columns(i).InputMask + lnOrder = .columns(i).columnOrder + + this.grd_total.columns(i).width = lnWidth + this.grd_total.columns(i).columnOrder = lnOrder + this.grd_total.columns(i).InputMask = lcMaskCol + lcControlSource = [this.grd_total.coLUMN] + Alltrim(Str(i))+ [.ControlSource = 'thisform.ototal.] + lcControlCol + ['] + &lcControlSource + ENDFOR + ENDWITH + + this.LockScreen = .F. + ENDPROC + + PROCEDURE Show + LPARAMETERS nStyle + this.lb_titlu_alb_b121.Caption = this.ctitlu + this.ct_grid_order1.initializare() + this.resize_grd_total + this.calcul_totaluri() + + this.grid_sort_bind() + ENDPROC + + PROCEDURE Ct_grid_order1.actualizeaza_grid + LPARAMETERS pcFiltru + DODEFAULT(pcFiltru) + thisform.calcul_totaluri + ENDPROC + + PROCEDURE Ct_grid_order1.initializare + PARAMETERS tlNumerotare + + llNrOrd = tlNumerotare + + *** CREEZ CURSORUL INITIAL + + lcTitlu = This.cTitlu + lcTitluColoane = This.cTitlu_coloane + lcNumeColoane = This.cNume_coloane + lcMask = ALLTRIM(This.cMask) + *!* lcSql = This.cSelect + *!* lcFiltru = Iif(!Empty(This.cFiltru),This.cFiltru + [ AND ] + This.cFiltruOriginal,This.cFiltruOriginal) + *!* lcFiltruOriginal = This.cFiltruOriginal + *!* lcSchema = This.cSchema + lcOrder = This.cOrder + *!* llAfisare = .F. + lcNumeCursor = This.cNumecursor + lcNrColoane_check = ALLTRIM(this.cnrcoloane_check) + + && testez daca am de-a face cu coloane de tip checkbox + llCuCheck =IIF(EMPTY(lcNrColoane_check),.f.,.t.) + + This.titlu.Caption = lcTitlu + + *!* IF USED(lcNumeCursor) + *!* USE IN &lcNumeCursor + *!* ENDIF + + *!* lnSucces = goExecutor.oExecute(lcSql,lcNumeCursor) + + *!* IF lnSucces < 0 + *!* MESSAGEBOX(goExecutor.cEroare,0+16,"Eroare") + *!* RETURN + *!* ENDIF + + + If Right(lcTitluColoane,1) # ',' + lcTitluColoane = lcTitluColoane + ',' + Endif + If Left(lcTitluColoane,1) # ',' + lcTitluColoane = ',' + lcTitluColoane + Endif + + If Right(lcNumeColoane ,1) # ';' + lcNumeColoane = lcNumeColoane + ';' + Endif + If Left(lcNumeColoane ,1) # ';' + lcNumeColoane = ';' + lcNumeColoane + Endif + + If Right(lcSchema ,1) # ',' + lcSchema = lcSchema + ',' + Endif + If Left(lcSchema,1) # ',' + lcSchema = ',' + lcSchema + ENDIF + + If Right(lcMask,1) # ';' && am virgula in get_mask + lcMask = lcMask + ';' + Endif + If Left(lcMask,1) # ';' + lcMask = ';' + lcMask + ENDIF + + IF llNrOrd && mai adaug o coloana la inceput + lcTitluColoane = ',' + lcTitluColoane + lcNumeColoane = ';' + lcNumeColoane + lcSchema = ',' + lcSchema + lcMask = ';[0]=' + lcMask + ENDIF + + lnNrCols = Occurs(",",lcTitluColoane) - 1 + + This._GRID1.RecordSource = lcNumeCursor + This._GRID1.ColumnCount = lnNrCols + + SELECT (lcNumeCursor) + For i=1 To lnNrCols + * this._grid1.AddColumn(i) + IF llNrOrd AND i = 1 + lcHeader = [this._grid1.column1.hEADER1.Caption = 'Nr.'] + &lcHeader + this._GRID1.coLUMN1.ControlSource = '' + LOOP + ENDIF + lcTitluCol = Strextract(lcTitluColoane,[,],[,],i) + lcControlCol = Strextract(lcNumeColoane,[;],[;],i) + lcHeader = [this._grid1.column] + Alltrim(Str(i))+ [.hEADER1.Caption = '] + lcTitluCol + ['] + &lcHeader + lcControlSource = [this._GRID1.coLUMN] + Alltrim(Str(i))+ [.ControlSource = '] + lcControlCol + ['] + &lcControlSource + lcMaskCol = Strextract(lcMask,[;],[;],i) + lcMaskCol = ALLTRIM(STREXTRACT(lcMaskCol,']=')) + lcBindEvent = [BINDEVENT(this._GRID1.Column] + ALLTRIM(STR(i)) + [,"Resize",thisform,"resize_grd_total")] + &lcBindEvent + lcBindEvent = [BINDEVENT(this._GRID1.Column] + ALLTRIM(STR(i)) + [,"Moved",thisform,"resize_grd_total")] + &lcBindEvent + IF !EMPTY(lcMaskCol) + lcInputmask = [this._GRID1.coLUMN] + Alltrim(Str(i))+ [.InputMask = '] + EVALUATE(lcMaskCol) + ['] + &lcInputmask + ENDIF + lcSchemaCol = Strextract(lcSchema,[,],[,],i) + + IF TYPE(lcControlCol) = 'N' + IF EMPTY(lcMaskCol) && nu e configurat + IF !EMPTY(lcSchemaCol) + lcSch = STREXTRACT(lcSchemaCol,'(',')',1) + lnInt = IIF([,] $ lcSch,VAL(STREXTRACT(lcSch,[],[,])),VAL(lcSch)) + lnZec = IIF([,] $ lcSch,VAL(STREXTRACT(lcSch,[,])),0) + ELSE + lnInt = 12 + lnZec = gnPA + ENDIF + lcInputmask = [this._GRID1.coLUMN] + Alltrim(Str(i))+ [.InputMask = '] + get_mask(lnInt,lnZec) + ['] + &lcInputmask + ENDIF + lcAlignment = [this._GRID1.coLUMN] + Alltrim(Str(i))+ [.Alignment = 1] + &lcAlignment + IF llCuCheck + && daca nr coloanei curente este in lista cNrColoane_check, atunci + && controlul curent al coloanei va fi un checkbox + lcVerific = 'INLIST(' + IIF(llNrOrd,ALLTRIM(STR(i-1)),ALLTRIM(STR(i))) + ',' +lcNrColoane_check + ')' + lcEste = &lcVerific + IF lcEste + lcAdaugCheck = [this._GRID1.coLUMN] + Alltrim(Str(i)) + [.AddObject('Check1',]+; + ['Checkbox')] + &lcAdaugCheck + lcControlCurent = [this._GRID1.coLUMN] + Alltrim(Str(i)) + [.CurrentControl = 'Check1'] + &lcControlCurent + lcRemText = [this._GRID1.coLUMN] + Alltrim(Str(i)) + [.RemoveObject('Text1')] + &lcRemText + lcSparse = [this._GRID1.coLUMN] + Alltrim(Str(i)) + [.Sparse = .f.] + &lcSparse + lcWidth = [this._GRID1.coLUMN] + Alltrim(Str(i)) + [.width = 30] + &lcWidth + lcCaption = [this._GRID1.coLUMN] + Alltrim(Str(i)) + [.Check1.caption = ''] + &lcCaption + lcReadOnly = [this._GRID1.coLUMN] + Alltrim(Str(i)) + [.ReadOnly = .f.] + &lcReadOnly + lcAli = [this._GRID1.coLUMN] + Alltrim(Str(i)) + [.Alignment = 2] + &lcAli + lcReadOnly_ch = [this._GRID1.coLUMN] + Alltrim(Str(i)) + [.Check1.ReadOnly = .f.] + &lcReadOnly_ch + lcControlSource = [this._GRID1.coLUMN] + Alltrim(Str(i))+ [.ControlSource = '] + lcControlCol + ['] + &lcControlSource + lcVisible = [this._GRID1.coLUMN] + Alltrim(Str(i)) + [.Check1.visible = .t.] + &lcVisible + + ENDIF + ENDIF + ELSE + lcAlignment = [this._GRID1.coLUMN] + Alltrim(Str(i))+ [.Alignment = 0] + &lcAlignment + ENDIF + Endfor + + * Replace default headers with custom one + i = 0 + For Each loColumn In This._GRID1.Columns + i = i + 1 + With loColumn + If !Empty(loColumn.ControlSource) + + * Save default caption, color and font + + lcOldCaption = loColumn.Header1.Caption + lcOldFontName = loColumn.Header1.FontName + lnOldForeColor = loColumn.Header1.ForeColor + llOldFontUnderline = loColumn.Header1.FontUnderline + + * Name Header Obj after ControlSource + + lcControlSrc = loColumn.ControlSource + lnControlSrc = Rat(".", lcControlSrc) + 1 + lcControlSrc = Substr(lcControlSrc, lnControlSrc) + + * Metoda dupa care se face ordonarea relativa la grid + lcMethodName = 'parent.corderby_assign' + lcPropColOrder = 'parent.cOrder' + lcPropSensOrder = 'parent.cAsc' + * Remove old and create new header + + .RemoveObject("Header1") + .AddObject("grh"+ALLTRIM(STR(i)), ; + "PSHeader", ; + lcOldCaption, lcOldFontName,lnOldForeColor,llOldFontUnderline,lcMethodName,lcControlSrc) + + If Upper(Alltrim(lcControlSrc)) = Upper(Alltrim(lcOrder)) + lcCuloare = [locolumn.grh] + ALLTRIM(STR(i)) + [.forecolor = RGB(0,0,255)] + &lcCuloare + lcUnderline = [locolumn.grh] + ALLTRIM(STR(i)) + [.FontUnderline = .t.] + &lcUnderline + Endif + Endif + Endwith + ENDFOR + + IF llNrOrd + DO nrord WITH lcNumeCursor + this._GRID1.coLUMN1.ControlSource = [nrcrt()] + THIS._GRID1.COLUMN1.inputmask = '999' + this._griD1.LockColumns = 1 + ENDIF + + This._GRID1.AutoFit + + + ENDPROC + + PROCEDURE Ct_grid_order1.ordoneaza_grid + DODEFAULT() + thisform.resize_grd_total + + ENDPROC + + PROCEDURE Ct_grid_order1._GRID1.AfterRowColChange + LPARAMETERS nColIndex + DODEFAULT(nColIndex) + THISFORM.LOCKSCREEN = .T. + LOCAL nDirection, nRecno, nLeftColumn, nRelativeRow + + nLeftColumn = THIS.LEFTCOLUMN + IF nLeftColumn != THISFORM.grd_total.LEFTCOLUMN + IF nLeftColumn < THISFORM.grd_total.LEFTCOLUMN + nDirection = 4 + ELSE + nDirection = 5 + ENDIF + FOR i = 1 TO 1000 + THISFORM.grd_total.DOSCROLL(nDirection) + IF nLeftColumn = THISFORM.grd_total.LEFTCOLUMN + EXIT + ENDIF + ENDFOR + ENDIF + THISFORM.LOCKSCREEN = .F. + + ENDPROC + + PROCEDURE Ct_grid_order1._GRID1.Scrolled + LPARAMETERS nDirection + DODEFAULT(nDirection) + thisform.grd_total.doscroll(nDirection) + ENDPROC + + PROCEDURE _shape1.DblClick + IF thisform.WindowState = 2 + thisform.WindowState = 0 + ELSE + thisform.WindowState = 2 + ENDIF + ENDPROC + +ENDDEFINE + +DEFINE CLASS frm_balpart_fc AS _frmbase OF "_frm_base.vcx" + *< CLASSDATA: Baseclass="form" Timestamp="" Scale="Pixels" Uniqueid="" /> + + *-- OBJECTDATA items order determines ZOrder / El orden de los items OBJECTDATA determina el ZOrder + *< OBJECTDATA: ObjPath="Shape1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="Label11" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="Text8" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="Label9" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="Label8" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="Label6" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="Label5" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="Label4" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="Label7" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="Text4" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="Text9" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="Text10" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="Text11" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="But_start_criterii1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="But_reset_criterii1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="GRID1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="GRID1.Column1.Header1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="GRID1.Column1.Text1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="GRID1.Column2.Header1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="GRID1.Column2.Text1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="GRID1.Column3.Header1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="GRID1.Column3.Text1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="GRID1.Column4.Header1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="GRID1.Column4.Text1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="GRID1.Column5.Header1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="GRID1.Column5.Text1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="GRID1.Column6.Header1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="GRID1.Column6.Text1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="GRID1.Column7.Header1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="GRID1.Column7.Text1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="GRID1.Column8.Header1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="GRID1.Column8.Text1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="GRID1.Column9.Header1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="GRID1.Column9.Text1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="GRID1.Column10.Header1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="GRID1.Column10.Text1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="GRID1.Column11.Header1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="GRID1.Column11.Text1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="GRID1.Column12.Header1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="GRID1.Column12.Text1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="GRID1.Column13.Header1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="GRID1.Column13.Text1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="GRID1.Column14.Header1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="GRID1.Column14.Text1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="GRID1.cSoldPrecVal.Header1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="GRID1.cSoldPrecVal.Text1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="GRID1.cValDebit.Header1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="GRID1.cValDebit.Text1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="GRID1.cValCredit.Header1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="GRID1.cValCredit.Text1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="GRID1.cSoldFinalVal.Header1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="GRID1.cSoldFinalVal.Text1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="GRID1.cAcont2.Header1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="GRID1.cAcont2.Text1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="GRID1.cCodFiscal2.Header1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="GRID1.cCodFiscal2.Text1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="GRID1.cNume2.Header1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="GRID1.cNume2.Text1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="GRID1.cIdPart.Header1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="GRID1.cIdPart.Text1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="GRID1.cSucursala.Header1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="GRID1.cSucursala.Text1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="GRID1.cValuta.Header1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="GRID1.cValuta.Text1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="Text12" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="Label3" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="Text1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="Text2" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="Text3" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="Text5" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="Text6" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="But_excel1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="Text7" UniqueID="" Timestamp="" /> + + * + *p: nprecavans + *p: npreccred + *p: nprecdeb + *p: nsoldprec + *p: nsoldtot + *p: ntavans + *p: ntcred + *p: ntdeb + *p: ntotavans + *p: ntotcred + *p: ntotdeb + *p: ntsold + * + + * + BorderStyle = 3 + cgridsortlist = grid1 + DoCreate = .T. + Height = 491 + Name = "frm_balpart_fc" + nprecavans = 0 + npreccred = 0 + nprecdeb = 0 + nsoldprec = 0 + nsoldtot = 0 + ntavans = 0 + ntcred = 0 + ntdeb = 0 + ntotavans = 0 + ntotcred = 0 + ntotdeb = 0 + ntsold = 0 + Width = 793 + _shape1.Anchor = 11 + _shape1.Height = 29 + _shape1.Left = 0 + _shape1.Name = "_shape1" + _shape1.Top = 0 + _shape1.Width = 792 + _shape2.Anchor = 9 + _shape2.Height = 29 + _shape2.Left = 759 + _shape2.Name = "_shape2" + _shape2.Top = 0 + _shape2.Width = 32 + Lb_titlu_alb_b121.Name = "Lb_titlu_alb_b121" + BUT_TERMIN1.Anchor = 9 + BUT_TERMIN1.Height = 27 + BUT_TERMIN1.Left = 761 + BUT_TERMIN1.Name = "BUT_TERMIN1" + BUT_TERMIN1.Top = 1 + BUT_TERMIN1.Width = 28 + Gridsort1.Name = "Gridsort1" + * + + ADD OBJECT 'But_excel1' AS but_excel WITH ; + Anchor = 9, ; + Left = 731, ; + Name = "But_excel1", ; + Top = 1, ; + ZOrderSet = 38 + *< END OBJECT: ClassLib="cmd_butoane.vcx" BaseClass="commandbutton" /> + + ADD OBJECT 'But_reset_criterii1' AS but_reset_criterii WITH ; + Anchor = 9, ; + Left = 671, ; + Name = "But_reset_criterii1", ; + Top = 1, ; + Visible = .T., ; + ZOrderSet = 20 + *< END OBJECT: ClassLib="ocriterii.vcx" BaseClass="commandbutton" /> + + ADD OBJECT 'But_start_criterii1' AS but_start_criterii WITH ; + Anchor = 9, ; + Height = 27, ; + Left = 700, ; + Name = "But_start_criterii1", ; + RightToLeft = .F., ; + SpecialEffect = 1, ; + Top = 1, ; + Width = 31, ; + ZOrderSet = 19 + *< END OBJECT: ClassLib="ocriterii.vcx" BaseClass="commandbutton" /> + + ADD OBJECT 'GRID1' AS _grid WITH ; + AllowAutoColumnFit = 0, ; + Anchor = 15, ; + ColumnCount = 24, ; + DeleteMark = .F., ; + FontName = "Arial Narrow", ; + Height = 341, ; + Left = 5, ; + Name = "GRID1", ; + Panel = 1, ; + RecordSource = "balpartfc", ; + Top = 145, ; + Width = 786, ; + Column1.ColumnOrder = 1, ; + Column1.ControlSource = "nume", ; + Column1.FontName = "Arial Narrow", ; + Column1.Name = "Column1", ; + Column2.ColumnOrder = 2, ; + Column2.ControlSource = "acont", ; + Column2.FontName = "Arial Narrow", ; + Column2.Name = "Column2", ; + Column3.ColumnOrder = 4, ; + Column3.ControlSource = "soldprec", ; + Column3.DynamicBackColor = "RGB(236,249,255)", ; + Column3.FontName = "Arial Narrow", ; + Column3.InputMask = (get_mask(14,gnPA)), ; + Column3.Name = "Column3", ; + Column4.ColumnOrder = 5, ; + Column4.ControlSource = "avanscur", ; + Column4.FontName = "Arial Narrow", ; + Column4.InputMask = (get_mask(14,gnPA)), ; + Column4.Name = "Column4", ; + Column5.ColumnOrder = 6, ; + Column5.ControlSource = "debit", ; + Column5.FontName = "Arial Narrow", ; + Column5.InputMask = (get_mask(14,gnPA)), ; + Column5.Name = "Column5", ; + Column6.ColumnOrder = 7, ; + Column6.ControlSource = "credit", ; + Column6.FontName = "Arial Narrow", ; + Column6.InputMask = (get_mask(14,gnPA)), ; + Column6.Name = "Column6", ; + Column7.ColumnOrder = 8, ; + Column7.ControlSource = "soldcur", ; + Column7.FontName = "Arial Narrow", ; + Column7.InputMask = (get_mask(14,gnPA)), ; + Column7.Name = "Column7", ; + Column8.ColumnOrder = 9, ; + Column8.ControlSource = "soldfinal", ; + Column8.DynamicBackColor = "rgb(187,235,255)", ; + Column8.FontName = "Arial Narrow", ; + Column8.InputMask = (get_mask(14,gnPA)), ; + Column8.Name = "Column8", ; + Column9.ColumnOrder = 10, ; + Column9.ControlSource = "avansprec", ; + Column9.DynamicBackColor = "RGB(236,249,255)", ; + Column9.FontName = "Arial Narrow", ; + Column9.InputMask = (get_mask(14,gnPA)), ; + Column9.Name = "Column9", ; + Column10.ColumnOrder = 11, ; + Column10.ControlSource = "precdeb", ; + Column10.DynamicBackColor = "RGB(236,249,255)", ; + Column10.FontName = "Arial Narrow", ; + Column10.InputMask = (get_mask(14,gnPA)), ; + Column10.Name = "Column10", ; + Column11.ColumnOrder = 12, ; + Column11.ControlSource = "preccred", ; + Column11.DynamicBackColor = "RGB(236,249,255)", ; + Column11.FontName = "Arial Narrow", ; + Column11.InputMask = (get_mask(14,gnPA)), ; + Column11.Name = "Column11", ; + Column12.ColumnOrder = 13, ; + Column12.ControlSource = "avanstot", ; + Column12.DynamicBackColor = "RGB(187,235,255)", ; + Column12.FontName = "Arial Narrow", ; + Column12.InputMask = (get_mask(14,gnPA)), ; + Column12.Name = "Column12", ; + Column13.ColumnOrder = 14, ; + Column13.ControlSource = "totdeb", ; + Column13.DynamicBackColor = "RGB(187,235,255)", ; + Column13.FontName = "Arial Narrow", ; + Column13.InputMask = (get_mask(14,gnPA)), ; + Column13.Name = "Column13", ; + Column14.ColumnOrder = 15, ; + Column14.ControlSource = "totcred", ; + Column14.DynamicBackColor = "RGB(187,235,255)", ; + Column14.FontName = "Arial Narrow", ; + Column14.InputMask = (get_mask(14,gnPA)), ; + Column14.Name = "Column14", ; + Column15.ColumnOrder = 16, ; + Column15.ControlSource = "soldprecval", ; + Column15.FontName = "Arial Narrow", ; + Column15.InputMask = (get_mask(14,gnPVal)), ; + Column15.Name = "cSoldPrecVal", ; + Column16.ColumnOrder = 17, ; + Column16.ControlSource = "valdebit", ; + Column16.FontName = "Arial Narrow", ; + Column16.InputMask = (get_mask(14,gnPVal)), ; + Column16.Name = "cValDebit", ; + Column17.ColumnOrder = 18, ; + Column17.ControlSource = "valcredit", ; + Column17.FontName = "Arial Narrow", ; + Column17.InputMask = (get_mask(14,gnPVal)), ; + Column17.Name = "cValCredit", ; + Column18.ColumnOrder = 19, ; + Column18.ControlSource = "soldfinalval", ; + Column18.FontName = "Arial Narrow", ; + Column18.InputMask = (get_mask(14,gnPVal)), ; + Column18.Name = "cSoldFinalVal", ; + Column19.ColumnOrder = 21, ; + Column19.ControlSource = "acont", ; + Column19.FontName = "Arial Narrow", ; + Column19.Name = "cAcont2", ; + Column20.ColumnOrder = 22, ; + Column20.ControlSource = "cod_fiscal", ; + Column20.FontName = "Arial Narrow", ; + Column20.Name = "cCodFiscal2", ; + Column21.ColumnOrder = 23, ; + Column21.ControlSource = "nume", ; + Column21.FontName = "Arial Narrow", ; + Column21.Name = "cNume2", ; + Column22.ColumnOrder = 24, ; + Column22.ControlSource = "id_part", ; + Column22.FontName = "Arial Narrow", ; + Column22.Format = "RK", ; + Column22.InputMask = "9999999999", ; + Column22.Name = "cIdPart", ; + Column23.ColumnOrder = 20, ; + Column23.ControlSource = "sucursala", ; + Column23.FontName = "Arial Narrow", ; + Column23.Name = "cSucursala", ; + Column23.Width = 158, ; + Column24.ColumnOrder = 3, ; + Column24.ControlSource = "nume_val", ; + Column24.FontName = "Arial Narrow", ; + Column24.Name = "cValuta", ; + Column24.Width = 51 + *< END OBJECT: ClassLib="_baza.vcx" BaseClass="grid" /> + + ADD OBJECT 'GRID1.cAcont2.Header1' AS header WITH ; + Alignment = 2, ; + Caption = "Analitic", ; + FontName = "Arial Narrow", ; + Name = "Header1" + *< END OBJECT: BaseClass="header" /> + + ADD OBJECT 'GRID1.cAcont2.Text1' AS textbox WITH ; + BackColor = 255,255,255, ; + BorderStyle = 0, ; + FontName = "Arial Narrow", ; + ForeColor = 0,0,0, ; + Margin = 0, ; + Name = "Text1" + *< END OBJECT: BaseClass="textbox" /> + + ADD OBJECT 'GRID1.cCodFiscal2.Header1' AS header WITH ; + Alignment = 2, ; + Caption = "Cod fiscal", ; + FontName = "Arial Narrow", ; + Name = "Header1" + *< END OBJECT: BaseClass="header" /> + + ADD OBJECT 'GRID1.cCodFiscal2.Text1' AS textbox WITH ; + BackColor = 255,255,255, ; + BorderStyle = 0, ; + FontName = "Arial Narrow", ; + ForeColor = 0,0,0, ; + Margin = 0, ; + Name = "Text1" + *< END OBJECT: BaseClass="textbox" /> + + ADD OBJECT 'GRID1.cIdPart.Header1' AS header WITH ; + Alignment = 2, ; + Caption = "Id partener", ; + FontName = "Arial Narrow", ; + Name = "Header1" + *< END OBJECT: BaseClass="header" /> + + ADD OBJECT 'GRID1.cIdPart.Text1' AS textbox WITH ; + BackColor = 255,255,255, ; + BorderStyle = 0, ; + FontName = "Arial Narrow", ; + ForeColor = 0,0,0, ; + Margin = 0, ; + Name = "Text1" + *< END OBJECT: BaseClass="textbox" /> + + ADD OBJECT 'GRID1.cNume2.Header1' AS header WITH ; + Alignment = 2, ; + Caption = "Nume", ; + FontName = "Arial Narrow", ; + Name = "Header1" + *< END OBJECT: BaseClass="header" /> + + ADD OBJECT 'GRID1.cNume2.Text1' AS textbox WITH ; + BackColor = 255,255,255, ; + BorderStyle = 0, ; + FontName = "Arial Narrow", ; + ForeColor = 0,0,0, ; + Margin = 0, ; + Name = "Text1" + *< END OBJECT: BaseClass="textbox" /> + + ADD OBJECT 'GRID1.Column1.Header1' AS header WITH ; + Alignment = 2, ; + Caption = "Nume", ; + FontName = "Arial Narrow", ; + Name = "Header1" + *< END OBJECT: BaseClass="header" /> + + ADD OBJECT 'GRID1.Column1.Text1' AS textbox WITH ; + BackColor = 255,255,255, ; + BorderStyle = 0, ; + FontName = "Arial Narrow", ; + ForeColor = 0,0,0, ; + Margin = 0, ; + Name = "Text1" + *< END OBJECT: BaseClass="textbox" /> + + ADD OBJECT 'GRID1.Column10.Header1' AS header WITH ; + Alignment = 2, ; + Caption = "Prec Deb.", ; + FontName = "Arial Narrow", ; + Name = "Header1" + *< END OBJECT: BaseClass="header" /> + + ADD OBJECT 'GRID1.Column10.Text1' AS textbox WITH ; + BackColor = 255,255,255, ; + BorderStyle = 0, ; + FontName = "Arial Narrow", ; + ForeColor = 0,0,0, ; + Margin = 0, ; + Name = "Text1" + *< END OBJECT: BaseClass="textbox" /> + + ADD OBJECT 'GRID1.Column11.Header1' AS header WITH ; + Alignment = 2, ; + Caption = "Prec Cred.", ; + FontName = "Arial Narrow", ; + Name = "Header1" + *< END OBJECT: BaseClass="header" /> + + ADD OBJECT 'GRID1.Column11.Text1' AS textbox WITH ; + BackColor = 255,255,255, ; + BorderStyle = 0, ; + FontName = "Arial Narrow", ; + ForeColor = 0,0,0, ; + Margin = 0, ; + Name = "Text1" + *< END OBJECT: BaseClass="textbox" /> + + ADD OBJECT 'GRID1.Column12.Header1' AS header WITH ; + Alignment = 2, ; + Caption = "Total Avans", ; + FontName = "Arial Narrow", ; + Name = "Header1" + *< END OBJECT: BaseClass="header" /> + + ADD OBJECT 'GRID1.Column12.Text1' AS textbox WITH ; + BackColor = 255,255,255, ; + BorderStyle = 0, ; + FontName = "Arial Narrow", ; + ForeColor = 0,0,0, ; + Margin = 0, ; + Name = "Text1" + *< END OBJECT: BaseClass="textbox" /> + + ADD OBJECT 'GRID1.Column13.Header1' AS header WITH ; + Alignment = 2, ; + Caption = "Total Deb.", ; + FontName = "Arial Narrow", ; + Name = "Header1" + *< END OBJECT: BaseClass="header" /> + + ADD OBJECT 'GRID1.Column13.Text1' AS textbox WITH ; + BackColor = 255,255,255, ; + BorderStyle = 0, ; + FontName = "Arial Narrow", ; + ForeColor = 0,0,0, ; + Margin = 0, ; + Name = "Text1" + *< END OBJECT: BaseClass="textbox" /> + + ADD OBJECT 'GRID1.Column14.Header1' AS header WITH ; + Alignment = 2, ; + Caption = "Total Cred.", ; + FontName = "Arial Narrow", ; + Name = "Header1" + *< END OBJECT: BaseClass="header" /> + + ADD OBJECT 'GRID1.Column14.Text1' AS textbox WITH ; + BackColor = 255,255,255, ; + BorderStyle = 0, ; + FontName = "Arial Narrow", ; + ForeColor = 0,0,0, ; + Margin = 0, ; + Name = "Text1" + *< END OBJECT: BaseClass="textbox" /> + + ADD OBJECT 'GRID1.Column2.Header1' AS header WITH ; + Alignment = 2, ; + Caption = "Analitic", ; + FontName = "Arial Narrow", ; + Name = "Header1" + *< END OBJECT: BaseClass="header" /> + + ADD OBJECT 'GRID1.Column2.Text1' AS textbox WITH ; + BackColor = 255,255,255, ; + BorderStyle = 0, ; + FontName = "Arial Narrow", ; + ForeColor = 0,0,0, ; + Margin = 0, ; + Name = "Text1" + *< END OBJECT: BaseClass="textbox" /> + + ADD OBJECT 'GRID1.Column3.Header1' AS header WITH ; + Alignment = 2, ; + Caption = "Sold precedent", ; + FontName = "Arial Narrow", ; + Name = "Header1" + *< END OBJECT: BaseClass="header" /> + + ADD OBJECT 'GRID1.Column3.Text1' AS textbox WITH ; + BackColor = 255,255,255, ; + BorderStyle = 0, ; + FontName = "Arial Narrow", ; + ForeColor = 0,0,0, ; + Margin = 0, ; + Name = "Text1" + *< END OBJECT: BaseClass="textbox" /> + + ADD OBJECT 'GRID1.Column4.Header1' AS header WITH ; + Alignment = 2, ; + Caption = "Avans", ; + FontName = "Arial Narrow", ; + Name = "Header1" + *< END OBJECT: BaseClass="header" /> + + ADD OBJECT 'GRID1.Column4.Text1' AS textbox WITH ; + BackColor = 255,255,255, ; + BorderStyle = 0, ; + FontName = "Arial Narrow", ; + ForeColor = 0,0,0, ; + Margin = 0, ; + Name = "Text1" + *< END OBJECT: BaseClass="textbox" /> + + ADD OBJECT 'GRID1.Column5.Header1' AS header WITH ; + Alignment = 2, ; + Caption = "Debit(Facturat)", ; + FontName = "Arial Narrow", ; + Name = "Header1" + *< END OBJECT: BaseClass="header" /> + + ADD OBJECT 'GRID1.Column5.Text1' AS textbox WITH ; + BackColor = 255,255,255, ; + BorderStyle = 0, ; + FontName = "Arial Narrow", ; + ForeColor = 0,0,0, ; + Margin = 0, ; + Name = "Text1" + *< END OBJECT: BaseClass="textbox" /> + + ADD OBJECT 'GRID1.Column6.Header1' AS header WITH ; + Alignment = 2, ; + Caption = "Credit(Incasat)", ; + FontName = "Arial Narrow", ; + Name = "Header1" + *< END OBJECT: BaseClass="header" /> + + ADD OBJECT 'GRID1.Column6.Text1' AS textbox WITH ; + BackColor = 255,255,255, ; + BorderStyle = 0, ; + FontName = "Arial Narrow", ; + ForeColor = 0,0,0, ; + Margin = 0, ; + Name = "Text1" + *< END OBJECT: BaseClass="textbox" /> + + ADD OBJECT 'GRID1.Column7.Header1' AS header WITH ; + Alignment = 2, ; + Caption = "Sold curent", ; + FontName = "Arial Narrow", ; + Name = "Header1" + *< END OBJECT: BaseClass="header" /> + + ADD OBJECT 'GRID1.Column7.Text1' AS textbox WITH ; + BackColor = 255,255,255, ; + BorderStyle = 0, ; + FontName = "Arial Narrow", ; + ForeColor = 0,0,0, ; + Margin = 0, ; + Name = "Text1" + *< END OBJECT: BaseClass="textbox" /> + + ADD OBJECT 'GRID1.Column8.Header1' AS header WITH ; + Alignment = 2, ; + Caption = "Sold final", ; + FontName = "Arial Narrow", ; + Name = "Header1" + *< END OBJECT: BaseClass="header" /> + + ADD OBJECT 'GRID1.Column8.Text1' AS textbox WITH ; + BackColor = 255,255,255, ; + BorderStyle = 0, ; + FontName = "Arial Narrow", ; + ForeColor = 0,0,0, ; + Margin = 0, ; + Name = "Text1" + *< END OBJECT: BaseClass="textbox" /> + + ADD OBJECT 'GRID1.Column9.Header1' AS header WITH ; + Alignment = 2, ; + Caption = "Avans prec.", ; + FontName = "Arial Narrow", ; + Name = "Header1" + *< END OBJECT: BaseClass="header" /> + + ADD OBJECT 'GRID1.Column9.Text1' AS textbox WITH ; + BackColor = 255,255,255, ; + BorderStyle = 0, ; + FontName = "Arial Narrow", ; + ForeColor = 0,0,0, ; + Margin = 0, ; + Name = "Text1" + *< END OBJECT: BaseClass="textbox" /> + + ADD OBJECT 'GRID1.cSoldFinalVal.Header1' AS header WITH ; + Alignment = 2, ; + Caption = "Sold Final Val.", ; + FontName = "Arial Narrow", ; + Name = "Header1" + *< END OBJECT: BaseClass="header" /> + + ADD OBJECT 'GRID1.cSoldFinalVal.Text1' AS textbox WITH ; + BackColor = 255,255,255, ; + BorderStyle = 0, ; + FontName = "Arial Narrow", ; + ForeColor = 0,0,0, ; + Margin = 0, ; + Name = "Text1" + *< END OBJECT: BaseClass="textbox" /> + + ADD OBJECT 'GRID1.cSoldPrecVal.Header1' AS header WITH ; + Alignment = 2, ; + Caption = "Sold Prec Val", ; + FontName = "Arial Narrow", ; + Name = "Header1" + *< END OBJECT: BaseClass="header" /> + + ADD OBJECT 'GRID1.cSoldPrecVal.Text1' AS textbox WITH ; + BackColor = 255,255,255, ; + BorderStyle = 0, ; + FontName = "Arial Narrow", ; + ForeColor = 0,0,0, ; + Margin = 0, ; + Name = "Text1" + *< END OBJECT: BaseClass="textbox" /> + + ADD OBJECT 'GRID1.cSucursala.Header1' AS header WITH ; + Alignment = 2, ; + Caption = "Sucursala", ; + FontName = "Arial Narrow", ; + Name = "Header1" + *< END OBJECT: BaseClass="header" /> + + ADD OBJECT 'GRID1.cSucursala.Text1' AS textbox WITH ; + BackColor = 255,255,255, ; + BorderStyle = 0, ; + FontName = "Arial Narrow", ; + ForeColor = 0,0,0, ; + Margin = 0, ; + Name = "Text1" + *< END OBJECT: BaseClass="textbox" /> + + ADD OBJECT 'GRID1.cValCredit.Header1' AS header WITH ; + Alignment = 2, ; + Caption = "Credit Val", ; + FontName = "Arial Narrow", ; + Name = "Header1" + *< END OBJECT: BaseClass="header" /> + + ADD OBJECT 'GRID1.cValCredit.Text1' AS textbox WITH ; + BackColor = 255,255,255, ; + BorderStyle = 0, ; + FontName = "Arial Narrow", ; + ForeColor = 0,0,0, ; + Margin = 0, ; + Name = "Text1" + *< END OBJECT: BaseClass="textbox" /> + + ADD OBJECT 'GRID1.cValDebit.Header1' AS header WITH ; + Alignment = 2, ; + Caption = "Debit Val", ; + FontName = "Arial Narrow", ; + Name = "Header1" + *< END OBJECT: BaseClass="header" /> + + ADD OBJECT 'GRID1.cValDebit.Text1' AS textbox WITH ; + BackColor = 255,255,255, ; + BorderStyle = 0, ; + FontName = "Arial Narrow", ; + ForeColor = 0,0,0, ; + Margin = 0, ; + Name = "Text1" + *< END OBJECT: BaseClass="textbox" /> + + ADD OBJECT 'GRID1.cValuta.Header1' AS header WITH ; + Alignment = 2, ; + Caption = "Valuta", ; + FontName = "Arial Narrow", ; + Name = "Header1" + *< END OBJECT: BaseClass="header" /> + + ADD OBJECT 'GRID1.cValuta.Text1' AS textbox WITH ; + BackColor = 255,255,255, ; + BorderStyle = 0, ; + FontName = "Arial Narrow", ; + ForeColor = 0,0,0, ; + Margin = 0, ; + Name = "Text1" + *< END OBJECT: BaseClass="textbox" /> + + ADD OBJECT 'Label11' AS label WITH ; + Anchor = 9, ; + AutoSize = .T., ; + BackStyle = 0, ; + Caption = "Total:", ; + FontBold = .T., ; + FontSize = 10, ; + Height = 18, ; + Left = 269, ; + Name = "Label11", ; + Top = 108, ; + Width = 38, ; + ZOrderSet = 8 + *< END OBJECT: BaseClass="label" /> + + ADD OBJECT 'Label3' AS label WITH ; + Anchor = 9, ; + AutoSize = .T., ; + BackColor = 255,255,255, ; + BackStyle = 1, ; + Caption = "Total:", ; + Height = 17, ; + Left = 264, ; + Name = "Label3", ; + Top = 31, ; + Width = 32, ; + ZOrderSet = 36 + *< END OBJECT: BaseClass="label" /> + + ADD OBJECT 'Label4' AS label WITH ; + Anchor = 9, ; + AutoSize = .T., ; + BackStyle = 0, ; + Caption = "Debit", ; + FontBold = .T., ; + Height = 17, ; + Left = 475, ; + Name = "Label4", ; + Top = 53, ; + Width = 31, ; + ZOrderSet = 13 + *< END OBJECT: BaseClass="label" /> + + ADD OBJECT 'Label5' AS label WITH ; + Anchor = 9, ; + AutoSize = .T., ; + BackStyle = 0, ; + Caption = "Credit", ; + FontBold = .T., ; + Height = 17, ; + Left = 575, ; + Name = "Label5", ; + Top = 53, ; + Width = 36, ; + ZOrderSet = 12 + *< END OBJECT: BaseClass="label" /> + + ADD OBJECT 'Label6' AS label WITH ; + Anchor = 9, ; + AutoSize = .T., ; + BackStyle = 0, ; + Caption = "Sold", ; + FontBold = .T., ; + Height = 17, ; + Left = 675, ; + Name = "Label6", ; + Top = 53, ; + Width = 27, ; + ZOrderSet = 11 + *< END OBJECT: BaseClass="label" /> + + ADD OBJECT 'Label7' AS label WITH ; + Anchor = 9, ; + AutoSize = .T., ; + BackStyle = 0, ; + Caption = "Avans", ; + FontBold = .T., ; + Height = 17, ; + Left = 378, ; + Name = "Label7", ; + Top = 53, ; + Width = 37, ; + ZOrderSet = 14 + *< END OBJECT: BaseClass="label" /> + + ADD OBJECT 'Label8' AS label WITH ; + Anchor = 9, ; + AutoSize = .T., ; + BackStyle = 0, ; + Caption = "Precedente", ; + FontBold = .T., ; + FontSize = 10, ; + Height = 18, ; + Left = 269, ; + Name = "Label8", ; + Top = 70, ; + Width = 75, ; + ZOrderSet = 10 + *< END OBJECT: BaseClass="label" /> + + ADD OBJECT 'Label9' AS label WITH ; + Anchor = 9, ; + AutoSize = .T., ; + BackStyle = 0, ; + Caption = "In luna curenta", ; + FontBold = .T., ; + FontSize = 10, ; + Height = 18, ; + Left = 269, ; + Name = "Label9", ; + Top = 88, ; + Width = 98, ; + ZOrderSet = 9 + *< END OBJECT: BaseClass="label" /> + + ADD OBJECT 'Shape1' AS shape WITH ; + Anchor = 9, ; + BackStyle = 0, ; + Height = 104, ; + Left = 250, ; + Name = "Shape1", ; + SpecialEffect = 0, ; + Top = 38, ; + Width = 540, ; + ZOrderSet = 0 + *< END OBJECT: BaseClass="shape" /> + + ADD OBJECT 'Text1' AS textbox WITH ; + Anchor = 9, ; + BackColor = 236,247,255, ; + ControlSource = "thisform.nprecdeb", ; + DisabledBackColor = 236,249,255, ; + FontName = "Arial Narrow", ; + FontSize = 8, ; + Format = "r", ; + Height = 20, ; + InputMask = (get_mask(14,gnPA)), ; + Left = 475, ; + Name = "Text1", ; + TabStop = .F., ; + Top = 69, ; + Width = 100, ; + ZOrderSet = 24 + *< END OBJECT: BaseClass="textbox" /> + + ADD OBJECT 'Text10' AS textbox WITH ; + Anchor = 9, ; + BackColor = 187,235,255, ; + ControlSource = "thisform.ntotdeb", ; + DisabledBackColor = 187,235,255, ; + FontName = "Arial Narrow", ; + FontSize = 8, ; + Format = "r", ; + Height = 20, ; + InputMask = (get_mask(14,gnPA)), ; + Left = 475, ; + Name = "Text10", ; + TabStop = .F., ; + Top = 109, ; + Width = 100, ; + ZOrderSet = 32 + *< END OBJECT: BaseClass="textbox" /> + + ADD OBJECT 'Text11' AS textbox WITH ; + Anchor = 9, ; + BackColor = 187,235,255, ; + ControlSource = "thisform.ntotcred", ; + DisabledBackColor = 187,235,255, ; + FontName = "Arial Narrow", ; + FontSize = 8, ; + Format = "r", ; + Height = 20, ; + InputMask = (get_mask(14,gnPA)), ; + Left = 575, ; + Name = "Text11", ; + TabStop = .F., ; + Top = 109, ; + Width = 100, ; + ZOrderSet = 33 + *< END OBJECT: BaseClass="textbox" /> + + ADD OBJECT 'Text12' AS textbox WITH ; + Anchor = 9, ; + BackColor = 187,235,255, ; + ControlSource = "thisform.nsoldtot", ; + DisabledBackColor = 187,235,255, ; + FontName = "Arial Narrow", ; + FontSize = 8, ; + Format = "r", ; + Height = 20, ; + InputMask = (get_mask(14,gnPA)), ; + Left = 675, ; + Name = "Text12", ; + TabStop = .F., ; + Top = 109, ; + Width = 100, ; + ZOrderSet = 34 + *< END OBJECT: BaseClass="textbox" /> + + ADD OBJECT 'Text2' AS textbox WITH ; + Anchor = 9, ; + BackColor = 236,247,255, ; + ControlSource = "thisform.npreccred", ; + DisabledBackColor = 236,249,255, ; + FontName = "Arial Narrow", ; + FontSize = 8, ; + Format = "r", ; + Height = 20, ; + InputMask = (get_mask(14,gnPA)), ; + Left = 575, ; + Name = "Text2", ; + TabStop = .F., ; + Top = 69, ; + Width = 100, ; + ZOrderSet = 25 + *< END OBJECT: BaseClass="textbox" /> + + ADD OBJECT 'Text3' AS textbox WITH ; + Anchor = 9, ; + BackColor = 236,247,255, ; + ControlSource = "thisform.nsoldprec", ; + DisabledBackColor = 236,249,255, ; + FontName = "Arial Narrow", ; + FontSize = 8, ; + Format = "r", ; + Height = 20, ; + InputMask = (get_mask(14,gnPA)), ; + Left = 675, ; + Name = "Text3", ; + TabStop = .F., ; + Top = 69, ; + Width = 100, ; + ZOrderSet = 26 + *< END OBJECT: BaseClass="textbox" /> + + ADD OBJECT 'Text4' AS textbox WITH ; + Anchor = 9, ; + BackColor = 236,249,255, ; + ControlSource = "thisform.nprecavans", ; + DisabledBackColor = 236,249,255, ; + FontName = "Arial Narrow", ; + FontSize = 8, ; + Format = "r", ; + Height = 20, ; + InputMask = (get_mask(14,gnPA)), ; + Left = 375, ; + Name = "Text4", ; + TabStop = .F., ; + Top = 69, ; + Width = 100, ; + ZOrderSet = 15 + *< END OBJECT: BaseClass="textbox" /> + + ADD OBJECT 'Text5' AS textbox WITH ; + Anchor = 9, ; + ControlSource = "thisform.ntavans", ; + DisabledBackColor = 255,255,255, ; + FontName = "Arial Narrow", ; + FontSize = 8, ; + Format = "r", ; + Height = 20, ; + InputMask = (get_mask(14,gnPA)), ; + Left = 375, ; + Name = "Text5", ; + TabStop = .F., ; + Top = 89, ; + Width = 100, ; + ZOrderSet = 27 + *< END OBJECT: BaseClass="textbox" /> + + ADD OBJECT 'Text6' AS textbox WITH ; + Anchor = 9, ; + ControlSource = "thisform.ntdeb", ; + DisabledBackColor = 255,255,255, ; + FontName = "Arial Narrow", ; + FontSize = 8, ; + Format = "r", ; + Height = 20, ; + InputMask = (get_mask(14,gnPA)), ; + Left = 475, ; + Name = "Text6", ; + TabStop = .F., ; + Top = 89, ; + Width = 100, ; + ZOrderSet = 28 + *< END OBJECT: BaseClass="textbox" /> + + ADD OBJECT 'Text7' AS textbox WITH ; + Anchor = 9, ; + ControlSource = "thisform.ntcred", ; + DisabledBackColor = 255,255,255, ; + FontName = "Arial Narrow", ; + FontSize = 8, ; + Format = "r", ; + Height = 20, ; + InputMask = (get_mask(14,gnPA)), ; + Left = 575, ; + Name = "Text7", ; + TabStop = .F., ; + Top = 89, ; + Width = 100, ; + ZOrderSet = 29 + *< END OBJECT: BaseClass="textbox" /> + + ADD OBJECT 'Text8' AS textbox WITH ; + Anchor = 9, ; + ControlSource = "thisform.ntsold", ; + DisabledBackColor = 255,255,255, ; + FontName = "Arial Narrow", ; + FontSize = 8, ; + Format = "r", ; + Height = 20, ; + InputMask = (get_mask(14,gnPA)), ; + Left = 675, ; + Name = "Text8", ; + TabStop = .F., ; + Top = 89, ; + Width = 100, ; + ZOrderSet = 30 + *< END OBJECT: BaseClass="textbox" /> + + ADD OBJECT 'Text9' AS textbox WITH ; + Anchor = 9, ; + BackColor = 187,235,255, ; + ControlSource = "thisform.ntotavans", ; + DisabledBackColor = 187,235,255, ; + FontName = "Arial Narrow", ; + FontSize = 8, ; + Format = "r", ; + Height = 20, ; + InputMask = (get_mask(14,gnPA)), ; + Left = 375, ; + Name = "Text9", ; + TabStop = .F., ; + Top = 109, ; + Width = 100, ; + ZOrderSet = 31 + *< END OBJECT: BaseClass="textbox" /> + + PROCEDURE actualizeaza_grid1 + LPARAMETERS pcFiltru + LOCAL lcFiltru + lcFiltru = pcFiltru + *!* lcfiltru = pcFiltru + *!* IF EMPTY(lcFiltru) + *!* lcFiltru=pobalpartfc.ca_baza1.cfiltru + *!* MESSAGE("filtru gol") + *!* ENDIF + save_grid_comment(This.grid1) + pobalpartfc.ca_baza1.cfiltru=lcfiltru + pobalpartfc.ca_baza1.afisare() + restore_grid_comment(This.grid1) + Select balpartfc + WITH thisform + + SUM avansprec TO .nprecavans + SUM avanscur TO .ntavans + SUM avanstot TO .ntotavans + + SUM precdeb to .nprecdeb + SUM debit TO .ntdeb + SUM totdeb TO .ntotdeb + + SUM preccred TO .npreccred + SUM credit TO .ntcred + SUM totcred TO .ntotcred + + SUM soldprec TO .nsoldprec + SUM soldcur TO .ntsold + SUM soldfinal TO .nsoldtot + ENDWITH + + Go Top + + FOR i = 1 TO 12 + lctext = 'thisform.text'+ALLTRIM(STR(i))+'.refresh' + &lctext + ENDFOR + this.grid1.AutoFit() + this.grid1.Refresh + ENDPROC + + PROCEDURE do_cauta + Local lcFiltru + + lcFiltru = Thisform.filtru_pretty + + + If (This.filtru_pretty#"none") + Thisform.actualizeaza_grid1(lcFiltru) + If Reccount('balpartfc')=0 + amessagebox("Cautarea nu a intors rezultate!",0+64,"Info cautare") + Endif + Endif + Thisform.but_start_criterii1.SetFocus() + + + ENDPROC + + PROCEDURE do_excel + Local lcAlias, lcFiltru, lcColumnList, lcHeaderList, lcSelect, lcOutput, lcFrom, lcWhere, lcOrder + lcAlias = this.grid1.RecordSource + lcFiltru = FILTER(lcAlias) + IF EMPTY(lcFiltru) + lcFiltru = '.T.' + ENDIF + + exista_excel=.T. + lcColumnList = '' + lcHeaderList = '' + lcSelect = '' + llSelect = .T. + lcType = 'CURSOR' + lcFrom = lcAlias + lcWhere = lcFiltru + lcOrder = 'nume' + lcOutput = 'crsBalPart' + + get_schema_grid(this.grid1,@lcColumnList, @lcHeaderList, @lcSelect, llSelect, lcType, lcFrom, lcWhere, lcOrder, lcOutput) + &lcSelect + IF USED(lcOutput) + DO export_xls WITH lcOutput IN oproceduri_comune.prg + USE IN (lcOutput) + ENDIF + ENDPROC + + PROCEDURE But_start_criterii1.loadcriterii + PARAMETERS tacriterii + EXTERNAL ARRAY tacriterii + #DEFINE crlf CHR(13)+CHR(10) + + + lcStringCriterii="Nume\nume\T\ID_PART\nom_parteneri" + crlf + ; + "Cont\cont\T\none\" + crlf + ; + "Analitic\acont\T\none\" + crlf + ; + "Valuta\i.nume_val\T\id_valuta\nom_valuta" + crlf + ; + "Cu sold\nofiled\E\(ABS((preccred+credit-(precdeb+debit)-(bprecdeb-bpreccred+bdebit-bcredit)))>0)\" + CRLF + ; + "Cu avans\nofiled\E\(ABS(bprecdeb-bpreccred+bdebit-bcredit)>0)\" + crlf + ; + IIF(glEMama, "Sucursala\sucursala\T\ID_SUCURSALA\nom_sucursala" + crlf, "") + + DODEFAULT() + + ENDPROC + + PROCEDURE Text1.Refresh + this.forecolor=IIF(thisform.nprecavans>=0, RGB(0,0,0), RGB(255,0,0)) + ENDPROC + + PROCEDURE Text10.Refresh + this.forecolor=IIF(thisform.nprecavans>=0, RGB(0,0,0), RGB(255,0,0)) + ENDPROC + + PROCEDURE Text11.Refresh + this.forecolor=IIF(thisform.nprecavans>=0, RGB(0,0,0), RGB(255,0,0)) + ENDPROC + + PROCEDURE Text12.Refresh + this.forecolor=IIF(thisform.nprecavans>=0, RGB(0,0,0), RGB(255,0,0)) + ENDPROC + + PROCEDURE Text2.Refresh + this.forecolor=IIF(thisform.nprecavans>=0, RGB(0,0,0), RGB(255,0,0)) + ENDPROC + + PROCEDURE Text3.Refresh + this.forecolor=IIF(thisform.nprecavans>=0, RGB(0,0,0), RGB(255,0,0)) + ENDPROC + + PROCEDURE Text4.Refresh + this.forecolor=IIF(thisform.nprecavans>=0, RGB(0,0,0), RGB(255,0,0)) + ENDPROC + + PROCEDURE Text5.Refresh + this.forecolor=IIF(thisform.nprecavans>=0, RGB(0,0,0), RGB(255,0,0)) + ENDPROC + + PROCEDURE Text6.Refresh + this.forecolor=IIF(thisform.nprecavans>=0, RGB(0,0,0), RGB(255,0,0)) + ENDPROC + + PROCEDURE Text7.Refresh + this.forecolor=IIF(thisform.nprecavans>=0, RGB(0,0,0), RGB(255,0,0)) + ENDPROC + + PROCEDURE Text8.Refresh + this.forecolor=IIF(thisform.nprecavans>=0, RGB(0,0,0), RGB(255,0,0)) + ENDPROC + + PROCEDURE Text9.Refresh + this.forecolor=IIF(thisform.nprecavans>=0, RGB(0,0,0), RGB(255,0,0)) + ENDPROC + +ENDDEFINE + +DEFINE CLASS frm_ireg_parteneri AS _frmbase OF "_frm_base.vcx" + *< CLASSDATA: Baseclass="form" Timestamp="" Scale="Pixels" Uniqueid="" /> + + *-- OBJECTDATA items order determines ZOrder / El orden de los items OBJECTDATA determina el ZOrder + *< OBJECTDATA: ObjPath="Label6" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="grid1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="grid1.cfdoc.Header1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="grid1.cfdoc.Text1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="grid1.cDataAct.Header1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="grid1.cDataAct.Text1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="grid1.cDataScad.Header1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="grid1.cDataScad.Text1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="grid1.cDataireg.Header1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="grid1.cDataireg.Text1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="grid1.cNrAct.Header1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="grid1.cNrAct.Text1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="grid1.cNume.Header1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="grid1.cNume.Text1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="grid1.cTotDeb.Header1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="grid1.cTotDeb.Text1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="grid1.cTotCred.Header1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="grid1.cTotCred.Text1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="grid1.cSoldFinal.Header1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="grid1.cSoldFinal.Text1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="grid1.cTotDebVal.Header1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="grid1.cTotDebVal.Text1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="grid1.cTotCredVal.Header1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="grid1.cTotCredVal.Text1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="grid1.cSoldVal.Header1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="grid1.cSoldVal.Text1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="grid1.cAcont.Header1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="grid1.cAcont.Text1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="grid1.cExplicatia.Header1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="grid1.cExplicatia.Text1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="grid1.cNrord.Header1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="grid1.cNrord.Text1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="grid1.cnresp.Header1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="grid1.cnresp.Text1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="grid1.cDebit.Header1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="grid1.cDebit.Text1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="grid1.cCredit.Header1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="grid1.cCredit.Text1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="grid1.cValDebit.Header1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="grid1.cValDebit.Text1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="grid1.cValCredit.Header1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="grid1.cValCredit.Text1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="grid1.cNume_val.Header1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="grid1.cNume_val.Text1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="grid1.cCurs.Header1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="grid1.cCurs.Text1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="grid1.cPrecDeb.Header1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="grid1.cPrecDeb.Text1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="grid1.cPrecCred.Header1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="grid1.cPrecCred.Text1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="grid1.cExplicatia4.Header1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="grid1.cExplicatia4.Text1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="grid1.cExplicatia5.Header1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="grid1.cExplicatia5.Text1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="grid1.cVenChelt.Header1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="grid1.cVenChelt.Text1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="grid1.cCod.Header1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="grid1.cCod.Text1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="grid1.cId_fact.Header1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="grid1.cId_fact.Text1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="grid1.cId_set.Header1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="grid1.cId_set.Text1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="grid1.cId_part.Header1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="grid1.cId_part.Text1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="grid1.Column32.Header1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="grid1.Column32.Text1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="grid1.cPrecValDeb.Header1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="grid1.cPrecValDeb.Text1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="grid1.cPrecValCred.Header1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="grid1.cPrecValCred.Text1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="grid1.Column35.Header1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="grid1.Column35.Text1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="grid1.cSerie_act.Header1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="grid1.cSerie_act.Text1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="grid1.cProcentTVA.Header1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="grid1.cProcentTVA.Text1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="grid1.cExplicatieTVA.Header1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="grid1.cExplicatieTVA.combo1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="grid1.cSucursala.Header1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="grid1.cSucursala.Text1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="grid1.cCod_fiscal.Header1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="grid1.cCod_fiscal.Text1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="grid1.cDatarefpen.Header1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="grid1.cDatarefpen.Text1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="grid1.cnrzilepen.Header1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="grid1.cnrzilepen.Text1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="grid1.cprocpen.Header1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="grid1.cprocpen.Text1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="grid1.cvalpen.Header1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="grid1.cvalpen.Text1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="grid1.cPrimaRata.Header1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="grid1.cPrimaRata.Text1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="grid1.cUltimaRata.Header1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="grid1.cUltimaRata.Text1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="grid1.cRata.Header1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="grid1.cRata.Text1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="grid1.cTVAI.Header1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="grid1.cTVAI.Text1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="grid1.cTVAI.Check1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="grid1.cAles.Header1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="grid1.cAles.Text1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="grid1.cAles.Check1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="grid1.cContVc.Header1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="grid1.cContVc.Text1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="grid1.cContBanca.Header1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="grid1.cContBanca.Text1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="grid1.cSwiftBanca.Header1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="grid1.cSwiftBanca.Text1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="grid1.cBanca.Header1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="grid1.cBanca.Text1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="grid1.cAdresaBanca.Header1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="grid1.cAdresaBanca.Text1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="grid1.cTipSAFT.Header1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="grid1.cTipSAFT.Text1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="grid1.cTipSAFT._combobox1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="grid1.cInstitutiePublica.Header1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="grid1.cInstitutiePublica.Text1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="grid1.cInstitutiePublica._checkbox1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="grid1.cEntitateAfiliata.Header1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="grid1.cEntitateAfiliata.Text1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="grid1.cEntitateAfiliata._checkbox1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="grid1.cCategorieEntitate.Header1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="grid1.cCategorieEntitate.Text1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="But_reface1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="But_modifica1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="But_excel1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="But_verifica1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="Label5" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="Label9" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="Label8" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="Cb_nom_valute1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="oMenuShortcut" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="Command1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="cmdIncasPl" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="Command2" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="Command3" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="But_listare1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="But_start_criterii1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="Ck_scadente" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="ck_neachitate" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="But_reset_criterii1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="Lb_shortcuts1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="Gridextra1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="cmdIncasare" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="cmdLunaInitializare" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="Lb_simplu1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="_grdfooter1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="Text1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="Text2" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="Text3" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="Text4" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="Text5" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="Text6" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="Label2" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="cb_scadente" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="Label4" UniqueID="" Timestamp="" /> + + * + *m: actualizeaza_totaluri + *m: butapend + *m: butdrept + *m: corderby_assign + *m: do_venchelt_avans + *m: do_venchelt_avans_sterge + *m: filtre + *m: incaspl + *m: initializare + *m: ist_deb_cred + *m: lblocatrefacere_assign + *m: llunainitializare_assign + *m: notacontab + *m: plati + *m: salariati + *p: casc + *p: ccont + *p: centitate + *p: cnewvalue + *p: coldvalue + *p: cont + *p: corderby + *p: cseparator + *p: ddataref + *p: fisier + *p: lactiv + *p: lafisaretot + *p: lblocatrefacere && Luna este blocata la refacere - luna initiala, luna inchisa, situatie blocata + *p: leroare + *p: llunainitializare + *p: lmodificare_totaluri + *p: lmodificata + *p: lvaluta + *p: ncreditval + *p: ndebitval + *p: nmodificata + *p: npennegativ + *p: nprocpen + *p: ntipsaft + *p: ntotcredit + *p: ntotdebit + *p: ntotsold + *p: ntotsoldval + * + + * + BorderStyle = 1 + casc = ASC + cbuton2 = but_listare1;but_listare2;but_listare3 + ccont = + centitate = IP + cgridsortlist = grid1 + cnewvalue = + coldvalue = + cont = 0 + corderby = dataact + cseparator = . + ddataref = date() + DoCreate = .T. + filtru_pretty_ro = + fisier = '' + Height = 431 + lactiv = .F. + lafisaretot = .F. + lblocatrefacere = .F. + leroare = .F. + llunainitializare = .F. + lmodificare_totaluri = .F. + lmodificata = .F. + lvaluta = .F. + Name = "frm_ireg_parteneri" + ncreditval = 0 + ndebitval = 0 + nmodificata = 0 + npennegativ = 0 + nprocpen = 0.00 + ntipsaft = 0 + ntotcredit = 0 + ntotdebit = 0 + ntotsold = 0 + ntotsoldval = 0 + Width = 799 + WindowState = 2 + _memberdata = + + + + + _shape1.Anchor = 11 + _shape1.Comment = "" + _shape1.Name = "_shape1" + _shape1.Width = 792 + _shape1.ZOrderSet = 3 + _shape2.Anchor = 9 + _shape2.Height = 29 + _shape2.Left = 642 + _shape2.Name = "_shape2" + _shape2.Top = 0 + _shape2.Width = 151 + _shape2.ZOrderSet = 4 + Lb_titlu_alb_b121.Caption = "REGISTRUL" + Lb_titlu_alb_b121.Left = 6 + Lb_titlu_alb_b121.Name = "Lb_titlu_alb_b121" + Lb_titlu_alb_b121.TabIndex = 11 + Lb_titlu_alb_b121.Top = -1 + Lb_titlu_alb_b121.ZOrderSet = 5 + BUT_TERMIN1.Anchor = 9 + BUT_TERMIN1.Left = 762 + BUT_TERMIN1.Name = "BUT_TERMIN1" + BUT_TERMIN1.TabIndex = 10 + BUT_TERMIN1.Top = 1 + BUT_TERMIN1.ZOrderSet = 6 + Gridsort1.Left = 780 + Gridsort1.Name = "Gridsort1" + Gridsort1.Top = 24 + * + + ADD OBJECT '_grdfooter1' AS _grdfooter WITH ; + ccolwithlabel = cNume, ; + csourcegrdalias = actcv, ; + csourcegrid = grid1, ; + csumcolumns = cTotDeb, cTotCred,cSoldFinal,cTotdebVal,cTotCredVal,cSoldVal,cDebit,cCredit,cValDebit,cValCredit,cPrecdeb,cPrecCred,cPrecValDeb,cPrecValCred, ; + ctotallabelexpression = 'TOTAL', ; + Height = 35, ; + Left = 3, ; + Name = "_grdfooter1", ; + TabIndex = 36, ; + Top = 389, ; + Width = 786 + *< END OBJECT: ClassLib="_grd_base.vcx" BaseClass="grid" /> + + ADD OBJECT 'But_excel1' AS but_excel WITH ; + Anchor = 9, ; + Left = 733, ; + Name = "But_excel1", ; + TabIndex = 9, ; + Top = 1, ; + ZOrderSet = 11 + *< END OBJECT: ClassLib="cmd_butoane.vcx" BaseClass="commandbutton" /> + + ADD OBJECT 'But_listare1' AS but_listare WITH ; + Anchor = 9, ; + Left = 703, ; + Name = "But_listare1", ; + TabIndex = 8, ; + Top = 1 + *< END OBJECT: ClassLib="cmd_butoane.vcx" BaseClass="commandbutton" /> + + ADD OBJECT 'But_modifica1' AS but_modifica WITH ; + Anchor = 9, ; + Left = 674, ; + Name = "But_modifica1", ; + TabIndex = 7, ; + Top = 1, ; + ZOrderSet = 9 + *< END OBJECT: ClassLib="cmd_butoane.vcx" BaseClass="commandbutton" /> + + ADD OBJECT 'But_reface1' AS but_reface WITH ; + Anchor = 9, ; + Left = 645, ; + Name = "But_reface1", ; + TabIndex = 6, ; + Top = 1, ; + ZOrderSet = 8 + *< END OBJECT: ClassLib="cmd_butoane.vcx" BaseClass="commandbutton" /> + + ADD OBJECT 'But_reset_criterii1' AS but_reset_criterii WITH ; + Anchor = 9, ; + Comment = "", ; + Left = 554, ; + Name = "But_reset_criterii1", ; + TabIndex = 32, ; + Top = 1, ; + Visible = .T. + *< END OBJECT: ClassLib="ocriterii.vcx" BaseClass="commandbutton" /> + + ADD OBJECT 'But_start_criterii1' AS but_start_criterii WITH ; + Anchor = 9, ; + caction = , ; + Height = 27, ; + Left = 584, ; + Name = "But_start_criterii1", ; + Picture = ..\grafice\find_sus.bmp, ; + Style = 0, ; + TabIndex = 31, ; + Top = 1, ; + Width = 31 + *< END OBJECT: ClassLib="ocriterii.vcx" BaseClass="commandbutton" /> + + ADD OBJECT 'But_verifica1' AS but_verifica WITH ; + Anchor = 8, ; + Left = 613, ; + Name = "But_verifica1", ; + TabIndex = 5, ; + ToolTipText = "Verificare coduri fiscale", ; + Top = 1, ; + ZOrderSet = 11 + *< END OBJECT: ClassLib="cmd_butoane.vcx" BaseClass="commandbutton" /> + + ADD OBJECT 'Cb_nom_valute1' AS cb_nom_valute WITH ; + Anchor = 12, ; + Comment = "", ; + FontCharSet = 238, ; + FontName = "Segoe UI", ; + FontSize = 10, ; + Left = 636, ; + Name = "Cb_nom_valute1", ; + TabIndex = 14, ; + Top = 636, ; + ZOrderSet = 43 + *< END OBJECT: ClassLib="oparteneri.vcx" BaseClass="combobox" /> + + ADD OBJECT 'cb_scadente' AS cb_filtru_text WITH ; + Height = 24, ; + Left = 247, ; + Name = "cb_scadente", ; + RowSource = "Toate,Restante,Scadente astazi,Scadente saptamana curenta,Scadente saptamana urmatoare", ; + RowSourceType = 1, ; + TabIndex = 3, ; + ToolTipText = "Filtreaza facturile Restante, Scadente ", ; + Top = 36, ; + Value = Toate, ; + Width = 198 + *< END OBJECT: ClassLib="caut_ora.vcx" BaseClass="combobox" /> + + ADD OBJECT 'ck_neachitate' AS ck_filtru_text WITH ; + Alignment = 0, ; + Anchor = 3, ; + AutoSize = .T., ; + camp_nume = , ; + Caption = "Neachitate", ; + Left = 9, ; + Name = "ck_neachitate", ; + TabIndex = 1, ; + ToolTipText = "Afiseaza doar facturile neachitate", ; + Top = 39, ; + ZOrderSet = 24 + *< END OBJECT: ClassLib="caut_ora.vcx" BaseClass="checkbox" /> + + ADD OBJECT 'Ck_scadente' AS ck_filtru_text WITH ; + Alignment = 0, ; + Anchor = 3, ; + AutoSize = .T., ; + camp_nume = , ; + Caption = "Scadente / Penalitati", ; + Left = 97, ; + Name = "Ck_scadente", ; + TabIndex = 2, ; + ToolTipText = "Scadente / Penalitati", ; + Top = 39, ; + ZOrderSet = 24 + *< END OBJECT: ClassLib="caut_ora.vcx" BaseClass="checkbox" /> + + ADD OBJECT 'cmdIncasare' AS cmd_executa WITH ; + Anchor = 8, ; + AutoSize = .T., ; + Caption = "\ + + ADD OBJECT 'cmdIncasPl' AS commandbutton WITH ; + AutoSize = .T., ; + Caption = "Plati / Incasari", ; + FontCharSet = 238, ; + FontName = "Segoe UI", ; + FontSize = 10, ; + Height = 30, ; + Left = 540, ; + Name = "cmdIncasPl", ; + TabIndex = 28, ; + Top = 516, ; + Visible = .F., ; + Width = 105, ; + ZOrderSet = 46 + *< END OBJECT: BaseClass="commandbutton" /> + + ADD OBJECT 'cmdLunaInitializare' AS cmd_executa WITH ; + Anchor = 9, ; + AutoSize = .T., ; + Caption = "Luna initializare!", ; + Comment = "", ; + ForeColor = 255,0,0, ; + Left = 414, ; + Name = "cmdLunaInitializare", ; + TabIndex = 35, ; + ToolTipText = "Atentie, situatia contabila a fost initializata manual si nu se modifica in cazul refacerii/redeschiderii de luna! Click pentru schimbare optiune!", ; + Top = -1, ; + Visible = .F. + *< END OBJECT: ClassLib="cmd_butoane.vcx" BaseClass="commandbutton" /> + + ADD OBJECT 'Command1' AS commandbutton WITH ; + Caption = "Note contabile", ; + FontCharSet = 238, ; + FontName = "Segoe UI", ; + FontSize = 10, ; + Height = 27, ; + Left = 384, ; + Name = "Command1", ; + TabIndex = 27, ; + Top = 518, ; + Visible = .F., ; + Width = 94, ; + ZOrderSet = 45 + *< END OBJECT: BaseClass="commandbutton" /> + + ADD OBJECT 'Command2' AS commandbutton WITH ; + Caption = "\ + + ADD OBJECT 'Command3' AS commandbutton WITH ; + AutoSize = .T., ; + Caption = "Istoric", ; + Comment = "", ; + FontCharSet = 238, ; + FontName = "Segoe UI", ; + FontSize = 10, ; + Height = 30, ; + Left = 480, ; + Name = "Command3", ; + TabIndex = 30, ; + Top = 516, ; + Visible = .F., ; + Width = 59, ; + ZOrderSet = 49 + *< END OBJECT: BaseClass="commandbutton" /> + + ADD OBJECT 'grid1' AS _grdrow WITH ; + Anchor = 15, ; + ColumnCount = 58, ; + DeleteMark = .F., ; + FontSize = 10, ; + Height = 321, ; + Left = 3, ; + Name = "grid1", ; + Panel = 1, ; + ReadOnly = .T., ; + RowHeight = 19, ; + TabIndex = 4, ; + Top = 66, ; + Width = 786, ; + ZOrderSet = 7, ; + Column1.ColumnOrder = 8, ; + Column1.ControlSource = "fdoc", ; + Column1.FontName = "Arial", ; + Column1.FontSize = 10, ; + Column1.Name = "cfdoc", ; + Column1.ReadOnly = .T., ; + Column1.Visible = .T., ; + Column1.Width = 114, ; + Column2.ColumnOrder = 5, ; + Column2.ControlSource = "dataAct", ; + Column2.DynamicBackColor = "IIF(THIS.READONLY,RGB(255,255,255),RGB(252,255,183))", ; + Column2.FontName = "Arial", ; + Column2.FontSize = 10, ; + Column2.Name = "cDataAct", ; + Column2.ReadOnly = .T., ; + Column2.Visible = .T., ; + Column2.Width = 89, ; + Column3.ColumnOrder = 7, ; + Column3.ControlSource = "dataScad", ; + Column3.DynamicBackColor = "IIF(THIS.READONLY,RGB(255,255,255),RGB(252,255,183))", ; + Column3.FontName = "Arial", ; + Column3.FontSize = 10, ; + Column3.Name = "cDataScad", ; + Column3.ReadOnly = .T., ; + Column3.Visible = .T., ; + Column3.Width = 85, ; + Column4.ColumnOrder = 6, ; + Column4.ControlSource = "dataIreg", ; + Column4.DynamicBackColor = "IIF(THIS.READONLY,RGB(255,255,255),RGB(252,255,183))", ; + Column4.FontName = "Arial", ; + Column4.FontSize = 10, ; + Column4.Name = "cDataireg", ; + Column4.ReadOnly = .T., ; + Column4.Visible = .T., ; + Column4.Width = 84, ; + Column5.ColumnOrder = 4, ; + Column5.ControlSource = "nrAct", ; + Column5.DynamicBackColor = "IIF(THIS.READONLY,RGB(255,255,255),RGB(252,255,183))", ; + Column5.FontName = "Arial", ; + Column5.FontSize = 10, ; + Column5.Name = "cNrAct", ; + Column5.ReadOnly = .T., ; + Column5.Visible = .T., ; + Column5.Width = 116, ; + Column6.ColumnOrder = 9, ; + Column6.Comment = "", ; + Column6.ControlSource = "nume", ; + Column6.FontName = "Arial", ; + Column6.FontSize = 10, ; + Column6.Name = "cNume", ; + Column6.ReadOnly = .T., ; + Column6.Visible = .T., ; + Column6.Width = 160, ; + Column7.ColumnOrder = 11, ; + Column7.ControlSource = "debit+precdeb", ; + Column7.FontName = "Arial", ; + Column7.FontSize = 10, ; + Column7.InputMask = (get_mask(12,gnPA)), ; + Column7.Name = "cTotDeb", ; + Column7.ReadOnly = .T., ; + Column7.Visible = .T., ; + Column7.Width = 106, ; + Column8.ColumnOrder = 12, ; + Column8.ControlSource = "credit+preccred", ; + Column8.FontName = "Arial", ; + Column8.FontSize = 10, ; + Column8.InputMask = (get_mask(12,gnPA)), ; + Column8.Name = "cTotCred", ; + Column8.ReadOnly = .T., ; + Column8.Visible = .T., ; + Column8.Width = 98, ; + Column9.ColumnOrder = 13, ; + Column9.ControlSource = "(precdeb+debit)-(preccred+credit)", ; + Column9.DynamicBackColor = "RGB(187,235,255)", ; + Column9.FontName = "Arial", ; + Column9.FontSize = 10, ; + Column9.InputMask = (get_mask(12,gnPA)), ; + Column9.Name = "cSoldFinal", ; + Column9.ReadOnly = .T., ; + Column9.Visible = .T., ; + Column9.Width = 119, ; + Column10.ColumnOrder = 14, ; + Column10.ControlSource = "valdebit+precValDeb", ; + Column10.FontName = "Arial", ; + Column10.FontSize = 10, ; + Column10.InputMask = (get_mask(12,gnPval)), ; + Column10.Name = "cTotDebVal", ; + Column10.ReadOnly = .T., ; + Column10.Visible = .T., ; + Column10.Width = 107, ; + Column11.ColumnOrder = 15, ; + Column11.ControlSource = "valcredit+precValCred", ; + Column11.FontName = "Arial", ; + Column11.FontSize = 10, ; + Column11.InputMask = (get_mask(12,gnPval)), ; + Column11.Name = "cTotCredVal", ; + Column11.ReadOnly = .T., ; + Column11.Visible = .T., ; + Column11.Width = 114, ; + Column12.ColumnOrder = 16, ; + Column12.ControlSource = "(precValDeb+valDebit)-(precValCred+valCredit)", ; + Column12.DynamicBackColor = "RGB(187,235,255)", ; + Column12.FontName = "Arial", ; + Column12.FontSize = 10, ; + Column12.InputMask = (get_mask(12,gnPval)), ; + Column12.Name = "cSoldVal", ; + Column12.ReadOnly = .T., ; + Column12.Visible = .T., ; + Column12.Width = 108, ; + Column13.ColumnOrder = 2, ; + Column13.ControlSource = "acont", ; + Column13.DynamicBackColor = "IIF(THIS.READONLY,RGB(255,255,255),RGB(252,255,183))", ; + Column13.FontName = "Arial", ; + Column13.FontSize = 10, ; + Column13.Name = "cAcont", ; + Column13.ReadOnly = .T., ; + Column13.Visible = .T., ; + Column13.Width = 53, ; + Column14.ColumnOrder = 17, ; + Column14.ControlSource = "explicatia", ; + Column14.DynamicBackColor = "IIF(THIS.READONLY,RGB(255,255,255),RGB(252,255,183))", ; + Column14.FontName = "Arial", ; + Column14.FontSize = 10, ; + Column14.Name = "cExplicatia", ; + Column14.ReadOnly = .T., ; + Column14.Visible = .T., ; + Column14.Width = 100, ; + Column15.ColumnOrder = 18, ; + Column15.ControlSource = "nrord", ; + Column15.FontName = "Arial", ; + Column15.FontSize = 10, ; + Column15.Name = "cNrord", ; + Column15.ReadOnly = .T., ; + Column15.Visible = .T., ; + Column15.Width = 107, ; + Column16.ColumnOrder = 20, ; + Column16.ControlSource = "nresp", ; + Column16.FontName = "Arial", ; + Column16.FontSize = 10, ; + Column16.Name = "cnresp", ; + Column16.ReadOnly = .T., ; + Column16.Visible = .T., ; + Column16.Width = 139, ; + Column17.ColumnOrder = 21, ; + Column17.ControlSource = "debit", ; + Column17.DynamicBackColor = "IIF(THIS.READONLY,RGB(255,255,255),RGB(252,255,183))", ; + Column17.FontName = "Arial", ; + Column17.FontSize = 10, ; + Column17.InputMask = (get_mask(12,gnPA)), ; + Column17.Name = "cDebit", ; + Column17.ReadOnly = .T., ; + Column17.Visible = .T., ; + Column18.ColumnOrder = 22, ; + Column18.ControlSource = "credit", ; + Column18.DynamicBackColor = "IIF(THIS.READONLY,RGB(255,255,255),RGB(252,255,183))", ; + Column18.FontName = "Arial", ; + Column18.FontSize = 10, ; + Column18.InputMask = (get_mask(12,gnPA)), ; + Column18.Name = "cCredit", ; + Column18.ReadOnly = .T., ; + Column18.Visible = .T., ; + Column19.ColumnOrder = 23, ; + Column19.ControlSource = "valDebit", ; + Column19.DynamicBackColor = "IIF(THIS.READONLY,RGB(255,255,255),RGB(252,255,183))", ; + Column19.FontName = "Arial", ; + Column19.FontSize = 10, ; + Column19.InputMask = (get_mask(12,gnPval)), ; + Column19.Name = "cValDebit", ; + Column19.ReadOnly = .T., ; + Column19.Visible = .T., ; + Column19.Width = 102, ; + Column20.ColumnOrder = 24, ; + Column20.ControlSource = "valcredit", ; + Column20.DynamicBackColor = "IIF(THIS.READONLY,RGB(255,255,255),RGB(252,255,183))", ; + Column20.FontName = "Arial", ; + Column20.FontSize = 10, ; + Column20.InputMask = (get_mask(12,gnPval)), ; + Column20.Name = "cValCredit", ; + Column20.ReadOnly = .T., ; + Column20.Visible = .T., ; + Column20.Width = 92, ; + Column21.ColumnOrder = 25, ; + Column21.ControlSource = "nume_val", ; + Column21.DynamicBackColor = "IIF(THIS.READONLY,RGB(255,255,255),RGB(252,255,183))", ; + Column21.FontName = "Arial", ; + Column21.FontSize = 10, ; + Column21.Name = "cNume_val", ; + Column21.ReadOnly = .T., ; + Column21.Visible = .T., ; + Column21.Width = 80, ; + Column22.ColumnOrder = 26, ; + Column22.ControlSource = "curs", ; + Column22.DynamicBackColor = "IIF(THIS.READONLY,RGB(255,255,255),RGB(252,255,183))", ; + Column22.FontName = "Arial", ; + Column22.FontSize = 10, ; + Column22.InputMask = (get_mask(12,gnPcurs2)), ; + Column22.Name = "cCurs", ; + Column22.ReadOnly = .T., ; + Column22.Visible = .T., ; + Column22.Width = 101, ; + Column23.ColumnOrder = 27, ; + Column23.ControlSource = "precDeb", ; + Column23.DynamicBackColor = "IIF(THIS.READONLY,RGB(255,255,255),RGB(252,255,183))", ; + Column23.FontName = "Arial", ; + Column23.FontSize = 10, ; + Column23.InputMask = (get_mask(12,gnPA)), ; + Column23.Name = "cPrecDeb", ; + Column23.ReadOnly = .T., ; + Column23.Visible = .T., ; + Column23.Width = 106, ; + Column24.ColumnOrder = 28, ; + Column24.ControlSource = "precCred", ; + Column24.DynamicBackColor = "IIF(THIS.READONLY,RGB(255,255,255),RGB(252,255,183))", ; + Column24.FontName = "Arial", ; + Column24.FontSize = 10, ; + Column24.InputMask = (get_mask(12,gnPA)), ; + Column24.Name = "cPrecCred", ; + Column24.ReadOnly = .T., ; + Column24.Visible = .T., ; + Column24.Width = 94, ; + Column25.ColumnOrder = 31, ; + Column25.ControlSource = "explicatia4", ; + Column25.DynamicBackColor = "IIF(THIS.READONLY,RGB(255,255,255),RGB(252,255,183))", ; + Column25.FontName = "Arial", ; + Column25.FontSize = 10, ; + Column25.Name = "cExplicatia4", ; + Column25.ReadOnly = .T., ; + Column25.Visible = .T., ; + Column26.ColumnOrder = 32, ; + Column26.ControlSource = "explicatia5", ; + Column26.DynamicBackColor = "IIF(THIS.READONLY,RGB(255,255,255),RGB(252,255,183))", ; + Column26.FontName = "Arial", ; + Column26.FontSize = 10, ; + Column26.Name = "cExplicatia5", ; + Column26.ReadOnly = .T., ; + Column26.Visible = .T., ; + Column27.ColumnOrder = 33, ; + Column27.ControlSource = "venChelt", ; + Column27.FontName = "Arial", ; + Column27.FontSize = 10, ; + Column27.Name = "cVenChelt", ; + Column27.ReadOnly = .T., ; + Column27.Visible = .T., ; + Column27.Width = 103, ; + Column28.ColumnOrder = 34, ; + Column28.ControlSource = "cod", ; + Column28.DynamicBackColor = "IIF(THIS.READONLY,RGB(255,255,255),RGB(252,255,183))", ; + Column28.FontName = "Arial", ; + Column28.FontSize = 10, ; + Column28.Name = "cCod", ; + Column28.ReadOnly = .T., ; + Column28.Visible = .T., ; + Column28.Width = 94, ; + Column29.ColumnOrder = 35, ; + Column29.ControlSource = "id_fact", ; + Column29.DynamicBackColor = "IIF(THIS.READONLY,RGB(255,255,255),RGB(252,255,183))", ; + Column29.FontName = "Arial", ; + Column29.FontSize = 10, ; + Column29.Name = "cId_fact", ; + Column29.ReadOnly = .T., ; + Column29.Visible = .T., ; + Column29.Width = 95, ; + Column30.ColumnOrder = 36, ; + Column30.ControlSource = "id_set", ; + Column30.DynamicBackColor = "IIF(THIS.READONLY,RGB(255,255,255),RGB(252,255,183))", ; + Column30.FontName = "Arial", ; + Column30.FontSize = 10, ; + Column30.Name = "cId_set", ; + Column30.ReadOnly = .T., ; + Column30.Visible = .T., ; + Column30.Width = 91, ; + Column31.ColumnOrder = 37, ; + Column31.ControlSource = "id_part", ; + Column31.FontName = "Arial", ; + Column31.FontSize = 10, ; + Column31.Name = "cId_part", ; + Column31.ReadOnly = .T., ; + Column31.Visible = .T., ; + Column31.Width = 71, ; + Column32.ColumnOrder = 1, ; + Column32.ControlSource = "cont", ; + Column32.FontName = "Arial", ; + Column32.FontSize = 10, ; + Column32.Name = "Column32", ; + Column32.ReadOnly = .T., ; + Column32.Width = 55, ; + Column33.ColumnOrder = 29, ; + Column33.ControlSource = "precvaldeb", ; + Column33.DynamicBackColor = "IIF(THIS.READONLY,RGB(255,255,255),RGB(252,255,183))", ; + Column33.FontName = "Arial", ; + Column33.FontSize = 10, ; + Column33.InputMask = (get_mask(12,gnPval)), ; + Column33.Name = "cPrecValDeb", ; + Column33.ReadOnly = .T., ; + Column33.Width = 102, ; + Column34.ColumnOrder = 30, ; + Column34.ControlSource = "precvalcred", ; + Column34.DynamicBackColor = "IIF(THIS.READONLY,RGB(255,255,255),RGB(252,255,183))", ; + Column34.FontName = "Arial", ; + Column34.FontSize = 10, ; + Column34.InputMask = (get_mask(12,gnPval)), ; + Column34.Name = "cPrecValCred", ; + Column34.ReadOnly = .T., ; + Column34.Width = 108, ; + Column35.ColumnOrder = 19, ; + Column35.ControlSource = "contract", ; + Column35.FontName = "Arial", ; + Column35.FontSize = 10, ; + Column35.Name = "Column35", ; + Column35.ReadOnly = .T., ; + Column35.Width = 95, ; + Column36.ColumnOrder = 3, ; + Column36.ControlSource = "serie_act", ; + Column36.FontName = "Arial", ; + Column36.FontSize = 10, ; + Column36.Name = "cSerie_act", ; + Column36.ReadOnly = .T., ; + Column36.Width = 67, ; + Column37.ColumnOrder = 38, ; + Column37.ControlSource = "proc_tva", ; + Column37.FontName = "Arial", ; + Column37.FontSize = 10, ; + Column37.Name = "cProcentTVA", ; + Column37.ReadOnly = .T., ; + Column38.ColumnOrder = 39, ; + Column38.ControlSource = "explicatie_TVA", ; + Column38.DynamicBackColor = "IIF(THIS.READONLY,RGB(255,255,255),RGB(252,255,183))", ; + Column38.FontName = "Arial", ; + Column38.FontSize = 10, ; + Column38.Name = "cExplicatieTVA", ; + Column38.ReadOnly = .T., ; + Column38.Sparse = .T., ; + Column38.Width = 148, ; + Column39.ColumnOrder = 40, ; + Column39.ControlSource = "sucursala", ; + Column39.FontName = "Arial", ; + Column39.FontSize = 10, ; + Column39.Name = "cSucursala", ; + Column39.ReadOnly = .T., ; + Column39.Width = 151, ; + Column40.ColumnOrder = 10, ; + Column40.ControlSource = "cod_fiscal", ; + Column40.FontName = "Arial", ; + Column40.FontSize = 10, ; + Column40.Name = "cCod_fiscal", ; + Column40.ReadOnly = .T., ; + Column40.Width = 98, ; + Column41.ControlSource = "datarefpen", ; + Column41.FontName = "Arial", ; + Column41.FontSize = 10, ; + Column41.Name = "cDatarefpen", ; + Column41.ReadOnly = .T., ; + Column41.Width = 145, ; + Column42.ControlSource = "nrzilepen", ; + Column42.FontName = "Arial", ; + Column42.FontSize = 10, ; + Column42.Name = "cnrzilepen", ; + Column42.ReadOnly = .T., ; + Column42.Width = 96, ; + Column43.ControlSource = "procpen", ; + Column43.FontName = "Arial", ; + Column43.FontSize = 10, ; + Column43.Name = "cprocpen", ; + Column43.ReadOnly = .T., ; + Column43.Width = 109, ; + Column44.ControlSource = "valpen", ; + Column44.FontName = "Arial", ; + Column44.FontSize = 10, ; + Column44.Name = "cvalpen", ; + Column44.ReadOnly = .T., ; + Column44.Width = 112, ; + Column45.ColumnOrder = 46, ; + Column45.ControlSource = "dprima_rata", ; + Column45.FontName = "Arial", ; + Column45.FontSize = 10, ; + Column45.Name = "cPrimaRata", ; + Column45.ReadOnly = .T., ; + Column45.Width = 96, ; + Column46.ColumnOrder = 47, ; + Column46.ControlSource = "dultima_rata", ; + Column46.FontName = "Arial", ; + Column46.FontSize = 10, ; + Column46.Name = "cUltimaRata", ; + Column46.ReadOnly = .T., ; + Column46.Width = 97, ; + Column47.ColumnOrder = 45, ; + Column47.ControlSource = "rata", ; + Column47.DynamicAlignment = "", ; + Column47.FontName = "Arial", ; + Column47.FontSize = 10, ; + Column47.Format = "RK", ; + Column47.InputMask = (get_mask(12,gnPA)), ; + Column47.Name = "cRata", ; + Column47.ReadOnly = .T., ; + Column47.Width = 112, ; + Column48.ColumnOrder = 49, ; + Column48.ControlSource = "TVAI", ; + Column48.CurrentControl = "Check1", ; + Column48.FontName = "Arial", ; + Column48.FontSize = 10, ; + Column48.Name = "cTVAI", ; + Column48.ReadOnly = .T., ; + Column48.Sparse = .F., ; + Column48.Width = 55, ; + Column49.ColumnOrder = 50, ; + Column49.ControlSource = "ales", ; + Column49.CurrentControl = "Check1", ; + Column49.FontName = "Arial", ; + Column49.FontSize = 10, ; + Column49.Name = "cAles", ; + Column49.ReadOnly = .F., ; + Column49.Sparse = .F., ; + Column49.Width = 28, ; + Column50.ColumnOrder = 48, ; + Column50.ControlSource = "alltrim(nvl(contvc,'')) + iif(!empty(nvl(acontvc,'')), '.' + alltrim(acontvc), '')", ; + Column50.FontName = "Arial", ; + Column50.FontSize = 10, ; + Column50.Name = "cContVc", ; + Column50.ReadOnly = .T., ; + Column50.Width = 86, ; + Column51.ControlSource = "cont_banca", ; + Column51.FontName = "Arial", ; + Column51.FontSize = 10, ; + Column51.Name = "cContBanca", ; + Column51.ReadOnly = .T., ; + Column51.Width = 196, ; + Column52.ControlSource = "swift_banca", ; + Column52.FontName = "Arial", ; + Column52.FontSize = 10, ; + Column52.Name = "cSwiftBanca", ; + Column52.ReadOnly = .T., ; + Column52.Width = 155, ; + Column53.ControlSource = "banca", ; + Column53.FontName = "Arial", ; + Column53.FontSize = 10, ; + Column53.Name = "cBanca", ; + Column53.ReadOnly = .T., ; + Column53.Width = 141, ; + Column54.ControlSource = "adresa_banca", ; + Column54.FontName = "Arial", ; + Column54.FontSize = 10, ; + Column54.Name = "cAdresaBanca", ; + Column54.ReadOnly = .T., ; + Column54.Width = 128, ; + Column55.Bound = .F., ; + Column55.ControlSource = "Iif(Seek(actcv.tip_saft,'saft_tip_facturi','cod'),saft_tip_facturi.tip_saftname,'')", ; + Column55.CurrentControl = "_combobox1", ; + Column55.FontName = "Arial", ; + Column55.FontSize = 10, ; + Column55.Name = "cTipSAFT", ; + Column55.ReadOnly = .T., ; + Column55.Sparse = .F., ; + Column55.Width = 166, ; + Column56.ControlSource = "institutie_publica", ; + Column56.CurrentControl = "_checkbox1", ; + Column56.FontSize = 10, ; + Column56.Name = "cInstitutiePublica", ; + Column56.ReadOnly = .T., ; + Column56.Sparse = .F., ; + Column56.Width = 61, ; + Column57.ControlSource = "entitate_afiliata", ; + Column57.CurrentControl = "_checkbox1", ; + Column57.FontSize = 10, ; + Column57.Name = "cEntitateAfiliata", ; + Column57.ReadOnly = .T., ; + Column57.Sparse = .F., ; + Column57.Width = 64, ; + Column58.ControlSource = "categorie_entitate", ; + Column58.FontSize = 10, ; + Column58.Name = "cCategorieEntitate", ; + Column58.ReadOnly = .T., ; + Column58.Width = 81 + *< END OBJECT: ClassLib="_grd_base.vcx" BaseClass="grid" /> + + ADD OBJECT 'grid1.cAcont.Header1' AS header WITH ; + Alignment = 2, ; + Caption = "Analitic", ; + FontName = "Arial", ; + FontSize = 10, ; + Name = "Header1" + *< END OBJECT: BaseClass="header" /> + + ADD OBJECT 'grid1.cAcont.Text1' AS textbox WITH ; + BackColor = 255,255,255, ; + BorderStyle = 0, ; + FontName = "Arial", ; + FontSize = 10, ; + ForeColor = 0,0,0, ; + Margin = 0, ; + Name = "Text1", ; + ReadOnly = .T., ; + SelectedBackColor = 0,64,128, ; + Visible = .T. + *< END OBJECT: BaseClass="textbox" /> + + ADD OBJECT 'grid1.cAdresaBanca.Header1' AS header WITH ; + Alignment = 2, ; + Caption = "Adresa banca", ; + FontName = "Arial", ; + FontSize = 10, ; + Name = "Header1" + *< END OBJECT: BaseClass="header" /> + + ADD OBJECT 'grid1.cAdresaBanca.Text1' AS textbox WITH ; + BackColor = 255,255,255, ; + BorderStyle = 0, ; + FontName = "Arial", ; + FontSize = 10, ; + ForeColor = 0,0,0, ; + Margin = 0, ; + Name = "Text1", ; + ReadOnly = .T., ; + SelectedBackColor = 100,185,255 + *< END OBJECT: BaseClass="textbox" /> + + ADD OBJECT 'grid1.cAles.Check1' AS checkbox WITH ; + Alignment = 2, ; + Caption = "", ; + Centered = .T., ; + FontName = "Arial", ; + FontSize = 10, ; + Height = 17, ; + Left = 41, ; + Name = "Check1", ; + ReadOnly = .F., ; + Top = 35, ; + Width = 60 + *< END OBJECT: BaseClass="checkbox" /> + + ADD OBJECT 'grid1.cAles.Header1' AS header WITH ; + Alignment = 2, ; + Caption = "Ales", ; + FontName = "Arial", ; + FontSize = 10, ; + Name = "Header1" + *< END OBJECT: BaseClass="header" /> + + ADD OBJECT 'grid1.cAles.Text1' AS textbox WITH ; + BackColor = 255,255,255, ; + BorderStyle = 0, ; + ForeColor = 0,0,0, ; + Margin = 0, ; + Name = "Text1", ; + SelectedBackColor = 100,185,255 + *< END OBJECT: BaseClass="textbox" /> + + ADD OBJECT 'grid1.cBanca.Header1' AS header WITH ; + Alignment = 2, ; + Caption = "Banca", ; + FontName = "Arial", ; + FontSize = 10, ; + Name = "Header1" + *< END OBJECT: BaseClass="header" /> + + ADD OBJECT 'grid1.cBanca.Text1' AS textbox WITH ; + BackColor = 255,255,255, ; + BorderStyle = 0, ; + FontName = "Arial", ; + FontSize = 10, ; + ForeColor = 0,0,0, ; + Margin = 0, ; + Name = "Text1", ; + ReadOnly = .T., ; + SelectedBackColor = 100,185,255 + *< END OBJECT: BaseClass="textbox" /> + + ADD OBJECT 'grid1.cCategorieEntitate.Header1' AS header WITH ; + Alignment = 2, ; + Caption = "Categorie ent.", ; + Name = "Header1" + *< END OBJECT: BaseClass="header" /> + + ADD OBJECT 'grid1.cCategorieEntitate.Text1' AS textbox WITH ; + BackColor = 255,255,255, ; + BorderStyle = 0, ; + FontSize = 10, ; + ForeColor = 0,0,0, ; + Margin = 0, ; + Name = "Text1", ; + ReadOnly = .T., ; + SelectedBackColor = 100,185,255 + *< END OBJECT: BaseClass="textbox" /> + + ADD OBJECT 'grid1.cCod.Header1' AS header WITH ; + Alignment = 2, ; + Caption = "Cod", ; + FontName = "Arial", ; + FontSize = 10, ; + Name = "Header1" + *< END OBJECT: BaseClass="header" /> + + ADD OBJECT 'grid1.cCod.Text1' AS textbox WITH ; + BackColor = 255,255,255, ; + BorderStyle = 0, ; + FontName = "Arial", ; + FontSize = 10, ; + ForeColor = 0,0,0, ; + Margin = 0, ; + Name = "Text1", ; + ReadOnly = .T., ; + SelectedBackColor = 0,64,128, ; + Visible = .T. + *< END OBJECT: BaseClass="textbox" /> + + ADD OBJECT 'grid1.cCod_fiscal.Header1' AS header WITH ; + Alignment = 2, ; + Caption = "Cod fiscal", ; + FontName = "Arial", ; + FontSize = 10, ; + Name = "Header1" + *< END OBJECT: BaseClass="header" /> + + ADD OBJECT 'grid1.cCod_fiscal.Text1' AS textbox WITH ; + BackColor = 255,255,255, ; + BorderStyle = 0, ; + FontName = "Arial", ; + FontSize = 10, ; + ForeColor = 0,0,0, ; + Margin = 0, ; + Name = "Text1", ; + SelectedBackColor = 100,185,255 + *< END OBJECT: BaseClass="textbox" /> + + ADD OBJECT 'grid1.cContBanca.Header1' AS header WITH ; + Alignment = 2, ; + Caption = "IBAN", ; + FontName = "Arial", ; + FontSize = 10, ; + Name = "Header1" + *< END OBJECT: BaseClass="header" /> + + ADD OBJECT 'grid1.cContBanca.Text1' AS textbox WITH ; + BackColor = 255,255,255, ; + BorderStyle = 0, ; + FontName = "Arial", ; + FontSize = 10, ; + ForeColor = 0,0,0, ; + Margin = 0, ; + Name = "Text1", ; + ReadOnly = .T., ; + SelectedBackColor = 100,185,255 + *< END OBJECT: BaseClass="textbox" /> + + ADD OBJECT 'grid1.cContVc.Header1' AS header WITH ; + Alignment = 2, ; + Caption = "Cont Ven/Chelt", ; + FontName = "Arial", ; + FontSize = 10, ; + Name = "Header1" + *< END OBJECT: BaseClass="header" /> + + ADD OBJECT 'grid1.cContVc.Text1' AS textbox WITH ; + BackColor = 255,255,255, ; + BorderStyle = 0, ; + FontName = "Arial", ; + FontSize = 10, ; + ForeColor = 0,0,0, ; + Margin = 0, ; + Name = "Text1", ; + ReadOnly = .T., ; + SelectedBackColor = 100,185,255 + *< END OBJECT: BaseClass="textbox" /> + + ADD OBJECT 'grid1.cCredit.Header1' AS header WITH ; + Alignment = 2, ; + Caption = "Credit", ; + FontName = "Arial", ; + FontSize = 10, ; + Name = "Header1" + *< END OBJECT: BaseClass="header" /> + + ADD OBJECT 'grid1.cCredit.Text1' AS textbox WITH ; + BackColor = 255,255,255, ; + BorderStyle = 0, ; + FontName = "Arial", ; + FontSize = 10, ; + ForeColor = 0,0,0, ; + Margin = 0, ; + Name = "Text1", ; + ReadOnly = .T., ; + SelectedBackColor = 0,64,128, ; + Visible = .T. + *< END OBJECT: BaseClass="textbox" /> + + ADD OBJECT 'grid1.cCurs.Header1' AS header WITH ; + Alignment = 2, ; + Caption = "Curs de schimb", ; + FontName = "Arial", ; + FontSize = 10, ; + Name = "Header1" + *< END OBJECT: BaseClass="header" /> + + ADD OBJECT 'grid1.cCurs.Text1' AS textbox WITH ; + BackColor = 255,255,255, ; + BorderStyle = 0, ; + FontName = "Arial", ; + FontSize = 10, ; + ForeColor = 0,0,0, ; + Margin = 0, ; + Name = "Text1", ; + ReadOnly = .T., ; + SelectedBackColor = 0,64,128, ; + Visible = .T. + *< END OBJECT: BaseClass="textbox" /> + + ADD OBJECT 'grid1.cDataAct.Header1' AS header WITH ; + Alignment = 2, ; + BackColor = 212,208,200, ; + Caption = "Data Doc.", ; + FontName = "Arial", ; + FontSize = 10, ; + Name = "Header1" + *< END OBJECT: BaseClass="header" /> + + ADD OBJECT 'grid1.cDataAct.Text1' AS textbox WITH ; + BackColor = 255,255,255, ; + BorderStyle = 0, ; + FontName = "Arial", ; + FontSize = 10, ; + ForeColor = 0,0,0, ; + Margin = 0, ; + Name = "Text1", ; + ReadOnly = .T., ; + SelectedBackColor = 0,64,128, ; + Visible = .T. + *< END OBJECT: BaseClass="textbox" /> + + ADD OBJECT 'grid1.cDataireg.Header1' AS header WITH ; + Alignment = 2, ; + Caption = "Data inreg", ; + FontName = "Arial", ; + FontSize = 10, ; + Name = "Header1" + *< END OBJECT: BaseClass="header" /> + + ADD OBJECT 'grid1.cDataireg.Text1' AS textbox WITH ; + BackColor = 255,255,255, ; + BorderStyle = 0, ; + FontName = "Arial", ; + FontSize = 10, ; + ForeColor = 0,0,0, ; + Margin = 0, ; + Name = "Text1", ; + ReadOnly = .T., ; + SelectedBackColor = 0,64,128, ; + Visible = .T. + *< END OBJECT: BaseClass="textbox" /> + + ADD OBJECT 'grid1.cDatarefpen.Header1' AS header WITH ; + Alignment = 2, ; + Caption = "Data referinta penalitati", ; + FontName = "Arial", ; + FontSize = 10, ; + Name = "Header1" + *< END OBJECT: BaseClass="header" /> + + ADD OBJECT 'grid1.cDatarefpen.Text1' AS textbox WITH ; + BackColor = 255,255,255, ; + BorderStyle = 0, ; + FontName = "Arial", ; + FontSize = 10, ; + ForeColor = 0,0,0, ; + Margin = 0, ; + Name = "Text1", ; + SelectedBackColor = 100,185,255 + *< END OBJECT: BaseClass="textbox" /> + + ADD OBJECT 'grid1.cDataScad.Header1' AS header WITH ; + Alignment = 2, ; + Caption = "Data scadenta", ; + FontName = "Arial", ; + FontSize = 10, ; + Name = "Header1" + *< END OBJECT: BaseClass="header" /> + + ADD OBJECT 'grid1.cDataScad.Text1' AS textbox WITH ; + BackColor = 255,255,255, ; + BorderStyle = 0, ; + FontName = "Arial", ; + FontSize = 10, ; + ForeColor = 0,0,0, ; + Margin = 0, ; + Name = "Text1", ; + ReadOnly = .T., ; + SelectedBackColor = 0,64,128, ; + Visible = .T. + *< END OBJECT: BaseClass="textbox" /> + + ADD OBJECT 'grid1.cDebit.Header1' AS header WITH ; + Alignment = 2, ; + Caption = "Debit", ; + FontName = "Arial", ; + FontSize = 10, ; + Name = "Header1" + *< END OBJECT: BaseClass="header" /> + + ADD OBJECT 'grid1.cDebit.Text1' AS textbox WITH ; + BackColor = 255,255,255, ; + BorderStyle = 0, ; + FontName = "Arial", ; + FontSize = 10, ; + ForeColor = 0,0,0, ; + Margin = 0, ; + Name = "Text1", ; + ReadOnly = .T., ; + SelectedBackColor = 0,64,128, ; + Visible = .T. + *< END OBJECT: BaseClass="textbox" /> + + ADD OBJECT 'grid1.cEntitateAfiliata._checkbox1' AS _checkbox WITH ; + Alignment = 2, ; + Caption = "", ; + Centered = .T., ; + Left = 50, ; + Name = "_checkbox1", ; + Top = 65 + *< END OBJECT: ClassLib="_baza.vcx" BaseClass="checkbox" /> + + ADD OBJECT 'grid1.cEntitateAfiliata.Header1' AS header WITH ; + Alignment = 2, ; + Caption = "Ent. afiliata", ; + Name = "Header1" + *< END OBJECT: BaseClass="header" /> + + ADD OBJECT 'grid1.cEntitateAfiliata.Text1' AS textbox WITH ; + BackColor = 255,255,255, ; + BorderStyle = 0, ; + ForeColor = 0,0,0, ; + Margin = 0, ; + Name = "Text1", ; + ReadOnly = .T., ; + SelectedBackColor = 100,185,255 + *< END OBJECT: BaseClass="textbox" /> + + ADD OBJECT 'grid1.cExplicatia.Header1' AS header WITH ; + Alignment = 2, ; + Caption = "Explicatia", ; + FontName = "Arial", ; + FontSize = 10, ; + Name = "Header1" + *< END OBJECT: BaseClass="header" /> + + ADD OBJECT 'grid1.cExplicatia.Text1' AS textbox WITH ; + BackColor = 255,255,255, ; + BorderStyle = 0, ; + FontName = "Arial", ; + FontSize = 10, ; + ForeColor = 0,0,0, ; + Margin = 0, ; + Name = "Text1", ; + ReadOnly = .T., ; + SelectedBackColor = 0,64,128, ; + Visible = .T. + *< END OBJECT: BaseClass="textbox" /> + + ADD OBJECT 'grid1.cExplicatia4.Header1' AS header WITH ; + Alignment = 2, ; + Caption = "Explicatia 4", ; + FontName = "Arial", ; + FontSize = 10, ; + Name = "Header1" + *< END OBJECT: BaseClass="header" /> + + ADD OBJECT 'grid1.cExplicatia4.Text1' AS textbox WITH ; + BackColor = 255,255,255, ; + BorderStyle = 0, ; + FontName = "Arial", ; + FontSize = 10, ; + ForeColor = 0,0,0, ; + Margin = 0, ; + Name = "Text1", ; + ReadOnly = .T., ; + SelectedBackColor = 0,64,128, ; + Visible = .T. + *< END OBJECT: BaseClass="textbox" /> + + ADD OBJECT 'grid1.cExplicatia5.Header1' AS header WITH ; + Alignment = 2, ; + Caption = "Explicatia 5", ; + FontName = "Arial", ; + FontSize = 10, ; + Name = "Header1" + *< END OBJECT: BaseClass="header" /> + + ADD OBJECT 'grid1.cExplicatia5.Text1' AS textbox WITH ; + BackColor = 255,255,255, ; + BorderStyle = 0, ; + FontName = "Arial", ; + FontSize = 10, ; + ForeColor = 0,0,0, ; + Margin = 0, ; + Name = "Text1", ; + ReadOnly = .T., ; + SelectedBackColor = 0,64,128, ; + Visible = .T. + *< END OBJECT: BaseClass="textbox" /> + + ADD OBJECT 'grid1.cExplicatieTVA.combo1' AS combobox WITH ; + BoundColumn = 1, ; + BoundTo = .T., ; + FontName = "Arial", ; + FontSize = 10, ; + Height = 24, ; + Left = 30, ; + Name = "combo1", ; + ReadOnly = .T., ; + RowSource = "jtva_temp.denumire", ; + RowSourceType = 6, ; + SpecialEffect = 1, ; + Top = 23, ; + Width = 100 + *< END OBJECT: BaseClass="combobox" /> + + ADD OBJECT 'grid1.cExplicatieTVA.Header1' AS header WITH ; + Alignment = 2, ; + Caption = "Explicatie TVA", ; + FontName = "Arial", ; + FontSize = 10, ; + Name = "Header1" + *< END OBJECT: BaseClass="header" /> + + ADD OBJECT 'grid1.cfdoc.Header1' AS header WITH ; + Alignment = 2, ; + Caption = "Fel Doc", ; + FontName = "Arial", ; + FontSize = 10, ; + Name = "Header1" + *< END OBJECT: BaseClass="header" /> + + ADD OBJECT 'grid1.cfdoc.Text1' AS textbox WITH ; + BackColor = 255,255,255, ; + BorderStyle = 0, ; + FontName = "Arial", ; + FontSize = 10, ; + ForeColor = 0,0,0, ; + Margin = 0, ; + Name = "Text1", ; + ReadOnly = .T., ; + SelectedBackColor = 0,64,128, ; + Visible = .T. + *< END OBJECT: BaseClass="textbox" /> + + ADD OBJECT 'grid1.cId_fact.Header1' AS header WITH ; + Alignment = 2, ; + Caption = "Id fact", ; + FontName = "Arial", ; + FontSize = 10, ; + Name = "Header1" + *< END OBJECT: BaseClass="header" /> + + ADD OBJECT 'grid1.cId_fact.Text1' AS textbox WITH ; + BackColor = 255,255,255, ; + BorderStyle = 0, ; + FontName = "Arial", ; + FontSize = 10, ; + ForeColor = 0,0,0, ; + Margin = 0, ; + Name = "Text1", ; + ReadOnly = .T., ; + SelectedBackColor = 0,64,128, ; + Visible = .T. + *< END OBJECT: BaseClass="textbox" /> + + ADD OBJECT 'grid1.cId_part.Header1' AS header WITH ; + Alignment = 2, ; + Caption = "Id Partener", ; + FontName = "Arial", ; + FontSize = 10, ; + Name = "Header1" + *< END OBJECT: BaseClass="header" /> + + ADD OBJECT 'grid1.cId_part.Text1' AS textbox WITH ; + BackColor = 255,255,255, ; + BorderStyle = 0, ; + FontName = "Arial", ; + FontSize = 10, ; + ForeColor = 0,0,0, ; + Margin = 0, ; + Name = "Text1", ; + ReadOnly = .T., ; + SelectedBackColor = 0,64,128, ; + Visible = .T. + *< END OBJECT: BaseClass="textbox" /> + + ADD OBJECT 'grid1.cId_set.Header1' AS header WITH ; + Alignment = 2, ; + Caption = "Id set", ; + FontName = "Arial", ; + FontSize = 10, ; + Name = "Header1" + *< END OBJECT: BaseClass="header" /> + + ADD OBJECT 'grid1.cId_set.Text1' AS textbox WITH ; + BackColor = 255,255,255, ; + BorderStyle = 0, ; + FontName = "Arial", ; + FontSize = 10, ; + ForeColor = 0,0,0, ; + Margin = 0, ; + Name = "Text1", ; + ReadOnly = .T., ; + SelectedBackColor = 0,64,128, ; + Visible = .T. + *< END OBJECT: BaseClass="textbox" /> + + ADD OBJECT 'grid1.cInstitutiePublica._checkbox1' AS _checkbox WITH ; + Alignment = 2, ; + Caption = "", ; + Centered = .T., ; + Left = 28, ; + Name = "_checkbox1", ; + Top = 53 + *< END OBJECT: ClassLib="_baza.vcx" BaseClass="checkbox" /> + + ADD OBJECT 'grid1.cInstitutiePublica.Header1' AS header WITH ; + Alignment = 2, ; + Caption = "Instit. Pub.", ; + Name = "Header1" + *< END OBJECT: BaseClass="header" /> + + ADD OBJECT 'grid1.cInstitutiePublica.Text1' AS textbox WITH ; + BackColor = 255,255,255, ; + BorderStyle = 0, ; + ForeColor = 0,0,0, ; + Margin = 0, ; + Name = "Text1", ; + ReadOnly = .T., ; + SelectedBackColor = 100,185,255 + *< END OBJECT: BaseClass="textbox" /> + + ADD OBJECT 'grid1.cNrAct.Header1' AS header WITH ; + Alignment = 2, ; + BackColor = 212,208,200, ; + Caption = "Nr. Doc.", ; + FontName = "Arial", ; + FontSize = 10, ; + Name = "Header1" + *< END OBJECT: BaseClass="header" /> + + ADD OBJECT 'grid1.cNrAct.Text1' AS textbox WITH ; + BackColor = 255,255,255, ; + BorderStyle = 0, ; + FontName = "Arial", ; + FontSize = 10, ; + ForeColor = 0,0,0, ; + Margin = 0, ; + Name = "Text1", ; + ReadOnly = .T., ; + SelectedBackColor = 0,64,128, ; + Visible = .T. + *< END OBJECT: BaseClass="textbox" /> + + ADD OBJECT 'grid1.cnresp.Header1' AS header WITH ; + Alignment = 2, ; + Caption = "Responsabil", ; + FontName = "Arial", ; + FontSize = 10, ; + Name = "Header1" + *< END OBJECT: BaseClass="header" /> + + ADD OBJECT 'grid1.cnresp.Text1' AS textbox WITH ; + BackColor = 255,255,255, ; + BorderStyle = 0, ; + FontName = "Arial", ; + FontSize = 10, ; + ForeColor = 0,0,0, ; + Margin = 0, ; + Name = "Text1", ; + ReadOnly = .T., ; + SelectedBackColor = 0,64,128, ; + Visible = .T. + *< END OBJECT: BaseClass="textbox" /> + + ADD OBJECT 'grid1.cNrord.Header1' AS header WITH ; + Alignment = 2, ; + Caption = "Lucrare/Comanda", ; + FontName = "Arial", ; + FontSize = 10, ; + Name = "Header1" + *< END OBJECT: BaseClass="header" /> + + ADD OBJECT 'grid1.cNrord.Text1' AS textbox WITH ; + BackColor = 255,255,255, ; + BorderStyle = 0, ; + FontName = "Arial", ; + FontSize = 10, ; + ForeColor = 0,0,0, ; + Margin = 0, ; + Name = "Text1", ; + ReadOnly = .T., ; + SelectedBackColor = 0,64,128, ; + Visible = .T. + *< END OBJECT: BaseClass="textbox" /> + + ADD OBJECT 'grid1.cnrzilepen.Header1' AS header WITH ; + Alignment = 2, ; + Caption = "Nr. zile penalitati", ; + FontName = "Arial", ; + FontSize = 10, ; + Name = "Header1" + *< END OBJECT: BaseClass="header" /> + + ADD OBJECT 'grid1.cnrzilepen.Text1' AS textbox WITH ; + BackColor = 255,255,255, ; + BorderStyle = 0, ; + FontName = "Arial", ; + FontSize = 10, ; + ForeColor = 0,0,0, ; + Margin = 0, ; + Name = "Text1", ; + SelectedBackColor = 100,185,255 + *< END OBJECT: BaseClass="textbox" /> + + ADD OBJECT 'grid1.cNume.Header1' AS header WITH ; + Alignment = 2, ; + BackColor = 212,208,200, ; + Caption = "Nume", ; + FontName = "Arial", ; + FontSize = 10, ; + Name = "Header1" + *< END OBJECT: BaseClass="header" /> + + ADD OBJECT 'grid1.cNume.Text1' AS textbox WITH ; + BackColor = 255,255,255, ; + BorderStyle = 0, ; + FontName = "Arial", ; + FontSize = 10, ; + ForeColor = 0,0,0, ; + Margin = 0, ; + Name = "Text1", ; + ReadOnly = .T., ; + SelectedBackColor = 0,64,128, ; + Visible = .T. + *< END OBJECT: BaseClass="textbox" /> + + ADD OBJECT 'grid1.cNume_val.Header1' AS header WITH ; + Alignment = 2, ; + Caption = "Nume valuta", ; + FontName = "Arial", ; + FontSize = 10, ; + Name = "Header1" + *< END OBJECT: BaseClass="header" /> + + ADD OBJECT 'grid1.cNume_val.Text1' AS textbox WITH ; + BackColor = 255,255,255, ; + BorderStyle = 0, ; + FontName = "Arial", ; + FontSize = 10, ; + ForeColor = 0,0,0, ; + Margin = 0, ; + Name = "Text1", ; + ReadOnly = .T., ; + SelectedBackColor = 0,64,128, ; + Visible = .T. + *< END OBJECT: BaseClass="textbox" /> + + ADD OBJECT 'grid1.Column32.Header1' AS header WITH ; + Alignment = 2, ; + Caption = "Cont", ; + FontName = "Arial", ; + FontSize = 10, ; + Name = "Header1" + *< END OBJECT: BaseClass="header" /> + + ADD OBJECT 'grid1.Column32.Text1' AS textbox WITH ; + BackColor = 255,255,255, ; + BorderStyle = 0, ; + FontName = "Arial", ; + FontSize = 10, ; + ForeColor = 0,0,0, ; + Margin = 0, ; + Name = "Text1", ; + SelectedBackColor = 0,64,128 + *< END OBJECT: BaseClass="textbox" /> + + ADD OBJECT 'grid1.Column35.Header1' AS header WITH ; + Alignment = 2, ; + Caption = "Contract", ; + FontName = "Arial", ; + FontSize = 10, ; + Name = "Header1" + *< END OBJECT: BaseClass="header" /> + + ADD OBJECT 'grid1.Column35.Text1' AS textbox WITH ; + BackColor = 255,255,255, ; + BorderStyle = 0, ; + FontName = "Arial", ; + FontSize = 10, ; + ForeColor = 0,0,0, ; + Margin = 0, ; + Name = "Text1", ; + SelectedBackColor = 0,64,128 + *< END OBJECT: BaseClass="textbox" /> + + ADD OBJECT 'grid1.cPrecCred.Header1' AS header WITH ; + Alignment = 2, ; + Caption = "Prec. Credit", ; + FontName = "Arial", ; + FontSize = 10, ; + Name = "Header1" + *< END OBJECT: BaseClass="header" /> + + ADD OBJECT 'grid1.cPrecCred.Text1' AS textbox WITH ; + BackColor = 255,255,255, ; + BorderStyle = 0, ; + FontName = "Arial", ; + FontSize = 10, ; + ForeColor = 0,0,0, ; + Margin = 0, ; + Name = "Text1", ; + ReadOnly = .T., ; + SelectedBackColor = 0,64,128, ; + Visible = .T. + *< END OBJECT: BaseClass="textbox" /> + + ADD OBJECT 'grid1.cPrecDeb.Header1' AS header WITH ; + Alignment = 2, ; + Caption = "Prec. Debit", ; + FontName = "Arial", ; + FontSize = 10, ; + Name = "Header1" + *< END OBJECT: BaseClass="header" /> + + ADD OBJECT 'grid1.cPrecDeb.Text1' AS textbox WITH ; + BackColor = 255,255,255, ; + BorderStyle = 0, ; + FontName = "Arial", ; + FontSize = 10, ; + ForeColor = 0,0,0, ; + Margin = 0, ; + Name = "Text1", ; + ReadOnly = .T., ; + SelectedBackColor = 0,64,128, ; + Visible = .T. + *< END OBJECT: BaseClass="textbox" /> + + ADD OBJECT 'grid1.cPrecValCred.Header1' AS header WITH ; + Alignment = 2, ; + Caption = "Prec. Valuta Credit", ; + FontName = "Arial", ; + FontSize = 10, ; + Name = "Header1" + *< END OBJECT: BaseClass="header" /> + + ADD OBJECT 'grid1.cPrecValCred.Text1' AS textbox WITH ; + BackColor = 255,255,255, ; + BorderStyle = 0, ; + FontName = "Arial", ; + FontSize = 10, ; + ForeColor = 0,0,0, ; + Margin = 0, ; + Name = "Text1", ; + ReadOnly = .T., ; + SelectedBackColor = 0,64,128 + *< END OBJECT: BaseClass="textbox" /> + + ADD OBJECT 'grid1.cPrecValDeb.Header1' AS header WITH ; + Alignment = 2, ; + Caption = "Prec. Valuta Debit", ; + FontName = "Arial", ; + FontSize = 10, ; + Name = "Header1" + *< END OBJECT: BaseClass="header" /> + + ADD OBJECT 'grid1.cPrecValDeb.Text1' AS textbox WITH ; + BackColor = 255,255,255, ; + BorderStyle = 0, ; + FontName = "Arial", ; + FontSize = 10, ; + ForeColor = 0,0,0, ; + Margin = 0, ; + Name = "Text1", ; + ReadOnly = .T., ; + SelectedBackColor = 0,64,128 + *< END OBJECT: BaseClass="textbox" /> + + ADD OBJECT 'grid1.cPrimaRata.Header1' AS header WITH ; + Alignment = 2, ; + Caption = "Data prima rata", ; + FontName = "Arial", ; + FontSize = 10, ; + Name = "Header1" + *< END OBJECT: BaseClass="header" /> + + ADD OBJECT 'grid1.cPrimaRata.Text1' AS textbox WITH ; + BackColor = 255,255,255, ; + BorderStyle = 0, ; + FontName = "Arial", ; + FontSize = 10, ; + ForeColor = 0,0,0, ; + Margin = 0, ; + Name = "Text1", ; + ReadOnly = .T., ; + SelectedBackColor = 100,185,255 + *< END OBJECT: BaseClass="textbox" /> + + ADD OBJECT 'grid1.cProcentTVA.Header1' AS header WITH ; + Alignment = 2, ; + Caption = "Procent TVA", ; + FontName = "Arial", ; + FontSize = 10, ; + Name = "Header1" + *< END OBJECT: BaseClass="header" /> + + ADD OBJECT 'grid1.cProcentTVA.Text1' AS textbox WITH ; + BackColor = 255,255,255, ; + BorderStyle = 0, ; + ControlSource = "proc_tva", ; + FontName = "Arial", ; + FontSize = 10, ; + ForeColor = 0,0,0, ; + Margin = 0, ; + Name = "Text1", ; + SelectedBackColor = 0,64,128 + *< END OBJECT: BaseClass="textbox" /> + + ADD OBJECT 'grid1.cprocpen.Header1' AS header WITH ; + Alignment = 2, ; + Caption = "Procent penalitati / zi", ; + FontName = "Arial", ; + FontSize = 10, ; + Name = "Header1" + *< END OBJECT: BaseClass="header" /> + + ADD OBJECT 'grid1.cprocpen.Text1' AS textbox WITH ; + BackColor = 255,255,255, ; + BorderStyle = 0, ; + FontName = "Arial", ; + FontSize = 10, ; + ForeColor = 0,0,0, ; + Margin = 0, ; + Name = "Text1", ; + SelectedBackColor = 100,185,255 + *< END OBJECT: BaseClass="textbox" /> + + ADD OBJECT 'grid1.cRata.Header1' AS header WITH ; + Alignment = 2, ; + Caption = "Rata", ; + FontName = "Arial", ; + FontSize = 10, ; + Name = "Header1" + *< END OBJECT: BaseClass="header" /> + + ADD OBJECT 'grid1.cRata.Text1' AS textbox WITH ; + BackColor = 255,255,255, ; + BorderStyle = 0, ; + FontName = "Arial", ; + FontSize = 10, ; + ForeColor = 0,0,0, ; + Margin = 0, ; + Name = "Text1", ; + ReadOnly = .T., ; + SelectedBackColor = 100,185,255 + *< END OBJECT: BaseClass="textbox" /> + + ADD OBJECT 'grid1.cSerie_act.Header1' AS header WITH ; + Alignment = 2, ; + Caption = "Serie Doc.", ; + FontName = "Arial", ; + FontSize = 10, ; + Name = "Header1" + *< END OBJECT: BaseClass="header" /> + + ADD OBJECT 'grid1.cSerie_act.Text1' AS textbox WITH ; + BackColor = 255,255,255, ; + BorderStyle = 0, ; + FontName = "Arial", ; + FontSize = 10, ; + ForeColor = 0,0,0, ; + Margin = 0, ; + Name = "Text1", ; + SelectedBackColor = 0,64,128 + *< END OBJECT: BaseClass="textbox" /> + + ADD OBJECT 'grid1.cSoldFinal.Header1' AS header WITH ; + Alignment = 2, ; + Caption = "Sold final", ; + FontName = "Arial", ; + FontSize = 10, ; + Name = "Header1" + *< END OBJECT: BaseClass="header" /> + + ADD OBJECT 'grid1.cSoldFinal.Text1' AS textbox WITH ; + BackColor = 255,255,255, ; + BorderStyle = 0, ; + FontName = "Arial", ; + FontSize = 10, ; + ForeColor = 0,0,0, ; + Margin = 0, ; + Name = "Text1", ; + ReadOnly = .T., ; + SelectedBackColor = 0,64,128, ; + Visible = .T. + *< END OBJECT: BaseClass="textbox" /> + + ADD OBJECT 'grid1.cSoldVal.Header1' AS header WITH ; + Alignment = 2, ; + Caption = "Sold valuta", ; + FontName = "Arial", ; + FontSize = 10, ; + Name = "Header1" + *< END OBJECT: BaseClass="header" /> + + ADD OBJECT 'grid1.cSoldVal.Text1' AS textbox WITH ; + BackColor = 255,255,255, ; + BorderStyle = 0, ; + FontName = "Arial", ; + FontSize = 10, ; + ForeColor = 0,0,0, ; + Margin = 0, ; + Name = "Text1", ; + ReadOnly = .T., ; + SelectedBackColor = 0,64,128, ; + Visible = .T. + *< END OBJECT: BaseClass="textbox" /> + + ADD OBJECT 'grid1.cSucursala.Header1' AS header WITH ; + Alignment = 2, ; + Caption = "Sucursala", ; + FontName = "Arial", ; + FontSize = 10, ; + Name = "Header1" + *< END OBJECT: BaseClass="header" /> + + ADD OBJECT 'grid1.cSucursala.Text1' AS textbox WITH ; + BackColor = 255,255,255, ; + BorderStyle = 0, ; + FontName = "Arial", ; + FontSize = 10, ; + ForeColor = 0,0,0, ; + Margin = 0, ; + Name = "Text1", ; + ReadOnly = .T., ; + SelectedBackColor = 0,64,128 + *< END OBJECT: BaseClass="textbox" /> + + ADD OBJECT 'grid1.cSwiftBanca.Header1' AS header WITH ; + Alignment = 2, ; + Caption = "SWIFT", ; + FontName = "Arial", ; + FontSize = 10, ; + Name = "Header1" + *< END OBJECT: BaseClass="header" /> + + ADD OBJECT 'grid1.cSwiftBanca.Text1' AS textbox WITH ; + BackColor = 255,255,255, ; + BorderStyle = 0, ; + FontName = "Arial", ; + FontSize = 10, ; + ForeColor = 0,0,0, ; + Margin = 0, ; + Name = "Text1", ; + ReadOnly = .T., ; + SelectedBackColor = 100,185,255 + *< END OBJECT: BaseClass="textbox" /> + + ADD OBJECT 'grid1.cTipSAFT._combobox1' AS _combobox WITH ; + BorderStyle = 0, ; + BoundColumn = 2, ; + BoundTo = .T., ; + ColumnCount = 2, ; + ColumnLines = .F., ; + ColumnWidths = "200,0", ; + ControlSource = "actcv.tip_saft", ; + Enabled = .F., ; + FontName = "Arial", ; + FontSize = 10, ; + Left = 53, ; + Name = "_combobox1", ; + ReadOnly = .F., ; + RowSource = "select tip_saftname,cod from saft_tip_facturi order by tip_saftname into cursor crsTipFacturiX", ; + RowSourceType = 3, ; + Top = 65 + *< END OBJECT: ClassLib="_baza.vcx" BaseClass="combobox" /> + + ADD OBJECT 'grid1.cTipSAFT.Header1' AS header WITH ; + Alignment = 2, ; + Caption = "Tip SAFT", ; + FontName = "Arial", ; + FontSize = 10, ; + Name = "Header1" + *< END OBJECT: BaseClass="header" /> + + ADD OBJECT 'grid1.cTipSAFT.Text1' AS textbox WITH ; + BackColor = 255,255,255, ; + BorderStyle = 0, ; + ForeColor = 0,0,0, ; + Margin = 0, ; + Name = "Text1", ; + SelectedBackColor = 100,185,255 + *< END OBJECT: BaseClass="textbox" /> + + ADD OBJECT 'grid1.cTotCred.Header1' AS header WITH ; + Alignment = 2, ; + Caption = "Total Credit", ; + FontName = "Arial", ; + FontSize = 10, ; + Name = "Header1" + *< END OBJECT: BaseClass="header" /> + + ADD OBJECT 'grid1.cTotCred.Text1' AS textbox WITH ; + BackColor = 255,255,255, ; + BorderStyle = 0, ; + FontName = "Arial", ; + FontSize = 10, ; + ForeColor = 0,0,0, ; + Margin = 0, ; + Name = "Text1", ; + ReadOnly = .T., ; + SelectedBackColor = 0,64,128, ; + Visible = .T. + *< END OBJECT: BaseClass="textbox" /> + + ADD OBJECT 'grid1.cTotCredVal.Header1' AS header WITH ; + Alignment = 2, ; + Caption = "Total Credit Valuta", ; + FontName = "Arial", ; + FontSize = 10, ; + Name = "Header1" + *< END OBJECT: BaseClass="header" /> + + ADD OBJECT 'grid1.cTotCredVal.Text1' AS textbox WITH ; + BackColor = 255,255,255, ; + BorderStyle = 0, ; + FontName = "Arial", ; + FontSize = 10, ; + ForeColor = 0,0,0, ; + Margin = 0, ; + Name = "Text1", ; + ReadOnly = .T., ; + SelectedBackColor = 0,64,128, ; + Visible = .T. + *< END OBJECT: BaseClass="textbox" /> + + ADD OBJECT 'grid1.cTotDeb.Header1' AS header WITH ; + Alignment = 2, ; + Caption = "Total Debit", ; + FontName = "Arial", ; + FontSize = 10, ; + Name = "Header1" + *< END OBJECT: BaseClass="header" /> + + ADD OBJECT 'grid1.cTotDeb.Text1' AS textbox WITH ; + BackColor = 255,255,255, ; + BorderStyle = 0, ; + FontName = "Arial", ; + FontSize = 10, ; + ForeColor = 0,0,0, ; + Margin = 0, ; + Name = "Text1", ; + ReadOnly = .T., ; + SelectedBackColor = 0,64,128, ; + Visible = .T. + *< END OBJECT: BaseClass="textbox" /> + + ADD OBJECT 'grid1.cTotDebVal.Header1' AS header WITH ; + Alignment = 2, ; + Caption = "Total Debit Valuta", ; + FontName = "Arial", ; + FontSize = 10, ; + Name = "Header1" + *< END OBJECT: BaseClass="header" /> + + ADD OBJECT 'grid1.cTotDebVal.Text1' AS textbox WITH ; + BackColor = 255,255,255, ; + BorderStyle = 0, ; + FontName = "Arial", ; + FontSize = 10, ; + ForeColor = 0,0,0, ; + Margin = 0, ; + Name = "Text1", ; + ReadOnly = .T., ; + SelectedBackColor = 0,64,128, ; + Visible = .T. + *< END OBJECT: BaseClass="textbox" /> + + ADD OBJECT 'grid1.cTVAI.Check1' AS checkbox WITH ; + Alignment = 2, ; + Caption = "", ; + FontName = "Arial", ; + FontSize = 10, ; + Height = 17, ; + Left = 22, ; + Name = "Check1", ; + Top = 59, ; + Width = 60 + *< END OBJECT: BaseClass="checkbox" /> + + ADD OBJECT 'grid1.cTVAI.Header1' AS header WITH ; + Alignment = 2, ; + Caption = "TVA Inc.", ; + FontName = "Arial", ; + FontSize = 10, ; + Name = "Header1" + *< END OBJECT: BaseClass="header" /> + + ADD OBJECT 'grid1.cTVAI.Text1' AS textbox WITH ; + BackColor = 255,255,255, ; + BorderStyle = 0, ; + FontName = "Arial Narrow", ; + ForeColor = 0,0,0, ; + Margin = 0, ; + Name = "Text1", ; + ReadOnly = .T., ; + SelectedBackColor = 100,185,255 + *< END OBJECT: BaseClass="textbox" /> + + ADD OBJECT 'grid1.cUltimaRata.Header1' AS header WITH ; + Alignment = 2, ; + Caption = "Data ultima rata", ; + FontName = "Arial", ; + FontSize = 10, ; + Name = "Header1" + *< END OBJECT: BaseClass="header" /> + + ADD OBJECT 'grid1.cUltimaRata.Text1' AS textbox WITH ; + BackColor = 255,255,255, ; + BorderStyle = 0, ; + FontName = "Arial", ; + FontSize = 10, ; + ForeColor = 0,0,0, ; + Margin = 0, ; + Name = "Text1", ; + ReadOnly = .T., ; + SelectedBackColor = 100,185,255 + *< END OBJECT: BaseClass="textbox" /> + + ADD OBJECT 'grid1.cValCredit.Header1' AS header WITH ; + Alignment = 2, ; + Caption = "Credit Valuta", ; + FontName = "Arial", ; + FontSize = 10, ; + Name = "Header1" + *< END OBJECT: BaseClass="header" /> + + ADD OBJECT 'grid1.cValCredit.Text1' AS textbox WITH ; + BackColor = 255,255,255, ; + BorderStyle = 0, ; + FontName = "Arial", ; + FontSize = 10, ; + ForeColor = 0,0,0, ; + Margin = 0, ; + Name = "Text1", ; + ReadOnly = .T., ; + SelectedBackColor = 0,64,128, ; + Visible = .T. + *< END OBJECT: BaseClass="textbox" /> + + ADD OBJECT 'grid1.cValDebit.Header1' AS header WITH ; + Alignment = 2, ; + Caption = "Debit Valuta", ; + FontName = "Arial", ; + FontSize = 10, ; + Name = "Header1" + *< END OBJECT: BaseClass="header" /> + + ADD OBJECT 'grid1.cValDebit.Text1' AS textbox WITH ; + BackColor = 255,255,255, ; + BorderStyle = 0, ; + FontName = "Arial", ; + FontSize = 10, ; + ForeColor = 0,0,0, ; + Margin = 0, ; + Name = "Text1", ; + ReadOnly = .T., ; + SelectedBackColor = 0,64,128, ; + Visible = .T. + *< END OBJECT: BaseClass="textbox" /> + + ADD OBJECT 'grid1.cvalpen.Header1' AS header WITH ; + Alignment = 2, ; + Caption = "Valoare penalitati", ; + FontName = "Arial", ; + FontSize = 10, ; + Name = "Header1" + *< END OBJECT: BaseClass="header" /> + + ADD OBJECT 'grid1.cvalpen.Text1' AS textbox WITH ; + BackColor = 255,255,255, ; + BorderStyle = 0, ; + FontName = "Arial", ; + FontSize = 10, ; + ForeColor = 0,0,0, ; + Margin = 0, ; + Name = "Text1", ; + SelectedBackColor = 100,185,255 + *< END OBJECT: BaseClass="textbox" /> + + ADD OBJECT 'grid1.cVenChelt.Header1' AS header WITH ; + Alignment = 2, ; + Caption = "Venituri/Chelt.", ; + FontName = "Arial", ; + FontSize = 10, ; + Name = "Header1" + *< END OBJECT: BaseClass="header" /> + + ADD OBJECT 'grid1.cVenChelt.Text1' AS textbox WITH ; + BackColor = 255,255,255, ; + BorderStyle = 0, ; + FontName = "Arial", ; + FontSize = 10, ; + ForeColor = 0,0,0, ; + Margin = 0, ; + Name = "Text1", ; + ReadOnly = .T., ; + SelectedBackColor = 0,64,128, ; + Visible = .T. + *< END OBJECT: BaseClass="textbox" /> + + ADD OBJECT 'Gridextra1' AS gridextra WITH ; + Height = 17, ; + Left = 780, ; + Name = "Gridextra1", ; + Top = 48, ; + Width = 19 + *< END OBJECT: ClassLib="..\utile\gridextras\gridextras.vcx" BaseClass="custom" /> + + ADD OBJECT 'Label2' AS label WITH ; + Anchor = 12, ; + AutoSize = .T., ; + BackStyle = 0, ; + Caption = (thisform.grid1.cTotDeb.header1.caption), ; + FontCharSet = 238, ; + FontName = "Segoe UI", ; + FontSize = 10, ; + Height = 19, ; + Left = 299, ; + Name = "Label2", ; + TabIndex = 21, ; + Top = 576, ; + Width = 66, ; + ZOrderSet = 38 + *< END OBJECT: BaseClass="label" /> + + ADD OBJECT 'Label4' AS label WITH ; + Anchor = 12, ; + AutoSize = .T., ; + BackStyle = 0, ; + Caption = (thisform.grid1.cTotCred.header1.caption), ; + FontCharSet = 238, ; + FontName = "Segoe UI", ; + FontSize = 10, ; + Height = 19, ; + Left = 428, ; + Name = "Label4", ; + TabIndex = 22, ; + Top = 576, ; + Width = 70, ; + ZOrderSet = 39 + *< END OBJECT: BaseClass="label" /> + + ADD OBJECT 'Label5' AS label WITH ; + Anchor = 12, ; + AutoSize = .T., ; + BackStyle = 0, ; + Caption = "Sold", ; + Comment = "", ; + FontCharSet = 238, ; + FontName = "Segoe UI", ; + FontSize = 10, ; + Height = 19, ; + Left = 603, ; + Name = "Label5", ; + TabIndex = 23, ; + Top = 576, ; + Width = 28, ; + ZOrderSet = 40 + *< END OBJECT: BaseClass="label" /> + + ADD OBJECT 'Label6' AS label WITH ; + Anchor = 12, ; + AutoSize = .F., ; + BackStyle = 0, ; + Caption = (thisform.grid1.cTotDebVal.header1.caption), ; + Comment = "", ; + FontCharSet = 238, ; + FontName = "Segoe UI", ; + FontSize = 10, ; + Height = 18, ; + Left = 259, ; + Name = "Label6", ; + TabIndex = 12, ; + Top = 620, ; + Width = 106, ; + ZOrderSet = 0 + *< END OBJECT: BaseClass="label" /> + + ADD OBJECT 'Label8' AS label WITH ; + Anchor = 12, ; + AutoSize = .T., ; + BackStyle = 0, ; + Caption = (thisform.grid1.cTotCredVal.header1.caption), ; + Comment = "", ; + FontCharSet = 238, ; + FontName = "Segoe UI", ; + FontSize = 10, ; + Height = 19, ; + Left = 388, ; + Name = "Label8", ; + TabIndex = 25, ; + Top = 619, ; + Width = 110, ; + ZOrderSet = 42 + *< END OBJECT: BaseClass="label" /> + + ADD OBJECT 'Label9' AS label WITH ; + Anchor = 12, ; + AutoSize = .T., ; + BackStyle = 0, ; + Caption = "Sold Valuta", ; + FontCharSet = 238, ; + FontName = "Segoe UI", ; + FontSize = 10, ; + Height = 19, ; + Left = 563, ; + Name = "Label9", ; + TabIndex = 24, ; + Top = 620, ; + Width = 68, ; + ZOrderSet = 41 + *< END OBJECT: BaseClass="label" /> + + ADD OBJECT 'Lb_shortcuts1' AS lb_shortcuts WITH ; + Caption = "CTRL+F = Terminare; ESC = Renuntare; CTRL+Q = Cautare; CTRL+T = Resetare", ; + Comment = "", ; + Left = 6, ; + Name = "Lb_shortcuts1", ; + TabIndex = 33, ; + Top = 15 + *< END OBJECT: ClassLib="lb.vcx" BaseClass="label" /> + + ADD OBJECT 'Lb_simplu1' AS lb_simplu WITH ; + Anchor = 12, ; + Caption = "Valuta", ; + Comment = "", ; + FontCharSet = 238, ; + FontName = "Segoe UI", ; + FontSize = 10, ; + Left = 648, ; + Name = "Lb_simplu1", ; + TabIndex = 13, ; + Top = 612, ; + ZOrderSet = 30 + *< END OBJECT: ClassLib="lb.vcx" BaseClass="label" /> + + ADD OBJECT 'oMenuShortcut' AS menulib WITH ; + Left = 191, ; + Name = "oMenuShortcut", ; + TabIndex = 26, ; + Top = 10, ; + ZOrderSet = 44 + *< END OBJECT: ClassLib="utility.vcx" BaseClass="container" /> + + ADD OBJECT 'Text1' AS _textbox WITH ; + Alignment = 1, ; + Anchor = 12, ; + ControlSource = "Thisform.ntotdebit", ; + FontCharSet = 238, ; + FontName = "Segoe UI", ; + FontSize = 10, ; + Format = "r", ; + Height = 23, ; + InputMask = (get_mask(12,gnPA)), ; + Left = 238, ; + Name = "Text1", ; + ReadOnly = .T., ; + TabIndex = 15, ; + Top = 594, ; + Width = 127, ; + ZOrderSet = 32 + *< END OBJECT: ClassLib="_baza.vcx" BaseClass="textbox" /> + + ADD OBJECT 'Text2' AS _textbox WITH ; + Alignment = 1, ; + Anchor = 12, ; + ControlSource = "Thisform.ntotcredit", ; + FontCharSet = 238, ; + FontName = "Segoe UI", ; + FontSize = 10, ; + Format = "r", ; + Height = 23, ; + InputMask = (get_mask(12,gnPA)), ; + Left = 371, ; + Name = "Text2", ; + ReadOnly = .T., ; + TabIndex = 16, ; + Top = 594, ; + Width = 127, ; + ZOrderSet = 33 + *< END OBJECT: ClassLib="_baza.vcx" BaseClass="textbox" /> + + ADD OBJECT 'Text3' AS _textbox WITH ; + Alignment = 1, ; + Anchor = 12, ; + Comment = "", ; + ControlSource = "Thisform.ntotSold", ; + FontCharSet = 238, ; + FontName = "Segoe UI", ; + FontSize = 10, ; + Format = "r", ; + Height = 23, ; + InputMask = (get_mask(12,gnPA)), ; + Left = 504, ; + Name = "Text3", ; + ReadOnly = .T., ; + TabIndex = 17, ; + Top = 594, ; + Width = 127, ; + ZOrderSet = 34 + *< END OBJECT: ClassLib="_baza.vcx" BaseClass="textbox" /> + + ADD OBJECT 'Text4' AS _textbox WITH ; + Alignment = 1, ; + Anchor = 12, ; + Comment = "", ; + FontCharSet = 238, ; + FontName = "Segoe UI", ; + FontSize = 10, ; + Format = "r", ; + Height = 23, ; + InputMask = (get_mask(12,gnPval)), ; + Left = 238, ; + Name = "Text4", ; + ReadOnly = .T., ; + TabIndex = 18, ; + Top = 637, ; + Width = 127, ; + ZOrderSet = 35 + *< END OBJECT: ClassLib="_baza.vcx" BaseClass="textbox" /> + + ADD OBJECT 'Text5' AS _textbox WITH ; + Alignment = 1, ; + Anchor = 12, ; + FontCharSet = 238, ; + FontName = "Segoe UI", ; + FontSize = 10, ; + Format = "r", ; + Height = 23, ; + InputMask = (get_mask(12,gnPval)), ; + Left = 371, ; + Name = "Text5", ; + ReadOnly = .T., ; + TabIndex = 19, ; + Top = 637, ; + Width = 127, ; + ZOrderSet = 36 + *< END OBJECT: ClassLib="_baza.vcx" BaseClass="textbox" /> + + ADD OBJECT 'Text6' AS _textbox WITH ; + Alignment = 1, ; + Anchor = 12, ; + FontCharSet = 238, ; + FontName = "Segoe UI", ; + FontSize = 10, ; + Format = "r", ; + Height = 23, ; + InputMask = (get_mask(12,gnPval)), ; + Left = 504, ; + Name = "Text6", ; + ReadOnly = .T., ; + TabIndex = 20, ; + Top = 637, ; + Width = 127, ; + ZOrderSet = 37 + *< END OBJECT: ClassLib="_baza.vcx" BaseClass="textbox" /> + + PROCEDURE Activate + *!* Thisform.WindowState=2 + + *!* tw1=Thisform.Width + *!* tl1=Thisform.Height + + *!* tw2=Thisform.Width + *!* tl2=Thisform.Height + + *!* gw1=Thisform.grid1.Width + *!* gl1=Thisform.grid1.Height + + *!* Thisform.grid1.Width = Round(gw1*tw2/tw1,0) + *!* Thisform.grid1.Height = Round(gl1*tl2/tl1,0) + + *!* lnlung1 = Thisform._shape1.Width + *!* Thisform._shape1.Width = Round(lnlung1*tw2/tw1,0) + *!* lndif = Thisform._shape1.Width-lnlung1 + *!* Thisform._shape2.Left = Thisform._shape2.Left+lndif + *!* ** + + *!* Thisform.Paint + *!* Thisform.Refresh + + *!* Set Safety Off + *!* Select actcv + ENDPROC + + PROCEDURE actualizeaza_grid1 + Lparameters tcFiltru + Local lcFiltru,llCautareNoua + + If Empty(tcFiltru) + lcFiltru = poireg_parteneri.ca_baza1.cfiltru + llCautareNoua=.F. + Else + lcFiltru = tcFiltru + llCautareNoua=.T. + Endif + + + lcOrder = 'dataact,nract' && This.corderby + " " + This.Casc + + Thisform.MousePointer= 11 + Thisform.LockScreen=.T. + save_grid_tag(Thisform.grid1) + + *!* IF USED("actcv") + *!* USE IN actcv + *!* ENDIF + + poireg_parteneri.ca_baza1.cfiltru = lcFiltru + poireg_parteneri.ca_baza1.corder = lcOrder + poireg_parteneri.ca_baza1.afisare() + + + ************************************* + *** FILTRU FACTURI CU TVA INCASARE - VERIFICAT IN RTVAI DUPA DATAACT + If 'CU TVA INCASARE'$Upper(Thisform.filtru_pretty_ro_full) Or 'FARA TVA INCASARE'$Upper(Thisform.filtru_pretty_ro_full) + WAIT WINDOW 'Verificare TVAI' NOWAIT + This.grid1.cTVAI.Visible = .T. + + Update actcv Set tvai = 0 + + * Selectez inregistrarile din rtvai_istoric pentru toate codurile fiscale din ireg_parteneri luna si contul curent + TEXT TO lcsql NOSHOW + Select i.cod_fiscal,i.data_inceput, + Min(NVL2(i.data_sfarsit, + i.data_sfarsit - 1, + TO_DATE('29991231', 'YYYYMMDD'))) As data_sfarsit + From contafin_oracle.rtvai_istoric i + Where i.cod_fiscal in (SELECT distinct to_number(regexp_replace(p.cod_fiscal, '[^[:digit:]]')) as cod_fiscal + FROM ireg_parteneri i + join nom_parteneri p + on i.id_part = p.id_part + where i.an = ?gnAn + and i.luna = ?gnLuna + and cont = ?pcCont) + Group By i.cod_fiscal, i.data_inceput; + ENDTEXT + + llSucces = goExecutor.oExecuta(m.lcSql, 'crsTVAITemp') + If m.llSucces + + Select crsTVAITemp + SCAN + lnCodFiscal = cod_fiscal + ldData1 = data_inceput + ldData2 = data_sfarsit + WAIT WINDOW 'Verificare TVAI Cod fiscal: ' + TRANSFORM(lnCodFiscal) + ' ' + TRANSFORM(RECNO('crsTVAITemp')) + '/' + TRANSFORM(RECC('crsTVAITemp')) NOWAIT + *!* Update actcv Set tvai = 1 Where Int(Val(strtranx(cod_fiscal,"[^0-9]",[],1,,1))) = m.lnCodFiscal And Between(dataact, m.ldData1, m.ldData2) + Update actcv Set tvai = 1 Where VAL(COD_FISCALFRO) = m.lnCodFiscal And Between(dataact, m.ldData1, m.ldData2) + Endscan + Endif + Use In (Select('crsTVAITemp')) + + If 'CU TVA INCASARE'$Upper(Thisform.filtru_pretty_ro_full) + SELECT * FROM actcv WHERE tvai = 1 INTO CURSOR actcvx NOFILTER + Else + SELECT * FROM actcv WHERE tvai = 0 INTO CURSOR actcvx NOFILTER + ENDIF + USE IN (SELECT('actcv')) + SELECT * FROM actcvx INTO CURSOR actcv READWRITE + USE IN (SELECT('actcvx')) + Else + This.grid1.cTVAI.Visible = .F. + Endif && 'CU TVA INCASARE' + + + restore_grid_tag(Thisform.grid1) + Thisform.MousePointer= 0 + Thisform.LockScreen=.F. + + + Thisform.cb_nom_valute1.initializare(llCautareNoua) + Thisform.actualizeaza_totaluri() + + Select actcv + GO TOP + *!* If Thisform.clb_tx_simplu1.Visible=.T. + *!* Sum suma To Thisform.nsuma + *!* Endif + *!* If Thisform.ck_sters.Visible=.T. + + *!* Endif + Thisform.grid1.SetFocus + *!* Thisform.clb_tx_simplu1.text_simplu1.Refresh + + ENDPROC + + PROCEDURE actualizeaza_totaluri + LOCAL lcValuta,lcPoz + lcValuta=ALLTRIM(THISFORM.cb_nom_valute1.VALUE) + + SELECT actcv + lnPoz=IIF(RECCOUNT('actcv')>0,RECNO(),0) + + *!* SELECT * FROM actcv INTO TABLE c:\actcv_.DBF + SUM (debit+precdeb),(credit+preccred) TO THISFORM.ntotdebit,THISFORM.ntotcredit + IF TYPE('actcv.precvalcred')<>'U' AND TYPE('actcv.precvaldeb')<>'U' + SUM (valdebit+precvaldeb),(valcredit+precvalcred) TO THISFORM.ndebitval,THISFORM.ncreditval FOR nume_val=lcValuta + ENDIF + + IF THISFORM.lactiv + SUM ((precdeb + debit) - ( preccred + credit)) TO THISFORM.ntotsold + IF TYPE('actcv.precvalcred')<>'U' AND TYPE('actcv.precvaldeb')<>'U' + SUM ((precvaldeb + valdebit) - ( precvalcred + valcredit)) TO THISFORM.ntotsoldval FOR nume_val=lcValuta + ENDIF + ELSE + SUM ((preccred + credit) - (precdeb + debit)) TO THISFORM.ntotsold + IF TYPE('actcv.precvalcred')<>'U' AND TYPE('actcv.precvaldeb')<>'U' + SUM ((precvalcred + valcredit) - (precvaldeb + valdebit)) TO THISFORM.ntotsoldval FOR nume_val=lcValuta + ENDIF + ENDIF + + THISFORM.text1.REFRESH + THISFORM.text2.REFRESH + THISFORM.text3.REFRESH + THISFORM.text4.REFRESH + THISFORM.text5.REFRESH + THISFORM.text6.REFRESH + + Thisform._grdfooter1.calcTotal() + + IF RECCOUNT('actcv')>0 + SELECT actcv + GO lnPoz + ENDIF + + ENDPROC + + PROCEDURE butapend + Local lnOptiune, llMf + If m.glLunaInchisa + Return + Endif + llMF = !EMPTY(NVL(actcv.id_mf,0)) && are definite rate cheltuieli/venituri in avans + + If Thisform.grid1.ReadOnly + lcMenu = '\Alegeti partenerul ] + lcCont + [??lAdaugCorespondente=>1??cCont=>] + lcCont)) + IF !EMPTY(locauta.nume) + lnid_part=locauta.id_part + lcnume=ALLTRIM(locauta.nume) + ELSE + RETURN + ENDIF + + lcacont = [] + IF USED('crsacont') + USE IN crsacont + ENDIF + *!* lcSql=[select count(*) as aconturi from vplcont_analitic ]+; + *!* [where cont=']+ALLTRIM(THISFORM.CONT)+[' and an=]+ALLTRIM(STR(gnAn)) + lcSql=[select count(*) as aconturi from vplcont_analitic ]+; + [where cont=']+lcCont+[' and an=]+ALLTRIM(STR(gnAn)) + lnSucces = goExecutor.oExecute(lcSql,"crsacont") + IF lnSucces < 0 + lcTextEroare = goExecutor.cEroare + aMESSAGEBOX(lcTextEroare,0+48,"Eroare") + ENDIF + IF lnSucces > 0 AND crsacont.aconturi>0 + STORE "" TO locauta + *!* pcselect = ['select acont,explicatie FROM vplcont_analitic '+]+; + *!* ["where cont=']+ALLTRIM(THISFORM.CONT)+[' and an=]+ALLTRIM(STR(gnAn))+["] + pcselect = ['select acont,explicatie FROM vplcont_analitic '+]+; + ["where cont=']+lcCont+[' and an=]+ALLTRIM(STR(gnAn))+["] + pcfiltru = [1=2] + pcschema = [''] + pcorder = [acont] + pccoloane = [acont] + pcTitlu = [Alegeti contul analitic] + pcTitluColoane = [Acont,Explicatie] + locauta = cauta_alfa(pcselect,pcfiltru,pcschema,pcorder,pccoloane,pcTitlu,pcTitluColoane) + IF !EMPTY(locauta.acont) + lcacont=ALLTRIM(locauta.acont) + ELSE + IF gnButon=2 + RETURN + ELSE + lcacont="" + ENDIF + ENDIF + ENDIF + IF USED('crsacont') + USE IN crsacont + ENDIF + IF lnSucces > 0 + loValuta = caut_valuta() + lnIdValuta = IIF(!EMPTY(loValuta.id_valuta), loValuta.id_valuta, 0) + lcNumeValuta = IIF(!EMPTY(loValuta.nume_val), loValuta.nume_val, "") + *!* 17.10.2006 + *!* marius.mutu + IF EMPTY(loValuta.nume_val) OR EMPTY(loValuta.id_valuta) + loCauta = GetMonedaNationala() + lnIdValuta = loCauta.id_valuta + lcNumeValuta = ALLTRIM(locauta.nume_val) + ENDIF + ENDIF + IF lnSucces > 0 + loFdoc = caut_fdoc() + lnIdFdoc = IIF(!EMPTY(loFdoc.id_fdoc), loFdoc.id_fdoc, 0) + lcfdoc = IIF(!EMPTY(loFdoc.fel_document), loFdoc.fel_document, "") + ENDIF + IF lnSucces > 0 + loResp = caut_responsabil() + lnIdResp = IIF(!EMPTY(loResp.id_responsabil), loResp.id_responsabil, 0) + lcResp = IIF(!EMPTY(loResp.nume), loResp.nume, "") + ENDIF + + SELECT actcv + + APPEND BLANK + REPLACE CONT WITH lcCont && ALLTRIM(THISFORM.CONT) + REPLACE acont WITH lcacont + REPLACE id_ireg_part WITH 0 + REPLACE id_part WITH lnid_part + REPLACE nume WITH lcnume + REPLACE id_fdoc WITH 0 + REPLACE fdoc WITH lcfdoc + REPLACE id_fdoc WITH lnIdFdoc + REPLACE id_valuta WITH lnIdValuta + REPLACE id_responsabil WITH lnIdResp + REPLACE nresp WITH lcResp + REPLACE nume_val WITH lcNumeValuta + REPLACE id_responsabil WITH 0 + REPLACE id_lucrare WITH 0 + REPLACE id_fact WITH 0 + REPLACE id_act WITH 0 + REPLACE id_set WITH 0 + REPLACE id_venchelt WITH 0 + REPLACE cod WITH 0 + REPLACE id_sucursala WITH lnIdSucursala, sucursala WITH lcSucursala + + THISFORM.lmodificata=.T. + THISFORM.lvaluta=.F. + THISFORM.grid1.cfdoc.SETFOCUS() + *!* Else + *!* Thisform.grid1.SetFocus() + *!* Endif + + ENDPROC + + PROCEDURE do_cauta + *!* 16.08.2013 + *!* marius.mutu + *!* Rate cheltuieli/venituri in avans 471, 472 + + *!* 09.10.2013 + *!* marius.mutu + *!* calcul penalitati si pentru sold < 0, in functie de optiunea aleasa + *!* #3832 + + Private pcCont + Local lcFiltru, ldDataRefPen, lnProcPen, lnSemnSold + Local lcFor, llPenNegativ, llPenalitati, llRateAvans, lnPenNegativ + *:Global filtrutext + + lcFiltru = "" + pcCont = This.Cont + + + *!* *scadente + If This.Ck_scadente.Value = 1 + lcFiltru = lcFiltru + This.Ck_scadente.filtru + Endif + + *!* neachitate + If This.Ck_neachitate.Value = 1 + lcFiltru = lcFiltru + This.Ck_neachitate.filtru + Endif + + IF !EMPTY(this.cb_scadente.filtru) + lcFiltru = lcFiltru + this.cb_scadente.filtru + ENDIF + + If Pemstatus(Thisform,"filtru_pretty",5) + Else + Thisform.AddProperty("filtru_pretty","") + Endif + If Len(Thisform.filtru_pretty)>0 + filtrutext=Thisform.filtru_pretty + If At("AND",filtrutext)=1 + filtrutext=Right(filtrutext,Len(filtrutext)-4) + Endif + + lcFiltru=lcFiltru+" and ("+Alltrim(filtrutext)+")" + Endif + + If !Empty(lcFiltru) + lcFiltru = [i.cont in ('] + Alltrim(Strtran(Thisform.Cont, [,], [','])) + [') and i.luna = ] + Alltrim(Str(gnLuna)) + [ and i.an = ] + Alltrim(Str(gnAn)) + lcFiltru + Else + lcFiltru = [i.cont in ('] + Alltrim(Strtran(Thisform.Cont, [,], [','])) + [') and i.luna = ] + Alltrim(Str(gnLuna)) + [ and i.an = ] + Alltrim(Str(gnAn)) + Endif + + If (This.filtru_pretty#"none") + Thisform.MousePointer= 11 + Thisform.LockScreen=.T. + Thisform.actualizeaza_grid1(lcFiltru) + Thisform.LockScreen=.F. + Thisform.MousePointer= 0 + + *** calcul penalitati + lnSemnSold = Iif(Thisform.lActiv,1,-1) + lnProcPen = This.nProcPen + ldDataRefPen = This.dDataRef + lnPenNegativ = This.nPenNegativ + + llPenalitati = (This.Ck_scadente.Value = 1 And m.lnProcPen <> 0) + llPenNegativ = (This.Ck_scadente.Value = 1 And m.lnPenNegativ = 1) && calcul penalitati pentru sold negativ + + With This.grid1 + .cdatarefpen.Visible = llPenalitati + .cprocpen.Visible = llPenalitati + .cnrzilepen.Visible = llPenalitati + .cvalpen.Visible = llPenalitati + Endwith + If m.llPenalitati + If m.llPenNegativ + lcFor = [lnSemnSold *((precdeb+debit)-(preccred+credit)) <> 0] + Else + lcFor = [lnSemnSold *((precdeb+debit)-(preccred+credit)) > 0] + Endif + Select actcv + + Replace All datarefpen With m.ldDataRefPen, procpen With m.lnProcPen, nrzilepen With Iif(m.ldDataRefPen > datascad, m.ldDataRefPen - datascad, 0) ; + FOR &lcFor + + Replace All valpen With Round(procpen / 100 * lnSemnSold *((precdeb+debit)-(preccred+credit)) * nrzilepen, m.gnPA) For &lcFor + Go Top + Endif + *** calcul penalitati ^ + + llRateAvans = Inlist(LEFT(This.Cont,3), '471', '472', '475') + With This.grid1 + .cPrimaRata.Visible = m.llRateAvans + .cUltimaRata.Visible = m.llRateAvans + .cRata.Visible = m.llRateAvans + Endwith + + *!* IF m.llRateAvans + *!* REPLACE ALL rata WITH IIF(BETWEEN(m.gnAn*12 + m.gnLuna, YEAR(dprima_rata) * 12 + MONTH(dprima_rata), YEAR(dultima_rata) * 12 + MONTH(dultima_rata)-1),rata, ; + *!* IIF( m.gnAn*12 + m.gnLuna = YEAR(dultima_rata) * 12 + MONTH(dultima_rata), ultima_rata, 0)) IN actcv + *!* ENDIF + + + If Reccount('actcv')=0 + aMessagebox("Cautarea nu a intors rezultate!",64,"Info cautare") + Endif + + + + ************************************** + Endif && (This.filtru_pretty#"none") + Thisform.but_start_criterii1.SetFocus + + + ENDPROC + + PROCEDURE do_excel + Local lcAlias, lcFiltru, lcColumnList, lcHeaderList, lcSelect, lcOutput, lcFrom, lcWhere, lcOrder + lcAlias = this.grid1.RecordSource + lcFiltru = FILTER(lcAlias) + IF EMPTY(lcFiltru) + lcFiltru = '.T.' + ENDIF + + exista_excel=.T. + lcColumnList = '' + lcHeaderList = '' + lcSelect = '' + llSelect = .T. + lcType = 'CURSOR' + lcFrom = lcAlias + lcWhere = lcFiltru + lcOrder = 'dataact,nract' + lcOutput = 'crsIregPart' + + get_schema_grid(this.grid1,@lcColumnList, @lcHeaderList, @lcSelect, llSelect, lcType, lcFrom, lcWhere, lcOrder, lcOutput) + &lcSelect + IF USED(lcOutput) + DO export_xls WITH lcOutput IN oproceduri_comune.prg + USE IN (lcOutput) + ENDIF + ENDPROC + + PROCEDURE do_listare + LOCAL llActiv, lcRaport, x, lcTitluXLS, lcNume, lcNrAct, lnIdFact + LOCAL lcCont, lcFiltru, lcTitlu, lctext, lnIdPart, llActiv + LOCAL lnValoare + PRIVATE pcTitlu, t1, t2, t3, t4 + PRIVATE pcSemnaturi + pcTitlu = "" + pcSemnaturi = "" + lcTitluXLS = "" + + lcRaport = "" + lcTitlu = "" + + llActiv = THIS.lActiv + + t1 = THISFORM.grid1.cTotDeb.header1.CAPTION + t2 = THISFORM.grid1.cTotCred.header1.CAPTION + + t3 = THISFORM.grid1.cTotDebVal.header1.CAPTION + t4 = THISFORM.grid1.cTotCredVal.header1.CAPTION + lcNume = IIF(!EMPTY(actcv.nume), ALLTRIM(actcv.nume), '') + lcNrAct = IIF(!EMPTY(actcv.nract), ALLTRIM(STR(actcv.nract)), '') + SET STEP ON + *!* MESSAGEBOX('EACTIV = ' + TRANSFORM(EACTIV) + CHR(13) + t1 + " " + t2 + CHR(13) + t3 + " " + t4 + CHR(13) + iif(eActiv,t1,t2) + " " + iif(eActiv,t3,t4)) + x = xmenu("Lista facturi simpla;" + ; + "Lista facturi pe parteneri sold cumulat - lei,valuta;" + ; + "Lista facturi pe parteneri sold cumulat - lei;" + ; + "Lista facturi pe parteneri - lei;" + ; + "Lista facturi pe parteneri - valuta;" + ; + "Lista solduri facturi pe parteneri;" + ; + "Lista facturi cu sold, defalcata pe luni (xlsx);" + ; + "Centralizator facturi emise in luna;" + ; + "\-;" + ; + "Calcul penalitati;" + ; + "\-;" + ; + "Facturi \ '426', "\", "") + "Drepturi de personal neridicate") + + + IF EMPTY(x) + RETURN + ENDIF + PRIVATE pcSubtitlu + IF THIS.filtru_traducere() # "" + lctext = " si " + THIS.filtru_traducere() + ELSE + lctext = "" + ENDIF + + pcSubtitlu = THIS.filtru_pretty_ro + lctext + + lcFiltru = FILTER('actcv') + IF EMPTY(m.lcFiltru) + lcFiltru = '.T.' + ENDIF + + DO CASE + CASE x = 1 + lcTitlu = "" && Lista facturi simpla + lcRaport = "ireg_parteneri_rpt1" + SELECT * ; + FROM actcv WITH (BUFFERING = .T.) ; + WHERE &lcFiltru ; + ORDER BY dataact, nract ; + INTO CURSOR curent_cursor NOFILTER + + lcTitluXLS = 'Lista facturi simpla' + + CASE x = 2 + lcTitlu = "pe parteneri" && Lista facturi pe parteneri - lei,valuta + lcRaport = "ireg_parteneri_rpt2" + SELECT * ; + FROM actcv WITH (BUFFERING = .T.) ; + WHERE &lcFiltru ; + ORDER BY nume, dataact, nract ; + INTO CURSOR curent_cursor NOFILTER + + lcTitluXLS = 'Lista facturi pe parteneri - lei' + + CASE x = 3 + lcTitlu = "pe parteneri" && Lista facturi pe parteneri - lei sold cumulat + lcRaport = "ireg_parteneri_rpt2lei_cum" + SELECT * ; + FROM actcv WITH (BUFFERING = .T.) ; + WHERE &lcFiltru ; + ORDER BY nume, dataact, nract ; + INTO CURSOR curent_cursor NOFILTER + lcTitluXLS = 'Lista facturi pe parteneri - lei' + + CASE x = 4 + lcTitlu = "pe parteneri" && Lista facturi pe parteneri - lei + lcRaport = "ireg_parteneri_rpt2lei" + SELECT * ; + FROM actcv WITH (BUFFERING = .T.) ; + WHERE &lcFiltru ; + ORDER BY nume, dataact, nract ; + INTO CURSOR curent_cursor NOFILTER + lcTitluXLS = 'Lista facturi pe parteneri - lei' + + CASE x = 5 + lcTitlu = "pe parteneri - valuta" && Lista facturi pe parteneri - valuta + lcRaport = "ireg_parteneri_rpt3" + SELECT * ; + FROM actcv WITH (BUFFERING = .T.) ; + WHERE precvaldeb <> 0 OR precvalcred <> 0 OR valdebit <> 0 OR valcredit <> 0 AND &lcFiltru ; + ORDER BY nume, dataact, nract ; + INTO CURSOR curent_cursor NOFILTER + + lcTitluXLS = 'Lista facturi pe parteneri - valuta' + + CASE x = 6 + lcTitlu = "solduri pe parteneri" && Lista solduri facturi pe parteneri + lcRaport = "ireg_parteneri_rpt5" + SELECT nume, nume_val, SUM(precdeb) AS precdeb, SUM(preccred) AS preccred, SUM(precvaldeb) AS precvaldeb, SUM(precvalcred) AS precvalcred, ; + SUM(debit) AS debit, SUM(credit) AS credit, SUM(valdebit) AS valdebit, SUM(valcredit) AS valcredit ; + FROM actcv WITH (BUFFERING = .T.) ; + WHERE &lcFiltru ; + GROUP BY nume, nume_val ; + ORDER BY nume, nume_val ; + INTO CURSOR curent_cursor NOFILTER + + lcTitluXLS = 'Lista solduri facturi pe parteneri' + + CASE x = 7 + lcTitlu = "sold pe luni" && Lista facturi cu sold defalcat pe luni + lcRaport = '' + lcTitluXLS = 'Lista facturi cu sold defalcata pe luni' + + select cont, ; + acont, ; + nume as denumire, ; + nrord as lucrare, ; + contract, ; + nract, ; + dataact, ; + nvl(datascad, dataact + 30) as datascad, ; + nvl(datascad, dataact + 30) - DATE() as zile, ; + IIF(m.llActiv, 1, -1) * (precdeb + debit - preccred - credit) as sold, ; + explicatia, ; + explicatia4, ; + explicatia5, ; + YEAR(nvl(datascad, dataact + 30)) * 12 + MONTH(nvl(datascad, dataact + 30)) as nrluniscad, ; + YEAR(DATE()) * 12 + MONTH(DATE()) as nrluni ; + FROM actcv WITH (BUFFERING = .T.) ; + WHERE IIF(llActiv, 1, -1) * ((precdeb + debit) - (preccred + credit)) # 0 AND &lcFiltru ; + INTO CURSOR cIregTemp + + select cont, acont, denumire, nract, dataact, datascad, DATE() as dataref, zile, sold, ; + CAST(IIF(nrluniscad < nrluni, sold, 0.00) as N(20,2)) as sold_restant, ; + CAST(IIF(nrluniscad = nrluni, sold, 0.00) as N(20,2)) as sold_luna_curenta, ; + CAST(IIF(nrluniscad = nrluni + 1, sold, 0.00) as N(20,2)) as sold_luna1, ; + CAST(IIF(nrluniscad = nrluni + 2, sold, 0.00) as N(20,2)) as sold_luna2, ; + CAST(IIF(nrluniscad = nrluni + 3, sold, 0.00) as N(20,2)) as sold_luna3, ; + CAST(IIF(nrluniscad = nrluni + 4, sold, 0.00) as N(20,2)) as sold_luna4, ; + CAST(IIF(nrluniscad >= nrluni + 5, sold, 0.00) as N(20,2)) as sold_luna5plus, ; + lucrare, contract, explicatia, explicatia4, explicatia5 ; + from cIregTemp ; + order by cont, acont, denumire ; + INTO CURSOR curent_cursor + + USE IN (SELECT('cIregTemp')) + + CASE x = 8 + lcTitlu = "centralizator" && Centralizator facturi emise in luna + lcRaport = "ireg_parteneri_rpt6" + SELECT nract, dataact, serie_act, nume, nume_val, SUM(precdeb) AS precdeb, SUM(preccred) AS preccred, SUM(precvaldeb) AS precvaldeb, SUM(precvalcred) AS precvalcred, ; + SUM(debit) AS debit, SUM(credit) AS credit, SUM(valdebit) AS valdebit, SUM(valcredit) AS valcredit ; + FROM actcv WITH (BUFFERING = .T.) ; + WHERE YEAR(DATAIREG) * 12 + MONTH(DATAIREG) = gnAn * 12 + gnLuna AND &lcFiltru ; + GROUP BY serie_act, nract, dataact, nume, nume_val ; + ORDER BY dataact, nume, serie_act, nract, nume_val ; + INTO CURSOR curent_cursor NOFILTER + + lcTitluXLS = 'Centralizator facturi emise in luna' + + CASE x = 10 + IF !THISFORM.grid1.cvalpen.VISIBLE + aMESSAGEBOX('Completati data de referinta si procentul de penalitati!', 0 + 48, _SCREEN.CAPTION) + RETURN + ENDIF + + lcTitlu = "Calcul penalitati" && penalitati - facturile cu sold > 0 + lcRaport = "ireg_parteneri_penalitati_evaluare" + SELECT nract, dataact, datascad, nume, precdeb, preccred, debit, credit, datarefpen, nrzilepen, procpen, valpen ; + FROM actcv WITH (BUFFERING = .T.) ; + WHERE IIF(llActiv, 1, -1) * ((precdeb + debit) - (preccred + credit)) # 0 AND &lcFiltru ; + ORDER BY nume, dataact, nract ; + INTO CURSOR curent_cursor NOFILTER + + lcTitluXLS = 'Calcul penalitati' + CASE x = 12 + * Raport TVA defalcat pentru toate facturile furnizorului curent + lcCont = ALLTRIM(NVL(actcv.CONT, '')) + lnIdPart = actcv.id_part + llActiv = Thisform.lActiv + IF !EMPTY(m.lcCont) AND !EMPTY(m.lnIdPart) + DO TVADefalcatFacturi IN orapoarte.prg WITH m.lcCont, m.llActiv, m.lnIdPart + ELSE + aMESSAGEBOX('Nu ati selectat nici o inregistrare!', 0 + 48, _SCREEN.CAPTION) + ENDIF + RETURN + + CASE x = 13 + * Raport TVA defalcat pentru factura curenta cu alegerea sumei de defalcat + lcCont = ALLTRIM(NVL(actcv.CONT, '')) + lnIdPart = actcv.id_part + lnIdFact = actcv.id_fact + llActiv = Thisform.lActiv + lnValoare = ROUND(IIF(m.llActiv, (actcv.precdeb + actcv.debit) - (actcv.preccred + actcv.credit), ; + (actcv.preccred + actcv.credit) - (actcv.precdeb + actcv.debit)), m.gnZ) + IF !EMPTY(m.lcCont) AND !EMPTY(m.lnIdPart) AND !EMPTY(m.lnIdFact) + lnValoare = aINPUTBOX('Suma', 'Valoare', m.lnValoare) + IF EMPTY(m.lnValoare) + RETURN + ENDIF + DO TVADefalcatFacturi IN orapoarte.prg WITH m.lcCont, m.llActiv, m.lnIdPart, m.lnIdFact, m.lnValoare + ELSE + aMESSAGEBOX('Nu ati selectat nici o inregistrare!', 0 + 48, _SCREEN.CAPTION) + ENDIF + RETURN + + CASE x = 15 + * Vizualizare note contabile pentru factura curenta + thisform.NOTACONTAB() + RETURN + CASE x = 16 + * Vizualizare incasari/plati pentru factura curenta + thisform.incaspl() + RETURN + CASE x = 17 + * Vizualizare lista personal drepturi neridicate + thisform.salariati() + RETURN + OTHERWISE + RETURN + ENDCASE + + *!* If Empty(lcRaport) Or !Used('curent_cursor') + *!* Return + *!* Endif + + *!* If Reccount('curent_cursor') = 0 + *!* AMESSAGEBOX('Raportul nu contine rezultate',0+48,"Raport") + *!* Else + param_listari(lcRaport, , @pcSemnaturi) + + pcTitlu = THISFORM.lb_titlu_alb_b121.CAPTION + " " + lcTitlu + *!* titlu = ceretitlu_rap('Titlul Raportului', lcTitlu) + + *!* pcDataOra = get_ora(2) + + *!* Thisform.AlwaysOnTop=.F. + *!* Select curent_cursor + *!* Report Format &lcRaport To Printer Prompt Preview + *!* Thisform.AlwaysOnTop=.T. + *!* Endif + THISFORM.ALWAYSONTOP = .F. + IF !EMPTY(m.lcRaport) + goExport.export2frx([curent_cursor], lcRaport, .T., , , , , .T.) + ENDIF + + IF EMPTY(m.lcRaport) OR aMESSAGEBOX('Doriti sa exportati datele in format xls?', 4 + 32, _SCREEN.CAPTION) = 6 + goExport.export2xlsx([curent_cursor], m.lcTitluXLS) + ENDIF + + THISFORM.ALWAYSONTOP = .T. + USE IN (SELECT('curent_cursor')) + RELEASE pcTitlu + + ENDPROC + + PROCEDURE do_modifica + Parameters tlIesire + + LOCAL llInsert, lcIdSucursala + lcIdSucursala = '' + llInsert = .F. + + Local lcFunctie,lcSql,lcMesaj,lcActiune,lcTitlu,llIesire + PRIVATE loRec + llIesire=tlIesire + If Empty(llIesire) + llIesire=.F. + Endif + Select actcv + Scatter Name loRec + nrlin=Recno() + lnid_part=loRec.id_part + + If loRec.id_ireg_part=0 + llInsert = .T. + lcMesaj=[Doriti sa adaugati aceasta inregistrare?] + lcActiune=[adaugata] + lcTitlu=[Adaugare] + ELSE + lcMesaj=[Doriti sa modificati aceasta inregistrare?] + lcActiune=[modificata] + lcTitlu=[Modificare] + Endif + + Thisform.grid1.SetAll("DynamicFontBold","IIF(RECNO()=nrlin,.T.,.F.)","Column") + Thisform.grid1.Refresh() + + If aMessagebox(lcMesaj,4+32+256,lcTitlu)==6 + Thisform.grid1.SetAll("DynamicFontBold",".F.","Column") + Thisform.grid1.Refresh() + + If Empty(loRec.dataact) And !Isnull(loRec.fdoc) + aMessagebox("Nu ati introdus data documentului!",0+48,"Atentie") + Thisform.leroare=.T. + Thisform.grid1.cDataAct.SetFocus() + Return + Endif + + *!* If Empty(loRec.datascad) And !Isnull(loRec.fdoc) + *!* Messagebox("Nu ati introdus data scadenta!",0+48,"Atentie") + *!* Thisform.leroare=.T. + *!* Thisform.grid1.column2.SetFocus() + *!* Return + *!* Endif + + If Empty(loRec.nract) And !Isnull(loRec.fdoc) + aMessagebox("Nu ati introdus numarul documentului!",0+48,"Atentie") + Thisform.leroare=.T. + Thisform.grid1.cNrAct.SetFocus() + Return + Endif + + If !Thisform.grid1.cNresp.Visible + AddProperty(loRec,'id_responsabil',Null) + Endif + + If loRec.id_valuta=0 And (loRec.valcredit>0 Or loRec.valdebit>0) + aMessagebox("Nu ati introdus numele valutei!",0+48,"Atentie") + Thisform.lvaluta=.T. + Thisform.leroare=.T. + Thisform.grid1.cNume_val.SetFocus() + Return + Endif + + If loRec.id_valuta>0 And loRec.Curs=0 + aMessagebox("Nu ati introdus cursul de schimb!",0+48,"Atentie") + Thisform.leroare=.T. + Thisform.grid1.cCurs.SetFocus() + Return + ENDIF + + + lnidjtva=VAL(TRANSFORM(loRec.id_jtva_coloana)) + lnproctva=lorec.proc_tva + lcIdSucursala = IIF(NVL(loRec.id_sucursala,0) = 0, 'NULL', ALLTRIM(STR(lorec.id_sucursala))) + + lcSql1=[begin pack_inregistrari.iregpartinsproc(]+NVL(Alltrim(Str(loRec.id_ireg_part)),'0')+[,]+Alltrim(Str(gnAn))+[,]+Alltrim(Str(gnLuna))+[,]+; + ALLTRIM(Str(loRec.id_part))+[,']+Alltrim(loRec.Cont)+[',']+Nvl(Alltrim(loRec.acont),'')+[',]+; + ALLTRIM(Str(loRec.Debit,21,4))+[,]+Alltrim(Str(loRec.credit,21,4))+[,]+Alltrim(Str(loRec.valdebit,21,4))+[,] + lcSql2=Alltrim(Str(loRec.valcredit,21,4))+[,]+Alltrim(Str(loRec.Curs,15,gnPCurs2))+[,]+Nvl(Alltrim(Str(loRec.id_fdoc)),'0')+[,]+; + [to_date(']+Nvl(Alltrim(Dtos(loRec.dataact)),'')+[','YYYY-MM-DD'),to_date(']+Nvl(Alltrim(Dtos(loRec.dataireg)),'')+[',]+; + ['YYYY-MM-DD'),to_date(']+Nvl(Alltrim(Dtos(loRec.datascad)),'')+[','YYYY-MM-DD'),]+Nvl(Alltrim(Str(loRec.nract)),'')+[,]+; + [']+NVL(ALLTRIM(loRec.serie_act),[])+[',] + lcSql3=Nvl(Alltrim(Str(loRec.id_responsabil)),'0')+[,]+Alltrim(Str(loRec.precdeb,21,4))+[,]+Alltrim(Str(loRec.preccred,21,4))+[,]+; + ALLTRIM(Str(loRec.precvaldeb,21,4))+[,]+ALLTRIM(Str(loRec.precvalcred,21,4))+[,]+NVL(Alltrim(Str(loRec.cod)),'0')+[,']+Nvl(Alltrim(loRec.explicatia),'')+[',] + lcSql4=Nvl(Alltrim(Str(loRec.id_act)),'0')+[,]+NVL(Alltrim(Str(loRec.id_lucrare)),'0')+[,]+Alltrim(Str(loRec.id_valuta))+[,]+; + NVL(ALLTRIM(Str(loRec.id_fact)),'0')+[,]+NVL(Alltrim(Str(loRec.id_set)),'0')+[,']+Nvl(Alltrim(loRec.explicatia4),'')+[',']+; + NVL(Alltrim(loRec.explicatia5),'')+[',]+Nvl(Alltrim(Str(loRec.id_venchelt)),'0')+[,] + ALLTRIM(STR(lnidjtva))+[,]+ALLTRIM(STR(lorec.proc_tva,7,2))+[,] + lcIdSucursala + [); end;] + + lnSucces = goExecutor.oExecute(lcSql1+lcSql2+lcSql3+lcSql4) + If lnSucces < 0 + lcTextEroare = goExecutor.cEroare + aMessagebox(lcTextEroare,0+48,"Eroare") + Else + aMessagebox("Inregistrarea a fost "+lcActiune+"!",0+64,lcTitlu) + ENDIF + + Select actcv + IF !EMPTY(NVL(loRec.id_ireg_part,0)) + LOCATE FOR id_ireg_part = loRec.id_ireg_part + ELSE + Locate For NVL(id_part,0) = NVL(loRec.id_part,0) And NVL(acont,'') = NVL(loRec.acont,'') And NVL(id_fdoc,0) = NVL(loRec.id_fdoc,0) And NVL(id_valuta,0) = NVL(loRec.id_valuta,0) + ENDIF + If !Found() + Go Top + Endif + pnRec=Recno() + This.grID1.Refresh() + *!* IF llInsert + *!* REPLACE id_ireg_part WITH loRec.id_ireg_part, id_fact WITH loRec.id_fact + *!* ENDIF + Else + Thisform.grid1.SetAll("DynamicFontBold",".F.","Column") + Thisform.grid1.Refresh() + Endif + + If !llIesire + Thisform.MousePointer= 11 + Thisform.LockScreen=.T. + *Thisform.actualizeaza_grid1() + Thisform.LockScreen=.F. + Thisform.MousePointer= 0 + Endif + Thisform.lmodificata=.F. + Thisform.lvaluta=.F. + Thisform.leroare=.F. + ENDPROC + + PROCEDURE do_reface + LOCAL lcCont,x + lcConturi = Alltrim(Thisform.ccont) + lcSursa = [IREG_PARTENERI] + lnLuna = gnLuna + lnAn = gnAn + + IF THIS.lBlocatRefacere + AMESSAGEBOX('Nu se pot da refaceri! (Luna initiala, inchisa sau blocata)',0+48,'Refacere') + RETURN + ENDIF + + x= xmenu('Refacere \ 0 + lcCont = GETWORDNUM(lcConturi, i, [,]) + lnSucces = refacere(lcSursa,lcLunar,lcCont,lnLuna,lnAn) && IN orefaceri.prg + ENDIF + ENDFOR + IF lnSucces > 0 + Thisform.actualizeaza_grid1() + + do inainte WITH "IREG_PARTENERI",lcCont in oinainte_de.prg + + this.LockScreen = .f. + this.griD1.SetFocus + aMESSAGEBOX('Refacerea s-a terminat!',0+64,"Info refacere") + ENDIF + + ENDPROC + + PROCEDURE do_renunt + gnButon = 2 + pnButon = 2 + Buton = 2 + pnIesire = 2 + If This.lmodificata + This.do_modifica(.T.) + Endif + If !This.leroare + This.Release + Endif + + ENDPROC + + PROCEDURE do_reset + With Thisform + For i=1 To .Objects.Count + If Upper(.Objects(i).BaseClass)='CHECKBOX' + .Objects(i).Value=0 + Endif + Endfor + ENDWITH + + + IF NOT PEMSTATUS(thisform,"filtru_pretty",5) + thisform.AddProperty("filtru_pretty") + ENDIF + + IF NOT PEMSTATUS(thisform,"filtru_pretty_ro",5) + thisform.AddProperty("filtru_pretty_ro") + ENDIF + + thisform.filtru_pretty="" + thisform.filtru_pretty_ro="" + thisform.but_start_criterii1.ToolTipText=thisform.filtru_pretty_ro + Thisform.but_start_criterii1.SetFocus + Thisform.Refresh + thisform.but_start_criterii1.pornit="nu" + thisform.do_cauta() + + + + ENDPROC + + PROCEDURE do_sterge + Select actcv + Scatter Name loRec + nrlin=Recno() + + Thisform.grid1.SetAll("DynamicFontBold","IIF(RECNO()=nrlin,.T.,.F.)","Column") + Thisform.grid1.Refresh() + + IF loRec.id_ireg_part = 0 OR ISNULL(loRec.id_ireg_part) + aMESSAGEBOX("Aceasta inregistrare nu este salvata pe server. Repetati cautarea!",0+48,'Stergere') + RETURN + ENDIF + + If aMessagebox("Doriti sa stergeti aceasta inregistrare?",4+32+256,"Confirmare stergere")==6 + Thisform.grid1.SetAll("DynamicFontBold",".F.","Column") + Thisform.grid1.Refresh() + + lcSql=[begin PACK_INREGISTRARI.iregpartdelproc(] + Alltrim(Str(loRec.id_ireg_part))+[); end;] + lnSucces = goExecutor.oExecute(lcSql) + If lnSucces < 0 + lcTextEroare = goExecutor.cEroare + aMessagebox(lcTextEroare,0+48,"Eroare") + Else + aMessagebox("Inregistrarea a fost stearsa!",0+64,"Info stergere") + Endif + + Thisform.MousePointer= 11 + Thisform.LockScreen=.T. + Thisform.actualizeaza_grid1() + Thisform.LockScreen=.F. + Thisform.MousePointer= 0 + + Select actcv + If Reccount()>0 + nrlin=Max(nrlin-1,1) + Go nrlin + Endif + Thisform.grid1.SetFocus() + Else + Thisform.grid1.SetAll("DynamicFontBold",".F.","Column") + Thisform.grid1.Refresh() + Endif + + ENDPROC + + PROCEDURE do_termin + gnButon = 1 + pnButon = 1 + Buton = 1 + pnIesire = 1 + IF THIS.lmodificata + THIS.do_modifica(.T.) + ENDIF + IF !THIS.leroare + THIS.RELEASE + ENDIF + THIS.BUT_STArt_criterii1.RESETstatus() + DODEFAULT() + + ENDPROC + + PROCEDURE do_venchelt_avans + *!* 14.04.2020 + *!* marius.mutu + *!* s-a salvat cont, acont 6[7]xx in imob_nom_mf in loc de imob_lista_mf + *!* s-a completat cont, acont 47x in loc de 6[7]xx in imob_lista_mf + + Local lcBazatva, lcBunCapital, lcCursor, lcId_cotatva, lcProrataTVA, lcSel, lcSql, lcTva, llSucces, lnFiscala, ldDataOperatie + Local lnSucces, loAct, lomodifica, lnTip + Local lcSqlOperatii, lcSqlRate, loPrec + Local lcExplicatia, lcExplicatia4, lcExplicatia5, lnIdMonedaNationala, loCauta + + + PRIVATE pcLPerFin, pcLPerIn, pcPerFin, pcPerIn, pnIdOperatie + Private pcCond, pcExplicMf, pcExplicOp, pcacont, pccod, pccont, pcContD, pcAcontD, pcdenumire, pdDataF, pdDataI + Private pdDataOperatie, pddataact, pddatapif, pnAmortMaxDeductibil, pnButon, pnFiscala, pnIdFact + Private pnIdMF, pnamort_prec, pncoeficient, pndns, pnid_gestiune, pnid_lucrare + Private pnid_responsabil, pnid_sectie, pnid_sucursala, pnid_tip_amortizare, pnid_tip_imobilizare + Private pnnr_inventar, pnnract, pnnrpif, pnprocent, pnuzura, pnvaloare, poMf, poMfOriginal + Private pdDataRata, poOper, poRata, pnValoareReziduala + pnValoareReziduala = 0 + + Select actcv + Scatter Name loAct + + pnButon = 1 + Store '' To lomodifica + ********************************************* + *** Introducere in imobilizari + ********************************************* + pnid_tip_imobilizare = Iif(Left(This.Cont, 3) = '471', 4, Iif(Left(This.Cont, 3) = '472', 5, 6)) && cheltuieli in avans (471), venituri in avans (472), subventii (475) + pnIdFact = loAct.id_fact + pnIdMF = Nvl(loAct.id_mf, 0) + ldDataOperatie = loAct.data_operatie + If !Empty(m.pnIdMF) And (m.gnAn * 12 + m.gnLuna < Year(m.ldDataOperatie) * 12 + Month(m.ldDataOperatie)) + AMESSAGEBOX('Puteti modifica rata doar incepand cu luna ' + Padl(Month(m.ldDataOperatie), 2, '0') + '/' + Alltrim(Str(Year(m.ldDataOperatie))), 0 + 64, _Screen.Caption) + Return + Endif + + loCauta = GetMonedaNationala() + lnIdMonedaNationala = m.loCauta.id_valuta + + If Empty(Nvl(m.pnIdMF, 0)) + pnnract = loAct.nract + pddataact = loAct.dataact + lcExplicatia = Alltrim(Nvl(loAct.explicatia, '')) + lcExplicatia4 = Alltrim(Nvl(loAct.explicatia4, '')) + lcExplicatia5 = Alltrim(Nvl(loAct.explicatia5, '')) + DO CASE + CASE !(EMPTY(m.lcExplicatia) AND EMPTY(m.lcExplicatia4)) + pcdenumire = m.lcExplicatia + IIF(!EMPTY(m.lcExplicatia4), ' ' + m.lcExplicatia4, '') + CASE Left(This.Cont, 3) = '471' + pcDenumire = 'CHELTUIALA IN AVANS ' + SYS(2015) + CASE Left(This.Cont, 3) = '472' + pcDenumire = 'VENIT IN AVANS ' + SYS(2015) + CASE Left(This.Cont, 3) = '475' + pcDenumire = 'SUBVENTII ' + SYS(2015) + OTHERWISE + pcDenumire = SYS(2015) + ENDCASE + + + && Valoarea imobilizarii in valuta facturii + IF loAct.id_valuta = m.lnIdMonedaNationala + pnvaloare = Iif(Left(This.Cont, 3) = '471', loAct.precdeb + loAct.debit, loAct.preccred + loAct.credit) && sold + ELSE + pnvaloare = Iif(Left(This.Cont, 3) = '471', loAct.precvaldeb + loAct.valdebit, loAct.precvalcred + loAct.valcredit) && sold + ENDIF + pddatapif = loAct.dataact + pnnrpif = loAct.nract + pnnr_inventar = loAct.nract + pndns = 1 && o luna + pnuzura = 0 + pnamort_prec = 0 + pccod = '0' + pnid_tip_amortizare = 1 && Liniara + pnprocent = 0 + pncoeficient = 0 + pnid_gestiune = 0 + pnid_responsabil = loAct.id_responsabil + pnid_lucrare = loAct.id_lucrare + pnid_sectie = 0 + pnid_sucursala = m.gnIdSucursala + + * Cont imobilizare 47x + * se salveaza in imob_lista_mf + pccont = Alltrim(loAct.Cont) && 471/472/475x + pcacont = Alltrim(Nvl(loAct.acont, '')) + + * Cont venit/cheltuiala 6[7]xx = 47x + * se salveaza in imob_nom_mf + pcContD = Iif(This.Cont = '471', '6XX', '7XX') + pcAcontD = '' + + pdDataOperatie = Date(gnAn, gnLuna, 1) + pcExplicMf = m.lcExplicatia5 && Alltrim(Nvl(loAct.explicatia, '')) + pcExplicOp = 'Introducere' + lcBazatva = '0' + lcTva = '0' + lcId_cotatva = '0' + lcBunCapital = '0' + lcProrataTVA = '0' + pnAmortMaxDeductibil = 0 + pnValoareReziduala = 0 + + lcSql = [begin ] + ; + [pack_imob.adauga_mf(?@pnIdMf,'] + gcS + [',] + [?pdDataOperatie,] + Alltrim(Str(pnnract)) + [,to_date('] + Dtos(pddataact) + [','YYYYMMDD'),] + ; + ['] + Upper(Alltrim(pcdenumire)) + [',?pcExplicMf,] + Alltrim(Str(pnvaloare, 14, gnPa)) + [,] + Alltrim(Str(pnValoareReziduala, 14, gnPa)) + [,] + ; + [to_date('] + Dtos(pddatapif) + [','YYYYMMDD'),] + Alltrim(Str(pnnrpif)) + [,] + ; + ALLTRIM(Str(pnnr_inventar)) + [,'] + Alltrim(pccod) + [',] + ; + ALLTRIM(Str(pndns)) + [,] + Alltrim(Str(pnuzura)) + [,] + Alltrim(Str(pnamort_prec, 14, gnPa)) + [,] + ; + IIF(pnid_gestiune <> 0, Alltrim(Str(pnid_gestiune)), 'NULL') + [,] + ; + IIF(pnid_responsabil <> 0, Alltrim(Str(pnid_responsabil)), 'NULL') + [,] + ; + IIF(pnid_sectie <> 0, Alltrim(Str(pnid_sectie)), 'NULL') + [,] + ; + IIF(pnid_lucrare <> 0, Alltrim(Str(pnid_lucrare)), 'NULL') + [,] + ; + IIF(Nvl(pnid_sucursala, 0) = 0, 'NULL', Alltrim(Str(pnid_sucursala))) + [,] + ; + ALLTRIM(Str(pnid_tip_amortizare)) + [,] + Alltrim(Str(pnprocent, 6, 2)) + [,] + Iif(Type('pncoeficient') = 'N', Alltrim(Str(pncoeficient, 6, 2)), 'NULL') + [,] + ; + ALLTRIM(Str(pnid_tip_imobilizare)) + [,'] + Alltrim(pccont) + [',] + ; + ['] + Nvl(Alltrim(pcacont), []) + [',] + Alltrim(Str(gnIdUtil)) + [,] + Alltrim(Str(pnAmortMaxDeductibil, 14, gnPC)) + ; + [,0,1,?pcExplicOp,] + lcBunCapital + [,] + lcBazatva + [,] + lcTva + [,] + lcId_cotatva + [,] + lcProrataTVA + [); end;] + llSucces = goExecutor.oExecuta(m.lcSql) + + If m.llSucces And !Empty(Nvl(m.pnIdMF, 0)) + *!* lcSql = [update imob_nom_mf set id_fact = ?pnIdFact where sters = 0 and id_tip_imobilizare = ?pnid_tip_imobilizare and denumire = ?pcDenumire] + lcSql = [update imob_nom_mf set id_fact = ?pnIdFact, cont = ?pcContD, acont = ?pcAcontD where id_mf = ?pnIdMf] + llSucces = goExecutor.oExecuta(m.lcSql) + Endif && m.llSucces + Endif && m.llSucces AND Empty(Nvl(m.pnIdMF,0)) + + If Empty(Nvl(m.pnIdMF, 0)) + Return + Endif + ********************************************* + + ********************************************* + *** Selectie din imobilizari + ********************************************* + pdDataI = Date(m.gnAn, m.gnLuna, 1) + pdDataF = m.pdDataI + pnFiscala = 0 + pcCond = [a.id_mf = ] + Alltrim(Str(m.pnIdMF)) + *!* lcSel = [{call pack_imob.CALCUL_SITUATIE_LUNARA(?m.pdDataI, ?m.pdDataF, ?m.pcCond, ?m.pnFiscala, ?m.gnIdSucursala)}] + + *!* lcCursor = 'crslista' + + *!* llSucces = goExecutor.oExecuta(lcSel, lcCursor) + *!* If !m.llSucces + *!* Return + *!* Endif + lnTip = 0 && toate tipurile. filtrez oricum dupa id_mf + lcCursor = GET_CURSOR_AMORTIZARI(m.lnFiscala, m.gnAn, m.gnLuna, m.lnTip, m.pnIdMF) + If Empty(m.lcCursor) + RETURN + Endif + + SELECT (m.lcCursor) + Go Top + Scatter Name poMf + Scatter Name poMfOriginal + Use In (Select(m.lcCursor)) + + * Cont venit/cheltuiala din imob_nom_mf + lcSqlOperatii = [select cont, acont from imob_nom_mf where id_mf = ?pnIdMF] + llSucces = goExecutor.oExecuta(lcSqlOperatii, 'crsImob') + Select crsImob + Go Top + AddProperty(poMf, 'contd', Alltrim(Nvl(crsImob.Cont, ''))) + AddProperty(poMf, 'acontd', Alltrim(Nvl(crsImob.acont, ''))) + Use In (Select('crsImob')) + + lcSqlOperatii = [select * from imob_voperatii_mf where id_mf = ?pnIdMF order by data_operatie] + llSucces = goExecutor.oExecuta(lcSqlOperatii, 'crsOperatii') + Select crsOperatii + Go Top + Scatter Name poOper + pnIdOperatie = id_operatie_mf + + Select * From crsOperatii With (Buffering = .T.) Where data_operatie In (Select Max(data_operatie) From crsOperatii) Into Cursor crsOpPrec + Use In (Select('crsOperatii')) + + Select crsOpPrec + Locate + Scatter Name loPrec + Use In (Select('crsOpPrec')) + + lcSqlRate = [select * from imob_vcalcul_rate where id_mf = ?pnIdMF and id_operatie_mf = ?pnIdOperatie] + llSucces = goExecutor.oExecuta(lcSqlRate, 'crsRate') + Select crsRate + Go Top + Scatter Name poRata + Use In (Select('crsRate')) + + poMf.data_achizitie = Ttod(poMf.data_achizitie) + poMf.data_PIF = Ttod(poMf.data_PIF) + poMf.data_operatie = Ttod(poMf.data_operatie) + poMf.data_expirare = Ttod(poMf.data_expirare) + pdDataRata = Date(poRata.an, poRata.luna, 1) + poOper.data_operatie = Ttod(poOper.data_operatie) + poRata.data_ultima_rata = Ttod(poRata.data_ultima_rata) + + If Type("pRata.amortizare_prec_rol") = "U" + AddProperty(poRata, "amortizare_prec_rol", 0) + Endif + + = cctipuri_amort() + = cctipuri_imob() + = cctipuri_operatie() + + lomodifica = Createobject('frm_venchelt_avans') + lomodifica.lblInformatii.Caption = "Informatii " + Iif(Left(This.Cont, 3) = '471', 'cheltuieli', Iif(Left(This.Cont, 3) = '471', 'venituri', 'subventii ')) + " in avans" + lomodifica.Show(1) + Release lomodifica + + ********************************************* + *** Salvare in imobilizari + ********************************************* + If m.gnButon = 1 + With poMf + .denumire = Alltrim(Nvl(.denumire, '')) + .explicatia = Alltrim(Nvl(.explicatia, '')) + .cod_mf = Alltrim(Nvl(.cod_mf, '')) + .Cont = Alltrim(Nvl(.Cont, '')) + .acont = Alltrim(Nvl(.acont, '')) + .ContD = Alltrim(Nvl(.ContD, '')) + .acontD = Alltrim(Nvl(.acontD, '')) + Endwith + + *!* && daca s-a modificat una din atributele listei, atunci luna modificarii este luna curenta, altfel se pastreaza valabilitatea + *!* If poMf.nr_inventar <> poMfOriginal.nr_inventar Or ; + *!* poMf.id_lucrare <> poMfOriginal.id_lucrare Or ; + *!* poMf.id_gestiune <> poMfOriginal.id_gestiune Or ; + *!* Nvl(poMf.id_sucursala,0) <> Nvl(poMfOriginal.id_sucursala,0) Or ; + *!* poMf.id_sectie <> poMfOriginal.id_sectie Or ; + *!* poMf.id_responsabil <> poMfOriginal.id_responsabil Or ; + *!* poMf.dns_luni <> poMfOriginal.dns_luni Or ; + *!* poMf.cod_mf <> poMfOriginal.cod_mf Or ; + *!* poMf.Cont <> poMfOriginal.Cont Or ; + *!* poMf.acont <> poMfOriginal.acont Or ; + *!* poMf.amort_max_deductibil <> poMfOriginal.amort_max_deductibil + + *!* poMf.cPerIn = Padl(gnLuna, 2, '0') + Padl(gnAn, 4, '0') + *!* Endif + + If poMf.id_sucursala = 0 + poMf.id_sucursala = Null + Endif + + pcPerIn = Padl(poRata.luna, 2, '0') + Alltrim(Str(poRata.an)) + pcPerFin = Padl(poRata.luna_exp, 2, '0') + Alltrim(Str(poRata.an_exp)) + llSucces = goConn.BeginManualTransaction() + IF m.llSucces + For lnFiscala = 0 To 1 + pnFiscala = m.lnFiscala + lcSql = [begin pack_imob.schimba_mf(?poMf.id_mf,] + ; + [?poMf.nract,] + ; + [?poMf.data_achizitie,] + ; + [?poMf.denumire,] + ; + [?poMf.explicatia,] + ; + [?poMf.data_pif ,] + ; + [?poMf.nr_pif ,] + ; + [?poMf.procent,] + ; + [?poMf.coeficient,] + ; + [?poMf.id_tip_amortizare,] + ; + [?poMf.id_tip_imobilizare,] + ; + [?poMf.id_lista_mf,] + ; + [?poMf.dns_luni,] + ; + [?poMf.Cod_mf ,] + ; + [?poMf.cont,] + ; + [?poMf.acont,] + ; + [?poMf.nr_inventar,] + ; + [?poMf.id_gestiune,] + ; + [?poMf.id_responsabil,] + ; + [?poMf.id_sectie,] + ; + [?poMf.id_lucrare,] + ; + [?poMf.id_sucursala,] + ; + [?poMf.lper_in,] + ; + [?poMf.lper_fin,] + ; + [?poOper.id_operatie_mf,] + ; + [?poOper.id_tip_operatie,] + ; + [?poOper.valoare_rol,] + ; + [?poOper.valoare_ramasa_rol,] + ; + [?poOper.dns_ramas,] + ; + [?poOper.valoare_reziduala,] + ; + [?poOper.data_operatie,] + ; + [?poOper.explicatia,] + ; + [?poRata.uzura_prec,] + ; + [?poRata.id_calcul_rate,] + ; + [?pcPerIn ,] + ; + [?pcPerFin,] + ; + [?poRata.rata_rol,] + ; + [?poRata.cota_an,] + ; + [?poRata.cota_luna,] + ; + [?poRata.ultima_rata_rol,] + ; + [?poRata.data_ultima_rata,] + ; + [?pnFiscala, ?gnIdUtil, ?poMF.amort_max_deductibil); end;] + + llSucces = goExecutor.oExecuta(lcSql) + If !m.llSucces + Exit + Endif + Endfor && lnFiscal + ENDIF && llSucces + + * Actualizez imob_nom_mf.cont, acont (cont venit/cheltuiala) + If m.llSucces + lcSql = [update imob_nom_mf set cont = ?poMF.contD, acont = ?poMf.acontD where id_mf = ?pnIdMf] + llSucces = goExecutor.oExecuta(m.lcSql) + Endif + + llSucces = goConn.EndManualTransaction(IIF(m.llSucces, 'COMMIT', 'ROLLBACK')) + + ENDIF && gnButon + This.do_cauta() + Select actcv + *Locate For NVL(id_fact,0) = NVL(loAct.id_fact,0) AND NVL(id_part,0) = NVL(loAct.id_part,0) And NVL(acont,'') = NVL(loAct.acont,'') And NVL(id_fdoc,0) = NVL(loAct.id_fdoc,0) And NVL(id_valuta,0) = NVL(loAct.id_valuta,0) + LOCATE FOR id_ireg_part = loAct.id_ireg_part + If !Found() + Go Top + Endif + This.grID1.Refresh() + + + + + + ENDPROC + + PROCEDURE do_venchelt_avans_sterge + ********************************************* + *** Stergere din imobilizari + ********************************************* + Local lcsql, llSucces, loRec + PRIVATE pnIdMF + Select actcv + Scatter Name loAct + pnIdMF = Nvl(loAct.id_mf, 0) + llSucces = .F. + If !Empty(m.pnIdMF) And AMESSAGEBOX('Doriti sa stergeti rata?', 4 + 32, _Screen.Caption) = 6 + lcsql = [begin pack_imob.sterge_mf(?pnIdMf,?gnIdUtil); end;] + llSucces = goExecutor.oExecuta(lcsql) + ENDIF + If m.llSucces + This.do_cauta() + Select actcv + * Locate For NVL(id_fact,0) = NVL(loAct.id_fact,0) AND NVL(id_part,0) = NVL(loAct.id_part,0) And NVL(acont,'') = NVL(loAct.acont,'') And NVL(id_fdoc,0) = NVL(loAct.id_fdoc,0) And NVL(id_valuta,0) = NVL(loAct.id_valuta,0) + LOCATE FOR id_ireg_part = loAct.id_ireg_part + If !Found() + Go Top + Endif + Endif + This.grID1.Refresh() + + + + + + + + + + ENDPROC + + PROCEDURE do_verifica + Local loDate As "empty" + Local lcCodFiscal, lcDenumire, lcFilter, lcSelect, lcWhere, llAutoVerificare, llDontCloseCursor + Local llExperimental, llMFIN, llServiciuWebANAF, llValidare, llVerificarePlatitorTVA, lnOptiune + Local lnRaspuns, loPartener, ldDataAct + lcSelect = SELECT() + + SELECT actcv + lcCodFiscal = Alltrim(actcv.cod_fiscal) + lcDenumire = Alltrim(actcv.nume) + ldDataAct = actcv.dataact + lnOptiune = XMENU('VERIFICA... ' + m.lcDenumire + ' - ANAF; VERIFICA TOTI PARTENERII - ANAF') + + If EMPTY(m.lnOptiune) + Return + ENDIF + + * Pot sa fac verificarea pentru un singur nume si cu formularul pentru mai multi parteneri, dar arata mai dragut informatia intr-un messagebox pentru unul singur + If m.lnOptiune = 1 && un singur nume + loPartener = Null + loDate = Createobject("empty") + + AddProperty(loDate, "denumire", m.lcDenumire) + AddProperty(loDate, "cod_fiscal", m.lcCodFiscal) + AddProperty(loDate, "tip_verificare", "ANAF_SERVICIU_WEB") + AddProperty(loDate, "data", m.ldDataAct) + + lnRaspuns = VerificaCodFiscal(loDate, @lnOptiune, @loPartener) + Else + llDontCloseCursor = .F. + llExperimental = .F. + llVerificarePlatitorTVA = .F. && verific VIES pentru toti partenerii + llMFIN = .T. && verific MFIN pentru toata lumea + llValidare = .T. && verific algoritmul codurilor fiscale + llAutoVerificare = .T. && lanseaza verificarea automata la activate-ul formularului de verificare + llServiciuWebANAF = .T. + + lcFilter = Filter("actcv") + lcWhere = Iif(m.lnOptiune = 1, "recno() = " + Alltrim(Str(Recno())), Iif(!Empty(m.lcFilter), m.lcFilter, ".T.")) + Select Distinct cod_fiscal, nume as denumire, Iif(Left(Upper(cod_fiscal), 2) = "RO", "RO", " ") As ATRIBUT_FISCAL, .T. As IsCIF, .F. As codvalid ; + From actcv ; + Where &lcWhere ; + Into Cursor crsCoduriFiscale ; + Order By nume, cod_fiscal ; + Readwrite + + + Local lcXMLParteneri + lcXMLParteneri = "" + Cursortoxml('crsCoduriFiscale', "lcXMLParteneri", 1, 0, 0, "1") + + Do verificare_parteneri With m.lcXMLParteneri, m.llValidare, m.llMFIN, m.llVerificarePlatitorTVA, m.llAutoVerificare, m.llDontCloseCursor, m.llExperimental, m.llServiciuWebANAF + Endif && x = 1 + + SELECT (m.lcSelect) + ENDPROC + + PROCEDURE filtre + STORE ".T." TO tfirma,TER,Tachitat,Tneachitat + sele actcv + + if Bfirma==.t. then + Tfirma="UPPER(LEFT(ACTCV.nume,LEN(M.nume)))==M.nume" + endif + + if Bachitat==.t. then + Tachitat='ACTCV.totctva=ACTCV.achitat and totctva#0' + endif + + if Bneachitat==.t. then + Tneachitat='ACTCV.totctva#ACTCV.achitat' + endif + ENDPROC + + PROCEDURE grid_sort_bind + * nu sterge + ENDPROC + + PROCEDURE incaspl + Private pnlunanan,pcselect,pcfiltru,pcschema,pcorder,llAfisare,poact + Local lnTotsum,pcTitlu + Store "" To poact,pctitlu + Store .F. To llAfisare + Store 0 To pnlunanan,lnTotsum + + pnlunanan = gnAn*12+gnLuna + *Thisform.blocbuton1.terminat1.Enabled = .F. + Thisform.AlwaysOnTop = .F. + + *!* pcschema=['ID_ACT N(20),LUNA N(2),AN N(4),COD N(20),DATAIREG D,NRACT N(14),DATAACT D,'+]+; + *!* ['EXPLICATIA C(100),SCD C(4),ASCD C(4),SCC C(4),ASCC C(4),SUMA N(19,2),PERECHED N(14),'+]+; + *!* ['PERECHEC N(14),SUMA_VAL N(19,2),NUME_VAL C(5),CURS N(8,2),DATASCAD D,NEIMPOZAB N(19,2),'+]+; + *!* ['NNIR N(10),ID_UTIL N(5),UTIL C(30),DATAORA T,ID_UTILS N(5),UTILS C(30),DATAORAS T,'+]+; + *!* ['ID_RESPONSABIL N(5),NRESP C(30),ID_VENCHELT N(5),DST_CHLT C(100),ID_LUCRARE N(5),NRORD C(30),ID_SECTIE N(5),'+]+; + *!* ['SECTIE C(30),PROC_TVA N(5,2),ID_SET N(20),ID_FACT N(20),ID_PARTD N(10),PARTD C(50),ID_PARTC N(10),'+]+; + *!* ['PARTC C(50),ID_SUCURSALA N(5),SUCURSALA C(50),ID_FDOC N(5),FDOC C(30),'+]+; + *!* ['EXPLICATIA4 C(100),EXPLICATIA5 C(100),ID_GESTD N(5),GESTD C(50),ID_GESTC N(5),GESTC C(50)'] + pcschema = [''] + pcselect = ['select partD,dataact,serie_act,nract,dataireg,suma,perecheC,util,dataora,fdoc,scc,scd,partC,explicatia '+]+; + ['from vact where 2=2'] + + Select actcv + Do Case + Case Thisform.lActiv && activ + pcfiltru = [id_partC=]+Alltrim(STR(id_part))+[ and extract(year from dataireg)*12+extract(month from dataireg)<=]+Alltrim(Str(pnlunanan))+[ ]+; + [ and id_factc = ] + ALLTRIM(STR(id_fact))+[ and scc=']+Alltrim(Thisform.Cont)+[']+[ and NVL(ascc,'xxx')=']+NVL(ALLTRIM(acont),'xxx')+['] + pcTitlu = "INCASARI LA FACTURA NR. "+Alltrim(Str(nract)) + pnachitat = credit+preccred + Otherwise && pasiv + pcfiltru = [id_partD=]+Alltrim(STR(id_part))+[ and extract(year from dataireg)*12+extract(month from dataireg)<=]+Alltrim(Str(pnlunanan))+[ ]+; + [ and id_factd = ] + ALLTRIM(STR(id_fact))+[ and scd=']+Alltrim(Thisform.Cont)+[']+[ and NVL(ascd,'xxx')=']+NVL(ALLTRIM(acont),'xxx')+['] + pcTitlu = "PLATI LA FACTURA NR. "+Alltrim(Str(nract)) + pnachitat = debit + precdeb + Endcase + + pcorder = [dataact,nract] + gencursor("poact","acn2",pcselect,pcfiltru,pcschema,pcorder,llAfisare) + poact.ca_baza1.afisare() + + GO top + ORC = Createobj("AFincpl") + ORC.lb_titlu_alb_b121.Caption = pcTitlu + ORC.ali = "acn2" + ORC.grid1.column6.Visible = .T. + ORC.Show(1) + + pcTitlu = "" + Thisform.AlwaysOnTop = .T. + *Thisform.blocbuton1.terminat1.Enabled = .T. + If Used('acn2') + Use In acn2 + Endif + Release ORC,poact + ****************************************************** + + ENDPROC + + PROCEDURE Init + LPARAMETERS tlAfisareTot + * tlAfisareTot = .T. daca se afiseaza toate inregistrarile la intrarea in formular + + This.lAfisareTot = m.tlAfisareTot + + DODEFAULT() + IF THIS.but_modifica1.VISIBLE + THIS.but_modifica1.VISIBLE=!glLunaInchisa + ENDIF + IF THIS.but_reface1.VISIBLE + THIS.but_reface1.VISIBLE=!glLunaInchisa + ENDIF + this.grID1.cTipSAFT.Visible = m.gl406 + this.gridextra1.setup() + ENDPROC + + PROCEDURE initializare + THISFORM.but_start_criterii1.ENABLED = !THISFORM.but_start_criterii1.ENABLED + THISFORM.but_reset_criterii1.ENABLED = !THISFORM.but_reset_criterii1.ENABLED + THISFORM.cmDINCASPL.ENABLED = !THISFORM.cmDINCASPL.ENABLED + THISFORM.comMAND1.ENABLED = !THISFORM.comMAND1.ENABLED + THISFORM.commAND2.ENABLED = !THISFORM.commAND2.ENABLED + THISFORM.commAND3.ENABLED = !THISFORM.commAND3.ENABLED + WITH THISFORM.grid1 + .READONLY = !.READONLY + .cExplicatieTVA.Combo1.readonly=!.READONLY + .cTotDeb.READONLY = .T. + .cTotCred.READONLY = .T. + .cSoldFinal.READONLY = .T. + .cTotDebVal.READONLY = .T. + .cTotCredVal.READONLY = .T. + .cSoldVal.READONLY = .T. + .cFDoc.READONLY = .T. + .cNume.READONLY = .T. + .cNume_val.READONLY = .T. + .cNresp.READONLY = .T. + .cNrord.READONLY = .T. + .cProcentTVA.readonly= .T. + .cTipSAFT._combobox1.enabled = !.cTipSAFT._combobox1.enabled + ENDWITH + SELECT actcv + THISFORM.grid1.REFRESH + THISFORM.grid1.SETFOCUS() + + + + ENDPROC + + PROCEDURE ist_deb_cred + Private pnlunanan,lul,pcselect,pcschema,pcfiltru,pcorder,llAfisare,poacn1,poacn2,pcdatacrt,pcnume + PRIVATE nl,an,pcluna,pcanul + Store 0 To pnlunanan + Store .F. To llAfisare + Store "" To poacn1,poacn2 + pcdatacrt=Alltrim(Str(gnAn))+Padl(Alltrim(Str(gnLuna)),2,'0')+[01] && prima zi a lunii + + *Thisform.blocbuton1.terminat1.Enabled=.F. + Thisform.AlwaysOnTop= .F. + + pcanul='00' + pcluna='00' + Select calendar + OSE=Crea('SELELUNA') + OSE.Show(1) + pnlunanan=gnAn*12+gnLuna + pnlunaanales=Val(pcanul)*12+Val(pcluna) + Select actcv + pcnume=nume + pnid_part=id_part + *!* pcschema=['ID_ACT N(20),LUNA N(2),AN N(4),COD N(20),DATAIREG D,NRACT N(14),DATAACT D,'+]+; + *!* ['EXPLICATIA C(100),SCD C(4),ASCD C(4),SCC C(4),ASCC C(4),SUMA N(19,2),PERECHED N(14),'+]+; + *!* ['PERECHEC N(14),SUMA_VAL N(19,2),NUME_VAL C(5),CURS N(8,2),DATASCAD D,NEIMPOZAB N(19,2),'+]+; + *!* ['NNIR N(10),ID_UTIL N(5),UTIL C(30),DATAORA T,ID_UTILS N(5),UTILS C(30),DATAORAS T,'+]+; + *!* ['ID_RESPONSABIL N(5),NRESP C(30),ID_VENCHELT N(5),DST_CHLT C(100),ID_LUCRARE N(5),NRORD C(30),ID_SECTIE N(5),'+]+; + *!* ['SECTIE C(30),PROC_TVA N(5,2),ID_SET N(20),ID_FACT N(20),ID_PARTD N(10),PARTD C(50),ID_PARTC N(10),'+]+; + *!* ['PARTC C(50),ID_SUCURSALA N(5),SUCURSALA C(50),ID_FDOC N(5),FDOC C(30),'+]+; + *!* ['EXPLICATIA4 C(100),EXPLICATIA5 C(100),ID_GESTD N(5),GESTD C(50),ID_GESTC N(5),GESTC C(50)'] + pcschema=[''] + pcselect=['select * from ]+gcS+[.vact where 2=2'] + pcorder=[dataact,serie_act,nract] + pcfiltru=[scd=']+ALLTRIM(thisform.cont)+[' and id_partD=]+ALLTRIM(STR(pnid_part))+[ ]+; + [and extract(year from dataact)*12+extract(month from dataact) ]+; + [between ]+Alltrim(Str(pnlunaanales))+[ and ]+Alltrim(Str(pnlunanan)) + gencursor("poacn1","acn1",pcselect,pcfiltru,pcschema,pcorder,llAfisare) + + pcfiltru=[scc=']+ALLTRIM(thisform.cont)+[' and id_partC=]+ALLTRIM(STR(pnid_part))+[ ]+; + [and extract(year from dataact)*12+extract(month from dataact) ]+; + [between ]+Alltrim(Str(pnlunaanales))+[ and ]+Alltrim(Str(pnlunanan)) + gencursor("poacn2","acn2",pcselect,pcfiltru,pcschema,pcorder,llAfisare) + + poacn1.ca_baza1.afisare() + poacn2.ca_baza1.afisare() + + ORC=Createobj("frm_debsicred") + orc.lb_titlu_alb_b121.caption="SITUATIE ANALITICA - ISTORIC DEBIT CREDIT " + ORC.Show(1) + + If Used('acn1') + Use In acn1 + Endif + If Used('acn2') + Use In acn2 + Endif + + *Thisform.blocbuton1.terminat1.Enabled=.T. + Thisform.AlwaysOnTop= .T. + RELEASE orc,poacn1,poacn2 + + ENDPROC + + PROCEDURE KeyPress + LPARAMETERS nKeyCode, nShiftAltCtrl + LOCAL lbviz + lbviz=THIS.bvizualizare + DO CASE + CASE (nKeyCode=13 AND nShiftAltCtrl=2) OR (nKeyCode=4 AND nShiftAltCtrl=2) + If glLunaInchisa OR this.grID1.ReadOnly + RETURN + Endif + NODEFAULT + OTHERWISE + DODEFAULT(nKeyCode, nShiftAltCtrl) + ENDCASE + + ENDPROC + + PROCEDURE lblocatrefacere_assign + LPARAMETERS vNewVal + *To do: Modify this routine for the Assign method + THIS.lBlocatRefacere = m.vNewVal + + this.but_reface1.Visible = !THIS.lBlocatRefacere + this.but_modifica1.Visible = !THIS.lBlocatRefacere + ENDPROC + + PROCEDURE llunainitializare_assign + LPARAMETERS vNewVal + *To do: Modify this routine for the Assign method + THIS.lLunaInitializare = m.vNewVal + + this.cmdLunaInitializare.Visible = THIS.llunainitializare + + + ENDPROC + + PROCEDURE notacontab + If Reccount('actcv')>0 + Private pcselect,pcfiltru,pcschema,pcorder,poact + Local lcTip,llTest + Store .F. To llTest + Store "" To poact + *Thisform.blocbuton1.terminat1.Enabled=.F. + Thisform.AlwaysOnTop=.F. + *!* lunanan=gnLuna+gnAn*12 + Select actcv + + SCATTER NAME oireg + IF EMPTY(oireg.id_fact) + pcfiltru = [dataact=to_date(']+Dtos(oireg.dataact)+[','YYYY-MM-DD') and nract=]+ALLTRIM(STR(oireg.nract))+; + [ and ((id_partd=]+ALLTRIM(STR(oireg.id_part))+[ and ascd=']+NVL(ALLTRIM(oireg.acont),'')+; + [') or (id_partc=]+ALLTRIM(STR(oireg.id_part))+[ and ascc=']+NVL(ALLTRIM(oireg.acont),'')+['))] + ELSE + pcfiltru = [id_fact=]+ALLTRIM(STR(oireg.id_fact)) + ENDIF + pcschema=['DATAIREG D,DATAACT D,SERIE_ACT C(10),nract N(20),PARTD C(50),PARTC C(50),EXPLICATIA C(100),'+]+; + ['SUMA N(19,2),SCD C(4),ASCD C(4),SCC C(4), ASCC C(4),FDOC C(30),LUNA N(2),AN N(4),COD N(20),EXPLICATIE_TVA C(100)'] + pcselect=['select dataireg,dataact,serie_act,nract,partd,partc,explicatia,suma,scd,ascd,scc,ascc,fdoc,luna,an,cod,explicatie_tva '+]+; + ['from ]+gcS+[.vact where 2=2'] + pcorder=[dataact,serie_act,nract] + llAfisare=.F. + gencursor('poact','ACN1',pcselect,pcfiltru,pcschema,pcorder,llAfisare) + poact.ca_baza1.afisare() + Go Top + ORC=CREATEOBJECT("frm_debcred") + orc.lb_titlu_alb_b121.caption="NOTA CONTABILA" + orc.lb_titlu1.caption=" "+UPPER(ALLTRIM(oireg.nume))+" " + ORC.Show(1) + Release poact,ORC + *Thisform.blocbuton1.terminat1.Enabled=.T. + Thisform.AlwaysOnTop=.T. + Else + aMessagebox("Nu aveti date in cautare!",48,"Atentie") + Thisform.ck_nrdoc.SetFocus() + Endif + RELEASE oireg + + + ENDPROC + + PROCEDURE plati + THISFORM.CMDTERMIN1.ENABLED=.F. + SCATTER FIELDS EXCEPT nl,an memv + SELE ACT + * DO NRORD WITH "ACT" + Set filter to nume=m.nume and pereche=m.nract + DO NRORD WITH "ACT" + go top + ORC=CREATEOBJ("AFDEBCRED") + ORC.LABELTITLU.CAPTION="Plati" + ORC.SHOW(1) + + THISFORM.CMDTERMIN1.ENABLED=.T. + + + ENDPROC + + PROCEDURE salariati + + + If Reccount('actcv')>0 + Private pcselect,pcfiltru,pcschema,pcorder,postat + Local lcTip,llTest + Store .F. To llTest + Store "" To postat + *Thisform.blocbuton1.terminat1.Enabled=.F. + Thisform.AlwaysOnTop=.F. + *!* lunanan=gnLuna+gnAn*12 + Select actcv + PRIVATE oireg + SCATTER NAME oireg + + IF oireg.id_part = gnID_PARTDRNERIDLIC &&lichidare + pcschema= ['id_stat i,an n(4),luna n(2),NUME C(50),PRENUME C(50),SECTIE C(30),FORMATIE C(64),MARCA n(10),lichidare n(16), bifa n(1),SUMALICNERID n(16)'] + + pcselect=[select a.id_stat,a.an,a.luna,a.nume,a.prenume,a.sectie,a.formatia,a.marca,a.lichidare,ROUND(a.ACHITLICNERID,0) as bifa,a.SUMALICNERID from sal_vstattot a where 1=2] + pcfiltru = [ id_fact_lic = ] +ALLTRIM(STR(oireg.id_fact)) + ELSE &&avans + pcschema= ['id_stat i,an n(4),luna n(2),NUME C(50),PRENUME C(50),SECTIE C(30),FORMATIE C(64),MARCA n(10),lichidare n(16), bifa n(1),SUMALICNERID n(16)'] + + pcselect=[select a.id_stat,a.an,a.luna,a.nume,a.prenume,a.sectie,a.formatia,a.marca,a.avans as lichidare,ROUND(a.ACHITAVNERID,0) as bifa,a.SUMAAVNERID as SUMALICNERID from sal_vstattot a where 1=2] + pcfiltru = [ id_fact_av = ] +ALLTRIM(STR(oireg.id_fact)) + ENDIF + + + + pcorder=[a.sectie,a.nume,A.PRENUME] + llAfiseaza=.F. + gencursor('postat','crsState',pcselect,pcfiltru,pcschema,pcorder,llAfiseaza) + postat.ca_baza1.afisare() + + Select crsState + ofrmSelect = CREATEOBJECT('frm_alege_neridicati') + IF oireg.id_part = gnID_PARTDRNERIDLIC &&lichidare + ofrmSelect.noptiune = 1&& pentru lichidare neridicata + ELSE + ofrmSelect.noptiune = 4&& pentru avans neridicat + ENDIF + ofrmSelect.show(1) + + RELEASE oireg + USE IN crsState + RELEASE ofrmSelect + Thisform.AlwaysOnTop=.T. + + Else + aMessagebox("Nu aveti date in cautare!",48,"Atentie") + Thisform.ck_nrdoc.SetFocus() + Endif + RELEASE oireg + + ENDPROC + + PROCEDURE Show + LPARAMETERS nStyle + DODEFAULT(nStyle) + + this.cmdIncasare.Visible = (this.cCont = '4111') + + This.lLunaInitializare = IsCalendarInit('GET', thisform.cEntitate, This.cont) && oparteneri.prg + This.lBlocatRefacere = IsBlocatRefacere(thisform.cEntitate, This.cont) && oparteneri.prg + + THIS._grdfooter1.attachtogrid(This.GRID1) + + * Afisez toate inregistrarile cand intru pentru banca/casa. Sunt putine + IF this.lAfisareTot + This.do_reset() && afisarea tuturor inregistrarilo + ENDIF + + this.WindowState = 2 + ENDPROC + + PROCEDURE But_excel1.Click + DODEFAULT() + *!* Local i,xlsheet,XLApp,tmpsheet + *!* exista_excel=.T. + *!* p1='' + *!* p2='' + *!* With Thisform.grid1 + *!* For nCol=1 To .ColumnCount + *!* nColumn=.Columns(nCol).ColumnOrder + *!* p1=p1+.Columns(nCol).ControlSource+',' + *!* For lnobjcol=1 To .Columns(nCol).Objects.Count + *!* If Upper(.Columns(nCol).Objects(lnobjcol).BaseClass)='HEADER' + *!* p2=p2+Strtran(.Columns(nCol).Objects(lnobjcol).Caption,Chr(32),'_')+',' + *!* Exit + *!* Endif + *!* Endfor + *!* Endfor + *!* p1=Substr(p1,1,Len(p1)-1) + *!* p2=Substr(p2,1,Len(p2)-1) + *!* Endwith + *!* On Error Do exportare With Thisform.grid1.RecordSource,p1,p2 + *!* tmpsheet = Getobject('','excel.sheet') + *!* On Error + + *!* If exista_excel + *!* Wait Window "Se transmit datele catre Excel..." Nowait + + *!* XLApp = tmpsheet.Application + + *!* XLApp.workbooks.Close() + *!* XLApp.workbooks.Add() + *!* poExcel = XLApp.ActiveSheet + + *!* Go Top + *!* poExcel.Cells(1,1).Font.Size=16 + *!* poExcel.Cells(1,1).Font.Bold=.T. + *!* poExcel.Cells(1,1)=Thisform.lb_titlu_alb_b121.Caption+" Luna "+Alltrim(Str(gnLuna))+"/"+Alltrim(Str(gnAn)) + *!* nRows = 3 + *!* With Thisform.grid1 + *!* For nCol = 1 To .ColumnCount + *!* nColumn = .Columns(nCol).ColumnOrder + *!* poExcel.Columns(nColumn).ColumnWidth = .Columns(nCol).Width/7.5 + *!* For lnobjcol=1 To .Columns(nCol).Objects.Count + *!* If Upper(.Columns(nCol).Objects(lnobjcol).BaseClass)='HEADER' + *!* poExcel.Cells(nRows,nColumn) = .Columns(nCol).Objects(lnobjcol).Caption + *!* Exit + *!* Endif + *!* Endfor + *!* poExcel.Cells(nRows,nColumn).Font.Bold = .T. + *!* poExcel.Cells(nRows,nColumn).Interior.ColorIndex = 16 + *!* Endfor + *!* Scan + *!* nRows = nRows + 1 + *!* For nCol = 1 To .ColumnCount + *!* nColumn = .Columns(nCol).ColumnOrder + *!* If At('CHECK',Upper(.Columns(nCol).CurrentControl))>0 + *!* poExcel.Cells(nRows,nColumn)=Iif(Eval(.Columns(nCol).ControlSource)==0,'NU','DA') + *!* Else + *!* poExcel.Cells(nRows,nColumn) = Iif(Empty(Eval(.Columns(nCol).ControlSource)),'',Eval(.Columns(nCol).ControlSource)) + *!* Endif + *!* Endfor + *!* Endscan + *!* Endwith + + *!* XLApp.Visible = .T. + *!* Endif + ENDPROC + + PROCEDURE But_modifica1.Click + thisform.butapend + ENDPROC + + PROCEDURE But_start_criterii1.loadcriterii + Parameters tacriterii + External Array tacriterii + #Define crlf Chr(13)+Chr(10) + #Define lf2 Chr(10)+Chr(10) + + lcStringCriterii = "Nr Document\i.nract\N\none\" + crlf + ; + "Serie Document\i.serie_act\T\none\" + crlf + ; + "Data document\i.dataact\D\none\" + crlf + ; + "Data scadenta\i.datascad\D\none\"+ crlf + ; + "Fel Document\i.fdoc\T\id_fdoc\nom_feldoc" + crlf + ; + "Lucrare\i.nrord\T\id_lucrare\nom_lucrare"+ crlf + ; + "Nume firma\i.nume\T\ID_PART\nom_parteneri"+ crlf + ; + "Contract\i.contract\T\none\"+ crlf + ; + "Debit\i.Debit\N|get_mask(12,gnPA)\none\"+ crlf + ; + "Credit\i.credit\N|get_mask(12,gnPA)\none\"+ crlf + If plactiv + lcStringCriterii = lcStringCriterii + "Sold\precdeb+debit-credit-preccred\N|get_mask(12,gnPA)\none\"+ crlf + Else + lcStringCriterii = lcStringCriterii + "Sold\credit+preccred-precdeb-debit\N|get_mask(12,gnPA)\none\"+ crlf + Endif + lcStringCriterii = lcStringCriterii + ; + "Cont\i.cont\T\none\"+ crlf + ; + "Analitic\i.acont\T\none\"+ crlf + ; + "Valuta\i.nume_val\T\id_valuta\nom_valuta"+ crlf + ; + "Explicatia\i.explicatia\T\none\" + crlf + ; + "Venit/Cheltuieli\i.venChelt\T\ID_VENCHELT\nom_venchel" + crlf + ; + "Explicatia 4\i.explicatia4\T\none\" + crlf + ; + "Explicatia 5\i.explicatia5\T\none\" + crlf + ; + "Categorie ent.\i.categorie_entitate\T\none\" + crlf + ; + "Responsabil\i.nresp\T\ID_RESPONSABIL\nom_parteneri" + crlf + ; + "Achitate\nofield\E\" + If Thisform.lActiv + lcStringCriterii = lcStringCriterii + "(i.precdeb + i.debit) - (i.preccred + i.credit) = 0" + Else + lcStringCriterii = lcStringCriterii + "(i.preccred + i.credit) - (i.precdeb + i.debit) = 0" + Endif + lcStringCriterii = lcStringCriterii + "\" + crlf + ; + "Neachitate\nofield\E\" + If Thisform.lActiv + lcStringCriterii = lcStringCriterii + "(i.precdeb + i.debit) - ( i.preccred + i.credit) <> 0" + Else + lcStringCriterii = lcStringCriterii + "(i.preccred + i.credit) - (i.precdeb + i.debit) <> 0" + Endif + lcStringCriterii = lcStringCriterii + "\" + crlf + "Procent TVA\i.proc_tva\N|get_mask(12,gnPA)\none\" + crlf + ; + "Expl. TVA\i.explicatie_TVA\T\none" + + lcStringCriterii = lcStringCriterii + "\" + crlf + "Cu TVA Incasare\nofiled\E\(1=1)\-\" + ; + "Se verifica facturile dupa data si cod fiscal in Registrul TVA Incasare" + lf2 + ; + "Se afiseaza doar inregistrarile care apar in RTVAI."+ crlf + ; + "Fara TVA Incasare\nofiled\E\(1=1)\-\" + ; + "Se verifica facturile dupa data si cod fiscal in Registrul TVA Incasare" + lf2 + ; + "Se afiseaza doar inregistrarile care NU apar in RTVAI."+ crlf + + && aleg sucursale doar daca sunt pe mama + If glEMama + lcStringCriterii = lcStringCriterii + "Sucursala\sucursala\T\ID_SUCURSALA\nom_sucursala" + Endif + DoDefault() + + ENDPROC + + PROCEDURE Cb_nom_valute1.Init + thisform.label6.Caption='Total Debit Valuta' + thisform.label8.caption='Total Credit Valuta' + thisform.label9.Caption='Sold Valuta' + this.Enabled=.F. + ENDPROC + + PROCEDURE Cb_nom_valute1.initializare + Lparameters tlCautareNoua + Local lcValuta,lnmaxinreg + This.RowSource="" + If Used('crsnumeval') + Use In crsnumeval + Endif + Select Distinct nume_val,Count(*) As nrinreg From actcv Where id_valuta>0 Group By nume_val Order By nume_val Into Cursor crsnumeval + lnValute = _tally + + If tlCautareNoua + Select crsnumeval + Calculate Max(nrinreg) To lnmaxinreg + Locate For nrinreg=lnmaxinreg + lcValuta=IIF(lnValute = 0,'Valuta',NUME_VAL) + Else + lcValuta=IIF(lnValute = 0,'Valuta',THIS.Value) + Endif + + IF EMPTY(lcValuta) OR ISNULL(lcValuta) + lcValuta = 'Valuta' + ENDIF + + This.RowSourceType= 2 + This.RowSource="crsnumeval" + This.Value=lcValuta + This.BoundTo=.T. + If Reccount('crsnumeval')>1 + This.Enabled=.T. + Endif + Thisform.label6.Caption='Total Debit '+lcValuta + Thisform.label8.Caption='Total Credit '+lcValuta + Thisform.label9.Caption='Sold '+lcValuta + ENDPROC + + PROCEDURE Cb_nom_valute1.InteractiveChange + lcValuta=Iif(Empty(This.Value),'Valuta',Alltrim(This.Value)) + Thisform.label6.Caption='Total Debit '+lcValuta + Thisform.label8.Caption='Total Credit '+lcValuta + Thisform.label9.Caption='Sold '+lcValuta + Thisform.actualizeaza_totaluri() + ENDPROC + + PROCEDURE cb_scadente.Valid + lcValue = UPPER(This.Value) + * Toate,Restante,Scadente astazi,Scadente saptamana curenta,Scadente saptamana urmatoare + DO CASE + CASE m.lcValue = 'TOATE' + This.filtru = "" + This.cTraducere = "" + This.Tag = "" + CASE m.lcValue = 'RESTANTE' + This.filtru = " and (precdeb+debit-preccred-credit <> 0 and datascad < trunc(sysdate))" + This.cTraducere = " si Restante" + This.Tag = " si Restante" + CASE m.lcValue = 'SCADENTE ASTAZI' + This.filtru = " and (precdeb+debit-preccred-credit <> 0 and datascad = trunc(sysdate))" + This.cTraducere = " si Scadente astazi" + This.Tag = " si Scadente astazi" + CASE m.lcValue = 'SCADENTE SAPTAMANA CURENTA' + This.filtru = " and (precdeb+debit-preccred-credit <> 0 and datascad between trunc(sysdate, 'IW') and trunc(sysdate, 'IW') + 6)" + This.cTraducere = " si Scadente saptamana curenta" + This.Tag = " si Scadente saptamana curenta" + CASE m.lcValue = 'SCADENTE SAPTAMANA URMATOARE' + This.filtru = " and (precdeb+debit-preccred-credit <> 0 and datascad between trunc(sysdate, 'IW')+7 and trunc(sysdate, 'IW') + 13)" + This.cTraducere = " si Scadente sapatamana urmatoare" + This.Tag = " si Scadente sapatamana urmatoare" + ENDCASE + + Thisform.do_cauta() + Thisform.but_start_criterii1.refreshstatus + + thisform._grdfooter1.attachtogrid(thisform.grid1) && se ascund/afiseaza coloane valuta + Thisform.actualizeaza_totaluri() && nu se mai afisau totalurile dupa attachtogrid + ENDPROC + + PROCEDURE ck_neachitate.InteractiveChange + If This.Value = 1 + This.filtru = [ and (precdeb+debit-preccred-credit<>0)] + This.cTraducere = " si Neachitate" + This.Tag = " si Neachitate" + ELSE + This.filtru = "" + This.cTraducere = "" + This.Tag = "" + Endif + Thisform.do_cauta() + Thisform.but_start_criterii1.refreshstatus + + thisform._grdfooter1.attachtogrid(thisform.grid1) && se ascund/afiseaza coloane valuta + Thisform.actualizeaza_totaluri() && nu se mai afisau totalurile dupa attachtogrid + ENDPROC + + PROCEDURE Ck_scadente.InteractiveChange + *!* 05.11.2012 + *!* marius.mutu + *!* s-a introdus bifa chkPenalitatiTot + *!* se afiseaza toate facturile, indiferent daca sunt restante, pentru calculul penalitatilor cu valoare 0 + *!* se foloseste pentru raport juridic + + *!* 09.10.2013 + *!* marius.mutu + *!* s-a introdus bifa chkPenalitatiNegativ + *!* se calculeaza penalitati pentru sold negativ + *!* #3832 + + lccondScad = [1=1] + If This.Value = 1 + Local llPenalitati + Private pdDataRef,pdDatascad_max,pnNrluni, pnProcPen, pnPenTot, pnPenNegativ + pnProcPen = 0.00 + pnNrluni = 0 + pdDataRef = Date() + pdDatascad_max = pdDataRef + pnPenTot = 0 + pnPenNegativ = 0 + llPenalitati = .T. + + ofrmscad = Createobject('frm_facturi_scadente', m.llPenalitati) && orapoarte_cont.vcx + ofrmscad.txt_dataref.ControlSource = [pddataref] + ofrmscad.txt_datamax.ControlSource = [pddatascad_max] + ofrmscad.txtPenalitati.ControlSource = [pnProcPen] + ofrmscad.chkPenalitatiTot.ControlSource = [pnPenTot] + ofrmscad.chkPenalitatiNegativ.ControlSource = [pnPenNegativ] + ofrmscad.Show(1) + + If gnButon = 1 + If m.pnPenTot = 0 && se afiseaza doar facturile restante, cu penalitati + lccondScad = [(i.datascad < to_date('] + Dtos(pdDatascad_max) + [','yyyymmdd'))] + This.Tag=" si data scadenta mai mica decat "+Transform(pdDatascad_max) + EndIf + Endif + Thisform.dDataref = m.pdDataRef + Thisform.nProcPen = m.pnProcPen + thisform.nPenNegativ = m.pnPenNegativ + ELSE + Thisform.dDataref = {} + Thisform.nProcPen = 0 + thisform.nPenNegativ = 0 + Endif + If This.Value=0 + This.filtru ="" + This.cTraducere="" + This.Tag="" + Else + This.filtru = [ and ] + lccondScad + This.cTraducere=This.Tag + Endif + Thisform.do_cauta() + Thisform.but_start_criterii1.refreshstatus + + thisform._grdfooter1.attachtogrid(thisform.grid1) && se ascund/afiseaza coloane valuta + Thisform.actualizeaza_totaluri() && nu se mai afisau totalurile dupa attachtogrid + ENDPROC + + PROCEDURE cmdIncasare.Click + *!* 24.05.2011 + *!* marius.mutu + *!* nu se pot introduce documente de pe mama + + *!* 25.08.2014 + *!* marius.mutu + *!* se transmit si soldurile pe cote de TVA 24,9,5 pentru cazul in care soldul total este 0 + IF thisform.cCont <> '4111' + RETURN + ENDIF + lcAlias = thisform.grid1.RecordSource + + Local lcXMLFacturi + If !(luna_inchisa Or m.glEMama) + Select * From &lcAlias With (Buffering = .T.) ; + Where ales = 1 ; + Into Cursor crsFacturiIncasareTemp + + If _Tally > 0 + Cursortoxml('crsFacturiIncasareTemp', "lcXMLFacturi", 1, 0, 0, "1") + Use In (Select('crsFacturiIncasareTemp')) + + Do incasare_facturi_sold With m.lcXMLFacturi IN oproceduri_incasari.prg + Endif + Use In (Select('crsTVAIncasareTemp')) + Endif + + ENDPROC + + PROCEDURE cmdIncasPl.Click + thisform.incaspl + ENDPROC + + PROCEDURE cmdLunaInitializare.Click + IF amessagebox('Doriti sa demarcati luna ' + PADL(m.gnLuna, 2, '0') + '/' + ALLTRIM(STR(gnAn)) + ' pentru initializare?' + CHR(13) + CHR(10) + ; + 'Atentie! Situatia contabila curenta va fi suprascrisa (refacuta) la Redeschidere de luna sau Refaceri!', 4+32, _SCREEN.CAPTION) = 6 + Thisform.lLunainitializare = IsCalendarInit('DEL',thisform.cEntitate, Thisform.cont) && oparteneri.prg + thisform.lBlocatrefacere = IsBlocatRefacere(thisform.cEntitate, Thisform.cont) && oparteneri.prg + endif + + ENDPROC + + PROCEDURE Command1.Click + thisform.notacontab + ENDPROC + + PROCEDURE Command2.Click + SCAT fiel except nl,an MEMV + thisform.istoric + ENDPROC + + PROCEDURE Command3.Click + thisform.ist_deb_cred + ENDPROC + + PROCEDURE grid1.AfterRowColChange + Lparameters nColIndex + If Thisform.leroare + Nodefault + Return + Endif + Local lnluna + Select actcv + lnluna=luna + If Thisform.lmodificata + *!* Thisform.lmodificare_totaluri=.T. + Thisform.actualizeaza_totaluri() + *!* If lnluna=0 + *!* Thisform.lmodificare_totaluri=.F. + *!* Endif + Thisform.grid1.Refresh + Endif + ENDPROC + + PROCEDURE grid1.BeforeRowColChange + Lparameters nColIndex + *!* If !Thisform.lmodificare_totaluri + Local lnCol + Private pnRec,pnCol + If Thisform.grid1.ReadOnly=.F. And NVL(TRANSFORM(Thisform.coldvalue),'') != NVL(TRANSFORM(Thisform.cnewvalue),'') + Thisform.lmodificata=.T. + Endif + If (This.RowColChange= 1 Or This.RowColChange= 3) And Thisform.lmodificata + For i=1 To This.ColumnCount + If This.Columns(i).ColumnOrder=nColIndex + lcColoana="thisform.grid1."+This.Columns(i).Name + Exit + Endif + Endfor + oColoana=&lcColoana + If Thisform.coldvalue!=Thisform.cnewvalue And !oColoana.ReadOnly + If PEMSTATUS(oColoana,"text1",5) + lValue=oColoana.text1.Value + lcNumeColoana=Substr(oColoana.ControlSource,At('.',oColoana.ControlSource)+1) + If Type('oColoana.text1.value')='D' And !oColoana.text1.Valid() + Nodefault + Return + Endif + Select actcv + Replace (lcNumeColoana) With lValue + Endif + Endif + + Thisform.coldvalue="" + Thisform.cnewvalue="" + pnRec=Recno() + Thisform.do_modifica() + If Thisform.leroare + Nodefault + Return + Endif + *!* Thisform.lmodificare_totaluri=.F. + DoDefault() + Endif + *!* Else + *!* *!* Nodefault + *!* Thisform.lmodificare_totaluri=.F. + *!* Endif + + ENDPROC + + PROCEDURE grid1.cAcont.Text1.GotFocus + If This.ReadOnly = .F. + Thisform.coldvalue = Alltrim(This.Value) + Thisform.cnewvalue = Thisform.coldvalue + Endif + ENDPROC + + PROCEDURE grid1.cAcont.Text1.InteractiveChange + If This.ReadOnly = .F. + Thisform.cnewvalue = Alltrim(This.Value) + Endif + ENDPROC + + PROCEDURE grid1.cCod.Text1.GotFocus + If !This.ReadOnly + Thisform.coldvalue=Alltrim(Str(This.Value)) + Thisform.cnewvalue=Thisform.coldvalue + Endif + ENDPROC + + PROCEDURE grid1.cCod.Text1.InteractiveChange + If !This.ReadOnly + Thisform.cnewvalue=Alltrim(Str(This.Value)) + Endif + + ENDPROC + + PROCEDURE grid1.cCredit.Text1.GotFocus + If This.ReadOnly=.F. + lcMask=Strtran(This.Parent.InputMask,' ','') + lnNrZec=At(Thisform.cseparator,lcMask,1) + Thisform.coldvalue=Alltrim(Str(This.Value,Len(lcMask),Iif(lnNrZec>0,Len(lcMask)-lnNrZec,0))) + Thisform.cnewvalue=Thisform.coldvalue + Endif + ENDPROC + + PROCEDURE grid1.cCredit.Text1.InteractiveChange + If This.ReadOnly=.F. + lcMask=Strtran(This.Parent.InputMask,' ','') + lnNrZec=At(Thisform.cseparator,lcMask,1) + Thisform.cnewvalue=Alltrim(Str(This.Value,Len(lcMask),Iif(lnNrZec>0,Len(lcMask)-lnNrZec,0))) + Endif + ENDPROC + + PROCEDURE grid1.cCurs.Text1.DblClick + thisform.butdrept + ENDPROC + + PROCEDURE grid1.cCurs.Text1.GotFocus + If This.ReadOnly=.F. + lcMask=Strtran(This.Parent.InputMask,' ','') + lnNrZec=At(Thisform.cseparator,lcMask,1) + Thisform.coldvalue=Alltrim(Str(This.Value,Len(lcMask),Iif(lnNrZec>0,Len(lcMask)-lnNrZec,0))) + Thisform.cnewvalue=Thisform.coldvalue + Endif + ENDPROC + + PROCEDURE grid1.cCurs.Text1.InteractiveChange + If This.ReadOnly=.F. + lcMask=Strtran(This.Parent.InputMask,' ','') + lnNrZec=At(Thisform.cseparator,lcMask,1) + Thisform.cnewvalue=Alltrim(Str(This.Value,Len(lcMask),Iif(lnNrZec>0,Len(lcMask)-lnNrZec,0))) + Endif + ENDPROC + + PROCEDURE grid1.cCurs.Text1.RightClick + do editscurt.mpr + ENDPROC + + PROCEDURE grid1.cDataAct.Text1.DblClick + thisform.butdrept + ENDPROC + + PROCEDURE grid1.cDataAct.Text1.GotFocus + If This.ReadOnly=.F. + Thisform.coldvalue=Alltrim(Dtoc(This.Value)) + Thisform.cnewvalue=Thisform.coldvalue + Endif + ENDPROC + + PROCEDURE grid1.cDataAct.Text1.InteractiveChange + If This.ReadOnly=.F. + Thisform.cnewvalue=Dtoc(This.Value) + Endif + + ENDPROC + + PROCEDURE grid1.cDataAct.Text1.RightClick + do editscurt.mpr + ENDPROC + + PROCEDURE grid1.cDataAct.Text1.Valid + If This.ReadOnly=.F. And !Isnull(fdoc) + If (Empty(This.Value) Or Isnull(This.Value)) + aMessagebox("Introduceti data documentului!",0+48,"Atentie") + Return .F. + Else + If (Month(This.Value)+Year(This.Value)*12>gnLuna+gnAn*12) + aMessagebox("Data documentului trebuie sa fie anterioara sau din luna "+Alltrim(Str(gnLuna))+"/"+Alltrim(Str(gnAn))+"!",0+48,"Atentie") + Thisform.lmodificata=.F. + Return .F. + Endif + Endif + Endif + Return .T. + + ENDPROC + + PROCEDURE grid1.cDataireg.Text1.GotFocus + If This.ReadOnly=.F. + Thisform.coldvalue=NVL(Alltrim(Dtoc(This.Value)),'*') + Thisform.cnewvalue=Thisform.coldvalue + Endif + ENDPROC + + PROCEDURE grid1.cDataireg.Text1.InteractiveChange + If This.ReadOnly=.F. + Thisform.cnewvalue=NVL(Dtoc(This.Value),'*') + Endif + ENDPROC + + PROCEDURE grid1.cDataireg.Text1.Valid + If This.ReadOnly=.F. And !Isnull(fdoc) + If (Empty(This.Value) Or Isnull(This.Value)) + aMessagebox("Introduceti data inregistrarii!",0+48,"Atentie") + Return .F. + Else + Do Case + Case This.ValuegnLuna+gnAn*12) + aMessagebox("Data inregistrarii trebuie sa fie din luna "+Alltrim(Str(gnLuna))+"/"+Alltrim(Str(gnAn))+"!",0+48,"Atentie") + Thisform.lmodificata=.F. + Return .F. + Endcase + Endif + Endif + Return .T. + ENDPROC + + PROCEDURE grid1.cDataScad.Text1.DblClick + thisform.butdrept + ENDPROC + + PROCEDURE grid1.cDataScad.Text1.GotFocus + If This.ReadOnly=.F. + Thisform.coldvalue=Alltrim(Dtoc(This.Value)) + Thisform.cnewvalue=Thisform.coldvalue + Endif + ENDPROC + + PROCEDURE grid1.cDataScad.Text1.InteractiveChange + If This.ReadOnly=.F. + Thisform.cnewvalue=Dtoc(This.Value) + Endif + ENDPROC + + PROCEDURE grid1.cDataScad.Text1.RightClick + do editscurt.mpr + ENDPROC + + PROCEDURE grid1.cDataScad.Text1.Valid + *!* (Empty(This.Value) And !Empty(dataact)) Or (Isnull(This.Value) And !Isnull(dataact)) + *!* Messagebox("Introduceti data scadenta!",0+48,"Atentie") + *!* Return .F. + *!* Else + If This.ReadOnly=.F. And !Isnull(fdoc) + If !Empty(This.Value) And !Empty(dataact) And This.Value0,Len(lcMask)-lnNrZec,0))) + Thisform.cnewvalue=Thisform.coldvalue + Endif + ENDPROC + + PROCEDURE grid1.cDebit.Text1.InteractiveChange + If This.ReadOnly=.F. + lcMask=Strtran(This.Parent.InputMask,' ','') + lnNrZec=At(Thisform.cseparator,lcMask,1) + Thisform.cnewvalue=Alltrim(Str(This.Value,Len(lcMask),Iif(lnNrZec>0,Len(lcMask)-lnNrZec,0))) + Endif + ENDPROC + + PROCEDURE grid1.cExplicatia.Text1.DblClick + thisform.butdrept + ENDPROC + + PROCEDURE grid1.cExplicatia.Text1.GotFocus + If !This.ReadOnly + Thisform.coldvalue=Nvl(Alltrim(This.Value),'*') + Thisform.cnewvalue=Thisform.coldvalue + Endif + ENDPROC + + PROCEDURE grid1.cExplicatia.Text1.InteractiveChange + If This.ReadOnly=.F. + Thisform.cnewvalue=NVL(Alltrim(This.Value),'*') + Endif + ENDPROC + + PROCEDURE grid1.cExplicatia.Text1.RightClick + do editscurt.mpr + ENDPROC + + PROCEDURE grid1.cExplicatia4.Text1.GotFocus + If !This.ReadOnly + Thisform.coldvalue=NVL(Alltrim(This.Value),'*') + Thisform.cnewvalue=Thisform.coldvalue + Endif + ENDPROC + + PROCEDURE grid1.cExplicatia4.Text1.InteractiveChange + If !This.ReadOnly + Thisform.cnewvalue=NVL(Alltrim(This.Value),'*') + Endif + ENDPROC + + PROCEDURE grid1.cExplicatia5.Text1.GotFocus + If !This.ReadOnly + Thisform.coldvalue=NVL(Alltrim(This.Value),'*') + Thisform.cnewvalue=Thisform.coldvalue + Endif + ENDPROC + + PROCEDURE grid1.cExplicatia5.Text1.InteractiveChange + If !This.ReadOnly + Thisform.cnewvalue=NVL(Alltrim(This.Value),'*') + Endif + ENDPROC + + PROCEDURE grid1.cExplicatieTVA.combo1.GotFocus + If !This.ReadOnly + Thisform.coldvalue=ALLTRIM(STR(actcv.id_jtva_coloana)) + Thisform.cnewvalue=Thisform.coldvalue + ENDIF + + ENDPROC + + PROCEDURE grid1.cExplicatieTVA.combo1.InteractiveChange + If !This.ReadOnly + Thisform.cnewvalue=ALLTRIM(STR(actcv.id_jtva_coloana)) + Endif + + ENDPROC + + PROCEDURE grid1.cExplicatieTVA.combo1.Valid + replace actcv.id_jtva_coloana WITH jtva_temp.id_jtva_coloana + replace actcv.proc_tva WITH ROUND((jtva_temp.cota_tva+100)/100,2) + + ENDPROC + + PROCEDURE grid1.cfdoc.Text1.DblClick + If !Thisform.grid1.ReadOnly + Nodefault + Local locauta,lcOldValue,lcNewValue + lcOldValue=Nvl(Alltrim(fdoc),'') + Select actcv + Store "" To locauta + pcselect = ['select p.fel_document,p.id_fdoc FROM ] + Alltrim(gcS) + [.vnom_fdoc p where 2=2'] + pcfiltru = [1=2] + pcschema = [''] + pcorder = [fel_document] + pccoloane = [fel_document] + pcTitlu = [Alegeti felul documentului] + pcTitluColoane = [Fel document] + lnRec=Recno() + locauta = cauta_alfa(pcselect,pcfiltru,pcschema,pcorder,pccoloane,pcTitlu,pcTitluColoane) + If !Empty(locauta.fel_document) + Select actcv + Go lnRec + Replace id_fdoc With locauta.id_fdoc + Replace fdoc With Alltrim(locauta.fel_document) + lcNewValue=Nvl(Alltrim(fdoc),'') + Else + lcNewValue=lcOldValue + Endif + This.SetFocus() + Thisform.coldvalue=lcOldValue + Thisform.cnewvalue=lcNewValue + Release locauta + For i=1 To Thisform.grid1.ColumnCount + If Thisform.grid1.Columns(i).ColumnOrder=This.Parent.ColumnOrder+1 + Exit + Endif + Endfor + Thisform.grid1.Columns(i).SetFocus() + Else + DoDefault() + Endif + + ENDPROC + + PROCEDURE grid1.cfdoc.Text1.RightClick + do editscurt.mpr + ENDPROC + + PROCEDURE grid1.cId_fact.Text1.GotFocus + If !This.ReadOnly + Thisform.coldvalue=Alltrim(Str(This.Value)) + Thisform.cnewvalue=Thisform.coldvalue + Endif + ENDPROC + + PROCEDURE grid1.cId_fact.Text1.InteractiveChange + If !This.ReadOnly + Thisform.cnewvalue=Alltrim(Str(This.Value)) + Endif + + ENDPROC + + PROCEDURE grid1.cId_set.Text1.GotFocus + If !This.ReadOnly + Thisform.coldvalue=Alltrim(Str(This.Value)) + Thisform.cnewvalue=Thisform.coldvalue + Endif + + ENDPROC + + PROCEDURE grid1.cId_set.Text1.InteractiveChange + If !This.ReadOnly + Thisform.cnewvalue=Alltrim(Str(This.Value)) + Endif + ENDPROC + + PROCEDURE grid1.cNrAct.Text1.DblClick + thisform.butdrept + ENDPROC + + PROCEDURE grid1.cNrAct.Text1.GotFocus + If This.ReadOnly=.F. + Thisform.coldvalue=Alltrim(Str(This.Value)) + Thisform.cnewvalue=Thisform.coldvalue + Endif + ENDPROC + + PROCEDURE grid1.cNrAct.Text1.InteractiveChange + If This.ReadOnly=.F. + Thisform.cnewvalue=Alltrim(Str(This.Value)) + Endif + ENDPROC + + PROCEDURE grid1.cNrAct.Text1.RightClick + do editscurt.mpr + ENDPROC + + PROCEDURE grid1.cnresp.Text1.DblClick + If !Thisform.grid1.ReadOnly + Local locauta,lcCol,lcOldValue,lcNewValue + Select actcv + lcOldValue=Nvl(Alltrim(nresp),'') + Store "" To locauta + pcselect = ['select p.nume, p.functie, p.id_responsabil FROM ] + gcs + [.vnom_responsabili p '+]+; + ['where 2=2'] + pcfiltru = [1=2] + pcschema = [''] + pcorder = [p.nume] + pccoloane = [nume,functie] + pcTitlu = [Alegeti numele] + pcTitluColoane = [Responsabil,Functie] + lnRec=Recno() + locauta = cauta_alfa(pcselect,pcfiltru,pcschema,pcorder,pccoloane,pcTitlu,pcTitluColoane,"") + If !Empty(locauta.nume) + Select actcv + Go lnRec + Replace id_responsabil With locauta.id_responsabil + Replace nresp With Alltrim(locauta.nume) + lcNewValue=Nvl(Alltrim(nresp),'') + Else + lcNewValue=lcOldValue + Endif + This.SetFocus() + Thisform.coldvalue=lcOldValue + Thisform.cnewvalue=lcNewValue + Release locauta + For i=1 To Thisform.grid1.ColumnCount + If Thisform.grid1.Columns(i).ColumnOrder=This.Parent.ColumnOrder+1 + Exit + Endif + Endfor + Thisform.grid1.Columns(i).SetFocus() + Else + DoDefault() + Endif + + ENDPROC + + PROCEDURE grid1.cNrord.Text1.DblClick + If !Thisform.grid1.ReadOnly + Local locauta,lcOldValue,lcNewValue + Select actcv + lcOldValue=Nvl(Alltrim(nrord),'') + Store "" To locauta + pcselect = ['select p.nrord,p.id_lucrare FROM ] + gcs + [.vnom_lucrari p where 2=2'] + pcfiltru = [1=2] + pcschema = [''] + pcorder = [nrord] + pccoloane = [nrord] + pcTitlu = [Alegeti lucrarea/contractul] + pcTitluColoane = [Lucrare/Contract] + lnRec=Recno() + locauta = cauta_alfa(pcselect,pcfiltru,pcschema,pcorder,pccoloane,pcTitlu,pcTitluColoane,"") + If !Empty(locauta.nrord) + Select actcv + Go lnRec + Replace id_lucrare With locauta.id_lucrare + Replace nrord With locauta.nrord + lcNewValue=Nvl(Alltrim(nrord),'') + Else + lcNewValue=lcOldValue + Endif + This.SetFocus() + Thisform.coldvalue=lcOldValue + Thisform.cnewvalue=lcNewValue + For i=1 To Thisform.grid1.ColumnCount + If Thisform.grid1.Columns(i).ColumnOrder=This.Parent.ColumnOrder+1 + Exit + Endif + Endfor + Thisform.grid1.Columns(i).SetFocus() + Else + DoDefault() + Endif + + ENDPROC + + PROCEDURE grid1.cNume.Text1.DblClick + LOCAL lcCont + + IF !THISFORM.grid1.READONLY + NODEFAULT + LOCAL locauta,lcOldValue,lcNewValue + lcOldValue=NVL(ALLTRIM(nume),'') + SELECT actcv + STORE "" TO locauta + lnRec = RECNO() + + lcCont = ALLTRIM(actcv.CONT) + locauta = CautPartenerContabilitate(GetHash([cTitlu=>Alegeti partenerul ] + lcCont + [??lAdaugCorespondente=>1??cCont=>] + lcCont)) + + IF !EMPTY(locauta.nume) + SELECT actcv + GO lnRec + REPLACE id_part WITH locauta.id_part + REPLACE nume WITH ALLTRIM(locauta.nume) + lcNewValue=NVL(ALLTRIM(nume),'') + ELSE + lcNewValue=lcOldValue + ENDIF + THIS.SETFOCUS() + THISFORM.coldvalue=lcOldValue + THISFORM.cnewvalue=lcNewValue + RELEASE locauta + FOR i=1 TO THISFORM.grid1.COLUMNCOUNT + IF THISFORM.grid1.COLUMNS(i).COLUMNORDER=THIS.PARENT.COLUMNORDER+1 + EXIT + ENDIF + ENDFOR + THISFORM.grid1.COLUMNS(i).SETFOCUS() + ELSE + DODEFAULT() + ENDIF + + ENDPROC + + PROCEDURE grid1.cNume.Text1.RightClick + do editscurt.mpr + ENDPROC + + PROCEDURE grid1.cNume_val.Text1.DblClick + If !Thisform.grid1.ReadOnly + Local locauta,lcOldValue,lcNewValue + Select actcv + lcOldValue=Nvl(Alltrim(nume_val),'') + Store "" To locauta + pcselect = ['select p.nume_val,p.id_valuta FROM ] + gcs + [.vnom_valute p where 2=2'] + pcfiltru = [1=2] + pcschema = [''] + pcorder = [nume_val] + pccoloane = [nume_val] + pcTitlu = [Alegeti valuta] + pcTitluColoane = [Valuta] + lnRec=Recno() + locauta = cauta_alfa(pcselect,pcfiltru,pcschema,pcorder,pccoloane,pcTitlu,pcTitluColoane,"") + If !Empty(locauta.nume_val) + Select actcv + Go lnRec + Replace id_valuta With locauta.id_valuta + Replace nume_val With locauta.nume_val + lcNewValue=Nvl(Alltrim(nume_val),'') + Thisform.lvaluta=.F. + thisform.actualizeaza_totaluri() + Else + lcNewValue=lcOldValue + Endif + This.SetFocus() + Thisform.coldvalue=lcOldValue + Thisform.cnewvalue=lcNewValue + Release locauta + For i=1 To Thisform.grid1.ColumnCount + If Thisform.grid1.Columns(i).ColumnOrder=This.Parent.ColumnOrder+1 + Exit + Endif + Endfor + Thisform.grid1.Columns(i).SetFocus() + Else + DoDefault() + Endif + ENDPROC + + PROCEDURE grid1.cNume_val.Text1.RightClick + do editscurt.mpr + ENDPROC + + PROCEDURE grid1.cPrecCred.Text1.GotFocus + If This.ReadOnly=.F. + lcMask=Strtran(This.Parent.InputMask,' ','') + lnNrZec=At(Thisform.cseparator,lcMask,1) + Thisform.coldvalue=Alltrim(Str(This.Value,Len(lcMask),Iif(lnNrZec>0,Len(lcMask)-lnNrZec,0))) + Thisform.cnewvalue=Thisform.coldvalue + Endif + ENDPROC + + PROCEDURE grid1.cPrecCred.Text1.InteractiveChange + If This.ReadOnly=.F. + lcMask=Strtran(This.Parent.InputMask,' ','') + lnNrZec=At(Thisform.cseparator,lcMask,1) + Thisform.cnewvalue=Alltrim(Str(This.Value,Len(lcMask),Iif(lnNrZec>0,Len(lcMask)-lnNrZec,0))) + Endif + ENDPROC + + PROCEDURE grid1.cPrecDeb.Text1.GotFocus + If This.ReadOnly=.F. + lcMask=Strtran(This.Parent.InputMask,' ','') + lnNrZec=At(Thisform.cseparator,lcMask,1) + Thisform.coldvalue=Alltrim(Str(This.Value,Len(lcMask),Iif(lnNrZec>0,Len(lcMask)-lnNrZec,0))) + Thisform.cnewvalue=Thisform.coldvalue + Endif + ENDPROC + + PROCEDURE grid1.cPrecDeb.Text1.InteractiveChange + If This.ReadOnly=.F. + lcMask=Strtran(This.Parent.InputMask,' ','') + lnNrZec=At(Thisform.cseparator,lcMask,1) + Thisform.cnewvalue=Alltrim(Str(This.Value,Len(lcMask),Iif(lnNrZec>0,Len(lcMask)-lnNrZec,0))) + Endif + ENDPROC + + PROCEDURE grid1.cPrecValCred.Text1.GotFocus + If This.ReadOnly=.F. + lcMask=Strtran(This.Parent.InputMask,' ','') + lnNrZec=At(Thisform.cseparator,lcMask,1) + Thisform.coldvalue=Alltrim(Str(This.Value,Len(lcMask),Iif(lnNrZec>0,Len(lcMask)-lnNrZec,0))) + Thisform.cnewvalue=Thisform.coldvalue + Endif + ENDPROC + + PROCEDURE grid1.cPrecValCred.Text1.InteractiveChange + If This.ReadOnly=.F. + lcMask=Strtran(This.Parent.InputMask,' ','') + lnNrZec=At(Thisform.cseparator,lcMask,1) + Thisform.cnewvalue=Alltrim(Str(This.Value,Len(lcMask),Iif(lnNrZec>0,Len(lcMask)-lnNrZec,0))) + Endif + ENDPROC + + PROCEDURE grid1.cPrecValDeb.Text1.GotFocus + If This.ReadOnly=.F. + lcMask=Strtran(This.Parent.InputMask,' ','') + lnNrZec=At(Thisform.cseparator,lcMask,1) + Thisform.coldvalue=Alltrim(Str(This.Value,Len(lcMask),Iif(lnNrZec>0,Len(lcMask)-lnNrZec,0))) + Thisform.cnewvalue=Thisform.coldvalue + Endif + ENDPROC + + PROCEDURE grid1.cPrecValDeb.Text1.InteractiveChange + If This.ReadOnly=.F. + lcMask=Strtran(This.Parent.InputMask,' ','') + lnNrZec=At(Thisform.cseparator,lcMask,1) + Thisform.cnewvalue=Alltrim(Str(This.Value,Len(lcMask),Iif(lnNrZec>0,Len(lcMask)-lnNrZec,0))) + Endif + ENDPROC + + PROCEDURE grid1.cSoldFinal.Text1.DblClick + thisform.butdrept + ENDPROC + + PROCEDURE grid1.cSoldFinal.Text1.RightClick + do editscurt.mpr + ENDPROC + + PROCEDURE grid1.cTipSAFT._combobox1.Valid + Local llSucces + PRIVATE pnIdDoc, pnTipFactura + + Select actcv + pnIdDoc = Nvl(actcv.id_fact, 0) + pnTipFactura = actcv.tip_saft + IF NVL(pnTipFactura, 0) <> NVL(Thisform.nTipSaft, 0) + llSucces = goExecutor.oExecuta('UPDATE documente SET tip_saft = ?pnTipFactura WHERE id_doc = ?pnIdDoc') + IF !m.llSucces + REPLACE tip_saft WITH thisform.cOldvalue + ENDIF + ENDIF + + RETURN .T. + + ENDPROC + + PROCEDURE grid1.cTipSAFT._combobox1.When + Thisform.nTipSaft = actcv.tip_saft + ENDPROC + + PROCEDURE grid1.cTotDeb.Text1.DblClick + thisform.butdrept + ENDPROC + + PROCEDURE grid1.cTotDeb.Text1.RightClick + do editscurt.mpr + ENDPROC + + PROCEDURE grid1.cTotDebVal.Text1.DblClick + thisform.butdrept + ENDPROC + + PROCEDURE grid1.cTotDebVal.Text1.RightClick + do editscurt.mpr + ENDPROC + + PROCEDURE grid1.cValCredit.Text1.GotFocus + If This.ReadOnly=.F. + lcMask=Strtran(This.Parent.InputMask,' ','') + lnNrZec=At(Thisform.cseparator,lcMask,1) + Thisform.coldvalue=Alltrim(Str(This.Value,Len(lcMask),Iif(lnNrZec>0,Len(lcMask)-lnNrZec,0))) + Thisform.cnewvalue=Thisform.coldvalue + Endif + ENDPROC + + PROCEDURE grid1.cValCredit.Text1.InteractiveChange + If This.ReadOnly=.F. + lcMask=Strtran(This.Parent.InputMask,' ','') + lnNrZec=At(Thisform.cseparator,lcMask,1) + Thisform.cnewvalue=Alltrim(Str(This.Value,Len(lcMask),Iif(lnNrZec>0,Len(lcMask)-lnNrZec,0))) + Endif + ENDPROC + + PROCEDURE grid1.cValCredit.Text1.Valid + IF this.Value>0 + thisform.lvaluta=.T. + ENDIF + ENDPROC + + PROCEDURE grid1.cValDebit.Text1.GotFocus + If This.ReadOnly=.F. + lcMask=Strtran(This.Parent.InputMask,' ','') + lnNrZec=At(Thisform.cseparator,lcMask,1) + Thisform.coldvalue=Alltrim(Str(This.Value,Len(lcMask),Iif(lnNrZec>0,Len(lcMask)-lnNrZec,0))) + Thisform.cnewvalue=Thisform.coldvalue + Endif + ENDPROC + + PROCEDURE grid1.cValDebit.Text1.InteractiveChange + If This.ReadOnly=.F. + lcMask=Strtran(This.Parent.InputMask,' ','') + lnNrZec=At(Thisform.cseparator,lcMask,1) + Thisform.cnewvalue=Alltrim(Str(This.Value,Len(lcMask),Iif(lnNrZec>0,Len(lcMask)-lnNrZec,0))) + Endif + ENDPROC + + PROCEDURE grid1.cValDebit.Text1.Valid + IF this.Value>0 + thisform.lvaluta=.T. + ENDIF + ENDPROC + + PROCEDURE grid1.cVenChelt.Text1.DblClick + If !Thisform.grid1.ReadOnly + Local locauta,lcOldValue,lcNewValue + Select actcv + lcOldValue=Nvl(Alltrim(venchelt),'') + Store "" To locauta + pcselect = ["select v.explicatie,(case v.tip_venchelt when 1 then 'C' else 'V' end) as tip,v.id_venchelt FROM "+] +; + ["]+ Alltrim(gcs) + [.vnom_venchel v where 2=2"] + pcfiltru = [1=2] + pcschema = [''] + pcorder = [explicatie] + pccoloane = [explicatie,tip] + pcTitlu = [Alegeti venitul\cheltuiala] + pcTitluColoane = [Explicatie,Tip] + lnRec=Recno() + locauta = cauta_alfa(pcselect,pcfiltru,pcschema,pcorder,pccoloane,pcTitlu,pcTitluColoane,"") + If !Empty(locauta.explicatie) + Select actcv + Go lnRec + Replace id_venchelt With locauta.id_venchelt + Replace venchelt With locauta.explicatie + lcNewValue=Nvl(Alltrim(venchelt),'') + Else + lcNewValue=lcOldValue + Endif + This.SetFocus() + Thisform.coldvalue=lcOldValue + Thisform.cnewvalue=lcNewValue + Release locauta + For i=1 To Thisform.grid1.ColumnCount + If Thisform.grid1.Columns(i).ColumnOrder=This.Parent.ColumnOrder+1 + Exit + Endif + Endfor + Thisform.grid1.Columns(i).SetFocus() + Else + DoDefault() + Endif + ENDPROC + + PROCEDURE grid1.Init + *!* this.SetAll("DynamicForeColor", "IIF(abs(totctva-achitat)<1000,RGB(0,0,0),iif(totctva (preccred+credit)),RGB(255,0,0),RGB(0,0,255)))", "Column") + *!* Endif + ENDPROC + + PROCEDURE Gridextra1.applyfilter + DODEFAULT() + Thisform.actualizeaza_totaluri() + ENDPROC + + PROCEDURE Gridextra1.clearfilter + DODEFAULT() + Thisform.actualizeaza_totaluri() + ENDPROC + + PROCEDURE Text1.Refresh + THIS.FORECOLOR=IIF(thisform.ntotdebit >=0, RGB(0,0,0), RGB(255,0,0)) + this.Value = thisform.ntotdebit + ENDPROC + + PROCEDURE Text2.Refresh + THIS.FORECOLOR=IIF(thisform.ntotcredit >=0, RGB(0,0,0), RGB(255,0,0)) + this.Value = thisform.ntotcredit + ENDPROC + + PROCEDURE Text3.Refresh + THIS.FORECOLOR=IIF(thisform.ntotsold >=0, RGB(0,0,0), RGB(255,0,0)) + this.Value = thisform.ntotsold + ENDPROC + + PROCEDURE Text4.Refresh + THIS.FORECOLOR=IIF(thisform.ndebitval >=0, RGB(0,0,0), RGB(255,0,0)) + this.Value = thisform.ndebitval + ENDPROC + + PROCEDURE Text5.Refresh + THIS.FORECOLOR=IIF(thisform.ncreditval >=0, RGB(0,0,0), RGB(255,0,0)) + this.Value = thisform.ncreditval + ENDPROC + + PROCEDURE Text6.Refresh + THIS.FORECOLOR=IIF(thisform.ntotsoldval >=0, RGB(0,0,0), RGB(255,0,0)) + this.Value = thisform.ntotsoldval + ENDPROC + +ENDDEFINE + +DEFINE CLASS frm_venchelt_avans AS _frmbase OF "_frm_base.vcx" + *< CLASSDATA: Baseclass="form" Timestamp="" Scale="Pixels" Uniqueid="" /> + + *-- OBJECTDATA items order determines ZOrder / El orden de los items OBJECTDATA determina el ZOrder + *< OBJECTDATA: ObjPath="Shape3" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="Shape1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="Shape2" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="Clb_nract" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="Clb_dataact" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="Clb_cont" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="Clb_cont.txtAcont" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="Clb_valoare" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="Clb_data_rata" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="Ed_denumire" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="Ed_tx_simplu1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="Clb_dns_ramas" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="lblInformatii" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="Label2" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="Label3" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="But_renunt1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="Clb_sectie" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="Clb_sucursala" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="Clb_lucrare" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="Clb_gestiune" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="Clb_tx_simplu1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="Clb_tx_simplu1.txtAcont" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="Clb_responsabil" UniqueID="" Timestamp="" /> + + * + *p: ndns_max + *p: ndns_min + *p: ntip + *p: ooperprec + * + + * + BorderStyle = 1 + DoCreate = .T. + Height = 355 + Name = "frm_venchelt_avans" + ndns_max = 0 + ndns_min = 0 + ntip = 1 + ooperprec = .NULL. + TabStop = .T. + Width = 699 + _shape1.Anchor = 10 + _shape1.Height = 29 + _shape1.Left = 0 + _shape1.Name = "_shape1" + _shape1.Top = 0 + _shape1.Width = 788 + _shape1.ZOrderSet = 3 + _shape2.Anchor = 8 + _shape2.Left = 629 + _shape2.Name = "_shape2" + _shape2.Top = 0 + _shape2.ZOrderSet = 4 + Lb_titlu_alb_b121.Caption = "Modificare" + Lb_titlu_alb_b121.Name = "Lb_titlu_alb_b121" + Lb_titlu_alb_b121.TabIndex = 18 + Lb_titlu_alb_b121.ZOrderSet = 5 + BUT_TERMIN1.Anchor = 8 + BUT_TERMIN1.Left = 671 + BUT_TERMIN1.Name = "BUT_TERMIN1" + BUT_TERMIN1.TabIndex = 15 + BUT_TERMIN1.Top = 1 + BUT_TERMIN1.ZOrderSet = 6 + Gridsort1.Name = "Gridsort1" + * + + ADD OBJECT 'But_renunt1' AS but_renunt WITH ; + Left = 640, ; + Name = "But_renunt1", ; + TabIndex = 16, ; + Top = 1 + *< END OBJECT: ClassLib="cmd_butoane.vcx" BaseClass="commandbutton" /> + + ADD OBJECT 'Clb_cont' AS clb_tx_simplu WITH ; + Anchor = 9, ; + Left = 368, ; + Name = "Clb_cont", ; + TabIndex = 9, ; + Top = 75, ; + Width = 312, ; + Text_simplu1.ControlSource = "poMF.contD", ; + Text_simplu1.Height = 23, ; + Text_simplu1.Left = 172, ; + Text_simplu1.MaxLength = 4, ; + Text_simplu1.Name = "Text_simplu1", ; + Text_simplu1.Top = 3, ; + Text_simplu1.Width = 65, ; + Lb_simplu1.Caption = "Cont venit/cheltuiala", ; + Lb_simplu1.Name = "Lb_simplu1" + *< END OBJECT: ClassLib="lb_tx.vcx" BaseClass="container" /> + + ADD OBJECT 'Clb_cont.txtAcont' AS _textbox WITH ; + ControlSource = "poMF.acontD", ; + Format = "!K", ; + Height = 23, ; + Left = 242, ; + MaxLength = 4, ; + Name = "txtAcont", ; + Top = 2, ; + Width = 65 + *< END OBJECT: ClassLib="_baza.vcx" BaseClass="textbox" /> + + ADD OBJECT 'Clb_data_rata' AS clb_tx_simplu WITH ; + Height = 29, ; + Left = 25, ; + Name = "Clb_data_rata", ; + TabIndex = 6, ; + Top = 283, ; + Width = 312, ; + ZOrderSet = 28, ; + Text_simplu1.Alignment = 1, ; + Text_simplu1.ControlSource = "pdDataRata", ; + Text_simplu1.Format = "!K", ; + Text_simplu1.Height = 23, ; + Text_simplu1.Left = 132, ; + Text_simplu1.Name = "Text_simplu1", ; + Text_simplu1.Top = 3, ; + Text_simplu1.Value = {}, ; + Text_simplu1.Width = 176, ; + Lb_simplu1.Caption = "Data prima rata", ; + Lb_simplu1.Name = "Lb_simplu1" + *< END OBJECT: ClassLib="..\..\..\roaimob\comun\clase\lb_tx.vcx" BaseClass="container" /> + + ADD OBJECT 'Clb_dataact' AS clb_tx_simplu WITH ; + Height = 29, ; + Left = 22, ; + Name = "Clb_dataact", ; + TabIndex = 2, ; + Top = 75, ; + Width = 312, ; + ZOrderSet = 8, ; + Text_simplu1.Alignment = 1, ; + Text_simplu1.ControlSource = "poMf.data_achizitie", ; + Text_simplu1.Height = 23, ; + Text_simplu1.Left = 132, ; + Text_simplu1.Name = "Text_simplu1", ; + Text_simplu1.ReadOnly = .T., ; + Text_simplu1.Top = 3, ; + Text_simplu1.Value = {}, ; + Text_simplu1.Width = 176, ; + Lb_simplu1.Caption = "Data document", ; + Lb_simplu1.Name = "Lb_simplu1" + *< END OBJECT: ClassLib="lb_tx.vcx" BaseClass="container" /> + + ADD OBJECT 'Clb_dns_ramas' AS clb_tx_simplu WITH ; + Left = 25, ; + Name = "Clb_dns_ramas", ; + TabIndex = 7, ; + Top = 311, ; + Width = 312, ; + ZOrderSet = 31, ; + Text_simplu1.Alignment = 3, ; + Text_simplu1.ControlSource = "poOper.dns_ramas", ; + Text_simplu1.Format = "!KZ", ; + Text_simplu1.Height = 23, ; + Text_simplu1.InputMask = "9 999", ; + Text_simplu1.Left = 239, ; + Text_simplu1.Name = "Text_simplu1", ; + Text_simplu1.Top = 3, ; + Text_simplu1.Value = 0, ; + Text_simplu1.Width = 69, ; + Lb_simplu1.Caption = "Numar rate", ; + Lb_simplu1.Name = "Lb_simplu1" + *< END OBJECT: ClassLib="..\..\..\roaimob\comun\clase\lb_tx.vcx" BaseClass="container" /> + + ADD OBJECT 'Clb_gestiune' AS clb_tx_simplu WITH ; + Anchor = 9, ; + Left = 368, ; + Name = "Clb_gestiune", ; + TabIndex = 10, ; + ToolTipText = "Dublu click pentru modificare", ; + Top = 103, ; + Width = 312, ; + ZOrderSet = 24, ; + Text_simplu1.ControlSource = "poMf.gestiune", ; + Text_simplu1.Height = 23, ; + Text_simplu1.Left = 132, ; + Text_simplu1.Name = "Text_simplu1", ; + Text_simplu1.ReadOnly = .T., ; + Text_simplu1.ToolTipText = "Dublu click pentru modificare", ; + Text_simplu1.Top = 3, ; + Text_simplu1.Width = 176, ; + Lb_simplu1.Caption = "Gestiune", ; + Lb_simplu1.Name = "Lb_simplu1" + *< END OBJECT: ClassLib="lb_tx.vcx" BaseClass="container" /> + + ADD OBJECT 'Clb_lucrare' AS clb_tx_simplu WITH ; + Anchor = 9, ; + Left = 368, ; + Name = "Clb_lucrare", ; + TabIndex = 13, ; + ToolTipText = "Dublu click pentru modificare", ; + Top = 187, ; + Width = 312, ; + ZOrderSet = 23, ; + Text_simplu1.ControlSource = "poMf.nrord", ; + Text_simplu1.Height = 23, ; + Text_simplu1.Left = 132, ; + Text_simplu1.Name = "Text_simplu1", ; + Text_simplu1.ReadOnly = .T., ; + Text_simplu1.ToolTipText = "Dublu click pentru modificare", ; + Text_simplu1.Top = 3, ; + Text_simplu1.Width = 176, ; + Lb_simplu1.Caption = "Lucrare", ; + Lb_simplu1.Name = "Lb_simplu1" + *< END OBJECT: ClassLib="lb_tx.vcx" BaseClass="container" /> + + ADD OBJECT 'Clb_nract' AS clb_tx_simplu WITH ; + Height = 29, ; + Left = 22, ; + Name = "Clb_nract", ; + TabIndex = 1, ; + Top = 47, ; + Width = 312, ; + ZOrderSet = 7, ; + Text_simplu1.Alignment = 3, ; + Text_simplu1.ControlSource = "poMf.nract", ; + Text_simplu1.Format = "!KZ", ; + Text_simplu1.Height = 23, ; + Text_simplu1.Left = 132, ; + Text_simplu1.Name = "Text_simplu1", ; + Text_simplu1.ReadOnly = .T., ; + Text_simplu1.Top = 3, ; + Text_simplu1.Value = 0, ; + Text_simplu1.Width = 176, ; + Lb_simplu1.Caption = "Nr. document", ; + Lb_simplu1.Name = "Lb_simplu1" + *< END OBJECT: ClassLib="lb_tx.vcx" BaseClass="container" /> + + ADD OBJECT 'Clb_responsabil' AS clb_tx_simplu WITH ; + Anchor = 9, ; + Left = 368, ; + Name = "Clb_responsabil", ; + TabIndex = 11, ; + ToolTipText = "Dublu click pentru modificare", ; + Top = 131, ; + Width = 312, ; + ZOrderSet = 25, ; + Text_simplu1.ControlSource = "poMf.responsabil", ; + Text_simplu1.Height = 23, ; + Text_simplu1.Left = 132, ; + Text_simplu1.Name = "Text_simplu1", ; + Text_simplu1.ReadOnly = .T., ; + Text_simplu1.ToolTipText = "Dublu click pentru modificare", ; + Text_simplu1.Top = 3, ; + Text_simplu1.Width = 176, ; + Lb_simplu1.Caption = "Responsabil", ; + Lb_simplu1.Name = "Lb_simplu1" + *< END OBJECT: ClassLib="lb_tx.vcx" BaseClass="container" /> + + ADD OBJECT 'Clb_sectie' AS clb_tx_simplu WITH ; + Anchor = 9, ; + Left = 368, ; + Name = "Clb_sectie", ; + TabIndex = 12, ; + Top = 159, ; + Width = 312, ; + ZOrderSet = 22, ; + Text_simplu1.ControlSource = "poMf.sectie", ; + Text_simplu1.Height = 23, ; + Text_simplu1.Left = 132, ; + Text_simplu1.Name = "Text_simplu1", ; + Text_simplu1.ReadOnly = .T., ; + Text_simplu1.ToolTipText = "Dublu click pentru modificare", ; + Text_simplu1.Top = 3, ; + Text_simplu1.Width = 176, ; + Lb_simplu1.Caption = "Sectie", ; + Lb_simplu1.Name = "Lb_simplu1" + *< END OBJECT: ClassLib="lb_tx.vcx" BaseClass="container" /> + + ADD OBJECT 'Clb_sucursala' AS clb_tx_simplu WITH ; + Anchor = 9, ; + Left = 368, ; + Name = "Clb_sucursala", ; + TabIndex = 14, ; + ToolTipText = "Dublu click pentru modificare", ; + Top = 215, ; + Width = 312, ; + ZOrderSet = 23, ; + Text_simplu1.ControlSource = "poMf.sucursala", ; + Text_simplu1.Height = 23, ; + Text_simplu1.Left = 132, ; + Text_simplu1.Name = "Text_simplu1", ; + Text_simplu1.ReadOnly = .T., ; + Text_simplu1.ToolTipText = "Dublu click pentru modificare", ; + Text_simplu1.Top = 3, ; + Text_simplu1.Width = 176, ; + Lb_simplu1.Caption = "Sucursala", ; + Lb_simplu1.Name = "Lb_simplu1" + *< END OBJECT: ClassLib="lb_tx.vcx" BaseClass="container" /> + + ADD OBJECT 'Clb_tx_simplu1' AS clb_tx_simplu WITH ; + Anchor = 9, ; + Left = 368, ; + Name = "Clb_tx_simplu1", ; + TabIndex = 8, ; + TabStop = .F., ; + Top = 47, ; + Width = 312, ; + Text_simplu1.ControlSource = "poMF.cont", ; + Text_simplu1.Height = 23, ; + Text_simplu1.Left = 172, ; + Text_simplu1.MaxLength = 4, ; + Text_simplu1.Name = "Text_simplu1", ; + Text_simplu1.ReadOnly = .T., ; + Text_simplu1.Top = 3, ; + Text_simplu1.Width = 65, ; + Lb_simplu1.Caption = "Cont", ; + Lb_simplu1.Name = "Lb_simplu1" + *< END OBJECT: ClassLib="lb_tx.vcx" BaseClass="container" /> + + ADD OBJECT 'Clb_tx_simplu1.txtAcont' AS _textbox WITH ; + ControlSource = "poMF.acont", ; + Format = "!K", ; + Height = 23, ; + Left = 242, ; + MaxLength = 4, ; + Name = "txtAcont", ; + ReadOnly = .T., ; + Top = 2, ; + Width = 65 + *< END OBJECT: ClassLib="_baza.vcx" BaseClass="textbox" /> + + ADD OBJECT 'Clb_valoare' AS clb_tx_simplu WITH ; + Height = 29, ; + Left = 25, ; + Name = "Clb_valoare", ; + TabIndex = 5, ; + Top = 255, ; + Width = 312, ; + ZOrderSet = 28, ; + Text_simplu1.Alignment = 3, ; + Text_simplu1.ControlSource = "poOper.valoare_rol", ; + Text_simplu1.Format = "!K", ; + Text_simplu1.Height = 23, ; + Text_simplu1.InputMask = (get_mask(14,gnPa)), ; + Text_simplu1.Left = 132, ; + Text_simplu1.Name = "Text_simplu1", ; + Text_simplu1.ReadOnly = .T., ; + Text_simplu1.Top = 3, ; + Text_simplu1.Value = 0, ; + Text_simplu1.Width = 176, ; + Lb_simplu1.Caption = "Valoare", ; + Lb_simplu1.Name = "Lb_simplu1" + *< END OBJECT: ClassLib="..\..\..\roaimob\comun\clase\lb_tx.vcx" BaseClass="container" /> + + ADD OBJECT 'Ed_denumire' AS ed_tx_simplu WITH ; + Height = 44, ; + Left = 22, ; + Name = "Ed_denumire", ; + TabIndex = 3, ; + Top = 103, ; + Width = 312, ; + ZOrderSet = 14, ; + _edbase1.ControlSource = "poMf.denumire", ; + _edbase1.Height = 37, ; + _edbase1.Left = 86, ; + _edbase1.MaxLength = 100, ; + _edbase1.Name = "_edbase1", ; + _edbase1.Top = 2, ; + _edbase1.Width = 222, ; + _lbbase1.AutoSize = .F., ; + _lbbase1.Caption = "Denumire / Explicatia 4", ; + _lbbase1.Height = 35, ; + _lbbase1.Left = 8, ; + _lbbase1.Name = "_lbbase1", ; + _lbbase1.Top = 6, ; + _lbbase1.Width = 78, ; + _lbbase1.WordWrap = .T. + *< END OBJECT: ClassLib="lb_tx.vcx" BaseClass="container" /> + + ADD OBJECT 'Ed_tx_simplu1' AS ed_tx_simplu WITH ; + Height = 72, ; + Left = 22, ; + Name = "Ed_tx_simplu1", ; + TabIndex = 4, ; + Top = 146, ; + Width = 312, ; + ZOrderSet = 15, ; + _edbase1.ControlSource = "poMf.explicatia", ; + _edbase1.Height = 67, ; + _edbase1.Left = 86, ; + _edbase1.MaxLength = 100, ; + _edbase1.Name = "_edbase1", ; + _edbase1.TabIndex = 1, ; + _edbase1.Top = 2, ; + _edbase1.Width = 222, ; + _lbbase1.AutoSize = .T., ; + _lbbase1.Caption = "Explicatie / Explicatia 5", ; + _lbbase1.Height = 34, ; + _lbbase1.Left = 8, ; + _lbbase1.Name = "_lbbase1", ; + _lbbase1.TabIndex = 2, ; + _lbbase1.Top = 6, ; + _lbbase1.Width = 70, ; + _lbbase1.WordWrap = .T. + *< END OBJECT: ClassLib="lb_tx.vcx" BaseClass="container" /> + + ADD OBJECT 'Label2' AS label WITH ; + Anchor = 9, ; + AutoSize = .T., ; + BackColor = 255,255,255, ; + BackStyle = 1, ; + Caption = "Atribute", ; + Height = 17, ; + Left = 371, ; + Name = "Label2", ; + TabIndex = 20, ; + ToolTipText = "Modificarile din Lista MF sunt valabile de la luna curenta pana la luna urmatoarei modificari", ; + Top = 30, ; + Width = 43, ; + ZOrderSet = 18 + *< END OBJECT: BaseClass="label" /> + + ADD OBJECT 'Label3' AS label WITH ; + AutoSize = .T., ; + BackColor = 255,255,255, ; + BackStyle = 1, ; + Caption = "Operatie", ; + Height = 17, ; + Left = 25, ; + Name = "Label3", ; + TabIndex = 17, ; + Top = 232, ; + Width = 49, ; + ZOrderSet = 32 + *< END OBJECT: BaseClass="label" /> + + ADD OBJECT 'lblInformatii' AS label WITH ; + AutoSize = .T., ; + BackColor = 255,255,255, ; + BackStyle = 1, ; + Caption = "Informatii venituri/cheltuieli in avans", ; + Height = 17, ; + Left = 24, ; + Name = "lblInformatii", ; + TabIndex = 19, ; + ToolTipText = "", ; + Top = 29, ; + Width = 196, ; + ZOrderSet = 17 + *< END OBJECT: BaseClass="label" /> + + ADD OBJECT 'Shape1' AS shape WITH ; + BackStyle = 0, ; + Curvature = 10, ; + Height = 185, ; + Left = 9, ; + Name = "Shape1", ; + Top = 40, ; + Width = 338, ; + ZOrderSet = 1 + *< END OBJECT: BaseClass="shape" /> + + ADD OBJECT 'Shape2' AS shape WITH ; + Anchor = 9, ; + BackStyle = 0, ; + Curvature = 10, ; + Height = 212, ; + Left = 356, ; + Name = "Shape2", ; + Top = 40, ; + Width = 338, ; + ZOrderSet = 2 + *< END OBJECT: BaseClass="shape" /> + + ADD OBJECT 'Shape3' AS shape WITH ; + BackStyle = 0, ; + Curvature = 10, ; + Height = 108, ; + Left = 10, ; + Name = "Shape3", ; + Top = 240, ; + Width = 338, ; + ZOrderSet = 0 + *< END OBJECT: BaseClass="shape" /> + + PROCEDURE inainte_de_do_termin + LOCAL lcContVenChelt + PRIVATE plReturn + plReturn = .T. + lcContVenChelt = ALLTRIM(poMF.contD) + + IF aMESSAGEBOX("Doriti sa salvati modificarile?",4+32,"Confirmare")!=6 + RETURN .F. + ENDIF + + DO CASE + CASE EMPTY(poMf.denumire) + aMESSAGEBOX("Nu ati completat denumirea!",0+48,"Atentie") + THISFORM.ed_denumire._edbase1.SETFOCUS() + plReturn=.F. + CASE EMPTY(poMf.cont) + aMESSAGEBOX("Nu ati introdus contul!",0+48,"Atentie") + THISFORM.clb_tx_simplu1.texT_SIMPLU1.SETFOCUS() + plReturn=.F. + CASE EMPTY(m.lcContVenChelt) + MESSAGEBOX('Nu ati introdus contul venit/cheltuiala!',0+48, "Atentie") + Thisform.clb_cont.text_simplu1.SetFocus() + plReturn = .F. + CASE !exista_cont_in_plan_conturi(m.lcContVenChelt) + *!* MESSAGEBOX('Nu exista contul venit/cheltuiala in planul de conturi!',0+48, "Atentie") + Thisform.clb_cont.text_simplu1.SetFocus() + plReturn = .F. + + OTHERWISE + plReturn = .t. + ENDCASE + RETURN m.plReturn + + ENDPROC + + PROCEDURE Init + DoDefault() + THIS.clb_Sucursala.Visible = glEMama + ENDPROC + + PROCEDURE Clb_cont.Text_simplu1.LostFocus + LOCAL llReturn, lcCont + lcCont = ALLTRIM(poMF.contD) + llReturn=exista_cont_in_plan_conturi(m.lcCont) && in oOperatii_comune.prg + RETURN m.llReturn + ENDPROC + + PROCEDURE Clb_cont.txtAcont.Click + This.LostFocus(.T.) + ENDPROC + + PROCEDURE Clb_cont.txtAcont.LostFocus + Parameters tlClick + Local lcAcont, lcCont, llReturn + PRIVATE pcCont, pcAcont + + lcCont = ALLTRIM(NVL(poMF.contD,'')) + lcAcont = ALLTRIM(NVL(poMF.acontD,'')) + + pcCont = m.lcCont + pcAcont = m.lcAcont + + llReturn = verific_analitic(m.tlClick, m.lcCont, m.lcAcont) && in oOperatii_comune.prg + + If m.llReturn + poMF.acontD = ALLTRIM(NVL(m.pcAcont,'')) + this.Refresh() + ENDIF + RETURN .T. + ENDPROC + + PROCEDURE Clb_dataact.Text_simplu1.Valid + *!* Thisform.clb_datapif.text_simplu1.Value=this.Value + ENDPROC + + PROCEDURE Clb_data_rata.Text_simplu1.Valid + poOper.data_operatie = GOMONTH(m.pdDataRata, -1) && data operatiei trebuie sa fie mai mica decat data ratei, altfel nu pot sa vad imobilizarea in luna introducerii + + *!* IF MONTH(pdDataRata) + 12*YEAR(pddataRata) < MONTH(poOper.data_operatie) + YEAR(poOper.data_operatie)*12 + *!* aMESSAGEBOX("Data ratei trebuie sa fie mai mare sau egala cu decat data operatiei!",0,"Atentie") + *!* RETURN 0 + *!* ENDIF + poRata.an = YEAR(pdDataRata) + poRata.luna = MONTH(pdDataRata) + poRata.data_ultima_rata = GOMONTH(pdDataRata, poOper.dns_ramas-1) + poRata.an_exp = YEAR(poRata.data_ultima_rata) + poRata.luna_exp = MONTH(poRata.data_ultima_rata) + poRata.data_ultima_rata = DATE(poRata.an_exp,poRata.luna_exp,1) + + + ENDPROC + + PROCEDURE Clb_dns_ramas.Text_simplu1.Valid + poMf.dns_luni = poOper.dns_ramas + poRata.uzura_prec = poMf.dns_luni - poOper.dns_ramas + poRata.cota_an = ROUND((1 / poOper.dns_ramas) * 100 * 12, 2) + lnAnRon = VAL(SUBSTR(gcDataRon,4,4)) + lnLunaRon = VAL(SUBSTR(gcDataRon,1,2)) + lnPrecizie = IIF(poOper.data_operatie < DATE(lnAnRon,lnLunaRon,1), 0, gnPC) + poRata.rata_rol = ROUND(poOper.valoare_ramasa_rol * poRata.cota_an / 12 / 100, lnPrecizie) + poRata.data_ultima_rata = GOMONTH(pdDataRata, poOper.dns_ramas - 1) + poRata.an_exp = YEAR(poRata.data_ultima_rata) + poRata.luna_exp = MONTH(poRata.data_ultima_rata) + poRata.data_ultima_rata = DATE(poRata.an_exp,poRata.luna_exp,1) && sa fie 1 ale lunii + + IF poOper.dns_ramas = 0 OR poOper.id_tip_operatie = 4 OR poOper.id_tip_operatie = 10 + poRata.ultima_rata_rol = 0 + else + poRata.ultima_rata_rol = poRata.rata_rol + (poOper.valoare_ramasa_rol - poRata.rata_rol * (12 * poRata.an_exp + poRata.luna_exp -(12 * poRata.an + poRata.luna) + 1)) + ENDIF + *!* thisform.clb_uzura.Refresh + *!* thisform.clb_cota_an.Refresh + *!* thisform.clb_rata.Refresh + *!* thisform.clb_ultima_rata.Refresh + *!* thisform.clb_data_ultima_rata.Refresh + ENDPROC + + PROCEDURE Clb_gestiune.Text_simplu1.DblClick + Store "" To locauta + pcselect = ['select nume_gestiune, cgest,id_gestiune FROM ] + gcs + [.vnom_gestiuni where inactiv=0'] + pcfiltru = [1=2] + pcschema = [''] + pcorder = [nume_gestiune, cgest] + pccoloane = [nume_gestiune,cgest,id_gestiune] + pcTitlu = [Alegeti gestiunea] + pcTitluColoane = [Gestiune,Cod,ID] + locauta = cauta_alfa(pcselect,pcfiltru,pcschema,pcorder,pccoloane,pcTitlu,pcTitluColoane,"") + If !Empty(locauta.nume_gestiune) + poMf.id_gestiune=locauta.id_gestiune + poMf.gestiune = ALLTRIM(locauta.nume_gestiune) + Endif + + ENDPROC + + PROCEDURE Clb_gestiune.Text_simplu1.GotFocus + If Empty(This.Value) + this.DblClick + Endif + ENDPROC + + PROCEDURE Clb_lucrare.Text_simplu1.DblClick + Store "" To locauta + pcselect = ['select nrord,id_lucrare FROM ] + gcs + [.vnom_lucrari where inactiv=0'] + pcfiltru = [1=2] + pcschema = [''] + pcorder = [nrord] + pccoloane = [nrord] + pcTitlu = [Alegeti lucrarea] + pcTitluColoane = [Lucrare] + locauta = cauta_alfa(pcselect,pcfiltru,pcschema,pcorder,pccoloane,pcTitlu,pcTitluColoane,"") + If !Empty(locauta.nrord) + poMf.id_lucrare=locauta.id_lucrare + poMf.nrord=Alltrim(locauta.nrord) + Endif + ENDPROC + + PROCEDURE Clb_lucrare.Text_simplu1.GotFocus + If Empty(This.Value) + this.DblClick + Endif + ENDPROC + + PROCEDURE Clb_responsabil.Text_simplu1.DblClick + Store "" To locauta + pcselect = ['select nume,id_responsabil FROM ] + gcs + [.vnom_responsabili where inactiv=0'] + pcfiltru = [1=2] + pcschema = [''] + pcorder = [nume] + pccoloane = [nume] + pcTitlu = [Alegeti responsabilul] + pcTitluColoane = [Responsabil] + locauta = cauta_alfa(pcselect,pcfiltru,pcschema,pcorder,pccoloane,pcTitlu,pcTitluColoane,"") + If !Empty(locauta.nume) + poMf.id_responsabil=locauta.id_responsabil + poMf.responsabil=Alltrim(locauta.nume) + Endif + ENDPROC + + PROCEDURE Clb_responsabil.Text_simplu1.GotFocus + If Empty(This.Value) + this.DblClick + Endif + ENDPROC + + PROCEDURE Clb_sectie.Text_simplu1.DblClick + Store "" To locauta + pcselect = ['select sectie,id_sectie FROM ] + gcs + [.vnom_sectii where inactiv=0'] + pcfiltru = [1=2] + pcschema = [''] + pcorder = [sectie] + pccoloane = [sectie] + pcTitlu = [Alegeti sectia] + pcTitluColoane = [Sectie] + locauta = cauta_alfa(pcselect,pcfiltru,pcschema,pcorder,pccoloane,pcTitlu,pcTitluColoane,"") + If !Empty(locauta.sectie) + poMf.id_sectie=locauta.id_sectie + poMf.sectie=Alltrim(locauta.sectie) + Endif + ENDPROC + + PROCEDURE Clb_sectie.Text_simplu1.GotFocus + If Empty(This.Value) + this.DblClick + Endif + ENDPROC + + PROCEDURE Clb_sucursala.Text_simplu1.DblClick + llBlank = .T. + llNou = .F. + llToateIreg = .F. + loSucursala = caut_sucursala(llToateIreg, llNou, llBlank) + poMf.id_sucursala = loSucursala.id_sucursala + poMf.sucursala = Alltrim(loSucursala.sucursala) + ENDPROC + +ENDDEFINE + +DEFINE CLASS stop AS ffergen OF "_frm_base.vcx" + *< CLASSDATA: Baseclass="form" Timestamp="" Scale="Pixels" Uniqueid="" /> + + *-- OBJECTDATA items order determines ZOrder / El orden de los items OBJECTDATA determina el ZOrder + *< OBJECTDATA: ObjPath="Shape1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="Cmd_termin1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="Label2" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="Label3" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="Image1" UniqueID="" Timestamp="" /> + + * + AutoCenter = .T. + Closable = .F. + ControlBox = .F. + DoCreate = .T. + Height = 100 + MaxButton = .F. + MinButton = .F. + Movable = .F. + Name = "stop" + TitleBar = 0 + Width = 377 + WindowState = 0 + WindowType = 0 + * + + ADD OBJECT 'Cmd_termin1' AS cmd_termin WITH ; + Caption = "\ + + ADD OBJECT 'Image1' AS image WITH ; + BackStyle = 0, ; + Height = 32, ; + Left = 18, ; + Name = "Image1", ; + Picture = ..\grafice\info_c.ico, ; + Top = 9, ; + Width = 32, ; + ZOrderSet = 4 + *< END OBJECT: BaseClass="image" /> + + ADD OBJECT 'Label2' AS label WITH ; + AutoSize = .T., ; + Caption = "Label2", ; + Height = 17, ; + Left = 73, ; + Name = "Label2", ; + Top = 17, ; + Width = 40, ; + ZOrderSet = 2 + *< END OBJECT: BaseClass="label" /> + + ADD OBJECT 'Label3' AS label WITH ; + Alignment = 2, ; + Caption = "Label3", ; + Height = 17, ; + Left = 14, ; + Name = "Label3", ; + Top = 43, ; + Width = 348, ; + ZOrderSet = 3 + *< END OBJECT: BaseClass="label" /> + + ADD OBJECT 'Shape1' AS shape WITH ; + BackStyle = 0, ; + Height = 92, ; + Left = 4, ; + Name = "Shape1", ; + SpecialEffect = 0, ; + Style = 0, ; + Top = 4, ; + Width = 368, ; + ZOrderSet = 0 + *< END OBJECT: BaseClass="shape" /> + + PROCEDURE Cmd_termin1.Click + buton=1 + IF TYPE("THISFORM.Parent") = "O" + THISFORMSET.Release + ELSE + THISFORM.Release + ENDIF + + ENDPROC + +ENDDEFINE diff --git a/clase/opersonal.vc2 b/clase/opersonal.vc2 new file mode 100644 index 0000000..0b8faf4 --- /dev/null +++ b/clase/opersonal.vc2 @@ -0,0 +1,18627 @@ +*-------------------------------------------------------------------------------------------------------------------------------------------------------- +* (EN) AUTOGENERATED - ATTENTION!! - NOT INTENDED FOR EXECUTION!! USE ONLY FOR MERGING CHANGES AND STORING WITH SCM TOOLS!! +*-------------------------------------------------------------------------------------------------------------------------------------------------------- +*< FOXBIN2PRG: Version="1.21" SourceFile="opersonal.vcx" CPID="1252" /> (Solo para binarios VFP 9 / Only for VFP 9 binaries) +* +* +DEFINE CLASS _container AS container + *< CLASSDATA: Baseclass="container" Timestamp="" Scale="Pixels" Uniqueid="" /> + + *-- OBJECTDATA items order determines ZOrder / El orden de los items OBJECTDATA determina el ZOrder + *< OBJECTDATA: ObjPath="Shape3" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="Line1" UniqueID="" Timestamp="" /> + + * + BackStyle = 0 + BorderWidth = 0 + Height = 35 + Name = "_container" + Width = 639 + * + + ADD OBJECT 'Line1' AS line WITH ; + BorderColor = 99,148,234, ; + Height = 0, ; + Left = 0, ; + Name = "Line1", ; + Top = 0, ; + Width = 541 + *< END OBJECT: BaseClass="line" /> + + ADD OBJECT 'Shape3' AS _shape WITH ; + Anchor = 14, ; + BackColor = 181,198,255, ; + BorderColor = 99,148,234, ; + Curvature = 15, ; + Height = 39, ; + Left = 0, ; + Name = "Shape3", ; + Top = -5, ; + Width = 541 + *< END OBJECT: ClassLib="..\..\comun\clase\_baza.vcx" BaseClass="shape" /> + + PROCEDURE Init + This.Shape3.Width = THis.Width - 1 + This.Shape3.Height = THis.Height - 4 + ENDPROC + +ENDDEFINE + +DEFINE CLASS but_noup AS buton OF "_cmd_base.vcx" + *< CLASSDATA: Baseclass="commandbutton" Timestamp="" Scale="Pixels" Uniqueid="" /> + + * + caction = do_adauga + cpicturedown = nou_jos_dis.bmp + cpictureup = nou_sus_dis.bmp + Name = "but_noup" + Picture = ..\grafice\nou_sus_dis.bmp + ToolTipText = "Adaugare (CTRL+N)" + * + +ENDDEFINE + +DEFINE CLASS cus_odata_articol AS _cusodatabase OF "_cus_odata_base.vcx" + *< CLASSDATA: Baseclass="custom" Timestamp="" Scale="Pixels" Uniqueid="" /> + + * + Name = "cus_odata_articol" + * + + PROCEDURE make_sql + Lparameters toRec,tnId + + lcActiune = Alltrim(This.cActiune) + + If Inlist(lcActiune, "UPDATE",'INSERT') And Type('toRec') != "O" + Return .F. + Endif + + If Inlist(lcActiune, "UPDATE",'DELETE') And Type('tnId') != "N" + Return .F. + Endif + + If Inlist(lcActiune, "UPDATE",'DELETE') + lcId = Alltrim(Str(tnId)) + + Endif + If Inlist(lcActiune, "UPDATE",'INSERT') + lnIdArticol = NVL(ALLTRIM(STR(torec.id_articol)),"") + lnIdConditie = NVL(ALLTRIM(STR(torec.id_conditie)),"") + lnCant = NVL(ALLTRIM(STR(torec.cantitate,10,4)),"") + Endif + + + Do Case + Case lcActiune = "INSERT" + + lcSql = [INSERT INTO necesar_echip (id_articol,id_conditie,cantitate) VALUES (] + lnIdArticol + ; + [,] + lnIdConditie + [,] + lnCant + [)] + + + Case lcActiune = "UPDATE" + + lcSql = [UPDATE necesar_echip SET id_articol = ] + lnIdArticol + ; + [,id_conditie = ] + lnIdConditie + [,cantitate = ] + lnCant + [ where id_nec = ] + lcId + + Case lcActiune = "DELETE" + + lcSql = [UPDATE necesar_echip set sters = 1 where id_nec = ] + lcId + Endcase + + This.csql = lcSql + + ENDPROC + +ENDDEFINE + +DEFINE CLASS cus_odata_atas AS _cusodatabase OF "_cus_odata_base.vcx" + *< CLASSDATA: Baseclass="custom" Timestamp="" Scale="Pixels" Uniqueid="" /> + + * + Name = "cus_odata_atas" + * + + PROCEDURE make_sql + Lparameters toRec,tnId + + lcActiune = Alltrim(This.cActiune) + + If Inlist(lcActiune, "UPDATE",'DELETE') And Type('tnId') != "N" + Return .F. + Endif + + If Inlist(lcActiune, "UPDATE",'DELETE') + lcId = Alltrim(Str(tnId)) + + Endif + + Do Case + + Case lcActiune = "DELETE" + + lcSql = [UPDATE sal_atasamente set sters = 1 where id_sal_atasamente = ] + lcId + Endcase + + This.csql = lcSql + + ENDPROC + +ENDDEFINE + +DEFINE CLASS cus_odata_avize AS _cusodatabase OF "_cus_odata_base.vcx" + *< CLASSDATA: Baseclass="custom" Timestamp="" Scale="Pixels" Uniqueid="" /> + + * + Name = "cus_odata_avize" + * + + PROCEDURE make_sql + Lparameters toRec,tnId + + lcActiune = Alltrim(This.cActiune) + + If Inlist(lcActiune, "UPDATE",'INSERT') And Type('toRec') != "O" + Return .F. + Endif + + If Inlist(lcActiune, "UPDATE",'DELETE') And Type('tnId') != "N" + Return .F. + Endif + + If Inlist(lcActiune, "UPDATE",'DELETE') + lcId = Alltrim(Str(tnId)) + *!* lclook = gcS + ".dev_oper_mecanici" + *!* lclookid = "dev_oper_mecanici.id_mecanic" + Endif + If Inlist(lcActiune, "UPDATE",'INSERT') + + lcAviz = Nvl(ALLTRIM(toRec.aviz),"") + lcData1 = NVL(ALLTRIM(DTOS(torec.data1)),"") + lcData2 = NVL(ALLTRIM(DTOS(torec.data2)),"") + lcIdP = Nvl(ALLTRIM(STR(toRec.id_persoana)),"") + + + Endif + + + Do Case + Case lcActiune = "INSERT" + + lcSql = [INSERT INTO sal_avize (aviz,data1,data2,id_persoana) VALUES (']; + + lcAviz + [',to_date('] + lcData1 + [','YYYYMMDD'),to_date('] + lcData2 + [','YYYYMMDD'),]+lcIdp+[)] + + Case lcActiune = "UPDATE" + + lcSql = [UPDATE sal_avize SET ]+; + [aviz='] + lcAviz + [',data1 = to_date('] + lcData1 + [','YYYYMMDD')]+; + [,data2 =to_date('] + lcData2 + [','YYYYMMDD')]+; + [,id_persoana = ]+ lcIdp +; + [ where id_aviz = ] + lcId + + Case lcActiune = "DELETE" + + lcSql = [update sal_avize set sters=1 where id_aviz =]+lcid + *lcSql = [begin nomdelproc('] + lcnom + [','] + lcamp + [',] + lcid + [,'] + lclook + [','] + lclookid + ['); end;] + *!* lcSql = [delete from ] + gcS + [.sal_centralizator WHERE id_centralizator = ] + lcId + Endcase + + This.csql = lcSql + + ENDPROC + +ENDDEFINE + +DEFINE CLASS cus_odata_bazacm AS _cusodatabase OF "_cus_odata_base.vcx" + *< CLASSDATA: Baseclass="custom" Timestamp="" Scale="Pixels" Uniqueid="" /> + + * + Name = "cus_odata_bazacm" + * + + PROCEDURE make_sql + Lparameters toRec,tnId + + lcActiune = Alltrim(This.cActiune) + + If Inlist(lcActiune, "UPDATE",'INSERT') And Type('toRec') != "O" + Return .F. + Endif + + If Inlist(lcActiune, "UPDATE",'DELETE') And Type('tnId') != "N" + Return .F. + Endif + + If Inlist(lcActiune, "UPDATE",'DELETE') + lcId = Alltrim(Str(tnId)) + *!* lclook = gcS + ".dev_oper_mecanici" + *!* lclookid = "dev_oper_mecanici.id_mecanic" + Endif + If Inlist(lcActiune, "UPDATE",'INSERT') + + lcLuna = Nvl(ALLTRIM(str(toRec.luna)),"0") + lcAn = Nvl(ALLTRIM(str(toRec.an)),"0") + lcBazacalcul = Nvl(Alltrim(Str(toRec.bazacalcul)),"0") + lcZilelucr = Nvl(Alltrim(Str(toRec.zilelucr)),"0") + lcId_stat = Nvl(Alltrim(Str(toRec.id_stat)),"0") + + + Endif + + + Do Case + Case lcActiune = "INSERT" + + lcSql = [INSERT INTO sal_baze_cm (an,luna,bazacalcul,zilelucr,id_stat) VALUES (]; + + lcAn + [,] + lcLuna + [,]+lcBazacalcul+[,]+lcZIlelucr + [,]+lcid_stat +[)] + + Case lcActiune = "UPDATE" + + lcSql = [UPDATE sal_baze_cm SET ]+; + [an=] + lcAn+ [,luna = ]+ lcLuna +; + [,Bazacalcul =]+lcBazaCalcul+; + [,zilelucr = ]+ lcZilelucr +; + [ where id_bazacm = ] + lcId + + Case lcActiune = "DELETE" + + lcSql = [update sal_baze_cm set sters=1 where id_bazacm =]+lcid + *lcSql = [begin nomdelproc('] + lcnom + [','] + lcamp + [',] + lcid + [,'] + lclook + [','] + lclookid + ['); end;] + *!* lcSql = [delete from ] + gcS + [.sal_centralizator WHERE id_centralizator = ] + lcId + Endcase + + This.csql = lcSql + + ENDPROC + +ENDDEFINE + +DEFINE CLASS cus_odata_completeznrdata112 AS _cusodatabase OF "_cus_odata_base.vcx" + *< CLASSDATA: Baseclass="custom" Timestamp="" Scale="Pixels" Uniqueid="" /> + + * + Name = "cus_odata_completeznrdata112" + * + + PROCEDURE make_sql + Lparameters toRec,tnId + + lcActiune = Alltrim(This.cActiune) + + If Inlist(lcActiune, "UPDATE",'INSERT') And Type('toRec') != "O" + Return .F. + Endif + + If Inlist(lcActiune, "UPDATE",'DELETE') And Type('tnId') != "N" + Return .F. + Endif + + If Inlist(lcActiune, "UPDATE",'DELETE') + lcId = Alltrim(Str(tnId)) + lcnom = gcS + ".sal_calendar" + lcamp = "id_calendar" + Endif + If Inlist(lcActiune, "UPDATE",'INSERT') + lcnrdata112 = NVL(ALLTRIM(torec.nrdata112),"") + Endif + + + Do Case + Case lcActiune = "INSERT" + + *!* lcSql = [INSERT INTO SAL_NOM_ACTE (nume_act) VALUES (']; + *!* + lcnumeact + [')] + + Case lcActiune = "UPDATE" + + lcSql = [UPDATE sal_calendar SET nrdata112 = '] + lcnrdata112 + ; + [' where id_calendar = ] + lcId + + Case lcActiune = "DELETE" + + *!* lcSql = [begin nomdelproc('] + lcnom + [','] + lcamp + [',] + lcid + [,'] + lclook + [','] + lclookid + ['); end;] + Endcase + + This.csql = lcSql + + ENDPROC + +ENDDEFINE + +DEFINE CLASS cus_odata_cond AS _cusodatabase OF "_cus_odata_base.vcx" + *< CLASSDATA: Baseclass="custom" Timestamp="" Scale="Pixels" Uniqueid="" /> + + * + Name = "cus_odata_cond" + * + + PROCEDURE make_sql + Lparameters toRec,tnId + + lcActiune = Alltrim(This.cActiune) + + If Inlist(lcActiune, "UPDATE",'INSERT') And Type('toRec') != "O" + Return .F. + Endif + + If Inlist(lcActiune, "UPDATE",'DELETE') And Type('tnId') != "N" + Return .F. + Endif + + If Inlist(lcActiune, "UPDATE",'DELETE') + lcId = Alltrim(Str(tnId)) + + Endif + If Inlist(lcActiune, "UPDATE",'INSERT') + lcDenumire = NVL(UPPER(ALLTRIM(torec.denumire)),"") + lcConditie = NVL(UPPER(ALLTRIM(torec.conditie)),"") + + Endif + + + Do Case + Case lcActiune = "INSERT" + + lcSql = [INSERT INTO nom_conditii_echip (denumire,conditie) VALUES ('] + lcDenumire + ; + [','] + lcConditie + [')] + + + Case lcActiune = "UPDATE" + + lcSql = [UPDATE nom_conditii_echip SET denumire = '] + lcDenumire + [',conditie = '] + lcConditie + ; + [' where id_conditie = ] + lcId + + Case lcActiune = "DELETE" + + lcSql = [begin pack_personal.sterge_conditie(] + lcId + [); end;] + Endcase + + This.csql = lcSql + + ENDPROC + +ENDDEFINE + +DEFINE CLASS cus_odata_curs AS _cusodatabase OF "_cus_odata_base.vcx" + *< CLASSDATA: Baseclass="custom" Timestamp="" Scale="Pixels" Uniqueid="" /> + + * + Name = "cus_odata_curs" + * + + PROCEDURE make_sql + Lparameters toRec,tnId + + lcActiune = Alltrim(This.cActiune) + + If Inlist(lcActiune, "UPDATE",'INSERT') And Type('toRec') != "O" + Return .F. + Endif + + If Inlist(lcActiune, "UPDATE",'DELETE') And Type('tnId') != "N" + Return .F. + Endif + + If Inlist(lcActiune, "UPDATE",'DELETE') + lcId = Alltrim(Str(tnId)) + + Endif + If Inlist(lcActiune, "UPDATE",'INSERT') + lnIdPers = NVL(ALLTRIM(STR(torec.id_persoana)),"") + lcNota = NVL(UPPER(ALLTRIM(torec.nota)),"") + lcTest = NVL(UPPER(ALLTRIM(torec.test)),"") + lnIdCurs = Nvl(ALLTRIM(STR(toRec.id_c)),"") + ldData = NVL(ALLTRIM(DTOS(torec.data)),"") + + *!* lData = torec.data + + + *!* lcinactiv = Nvl(ALLTRIM(STR(toRec.inactiv)),"") + Endif + + + Do Case + Case lcActiune = "INSERT" + + lcSql = [INSERT INTO sal_cursuri (id_c,id_persoana,nota,test,data) VALUES (] + lnIdCurs + ; + [,] + lnIdPers + [,'] + lcNota+ [','] + lcTest + [',to_date('] + ldData + [','YYYYMMDD'))] + + + Case lcActiune = "UPDATE" + + lcSql = [UPDATE sal_cursuri SET id_c = ] + lnIdCurs + [,id_persoana = ] + lnIdPers + ; + [,nota = '] + lcNota + [',test = '] + lcTest + [',data = to_date('] + ldData + [','YYYYMMDD')] + ; + [ where id_curs = ] + lcId + + Case lcActiune = "DELETE" + + lcSql = [UPDATE ] + gcs + [.sal_cursuri set sters = 1 where id_curs = ] + lcId + Endcase + + This.csql = lcSql + + ENDPROC + +ENDDEFINE + +DEFINE CLASS cus_odata_echip AS _cusodatabase OF "_cus_odata_base.vcx" + *< CLASSDATA: Baseclass="custom" Timestamp="" Scale="Pixels" Uniqueid="" /> + + * + Name = "cus_odata_echip" + * + + PROCEDURE make_sql + Lparameters toRec,tnId + + lcActiune = Alltrim(This.cActiune) + + If Inlist(lcActiune, "UPDATE",'INSERT') And Type('toRec') != "O" + Return .F. + Endif + + If Inlist(lcActiune, "UPDATE",'DELETE') And Type('tnId') != "N" + Return .F. + Endif + + If Inlist(lcActiune, "UPDATE",'DELETE') + lcId = Alltrim(Str(tnId)) + + Endif + If Inlist(lcActiune, "UPDATE",'INSERT') + lnIdPart = NVL(ALLTRIM(STR(torec.id_part)),"") + lcNumar = NVL(UPPER(ALLTRIM(torec.numar)),"") + lnidArt = Nvl(ALLTRIM(STR(toRec.id_articol)),"") + + + *!* lcinactiv = Nvl(ALLTRIM(STR(toRec.inactiv)),"") + Endif + + + Do Case + Case lcActiune = "INSERT" + + lcSql = [INSERT INTO sal_echip (id_articol,numar,id_part) VALUES (] + lnidArt + ; + [,'] + lcNumar + [',] + lnIdPart + [)] + + + Case lcActiune = "UPDATE" + + lcSql = [UPDATE sal_echip SET id_articol = ] + lnidArt + [,id_part = ] + lnIdPart + ; + [,numar = '] + lcNumar + [' where id_echip = ] + lcId + + Case lcActiune = "DELETE" + + lcSql = [UPDATE sal_echip set sters = 1 where id_echip = ] + lcId + Endcase + + This.csql = lcSql + + ENDPROC + +ENDDEFINE + +DEFINE CLASS cus_odata_fam AS _cusodatabase OF "_cus_odata_base.vcx" + *< CLASSDATA: Baseclass="custom" Timestamp="" Scale="Pixels" Uniqueid="" /> + + * + Name = "cus_odata_fam" + * + + PROCEDURE make_sql + Lparameters toRec,tnId + + lcActiune = Alltrim(This.cActiune) + + + If Inlist(lcActiune, "UPDATE",'INSERT') And Type('toRec') != "O" + Return .F. + Endif + + If Inlist(lcActiune, "UPDATE",'DELETE') And Type('tnId') != "N" + Return .F. + Endif + + If Inlist(lcActiune, "UPDATE",'DELETE') + lcId = Alltrim(Str(tnId)) + lcnom = gcS + ".sal_copii" + + Endif + If Inlist(lcActiune, "UPDATE",'INSERT') + lcNume = NVL(UPPER(ALLTRIM(torec.nume)),"") + lcPrenume = NVL(UPPER(ALLTRIM(torec.prenume)),"") + lnCnp = Nvl(ALLTRIM(STR(toRec.codpers,13)),"") + lnIdP = Nvl(ALLTRIM(STR(toRec.id_persoana)),"") + ldDataNast = NVL(ALLTRIM(DTOS(torec.datanast)),"") + + *!* lcinactiv = Nvl(ALLTRIM(STR(toRec.inactiv)),"") + Endif + + + Do Case + Case lcActiune = "INSERT" + + lcSql = [INSERT INTO sal_copii (nume,prenume,codpers,id_persoana,datanast) VALUES ('] + lcNume+ [','] + lcPrenume + ; + [',] + lnCnp + [,] + lnIdP + [,to_date('] + ldDatanast + [','YYYYMMDD'))] + + Case lcActiune = "UPDATE" + + lcSql = [UPDATE sal_copii SET nume = '] +lcNume + [',prenume ='] + lcPrenume + ; + [',codpers = ] + lnCnp + [,datanast = to_date('] + ldDatanast + [','YYYYMMDD') where id_copil = ] + lcId + + Case lcActiune = "DELETE" + + *!* lcSql = [begin nomdelproc('] + lcnom + [','] + lcamp + [',] + lcid + [,'] + lclook + [','] + lclookid + ['); end;] + lcSql = [UPDATE sal_copii set sters = 1 where id_copil = ] + lcId + Endcase + + This.csql = lcSql + + ENDPROC + +ENDDEFINE + +DEFINE CLASS cus_odata_intret AS _cusodatabase OF "_cus_odata_base.vcx" + *< CLASSDATA: Baseclass="custom" Timestamp="" Scale="Pixels" Uniqueid="" /> + + * + Name = "cus_odata_intret" + * + + PROCEDURE make_sql + Lparameters toRec,tnId + + lcActiune = Alltrim(This.cActiune) + + If Inlist(lcActiune, "UPDATE",'INSERT') And Type('toRec') != "O" + Return .F. + Endif + + If Inlist(lcActiune, "UPDATE",'DELETE') And Type('tnId') != "N" + Return .F. + Endif + + If Inlist(lcActiune, "UPDATE",'DELETE') + lcId = Alltrim(Str(tnId)) + lcnom = gcS + ".sal_persintret" + + Endif + If Inlist(lcActiune, "UPDATE",'INSERT') + lcNume = NVL(UPPER(ALLTRIM(torec.nume)),"") + lcPrenume = NVL(UPPER(ALLTRIM(torec.prenume)),"") + lnCnp = Nvl(ALLTRIM(STR(toRec.codpers,13)),"") + lnIdD= Nvl(ALLTRIM(STR(toRec.id_deducere)),"") + lnIdH = NVL(ALLTRIM(STR(toRec.id_handicap)),"") + lnIdStat = NVL(ALLTRIM(STR(toRec.id_stat)),"") + + *!* lcinactiv = Nvl(ALLTRIM(STR(toRec.inactiv)),"") + Endif + + + Do Case + Case lcActiune = "INSERT" + + lcSql = [INSERT INTO sal_persintret (nume,prenume,codpers,id_deducere,id_handicap,id_stat) VALUES ('] + lcNume+ [','] + lcPrenume + ; + [',] + lnCnp + [,] + lnIdD + [,] + lnIdH + [,] + lnIdStat +[)] + + Case lcActiune = "UPDATE" + + lcSql = [UPDATE sal_persintret SET nume = '] +lcNume + [',prenume ='] + lcPrenume + ; + [',codpers = ] + lnCnp + [,id_deducere = ] + lnIdD + [,id_handicap = ] + lnIdH + ; + [,id_stat = ] + lnIdStat + [ where id_pers = ] + lcId + + Case lcActiune = "DELETE" + + *!* lcSql = [update nom_sectii set sters=1,id_util=]+ALLTRIM(STR(gcidutil))+[,id_modif=seq_modif_nomen.nextval where id_banca=]+lcid + *!* lcSql = [begin nomdelproc('] + lcnom + [','] + lcamp + [',] + lcid + [,'] + lclook + [','] + lclookid + ['); end;] + lcSql = [UPDATE sal_persintret SET STERS = 1 WHERE id_pers = ] + lcId + Endcase + + This.csql = lcSql + + ENDPROC + +ENDDEFINE + +DEFINE CLASS cus_odata_limbi AS _cusodatabase OF "_cus_odata_base.vcx" + *< CLASSDATA: Baseclass="custom" Timestamp="" Scale="Pixels" Uniqueid="" /> + + * + Name = "cus_odata_limbi" + * + + PROCEDURE make_sql + Lparameters toRec,tnId + + lcActiune = Alltrim(This.cActiune) + + If Inlist(lcActiune, "UPDATE",'INSERT') And Type('toRec') != "O" + Return .F. + Endif + + If Inlist(lcActiune, "UPDATE",'DELETE') And Type('tnId') != "N" + Return .F. + Endif + + If Inlist(lcActiune, "UPDATE",'DELETE') + lcId = Alltrim(Str(tnId)) + *!* lcnom = gcS + ".sal_copii" + + Endif + If Inlist(lcActiune, "UPDATE",'INSERT') + lnIdPers = NVL(ALLTRIM(STR(torec.id_persoana)),"") + lcNota = NVL(UPPER(ALLTRIM(torec.nota)),"") + lnIdLimba = Nvl(ALLTRIM(STR(toRec.id_limba)),"") + + *!* lcinactiv = Nvl(ALLTRIM(STR(toRec.inactiv)),"") + Endif + + + Do Case + Case lcActiune = "INSERT" + + lcSql = [INSERT INTO sal_limbistr (nota,id_persoana,id_limba) VALUES ('] + lcNota+ [',] + ; + lnIdPers + [,] + lnIdLimba + [)] + + Case lcActiune = "UPDATE" + + lcSql = [UPDATE sal_limbistr SET nota = '] +lcNota + [',id_limba =] + lnIdLimba + ; + [ where id_str = ] + lcId + + Case lcActiune = "DELETE" + + lcSql = [UPDATE sal_limbistr set sters = 1 where id_str = ] + lcId + Endcase + + This.csql = lcSql + + ENDPROC + +ENDDEFINE + +DEFINE CLASS cus_odata_nom_acte AS _cusodatabase OF "_cus_odata_base.vcx" + *< CLASSDATA: Baseclass="custom" Timestamp="" Scale="Pixels" Uniqueid="" /> + + * + Name = "cus_odata_nom_acte" + * + + PROCEDURE make_sql + Lparameters toRec,tnId + + lcActiune = Alltrim(This.cActiune) + + If Inlist(lcActiune, "UPDATE",'INSERT') And Type('toRec') != "O" + Return .F. + Endif + + If Inlist(lcActiune, "UPDATE",'DELETE') And Type('tnId') != "N" + Return .F. + Endif + + If Inlist(lcActiune, "UPDATE",'DELETE') + lcId = Alltrim(Str(tnId)) + lcnom = gcS + ".sal_nom_acte" + lcamp = "id_act" + lclook = gcS + ".sal_nom_col_acte" + lclookid = "id_act" + Endif + If Inlist(lcActiune, "UPDATE",'INSERT') + lcnumeact = NVL(ALLTRIM(torec.nume_act),"") + Endif + + + Do Case + Case lcActiune = "INSERT" + + lcSql = [INSERT INTO SAL_NOM_ACTE (nume_act) VALUES (']; + + lcnumeact + [')] + + Case lcActiune = "UPDATE" + + lcSql = [UPDATE SAL_NOM_ACTE SET nume_act = '] + lcnumeact + ; + [' where id_act = ] + lcId + + Case lcActiune = "DELETE" + + lcSql = [begin nomdelproc('] + lcnom + [','] + lcamp + [',] + lcid + [,'] + lclook + [','] + lclookid + ['); end;] + Endcase + + This.csql = lcSql + + ENDPROC + +ENDDEFINE + +DEFINE CLASS cus_odata_opers AS _cusodatabase OF "_cus_odata_base.vcx" + *< CLASSDATA: Baseclass="custom" Timestamp="" Scale="Pixels" Uniqueid="" /> + + * + Name = "cus_odata_opers" + * + + PROCEDURE make_sql + Lparameters toRec,tnId + + lcActiune = Alltrim(This.cActiune) + + If Inlist(lcActiune, "UPDATE",'INSERT') And Type('toRec') != "O" + Return .F. + Endif + + If Inlist(lcActiune, "UPDATE",'DELETE') And Type('tnId') != "N" + Return .F. + Endif + + If Inlist(lcActiune, "UPDATE",'DELETE') + lcId = Alltrim(Str(tnId)) + *!* lcnom = "sal_personal" + *!* lcamp = "id_salariat" + *!* lcLookUp = "SAL_STAT.id_persoana,1" + Endif + SET STEP ON + If Inlist(lcActiune, "UPDATE",'INSERT') + lcnume = Nvl(Strtran(Alltrim(Upper(popers.nume)),['],['']),"") + lcprenume = Nvl(Strtran(Alltrim(Upper(popers.prenume)),['],['']),"") + lnmarca = Nvl(Alltrim(Str(popers.marca)),"null") + lnCnp = Nvl(Alltrim(popers.codpers),"null") + lcNastere = Nvl(Strtran(Alltrim(Upper(popers.locnastere)),['],['']),"") + lcid_Cetatenie = Nvl(Alltrim(Str(popers.id_cetatenie)),'1') + lcid_nationalitate = Nvl(Alltrim(Str(popers.id_nationalit)),'1') + lcBiSeriaNr = Nvl(Strtran(Alltrim(Upper(popers.biserianr)),['],['']),"") + lcBiElib = Nvl(Strtran(Alltrim(Upper(popers.bieliberat)),['],['']),"") + ldData = Nvl(Alltrim(Dtos(popers.bidata)),"") + lcid_Judet = Nvl(Strtran(Alltrim(Str(popers.id_judet)),['],['']),"null") + lnSector = Nvl(Alltrim(Str(popers.sector)),"null") + lcid_Loc = Iif(Empty(popers.id_loc),'null',Nvl(Strtran(Alltrim(Upper(Str(popers.id_loc))),['],['']),"null")) + lcStrada = Nvl(Strtran(Alltrim(Upper(popers.strada)),['],['']),"") + lcNumar = Nvl(Strtran(Alltrim(Upper(popers.numar)),['],['']),"") + lcBloc = Nvl(Strtran(Alltrim(Upper(popers.Bloc)),['],['']),"") + lcScara = Nvl(Strtran(Alltrim(Upper(popers.scara)),['],['']),"") + lnEtaj = Nvl(Alltrim(popers.etaj),'') + lnApart = Nvl(Alltrim(popers.apart),'') + lcCodP = Nvl(Alltrim(Str(popers.codpostal)),"null") + lcSitmil = Nvl(Strtran(Alltrim(popers.sitmil),['],['']),"") + lcLivretMil = Nvl(Strtran(Alltrim(popers.livretmil),['],['']),"") + lcspecmil = Nvl(Strtran(Alltrim(Upper(popers.specmil)),['],['']),"") + lcgradmil = Nvl(Strtran(Alltrim(Upper(popers.gradmil)),['],['']),"") + lnstareciv = Alltrim(Str(NVL(popers.stareciv,0))) + lcnumetata = Nvl(Strtran(Alltrim(Upper(popers.numetata)),['],['']),"") + lcnumesot = Nvl(Strtran(Alltrim(Upper(popers.numesot)),['],['']),"") + lcnumemama = Nvl(Strtran(Alltrim(Upper(popers.numemama)),['],['']),"") + + ldDataang = Nvl(Alltrim(Dtos(popers.dataang)),"") + ldDatasfctr = Nvl(Alltrim(Dtos(popers.datasfctr)),"") + lnIdTipCtr = Alltrim(Str(NVL(popers.id_tipctr,0))) + lnIdMeseria = Alltrim(Str(NVL(popers.id_meserie,0))) + lnIdFormatia = Alltrim(Str(NVL(popers.id_formatie,0))) + lnIdGrupaMun = Alltrim(Str(NVL(popers.id_cas,0))) + lnIdClasaSal = Alltrim(Str(NVL(popers.id_clasasal,0))) + lnTarifar = Alltrim(Str(NVL(popers.tarifar,0))) + lnIdHandicap = Alltrim(Str(NVL(popers.id_handicap,0))) + lnPLCas = Alltrim(Str(NVL(popers.plcas,0))) + lnPLSomaj = Alltrim(Str(NVL(popers.plsomaj,0))) + lnPensionar = Alltrim(Str(NVL(popers.pensionar,0))) + lnPLImpozit = Alltrim(Str(NVL(popers.plimpozit,0))) + lnFractie = Iif(Empty(NVL(popers.fractie,0)),'8',Alltrim(Str(popers.fractie))) + lnOrenorm = Alltrim(Str(NVL(popers.orenorm,0))) + lnFunctieBaza = Alltrim(Str(NVL(popers.functiebaza,0))) + ldDatalic = Nvl(Alltrim(Dtos(popers.datalic)),"") + lcCmseria = Nvl(Strtran(Alltrim(popers.cmseria),['],['']),"") + lcCmNr = Nvl(Strtran(Alltrim(popers.cmnr),['],['']),"") + *!* lcNrCtrM = Alltrim(Str(NVL(popers.nrctrmchr,null))) + + lcNrCtrM = Iif(Empty(NVL(popers.nrctrmchr,'')),'null',[']+Strtran(Alltrim(Upper(popers.nrctrmchr)),['],[''])+[']) + + lcDatactrM = Nvl(Alltrim(Dtos(popers.datactrM)),"") + lcNrCtr = Alltrim(Str(NVL(popers.nrctr,0))) + lcDatactr = Nvl(Alltrim(Dtos(popers.datactr)),"") + lnIdCasaasig = Alltrim(Str(NVL(popers.id_caseasig,0))) + lnIdStat = Alltrim(Str(NVL(popers.id_stat,0))) + lnIdProfesie = Nvl(Alltrim(Str(popers.id_profesie)),'NULL') + ldData_vech = Nvl(Alltrim(Dtos(popers.data_vech)),"") + lnVechimeI = Nvl(Alltrim(Str(popers.vechimei)),'0') + lnVechime = Nvl(Alltrim(Str(popers.vechime)),'0') + lcModIncadr = Nvl(Strtran(Alltrim(popers.modincadr),['],['']),"") + lcIban = Nvl(Strtran(Alltrim(popers.contiban),['],['']),"") + lnIdBanca = Nvl(Alltrim(Str(popers.id_banca)),'NULL') + lnc_vechime = Nvl(Alltrim(Str(popers.c_vechime,5,3)),'0') + lnIn_tura = Nvl(Alltrim(Str(popers.in_tura)),'0') + lnId_part = Iif(Empty(popers.id_part),'null',Nvl(Strtran(Alltrim(Upper(Str(popers.id_part))),['],['']),"null")) + lnid_modlic = Iif(Empty(popers.id_modlic),'null',Nvl(Strtran(Alltrim(Upper(Str(popers.id_modlic))),['],['']),"null")) + lcmotivLic = Nvl(Strtran(Alltrim(Upper(popers.motivlic)),['],['']),"") + lcId_tip_act = Nvl(Alltrim(Str(popers.id_tip_act)),'0') + lcElev = Nvl(Alltrim(Str(popers.elev)),'0') + lczilecofix = NVL(ALLTRIM(STR(popers.zilecofix)),'0') + lcSomajTehnic = NVL(ALLTRIM(STR(popers.somaj_tehnic)),'0') + lcDataST1= Nvl(Alltrim(Dtos(popers.datast1)),"") + lcDataST2= Nvl(Alltrim(Dtos(popers.datast2)),"") + + *!* modificare v 2.0.0 + lcStare = ALLTRIM(STR(popers.stare_contract)) + lcStarePrec = ALLTRIM(STR(popers.stare_contract_prec)) + lcDataInceputS = NVL(ALLTRIM(DTOS(popers.datainceputs)),"") + lcDataSfarsitS = NVL(ALLTRIM(DTOS(popers.datasfarsits)),"") + lcIdPartS = NVL(ALLTRIM(STR(popers.id_parts)),"NULL") + lcIdTaraS = NVL(ALLTRIM(STR(popers.id_taras)),"NULL") + lcIdTemeiS = NVL(ALLTRIM(STR(popers.id_temeis)),"NULL") + + lcIdTipAutorizatie = IIF(EMPTY(NVL(popers.id_tipautorizatie,0)),"NULL",ALLTRIM(STR(popers.id_tipautorizatie))) + lcDataIAutorizatie = NVL(ALLTRIM(DTOS(popers.datainceputautorizatie)),"") + lcDataSAutorizatie = NVL(ALLTRIM(DTOS(popers.datasfarsitautorizatie)),"") + *!* modificare v 2.0.0 ^ + *!* modificare ROARES v 2.0.4 + lcTipModificare = ALLTRIM(STR(popers.tip_modificare)) + lcDataConsemnare = NVL(ALLTRIM(DTOS(popers.dataconsemnare)),"") + *!* modificare ROARES v 2.0.4 ^ + *!* modificare ROARES v 2.0.6 + lcIdStareCtr = NVL(ALLTRIM(STR(popers.id_stare_ctr)),"NULL") + *!* modificare ROARES v 2.0.6 ^ + *!* modificare ROARES v 2.0.8 + lcIdTipNorma = ALLTRIM(STR(popers.id_tip_norma)) + lcIdDurataMunca = ALLTRIM(STR(popers.id_durata_munca)) + lcIdRepartizareMunca = ALLTRIM(STR(popers.id_repartizare_munca)) + lcIdIntervalMunca = IIF(EMPTY(NVL(popers.id_interval_munca,0)),[NULL],ALLTRIM(STR(popers.id_interval_munca))) + *!* modificare ROARES v 2.0.8 ^ + lcIdSalCtr = Iif(Empty(Nvl(popers.id_sal_ctr,0)),[NULL],Alltrim(Str(popers.id_sal_ctr))) && modificare ROARES v 2.0.11 + lcDataactmodif = NVL(ALLTRIM(DTOS(popers.dataactmodif)),"") + lcId_tipact = ALLTRIM(STR(popers.id_tipact)) + lcNrActModif = ALLTRIM(STR(popers.nractmodif)) + lcIdTipApatrid = IIF(EMPTY(NVL(popers.id_tipapatrid,0)),"0",ALLTRIM(STR(popers.id_tipapatrid))) + lcCassalmin = Nvl(Alltrim(Str(popers.cassalmin)),'0') + lcoug114 = NVL(ALLTRIM(STR(IIF(popers.oug114>0,popers.oug114-1,0))),'1') + lcStudiiSup = Nvl(Alltrim(Str(popers.studiisup)),'0') + &&sc_general,sc_prof,licprofil,licspec,sc_maistri,sc_post,specializare + lcSc_general = IIF(EMPTY(NVL(popers.sc_general,'')),'null',[']+ALLTRIM(popers.sc_general)+[']) + lcsc_prof = IIF(EMPTY(NVL(popers.sc_prof,'')),'null',[']+ALLTRIM(popers.sc_prof)+[']) + lclicprofil = IIF(EMPTY(NVL(popers.licprofil,'')),'null',[']+ALLTRIM(popers.licprofil)+[']) + lclicspec = IIF(EMPTY(NVL(popers.licspec,'')),'null',[']+ALLTRIM(popers.licspec)+[']) + lcsc_maistri = IIF(EMPTY(NVL(popers.sc_maistri,'')),'null',[']+ALLTRIM(popers.sc_maistri)+[']) + lcsc_post = IIF(EMPTY(NVL(popers.sc_post,'')),'null',[']+ALLTRIM(popers.sc_post)+[']) + lcspecializare = IIF(EMPTY(NVL(popers.specializare,'')),'null',[']+ALLTRIM(popers.specializare)+[']) + lcCodAcc = IIF(EMPTY(NVL(popers.codacc,'')),'null',[']+ALLTRIM(popers.codacc)+[']) + lcTelefon = IIF(EMPTY(NVL(popers.telefon,'')),'null',[']+ALLTRIM(popers.telefon)+[']) + lcCodCod = IIF(EMPTY(NVL(popers.codcod,'')),'null',[']+ALLTRIM(popers.codcod)+[']) + Endif + + Do Case + Case lcActiune = "INSERT" + *!* lcSql = [begin pack_roares.res_adauga_personal(?gcs,?lcnume,?lcprenume,?lnmarca,?lnCnp,?lcJudet,?lcLocalitate,] + ; + *!* [?lnSector,?lcStrada,?lcNumar,?lcBloc,?lcScara,?lnEtaj,?lnApart,?lcCmSeria,?lcCmNr,?lcNastere,?lcNationalit,] + ; + *!* [?lcCetatenie,?lcBiSeria,?lnBiNr?lcBiElib,?ldData,?lcSitMil,?lcLivretMil); end;] + lcSql = [begin pack_PERSONAL.res_adauga_personal2('] + gcs + [','] + ; + lcnume + [','] + lcprenume + [',] + lnmarca + [,'] + lnCnp + [','] + lcNastere + [',] + ; + lcid_Cetatenie + [,] + lcid_nationalitate + [,'] + lcBiSeriaNr + [','] + ; + lcBiElib + [',to_date('] + ldData + [','YYYYMMDD'),] + lcid_Judet + [,] + lnSector + [,] +lcid_Loc+ [,'] + ; + lcStrada + [','] + lcNumar + [','] + lcBloc + [','] + lcScara + [','] + ; + lnEtaj + [','] + lnApart + [',] + lcCodP + [,'] + lcSitmil + [','] + lcLivretMil + [','] + lcspecmil + [','] + ; + lcgradmil + [',] + lnstareciv + [,'] + lcnumetata + [','] + lcnumesot + [','] + lcnumemama + ; + [',to_date('] + ldDataang + [','YYYYMMDD'),to_date('] + ldDatasfctr + [','YYYYMMDD'),] + ; + lnIdTipCtr + [,] + lnIdMeseria + [,] + lnIdFormatia + [,] + lnIdGrupaMun + [,] + lnIdClasaSal + [,] + ; + lnTarifar + [,] + lnIdHandicap + [,] + lnPLCas + [,] + lnPLSomaj + [,] + lnPensionar + [,] + ; + lnPLImpozit + [,] + lnFractie + [,] + lnOrenorm + [,] + lnFunctieBaza + [,to_date(']+ldDatalic+[','YYYYMMDD'),']+; + lcCmseria + [','] + lcCmNr +[',] + lcNrCtrM + [,to_date(']+lcDatactrM +[','YYYYMMDD'),]+lcNrCtr+[,to_date(']+lcDatactr +[','YYYYMMDD'),]+; + lnIdCasaasig + [,] + lnIdProfesie + [,to_date('] + ldData_vech + [','YYYYMMDD'),] + lnVechimeI + [,'] + ; + lcModIncadr + [','] + lcIban + [',] + lnVechime + [,] + lnIdBanca + [,]+lnc_vechime +[,]+lnIn_tura +; + [,] + lnid_modlic + [,'] +lcmotivLic+ [',] + lcId_tip_act + [,] + lnId_part +[,]+lcElev+ [,]+lczilecofix +; + [,]+lcSomajTehnic +[,to_date(']+lcDataST1+[','YYYYMMDD'), TO_DATE(']+lcDataST2+[','YYYYMMDD'),]+; + lcStare + [,] + lcStarePrec + [,to_date('] + lcDataInceputS + [','YYYYMMDD'),to_date('] + lcDataSfarsitS + [','YYYYMMDD'),] + ; + lcIdPartS + [,] + lcIdTaraS + [,] + lcIdTemeiS + [,] + lcIdTipAutorizatie + [,] + ; + [to_date('] + lcDataIAutorizatie + [','YYYYMMDD'), TO_DATE('] + lcDataSAutorizatie + [','YYYYMMDD'),] + ; + lcIdTipNorma + [,] + lcIdDurataMunca + [,] + lcIdRepartizareMunca + [,] + lcIdIntervalMunca + [,] + lcIdSalCtr + [,] + ; + lcTipModificare + [,to_date('] + lcDataConsemnare + [','YYYYMMDD'),]+; + lcNrActModif +[,to_date('] + lcDataactmodif + [','YYYYMMDD'),]+lcId_tipact +[,]+lcIdTipApatrid +[,]+lccassalmin+[,]+lcOug114+[,]+lcStudiiSup +; + [,]+lcsc_general+[,]+lcsc_prof+[,]+lclicprofil+[,]+lclicspec+[,]+lcsc_maistri+[,]+lcsc_post+[,]+lcspecializare+[,]+lcCodAcc +[,]+lcTelefon + [,]+lcCodCod +[); end;] + Case lcActiune = "UPDATE" + SET STEP ON + lcSql = [begin pack_PERSONAL.res_modifica_personal2('] + gcs + [','] + ; + lcnume + [','] + lcprenume + [',] + lnmarca + [,'] + lnCnp + [','] + lcNastere + [',] + ; + lcid_Cetatenie + [,] + lcid_nationalitate + [,'] + lcBiSeriaNr + [','] + ; + lcBiElib + [',to_date('] + ldData + [','YYYYMMDD'),] + lcid_Judet + [,] + lnSector + [,] +lcid_Loc+ [,'] + ; + lcStrada + [','] + lcNumar + [','] + lcBloc + [','] + lcScara + [','] + ; + lnEtaj + [','] + lnApart + [',] + lcCodP + [,'] + lcSitmil + [','] + lcLivretMil + [','] + lcspecmil + [','] + ; + lcgradmil + [',] + lnstareciv + [,'] + lcnumetata + [','] + lcnumesot + [','] + lcnumemama + ; + [',to_date('] + ldDataang + [','YYYYMMDD'),to_date('] + ldDatasfctr + [','YYYYMMDD'),] + ; + lnIdTipCtr + [,] + lnIdMeseria + [,] + lnIdFormatia + [,] + lnIdGrupaMun + [,] + lnIdClasaSal + [,] + ; + lnTarifar + [,] + lnIdHandicap + [,] + lnPLCas + [,] + lnPLSomaj + [,] + lnPensionar + [,] + ; + lnPLImpozit + [,] + lnFractie + [,] + lnOrenorm + [,] + lnFunctieBaza + [,to_date(']+ldDatalic+[','YYYYMMDD'),']+; + lcCmseria + [','] + lcCmNr +[',] + lcNrCtrM + [,to_date(']+lcDatactrM +[','YYYYMMDD'),]+lcNrCtr+[,to_date(']+lcDatactr +[','YYYYMMDD'),]+; + lnIdCasaasig + [,] + lcId + [,] + lnIdStat + [,] + lnIdProfesie + [,to_date(']+ldData_vech +[','YYYYMMDD'),] + ; + lnVechimeI + [,'] + lcModIncadr + [','] + lcIban + [',] + lnVechime + [,] + lnIdBanca + ; + [,]+lnc_vechime +[,]+lnIn_tura +[,] + lnid_modlic + [,'] + lcmotivLic + [',] + lcId_tip_act + [,] + lnId_part+[,]+lcElev+ [,]+lczilecofix +; + [,]+lcSomajTehnic +[,to_date(']+lcDataST1+[','YYYYMMDD'), TO_DATE(']+lcDataST2+[','YYYYMMDD'),]+; + lcStare + [,] + lcStarePrec + [,to_date('] + lcDataInceputS + [','YYYYMMDD'),to_date('] + lcDataSfarsitS + [','YYYYMMDD'),] + ; + lcIdPartS + [,] + lcIdTaraS + [,] + lcIdTemeiS + [,] + lcIdTipAutorizatie + [,] + ; + [to_date('] + lcDataIAutorizatie + [','YYYYMMDD'), TO_DATE('] + lcDataSAutorizatie + [','YYYYMMDD'),] + ; + lcIdTipNorma + [,] + lcIdDurataMunca + [,] + lcIdRepartizareMunca + [,] + lcIdIntervalMunca + [,] + lcIdSalCtr + [,] + ; + lcTipModificare + [,to_date('] + lcDataConsemnare + [','YYYYMMDD'),] + lcIdStareCtr +[,]+; + lcNrActModif +[,to_date('] + lcDataactmodif + [','YYYYMMDD'),]+lcId_tipact + [,]+lcIdTipApatrid +[,]+lccassalmin+[,]+lcOug114+[,]+lcStudiiSup +; + [,]+lcsc_general+[,]+lcsc_prof+[,]+lclicprofil+[,]+lclicspec+[,]+lcsc_maistri+[,]+lcsc_post+[,]+lcspecializare+[,]+lcCodAcc +[,]+lcTelefon +[,]+lcCodCod + [); end;] + + + Local lnTipModif,lcoperatie + lnTipModif = This.Parent.opt_registru &&1-Modificare;2-Corectie;3-Nu scrie + If lnTipModif <> 3 AND gnEvaluareRevisal5 = 1 + + Local i + i=0 + Select * From registru_temp Into Cursor registru_modificari Order By ordine + *!* Use In registru_temp : in caz ca imi da eroare, am nevoie de cursor in fereastra de personal + Select registru_modificari + + Scan + i=i+1 + lnIdCriteriu = Nvl(id_criteriu,1) + lcIdCriteriu = Nvl(Alltrim(Str(id_criteriu)),'0') + lnid_modlic = Nvl(Alltrim(Str(id_modlic)),'0') + lnid_temei = Nvl(Alltrim(Str(id_temei)),'0') + lcDataMod = Nvl(Alltrim(Dtos(datamod)),"") + lcExplicatie = Nvl(Strtran(Alltrim(Upper(Explicatie)),['],['']),"") + lcTipOperatie = Nvl(Strtran(Alltrim(Upper(tip_operatie)),['],['']),"") + + taSqlReg[i] = [begin pack_PERSONAL.registru_ams('] + gcs + [','] + ; + lcnume + [','] + lcprenume + [',] + lcid_Cetatenie + [,] + lcid_nationalitate + [,'] + lnCnp + [',']+; + lcCmseria + [','] + lcCmNr +[',] + lcid_Loc + [,'] + lcStrada + [','] + lcNumar + [','] + lcBloc + [','] + ; + lcScara + [','] + lnEtaj + [','] + lnApart + [',] + lnIdMeseria + [,to_date(']+ldDatalic+[','YYYYMMDD'),]+; + [to_date('] + ldDatasfctr + [','YYYYMMDD'),] + lnFractie + [,] + lnOrenorm + [,] + lnIdTipCtr + [,] + lcNrCtr+ ; + [,to_date('] + lcDataCtr + [','YYYYMMDD'),to_date('] + ldDataang + [','YYYYMMDD'),] + lcNrCtrM + [,to_date(']+lcDatactrM +[','YYYYMMDD'),'] + lcExplicatie+; + [',] + lcIdCriteriu + [,] + lnid_modlic + [,] + lnid_temei + [,to_date(']+lcDataMod +[','YYYYMMDD'),'] +; + lcExplicatie + [',] + lnIdStat + [,'] + lcTipOperatie + ['); end;] + *!* STRTOFILE(TASQLREG[i],'C:\REG_AMS1.TXT',1) + + + + Select registru_modificari + Endscan + *!* RETURN + Use In registru_modificari + Endif + Case lcActiune = "DELETE" + lnIdPers = Nvl(Alltrim(Str(popers.id_salariat)),'0') + ldDatalic = Nvl(Alltrim(Dtos(popers.datalic)),"") + *!* lcSql = [update nom_sectii set sters=1,id_util=]+ALLTRIM(STR(gcidutil))+[,id_modif=seq_modif_nomen.nextval where id_banca=]+lcid + *!* lcSql = [begin nomdelprocs('] + gcs + [','] + lcnom + [','] + lcamp + [',] + lcid + [,'] + lclookUp + ['); end;] + + lcSql = [begin pack_personal.res_sterge('] + gcs + [',] + lnIdPers + [,] + lcId + [,to_date('] + ldDatalic + [','YYYYMMDD')); end;] + + + Endcase + + This.csql = lcSql + + + ENDPROC + + PROCEDURE salvare + Lparameters toRec,tnId + + Private llSucces, lnSucces, buton + buton = 0 + llSucces = .T. + lnSucces = -1 + lcActiune = Upper(Alltrim(This.cactiune)) + lcMesaj = '' + lcTitlu = '' + Do Case + Case lcActiune = "INSERT" + lcMesaj = "Doriti sa adaugati inregistrarea?" + lcTitlu = "Adaugare" + * lnOptiuni = 4 + 32 + Case lcActiune = "UPDATE" + lcMesaj = "Doriti sa salvati modificarile?" + lcTitlu = "Modificare" + * lnOptiuni = 4 + 32 + Case lcActiune = "DELETE" + lcMesaj = "Doriti sa stergeti inregistrarea?" + lcTitlu = "Stergere" + * lnOptiuni = 4 + 32 + 512 + Endcase + + lcimagine = [intreb.ico] + lctip = [Intrebare] + ofrm_intreb = CREATEOBJECT('frm_mesaj',lctitlu,lcimagine,lctip,lcmesaj) + ofrm_intreb.show(1) + RELEASE ofrm_intreb + + IF buton = 1 + PNIESIRE=1 + gnButon = 1 + If This.validare() + + This.make_sql(toRec,tnId) + + lcSql = Alltrim(This.csql) + llConditie = 'INSERT'$UPPER(lcSql) Or 'UPDATE'$UPPER(lcSql) Or 'DELETE'$UPPER(lcSql) Or 'BEGIN'$UPPER(lcSql) + + If llConditie + lnSucces = goExecutor.oExecute(lcSql) + If lnSucces < 0 + + lcTextEroare = goExecutor.cEroare + + IF LIKE('*ORA-20???:*',lcTextEroare) + lnPozi=At("ORA-20",lcTextEroare)+11 + lnPozf=At("ORA",lcTextEroare,2) + lcTextEroare=Substr(lcTextEroare,lnPozi,lnPozf-lnPozi) + *!* ELSE + *!* lnPozf=At("ORA-",lcTextEroare,3) + *!* lcTextEroare=Substr(lcTextEroare,1,lnPozf-1)+[...] + ENDIF + *!* Case "ORA-20000"$lcTextEroare + *!* lnPozi=At("ORA-20000",lcTextEroare)+11 + *!* lnPozf=At("ORA",lcTextEroare,2) + *!* lcMesaj=Substr(lcTextEroare,lnPozi,lnPozf-lnPozi) + *!* lcTitlu="Eroare" + Do Case + Case lcActiune = "INSERT" + lcMesaj = "Inregistrarea nu a fost adaugata." + Chr(13) + Chr(10) + lcTextEroare + lcTitlu = "Adaugare" + Case lcActiune = "UPDATE" + lcMesaj = "Inregistrarea nu a fost modificata." + Chr(13) + Chr(10) + lcTextEroare + lcTitlu = "Modificare" + Case lcActiune = "DELETE" + lcMesaj = "Inregistrarea nu a fost stearsa." + Chr(13) + Chr(10) + lcTextEroare + lcTitlu = "Stergere" + Endcase + + lcimagine = [info_c.ico] + lctip = [Informare] + *!* ofrm_info = CREATEOBJECT([frm_mesaj],lcTitlu,lcimagine,lctip,lcMesaj) + *!* ofrm_info.show(1) + *!* RELEASE ofrm_info + AMESSAGE(lcMesaj,0+16,lcTip) + + *Messagebox(lcMesaj,0+48,lcTitlu) + llSucces = .F. + ELSE + IF lcActiune = "UPDATE" + + FOR i=1 TO ALEN(taSqlReg) + IF !EMPTY(taSqlReg[i]) + lnSucces = goExecutor.oExecute(taSqlReg[i]) + taSqlReg[i]=.f. + If lnSucces < 0 + aMessagebox(goExecutor.cEroare,0+16,"Eroare") + Return + ENDIF + ENDIF + + ENDFOR + ENDIF + Endif + + If lnSucces >=1 And lcActiune = "DELETE" + lcTitlu = "Stergere" + lctip = [Informare] + lcimagine = [info_c.ico] + lcMesaj = "Inregistrarea a fost stearsa." + *!* ofrm_mesaj = CREATEOBJECT([frm_mesaj],lcTitlu,lcimagine,lctip,lcMesaj) + *!* ofrm_mesaj.show(1) + *!* RELEASE ofrm_mesaj + AMESSAGE(lcMesaj,0+48,lcTip) + *Messagebox(lcMesaj,0+64,lcTitlu) + Endif + Endif + + Endif + + Else + PNIESIRE = 2 + gnButon = 2 + Endif + + + Return llSucces + + ENDPROC + +ENDDEFINE + +DEFINE CLASS cus_odata_stud AS _cusodatabase OF "_cus_odata_base.vcx" + *< CLASSDATA: Baseclass="custom" Timestamp="" Scale="Pixels" Uniqueid="" /> + + * + Name = "cus_odata_stud" + * + + PROCEDURE make_sql + Lparameters toRec,tnId + + lcActiune = Alltrim(This.cActiune) + + If Inlist(lcActiune, "UPDATE",'INSERT') And Type('toRec') != "O" + Return .F. + Endif + + If Inlist(lcActiune, "UPDATE",'DELETE') And Type('tnId') != "N" + Return .F. + Endif + + If Inlist(lcActiune, "UPDATE",'DELETE') + lcId = Alltrim(Str(tnId)) + + Endif + If Inlist(lcActiune, "UPDATE",'INSERT') + lnIdPers = NVL(ALLTRIM(STR(torec.id_persoana)),"") + lcScoala = NVL(UPPER(ALLTRIM(torec.scoala)),"") + lcDetalii = NVL(UPPER(ALLTRIM(torec.detalii)),"") + + + Endif + + + Do Case + Case lcActiune = "INSERT" + + lcSql = [INSERT INTO sal_studii (id_persoana,scoala,detalii) VALUES (] + lnIdPers + [,'] + lcScoala + ; + [','] + lcDetalii + [')] + + + Case lcActiune = "UPDATE" + + lcSql = [UPDATE sal_studii SET id_persoana = ] + lnIdPers + ; + [,scoala = '] + lcScoala + [',detalii = '] + lcDetalii + ; + [' where id_studiu = ] + lcId + + Case lcActiune = "DELETE" + + lcSql = [UPDATE sal_studii set sters = 1 where id_studiu = ] + lcId + Endcase + + This.csql = lcSql + + ENDPROC + +ENDDEFINE + +DEFINE CLASS cus_odata_vech AS _cusodatabase OF "_cus_odata_base.vcx" + *< CLASSDATA: Baseclass="custom" Timestamp="" Scale="Pixels" Uniqueid="" /> + + * + Name = "cus_odata_vech" + * + + PROCEDURE make_sql + Lparameters toRec,tnId + + lcActiune = Alltrim(This.cActiune) + + If Inlist(lcActiune, "UPDATE",'INSERT') And Type('toRec') != "O" + Return .F. + Endif + + If Inlist(lcActiune, "UPDATE",'DELETE') And Type('tnId') != "N" + Return .F. + Endif + + If Inlist(lcActiune, "UPDATE",'DELETE') + lcId = Alltrim(Str(tnId)) + + Endif + If Inlist(lcActiune, "UPDATE",'INSERT') + *!* lnIdPers = NVL(ALLTRIM(STR(torec.id_persoana)),"") + lcMod = NVL(UPPER(ALLTRIM(torec.modincadr)),"") + lcVech = NVL(ALLTRIM(STR(torec.vechimei)),"") + ldData = NVL(ALLTRIM(DTOS(torec.data_vech)),"") + + *!* lcinactiv = Nvl(ALLTRIM(STR(toRec.inactiv)),"") + Endif + + + Do Case + Case lcActiune = "INSERT" + + *!* lcSql = [INSERT INTO ] + gcS + [.sal_cursuri (id_c,id_persoana,nota,test,data) VALUES (] + lnIdCurs + ; + *!* [,] + lnIdPers + [,'] + lcNota+ [','] + lcTest + [',to_date('] + ldData + [','YYYYMMDD'))] + + + Case lcActiune = "UPDATE" + + lcSql = [UPDATE sal_personal SET vechimei = ] + lcVech + [,modincadr = '] + lcMod + ; + [',data_vech = to_date('] + ldData + [','YYYYMMDD')] + ; + [ where id_salariat = ] + lcId + + Case lcActiune = "DELETE" + + *!* lcSql = [UPDATE ] + gcs + [.sal_cursuri set sters = 1 where id_curs = ] + lcId + Endcase + + This.csql = lcSql + + ENDPROC + +ENDDEFINE + +DEFINE CLASS frm_articole_nou AS frm_termin_renunt OF "_frm_child.vcx" + *< CLASSDATA: Baseclass="form" Timestamp="" Scale="Pixels" Uniqueid="" /> + + *-- OBJECTDATA items order determines ZOrder / El orden de los items OBJECTDATA determina el ZOrder + *< OBJECTDATA: ObjPath="CUS_ODATA_ARTICOL1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="Clb_tx_simplu1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="Ct_clb_cautare1" UniqueID="" Timestamp="" /> + + * + *m: do_alege_articol + *p: nid + *p: orec + * + + * + BorderStyle = 1 + DoCreate = .T. + Height = 104 + Name = "frm_articole_nou" + nid = 0 + orec = + Width = 375 + _shape1.Name = "_shape1" + _shape2.Height = 29 + _shape2.Left = 312 + _shape2.Name = "_shape2" + _shape2.Top = 0 + _shape2.Width = 62 + Lb_titlu_alb_b121.Caption = "Articole" + Lb_titlu_alb_b121.Name = "Lb_titlu_alb_b121" + Lb_titlu_alb_b121.TabIndex = 5 + BUT_TERMIN1.Name = "BUT_TERMIN1" + BUT_TERMIN1.TabIndex = 3 + Gridsort1.Left = 9 + Gridsort1.Name = "Gridsort1" + Gridsort1.Top = 31 + But_renunt1.Name = "But_renunt1" + But_renunt1.TabIndex = 4 + * + + ADD OBJECT 'Clb_tx_simplu1' AS clb_tx_simplu WITH ; + Height = 29, ; + Left = 13, ; + Name = "Clb_tx_simplu1", ; + TabIndex = 2, ; + Top = 65, ; + Width = 175, ; + TEXT_SIMPLU1.ControlSource = "porec.cantitate", ; + TEXT_SIMPLU1.Height = 23, ; + TEXT_SIMPLU1.Left = 101, ; + TEXT_SIMPLU1.Name = "TEXT_SIMPLU1", ; + TEXT_SIMPLU1.Top = 3, ; + TEXT_SIMPLU1.Width = 67, ; + LB_SIMPLU1.Caption = "Canntitate :", ; + LB_SIMPLU1.Name = "LB_SIMPLU1" + *< END OBJECT: ClassLib="lb_tx.vcx" BaseClass="container" /> + + ADD OBJECT 'Ct_clb_cautare1' AS ct_clb_cautare WITH ; + cconditie = empty(porec.id_articol), ; + cprocedura = thisform.do_alege_articol, ; + cvar_afisata = porec.articol, ; + Left = 12, ; + Name = "Ct_clb_cautare1", ; + TabIndex = 1, ; + Top = 36, ; + img_cautare.Name = "img_cautare", ; + clb_tx_cautare.Lb_simplu1.Caption = "Articol", ; + clb_tx_cautare.Lb_simplu1.Name = "Lb_simplu1", ; + clb_tx_cautare.Name = "clb_tx_cautare", ; + clb_tx_cautare.Text_simplu1.ControlSource = "", ; + clb_tx_cautare.Text_simplu1.Height = 23, ; + clb_tx_cautare.Text_simplu1.Left = 102, ; + clb_tx_cautare.Text_simplu1.Name = "Text_simplu1", ; + clb_tx_cautare.Text_simplu1.Top = 3, ; + clb_tx_cautare.Text_simplu1.Width = 205 + *< END OBJECT: ClassLib="caut_ora.vcx" BaseClass="container" /> + + ADD OBJECT 'CUS_ODATA_ARTICOL1' AS cus_odata_articol WITH ; + Left = 72, ; + Name = "CUS_ODATA_ARTICOL1", ; + Top = 12 + *< END OBJECT: ClassLib="opersonal.vcx" BaseClass="custom" /> + + PROCEDURE do_alege_articol + + *!* pcselect = [select id_articol,denumire,codmat from vnom_articole] + + *!* pcFiltruOriginal=[inactiv=0] + *!* pcfiltru = [1=2] + *!* pcorder = [denumire] + *!* pccoloane = [denumire,codmat,id_articol] + *!* pcTitlu = [Articole] + *!* pcTitluColoane = [Denumire,Cod material,Id] + + *!* loHash=gethash() + *!* loHash.setvalue('cSelect',pcselect) + *!* loHash.setvalue('cFiltru',pcfiltru) + *!* loHash.setvalue('cOrder',pcorder) + *!* loHash.setvalue('cColoana',pccoloane) + *!* loHash.setvalue('cTitlu',pcTitlu) + *!* loHash.setvalue('cTitluColoana',pcTitluColoane) + *!* loHash.setvalue('cFiltruOriginal',pcFiltruOriginal) + *!* loCauta = cauta_alfa_hash(lohash) + + *!* IF !EMPTY(locauta.id_articol) + *!* thisform.orec.articol = locauta.denumire + *!* thisform.orec.id_articol = locauta.id_articol + *!* this.Refresh + *!* ENDIF + locauta = caut_articol() &&ocautare.prg + IF !EMPTY(locauta.id_articol) + porec.articol = locauta.denumire + porec.id_articol = locauta.id_articol + this.Refresh + ENDIF + + + + + ENDPROC + + PROCEDURE inainte_de_do_termin + Local PLRETURN,lcActiune + + this.but_TERMIN1.SetFocus() + + lcActiune = this.cus_odata_articol1.cactiune + + + + PLRETURN=This.cus_odata_articol1.salvare(This.OREC,This.NID) + + + + Return PLRETURN + + + ENDPROC + + PROCEDURE Init + Lparameters toRec, tnId, tcActiune + + DoDefault() + + This.orec= toRec + This.nid = tnId + This.cus_odata_articol1.cactiune = tcActiune + + IF This.cus_odata_articol1.cactiune='INSERT' + porec.cantitate=1 + thisform.do_alege_articol() + ENDIF + + + + ENDPROC + +ENDDEFINE + +DEFINE CLASS frm_atas_nou AS frm_termin_renunt OF "_frm_child.vcx" + *< CLASSDATA: Baseclass="form" Timestamp="" Scale="Pixels" Uniqueid="" /> + + *-- OBJECTDATA items order determines ZOrder / El orden de los items OBJECTDATA determina el ZOrder + *< OBJECTDATA: ObjPath="Clb_tx_simplu4" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="txtNume_atasament" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="Lb_simplu1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="Command1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="Command2" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="Clb_tx_simplu2" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="Clb_tx_simplu1" UniqueID="" Timestamp="" /> + + * + *p: nid + *p: orec + * + + * + DoCreate = .T. + Height = 200 + Name = "frm_atas_nou" + nid = 0 + orec = + Width = 375 + _shape1.Name = "_shape1" + _shape2.Height = 29 + _shape2.Left = 312 + _shape2.Name = "_shape2" + _shape2.Top = 0 + _shape2.Width = 65 + Lb_titlu_alb_b121.Caption = "ATAªAMENT NOU" + Lb_titlu_alb_b121.Name = "Lb_titlu_alb_b121" + Lb_titlu_alb_b121.TabIndex = 8 + BUT_TERMIN1.Left = 345 + BUT_TERMIN1.Name = "BUT_TERMIN1" + BUT_TERMIN1.TabIndex = 6 + BUT_TERMIN1.Top = 1 + Gridsort1.Left = 24 + Gridsort1.Name = "Gridsort1" + Gridsort1.Top = 36 + BUT_RENUNT1.Left = 315 + BUT_RENUNT1.Name = "BUT_RENUNT1" + BUT_RENUNT1.TabIndex = 7 + BUT_RENUNT1.Top = 1 + * + + ADD OBJECT 'Clb_tx_simplu1' AS clb_tx_simplu WITH ; + Height = 29, ; + Left = 12, ; + Name = "Clb_tx_simplu1", ; + TabIndex = 4, ; + Top = 125, ; + Width = 348, ; + Text_simplu1.Alignment = 3, ; + Text_simplu1.ControlSource = "poLink.data_doc", ; + Text_simplu1.Height = 23, ; + Text_simplu1.Left = 240, ; + Text_simplu1.Name = "Text_simplu1", ; + Text_simplu1.Top = 3, ; + Text_simplu1.Value = {}, ; + Text_simplu1.Width = 104, ; + Lb_simplu1.Caption = "Datã document", ; + Lb_simplu1.Name = "Lb_simplu1" + *< END OBJECT: ClassLib="lb_tx.vcx" BaseClass="container" /> + + ADD OBJECT 'Clb_tx_simplu2' AS clb_tx_simplu WITH ; + Height = 29, ; + Left = 12, ; + Name = "Clb_tx_simplu2", ; + TabIndex = 5, ; + Top = 153, ; + Width = 348, ; + Text_simplu1.ControlSource = "poLink.nr_doc", ; + Text_simplu1.Height = 23, ; + Text_simplu1.Left = 120, ; + Text_simplu1.Name = "Text_simplu1", ; + Text_simplu1.Top = 3, ; + Text_simplu1.Width = 224, ; + Lb_simplu1.Caption = "Numãr document", ; + Lb_simplu1.Name = "Lb_simplu1" + *< END OBJECT: ClassLib="lb_tx.vcx" BaseClass="container" /> + + ADD OBJECT 'Clb_tx_simplu4' AS clb_tx_simplu WITH ; + Height = 29, ; + Left = 12, ; + Name = "Clb_tx_simplu4", ; + TabIndex = 3, ; + Top = 97, ; + Width = 348, ; + Text_simplu1.ControlSource = "poLink.descriere", ; + Text_simplu1.Height = 23, ; + Text_simplu1.Left = 120, ; + Text_simplu1.Name = "Text_simplu1", ; + Text_simplu1.Top = 3, ; + Text_simplu1.Width = 224, ; + Lb_simplu1.Caption = "Descriere", ; + Lb_simplu1.Name = "Lb_simplu1" + *< END OBJECT: ClassLib="lb_tx.vcx" BaseClass="container" /> + + ADD OBJECT 'Command1' AS commandbutton WITH ; + Caption = "...", ; + Height = 25, ; + Left = 307, ; + Name = "Command1", ; + TabIndex = 1, ; + Top = 60, ; + Width = 24 + *< END OBJECT: BaseClass="commandbutton" /> + + ADD OBJECT 'Command2' AS commandbutton WITH ; + Caption = "", ; + Height = 25, ; + Left = 334, ; + Name = "Command2", ; + Picture = ..\grafice\eye_sus.bmp, ; + PicturePosition = 14, ; + TabIndex = 2, ; + Top = 60, ; + Width = 24 + *< END OBJECT: BaseClass="commandbutton" /> + + ADD OBJECT 'Lb_simplu1' AS lb_simplu WITH ; + Caption = "Ataºament", ; + FontSize = 10, ; + Height = 18, ; + Left = 12, ; + Name = "Lb_simplu1", ; + TabIndex = 10, ; + Top = 63, ; + Width = 65 + *< END OBJECT: ClassLib="lb.vcx" BaseClass="label" /> + + ADD OBJECT 'txtNume_atasament' AS textbox WITH ; + ControlSource = "poLink.nume_atasament", ; + Enabled = .F., ; + Format = "!k", ; + Height = 23, ; + Left = 84, ; + Name = "txtNume_atasament", ; + TabIndex = 9, ; + Top = 61, ; + Width = 216 + *< END OBJECT: BaseClass="textbox" /> + + PROCEDURE Init + DoDefault() + + ENDPROC + + PROCEDURE Command1.Click + LOCAL lcFisier + + pcLink = GETFILE("*","Alegeti fisierul") + lcFisier = JUSTFNAME(pcLink) + thisform.txtNume_atasament.Value = lcFisier + thisform.txtNume_atasament.SetFocus + + + ENDPROC + + PROCEDURE Command2.Click + PRIVATE oWord + LOCAL lcDocument + + lcDocument = pcLink + + IF EMPTY(lcDocument) + aMESSAGEBOX("Alegeti fisierul pe care doriti sa-l deschideti! "+lcDocument,16,"Eroare") + RETURN + ENDIF + + IF !FILE(lcDocument) + aMESSAGEBOX("Nu exista fisierul "+lcDocument,16,"Eroare") + RETURN + ENDIF + + open_default_app(lcDocument) + + ENDPROC + +ENDDEFINE + +DEFINE CLASS frm_avize_nou AS frm_termin_renunt OF "_frm_child.vcx" + *< CLASSDATA: Baseclass="form" Timestamp="" Scale="Pixels" Uniqueid="" /> + + *-- OBJECTDATA items order determines ZOrder / El orden de los items OBJECTDATA determina el ZOrder + *< OBJECTDATA: ObjPath="Clb_tx_simplu1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="Clb_tx_simplu5" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="Clb_tx_simplu6" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="Cus_odata_avize1" UniqueID="" Timestamp="" /> + + * + *p: nid + *p: orec + * + + * + DoCreate = .T. + Height = 154 + Name = "frm_avize_nou" + nid = .F. + orec = .F. + Width = 317 + _shape1.Name = "_shape1" + _shape2.Left = 243 + _shape2.Name = "_shape2" + _shape2.Top = 0 + Lb_titlu_alb_b121.Caption = "-" + Lb_titlu_alb_b121.Name = "Lb_titlu_alb_b121" + Lb_titlu_alb_b121.TabIndex = 6 + BUT_TERMIN1.Left = 285 + BUT_TERMIN1.Name = "BUT_TERMIN1" + BUT_TERMIN1.TabIndex = 4 + BUT_TERMIN1.Top = 1 + Gridsort1.Name = "Gridsort1" + BUT_RENUNT1.Left = 256 + BUT_RENUNT1.Name = "BUT_RENUNT1" + BUT_RENUNT1.TabIndex = 5 + BUT_RENUNT1.Top = 1 + * + + ADD OBJECT 'Clb_tx_simplu1' AS clb_tx_simplu WITH ; + Left = 13, ; + Name = "Clb_tx_simplu1", ; + TabIndex = 1, ; + Top = 52, ; + TEXT_SIMPLU1.ControlSource = "porec.aviz", ; + TEXT_SIMPLU1.Name = "TEXT_SIMPLU1", ; + LB_SIMPLU1.Caption = "Aviz:", ; + LB_SIMPLU1.Name = "LB_SIMPLU1" + *< END OBJECT: ClassLib="lb_tx.vcx" BaseClass="container" /> + + ADD OBJECT 'Clb_tx_simplu5' AS clb_tx_simplu WITH ; + Height = 29, ; + Left = 13, ; + Name = "Clb_tx_simplu5", ; + TabIndex = 2, ; + Top = 83, ; + Width = 192, ; + Text_simplu1.ControlSource = "porec.data1", ; + Text_simplu1.Format = "!KD", ; + Text_simplu1.Height = 23, ; + Text_simplu1.Left = 101, ; + Text_simplu1.Name = "Text_simplu1", ; + Text_simplu1.Top = 3, ; + Text_simplu1.Width = 79, ; + Lb_simplu1.Caption = "Data aviz:", ; + Lb_simplu1.Name = "Lb_simplu1" + *< END OBJECT: ClassLib="lb_tx.vcx" BaseClass="container" /> + + ADD OBJECT 'Clb_tx_simplu6' AS clb_tx_simplu WITH ; + Height = 29, ; + Left = 13, ; + Name = "Clb_tx_simplu6", ; + TabIndex = 3, ; + Top = 114, ; + Width = 192, ; + Text_simplu1.ControlSource = "porec.data2", ; + Text_simplu1.Format = "!KD", ; + Text_simplu1.Height = 23, ; + Text_simplu1.Left = 101, ; + Text_simplu1.Name = "Text_simplu1", ; + Text_simplu1.Top = 3, ; + Text_simplu1.Width = 79, ; + Lb_simplu1.Caption = "Data expirarii:", ; + Lb_simplu1.Name = "Lb_simplu1" + *< END OBJECT: ClassLib="lb_tx.vcx" BaseClass="container" /> + + ADD OBJECT 'Cus_odata_avize1' AS cus_odata_avize WITH ; + Left = 215, ; + Name = "Cus_odata_avize1", ; + Top = 33 + *< END OBJECT: ClassLib="opersonal.vcx" BaseClass="custom" /> + + PROCEDURE inainte_de_do_termin + LOCAL plReturn + PLRETURN=this.cus_odata_avize1.salvare(This.OREC,This.NID) + + Return PLRETURN + + ENDPROC + + PROCEDURE Init + Lparameters toRec, tnId, tcActiune + + DoDefault() + + This.orec= toRec + This.nid = tnId + + this.cus_odata_avize1.cactiune = tcActiune + + + ENDPROC + + PROCEDURE Clb_tx_simplu5.Text_simplu1.LostFocus + porec.data2=GOMONTH(porec.data1,12) + thisform.clb_tx_simplu6.text_simplu1.Refresh + ENDPROC + +ENDDEFINE + +DEFINE CLASS frm_bazacm_nou AS frm_termin_renunt OF "..\..\comun\clase\_frm_child.vcx" + *< CLASSDATA: Baseclass="form" Timestamp="" Scale="Pixels" Uniqueid="" /> + + *-- OBJECTDATA items order determines ZOrder / El orden de los items OBJECTDATA determina el ZOrder + *< OBJECTDATA: ObjPath="Clb_tx_simplu1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="Clb_tx_simplu2" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="Clb_tx_simplu3" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="Clb_tx_simplu4" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="Cus_odata_bazacm1" UniqueID="" Timestamp="" /> + + * + *p: nid + *p: orec + * + + * + DoCreate = .T. + Height = 196 + Name = "frm_bazacm_nou" + nid = .F. + orec = .F. + Width = 317 + _shape1.Name = "_shape1" + _shape2.Left = 243 + _shape2.Name = "_shape2" + _shape2.Top = 0 + Lb_titlu_alb_b121.Caption = "-" + Lb_titlu_alb_b121.Name = "Lb_titlu_alb_b121" + Lb_titlu_alb_b121.TabIndex = 7 + BUT_TERMIN1.Left = 285 + BUT_TERMIN1.Name = "BUT_TERMIN1" + BUT_TERMIN1.TabIndex = 5 + BUT_TERMIN1.Top = 1 + Gridsort1.Name = "Gridsort1" + BUT_RENUNT1.Left = 256 + BUT_RENUNT1.Name = "BUT_RENUNT1" + BUT_RENUNT1.TabIndex = 6 + BUT_RENUNT1.Top = 1 + * + + ADD OBJECT 'Clb_tx_simplu1' AS clb_tx_simplu WITH ; + Left = 13, ; + Name = "Clb_tx_simplu1", ; + TabIndex = 1, ; + Top = 52, ; + TEXT_SIMPLU1.ControlSource = "porec.luna", ; + TEXT_SIMPLU1.Name = "TEXT_SIMPLU1", ; + LB_SIMPLU1.Caption = "Luna:", ; + LB_SIMPLU1.Name = "LB_SIMPLU1" + *< END OBJECT: ClassLib="..\..\comun\clase\lb_tx.vcx" BaseClass="container" /> + + ADD OBJECT 'Clb_tx_simplu2' AS clb_tx_simplu WITH ; + Left = 13, ; + Name = "Clb_tx_simplu2", ; + TabIndex = 2, ; + Top = 83, ; + TEXT_SIMPLU1.ControlSource = "porec.an", ; + TEXT_SIMPLU1.Name = "TEXT_SIMPLU1", ; + LB_SIMPLU1.Caption = "An:", ; + LB_SIMPLU1.Name = "LB_SIMPLU1" + *< END OBJECT: ClassLib="..\..\comun\clase\lb_tx.vcx" BaseClass="container" /> + + ADD OBJECT 'Clb_tx_simplu3' AS clb_tx_simplu WITH ; + Left = 13, ; + Name = "Clb_tx_simplu3", ; + TabIndex = 3, ; + Top = 114, ; + TEXT_SIMPLU1.ControlSource = "porec.bazacalcul", ; + TEXT_SIMPLU1.Name = "TEXT_SIMPLU1", ; + LB_SIMPLU1.Caption = "Baza calcul CAS:", ; + LB_SIMPLU1.Name = "LB_SIMPLU1" + *< END OBJECT: ClassLib="..\..\comun\clase\lb_tx.vcx" BaseClass="container" /> + + ADD OBJECT 'Clb_tx_simplu4' AS clb_tx_simplu WITH ; + Left = 13, ; + Name = "Clb_tx_simplu4", ; + TabIndex = 4, ; + Top = 145, ; + TEXT_SIMPLU1.ControlSource = "porec.zilelucr", ; + TEXT_SIMPLU1.Name = "TEXT_SIMPLU1", ; + LB_SIMPLU1.Caption = "Zile lucrate:", ; + LB_SIMPLU1.Name = "LB_SIMPLU1" + *< END OBJECT: ClassLib="..\..\comun\clase\lb_tx.vcx" BaseClass="container" /> + + ADD OBJECT 'Cus_odata_bazacm1' AS cus_odata_bazacm WITH ; + Left = 53, ; + Name = "Cus_odata_bazacm1", ; + Top = 36 + *< END OBJECT: ClassLib="opersonal.vcx" BaseClass="custom" /> + + PROCEDURE inainte_de_do_termin + LOCAL plReturn + PLRETURN=this.cus_odata_bazacm1.salvare(This.OREC,This.NID) + + Return PLRETURN + + ENDPROC + + PROCEDURE Init + Lparameters toRec, tnId, tcActiune + + DoDefault() + + This.orec= toRec + This.nid = tnId + + this.cus_odata_bazacm1.cactiune = tcActiune + + + ENDPROC + +ENDDEFINE + +DEFINE CLASS frm_completeznrdata112 AS frm_termin OF "_frm_child.vcx" + *< CLASSDATA: Baseclass="form" Timestamp="" Scale="Pixels" Uniqueid="" /> + + *-- OBJECTDATA items order determines ZOrder / El orden de los items OBJECTDATA determina el ZOrder + *< OBJECTDATA: ObjPath="_grdrow1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="_grdrow1.Column1.Header1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="_grdrow1.Column1.Text1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="_grdrow1.Column2.Header1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="_grdrow1.Column2.Text1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="_grdrow1.Column3.Header1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="_grdrow1.Column3.Text1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="But_modifica1" UniqueID="" Timestamp="" /> + + * + DoCreate = .T. + Height = 442 + lactiv3 = .T. + Name = "frm_completeznrdata112" + Width = 381 + _shape1.Name = "_shape1" + _shape2.Name = "_shape2" + Lb_titlu_alb_b121.Caption = "Completati nr/data declaratiei 112" + Lb_titlu_alb_b121.Name = "Lb_titlu_alb_b121" + BUT_TERMIN1.Name = "BUT_TERMIN1" + Gridsort1.Left = 252 + Gridsort1.Name = "Gridsort1" + Gridsort1.Top = 12 + * + + ADD OBJECT '_grdrow1' AS _grdrow WITH ; + ColumnCount = 3, ; + DeleteMark = .F., ; + Height = 392, ; + Left = 4, ; + Name = "_grdrow1", ; + Panel = 1, ; + ReadOnly = .T., ; + RecordSource = "crs112", ; + Top = 36, ; + Width = 368, ; + Column1.ControlSource = "an", ; + Column1.Name = "Column1", ; + Column1.ReadOnly = .T., ; + Column1.Width = 55, ; + Column2.ControlSource = "Luna", ; + Column2.Name = "Column2", ; + Column2.ReadOnly = .T., ; + Column2.Width = 32, ; + Column3.ControlSource = "nrdata112", ; + Column3.Name = "Column3", ; + Column3.ReadOnly = .T., ; + Column3.Width = 239 + *< END OBJECT: ClassLib="_grd_base.vcx" BaseClass="grid" /> + + ADD OBJECT '_grdrow1.Column1.Header1' AS header WITH ; + Caption = "An", ; + Name = "Header1" + *< END OBJECT: BaseClass="header" /> + + ADD OBJECT '_grdrow1.Column1.Text1' AS textbox WITH ; + BackColor = 255,255,255, ; + BorderStyle = 0, ; + ForeColor = 0,0,0, ; + Margin = 0, ; + Name = "Text1", ; + ReadOnly = .T. + *< END OBJECT: BaseClass="textbox" /> + + ADD OBJECT '_grdrow1.Column2.Header1' AS header WITH ; + Caption = "Luna", ; + Name = "Header1" + *< END OBJECT: BaseClass="header" /> + + ADD OBJECT '_grdrow1.Column2.Text1' AS textbox WITH ; + BackColor = 255,255,255, ; + BorderStyle = 0, ; + ForeColor = 0,0,0, ; + Margin = 0, ; + Name = "Text1", ; + ReadOnly = .T. + *< END OBJECT: BaseClass="textbox" /> + + ADD OBJECT '_grdrow1.Column3.Header1' AS header WITH ; + Caption = "Nr. / Data declaratiei 112", ; + Name = "Header1" + *< END OBJECT: BaseClass="header" /> + + ADD OBJECT '_grdrow1.Column3.Text1' AS textbox WITH ; + BackColor = 255,255,255, ; + BorderStyle = 0, ; + ForeColor = 0,0,0, ; + Margin = 0, ; + Name = "Text1", ; + ReadOnly = .T. + *< END OBJECT: BaseClass="textbox" /> + + ADD OBJECT 'But_modifica1' AS but_modifica WITH ; + Left = 310, ; + Name = "But_modifica1", ; + Top = 2, ; + Visible = .T. + *< END OBJECT: ClassLib="cmd_butoane.vcx" BaseClass="commandbutton" /> + + PROCEDURE actualizeaza_grid1 + LPARAMETERS pcFiltru + LOCAL lcFiltru + lcFiltru=pcFiltru + IF EMPTY(lcFiltru) + lcFiltru=pod112.ca_baza1.cfiltru + ENDIF + save_grid_tag(thisform._grdrow1) + pod112.ca_baza1.cfiltru=lcFiltru + pod112.ca_baza1.afisare() + restore_grid_tag(thisform._grdrow1) + thisform._grdrow1.SetFocus() + + ENDPROC + + PROCEDURE do_modifica + Private pniesire + pniesire=0 + Select crs112 + Scatter Name loRec MEMO + Do Adauga_Modifica_Inregistrare With "completeznrdata112",loRec,loRec.id_calendar,"UPDATE",,"modd112" + + + If pniesire=1 + This.actualizeaza_grid1() + Endif + ENDPROC + +ENDDEFINE + +DEFINE CLASS frm_completeznrdata112_nou AS frm_termin_renunt OF "_frm_child.vcx" + *< CLASSDATA: Baseclass="form" Timestamp="" Scale="Pixels" Uniqueid="" /> + + *-- OBJECTDATA items order determines ZOrder / El orden de los items OBJECTDATA determina el ZOrder + *< OBJECTDATA: ObjPath="Clb_tx_simplu1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="Cus_odata_completeznrdata1121" UniqueID="" Timestamp="" /> + + * + *p: nid + *p: orec + * + + * + DoCreate = .T. + Height = 95 + Name = "frm_completeznrdata112_nou" + nid = + orec = + Width = 375 + _shape1.Name = "_shape1" + _shape2.Name = "_shape2" + Lb_titlu_alb_b121.Name = "Lb_titlu_alb_b121" + Lb_titlu_alb_b121.TabIndex = 1 + BUT_TERMIN1.Name = "BUT_TERMIN1" + BUT_TERMIN1.TabIndex = 3 + Gridsort1.Name = "Gridsort1" + BUT_RENUNT1.Name = "BUT_RENUNT1" + BUT_RENUNT1.TabIndex = 4 + * + + ADD OBJECT 'Clb_tx_simplu1' AS clb_tx_simplu WITH ; + Height = 29, ; + Left = 22, ; + Name = "Clb_tx_simplu1", ; + TabIndex = 2, ; + Top = 49, ; + Width = 319, ; + Text_simplu1.ControlSource = "pOREC.nrdata112", ; + Text_simplu1.Height = 23, ; + Text_simplu1.Left = 101, ; + Text_simplu1.Name = "Text_simplu1", ; + Text_simplu1.Top = 3, ; + Text_simplu1.Width = 215, ; + Lb_simplu1.Caption = "Numar si data D112", ; + Lb_simplu1.FontName = "Arial Narrow", ; + Lb_simplu1.Name = "Lb_simplu1" + *< END OBJECT: ClassLib="lb_tx.vcx" BaseClass="container" /> + + ADD OBJECT 'Cus_odata_completeznrdata1121' AS cus_odata_completeznrdata112 WITH ; + Left = 168, ; + Name = "Cus_odata_completeznrdata1121", ; + Top = 24 + *< END OBJECT: ClassLib="opersonal.vcx" BaseClass="custom" /> + + PROCEDURE Activate + this.lb_titlu_alb_b121.Caption = ALLTRIM(STR(This.OREC.luna))+ [ / ]+ALLTRIM(STR(This.OREC.an)) + ENDPROC + + PROCEDURE inainte_de_do_termin + Local PLRETURN + + lccontrol = Upper(This.ActiveControl.BaseClass ) + If Inlist(lccontrol,"TEXTBOX","EDITBOX","COMBOBOX") + lcval=This.ActiveControl.ControlSource + &lcval=Thisform.ActiveControl.Value + Endif + + Do Case + Case Empty(pOREC.nrdata112) + Messagebox('Nu ati completat numarul si data declaratiei 112!',0+48,"Atentie") + This.clb_tx_simplu1.teXT_SIMPLU1.SetFocus() + PLRETURN=.F. + Otherwise + + PLRETURN=this.cus_odata_completeznrdata1121.salvare(This.OREC,This.NID) + + Endcase + Return PLRETURN + + + + ENDPROC + + PROCEDURE Init + Lparameters toRec, tnId, tcActiune + + DoDefault() + + This.orec= toRec + This.nid = tnId + this.cus_odata_completeznrdata1121.cactiune = tcActiune + ENDPROC + +ENDDEFINE + +DEFINE CLASS frm_conditii AS frm_termin OF "_frm_child.vcx" + *< CLASSDATA: Baseclass="form" Timestamp="" Scale="Pixels" Uniqueid="" /> + + *-- OBJECTDATA items order determines ZOrder / El orden de los items OBJECTDATA determina el ZOrder + *< OBJECTDATA: ObjPath="Lb_simplu3" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="pagina" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="pagina.Page1._grid2" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="pagina.Page1._grid2.Column1.Header1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="pagina.Page1._grid2.Column1.Text1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="pagina.Page1.But_nou1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="pagina.Page1.But_sterge1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="pagina.Page1._grid1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="pagina.Page1._grid1.Column1.Header1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="pagina.Page1._grid1.Column1.Text1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="pagina.Page1._grid1.Column2.Header1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="pagina.Page1._grid1.Column2.Text1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="pagina.Page1._grid1.Column3.Header1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="pagina.Page1._grid1.Column3.Text1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="pagina.Page1.But_modifica1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="pagina.Page1.But_nou2" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="pagina.Page1.But_sterge2" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="pagina.Page1.But_modifica2" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="pagina.Page1.But_listare1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="pagina.Page1.But_excel1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="pagina.Page2._grid2" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="pagina.Page2._grid2.Column1.Header1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="pagina.Page2._grid2.Column1.Text1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="pagina.Page2._grid2.Column2.Header1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="pagina.Page2._grid2.Column2.Text1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="pagina.Page2._grid2.Column3.Header1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="pagina.Page2._grid2.Column3.Text1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="pagina.Page2._grid1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="pagina.Page2._grid1.Column1.Header1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="pagina.Page2._grid1.Column1.Text1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="pagina.Page2.Cmd_executa1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="pagina.Page2.lbnr" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="lista2" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="Lb_simplu1" UniqueID="" Timestamp="" /> + + * + *m: adauga_articol + *m: cauta_detalii + *m: cauta_persoane + *m: decode_string + *m: detalii_conditie + *m: modifica_articol + *m: prep_modifica + *m: salveaza_conditie + *m: sterge_articol + *m: sterge_conditie + *p: temporar + * + + * + BorderStyle = 1 + cgridsortlist = pagina.page1._grid2,pagina.page1._grid1,pagina.page2._grid1,pagina.page2._grid2 + DoCreate = .T. + Height = 407 + Name = "frm_conditii" + temporar = 0 + Width = 573 + _shape1.Height = 29 + _shape1.Left = 0 + _shape1.Name = "_shape1" + _shape1.Top = 0 + _shape1.Width = 576 + _shape2.Height = 29 + _shape2.Left = 540 + _shape2.Name = "_shape2" + _shape2.Top = 0 + _shape2.Width = 33 + Lb_titlu_alb_b121.Caption = "Conditii echipamente" + Lb_titlu_alb_b121.Name = "Lb_titlu_alb_b121" + BUT_TERMIN1.Left = 541 + BUT_TERMIN1.Name = "BUT_TERMIN1" + BUT_TERMIN1.Top = 1 + Gridsort1.Left = 72 + Gridsort1.Name = "Gridsort1" + Gridsort1.Top = 12 + * + + ADD OBJECT 'Lb_simplu1' AS lb_simplu WITH ; + Caption = "Conditii", ; + FontBold = .T., ; + Left = 12, ; + Name = "Lb_simplu1", ; + Top = 261 + *< END OBJECT: ClassLib="lb.vcx" BaseClass="label" /> + + ADD OBJECT 'Lb_simplu3' AS lb_simplu WITH ; + Caption = "Elemente", ; + FontBold = .T., ; + Left = 32, ; + Name = "Lb_simplu3", ; + Top = 210 + *< END OBJECT: ClassLib="lb.vcx" BaseClass="label" /> + + ADD OBJECT 'lista2' AS _listbox WITH ; + Height = 120, ; + Left = 12, ; + Name = "lista2", ; + SpecialEffect = 1, ; + Top = 282, ; + Width = 426 + *< END OBJECT: ClassLib="_baza.vcx" BaseClass="listbox" /> + + ADD OBJECT 'pagina' AS _pageframe WITH ; + ErasePage = .T., ; + Height = 224, ; + Left = 12, ; + Name = "pagina", ; + PageCount = 2, ; + TabOrientation = 0, ; + TabStyle = 1, ; + Top = 34, ; + Width = 552, ; + Page1.BackColor = 255,255,255, ; + Page1.Caption = "Grupe", ; + Page1.FontBold = .T., ; + Page1.Name = "Page1", ; + Page2.BackColor = 255,255,255, ; + Page2.Caption = "Personal", ; + Page2.FontBold = .T., ; + Page2.Name = "Page2" + *< END OBJECT: ClassLib="_baza.vcx" BaseClass="pageframe" /> + + ADD OBJECT 'pagina.Page1._grid1' AS _grid WITH ; + ColumnCount = 3, ; + DeleteMark = .F., ; + GridLineColor = 221,227,252, ; + GridLines = 1, ; + Height = 166, ; + HighlightStyle = 2, ; + Left = 251, ; + Name = "_grid1", ; + Panel = 1, ; + PanelLink = .T., ; + RecordSource = "v_articole", ; + RowHeight = 20, ; + ScrollBars = 0, ; + SplitBar = .T., ; + TabIndex = 1, ; + Top = 27, ; + Width = 293, ; + Column1.ControlSource = "articol", ; + Column1.Name = "Column1", ; + Column1.Width = 138, ; + Column2.ColumnOrder = 3, ; + Column2.ControlSource = "cantitate", ; + Column2.Name = "Column2", ; + Column2.Width = 65, ; + Column3.ColumnOrder = 2, ; + Column3.ControlSource = "codmat", ; + Column3.Name = "Column3" + *< END OBJECT: ClassLib="_baza.vcx" BaseClass="grid" /> + + ADD OBJECT 'pagina.Page1._grid1.Column1.Header1' AS header WITH ; + Alignment = 2, ; + BackColor = 221,227,252, ; + Caption = "Articol", ; + Name = "Header1" + *< END OBJECT: BaseClass="header" /> + + ADD OBJECT 'pagina.Page1._grid1.Column1.Text1' AS textbox WITH ; + BackColor = 255,255,255, ; + BorderStyle = 0, ; + ForeColor = 0,0,0, ; + Margin = 0, ; + Name = "Text1" + *< END OBJECT: BaseClass="textbox" /> + + ADD OBJECT 'pagina.Page1._grid1.Column2.Header1' AS header WITH ; + Alignment = 2, ; + BackColor = 221,227,252, ; + Caption = "Cantitate", ; + Name = "Header1" + *< END OBJECT: BaseClass="header" /> + + ADD OBJECT 'pagina.Page1._grid1.Column2.Text1' AS textbox WITH ; + BackColor = 255,255,255, ; + BorderStyle = 0, ; + ForeColor = 0,0,0, ; + Margin = 0, ; + Name = "Text1" + *< END OBJECT: BaseClass="textbox" /> + + ADD OBJECT 'pagina.Page1._grid1.Column3.Header1' AS header WITH ; + Alignment = 2, ; + BackColor = 221,227,252, ; + Caption = "Cod material", ; + Name = "Header1" + *< END OBJECT: BaseClass="header" /> + + ADD OBJECT 'pagina.Page1._grid1.Column3.Text1' AS textbox WITH ; + BackColor = 255,255,255, ; + BorderStyle = 0, ; + ForeColor = 0,0,0, ; + Margin = 0, ; + Name = "Text1" + *< END OBJECT: BaseClass="textbox" /> + + ADD OBJECT 'pagina.Page1._grid2' AS _grid WITH ; + ColumnCount = 1, ; + DeleteMark = .F., ; + GridLineColor = 221,227,252, ; + GridLines = 1, ; + Height = 166, ; + HighlightStyle = 2, ; + Left = 5, ; + Name = "_grid2", ; + Panel = 1, ; + PanelLink = .T., ; + RecordSource = "v_conditii", ; + RowHeight = 20, ; + ScrollBars = 0, ; + SplitBar = .T., ; + TabIndex = 1, ; + Top = 27, ; + Width = 240, ; + Column1.ControlSource = "denumire", ; + Column1.Name = "Column1", ; + Column1.Width = 227 + *< END OBJECT: ClassLib="_baza.vcx" BaseClass="grid" /> + + ADD OBJECT 'pagina.Page1._grid2.Column1.Header1' AS header WITH ; + Alignment = 2, ; + BackColor = 221,227,252, ; + Caption = "Grupa", ; + Name = "Header1" + *< END OBJECT: BaseClass="header" /> + + ADD OBJECT 'pagina.Page1._grid2.Column1.Text1' AS textbox WITH ; + BackColor = 255,255,255, ; + BorderStyle = 0, ; + ForeColor = 0,0,0, ; + Margin = 0, ; + Name = "Text1" + *< END OBJECT: BaseClass="textbox" /> + + ADD OBJECT 'pagina.Page1.But_excel1' AS but_excel WITH ; + Left = 213, ; + Name = "But_excel1", ; + Top = -1, ; + Visible = .T. + *< END OBJECT: ClassLib="cmd_butoane.vcx" BaseClass="commandbutton" /> + + ADD OBJECT 'pagina.Page1.But_listare1' AS but_listare WITH ; + Left = 184, ; + Name = "But_listare1", ; + Top = -1, ; + Visible = .T. + *< END OBJECT: ClassLib="cmd_butoane.vcx" BaseClass="commandbutton" /> + + ADD OBJECT 'pagina.Page1.But_modifica1' AS but_modifica WITH ; + caction = modifica_articol, ; + Left = 480, ; + Name = "But_modifica1", ; + Top = -1, ; + Visible = .T. + *< END OBJECT: ClassLib="cmd_butoane.vcx" BaseClass="commandbutton" /> + + ADD OBJECT 'pagina.Page1.But_modifica2' AS but_modifica WITH ; + caction = do_modifica, ; + Left = 123, ; + Name = "But_modifica2", ; + Top = -1, ; + Visible = .T. + *< END OBJECT: ClassLib="cmd_butoane.vcx" BaseClass="commandbutton" /> + + ADD OBJECT 'pagina.Page1.But_nou1' AS but_nou WITH ; + caction = adauga_articol, ; + Left = 449, ; + Name = "But_nou1", ; + TabIndex = 3, ; + Top = -1 + *< END OBJECT: ClassLib="cmd_butoane.vcx" BaseClass="commandbutton" /> + + ADD OBJECT 'pagina.Page1.But_nou2' AS but_nou WITH ; + caction = do_adauga, ; + Left = 92, ; + Name = "But_nou2", ; + TabIndex = 3, ; + Top = -1 + *< END OBJECT: ClassLib="cmd_butoane.vcx" BaseClass="commandbutton" /> + + ADD OBJECT 'pagina.Page1.But_sterge1' AS but_sterge WITH ; + caction = sterge_articol, ; + Left = 511, ; + Name = "But_sterge1", ; + TabIndex = 4, ; + Top = -1, ; + Visible = .T. + *< END OBJECT: ClassLib="cmd_butoane.vcx" BaseClass="commandbutton" /> + + ADD OBJECT 'pagina.Page1.But_sterge2' AS but_sterge WITH ; + caction = do_sterge, ; + Left = 154, ; + Name = "But_sterge2", ; + TabIndex = 4, ; + Top = -1, ; + Visible = .T. + *< END OBJECT: ClassLib="cmd_butoane.vcx" BaseClass="commandbutton" /> + + ADD OBJECT 'pagina.Page2._grid1' AS _grid WITH ; + ColumnCount = 1, ; + DeleteMark = .F., ; + GridLineColor = 221,227,252, ; + GridLines = 1, ; + Height = 166, ; + HighlightStyle = 2, ; + Left = 251, ; + Name = "_grid1", ; + Panel = 1, ; + PanelLink = .T., ; + RecordSource = "v_art_pers", ; + RowHeight = 20, ; + ScrollBars = 0, ; + SplitBar = .T., ; + TabIndex = 1, ; + Top = 27, ; + Width = 293, ; + Column1.ControlSource = "articol", ; + Column1.Name = "Column1", ; + Column1.Width = 280 + *< END OBJECT: ClassLib="_baza.vcx" BaseClass="grid" /> + + ADD OBJECT 'pagina.Page2._grid1.Column1.Header1' AS header WITH ; + Alignment = 2, ; + BackColor = 221,227,252, ; + Caption = "Articole", ; + Name = "Header1" + *< END OBJECT: BaseClass="header" /> + + ADD OBJECT 'pagina.Page2._grid1.Column1.Text1' AS textbox WITH ; + BackColor = 255,255,255, ; + BorderStyle = 0, ; + ForeColor = 0,0,0, ; + Margin = 0, ; + Name = "Text1" + *< END OBJECT: BaseClass="textbox" /> + + ADD OBJECT 'pagina.Page2._grid2' AS _grid WITH ; + ColumnCount = 3, ; + DeleteMark = .F., ; + GridLineColor = 221,227,252, ; + GridLines = 1, ; + Height = 166, ; + HighlightStyle = 2, ; + Left = 5, ; + Name = "_grid2", ; + Panel = 1, ; + PanelLink = .T., ; + RecordSource = "v_pers", ; + RowHeight = 20, ; + ScrollBars = 0, ; + SplitBar = .T., ; + TabIndex = 1, ; + Top = 27, ; + Width = 240, ; + Column1.ControlSource = "marca", ; + Column1.Name = "Column1", ; + Column1.Width = 60, ; + Column2.ControlSource = "nume", ; + Column2.Name = "Column2", ; + Column2.Width = 83, ; + Column3.ControlSource = "prenume", ; + Column3.Name = "Column3", ; + Column3.Width = 81 + *< END OBJECT: ClassLib="_baza.vcx" BaseClass="grid" /> + + ADD OBJECT 'pagina.Page2._grid2.Column1.Header1' AS header WITH ; + Alignment = 2, ; + BackColor = 221,227,252, ; + Caption = "Marca", ; + Name = "Header1" + *< END OBJECT: BaseClass="header" /> + + ADD OBJECT 'pagina.Page2._grid2.Column1.Text1' AS textbox WITH ; + BackColor = 255,255,255, ; + BorderStyle = 0, ; + ForeColor = 0,0,0, ; + Margin = 0, ; + Name = "Text1" + *< END OBJECT: BaseClass="textbox" /> + + ADD OBJECT 'pagina.Page2._grid2.Column2.Header1' AS header WITH ; + Alignment = 2, ; + BackColor = 221,227,252, ; + Caption = "Nume", ; + Name = "Header1" + *< END OBJECT: BaseClass="header" /> + + ADD OBJECT 'pagina.Page2._grid2.Column2.Text1' AS textbox WITH ; + BackColor = 255,255,255, ; + BorderStyle = 0, ; + ForeColor = 0,0,0, ; + Margin = 0, ; + Name = "Text1" + *< END OBJECT: BaseClass="textbox" /> + + ADD OBJECT 'pagina.Page2._grid2.Column3.Header1' AS header WITH ; + Alignment = 2, ; + BackColor = 221,227,252, ; + Caption = "Prenume", ; + Name = "Header1" + *< END OBJECT: BaseClass="header" /> + + ADD OBJECT 'pagina.Page2._grid2.Column3.Text1' AS textbox WITH ; + BackColor = 255,255,255, ; + BorderStyle = 0, ; + ForeColor = 0,0,0, ; + Margin = 0, ; + Name = "Text1" + *< END OBJECT: BaseClass="textbox" /> + + ADD OBJECT 'pagina.Page2.Cmd_executa1' AS cmd_executa WITH ; + AutoSize = .T., ; + Caption = "Aplica Conditie", ; + Left = 439, ; + Name = "Cmd_executa1", ; + Top = -1 + *< END OBJECT: ClassLib="cmd_butoane.vcx" BaseClass="commandbutton" /> + + ADD OBJECT 'pagina.Page2.lbnr' AS lb_simplu WITH ; + Caption = "Numar persoane : ", ; + Left = 5, ; + Name = "lbnr", ; + Top = 10 + *< END OBJECT: ClassLib="lb.vcx" BaseClass="label" /> + + PROCEDURE actualizeaza_grid1 + Lparameters tcFiltru + Local lcFiltru + If Empty(tcFiltru) + lcFiltru = pocond.ca_baza1.cfiltru + Else + lcFiltru = tcFiltru + Endif + + Thisform.MousePointer= 11 + Thisform.LockScreen=.T. + save_grid_tag(thisform.pagina.page1._grid2) + pocond.ca_baza1.cfiltru=lcFiltru + pocond.ca_baza1.afisare() + restore_grid_tag(thisform.pagina.page1._grid2) + SELECT v_conditii + replace ALL nr WITH RECNO() + GO TOP + *!* thisform.label_conditie.Caption='Conditie : '+ALLTRIM(denumire) + *!* thisform.label_conditie.Refresh + + Thisform.LockScreen=.F. + Thisform.MousePointer= 0 + this.pagina.page1._grid2.SetFocus() + ENDPROC + + PROCEDURE adauga_articol + IF EMPTY(poconditii.id_conditie) + MESSAGEBOX('Creati intai o conditie pentru a putea introduce articole!',48,'Atentie!') + RETURN + ENDIF + Private pniesire + pniesire=0 + Select v_articole + Scatter Name loRec Blank + lorec.id_conditie = poconditii.id_conditie + + Do Adauga_Modifica_Inregistrare With "articole",loRec,,"INSERT",,"addart" + + ENDPROC + + PROCEDURE cauta_detalii + LPARAMETERS tcCamp,tcCampId,tcValId,tcTabela + LOCAL lcReturn + lcSQl = [select ] + tcCamp + [ as rezultat from ] + gcs + [.] + tcTabela + [ where ] + tcCampID + [=] + tcValId + lcCursor = 'v_rezultat' + lnSucces = goExecutor.oExecute(lcSQl,lcCursor) + + IF lnSucces < 0 + MESSAGEBOX(goExecutor.cEroare,0+16,"Eroare") + RETURN null + ELSE + SELECT v_rezultat + lcReturn = v_rezultat.rezultat + IF TYPE('lcReturn')='C' + lcReturn=ALLTRIM(lcREturn) + ENDIF + RETURN lcReturn + ENDIF + ENDPROC + + PROCEDURE cauta_persoane + lcConditie = ALLTRIM(poconditii.conditie) + IF EMPTY(lcConditie) + RETURN + ENDIF + + save_grid_tag(thisform.pagina.paGE2._grid2) + poper.ca_baza1.cfiltru=[1=1 and ] + lcConditie + poper.ca_baza1.afisare() + restore_grid_tag(thisform.pagina.paGE2._grid2) + LOCAL lncount + lncount = RECCOUNT('v_pers') + this.pagina.page2.lbnr.Caption = 'Numar persoane : ' + ALLTRIM(STR(lncount)) + this.pagina.page2.lbnr.Refresh + IF RECCOUNT('v_pers')=0 + save_grid_tag(thisform.pagina.paGE2._grid1) + poarticole.ca_baza1.cfiltru=[ 1=2 ] + poarticole.ca_baza1.afisare() + restore_grid_tag(thisform.pagina.paGE2._grid1) + ENDIF + thisform.pagina.paGE2._grid2.SetFocus() + + + ENDPROC + + PROCEDURE decode_string + LPARAMETERS tcString + + thisform.lista2.Clear() + LOCAL lcstring,lnCond,i,lcWord,lsex + lcString = UPPER(tcString) + lsex=.f. + IF EMPTY(lcstring) + RETURN + ENDIF + lcWord='' + i=0 + j=0 + z=0 + lnCond=0 + lnCond = GETWORDCOUNT(lcstring,')') &&nr conditii + + lcSirLista = '' + thisform.LockScreen=.t. + + + thisform.temporar=0 &&resetez array + DIMENSION taCompun[1,3] + ADEL(taCompun,1) + + FOR i=1 TO lnCond + + lcWord = STREXTRACT(lcString,'(',')',i,1) + FOR j=1 TO ALEN(taElemente,1) + lcCampId = UPPER(ALLTRIM(taElemente[j,3])) &&cheia primara din tabela de elemente ( nom_sectii,etc) + IF OCCURS(':',lcCampid)>0 + lsex=.t. + lcCampId = UPPER(ALLTRIM(taElemente[j,2])) + ELSE + lsex=.f. + ENDIF + lcDescCamp = ALLTRIM(taElemente[j,1]) &&descriere camp + lnCount = OCCURS(lcCampId,lcWord) + IF lnCount>0 + FOR z =1 TO lnCount + + thisform.temporar=thisform.temporar+1 + DIMENSION taCompun[thisform.temporar,3] + lcValId = ALLTRIM(STREXTRACT(lcWord,'=',' OR ',z,2)) &&&valoare id + IF lsex + lcValoare = lcValId + ELSE + lcValoare = thisform.cauta_detalii(taElemente[j,2],taElemente[j,3],lcValId,taElemente[j,5]) + ENDIF + IF ISNULL(lcValoare) + MESSAGEBOX('Eroare!') + RETURN + ENDIF + lcTemp = taElemente[j,1] + ' este '+ lcValoare + ICASE(z + + *-- OBJECTDATA items order determines ZOrder / El orden de los items OBJECTDATA determina el ZOrder + *< OBJECTDATA: ObjPath="Cb_tx_simplu2" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="Cmd_cauta1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="lista2" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="But_sterge1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="Clb_tx_simplu1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="CUS_ODATA_COND1" UniqueID="" Timestamp="" /> + + * + *m: do_sterge_conditie + *p: temporar + * + + * + BorderStyle = 3 + DoCreate = .T. + Height = 226 + Name = "frm_conditii_nou" + temporar = 0 + Width = 533 + _shape1.Height = 29 + _shape1.Left = 0 + _shape1.Name = "_shape1" + _shape1.Top = 0 + _shape1.Width = 533 + _shape2.Height = 29 + _shape2.Left = 468 + _shape2.Name = "_shape2" + _shape2.Top = 0 + _shape2.Width = 62 + Lb_titlu_alb_b121.Caption = "Adaugare / Modificare conditie" + Lb_titlu_alb_b121.Name = "Lb_titlu_alb_b121" + Lb_titlu_alb_b121.TabIndex = 6 + BUT_TERMIN1.Left = 497 + BUT_TERMIN1.Name = "BUT_TERMIN1" + BUT_TERMIN1.TabIndex = 4 + BUT_TERMIN1.Top = 1 + Gridsort1.Name = "Gridsort1" + But_renunt1.Left = 468 + But_renunt1.Name = "But_renunt1" + But_renunt1.TabIndex = 5 + But_renunt1.Top = 1 + * + + ADD OBJECT 'But_sterge1' AS but_sterge WITH ; + caction = do_sterge_conditie, ; + Left = 479, ; + Name = "But_sterge1", ; + TabIndex = 8, ; + Top = 140, ; + Visible = .T. + *< END OBJECT: ClassLib="cmd_butoane.vcx" BaseClass="commandbutton" /> + + ADD OBJECT 'Cb_tx_simplu2' AS cb_tx_simplu WITH ; + Height = 29, ; + Left = 12, ; + Name = "Cb_tx_simplu2", ; + TabIndex = 2, ; + Top = 67, ; + Width = 232, ; + _cbbase1.BoundColumn = 2, ; + _cbbase1.BoundTo = .T., ; + _cbbase1.ColumnCount = 1, ; + _cbbase1.Height = 23, ; + _cbbase1.Left = 77, ; + _cbbase1.Name = "_cbbase1", ; + _cbbase1.RowSource = "taElemente", ; + _cbbase1.RowSourceType = 5, ; + _cbbase1.Style = 2, ; + _cbbase1.Top = 3, ; + _cbbase1.Value = , ; + _cbbase1.Width = 152, ; + _lbbase1.Caption = "Elemente", ; + _lbbase1.Name = "_lbbase1" + *< END OBJECT: ClassLib="lb_tx.vcx" BaseClass="container" /> + + ADD OBJECT 'Clb_tx_simplu1' AS clb_tx_simplu WITH ; + Height = 29, ; + Left = 12, ; + Name = "Clb_tx_simplu1", ; + TabIndex = 1, ; + Top = 36, ; + Width = 515, ; + Text_simplu1.ControlSource = "poconditii.denumire", ; + Text_simplu1.DisabledBackColor = 242,242,242, ; + Text_simplu1.Height = 23, ; + Text_simplu1.Left = 101, ; + Text_simplu1.Name = "Text_simplu1", ; + Text_simplu1.ReadOnly = .F., ; + Text_simplu1.Top = 3, ; + Text_simplu1.Width = 410, ; + Lb_simplu1.Caption = "Denumire", ; + Lb_simplu1.Name = "Lb_simplu1" + *< END OBJECT: ClassLib="lb_tx.vcx" BaseClass="container" /> + + ADD OBJECT 'Cmd_cauta1' AS cmd_cauta WITH ; + Left = 251, ; + Name = "Cmd_cauta1", ; + TabIndex = 3, ; + Top = 67 + *< END OBJECT: ClassLib="cmd_butoane.vcx" BaseClass="commandbutton" /> + + ADD OBJECT 'CUS_ODATA_COND1' AS cus_odata_cond WITH ; + Left = 504, ; + Name = "CUS_ODATA_COND1", ; + Top = 84 + *< END OBJECT: ClassLib="opersonal.vcx" BaseClass="custom" /> + + ADD OBJECT 'lista2' AS _listbox WITH ; + Height = 120, ; + Left = 12, ; + Name = "lista2", ; + RowSource = "taCompun", ; + RowSourceType = 5, ; + SpecialEffect = 1, ; + TabIndex = 7, ; + Top = 98, ; + Width = 464 + *< END OBJECT: ClassLib="_baza.vcx" BaseClass="listbox" /> + + PROCEDURE do_cauta + + IF EMPTY(thisform.cb_tx_simplu2._cbbase1.Value) + RETURN + ENDIF + lnValue = thisform.cb_tx_simplu2._cbbase1.ListIndex + IF EMPTY(lnValue) + RETURN + ENDIF + lcCamp = taElemente[lnValue,2] + + + lcTabela = taElemente[lnValue,5] + lcId = taElemente[lnValue,3] + &&tratare sex + lsex=.f. + IF OCCURS(':',lcId)>0 + lcID=SUBSTR(lcId,2) + lSex = .t. + ENDIF + &&tratare sex + lcTITLU = taElemente[lnValue,1] + buton=2 + + pcselect = [select ] + IIF(lsex=.t.,lcId + ' ' ,lcid+[,]) + lcCamp + + [ from ] + gcS + [.] + lcTabela + pcfiltruinitial=[sters=0] + pcfiltru = [2=2] + pcschema = [] + pcorder = lcCamp + pccoloane = lcCamp + pcTitlu = lcTITLU + pcTitluColoane = lcTITLU + locauta = cauta_alfa(pcselect,pcfiltru,pcschema,pcorder,pccoloane,pcTitlu,pcTitluColoane,,,pcfiltruinitial) + IF buton#2 + thisform.temporar=thisform.temporar + 1 &&dimensiune array + + lcValoare = ALLTRIM(locauta.&lcCamp) + IF !lsex + lcValId = ALLTRIM(STR(locauta.&lcId)) &&valoare id + ENDIF + + + lnLenTemp = ALEN(taCompun,1) + IF lnLenTemp < thisform.temporar + DIMENSION taCompun[thisform.temporar,3] &&redimensionez array temporar + taCompun[thisform.temporar,1]=0 + taCompun[thisform.temporar,2]=0 + taCompun[thisform.temporar,3]=0 + lnLenTemp = thisform.temporar &&dimensiune + ENDIF + + lnpoz = ASCAN(taCompun,lnValue,1,lnLenTemp ,3,8) &&verific daca mai am conditii pt aceasta tabela + DO WHILE lnpoz>0 + IF ALLTRIM(lower(RIGHT(taCompun[lnpoz,1],4)))#'sau' + + taCompun[lnpoz,1] = taCompun[lnPoz,1] + ' sau ' + ENDIF + lnPoz = ASCAN(taCompun,lnValue,lnpoz+1,lnLenTemp-lnpoz,3,8) + ENDDO + taCompun[thisform.temporar,1] = lcTITLU + ' este ' + lcValoare + IF lsex + lcId = lcCamp + lcValId = [''] + lcValoare + [''] + ENDIF + taCompun[thisform.temporar,2] = lcId + '=' + lcValId + taCompun[thisform.temporar,3] = lnValue + ASORT(taCompun,3,lnLenTemp) &&ordonare + thisform.lista2.Requery() + + ENDIF + + ENDPROC + + PROCEDURE do_sterge_conditie + thisform.LockScreen=.t. + + lnLen = ALEN(taCompun,1) + lnitem = thisform.lista2.ListItemId + + IF TYPE('taCompun[lnitem-1,1]')#'U' &&verific inregistrarea precedenta ca sa scot 'sau' + lcValue = taCompun[lnitem-1,1] + IF ALLTRIM(lower((RIGHT(lcValue,4))))='sau' + taCompun[lnitem-1,1] = SUBSTR(taCompun[lnitem-1,1],1,LEN(taCompun[lnitem-1,1])-4) + ENDIF + ENDIF + ADEL(taCompun,lnitem) + IF ALEN(taCompun,1)>1 + DIMENSION taCompun[lnLen-1,3] + thisform.temporar=ALEN(taCompun,1) + ELSE + thisform.temporar=0 + ENDIF + thisform.lista2.RemovelistItem(lnitem) + thisform.lista2.requery + thisform.LockScreen=.f. + ENDPROC + + PROCEDURE inainte_de_do_termin + + lnLen = ALEN(taCompun,1) + + lnFlag = taCompun[1,3] + + lcString = '' + IF TYPE('lnflag')='N' + FOR i=1 TO lnLen + lnFlag2 = taCompun[i,3] + lcCond = taCompun[i,2] + IF lnFlag=lnFlag2 + IF i=1 + lcString = taCompun[i,2] + ELSE + lcString = lcString + ' OR ' + taCompun[i,2] + ENDIF + ELSE + lnFlag = taCompun[i,3] + lcString = lcString + ')' + ' AND ' + '(' + taCompun[i,2] + ENDIF + ENDFOR + lcString = '(' + lcString + ')' + ELSE + lcString = '1=1' + ENDIF + poconditii.conditie = lcString + + plreturn = This.cus_odata_cond1.salvare(poconditii,poconditii.id_conditie) + RETURN plreturn + + ENDPROC + + PROCEDURE Init + PARAMETERS tcOperatie,taCompun,taElemente,tnTemporar + + thisform.temporar=tnTemporar + this.cuS_ODATA_COND1.cactiune=tcOperatie + + DODEFAULT() + ENDPROC + +ENDDEFINE + +DEFINE CLASS frm_config_acte AS frm_termin_renunt OF "_frm_child.vcx" + *< CLASSDATA: Baseclass="form" Timestamp="" Scale="Pixels" Uniqueid="" /> + + *-- OBJECTDATA items order determines ZOrder / El orden de los items OBJECTDATA determina el ZOrder + *< OBJECTDATA: ObjPath="tx_tabel" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="lista_st" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="LB_SIMPLU1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="lista_dr" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="Lb_simplu2" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="But_sterge1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="Cmd_executa1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="CMD_CAUTA1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="grd_act" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="grd_act.Column1.Header1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="grd_act.Column1.Text1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="grd_act.Column2.Header1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="grd_act.Column2.Text1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="Cmd_executa2" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="lista_ref" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="Lb_simplu5" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="But_nou1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="But_sterge2" UniqueID="" Timestamp="" /> + + * + *m: do_adauga_ref + *m: do_alege_ref + *m: do_select_ref + *m: do_sterge_listadr + *m: do_umple_listadr + *m: select_coloane + *p: tabel + * + + * + BorderStyle = 3 + DoCreate = .T. + Height = 362 + Name = "frm_config_acte" + tabel = + Width = 751 + _SHAPE1.Height = 29 + _SHAPE1.Left = 0 + _SHAPE1.Name = "_SHAPE1" + _SHAPE1.Top = 0 + _SHAPE1.Width = 756 + _SHAPE2.Height = 29 + _SHAPE2.Left = 688 + _SHAPE2.Name = "_SHAPE2" + _SHAPE2.Top = 0 + _SHAPE2.Width = 62 + LB_TITLU_ALB_B121.Caption = "Configurare coloane acte" + LB_TITLU_ALB_B121.Name = "LB_TITLU_ALB_B121" + LB_TITLU_ALB_B121.TabIndex = 10 + BUT_TERMIN1.Left = 719 + BUT_TERMIN1.Name = "BUT_TERMIN1" + BUT_TERMIN1.TabIndex = 8 + BUT_TERMIN1.Top = 1 + GRIDSORT1.Name = "GRIDSORT1" + BUT_RENUNT1.Left = 690 + BUT_RENUNT1.Name = "BUT_RENUNT1" + BUT_RENUNT1.TabIndex = 9 + BUT_RENUNT1.Top = 1 + * + + ADD OBJECT 'But_nou1' AS but_nou WITH ; + caction = do_adauga_ref, ; + Left = 690, ; + Name = "But_nou1", ; + Top = 68 + *< END OBJECT: ClassLib="cmd_butoane.vcx" BaseClass="commandbutton" /> + + ADD OBJECT 'But_sterge1' AS but_sterge WITH ; + caction = do_sterge_listadr, ; + Height = 27, ; + Left = 548, ; + Name = "But_sterge1", ; + TabIndex = 14, ; + Top = 68, ; + Visible = .T., ; + Width = 30 + *< END OBJECT: ClassLib="cmd_butoane.vcx" BaseClass="commandbutton" /> + + ADD OBJECT 'But_sterge2' AS but_sterge WITH ; + Height = 27, ; + Left = 719, ; + Name = "But_sterge2", ; + TabIndex = 14, ; + Top = 68, ; + Visible = .T., ; + Width = 30 + *< END OBJECT: ClassLib="cmd_butoane.vcx" BaseClass="commandbutton" /> + + ADD OBJECT 'CMD_CAUTA1' AS cmd_cauta WITH ; + Left = 490, ; + Name = "CMD_CAUTA1", ; + TabIndex = 3, ; + Top = 36 + *< END OBJECT: ClassLib="cmd_butoane.vcx" BaseClass="commandbutton" /> + + ADD OBJECT 'Cmd_executa1' AS cmd_executa WITH ; + Caption = "", ; + cpicturedown = add.bmp, ; + cpictureup = add.bmp, ; + Height = 27, ; + Left = 369, ; + Name = "Cmd_executa1", ; + Picture = ..\grafice\utile\add.bmp, ; + TabIndex = 5, ; + Top = 176, ; + Width = 30 + *< END OBJECT: ClassLib="cmd_butoane.vcx" BaseClass="commandbutton" /> + + ADD OBJECT 'Cmd_executa2' AS cmd_executa WITH ; + Caption = "", ; + cpicturedown = add.bmp, ; + cpictureup = add.bmp, ; + Height = 27, ; + Left = 369, ; + Name = "Cmd_executa2", ; + Picture = ..\grafice\utile\add_ref.bmp, ; + TabIndex = 5, ; + Top = 204, ; + Width = 30 + *< END OBJECT: ClassLib="cmd_butoane.vcx" BaseClass="commandbutton" /> + + ADD OBJECT 'grd_act' AS _grid WITH ; + BackColor = 255,255,255, ; + ColumnCount = 2, ; + DeleteMark = .F., ; + GridLineColor = 192,192,192, ; + GridLines = 3, ; + Height = 329, ; + Left = 4, ; + Name = "grd_act", ; + Panel = 1, ; + RecordSource = "v_nom_acte", ; + Top = 31, ; + Width = 225, ; + Column1.BackColor = 255,255,255, ; + Column1.ControlSource = "", ; + Column1.Name = "Column1", ; + Column1.Visible = .T., ; + Column1.Width = 20, ; + Column2.BackColor = 255,255,255, ; + Column2.ControlSource = "nume_act", ; + Column2.Name = "Column2", ; + Column2.Visible = .T., ; + Column2.Width = 207 + *< END OBJECT: ClassLib="_baza.vcx" BaseClass="grid" /> + + ADD OBJECT 'grd_act.Column1.Header1' AS header WITH ; + Alignment = 2, ; + Caption = "Nr", ; + Name = "Header1" + *< END OBJECT: BaseClass="header" /> + + ADD OBJECT 'grd_act.Column1.Text1' AS textbox WITH ; + BackColor = 255,255,255, ; + BorderStyle = 0, ; + ForeColor = 0,0,0, ; + Margin = 0, ; + Name = "Text1", ; + Visible = .T. + *< END OBJECT: BaseClass="textbox" /> + + ADD OBJECT 'grd_act.Column2.Header1' AS header WITH ; + Alignment = 2, ; + Caption = "Document", ; + Name = "Header1" + *< END OBJECT: BaseClass="header" /> + + ADD OBJECT 'grd_act.Column2.Text1' AS textbox WITH ; + BackColor = 255,255,255, ; + BorderStyle = 0, ; + ForeColor = 0,0,0, ; + Margin = 0, ; + Name = "Text1", ; + Visible = .T. + *< END OBJECT: BaseClass="textbox" /> + + ADD OBJECT 'LB_SIMPLU1' AS lb_simplu WITH ; + Caption = "Coloane", ; + FontBold = .T., ; + Left = 253, ; + Name = "LB_SIMPLU1", ; + TabIndex = 11, ; + Top = 81 + *< END OBJECT: ClassLib="lb.vcx" BaseClass="label" /> + + ADD OBJECT 'Lb_simplu2' AS lb_simplu WITH ; + Caption = "Coloane salvate", ; + FontBold = .T., ; + Left = 447, ; + Name = "Lb_simplu2", ; + TabIndex = 12, ; + Top = 81 + *< END OBJECT: ClassLib="lb.vcx" BaseClass="label" /> + + ADD OBJECT 'Lb_simplu5' AS lb_simplu WITH ; + Caption = "Referinte", ; + FontBold = .T., ; + Left = 605, ; + Name = "Lb_simplu5", ; + TabIndex = 12, ; + Top = 81 + *< END OBJECT: ClassLib="lb.vcx" BaseClass="label" /> + + ADD OBJECT 'lista_dr' AS _listbox WITH ; + AutoHideScrollbar = 1, ; + ColumnCount = 2, ; + Height = 263, ; + Left = 401, ; + MoverBars = .F., ; + MultiSelect = .T., ; + Name = "lista_dr", ; + RowSource = "taListadr", ; + RowSourceType = 5, ; + TabIndex = 6, ; + Top = 97, ; + Width = 176 + *< END OBJECT: ClassLib="_baza.vcx" BaseClass="listbox" /> + + ADD OBJECT 'lista_ref' AS _listbox WITH ; + AutoHideScrollbar = 1, ; + ColumnCount = 2, ; + Height = 71, ; + Left = 578, ; + MoverBars = .F., ; + Name = "lista_ref", ; + RowSource = "talistaref", ; + RowSourceType = 5, ; + TabIndex = 6, ; + Top = 97, ; + Width = 170 + *< END OBJECT: ClassLib="_baza.vcx" BaseClass="listbox" /> + + ADD OBJECT 'lista_st' AS _listbox WITH ; + AutoHideScrollbar = 1, ; + Height = 263, ; + Left = 231, ; + MoverBars = .F., ; + MultiSelect = .T., ; + Name = "lista_st", ; + TabIndex = 4, ; + Top = 97, ; + Width = 137 + *< END OBJECT: ClassLib="_baza.vcx" BaseClass="listbox" /> + + ADD OBJECT 'tx_tabel' AS clb_tx_simplu WITH ; + Height = 29, ; + Left = 247, ; + Name = "tx_tabel", ; + TabIndex = 2, ; + Top = 36, ; + Width = 240, ; + TEXT_SIMPLU1.ControlSource = "thisform.tabel", ; + TEXT_SIMPLU1.Left = 49, ; + TEXT_SIMPLU1.Name = "TEXT_SIMPLU1", ; + TEXT_SIMPLU1.Top = 3, ; + LB_SIMPLU1.Caption = "Tabel", ; + LB_SIMPLU1.Name = "LB_SIMPLU1" + *< END OBJECT: ClassLib="lb_tx.vcx" BaseClass="container" /> + + PROCEDURE do_adauga_ref + LPARAMETERS tnOpt + + lnOpt = tnOpt + + lcTabel = UPPER(ALLTRIM(thisform.tabel)) + lcCol = this.lista_st.List(this.lista_st.ListIndex) + lnIdCol = taListadr[this.lista_dr.ListIndex,3] + + lcsql = [begin pack_personal.update_nom_col_acte(?lnIdCol,?lcCol,?lcTabel,?lnOpt);end;] + lnSucces = goExecutor.oExecute(lcsql) + If lnSucces < 0 + Messagebox(goExecutor.cEroare,0+16,"Eroare") + ENDIF + this.do_select_ref() + ENDPROC + + PROCEDURE do_alege_ref + lnbar = .null. + DO add_ref.mpr + + + DO CASE + CASE lnbar=1 + thisform.do_adauga_ref(lnbar) + CASE lnbar=0 + thisform.do_adauga_ref(lnbar) + OTHERWISE + + ENDCASE + ENDPROC + + PROCEDURE do_cauta + PRIVATE lcTabel + lcTabel = ALLTRIM(this.tx_tabel.teXT_SIMPLU1.Value ) + this.lista_st.clear() + IF !EMPTY(lcTabel) + lcSQl = [select a.table_name,a.column_name from user_tab_columns a where a.table_name ='] + lcTabel + ['] + lcCursor = 'v_coloane' + lnSucces = goExecutor.oExecute(lcSQl,lcCursor) + + IF lnSucces < 0 + MESSAGEBOX(goExecutor.cEroare,0+16,"Eroare") + ENDIF + + LOCAL lnrec + lnrec = RECCOUNT('v_coloane') + IF lnrec=0 + MESSAGEBOX('Tabela nu exista!',16) + this.lista_st.Clear() + RETURN + ENDIF + this.LockScreen=.t. + SELECT v_coloane + SCAN + lcColoana = ALLTRIM(column_name) + this.lista_st.AddItem(lcColoana) + SELECT v_coloane + ENDSCAN + this.lista_st.Sorted= .T. + this.lista_st.Requery() + this.LockScreen=.f. + ENDIF + ENDPROC + + PROCEDURE do_select_ref + this.lista_ref.Clear() + + DIMENSION talistaref[2,2] + ADEL(talistaref,1) + + IF isalpha(talistadr[this.lista_dr.ListIndex,5]) + talistaref[1,1]=ALLTRIM(talistadr[this.lista_dr.ListIndex,5]) + talistaref[1,2]=ALLTRIM(talistadr[this.lista_dr.ListIndex,7]) + ENDIF + + IF isalpha(talistadr[this.lista_dr.ListIndex,6]) + talistaref[2,1]=ALLTRIM(talistadr[this.lista_dr.ListIndex,6]) + talistaref[2,2]=ALLTRIM(talistadr[this.lista_dr.ListIndex,7]) + ENDIF + FOR i=1 TO 2 + IF TYPE('talistaref[i,1]')='L' + talistaref[i,1]='' + talistaref[i,2]='' + ENDIF + ENDFOR + this.lista_ref.Requery() + ENDPROC + + PROCEDURE do_sterge_listadr + LOCAL lnColoane,lnCount,lfColoana + STORE 0 TO lnColoane,lnCount + *!* DEBUG + *!* SUSPEND + lnCount = this.lista_dr.ListCount + this.LockScreen=.t. + FOR i=lncount TO 1 STEP -1 + lfColoana = this.lista_dr.selected(i) && selectie + lnitem=i + IF lfColoana + lnidCol = taListadr[lnitem,3] + lcsql = [begin pack_personal.sterge_nom_col_acte(?lnidCol);end;] + lnSucces = goExecutor.oExecute(lcsql) + If lnSucces < 0 + Messagebox(goExecutor.cEroare,0+16,"Eroare") + ELSE + lnLen = ALEN(taListadr,1) + ADEL(taListadr,lnitem) + IF ALEN(taListadr,1)>1 + DIMENSION taListadr[lnLen-1,4] + ENDIF + thisform.lista_dr.RemovelistItem(lnitem) + + Endif + ENDIF + ENDFOR + thisform.lista_dr.requery() &&refresh + this.LockScreen=.f. + + ENDPROC + + PROCEDURE do_umple_listadr + LOCAL lnColoane,lnCount,lfColoana + STORE 0 TO lnColoane,lnCount,lnCuloare + lfColoana=.f. + lcTabel = UPPER(ALLTRIM(thisform.tabel)) + + lnCount = this.lista_st.ListCount + IF !EMPTY(taListadr[1,1]) + j=ALEN(taListadr,1) &&pt redimensionat array + ELSE + j=0 + ENDIF + this.LockScreen=.t. + FOR i=1 TO lncount + lfColoana = this.lista_st.selected(i) && selectie + lcColoana = ALLTRIM(this.lista_st.List(i)) &&nume coloana + IF lfColoana + lnidcol=0 + lcsql = [begin pack_personal.adauga_nom_col_acte(?poact.id_act,?lcColoana,?lcTabel,?lnCuloare,?@lnidcol);end;] + lnSucces = goExecutor.oExecute(lcsql) + If lnSucces < 0 + Messagebox(goExecutor.cEroare,0+16,"Eroare") + ELSE + j=j+1 + lnLen = ALEN(taListadr,1) + + IF j>lnLen + DIMENSION taListadr[j,4] + ENDIF + taListadr[j,1] = lcColoana + taListadr[j,2] = lcTabel + taListadr[j,3] = lnidcol + taListadr[j,4] = lnCuloare + this.lista_dr.Requery() + Endif + ENDIF + ENDFOR + this.LockScreen=.f. + ENDPROC + + PROCEDURE Init + PARAMETERS taListadr,talistaref + this.grd_act.SetFocus() + ENDPROC + + PROCEDURE select_coloane + + LOCAL lnColoane,lnCount,lfColoana + this.LockScreen=.t. + DIMENSION taListadr[1,4] + ADEL(taListadr,1) + this.lista_dr.clear() + + lcsql = [{call pack_personal.select_col_acte(?poact.id_act)}] + lcCursor = [crsCol] + lnSucces = goExecutor.oExecute(lcsql,lcCursor) + If lnSucces < 0 + Messagebox(goExecutor.cEroare,0+16,"Eroare") + ELSE + IF RECCOUNT('crsCol')>0 + SELECT * FROM crsCol INTO ARRAY taListadr + this.lista_dr.Requery() + ENDIF + USE IN crsCol + Endif + + this.LockScreen=.f. + ENDPROC + + PROCEDURE Cmd_executa1.Click + thisform.do_umple_listadr() + ENDPROC + + PROCEDURE Cmd_executa2.Click + thisform.do_alege_ref() + ENDPROC + + PROCEDURE grd_act.AfterRowColChange + LPARAMETERS nColIndex + SELECT v_nom_acte + SCATTER NAME poact + thisform.select_coloane() + DODEFAULT(nColIndex) + ENDPROC + + PROCEDURE lista_dr.Click + thisform.do_select_ref() + ENDPROC + +ENDDEFINE + +DEFINE CLASS frm_copii_toti AS frm_termin OF "_frm_child.vcx" + *< CLASSDATA: Baseclass="form" Timestamp="" Scale="Pixels" Uniqueid="" /> + + *-- OBJECTDATA items order determines ZOrder / El orden de los items OBJECTDATA determina el ZOrder + *< OBJECTDATA: ObjPath="But_start_criterii1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="But_reset_criterii1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="But_listare1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="But_excel1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="_grdrow1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="_grdrow1.Column1.Header1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="_grdrow1.Column1.Text1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="_grdrow1.Column2.Header1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="_grdrow1.Column2.Text1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="_grdrow1.Column3.Header1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="_grdrow1.Column3.Text1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="_grdrow1.Column4.Header1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="_grdrow1.Column4.Text1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="_grdrow1.Column5.Header1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="_grdrow1.Column5.Text1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="_grdrow1.Column6.Header1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="_grdrow1.Column6.Text1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="_grdrow1.Column7.Header1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="_grdrow1.Column7.Text1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="_grdrow1.Column8.Header1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="_grdrow1.Column8.Text1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="_grdrow1.Column9.Header1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="_grdrow1.Column9.Text1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="_grdrow1.Column10.Header1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="_grdrow1.Column10.Text1" UniqueID="" Timestamp="" /> + + * + BorderStyle = 3 + DoCreate = .T. + Height = 519 + Name = "frm_copii_toti" + Width = 792 + WindowState = 2 + _shape1.Anchor = 10 + _shape1.Height = 29 + _shape1.Left = 0 + _shape1.Name = "_shape1" + _shape1.Top = 0 + _shape1.Width = 912 + _shape2.Left = 732 + _shape2.Name = "_shape2" + _shape2.Top = 0 + Lb_titlu_alb_b121.Caption = "Lista cu angajati si copii" + Lb_titlu_alb_b121.Name = "Lb_titlu_alb_b121" + BUT_TERMIN1.Anchor = 9 + BUT_TERMIN1.Left = 752 + BUT_TERMIN1.Name = "BUT_TERMIN1" + BUT_TERMIN1.Top = 1 + Gridsort1.Name = "Gridsort1" + * + + ADD OBJECT '_grdrow1' AS _grdrow WITH ; + Anchor = 15, ; + ColumnCount = 10, ; + DeleteMark = .F., ; + Height = 468, ; + Left = 12, ; + Name = "_grdrow1", ; + Panel = 1, ; + RecordSource = "salCopii", ; + Top = 47, ; + Width = 768, ; + Column1.ControlSource = "nume", ; + Column1.Name = "Column1", ; + Column1.Width = 109, ; + Column2.ControlSource = "prenume", ; + Column2.Name = "Column2", ; + Column2.Width = 113, ; + Column3.ControlSource = "marca", ; + Column3.Name = "Column3", ; + Column3.Width = 61, ; + Column4.ControlSource = "meseria", ; + Column4.Name = "Column4", ; + Column4.Width = 80, ; + Column5.ControlSource = "formatia", ; + Column5.Name = "Column5", ; + Column5.Width = 97, ; + Column6.ControlSource = "sectie", ; + Column6.Name = "Column6", ; + Column6.Width = 94, ; + Column7.ControlSource = "numec", ; + Column7.Name = "Column7", ; + Column7.Width = 132, ; + Column8.ControlSource = "prenumec", ; + Column8.Name = "Column8", ; + Column8.Width = 141, ; + Column9.ControlSource = "codpersc", ; + Column9.Name = "Column9", ; + Column9.Width = 102, ; + Column10.ControlSource = "datanast", ; + Column10.Format = "d", ; + Column10.Name = "Column10", ; + Column10.Width = 101 + *< END OBJECT: ClassLib="_grd_base.vcx" BaseClass="grid" /> + + ADD OBJECT '_grdrow1.Column1.Header1' AS header WITH ; + Caption = "Nume", ; + Name = "Header1" + *< END OBJECT: BaseClass="header" /> + + ADD OBJECT '_grdrow1.Column1.Text1' AS textbox WITH ; + BackColor = 255,255,255, ; + BorderStyle = 0, ; + ForeColor = 0,0,0, ; + Margin = 0, ; + Name = "Text1", ; + SelectedBackColor = 100,185,255 + *< END OBJECT: BaseClass="textbox" /> + + ADD OBJECT '_grdrow1.Column10.Header1' AS header WITH ; + Caption = "Data nasterii", ; + Name = "Header1" + *< END OBJECT: BaseClass="header" /> + + ADD OBJECT '_grdrow1.Column10.Text1' AS textbox WITH ; + BackColor = 255,255,255, ; + BorderStyle = 0, ; + ForeColor = 0,0,0, ; + Margin = 0, ; + Name = "Text1", ; + SelectedBackColor = 100,185,255 + *< END OBJECT: BaseClass="textbox" /> + + ADD OBJECT '_grdrow1.Column2.Header1' AS header WITH ; + Caption = "Prenume", ; + Name = "Header1" + *< END OBJECT: BaseClass="header" /> + + ADD OBJECT '_grdrow1.Column2.Text1' AS textbox WITH ; + BackColor = 255,255,255, ; + BorderStyle = 0, ; + ForeColor = 0,0,0, ; + Margin = 0, ; + Name = "Text1", ; + SelectedBackColor = 100,185,255 + *< END OBJECT: BaseClass="textbox" /> + + ADD OBJECT '_grdrow1.Column3.Header1' AS header WITH ; + Caption = "Marca", ; + Name = "Header1" + *< END OBJECT: BaseClass="header" /> + + ADD OBJECT '_grdrow1.Column3.Text1' AS textbox WITH ; + BackColor = 255,255,255, ; + BorderStyle = 0, ; + ForeColor = 0,0,0, ; + Margin = 0, ; + Name = "Text1", ; + SelectedBackColor = 100,185,255 + *< END OBJECT: BaseClass="textbox" /> + + ADD OBJECT '_grdrow1.Column4.Header1' AS header WITH ; + Caption = "Meseria", ; + Name = "Header1" + *< END OBJECT: BaseClass="header" /> + + ADD OBJECT '_grdrow1.Column4.Text1' AS textbox WITH ; + BackColor = 255,255,255, ; + BorderStyle = 0, ; + ForeColor = 0,0,0, ; + Margin = 0, ; + Name = "Text1", ; + SelectedBackColor = 100,185,255 + *< END OBJECT: BaseClass="textbox" /> + + ADD OBJECT '_grdrow1.Column5.Header1' AS header WITH ; + Caption = "Formatia", ; + Name = "Header1" + *< END OBJECT: BaseClass="header" /> + + ADD OBJECT '_grdrow1.Column5.Text1' AS textbox WITH ; + BackColor = 255,255,255, ; + BorderStyle = 0, ; + ForeColor = 0,0,0, ; + Margin = 0, ; + Name = "Text1", ; + SelectedBackColor = 100,185,255 + *< END OBJECT: BaseClass="textbox" /> + + ADD OBJECT '_grdrow1.Column6.Header1' AS header WITH ; + Caption = "Sectia", ; + Name = "Header1" + *< END OBJECT: BaseClass="header" /> + + ADD OBJECT '_grdrow1.Column6.Text1' AS textbox WITH ; + BackColor = 255,255,255, ; + BorderStyle = 0, ; + ForeColor = 0,0,0, ; + Margin = 0, ; + Name = "Text1", ; + SelectedBackColor = 100,185,255 + *< END OBJECT: BaseClass="textbox" /> + + ADD OBJECT '_grdrow1.Column7.Header1' AS header WITH ; + Caption = "Nume copil", ; + Name = "Header1" + *< END OBJECT: BaseClass="header" /> + + ADD OBJECT '_grdrow1.Column7.Text1' AS textbox WITH ; + BackColor = 255,255,255, ; + BorderStyle = 0, ; + ForeColor = 0,0,0, ; + Margin = 0, ; + Name = "Text1", ; + SelectedBackColor = 100,185,255 + *< END OBJECT: BaseClass="textbox" /> + + ADD OBJECT '_grdrow1.Column8.Header1' AS header WITH ; + Caption = "Prenume copil", ; + Name = "Header1" + *< END OBJECT: BaseClass="header" /> + + ADD OBJECT '_grdrow1.Column8.Text1' AS textbox WITH ; + BackColor = 255,255,255, ; + BorderStyle = 0, ; + ForeColor = 0,0,0, ; + Margin = 0, ; + Name = "Text1", ; + SelectedBackColor = 100,185,255 + *< END OBJECT: BaseClass="textbox" /> + + ADD OBJECT '_grdrow1.Column9.Header1' AS header WITH ; + Caption = "Codpers", ; + Name = "Header1" + *< END OBJECT: BaseClass="header" /> + + ADD OBJECT '_grdrow1.Column9.Text1' AS textbox WITH ; + BackColor = 255,255,255, ; + BorderStyle = 0, ; + ForeColor = 0,0,0, ; + Margin = 0, ; + Name = "Text1", ; + SelectedBackColor = 100,185,255 + *< END OBJECT: BaseClass="textbox" /> + + ADD OBJECT 'But_excel1' AS but_excel WITH ; + Anchor = 9, ; + caction = do_excel, ; + Left = 692, ; + Name = "But_excel1", ; + Top = 0, ; + Visible = .T. + *< END OBJECT: ClassLib="cmd_butoane.vcx" BaseClass="commandbutton" /> + + ADD OBJECT 'But_listare1' AS but_listare WITH ; + Anchor = 9, ; + caction = do_listare, ; + Left = 721, ; + Name = "But_listare1", ; + Top = 0, ; + Visible = .T. + *< END OBJECT: ClassLib="cmd_butoane.vcx" BaseClass="commandbutton" /> + + ADD OBJECT 'But_reset_criterii1' AS but_reset_criterii WITH ; + Anchor = 9, ; + Left = 630, ; + Name = "But_reset_criterii1", ; + Top = 1 + *< END OBJECT: ClassLib="ocriterii.vcx" BaseClass="commandbutton" /> + + ADD OBJECT 'But_start_criterii1' AS but_start_criterii WITH ; + Anchor = 9, ; + Left = 662, ; + Name = "But_start_criterii1", ; + Top = 0 + *< END OBJECT: ClassLib="ocriterii.vcx" BaseClass="commandbutton" /> + + PROCEDURE actualizeaza_grid1 + Lparameters tcFiltru + Local lcFiltru + If Empty(tcFiltru) + lcFiltru = poCopii.ca_baza1.cfiltru + Else + lcFiltru = tcFiltru + Endif + + Thisform.MousePointer= 11 + Thisform.LockScreen=.T. + save_grid_tag(Thisform._grdrow1) + + + poCopii.ca_baza1.cfiltru=lcFiltru + poCopii.ca_baza1.afisare() + restore_grid_tag(Thisform._grdrow1) + + Thisform.LockScreen=.F. + Thisform.MousePointer= 0 + ENDPROC + + PROCEDURE do_cauta + LOCAL lcFiltru + *!* lcFiltru = poCopii.ca_baza1.cfiltru + lcFiltru = ' 2 = 2 ' + IF LEN(THISFORM.filtru_pretty)>0 + filtrutext=THISFORM.filtru_pretty + IF AT("AND",filtrutext)=1 + filtrutext=RIGHT(filtrutext,LEN(filtrutext)-4) + ENDIF + + lcFiltru=lcFiltru+" and ("+ALLTRIM(filtrutext)+")" + ENDIF + + IF (THIS.filtru_pretty#"none") + THISFORM.actualizeaza_grid1(lcFiltru) + IF RECCOUNT('salCopii')=0 + aMessagebox("Cautarea nu a intors rezultate!",0+48,"Info cautare") + ENDIF + ENDIF + THISFORM.but_start_criterii1.SETFOCUS + + ENDPROC + + PROCEDURE do_excel + goExport.export2xls('salCopii',[foaie_excel]) + + ENDPROC + + PROCEDURE do_listare + lnMenu = xmenu("Lista cu angajatii si copiii acestora;Lista copii in ordinea varstei") + If !Between(lnMenu,1,2) + Return + ENDIF + If Inlist(lnMenu, 1) + this.AlwaysOnTop =.f. + goExport.export2frx([salCopii],'list_copii') + this.AlwaysOnTop =.t. + ENDIF + If Inlist(lnMenu, 2) + this.AlwaysOnTop =.f. + SELECT * FROM salcopii INTO CURSOR crsCopiiVarsta ORDER BY datanast + goExport.export2frx([crsCopiiVarsta],'list_copii_varsta') + this.AlwaysOnTop =.t. + Use In (Select('crsCopiiVarsta')) + ENDIF + ENDPROC + + PROCEDURE do_reset + poCopii.ca_baza1.cfiltru = [ 2 = 2 ] + DODEFAULT() + + ENDPROC + + PROCEDURE But_start_criterii1.loadcriterii + PARAMETERS tacriterii + EXTERNAL ARRAY tacriterii + #DEFINE crlf CHR(13)+CHR(10) + lcStringCriterii="Marca\marca\N\none\"+crlf+; + "Nume salariat\nume\T\none\"+crlf+; + "Prenume salariat\prenume\T\none\"+crlf+; + "Formatia\formatia\T\none\" + crlf + ; + "Meseria\meseria\T\none\" + crlf + ; + "Sectie\sectie\T\ID_SECTIE\nom_sectie" + crlf + ; + "CNP angajat\codpers\T\none\" + crlf + ; + "Nume copil\numec\T\none\"+crlf+; + "Prenume copil\prenumec\T\none\"+crlf+; + "CNP copil\c_vechimea\T\none\"+crlf+; + "Data nasterii\b.datanast\D\none" + + + + *!* + *!* "Serie act\serie_act\T\none\"+ crlf + ; + *!* "Data act\dataact\D\none\" + crlf + ; + *!* "Data inreg\dataIREG\D\none\" + crlf + ; + *!* "Tip document\fdoc\T\id_fdoc\nom_feldoc"+ crlf + ; + *!* "Numar document\NRACT\N\none\" + crlf + ; + *!* "Explicatie D\partD\T\ID_PARTD\nom_parteneri"+ crlf + ; + *!* "Explicatie C\partC\T\ID_PARTC\nom_parteneri"+ crlf + ; + *!* "Explicatie\explicatia\T\none\"+ crlf + ; + *!* "Explicatia 4\explicatia4\T\none\"+ crlf + ; + *!* "Explicatia 5\explicatia5\T\none\"+ crlf + ; + *!* "Explicatii\partD,partC,explicatia,explicatia4,explicatia5\T\none\"+ crlf + ; + *!* "Gestiune destinatie\gestin\T\ID_GESTIN\nom_gestiune"+ crlf + ; + *!* "Gestiune sursa\gestout\T\ID_GESTOUT\nom_gestiune" + crlf + ; + *!* "Lucrare/Comanda\nrord\T\ID_LUCRARE\nom_lucrare" + crlf + ; + *!* "Contract\contract\T\none\" + crlf + ; + *!* "Cont debitor\scd\T\none\" + crlf + ; + *!* "Cont debitor analitic\ascd\T\none\" + crlf + ; + *!* "Cont creditor\scc\T\none\" + crlf + ; + *!* "Cont creditor analitic\ascc\T\none\" + crlf + ; + *!* "Suma\suma\N\none\" + crlf + ; + *!* "Suma valuta\suma_val\N\none\" + crlf + ; + *!* "Nr document incasat\perecheC\N\none\" + crlf + ; + *!* "Nr document platit\perecheD\N\none\" + crlf + ; + *!* "Nr. NIR/bon\nnir\N\none\" + crlf + ; + *!* "Responsabil\nresp\T\ID_RESPONSABIL\nom_parteneri" + crlf + ; + *!* "Cheltuieli/Venituri\dst_chlt\T\ ID_VENCHELT\nom_venchel" + crlf + ; + *!* "Sectie\sectie\T\ID_SECTIE\nom_sectie" + crlf + ; + *!* "Cod\cod\N\none\" + crlf + ; + *!* "Tip operatie\id_set\N\none\" + crlf + ; + *!* "Valuta\nume_val\T\ID_VALUTA\nom_valuta" + crlf + ; + *!* "Sucursala\sucursala\T\ID_SUCURSALA\nom_sucursala" + crlf + ; + *!* "Cota TVA\proc_tva\N\none\" + crlf + ; + *!* "Explicatie TVA\explicatie_tva\T\none\" + crlf + ; + *!* "Data introducerii\trunc(dataora)\D\none\" + crlf + ; + *!* "Operator introducere\util\T\ID_UTIL\nom_utilizator" + crlf + ; + *!* "Validate\nofiled\E\(validat = 1)\" + crlf + ; + *!* "Nevalidate\nofiled\E\(validat = 0)\" + crlf + ; + *!* "Data validarii\trunc(dataorav)\D\none\" + crlf + ; + *!* "Operator validare\utilv\T\ID_UTILv\nom_utilizator" + + DODEFAULT() + + ENDPROC + +ENDDEFINE + +DEFINE CLASS frm_curs_nou AS frm_termin_renunt OF "_frm_child.vcx" + *< CLASSDATA: Baseclass="form" Timestamp="" Scale="Pixels" Uniqueid="" /> + + *-- OBJECTDATA items order determines ZOrder / El orden de los items OBJECTDATA determina el ZOrder + *< OBJECTDATA: ObjPath="Clb_tx_simplu4" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="Clb_tx_simplu1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="Clb_tx_simplu2" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="Cus_odata_curs1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="Ct_clb_curs" UniqueID="" Timestamp="" /> + + * + *m: do_cauta_curs + *p: nid + *p: orec + * + + * + BorderStyle = 2 + DoCreate = .T. + Height = 172 + Name = "frm_curs_nou" + nid = 0 + orec = + Width = 373 + _shape1.Name = "_shape1" + _shape2.Height = 29 + _shape2.Left = 310 + _shape2.Name = "_shape2" + _shape2.Top = 0 + _shape2.Width = 62 + Lb_titlu_alb_b121.Caption = "CURSURI" + Lb_titlu_alb_b121.Name = "Lb_titlu_alb_b121" + Lb_titlu_alb_b121.TabIndex = 7 + BUT_TERMIN1.Name = "BUT_TERMIN1" + BUT_TERMIN1.TabIndex = 5 + Gridsort1.Name = "Gridsort1" + But_renunt1.Name = "But_renunt1" + But_renunt1.TabIndex = 6 + * + + ADD OBJECT 'Clb_tx_simplu1' AS clb_tx_simplu WITH ; + Height = 29, ; + Left = 12, ; + Name = "Clb_tx_simplu1", ; + TabIndex = 3, ; + Top = 104, ; + Width = 348, ; + TEXT_SIMPLU1.ControlSource = "porec.test", ; + TEXT_SIMPLU1.Height = 23, ; + TEXT_SIMPLU1.Left = 101, ; + TEXT_SIMPLU1.Name = "TEXT_SIMPLU1", ; + TEXT_SIMPLU1.Top = 3, ; + TEXT_SIMPLU1.Width = 235, ; + LB_SIMPLU1.Caption = "Serie/ Nr Act", ; + LB_SIMPLU1.Name = "LB_SIMPLU1" + *< END OBJECT: ClassLib="lb_tx.vcx" BaseClass="container" /> + + ADD OBJECT 'Clb_tx_simplu2' AS clb_tx_simplu WITH ; + Height = 29, ; + Left = 12, ; + Name = "Clb_tx_simplu2", ; + TabIndex = 4, ; + Top = 132, ; + Width = 209, ; + TEXT_SIMPLU1.ControlSource = "porec.data", ; + TEXT_SIMPLU1.Format = "KD", ; + TEXT_SIMPLU1.Height = 23, ; + TEXT_SIMPLU1.Left = 101, ; + TEXT_SIMPLU1.Name = "TEXT_SIMPLU1", ; + TEXT_SIMPLU1.Top = 3, ; + TEXT_SIMPLU1.Width = 103, ; + LB_SIMPLU1.Caption = "Data :", ; + LB_SIMPLU1.Name = "LB_SIMPLU1" + *< END OBJECT: ClassLib="lb_tx.vcx" BaseClass="container" /> + + ADD OBJECT 'Clb_tx_simplu4' AS clb_tx_simplu WITH ; + Height = 29, ; + Left = 12, ; + Name = "Clb_tx_simplu4", ; + TabIndex = 2, ; + Top = 76, ; + Width = 348, ; + Text_simplu1.ControlSource = "porec.nota", ; + Text_simplu1.Height = 23, ; + Text_simplu1.Left = 101, ; + Text_simplu1.Name = "Text_simplu1", ; + Text_simplu1.Top = 3, ; + Text_simplu1.Width = 235, ; + Lb_simplu1.Caption = "Nota :", ; + Lb_simplu1.Name = "Lb_simplu1" + *< END OBJECT: ClassLib="lb_tx.vcx" BaseClass="container" /> + + ADD OBJECT 'Ct_clb_curs' AS ct_clb_cautare_var WITH ; + Anchor = 672, ; + cconditie = EMPTY(NVL(porec.id_c,0)), ; + cprocedura = Thisform.do_cauta_curs, ; + cvar_afisata = porec.denumire, ; + Height = 31, ; + Left = 16, ; + Name = "Ct_clb_curs", ; + TabIndex = 16, ; + Top = 42, ; + Width = 356, ; + SHAPE_CAUTARE.BorderStyle = 0, ; + SHAPE_CAUTARE.Name = "SHAPE_CAUTARE", ; + IMG_CAUTARE.Anchor = 672, ; + IMG_CAUTARE.Left = 318, ; + IMG_CAUTARE.Name = "IMG_CAUTARE", ; + IMG_CAUTARE.Top = 5, ; + LB_CAUTARE.Caption = "Denumire curs", ; + LB_CAUTARE.Left = 4, ; + LB_CAUTARE.Name = "LB_CAUTARE", ; + LB_CAUTARE.Top = 8, ; + TX_CAUTARE.Anchor = 672, ; + TX_CAUTARE.FontName = "Arial Narrow", ; + TX_CAUTARE.Height = 23, ; + TX_CAUTARE.Left = 100, ; + TX_CAUTARE.Name = "TX_CAUTARE", ; + TX_CAUTARE.Top = 4, ; + TX_CAUTARE.Width = 214 + *< END OBJECT: ClassLib="caut_ora.vcx" BaseClass="container" /> + + ADD OBJECT 'Cus_odata_curs1' AS cus_odata_curs WITH ; + Left = 48, ; + Name = "Cus_odata_curs1", ; + Top = 36 + *< END OBJECT: ClassLib="opersonal.vcx" BaseClass="custom" /> + + PROCEDURE Destroy + IF USED('v_curs') + USE IN v_curs + ENDIF + ENDPROC + + PROCEDURE do_cauta_curs + LOCAL loCauta + SET STEP ON + loCauta = caut_curs(.T.) + If gnButon # 2 + porec.denumire = Alltrim(locauta.denumire) + porec.id_c = locauta.id_c + Thisform.clb_tx_simplu4.text_simplu1.Setfocus() + Endif + ENDPROC + + PROCEDURE inainte_de_do_termin + Local PLRETURN,lcActiune + + this.but_TERMIN1.SetFocus() + + lcActiune = this.cus_odata_curs1.cactiune + + + + PLRETURN=This.cus_odata_curs1.salvare(This.OREC,This.NID) + + + + Return PLRETURN + + + ENDPROC + + PROCEDURE Init + Lparameters toRec, tnId, tcActiune + + DoDefault() + + This.orec= toRec + This.nid = tnId + This.cus_odata_curs1.cactiune = tcActiune + + + + + ENDPROC + +ENDDEFINE + +DEFINE CLASS frm_difpart AS frm_termin OF "_frm_child.vcx" + *< CLASSDATA: Baseclass="form" Timestamp="" Scale="Pixels" Uniqueid="" /> + + *-- OBJECTDATA items order determines ZOrder / El orden de los items OBJECTDATA determina el ZOrder + *< OBJECTDATA: ObjPath="_GRID1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="_GRID1.Column1.Header1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="_GRID1.Column1.Text1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="_GRID1.Column2.Header1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="_GRID1.Column2.Text1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="_GRID1.Column3.Header1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="_GRID1.Column3.Text1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="_GRID1.Column4.Header1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="_GRID1.Column4.Text1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="_GRID1.Column5.Header1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="_GRID1.Column5.Text1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="_GRID1.Column6.Header1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="_GRID1.Column6.Text1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="_GRID1.Column7.Header1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="_GRID1.Column7.Text1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="_GRID1.Column8.Header1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="_GRID1.Column8.Text1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="_GRID1.Column9.Header1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="_GRID1.Column9.Text1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="_GRID1.Column10.Header1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="_GRID1.Column10.Text1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="_GRID1.Column14.Header1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="_GRID1.Column14.Text1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="_GRID1.Column15.Header1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="_GRID1.Column15.Text1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="_GRID1.Column22.Header1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="_GRID1.Column22.Text1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="_GRID1.Column23.Header1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="_GRID1.Column23.Text1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="Ck_nume" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="Ck_prenume" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="Ck_cnp" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="Cmd_cauta1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="Cmd_reset1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="BUT_RENUNT1" UniqueID="" Timestamp="" /> + + * + BorderStyle = 3 + DoCreate = .T. + Height = 390 + Name = "frm_difpart" + Width = 639 + _shape1.Anchor = 10 + _shape1.Height = 29 + _shape1.Left = 0 + _shape1.Name = "_shape1" + _shape1.Top = 0 + _shape1.Width = 639 + _shape2.Anchor = 9 + _shape2.Height = 29 + _shape2.Left = 577 + _shape2.Name = "_shape2" + _shape2.Top = 0 + _shape2.Width = 61 + Lb_titlu_alb_b121.Caption = "Parteneri" + Lb_titlu_alb_b121.Name = "Lb_titlu_alb_b121" + BUT_TERMIN1.Anchor = 9 + BUT_TERMIN1.Left = 608 + BUT_TERMIN1.Name = "BUT_TERMIN1" + BUT_TERMIN1.Top = 0 + Gridsort1.Left = 192 + Gridsort1.Name = "Gridsort1" + Gridsort1.Top = 8 + * + + ADD OBJECT '_GRID1' AS _grid WITH ; + Anchor = 15, ; + ColumnCount = 14, ; + DeleteMark = .F., ; + Height = 321, ; + Left = 3, ; + Name = "_GRID1", ; + Panel = 1, ; + RecordSource = "v_dif_part", ; + Top = 68, ; + Width = 633, ; + Column1.ControlSource = "round(nr,0)", ; + Column1.Name = "Column1", ; + Column1.Width = 67, ; + Column2.ControlSource = "nume", ; + Column2.Name = "Column2", ; + Column2.Width = 100, ; + Column3.ControlSource = "prenume", ; + Column3.Name = "Column3", ; + Column3.Width = 91, ; + Column4.ControlSource = "cod_fiscal", ; + Column4.Name = "Column4", ; + Column4.Width = 83, ; + Column5.ControlSource = "reg_comert", ; + Column5.Name = "Column5", ; + Column5.Width = 83, ; + Column6.ControlSource = "strada", ; + Column6.Name = "Column6", ; + Column7.ColumnOrder = 7, ; + Column7.ControlSource = "numar", ; + Column7.Name = "Column7", ; + Column7.Width = 59, ; + Column8.ColumnOrder = 12, ; + Column8.ControlSource = "telefon", ; + Column8.Name = "Column8", ; + Column9.ColumnOrder = 13, ; + Column9.ControlSource = "localitate", ; + Column9.Name = "Column9", ; + Column9.Width = 95, ; + Column10.ColumnOrder = 14, ; + Column10.ControlSource = "judet", ; + Column10.Name = "Column10", ; + Column10.Width = 108, ; + Column11.ColumnOrder = 11, ; + Column11.ControlSource = "apart", ; + Column11.Name = "Column14", ; + Column11.Width = 80, ; + Column12.ColumnOrder = 10, ; + Column12.ControlSource = "etaj", ; + Column12.Name = "Column15", ; + Column12.Width = 79, ; + Column13.ColumnOrder = 8, ; + Column13.ControlSource = "bloc", ; + Column13.Name = "Column22", ; + Column13.Width = 58, ; + Column14.ColumnOrder = 9, ; + Column14.ControlSource = "scara", ; + Column14.Name = "Column23", ; + Column14.Width = 92 + *< END OBJECT: ClassLib="_baza.vcx" BaseClass="grid" /> + + ADD OBJECT '_GRID1.Column1.Header1' AS header WITH ; + Alignment = 2, ; + Caption = "Nr. crt", ; + Name = "Header1" + *< END OBJECT: BaseClass="header" /> + + ADD OBJECT '_GRID1.Column1.Text1' AS textbox WITH ; + BackColor = 255,255,255, ; + BorderStyle = 0, ; + ForeColor = 0,0,0, ; + Margin = 0, ; + Name = "Text1" + *< END OBJECT: BaseClass="textbox" /> + + ADD OBJECT '_GRID1.Column10.Header1' AS header WITH ; + Alignment = 2, ; + Caption = "Judet", ; + Name = "Header1" + *< END OBJECT: BaseClass="header" /> + + ADD OBJECT '_GRID1.Column10.Text1' AS textbox WITH ; + BackColor = 255,255,255, ; + BorderStyle = 0, ; + ForeColor = 0,0,0, ; + Margin = 0, ; + Name = "Text1" + *< END OBJECT: BaseClass="textbox" /> + + ADD OBJECT '_GRID1.Column14.Header1' AS header WITH ; + Alignment = 2, ; + Caption = "Apart", ; + Name = "Header1" + *< END OBJECT: BaseClass="header" /> + + ADD OBJECT '_GRID1.Column14.Text1' AS textbox WITH ; + BackColor = 255,255,255, ; + BorderStyle = 0, ; + ForeColor = 0,0,0, ; + Margin = 0, ; + Name = "Text1" + *< END OBJECT: BaseClass="textbox" /> + + ADD OBJECT '_GRID1.Column15.Header1' AS header WITH ; + Alignment = 2, ; + Caption = "Etaj", ; + Name = "Header1" + *< END OBJECT: BaseClass="header" /> + + ADD OBJECT '_GRID1.Column15.Text1' AS textbox WITH ; + BackColor = 255,255,255, ; + BorderStyle = 0, ; + ForeColor = 0,0,0, ; + Margin = 0, ; + Name = "Text1" + *< END OBJECT: BaseClass="textbox" /> + + ADD OBJECT '_GRID1.Column2.Header1' AS header WITH ; + Alignment = 2, ; + Caption = "Nume", ; + Name = "Header1" + *< END OBJECT: BaseClass="header" /> + + ADD OBJECT '_GRID1.Column2.Text1' AS textbox WITH ; + BackColor = 255,255,255, ; + BorderStyle = 0, ; + ForeColor = 0,0,0, ; + Margin = 0, ; + Name = "Text1" + *< END OBJECT: BaseClass="textbox" /> + + ADD OBJECT '_GRID1.Column22.Header1' AS header WITH ; + Alignment = 2, ; + Caption = "Bloc", ; + Name = "Header1" + *< END OBJECT: BaseClass="header" /> + + ADD OBJECT '_GRID1.Column22.Text1' AS textbox WITH ; + BackColor = 255,255,255, ; + BorderStyle = 0, ; + ForeColor = 0,0,0, ; + Margin = 0, ; + Name = "Text1" + *< END OBJECT: BaseClass="textbox" /> + + ADD OBJECT '_GRID1.Column23.Header1' AS header WITH ; + Alignment = 2, ; + Caption = "Scara", ; + Name = "Header1" + *< END OBJECT: BaseClass="header" /> + + ADD OBJECT '_GRID1.Column23.Text1' AS textbox WITH ; + BackColor = 255,255,255, ; + BorderStyle = 0, ; + ForeColor = 0,0,0, ; + Margin = 0, ; + Name = "Text1" + *< END OBJECT: BaseClass="textbox" /> + + ADD OBJECT '_GRID1.Column3.Header1' AS header WITH ; + Alignment = 2, ; + Caption = "Prenume", ; + Name = "Header1" + *< END OBJECT: BaseClass="header" /> + + ADD OBJECT '_GRID1.Column3.Text1' AS textbox WITH ; + BackColor = 255,255,255, ; + BorderStyle = 0, ; + ForeColor = 0,0,0, ; + Margin = 0, ; + Name = "Text1" + *< END OBJECT: BaseClass="textbox" /> + + ADD OBJECT '_GRID1.Column4.Header1' AS header WITH ; + Alignment = 2, ; + Caption = "CNP", ; + Name = "Header1" + *< END OBJECT: BaseClass="header" /> + + ADD OBJECT '_GRID1.Column4.Text1' AS textbox WITH ; + BackColor = 255,255,255, ; + BorderStyle = 0, ; + ForeColor = 0,0,0, ; + Margin = 0, ; + Name = "Text1" + *< END OBJECT: BaseClass="textbox" /> + + ADD OBJECT '_GRID1.Column5.Header1' AS header WITH ; + Alignment = 2, ; + Caption = "Bi seria,nr", ; + Name = "Header1" + *< END OBJECT: BaseClass="header" /> + + ADD OBJECT '_GRID1.Column5.Text1' AS textbox WITH ; + BackColor = 255,255,255, ; + BorderStyle = 0, ; + ForeColor = 0,0,0, ; + Margin = 0, ; + Name = "Text1" + *< END OBJECT: BaseClass="textbox" /> + + ADD OBJECT '_GRID1.Column6.Header1' AS header WITH ; + Alignment = 2, ; + Caption = "Strada", ; + Name = "Header1" + *< END OBJECT: BaseClass="header" /> + + ADD OBJECT '_GRID1.Column6.Text1' AS textbox WITH ; + BackColor = 255,255,255, ; + BorderStyle = 0, ; + ForeColor = 0,0,0, ; + Margin = 0, ; + Name = "Text1" + *< END OBJECT: BaseClass="textbox" /> + + ADD OBJECT '_GRID1.Column7.Header1' AS header WITH ; + Alignment = 2, ; + Caption = "Numar", ; + Name = "Header1" + *< END OBJECT: BaseClass="header" /> + + ADD OBJECT '_GRID1.Column7.Text1' AS textbox WITH ; + BackColor = 255,255,255, ; + BorderStyle = 0, ; + ForeColor = 0,0,0, ; + Margin = 0, ; + Name = "Text1" + *< END OBJECT: BaseClass="textbox" /> + + ADD OBJECT '_GRID1.Column8.Header1' AS header WITH ; + Alignment = 2, ; + Caption = "Telefon", ; + Name = "Header1" + *< END OBJECT: BaseClass="header" /> + + ADD OBJECT '_GRID1.Column8.Text1' AS textbox WITH ; + BackColor = 255,255,255, ; + BorderStyle = 0, ; + ForeColor = 0,0,0, ; + Margin = 0, ; + Name = "Text1" + *< END OBJECT: BaseClass="textbox" /> + + ADD OBJECT '_GRID1.Column9.Header1' AS header WITH ; + Alignment = 2, ; + Caption = "Localitate", ; + Name = "Header1" + *< END OBJECT: BaseClass="header" /> + + ADD OBJECT '_GRID1.Column9.Text1' AS textbox WITH ; + BackColor = 255,255,255, ; + BorderStyle = 0, ; + ForeColor = 0,0,0, ; + Margin = 0, ; + Name = "Text1" + *< END OBJECT: BaseClass="textbox" /> + + ADD OBJECT 'BUT_RENUNT1' AS but_renunt WITH ; + Left = 578, ; + Name = "BUT_RENUNT1", ; + Top = 0 + *< END OBJECT: ClassLib="cmd_butoane.vcx" BaseClass="commandbutton" /> + + ADD OBJECT 'Ck_cnp' AS ck_filtru_numar WITH ; + Alignment = 0, ; + Anchor = 3, ; + camp_nume = cod_fiscal, ; + Caption = "CNP", ; + Left = 118, ; + mask = (replicate('9',13)), ; + Name = "Ck_cnp", ; + Top = 33 + *< END OBJECT: ClassLib="caut_ora.vcx" BaseClass="checkbox" /> + + ADD OBJECT 'Ck_nume' AS ck_filtru_text WITH ; + Alignment = 0, ; + Anchor = 3, ; + camp_nume = nume, ; + Caption = "Nume", ; + Left = 12, ; + Name = "Ck_nume", ; + Top = 33 + *< END OBJECT: ClassLib="caut_ora.vcx" BaseClass="checkbox" /> + + ADD OBJECT 'Ck_prenume' AS ck_filtru_text WITH ; + Alignment = 0, ; + Anchor = 3, ; + camp_nume = prenume, ; + Caption = "Prenume", ; + Left = 60, ; + Name = "Ck_prenume", ; + Top = 33 + *< END OBJECT: ClassLib="caut_ora.vcx" BaseClass="checkbox" /> + + ADD OBJECT 'Cmd_cauta1' AS cmd_cauta WITH ; + Anchor = 9, ; + Left = 466, ; + Name = "Cmd_cauta1", ; + Top = 31 + *< END OBJECT: ClassLib="cmd_butoane.vcx" BaseClass="commandbutton" /> + + ADD OBJECT 'Cmd_reset1' AS cmd_reset WITH ; + Anchor = 9, ; + Left = 551, ; + Name = "Cmd_reset1", ; + Top = 31 + *< END OBJECT: ClassLib="cmd_butoane.vcx" BaseClass="commandbutton" /> + + PROCEDURE actualizeaza_grid1 + Lparameters pcFiltru + Local lcFiltru + + lcFiltru=pcFiltru + If Empty(lcFiltru) + lcFiltru=podif.ca_baza1.cfiltru + Endif + Thisform._grid1.salveaza_grid() + podif.ca_baza1.cfiltru=lcFiltru + podif.ca_baza1.afisare() + Thisform._grid1.incarca_grid() + If Reccount('v_dif_part')>0 + Select v_dif_part + Replace All nr With Recno() + Go Top + Thisform._grid1.SetFocus() + Endif + + ENDPROC + + PROCEDURE do_cauta + LOCAL lcFiltru + lcFiltru = "2=2" + + IF thisform.ck_cnp.Value=1 + lcFiltru = lcFiltru + thisform.ck_cnp.filtru + ENDIF + + IF thisform.ck_nume.Value=1 + lcFiltru = lcFiltru + thisform.ck_nume.filtru + ENDIF + + IF thisform.ck_prenume.Value=1 + lcFiltru = lcFiltru + thisform.ck_prenume.filtru + ENDIF + SELECT v_dif_part + replace ALL nr WITH RECNO() + GO TOP + thisform.actualizeaza_grid1(lcFiltru) + If Reccount('v_dif_part')=0 + aMessagebox("Cautarea nu a intors rezultate!",0+48,"Info cautare") + Endif + ENDPROC + + PROCEDURE do_reset + WITH thisform + .ck_cnp.Value=0 + .ck_nume.Value=0 + .ck_prenume.Value=0 + .do_cauta() + ENDWITH + + ENDPROC + + PROCEDURE _shape1.DblClick + IF thisform.WindowState= 0 + thisform.WindowState= 2 + ELSE + thisform.WindowState= 0 + ENDIF + ENDPROC + +ENDDEFINE + +DEFINE CLASS frm_echip_nou AS frm_termin_renunt OF "_frm_child.vcx" + *< CLASSDATA: Baseclass="form" Timestamp="" Scale="Pixels" Uniqueid="" /> + + *-- OBJECTDATA items order determines ZOrder / El orden de los items OBJECTDATA determina el ZOrder + *< OBJECTDATA: ObjPath="Cus_odata_echip1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="Clb_tx_simplu1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="Ct_clb_cautare1" UniqueID="" Timestamp="" /> + + * + *m: do_alege_articol + *p: nid + *p: orec + * + + * + BorderStyle = 1 + DoCreate = .T. + Height = 97 + Name = "frm_echip_nou" + nid = 0 + orec = + Width = 373 + _shape1.Name = "_shape1" + _shape2.Height = 29 + _shape2.Left = 312 + _shape2.Name = "_shape2" + _shape2.Top = 0 + _shape2.Width = 62 + Lb_titlu_alb_b121.Caption = "Articole" + Lb_titlu_alb_b121.Name = "Lb_titlu_alb_b121" + Lb_titlu_alb_b121.TabIndex = 1 + BUT_TERMIN1.Name = "BUT_TERMIN1" + BUT_TERMIN1.TabIndex = 4 + Gridsort1.Left = 9 + Gridsort1.Name = "Gridsort1" + Gridsort1.Top = 31 + But_renunt1.Name = "But_renunt1" + But_renunt1.TabIndex = 5 + * + + ADD OBJECT 'Clb_tx_simplu1' AS clb_tx_simplu WITH ; + Height = 29, ; + Left = 12, ; + Name = "Clb_tx_simplu1", ; + TabIndex = 3, ; + Top = 65, ; + Width = 159, ; + Text_simplu1.ControlSource = "porec.numar", ; + Text_simplu1.Height = 23, ; + Text_simplu1.Left = 71, ; + Text_simplu1.Name = "Text_simplu1", ; + Text_simplu1.Top = 3, ; + Text_simplu1.Width = 85, ; + Lb_simplu1.Caption = "Numar :", ; + Lb_simplu1.Name = "Lb_simplu1" + *< END OBJECT: ClassLib="lb_tx.vcx" BaseClass="container" /> + + ADD OBJECT 'Ct_clb_cautare1' AS ct_clb_cautare WITH ; + cconditie = empty(porec.id_articol), ; + cprocedura = thisform.do_alege_articol, ; + cvar_afisata = porec.articol, ; + Left = 12, ; + Name = "Ct_clb_cautare1", ; + TabIndex = 1, ; + Top = 33, ; + img_cautare.Name = "img_cautare", ; + clb_tx_cautare.Lb_simplu1.Caption = "Articol", ; + clb_tx_cautare.Lb_simplu1.Name = "Lb_simplu1", ; + clb_tx_cautare.Name = "clb_tx_cautare", ; + clb_tx_cautare.Text_simplu1.ControlSource = "", ; + clb_tx_cautare.Text_simplu1.Height = 23, ; + clb_tx_cautare.Text_simplu1.Left = 102, ; + clb_tx_cautare.Text_simplu1.Name = "Text_simplu1", ; + clb_tx_cautare.Text_simplu1.Top = 3, ; + clb_tx_cautare.Text_simplu1.Width = 205 + *< END OBJECT: ClassLib="caut_ora.vcx" BaseClass="container" /> + + ADD OBJECT 'Cus_odata_echip1' AS cus_odata_echip WITH ; + Left = 96, ; + Name = "Cus_odata_echip1", ; + Top = 12 + *< END OBJECT: ClassLib="opersonal.vcx" BaseClass="custom" /> + + PROCEDURE do_alege_articol + lcSel = [select pack_personal.ver_cond_echip(?popers.id_stat) as rezultat from dual] + + lcCursor = 'crs_id_cond' + lnSucces = goExecutor.oExecute(lcSel,lcCursor) + IF lnSucces < 0 + MESSAGEBOX(goExecutor.cEroare,0+16,"Eroare") + ENDIF + SELECT crs_id_cond + lcString=rezultat + USE IN crs_id_cond + + + IF isnull(lcString) + MESSAGEBOX('Nu exista nici o conditie configurata pt aceasta persoana!',48,'Atentie') + RETURN + ENDIF + + pcselect = [select id_nec,id_articol,articol,codmat,denumire as conditie from sal_vcond_echip] + + pcfiltruOriginal = [1=1]+lcString + pcfiltru = [1=2] + pcorder = [articol] + pccoloane = [articol,codmat,conditie,id_articol] + pcTitlu = [Articole] + pcTitluColoane = [Articol,Cod material,Conditie,Id] + + loHash=gethash() + loHash.setvalue('cSelect',pcselect) + loHash.setvalue('cFiltru',pcfiltru) + loHash.setvalue('cOrder',pcorder) + loHash.setvalue('cColoana',pccoloane) + loHash.setvalue('cTitlu',pcTitlu) + loHash.setvalue('cTitluColoana',pcTitluColoane) + loHash.setvalue('cFiltruOriginal',pcfiltruOriginal) + loCauta = cauta_alfa_hash(lohash) + + IF !EMPTY(locauta.id_articol) + porec.articol = locauta.articol + porec.id_articol = locauta.id_articol + this.Refresh + ENDIF + ENDPROC + + PROCEDURE inainte_de_do_termin + Local PLRETURN,lcActiune + + this.but_TERMIN1.SetFocus() + + lcActiune = this.cus_odata_echip1.cactiune + + Do Case + Case Empty(porec.articol) + Messagebox('Nu ati completat articolul!',0+48,"Atentie") + this.clb_tx_simplu1.text_simplu1.SetFocus() + + plreturn=.F. + + OTHERWISE + PLRETURN=This.cus_odata_echip1.salvare(This.OREC,This.NID) + + ENDCASE + + + + + Return PLRETURN + + + ENDPROC + + PROCEDURE Init + Lparameters toRec, tnId, tcActiune + + DoDefault() + + This.orec= toRec + This.nid = tnId + This.cus_odata_echip1.cactiune = tcActiune + + IF This.cus_odata_echip1.cactiune='INSERT' + thisform.do_alege_articol() + ENDIF + + + + ENDPROC + +ENDDEFINE + +DEFINE CLASS frm_familie1_nou AS frm_termin_renunt OF "_frm_child.vcx" + *< CLASSDATA: Baseclass="form" Timestamp="" Scale="Pixels" Uniqueid="" /> + + *-- OBJECTDATA items order determines ZOrder / El orden de los items OBJECTDATA determina el ZOrder + *< OBJECTDATA: ObjPath="Cus_odata_fam1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="Clb_tx_simplu1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="Clb_tx_simplu2" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="Clb_tx_simplu3" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="Clb_tx_simplu4" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="Cb_tx_simplu1" UniqueID="" Timestamp="" /> + + * + *p: nid + *p: orec + * + + * + DoCreate = .T. + Height = 200 + Name = "frm_familie1_nou" + nid = 0 + orec = + Width = 375 + _shape1.Name = "_shape1" + _shape2.Height = 29 + _shape2.Left = 308 + _shape2.Name = "_shape2" + _shape2.Top = 0 + _shape2.Width = 70 + Lb_titlu_alb_b121.Caption = "Date copil" + Lb_titlu_alb_b121.Name = "Lb_titlu_alb_b121" + Lb_titlu_alb_b121.TabIndex = 8 + BUT_TERMIN1.Left = 345 + BUT_TERMIN1.Name = "BUT_TERMIN1" + BUT_TERMIN1.TabIndex = 6 + BUT_TERMIN1.Top = 1 + Gridsort1.Name = "Gridsort1" + But_renunt1.Left = 312 + But_renunt1.Name = "But_renunt1" + But_renunt1.TabIndex = 7 + But_renunt1.Top = 1 + * + + ADD OBJECT 'Cb_tx_simplu1' AS cb_tx_simplu WITH ; + Height = 29, ; + Left = 12, ; + Name = "Cb_tx_simplu1", ; + TabIndex = 5, ; + Top = 153, ; + Width = 166, ; + _cbbase1.Height = 23, ; + _cbbase1.Left = 101, ; + _cbbase1.Name = "_cbbase1", ; + _cbbase1.RowSource = "DA,NU", ; + _cbbase1.RowSourceType = 1, ; + _cbbase1.Top = 3, ; + _cbbase1.Width = 53, ; + _lbbase1.Caption = "În întreþinere ?", ; + _lbbase1.Name = "_lbbase1" + *< END OBJECT: ClassLib="lb_tx.vcx" BaseClass="container" /> + + ADD OBJECT 'Clb_tx_simplu1' AS clb_tx_simplu WITH ; + Height = 29, ; + Left = 12, ; + Name = "Clb_tx_simplu1", ; + TabIndex = 1, ; + Top = 41, ; + Width = 348, ; + Text_simplu1.ControlSource = "porec.nume", ; + Text_simplu1.Height = 23, ; + Text_simplu1.Left = 101, ; + Text_simplu1.Name = "Text_simplu1", ; + Text_simplu1.Top = 3, ; + Text_simplu1.Width = 235, ; + Lb_simplu1.Caption = "Nume :", ; + Lb_simplu1.Name = "Lb_simplu1" + *< END OBJECT: ClassLib="lb_tx.vcx" BaseClass="container" /> + + ADD OBJECT 'Clb_tx_simplu2' AS clb_tx_simplu WITH ; + Left = 12, ; + Name = "Clb_tx_simplu2", ; + TabIndex = 2, ; + Top = 69, ; + Width = 348, ; + Text_simplu1.ControlSource = "porec.prenume", ; + Text_simplu1.Height = 23, ; + Text_simplu1.Left = 101, ; + Text_simplu1.Name = "Text_simplu1", ; + Text_simplu1.Top = 3, ; + Text_simplu1.Width = 235, ; + Lb_simplu1.Caption = "Prenume :", ; + Lb_simplu1.Name = "Lb_simplu1" + *< END OBJECT: ClassLib="lb_tx.vcx" BaseClass="container" /> + + ADD OBJECT 'Clb_tx_simplu3' AS clb_tx_simplu WITH ; + Left = 12, ; + Name = "Clb_tx_simplu3", ; + TabIndex = 3, ; + Top = 97, ; + Width = 348, ; + Text_simplu1.ControlSource = "porec.codpers", ; + Text_simplu1.Height = 23, ; + Text_simplu1.Left = 101, ; + Text_simplu1.Name = "Text_simplu1", ; + Text_simplu1.Top = 3, ; + Text_simplu1.Width = 235, ; + Lb_simplu1.Caption = "CNP :", ; + Lb_simplu1.Name = "Lb_simplu1" + *< END OBJECT: ClassLib="lb_tx.vcx" BaseClass="container" /> + + ADD OBJECT 'Clb_tx_simplu4' AS clb_tx_simplu WITH ; + Height = 29, ; + Left = 12, ; + Name = "Clb_tx_simplu4", ; + TabIndex = 4, ; + Top = 125, ; + Width = 192, ; + Text_simplu1.ControlSource = "porec.datanast", ; + Text_simplu1.Format = "!KD", ; + Text_simplu1.Height = 23, ; + Text_simplu1.Left = 101, ; + Text_simplu1.Name = "Text_simplu1", ; + Text_simplu1.Top = 3, ; + Text_simplu1.Width = 79, ; + Lb_simplu1.Caption = "Data naºterii :", ; + Lb_simplu1.Name = "Lb_simplu1" + *< END OBJECT: ClassLib="lb_tx.vcx" BaseClass="container" /> + + ADD OBJECT 'Cus_odata_fam1' AS cus_odata_fam WITH ; + Left = 336, ; + Name = "Cus_odata_fam1", ; + Top = 204 + *< END OBJECT: ClassLib="opersonal.vcx" BaseClass="custom" /> + + PROCEDURE inainte_de_do_termin + Local PLRETURN,lcActiune + + this.but_TERMIN1.SetFocus() + + lcActiune = this.cus_odata_fam1.cactiune + Do Case + Case Empty(porec.nume) + Messagebox('Nu ati completat numele copilului!',0+48,"Atentie") + This.clb_tx_simplu1.SetFocus() + PLRETURN=.F. + + CASE EMPTY(porec.prenume) + Messagebox('Nu ati completat prenumele copilului!',0+48,"Atentie") + This.clb_tx_simplu2.SetFocus() + PLRETURN=.F. + + Otherwise + If Alltrim(Upper(This.cus_odata_fam1.cactiune))="INSERT" + + pcexec=[select * from ]+gcS+[.sal_vcopii where (TRIM(nume)=']+Alltrim(porec.nume)+ [' and TRIM(prenume) = '] + ; + ALLTRIM(porec.prenume) + ; + [') and id_persoana=] + ALLTRIM(STR(popers.id_salariat)) + Do While .T. + + pnSucces = SQLEXEC(GNHANDLE,pcexec,'exista_copil') + If pnSucces = 0 + * instructiunea in curs de executie + Else + Exit + Endif + Enddo + If Reccount('exista_copil')>0 + Messagebox('Mai exista acest copil inregistrat',0+48,"Atentie") + This.clb_tx_simplu1.text_simplu1.SetFocus() + Use In exista_copil + PLRETURN=.F. + Else + PLRETURN=This.cus_odata_fam1.salvare(This.OREC,This.NID) + Endif + ELSE + + PLRETURN=This.cus_odata_fam1.salvare(This.OREC,This.NID) + Endif + + ENDCASE + + IF PLRETURN AND THIS.CB_tx_simplu1._cbbase1.Value='DA' + + pcexec = [select * from ] + gcS + [.sal_vintret where (TRIM(nume)='] + ALLTRIM(porec.nume) + [' and TRIM(prenume) = '] + ALLTRIM(porec.prenume)+; + [') and id_persoana=] + ALLTRIM(STR(popers.id_salariat)) + Do While .T. + pnSucces = SQLEXEC(GNHANDLE,pcexec,'exista_intret') + If pnSucces = 0 + * instructiunea in curs de executie + Else + Exit + Endif + ENDDO + If Reccount('exista_intret')>0 + Messagebox('Mai exista aceasta persoana inregistrata in luna in curs',0+48,"Atentie") + This.clb_tx_simplu1.text_simplu1.SetFocus() + Use In exista_intret + ELSE + lcSql = [INSERT INTO ] + gcS + [.SAL_PERSINTRET (NUME,PRENUME,CODPERS,ID_STAT,ID_DEDUCERE) VALUES ('] + ALLTRIM(POREC.NUME) + ; + [','] + ALLTRIM(porec.prenume) + [',] + ALLTRIM(STR(porec.codpers,13)) + [,] + ALLTRIM(STR(popers.id_stat)) + [,2)] + lnSucces = goExecutor.oExecute(lcsql) + If lnSucces < 0 + Messagebox(goExecutor.cEroare,0+16,"Eroare") + Endif + ENDIF + ENDIF + + + + + Return PLRETURN + + + ENDPROC + + PROCEDURE Init + Lparameters toRec, tnId, tcActiune + + DoDefault() + + This.orec= toRec + This.nid = tnId + This.cus_odata_fam1.cactiune = tcActiune + ENDPROC + +ENDDEFINE + +DEFINE CLASS frm_fatalegitim AS frm_termin OF "_frm_child.vcx" + *< CLASSDATA: Baseclass="form" Timestamp="" Scale="Pixels" Uniqueid="" /> + + *-- OBJECTDATA items order determines ZOrder / El orden de los items OBJECTDATA determina el ZOrder + *< OBJECTDATA: ObjPath="Image1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="Check1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="Image2" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="Check2" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="Text1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="Text2" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="Text3" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="Text4" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="Label1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="Label2" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="Text5" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="Text6" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="Label3" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="Text7" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="But_listare1" UniqueID="" Timestamp="" /> + + * + BorderStyle = 3 + DoCreate = .T. + Height = 345 + Name = "frm_fatalegitim" + Width = 502 + _shape1.Height = 29 + _shape1.Left = 0 + _shape1.Name = "_shape1" + _shape1.Top = 0 + _shape1.Width = 516 + _shape2.Left = 444 + _shape2.Name = "_shape2" + _shape2.Top = 0 + Lb_titlu_alb_b121.Caption = "." + Lb_titlu_alb_b121.Name = "Lb_titlu_alb_b121" + BUT_TERMIN1.Left = 464 + BUT_TERMIN1.Name = "BUT_TERMIN1" + BUT_TERMIN1.Top = 1 + Gridsort1.Name = "Gridsort1" + * + + ADD OBJECT 'But_listare1' AS but_listare WITH ; + caction = do_listare, ; + Left = 433, ; + Name = "But_listare1", ; + Top = 2, ; + Visible = .T. + *< END OBJECT: ClassLib="cmd_butoane.vcx" BaseClass="commandbutton" /> + + ADD OBJECT 'Check1' AS checkbox WITH ; + Alignment = 0, ; + AutoSize = .T., ; + BackStyle = 0, ; + Caption = "Alege fotografie", ; + Height = 17, ; + Left = 372, ; + Name = "Check1", ; + Top = 200, ; + Visible = .F., ; + Width = 103 + *< END OBJECT: BaseClass="checkbox" /> + + ADD OBJECT 'Check2' AS checkbox WITH ; + Alignment = 0, ; + AutoSize = .T., ; + BackStyle = 0, ; + Caption = "Alege imagine sigla", ; + Height = 17, ; + Left = 21, ; + Name = "Check2", ; + Top = 200, ; + Width = 127 + *< END OBJECT: BaseClass="checkbox" /> + + ADD OBJECT 'Image1' AS image WITH ; + Height = 121, ; + Left = 371, ; + Name = "Image1", ; + Top = 74, ; + Width = 109 + *< END OBJECT: BaseClass="image" /> + + ADD OBJECT 'Image2' AS image WITH ; + Height = 60, ; + Left = 20, ; + Name = "Image2", ; + Picture = ..\..\grafice\backgrnd.bmp, ; + Top = 74, ; + Width = 72 + *< END OBJECT: BaseClass="image" /> + + ADD OBJECT 'Label1' AS label WITH ; + AutoSize = .T., ; + BackStyle = 0, ; + Caption = "LEGITIMATIE", ; + FontBold = .T., ; + FontSize = 12, ; + Height = 22, ; + Left = 200, ; + Name = "Label1", ; + Top = 121, ; + Width = 102 + *< END OBJECT: BaseClass="label" /> + + ADD OBJECT 'Label2' AS label WITH ; + AutoSize = .T., ; + BackStyle = 0, ; + Caption = "Nr:", ; + Height = 17, ; + Left = 209, ; + Name = "Label2", ; + Top = 151, ; + Width = 18 + *< END OBJECT: BaseClass="label" /> + + ADD OBJECT 'Label3' AS label WITH ; + AutoSize = .T., ; + BackStyle = 0, ; + Caption = "Cod acces:", ; + Height = 17, ; + Left = 20, ; + Name = "Label3", ; + Top = 225, ; + Width = 64 + *< END OBJECT: BaseClass="label" /> + + ADD OBJECT 'Text1' AS textbox WITH ; + Alignment = 2, ; + BorderStyle = 0, ; + ControlSource = "m.gcantet", ; + DisabledBackColor = 255,255,255, ; + FontBold = .T., ; + FontSize = 11, ; + Height = 23, ; + Left = 32, ; + Name = "Text1", ; + ReadOnly = .T., ; + Top = 44, ; + Width = 432 + *< END OBJECT: BaseClass="textbox" /> + + ADD OBJECT 'Text2' AS textbox WITH ; + Alignment = 1, ; + BorderStyle = 0, ; + ControlSource = "pocaut.nume", ; + DisabledBackColor = 255,255,255, ; + Height = 23, ; + Left = 13, ; + Name = "Text2", ; + ReadOnly = .T., ; + Top = 254, ; + Width = 187 + *< END OBJECT: BaseClass="textbox" /> + + ADD OBJECT 'Text3' AS textbox WITH ; + BorderStyle = 0, ; + ControlSource = "logelit.formatia", ; + DisabledBackColor = 255,255,255, ; + Height = 23, ; + Left = 13, ; + Name = "Text3", ; + ReadOnly = .T., ; + Top = 281, ; + Width = 372 + *< END OBJECT: BaseClass="textbox" /> + + ADD OBJECT 'Text4' AS textbox WITH ; + BorderStyle = 0, ; + ControlSource = "logelit.meseria", ; + DisabledBackColor = 255,255,255, ; + Height = 23, ; + Left = 13, ; + Name = "Text4", ; + ReadOnly = .T., ; + Top = 307, ; + Width = 372 + *< END OBJECT: BaseClass="textbox" /> + + ADD OBJECT 'Text5' AS textbox WITH ; + Alignment = 0, ; + BorderStyle = 0, ; + ControlSource = "pocaut.MARCA", ; + DisabledBackColor = 255,255,255, ; + Height = 23, ; + Left = 233, ; + Name = "Text5", ; + ReadOnly = .T., ; + Top = 148, ; + Width = 96 + *< END OBJECT: BaseClass="textbox" /> + + ADD OBJECT 'Text6' AS textbox WITH ; + Alignment = 0, ; + BorderStyle = 0, ; + ControlSource = "pocaut.prenume", ; + DisabledBackColor = 255,255,255, ; + Height = 23, ; + Left = 204, ; + Name = "Text6", ; + ReadOnly = .T., ; + Top = 254, ; + Width = 187 + *< END OBJECT: BaseClass="textbox" /> + + ADD OBJECT 'Text7' AS textbox WITH ; + Alignment = 0, ; + ControlSource = "pcCodAcc", ; + DisabledBackColor = 255,255,255, ; + Height = 23, ; + Left = 92, ; + Name = "Text7", ; + Top = 222, ; + Width = 132 + *< END OBJECT: BaseClass="textbox" /> + + PROCEDURE do_listare + PRIVATE pcPoza ,pcSigla + thisform.AlwaysOnTop = .f. + pcPoza = ALLTRIM(thisform.imaGE1.Picture) + pcSigla = ALLTRIM(thisform.image2.Picture) + pcSigla = GetPozaFile([SIGLA.BMP]) + + *!* MESSAGEBOX('pcPoza ='+pcPoza +[;pcSigla =]+pcSigla ) + PRIVATE pcdate + pcdate=DATE() + LOCAL loForma + ON ESCAPE loForma.RELEASE + loForma = CREATEOBJECT("frm_termin") + loForma.ADDOBJECT("text_item1","text_item") + loForma.WIDTH = 236 + loForma.HEIGHT = 108 + loForma.but_termin1.LEFT = 204 + loForma.lb_titlu_alb_b121.CAPTION = 'Data listare legitimatie' + loForma.lb_titlu_alb_b121.AUTOSIZE = .T. + loForma.text_item1.LEFT = 48 + loForma.text_item1.TOP = 60 + loForma.text_item1.CONTROLSOURCE = 'pcdate' + loForma.text_item1.SPECIALEFFECT = 0 + loForma.text_item1.BORDERSTYLE = 1 + loForma.text_item1.FORMAT = 'd' + loForma.text_item1.VISIBLE = .T. + loForma.text_item1.TABINDEX = 1 + loForma.AUTOCENTER = .T. + loForma.SHOW(1) + goExport.export2frx([crsFisierLegitimatie],'legitimatie2') + thisform.AlwaysOnTop = .t. + + ENDPROC + + PROCEDURE Check1.Click + IF this.Value = 1 + + LOCAL lcPoza,lcDirector,lcNPoza,lcCalePozaServer,lcSql,lnSucces + PRIVATE pcFisier + *!* lcDirector = ADDBS(calefirma) + "datean\poze" + lcPoza = GETFILE("jpg,bmp","Alegeti fotografia","Alege",0,"Alegere fotografie") + IF EMPTY(lcPoza) + RETURN + ENDIF + lcCalePozaServer = GetPozaFile(ALLTRIM(STR(pocaut.marca))+[.]+JUSTEXT(lcPoza)) + + + lcNPoza = lcCalePozaServer + IF ALLTRIM(UPPER(lcNPoza)) # ALLTRIM(UPPER(lcPOza)) + IF !FILE(lcNPoza) + + lcSQl = [ MERGE INTO sal_legitimatii a ]+; + [ USING (SELECT ]+ Alltrim(Str(pocaut.id_salariat)) + [ as id_salariat, ]+; + ALLTRIM(STR(pocaut.marca))+[.]+JUSTEXT(lcPoza) +[ as numefis FROM dual) b ]+; + [ ON (a.id_salariat = b.id_salariat and a.sters = 0) ]+; + [ WHEN MATCHED THEN ]+; + [ UPDATE SET a.numefis = b.numefis ]+; + [WHEN NOT MATCHED THEN ]+; + [ INSERT (a.id_salariat, a.numefis) ]+; + [ VALUES (b.id_salariat, b.numefis) ] + + + + lnSucces = goExecutor.oExecute(lcSQl) + If lnSucces < 0 + amessagebox(goExecutor.cEroare,16,"Eroare") + RETURN + ENDIF + IF ALLTRIM(UPPER(lcNPoza)) # ALLTRIM(UPPER(lcPOza)) + COPY FILE (lcPOza) TO &lcNPoza + ENDIF + ENDIF + ENDIF + thisform.image1.picture = lcNpoza + + thisform.imAGE1.Height = 121 + thisform.imaGE1.Width = 109 + thisform.imAGE1.Stretch= 1 + thisform.Refresh + + *------------------ + + + ENDIF + + ENDPROC + + PROCEDURE Check2.Click + IF this.Value = 1 + LOCAL lcPoza,lcDirector,lcNPoza,lcCalePozaServer,lcSql,lnSucces,lcCalePozaServerRename + PRIVATE pcFisier + *!* lcDirector = ADDBS(calefirma) + "datean\poze" + lcPoza = GETFILE("jpg,bmp","Alegeti fotografia","Alege",0,"Alegere fotografie") + IF EMPTY(lcPoza) + RETURN + ENDIF + lcCalePozaServer = GetPozaFile([SIGLA.BMP]) + IF FILE(lcCalePozaServer) AND UPPER(lcPoza)<> UPPER(lcCalePozaServer) + lcCalePozaServerRename = GetPozaFile([SIGLA]+ALLTRIM(TRANSFORM(DATETIME()))+[.BMP]) + RENAME (lcCalePozaServer) TO (lcCalePozaServerRename) + ENDIF + IF UPPER(lcPoza)<> UPPER(lcCalePozaServer) + COPY FILE (lcPOza) TO (lcCalePozaServer) + ENDIF + + + thisform.image2.picture = lcCalePozaServer + + thisform.imAGE2.Height = 121 + thisform.imaGE2.Width = 109 + thisform.imAGE2.Stretch= 1 + thisform.Refresh + ENDIF + + ENDPROC + +ENDDEFINE + +DEFINE CLASS frm_incetare_reg AS formtermin OF "_frm_base.vcx" + *< CLASSDATA: Baseclass="form" Timestamp="" Scale="Pixels" Uniqueid="" /> + + *-- OBJECTDATA items order determines ZOrder / El orden de los items OBJECTDATA determina el ZOrder + *< OBJECTDATA: ObjPath="Cb_tx_simplu1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="_editbox1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="Lb_simplu1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="Clb_tx_simplu1" UniqueID="" Timestamp="" /> + + * + BorderStyle = 1 + DoCreate = .T. + Height = 211 + Name = "frm_incetare_reg" + Width = 498 + _shape1.Height = 29 + _shape1.Left = 0 + _shape1.Name = "_shape1" + _shape1.Top = 0 + _shape1.Width = 527 + _shape2.Height = 29 + _shape2.Left = 461 + _shape2.Name = "_shape2" + _shape2.Top = 0 + _shape2.Width = 34 + Lb_titlu_alb_b121.Caption = "Incetare Contract" + Lb_titlu_alb_b121.Name = "Lb_titlu_alb_b121" + BUT_TERMIN1.Left = 464 + BUT_TERMIN1.Name = "BUT_TERMIN1" + BUT_TERMIN1.Top = 1 + Gridsort1.Name = "Gridsort1" + * + + ADD OBJECT '_editbox1' AS _editbox WITH ; + ControlSource = "pcExpReg", ; + Height = 82, ; + Left = 12, ; + Name = "_editbox1", ; + ReadOnly = .F., ; + Top = 86, ; + Width = 480 + *< END OBJECT: ClassLib="_baza.vcx" BaseClass="editbox" /> + + ADD OBJECT 'Cb_tx_simplu1' AS cb_tx_simplu WITH ; + Height = 29, ; + Left = 12, ; + Name = "Cb_tx_simplu1", ; + Top = 36, ; + Width = 480, ; + _cbbase1.Height = 23, ; + _cbbase1.Left = 152, ; + _cbbase1.Name = "_cbbase1", ; + _cbbase1.RowSource = "CrsTemei.denumire", ; + _cbbase1.RowSourceType = 2, ; + _cbbase1.Top = 3, ; + _cbbase1.Width = 321, ; + _lbbase1.Caption = "Temei incetare contract", ; + _lbbase1.Name = "_lbbase1" + *< END OBJECT: ClassLib="lb_tx.vcx" BaseClass="container" /> + + ADD OBJECT 'Clb_tx_simplu1' AS clb_tx_simplu WITH ; + Height = 29, ; + Left = 12, ; + Name = "Clb_tx_simplu1", ; + Top = 171, ; + Width = 291, ; + Text_simplu1.ControlSource = "pcDataRegistru", ; + Text_simplu1.Height = 23, ; + Text_simplu1.Left = 215, ; + Text_simplu1.Name = "Text_simplu1", ; + Text_simplu1.Top = 3, ; + Text_simplu1.Width = 73, ; + Lb_simplu1.Caption = "Data la care se produce modificarea", ; + Lb_simplu1.Name = "Lb_simplu1" + *< END OBJECT: ClassLib="lb_tx.vcx" BaseClass="container" /> + + ADD OBJECT 'Lb_simplu1' AS lb_simplu WITH ; + Caption = "Explicatie temei incetare / Decizie incetare", ; + Left = 12, ; + Name = "Lb_simplu1", ; + Top = 68 + *< END OBJECT: ClassLib="lb.vcx" BaseClass="label" /> + + PROCEDURE inainte_de_do_termin + IF EMPTY(pnIdtemei) + MESSAGEBOX('Alegeti un temei!') + RETURN .f. + ENDIF + IF EMPTY(pcDataRegistru) + MESSAGEBOX('Completati data modificarii!') + RETURN .f. + ENDIF + ENDPROC + + PROCEDURE Cb_tx_simplu1._cbbase1.InteractiveChange + SELECT crsTemei + pnIdTemei=id_temei + pcExpReg=ALLTRIM(explicatie) + thisform._editbox1.Refresh + ENDPROC + +ENDDEFINE + +DEFINE CLASS frm_intret_nou AS frm_termin_renunt OF "_frm_child.vcx" + *< CLASSDATA: Baseclass="form" Timestamp="" Scale="Pixels" Uniqueid="" /> + + *-- OBJECTDATA items order determines ZOrder / El orden de los items OBJECTDATA determina el ZOrder + *< OBJECTDATA: ObjPath="Clb_tx_simplu1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="Clb_tx_simplu2" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="Clb_tx_simplu3" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="Cb_tx_simplu2" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="CUS_ODATA_INTRET1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="Cb_tx_simplu1" UniqueID="" Timestamp="" /> + + * + *p: nid + *p: orec + * + + * + DoCreate = .T. + Height = 202 + Name = "frm_intret_nou" + nid = 0 + orec = + Width = 400 + _shape1.Height = 29 + _shape1.Left = 0 + _shape1.Name = "_shape1" + _shape1.Top = 0 + _shape1.Width = 402 + _shape1.ZOrderSet = 1 + _shape2.Height = 29 + _shape2.Left = 340 + _shape2.Name = "_shape2" + _shape2.Top = 0 + _shape2.Width = 62 + _shape2.ZOrderSet = 2 + Lb_titlu_alb_b121.Caption = "Adaugã/modificã persoana aflatã în întreþinere" + Lb_titlu_alb_b121.Left = 7 + Lb_titlu_alb_b121.Name = "Lb_titlu_alb_b121" + Lb_titlu_alb_b121.TabIndex = 8 + Lb_titlu_alb_b121.Top = 6 + Lb_titlu_alb_b121.ZOrderSet = 3 + BUT_TERMIN1.Left = 370 + BUT_TERMIN1.Name = "BUT_TERMIN1" + BUT_TERMIN1.TabIndex = 6 + BUT_TERMIN1.Top = 1 + BUT_TERMIN1.ZOrderSet = 4 + Gridsort1.Name = "Gridsort1" + But_renunt1.Left = 341 + But_renunt1.Name = "But_renunt1" + But_renunt1.TabIndex = 7 + But_renunt1.Top = 1 + But_renunt1.ZOrderSet = 5 + * + + ADD OBJECT 'Cb_tx_simplu1' AS cb_tx_simplu WITH ; + Height = 29, ; + Left = 16, ; + Name = "Cb_tx_simplu1", ; + TabIndex = 5, ; + Top = 158, ; + Width = 369, ; + ZOrderSet = 10, ; + _cbbase1.Height = 23, ; + _cbbase1.Left = 101, ; + _cbbase1.Name = "_cbbase1", ; + _cbbase1.RowSource = "v_hand1.denumire,id_handicap", ; + _cbbase1.RowSourceType = 6, ; + _cbbase1.Top = 3, ; + _cbbase1.Width = 259, ; + _lbbase1.Caption = "Handicap :", ; + _lbbase1.Name = "_lbbase1" + *< END OBJECT: ClassLib="lb_tx.vcx" BaseClass="container" /> + + ADD OBJECT 'Cb_tx_simplu2' AS cb_tx_simplu WITH ; + Height = 29, ; + Left = 16, ; + Name = "Cb_tx_simplu2", ; + TabIndex = 4, ; + Top = 130, ; + Width = 369, ; + ZOrderSet = 9, ; + _cbbase1.Height = 23, ; + _cbbase1.Left = 101, ; + _cbbase1.Name = "_cbbase1", ; + _cbbase1.RowSource = "v_dedsupl.calitate,id_dedsupl", ; + _cbbase1.RowSourceType = 6, ; + _cbbase1.Top = 3, ; + _cbbase1.Width = 258, ; + _lbbase1.Caption = "Calitate :", ; + _lbbase1.Name = "_lbbase1" + *< END OBJECT: ClassLib="lb_tx.vcx" BaseClass="container" /> + + ADD OBJECT 'Clb_tx_simplu1' AS clb_tx_simplu WITH ; + Height = 29, ; + Left = 16, ; + Name = "Clb_tx_simplu1", ; + TabIndex = 1, ; + Top = 46, ; + Width = 369, ; + ZOrderSet = 6, ; + Text_simplu1.ControlSource = "porec.nume", ; + Text_simplu1.Height = 23, ; + Text_simplu1.Left = 101, ; + Text_simplu1.Name = "Text_simplu1", ; + Text_simplu1.Top = 3, ; + Text_simplu1.Width = 257, ; + Lb_simplu1.Caption = "Nume :", ; + Lb_simplu1.Name = "Lb_simplu1" + *< END OBJECT: ClassLib="lb_tx.vcx" BaseClass="container" /> + + ADD OBJECT 'Clb_tx_simplu2' AS clb_tx_simplu WITH ; + Height = 29, ; + Left = 16, ; + Name = "Clb_tx_simplu2", ; + TabIndex = 2, ; + Top = 74, ; + Width = 369, ; + ZOrderSet = 7, ; + Text_simplu1.ControlSource = "porec.prenume", ; + Text_simplu1.Height = 23, ; + Text_simplu1.Left = 101, ; + Text_simplu1.Name = "Text_simplu1", ; + Text_simplu1.Top = 3, ; + Text_simplu1.Width = 258, ; + Lb_simplu1.Caption = "Prenume :", ; + Lb_simplu1.Name = "Lb_simplu1" + *< END OBJECT: ClassLib="lb_tx.vcx" BaseClass="container" /> + + ADD OBJECT 'Clb_tx_simplu3' AS clb_tx_simplu WITH ; + Height = 29, ; + Left = 16, ; + Name = "Clb_tx_simplu3", ; + TabIndex = 3, ; + Top = 102, ; + Width = 369, ; + ZOrderSet = 8, ; + Text_simplu1.ControlSource = "porec.codpers", ; + Text_simplu1.Height = 23, ; + Text_simplu1.Left = 101, ; + Text_simplu1.Name = "Text_simplu1", ; + Text_simplu1.Top = 3, ; + Text_simplu1.Width = 258, ; + Lb_simplu1.Caption = "CNP :", ; + Lb_simplu1.Name = "Lb_simplu1" + *< END OBJECT: ClassLib="lb_tx.vcx" BaseClass="container" /> + + ADD OBJECT 'CUS_ODATA_INTRET1' AS cus_odata_intret WITH ; + Left = 131, ; + Name = "CUS_ODATA_INTRET1", ; + Top = 232 + *< END OBJECT: ClassLib="opersonal.vcx" BaseClass="custom" /> + + PROCEDURE Destroy + IF USED('v_hand1') + USE IN v_hand1 + ENDIF + + IF USED('v_dedsupl') + USE IN v_dedsupl + ENDIF + ENDPROC + + PROCEDURE inainte_de_do_termin + Local PLRETURN,lcActiune + + this.but_TERMIN1.SetFocus() + + IF !EMPTY(this.cb_tx_simplu2._cbbase1.value) + porec.id_deducere = v_dedsupl.id_dedsupl + ELSE + porec.id_deducere = 0 + ENDIF + + IF !EMPTY(this.cb_tx_simplu1._cbbase1.Value) + porec.id_handicap = v_hand1.id_handicap + ELSE + porec.id_handicap = 0 + ENDIF + + Do Case + Case Empty(porec.nume) + Messagebox('Nu ati completat numele !',0+48,"Atentie") + This.clb_tx_simplu1.SetFocus() + PLRETURN=.F. + + CASE EMPTY(porec.prenume) + Messagebox('Nu ati completat prenumele !',0+48,"Atentie") + This.clb_tx_simplu2.SetFocus() + PLRETURN=.F. + + CASE EMPTY(porec.id_deducere) + Messagebox('Nu ati completat calitatea!',0+48,"Atentie") + This.cb_tx_simplu2.SetFocus() + PLRETURN=.F. + + + + Otherwise + If Alltrim(Upper(This.cus_odata_intret1.cactiune))="INSERT" + + pcexec = [select * from ] + gcS + [.sal_vintret where (TRIM(nume)='] + ALLTRIM(porec.nume) + ; + [' and TRIM(prenume)='] + ALLTRIM(porec.prenume) + [' and id_persoana=] + ALLTRIM(STR(popers.id_salariat)) + [)] + Do While .T. + pnSucces = SQLEXEC(GNHANDLE,pcexec,'exista_intret') + If pnSucces = 0 + * instructiunea in curs de executie + Else + Exit + Endif + ENDDO + If Reccount('exista_intret')>0 + Messagebox('Mai exista aceasta persoana inregistrata in luna in curs',0+48,"Atentie") + This.clb_tx_simplu1.text_simplu1.SetFocus() + Use In exista_intret + PLRETURN=.F. + ELSE + PLRETURN=This.cus_odata_intret1.salvare(This.OREC,This.NID) + ENDIF + ELSE + PLRETURN=This.cus_odata_intret1.salvare(This.OREC,This.NID) + ENDIF + ENDCASE + + + + Return PLRETURN + + + ENDPROC + + PROCEDURE Init + Lparameters toRec, tnId, tcActiune + + DoDefault() + + This.orec= toRec + This.nid = tnId + This.cus_odata_intret1.cactiune = tcActiune + + + IF tcActiune = 'UPDATE' + + + SELECT v_hand1 + LOCATE FOR id_handicap = toRec.id_handicap + IF FOUND() + this.cb_tx_simplu1._cbbase1.Value=ALLTRIM(denumire) + this.cb_tx_simplu1._cbbase1.Requery() + this.cb_tx_simplu1._cbbase1.Refresh() + ENDIF + SELECT v_dedsupl + LOCATE FOR id_dedsupl = toRec.id_deducere + IF FOUND() + this.cb_tx_simplu2._cbbase1.Value=ALLTRIM(calitate) + this.cb_tx_simplu2._cbbase1.Requery() + this.cb_tx_simplu2._cbbase1.Refresh() + ENDIF + ENDIF + ENDPROC + +ENDDEFINE + +DEFINE CLASS frm_limbi_nou AS frm_termin_renunt OF "_frm_child.vcx" + *< CLASSDATA: Baseclass="form" Timestamp="" Scale="Pixels" Uniqueid="" /> + + *-- OBJECTDATA items order determines ZOrder / El orden de los items OBJECTDATA determina el ZOrder + *< OBJECTDATA: ObjPath="Clb_tx_simplu4" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="Cus_odata_limbi1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="Ct_clb_limba" UniqueID="" Timestamp="" /> + + * + *m: do_cauta_limba + *p: nid + *p: orec + * + + * + BorderStyle = 2 + DoCreate = .T. + Height = 114 + Name = "frm_limbi_nou" + nid = 0 + orec = + Width = 374 + _shape1.Name = "_shape1" + _shape2.Height = 29 + _shape2.Left = 309 + _shape2.Name = "_shape2" + _shape2.Top = 0 + _shape2.Width = 66 + Lb_titlu_alb_b121.Caption = "LIMBI STRÃINE" + Lb_titlu_alb_b121.Name = "Lb_titlu_alb_b121" + Lb_titlu_alb_b121.TabIndex = 5 + BUT_TERMIN1.Left = 343 + BUT_TERMIN1.Name = "BUT_TERMIN1" + BUT_TERMIN1.TabIndex = 3 + BUT_TERMIN1.Top = 1 + Gridsort1.Name = "Gridsort1" + But_renunt1.Name = "But_renunt1" + But_renunt1.TabIndex = 4 + * + + ADD OBJECT 'Clb_tx_simplu4' AS clb_tx_simplu WITH ; + Height = 29, ; + Left = 14, ; + Name = "Clb_tx_simplu4", ; + TabIndex = 2, ; + Top = 74, ; + Width = 348, ; + Text_simplu1.ControlSource = "porec.nota", ; + Text_simplu1.Height = 23, ; + Text_simplu1.Left = 101, ; + Text_simplu1.Name = "Text_simplu1", ; + Text_simplu1.Top = 3, ; + Text_simplu1.Width = 235, ; + Lb_simplu1.Caption = "Nota :", ; + Lb_simplu1.Name = "Lb_simplu1" + *< END OBJECT: ClassLib="lb_tx.vcx" BaseClass="container" /> + + ADD OBJECT 'Ct_clb_limba' AS ct_clb_cautare_var WITH ; + Anchor = 672, ; + cconditie = EMPTY(NVL(porec.id_limba,0)), ; + cprocedura = Thisform.do_cauta_limba, ; + cvar_afisata = porec.denumire, ; + Height = 31, ; + Left = 16, ; + Name = "Ct_clb_limba", ; + TabIndex = 16, ; + Top = 39, ; + Width = 356, ; + shape_cautare.BorderStyle = 0, ; + shape_cautare.Name = "shape_cautare", ; + img_cautare.Anchor = 672, ; + img_cautare.Left = 318, ; + img_cautare.Name = "img_cautare", ; + img_cautare.Top = 5, ; + lb_cautare.Caption = "Limba straina", ; + lb_cautare.Left = 4, ; + lb_cautare.Name = "lb_cautare", ; + lb_cautare.Top = 8, ; + tx_cautare.Anchor = 672, ; + tx_cautare.FontName = "Arial Narrow", ; + tx_cautare.Height = 23, ; + tx_cautare.Left = 100, ; + tx_cautare.Name = "tx_cautare", ; + tx_cautare.Top = 4, ; + tx_cautare.Width = 214 + *< END OBJECT: ClassLib="caut_ora.vcx" BaseClass="container" /> + + ADD OBJECT 'Cus_odata_limbi1' AS cus_odata_limbi WITH ; + Left = 63, ; + Name = "Cus_odata_limbi1", ; + Top = 38 + *< END OBJECT: ClassLib="opersonal.vcx" BaseClass="custom" /> + + PROCEDURE do_cauta_limba + LOCAL loCauta + SET STEP ON + loCauta = caut_limba(.T.) + If gnButon # 2 + porec.denumire = Alltrim(locauta.denumire) + porec.id_limba = locauta.id_limba + Thisform.clb_tx_simplu4.text_simplu1.Setfocus() + Endif + ENDPROC + + PROCEDURE inainte_de_do_termin + Local PLRETURN,lcActiune + + this.but_TERMIN1.SetFocus() + + lcActiune = this.cus_odata_limbi1.cactiune + + + + PLRETURN=This.cus_odata_limbi1.salvare(This.OREC,This.NID) + + + + Return PLRETURN + + + ENDPROC + + PROCEDURE Init + Lparameters toRec, tnId, tcActiune + + DoDefault() + + This.orec= toRec + This.nid = tnId + This.cus_odata_limbi1.cactiune = tcActiune + + + + *!* IF tcActiune = 'UPDATE' + + *!* SELECT v_limba + *!* LOCATE FOR id_LIMBA = toRec.id_LIMBA + *!* IF FOUND() + *!* this.cb_tx_simplu1._cbbase1.Value=torec.denumire + *!* this.cb_tx_simplu1._cbbase1.Refresh() + *!* ENDIF + + *!* ENDIF + ENDPROC + +ENDDEFINE + +DEFINE CLASS frm_lista_pers_vechime AS frm_termin OF "_frm_child.vcx" + *< CLASSDATA: Baseclass="form" Timestamp="" Scale="Pixels" Uniqueid="" /> + + *-- OBJECTDATA items order determines ZOrder / El orden de los items OBJECTDATA determina el ZOrder + *< OBJECTDATA: ObjPath="_grdrow1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="_grdrow1.Column1.Header1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="_grdrow1.Column1.Text1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="_grdrow1.Column2.Header1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="_grdrow1.Column2.Text1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="_grdrow1.Column3.Header1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="_grdrow1.Column3.Text1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="_grdrow1.Column4.Header1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="_grdrow1.Column4.Text1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="_grdrow1.Column5.Header1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="_grdrow1.Column5.Text1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="_grdrow1.Column6.Header1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="_grdrow1.Column6.Text1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="_grdrow1.Column7.Header1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="_grdrow1.Column7.Text1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="_grdrow1.Column8.Header1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="_grdrow1.Column8.Text1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="_grdrow1.Column9.Header1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="_grdrow1.Column9.Text1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="_grdrow1.Column10.Header1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="_grdrow1.Column10.Text1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="_grdrow1.cLuna.Header1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="_grdrow1.cLuna.Text1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="_grdrow1.cAn.Header1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="_grdrow1.cAn.Text1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="But_start_criterii1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="But_reset_criterii1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="But_listare1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="But_excel1" UniqueID="" Timestamp="" /> + + * + *p: nan + * + + * + BorderStyle = 3 + DoCreate = .T. + Height = 532 + Name = "frm_lista_pers_vechime" + nan = .F. + Width = 796 + WindowState = 2 + _shape1.Anchor = 10 + _shape1.Height = 29 + _shape1.Left = 0 + _shape1.Name = "_shape1" + _shape1.Top = 0 + _shape1.Width = 804 + _shape2.Left = 662 + _shape2.Name = "_shape2" + _shape2.Top = 0 + Lb_titlu_alb_b121.Caption = "Lista cu angajatii care schimba coeficientul de vechime in luna curenta" + Lb_titlu_alb_b121.Name = "Lb_titlu_alb_b121" + BUT_TERMIN1.Anchor = 9 + BUT_TERMIN1.Left = 764 + BUT_TERMIN1.Name = "BUT_TERMIN1" + BUT_TERMIN1.Top = 1 + Gridsort1.Name = "Gridsort1" + * + + ADD OBJECT '_grdrow1' AS _grdrow WITH ; + Anchor = 15, ; + ColumnCount = 12, ; + DeleteMark = .F., ; + Height = 468, ; + Left = 12, ; + Name = "_grdrow1", ; + Panel = 1, ; + RecordSource = "salVechiSchimb", ; + Top = 60, ; + Width = 768, ; + Column1.ControlSource = "nume", ; + Column1.Name = "Column1", ; + Column1.Width = 109, ; + Column2.ControlSource = "Prenume", ; + Column2.Name = "Column2", ; + Column2.Width = 113, ; + Column3.ControlSource = "marca", ; + Column3.Name = "Column3", ; + Column3.Width = 61, ; + Column4.ControlSource = "meseria", ; + Column4.Name = "Column4", ; + Column4.Width = 80, ; + Column5.ControlSource = "formatia", ; + Column5.Name = "Column5", ; + Column5.Width = 97, ; + Column6.ControlSource = "sectia", ; + Column6.Name = "Column6", ; + Column6.Width = 94, ; + Column7.ControlSource = "vechime", ; + Column7.Name = "Column7", ; + Column7.Width = 83, ; + Column8.ControlSource = 'ALLTRIM(STR(INT(vechime/12)))+"+"+ALLTRIM(STR(MOD(vechime,12)))', ; + Column8.Name = "Column8", ; + Column9.ControlSource = "c_vechime", ; + Column9.InputMask = "9.9999", ; + Column9.Name = "Column9", ; + Column9.Width = 102, ; + Column10.ControlSource = "c_vechimea", ; + Column10.InputMask = "9.999", ; + Column10.Name = "Column10", ; + Column10.Width = 125, ; + Column11.InputMask = "99", ; + Column11.Name = "cLuna", ; + Column11.Visible = .T., ; + Column11.Width = 32, ; + Column12.Name = "cAn", ; + Column12.Width = 46 + *< END OBJECT: ClassLib="_grd_base.vcx" BaseClass="grid" /> + + ADD OBJECT '_grdrow1.cAn.Header1' AS header WITH ; + Caption = "An", ; + Name = "Header1" + *< END OBJECT: BaseClass="header" /> + + ADD OBJECT '_grdrow1.cAn.Text1' AS textbox WITH ; + BackColor = 255,255,255, ; + BorderStyle = 0, ; + ForeColor = 0,0,0, ; + Margin = 0, ; + Name = "Text1", ; + SelectedBackColor = 100,185,255 + *< END OBJECT: BaseClass="textbox" /> + + ADD OBJECT '_grdrow1.cLuna.Header1' AS header WITH ; + Caption = "Luna", ; + Name = "Header1" + *< END OBJECT: BaseClass="header" /> + + ADD OBJECT '_grdrow1.cLuna.Text1' AS textbox WITH ; + BackColor = 255,255,255, ; + BorderStyle = 0, ; + ForeColor = 0,0,0, ; + Margin = 0, ; + Name = "Text1", ; + SelectedBackColor = 100,185,255, ; + Visible = .T. + *< END OBJECT: BaseClass="textbox" /> + + ADD OBJECT '_grdrow1.Column1.Header1' AS header WITH ; + Caption = "Nume", ; + Name = "Header1" + *< END OBJECT: BaseClass="header" /> + + ADD OBJECT '_grdrow1.Column1.Text1' AS textbox WITH ; + BackColor = 255,255,255, ; + BorderStyle = 0, ; + ForeColor = 0,0,0, ; + Margin = 0, ; + Name = "Text1", ; + SelectedBackColor = 100,185,255 + *< END OBJECT: BaseClass="textbox" /> + + ADD OBJECT '_grdrow1.Column10.Header1' AS header WITH ; + Caption = "Coef. sp. vechime ant.", ; + Name = "Header1" + *< END OBJECT: BaseClass="header" /> + + ADD OBJECT '_grdrow1.Column10.Text1' AS textbox WITH ; + BackColor = 255,255,255, ; + BorderStyle = 0, ; + ForeColor = 0,0,0, ; + Margin = 0, ; + Name = "Text1", ; + SelectedBackColor = 100,185,255 + *< END OBJECT: BaseClass="textbox" /> + + ADD OBJECT '_grdrow1.Column2.Header1' AS header WITH ; + Caption = "Prenume", ; + Name = "Header1" + *< END OBJECT: BaseClass="header" /> + + ADD OBJECT '_grdrow1.Column2.Text1' AS textbox WITH ; + BackColor = 255,255,255, ; + BorderStyle = 0, ; + ForeColor = 0,0,0, ; + Margin = 0, ; + Name = "Text1", ; + SelectedBackColor = 100,185,255 + *< END OBJECT: BaseClass="textbox" /> + + ADD OBJECT '_grdrow1.Column3.Header1' AS header WITH ; + Caption = "Marca", ; + Name = "Header1" + *< END OBJECT: BaseClass="header" /> + + ADD OBJECT '_grdrow1.Column3.Text1' AS textbox WITH ; + BackColor = 255,255,255, ; + BorderStyle = 0, ; + ForeColor = 0,0,0, ; + Margin = 0, ; + Name = "Text1", ; + SelectedBackColor = 100,185,255 + *< END OBJECT: BaseClass="textbox" /> + + ADD OBJECT '_grdrow1.Column4.Header1' AS header WITH ; + Caption = "Meseria", ; + Name = "Header1" + *< END OBJECT: BaseClass="header" /> + + ADD OBJECT '_grdrow1.Column4.Text1' AS textbox WITH ; + BackColor = 255,255,255, ; + BorderStyle = 0, ; + ForeColor = 0,0,0, ; + Margin = 0, ; + Name = "Text1", ; + SelectedBackColor = 100,185,255 + *< END OBJECT: BaseClass="textbox" /> + + ADD OBJECT '_grdrow1.Column5.Header1' AS header WITH ; + Caption = "Formatia", ; + Name = "Header1" + *< END OBJECT: BaseClass="header" /> + + ADD OBJECT '_grdrow1.Column5.Text1' AS textbox WITH ; + BackColor = 255,255,255, ; + BorderStyle = 0, ; + ForeColor = 0,0,0, ; + Margin = 0, ; + Name = "Text1", ; + SelectedBackColor = 100,185,255 + *< END OBJECT: BaseClass="textbox" /> + + ADD OBJECT '_grdrow1.Column6.Header1' AS header WITH ; + Caption = "Sectia", ; + Name = "Header1" + *< END OBJECT: BaseClass="header" /> + + ADD OBJECT '_grdrow1.Column6.Text1' AS textbox WITH ; + BackColor = 255,255,255, ; + BorderStyle = 0, ; + ForeColor = 0,0,0, ; + Margin = 0, ; + Name = "Text1", ; + SelectedBackColor = 100,185,255 + *< END OBJECT: BaseClass="textbox" /> + + ADD OBJECT '_grdrow1.Column7.Header1' AS header WITH ; + Caption = "Vechime (luni)", ; + Name = "Header1" + *< END OBJECT: BaseClass="header" /> + + ADD OBJECT '_grdrow1.Column7.Text1' AS textbox WITH ; + BackColor = 255,255,255, ; + BorderStyle = 0, ; + ForeColor = 0,0,0, ; + Margin = 0, ; + Name = "Text1", ; + SelectedBackColor = 100,185,255 + *< END OBJECT: BaseClass="textbox" /> + + ADD OBJECT '_grdrow1.Column8.Header1' AS header WITH ; + Caption = "Vechime", ; + Name = "Header1" + *< END OBJECT: BaseClass="header" /> + + ADD OBJECT '_grdrow1.Column8.Text1' AS textbox WITH ; + BackColor = 255,255,255, ; + BorderStyle = 0, ; + ForeColor = 0,0,0, ; + Margin = 0, ; + Name = "Text1", ; + SelectedBackColor = 100,185,255 + *< END OBJECT: BaseClass="textbox" /> + + ADD OBJECT '_grdrow1.Column9.Header1' AS header WITH ; + Caption = "Coef. sp. vechime", ; + Name = "Header1" + *< END OBJECT: BaseClass="header" /> + + ADD OBJECT '_grdrow1.Column9.Text1' AS textbox WITH ; + BackColor = 255,255,255, ; + BorderStyle = 0, ; + ForeColor = 0,0,0, ; + Margin = 0, ; + Name = "Text1", ; + SelectedBackColor = 100,185,255 + *< END OBJECT: BaseClass="textbox" /> + + ADD OBJECT 'But_excel1' AS but_excel WITH ; + Anchor = 9, ; + caction = do_excel, ; + Left = 706, ; + Name = "But_excel1", ; + Top = 0, ; + Visible = .T. + *< END OBJECT: ClassLib="cmd_butoane.vcx" BaseClass="commandbutton" /> + + ADD OBJECT 'But_listare1' AS but_listare WITH ; + Anchor = 9, ; + caction = do_listare, ; + Left = 735, ; + Name = "But_listare1", ; + Top = 0, ; + Visible = .T. + *< END OBJECT: ClassLib="cmd_butoane.vcx" BaseClass="commandbutton" /> + + ADD OBJECT 'But_reset_criterii1' AS but_reset_criterii WITH ; + Anchor = 9, ; + Left = 644, ; + Name = "But_reset_criterii1", ; + Top = 1 + *< END OBJECT: ClassLib="ocriterii.vcx" BaseClass="commandbutton" /> + + ADD OBJECT 'But_start_criterii1' AS but_start_criterii WITH ; + Anchor = 9, ; + Left = 676, ; + Name = "But_start_criterii1", ; + Top = 0 + *< END OBJECT: ClassLib="ocriterii.vcx" BaseClass="commandbutton" /> + + PROCEDURE actualizeaza_grid1 + Lparameters tcFiltru + Local lcFiltru + If Empty(tcFiltru) + lcFiltru = poSpvechi.ca_baza1.cfiltru + Else + lcFiltru = tcFiltru + Endif + + Thisform.MousePointer= 11 + Thisform.LockScreen=.T. + save_grid_tag(Thisform._grdrow1) + + + poSpvechi.ca_baza1.cfiltru=lcFiltru + poSpvechi.ca_baza1.afisare() + restore_grid_tag(Thisform._grdrow1) + + Thisform.LockScreen=.F. + Thisform.MousePointer= 0 + ENDPROC + + PROCEDURE do_cauta + LOCAL lcFiltru + lcFiltru = poSpvechi.ca_baza1.cfiltru + IF LEN(THISFORM.filtru_pretty)>0 + filtrutext=THISFORM.filtru_pretty + IF AT("AND",filtrutext)=1 + filtrutext=RIGHT(filtrutext,LEN(filtrutext)-4) + ENDIF + + lcFiltru=lcFiltru+" and ("+ALLTRIM(filtrutext)+")" + ENDIF + + IF (THIS.filtru_pretty#"none") + THISFORM.actualizeaza_grid1(lcFiltru) + IF RECCOUNT('salVechiSchimb')=0 + aMessagebox("Cautarea nu a intors rezultate!",0+48,"Info cautare") + ENDIF + ENDIF + THISFORM.but_start_criterii1.SETFOCUS + + ENDPROC + + PROCEDURE do_excel + + IF this.nan + ** coef de vechime schimbati in an + SELECT salvechischimb + + SELECT nume,prenume,marca,meseria,formatia,vechime,ALLTRIM(STR(INT(vechime/12)))+"+"+ALLTRIM(STR(MOD(vechime,12))) as vechimel,; + c_vechime,c_vechimea,lunaschimb FROM salvechischimb INTO CURSOR crsExcel ORDER BY nume + goExport.export2xls('crsExcel',[foaie_excel]) + + + ELSE + ** coef de vechime schimbati in luna + SELECT salvechischimb + + SELECT nume,prenume,marca,meseria,formatia,vechime,ALLTRIM(STR(INT(vechime/12)))+"+"+ALLTRIM(STR(MOD(vechime,12))) as vechimel,; + c_vechime,c_vechimea FROM salvechischimb INTO CURSOR crsExcel ORDER BY nume + goExport.export2xls('crsExcel',[foaie_excel]) + ENDIF + USE IN crsExcel + ENDPROC + + PROCEDURE do_listare + THISFORM.ALWAYSONTOP=.F. + IF this.nan + ** coef de vechime schimbati in an + SELECT salvechischimb + INDEX ON formatia TO formatia_index.idx ascending + REPORT FORM list_vechime_an TO PRINTER PROMPT PREVIEW + ELSE + ** coef de vechime schimbati in luna + SELECT salvechischimb + INDEX ON formatia TO formatia_index.idx ascending + REPORT FORM list_pers_vechime_modif TO PRINTER PROMPT PREVIEW + ENDIF + THISFORM.ALWAYSONTOP=.T. + ENDPROC + + PROCEDURE But_start_criterii1.loadcriterii + PARAMETERS tacriterii + EXTERNAL ARRAY tacriterii + #DEFINE crlf CHR(13)+CHR(10) + + lcStringCriterii="Marca\marca\N\none\"+crlf+; + "Nume\nume\T\none\"+crlf+; + "Formatia\formatia\T\none\" + crlf + ; + "Meseria\meseria\T\none\" + crlf + ; + "Sectia\sectia\T\ID_SECTIE\nom_sectie" + crlf + ; + "Vechime (luni) \vechime\N\none\" + crlf + ; + "Coef. spor vechime\c_vechime\N\none\" + crlf + ; + "Coef. spor vechime anterior\c_vechimea\N\none\" + + *!* + *!* "Serie act\serie_act\T\none\"+ crlf + ; + *!* "Data act\dataact\D\none\" + crlf + ; + *!* "Data inreg\dataIREG\D\none\" + crlf + ; + *!* "Tip document\fdoc\T\id_fdoc\nom_feldoc"+ crlf + ; + *!* "Numar document\NRACT\N\none\" + crlf + ; + *!* "Explicatie D\partD\T\ID_PARTD\nom_parteneri"+ crlf + ; + *!* "Explicatie C\partC\T\ID_PARTC\nom_parteneri"+ crlf + ; + *!* "Explicatie\explicatia\T\none\"+ crlf + ; + *!* "Explicatia 4\explicatia4\T\none\"+ crlf + ; + *!* "Explicatia 5\explicatia5\T\none\"+ crlf + ; + *!* "Explicatii\partD,partC,explicatia,explicatia4,explicatia5\T\none\"+ crlf + ; + *!* "Gestiune destinatie\gestin\T\ID_GESTIN\nom_gestiune"+ crlf + ; + *!* "Gestiune sursa\gestout\T\ID_GESTOUT\nom_gestiune" + crlf + ; + *!* "Lucrare/Comanda\nrord\T\ID_LUCRARE\nom_lucrare" + crlf + ; + *!* "Contract\contract\T\none\" + crlf + ; + *!* "Cont debitor\scd\T\none\" + crlf + ; + *!* "Cont debitor analitic\ascd\T\none\" + crlf + ; + *!* "Cont creditor\scc\T\none\" + crlf + ; + *!* "Cont creditor analitic\ascc\T\none\" + crlf + ; + *!* "Suma\suma\N\none\" + crlf + ; + *!* "Suma valuta\suma_val\N\none\" + crlf + ; + *!* "Nr document incasat\perecheC\N\none\" + crlf + ; + *!* "Nr document platit\perecheD\N\none\" + crlf + ; + *!* "Nr. NIR/bon\nnir\N\none\" + crlf + ; + *!* "Responsabil\nresp\T\ID_RESPONSABIL\nom_parteneri" + crlf + ; + *!* "Cheltuieli/Venituri\dst_chlt\T\ ID_VENCHELT\nom_venchel" + crlf + ; + *!* "Sectie\sectie\T\ID_SECTIE\nom_sectie" + crlf + ; + *!* "Cod\cod\N\none\" + crlf + ; + *!* "Tip operatie\id_set\N\none\" + crlf + ; + *!* "Valuta\nume_val\T\ID_VALUTA\nom_valuta" + crlf + ; + *!* "Sucursala\sucursala\T\ID_SUCURSALA\nom_sucursala" + crlf + ; + *!* "Cota TVA\proc_tva\N\none\" + crlf + ; + *!* "Explicatie TVA\explicatie_tva\T\none\" + crlf + ; + *!* "Data introducerii\trunc(dataora)\D\none\" + crlf + ; + *!* "Operator introducere\util\T\ID_UTIL\nom_utilizator" + crlf + ; + *!* "Validate\nofiled\E\(validat = 1)\" + crlf + ; + *!* "Nevalidate\nofiled\E\(validat = 0)\" + crlf + ; + *!* "Data validarii\trunc(dataorav)\D\none\" + crlf + ; + *!* "Operator validare\utilv\T\ID_UTILv\nom_utilizator" + + DODEFAULT() + + ENDPROC + +ENDDEFINE + +DEFINE CLASS frm_locmunca_reg AS formtermin OF "_frm_base.vcx" + *< CLASSDATA: Baseclass="form" Timestamp="" Scale="Pixels" Uniqueid="" /> + + *-- OBJECTDATA items order determines ZOrder / El orden de los items OBJECTDATA determina el ZOrder + *< OBJECTDATA: ObjPath="Clb_tx_simplu1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="Clb_tx_simplu2" UniqueID="" Timestamp="" /> + + * + *p: id_modlic + * + + * + BorderStyle = 1 + DoCreate = .T. + Height = 117 + id_modlic = 1 + Name = "frm_locmunca_reg" + Width = 498 + _shape1.Height = 29 + _shape1.Left = 0 + _shape1.Name = "_shape1" + _shape1.Top = 0 + _shape1.Width = 527 + _shape2.Height = 29 + _shape2.Left = 461 + _shape2.Name = "_shape2" + _shape2.Top = 0 + _shape2.Width = 34 + Lb_titlu_alb_b121.Caption = "Modificare loc de munca / Transfer la alta entitate a angajatorului" + Lb_titlu_alb_b121.Name = "Lb_titlu_alb_b121" + BUT_TERMIN1.Left = 464 + BUT_TERMIN1.Name = "BUT_TERMIN1" + BUT_TERMIN1.Top = 1 + Gridsort1.Name = "Gridsort1" + * + + ADD OBJECT 'Clb_tx_simplu1' AS clb_tx_simplu WITH ; + Height = 29, ; + Left = 12, ; + Name = "Clb_tx_simplu1", ; + Top = 80, ; + Width = 291, ; + Text_simplu1.ControlSource = "pcDataRegistru", ; + Text_simplu1.Height = 23, ; + Text_simplu1.Left = 215, ; + Text_simplu1.Name = "Text_simplu1", ; + Text_simplu1.Top = 3, ; + Text_simplu1.Width = 73, ; + Lb_simplu1.Caption = "Data la care se produce modificarea", ; + Lb_simplu1.Name = "Lb_simplu1" + *< END OBJECT: ClassLib="lb_tx.vcx" BaseClass="container" /> + + ADD OBJECT 'Clb_tx_simplu2' AS clb_tx_simplu WITH ; + Height = 29, ; + Left = 12, ; + Name = "Clb_tx_simplu2", ; + Top = 48, ; + Width = 455, ; + Text_simplu1.ControlSource = "pcExpReg", ; + Text_simplu1.Height = 23, ; + Text_simplu1.Left = 167, ; + Text_simplu1.Name = "Text_simplu1", ; + Text_simplu1.Top = 3, ; + Text_simplu1.Width = 284, ; + Lb_simplu1.Caption = "Denumire entitate angajator", ; + Lb_simplu1.Name = "Lb_simplu1" + *< END OBJECT: ClassLib="lb_tx.vcx" BaseClass="container" /> + + PROCEDURE inainte_de_do_termin + IF EMPTY(pcexpreg) + MESSAGEBOX('Completati denumirea entitatii!') + RETURN .f. + ENDIF + IF EMPTY(pcDataRegistru) + MESSAGEBOX('Completati data modificarii!') + RETURN .f. + ENDIF + + ENDPROC + +ENDDEFINE + +DEFINE CLASS frm_modificari_reg AS formtermin OF "_frm_base.vcx" + *< CLASSDATA: Baseclass="form" Timestamp="" Scale="Pixels" Uniqueid="" /> + + *-- OBJECTDATA items order determines ZOrder / El orden de los items OBJECTDATA determina el ZOrder + *< OBJECTDATA: ObjPath="Cb_tx_simplu1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="_editbox1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="Lb_simplu1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="Clb_tx_simplu1" UniqueID="" Timestamp="" /> + + * + *p: id_modlic + * + + * + BorderStyle = 1 + DoCreate = .T. + Height = 211 + id_modlic = 1 + Name = "frm_modificari_reg" + Width = 498 + _shape1.Height = 29 + _shape1.Left = 0 + _shape1.Name = "_shape1" + _shape1.Top = 0 + _shape1.Width = 527 + _shape2.Height = 29 + _shape2.Left = 461 + _shape2.Name = "_shape2" + _shape2.Top = 0 + _shape2.Width = 34 + Lb_titlu_alb_b121.Caption = "Modificare Functie ( Meserie )" + Lb_titlu_alb_b121.Name = "Lb_titlu_alb_b121" + BUT_TERMIN1.Left = 464 + BUT_TERMIN1.Name = "BUT_TERMIN1" + BUT_TERMIN1.Top = 1 + Gridsort1.Name = "Gridsort1" + * + + ADD OBJECT '_editbox1' AS _editbox WITH ; + ControlSource = "pcexpReg", ; + Height = 82, ; + Left = 12, ; + Name = "_editbox1", ; + Top = 86, ; + Width = 480 + *< END OBJECT: ClassLib="_baza.vcx" BaseClass="editbox" /> + + ADD OBJECT 'Cb_tx_simplu1' AS cb_tx_simplu WITH ; + Height = 29, ; + Left = 12, ; + Name = "Cb_tx_simplu1", ; + Top = 36, ; + Width = 480, ; + _cbbase1.FirstElement = 1, ; + _cbbase1.Height = 23, ; + _cbbase1.Left = 152, ; + _cbbase1.Name = "_cbbase1", ; + _cbbase1.RowSource = "crsModLic.modlic", ; + _cbbase1.RowSourceType = 2, ; + _cbbase1.Top = 3, ; + _cbbase1.Width = 321, ; + _lbbase1.Caption = "Motiv modificare contract", ; + _lbbase1.Name = "_lbbase1" + *< END OBJECT: ClassLib="lb_tx.vcx" BaseClass="container" /> + + ADD OBJECT 'Clb_tx_simplu1' AS clb_tx_simplu WITH ; + Height = 29, ; + Left = 12, ; + Name = "Clb_tx_simplu1", ; + Top = 173, ; + Width = 291, ; + Text_simplu1.ControlSource = "pcDataRegistru", ; + Text_simplu1.Height = 23, ; + Text_simplu1.Left = 215, ; + Text_simplu1.Name = "Text_simplu1", ; + Text_simplu1.Top = 3, ; + Text_simplu1.Width = 73, ; + Lb_simplu1.Caption = "Data la care se produce modificarea", ; + Lb_simplu1.Name = "Lb_simplu1" + *< END OBJECT: ClassLib="lb_tx.vcx" BaseClass="container" /> + + ADD OBJECT 'Lb_simplu1' AS lb_simplu WITH ; + Caption = "Explicatie Motiv Modificare", ; + Left = 12, ; + Name = "Lb_simplu1", ; + Top = 68 + *< END OBJECT: ClassLib="lb.vcx" BaseClass="label" /> + + PROCEDURE inainte_de_do_termin + IF EMPTY(pnIdModLic) + aMESSAGEBOX('Alegeti un motiv!',48,"Atentie") + RETURN .f. + ENDIF + IF EMPTY(pcDataRegistru) + aMESSAGEBOX('Completati data modificarii!',48,"Atentie") + RETURN .f. + ENDIF + + ENDPROC + + PROCEDURE Cb_tx_simplu1._cbbase1.InteractiveChange + pnIdModLic=id_modlic + ENDPROC + +ENDDEFINE + +DEFINE CLASS frm_modificari_salarii AS _frmbase OF "_frm_base.vcx" + *< CLASSDATA: Baseclass="form" Timestamp="" Scale="Pixels" Uniqueid="" /> + + *-- OBJECTDATA items order determines ZOrder / El orden de los items OBJECTDATA determina el ZOrder + *< OBJECTDATA: ObjPath="BUT_RENUNT1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="grd_tarifare" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="grd_tarifare.cNume.Header1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="grd_tarifare.cNume.Text1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="grd_tarifare.cPrenume.Header1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="grd_tarifare.cPrenume.Text1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="grd_tarifare.cMeseria.Header1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="grd_tarifare.cMeseria.Text1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="grd_tarifare.cFormatia.Header1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="grd_tarifare.cFormatia.Text1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="grd_tarifare.cSectie.Header1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="grd_tarifare.cSectie.Text1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="grd_tarifare.cTarifar.Header1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="grd_tarifare.cTarifar.Text1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="grd_tarifare.cCodpers.Header1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="grd_tarifare.cCodpers.Text1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="grd_tarifare.cTarifar_nou.Header1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="grd_tarifare.cTarifar_nou.Text1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="Clb_tx_simplu1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="Cmd_executa1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="Gridextra1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="But_listare1" UniqueID="" Timestamp="" /> + + * + DoCreate = .T. + Height = 477 + Name = "frm_modificari_salarii" + Width = 974 + WindowState = 2 + _shape1.Anchor = 10 + _shape1.Height = 29 + _shape1.Left = 2 + _shape1.Name = "_shape1" + _shape1.Top = 0 + _shape1.Width = 972 + _shape2.Anchor = 9 + _shape2.Height = 29 + _shape2.Left = 902 + _shape2.Name = "_shape2" + _shape2.Top = 0 + _shape2.Width = 73 + Lb_titlu_alb_b121.Caption = "Modificare tarifar" + Lb_titlu_alb_b121.Name = "Lb_titlu_alb_b121" + Lb_titlu_alb_b121.TabIndex = 5 + BUT_TERMIN1.Anchor = 9 + BUT_TERMIN1.Left = 942 + BUT_TERMIN1.Name = "BUT_TERMIN1" + BUT_TERMIN1.TabIndex = 3 + BUT_TERMIN1.Top = 1 + Gridsort1.Name = "Gridsort1" + * + + ADD OBJECT 'But_listare1' AS but_listare WITH ; + Anchor = 9, ; + caction = do_listare, ; + Left = 828, ; + Name = "But_listare1", ; + ToolTipText = "Listare decizie colectiva (CTRL+P)", ; + Top = 0, ; + Visible = .T. + *< END OBJECT: ClassLib="cmd_butoane.vcx" BaseClass="commandbutton" /> + + ADD OBJECT 'BUT_RENUNT1' AS but_renunt WITH ; + Anchor = 9, ; + Left = 907, ; + Name = "BUT_RENUNT1", ; + TabIndex = 4, ; + Top = 1 + *< END OBJECT: ClassLib="cmd_butoane.vcx" BaseClass="commandbutton" /> + + ADD OBJECT 'Clb_tx_simplu1' AS clb_tx_simplu WITH ; + Anchor = 9, ; + Left = 564, ; + Name = "Clb_tx_simplu1", ; + TabIndex = 1, ; + Top = 36, ; + Text_simplu1.Alignment = 3, ; + Text_simplu1.InputMask = (get_mask(9,0)), ; + Text_simplu1.Name = "Text_simplu1", ; + Text_simplu1.Value = 0, ; + Lb_simplu1.Caption = "Tarifar nou", ; + Lb_simplu1.Name = "Lb_simplu1" + *< END OBJECT: ClassLib="lb_tx.vcx" BaseClass="container" /> + + ADD OBJECT 'Cmd_executa1' AS cmd_executa WITH ; + Anchor = 9, ; + Caption = "\ + + ADD OBJECT 'grd_tarifare' AS _grdrow WITH ; + Anchor = 15, ; + ColumnCount = 8, ; + DeleteMark = .F., ; + FontName = "Arial Narrow", ; + Height = 396, ; + Left = 12, ; + Name = "grd_tarifare", ; + Panel = 1, ; + RecordSource = "crsmoditarifar", ; + TabIndex = 6, ; + Top = 72, ; + Width = 948, ; + Column1.ControlSource = "nume", ; + Column1.FontName = "Arial Narrow", ; + Column1.Name = "cNume", ; + Column1.Width = 128, ; + Column2.ControlSource = "prenume", ; + Column2.FontName = "Arial Narrow", ; + Column2.Name = "cPrenume", ; + Column2.Width = 142, ; + Column3.ColumnOrder = 4, ; + Column3.ControlSource = "meseria", ; + Column3.FontName = "Arial Narrow", ; + Column3.Name = "cMeseria", ; + Column3.Width = 130, ; + Column4.ColumnOrder = 5, ; + Column4.ControlSource = "formatia", ; + Column4.FontName = "Arial Narrow", ; + Column4.Name = "cFormatia", ; + Column4.Width = 130, ; + Column5.ColumnOrder = 6, ; + Column5.ControlSource = "sectie", ; + Column5.FontName = "Arial Narrow", ; + Column5.Name = "cSectie", ; + Column5.Width = 143, ; + Column6.ColumnOrder = 7, ; + Column6.ControlSource = "tarifar", ; + Column6.FontName = "Arial Narrow", ; + Column6.InputMask = (get_mask(9,0)), ; + Column6.Name = "cTarifar", ; + Column6.Width = 72, ; + Column7.ColumnOrder = 3, ; + Column7.ControlSource = "codpers", ; + Column7.FontName = "Arial Narrow", ; + Column7.Name = "cCodpers", ; + Column7.Width = 98, ; + Column8.ControlSource = "tarifar_nou", ; + Column8.FontName = "Arial Narrow", ; + Column8.InputMask = (get_mask(9,0)), ; + Column8.Name = "cTarifar_nou", ; + Column8.Width = 65 + *< END OBJECT: ClassLib="_grd_base.vcx" BaseClass="grid" /> + + ADD OBJECT 'grd_tarifare.cCodpers.Header1' AS header WITH ; + Alignment = 2, ; + Caption = "CNP", ; + FontName = "Arial Narrow", ; + Name = "Header1" + *< END OBJECT: BaseClass="header" /> + + ADD OBJECT 'grd_tarifare.cCodpers.Text1' AS textbox WITH ; + BackColor = 255,255,255, ; + BorderStyle = 0, ; + FontName = "Arial Narrow", ; + ForeColor = 0,0,0, ; + Margin = 0, ; + Name = "Text1" + *< END OBJECT: BaseClass="textbox" /> + + ADD OBJECT 'grd_tarifare.cFormatia.Header1' AS header WITH ; + Alignment = 2, ; + Caption = "Formatie", ; + FontName = "Arial Narrow", ; + Name = "Header1" + *< END OBJECT: BaseClass="header" /> + + ADD OBJECT 'grd_tarifare.cFormatia.Text1' AS textbox WITH ; + BackColor = 255,255,255, ; + BorderStyle = 0, ; + FontName = "Arial Narrow", ; + ForeColor = 0,0,0, ; + Margin = 0, ; + Name = "Text1" + *< END OBJECT: BaseClass="textbox" /> + + ADD OBJECT 'grd_tarifare.cMeseria.Header1' AS header WITH ; + Alignment = 2, ; + Caption = "Meserie", ; + FontName = "Arial Narrow", ; + Name = "Header1" + *< END OBJECT: BaseClass="header" /> + + ADD OBJECT 'grd_tarifare.cMeseria.Text1' AS textbox WITH ; + BackColor = 255,255,255, ; + BorderStyle = 0, ; + FontName = "Arial Narrow", ; + ForeColor = 0,0,0, ; + Margin = 0, ; + Name = "Text1" + *< END OBJECT: BaseClass="textbox" /> + + ADD OBJECT 'grd_tarifare.cNume.Header1' AS header WITH ; + Alignment = 2, ; + Caption = "Nume", ; + FontName = "Arial Narrow", ; + Name = "Header1" + *< END OBJECT: BaseClass="header" /> + + ADD OBJECT 'grd_tarifare.cNume.Text1' AS textbox WITH ; + BackColor = 255,255,255, ; + BorderStyle = 0, ; + FontName = "Arial Narrow", ; + ForeColor = 0,0,0, ; + Margin = 0, ; + Name = "Text1" + *< END OBJECT: BaseClass="textbox" /> + + ADD OBJECT 'grd_tarifare.cPrenume.Header1' AS header WITH ; + Alignment = 2, ; + Caption = "Prenume", ; + FontName = "Arial Narrow", ; + Name = "Header1" + *< END OBJECT: BaseClass="header" /> + + ADD OBJECT 'grd_tarifare.cPrenume.Text1' AS textbox WITH ; + BackColor = 255,255,255, ; + BorderStyle = 0, ; + FontName = "Arial Narrow", ; + ForeColor = 0,0,0, ; + Margin = 0, ; + Name = "Text1" + *< END OBJECT: BaseClass="textbox" /> + + ADD OBJECT 'grd_tarifare.cSectie.Header1' AS header WITH ; + Alignment = 2, ; + Caption = "Sectie", ; + FontName = "Arial Narrow", ; + Name = "Header1" + *< END OBJECT: BaseClass="header" /> + + ADD OBJECT 'grd_tarifare.cSectie.Text1' AS textbox WITH ; + BackColor = 255,255,255, ; + BorderStyle = 0, ; + FontName = "Arial Narrow", ; + ForeColor = 0,0,0, ; + Margin = 0, ; + Name = "Text1" + *< END OBJECT: BaseClass="textbox" /> + + ADD OBJECT 'grd_tarifare.cTarifar.Header1' AS header WITH ; + Alignment = 2, ; + Caption = "Tarifar actual", ; + FontName = "Arial Narrow", ; + Name = "Header1" + *< END OBJECT: BaseClass="header" /> + + ADD OBJECT 'grd_tarifare.cTarifar.Text1' AS textbox WITH ; + BackColor = 255,255,255, ; + BorderStyle = 0, ; + FontName = "Arial Narrow", ; + ForeColor = 0,0,0, ; + Margin = 0, ; + Name = "Text1" + *< END OBJECT: BaseClass="textbox" /> + + ADD OBJECT 'grd_tarifare.cTarifar_nou.Header1' AS header WITH ; + Alignment = 2, ; + Caption = "Tarifar nou", ; + FontName = "Arial Narrow", ; + Name = "Header1" + *< END OBJECT: BaseClass="header" /> + + ADD OBJECT 'grd_tarifare.cTarifar_nou.Text1' AS textbox WITH ; + BackColor = 255,255,255, ; + BorderStyle = 0, ; + FontName = "Arial Narrow", ; + ForeColor = 0,0,0, ; + Margin = 0, ; + Name = "Text1", ; + ReadOnly = .F. + *< END OBJECT: BaseClass="textbox" /> + + ADD OBJECT 'Gridextra1' AS gridextra WITH ; + gridexpression = Thisform.grd_tarifare, ; + Left = 144, ; + Name = "Gridextra1", ; + Top = 12 + *< END OBJECT: ClassLib="..\utile\gridextras\gridextras.vcx" BaseClass="custom" /> + + PROCEDURE do_executa + Select (Thisform.grd_tarifare.RecordSource) + Replace tarifar_nou With Thisform.clb_tx_simplu1.text_simplu1.Value ALL + ENDPROC + + PROCEDURE do_listare + loRec = template_citeste(-7) + template_completeaza(loRec,'deciziecolectiva',0,'') + ENDPROC + + PROCEDURE inainte_de_do_termin + Private poPers + Local lcCursor, llReturn, loFrm + lcCursor = Thisform.grd_tarifare.RecordSource + Select (lcCursor) + Scatter Name loRec + AddProperty(loRec,"tip_modificare",3) + AddProperty(loRec,"dataconsemnare",{}) + *!* modificare ROARES 2.1.0 + AddProperty(loRec,"dataactmodif",DATE()) + AddProperty(loRec,"tipactmodif",'ACT ADITIONAL') + AddProperty(loRec,"id_tipact",3) + AddProperty(loRec,"nractmodif",-100) + poPers = loRec + If gnScrieRegistru = 1 + loFrm = Createobject("frm_salvare_opersonal",.T.) + loFrm.Show(1) + Else + gnButon = 1 + poPers.tip_modificare = 1 + poPers.dataconsemnare = Null + Endif + If gnButon = 1 + llReturn = .T. + If Thisform.do_deschide_tranzactie() + Select (lcCursor) + Set Filter To + Scan For tarifar <> tarifar_nou + Scatter Name loTarifar + lcSql = [begin pack_personal.actualizeaza_tarifar(?gnLuna,?gnAn,] + Alltrim(Str(loTarifar.id_sal_ctr)) + [,] + ; + ALLTRIM(Str(loTarifar.tarifar_nou,14,0)) + [,] + Alltrim(Str(loRec.tip_modificare)) + [,] + ; + [to_date('] + Nvl(Alltrim(Dtoc(loRec.dataconsemnare,1)),"") + [','YYYYMMDD'),?gnIdUtil); end;] + If !goExecutor.oExecuta(lcSql) + llReturn = .F. + Exit + Endif + Select (lcCursor) + Endscan + *!* tranzactie automata + Thisform.do_inchide_tranzactie(Iif(llReturn,1,2)) + Else + llReturn = .F. + Endif + Else + llReturn = .F. + Endif + Release lcCursor, loFrm, poPers + Return llReturn + ENDPROC + + PROCEDURE Init + DoDefault() + Thisform.gridextra1.Setup() + Thisform.grd_tarifare.ctarifar_nou.DynamicBackColor = [Rgb(255,255,128)] + Thisform.grd_tarifare.SetAll("DynamicFontBold","IIF(tarifar<>tarifar_nou,.T.,.F.)","Column") + Thisform.grd_tarifare.ctarifar_nou.ReadOnly = .F. + + ENDPROC + +ENDDEFINE + +DEFINE CLASS frm_nom_acte AS frm_termin OF "_frm_child.vcx" + *< CLASSDATA: Baseclass="form" Timestamp="" Scale="Pixels" Uniqueid="" /> + + *-- OBJECTDATA items order determines ZOrder / El orden de los items OBJECTDATA determina el ZOrder + *< OBJECTDATA: ObjPath="_grdrow1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="_grdrow1.Column1.Header1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="_grdrow1.Column1.Text1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="_grdrow1.Column2.Header1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="_grdrow1.Column2.Text1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="But_nou1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="But_modifica1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="But_sterge1" UniqueID="" Timestamp="" /> + + * + DoCreate = .T. + Name = "frm_nom_acte" + _shape1.Name = "_shape1" + _shape2.Height = 29 + _shape2.Left = 252 + _shape2.Name = "_shape2" + _shape2.Top = 0 + _shape2.Width = 122 + Lb_titlu_alb_b121.Caption = "Nomenclator documente" + Lb_titlu_alb_b121.Name = "Lb_titlu_alb_b121" + BUT_TERMIN1.Name = "BUT_TERMIN1" + BUT_TERMIN1.Top = 1 + Gridsort1.Left = 9 + Gridsort1.Name = "Gridsort1" + Gridsort1.Top = 25 + * + + ADD OBJECT '_grdrow1' AS _grdrow WITH ; + ColumnCount = 2, ; + DeleteMark = .F., ; + Height = 200, ; + Left = 13, ; + Name = "_grdrow1", ; + Panel = 1, ; + RecordSource = "vnom_acte", ; + Top = 43, ; + Width = 347, ; + Column1.ControlSource = "nr", ; + Column1.Name = "Column1", ; + Column1.Width = 39, ; + Column2.ControlSource = "nume_act", ; + Column2.Name = "Column2", ; + Column2.Width = 246 + *< END OBJECT: ClassLib="_grd_base.vcx" BaseClass="grid" /> + + ADD OBJECT '_grdrow1.Column1.Header1' AS header WITH ; + Alignment = 2, ; + Caption = "Nr. crt.", ; + Name = "Header1" + *< END OBJECT: BaseClass="header" /> + + ADD OBJECT '_grdrow1.Column1.Text1' AS textbox WITH ; + BackColor = 255,255,255, ; + BorderStyle = 0, ; + ForeColor = 0,0,0, ; + Margin = 0, ; + Name = "Text1" + *< END OBJECT: BaseClass="textbox" /> + + ADD OBJECT '_grdrow1.Column2.Header1' AS header WITH ; + Alignment = 2, ; + Caption = "Denumire", ; + Name = "Header1" + *< END OBJECT: BaseClass="header" /> + + ADD OBJECT '_grdrow1.Column2.Text1' AS textbox WITH ; + BackColor = 255,255,255, ; + BorderStyle = 0, ; + ForeColor = 0,0,0, ; + Margin = 0, ; + Name = "Text1" + *< END OBJECT: BaseClass="textbox" /> + + ADD OBJECT 'But_modifica1' AS but_modifica WITH ; + Left = 284, ; + Name = "But_modifica1", ; + Top = 2 + *< END OBJECT: ClassLib="cmd_butoane.vcx" BaseClass="commandbutton" /> + + ADD OBJECT 'But_nou1' AS but_nou WITH ; + Left = 255, ; + Name = "But_nou1", ; + Top = 1 + *< END OBJECT: ClassLib="cmd_butoane.vcx" BaseClass="commandbutton" /> + + ADD OBJECT 'But_sterge1' AS but_sterge WITH ; + Left = 312, ; + Name = "But_sterge1", ; + Top = 1 + *< END OBJECT: ClassLib="cmd_butoane.vcx" BaseClass="commandbutton" /> + + PROCEDURE actualizeaza_grid1 + LPARAMETERS pcFiltru + LOCAL lcFiltru + lcFiltru=pcFiltru + IF EMPTY(lcFiltru) + lcFiltru=poact.ca_baza1.cfiltru + ENDIF + save_grid_tag(thisform._grdrow1) + poact.ca_baza1.cfiltru=lcFiltru + poact.ca_baza1.afisare() + restore_grid_tag(thisform._grdrow1) + thisform._grdrow1.SetFocus() + + ENDPROC + + PROCEDURE do_adauga + Private pniesire + + pniesire=0 + Select vnom_acte + Scatter Name loRec Blank + + Do Adauga_Modifica_Inregistrare With "nom_acte",loRec,,"INSERT",,"addact" + + + If pniesire=1 + This.actualizeaza_grid1() + Endif + ENDPROC + + PROCEDURE do_modifica + Private pniesire + pniesire=0 + Select vnom_acte + Scatter Name loRec + Do Adauga_Modifica_Inregistrare With "nom_acte",loRec,loRec.id_act,"UPDATE",,"modact" + + + If pniesire=1 + This.actualizeaza_grid1() + Endif + ENDPROC + + PROCEDURE do_sterge + SELECT vnom_acte + SCATTER NAME lorec + Do STERGE_INREGISTRARE With "nom_acte",loRec.id_act + This.actualizeaza_grid1() + ENDPROC + +ENDDEFINE + +DEFINE CLASS frm_nom_acte_nou AS frm_termin_renunt OF "_frm_child.vcx" + *< CLASSDATA: Baseclass="form" Timestamp="" Scale="Pixels" Uniqueid="" /> + + *-- OBJECTDATA items order determines ZOrder / El orden de los items OBJECTDATA determina el ZOrder + *< OBJECTDATA: ObjPath="Cus_odata_nom_acte1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="Clb_tx_simplu1" UniqueID="" Timestamp="" /> + + * + *p: nid + *p: orec + * + + * + BorderStyle = 3 + Caption = "Form" + DoCreate = .T. + Height = 84 + Name = "frm_nom_acte_nou" + nid = .F. + orec = .F. + Width = 473 + _shape1.Height = 29 + _shape1.Left = 0 + _shape1.Name = "_shape1" + _shape1.Top = 0 + _shape1.Width = 472 + _shape2.Anchor = 6 + _shape2.Height = 29 + _shape2.Left = 409 + _shape2.Name = "_shape2" + _shape2.Top = 0 + _shape2.Width = 63 + Lb_titlu_alb_b121.Caption = "Documente" + Lb_titlu_alb_b121.Name = "Lb_titlu_alb_b121" + Lb_titlu_alb_b121.TabIndex = 4 + BUT_TERMIN1.Anchor = 6 + BUT_TERMIN1.Left = 440 + BUT_TERMIN1.Name = "BUT_TERMIN1" + BUT_TERMIN1.TabIndex = 2 + BUT_TERMIN1.Top = 1 + Gridsort1.Name = "Gridsort1" + But_renunt1.Anchor = 6 + But_renunt1.Left = 411 + But_renunt1.Name = "But_renunt1" + But_renunt1.TabIndex = 3 + But_renunt1.Top = 1 + * + + ADD OBJECT 'Clb_tx_simplu1' AS clb_tx_simplu WITH ; + Height = 29, ; + Left = 14, ; + Name = "Clb_tx_simplu1", ; + TabIndex = 1, ; + Top = 41, ; + Width = 449, ; + Text_simplu1.ControlSource = "porec.nume_act", ; + Text_simplu1.Height = 23, ; + Text_simplu1.Left = 101, ; + Text_simplu1.Name = "Text_simplu1", ; + Text_simplu1.Top = 3, ; + Text_simplu1.Width = 341, ; + Lb_simplu1.Caption = "Denumire", ; + Lb_simplu1.Name = "Lb_simplu1" + *< END OBJECT: ClassLib="lb_tx.vcx" BaseClass="container" /> + + ADD OBJECT 'Cus_odata_nom_acte1' AS cus_odata_nom_acte WITH ; + Left = 13, ; + Name = "Cus_odata_nom_acte1", ; + Top = 69 + *< END OBJECT: ClassLib="opersonal.vcx" BaseClass="custom" /> + + PROCEDURE inainte_de_do_termin + Local PLRETURN + + lccontrol = Upper(This.ActiveControl.BaseClass ) + If Inlist(lccontrol,"TEXTBOX","EDITBOX","COMBOBOX") + lcval=This.ActiveControl.ControlSource + &lcval=Thisform.ActiveControl.Value + Endif + + Do Case + Case Empty(porec.nume_act) + Messagebox('Nu ati completat denumirea!',0+48,"Atentie") + This.clb_tx_simplu1.teXT_SIMPLU1.SetFocus() + PLRETURN=.F. + Otherwise + + PLRETURN=this.cus_odata_nom_acte1.salvare(This.OREC,This.NID) + + Endcase + Return PLRETURN + + + + ENDPROC + + PROCEDURE Init + Lparameters toRec, tnId, tcActiune + + DoDefault() + + This.orec= toRec + This.nid = tnId + this.cus_odata_nom_acte1.cactiune = tcActiune + ENDPROC + +ENDDEFINE + +DEFINE CLASS frm_opersonal AS frm_termin OF "_frm_child.vcx" + *< CLASSDATA: Baseclass="form" Timestamp="" Scale="Pixels" Uniqueid="" /> + + *-- OBJECTDATA items order determines ZOrder / El orden de los items OBJECTDATA determina el ZOrder + *< OBJECTDATA: ObjPath="Clienttoptabs1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="Clienttoptabs1.opt_registru" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="Clienttoptabs1.Lb_registru" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="Clienttoptabs1._container1.lblHeader" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="page1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="page1.Page1.lb1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="page1.Page1.tx1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="page1.Page1.tx8" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="page1.Page1.lb2" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="page1.Page1.Lb_simplu7" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="page1.Page1.Lb_simplu6" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="page1.Page1.Lb_simplu5" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="page1.Page1.Lb_simplu4" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="page1.Page1.Lb_simplu3" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="page1.Page1.Lb_simplu2" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="page1.Page1.tx2" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="page1.Page1.tx24" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="page1.Page1.tx25" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="page1.Page1.tx10" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="page1.Page1.tx23" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="page1.Page1.tx22" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="page1.Page1._txbase1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="page1.Page1.lb3" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="page1.Page1.tx3" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="page1.Page1.lb4" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="page1.Page1.tx4" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="page1.Page1.Lb_simplu9" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="page1.Page1.tx5" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="page1.Page1.lb7" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="page1.Page1.tx13" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="page1.Page1.lb8" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="page1.Page1.tx15" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="page1.Page1.lb9" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="page1.Page1.tx16" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="page1.Page1.lb10" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="page1.Page1.tx17" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="page1.Page1.lb11" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="page1.Page1.tx18" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="page1.Page1.Lb_simplu8" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="page1.Page1.lb12" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="page1.Page1.tx20" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="page1.Page1.tx19" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="page1.Page1.Lb_simplu10" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="page1.Page1.tx26" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="page1.Page1.lb13" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="page1.Page1.tx21" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="page1.Page1.Lb_simplu1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="page1.Page1.lb15" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="page1.Page1.Lb_simplu12" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="page1.Page1._txbase5" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="page1.Page1.tx11" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="page1.Page1.Ct_clb_cetatenie" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="page1.Page1.Ct_clb_nationalitate" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="page1.Page1.Ct_clb_tip_act" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="page1.Page1.Ct_clb_judet" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="page1.Page1.Ct_clb_localitate" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="page1.Page1.Ct_clb_apatrid" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="page1.Page1.Image1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="page1.Page2.lb30" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="page1.Page2.tx41" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="page1.Page2.lb32" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="page1.Page2.tx43" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="page1.Page2.tx40" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="page1.Page2.tx49" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="page1.Page2.tx50" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="page1.Page2.tx51" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="page1.Page2.opt_stare_contract" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="page1.Page2.Lb_simplu8" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="page1.Page2.tx54" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="page1.Page2.Lb_simplu9" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="page1.Page2.Ct_clb_tipcontract" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="page1.Page2.Ct_clb_meserie" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="page1.Page2.Ct_clb_formatia" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="page1.Page2.Ct_clb_grupa_munca" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="page1.Page2.Ct_clb_clasasal" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="page1.Page2.Ct_clb_casa_sanatate" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="page1.Page2.Ct_clb_banca" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="page1.Page2.Ct_clb_temei" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="page1.Page2.Ct_clb_detasatla" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="page1.Page2.Ct_clb_taradet" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="page1.Page2.Ct_cb_repartm" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="page1.Page2.Ct_cb_intm" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="page1.Page2.Ct_cb_duratam" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="page1.Page2.Ct_cb_tipn" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="page1.Page2.Ct_cb_handicap" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="page1.Page2.Ct_cb_pensionar" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="page1.Page2.Ct_cb_functiebaza" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="page1.Page2.tx45" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="page1.Page2.Ct_cb_platacas" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="page1.Page2.Ct_cb_platasomaj" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="page1.Page2.ck_anulare_incetare" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="page1.Page2.tx55" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="page1.Page2.Ct_clb_cautare_var1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="page1.Page2.lb15" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="page1.Page2.Lb_simplu7" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="page1.Page2.Lb_simplu3" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="page1.Page2.Lb_simplu11" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="page1.Page2.tx26" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="page1.Page2.tx52" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="page1.Page2.tx53" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="page1.Page2.tx_codcod" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="page1.Page2.lb16" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="page1.Page2.tx27" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="page1.Page2.tx70" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="page1.Page2.tx31" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="page1.Page2.tx68" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="page1.Page2.Opt_oug114" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="page1.Page2.lb20" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="page1.Page2.Lb_simplu6" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="page1.Page2.Lb_simplu1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="page1.Page2.Lb_simplu4" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="page1.Page2.tx34" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="page1.Page2.lb23" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="page1.Page2.Lb_simplu5" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="page1.Page2.Check1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="page1.Page2.lb29" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="page1.Page2.Lb_simplu2" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="page1.Page2.Lb_simplu10" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="page1.Page2.tx69" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="page1.Page2.tx67" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="page1.Page3.Grid3" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="page1.Page3.Grid3.Column3.Header1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="page1.Page3.Grid3.Column3.Text1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="page1.Page3.Grid3.Column4.Header1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="page1.Page3.Grid3.Column4.Text1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="page1.Page3.Grid3.Column1.Header1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="page1.Page3.Grid3.Column1.Text1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="page1.Page3.Grid3.Column2.Header1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="page1.Page3.Grid3.Column2.Text1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="page1.Page3.Grid3.Column5.Header1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="page1.Page3.Grid3.Column5.Text1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="page1.Page3.But_nou1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="page1.Page3.But_modifica1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="page1.Page3.But_sterge1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="page1.Page3.Lb_simplu1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="page1.Page3.tx54" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="page1.Page3.tx52" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="page1.Page3.txcopii" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="page1.Page3.tx53" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="page1.Page3.Lb_simplu2" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="page1.Page3.Lb_simplu3" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="page1.Page3.Lb_simplu4" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="page1.Page3.Grid1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="page1.Page3.Grid1.Column3.Header1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="page1.Page3.Grid1.Column3.Text1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="page1.Page3.Grid1.Column4.Header1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="page1.Page3.Grid1.Column4.Text1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="page1.Page3.Grid1.Column1.Header1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="page1.Page3.Grid1.Column1.Text1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="page1.Page3.Grid1.Column2.Header1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="page1.Page3.Grid1.Column2.Text1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="page1.Page3.But_nou2" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="page1.Page3.But_modifica2" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="page1.Page3.But_sterge2" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="page1.Page3.Lb_simplu5" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="page1.Page3.Lb_simplu6" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="page1.Page3.Ct_cb_stareciv" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="page1.Page4.Grid3" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="page1.Page4.Grid3.Column3.Header1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="page1.Page4.Grid3.Column3.Text1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="page1.Page4.Grid3.Column4.Header1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="page1.Page4.Grid3.Column4.Text1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="page1.Page4.Grid3.Column1.Header1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="page1.Page4.Grid3.Column1.Text1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="page1.Page4.Grid3.Column2.Header1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="page1.Page4.Grid3.Column2.Text1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="page1.Page4.But_nou1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="page1.Page4.But_modifica1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="page1.Page4.But_sterge1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="page1.Page5.Grid3" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="page1.Page5.Grid3.Column3.Header1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="page1.Page5.Grid3.Column3.Text1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="page1.Page5.Grid3.Column4.Header1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="page1.Page5.Grid3.Column4.Text1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="page1.Page5.But_nou1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="page1.Page5.But_modifica1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="page1.Page5.But_sterge1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="page1.Page5.Lb_simplu5" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="page1.Page5.Ct_clb_meserie" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="page1.Page5.tx53" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="page1.Page5.Lb_simplu3" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="page1.Page6.Grid3" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="page1.Page6.Grid3.Column3.Header1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="page1.Page6.Grid3.Column3.Text1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="page1.Page6.Grid3.Column4.Header1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="page1.Page6.Grid3.Column4.Text1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="page1.Page6.Grid3.Column1.Header1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="page1.Page6.Grid3.Column1.Text1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="page1.Page6.Grid3.Column2.Header1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="page1.Page6.Grid3.Column2.Text1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="page1.Page6.Grid3.Column5.Header1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="page1.Page6.Grid3.Column5.Text1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="page1.Page6.But_nou1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="page1.Page6.But_modifica1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="page1.Page6.But_sterge1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="page1.Page6.Lb_simplu5" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="page1.Page6.Grid1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="page1.Page6.Grid1.Column3.Header1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="page1.Page6.Grid1.Column3.Text1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="page1.Page6.Grid1.Column4.Header1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="page1.Page6.Grid1.Column4.Text1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="page1.Page6.Grid1.Column1.Header1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="page1.Page6.Grid1.Column1.Text1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="page1.Page6.But_nou2" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="page1.Page6.But_modifica2" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="page1.Page6.But_sterge2" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="page1.Page6.tx1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="page1.Page6.tx2" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="page1.Page6.tx3" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="page1.Page6.tx4" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="page1.Page6.tx5" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="page1.Page6.tx6" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="page1.Page6.Lb_simplu1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="page1.Page6.Lb_simplu2" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="page1.Page6.Lb_simplu3" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="page1.Page6.Lb_simplu4" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="page1.Page6.Lb_simplu6" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="page1.Page6.Lb_simplu7" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="page1.Page6.Lb_simplu8" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="page1.Page7.Lb_simplu13" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="page1.Page7.Lb_simplu3" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="page1.Page7.Lb_simplu1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="page1.Page7.Lb_simplu2" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="page1.Page7.Cmd_executa1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="page1.Page7.tx56" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="page1.Page7.tx57" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="page1.Page7.tx58" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="page1.Page7.tx60" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="page1.Page7.lunia" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="page1.Page7.ania" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="page1.Page7.vechimea" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="page1.Page7.tx65" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="page1.Page7.tx64" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="page1.Page7.tx59" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="page1.Page7.tx61" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="page1.Page7.tx63" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="page1.Page7.tx62" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="page1.Page7.Lb_simplu5" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="page1.Page7.Lb_simplu6" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="page1.Page7.Lb_simplu9" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="page1.Page7.Lb_simplu10" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="page1.Page7.Lb_simplu7" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="page1.Page7.Lb_simplu8" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="page1.Page7.Lb_simplu11" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="page1.Page7.Lb_simplu12" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="page1.Page7.Cmd_executa2" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="page1.Page7.Lb_simplu4" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="page1.Page7.Lb_simplu14" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="page1.Page7.Lb_simplu15" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="page1.Page7.Lb_simplu16" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="page1.Page7.Lb_simplu17" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="page1.Page7.Lb_simplu18" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="page1.Page7.Lb_simplu19" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="page1.Page8.Lb_simplu2" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="page1.Page8.tx65" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="page1.Page8.tx66" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="page1.Page8.Lb_simplu4" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="page1.Page8.tx67" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="page1.Page8.Lb_simplu5" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="page1.Page8.tx68" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="page1.Page8.grid1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="page1.Page8.grid1.Column1.Header1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="page1.Page8.grid1.Column1.Text1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="page1.Page8.grid1.Column2.Header1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="page1.Page8.grid1.Column2.Text1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="page1.Page8.grid1.Column3.Header1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="page1.Page8.grid1.Column3.Text1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="page1.Page8.grid1.Column4.Header1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="page1.Page8.grid1.Column4.Text1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="page1.Page8.grid1.Column5.Header1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="page1.Page8.grid1.Column5.Text1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="page1.Page8.grid1.Column6.Header1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="page1.Page8.grid1.Column6.Text1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="page1.Page8.grid1.Column7.Header1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="page1.Page8.grid1.Column7.Text1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="page1.Page8.grid1.Column8.Header1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="page1.Page8.grid1.Column8.Text1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="page1.Page8.grid1.Column9.Header1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="page1.Page8.grid1.Column9.Text1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="page1.Page8.grid1.Column10.Header1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="page1.Page8.grid1.Column10.Text1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="page1.Page8.grid1.Column11.Header1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="page1.Page8.grid1.Column11.Text1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="page1.Page8.grid1.Column12.Header1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="page1.Page8.grid1.Column12.Text1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="page1.Page8.Lb_simplu1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="page1.Page8.Lb_simplu6" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="page1.Page8.tx69" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="page1.Page8.Lb_simplu7" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="page1.Page8.tx70" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="page1.Page8.Lb_simplu3" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="page1.Page8.tx72" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="page1.Page8.tx73" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="page1.Page8.Ct_clb_tipautorizatie" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="page1.Page9.Lb_simplu3" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="page1.Page9.But_nou1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="page1.Page9.But_modifica1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="page1.Page9.But_sterge1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="page1.Page9.Grid3" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="page1.Page9.Grid3.Column3.Header1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="page1.Page9.Grid3.Column3.Text1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="page1.Page9.Grid3.Column4.Header1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="page1.Page9.Grid3.Column4.Text1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="page1.Page9.Grid3.Column1.Header1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="page1.Page9.Grid3.Column1.Text1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="page1.Page10.gridAtasamente" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="page1.Page10.gridAtasamente.Column1.Header1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="page1.Page10.gridAtasamente.Column1.Text1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="page1.Page10.gridAtasamente.Column1.Command1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="page1.Page10.gridAtasamente.Column2.Header1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="page1.Page10.gridAtasamente.Column2.Text1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="page1.Page10.gridAtasamente.Column3.Header1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="page1.Page10.gridAtasamente.Column3.Text1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="page1.Page10.gridAtasamente.Column4.Header1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="page1.Page10.gridAtasamente.Column4.Text1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="page1.Page10.gridAtasamente.Column5.Header1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="page1.Page10.gridAtasamente.Column5.Text1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="page1.Page10.gridAtasamente.Column6.Header1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="page1.Page10.gridAtasamente.Column6.Text1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="page1.Page10.Lb_simplu1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="page1.Page10.But_nou1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="page1.Page10.But_sterge1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="page1.Page11.Grid3" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="page1.Page11.Grid3.Column3.Header1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="page1.Page11.Grid3.Column3.Text1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="page1.Page11.Grid3.Column4.Header1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="page1.Page11.Grid3.Column4.Text1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="page1.Page11.Grid3.Column1.Header1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="page1.Page11.Grid3.Column1.Text1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="page1.Page11.But_nou1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="page1.Page11.But_modifica1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="page1.Page11.But_sterge1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="_GRID1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="_GRID1.Column1.Header1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="_GRID1.Column1.Text1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="_GRID1.Column2.Header1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="_GRID1.Column2.Text1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="_GRID1.Column3.Header1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="_GRID1.Column3.Text1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="_GRID1.Column4.Header1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="_GRID1.Column4.Text1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="_GRID1.Column5.Header1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="_GRID1.Column5.Text1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="_GRID1.Column6.Header1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="_GRID1.Column6.Text1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="_GRID1.Column7.Header1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="_GRID1.Column7.Text1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="But_nou1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="But_salveaza1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="But_modifica1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="But_sterge1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="Cus_odata_opers1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="Caut_nou1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="But_excel1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="BUT_RENUNT1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="But_noup1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="But_modiparam1" UniqueID="" Timestamp="" /> + + * + *m: adaugare_parteneri + *m: adauga_copil + *m: arata_linkuri + *m: calcul_vechime + *m: corder + *m: co_calculcoefvechime + *m: do_activeaza + *m: do_actualizeaza_nom_norme + *m: do_actualizeaza_norma + *m: do_actualizeaza_stare + *m: do_adauga_aviz + *m: do_adauga_bazacm + *m: do_adauga_curs + *m: do_adauga_echip + *m: do_adauga_intret + *m: do_adauga_limba + *m: do_adauga_stud + *m: do_butoane_stare + *m: do_cauta_apatrid + *m: do_cauta_banca + *m: do_cauta_casaasig + *m: do_cauta_cetatenie + *m: do_cauta_clasasal + *m: do_cauta_formatia + *m: do_cauta_grupamunca + *m: do_cauta_judet + *m: do_cauta_localitate + *m: do_cauta_meseria + *m: do_cauta_partener + *m: do_cauta_plimpozit + *m: do_cauta_scutireimpozit + *m: do_cauta_tara + *m: do_cauta_temei + *m: do_cauta_tipact + *m: do_cauta_tipautorizatie + *m: do_cauta_tipcontract + *m: do_col_gotfocus + *m: do_col_interactivechange + *m: do_col_lostfocus + *m: do_col_modifica + *m: do_col_valid + *m: do_download + *m: do_modifica_atas + *m: do_modifica_aviz + *m: do_modifica_bazacm + *m: do_modifica_curs + *m: do_modifica_echip + *m: do_modifica_intret + *m: do_modifica_limba + *m: do_modifica_stare + *m: do_modifica_stud + *m: do_modiparam + *m: do_readonly + *m: do_sterge_atas + *m: do_sterge_aviz + *m: do_sterge_bazacm + *m: do_sterge_curs + *m: do_sterge_echip + *m: do_sterge_intret + *m: do_sterge_limba + *m: do_sterge_stud + *m: do_verifica_date + *m: do_writeonly + *m: eticheta + *m: make_crsatasamente + *m: modificari_revisal + *m: modifica_copil + *m: refresh_pagini + *m: registru_unic + *m: setez_exceptii + *m: sterge_copil + *m: upload + *m: vechimeal + *m: verifica_parteneri + *p: ccalefisier + *p: laccesmodif + *p: lcpozamodif + *p: lpozamodif + *p: lsalvat + *p: nrang + *p: nrangactivi + *p: nrincarcaripoze + *p: nsumainitial + *p: nsumamodif + *p: opt_registru + * + + * + BorderStyle = 3 + ccalefisier = + DoCreate = .T. + Height = 768 + laccesmodif = .F. + lcpozamodif = + lpozamodif = + lsalvat = .F. + Name = "frm_opersonal" + nrang = 0 + nrangactivi = 0 + nrincarcaripoze = 0 + nsumainitial = 0 + nsumamodif = 0 + opt_registru = 3 + Width = 800 + _memberdata = + + + _shape1.Anchor = 10 + _shape1.Height = 29 + _shape1.Left = 0 + _shape1.Name = "_shape1" + _shape1.Top = 0 + _shape1.Width = 800 + _shape2.Anchor = 9 + _shape2.Height = 29 + _shape2.Left = 528 + _shape2.Name = "_shape2" + _shape2.Top = 0 + _shape2.Width = 273 + Lb_titlu_alb_b121.Caption = "Personal" + Lb_titlu_alb_b121.Name = "Lb_titlu_alb_b121" + Lb_titlu_alb_b121.TabIndex = 3 + BUT_TERMIN1.Anchor = 9 + BUT_TERMIN1.Height = 27 + BUT_TERMIN1.Left = 769 + BUT_TERMIN1.Name = "BUT_TERMIN1" + BUT_TERMIN1.TabIndex = 4 + BUT_TERMIN1.Top = 1 + BUT_TERMIN1.Width = 30 + Gridsort1.Left = 288 + Gridsort1.Name = "Gridsort1" + Gridsort1.Top = 12 + * + + ADD OBJECT '_GRID1' AS _grid WITH ; + Anchor = 195, ; + ColumnCount = 7, ; + DeleteMark = .F., ; + Height = 456, ; + HighlightStyle = 2, ; + Left = -2, ; + Name = "_GRID1", ; + Panel = 1, ; + ReadOnly = .F., ; + RecordSource = "v_personal", ; + TabIndex = 5, ; + TabStop = .F., ; + Top = 168, ; + Width = 239, ; + Column1.ControlSource = "nr", ; + Column1.Name = "Column1", ; + Column1.ReadOnly = .F., ; + Column1.Width = 39, ; + Column2.ControlSource = "marca", ; + Column2.Name = "Column2", ; + Column2.ReadOnly = .F., ; + Column2.Width = 42, ; + Column3.ControlSource = "nume", ; + Column3.Name = "Column3", ; + Column3.ReadOnly = .F., ; + Column3.Width = 117, ; + Column4.ControlSource = "prenume", ; + Column4.Name = "Column4", ; + Column4.ReadOnly = .F., ; + Column4.Width = 138, ; + Column5.ControlSource = "tarifar", ; + Column5.InputMask = (get_mask(16,gnPS)), ; + Column5.Name = "Column5", ; + Column5.ReadOnly = .F., ; + Column5.Width = 99, ; + Column6.ControlSource = "dataang", ; + Column6.Name = "Column6", ; + Column6.ReadOnly = .F., ; + Column7.ControlSource = "codpers", ; + Column7.Name = "Column7", ; + Column7.ReadOnly = .F. + *< END OBJECT: ClassLib="_baza.vcx" BaseClass="grid" /> + + ADD OBJECT '_GRID1.Column1.Header1' AS header WITH ; + Alignment = 2, ; + Caption = "Nr. Crt", ; + Name = "Header1" + *< END OBJECT: BaseClass="header" /> + + ADD OBJECT '_GRID1.Column1.Text1' AS textbox WITH ; + BackColor = 255,255,255, ; + BorderStyle = 0, ; + ForeColor = 0,0,0, ; + Margin = 0, ; + Name = "Text1", ; + ReadOnly = .F., ; + SelectedBackColor = 100,185,255 + *< END OBJECT: BaseClass="textbox" /> + + ADD OBJECT '_GRID1.Column2.Header1' AS header WITH ; + Alignment = 2, ; + Caption = "Marca", ; + Name = "Header1" + *< END OBJECT: BaseClass="header" /> + + ADD OBJECT '_GRID1.Column2.Text1' AS textbox WITH ; + BackColor = 255,255,255, ; + BorderStyle = 0, ; + ForeColor = 0,0,0, ; + Margin = 0, ; + Name = "Text1", ; + ReadOnly = .F., ; + SelectedBackColor = 100,185,255 + *< END OBJECT: BaseClass="textbox" /> + + ADD OBJECT '_GRID1.Column3.Header1' AS header WITH ; + Alignment = 2, ; + Caption = "Nume", ; + Name = "Header1" + *< END OBJECT: BaseClass="header" /> + + ADD OBJECT '_GRID1.Column3.Text1' AS textbox WITH ; + BackColor = 255,255,255, ; + BorderStyle = 0, ; + ForeColor = 0,0,0, ; + Margin = 0, ; + Name = "Text1", ; + ReadOnly = .F., ; + SelectedBackColor = 100,185,255 + *< END OBJECT: BaseClass="textbox" /> + + ADD OBJECT '_GRID1.Column4.Header1' AS header WITH ; + Alignment = 2, ; + Caption = "Prenume", ; + Name = "Header1" + *< END OBJECT: BaseClass="header" /> + + ADD OBJECT '_GRID1.Column4.Text1' AS textbox WITH ; + BackColor = 255,255,255, ; + BorderStyle = 0, ; + ForeColor = 0,0,0, ; + Margin = 0, ; + Name = "Text1", ; + ReadOnly = .F., ; + SelectedBackColor = 100,185,255 + *< END OBJECT: BaseClass="textbox" /> + + ADD OBJECT '_GRID1.Column5.Header1' AS header WITH ; + Alignment = 2, ; + Caption = "Tarifar", ; + Name = "Header1" + *< END OBJECT: BaseClass="header" /> + + ADD OBJECT '_GRID1.Column5.Text1' AS textbox WITH ; + BackColor = 255,255,255, ; + BorderStyle = 0, ; + ForeColor = 0,0,0, ; + Margin = 0, ; + Name = "Text1", ; + ReadOnly = .F., ; + SelectedBackColor = 100,185,255 + *< END OBJECT: BaseClass="textbox" /> + + ADD OBJECT '_GRID1.Column6.Header1' AS header WITH ; + Alignment = 2, ; + Caption = "Data ang", ; + Name = "Header1" + *< END OBJECT: BaseClass="header" /> + + ADD OBJECT '_GRID1.Column6.Text1' AS textbox WITH ; + BackColor = 255,255,255, ; + BorderStyle = 0, ; + ForeColor = 0,0,0, ; + Margin = 0, ; + Name = "Text1", ; + ReadOnly = .F., ; + SelectedBackColor = 100,185,255 + *< END OBJECT: BaseClass="textbox" /> + + ADD OBJECT '_GRID1.Column7.Header1' AS header WITH ; + Alignment = 2, ; + Caption = "Cnp", ; + Name = "Header1" + *< END OBJECT: BaseClass="header" /> + + ADD OBJECT '_GRID1.Column7.Text1' AS textbox WITH ; + BackColor = 255,255,255, ; + BorderStyle = 0, ; + ForeColor = 0,0,0, ; + Margin = 0, ; + Name = "Text1", ; + SelectedBackColor = 100,185,255 + *< END OBJECT: BaseClass="textbox" /> + + ADD OBJECT 'But_excel1' AS but_excel WITH ; + Anchor = 9, ; + Left = 678, ; + Name = "But_excel1", ; + TabIndex = 11, ; + Top = 1 + *< END OBJECT: ClassLib="cmd_butoane.vcx" BaseClass="commandbutton" /> + + ADD OBJECT 'But_modifica1' AS but_modifica WITH ; + Anchor = 9, ; + caction = do_modifica, ; + Left = 618, ; + Name = "But_modifica1", ; + TabIndex = 8, ; + Top = 1 + *< END OBJECT: ClassLib="cmd_butoane.vcx" BaseClass="commandbutton" /> + + ADD OBJECT 'But_modiparam1' AS but_modiparam WITH ; + Anchor = 9, ; + Left = 529, ; + Name = "But_modiparam1", ; + TabIndex = 14, ; + ToolTipText = "Modificare tarifar pentru contractele active din selectie", ; + Top = 1 + *< END OBJECT: ClassLib="cmd_butoane.vcx" BaseClass="commandbutton" /> + + ADD OBJECT 'But_nou1' AS but_nou WITH ; + Anchor = 9, ; + Left = 589, ; + Name = "But_nou1", ; + TabIndex = 6, ; + Top = 1 + *< END OBJECT: ClassLib="cmd_butoane.vcx" BaseClass="commandbutton" /> + + ADD OBJECT 'But_noup1' AS but_noup WITH ; + Anchor = 9, ; + caction = adaugare_parteneri, ; + Left = 559, ; + Name = "But_noup1", ; + TabIndex = 13, ; + Top = 1, ; + Visible = .F. + *< END OBJECT: ClassLib="opersonal.vcx" BaseClass="commandbutton" /> + + ADD OBJECT 'BUT_RENUNT1' AS but_renunt WITH ; + Anchor = 9, ; + Left = 709, ; + Name = "BUT_RENUNT1", ; + TabIndex = 12, ; + Top = 1, ; + Visible = .F. + *< END OBJECT: ClassLib="cmd_butoane.vcx" BaseClass="commandbutton" /> + + ADD OBJECT 'But_salveaza1' AS but_salveaza WITH ; + Anchor = 9, ; + Left = 739, ; + Name = "But_salveaza1", ; + TabIndex = 7, ; + Top = 1, ; + Visible = .F. + *< END OBJECT: ClassLib="cmd_butoane.vcx" BaseClass="commandbutton" /> + + ADD OBJECT 'But_sterge1' AS but_sterge WITH ; + Anchor = 9, ; + caction = do_sterge, ; + Left = 648, ; + Name = "But_sterge1", ; + TabIndex = 9, ; + ToolTipText = "Lichidare (CTRL+D)", ; + Top = 1 + *< END OBJECT: ClassLib="cmd_butoane.vcx" BaseClass="commandbutton" /> + + ADD OBJECT 'Caut_nou1' AS caut_nou WITH ; + grid = _grid1, ; + Height = 72, ; + Left = 12, ; + Name = "Caut_nou1", ; + TabIndex = 10, ; + Top = 71, ; + Width = 510, ; + criteriu.Name = "criteriu", ; + criteriu2.Name = "criteriu2", ; + Grup_optiuni_filtru1.Name = "Grup_optiuni_filtru1", ; + Grup_optiuni_filtru1.Option1.Left = 5, ; + Grup_optiuni_filtru1.Option1.Name = "Option1", ; + Grup_optiuni_filtru1.Option1.Top = 5, ; + Grup_optiuni_filtru1.Option2.Left = 66, ; + Grup_optiuni_filtru1.Option2.Name = "Option2", ; + Grup_optiuni_filtru1.Option2.Top = 5, ; + Grup_optiuni_filtru1.Option3.Left = 134, ; + Grup_optiuni_filtru1.Option3.Name = "Option3", ; + Grup_optiuni_filtru1.Option3.Top = 5, ; + Text.Name = "Text", ; + Text2.Name = "Text2", ; + _combobox1.Name = "_combobox1", ; + Cmd_cauta1.Left = 423, ; + Cmd_cauta1.Name = "Cmd_cauta1", ; + Cmd_reset1.Left = 423, ; + Cmd_reset1.Name = "Cmd_reset1", ; + Lb_simplu1.Name = "Lb_simplu1" + *< END OBJECT: ClassLib="cautare.vcx" BaseClass="container" /> + + ADD OBJECT 'Clienttoptabs1' AS clienttoptabs WITH ; + Anchor = 15, ; + Height = 723, ; + Left = -5, ; + Name = "Clienttoptabs1", ; + otab2use = thisform.page1, ; + tabbmpstr = homeside.bmp,contacts.bmp,visits.bmp,printersmall.bmp,contacts.bmp,contacts.bmp,contacts.bmp,addressbook.bmp,addressbook.bmp,addressbook.bmp,addressbook.bmp, ; + tabcaptionstr = Personal,Date angajare,Familie,CM,Calificare,ªcolarizare,Vechime,Documente,Altele,Documente ataºate,Avize, ; + TabIndex = 1, ; + tabnumber = 11, ; + Top = 33, ; + Width = 817, ; + Shape1.Height = 692, ; + Shape1.Left = 3, ; + Shape1.Name = "Shape1", ; + Shape1.Top = 31, ; + Shape1.Width = 803, ; + Shape2.Height = 34, ; + Shape2.Left = 1, ; + Shape2.Name = "Shape2", ; + Shape2.Top = 35, ; + Shape2.Width = 617, ; + Shape3.Name = "Shape3", ; + _container1.Anchor = 14, ; + _container1.Height = 160, ; + _container1.Left = 3, ; + _container1.Line1.Anchor = 14, ; + _container1.Line1.Height = 0, ; + _container1.Line1.Left = 0, ; + _container1.Line1.Name = "Line1", ; + _container1.Line1.Top = 0, ; + _container1.Line1.Width = 800, ; + _container1.Name = "_container1", ; + _container1.Shape3.Height = 165, ; + _container1.Shape3.Left = 1, ; + _container1.Shape3.Name = "Shape3", ; + _container1.Shape3.Top = -5, ; + _container1.Shape3.Width = 800, ; + _container1.Top = 551, ; + _container1.Width = 803, ; + lblHeader.Caption = "Pagini", ; + lblHeader.FontSize = 12, ; + lblHeader.Left = 543, ; + lblHeader.Name = "lblHeader", ; + lblHeader.Top = 34, ; + Line1.Height = 0, ; + Line1.Left = 530, ; + Line1.Name = "Line1", ; + Line1.Top = 54, ; + Line1.Width = 76, ; + Tab1.cmdTab.Name = "cmdTab", ; + Tab1.Image1.Name = "Image1", ; + Tab1.Image1.Picture = ..\grafice\lbtabh3.bmp, ; + Tab1.Image2.Name = "Image2", ; + Tab1.Image2.Picture = ..\grafice\note.gif, ; + Tab1.Label1.Name = "Label1", ; + Tab1.Left = 11, ; + Tab1.Name = "Tab1", ; + Tab1.Picture = ..\grafice\dbtabh4.bmp, ; + Tab1.Top = -2, ; + shpPage.Height = 316, ; + shpPage.Label2.Name = "Label2", ; + shpPage.Label3.Name = "Label3", ; + shpPage.Label4.Name = "Label4", ; + shpPage.Left = 6, ; + shpPage.Name = "shpPage", ; + shpPage.TabIndex = 10, ; + shpPage.Top = 123, ; + shpPage.Width = 603 + *< END OBJECT: ClassLib="bbtabs.vcx" BaseClass="container" /> + + ADD OBJECT 'Clienttoptabs1._container1.lblHeader' AS _label WITH ; + AutoSize = .T., ; + BackStyle = 0, ; + Caption = "Persoana", ; + FontBold = .T., ; + FontSize = 14, ; + ForeColor = 255,134,11, ; + Height = 25, ; + Left = 14, ; + Name = "lblHeader", ; + TabIndex = 7, ; + Top = 120, ; + Width = 91, ; + ZOrderSet = 4 + *< END OBJECT: ClassLib="_baza.vcx" BaseClass="label" /> + + ADD OBJECT 'Clienttoptabs1.Lb_registru' AS lb_simplu WITH ; + Caption = "Registru unic", ; + Left = 532, ; + Name = "Lb_registru", ; + Top = 57, ; + Visible = .F. + *< END OBJECT: ClassLib="lb.vcx" BaseClass="label" /> + + ADD OBJECT 'Clienttoptabs1.opt_registru' AS _optiongrup WITH ; + AutoSize = .F., ; + ButtonCount = 3, ; + ControlSource = "thisform.opt_registru", ; + Height = 51, ; + Left = 607, ; + Name = "opt_registru", ; + Top = 57, ; + Value = 1, ; + Visible = .F., ; + Width = 84, ; + Option1.AutoSize = .T., ; + Option1.Caption = "Modificare", ; + Option1.Left = 5, ; + Option1.Name = "Option1", ; + Option1.Top = 0, ; + Option1.Value = 1, ; + Option2.AutoSize = .T., ; + Option2.Caption = "Corecþie", ; + Option2.FontCharSet = 238, ; + Option2.Left = 5, ; + Option2.Name = "Option2", ; + Option2.Top = 17, ; + Option3.AutoSize = .T., ; + Option3.BackStyle = 0, ; + Option3.Caption = "Nu scrie", ; + Option3.Height = 17, ; + Option3.Left = 5, ; + Option3.Name = "Option3", ; + Option3.Top = 34, ; + Option3.Value = 0, ; + Option3.Width = 64 + *< END OBJECT: ClassLib="_baza.vcx" BaseClass="optiongroup" /> + + ADD OBJECT 'Cus_odata_opers1' AS cus_odata_opers WITH ; + Left = 546, ; + Name = "Cus_odata_opers1", ; + Top = 38 + *< END OBJECT: ClassLib="opersonal.vcx" BaseClass="custom" /> + + ADD OBJECT 'page1' AS _pgfrmbase WITH ; + Anchor = 15, ; + ErasePage = .T., ; + Height = 552, ; + Left = -1, ; + Name = "page1", ; + PageCount = 11, ; + TabIndex = 2, ; + Top = 144, ; + Width = 801, ; + Page1.BackColor = 255,255,255, ; + Page1.FontCharSet = 238, ; + Page1.Name = "Page1", ; + Page2.BackColor = 255,255,255, ; + Page2.FontCharSet = 238, ; + Page2.Name = "Page2", ; + Page3.BackColor = 255,255,255, ; + Page3.Caption = "Page3", ; + Page3.FontCharSet = 238, ; + Page3.Name = "Page3", ; + Page4.BackColor = 255,255,255, ; + Page4.Caption = "Page4", ; + Page4.FontCharSet = 238, ; + Page4.Name = "Page4", ; + Page5.BackColor = 255,255,255, ; + Page5.Caption = "Page5", ; + Page5.FontCharSet = 238, ; + Page5.Name = "Page5", ; + Page6.BackColor = 255,255,255, ; + Page6.Caption = "Page6", ; + Page6.FontCharSet = 238, ; + Page6.Name = "Page6", ; + Page7.BackColor = 255,255,255, ; + Page7.Caption = "Page7", ; + Page7.FontCharSet = 238, ; + Page7.Name = "Page7", ; + Page8.BackColor = 255,255,255, ; + Page8.Caption = "Page8", ; + Page8.FontCharSet = 238, ; + Page8.Name = "Page8", ; + Page9.BackColor = 255,255,255, ; + Page9.Caption = "Page9", ; + Page9.FontCharSet = 238, ; + Page9.Name = "Page9", ; + Page10.BackColor = 255,255,255, ; + Page10.Caption = "Page10", ; + Page10.FontCharSet = 238, ; + Page10.Name = "Page10", ; + Page11.BackColor = 255,255,255, ; + Page11.Caption = "Page11", ; + Page11.Name = "Page11" + *< END OBJECT: ClassLib="_frm_base.vcx" BaseClass="pageframe" /> + + ADD OBJECT 'page1.Page1._txbase1' AS _txbase WITH ; + Anchor = 672, ; + ControlSource = "popers.codacc", ; + DisabledBackColor = 242,242,242, ; + Format = "!K", ; + Height = 23, ; + Left = 367, ; + Name = "_txbase1", ; + ReadOnly = .T., ; + TabIndex = 29, ; + Top = 390, ; + Width = 143, ; + ZOrderSet = 16 + *< END OBJECT: ClassLib="_tx_base.vcx" BaseClass="textbox" /> + + ADD OBJECT 'page1.Page1._txbase5' AS _txbase WITH ; + Anchor = 672, ; + DisabledBackColor = 242,242,242, ; + Format = "!K", ; + Height = 23, ; + Left = 325, ; + Name = "_txbase5", ; + ReadOnly = .T., ; + TabIndex = 5, ; + Top = 120, ; + Width = 72, ; + ZOrderSet = 42 + *< END OBJECT: ClassLib="_tx_base.vcx" BaseClass="textbox" /> + + ADD OBJECT 'page1.Page1.Ct_clb_apatrid' AS ct_clb_cautare_var WITH ; + Anchor = 672, ; + cconditie = EMPTY(NVL(popers.id_tipapatrid,0)), ; + cprocedura = Thisform.do_cauta_apatrid, ; + cvar_afisata = popers.apatrid, ; + Height = 31, ; + Left = 245, ; + Name = "Ct_clb_apatrid", ; + TabIndex = 7, ; + Top = 171, ; + Width = 271, ; + shape_cautare.BorderStyle = 0, ; + shape_cautare.Name = "shape_cautare", ; + img_cautare.Anchor = 672, ; + img_cautare.Left = 243, ; + img_cautare.Name = "img_cautare", ; + img_cautare.Top = 5, ; + lb_cautare.Caption = "Apatrid", ; + lb_cautare.Left = 0, ; + lb_cautare.Name = "lb_cautare", ; + lb_cautare.Top = 8, ; + tx_cautare.Anchor = 672, ; + tx_cautare.FontName = "Arial Narrow", ; + tx_cautare.Height = 23, ; + tx_cautare.Left = 72, ; + tx_cautare.Name = "tx_cautare", ; + tx_cautare.Top = 4, ; + tx_cautare.Width = 166 + *< END OBJECT: ClassLib="caut_ora.vcx" BaseClass="container" /> + + ADD OBJECT 'page1.Page1.Ct_clb_cetatenie' AS ct_clb_cautare_var WITH ; + Anchor = 672, ; + cconditie = EMPTY(NVL(popers.id_cetatenie,0)), ; + cprocedura = Thisform.do_cauta_cetatenie, ; + cvar_afisata = popers.cetatenie, ; + Height = 31, ; + Left = 245, ; + Name = "Ct_clb_cetatenie", ; + TabIndex = 8, ; + Top = 198, ; + Width = 271, ; + shape_cautare.BorderStyle = 0, ; + shape_cautare.Name = "shape_cautare", ; + img_cautare.Anchor = 672, ; + img_cautare.Left = 243, ; + img_cautare.Name = "img_cautare", ; + img_cautare.Top = 5, ; + lb_cautare.Caption = "Cetãþenie", ; + lb_cautare.Left = 0, ; + lb_cautare.Name = "lb_cautare", ; + lb_cautare.Top = 8, ; + tx_cautare.Anchor = 672, ; + tx_cautare.FontName = "Arial Narrow", ; + tx_cautare.Height = 23, ; + tx_cautare.Left = 72, ; + tx_cautare.Name = "tx_cautare", ; + tx_cautare.Top = 4, ; + tx_cautare.Width = 166 + *< END OBJECT: ClassLib="caut_ora.vcx" BaseClass="container" /> + + ADD OBJECT 'page1.Page1.Ct_clb_judet' AS ct_clb_cautare_var WITH ; + Anchor = 672, ; + cconditie = EMPTY(NVL(popers.id_judet,0)), ; + cprocedura = Thisform.do_cauta_judet, ; + cvar_afisata = popers.judet, ; + Height = 31, ; + Left = 520, ; + Name = "Ct_clb_judet", ; + TabIndex = 14, ; + Top = 2, ; + Width = 271, ; + shape_cautare.BorderStyle = 0, ; + shape_cautare.Name = "shape_cautare", ; + img_cautare.Anchor = 672, ; + img_cautare.Left = 243, ; + img_cautare.Name = "img_cautare", ; + img_cautare.Top = 5, ; + lb_cautare.Caption = "Judeþ", ; + lb_cautare.Left = 0, ; + lb_cautare.Name = "lb_cautare", ; + lb_cautare.Top = 8, ; + tx_cautare.Anchor = 672, ; + tx_cautare.FontName = "Arial Narrow", ; + tx_cautare.Height = 23, ; + tx_cautare.Left = 72, ; + tx_cautare.Name = "tx_cautare", ; + tx_cautare.Top = 4, ; + tx_cautare.Width = 166 + *< END OBJECT: ClassLib="caut_ora.vcx" BaseClass="container" /> + + ADD OBJECT 'page1.Page1.Ct_clb_localitate' AS ct_clb_cautare_var WITH ; + Anchor = 672, ; + cconditie = EMPTY(NVL(popers.id_loc,0)), ; + cprocedura = Thisform.do_cauta_localitate, ; + cvar_afisata = popers.localitate, ; + Height = 31, ; + Left = 520, ; + Name = "Ct_clb_localitate", ; + TabIndex = 15, ; + Top = 29, ; + Width = 271, ; + shape_cautare.BorderStyle = 0, ; + shape_cautare.Name = "shape_cautare", ; + img_cautare.Anchor = 672, ; + img_cautare.Left = 243, ; + img_cautare.Name = "img_cautare", ; + img_cautare.Top = 5, ; + lb_cautare.Caption = "Localitate", ; + lb_cautare.Left = 0, ; + lb_cautare.Name = "lb_cautare", ; + lb_cautare.Top = 8, ; + tx_cautare.Anchor = 672, ; + tx_cautare.FontName = "Arial Narrow", ; + tx_cautare.Height = 23, ; + tx_cautare.Left = 72, ; + tx_cautare.Name = "tx_cautare", ; + tx_cautare.Top = 4, ; + tx_cautare.Width = 166 + *< END OBJECT: ClassLib="caut_ora.vcx" BaseClass="container" /> + + ADD OBJECT 'page1.Page1.Ct_clb_nationalitate' AS ct_clb_cautare_var WITH ; + Anchor = 672, ; + cconditie = EMPTY(NVL(popers.id_nationalit,0)), ; + clista_parametri = 1, ; + cprocedura = Thisform.do_cauta_tara, ; + cvar_afisata = popers.nationalitate, ; + Height = 31, ; + Left = 245, ; + Name = "Ct_clb_nationalitate", ; + TabIndex = 9, ; + Top = 224, ; + Width = 271, ; + shape_cautare.BorderStyle = 0, ; + shape_cautare.Name = "shape_cautare", ; + img_cautare.Anchor = 672, ; + img_cautare.Left = 243, ; + img_cautare.Name = "img_cautare", ; + img_cautare.Top = 5, ; + lb_cautare.Caption = "Naþionalitate", ; + lb_cautare.Left = 0, ; + lb_cautare.Name = "lb_cautare", ; + lb_cautare.Top = 8, ; + tx_cautare.Anchor = 672, ; + tx_cautare.FontName = "Arial Narrow", ; + tx_cautare.Height = 23, ; + tx_cautare.Left = 72, ; + tx_cautare.Name = "tx_cautare", ; + tx_cautare.Top = 4, ; + tx_cautare.Width = 166 + *< END OBJECT: ClassLib="caut_ora.vcx" BaseClass="container" /> + + ADD OBJECT 'page1.Page1.Ct_clb_tip_act' AS ct_clb_cautare_var WITH ; + Anchor = 672, ; + cconditie = EMPTY(NVL(popers.id_tip_act,0)), ; + cprocedura = Thisform.do_cauta_tipact, ; + cvar_afisata = popers.tip_act, ; + Height = 31, ; + Left = 245, ; + Name = "Ct_clb_tip_act", ; + TabIndex = 10, ; + Top = 251, ; + Width = 271, ; + shape_cautare.BorderStyle = 0, ; + shape_cautare.Name = "shape_cautare", ; + img_cautare.Anchor = 672, ; + img_cautare.Left = 243, ; + img_cautare.Name = "img_cautare", ; + img_cautare.Top = 5, ; + lb_cautare.Caption = "Tip act", ; + lb_cautare.Left = 0, ; + lb_cautare.Name = "lb_cautare", ; + lb_cautare.Top = 8, ; + tx_cautare.Anchor = 672, ; + tx_cautare.FontName = "Arial Narrow", ; + tx_cautare.Height = 23, ; + tx_cautare.Left = 72, ; + tx_cautare.Name = "tx_cautare", ; + tx_cautare.Top = 4, ; + tx_cautare.Width = 166 + *< END OBJECT: ClassLib="caut_ora.vcx" BaseClass="container" /> + + ADD OBJECT 'page1.Page1.Image1' AS image WITH ; + Anchor = 672, ; + BorderStyle = 1, ; + Height = 121, ; + Left = 250, ; + Name = "Image1", ; + Picture = ..\grafice\searchalb.bmp, ; + Top = 366, ; + Visible = .T., ; + Width = 109 + *< END OBJECT: BaseClass="image" /> + + ADD OBJECT 'page1.Page1.lb1' AS lb_simplu WITH ; + Anchor = 672, ; + Caption = "Marca", ; + Left = 245, ; + Name = "lb1", ; + TabIndex = 30, ; + Top = 13, ; + ZOrderSet = 7 + *< END OBJECT: ClassLib="lb.vcx" BaseClass="label" /> + + ADD OBJECT 'page1.Page1.lb10' AS lb_simplu WITH ; + Anchor = 672, ; + Caption = "Bloc", ; + Left = 520, ; + Name = "lb10", ; + TabIndex = 44, ; + Top = 115, ; + ZOrderSet = 31 + *< END OBJECT: ClassLib="lb.vcx" BaseClass="label" /> + + ADD OBJECT 'page1.Page1.lb11' AS lb_simplu WITH ; + Anchor = 672, ; + Caption = "Scarã", ; + Left = 520, ; + Name = "lb11", ; + TabIndex = 45, ; + Top = 143, ; + ZOrderSet = 33 + *< END OBJECT: ClassLib="lb.vcx" BaseClass="label" /> + + ADD OBJECT 'page1.Page1.lb12' AS lb_simplu WITH ; + Anchor = 672, ; + Caption = "Apartament", ; + Left = 520, ; + Name = "lb12", ; + TabIndex = 46, ; + Top = 198, ; + ZOrderSet = 35 + *< END OBJECT: ClassLib="lb.vcx" BaseClass="label" /> + + ADD OBJECT 'page1.Page1.lb13' AS lb_simplu WITH ; + Anchor = 672, ; + Caption = "Cod poºtal", ; + Left = 520, ; + Name = "lb13", ; + TabIndex = 50, ; + Top = 225, ; + ZOrderSet = 37 + *< END OBJECT: ClassLib="lb.vcx" BaseClass="label" /> + + ADD OBJECT 'page1.Page1.lb15' AS lb_simplu WITH ; + Anchor = 672, ; + Caption = "Data eliberãrii", ; + Left = 245, ; + Name = "lb15", ; + TabIndex = 52, ; + Top = 341, ; + ZOrderSet = 41 + *< END OBJECT: ClassLib="lb.vcx" BaseClass="label" /> + + ADD OBJECT 'page1.Page1.lb2' AS lb_simplu WITH ; + Anchor = 672, ; + Caption = "Nume", ; + Left = 245, ; + Name = "lb2", ; + TabIndex = 34, ; + Top = 40, ; + ZOrderSet = 15 + *< END OBJECT: ClassLib="lb.vcx" BaseClass="label" /> + + ADD OBJECT 'page1.Page1.lb3' AS lb_simplu WITH ; + Anchor = 672, ; + Caption = "Prenume", ; + Left = 245, ; + Name = "lb3", ; + TabIndex = 38, ; + Top = 68, ; + ZOrderSet = 17 + *< END OBJECT: ClassLib="lb.vcx" BaseClass="label" /> + + ADD OBJECT 'page1.Page1.lb4' AS lb_simplu WITH ; + Anchor = 672, ; + Caption = "CNP", ; + Left = 245, ; + Name = "lb4", ; + TabIndex = 39, ; + Top = 96, ; + ZOrderSet = 19 + *< END OBJECT: ClassLib="lb.vcx" BaseClass="label" /> + + ADD OBJECT 'page1.Page1.lb7' AS lb_simplu WITH ; + Anchor = 672, ; + Caption = "Sector", ; + Left = 672, ; + Name = "lb7", ; + TabIndex = 41, ; + Top = 225, ; + ZOrderSet = 25 + *< END OBJECT: ClassLib="lb.vcx" BaseClass="label" /> + + ADD OBJECT 'page1.Page1.lb8' AS lb_simplu WITH ; + Anchor = 672, ; + Caption = "Stradã", ; + Left = 520, ; + Name = "lb8", ; + TabIndex = 42, ; + Top = 61, ; + ZOrderSet = 27 + *< END OBJECT: ClassLib="lb.vcx" BaseClass="label" /> + + ADD OBJECT 'page1.Page1.lb9' AS lb_simplu WITH ; + Anchor = 672, ; + Caption = "Numãr", ; + Left = 520, ; + Name = "lb9", ; + TabIndex = 43, ; + Top = 88, ; + ZOrderSet = 29 + *< END OBJECT: ClassLib="lb.vcx" BaseClass="label" /> + + ADD OBJECT 'page1.Page1.Lb_simplu1' AS lb_simplu WITH ; + Anchor = 672, ; + Caption = "Serie ºi nr.", ; + Left = 245, ; + Name = "Lb_simplu1", ; + TabIndex = 48, ; + Top = 287, ; + ZOrderSet = 37 + *< END OBJECT: ClassLib="lb.vcx" BaseClass="label" /> + + ADD OBJECT 'page1.Page1.Lb_simplu10' AS lb_simplu WITH ; + Anchor = 672, ; + Caption = "Telefon", ; + Left = 520, ; + Name = "Lb_simplu10", ; + TabIndex = 49, ; + Top = 251, ; + ZOrderSet = 37 + *< END OBJECT: ClassLib="lb.vcx" BaseClass="label" /> + + ADD OBJECT 'page1.Page1.Lb_simplu12' AS lb_simplu WITH ; + Anchor = 672, ; + Caption = "Datã naºtere", ; + Left = 245, ; + Name = "Lb_simplu12", ; + TabIndex = 51, ; + Top = 123, ; + ZOrderSet = 41 + *< END OBJECT: ClassLib="lb.vcx" BaseClass="label" /> + + ADD OBJECT 'page1.Page1.Lb_simplu2' AS lb_simplu WITH ; + Anchor = 672, ; + Caption = "Cod acces:", ; + Left = 363, ; + Name = "Lb_simplu2", ; + TabIndex = 35, ; + Top = 371, ; + ZOrderSet = 15 + *< END OBJECT: ClassLib="lb.vcx" BaseClass="label" /> + + ADD OBJECT 'page1.Page1.Lb_simplu3' AS lb_simplu WITH ; + Anchor = 672, ; + Caption = "Eliberat de", ; + Left = 245, ; + Name = "Lb_simplu3", ; + TabIndex = 36, ; + Top = 314, ; + ZOrderSet = 15 + *< END OBJECT: ClassLib="lb.vcx" BaseClass="label" /> + + ADD OBJECT 'page1.Page1.Lb_simplu4' AS lb_simplu WITH ; + Anchor = 672, ; + Caption = "Situaþia militarã", ; + Left = 522, ; + Name = "Lb_simplu4", ; + TabIndex = 31, ; + Top = 308, ; + ZOrderSet = 15 + *< END OBJECT: ClassLib="lb.vcx" BaseClass="label" /> + + ADD OBJECT 'page1.Page1.Lb_simplu5' AS lb_simplu WITH ; + Anchor = 672, ; + Caption = "Livret", ; + Left = 522, ; + Name = "Lb_simplu5", ; + TabIndex = 32, ; + Top = 331, ; + ZOrderSet = 15 + *< END OBJECT: ClassLib="lb.vcx" BaseClass="label" /> + + ADD OBJECT 'page1.Page1.Lb_simplu6' AS lb_simplu WITH ; + Anchor = 672, ; + Caption = "Grad militar", ; + Left = 522, ; + Name = "Lb_simplu6", ; + TabIndex = 33, ; + Top = 386, ; + ZOrderSet = 15 + *< END OBJECT: ClassLib="lb.vcx" BaseClass="label" /> + + ADD OBJECT 'page1.Page1.Lb_simplu7' AS lb_simplu WITH ; + Anchor = 672, ; + Caption = "Specialitate", ; + Left = 522, ; + Name = "Lb_simplu7", ; + TabIndex = 37, ; + Top = 360, ; + ZOrderSet = 15 + *< END OBJECT: ClassLib="lb.vcx" BaseClass="label" /> + + ADD OBJECT 'page1.Page1.Lb_simplu8' AS lb_simplu WITH ; + Anchor = 672, ; + Caption = "Etaj", ; + Left = 520, ; + Name = "Lb_simplu8", ; + TabIndex = 47, ; + Top = 171, ; + ZOrderSet = 35 + *< END OBJECT: ClassLib="lb.vcx" BaseClass="label" /> + + ADD OBJECT 'page1.Page1.Lb_simplu9' AS lb_simplu WITH ; + Anchor = 672, ; + Caption = "Loc naºtere", ; + Left = 245, ; + Name = "Lb_simplu9", ; + TabIndex = 40, ; + Top = 150, ; + ZOrderSet = 23 + *< END OBJECT: ClassLib="lb.vcx" BaseClass="label" /> + + ADD OBJECT 'page1.Page1.tx1' AS _txbase WITH ; + Anchor = 672, ; + ControlSource = "popers.marca", ; + DisabledBackColor = 242,242,242, ; + Format = "!K", ; + Height = 23, ; + InputMask = "99999999", ; + Left = 317, ; + Name = "tx1", ; + ReadOnly = .T., ; + TabIndex = 1, ; + Top = 10, ; + Width = 72, ; + ZOrderSet = 14 + *< END OBJECT: ClassLib="_tx_base.vcx" BaseClass="textbox" /> + + ADD OBJECT 'page1.Page1.tx10' AS _txbase WITH ; + Anchor = 672, ; + ControlSource = "popers.bieliberat", ; + DisabledBackColor = 242,242,242, ; + Format = "!K", ; + Height = 23, ; + Left = 317, ; + Name = "tx10", ; + ReadOnly = .T., ; + TabIndex = 12, ; + Top = 311, ; + Width = 182, ; + ZOrderSet = 16 + *< END OBJECT: ClassLib="_tx_base.vcx" BaseClass="textbox" /> + + ADD OBJECT 'page1.Page1.tx11' AS _txbase WITH ; + Anchor = 672, ; + ControlSource = "popers.bidata", ; + DisabledBackColor = 242,242,242, ; + Format = "!K", ; + Height = 23, ; + Left = 325, ; + Name = "tx11", ; + ReadOnly = .T., ; + TabIndex = 13, ; + Top = 338, ; + Width = 72, ; + ZOrderSet = 42 + *< END OBJECT: ClassLib="_tx_base.vcx" BaseClass="textbox" /> + + ADD OBJECT 'page1.Page1.tx13' AS _txbase WITH ; + Anchor = 672, ; + ControlSource = "popers.sector", ; + Format = "!K", ; + Height = 23, ; + Left = 714, ; + Name = "tx13", ; + ReadOnly = .T., ; + TabIndex = 23, ; + TabStop = .F., ; + Top = 222, ; + Width = 32, ; + ZOrderSet = 26 + *< END OBJECT: ClassLib="_tx_base.vcx" BaseClass="textbox" /> + + ADD OBJECT 'page1.Page1.tx15' AS _txbase WITH ; + Anchor = 672, ; + ControlSource = "popers.strada", ; + DisabledBackColor = 242,242,242, ; + Format = "!K", ; + Height = 23, ; + Left = 592, ; + Name = "tx15", ; + ReadOnly = .T., ; + TabIndex = 16, ; + Top = 58, ; + Width = 182, ; + ZOrderSet = 28 + *< END OBJECT: ClassLib="_tx_base.vcx" BaseClass="textbox" /> + + ADD OBJECT 'page1.Page1.tx16' AS _txbase WITH ; + Anchor = 672, ; + ControlSource = "popers.numar", ; + DisabledBackColor = 242,242,242, ; + Format = "!K", ; + Height = 23, ; + Left = 592, ; + Name = "tx16", ; + ReadOnly = .T., ; + TabIndex = 17, ; + Top = 85, ; + Width = 42, ; + ZOrderSet = 30 + *< END OBJECT: ClassLib="_tx_base.vcx" BaseClass="textbox" /> + + ADD OBJECT 'page1.Page1.tx17' AS _txbase WITH ; + Anchor = 672, ; + ControlSource = "popers.bloc", ; + DisabledBackColor = 242,242,242, ; + Format = "!K", ; + Height = 23, ; + Left = 592, ; + Name = "tx17", ; + ReadOnly = .T., ; + TabIndex = 18, ; + Top = 112, ; + Width = 42, ; + ZOrderSet = 32 + *< END OBJECT: ClassLib="_tx_base.vcx" BaseClass="textbox" /> + + ADD OBJECT 'page1.Page1.tx18' AS _txbase WITH ; + Anchor = 672, ; + ControlSource = "popers.scara", ; + DisabledBackColor = 242,242,242, ; + Format = "!K", ; + Height = 23, ; + Left = 592, ; + Name = "tx18", ; + ReadOnly = .T., ; + TabIndex = 19, ; + Top = 140, ; + Width = 42, ; + ZOrderSet = 34 + *< END OBJECT: ClassLib="_tx_base.vcx" BaseClass="textbox" /> + + ADD OBJECT 'page1.Page1.tx19' AS _txbase WITH ; + Anchor = 672, ; + ControlSource = "popers.etaj", ; + DisabledBackColor = 242,242,242, ; + Format = "K", ; + Height = 23, ; + Left = 592, ; + Name = "tx19", ; + ReadOnly = .T., ; + TabIndex = 20, ; + Top = 168, ; + Width = 42, ; + ZOrderSet = 36 + *< END OBJECT: ClassLib="_tx_base.vcx" BaseClass="textbox" /> + + ADD OBJECT 'page1.Page1.tx2' AS _txbase WITH ; + Anchor = 672, ; + ControlSource = "popers.nume", ; + DisabledBackColor = 242,242,242, ; + Format = "!K", ; + Height = 23, ; + Left = 317, ; + Name = "tx2", ; + ReadOnly = .T., ; + TabIndex = 2, ; + Top = 37, ; + Width = 182, ; + ZOrderSet = 16 + *< END OBJECT: ClassLib="_tx_base.vcx" BaseClass="textbox" /> + + ADD OBJECT 'page1.Page1.tx20' AS _txbase WITH ; + Anchor = 672, ; + ControlSource = "popers.apart", ; + DisabledBackColor = 242,242,242, ; + Format = "K", ; + Height = 23, ; + Left = 592, ; + Name = "tx20", ; + ReadOnly = .T., ; + TabIndex = 21, ; + Top = 195, ; + Width = 42, ; + ZOrderSet = 36 + *< END OBJECT: ClassLib="_tx_base.vcx" BaseClass="textbox" /> + + ADD OBJECT 'page1.Page1.tx21' AS _txbase WITH ; + Anchor = 672, ; + ControlSource = "popers.codpostal", ; + DisabledBackColor = 242,242,242, ; + Format = "!K", ; + Height = 23, ; + Left = 592, ; + Name = "tx21", ; + ReadOnly = .T., ; + TabIndex = 22, ; + Top = 222, ; + Width = 72, ; + ZOrderSet = 38 + *< END OBJECT: ClassLib="_tx_base.vcx" BaseClass="textbox" /> + + ADD OBJECT 'page1.Page1.tx22' AS _txbase WITH ; + Anchor = 672, ; + ControlSource = "popers.sitmil", ; + DisabledBackColor = 242,242,242, ; + Format = "!K", ; + Height = 23, ; + Left = 618, ; + Name = "tx22", ; + ReadOnly = .T., ; + TabIndex = 25, ; + Top = 305, ; + Width = 162, ; + ZOrderSet = 16 + *< END OBJECT: ClassLib="_tx_base.vcx" BaseClass="textbox" /> + + ADD OBJECT 'page1.Page1.tx23' AS _txbase WITH ; + Anchor = 672, ; + ControlSource = "popers.livretmil", ; + DisabledBackColor = 242,242,242, ; + Format = "K", ; + Height = 23, ; + Left = 618, ; + Name = "tx23", ; + ReadOnly = .T., ; + TabIndex = 26, ; + Top = 331, ; + Width = 162, ; + ZOrderSet = 16 + *< END OBJECT: ClassLib="_tx_base.vcx" BaseClass="textbox" /> + + ADD OBJECT 'page1.Page1.tx24' AS _txbase WITH ; + Anchor = 672, ; + ControlSource = "popers.specmil", ; + DisabledBackColor = 242,242,242, ; + Format = "!K", ; + Height = 23, ; + Left = 618, ; + Name = "tx24", ; + ReadOnly = .T., ; + TabIndex = 27, ; + Top = 357, ; + Width = 162, ; + ZOrderSet = 16 + *< END OBJECT: ClassLib="_tx_base.vcx" BaseClass="textbox" /> + + ADD OBJECT 'page1.Page1.tx25' AS _txbase WITH ; + Anchor = 672, ; + ControlSource = "popers.gradmil", ; + DisabledBackColor = 242,242,242, ; + Format = "!K", ; + Height = 23, ; + Left = 618, ; + Name = "tx25", ; + ReadOnly = .T., ; + TabIndex = 28, ; + Top = 383, ; + Width = 162, ; + ZOrderSet = 16 + *< END OBJECT: ClassLib="_tx_base.vcx" BaseClass="textbox" /> + + ADD OBJECT 'page1.Page1.tx26' AS _txbase WITH ; + Anchor = 672, ; + ControlSource = "popers.telefon", ; + DisabledBackColor = 242,242,242, ; + Format = "!K", ; + Height = 23, ; + Left = 592, ; + Name = "tx26", ; + ReadOnly = .T., ; + TabIndex = 24, ; + Top = 248, ; + Width = 72, ; + ZOrderSet = 38 + *< END OBJECT: ClassLib="_tx_base.vcx" BaseClass="textbox" /> + + ADD OBJECT 'page1.Page1.tx3' AS _txbase WITH ; + Anchor = 672, ; + ControlSource = "popers.prenume", ; + DisabledBackColor = 242,242,242, ; + Format = "!K", ; + Height = 23, ; + Left = 317, ; + Name = "tx3", ; + ReadOnly = .T., ; + TabIndex = 3, ; + Top = 65, ; + Width = 182, ; + ZOrderSet = 18 + *< END OBJECT: ClassLib="_tx_base.vcx" BaseClass="textbox" /> + + ADD OBJECT 'page1.Page1.tx4' AS _txbase WITH ; + Anchor = 672, ; + ControlSource = "popers.codpers", ; + DisabledBackColor = 242,242,242, ; + Format = "!K", ; + Height = 23, ; + InputMask = "9999999999999", ; + Left = 317, ; + Name = "tx4", ; + ReadOnly = .T., ; + TabIndex = 4, ; + Top = 93, ; + Width = 182, ; + ZOrderSet = 20 + *< END OBJECT: ClassLib="_tx_base.vcx" BaseClass="textbox" /> + + ADD OBJECT 'page1.Page1.tx5' AS _txbase WITH ; + Anchor = 672, ; + ControlSource = "popers.locnastere", ; + DisabledBackColor = 242,242,242, ; + Format = "!K", ; + Height = 23, ; + Left = 317, ; + Name = "tx5", ; + ReadOnly = .T., ; + TabIndex = 6, ; + Top = 147, ; + Width = 182, ; + ZOrderSet = 24 + *< END OBJECT: ClassLib="_tx_base.vcx" BaseClass="textbox" /> + + ADD OBJECT 'page1.Page1.tx8' AS _txbase WITH ; + Anchor = 672, ; + ControlSource = "popers.biserianr", ; + DisabledBackColor = 242,242,242, ; + Format = "!K", ; + Height = 23, ; + Left = 317, ; + Name = "tx8", ; + ReadOnly = .T., ; + TabIndex = 11, ; + ToolTipText = "Serie si numar fara spatii intre ele", ; + Top = 284, ; + Width = 182, ; + ZOrderSet = 14 + *< END OBJECT: ClassLib="_tx_base.vcx" BaseClass="textbox" /> + + ADD OBJECT 'page1.Page10.But_nou1' AS but_nou WITH ; + Anchor = 72, ; + caction = upload, ; + Height = 27, ; + Left = 716, ; + Name = "But_nou1", ; + Top = 15, ; + Width = 30 + *< END OBJECT: ClassLib="cmd_butoane.vcx" BaseClass="commandbutton" /> + + ADD OBJECT 'page1.Page10.But_sterge1' AS but_sterge WITH ; + Anchor = 72, ; + caction = do_sterge_atas, ; + Left = 746, ; + Name = "But_sterge1", ; + Top = 15, ; + Visible = .T. + *< END OBJECT: ClassLib="cmd_butoane.vcx" BaseClass="commandbutton" /> + + ADD OBJECT 'page1.Page10.gridAtasamente' AS grid WITH ; + Anchor = 240, ; + ColumnCount = 6, ; + DeleteMark = .F., ; + FontName = "Arial Narrow", ; + Height = 348, ; + HighlightStyle = 0, ; + Left = 239, ; + Name = "gridAtasamente", ; + Panel = 1, ; + ReadOnly = .T., ; + RecordMark = .F., ; + RecordSource = "v_atas", ; + Top = 56, ; + Width = 553, ; + Column1.ControlSource = "atasament", ; + Column1.CurrentControl = "Command1", ; + Column1.FontName = "Arial Narrow", ; + Column1.Name = "Column1", ; + Column1.ReadOnly = .T., ; + Column1.Sparse = .F., ; + Column1.Visible = .T., ; + Column1.Width = 73, ; + Column2.ControlSource = "nume_atasament", ; + Column2.FontName = "Arial Narrow", ; + Column2.Name = "Column2", ; + Column2.ReadOnly = .T., ; + Column2.Width = 113, ; + Column3.ColumnOrder = 3, ; + Column3.ControlSource = "descriere", ; + Column3.FontName = "Arial Narrow", ; + Column3.Name = "Column3", ; + Column3.ReadOnly = .T., ; + Column3.Width = 101, ; + Column4.ColumnOrder = 4, ; + Column4.ControlSource = "nr_doc", ; + Column4.FontName = "Arial Narrow", ; + Column4.Name = "Column4", ; + Column4.ReadOnly = .T., ; + Column4.Width = 79, ; + Column5.ColumnOrder = 5, ; + Column5.ControlSource = "data_doc", ; + Column5.FontName = "Arial Narrow", ; + Column5.Name = "Column5", ; + Column5.ReadOnly = .T., ; + Column5.Width = 103, ; + Column6.ControlSource = "utilizator", ; + Column6.FontName = "Arial Narrow", ; + Column6.Name = "Column6", ; + Column6.ReadOnly = .T., ; + Column6.Width = 94 + *< END OBJECT: BaseClass="grid" /> + + ADD OBJECT 'page1.Page10.gridAtasamente.Column1.Command1' AS commandbutton WITH ; + Caption = "", ; + FontName = "Arial Narrow", ; + Height = 10, ; + Left = 11, ; + Name = "Command1", ; + Picture = ..\grafice\attach_mic.bmp, ; + SpecialEffect = 1, ; + Top = 23, ; + Width = 10 + *< END OBJECT: BaseClass="commandbutton" /> + + ADD OBJECT 'page1.Page10.gridAtasamente.Column1.Header1' AS header WITH ; + Caption = "ATASAMENT", ; + FontName = "Arial Narrow", ; + Name = "Header1" + *< END OBJECT: BaseClass="header" /> + + ADD OBJECT 'page1.Page10.gridAtasamente.Column1.Text1' AS textbox WITH ; + BackColor = 255,255,255, ; + BorderStyle = 0, ; + ForeColor = 0,0,0, ; + Margin = 0, ; + Name = "Text1", ; + Visible = .T. + *< END OBJECT: BaseClass="textbox" /> + + ADD OBJECT 'page1.Page10.gridAtasamente.Column2.Header1' AS header WITH ; + Caption = "NUME_ATASAMENT", ; + FontName = "Arial Narrow", ; + Name = "Header1" + *< END OBJECT: BaseClass="header" /> + + ADD OBJECT 'page1.Page10.gridAtasamente.Column2.Text1' AS textbox WITH ; + BackColor = 255,255,255, ; + BorderStyle = 0, ; + FontName = "Arial Narrow", ; + ForeColor = 0,0,0, ; + Margin = 0, ; + Name = "Text1" + *< END OBJECT: BaseClass="textbox" /> + + ADD OBJECT 'page1.Page10.gridAtasamente.Column3.Header1' AS header WITH ; + Caption = "Descriere", ; + FontName = "Arial Narrow", ; + Name = "Header1" + *< END OBJECT: BaseClass="header" /> + + ADD OBJECT 'page1.Page10.gridAtasamente.Column3.Text1' AS textbox WITH ; + BackColor = 255,255,255, ; + BorderStyle = 0, ; + FontName = "Arial Narrow", ; + ForeColor = 0,0,0, ; + Margin = 0, ; + Name = "Text1" + *< END OBJECT: BaseClass="textbox" /> + + ADD OBJECT 'page1.Page10.gridAtasamente.Column4.Header1' AS header WITH ; + Caption = "NR_DOC", ; + FontName = "Arial Narrow", ; + Name = "Header1" + *< END OBJECT: BaseClass="header" /> + + ADD OBJECT 'page1.Page10.gridAtasamente.Column4.Text1' AS textbox WITH ; + BackColor = 255,255,255, ; + BorderStyle = 0, ; + FontName = "Arial Narrow", ; + ForeColor = 0,0,0, ; + Margin = 0, ; + Name = "Text1" + *< END OBJECT: BaseClass="textbox" /> + + ADD OBJECT 'page1.Page10.gridAtasamente.Column5.Header1' AS header WITH ; + Caption = "DATA_DOC", ; + FontName = "Arial Narrow", ; + Name = "Header1" + *< END OBJECT: BaseClass="header" /> + + ADD OBJECT 'page1.Page10.gridAtasamente.Column5.Text1' AS textbox WITH ; + BackColor = 255,255,255, ; + BorderStyle = 0, ; + FontName = "Arial Narrow", ; + ForeColor = 0,0,0, ; + Margin = 0, ; + Name = "Text1" + *< END OBJECT: BaseClass="textbox" /> + + ADD OBJECT 'page1.Page10.gridAtasamente.Column6.Header1' AS header WITH ; + Caption = "UTILIZATOR", ; + FontName = "Arial Narrow", ; + Name = "Header1" + *< END OBJECT: BaseClass="header" /> + + ADD OBJECT 'page1.Page10.gridAtasamente.Column6.Text1' AS textbox WITH ; + BackColor = 255,255,255, ; + BorderStyle = 0, ; + FontName = "Arial Narrow", ; + ForeColor = 0,0,0, ; + Margin = 0, ; + Name = "Text1" + *< END OBJECT: BaseClass="textbox" /> + + ADD OBJECT 'page1.Page10.Lb_simplu1' AS lb_simplu WITH ; + Anchor = 544, ; + Caption = "Ataºamente", ; + FontBold = .T., ; + FontSize = 10, ; + Left = 264, ; + Name = "Lb_simplu1", ; + Top = 19 + *< END OBJECT: ClassLib="lb.vcx" BaseClass="label" /> + + ADD OBJECT 'page1.Page11.But_modifica1' AS but_modifica WITH ; + Anchor = 8, ; + caction = do_modifica_aviz, ; + Left = 636, ; + Name = "But_modifica1", ; + TabIndex = 3, ; + Top = 18, ; + Visible = .T. + *< END OBJECT: ClassLib="cmd_butoane.vcx" BaseClass="commandbutton" /> + + ADD OBJECT 'page1.Page11.But_nou1' AS but_nou WITH ; + Anchor = 8, ; + caction = do_adauga_aviz, ; + Left = 606, ; + Name = "But_nou1", ; + TabIndex = 2, ; + Top = 18 + *< END OBJECT: ClassLib="cmd_butoane.vcx" BaseClass="commandbutton" /> + + ADD OBJECT 'page1.Page11.But_sterge1' AS but_sterge WITH ; + Anchor = 8, ; + caction = do_sterge_aviz, ; + Left = 666, ; + Name = "But_sterge1", ; + TabIndex = 4, ; + Top = 18, ; + Visible = .T. + *< END OBJECT: ClassLib="cmd_butoane.vcx" BaseClass="commandbutton" /> + + ADD OBJECT 'page1.Page11.Grid3' AS grid WITH ; + Anchor = 165, ; + ColumnCount = 3, ; + DeleteMark = .F., ; + FontName = "Arial Narrow", ; + GridLines = 3, ; + HeaderHeight = 18, ; + Height = 348, ; + Left = 356, ; + Name = "Grid3", ; + Panel = 1, ; + ReadOnly = .T., ; + RecordMark = .F., ; + RecordSource = "v_avize", ; + TabIndex = 1, ; + Top = 52, ; + Width = 312, ; + Column1.ControlSource = "Aviz", ; + Column1.FontName = "Arial Narrow", ; + Column1.Name = "Column3", ; + Column1.ReadOnly = .T., ; + Column1.Width = 154, ; + Column2.ControlSource = "data1", ; + Column2.FontName = "Arial Narrow", ; + Column2.Name = "Column4", ; + Column2.ReadOnly = .T., ; + Column2.Width = 67, ; + Column3.ControlSource = "data2", ; + Column3.FontName = "Arial Narrow", ; + Column3.Name = "Column1", ; + Column3.ReadOnly = .T., ; + Column3.Width = 95 + *< END OBJECT: BaseClass="grid" /> + + ADD OBJECT 'page1.Page11.Grid3.Column1.Header1' AS header WITH ; + Alignment = 2, ; + Caption = "Data expirarii", ; + FontName = "Arial Narrow", ; + Name = "Header1" + *< END OBJECT: BaseClass="header" /> + + ADD OBJECT 'page1.Page11.Grid3.Column1.Text1' AS textbox WITH ; + BackColor = 255,255,255, ; + BorderStyle = 0, ; + ForeColor = 0,0,0, ; + Margin = 0, ; + Name = "Text1", ; + ReadOnly = .T. + *< END OBJECT: BaseClass="textbox" /> + + ADD OBJECT 'page1.Page11.Grid3.Column3.Header1' AS header WITH ; + Alignment = 2, ; + Caption = "Aviz", ; + FontName = "Arial Narrow", ; + Name = "Header1" + *< END OBJECT: BaseClass="header" /> + + ADD OBJECT 'page1.Page11.Grid3.Column3.Text1' AS textbox WITH ; + BackColor = 255,255,255, ; + BorderStyle = 0, ; + FontName = "Arial Narrow", ; + ForeColor = 0,0,0, ; + Margin = 0, ; + Name = "Text1", ; + ReadOnly = .T. + *< END OBJECT: BaseClass="textbox" /> + + ADD OBJECT 'page1.Page11.Grid3.Column4.Header1' AS header WITH ; + Alignment = 2, ; + Caption = "Data aviz", ; + FontName = "Arial Narrow", ; + Name = "Header1" + *< END OBJECT: BaseClass="header" /> + + ADD OBJECT 'page1.Page11.Grid3.Column4.Text1' AS textbox WITH ; + BackColor = 255,255,255, ; + BorderStyle = 0, ; + FontName = "Arial Narrow", ; + ForeColor = 0,0,0, ; + Margin = 0, ; + Name = "Text1", ; + ReadOnly = .T. + *< END OBJECT: BaseClass="textbox" /> + + ADD OBJECT 'page1.Page2.Check1' AS checkbox WITH ; + Alignment = 0, ; + Anchor = 672, ; + AutoSize = .T., ; + BackStyle = 0, ; + Caption = "Persoana fizica cu sudii sup.si vechime >=1an ", ; + ControlSource = "popers.studiisup", ; + FontCharSet = 238, ; + Height = 17, ; + Left = 252, ; + Name = "Check1", ; + ReadOnly = .T., ; + TabIndex = 46, ; + TabStop = .F., ; + Top = 412, ; + Width = 275, ; + WordWrap = .T. + *< END OBJECT: BaseClass="checkbox" /> + + ADD OBJECT 'page1.Page2.ck_anulare_incetare' AS _checkbox WITH ; + Alignment = 0, ; + Anchor = 672, ; + Caption = "Anulare încetare", ; + FontName = "Arial Narrow", ; + Left = 242, ; + Name = "ck_anulare_incetare", ; + TabIndex = 61, ; + Top = 24, ; + Visible = .F. + *< END OBJECT: ClassLib="_baza.vcx" BaseClass="checkbox" /> + + ADD OBJECT 'page1.Page2.Ct_cb_duratam' AS ct_cb_tx WITH ; + Anchor = 672, ; + BorderWidth = 0, ; + ccrs_col = nume_durata_munca, ; + ccrs_col_id = id_durata_munca, ; + ccursor = crsnomduratam, ; + cprocedura = Thisform.do_actualizeaza_norma, ; + cvar_afisata = popers.nume_durata_munca, ; + cvar_id = popers.id_durata_munca, ; + Height = 29, ; + Left = 510, ; + Name = "Ct_cb_duratam", ; + TabIndex = 28, ; + Top = 233, ; + Width = 276, ; + _CBBASE1.Height = 23, ; + _CBBASE1.Left = 114, ; + _CBBASE1.Name = "_CBBASE1", ; + _CBBASE1.Top = 3, ; + _CBBASE1.Width = 160, ; + lb_explicatie.Caption = "Duratã timp normã", ; + lb_explicatie.FontName = "Arial Narrow", ; + lb_explicatie.Name = "lb_explicatie", ; + TEXT_SIMPLU1.Height = 23, ; + TEXT_SIMPLU1.Left = 114, ; + TEXT_SIMPLU1.Name = "TEXT_SIMPLU1", ; + TEXT_SIMPLU1.Top = 3, ; + TEXT_SIMPLU1.Width = 160 + *< END OBJECT: ClassLib="lb_tx.vcx" BaseClass="container" /> + + ADD OBJECT 'page1.Page2.Ct_cb_functiebaza' AS ct_cb_tx WITH ; + Anchor = 544, ; + BorderWidth = 0, ; + clista_valori = DA,1,NU,0, ; + cvar_afisata = popers.functiebaza, ; + Height = 29, ; + Left = 422, ; + Name = "Ct_cb_functiebaza", ; + ntip = 2, ; + TabIndex = 25, ; + Top = 184, ; + Width = 182, ; + _cbbase1.Height = 23, ; + _cbbase1.Left = 98, ; + _cbbase1.Name = "_cbbase1", ; + _cbbase1.Top = 3, ; + _cbbase1.Width = 80, ; + lb_explicatie.Caption = "Funcþie bazã", ; + lb_explicatie.Name = "lb_explicatie", ; + Text_simplu1.Height = 23, ; + Text_simplu1.Left = 98, ; + Text_simplu1.Name = "Text_simplu1", ; + Text_simplu1.Top = 3, ; + Text_simplu1.Width = 80 + *< END OBJECT: ClassLib="lb_tx.vcx" BaseClass="container" /> + + ADD OBJECT 'page1.Page2.Ct_cb_handicap' AS ct_cb_tx WITH ; + Anchor = 544, ; + BorderWidth = 0, ; + ccrs_col = denumire, ; + ccrs_col_id = id_handicap, ; + ccursor = v_hand, ; + cvar_afisata = popers.handicap, ; + cvar_id = popers.id_handicap, ; + Height = 29, ; + Left = 422, ; + Name = "Ct_cb_handicap", ; + TabIndex = 21, ; + Top = 136, ; + Width = 182, ; + _cbbase1.Height = 23, ; + _cbbase1.Left = 98, ; + _cbbase1.Name = "_cbbase1", ; + _cbbase1.Top = 3, ; + _cbbase1.Width = 80, ; + lb_explicatie.Caption = "Invalid", ; + lb_explicatie.Name = "lb_explicatie", ; + Text_simplu1.Height = 23, ; + Text_simplu1.Left = 98, ; + Text_simplu1.Name = "Text_simplu1", ; + Text_simplu1.Top = 3, ; + Text_simplu1.Width = 80 + *< END OBJECT: ClassLib="lb_tx.vcx" BaseClass="container" /> + + ADD OBJECT 'page1.Page2.Ct_cb_intm' AS ct_cb_tx WITH ; + Anchor = 672, ; + BorderWidth = 0, ; + ccrs_col = nume_interval_munca, ; + ccrs_col_id = id_interval_munca, ; + ccursor = crsnomintm, ; + cvar_afisata = popers.nume_interval_munca, ; + cvar_id = popers.id_interval_munca, ; + Height = 29, ; + Left = 510, ; + Name = "Ct_cb_intm", ; + TabIndex = 30, ; + Top = 284, ; + Width = 276, ; + _CBBASE1.Height = 23, ; + _CBBASE1.Left = 114, ; + _CBBASE1.Name = "_CBBASE1", ; + _CBBASE1.Top = 3, ; + _CBBASE1.Width = 160, ; + lb_explicatie.Caption = "Tip interval repartizare", ; + lb_explicatie.FontName = "Arial Narrow", ; + lb_explicatie.Name = "lb_explicatie", ; + TEXT_SIMPLU1.Height = 23, ; + TEXT_SIMPLU1.Left = 114, ; + TEXT_SIMPLU1.Name = "TEXT_SIMPLU1", ; + TEXT_SIMPLU1.Top = 3, ; + TEXT_SIMPLU1.Width = 160 + *< END OBJECT: ClassLib="lb_tx.vcx" BaseClass="container" /> + + ADD OBJECT 'page1.Page2.Ct_cb_pensionar' AS ct_cb_tx WITH ; + Anchor = 544, ; + BorderWidth = 0, ; + clista_valori = DA,1,NU,0, ; + cvar_afisata = popers.pensionar, ; + Height = 29, ; + Left = 422, ; + Name = "Ct_cb_pensionar", ; + ntip = 2, ; + TabIndex = 23, ; + Top = 160, ; + Width = 182, ; + _cbbase1.Height = 23, ; + _cbbase1.Left = 98, ; + _cbbase1.Name = "_cbbase1", ; + _cbbase1.Top = 3, ; + _cbbase1.Width = 80, ; + lb_explicatie.Caption = "Pensionar", ; + lb_explicatie.Name = "lb_explicatie", ; + Text_simplu1.Height = 23, ; + Text_simplu1.Left = 98, ; + Text_simplu1.Name = "Text_simplu1", ; + Text_simplu1.Top = 3, ; + Text_simplu1.Width = 80 + *< END OBJECT: ClassLib="lb_tx.vcx" BaseClass="container" /> + + ADD OBJECT 'page1.Page2.Ct_cb_platacas' AS ct_cb_tx WITH ; + Anchor = 544, ; + BorderWidth = 0, ; + clista_valori = DA,1,NU,0, ; + cvar_afisata = popers.plcas, ; + Height = 29, ; + Left = 598, ; + Name = "Ct_cb_platacas", ; + ntip = 2, ; + TabIndex = 22, ; + Top = 136, ; + Width = 182, ; + _cbbase1.Height = 23, ; + _cbbase1.Left = 98, ; + _cbbase1.Name = "_cbbase1", ; + _cbbase1.Top = 3, ; + _cbbase1.Width = 80, ; + lb_explicatie.Caption = "Plãteºte CAS", ; + lb_explicatie.Name = "lb_explicatie", ; + Text_simplu1.Height = 23, ; + Text_simplu1.Left = 98, ; + Text_simplu1.Name = "Text_simplu1", ; + Text_simplu1.Top = 3, ; + Text_simplu1.Width = 80 + *< END OBJECT: ClassLib="lb_tx.vcx" BaseClass="container" /> + + ADD OBJECT 'page1.Page2.Ct_cb_platasomaj' AS ct_cb_tx WITH ; + Anchor = 544, ; + BorderWidth = 0, ; + clista_valori = DA,1,NU,0, ; + cvar_afisata = popers.plsomaj, ; + Height = 29, ; + Left = 598, ; + Name = "Ct_cb_platasomaj", ; + ntip = 2, ; + TabIndex = 24, ; + Top = 160, ; + Width = 182, ; + _cbbase1.Height = 23, ; + _cbbase1.Left = 98, ; + _cbbase1.Name = "_cbbase1", ; + _cbbase1.Top = 3, ; + _cbbase1.Width = 80, ; + lb_explicatie.Caption = "Plãteºte ºomaj", ; + lb_explicatie.Name = "lb_explicatie", ; + Text_simplu1.Height = 23, ; + Text_simplu1.Left = 98, ; + Text_simplu1.Name = "Text_simplu1", ; + Text_simplu1.Top = 3, ; + Text_simplu1.Width = 80 + *< END OBJECT: ClassLib="lb_tx.vcx" BaseClass="container" /> + + ADD OBJECT 'page1.Page2.Ct_cb_repartm' AS ct_cb_tx WITH ; + Anchor = 672, ; + BorderWidth = 0, ; + ccrs_col = nume_repartizare_munca, ; + ccrs_col_id = id_repartizare_munca, ; + ccursor = crsnomrepartm, ; + cvar_afisata = popers.nume_repartizare_munca, ; + cvar_id = popers.id_repartizare_munca, ; + Height = 29, ; + Left = 510, ; + Name = "Ct_cb_repartm", ; + TabIndex = 29, ; + Top = 259, ; + Width = 276, ; + _CBBASE1.Height = 23, ; + _CBBASE1.Left = 114, ; + _CBBASE1.Name = "_CBBASE1", ; + _CBBASE1.Top = 3, ; + _CBBASE1.Width = 160, ; + lb_explicatie.Caption = "Repartizare timp muncã", ; + lb_explicatie.FontName = "Arial Narrow", ; + lb_explicatie.Name = "lb_explicatie", ; + TEXT_SIMPLU1.Height = 23, ; + TEXT_SIMPLU1.Left = 114, ; + TEXT_SIMPLU1.Name = "TEXT_SIMPLU1", ; + TEXT_SIMPLU1.Top = 3, ; + TEXT_SIMPLU1.Width = 160 + *< END OBJECT: ClassLib="lb_tx.vcx" BaseClass="container" /> + + ADD OBJECT 'page1.Page2.Ct_cb_tipn' AS ct_cb_tx WITH ; + Anchor = 672, ; + BorderWidth = 0, ; + ccrs_col = nume_tip_norma, ; + ccrs_col_id = id_tip_norma, ; + ccursor = crsnomtipn, ; + clista_parametri = 1, ; + cprocedura = Thisform.do_actualizeaza_nom_norme, ; + cvar_afisata = popers.nume_tip_norma, ; + cvar_id = popers.id_tip_norma, ; + Height = 29, ; + Left = 510, ; + Name = "Ct_cb_tipn", ; + TabIndex = 27, ; + Top = 208, ; + Width = 276, ; + _CBBASE1.Height = 23, ; + _CBBASE1.Left = 114, ; + _CBBASE1.Name = "_CBBASE1", ; + _CBBASE1.Top = 3, ; + _CBBASE1.Width = 160, ; + lb_explicatie.Caption = "Tip normã", ; + lb_explicatie.Name = "lb_explicatie", ; + TEXT_SIMPLU1.Height = 23, ; + TEXT_SIMPLU1.Left = 114, ; + TEXT_SIMPLU1.Name = "TEXT_SIMPLU1", ; + TEXT_SIMPLU1.Top = 3, ; + TEXT_SIMPLU1.Width = 160 + *< END OBJECT: ClassLib="lb_tx.vcx" BaseClass="container" /> + + ADD OBJECT 'page1.Page2.Ct_clb_banca' AS ct_clb_cautare_var WITH ; + Anchor = 672, ; + cconditie = EMPTY(NVL(popers.id_banca,0)), ; + cprocedura = Thisform.do_cauta_banca, ; + cvar_afisata = popers.banca, ; + Height = 31, ; + Left = 516, ; + Name = "Ct_clb_banca", ; + TabIndex = 35, ; + Top = 385, ; + Width = 271, ; + shape_cautare.BorderStyle = 0, ; + shape_cautare.Name = "shape_cautare", ; + img_cautare.Anchor = 672, ; + img_cautare.Left = 243, ; + img_cautare.Name = "img_cautare", ; + img_cautare.Top = 5, ; + lb_cautare.Caption = "Banca", ; + lb_cautare.Left = 0, ; + lb_cautare.Name = "lb_cautare", ; + lb_cautare.Top = 8, ; + tx_cautare.Anchor = 672, ; + tx_cautare.FontName = "Arial Narrow", ; + tx_cautare.Height = 23, ; + tx_cautare.Left = 96, ; + tx_cautare.Name = "tx_cautare", ; + tx_cautare.Top = 4, ; + tx_cautare.Width = 142 + *< END OBJECT: ClassLib="caut_ora.vcx" BaseClass="container" /> + + ADD OBJECT 'page1.Page2.Ct_clb_casa_sanatate' AS ct_clb_cautare_var WITH ; + Anchor = 672, ; + cconditie = EMPTY(NVL(popers.casaasig,'')), ; + cprocedura = Thisform.do_cauta_casaasig, ; + cvar_afisata = popers.casaasig, ; + Height = 31, ; + Left = 516, ; + Name = "Ct_clb_casa_sanatate", ; + TabIndex = 33, ; + Top = 335, ; + Width = 271, ; + shape_cautare.BorderStyle = 0, ; + shape_cautare.Name = "shape_cautare", ; + img_cautare.Anchor = 672, ; + img_cautare.Left = 243, ; + img_cautare.Name = "img_cautare", ; + img_cautare.Top = 5, ; + lb_cautare.Caption = "Casã sãnãtate", ; + lb_cautare.Left = 0, ; + lb_cautare.Name = "lb_cautare", ; + lb_cautare.Top = 8, ; + tx_cautare.Anchor = 672, ; + tx_cautare.FontName = "Arial Narrow", ; + tx_cautare.Height = 23, ; + tx_cautare.Left = 96, ; + tx_cautare.Name = "tx_cautare", ; + tx_cautare.Top = 4, ; + tx_cautare.Width = 142 + *< END OBJECT: ClassLib="caut_ora.vcx" BaseClass="container" /> + + ADD OBJECT 'page1.Page2.Ct_clb_cautare_var1' AS ct_clb_cautare_var WITH ; + Anchor = 672, ; + cconditie = EMPTY(NVL(popers.plimpozit,1)), ; + cprocedura = Thisform.do_cauta_plimpozit, ; + cvar_afisata = popers.scutireimpozit, ; + Height = 31, ; + Left = 606, ; + Name = "Ct_clb_cautare_var1", ; + TabIndex = 26, ; + Top = 182, ; + Width = 271, ; + shape_cautare.BorderStyle = 0, ; + shape_cautare.Name = "shape_cautare", ; + img_cautare.Anchor = 672, ; + img_cautare.Left = 169, ; + img_cautare.Name = "img_cautare", ; + img_cautare.Top = 5, ; + lb_cautare.Caption = "Plateste impozit", ; + lb_cautare.FontName = "Arial Narrow", ; + lb_cautare.Left = 0, ; + lb_cautare.Name = "lb_cautare", ; + lb_cautare.Top = 8, ; + tx_cautare.Anchor = 672, ; + tx_cautare.FontName = "Arial Narrow", ; + tx_cautare.Height = 23, ; + tx_cautare.Left = 68, ; + tx_cautare.Name = "tx_cautare", ; + tx_cautare.Top = 4, ; + tx_cautare.Width = 97 + *< END OBJECT: ClassLib="caut_ora.vcx" BaseClass="container" /> + + ADD OBJECT 'page1.Page2.Ct_clb_clasasal' AS ct_clb_cautare_var WITH ; + Anchor = 672, ; + cconditie = EMPTY(NVL(popers.cod,'')), ; + cprocedura = Thisform.do_cauta_clasasal, ; + cvar_afisata = popers.cod, ; + Height = 31, ; + Left = 243, ; + Name = "Ct_clb_clasasal", ; + TabIndex = 19, ; + Top = 360, ; + Width = 271, ; + shape_cautare.BorderStyle = 0, ; + shape_cautare.Name = "shape_cautare", ; + img_cautare.Anchor = 672, ; + img_cautare.Left = 243, ; + img_cautare.Name = "img_cautare", ; + img_cautare.Top = 5, ; + lb_cautare.Caption = "Clasã salarizare", ; + lb_cautare.Left = 0, ; + lb_cautare.Name = "lb_cautare", ; + lb_cautare.Top = 8, ; + tx_cautare.Anchor = 672, ; + tx_cautare.FontName = "Arial Narrow", ; + tx_cautare.Height = 23, ; + tx_cautare.Left = 96, ; + tx_cautare.Name = "tx_cautare", ; + tx_cautare.Top = 4, ; + tx_cautare.Width = 142 + *< END OBJECT: ClassLib="caut_ora.vcx" BaseClass="container" /> + + ADD OBJECT 'page1.Page2.Ct_clb_detasatla' AS ct_clb_cautare_var WITH ; + Anchor = 672, ; + cconditie = EMPTY(NVL(popers.id_parts,0)) , ; + clista_parametri = 2, ; + cprocedura = Thisform.do_cauta_partener, ; + cvar_afisata = popers.denumires, ; + Height = 31, ; + Left = 429, ; + Name = "Ct_clb_detasatla", ; + TabIndex = 5, ; + Top = 50, ; + Width = 205, ; + shape_cautare.BorderStyle = 0, ; + shape_cautare.Height = 29, ; + shape_cautare.Left = 1, ; + shape_cautare.Name = "shape_cautare", ; + shape_cautare.Top = 1, ; + shape_cautare.Width = 216, ; + img_cautare.Anchor = 672, ; + img_cautare.Left = 184, ; + img_cautare.Name = "img_cautare", ; + img_cautare.Top = 5, ; + lb_cautare.Caption = "Detaºat la", ; + lb_cautare.Left = 0, ; + lb_cautare.Name = "lb_cautare", ; + lb_cautare.Top = 8, ; + tx_cautare.Anchor = 672, ; + tx_cautare.FontName = "Arial Narrow", ; + tx_cautare.Height = 23, ; + tx_cautare.Left = 77, ; + tx_cautare.Name = "tx_cautare", ; + tx_cautare.Top = 4, ; + tx_cautare.Width = 104 + *< END OBJECT: ClassLib="caut_ora.vcx" BaseClass="container" /> + + ADD OBJECT 'page1.Page2.Ct_clb_formatia' AS ct_clb_cautare_var WITH ; + Anchor = 672, ; + cconditie = EMPTY(NVL(popers.id_formatie,0)), ; + cprocedura = Thisform.do_cauta_formatia, ; + cvar_afisata = popers.formatia, ; + Height = 31, ; + Left = 243, ; + Name = "Ct_clb_formatia", ; + TabIndex = 16, ; + Top = 283, ; + Width = 271, ; + shape_cautare.BorderStyle = 0, ; + shape_cautare.Name = "shape_cautare", ; + img_cautare.Anchor = 672, ; + img_cautare.Left = 243, ; + img_cautare.Name = "img_cautare", ; + img_cautare.Top = 5, ; + lb_cautare.Caption = "Formaþia", ; + lb_cautare.Left = 0, ; + lb_cautare.Name = "lb_cautare", ; + lb_cautare.Top = 8, ; + tx_cautare.Anchor = 672, ; + tx_cautare.FontName = "Arial Narrow", ; + tx_cautare.Height = 23, ; + tx_cautare.Left = 72, ; + tx_cautare.Name = "tx_cautare", ; + tx_cautare.Top = 4, ; + tx_cautare.Width = 166 + *< END OBJECT: ClassLib="caut_ora.vcx" BaseClass="container" /> + + ADD OBJECT 'page1.Page2.Ct_clb_grupa_munca' AS ct_clb_cautare_var WITH ; + Anchor = 672, ; + cconditie = EMPTY(NVL(popers.id_cas,0)), ; + cprocedura = Thisform.do_cauta_grupamunca, ; + cvar_afisata = popers.grupacas, ; + Height = 31, ; + Left = 243, ; + Name = "Ct_clb_grupa_munca", ; + TabIndex = 18, ; + Top = 335, ; + Width = 271, ; + shape_cautare.BorderStyle = 0, ; + shape_cautare.Name = "shape_cautare", ; + img_cautare.Anchor = 672, ; + img_cautare.Left = 243, ; + img_cautare.Name = "img_cautare", ; + img_cautare.Top = 5, ; + lb_cautare.Caption = "Condiþii de muncã", ; + lb_cautare.FontName = "Arial", ; + lb_cautare.Left = 0, ; + lb_cautare.Name = "lb_cautare", ; + lb_cautare.Top = 8, ; + tx_cautare.Anchor = 672, ; + tx_cautare.FontName = "Arial Narrow", ; + tx_cautare.Height = 23, ; + tx_cautare.Left = 103, ; + tx_cautare.Name = "tx_cautare", ; + tx_cautare.Top = 4, ; + tx_cautare.Width = 135 + *< END OBJECT: ClassLib="caut_ora.vcx" BaseClass="container" /> + + ADD OBJECT 'page1.Page2.Ct_clb_meserie' AS ct_clb_cautare_var WITH ; + Anchor = 672, ; + cconditie = EMPTY(NVL(popers.id_meserie,0)), ; + clista_parametri = 1, ; + cprocedura = Thisform.do_cauta_meseria, ; + cvar_afisata = popers.meseria, ; + Height = 31, ; + Left = 243, ; + Name = "Ct_clb_meserie", ; + TabIndex = 14, ; + Top = 232, ; + Width = 271, ; + shape_cautare.BorderStyle = 0, ; + shape_cautare.Name = "shape_cautare", ; + img_cautare.Anchor = 672, ; + img_cautare.Left = 243, ; + img_cautare.Name = "img_cautare", ; + img_cautare.Top = 5, ; + lb_cautare.Caption = "Meseria", ; + lb_cautare.Left = 0, ; + lb_cautare.Name = "lb_cautare", ; + lb_cautare.Top = 8, ; + tx_cautare.Anchor = 672, ; + tx_cautare.FontName = "Arial Narrow", ; + tx_cautare.Height = 23, ; + tx_cautare.Left = 72, ; + tx_cautare.Name = "tx_cautare", ; + tx_cautare.Top = 4, ; + tx_cautare.Width = 166 + *< END OBJECT: ClassLib="caut_ora.vcx" BaseClass="container" /> + + ADD OBJECT 'page1.Page2.Ct_clb_taradet' AS ct_clb_cautare_var WITH ; + Anchor = 672, ; + cconditie = EMPTY(NVL(popers.id_taras,0)) , ; + clista_parametri = 2, ; + cprocedura = Thisform.do_cauta_tara, ; + cvar_afisata = popers.taras, ; + Height = 31, ; + Left = 636, ; + Name = "Ct_clb_taradet", ; + TabIndex = 6, ; + Top = 50, ; + Width = 168, ; + shape_cautare.BorderStyle = 0, ; + shape_cautare.Height = 29, ; + shape_cautare.Left = 1, ; + shape_cautare.Name = "shape_cautare", ; + shape_cautare.Top = 1, ; + shape_cautare.Width = 216, ; + img_cautare.Anchor = 672, ; + img_cautare.Left = 139, ; + img_cautare.Name = "img_cautare", ; + img_cautare.Top = 5, ; + lb_cautare.Caption = "Þarã", ; + lb_cautare.Left = 0, ; + lb_cautare.Name = "lb_cautare", ; + lb_cautare.Top = 8, ; + tx_cautare.Anchor = 672, ; + tx_cautare.FontName = "Arial Narrow", ; + tx_cautare.Height = 23, ; + tx_cautare.Left = 31, ; + tx_cautare.Name = "tx_cautare", ; + tx_cautare.Top = 4, ; + tx_cautare.Width = 104 + *< END OBJECT: ClassLib="caut_ora.vcx" BaseClass="container" /> + + ADD OBJECT 'page1.Page2.Ct_clb_temei' AS ct_clb_cautare_var WITH ; + Anchor = 672, ; + cconditie = EMPTY(NVL(popers.id_temeis,0)), ; + cprocedura = Thisform.do_cauta_temei, ; + cvar_afisata = popers.explicaties, ; + Height = 31, ; + Left = 429, ; + Name = "Ct_clb_temei", ; + TabIndex = 4, ; + Top = 26, ; + Width = 375, ; + shape_cautare.BorderStyle = 0, ; + shape_cautare.Name = "shape_cautare", ; + img_cautare.Anchor = 672, ; + img_cautare.Left = 345, ; + img_cautare.Name = "img_cautare", ; + img_cautare.Top = 5, ; + lb_cautare.Caption = "Temei legal", ; + lb_cautare.Left = 0, ; + lb_cautare.Name = "lb_cautare", ; + lb_cautare.Top = 8, ; + tx_cautare.Anchor = 672, ; + tx_cautare.FontName = "Arial Narrow", ; + tx_cautare.Height = 23, ; + tx_cautare.Left = 77, ; + tx_cautare.Name = "tx_cautare", ; + tx_cautare.Top = 4, ; + tx_cautare.Width = 265 + *< END OBJECT: ClassLib="caut_ora.vcx" BaseClass="container" /> + + ADD OBJECT 'page1.Page2.Ct_clb_tipcontract' AS ct_clb_cautare_var WITH ; + Anchor = 672, ; + cconditie = EMPTY(NVL(popers.tip_contract,'')), ; + cprocedura = Thisform.do_cauta_tipcontract, ; + cvar_afisata = popers.tip_contract, ; + Height = 31, ; + Left = 243, ; + Name = "Ct_clb_tipcontract", ; + TabIndex = 13, ; + Top = 207, ; + Width = 271, ; + shape_cautare.BorderStyle = 0, ; + shape_cautare.Name = "shape_cautare", ; + img_cautare.Anchor = 672, ; + img_cautare.Left = 243, ; + img_cautare.Name = "img_cautare", ; + img_cautare.Top = 5, ; + lb_cautare.Caption = "Tip contract", ; + lb_cautare.Left = 0, ; + lb_cautare.Name = "lb_cautare", ; + lb_cautare.Top = 8, ; + tx_cautare.Anchor = 672, ; + tx_cautare.FontName = "Arial Narrow", ; + tx_cautare.Height = 23, ; + tx_cautare.Left = 72, ; + tx_cautare.Name = "tx_cautare", ; + tx_cautare.Top = 4, ; + tx_cautare.Width = 166 + *< END OBJECT: ClassLib="caut_ora.vcx" BaseClass="container" /> + + ADD OBJECT 'page1.Page2.lb15' AS lb_simplu WITH ; + Anchor = 544, ; + Caption = "Datã angajare", ; + Left = 243, ; + Name = "lb15", ; + TabIndex = 49, ; + Top = 142, ; + ZOrderSet = 41 + *< END OBJECT: ClassLib="lb.vcx" BaseClass="label" /> + + ADD OBJECT 'page1.Page2.lb16' AS lb_simplu WITH ; + Anchor = 544, ; + Caption = "Datã sfârºit ctr.", ; + Left = 243, ; + Name = "lb16", ; + TabIndex = 50, ; + Top = 167, ; + ZOrderSet = 43 + *< END OBJECT: ClassLib="lb.vcx" BaseClass="label" /> + + ADD OBJECT 'page1.Page2.lb20' AS lb_simplu WITH ; + Anchor = 544, ; + Caption = "Secþia", ; + Left = 243, ; + Name = "lb20", ; + TabIndex = 51, ; + Top = 317, ; + ZOrderSet = 49 + *< END OBJECT: ClassLib="lb.vcx" BaseClass="label" /> + + ADD OBJECT 'page1.Page2.lb23' AS lb_simplu WITH ; + Anchor = 544, ; + Caption = "Tarifar", ; + Left = 242, ; + Name = "lb23", ; + TabIndex = 55, ; + Top = 388, ; + ZOrderSet = 52 + *< END OBJECT: ClassLib="lb.vcx" BaseClass="label" /> + + ADD OBJECT 'page1.Page2.lb29' AS lb_simplu WITH ; + Anchor = 544, ; + Caption = "Timp parþial", ; + Left = 516, ; + Name = "lb29", ; + TabIndex = 56, ; + Top = 317, ; + ZOrderSet = 60 + *< END OBJECT: ClassLib="lb.vcx" BaseClass="label" /> + + ADD OBJECT 'page1.Page2.lb30' AS lb_simplu WITH ; + Anchor = 544, ; + Caption = "Timp normal", ; + Left = 652, ; + Name = "lb30", ; + TabIndex = 57, ; + Top = 316, ; + ZOrderSet = 62 + *< END OBJECT: ClassLib="lb.vcx" BaseClass="label" /> + + ADD OBJECT 'page1.Page2.lb32' AS lb_simplu WITH ; + Anchor = 544, ; + Caption = "Data lichidãrii", ; + Left = 428, ; + Name = "lb32", ; + TabIndex = 58, ; + Top = 9, ; + ZOrderSet = 65 + *< END OBJECT: ClassLib="lb.vcx" BaseClass="label" /> + + ADD OBJECT 'page1.Page2.Lb_simplu1' AS lb_simplu WITH ; + Anchor = 672, ; + BackColor = 255,255,255, ; + BackStyle = 1, ; + Caption = "Valabil doar pentru societatile care se incadreaza in OUG 114/2018:", ; + Height = 50, ; + Left = 242, ; + Name = "Lb_simplu1", ; + TabIndex = 59, ; + Top = 456, ; + Width = 172, ; + WordWrap = .T. + *< END OBJECT: ClassLib="lb.vcx" BaseClass="label" /> + + ADD OBJECT 'page1.Page2.Lb_simplu10' AS lb_simplu WITH ; + Anchor = 544, ; + Caption = "Nr. ºi datã contract (ITM)", ; + Left = 248, ; + Name = "Lb_simplu10", ; + TabIndex = 39, ; + Top = 115, ; + ZOrderSet = 60 + *< END OBJECT: ClassLib="lb.vcx" BaseClass="label" /> + + ADD OBJECT 'page1.Page2.Lb_simplu11' AS lb_simplu WITH ; + Anchor = 544, ; + Caption = "din", ; + Left = 478, ; + Name = "Lb_simplu11", ; + TabIndex = 38, ; + Top = 115, ; + ZOrderSet = 41 + *< END OBJECT: ClassLib="lb.vcx" BaseClass="label" /> + + ADD OBJECT 'page1.Page2.Lb_simplu2' AS lb_simplu WITH ; + Anchor = 672, ; + Caption = "Nr. ºi datã contract (intern)", ; + Left = 244, ; + Name = "Lb_simplu2", ; + TabIndex = 42, ; + Top = 89, ; + ZOrderSet = 60 + *< END OBJECT: ClassLib="lb.vcx" BaseClass="label" /> + + ADD OBJECT 'page1.Page2.Lb_simplu3' AS lb_simplu WITH ; + Anchor = 672, ; + Caption = "Cod", ; + Left = 243, ; + Name = "Lb_simplu3", ; + TabIndex = 40, ; + Top = 265, ; + ZOrderSet = 41 + *< END OBJECT: ClassLib="lb.vcx" BaseClass="label" /> + + ADD OBJECT 'page1.Page2.Lb_simplu4' AS lb_simplu WITH ; + Anchor = 544, ; + Caption = "Per. ºomaj tehnic", ; + Left = 337, ; + Name = "Lb_simplu4", ; + TabIndex = 54, ; + Top = 433, ; + Visible = .F., ; + ZOrderSet = 52 + *< END OBJECT: ClassLib="lb.vcx" BaseClass="label" /> + + ADD OBJECT 'page1.Page2.Lb_simplu5' AS lb_simplu WITH ; + Anchor = 544, ; + Caption = "-", ; + Left = 511, ; + Name = "Lb_simplu5", ; + TabIndex = 53, ; + Top = 433, ; + Visible = .F., ; + ZOrderSet = 52 + *< END OBJECT: ClassLib="lb.vcx" BaseClass="label" /> + + ADD OBJECT 'page1.Page2.Lb_simplu6' AS lb_simplu WITH ; + Anchor = 544, ; + Caption = "Cont IBAN", ; + Left = 516, ; + Name = "Lb_simplu6", ; + TabIndex = 52, ; + Top = 367, ; + ZOrderSet = 49 + *< END OBJECT: ClassLib="lb.vcx" BaseClass="label" /> + + ADD OBJECT 'page1.Page2.Lb_simplu7' AS lb_simplu WITH ; + Anchor = 672, ; + Caption = "din", ; + Left = 478, ; + Name = "Lb_simplu7", ; + TabIndex = 41, ; + Top = 89, ; + ZOrderSet = 41 + *< END OBJECT: ClassLib="lb.vcx" BaseClass="label" /> + + ADD OBJECT 'page1.Page2.Lb_simplu8' AS lb_simplu WITH ; + Anchor = 672, ; + Caption = "Stare contract", ; + Left = 243, ; + Name = "Lb_simplu8", ; + TabIndex = 60, ; + Top = 4 + *< END OBJECT: ClassLib="lb.vcx" BaseClass="label" /> + + ADD OBJECT 'page1.Page2.Lb_simplu9' AS lb_simplu WITH ; + Anchor = 176, ; + AutoSize = .F., ; + Caption = "", ; + Height = 17, ; + Left = 592, ; + Name = "Lb_simplu9", ; + TabIndex = 44, ; + Top = 9, ; + Width = 95, ; + ZOrderSet = 65 + *< END OBJECT: ClassLib="lb.vcx" BaseClass="label" /> + + ADD OBJECT 'page1.Page2.Opt_oug114' AS optiongroup WITH ; + Anchor = 672, ; + BackStyle = 0, ; + ButtonCount = 3, ; + ControlSource = "popers.oug114", ; + Height = 60, ; + Left = 442, ; + Name = "Opt_oug114", ; + TabIndex = 62, ; + Top = 455, ; + Value = 2, ; + Width = 297, ; + Option1.AutoSize = .T., ; + Option1.BackStyle = 0, ; + Option1.Caption = "Nu se aplica scutirea cf OUG 114/2018", ; + Option1.Height = 17, ; + Option1.Left = 5, ; + Option1.Name = "Option1", ; + Option1.Top = 5, ; + Option1.Value = 0, ; + Option1.Width = 231, ; + Option1.WordWrap = .T., ; + Option2.AutoSize = .T., ; + Option2.BackStyle = 0, ; + Option2.Caption = "Se aplica scutirea pt total brut intre 3000 si 30000", ; + Option2.Height = 17, ; + Option2.Left = 5, ; + Option2.Name = "Option2", ; + Option2.Top = 24, ; + Option2.Value = 1, ; + Option2.Width = 288, ; + Option2.WordWrap = .T., ; + Option3.AutoSize = .T., ; + Option3.BackStyle = 0, ; + Option3.Caption = "Se aplica scutirea indiferent de salariu", ; + Option3.Enabled = .F., ; + Option3.Height = 17, ; + Option3.Left = 5, ; + Option3.Name = "Option3", ; + Option3.Top = 43, ; + Option3.Width = 228, ; + Option3.WordWrap = .T. + *< END OBJECT: BaseClass="optiongroup" /> + + ADD OBJECT 'page1.Page2.opt_stare_contract' AS _optiongrup WITH ; + Anchor = 672, ; + AutoSize = .F., ; + ButtonCount = 4, ; + Enabled = .F., ; + Height = 84, ; + Left = 328, ; + Name = "opt_stare_contract", ; + TabIndex = 1, ; + Top = 1, ; + Width = 96, ; + OPTION1.AutoSize = .T., ; + OPTION1.Caption = "Activ", ; + OPTION1.FontCharSet = 238, ; + OPTION1.Left = 5, ; + OPTION1.Name = "OPTION1", ; + OPTION1.Top = 5, ; + OPTION2.AutoSize = .T., ; + OPTION2.Caption = "Încetat", ; + OPTION2.FontCharSet = 238, ; + OPTION2.Left = 5, ; + OPTION2.Name = "OPTION2", ; + OPTION2.Top = 24, ; + Option3.AutoSize = .T., ; + Option3.BackStyle = 0, ; + Option3.Caption = "Suspendat", ; + Option3.FontCharSet = 238, ; + Option3.Height = 17, ; + Option3.Left = 5, ; + Option3.Name = "Option3", ; + Option3.Top = 43, ; + Option3.Width = 78, ; + Option4.AutoSize = .T., ; + Option4.BackStyle = 0, ; + Option4.Caption = "Detaºat", ; + Option4.FontCharSet = 238, ; + Option4.Height = 17, ; + Option4.Left = 5, ; + Option4.Name = "Option4", ; + Option4.Top = 62, ; + Option4.Width = 61 + *< END OBJECT: ClassLib="_baza.vcx" BaseClass="optiongroup" /> + + ADD OBJECT 'page1.Page2.tx26' AS _txbase WITH ; + Anchor = 672, ; + ControlSource = "popers.dataang", ; + DisabledBackColor = 242,242,242, ; + Format = "!KD", ; + Height = 24, ; + Left = 328, ; + Name = "tx26", ; + ReadOnly = .T., ; + TabIndex = 11, ; + Top = 138, ; + Width = 66, ; + ZOrderSet = 42 + *< END OBJECT: ClassLib="_tx_base.vcx" BaseClass="textbox" /> + + ADD OBJECT 'page1.Page2.tx27' AS _txbase WITH ; + Anchor = 672, ; + ControlSource = "popers.datasfctr", ; + DisabledBackColor = 242,242,242, ; + Format = "!KD", ; + Height = 24, ; + Left = 328, ; + Name = "tx27", ; + ReadOnly = .T., ; + TabIndex = 12, ; + Top = 163, ; + Width = 66, ; + ZOrderSet = 44 + *< END OBJECT: ClassLib="_tx_base.vcx" BaseClass="textbox" /> + + ADD OBJECT 'page1.Page2.tx31' AS _txbase WITH ; + Anchor = 672, ; + ControlSource = "popers.sectie", ; + FontName = "Arial Narrow", ; + Format = "!K", ; + Height = 24, ; + Left = 315, ; + Name = "tx31", ; + ReadOnly = .T., ; + TabIndex = 17, ; + Top = 313, ; + Width = 166, ; + ZOrderSet = 46 + *< END OBJECT: ClassLib="_tx_base.vcx" BaseClass="textbox" /> + + ADD OBJECT 'page1.Page2.tx34' AS _txbase WITH ; + Anchor = 544, ; + ControlSource = "popers.tarifar", ; + DisabledBackColor = 242,242,242, ; + Format = "!KR", ; + Height = 24, ; + InputMask = (get_mask(16,gnPS)), ; + Left = 339, ; + Name = "tx34", ; + ReadOnly = .T., ; + TabIndex = 20, ; + Top = 388, ; + Width = 141, ; + ZOrderSet = 53 + *< END OBJECT: ClassLib="_tx_base.vcx" BaseClass="textbox" /> + + ADD OBJECT 'page1.Page2.tx40' AS _txbase WITH ; + Anchor = 672, ; + ControlSource = "popers.fractie", ; + Format = "!K", ; + Height = 24, ; + Left = 585, ; + Name = "tx40", ; + ReadOnly = .T., ; + TabIndex = 31, ; + Top = 313, ; + Width = 62, ; + ZOrderSet = 63 + *< END OBJECT: ClassLib="_tx_base.vcx" BaseClass="textbox" /> + + ADD OBJECT 'page1.Page2.tx41' AS _txbase WITH ; + Anchor = 672, ; + ControlSource = "popers.orenorm", ; + Format = "!K", ; + Height = 24, ; + Left = 728, ; + Name = "tx41", ; + ReadOnly = .T., ; + TabIndex = 32, ; + Top = 313, ; + Width = 62, ; + ZOrderSet = 63 + *< END OBJECT: ClassLib="_tx_base.vcx" BaseClass="textbox" /> + + ADD OBJECT 'page1.Page2.tx43' AS _txbase WITH ; + Anchor = 544, ; + ControlSource = "popers.datainceputs", ; + DisabledBackColor = 242,242,242, ; + Format = "!KD", ; + Height = 24, ; + Left = 506, ; + Name = "tx43", ; + ReadOnly = .T., ; + TabIndex = 2, ; + Top = 5, ; + Width = 80, ; + ZOrderSet = 66 + *< END OBJECT: ClassLib="_tx_base.vcx" BaseClass="textbox" /> + + ADD OBJECT 'page1.Page2.tx45' AS _textbox WITH ; + Anchor = 672, ; + ControlSource = "popers.contiban", ; + DisabledBackColor = 242,242,242, ; + Format = "!K", ; + Height = 23, ; + Left = 612, ; + Name = "tx45", ; + ReadOnly = .T., ; + TabIndex = 34, ; + Top = 364, ; + Width = 142, ; + ZOrderSet = 30 + *< END OBJECT: ClassLib="_baza.vcx" BaseClass="textbox" /> + + ADD OBJECT 'page1.Page2.tx49' AS checkbox WITH ; + Alignment = 1, ; + Anchor = 544, ; + AutoSize = .T., ; + BackStyle = 0, ; + Caption = "Lucreazã în turã", ; + ControlSource = "popers.in_tura", ; + FontCharSet = 238, ; + Height = 17, ; + Left = 312, ; + Name = "tx49", ; + ReadOnly = .T., ; + TabIndex = 43, ; + TabStop = .F., ; + Top = 190, ; + Width = 105 + *< END OBJECT: BaseClass="checkbox" /> + + ADD OBJECT 'page1.Page2.tx50' AS checkbox WITH ; + Alignment = 1, ; + Anchor = 544, ; + AutoSize = .T., ; + BackStyle = 0, ; + Caption = "Elev / student în vacanþã", ; + ControlSource = "popers.elev", ; + FontCharSet = 238, ; + Height = 17, ; + Left = 624, ; + Name = "tx50", ; + ReadOnly = .T., ; + TabIndex = 47, ; + TabStop = .F., ; + Top = 90, ; + Width = 149 + *< END OBJECT: BaseClass="checkbox" /> + + ADD OBJECT 'page1.Page2.tx51' AS checkbox WITH ; + Alignment = 1, ; + Anchor = 544, ; + AutoSize = .T., ; + BackStyle = 0, ; + Caption = "ªomaj tehnic", ; + ControlSource = "popers.somaj_tehnic", ; + FontCharSet = 238, ; + Height = 17, ; + Left = 242, ; + Name = "tx51", ; + ReadOnly = .T., ; + TabIndex = 48, ; + TabStop = .F., ; + Top = 433, ; + Width = 90 + *< END OBJECT: BaseClass="checkbox" /> + + ADD OBJECT 'page1.Page2.tx52' AS _txbase WITH ; + Anchor = 672, ; + ControlSource = "popers.datast1", ; + DisabledBackColor = 242,242,242, ; + Format = "!KD", ; + Height = 24, ; + Left = 440, ; + Name = "tx52", ; + ReadOnly = .T., ; + TabIndex = 36, ; + Top = 429, ; + Visible = .F., ; + Width = 66, ; + ZOrderSet = 42 + *< END OBJECT: ClassLib="_tx_base.vcx" BaseClass="textbox" /> + + ADD OBJECT 'page1.Page2.tx53' AS _txbase WITH ; + Anchor = 672, ; + ControlSource = "popers.datast2", ; + DisabledBackColor = 242,242,242, ; + Format = "!KD", ; + Height = 24, ; + Left = 523, ; + Name = "tx53", ; + ReadOnly = .T., ; + TabIndex = 37, ; + Top = 429, ; + Visible = .F., ; + Width = 66, ; + ZOrderSet = 42 + *< END OBJECT: ClassLib="_tx_base.vcx" BaseClass="textbox" /> + + ADD OBJECT 'page1.Page2.tx54' AS _txbase WITH ; + Anchor = 544, ; + ControlSource = "popers.datasfarsits", ; + DisabledBackColor = 242,242,242, ; + Format = "!KD", ; + Height = 24, ; + Left = 590, ; + Name = "tx54", ; + ReadOnly = .T., ; + TabIndex = 3, ; + Top = 5, ; + Width = 80, ; + ZOrderSet = 66 + *< END OBJECT: ClassLib="_tx_base.vcx" BaseClass="textbox" /> + + ADD OBJECT 'page1.Page2.tx55' AS checkbox WITH ; + Alignment = 0, ; + Anchor = 672, ; + AutoSize = .T., ; + BackStyle = 0, ; + Caption = "CAS si CASS societate se calc. din salariu minim", ; + ControlSource = "popers.cassalmin", ; + FontCharSet = 238, ; + Height = 32, ; + Left = 610, ; + Name = "tx55", ; + ReadOnly = .T., ; + TabIndex = 45, ; + TabStop = .F., ; + Top = 426, ; + Width = 162, ; + WordWrap = .T. + *< END OBJECT: BaseClass="checkbox" /> + + ADD OBJECT 'page1.Page2.tx67' AS _txbase WITH ; + Anchor = 672, ; + ControlSource = "popers.nrctrmchr", ; + DisabledBackColor = 242,242,242, ; + Format = "!K", ; + Height = 24, ; + Left = 402, ; + Name = "tx67", ; + ReadOnly = .T., ; + TabIndex = 9, ; + Top = 111, ; + Width = 69, ; + ZOrderSet = 61 + *< END OBJECT: ClassLib="_tx_base.vcx" BaseClass="textbox" /> + + ADD OBJECT 'page1.Page2.tx68' AS _txbase WITH ; + Anchor = 544, ; + ControlSource = "popers.datactrm", ; + DisabledBackColor = 242,242,242, ; + Format = "!K", ; + Height = 24, ; + Left = 499, ; + Name = "tx68", ; + ReadOnly = .T., ; + TabIndex = 10, ; + Top = 111, ; + Width = 79, ; + ZOrderSet = 42 + *< END OBJECT: ClassLib="_tx_base.vcx" BaseClass="textbox" /> + + ADD OBJECT 'page1.Page2.tx69' AS _txbase WITH ; + Anchor = 672, ; + ControlSource = "popers.nrctr", ; + DisabledBackColor = 242,242,242, ; + Format = "!K", ; + Height = 24, ; + InputMask = "9999999999999", ; + Left = 402, ; + Name = "tx69", ; + ReadOnly = .T., ; + TabIndex = 7, ; + Top = 85, ; + Width = 69, ; + ZOrderSet = 61 + *< END OBJECT: ClassLib="_tx_base.vcx" BaseClass="textbox" /> + + ADD OBJECT 'page1.Page2.tx70' AS _txbase WITH ; + Anchor = 672, ; + ControlSource = "popers.datactr", ; + DisabledBackColor = 242,242,242, ; + Format = "!K", ; + Height = 24, ; + Left = 499, ; + Name = "tx70", ; + ReadOnly = .T., ; + TabIndex = 8, ; + Top = 85, ; + Width = 79, ; + ZOrderSet = 42 + *< END OBJECT: ClassLib="_tx_base.vcx" BaseClass="textbox" /> + + ADD OBJECT 'page1.Page2.tx_codcod' AS _txbase WITH ; + Anchor = 672, ; + ControlSource = "popers.codcod", ; + DisabledBackColor = 242,242,242, ; + Format = "!K", ; + Height = 24, ; + Left = 315, ; + Name = "tx_codcod", ; + ReadOnly = .T., ; + TabIndex = 15, ; + Top = 261, ; + Width = 79, ; + ZOrderSet = 42 + *< END OBJECT: ClassLib="_tx_base.vcx" BaseClass="textbox" /> + + ADD OBJECT 'page1.Page3.But_modifica1' AS but_modifica WITH ; + Anchor = 144, ; + caction = do_modifica_intret, ; + Left = 762, ; + Name = "But_modifica1", ; + TabIndex = 9, ; + Top = 319, ; + Visible = .T. + *< END OBJECT: ClassLib="cmd_butoane.vcx" BaseClass="commandbutton" /> + + ADD OBJECT 'page1.Page3.But_modifica2' AS but_modifica WITH ; + Anchor = 144, ; + caction = modifica_copil, ; + Left = 762, ; + Name = "But_modifica2", ; + TabIndex = 18, ; + Top = 168, ; + Visible = .T. + *< END OBJECT: ClassLib="cmd_butoane.vcx" BaseClass="commandbutton" /> + + ADD OBJECT 'page1.Page3.But_nou1' AS but_nou WITH ; + Anchor = 144, ; + caction = do_adauga_intret, ; + Left = 762, ; + Name = "But_nou1", ; + TabIndex = 8, ; + Top = 290 + *< END OBJECT: ClassLib="cmd_butoane.vcx" BaseClass="commandbutton" /> + + ADD OBJECT 'page1.Page3.But_nou2' AS but_nou WITH ; + Anchor = 144, ; + caction = adauga_copil, ; + Left = 762, ; + Name = "But_nou2", ; + TabIndex = 17, ; + Top = 140 + *< END OBJECT: ClassLib="cmd_butoane.vcx" BaseClass="commandbutton" /> + + ADD OBJECT 'page1.Page3.But_sterge1' AS but_sterge WITH ; + Anchor = 144, ; + caction = do_sterge_intret, ; + Left = 762, ; + Name = "But_sterge1", ; + TabIndex = 10, ; + Top = 348, ; + Visible = .T. + *< END OBJECT: ClassLib="cmd_butoane.vcx" BaseClass="commandbutton" /> + + ADD OBJECT 'page1.Page3.But_sterge2' AS but_sterge WITH ; + Anchor = 144, ; + caction = sterge_copil, ; + Left = 762, ; + Name = "But_sterge2", ; + TabIndex = 19, ; + Top = 196, ; + Visible = .T. + *< END OBJECT: ClassLib="cmd_butoane.vcx" BaseClass="commandbutton" /> + + ADD OBJECT 'page1.Page3.Ct_cb_stareciv' AS ct_cb_tx WITH ; + Anchor = 672, ; + BorderWidth = 0, ; + clista_valori = CASATORIT,1,NECASATORIT,0, ; + cvar_afisata = popers.stareciv, ; + Height = 29, ; + Left = 246, ; + Name = "Ct_cb_stareciv", ; + ntip = 2, ; + TabIndex = 1, ; + Top = 7, ; + Width = 374, ; + _cbbase1.Anchor = 672, ; + _cbbase1.Height = 23, ; + _cbbase1.Left = 93, ; + _cbbase1.Name = "_cbbase1", ; + _cbbase1.Top = 3, ; + _cbbase1.Width = 262, ; + lb_explicatie.Caption = "Stare civilã", ; + lb_explicatie.Left = 1, ; + lb_explicatie.Name = "lb_explicatie", ; + lb_explicatie.Top = 6, ; + Text_simplu1.Anchor = 672, ; + Text_simplu1.Height = 23, ; + Text_simplu1.Left = 93, ; + Text_simplu1.Name = "Text_simplu1", ; + Text_simplu1.Top = 3, ; + Text_simplu1.Width = 262 + *< END OBJECT: ClassLib="lb_tx.vcx" BaseClass="container" /> + + ADD OBJECT 'page1.Page3.Grid1' AS grid WITH ; + Anchor = 240, ; + ColumnCount = 4, ; + DeleteMark = .F., ; + FontName = "Arial Narrow", ; + GridLines = 3, ; + HeaderHeight = 18, ; + Height = 120, ; + Left = 240, ; + Name = "Grid1", ; + Panel = 1, ; + ReadOnly = .T., ; + RecordMark = .F., ; + RecordSource = "v_copii", ; + TabIndex = 6, ; + Top = 135, ; + Width = 516, ; + Column1.ControlSource = "nume", ; + Column1.FontName = "Arial Narrow", ; + Column1.Name = "Column3", ; + Column1.ReadOnly = .T., ; + Column1.Width = 102, ; + Column2.ControlSource = "prenume", ; + Column2.FontName = "Arial Narrow", ; + Column2.Name = "Column4", ; + Column2.ReadOnly = .T., ; + Column2.Width = 107, ; + Column3.ControlSource = "codpers", ; + Column3.FontName = "Arial Narrow", ; + Column3.Name = "Column1", ; + Column3.ReadOnly = .T., ; + Column3.Width = 95, ; + Column4.ControlSource = "datanast", ; + Column4.FontName = "Arial Narrow", ; + Column4.Name = "Column2", ; + Column4.ReadOnly = .T., ; + Column4.Width = 64 + *< END OBJECT: BaseClass="grid" /> + + ADD OBJECT 'page1.Page3.Grid1.Column1.Header1' AS header WITH ; + Caption = "Cnp", ; + FontName = "Arial Narrow", ; + Name = "Header1" + *< END OBJECT: BaseClass="header" /> + + ADD OBJECT 'page1.Page3.Grid1.Column1.Text1' AS textbox WITH ; + BackColor = 255,255,255, ; + BorderStyle = 0, ; + ForeColor = 0,0,0, ; + Margin = 0, ; + Name = "Text1", ; + ReadOnly = .T. + *< END OBJECT: BaseClass="textbox" /> + + ADD OBJECT 'page1.Page3.Grid1.Column2.Header1' AS header WITH ; + Caption = "Data nasterii", ; + FontName = "Arial Narrow", ; + Name = "Header1" + *< END OBJECT: BaseClass="header" /> + + ADD OBJECT 'page1.Page3.Grid1.Column2.Text1' AS textbox WITH ; + BackColor = 255,255,255, ; + BorderStyle = 0, ; + ForeColor = 0,0,0, ; + Margin = 0, ; + Name = "Text1", ; + ReadOnly = .T. + *< END OBJECT: BaseClass="textbox" /> + + ADD OBJECT 'page1.Page3.Grid1.Column3.Header1' AS header WITH ; + Alignment = 2, ; + Caption = "Nume", ; + FontName = "Arial Narrow", ; + Name = "Header1" + *< END OBJECT: BaseClass="header" /> + + ADD OBJECT 'page1.Page3.Grid1.Column3.Text1' AS textbox WITH ; + BackColor = 255,255,255, ; + BorderStyle = 0, ; + FontName = "Arial Narrow", ; + ForeColor = 0,0,0, ; + Margin = 0, ; + Name = "Text1", ; + ReadOnly = .T. + *< END OBJECT: BaseClass="textbox" /> + + ADD OBJECT 'page1.Page3.Grid1.Column4.Header1' AS header WITH ; + Alignment = 2, ; + Caption = "Prenume", ; + FontName = "Arial Narrow", ; + Name = "Header1" + *< END OBJECT: BaseClass="header" /> + + ADD OBJECT 'page1.Page3.Grid1.Column4.Text1' AS textbox WITH ; + BackColor = 255,255,255, ; + BorderStyle = 0, ; + FontName = "Arial Narrow", ; + ForeColor = 0,0,0, ; + Margin = 0, ; + Name = "Text1", ; + ReadOnly = .T. + *< END OBJECT: BaseClass="textbox" /> + + ADD OBJECT 'page1.Page3.Grid3' AS grid WITH ; + Anchor = 180, ; + ColumnCount = 5, ; + DeleteMark = .F., ; + FontName = "Arial Narrow", ; + GridLines = 3, ; + HeaderHeight = 18, ; + Height = 120, ; + Left = 240, ; + Name = "Grid3", ; + Panel = 1, ; + ReadOnly = .T., ; + RecordMark = .F., ; + RecordSource = "v_nom_intret", ; + TabIndex = 7, ; + Top = 283, ; + Width = 516, ; + Column1.ControlSource = "nume", ; + Column1.FontName = "Arial Narrow", ; + Column1.Name = "Column3", ; + Column1.ReadOnly = .T., ; + Column1.Width = 102, ; + Column2.ControlSource = "prenume", ; + Column2.FontName = "Arial Narrow", ; + Column2.Name = "Column4", ; + Column2.ReadOnly = .T., ; + Column2.Width = 107, ; + Column3.ControlSource = "codpers", ; + Column3.FontName = "Arial Narrow", ; + Column3.Name = "Column1", ; + Column3.ReadOnly = .T., ; + Column3.Width = 95, ; + Column4.ControlSource = "calitate", ; + Column4.FontName = "Arial Narrow", ; + Column4.Name = "Column2", ; + Column4.ReadOnly = .T., ; + Column4.Width = 64, ; + Column5.ControlSource = "", ; + Column5.FontName = "Arial Narrow", ; + Column5.Name = "Column5", ; + Column5.ReadOnly = .T., ; + Column5.Visible = .F., ; + Column5.Width = 41 + *< END OBJECT: BaseClass="grid" /> + + ADD OBJECT 'page1.Page3.Grid3.Column1.Header1' AS header WITH ; + Caption = "Cnp", ; + FontName = "Arial Narrow", ; + Name = "Header1" + *< END OBJECT: BaseClass="header" /> + + ADD OBJECT 'page1.Page3.Grid3.Column1.Text1' AS textbox WITH ; + BackColor = 255,255,255, ; + BorderStyle = 0, ; + ForeColor = 0,0,0, ; + Margin = 0, ; + Name = "Text1", ; + ReadOnly = .T. + *< END OBJECT: BaseClass="textbox" /> + + ADD OBJECT 'page1.Page3.Grid3.Column2.Header1' AS header WITH ; + Caption = "In calitate de", ; + FontName = "Arial Narrow", ; + Name = "Header1" + *< END OBJECT: BaseClass="header" /> + + ADD OBJECT 'page1.Page3.Grid3.Column2.Text1' AS textbox WITH ; + BackColor = 255,255,255, ; + BorderStyle = 0, ; + ForeColor = 0,0,0, ; + Margin = 0, ; + Name = "Text1", ; + ReadOnly = .T. + *< END OBJECT: BaseClass="textbox" /> + + ADD OBJECT 'page1.Page3.Grid3.Column3.Header1' AS header WITH ; + Alignment = 2, ; + Caption = "Nume", ; + FontName = "Arial Narrow", ; + Name = "Header1" + *< END OBJECT: BaseClass="header" /> + + ADD OBJECT 'page1.Page3.Grid3.Column3.Text1' AS textbox WITH ; + BackColor = 255,255,255, ; + BorderStyle = 0, ; + FontName = "Arial Narrow", ; + ForeColor = 0,0,0, ; + Margin = 0, ; + Name = "Text1", ; + ReadOnly = .T. + *< END OBJECT: BaseClass="textbox" /> + + ADD OBJECT 'page1.Page3.Grid3.Column4.Header1' AS header WITH ; + Alignment = 2, ; + Caption = "Prenume", ; + FontName = "Arial Narrow", ; + Name = "Header1" + *< END OBJECT: BaseClass="header" /> + + ADD OBJECT 'page1.Page3.Grid3.Column4.Text1' AS textbox WITH ; + BackColor = 255,255,255, ; + BorderStyle = 0, ; + FontName = "Arial Narrow", ; + ForeColor = 0,0,0, ; + Margin = 0, ; + Name = "Text1", ; + ReadOnly = .T. + *< END OBJECT: BaseClass="textbox" /> + + ADD OBJECT 'page1.Page3.Grid3.Column5.Header1' AS header WITH ; + Caption = "Coef. deducere", ; + FontName = "Arial Narrow", ; + Name = "Header1" + *< END OBJECT: BaseClass="header" /> + + ADD OBJECT 'page1.Page3.Grid3.Column5.Text1' AS textbox WITH ; + Height = 23, ; + Left = 13, ; + Name = "Text1", ; + ReadOnly = .T., ; + Top = 34, ; + Visible = .F., ; + Width = 100 + *< END OBJECT: BaseClass="textbox" /> + + ADD OBJECT 'page1.Page3.Lb_simplu1' AS lb_simplu WITH ; + Anchor = 48, ; + Caption = "Nume soþ / soþie", ; + Left = 246, ; + Name = "Lb_simplu1", ; + TabIndex = 16, ; + Top = 39, ; + ZOrderSet = 47 + *< END OBJECT: ClassLib="lb.vcx" BaseClass="label" /> + + ADD OBJECT 'page1.Page3.Lb_simplu2' AS lb_simplu WITH ; + Anchor = 48, ; + Caption = "Nume mamã", ; + Left = 246, ; + Name = "Lb_simplu2", ; + TabIndex = 11, ; + Top = 90, ; + ZOrderSet = 47 + *< END OBJECT: ClassLib="lb.vcx" BaseClass="label" /> + + ADD OBJECT 'page1.Page3.Lb_simplu3' AS lb_simplu WITH ; + Anchor = 48, ; + Caption = "Nume tatã", ; + Left = 246, ; + Name = "Lb_simplu3", ; + TabIndex = 12, ; + Top = 65, ; + ZOrderSet = 47 + *< END OBJECT: ClassLib="lb.vcx" BaseClass="label" /> + + ADD OBJECT 'page1.Page3.Lb_simplu4' AS lb_simplu WITH ; + Anchor = 48, ; + Caption = "Nr copii:", ; + Left = 657, ; + Name = "Lb_simplu4", ; + TabIndex = 15, ; + Top = 110, ; + ZOrderSet = 47 + *< END OBJECT: ClassLib="lb.vcx" BaseClass="label" /> + + ADD OBJECT 'page1.Page3.Lb_simplu5' AS lb_simplu WITH ; + Anchor = 544, ; + Caption = "Copii", ; + FontBold = .T., ; + Left = 254, ; + Name = "Lb_simplu5", ; + TabIndex = 13, ; + Top = 110, ; + ZOrderSet = 47 + *< END OBJECT: ClassLib="lb.vcx" BaseClass="label" /> + + ADD OBJECT 'page1.Page3.Lb_simplu6' AS lb_simplu WITH ; + Anchor = 544, ; + Caption = "Persoane aflate în întreþinere", ; + FontBold = .T., ; + Left = 249, ; + Name = "Lb_simplu6", ; + TabIndex = 14, ; + Top = 260, ; + ZOrderSet = 47 + *< END OBJECT: ClassLib="lb.vcx" BaseClass="label" /> + + ADD OBJECT 'page1.Page3.tx52' AS _textbox WITH ; + Anchor = 176, ; + ControlSource = "popers.numesot", ; + DisabledBackColor = 242,242,242, ; + Format = "!K", ; + Height = 23, ; + Left = 338, ; + Name = "tx52", ; + ReadOnly = .T., ; + TabIndex = 2, ; + Top = 36, ; + Width = 262, ; + ZOrderSet = 9 + *< END OBJECT: ClassLib="_baza.vcx" BaseClass="textbox" /> + + ADD OBJECT 'page1.Page3.tx53' AS _textbox WITH ; + Anchor = 176, ; + ControlSource = "popers.numetata", ; + DisabledBackColor = 242,242,242, ; + Format = "!K", ; + Height = 23, ; + Left = 338, ; + Name = "tx53", ; + ReadOnly = .T., ; + TabIndex = 3, ; + Top = 62, ; + Width = 262, ; + ZOrderSet = 9 + *< END OBJECT: ClassLib="_baza.vcx" BaseClass="textbox" /> + + ADD OBJECT 'page1.Page3.tx54' AS _textbox WITH ; + Anchor = 176, ; + ControlSource = "popers.numemama", ; + DisabledBackColor = 242,242,242, ; + Format = "!K", ; + Height = 23, ; + Left = 338, ; + Name = "tx54", ; + ReadOnly = .T., ; + TabIndex = 4, ; + Top = 87, ; + Width = 262, ; + ZOrderSet = 9 + *< END OBJECT: ClassLib="_baza.vcx" BaseClass="textbox" /> + + ADD OBJECT 'page1.Page3.txcopii' AS _textbox WITH ; + Anchor = 176, ; + DisabledBackColor = 242,242,242, ; + Height = 23, ; + Left = 708, ; + Name = "txcopii", ; + ReadOnly = .T., ; + TabIndex = 5, ; + Top = 107, ; + Width = 33, ; + ZOrderSet = 9 + *< END OBJECT: ClassLib="_baza.vcx" BaseClass="textbox" /> + + ADD OBJECT 'page1.Page4.But_modifica1' AS but_modifica WITH ; + Anchor = 8, ; + caction = do_modifica_bazacm, ; + Left = 628, ; + Name = "But_modifica1", ; + TabIndex = 3, ; + Top = 10, ; + Visible = .T. + *< END OBJECT: ClassLib="cmd_butoane.vcx" BaseClass="commandbutton" /> + + ADD OBJECT 'page1.Page4.But_nou1' AS but_nou WITH ; + Anchor = 8, ; + caction = do_adauga_bazacm, ; + Left = 598, ; + Name = "But_nou1", ; + TabIndex = 2, ; + Top = 10 + *< END OBJECT: ClassLib="cmd_butoane.vcx" BaseClass="commandbutton" /> + + ADD OBJECT 'page1.Page4.But_sterge1' AS but_sterge WITH ; + Anchor = 8, ; + caction = do_sterge_bazacm, ; + Left = 658, ; + Name = "But_sterge1", ; + TabIndex = 4, ; + Top = 10, ; + Visible = .T. + *< END OBJECT: ClassLib="cmd_butoane.vcx" BaseClass="commandbutton" /> + + ADD OBJECT 'page1.Page4.Grid3' AS grid WITH ; + Anchor = 165, ; + ColumnCount = 4, ; + DeleteMark = .F., ; + FontName = "Arial Narrow", ; + GridLines = 3, ; + HeaderHeight = 18, ; + Height = 348, ; + Left = 348, ; + Name = "Grid3", ; + Panel = 1, ; + ReadOnly = .T., ; + RecordMark = .F., ; + RecordSource = "v_bazacm", ; + TabIndex = 1, ; + Top = 44, ; + Width = 312, ; + Column1.ControlSource = "an", ; + Column1.FontName = "Arial Narrow", ; + Column1.Name = "Column3", ; + Column1.ReadOnly = .T., ; + Column1.Width = 56, ; + Column2.ControlSource = "luna", ; + Column2.FontName = "Arial Narrow", ; + Column2.Name = "Column4", ; + Column2.ReadOnly = .T., ; + Column2.Width = 67, ; + Column3.ControlSource = "bazacalcul", ; + Column3.FontName = "Arial Narrow", ; + Column3.Name = "Column1", ; + Column3.ReadOnly = .T., ; + Column3.Width = 95, ; + Column4.ControlSource = "zilelucr", ; + Column4.FontName = "Arial Narrow", ; + Column4.Name = "Column2", ; + Column4.ReadOnly = .T., ; + Column4.Width = 64 + *< END OBJECT: BaseClass="grid" /> + + ADD OBJECT 'page1.Page4.Grid3.Column1.Header1' AS header WITH ; + Alignment = 2, ; + Caption = "Baza", ; + FontName = "Arial Narrow", ; + Name = "Header1" + *< END OBJECT: BaseClass="header" /> + + ADD OBJECT 'page1.Page4.Grid3.Column1.Text1' AS textbox WITH ; + BackColor = 255,255,255, ; + BorderStyle = 0, ; + ForeColor = 0,0,0, ; + Margin = 0, ; + Name = "Text1", ; + ReadOnly = .T. + *< END OBJECT: BaseClass="textbox" /> + + ADD OBJECT 'page1.Page4.Grid3.Column2.Header1' AS header WITH ; + Alignment = 2, ; + Caption = "Zile lucrate", ; + FontName = "Arial Narrow", ; + Name = "Header1" + *< END OBJECT: BaseClass="header" /> + + ADD OBJECT 'page1.Page4.Grid3.Column2.Text1' AS textbox WITH ; + BackColor = 255,255,255, ; + BorderStyle = 0, ; + ForeColor = 0,0,0, ; + Margin = 0, ; + Name = "Text1", ; + ReadOnly = .T. + *< END OBJECT: BaseClass="textbox" /> + + ADD OBJECT 'page1.Page4.Grid3.Column3.Header1' AS header WITH ; + Alignment = 2, ; + Caption = "An", ; + FontName = "Arial Narrow", ; + Name = "Header1" + *< END OBJECT: BaseClass="header" /> + + ADD OBJECT 'page1.Page4.Grid3.Column3.Text1' AS textbox WITH ; + BackColor = 255,255,255, ; + BorderStyle = 0, ; + FontName = "Arial Narrow", ; + ForeColor = 0,0,0, ; + Margin = 0, ; + Name = "Text1", ; + ReadOnly = .T. + *< END OBJECT: BaseClass="textbox" /> + + ADD OBJECT 'page1.Page4.Grid3.Column4.Header1' AS header WITH ; + Alignment = 2, ; + Caption = "Luna", ; + FontName = "Arial Narrow", ; + Name = "Header1" + *< END OBJECT: BaseClass="header" /> + + ADD OBJECT 'page1.Page4.Grid3.Column4.Text1' AS textbox WITH ; + BackColor = 255,255,255, ; + BorderStyle = 0, ; + FontName = "Arial Narrow", ; + ForeColor = 0,0,0, ; + Margin = 0, ; + Name = "Text1", ; + ReadOnly = .T. + *< END OBJECT: BaseClass="textbox" /> + + ADD OBJECT 'page1.Page5.But_modifica1' AS but_modifica WITH ; + Anchor = 72, ; + caction = do_modifica_limba, ; + Left = 708, ; + Name = "But_modifica1", ; + TabIndex = 4, ; + Top = 58, ; + Visible = .T. + *< END OBJECT: ClassLib="cmd_butoane.vcx" BaseClass="commandbutton" /> + + ADD OBJECT 'page1.Page5.But_nou1' AS but_nou WITH ; + Anchor = 72, ; + caction = do_adauga_limba, ; + Left = 678, ; + Name = "But_nou1", ; + TabIndex = 3, ; + Top = 58 + *< END OBJECT: ClassLib="cmd_butoane.vcx" BaseClass="commandbutton" /> + + ADD OBJECT 'page1.Page5.But_sterge1' AS but_sterge WITH ; + Anchor = 72, ; + caction = do_sterge_limba, ; + Left = 738, ; + Name = "But_sterge1", ; + TabIndex = 5, ; + Top = 58, ; + Visible = .T. + *< END OBJECT: ClassLib="cmd_butoane.vcx" BaseClass="commandbutton" /> + + ADD OBJECT 'page1.Page5.Ct_clb_meserie' AS ct_clb_cautare_var WITH ; + Anchor = 672, ; + cconditie = EMPTY(NVL(popers.id_profesie,0)), ; + clista_parametri = 2, ; + cprocedura = Thisform.do_cauta_meseria, ; + cvar_afisata = popers.profesia, ; + Height = 31, ; + Left = 288, ; + Name = "Ct_clb_meserie", ; + TabIndex = 1, ; + Top = 6, ; + Width = 271, ; + shape_cautare.BorderStyle = 0, ; + shape_cautare.Name = "shape_cautare", ; + img_cautare.Anchor = 672, ; + img_cautare.Left = 243, ; + img_cautare.Name = "img_cautare", ; + img_cautare.Top = 5, ; + lb_cautare.Caption = "Profesia", ; + lb_cautare.Left = 0, ; + lb_cautare.Name = "lb_cautare", ; + lb_cautare.Top = 8, ; + tx_cautare.Anchor = 672, ; + tx_cautare.FontName = "Arial Narrow", ; + tx_cautare.Height = 23, ; + tx_cautare.Left = 72, ; + tx_cautare.Name = "tx_cautare", ; + tx_cautare.Top = 4, ; + tx_cautare.Width = 166 + *< END OBJECT: ClassLib="caut_ora.vcx" BaseClass="container" /> + + ADD OBJECT 'page1.Page5.Grid3' AS grid WITH ; + Anchor = 240, ; + ColumnCount = 2, ; + DeleteMark = .F., ; + FontName = "Arial Narrow", ; + GridLines = 3, ; + HeaderHeight = 18, ; + Height = 312, ; + Left = 240, ; + Name = "Grid3", ; + Panel = 1, ; + ReadOnly = .T., ; + RecordMark = .F., ; + RecordSource = "v_calif", ; + TabIndex = 2, ; + Top = 92, ; + Width = 552, ; + Column1.ControlSource = "denumire", ; + Column1.FontName = "Arial Narrow", ; + Column1.Name = "Column3", ; + Column1.ReadOnly = .T., ; + Column1.Width = 216, ; + Column2.ControlSource = "nota", ; + Column2.FontName = "Arial Narrow", ; + Column2.Name = "Column4", ; + Column2.ReadOnly = .T., ; + Column2.Width = 79 + *< END OBJECT: BaseClass="grid" /> + + ADD OBJECT 'page1.Page5.Grid3.Column3.Header1' AS header WITH ; + Alignment = 2, ; + Caption = "Denumire", ; + FontName = "Arial Narrow", ; + Name = "Header1" + *< END OBJECT: BaseClass="header" /> + + ADD OBJECT 'page1.Page5.Grid3.Column3.Text1' AS textbox WITH ; + BackColor = 255,255,255, ; + BorderStyle = 0, ; + FontName = "Arial Narrow", ; + ForeColor = 0,0,0, ; + Margin = 0, ; + Name = "Text1", ; + ReadOnly = .T. + *< END OBJECT: BaseClass="textbox" /> + + ADD OBJECT 'page1.Page5.Grid3.Column4.Header1' AS header WITH ; + Alignment = 2, ; + Caption = "Nota", ; + FontName = "Arial Narrow", ; + Name = "Header1" + *< END OBJECT: BaseClass="header" /> + + ADD OBJECT 'page1.Page5.Grid3.Column4.Text1' AS textbox WITH ; + BackColor = 255,255,255, ; + BorderStyle = 0, ; + FontName = "Arial Narrow", ; + ForeColor = 0,0,0, ; + Margin = 0, ; + Name = "Text1", ; + ReadOnly = .T. + *< END OBJECT: BaseClass="textbox" /> + + ADD OBJECT 'page1.Page5.Lb_simplu3' AS lb_simplu WITH ; + Anchor = 48, ; + Caption = "Specializare", ; + Left = 288, ; + Name = "Lb_simplu3", ; + TabIndex = 12, ; + Top = 44, ; + ZOrderSet = 47 + *< END OBJECT: ClassLib="lb.vcx" BaseClass="label" /> + + ADD OBJECT 'page1.Page5.Lb_simplu5' AS lb_simplu WITH ; + Anchor = 544, ; + Caption = "Limbi strãine", ; + FontBold = .T., ; + Left = 263, ; + Name = "Lb_simplu5", ; + TabIndex = 6, ; + Top = 63, ; + ZOrderSet = 47 + *< END OBJECT: ClassLib="lb.vcx" BaseClass="label" /> + + ADD OBJECT 'page1.Page5.tx53' AS _textbox WITH ; + Anchor = 176, ; + ControlSource = "popers.specializare", ; + DisabledBackColor = 242,242,242, ; + Format = "!K", ; + Height = 23, ; + Left = 362, ; + Name = "tx53", ; + ReadOnly = .T., ; + TabIndex = 3, ; + Top = 41, ; + Width = 262, ; + ZOrderSet = 9 + *< END OBJECT: ClassLib="_baza.vcx" BaseClass="textbox" /> + + ADD OBJECT 'page1.Page6.But_modifica1' AS but_modifica WITH ; + Anchor = 72, ; + caction = do_modifica_curs, ; + Left = 722, ; + Name = "But_modifica1", ; + TabIndex = 10, ; + Top = 171, ; + Visible = .T. + *< END OBJECT: ClassLib="cmd_butoane.vcx" BaseClass="commandbutton" /> + + ADD OBJECT 'page1.Page6.But_modifica2' AS but_modifica WITH ; + Anchor = 72, ; + caction = do_modifica_stud, ; + Left = 722, ; + Name = "But_modifica2", ; + TabIndex = 16, ; + Top = 338, ; + Visible = .T. + *< END OBJECT: ClassLib="cmd_butoane.vcx" BaseClass="commandbutton" /> + + ADD OBJECT 'page1.Page6.But_nou1' AS but_nou WITH ; + Anchor = 72, ; + caction = do_adauga_curs, ; + Left = 692, ; + Name = "But_nou1", ; + TabIndex = 9, ; + Top = 171 + *< END OBJECT: ClassLib="cmd_butoane.vcx" BaseClass="commandbutton" /> + + ADD OBJECT 'page1.Page6.But_nou2' AS but_nou WITH ; + Anchor = 72, ; + caction = do_adauga_stud, ; + Left = 692, ; + Name = "But_nou2", ; + TabIndex = 15, ; + Top = 338 + *< END OBJECT: ClassLib="cmd_butoane.vcx" BaseClass="commandbutton" /> + + ADD OBJECT 'page1.Page6.But_sterge1' AS but_sterge WITH ; + Anchor = 72, ; + caction = do_sterge_curs, ; + Left = 752, ; + Name = "But_sterge1", ; + TabIndex = 11, ; + Top = 171, ; + Visible = .T. + *< END OBJECT: ClassLib="cmd_butoane.vcx" BaseClass="commandbutton" /> + + ADD OBJECT 'page1.Page6.But_sterge2' AS but_sterge WITH ; + Anchor = 72, ; + caction = do_sterge_stud, ; + Left = 752, ; + Name = "But_sterge2", ; + TabIndex = 17, ; + Top = 338, ; + Visible = .T. + *< END OBJECT: ClassLib="cmd_butoane.vcx" BaseClass="commandbutton" /> + + ADD OBJECT 'page1.Page6.Grid1' AS grid WITH ; + Anchor = 180, ; + ColumnCount = 3, ; + DeleteMark = .F., ; + FontName = "Arial Narrow", ; + GridLines = 3, ; + HeaderHeight = 18, ; + Height = 123, ; + Left = 242, ; + Name = "Grid1", ; + Panel = 1, ; + ReadOnly = .T., ; + RecordMark = .F., ; + RecordSource = "v_studii", ; + TabIndex = 14, ; + Top = 369, ; + Width = 550, ; + Column1.ControlSource = "", ; + Column1.FontName = "Arial Narrow", ; + Column1.Name = "Column3", ; + Column1.ReadOnly = .T., ; + Column1.Width = 37, ; + Column2.ControlSource = "scoala", ; + Column2.FontName = "Arial Narrow", ; + Column2.Name = "Column4", ; + Column2.ReadOnly = .T., ; + Column2.Width = 131, ; + Column3.ControlSource = "detalii", ; + Column3.FontName = "Arial Narrow", ; + Column3.Name = "Column1", ; + Column3.ReadOnly = .T., ; + Column3.Width = 143 + *< END OBJECT: BaseClass="grid" /> + + ADD OBJECT 'page1.Page6.Grid1.Column1.Header1' AS header WITH ; + Alignment = 2, ; + Caption = "Detalii", ; + FontName = "Arial Narrow", ; + Name = "Header1" + *< END OBJECT: BaseClass="header" /> + + ADD OBJECT 'page1.Page6.Grid1.Column1.Text1' AS textbox WITH ; + BackColor = 255,255,255, ; + BorderStyle = 0, ; + ForeColor = 0,0,0, ; + Margin = 0, ; + Name = "Text1" + *< END OBJECT: BaseClass="textbox" /> + + ADD OBJECT 'page1.Page6.Grid1.Column3.Header1' AS header WITH ; + Alignment = 2, ; + Caption = "Nr.", ; + FontName = "Arial Narrow", ; + Name = "Header1" + *< END OBJECT: BaseClass="header" /> + + ADD OBJECT 'page1.Page6.Grid1.Column3.Text1' AS textbox WITH ; + BackColor = 255,255,255, ; + BorderStyle = 0, ; + FontName = "Arial Narrow", ; + ForeColor = 0,0,0, ; + Margin = 0, ; + Name = "Text1", ; + ReadOnly = .T. + *< END OBJECT: BaseClass="textbox" /> + + ADD OBJECT 'page1.Page6.Grid1.Column4.Header1' AS header WITH ; + Alignment = 2, ; + Caption = "Scoala", ; + FontName = "Arial Narrow", ; + Name = "Header1" + *< END OBJECT: BaseClass="header" /> + + ADD OBJECT 'page1.Page6.Grid1.Column4.Text1' AS textbox WITH ; + BackColor = 255,255,255, ; + BorderStyle = 0, ; + FontName = "Arial Narrow", ; + ForeColor = 0,0,0, ; + Margin = 0, ; + Name = "Text1", ; + ReadOnly = .T. + *< END OBJECT: BaseClass="textbox" /> + + ADD OBJECT 'page1.Page6.Grid3' AS grid WITH ; + Anchor = 240, ; + ColumnCount = 5, ; + DeleteMark = .F., ; + FontName = "Arial Narrow", ; + GridLines = 3, ; + HeaderHeight = 18, ; + Height = 124, ; + Left = 242, ; + Name = "Grid3", ; + Panel = 1, ; + ReadOnly = .T., ; + RecordMark = .F., ; + RecordSource = "v_curs_calif", ; + TabIndex = 8, ; + Top = 201, ; + Width = 550, ; + Column1.ControlSource = "", ; + Column1.FontName = "Arial Narrow", ; + Column1.Name = "Column3", ; + Column1.ReadOnly = .T., ; + Column1.Width = 29, ; + Column2.ControlSource = "denumire", ; + Column2.FontName = "Arial Narrow", ; + Column2.Name = "Column4", ; + Column2.ReadOnly = .T., ; + Column2.Width = 110, ; + Column3.ControlSource = "data", ; + Column3.FontName = "Arial Narrow", ; + Column3.Name = "Column1", ; + Column3.ReadOnly = .T., ; + Column3.Width = 59, ; + Column4.ControlSource = "test", ; + Column4.FontName = "Arial Narrow", ; + Column4.Name = "Column2", ; + Column4.ReadOnly = .T., ; + Column4.Width = 69, ; + Column5.ControlSource = "nota", ; + Column5.FontName = "Arial Narrow", ; + Column5.Name = "Column5", ; + Column5.ReadOnly = .T., ; + Column5.Width = 42 + *< END OBJECT: BaseClass="grid" /> + + ADD OBJECT 'page1.Page6.Grid3.Column1.Header1' AS header WITH ; + Alignment = 2, ; + Caption = "Data", ; + FontName = "Arial Narrow", ; + Name = "Header1" + *< END OBJECT: BaseClass="header" /> + + ADD OBJECT 'page1.Page6.Grid3.Column1.Text1' AS textbox WITH ; + BackColor = 255,255,255, ; + BorderStyle = 0, ; + ForeColor = 0,0,0, ; + Margin = 0, ; + Name = "Text1" + *< END OBJECT: BaseClass="textbox" /> + + ADD OBJECT 'page1.Page6.Grid3.Column2.Header1' AS header WITH ; + Alignment = 2, ; + Caption = "Serie/Nr. act", ; + FontName = "Arial Narrow", ; + Name = "Header1" + *< END OBJECT: BaseClass="header" /> + + ADD OBJECT 'page1.Page6.Grid3.Column2.Text1' AS textbox WITH ; + BackColor = 255,255,255, ; + BorderStyle = 0, ; + ForeColor = 0,0,0, ; + Margin = 0, ; + Name = "Text1" + *< END OBJECT: BaseClass="textbox" /> + + ADD OBJECT 'page1.Page6.Grid3.Column3.Header1' AS header WITH ; + Alignment = 2, ; + Caption = "Nr.", ; + FontName = "Arial Narrow", ; + Name = "Header1" + *< END OBJECT: BaseClass="header" /> + + ADD OBJECT 'page1.Page6.Grid3.Column3.Text1' AS textbox WITH ; + BackColor = 255,255,255, ; + BorderStyle = 0, ; + FontName = "Arial Narrow", ; + ForeColor = 0,0,0, ; + Margin = 0, ; + Name = "Text1", ; + ReadOnly = .T. + *< END OBJECT: BaseClass="textbox" /> + + ADD OBJECT 'page1.Page6.Grid3.Column4.Header1' AS header WITH ; + Alignment = 2, ; + Caption = "Denumire", ; + FontName = "Arial Narrow", ; + Name = "Header1" + *< END OBJECT: BaseClass="header" /> + + ADD OBJECT 'page1.Page6.Grid3.Column4.Text1' AS textbox WITH ; + BackColor = 255,255,255, ; + BorderStyle = 0, ; + FontName = "Arial Narrow", ; + ForeColor = 0,0,0, ; + Margin = 0, ; + Name = "Text1", ; + ReadOnly = .T. + *< END OBJECT: BaseClass="textbox" /> + + ADD OBJECT 'page1.Page6.Grid3.Column5.Header1' AS header WITH ; + Alignment = 2, ; + Caption = "Nota", ; + FontName = "Arial Narrow", ; + Name = "Header1" + *< END OBJECT: BaseClass="header" /> + + ADD OBJECT 'page1.Page6.Grid3.Column5.Text1' AS textbox WITH ; + BackColor = 255,255,255, ; + BorderStyle = 0, ; + ForeColor = 0,0,0, ; + Margin = 0, ; + Name = "Text1" + *< END OBJECT: BaseClass="textbox" /> + + ADD OBJECT 'page1.Page6.Lb_simplu1' AS lb_simplu WITH ; + Anchor = 544, ; + Caption = "Studii", ; + FontBold = .T., ; + Left = 267, ; + Name = "Lb_simplu1", ; + TabIndex = 13, ; + Top = 341, ; + ZOrderSet = 47 + *< END OBJECT: ClassLib="lb.vcx" BaseClass="label" /> + + ADD OBJECT 'page1.Page6.Lb_simplu2' AS lb_simplu WITH ; + Anchor = 544, ; + Caption = "Scoala generala:", ; + Left = 257, ; + Name = "Lb_simplu2", ; + TabIndex = 18, ; + Top = 21, ; + ZOrderSet = 47 + *< END OBJECT: ClassLib="lb.vcx" BaseClass="label" /> + + ADD OBJECT 'page1.Page6.Lb_simplu3' AS lb_simplu WITH ; + Anchor = 544, ; + Caption = "Scoala profesionala:", ; + Left = 257, ; + Name = "Lb_simplu3", ; + TabIndex = 19, ; + Top = 45, ; + ZOrderSet = 47 + *< END OBJECT: ClassLib="lb.vcx" BaseClass="label" /> + + ADD OBJECT 'page1.Page6.Lb_simplu4' AS lb_simplu WITH ; + Anchor = 544, ; + Caption = "Profil liceu:", ; + Left = 257, ; + Name = "Lb_simplu4", ; + TabIndex = 21, ; + Top = 69, ; + ZOrderSet = 47 + *< END OBJECT: ClassLib="lb.vcx" BaseClass="label" /> + + ADD OBJECT 'page1.Page6.Lb_simplu5' AS lb_simplu WITH ; + Anchor = 544, ; + Caption = "Cursuri calificare", ; + FontBold = .T., ; + Left = 267, ; + Name = "Lb_simplu5", ; + TabIndex = 12, ; + Top = 177, ; + ZOrderSet = 47 + *< END OBJECT: ClassLib="lb.vcx" BaseClass="label" /> + + ADD OBJECT 'page1.Page6.Lb_simplu6' AS lb_simplu WITH ; + Anchor = 544, ; + Caption = "Specialitate liceu:", ; + Left = 257, ; + Name = "Lb_simplu6", ; + TabIndex = 20, ; + Top = 93, ; + ZOrderSet = 47 + *< END OBJECT: ClassLib="lb.vcx" BaseClass="label" /> + + ADD OBJECT 'page1.Page6.Lb_simplu7' AS lb_simplu WITH ; + Anchor = 544, ; + Caption = "Scoala maistri:", ; + Left = 257, ; + Name = "Lb_simplu7", ; + TabIndex = 22, ; + Top = 117, ; + ZOrderSet = 47 + *< END OBJECT: ClassLib="lb.vcx" BaseClass="label" /> + + ADD OBJECT 'page1.Page6.Lb_simplu8' AS lb_simplu WITH ; + Anchor = 544, ; + Caption = "Scoala postliceala:", ; + Left = 257, ; + Name = "Lb_simplu8", ; + TabIndex = 24, ; + Top = 141, ; + ZOrderSet = 47 + *< END OBJECT: ClassLib="lb.vcx" BaseClass="label" /> + + ADD OBJECT 'page1.Page6.tx1' AS _textbox WITH ; + Anchor = 56, ; + ControlSource = "popers.sc_general", ; + DisabledBackColor = 242,242,242, ; + Format = "!K", ; + Height = 23, ; + Left = 385, ; + Name = "tx1", ; + ReadOnly = .T., ; + TabIndex = 1, ; + Top = 18, ; + Width = 358, ; + ZOrderSet = 9 + *< END OBJECT: ClassLib="_baza.vcx" BaseClass="textbox" /> + + ADD OBJECT 'page1.Page6.tx2' AS _textbox WITH ; + Anchor = 56, ; + ControlSource = "popers.sc_prof", ; + DisabledBackColor = 242,242,242, ; + Format = "!K", ; + Height = 23, ; + Left = 385, ; + Name = "tx2", ; + ReadOnly = .T., ; + TabIndex = 2, ; + Top = 42, ; + Width = 358, ; + ZOrderSet = 9 + *< END OBJECT: ClassLib="_baza.vcx" BaseClass="textbox" /> + + ADD OBJECT 'page1.Page6.tx3' AS _textbox WITH ; + Anchor = 56, ; + ControlSource = "popers.licprofil", ; + DisabledBackColor = 242,242,242, ; + Format = "!K", ; + Height = 23, ; + Left = 385, ; + Name = "tx3", ; + ReadOnly = .T., ; + TabIndex = 3, ; + Top = 66, ; + Width = 358, ; + ZOrderSet = 9 + *< END OBJECT: ClassLib="_baza.vcx" BaseClass="textbox" /> + + ADD OBJECT 'page1.Page6.tx4' AS _textbox WITH ; + Anchor = 56, ; + ControlSource = "popers.licspec", ; + DisabledBackColor = 242,242,242, ; + Format = "!K", ; + Height = 23, ; + Left = 385, ; + Name = "tx4", ; + ReadOnly = .T., ; + TabIndex = 4, ; + Top = 90, ; + Width = 358, ; + ZOrderSet = 9 + *< END OBJECT: ClassLib="_baza.vcx" BaseClass="textbox" /> + + ADD OBJECT 'page1.Page6.tx5' AS _textbox WITH ; + Anchor = 56, ; + ControlSource = "popers.sc_maistri", ; + DisabledBackColor = 242,242,242, ; + Format = "!K", ; + Height = 23, ; + Left = 385, ; + Name = "tx5", ; + ReadOnly = .T., ; + TabIndex = 5, ; + Top = 114, ; + Width = 358, ; + ZOrderSet = 9 + *< END OBJECT: ClassLib="_baza.vcx" BaseClass="textbox" /> + + ADD OBJECT 'page1.Page6.tx6' AS _textbox WITH ; + Anchor = 56, ; + ControlSource = "popers.sc_post", ; + DisabledBackColor = 242,242,242, ; + Format = "!K", ; + Height = 23, ; + Left = 385, ; + Name = "tx6", ; + ReadOnly = .T., ; + TabIndex = 6, ; + Top = 138, ; + Width = 358, ; + ZOrderSet = 9 + *< END OBJECT: ClassLib="_baza.vcx" BaseClass="textbox" /> + + ADD OBJECT 'page1.Page7.ania' AS _textbox WITH ; + Anchor = 176, ; + ControlSource = "", ; + DisabledBackColor = 242,242,242, ; + Format = "!K", ; + Height = 23, ; + InputMask = "9999999", ; + Left = 420, ; + Name = "ania", ; + ReadOnly = .T., ; + TabIndex = 7, ; + Top = 266, ; + Width = 58, ; + ZOrderSet = 9 + *< END OBJECT: ClassLib="_baza.vcx" BaseClass="textbox" /> + + ADD OBJECT 'page1.Page7.Cmd_executa1' AS cmd_executa WITH ; + Anchor = 48, ; + AutoSize = .T., ; + caction = calcul_vechime, ; + Caption = "Calcul vechime", ; + Left = 256, ; + Name = "Cmd_executa1", ; + TabIndex = 25, ; + Top = 299 + *< END OBJECT: ClassLib="cmd_butoane.vcx" BaseClass="commandbutton" /> + + ADD OBJECT 'page1.Page7.Cmd_executa2' AS cmd_executa WITH ; + Anchor = 48, ; + Caption = "Vechime (în luna curentã):", ; + FontBold = .F., ; + Height = 29, ; + Left = 240, ; + Name = "Cmd_executa2", ; + TabIndex = 26, ; + Top = 179, ; + Width = 168 + *< END OBJECT: ClassLib="cmd_butoane.vcx" BaseClass="commandbutton" /> + + ADD OBJECT 'page1.Page7.Lb_simplu1' AS lb_simplu WITH ; + Anchor = 48, ; + Caption = "Mod încadrare", ; + Left = 256, ; + Name = "Lb_simplu1", ; + TabIndex = 18, ; + Top = 98, ; + ZOrderSet = 47 + *< END OBJECT: ClassLib="lb.vcx" BaseClass="label" /> + + ADD OBJECT 'page1.Page7.Lb_simplu10' AS lb_simplu WITH ; + Anchor = 48, ; + Caption = "adicã :", ; + Left = 374, ; + Name = "Lb_simplu10", ; + TabIndex = 17, ; + Top = 152, ; + ZOrderSet = 47 + *< END OBJECT: ClassLib="lb.vcx" BaseClass="label" /> + + ADD OBJECT 'page1.Page7.Lb_simplu11' AS lb_simplu WITH ; + Anchor = 48, ; + Caption = "ani ºi", ; + Left = 484, ; + Name = "Lb_simplu11", ; + TabIndex = 20, ; + Top = 211, ; + ZOrderSet = 47 + *< END OBJECT: ClassLib="lb.vcx" BaseClass="label" /> + + ADD OBJECT 'page1.Page7.Lb_simplu12' AS lb_simplu WITH ; + Anchor = 48, ; + Caption = "adicã :", ; + Left = 374, ; + Name = "Lb_simplu12", ; + TabIndex = 16, ; + Top = 211, ; + ZOrderSet = 47 + *< END OBJECT: ClassLib="lb.vcx" BaseClass="label" /> + + ADD OBJECT 'page1.Page7.Lb_simplu13' AS lb_simplu WITH ; + Anchor = 48, ; + Caption = "(fixe, nu se vor recalcula în funcþie de vechime. Dacã se doreºte recalcularea zilelor cuvenite, nu se completeazã.)", ; + FontName = "Arial Narrow", ; + FontSize = 8, ; + Height = 32, ; + Left = 256, ; + Name = "Lb_simplu13", ; + TabIndex = 22, ; + Top = 352, ; + Width = 417, ; + WordWrap = .T., ; + ZOrderSet = 47 + *< END OBJECT: ClassLib="lb.vcx" BaseClass="label" /> + + ADD OBJECT 'page1.Page7.Lb_simplu14' AS lb_simplu WITH ; + Anchor = 48, ; + Caption = "Zile CO cuvenite", ; + Height = 18, ; + Left = 256, ; + Name = "Lb_simplu14", ; + TabIndex = 24, ; + Top = 334, ; + Width = 94, ; + WordWrap = .T., ; + ZOrderSet = 47 + *< END OBJECT: ClassLib="lb.vcx" BaseClass="label" /> + + ADD OBJECT 'page1.Page7.Lb_simplu15' AS lb_simplu WITH ; + Anchor = 48, ; + Caption = "Vechime la sfarsitul anului curent:", ; + Left = 256, ; + Name = "Lb_simplu15", ; + TabIndex = 12, ; + Top = 243, ; + ZOrderSet = 47 + *< END OBJECT: ClassLib="lb.vcx" BaseClass="label" /> + + ADD OBJECT 'page1.Page7.Lb_simplu16' AS lb_simplu WITH ; + Anchor = 48, ; + Caption = "total luni", ; + Left = 516, ; + Name = "Lb_simplu16", ; + TabIndex = 14, ; + Top = 243, ; + ZOrderSet = 47 + *< END OBJECT: ClassLib="lb.vcx" BaseClass="label" /> + + ADD OBJECT 'page1.Page7.Lb_simplu17' AS lb_simplu WITH ; + Anchor = 48, ; + Caption = "luni", ; + Left = 573, ; + Name = "Lb_simplu17", ; + TabIndex = 19, ; + Top = 269, ; + ZOrderSet = 47 + *< END OBJECT: ClassLib="lb.vcx" BaseClass="label" /> + + ADD OBJECT 'page1.Page7.Lb_simplu18' AS lb_simplu WITH ; + Anchor = 48, ; + Caption = "ani ºi", ; + Left = 482, ; + Name = "Lb_simplu18", ; + TabIndex = 20, ; + Top = 269, ; + ZOrderSet = 47 + *< END OBJECT: ClassLib="lb.vcx" BaseClass="label" /> + + ADD OBJECT 'page1.Page7.Lb_simplu19' AS lb_simplu WITH ; + Anchor = 48, ; + Caption = "adicã :", ; + Left = 372, ; + Name = "Lb_simplu19", ; + TabIndex = 16, ; + Top = 269, ; + ZOrderSet = 47 + *< END OBJECT: ClassLib="lb.vcx" BaseClass="label" /> + + ADD OBJECT 'page1.Page7.Lb_simplu2' AS lb_simplu WITH ; + Anchor = 48, ; + Caption = "Vechime (la data încadrãrii)", ; + Left = 256, ; + Name = "Lb_simplu2", ; + TabIndex = 12, ; + Top = 125, ; + ZOrderSet = 47 + *< END OBJECT: ClassLib="lb.vcx" BaseClass="label" /> + + ADD OBJECT 'page1.Page7.Lb_simplu3' AS lb_simplu WITH ; + Anchor = 48, ; + Caption = "Data încadrãrii", ; + Left = 256, ; + Name = "Lb_simplu3", ; + TabIndex = 11, ; + Top = 71, ; + ZOrderSet = 47 + *< END OBJECT: ClassLib="lb.vcx" BaseClass="label" /> + + ADD OBJECT 'page1.Page7.Lb_simplu4' AS lb_simplu WITH ; + Anchor = 48, ; + Caption = "Coef spor vechime :", ; + Left = 390, ; + Name = "Lb_simplu4", ; + TabIndex = 23, ; + Top = 304, ; + ZOrderSet = 47 + *< END OBJECT: ClassLib="lb.vcx" BaseClass="label" /> + + ADD OBJECT 'page1.Page7.Lb_simplu5' AS lb_simplu WITH ; + Anchor = 48, ; + Caption = "total luni", ; + Left = 484, ; + Name = "Lb_simplu5", ; + TabIndex = 14, ; + Top = 125, ; + ZOrderSet = 47 + *< END OBJECT: ClassLib="lb.vcx" BaseClass="label" /> + + ADD OBJECT 'page1.Page7.Lb_simplu6' AS lb_simplu WITH ; + Anchor = 48, ; + Caption = "luni", ; + Left = 575, ; + Name = "Lb_simplu6", ; + TabIndex = 15, ; + Top = 152, ; + ZOrderSet = 47 + *< END OBJECT: ClassLib="lb.vcx" BaseClass="label" /> + + ADD OBJECT 'page1.Page7.Lb_simplu7' AS lb_simplu WITH ; + Anchor = 48, ; + Caption = "total luni", ; + Left = 484, ; + Name = "Lb_simplu7", ; + TabIndex = 21, ; + Top = 185, ; + ZOrderSet = 47 + *< END OBJECT: ClassLib="lb.vcx" BaseClass="label" /> + + ADD OBJECT 'page1.Page7.Lb_simplu8' AS lb_simplu WITH ; + Anchor = 48, ; + Caption = "luni", ; + Left = 575, ; + Name = "Lb_simplu8", ; + TabIndex = 19, ; + Top = 211, ; + ZOrderSet = 47 + *< END OBJECT: ClassLib="lb.vcx" BaseClass="label" /> + + ADD OBJECT 'page1.Page7.Lb_simplu9' AS lb_simplu WITH ; + Anchor = 48, ; + Caption = "ani ºi ", ; + Left = 482, ; + Name = "Lb_simplu9", ; + TabIndex = 13, ; + Top = 152, ; + ZOrderSet = 47 + *< END OBJECT: ClassLib="lb.vcx" BaseClass="label" /> + + ADD OBJECT 'page1.Page7.lunia' AS _textbox WITH ; + Anchor = 176, ; + ControlSource = "", ; + DisabledBackColor = 242,242,242, ; + Format = "!K", ; + Height = 23, ; + InputMask = "9999999", ; + Left = 521, ; + Name = "lunia", ; + ReadOnly = .T., ; + TabIndex = 8, ; + Top = 266, ; + Width = 48, ; + ZOrderSet = 9 + *< END OBJECT: ClassLib="_baza.vcx" BaseClass="textbox" /> + + ADD OBJECT 'page1.Page7.tx56' AS _textbox WITH ; + Anchor = 176, ; + ControlSource = "popers.data_vech", ; + DisabledBackColor = 242,242,242, ; + Format = "!K", ; + Height = 23, ; + Left = 422, ; + Name = "tx56", ; + ReadOnly = .T., ; + TabIndex = 1, ; + Top = 68, ; + Width = 58, ; + ZOrderSet = 9 + *< END OBJECT: ClassLib="_baza.vcx" BaseClass="textbox" /> + + ADD OBJECT 'page1.Page7.tx57' AS _textbox WITH ; + Anchor = 176, ; + ControlSource = "popers.modincadr", ; + DisabledBackColor = 242,242,242, ; + Format = "!K", ; + Height = 23, ; + Left = 422, ; + Name = "tx57", ; + ReadOnly = .T., ; + TabIndex = 2, ; + Top = 95, ; + Width = 358, ; + ZOrderSet = 9 + *< END OBJECT: ClassLib="_baza.vcx" BaseClass="textbox" /> + + ADD OBJECT 'page1.Page7.tx58' AS _textbox WITH ; + Anchor = 176, ; + ControlSource = "popers.vechimei", ; + DisabledBackColor = 242,242,242, ; + Format = "!K", ; + Height = 23, ; + InputMask = "9999999", ; + Left = 422, ; + Name = "tx58", ; + ReadOnly = .T., ; + TabIndex = 3, ; + Top = 122, ; + Width = 58, ; + ZOrderSet = 9 + *< END OBJECT: ClassLib="_baza.vcx" BaseClass="textbox" /> + + ADD OBJECT 'page1.Page7.tx59' AS _textbox WITH ; + Anchor = 176, ; + ControlSource = "", ; + DisabledBackColor = 242,242,242, ; + Format = "!K", ; + Height = 23, ; + InputMask = "9999999", ; + Left = 422, ; + Name = "tx59", ; + ReadOnly = .T., ; + TabIndex = 4, ; + Top = 149, ; + Width = 58, ; + ZOrderSet = 9 + *< END OBJECT: ClassLib="_baza.vcx" BaseClass="textbox" /> + + ADD OBJECT 'page1.Page7.tx60' AS _textbox WITH ; + Anchor = 176, ; + ControlSource = "", ; + DisabledBackColor = 242,242,242, ; + Format = "!K", ; + Height = 23, ; + InputMask = "9999999", ; + Left = 523, ; + Name = "tx60", ; + ReadOnly = .T., ; + TabIndex = 5, ; + Top = 149, ; + Width = 48, ; + ZOrderSet = 9 + *< END OBJECT: ClassLib="_baza.vcx" BaseClass="textbox" /> + + ADD OBJECT 'page1.Page7.tx61' AS _textbox WITH ; + Anchor = 176, ; + ControlSource = "popers.vechime", ; + DisabledBackColor = 242,242,242, ; + Format = "!K", ; + Height = 23, ; + InputMask = "9999999", ; + Left = 422, ; + Name = "tx61", ; + ReadOnly = .T., ; + TabIndex = 6, ; + Top = 182, ; + Width = 58, ; + ZOrderSet = 9 + *< END OBJECT: ClassLib="_baza.vcx" BaseClass="textbox" /> + + ADD OBJECT 'page1.Page7.tx62' AS _textbox WITH ; + Anchor = 176, ; + ControlSource = "", ; + DisabledBackColor = 242,242,242, ; + Format = "!K", ; + Height = 23, ; + InputMask = "9999999", ; + Left = 422, ; + Name = "tx62", ; + ReadOnly = .T., ; + TabIndex = 7, ; + Top = 208, ; + Width = 58, ; + ZOrderSet = 9 + *< END OBJECT: ClassLib="_baza.vcx" BaseClass="textbox" /> + + ADD OBJECT 'page1.Page7.tx63' AS _textbox WITH ; + Anchor = 176, ; + ControlSource = "", ; + DisabledBackColor = 242,242,242, ; + Format = "!K", ; + Height = 23, ; + InputMask = "9999999", ; + Left = 523, ; + Name = "tx63", ; + ReadOnly = .T., ; + TabIndex = 8, ; + Top = 208, ; + Width = 48, ; + ZOrderSet = 9 + *< END OBJECT: ClassLib="_baza.vcx" BaseClass="textbox" /> + + ADD OBJECT 'page1.Page7.tx64' AS _textbox WITH ; + Anchor = 176, ; + ControlSource = "popers.c_vechime", ; + DisabledBackColor = 242,242,242, ; + Format = "!K", ; + Height = 23, ; + Left = 523, ; + Name = "tx64", ; + ReadOnly = .T., ; + TabIndex = 9, ; + Top = 301, ; + Width = 48, ; + ZOrderSet = 9 + *< END OBJECT: ClassLib="_baza.vcx" BaseClass="textbox" /> + + ADD OBJECT 'page1.Page7.tx65' AS _textbox WITH ; + Anchor = 176, ; + ControlSource = "popers.zilecofix", ; + DisabledBackColor = 242,242,242, ; + Format = "!K", ; + Height = 23, ; + Left = 523, ; + Name = "tx65", ; + ReadOnly = .T., ; + TabIndex = 10, ; + Top = 331, ; + Width = 48, ; + ZOrderSet = 9 + *< END OBJECT: ClassLib="_baza.vcx" BaseClass="textbox" /> + + ADD OBJECT 'page1.Page7.vechimea' AS _textbox WITH ; + Anchor = 176, ; + ControlSource = "", ; + DisabledBackColor = 242,242,242, ; + Format = "!K", ; + Height = 23, ; + InputMask = "9999999", ; + Left = 453, ; + Name = "vechimea", ; + ReadOnly = .T., ; + TabIndex = 3, ; + Top = 239, ; + Width = 58, ; + ZOrderSet = 9 + *< END OBJECT: ClassLib="_baza.vcx" BaseClass="textbox" /> + + ADD OBJECT 'page1.Page8.Ct_clb_tipautorizatie' AS ct_clb_cautare_var WITH ; + Anchor = 672, ; + cconditie = EMPTY(NVL(popers.id_tipautorizatie,0)), ; + cprocedura = Thisform.do_cauta_tipautorizatie, ; + cvar_afisata = popers.tipautorizatie, ; + Height = 31, ; + Left = 252, ; + Name = "Ct_clb_tipautorizatie", ; + TabIndex = 7, ; + Top = 75, ; + Width = 300, ; + shape_cautare.BorderStyle = 0, ; + shape_cautare.Name = "shape_cautare", ; + img_cautare.Anchor = 672, ; + img_cautare.Left = 280, ; + img_cautare.Name = "img_cautare", ; + img_cautare.Top = 5, ; + lb_cautare.Caption = "Tip autorizaþie", ; + lb_cautare.Left = 0, ; + lb_cautare.Name = "lb_cautare", ; + lb_cautare.Top = 8, ; + tx_cautare.Anchor = 672, ; + tx_cautare.FontName = "Arial Narrow", ; + tx_cautare.Height = 23, ; + tx_cautare.Left = 81, ; + tx_cautare.Name = "tx_cautare", ; + tx_cautare.Top = 4, ; + tx_cautare.Width = 195 + *< END OBJECT: ClassLib="caut_ora.vcx" BaseClass="container" /> + + ADD OBJECT 'page1.Page8.grid1' AS _grdrow WITH ; + Anchor = 240, ; + ColumnCount = 12, ; + DeleteMark = .F., ; + FontName = "Arial Narrow", ; + Height = 264, ; + Left = 244, ; + Name = "grid1", ; + Panel = 1, ; + RecordSource = "v_jurnal", ; + TabIndex = 10, ; + Top = 140, ; + Width = 524, ; + Column1.ControlSource = "tipoperatie", ; + Column1.FontName = "Arial Narrow", ; + Column1.Name = "Column1", ; + Column1.Width = 51, ; + Column2.ControlSource = "tip_modificare", ; + Column2.FontName = "Arial Narrow", ; + Column2.Name = "Column2", ; + Column2.Width = 82, ; + Column3.ControlSource = "dataoperarii", ; + Column3.FontName = "Arial Narrow", ; + Column3.Name = "Column3", ; + Column3.Width = 78, ; + Column4.ControlSource = "motivmodificareexplicatie", ; + Column4.FontName = "Arial Narrow", ; + Column4.Name = "Column4", ; + Column4.Width = 90, ; + Column5.ControlSource = "contractnumar", ; + Column5.FontName = "Arial Narrow", ; + Column5.Name = "Column5", ; + Column5.Width = 59, ; + Column6.ControlSource = "contractdatainceput", ; + Column6.FontName = "Arial Narrow", ; + Column6.Name = "Column6", ; + Column6.Width = 60, ; + Column7.ColumnOrder = 9, ; + Column7.ControlSource = "meserie", ; + Column7.FontName = "Arial Narrow", ; + Column7.Name = "Column7", ; + Column7.Width = 81, ; + Column8.ColumnOrder = 10, ; + Column8.ControlSource = "tip_contract", ; + Column8.FontName = "Arial Narrow", ; + Column8.Name = "Column8", ; + Column9.ColumnOrder = 11, ; + Column9.ControlSource = "tipnorma", ; + Column9.FontName = "Arial Narrow", ; + Column9.Name = "Column9", ; + Column10.ColumnOrder = 12, ; + Column10.ControlSource = "tipdurata", ; + Column10.FontName = "Arial Narrow", ; + Column10.Name = "Column10", ; + Column11.ColumnOrder = 7, ; + Column11.ControlSource = "contractnumaritm", ; + Column11.FontName = "Arial Narrow", ; + Column11.Name = "Column11", ; + Column11.Width = 59, ; + Column12.ColumnOrder = 8, ; + Column12.ControlSource = "contractdataitm", ; + Column12.FontName = "Arial Narrow", ; + Column12.Name = "Column12", ; + Column12.Width = 64 + *< END OBJECT: ClassLib="_grd_base.vcx" BaseClass="grid" /> + + ADD OBJECT 'page1.Page8.grid1.Column1.Header1' AS header WITH ; + Alignment = 2, ; + Caption = "Operatie", ; + FontName = "Arial Narrow", ; + Name = "Header1" + *< END OBJECT: BaseClass="header" /> + + ADD OBJECT 'page1.Page8.grid1.Column1.Text1' AS textbox WITH ; + BackColor = 255,255,255, ; + BorderStyle = 0, ; + FontName = "Arial Narrow", ; + ForeColor = 0,0,0, ; + Margin = 0, ; + Name = "Text1", ; + SelectedBackColor = 100,185,255 + *< END OBJECT: BaseClass="textbox" /> + + ADD OBJECT 'page1.Page8.grid1.Column10.Header1' AS header WITH ; + Alignment = 2, ; + Caption = "Tip Durata", ; + FontName = "Arial Narrow", ; + Name = "Header1" + *< END OBJECT: BaseClass="header" /> + + ADD OBJECT 'page1.Page8.grid1.Column10.Text1' AS textbox WITH ; + BackColor = 255,255,255, ; + BorderStyle = 0, ; + FontName = "Arial Narrow", ; + ForeColor = 0,0,0, ; + Margin = 0, ; + Name = "Text1", ; + SelectedBackColor = 100,185,255 + *< END OBJECT: BaseClass="textbox" /> + + ADD OBJECT 'page1.Page8.grid1.Column11.Header1' AS header WITH ; + Alignment = 2, ; + Caption = "Ctr nr. ITM", ; + FontName = "Arial Narrow", ; + Name = "Header1" + *< END OBJECT: BaseClass="header" /> + + ADD OBJECT 'page1.Page8.grid1.Column11.Text1' AS textbox WITH ; + BackColor = 255,255,255, ; + BorderStyle = 0, ; + FontName = "Arial Narrow", ; + ForeColor = 0,0,0, ; + Margin = 0, ; + Name = "Text1", ; + SelectedBackColor = 100,185,255 + *< END OBJECT: BaseClass="textbox" /> + + ADD OBJECT 'page1.Page8.grid1.Column12.Header1' AS header WITH ; + Alignment = 2, ; + Caption = "Ctr data ITM", ; + FontName = "Arial Narrow", ; + Name = "Header1" + *< END OBJECT: BaseClass="header" /> + + ADD OBJECT 'page1.Page8.grid1.Column12.Text1' AS textbox WITH ; + BackColor = 255,255,255, ; + BorderStyle = 0, ; + FontName = "Arial Narrow", ; + ForeColor = 0,0,0, ; + Margin = 0, ; + Name = "Text1", ; + SelectedBackColor = 100,185,255 + *< END OBJECT: BaseClass="textbox" /> + + ADD OBJECT 'page1.Page8.grid1.Column2.Header1' AS header WITH ; + Alignment = 2, ; + Caption = "Tip modificare", ; + FontName = "Arial Narrow", ; + Name = "Header1" + *< END OBJECT: BaseClass="header" /> + + ADD OBJECT 'page1.Page8.grid1.Column2.Text1' AS textbox WITH ; + BackColor = 255,255,255, ; + BorderStyle = 0, ; + FontName = "Arial Narrow", ; + ForeColor = 0,0,0, ; + Margin = 0, ; + Name = "Text1", ; + SelectedBackColor = 100,185,255 + *< END OBJECT: BaseClass="textbox" /> + + ADD OBJECT 'page1.Page8.grid1.Column3.Header1' AS header WITH ; + Alignment = 2, ; + Caption = "Data operatie", ; + FontName = "Arial Narrow", ; + Name = "Header1" + *< END OBJECT: BaseClass="header" /> + + ADD OBJECT 'page1.Page8.grid1.Column3.Text1' AS textbox WITH ; + BackColor = 255,255,255, ; + BorderStyle = 0, ; + FontName = "Arial Narrow", ; + ForeColor = 0,0,0, ; + Margin = 0, ; + Name = "Text1", ; + SelectedBackColor = 100,185,255 + *< END OBJECT: BaseClass="textbox" /> + + ADD OBJECT 'page1.Page8.grid1.Column4.Header1' AS header WITH ; + Alignment = 2, ; + Caption = "Explicatie", ; + FontName = "Arial Narrow", ; + Name = "Header1" + *< END OBJECT: BaseClass="header" /> + + ADD OBJECT 'page1.Page8.grid1.Column4.Text1' AS textbox WITH ; + BackColor = 255,255,255, ; + BorderStyle = 0, ; + FontName = "Arial Narrow", ; + ForeColor = 0,0,0, ; + Margin = 0, ; + Name = "Text1", ; + SelectedBackColor = 100,185,255 + *< END OBJECT: BaseClass="textbox" /> + + ADD OBJECT 'page1.Page8.grid1.Column5.Header1' AS header WITH ; + Alignment = 2, ; + Caption = "Ctr numar", ; + FontName = "Arial Narrow", ; + Name = "Header1" + *< END OBJECT: BaseClass="header" /> + + ADD OBJECT 'page1.Page8.grid1.Column5.Text1' AS textbox WITH ; + BackColor = 255,255,255, ; + BorderStyle = 0, ; + FontName = "Arial Narrow", ; + ForeColor = 0,0,0, ; + Margin = 0, ; + Name = "Text1", ; + SelectedBackColor = 100,185,255 + *< END OBJECT: BaseClass="textbox" /> + + ADD OBJECT 'page1.Page8.grid1.Column6.Header1' AS header WITH ; + Alignment = 2, ; + Caption = "Ctr datai", ; + FontName = "Arial Narrow", ; + Name = "Header1" + *< END OBJECT: BaseClass="header" /> + + ADD OBJECT 'page1.Page8.grid1.Column6.Text1' AS textbox WITH ; + BackColor = 255,255,255, ; + BorderStyle = 0, ; + FontName = "Arial Narrow", ; + ForeColor = 0,0,0, ; + Margin = 0, ; + Name = "Text1", ; + SelectedBackColor = 100,185,255 + *< END OBJECT: BaseClass="textbox" /> + + ADD OBJECT 'page1.Page8.grid1.Column7.Header1' AS header WITH ; + Alignment = 2, ; + Caption = "Meserie", ; + FontName = "Arial Narrow", ; + Name = "Header1" + *< END OBJECT: BaseClass="header" /> + + ADD OBJECT 'page1.Page8.grid1.Column7.Text1' AS textbox WITH ; + BackColor = 255,255,255, ; + BorderStyle = 0, ; + FontName = "Arial Narrow", ; + ForeColor = 0,0,0, ; + Margin = 0, ; + Name = "Text1", ; + SelectedBackColor = 100,185,255 + *< END OBJECT: BaseClass="textbox" /> + + ADD OBJECT 'page1.Page8.grid1.Column8.Header1' AS header WITH ; + Alignment = 2, ; + Caption = "Tip contract", ; + FontName = "Arial Narrow", ; + Name = "Header1" + *< END OBJECT: BaseClass="header" /> + + ADD OBJECT 'page1.Page8.grid1.Column8.Text1' AS textbox WITH ; + BackColor = 255,255,255, ; + BorderStyle = 0, ; + FontName = "Arial Narrow", ; + ForeColor = 0,0,0, ; + Margin = 0, ; + Name = "Text1", ; + SelectedBackColor = 100,185,255 + *< END OBJECT: BaseClass="textbox" /> + + ADD OBJECT 'page1.Page8.grid1.Column9.Header1' AS header WITH ; + Alignment = 2, ; + Caption = "Tip norma", ; + FontName = "Arial Narrow", ; + Name = "Header1" + *< END OBJECT: BaseClass="header" /> + + ADD OBJECT 'page1.Page8.grid1.Column9.Text1' AS textbox WITH ; + BackColor = 255,255,255, ; + BorderStyle = 0, ; + FontName = "Arial Narrow", ; + ForeColor = 0,0,0, ; + Margin = 0, ; + Name = "Text1", ; + SelectedBackColor = 100,185,255 + *< END OBJECT: BaseClass="textbox" /> + + ADD OBJECT 'page1.Page8.Lb_simplu1' AS lb_simplu WITH ; + Anchor = 544, ; + Caption = "Istoric modificãri / corecþii", ; + FontBold = .T., ; + FontSize = 10, ; + Left = 242, ; + Name = "Lb_simplu1", ; + TabIndex = 14, ; + Top = 118, ; + ZOrderSet = 60 + *< END OBJECT: ClassLib="lb.vcx" BaseClass="label" /> + + ADD OBJECT 'page1.Page8.Lb_simplu2' AS lb_simplu WITH ; + Anchor = 544, ; + Caption = "Carte muncã (seria ºi nr.)", ; + Left = 252, ; + Name = "Lb_simplu2", ; + TabIndex = 17, ; + Top = 5, ; + ZOrderSet = 60 + *< END OBJECT: ClassLib="lb.vcx" BaseClass="label" /> + + ADD OBJECT 'page1.Page8.Lb_simplu3' AS lb_simplu WITH ; + Anchor = 544, ; + AutoSize = .F., ; + Caption = "Valabilitate autorizaþie", ; + Height = 36, ; + Left = 564, ; + Name = "Lb_simplu3", ; + TabIndex = 11, ; + Top = 73, ; + Width = 59, ; + WordWrap = .T., ; + ZOrderSet = 41 + *< END OBJECT: ClassLib="lb.vcx" BaseClass="label" /> + + ADD OBJECT 'page1.Page8.Lb_simplu4' AS lb_simplu WITH ; + Anchor = 544, ; + Caption = "Nr. ºi datã contract (ITM)", ; + Left = 252, ; + Name = "Lb_simplu4", ; + TabIndex = 15, ; + Top = 55, ; + ZOrderSet = 60 + *< END OBJECT: ClassLib="lb.vcx" BaseClass="label" /> + + ADD OBJECT 'page1.Page8.Lb_simplu5' AS lb_simplu WITH ; + Anchor = 544, ; + Caption = "din", ; + Left = 501, ; + Name = "Lb_simplu5", ; + TabIndex = 12, ; + Top = 55, ; + ZOrderSet = 41 + *< END OBJECT: ClassLib="lb.vcx" BaseClass="label" /> + + ADD OBJECT 'page1.Page8.Lb_simplu6' AS lb_simplu WITH ; + Anchor = 544, ; + Caption = "Nr. ºi datã contract (intern)", ; + Left = 252, ; + Name = "Lb_simplu6", ; + TabIndex = 16, ; + Top = 30, ; + ZOrderSet = 60 + *< END OBJECT: ClassLib="lb.vcx" BaseClass="label" /> + + ADD OBJECT 'page1.Page8.Lb_simplu7' AS lb_simplu WITH ; + Anchor = 544, ; + Caption = "din", ; + Left = 501, ; + Name = "Lb_simplu7", ; + TabIndex = 13, ; + Top = 30, ; + ZOrderSet = 41 + *< END OBJECT: ClassLib="lb.vcx" BaseClass="label" /> + + ADD OBJECT 'page1.Page8.tx65' AS _txbase WITH ; + Anchor = 672, ; + ControlSource = "popers.cmseria", ; + DisabledBackColor = 242,242,242, ; + Format = "K", ; + Height = 24, ; + Left = 430, ; + Name = "tx65", ; + ReadOnly = .T., ; + TabIndex = 1, ; + Top = 1, ; + Width = 69, ; + ZOrderSet = 61 + *< END OBJECT: ClassLib="_tx_base.vcx" BaseClass="textbox" /> + + ADD OBJECT 'page1.Page8.tx66' AS _txbase WITH ; + Anchor = 672, ; + ControlSource = "popers.cmnr", ; + DisabledBackColor = 242,242,242, ; + Format = "!K", ; + Height = 24, ; + Left = 502, ; + Name = "tx66", ; + ReadOnly = .T., ; + TabIndex = 2, ; + Top = 1, ; + Width = 69, ; + ZOrderSet = 61 + *< END OBJECT: ClassLib="_tx_base.vcx" BaseClass="textbox" /> + + ADD OBJECT 'page1.Page8.tx67' AS _txbase WITH ; + Anchor = 672, ; + ControlSource = "popers.nrctrmchr", ; + DisabledBackColor = 242,242,242, ; + Format = "!K", ; + Height = 24, ; + InputMask = "", ; + Left = 430, ; + Name = "tx67", ; + ReadOnly = .T., ; + TabIndex = 5, ; + Top = 51, ; + Width = 69, ; + ZOrderSet = 61 + *< END OBJECT: ClassLib="_tx_base.vcx" BaseClass="textbox" /> + + ADD OBJECT 'page1.Page8.tx68' AS _txbase WITH ; + Anchor = 544, ; + ControlSource = "popers.datactrm", ; + DisabledBackColor = 242,242,242, ; + Format = "!K", ; + Height = 24, ; + Left = 521, ; + Name = "tx68", ; + ReadOnly = .T., ; + TabIndex = 6, ; + Top = 51, ; + Width = 79, ; + ZOrderSet = 42 + *< END OBJECT: ClassLib="_tx_base.vcx" BaseClass="textbox" /> + + ADD OBJECT 'page1.Page8.tx69' AS _txbase WITH ; + Anchor = 672, ; + ControlSource = "popers.nrctr", ; + DisabledBackColor = 242,242,242, ; + Format = "!K", ; + Height = 24, ; + InputMask = "9999999999999", ; + Left = 430, ; + Name = "tx69", ; + ReadOnly = .T., ; + TabIndex = 3, ; + Top = 26, ; + Width = 69, ; + ZOrderSet = 61 + *< END OBJECT: ClassLib="_tx_base.vcx" BaseClass="textbox" /> + + ADD OBJECT 'page1.Page8.tx70' AS _txbase WITH ; + Anchor = 544, ; + ControlSource = "popers.datactr", ; + DisabledBackColor = 242,242,242, ; + Format = "!K", ; + Height = 24, ; + Left = 521, ; + Name = "tx70", ; + ReadOnly = .T., ; + TabIndex = 4, ; + Top = 26, ; + Width = 79, ; + ZOrderSet = 42 + *< END OBJECT: ClassLib="_tx_base.vcx" BaseClass="textbox" /> + + ADD OBJECT 'page1.Page8.tx72' AS _txbase WITH ; + Anchor = 544, ; + ControlSource = "popers.datainceputautorizatie", ; + DisabledBackColor = 242,242,242, ; + Format = "!K", ; + Height = 24, ; + Left = 628, ; + Name = "tx72", ; + ReadOnly = .T., ; + TabIndex = 8, ; + Top = 76, ; + Width = 80, ; + ZOrderSet = 42 + *< END OBJECT: ClassLib="_tx_base.vcx" BaseClass="textbox" /> + + ADD OBJECT 'page1.Page8.tx73' AS _txbase WITH ; + Anchor = 544, ; + ControlSource = "popers.datasfarsitautorizatie", ; + DisabledBackColor = 242,242,242, ; + Format = "!K", ; + Height = 24, ; + Left = 713, ; + Name = "tx73", ; + ReadOnly = .T., ; + TabIndex = 9, ; + Top = 76, ; + Width = 80, ; + ZOrderSet = 42 + *< END OBJECT: ClassLib="_tx_base.vcx" BaseClass="textbox" /> + + ADD OBJECT 'page1.Page9.But_modifica1' AS but_modifica WITH ; + Anchor = 72, ; + caction = do_modifica_echip, ; + Left = 725, ; + Name = "But_modifica1", ; + Top = 15, ; + Visible = .T. + *< END OBJECT: ClassLib="cmd_butoane.vcx" BaseClass="commandbutton" /> + + ADD OBJECT 'page1.Page9.But_nou1' AS but_nou WITH ; + Anchor = 72, ; + caction = do_adauga_echip, ; + Left = 695, ; + Name = "But_nou1", ; + Top = 15 + *< END OBJECT: ClassLib="cmd_butoane.vcx" BaseClass="commandbutton" /> + + ADD OBJECT 'page1.Page9.But_sterge1' AS but_sterge WITH ; + Anchor = 72, ; + caction = do_sterge_echip, ; + Left = 755, ; + Name = "But_sterge1", ; + Top = 15, ; + Visible = .T. + *< END OBJECT: ClassLib="cmd_butoane.vcx" BaseClass="commandbutton" /> + + ADD OBJECT 'page1.Page9.Grid3' AS grid WITH ; + Anchor = 240, ; + ColumnCount = 3, ; + DeleteMark = .F., ; + FontName = "Arial Narrow", ; + GridLines = 3, ; + HeaderHeight = 18, ; + Height = 336, ; + Left = 239, ; + Name = "Grid3", ; + Panel = 1, ; + ReadOnly = .T., ; + RecordMark = .F., ; + RecordSource = "v_echip", ; + Top = 56, ; + Width = 553, ; + Column1.ControlSource = "", ; + Column1.FontName = "Arial Narrow", ; + Column1.Name = "Column3", ; + Column1.ReadOnly = .T., ; + Column1.Width = 29, ; + Column2.ControlSource = "articol", ; + Column2.FontName = "Arial Narrow", ; + Column2.Name = "Column4", ; + Column2.ReadOnly = .T., ; + Column2.Width = 199, ; + Column3.ControlSource = "numar", ; + Column3.FontName = "Arial Narrow", ; + Column3.Name = "Column1", ; + Column3.ReadOnly = .T., ; + Column3.Width = 80 + *< END OBJECT: BaseClass="grid" /> + + ADD OBJECT 'page1.Page9.Grid3.Column1.Header1' AS header WITH ; + Alignment = 2, ; + Caption = "Numar", ; + FontName = "Arial Narrow", ; + Name = "Header1" + *< END OBJECT: BaseClass="header" /> + + ADD OBJECT 'page1.Page9.Grid3.Column1.Text1' AS textbox WITH ; + BackColor = 255,255,255, ; + BorderStyle = 0, ; + ForeColor = 0,0,0, ; + Margin = 0, ; + Name = "Text1" + *< END OBJECT: BaseClass="textbox" /> + + ADD OBJECT 'page1.Page9.Grid3.Column3.Header1' AS header WITH ; + Alignment = 2, ; + Caption = "Nr.", ; + FontName = "Arial Narrow", ; + Name = "Header1" + *< END OBJECT: BaseClass="header" /> + + ADD OBJECT 'page1.Page9.Grid3.Column3.Text1' AS textbox WITH ; + BackColor = 255,255,255, ; + BorderStyle = 0, ; + FontName = "Arial Narrow", ; + ForeColor = 0,0,0, ; + Margin = 0, ; + Name = "Text1", ; + ReadOnly = .T. + *< END OBJECT: BaseClass="textbox" /> + + ADD OBJECT 'page1.Page9.Grid3.Column4.Header1' AS header WITH ; + Alignment = 2, ; + Caption = "Denumire", ; + FontName = "Arial Narrow", ; + Name = "Header1" + *< END OBJECT: BaseClass="header" /> + + ADD OBJECT 'page1.Page9.Grid3.Column4.Text1' AS textbox WITH ; + BackColor = 255,255,255, ; + BorderStyle = 0, ; + FontName = "Arial Narrow", ; + ForeColor = 0,0,0, ; + Margin = 0, ; + Name = "Text1", ; + ReadOnly = .T. + *< END OBJECT: BaseClass="textbox" /> + + ADD OBJECT 'page1.Page9.Lb_simplu3' AS lb_simplu WITH ; + Anchor = 544, ; + Caption = "Echipament", ; + FontBold = .T., ; + FontSize = 10, ; + Left = 264, ; + Name = "Lb_simplu3", ; + TabIndex = 46, ; + Top = 19, ; + ZOrderSet = 60 + *< END OBJECT: ClassLib="lb.vcx" BaseClass="label" /> + + PROCEDURE actualizeaza_grid1 + Lparameters tcFiltru + Local lcFiltru,lcSelect + + lcSelectOriginal = ALIAS() + If Empty(tcFiltru) + lcFiltru = poper.ca_baza1.cfiltru + Else + lcFiltru = tcFiltru + Endif + + Thisform.MousePointer= 11 + Thisform.LockScreen=.T. + save_grid_tag(Thisform._GRID1) + poper.ca_baza1.cfiltru=lcFiltru + poper.ca_baza1.afisare() + restore_grid_tag(Thisform._GRID1) + SELECT v_personal + replace ALL nr WITH RECNO() + GO TOP + lcSql = [select COUNT(id_salariat) as nrang from sal_vnom_pers where ]+lcFiltru + lcCursor = [crsnrang] + lnSucces = goExecutor.oExecute(lcSql,lcCursor) + + If lnSucces < 0 + aMessagebox(goExecutor.cEroare,0+16,"Eroare") + RETURN + ELSE + SELECT crsnrang + thisform.nrang=nrang + USE IN crsnrang + ENDIF + + lcSql = [select COUNT(id_salariat) as nrang from sal_vnom_pers where datalic is null and ]+lcFiltru + lcCursor = [crsnrangactivi] + lnSucces = goExecutor.oExecute(lcSql,lcCursor) + + If lnSucces < 0 + aMessagebox(goExecutor.cEroare,0+16,"Eroare") + RETURN + ELSE + SELECT crsnrangactivi + thisform.nrangactivi=nrang + USE IN crsnrangactivi + ENDIF + + IF !EMPTY(lcSelectOriginal) + SELECT (lcSelectOriginal) + ENDIF + Thisform.LockScreen=.F. + Thisform.MousePointer= 0 + *!* modificare ROARES v 2.0.21 : thisform._grID1.column5.ReadOnly= .F. + + ENDPROC + + PROCEDURE adaugare_parteneri + *!* modificare ROASAL v 2.0.14 + If glLunaInchisa + Return + Endif + *!* modificare ROASAL v 2.0.14 ^ + + Local lcpicture,lflag + Private podif + Store '' To podif + lcpicture = Lower(This.but_noup1.cpictureup) + If !'dis'$lcpicture + lflag = Thisform.verifica_parteneri() + Else + res_adauga_parteneri() &&osalarii_comun + Endif + buton=2 + Select v_dif_part + odifp = Createobject('frm_difpart') + odifp.Show(1) + Release odifp + + If buton=1 + This.do_adauga() + Select v_dif_part + Scatter Name lodifp + popers.id_part=lodifp.id_part + popers.nume=lodifp.nume + popers.codpers=lodifp.cod_fiscal + popers.biserianr = Alltrim(lodifp.reg_comert) + popers.prenume=Alltrim(lodifp.prenume) + popers.strada=lodifp.strada + popers.numar = lodifp.numar + popers.Bloc = lodifp.Bloc + popers.scara = lodifp.scara + popers.etaj = lodifp.etaj + popers.apart = lodifp.apart + *!* popers.sector = lodifp.sector && modificare ROASAL v 2.0.32 + popers.id_loc = lodifp.id_loc + popers.localitate = lodifp.localitate + popers.judet = lodifp.judet + popers.id_judet = lodifp.id_judet + Thisform.verifica_parteneri(1) + *!* modificare ROASAL v 2.0.32 + Thisform.refresh_pagini(1) + Thisform.page1.page1.tx4.SetFocus() + *!* lnpage = This.page1.ActivePage + *!* lcpage = 'thisform.page1.page'+Alltrim(Str(lnpage))+'.activate()' + *!* &lcpage + *!* modificare ROASAL v 2.0.32 ^ + Endif + If Used('v_dif_part') + Use In v_dif_part + Endif + + ENDPROC + + PROCEDURE adauga_copil + *!* modificare ROASAL v 2.0.14 + If glLunaInchisa + Return + Endif + *!* modificare ROASAL v 2.0.14 ^ + If Empty(Nvl(popers.id_salariat,0)) + aMessageBox('Pentru a putea adauga copii unei persoana noi angajate, trebuie salvate mai intai datele persoanei!',0+16,'Atentie') + Return + Endif + Private pniesire + pniesire=0 + Select v_copii + Scatter Name loRec Blank + loRec.id_persoana = popers.id_salariat + + Do Adauga_Modifica_Inregistrare With "familie1",loRec,loRec.id_persoana,"INSERT",,"addcopii" + If pniesire=1 + save_grid_tag(Thisform.page1.page3.grid1) &&grid v_copii + pocop.ca_baza1.cfiltru=[id_persoana = ] + Alltrim(Str(popers.id_salariat)) + pocop.ca_baza1.afisare() + restore_grid_tag(Thisform.page1.page3.grid1) + Endif + ENDPROC + + PROCEDURE arata_linkuri + Local lcTabel, lcFisSalvat,lcDir + + lcTabel = Thisform.page1.page10.gridAtasamente.RecordSource + lcDir = ADDBS(GETENV("USERPROFILE"))+"my documents\roares_temp" + IF !DIRECTORY(lcDir) + MD (lcDir) + ENDIF + Select (lcTabel) + If Reccount() >0 + IF !EMPTY(NVL(nume_atasament,'')) + *!* lcFisSalvat = Addbs(gcTempPath)+ALLTRIM(nume_atasament) + + lcFisSalvat = ADDBS(lcDir)+ALLTRIM(nume_atasament) + this.do_download(lcFisSalvat) + ENDIF + Endif + If Used('crsAtasamente') + Use In crsAtasamente + Endif + + + + + ENDPROC + + PROCEDURE calcul_vechime + + private pniesire + pniesire=0 + + + CREATE CURSOR crsVechime (datainc d,datasf d, nrLuni n(4), nrZile n(2)) + *!* Select v_nom_pers + + Do Adauga_Modifica_Inregistrare With "vech",popers,popers.id_salariat,"UPDATE",,"addvech" + + RELEASE lorec + IF USED('crsVechime') + USE IN crsVechime + ENDIF + ENDPROC + + PROCEDURE corder + LPARAMETERS tcCamp + poper.ca_baza1.corder=GETWORDNUM(tcCamp,2,'.') + + thisform.actualizeaza_grid1() + ENDPROC + + PROCEDURE co_calculcoefvechime + thisform.vechimeal() + + IF gnSAL_CALCVECHIME = 1 + lcSql = [ select coef_vechi ]+; + [ from sal_tab_vechimi ]+; + [ where ]+ ALLTRIM(STR(popers.vechime))+[ >= lim_inf * 12 ]+; + [ and ]+ ALLTRIM(STR(popers.vechime))+[ < lim_sup * 12 and sters = 0] + lcCursor = [crsc_vechime] + lnSucces = goExecutor.oExecute(lcSql,lcCursor) + + If lnSucces < 0 + aMessagebox(goExecutor.cEroare,0+16,"Eroare") + RETURN + ELSE + SELECT crsc_vechime + popers.c_vechime = coef_vechi + thisform.page1.paGE7.tx64.Refresh() + IF USED('crsc_vechime') + USE IN crsc_vechime + ENDIF + ENDIF + + ENDIF + ENDPROC + + PROCEDURE Destroy + *!* modificare ROASAL v 2.0.0 + Unbindevents(Thisform.page1.page2.opt_stare_contract,"InteractiveChange",Thisform,"do_modifica_stare") + Unbindevents(Thisform.page1.page2.opt_stare_contract,"Refresh",Thisform,"do_actualizeaza_stare") + DoDefault() + *!* modificare ROASAL v 2.0.0 ^ + + ENDPROC + + PROCEDURE do_activeaza + Lparameters tlScriere + Thisform.do_butoane_stare(!tlScriere) + *!* modificare ROARES v 2.0.8 + *!* Dimension lapagini[6,3] &&array pagini [1,1] - nr text initial, [1,2]- nr text final, [1,3] - nr pagina + *!* lapagini[1,1]=1 + *!* lapagini[1,2]=25 + *!* lapagini[1,3]=1 + + *!* lapagini[2,1]=26 + *!* lapagini[2,2]=55 + *!* lapagini[2,3]=2 + + *!* lapagini[3,1]=51 + *!* lapagini[3,2]=54 + *!* lapagini[3,3]=3 + + *!* lapagini[4,1]=55 + *!* lapagini[4,2]=55 + *!* lapagini[4,3]=5 + + *!* lapagini[5,1]=56 + *!* lapagini[5,2]=65 + *!* lapagini[5,3]=7 + + *!* lapagini[6,1]=65 + *!* lapagini[6,2]=73 + *!* lapagini[6,3]=8 + Thisform.page1.page2.opt_stare_contract.Enabled = tlScriere + Thisform.page1.page2.opt_oug114.Enabled = tlScriere + *!* Local ladim,lni,lnf + *!* ladim = Alen(lapagini,1) &&nr de pagini configurate pt refresh + For i = 1 To Thisform.page1.PageCount + *!* For i=1 To ladim + *!* For j = lapagini[i,1] To lapagini[i,2] + *!* If j=31 And tlScriere + *!* Loop &§ia + *!* Endif + *!* lcr = 'thisform.page1.page'+Alltrim(Str(lapagini[i,3]))+'.tx'+Alltrim(Str(j))+'.readonly='+Iif(tlScriere,[.F.],[.T.]) + *!* lcre = 'thisform.page1.page'+Alltrim(Str(lapagini[i,3]))+'.tx'+Alltrim(Str(j))+'.refresh' + *!* &lcr + *!* &lcre + *!* Endfor + loPage = Evaluate([thisform.page1.page]+Alltrim(Str(i))) + With loPage + For j = 1 To .Objects.Count + Do Case + Case Inlist(Upper(.Objects[j].Class),[_TXBASE],[_TEXTBOX],[COMBOBOX],[_CBBASE],[CHECKBOX],[_CHECKBOX]) + .Objects[j].ReadOnly = Iif(Inlist(Upper(.Objects[j].Name),[_TXBASE5],[TX13],[TX31],[TX40],[TX41],[VECHIMEA],[ANIA],[LUNIA]),.T.,!tlScriere) + .Objects[j].Refresh() + *!* Case Like([CMD_*],Upper(.Objects[j].Class)) Or Like([BUT_*],Upper(.Objects[j].Class)) + *!* .Objects[j].Enabled = tlScriere + Case Inlist(Upper(.Objects[j].Class),[CT_CLB_CAUTARE_VAR],[CT_CLB_CAUTARE],[CT_CB_TX]) + If tlScriere + .Objects[j].do_activeaza() + Else + .Objects[j].do_dezactiveaza() + Endif + Endcase + Endfor + Endwith + *!* modificare ROARES v 2.0.8 ^ + Endfor + *!* modificare ROARES v 2.0.8 + If tlScriere + Thisform.do_actualizeaza_nom_norme(2) + Endif + *!* modificare ROARES v 2.0.8 ^ + If gnEvaluareRevisal5 = 1 + Thisform.clienttoptabs1.lb_registru.Visible = tlScriere + Thisform.clienttoptabs1.opt_registru.Visible = tlScriere + Endif + If tlScriere + Thisform.clienttoptabs1.opt_registru.Value = 3 + Endif + ENDPROC + + PROCEDURE do_actualizeaza_nom_norme + Lparameters tnModificare + *!* 2 - e apelata din do_activeaza + *!* 1 - e activata modificarea + *!* 0 sau .F. - e doar vizualizare + Local lcAlias + lcAlias = Select() + Select crsnomduratam + If popers.id_tip_norma <> 0 + Set Filter To id_tip_norma = popers.id_tip_norma + Else + Set Filter To + ENDIF + + With Thisform.page1.page2 + + + If popers.id_tip_norma = 2 && timp partial + .ct_cb_intm.Visible = .T. + IF gnAn*12+GnLuna <2017*12+8 + .tx55.Visible = .F. + ELSE + .tx55.Visible = .T. + ENDIF + If !Empty(tnModificare) + If popers_orig.id_tip_norma = 1 And tnModificare = 1 + popers.id_durata_munca = Null + popers.nume_durata_munca = [] + .ct_cb_duratam.Refresh() + Thisform.do_actualizeaza_norma() + Endif + .tx40.ReadOnly = .F. + .tx41.ReadOnly = .F. + ENDIF + + Else + .ct_cb_intm.Visible = .F. + popers.cassalmin = 0 + .tx55.Visible = .F. + If !Empty(tnModificare) + If tnModificare = 1 + If popers_orig.id_tip_norma = 2 + Thisform.do_actualizeaza_norma() + Endif + popers.id_interval_munca = Null + popers.nume_interval_munca = [] + Endif + .tx40.ReadOnly = .T. + .tx41.ReadOnly = .T. + Endif + Endif + Endwith + Select (lcAlias) + + ENDPROC + + PROCEDURE do_actualizeaza_norma + Do Case + Case popers.id_durata_munca = 1 + popers.orenorm = 8 + popers.fractie = popers.orenorm + Thisform.page1.page2.tx41.ReadOnly = .T. + Case popers.id_durata_munca = 2 + popers.orenorm = 6 + popers.fractie = popers.orenorm + Thisform.page1.page2.tx41.ReadOnly = .T. + Case popers.id_durata_munca = 3 + popers.orenorm = 8 + popers.fractie = popers.orenorm + Thisform.page1.page2.tx41.ReadOnly = .F. + Otherwise + popers.orenorm = 8 + popers.fractie = popers_orig.fractie + Endcase + Thisform.page1.page2.tx40.Refresh() + Thisform.page1.page2.tx41.Refresh() + ENDPROC + + PROCEDURE do_actualizeaza_stare + *!* modificare ROARES v 2.0.8 + *!* daca nu apasa pe "Cauta" are 0 in popers_orig.stare_contract si + *!* 0 in popers.stare_contract ; imi da eroare mai jos + If popers_orig.stare_contract + popers.stare_contract <> 0 + *!* modificare ROARES v 2.0.8 ^ + With Thisform.page1.page2 + For i = 1 To 4 + .opt_stare_contract.Buttons[i].FontBold = .F. + Endfor + *!* modificare ROARES v 2.0.7 + *!* If popers_orig.stare_contract <> 0 + *!* .opt_stare_contract.Buttons[popers_orig.stare_contract].FontBold = .T. + *!* Endif + *!* modificare ROARES v 2.0.8 + *!* If This.cus_odata_opers1.cactiune=[INSERT] + If This.cus_odata_opers1.cactiune=[INSERT] And popers.stare_contract = 1 ; + AND Inlist(popers_orig.stare_contract,0,2) + *!* modificare ROARES v 2.0.8 ^ + .opt_stare_contract.Buttons[1].FontBold = .T. + Else + *!* modificare 02.07.2012 : sesizarea #3333 + *!* .opt_stare_contract.Buttons[popers_orig.stare_contract].FontBold = .T. + If Between(Nvl(popers_orig.stare_contract,0),1,Thisform.page1.page2.opt_stare_contract.ButtonCount) + .opt_stare_contract.Buttons[popers_orig.stare_contract].FontBold = .T. + Else + polog.Log( Nvl(Alltrim(Str(popers.marca)),"null")+":"+; + NVL(Alltrim(Str(popers_orig.stare_contract)),"null")+">>"+; + NVL(Alltrim(Str(popers.stare_contract)),"null"),Program()) + Endif + *!* modificare 02.07.2012 ^ + Endif + *!* modificare ROARES v 2.0.7 ^ + Do Case + Case popers_orig.stare_contract = 3 + .opt_stare_contract.option1.Caption = [Încetare suspendare] + .opt_stare_contract.option2.Enabled = .F. + .opt_stare_contract.option3.Enabled = .T. + .opt_stare_contract.option4.Enabled = .F. + Case popers_orig.stare_contract = 4 + .opt_stare_contract.option1.Caption = [Încetare detaºare] + .opt_stare_contract.option2.Enabled = .F. + .opt_stare_contract.option3.Enabled = .T. + .opt_stare_contract.option4.Enabled = .T. + Case popers_orig.stare_contract = 2 + .opt_stare_contract.option1.Caption = [Reactivare] + .opt_stare_contract.option2.Enabled = Iif(This.cus_odata_opers1.cactiune=[INSERT] And popers.stare_contract = 1 ; + AND Inlist(popers_orig.stare_contract,0,2),.F.,.T.) && modificare ROARES v 2.0.7 + .opt_stare_contract.option3.Enabled = .F. + .opt_stare_contract.option4.Enabled = .F. + Case popers_orig.stare_contract = 0 + .opt_stare_contract.option1.Caption = [Activ] + .opt_stare_contract.option2.Enabled = .F. + .opt_stare_contract.option3.Enabled = .F. + .opt_stare_contract.option4.Enabled = .F. + Otherwise + .opt_stare_contract.option1.Caption = [Activ] + .opt_stare_contract.option2.Enabled = .T. + .opt_stare_contract.option3.Enabled = .T. + .opt_stare_contract.option4.Enabled = .T. + Endcase + Do Case + Case popers.stare_contract = 1 + *!* modificare ROARES v 2.0.8 + *!* .lb_simplu3.Visible = .F. + .lb_simplu9.Visible = .F. + *!* .lb_simplu10.Visible = .F. + .tx54.Visible = .F. + *!* .tx48.Visible = .F. + *!* .tx55.Visible = .F. + .ct_clb_detasatla.Visible = .F. + .ct_clb_taradet.Visible = .F. + *!* modificare ROARES v 2.0.8 ^ + *!* modificare ROARES v 2.0.7 + *!* .lb32.Visible = .F. + *!* .tx43.Visible = .F. + *!* .lb_simplu2.Visible = .F. + *!* .tx47.Visible = .F. + *!* modificare ROARES v 2.0.7 ^ + Do Case + Case popers_orig.stare_contract = 2 + *!* Daca trece din incetat in activ : temei legal reactivare, data reactivare. + .lb32.Caption = [Datã reactivare] + .lb32.Visible = .T. + .tx43.Visible = .T. + *!* modificare ROARES v 2.0.8 + *!* .lb_simplu2.Visible = .T. + *!* .tx47.Visible = .T. + .ct_clb_temei.Visible = .T. + Case popers_orig.stare_contract = 3 + *!* Daca trece din suspendat in activ : data incetare suspendare + .lb32.Caption = [Datã încetare suspendare] + .lb32.Visible = .T. + .tx43.Visible = .T. + *!* .lb_simplu2.Visible = .F. + *!* .tx47.Visible = .F. + .ct_clb_temei.Visible = .F. + Case popers_orig.stare_contract = 4 + *!* Daca trece din detasat in activ : data incetare detasare + .lb32.Caption = [Datã încetare detaºare] + .lb32.Visible = .T. + .tx43.Visible = .T. + *!* .lb_simplu2.Visible = .F. + *!* .tx47.Visible = .F. + .ct_clb_temei.Visible = .F. + Otherwise + .lb32.Visible = .F. + .tx43.Visible = .F. + *!* .lb_simplu2.Visible = .F. + *!* .tx47.Visible = .F. + .ct_clb_temei.Visible = .F. + Endcase + *!* modificare ROARES v 2.0.7 ^ + Case popers.stare_contract = 2 + .lb32.Caption = [Datã încetare] + .lb32.Visible = .T. + *!* .lb_simplu2.Visible = .T. + *!* .lb_simplu3.Visible = .F. + .lb_simplu9.Visible = .T. + *!* .lb_simplu10.Visible = .F. + .tx43.Visible = .T. + .tx54.Visible = .F. + *!* .tx47.Visible = .T. + *!* .tx48.Visible = .F. + *!* .tx55.Visible = .F. + .ct_clb_temei.Visible = .T. + .ct_clb_detasatla.Visible = .F. + .ct_clb_taradet.Visible = .F. + Case popers.stare_contract = 3 + .lb32.Caption = [Perioadã suspendare] + .lb32.Visible = .T. + *!* .lb_simplu2.Visible = .T. + *!* .lb_simplu3.Visible = .F. + .lb_simplu9.Visible = .F. + *!* .lb_simplu10.Visible = .F. + .tx43.Visible = .T. + .tx54.Visible = .T. + *!* .tx47.Visible = .T. + *!* .tx48.Visible = .F. + *!* .tx55.Visible = .F. + .ct_clb_temei.Visible = .T. + .ct_clb_detasatla.Visible = .F. + .ct_clb_taradet.Visible = .F. + Case popers.stare_contract = 4 + .lb32.Caption = [Perioadã detaºare] + .lb32.Visible = .T. + *!* .lb_simplu2.Visible = .F. + *!* .lb_simplu3.Visible = .T. + .lb_simplu9.Visible = .F. + *!* .lb_simplu10.Visible = .T. + .tx43.Visible = .T. + .tx54.Visible = .T. + *!* .tx47.Visible = .F. + *!* .tx48.Visible = .T. + *!* .tx55.Visible = .T. + .ct_clb_temei.Visible = .F. + .ct_clb_detasatla.Visible = .T. + .ct_clb_taradet.Visible = .T. + *!* modificare ROARES v 2.0.8 ^ + Endcase + Endwith + *!* modificare ROARES v 2.0.8 + Endif + *!* modificare ROARES v 2.0.8 ^ + ENDPROC + + PROCEDURE do_adauga + *!* modificare ROASAL v 2.0.14 + IF glLunaInchisa + Return + ENDIF + *!* modificare ROASAL v 2.0.14 ^ + + Select v_personal + Scatter MEMO Name popers Blank + Scatter MEMO Name popers_orig Blank && modificare ROASAL v 2.0.0 + popers.stare_contract = 1 + popers.oug114 = 2 + Thisform.setez_exceptii() && cas,somaj,etc + + *--------------------------------- + lcSql = [select pack_salarii.get_marca(']+gcs+[') as nrmarca from dual] + lcCursor = [crsNRMarca] + lnSucces = goExecutor.oExecute(lcSql,lcCursor) + + If lnSucces < 0 + aMessagebox(goExecutor.cEroare,0+16,"Eroare") + Return + Endif + Select crsNRMarca + popers.marca = Round(crsNRMarca.nrMarca,0) + Use In crsNRMarca + *--------------------------------------- + Thisform.page1.page1._txbase5.Value={} + Thisform.page1.page1._txbase5.Refresh + + *!* modificare ROASAL v 2.0.0 + Thisform.do_activeaza(.T.) + *!* Thisform.do_writeonly() + *!* thisform.clienttoptabs1.lb_registru.Visible=.f. + *!* thisform.clienttoptabs1.opt_registru.Visible=.f. + *!* modificare ROASAL v 2.0.0 ^ + Thisform.page1.page2.opt_oug114.value = 2 + This.cus_odata_opers1.cactiune = 'INSERT' && modificare ROARES v 2.0.10 : era dupa refresh_pagini + Thisform.refresh_pagini(Thisform.clienttoptabs1.activetab) && modificare ROARES v 2.0.8 + Thisform.eticheta() + + + + + + ENDPROC + + PROCEDURE do_adauga_aviz + *!* modificare ROASAL v 2.0.14 + If glLunaInchisa + Return + Endif + *!* modificare ROASAL v 2.0.14 ^ + Private pniesire,pnNr,pcNumeTata + pniesire=0 + + Select v_avize + Scatter Name loRec Blank + lorec.id_persoana = popers.id_salariat + Do Adauga_Modifica_Inregistrare With "avize",loRec,,"INSERT",,"aaviz" + If pniesire=1 + save_grid_tag(Thisform.page1.page11.grid3) + poavize.ca_baza1.cfiltru = [id_persoana = ] + ALLTRIM(STR(popers.id_salariat)) +[ and sters = 0] + poavize.ca_baza1.afisare() + restore_grid_tag(Thisform.page1.page11.grid3) + Endif + ENDPROC + + PROCEDURE do_adauga_bazacm + *!* modificare ROASAL v 2.0.14 + If glLunaInchisa + Return + Endif + *!* modificare ROASAL v 2.0.14 ^ + Private pniesire,pnNr,pcNumeTata + pniesire=0 + + Select v_bazacm + Scatter Name loRec Blank + lorec.id_stat = popers.id_stat + Do Adauga_Modifica_Inregistrare With "bazacm",loRec,,"INSERT",,"abaza" + If pniesire=1 + save_grid_tag(Thisform.page1.page4.grid3) + pobazacm.ca_baza1.cfiltru = [id_stat = ] + ALLTRIM(STR(popers.id_stat)) + pobazacm.ca_baza1.afisare() + restore_grid_tag(Thisform.page1.page4.grid3) + Endif + ENDPROC + + PROCEDURE do_adauga_curs + *!* modificare ROASAL v 2.0.14 + If glLunaInchisa + Return + Endif + *!* modificare ROASAL v 2.0.14 ^ + Private pniesire + pniesire=0 + *!* update_curs() + + Select v_curs_calif + Scatter Name loRec Blank + lorec.id_persoana = popers.id_salariat + + Do Adauga_Modifica_Inregistrare With "curs",loRec,,"INSERT",,"addcurs" + If pniesire=1 + save_grid_tag(Thisform.page1.page6.grid3) + pocurs.ca_baza1.cfiltru=[id_persoana = ] + ALLTRIM(STR(popers.id_salariat)) + pocurs.ca_baza1.afisare() + restore_grid_tag(Thisform.page1.page6.grid3) + Select v_calif + GO TOP + ENDIF + ENDPROC + + PROCEDURE do_adauga_echip + *!* modificare ROASAL v 2.0.14 + If glLunaInchisa + Return + Endif + *!* modificare ROASAL v 2.0.14 ^ + + IF EMPTY(popers.id_stat) + RETURN + ENDIF + + Private pniesire + pniesire=0 + *!* update_echip() + Select v_echip + Scatter Name loRec Blank + lorec.id_part = popers.id_part + + Do Adauga_Modifica_Inregistrare With "echip",loRec,,"INSERT",,"addechip" + + ENDPROC + + PROCEDURE do_adauga_intret + *!* modificare ROASAL v 2.0.14 + DODEFAULT() + If glLunaInchisa + Return + Endif + *!* modificare ROASAL v 2.0.14 ^ + If Empty(popers.id_salariat) or IsNull(popers.id_salariat) + aMessageBox('Pentru a putea adauga persoanele aflate in intretinerea unei persoana noi angajate, trebuie salvate mai intai datele persoanei!',0+16,'Atentie') + Return + EndIf + Private pniesire + pniesire=0 + + update_hand(1) + update_dedsupl() + + Select v_nom_intret + Scatter Name loRec Blank + + lorec.id_stat = popers.id_stat + + Do Adauga_Modifica_Inregistrare With "intret",loRec,,"INSERT",,"addintret" + If pniesire=1 + save_grid_tag(Thisform.page1.page3.grid3) + pointr.ca_baza1.cfiltru=[id_persoana = ] + ALLTRIM(STR(popers.id_salariat)) + pointr.ca_baza1.afisare() + restore_grid_tag(Thisform.page1.page3.grid3) + ENDIF + + IF USED('v_dedsupl') + USE IN v_dedsupl + ENDIF + ENDPROC + + PROCEDURE do_adauga_limba + *!* modificare ROASAL v 2.0.14 + If glLunaInchisa + Return + Endif + *!* modificare ROASAL v 2.0.14 ^ + + Private pniesire + pniesire=0 + + update_limbi() + Select v_calif + Scatter Name loRec BLANK + + lorec.id_persoana = popers.id_salariat + Do Adauga_Modifica_Inregistrare With "limbi",loRec,,"INSERT",,"addlim" + If pniesire=1 + save_grid_tag(Thisform.page1.page5.grid3) + pocalif.ca_baza1.cfiltru=[id_persoana = ] + ALLTRIM(STR(popers.id_salariat)) + pocalif.ca_baza1.afisare() + restore_grid_tag(Thisform.page1.page5.grid3) + Select v_calif + GO TOP + ENDIF + RELEASE lorec + ENDPROC + + PROCEDURE do_adauga_stud + *!* modificare ROASAL v 2.0.14 + If glLunaInchisa + Return + Endif + *!* modificare ROASAL v 2.0.14 ^ + + Private pniesire + pniesire=0 + Select v_studii + Scatter Name loRec Blank + lorec.id_persoana = popers.id_salariat + + Do Adauga_Modifica_Inregistrare With "stud",loRec,,"INSERT",,"addstud" + + ENDPROC + + PROCEDURE do_butoane_stare + LPARAMETERS tlstare + + *!* IF tnstare = 1 &&writeonly + *!* this.But_noup1.Visible=.f. + *!* this.but_nou1.Visible=.f. + *!* thisform.but_TERMIN1.Visible = .f. + *!* thisform.but_modifica1.Visible=.f. + *!* thisform.but_sterge1.Visible=.f. + *!* thisform.but_salveaza1.Visible=.t. + *!* this.but_rENUNT1.Visible = .t. + *!* thisform.but_excel1.Visible = .t. + *!* thisform.caut_nou1.visible=.f. + *!* &®istru unic + *!* thisform.clienttoptabs1.lb_registru.Visible=.f. + *!* thisform.clienttoptabs1.opt_registru.Visible=.f. + *!* ELSE + *!* this.but_modifica1.Visible=.t. + *!* this.But_noup1.Visible=.t. + *!* this.but_nou1.Visible=.t. + *!* this.but_salveaza1.Visible=.f. + *!* this.but_rENUNT1.Visible = .f. + *!* this.but_sterge1.Visible=.t. + *!* this.but_TERMIN1.Visible=.t. + *!* this.but_excel1.Visible = .t. + *!* thisform.caut_nou1.visible=.t. + *!* &®istru unic + *!* thisform.clienttoptabs1.lb_registru.Visible=.t. + *!* thisform.clienttoptabs1.opt_registru.Visible=.t. + *!* ENDIF + LOCAL llAccesModif + *!* llAccesModif = thisform.but_modifica1.Visible + llAccesModif = thisform.laccesmodif + WITH thisform + This.but_modiparam1.Visible = IIF(glLunaInchisa,.F.,IIF(llAccesModif ,tlstare,llAccesModif )) && modificare ROARES v 2.0.21 + *!* modificare ROASAL v 2.0.14 : IIF(glLunaInchisa,.F.,...) + this.But_noup1.Visible=IIF(glLunaInchisa,.F.,IIF(llAccesModif ,tlstare,llAccesModif )) + this.but_nou1.Visible=IIF(glLunaInchisa,.F.,tlstare) + this.but_nou1.Enabled = IIF(glLunaInchisa,.F.,IIF(llAccesModif ,tlstare,llAccesModif )) + thisform.but_TERMIN1.Visible = tlstare + *!* thisform.but_modifica1.Visible=IIF(glLunaInchisa,.F.,tlstare) + thisform.but_modifica1.Visible=IIF(glLunaInchisa,.F.,IIF(llAccesModif ,tlstare,llAccesModif )) + thisform.but_sterge1.Visible=IIF(glLunaInchisa,.F.,IIF(llAccesModif ,tlstare,llAccesModif )) + thisform.page1.page3.but_nou1.Visible = IIF(glLunaInchisa,.F.,llAccesModif ) + thisform.page1.page3.but_nou2.Visible = IIF(glLunaInchisa,.F.,llAccesModif ) + thisform.page1.page3.but_modifica1.Visible = IIF(glLunaInchisa,.F.,llAccesModif ) + thisform.page1.page3.but_modifica2.Visible = IIF(glLunaInchisa,.F.,llAccesModif ) + thisform.page1.page3.but_sterge1.Visible = IIF(glLunaInchisa,.F.,llAccesModif ) + thisform.page1.page3.but_sterge2.Visible = IIF(glLunaInchisa,.F.,llAccesModif ) + + thisform.page1.page4.but_nou1.Visible = IIF(glLunaInchisa,.F.,llAccesModif ) + thisform.page1.page4.but_modifica1.Visible = IIF(glLunaInchisa,.F.,llAccesModif ) + thisform.page1.page4.but_sterge1.Visible = IIF(glLunaInchisa,.F.,llAccesModif ) + + thisform.page1.page5.but_nou1.Visible = IIF(glLunaInchisa,.F.,llAccesModif ) + thisform.page1.page5.but_modifica1.Visible = IIF(glLunaInchisa,.F.,llAccesModif ) + thisform.page1.page5.but_sterge1.Visible = IIF(glLunaInchisa,.F.,llAccesModif ) + + thisform.page1.page6.but_nou1.Visible = IIF(glLunaInchisa,.F.,llAccesModif ) + thisform.page1.page6.but_nou2.Visible = IIF(glLunaInchisa,.F.,llAccesModif ) + thisform.page1.page6.but_modifica1.Visible = IIF(glLunaInchisa,.F.,llAccesModif ) + thisform.page1.page6.but_modifica2.Visible = IIF(glLunaInchisa,.F.,llAccesModif ) + thisform.page1.page6.but_sterge1.Visible = IIF(glLunaInchisa,.F.,llAccesModif ) + thisform.page1.page6.but_sterge2.Visible = IIF(glLunaInchisa,.F.,llAccesModif ) + + thisform.page1.page7.cmd_executa1.Visible = IIF(glLunaInchisa,.F.,llAccesModif ) + thisform.page1.page7.cmd_executa2.Visible = IIF(glLunaInchisa,.F.,llAccesModif ) + + + thisform.page1.page9.but_nou1.Visible = IIF(glLunaInchisa,.F.,llAccesModif ) + thisform.page1.page9.but_modifica1.Visible = IIF(glLunaInchisa,.F.,llAccesModif ) + thisform.page1.page9.but_sterge1.Visible = IIF(glLunaInchisa,.F.,llAccesModif ) + + thisform.page1.page11.but_nou1.Visible = IIF(glLunaInchisa,.F.,llAccesModif ) + thisform.page1.page11.but_modifica1.Visible = IIF(glLunaInchisa,.F.,llAccesModif ) + thisform.page1.page11.but_sterge1.Visible = IIF(glLunaInchisa,.F.,llAccesModif ) + + + thisform.but_salveaza1.Visible=!tlstare + this.but_rENUNT1.Visible = !tlstare + thisform.but_excel1.Visible = tlstare + thisform.caut_nou1.visible=tlstare + *!* modificare ROARES v 2.0.14 + With Thisform.page1.page2.ck_anulare_incetare + .Visible = Iif(popers.stare_contract = 2,!tlStare,.F.) + .Value = 0 + Endwith + *!* modificare ROARES v 2.0.14 ^ + *!* modificare v 2.0.0 + *!* &®istru unic + *!* thisform.clienttoptabs1.lb_registru.Visible=!tlstare + *!* thisform.clienttoptabs1.opt_registru.Visible=!tlstare + *!* modificare v 2.0.0 ^ + ENDWITH + ENDPROC + + PROCEDURE do_cauta_apatrid + Local loCauta + loCauta = caut_apatrid() + If gnButon # 2 + *!* modificare v 2.0.14 + If popers.id_tipapatrid<> loCauta.id_tipapatrid + popers.nationalitate = [] + popers.id_nationalit = Null + Endif + *!* modificare v 2.0.14 ^ + popers.apatrid = loCauta.denumire + popers.id_tipapatrid = loCauta.id_tipapatrid + popers.codapatrid = loCauta.cod && modificare ROASAL v 2.0.0 + With Thisform.page1.page8 + If popers.id_tipapatrid = 1 + .ct_clb_tipautorizatie.Visible = .T. + .lb_simplu3.Visible = .T. + .tx72.Visible = .T. + .tx73.Visible = .T. + Else + .ct_clb_tipautorizatie.Visible = .F. + .lb_simplu3.Visible = .F. + .tx72.Visible = .F. + .tx73.Visible = .F. + popers.id_tipautorizatie = Null + popers.tipautorizatie = [] + popers.datainceputautorizatie = {} + popers.datasfarsitautorizatie = {} + Endif + Endwith + If Thisform.cus_odata_opers1.cactiune = 'UPDATE' And gnEvaluareRevisal5 = 1 + Thisform.registru_unic(7) + Endif + Thisform.page1.page1.ct_clb_nationalitate.SetFocus() + Endif + ENDPROC + + PROCEDURE do_cauta_banca + Local loCauta + loCauta = caut_bancasal(.T.) + If gnButon # 2 + popers.banca = loCauta.denumire + popers.id_banca = loCauta.id_banca + Endif + Thisform.KeyPress(-2,0) + ENDPROC + + PROCEDURE do_cauta_casaasig + Local loCauta + loCauta = caut_cass(.T.) + If gnButon # 2 + popers.casaasig = loCauta.numecasa + popers.id_caseasig= loCauta.id_caseasig + Endif + Thisform.page1.page2.tx45.SetFocus() + + ENDPROC + + PROCEDURE do_cauta_cetatenie + Local loCauta + loCauta = caut_cetatenie() + If gnButon # 2 + *!* modificare v 2.0.14 + If popers.id_cetatenie <> loCauta.id_cetatenie + popers.nationalitate = [] + popers.id_nationalit = Null + Endif + *!* modificare v 2.0.14 ^ + popers.cetatenie = loCauta.denumire + popers.id_cetatenie = loCauta.id_cetatenie + popers.codcetatenie = loCauta.cod && modificare ROASAL v 2.0.0 + With Thisform.page1.page8 + *!* If Upper(popers.codcetatenie) = [ALTA] + If Upper(popers.codcetatenie) <> [ROMANA] && si pentru persoanele STRAIN-UE este nevoie de autorizatie + .ct_clb_tipautorizatie.Visible = .T. + .lb_simplu3.Visible = .T. + .tx72.Visible = .T. + .tx73.Visible = .T. + Else + .ct_clb_tipautorizatie.Visible = .F. + .lb_simplu3.Visible = .F. + .tx72.Visible = .F. + .tx73.Visible = .F. + popers.id_tipautorizatie = Null + popers.tipautorizatie = [] + popers.datainceputautorizatie = {} + popers.datasfarsitautorizatie = {} + Endif + Endwith + If Thisform.cus_odata_opers1.cactiune = 'UPDATE' And gnEvaluareRevisal5 = 1 + Thisform.registru_unic(7) + Endif + Thisform.page1.page1.ct_clb_nationalitate.SetFocus() + Endif + ENDPROC + + PROCEDURE do_cauta_clasasal + Local loCauta + loCauta = caut_clasasal() + If gnButon # 2 + popers.cod = loCauta.cod + popers.id_clasasal = loCauta.id_clasasal + Endif + Thisform.page1.page2.tx34.SetFocus() + ENDPROC + + PROCEDURE do_cauta_formatia + LOCAL loCauta + loCauta = caut_formatie(.F.,.T.) + If gnButon # 2 + popers.formatia = Alltrim(locauta.denumire) + popers.id_formatie = locauta.id_formatia + popers.id_sectie = locauta.id_sectie + popers.sectie=Alltrim(locauta.sectie) + Thisform.page1.page2.tx31.Refresh() + If Thisform.cus_odata_opers1.cactiune = 'UPDATE' And gnEvaluareRevisal5 = 1 + Thisform.registru_unic(6) + Endif + Thisform.page1.page2.ct_clb_grupa_munca.Setfocus() + Endif + ENDPROC + + PROCEDURE do_cauta_grupamunca + Local loCauta + loCauta = caut_grupamunca() + If gnButon # 2 + popers.grupacas = loCauta.dengrupa + popers.id_cas = loCauta.id_cas + Thisform.page1.page2.ct_clb_clasasal.SetFocus() + Endif + + ENDPROC + + PROCEDURE do_cauta_judet + Local loCauta + loCauta = caut_judet() + If gnButon # 2 + popers.judet = loCauta.judet + popers.id_judet = loCauta.id_judet + Thisform.page1.page1.ct_clb_localitate.SetFocus() + Endif + + ENDPROC + + PROCEDURE do_cauta_localitate + Local loCauta + loCauta = caut_localitate(popers.id_judet) + If gnButon # 2 + popers.localitate = loCauta.localitate + popers.id_loc = loCauta.id_loc + If Thisform.cus_odata_opers1.cactiune = 'UPDATE' And gnEvaluareRevisal5 = 1 + Thisform.registru_unic(7) + Endif + *!* modificare ROARES v 2.0.14 + *!* If Alltrim(popers.localitate) = [BUCURESTI] + *!* Thisform.page1.page1.tx13.SetFocus() + *!* Else + Thisform.page1.page1.tx15.SetFocus() + *!* Endif + *!* modificare ROARES v 2.0.14 ^ + Endif + + ENDPROC + + PROCEDURE do_cauta_meseria + Lparameters tnTip + *!* 1 = meseria ; 2 = profesia + LOCAL loCauta + loCauta = caut_meserie(tnTip) + If gnButon # 2 + If tnTip = 1 + popers.meseria = locauta.meserie + popers.id_meserie = locauta.id_meseria + If Thisform.cus_odata_opers1.cactiune = 'UPDATE' And gnEvaluareRevisal5 = 1 + Thisform.registru_unic(1) + Endif + Thisform.page1.page2.ct_clb_formatia.SetFocus() + Else + popers.profesia = locauta.meserie + popers.id_profesie = locauta.id_meseria + Endif + Endif + ENDPROC + + PROCEDURE do_cauta_partener + Lparameters tnTip + Local loHash,loCauta + *!* 2 = partener detasare + loHash = GetHash([cTitlu>>Detasat la]) + loCauta = CautPartenerContabilitate(loHash) + If gnButon # 2 + If tnTip = 2 + popers.denumires = loCauta.denumire + popers.id_parts = loCauta.id_part + Thisform.page1.page2.ct_clb_taradet.SetFocus() + Endif + Endif + ENDPROC + + PROCEDURE do_cauta_plimpozit + Local loCauta + loCauta = caut_scutireimpozit() + If gnButon # 2 + popers.scutireimpozit = loCauta.scutireimpozit + popers.plimpozit = loCauta.id + Thisform.page1.page2.ct_clb_cautare_var1.SetFocus() + Endif + + ENDPROC + + PROCEDURE do_cauta_scutireimpozit + ENDPROC + + PROCEDURE do_cauta_tara + Lparameters tnTip + *!* 1 = nationalitate angajat ; 2 = nationalitate angajator unde se face detasarea + If tnTip = 1 + loCauta = caut_tara(popers.id_cetatenie) && modificare v 2.0.14 + If gnButon # 2 + popers.nationalitate = loCauta.prescurtare + popers.id_nationalit = loCauta.id_tara + If Thisform.cus_odata_opers1.cactiune = 'UPDATE' And gnEvaluareRevisal5 = 1 + Thisform.registru_unic(7) + Endif + Thisform.page1.page1.ct_clb_tip_act.SetFocus() + Endif + Else + loCauta = caut_tara() + If gnButon # 2 + popers.taras = loCauta.tara + popers.id_taras = loCauta.id_tara + Endif + Endif + + ENDPROC + + PROCEDURE do_cauta_temei + If (gnEvaluareRevisal5 = 0) Or (gnEvaluareRevisal5 = 1 And Inlist(popers.stare_contract,3,4)) ; + Or gnScrieRegistru=0 && modificare ROARES v 2.0.10 + Local lnTip, loFrm + Private pnIdTemei, pcExplicatieTemei + Do Case + Case popers.stare_contract = 1 And popers_orig.stare_contract = 2 + lnTip = 2 + Case popers.stare_contract = 2 + lnTip = 1 + Case popers.stare_contract = 3 + lnTip = 3 + Otherwise + Return + Endcase + lcCursor = [crsTemei] + Use In (Select(lcCursor)) + lcSQl = [select * from syn_sal_nom_temei where id_temei >= 100 and tip=] + Alltrim(Str(lnTip)) + [ and sters = 0] + ; + [ and NVL(data_inactiv,to_date('122099','MMYYYY'))>=to_date('] + Alltrim(Str(gnAn)) + Alltrim(Str(gnLuna)) + [','YYYYMM')] + ; + [ order by denumire] + lnSucces = goExecutor.oExecute(lcSQl,lcCursor) + If lnSucces < 0 + aMessagebox(goExecutor.cEroare,0+16,"Eroare") + Else + pcExplicatieTemei = [] + pnIdTemei = 0 + loFrm = Createobject('frm_temei_legal',lnTip,lcCursor) + loFrm.AlwaysOnTop = .T. && modificare ROARES v 2.0.14 + loFrm.Show(1) + If gnButon = 1 + popers.id_temeis = pnIdTemei + popers.explicaties = pcExplicatieTemei + Endif + Use In (Select(lcCursor)) + Release loFrm + Endif + *!* modificare v 2.0.9 + Else + If gnEvaluareRevisal5 = 1 And ((popers.stare_contract = 2 And popers_orig.stare_contract <> 2) Or ; + (popers.stare_contract = 1 And popers_orig.stare_contract = 2)) + popers.datalic = popers.datainceputs + Thisform.registru_unic(2) + Endif + *!* modificare v 2.0.9 ^ + Endif + ENDPROC + + PROCEDURE do_cauta_tipact + Local loCauta + loCauta = caut_tipact() + If gnButon # 2 + popers.tip_act = loCauta.denumire + popers.id_tip_act = loCauta.id_tip_act + If Thisform.cus_odata_opers1.cactiune = 'UPDATE' And gnEvaluareRevisal5 = 1 + Thisform.registru_unic(7) + Endif + Thisform.page1.page1.tx8.SetFocus() + Endif + + ENDPROC + + PROCEDURE do_cauta_tipautorizatie + loCauta = caut_tipautorizatie() + If gnButon # 2 + popers.id_tipautorizatie = loCauta.id_tipautorizatie + popers.tipautorizatie = loCauta.denumire + Thisform.page1.page8.tx72.SetFocus() + Endif + + ENDPROC + + PROCEDURE do_cauta_tipcontract + Local loCauta + loCauta = caut_tipcontract() + If gnButon # 2 + popers.tip_contract = loCauta.tip_contract + popers.id_tipctr = loCauta.id_tipctr + Thisform.page1.page2.ct_clb_meserie.SetFocus() + Endif + + ENDPROC + + PROCEDURE do_col_gotfocus + *!* modificare ROARES v 2.0.21 + *!* LPARAMETERS tnsuma + *!* Thisform.nsumainitial=tnsuma + *!* Thisform.nsumamodif =tnsuma + *!* modificare ROARES v 2.0.21 ^ + + ENDPROC + + PROCEDURE do_col_interactivechange + *!* modificare ROARES v 2.0.21 + *!* LPARAMETERS tnsuma + *!* Thisform.nsumamodif=tnsuma + *!* Thisform.lsalvat=.F. + *!* modificare ROARES v 2.0.21 ^ + ENDPROC + + PROCEDURE do_col_lostfocus + ENDPROC + + PROCEDURE do_col_modifica + *!* modificare ROARES v 2.0.21 : nu-l mai las sa modifice aici datele pentru ca trebuie sa le scriu si in registru + *!* Lparameters tnColoana,tcNumeCamp,tcValoareInitiala,tcValoareNoua,tnIdStat + *!* + *!* IF glLunaInchisa + *!* RETURN + *!* ENDIF + *!* If Empty(tnColoana) + *!* Return + *!* Endif + *!* Select v_personal + *!* pnid_stat=tnIdStat + *!* lcSql=[UPDATE ] + gcS + [.sal_stat SET ]+tcNumeCamp+[=]+tcValoareNoua+[ WHERE ID_stat=]+Alltrim(Str(pnid_stat)) + *!* lnSucces=goExecutor.oExecute(lcSql) + *!* If lnSucces < 0 + *!* lcSql2=[UPDATE v_personal SET ]+tcNumeCamp+[=]+tcValoareInitiala+[ WHERE ID_stat=]+Alltrim(Str(pnid_stat)) + *!* aMessagebox(goExecutor.cEroare,0+16,'Eroare') + *!* ELSE + *!* lcSql2=[UPDATE v_personal SET ]+tcNumeCamp+[=]+tcValoareNoua+[ WHERE ID_stat=]+Alltrim(Str(pnid_stat)) + *!* Endif + *!* &lcSql2 + *!* SELECT v_personal + *!* LOCATE FOR id_stat = pnid_stat + *!* modificare ROARES v 2.0.21 ^ + ENDPROC + + PROCEDURE do_col_valid + *!* modificare ROARES v 2.0.21 + *!* If Thisform.nsumainitial!=Thisform.nsumamodif And Thisform.lsalvat=.F. + *!* *!* lcNumeCamp=[avans] + *!* *!* lcValoareInitiala=Alltrim(Str(Thisform.navansinitial,9,3)) + *!* *!* lcValoareNoua=Alltrim(Str(Thisform.navansmodif,9,3)) + *!* Thisform.do_col_modifica(1,[tarifar],Alltrim(Str(Thisform.nsumainitial,9,3)),Alltrim(Str(Thisform.nsumamodif,9,3)),id_Stat) + *!* lcColoana=[thisform._griD1.column5] + *!* loColoana=&lcColoana + *!* loColoana.text1.Refresh() + *!* Endif + *!* modificare ROARES v 2.0.21 ^ + ENDPROC + + PROCEDURE do_download + Lparameters tcFisSalvat + Private poLink + Store '' To poLink + Local lcSchema, lcSelect, lcOrder, lcFiltru, lcFiltruOriginal, llAfiseaza, lcgroup, lcFiltruOriginal + Local lcTabel, lcFisSalvat, lnIdAtas, lcFisier,lcNume_fisier + + lcTabel = Thisform.page1.page10.gridAtasamente.RecordSource + + Select (lcTabel) + If Reccount() >0 + If Pcount() = 0 Or Type('tcFisSalvat') <> 'C' + lcDir = Getdir('c:\',"Director","Directorul unde doriti sa salvati fisierul",64) + If Empty(lcDir) + Return + Endif + If !Empty(nume_atasament) + lcFisSalvat = Addbs(lcDir)+Alltrim(nume_atasament) + Endif + Else + lcFisSalvat = tcFisSalvat + Endif + If !Empty(lcFisSalvat) + lnIdAtas = id_sal_atasamente + lcNume_fisier = Alltrim(nume_atasament) + lcSchema = [atasament w] + lcSelect = [select atasament from sal_atasamente where id_sal_atasamente = ] + Alltrim(Str(lnIdAtas)) + lcOrder = [] + lcgroup = [] + lcFiltru = [] + lcFiltruOriginal = [] + llModParam = .T. + llAfiseaza = .F. + + gencursor('poLink','crsRegFisierTemp', lcSelect, lcFiltru, lcSchema, lcOrder, llAfiseaza, lcgroup, llModParam, lcFiltruOriginal) + poLink.ca_baza1.afisare() + If Used('crsRegFisierTemp') + lcFisier = atasament + Use In (Select('crsRegFisierTemp')) + + Strtofile(lcFisier, lcFisSalvat) + open_default_app(lcFisSalvat) + + Endif + + + Endif + Endif + + ENDPROC + + PROCEDURE do_excel + If Reccount('v_personal')=0 + aMessagebox("Nu ati ales niciun salariat!",0+48,"Atentie") + Return + Endif + + Try + poExcel = Createobject("Excel.Application") + Catch + aMessagebox("Nu aveti instalata aplicatia Excel!",0+48,"Atentie") + Return + Endtry + + Thisform.MousePointer = 11 + Thisform.LockScreen = .T. + + *!* completare cursoare + Thisform.page1.page1.Activate + poExcel.WorkBooks.Add + Thisform.page1.page2.Activate + poExcel.Sheets.Add + Thisform.page1.page3.Activate + poExcel.Sheets.Add + Thisform.page1.page4.Activate + poExcel.Sheets.Add + Thisform.page1.page5.Activate + poExcel.Sheets.Add + Thisform.page1.page6.Activate + poExcel.Sheets.Add + Thisform.page1.page7.Activate + poExcel.Sheets.Add + + *!* completare date personale + poExcel.Sheets(1).Select + poExcel.Sheets(1).Name=[Personal] + + With Thisform.page1.page1 + poExcel.Cells(2,2).Font.Bold=.T. + poExcel.Cells(2,2).Font.Size = 16 + poExcel.Cells(2,2) = [FISA ANGAJAT] + lnRandStart=5 + lnColoanaI=2 + lnColoanaII=6 + + lnRow=lnRandStart + poExcel.Cells(lnRow,lnColoanaI).Font.Bold=.T. + poExcel.Cells(lnRow,lnColoanaI) = [Marca] + poExcel.Cells(lnRow,lnColoanaI+1) = Alltrim(Str(popers.marca)) + + lnRow=lnRow+1 + poExcel.Cells(lnRow,lnColoanaI).Font.Bold=.T. + poExcel.Cells(lnRow,lnColoanaI) = [Nume] + poExcel.Cells(lnRow,lnColoanaI+1) = Alltrim(popers.nume) + + lnRow=lnRow+1 + poExcel.Cells(lnRow,lnColoanaI).Font.Bold=.T. + poExcel.Cells(lnRow,lnColoanaI) = [Prenume] + poExcel.Cells(lnRow,lnColoanaI+1) = Alltrim(popers.prenume) + + lnRow=lnRow+1 + poExcel.Cells(lnRow,lnColoanaI).Font.Bold=.T. + poExcel.Cells(lnRow,lnColoanaI) = [CNP] + poExcel.Cells(lnRow,lnColoanaI+1).NumberFormat="0" + poExcel.Cells(lnRow,lnColoanaI+1) = popers.codpers + + lnRow=lnRow+1 + poExcel.Cells(lnRow,lnColoanaI).Font.Bold=.T. + poExcel.Cells(lnRow,lnColoanaI) = [Data nasterii (ZZ/LL/AAAA)] + poExcel.Cells(lnRow,lnColoanaI+1).NumberFormat = "dd/mm/yyyy;@" + poExcel.Cells(lnRow,lnColoanaI+1) = ._txbase5.Value + + lnRow=lnRow+1 + poExcel.Cells(lnRow,lnColoanaI).Font.Bold=.T. + poExcel.Cells(lnRow,lnColoanaI) = [Locul nasterii] + poExcel.Cells(lnRow,lnColoanaI+1) = Alltrim(popers.locnastere) + + lnRow=lnRow+1 + poExcel.Cells(lnRow,lnColoanaI).Font.Bold=.T. + poExcel.Cells(lnRow,lnColoanaI) = [Cetatenia] + poExcel.Cells(lnRow,lnColoanaI+1) = Alltrim(popers.cetatenie) + + lnRow=lnRow+1 + poExcel.Cells(lnRow,lnColoanaI).Font.Bold=.T. + poExcel.Cells(lnRow,lnColoanaI) = [Nationalitate] + poExcel.Cells(lnRow,lnColoanaI+1) = Alltrim(popers.nationalitate) + + lnRow=lnRow+1 + poExcel.Cells(lnRow,lnColoanaI).Font.Bold=.T. + poExcel.Cells(lnRow,lnColoanaI) = [BI seria] + poExcel.Cells(lnRow,lnColoanaI+1).NumberFormat = "@" + poExcel.Cells(lnRow,lnColoanaI+1) = Alltrim(popers.biseria) + + lnRow=lnRow+1 + poExcel.Cells(lnRow,lnColoanaI).Font.Bold=.T. + poExcel.Cells(lnRow,lnColoanaI) = [Eliberat de] + poExcel.Cells(lnRow,lnColoanaI+1) = Alltrim(popers.bieliberat) + + lnRow=lnRow+1 + poExcel.Cells(lnRow,lnColoanaI).Font.Bold=.T. + poExcel.Cells(lnRow,lnColoanaI) = [Data eliberarii BI (ZZ/LL/AAAA)] + poExcel.Cells(lnRow,lnColoanaI+1).NumberFormat = [dd/mm/yyyy;@] + poExcel.Cells(lnRow,lnColoanaI+1) = popers.bidata + + lnRow=lnRow+1 + poExcel.Cells(lnRow,lnColoanaI).Font.Bold=.T. + poExcel.Cells(lnRow,lnColoanaI) = [Judet] + poExcel.Cells(lnRow,lnColoanaI+1) = Alltrim(popers.judet) + + lnRow=lnRow+1 + poExcel.Cells(lnRow,lnColoanaI).Font.Bold=.T. + poExcel.Cells(lnRow,lnColoanaI) = [Sector] + poExcel.Cells(lnRow,lnColoanaI+1) = Alltrim(Str(popers.sector)) + + *!* jumatate + lnRow=lnRandStart + poExcel.Cells(lnRow,lnColoanaII).Font.Bold=.T. + poExcel.Cells(lnRow,lnColoanaII) = [Localitate] + poExcel.Cells(lnRow,lnColoanaII+1) = Alltrim(popers.localitate) + + lnRow=lnRow+1 + poExcel.Cells(lnRow,lnColoanaII).Font.Bold=.T. + poExcel.Cells(lnRow,lnColoanaII) = [Strada] + poExcel.Cells(lnRow,lnColoanaII+1) = Alltrim(popers.strada) + + lnRow=lnRow+1 + poExcel.Cells(lnRow,lnColoanaII).Font.Bold=.T. + poExcel.Cells(lnRow,lnColoanaII) = [Numar] + poExcel.Cells(lnRow,lnColoanaI+1).NumberFormat = "@" + poExcel.Cells(lnRow,lnColoanaII+1) = Alltrim(popers.numar) + + lnRow=lnRow+1 + poExcel.Cells(lnRow,lnColoanaII).Font.Bold=.T. + poExcel.Cells(lnRow,lnColoanaII) = [Bloc] + poExcel.Cells(lnRow,lnColoanaII+1) = Alltrim(popers.Bloc) + + lnRow=lnRow+1 + poExcel.Cells(lnRow,lnColoanaII).Font.Bold=.T. + poExcel.Cells(lnRow,lnColoanaII) = [Scara] + poExcel.Cells(lnRow,lnColoanaII+1) = Alltrim(popers.scara) + + lnRow=lnRow+1 + poExcel.Cells(lnRow,lnColoanaII).Font.Bold=.T. + poExcel.Cells(lnRow,lnColoanaII) = [Etaj] + poExcel.Cells(lnRow,lnColoanaII+1) = Alltrim(popers.etaj) + + lnRow=lnRow+1 + poExcel.Cells(lnRow,lnColoanaII).Font.Bold=.T. + poExcel.Cells(lnRow,lnColoanaII) = [Apartament] + poExcel.Cells(lnRow,lnColoanaII+1).NumberFormat = "@" + poExcel.Cells(lnRow,lnColoanaII+1) = popers.apart + + lnRow=lnRow+1 + poExcel.Cells(lnRow,lnColoanaII).Font.Bold=.T. + poExcel.Cells(lnRow,lnColoanaII) = [Cod postal] + poExcel.Cells(lnRow,lnColoanaII+1).NumberFormat = "0" + poExcel.Cells(lnRow,lnColoanaII+1) = popers.codpostal + + lnRow=lnRow+1 + poExcel.Cells(lnRow,lnColoanaII).Font.Bold=.T. + poExcel.Cells(lnRow,lnColoanaII) = [BI numar] + poExcel.Cells(lnRow,lnColoanaII+1).NumberFormat = "@" + poExcel.Cells(lnRow,lnColoanaII+1) = Alltrim(popers.binr) + + lnRow=lnRow+1 + poExcel.Cells(lnRow,lnColoanaII).Font.Bold=.T. + poExcel.Cells(lnRow,lnColoanaII) = [Situatia militara] + poExcel.Cells(lnRow,lnColoanaII+1) = Alltrim(popers.sitmil) + + lnRow=lnRow+1 + poExcel.Cells(lnRow,lnColoanaII).Font.Bold=.T. + poExcel.Cells(lnRow,lnColoanaII) = [Livret] + poExcel.Cells(lnRow,lnColoanaII+1) = Alltrim(popers.livretmil) + + lnRow=lnRow+1 + poExcel.Cells(lnRow,lnColoanaII).Font.Bold=.T. + poExcel.Cells(lnRow,lnColoanaII) = [Specialitate] + poExcel.Cells(lnRow,lnColoanaII+1) = Alltrim(popers.specmil) + + lnRow=lnRow+1 + poExcel.Cells(lnRow,lnColoanaII).Font.Bold=.T. + poExcel.Cells(lnRow,lnColoanaII) = [Grad militar] + poExcel.Cells(lnRow,lnColoanaII+1) = Alltrim(popers.gradmil) + Endwith + + *!* completare date angajare + poExcel.Sheets(2).Select + poExcel.Sheets(2).Name=[Date angajare] + With Thisform.page1.page2 + poExcel.Cells(2,2).Font.Bold=.T. + poExcel.Cells(2,2).Font.Size = 16 + poExcel.Cells(2,2) = [DATE ANGAJARE] + lnRandStart=5 + lnColoanaI=2 + lnColoanaII=6 + + lnRow=lnRandStart + poExcel.Cells(lnRow,lnColoanaI).Font.Bold=.T. + poExcel.Cells(lnRow,lnColoanaI) = [Data angajarii (ZZ/LL/AAAA)] + poExcel.Cells(lnRow,lnColoanaI+1).NumberFormat = "dd/mm/yyyy;@" + poExcel.Cells(lnRow,lnColoanaI+1) = popers.dataang + + lnRow=lnRow+1 + poExcel.Cells(lnRow,lnColoanaI).Font.Bold=.T. + poExcel.Cells(lnRow,lnColoanaI) = [Data sfarsit contract (ZZ/LL/AAAA)] + poExcel.Cells(lnRow,lnColoanaI+1).NumberFormat = "dd/mm/yyyy;@" + poExcel.Cells(lnRow,lnColoanaI+1) = popers.datasfctr + + lnRow=lnRow+1 + poExcel.Cells(lnRow,lnColoanaI).Font.Bold=.T. + poExcel.Cells(lnRow,lnColoanaI) = [Tip contract] + poExcel.Cells(lnRow,lnColoanaI+1) = Alltrim(popers.tip_contract) + + *!* modificare ROASAL v 2.0.0 + lnRow=lnRow+1 + poExcel.Cells(lnRow,lnColoanaI).Font.Bold=.T. + poExcel.Cells(lnRow,lnColoanaI) = [Stare contract] + poExcel.Cells(lnRow,lnColoanaI+1) = Iif(popers.stare_contract=1,[Activ],Iif(popers.stare_contract=2,[Incetat],; + IIF(popers.stare_contract=3,[Suspendat],[Detasat]))) + + Do Case + Case popers.stare_contract = 2 + lnRow=lnRow+1 + poExcel.Cells(lnRow,lnColoanaI).Font.Bold=.T. + poExcel.Cells(lnRow,lnColoanaI) = [Data incetare] + poExcel.Cells(lnRow,lnColoanaI+1).NumberFormat = "dd/mm/yyyy;@" + poExcel.Cells(lnRow,lnColoanaI+1) = popers.datainceputs + + lnRow=lnRow+1 + poExcel.Cells(lnRow,lnColoanaI).Font.Bold=.T. + poExcel.Cells(lnRow,lnColoanaI) = [Temei incetare] + poExcel.Cells(lnRow,lnColoanaI+1) = Alltrim(popers.explicaties) + Case popers.stare_contract = 3 + lnRow=lnRow+1 + poExcel.Cells(lnRow,lnColoanaI).Font.Bold=.T. + poExcel.Cells(lnRow,lnColoanaI) = [Data inceput suspendare] + poExcel.Cells(lnRow,lnColoanaI+1).NumberFormat = "dd/mm/yyyy;@" + poExcel.Cells(lnRow,lnColoanaI+1) = popers.datainceputs + + lnRow=lnRow+1 + poExcel.Cells(lnRow,lnColoanaI).Font.Bold=.T. + poExcel.Cells(lnRow,lnColoanaI) = [Data sfarsit suspendare] + poExcel.Cells(lnRow,lnColoanaI+1).NumberFormat = "dd/mm/yyyy;@" + poExcel.Cells(lnRow,lnColoanaI+1) = popers.datasfarsits + + lnRow=lnRow+1 + poExcel.Cells(lnRow,lnColoanaI).Font.Bold=.T. + poExcel.Cells(lnRow,lnColoanaI) = [Temei suspendare] + poExcel.Cells(lnRow,lnColoanaI+1) = Alltrim(popers.explicaties) + Case popers.stare_contract = 4 + lnRow=lnRow+1 + poExcel.Cells(lnRow,lnColoanaI).Font.Bold=.T. + poExcel.Cells(lnRow,lnColoanaI) = [Data inceput detasare] + poExcel.Cells(lnRow,lnColoanaI+1).NumberFormat = "dd/mm/yyyy;@" + poExcel.Cells(lnRow,lnColoanaI+1) = popers.datainceputs + + lnRow=lnRow+1 + poExcel.Cells(lnRow,lnColoanaI).Font.Bold=.T. + poExcel.Cells(lnRow,lnColoanaI) = [Data sfarsit detasare] + poExcel.Cells(lnRow,lnColoanaI+1).NumberFormat = "dd/mm/yyyy;@" + poExcel.Cells(lnRow,lnColoanaI+1) = popers.datasfarsits + + lnRow=lnRow+1 + poExcel.Cells(lnRow,lnColoanaI).Font.Bold=.T. + poExcel.Cells(lnRow,lnColoanaI) = [Detasat la] + poExcel.Cells(lnRow,lnColoanaI+1) = Alltrim(popers.explicaties) + + lnRow=lnRow+1 + poExcel.Cells(lnRow,lnColoanaI).Font.Bold=.T. + poExcel.Cells(lnRow,lnColoanaI) = [Tara detasare] + poExcel.Cells(lnRow,lnColoanaI+1) = Alltrim(popers.taras) + Otherwise + lnRow = lnRow + Endcase + *!* modificare ROASAL v 2.0.0 ^ + lnRow=lnRow+1 + poExcel.Cells(lnRow,lnColoanaI).Font.Bold=.T. + poExcel.Cells(lnRow,lnColoanaI) = [Meseria] + poExcel.Cells(lnRow,lnColoanaI+1) = Alltrim(popers.meseria) + + lnRow=lnRow+1 + poExcel.Cells(lnRow,lnColoanaI).Font.Bold=.T. + poExcel.Cells(lnRow,lnColoanaI) = [Formatia] + poExcel.Cells(lnRow,lnColoanaI+1) = Alltrim(popers.formatia) + + lnRow=lnRow+1 + poExcel.Cells(lnRow,lnColoanaI).Font.Bold=.T. + poExcel.Cells(lnRow,lnColoanaI) = [Sectia] + poExcel.Cells(lnRow,lnColoanaI+1) = Alltrim(popers.sectie) + + lnRow=lnRow+1 + poExcel.Cells(lnRow,lnColoanaI).Font.Bold=.T. + poExcel.Cells(lnRow,lnColoanaI) = [Grupa munca] + poExcel.Cells(lnRow,lnColoanaI+1) = Alltrim(popers.grupacas) + + lnRow=lnRow+1 + poExcel.Cells(lnRow,lnColoanaI).Font.Bold=.T. + poExcel.Cells(lnRow,lnColoanaI) = [Clasa salarizare] + poExcel.Cells(lnRow,lnColoanaI+1) = Alltrim(popers.cod) + + lnRow=lnRow+1 + poExcel.Cells(lnRow,lnColoanaI).Font.Bold=.T. + poExcel.Cells(lnRow,lnColoanaI) = [Tarifar] + poExcel.Cells(lnRow,lnColoanaI+1) = Alltrim(Str(popers.tarifar)) + + lnRow=lnRow+1 + poExcel.Cells(lnRow,lnColoanaI).Font.Bold=.T. + poExcel.Cells(lnRow,lnColoanaI) = [Pensionar] + poExcel.Cells(lnRow,lnColoanaI+1) = Iif(popers.pensionar=1,[DA],[NU]) + + lnRow=lnRow+1 + poExcel.Cells(lnRow,lnColoanaI).Font.Bold=.T. + poExcel.Cells(lnRow,lnColoanaI) = [Invalid] + poExcel.Cells(lnRow,lnColoanaI+1) = ALLTRIM(popers.handicap) && ALLTRIM(.ct_cb_handicap.Text_simplu.Value) - ROASAL v 2.0.14 + + lnRow=lnRow+1 + poExcel.Cells(lnRow,lnColoanaI).Font.Bold=.T. + poExcel.Cells(lnRow,lnColoanaI) = [Plateste CAS] + poExcel.Cells(lnRow,lnColoanaI+1) = IIF(popers.plcas = 1,[DA],[NU]) + + lnRow=lnRow+1 + poExcel.Cells(lnRow,lnColoanaI).Font.Bold=.T. + poExcel.Cells(lnRow,lnColoanaI) = [Plateste somaj] + poExcel.Cells(lnRow,lnColoanaI+1) = IIF(popers.plsomaj = 1,[DA],[NU]) + + lnRow=lnRow+1 + poExcel.Cells(lnRow,lnColoanaI).Font.Bold=.T. + poExcel.Cells(lnRow,lnColoanaI) = [Plateste impozit] + poExcel.Cells(lnRow,lnColoanaI+1) = Iif(popers.plimpozit=1,[DA],[NU]) + + lnRow=lnRow+1 + poExcel.Cells(lnRow,lnColoanaI).Font.Bold=.T. + poExcel.Cells(lnRow,lnColoanaI) = [Cont IBAN] + poExcel.Cells(lnRow,lnColoanaI+1) = ALLTRIM(popers.contiban) + + lnRow=lnRow+1 + poExcel.Cells(lnRow,lnColoanaI).Font.Bold=.T. + poExcel.Cells(lnRow,lnColoanaI) = [Banca] + poExcel.Cells(lnRow,lnColoanaI+1) = ALLTRIM(popers.banca) + + *!* jumatate + lnRow=lnRandStart + poExcel.Cells(lnRow,lnColoanaII).Font.Bold=.T. + poExcel.Cells(lnRow,lnColoanaII) = [Tip norma] + poExcel.Cells(lnRow,lnColoanaII+1) = ALLTRIM(popers.nume_tip_norma) + + lnRow=lnRow+1 + poExcel.Cells(lnRow,lnColoanaII).Font.Bold=.T. + poExcel.Cells(lnRow,lnColoanaII) = [Durata timp norma] + poExcel.Cells(lnRow,lnColoanaII+1) = ALLTRIM(popers.nume_durata_munca) + + lnRow=lnRow+1 + poExcel.Cells(lnRow,lnColoanaII).Font.Bold=.T. + poExcel.Cells(lnRow,lnColoanaII) = [Repartizare timp munca] + poExcel.Cells(lnRow,lnColoanaII+1) = ALLTRIM(popers.nume_repartizare_munca) + + IF !EMPTY(NVL(popers.id_interval_munca,0)) + lnRow=lnRow+1 + poExcel.Cells(lnRow,lnColoanaII).Font.Bold=.T. + poExcel.Cells(lnRow,lnColoanaII) = [Tip interval repartizare] + poExcel.Cells(lnRow,lnColoanaII+1) = ALLTRIM(popers.nume_interval_munca) + ENDIF + + lnRow=lnRow+1 + poExcel.Cells(lnRow,lnColoanaII).Font.Bold=.T. + poExcel.Cells(lnRow,lnColoanaII) = [Timp partial] + poExcel.Cells(lnRow,lnColoanaII+1) = popers.fractie + + lnRow=lnRow+1 + poExcel.Cells(lnRow,lnColoanaII).Font.Bold=.T. + poExcel.Cells(lnRow,lnColoanaII) = [Timp normal] + poExcel.Cells(lnRow,lnColoanaII+1) = popers.orenorm + + lnRow=lnRow+1 + poExcel.Cells(lnRow,lnColoanaII).Font.Bold=.T. + poExcel.Cells(lnRow,lnColoanaII) = [Functia de baza] + poExcel.Cells(lnRow,lnColoanaII+1) = Iif(popers.functiebaza==1,[DA],[NU]) + + *!* modificare v 2.0.0 + *!* lnRow=lnRow+1 + *!* poExcel.Cells(lnRow,lnColoanaII).Font.Bold=.T. + *!* poExcel.Cells(lnRow,lnColoanaII) = [Data lichidarii] + *!* poExcel.Cells(lnRow,lnColoanaII+1) = popers.datalic + *!* modificare v 2.0.0 ^ + + lnRow=lnRow+1 + poExcel.Cells(lnRow,lnColoanaII).Font.Bold=.T. + poExcel.Cells(lnRow,lnColoanaII) = [Carte munca - seria] + poExcel.Cells(lnRow,lnColoanaII+1).NumberFormat = "@" + poExcel.Cells(lnRow,lnColoanaII+1) = popers.cmseria + + lnRow=lnRow+1 + poExcel.Cells(lnRow,lnColoanaII).Font.Bold=.T. + poExcel.Cells(lnRow,lnColoanaII) = [Carte munca - numar] + poExcel.Cells(lnRow,lnColoanaII+1).NumberFormat = "@" + poExcel.Cells(lnRow,lnColoanaII+1) = popers.cmnr + + lnRow=lnRow+1 + poExcel.Cells(lnRow,lnColoanaII).Font.Bold=.T. + poExcel.Cells(lnRow,lnColoanaII) = [Numar contract ITM] + poExcel.Cells(lnRow,lnColoanaII+1).NumberFormat = "@" + poExcel.Cells(lnRow,lnColoanaII+1) = popers.nrctrm + + lnRow=lnRow+1 + poExcel.Cells(lnRow,lnColoanaII).Font.Bold=.T. + poExcel.Cells(lnRow,lnColoanaII) = [Data contract ITM (ZZ/LL/AAAA)] + poExcel.Cells(lnRow,lnColoanaII+1).NumberFormat = "dd/mm/yyyy;@" + poExcel.Cells(lnRow,lnColoanaII+1) = popers.datactrm + + *!* modificare v 2.0.0 + lnRow=lnRow+1 + poExcel.Cells(lnRow,lnColoanaII).Font.Bold=.T. + poExcel.Cells(lnRow,lnColoanaII) = [Numar contract intern] + poExcel.Cells(lnRow,lnColoanaII+1).NumberFormat = "@" + poExcel.Cells(lnRow,lnColoanaII+1) = popers.nrctr + + lnRow=lnRow+1 + poExcel.Cells(lnRow,lnColoanaII).Font.Bold=.T. + poExcel.Cells(lnRow,lnColoanaII) = [Data contract intern (ZZ/LL/AAAA)] + poExcel.Cells(lnRow,lnColoanaII+1).NumberFormat = "dd/mm/yyyy;@" + poExcel.Cells(lnRow,lnColoanaII+1) = popers.datactr + + If Upper(Alltrim(popers.codcetatenie)) = [ALTA] + lnRow=lnRow+1 + poExcel.Cells(lnRow,lnColoanaII).Font.Bold=.T. + poExcel.Cells(lnRow,lnColoanaII) = [Tip autorizatie] + poExcel.Cells(lnRow,lnColoanaII+1) = popers.tipautorizatie + + lnRow=lnRow+1 + poExcel.Cells(lnRow,lnColoanaII).Font.Bold=.T. + poExcel.Cells(lnRow,lnColoanaII) = [Data inceput autorizatie] + poExcel.Cells(lnRow,lnColoanaII+1).NumberFormat = "dd/mm/yyyy;@" + poExcel.Cells(lnRow,lnColoanaII+1) = popers.datainceputautorizatie + + lnRow=lnRow+1 + poExcel.Cells(lnRow,lnColoanaII).Font.Bold=.T. + poExcel.Cells(lnRow,lnColoanaII) = [Data sfarsit autorizatie] + poExcel.Cells(lnRow,lnColoanaII+1).NumberFormat = "dd/mm/yyyy;@" + poExcel.Cells(lnRow,lnColoanaII+1) = popers.datasfarsitautorizatie + Endif + *!* modificare v 2.0.0 ^ + lnRow=lnRow+1 + poExcel.Cells(lnRow,lnColoanaII).Font.Bold=.T. + poExcel.Cells(lnRow,lnColoanaII) = [Casa sanatate] + poExcel.Cells(lnRow,lnColoanaII+1) = popers.casaasig + Endwith + + *!* completare date familie + poExcel.Sheets(3).Select + poExcel.Sheets(3).Name=[Familie] + poExcel.Cells(2,2).Font.Bold=.T. + poExcel.Cells(2,2).Font.Size = 16 + poExcel.Cells(2,2) = [FAMILIE] + lnRandStart=5 + lnColoanaI=2 + lnColoanaII=6 + + With Thisform.page1.page3 + lnRow=lnRandStart + poExcel.Cells(lnRow,lnColoanaI).Font.Bold=.T. + poExcel.Cells(lnRow,lnColoanaI) = [Stare civila] + poExcel.Cells(lnRow,lnColoanaI+1) = Iif(popers.stareciv=1,[CASATORIT],[NECASATORIT]) + + lnRow=lnRow+1 + poExcel.Cells(lnRow,lnColoanaI).Font.Bold=.T. + poExcel.Cells(lnRow,lnColoanaI) = [Nume sot/sotie] + poExcel.Cells(lnRow,lnColoanaI+1) = popers.numesot + + lnRow=lnRow+1 + poExcel.Cells(lnRow,lnColoanaI).Font.Bold=.T. + poExcel.Cells(lnRow,lnColoanaI) = [Nume tata] + poExcel.Cells(lnRow,lnColoanaI+1) = popers.numetata + + lnRow=lnRow+1 + poExcel.Cells(lnRow,lnColoanaI).Font.Bold=.T. + poExcel.Cells(lnRow,lnColoanaI) = [Nume mama] + poExcel.Cells(lnRow,lnColoanaI+1) = popers.numemama + + lnRow=lnRow+1 + poExcel.Cells(lnRow,lnColoanaI).Font.Bold=.T. + poExcel.Cells(lnRow,lnColoanaI) = [Numar copii] + poExcel.Cells(lnRow,lnColoanaI+1) = .txcopii.Value + + + With .grid1 + lnRow=lnRow+4 + poExcel.Cells(lnRow,lnColoanaI).Font.Bold=.T. + poExcel.Cells(lnRow,lnColoanaI) = [Copii] + lnRow=lnRow+2 + + lcCursor = .RecordSource + For nCol = 1 To .ColumnCount + nColumn = .Columns(nCol).ColumnOrder+lnColoanaI + poExcel.Columns(nColumn).ColumnWidth = .Columns(nCol).Width/7.5 + poExcel.Cells(lnRow,nColumn) = .Columns(nCol).header1.Caption + lcColoana=Alltrim(.Columns(nCol).ControlSource) + *!* modificare v 2.0.0 + *!* Do Case + *!* Case Type(lcColoana) = 'C' + *!* poExcel.Columns(nColumn).NumberFormat=[@] + *!* Case Type(lcColoana) = 'D' + *!* poExcel.Columns(nColumn).NumberFormat=[dd/mm/yyyy;@] + *!* Endcase + *!* modificare v 2.0.0 ^ + poExcel.Cells(lnRow,nColumn).Font.Bold = .T. + poExcel.Cells(lnRow,nColumn).Interior.ColorIndex = 16 + Endfor + Select (lcCursor) + Scan + lnRow = lnRow + 1 + For nCol = 1 To .ColumnCount + nColumn = .Columns(nCol).ColumnOrder+lnColoanaI + poExcel.Cells(lnRow,nColumn) = Eval(.Columns(nCol).ControlSource) + *!* modificare v 2.0.0 + lcColoana=Alltrim(.Columns(nCol).ControlSource) + Do Case + Case LIKE('*DATANAST',Upper(lcColoana)) + poExcel.Cells(lnRow,nColumn).NumberFormat=[dd/mm/yyyy;@] + Case LIKE('*CODPERS',Upper(lcColoana)) + poExcel.Cells(lnRow,nColumn).NumberFormat=[0] + Otherwise + poExcel.Cells(lnRow,nColumn).NumberFormat=[@] + Endcase + *!* modificare v 2.0.0 ^ + Endfor + Endscan + Endwith + + With .grid3 + lnRow=lnRow+4 + poExcel.Cells(lnRow,lnColoanaI).Font.Bold=.T. + poExcel.Cells(lnRow,lnColoanaI) = [Persoane aflate in intretinere] + lnRow=lnRow+2 + + lcCursor = .RecordSource + For nCol = 1 To .ColumnCount + nColumn = .Columns(nCol).ColumnOrder+lnColoanaI + poExcel.Columns(nColumn).ColumnWidth = .Columns(nCol).Width/7.5 + poExcel.Cells(lnRow,nColumn) = .Columns(nCol).header1.Caption + lcColoana=Alltrim(.Columns(nCol).ControlSource) + *!* modificare v 2.0.0 + *!* Do Case + *!* Case Type(lcColoana) = 'C' + *!* poExcel.Columns(nColumn).NumberFormat=[@] + *!* Case Type(lcColoana) = 'D' + *!* poExcel.Columns(nColumn).NumberFormat=[dd/mm/yyyy;@] + *!* Endcase + *!* modificare v 2.0.0 ^ + poExcel.Cells(lnRow,nColumn).Font.Bold = .T. + poExcel.Cells(lnRow,nColumn).Interior.ColorIndex = 16 + Endfor + Select (lcCursor) + Scan + lnRow = lnRow + 1 + For nCol = 1 To .ColumnCount + nColumn = .Columns(nCol).ColumnOrder+lnColoanaI + poExcel.Cells(lnRow,nColumn) = Eval(.Columns(nCol).ControlSource) + Endfor + Endscan + Endwith + Endwith + + *!* completare baze calcul CM + poExcel.Sheets(4).Select + poExcel.Sheets(4).Name=[Baze calcul CM] + poExcel.Cells(2,2).Font.Bold=.T. + poExcel.Cells(2,2).Font.Size = 16 + poExcel.Cells(2,2) = [BAZE CALCUL CM] + lnRandStart=5 + lnColoanaI=2 + + lnRow=lnRandStart + With Thisform.page1.page4.grid3 + lcCursor = .RecordSource + For nCol = 1 To .ColumnCount + nColumn = .Columns(nCol).ColumnOrder+lnColoanaI + poExcel.Columns(nColumn).ColumnWidth = .Columns(nCol).Width/7.5 + poExcel.Cells(lnRow,nColumn) = .Columns(nCol).header1.Caption + lcColoana=Alltrim(.Columns(nCol).ControlSource) + Do Case + Case Type(lcColoana)='C' + poExcel.Columns(nColumn).NumberFormat=[@] + Case Type(lcColoana)='D' + poExcel.Columns(nColumn).NumberFormat=[dd/mm/yyyy;@] + Endcase + poExcel.Cells(lnRow,nColumn).Font.Bold = .T. + poExcel.Cells(lnRow,nColumn).Interior.ColorIndex = 16 + Endfor + Select (lcCursor) + Scan + lnRow = lnRow + 1 + For nCol = 1 To .ColumnCount + nColumn = .Columns(nCol).ColumnOrder+lnColoanaI + poExcel.Cells(lnRow,nColumn) = Eval(.Columns(nCol).ControlSource) + Endfor + Endscan + Endwith + + + *!* completare calificare + poExcel.Sheets(5).Select + poExcel.Sheets(5).Name=[Calificare] + poExcel.Cells(2,2).Font.Bold=.T. + poExcel.Cells(2,2).Font.Size = 16 + poExcel.Cells(2,2) = [CALIFICARE] + lnRandStart=5 + lnColoanaI=2 + + lnRow=lnRandStart + poExcel.Cells(lnRow,lnColoanaI).Font.Bold=.T. + poExcel.Cells(lnRow,lnColoanaI) = [Profesia] + poExcel.Cells(lnRow,lnColoanaI+1) = popers.profesia + + With Thisform.page1.page4.grid3 + lnRow=lnRow+4 + poExcel.Cells(lnRow,lnColoanaI).Font.Bold=.T. + poExcel.Cells(lnRow,lnColoanaI) = [Limbi straine] + lnRow=lnRow+2 + + lcCursor = .RecordSource + For nCol = 1 To .ColumnCount + nColumn = .Columns(nCol).ColumnOrder+lnColoanaI + poExcel.Columns(nColumn).ColumnWidth = .Columns(nCol).Width/7.5 + poExcel.Cells(lnRow,nColumn) = .Columns(nCol).header1.Caption + lcColoana=Alltrim(.Columns(nCol).ControlSource) + Do Case + Case Type(lcColoana)='C' + poExcel.Columns(nColumn).NumberFormat=[@] + Case Type(lcColoana)='D' + poExcel.Columns(nColumn).NumberFormat=[dd/mm/yyyy;@] + Endcase + poExcel.Cells(lnRow,nColumn).Font.Bold = .T. + poExcel.Cells(lnRow,nColumn).Interior.ColorIndex = 16 + Endfor + Select (lcCursor) + Scan + lnRow = lnRow + 1 + For nCol = 1 To .ColumnCount + nColumn = .Columns(nCol).ColumnOrder+lnColoanaI + poExcel.Cells(lnRow,nColumn) = Eval(.Columns(nCol).ControlSource) + Endfor + Endscan + Endwith + + *!* completare date scolarizare + poExcel.Sheets(6).Select + poExcel.Sheets(6).Name=[Scolarizare] + poExcel.Cells(2,2).Font.Bold=.T. + poExcel.Cells(2,2).Font.Size = 16 + poExcel.Cells(2,2) = [SCOLARIZARE] + lnRandStart=5 + lnColoanaI=2 + lnColoanaII=6 + + With Thisform.page1.page6 + With .grid3 + lnRow=lnRandStart + poExcel.Cells(lnRow,lnColoanaI).Font.Bold=.T. + poExcel.Cells(lnRow,lnColoanaI) = [Cursuri calificare] + lnRow=lnRow+2 + + lcCursor = .RecordSource + For nCol = 1 To .ColumnCount + nColumn = .Columns(nCol).ColumnOrder+lnColoanaI + poExcel.Columns(nColumn).ColumnWidth = .Columns(nCol).Width/7.5 + poExcel.Cells(lnRow,nColumn) = .Columns(nCol).header1.Caption + lcColoana=Alltrim(.Columns(nCol).ControlSource) + Do Case + Case Type(lcColoana)='C' + poExcel.Columns(nColumn).NumberFormat=[@] + Case Type(lcColoana)='D' + poExcel.Columns(nColumn).NumberFormat=[dd/mm/yyyy;@] + Endcase + poExcel.Cells(lnRow,nColumn).Font.Bold = .T. + poExcel.Cells(lnRow,nColumn).Interior.ColorIndex = 16 + Endfor + Select (lcCursor) + Scan + lnRow = lnRow + 1 + For nCol = 1 To .ColumnCount + nColumn = .Columns(nCol).ColumnOrder+lnColoanaI + poExcel.Cells(lnRow,nColumn) = Eval(.Columns(nCol).ControlSource) + Endfor + Endscan + Endwith + + With .grid1 + lnRow=lnRow+4 + poExcel.Cells(lnRow,lnColoanaI).Font.Bold=.T. + poExcel.Cells(lnRow,lnColoanaI) = [Studii] + lnRow=lnRow+2 + + lcCursor = .RecordSource + For nCol = 1 To .ColumnCount + nColumn = .Columns(nCol).ColumnOrder+lnColoanaI + poExcel.Columns(nColumn).ColumnWidth = .Columns(nCol).Width/7.5 + poExcel.Cells(lnRow,nColumn) = .Columns(nCol).header1.Caption + lcColoana=Alltrim(.Columns(nCol).ControlSource) + Do Case + Case Type(lcColoana)='C' + poExcel.Columns(nColumn).NumberFormat=[@] + Case Type(lcColoana)='D' + poExcel.Columns(nColumn).NumberFormat=[dd/mm/yyyy;@] + Endcase + poExcel.Cells(lnRow,nColumn).Font.Bold = .T. + poExcel.Cells(lnRow,nColumn).Interior.ColorIndex = 16 + Endfor + Select (lcCursor) + Scan + lnRow = lnRow + 1 + For nCol = 1 To .ColumnCount + nColumn = .Columns(nCol).ColumnOrder+lnColoanaI + poExcel.Cells(lnRow,nColumn) = Eval(.Columns(nCol).ControlSource) + Endfor + Endscan + Endwith + Endwith + + + *!* completare vechime + poExcel.Sheets(7).Select + poExcel.Sheets(7).Name=[Vechime] + With Thisform.page1.page7 + poExcel.Cells(2,2).Font.Bold=.T. + poExcel.Cells(2,2).Font.Size = 16 + poExcel.Cells(2,2) = [Vechime] + lnRandStart=5 + lnColoanaI=2 + + lnRow=lnRandStart + poExcel.Cells(lnRow,lnColoanaI).Font.Bold=.T. + poExcel.Cells(lnRow,lnColoanaI) = [Data incadrarii (ZZ/LL/AAAA)] + poExcel.Cells(lnRow,lnColoanaI).NumberFormat = [dd/mm/yyyy;@] + poExcel.Cells(lnRow,lnColoanaI+1) = popers.data_vech + + lnRow=lnRow+1 + poExcel.Cells(lnRow,lnColoanaI).Font.Bold=.T. + poExcel.Cells(lnRow,lnColoanaI) = [Mod incadrare] + poExcel.Cells(lnRow,lnColoanaI+1) = popers.modincadr + + lnRow=lnRow+2 + poExcel.Cells(lnRow,lnColoanaI).Font.Bold=.T. + poExcel.Cells(lnRow,lnColoanaI) = [Vechime (la data incadrarii)] + poExcel.Cells(lnRow,lnColoanaI+1) = popers.vechimei + poExcel.Cells(lnRow,lnColoanaI+2) = [total luni] + + lnRow=lnRow+1 + poExcel.Cells(lnRow,lnColoanaI) = [adica] + poExcel.Cells(lnRow,lnColoanaI+1) = .tx59.Text + poExcel.Cells(lnRow,lnColoanaI+2) = [ani si] + poExcel.Cells(lnRow,lnColoanaI+3) = .tx60.Text + poExcel.Cells(lnRow,lnColoanaI+4) = [luni] + + lnRow=lnRow+2 + poExcel.Cells(lnRow,lnColoanaI).Font.Bold=.T. + poExcel.Cells(lnRow,lnColoanaI) = [Vechime (in luna curenta)] + poExcel.Cells(lnRow,lnColoanaI+1) = popers.vechime + poExcel.Cells(lnRow,lnColoanaI+2) = [total luni] + + lnRow=lnRow+1 + poExcel.Cells(lnRow,lnColoanaI) = [adica] + poExcel.Cells(lnRow,lnColoanaI+1) = .tx62.Text + poExcel.Cells(lnRow,lnColoanaI+2) = [ani si] + poExcel.Cells(lnRow,lnColoanaI+3) = .tx63.Text + poExcel.Cells(lnRow,lnColoanaI+4) = [luni] + Endwith + poExcel.Visible=.T. + *!* poExcel.ActiveWorkBook.SaveAs(pccale) + *!* poExcel.ActiveWorkBook.Close + *!* poExcel.Quit + + Release poExcel + Thisform.LockScreen=.F. + Thisform.MousePointer=0 + ENDPROC + + PROCEDURE do_executa + + *!* IF !EMPTY(popers.id_stat) + + + lcSql = [select pack_personal.vechime_date_lunar(?popers.data_vech) as vechimeluna from dual] + lcCursor = [crsvechime] + lnSucces = goExecutor.oExecute(lcSql,lcCursor) + + If lnSucces < 0 + aMessagebox(goExecutor.cEroare,0+16,"Eroare") + popers.vechime = 0 + RETURN + ELSE + SELECT crsvechime + popers.vechime=ROUND(vechimeluna,0)+NVL(popers.vechimei,0) + thisform.vechimeal() + ENDIF + IF USED('crsvechime') + USE IN crsvechime + ENDIF + *!* ENDIF + thisform.co_calculcoefvechime + + ENDPROC + + PROCEDURE do_modifica + *!* modificare ROASAL v 2.0.14 + IF glLunaInchisa + Return + ENDIF + *!* modificare ROASAL v 2.0.14 ^ + If !Empty(popers.marca) + *!* modificare ROASAL v 2.0.0 + Thisform.do_activeaza(.T.) + *!* thisform.do_writeonly() + *!* modificare ROASAL v 2.0.0 ^ + This.cus_odata_opers1.cactiune = 'UPDATE' + Create Cursor registru_temp (tip_operatie c(1),id_criteriu N(5),id_modlic N(5),id_temei N(5),; + datamod d,explicatie c(254),ordine N(1)) + Select v_personal + *!* modificare ROARES v 1.0.49 : am adaugat si campul datactr + Scatter Name poRegAms Fields id_meserie,; &&meserie + datalic,; &&incetare contract + datasfctr,fractie,id_tipctr,; &&Tipul Contractului + nrctr,dataang,datactr,nrctrm,datactrm,; &&Numar/Data Contract + id_sectie,; && Loc de munca + nume,prenume,id_cetatenie,id_nationalit,id_tip_act,; &&date personale + codpers,cmseria,cmnr,id_loc,strada,numar,Bloc,scara,etaj,apart + Endif + ENDPROC + + PROCEDURE do_modifica_atas + ENDPROC + + PROCEDURE do_modifica_aviz + *!* modificare ROASAL v 2.0.14 + If glLunaInchisa + Return + Endif + *!* modificare ROASAL v 2.0.14 ^ + Private pniesire,pcNumeTata + pniesire=0 + Select v_avize + Scatter Name loRec + + Do Adauga_Modifica_Inregistrare With "avize",loRec,loRec.id_aviz,"UPDATE",,"maviz" + + If pniesire=1 + save_grid_tag(Thisform.page1.page11.grid3) + poavize.ca_baza1.cfiltru = [id_persoana = ] + ALLTRIM(STR(popers.id_salariat)) + poavize.ca_baza1.afisare() + restore_grid_tag(Thisform.page1.page11.grid3) + Endif + ENDPROC + + PROCEDURE do_modifica_bazacm + *!* modificare ROASAL v 2.0.14 + If glLunaInchisa + Return + Endif + *!* modificare ROASAL v 2.0.14 ^ + Private pniesire,pcNumeTata + pniesire=0 + Select v_bazacm + Scatter Name loRec + + Do Adauga_Modifica_Inregistrare With "bazacm",loRec,loRec.id_bazacm,"UPDATE",,"mbaza" + + If pniesire=1 + save_grid_tag(Thisform.page1.page4.grid3) + pobazacm.ca_baza1.cfiltru = [id_stat = ] + ALLTRIM(STR(popers.id_stat)) + pobazacm.ca_baza1.afisare() + restore_grid_tag(Thisform.page1.page4.grid3) + Endif + ENDPROC + + PROCEDURE do_modifica_curs + *!* modificare ROASAL v 2.0.14 + If glLunaInchisa + Return + Endif + *!* modificare ROASAL v 2.0.14 ^ + + Private pniesire + pniesire=0 + *!* update_curs() + Select v_curs_calif + Scatter Name loRec + IF ISNULL(lorec.data) + lorec.data = NVL(lorec.data,{}) + ENDIF + Do Adauga_Modifica_Inregistrare With "curs",loRec,lorec.id_curs,"UPDATE",,"addcurs" + If pniesire=1 + save_grid_tag(Thisform.page1.page6.grid3) + pocurs.ca_baza1.cfiltru=[id_persoana = ] + ALLTRIM(STR(popers.id_salariat)) + pocurs.ca_baza1.afisare() + restore_grid_tag(Thisform.page1.page6.grid3) + Select v_calif + GO TOP + ENDIF + ENDPROC + + PROCEDURE do_modifica_echip + *!* modificare ROASAL v 2.0.14 + If glLunaInchisa + Return + Endif + *!* modificare ROASAL v 2.0.14 ^ + + IF RECCOUNT('v_echip')=0 + RETURN + ENDIF + Private pniesire + pniesire=0 + *!* update_echip() + Select v_echip + Scatter Name loRec + + Do Adauga_Modifica_Inregistrare With "echip",loRec,lorec.id_echip,"UPDATE",,"addechip" + + ENDPROC + + PROCEDURE do_modifica_intret + *!* modificare ROASAL v 2.0.14 + If glLunaInchisa + Return + Endif + *!* modificare ROASAL v 2.0.14 ^ + + Private pniesire + pniesire=0 + + update_hand(1) + update_dedsupl() + + Select v_nom_intret + Scatter Name loRec + lorec.id_stat = popers.id_stat + + Do Adauga_Modifica_Inregistrare With "intret",loRec,lorec.id_pers,"UPDATE",,"addintret" + If pniesire=1 + save_grid_tag(Thisform.page1.page3.grid3) + pointr.ca_baza1.cfiltru=[id_persoana = ] + ALLTRIM(STR(popers.id_salariat)) + pointr.ca_baza1.afisare() + restore_grid_tag(Thisform.page1.page3.grid3) + + Endif + ENDPROC + + PROCEDURE do_modifica_limba + *!* modificare ROASAL v 2.0.14 + If glLunaInchisa + Return + Endif + *!* modificare ROASAL v 2.0.14 ^ + + Private pniesire + pniesire=0 + + update_limbi() + Select v_calif + Scatter Name loRec + + + Do Adauga_Modifica_Inregistrare With "limbi",loRec,lorec.id_str,"UPDATE",,"addlim" + If pniesire=1 + save_grid_tag(Thisform.page1.page5.grid3) + pocalif.ca_baza1.cfiltru=[id_persoana = ] + ALLTRIM(STR(popers.id_salariat)) + pocalif.ca_baza1.afisare() + restore_grid_tag(Thisform.page1.page5.grid3) + ENDIF + RELEASE lorec + ENDPROC + + PROCEDURE do_modifica_stare + popers.stare_contract = Thisform.page1.page2.opt_stare_contract.Value + Thisform.do_actualizeaza_stare() + *!* altfel le las la fel ca in actualizeaza_stare + If popers_orig.stare_contract <> 0 + If popers.stare_contract = popers_orig.stare_contract + popers.datainceputs = popers_orig.datainceputs + popers.datasfarsits = popers_orig.datasfarsits + popers.dataincetares = popers_orig.dataincetares + popers.id_parts = popers_orig.id_parts + popers.denumires = popers_orig.denumires + popers.id_taras = popers_orig.id_taras + popers.taras = popers_orig.taras + popers.id_temeis = popers_orig.id_temeis + popers.explicaties = popers_orig.explicaties + Else + popers.datainceputs = {} + popers.datasfarsits = {} + popers.dataincetares = {} + popers.id_parts = Null + popers.denumires = [] + popers.id_taras = Null + popers.taras = [] + popers.id_temeis = Null + popers.explicaties = [] + Endif + With Thisform.page1.page2 + .tx43.Refresh() + *!* modificare v 2.0.8 + *!* .tx47.Refresh() + *!* .tx48.Refresh() + *!* .tx55.Refresh() + .ct_clb_temei.tx_cautare.Refresh() + .ct_clb_detasatla.tx_cautare.Refresh() + .ct_clb_taradet.tx_cautare.refresh() + *!* modificare v 2.0.8 ^ + .tx54.Refresh() + Endwith + Endif + *!* If popers.stare_contract = 1 + *!* With Thisform.page1.page2 + *!* Do Case + *!* Case popers_orig.stare_contract = 2 + *!* *!* Daca trece din incetat in activ : temei legal reactivare, data reactivare. + *!* .lb32.Caption = [Datã reactivare] + *!* .lb32.Visible = .T. + *!* .tx43.Visible = .T. + *!* .lb_simplu2.Visible = .T. + *!* .tx47.Visible = .T. + *!* Case popers_orig.stare_contract = 3 + *!* *!* Daca trece din suspendat in activ : data incetare suspendare + *!* .lb32.Caption = [Datã încetare suspendare] + *!* .lb32.Visible = .T. + *!* .tx43.Visible = .T. + *!* .lb_simplu2.Visible = .F. + *!* .tx47.Visible = .F. + *!* Case popers_orig.stare_contract = 4 + *!* *!* Daca trece din detasat in activ : data incetare detasare + *!* .lb32.Caption = [Datã încetare detaºare] + *!* .lb32.Visible = .T. + *!* .tx43.Visible = .T. + *!* .lb_simplu2.Visible = .F. + *!* .tx47.Visible = .F. + *!* Endcase + *!* Endwith + *!* Endif + ENDPROC + + PROCEDURE do_modifica_stud + *!* modificare ROASAL v 2.0.14 + If glLunaInchisa + Return + Endif + *!* modificare ROASAL v 2.0.14 ^ + + Private pniesire + pniesire=0 + Select v_studii + Scatter Name loRec + + Do Adauga_Modifica_Inregistrare With "stud",loRec,lorec.id_studiu,"UPDATE",,"addstud" + + ENDPROC + + PROCEDURE do_modiparam + Local lcCursor,loFrmModificare + If Reccount('v_personal') > 0 + lcCursor = [crsmoditarifar] + Create Cursor (lcCursor) (id_salariat N(10),nume c(50),prenume c(50),marca N(10),codpers c(30),id_sal_ctr N(10),; + id_meserie N(5),id_formatie N(5),id_sectie N(5),meseria c(64),formatia c(64),sectie c(30),; + tarifar N(16,4),tarifar_nou N(16,4),stare_contract N(1)) + Insert Into (lcCursor) (id_salariat,nume,prenume,codpers,marca,id_sal_ctr,meseria,formatia,sectie,tarifar,id_meserie,id_formatie,id_sectie,stare_contract,tarifar_nou) ; + SELECT id_salariat,nume,prenume,codpers,marca,id_sal_ctr,meseria,formatia,NVL(sectie,''),tarifar,id_meserie,id_formatie,NVL(id_sectie,0) as id_sectie,stare_contract,tarifar As tarifar_nou ; + FROM v_personal Where stare_contract = 1 AND !ISNULL(id_sal_ctr) + Go Top + loFrmModificare = Createobject("frm_modificari_salarii") + loFrmModificare.Show(1) + If Used(lcCursor) + Use In (lcCursor) + Endif + If gnButon = 1 + Thisform.actualizeaza_grid1() + Endif + Else + amessagebox("Nu exista inregistrari in selectie!",48,"Atentie") + Endif + Release lcCursor,loFrmModificare + + ENDPROC + + PROCEDURE do_readonly + *!* modificare ROASAL v 2.0.0 + *!* thisform.do_butoane_stare(.t.) + *!* DIMENSION lapagini[6,3] &&array pagini [i,1] - nr text initial, [i,2]- nr text final, [i,3] - nr pagina + *!* lapagini[1,1]=1 + *!* lapagini[1,2]=25 + *!* lapagini[1,3]=1 + + *!* lapagini[2,1]=26 + *!* lapagini[2,2]=53 + *!* lapagini[2,3]=2 + + *!* lapagini[3,1]=51 + *!* lapagini[3,2]=54 + *!* lapagini[3,3]=3 + + *!* lapagini[4,1]=55 + *!* lapagini[4,2]=55 + *!* lapagini[4,3]=5 + + *!* lapagini[5,1]=56 + *!* lapagini[5,2]=64 + *!* lapagini[5,3]=7 + + *!* lapagini[6,1]=65 + *!* lapagini[6,2]=70 && modificare v 1.0.49 : 69 + *!* lapagini[6,3]=8 + + *!* LOCAL ladim,lni,lnf + *!* ladim = ALEN(lapagini,1) &&nr de pagini configurate pt refresh + + *!* FOR i=1 TO ladim + *!* FOR j = lapagini[i,1] TO lapagini[i,2] + *!* lcr = 'thisform.page1.page'+ALLTRIM(STR(lapagini[i,3]))+'.tx'+ALLTRIM(STR(j))+'.readonly=.t.' + *!* lcre = 'thisform.page1.page'+ALLTRIM(STR(lapagini[i,3]))+'.tx'+ALLTRIM(STR(j))+'.refresh' + *!* &lcr + *!* &lcre + *!* ENDFOR + *!* ENDFOR + *!* modificare ROASAL v 2.0.0 ^ + ENDPROC + + PROCEDURE do_renunt + *!* modificare ROASAL v 2.0.0 + *!* thisform.do_readonly() + Thisform.do_activeaza(.F.) + *!* modificare ROASAL v 2.0.0 ^ + IF !EMPTY(thisform.lcpozamodif) + LOCAL lcPozaDemodif,lcPozaNumeNou + SET STEP ON + lcPozaDemodif = thisform.page1.page1.imAGE1.picture + lcPozaNumeNou = ALLTRIM(STR(popers.marca))+[_]+ CHRTRAN(TTOC(DATETIME(),1),'\/:*?" ','')+[.]+JUSTEXT(lcPozaDemodif) + + lcdipoza = goApp.ReadIni('cale_poza_legitimatie', "pozapath") + CD &lcdipoza + IF !FILE(thisform.lcpozamodif) + RENAME (lcPozaDemodif) TO (lcPozaNumeNou) + ELSE + RENAME (lcPozaDemodif) TO (lcPozaNumeNou) + RENAME (thisform.lcpozamodif) TO (lcPozaDemodif) + ENDIF + thisform.nrincarcaripoze = 0 + CD &dirgen + ENDIF + Thisform._GRID1.SetFocus() + If Used('registru_temp') + Use In registru_temp + Endif + ENDPROC + + PROCEDURE do_salvare + *!* 11.02.2011 + *!* marius.mutu + *!* se completeaza numarul intern de contract doar pentru contractele mai noi de 2010 + *!* contractele vechi nu aveau obligatoriu numar intern, si la modificarea tarifarului se cere si numarul intern + + *!* IF MESSAGEBOX('Doriti sa salvati modificarile?',4,'Atentie!') = 6 + + *!* modificare ROARES v 2.1.17 - limitare tarifar la salariu minim + LOCAL lnSalmin + lcSql = [select salmin from sal_calendar where an = pack_sesiune.getan() and luna = pack_sesiune.getluna()] + lcCursor = [crsSalmin] + lnSucces = goExecutor.oExecute(lcSql,lcCursor) + If lnSucces < 0 + aMESSAGEBOX(goExecutor.cEroare,0+16,"Eroare") + Return + ENDIF + SELECT crsSalmin + GO TOP + lnSalmin = crsSalmin.salmin + USE IN crsSalmin + *!* ^ modificare ROARES v 2.1.17 - limitare tarifar la salariu minim + + SET STEP ON + Private lcNecompletat + Store '' To lcNecompletat + If Empty(NVL(popers.marca,0)) + lcNecompletat = '* Marca'+CRLF + Endif + If Empty(NVL(popers.nume,[])) + lcNecompletat = lcNecompletat + '* Nume'+CRLF + Endif + If Empty(NVL(popers.prenume,[])) + lcNecompletat = lcNecompletat + '* Prenume'+CRLF + Endif + If Empty(NVL(popers.codpers,[])) + lcNecompletat = lcNecompletat + '* CNP'+CRLF + Endif + If Empty(NVL(popers.dataang,{})) + lcNecompletat = lcNecompletat + '* Data angajarii'+CRLF + Endif + + If Empty(NVL(popers.id_meserie,0)) + lcNecompletat = lcNecompletat + '* Meseria!'+CRLF + Endif + If Empty(NVL(popers.id_formatie,0)) + lcNecompletat = lcNecompletat + '* Formatia!'+CRLF + Endif + If Empty(NVL(popers.id_cas,0)) + lcNecompletat = lcNecompletat + '* Grupa de munca'+CRLF + Endif + If Empty(NVL(popers.tarifar,0)) + lcNecompletat = lcNecompletat + '* Tarifar'+CRLF + Endif + *!* modificare ROARES v 2.0.8 : If Isnull(popers.fractie) + IF EMPTY(NVL(popers.fractie,0)) + lcNecompletat = lcNecompletat + '* Timp partial de munca'+CRLF + Endif + *!* modificare ROARES v 2.0.8 + IF EMPTY(NVL(popers.orenorm,0)) + lcNecompletat = lcNecompletat + '* Timp normal de munca'+CRLF + Endif + *!* modificare ROARES v 2.0.8 ^ + If Empty(NVL(popers.id_loc,0)) + lcNecompletat = lcNecompletat + '* Localitatea'+CRLF + Endif + *!* 11.02.2011 + If Empty(NVL(popers.nrctr,0)) And popers.dataang >= Date(2010,1,1) + lcNecompletat = lcNecompletat + '* Numarul intern de evidenta'+CRLF + Endif + *!* 11.02.2011 ^ + *!* modificare v 1.0.49 + If Empty(Nvl(popers.datactr,{})) And popers.dataang >= Date(2010,1,1) + lcNecompletat = lcNecompletat + '* Data contractului (intern)'+CRLF + Endif + *!* modificare v 1.0.49 ^ + If Empty(NVL(popers.id_tip_act,0)) + lcNecompletat = lcNecompletat + '* Tipul actului de identitate'+CRLF + Endif + If Empty(NVL(popers.id_cetatenie,0)) + lcNecompletat = lcNecompletat + '* Cetatenia!'+CRLF + Endif + If Empty(NVL(popers.id_nationalit,0)) + lcNecompletat = lcNecompletat + '* Nationalitatea'+CRLF + Endif + *!* modificare ROARES v 2.0.8 + IF EMPTY(NVL(popers.id_tip_norma,0)) + lcNecompletat = lcNecompletat + '* Tipul normei'+CRLF + endif + IF EMPTY(NVL(popers.id_durata_munca,0)) + lcNecompletat = lcNecompletat + '* Durata timpului'+CRLF + endif + IF EMPTY(NVL(popers.id_repartizare_munca,0)) + lcNecompletat = lcNecompletat + '* Repartizarea timpului de munca'+CRLF + endif + IF EMPTY(NVL(popers.id_interval_munca,0)) AND NVL(popers.id_durata_munca,0) = 4 + lcNecompletat = lcNecompletat + '* Tipul de interval de repartizare'+CRLF + endif + *!* modificare ROARES v 2.0.8 ^ + *!* modificare ROARES v 2.0.14 + If Nvl(popers.somaj_tehnic,0) = 1 And ; + EMPTY(Nvl(popers.datast1,{})) And Empty(Nvl(popers.datast2,{})) + lcNecompletat = lcNecompletat + '* Perioada somajului tehnic'+CRLF + Endif + *!* modificare ROARES v 2.0.14 ^ + *!* modificare ROASAL v 2.0.20 + If Empty(Nvl(popers.casaasig,'')) and Empty(Nvl(popers.id_caseasig,0)) + lcNecompletat = lcNecompletat + "* Casa de sanatate!" + CRLF + Endif + *!* modificare ROASAL v 2.0.20 ^ + *!* modificare ROARES v 2.1.17 - limitare tarifar la salariu minim + If popers.tarifar < ROUND((lnSalmin / 8 )* popers.fractie,0) AND popers.id_interval_munca = 1 + lcNecompletat = lcNecompletat + "* Salariul tarifar este mai mic decat salariul minim pe economie" + CRLF + Endif + *!* ^ modificare ROARES v 2.1.17 - limitare tarifar la salariu minim + IF popers.id_tipapatrid = 1 AND ISNULL(popers.id_tipautorizatie) AND (ISNULL(popers.datainceputautorizatie) OR EMPTY(popers.datainceputautorizatie))AND (ISNULL(popers.datasfarsitautorizatie) OR EMPTY(popers.datasfarsitautorizatie)) + lcNecompletat = lcNecompletat + "* Trebuie completat tipul, data de inceput si data de sfarsit a autorizatiei pentru salariatii apatrizi (Documente)" + CRLF + ENDIF + *!* modificare v 2.0.0 + Do Case + Case popers.stare_contract = 1 And popers_orig.stare_contract > 1 + If Empty(Nvl(popers.datainceputs,{})) + lcNecompletat = lcNecompletat + '* Data ' + Iif(popers_orig.stare_contract = 2,'reactivarii',; + 'incetarii '+Iif(popers_orig.stare_contract = 3,'suspendarii','detasarii'))+CRLF + Endif + If Empty(Nvl(popers.id_temeis,0)) And popers_orig.stare_contract = 2 + lcNecompletat = lcNecompletat + '* Temeiul legal pentru reactivare'+CRLF + Endif + Case popers.stare_contract = 2 + If Empty(Nvl(popers.datainceputs,{})) + lcNecompletat = lcNecompletat + '* Data incetarii'+CRLF + Endif + If Empty(Nvl(popers.id_temeis,0)) + lcNecompletat = lcNecompletat + '* Temeiul legal pentru incetare'+CRLF + Endif + Case popers.stare_contract = 3 + If Empty(Nvl(popers.datainceputs,{})) + lcNecompletat = lcNecompletat + '* Data de inceput a suspendarii'+CRLF + Endif + If Empty(Nvl(popers.datasfarsits,{})) + lcNecompletat = lcNecompletat + '* Data de sfarsit a suspendarii'+CRLF + Endif + If Empty(Nvl(popers.id_temeis,0)) + lcNecompletat = lcNecompletat + '* Temeiul legal pentru suspendare'+CRLF + Endif + Case popers.stare_contract = 4 + If Empty(Nvl(popers.datainceputs,{})) + lcNecompletat = lcNecompletat + '* Data de inceput a detasarii'+CRLF + Endif + If Empty(Nvl(popers.datasfarsits,{})) + lcNecompletat = lcNecompletat + '* Data de sfarsit a detasarii'+CRLF + Endif + If Empty(Nvl(popers.id_parts,0)) + lcNecompletat = lcNecompletat + '* Locul detasarii'+CRLF + Endif + If Empty(Nvl(popers.id_taras,0)) + lcNecompletat = lcNecompletat + '* Tara detasarii'+CRLF + Endif + Otherwise + lcNecompletat = lcNecompletat + Endcase + *!* modificare v 2.0.0 ^ + If !Empty(lcNecompletat) + lcNecompletat = 'Nu ati completat campurile: ' + CRLF + lcNecompletat + aMESSAGEBOX(lcNecompletat,16,'Atentie!') + lcNecompletat='' + IF AMESSAGEBOX('Doriti sa salvati fara campurile completate?' + CHR(13) + CHR(10) + 'Unele campuri sunt obligatorii si nu se va putea salva.',4+32,_screen.Caption) <> 6 + RETURN + ENDIF + Endif + *!* modificare v 2.0.0 + If !Thisform.do_verifica_date() + Return + Endif + *!* modificare v 2.0.0 ^ + *!* IF this.cus_odata_opers1.cactiune='INSERT' + lcSql = [select p.nume,p.prenume from nom_parteneri p where id_part in ] + ; + [(select id_part from sal_personal where marca = ] + Alltrim(Str(popers.marca)) + [) and id_part<>?popers.id_part] + lcCursor = [crsmarca] + lnSucces = goExecutor.oExecute(lcSql,lcCursor) + + If lnSucces < 0 + aMESSAGEBOX(goExecutor.cEroare,0+16,"Eroare") + Return + Else + If Reccount('crsmarca')>0 + Select crsmarca + aMESSAGEBOX('Aceasta marca exista deja! ( ' + Nvl(Alltrim(nume),'') + ' ' + Nvl(Alltrim(prenume),'') + ')',48,'Atentie!') + Return + Endif + Endif + If Used('crsmarca') + Use In crsmarca + Endif + *!* ENDIF + + lnrecno = popers.id_salariat + *!* modificare v 2.0.0 + *!* *!* modificare v 1.0.49 + *!* *!* This.cus_odata_opers1.salvare(popers,popers.id_salariat) + *!* If This.cus_odata_opers1.salvare(popers,popers.id_salariat) + *!* *!* modificare v 1.0.49 ^ + *!* This.actualizeaza_grid1() + *!* *!* ELSE + *!* *!* lnrecno = popers.id_salariat + *!* *!* ENDIF + *!* Thisform.do_readonly() + *!* This._GRID1.SetFocus() + *!* Select v_personal + *!* Locate For id_salariat = lnrecno + *!* If Used('registru_temp') + *!* Use In registru_temp + *!* Endif + *!* This.cus_odata_opers1.cactiune='' + *!* *!* modificare v 1.0.49 + *!* Endif + *!* *!* modificare v 1.0.49 ^ + *!* modificare ROARES v 2.0.14 + If Thisform.page1.page2.ck_anulare_incetare.Value = 1 + popers.stare_contract = -2 + *!* nu am nevoie sa le fac null aici pentru ca le fac pe server + *!* popers.datalic = Null + *!* popers.datainceputs = Null + Endif + *!* modificare ROARES v 2.0.14 ^ + If !Compobj(popers,popers_orig) or thisform.lpozamodif + *!* modificare ROARES 2.0.4 + thisform.lpozamodif = .f. + AddProperty(popers,"dataconsemnare",{}) + AddProperty(popers,"tip_modificare",1) + *!* modificare ROARES 2.1.0 + AddProperty(popers,"dataactmodif",{}) + AddProperty(popers,"tipactmodif",'') + AddProperty(popers,"id_tipact",0) + AddProperty(popers,"nractmodif",0) + IF This.cus_odata_opers1.cactiune = 'INSERT' + popers.nractmodif = popers.nrctr + popers.dataactmodif = popers.datactr + popers.id_tipact = -99 + ENDIF + *!* modificare ROARES 2.1.0 ^ + + If gnEvaluareRevisal5 = 0 ; + AND gnScrieRegistru = 1 ; && modificare ROARES v 2.0.10 + AND Thisform.modificari_revisal(popers,popers_orig) && modificare ROASAL v 2.0.12 / 18.01.2012 + *!* modificare ROASAL v 2.0.12 / 18.01.2012 : am adaugat conditia Thisform.modificari_revisal si atunci + *!* nu-i mai las posibilitatea sa aleaga "Fara scriere" + *!* loFrm = Createobject("frm_salvare_opersonal",popers.stare_contract<>popers_orig.stare_contract) + loFrm = Createobject("frm_salvare_opersonal",.T.) + *!* modificare ROASAL v 2.0.12 / 18.01.2012 ^ + *!* IIF(EMPTY(NVL(popers.id_stat,0)),.T.,.F.)) - modificare ROARES v 2.0.14 + loFrm.Show(1) + Else + gnButon = 1 + Endif + If gnButon = 2 + Removeproperty(popers,"dataconsemnare") + Removeproperty(popers,"tip_modificare") + Removeproperty(popers,"dataactmodif") + Removeproperty(popers,"id_tipact") + Removeproperty(popers,"tipactmodif") + Removeproperty(popers,"nractmodif") + Else + *!* modificare ROARES 2.0.4 ^ + AddProperty(popers,"stare_contract_prec",popers_orig.stare_contract) + If This.cus_odata_opers1.salvare(popers,popers.id_salariat) + + This.actualizeaza_grid1() + Thisform.do_activeaza(.F.) + This._GRID1.SetFocus() + Select v_personal + Locate For id_salariat = lnrecno + If Used('registru_temp') + Use In registru_temp + Endif + This.cus_odata_opers1.cactiune='' + Endif + *!* modificare ROARES 2.0.4 + Endif + *!* modificare ROARES 2.0.4 ^ + thisform.nrincarcaripoze = 0 + ELSE + + aMESSAGEBOX("Nu ati facut modificari!",48,"Atentie") + Endif + *!* modificare v 2.0.0 ^ + ENDPROC + + PROCEDURE do_sterge + *!* modificare ROASAL v 2.0.14 + IF glLunaInchisa + Return + ENDIF + *!* modificare ROASAL v 2.0.14 ^ + Select v_personal + + *!* IF MESSAGEBOX('Doriti sa stergeti angajatul '+ ALLTRIM(popers.nume)+' '+ ALLTRIM(popers.prenume),4)=7 + *!* RETURN + *!* ENDIF + *!* modificare ROARES v 2.0.11 + IF amessagebox("Doriti sa stergeti angajatul "+ALLTRIM(popers.nume)+" "+ALLTRIM(popers.prenume)+" ?"+; + CRLF + CRLF + "ATENTIE!!! Daca doriti sa incetati contractul, apasati NU si modificati starea contractului de la 'Date angajare'!",4+32,"Confirmare stergere") = 7 + RETURN + ENDIF + *!* ldDlich = {} + *!* Local loForm + *!* On Escape loForm.Release + *!* loForm = Createobject("frm_termin_renunt") + *!* loForm.AddObject("text_item1","_textbox") + *!* loForm.Width = 236 + *!* loForm.Height = 108 + *!* loForm.but_termin1.Left = 204 + *!* loForm.lb_titlu_alb_b121.Caption = 'Data lichidarii' + *!* loForm.lb_titlu_alb_b121.AutoSize = .T. + *!* loForm.text_item1.Left = 48 + *!* loForm.text_item1.Top = 60 + *!* loForm.text_item1.ControlSource = 'ldDlich' + *!* loForm.text_item1.SpecialEffect = 0 + *!* loForm.text_item1.BorderStyle = 1 + *!* loForm.text_item1.Format = 'd' + *!* loForm.text_item1.Visible = .T. + *!* loForm.text_item1.TabIndex = 1 + *!* loForm.AutoCenter = .T. + *!* loForm.Show(1) + + *!* If buton = 2 + *!* Return + *!* Endif + + *!* If !Empty(ldDlich) + *!* popers.datalic = ldDlich + *!* Endif + *!* modificare ROARES v 2.0.11 ^ + + Do STERGE_INREGISTRARE With "opers",popers.id_stat + This.actualizeaza_grid1() + Thisform._GRID1.SetFocus() + ENDPROC + + PROCEDURE do_sterge_atas + *!* modificare ROASAL v 2.0.14 + If glLunaInchisa + Return + Endif + *!* modificare ROASAL v 2.0.14 ^ + If Reccount('v_atas')=0 + Return + Endif + Select v_atas + Scatter Name lorec + + Do sterge_inregistrare With 'atas',lorec.id_sal_atasamente + + Release lorec + save_grid_tag(Thisform.page1.page10.gridAtasamente) + poatas.ca_baza1.cfiltru =[id_persoana = ] + Alltrim(Str(popers.id_salariat)) + [ and sters=0] + poatas.ca_baza1.afisare() + restore_grid_tag(Thisform.page1.page10.gridAtasamente) + ENDPROC + + PROCEDURE do_sterge_aviz + *!* modificare ROASAL v 2.0.14 + If glLunaInchisa + Return + Endif + *!* modificare ROASAL v 2.0.14 ^ + + Select v_avize + Scatter Name lorec + Do STERGE_INREGISTRARE With "avize",lorec.id_aviz + save_grid_tag(Thisform.page1.page11.grid3) + poavize.ca_baza1.cfiltru = [id_persoana = ] + Alltrim(Str(popers.id_salariat)) + poavize.ca_baza1.afisare() + restore_grid_tag(Thisform.page1.page11.grid3) + + ENDPROC + + PROCEDURE do_sterge_bazacm + *!* modificare ROASAL v 2.0.14 + If glLunaInchisa + Return + Endif + *!* modificare ROASAL v 2.0.14 ^ + + Select v_bazacm + Scatter Name lorec + Do STERGE_INREGISTRARE With "bazacm",lorec.id_bazacm + save_grid_tag(Thisform.page1.page4.grid3) + pobazacm.ca_baza1.cfiltru = [id_stat = ] + Alltrim(Str(popers.id_stat)) + pobazacm.ca_baza1.afisare() + restore_grid_tag(Thisform.page1.page4.grid3) + + ENDPROC + + PROCEDURE do_sterge_curs + *!* modificare ROASAL v 2.0.14 + If glLunaInchisa + Return + ENDIF + PRIVATE pniesire + pniesire = 0 + *!* modificare ROASAL v 2.0.14 ^ + Select v_curs_calif + Scatter Name lorec + Do sterge_inregistrare With 'curs',lorec.id_curs + If pniesire=1 + save_grid_tag(Thisform.page1.page6.grid3) + pocurs.ca_baza1.cfiltru=[id_persoana = ] + ALLTRIM(STR(popers.id_salariat)) + pocurs.ca_baza1.afisare() + restore_grid_tag(Thisform.page1.page6.grid3) + Select v_calif + GO TOP + ENDIF + Release lorec + + ENDPROC + + PROCEDURE do_sterge_echip + *!* modificare ROASAL v 2.0.14 + If glLunaInchisa + Return + Endif + *!* modificare ROASAL v 2.0.14 ^ + + If Reccount('v_echip')=0 + Return + Endif + Select v_echip + Scatter Name lorec + + Do sterge_inregistrare With 'echip',lorec.id_echip + + Release lorec + ENDPROC + + PROCEDURE do_sterge_intret + *!* modificare ROASAL v 2.0.14 + If glLunaInchisa + Return + Endif + *!* modificare ROASAL v 2.0.14 ^ + + Select v_nom_intret + Scatter Name loint + + Do sterge_inregistrare With 'intret',loint.id_pers + + save_grid_tag(Thisform.page1.page3.grid3) + pointr.ca_baza1.cfiltru=[id_persoana = ] + Alltrim(Str(popers.id_salariat)) + pointr.ca_baza1.afisare() + restore_grid_tag(Thisform.page1.page3.grid3) + ENDPROC + + PROCEDURE do_sterge_limba + *!* modificare ROASAL v 2.0.14 + If glLunaInchisa + Return + ENDIF + + Private pniesire + pniesire=0 + + *!* modificare ROASAL v 2.0.14 ^ + Select v_calif + Scatter Name lorec + Do sterge_inregistrare With 'limbi',lorec.id_str + If pniesire=1 + save_grid_tag(Thisform.page1.page5.grid3) + pocalif.ca_baza1.cfiltru=[id_persoana = ] + ALLTRIM(STR(popers.id_salariat)) + pocalif.ca_baza1.afisare() + restore_grid_tag(Thisform.page1.page5.grid3) + ENDIF + Release lorec + ENDPROC + + PROCEDURE do_sterge_stud + *!* modificare ROASAL v 2.0.14 + If glLunaInchisa + Return + Endif + *!* modificare ROASAL v 2.0.14 ^ + Select v_studii + Scatter Name lorec + Do sterge_inregistrare With 'stud',lorec.id_studiu + Release lorec + ENDPROC + + PROCEDURE do_verifica_date + Local lcMesaj + Do Case + *!* trebuie adaugata coloana cod_ctr in popers si in cautarea de la do_cauta_tipcontract + *!* CASE EMPTY(NVL(popers.datasfctr,{})) AND popers.cod_ctr = [ContractUcenicie] + *!* lcMesaj = [Contractele de ucenicie nu pot fi pe perioada nedeterminata!] + *!* modificare ROARES v 2.0.8 + CASE !EMPTY(NVL(popers.id_interval_munca,0)) AND popers.id_durata_munca <> 4 + lcMesaj = [Tipul intervalului de repartizare nu trebuie completat pentru norma intreaga!] + CASE popers.orenorm < popers.fractie + lcMesaj = [Timpul normal de munca nu poate fi mai mic decat timpul partial!] + CASE popers.orenorm = popers.fractie AND popers.id_tip_norma = 4 && timp partial + lcMesaj = [Timpul normal de munca nu poate fi egal cu timpul partial!] + *!* modificare ROARES v 2.0.8 ^ + CASE UPPER(popers.codcetatenie) = [ALTA] AND popers.id_tipapatrid = 1 AND EMPTY(NVL(popers.id_tipautorizatie,0)) + lcMesaj = [Nu ati completat tipul autorizatiei de munca! ( pagina "Documente" )] + CASE UPPER(popers.codcetatenie) = [ALTA] AND popers.id_tipapatrid = 1 AND EMPTY(NVL(popers.datainceputautorizatie,{})) ; + AND popers.id_tipautorizatie <> 9 && "Exceptie" modificare v 2.0.17 + lcMesaj = [Nu ati completat data de inceput a autorizatiei! ( pagina "Documente" )] + CASE UPPER(popers.codcetatenie) = [ALTA] AND popers.id_tipapatrid = 1 AND EMPTY(NVL(popers.datasfarsitautorizatie,0)) ; + AND popers.id_tipautorizatie <> 9 && "Exceptie" modificare v 2.0.17 + lcMesaj = [Nu ati completat data de sfarsit a autorizatiei! ( pagina "Documente" )] + CASE UPPER(popers.codcetatenie) <> [ALTA] AND !EMPTY(NVL(popers.id_tipautorizatie,0)) + lcMesaj = [Tipul autorizatiei de munca nu trebuie completat! ( pagina "Documente" )] + CASE UPPER(popers.codcetatenie) <> [ALTA] AND !EMPTY(NVL(popers.datainceputautorizatie,{})) + lcMesaj = [Data de inceput a autorizatiei nu trebuie completata! ( pagina "Documente" )] + CASE UPPER(popers.codcetatenie) <> [ALTA] AND !EMPTY(NVL(popers.datasfarsitautorizatie,0)) + lcMesaj = [Data de sfarsit a autorizatiei nu trebuie completata! ( pagina "Documente" )] + Case popers_orig.stare_contract = 2 And popers.stare_contract = 1 ; + AND popers.datainceputs < popers_orig.datainceputs + lcMesaj = [Data reactivarii trebuie sa fie mai mare sau egala cu data incetarii (] + DTOC(popers_orig.datainceputs)+ [) !] + Case popers_orig.stare_contract = 3 And popers.stare_contract = 1 ; + AND popers.datainceputs > popers_orig.datasfarsits+1 + lcMesaj = [Data incetarii suspendarii trebuie sa fie mai mica sau egala cu data de sfarsit a suspendarii (] + DTOC(popers_orig.datasfarsits)+ [) !] + Case popers_orig.stare_contract = 4 And popers.stare_contract = 1 ; + AND popers.datainceputs > popers_orig.datasfarsits + lcMesaj = [Data incetarii detasarii trebuie sa fie mai mica sau egala cu data de sfarsit a detasarii (] + DTOC(popers_orig.datasfarsits)+ [) !] + *!* modificare ROARES v 2.0.7 + CASE INLIST(popers.stare_contract,3,4) AND popers.datainceputs > popers.datasfarsits + lcMesaj = [Data de inceput nu poate fi mai mare decat data de sfarsit!] + CASE popers_orig.stare_contract = 4 AND popers.stare_contract = 3 ; + and (!BETWEEN(popers.datainceputs,popers_orig.datainceputs,popers_orig.datasfarsits) or ; + !BETWEEN(popers.datasfarsits,popers_orig.datainceputs,popers_orig.datasfarsits)) + lcMesaj = [Perioada de suspendare nu poate fi in afara perioadei de detasare (] + DTOC(popers_orig.datainceputs)+ [-] + ; + DTOC(popers_orig.datasfarsits)+ [) !] + *!* modificare ROARES v 2.0.7 ^ + *!* modificare ROARES v 2.0.14 + CASE popers_orig.stare_contract = 2 AND popers.stare_contract <> 2 AND Thisform.page1.page2.ck_anulare_incetare.Value = 1 + lcMesaj = [Nu puteti reactiva contractul si anula incetarea simultan!] + CRLF + ; + [Reactivarea este bazata pe un temei legal, in timp ce anularea incetarii se face daca a fost incetat contractul in mod eronat.] + *!* modificare ROARES v 2.0.14 ^ + Otherwise + lcMesaj = [] + Endcase + If !Empty(lcMesaj) + amessagebox(lcMesaj,48,"Atentie") + Return .F. + Else + Return .T. + Endif + + ENDPROC + + PROCEDURE do_writeonly + *!* modificare ROASAL v 2.0.0 + *!* Thisform.do_butoane_stare(.F.) + *!* Dimension lapagini[6,3] &&array pagini [1,1] - nr text initial, [1,2]- nr text final, [1,3] - nr pagina + *!* lapagini[1,1]=1 + *!* lapagini[1,2]=25 + *!* lapagini[1,3]=1 + + *!* lapagini[2,1]=26 + *!* lapagini[2,2]=53 + *!* lapagini[2,3]=2 + + *!* lapagini[3,1]=51 + *!* lapagini[3,2]=54 + *!* lapagini[3,3]=3 + + *!* lapagini[4,1]=55 + *!* lapagini[4,2]=55 + *!* lapagini[4,3]=5 + + *!* lapagini[5,1]=56 + *!* lapagini[5,2]=65 + *!* lapagini[5,3]=7 + + *!* lapagini[6,1]=65 + *!* lapagini[6,2]=70 && modificare v 1.0.49 : 69 + *!* lapagini[6,3]=8 + + *!* Local ladim,lni,lnf + *!* ladim = Alen(lapagini,1) &&nr de pagini configurate pt refresh + + *!* For i=1 To ladim + *!* For j = lapagini[i,1] To lapagini[i,2] + *!* If j=31 + *!* Loop &§ia + *!* Endif + *!* lcr = 'thisform.page1.page'+Alltrim(Str(lapagini[i,3]))+'.tx'+Alltrim(Str(j))+'.readonly=.F.' + *!* lcre = 'thisform.page1.page'+Alltrim(Str(lapagini[i,3]))+'.tx'+Alltrim(Str(j))+'.refresh' + *!* &lcr + *!* &lcre + *!* Endfor + *!* Endfor + *!* modificare ROASAL v 2.0.0 ^ + ENDPROC + + PROCEDURE eticheta + LPARAMETERS tnmarca,tcnume,tcprenume + + IF PCOUNT()=0 + this.clienttoptabs1._container1.lblHeader.Caption="Angajat nou" + ELSE + IF EMPTY(tcnume) + tcnume='' + ENDIF + IF EMPTY(tcprenume) + tcprenume='' + ENDIF + IF EMPTY(tcnume) AND EMPTY(tcprenume) + this.clienttoptabs1._container1.lblHeader.Caption="Angajat nou" + ELSE + + this.clienttoptabs1._container1.lblHeader.Caption=ALLTRIM(STR(tnmarca))+" - "+ALLTRIM(tcnume)+" "+ALLTRIM(tcprenume)+; + ' ; '+'Numãr angajaþi selectaþi: '+ALLTRIM(STR(thisform.nrang,5,0)) + ' - Activi:' +ALLTRIM(STR(thisform.nrangactivi,5,0)) + + ENDIF + ENDIF + this.clienttoptabs1._container1.lblHeader.refresh + ENDPROC + + PROCEDURE Init + DoDefault() + *!* modificare ROASAL v 2.0.14 + If glLunaInchisa + Thisform.but_modiparam1.Visible = .F. && modificare ROARES v 2.0.21 + Thisform.but_noup1.Visible = .F. + Thisform.but_nou1.Visible = .F. + Thisform.but_modifica1.Visible = .F. + Thisform.but_sterge1.Visible = .F. + With Thisform.page1.page3 + .but_nou1.Visible = .F. + .but_nou2.Visible = .F. + .but_modifica1.Visible = .F. + .but_modifica2.Visible = .F. + .but_sterge1.Visible = .F. + .but_sterge2.Visible = .F. + Endwith + With Thisform.page1.page4 + .but_nou1.Visible = .F. + .but_modifica1.Visible = .F. + .but_sterge1.Visible = .F. + Endwith + With Thisform.page1.page5 + .but_nou1.Visible = .F. + .but_modifica1.Visible = .F. + .but_sterge1.Visible = .F. + Endwith + With Thisform.page1.page6 + .but_nou1.Visible = .F. + .but_nou2.Visible = .F. + .but_modifica1.Visible = .F. + .but_modifica2.Visible = .F. + .but_sterge1.Visible = .F. + .but_sterge2.Visible = .F. + Endwith + With Thisform.page1.page9 + .but_nou1.Visible = .F. + .but_modifica1.Visible = .F. + .but_sterge1.Visible = .F. + Endwith + With Thisform.page1.page10 + .but_nou1.Visible = .F. + .but_sterge1.Visible = .F. + Endwith + Endif + *!* modificare ROASAL v 2.0.14 ^ + *!* modificare ROASAL v 2.0.0 + thisform.laccesmodif = Thisform.but_modifica1.Visible + + Bindevent(Thisform.page1.page2.opt_stare_contract,"InteractiveChange",Thisform,"do_modifica_stare",1) + Bindevent(Thisform.page1.page2.opt_stare_contract,"Refresh",Thisform,"do_actualizeaza_stare",1) + *!* modificare ROASAL v 2.0.0 ^ + *!* modificare ROARES v 2.0.14 + Thisform._GRID1.SetAll("DynamicBackColor","IIF(stare_contract=2,RGB(180,180,180),IIF(stare_contract=3,RGB(242,183,138),IIF(stare_contract=4,RGB(158,252,201),RGB(255,255,255))))","Column") + *!* modificare ROARES v 2.0.14 ^ + Thisform.verifica_parteneri() + Select v_personal + + ENDPROC + + PROCEDURE KeyPress + Lparameters nKeyCode, nShiftAltCtrl + DODEFAULT(nKeyCode, nShiftAltCtrl) + + *!* LOCAL lcSelect + *!* STORE '' TO lcSelect + *!* lcSelect = ALIAS() + DO CASE + Case nKeyCode = 28 And nShiftAltCtrl=0 + NODEFAULT + thisform.clienttoptabs1.tabclicked(thisform.cLIENTTOPTABS1.tab1) + thisform.page1.page1.tx2.SetFocus() + CASE nKeyCode = -1 And nShiftAltCtrl=0 + NODEFAULT + thisform.clienttoptabs1.tabclicked(thisform.cLIENTTOPTABS1.tab2) + thisform.page1.page2.tx26.SetFocus() + CASE nkeycode = -2 And nShiftAltCtrl=0 + NODEFAULT + thisform.clienttoptabs1.tabclicked(thisform.cLIENTTOPTABS1.tab3) + thisform.page1.page3.Ct_cb_stareciv.SetFocus() && modificare ROARES v 2.0.8 + CASE nkeycode = -3 And nShiftAltCtrl=0 + NODEFAULT + thisform.clienttoptabs1.tabclicked(thisform.cLIENTTOPTABS1.tab4) + CASE nkeycode = -4 And nShiftAltCtrl=0 + NODEFAULT + thisform.clienttoptabs1.tabclicked(thisform.cLIENTTOPTABS1.tab5) + CASE nkeycode = -5 And nShiftAltCtrl=0 + NODEFAULT + thisform.clienttoptabs1.tabclicked(thisform.cLIENTTOPTABS1.tab6) + CASE nkeycode = -6 And nShiftAltCtrl=0 + NODEFAULT + thisform.clienttoptabs1.tabclicked(thisform.cLIENTTOPTABS1.tab7) + OTHERWISE + ENDCASE + + IF nKeyCode=17 And nShiftAltCtrl=2 + Nodefault + If TYPE('this.caut_nou1._COMBOBOX1')="O" + this.caut_nou1._COMBOBOX1.SetFocus() + ENDIF + ENDIF + *!* SELECT &lcSelect + ENDPROC + + PROCEDURE make_crsatasamente + Parameters tlToate + + Private poLink + Store '' To poLink + + Local lcSchema, lcSelect, lcOrder, lcFiltru, lcFiltruOriginal, llAfiseaza, lcgroup, lcFiltruOriginal + lcSchema = [id_sal_atasamente N(5), descriere c(50), nume_atasament c(200), atasament w, data_doc d,nr_doc n(50),id_persoana N(5), marca n(5), id_utilizator n(100) ] + + lcSelect = [select id_sal_atasamente, descriere,data_doc,nr_doc, nume_atasament,id_persoana,marca,id_utilizator]+; + [ from SAL_ATASAMENTE ] + + lcOrder = [nume_atasament,descriere,data_doc,nr_doc] + lcgroup = [] + lcFiltru = [] + + llModParam = .T. + llAfiseaza = .F. + + GENCURSOR('poLink','crsAtasamente', lcSelect, lcFiltru, lcSchema, lcOrder, llAfiseaza, lcgroup, llModParam, lcFiltruOriginal) + poLink.ca_baza1.afisare() + + + ENDPROC + + PROCEDURE modificari_revisal + Lparameters popers,popers_orig + *!* modificare v 2.0.12 : verific campurile care se scriu in Revisal ca sa nu-mi apara fereastra cu tipul modificarii + *!* decat doar daca se schimba vreunul dintre aceste campuri + Local llReturn + llReturn = Nvl(popers.nume,[]) <> Nvl(popers_orig.nume,[]) Or ; + NVL(popers.prenume,[]) <> Nvl(popers_orig.prenume,[]) Or ; + NVL(popers.codpers,[]) <> Nvl(popers_orig.codpers,[]) Or ; + NVL(popers.id_part,0) <> Nvl(popers_orig.id_part,0) Or ; + NVL(popers.sector,0) <> Nvl(popers_orig.sector,0) Or ; + NVL(popers.strada,[]) <> Nvl(popers_orig.strada,[]) Or ; + NVL(popers.numar,[]) <> Nvl(popers_orig.numar,[]) Or ; + NVL(popers.Bloc,[]) <> Nvl(popers_orig.Bloc,[]) Or ; + NVL(popers.scara,[]) <> Nvl(popers_orig.scara,[]) Or ; + NVL(popers.etaj,[]) <> Nvl(popers_orig.etaj,[]) Or ; + NVL(popers.apart,[]) <> Nvl(popers_orig.apart,[]) Or ; + NVL(popers.codpostal,[]) <> NVL(popers_orig.codpostal,[]) Or ; + NVL(popers.id_nationalit,1) <> Nvl(popers_orig.id_nationalit,1) Or ; + popers.id_meserie <> popers_orig.id_meserie Or ; + popers.dataang <> popers_orig.dataang Or ; + NVL(popers.datalic,{}) <> Nvl(popers_orig.datalic,{}) Or ; + NVL(popers.datasfctr,{}) <> Nvl(popers_orig.datasfctr,{}) Or ; + NVL(popers.id_tipctr,0) <> Nvl(popers_orig.id_tipctr,0) Or ; + popers.nrctr <> popers_orig.nrctr Or ; + popers.datactr <> popers_orig.datactr Or ; + popers.tarifar <> popers_orig.tarifar Or ; + popers.fractie <> popers_orig.fractie Or ; + popers.orenorm <> popers_orig.orenorm Or ; + NVL(popers.id_judet,0) <> Nvl(popers_orig.id_judet,0) Or ; + popers.id_loc <> popers_orig.id_loc Or ; + popers.id_cetatenie <> popers_orig.id_cetatenie Or ; + NVL(popers.id_tip_act,0) <> Nvl(popers_orig.id_tip_act,0) Or ; + popers.stare_contract <> popers_orig.stare_contract Or ; + NVL(popers.datainceputs,{}) <> Nvl(popers_orig.datainceputs,{}) Or ; + NVL(popers.datasfarsits,{}) <> Nvl(popers_orig.datasfarsits,{}) Or ; + NVL(popers.dataincetares,{}) <> Nvl(popers_orig.dataincetares,{}) Or ; + NVL(popers.id_parts,0) <> Nvl(popers_orig.id_parts,0) Or ; + NVL(popers.id_taras,0) <> Nvl(popers_orig.id_taras,0) Or ; + NVL(popers.id_temeis,0) <> Nvl(popers_orig.id_temeis,0) Or ; + NVL(popers.id_tipautorizatie,0) <> Nvl(popers_orig.id_tipautorizatie,0) Or ; + NVL(popers.datainceputautorizatie,{}) <> Nvl(popers_orig.datainceputautorizatie,{}) Or ; + NVL(popers.datasfarsitautorizatie,{}) <> Nvl(popers_orig.datasfarsitautorizatie,{}) Or ; + NVL(popers.id_stare_ctr,0) <> Nvl(popers_orig.id_stare_ctr,0) Or ; + popers.id_tip_norma <> popers_orig.id_tip_norma Or ; + popers.id_durata_munca <> popers_orig.id_durata_munca Or ; + popers.id_repartizare_munca <> popers_orig.id_repartizare_munca Or ; + NVL(popers.id_interval_munca,0) <> Nvl(popers_orig.id_interval_munca,0) or ; + NVL(popers.id_tipapatrid,0) <> Nvl(popers_orig.id_tipapatrid,0) + Return llReturn + ENDPROC + + PROCEDURE modifica_copil + *!* modificare ROASAL v 2.0.14 + If glLunaInchisa + Return + Endif + *!* modificare ROASAL v 2.0.14 ^ + Private pniesire + pniesire=0 + Select v_copii + Scatter Name loRec + + Do Adauga_Modifica_Inregistrare With "familie1",loRec,lorec.id_copil,"UPDATE",,"addcopii" + If pniesire=1 + save_grid_tag(Thisform.page1.page3.grid1) &&grid v_copii + pocop.ca_baza1.cfiltru=[id_persoana = ] + ALLTRIM(STR(popers.id_salariat)) + pocop.ca_baza1.afisare() + restore_grid_tag(Thisform.page1.page3.grid1) + Endif + ENDPROC + + PROCEDURE refresh_pagini + Lparameters tnPagina + *!* modificare ROARES v 2.0.8 + Local lnPagina, loPagina + lnPagina = tnPagina + loPagina = Evaluate([Thisform.page1.page]+Alltrim(Str(lnPagina))) + With loPagina + For i = 1 To .Objects.Count + Do Case + Case INLIST(Upper(.Objects(i).Class),[_TXBASE],[_TEXTBOX],[COMBOBOX],[_CBBASE],[CT_CB_TX],[CHECKBOX]) + .Objects(i).Refresh() + Case Upper(.Objects(i).Class) = [CT_CLB_CAUTARE_VAR] + .Objects(i).tx_cautare.Refresh() + Case Upper(.Objects(i).Class) = [CT_CLB_CAUTARE] + .Objects(i).clb_tx_cautare.text_simplu1.Refresh() + Otherwise + ** nimic + Endcase + Endfor + Do Case + Case lnPagina = 1 + + lcSQl = [select numefis from sal_legitimatii where id_salariat = ]+ Alltrim(Str(popers.id_salariat)) + lnSucces = goExecutor.oExecute(lcSQl,'crsFisierLegitimatie') + If lnSucces < 0 + amessagebox(goExecutor.cEroare,16,"Eroare") + RETURN + ENDIF + SELECT crsFisierLegitimatie + SCATTER NAME logelit + + IF !EMPTY(logelit.numefis) AND !ISNULL(logelit.numefis) + lcCalePozaServer = GetPozaFile(ALLTRIM(STR(popers.marca))+[.]+JUSTEXT(logelit.numefis)) + + .imAGE1.picture = lcCalePozaServer + .imAGE1.Height = 121 + .imAGE1.Width = 109 + .imAGE1.Stretch= 1 + + ELSE + .imAGE1.picture = '' + .imAGE1.Height = 121 + .imAGE1.Width = 109 + .imAGE1.Stretch= 1 + ENDIF + If Used('crsFisierLegitimatie') + Use In crsFisierLegitimatie + ENDIF + .refresh() + Case lnPagina = 2 + .opt_stare_contract.Value = popers.stare_contract + .lb_simplu9.Caption = Nvl(popers.modlic,[]) + .opt_stare_contract.Refresh() + .opt_oug114.Refresh() + IF pnCalendarOug114 = 1 + .lb_simplu1.visible = .t. + + .opt_oug114.visible = .t. + ELSE + .lb_simplu1.visible = .f. + .opt_oug114.visible = .f. + ENDIF + Thisform.do_actualizeaza_nom_norme() + If popers.somaj_tehnic = 1 + .tx52.Visible = .T. + .tx53.Visible = .T. + .lb_simplu4.Visible = .T. + .lb_simplu5.Visible = .T. + Else + .tx52.Visible = .F. + .tx53.Visible = .F. + .lb_simplu4.Visible = .F. + .lb_simplu5.Visible = .F. + Endif + Case lnPagina = 3 + save_grid_tag(.grid3) &&grid v_nom_intret + pointr.ca_baza1.cfiltru=[id_persoana = ] + Alltrim(Str(popers.id_salariat)) + pointr.ca_baza1.afisare() + restore_grid_tag(.grid3) + + save_grid_tag(.grid1) &&grid v_copii + pocop.ca_baza1.cfiltru=[id_persoana = ] + Alltrim(Str(popers.id_salariat)) + pocop.ca_baza1.afisare() + restore_grid_tag(.grid1) + Local lncopii + lncopii = 0 + Select v_copii + Calculate Count(id_copil) To lncopii + .txcopii.Value=lncopii + .txcopii.Refresh() + Case lnPagina = 4 + save_grid_tag(.grid3) + pobazacm.ca_baza1.cfiltru = [id_stat = ] + Alltrim(Str(popers.id_stat)) + pobazacm.ca_baza1.afisare() + restore_grid_tag(.grid3) + Case lnPagina = 5 + save_grid_tag(.grid3) + pocalif.ca_baza1.cfiltru = [id_persoana = ] + Alltrim(Str(popers.id_salariat)) + pocalif.ca_baza1.afisare() + restore_grid_tag(.grid3) + Case lnPagina = 6 && 6 + save_grid_tag(.grid3) + pocurs.ca_baza1.cfiltru = [id_persoana = ] + Alltrim(Str(popers.id_salariat)) + pocurs.ca_baza1.afisare() + restore_grid_tag(.grid3) + + save_grid_tag(.grid1) + postud.ca_baza1.cfiltru = [id_persoana = ] + Alltrim(Str(popers.id_salariat)) + [ and sters=0] + postud.ca_baza1.afisare() + restore_grid_tag(.grid1) + Case lnPagina = 7 + Thisform.vechimeal + Case lnPagina = 8 + save_grid_tag(.grid1) + poact.ca_baza1.cfiltru = [angajatid = ] +Iif(Empty(Alltrim(popers.codpers)),'0',Alltrim(popers.codpers)) + poact.ca_baza1.afisare() + restore_grid_tag(.grid1) + If popers.id_tipapatrid = 1 OR popers.id_cetatenie <> 1 + * persoanele apatride cu drept de sedere sau persoanele cu cetatenie <> ROMANA completeaza Tip Autorizare in pagina Documente + *!* If Upper(popers.codcetatenie) = [ALTA] + .ct_clb_tipautorizatie.visible = .T. + .lb_simplu3.visible = .T. + .tx72.visible = .T. + .tx73.visible = .T. + else + .ct_clb_tipautorizatie.visible = .F. + .lb_simplu3.visible = .F. + .tx72.visible = .F. + .tx73.visible = .F. + Endif + Case lnPagina = 9 + save_grid_tag(.grid3) + poechip.ca_baza1.cfiltru = [id_part = ] + Alltrim(Str(popers.id_part)) + poechip.ca_baza1.afisare() + restore_grid_tag(.grid3) + Case lnPagina = 10 + save_grid_tag(.gridAtasamente) + poatas.ca_baza1.cfiltru=[id_persoana = ] + Alltrim(Str(popers.id_salariat)) + [ and sters=0] + poatas.ca_baza1.afisare() + restore_grid_tag(.gridAtasamente) + Case lnPagina = 11 + save_grid_tag(.grid3) &&grid v_avize + poavize.ca_baza1.cfiltru=[id_persoana = ] + Alltrim(Str(popers.id_salariat)) + [ and sters=0] + poavize.ca_baza1.afisare() + restore_grid_tag(.grid3) + Otherwise + Return + Endcase + Endwith + *!* Local lnpage + *!* lnpage = tnpag + *!* lni=0 + *!* lnf=0 + *!* Do Case + *!* Case lnpage=1 && 1 + *!* lni = 1 &&lni = primul textbox de pe pagina activa + *!* lnf = 25 &&lnf = ultimul textbox de pe pagina activa + *!* lcpag = 'thisform.page1.page1.tx' + *!* *!* lcr = 'thisform.page1.page1.tx' + ALLTRIM(STR(1))+'.setfocus()' + *!* *!* &lcr + *!* *!* + *!* Case lnpage=2 && 2 + *!* lni=26 + *!* *!* modificare v 2.0.0 + *!* *!* lnf=53 + *!* lnf=55 + *!* Thisform.page1.page2.opt_stare_contract.Value = popers.stare_contract + *!* Thisform.page1.page2.lb_simplu9.Caption = NVL(popers.modlic,[]) + *!* Thisform.page1.page2.opt_stare_contract.refresh() + *!* *!* modificare v 2.0.0 ^ + *!* lcpag = 'thisform.page1.page2.tx' + *!* If popers.somaj_tehnic = 1 + *!* Thisform.page1.page2.tx52.Visible = .T. + *!* Thisform.page1.page2.tx53.Visible = .T. + *!* Thisform.page1.page2.lb_simplu4.Visible = .T. + *!* Thisform.page1.page2.lb_simplu5.Visible = .T. + *!* Else + *!* Thisform.page1.page2.tx52.Visible = .F. + *!* Thisform.page1.page2.tx53.Visible = .F. + *!* Thisform.page1.page2.lb_simplu4.Visible = .F. + *!* Thisform.page1.page2.lb_simplu5.Visible = .F. + *!* Endif + *!* Case lnpage=3 && 3 + *!* lni = 51 + *!* lnf = 54 + *!* lcpag = 'thisform.page1.page3.tx' + *!* save_grid_tag(Thisform.page1.page3.grid3) &&grid v_nom_intret + *!* pointr.ca_baza1.cfiltru=[id_persoana = ] + Alltrim(Str(popers.id_salariat)) + *!* pointr.ca_baza1.afisare() + *!* restore_grid_tag(Thisform.page1.page3.grid3) + *!* save_grid_tag(Thisform.page1.page3.grid1) &&grid v_copii + *!* pocop.ca_baza1.cfiltru=[id_persoana = ] + Alltrim(Str(popers.id_salariat)) + *!* pocop.ca_baza1.afisare() + *!* restore_grid_tag(Thisform.page1.page3.grid1) + *!* Local lncopii + *!* lncopii = 0 + *!* Select v_copii + *!* Calculate Count(id_copil) To lncopii + *!* Thisform.page1.page3.txcopii.Value=lncopii + *!* Thisform.page1.page3.txcopii.Refresh + *!* Case lnpage = 4 && 4 + *!* save_grid_tag(Thisform.page1.page4.grid3) + *!* pobazacm.ca_baza1.cfiltru = [id_stat = ] + Alltrim(Str(popers.id_stat)) + *!* pobazacm.ca_baza1.afisare() + *!* restore_grid_tag(Thisform.page1.page4.grid3) + *!* Case lnpage = 5 && 5 + *!* lni = 55 + *!* lnf = 55 + *!* lcpag = 'thisform.page1.page5.tx' + *!* save_grid_tag(Thisform.page1.page5.grid3) + *!* pocalif.ca_baza1.cfiltru = [id_persoana = ] + Alltrim(Str(popers.id_salariat)) + *!* pocalif.ca_baza1.afisare() + *!* restore_grid_tag(Thisform.page1.page5.grid3) + *!* Case lnpage = 6 && 6 + *!* save_grid_tag(Thisform.page1.page6.grid3) + *!* pocurs.ca_baza1.cfiltru = [id_persoana = ] + Alltrim(Str(popers.id_salariat)) + *!* pocurs.ca_baza1.afisare() + *!* restore_grid_tag(Thisform.page1.page6.grid3) + + *!* save_grid_tag(Thisform.page1.page6.grid1) + *!* postud.ca_baza1.cfiltru = [id_persoana = ] + Alltrim(Str(popers.id_salariat)) + [ and sters=0] + *!* postud.ca_baza1.afisare() + *!* restore_grid_tag(Thisform.page1.page6.grid1) + *!* Case lnpage = 7 + *!* lni = 56 + *!* lnf = 65 + *!* Thisform.vechimeal + *!* lcpag = 'thisform.page1.page7.tx' + *!* Case lnpage=8 && 8 + *!* lni=65 + *!* lnf=73 && modificare v 2.0.0 : 70 ; v 1.0.49 : 69 + *!* lcpag = 'thisform.page1.page8.tx' + *!* save_grid_tag(Thisform.page1.page8.grid1) + *!* poact.ca_baza1.cfiltru = [angajatid = ] +Iif(Empty(Alltrim(popers.codpers)),'0',Alltrim(popers.codpers)) + *!* poact.ca_baza1.afisare() + *!* restore_grid_tag(Thisform.page1.page8.grid1) + *!* Case lnpage=9 && 9 + *!* save_grid_tag(Thisform.page1.page9.grid3) + *!* poechip.ca_baza1.cfiltru = [id_part = ] + Alltrim(Str(popers.id_part)) + *!* poechip.ca_baza1.afisare() + *!* restore_grid_tag(Thisform.page1.page9.grid3) + *!* Case lnpage=10 + *!* save_grid_tag(Thisform.page1.page10.gridAtasamente) + *!* poatas.ca_baza1.cfiltru=[id_persoana = ] + Alltrim(Str(popers.id_salariat)) + [ and sters=0] + *!* poatas.ca_baza1.afisare() + *!* restore_grid_tag(Thisform.page1.page10.gridAtasamente) + + *!* Otherwise + *!* Return + *!* Endcase + *!* If lni#0 &&daca nu am textbox-uri nu fac nici un refresh la ele + *!* For i=lni To lnf + *!* lcr = lcpag + Alltrim(Str(i))+'.refresh' + *!* &lcr + *!* Endfor + *!* ENDIF + *!* modificare ROARES v 2.0.8 ^ + ENDPROC + + PROCEDURE registru_unic + Lparameters tnTip + *!* CREATE CURSOR registru_temp (tip_operatie c(1),id_criteriu n(5),id_modlic n(5),id_temei n(5),datamod d,explicatie c(254)) + *--------------------------------- + Local lnTipModif,lcoperatie + If gnscrieregistru=0 + Return + Endif + lnTipModif = Thisform.opt_registru &&1-Modificare;2-Corectie;3-Nu scrie + If lnTipModif = 3 + *!* RETURN + lcoperatie = 'M' + Else + lcoperatie = Icase(lnTipModif=1,'M','C') + Endif + ****Legenda : 1-Functie/Ocupatie ; 2-Incetare Contract ; 3-Tipul Contractului ; 4-Reactivare Contract + **** 5-Numar/Data Contract ; 6-Loc de munca - Transfer la alta entitate a angajatorului + **** 7-Date personale + ******verificare date******** + Do Case + Case tnTip=1 + lReturn = Icase(popers.id_meserie<>poRegAms.id_meserie,.T.,.F.) + Case tnTip=2 + lReturn = Icase(popers.datalic<>Nvl(poRegAms.datalic,{}),.T.,.F.) + Case tnTip=3 + *!* modificare v 1.0.49 ROARES + *!* lReturn = Icase(popers.datasfctr<>Nvl(poRegAms.datasfctr,{}),.T.,; + *!* popers.fractie<>poRegAms.fractie,.T.,; + *!* popers.id_tipctr<>poRegAms.id_tipctr,.T.,.F.) + lReturn = Icase(popers.dataang<>Nvl(poRegAms.dataang,{}),.T.,; + popers.datasfctr<>Nvl(poRegAms.datasfctr,{}),.T.,; + popers.fractie<>poRegAms.fractie,.T.,; + popers.id_tipctr<>poRegAms.id_tipctr,.T.,.F.) + *!* modificare v 1.0.49 ROARES ^ + Case tnTip=5 + *!* modificare v 1.0.49 ROARES + *!* lReturn = Icase(popers.nrctr<>poRegAms.nrctr,.T.,; + *!* popers.datactr<>Nvl(poRegAms.datactr,{}),.T.,; + *!* popers.nrctrm<>poRegAms.nrctrm,.T.,; + *!* popers.datactrm<>Nvl(poRegAms.datactrm,{}),.T.,.F.) + lReturn = Icase(popers.nrctr<>poRegAms.nrctr,.T.,; + popers.datactr<>Nvl(poRegAms.datactr,{}),.T.,; + popers.nrctrm<>poRegAms.nrctrm,.T.,; + popers.datactrm<>Nvl(poRegAms.datactrm,{}),.T.,.F.) + *!* modificare v 1.0.49 ROARES ^ + Local lndatalic,lndataang,ldDataang + lndataang=Year(popers.dataang)*12+Month(popers.dataang) + lndatalic=Year(poRegAms.datalic)*12+Month(poRegAms.datalic) + ldDataang=popers.dataang + If popers.dataang>poRegAms.datalic And lndataang=lndatalic + If aMessagebox('Aceasta persoana a fost incetata! Doriti reangajare?',4,"Confirmare")=6 + lcidstat = popers.id_stat + lcdata = Date() + lcSQl = [select * from sal_vnom_pers_tot where id_stat=?lcidstat] + lcCursor = 'crsReangajare' + lnSucces = goExecutor.oExecute(lcSQl,lcCursor) + If lnSucces < 0 + aMessagebox(goExecutor.cEroare,0+16,"Eroare") + Else + Thisform.do_adauga() + Select crsReangajare + *!* modificare ROARES v 2.0.6 : am adaugat "MEMO" + Scatter Memo Name popers + Scatter Memo Name popers_orig + *!* MESSAGEBOX(popers.id_part) + popers.datactr = Ttod(datactr) && modificare v 1.0.49 + popers.dataang=ldDataang + popers.datalic=Ttod(datalic) + popers.datasfctr=Ttod(datasfctr) + popers.datactrm=Ttod(datactrm) + Local lnpage,lcpage + lnpage = Thisform.page1.ActivePage + Thisform.refresh_pagini(lnpage) + Use In crsReangajare + Return + Endif + Endif + Endif + Case tnTip=6 + lReturn = Icase(popers.id_sectie<>poRegAms.id_sectie,.T.,.F.) + Case tnTip=7 + lReturn = Icase(popers.nume<>poRegAms.nume,.T.,; + popers.prenume<>poRegAms.prenume,.T.,; + popers.id_cetatenie<>poRegAms.id_cetatenie,.T.,; + popers.id_nationalit<>poRegAms.id_nationalit,.T.,; + popers.id_tip_act<>poRegAms.id_tip_act,.T.,; + popers.codpers<>poRegAms.codpers,.T.,; + popers.cmseria<>poRegAms.cmseria,.T.,; + popers.cmnr<>poRegAms.cmnr,.T.,; + popers.id_loc<>poRegAms.id_loc,.T.,; + popers.strada<>poRegAms.strada,.T.,; + popers.numar<>poRegAms.numar,.T.,; + popers.Bloc<>poRegAms.Bloc,.T.,; + popers.scara<>poRegAms.scara,.T.,; + popers.etaj<>poRegAms.etaj,.T.,; + popers.apart<>poRegAms.apart,.T.,.F.) + Otherwise + lReturn=.F. + + Endcase + + + If lReturn = .F. + Return + Endif + ******verificare date******** + Private pcDataRegistru,pcExpReg,pnIdModLic,pnIdTemei + Store '' To pcExpReg + Store Date() To pcDataRegistru + Store 0 To pnIdModLic,pnIdTemei + Local lnOrdine + lnOrdine=1 + + + + If Inlist(tnTip,1,3,5) + If !Used('crsModLic') + lcSQl = [select * from sal_nom_modlic where sters=0] + lcCursor = [crsModLic] + lnSucces = goExecutor.oExecute(lcSQl,lcCursor) + + If lnSucces < 0 + aMessagebox(goExecutor.cEroare,0+16,"Eroare") + Return + Endif + Endif + Endif + If tnTip=2 + If !Used('crsTemei') + lcSQl = [select * from syn_sal_nom_temei where tip=]+Iif(popers.stare_contract=2,[1],[2])+[ and sters = 0 and id_temei<100] && modificare 10.06.2011 : am adaugat sters = 0 + lcCursor = [crsTemei] + lnSucces = goExecutor.oExecute(lcSQl,lcCursor) + + If lnSucces < 0 + aMessagebox(goExecutor.cEroare,0+16,"Eroare") + Return + Endif + Endif + Endif + Local lnOrdine + Do Case + Case tnTip=1 + pnIdModLic=1 + Select crsModLic + oreg = Createobject('frm_modificari_reg') + oreg.Show(1) + Release oreg + lnOrdine=4 + Case tnTip=2 + pnIdModLic=1 + pnIdTemei=1 + Select crsTemei + oreg = Createobject('frm_incetare_reg') + oreg.Show(1) + Release oreg + lnOrdine=4 + + *!* modificare v 2.0.0 + If gnButon <> 2 + popers.id_temeis = pnIdTemei + popers.explicaties = pcExpReg + *!* modificare v 2.0.8 + *!* Thisform.page1.page2.tx47.Refresh() + Thisform.page1.page2.ct_clb_temei.tx_cautare.Refresh() + *!* modificare v 2.0.8 ^ + Endif + + pcselect = [select * from ] + gcS + [.sal_nom_modlic] + pcfiltruinitial=[sters=0] + pcfiltru = [1=1] + pcschema = [] + pcorder = [modlic] + pccoloane = [modlic] + pcTitlu = [Mod lichidare] + pcTitluColoane = [Mod] + locauta = cauta_alfa(pcselect,pcfiltru,pcschema,pcorder,pccoloane,pcTitlu,pcTitluColoane,'sal_modlic',,pcfiltruinitial) + If buton # 2 + popers.modlic = locauta.modlic + popers.id_modlic = locauta.id_modlic + Endif + *!* modificare v 2.0.0 ^ + + Case tnTip=3 + pnIdModLic=1 + Select crsModLic + oreg = Createobject('frm_modificari_reg') + oreg.lb_titlu_alb_b121.Caption = 'MODIFICARE TIP CONTRACT' + oreg.Show(1) + Release oreg + lnOrdine=3 + Case tnTip=5 + pnIdModLic=1 + If poRegAms.nrctr>0 And poRegAms.nrctrm>0 And poRegAms.datactrm<>{} ; + and poRegAms.datactr<>{} && ROARES v 1.0.49 : am adaugat poRegAms.datactr + Select crsModLic + oreg = Createobject('frm_modificari_reg') + oreg.lb_titlu_alb_b121.Caption = 'MODIFICARE NUMAR / DATA CONTRACT' + oreg.Show(1) + Endif + Release oreg + lnOrdine=2 + + + Case tnTip=6 + pnIdModLic=1 + pcExpReg = popers.sectie + oreg = Createobject('frm_locmunca_reg') + oreg.Show(1) + Release oreg + lnOrdine=5 + Case tnTip=7 + lnOrdine=7 + Otherwise + + Endcase + + If Used('crsTemei') + Use In crsTemei + Endif + If Used('crsModLic') + Use In crsModLic + Endif + + Select registru_temp + pcExpReg = Nvl(pcExpReg,'') + If tnTip=7 + pcExpReg='Date Personale' + Endif + Locate For id_criteriu=tnTip + If Found() + Update registru_temp Set tip_operatie=lcoperatie ,id_modlic=pnIdModLic,; + id_temei=pnIdTemei,datamod=pcDataRegistru,explicatie=pcExpReg,ordine=lnOrdine Where id_criteriu=tnTip + Else + Insert Into registru_temp (tip_operatie,id_criteriu,id_modlic,id_temei,datamod,explicatie,ordine); + VALUES (lcoperatie ,tnTip,pnIdModLic,pnIdTemei,pcDataRegistru,pcExpReg,lnOrdine) + Endif + Select registru_temp + ENDPROC + + PROCEDURE setez_exceptii + popers.plcas=1 + popers.plsomaj=1 + popers.pensionar=0 + popers.plimpozit=1 + popers.functiebaza=1 + ENDPROC + + PROCEDURE Show + Lparameters nStyle + Thisform.do_activeaza(.F.) && modificare ROARES v 2.0.8 + + ENDPROC + + PROCEDURE sterge_copil + *!* modificare ROASAL v 2.0.14 + If glLunaInchisa + Return + Endif + *!* modificare ROASAL v 2.0.14 ^ + + Select v_copii + Scatter Name locop + + Do sterge_inregistrare With 'fam',locop.id_copil + + save_grid_tag(Thisform.page1.page3.grid1) &&grid v_copii + pocop.ca_baza1.cfiltru=[id_persoana = ] + Alltrim(Str(popers.id_salariat)) + pocop.ca_baza1.afisare() + restore_grid_tag(Thisform.page1.page3.grid1) + ENDPROC + + PROCEDURE upload + Lparameters tcTabel + *!* modificare ROASAL v 2.0.14 + If glLunaInchisa + Return + Endif + *!* modificare ROASAL v 2.0.14 ^ + + If Empty(popers.id_salariat) Or Isnull(popers.id_salariat) + aMessageBox('Pentru a putea adauga documente unei persoane noi angajate, trebuie salvate mai intai datele persoanei!',0+16,'Atentie') + Return + Endif + Private pcLink, pcDescriere, pcAtas_name, pcAtasament,pnDatadoc,pnNrdoc ,pnIdPers,pnMarca,pnId_atas,pnIesire + Store 0 To pnId_atas,pnIesire,pnDatadoc,pnNrdoc + Store "" To pcDescriere, pcAtas_name, pcAtasament, pcLink + * pcLink - private - folosit in frm_atas_nou + Local llReturn,lcSql,lnSucces + llReturn = .T. + Local lcTabelLinkuri + Store '' To lcTabelLinkuri + If !Empty(tcTabel) + lcTabelLinkuri = Alltrim(tcTabel) + Select (lcTabelLinkuri) + Scatter Name poLink Blank Memo + Else + Create Cursor crsAtasTemp (id_sal_atasamente N(5), descriere c(50),data_doc d,nr_doc N(5), nume_atasament c(200), atasament w,id_persoana N(5),marca N(5)) + Select crsAtasTemp + Scatter Name poLink Blank Memo + Use In crsAtasTemp + Endif + poLink.data_doc = Date() + loan = Createobject("frm_atas_nou") + loan.orec = poLink + loan.Show(1) + If gnButon = 2 + Return + Endif + pnIdPers = popers.id_salariat + pnMarca=popers.marca + pcDescriere = Upper(Alltrim(poLink.descriere)) + pcAtas_name = Upper(Alltrim(poLink.nume_atasament)) + pnDatadoc = poLink.data_doc + pnNrdoc = poLink.nr_doc + If Empty(pcLink) + Return + Endif + pcFisier = Filetostr(pcLink) + + + lnSucces = SQLSetprop(gnhandle,"Transactions",2) + If lnSucces < 0 + aMessageBox("Programul nu a reusit sa treaca pe tranzactie manuala! Reintrati in program si incercati din nou!",48,"Atentie") + Else + lcSql = [insert into sal_atasamente(atasament, nume_atasament, descriere,data_doc,nr_doc,id_persoana,marca, id_utilizator) ]+; + [values (?pcFisier, ?pcAtas_name, ?pcDescriere,?pnDatadoc,?pnNrdoc,?pnIdPers,?pnMarca,?gnIdUtil) ] + ; + [ returning id_sal_atasamente into ?@pnId_atas] + lnSucces = goExecutor.oExecute(lcSql) + If lnSucces < 0 + aMessageBox(goExecutor.cEroare,0+16,'Eroare') + Endif + Endif + If lnSucces < 0 + lcSql = "ROLLBACK" + Else + lcSql = "COMMIT" + Endif + lnSucces2 = goExecutor.oExecute(lcSql) + + If lnSucces2 < 0 + aMessageBox(lcSql + Chr(13) + goExecutor.cEroare,0+16,"Eroare") + Endif + + lnSucces2 = SQLSetprop(gnhandle,"Transactions",1) + If lnSucces2 < 0 + aMessageBox('Programul nu a reusit sa treaca pe tranzactie automata. Iesiti din program si intrati din nou!',0+48,'Atentie!') + Else + If lcSql = "COMMIT" + If !Empty(lcTabelLinkuri) + Select (lcTabelLinkuri) + Append Blank + Gather Name poLink Memo + Replace fisier With pcFisier, id_atas With pnId_atas, nume_fisier With pcFis_name, descriere With pcDescriere, dataora With Datetime(), utilizator With gcUserNameApp + Endif + + Endif + Endif + + If pnIesire=1 + save_grid_tag(Thisform.page1.page10.gridAtasamente) + poatas.ca_baza1.cfiltru =[id_persoana = ] + Alltrim(Str(popers.id_salariat)) + [ and sters=0] + poatas.ca_baza1.afisare() + restore_grid_tag(Thisform.page1.page10.gridAtasamente) + Endif + + ENDPROC + + PROCEDURE vechimeal + WITH thisform.page1.paGE7 + + IF !EMPTY(popers.vechimei) + .tx59.Value = FLOOR(popers.vechimei/12) + .tx60.Value = MOD(popers.vechimei,12) + ELSE + .tx59.value = 0 + .tx60.value = 0 + ENDIF + + IF !EMPTY(popers.vechime) + .tx62.Value = FLOOR(popers.vechime/12) + .tx63.Value = MOD(popers.vechime,12) + ELSE + .tx62.value = 0 + .tx63.value = 0 + ENDIF + .vechimea.Value=NVL(popers.vechime,0)+12-gnLuna+1 + + .ania.Value = INT(.vechimea.Value/12) + + + .lunia.Value = MOD(.vechimea.Value,12) + + + .tx59.refresh + .tx60.refresh + .tx61.refresh + .tx62.refresh + .tx63.refresh + .ania.refresh + .lunia.refresh + .vechimea.refresh + + ENDWITH + ENDPROC + + PROCEDURE verifica_parteneri + Lparameters tndif + + Local lflag + + If Pcount()=1 + lflag = verifica_adaugare_parteneri(tndif) &&osalarii_comun + Else + lflag = verifica_adaugare_parteneri() &&osalarii_comun + Endif + If lflag + This.but_noup1.Picture= 'NOU_SUS.BMP' + This.but_noup1.cpictureup='NOU_SUS.BMP' + This.but_noup1.cpicturedown='NOU_JOS.BMP' + This.but_noup1.ToolTipText='Exista parteneri (salariati) care nu apar in program!' + Else + This.but_noup1.Picture= 'NOU_SUS_DIS.BMP' + This.but_noup1.cpictureup='NOU_SUS_DIS.BMP' + This.but_noup1.cpicturedown='NOU_JOS_DIS.BMP' + This.but_noup1.ToolTipText='Introducere parteneri in program...' + Endif + + ENDPROC + + PROCEDURE Clienttoptabs1.setupactions + LPARAMETERS tnTabno + + thisform.refresh_pagini(tnTabno) + ENDPROC + + PROCEDURE page1.Page1.Image1.Click + + IF this.Parent.tx11.ReadOnly = .f. + *!* SET STEP ON + LOCAL lcPoza,lcDirector,lcNPoza,lcCalePozaServer,lcSql,lnSucces,lcdipoza,lcPozaren,lcFispoza + + lcdipoza = goApp.ReadIni('cale_poza_legitimatie', "pozapath") + CD &lcdipoza + PRIVATE pcFisier + *!* lcDirector = ADDBS(calefirma) + "datean\poze" + lcPoza = GETFILE("bmp,bmp","Alegeti fotografia","Alege",0,"Alegere fotografie") + IF EMPTY(lcPoza) + RETURN + ENDIF + SET STEP ON + + lcCalePozaServer = GetPozaFile(ALLTRIM(STR(popers.marca))+[.]+JUSTEXT(lcPoza)) + + lcPozaren = ALLTRIM(STR(popers.marca))+[_]+ CHRTRAN(TTOC(DATETIME(),1),'\/:*?" ','')+[.]+JUSTEXT(lcPoza) + + lcFispoza = ALLTRIM(STR(popers.marca))+[.]+JUSTEXT(lcPoza) + IF thisform.nrincarcaripoze = 0 + thisform.lcpozamodif = lcPozaren + ENDIF + + lcNPoza = lcCalePozaServer + + lcSQl = [ MERGE INTO sal_legitimatii a ]+; + [ USING (SELECT ]+ Alltrim(Str(popers.id_salariat)) + [ as id_salariat, ']+; + ALLTRIM(STR(popers.marca))+[.]+JUSTEXT(lcPoza) +[' as numefis FROM dual) b ]+; + [ ON (a.id_salariat = b.id_salariat and a.sters = 0) ]+; + [ WHEN MATCHED THEN ]+; + [ UPDATE SET a.numefis = b.numefis ]+; + [WHEN NOT MATCHED THEN ]+; + [ INSERT (a.id_salariat, a.numefis) ]+; + [ VALUES (b.id_salariat, b.numefis) ] + + + + lnSucces = goExecutor.oExecute(lcSQl) + If lnSucces < 0 + amessagebox(goExecutor.cEroare,16,"Eroare") + RETURN + ENDIF + + + IF ALLTRIM(UPPER(lcNPoza)) # ALLTRIM(UPPER(lcPOza)) AND FILE(lcNPoza) + RENAME (lcFispoza) TO (lcPozaren) + ENDIF + + IF !FILE(lcNPoza) + + IF ALLTRIM(UPPER(lcNPoza)) # ALLTRIM(UPPER(lcPOza)) + COPY FILE (lcPOza) TO (lcNPoza) + ENDIF + ENDIF + + + thisform.page1.page1.imAGE1.picture = lcNpoza + + thisform.page1.page1.imAGE1.Height = 121 + thisform.page1.page1.imAGE1.Width = 109 + thisform.page1.page1.imAGE1.Stretch= 1 + thisform.lpozamodif = .t. + CD &DIRGEN + thisform.nrincarcaripoze = thisform.nrincarcaripoze +1 + thisform.Refresh + + ENDIF + + *!* + *!* pcFisier = Filetostr(lcPoza) + *!* + *!* *!* [update sal_legitimatii set sters = 0 where id_salariat = ]+ Alltrim(Str(popers.id_salariat))+[;]+ + *!* lcSQl = [ insert into sal_legitimatii (id_salariat,fisier,) ] + ; + *!* [values (?popers.id_salariat,?pcFisier) ] + *!* lnSucces = goExecutor.oExecute(lcSQl) + *!* If lnSucces < 0 + *!* amessagebox(goExecutor.cEroare,16,"Eroare") + *!* ENDIF + + + *!* this.Picture = &lcPoza + *!* this.Refresh + ENDPROC + + PROCEDURE page1.Page1.tx1.InteractiveChange + thisform.eticheta(this.value,popers.nume,popers.prenume) + ENDPROC + + PROCEDURE page1.Page1.tx1.LostFocus + IF popers.nrctr=0 + popers.nrctr=popers.marca + ENDIF + ENDPROC + + PROCEDURE page1.Page1.tx15.LostFocus + If Thisform.cus_odata_opers1.cactiune = 'UPDATE' And gnEvaluareRevisal5 = 1 + Thisform.registru_unic(7) + Endif + ENDPROC + + PROCEDURE page1.Page1.tx16.LostFocus + If Thisform.cus_odata_opers1.cactiune = 'UPDATE' And gnEvaluareRevisal5 = 1 + Thisform.registru_unic(7) + Endif + ENDPROC + + PROCEDURE page1.Page1.tx17.LostFocus + If Thisform.cus_odata_opers1.cactiune = 'UPDATE' And gnEvaluareRevisal5 = 1 + Thisform.registru_unic(7) + Endif + ENDPROC + + PROCEDURE page1.Page1.tx18.LostFocus + If Thisform.cus_odata_opers1.cactiune = 'UPDATE' And gnEvaluareRevisal5 = 1 + Thisform.registru_unic(7) + Endif + ENDPROC + + PROCEDURE page1.Page1.tx19.LostFocus + If Thisform.cus_odata_opers1.cactiune = 'UPDATE' And gnEvaluareRevisal5 = 1 + Thisform.registru_unic(7) + Endif + ENDPROC + + PROCEDURE page1.Page1.tx2.InteractiveChange + thisform.eticheta(popers.marca,this.value,popers.prenume) + ENDPROC + + PROCEDURE page1.Page1.tx2.LostFocus + If Thisform.cus_odata_opers1.cactiune = 'UPDATE' And gnEvaluareRevisal5 = 1 + Thisform.registru_unic(7) + Endif + ENDPROC + + PROCEDURE page1.Page1.tx20.LostFocus + If Thisform.cus_odata_opers1.cactiune = 'UPDATE' And gnEvaluareRevisal5 = 1 + Thisform.registru_unic(7) + Endif + ENDPROC + + PROCEDURE page1.Page1.tx25.LostFocus + thisform.KeyPress(-1,0) + ENDPROC + + PROCEDURE page1.Page1.tx3.InteractiveChange + thisform.eticheta(popers.marca,popers.nume,this.value) + ENDPROC + + PROCEDURE page1.Page1.tx3.LostFocus + If Thisform.cus_odata_opers1.cactiune = 'UPDATE' And gnEvaluareRevisal5 = 1 + Thisform.registru_unic(7) + Endif + ENDPROC + + PROCEDURE page1.Page1.tx4.LostFocus + Local lcCnp, lcCursor, lcSQl, ldDataLicVeche, lnMarca, lnSucces, lna, lnl, lnz + *:Global popers, popers_orig + If This.ReadOnly = .T. + Return + ENDIF + * ROASAL 2.1.52 + * Nu validez CNP si nu caut salariat cu CNP daca CNP este gol + lcCnp = Alltrim(NVL(popers.codpers,'')) + * Se poate pune 13x0 la CNP, sa treaca mai departe, face si alte instructiuni, chiar daca CNP este gol + *!* IF EMPTY(m.lcCNP) + *!* RETURN .T. + *!* ENDIF + * ROASAL 2.1.52 ^ + + *!* modificare ROARES v 2.0.8 + If Empty(Nvl(popers.id_salariat,0)) Or ; + (!Empty(Nvl(popers.id_salariat,0)) And popers.codpers <> popers_orig.codpers) + *!* modificare ROARES v 2.0.8 ^ + + + If !ValidCNP(Val(lcCnp)) + aMessageBox('CNP-ul nu este valid',0+15,'Atentie') + Endif + *!* modificare v 2.0.16 : am adaugat and stare_contract <> 2 ( daca e incetat in luna,il las sa adauge un alt contract ) + lcSQl= [select id_stat from sal_vnom_pers where codpers=']+lcCnp+[' and sters=0 and stare_contract <> 2] + lcCursor = 'v_cnp' + lnSucces = goExecutor.oExecute(lcSQl,lcCursor) + If lnSucces < 0 + aMessageBox(goExecutor.cEroare,0+16,"Eroare") + Return + ELSE + &&16.10.2014 -- pot exista mai multe contracte pe o singura persoana + *!* If Reccount('v_cnp')>0 + *!* Select v_cnp + *!* Local lnIdstat + *!* lnIdstat = id_stat + *!* aMessageBox('Acest cnp mai exista in luna curenta!',0,'Atentie!') + *!* *!* modificare ROASAL v 2.0.0 + *!* *!* THISFORM.do_readonly() + *!* Thisform.do_activeaza(.F.) + *!* *!* modificare ROASAL v 2.0.0 ^ + *!* Thisform.actualizeaza_grid1('id_stat='+Alltrim(Str(lnIdstat))) + *!* Select v_personal + *!* Locate For id_stat=lnIdstat + *!* Thisform._GRID1.SetFocus() + *!* Use In v_cnp + *!* Else + &&16.10.2014 -- pot exista mai multe contracte pe o singura persoana + + *!* modificare v 2.0.11 ROARES : am adaugat si tip 2 pentru cazul in care am un angajat in luna curenta, il sterg, + *!* dupa care vreau sa-l adaug din nou. El a fost sters din state, dar ramane in personal si imi da eroare cand verific + *!* marca + *!* aici trebuie modificat atunci cand se va popula sal_contracte pentru ca in sal_stat pot sa am un contract + *!* care sa fi avut intr-o luna un numar,iar in alta sa i se fi corectat ( si ar fi trebuit sa aiba acelasi id_sal_ctr pe ambele inreg ) + lcSql = [select 1 as tip,MAX(s.id_stat) as id_stat,MAX(NVL(s.datalic, to_date('01011900', 'DDMMYYYY'))) as datalic,s.id_persoana as id_salariat, ] + ; + [MAX(s.id_sal_ctr) as id_sal_ctr,to_char(s.nrctr) || '/' || to_char(s.datactr, 'DD.MM.YYYY') as contract,s.datactr ] + ; + [ from sal_stat s ]+; + [left join sal_personal pers on s.id_persoana = pers.id_salariat ]+; + [left join nom_parteneri part on pers.id_part = part.id_part ]+; + [where part.cod_fiscal= '] + lcCnp + [' and s.sters = 0 and s.an * 12 + s.luna < ] + Alltrim(Str(gnAn)) + [ * 12 + ] + Alltrim(Str(gnLuna)) + [ ] + ; + [and pers.ID_SALARIAT <> pack_salarii.id_lipsa() ] +; + [group by id_persoana, datactr, to_char(nrctr) || '/' || to_char(datactr, 'DD.MM.YYYY') ] + ; + [union all ] + ; + [select 2 as tip, null as id_stat, to_date('01011900','DDMMYYYY') as datalic, id_salariat,null as id_sal_ctr,null as contract,null as datactr ] + ; + [from sal_personal where id_part in (select id_part from nom_parteneri where cod_fiscal = '] + lcCnp + [' and sters = 0) and sters = 0] + *!* lcSQl= [select MAX(id_stat) as id_stat,MAX(NVL(datalic,to_date('01011900','DDMMYYYY'))) as datalic from sal_vstattot where codpers=']+lcCnp+; + *!* [' and sters = 0 and an*12+luna<]+pcan+[*12+]+pcnl+[ and codpers<>0 order by dataang desc] + *!* modificare v 2.0.11 ROARES ^ + lcCursor = 'v_cnp1' + lnSucces = goExecutor.oExecute(lcSQl,lcCursor) + If lnSucces < 0 + aMessageBox(goExecutor.cEroare,0+16,"Eroare") + Return + Else + *!* modificare ROARES v 2.0.11 + Local llContinua + llContinua = RECCOUNT(lcCursor)<>0 + If llContinua + LOCAL loFrmCnp + Private pnOptiuneCNPExistent, pnIdStat, pnIdSalariat, pnTip + Select (lcCursor) + Go Top + pnTip = tip + ldDataLicVeche = datalic && modificare ROARES v 2.0.7 + pnIdStat = id_stat + pnIdSalariat = id_salariat + Select id_stat,id_sal_ctr,contract,datactr From (lcCursor) Where tip = 1 Order By datactr Desc Into Cursor crsCtrTemp + *!* Select v_cnp1 + *!* ldDataLicVeche = datalic && modificare ROARES v 2.0.7 + *!* If Nvl(id_stat,0)>0 + pnOptiuneCNPExistent = IIF(pnTip = 2,3,1) + *!* modificare ROARES v 2.0.11 ^ + *!* modificare ROARES v 2.0.7 + *!* IF aMESSAGEBOX('Aceasta persoana a mai fost angajata! Doriti sa copiati datele vechi?',32+4,'Atentie')=6 + *!* modificare ROARES v 2.0.11 + *!* Private pnOptiuneCNPExistent + *!* pnOptiuneCNPExistent = 1 + *!* modificare ROARES v 2.0.11 ^ + loFrmCnp = Createobject("frm_optiuni_cnpexistent",ldDataLicVeche <> Date(1900,1,1),[crsCtrTemp]) + loFrmCnp.Show(1) + Release loFrmCnp + USE IN (SELECT('crsCtrTemp')) + If pnOptiuneCNPExistent <> 1 + *!* IF gnscrieregistru=0 + *!* SELECT v_cnp1 + *!* private lcidstat,lcdata + *!* lcidstat = id_stat + *!* lcdata = DATE() + *!* lcsql = [begin pack_personal.res_reangajare(?gcs,?lcIdStat,?lcdata); end;] + *!* lnSucces = goExecutor.oExecute(lcsql) + *!* If lnSucces < 0 + *!* aMessagebox(goExecutor.cEroare,0+16,"Eroare") + *!* ELSE + *!* *!* modificare ROASAL v 2.0.0 + *!* *!* thisform.do_readonly() + *!* Thisform.do_activeaza(.F.) + *!* *!* modificare ROASAL v 2.0.0 ^ + *!* thisform.actualizeaza_grid1([codpers=']+lcCnp+[']) + *!* SELECT v_personal + *!* LOCATE FOR id_stat=lcidstat + *!* thisform._GRID1.SetFocus() + *!* ENDIF + *!* ELSE + *!* modificare ROARES v 2.0.7 ^ + lcSQl = [{call pack_personal.cauta_date_angajat(?pnIdStat,?pnIdSalariat)}] + lcCursor = 'crsReangajare' + IF goExecutor.oExecuta(lcSQl,lcCursor) + Thisform.do_adauga() + Select crsReangajare + *!* modificare ROARES v 2.0.6 : am adaugat "MEMO" + lnMarca = popers.marca && modificare ROARES v 2.0.7 + Scatter Memo Name popers + Scatter Memo Name popers_orig && modificare v 2.0.0 + *!* modificare ROARES v 1.0.54 27.05.2011 + *!* modificare ROARES v 2.0.7 + *!* amessagebox("Doriti sa pastrati datele de mai jos pe noul contract? " + CRLF + ; + *!* " * marca" + CRLF + ; + *!* " * data angajarii" + CRLF + ; + *!* " * data terminarii contractului" + CRLF + ; + *!* " * data lichidarii" + CRLF + ; + *!* " * numar contract intern" + CRLF + ; + *!* " * data contract intern" + CRLF + ; + *!* " * numar contract ITM" + CRLF + ; + *!* " * data contract ITM",32+4,"Confirmare reangajare") + ADDPROPERTY(popers,'codcod',popers.cod) + ADDPROPERTY(popers_orig,'codcod',popers_orig.cod) + If Inlist(pnOptiuneCNPExistent,2,4) + *!* modificare ROARES v 2.0.7 ^ + With popers + .marca = .marca && modificare ROARES v 2.0.7 + .datactr = Ttod(.datactr) && modificare v 1.0.49 + .dataang=Ttod(.dataang) + .datalic = Null + .datasfctr=Ttod(.datasfctr) + .datactrm=Ttod(.datactrm) + .stare_contract = 1 + .oug114 = 2 && modificare ROARES v 2.0.7 + Endwith + *!* modificare ROARES v 2.0.6 + With popers_orig + .marca = .marca && modificare ROARES v 2.0.7 + .datactr = Ttod(.datactr) + .dataang=Ttod(.dataang) + .datalic=Ttod(.datalic) + .datasfctr=Ttod(.datasfctr) + .datactrm=Ttod(.datactrm) + *!* modificare ROARES v 2.0.7 - reactivare + If pnOptiuneCNPExistent = 2 + .stare_contract = 2 + Thisform.do_modifica_stare() + Else + .stare_contract = 0 + Endif + *!* modificare ROARES v 2.0.7 ^ + Endwith + *!* modificare ROARES v 2.0.6 ^ + Else + *!* modificare ROARES v 2.0.33 + If aMESSAGEBOX("Se pastreaza data incadrarii de pe vechiul contract?",4+32+256,"Confirmare data incadrare")=7 + popers.data_vech = {} + popers_orig.data_vech = {} + Endif + *!* modificare ROARES v 2.0.33 ^ + With popers + .marca = IIF(pnOptiuneCNPExistent = 3 and pnTip = 2,.marca,lnMarca) + && modificare ROARES v 2.0.11 + && modificare ROARES v 2.0.7 : lnMarca + .dataang = {} + .datasfctr = {} + .datalic = {} + .nrctr = Null + .datactr = {} + .nrctrmchr = Null + .datactrm = {} + *!* modificare ROARES v 2.0.6 + .stare_contract = 1 + .oug114 = 2 + Endwith + With popers_orig + .marca = IIF(pnOptiuneCNPExistent = 3 and pnTip = 2,.marca,lnMarca) + && modificare ROARES v 2.0.11 + && modificare ROARES v 2.0.7 : lnMarca + .dataang = {} + .datasfctr = {} + .datalic = {} + .nrctr = Null + .datactr = {} + .nrctrmchr = Null + .datactrm = {} + .stare_contract = 0 + Endwith + *!* modificare ROARES v 2.0.6 ^ + Endif + *!* popers.datactr = TTOD(datactr) && modificare v 1.0.49 + *!* popers.dataang=TTOD(dataang) + *!* popers.datalic=TTOD(datalic) + *!* popers.datasfctr=TTOD(datasfctr) + *!* popers.datactrm=TTOD(datactrm) + *!* modificare ROARES v 1.0.54 27.05.2011 ^ + Local lnpage + lnpage = Thisform.page1.ActivePage + Thisform.refresh_pagini(lnpage) + Use In crsReangajare + Endif + *!* ENDIF && modificare ROARES v 2.0.7 + Else + This.Value=0 + This.Refresh() + Endif + Release pnOptiuneCNPExistent, pnIdStat, pnIdSalariat, llContinua + Use In v_cnp1 + Endif + *!* Endif + Endif + If Thisform.cus_odata_opers1.cactiune = 'UPDATE' And gnEvaluareRevisal5 = 1 + Thisform.registru_unic(7) + Endif + + Endif + *!* Parameters tcselect,tcfiltru,tcschema,tcorder,tccoloana,tcTitlu,tcTitluColoana,tcNume_Proc,tl_AllInList,tcFiltruOriginal + + If Len(lcCnp)= 13 + lna = Round(Val(Substr(lcCnp,2,2)),0) + lnl = Round(Val(Substr(lcCnp ,4,2)),0) + lnz = Round(Val(Substr(lcCnp ,6,2)),0) + If (lnl >0 And lnl<13) And (lnz>0 And lnz<32) + If Inlist(Left(lcCnp,1),'1','2') + Thisform.page1.page1._txbase5.Value = Date(1900+lna,lnl,lnz) + Else + If Inlist(Left(lcCnp ,1),'5','6') + Thisform.page1.page1._txbase5.Value = Date(2000+lna,lnl,lnz) + Endif + Endif + Endif + Else + Thisform.page1.page1._txbase5.Value = {} + Endif + + Thisform.page1.page1._txbase5.Refresh + *!* modificare ROARES v 2.0.8 + Endif + *!* modificare ROARES v 2.0.8 ^ + ENDPROC + + PROCEDURE page1.Page10.But_nou1.LostFocus + + + ENDPROC + + PROCEDURE page1.Page10.gridAtasamente.Column1.Command1.Click + thisform.arata_linkuri + + ENDPROC + + PROCEDURE page1.Page10.Init + + + ENDPROC + + PROCEDURE page1.Page2.tx26.LostFocus + If Thisform.cus_odata_opers1.cactiune='UPDATE' + If This.ReadOnly = .F. ; + AND Month(popers.dataang)+Year(popers.dataang)*12 <> Month(popers_orig.dataang)+Year(popers_orig.dataang)*12 && modificare ROASAL v 2.0.0 + If Month(popers.dataang)+Year(popers.dataang)*12 <> gnLuna +gnAn*12 + aMESSAGEBOX('Data angajarii nu este din luna in curs!',0+48,'Atentie') + Endif + Endif + If gnEvaluareRevisal5 = 1 + *!* modificare ROARES v 1.0.49 + *!* thisform.registru_unic(5) + Thisform.registru_unic(3) + *!* modificare ROARES v 1.0.49 ^ + Endif + *!* modificare ROASAL v 2.0.20 + Else + If Month(popers.dataang)+Year(popers.dataang)*12 <> gnLuna +gnAn*12 + aMESSAGEBOX('Data angajarii nu este din luna in curs!',0+48,'Atentie') + Endif + *!* modificare ROASAL v 2.0.20 ^ + Endif + ENDPROC + + PROCEDURE page1.Page2.tx27.LostFocus + If Thisform.cus_odata_opers1.cactiune = 'UPDATE' And gnEvaluareRevisal5 = 1 + Thisform.registru_unic(3) + Endif + DoDefault() + + ENDPROC + + PROCEDURE page1.Page2.tx40.LostFocus + If Thisform.cus_odata_opers1.cactiune = 'UPDATE' And gnEvaluareRevisal5 = 1 + Thisform.registru_unic(3) + Endif + ENDPROC + + PROCEDURE page1.Page2.tx41.InteractiveChange + If popers.id_durata_munca = 3 + popers.fractie = This.Value + This.Parent.tx40.Refresh() + Endif + + ENDPROC + + PROCEDURE page1.Page2.tx43.LostFocus + *!* modificare v 2.0.9 ROARES + *!* If Thisform.cus_odata_opers1.cactiune = 'UPDATE' ; + *!* And ((popers.stare_contract = 2 And popers_orig.stare_contract <> 2) ; + *!* OR (popers.stare_contract = 1 AND popers_orig.stare_contract = 2)) ; + *!* AND gnEvaluareRevisal5 = 1 + *!* popers.datalic = popers.datainceputs + *!* Thisform.registru_unic(2) + *!* ENDIF + *!* IF gnEvaluareRevisal5 = 0 + *!* *!* modificare v 2.0.8 + *!* *!* Thisform.page1.page2.tx47.SetFocus() + *!* Thisform.page1.page2.ct_clb_temei.tx_cautare.SetFocus() + *!* *!* modificare v 2.0.8 ^ + *!* ENDIF + *!* modificare ROARES v 2.0.14 + *!* If Inlist(popers.stare_contract,1,2) + IF this.Parent.opt_stare_contract.Value = 2 AND (MONTH(this.Value) <> gnLuna OR YEAR(this.Value) <> gnAn) + MESSAGEBOX('Data lichidarii nu este din luna curenta!',0+16,'Atentie!') + RETURN + ENDIF + + If (popers.stare_contract = 1 And popers_orig.stare_contract = 2) Or ; + (popers.stare_contract = 2 And popers_orig.stare_contract = 1) + *!* modificare ROARES v 2.0.14 ^ + Thisform.page1.page2.ct_clb_temei.SetFocus() + Endif + *!* modificare v 2.0.9 ROARES ^ + + ENDPROC + + PROCEDURE page1.Page2.tx51.InteractiveChange + If this.Value = 1 + this.Parent.tx52.Visible = .t. + this.Parent.tx53.Visible = .t. + this.Parent.lb_simplu4.Visible = .t. + this.Parent.lb_simplu5.Visible = .t. + Else + this.Parent.tx52.Visible = .f. + this.Parent.tx53.Visible = .f. + this.Parent.lb_simplu4.Visible = .f. + this.Parent.lb_simplu5.Visible = .f. + EndIf + ENDPROC + + PROCEDURE page1.Page2.tx54.LostFocus + Do Case + Case popers.stare_contract = 3 + *!* modificare v 2.0.8 + *!* Thisform.page1.page2.tx47.SetFocus() + Thisform.page1.page2.ct_clb_temei.tx_cautare.SetFocus() + Case popers.stare_contract = 4 + *!* Thisform.page1.page2.tx48.SetFocus() + Thisform.page1.page2.ct_clb_detasatla.tx_cautare.SetFocus() + *!* modificare v 2.0.8 ^ + Otherwise + *!* nimic + Endcase + ENDPROC + + PROCEDURE page1.Page2.tx67.LostFocus + If Thisform.cus_odata_opers1.cactiune = 'UPDATE' And gnEvaluareRevisal5 = 1 + Thisform.registru_unic(5) + Thisform.page1.page8.tx67.Refresh() + Endif + If Thisform.cus_odata_opers1.cactiune = 'INSERT' And gnAn * 12 + gnLuna >= 2011 * 12 + 8 + Thisform.page1.page8.tx67.Refresh() + Endif + ENDPROC + + PROCEDURE page1.Page2.tx68.LostFocus + If Thisform.cus_odata_opers1.cactiune = 'UPDATE' And gnEvaluareRevisal5 = 1 + Thisform.registru_unic(5) + Thisform.page1.page8.tx68.Refresh() + ENDIF + If Thisform.cus_odata_opers1.cactiune = 'INSERT' And gnAn * 12 + gnLuna >= 2011 * 12 + 8 + Thisform.page1.page8.tx68.Refresh() + Endif + ENDPROC + + PROCEDURE page1.Page2.tx69.LostFocus + If Thisform.cus_odata_opers1.cactiune = 'UPDATE' And gnEvaluareRevisal5 = 1 + Thisform.registru_unic(5) + Endif + *!* modificare ROASAL v 2.0.20 + If Thisform.cus_odata_opers1.cactiune = 'INSERT' And gnAn * 12 + gnLuna >= 2011 * 12 + 8 + popers.nrctrmchr = STR(popers.nrctr) + Thisform.page1.page8.tx67.Refresh() + Thisform.page1.page2.tx67.Refresh() + Endif + *!* modificare ROASAL v 2.0.20 ^ + ENDPROC + + PROCEDURE page1.Page2.tx70.LostFocus + If Thisform.cus_odata_opers1.cactiune = 'UPDATE' And gnEvaluareRevisal5 = 1 + Thisform.registru_unic(5) + Endif + *!* modificare ROASAL v 2.0.20 + If Thisform.cus_odata_opers1.cactiune = 'INSERT' And gnAn * 12 + gnLuna >= 2011 * 12 + 8 + popers.datactrm = popers.datactr + Thisform.page1.page8.tx68.Refresh() + Thisform.page1.page2.tx68.Refresh() + Endif + *!* modificare ROASAL v 2.0.20 ^ + ENDPROC + + PROCEDURE page1.Page3.txcopii.LostFocus + thisform.KeyPress(-3,0) + ENDPROC + + PROCEDURE page1.Page7.tx56.LostFocus + this.Parent.cmd_executa2.Click + ENDPROC + + PROCEDURE page1.Page7.tx58.LostFocus + IF !EMPTY(this.Value) + this.Parent.tx59.Value = FLOOR(this.Value/12) + this.Parent.tx60.Value = MOD(this.Value,12) + ELSE + this.Parent.tx59.Value=0 + this.Parent.tx60.Value=0 + ENDIF + thisform.co_calculcoefvechime + ENDPROC + + PROCEDURE page1.Page7.tx59.LostFocus + IF !EMPTY(this.Value) + this.Parent.tx58.Value = this.Value*12+this.Parent.tx60.Value + ELSE + this.Parent.tx58.Value = this.Parent.tx60.Value + ENDIF + *!* this.Parent.cmd_executa2.Click + thisform.co_calculcoefvechime + ENDPROC + + PROCEDURE page1.Page7.tx60.LostFocus + IF !EMPTY(this.Value) + this.Parent.tx58.Value = this.Parent.tx59.Value*12+this.value + ELSE + this.Parent.tx58.Value = this.Parent.tx59.Value*12 + ENDIF + *!* this.Parent.cmd_executa2.Click + thisform.co_calculcoefvechime + ENDPROC + + PROCEDURE page1.Page7.tx61.LostFocus + IF !EMPTY(this.Value) + this.Parent.tx62.Value = FLOOR(this.Value/12) + this.Parent.tx63.Value = MOD(this.Value,12) + ELSE + this.Parent.tx62.Value=0 + this.Parent.tx63.Value=0 + ENDIF + thisform.co_calculcoefvechime + ENDPROC + + PROCEDURE page1.Page7.tx62.LostFocus + IF !EMPTY(this.Value) + this.Parent.tx61.Value = this.Value*12+this.Parent.tx63.Value + ELSE + this.Parent.tx61.Value = this.Parent.tx63.Value + ENDIF + *!* this.Parent.cmd_executa2.Click + thisform.co_calculcoefvechime + ENDPROC + + PROCEDURE page1.Page7.tx63.LostFocus + IF !EMPTY(this.Value) + this.Parent.tx61.Value = this.Parent.tx62.Value*12+this.value + ELSE + this.Parent.tx61.Value = this.Parent.tx62.Value*12 + ENDIF + *!* this.Parent.cmd_executa2.Click + thisform.co_calculcoefvechime + ENDPROC + + PROCEDURE page1.Page8.tx65.LostFocus + If Thisform.cus_odata_opers1.cactiune = 'UPDATE' And gnEvaluareRevisal5 = 1 + Thisform.registru_unic(7) + Endif + ENDPROC + + PROCEDURE page1.Page8.tx66.LostFocus + If Thisform.cus_odata_opers1.cactiune = 'UPDATE' And gnEvaluareRevisal5 = 1 + Thisform.registru_unic(7) + Endif + ENDPROC + + PROCEDURE page1.Page8.tx67.LostFocus + If Thisform.cus_odata_opers1.cactiune = 'UPDATE' And gnEvaluareRevisal5 = 1 + Thisform.registru_unic(5) + Endif + + ENDPROC + + PROCEDURE page1.Page8.tx68.LostFocus + If Thisform.cus_odata_opers1.cactiune = 'UPDATE' And gnEvaluareRevisal5 = 1 + Thisform.registru_unic(5) + Endif + ENDPROC + + PROCEDURE page1.Page8.tx69.LostFocus + If Thisform.cus_odata_opers1.cactiune = 'UPDATE' And gnEvaluareRevisal5 = 1 + Thisform.registru_unic(5) + Endif + *!* modificare ROASAL v 2.0.20 + If Thisform.cus_odata_opers1.cactiune = 'INSERT' And gnAn * 12 + gnLuna >= 2011 * 12 + 8 + popers.nrctrm = STR(popers.nrctr) + Thisform.page1.page8.tx67.Refresh() + Endif + *!* modificare ROASAL v 2.0.20 ^ + ENDPROC + + PROCEDURE page1.Page8.tx70.LostFocus + If Thisform.cus_odata_opers1.cactiune = 'UPDATE' And gnEvaluareRevisal5 = 1 + Thisform.registru_unic(5) + Endif + *!* modificare ROASAL v 2.0.20 + If Thisform.cus_odata_opers1.cactiune = 'INSERT' And gnAn * 12 + gnLuna >= 2011 * 12 + 8 + popers.datactrm = popers.datactr + Thisform.page1.page8.tx68.Refresh() + Endif + *!* modificare ROASAL v 2.0.20 ^ + ENDPROC + + PROCEDURE _GRID1.AfterRowColChange + Lparameters nColIndex + + Local lnSecolulAnterior, lnSecolulCurent, lna, lnl, lnpage, lnz, ldDataNastere + *:Global popers, popers_orig + If Thisform.but_nou1.Visible = .F. ; + And !glLunaInchisa && modificare ROASAL v 2.0.14 + Nodefault + Return + Endif + + lnSecolulCurent = Int(Val(Substr(Alltrim(Str(Year(Date()))), 1, 2))) && 20 + lnSecolulAnterior = m.lnSecolulCurent - 1 + + Select v_personal + *!* modificare ROARES v 2.0.6 : am adaugat "MEMO" + Scatter Memo Name popers + Scatter Memo Name popers_orig && modificare ROASAL v 2.0.0 + m.ldDataNastere = {} + If Len(Alltrim(popers.codpers)) = 13 + lna = Val(Substr(Alltrim(popers.codpers), 2, 2)) + lnl = Val(Substr(Alltrim(popers.codpers), 4, 2)) + lnz = Val(Substr(Alltrim(popers.codpers), 6, 2)) + + If (lnl > 0 And lnl < 13) And (lnz > 0 And lnz < 32) + If Inlist(Left(Alltrim(popers.codpers), 1), '1', '2') + ldDataNastere = Date(1900 + lna, lnl, lnz) + Else + If Inlist(Left(Alltrim(popers.codpers), 1), '5', '6') + ldDataNastere = Date(2000 + lna, lnl, lnz) + Else + If m.lna < Val(Substr(Str(Year(Date())), 3, 2)) + ldDataNastere = Date(m.lnSecolulCurent * 100 + lna, lnl, lnz) + Else + ldDataNastere = Date(m.lnSecolulAnterior * 100 + lna, lnl, lnz) + Endif + ENDIF && inlist(5,6) + ENDIF && inlist (1,2) + ENDIF && ln1 + ENDIF && 13 + + Thisform.page1.page1._txbase5.Value = m.ldDataNastere + + Thisform.eticheta(popers.marca, popers.nume, popers.prenume) + lnpage = Thisform.page1.ActivePage &&nr paginii active + Thisform.refresh_pagini(lnpage) &&refresh pagina + Select v_personal + DoDefault(nColIndex) + + ENDPROC + + PROCEDURE _GRID1.BeforeRowColChange + LPARAMETERS nColIndex + + If thisform.but_nou1.Visible=.f. ; + AND !glLunaInchisa && modificare ROASAL v 2.0.14 + If aMessagebox('Alegand alta persoana modificarile facute se vor pierde!'+Chr(13) + 'Doriti sa reveniti?',4+48,'Atentie!')=6 + *!* Thisform.page1.page1.tx1.SetFocus() + Nodefault + Return + Else + *!* modificare ROASAL v 2.0.0 + *!* thisform.do_readonly() + Thisform.do_activeaza(.F.) + *!* modificare ROASAL v 2.0.0 ^ + DoDefault(nColIndex) + Endif + Endif + SELECT v_personal + ENDPROC + + PROCEDURE _GRID1.Column2.Header1.DblClick + thisform.corder(this.Parent.ControlSource) + ENDPROC + + PROCEDURE _GRID1.Column3.Header1.DblClick + thisform.corder(this.Parent.ControlSource) + ENDPROC + + PROCEDURE _GRID1.Column5.Header1.DblClick + thisform.corder(this.Parent.ControlSource) + ENDPROC + + PROCEDURE _GRID1.Column5.Text1.GotFocus + *!* modificare ROARES v 2.0.21 + DODEFAULT() + *!* *!* this.ReadOnly= .F. + *!* thisform.do_col_gotfocus(this.Value) + *!* *!* SELECT v_personal + *!* *!* Thisform.nsumainitial=this.Value + *!* *!* Thisform.nsumamodif =this.Value + *!* modificare ROARES v 2.0.21 ^ + ENDPROC + + PROCEDURE _GRID1.Column5.Text1.InteractiveChange + *!* modificare ROARES v 2.0.21 + DODEFAULT() + *!* thisform.do_col_interactivechange(this.Value) + *!* *!* this.ReadOnly= .F. + *!* *!* MESSAGEBOX(this.ReadOnly) + *!* *!* Thisform.nsumamodif=this.Value + *!* *!* Thisform.lsalvat=.F. + *!* modificare ROARES v 2.0.21 ^ + ENDPROC + + PROCEDURE _GRID1.Column5.Text1.Valid + *!* modificare ROARES v 2.0.21 + DoDefault() + *!* thisform.do_col_valid() + *!* modificare ROARES v 2.0.21 ^ + ENDPROC + + PROCEDURE _GRID1.Column6.Header1.DblClick + thisform.corder(this.Parent.ControlSource) + ENDPROC + + PROCEDURE _shape1.DblClick + + IF thisform.WindowState= 2 + thisform.WindowState = 0 + ELSE + thisform.WindowState= 2 + ENDIF + + ENDPROC + +ENDDEFINE + +DEFINE CLASS frm_optiuni_cnpexistent AS formtermin OF "_frm_base.vcx" + *< CLASSDATA: Baseclass="form" Timestamp="" Scale="Pixels" Uniqueid="" /> + + *-- OBJECTDATA items order determines ZOrder / El orden de los items OBJECTDATA determina el ZOrder + *< OBJECTDATA: ObjPath="_optiongrup1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="Lb_simplu1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="cb_contracte" UniqueID="" Timestamp="" /> + + * + *p: ccursor + * + + * + ccursor = + DoCreate = .T. + Height = 145 + Name = "frm_optiuni_cnpexistent" + Width = 423 + _memberdata = + + + _shape1.Height = 29 + _shape1.Left = 0 + _shape1.Name = "_shape1" + _shape1.Top = 0 + _shape1.Width = 420 + _shape2.Height = 29 + _shape2.Left = 384 + _shape2.Name = "_shape2" + _shape2.Top = 0 + _shape2.Width = 39 + Lb_titlu_alb_b121.Caption = "Angajat existent în baza de date" + Lb_titlu_alb_b121.Name = "Lb_titlu_alb_b121" + Lb_titlu_alb_b121.TabIndex = 5 + BUT_TERMIN1.Left = 390 + BUT_TERMIN1.Name = "BUT_TERMIN1" + BUT_TERMIN1.TabIndex = 3 + BUT_TERMIN1.Top = 1 + Gridsort1.Name = "Gridsort1" + * + + ADD OBJECT '_optiongrup1' AS _optiongrup WITH ; + AutoSize = .F., ; + ButtonCount = 4, ; + ControlSource = "pnOptiuneCNPExistent", ; + Height = 84, ; + Left = 31, ; + Name = "_optiongrup1", ; + TabIndex = 1, ; + Top = 48, ; + Width = 361, ; + Option1.AutoSize = .T., ; + Option1.Caption = "Nu se copiazã datele vechi ( angajat nou )", ; + Option1.FontCharSet = 238, ; + Option1.Left = 5, ; + Option1.Name = "Option1", ; + Option1.TabIndex = 1, ; + Option1.Top = 5, ; + Option2.AutoSize = .T., ; + Option2.Caption = "Reactivare în baza unui temei legal", ; + Option2.FontCharSet = 238, ; + Option2.Left = 5, ; + Option2.Name = "Option2", ; + Option2.TabIndex = 2, ; + Option2.Top = 24, ; + Option3.AutoSize = .T., ; + Option3.BackStyle = 0, ; + Option3.Caption = "Reangajare / Contract nou pe salariat existent", ; + Option3.FontCharSet = 238, ; + Option3.Height = 17, ; + Option3.Left = 5, ; + Option3.Name = "Option3", ; + Option3.TabIndex = 3, ; + Option3.Top = 43, ; + Option3.Width = 268, ; + Option4.AutoSize = .T., ; + Option4.BackStyle = 0, ; + Option4.Caption = "Se copiazã datele vechi ( corecþie )", ; + Option4.FontCharSet = 238, ; + Option4.Height = 17, ; + Option4.Left = 5, ; + Option4.Name = "Option4", ; + Option4.TabIndex = 4, ; + Option4.Top = 62, ; + Option4.Width = 206 + *< END OBJECT: ClassLib="_baza.vcx" BaseClass="optiongroup" /> + + ADD OBJECT 'cb_contracte' AS _cbbase WITH ; + BoundTo = .T., ; + Height = 24, ; + Left = 252, ; + Name = "cb_contracte", ; + Top = 108, ; + Visible = .F., ; + Width = 134 + *< END OBJECT: ClassLib="_cb_base.vcx" BaseClass="combobox" /> + + ADD OBJECT 'Lb_simplu1' AS lb_simplu WITH ; + Caption = "Persoana cu acest CNP a mai fost angajatã în firmã. Alegeþi o opþiune :", ; + Left = 13, ; + Name = "Lb_simplu1", ; + TabIndex = 6, ; + Top = 34 + *< END OBJECT: ClassLib="lb.vcx" BaseClass="label" /> + + PROCEDURE inainte_de_do_termin + If Inlist(pnOptiuneCNPExistent,2,4) + Select (This.cCursor) + pnIdStat = id_stat + Else + pnIdStat = Null + Endif + ENDPROC + + PROCEDURE Init + Lparameters tlLichidat,tcCursor + DoDefault() + *!* modificare ROARES v 2.0.11 : in caz ca pnOptiuneCNPExistent nu e 1, atunci inseamna + *!* ca nu l-am gasit in lunile anterioare, ci doar in luna curenta in sal_personal ( adica + *!* a fost introdus o data, a fost sters si acum se incearca adaugarea lui ) + *!* Thisform._optiongrup1.Buttons[2].Enabled = tlLichidat && daca nu are data lich. pe ctr. vechi, atunci nu poate fi reactivare + If pnOptiuneCNPExistent = 1 + Thisform._optiongrup1.Buttons[2].Enabled = tlLichidat && daca nu are data lich. pe ctr. vechi, atunci nu poate fi reactivare + Else + Thisform._optiongrup1.Buttons[2].Enabled = .F. + Thisform._optiongrup1.Buttons[4].Enabled = .F. + Thisform._optiongrup1.Buttons[3].Caption = [Se copiazã doar datele angajatului] + Endif + If !Empty(tcCursor) + Thisform.cCursor = tcCursor + If Reccount(Thisform.cCursor) > 0 + Thisform.cb_contracte.RowSource = Thisform.cCursor + [.contract] + Thisform.cb_contracte.RowSourceType = 6 + Thisform.cb_contracte.Value = Evaluate(Thisform.cCursor + [.contract]) && modificare ROARES v 2.0.33 + Endif + Endif + *!* modificare ROARES v 2.0.11 ^ + + ENDPROC + + PROCEDURE KeyPress + Lparameters nKeyCode, nShiftAltCtrl + If nKeyCode=6 And nShiftAltCtrl=2 && CTRL + F + Nodefault + This.do_termin() + Else + Nodefault + Endif + ENDPROC + + PROCEDURE _optiongrup1.InteractiveChange + Do Case + Case This.Value = 2 + Thisform.cb_contracte.Visible = .T. + Thisform.cb_contracte.Top = 69 + Case This.Value = 4 + Thisform.cb_contracte.Visible = .T. + Thisform.cb_contracte.Top = 108 + Otherwise + Thisform.cb_contracte.Visible = .F. + Endcase + ENDPROC + +ENDDEFINE + +DEFINE CLASS frm_redeschidere AS frm_termin_renunt OF "_frm_child.vcx" + *< CLASSDATA: Baseclass="form" Timestamp="" Scale="Pixels" Uniqueid="" /> + + *-- OBJECTDATA items order determines ZOrder / El orden de los items OBJECTDATA determina el ZOrder + *< OBJECTDATA: ObjPath="redOpt" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="page_detalii" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="page_detalii.Page1._checkbox1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="page_detalii.Page1._checkbox2" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="page_detalii.Page1._checkbox3" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="page_detalii.Page1._checkbox4" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="page_detalii.Page1._checkbox5" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="page_detalii.Page1._checkbox6" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="page_detalii.Page1._checkbox7" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="page_detalii.Page1._checkbox8" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="page_detalii.Page1._checkbox9" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="page_detalii.Page2.Lb_simplu1" UniqueID="" Timestamp="" /> + + * + BorderStyle = 3 + DoCreate = .T. + Height = 302 + Name = "frm_redeschidere" + Width = 375 + _shape1.Name = "_shape1" + _shape2.Height = 29 + _shape2.Left = 313 + _shape2.Name = "_shape2" + _shape2.Top = 0 + _shape2.Width = 58 + Lb_titlu_alb_b121.Caption = "Redeschidere de luna" + Lb_titlu_alb_b121.Name = "Lb_titlu_alb_b121" + BUT_TERMIN1.Name = "BUT_TERMIN1" + Gridsort1.Name = "Gridsort1" + But_renunt1.Name = "But_renunt1" + * + + ADD OBJECT 'page_detalii' AS _pageframe WITH ; + ActivePage = 2, ; + ErasePage = .T., ; + Height = 258, ; + Left = 125, ; + Name = "page_detalii", ; + PageCount = 2, ; + TabOrientation = 0, ; + Tabs = .T., ; + TabStretch = 1, ; + TabStyle = 0, ; + Top = 39, ; + Width = 247, ; + Page1.BackColor = 242,240,238, ; + Page1.Caption = "Suprascriere", ; + Page1.Name = "Page1", ; + Page2.BackColor = 242,240,238, ; + Page2.Caption = "Completare", ; + Page2.Name = "Page2" + *< END OBJECT: ClassLib="_baza.vcx" BaseClass="pageframe" /> + + ADD OBJECT 'page_detalii.Page1._checkbox1' AS _checkbox WITH ; + Alignment = 0, ; + Caption = "State", ; + ControlSource = "taOpt[2]", ; + Left = 6, ; + Name = "_checkbox1", ; + Top = 14 + *< END OBJECT: ClassLib="_baza.vcx" BaseClass="checkbox" /> + + ADD OBJECT 'page_detalii.Page1._checkbox2' AS _checkbox WITH ; + Alignment = 0, ; + Caption = "Pontaje", ; + ControlSource = "taOpt[3]", ; + Left = 6, ; + Name = "_checkbox2", ; + Top = 38 + *< END OBJECT: ClassLib="_baza.vcx" BaseClass="checkbox" /> + + ADD OBJECT 'page_detalii.Page1._checkbox3' AS _checkbox WITH ; + Alignment = 0, ; + Caption = "Persoane in intretinere", ; + ControlSource = "taOpt[4]", ; + Left = 6, ; + Name = "_checkbox3", ; + Top = 62 + *< END OBJECT: ClassLib="_baza.vcx" BaseClass="checkbox" /> + + ADD OBJECT 'page_detalii.Page1._checkbox4' AS _checkbox WITH ; + Alignment = 0, ; + Caption = "Popriri", ; + ControlSource = "taOpt[5]", ; + Left = 6, ; + Name = "_checkbox4", ; + Top = 86 + *< END OBJECT: ClassLib="_baza.vcx" BaseClass="checkbox" /> + + ADD OBJECT 'page_detalii.Page1._checkbox5' AS _checkbox WITH ; + Alignment = 0, ; + Caption = "Sporuri", ; + ControlSource = "taOpt[6]", ; + Left = 6, ; + Name = "_checkbox5", ; + Top = 110 + *< END OBJECT: ClassLib="_baza.vcx" BaseClass="checkbox" /> + + ADD OBJECT 'page_detalii.Page1._checkbox6' AS _checkbox WITH ; + Alignment = 0, ; + Caption = "Concedii de odihna", ; + ControlSource = "taOpt[7]", ; + Left = 6, ; + Name = "_checkbox6", ; + Top = 134 + *< END OBJECT: ClassLib="_baza.vcx" BaseClass="checkbox" /> + + ADD OBJECT 'page_detalii.Page1._checkbox7' AS _checkbox WITH ; + Alignment = 0, ; + Caption = "Pensie alimentara", ; + ControlSource = "taOpt[8]", ; + Left = 6, ; + Name = "_checkbox7", ; + Top = 161 + *< END OBJECT: ClassLib="_baza.vcx" BaseClass="checkbox" /> + + ADD OBJECT 'page_detalii.Page1._checkbox8' AS _checkbox WITH ; + Alignment = 0, ; + Caption = "Concedii medicale", ; + ControlSource = "taOpt[9]", ; + Left = 6, ; + Name = "_checkbox8", ; + Top = 185 + *< END OBJECT: ClassLib="_baza.vcx" BaseClass="checkbox" /> + + ADD OBJECT 'page_detalii.Page1._checkbox9' AS _checkbox WITH ; + Alignment = 0, ; + Caption = "Concedii evenimente speciale", ; + ControlSource = "taOpt[10]", ; + Left = 6, ; + Name = "_checkbox9", ; + Top = 208 + *< END OBJECT: ClassLib="_baza.vcx" BaseClass="checkbox" /> + + ADD OBJECT 'page_detalii.Page2.Lb_simplu1' AS lb_simplu WITH ; + Caption = "Se vor prelua persoanele care exista in luna anterioara si nu apar in luna in care se face redeschiderea.", ; + Height = 47, ; + Left = 6, ; + Name = "Lb_simplu1", ; + Top = 17, ; + Width = 223, ; + WordWrap = .T. + *< END OBJECT: ClassLib="lb.vcx" BaseClass="label" /> + + ADD OBJECT 'redOpt' AS _optiongrup WITH ; + AutoSize = .F., ; + ButtonCount = 2, ; + ControlSource = "taOpt[1]", ; + Height = 51, ; + Left = 6, ; + Name = "redOpt", ; + Top = 105, ; + Value = 2, ; + Width = 116, ; + Option1.AutoSize = .T., ; + Option1.Caption = "Cu suprascriere", ; + Option1.Left = 5, ; + Option1.Name = "Option1", ; + Option1.Top = 5, ; + Option1.Value = 0, ; + Option2.AutoSize = .T., ; + Option2.Caption = "Cu completare", ; + Option2.Left = 5, ; + Option2.Name = "Option2", ; + Option2.Top = 24, ; + Option2.Value = 1 + *< END OBJECT: ClassLib="_baza.vcx" BaseClass="optiongroup" /> + + PROCEDURE Init + PARAMETERS taOpt + + DODEFAULT() + ENDPROC + + PROCEDURE page_detalii.Page1.Activate + thisform.redOpt.Value=1 + + ENDPROC + + PROCEDURE page_detalii.Page2.Activate + + thisform.redOpt.Value=2 + + ENDPROC + + PROCEDURE redOpt.InteractiveChange + IF this.Value=1 + thisform.page_detalii.page1.SetFocus + ELSE + thisform.page_detalii.page2.SetFocus + ENDIF + ENDPROC + +ENDDEFINE + +DEFINE CLASS frm_salvare_opersonal AS formtermin OF "_frm_base.vcx" + *< CLASSDATA: Baseclass="form" Timestamp="" Scale="Pixels" Uniqueid="" /> + + *-- OBJECTDATA items order determines ZOrder / El orden de los items OBJECTDATA determina el ZOrder + *< OBJECTDATA: ObjPath="_optiongrup1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="Lb_simplu1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="Clb_dataconsemnare" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="BUT_RENUNT1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="Clb_tx_simplu1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="Clb_tx_simplu2" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="Ct_clb_cautare1" UniqueID="" Timestamp="" /> + + * + *m: do_alege_tipact + * + + * + BorderStyle = 3 + DoCreate = .T. + Height = 240 + Name = "frm_salvare_opersonal" + Width = 423 + _shape1.Height = 29 + _shape1.Left = 0 + _shape1.Name = "_shape1" + _shape1.Top = 0 + _shape1.Width = 420 + _shape2.Height = 29 + _shape2.Left = 357 + _shape2.Name = "_shape2" + _shape2.Top = 0 + _shape2.Width = 66 + Lb_titlu_alb_b121.Caption = "Salvare date contract" + Lb_titlu_alb_b121.Name = "Lb_titlu_alb_b121" + Lb_titlu_alb_b121.TabIndex = 8 + BUT_TERMIN1.Left = 391 + BUT_TERMIN1.Name = "BUT_TERMIN1" + BUT_TERMIN1.TabIndex = 6 + BUT_TERMIN1.Top = 1 + Gridsort1.Name = "Gridsort1" + * + + ADD OBJECT '_optiongrup1' AS _optiongrup WITH ; + ButtonCount = 3, ; + ControlSource = "popers.tip_modificare", ; + Left = 292, ; + Name = "_optiongrup1", ; + TabIndex = 1, ; + Top = 33, ; + Option1.AutoSize = .T., ; + Option1.Caption = "Fãrã scriere", ; + Option1.FontCharSet = 238, ; + Option1.Left = 5, ; + Option1.Name = "Option1", ; + Option1.Top = 5, ; + Option2.AutoSize = .T., ; + Option2.Caption = "Corecþie", ; + Option2.FontCharSet = 238, ; + Option2.Left = 5, ; + Option2.Name = "Option2", ; + Option2.Top = 24, ; + Option3.AutoSize = .T., ; + Option3.BackStyle = 0, ; + Option3.Caption = "Modificare", ; + Option3.Height = 17, ; + Option3.Left = 5, ; + Option3.Name = "Option3", ; + Option3.Top = 43, ; + Option3.Width = 74 + *< END OBJECT: ClassLib="_baza.vcx" BaseClass="optiongroup" /> + + ADD OBJECT 'BUT_RENUNT1' AS but_renunt WITH ; + Left = 360, ; + Name = "BUT_RENUNT1", ; + TabIndex = 7, ; + Top = 1 + *< END OBJECT: ClassLib="cmd_butoane.vcx" BaseClass="commandbutton" /> + + ADD OBJECT 'Clb_dataconsemnare' AS clb_tx_simplu WITH ; + Left = 6, ; + Name = "Clb_dataconsemnare", ; + TabIndex = 2, ; + Top = 106, ; + Visible = .F., ; + Width = 402, ; + Text_simplu1.ControlSource = "popers.dataconsemnare", ; + Text_simplu1.Left = 317, ; + Text_simplu1.Name = "Text_simplu1", ; + Text_simplu1.Width = 77, ; + Lb_simplu1.Caption = "Data de la care se produc efectele ( data consemnare )", ; + Lb_simplu1.Height = 17, ; + Lb_simplu1.Left = 8, ; + Lb_simplu1.Name = "Lb_simplu1", ; + Lb_simplu1.Width = 301, ; + Lb_simplu1.WordWrap = .T. + *< END OBJECT: ClassLib="lb_tx.vcx" BaseClass="container" /> + + ADD OBJECT 'Clb_tx_simplu1' AS clb_tx_simplu WITH ; + Left = 6, ; + Name = "Clb_tx_simplu1", ; + TabIndex = 3, ; + Top = 146, ; + Visible = .T., ; + Text_simplu1.ControlSource = "popers.nractmodif", ; + Text_simplu1.Name = "Text_simplu1", ; + Lb_simplu1.Caption = "Nr. document", ; + Lb_simplu1.Name = "Lb_simplu1" + *< END OBJECT: ClassLib="lb_tx.vcx" BaseClass="container" /> + + ADD OBJECT 'Clb_tx_simplu2' AS clb_tx_simplu WITH ; + Left = 6, ; + Name = "Clb_tx_simplu2", ; + TabIndex = 4, ; + Top = 174, ; + Visible = .T., ; + Text_simplu1.ControlSource = "popers.dataactmodif", ; + Text_simplu1.Name = "Text_simplu1", ; + Lb_simplu1.Caption = "Data document", ; + Lb_simplu1.Name = "Lb_simplu1" + *< END OBJECT: ClassLib="lb_tx.vcx" BaseClass="container" /> + + ADD OBJECT 'Ct_clb_cautare1' AS ct_clb_cautare WITH ; + cconditie = empty(popers.id_tipact), ; + cprocedura = thisform.do_alege_tipact, ; + cvar_afisata = popers.tipactmodif, ; + Left = 5, ; + Name = "Ct_clb_cautare1", ; + TabIndex = 5, ; + Top = 201, ; + Visible = .T., ; + img_cautare.Name = "img_cautare", ; + clb_tx_cautare.Lb_simplu1.Caption = "Tip document", ; + clb_tx_cautare.Lb_simplu1.Name = "Lb_simplu1", ; + clb_tx_cautare.Name = "clb_tx_cautare", ; + clb_tx_cautare.Text_simplu1.ControlSource = "", ; + clb_tx_cautare.Text_simplu1.Height = 23, ; + clb_tx_cautare.Text_simplu1.Left = 102, ; + clb_tx_cautare.Text_simplu1.Name = "Text_simplu1", ; + clb_tx_cautare.Text_simplu1.Top = 3, ; + clb_tx_cautare.Text_simplu1.Width = 205 + *< END OBJECT: ClassLib="caut_ora.vcx" BaseClass="container" /> + + ADD OBJECT 'Lb_simplu1' AS lb_simplu WITH ; + Caption = "Tip operaþie registru electronic al salariaþilor", ; + Left = 39, ; + Name = "Lb_simplu1", ; + TabIndex = 9, ; + Top = 34 + *< END OBJECT: ClassLib="lb.vcx" BaseClass="label" /> + + PROCEDURE do_alege_tipact + pcselect = [select id_act,nume_act from sal_nom_acte] + + pcfiltruOriginal = [sters = 0] + pcfiltru = [1=1] + pcorder = [nume_act] + pccoloane = [nume_act,id_act] + pcTitlu = [Tipuri documente] + pcTitluColoane = [Tip document,Id] + + loHash=gethash() + loHash.setvalue('cSelect',pcselect) + loHash.setvalue('cFiltru',pcfiltru) + loHash.setvalue('cOrder',pcorder) + loHash.setvalue('cColoana',pccoloane) + loHash.setvalue('cTitlu',pcTitlu) + loHash.setvalue('cTitluColoana',pcTitluColoane) + loHash.setvalue('cFiltruOriginal',pcfiltruOriginal) + loCauta = cauta_alfa_hash(lohash) + + IF !EMPTY(locauta.id_act) + popers.tipactmodif = loCauta.nume_act + popers.id_tipact = loCauta.id_act + this.Refresh + ENDIF + ENDPROC + + PROCEDURE inainte_de_do_termin + Local llReturn + llReturn = .F. + Do Case + Case popers.tip_modificare <> 1 And Empty(Nvl(popers.dataconsemnare,{})) + amessagebox("Nu ati completat data de la care se produc efectele!",48,"Atentie") + Thisform.clb_dataconsemnare.text_simplu1.SetFocus() + *!* modificare ROARES v 2.0.14 + *!* modificare ROADEFSALARII : v 2.0.3 - pot sa pun o data din luna curenta sau din luna urmatoare ( pentru sporuri ) + *!* modificare ROARES v 2.0.21 : pot sa pun si ultima zi din luna anterioara ( pentru angajari incepand cu 01 ) + *!* modificare ROARES v 2.0.23 : pot sa pun orice zi din luna anterioara + Case popers.tip_modificare <> 1 And !Between(popers.dataconsemnare,Gomonth(Date(gnAn,gnLuna,1),-1),Gomonth(Date(gnAn,gnLuna,1),2)-1) + amessagebox("Data de la care se produc efectele trebuie sa fie din intervalul " + ; + Padl(Alltrim(Str(Month(Gomonth(Date(gnAn,gnLuna,1),-1)))),2,[0]) + "/" + ; + ALLTRIM(Str(Year(Gomonth(Date(gnAn,gnLuna,1),-1)))) + " - " + ; + Padl(Alltrim(Str(Month(Gomonth(Date(gnAn,gnLuna,1),2)))),2,[0]) + "/" + ; + ALLTRIM(Str(Year(Gomonth(Date(gnAn,gnLuna,1),2)))) + " !",48,"Atentie") + Thisform.clb_dataconsemnare.text_simplu1.SetFocus() + *!* modificare ROARES v 2.0.14 ^ + CASE popers.tip_modificare = 3 And EMPTY(popers.tipactmodif) + amessagebox("Nu ati ales tipul documentului!",48,"Atentie") + Thisform.ct_clb_cautare1.CLB_TX_CAUTARE.text_simplu1.SetFocus() + CASE popers.tip_modificare = 3 And EMPTY(popers.nractmodif) + amessagebox("Nu ati completat numarul documentului!",48,"Atentie") + Thisform.clb_tx_simplu1.text_simplu1.SetFocus() + CASE popers.tip_modificare = 3 And EMPTY(popers.dataactmodif) + amessagebox("Nu ati completat data documentului!",48,"Atentie") + Thisform.clb_tx_simplu2.text_simplu1.SetFocus() + Otherwise + llReturn = .T. + Endcase + Return llReturn + ENDPROC + + PROCEDURE Init + Lparameters tlRestrans + If tlRestrans + Thisform._optiongrup1.option1.Enabled = .F. + Thisform._optiongrup1.Value = Iif(popers.tip_modificare=1,3,popers.tip_modificare) + Thisform.Clb_dataconsemnare.Visible = .T. + Endif + + ENDPROC + + PROCEDURE _optiongrup1.InteractiveChange + If Inlist(This.Value,2,3) + Thisform.Clb_dataconsemnare.Visible = .T. + + Else + popers.dataconsemnare = {} + Thisform.Clb_dataconsemnare.Visible = .F. + ENDIF + *!* IF this.Value = 3 + *!* thisform.clb_tx_simplu1.Visible = .t. + *!* thisform.clb_tx_simplu2.Visible = .t. + *!* thisform.ct_clb_cautare1.Visible= .t. + *!* ELSE + *!* thisform.clb_tx_simplu1.Visible = .f. + *!* thisform.clb_tx_simplu2.Visible = .f. + *!* thisform.ct_clb_cautare1.Visible= .f. + *!* ENDIF + ENDPROC + +ENDDEFINE + +DEFINE CLASS frm_stud_nou AS frm_termin_renunt OF "_frm_child.vcx" + *< CLASSDATA: Baseclass="form" Timestamp="" Scale="Pixels" Uniqueid="" /> + + *-- OBJECTDATA items order determines ZOrder / El orden de los items OBJECTDATA determina el ZOrder + *< OBJECTDATA: ObjPath="Clb_tx_simplu4" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="Clb_tx_simplu1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="CUS_ODATA_STUD1" UniqueID="" Timestamp="" /> + + * + *p: nid + *p: orec + * + + * + DoCreate = .T. + Height = 119 + Name = "frm_stud_nou" + nid = 0 + orec = + Width = 373 + _shape1.Name = "_shape1" + _shape2.Height = 29 + _shape2.Left = 312 + _shape2.Name = "_shape2" + _shape2.Top = 0 + _shape2.Width = 62 + Lb_titlu_alb_b121.Caption = "ªcolarizare" + Lb_titlu_alb_b121.Name = "Lb_titlu_alb_b121" + Lb_titlu_alb_b121.TabIndex = 7 + BUT_TERMIN1.Name = "BUT_TERMIN1" + BUT_TERMIN1.TabIndex = 5 + Gridsort1.Name = "Gridsort1" + But_renunt1.Name = "But_renunt1" + But_renunt1.TabIndex = 6 + * + + ADD OBJECT 'Clb_tx_simplu1' AS clb_tx_simplu WITH ; + Height = 29, ; + Left = 12, ; + Name = "Clb_tx_simplu1", ; + TabIndex = 3, ; + Top = 73, ; + Width = 348, ; + TEXT_SIMPLU1.ControlSource = "porec.detalii", ; + TEXT_SIMPLU1.Height = 23, ; + TEXT_SIMPLU1.Left = 101, ; + TEXT_SIMPLU1.Name = "TEXT_SIMPLU1", ; + TEXT_SIMPLU1.Top = 3, ; + TEXT_SIMPLU1.Width = 235, ; + LB_SIMPLU1.Caption = "Detalii :", ; + LB_SIMPLU1.Name = "LB_SIMPLU1" + *< END OBJECT: ClassLib="lb_tx.vcx" BaseClass="container" /> + + ADD OBJECT 'Clb_tx_simplu4' AS clb_tx_simplu WITH ; + Height = 29, ; + Left = 12, ; + Name = "Clb_tx_simplu4", ; + TabIndex = 2, ; + Top = 45, ; + Width = 348, ; + Text_simplu1.ControlSource = "porec.scoala", ; + Text_simplu1.Height = 23, ; + Text_simplu1.Left = 101, ; + Text_simplu1.Name = "Text_simplu1", ; + Text_simplu1.Top = 3, ; + Text_simplu1.Width = 235, ; + Lb_simplu1.Caption = "ªcoala :", ; + Lb_simplu1.Name = "Lb_simplu1" + *< END OBJECT: ClassLib="lb_tx.vcx" BaseClass="container" /> + + ADD OBJECT 'CUS_ODATA_STUD1' AS cus_odata_stud WITH ; + Left = 36, ; + Name = "CUS_ODATA_STUD1", ; + Top = 36 + *< END OBJECT: ClassLib="opersonal.vcx" BaseClass="custom" /> + + PROCEDURE Destroy + IF USED('v_stud') + USE IN v_stud + ENDIF + ENDPROC + + PROCEDURE inainte_de_do_termin + Local PLRETURN,lcActiune + + this.but_TERMIN1.SetFocus() + + lcActiune = this.cus_odata_stud1.cactiune + + + + PLRETURN=This.cus_odata_stud1.salvare(This.OREC,This.NID) + + + + Return PLRETURN + + + ENDPROC + + PROCEDURE Init + Lparameters toRec, tnId, tcActiune + + DoDefault() + + This.orec= toRec + This.nid = tnId + This.cus_odata_stud1.cactiune = tcActiune + + + + ENDPROC + +ENDDEFINE + +DEFINE CLASS frm_temei_legal AS formtermin OF "_frm_base.vcx" + *< CLASSDATA: Baseclass="form" Timestamp="" Scale="Pixels" Uniqueid="" /> + + *-- OBJECTDATA items order determines ZOrder / El orden de los items OBJECTDATA determina el ZOrder + *< OBJECTDATA: ObjPath="Cb_tx_simplu1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="_editbox1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="Lb_simplu1" UniqueID="" Timestamp="" /> + + * + *m: alege_temei + *p: ccursor + * + + * + ccursor = crsTemei + DoCreate = .T. + Height = 179 + Name = "frm_temei_legal" + Width = 498 + _shape1.Height = 29 + _shape1.Left = 0 + _shape1.Name = "_shape1" + _shape1.Top = 0 + _shape1.Width = 527 + _shape2.Height = 29 + _shape2.Left = 461 + _shape2.Name = "_shape2" + _shape2.Top = 0 + _shape2.Width = 34 + Lb_titlu_alb_b121.Caption = "Incetare Contract" + Lb_titlu_alb_b121.Name = "Lb_titlu_alb_b121" + BUT_TERMIN1.Left = 464 + BUT_TERMIN1.Name = "BUT_TERMIN1" + BUT_TERMIN1.Top = 1 + Gridsort1.Name = "Gridsort1" + * + + ADD OBJECT '_editbox1' AS _editbox WITH ; + ControlSource = "pcExplicatieTemei", ; + Height = 82, ; + Left = 12, ; + Name = "_editbox1", ; + ReadOnly = .T., ; + Top = 86, ; + Width = 480 + *< END OBJECT: ClassLib="_baza.vcx" BaseClass="editbox" /> + + ADD OBJECT 'Cb_tx_simplu1' AS cb_tx_simplu WITH ; + Height = 29, ; + Left = 12, ; + Name = "Cb_tx_simplu1", ; + Top = 36, ; + Width = 480, ; + _cbbase1.Height = 23, ; + _cbbase1.Left = 152, ; + _cbbase1.Name = "_cbbase1", ; + _cbbase1.Top = 3, ; + _cbbase1.Width = 321, ; + _lbbase1.Caption = "Temei legal", ; + _lbbase1.Name = "_lbbase1" + *< END OBJECT: ClassLib="lb_tx.vcx" BaseClass="container" /> + + ADD OBJECT 'Lb_simplu1' AS lb_simplu WITH ; + Caption = "Explicatie temei incetare / Decizie incetare", ; + Left = 12, ; + Name = "Lb_simplu1", ; + Top = 68 + *< END OBJECT: ClassLib="lb.vcx" BaseClass="label" /> + + PROCEDURE alege_temei + Select (Thisform.ccursor) + pnIdTemei=id_temei + pcExplicatieTemei=Alltrim(explicatie) + Thisform._editbox1.Refresh + ENDPROC + + PROCEDURE Destroy + Unbindevents(Thisform.cb_tx_simplu1._CBBASE1,"InteractiveChange",Thisform,'alege_temei') + ENDPROC + + PROCEDURE inainte_de_do_termin + Local llReturn + llReturn = .F. + If Empty(pnIdTemei) + amessagebox("Nu ati ales temeiul legal!",48,"Atentie") + Thisform.cb_tx_simplu1._CBBASE1.SetFocus() + Else + llReturn = .T. + Endif + Return llReturn + ENDPROC + + PROCEDURE Init + Lparameters tnTip,tcCursor + Thisform.ccursor = tcCursor + DoDefault() + Do Case + Case tnTip = 1 + Thisform.lb_simplu1.Caption = [Explicaþie temei încetare] + Thisform.lb_titlu_alb_b121.Caption = [Încetare contract] + Case tnTip = 2 + Thisform.lb_simplu1.Caption = [Explicaþie temei reactivare] + Thisform.lb_titlu_alb_b121.Caption = [Reactivare contract] + Case tnTip = 3 + Thisform.lb_simplu1.Caption = [Explicaþie temei suspendare] + Thisform.lb_titlu_alb_b121.Caption = [Suspendare contract] + Case tnTip = 4 + Thisform.lb_simplu1.Caption = [Explicaþie temei excepþie datã sfârºit] + Thisform.lb_titlu_alb_b121.Caption = [Excepþie datã sfârºit] + Endcase + Thisform.cb_tx_simplu1._CBBASE1.RowSource = Thisform.ccursor + [.denumire] + Thisform.cb_tx_simplu1._cbbase1.RowSourceType = 2 + Thisform.cb_tx_simplu1._cBBASE1.Refresh() + Bindevent(Thisform.cb_tx_simplu1._CBBASE1,"InteractiveChange",Thisform,'alege_temei',1) + + ENDPROC + +ENDDEFINE + +DEFINE CLASS frm_vech_nou AS frm_termin_renunt OF "_frm_child.vcx" + *< CLASSDATA: Baseclass="form" Timestamp="" Scale="Pixels" Uniqueid="" /> + + *-- OBJECTDATA items order determines ZOrder / El orden de los items OBJECTDATA determina el ZOrder + *< OBJECTDATA: ObjPath="Clb_tx_simplu4" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="Clb_tx_simplu1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="Clb_tx_simplu1.Lb_simplu2" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="Clb_tx_simplu2" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="_grdbase1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="_grdbase1.Column1.Header1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="_grdbase1.Column1.Text1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="_grdbase1.Column2.Header1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="_grdbase1.Column2.Text1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="_grdbase1.Column3.Header1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="_grdbase1.Column3.Text1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="_grdbase1.Column4.Header1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="_grdbase1.Column4.Text1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="Clb_tx_simplu3" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="But_urmator1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="But_verifica1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="Clb_tx_simplu5" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="Clb_tx_simplu5.Lb_simplu2" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="Clb_tx_simplu6" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="Cus_odata_vech1" UniqueID="" Timestamp="" /> + + * + *p: ddata1 + *p: ddata2 + *p: nid + *p: nvechimel + *p: nvechimez + *p: orec + * + + * + ddata1 = {} + ddata2 = {} + DoCreate = .T. + Height = 308 + Name = "frm_vech_nou" + nid = 0 + nvechimel = 0 + nvechimez = 0 + orec = + Width = 479 + _shape1.Height = 29 + _shape1.Left = 0 + _shape1.Name = "_shape1" + _shape1.Top = 0 + _shape1.Width = 480 + _shape2.Height = 29 + _shape2.Left = 417 + _shape2.Name = "_shape2" + _shape2.Top = 0 + _shape2.Width = 62 + Lb_titlu_alb_b121.Caption = "VECHIME" + Lb_titlu_alb_b121.Name = "Lb_titlu_alb_b121" + Lb_titlu_alb_b121.TabIndex = 11 + BUT_TERMIN1.Left = 447 + BUT_TERMIN1.Name = "BUT_TERMIN1" + BUT_TERMIN1.TabIndex = 9 + BUT_TERMIN1.Top = 1 + Gridsort1.Name = "Gridsort1" + But_renunt1.Left = 418 + But_renunt1.Name = "But_renunt1" + But_renunt1.TabIndex = 10 + But_renunt1.Top = 1 + * + + ADD OBJECT '_grdbase1' AS _grdbase WITH ; + ColumnCount = 4, ; + DeleteMark = .F., ; + Height = 168, ; + Left = 235, ; + Name = "_grdbase1", ; + Panel = 1, ; + RecordSource = "crsVechime ", ; + RowHeight = 21, ; + ScrollBars = 2, ; + TabIndex = 12, ; + Top = 36, ; + Width = 241, ; + Column1.ControlSource = "datainc", ; + Column1.Name = "Column1", ; + Column2.ControlSource = "datasf", ; + Column2.Name = "Column2", ; + Column3.ControlSource = "nrLuni", ; + Column3.Name = "Column3", ; + Column3.Width = 28, ; + Column4.ControlSource = "nrZile", ; + Column4.Name = "Column4", ; + Column4.Width = 29 + *< END OBJECT: ClassLib="_grd_base.vcx" BaseClass="grid" /> + + ADD OBJECT '_grdbase1.Column1.Header1' AS header WITH ; + Caption = "Data inceput", ; + Name = "Header1" + *< END OBJECT: BaseClass="header" /> + + ADD OBJECT '_grdbase1.Column1.Text1' AS textbox WITH ; + BackColor = 255,255,255, ; + BorderStyle = 0, ; + ForeColor = 0,0,0, ; + Margin = 0, ; + Name = "Text1" + *< END OBJECT: BaseClass="textbox" /> + + ADD OBJECT '_grdbase1.Column2.Header1' AS header WITH ; + Caption = "Data sfarsit", ; + Name = "Header1" + *< END OBJECT: BaseClass="header" /> + + ADD OBJECT '_grdbase1.Column2.Text1' AS textbox WITH ; + BackColor = 255,255,255, ; + BorderStyle = 0, ; + ForeColor = 0,0,0, ; + Margin = 0, ; + Name = "Text1" + *< END OBJECT: BaseClass="textbox" /> + + ADD OBJECT '_grdbase1.Column3.Header1' AS header WITH ; + Caption = "Luni", ; + Name = "Header1" + *< END OBJECT: BaseClass="header" /> + + ADD OBJECT '_grdbase1.Column3.Text1' AS textbox WITH ; + BackColor = 255,255,255, ; + BorderStyle = 0, ; + ForeColor = 0,0,0, ; + Margin = 0, ; + Name = "Text1" + *< END OBJECT: BaseClass="textbox" /> + + ADD OBJECT '_grdbase1.Column4.Header1' AS header WITH ; + Caption = "Zile", ; + Name = "Header1" + *< END OBJECT: BaseClass="header" /> + + ADD OBJECT '_grdbase1.Column4.Text1' AS textbox WITH ; + BackColor = 255,255,255, ; + BorderStyle = 0, ; + ForeColor = 0,0,0, ; + Margin = 0, ; + Name = "Text1" + *< END OBJECT: BaseClass="textbox" /> + + ADD OBJECT 'But_urmator1' AS but_urmator WITH ; + Left = 103, ; + Name = "But_urmator1", ; + TabIndex = 4, ; + ToolTipText = "Retine", ; + Top = 140 + *< END OBJECT: ClassLib="cmd_butoane.vcx" BaseClass="commandbutton" /> + + ADD OBJECT 'But_verifica1' AS but_verifica WITH ; + Left = 103, ; + Name = "But_verifica1", ; + TabIndex = 5, ; + ToolTipText = "Calculeaza", ; + Top = 167 + *< END OBJECT: ClassLib="cmd_butoane.vcx" BaseClass="commandbutton" /> + + ADD OBJECT 'Clb_tx_simplu1' AS clb_tx_simplu WITH ; + Height = 29, ; + Left = 12, ; + Name = "Clb_tx_simplu1", ; + TabIndex = 3, ; + Top = 96, ; + Width = 209, ; + TEXT_SIMPLU1.ControlSource = "thisform.nvechimel", ; + TEXT_SIMPLU1.Height = 23, ; + TEXT_SIMPLU1.Left = 102, ; + TEXT_SIMPLU1.Name = "TEXT_SIMPLU1", ; + TEXT_SIMPLU1.Top = 3, ; + TEXT_SIMPLU1.Width = 51, ; + LB_SIMPLU1.Caption = "Vechime :", ; + LB_SIMPLU1.Name = "LB_SIMPLU1", ; + LB_SIMPLU1.Top = 6 + *< END OBJECT: ClassLib="lb_tx.vcx" BaseClass="container" /> + + ADD OBJECT 'Clb_tx_simplu1.Lb_simplu2' AS lb_simplu WITH ; + Caption = "( luni )", ; + Left = 161, ; + Name = "Lb_simplu2", ; + Top = 6 + *< END OBJECT: ClassLib="lb.vcx" BaseClass="label" /> + + ADD OBJECT 'Clb_tx_simplu2' AS clb_tx_simplu WITH ; + Height = 29, ; + Left = 12, ; + Name = "Clb_tx_simplu2", ; + TabIndex = 1, ; + Top = 40, ; + Width = 209, ; + TEXT_SIMPLU1.ControlSource = "thisform.ddata1", ; + TEXT_SIMPLU1.Format = "KD", ; + TEXT_SIMPLU1.Height = 23, ; + TEXT_SIMPLU1.Left = 101, ; + TEXT_SIMPLU1.Name = "TEXT_SIMPLU1", ; + TEXT_SIMPLU1.Top = 3, ; + TEXT_SIMPLU1.Width = 103, ; + LB_SIMPLU1.Caption = "Data început:", ; + LB_SIMPLU1.Name = "LB_SIMPLU1" + *< END OBJECT: ClassLib="lb_tx.vcx" BaseClass="container" /> + + ADD OBJECT 'Clb_tx_simplu3' AS clb_tx_simplu WITH ; + Height = 29, ; + Left = 12, ; + Name = "Clb_tx_simplu3", ; + TabIndex = 2, ; + Top = 68, ; + Width = 209, ; + Text_simplu1.ControlSource = "thisform.ddata2", ; + Text_simplu1.Format = "KD", ; + Text_simplu1.Height = 23, ; + Text_simplu1.Left = 101, ; + Text_simplu1.Name = "Text_simplu1", ; + Text_simplu1.TabIndex = 1, ; + Text_simplu1.Top = 3, ; + Text_simplu1.Width = 103, ; + Lb_simplu1.Caption = "Data sfârºit:", ; + Lb_simplu1.Name = "Lb_simplu1", ; + Lb_simplu1.TabIndex = 2 + *< END OBJECT: ClassLib="lb_tx.vcx" BaseClass="container" /> + + ADD OBJECT 'Clb_tx_simplu4' AS clb_tx_simplu WITH ; + Height = 29, ; + Left = 12, ; + Name = "Clb_tx_simplu4", ; + TabIndex = 8, ; + Top = 267, ; + Width = 348, ; + Text_simplu1.ControlSource = "porec.modincadr", ; + Text_simplu1.Height = 23, ; + Text_simplu1.Left = 101, ; + Text_simplu1.Name = "Text_simplu1", ; + Text_simplu1.Top = 3, ; + Text_simplu1.Width = 235, ; + Lb_simplu1.Caption = "Mod :", ; + Lb_simplu1.Name = "Lb_simplu1" + *< END OBJECT: ClassLib="lb_tx.vcx" BaseClass="container" /> + + ADD OBJECT 'Clb_tx_simplu5' AS clb_tx_simplu WITH ; + Height = 29, ; + Left = 12, ; + Name = "Clb_tx_simplu5", ; + TabIndex = 7, ; + Top = 239, ; + Width = 209, ; + Text_simplu1.ControlSource = "porec.vechimei", ; + Text_simplu1.Height = 23, ; + Text_simplu1.Left = 102, ; + Text_simplu1.Name = "Text_simplu1", ; + Text_simplu1.Top = 3, ; + Text_simplu1.Width = 51, ; + Lb_simplu1.Caption = "Vechime :", ; + Lb_simplu1.Name = "Lb_simplu1", ; + Lb_simplu1.Top = 6 + *< END OBJECT: ClassLib="lb_tx.vcx" BaseClass="container" /> + + ADD OBJECT 'Clb_tx_simplu5.Lb_simplu2' AS lb_simplu WITH ; + Caption = "( luni )", ; + Left = 161, ; + Name = "Lb_simplu2", ; + Top = 6 + *< END OBJECT: ClassLib="lb.vcx" BaseClass="label" /> + + ADD OBJECT 'Clb_tx_simplu6' AS clb_tx_simplu WITH ; + Height = 29, ; + Left = 12, ; + Name = "Clb_tx_simplu6", ; + TabIndex = 6, ; + Top = 211, ; + Width = 209, ; + Text_simplu1.ControlSource = "porec.data_vech", ; + Text_simplu1.Format = "KD", ; + Text_simplu1.Height = 23, ; + Text_simplu1.Left = 101, ; + Text_simplu1.Name = "Text_simplu1", ; + Text_simplu1.Top = 3, ; + Text_simplu1.Width = 103, ; + Lb_simplu1.Caption = "Data :", ; + Lb_simplu1.Name = "Lb_simplu1" + *< END OBJECT: ClassLib="lb_tx.vcx" BaseClass="container" /> + + ADD OBJECT 'Cus_odata_vech1' AS cus_odata_vech WITH ; + Left = 417, ; + Name = "Cus_odata_vech1", ; + Top = 264 + *< END OBJECT: ClassLib="opersonal.vcx" BaseClass="custom" /> + + PROCEDURE do_urmator + INSERT INTO crsVechime (datasf,datainc,nrluni,nrZile) ; + VALUES (thisform.ddata1,thisform.ddata2,thisform.nvechimel,thisform.nvechimez) + + thisform._grdbase1.Refresh + ENDPROC + + PROCEDURE do_verifica + LOCAL lnTotLuni + STORE 0 TO lnTotLuni + SELECT crsVechime + SUM nrLuni TO lnTotLuni + + porec.vechimei = ROUND(lnTotLuni,0) + + lcSql = [select pack_personal.vechime_numar(]+str(porec.vechimei)+[,0) as vechime from dual] + lcCursor = [crsRez] + lnSucces = goExecutor.oExecute(lcSql,lcCursor) + + If lnSucces < 0 + Messagebox(goExecutor.cEroare,0+16,"Eroare") + Return + Endif + Select crsRez + porec.data_vech = ttod(crsRez.vechime) + thisform.Refresh + USE IN crsRez + ENDPROC + + PROCEDURE inainte_de_do_termin + Local PLRETURN,lcActiune + + this.but_TERMIN1.SetFocus() + + lcActiune = this.cus_odata_vech1.cactiune + + + + PLRETURN=This.cus_odata_vech1.salvare(This.OREC,This.NID) + + + + Return PLRETURN + + + ENDPROC + + PROCEDURE Init + Lparameters toRec, tnId, tcActiune + + DoDefault() + + This.orec= toRec + This.nid = tnId + This.cus_odata_vech1.cactiune = tcActiune + + + + *!* IF tcActiune = 'UPDATE' + + *!* SELECT v_curs + *!* LOCATE FOR id_c = toRec.id_c + *!* IF FOUND() + *!* this.cb_tx_simplu1._cbbase1.Value=torec.denumire + *!* this.cb_tx_simplu1._cbbase1.Refresh() + *!* ENDIF + + *!* ENDIF + ENDPROC + + PROCEDURE Clb_tx_simplu1.TEXT_SIMPLU1.LostFocus + *!* lcSql = [select pack_personal.vechime_numar(]+str(porec.vechimei)+[,0) as vechime from dual] + *!* lcCursor = [crsVechime] + *!* lnSucces = goExecutor.oExecute(lcSql,lcCursor) + + *!* If lnSucces < 0 + *!* Messagebox(goExecutor.cEroare,0+16,"Eroare") + *!* Return + *!* Endif + *!* Select crsVechime + *!* porec.data_vech = ttod(crsVechime.vechime) + *!* thisform.Refresh + *!* USE IN crsVechime + ENDPROC + + PROCEDURE Clb_tx_simplu2.TEXT_SIMPLU1.LostFocus + *!* IF !ISNULL(porec.data_vech) + *!* lcSql = [select pack_personal.vechime_date(to_date(]+DTOS(porec.data_vech)+[,'yyyymmdd')) as vechime from dual] + *!* lcCursor = [crsVechime] + *!* lnSucces = goExecutor.oExecute(lcSql,lcCursor) + + *!* If lnSucces < 0 + *!* Messagebox(goExecutor.cEroare,0+16,"Eroare") + *!* Return + *!* Endif + *!* Select crsVechime + *!* porec.vechimei = Round(crsVechime.vechime,0) + *!* thisform.Refresh + *!* USE IN crsVechime + *!* ENDIF + ENDPROC + + PROCEDURE Clb_tx_simplu3.Text_simplu1.LostFocus + IF !ISNULL(thisform.ddata1) AND !ISNULL(thisform.ddata2) + lcSql = [select pack_personal.vechime_date(to_date(]+DTOS(thisform.ddata1)+[,'yyyymmdd'),to_date(]+DTOS(thisform.ddata2)+[,'yyyymmdd')) as vechime from dual] + lcCursor = [crsRet] + lnSucces = goExecutor.oExecute(lcSql,lcCursor) + + If lnSucces < 0 + Messagebox(goExecutor.cEroare,0+16,"Eroare") + Return + Endif + Select crsRet + thisform.nvechimel = Round(crsRet.vechime,0) + *!* porec.vechimei = Round(crsRet.vechime,0) + thisform.Refresh + USE IN crsRet + ENDIF + ENDPROC + + PROCEDURE Clb_tx_simplu6.Text_simplu1.LostFocus + *!* IF !ISNULL(porec.data_vech) + *!* lcSql = [select pack_personal.vechime_date(to_date(]+DTOS(porec.data_vech)+[,'yyyymmdd')) as vechime from dual] + *!* lcCursor = [crsVechime] + *!* lnSucces = goExecutor.oExecute(lcSql,lcCursor) + + *!* If lnSucces < 0 + *!* Messagebox(goExecutor.cEroare,0+16,"Eroare") + *!* Return + *!* Endif + *!* Select crsVechime + *!* porec.vechimei = Round(crsVechime.vechime,0) + *!* thisform.Refresh + *!* USE IN crsVechime + *!* ENDIF + ENDPROC + +ENDDEFINE diff --git a/clase/orapoarte.vc2 b/clase/orapoarte.vc2 new file mode 100644 index 0000000..0ffbc20 --- /dev/null +++ b/clase/orapoarte.vc2 @@ -0,0 +1,4686 @@ +*-------------------------------------------------------------------------------------------------------------------------------------------------------- +* (EN) AUTOGENERATED - ATTENTION!! - NOT INTENDED FOR EXECUTION!! USE ONLY FOR MERGING CHANGES AND STORING WITH SCM TOOLS!! +*-------------------------------------------------------------------------------------------------------------------------------------------------------- +*< FOXBIN2PRG: Version="1.21" SourceFile="orapoarte.vcx" CPID="1252" /> (Solo para binarios VFP 9 / Only for VFP 9 binaries) +* +* +DEFINE CLASS ct_grup_camp AS _container OF "_baza.vcx" + *< CLASSDATA: Baseclass="container" Timestamp="" Scale="Pixels" Uniqueid="" /> + + *-- OBJECTDATA items order determines ZOrder / El orden de los items OBJECTDATA determina el ZOrder + *< OBJECTDATA: ObjPath="ck_ordine" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="lb_nume_camp" UniqueID="" Timestamp="" /> + + * + *m: do_actualizeaza_ordine + *p: ccamp + *p: cnumecamp + *p: ngrupat + *p: nordine + *p: _memberdata && XML Metadata for customizable properties + * + + * + BorderWidth = 0 + ccamp = + cnumecamp = + Height = 17 + Name = "ct_grup_camp" + ngrupat = 0 + nordine = 0 + Width = 183 + _memberdata = + + + + + + + * + + ADD OBJECT 'ck_ordine' AS _checkbox WITH ; + Alignment = 0, ; + AutoSize = .F., ; + Caption = "[Grup camp]", ; + Height = 17, ; + Left = 122, ; + Name = "ck_ordine", ; + Top = 1, ; + Width = 43 + *< END OBJECT: ClassLib="_baza.vcx" BaseClass="checkbox" /> + + ADD OBJECT 'lb_nume_camp' AS lb_simplu WITH ; + AutoSize = .F., ; + Caption = "[Explicatie camp]", ; + Height = 17, ; + Left = 2, ; + Name = "lb_nume_camp", ; + Top = 1, ; + Width = 118 + *< END OBJECT: ClassLib="lb.vcx" BaseClass="label" /> + + PROCEDURE do_actualizeaza_ordine + Lparameters tnOrdine + If !Empty(tnOrdine) + This.lb_nume_camp.FontBold = .T. + This.ck_ordine.Caption = Alltrim(Str(tnOrdine)) + This.ngrupat = 1 + Else + This.lb_nume_camp.FontBold = .F. + This.ck_ordine.Caption = [] + This.ngrupat = 0 + Endif + This.nordine = tnOrdine + + ENDPROC + + PROCEDURE Init + Lparameters toHash + This.ccamp = toHash.getValue('cCamp') + This.cnumeCamp = toHash.getValue('cNumeCamp') + This.lb_nume_camp.Caption = This.cnumeCamp + This.do_actualizeaza_ordine(0) + + ENDPROC + + PROCEDURE ck_ordine.Click + This.ProgrammaticChange() + + ENDPROC + + PROCEDURE ck_ordine.ProgrammaticChange + This.Parent.Parent.Parent.do_modifica_ordine(This.Parent.Name,This.Parent.nordine,This.Value) + ENDPROC + +ENDDEFINE + +DEFINE CLASS ct_grupare AS _container OF "_baza.vcx" + *< CLASSDATA: Baseclass="container" Timestamp="" Scale="Pixels" Uniqueid="" /> + + *-- OBJECTDATA items order determines ZOrder / El orden de los items OBJECTDATA determina el ZOrder + *< OBJECTDATA: ObjPath="lb_grupare" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="_scrollcontainer1" UniqueID="" Timestamp="" /> + + * + *m: do_adauga_ct + *m: do_modifica_ordine + *m: do_reset + *m: do_sterge_ct + *p: cclasa && Numele clasei ce va fi instantiata la adaugare. + *p: nmax_ordine + *p: _memberdata && XML Metadata for customizable properties + * + + * + cclasa = ct_grup_camp + Height = 200 + Name = "ct_grupare" + nmax_ordine = 0 + Width = 353 + _memberdata = + + + + + + + + * + + ADD OBJECT '_scrollcontainer1' AS _scrollcontainer WITH ; + BorderWidth = 0, ; + Height = 181, ; + Left = 0, ; + Name = "_scrollcontainer1", ; + Top = 23, ; + Width = 360, ; + But_sus1.Left = 328, ; + But_sus1.Name = "But_sus1", ; + But_sus1.Top = 0, ; + But_jos1.Left = 328, ; + But_jos1.Name = "But_jos1", ; + But_jos1.Top = 29 + *< END OBJECT: ClassLib="scrollcontainer.vcx" BaseClass="container" /> + + ADD OBJECT 'lb_grupare' AS lb_simplu WITH ; + Caption = "Grupat dupa :", ; + FontItalic = .T., ; + Height = 17, ; + Left = 12, ; + Name = "lb_grupare", ; + TabIndex = 8, ; + Top = 6, ; + Visible = .T., ; + Width = 76 + *< END OBJECT: ClassLib="lb.vcx" BaseClass="label" /> + + PROCEDURE do_adauga_ct + Lparameters tcCamp,tcNumeCamp + Local lcClasa,lcNumeObiect,loHash As MyHash + If Empty(This.cclasa) + lcClasa = [CT_GRUP_CAMP] + Else + lcClasa = Upper(Alltrim(This.cclasa)) + Endif + lcNumeObiect = Upper(Alltrim([ct_grup_] + Strtran(tcCamp,[.],[_]))) + loHash = GetHash() + loHash.SetValue("cCamp", tcCamp) + loHash.SetValue("cNumeCamp", tcNumeCamp) + This._scrollcontainer1.do_adaugaobiect(lcNumeObiect,lcClasa,loHash) + With This._scrollcontainer1.&lcNumeObiect. + .Visible = .T. + EndWith + Release loHash + *!* This.AddObject(lcNumeObiect,lcClasa,tcCamp,tcNumeCamp) + *!* With This.&lcNumeObiect. + *!* .Left = This.nLeft + *!* .Top = This.nMaxTop + *!* This.nMaxTop = .Top + .Height - 2 + *!* .Visible = .T. + *!* Endwith + ENDPROC + + PROCEDURE do_modifica_ordine + Lparameters tcNumeObiect,tnOrdine,tnValoare + If Empty(This.cclasa) + lcClasa = [CT_GRUP_CAMP] + Else + lcClasa = Upper(Alltrim(This.cclasa)) + Endif + If tnValoare = 0 + For i = 1 To This._scrollcontainer1.Objects.Count + With This._scrollcontainer1.Objects(i) + If Upper(Alltrim(.Class))=lcClasa + Do Case + Case .nordine = tnOrdine + If Pemstatus(This.Parent,"do_modifica",5) + *!* modificare ROAGEST v 2.0.144 + *!* This.Parent.do_modifica(2,.ccamp,.nordine - 1) + This.Parent.do_modifica(2,.ccamp,0) + *!* modificare ROAGEST v 2.0.144 ^ + Endif + .do_actualizeaza_ordine(0) + Case .nordine > tnOrdine + If Pemstatus(This.Parent,"do_modifica",5) + This.Parent.do_modifica(2,.ccamp,.nordine - 1) + Endif + .do_actualizeaza_ordine(.nordine - 1) + Endcase + Endif + Endwith + Endfor + This.nmax_ordine = This.nmax_ordine - 1 + Else + This.nmax_ordine = This.nmax_ordine + 1 + With This._scrollcontainer1.&tcNumeObiect. + If Pemstatus(This.Parent,"do_modifica",5) + This.Parent.do_modifica(2,.ccamp,This.nmax_ordine) + Endif + .do_actualizeaza_ordine(This.nmax_ordine) + Endwith + Endif + + ENDPROC + + PROCEDURE do_reset + This._SCROLLCONTAINER1.Init() + + ENDPROC + + PROCEDURE do_sterge_ct + Lparameters tcCamp + Local lcClasa,lcNumeObiect + If Empty(This.cclasa) + lcClasa = [CT_GRUP_CAMP] + Else + lcClasa = Upper(Alltrim(This.cclasa)) + Endif + lcNumeObiect = Upper(Alltrim([ct_grup_] + Strtran(tcCamp,[.],[_]))) + If Type('this._scrollcontainer1.'+lcNumeObiect)<>'U' + With This._scrollcontainer1.&lcNumeObiect. + *!* lnHeight = .Height + *!* lnTop = .Top + lnOrdine = .nordine + Endwith + *!* This.RemoveObject(lcNumeObiect,lcClasa) + This._scrollcontainer1.do_stergeobiect(lcNumeObiect) + For i = 1 To This._scrollcontainer1.Objects.Count + With This._scrollcontainer1.Objects(i) + If Upper(Alltrim(.Class))=lcClasa + If lnOrdine > 0 And .nordine > lnOrdine + If Pemstatus(This.Parent,"do_modifica",5) + This.Parent.do_modifica(2,.ccamp,.nordine - 1) + Endif + .do_actualizeaza_ordine(.nordine - 1) + Endif + *!* If .Top > lnTop + *!* .Top = .Top - lnHeight + 2 + *!* Endif + Endif + Endwith + Endfor + *!* This.nMaxTop = This.nMaxTop - lnHeight + 2 + This.nmax_ordine = This.nmax_ordine - Iif(lnOrdine = 0,0,1) + Endif + ENDPROC + + PROCEDURE _scrollcontainer1.Init + Local lnNrObiecteVizibile,lnTop,lnLeft,lnWidth,lnDistantaVObiecte,lnDistantaOObiecte + lnHeightGrupCamp = 15 && 17 = inaltimea ct_grup_camp + lnNrObiecteVizibile = Floor((This.Parent.Height - This.Top)/ lnHeightGrupCamp) + lnTop = This.Top + lnLeft = This.Left + lnWidth = This.Parent.Width + lnDistantaVObiecte = -2 + lnDistantaOObiecte = 0 + This.but_jos1.Left = lnWidth - 18 + This.but_sus1.Left = lnWidth - 18 + This.nmaxheight = lnHeightGrupCamp * lnNrObiecteVizibile + DoDefault(lnNrObiecteVizibile,lnTop,lnLeft,lnWidth,lnDistantaVObiecte,lnDistantaOObiecte) + ENDPROC + +ENDDEFINE + +DEFINE CLASS ct_ordine_camp AS _container OF "_baza.vcx" + *< CLASSDATA: Baseclass="container" Timestamp="" Scale="Pixels" Uniqueid="" /> + + *-- OBJECTDATA items order determines ZOrder / El orden de los items OBJECTDATA determina el ZOrder + *< OBJECTDATA: ObjPath="ck_ordine" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="lb_nume_camp" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="opt_ordine" UniqueID="" Timestamp="" /> + + * + *m: do_actualizeaza_ordine + *p: ccamp + *p: cnumecamp + *p: csens + *p: nordine + * + + * + BorderWidth = 0 + ccamp = + cnumecamp = + csens = + Height = 17 + Name = "ct_ordine_camp" + nordine = 0 + Width = 302 + * + + ADD OBJECT 'ck_ordine' AS _checkbox WITH ; + Alignment = 0, ; + AutoSize = .F., ; + Caption = "[Ordine camp]", ; + Height = 17, ; + Left = 122, ; + Name = "ck_ordine", ; + Top = 0, ; + Width = 43 + *< END OBJECT: ClassLib="_baza.vcx" BaseClass="checkbox" /> + + ADD OBJECT 'lb_nume_camp' AS lb_simplu WITH ; + AutoSize = .F., ; + Caption = "[Explicatie camp]", ; + Height = 17, ; + Left = 2, ; + Name = "lb_nume_camp", ; + Top = 0, ; + Width = 118 + *< END OBJECT: ClassLib="lb.vcx" BaseClass="label" /> + + ADD OBJECT 'opt_ordine' AS _optiongrup WITH ; + BorderStyle = 0, ; + Height = 28, ; + Left = 160, ; + Name = "opt_ordine", ; + Top = -6, ; + Width = 146, ; + Option1.AutoSize = .T., ; + Option1.Caption = "Crescator", ; + Option1.FontName = "Arial Narrow", ; + Option1.Left = 5, ; + Option1.Name = "Option1", ; + Option1.Top = 5, ; + Option2.AutoSize = .T., ; + Option2.Caption = "Descrescator", ; + Option2.FontName = "Arial Narrow", ; + Option2.Left = 68, ; + Option2.Name = "Option2", ; + Option2.Top = 5 + *< END OBJECT: ClassLib="_baza.vcx" BaseClass="optiongroup" /> + + PROCEDURE do_actualizeaza_ordine + Lparameters tnOrdine + If !Empty(tnOrdine) + This.lb_nume_camp.FontBold = .T. + This.ck_ordine.Caption = Alltrim(Str(tnOrdine)) + This.opt_ordine.Visible = .T. + Else + This.lb_nume_camp.FontBold = .F. + This.ck_ordine.Caption = [] + With This.opt_ordine + .Visible = .F. + .Value = 1 + Endwith + Endif + This.nordine = tnOrdine + + ENDPROC + + PROCEDURE Init + Lparameters toHash + This.ccamp = toHash.getValue('cCamp') + This.cnumeCamp = toHash.getValue('cNumeCamp') + This.lb_nume_camp.Caption = toHash.getValue('cNumeCamp') + This.do_actualizeaza_ordine(0) + + ENDPROC + + PROCEDURE ck_ordine.Click + This.ProgrammaticChange() + + ENDPROC + + PROCEDURE ck_ordine.ProgrammaticChange + This.Parent.Parent.Parent.do_modifica_ordine(This.Parent.Name,This.Parent.nordine,This.Value) + ENDPROC + + PROCEDURE opt_ordine.InteractiveChange + If This.Value = 1 + This.Parent.csens = [] + Else + This.Parent.csens = [DESC] + Endif + This.Parent.Parent.Parent.do_modifica_sens(This.Parent.ccamp,This.Value) + ENDPROC + + PROCEDURE opt_ordine.ProgrammaticChange + This.InteractiveChange() + ENDPROC + +ENDDEFINE + +DEFINE CLASS ct_ordonare AS _container OF "_baza.vcx" + *< CLASSDATA: Baseclass="container" Timestamp="" Scale="Pixels" Uniqueid="" /> + + *-- OBJECTDATA items order determines ZOrder / El orden de los items OBJECTDATA determina el ZOrder + *< OBJECTDATA: ObjPath="lb_ordonare" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="_scrollcontainer1" UniqueID="" Timestamp="" /> + + * + *m: do_adauga_ct + *m: do_modifica_ordine + *m: do_modifica_sens + *m: do_reset + *m: do_sterge_ct + *p: cclasa && Numele clasei ce va fi instantiata la adaugare. + *p: nleft + *p: nleft2 && 90 + *p: nmaxtop + *p: nmaxtop2 + *p: nmax_ordine + *p: _memberdata && XML Metadata for customizable properties + * + + * + cclasa = ct_ordine_camp + Height = 200 + Name = "ct_ordonare" + nleft = 9 + nleft2 = 90 + nmaxtop = 0 + nmaxtop2 = 0 + nmax_ordine = 0 + Width = 353 + _memberdata = + + + + + + + + * + + ADD OBJECT '_scrollcontainer1' AS _scrollcontainer WITH ; + BorderWidth = 0, ; + Height = 181, ; + Left = 0, ; + Name = "_scrollcontainer1", ; + Top = 23, ; + Width = 360, ; + But_sus1.Left = 328, ; + But_sus1.Name = "But_sus1", ; + But_sus1.Top = 1, ; + But_jos1.Left = 328, ; + But_jos1.Name = "But_jos1", ; + But_jos1.Top = 30 + *< END OBJECT: ClassLib="scrollcontainer.vcx" BaseClass="container" /> + + ADD OBJECT 'lb_ordonare' AS lb_simplu WITH ; + Caption = "Ordonate dupa:", ; + FontItalic = .T., ; + Height = 17, ; + Left = 8, ; + Name = "lb_ordonare", ; + TabIndex = 8, ; + Top = 6, ; + Visible = .T., ; + Width = 87 + *< END OBJECT: ClassLib="lb.vcx" BaseClass="label" /> + + PROCEDURE do_adauga_ct + Lparameters tcCamp,tcNumeCamp + Local lcClasa,lcNumeObiect,loHash As MyHash + If Empty(This.cclasa) + lcClasa = [CT_ORDINE_CAMP] + Else + lcClasa = Upper(Alltrim(This.cclasa)) + Endif + lcNumeObiect = Upper(Alltrim([ct_ordine_] + Strtran(tcCamp,[.],[_]))) + loHash = GetHash() + loHash.SetValue("cCamp", tcCamp) + loHash.SetValue("cNumeCamp", tcNumeCamp) + This._scrollcontainer1.do_adaugaobiect(lcNumeObiect,lcClasa,loHash) + With This._scrollcontainer1.&lcNumeObiect. + .Visible = .T. + Endwith + Release loHash + *!* This.AddObject(lcNumeObiect,lcClasa,tcCamp,tcNumeCamp) + *!* With This.&lcNumeObiect. + *!* .Left = This.nLeft + *!* .Top = This.nMaxTop + *!* This.nMaxTop = .Top + .Height - 2 + *!* .Visible = .T. + *!* Endwith + ENDPROC + + PROCEDURE do_modifica_ordine + Lparameters tcNumeObiect,tnOrdine,tnValoare + If Empty(This.cclasa) + lcClasa = [CT_ORDINE_CAMP] + Else + lcClasa = Upper(Alltrim(This.cclasa)) + Endif + If tnValoare = 0 + For i = 1 To This._scrollcontainer1.Objects.Count + With This._scrollcontainer1.Objects(i) + If Upper(Alltrim(.Class))=lcClasa + Do Case + Case .nordine = tnOrdine + If Pemstatus(This.Parent,"do_modifica",5) + This.Parent.do_modifica(3,.ccamp,0) + Endif + .do_actualizeaza_ordine(0) + Case .nordine > tnOrdine + If Pemstatus(This.Parent,"do_modifica",5) + This.Parent.do_modifica(3,.ccamp,.nordine - 1) + Endif + .do_actualizeaza_ordine(.nordine - 1) + Endcase + Endif + Endwith + Endfor + This.nmax_ordine = This.nmax_ordine - 1 + Else + This.nmax_ordine = This.nmax_ordine + 1 + With This._scrollcontainer1.&tcNumeObiect. + If Pemstatus(This.Parent,"do_modifica",5) + This.Parent.do_modifica(3,.ccamp,This.nmax_ordine) + Endif + .do_actualizeaza_ordine(This.nmax_ordine) + Endwith + Endif + + ENDPROC + + PROCEDURE do_modifica_sens + Lparameters tcCamp,tnSens + If Pemstatus(This.Parent,"do_modifica",5) + This.Parent.do_modifica(4,tcCamp,tnSens) + Endif + ENDPROC + + PROCEDURE do_reset + This._SCROLLCONTAINER1.Init() + + ENDPROC + + PROCEDURE do_sterge_ct + Lparameters tcCamp + Local lcClasa,lcNumeObiect + If Empty(This.cclasa) + lcClasa = [CT_ORDINE_CAMP] + Else + lcClasa = Upper(Alltrim(This.cclasa)) + Endif + lcNumeObiect = Upper(Alltrim([ct_ordine_] + Strtran(tcCamp,[.],[_]))) + If Type('this._scrollcontainer1.'+lcNumeObiect)<>'U' + With This._scrollcontainer1.&lcNumeObiect. + *!* lnHeight = .Height + *!* lnTop = .Top + lnOrdine = .nordine + Endwith + *!* This.RemoveObject(lcNumeObiect,lcClasa) + This._scrollcontainer1.do_stergeobiect(lcNumeObiect) + For i = 1 To This._scrollcontainer1.Objects.Count + With This._scrollcontainer1.Objects(i) + If Upper(Alltrim(.Class))=lcClasa + If lnOrdine > 0 And .nordine > lnOrdine + If Pemstatus(This.Parent,"do_modifica",5) + This.Parent.do_modifica(3,.ccamp,.nordine - 1) + Endif + .do_actualizeaza_ordine(.nordine - 1) + Endif + *!* If .Top > lnTop + *!* .Top = .Top - lnHeight + 2 + *!* Endif + Endif + Endwith + Endfor + *!* This.nMaxTop = This.nMaxTop - lnHeight + 2 + This.nmax_ordine = This.nmax_ordine - Iif(lnOrdine = 0,0,1) + Endif + ENDPROC + + PROCEDURE _scrollcontainer1.Init + Local lnNrObiecteVizibile,lnTop,lnLeft,lnWidth,lnDistantaVObiecte,lnDistantaOObiecte + lnHeightOrdCamp = 15 && 17 = inaltimea ct_grup_camp + lnNrObiecteVizibile = Floor((This.Parent.Height - This.Top)/ lnHeightOrdCamp) + lnTop = This.Top + lnLeft = This.Left + lnWidth = This.Width + lnDistantaVObiecte = -2 + lnDistantaOObiecte = 0 + This.nmaxheight = lnHeightOrdCamp * lnNrObiecteVizibile + DoDefault(lnNrObiecteVizibile,lnTop,lnLeft,lnWidth,lnDistantaVObiecte,lnDistantaOObiecte) + ENDPROC + +ENDDEFINE + +DEFINE CLASS ct_selectie AS _container OF "_baza.vcx" + *< CLASSDATA: Baseclass="container" Timestamp="" Scale="Pixels" Uniqueid="" /> + + *-- OBJECTDATA items order determines ZOrder / El orden de los items OBJECTDATA determina el ZOrder + *< OBJECTDATA: ObjPath="Ct_grupare1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="Ct_grupare1.lblAtentie" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="Ct_ordonare1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="lb_coloane" UniqueID="" Timestamp="" /> + + * + *m: do_actualizeaza_culori_sume + *m: do_adauga + *m: do_compune_ordine_selectie + *m: do_crosstabulare + *m: do_instructiune_sql + *m: do_modifica + *m: do_reset + *m: do_sterge + *m: do_verifica_verticala + *m: get_coloane_crosstabulare + *m: get_coloane_grupare + *m: get_coloane_ordonare + *m: get_coloane_selectie + *p: cclasa && Clasa folosita pentru checkbox-urile din selectii. + *p: ccoloanesuma && Numele coloanelor care sunt agregate. + *p: clistacoloaneordine && Lista delimitata prin virgula ce contine pozitiile din ccoloanesuma pentru care se vor adauga containere la ordonare. + *p: cnumecoloanesuma + *p: cnumetabela && Numele tabelei/view-ului din care se face selectia. + *p: cordine + *p: csql + *p: lcrosstabulare && .T. daca a fost selectata o coloana pentru crosstabulare + *p: ltitlucoloanesuma && Daca numele coloanelor selectate se face dupa valoare din cNumeColoaneSuma + *p: nelemente && Numarul de elemente din this.aselectie + *a: aselectie[30,6] + *p: _memberdata && XML Metadata for customizable properties + * + + * + cclasa = ct_selectie_camp + ccoloanesuma = + clistacoloaneordine = + cnumecoloanesuma = + cnumetabela = + cordine = + csql = + Height = 364 + lcrosstabulare = .F. + ltitlucoloanesuma = .F. + Name = "ct_selectie" + nelemente = 0 + ToolTipText = ' Pentru detalii despre generarea rapoartelor, apasati butonul "?".' + Width = 332 + _memberdata = + + + + * + + ADD OBJECT 'Ct_grupare1' AS ct_grupare WITH ; + Height = 133, ; + Left = 5, ; + Name = "Ct_grupare1", ; + Top = 227, ; + Width = 320, ; + lb_grupare.Name = "lb_grupare", ; + _scrollcontainer1.But_jos1.Name = "But_jos1", ; + _scrollcontainer1.But_sus1.Name = "But_sus1", ; + _scrollcontainer1.Name = "_scrollcontainer1" + *< END OBJECT: ClassLib="orapoarte.vcx" BaseClass="container" /> + + ADD OBJECT 'Ct_grupare1.lblAtentie' AS lb_simplu WITH ; + AutoSize = .F., ; + Caption = "Mesaj atentie", ; + ForeColor = 255,0,0, ; + Height = 17, ; + Left = 91, ; + Name = "lblAtentie", ; + TabIndex = 9, ; + Top = 6, ; + Visible = .F., ; + Width = 223 + *< END OBJECT: ClassLib="lb.vcx" BaseClass="label" /> + + ADD OBJECT 'Ct_ordonare1' AS ct_ordonare WITH ; + Height = 133, ; + Left = 5, ; + Name = "Ct_ordonare1", ; + Top = 95, ; + Width = 320, ; + lb_ordonare.Name = "lb_ordonare", ; + _scrollcontainer1.But_jos1.Name = "But_jos1", ; + _scrollcontainer1.But_sus1.Name = "But_sus1", ; + _scrollcontainer1.Name = "_scrollcontainer1" + *< END OBJECT: ClassLib="orapoarte.vcx" BaseClass="container" /> + + ADD OBJECT 'lb_coloane' AS lb_simplu WITH ; + Caption = "Coloane in selectie:", ; + FontItalic = .T., ; + Height = 17, ; + Left = 10, ; + Name = "lb_coloane", ; + TabIndex = 9, ; + Top = 0, ; + Width = 110 + *< END OBJECT: ClassLib="lb.vcx" BaseClass="label" /> + + PROCEDURE do_actualizeaza_culori_sume + Local lnTip + lnTip = Iif(This.lcrosstabulare,2,1) + For i = 1 To This.Objects.Count + If Upper(This.Objects[i].Class) = 'CT_SELECTIE_CAMP' And This.Objects[i].lsuma + This.Objects[i].do_seteaza_culoare(lnTip) + Endif + Endfor + + ENDPROC + + PROCEDURE do_adauga + Lparameters lcCamp, lcNumeCamp, llGrupare, llOrdine, llColoaneSuma, lcCampId + *!* LPARAMETERS toSelectieCamp + + *!* LOCAL lcCamp, lcNumeCamp, llGrupare, llOrdine, llColoaneSuma + *!* WITH toSelectieCamp + *!* lcCamp = .ccamp + *!* lcNumeCamp = .cnumecamp + *!* llGrupare = .lgrupare + *!* llOrdine = .lordine + *!* llColoaneSuma = .lSuma + *!* ENDWITH + + If !llColoaneSuma + This.nelemente = This.nelemente + 1 + Ains(This.aselectie,This.nelemente) + + This.aselectie[This.nelemente,1] = Upper(Alltrim(lcCamp)) + This.aselectie[this.nelemente,2] = 0 + This.aselectie[this.nelemente,3] = 0 + This.aselectie[this.nelemente,4] = 0 + && modificare crosstabulare + This.aselectie[this.nelemente,5] = .F. + This.aselectie[this.nelemente,6] = Upper(Alltrim(Nvl(lcCampId,lcCamp))) + && campul dupa ale carui valori se face crosstabularea + && modificare crosstabulare ^ + If llGrupare + This.ct_grupare1.do_adauga_ct(Upper(Alltrim(lcCamp)),lcNumeCamp) + Endif + If llOrdine + This.ct_ordonare1.do_adauga_ct(Upper(Alltrim(lcCamp)),lcNumeCamp) + Endif + + Else + This.ccoloanesuma = This.ccoloanesuma + "|" + lcCamp + This.cnumecoloanesuma = This.cnumecoloanesuma + "|" + lcNumeCamp + Endif + + ENDPROC + + PROTECTED PROCEDURE do_compune_ordine_selectie + Lparameters taArraySelectie + Local lcOrdine, lcSens + lcOrdine = [] + Asort(taArraySelectie,3) + For i = 1 To Alen(taArraySelectie,1) + If !Empty(taArraySelectie[i,1]) And !Empty(Nvl(taArraySelectie[i,3],0)) + If Empty(taArraySelectie[i,4]) Or (taArraySelectie[i,4] = 1) + lcSens = [] + Else + lcSens = [ DESC] + Endif + lcOrdine = lcOrdine + [,] + taArraySelectie[i,1] + lcSens + Endif + Endfor + This.cOrdine = lcOrdine + ENDPROC + + PROCEDURE do_crosstabulare + && modificare crosstabulare + Lparameters lcCamp, llCrosstabulare + lnPozitie=Ascan(This.aselectie,Upper(Alltrim(lcCamp)),1,Alen(This.aselectie,1),1,9) + If !This.lcrosstabulare + If lnPozitie > 0 + This.aselectie(lnPozitie,5) = .T. + This.lcrosstabulare = .T. + llReturn = .T. + Else + llReturn = .F. + Endif + Else + If lnPozitie > 0 + If This.aselectie(lnPozitie,5) + This.aselectie(lnPozitie,5) = .F. + This.lcrosstabulare = .F. + Endif + Endif + llReturn = .F. + Endif + Return llReturn + && modificare crosstabulare ^ + ENDPROC + + PROCEDURE do_instructiune_sql + LPARAMETERS tcFiltru + *!* 22.06.2010 + *!* marius.mutu + *!* din frm_date_rapoarte_gen.do_cauta - apelez do_instructiune_sql cu filtrul dorit + *!* daca coloana de crostabulare face parte din filtru - transmit filtrul la pivot_gen.build_sql_complex - sa arat atatea coloane cate valori sunt in filtru + + *!* 08.07.2010 + *!* marius.mutu + *!* am adaugat parametrul p_separator '|' la apelul build_sql_complex + *!* daca in expresiile valorilor aparea virgula, era interpretata gresit ca separator de expresii + + Local llSelectieVida,lcSql,lcColoaneGrupate,lcAlteColoane,lcColoaneSuma,lcSelect,lcFiltru,lcGroupBy,lcOrderBy,lcOrdine,lcOrdineGrup + Local lnPozitii,llReturn + && modificare crosstabulare + Local lcIdColoanaCrossTabulare,lcColoanaCrossTabulare,lnNumarColoane,lcColoaneSumaCT,lcNumeColoaneSumaCT,lcSelectCT,lcColoaneAgregareCT + Store "" to lcIdColoanaCrossTabulare,lcColoanaCrossTabulare,lnNumarColoane,lcColoaneSumaCT,lcNumeColoaneSumaCT,lcSelectCT,lcColoaneAgregareCT + && modificare crosstabulare ^ + Store .T. To llSelectieVida + Store .T. to llReturn + *!* 08.07.2010 + LOCAL lcSeparator + lcSeparator = [|] + *!* 08.07.2010 ^ + lcSql = "" + lcMesajAtentie = "" + lnNumarColoane = Alen(This.aselectie,2) && numarul de coloane din array-ul this.aselectie + + If !Empty(This.clistacoloaneordine) + lnPozitii = Getwordcount(This.clistacoloaneordine,[,]) + 1 + Else + lnPozitii = 1 + Endif + SET STEP ON + For i = lnPozitii To Alen(Thisform.ct_selectie1.aselectie,1) + If !Empty(Thisform.ct_selectie1.aselectie[i,1]) + llSelectieVida = .F. + Exit + Endif + Endfor + If llSelectieVida + lcSql = [] + Else + Dimension laArraySelectie(This.nelemente,lnNumarColoane) + Acopy(This.aselectie,laArraySelectie,1,This.nelemente*lnNumarColoane) + This.do_compune_ordine_selectie(@laArraySelectie) + lcColoaneAgregare = This.ccoloanesuma + lcView = gcS + [.] + This.cnumetabela + lcColoaneGrupate = [] + lcAlteColoane = [] + lcColoaneSuma = [] + lcSelect = [] + lcFiltru = [1=2] + lcGroupBy = [] + lcOrderBy = [] + lcOrdine = This.cordine + lcOrdineGrup = [] + && modificare crosstabulare + lcIdColoanaCrossTabulare = [] + lcColoanaCrossTabulare = [] + && modificare crosstabulare ^ + If !Empty(This.clistacoloaneordine) + *!* sterg coloana pentru care se va face suma + For i = 1 To lnPozitii - 1 + lnPozColoana = Val(Getwordnum(This.clistacoloaneordine,i,[,])) + lcColoana = Getwordnum(This.ccoloanesuma,lnPozColoana,[|]) + lnRand = Ascan(laArraySelectie,lcColoana,1,Alen(laArraySelectie,1),1,15) + Adel(laArraySelectie,lnRand) + *!* Adel(laArraySelectie,1) + Endfor + Dimension laArraySelectie(This.nelemente-lnPozitii+1,lnNumarColoane) + Endif + Asort(laArraySelectie,2) + For i = 1 To Getwordcount(lcColoaneAgregare,[|]) + lcNumeColoana = Getwordnum(lcColoaneAgregare,i,[|]) + *!* daca se iau numele coloanelor suma din cNumeColoaneSuma sau chiar numele coloanei + If This.ltitlucoloanesuma + lcTitluColoana = Getwordnum(This.cNumecoloanesuma,i,[|]) + Try + lcTitluColoana = strtranx(lcTitluColoana, "([^a-zA-Z0-9])", [_] ) + Catch + lcTitluColoana = lcNumeColoana + Endtry + *!* lcTitluColoana = ["] + lcTitluColoana + ["] + + Else + lcTitluColoana = Getwordnum(lcColoaneAgregare,i,[|]) + Endif + + lcColoaneSuma = lcColoaneSuma + [,SUM(] + lcNumeColoana + [) as ] + lcTitluColoana + && modificare crosstabulare + lcColoaneAgregareCT = lcColoaneAgregareCT + [,SUM(] + lcNumeColoana + [) as ] + lcTitluColoana + If This.do_verifica_verticala(lcNumeColoana) + *!* 08.07.2010 + lcColoaneSumaCT = lcColoaneSumaCT + lcSeparator + lcNumeColoana + lcNumeColoaneSumaCT = lcNumeColoaneSumaCT + lcSeparator + lcTitluColoana + *!* 08.07.2010 ^ + *!* Else + *!* lcColoaneAgregareCT = lcColoaneAgregareCT + [,SUM(] + lcNumeColoana + [) as ] + lcTitluColoana + Endif + && modificare crosstabulare ^ + Endfor + For i = 1 To Alen(laArraySelectie,1) + If !Empty(laArraySelectie[i,1]) + && modificare crosstabulare + If This.lcrosstabulare And laArraySelectie[i,5] + lcColoanaCrossTabulare = laArraySelectie[i,1] + lcIdColoanaCrossTabulare = laArraySelectie[i,6] + Else + && modificare crosstabulare ^ + If !Empty(laArraySelectie[i,2]) + lcColoaneGrupate = lcColoaneGrupate + [,] + Alltrim(laArraySelectie[i,1]) + Else + lcAlteColoane = lcAlteColoane + [,] + Alltrim(laArraySelectie[i,1]) + Endif + && modificare crosstabulare + Endif + && modificare crosstabulare ^ + Endif + Endfor + *!* daca sunt campuri pentru care se face suma, trebuie sa fie si campuri dupa care se grupeaza + If Empty(lcColoaneGrupate) And !Empty(lcColoaneSuma) + lcSql = [] + lcMesajAtentie = "Trebuie sa bifati campurile pentru grupare!" + llReturn = .F. + Else + If !Empty(lcColoaneGrupate) + lcSelect = [GROUPING_ID(]+Substr(lcColoaneGrupate,2)+lcAlteColoane+[) AS GID] + lcColoaneGrupate + lcOrdineGrup = Substr(lcColoaneGrupate,2) + [,GID] + If Empty(lcAlteColoane) + && modificare crosstabulare + lcSelectCT = lcSelect + && modificare crosstabulare ^ + lcSelect = lcSelect + lcColoaneSuma + lcGroupBy = [ GROUP BY ROLLUP(]+Substr(lcColoaneGrupate,2)+[) ] + Else + && modificare crosstabulare + lcSelectCT = lcSelect + lcAlteColoane + && modificare crosstabulare ^ + lcSelect = lcSelect + lcAlteColoane + lcColoaneSuma + lcGroupBy = [ GROUP BY ROLLUP(]+Substr(lcColoaneGrupate,2)+[,(]+Substr(lcAlteColoane,2)+[)) ] + Endif + Else + lcSelect = lcSelect + [GROUPING_ID(] + Substr(lcAlteColoane,2) +[) AS GID] + ; + lcAlteColoane + lcColoaneSuma + && modificare crosstabulare + lcSelectCT = lcSelectCT + [GROUPING_ID(] + Substr(lcAlteColoane,2) +[) AS GID] + ; + lcAlteColoane + && modificare crosstabulare ^ + lcGroupBy = [ GROUP BY ROLLUP((] + Substr(lcAlteColoane,2) + [))] + lcOrdineGrup = [GID] + Endif + Do Case + Case !Empty(lcOrdine) And !Empty(lcOrdineGrup) + lcOrderBy = [ ORDER BY ] + lcOrdineGrup + lcOrdine + Case !Empty(lcOrdine) And Empty(lcOrdineGrup) + lcOrderBy = [ ORDER BY ] + Substr(lcOrdine,2) + Case !Empty(lcOrdineGrup) + lcOrderBy = [ ORDER BY ] + lcOrdineGrup + Otherwise + lcOrderBy = [] + Endcase + && modificare crosstabulare + If This.lcrosstabulare + If Empty(lcColoaneSumaCT) + amessagebox("Ati ales coloana pentru crosstabulare," + ; + "dar nu ati ales sumele care doriti sa fie calculate pentru valorile coloanei respective!",48,"Atentie") + llReturn = .F. + Return llReturn + ENDIF + *!* 22.06.2010 + IF UPPER(ALLTRIM(m.lcColoanaCrossTabulare))$UPPER(ALLTRIM(m.tcFiltru)) OR UPPER(ALLTRIM(m.lcIdColoanaCrossTabulare))$UPPER(ALLTRIM(m.tcFiltru)) + lcFiltru = STRTRAN(m.tcFiltru, ['], ['']) + ENDIF + *!* 22.06.2010 ^ + + Local lcCursorCrossTab + lcCursorCrossTab = [crscross] + *!* 08.07.2010 + lcSql = [select pivot_gen.build_sql_complex('] + Strtran(lcView,gcS + [.],[]) + [',] + ; + ['] + Strtran(lcSelectCT,['],['']) + [',] + ; + ['] + Strtran(Substr(lcColoaneAgregareCT,2),['],['']) + [',] + ; + ['] + Strtran(lcIdColoanaCrossTabulare,['],['']) + [',] + ; + ['] + Strtran(lcColoanaCrossTabulare,['],['']) + [',] + ; + ['] + Strtran(Substr(lcColoaneSumaCT,2),['],['']) + [',] + ; + ['] + Strtran(Substr(lcNumeColoaneSumaCT,2),['],['']) + [',] + ; + ['SUM',] + ; + ['0',] + ; + ['] + lcFiltru + [',] + ; + [0,] + ; + ['] + Strtran(lcGroupBy,[GROUP BY],[]) + [',] + ; + ['] + Strtran(Strtran(Strtran(lcOrderBy,[,]+lcColoanaCrossTabulare,[]),lcColoanaCrossTabulare+[,],[]),[ORDER BY],[]) + [',] + ; + ['|') as sir_sql from dual] + *!* 08.07.2010 ^ + lnSucces = goExecutor.oExecute(lcSql,lcCursorCrossTab) + If lnSucces < 0 + lcSql = [] + lcMesajAtentie = [Eroare la crosstabulare!] + amessagebox(goExecutor.cEroare,48,"Atentie") + llReturn = .F. + Else + If Reccount(lcCursorCrossTab) > 0 + Select (lcCursorCrossTab) + lcSql = Alltrim(sir_sql) + Endif + Use In (lcCursorCrossTab) + Endif + Else + && modificare crosstabulare ^^ + lcSql = [SELECT ] + lcSelect + [ FROM ] + lcView + ; + [ WHERE ] + lcFiltru + lcGroupBy + lcOrderBy + && modificare crosstabulare + Endif + && modificare crosstabulare ^^ + Release laArraySelectie + Endif && EMPTY(lcColoaneGrupate) AND !EMPTY(lcColoaneSuma) + Endif && llSelectieVida + This.cSql = lcSql + + This.ct_grupare1.lblAtentie.Caption = lcMesajAtentie + This.ct_grupare1.lblAtentie.Visible = !Empty(lcMesajAtentie) + Return llReturn + + ENDPROC + + PROCEDURE do_modifica + Lparameters tnColoana,tcCamp,tnValoare + && tnColoana : 2 - ordine grupare + && 3 - ordine la ordonare + && 4 - sens la ordonare = 1 - ASC + && 2 - DESC + && 5 - cross-tabulare + && 6 - valoarea dupa care se face cross-tabularea + lnPozitie=Ascan(This.aselectie,Upper(Alltrim(tcCamp)),1,30,1,9) + If lnPozitie > 0 + This.aselectie[lnPozitie,tnColoana]=tnValoare + Endif + + ENDPROC + + PROCEDURE do_reset + Local i + For i = 1 To This.Objects.Count + If Upper(Alltrim(This.Objects(i).Class)) = [CT_SELECTIE_CAMP] + This.Objects(i).ck_camp.Value = 0 + *!* With This.Objects(i) + *!* This.do_sterge(.ccamp, .cnumecamp, .lSuma) + *!* Endwith + Endif + EndFor + This.ct_GRUPARE1.do_reset() + This.ct_orDONARE1.do_reset() + Release i + ENDPROC + + PROCEDURE do_sterge + LPARAMETERS lcCamp, lcNumeCamp, llColoaneSuma + *!* LPARAMETERS toSelectieCamp + + *!* LOCAL lcCamp, lcNumeCamp + *!* WITH toSelectieCamp + *!* lcCamp = .ccamp + *!* lcNumeCamp = .cnumecamp + *!* llColoaneSuma = .lSuma + *!* ENDWITH + + && modificare crosstabulare + *!* lnPozitie=Ascan(This.aselectie,Upper(Alltrim(lcCamp)),1,30,1,9) + lnPozitie=Ascan(This.aselectie,Upper(Alltrim(lcCamp)),1,Alen(This.aselectie,1),1,9) + && modificare crosstabulare ^ + If lnPozitie > 0 + && modificare crosstabulare + If This.aselectie[lnPozitie,5] + This.lcrosstabulare = .F. + Endif + && modificare crosstabulare ^ + Adel(This.aselectie,lnPozitie) + This.nelemente = This.nelemente - 1 + Endif + This.ct_grupare1.do_sterge_ct(lcCamp) + This.ct_ordonare1.do_sterge_ct(lcCamp) + + *!* AMESSAGEBOX(this.ccoloanesuma) + *!* AMESSAGEBOX(this.cnumecoloanesuma) + IF llColoaneSuma + this.ccoloanesuma = STRTRAN(this.ccoloanesuma + [|], [|] + lcCamp + [|], [|]) + IF RIGHT(this.ccoloanesuma,1) = [|] + this.ccoloanesuma = LEFT(this.ccoloanesuma, LEN(this.ccoloanesuma) - 1) + ENDIF + + this.cnumecoloanesuma = STRTRAN(this.cnumecoloanesuma + [|], [|] + lcNumeCamp + [|], [|]) + IF RIGHT(this.cnumecoloanesuma,1) = [|] + this.cnumecoloanesuma = LEFT(this.cnumecoloanesuma, LEN(this.cnumecoloanesuma) - 1) + ENDIF + ENDIF + *!* AMESSAGEBOX(this.ccoloanesuma) + *!* AMESSAGEBOX(this.cnumecoloanesuma) + + ENDPROC + + PROCEDURE do_verifica_verticala + Lparameters lcCamp + Local j + llVerticala = .F. + For j = 1 To This.Objects.Count + If Upper(This.Objects[j].Class) = 'CT_SELECTIE_CAMP' And Upper(This.Objects[j].ccamp) = Upper(lcCamp) + llVerticala = This.Objects[j].lverticala + Exit + Endif + Endfor + Release j + Return llVerticala + ENDPROC + + PROCEDURE get_coloane_crosstabulare + Local lcCrossTabulare + lcCrossTabulare = [] + For j = 1 To This.Objects.Count + If Upper(This.Objects[j].Class) = [CT_SELECTIE_CAMP] + If This.Objects[j].lverticala + *!* modificare 28.04.2011 : campul dupa care se face crosstabularea trebuie sa-l pun pe prima pozitie, altfel, la + *!* incarcarea unui raport salvat, nu imi mai pune coloanele de la crosstabulare ( trebuie sa fie + *!* bifata mai intai coloana cu .cidcamp completat ) + *!* lcCrossTabulare = lcCrossTabulare + [,] + Strtran(Upper(This.Objects[j].Name),[CT_SELECTIE_]) + If !Isnull(This.Objects[j].cidcamp) + lcCrossTabulare = [,] + Strtran(Upper(This.Objects[j].Name),[CT_SELECTIE_]) + lcCrossTabulare + ELSE + lcCrossTabulare = lcCrossTabulare + [,] + Strtran(Upper(This.Objects[j].Name),[CT_SELECTIE_]) + ENDIF + *!* modificare 28.04.2011 ^ + Endif + Endif + Endfor + Return Substr(lcCrossTabulare,2) + ENDPROC + + PROCEDURE get_coloane_grupare + Local laArray,lcGrupare + lcGrupare = [] + Dimension laArray[Alen(this.aselectie,1),Alen(this.aselectie,2)] + Acopy(This.aselectie,laArray) + For i = 1 To Alen(laArray,1) + If Empty(laArray[i,2]) + laArray[i,2] = 0 + Endif + Endfor + Asort(laArray,2) + For i = 1 To Alen(laArray,1) + If !Empty(laArray[i,2]) + lcGrupare = lcGrupare + [,] + Alltrim(Str(Ascan(this.aselectie,laArray[i,1],1,Alen(this.aselectie,1),1,9))) + Endif + Endfor + Return Substr(lcGrupare,2) + ENDPROC + + PROCEDURE get_coloane_ordonare + Local laArray,lcGrupare + lcOrdonare = [] + Dimension laArray[Alen(this.aselectie,1),Alen(this.aselectie,2)] + Acopy(This.aselectie,laArray) + For i = 1 To Alen(laArray,1) + If Empty(laArray[i,3]) + laArray[i,3] = 0 + Endif + Endfor + Asort(laArray,3) + For i = 1 To Alen(laArray,1) + If !Empty(laArray[i,3]) + lcOrdonare = lcOrdonare + [,] + Alltrim(Str(Ascan(this.aselectie,laArray[i,1],1,Alen(this.aselectie,1),1,9))) + Iif(Empty(laArray[i,4]) Or laArray[i,4] = 1,[],[ DESC]) + Endif + Endfor + Return Substr(lcOrdonare,2) + ENDPROC + + PROCEDURE get_coloane_selectie + Local lcSelectie + lcSelectie = [] + *!* For i = 1 To Alen(This.aselectie,1) + *!* If !Empty(This.aselectie[i,1]) + *!* lcSelectie = lcSelectie + [,] + This.aselectie[i,1] + *!* Endif + *!* EndFor + *!* lcColoaneSuma = Substr(This.ccoloanesuma,2) + *!* For i = 1 To Getwordcount(lcColoaneSuma,[,]) + *!* lcColoana = Upper(Getwordnum(lcColoaneSuma,i,[,])) + *!* For j = 1 To This.Objects.Count + *!* If Upper(This.Objects[j].Class) = [CT_SELECTIE_CAMP] + *!* If Upper(This.Objects[j].ccamp) = lcColoana + *!* lcSelectie = lcSelectie + [,] + Strtran(Upper(This.Objects[j].Name),[CT_SELECTIE_]) + *!* Endif + *!* Endif + *!* Endfor + *!* Endfor + For j = 1 To This.Objects.Count + If Upper(This.Objects[j].Class) = [CT_SELECTIE_CAMP] + If This.Objects[j].ck_camp.Value = 1 + lcSelectie = lcSelectie + [,] + Strtran(Upper(This.Objects[j].Name),[CT_SELECTIE_]) + Endif + Endif + Endfor + Return Substr(lcSelectie,2) + + ENDPROC + + PROCEDURE Init + *!* la ccoloanesuma si cnumecoloanesuma am ca separator <<|>> si nu <<,>> pentru ca pot avea ca si coloana o expresie de forma : + *!* round(....,...) si atunci nu-mi ia corect coloana + + If !Empty(This.clistacoloaneordine) + *!* se adauga la ordine si prima coloana din coloanele de sume + lcLista = Alltrim(Iif(Type('This.clistacoloaneordine')='C',This.clistacoloaneordine,Str(This.clistacoloaneordine))) + This.clistacoloaneordine=lcLista + For i = 1 To Getwordcount(lcLista,[,]) + lnPozitie=Val(Getwordnum(lcLista,i,[,])) + lcNume=Proper(Getwordnum(This.ccoloanesuma,lnPozitie,[|])) + If !Empty(This.cnumecoloanesuma) + lcNumeCamp=Proper(Getwordnum(This.cnumecoloanesuma,lnPozitie,[|])) + Else + lcNumeCamp = lcNume + Endif + This.do_adauga(lcNume,lcNumeCamp,.F.,.T.) + Endfor + Endif + Bindevent(This,"lcrosstabulare",This,"do_actualizeaza_culori_sume",1) + + ENDPROC + +ENDDEFINE + +DEFINE CLASS ct_selectie_camp AS _container OF "_baza.vcx" + *< CLASSDATA: Baseclass="container" Timestamp="" Scale="Pixels" Uniqueid="" /> + + *-- OBJECTDATA items order determines ZOrder / El orden de los items OBJECTDATA determina el ZOrder + *< OBJECTDATA: ObjPath="ck_camp" UniqueID="" Timestamp="" /> + + * + *m: actualizeaza_container + *m: do_seteaza_culoare + *p: ccamp + *p: cidcamp && Numele campului care contine id-urile corespunzatoare coloanei "ccamp" ( pentru folosit la campurile cu lverticala = .T. ). + *p: cnumecamp + *p: csens + *p: lgrupare && .T. daca se pot face grupari dupa acest camp. + *p: lordine && .T. daca se poate ordona dupa acest camp. + *p: lsuma && Acest camp va fi adaugat in proprietatea cColoaneSuma a containerului ct_selectie + *p: lverticala && .T. daca valorile posibile pentru aceasta coloana vor aparea ca si coloane. + *p: nid_container + *p: nordine_grup + *p: nordine_ordine + *p: nselectat + *p: rgbcrosstab && Culoarea folosita pentru coloana ale carei valori pot fi crosstabulate. + *p: rgbnormal + *p: rgbselectcrosstab && Culoarea coloanei dupa care se face crosstabularea. + *p: _memberdata && XML Metadata for customizable properties + * + + * + BorderWidth = 0 + ccamp = + cidcamp = .NULL. + cnumecamp = + csens = + Height = 19 + lgrupare = .T. + lordine = .T. + lsuma = .F. + lverticala = .F. + Name = "ct_selectie_camp" + nid_container = 0 + nordine_grup = 0 + nordine_ordine = 0 + nselectat = 0 + rgbcrosstab = 2,119,5 + rgbnormal = 0,0,0 + rgbselectcrosstab = 0,0,255 + Width = 108 + _memberdata = + + + + + + + + + + * + + ADD OBJECT 'ck_camp' AS _checkbox WITH ; + Alignment = 0, ; + Caption = "Camp", ; + Left = 9, ; + Name = "ck_camp", ; + Top = 1 + *< END OBJECT: ClassLib="_baza.vcx" BaseClass="checkbox" /> + + PROCEDURE actualizeaza_container + Lparameters llVizibil + This.Visible=llVizibil + This.ck_camp.FontBold = .F. + This.ck_camp.Value = 0 + This.ngrupat = 0 + ENDPROC + + PROCEDURE do_seteaza_culoare + Lparameters tnTip + *!* tnTip = 1 - rgbnormal + *!* 2 - rgbcrosstab + Local lcCuloare + Store [] To lcCuloare + If tnTip = 1 + lcCuloare = [Rgb(] + This.rgbnormal + [)] + This.lverticala = .F. + Else + lcCuloare = [Rgb(] + This.rgbcrosstab + [)] + Endif + This.ck_camp.ForeColor = &lcCuloare + ENDPROC + + PROCEDURE Init + This.ck_camp.Caption = This.cnumecamp + This.do_seteaza_culoare(Iif(Isnull(This.cidcamp),1,2)) + ENDPROC + + PROCEDURE ck_camp.Click + This.ProgrammaticChange() + ENDPROC + + PROCEDURE ck_camp.ProgrammaticChange + This.Parent.nselectat = This.Value + If This.Value = 1 + This.FontBold=.T. + This.Parent.Parent.do_adauga(This.Parent.ccamp, This.Parent.cnumecamp, This.Parent.lgrupare, This.Parent.lordine, This.Parent.lSuma, This.Parent.cidcamp) + Else + This.FontBold = .F. + && modificare crosstabulare + *!* lcCuloare = [Rgb(] + Iif(Isnull(This.Parent.cidcamp),This.Parent.rgbnormal,This.Parent.rgbcrosstab) + [)] + lcCuloare = [Rgb(] + Iif((This.Parent.lsuma And This.Parent.Parent.lcrosstabulare) ; + or !Isnull(This.Parent.cidcamp),This.Parent.rgbcrosstab,This.Parent.rgbnormal) + [)] + This.ForeColor = &lcCuloare + This.Parent.lverticala = .F. + && modificare crosstabulare ^ + This.Parent.Parent.do_sterge(This.Parent.ccamp, This.Parent.cnumecamp, This.Parent.lSuma) + Endif + ENDPROC + + PROCEDURE ck_camp.RightClick + && modificare crosstabulare + If This.Value = 1 + If !Isnull(This.Parent.cidcamp) + This.Parent.lverticala = This.Parent.Parent.do_crosstabulare(This.Parent.ccamp,This.Parent.lverticala) + Endif + If This.Parent.lsuma And This.Parent.Parent.lcrosstabulare + This.Parent.lverticala = !This.Parent.lverticala + Endif + If This.Parent.lverticala + lcCuloare = [Rgb(] + This.Parent.rgbselectcrosstab + [)] + Else + lcCuloare = [Rgb(] + Iif((This.Parent.lsuma And This.Parent.Parent.lcrosstabulare) ; + or !Isnull(This.Parent.cidcamp),This.Parent.rgbcrosstab,This.Parent.rgbnormal) + [)] + Endif + This.ForeColor = &lcCuloare + Endif + && modificare crosstabulare ^ + + ENDPROC + +ENDDEFINE + +DEFINE CLASS ct_selectie_sql AS _container OF "_baza.vcx" + *< CLASSDATA: Baseclass="container" Timestamp="" Scale="Pixels" Uniqueid="" /> + + *-- OBJECTDATA items order determines ZOrder / El orden de los items OBJECTDATA determina el ZOrder + *< OBJECTDATA: ObjPath="edtSelectie" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="cmdParametri" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="lb_coloane" UniqueID="" Timestamp="" /> + + * + *m: do_actualizeaza_culori_sume + *m: do_adauga + *m: do_compune_ordine_selectie + *m: do_crosstabulare + *m: do_instructiune_sql + *m: do_modifica + *m: do_reset + *m: do_sterge + *m: do_verifica_verticala + *m: get_coloane_crosstabulare + *m: get_coloane_grupare + *m: get_coloane_ordonare + *m: get_coloane_selectie + *p: cclasa && Clasa folosita pentru checkbox-urile din selectii. + *p: ccoloanesuma && Numele coloanelor care sunt agregate. + *p: clistacoloaneordine && Lista delimitata prin virgula ce contine pozitiile din ccoloanesuma pentru care se vor adauga containere la ordonare. + *p: cnumecoloanesuma + *p: cnumetabela && Numele tabelei/view-ului din care se face selectia. + *p: cordine + *p: csql + *p: lcrosstabulare && .T. daca a fost selectata o coloana pentru crosstabulare + *p: ltitlucoloanesuma && Daca numele coloanelor selectate se face dupa valoare din cNumeColoaneSuma + *p: nelemente && Numarul de elemente din this.aselectie + *a: aselectie[30,6] + *p: _memberdata && XML Metadata for customizable properties + * + + * + Anchor = 15 + cclasa = ct_selectie_camp + ccoloanesuma = + clistacoloaneordine = + cnumecoloanesuma = + cnumetabela = + cordine = + csql = + Height = 364 + lcrosstabulare = .F. + ltitlucoloanesuma = .F. + Name = "ct_selectie_sql" + nelemente = 0 + ToolTipText = ' Pentru detalii despre generarea rapoartelor, apasati butonul "?".' + Width = 332 + _memberdata = + + + + * + + ADD OBJECT 'cmdParametri' AS _commandbutton WITH ; + Caption = "Optiuni", ; + Height = 22, ; + Left = 51, ; + Name = "cmdParametri", ; + SpecialEffect = 0, ; + Top = 4, ; + Width = 60 + *< END OBJECT: ClassLib="_baza.vcx" BaseClass="commandbutton" /> + + ADD OBJECT 'edtSelectie' AS _editbox WITH ; + Anchor = 15, ; + Height = 325, ; + Left = 12, ; + Name = "edtSelectie", ; + Top = 30, ; + Width = 312 + *< END OBJECT: ClassLib="_baza.vcx" BaseClass="editbox" /> + + ADD OBJECT 'lb_coloane' AS lb_simplu WITH ; + Caption = "SQL", ; + FontItalic = .T., ; + Height = 17, ; + Left = 16, ; + Name = "lb_coloane", ; + TabIndex = 9, ; + Top = 8, ; + Width = 26 + *< END OBJECT: ClassLib="lb.vcx" BaseClass="label" /> + + PROCEDURE do_actualizeaza_culori_sume + Local lnTip + lnTip = Iif(This.lcrosstabulare,2,1) + For i = 1 To This.Objects.Count + If Upper(This.Objects[i].Class) = 'CT_SELECTIE_CAMP' And This.Objects[i].lsuma + This.Objects[i].do_seteaza_culoare(lnTip) + Endif + Endfor + + ENDPROC + + PROCEDURE do_adauga + Lparameters lcCamp, lcNumeCamp, llGrupare, llOrdine, llColoaneSuma, lcCampId + *!* LPARAMETERS toSelectieCamp + + *!* LOCAL lcCamp, lcNumeCamp, llGrupare, llOrdine, llColoaneSuma + *!* WITH toSelectieCamp + *!* lcCamp = .ccamp + *!* lcNumeCamp = .cnumecamp + *!* llGrupare = .lgrupare + *!* llOrdine = .lordine + *!* llColoaneSuma = .lSuma + *!* ENDWITH + + If !llColoaneSuma + This.nelemente = This.nelemente + 1 + Ains(This.aselectie,This.nelemente) + + This.aselectie[This.nelemente,1] = Upper(Alltrim(lcCamp)) + This.aselectie[this.nelemente,2] = 0 + This.aselectie[this.nelemente,3] = 0 + This.aselectie[this.nelemente,4] = 0 + && modificare crosstabulare + This.aselectie[this.nelemente,5] = .F. + This.aselectie[this.nelemente,6] = Upper(Alltrim(Nvl(lcCampId,lcCamp))) + && campul dupa ale carui valori se face crosstabularea + && modificare crosstabulare ^ + If llGrupare + This.ct_grupare1.do_adauga_ct(Upper(Alltrim(lcCamp)),lcNumeCamp) + Endif + If llOrdine + This.ct_ordonare1.do_adauga_ct(Upper(Alltrim(lcCamp)),lcNumeCamp) + Endif + + Else + This.ccoloanesuma = This.ccoloanesuma + "|" + lcCamp + This.cnumecoloanesuma = This.cnumecoloanesuma + "|" + lcNumeCamp + Endif + + ENDPROC + + PROTECTED PROCEDURE do_compune_ordine_selectie + Lparameters taArraySelectie + Local lcOrdine, lcSens + lcOrdine = [] + Asort(taArraySelectie,3) + For i = 1 To Alen(taArraySelectie,1) + If !Empty(taArraySelectie[i,1]) And !Empty(Nvl(taArraySelectie[i,3],0)) + If Empty(taArraySelectie[i,4]) Or (taArraySelectie[i,4] = 1) + lcSens = [] + Else + lcSens = [ DESC] + Endif + lcOrdine = lcOrdine + [,] + taArraySelectie[i,1] + lcSens + Endif + Endfor + This.cOrdine = lcOrdine + ENDPROC + + PROCEDURE do_crosstabulare + && modificare crosstabulare + Lparameters lcCamp, llCrosstabulare + lnPozitie=Ascan(This.aselectie,Upper(Alltrim(lcCamp)),1,Alen(This.aselectie,1),1,9) + If !This.lcrosstabulare + If lnPozitie > 0 + This.aselectie(lnPozitie,5) = .T. + This.lcrosstabulare = .T. + llReturn = .T. + Else + llReturn = .F. + Endif + Else + If lnPozitie > 0 + If This.aselectie(lnPozitie,5) + This.aselectie(lnPozitie,5) = .F. + This.lcrosstabulare = .F. + Endif + Endif + llReturn = .F. + Endif + Return llReturn + && modificare crosstabulare ^ + ENDPROC + + PROCEDURE do_instructiune_sql + Lparameters tcFiltru + + Local llReturn, i, lcText, lcValue, llEroare + Local lcFiltru, lnParametri, lcParametruValoare, lcParametru, lcValoare, lnAtPos1, lnAtPos2 + + llReturn = .F. + + * EXTRAGERE VALORI PARAMETRI DIN TCFILTRU + * TNAN = 2010 AND TNLUNA = 9 AND SUCURSALA + * AN AND S + Create Cursor crsParametriValori (parametru C(100), valoare M) + + lcFiltru = Strtran(Upper(Alltrim(tcFiltru)), 'AND' , '|') + lnParametri = Getwordcount(lcFiltru, '|') + For i = 1 To lnParametri + lcParametruValoare = Getwordnum(lcFiltru, i, '|') + If !Empty(m.lcParametruValoare) && TNAN = 2010 + lcParametru = Upper(Alltrim(Getwordnum(m.lcParametruValoare, 1, '='))) && TNAN + + * Se pare ca parametri de tip C au UPPER(parametru) = 'valoare' + * Scot UPPER() + lcParametru = STRTRAN(m.lcParametru, 'UPPER(', '') + lcParametru = STRTRAN(m.lcParametru, ')', '') + + Do Case + * parametri cuvinte rezervate trebuie sa fie definiti cu tipul E + * pe camp cautare id trebuie sa fie tot numele parametrului + Case lcParametru = 'SUCURSALA' && sucursala curenta + lcValoare = gcCondSucursala + Case lcParametru = 'AN' && an curent + lcValoare = ALLTRIM(STR(gnAn)) && Alltrim(Str(m.gnAn)) + Case lcParametru = 'LUNA' && luna curenta + lcValoare = ALLTRIM(STR(gnLuna)) && Alltrim(Str(m.gnLuna)) + Otherwise + lcValoare = Alltrim(Getwordnum(m.lcParametruValoare, 2, '=')) && 2010 + * Scot apostroafele din valorile de tip caracter ex: UPPER(tnZIuaCURENTA) = '04102010' + IF INLIST(LEFT(m.lcValoare,1), ['], ["]) AND INLIST(RIGHT(m.lcValoare,1), ['], ["]) + lcValoare = SUBSTR(m.lcValoare, 2, LEN(m.lcValoare) - 2) + ENDIF + Endcase + + Insert Into crsParametriValori (parametru, valoare) Values (lcParametru, lcValoare) + Endif + Endfor + + * RAW SQL + * select * from act where an = <%=TNAN%> and luna = <%=TNLUNA%> + lcText = Alltrim(This.edtSelectie.Value) + + * FAC MERGE VALORI PARAMETRI IN RAW SQL + llEroare = .F. + Do While Atcc('<%=', lcText) > 0 + * Get the start and end position of the next expression + lnAtPos1 = Atcc('<%=', lcText) + lnAtPos2 = Atcc('%>', lcText) + + * Extract the next expression + lcParametru = Substr(m.lcText, lnAtPos1 + 3, lnAtPos2 - lnAtPos1 - 3) + * Remove any cariage returns from the expression as they could be inserted by an HTML editor + lcParametru = Upper(Alltrim(Chrtran(m.lcParametru, Chr(13) + Chr(10), ''))) + + lcValue = "" + Select crsParametriValori + Locate For parametru = lcParametru + If Found() + lcValue = valoare + ELSE + AMESSAGEBOX('Nu este completata valoarea parametrului ' + lcParametru + '!',0+48, _screen.Caption) + llEroare = .T. + EXIT + Endif + * Stuff the result back instead of the original expression + lcText = Stuffc(lcText, lnAtPos1, lnAtPos2 - lnAtPos1 + 2, lcValue) + Enddo + IF !llEroare + This.cSql = m.lcText + llReturn = .T. + ELSE + This.cSql = "" + llReturn = .F. + ENDIF + + Return llReturn + + ENDPROC + + PROCEDURE do_modifica + Lparameters tnColoana,tcCamp,tnValoare + && tnColoana : 2 - ordine grupare + && 3 - ordine la ordonare + && 4 - sens la ordonare = 1 - ASC + && 2 - DESC + && 5 - cross-tabulare + && 6 - valoarea dupa care se face cross-tabularea + lnPozitie=Ascan(This.aselectie,Upper(Alltrim(tcCamp)),1,30,1,9) + If lnPozitie > 0 + This.aselectie[lnPozitie,tnColoana]=tnValoare + Endif + + ENDPROC + + PROCEDURE do_reset + THIS.edtSelectie.Value = "" + ENDPROC + + PROCEDURE do_sterge + LPARAMETERS lcCamp, lcNumeCamp, llColoaneSuma + *!* LPARAMETERS toSelectieCamp + + *!* LOCAL lcCamp, lcNumeCamp + *!* WITH toSelectieCamp + *!* lcCamp = .ccamp + *!* lcNumeCamp = .cnumecamp + *!* llColoaneSuma = .lSuma + *!* ENDWITH + + && modificare crosstabulare + *!* lnPozitie=Ascan(This.aselectie,Upper(Alltrim(lcCamp)),1,30,1,9) + lnPozitie=Ascan(This.aselectie,Upper(Alltrim(lcCamp)),1,Alen(This.aselectie,1),1,9) + && modificare crosstabulare ^ + If lnPozitie > 0 + && modificare crosstabulare + If This.aselectie[lnPozitie,5] + This.lcrosstabulare = .F. + Endif + && modificare crosstabulare ^ + Adel(This.aselectie,lnPozitie) + This.nelemente = This.nelemente - 1 + Endif + This.ct_grupare1.do_sterge_ct(lcCamp) + This.ct_ordonare1.do_sterge_ct(lcCamp) + + *!* AMESSAGEBOX(this.ccoloanesuma) + *!* AMESSAGEBOX(this.cnumecoloanesuma) + IF llColoaneSuma + this.ccoloanesuma = STRTRAN(this.ccoloanesuma + [|], [|] + lcCamp + [|], [|]) + IF RIGHT(this.ccoloanesuma,1) = [|] + this.ccoloanesuma = LEFT(this.ccoloanesuma, LEN(this.ccoloanesuma) - 1) + ENDIF + + this.cnumecoloanesuma = STRTRAN(this.cnumecoloanesuma + [|], [|] + lcNumeCamp + [|], [|]) + IF RIGHT(this.cnumecoloanesuma,1) = [|] + this.cnumecoloanesuma = LEFT(this.cnumecoloanesuma, LEN(this.cnumecoloanesuma) - 1) + ENDIF + ENDIF + *!* AMESSAGEBOX(this.ccoloanesuma) + *!* AMESSAGEBOX(this.cnumecoloanesuma) + + ENDPROC + + PROCEDURE do_verifica_verticala + Lparameters lcCamp + Local j + llVerticala = .F. + For j = 1 To This.Objects.Count + If Upper(This.Objects[j].Class) = 'CT_SELECTIE_CAMP' And Upper(This.Objects[j].ccamp) = Upper(lcCamp) + llVerticala = This.Objects[j].lverticala + Exit + Endif + Endfor + Release j + Return llVerticala + ENDPROC + + PROCEDURE get_coloane_crosstabulare + Local lcCrossTabulare + lcCrossTabulare = [] + For j = 1 To This.Objects.Count + If Upper(This.Objects[j].Class) = [CT_SELECTIE_CAMP] + If This.Objects[j].lverticala + lcCrossTabulare = lcCrossTabulare + [,] + Strtran(Upper(This.Objects[j].Name),[CT_SELECTIE_]) + Endif + Endif + Endfor + Return Substr(lcCrossTabulare,2) + ENDPROC + + PROCEDURE get_coloane_grupare + Local laArray,lcGrupare + lcGrupare = [] + Dimension laArray[Alen(this.aselectie,1),Alen(this.aselectie,2)] + Acopy(This.aselectie,laArray) + For i = 1 To Alen(laArray,1) + If Empty(laArray[i,2]) + laArray[i,2] = 0 + Endif + Endfor + Asort(laArray,2) + For i = 1 To Alen(laArray,1) + If !Empty(laArray[i,2]) + lcGrupare = lcGrupare + [,] + Alltrim(Str(Ascan(this.aselectie,laArray[i,1],1,Alen(this.aselectie,1),1,9))) + Endif + Endfor + Return Substr(lcGrupare,2) + ENDPROC + + PROCEDURE get_coloane_ordonare + Local laArray,lcGrupare + lcOrdonare = [] + Dimension laArray[Alen(this.aselectie,1),Alen(this.aselectie,2)] + Acopy(This.aselectie,laArray) + For i = 1 To Alen(laArray,1) + If Empty(laArray[i,3]) + laArray[i,3] = 0 + Endif + Endfor + Asort(laArray,3) + For i = 1 To Alen(laArray,1) + If !Empty(laArray[i,3]) + lcOrdonare = lcOrdonare + [,] + Alltrim(Str(Ascan(this.aselectie,laArray[i,1],1,Alen(this.aselectie,1),1,9))) + Iif(Empty(laArray[i,4]) Or laArray[i,4] = 1,[],[ DESC]) + Endif + Endfor + Return Substr(lcOrdonare,2) + ENDPROC + + PROCEDURE get_coloane_selectie + Local lcSelectie + lcSelectie = [] + *!* For i = 1 To Alen(This.aselectie,1) + *!* If !Empty(This.aselectie[i,1]) + *!* lcSelectie = lcSelectie + [,] + This.aselectie[i,1] + *!* Endif + *!* EndFor + *!* lcColoaneSuma = Substr(This.ccoloanesuma,2) + *!* For i = 1 To Getwordcount(lcColoaneSuma,[,]) + *!* lcColoana = Upper(Getwordnum(lcColoaneSuma,i,[,])) + *!* For j = 1 To This.Objects.Count + *!* If Upper(This.Objects[j].Class) = [CT_SELECTIE_CAMP] + *!* If Upper(This.Objects[j].ccamp) = lcColoana + *!* lcSelectie = lcSelectie + [,] + Strtran(Upper(This.Objects[j].Name),[CT_SELECTIE_]) + *!* Endif + *!* Endif + *!* Endfor + *!* Endfor + For j = 1 To This.Objects.Count + If Upper(This.Objects[j].Class) = [CT_SELECTIE_CAMP] + If This.Objects[j].ck_camp.Value = 1 + lcSelectie = lcSelectie + [,] + Strtran(Upper(This.Objects[j].Name),[CT_SELECTIE_]) + Endif + Endif + Endfor + Return Substr(lcSelectie,2) + + ENDPROC + + PROCEDURE Init + *!* la ccoloanesuma si cnumecoloanesuma am ca separator <<|>> si nu <<,>> pentru ca pot avea ca si coloana o expresie de forma : + *!* round(....,...) si atunci nu-mi ia corect coloana + + If !Empty(This.clistacoloaneordine) + *!* se adauga la ordine si prima coloana din coloanele de sume + lcLista = Alltrim(Iif(Type('This.clistacoloaneordine')='C',This.clistacoloaneordine,Str(This.clistacoloaneordine))) + This.clistacoloaneordine=lcLista + For i = 1 To Getwordcount(lcLista,[,]) + lnPozitie=Val(Getwordnum(lcLista,i,[,])) + lcNume=Proper(Getwordnum(This.ccoloanesuma,lnPozitie,[|])) + If !Empty(This.cnumecoloanesuma) + lcNumeCamp=Proper(Getwordnum(This.cnumecoloanesuma,lnPozitie,[|])) + Else + lcNumeCamp = lcNume + Endif + This.do_adauga(lcNume,lcNumeCamp,.F.,.T.) + Endfor + Endif + Bindevent(This,"lcrosstabulare",This,"do_actualizeaza_culori_sume",1) + + ENDPROC + + PROCEDURE cmdParametri.Click + Local lcSql, lnIdRaport + lcSql = This.Parent.edtSelectie.Value + lnIdRaport = This.Parent.Parent.nIdRaport + + *** definesc parametri (ex: tnAn, tnLuna) si salvez filtrul in rapoarte_filtre + lnButon = parametri_rapoarte_sql(m.lcSql, m.lnIdRaport) && In orapoarte_dinamice.prg + IF lnButon = 1 + *** incarc filtrele pentru completarea criteriilor + This.Parent.Parent.do_reset_filtru() && frm_date_rapoarte_gen_base.do_incarca_filtru() + ENDIF + ENDPROC + +ENDDEFINE + +DEFINE CLASS frm_date_rapoarte AS _frmbase OF "_frm_base.vcx" + *< CLASSDATA: Baseclass="form" Timestamp="" Scale="Pixels" Uniqueid="" /> + + *-- OBJECTDATA items order determines ZOrder / El orden de los items OBJECTDATA determina el ZOrder + *< OBJECTDATA: ObjPath="But_salveaza1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="Ct_clb_raport" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="Ct_clb_raport.But_sterge1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="Clb_data_referinta" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="Clb_perioada" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="Ct_opt_agent" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="Ct_opt_masina" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="Ct_opt_delegat" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="Ct_opt_client" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="Ct_selectie1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="Ct_selectie1.Ct_selectie_nract" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="Ct_selectie1.Ct_selectie_datascad" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="Ct_selectie1.Ct_selectie_nume_agent" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="Ct_selectie1.Ct_selectie_nume_delegat" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="Ct_selectie1.Ct_selectie_nume_client" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="Ct_selectie1.Ct_selectie_dataact" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="But_listare1" UniqueID="" Timestamp="" /> + + * + *m: do_adauga_filtru + *m: do_cauta_agent + *m: do_cauta_client + *m: do_cauta_delegat + *m: do_cauta_masina + * + + * + DoCreate = .T. + Height = 470 + Name = "frm_date_rapoarte" + Width = 696 + _shape1.Height = 29 + _shape1.Left = 0 + _shape1.Name = "_shape1" + _shape1.Top = 0 + _shape1.Width = 696 + _shape2.Height = 29 + _shape2.Left = 600 + _shape2.Name = "_shape2" + _shape2.Top = 0 + _shape2.Width = 96 + Lb_titlu_alb_b121.Caption = "CRITERII DE SELECTIE" + Lb_titlu_alb_b121.FontBold = .T. + Lb_titlu_alb_b121.Name = "Lb_titlu_alb_b121" + Lb_titlu_alb_b121.TabIndex = 22 + BUT_TERMIN1.Left = 664 + BUT_TERMIN1.Name = "BUT_TERMIN1" + BUT_TERMIN1.TabIndex = 18 + BUT_TERMIN1.Top = 1 + GRIDSORT1.Left = 480 + GRIDSORT1.Name = "GRIDSORT1" + GRIDSORT1.Top = 36 + * + + ADD OBJECT 'But_listare1' AS but_listare WITH ; + Left = 634, ; + Name = "But_listare1", ; + Top = 1 + *< END OBJECT: ClassLib="cmd_butoane.vcx" BaseClass="commandbutton" /> + + ADD OBJECT 'But_salveaza1' AS but_salveaza WITH ; + Left = 603, ; + Name = "But_salveaza1", ; + TabIndex = 20, ; + Top = 1, ; + Visible = .F. + *< END OBJECT: ClassLib="cmd_butoane.vcx" BaseClass="commandbutton" /> + + ADD OBJECT 'Clb_data_referinta' AS clb_tx_simplu WITH ; + Left = 383, ; + Name = "Clb_data_referinta", ; + TabIndex = 3, ; + Top = 100, ; + Text_simplu1.ControlSource = "poListare.data_referinta", ; + Text_simplu1.Height = 23, ; + Text_simplu1.Left = 126, ; + Text_simplu1.Name = "Text_simplu1", ; + Text_simplu1.Top = 3, ; + Text_simplu1.Width = 159, ; + Lb_simplu1.Caption = "Data de referinta", ; + Lb_simplu1.Name = "Lb_simplu1" + *< END OBJECT: ClassLib="lb_tx.vcx" BaseClass="container" /> + + ADD OBJECT 'Clb_perioada' AS clb_n1n2_simplu WITH ; + Left = 383, ; + Name = "Clb_perioada", ; + TabIndex = 2, ; + Top = 72, ; + tx_n1.ControlSource = "poListare.datai", ; + tx_n1.Left = 127, ; + tx_n1.Name = "tx_n1", ; + tx_n1.Top = 2, ; + Lb_simplu1.Caption = "Perioada", ; + Lb_simplu1.Name = "Lb_simplu1", ; + tx_n2.ControlSource = "poListare.dataf", ; + tx_n2.Name = "tx_n2" + *< END OBJECT: ClassLib="lb_tx.vcx" BaseClass="container" /> + + ADD OBJECT 'Ct_clb_raport' AS ct_clb_cautare WITH ; + Height = 31, ; + Left = 23, ; + Name = "Ct_clb_raport", ; + TabIndex = 21, ; + Top = 36, ; + Visible = .F., ; + Width = 396, ; + img_cautare.Height = 25, ; + img_cautare.Left = 321, ; + img_cautare.Name = "img_cautare", ; + img_cautare.Top = 3, ; + img_cautare.Width = 30, ; + clb_tx_cautare.Lb_simplu1.Caption = "Raport", ; + clb_tx_cautare.Lb_simplu1.Name = "Lb_simplu1", ; + clb_tx_cautare.Name = "clb_tx_cautare", ; + clb_tx_cautare.TabIndex = 1, ; + clb_tx_cautare.Text_simplu1.Height = 23, ; + clb_tx_cautare.Text_simplu1.Left = 71, ; + clb_tx_cautare.Text_simplu1.Name = "Text_simplu1", ; + clb_tx_cautare.Text_simplu1.Top = 3, ; + clb_tx_cautare.Text_simplu1.Width = 239 + *< END OBJECT: ClassLib="caut_ora.vcx" BaseClass="container" /> + + ADD OBJECT 'Ct_clb_raport.But_sterge1' AS but_sterge WITH ; + Height = 27, ; + Left = 361, ; + Name = "But_sterge1", ; + TabIndex = 2, ; + Top = 1, ; + Width = 30 + *< END OBJECT: ClassLib="cmd_butoane.vcx" BaseClass="commandbutton" /> + + ADD OBJECT 'Ct_opt_agent' AS ct_opt_cautare WITH ; + cprocedura = thisform.do_cauta_agent, ; + cvar_afisata = poListare.nume_agent, ; + Left = 383, ; + Name = "Ct_opt_agent", ; + TabIndex = 5, ; + Top = 198, ; + tx_cautare.Name = "tx_cautare", ; + opt_cautare.Name = "opt_cautare", ; + opt_cautare.OPTION1.Left = 5, ; + opt_cautare.OPTION1.Name = "OPTION1", ; + opt_cautare.OPTION1.Top = 5, ; + opt_cautare.OPTION2.Left = 5, ; + opt_cautare.OPTION2.Name = "OPTION2", ; + opt_cautare.OPTION2.Top = 24, ; + lb_explicatie.Caption = "Agent", ; + lb_explicatie.Name = "lb_explicatie" + *< END OBJECT: ClassLib="caut_ora.vcx" BaseClass="container" /> + + ADD OBJECT 'Ct_opt_client' AS ct_opt_cautare WITH ; + cprocedura = thisform.do_cauta_client, ; + cvar_afisata = poListare.nume_client, ; + Left = 383, ; + Name = "Ct_opt_client", ; + TabIndex = 4, ; + Top = 128, ; + tx_cautare.Name = "tx_cautare", ; + opt_cautare.Name = "opt_cautare", ; + opt_cautare.OPTION1.Left = 5, ; + opt_cautare.OPTION1.Name = "OPTION1", ; + opt_cautare.OPTION1.Top = 5, ; + opt_cautare.OPTION2.Left = 5, ; + opt_cautare.OPTION2.Name = "OPTION2", ; + opt_cautare.OPTION2.Top = 24, ; + lb_explicatie.Caption = "Client", ; + lb_explicatie.Name = "lb_explicatie" + *< END OBJECT: ClassLib="caut_ora.vcx" BaseClass="container" /> + + ADD OBJECT 'Ct_opt_delegat' AS ct_opt_cautare WITH ; + cprocedura = thisform.do_cauta_delegat, ; + cvar_afisata = poListare.nume_delegat, ; + Left = 383, ; + Name = "Ct_opt_delegat", ; + TabIndex = 6, ; + Top = 268, ; + tx_cautare.Name = "tx_cautare", ; + opt_cautare.Name = "opt_cautare", ; + opt_cautare.OPTION1.Left = 5, ; + opt_cautare.OPTION1.Name = "OPTION1", ; + opt_cautare.OPTION1.Top = 5, ; + opt_cautare.OPTION2.Left = 5, ; + opt_cautare.OPTION2.Name = "OPTION2", ; + opt_cautare.OPTION2.Top = 24, ; + lb_explicatie.Caption = "Delegat", ; + lb_explicatie.Name = "lb_explicatie" + *< END OBJECT: ClassLib="caut_ora.vcx" BaseClass="container" /> + + ADD OBJECT 'Ct_opt_masina' AS ct_opt_cautare WITH ; + cprocedura = thisform.do_cauta_masina, ; + cvar_afisata = poListare.nrinmat, ; + Left = 383, ; + Name = "Ct_opt_masina", ; + TabIndex = 7, ; + Top = 338, ; + tx_cautare.Name = "tx_cautare", ; + opt_cautare.Name = "opt_cautare", ; + opt_cautare.OPTION1.Left = 5, ; + opt_cautare.OPTION1.Name = "OPTION1", ; + opt_cautare.OPTION1.Top = 5, ; + opt_cautare.OPTION2.Left = 5, ; + opt_cautare.OPTION2.Name = "OPTION2", ; + opt_cautare.OPTION2.Top = 24, ; + lb_explicatie.Caption = "Masina", ; + lb_explicatie.Name = "lb_explicatie" + *< END OBJECT: ClassLib="caut_ora.vcx" BaseClass="container" /> + + ADD OBJECT 'Ct_selectie1' AS ct_selectie WITH ; + ccoloanesuma = facturat,incasat, ; + cnumetabela = fact_vrap_fact_incasari, ; + Left = 24, ; + Name = "Ct_selectie1", ; + Top = 72, ; + Ct_grupare1.lblAtentie.Name = "lblAtentie", ; + Ct_grupare1.lb_grupare.Name = "lb_grupare", ; + Ct_grupare1.Name = "Ct_grupare1", ; + Ct_ordonare1.lb_ordonare.Name = "lb_ordonare", ; + Ct_ordonare1.Name = "Ct_ordonare1", ; + lb_coloane.Name = "lb_coloane" + *< END OBJECT: ClassLib="orapoarte.vcx" BaseClass="container" /> + + ADD OBJECT 'Ct_selectie1.Ct_selectie_dataact' AS ct_selectie_camp WITH ; + ccamp = dataact, ; + cnumecamp = Data factura, ; + Left = 17, ; + Name = "Ct_selectie_dataact", ; + nid_container = 2, ; + TabIndex = 37, ; + Top = 36, ; + ck_camp.Alignment = 0, ; + ck_camp.Name = "ck_camp" + *< END OBJECT: ClassLib="orapoarte.vcx" BaseClass="container" /> + + ADD OBJECT 'Ct_selectie1.Ct_selectie_datascad' AS ct_selectie_camp WITH ; + ccamp = datascad, ; + cnumecamp = Data scadenta, ; + Left = 17, ; + Name = "Ct_selectie_datascad", ; + nid_container = 3, ; + TabIndex = 31, ; + Top = 51, ; + ck_camp.Alignment = 0, ; + ck_camp.Name = "ck_camp" + *< END OBJECT: ClassLib="orapoarte.vcx" BaseClass="container" /> + + ADD OBJECT 'Ct_selectie1.Ct_selectie_nract' AS ct_selectie_camp WITH ; + ccamp = nract, ; + cnumecamp = Nr. factura, ; + Left = 17, ; + Name = "Ct_selectie_nract", ; + nid_container = 1, ; + TabIndex = 30, ; + Top = 22, ; + ck_camp.Alignment = 0, ; + ck_camp.Name = "ck_camp" + *< END OBJECT: ClassLib="orapoarte.vcx" BaseClass="container" /> + + ADD OBJECT 'Ct_selectie1.Ct_selectie_nume_agent' AS ct_selectie_camp WITH ; + ccamp = nume_agent, ; + cnumecamp = Agent, ; + Left = 180, ; + Name = "Ct_selectie_nume_agent", ; + nid_container = 5, ; + TabIndex = 33, ; + Top = 22, ; + ck_camp.Alignment = 0, ; + ck_camp.Name = "ck_camp" + *< END OBJECT: ClassLib="orapoarte.vcx" BaseClass="container" /> + + ADD OBJECT 'Ct_selectie1.Ct_selectie_nume_client' AS ct_selectie_camp WITH ; + ccamp = nume_client, ; + cnumecamp = Client, ; + Left = 17, ; + Name = "Ct_selectie_nume_client", ; + nid_container = 4, ; + TabIndex = 36, ; + Top = 67, ; + ck_camp.Alignment = 0, ; + ck_camp.Name = "ck_camp" + *< END OBJECT: ClassLib="orapoarte.vcx" BaseClass="container" /> + + ADD OBJECT 'Ct_selectie1.Ct_selectie_nume_delegat' AS ct_selectie_camp WITH ; + ccamp = nume_delegat, ; + cnumecamp = Delegat, ; + Left = 180, ; + Name = "Ct_selectie_nume_delegat", ; + TabIndex = 34, ; + Top = 36, ; + ck_camp.Alignment = 0, ; + ck_camp.Name = "ck_camp" + *< END OBJECT: ClassLib="orapoarte.vcx" BaseClass="container" /> + + PROCEDURE do_adauga_filtru + Lparameters lcSql + lcFiltru = [WHERE DATAACT BETWEEN ?poListare.datai AND ?poListare.dataf] + If !Empty(Nvl(poListare.nume_client,[])) + lcFiltru = lcFiltru + [ AND nume_client = ?poListare.nume_client] + Endif + + If !Empty(Nvl(poListare.nume_agent,[])) + lcFiltru = lcFiltru + [ AND nume_agent = ?poListare.nume_agent] + Endif + + If !Empty(Nvl(poListare.nume_delegat,[])) + lcFiltru = lcFiltru + [ AND nume_delegat = ?poListare.nume_delegat] + Endif + + If !Empty(Nvl(poListare.nrinmat,[])) + lcFiltru = lcFiltru + [ AND nrinmat = ?poListare.nrinmat] + Endif + poListare.csql = Strtran(lcSql,[WHERE 1=2],lcFiltru) + + ENDPROC + + PROCEDURE do_cauta_agent + Private pnIdPart,pcNumePart + lcTitlu=[ALEGETI AGENTUL] + pnIdPart=0 + pcNumePart=[] + + If caut_partener_dupa_tip(gnIdTipAgenti,lcTitlu,@pnIdPart,@pcNumePart) + poListare.id_agent = pnIdPart + poListare.nume_agent = Alltrim(pcNumePart) + Thisform.ct_opt_agent.Refresh() + Thisform.ct_opt_delegat.SetFocus() + Else + If Empty(Nvl(poListare.nume_agent,[])) + Thisform.ct_opt_agent.opt_cautare.Value=1 + Endif + Thisform.ct_opt_agent.SetFocus() + Endif + + ENDPROC + + PROCEDURE do_cauta_client + Private pnIdPart,pcNumePart + Store 0 To pnIdPart + Store "" To pcNumePart + If cauta_client(@pnIdPart,@pcNumePart) + poListare.id_client = pnIdPart + poListare.nume_client = pcNumePart + + Thisform.ct_opt_client.Refresh() + Thisform.ct_opt_agent.SetFocus() + Else + If Empty(Nvl(poListare.nume_client,[])) + Thisform.ct_opt_client.opt_cautare.Value=1 + Endif + Thisform.ct_opt_client.SetFocus() + Endif + + ENDPROC + + PROCEDURE do_cauta_delegat + Local loCauta + loCauta=caut_delegati() + If !Empty(loCauta.id_responsabil) + poListare.id_delegat = loCauta.id_responsabil + poListare.nume_delegat = Alltrim(loCauta.nume) + Thisform.ct_opt_delegat.Refresh() + Thisform.ct_opt_masina.SetFocus() + Else + If Empty(Nvl(poListare.nume_delegat,[])) + Thisform.ct_opt_delegat.opt_cautare.Value = 1 + Endif + Thisform.ct_opt_delegat.SetFocus() + Endif + + ENDPROC + + PROCEDURE do_cauta_masina + locauta=caut_masina_gs() + If !Empty(locauta.id_masina) + poListare.nrinmat = Alltrim(locauta.nrinmat) + poListare.id_masina = locauta.id_masina + + Thisform.ct_opt_masina.Refresh() + Else + If Empty(Nvl(poListare.nrinmat,[])) + Thisform.ct_opt_masina.opt_cautare.Value = 1 + Endif + Thisform.ct_opt_masina.SetFocus() + Endif + + ENDPROC + + PROCEDURE do_listare + lccontrol = Upper(This.ActiveControl.BaseClass ) + If Inlist(lccontrol,"TEXTBOX","EDITBOX","COMBOBOX") + lcval=This.ActiveControl.ControlSource + &lcval=Thisform.ActiveControl.Value + Endif + + Do Case + Case Empty(Nvl(poListare.datai,{})) + amessagebox("Nu ati completat data initiala!",0+48,"Atentie") + Thisform.clb_perioada.tx_n1.SetFocus() + Return + Case Empty(Nvl(poListare.dataf,{})) + amessagebox("Nu ati completat data finala!",0+48,"Atentie") + Thisform.clb_perioada.tx_n2.SetFocus() + Return + Case Empty(Nvl(poListare.data_referinta,{})) + amessagebox("Nu ati completat data de referinta!",0+48,"Atentie") + Thisform.clb_data_referinta.SetFocus() + Return + Otherwise + With This.ct_selectie1 + .do_instructiune_sql() + lcSql = .csql + Endwith + If Empty(lcSql) + amessagebox("Nu ati ales coloane pentru selectie!",0+48,"Atentie") + Thisform.ct_selectie1.SetFocus() + Return + Else + This.do_adauga_filtru(lcSql) + Endif + Endcase + + If Used('crsraport') + Use In crsraport + Endif + STRTOFILE(poListare.cSql,[c:\sql.txt]) + lnSucces = goExecutor.oExecute(poListare.csql,'crsraport') + If lnSucces < 0 + amessagebox(goExecutor.oPrelucrareEroare(),16,"Eroare") + Endif + + pcDataora = get_ora(2) + If Reccount('crsraport')<>0 + Thisform.AlwaysOnTop = .F. + Select crsraport + Report Form raport_facturat To Printer Prompt Preview + Thisform.AlwaysOnTop = .T. + Else + amessagebox("Nu exista rezultate pentru listare!",0+48,"Atentie") + Endif + + If Used('crsraport') + Use In crsraport + Endif + ENDPROC + + PROCEDURE Clb_perioada.tx_n1.Valid + *!* + ENDPROC + +ENDDEFINE + +DEFINE CLASS frm_date_rapoarte_gen AS frm_date_rapoarte_gen_base OF "orapoarte.vcx" + *< CLASSDATA: Baseclass="form" Timestamp="" Scale="Pixels" Uniqueid="" /> + + *-- OBJECTDATA items order determines ZOrder / El orden de los items OBJECTDATA determina el ZOrder + *< OBJECTDATA: ObjPath="Ct_selectie1" UniqueID="" Timestamp="" /> + + * + DoCreate = .T. + Name = "frm_date_rapoarte_gen" + _shape1.Name = "_shape1" + _shape2.Name = "_shape2" + Lb_titlu_alb_b121.Name = "Lb_titlu_alb_b121" + Gridsort1.Name = "Gridsort1" + BUT_TERMIN1.Name = "BUT_TERMIN1" + But_listare1.Name = "But_listare1" + But_excel1.Name = "But_excel1" + But_help1.Name = "But_help1" + But_cautare1.Name = "But_cautare1" + But_sterge1.Name = "But_sterge1" + ed_explicatii_filtru.Name = "ed_explicatii_filtru" + ed_explicatii_filtru.Top = 63 + But_salveaza1.Name = "But_salveaza1" + But_nou1.Name = "But_nou1" + But_reset2.Name = "But_reset2" + But_start_criterii1.Name = "But_start_criterii1" + lb_raport_predefinit.Name = "lb_raport_predefinit" + * + + ADD OBJECT 'Ct_selectie1' AS ct_selectie WITH ; + Height = 391, ; + Left = 7, ; + Name = "Ct_selectie1", ; + TabIndex = 11, ; + Top = 36, ; + Width = 332, ; + ZOrderSet = 11, ; + Ct_grupare1.lblAtentie.Name = "lblAtentie", ; + Ct_grupare1.lb_grupare.Name = "lb_grupare", ; + Ct_grupare1.Left = 5, ; + Ct_grupare1.Name = "Ct_grupare1", ; + Ct_grupare1.Top = 252, ; + Ct_grupare1._scrollcontainer1.But_jos1.Name = "But_jos1", ; + Ct_grupare1._scrollcontainer1.But_sus1.Name = "But_sus1", ; + Ct_grupare1._scrollcontainer1.Name = "_scrollcontainer1", ; + Ct_ordonare1.lb_ordonare.Name = "lb_ordonare", ; + Ct_ordonare1.Left = 5, ; + Ct_ordonare1.Name = "Ct_ordonare1", ; + Ct_ordonare1.Top = 120, ; + Ct_ordonare1._scrollcontainer1.But_jos1.Name = "But_jos1", ; + Ct_ordonare1._scrollcontainer1.But_sus1.Name = "But_sus1", ; + Ct_ordonare1._scrollcontainer1.Name = "_scrollcontainer1", ; + lb_coloane.Name = "lb_coloane" + *< END OBJECT: ClassLib="orapoarte.vcx" BaseClass="container" /> + +ENDDEFINE + +DEFINE CLASS frm_date_rapoarte_gen_base AS _frmbase OF "_frm_base.vcx" + *< CLASSDATA: Baseclass="form" Timestamp="" Scale="Pixels" Uniqueid="" /> + + *-- OBJECTDATA items order determines ZOrder / El orden de los items OBJECTDATA determina el ZOrder + *< OBJECTDATA: ObjPath="But_listare1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="But_excel1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="But_help1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="But_cautare1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="But_sterge1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="But_nou1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="ed_explicatii_filtru" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="But_salveaza1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="But_reset2" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="lb_raport_predefinit" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="But_start_criterii1" UniqueID="" Timestamp="" /> + + * + *m: creeaza_raport + *m: do_adauga_filtru + *m: do_cauta_raport + *m: do_incarca_filtru + *m: do_incarca_raport + *m: do_modificabil + *m: do_reset_filtru + *p: cdenumire && Denumirea raportului. + *p: cfiltruperioada && Campurile / campul dupa care se filtreaza perioada ( trebuie sa fie de forma an * 12 + luna ). + *p: cnume_ct_selectie && Numele containerului bazat pe ct_selectie. + *p: craport && Numele raportului pentru listare + *p: craportinitial && Numele raportului folosit pentru listare. + *p: ctitluraport + *p: ctitluraportinitial && Titlul initial al raportului. + *p: filtru_cript + *p: ladaugalunacurenta && IN CAZUL IN CARE EXISTA PERIOADA IN FILTRU : .T. - daca adauga luna curenta in filtru la incarcarea unui raport ( daca nu exista deja o perioada salvata in filtru ), la resetare si la raport nou. + *p: ldrepturi && Se acceseaza doar rapoartele pe care are drepturi utilizatorul + *p: lfiltruperioada && .T. - este adaugat filtrul pe perioada; campul este specificat in cFiltruPerioada + *p: lreadonly && Daca campurile de selectie, ordonare, grupare sunt blocate (pentru selectii predefinite) + *p: nidformularraport && Id-ul formularului. + *p: nidraport && Id-ul raportului incarcat. + *p: nidraportinitial + * + + * + BorderStyle = 3 + cdenumire = + cfiltruperioada = an*12+luna + cnume_ct_selectie = ct_selectie1 + craport = + craportinitial = + ctitluraport = + ctitluraportinitial = Rapoarte generate dinamic + DoCreate = .T. + filtru_cript = + Height = 440 + lactiv4 = .T. + ladaugalunacurenta = .T. + ldrepturi = .F. + lfiltruperioada = .T. + lreadonly = .F. + Name = "frm_date_rapoarte_gen_base" + nidformularraport = .NULL. + nidraport = .NULL. + nidraportinitial = .NULL. + Width = 696 + _memberdata = + + + + + + + + + + + _shape1.Anchor = 10 + _shape1.Height = 29 + _shape1.Left = 0 + _shape1.Name = "_shape1" + _shape1.Top = 0 + _shape1.Width = 696 + _shape1.ZOrderSet = 0 + _shape2.Height = 29 + _shape2.Left = 455 + _shape2.Name = "_shape2" + _shape2.Top = 0 + _shape2.Width = 240 + _shape2.ZOrderSet = 1 + Lb_titlu_alb_b121.Caption = "Thisform.ctitluraportinitial" + Lb_titlu_alb_b121.FontBold = .T. + Lb_titlu_alb_b121.Name = "Lb_titlu_alb_b121" + Lb_titlu_alb_b121.TabIndex = 10 + Lb_titlu_alb_b121.ZOrderSet = 2 + BUT_TERMIN1.Anchor = 9 + BUT_TERMIN1.Left = 666 + BUT_TERMIN1.Name = "BUT_TERMIN1" + BUT_TERMIN1.TabIndex = 8 + BUT_TERMIN1.Top = 1 + BUT_TERMIN1.ZOrderSet = 4 + GRIDSORT1.Left = 480 + GRIDSORT1.Name = "GRIDSORT1" + GRIDSORT1.Top = 36 + * + + ADD OBJECT 'But_cautare1' AS but_cautare WITH ; + Anchor = 9, ; + caction = do_cauta_raport, ; + Height = 27, ; + Left = 513, ; + Name = "But_cautare1", ; + TabIndex = 3, ; + Top = 1, ; + Width = 30 + *< END OBJECT: ClassLib="cmd_butoane.vcx" BaseClass="commandbutton" /> + + ADD OBJECT 'But_excel1' AS but_excel WITH ; + Anchor = 9, ; + Left = 605, ; + Name = "But_excel1", ; + TabIndex = 6, ; + Top = 1, ; + ZOrderSet = 6 + *< END OBJECT: ClassLib="cmd_butoane.vcx" BaseClass="commandbutton" /> + + ADD OBJECT 'But_help1' AS but_help WITH ; + Anchor = 9, ; + Left = 454, ; + Name = "But_help1", ; + TabIndex = 1, ; + Top = 1, ; + ZOrderSet = 7 + *< END OBJECT: ClassLib="cmd_butoane.vcx" BaseClass="commandbutton" /> + + ADD OBJECT 'But_listare1' AS but_listare WITH ; + Anchor = 9, ; + Left = 636, ; + lvizibil = .F., ; + Name = "But_listare1", ; + TabIndex = 7, ; + Top = 1, ; + ZOrderSet = 5 + *< END OBJECT: ClassLib="cmd_butoane.vcx" BaseClass="commandbutton" /> + + ADD OBJECT 'But_nou1' AS but_nou WITH ; + Anchor = 9, ; + Left = 483, ; + Name = "But_nou1", ; + TabIndex = 2, ; + Top = 1 + *< END OBJECT: ClassLib="cmd_butoane.vcx" BaseClass="commandbutton" /> + + ADD OBJECT 'But_reset2' AS but_reset WITH ; + Anchor = 9, ; + caction = do_reset_filtru, ; + Left = 624, ; + Name = "But_reset2", ; + TabIndex = 9, ; + ToolTipText = "Reseteaza filtru", ; + Top = 32, ; + ZOrderSet = 14 + *< END OBJECT: ClassLib="cmd_butoane.vcx" BaseClass="commandbutton" /> + + ADD OBJECT 'But_salveaza1' AS but_salveaza WITH ; + Anchor = 9, ; + Height = 27, ; + Left = 543, ; + Name = "But_salveaza1", ; + TabIndex = 4, ; + ToolTipText = "Salvare raport", ; + Top = 1, ; + Width = 30, ; + ZOrderSet = 13 + *< END OBJECT: ClassLib="cmd_butoane.vcx" BaseClass="commandbutton" /> + + ADD OBJECT 'But_start_criterii1' AS but_start_criterii WITH ; + Anchor = 9, ; + lcautare = .F., ; + Left = 655, ; + Name = "But_start_criterii1", ; + TabIndex = 13, ; + Top = 32, ; + ZOrderSet = 15 + *< END OBJECT: ClassLib="ocriterii.vcx" BaseClass="commandbutton" /> + + ADD OBJECT 'But_sterge1' AS but_sterge WITH ; + Anchor = 9, ; + Left = 574, ; + lvizibil = .F., ; + Name = "But_sterge1", ; + TabIndex = 5, ; + ToolTipText = "Stergere raport (CTRL+D)", ; + Top = 1, ; + ZOrderSet = 10 + *< END OBJECT: ClassLib="cmd_butoane.vcx" BaseClass="commandbutton" /> + + ADD OBJECT 'ed_explicatii_filtru' AS _editbox WITH ; + Anchor = 13, ; + ControlSource = "Thisform.filtru_pretty_ro", ; + Height = 364, ; + Left = 360, ; + Name = "ed_explicatii_filtru", ; + ReadOnly = .T., ; + TabIndex = 12, ; + Top = 63, ; + Width = 324, ; + ZOrderSet = 12 + *< END OBJECT: ClassLib="_baza.vcx" BaseClass="editbox" /> + + ADD OBJECT 'lb_raport_predefinit' AS _lbbase WITH ; + Caption = "RAPORT PREDEFINIT", ; + FontBold = .T., ; + FontSize = 25, ; + Height = 228, ; + Left = 12, ; + Name = "lb_raport_predefinit", ; + Rotation = 35, ; + TabIndex = 14, ; + Top = 200, ; + Visible = .F., ; + Width = 300, ; + ZOrderSet = 16 + *< END OBJECT: ClassLib="_lb_base.vcx" BaseClass="label" /> + + PROCEDURE creeaza_raport + If Used('crsraport') + Use In crsraport + Endif + + This.do_cauta() + + If Used('crsRaport') And Reccount('crsraport')<>0 + If Used('crsexport') + Use In crsexport + ENDIF + *!* 23.09.2010 + IF TYPE('crsRaport.gid') <> 'U' + Dimension aColoane[1] + lcSelect = [SELECT Iif(gid<>0,'TOTAL',Space(5)) As explicatie] + Afields(aColoane,'crsraport') + For i = 1 To Alen(aColoane,1) + If Upper(Alltrim(aColoane[i,1])) <> 'GID' + lcNumeColoana = Upper(Alltrim(aColoane[i,1])) + lcSelect = lcSelect + [,] + Iif(aColoane[i,2] = 'T', [TTOD(] + lcNumeColoana + [) as ] + ; + lcNumeColoana, lcNumeColoana) + Endif + Endfor + lcSelect = lcSelect + [ From crsraport Into Cursor crsexport] + ELSE + lcSelect = [select * From crsraport Into Cursor crsexport] + ENDIF + *!* 23.09.2010 ^ + &lcSelect + Endif + If Used('crsRaport') + Use In crsRaport + Endif + + ENDPROC + + PROCEDURE do_adauga + Thisform.do_reset() + + ENDPROC + + PROCEDURE do_adauga_filtru + ENDPROC + + PROCEDURE do_cauta + *!* 22.06.2010 + *!* marius.mutu + *!* apelez do_instructiune_sql cu filtru + *!* in do_instructiune_sql - trimit filtrul daca coloana de crostabulare face parte din filtru - sa arat atatea coloane cate valori sunt in filtru + + *!* 28.04.2011 + *!* marius.atanasiu + *!* am adaugat gcCondSucursala in filtru, daca nu sunt pe firma mama + + Local llReturn,lcFiltruSucursala + With Thisform.ct_selectie1 + *!* 22.06.2010 + *!* If .do_instructiune_sql() + + If .do_instructiune_sql(Thisform.filtru_pretty) + *!* 22.06.2010 ^ + lcSql = .csql + If Empty(lcSql) + amessagebox("Nu ati ales coloane pentru selectie!",0+48,"Atentie") + .SetFocus() + llReturn = .F. + Else + *!* 28.04.2011 + *!* lcSql = Strtran(lcSql,[WHERE 1=2],Iif(!Empty(Thisform.filtru_pretty),[WHERE ] + Thisform.filtru_pretty,[])) + If Thisform.nIdformularraport = 2 + lcFiltruSucursala = [] + Else + lcFiltruSucursala = Iif(glEMama,[],gcCondSucursala) + Endif + lcSql = Strtran(lcSql,[WHERE 1=2],Iif(!Empty(Thisform.filtru_pretty),[WHERE ] + Thisform.filtru_pretty + lcFiltruSucursala,; + [] + SUBSTR(lcFiltruSucursala,5))) + *!* 28.04.2011 ^ + lnSucces = goExecutor.oExecute(lcSql,'crsraport') + If lnSucces < 0 + amessagebox(goExecutor.oPrelucrareEroare(),16,"Eroare") + llReturn = .F. + Endif + Endif + Else + llReturn = .F. + Endif + Endwith + Return llReturn + ENDPROC + + PROCEDURE do_cauta_raport + Local loCauta + loCauta = caut_raport(This.nidformularraport, this.lDrepturi) + If gnButon = 1 + Thisform.nidraport = loCauta.id_raport + Thisform.do_incarca_raport() + Endif + Release loCauta + ENDPROC + + PROCEDURE do_excel + Local lcFileName + lcFileName = "" + This.creeaza_raport() + + If Used('crsExport') + lcFileName = strtranx(This.ctitluraport, "([^a-zA-Z0-9])", [_] ) + export_xls('crsexport', lcFileName) + Use In crsExport + Else + amessagebox("Nu exista rezultate pentru export in Excel!",0+48,"Atentie") + Endif + + + ENDPROC + + PROCEDURE do_help + *!* 23.09.2010 + *!* marius.mutu + *!* raw sql nIdFormularRaport = 2 + + Local lofrmhelprap + lnIdFormular = this.nIdformularraport + IF EMPTY(NVL(m.lnIdFormular,0)) + m.lnIdFormular = 1 + ENDIF + lofrmhelprap = Createobject('frm_help_rapoarte', m.lnIdFormular) + lofrmhelprap.Show(1) + Release lofrmhelprap + ENDPROC + + PROCEDURE do_incarca_filtru + Local lcCursorFiltru + IF EMPTY(NVL(Thisform.nidraport,0)) + RETURN + ENDIF + lcCursorFiltru = [crsrapfiltru] + If Used(lcCursorFiltru) + Use In (lcCursorFiltru) + ENDIF + + lcSql = [select valoare from rapoarte_filtre where id_raport = ] + Alltrim(Str(Thisform.nidraport)) + lnSucces = goExecutor.oExecute(lcSql,lcCursorFiltru) + If lnSucces < 0 + amessagebox(goExecutor.cEroare,16,"Eroare") + Else + Select (lcCursorFiltru) + Thisform.filtru_cript = valoare + *!* modificare ROAGEST v 2.0.144 + If At(Upper([luna_curenta|]),Upper(Thisform.filtru_cript)) <> 0 + Thisform.filtru_cript = STRTRAN(Thisform.filtru_cript,UPPER([luna_curenta|]),Padl(Alltrim(Str(gnLuna)),2,[0]) + [/] + Alltrim(Str(gnAn)) + [|]) + Endif + *!* modificare ROAGEST v 2.0.144 ^ + Thisform.but_start_criterii1.loadfiltru(Thisform.filtru_cript) + Thisform.ed_explicatii_filtru.Refresh() + Endif + If Used(lcCursorFiltru) + Use In (lcCursorFiltru) + Endif + Release lcCursorFiltru + + ENDPROC + + PROCEDURE do_incarca_raport + *!* 23.09.2010 + *!* marius.mutu + *!* tratare idformular = 2 && raw sql + + Local i, lnCount, lcCamp, loCamp, lcNumeContainer, loContainer, lcListaCampuri, lcListaOrdonare, lcListaGrupare + LOCAL lcCrossTabulare, lcListaCampuri2 + Local loException As Exception + Local lcCursorRaport, lnIdFormular + Local lcSql, lnSucces, lcRawSql, lcNumeCamp, lnIndexCamp, lcCampSelectat, lcElement + *!* 23.09.2010 + lnIdFormular = THIS.nIdformularraport + *!* 23.09.2010 ^ + + If !Empty(Nvl(Thisform.nidraport,0)) + lcCursorRaport = [crsdateraport] + If Used(lcCursorRaport) + Use In (lcCursorRaport) + Endif + *!* 23.09.2010 + lcSql = [select denumire,titlu,nume_frx,modificabil,campuri,grupare,ordonare,crosstabulare, csql from vrapoarte ] + ; + [where id_raport = ] + Alltrim(Str(Thisform.nidraport)) + *!* 23.09.2010 ^ + lnSucces = goExecutor.oExecute(lcSql,lcCursorRaport) + If lnSucces < 0 + amessagebox(goExecutor.cEroare,16,"Eroare") + Else + lcNumeContainer = [thisform.] + Thisform.cnume_ct_selectie + loContainer = &lcNumeContainer + *!* modificare ROAGEST v 2.0.144 + Local llAdaugaLunaCurenta + llAdaugaLunaCurenta = Thisform.ladaugalunacurenta + Thisform.ladaugalunacurenta = .F. + *!* modificare ROAGEST v 2.0.144 ^ + Thisform.do_reset(.T.) + *!* 23.09.2010 + Thisform.do_reset_filtru(.T.) + *!* 23.09.2010 ^ + *!* modificare ROAGEST v 2.0.144 + Thisform.ladaugalunacurenta = llAdaugaLunaCurenta + *!* modificare ROAGEST v 2.0.144 ^ + Select (lcCursorRaport) + lcListaCampuri = campuri + lcListaOrdonare = ordonare + lcListaGrupare = grupare + lcCrossTabulare = crosstabulare + lcRawSql = csql + lcListaCampuri2 = [] + Thisform.cdenumire = Upper(Alltrim(denumire)) + Thisform.ctitluraport = Upper(Alltrim(titlu)) + Thisform.cRaport = nume_frx + Thisform.lReadOnly = Iif(modificabil = 1,.F.,.T.) + + With &lcNumeContainer + .Enabled = !Thisform.lReadOnly + Endwith + + Thisform.but_listare1.Visible = Iif(!Empty(Nvl(Thisform.cRaport,[])),.T.,.F.) + Thisform.but_listare1.lvizibil = Iif(!Empty(Nvl(Thisform.cRaport,[])),.T.,.F.) + Thisform.but_sterge1.Visible = !Thisform.lReadOnly + + This.lb_titlu_alb_b121.Caption = Upper(Alltrim(Iif(!Empty(Thisform.ctitluraport),Thisform.ctitluraport,Thisform.ctitluraportinitial))) + *** NU INCARC NIMIC + + If m.lnIdFormular = 2 && raw sql + loContainer.edtSelectie.value = m.lcRawSql + ELSE + && Completare campuri selectie predefinite + If !Empty(Nvl(lcListaCampuri,[])) + lnCount = Getwordcount(lcListaCampuri,",") + For i = 1 To lnCount + lcNumeCamp = Getwordnum(lcListaCampuri,i, ",") + lcCamp = lcNumeContainer + [.ct_selectie_] + lcNumeCamp + [.ck_camp]&& ct_selectie_nnir + Try + loCamp = &lcCamp + loCamp.Value = 1 + *!* modificare ROAGEST v 2.0.143 + If !Evaluate(lcNumeContainer + [.ct_selectie_] + lcNumeCamp + [.lSuma]) + lcListaCampuri2 = lcListaCampuri2 + lcNumeCamp + [,] + Endif + *!* modificare ROAGEST v 2.0.143 ^ + Catch To loException + amessagebox(loException.Message) + Endtry + Endfor + Endif + + && Completare campuri grupare predefinite + && modificare ROAGEST v 2.0.143 : am inlocuit lcListaCampuri cu lcListaCampuri2 + If !Empty(Nvl(lcListaGrupare,[])) + lnCount = Getwordcount(lcListaGrupare,",") + For i = 1 To lnCount + lnIndexCamp = Val(Getwordnum(lcListaGrupare,i, ",")) + + lcCampSelectat = lcNumeContainer + [.ct_selectie_] + Getwordnum(lcListaCampuri2,lnIndexCamp, ",") + [.cCamp] + lcCamp = &lcCampSelectat + lcCamp = Upper(Alltrim(lcNumeContainer + [.ct_grupare1._scrollcontainer1.ct_grup_] + Strtran(lcCamp,[.],[_]))) + [.ck_ordine] + Try + loCamp = &lcCamp + loCamp.Value = 1 + Catch To loException + amessagebox(loException.Message) + Endtry + + Endfor + Endif + + + && Completare campuri ordonare predefinite + && modificare ROAGEST v 2.0.143 : am inlocuit lcListaCampuri cu lcListaCampuri2 + If !Empty(Nvl(lcListaOrdonare,[])) + Local llDesc + lnCount = Getwordcount(lcListaOrdonare,",") + For i = 1 To lnCount + llDesc = .F. + lcElement = Getwordnum(lcListaOrdonare,i, ",") + If 'DESC'$Upper(lcElement) + llDesc = .T. + lnIndexCamp = Val(Alltrim(Strtran(Upper(lcElement),[DESC],[]))) + Else + lnIndexCamp = Val(lcElement) + Endif + + lcCampSelectat = lcNumeContainer + [.ct_selectie_] + Getwordnum(lcListaCampuri2,lnIndexCamp, ",") + [.cCamp] + lcCamp = &lcCampSelectat + + lcCamp = Upper(Alltrim(lcNumeContainer + [.ct_ordonare1._scrollcontainer1.ct_ordine_] + Strtran(lcCamp,[.],[_]))) + [.ck_ordine] + Try + loCamp = &lcCamp + loCamp.Value = 1 + Catch To loException + amessagebox(loException.Message) + Endtry + + If llDesc + lcCamp = &lcCampSelectat + lcCamp = Upper(Alltrim(lcNumeContainer + [.ct_ordonare1._scrollcontainer1.ct_ordine_] + Strtran(lcCamp,[.],[_]))) + [.opt_ordine] + Try + loCamp = &lcCamp + loCamp.Value = 2 + Catch To loException + amessagebox(loException.Message) + Endtry + Endif + + Endfor + Endif + + && Completare campuri crosstabulare predefinite + If !Empty(Nvl(lcCrossTabulare,[])) + lnCount = Getwordcount(lcCrossTabulare,",") + For i = 1 To lnCount + lcCamp = Getwordnum(lcCrossTabulare,i, ",") + lcCamp = lcNumeContainer + [.ct_selectie_] + lcCamp + [.ck_camp] && ct_selectie_nnir + Try + loCamp = &lcCamp + loCamp.RightClick() + Catch To loException + amessagebox(loException.Message) + Endtry + Endfor + Endif + Endif && lnIdFormular = 2 + && Incarcare filtru + Thisform.do_incarca_filtru() + Thisform.Refresh() + Endif + If Used(lcCursorRaport) + Use In (lcCursorRaport) + Endif + Endif + + ENDPROC + + PROCEDURE do_listare + Local lcQuickReport + Local loListener + Private pcDataOra, pcTitlu, pcSubtitlu + This.creeaza_raport() + + If Used('crsExport') + lcQuickReport = This.cRaport + If !Empty(lcQuickReport) + pcDataOra = get_ora(2) + pcTitlu = Thisform.ctitluraport + pcSubtitlu = Thisform.filtru_pretty_ro + Thisform.AlwaysOnTop = .F. + Select crsExport + Report Form (lcQuickReport) To Printer Prompt Preview + Thisform.AlwaysOnTop = .T. + Endif + Use In crsExport + Else + amessagebox("Nu exista rezultate pentru listare!",0+48,"Atentie") + Endif + + ENDPROC + + PROCEDURE do_modificabil + Thisform.lb_raport_predefinit.Visible = Thisform.lReadOnly + If Type('thisform.but_sterge1')='O' + Thisform.but_sterge1.Visible = Iif(Isnull(Thisform.nidraport),.F.,Thisform.lReadOnly) + Thisform.but_sterge1.lvizibil = Iif(Isnull(Thisform.nidraport),.F.,Thisform.lReadOnly) + Endif + ENDPROC + + PROCEDURE do_reset + Lparameters tlIncomplet + *!* .T. - este apelat din do_incarca_raport si nu trebuie sa reseteze nidraport pentru ca a fost setat din cautare + *!* .F. - se reseteaza nidraport + Local lcNumeContainer + lcNumeContainer = [thisform.] + Thisform.cnume_ct_selectie + Thisform.lReadOnly = .F. + With &lcNumeContainer + .Enabled = !Thisform.lReadOnly + .do_reset() + Endwith + Thisform.do_reset_filtru() + Thisform.ctitluraport = Thisform.ctitluraportinitial + Thisform.cRaport = Thisform.cRaportinitial + Thisform.cdenumire = Thisform.ctitluraportinitial + If !tlIncomplet + Thisform.nidraport = Thisform.nidraportinitial + Endif + This.but_listare1.Visible = .F. + This.but_listare1.lvizibil = .F. + This.lb_titlu_alb_b121.Caption = Upper(Alltrim(Thisform.ctitluraportinitial)) + If Isnull(Thisform.nidraport) + Thisform.but_sterge1.Visible = .F. + Endif + + ENDPROC + + PROCEDURE do_reset_filtru + LPARAMETERS tlInitial + + Thisform.filtru_pretty = "" + Thisform.filtru_pretty_ro = "" + Thisform.filtru_pretty_ro_full = "" + Thisform.filtru_cript = "" + If Type("this.but_start_criterii1") = 'O' + Thisform.but_start_criterii1.ToolTipText=Thisform.filtru_pretty_ro + Thisform.but_start_criterii1.SetFocus + Thisform.but_start_criterii1.pornit = "nu" + Endif + *!* If Thisform.lfiltruperioada And Thisform.ladaugalunacurenta And ; + *!* At([Perioada;]+Alltrim(Thisform.cfiltruperioada)+[;],Thisform.filtru_cript) = 0 + *!* Thisform.filtru_cript = Thisform.filtru_cript + [Perioada;] + Alltrim(Thisform.cfiltruperioada) + [;1;;] + ; + *!* Padl(Alltrim(Str(gnLuna)),2,[0]) + [/] + Alltrim(Str(gnAn)) + [|] + *!* Thisform.but_start_criterii1.loadfiltru(Thisform.filtru_cript) + *!* Endif + lnIdFormular = This.nIdFormularRaport + *!* 23.09.2010 + If m.lnIdFormular = 2 && raw sql + IF !tlInitial && do_incarca_raport() apeleaza si do_reset_filtru() si do_incarca_filtru() si nu mai trebuie sa apelez din nou + This.do_incarca_filtru() + ENDIF + Else + If Thisform.lfiltruperioada And Thisform.ladaugalunacurenta + Thisform.filtru_cript = [Perioada;] + Alltrim(Thisform.cfiltruperioada) + [;1;;] + ; + Padl(Alltrim(Str(gnLuna)),2,[0]) + [/] + Alltrim(Str(gnAn)) + [|] + Thisform.but_start_criterii1.loadfiltru(Thisform.filtru_cript) + Endif + Endif + *!* 23.09.2010 ^ + Thisform.ed_explicatii_filtru.Refresh() + + ENDPROC + + PROCEDURE do_salvare + *!* 23.09.2010 + *!* marius.mutu + *!* tratare idformular = 2 && raw sql + + *!* 12.10.2015 + *!* marius.mutu + *!* se salveaza si csql_parametri la adaugarea raportului (pentru raport nou din raport existent) + + Private pcDenumireRaport, pcTitluRaport, pnIdRaport, pnIdRaportNou, pcSql, pcSqlParametri + Local lofrmraportnou,llArataFereastra, lcCampuri, lnIdFormular, lcIdFormular, lcGrupare, lcOrdonare, lcCrossTabulare + Local lcNumeContainer, loContainerSelectie, lcMenu, lnx, lcRaport, lcModificabil + Local lcValoriFiltru, lcSql, lnSucces + + pcSql = "" + lcCampuri = "" + lcGrupare = "" + lcOrdonare = "" + lcCrossTabulare = "" + pcSqlParametri = "" + + lnIdFormular = THIS.nIdformularraport + lcIdFormular = Alltrim(Str(m.lnIdFormular)) && id_formular_raport + + pcDenumireRaport = Thisform.cdenumire && denumire + pcTitluRaport = Iif(Empty(Thisform.ctitluraport),Thisform.ctitluraportinitial,Thisform.ctitluraport) && titlu + pnIdRaport = Iif(Thisform.lReadOnly,.Null.,Thisform.nidraport) && raport + && daca raportul e predefinit ( nu e modificabil ) atunci pot doar sa-l salvez ca unul nou + pnIdRaportNou = 0 + llArataFereastra = .F. + lcNumeContainer = [thisform.] + Thisform.cnume_ct_selectie + loContainerSelectie = &lcNumeContainer + *!* 23.09.2010 + IF m.lnIdFormular <> 2 + lcCampuri = loContainerSelectie.get_coloane_selectie() + + If Empty(m.lcCampuri) + amessagebox("Nu ati selectat niciun camp!",48,"Atentie") + Return + Endif + ELSE + pcSql = ALLTRIM(loContainerSelectie.edtSelectie.value) + ENDIF + *!* 23.09.2010 ^ + + If !Isnull(m.pnIdRaport) + lcMenu = "Salveaza modificari;Salveaza modificari si schimba denumire/titlu;Salveaza ca raport nou" + lnx = xmenu(m.lcMenu) + Do Case + Case lnx = 1 + llArataFereastra = .F. + Case lnx = 2 + llArataFereastra = .T. + Case lnx = 3 + llArataFereastra = .T. + pnIdRaport = Null + + pcSqlParametri = "" + lnSucces = goExecutor.oSelect2Value([select csql_parametri from rapoarte where id_raport = ?pnIdRaport], @pcSqlParametri) + + If lnSucces < 0 + amessagebox(goExecutor.cEroare,16,"Eroare") + Endif + + Otherwise + Return + Endcase + Else + llArataFereastra = .T. + Endif + + If llArataFereastra + lofrmraportnou = Createobject('frm_raport_nou') + lofrmraportnou.Show(1) + Else + gnButon = 1 + Endif + If gnButon = 1 + lcRaport = Iif(Thisform.lReadOnly,Thisform.cRaportInitial,Thisform.cRaport) && nume_frx + *!* lcModificabil = Iif(Thisform.lReadOnly,[0],[1]) && modificabil + lcModificabil = [1] + + IF m.lnIdFormular <> 2 + lcGrupare = Nvl(loContainerSelectie.get_coloane_grupare(),[NULL]) + lcOrdonare = Nvl(loContainerSelectie.get_coloane_ordonare(),[NULL]) + lcCrossTabulare = Nvl(loContainerSelectie.get_coloane_crosstabulare(),[NULL]) + ENDIF + *!* modificare ROAGEST v 2.0.144 + *!* If Thisform.lfiltruperioada And Thisform.ladaugalunacurenta And ; + *!* At(Upper([Perioada;] + Alltrim(Thisform.cfiltruperioada) + [;1;;] + ; + *!* Padl(Alltrim(Str(gnLuna)),2,[0]) + [/] + Alltrim(Str(gnAn)) + [|]),Upper(Thisform.filtru_cript)) <> 0 + *!* Thisform.filtru_cript = Strtran(Upper(Thisform.filtru_cript),Upper([Perioada;] + Alltrim(Thisform.cfiltruperioada) + [;1;;] + ; + *!* Padl(Alltrim(Str(gnLuna)),2,[0]) + [/] + Alltrim(Str(gnAn)) + [|]),[luna_curenta|]) + *!* Endif + If Thisform.lfiltruperioada And Thisform.ladaugalunacurenta And ; + OccursRegExp(Upper("Perioada;" + Alltrim(Thisform.cfiltruperioada) + ";/[1-6]/;;" + ; + Padl(Alltrim(Str(gnLuna)),2,[0]) + "/" + Alltrim(Str(gnAn)) + "|"),UPPER(Thisform.filtru_cript)) > 0 + Thisform.filtru_cript = Strtran(Upper(Thisform.filtru_cript),; + Upper([Perioada;] + Alltrim(Thisform.cfiltruperioada) + [;1;;] + Padl(Alltrim(Str(gnLuna)),2,[0]) + [/] + Alltrim(Str(gnAn)) + [|]),; + Upper([Perioada;] + Alltrim(Thisform.cfiltruperioada) + [;1;;luna_curenta|])) + Thisform.filtru_cript = Strtran(Upper(Thisform.filtru_cript),; + Upper([Perioada;] + Alltrim(Thisform.cfiltruperioada) + [;2;;] + Padl(Alltrim(Str(gnLuna)),2,[0]) + [/] + Alltrim(Str(gnAn)) + [|]),; + Upper([Perioada;] + Alltrim(Thisform.cfiltruperioada) + [;2;;luna_curenta|])) + Thisform.filtru_cript = Strtran(Upper(Thisform.filtru_cript),; + Upper([Perioada;] + Alltrim(Thisform.cfiltruperioada) + [;3;;] + Padl(Alltrim(Str(gnLuna)),2,[0]) + [/] + Alltrim(Str(gnAn)) + [|]),; + Upper([Perioada;] + Alltrim(Thisform.cfiltruperioada) + [;3;;luna_curenta|])) + Thisform.filtru_cript = Strtran(Upper(Thisform.filtru_cript),; + Upper([Perioada;] + Alltrim(Thisform.cfiltruperioada) + [;4;;] + Padl(Alltrim(Str(gnLuna)),2,[0]) + [/] + Alltrim(Str(gnAn)) + [|]),; + Upper([Perioada;] + Alltrim(Thisform.cfiltruperioada) + [;4;;luna_curenta|])) + Thisform.filtru_cript = Strtran(Upper(Thisform.filtru_cript),; + Upper([Perioada;] + Alltrim(Thisform.cfiltruperioada) + [;5;;] + Padl(Alltrim(Str(gnLuna)),2,[0]) + [/] + Alltrim(Str(gnAn)) + [|]),; + Upper([Perioada;] + Alltrim(Thisform.cfiltruperioada) + [;5;;luna_curenta|])) + Thisform.filtru_cript = Strtran(Upper(Thisform.filtru_cript),; + Upper([Perioada;] + Alltrim(Thisform.cfiltruperioada) + [;6;;] + Padl(Alltrim(Str(gnLuna)),2,[0]) + [/] + Alltrim(Str(gnAn)) + [|]),; + Upper([Perioada;] + Alltrim(Thisform.cfiltruperioada) + [;6;;luna_curenta|])) + Endif + *!* modificare ROAGEST v 2.0.144 ^ + lcValoriFiltru = Nvl(thisform.filtru_cript,[NULL]) + lcSql = [{call pack_rapoarte.salveaza_raport(?pnIdRaport,?@pnIdRaportNou,] + ; + ['] + Alltrim(pcDenumireRaport) + [','] + Alltrim(pcTitluRaport) + [',] + ; + ['] + Alltrim(Nvl(lcRaport,[])) + [',] + Alltrim(lcModificabil) + [,] + ; + ['] + Alltrim(lcCampuri) + [','] + Alltrim(lcGrupare) + [',] + ; + ['] + Alltrim(lcOrdonare) + [','] + Alltrim(lcCrossTabulare) + [',] + ; + lcIdFormular + [,'] + lcValoriFiltru + [',] + ; + [?gnIdUtil, ?pcSql, ?pcSqlParametri)}] + lnSucces = goExecutor.oExecute(lcSql) + If lnSucces < 0 + amessagebox("Salvarea nu a reusit!" + Chr(13) + Chr(10) + Chr(13) + Chr(10) + ; + goExecutor.cEroare,16,"Eroare") + Else + amessagebox("Raportul a fost salvat in baza de date!",64,"Info salvare raport") + Thisform.nidraport = pnIdRaportNou + Thisform.cdenumire = pcDenumireRaport + Thisform.ctitluraport = pcTitluRaport + Thisform.cRaport = lcRaport + Thisform.lReadOnly = .F. + loContainerSelectie.Enabled = !Thisform.lReadOnly + Thisform.but_sterge1.Visible = !Thisform.lReadOnly + Thisform.but_listare1.Visible = Iif(!Empty(Thisform.cRaport),.T.,.F.) + Thisform.but_listare1.lvizibil = Iif(!Empty(Thisform.cRaport),.T.,.F.) + Endif + Endif + Release pcDenumireRaport, pcTitluRaport, lofrmraportnou, pnIdRaport, pnIdRaportNou + ENDPROC + + PROCEDURE do_sterge + If amessagebox("Doriti sa stergeti raportul '"+Upper(Alltrim(Thisform.cdenumire)) + "' din baza de date?",4+32,"Confirmare stergere") = 6 + lcSql = [begin pack_rapoarte.sterge_raport(] + Alltrim(Str(Thisform.nidraport)) + [,] + ; + [?gnIdUtil); end;] + lnSucces = goExecutor.oExecute(lcSql) + If lnSucces < 0 + amessagebox(goExecutor.cEroare,16,"Eroare") + Else + amessagebox("Raportul a fost sters!",64,"Info stergere") + Thisform.nidraport = .Null. + Endif + Endif + ENDPROC + + PROCEDURE Init + Lparameters tnIdRaport, tlDrepturi + *!* tnIdRaport: 1 = Rapoarte rulaj; 2 = Rapoarte SQL + *!* tlDrepturi: .T. = Se afiseaza doar rapoartele pe care are drepturi utilizatorul + + If Isnull(Thisform.nidformularraport) + Thisform.RemoveObject('ct_clb_raport') + Thisform.RemoveObject('but_salveaza1') + Thisform.RemoveObject('but_modiparam1') + + If Isnull(Thisform.nidraport) + Thisform.RemoveObject('but_sterge1') + Endif + Endif + For i = 1 To Thisform.Objects.Count + If Upper(Alltrim(Thisform.Objects[i].Class)) = [CT_SELECTIE] + Thisform.cnume_ct_selectie = Thisform.Objects[i].Name + Exit + Endif + Endfor + This.lb_titlu_alb_b121.Caption = Upper(Alltrim(Thisform.ctitluraportinitial)) + Thisform.ctitluraport = Thisform.ctitluraportinitial + Thisform.cRaport = Thisform.cRaportinitial + Thisform.nidraport = Thisform.nidraportinitial + *!* 07.03.2011 + IF PCOUNT() = 2 + Thisform.lDrepturi = tlDrepturi + ENDIF + *!* 07.03.2011 ^ + *!* *!* If Thisform.lfiltruperioada And Thisform.ladaugalunacurenta And ; + *!* *!* At([Perioada;]+Alltrim(Thisform.cfiltruperioada)+[;],Thisform.filtru_cript) = 0 + *!* *!* Thisform.filtru_cript = Thisform.filtru_cript + [Perioada;] + Alltrim(Thisform.cfiltruperioada) + [;1;;] + ; + *!* *!* Padl(Alltrim(Str(gnLuna)),2,[0]) + [/] + Alltrim(Str(gnAn)) + [|] + *!* *!* Thisform.but_start_criterii1.loadfiltru(Thisform.filtru_cript) + *!* *!* Endif + *!* modificare ROAGEST v 2.0.144 + *!* If Thisform.lfiltruperioada And Thisform.ladaugalunacurenta + *!* Thisform.filtru_cript = [Perioada;] + Alltrim(Thisform.cfiltruperioada) + [;1;;] + ; + *!* Padl(Alltrim(Str(gnLuna)),2,[0]) + [/] + Alltrim(Str(gnAn)) + [|] + *!* Thisform.but_start_criterii1.loadfiltru(Thisform.filtru_cript) + *!* Endif + *!* modificare ROAGEST v 2.0.144 ^ + Bindevent(Thisform,"lReadOnly",Thisform,"do_modificabil",1) + DoDefault() + If !Empty(tnIdRaport) + Thisform.nidraport = tnIdRaport + Thisform.do_incarca_raport() + *!* modificare ROAGEST v 2.0.144 + Else + If Thisform.lfiltruperioada And Thisform.ladaugalunacurenta + Thisform.filtru_cript = [Perioada;] + Alltrim(Thisform.cfiltruperioada) + [;1;;] + ; + Padl(Alltrim(Str(gnLuna)),2,[0]) + [/] + Alltrim(Str(gnAn)) + [|] + Thisform.but_start_criterii1.loadfiltru(Thisform.filtru_cript) + Endif + *!* modificare ROAGEST v 2.0.144 ^ + Endif + ENDPROC + + PROCEDURE But_start_criterii1.initform + Lparameters tlShowForm + DoDefault(tlShowForm) + Thisform.ed_explicatii_filtru.Refresh() + This.SetFocus() + ENDPROC + + PROCEDURE But_start_criterii1.loadcriterii + *!* 23.09.2010 + *!* marius.mutu + *!* tratare idformular = 2 && raw sql + + #Define CRLF Chr(13)+Chr(10) + Local lnIdFormular, lnIdRaport + + *!* 23.09.2010 + lnIdFormular = Thisform.nIdformularraport + lnIdRaport = Thisform.nIdRaport + + If m.lnIdFormular = 2 && raw sql + *** obtin cursorul cu criterii + Do criterii_rapoarte_sql With lnIdRaport In orapoarte_dinamice.prg + *!* crsParametriXML(parametru C(250), titlu C(100), CAMP M, TIPCAMP C(10), CAMPID C(100), CAMPCAUTARE C(100) ) + If Used('crsParametriXML') + Select crsParametriXML + Scan + lcTitlu = Alltrim(titlu) + lcCamp = Iif(Empty(Alltrim(camp)), "none", Alltrim(camp)) + lcTipCamp = Iif(Empty(Alltrim(tipcamp)), "C", Alltrim(tipcamp)) + lcCampId = Iif(Empty(Alltrim(campid)), "none", Alltrim(campid)) + lcCampCautare = Iif(Empty(Alltrim(campcautare)), "none", Alltrim(campcautare)) + lcStringCriterii = lcStringCriterii + CRLF + ; + lcTitlu + "\" + lcCamp + "\" + lcTipCamp + "\" + lcCampId + "\" + lcCampCautare + "\" + Endscan + Endif && used + Use In (Select('crsParametriXML')) + Else + If Thisform.lfiltruperioada + lcStringCriterii = lcStringCriterii + CRLF + ; + "Perioada\" + Alltrim(Thisform.cfiltruperioada) + "\D1\none\" + Endif + lcStringCriterii = lcStringCriterii + IIF(glEMama,crlf + "Sucursala\sucursala\T\ID_SUCURSALA\nom_sucursala", "") && aleg sucursale doar daca sunt pe mama : 28.04.2011 + Endif && lnIdFormular + *!* 23.09.2010 ^ + + DoDefault() + + ENDPROC + + PROCEDURE lb_raport_predefinit.Init + lcNumeContainer = [thisform.] + Thisform.cnume_ct_selectie + loContainer = &lcNumeContainer + This.Top = loContainer.Top + Round((loContainer.Height-This.Height)/2,0) + This.Left = loContainer.Left + Round((loContainer.Width-This.Width)/2,0) + ENDPROC + +ENDDEFINE + +DEFINE CLASS frm_date_rapoarte_gen_original AS _frmbase OF "_frm_base.vcx" + *< CLASSDATA: Baseclass="form" Timestamp="" Scale="Pixels" Uniqueid="" /> + + *-- OBJECTDATA items order determines ZOrder / El orden de los items OBJECTDATA determina el ZOrder + *< OBJECTDATA: ObjPath="But_listare1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="But_excel1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="But_help1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="But_cautare1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="But_sterge1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="Ct_selectie1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="ed_explicatii_filtru" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="But_salveaza1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="But_reset2" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="But_start_criterii1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="But_nou1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="lb_raport_predefinit" UniqueID="" Timestamp="" /> + + * + *m: creeaza_raport + *m: do_adauga_filtru + *m: do_cauta_raport + *m: do_incarca_filtru + *m: do_incarca_raport + *m: do_modificabil + *m: do_reset_filtru + *m: do_salvare + *p: cdenumire && Denumirea raportului. + *p: cfiltruperioada && Campurile / campul dupa care se filtreaza perioada ( trebuie sa fie de forma an * 12 + luna ). + *p: cnume_ct_selectie && Numele containerului bazat pe ct_selectie. + *p: craport && Numele raportului pentru listare + *p: craportinitial && Numele raportului folosit pentru listare. + *p: ctitluraport + *p: ctitluraportinitial && Titlul initial al raportului. + *p: filtru_cript + *p: ladaugalunacurenta && IN CAZUL IN CARE EXISTA PERIOADA IN FILTRU : .T. - daca adauga luna curenta in filtru la incarcarea unui raport ( daca nu exista deja o perioada salvata in filtru ), la resetare si la raport nou. + *p: lfiltruperioada && .T. - este adaugat filtrul pe perioada; campul este specificat in cFiltruPerioada + *p: lreadonly && Daca campurile de selectie, ordonare, grupare sunt blocate (pentru selectii predefinite) + *p: nidformularraport && Id-ul formularului. + *p: nidraport && Id-ul raportului incarcat. + *p: nidraportinitial + * + + * + cdenumire = + cfiltruperioada = an*12+luna + cnume_ct_selectie = ct_selectie1 + craport = + craportinitial = + ctitluraport = + ctitluraportinitial = Rapoarte generate dinamic + DoCreate = .T. + filtru_cript = + Height = 440 + lactiv4 = .T. + ladaugalunacurenta = .T. + lfiltruperioada = .T. + lreadonly = .F. + Name = "frm_date_rapoarte_gen" + nidformularraport = .NULL. + nidraport = .NULL. + nidraportinitial = .NULL. + Width = 696 + _memberdata = + + + + + + + + + + + _shape1.Height = 29 + _shape1.Left = 0 + _shape1.Name = "_shape1" + _shape1.Top = 0 + _shape1.Width = 696 + _shape1.ZOrderSet = 0 + _shape2.Height = 29 + _shape2.Left = 455 + _shape2.Name = "_shape2" + _shape2.Top = 0 + _shape2.Width = 240 + _shape2.ZOrderSet = 1 + Lb_titlu_alb_b121.Caption = "Thisform.ctitluraportinitial" + Lb_titlu_alb_b121.FontBold = .T. + Lb_titlu_alb_b121.Name = "Lb_titlu_alb_b121" + Lb_titlu_alb_b121.TabIndex = 10 + Lb_titlu_alb_b121.ZOrderSet = 2 + BUT_TERMIN1.Left = 666 + BUT_TERMIN1.Name = "BUT_TERMIN1" + BUT_TERMIN1.TabIndex = 8 + BUT_TERMIN1.Top = 1 + BUT_TERMIN1.ZOrderSet = 4 + GRIDSORT1.Left = 480 + GRIDSORT1.Name = "GRIDSORT1" + GRIDSORT1.Top = 36 + * + + ADD OBJECT 'But_cautare1' AS but_cautare WITH ; + caction = do_cauta_raport, ; + Height = 27, ; + Left = 513, ; + Name = "But_cautare1", ; + TabIndex = 3, ; + Top = 1, ; + Width = 30 + *< END OBJECT: ClassLib="cmd_butoane.vcx" BaseClass="commandbutton" /> + + ADD OBJECT 'But_excel1' AS but_excel WITH ; + Left = 605, ; + Name = "But_excel1", ; + TabIndex = 6, ; + Top = 1, ; + ZOrderSet = 6 + *< END OBJECT: ClassLib="cmd_butoane.vcx" BaseClass="commandbutton" /> + + ADD OBJECT 'But_help1' AS but_help WITH ; + Left = 454, ; + Name = "But_help1", ; + TabIndex = 1, ; + Top = 1, ; + ZOrderSet = 7 + *< END OBJECT: ClassLib="cmd_butoane.vcx" BaseClass="commandbutton" /> + + ADD OBJECT 'But_listare1' AS but_listare WITH ; + Left = 636, ; + lvizibil = .F., ; + Name = "But_listare1", ; + TabIndex = 7, ; + Top = 1, ; + ZOrderSet = 5 + *< END OBJECT: ClassLib="cmd_butoane.vcx" BaseClass="commandbutton" /> + + ADD OBJECT 'But_nou1' AS but_nou WITH ; + Left = 483, ; + Name = "But_nou1", ; + TabIndex = 2, ; + Top = 1 + *< END OBJECT: ClassLib="cmd_butoane.vcx" BaseClass="commandbutton" /> + + ADD OBJECT 'But_reset2' AS but_reset WITH ; + caction = do_reset_filtru, ; + Left = 624, ; + Name = "But_reset2", ; + TabIndex = 9, ; + ToolTipText = "Reseteaza filtru", ; + Top = 32, ; + ZOrderSet = 14 + *< END OBJECT: ClassLib="cmd_butoane.vcx" BaseClass="commandbutton" /> + + ADD OBJECT 'But_salveaza1' AS but_salveaza WITH ; + Height = 27, ; + Left = 543, ; + Name = "But_salveaza1", ; + TabIndex = 4, ; + ToolTipText = "Salvare raport", ; + Top = 1, ; + Width = 30, ; + ZOrderSet = 13 + *< END OBJECT: ClassLib="cmd_butoane.vcx" BaseClass="commandbutton" /> + + ADD OBJECT 'But_start_criterii1' AS but_start_criterii WITH ; + Anchor = 9, ; + lcautare = .F., ; + Left = 655, ; + Name = "But_start_criterii1", ; + TabIndex = 13, ; + Top = 32, ; + ZOrderSet = 15 + *< END OBJECT: ClassLib="ocriterii.vcx" BaseClass="commandbutton" /> + + ADD OBJECT 'But_sterge1' AS but_sterge WITH ; + Left = 574, ; + lvizibil = .F., ; + Name = "But_sterge1", ; + TabIndex = 5, ; + ToolTipText = "Stergere raport (CTRL+D)", ; + Top = 1, ; + ZOrderSet = 10 + *< END OBJECT: ClassLib="cmd_butoane.vcx" BaseClass="commandbutton" /> + + ADD OBJECT 'Ct_selectie1' AS ct_selectie WITH ; + Height = 391, ; + Left = 12, ; + Name = "Ct_selectie1", ; + TabIndex = 11, ; + Top = 36, ; + Width = 332, ; + ZOrderSet = 11, ; + Ct_grupare1.lblAtentie.Name = "lblAtentie", ; + Ct_grupare1.lb_grupare.Name = "lb_grupare", ; + Ct_grupare1.Left = 5, ; + Ct_grupare1.Name = "Ct_grupare1", ; + Ct_grupare1.Top = 252, ; + Ct_grupare1._scrollcontainer1.But_jos1.Name = "But_jos1", ; + Ct_grupare1._scrollcontainer1.But_sus1.Name = "But_sus1", ; + Ct_grupare1._scrollcontainer1.Name = "_scrollcontainer1", ; + Ct_ordonare1.lb_ordonare.Name = "lb_ordonare", ; + Ct_ordonare1.Left = 5, ; + Ct_ordonare1.Name = "Ct_ordonare1", ; + Ct_ordonare1.Top = 120, ; + Ct_ordonare1._scrollcontainer1.But_jos1.Name = "But_jos1", ; + Ct_ordonare1._scrollcontainer1.But_sus1.Name = "But_sus1", ; + Ct_ordonare1._scrollcontainer1.Name = "_scrollcontainer1", ; + lb_coloane.Name = "lb_coloane" + *< END OBJECT: ClassLib="orapoarte.vcx" BaseClass="container" /> + + ADD OBJECT 'ed_explicatii_filtru' AS _editbox WITH ; + ControlSource = "Thisform.filtru_pretty_ro", ; + Height = 364, ; + Left = 360, ; + Name = "ed_explicatii_filtru", ; + ReadOnly = .T., ; + TabIndex = 12, ; + Top = 63, ; + Width = 324, ; + ZOrderSet = 12 + *< END OBJECT: ClassLib="_baza.vcx" BaseClass="editbox" /> + + ADD OBJECT 'lb_raport_predefinit' AS _lbbase WITH ; + Caption = "RAPORT PREDEFINIT", ; + FontBold = .T., ; + FontSize = 25, ; + Height = 228, ; + Left = 12, ; + Name = "lb_raport_predefinit", ; + Rotation = 35, ; + TabIndex = 14, ; + Top = 200, ; + Visible = .F., ; + Width = 300, ; + ZOrderSet = 16 + *< END OBJECT: ClassLib="_lb_base.vcx" BaseClass="label" /> + + PROCEDURE creeaza_raport + If Used('crsraport') + Use In crsraport + Endif + + This.do_cauta() + + If Used('crsRaport') And Reccount('crsraport')<>0 + If Used('crsexport') + Use In crsexport + Endif + Dimension aColoane[1] + lcSelect = [SELECT Iif(gid<>0,'TOTAL',Space(5)) As explicatie] + Afields(aColoane,'crsraport') + For i = 1 To Alen(aColoane,1) + If Upper(Alltrim(aColoane[i,1])) <> 'GID' + lcNumeColoana = Upper(Alltrim(aColoane[i,1])) + lcSelect = lcSelect + [,] + Iif(aColoane[i,2] = 'T', [TTOD(] + lcNumeColoana + [) as ] + ; + lcNumeColoana, lcNumeColoana) + Endif + Endfor + lcSelect = lcSelect + [ From crsraport Into Cursor crsexport] + &lcSelect + Endif + If Used('crsRaport') + Use In crsRaport + Endif + + ENDPROC + + PROCEDURE do_adauga + Thisform.do_reset() + + ENDPROC + + PROCEDURE do_adauga_filtru + ENDPROC + + PROCEDURE do_cauta + *!* 22.06.2010 + *!* marius.mutu + *!* apelez do_instructiune_sql cu filtru + *!* in do_instructiune_sql - trimit filtrul daca coloana de crostabulare face parte din filtru - sa arat atatea coloane cate valori sunt in filtru + + Local llReturn + With Thisform.ct_selectie1 + *!* 22.06.2010 + *!* If .do_instructiune_sql() + If .do_instructiune_sql(Thisform.filtru_pretty) + *!* 22.06.2010 ^ + lcSql = .csql + If Empty(lcSql) + amessagebox("Nu ati ales coloane pentru selectie!",0+48,"Atentie") + .SetFocus() + llReturn = .F. + Else + lcSql = Strtran(lcSql,[WHERE 1=2],Iif(!Empty(Thisform.filtru_pretty),[WHERE ] + Thisform.filtru_pretty,[])) + lnSucces = goExecutor.oExecute(lcSql,'crsraport') + If lnSucces < 0 + amessagebox(goExecutor.oPrelucrareEroare(),16,"Eroare") + llReturn = .F. + Endif + Endif + Else + llReturn = .F. + Endif + Endwith + Return llReturn + ENDPROC + + PROCEDURE do_cauta_raport + Local loCauta + loCauta = caut_raport(This.nidformularraport) + If gnButon = 1 + Thisform.nidraport = loCauta.id_raport + Thisform.do_incarca_raport() + Endif + Release loCauta + ENDPROC + + PROCEDURE do_excel + Local lcFileName + lcFileName = "" + This.creeaza_raport() + + If Used('crsExport') + lcFileName = strtranx(This.ctitluraport, "([^a-zA-Z0-9])", [_] ) + export_xls('crsexport', lcFileName) + Use In crsExport + Else + amessagebox("Nu exista rezultate pentru export in Excel!",0+48,"Atentie") + Endif + + + ENDPROC + + PROCEDURE do_help + Local lofrmhelprap + lofrmhelprap = Createobject('frm_help_rapoarte') + lofrmhelprap.Show(1) + Release lofrmhelprap + ENDPROC + + PROCEDURE do_incarca_filtru + Local lcCursorFiltru + lcCursorFiltru = [crsrapfiltru] + If Used(lcCursorFiltru) + Use In (lcCursorFiltru) + Endif + lcSql = [select valoare from rapoarte_filtre where id_raport = ] + Alltrim(Str(Thisform.nidraport)) + lnSucces = goExecutor.oExecute(lcSql,lcCursorFiltru) + If lnSucces < 0 + amessagebox(goExecutor.cEroare,16,"Eroare") + Else + Select (lcCursorFiltru) + Thisform.filtru_cript = valoare + *!* modificare ROAGEST v 2.0.144 + If At(Upper([luna_curenta|]),Upper(Thisform.filtru_cript)) <> 0 + Thisform.filtru_cript = STRTRAN(Thisform.filtru_cript,UPPER([luna_curenta|]),Padl(Alltrim(Str(gnLuna)),2,[0]) + [/] + Alltrim(Str(gnAn)) + [|]) + Endif + *!* modificare ROAGEST v 2.0.144 ^ + Thisform.but_start_criterii1.loadfiltru(Thisform.filtru_cript) + Thisform.ed_explicatii_filtru.Refresh() + Endif + If Used(lcCursorFiltru) + Use In (lcCursorFiltru) + Endif + Release lcCursorFiltru + + ENDPROC + + PROCEDURE do_incarca_raport + Local lcCursorRaport + If !Empty(Nvl(Thisform.nidraport,0)) + lcCursorRaport = [crsdateraport] + If Used(lcCursorRaport) + Use In (lcCursorRaport) + Endif + lcSql = [select denumire,titlu,nume_frx,modificabil,campuri,grupare,ordonare,crosstabulare from vrapoarte ] + ; + [where id_raport = ] + Alltrim(Str(Thisform.nidraport)) + lnSucces = goExecutor.oExecute(lcSql,lcCursorRaport) + If lnSucces < 0 + amessagebox(goExecutor.cEroare,16,"Eroare") + Else + Local i, lnCount, lcCamp, loCamp, lnSelected, lcNumeContainer, lcListaCampuri, lcListaOrdonare, lcListaGrupare, ; + lcCrossTabulare, lcListaCampuri2 + Local loException As Exception + + lcNumeContainer = [thisform.] + Thisform.cnume_ct_selectie + *!* modificare ROAGEST v 2.0.144 + LOCAL llAdaugaLunaCurenta + llAdaugaLunaCurenta = Thisform.ladaugalunacurenta + Thisform.ladaugalunacurenta = .F. + *!* modificare ROAGEST v 2.0.144 ^ + Thisform.do_reset(.T.) + Thisform.do_reset_filtru() + *!* modificare ROAGEST v 2.0.144 + Thisform.ladaugalunacurenta = llAdaugaLunaCurenta + *!* modificare ROAGEST v 2.0.144 ^ + Select (lcCursorRaport) + lcListaCampuri = campuri + lcListaOrdonare = ordonare + lcListaGrupare = grupare + lcCrossTabulare = crosstabulare + lcListaCampuri2 = [] + Thisform.cdenumire = Upper(Alltrim(denumire)) + Thisform.ctitluraport = Upper(Alltrim(titlu)) + Thisform.cRaport = nume_frx + Thisform.lReadOnly = Iif(modificabil = 1,.F.,.T.) + + With &lcNumeContainer + .Enabled = !Thisform.lReadOnly + Endwith + + Thisform.but_listare1.Visible = Iif(!Empty(Nvl(Thisform.cRaport,[])),.T.,.F.) + Thisform.but_listare1.lvizibil = Iif(!Empty(Nvl(Thisform.cRaport,[])),.T.,.F.) + Thisform.but_sterge1.Visible = !Thisform.lReadOnly + + This.lb_titlu_alb_b121.Caption = Upper(Alltrim(Iif(!Empty(Thisform.ctitluraport),Thisform.ctitluraport,Thisform.ctitluraportinitial))) + + && Completare campuri selectie predefinite + If !Empty(Nvl(lcListaCampuri,[])) + lnCount = Getwordcount(lcListaCampuri,",") + For i = 1 To lnCount + lcNumeCamp = Getwordnum(lcListaCampuri,i, ",") + lcCamp = lcNumeContainer + [.ct_selectie_] + lcNumeCamp + [.ck_camp]&& ct_selectie_nnir + Try + loCamp = &lcCamp + loCamp.Value = 1 + *!* modificare ROAGEST v 2.0.143 + If !EVALUATE(lcNumeContainer + [.ct_selectie_] + lcNumeCamp + [.lSuma]) + lcListaCampuri2 = lcListaCampuri2 + lcNumeCamp + [,] + Endif + *!* modificare ROAGEST v 2.0.143 ^ + Catch To loException + amessagebox(loException.Message) + Endtry + Endfor + Endif + + && Completare campuri grupare predefinite + && modificare ROAGEST v 2.0.143 : am inlocuit lcListaCampuri cu lcListaCampuri2 + If !Empty(Nvl(lcListaGrupare,[])) + lnCount = Getwordcount(lcListaGrupare,",") + For i = 1 To lnCount + lnIndexCamp = Val(Getwordnum(lcListaGrupare,i, ",")) + + lcCampSelectat = lcNumeContainer + [.ct_selectie_] + Getwordnum(lcListaCampuri2,lnIndexCamp, ",") + [.cCamp] + lcCamp = &lcCampSelectat + lcCamp = Upper(Alltrim(lcNumeContainer + [.ct_grupare1._scrollcontainer1.ct_grup_] + Strtran(lcCamp,[.],[_]))) + [.ck_ordine] + Try + loCamp = &lcCamp + loCamp.Value = 1 + Catch To loException + amessagebox(loException.Message) + Endtry + + Endfor + Endif + + + && Completare campuri ordonare predefinite + && modificare ROAGEST v 2.0.143 : am inlocuit lcListaCampuri cu lcListaCampuri2 + If !Empty(Nvl(lcListaOrdonare,[])) + Local llDesc + lnCount = Getwordcount(lcListaOrdonare,",") + For i = 1 To lnCount + llDesc = .F. + lcElement = Getwordnum(lcListaOrdonare,i, ",") + If 'DESC'$Upper(lcElement) + llDesc = .T. + lnIndexCamp = Val(Alltrim(Strtran(Upper(lcElement),[DESC],[]))) + Else + lnIndexCamp = Val(lcElement) + Endif + + lcCampSelectat = lcNumeContainer + [.ct_selectie_] + Getwordnum(lcListaCampuri2,lnIndexCamp, ",") + [.cCamp] + lcCamp = &lcCampSelectat + + lcCamp = Upper(Alltrim(lcNumeContainer + [.ct_ordonare1._scrollcontainer1.ct_ordine_] + Strtran(lcCamp,[.],[_]))) + [.ck_ordine] + Try + loCamp = &lcCamp + loCamp.Value = 1 + Catch To loException + amessagebox(loException.Message) + Endtry + + If llDesc + lcCamp = &lcCampSelectat + lcCamp = Upper(Alltrim(lcNumeContainer + [.ct_ordonare1._scrollcontainer1.ct_ordine_] + Strtran(lcCamp,[.],[_]))) + [.opt_ordine] + Try + loCamp = &lcCamp + loCamp.Value = 2 + Catch To loException + amessagebox(loException.Message) + Endtry + Endif + + Endfor + Endif + + && Completare campuri crosstabulare predefinite + If !Empty(Nvl(lcCrossTabulare,[])) + lnCount = Getwordcount(lcCrossTabulare,",") + For i = 1 To lnCount + lcCamp = Getwordnum(lcCrossTabulare,i, ",") + lcCamp = lcNumeContainer + [.ct_selectie_] + lcCamp + [.ck_camp] && ct_selectie_nnir + Try + loCamp = &lcCamp + loCamp.RightClick() + Catch To loException + amessagebox(loException.Message) + Endtry + Endfor + EndIf + + && Incarcare filtru + Thisform.do_incarca_filtru() + thisform.Refresh() + Endif + If Used(lcCursorRaport) + Use In (lcCursorRaport) + Endif + Endif + ENDPROC + + PROCEDURE do_listare + Local lcQuickReport + Local loListener + Private pcDataOra, pcTitlu, pcSubtitlu + This.creeaza_raport() + + If Used('crsExport') + lcQuickReport = This.cRaport + If !Empty(lcQuickReport) + pcDataOra = get_ora(2) + pcTitlu = Thisform.ctitluraport + pcSubtitlu = Thisform.filtru_pretty_ro + Thisform.AlwaysOnTop = .F. + Select crsExport + Report Form (lcQuickReport) To Printer Prompt Preview + Thisform.AlwaysOnTop = .T. + Endif + Use In crsExport + Else + amessagebox("Nu exista rezultate pentru listare!",0+48,"Atentie") + Endif + + ENDPROC + + PROCEDURE do_modificabil + Thisform.lb_raport_predefinit.Visible = Thisform.lReadOnly + If Type('thisform.but_sterge1')='O' + Thisform.but_sterge1.Visible = Iif(Isnull(Thisform.nidraport),.F.,Thisform.lReadOnly) + Thisform.but_sterge1.lvizibil = Iif(Isnull(Thisform.nidraport),.F.,Thisform.lReadOnly) + Endif + ENDPROC + + PROCEDURE do_reset + Lparameters tlIncomplet + *!* .T. - este apelat din do_incarca_raport si nu trebuie sa reseteze nidraport pentru ca a fost setat din cautare + *!* .F. - se reseteaza nidraport + Local lcNumeContainer + lcNumeContainer = [thisform.] + Thisform.cnume_ct_selectie + Thisform.lReadOnly = .F. + With &lcNumeContainer + .Enabled = !Thisform.lReadOnly + .do_reset() + EndWith + thisform.do_reset_filtru() + Thisform.ctitluraport = Thisform.ctitluraportinitial + Thisform.cRaport = Thisform.cRaportinitial + Thisform.cdenumire = Thisform.ctitluraportinitial + If !tlIncomplet + Thisform.nidraport = Thisform.nidraportinitial + Endif + This.but_listare1.Visible = .F. + This.but_listare1.lvizibil = .F. + This.lb_titlu_alb_b121.Caption = Upper(Alltrim(Thisform.ctitluraportinitial)) + If Isnull(Thisform.nidraport) + Thisform.but_sterge1.Visible = .F. + Endif + + ENDPROC + + PROCEDURE do_reset_filtru + Thisform.filtru_pretty = "" + Thisform.filtru_pretty_ro = "" + Thisform.filtru_pretty_ro_full = "" + Thisform.filtru_cript = "" + If Type("this.but_start_criterii1") = 'O' + Thisform.but_start_criterii1.ToolTipText=Thisform.filtru_pretty_ro + Thisform.but_start_criterii1.SetFocus + Thisform.but_start_criterii1.pornit = "nu" + Endif + *!* If Thisform.lfiltruperioada And Thisform.ladaugalunacurenta And ; + *!* At([Perioada;]+Alltrim(Thisform.cfiltruperioada)+[;],Thisform.filtru_cript) = 0 + *!* Thisform.filtru_cript = Thisform.filtru_cript + [Perioada;] + Alltrim(Thisform.cfiltruperioada) + [;1;;] + ; + *!* Padl(Alltrim(Str(gnLuna)),2,[0]) + [/] + Alltrim(Str(gnAn)) + [|] + *!* Thisform.but_start_criterii1.loadfiltru(Thisform.filtru_cript) + *!* Endif + If Thisform.lfiltruperioada And Thisform.ladaugalunacurenta + Thisform.filtru_cript = [Perioada;] + Alltrim(Thisform.cfiltruperioada) + [;1;;] + ; + Padl(Alltrim(Str(gnLuna)),2,[0]) + [/] + Alltrim(Str(gnAn)) + [|] + Thisform.but_start_criterii1.loadfiltru(Thisform.filtru_cript) + Endif + Thisform.ed_explicatii_filtru.Refresh() + + ENDPROC + + PROCEDURE do_salvare + Private pcDenumireRaport, pcTitluRaport, pnIdRaport, pnIdRaportNou + Local lofrmraportnou,llArataFereastra + pcDenumireRaport = Thisform.cdenumire && denumire + pcTitluRaport = Iif(Empty(Thisform.ctitluraport),Thisform.ctitluraportinitial,Thisform.ctitluraport) && titlu + pnIdRaport = Iif(Thisform.lReadOnly,.Null.,Thisform.nidraport) && raport + && daca raportul e predefinit ( nu e modificabil ) atunci pot doar sa-l salvez ca unul nou + pnIdRaportNou = 0 + llArataFereastra = .F. + lcNumeContainer = [thisform.] + Thisform.cnume_ct_selectie + loContainerSelectie = &lcNumeContainer + lcCampuri = loContainerSelectie.get_coloane_selectie() + + If Empty(lcCampuri) + amessagebox("Nu ati selectat niciun camp!",48,"Atentie") + Return + Endif + + If !Isnull(pnIdRaport) + lcMenu = "Salveaza modificari;Salveaza modificari si schimba denumire/titlu;Salveaza ca raport nou" + lnx = xmenu(lcMenu) + Do Case + Case lnx = 1 + llArataFereastra = .F. + Case lnx = 2 + llArataFereastra = .T. + Case lnx = 3 + llArataFereastra = .T. + pnIdRaport = Null + Otherwise + Return + Endcase + Else + llArataFereastra = .T. + Endif + + If llArataFereastra + lofrmraportnou = Createobject('frm_raport_nou') + lofrmraportnou.Show(1) + Else + gnButon = 1 + Endif + If gnButon = 1 + lcRaport = Iif(Thisform.lReadOnly,Thisform.cRaportInitial,Thisform.cRaport) && nume_frx + *!* lcModificabil = Iif(Thisform.lReadOnly,[0],[1]) && modificabil + lcModificabil = [1] + lcIdFormular = Alltrim(Str(Thisform.nidformularraport)) && id_formular_raport + lcGrupare = Nvl(loContainerSelectie.get_coloane_grupare(),[NULL]) + lcOrdonare = Nvl(loContainerSelectie.get_coloane_ordonare(),[NULL]) + lcCrossTabulare = Nvl(loContainerSelectie.get_coloane_crosstabulare(),[NULL]) + *!* modificare ROAGEST v 2.0.144 + *!* If Thisform.lfiltruperioada And Thisform.ladaugalunacurenta And ; + *!* At(Upper([Perioada;] + Alltrim(Thisform.cfiltruperioada) + [;1;;] + ; + *!* Padl(Alltrim(Str(gnLuna)),2,[0]) + [/] + Alltrim(Str(gnAn)) + [|]),Upper(Thisform.filtru_cript)) <> 0 + *!* Thisform.filtru_cript = Strtran(Upper(Thisform.filtru_cript),Upper([Perioada;] + Alltrim(Thisform.cfiltruperioada) + [;1;;] + ; + *!* Padl(Alltrim(Str(gnLuna)),2,[0]) + [/] + Alltrim(Str(gnAn)) + [|]),[luna_curenta|]) + *!* Endif + If Thisform.lfiltruperioada And Thisform.ladaugalunacurenta And ; + OccursRegExp(Upper("Perioada;" + Alltrim(Thisform.cfiltruperioada) + ";/[1-6]/;;" + ; + Padl(Alltrim(Str(gnLuna)),2,[0]) + "/" + Alltrim(Str(gnAn)) + "|"),UPPER(Thisform.filtru_cript)) > 0 + Thisform.filtru_cript = Strtran(Upper(Thisform.filtru_cript),; + Upper([Perioada;] + Alltrim(Thisform.cfiltruperioada) + [;1;;] + Padl(Alltrim(Str(gnLuna)),2,[0]) + [/] + Alltrim(Str(gnAn)) + [|]),; + Upper([Perioada;] + Alltrim(Thisform.cfiltruperioada) + [;1;;luna_curenta|])) + Thisform.filtru_cript = Strtran(Upper(Thisform.filtru_cript),; + Upper([Perioada;] + Alltrim(Thisform.cfiltruperioada) + [;2;;] + Padl(Alltrim(Str(gnLuna)),2,[0]) + [/] + Alltrim(Str(gnAn)) + [|]),; + Upper([Perioada;] + Alltrim(Thisform.cfiltruperioada) + [;2;;luna_curenta|])) + Thisform.filtru_cript = Strtran(Upper(Thisform.filtru_cript),; + Upper([Perioada;] + Alltrim(Thisform.cfiltruperioada) + [;3;;] + Padl(Alltrim(Str(gnLuna)),2,[0]) + [/] + Alltrim(Str(gnAn)) + [|]),; + Upper([Perioada;] + Alltrim(Thisform.cfiltruperioada) + [;3;;luna_curenta|])) + Thisform.filtru_cript = Strtran(Upper(Thisform.filtru_cript),; + Upper([Perioada;] + Alltrim(Thisform.cfiltruperioada) + [;4;;] + Padl(Alltrim(Str(gnLuna)),2,[0]) + [/] + Alltrim(Str(gnAn)) + [|]),; + Upper([Perioada;] + Alltrim(Thisform.cfiltruperioada) + [;4;;luna_curenta|])) + Thisform.filtru_cript = Strtran(Upper(Thisform.filtru_cript),; + Upper([Perioada;] + Alltrim(Thisform.cfiltruperioada) + [;5;;] + Padl(Alltrim(Str(gnLuna)),2,[0]) + [/] + Alltrim(Str(gnAn)) + [|]),; + Upper([Perioada;] + Alltrim(Thisform.cfiltruperioada) + [;5;;luna_curenta|])) + Thisform.filtru_cript = Strtran(Upper(Thisform.filtru_cript),; + Upper([Perioada;] + Alltrim(Thisform.cfiltruperioada) + [;6;;] + Padl(Alltrim(Str(gnLuna)),2,[0]) + [/] + Alltrim(Str(gnAn)) + [|]),; + Upper([Perioada;] + Alltrim(Thisform.cfiltruperioada) + [;6;;luna_curenta|])) + Endif + *!* modificare ROAGEST v 2.0.144 ^ + lcValoriFiltru = Nvl(thisform.filtru_cript,[NULL]) + lcSql = [{call pack_rapoarte.salveaza_raport(?pnIdRaport,?@pnIdRaportNou,] + ; + ['] + Alltrim(pcDenumireRaport) + [','] + Alltrim(pcTitluRaport) + [',] + ; + ['] + Alltrim(Nvl(lcRaport,[])) + [',] + Alltrim(lcModificabil) + [,] + ; + ['] + Alltrim(lcCampuri) + [','] + Alltrim(lcGrupare) + [',] + ; + ['] + Alltrim(lcOrdonare) + [','] + Alltrim(lcCrossTabulare) + [',] + ; + lcIdFormular + [,'] + lcValoriFiltru + [',] + ; + [?gnIdUtil)}] + lnSucces = goExecutor.oExecute(lcSql) + If lnSucces < 0 + amessagebox("Salvarea nu a reusit!" + Chr(13) + Chr(10) + Chr(13) + Chr(10) + ; + goExecutor.cEroare,16,"Eroare") + Else + amessagebox("Raportul a fost salvat in baza de date!",64,"Info salvare raport") + Thisform.nidraport = pnIdRaportNou + Thisform.cdenumire = pcDenumireRaport + Thisform.ctitluraport = pcTitluRaport + Thisform.cRaport = lcRaport + Thisform.lReadOnly = .F. + loContainerSelectie.Enabled = !Thisform.lReadOnly + Thisform.but_sterge1.Visible = !Thisform.lReadOnly + Thisform.but_listare1.Visible = Iif(!Empty(Thisform.cRaport),.T.,.F.) + Thisform.but_listare1.lvizibil = Iif(!Empty(Thisform.cRaport),.T.,.F.) + Endif + Endif + Release pcDenumireRaport, pcTitluRaport, lofrmraportnou, pnIdRaport, pnIdRaportNou + ENDPROC + + PROCEDURE do_sterge + If amessagebox("Doriti sa stergeti raportul '"+Upper(Alltrim(Thisform.cdenumire)) + "' din baza de date?",4+32,"Confirmare stergere") = 6 + lcSql = [begin pack_rapoarte.sterge_raport(] + Alltrim(Str(Thisform.nidraport)) + [,] + ; + [?gnIdUtil); end;] + lnSucces = goExecutor.oExecute(lcSql) + If lnSucces < 0 + amessagebox(goExecutor.cEroare,16,"Eroare") + Else + amessagebox("Raportul a fost sters!",64,"Info stergere") + Thisform.nidraport = .Null. + Endif + Endif + ENDPROC + + PROCEDURE Init + Lparameters tnIdRaport + If Isnull(Thisform.nidformularraport) + Thisform.RemoveObject('ct_clb_raport') + Thisform.RemoveObject('but_salveaza1') + Thisform.RemoveObject('but_modiparam1') + If Isnull(Thisform.nidraport) + Thisform.RemoveObject('but_sterge1') + Endif + Endif + For i = 1 To Thisform.Objects.Count + If Upper(Alltrim(Thisform.Objects[i].Class)) = [CT_SELECTIE] + Thisform.cnume_ct_selectie = Thisform.Objects[i].Name + Exit + Endif + Endfor + This.lb_titlu_alb_b121.Caption = Upper(Alltrim(Thisform.ctitluraportinitial)) + Thisform.ctitluraport = Thisform.ctitluraportinitial + Thisform.cRaport = Thisform.cRaportinitial + Thisform.nidraport = Thisform.nidraportinitial + *!* *!* If Thisform.lfiltruperioada And Thisform.ladaugalunacurenta And ; + *!* *!* At([Perioada;]+Alltrim(Thisform.cfiltruperioada)+[;],Thisform.filtru_cript) = 0 + *!* *!* Thisform.filtru_cript = Thisform.filtru_cript + [Perioada;] + Alltrim(Thisform.cfiltruperioada) + [;1;;] + ; + *!* *!* Padl(Alltrim(Str(gnLuna)),2,[0]) + [/] + Alltrim(Str(gnAn)) + [|] + *!* *!* Thisform.but_start_criterii1.loadfiltru(Thisform.filtru_cript) + *!* *!* Endif + *!* modificare ROAGEST v 2.0.144 + *!* If Thisform.lfiltruperioada And Thisform.ladaugalunacurenta + *!* Thisform.filtru_cript = [Perioada;] + Alltrim(Thisform.cfiltruperioada) + [;1;;] + ; + *!* Padl(Alltrim(Str(gnLuna)),2,[0]) + [/] + Alltrim(Str(gnAn)) + [|] + *!* Thisform.but_start_criterii1.loadfiltru(Thisform.filtru_cript) + *!* Endif + *!* modificare ROAGEST v 2.0.144 ^ + Bindevent(Thisform,"lReadOnly",Thisform,"do_modificabil",1) + DoDefault() + If !Empty(tnIdRaport) + Thisform.nidraport = tnIdRaport + Thisform.do_incarca_raport() + *!* modificare ROAGEST v 2.0.144 + Else + If Thisform.lfiltruperioada And Thisform.ladaugalunacurenta + Thisform.filtru_cript = [Perioada;] + Alltrim(Thisform.cfiltruperioada) + [;1;;] + ; + Padl(Alltrim(Str(gnLuna)),2,[0]) + [/] + Alltrim(Str(gnAn)) + [|] + Thisform.but_start_criterii1.loadfiltru(Thisform.filtru_cript) + Endif + *!* modificare ROAGEST v 2.0.144 ^ + Endif + ENDPROC + + PROCEDURE But_start_criterii1.initform + Lparameters tlShowForm + DoDefault(tlShowForm) + Thisform.ed_explicatii_filtru.Refresh() + This.SetFocus() + ENDPROC + + PROCEDURE But_start_criterii1.loadcriterii + If Thisform.lfiltruperioada + lcStringCriterii = lcStringCriterii + crlf + ; + "Perioada\" + Alltrim(Thisform.cfiltruperioada) + "\D1\none\" + Endif + DoDefault() + ENDPROC + + PROCEDURE lb_raport_predefinit.Init + lcNumeContainer = [thisform.] + Thisform.cnume_ct_selectie + loContainer = &lcNumeContainer + This.Top = loContainer.Top + Round((loContainer.Height-This.Height)/2,0) + This.Left = loContainer.Left + Round((loContainer.Width-This.Width)/2,0) + ENDPROC + +ENDDEFINE + +DEFINE CLASS frm_date_rapoarte_sql AS frm_date_rapoarte_gen_base OF "orapoarte.vcx" + *< CLASSDATA: Baseclass="form" Timestamp="" Scale="Pixels" Uniqueid="" /> + + *-- OBJECTDATA items order determines ZOrder / El orden de los items OBJECTDATA determina el ZOrder + *< OBJECTDATA: ObjPath="Ct_selectie1" UniqueID="" Timestamp="" /> + + * + cbuton4 = but_reface1 + cbuton7 = but_sterge1;but_nou1 + DoCreate = .T. + Name = "frm_date_rapoarte_sql" + nidformularraport = 2 + _shape1.Name = "_shape1" + _shape1.ZOrderSet = 1 + _shape2.Name = "_shape2" + _shape2.ZOrderSet = 2 + Lb_titlu_alb_b121.Name = "Lb_titlu_alb_b121" + Lb_titlu_alb_b121.ZOrderSet = 3 + Gridsort1.Name = "Gridsort1" + BUT_TERMIN1.Name = "BUT_TERMIN1" + BUT_TERMIN1.ZOrderSet = 5 + But_listare1.Name = "But_listare1" + But_listare1.ZOrderSet = 6 + But_excel1.Name = "But_excel1" + But_excel1.ZOrderSet = 7 + But_help1.Name = "But_help1" + But_help1.ZOrderSet = 8 + But_cautare1.Name = "But_cautare1" + But_cautare1.ZOrderSet = 9 + But_nou1.Name = "But_nou1" + But_nou1.Visible = .F. + But_nou1.ZOrderSet = 13 + But_sterge1.Name = "But_sterge1" + But_sterge1.ZOrderSet = 10 + ed_explicatii_filtru.Name = "ed_explicatii_filtru" + ed_explicatii_filtru.Top = 63 + ed_explicatii_filtru.ZOrderSet = 11 + But_salveaza1.Name = "But_salveaza1" + But_salveaza1.ZOrderSet = 12 + But_reset2.Name = "But_reset2" + But_reset2.ZOrderSet = 14 + lb_raport_predefinit.Left = 14 + lb_raport_predefinit.Name = "lb_raport_predefinit" + lb_raport_predefinit.Top = 200 + lb_raport_predefinit.ZOrderSet = 16 + But_start_criterii1.Name = "But_start_criterii1" + But_start_criterii1.ZOrderSet = 15 + * + + ADD OBJECT 'Ct_selectie1' AS ct_selectie_sql WITH ; + Left = 12, ; + Name = "Ct_selectie1", ; + Top = 63, ; + ZOrderSet = 0, ; + edtSelectie.Name = "edtSelectie", ; + cmdParametri.Name = "cmdParametri", ; + lb_coloane.Name = "lb_coloane" + *< END OBJECT: ClassLib="orapoarte.vcx" BaseClass="container" /> + + PROCEDURE Show + LPARAMETERS nStyle + + DODEFAULT(nStyle) + * Daca utilizatorul nu are drepturi de pe butonul adaugare, nu ii dau voie nici sa modificare + * in acest caz modificarea este un raport nou (adaugare) + this.ct_selectie1.Enabled = this.but_nou1.Visible + + ENDPROC + + PROCEDURE But_start_criterii1.loadcriterii + PARAMETERS tacriterii + EXTERNAL ARRAY tacriterii + #DEFINE crlf CHR(13)+CHR(10) + lcStringCriterii="" + DODEFAULT() + ENDPROC + +ENDDEFINE + +DEFINE CLASS frm_help_rapoarte AS _frmbase OF "_frm_base.vcx" + *< CLASSDATA: Baseclass="form" Timestamp="" Scale="Pixels" Uniqueid="" /> + + *-- OBJECTDATA items order determines ZOrder / El orden de los items OBJECTDATA determina el ZOrder + *< OBJECTDATA: ObjPath="ed_text" UniqueID="" Timestamp="" /> + + * + DoCreate = .T. + Height = 286 + Name = "frm_help_rapoarte" + Width = 481 + _shape1.Height = 29 + _shape1.Left = 0 + _shape1.Name = "_shape1" + _shape1.Top = 0 + _shape1.Width = 480 + _shape2.Height = 29 + _shape2.Left = 451 + _shape2.Name = "_shape2" + _shape2.Top = 0 + _shape2.Width = 31 + Lb_titlu_alb_b121.Caption = "Ajutor generare rapoarte" + Lb_titlu_alb_b121.Name = "Lb_titlu_alb_b121" + BUT_TERMIN1.Left = 451 + BUT_TERMIN1.Name = "BUT_TERMIN1" + BUT_TERMIN1.Top = 1 + Gridsort1.Name = "Gridsort1" + * + + ADD OBJECT 'ed_text' AS _edbase WITH ; + Height = 240, ; + Left = 12, ; + Name = "ed_text", ; + ReadOnly = .T., ; + Top = 36, ; + Width = 456 + *< END OBJECT: ClassLib="_ed_base.vcx" BaseClass="editbox" /> + + PROCEDURE Init + Lparameters tnIdFormular + Local lnIdFormular + lnIdFormular = Iif(!Empty(Nvl(tnIdFormular,0)), tnIdFormular, 1) + + Local lcCrlf, lcTab + lcCrlf = Chr(13) + Chr(10) + lcTab = Chr(9) + DoDefault() + If m.lnIdFormular = 1 + This.ed_text.Value = ["Coloane in selectie" : ] + lcCrlf + ; + lcTab + lcTab + [Daca numele este scris cu verde, atunci valorile coloanei respective pot fi inscrise pe ] + ; + [coloane in loc de linii (crosstabulare). Pentru aceasta trebuie sa bifati casuta din dreptul numelui si sa faceti click ] + ; + [dreapta pe el. Numele se va colora in albastru, iar numele coloanelor care se insumeaza vor fi colorate in ] + ; + [verde.] + lcCrlf + lcCrlf + ; + lcTab + lcTab + [Se urmeaza acelasi procedeu pentru coloanele cu sume care se doresc a aparea pentru fiecare ] + ; + [valoare distincta din categoria care a fost selectata cu albastru.] + lcCrlf + ; + lcTab + lcTab + [Diferenta este ca dintre cele care nu se insumeaza, doar valorile uneia pot fi aranjate pe ] + ; + [coloane, in timp ce dintre cele care se insumeaza se pot selecta oricate.] + lcCrlf + ; + lcTab + lcTab + [ATENTIE!!! Daca ati selectat o coloana pentru crosstabulare, atunci trebuie sa selectati ] + ; + [pentru crosstabulare cel putin o coloana dintre cele care se insumeaza.] + + Else + This.ed_text.Value = [Apasati pe butonul Binoclu pentru a completa valorile parametrilor : ] + lcCrlf + ; + [Ex: In dreptul parametrului Ziua curenta zzllaaaa, completati 01012010] + Endif + + ENDPROC + +ENDDEFINE + +DEFINE CLASS frm_optiuni_rapoarte AS _frmbase OF "_frm_base.vcx" + *< CLASSDATA: Baseclass="form" Timestamp="" Scale="Pixels" Uniqueid="" /> + + *-- OBJECTDATA items order determines ZOrder / El orden de los items OBJECTDATA determina el ZOrder + *< OBJECTDATA: ObjPath="But_renunt1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="opt_rapoarte" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="grd_rapoarte" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="grd_rapoarte.cDenumire.Header1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="grd_rapoarte.cDenumire.Text1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="grd_rapoarte.cTitlu.Header1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="grd_rapoarte.cTitlu.Text1" UniqueID="" Timestamp="" /> + + * + DoCreate = .T. + Height = 320 + Name = "frm_optiuni_rapoarte" + Width = 588 + _shape1.Height = 29 + _shape1.Left = 0 + _shape1.Name = "_shape1" + _shape1.Top = 0 + _shape1.Width = 588 + _shape2.Height = 29 + _shape2.Left = 524 + _shape2.Name = "_shape2" + _shape2.Top = 0 + _shape2.Width = 64 + Lb_titlu_alb_b121.Caption = "RAPOARTE" + Lb_titlu_alb_b121.Name = "Lb_titlu_alb_b121" + BUT_TERMIN1.Left = 557 + BUT_TERMIN1.Name = "BUT_TERMIN1" + BUT_TERMIN1.Top = 1 + Gridsort1.Name = "Gridsort1" + * + + ADD OBJECT 'But_renunt1' AS but_renunt WITH ; + Left = 526, ; + Name = "But_renunt1", ; + Top = 1 + *< END OBJECT: ClassLib="cmd_butoane.vcx" BaseClass="commandbutton" /> + + ADD OBJECT 'grd_rapoarte' AS _grdrow WITH ; + ColumnCount = 2, ; + DeleteMark = .F., ; + Enabled = .F., ; + FontItalic = .T., ; + FontName = "Arial Narrow", ; + ForeColor = 128,128,128, ; + Height = 221, ; + Left = 23, ; + Name = "grd_rapoarte", ; + Panel = 1, ; + RecordSource = "crsrapoarte", ; + Top = 79, ; + Width = 541, ; + Column1.ControlSource = "denumire", ; + Column1.Enabled = .F., ; + Column1.FontItalic = .T., ; + Column1.FontName = "Arial Narrow", ; + Column1.ForeColor = 128,128,128, ; + Column1.Name = "cDenumire", ; + Column1.ReadOnly = .T., ; + Column1.Width = 276, ; + Column2.ControlSource = "titlu", ; + Column2.Enabled = .F., ; + Column2.FontItalic = .T., ; + Column2.FontName = "Arial Narrow", ; + Column2.ForeColor = 128,128,128, ; + Column2.Name = "cTitlu", ; + Column2.ReadOnly = .T., ; + Column2.Width = 231 + *< END OBJECT: ClassLib="_grd_base.vcx" BaseClass="grid" /> + + ADD OBJECT 'grd_rapoarte.cDenumire.Header1' AS header WITH ; + Alignment = 2, ; + Caption = "Denumire", ; + FontItalic = .T., ; + FontName = "Arial Narrow", ; + Name = "Header1" + *< END OBJECT: BaseClass="header" /> + + ADD OBJECT 'grd_rapoarte.cDenumire.Text1' AS textbox WITH ; + BackColor = 255,255,255, ; + BorderStyle = 0, ; + Enabled = .F., ; + FontItalic = .T., ; + FontName = "Arial Narrow", ; + ForeColor = 128,128,128, ; + Margin = 0, ; + Name = "Text1", ; + ReadOnly = .T. + *< END OBJECT: BaseClass="textbox" /> + + ADD OBJECT 'grd_rapoarte.cTitlu.Header1' AS header WITH ; + Alignment = 2, ; + Caption = "Titlu", ; + FontItalic = .T., ; + FontName = "Arial Narrow", ; + Name = "Header1" + *< END OBJECT: BaseClass="header" /> + + ADD OBJECT 'grd_rapoarte.cTitlu.Text1' AS textbox WITH ; + BackColor = 255,255,255, ; + BorderStyle = 0, ; + Enabled = .F., ; + FontItalic = .T., ; + FontName = "Arial Narrow", ; + ForeColor = 128,128,128, ; + Margin = 0, ; + Name = "Text1", ; + ReadOnly = .T. + *< END OBJECT: BaseClass="textbox" /> + + ADD OBJECT 'opt_rapoarte' AS _optiongrup WITH ; + AutoSize = .F., ; + Height = 276, ; + Left = 12, ; + Name = "opt_rapoarte", ; + Top = 36, ; + Width = 564, ; + OPTION1.AutoSize = .T., ; + OPTION1.Caption = "Raport nou", ; + OPTION1.Left = 5, ; + OPTION1.Name = "OPTION1", ; + OPTION1.Top = 5, ; + OPTION2.AutoSize = .T., ; + OPTION2.Caption = "Raport existent", ; + OPTION2.Left = 5, ; + OPTION2.Name = "OPTION2", ; + OPTION2.Top = 24 + *< END OBJECT: ClassLib="_baza.vcx" BaseClass="optiongroup" /> + + PROCEDURE inainte_de_do_termin + If Thisform.opt_rapoarte.Value = 1 + pnIdRaport = 0 + Else + Select crsrapoarte + pnIdRaport = id_raport + Endif + Return .T. + ENDPROC + + PROCEDURE opt_rapoarte.InteractiveChange + If This.Value = 2 + thisform.grd_rapoarte.FontItalic = .F. + thisform.grd_rapoarte.ForeColor = Rgb(0,0,0) + Thisform.grd_rapoarte.Enabled = .T. + Thisform.grd_rapoarte.SetFocus() + Else + thisform.grd_rapoarte.FontItalic = .T. + thisform.grd_rapoarte.ForeColor = Rgb(128,128,128) + Thisform.grd_rapoarte.Enabled = .F. + Endif + + ENDPROC + +ENDDEFINE + +DEFINE CLASS frm_optiuni_rapoarte_sql AS _frmbase OF "_frm_base.vcx" + *< CLASSDATA: Baseclass="form" Timestamp="" Scale="Pixels" Uniqueid="" /> + + *-- OBJECTDATA items order determines ZOrder / El orden de los items OBJECTDATA determina el ZOrder + *< OBJECTDATA: ObjPath="But_renunt1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="cboFieldType" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="clbCaption" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="clbFieldSearchId" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="clbFieldSearch" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="Ed_tx_simplu1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="Ed_tx_simplu1._lbbase2" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="grdParametri" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="grdParametri.cParametru.Header1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="grdParametri.cParametru.Text1" UniqueID="" Timestamp="" /> + + * + DoCreate = .T. + Height = 320 + Name = "frm_optiuni_rapoarte_sql" + Width = 509 + _shape1.Height = 29 + _shape1.Left = 0 + _shape1.Name = "_shape1" + _shape1.Top = 0 + _shape1.Width = 588 + _shape2.Height = 29 + _shape2.Left = 446 + _shape2.Name = "_shape2" + _shape2.Top = 0 + _shape2.Width = 64 + Lb_titlu_alb_b121.Caption = "OPTIUNI" + Lb_titlu_alb_b121.Name = "Lb_titlu_alb_b121" + Lb_titlu_alb_b121.TabIndex = 8 + BUT_TERMIN1.Left = 478 + BUT_TERMIN1.Name = "BUT_TERMIN1" + BUT_TERMIN1.TabIndex = 6 + BUT_TERMIN1.Top = 1 + Gridsort1.Left = 9 + Gridsort1.Name = "Gridsort1" + Gridsort1.Top = 33 + * + + ADD OBJECT 'But_renunt1' AS but_renunt WITH ; + Left = 447, ; + Name = "But_renunt1", ; + TabIndex = 7, ; + Top = 1 + *< END OBJECT: ClassLib="cmd_butoane.vcx" BaseClass="commandbutton" /> + + ADD OBJECT 'cboFieldType' AS cb_tx_simplu WITH ; + Height = 29, ; + Left = 144, ; + Name = "cboFieldType", ; + TabIndex = 3, ; + Top = 200, ; + Width = 264, ; + _cbbase1.ControlSource = "crsParametri.tipcamp", ; + _cbbase1.Height = 23, ; + _cbbase1.Left = 68, ; + _cbbase1.Name = "_cbbase1", ; + _cbbase1.RowSource = "C,N,D,D1,E,A", ; + _cbbase1.RowSourceType = 1, ; + _cbbase1.ToolTipText = "C = caracter, N = numar, D = data, D1 = perioada, E = expresie, A = lista valori", ; + _cbbase1.Top = 3, ; + _cbbase1.Width = 185, ; + _lbbase1.Caption = "Tip camp", ; + _lbbase1.Name = "_lbbase1" + *< END OBJECT: ClassLib="lb_tx.vcx" BaseClass="container" /> + + ADD OBJECT 'clbCaption' AS clb_tx_simplu WITH ; + Height = 29, ; + Left = 144, ; + Name = "clbCaption", ; + TabIndex = 1, ; + Top = 48, ; + Width = 264, ; + Text_simplu1.ControlSource = "crsParametri.titlu", ; + Text_simplu1.Format = "K", ; + Text_simplu1.Height = 23, ; + Text_simplu1.Left = 68, ; + Text_simplu1.Name = "Text_simplu1", ; + Text_simplu1.Top = 3, ; + Text_simplu1.Width = 184, ; + Lb_simplu1.Caption = "Titlu", ; + Lb_simplu1.Name = "Lb_simplu1" + *< END OBJECT: ClassLib="lb_tx.vcx" BaseClass="container" /> + + ADD OBJECT 'clbFieldSearch' AS clb_tx_simplu WITH ; + Height = 29, ; + Left = 144, ; + Name = "clbFieldSearch", ; + TabIndex = 5, ; + Top = 272, ; + Width = 264, ; + Text_simplu1.ControlSource = "crsParametri.campcautare", ; + Text_simplu1.Left = 70, ; + Text_simplu1.Name = "Text_simplu1", ; + Text_simplu1.Top = 3, ; + Lb_simplu1.Caption = "Cautare", ; + Lb_simplu1.Name = "Lb_simplu1" + *< END OBJECT: ClassLib="lb_tx.vcx" BaseClass="container" /> + + ADD OBJECT 'clbFieldSearchId' AS clb_tx_simplu WITH ; + Height = 29, ; + Left = 144, ; + Name = "clbFieldSearchId", ; + TabIndex = 4, ; + Top = 236, ; + Width = 264, ; + Text_simplu1.ControlSource = "crsParametri.campid", ; + Text_simplu1.Height = 23, ; + Text_simplu1.Left = 101, ; + Text_simplu1.Name = "Text_simplu1", ; + Text_simplu1.Top = 3, ; + Text_simplu1.Width = 152, ; + Lb_simplu1.Caption = "Camp ID cautare", ; + Lb_simplu1.Name = "Lb_simplu1" + *< END OBJECT: ClassLib="lb_tx.vcx" BaseClass="container" /> + + ADD OBJECT 'Ed_tx_simplu1' AS ed_tx_simplu WITH ; + Height = 106, ; + Left = 144, ; + Name = "Ed_tx_simplu1", ; + TabIndex = 2, ; + Top = 89, ; + Width = 361, ; + _edbase1.ControlSource = "crsParametri.camp", ; + _edbase1.Height = 97, ; + _edbase1.Left = 68, ; + _edbase1.Name = "_edbase1", ; + _edbase1.ReadOnly = .T., ; + _edbase1.Top = 2, ; + _edbase1.Width = 284, ; + _lbbase1.Caption = "Camp /", ; + _lbbase1.Name = "_lbbase1" + *< END OBJECT: ClassLib="lb_tx.vcx" BaseClass="container" /> + + ADD OBJECT 'Ed_tx_simplu1._lbbase2' AS _lbbase WITH ; + Caption = "Expresie", ; + Left = 8, ; + Name = "_lbbase2", ; + Top = 25 + *< END OBJECT: ClassLib="_lb_base.vcx" BaseClass="label" /> + + ADD OBJECT 'grdParametri' AS _grdbase WITH ; + ColumnCount = 1, ; + DeleteMark = .F., ; + Height = 252, ; + Left = 12, ; + Name = "grdParametri", ; + Panel = 1, ; + ReadOnly = .T., ; + RecordSource = "crsParametri", ; + ScrollBars = 2, ; + TabIndex = 9, ; + Top = 48, ; + Width = 121, ; + Column1.ControlSource = "crsParametri.parametru", ; + Column1.Name = "cParametru", ; + Column1.ReadOnly = .T., ; + Column1.Width = 86 + *< END OBJECT: ClassLib="_grd_base.vcx" BaseClass="grid" /> + + ADD OBJECT 'grdParametri.cParametru.Header1' AS header WITH ; + Alignment = 2, ; + Caption = "Parametru", ; + Name = "Header1" + *< END OBJECT: BaseClass="header" /> + + ADD OBJECT 'grdParametri.cParametru.Text1' AS textbox WITH ; + BackColor = 255,255,255, ; + BorderStyle = 0, ; + ForeColor = 0,0,0, ; + Margin = 0, ; + Name = "Text1", ; + ReadOnly = .T. + *< END OBJECT: BaseClass="textbox" /> + + PROCEDURE grdParametri.AfterRowColChange + LPARAMETERS nColIndex + thisform.Refresh() + ENDPROC + +ENDDEFINE + +DEFINE CLASS frm_raport_nou AS _frmbase OF "_frm_base.vcx" + *< CLASSDATA: Baseclass="form" Timestamp="" Scale="Pixels" Uniqueid="" /> + + *-- OBJECTDATA items order determines ZOrder / El orden de los items OBJECTDATA determina el ZOrder + *< OBJECTDATA: ObjPath="But_renunt1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="Ed_denumire" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="Ed_titlu" UniqueID="" Timestamp="" /> + + * + *p: nid + *p: orec + * + + * + DoCreate = .T. + Height = 190 + Name = "frm_raport_nou" + Width = 374 + _shape1.Name = "_shape1" + _shape2.Height = 29 + _shape2.Left = 312 + _shape2.Name = "_shape2" + _shape2.Top = 0 + _shape2.Width = 64 + Lb_titlu_alb_b121.Caption = "DATE RAPORT" + Lb_titlu_alb_b121.FontBold = .T. + Lb_titlu_alb_b121.Name = "Lb_titlu_alb_b121" + Lb_titlu_alb_b121.TabIndex = 5 + BUT_TERMIN1.Left = 344 + BUT_TERMIN1.Name = "BUT_TERMIN1" + BUT_TERMIN1.TabIndex = 3 + BUT_TERMIN1.Top = 1 + GRIDSORT1.Name = "GRIDSORT1" + * + + ADD OBJECT 'But_renunt1' AS but_renunt WITH ; + Left = 314, ; + Name = "But_renunt1", ; + TabIndex = 4, ; + Top = 1 + *< END OBJECT: ClassLib="cmd_butoane.vcx" BaseClass="commandbutton" /> + + ADD OBJECT 'Ed_denumire' AS ed_tx_simplu WITH ; + Height = 58, ; + Left = 13, ; + Name = "Ed_denumire", ; + TabIndex = 1, ; + Top = 48, ; + Width = 347, ; + _edbase1.ControlSource = "pcDenumireRaport", ; + _edbase1.Format = "!", ; + _edbase1.Height = 53, ; + _edbase1.Left = 65, ; + _edbase1.Name = "_edbase1", ; + _edbase1.Top = 2, ; + _edbase1.Width = 279, ; + _lbbase1.Caption = "Denumire", ; + _lbbase1.Left = 5, ; + _lbbase1.Name = "_lbbase1", ; + _lbbase1.Top = 6 + *< END OBJECT: ClassLib="lb_tx.vcx" BaseClass="container" /> + + ADD OBJECT 'Ed_titlu' AS ed_tx_simplu WITH ; + Height = 58, ; + Left = 13, ; + Name = "Ed_titlu", ; + TabIndex = 2, ; + Top = 105, ; + Width = 347, ; + _edbase1.ControlSource = "pcTitluRaport", ; + _edbase1.Format = "!", ; + _edbase1.Height = 53, ; + _edbase1.Left = 65, ; + _edbase1.Name = "_edbase1", ; + _edbase1.Top = 2, ; + _edbase1.Width = 279, ; + _lbbase1.Caption = "Titlu", ; + _lbbase1.Left = 5, ; + _lbbase1.Name = "_lbbase1", ; + _lbbase1.Top = 6 + *< END OBJECT: ClassLib="lb_tx.vcx" BaseClass="container" /> + + PROCEDURE inainte_de_do_termin + Local llReturn + llReturn = .F. + Do Case + Case Empty(Nvl(pcDenumireRaport,[])) + amessagebox("Nu ati completat denumirea raportului!",48,"Atentie") + Thisform.ed_denumire.SetFocus() + Case Empty(Nvl(pcTitluRaport,[])) + amessagebox("Nu ati completat titlul raportului!",48,"Atentie") + Thisform.ed_titlu.SetFocus() + Otherwise + Private pcMesajVerificare + pcMesajVerificare = [] + lcSql = [{call pack_rapoarte.verifica_detalii_raport(?pcDenumireRaport,?pcTitluRaport,?@pcMesajVerificare)}] + lnSucces = goExecutor.oExecute(lcSql) + If lnSucces < 0 + amessagebox(goExecutor.cEroare,16,"Eroare") + llReturn = .F. + Else + If Empty(Nvl(pcMesajVerificare,[])) + llReturn = .T. + Else + amessagebox(pcMesajVerificare,48,"Atentie") + If Like(Chr(13)+Chr(10)+'*',pcMesajVerificare) + Thisform.ed_titlu.SetFocus() + Else + Thisform.ed_denumire.SetFocus() + Endif + llReturn = .F. + Endif + Endif + Endcase + Return llReturn + + ENDPROC + +ENDDEFINE diff --git a/clase/orapoarte_comun.vc2 b/clase/orapoarte_comun.vc2 new file mode 100644 index 0000000..a1e78c6 --- /dev/null +++ b/clase/orapoarte_comun.vc2 @@ -0,0 +1,859 @@ +*-------------------------------------------------------------------------------------------------------------------------------------------------------- +* (EN) AUTOGENERATED - ATTENTION!! - NOT INTENDED FOR EXECUTION!! USE ONLY FOR MERGING CHANGES AND STORING WITH SCM TOOLS!! +*-------------------------------------------------------------------------------------------------------------------------------------------------------- +*< FOXBIN2PRG: Version="1.21" SourceFile="orapoarte_comun.vcx" CPID="1252" /> (Solo para binarios VFP 9 / Only for VFP 9 binaries) +* +* +DEFINE CLASS frm_cere_cont AS formtermin OF "_frm_base.vcx" + *< CLASSDATA: Baseclass="form" Timestamp="" Scale="Pixels" Uniqueid="" /> + + *-- OBJECTDATA items order determines ZOrder / El orden de los items OBJECTDATA determina el ZOrder + *< OBJECTDATA: ObjPath="Shape3" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="Shape2" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="cboCont" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="lblCont" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="lblAcont" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="Optiongroup1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="Label9" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="But_renunt1" UniqueID="" Timestamp="" /> + + * + *m: go + *p: calias + *p: ocont + * + + * + calias = + DoCreate = .T. + Height = 122 + Name = "frm_cere_cont" + ocont = .NULL. + ScrollBars = 0 + Width = 205 + _shape1.Name = "_shape1" + _shape2.Name = "_shape2" + Lb_titlu_alb_b121.Caption = "Selectati contul" + Lb_titlu_alb_b121.Name = "Lb_titlu_alb_b121" + BUT_TERMIN1.Left = 174 + BUT_TERMIN1.Name = "BUT_TERMIN1" + BUT_TERMIN1.Top = 1 + GRIDSORT1.Name = "GRIDSORT1" + * + + ADD OBJECT 'But_renunt1' AS but_renunt WITH ; + Left = 145, ; + Name = "But_renunt1", ; + Top = 1 + *< END OBJECT: ClassLib="cmd_butoane.vcx" BaseClass="commandbutton" /> + + ADD OBJECT 'cboCont' AS combobox WITH ; + ColumnCount = 2, ; + ColumnLines = .F., ; + ColumnWidths = "40,40", ; + Height = 24, ; + Left = 12, ; + Name = "cboCont", ; + RowSourceType = 6, ; + Style = 2, ; + TabIndex = 1, ; + Top = 60, ; + Width = 84, ; + ZOrderSet = 4 + *< END OBJECT: BaseClass="combobox" /> + + ADD OBJECT 'Label9' AS label WITH ; + AutoSize = .T., ; + BackStyle = 0, ; + Caption = "Contul este considerat de:", ; + FontBold = .F., ; + Height = 17, ; + Left = 10, ; + Name = "Label9", ; + TabIndex = 14, ; + Top = 129, ; + Width = 146, ; + ZOrderSet = 10 + *< END OBJECT: BaseClass="label" /> + + ADD OBJECT 'lblAcont' AS label WITH ; + BackStyle = 0, ; + Caption = " ", ; + FontItalic = .T., ; + FontSize = 10, ; + ForeColor = 0,0,128, ; + Height = 18, ; + Left = 146, ; + Name = "lblAcont", ; + TabIndex = 5, ; + Top = 65, ; + Width = 40, ; + ZOrderSet = 6 + *< END OBJECT: BaseClass="label" /> + + ADD OBJECT 'lblCont' AS label WITH ; + BackStyle = 0, ; + Caption = " ", ; + FontItalic = .T., ; + FontSize = 10, ; + ForeColor = 0,0,128, ; + Height = 18, ; + Left = 111, ; + Name = "lblCont", ; + TabIndex = 4, ; + Top = 65, ; + Width = 30, ; + ZOrderSet = 5 + *< END OBJECT: BaseClass="label" /> + + ADD OBJECT 'Optiongroup1' AS optiongroup WITH ; + BackStyle = 0, ; + ButtonCount = 2, ; + ControlSource = "pnTipCont", ; + Height = 26, ; + Left = 35, ; + Name = "Optiongroup1", ; + TabIndex = 8, ; + Top = 152, ; + Value = 1, ; + Width = 120, ; + ZOrderSet = 8, ; + Option1.AutoSize = .T., ; + Option1.BackStyle = 0, ; + Option1.Caption = "Activ", ; + Option1.Height = 17, ; + Option1.Left = 5, ; + Option1.Name = "Option1", ; + Option1.TabStop = .F., ; + Option1.Top = 5, ; + Option1.Value = 1, ; + Option1.Width = 42, ; + Option2.AutoSize = .T., ; + Option2.BackStyle = 0, ; + Option2.Caption = "Pasiv", ; + Option2.Height = 17, ; + Option2.Left = 60, ; + Option2.Name = "Option2", ; + Option2.TabStop = .F., ; + Option2.Top = 5, ; + Option2.Width = 48 + *< END OBJECT: BaseClass="optiongroup" /> + + ADD OBJECT 'Shape2' AS shape WITH ; + BackColor = 236,233,216, ; + BackStyle = 0, ; + BorderColor = 181,210,225, ; + Height = 80, ; + Left = 6, ; + Name = "Shape2", ; + Top = 36, ; + Width = 191, ; + ZOrderSet = 0 + *< END OBJECT: BaseClass="shape" /> + + ADD OBJECT 'Shape3' AS shape WITH ; + BackColor = 236,233,216, ; + BackStyle = 0, ; + BorderColor = 181,210,225, ; + Height = 60, ; + Left = 6, ; + Name = "Shape3", ; + Top = 124, ; + Width = 191, ; + ZOrderSet = 0 + *< END OBJECT: BaseClass="shape" /> + + PROCEDURE go + Select(Thisform.calias) + With Thisform.ocont + .cont=cont + .acont=acont + + Thisform.lblCont.Caption=.cont + Thisform.lblAcont.Caption=.acont + If !Empty(.cont) + Thisform.terminat1.Enabled= .T. + ELSE + Thisform.terminat1.Enabled=.F. + Endif + Endwith + pcexec = [select fel_cont from ] + gcs + [.vcoresp_tip_cont where cont='] + ALLTRIM((thisform.ocont.cont)) + ['] + pcCursor = [felCont_cursor] + pnsucces = goExecutor.oExecute(pcexec,pcCursor) + IF (pnsucces != 0) + SELECT felCont_cursor + IF (felCont_cursor.fel_cont = 0) + thisform.optiongroup1.option1.Value = 1 + thisform.optiongroup1.option2.Value = 0 + ELSE + thisform.optiongroup1.option1.Value = 0 + thisform.optiongroup1.option2.Value = 1 + ENDIF + USE IN felCont_cursor + ENDIF + ENDPROC + + PROCEDURE cboCont.MouseLeave + LPARAMETERS nButton, nShift, nXCoord, nYCoord + thisform.go() + ENDPROC + + PROCEDURE cboCont.Valid + thisform.Go() + ENDPROC + + PROCEDURE Optiongroup1.Valid + IF TYPE('eactiv') # 'U' + IF this.Value = 2 + eActiv = .f. + ELSE + eActiv = .t. + ENDIF + ENDIF + + ENDPROC + +ENDDEFINE + +DEFINE CLASS frm_rap_facturi AS _frmbase OF "_frm_base.vcx" + *< CLASSDATA: Baseclass="form" Timestamp="" Scale="Pixels" Uniqueid="" /> + + *-- OBJECTDATA items order determines ZOrder / El orden de los items OBJECTDATA determina el ZOrder + *< OBJECTDATA: ObjPath="Shape1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="Shape3" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="Clb_tx_simplu1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="Clb_tx_simplu2" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="Clb_tx_simplu3" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="But_cautare" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="Line1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="But_renunt1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="Caut_anluna1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="Caut_anluna2" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="Label1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="Label5" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="opt_perioada" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="But_cautare_cont" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="Check1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="Check2" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="Txt_valuta" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="Txt_analitic" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="Check3" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="Container1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="Container1.Text1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="Container1.Label1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="ckContract" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="But_cautare_ctr" UniqueID="" Timestamp="" /> + + * + *m: do_cautare && face cautarea corespunzatoare butonului de cautare de tip but_cautare + *m: do_lansanalitic + *m: do_lanscont + *m: do_lansctr + *m: do_lanspartener + *m: do_lansvaluta + *p: data_vechime + *p: lcacont + *p: lccont + *p: lcperioada + *p: llactiv + *p: lnidctr + *p: lnidpart + *p: lnidvaluta + *p: ncu_analitic + *p: ncu_contract + *p: ncu_valuta + *p: ncu_vechime + * + + * + BorderStyle = 2 + data_vechime = + DoCreate = .T. + Height = 429 + lcacont = + lccont = + lcperioada = + llactiv = + lnidctr = 0 + lnidpart = 0 + lnidvaluta = 0 + Name = "frm_rap_facturi" + ncu_analitic = 0 + ncu_contract = 0 + ncu_valuta = 0 + ncu_vechime = 0 + Width = 375 + _shape1.Name = "_shape1" + _shape2.Height = 29 + _shape2.Left = 315 + _shape2.Name = "_shape2" + _shape2.Top = 0 + _shape2.Width = 61 + Lb_titlu_alb_b121.Caption = "Facturi " + Lb_titlu_alb_b121.Name = "Lb_titlu_alb_b121" + BUT_TERMIN1.Left = 345 + BUT_TERMIN1.Name = "BUT_TERMIN1" + BUT_TERMIN1.Top = 1 + Gridsort1.Name = "Gridsort1" + * + + ADD OBJECT 'But_cautare' AS but_cautare WITH ; + caction = do_lansPartener, ; + Left = 307, ; + Name = "But_cautare", ; + Top = 76 + *< END OBJECT: ClassLib="cmd_butoane.vcx" BaseClass="commandbutton" /> + + ADD OBJECT 'But_cautare_cont' AS but_cautare WITH ; + caction = do_lansCont, ; + Left = 307, ; + Name = "But_cautare_cont", ; + Top = 46 + *< END OBJECT: ClassLib="cmd_butoane.vcx" BaseClass="commandbutton" /> + + ADD OBJECT 'But_cautare_ctr' AS but_cautare WITH ; + caction = do_lansCtr, ; + Left = 312, ; + Name = "But_cautare_ctr", ; + Top = 387 + *< END OBJECT: ClassLib="cmd_butoane.vcx" BaseClass="commandbutton" /> + + ADD OBJECT 'But_renunt1' AS but_renunt WITH ; + Left = 316, ; + Name = "But_renunt1", ; + Top = 1 + *< END OBJECT: ClassLib="cmd_butoane.vcx" BaseClass="commandbutton" /> + + ADD OBJECT 'Caut_anluna1' AS caut_anluna WITH ; + Left = 24, ; + Name = "Caut_anluna1", ; + Top = 185, ; + cboan.Name = "cboan", ; + cboluna.Name = "cboluna" + *< END OBJECT: ClassLib="caut_ora.vcx" BaseClass="container" /> + + ADD OBJECT 'Caut_anluna2' AS caut_anluna WITH ; + Left = 198, ; + Name = "Caut_anluna2", ; + Top = 185, ; + cboan.Name = "cboan", ; + cboluna.Name = "cboluna" + *< END OBJECT: ClassLib="caut_ora.vcx" BaseClass="container" /> + + ADD OBJECT 'Check1' AS checkbox WITH ; + Alignment = 0, ; + AutoSize = .T., ; + BackStyle = 0, ; + Caption = "Sumele pe analitice", ; + FontName = "Arial Narrow", ; + FontSize = 10, ; + Height = 18, ; + Left = 26, ; + Name = "Check1", ; + Top = 244, ; + Width = 108 + *< END OBJECT: BaseClass="checkbox" /> + + ADD OBJECT 'Check2' AS checkbox WITH ; + Alignment = 0, ; + AutoSize = .T., ; + BackStyle = 0, ; + Caption = "Suma in valuta", ; + FontName = "Arial Narrow", ; + FontSize = 10, ; + Height = 18, ; + Left = 26, ; + Name = "Check2", ; + Top = 270, ; + Width = 87 + *< END OBJECT: BaseClass="checkbox" /> + + ADD OBJECT 'Check3' AS checkbox WITH ; + Alignment = 0, ; + AutoSize = .T., ; + BackStyle = 0, ; + Caption = "Soldurile facturilor pe vechimi", ; + FontName = "Arial Narrow", ; + FontSize = 10, ; + Height = 34, ; + Left = 26, ; + Name = "Check3", ; + Top = 304, ; + Width = 103, ; + WordWrap = .T. + *< END OBJECT: BaseClass="checkbox" /> + + ADD OBJECT 'ckContract' AS checkbox WITH ; + Alignment = 0, ; + AutoSize = .T., ; + BackStyle = 0, ; + Caption = "Grupare dupa contract", ; + FontName = "Arial Narrow", ; + FontSize = 10, ; + Height = 18, ; + Left = 24, ; + Name = "ckContract", ; + Top = 366, ; + Width = 124 + *< END OBJECT: BaseClass="checkbox" /> + + ADD OBJECT 'Clb_tx_simplu1' AS clb_tx_simplu WITH ; + Left = 14, ; + Name = "Clb_tx_simplu1", ; + TabIndex = 10, ; + TabStop = .F., ; + Top = 47, ; + ZOrderSet = 6, ; + Text_simplu1.BackColor = 255,255,255, ; + Text_simplu1.BackStyle = 0, ; + Text_simplu1.BorderColor = 0,0,0, ; + Text_simplu1.DisabledBackColor = 255,255,255, ; + Text_simplu1.DisabledForeColor = 255,255,255, ; + Text_simplu1.FontItalic = .T., ; + Text_simplu1.ForeColor = 0,0,0, ; + Text_simplu1.Height = 23, ; + Text_simplu1.Left = 65, ; + Text_simplu1.Name = "Text_simplu1", ; + Text_simplu1.ReadOnly = .T., ; + Text_simplu1.Top = 3, ; + Text_simplu1.Width = 220, ; + Lb_simplu1.Caption = "Cont", ; + Lb_simplu1.FontSize = 10, ; + Lb_simplu1.Name = "Lb_simplu1" + *< END OBJECT: ClassLib="lb_tx.vcx" BaseClass="container" /> + + ADD OBJECT 'Clb_tx_simplu2' AS clb_tx_simplu WITH ; + Left = 14, ; + Name = "Clb_tx_simplu2", ; + TabIndex = 11, ; + TabStop = .F., ; + Top = 75, ; + ZOrderSet = 7, ; + Text_simplu1.BackColor = 255,255,255, ; + Text_simplu1.BackStyle = 0, ; + Text_simplu1.DisabledBackColor = 255,255,255, ; + Text_simplu1.DisabledForeColor = 255,255,255, ; + Text_simplu1.FontItalic = .T., ; + Text_simplu1.ForeColor = 0,0,0, ; + Text_simplu1.Height = 23, ; + Text_simplu1.Left = 65, ; + Text_simplu1.Name = "Text_simplu1", ; + Text_simplu1.ReadOnly = .T., ; + Text_simplu1.Top = 3, ; + Text_simplu1.Width = 220, ; + Lb_simplu1.Caption = "Entitate", ; + Lb_simplu1.FontSize = 10, ; + Lb_simplu1.Name = "Lb_simplu1" + *< END OBJECT: ClassLib="lb_tx.vcx" BaseClass="container" /> + + ADD OBJECT 'Clb_tx_simplu3' AS clb_tx_simplu WITH ; + Left = 19, ; + Name = "Clb_tx_simplu3", ; + TabIndex = 11, ; + TabStop = .F., ; + Top = 386, ; + ZOrderSet = 7, ; + Text_simplu1.BackColor = 255,255,255, ; + Text_simplu1.BackStyle = 0, ; + Text_simplu1.DisabledBackColor = 255,255,255, ; + Text_simplu1.DisabledForeColor = 255,255,255, ; + Text_simplu1.FontItalic = .T., ; + Text_simplu1.ForeColor = 0,0,0, ; + Text_simplu1.Height = 23, ; + Text_simplu1.Left = 65, ; + Text_simplu1.Name = "Text_simplu1", ; + Text_simplu1.ReadOnly = .T., ; + Text_simplu1.Top = 3, ; + Text_simplu1.Width = 220, ; + Lb_simplu1.Caption = "Contract", ; + Lb_simplu1.FontSize = 10, ; + Lb_simplu1.Name = "Lb_simplu1" + *< END OBJECT: ClassLib="lb_tx.vcx" BaseClass="container" /> + + ADD OBJECT 'Container1' AS container WITH ; + BackStyle = 0, ; + BorderColor = 128,128,128, ; + BorderWidth = 0, ; + Height = 53, ; + Left = 137, ; + Name = "Container1", ; + Top = 296, ; + Visible = .F., ; + Width = 211 + *< END OBJECT: BaseClass="container" /> + + ADD OBJECT 'Container1.Label1' AS label WITH ; + AutoSize = .T., ; + BackStyle = 0, ; + Caption = "Fata de data de:", ; + FontName = "Arial Narrow", ; + FontSize = 10, ; + Height = 18, ; + Left = 10, ; + Name = "Label1", ; + Top = 5, ; + Visible = .F., ; + Width = 79 + *< END OBJECT: BaseClass="label" /> + + ADD OBJECT 'Container1.Text1' AS textbox WITH ; + ControlSource = "thisform.data_vechime", ; + FontItalic = .T., ; + Height = 20, ; + Left = 105, ; + Name = "Text1", ; + Top = 3, ; + Visible = .F., ; + Width = 99 + *< END OBJECT: BaseClass="textbox" /> + + ADD OBJECT 'Label1' AS label WITH ; + Alignment = 2, ; + BackColor = 255,255,255, ; + Caption = "Se evidentiaza", ; + Comment = "*:OnResize=LT", ; + FontName = "Arial Narrow", ; + FontSize = 10, ; + Height = 22, ; + Left = 20, ; + Name = "Label1", ; + TabIndex = 8, ; + Top = 221, ; + Width = 85, ; + ZOrderSet = 15 + *< END OBJECT: BaseClass="label" /> + + ADD OBJECT 'Label5' AS label WITH ; + Alignment = 2, ; + BackColor = 255,255,255, ; + Caption = "Afiseaza facturi", ; + Comment = "*:OnResize=LT", ; + FontName = "Arial Narrow", ; + FontSize = 10, ; + Height = 22, ; + Left = 20, ; + Name = "Label5", ; + TabIndex = 8, ; + Top = 110, ; + Width = 85, ; + ZOrderSet = 15 + *< END OBJECT: BaseClass="label" /> + + ADD OBJECT 'Line1' AS line WITH ; + Height = 0, ; + Left = 180, ; + Name = "Line1", ; + Top = 198, ; + Width = 12 + *< END OBJECT: BaseClass="line" /> + + ADD OBJECT 'opt_perioada' AS optiongroup WITH ; + AutoSize = .T., ; + BackStyle = 0, ; + BorderStyle = 0, ; + ButtonCount = 2, ; + Height = 53, ; + Left = 18, ; + Name = "opt_perioada", ; + SpecialEffect = 1, ; + TabIndex = 11, ; + Top = 130, ; + Value = , ; + Width = 132, ; + ZOrderSet = 16, ; + Option1.AutoSize = .T., ; + Option1.BackStyle = 0, ; + Option1.Caption = "Cu sold in perioada ...", ; + Option1.FontName = "Arial Narrow", ; + Option1.FontSize = 10, ; + Option1.Height = 18, ; + Option1.Left = 5, ; + Option1.Name = "Option2", ; + Option1.Top = 5, ; + Option1.Value = 0, ; + Option1.Width = 122, ; + Option2.AutoSize = .T., ; + Option2.BackStyle = 0, ; + Option2.Caption = "Emise in perioada ...", ; + Option2.FontName = "Arial Narrow", ; + Option2.FontSize = 10, ; + Option2.Height = 18, ; + Option2.Left = 5, ; + Option2.Name = "Option3", ; + Option2.Top = 30, ; + Option2.Value = 0, ; + Option2.Width = 114 + *< END OBJECT: BaseClass="optiongroup" /> + + ADD OBJECT 'Shape1' AS shape WITH ; + BackStyle = 0, ; + Height = 126, ; + Left = 12, ; + Name = "Shape1", ; + Top = 232, ; + Width = 350, ; + ZOrderSet = 1 + *< END OBJECT: BaseClass="shape" /> + + ADD OBJECT 'Shape3' AS shape WITH ; + BackStyle = 0, ; + Height = 97, ; + Left = 12, ; + Name = "Shape3", ; + Top = 120, ; + Width = 350, ; + ZOrderSet = 1 + *< END OBJECT: BaseClass="shape" /> + + ADD OBJECT 'Txt_analitic' AS textbox WITH ; + FontItalic = .T., ; + Height = 21, ; + Left = 137, ; + Name = "Txt_analitic", ; + ReadOnly = .T., ; + Top = 243, ; + Width = 86 + *< END OBJECT: BaseClass="textbox" /> + + ADD OBJECT 'Txt_valuta' AS textbox WITH ; + FontItalic = .T., ; + Height = 21, ; + Left = 137, ; + Name = "Txt_valuta", ; + ReadOnly = .T., ; + Top = 269, ; + Width = 86 + *< END OBJECT: BaseClass="textbox" /> + + PROCEDURE do_cauta + && cautare partener (furnizor/client) + + LOCAL lccont + lccont = ALLTRIM(pccont) + IF lccont = [401] && furnizori + lctitlu = 'Alegeti numele furnizorului' + ELSE && clienti + lctitlu = 'Alegeti numele clientului' + ENDIF + + pocauta=caut_parteneri(lccont,lctitlu,.t.) + + IF !EMPTY(pocauta.nume) + thisform._txtpartener.value = pocauta.nume + ENDIF + + thisform.refresh + + + ENDPROC + + PROCEDURE do_cautare && face cautarea corespunzatoare butonului de cautare de tip but_cautare + ENDPROC + + PROCEDURE do_lansanalitic + pcContIreg = this.lccont + lcSql = [select explicatie,cont, acont from VPLCONT_USED_ANALITIC] + pcfiltru = [cont = ?pcContIreg] + pcschema = [] + pcorder = [acont] + pccoloane = [acont,explicatie] + pcTitlu = [Alegeti Contul Analitic] + pcTitluColoane = [Cont Analitic,Explicatie cont] + locauta = cauta_alfa(lcSql,pcfiltru,pcschema,pcorder,pccoloane,pcTitlu,pcTitluColoane,'',.t.) + this.txt_analitic.Value = locauta.acont + IF UPPER(ALLTRIM(locauta.acont)) = [] + this.lcacont = [] + ELSE + this.lcAcont = locauta.acont + ENDIF + + ENDPROC + + PROCEDURE do_lanscont + private lcCont,lnEActiv + STORE "" TO lcCont + STORE .F. TO lnEActiv + DO Alege_Cont WITH lcCont,lnEActiv + + IF !EMPTY(lcCont) + this.clb_tx_simplu1.text_simplu1.Value = lcCont + this.lccont = lcCont + this.llactiv = lnEActiv + ENDIF + ENDPROC + + PROCEDURE do_lansctr + pcselect = [select id_ctr, contract from vcontracte] + pcfiltru = [1=2] + pcschema = [] + pcorder = [contract] + pccoloane = [contract] + pcTitlu = [Alegeti contractul] + IF TYPE('GNPARAMETRU_PROG') = 'U' + gnParametru_prog = 0 + ENDIF + + DO CASE + CASE gnParametru_prog = 1 + pcFiltruOriginal = [substr(tata,2,6)='CLIENT' ] + CASE gnParametru_prog = 2 + pcFiltruOriginal = [substr(tata,2,6)='FURNIZ' ] + OTHERWISE + pcFiltruOriginal = [] + ENDCASE + locauta = cauta_alfa(pcselect,pcfiltru,pcschema,pcorder,pccoloane,pcTitlu,pcTitlu,[],.T.,pcFiltruOriginal) + + this.clb_tx_simplu3.text_simplu1.Value = locauta.contract + + IF UPPER(ALLTRIM(locauta.contract)) = [] + THIS.lnidctr = 0 + ELSE + THIS.lnidctr = locauta.id_ctr + ENDIF + + + + ENDPROC + + PROCEDURE do_lanspartener + PRIVATE pcval,pnbuton,pcselect,pcfiltru,oRetObj + STORE "" TO oRetObj + pnbuton=1 + llToateIreg = .T. + llNou = .F. + oRetObj=caut_parteneri(this.lccont, [Alegeti partenerul], llToateIreg, llNou) + this.clb_tx_simplu2.text_simplu1.Value = oRetObj.nume &&oRetObj.id_part + IF UPPER(ALLTRIM(oRetObj.nume)) = [] + oRetObj.id_part = 0 + ENDIF + this.lnidpart = oRetObj.id_part + + + + ENDPROC + + PROCEDURE do_lansvaluta + lcSql = [select id_valuta, nume_val from vnom_valute] + pcfiltru = [1=2] + pcschema = [] + pcorder = [nume_val] + pccoloane = [nume_val] + pcTitlu = [Alegeti Valuta] + pcTitluColoane = [Valuta] + locauta = cauta_alfa(lcSql,pcfiltru,pcschema,pcorder,pccoloane,pcTitlu,pcTitluColoane,'',.f.) + this.txt_valuta.Value = locauta.nume_val + IF UPPER(ALLTRIM(locauta.nume_val)) = [] + this.lnidvaluta = 0 + ELSE + this.lnidvaluta = locauta.id_valuta + ENDIF + ENDPROC + + PROCEDURE inainte_de_do_termin + && se verifica corectitudinea datelor si completitudinea datelor + + pnani = thisform.Caut_anluna1.nan + pnanf = thisform.Caut_anluna2.nan + pnlunai = thisform.Caut_anluna1.nluna + pnlunaf = thisform.Caut_anluna2.nluna + pcPerioada = PADL(pnLunaI,2,'0') + [/] + STR(pnAnI,4) + [-] + PADL(pnLunaF,2,'0') + [/] + STR(pnAnF,4) + this.lcperioada = pcPerioada + + DO CASE + CASE EMPTY(this.clb_tx_simplu1.text_simplu1.Value) + AMessagebox('Nu ati ales contul!',0+48,"Atentie") + this.but_cautare_cont.SetFocus + plreturn=.F. + + *!* CASE EMPTY(this.clb_tx_simplu2.text_simplu1.Value) + *!* AMessagebox('Nu ati ales partenerul/partenerii!',0+48,"Atentie") + *!* this.but_cautare.SetFocus + *!* plreturn=.F. + CASE pnani > pnanf OR (pnani = pnanf AND pnlunai > pnlunaf) + amessagebox("Data initiala este mai mare decat data finala!"+; + CRLF+"Introduceti date corecte!",0+48,"Atentie") + *!* ostop=CREATEOBJECT('stop') + *!* ostop.image1.Picture = ADDBS(gcAppPath) + 'grafice\exclam.ico' + *!* ostop.label2.caption = 'Data initiala este mai mare decat data finala.' + *!* ostop.label2.FontName = 'Arial Narrow' + *!* ostop.label3.caption = 'Introduceti date corecte.' + *!* ostop.label3.FontName = 'Arial Narrow' + *!* ostop.show(1) + plreturn=.F. + OTHERWISE + plreturn=.T. + ENDCASE + + RETURN plReturn + + + + ENDPROC + + PROCEDURE Show + LPARAMETERS nStyle + IF !EMPTY(this.lccont) + this.but_cautare_cont.Visible = .F. + ENDIF + ENDPROC + + PROCEDURE Check1.InteractiveChange + IF this.Value = 1 + thisform.do_lansanalitic + thisform.ncu_analitic = 1 + ELSE + thisform.lcacont = [] + thisform.txt_analitic.Value = [] + thisform.ncu_analitic = 0 + ENDIF + thisform.txt_analitic.SetFocus + ENDPROC + + PROCEDURE Check2.InteractiveChange + IF this.Value = 1 + thisform.do_lansvaluta + thisform.ncu_valuta = 1 + ELSE + thisform.lnidvaluta = 0 + thisform.txt_valuta.Value = [] + thisform.ncu_valuta = 0 + ENDIF + thisform.txt_valuta.SetFocus + ENDPROC + + PROCEDURE Check3.InteractiveChange + IF this.Value = 1 + thisform.container1.Visible = .t. + thisform.ncu_vechime = 1 + ELSE + thisform.container1.Visible = .f. + thisform.ncu_vechime = 0 + ENDIF + ENDPROC + + PROCEDURE ckContract.InteractiveChange + IF this.Value = 1 + thisform.ncu_contract = 1 + ELSE + thisform.ncu_contract = 0 + ENDIF + + ENDPROC + + PROCEDURE opt_perioada.InteractiveChange + + WITH thisform + *!* IF this.Value = 1 + *!* .Caut_anluna1.initializare_anluna + *!* .Caut_anluna2.initializare_anluna + *!* ENDIF + *!* .Caut_anluna1.ENABLED = IIF(this.Value = 1,.f.,.t.) + *!* .Caut_anluna2.ENABLED = IIF(this.Value = 1,.f.,.t.) + plemise = IIF(this.Value = 2,.t.,.f.) + .refresh + ENDWITH + + + ENDPROC + +ENDDEFINE diff --git a/clase/orapoarte_cont.vc2 b/clase/orapoarte_cont.vc2 new file mode 100644 index 0000000..3e18338 --- /dev/null +++ b/clase/orapoarte_cont.vc2 @@ -0,0 +1,6833 @@ +*-------------------------------------------------------------------------------------------------------------------------------------------------------- +* (EN) AUTOGENERATED - ATTENTION!! - NOT INTENDED FOR EXECUTION!! USE ONLY FOR MERGING CHANGES AND STORING WITH SCM TOOLS!! +*-------------------------------------------------------------------------------------------------------------------------------------------------------- +*< FOXBIN2PRG: Version="1.21" SourceFile="orapoarte_cont.vcx" CPID="1252" /> (Solo para binarios VFP 9 / Only for VFP 9 binaries) +* +* +DEFINE CLASS frm_alegeperioada AS _frmbase OF "_frm_base.vcx" + *< CLASSDATA: Baseclass="form" Timestamp="" Scale="Pixels" Uniqueid="" /> + + *-- OBJECTDATA items order determines ZOrder / El orden de los items OBJECTDATA determina el ZOrder + *< OBJECTDATA: ObjPath="But_excel1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="But_listare1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="_label1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="_label2" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="_label3" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="_label4" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="_label5" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="_label6" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="_spinner1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="_spinner2" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="_spinner3" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="_spinner4" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="_spinner5" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="_spinner6" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="_spinner7" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="_spinner8" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="_spinner9" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="_spinner10" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="_spinner11" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="_spinner12" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="chkCuSold" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="chkAnalitic" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="Txt_analitic" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="_label7" UniqueID="" Timestamp="" /> + + * + *m: do_crsintervale + *m: lansanalitic + *p: ccont + *p: ceactiv + *p: ctip + *p: ddata + *p: gctip + *p: lemitere && Calcul vechime fata de data emitere sau data scadenta + * + + * + BorderStyle = 1 + ccont = + ceactiv = + ctip = + ddata = + DoCreate = .T. + gctip = .F. + Height = 293 + lemitere = .F. + Name = "frm_alegeperioada" + Width = 271 + _memberdata = + + + _shape1.Name = "_shape1" + _shape2.Height = 29 + _shape2.Left = 288 + _shape2.Name = "_shape2" + _shape2.Top = 0 + _shape2.Width = 86 + Lb_titlu_alb_b121.Name = "Lb_titlu_alb_b121" + Lb_titlu_alb_b121.TabIndex = 19 + BUT_TERMIN1.Left = 240 + BUT_TERMIN1.Name = "BUT_TERMIN1" + BUT_TERMIN1.TabIndex = 17 + BUT_TERMIN1.Top = 1 + Gridsort1.Left = 252 + Gridsort1.Name = "Gridsort1" + Gridsort1.Top = 132 + * + + ADD OBJECT '_label1' AS _label WITH ; + BackStyle = 0, ; + Caption = "Interval 1", ; + Left = 17, ; + Name = "_label1", ; + TabIndex = 20, ; + Top = 105 + *< END OBJECT: ClassLib="_baza.vcx" BaseClass="label" /> + + ADD OBJECT '_label2' AS _label WITH ; + BackStyle = 0, ; + Caption = "Interval 2", ; + Left = 17, ; + Name = "_label2", ; + TabIndex = 22, ; + Top = 135 + *< END OBJECT: ClassLib="_baza.vcx" BaseClass="label" /> + + ADD OBJECT '_label3' AS _label WITH ; + BackStyle = 0, ; + Caption = "Interval 3", ; + Left = 17, ; + Name = "_label3", ; + TabIndex = 23, ; + Top = 165 + *< END OBJECT: ClassLib="_baza.vcx" BaseClass="label" /> + + ADD OBJECT '_label4' AS _label WITH ; + BackStyle = 0, ; + Caption = "Interval 4", ; + Left = 17, ; + Name = "_label4", ; + TabIndex = 24, ; + Top = 195 + *< END OBJECT: ClassLib="_baza.vcx" BaseClass="label" /> + + ADD OBJECT '_label5' AS _label WITH ; + BackStyle = 0, ; + Caption = "Interval 5 ", ; + Left = 17, ; + Name = "_label5", ; + TabIndex = 25, ; + Top = 225 + *< END OBJECT: ClassLib="_baza.vcx" BaseClass="label" /> + + ADD OBJECT '_label6' AS _label WITH ; + BackStyle = 0, ; + Caption = "Interval 6", ; + Left = 17, ; + Name = "_label6", ; + TabIndex = 26, ; + Top = 255 + *< END OBJECT: ClassLib="_baza.vcx" BaseClass="label" /> + + ADD OBJECT '_label7' AS _label WITH ; + BackStyle = 0, ; + Caption = "Analitic", ; + Left = 160, ; + Name = "_label7", ; + TabIndex = 21, ; + Top = 62 + *< END OBJECT: ClassLib="_baza.vcx" BaseClass="label" /> + + ADD OBJECT '_spinner1' AS _spinner WITH ; + ControlSource = "gnVechime1", ; + Height = 24, ; + InputMask = "99 999", ; + KeyboardHighValue = 99999, ; + KeyboardLowValue = 0, ; + Left = 101, ; + Name = "_spinner1", ; + SpinnerHighValue = 99999.00, ; + SpinnerLowValue = 0.00, ; + TabIndex = 4, ; + Top = 100, ; + Width = 70 + *< END OBJECT: ClassLib="_baza.vcx" BaseClass="spinner" /> + + ADD OBJECT '_spinner10' AS _spinner WITH ; + ControlSource = "gnVechime10", ; + Height = 24, ; + InputMask = "99 999", ; + KeyboardHighValue = 99999, ; + KeyboardLowValue = 0, ; + Left = 185, ; + Name = "_spinner10", ; + SpinnerHighValue = 99999.00, ; + SpinnerLowValue = 0.00, ; + TabIndex = 13, ; + Top = 220, ; + Width = 69 + *< END OBJECT: ClassLib="_baza.vcx" BaseClass="spinner" /> + + ADD OBJECT '_spinner11' AS _spinner WITH ; + ControlSource = "gnVechime11", ; + Height = 24, ; + InputMask = "99 999", ; + KeyboardHighValue = 99999, ; + KeyboardLowValue = 0, ; + Left = 101, ; + Name = "_spinner11", ; + SpinnerHighValue = 99999.00, ; + SpinnerLowValue = 0.00, ; + TabIndex = 14, ; + Top = 250, ; + Width = 70 + *< END OBJECT: ClassLib="_baza.vcx" BaseClass="spinner" /> + + ADD OBJECT '_spinner12' AS _spinner WITH ; + ControlSource = "gnVechime12", ; + Height = 24, ; + InputMask = "99 999", ; + KeyboardHighValue = 99999, ; + KeyboardLowValue = 0, ; + Left = 185, ; + Name = "_spinner12", ; + SpinnerHighValue = 99999.00, ; + SpinnerLowValue = 0.00, ; + TabIndex = 15, ; + Top = 250, ; + Width = 69 + *< END OBJECT: ClassLib="_baza.vcx" BaseClass="spinner" /> + + ADD OBJECT '_spinner2' AS _spinner WITH ; + ControlSource = "gnVechime2", ; + Height = 24, ; + InputMask = "99 999", ; + KeyboardHighValue = 99999, ; + KeyboardLowValue = 0, ; + Left = 185, ; + Name = "_spinner2", ; + SpinnerHighValue = 99999.00, ; + SpinnerLowValue = 0.00, ; + TabIndex = 5, ; + Top = 100, ; + Width = 69 + *< END OBJECT: ClassLib="_baza.vcx" BaseClass="spinner" /> + + ADD OBJECT '_spinner3' AS _spinner WITH ; + ControlSource = "gnVechime3", ; + Height = 24, ; + InputMask = "99 999", ; + KeyboardHighValue = 99999, ; + KeyboardLowValue = 0, ; + Left = 101, ; + Name = "_spinner3", ; + SpinnerHighValue = 99999.00, ; + SpinnerLowValue = 0.00, ; + TabIndex = 6, ; + Top = 130, ; + Width = 70 + *< END OBJECT: ClassLib="_baza.vcx" BaseClass="spinner" /> + + ADD OBJECT '_spinner4' AS _spinner WITH ; + ControlSource = "gnVechime4", ; + Height = 24, ; + InputMask = "99 999", ; + KeyboardHighValue = 99999, ; + KeyboardLowValue = 0, ; + Left = 185, ; + Name = "_spinner4", ; + SpinnerHighValue = 99999.00, ; + SpinnerLowValue = 0.00, ; + TabIndex = 7, ; + Top = 130, ; + Width = 69 + *< END OBJECT: ClassLib="_baza.vcx" BaseClass="spinner" /> + + ADD OBJECT '_spinner5' AS _spinner WITH ; + ControlSource = "gnVechime5", ; + Height = 24, ; + InputMask = "99 999", ; + KeyboardHighValue = 99999, ; + KeyboardLowValue = 0, ; + Left = 101, ; + Name = "_spinner5", ; + SpinnerHighValue = 99999.00, ; + SpinnerLowValue = 0.00, ; + TabIndex = 8, ; + Top = 160, ; + Width = 70 + *< END OBJECT: ClassLib="_baza.vcx" BaseClass="spinner" /> + + ADD OBJECT '_spinner6' AS _spinner WITH ; + ControlSource = "gnVechime6", ; + Height = 24, ; + InputMask = "99 999", ; + KeyboardHighValue = 99999, ; + KeyboardLowValue = 0, ; + Left = 185, ; + Name = "_spinner6", ; + SpinnerHighValue = 99999.00, ; + SpinnerLowValue = 0.00, ; + TabIndex = 9, ; + Top = 160, ; + Width = 69 + *< END OBJECT: ClassLib="_baza.vcx" BaseClass="spinner" /> + + ADD OBJECT '_spinner7' AS _spinner WITH ; + ControlSource = "gnVechime7", ; + Height = 24, ; + InputMask = "99 999", ; + KeyboardHighValue = 99999, ; + KeyboardLowValue = 0, ; + Left = 101, ; + Name = "_spinner7", ; + SpinnerHighValue = 99999.00, ; + SpinnerLowValue = 0.00, ; + TabIndex = 10, ; + Top = 190, ; + Width = 70 + *< END OBJECT: ClassLib="_baza.vcx" BaseClass="spinner" /> + + ADD OBJECT '_spinner8' AS _spinner WITH ; + ControlSource = "gnVechime8", ; + Height = 24, ; + InputMask = "99 999", ; + KeyboardHighValue = 99999, ; + KeyboardLowValue = 0, ; + Left = 185, ; + Name = "_spinner8", ; + SpinnerHighValue = 99999.00, ; + SpinnerLowValue = 0.00, ; + TabIndex = 11, ; + Top = 190, ; + Width = 69 + *< END OBJECT: ClassLib="_baza.vcx" BaseClass="spinner" /> + + ADD OBJECT '_spinner9' AS _spinner WITH ; + ControlSource = "gnVechime9", ; + Height = 24, ; + InputMask = "99 999", ; + KeyboardHighValue = 99999, ; + KeyboardLowValue = 0, ; + Left = 101, ; + Name = "_spinner9", ; + SpinnerHighValue = 99999.00, ; + SpinnerLowValue = 0.00, ; + TabIndex = 12, ; + Top = 220, ; + Width = 70 + *< END OBJECT: ClassLib="_baza.vcx" BaseClass="spinner" /> + + ADD OBJECT 'But_excel1' AS but_excel WITH ; + Left = 184, ; + Name = "But_excel1", ; + TabIndex = 18, ; + Top = 1 + *< END OBJECT: ClassLib="cmd_butoane.vcx" BaseClass="commandbutton" /> + + ADD OBJECT 'But_listare1' AS but_listare WITH ; + Left = 211, ; + Name = "But_listare1", ; + TabIndex = 16, ; + Top = 1 + *< END OBJECT: ClassLib="cmd_butoane.vcx" BaseClass="commandbutton" /> + + ADD OBJECT 'chkAnalitic' AS checkbox WITH ; + Alignment = 0, ; + AutoSize = .T., ; + BackColor = 255,255,255, ; + Caption = "Grupare pe analitice", ; + Height = 17, ; + Left = 17, ; + Name = "chkAnalitic", ; + TabIndex = 2, ; + Top = 62, ; + Width = 129 + *< END OBJECT: BaseClass="checkbox" /> + + ADD OBJECT 'chkCuSold' AS checkbox WITH ; + Alignment = 0, ; + AutoSize = .T., ; + BackColor = 255,255,255, ; + Caption = "Sold diferit de 0", ; + Height = 17, ; + Left = 17, ; + Name = "chkCuSold", ; + TabIndex = 1, ; + Top = 36, ; + Width = 103 + *< END OBJECT: BaseClass="checkbox" /> + + ADD OBJECT 'Txt_analitic' AS textbox WITH ; + Height = 21, ; + Left = 202, ; + Name = "Txt_analitic", ; + TabIndex = 3, ; + Top = 60, ; + Width = 50 + *< END OBJECT: BaseClass="textbox" /> + + PROCEDURE do_crsintervale + *!* adaugare v 2.0.77 + + *!* 11.08.2009 + *!* marius.mutu + *!* NVL(dataact,TO_DATE('01011900','DDMMYYYY')) <= ?pdData in loc de dataact <= ?pdData + *!* nu lua in considerare inregistrarile gresite din ireg_parteneri fara data (incasari neimperecheate) + + *!* 02.03.2011 + *!* marius.mutu + *!* grupare pe analitice, filtrare dupa analitic + *!* la furnizori si la alti se foloseste acelasi raport, clientii au coloana sold incert in plus + + *!* 07.06.2011 + *!* marius.mutu + *!* selectia "" as acont din ireg_parteneri crea o coloana NULL cu lungime 0 in cursorul din foxpro si dadea eroare la selectia urmatoare pentru exportul in xls + *!* s-a transformat in " " as acont + + *!* 11.04.2013 + *!* marius.mutu + *!* Furnizori, Alti - raport vechime dupa data scadenta sau dupa data emitere + + private pcCont + Local lcAcont, lcConditieAcont, lcEmptyData, lcsql, llCuSold, llGrupareAnalitic, lnSucces + *:Global gcExplicatie, gcRaport + pcCont = alltrim(Thisform.cCont) + + llCuSold = This.chkCuSold.Value = 1 + llGrupareAnalitic = This.chkAnalitic.Value = 1 + lcAcont = Alltrim(This.txt_analitic.Value) + lcConditieAcont = Iif(!Empty(m.lcAcont), [ and acont = '] + m.lcAcont + [' ], []) + lcEmptyData = dtos(date() - 9000) && 25 de ani in urma 20 + + + Do Case + Case Thisform.ctip = [C] + gcExplicatie = [CLIENTI] + lcsql = [Select a.id_part,b.denumire,a.acont, Sum(a.sold) As sold,] + ; + [SUM(case when ?pdData Between NVL(a.datascad,TO_DATE('01011900', 'DDMMYYYY')) + ?gnVechime1 and NVL(a.datascad,TO_DATE('01011900', 'DDMMYYYY')) + ?gnVechime2 And ] + ; + [a.incert = 0 and ?gnVechime1<>0 and ?gnVechime2<>0 then a.sold else 0.00 end) As rest_1,] + ; + [SUM(case when ?pdData Between NVL(a.datascad,TO_DATE('01011900', 'DDMMYYYY')) + ?gnVechime3 and NVL(a.datascad,TO_DATE('01011900', 'DDMMYYYY')) + ?gnVechime4 And ] + ; + [a.incert = 0 and ?gnVechime3<>0 and ?gnVechime4<>0 then a.sold else 0.00 end) As rest_2,] + ; + [SUM(case when ?pdData Between NVL(a.datascad,TO_DATE('01011900', 'DDMMYYYY')) + ?gnVechime5 and NVL(a.datascad,TO_DATE('01011900', 'DDMMYYYY')) + ?gnVechime6 And ] + ; + [a.incert = 0 and ?gnVechime5<>0 and ?gnVechime6<>0 then a.sold else 0.00 end) As rest_3,] + ; + [SUM(case when ?pdData Between NVL(a.datascad,TO_DATE('01011900', 'DDMMYYYY')) + ?gnVechime7 and NVL(a.datascad,TO_DATE('01011900', 'DDMMYYYY')) + ?gnVechime8 And ] + ; + [a.incert = 0 and ?gnVechime7<>0 and ?gnVechime8<>0 then a.sold else 0.00 end) As rest_4,] + ; + [SUM(case when ?pdData Between NVL(a.datascad,TO_DATE('01011900', 'DDMMYYYY')) + ?gnVechime9 and NVL(a.datascad,TO_DATE('01011900', 'DDMMYYYY')) + ?gnVechime10 And ] + ; + [a.incert = 0 and ?gnVechime9<>0 and ?gnVechime10<>0 then a.sold else 0.00 end) As rest_5,] + ; + [SUM(case when ?pdData >= NVL(a.datascad,TO_DATE('01011900', 'DDMMYYYY')) + ?gnVechime11 And a.incert = 0 and ?gnVechime11<>0 and ?gnVechime12<>0 then ] + ; + [a.sold else 0.00 end) As rest_999,] + ; + [SUM(case when ?pdData <= NVL(a.datascad,TO_DATE('01011900', 'DDMMYYYY')) And a.incert = 0 then ] + ; + [a.sold else 0.00 end) As termen,] + ; + [SUM(decode(a.incert, 1, a.sold, 0.00)) As rest_incert ] + ; + [FROM (Select id_part, ] + Iif(m.llGrupareAnalitic, [NVL(acont,' ')], [' ']) + [ as acont, NVL(datascad, dataact + 30) as datascad,] + ; + [(precdeb + debit) - (preccred + credit) As sold,] + ; + [(case when cont = '4118' then 1 else 0 end) As incert ] + ; + [FROM ireg_parteneri ] + ; + [WHERE NVL(dataact,TO_DATE('01011900','DDMMYYYY')) <= ?pdData ] + ; + [And (precdeb + debit) - (preccred + credit) <> 0 ] + ; + [and luna = ?gnLuna ] + ; + [and an = ?gnAn ] + ; + m.lcConditieAcont + ; + gcCondSucursala + ; + [and cont in ('4111', '4118')) a ] + ; + [left join nom_parteneri b on a.id_part = b.id_part ] + ; + [GROUP By a.id_part, b.denumire, a.acont ] + ; + IIF(m.llCuSold, [having SUM(a.sold) <> 0 ], []) + ; + [order by b.denumire, a.acont] + gcRaport = [rap_vechime_clienti] + + Case Thisform.ctip = [F] + gcExplicatie = [FURNIZORI] + + text to m.lcSql textmerge noshow + Select a.id_part,b.denumire, a.acont, Sum(a.sold) As sold, + SUM(case when ?pdData Between NVL(a.datascem,TO_DATE('<>', 'YYYYMMDD')) + ?gnVechime1 and NVL(a.datascem,TO_DATE('<>', 'YYYYMMDD')) + ?gnVechime2 and ?gnVechime1<>0 and ?gnVechime2<>0 + then a.sold else 0.00 end) As rest_1, + SUM(case when ?pdData Between NVL(a.datascem,TO_DATE('<>', 'YYYYMMDD')) + ?gnVechime3 and NVL(a.datascem,TO_DATE('<>', 'YYYYMMDD')) + ?gnVechime4 and ?gnVechime3<>0 and ?gnVechime4<>0 + then a.sold else 0.00 end) As rest_2, + SUM(case when ?pdData Between NVL(a.datascem,TO_DATE('<>', 'YYYYMMDD')) + ?gnVechime5 and NVL(a.datascem,TO_DATE('<>', 'YYYYMMDD')) + ?gnVechime6 and ?gnVechime5<>0 and ?gnVechime6<>0 + then a.sold else 0.00 end) As rest_3, + SUM(case when ?pdData Between NVL(a.datascem,TO_DATE('<>', 'YYYYMMDD')) + ?gnVechime7 and NVL(a.datascem,TO_DATE('<>', 'YYYYMMDD')) + ?gnVechime8 and ?gnVechime7<>0 and ?gnVechime8<>0 + then a.sold else 0.00 end) As rest_4, + SUM(case when ?pdData Between NVL(a.datascem,TO_DATE('<>', 'YYYYMMDD')) + ?gnVechime9 and NVL(a.datascem,TO_DATE('<>', 'YYYYMMDD')) + ?gnVechime10 and ?gnVechime9<>0 and ?gnVechime10<>0 + then a.sold else 0.00 end) As rest_5, + SUM(case when ?pdData >= NVL(a.datascem,TO_DATE('<>', 'YYYYMMDD')) + ?gnVechime11 and ?gnVechime11<>0 and ?gnVechime12<>0 then + a.sold else 0.00 end) As rest_999, + SUM(case when ?pdData <= NVL(a.datascem,TO_DATE('<>', 'YYYYMMDD')) then + a.sold else 0.00 end) As termen + FROM (Select id_part, <> as acont, <> as datascem, + (preccred + credit) - (precdeb + debit) As sold + FROM ireg_parteneri + WHERE NVL(dataact,TO_DATE('<>','YYYYMMDD')) <= ?pdData + And (preccred + credit) - (precdeb + debit) <> 0 + and luna = ?gnLuna + and an = ?gnAn + <> + <> + and cont = '401') a + left join nom_parteneri b on a.id_part = b.id_part + GROUP By a.id_part, b.denumire, a.acont + < 0 ], [])>> + order by b.denumire, a.acont + endtext + + gcRaport = iif(this.lEmitere, [rap_vechime_emitere], [rap_vechime_furnizori]) + + Case Thisform.ctip = [A] + + gcExplicatie = iif(m.pcCont = [4111], [CLIENTI], [ALTII]) + text to m.lcSql textmerge noshow + Select a.id_part,b.denumire, a.acont, Sum(a.sold) As sold, + SUM(case when ?pdData Between NVL(a.datascem,TO_DATE('<>', 'YYYYMMDD')) + ?gnVechime1 and NVL(a.datascem,TO_DATE('<>', 'YYYYMMDD')) + ?gnVechime2 and ?gnVechime1<>0 and ?gnVechime2<>0 + then a.sold else 0.00 end) As rest_1, + SUM(case when ?pdData Between NVL(a.datascem,TO_DATE('<>', 'YYYYMMDD')) + ?gnVechime3 and NVL(a.datascem,TO_DATE('<>', 'YYYYMMDD')) + ?gnVechime4 and ?gnVechime3<>0 and ?gnVechime4<>0 + then a.sold else 0.00 end) As rest_2, + SUM(case when ?pdData Between NVL(a.datascem,TO_DATE('<>', 'YYYYMMDD')) + ?gnVechime5 and NVL(a.datascem,TO_DATE('<>', 'YYYYMMDD')) + ?gnVechime6 and ?gnVechime5<>0 and ?gnVechime6<>0 + then a.sold else 0.00 end) As rest_3, + SUM(case when ?pdData Between NVL(a.datascem,TO_DATE('<>', 'YYYYMMDD')) + ?gnVechime7 and NVL(a.datascem,TO_DATE('<>', 'YYYYMMDD')) + ?gnVechime8 and ?gnVechime7<>0 and ?gnVechime8<>0 + then a.sold else 0.00 end) As rest_4, + SUM(case when ?pdData Between NVL(a.datascem,TO_DATE('<>', 'YYYYMMDD')) + ?gnVechime9 and NVL(a.datascem,TO_DATE('<>', 'YYYYMMDD')) + ?gnVechime10 and ?gnVechime9<>0 and ?gnVechime10<>0 + then a.sold else 0.00 end) As rest_5, + SUM(case when ?pdData >= NVL(a.datascem,TO_DATE('<>', 'YYYYMMDD')) + ?gnVechime11 and ?gnVechime11<>0 and ?gnVechime12<>0 then + a.sold else 0.00 end) As rest_999, + SUM(case when ?pdData <= NVL(a.datascem,TO_DATE('<>', 'YYYYMMDD')) then + a.sold else 0.00 end) As termen + FROM (Select id_part, <> as acont, <> as datascem, + <> + FROM ireg_parteneri + WHERE NVL(dataact,TO_DATE('<>','YYYYMMDD')) <= ?pdData and + < 0 ], [ (precdeb + debit) - (preccred + credit) <> 0 ])>> + and luna = ?gnLuna and an = ?gnAn + <> + <> + and cont = ?m.pcCont) a + left join nom_parteneri b on a.id_part = b.id_part + GROUP By a.id_part, b.denumire, a.acont + < 0 ], [])>> + order by b.denumire, a.acont + endtext + + gcRaport = iif(this.lEmitere, [rap_vechime_emitere], [rap_vechime_furnizori]) + ENDCASE + + lnSucces = goExecutor.oExecute(m.lcsql, [crsdaterap]) + If m.lnSucces < 0 + amessagebox(goExecutor.cEroare, 16, "Eroare") + Endif + *!* adaugare v 2.0.77 ^ + + ENDPROC + + PROCEDURE do_excel + *!* adaugare v 2.0.77 + Thisform.do_crsintervale() + If Thisform.ctip=[C] + lcselect=[SELECT id_part, denumire, sold, rest_1 as i_]+Alltrim(Str(gnVechime1))+; + [_]+Alltrim(Str(gnVechime2))+[, rest_2 as i_]+Alltrim(Str(gnVechime3))+; + [_]+Alltrim(Str(gnVechime4))+[,rest_3 as i_]+Alltrim(Str(gnVechime5))+[_]+Alltrim(Str(gnVechime6))+; + [,rest_4 as i_]+Alltrim(Str(gnVechime7))+[_]+Alltrim(Str(gnVechime8))+[,rest_5 as i_]+; + ALLTRIM(Str(gnVechime9))+[_]+Alltrim(Str(gnVechime10))+[,rest_999 as i_]+Alltrim(Str(gnVechime11))+; + [_]+Alltrim(Str(gnVechime12))+[,rest_incert,termen FROM crsdaterap into cursor crsdatexls] + Else + lcselect=[SELECT id_part, denumire, sold, rest_1 as i_]+Alltrim(Str(gnVechime1))+; + [_]+Alltrim(Str(gnVechime2))+[, rest_2 as i_]+Alltrim(Str(gnVechime3))+; + [_]+Alltrim(Str(gnVechime4))+[,rest_3 as i_]+Alltrim(Str(gnVechime5))+[_]+Alltrim(Str(gnVechime6))+; + [,rest_4 as i_]+Alltrim(Str(gnVechime7))+[_]+Alltrim(Str(gnVechime8))+[,rest_5 as i_]+; + ALLTRIM(Str(gnVechime9))+[_]+Alltrim(Str(gnVechime10))+[,rest_999 as i_]+Alltrim(Str(gnVechime11))+; + [_]+Alltrim(Str(gnVechime12))+[,termen FROM crsdaterap into cursor crsdatexls] + Endif + &lcselect + goExport.export2xls([crsdatexls]) + If Used('crsdaterap') + Use In crsdaterap + Endif + If Used('crsdatexls') + Use In crsdatexls + Endif + *!* adaugare v 2.0.77 ^ + + ENDPROC + + PROCEDURE do_listare + *!* adaugare v 2.0.77 + Local llMultiPreview + llMultiPreview = .T. + lcAcont = Alltrim(This.txt_analitic.Value) + Private pctitlu + Public gcExplicatie,gcRaport + Thisform.do_crsintervale() + pctitlu = [SITUATIE ] + gcExplicatie + ' ' + '(Cont ' + Thisform.ccont + Iif(!Empty(m.lcAcont), '.' + m.lcAcont, '') + ')' + [ PE VECHIMI ] + iif(this.lEmitere, [EMITERE], [SCADENTA]) + [ LA DATA ] + Alltrim(Dtoc(pdData)) + Thisform.AlwaysOnTop= .F. + goExport.export2frx([crsdaterap],gcRaport, , , , , , llMultiPreview, , ) + Thisform.AlwaysOnTop= .T. + Release pctitlu,gcExplicatie,gcRaport + *!* adaugare v 2.0.77 ^ + + + ENDPROC + + PROCEDURE inainte_de_do_termin + DoDefault() + *!* adaugare v 2.0.77 + Local lcSql + lcSql = [] + Select crsOptiuni + Scan + lcNume = Alltrim(varname) + lnValoare = Val(Alltrim(varvalue)) + If gn&lcNume. <> lnValoare + lcSql=lcSql + [ update ]+gcS+[.optiuni set varvalue=] +Alltrim(Str(gn&lcNume.))+[ where varname like ']+lcNume+[';] + Endif + Endscan + + If lcSql#[] + lnRaspuns=aMESSAGEBOX("Doriti sa salvati intervalele alese?",36,"Atentie") + If lnRaspuns=6 + lcSql = [begin ] + lcSql + [ end;] + lnSucces=goExecutor.oExecute(lcSql) + If lnSucces < 0 + aMESSAGEBOX(goExecutor.cEroare,0+16,'Eroare') + Return + Endif + Endif + Endif + *!* adaugare v 2.0.77 ^ + + ENDPROC + + PROCEDURE Init + Lparameters tctip, tcCont, tlEmitere + *** tcTip: C (clienti 4111,4118); F (furnizori 401); A (activ se alege contul) + *** tlEmitere: .T. vechime fata de data emiterii sau .F. fata de data scadenta + + LOCAL lcTip,lcCont + lcTip = IIF(!EMPTY(tcTip), tcTip, "") + lcCont = tcCont + DO case + CASE lcTip = 'C' + lcCont = '4111,4118' + CASE lcTip = 'F' + lcCont = '401' + endcase + + + Thisform.ctip = lcTip + thisform.cCont = lcCont + Thisform.lEmitere = m.tlEmitere + DODEFAULT() + ENDPROC + + PROCEDURE lansanalitic + Local lcColoane, lcCont, lcFiltru, lcFiltruOriginal, lcSchema, lcSql, lcTitlu, lcTitluColoane + Local lcorder, lnPos, locauta + lcSql = [select explicatie,cont, acont from VPLCONT_USED_ANALITIC] + lcFiltru = [1=2] + lcSchema = [] + lcorder = [acont] + lcColoane = [acont,explicatie] + lcTitlu = [Alegeti Contul Analitic] + lcTitluColoane = [Cont Analitic,Explicatie cont] + lcCont = Thisform.cCont && 4111,4118 / 401 / xxxx + lnPos = AT(',', lcCont) + IF lnPos > 0 + lcCont = LEFT(lcCont, lnPos-1) + ENDIF + + lcFiltruOriginal = [an = ?gnAn and cont = '] + m.lcCont + ['] + locauta = cauta_alfa(lcSql, lcFiltru, lcSchema, lcOrder, lcColoane, lcTitlu, lcTitluColoane,'',.T., lcFiltruOriginal) + This.txt_analitic.Value = IIF(LEFT(UPPER(locauta.acont),4)='0 + IF thisform._spinner10.Value0 + thisform._spinner11.Value=thisform._spinner10.Value+1 + ENDIF + ENDPROC + + PROCEDURE _spinner11.Valid + gnVechime11=thisform._spinner11.Value + + ENDPROC + + PROCEDURE _spinner12.Valid + gnVechime12=Thisform._spinner12.Value + If Thisform._spinner11.Value<>0 + If Thisform._spinner12.Value0 + IF thisform._spinner2.Value0 + thisform._spinner3.Value=thisform._spinner2.Value+1 + ENDIF + ENDPROC + + PROCEDURE _spinner3.Valid + gnVechime3=thisform._spinner3.Value + + ENDPROC + + PROCEDURE _spinner4.Valid + gnVechime4=thisform._spinner4.Value + IF thisform._spinner3.Value<>0 + IF thisform._spinner4.Value0 + Thisform._spinner5.Value=Thisform._spinner4.Value+1 + Endif + + ENDPROC + + PROCEDURE _spinner5.Valid + gnVechime5=thisform._spinner5.Value + + ENDPROC + + PROCEDURE _spinner6.Valid + gnVechime6=Thisform._spinner6.Value + If Thisform._spinner5.Value<>0 + If Thisform._spinner6.Value0 + thisform._spinner7.Value=thisform._spinner6.Value+1 + ENDIF + ENDPROC + + PROCEDURE _spinner7.Valid + gnVechime7=thisform._spinner7.Value + + ENDPROC + + PROCEDURE _spinner8.Valid + gnVechime8=thisform._spinner8.Value + IF thisform._spinner7.Value<>0 + IF thisform._spinner8.Value0 + thisform._spinner9.Value=thisform._spinner8.Value+1 + ENDIF + ENDPROC + + PROCEDURE _spinner9.Valid + gnVechime9=thisform._spinner9.Value + + ENDPROC + +ENDDEFINE + +DEFINE CLASS frm_cartea_mare AS frm_termin OF "..\comun\clase\_frm_child.vcx" + *< CLASSDATA: Baseclass="form" Timestamp="" Scale="Pixels" Uniqueid="" /> + + *-- OBJECTDATA items order determines ZOrder / El orden de los items OBJECTDATA determina el ZOrder + *< OBJECTDATA: ObjPath="But_listare1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="grdConturi" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="grdConturi.cAles.Header1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="grdConturi.cAles.Check1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="grdConturi.cCont.Header1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="grdConturi.cCont.Text1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="grdConturi.cExplicatie.Header1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="grdConturi.cExplicatie.Text1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="clb_cont" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="cboAlese" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="cboCorespondente" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="cmdSelecteaza" UniqueID="" Timestamp="" /> + + * + *m: ales_dblclick + *m: update_ireg + *p: nid_part + * + + * + BorderStyle = 1 + cgridsortlist = grdConturi + DoCreate = .T. + Height = 504 + Name = "frm_cartea_mare" + nid_part = -1 + Width = 415 + _shape1.Anchor = 10 + _shape1.Height = 29 + _shape1.Left = 0 + _shape1.Name = "_shape1" + _shape1.Top = 0 + _shape1.Width = 670 + _shape2.Anchor = 9 + _shape2.Height = 29 + _shape2.Left = 350 + _shape2.Name = "_shape2" + _shape2.Top = -1 + _shape2.Width = 67 + Lb_titlu_alb_b121.Caption = "CARTEA MARE" + Lb_titlu_alb_b121.FontBold = .T. + Lb_titlu_alb_b121.FontSize = 11 + Lb_titlu_alb_b121.Name = "Lb_titlu_alb_b121" + Lb_titlu_alb_b121.TabIndex = 7 + BUT_TERMIN1.Anchor = 9 + BUT_TERMIN1.Left = 385 + BUT_TERMIN1.Name = "BUT_TERMIN1" + BUT_TERMIN1.TabIndex = 6 + BUT_TERMIN1.Top = 0 + Gridsort1.Name = "Gridsort1" + * + + ADD OBJECT 'But_listare1' AS but_listare WITH ; + Anchor = 9, ; + Left = 355, ; + Name = "But_listare1", ; + TabIndex = 5, ; + Top = 0 + *< END OBJECT: ClassLib="..\comun\clase\cmd_butoane.vcx" BaseClass="commandbutton" /> + + ADD OBJECT 'cboAlese' AS combobox WITH ; + Height = 24, ; + Left = 204, ; + Name = "cboAlese", ; + RowSource = "Afiseaza toate,Afiseaza selectate", ; + RowSourceType = 1, ; + Style = 2, ; + TabIndex = 3, ; + Top = 80, ; + Value = Afiseaza toate, ; + Width = 192 + *< END OBJECT: BaseClass="combobox" /> + + ADD OBJECT 'cboCorespondente' AS combobox WITH ; + Height = 24, ; + Left = 204, ; + Name = "cboCorespondente", ; + RowSource = "Credit,Debit", ; + RowSourceType = 1, ; + Style = 2, ; + Top = 43, ; + Value = Debit, ; + Width = 192 + *< END OBJECT: BaseClass="combobox" /> + + ADD OBJECT 'clb_cont' AS clb_tx_simplu WITH ; + Height = 29, ; + Left = 14, ; + Name = "clb_cont", ; + TabIndex = 1, ; + Top = 41, ; + Width = 142, ; + Text_simplu1.Height = 23, ; + Text_simplu1.Left = 52, ; + Text_simplu1.Name = "Text_simplu1", ; + Text_simplu1.Top = 3, ; + Text_simplu1.Width = 83, ; + Lb_simplu1.Caption = "Cont", ; + Lb_simplu1.Name = "Lb_simplu1" + *< END OBJECT: ClassLib="..\comun\clase\lb_tx.vcx" BaseClass="container" /> + + ADD OBJECT 'cmdSelecteaza' AS cmd_select_adv WITH ; + ccoloana = ales, ; + cgrid = thisform.grdConturi, ; + Left = 12, ; + Name = "cmdSelecteaza", ; + Top = 80 + *< END OBJECT: ClassLib="..\comun\clase\cmd_butoane.vcx" BaseClass="commandbutton" /> + + ADD OBJECT 'grdConturi' AS _grdbase WITH ; + ColumnCount = 3, ; + DeleteMark = .F., ; + Height = 381, ; + Left = 10, ; + Name = "grdConturi", ; + Panel = 1, ; + RecordSource = "cConturiTemp", ; + TabIndex = 4, ; + Top = 115, ; + Width = 398, ; + Column1.ControlSource = "ales", ; + Column1.CurrentControl = "Check1", ; + Column1.Name = "cAles", ; + Column1.Sparse = .F., ; + Column1.Width = 35, ; + Column2.ControlSource = "cont", ; + Column2.Name = "cCont", ; + Column2.Width = 65, ; + Column3.ControlSource = "explicatie", ; + Column3.Name = "cExplicatie", ; + Column3.Width = 241 + *< END OBJECT: ClassLib="..\comun\clase\_grd_base.vcx" BaseClass="grid" /> + + ADD OBJECT 'grdConturi.cAles.Check1' AS checkbox WITH ; + Alignment = 2, ; + Caption = "", ; + Centered = .T., ; + Height = 17, ; + Left = 37, ; + Name = "Check1", ; + Top = 47, ; + Width = 60 + *< END OBJECT: BaseClass="checkbox" /> + + ADD OBJECT 'grdConturi.cAles.Header1' AS header WITH ; + Alignment = 2, ; + Caption = "Ales", ; + Name = "Header1" + *< END OBJECT: BaseClass="header" /> + + ADD OBJECT 'grdConturi.cCont.Header1' AS header WITH ; + Alignment = 2, ; + Caption = "Cont", ; + Name = "Header1" + *< END OBJECT: BaseClass="header" /> + + ADD OBJECT 'grdConturi.cCont.Text1' AS textbox WITH ; + BackColor = 255,255,255, ; + BorderStyle = 0, ; + ForeColor = 0,0,0, ; + Margin = 0, ; + Name = "Text1" + *< END OBJECT: BaseClass="textbox" /> + + ADD OBJECT 'grdConturi.cExplicatie.Header1' AS header WITH ; + Alignment = 2, ; + Caption = "Explicatie", ; + Name = "Header1" + *< END OBJECT: BaseClass="header" /> + + ADD OBJECT 'grdConturi.cExplicatie.Text1' AS textbox WITH ; + BackColor = 255,255,255, ; + BorderStyle = 0, ; + ForeColor = 0,0,0, ; + Margin = 0, ; + Name = "Text1" + *< END OBJECT: BaseClass="textbox" /> + + PROCEDURE ales_dblclick + ENDPROC + + PROCEDURE Destroy + USE IN (SELECT('CCONTURITEMP')) + ENDPROC + + PROCEDURE do_cauta + lcFiltru = "" + lcAfiseaza = this.cboAlese.Value + lcValoare = ALLTRIM(THIS.clb_cont.text_simplu1.VALUE) + SELECT cConturiTemp + IF !EMPTY(lcValoare) + IF lcAfiseaza = "Afiseaza selectate" + lcFiltru = "ales = 1 and " + ELSE + lcFiltru = "ales = 1 or " + ENDIF + lcFiltru = lcFiltru + "LEFT(CONT," + STR(LEN(lcValoare)) + ") = '" + lcValoare + "'" + ELSE + IF lcAfiseaza = "Afiseaza selectate" + lcFiltru = "ales = 1" + ELSE + lcFiltru = "1 = 1" + ENDIF + ENDIF + SET FILTER TO &lcFiltru + LOCATE FOR ales = 1 + IF !FOUND() + GO TOP + ENDIF + + THIS.grdConturi.SETFOCUS() + + + ENDPROC + + PROCEDURE do_listare + This.but_listare1.SetFocus() + Local lcListaConturi, lcFiltru, lnRecno, lcCorespondente + lcListaConturi = "" + Select cConturiTemp + lnRecno = Recno() + lcFiltru = Filter() + Set Filter To ales = 1 + Scan + lcListaConturi = lcListaConturi + "," + Alltrim(Cont) + Endscan + lcCorespondente = Iif(This.cboCorespondente.Value = 'Credit', 'C', 'D') + Set Filter To &lcFiltru + Goto lnRecno + This.AlwaysOnTop = .F. + If !Empty(lcListaConturi) + lcListaConturi = Substr(lcListaConturi,2) + + Do cartea_mare With lcListaConturi, lcCorespondente In orapoarte.prg + Endif + This.AlwaysOnTop = .T. + This.clb_cont.SetFocus() + ENDPROC + + PROCEDURE Load + lcSql = [select distinct 0 as ales, cont, denumire as explicatie ] + ; + [from vbal where an = ?gnAn and luna = ?gnLuna ] + gcCondSucursala + ; + [order by cont] + + lnSucces = goExecutor.oExecute(lcSql, "cConturiTemp") + IF lnSucces < 0 + amessagebox(goExecutor.oPrelucrareEroare(),16,"Eroare") + RETURN + ENDIF + + ENDPROC + + PROCEDURE update_ireg + ENDPROC + + PROCEDURE cboAlese.Valid + thisform.do_cauta() + + + ENDPROC + + PROCEDURE clb_cont.Text_simplu1.LostFocus + thisform.do_cauta() + ENDPROC + +ENDDEFINE + +DEFINE CLASS frm_caut_anluna AS _frmbase OF "..\comun\clase\_frm_base.vcx" + *< CLASSDATA: Baseclass="form" Timestamp="" Scale="Pixels" Uniqueid="" /> + + *-- OBJECTDATA items order determines ZOrder / El orden de los items OBJECTDATA determina el ZOrder + *< OBJECTDATA: ObjPath="But_renunt1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="Label5" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="Caut_anluna" UniqueID="" Timestamp="" /> + + * + BorderStyle = 2 + DoCreate = .T. + FontName = "Arial Narrow" + Height = 130 + Name = "frm_caut_anluna" + Width = 250 + _shape1.Left = -1 + _shape1.Name = "_shape1" + _shape1.Top = 0 + _shape2.Height = 29 + _shape2.Left = 190 + _shape2.Name = "_shape2" + _shape2.Top = 0 + _shape2.Width = 61 + Lb_titlu_alb_b121.Caption = "Luna initiala" + Lb_titlu_alb_b121.Name = "Lb_titlu_alb_b121" + BUT_TERMIN1.Left = 220 + BUT_TERMIN1.Name = "BUT_TERMIN1" + BUT_TERMIN1.Top = 1 + Gridsort1.Name = "Gridsort1" + * + + ADD OBJECT 'But_renunt1' AS but_renunt WITH ; + Left = 191, ; + Name = "But_renunt1", ; + Top = 1 + *< END OBJECT: ClassLib="..\comun\clase\cmd_butoane.vcx" BaseClass="commandbutton" /> + + ADD OBJECT 'Caut_anluna' AS caut_anluna WITH ; + Left = 50, ; + Name = "Caut_anluna", ; + Top = 90, ; + cboan.Name = "cboan", ; + cboluna.Name = "cboluna" + *< END OBJECT: ClassLib="..\comun\clase\caut_ora.vcx" BaseClass="container" /> + + ADD OBJECT 'Label5' AS label WITH ; + Alignment = 2, ; + BackColor = 255,255,255, ; + Caption = "Selectati luna de inceput pentru calculul recapitulatiilor:", ; + Comment = "*:OnResize=LT", ; + FontName = "Arial Narrow", ; + FontSize = 10, ; + Height = 41, ; + Left = 12, ; + Name = "Label5", ; + TabIndex = 8, ; + Top = 45, ; + Width = 216, ; + WordWrap = .T., ; + ZOrderSet = 15 + *< END OBJECT: BaseClass="label" /> + + PROCEDURE inainte_de_do_termin + pnan = thisform.caut_anluna.nan + pnluna = thisform.caut_anluna.nluna + + ENDPROC + +ENDDEFINE + +DEFINE CLASS frm_datorii_buget AS frm_termin OF "..\comun\clase\_frm_child.vcx" + *< CLASSDATA: Baseclass="form" Timestamp="" Scale="Pixels" Uniqueid="" /> + + *-- OBJECTDATA items order determines ZOrder / El orden de los items OBJECTDATA determina el ZOrder + *< OBJECTDATA: ObjPath="But_listare1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="_grdbase1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="_grdbase1.Column1.Header1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="_grdbase1.Column1.Text1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="_grdbase1.Column2.Header1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="_grdbase1.Column2.Text1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="_grdbase1.Column3.Header1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="_grdbase1.Column3.Text1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="_grdbase1.Column4.Header1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="_grdbase1.Column4.Text1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="Clb_tx_simplu1" UniqueID="" Timestamp="" /> + + * + BorderStyle = 2 + DoCreate = .T. + Height = 483 + Name = "frm_datorii_buget" + Width = 495 + _SHAPE1.Height = 29 + _SHAPE1.Left = 0 + _SHAPE1.Name = "_SHAPE1" + _SHAPE1.Top = 0 + _SHAPE1.Width = 540 + _SHAPE2.Height = 29 + _SHAPE2.Left = 432 + _SHAPE2.Name = "_SHAPE2" + _SHAPE2.Top = 0 + _SHAPE2.Width = 63 + LB_TITLU_ALB_B121.Caption = "Datorii catre buget" + LB_TITLU_ALB_B121.Name = "LB_TITLU_ALB_B121" + BUT_TERMIN1.Left = 463 + BUT_TERMIN1.Name = "BUT_TERMIN1" + BUT_TERMIN1.Top = 1 + Gridsort1.Name = "Gridsort1" + * + + ADD OBJECT '_grdbase1' AS _grdbase WITH ; + ColumnCount = 4, ; + DeleteMark = .F., ; + FontName = "Arial", ; + Height = 381, ; + Left = 12, ; + Name = "_grdbase1", ; + Panel = 1, ; + Top = 48, ; + Width = 468, ; + Column1.ControlSource = "cont", ; + Column1.FontName = "Arial", ; + Column1.FontSize = 10, ; + Column1.Name = "Column1", ; + Column1.Width = 56, ; + Column2.ColumnOrder = 3, ; + Column2.ControlSource = "denumire", ; + Column2.FontName = "Arial", ; + Column2.FontSize = 10, ; + Column2.Name = "Column2", ; + Column2.Width = 215, ; + Column3.ColumnOrder = 4, ; + Column3.ControlSource = "suma", ; + Column3.FontName = "Arial", ; + Column3.FontSize = 10, ; + Column3.InputMask = (get_mask(12,gnPA)), ; + Column3.Name = "Column3", ; + Column3.Width = 99, ; + Column4.ColumnOrder = 2, ; + Column4.ControlSource = "acont", ; + Column4.FontName = "Arial", ; + Column4.Name = "Column4", ; + Column4.Width = 64 + *< END OBJECT: ClassLib="..\comun\clase\_grd_base.vcx" BaseClass="grid" /> + + ADD OBJECT '_grdbase1.Column1.Header1' AS header WITH ; + Alignment = 2, ; + Caption = "Cont", ; + FontName = "Arial", ; + Name = "Header1" + *< END OBJECT: BaseClass="header" /> + + ADD OBJECT '_grdbase1.Column1.Text1' AS textbox WITH ; + BackColor = 255,255,255, ; + BorderStyle = 0, ; + FontName = "Arial", ; + FontSize = 10, ; + ForeColor = 0,0,0, ; + Margin = 0, ; + Name = "Text1" + *< END OBJECT: BaseClass="textbox" /> + + ADD OBJECT '_grdbase1.Column2.Header1' AS header WITH ; + Alignment = 2, ; + Caption = "Denumire", ; + FontName = "Arial", ; + Name = "Header1" + *< END OBJECT: BaseClass="header" /> + + ADD OBJECT '_grdbase1.Column2.Text1' AS textbox WITH ; + BackColor = 255,255,255, ; + BorderStyle = 0, ; + FontName = "Arial", ; + FontSize = 10, ; + ForeColor = 0,0,0, ; + Margin = 0, ; + Name = "Text1" + *< END OBJECT: BaseClass="textbox" /> + + ADD OBJECT '_grdbase1.Column3.Header1' AS header WITH ; + Alignment = 2, ; + Caption = "Suma", ; + FontName = "Arial", ; + Name = "Header1" + *< END OBJECT: BaseClass="header" /> + + ADD OBJECT '_grdbase1.Column3.Text1' AS textbox WITH ; + BackColor = 255,255,255, ; + BorderStyle = 0, ; + FontName = "Arial", ; + FontSize = 10, ; + ForeColor = 0,0,0, ; + Margin = 0, ; + Name = "Text1" + *< END OBJECT: BaseClass="textbox" /> + + ADD OBJECT '_grdbase1.Column4.Header1' AS header WITH ; + Alignment = 2, ; + Caption = "Acont", ; + Name = "Header1" + *< END OBJECT: BaseClass="header" /> + + ADD OBJECT '_grdbase1.Column4.Text1' AS textbox WITH ; + BackColor = 255,255,255, ; + BorderStyle = 0, ; + ForeColor = 0,0,0, ; + Margin = 0, ; + Name = "Text1" + *< END OBJECT: BaseClass="textbox" /> + + ADD OBJECT 'But_listare1' AS but_listare WITH ; + Left = 432, ; + Name = "But_listare1", ; + Top = 1 + *< END OBJECT: ClassLib="..\comun\clase\cmd_butoane.vcx" BaseClass="commandbutton" /> + + ADD OBJECT 'Clb_tx_simplu1' AS clb_tx_simplu WITH ; + Height = 29, ; + Left = 304, ; + Name = "Clb_tx_simplu1", ; + Top = 441, ; + Width = 176, ; + Text_simplu1.Height = 23, ; + Text_simplu1.InputMask = (get_mask(16,gnPA)), ; + Text_simplu1.Left = 43, ; + Text_simplu1.Name = "Text_simplu1", ; + Text_simplu1.Top = 3, ; + Text_simplu1.Width = 128, ; + Lb_simplu1.Caption = "Total", ; + Lb_simplu1.Name = "Lb_simplu1" + *< END OBJECT: ClassLib="..\comun\clase\lb_tx.vcx" BaseClass="container" /> + + PROCEDURE do_executa + lcSel = thisform._grdbase1.RecordSource + SELECT (lcSel) + SUM suma TO lnTotal + this.clb_tx_simplu1.text_simplu1.Value = lnTotal + + ENDPROC + + PROCEDURE do_listare + Select * From crs_datorii Where suma <> 0 Into Cursor cList + + *!* If Reccount('cList')>0 + *!* This.AlwaysOnTop = .F. + *!* pcDataOra = get_ora(2) + *!* Select cList + *!* Report Form rap_algdator To Printer Prompt Preview + *!* This.AlwaysOnTop = .T. + *!* Else + *!* amessagebox("Nu exista inregistrari pentru listare!",48,"Atentie") + *!* Endif + Thisform.AlwaysOnTop = .F. + goExport.export2frx([cList],[rap_algdator]) + Thisform.AlwaysOnTop = .T. + If Used('cList') + Use In cList + Endif + ENDPROC + + PROCEDURE Show + LPARAMETERS nStyle + thisform.do_executa + ENDPROC + +ENDDEFINE + +DEFINE CLASS frm_facturi_grupat AS frm_termin_renunt OF "_frm_child.vcx" + *< CLASSDATA: Baseclass="form" Timestamp="" Scale="Pixels" Uniqueid="" /> + + *-- OBJECTDATA items order determines ZOrder / El orden de los items OBJECTDATA determina el ZOrder + *< OBJECTDATA: ObjPath="Clb_tx_simplu1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="Clb_tx_simplu2" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="But_cautare1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="But_cautare_cont" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="Clb_tx_simplu3" UniqueID="" Timestamp="" /> + + * + *m: do_lanscont + *m: do_lanslucrare + *p: lccont + *p: lctitlu + *p: llactiv + *p: lnidlucrare + * + + * + BorderStyle = 2 + DoCreate = .T. + Height = 151 + lccont = + lctitlu = + llactiv = + lnidlucrare = 0 + Name = "frm_facturi_grupat" + Width = 374 + _shape1.Name = "_shape1" + _shape2.Height = 29 + _shape2.Left = 309 + _shape2.Name = "_shape2" + _shape2.Top = 0 + _shape2.Width = 65 + Lb_titlu_alb_b121.Caption = "Situatie facuri" + Lb_titlu_alb_b121.Name = "Lb_titlu_alb_b121" + Lb_titlu_alb_b121.TabIndex = 4 + BUT_TERMIN1.Name = "BUT_TERMIN1" + BUT_TERMIN1.TabIndex = 5 + Gridsort1.Left = 5 + Gridsort1.Name = "Gridsort1" + Gridsort1.Top = 34 + But_renunt1.Name = "But_renunt1" + But_renunt1.TabIndex = 6 + * + + ADD OBJECT 'But_cautare1' AS but_cautare WITH ; + caction = do_lansLucrare, ; + Left = 311, ; + Name = "But_cautare1", ; + TabIndex = 3, ; + Top = 110 + *< END OBJECT: ClassLib="cmd_butoane.vcx" BaseClass="commandbutton" /> + + ADD OBJECT 'But_cautare_cont' AS but_cautare WITH ; + caction = do_lansCont, ; + Left = 311, ; + Name = "But_cautare_cont", ; + TabIndex = 2, ; + Top = 80 + *< END OBJECT: ClassLib="cmd_butoane.vcx" BaseClass="commandbutton" /> + + ADD OBJECT 'Clb_tx_simplu1' AS clb_tx_simplu WITH ; + Left = 18, ; + Name = "Clb_tx_simplu1", ; + TabIndex = 7, ; + TabStop = .F., ; + Top = 81, ; + ZOrderSet = 6, ; + Text_simplu1.BackColor = 255,255,255, ; + Text_simplu1.BackStyle = 0, ; + Text_simplu1.BorderColor = 0,0,0, ; + Text_simplu1.DisabledBackColor = 255,255,255, ; + Text_simplu1.DisabledForeColor = 255,255,255, ; + Text_simplu1.FontItalic = .T., ; + Text_simplu1.ForeColor = 0,0,0, ; + Text_simplu1.Height = 23, ; + Text_simplu1.Left = 65, ; + Text_simplu1.Name = "Text_simplu1", ; + Text_simplu1.ReadOnly = .T., ; + Text_simplu1.Top = 3, ; + Text_simplu1.Width = 220, ; + Lb_simplu1.Caption = "Cont", ; + Lb_simplu1.FontSize = 10, ; + Lb_simplu1.Name = "Lb_simplu1" + *< END OBJECT: ClassLib="lb_tx.vcx" BaseClass="container" /> + + ADD OBJECT 'Clb_tx_simplu2' AS clb_tx_simplu WITH ; + Left = 18, ; + Name = "Clb_tx_simplu2", ; + TabIndex = 8, ; + TabStop = .F., ; + Top = 109, ; + ZOrderSet = 7, ; + Text_simplu1.BackColor = 255,255,255, ; + Text_simplu1.BackStyle = 0, ; + Text_simplu1.DisabledBackColor = 255,255,255, ; + Text_simplu1.DisabledForeColor = 255,255,255, ; + Text_simplu1.FontItalic = .T., ; + Text_simplu1.ForeColor = 0,0,0, ; + Text_simplu1.Height = 23, ; + Text_simplu1.Left = 65, ; + Text_simplu1.Name = "Text_simplu1", ; + Text_simplu1.ReadOnly = .T., ; + Text_simplu1.Top = 3, ; + Text_simplu1.Width = 220, ; + Lb_simplu1.Caption = "Lucrare", ; + Lb_simplu1.FontSize = 10, ; + Lb_simplu1.Name = "Lb_simplu1" + *< END OBJECT: ClassLib="lb_tx.vcx" BaseClass="container" /> + + ADD OBJECT 'Clb_tx_simplu3' AS clb_tx_simplu WITH ; + Height = 29, ; + Left = 18, ; + Name = "Clb_tx_simplu3", ; + TabIndex = 1, ; + Top = 44, ; + Width = 326, ; + Text_simplu1.ControlSource = "thisform.lcTitlu", ; + Text_simplu1.Height = 23, ; + Text_simplu1.Left = 73, ; + Text_simplu1.Name = "Text_simplu1", ; + Text_simplu1.Top = 3, ; + Text_simplu1.Width = 249, ; + Lb_simplu1.Caption = "Titlu raport", ; + Lb_simplu1.FontSize = 10, ; + Lb_simplu1.Name = "Lb_simplu1" + *< END OBJECT: ClassLib="lb_tx.vcx" BaseClass="container" /> + + PROCEDURE do_lanscont + private lcCont,lnEActiv + STORE "" TO lcCont + STORE .F. TO lnEActiv + DO Alege_Cont WITH lcCont,lnEActiv + + IF !EMPTY(lcCont) + this.clb_tx_simplu1.text_simplu1.Value = lcCont + this.lccont = lcCont + this.llactiv = lnEActiv + ENDIF + + ENDPROC + + PROCEDURE do_lanslucrare + PRIVATE pcval,pnbuton,pcselect,pcfiltru,oRetObj + STORE "" TO oRetObj + pcselect = [select id_lucrare, nrord from vlucrari_validat] + pcfiltru = [1=2] + pcschema = [] + pcorder = [nrord] + pccoloane = [nrord] + pcTitlu = [Alegeti lucrarea/contractul] + pcFiltruOriginal = [validat = 0 and inactiv = 0] + oRetObj = cauta_alfa(pcselect,pcfiltru,pcschema,pcorder,pccoloane,pcTitlu,pcTitlu,[],.T.,pcFiltruOriginal) && 11.07.2007 + lnIdLucrare = IIF(EMPTY(oRetObj.id_lucrare), 0, oRetObj.id_lucrare) + this.clb_tx_simplu2.text_simplu1.Value = oRetObj.nrord + this.lnidLucrare = lnIdLucrare + + + + ENDPROC + +ENDDEFINE + +DEFINE CLASS frm_facturi_scadente AS _frmbase OF "_frm_base.vcx" + *< CLASSDATA: Baseclass="form" Timestamp="" Scale="Pixels" Uniqueid="" /> + + *-- OBJECTDATA items order determines ZOrder / El orden de los items OBJECTDATA determina el ZOrder + *< OBJECTDATA: ObjPath="Shape4" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="Shape3" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="Shape2" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="Shape1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="But_renunt1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="lbl_text1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="txt_dataref" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="lbl_text2" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="optluni" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="_lbbase2" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="txtPenalitati" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="_lbbase1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="lbl_text3" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="txt_datamax" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="_lbbase5" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="_lbbase4" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="chkPenalitatiTot" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="chkPenalitatiNegativ" UniqueID="" Timestamp="" /> + + * + *m: calcul_datamax + * + + * + BorderStyle = 3 + DoCreate = .T. + Height = 322 + Name = "frm_facturi_scadente" + Width = 290 + _shape1.Height = 29 + _shape1.Left = 0 + _shape1.Name = "_shape1" + _shape1.Top = 0 + _shape1.Width = 380 + _shape1.ZOrderSet = 3 + _shape2.Height = 29 + _shape2.Left = 230 + _shape2.Name = "_shape2" + _shape2.Top = 0 + _shape2.Width = 61 + _shape2.ZOrderSet = 4 + Lb_titlu_alb_b121.Caption = "Facturi scadente" + Lb_titlu_alb_b121.Name = "Lb_titlu_alb_b121" + Lb_titlu_alb_b121.TabIndex = 11 + Lb_titlu_alb_b121.ZOrderSet = 5 + BUT_TERMIN1.Left = 260 + BUT_TERMIN1.Name = "BUT_TERMIN1" + BUT_TERMIN1.TabIndex = 8 + BUT_TERMIN1.Top = 1 + BUT_TERMIN1.ZOrderSet = 6 + Gridsort1.Name = "Gridsort1" + * + + ADD OBJECT '_lbbase1' AS _lbbase WITH ; + Alignment = 0, ; + AutoSize = .F., ; + BackColor = 255,255,255, ; + BackStyle = 0, ; + Caption = "Procent penalitati (%):", ; + FontName = "Arial Narrow", ; + FontSize = 10, ; + Height = 18, ; + Left = 17, ; + Name = "_lbbase1", ; + TabIndex = 10, ; + Top = 248, ; + Width = 183, ; + ZOrderSet = 12 + *< END OBJECT: ClassLib="_lb_base.vcx" BaseClass="label" /> + + ADD OBJECT '_lbbase2' AS _lbbase WITH ; + Alignment = 2, ; + AutoSize = .F., ; + BackColor = 255,255,255, ; + BackStyle = 1, ; + BorderStyle = 0, ; + Caption = "Penalitati", ; + FontName = "Arial Narrow", ; + FontSize = 10, ; + Height = 18, ; + Left = 19, ; + Name = "_lbbase2", ; + TabIndex = 16, ; + Top = 226, ; + Width = 50, ; + ZOrderSet = 12 + *< END OBJECT: ClassLib="_lb_base.vcx" BaseClass="label" /> + + ADD OBJECT '_lbbase4' AS _lbbase WITH ; + Alignment = 2, ; + AutoSize = .F., ; + BackColor = 255,255,255, ; + BackStyle = 1, ; + BorderStyle = 0, ; + Caption = "Fata de data", ; + FontName = "Arial Narrow", ; + FontSize = 10, ; + Height = 18, ; + Left = 19, ; + Name = "_lbbase4", ; + TabIndex = 15, ; + Top = 55, ; + Width = 68, ; + ZOrderSet = 14 + *< END OBJECT: ClassLib="_lb_base.vcx" BaseClass="label" /> + + ADD OBJECT '_lbbase5' AS _lbbase WITH ; + Alignment = 2, ; + AutoSize = .F., ; + BackColor = 255,255,255, ; + BackStyle = 1, ; + Caption = "Facturi cu data scadenta mai veche de:", ; + FontName = "Arial Narrow", ; + FontSize = 10, ; + Height = 18, ; + Left = 17, ; + Name = "_lbbase5", ; + TabIndex = 3, ; + Top = 188, ; + Width = 183, ; + ZOrderSet = 12 + *< END OBJECT: ClassLib="_lb_base.vcx" BaseClass="label" /> + + ADD OBJECT 'But_renunt1' AS but_renunt WITH ; + Left = 231, ; + Name = "But_renunt1", ; + TabIndex = 9, ; + Top = 1, ; + ZOrderSet = 7 + *< END OBJECT: ClassLib="cmd_butoane.vcx" BaseClass="commandbutton" /> + + ADD OBJECT 'chkPenalitatiNegativ' AS _checkbox WITH ; + Alignment = 0, ; + AutoSize = .T., ; + Caption = "Se calculeaza penalitati la sold negativ", ; + FontCharSet = 1, ; + FontName = "Arial Narrow", ; + FontSize = 10, ; + Height = 18, ; + Left = 17, ; + Name = "chkPenalitatiNegativ", ; + TabIndex = 7, ; + Top = 288, ; + Width = 196, ; + WordWrap = .T. + *< END OBJECT: ClassLib="_baza.vcx" BaseClass="checkbox" /> + + ADD OBJECT 'chkPenalitatiTot' AS _checkbox WITH ; + Alignment = 0, ; + AutoSize = .T., ; + Caption = "Se afiseaza si facturile in termen fara penalitati", ; + FontCharSet = 1, ; + FontName = "Arial Narrow", ; + FontSize = 10, ; + Height = 18, ; + Left = 17, ; + Name = "chkPenalitatiTot", ; + TabIndex = 6, ; + Top = 269, ; + Width = 230, ; + WordWrap = .T. + *< END OBJECT: ClassLib="_baza.vcx" BaseClass="checkbox" /> + + ADD OBJECT 'lbl_text1' AS _lbbase WITH ; + Caption = "Afiseaza facturi care au depasit termenul de scadenta", ; + FontName = "Arial Narrow", ; + FontSize = 10, ; + Left = 12, ; + Name = "lbl_text1", ; + TabIndex = 12, ; + Top = 36, ; + ZOrderSet = 8 + *< END OBJECT: ClassLib="_lb_base.vcx" BaseClass="label" /> + + ADD OBJECT 'lbl_text2' AS _lbbase WITH ; + Alignment = 2, ; + AutoSize = .F., ; + BackColor = 255,255,255, ; + BackStyle = 1, ; + BorderStyle = 0, ; + Caption = "Cu mai mult de", ; + FontName = "Arial Narrow", ; + FontSize = 10, ; + Height = 18, ; + Left = 19, ; + Name = "lbl_text2", ; + TabIndex = 13, ; + Top = 112, ; + Width = 80, ; + ZOrderSet = 10 + *< END OBJECT: ClassLib="_lb_base.vcx" BaseClass="label" /> + + ADD OBJECT 'lbl_text3' AS _lbbase WITH ; + Alignment = 2, ; + AutoSize = .F., ; + BackColor = 255,255,255, ; + BackStyle = 1, ; + BorderStyle = 0, ; + Caption = "Afiseaza", ; + FontName = "Arial Narrow", ; + FontSize = 10, ; + Height = 18, ; + Left = 19, ; + Name = "lbl_text3", ; + TabIndex = 14, ; + Top = 166, ; + Width = 50, ; + ZOrderSet = 12 + *< END OBJECT: ClassLib="_lb_base.vcx" BaseClass="label" /> + + ADD OBJECT 'optluni' AS optiongroup WITH ; + BackStyle = 0, ; + BorderColor = 0,0,0, ; + BorderStyle = 0, ; + ButtonCount = 4, ; + Height = 25, ; + Left = 33, ; + Name = "optluni", ; + SpecialEffect = 1, ; + TabIndex = 2, ; + Top = 130, ; + Value = 1, ; + Width = 240, ; + ZOrderSet = 11, ; + Option1.AutoSize = .T., ; + Option1.BackStyle = 0, ; + Option1.Caption = "0 luni", ; + Option1.FontName = "Arial Narrow", ; + Option1.FontSize = 10, ; + Option1.Height = 18, ; + Option1.Left = 5, ; + Option1.Name = "Option1", ; + Option1.Top = 5, ; + Option1.Value = 1, ; + Option1.Width = 43, ; + Option2.AutoSize = .T., ; + Option2.BackStyle = 0, ; + Option2.Caption = "1 luna", ; + Option2.FontName = "Arial Narrow", ; + Option2.FontSize = 10, ; + Option2.Height = 18, ; + Option2.Left = 60, ; + Option2.Name = "Option2", ; + Option2.Top = 5, ; + Option2.Width = 47, ; + Option3.BackColor = 255,255,255, ; + Option3.Caption = "2 luni", ; + Option3.FontName = "Arial Narrow", ; + Option3.FontSize = 10, ; + Option3.Height = 17, ; + Option3.Left = 119, ; + Option3.Name = "Option3", ; + Option3.Top = 5, ; + Option3.Width = 50, ; + Option4.BackColor = 255,255,255, ; + Option4.Caption = "3 luni", ; + Option4.FontName = "Arial Narrow", ; + Option4.FontSize = 10, ; + Option4.Height = 17, ; + Option4.Left = 181, ; + Option4.Name = "Option4", ; + Option4.Top = 5, ; + Option4.Width = 50 + *< END OBJECT: BaseClass="optiongroup" /> + + ADD OBJECT 'Shape1' AS shape WITH ; + BackColor = 255,255,255, ; + Height = 40, ; + Left = 12, ; + Name = "Shape1", ; + Top = 64, ; + Width = 157, ; + ZOrderSet = 2 + *< END OBJECT: BaseClass="shape" /> + + ADD OBJECT 'Shape2' AS shape WITH ; + BackColor = 255,255,255, ; + Height = 40, ; + Left = 12, ; + Name = "Shape2", ; + Top = 120, ; + Width = 266, ; + ZOrderSet = 1 + *< END OBJECT: BaseClass="shape" /> + + ADD OBJECT 'Shape3' AS shape WITH ; + BackColor = 255,255,255, ; + BorderColor = 0,0,0, ; + Height = 40, ; + Left = 12, ; + Name = "Shape3", ; + Top = 176, ; + Width = 267, ; + ZOrderSet = 0 + *< END OBJECT: BaseClass="shape" /> + + ADD OBJECT 'Shape4' AS shape WITH ; + BackColor = 255,255,255, ; + BorderColor = 0,0,0, ; + Height = 83, ; + Left = 12, ; + Name = "Shape4", ; + Top = 236, ; + Width = 267, ; + ZOrderSet = 0 + *< END OBJECT: BaseClass="shape" /> + + ADD OBJECT 'txt_datamax' AS _txbase WITH ; + BackColor = 255,255,255, ; + Enabled = .F., ; + FontName = "Arial", ; + Height = 23, ; + Left = 202, ; + Name = "txt_datamax", ; + TabIndex = 4, ; + Top = 185, ; + Width = 72, ; + ZOrderSet = 13 + *< END OBJECT: ClassLib="_tx_base.vcx" BaseClass="textbox" /> + + ADD OBJECT 'txt_dataref' AS _txbase WITH ; + FontName = "Arial", ; + Height = 23, ; + Left = 90, ; + Name = "txt_dataref", ; + TabIndex = 1, ; + Top = 74, ; + Width = 72, ; + ZOrderSet = 9 + *< END OBJECT: ClassLib="_tx_base.vcx" BaseClass="textbox" /> + + ADD OBJECT 'txtPenalitati' AS _txbase WITH ; + BackColor = 255,255,255, ; + Enabled = .T., ; + FontName = "Arial", ; + Height = 23, ; + Left = 202, ; + Name = "txtPenalitati", ; + TabIndex = 5, ; + Top = 245, ; + Width = 72, ; + ZOrderSet = 13 + *< END OBJECT: ClassLib="_tx_base.vcx" BaseClass="textbox" /> + + PROCEDURE calcul_datamax + LOCAL lnnrluni,lddataref + + lddataref = thisform.txt_dataref.value + lnnrluni = thisform.optluni.value - 1 + + thisform.txt_datamax.Value = GOMONTH(lddataref,-lnnrluni) + thisform.txt_datamax.refresh + + + + ENDPROC + + PROCEDURE Init + LPARAMETERS tlPenalitati + + * tlPenalitati = .T. daca se afiseaza sectiunea penalitati + + *** ascund sectiunea penalitati + IF PCOUNT() = 0 OR tlPenalitati = .F. + This.Height = 225 + this.txtPenalitati.Enabled = .F. + this.chkPenalitatiTot.Enabled = .F. + this.chkPenalitatiNegativ.Enabled = .F. + ENDIF + ENDPROC + + PROCEDURE optluni.Valid + thisform.calcul_datamax + pnnrluni = this.Value -1 + + ENDPROC + + PROCEDURE txt_dataref.Valid + IF this.Value > DATE() + aMESSAGEBOX('Data incorecta! Data maxima este data curenta.',0+48,"Atentie") + RETURN .F. + ELSE + thisform.calcul_datamax + ENDIF + + ENDPROC + +ENDDEFINE + +DEFINE CLASS frm_istoric_clienti AS _frmbase OF "_frm_base.vcx" + *< CLASSDATA: Baseclass="form" Timestamp="" Scale="Pixels" Uniqueid="" /> + + *-- OBJECTDATA items order determines ZOrder / El orden de los items OBJECTDATA determina el ZOrder + *< OBJECTDATA: ObjPath="grd_facturi" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="grd_facturi.cNr_factura.Header1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="grd_facturi.cNr_factura.Text1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="grd_facturi.cData_factura.Header1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="grd_facturi.cData_factura.Text1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="grd_facturi.cSuma_factura.Header1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="grd_facturi.cSuma_factura.Text1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="grd_facturi.cSuma_val_factura.Header1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="grd_facturi.cSuma_val_factura.Text1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="grd_facturi.cNume_val.Header1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="grd_facturi.cNume_val.Text1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="grd_facturi.cSerie_factura.Header1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="grd_facturi.cSerie_factura.Text1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="grd_facturi.cIncasat.Header1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="grd_facturi.cIncasat.Text1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="LB_SIMPLU1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="opt_incasate" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="But_reset_criterii1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="Ck_nr_factura" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="Ck_serie_factura" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="Ck_data_factura" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="grd_incasari" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="grd_incasari.cNr_incasare.Header1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="grd_incasari.cNr_incasare.Text1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="grd_incasari.cData_incasare.Header1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="grd_incasari.cData_incasare.Text1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="grd_incasari.cIncasat.Header1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="grd_incasari.cIncasat.Text1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="grd_incasari.cIncasat_val.Header1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="grd_incasari.cIncasat_val.Text1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="grd_incasari.cNume_val_inc.Header1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="grd_incasari.cNume_val_inc.Text1" UniqueID="" Timestamp="" /> + + * + *m: do_arata_meniu + *m: do_deschide_document + * + + * + cgridsortlist = grd_facturi + DoCreate = .T. + Height = 489 + Name = "frm_istoric_clienti" + Width = 779 + WindowState = 2 + _SHAPE1.Anchor = 10 + _SHAPE1.Height = 29 + _SHAPE1.Left = 0 + _SHAPE1.Name = "_SHAPE1" + _SHAPE1.Top = 0 + _SHAPE1.Width = 780 + _SHAPE2.Anchor = 9 + _SHAPE2.Height = 29 + _SHAPE2.Left = 719 + _SHAPE2.Name = "_SHAPE2" + _SHAPE2.Top = 0 + _SHAPE2.Width = 60 + LB_TITLU_ALB_B121.Caption = "Istoric facturi" + LB_TITLU_ALB_B121.Name = "LB_TITLU_ALB_B121" + BUT_TERMIN1.Anchor = 9 + BUT_TERMIN1.Left = 749 + BUT_TERMIN1.Name = "BUT_TERMIN1" + BUT_TERMIN1.Top = 1 + GRIDSORT1.Left = 756 + GRIDSORT1.Name = "GRIDSORT1" + GRIDSORT1.Top = 48 + * + + ADD OBJECT 'But_reset_criterii1' AS but_reset_criterii WITH ; + Anchor = 9, ; + Left = 720, ; + Name = "But_reset_criterii1", ; + Top = 1 + *< END OBJECT: ClassLib="ocriterii.vcx" BaseClass="commandbutton" /> + + ADD OBJECT 'Ck_data_factura' AS ck_filtru_numar WITH ; + Alignment = 0, ; + camp_nume = data_factura, ; + Caption = "Data factura", ; + Left = 17, ; + Name = "Ck_data_factura", ; + tip = D, ; + Top = 66 + *< END OBJECT: ClassLib="caut_ora.vcx" BaseClass="checkbox" /> + + ADD OBJECT 'Ck_nr_factura' AS ck_filtru_numar WITH ; + Alignment = 0, ; + camp_nume = nr_factura, ; + Caption = "Nr.factura", ; + Left = 17, ; + Name = "Ck_nr_factura", ; + Top = 50 + *< END OBJECT: ClassLib="caut_ora.vcx" BaseClass="checkbox" /> + + ADD OBJECT 'Ck_serie_factura' AS ck_filtru_text WITH ; + Alignment = 0, ; + camp_nume = serie_factura, ; + Caption = "Serie factura", ; + Left = 17, ; + Name = "Ck_serie_factura", ; + Top = 33 + *< END OBJECT: ClassLib="caut_ora.vcx" BaseClass="checkbox" /> + + ADD OBJECT 'grd_facturi' AS _grdrow WITH ; + Anchor = 15, ; + ColumnCount = 7, ; + DeleteMark = .F., ; + FontSize = 10, ; + HeaderHeight = 38, ; + Height = 374, ; + Left = 11, ; + Name = "grd_facturi", ; + Panel = 1, ; + RecordSource = "crsistoric", ; + RowHeight = 19, ; + Top = 96, ; + Width = 420, ; + Column1.ColumnOrder = 2, ; + Column1.ControlSource = "nr_factura", ; + Column1.FontName = "Arial", ; + Column1.FontSize = 10, ; + Column1.Name = "cNr_factura", ; + Column1.Width = 113, ; + Column2.ColumnOrder = 3, ; + Column2.ControlSource = "data_factura", ; + Column2.FontName = "Arial", ; + Column2.FontSize = 10, ; + Column2.Name = "cData_factura", ; + Column2.Width = 86, ; + Column3.ColumnOrder = 4, ; + Column3.ControlSource = "suma_factura", ; + Column3.FontName = "Arial", ; + Column3.FontSize = 10, ; + Column3.InputMask = (get_mask(14,gnPa)), ; + Column3.Name = "cSuma_factura", ; + Column3.Width = 84, ; + Column4.ColumnOrder = 5, ; + Column4.ControlSource = "suma_val_factura", ; + Column4.FontName = "Arial", ; + Column4.FontSize = 10, ; + Column4.InputMask = (get_mask(14,gnPVal)), ; + Column4.Name = "cSuma_val_factura", ; + Column4.Width = 97, ; + Column5.ColumnOrder = 6, ; + Column5.ControlSource = "nume_val", ; + Column5.FontName = "Arial", ; + Column5.FontSize = 10, ; + Column5.Name = "cNume_val", ; + Column5.Width = 47, ; + Column6.ColumnOrder = 1, ; + Column6.ControlSource = "serie_factura", ; + Column6.FontName = "Arial", ; + Column6.FontSize = 10, ; + Column6.Name = "cSerie_factura", ; + Column6.Width = 77, ; + Column7.ControlSource = "incasat", ; + Column7.FontName = "Arial", ; + Column7.FontSize = 10, ; + Column7.InputMask = (get_mask(14,gnPa)), ; + Column7.Name = "cIncasat", ; + Column7.Width = 101 + *< END OBJECT: ClassLib="_grd_base.vcx" BaseClass="grid" /> + + ADD OBJECT 'grd_facturi.cData_factura.Header1' AS header WITH ; + Alignment = 2, ; + Caption = "Data factura", ; + FontName = "Arial", ; + FontSize = 10, ; + Name = "Header1" + *< END OBJECT: BaseClass="header" /> + + ADD OBJECT 'grd_facturi.cData_factura.Text1' AS textbox WITH ; + BackColor = 255,255,255, ; + BorderStyle = 0, ; + FontName = "Arial", ; + FontSize = 10, ; + ForeColor = 0,0,0, ; + Margin = 0, ; + Name = "Text1", ; + SelectedBackColor = 100,185,255 + *< END OBJECT: BaseClass="textbox" /> + + ADD OBJECT 'grd_facturi.cIncasat.Header1' AS header WITH ; + Alignment = 2, ; + Caption = "Incasat", ; + FontName = "Arial", ; + FontSize = 10, ; + Name = "Header1" + *< END OBJECT: BaseClass="header" /> + + ADD OBJECT 'grd_facturi.cIncasat.Text1' AS textbox WITH ; + BackColor = 255,255,255, ; + BorderStyle = 0, ; + FontName = "Arial", ; + FontSize = 10, ; + ForeColor = 0,0,0, ; + Margin = 0, ; + Name = "Text1", ; + SelectedBackColor = 100,185,255 + *< END OBJECT: BaseClass="textbox" /> + + ADD OBJECT 'grd_facturi.cNr_factura.Header1' AS header WITH ; + Alignment = 2, ; + Caption = "Nr. factura", ; + FontName = "Arial", ; + FontSize = 10, ; + Name = "Header1" + *< END OBJECT: BaseClass="header" /> + + ADD OBJECT 'grd_facturi.cNr_factura.Text1' AS textbox WITH ; + BackColor = 255,255,255, ; + BorderStyle = 0, ; + FontName = "Arial", ; + FontSize = 10, ; + ForeColor = 0,0,0, ; + Margin = 0, ; + Name = "Text1", ; + SelectedBackColor = 100,185,255 + *< END OBJECT: BaseClass="textbox" /> + + ADD OBJECT 'grd_facturi.cNume_val.Header1' AS header WITH ; + Alignment = 2, ; + Caption = "Valuta", ; + FontName = "Arial", ; + FontSize = 10, ; + Name = "Header1" + *< END OBJECT: BaseClass="header" /> + + ADD OBJECT 'grd_facturi.cNume_val.Text1' AS textbox WITH ; + BackColor = 255,255,255, ; + BorderStyle = 0, ; + FontName = "Arial", ; + FontSize = 10, ; + ForeColor = 0,0,0, ; + Margin = 0, ; + Name = "Text1", ; + SelectedBackColor = 100,185,255 + *< END OBJECT: BaseClass="textbox" /> + + ADD OBJECT 'grd_facturi.cSerie_factura.Header1' AS header WITH ; + Alignment = 2, ; + Caption = "Serie factura", ; + FontName = "Arial", ; + FontSize = 10, ; + Name = "Header1" + *< END OBJECT: BaseClass="header" /> + + ADD OBJECT 'grd_facturi.cSerie_factura.Text1' AS textbox WITH ; + BackColor = 255,255,255, ; + BorderStyle = 0, ; + FontName = "Arial", ; + FontSize = 10, ; + ForeColor = 0,0,0, ; + Margin = 0, ; + Name = "Text1", ; + SelectedBackColor = 100,185,255 + *< END OBJECT: BaseClass="textbox" /> + + ADD OBJECT 'grd_facturi.cSuma_factura.Header1' AS header WITH ; + Alignment = 2, ; + Caption = "Suma in lei", ; + FontName = "Arial", ; + FontSize = 10, ; + Name = "Header1" + *< END OBJECT: BaseClass="header" /> + + ADD OBJECT 'grd_facturi.cSuma_factura.Text1' AS textbox WITH ; + BackColor = 255,255,255, ; + BorderStyle = 0, ; + FontName = "Arial", ; + FontSize = 10, ; + ForeColor = 0,0,0, ; + Margin = 0, ; + Name = "Text1", ; + SelectedBackColor = 100,185,255 + *< END OBJECT: BaseClass="textbox" /> + + ADD OBJECT 'grd_facturi.cSuma_val_factura.Header1' AS header WITH ; + Alignment = 2, ; + Caption = "Suma in valuta", ; + FontName = "Arial", ; + FontSize = 10, ; + Name = "Header1" + *< END OBJECT: BaseClass="header" /> + + ADD OBJECT 'grd_facturi.cSuma_val_factura.Text1' AS textbox WITH ; + BackColor = 255,255,255, ; + BorderStyle = 0, ; + FontName = "Arial", ; + FontSize = 10, ; + ForeColor = 0,0,0, ; + Margin = 0, ; + Name = "Text1", ; + SelectedBackColor = 100,185,255 + *< END OBJECT: BaseClass="textbox" /> + + ADD OBJECT 'grd_incasari' AS _grdrow WITH ; + Anchor = 8, ; + ColumnCount = 5, ; + DeleteMark = .F., ; + FontSize = 10, ; + HeaderHeight = 36, ; + Height = 374, ; + Left = 436, ; + Name = "grd_incasari", ; + Panel = 1, ; + RecordSource = "crsincasari", ; + RowHeight = 19, ; + Top = 96, ; + Width = 336, ; + Column1.ColumnOrder = 1, ; + Column1.ControlSource = "nr_incasare", ; + Column1.FontName = "Arial", ; + Column1.FontSize = 10, ; + Column1.Name = "cNr_incasare", ; + Column1.Width = 74, ; + Column2.ColumnOrder = 2, ; + Column2.ControlSource = "TTOD(data_incasare)", ; + Column2.FontName = "Arial", ; + Column2.FontSize = 10, ; + Column2.Name = "cData_incasare", ; + Column2.Width = 84, ; + Column3.ColumnOrder = 3, ; + Column3.ControlSource = "incasat", ; + Column3.FontName = "Arial", ; + Column3.FontSize = 10, ; + Column3.InputMask = (get_mask(14,gnPa)), ; + Column3.Name = "cIncasat", ; + Column3.Width = 95, ; + Column4.ColumnOrder = 4, ; + Column4.ControlSource = "incasat_val", ; + Column4.FontName = "Arial", ; + Column4.FontSize = 10, ; + Column4.InputMask = (get_mask(14,gnPVal)), ; + Column4.Name = "cIncasat_val", ; + Column4.Width = 95, ; + Column5.ColumnOrder = 5, ; + Column5.ControlSource = "nume_val_inc", ; + Column5.FontName = "Arial", ; + Column5.FontSize = 10, ; + Column5.Name = "cNume_val_inc", ; + Column5.Width = 61 + *< END OBJECT: ClassLib="_grd_base.vcx" BaseClass="grid" /> + + ADD OBJECT 'grd_incasari.cData_incasare.Header1' AS header WITH ; + Alignment = 2, ; + Caption = "Data incasare", ; + FontName = "Arial", ; + FontSize = 10, ; + Name = "Header1" + *< END OBJECT: BaseClass="header" /> + + ADD OBJECT 'grd_incasari.cData_incasare.Text1' AS textbox WITH ; + BackColor = 255,255,255, ; + BorderStyle = 0, ; + FontName = "Arial", ; + FontSize = 10, ; + ForeColor = 0,0,0, ; + Margin = 0, ; + Name = "Text1", ; + SelectedBackColor = 100,185,255 + *< END OBJECT: BaseClass="textbox" /> + + ADD OBJECT 'grd_incasari.cIncasat.Header1' AS header WITH ; + Alignment = 2, ; + Caption = "Incasat", ; + FontName = "Arial", ; + FontSize = 10, ; + Name = "Header1" + *< END OBJECT: BaseClass="header" /> + + ADD OBJECT 'grd_incasari.cIncasat.Text1' AS textbox WITH ; + BackColor = 255,255,255, ; + BorderStyle = 0, ; + FontName = "Arial", ; + FontSize = 10, ; + ForeColor = 0,0,0, ; + Margin = 0, ; + Name = "Text1", ; + SelectedBackColor = 100,185,255 + *< END OBJECT: BaseClass="textbox" /> + + ADD OBJECT 'grd_incasari.cIncasat_val.Header1' AS header WITH ; + Alignment = 2, ; + Caption = "Incasat in valuta", ; + FontName = "Arial", ; + FontSize = 10, ; + Name = "Header1" + *< END OBJECT: BaseClass="header" /> + + ADD OBJECT 'grd_incasari.cIncasat_val.Text1' AS textbox WITH ; + BackColor = 255,255,255, ; + BorderStyle = 0, ; + FontName = "Arial", ; + FontSize = 10, ; + ForeColor = 0,0,0, ; + Margin = 0, ; + Name = "Text1", ; + SelectedBackColor = 100,185,255 + *< END OBJECT: BaseClass="textbox" /> + + ADD OBJECT 'grd_incasari.cNr_incasare.Header1' AS header WITH ; + Alignment = 2, ; + Caption = "Nr. incasare", ; + FontName = "Arial", ; + FontSize = 10, ; + Name = "Header1" + *< END OBJECT: BaseClass="header" /> + + ADD OBJECT 'grd_incasari.cNr_incasare.Text1' AS textbox WITH ; + BackColor = 255,255,255, ; + BorderStyle = 0, ; + FontName = "Arial", ; + FontSize = 10, ; + ForeColor = 0,0,0, ; + Margin = 0, ; + Name = "Text1", ; + SelectedBackColor = 100,185,255 + *< END OBJECT: BaseClass="textbox" /> + + ADD OBJECT 'grd_incasari.cNume_val_inc.Header1' AS header WITH ; + Alignment = 2, ; + Caption = "Valuta incasare", ; + FontName = "Arial", ; + FontSize = 10, ; + Name = "Header1", ; + WordWrap = .T. + *< END OBJECT: BaseClass="header" /> + + ADD OBJECT 'grd_incasari.cNume_val_inc.Text1' AS textbox WITH ; + BackColor = 255,255,255, ; + BorderStyle = 0, ; + FontName = "Arial", ; + FontSize = 10, ; + ForeColor = 0,0,0, ; + Margin = 0, ; + Name = "Text1", ; + SelectedBackColor = 100,185,255 + *< END OBJECT: BaseClass="textbox" /> + + ADD OBJECT 'LB_SIMPLU1' AS lb_simplu WITH ; + Caption = ' Pentru a vizualiza documentele salvate in baza de date, trebuie sa faceti click dreapta pe coloana "Nr.factura" ( doar inregistrarile colorate au atasamente ).', ; + FontSize = 8, ; + Height = 30, ; + Left = 122, ; + Name = "LB_SIMPLU1", ; + Top = 65, ; + Width = 641, ; + WordWrap = .T. + *< END OBJECT: ClassLib="lb.vcx" BaseClass="label" /> + + ADD OBJECT 'opt_incasate' AS _optiongrup WITH ; + ButtonCount = 5, ; + Height = 27, ; + Left = 123, ; + Name = "opt_incasate", ; + Top = 33, ; + Width = 613, ; + Option1.Caption = "Toate", ; + Option1.Left = 5, ; + Option1.Name = "Option1", ; + Option1.Top = 5, ; + Option2.AutoSize = .T., ; + Option2.Caption = "Neincasate", ; + Option2.Left = 75, ; + Option2.Name = "Option2", ; + Option2.Top = 5, ; + Option3.AutoSize = .T., ; + Option3.BackColor = 255,255,255, ; + Option3.Caption = "Incasate partial", ; + Option3.Height = 17, ; + Option3.Left = 171, ; + Option3.Name = "Option3", ; + Option3.Top = 5, ; + Option3.Width = 102, ; + Option4.AutoSize = .T., ; + Option4.BackColor = 255,255,255, ; + Option4.Caption = "Neincasate sau incasate partial", ; + Option4.Height = 17, ; + Option4.Left = 291, ; + Option4.Name = "Option4", ; + Option4.Top = 5, ; + Option4.Width = 192, ; + Option5.AutoSize = .T., ; + Option5.BackColor = 255,255,255, ; + Option5.Caption = "Incasate complet", ; + Option5.Height = 17, ; + Option5.Left = 496, ; + Option5.Name = "Option5", ; + Option5.Top = 5, ; + Option5.Width = 112 + *< END OBJECT: ClassLib="_baza.vcx" BaseClass="optiongroup" /> + + PROCEDURE actualizeaza_grid2 + Lparameters tnIdFact + If !Empty(tnIdFact) + lcFiltru = [id_fact = ] + Alltrim(Str(tnIdFact)) + Else + lcFiltru = [1=2] + Endif + Select crsincasari + Set Filter To &lcFiltru + Go Top + Thisform.grd_incasari.Refresh() + + ENDPROC + + PROCEDURE do_arata_meniu + Local lnCod,lnNrAct,lcSerie + Select crsistoric + lnCod = cod + lnNrAct = nr_factura + lcSerie = Alltrim(Nvl(serie_factura,[])) + If Used('crsmeniu') + Use In crsmeniu + Endif + lcSql = [select a.id_at_vanz,a.tip,a.tip_doc from ] + gcS + [.vatasamente_vanzari a where a.cod = ] + Alltrim(Str(lnCod)) + [ order by a.tip] + lnSucces = goExecutor.oExecute(lcSql,[crsmeniu]) + If lnSucces < 0 + amessagebox(goExecutor.cEroare,16,"Eroare") + Else + Do Case + Case Reccount('crsmeniu') = 1 + Thisform.do_deschide_document(crsmeniu.id_at_vanz,crsmeniu.tip_doc,lnNrAct) + Case Reccount('crsmeniu')>0 + lcMeniu = [] + Select crsmeniu + Scan + lcMeniu = lcMeniu + [;] + Alltrim(tip_doc) + Endscan + x = xmenu(Substr(lcMeniu,2)) + Select crsmeniu + Go x + Thisform.do_deschide_document(crsmeniu.id_at_vanz,crsmeniu.tip_doc,lnNrAct) + Otherwise + amessagebox("Nu exista documente salvate in baza de date pentru factura "+lcSerie+" "+Alltrim(Str(lnNrAct,14,0)) + " !",48,"Atentie") + Endcase + Use In crsmeniu + Endif + ENDPROC + + PROCEDURE do_cauta + Local lcFiltru + lnOptiune = Thisform.opt_incasate.Value + lcFiltru = [2=2] + + If Thisform.ck_serie_factura.Value = 1 + lcFiltru = lcFiltru + Thisform.ck_serie_factura.filtru_vfp + Endif + + If Thisform.ck_nr_factura.Value = 1 + lcFiltru = lcFiltru + Thisform.ck_nr_factura.filtru_vfp + Endif + + If Thisform.ck_data_factura.Value = 1 + lcFiltru = lcFiltru + Thisform.ck_data_factura.filtru_vfp + Endif + + Do Case + Case lnOptiune = 1 + lcFiltru = lcFiltru + [ AND 2=2] + Case lnOptiune = 2 + lcFiltru = lcFiltru + [ AND Nvl(sold,0) = suma_factura] + Case lnOptiune = 3 + lcFiltru = lcFiltru + [ AND Nvl(sold,0) <> 0 and suma_factura <> Nvl(sold,0)] + Case lnOptiune = 4 + lcFiltru = lcFiltru + [ AND Nvl(sold,0) <> 0] + Case lnOptiune = 5 + lcFiltru = lcFiltru + [ AND Nvl(sold,0) = 0] + Endcase + Select crsistoric + Set Filter To &lcFiltru + Go Top + Thisform.actualizeaza_grid2(id_fact) + Thisform.grd_facturi.Refresh() + ENDPROC + + PROCEDURE do_deschide_document + Lparameters tnIdAtVanz,tcTip,tnNrAct + If !Empty(tnIdAtVanz) + Private poDocument + Store "" To poDocument + If Used('crsat') + Use In crsat + Endif + + Thisform.AlwaysOnTop = .F. + Local loTherm + loTherm = Newobject("_thermometer","_therm","","Citire document din baza de date...") + loTherm.Show() + + lcSelect = [select document from ] + gcS + [.atasamente_vanzari where ] + lcFiltru = [id_at_vanz=]+Alltrim(Str(tnIdAtVanz)) + lcSchema = [document W] + lcOrder = [] + llAfisare = .F. + GENCURSOR('poDocument','crsat',lcSelect,lcFiltru,lcSchema,lcOrder,llAfisare) + loTherm.Update(40, "Citire document din baza de date...") + poDocument.ca_baza1.afisare() + loTherm.Update(55, "Citire document din baza de date...") + + lcFisier = gcTempPath + Alltrim(Str(tnNrAct,14,0)) + [_] + Alltrim(tcTip) + [.pdf] + loTherm.Update(65, "Testare creare fisier...") + If File(lcFisier) + Try + Delete File (lcFisier) + Catch To oException + lcFisier = Strtran(lcFisier,[.pdf],Ttoc(Datetime(),1)+[.pdf]) + Endtry + Endif + Select crsat + loTherm.Update(85, "Creare fisier...") + Strtofile(Document,lcFisier) + loTherm.Update(95, "Deschidere fisier...") + open_default_app(lcFisier) + loTherm.Complete() + Thisform.AlwaysOnTop = .T. + Use In crsat + Release poDocument,loTherm + Endif + ENDPROC + + PROCEDURE do_reset + Thisform.ck_serie_factura.Value = 0 + Thisform.ck_data_factura.Value = 0 + Thisform.ck_data_factura.Value = 0 + Thisform.opt_incasate.Value = 1 + Thisform.do_cauta() + + ENDPROC + + PROCEDURE Init + Lparameters tcTitlu + Thisform.lb_TITLU_ALB_B121.Caption = tcTitlu + Thisform.grd_facturi.cNr_factura.DynamicBackColor = [Iif(nratasamente<>0,Rgb(187,235,255),Rgb(255,255,255))] + lcCursor = Thisform.grd_facturi.RecordSource + Select (lcCursor) + Go Top + Thisform.Refresh() + DoDefault() + + ENDPROC + + PROCEDURE Ck_data_factura.InteractiveChange + DoDefault() + Thisform.do_cauta() + ENDPROC + + PROCEDURE Ck_nr_factura.InteractiveChange + DoDefault() + Thisform.do_cauta() + ENDPROC + + PROCEDURE Ck_serie_factura.InteractiveChange + DoDefault() + Thisform.do_cauta() + + ENDPROC + + PROCEDURE grd_facturi.AfterRowColChange + Lparameters nColIndex + DoDefault() + If This.RowColChange <> 2 + Select crsistoric + Thisform.actualizeaza_grid2(id_fact) + Endif + + ENDPROC + + PROCEDURE grd_facturi.cNr_factura.Text1.RightClick + Select crsistoric + If nratasamente <> 0 + Thisform.do_arata_meniu() + Endif + ENDPROC + + PROCEDURE opt_incasate.InteractiveChange + Thisform.do_cauta() + + ENDPROC + +ENDDEFINE + +DEFINE CLASS frm_istoric_terti AS _frmbase OF "_frm_base.vcx" + *< CLASSDATA: Baseclass="form" Timestamp="" Scale="Pixels" Uniqueid="" /> + + *-- OBJECTDATA items order determines ZOrder / El orden de los items OBJECTDATA determina el ZOrder + *< OBJECTDATA: ObjPath="grd_facturi" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="grd_facturi.cNr_factura.Header1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="grd_facturi.cNr_factura.Text1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="grd_facturi.cData_factura.Header1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="grd_facturi.cData_factura.Text1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="grd_facturi.cSuma_factura.Header1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="grd_facturi.cSuma_factura.Text1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="grd_facturi.cSuma_val_factura.Header1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="grd_facturi.cSuma_val_factura.Text1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="grd_facturi.cNume_val.Header1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="grd_facturi.cNume_val.Text1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="grd_facturi.cSerie_factura.Header1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="grd_facturi.cSerie_factura.Text1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="grd_facturi.cIncasat.Header1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="grd_facturi.cIncasat.Text1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="grd_facturi.cSold.Header1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="grd_facturi.cSold.Text1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="grd_facturi.cIncasatVal.Header1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="grd_facturi.cIncasatVal.Text1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="grd_facturi.cSoldVal.Header1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="grd_facturi.cSoldVal.Text1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="grd_facturi.cTip.Header1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="grd_facturi.cTip.Text1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="But_reset_criterii1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="Ck_nr_factura" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="Ck_serie_factura" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="Ck_data_factura" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="grd_incasari" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="grd_incasari.cNr_incasare.Header1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="grd_incasari.cNr_incasare.Text1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="grd_incasari.cData_incasare.Header1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="grd_incasari.cData_incasare.Text1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="grd_incasari.cIncasat.Header1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="grd_incasari.cIncasat.Text1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="grd_incasari.cIncasat_val.Header1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="grd_incasari.cIncasat_val.Text1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="grd_incasari.cNume_val_inc.Header1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="grd_incasari.cNume_val_inc.Text1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="cboSold" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="cboFacturi" UniqueID="" Timestamp="" /> + + * + *m: do_arata_meniu + *m: do_deschide_document + * + + * + cgridsortlist = grd_facturi + DoCreate = .T. + Height = 489 + Name = "frm_istoric_terti" + Width = 610 + WindowState = 2 + _SHAPE1.Anchor = 10 + _SHAPE1.Height = 29 + _SHAPE1.Left = 0 + _SHAPE1.Name = "_SHAPE1" + _SHAPE1.Top = 0 + _SHAPE1.Width = 613 + _SHAPE2.Anchor = 9 + _SHAPE2.Height = 29 + _SHAPE2.Left = 719 + _SHAPE2.Name = "_SHAPE2" + _SHAPE2.Top = 0 + _SHAPE2.Width = 60 + LB_TITLU_ALB_B121.Caption = "Istoric facturi" + LB_TITLU_ALB_B121.Name = "LB_TITLU_ALB_B121" + BUT_TERMIN1.Anchor = 9 + BUT_TERMIN1.Left = 580 + BUT_TERMIN1.Name = "BUT_TERMIN1" + BUT_TERMIN1.Top = 1 + GRIDSORT1.Left = 526 + GRIDSORT1.Name = "GRIDSORT1" + GRIDSORT1.Top = 43 + * + + ADD OBJECT 'But_reset_criterii1' AS but_reset_criterii WITH ; + Anchor = 9, ; + Left = 551, ; + Name = "But_reset_criterii1", ; + Top = 1 + *< END OBJECT: ClassLib="ocriterii.vcx" BaseClass="commandbutton" /> + + ADD OBJECT 'cboFacturi' AS _combobox WITH ; + BoundColumn = 2, ; + BoundTo = .T., ; + ColumnCount = 2, ; + ColumnLines = .F., ; + ColumnWidths = "100,0", ; + Height = 24, ; + Left = 490, ; + Name = "cboFacturi", ; + RowSource = "Facturi si incasari,1,Facturi,2,Incasari,3", ; + RowSourceType = 1, ; + Top = 39, ; + Width = 120 + *< END OBJECT: ClassLib="_baza.vcx" BaseClass="combobox" /> + + ADD OBJECT 'cboSold' AS _combobox WITH ; + BoundColumn = 2, ; + BoundTo = .T., ; + ColumnCount = 2, ; + ColumnLines = .F., ; + ColumnWidths = "200,0", ; + Height = 24, ; + Left = 288, ; + Name = "cboSold", ; + RowSource = "Toate facturile,1,Neincasate,2,Neincasate sau incasate partial,3,Incasate complet,4,Incasate partial,5", ; + RowSourceType = 1, ; + Top = 39, ; + Width = 192 + *< END OBJECT: ClassLib="_baza.vcx" BaseClass="combobox" /> + + ADD OBJECT 'Ck_data_factura' AS ck_filtru_numar WITH ; + Alignment = 0, ; + camp_nume = data_factura, ; + Caption = "Data factura", ; + Left = 194, ; + Name = "Ck_data_factura", ; + tip = D, ; + Top = 42 + *< END OBJECT: ClassLib="caut_ora.vcx" BaseClass="checkbox" /> + + ADD OBJECT 'Ck_nr_factura' AS ck_filtru_numar WITH ; + Alignment = 0, ; + camp_nume = nr_factura, ; + Caption = "Nr.factura", ; + Left = 112, ; + Name = "Ck_nr_factura", ; + Top = 42 + *< END OBJECT: ClassLib="caut_ora.vcx" BaseClass="checkbox" /> + + ADD OBJECT 'Ck_serie_factura' AS ck_filtru_text WITH ; + Alignment = 0, ; + camp_nume = serie_factura, ; + Caption = "Serie factura", ; + Left = 15, ; + Name = "Ck_serie_factura", ; + Top = 42 + *< END OBJECT: ClassLib="caut_ora.vcx" BaseClass="checkbox" /> + + ADD OBJECT 'grd_facturi' AS _grdrow WITH ; + Anchor = 15, ; + ColumnCount = 11, ; + DeleteMark = .F., ; + HeaderHeight = 38, ; + Height = 279, ; + Left = 11, ; + Name = "grd_facturi", ; + Panel = 1, ; + ReadOnly = .T., ; + RecordSource = "crsistoric", ; + RowHeight = 19, ; + Top = 69, ; + Width = 581, ; + Column1.ColumnOrder = 2, ; + Column1.ControlSource = "nr_factura", ; + Column1.FontName = "Arial", ; + Column1.FontSize = 10, ; + Column1.Name = "cNr_factura", ; + Column1.ReadOnly = .T., ; + Column1.ToolTipText = 'Pentru a vizualiza documentele salvate in baza de date, trebuie sa faceti click dreapta pe coloana "Nr.factura" ( doar inregistrarile colorate au atasamente ).', ; + Column1.Width = 82, ; + Column2.ColumnOrder = 3, ; + Column2.ControlSource = "data_factura", ; + Column2.FontName = "Arial", ; + Column2.FontSize = 10, ; + Column2.Name = "cData_factura", ; + Column2.ReadOnly = .T., ; + Column2.Width = 95, ; + Column3.ColumnOrder = 4, ; + Column3.ControlSource = "suma_factura", ; + Column3.FontName = "Arial", ; + Column3.FontSize = 10, ; + Column3.Format = "RK", ; + Column3.InputMask = (get_mask(14,gnPa)), ; + Column3.Name = "cSuma_factura", ; + Column3.ReadOnly = .T., ; + Column3.Width = 96, ; + Column4.ColumnOrder = 7, ; + Column4.ControlSource = "suma_val_factura", ; + Column4.FontName = "Arial", ; + Column4.FontSize = 10, ; + Column4.Format = "RK", ; + Column4.InputMask = (get_mask(14,gnPVal)), ; + Column4.Name = "cSuma_val_factura", ; + Column4.ReadOnly = .T., ; + Column4.Width = 116, ; + Column5.ColumnOrder = 10, ; + Column5.ControlSource = "nume_val", ; + Column5.FontName = "Arial", ; + Column5.FontSize = 10, ; + Column5.Name = "cNume_val", ; + Column5.ReadOnly = .T., ; + Column5.Width = 56, ; + Column6.ColumnOrder = 1, ; + Column6.ControlSource = "serie_factura", ; + Column6.FontName = "Arial", ; + Column6.FontSize = 10, ; + Column6.Name = "cSerie_factura", ; + Column6.ReadOnly = .T., ; + Column6.Width = 95, ; + Column7.ColumnOrder = 5, ; + Column7.ControlSource = "incasat", ; + Column7.FontName = "Arial", ; + Column7.FontSize = 10, ; + Column7.Format = "RK", ; + Column7.InputMask = (get_mask(14,gnPa)), ; + Column7.Name = "cIncasat", ; + Column7.ReadOnly = .T., ; + Column7.Width = 108, ; + Column8.ColumnOrder = 6, ; + Column8.ControlSource = "sold", ; + Column8.Format = "RK", ; + Column8.InputMask = (get_mask(14,gnPa)), ; + Column8.Name = "cSold", ; + Column8.ReadOnly = .T., ; + Column8.Width = 113, ; + Column9.ColumnOrder = 8, ; + Column9.ControlSource = "incasat_val", ; + Column9.Format = "RK", ; + Column9.InputMask = (get_mask(14,gnPVal)), ; + Column9.Name = "cIncasatVal", ; + Column9.ReadOnly = .T., ; + Column9.Width = 100, ; + Column10.ColumnOrder = 9, ; + Column10.ControlSource = "sold_val", ; + Column10.Format = "RK", ; + Column10.InputMask = (get_mask(14,gnPVal)), ; + Column10.Name = "cSoldVal", ; + Column10.ReadOnly = .T., ; + Column10.Width = 99, ; + Column11.ControlSource = "tip", ; + Column11.Name = "cTip", ; + Column11.ReadOnly = .T., ; + Column11.Width = 21 + *< END OBJECT: ClassLib="_grd_base.vcx" BaseClass="grid" /> + + ADD OBJECT 'grd_facturi.cData_factura.Header1' AS header WITH ; + Alignment = 2, ; + Caption = "Data factura", ; + FontName = "Arial", ; + FontSize = 10, ; + Name = "Header1" + *< END OBJECT: BaseClass="header" /> + + ADD OBJECT 'grd_facturi.cData_factura.Text1' AS textbox WITH ; + BackColor = 255,255,255, ; + BorderStyle = 0, ; + FontName = "Arial", ; + FontSize = 10, ; + ForeColor = 0,0,0, ; + Margin = 0, ; + Name = "Text1", ; + ReadOnly = .T., ; + SelectedBackColor = 100,185,255 + *< END OBJECT: BaseClass="textbox" /> + + ADD OBJECT 'grd_facturi.cIncasat.Header1' AS header WITH ; + Alignment = 2, ; + Caption = "Achitat (lei)", ; + FontName = "Arial", ; + FontSize = 10, ; + Name = "Header1" + *< END OBJECT: BaseClass="header" /> + + ADD OBJECT 'grd_facturi.cIncasat.Text1' AS textbox WITH ; + BackColor = 255,255,255, ; + BorderStyle = 0, ; + FontName = "Arial", ; + FontSize = 10, ; + ForeColor = 0,0,0, ; + Margin = 0, ; + Name = "Text1", ; + ReadOnly = .T., ; + SelectedBackColor = 100,185,255 + *< END OBJECT: BaseClass="textbox" /> + + ADD OBJECT 'grd_facturi.cIncasatVal.Header1' AS header WITH ; + Alignment = 2, ; + Caption = "Achitat (valuta)", ; + Name = "Header1" + *< END OBJECT: BaseClass="header" /> + + ADD OBJECT 'grd_facturi.cIncasatVal.Text1' AS textbox WITH ; + BackColor = 255,255,255, ; + BorderStyle = 0, ; + ForeColor = 0,0,0, ; + Margin = 0, ; + Name = "Text1", ; + ReadOnly = .T., ; + SelectedBackColor = 100,185,255 + *< END OBJECT: BaseClass="textbox" /> + + ADD OBJECT 'grd_facturi.cNr_factura.Header1' AS header WITH ; + Alignment = 2, ; + Caption = "Nr. document", ; + FontName = "Arial", ; + FontSize = 10, ; + Name = "Header1" + *< END OBJECT: BaseClass="header" /> + + ADD OBJECT 'grd_facturi.cNr_factura.Text1' AS textbox WITH ; + BackColor = 255,255,255, ; + BorderStyle = 0, ; + FontName = "Arial", ; + FontSize = 10, ; + ForeColor = 0,0,0, ; + Margin = 0, ; + Name = "Text1", ; + ReadOnly = .T., ; + SelectedBackColor = 100,185,255 + *< END OBJECT: BaseClass="textbox" /> + + ADD OBJECT 'grd_facturi.cNume_val.Header1' AS header WITH ; + Alignment = 2, ; + Caption = "Valuta", ; + FontName = "Arial", ; + FontSize = 10, ; + Name = "Header1" + *< END OBJECT: BaseClass="header" /> + + ADD OBJECT 'grd_facturi.cNume_val.Text1' AS textbox WITH ; + BackColor = 255,255,255, ; + BorderStyle = 0, ; + FontName = "Arial", ; + FontSize = 10, ; + ForeColor = 0,0,0, ; + Margin = 0, ; + Name = "Text1", ; + ReadOnly = .T., ; + SelectedBackColor = 100,185,255 + *< END OBJECT: BaseClass="textbox" /> + + ADD OBJECT 'grd_facturi.cSerie_factura.Header1' AS header WITH ; + Alignment = 2, ; + Caption = "Serie document", ; + FontName = "Arial", ; + FontSize = 10, ; + Name = "Header1" + *< END OBJECT: BaseClass="header" /> + + ADD OBJECT 'grd_facturi.cSerie_factura.Text1' AS textbox WITH ; + BackColor = 255,255,255, ; + BorderStyle = 0, ; + FontName = "Arial", ; + FontSize = 10, ; + ForeColor = 0,0,0, ; + Margin = 0, ; + Name = "Text1", ; + ReadOnly = .T., ; + SelectedBackColor = 100,185,255 + *< END OBJECT: BaseClass="textbox" /> + + ADD OBJECT 'grd_facturi.cSold.Header1' AS header WITH ; + Alignment = 2, ; + Caption = "Sold (lei)", ; + Name = "Header1" + *< END OBJECT: BaseClass="header" /> + + ADD OBJECT 'grd_facturi.cSold.Text1' AS textbox WITH ; + BackColor = 255,255,255, ; + BorderStyle = 0, ; + ForeColor = 0,0,0, ; + Margin = 0, ; + Name = "Text1", ; + ReadOnly = .T., ; + SelectedBackColor = 100,185,255 + *< END OBJECT: BaseClass="textbox" /> + + ADD OBJECT 'grd_facturi.cSoldVal.Header1' AS header WITH ; + Alignment = 2, ; + Caption = "Sold (valuta)", ; + Name = "Header1" + *< END OBJECT: BaseClass="header" /> + + ADD OBJECT 'grd_facturi.cSoldVal.Text1' AS textbox WITH ; + BackColor = 255,255,255, ; + BorderStyle = 0, ; + ForeColor = 0,0,0, ; + Margin = 0, ; + Name = "Text1", ; + ReadOnly = .T., ; + SelectedBackColor = 100,185,255 + *< END OBJECT: BaseClass="textbox" /> + + ADD OBJECT 'grd_facturi.cSuma_factura.Header1' AS header WITH ; + Alignment = 2, ; + Caption = "Valoare cu TVA (lei)", ; + FontName = "Arial", ; + FontSize = 10, ; + Name = "Header1", ; + WordWrap = .T. + *< END OBJECT: BaseClass="header" /> + + ADD OBJECT 'grd_facturi.cSuma_factura.Text1' AS textbox WITH ; + BackColor = 255,255,255, ; + BorderStyle = 0, ; + FontName = "Arial", ; + FontSize = 10, ; + ForeColor = 0,0,0, ; + Margin = 0, ; + Name = "Text1", ; + ReadOnly = .T., ; + SelectedBackColor = 100,185,255 + *< END OBJECT: BaseClass="textbox" /> + + ADD OBJECT 'grd_facturi.cSuma_val_factura.Header1' AS header WITH ; + Alignment = 2, ; + Caption = "Valoare cu TVA (valuta)", ; + FontName = "Arial", ; + FontSize = 10, ; + Name = "Header1", ; + WordWrap = .T. + *< END OBJECT: BaseClass="header" /> + + ADD OBJECT 'grd_facturi.cSuma_val_factura.Text1' AS textbox WITH ; + BackColor = 255,255,255, ; + BorderStyle = 0, ; + FontName = "Arial", ; + FontSize = 10, ; + ForeColor = 0,0,0, ; + Margin = 0, ; + Name = "Text1", ; + ReadOnly = .T., ; + SelectedBackColor = 100,185,255 + *< END OBJECT: BaseClass="textbox" /> + + ADD OBJECT 'grd_facturi.cTip.Header1' AS header WITH ; + Alignment = 2, ; + Caption = "Tip", ; + Name = "Header1" + *< END OBJECT: BaseClass="header" /> + + ADD OBJECT 'grd_facturi.cTip.Text1' AS textbox WITH ; + BackColor = 255,255,255, ; + BorderStyle = 0, ; + ForeColor = 0,0,0, ; + Margin = 0, ; + Name = "Text1", ; + ReadOnly = .T., ; + SelectedBackColor = 100,185,255 + *< END OBJECT: BaseClass="textbox" /> + + ADD OBJECT 'grd_incasari' AS _grdrow WITH ; + Anchor = 14, ; + ColumnCount = 5, ; + DeleteMark = .F., ; + FontSize = 10, ; + HeaderHeight = 19, ; + Height = 122, ; + Left = 12, ; + Name = "grd_incasari", ; + Panel = 1, ; + RecordSource = "crsincasari", ; + RowHeight = 19, ; + Top = 360, ; + Width = 580, ; + Column1.ColumnOrder = 1, ; + Column1.ControlSource = "nr_incasare", ; + Column1.FontName = "Arial", ; + Column1.FontSize = 10, ; + Column1.Name = "cNr_incasare", ; + Column1.Width = 117, ; + Column2.ColumnOrder = 2, ; + Column2.ControlSource = "TTOD(data_incasare)", ; + Column2.FontName = "Arial", ; + Column2.FontSize = 10, ; + Column2.Name = "cData_incasare", ; + Column2.Width = 103, ; + Column3.ColumnOrder = 3, ; + Column3.ControlSource = "incasat", ; + Column3.FontName = "Arial", ; + Column3.FontSize = 10, ; + Column3.Format = "RK", ; + Column3.InputMask = (get_mask(14,gnPa)), ; + Column3.Name = "cIncasat", ; + Column3.Width = 99, ; + Column4.ColumnOrder = 4, ; + Column4.ControlSource = "incasat_val", ; + Column4.FontName = "Arial", ; + Column4.FontSize = 10, ; + Column4.Format = "RK", ; + Column4.InputMask = (get_mask(14,gnPVal)), ; + Column4.Name = "cIncasat_val", ; + Column4.Width = 116, ; + Column5.ColumnOrder = 5, ; + Column5.ControlSource = "nume_val_inc", ; + Column5.FontName = "Arial", ; + Column5.FontSize = 10, ; + Column5.Name = "cNume_val_inc", ; + Column5.Width = 62 + *< END OBJECT: ClassLib="_grd_base.vcx" BaseClass="grid" /> + + ADD OBJECT 'grd_incasari.cData_incasare.Header1' AS header WITH ; + Alignment = 2, ; + Caption = "Data doc. achitat", ; + FontName = "Arial", ; + FontSize = 10, ; + Name = "Header1" + *< END OBJECT: BaseClass="header" /> + + ADD OBJECT 'grd_incasari.cData_incasare.Text1' AS textbox WITH ; + BackColor = 255,255,255, ; + BorderStyle = 0, ; + FontName = "Arial", ; + FontSize = 10, ; + ForeColor = 0,0,0, ; + Margin = 0, ; + Name = "Text1", ; + SelectedBackColor = 100,185,255 + *< END OBJECT: BaseClass="textbox" /> + + ADD OBJECT 'grd_incasari.cIncasat.Header1' AS header WITH ; + Alignment = 2, ; + Caption = "Achitat (lei)", ; + FontName = "Arial", ; + FontSize = 10, ; + Name = "Header1" + *< END OBJECT: BaseClass="header" /> + + ADD OBJECT 'grd_incasari.cIncasat.Text1' AS textbox WITH ; + BackColor = 255,255,255, ; + BorderStyle = 0, ; + FontName = "Arial", ; + FontSize = 10, ; + ForeColor = 0,0,0, ; + Margin = 0, ; + Name = "Text1", ; + SelectedBackColor = 100,185,255 + *< END OBJECT: BaseClass="textbox" /> + + ADD OBJECT 'grd_incasari.cIncasat_val.Header1' AS header WITH ; + Alignment = 2, ; + Caption = "Achitat (valuta)", ; + FontName = "Arial", ; + FontSize = 10, ; + Name = "Header1" + *< END OBJECT: BaseClass="header" /> + + ADD OBJECT 'grd_incasari.cIncasat_val.Text1' AS textbox WITH ; + BackColor = 255,255,255, ; + BorderStyle = 0, ; + FontName = "Arial", ; + FontSize = 10, ; + ForeColor = 0,0,0, ; + Margin = 0, ; + Name = "Text1", ; + SelectedBackColor = 100,185,255 + *< END OBJECT: BaseClass="textbox" /> + + ADD OBJECT 'grd_incasari.cNr_incasare.Header1' AS header WITH ; + Alignment = 2, ; + Caption = "Nr. doc. achitat", ; + FontName = "Arial", ; + FontSize = 10, ; + Name = "Header1" + *< END OBJECT: BaseClass="header" /> + + ADD OBJECT 'grd_incasari.cNr_incasare.Text1' AS textbox WITH ; + BackColor = 255,255,255, ; + BorderStyle = 0, ; + FontName = "Arial", ; + FontSize = 10, ; + ForeColor = 0,0,0, ; + Margin = 0, ; + Name = "Text1", ; + SelectedBackColor = 100,185,255 + *< END OBJECT: BaseClass="textbox" /> + + ADD OBJECT 'grd_incasari.cNume_val_inc.Header1' AS header WITH ; + Alignment = 2, ; + Caption = "Valuta incasare", ; + FontName = "Arial", ; + FontSize = 10, ; + Name = "Header1", ; + WordWrap = .T. + *< END OBJECT: BaseClass="header" /> + + ADD OBJECT 'grd_incasari.cNume_val_inc.Text1' AS textbox WITH ; + BackColor = 255,255,255, ; + BorderStyle = 0, ; + FontName = "Arial", ; + FontSize = 10, ; + ForeColor = 0,0,0, ; + Margin = 0, ; + Name = "Text1", ; + SelectedBackColor = 100,185,255 + *< END OBJECT: BaseClass="textbox" /> + + PROCEDURE actualizeaza_grid2 + Lparameters tnIdFact + If !Empty(tnIdFact) + lcFiltru = [id_fact = ] + Alltrim(Str(tnIdFact)) + Else + lcFiltru = [1=2] + Endif + Select crsincasari + Set Filter To &lcFiltru + Go Top + Thisform.grd_incasari.Refresh() + + ENDPROC + + PROCEDURE do_arata_meniu + Local lnCod,lnNrAct,lcSerie + Select crsistoric + lnCod = cod + lnNrAct = nr_factura + lcSerie = Alltrim(Nvl(serie_factura,[])) + If Used('crsmeniu') + Use In crsmeniu + Endif + lcSql = [select a.id_at_vanz,a.tip,a.tip_doc from ] + gcS + [.vatasamente_vanzari a where a.cod = ] + Alltrim(Str(lnCod)) + [ order by a.tip] + lnSucces = goExecutor.oExecute(lcSql,[crsmeniu]) + If lnSucces < 0 + amessagebox(goExecutor.cEroare,16,"Eroare") + Else + Do Case + Case Reccount('crsmeniu') = 1 + Thisform.do_deschide_document(crsmeniu.id_at_vanz,crsmeniu.tip_doc,lnNrAct) + Case Reccount('crsmeniu')>0 + lcMeniu = [] + Select crsmeniu + Scan + lcMeniu = lcMeniu + [;] + Alltrim(tip_doc) + Endscan + x = xmenu(Substr(lcMeniu,2)) + Select crsmeniu + Go x + Thisform.do_deschide_document(crsmeniu.id_at_vanz,crsmeniu.tip_doc,lnNrAct) + Otherwise + amessagebox("Nu exista documente salvate in baza de date pentru factura "+lcSerie+" "+Alltrim(Str(lnNrAct,14,0)) + " !",48,"Atentie") + Endcase + Use In crsmeniu + Endif + ENDPROC + + PROCEDURE do_cauta + Local lcFiltru + lnOptiuneSold = This.cboSold.Value && Toate facturile,1,Neincasate,2,Neincasate sau incasate partial,3,Incasate complet,4,Incasate partial,5 + lnOptiuneFacturi = this.cboFacturi.Value && Facturi si incasari,1,Facturi,2,Incasari,3 + lcFiltru = [2=2] + + If Thisform.ck_serie_factura.Value = 1 + lcFiltru = lcFiltru + Thisform.ck_serie_factura.filtru_vfp + Endif + + If Thisform.ck_nr_factura.Value = 1 + lcFiltru = lcFiltru + Thisform.ck_nr_factura.filtru_vfp + Endif + + If Thisform.ck_data_factura.Value = 1 + lcFiltru = lcFiltru + Thisform.ck_data_factura.filtru_vfp + Endif + + DO CASE + CASE lnOptiuneFacturi = 1 && Facturi si incasari + * + CASE lnOptiuneFacturi = 2 + lcFiltru = lcFiltru + [ and tip = 'F'] && Facturi + CASE lnOptiuneFacturi = 3 + lcFiltru = lcFiltru + [ and tip = 'A'] && Incasari + ENDCASE + + Do Case + Case lnOptiuneSold = 1 && Toate Facturile + * + Case lnOptiuneSold = 2 && Neincasate + lcFiltru = lcFiltru + [ and suma_factura = Nvl(sold,0)] + Case lnOptiuneSold = 3 && Neincasate sau incasate partial + lcFiltru = lcFiltru + [ and Nvl(sold,0) <> 0] + Case lnOptiuneSold = 4 && Incasate complet + lcFiltru = lcFiltru + [ and Nvl(sold,0) = 0] + Case lnOptiuneSold = 5 && Incasate partial + lcFiltru = lcFiltru + [ and Nvl(sold,0) <> 0 and suma_factura <> Nvl(sold,0)] + ENDCASE + + Select crsistoric + Set Filter To (m.lcFiltru) + Go Top + Thisform.actualizeaza_grid2(id_fact) + Thisform.grd_facturi.Refresh() + + ENDPROC + + PROCEDURE do_deschide_document + Lparameters tnIdAtVanz,tcTip,tnNrAct + If !Empty(tnIdAtVanz) + Private poDocument + Store "" To poDocument + If Used('crsat') + Use In crsat + Endif + + Thisform.AlwaysOnTop = .F. + Local loTherm + loTherm = Newobject("_thermometer","_therm","","Citire document din baza de date...") + loTherm.Show() + + lcSelect = [select document from ] + gcS + [.atasamente_vanzari where ] + lcFiltru = [id_at_vanz=]+Alltrim(Str(tnIdAtVanz)) + lcSchema = [document W] + lcOrder = [] + llAfisare = .F. + GENCURSOR('poDocument','crsat',lcSelect,lcFiltru,lcSchema,lcOrder,llAfisare) + loTherm.Update(40, "Citire document din baza de date...") + poDocument.ca_baza1.afisare() + loTherm.Update(55, "Citire document din baza de date...") + + lcFisier = gcTempPath + Alltrim(Str(tnNrAct,14,0)) + [_] + Alltrim(tcTip) + [.pdf] + loTherm.Update(65, "Testare creare fisier...") + If File(lcFisier) + Try + Delete File (lcFisier) + Catch To oException + lcFisier = Strtran(lcFisier,[.pdf],Ttoc(Datetime(),1)+[.pdf]) + Endtry + Endif + Select crsat + loTherm.Update(85, "Creare fisier...") + Strtofile(Document,lcFisier) + loTherm.Update(95, "Deschidere fisier...") + open_default_app(lcFisier) + loTherm.Complete() + Thisform.AlwaysOnTop = .T. + Use In crsat + Release poDocument,loTherm + Endif + ENDPROC + + PROCEDURE do_reset + Thisform.ck_serie_factura.Value = 0 + Thisform.ck_data_factura.Value = 0 + Thisform.ck_data_factura.Value = 0 + Thisform.opt_incasate.Value = 1 + Thisform.do_cauta() + + ENDPROC + + PROCEDURE Init + Lparameters tcTitlu + DoDefault() + + Thisform.lb_TITLU_ALB_B121.Caption = tcTitlu + Thisform.grd_facturi.cNr_factura.DynamicBackColor = [Iif(nratasamente<>0,Rgb(187,235,255),Rgb(255,255,255))] + + Select crsIstoric + Go Top + Thisform.actualizeaza_grid2(id_fact) + + + ENDPROC + + PROCEDURE cboFacturi.Valid + thisform.do_cauta() + ENDPROC + + PROCEDURE cboSold.Valid + thisform.do_cauta() + ENDPROC + + PROCEDURE Ck_data_factura.InteractiveChange + DoDefault() + Thisform.do_cauta() + ENDPROC + + PROCEDURE Ck_nr_factura.InteractiveChange + DoDefault() + Thisform.do_cauta() + ENDPROC + + PROCEDURE Ck_serie_factura.InteractiveChange + DoDefault() + Thisform.do_cauta() + + ENDPROC + + PROCEDURE grd_facturi.AfterRowColChange + Lparameters nColIndex + DoDefault() + If This.RowColChange <> 2 + Select crsistoric + Thisform.actualizeaza_grid2(id_fact) + Endif + + ENDPROC + + PROCEDURE grd_facturi.cNr_factura.Text1.RightClick + Select crsistoric + If nratasamente <> 0 + Thisform.do_arata_meniu() + Endif + ENDPROC + +ENDDEFINE + +DEFINE CLASS frm_jurnal_plati_incasari AS _frmbase OF "_frm_base.vcx" + *< CLASSDATA: Baseclass="form" Timestamp="" Scale="Pixels" Uniqueid="" /> + + *-- OBJECTDATA items order determines ZOrder / El orden de los items OBJECTDATA determina el ZOrder + *< OBJECTDATA: ObjPath="Shape4" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="Shape3" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="Shape2" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="But_listare1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="txtdata1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="txtdata2" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="Label1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="Label2" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="Ck_filtru_data" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="opt_afis" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="Label5" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="opt_recap" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="Label4" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="But_excel1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="Label3" UniqueID="" Timestamp="" /> + + * + *m: pregateste_date && selecteaza datele necesare de pe serverul Oracle + * + + * + DoCreate = .T. + Height = 235 + Name = "frm_jurnal_plati_incasari" + Width = 300 + _shape1.Name = "_shape1" + _shape1.ZOrderSet = 4 + _shape2.Height = 29 + _shape2.Left = 213 + _shape2.Name = "_shape2" + _shape2.Top = 0 + _shape2.Width = 87 + _shape2.ZOrderSet = 5 + Lb_titlu_alb_b121.Caption = "Jurnal plati/incasari" + Lb_titlu_alb_b121.Name = "Lb_titlu_alb_b121" + Lb_titlu_alb_b121.ZOrderSet = 6 + BUT_TERMIN1.Left = 270 + BUT_TERMIN1.Name = "BUT_TERMIN1" + BUT_TERMIN1.Top = 1 + BUT_TERMIN1.ZOrderSet = 7 + Gridsort1.Name = "Gridsort1" + * + + ADD OBJECT 'But_excel1' AS but_excel WITH ; + Left = 212, ; + Name = "But_excel1", ; + Top = 1, ; + ZOrderSet = 18 + *< END OBJECT: ClassLib="cmd_butoane.vcx" BaseClass="commandbutton" /> + + ADD OBJECT 'But_listare1' AS but_listare WITH ; + Left = 241, ; + Name = "But_listare1", ; + Top = 1, ; + ZOrderSet = 8 + *< END OBJECT: ClassLib="cmd_butoane.vcx" BaseClass="commandbutton" /> + + ADD OBJECT 'Ck_filtru_data' AS ck_filtru_numar WITH ; + Alignment = 0, ; + camp_nume = dataact, ; + Caption = "Data", ; + Left = 73, ; + Name = "Ck_filtru_data", ; + tip = D, ; + Top = 96, ; + ZOrderSet = 13 + *< END OBJECT: ClassLib="caut_ora.vcx" BaseClass="checkbox" /> + + ADD OBJECT 'Label1' AS label WITH ; + AutoSize = .T., ; + BackStyle = 0, ; + Caption = "_", ; + Comment = "*:OnResize=LT", ; + FontBold = .T., ; + FontName = "Arial Narrow", ; + FontSize = 11, ; + Height = 22, ; + Left = 119, ; + Name = "Label1", ; + TabIndex = 8, ; + Top = 57, ; + Width = 9, ; + ZOrderSet = 11 + *< END OBJECT: BaseClass="label" /> + + ADD OBJECT 'Label2' AS label WITH ; + AutoSize = .T., ; + BackStyle = 0, ; + Caption = "Filtrare:", ; + Comment = "*:OnResize=LT", ; + FontBold = .F., ; + FontName = "Arial Narrow", ; + FontSize = 11, ; + Height = 22, ; + Left = 26, ; + Name = "Label2", ; + TabIndex = 8, ; + Top = 93, ; + Width = 44, ; + ZOrderSet = 12 + *< END OBJECT: BaseClass="label" /> + + ADD OBJECT 'Label3' AS label WITH ; + Alignment = 2, ; + AutoSize = .F., ; + BackColor = 255,255,255, ; + BackStyle = 1, ; + Caption = "Perioada de referinta", ; + Comment = "*:OnResize=LT", ; + FontBold = .F., ; + FontName = "Arial Narrow", ; + FontSize = 11, ; + Height = 22, ; + Left = 20, ; + Name = "Label3", ; + TabIndex = 8, ; + Top = 37, ; + Width = 126, ; + ZOrderSet = 19 + *< END OBJECT: BaseClass="label" /> + + ADD OBJECT 'Label4' AS label WITH ; + Alignment = 2, ; + AutoSize = .F., ; + BackColor = 255,255,255, ; + BackStyle = 1, ; + Caption = "Afiseaza", ; + Comment = "*:OnResize=LT", ; + FontBold = .F., ; + FontName = "Arial Narrow", ; + FontSize = 11, ; + Height = 22, ; + Left = 19, ; + Name = "Label4", ; + TabIndex = 8, ; + Top = 133, ; + Width = 59, ; + ZOrderSet = 17 + *< END OBJECT: BaseClass="label" /> + + ADD OBJECT 'Label5' AS label WITH ; + Alignment = 2, ; + AutoSize = .F., ; + BackColor = 255,255,255, ; + BackStyle = 1, ; + Caption = "Cu recapitulatie", ; + Comment = "*:OnResize=LT", ; + FontBold = .F., ; + FontName = "Arial Narrow", ; + FontSize = 11, ; + Height = 22, ; + Left = 152, ; + Name = "Label5", ; + TabIndex = 8, ; + Top = 132, ; + Width = 99, ; + ZOrderSet = 15 + *< END OBJECT: BaseClass="label" /> + + ADD OBJECT 'opt_afis' AS optiongroup WITH ; + AutoSize = .T., ; + BackStyle = 0, ; + BorderStyle = 0, ; + ButtonCount = 2, ; + Height = 52, ; + Left = 18, ; + Name = "opt_afis", ; + SpecialEffect = 1, ; + TabIndex = 11, ; + Top = 154, ; + Value = 1, ; + Width = 65, ; + ZOrderSet = 14, ; + Option1.AutoSize = .T., ; + Option1.BackStyle = 0, ; + Option1.Caption = "Plati", ; + Option1.FontName = "Arial Narrow", ; + Option1.FontSize = 10, ; + Option1.Height = 18, ; + Option1.Left = 5, ; + Option1.Name = "Option1", ; + Option1.Top = 5, ; + Option1.Value = 1, ; + Option1.Width = 37, ; + Option2.AutoSize = .T., ; + Option2.BackStyle = 0, ; + Option2.Caption = "Incasari", ; + Option2.FontName = "Arial Narrow", ; + Option2.FontSize = 10, ; + Option2.Height = 18, ; + Option2.Left = 5, ; + Option2.Name = "Option2", ; + Option2.Top = 29, ; + Option2.Width = 55 + *< END OBJECT: BaseClass="optiongroup" /> + + ADD OBJECT 'opt_recap' AS optiongroup WITH ; + AutoSize = .T., ; + BackStyle = 0, ; + BorderStyle = 0, ; + ButtonCount = 2, ; + Height = 52, ; + Left = 150, ; + Name = "opt_recap", ; + SpecialEffect = 1, ; + TabIndex = 11, ; + Top = 155, ; + Value = 1, ; + Width = 100, ; + ZOrderSet = 16, ; + Option1.AutoSize = .T., ; + Option1.BackStyle = 0, ; + Option1.Caption = "Pe parteneri", ; + Option1.FontName = "Arial Narrow", ; + Option1.FontSize = 10, ; + Option1.Height = 18, ; + Option1.Left = 5, ; + Option1.Name = "Option1", ; + Option1.Top = 5, ; + Option1.Value = 1, ; + Option1.Width = 76, ; + Option2.AutoSize = .T., ; + Option2.BackStyle = 0, ; + Option2.Caption = "Pe responsabili", ; + Option2.FontName = "Arial Narrow", ; + Option2.FontSize = 10, ; + Option2.Height = 18, ; + Option2.Left = 5, ; + Option2.Name = "Option2", ; + Option2.Top = 29, ; + Option2.Width = 90 + *< END OBJECT: BaseClass="optiongroup" /> + + ADD OBJECT 'Shape2' AS shape WITH ; + BackStyle = 0, ; + Height = 79, ; + Left = 12, ; + Name = "Shape2", ; + Top = 143, ; + Width = 109, ; + ZOrderSet = 2 + *< END OBJECT: BaseClass="shape" /> + + ADD OBJECT 'Shape3' AS shape WITH ; + BackStyle = 0, ; + Height = 79, ; + Left = 144, ; + Name = "Shape3", ; + Top = 143, ; + Width = 145, ; + ZOrderSet = 1 + *< END OBJECT: BaseClass="shape" /> + + ADD OBJECT 'Shape4' AS shape WITH ; + BackStyle = 0, ; + Height = 78, ; + Left = 12, ; + Name = "Shape4", ; + Top = 48, ; + Width = 235, ; + ZOrderSet = 0 + *< END OBJECT: BaseClass="shape" /> + + ADD OBJECT 'txtdata1' AS textbox WITH ; + BorderColor = 128,128,128, ; + ControlSource = "", ; + Enabled = .F., ; + FontName = "Arial Narrow", ; + FontSize = 11, ; + Height = 22, ; + Left = 25, ; + Name = "txtdata1", ; + SpecialEffect = 1, ; + TabIndex = 10, ; + Top = 61, ; + Width = 88, ; + ZOrderSet = 9 + *< END OBJECT: BaseClass="textbox" /> + + ADD OBJECT 'txtdata2' AS textbox WITH ; + BorderColor = 128,128,128, ; + ControlSource = "", ; + Enabled = .F., ; + FontName = "Arial Narrow", ; + FontSize = 11, ; + Height = 22, ; + Left = 133, ; + Name = "txtdata2", ; + SpecialEffect = 1, ; + TabIndex = 10, ; + Top = 61, ; + Width = 88, ; + ZOrderSet = 10 + *< END OBJECT: BaseClass="textbox" /> + + PROCEDURE do_excel + Local lcCursor,llplati,llresp + lcCursor = Thisform.pregateste_date() + + llplati = Iif(Thisform.opt_afis.Value=1,.T.,.F.) + llresp = Iif(Thisform.opt_recap.Value=1,.F.,.T.) + If !Used(lcCursor) + Messagebox('Nu s-a creat tabelul ' + lcCursor,0+48,_Screen.Caption) + Return + Endif + Select (lcCursor) + + *!* SET DEFAULT TO &gcSchemaPath + *!* CD &gcSchemaPath + *!* IF !DIRECTORY('&gcSchemaPath\jurnal_incasplati') + *!* MD jurnal_incasplati + *!* ENDIF + *!* lcFile=gcSchemaPath+'\jurnal_incasplati\jurnal_'+SYS(2)+'.XLS' + lcFile = gcTempPath + [jurnal_incasplati]+Sys(2)+[.XLS] + If tlresp + Select tip, cnume As responsabil, cpartener As partener, ; + suma5112 + suma5121 + suma5311 + compensari + diverse As Total, suma5112, suma5121, suma5311, compensari, diverse, ; + contp As Cont, acont As analitic ; + from (lcCursor) Order By 1,2 Into Cursor query_avans + Else + Select tip, cpartener As partener, ; + suma5112 + suma5121 + suma5311 + compensari + diverse As Total, suma5112, suma5121, suma5311, compensari, diverse, ; + contp As Cont, acont As analitic ; + from (lcCursor) Order By 1,2 Into Cursor query_avans + Endif + + Select query_avans + + Copy To (lcFile) Type Xls + Use In (lcCursor) + + OPEN_DEFAULT_APP(lcFile) + + + ENDPROC + + PROCEDURE do_listare + Local lcCursor,llplati,llresp,lcRaport,llPageBreak, lcRaportTemp + Local lcNume, lcReportTempPath, lcTempFile, lcTempIndex, lctitlu + Local llMultiPreview + *:Global buton + llPageBreak = .F. + lcRaportTemp = "" + llMultiPreview = .T. + Private poCauta + poCauta = Null + lcCursor = Thisform.pregateste_date() + If Empty(lcCursor) + Return + Endif + + + Private pcfelrap,pctitlu,pcperioada,pcdataora + Store '' To pcfelrap,pctitlu,pcperioada,pcdataora + + llplati = Iif(Thisform.opt_afis.Value=1,.T.,.F.) + llresp = Iif(Thisform.opt_recap.Value=1,.F.,.T.) + + Select (lcCursor) + Delete All For SUMA5121=0 And suma5112=0 And suma5311=0 And compensari=0 And diverse=0 + lcTempIndex = Addbs(gcTempPath) + "incasplati.idx" + Index On cnume +Alltrim(Str(tip)) To (m.lcTempIndex) + + &&preluare ora de pe oracle server: + *!* STORE 0 to pnsucces + *!* pcexec = [select to_char(SYSdate,'dd/mm/yyyy hh:mi:ss AM') as dataora from dual] + *!* pcCursor = [dataora_cursor] + *!* pnsucces = goExecutor.oExecute(pcexec,pcCursor) + *!* IF (pnsucces != 0) + *!* SELECT dataora_cursor + *!* pcdataora = dataora_cursor.dataora + *!* USE IN dataora_cursor + *!* ENDIF + Thisform.AlwaysOnTop = .F. + Select (lcCursor) + If Reccount(lcCursor) > 0 + pcperioada = [Perioada de referinta:] + Dtoc(pdData1)+[ - ]+Dtoc(pdData2) + lcRaport =[jurnal_plati_incasari] + + If llplati + pcfelrap=[platit] + lctitlu= [Jurnal plati] + Else + pcfelrap=[incasat] + lctitlu= [Jurnal incasari] + Endif + + pctitlu = ceretitlu_rap('Titlul Raportului',lctitlu) + + pcdataora = get_ora(2) + If llresp + && se listeaza pe responsabili + If Isnull(poCauta) + lcNume = '' + Else + lcNume=Alltrim(poCauta.nume) + Endif + + If lcNume = '' Or Empty(lcNume) + *!* DO danu WITH "Se listeaza cate un responsabil pe pagina ?" + buton = 7 - aMESSAGEBOX("Se listeaza cate un responsabil pe pagina?",4+32,"Confirmare") + If buton = 1 + llPageBreak = .T. + Endif + Endif + lcReportTempPath = Addbs(gcAppPath) + "rapoarte\jurnal_plati_incasari.frx" + Use (m.lcReportTempPath) In 0 Alias rap_incasplati Shared + Select rap_incasplati + lcTempFile = Addbs(gcTempPath) + "temp_jurnal_plati_incasari.frx" + Copy To (m.lcTempFile) + Use In rap_incasplati + + Use (m.lcTempFile) In 0 Shared Alias rap_incasplati + Select rap_incasplati + Locate For objCode = 3 And 'cnume'$Expr + If Found() + If Flock() + Replace PageBreak With llPageBreak + Unlock + Endif + Endif + Use In rap_incasplati + + Select (lcCursor) + *!* 07.06.2011 + *!* Report Form (m.lcTempFile) To Printer Prompt Preview + goExport.export2frx(m.lcCursor, m.lcTempFile, , , , , , llMultiPreview, , ) + *!* 07.06.2011 ^ + Delete File Forceext(m.lcTempFile,'*') + + If lcNume = '' + pctitlu= pctitlu +" "+ Chr(13)+Chr(10)+ '- Recapitulatie -' + Select (lcCursor) + Delete All For tip = 1 + *!* 07.06.2011 + *!* Report Form (lcRaport) To Printer Prompt Preview + goExport.export2frx(m.lcCursor, m.lcRaport, , , , , , llMultiPreview, , ) + *!* 07.06.2011 ^ + Endif + Else + *!* 07.06.2011 + *!* Report Form (lcRaport) To Printer Prompt Preview + goExport.export2frx(m.lcCursor, m.lcRaport, , , , , , llMultiPreview, , ) + *!* 07.06.2011 ^ + Endif + Else + aMESSAGEBOX("Nu exista inregistrari pentru listare!",48,"Atentie") + Endif + + Use In (lcCursor) + Store Null To poCauta + Thisform.AlwaysOnTop = .T. + + + ENDPROC + + PROCEDURE pregateste_date && selecteaza datele necesare de pe serverul Oracle + *!* 04.11.2010 + *!* lcIncasari473: 473 = 4111 incasari conpress numerar chioscuri + + *!* 20.12.2010 + *!* marius.mutu + *!* sa nu apara 5311 = 473, pentru ca le-am luat in considerare la 473 = 4111 + *!* sa nu apara 473 = 4111 la compensari + *!* #2834 + + *!* 21.06.2011 + *!* marius.mutu + *!* se pot selecta inregistrari din orice perioada, nu numai din luna curenta + *!* #3054 + + Local llresp,llplati,lccond, lcNume, lcCompensare, lcFiltruData + Local lcCursor, lcCursor1, lcIncasari473, lcSelect, lcSelect1, lccompensare_cf, lccondcomp, ldData1 + Local ldData2, lnId_part, lnId_responsabil, lnSucces, lnSucces1 + *:Global poCauta, tlresp + *!* poCauta - variabila privata definita in do_listare, do_excel + llplati = Iif(Thisform.opt_afis.Value=1,.T.,.F.) + llresp = Iif(Thisform.opt_recap.Value=1,.F.,.T.) + tlresp = llresp + + If llresp + && cautare responsabil + poCauta = CautPartenerContabilitate(GetHash([cTitlu=>Alegeti responsabilul??lAllInList=>1])) + Else + && cautare partener + poCauta = CautPartenerContabilitate(GetHash([cTitlu=>Alegeti partenerul??lAllInList=>1])) + Endif + + + lccond = [1=1] + lcNume = Alltrim(poCauta.denumire) + If Empty(lcNume) + Store NULL To poCauta + Return [] + Endif + + If (lcNume # '') + If llresp && daca se face listarea pe responsabili + lnId_responsabil = poCauta.id_part + lccond = [id_responsabil = ] + Alltrim(Str(lnId_responsabil)) + Else + lnId_part = poCauta.id_part + lccond = Iif(llplati,[id_partd = ],[id_partc = ]) + Alltrim(Str(lnId_part)) + Endif + Endif + + && compensare intre facturi de clieni si furnizori + *!* 20.12.2010 + *!* lccompensare_cf=[(scd in ('401','404','462', '473') AND scc in ('4111','461'))] + lccompensare_cf=[(scd in ('401','404','462') AND scc in ('4111','461'))] + *!* 20.12.2010 ^ + lcIncasari473=[(scd = '473' AND scc = '4111')] && incasari chioscuri conpress 473 = 4111 + lcfiltrudata = Iif(!Empty(Thisform.ck_filtru_data.filtru),Thisform.ck_filtru_data.filtru,[ and 1=1]) + *!* 21.06.2011 + ldData1 = this.txtdata1.Value + ldData2 = this.txtdata2.Value + + IF YEAR(m.ldData1) = YEAR(m.ldData2) + lcFiltruData = lcFiltruData + [ and an = ] + ALLTRIM(STR(YEAR(m.ldData1))) + IF MONTH(m.ldData1) = MONTH(m.ldData2) + lcFiltruData = lcFiltruData + [ and luna = ] + ALLTRIM(STR(month(m.ldData1))) + ELSE + lcFiltruData = lcFiltruData + [ and luna between ] + ALLTRIM(STR(month(m.ldData1))) + [ and ] + ALLTRIM(STR(month(m.ldData2))) + ENDIF + ELSE + lcFiltruData = lcFiltruData + [ and an between ] + ALLTRIM(STR(YEAR(m.ldData1))) + [ and ] + + ALLTRIM(STR(YEAR(m.ldData2))) + ENDIF + *!* 21.06.2011 ^ + + IF llplati + && jurnal plati + lccond = lccond + [ and (substr(scc,1,1) = '5' OR ] + lccompensare_cf + [)] + lccondcomp = [(substr(scc,1,1)='5' AND (NVL(INSTR(Upper(trim(partc)),'COMPENSARI'),0)<>0 ] + ; + [OR NVL(INSTR(Upper(trim(explicatia)),'COMPENS'),0)<>0))] + + lcSelect = [select nresp as cnume,partd as cpartener,scd as contp,ascd as acont,1 as tip,] + ; + [sum(decode(SUBSTR(scc,1,3),'511',suma,0)) as suma5112,] + ; + [sum(case when (SUBSTR(scc,1,3)='512' AND NVL(INSTR(Upper(trim(partc)),'COMPENSARI'),0)=0 ] +; + [AND NVL(INSTR(Upper(trim(explicatia)),'COMPENS'),0)=0) then suma else 0 end) as suma5121,] + ; + [sum(case when (SUBSTR(scc,1,3)='531' AND NVL(INSTR(Upper(trim(partc)),'COMPENSARI'),0)=0 ] +; + [AND NVL(INSTR(Upper(trim(explicatia)),'COMPENS'),0)=0) then suma else 0 end) as suma5311,] + ; + [sum(case when (] + lccompensare_cf + [ OR ] + lccondcomp + [) then suma else 0 end) as compensari,] + ; + [sum(case when (SUBSTR(scc,1,1)='5' AND SUBSTR(scc,1,3) NOT IN ('512','511','531') ] + ; + [) then suma else 0 end) as diverse from ] + ; + [ (select ] + IIF(llresp,[nresp],[' '])+[ as nresp,NVL(partd,lpad(chr(32),50,chr(32))) as partd,] +; + [scd,ascd,scc,partc,explicatia,suma from ] + ; + [vact where ] + lccond + lcfiltrudata + [ and SUBSTR(scc,1,3)<>'581'] +; + [ and SUBSTR(scd,1,3)<>'581' ] + ; + Iif(!IsNull(gnIdSucursala),[ and NVL(id_sucursala,-99) = NVL(]+ALLTRIM(STR(gnIdSucursala))+[,-99)],[]) + [)] + ; + [ group by nresp,partd,scd,ascd order by 1,5,3,4,2] + + ELSE + && jurnal incasari + *!* 04.11.2010 + *!* lcIncasari473: 473 = 4111 incasari conpress numerar chioscuri + *!* 20.12.2010 + *!* !(substr(scd,1,1) = '5' and scc = '473') + + lccond = lccond + [ and (substr(scd,1,1) = '5' OR ] + lccompensare_cf + [ OR ] + lcIncasari473 + [) and not (substr(scd,1,1) = '5' and scc = '473') ] + lccondcomp = [(substr(scd,1,1)='5' AND (NVL(INSTR(Upper(trim(partd)),'COMPENSARI'),0)<>0 ] + ; + [OR NVL(INSTR(Upper(trim(explicatia)),'COMPENSARI'),0)<>0))] + + lcSelect = [select nresp as cnume,partc as cpartener,scc as contp,ascc as acont,1 as tip,] + ; + [sum(decode(SUBSTR(scd,1,3),'511',suma,0)) as suma5112,] + ; + [sum(case when (SUBSTR(scd,1,3)='512' AND NVL(INSTR(Upper(trim(partd)),'COMPENSARI'),0)=0 ] +; + [AND NVL(INSTR(Upper(trim(explicatia)),'COMPENS'),0)=0) then suma else 0 end) as suma5121,] + ; + [sum(case when ((SUBSTR(scd,1,3)='531' OR scd = '473') AND NVL(INSTR(Upper(trim(partd)),'COMPENSARI'),0)=0 ] +; + [AND NVL(INSTR(Upper(trim(explicatia)),'COMPENS'),0)=0) then suma else 0 end) as suma5311,] + ; + [sum(case when (] + lccompensare_cf + [ OR ] + lccondcomp + [) then suma else 0 end) as compensari,] + ; + [sum(case when (SUBSTR(scd,1,1)='5' AND SUBSTR(scd,1,3) NOT IN ('512','511','531') ] + ; + [) then suma else 0 end) as diverse from ] + ; + [ (select ] + IIF(llresp,[nresp],[' '])+[ as nresp,NVL(partc,lpad(chr(32),50,chr(32))) as partc,] +; + [scc,ascc,scd,partd,explicatia,suma from ] + ; + [vact where ] + lccond + lcfiltrudata + [ and SUBSTR(scc,1,3)<>'581'] +; + [ and SUBSTR(scd,1,3)<>'581' ] + ; + Iif(!IsNull(gnIdSucursala),[ and NVL(id_sucursala,-99) = NVL(]+ALLTRIM(STR(gnIdSucursala))+[,-99)],[]) + [)] + ; + [ group by nresp,partc,scc,ascc order by 1,3,4,2,5] + *!* 04.11.2010 ^ + ENDIF + + + STRTOFILE(lcSelect,"c:\select1.txt") + + lcCursor = 'incasplati' + lnSucces = goExecutor.oExecute(lcSelect,lcCursor) + If lnSucces < 0 + aMESSAGEBOX(goExecutor.cEroare,0+16,'Eroare') + Return + Endif + + Select cnume,contp + Iif(Isnull(acont),'','.'+ acont) As contana, acont, contp, 2 As tip, ; + sum(suma5112) As suma5112, Sum(suma5121) As suma5121, ; + sum(suma5311) As suma5311, Sum(compensari) As compensari, Sum(diverse) As diverse ; + FROM incasplati; + INTO Cursor recapit ; + GROUP By 1,2,3,4,5 + + lcSelect1 = [select cont,acont,explicatie from ] + gcS + [.vnom_plcont where an=] + Alltrim(Str(gnan)) + lcCursor1 = [plcont] + lnSucces1 = goExecutor.oExecute(lcSelect1,lcCursor1) + If lnSucces1 < 0 + aMESSAGEBOX(goExecutor.cEroare,0+16,'Eroare') + Return + Endif + + Select r.*, p.explicatie As cpartener ; + FROM recapit r Left Join plcont p On r.contp = p.Cont And ; + IIF(Isnull(r.acont) And Isnull(p.acont),.T.,r.acont = p.acont) ; + INTO Cursor tvars + Use In plcont + + Select * From incasplati Into Cursor incas_plati Readwrite + Use In incasplati + + Select incas_plati + Append From Dbf("tvars") + Use In tvars + + Return [incas_plati] + + ENDPROC + + PROCEDURE Ck_filtru_data.InteractiveChange + + DODEFAULT() + IF this.value = 1 + pdData1 = CTOD(this.cvaloare1) + pdData2 = CTOD(this.cvaloare2) + ELSE + pdData1 = pdinit1 + pdData2 = pdinit2 + ENDIF + thisform.refresh + ENDPROC + + PROCEDURE Ck_filtru_data.Valid + *!* 21.06.2011 + *!* marius.mutu + *!* se pot selecta inregistrari din orice perioada, nu numai din luna curenta + *!* #3054 + + Local lddata1,lddata2 + lddata1 = Ctod(This.cvaloare1) + lddata2 = Ctod(This.cvaloare2) + If This.Value = 0 + Return + Endif + + *!* 21.06.2011 + If lddata1 <= lddata2 && AND BETWEEN(lddata1,pdinit1,pdinit2) AND BETWEEN(lddata2,pdinit1,pdinit2) + Return .T. + Else + pdData1 = pdinit1 + pdData2 = pdinit2 + This.Value = 0 + Thisform.Refresh + Wait Window "Date incorecte!" + Return .F. + Endif + *!* 21.06.2011 ^ + ENDPROC + +ENDDEFINE + +DEFINE CLASS frm_notificari AS frm_termin OF "_frm_child.vcx" + *< CLASSDATA: Baseclass="form" Timestamp="" Scale="Pixels" Uniqueid="" /> + + *-- OBJECTDATA items order determines ZOrder / El orden de los items OBJECTDATA determina el ZOrder + *< OBJECTDATA: ObjPath="But_listare2" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="Grid_parteneri" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="Grid_parteneri.Column1.Header1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="Grid_parteneri.Column1._checkbox1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="text" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="But_salveaza1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="Gridextra1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="Cmd_select_adv1" UniqueID="" Timestamp="" /> + + * + *m: update_ireg + *p: cordinegrid1 + *p: nid_part + *p: odate + * + + * + BorderStyle = 1 + cbuton1 = + cbuton2 = but_listare1;but_excel1 + cordinegrid1 = + DoCreate = .T. + Height = 503 + Name = "frm_notificari" + nid_part = -1 + odate = + Width = 664 + WindowState = 2 + _shape1.Anchor = 10 + _shape1.Height = 29 + _shape1.Left = 0 + _shape1.Name = "_shape1" + _shape1.Top = 0 + _shape1.Width = 670 + _shape2.Anchor = 9 + _shape2.Height = 29 + _shape2.Left = 564 + _shape2.Name = "_shape2" + _shape2.Top = 0 + _shape2.Width = 108 + Lb_titlu_alb_b121.Caption = "NOTIFICÃRI" + Lb_titlu_alb_b121.FontBold = .T. + Lb_titlu_alb_b121.FontSize = 11 + Lb_titlu_alb_b121.Name = "Lb_titlu_alb_b121" + Lb_titlu_alb_b121.TabIndex = 7 + BUT_TERMIN1.Anchor = 9 + BUT_TERMIN1.Left = 634 + BUT_TERMIN1.Name = "BUT_TERMIN1" + BUT_TERMIN1.TabIndex = 5 + BUT_TERMIN1.Top = 1 + Gridsort1.Name = "Gridsort1" + * + + ADD OBJECT 'But_listare2' AS but_listare WITH ; + Anchor = 9, ; + caction = do_listare, ; + Left = 602, ; + Name = "But_listare2", ; + TabIndex = 4, ; + ToolTipText = "Listare(CTRL+P)", ; + Top = 1, ; + Visible = .T. + *< END OBJECT: ClassLib="cmd_butoane.vcx" BaseClass="commandbutton" /> + + ADD OBJECT 'But_salveaza1' AS but_salveaza WITH ; + Anchor = 9, ; + Left = 569, ; + Name = "But_salveaza1", ; + TabIndex = 6, ; + Top = 1 + *< END OBJECT: ClassLib="cmd_butoane.vcx" BaseClass="commandbutton" /> + + ADD OBJECT 'Cmd_select_adv1' AS cmd_select_adv WITH ; + Anchor = 6, ; + ccoloana = ales, ; + cgrid = Thisform.Grid_parteneri, ; + Left = 12, ; + Name = "Cmd_select_adv1", ; + Top = 244 + *< END OBJECT: ClassLib="cmd_butoane.vcx" BaseClass="commandbutton" /> + + ADD OBJECT 'Grid_parteneri' AS grid WITH ; + Anchor = 15, ; + ColumnCount = 1, ; + DeleteMark = .F., ; + FontName = "Arial Narrow", ; + Height = 204, ; + Left = 12, ; + Name = "Grid_parteneri", ; + Panel = 1, ; + ReadOnly = .T., ; + RecordMark = .T., ; + TabIndex = 1, ; + Top = 36, ; + Width = 634, ; + Column1.FontName = "Arial Narrow", ; + Column1.Name = "Column1", ; + Column1.ReadOnly = .F., ; + Column1.Sparse = .F., ; + Column1.Width = 25 + *< END OBJECT: BaseClass="grid" /> + + ADD OBJECT 'Grid_parteneri.Column1._checkbox1' AS _checkbox WITH ; + Alignment = 2, ; + Caption = "", ; + Centered = .T., ; + Left = 37, ; + Name = "_checkbox1", ; + ReadOnly = .F., ; + Top = 23 + *< END OBJECT: ClassLib="_baza.vcx" BaseClass="checkbox" /> + + ADD OBJECT 'Grid_parteneri.Column1.Header1' AS header WITH ; + Alignment = 2, ; + Caption = "Ales", ; + FontName = "Arial Narrow", ; + Name = "Header1" + *< END OBJECT: BaseClass="header" /> + + ADD OBJECT 'Gridextra1' AS gridextra WITH ; + gridexpression = Thisform.Grid_parteneri, ; + Left = 480, ; + Name = "Gridextra1", ; + Top = 252 + *< END OBJECT: ClassLib="..\utile\gridextras\gridextras.vcx" BaseClass="custom" /> + + ADD OBJECT 'text' AS _editbox WITH ; + Anchor = 14, ; + Height = 216, ; + Left = 12, ; + Name = "text", ; + TabIndex = 3, ; + Top = 276, ; + Width = 636 + *< END OBJECT: ClassLib="_baza.vcx" BaseClass="editbox" /> + + PROCEDURE do_listare + Private pcMesaj + Local lcCursor + lcCursor = [crsraport] + pcMesaj = Thisform.Text.Value + Select nume,id_part,adresa,cod_fiscal,reg_comert From (Thisform.grid_parteneri.RecordSource) Where ales = 1 ; + order By nume ; + into Cursor (lcCursor) + Thisform.AlwaysOnTop = .F. + goExport.export2frx(lcCursor,[notificare]) + Thisform.AlwaysOnTop = .T. + If Used(lcCursor) + Use In (lcCursor) + Endif + Release lcCursor,pcMesaj + ENDPROC + + PROCEDURE do_salvare + Private pcText + pcText = Thisform.Text.Value + If !Empty(pcText) And !Empty(Nvl(This.odate.id_notificare,0)) + If aMessagebox("Doriti sa salvati textul notificarii in baza de date?",32+4,"Confirmare salvare") = 6 + lcSql = [update notificari set text = ?pcText where id_notificare = ] + Alltrim(Str(This.odate.id_notificare)) + If goExecutor.oExecuta(lcSql) + aMessagebox("Textul notificarii a fost salvat in baza de date!",64,"Info salvare") + Endif + Endif + Endif + Release pcText + + ENDPROC + + PROCEDURE Init + Lparameters toDate + Thisform.odate = toDate + Thisform.Text.Value = Thisform.odate.Text + DoDefault() + + ENDPROC + + PROCEDURE Show + LPARAMETERS nStyle + Thisform.gridextra1.setup() + ENDPROC + + PROCEDURE update_ireg + ENDPROC + +ENDDEFINE + +DEFINE CLASS frm_notificari_extra AS frm_termin OF "_frm_child.vcx" + *< CLASSDATA: Baseclass="form" Timestamp="" Scale="Pixels" Uniqueid="" /> + + *-- OBJECTDATA items order determines ZOrder / El orden de los items OBJECTDATA determina el ZOrder + *< OBJECTDATA: ObjPath="But_listare2" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="grdNotificari" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="grdNotificari.cTitlu.Header1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="grdNotificari.cTitlu.Text1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="grdNotificari.cIdNotificare.Header1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="grdNotificari.cIdNotificare.Text1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="grdNotificari.cOrdine.Header1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="grdNotificari.cOrdine.Text1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="grdNotificari.cUtilizator.Header1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="grdNotificari.cUtilizator.Text1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="grdNotificari.cDataOra.Header1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="grdNotificari.cDataOra.Text1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="text" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="But_salveaza1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="Gridextra1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="spnOrdine" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="lblOrdine" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="But_nou1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="But_sterge1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="txtTitlu" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="_label1" UniqueID="" Timestamp="" /> + + * + *m: update_ireg + *p: caliasparteneri + *p: cordinegrid1 + *p: nidnotificare + *p: nid_part + *p: odate + * + + * + BorderStyle = 1 + caliasparteneri = + cbuton1 = + cbuton2 = but_listare1;but_excel1 + cordinegrid1 = + DoCreate = .T. + Height = 503 + Name = "frm_notificari_extra" + nidnotificare = 0 + nid_part = -1 + odate = + Width = 664 + WindowState = 2 + _memberdata = + + + + _shape1.Anchor = 10 + _shape1.Height = 29 + _shape1.Left = 0 + _shape1.Name = "_shape1" + _shape1.Top = 0 + _shape1.Width = 670 + _shape2.Anchor = 9 + _shape2.Height = 29 + _shape2.Left = 564 + _shape2.Name = "_shape2" + _shape2.Top = 0 + _shape2.Width = 108 + Lb_titlu_alb_b121.Caption = "NOTIFICÃRI" + Lb_titlu_alb_b121.FontBold = .T. + Lb_titlu_alb_b121.FontSize = 11 + Lb_titlu_alb_b121.Name = "Lb_titlu_alb_b121" + Lb_titlu_alb_b121.TabIndex = 10 + BUT_TERMIN1.Anchor = 9 + BUT_TERMIN1.Left = 634 + BUT_TERMIN1.Name = "BUT_TERMIN1" + BUT_TERMIN1.TabIndex = 5 + BUT_TERMIN1.Top = 1 + Gridsort1.Name = "Gridsort1" + * + + ADD OBJECT '_label1' AS _label WITH ; + Caption = "Titlu", ; + FontBold = .T., ; + Height = 17, ; + Left = 12, ; + Name = "_label1", ; + TabIndex = 12, ; + Top = 222, ; + Width = 26 + *< END OBJECT: ClassLib="_baza.vcx" BaseClass="label" /> + + ADD OBJECT 'But_listare2' AS but_listare WITH ; + Anchor = 9, ; + caction = do_listare, ; + Left = 605, ; + Name = "But_listare2", ; + TabIndex = 6, ; + ToolTipText = "Listare(CTRL+P)", ; + Top = 1, ; + Visible = .T. + *< END OBJECT: ClassLib="cmd_butoane.vcx" BaseClass="commandbutton" /> + + ADD OBJECT 'But_nou1' AS but_nou WITH ; + Anchor = 9, ; + Left = 516, ; + Name = "But_nou1", ; + TabIndex = 8, ; + Top = 1 + *< END OBJECT: ClassLib="cmd_butoane.vcx" BaseClass="commandbutton" /> + + ADD OBJECT 'But_salveaza1' AS but_salveaza WITH ; + Anchor = 9, ; + Left = 546, ; + Name = "But_salveaza1", ; + TabIndex = 4, ; + Top = 1 + *< END OBJECT: ClassLib="cmd_butoane.vcx" BaseClass="commandbutton" /> + + ADD OBJECT 'But_sterge1' AS but_sterge WITH ; + Anchor = 9, ; + Left = 576, ; + Name = "But_sterge1", ; + TabIndex = 7, ; + Top = 1, ; + Visible = .T. + *< END OBJECT: ClassLib="cmd_butoane.vcx" BaseClass="commandbutton" /> + + ADD OBJECT 'grdNotificari' AS grid WITH ; + Anchor = 0, ; + ColumnCount = 5, ; + DeleteMark = .F., ; + FontName = "Arial Narrow", ; + Height = 176, ; + Left = 12, ; + Name = "grdNotificari", ; + Panel = 1, ; + ReadOnly = .T., ; + RecordMark = .T., ; + RecordSource = "cNotificari", ; + TabIndex = 9, ; + Top = 36, ; + Width = 468, ; + Column1.ColumnOrder = 2, ; + Column1.ControlSource = "titlu", ; + Column1.FontName = "Arial Narrow", ; + Column1.Name = "cTitlu", ; + Column1.ReadOnly = .T., ; + Column1.Width = 217, ; + Column2.ColumnOrder = 1, ; + Column2.ControlSource = "id_notificare", ; + Column2.FontName = "Arial Narrow", ; + Column2.Name = "cIdNotificare", ; + Column2.ReadOnly = .T., ; + Column2.Width = 35, ; + Column3.ControlSource = "ordine", ; + Column3.FontName = "Arial Narrow", ; + Column3.Name = "cOrdine", ; + Column3.ReadOnly = .T., ; + Column3.Width = 32, ; + Column4.ControlSource = "utilizator", ; + Column4.FontName = "Arial Narrow", ; + Column4.Name = "cUtilizator", ; + Column4.ReadOnly = .T., ; + Column5.ControlSource = "dataora", ; + Column5.FontName = "Arial Narrow", ; + Column5.Name = "cDataOra", ; + Column5.ReadOnly = .T. + *< END OBJECT: BaseClass="grid" /> + + ADD OBJECT 'grdNotificari.cDataOra.Header1' AS header WITH ; + Alignment = 2, ; + Caption = "Dataora", ; + FontName = "Arial Narrow", ; + Name = "Header1" + *< END OBJECT: BaseClass="header" /> + + ADD OBJECT 'grdNotificari.cDataOra.Text1' AS textbox WITH ; + BackColor = 255,255,255, ; + BorderStyle = 0, ; + FontName = "Arial Narrow", ; + ForeColor = 0,0,0, ; + Margin = 0, ; + Name = "Text1", ; + ReadOnly = .T. + *< END OBJECT: BaseClass="textbox" /> + + ADD OBJECT 'grdNotificari.cIdNotificare.Header1' AS header WITH ; + Alignment = 2, ; + Caption = "Id", ; + FontName = "Arial Narrow", ; + Name = "Header1" + *< END OBJECT: BaseClass="header" /> + + ADD OBJECT 'grdNotificari.cIdNotificare.Text1' AS textbox WITH ; + BackColor = 255,255,255, ; + BorderStyle = 0, ; + FontName = "Arial Narrow", ; + ForeColor = 0,0,0, ; + Margin = 0, ; + Name = "Text1", ; + ReadOnly = .T. + *< END OBJECT: BaseClass="textbox" /> + + ADD OBJECT 'grdNotificari.cOrdine.Header1' AS header WITH ; + Alignment = 2, ; + Caption = "Ordine", ; + FontName = "Arial Narrow", ; + Name = "Header1" + *< END OBJECT: BaseClass="header" /> + + ADD OBJECT 'grdNotificari.cOrdine.Text1' AS textbox WITH ; + BackColor = 255,255,255, ; + BorderStyle = 0, ; + FontName = "Arial Narrow", ; + ForeColor = 0,0,0, ; + Margin = 0, ; + Name = "Text1", ; + ReadOnly = .T. + *< END OBJECT: BaseClass="textbox" /> + + ADD OBJECT 'grdNotificari.cTitlu.Header1' AS header WITH ; + Alignment = 2, ; + Caption = "Notificare", ; + FontName = "Arial Narrow", ; + Name = "Header1" + *< END OBJECT: BaseClass="header" /> + + ADD OBJECT 'grdNotificari.cTitlu.Text1' AS textbox WITH ; + BackColor = 255,255,255, ; + BorderStyle = 0, ; + FontName = "Arial Narrow", ; + ForeColor = 0,0,0, ; + Margin = 0, ; + Name = "Text1", ; + ReadOnly = .T. + *< END OBJECT: BaseClass="textbox" /> + + ADD OBJECT 'grdNotificari.cUtilizator.Header1' AS header WITH ; + Alignment = 2, ; + Caption = "Utilizator", ; + FontName = "Arial Narrow", ; + Name = "Header1" + *< END OBJECT: BaseClass="header" /> + + ADD OBJECT 'grdNotificari.cUtilizator.Text1' AS textbox WITH ; + BackColor = 255,255,255, ; + BorderStyle = 0, ; + FontName = "Arial Narrow", ; + ForeColor = 0,0,0, ; + Margin = 0, ; + Name = "Text1", ; + ReadOnly = .T. + *< END OBJECT: BaseClass="textbox" /> + + ADD OBJECT 'Gridextra1' AS gridextra WITH ; + gridexpression = Thisform.grdNotificari, ; + Left = 480, ; + Name = "Gridextra1", ; + Top = 192 + *< END OBJECT: ClassLib="..\utile\gridextras\gridextras.vcx" BaseClass="custom" /> + + ADD OBJECT 'lblOrdine' AS _label WITH ; + Anchor = 8, ; + Caption = "Ordine", ; + FontBold = .T., ; + Left = 544, ; + Name = "lblOrdine", ; + TabIndex = 11, ; + Top = 220 + *< END OBJECT: ClassLib="_baza.vcx" BaseClass="label" /> + + ADD OBJECT 'spnOrdine' AS _spinner WITH ; + Anchor = 8, ; + ControlSource = "cNotificari.ordine", ; + Height = 24, ; + Left = 588, ; + Name = "spnOrdine", ; + TabIndex = 2, ; + Top = 216, ; + Width = 59 + *< END OBJECT: ClassLib="_baza.vcx" BaseClass="spinner" /> + + ADD OBJECT 'text' AS _editbox WITH ; + Anchor = 15, ; + ControlSource = "cNotificari.text", ; + Height = 240, ; + Left = 12, ; + Name = "text", ; + TabIndex = 3, ; + Top = 247, ; + Width = 636 + *< END OBJECT: ClassLib="_baza.vcx" BaseClass="editbox" /> + + ADD OBJECT 'txtTitlu' AS _textbox WITH ; + ControlSource = "cNotificari.titlu", ; + Format = "K", ; + Height = 23, ; + Left = 48, ; + Name = "txtTitlu", ; + TabIndex = 1, ; + Top = 219, ; + Width = 432 + *< END OBJECT: ClassLib="_baza.vcx" BaseClass="textbox" /> + + PROCEDURE do_adauga + SELECT cNotificari + APPEND BLANK + REPLACE titlu WITH "_Notificare noua", ordine WITH 999, utilizator WITH m.gcUserNameApp, dataora WITH DATETIME(), id_notificare WITH 0 + thisform.Refresh + thisform.txtTitlu.SetFocus() + ENDPROC + + PROCEDURE do_listare + PRIVATE pcMesaj + LOCAL lcCursor, lcSelect + LOCAL lcAliasParteneri + lcSelect = SELECT() + lcCursor = [crsraport] + pcMesaj = THISFORM.TEXT.VALUE + SET STEP ON + lcAliasParteneri = THIS.cAliasParteneri + + SELECT nume, id_part, adresa, cod_fiscal, reg_comert, telefon,email FROM (m.lcAliasParteneri) ; + ORDER BY nume ; + INTO CURSOR (m.lcCursor) + + THISFORM.ALWAYSONTOP = .F. + goExport.export2frx(lcCursor, [notificare], , , , , , .T.) + THISFORM.ALWAYSONTOP = .T. + USE IN (SELECT(m.lcCursor)) + + RELEASE lcCursor, pcMesaj + SELECT (m.lcSelect) + ENDPROC + + PROCEDURE do_salvare + PRIVATE pcText, pcTitlu + LOCAL lcSql, lnIdNotificare, lnOrdine + LOCAL llSucces + llSucces = .F. + pcText = THISFORM.TEXT.VALUE + pcTitlu = ALLTRIM(thisform.txtTitlu.Value) + lnIdNotificare = NVL(cNotificari.id_notificare, 0) + lnOrdine = THISFORM.spnOrdine.VALUE + this.but_salveaza1.SetFocus() + IF !EMPTY(m.pcText) + IF EMPTY(m.lnIdNotificare) + PRIVATE pnIdNotificare + pnIdNotificare = 0 + lcSql = [insert into notificari (titlu, id_util, ordine) values (?pcTitlu, ?gnIdUtil, 999) returning id_notificare into ?@pnIdNotificare] + llSucces = goExecutor.oExecuta(m.lcSql) + IF m.llSucces + SELECT cNotificari + REPLACE id_notificare WITH m.pnIdNotificare + ENDIF + ELSE + IF aMessagebox("Doriti sa salvati notificarea in baza de date?", 32 + 4, "Confirmare salvare") = 6 + lcSql = [update notificari set text = ?pcText, ordine = ] + ALLTRIM(STR(m.lnOrdine)) + [ where id_notificare = ] + ALLTRIM(STR(m.lnIdNotificare)) + llSucces = goExecutor.oExecuta(m.lcSql) + ENDIF + ENDIF + IF m.llSucces + aMessagebox("Notificarea a fost salvata in baza de date!", 64, "Info salvare") + ENDIF + ENDIF + RELEASE pcText + + ENDPROC + + PROCEDURE do_sterge + LOCAL lcSql, llSucces, lnIdNotificare + lnIdNotificare = NVL(cNotificari.id_notificare, 0) + IF !EMPTY(m.lnIdNotificare) + lcSql = [update notificari set sters = 1, dataoras = sysdate, id_utils = ?gnIdUtil where id_notificare = ] + ALLTRIM(STR(m.lnIdNotificare)) + llSucces = goExecutor.oExecuta(m.lcSql) + IF m.llSucces + SELECT cNotificari + DELETE + THISFORM.griNotificari.SETFOCUS() + THISFORM.REFRESH + ENDIF + ENDIF + ENDPROC + + PROCEDURE Init + Lparameters tnIdNotificare, tcAliasParteneri + + this.nIdNotificare = IIF(!EMPTY(m.tnIdNotificare), m.tnIdNotificare,0) + this.cAliasParteneri = IIF(!EMPTY(m.tcAliasParteneri), m.tcAliasParteneri, '') + IF !EMPTY(m.tnIdNotificare) + SELECT cNotificari + LOCATE FOR id_notificare = m.tnIdNotificare + IF !FOUND() + GO TOP + ENDIF + ENDIF + + Thisform.gridextra1.setup() + + ENDPROC + + PROCEDURE update_ireg + ENDPROC + + PROCEDURE grdNotificari.AfterRowColChange + LPARAMETERS nColIndex + IF INLIST(this.RowColChange,1,3) + thisform.text.Refresh() + thisform.txtTitlu.Refresh() + thisform.spnOrdine.Refresh() + ENDIF + ENDPROC + +ENDDEFINE + +DEFINE CLASS frm_part_cont AS frm_termin OF "_frm_child.vcx" + *< CLASSDATA: Baseclass="form" Timestamp="" Scale="Pixels" Uniqueid="" /> + + *-- OBJECTDATA items order determines ZOrder / El orden de los items OBJECTDATA determina el ZOrder + *< OBJECTDATA: ObjPath="But_listare2" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="Ct_grid_search1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="Ct_grid_order1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="Grid1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="Grid1.Column1.Header1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="Grid1.Column1.Text1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="Grid1.Column2.Header1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="Grid1.Column2.Text1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="Grid1.Column3.Header1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="Grid1.Column3.Check1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="Grid_parteneri" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="Grid_parteneri.Column1.Header1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="Grid_parteneri.Column1.Text1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="_txtpartener" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="But_cautare1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="Ck_cont" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="Ck_acont" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="Label1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="But_excel1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="Label3" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="chkToateConturile" UniqueID="" Timestamp="" /> + + * + *m: update_ireg + *p: cordinegrid1 + *p: nid_part + * + + * + BorderStyle = 3 + cbuton1 = + cbuton2 = but_listare1;but_excel1 + cordinegrid1 = + DoCreate = .T. + Height = 503 + Name = "frm_part_cont" + nid_part = -1 + Width = 664 + WindowState = 2 + _shape1.Anchor = 10 + _shape1.Height = 29 + _shape1.Left = 0 + _shape1.Name = "_shape1" + _shape1.Top = 0 + _shape1.Width = 670 + _shape2.Anchor = 9 + _shape2.Height = 29 + _shape2.Left = 602 + _shape2.Name = "_shape2" + _shape2.Top = 0 + _shape2.Width = 70 + Lb_titlu_alb_b121.Caption = "INVENTARUL PATRIMONIULUI" + Lb_titlu_alb_b121.FontBold = .T. + Lb_titlu_alb_b121.FontSize = 11 + Lb_titlu_alb_b121.Name = "Lb_titlu_alb_b121" + BUT_TERMIN1.Anchor = 9 + BUT_TERMIN1.Left = 634 + BUT_TERMIN1.Name = "BUT_TERMIN1" + BUT_TERMIN1.Top = 1 + Gridsort1.Name = "Gridsort1" + * + + ADD OBJECT '_txtpartener' AS _textbox WITH ; + Anchor = 2, ; + DisabledForeColor = 0,0,0, ; + Enabled = .F., ; + FontItalic = .T., ; + FontSize = 10, ; + ForeColor = 0,0,0, ; + Height = 22, ; + Left = 15, ; + Name = "_txtpartener", ; + Top = 35, ; + Width = 307 + *< END OBJECT: ClassLib="_baza.vcx" BaseClass="textbox" /> + + ADD OBJECT 'But_cautare1' AS but_cautare WITH ; + Anchor = 2, ; + Left = 324, ; + Name = "But_cautare1", ; + Top = 31 + *< END OBJECT: ClassLib="cmd_butoane.vcx" BaseClass="commandbutton" /> + + ADD OBJECT 'But_excel1' AS but_excel WITH ; + Anchor = 9, ; + caction = do_excel, ; + Comment = "*:OnResize=RT", ; + Height = 27, ; + Left = 571, ; + Name = "But_excel1", ; + TabIndex = 42, ; + Top = 1, ; + Visible = .T., ; + Width = 30 + *< END OBJECT: ClassLib="cmd_butoane.vcx" BaseClass="commandbutton" /> + + ADD OBJECT 'But_listare2' AS but_listare WITH ; + Anchor = 9, ; + caction = do_listare, ; + Left = 604, ; + Name = "But_listare2", ; + ToolTipText = "Listare(CTRL+P)", ; + Top = 1, ; + Visible = .T. + *< END OBJECT: ClassLib="cmd_butoane.vcx" BaseClass="commandbutton" /> + + ADD OBJECT 'chkToateConturile' AS checkbox WITH ; + Alignment = 0, ; + Anchor = 9, ; + AutoSize = .F., ; + BackStyle = 0, ; + Caption = "Toate conturile", ; + FontSize = 10, ; + Height = 18, ; + Left = 551, ; + Name = "chkToateConturile", ; + ToolTipText = "Arata toate conturile sau doar pe cele selectate", ; + Top = 52, ; + Value = .F., ; + Width = 104 + *< END OBJECT: BaseClass="checkbox" /> + + ADD OBJECT 'Ck_acont' AS checkbox WITH ; + Alignment = 0, ; + Anchor = 9, ; + AutoSize = .F., ; + BackStyle = 0, ; + Caption = "Analitic", ; + FontSize = 10, ; + Height = 18, ; + Left = 533, ; + Name = "Ck_acont", ; + Top = 34, ; + Value = 1, ; + Width = 62 + *< END OBJECT: BaseClass="checkbox" /> + + ADD OBJECT 'Ck_cont' AS checkbox WITH ; + Alignment = 0, ; + Anchor = 9, ; + BackStyle = 0, ; + Caption = "Cont", ; + FontSize = 10, ; + Height = 17, ; + Left = 485, ; + Name = "Ck_cont", ; + Top = 34, ; + Value = 1, ; + Width = 43 + *< END OBJECT: BaseClass="checkbox" /> + + ADD OBJECT 'Ct_grid_order1' AS ct_grid_order WITH ; + Height = 210, ; + Left = 540, ; + Name = "Ct_grid_order1", ; + Top = 456, ; + Visible = .F., ; + Width = 354, ; + _GRID1.Height = 141, ; + _GRID1.Left = 6, ; + _GRID1.Name = "_GRID1", ; + _GRID1.Top = 62, ; + _GRID1.Width = 343, ; + Titlu.Caption = "PARTENERI / CONTURI", ; + Titlu.Name = "Titlu", ; + Cb_tx_cautare1.Criteriu.Name = "Criteriu", ; + Cb_tx_cautare1.Name = "Cb_tx_cautare1", ; + Cb_tx_cautare1.Text.Name = "Text" + *< END OBJECT: ClassLib="ferestre_cere_date.vcx" BaseClass="container" /> + + ADD OBJECT 'Ct_grid_search1' AS ct_grid_search WITH ; + Anchor = 15, ; + Height = 256, ; + Left = 8, ; + Name = "Ct_grid_search1", ; + Top = 247, ; + Width = 656, ; + _GRID1.Height = 214, ; + _GRID1.HighlightStyle = 2, ; + _GRID1.Left = 6, ; + _GRID1.Name = "_GRID1", ; + _GRID1.RecordMark = .T., ; + _GRID1.Top = 38, ; + _GRID1.Width = 646, ; + Titlu.Caption = "ÎNREGISTRÃRI", ; + Titlu.Left = 10, ; + Titlu.Name = "Titlu", ; + Titlu.Top = 11, ; + Cb_tx_cautare1.Criteriu.Name = "Criteriu", ; + Cb_tx_cautare1.Left = 350, ; + Cb_tx_cautare1.Name = "Cb_tx_cautare1", ; + Cb_tx_cautare1.Text.Name = "Text", ; + Cb_tx_cautare1.Top = 7, ; + Cb_tx_cautare1.Visible = .F. + *< END OBJECT: ClassLib="ferestre_cere_date.vcx" BaseClass="container" /> + + ADD OBJECT 'Grid1' AS grid WITH ; + Anchor = 9, ; + ColumnCount = 3, ; + DeleteMark = .F., ; + FontSize = 10, ; + GridLines = 0, ; + HeaderHeight = 19, ; + Height = 175, ; + Left = 360, ; + Name = "Grid1", ; + Panel = 1, ; + ReadOnly = .T., ; + RecordMark = .F., ; + RowHeight = 19, ; + ScrollBars = 2, ; + Top = 72, ; + Width = 300, ; + Column1.FontName = "Arial", ; + Column1.FontSize = 10, ; + Column1.Name = "Column1", ; + Column1.ReadOnly = .T., ; + Column1.Width = 58, ; + Column2.FontName = "Arial", ; + Column2.FontSize = 10, ; + Column2.Name = "Column2", ; + Column2.ReadOnly = .T., ; + Column2.Width = 164, ; + Column3.FontName = "Arial", ; + Column3.FontSize = 10, ; + Column3.Name = "Column3", ; + Column3.ReadOnly = .F., ; + Column3.Sparse = .F., ; + Column3.Width = 34 + *< END OBJECT: BaseClass="grid" /> + + ADD OBJECT 'Grid1.Column1.Header1' AS header WITH ; + Caption = "Cont", ; + FontName = "Arial", ; + FontSize = 10, ; + Name = "Header1" + *< END OBJECT: BaseClass="header" /> + + ADD OBJECT 'Grid1.Column1.Text1' AS textbox WITH ; + BackColor = 255,255,255, ; + BorderStyle = 0, ; + FontName = "Arial", ; + FontSize = 10, ; + ForeColor = 0,0,0, ; + Margin = 0, ; + Name = "Text1", ; + ReadOnly = .T. + *< END OBJECT: BaseClass="textbox" /> + + ADD OBJECT 'Grid1.Column2.Header1' AS header WITH ; + Caption = "Denumire", ; + FontName = "Arial", ; + FontSize = 10, ; + Name = "Header1" + *< END OBJECT: BaseClass="header" /> + + ADD OBJECT 'Grid1.Column2.Text1' AS textbox WITH ; + BackColor = 255,255,255, ; + BorderStyle = 0, ; + FontName = "Arial", ; + FontSize = 10, ; + ForeColor = 0,0,0, ; + Margin = 0, ; + Name = "Text1", ; + ReadOnly = .T. + *< END OBJECT: BaseClass="textbox" /> + + ADD OBJECT 'Grid1.Column3.Check1' AS checkbox WITH ; + Alignment = 0, ; + Caption = "", ; + FontName = "Arial", ; + FontSize = 10, ; + Height = 17, ; + Left = 16, ; + Name = "Check1", ; + ReadOnly = .F., ; + Top = 31, ; + Width = 60 + *< END OBJECT: BaseClass="checkbox" /> + + ADD OBJECT 'Grid1.Column3.Header1' AS header WITH ; + Caption = "Ales", ; + FontName = "Arial", ; + FontSize = 10, ; + Name = "Header1" + *< END OBJECT: BaseClass="header" /> + + ADD OBJECT 'Grid_parteneri' AS grid WITH ; + Anchor = 11, ; + ColumnCount = 1, ; + DeleteMark = .F., ; + FontSize = 10, ; + Height = 176, ; + HighlightStyle = 2, ; + Left = 14, ; + Name = "Grid_parteneri", ; + ReadOnly = .T., ; + RecordMark = .T., ; + RowHeight = 19, ; + Top = 72, ; + Width = 334, ; + Column1.FontName = "Arial", ; + Column1.FontSize = 10, ; + Column1.Name = "Column1", ; + Column1.ReadOnly = .T. + *< END OBJECT: BaseClass="grid" /> + + ADD OBJECT 'Grid_parteneri.Column1.Header1' AS header WITH ; + Caption = "Header1", ; + FontName = "Arial", ; + FontSize = 10, ; + Name = "Header1" + *< END OBJECT: BaseClass="header" /> + + ADD OBJECT 'Grid_parteneri.Column1.Text1' AS textbox WITH ; + BackColor = 255,255,255, ; + BorderStyle = 0, ; + FontName = "Arial", ; + FontSize = 10, ; + ForeColor = 0,0,0, ; + Margin = 0, ; + Name = "Text1", ; + ReadOnly = .T. + *< END OBJECT: BaseClass="textbox" /> + + ADD OBJECT 'Label1' AS label WITH ; + Anchor = 9, ; + AutoSize = .T., ; + BackStyle = 0, ; + Caption = "Listare grupatã dupã :", ; + FontCharSet = 238, ; + FontSize = 10, ; + Height = 18, ; + Left = 360, ; + Name = "Label1", ; + Top = 33, ; + Width = 128 + *< END OBJECT: BaseClass="label" /> + + ADD OBJECT 'Label3' AS label WITH ; + Anchor = 9, ; + AutoSize = .T., ; + BackStyle = 0, ; + Caption = "Selectati conturile pentru listare", ; + FontCharSet = 238, ; + FontSize = 10, ; + Height = 18, ; + Left = 360, ; + Name = "Label3", ; + Top = 52, ; + Width = 185 + *< END OBJECT: BaseClass="label" /> + + PROCEDURE do_cauta + pcselect = [select id_part,denumire,cod_fiscal from nom_parteneri b] + pcFiltruOriginal = [id_part in (select distinct id_part from balanta_parteneri where an = ?gnAn and luna = ?gnLuna] + ; + gcCondSucursala + [)] + pcfiltru = [1=2] + pcschema = [] + pcorder = [NUME] + pccoloane = [denumire,cod_fiscal] + pcTitlu = [Selectati partenerul] + lcNumeProc = [] + pcTitluColoane = [Nume,Cod fiscal] + llToateIreg = .T. + locauta = cauta_alfa(pcselect,pcfiltru,pcschema,pcorder,pccoloane,pcTitlu,pcTitluColoane,lcNumeProc,llToateIreg, pcFiltruOriginal) && 11.07.2007 + IF gnButon = 2 + lcFiltru = [1=1] + ELSE + IF EMPTY(locauta.id_part) + locauta.id_part = -1 + lcFiltru = [1=1] + ELSE + lcFiltru = [id_part = ] + ALLTRIM(STR(locauta.id_part)) + ENDIF + + ENDIF + lcSel = this.grid_parteneri.RecordSource + SELECT (lcSel) + SET FILTER TO &lcFiltru + this.grid_parteneri.SetFocus + + ENDPROC + + PROCEDURE do_excel + This.do_listare(.T.) + ENDPROC + + PROCEDURE do_listare + Lparameters tlXls + *!* 08.12.2010 + *!* marius.muut + *!* se poate lista o notificare cu sold 0 (fara facturi) + *!* export in XLS + + Local llVal, lcSelect + Local lcCont, lcFileXLS, lnTipRaport + *:Global pcOrder, pnOrder + lcSelect = Select() + llVal = .T. + + This.AlwaysOnTop = .F. + pcOrder = [nume] + pnOrder = 0 + If This.ck_cont.Value = 1 + pcOrder = pcOrder + [,cont] + pnOrder = pnOrder + 1 + Endif + If This.ck_acont.Value = 1 + pcOrder = pcOrder + [,acont] + pnOrder = pnOrder + 2 + Endif + + Create Cursor crsConturiTemp (Cont c(4)) + + Select (This.grid1.RecordSource) + Scan For ales = 1 + lcCont = Cont + Insert Into crsConturiTemp (Cont) Values (lcCont) + Endscan + + Select * From (This.ct_grid_search1.cnumecursor) ; + Where Cont In (Select Cont From crsConturiTemp) ; + Into Cursor crs_list ; + Order By &pcOrder ; + Readwrite + + *!* 08.12.2010 + If _Tally = 0 + Select crs_list + Append Blank + Endif + *!* 08.12.2010 ^ + Use In crsConturiTemp + + If This.ck_cont.Value = 0 + Update crs_list Set Cont = '' + Endif + + *!* 08.12.2010 + If tlXls + lcFileXLS = Putfile("Salvare raport", "inventar_patrimoniu.xls", "xls") + If !Empty(m.lcFileXLS) + Select crs_list + Copy To (m.lcFileXLS) Type Xl5 + open_default_app(m.lcFileXLS) + Endif + Else + lnTipRaport = xmenu('\!',0+48,"Atentie") + RETURN + ENDIF + ENDPROC + + PROCEDURE Ck_cont.Valid + IF this.Value = 0 + thisform.ck_acont.Value = 0 + thisform.update_ireg() + ENDIF + + ENDPROC + + PROCEDURE Ct_grid_search1.corderby_assign + Lparameters vNewVal + *To do: Modify this routine for the Assign method + If Thisform.cOrdineGrid1 = m.vNewVal + lcASC = Iif(This.Casc = 'ASC','DESC','ASC') + Else + lcASC = 'ASC' + Endif + Thisform.cOrdineGrid1 = m.vNewVal + This.Casc = lcASC + If lcASC = 'ASC' + This.cPicture = 'Up.bmp' + Else + This.cPicture = 'Down.bmp' + Endif + If !Inlist(Type(Thisform.cOrdineGrid1),'C','T','D','N') + This.cb_tx_cautare1.Text.Enabled = .F. + Else + This.cb_tx_cautare1.Text.Enabled = .T. + Endif + lcOrder = Iif(!Empty(Thisform.cOrdineGrid1),Thisform.cOrdineGrid1 + [ ] + This.Casc, '') + lcCursor = This._grid1.RecordSource + This._grid1.salveaza_grid() + copiaza_structura_cursor(lcCursor,lcCursor+[1]) + Select (lcCursor+[1]) + Append From Dbf(lcCursor) + Use In (lcCursor) + Select * From (lcCursor+[1]) Order By &lcOrder Into Cursor (lcCursor) + This._grid1.incarca_grid() + + ENDPROC + + PROCEDURE Grid_parteneri.AfterRowColChange + LPARAMETERS nColIndex + + SELECT crs_parteneri + SCATTER NAME opart + thisform.nid_part = opart.id_part + IF thisform.nid_part = -1 + lcFiltru = [] + ELSE + lcFiltru = [ and id_part = ] + ALLTRIM(STR(thisform.nid_part)) + ENDIF + lcfiltru = thisform.ct_GRID_SEARCH1.cfiltruoriginal + lcFiltru + *!* thisform.ct_GRID_SEARCH1.actualizeaza_grid(lcFiltru) + + thisform.update_ireg() + + SELECT crs_parteneri + lcLista = [-1] + FOR i = 1 TO FCOUNT('crs_parteneri') + lcI = Alltrim(Str(i)) + lcField = UPPER(Alltrim(Field(i))) + lnVal = opart.&lcField + IF TYPE('lnVal') = 'N' + IF lnVal = 1 AND UPPER(SUBSTR(lcField,1,1)) = 'C' + lcLista = lcLista + ',' + SUBSTR(lcField,2) + ENDIF + ENDIF + ENDFOR + SELECT crs_conturi + UPDATE crs_conturi SET ales = 1 WHERE INLIST(VAL(cont),&lcLista) + UPDATE crs_conturi SET ales = 0 WHERE !INLIST(VAL(cont),&lcLista) + *!* REPLACE ALL ales WITH 1 FOR INLIST(VAL(cont),&lcLista) + *!* REPLACE ALL ales WITH 0 FOR !INLIST(VAL(cont),&lcLista) + LOCATE + thisform.grid1.Refresh + SELECT crs_parteneri + + + ENDPROC + +ENDDEFINE + +DEFINE CLASS frm_rap_balana AS _frmbase OF "_frm_base.vcx" + *< CLASSDATA: Baseclass="form" Timestamp="" Scale="Pixels" Uniqueid="" /> + + *-- OBJECTDATA items order determines ZOrder / El orden de los items OBJECTDATA determina el ZOrder + *< OBJECTDATA: ObjPath="Shape1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="Shape3" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="Shape2" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="Label9" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="Label8" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="Label7" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="cktotal4" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="ckanalitic" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="cktotal2" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="cktotal1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="cktotal3" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="Ck_cont" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="txtcont" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="Label10" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="Ct1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="Txtcont2" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="Label2" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="Label3" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="Label4" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="Label1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="ckregjurnal_redus" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="Text1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="Text2" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="But_listare1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="cboRaport" UniqueID="" Timestamp="" /> + + * + *m: afisactual && actualizeaza filtrarea + *p: calias + *p: cfiltru + *p: raport + * + + * + BorderStyle = 2 + cfiltru = + DoCreate = .T. + Height = 331 + Name = "frm_rap_balana" + raport = "" + Width = 360 + _shape1.Height = 29 + _shape1.Left = 0 + _shape1.Name = "_shape1" + _shape1.Top = 0 + _shape1.Width = 450 + _shape1.ZOrderSet = 3 + _shape2.Height = 29 + _shape2.Left = 300 + _shape2.Name = "_shape2" + _shape2.Top = 0 + _shape2.Width = 60 + _shape2.ZOrderSet = 4 + Lb_titlu_alb_b121.Caption = "Rapoarte bazate pe balanta" + Lb_titlu_alb_b121.FontBold = .T. + Lb_titlu_alb_b121.FontName = "Arial" + Lb_titlu_alb_b121.FontSize = 10 + Lb_titlu_alb_b121.Left = 6 + Lb_titlu_alb_b121.Name = "Lb_titlu_alb_b121" + Lb_titlu_alb_b121.TabIndex = 14 + Lb_titlu_alb_b121.Top = 8 + Lb_titlu_alb_b121.ZOrderSet = 5 + BUT_TERMIN1.Left = 330 + BUT_TERMIN1.Name = "BUT_TERMIN1" + BUT_TERMIN1.TabIndex = 13 + BUT_TERMIN1.Top = 1 + BUT_TERMIN1.ZOrderSet = 6 + Gridsort1.Name = "Gridsort1" + * + + ADD OBJECT 'But_listare1' AS but_listare WITH ; + Left = 301, ; + Name = "But_listare1", ; + Top = 1 + *< END OBJECT: ClassLib="cmd_butoane.vcx" BaseClass="commandbutton" /> + + ADD OBJECT 'cboRaport' AS combobox WITH ; + BoundTo = .T., ; + ColumnCount = 1, ; + Comment = "*:OnResize=RT", ; + Height = 24, ; + Left = 119, ; + Name = "cboRaport", ; + RowSource = "4 egalitati 14-6-30 (A4),4 egalitati 14-6-30/A (A4),4 egalitati special (A4),5 egalitati 14-6-30/a (A3),6 egalitati 14-6-30/b (A3)", ; + RowSourceType = 1, ; + Style = 2, ; + Top = 261, ; + Width = 200 + *< END OBJECT: BaseClass="combobox" /> + + ADD OBJECT 'Ck_cont' AS ck_filtru_text WITH ; + Alignment = 0, ; + AutoSize = .T., ; + camp_nume = cont, ; + Caption = "Selectie cont", ; + Comment = "*:OnResize=ST", ; + FontName = "Arial Narrow", ; + FontSize = 10, ; + Left = 180, ; + Name = "Ck_cont", ; + TabIndex = 4, ; + Top = 107, ; + ZOrderSet = 13 + *< END OBJECT: ClassLib="caut_ora.vcx" BaseClass="checkbox" /> + + ADD OBJECT 'ckanalitic' AS checkbox WITH ; + Alignment = 0, ; + AutoSize = .T., ; + BackStyle = 0, ; + Caption = "Conturi analitice", ; + Comment = "*:OnResize=LT", ; + ControlSource = "", ; + FontBold = .F., ; + FontName = "Arial Narrow", ; + FontSize = 10, ; + Height = 18, ; + Left = 37, ; + Name = "ckanalitic", ; + TabIndex = 6, ; + Top = 200, ; + Value = 0, ; + Width = 92, ; + ZOrderSet = 8 + *< END OBJECT: BaseClass="checkbox" /> + + ADD OBJECT 'ckregjurnal_redus' AS checkbox WITH ; + Alignment = 0, ; + AutoSize = .T., ; + BackStyle = 0, ; + Caption = "Registrul jurnal redus", ; + Comment = "*:OnResize=LT", ; + ControlSource = "", ; + FontBold = .F., ; + FontName = "Arial Narrow", ; + FontSize = 10, ; + Height = 18, ; + Left = 37, ; + Name = "ckregjurnal_redus", ; + TabIndex = 6, ; + Top = 291, ; + Value = 0, ; + Width = 118, ; + ZOrderSet = 8 + *< END OBJECT: BaseClass="checkbox" /> + + ADD OBJECT 'cktotal1' AS checkbox WITH ; + Alignment = 0, ; + AutoSize = .T., ; + BackStyle = 0, ; + Caption = "Total clase (gr.1)", ; + Comment = "*:OnResize=LT", ; + ControlSource = "", ; + FontBold = .F., ; + FontName = "Arial Narrow", ; + FontSize = 10, ; + Height = 18, ; + Left = 180, ; + Name = "cktotal1", ; + TabIndex = 7, ; + Top = 178, ; + Value = 0, ; + Width = 98, ; + ZOrderSet = 11 + *< END OBJECT: BaseClass="checkbox" /> + + ADD OBJECT 'cktotal2' AS checkbox WITH ; + Alignment = 0, ; + AutoSize = .T., ; + BackStyle = 0, ; + Caption = "Total grupe (gr.2)", ; + Comment = "*:OnResize=LT", ; + ControlSource = "", ; + FontBold = .F., ; + FontName = "Arial Narrow", ; + FontSize = 10, ; + Height = 18, ; + Left = 180, ; + Name = "cktotal2", ; + TabIndex = 8, ; + Top = 197, ; + Value = 0, ; + Width = 102, ; + ZOrderSet = 10 + *< END OBJECT: BaseClass="checkbox" /> + + ADD OBJECT 'cktotal3' AS checkbox WITH ; + Alignment = 0, ; + AutoSize = .T., ; + BackStyle = 0, ; + Caption = "Total conturi sintetice (gr.3)", ; + Comment = "*:OnResize=LT", ; + ControlSource = "", ; + FontBold = .F., ; + FontName = "Arial Narrow", ; + FontSize = 10, ; + Height = 18, ; + Left = 180, ; + Name = "cktotal3", ; + TabIndex = 9, ; + Top = 217, ; + Value = 0, ; + Width = 144, ; + ZOrderSet = 12 + *< END OBJECT: BaseClass="checkbox" /> + + ADD OBJECT 'cktotal4' AS checkbox WITH ; + Alignment = 0, ; + AutoSize = .T., ; + BackStyle = 0, ; + Caption = "Conturi sintetice", ; + Comment = "*:OnResize=LT", ; + ControlSource = "", ; + FontBold = .F., ; + FontName = "Arial Narrow", ; + FontSize = 10, ; + Height = 18, ; + Left = 37, ; + Name = "cktotal4", ; + TabIndex = 5, ; + Top = 178, ; + Value = 0, ; + Width = 91, ; + ZOrderSet = 7 + *< END OBJECT: BaseClass="checkbox" /> + + ADD OBJECT 'Ct1' AS ct WITH ; + Height = 23, ; + Left = 98, ; + Name = "Ct1", ; + SpecialEffect = 0, ; + TabIndex = 3, ; + Top = 128, ; + Width = 54, ; + ZOrderSet = 18, ; + Shape1.Name = "Shape1", ; + Text1.Height = 21, ; + Text1.Left = 1, ; + Text1.Name = "Text1", ; + Text1.Top = 1, ; + Text1.Width = 13, ; + Text2.Left = 14, ; + Text2.Name = "Text2", ; + Text2.Top = 1, ; + Text3.Left = 26, ; + Text3.Name = "Text3", ; + Text3.Top = 1, ; + Text4.Height = 21, ; + Text4.Left = 39, ; + Text4.Name = "Text4", ; + Text4.Top = 1, ; + Text4.Width = 14, ; + Line1.Left = 14, ; + Line1.Name = "Line1", ; + Line1.Top = -9, ; + Line2.Left = 26, ; + Line2.Name = "Line2", ; + Line2.Top = -9, ; + Line3.Left = 39, ; + Line3.Name = "Line3", ; + Line3.Top = -9 + *< END OBJECT: ClassLib="ferestre_cere_date.vcx" BaseClass="container" /> + + ADD OBJECT 'Label1' AS label WITH ; + AutoSize = .T., ; + BackColor = 255,255,255, ; + BackStyle = 1, ; + Caption = "Cont", ; + Comment = "*:OnResize=LT", ; + FontBold = .T., ; + FontName = "Arial Narrow", ; + FontSize = 10, ; + Height = 18, ; + Left = 36, ; + Name = "Label1", ; + TabIndex = 20, ; + Top = 81, ; + Width = 28, ; + ZOrderSet = 23 + *< END OBJECT: BaseClass="label" /> + + ADD OBJECT 'Label10' AS label WITH ; + AutoSize = .T., ; + BackStyle = 0, ; + Caption = "Raport balanta", ; + Comment = "*:OnResize=RT", ; + FontBold = .F., ; + FontSize = 8, ; + Height = 16, ; + Left = 37, ; + Name = "Label10", ; + TabIndex = 13, ; + Top = 266, ; + Width = 72, ; + ZOrderSet = 14 + *< END OBJECT: BaseClass="label" /> + + ADD OBJECT 'Label2' AS label WITH ; + AutoSize = .T., ; + BackStyle = 0, ; + Caption = "De la", ; + Comment = "*:OnResize=LT", ; + FontBold = .F., ; + FontName = "Arial Narrow", ; + FontSize = 10, ; + Height = 18, ; + Left = 36, ; + Name = "Label2", ; + TabIndex = 15, ; + Top = 106, ; + Width = 27, ; + ZOrderSet = 20 + *< END OBJECT: BaseClass="label" /> + + ADD OBJECT 'Label3' AS label WITH ; + AutoSize = .T., ; + BackStyle = 0, ; + Caption = "Analitic", ; + Comment = "*:OnResize=LT", ; + FontBold = .F., ; + FontName = "Arial Narrow", ; + FontSize = 10, ; + Height = 18, ; + Left = 36, ; + Name = "Label3", ; + TabIndex = 19, ; + Top = 132, ; + Width = 34, ; + ZOrderSet = 21 + *< END OBJECT: BaseClass="label" /> + + ADD OBJECT 'Label4' AS label WITH ; + AutoSize = .T., ; + BackStyle = 0, ; + Caption = "la", ; + Comment = "*:OnResize=LT", ; + FontBold = .F., ; + FontName = "Arial Narrow", ; + FontSize = 10, ; + Height = 18, ; + Left = 102, ; + Name = "Label4", ; + TabIndex = 18, ; + Top = 106, ; + Width = 10, ; + ZOrderSet = 22 + *< END OBJECT: BaseClass="label" /> + + ADD OBJECT 'Label7' AS label WITH ; + AutoSize = .T., ; + BackStyle = 0, ; + Caption = "Perioada de referinta", ; + Comment = "*:OnResize=LT", ; + FontBold = .T., ; + FontName = "Arial Narrow", ; + FontSize = 11, ; + Height = 22, ; + Left = 35, ; + Name = "Label7", ; + TabIndex = 17, ; + Top = 33, ; + Width = 128, ; + ZOrderSet = 7 + *< END OBJECT: BaseClass="label" /> + + ADD OBJECT 'Label8' AS label WITH ; + AutoSize = .T., ; + BackStyle = 0, ; + Caption = "Anul:", ; + Comment = "*:OnResize=LT", ; + FontBold = .F., ; + FontName = "Arial Narrow", ; + FontSize = 10, ; + Height = 18, ; + Left = 121, ; + Name = "Label8", ; + TabIndex = 17, ; + Top = 60, ; + Width = 26, ; + ZOrderSet = 7 + *< END OBJECT: BaseClass="label" /> + + ADD OBJECT 'Label9' AS label WITH ; + AutoSize = .T., ; + BackStyle = 0, ; + Caption = "Luna:", ; + Comment = "*:OnResize=LT", ; + FontBold = .F., ; + FontName = "Arial Narrow", ; + FontSize = 10, ; + Height = 18, ; + Left = 35, ; + Name = "Label9", ; + TabIndex = 17, ; + Top = 60, ; + Width = 29, ; + ZOrderSet = 7 + *< END OBJECT: BaseClass="label" /> + + ADD OBJECT 'Shape1' AS shape WITH ; + BackStyle = 0, ; + BorderColor = 128,128,128, ; + Height = 68, ; + Left = 24, ; + Name = "Shape1", ; + Top = 90, ; + Width = 313, ; + ZOrderSet = 0 + *< END OBJECT: BaseClass="shape" /> + + ADD OBJECT 'Shape2' AS shape WITH ; + BackStyle = 0, ; + BorderColor = 128,128,128, ; + Height = 73, ; + Left = 24, ; + Name = "Shape2", ; + Top = 168, ; + Width = 313, ; + ZOrderSet = 2 + *< END OBJECT: BaseClass="shape" /> + + ADD OBJECT 'Shape3' AS shape WITH ; + BackStyle = 0, ; + BorderColor = 128,128,128, ; + Height = 65, ; + Left = 24, ; + Name = "Shape3", ; + Top = 251, ; + Width = 313, ; + ZOrderSet = 1 + *< END OBJECT: BaseClass="shape" /> + + ADD OBJECT 'Text1' AS textbox WITH ; + BorderColor = 128,128,128, ; + ControlSource = "gnluna", ; + Enabled = .F., ; + FontName = "Arial Narrow", ; + FontSize = 10, ; + Height = 19, ; + Left = 65, ; + Name = "Text1", ; + SpecialEffect = 1, ; + Top = 56, ; + Width = 38 + *< END OBJECT: BaseClass="textbox" /> + + ADD OBJECT 'Text2' AS textbox WITH ; + BorderColor = 128,128,128, ; + ControlSource = "gnan", ; + Enabled = .F., ; + FontName = "Arial Narrow", ; + FontSize = 10, ; + Height = 19, ; + Left = 148, ; + Name = "Text2", ; + SpecialEffect = 1, ; + Top = 56, ; + Width = 38 + *< END OBJECT: BaseClass="textbox" /> + + ADD OBJECT 'txtcont' AS textbox WITH ; + Comment = "*:OnResize=LT", ; + ControlSource = "", ; + Height = 23, ; + Left = 61, ; + Name = "txtcont", ; + SpecialEffect = 1, ; + TabIndex = 1, ; + Top = 102, ; + Width = 37, ; + ZOrderSet = 16 + *< END OBJECT: BaseClass="textbox" /> + + ADD OBJECT 'Txtcont2' AS textbox WITH ; + Comment = "*:OnResize=LT", ; + ControlSource = "", ; + Format = "k", ; + Height = 23, ; + Left = 111, ; + Name = "Txtcont2", ; + SpecialEffect = 1, ; + TabIndex = 2, ; + Top = 102, ; + Width = 37, ; + ZOrderSet = 19 + *< END OBJECT: BaseClass="textbox" /> + + PROCEDURE Activate + DO CASE + CASE UPPER(alltrim(THIS.raport)) = UPPER("Balanta") + THIS.cktotal4.VALUE = 1 + CASE UPPER(ALLTRIM(THIS.raport)) = UPPER("Registrul jurnal redus") + THIS.cktotal4.VALUE = 1 + THIS.opt2.VALUE = 3 + ENDCASE + + ENDPROC + + PROCEDURE afisactual && actualizeaza filtrarea + Private lcbal,lcacont, lcFiltre + lcbal=Thisform.calias + + lcFiltre='1=1' + + lccont1=Alltrim(This.txtcont.Value) + lccont2=Alltrim(This.txtcont2.Value) + + If Empty(lccont2) + lccont2 = lccont1 + Endif + + lcacont1=Alltrim(This.ct1.text1.Value) + lcacont2=Alltrim(This.ct1.text2.Value) + lcacont3=Alltrim(This.ct1.text3.Value) + lcacont4=Alltrim(This.ct1.text4.Value) + + Do Case + Case Len(lccont1)=1 + lcFiltre = lcFiltre + [ and VAL(LEFT(G1,1))>=] + lcCont1 + Case Len(lccont1)=2 + lcFiltre = lcFiltre + [ and VAL(PADR(ALLTRIM(G2),2,'0'))>=] + lcCont1 + Case Len(lccont1)=3 + lcFiltre = lcFiltre + [ and VAL(PADR(ALLTRIM(G3),3,'0'))>=] + lcCont1 + Case Len(lccont1)=4 + lcFiltre = lcFiltre + [ and VAL(PADR(ALLTRIM(G4),4,'0'))>=] + lcCont1 + Endcase + + Do Case + Case Len(lccont2)=1 + lcFiltre = lcFiltre + [ and VAL(LEFT(G1,1))<=] + lcCont2 + Case Len(lccont2)=2 + lcFiltre = lcFiltre + [ and VAL(PADR(ALLTRIM(G2),2,'0'))<=] + lcCont2 + Case Len(lccont2)=3 + lcFiltre = lcFiltre + [ and VAL(PADR(ALLTRIM(G3),3,'0'))<=] + lcCont2 + Case Len(lccont2)=4 + lcFiltre = lcFiltre + [ and VAL(PADR(ALLTRIM(G4),4,'0'))<=] + lcCont2 + Endcase + + llTotal1=Iif(This.cktotal1.Value=1,.T.,.F.) + llTotal2=Iif(This.cktotal2.Value=1,.T.,.F.) + llTotal3=Iif(This.cktotal3.Value=1,.T.,.F.) + llTotal4=Iif(This.cktotal4.Value=1,.T.,.F.) + llAnalitic=Iif(This.ckanalitic.Value=1,.T.,.F.) + + lclista=[] + If llTotal1 + lclista=lclista+[,1] + Endif + If llTotal2 + lclista=lclista+[,2] + Endif + If llTotal3 + lclista=lclista+[,3] + Endif + If llTotal4 + lclista=lclista+[,] + Iif(glEMama,[6],[4]) + Endif + If llAnalitic + lclista=lclista+[,] + Iif(glEMama,[7],[5]) + Endif + + + If !Empty(lclista) + If Left(lclista,1)="," + lclista=Substr(lclista,2) + Endif + lcFiltre=lcFiltre+[ AND INLIST(BNIVEL,]+lclista+[)] + Else + lcFiltre=lcFiltre+[ AND ] + Iif(glEMama,[!InList(bnivel,4,5)],[.F.]) + Endif + + lccond2=[] + + If !Empty(lcacont1) + lccond2= lccond2 + [ and SUBSTR(acont,1,1)="]+lcacont1+["] + Endif + If !Empty(lcacont2) + lccond2= lccond2 + [ and SUBSTR(acont,2,1)="]+lcacont2+["] + Endif + If !Empty(lcacont3) + lccond2= lccond2 + [ and SUBSTR(acont,3,1)="]+lcacont3+["] + Endif + If !Empty(lcacont4) + lccond2= lccond2 + [ and SUBSTR(acont,4,1)="]+lcacont4+["] + Endif + + lcFiltre= lcFiltre + lccond2 + If thisform.ck_cont.Value = 1 + lcFiltre = lcFiltre + thisform.ck_cont.filtru_vfp + Endif + + RETURN lcFiltre + + + + ENDPROC + + PROCEDURE do_listare + Private pcPerioadaRef, pcDataora + Store '' To pcPerioadaRef, pcDataora + + Local lcFiltru, lcOptiuneRaport,lnNivel,lcCursor + lnNivel = Iif(glEMama,7,5) + lcFiltru = Thisform.afisactual() + lcOptiuneRaport = Upper(Alltrim(Thisform.cboRaport.Value)) + + LNG1=Thisform.cktotal1.Value + LNG2=Thisform.cktotal3.Value + LNG3=Thisform.cktotal3.Value + LNG4=Thisform.cktotal4.Value + LNG5=Thisform.ckanalitic.Value + + LCBAL = Thisform.calias + Select (LCBAL) + + LCPARTIALA = Iif(!Empty(Thisform.TXTcont.Value)," PARTIALA "," ") + Do Case + Case LNG5=1 + m.titlu='- ANALITICA'+LCPARTIALA+'-' + Select (LCBAL) + Replace All bifa With .F. + + Select Distinct Cont,bnivel,bifa From &LCBAL ; + WHERE bnivel=lnNivel And &lcFiltru ; + INTO Cursor listbal Readwrite + + If _Tally > 0 + Do Form frm_list_balana + + Select listbal + Scan For bifa + Scatter Name olist + Select (LCBAL) + Replace All bifa With .T. For Cont=olist.Cont And bnivel=lnNivel + Select listbal + Endscan + Release olist + + Select (LCBAL) + lcFiltru = lcFiltru + [ and !bifa] + + Endif + If Used('listbal') + Use In listbal + Endif + + Case LNG4=1 And LNG5=0 + m.titlu='- SINTETICA'+LCPARTIALA+'-' + Otherwise + If Empty(LCPARTIALA) + m.titlu="" + Else + m.titlu='-'+LCPARTIALA+'-' + Endif + Endcase + + &&preluare ora de pe oracle server: + *!* STORE 0 to pnsucces + *!* pcexec = [select to_char(SYSdate,'dd/mm/yyyy hh:mi:ss AM') as dataora from dual] + *!* pcCursor = [dataora_cursor] + *!* pnsucces = goExecutor.oExecute(pcexec,pcCursor) + *!* IF (pnsucces != 0) + *!* SELECT dataora_cursor + *!* pcDataora = dataora_cursor.dataora + *!* USE IN dataora_cursor + *!* ENDIF + *!* pcDataOra = get_ora(2) + + lcCursor = [crslistarebal] + Select (LCBAL) + *!* SET FILTER TO &lcFiltru + If Used(lcCursor) + Use In (lcCursor) + Endif + Select * From (LCBAL) Where &lcFiltru order by g5 Into Cursor (lcCursor) + Select (lcCursor) + + *!* If This.cktotal4.Value = 1 + *!* && conturi sintetice + *!* Sum precdeb1, preccred1, precdeb,preccred,ruldeb,rulcred,totdeb,totcred,solddeb,soldcred For bnivel = lnNivel - 1 ; + *!* to m.sprecdeb1, m.spreccred1, m.sprecdeb,m.spreccred,m.sruldeb,m.srulcred,m.stotdeb,m.stotcred,m.ssolddeb,m.ssoldcred + *!* Else + *!* && conturi analitice + *!* Sum precdeb1, preccred1, precdeb,preccred,ruldeb,rulcred,totdeb,totcred,solddeb,soldcred For bnivel = lnNivel ; + *!* to m.sprecdeb1, m.spreccred1, m.sprecdeb,m.spreccred,m.sruldeb,m.srulcred,m.stotdeb,m.stotcred,m.ssolddeb,m.ssoldcred + *!* Endif + + If This.cktotal4.Value = 1 and ; + Empty(Alltrim(This.ct1.text1.Value)) and Empty(Alltrim(This.ct1.text2.Value)) ; + and Empty(Alltrim(This.ct1.text3.Value)) and Empty(Alltrim(This.ct1.text4.Value)) + && imi calculeaza totalul de pe sintetice doar daca nu e completat contul analitic + && altfel iau totalul de pe analitice + lnNivel = lnNivel - 1 + Endif + + Sum precdeb1, preccred1, iif(precdeb>=preccred, abs(precdeb-preccred), 0.00), iif(precdeb + + *-- OBJECTDATA items order determines ZOrder / El orden de los items OBJECTDATA determina el ZOrder + *< OBJECTDATA: ObjPath="Shape1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="optg" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="Label5" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="But_listare1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="Clb_luna_intre1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="Clb_tx_cont" UniqueID="" Timestamp="" /> + + * + *p: ccont + *p: cfiltru + *p: cschema + *p: cselect + *p: ctabel + *p: oobj + *p: raport + * + + * + ccont = + cfiltru = + cschema = + cselect = + ctabel = + DoCreate = .T. + Height = 270 + Name = "frm_rap_jurnal" + oobj = + raport = "" + Width = 400 + _SHAPE1.Height = 29 + _SHAPE1.Left = 0 + _SHAPE1.Name = "_SHAPE1" + _SHAPE1.Top = 0 + _SHAPE1.Width = 408 + _SHAPE1.ZOrderSet = 1 + _SHAPE2.Height = 29 + _SHAPE2.Left = 342 + _SHAPE2.Name = "_SHAPE2" + _SHAPE2.Top = 0 + _SHAPE2.Width = 58 + _SHAPE2.ZOrderSet = 2 + LB_TITLU_ALB_B121.Caption = "Rapoarte bazate pe registrul jurnal" + LB_TITLU_ALB_B121.FontBold = .T. + LB_TITLU_ALB_B121.FontName = "Arial" + LB_TITLU_ALB_B121.FontSize = 10 + LB_TITLU_ALB_B121.Left = 6 + LB_TITLU_ALB_B121.Name = "LB_TITLU_ALB_B121" + LB_TITLU_ALB_B121.TabIndex = 5 + LB_TITLU_ALB_B121.Top = 8 + LB_TITLU_ALB_B121.ZOrderSet = 3 + BUT_TERMIN1.Left = 369 + BUT_TERMIN1.Name = "BUT_TERMIN1" + BUT_TERMIN1.TabIndex = 4 + BUT_TERMIN1.Top = 1 + BUT_TERMIN1.ZOrderSet = 4 + Gridsort1.Left = 9 + Gridsort1.Name = "Gridsort1" + Gridsort1.Top = 35 + * + + ADD OBJECT 'But_listare1' AS but_listare WITH ; + Left = 341, ; + Name = "But_listare1", ; + TabIndex = 3, ; + Top = 1 + *< END OBJECT: ClassLib="cmd_butoane.vcx" BaseClass="commandbutton" /> + + ADD OBJECT 'Clb_luna_intre1' AS clb_luna_intre WITH ; + BorderColor = 128,128,128, ; + Height = 29, ; + Left = 12, ; + Name = "Clb_luna_intre1", ; + TabIndex = 2, ; + Top = 41, ; + Width = 325, ; + tx_n1.Left = 161, ; + tx_n1.Name = "tx_n1", ; + tx_n1.TabIndex = 1, ; + tx_n1.Top = 3, ; + Lb_simplu1.Caption = "Perioada de referinta", ; + Lb_simplu1.FontBold = .T., ; + Lb_simplu1.FontName = "Arial Narrow", ; + Lb_simplu1.FontSize = 11, ; + Lb_simplu1.Left = 7, ; + Lb_simplu1.Name = "Lb_simplu1", ; + Lb_simplu1.TabIndex = 2, ; + Lb_simplu1.Top = 4, ; + tx_n2.Left = 241, ; + tx_n2.Name = "tx_n2", ; + tx_n2.TabIndex = 3, ; + tx_n2.Top = 3 + *< END OBJECT: ClassLib="lb_tx.vcx" BaseClass="container" /> + + ADD OBJECT 'Clb_tx_cont' AS clb_tx_simplu WITH ; + Height = 29, ; + Left = 286, ; + Name = "Clb_tx_cont", ; + TabIndex = 1, ; + ToolTipText = "Pentru modificare faceti dublu click!", ; + Top = 136, ; + Visible = .F., ; + Width = 106, ; + Text_simplu1.BorderStyle = 1, ; + Text_simplu1.ControlSource = "Thisform.ccont", ; + Text_simplu1.Height = 23, ; + Text_simplu1.Left = 43, ; + Text_simplu1.Name = "Text_simplu1", ; + Text_simplu1.ReadOnly = .T., ; + Text_simplu1.SpecialEffect = 1, ; + Text_simplu1.TabIndex = 2, ; + Text_simplu1.ToolTipText = "Pentru modificare faceti dublu click!", ; + Text_simplu1.Top = 3, ; + Text_simplu1.Width = 59, ; + Lb_simplu1.Caption = "Cont", ; + Lb_simplu1.Name = "Lb_simplu1", ; + Lb_simplu1.TabIndex = 1 + *< END OBJECT: ClassLib="lb_tx.vcx" BaseClass="container" /> + + ADD OBJECT 'Label5' AS label WITH ; + AutoSize = .T., ; + BackStyle = 0, ; + Caption = "Afiseaza:", ; + Comment = "*:OnResize=LT", ; + FontBold = .F., ; + FontName = "Arial Narrow", ; + FontSize = 11, ; + Height = 22, ; + Left = 22, ; + Name = "Label5", ; + TabIndex = 6, ; + Top = 91, ; + Width = 50, ; + ZOrderSet = 7 + *< END OBJECT: BaseClass="label" /> + + ADD OBJECT 'optg' AS optiongroup WITH ; + AutoSize = .T., ; + BackStyle = 0, ; + BorderStyle = 0, ; + ButtonCount = 7, ; + Height = 178, ; + Left = 76, ; + Name = "optg", ; + SpecialEffect = 1, ; + TabIndex = 1, ; + Top = 83, ; + Value = 0, ; + Width = 250, ; + ZOrderSet = 6, ; + Option1.AutoSize = .F., ; + Option1.BackStyle = 0, ; + Option1.Caption = "Registrul jurnal", ; + Option1.FontName = "Arial Narrow", ; + Option1.FontSize = 11, ; + Option1.Height = 22, ; + Option1.Left = 5, ; + Option1.Name = "Option1", ; + Option1.Style = 0, ; + Option1.Top = 5, ; + Option1.Value = 0, ; + Option1.Width = 240, ; + Option2.AutoSize = .F., ; + Option2.BackStyle = 0, ; + Option2.Caption = "Reg. jurnal cu evidentiere sume in valuta", ; + Option2.FontName = "Arial Narrow", ; + Option2.FontSize = 11, ; + Option2.Height = 22, ; + Option2.Left = 5, ; + Option2.Name = "Option2", ; + Option2.Style = 0, ; + Option2.Top = 30, ; + Option2.Value = 0, ; + Option2.Width = 240, ; + Option3.AutoSize = .F., ; + Option3.BackStyle = 0, ; + Option3.Caption = "Lista notelor debitoare", ; + Option3.FontName = "Arial Narrow", ; + Option3.FontSize = 11, ; + Option3.Height = 22, ; + Option3.Left = 5, ; + Option3.Name = "Option3", ; + Option3.Style = 0, ; + Option3.Top = 55, ; + Option3.Width = 240, ; + Option4.AutoSize = .F., ; + Option4.BackStyle = 0, ; + Option4.Caption = "Lista notelor debitoare - cumulat", ; + Option4.FontName = "Arial Narrow", ; + Option4.FontSize = 11, ; + Option4.Height = 22, ; + Option4.Left = 5, ; + Option4.Name = "Option4", ; + Option4.Style = 0, ; + Option4.Top = 80, ; + Option4.Width = 240, ; + Option5.AutoSize = .F., ; + Option5.BackStyle = 0, ; + Option5.Caption = "Lista notelor creditoare", ; + Option5.FontName = "Arial Narrow", ; + Option5.FontSize = 11, ; + Option5.Height = 22, ; + Option5.Left = 5, ; + Option5.Name = "Option5", ; + Option5.Style = 0, ; + Option5.Top = 105, ; + Option5.Width = 240, ; + Option6.AutoSize = .T., ; + Option6.BackStyle = 0, ; + Option6.Caption = "Lista notelor creditoare - cumulat", ; + Option6.FontName = "Arial Narrow", ; + Option6.FontSize = 11, ; + Option6.Height = 22, ; + Option6.Left = 5, ; + Option6.Name = "Option6", ; + Option6.Top = 128, ; + Option6.Width = 199, ; + Option7.AutoSize = .T., ; + Option7.BackStyle = 0, ; + Option7.Caption = "Registru jurnal redus", ; + Option7.FontName = "Arial Narrow", ; + Option7.FontSize = 11, ; + Option7.Height = 22, ; + Option7.Left = 5, ; + Option7.Name = "Option7", ; + Option7.Top = 151, ; + Option7.Width = 132 + *< END OBJECT: BaseClass="optiongroup" /> + + ADD OBJECT 'Shape1' AS shape WITH ; + BackStyle = 0, ; + BorderColor = 128,128,128, ; + Height = 185, ; + Left = 12, ; + Name = "Shape1", ; + Top = 79, ; + Width = 384, ; + ZOrderSet = 0 + *< END OBJECT: BaseClass="shape" /> + + PROCEDURE do_executa + Lparameters tcFiltru, tcOrder + + Private poregjur, pcschema, pclcampuri, pcselect, pcFiltru, pcOrder, pcGroupBy + Local llAfisare, lnValute + Local lnIdMonedaNationala, loCauta + Store '' To m.poregjur + + If Empty(m.tcFiltru) + pcFiltru = This.cfiltru + Else + pcFiltru = m.tcFiltru + Endif + *!* modificare v 2.0.125 + *!* If Empty(tcOrder) + If Empty(m.tcOrder) And !Inlist(This.optg.Value, 4, 6) + *!* modificare v 2.0.125 ^ + pcOrder = [dataact, nract] + Else + pcOrder = Alltrim(m.tcOrder) + Endif + + Do Case + Case Inlist(This.optg.Value, 1, 2) + pcschema = ['TIP N(1), LUNA N(2),AN N(4),SERIE_ACT C(10),nract N(20),DATAACT D,DATAIREG D,EXPLICATIA C(150),'+] + ; + ['SCD C(4),ASCD C(4),SCC C(4), ASCC C(4),SUMA N(19,gnPa),PERECHED N(14),PERECHEC N(14),'+] + ; + ['NRORD C(30),PARTC C(50),PARTD C(50),FDOC C(30),'+] + ; + ['EXPLICATIA4 C(100),EXPLICATIA5 C(100),id_valuta n(5),suma_val n(16,gnPval),curs n(10,gnPcurs2),nume_val c(10),sucursala c(100), EXPLICATII C(250)'] + + pclcampuri = [0 AS TIP, LUNA, AN, NVL(SERIE_ACT,'') AS SERIE_ACT, NRACT, DATAACT, DATAIREG, NVL(EXPLICATIA,' '), SCD, ASCD, SCC, ASCC, SUMA, ] + ; + [PERECHED, PERECHEC, NVL(NRORD,' ') AS NRORD, NVL(PARTC,' ') AS PARTC, NVL(PARTD,' ') AS PARTD, NVL(FDOC,' ') AS FDOC, ] + ; + [NVL(EXPLICATIA4,' ') AS EXPLICATIA4, NVL(EXPLICATIA5,' ') AS EXPLICATIA5, NVL(id_valuta,0) as ID_VALUTA, suma_val, curs, nume_val, sucursala, LPAD('', 250, ' ') as explicatii ] + + pcselect = [select ] + m.pclcampuri + [ from vact] + pcGroupBy = [] + *!* modificare v 2.0.125 + Case Inlist(This.optg.Value, 4, 6) + pcschema = ['SCD C(4),SCC C(4),SUMA N(19,gnPa), SUCURSALA c(100)'] + pclcampuri = [SCD, SCC, SUM(SUMA) as SUMA, sucursala ] + pcselect = [select ] + m.pclcampuri + [ from ] + gcS + [.vact_redus] + pcGroupBy = [scd,scc,sucursala] + *!* modificare v 2.0.125 ^ + Otherwise + pcschema = ['LUNA N(2),AN N(4),SERIE_ACT C(10), nract N(20),DATAACT D, DATAIREG D,SCD C(4),ASCD C(4),SCC C(4), ASCC C(4),SUMA N(19,gnPa), SUCURSALA c(100)'] + pclcampuri = [LUNA, AN,SERIE_ACT, NRACT, DATAACT, DATAIREG, SCD, ASCD, SCC, ASCC, SUMA,sucursala ] + *!* pcselect=[select ] + pclcampuri + [ from ] + gcS + [.act ] + *!* pcFiltru = pcFiltru + [ and sters = 0 ] + pcselect = [select ] + m.pclcampuri + [ from ] + gcS + [.vact_redus ] + pcGroupBy = [] + Endcase + + If At([6;], gcAcces) > 0 + pcFiltru = m.pcFiltru + [ AND ID_UTIL=?gnidutil ] + Endif + *!* modificare v 2.0.125 + If Substr(Thisform.ccont, 1, 1) <> [<] + pcFiltru = m.pcFiltru + [ AND ] + Iif(Inlist(This.optg.Value, 3, 4), [scd], [scc]) + [ = '] + Alltrim(Thisform.ccont) + ['] + Endif + *!* modificare v 2.0.125 ^ + llAfisare = .F. + gencursor('poregjur', 'regjurnal', m.pcselect, m.pcFiltru, m.pcschema, m.pcOrder, m.llAfisare, m.pcGroupBy, .T.) + m.poregjur.ca_baza1.afisare() + + If Inlist(This.optg.Value, 1, 2) && reg jurnal + Update regjurnal Set explicatii = Iif(glEMama,Allt(Nvl(sucursala,''))+';','') + ; + IIF(!Empty(Nvl(partd,'')), Allt(partd) + '; ', '') + ; + IIF(!Empty(Nvl(partc,'')), Allt(partc) + '; ', '') + ; + IIF(!Empty(Nvl(explicatia,'')), Allt(explicatia) +'; ', '') + ; + IIF(!Empty(Nvl(nrord,'')), Allt(nrord)+'; ', '') + ; + iif(Empty(pereched), Iif(Empty(perechec),"",Allt(Str(perechec))),Allt(Str(pereched)))+';'+ ; + IIF(!EMPTY(ALLTRIM(NVL(explicatia4,''))), allt(explicatia4) +'; ', '') + ; + IIF(!EMPTY(ALLTRIM(NVL(explicatia5,''))), allt(explicatia5) + '; ', '') + ; + IIF(!EMPTY(NVL(nume_val,'')) AND !EMPTY(NVL(curs,0)), allt(nume_val) + '; ', '') + ; + IIF(!EMPTY(NVL(curs,0)), allt(STR(curs,12,4)) + '; ', '') + Endif + + If This.optg.Value = 2 && reg jurnal cu sume in valuta + loCauta = GetMonedaNationala() + lnIdMonedaNationala = m.loCauta.id_valuta + + Calculate Cnt() For !Inlist(Nvl(id_valuta, 0), 0, m.lnIdMonedaNationala) To m.lnValute In regjurnal + + If m.lnValute > 0 + * Total pe valute + Select 1 As tip, nume_val, Sum(suma) As suma, Sum(suma_val) As suma_val From regjurnal Order By 2 Group By nume_val Into Cursor cTotalValuta + Select regjurnal + Append From Dbf('cTotalValuta') + Use In (Select('cTotalValuta')) + Endif + Endif + + Return 'regjurnal' + + ENDPROC + + PROCEDURE do_listare + PRIVATE pcPerioadaRef, pcDataora + STORE '' TO pcPerioadaRef, pcDataora + + lcLunaMin =SUBSTR(ALLTRIM(this.clb_luna_intre1.tx_n1.Value),1,2) + lcAnMin = SUBSTR(ALLTRIM(this.clb_luna_intre1.tx_n1.Value),3) + + lcLunaMax = SUBSTR(ALLTRIM(this.clb_luna_intre1.tx_n2.Value),1,2) + lcAnMax = SUBSTR(ALLTRIM(this.clb_luna_intre1.tx_n2.Value),3) + + IF EMPTY(lcLunaMin) + lcLunaMin = '1' + ENDIF + IF EMPTY(lcAnMin) + lcAnMin = ALLTRIM(STR(gnAn)) + ENDIF + IF EMPTY(lcLunaMax) + lcLunaMax = ALLTRIM(STR(gnLuna)) + ENDIF + IF EMPTY(lcAnMax) + lcAnMax = ALLTRIM(STR(gnAn)) + ENDIF + + lcFilter = [luna + 12*an between ] + lcLunaMin + [ + 12*] + lcAnMin + [ and ] + lcLunaMax + [ + 12*] + lcAnMax + gcCondSucursala + lcOrder = [dataact] + pcPerioada = [Perioada: ] + lcLunaMin + [/] + lcAnMin + [ - ] + lcLunaMax + [/] + lcAnMax + + DO case + CASE thisform.optg.Value = 1 + pctitlu = [REGISTRUL JURNAL] + lcRaport = "rap_regjurnal" + lcOrder = [dataireg, id_act] + + CASE thisform.optg.Value = 2 + pctitlu = [REGISTRUL JURNAL] + lcRaport = "rap_regjurnal_val" + lcOrder = [dataireg, id_act] + + CASE thisform.optg.Value = 3 + ** ordonez si filtrez inregistrarile + lcFilter = lcFilter + [ and suma <> 0] + lcOrder = [scd,dataact,serie_act,nract] + lcRaport = "rap_note_debitoare" + *!* modificare v 2.0.125 + CASE thisform.optg.Value = 4 + lcFilter = lcFilter + [ and suma <> 0] + lcOrder = [scd,scc] + lcRaport = "rap_note_debitoare_cum" + *!* modificare v 2.0.125 ^ + CASE thisform.optg.Value = 5 + ** ordonez si filtrez inregistrarile + lcFilter = lcFilter + [ and suma <> 0] + lcOrder = [scc,dataact,serie_act,nract] + lcRaport= "rap_note_creditoare" + *!* modificare v 2.0.125 + CASE thisform.optg.Value = 6 + lcFilter = lcFilter + [ and suma <> 0] + lcOrder = [scc,scd] + lcRaport = "rap_note_creditoare_cum" + *!* modificare v 2.0.125 ^ + OTHERWISE + ** Registru jurnal redus + *!* DO make_tbalanta + Do make_tbalanta With .F., Val(lcLunaMin), Val(lcAnMin), Val(lcLunaMin), Val(lcAnMin) + *SELECT tbalanta + ENDCASE + + IF thisform.optg.Value = 7 + lcCrs = "tbalanta" + If glEMama + lcFilter = " bnivel = 6 " + ELSE + lcFilter = " BNIVEL = 4 " + endif + SELECT (lcCrs) + Sum precdeb1, preccred1, iif(precdeb>=preccred, abs(precdeb-preccred), 0.00), iif(precdeb],oCont.Cont),Thisform.ccont) + This.Refresh() + ENDPROC + + PROCEDURE optg.InteractiveChange + Thisform.ccont = [] + If Inlist(This.Value,3,4,5,6) + Thisform.clb_tx_cont.Visible = .T. + Thisform.clb_tx_cont.Top = Thisform.optg.Top + Thisform.optg.Buttons(This.Value).Top - 2 + Thisform.clb_tx_cont.Refresh() + Else + Thisform.clb_tx_cont.Visible = .F. + Endif + ENDPROC + +ENDDEFINE + +DEFINE CLASS frm_text_inventar AS frm_termin_renunt OF "_frm_child.vcx" + *< CLASSDATA: Baseclass="form" Timestamp="" Scale="Pixels" Uniqueid="" /> + + *-- OBJECTDATA items order determines ZOrder / El orden de los items OBJECTDATA determina el ZOrder + *< OBJECTDATA: ObjPath="Ed_tx_simplu1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="Ed_tx_simplu1.txtUltimaZi" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="Ed_tx_simplu1._label1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="Ed_tx_simplu2" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="Ed_tx_simplu3" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="Ed_tx_simplu3._label2" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="Ed_tx_simplu3.edtSumainCont" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="Lb_simplu1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="But_salveaza1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="But_reface123" UniqueID="" Timestamp="" /> + + * + BorderStyle = 3 + DoCreate = .T. + Height = 558 + Name = "frm_text_inventar" + Width = 708 + _shape1.Anchor = 10 + _shape1.Height = 29 + _shape1.Left = 0 + _shape1.Name = "_shape1" + _shape1.Top = 0 + _shape1.Width = 709 + _shape2.Height = 29 + _shape2.Left = 581 + _shape2.Name = "_shape2" + _shape2.Top = 0 + _shape2.Width = 127 + Lb_titlu_alb_b121.Caption = "Text listare" + Lb_titlu_alb_b121.Name = "Lb_titlu_alb_b121" + BUT_TERMIN1.Anchor = 8 + BUT_TERMIN1.Left = 676 + BUT_TERMIN1.Name = "BUT_TERMIN1" + BUT_TERMIN1.Top = 1 + Gridsort1.Name = "Gridsort1" + But_renunt1.Anchor = 8 + But_renunt1.Left = 645 + But_renunt1.Name = "But_renunt1" + But_renunt1.Top = 1 + * + + ADD OBJECT 'But_reface123' AS but_reface WITH ; + Anchor = 8, ; + caction = do_reface, ; + Left = 583, ; + Name = "But_reface123", ; + ToolTipText = "Refacere text original", ; + Top = 1, ; + Visible = .T. + *< END OBJECT: ClassLib="cmd_butoane.vcx" BaseClass="commandbutton" /> + + ADD OBJECT 'But_salveaza1' AS but_salveaza WITH ; + Anchor = 8, ; + Left = 614, ; + Name = "But_salveaza1", ; + ToolTipText = "Salvare modificari text", ; + Top = 1 + *< END OBJECT: ClassLib="cmd_butoane.vcx" BaseClass="commandbutton" /> + + ADD OBJECT 'Ed_tx_simplu1' AS ed_tx_simplu WITH ; + Anchor = 10, ; + BackStyle = 1, ; + Height = 157, ; + Left = 12, ; + Name = "Ed_tx_simplu1", ; + Top = 59, ; + Width = 684, ; + _edbase1.Anchor = 10, ; + _edbase1.ControlSource = "m.pcMesaj1", ; + _edbase1.Height = 90, ; + _edbase1.Left = 8, ; + _edbase1.Name = "_edbase1", ; + _edbase1.Top = 25, ; + _edbase1.Width = 668, ; + _lbbase1.Caption = "Antet", ; + _lbbase1.Name = "_lbbase1" + *< END OBJECT: ClassLib="lb_tx.vcx" BaseClass="container" /> + + ADD OBJECT 'Ed_tx_simplu1._label1' AS _label WITH ; + Caption = "Ultima zi din luna", ; + Left = 15, ; + Name = "_label1", ; + Top = 129 + *< END OBJECT: ClassLib="_baza.vcx" BaseClass="label" /> + + ADD OBJECT 'Ed_tx_simplu1.txtUltimaZi' AS _textbox WITH ; + ControlSource = "m.pdData", ; + Format = "K", ; + Left = 120, ; + Name = "txtUltimaZi", ; + Top = 127 + *< END OBJECT: ClassLib="_baza.vcx" BaseClass="textbox" /> + + ADD OBJECT 'Ed_tx_simplu2' AS ed_tx_simplu WITH ; + Anchor = 10, ; + BackStyle = 1, ; + Height = 120, ; + Left = 12, ; + Name = "Ed_tx_simplu2", ; + Top = 223, ; + Width = 684, ; + _edbase1.Anchor = 10, ; + _edbase1.ControlSource = "m.pcMesaj2", ; + _edbase1.Height = 86, ; + _edbase1.Left = 9, ; + _edbase1.Name = "_edbase1", ; + _edbase1.Top = 29, ; + _edbase1.Width = 667, ; + _lbbase1.Caption = "Subsol", ; + _lbbase1.Name = "_lbbase1" + *< END OBJECT: ClassLib="lb_tx.vcx" BaseClass="container" /> + + ADD OBJECT 'Ed_tx_simplu3' AS ed_tx_simplu WITH ; + Anchor = 15, ; + BackStyle = 1, ; + Height = 206, ; + Left = 12, ; + Name = "Ed_tx_simplu3", ; + Top = 349, ; + Width = 684, ; + _edbase1.Anchor = 15, ; + _edbase1.ControlSource = "m.pcMesaj3", ; + _edbase1.Height = 90, ; + _edbase1.Left = 8, ; + _edbase1.Name = "_edbase1", ; + _edbase1.Top = 24, ; + _edbase1.Width = 667, ; + _lbbase1.Caption = "Confirmare", ; + _lbbase1.Name = "_lbbase1" + *< END OBJECT: ClassLib="lb_tx.vcx" BaseClass="container" /> + + ADD OBJECT 'Ed_tx_simplu3._label2' AS _label WITH ; + Anchor = 4, ; + Caption = "Suma in cont", ; + Left = 12, ; + Name = "_label2", ; + Top = 124 + *< END OBJECT: ClassLib="_baza.vcx" BaseClass="label" /> + + ADD OBJECT 'Ed_tx_simplu3.edtSumainCont' AS _editbox WITH ; + Anchor = 14, ; + ControlSource = "m.pcSumainCont", ; + Enabled = .F., ; + Height = 53, ; + Left = 12, ; + Name = "edtSumainCont", ; + Top = 144, ; + Width = 667 + *< END OBJECT: ClassLib="_baza.vcx" BaseClass="editbox" /> + + ADD OBJECT 'Lb_simplu1' AS lb_simplu WITH ; + Caption = "Verificati corectitudinea textului:", ; + Left = 13, ; + Name = "Lb_simplu1", ; + Top = 37 + *< END OBJECT: ClassLib="lb.vcx" BaseClass="label" /> + + PROCEDURE do_reface + *!* lctitlu = [Refacere] + *!* lcimagine = [intreb.ico] + *!* lctip = [Intrebare] + *!* lcmesaj1 = [Doriti sa resetati textul? ] + *!* lcmesaj2 = [] + *!* ofrm_mesaj = CREATEOBJECT([frm_mesaj],lctitlu,lcimagine,lctip,lcmesaj1,lcmesaj2) + *!* ofrm_mesaj.show(1) + *!* RELEASE ofrm_mesaj + *!* IF gnButon=2 + *!* RETURN + *!* ENDIF + If amessagebox("Doriti sa resetati textul?",4+32,"Confirmare refacere")=7 + Return + Endif + + pcNumeProc = 'INVENTAR_PATRIMONIU' + lcComanda1 = [update ] + gcS + [.mesaje set mesaj = cdefault where procedura = ?pcNumeProc] + lnSucces1 = goExecutor.oExecute(lcComanda1) + IF lnSucces1 < 0 + aMESSAGEBOX(goExecutor.cEroare,0+16,'Eroare') + RETURN + ENDIF + + IF USED('crs_texte') + USE IN crs_texte + ENDIF + pcNumeProc = [INVENTAR_PATRIMONIU] + lcSql = [select id_mesaj,mesaj,numar from ]+ gcs + [.mesaje where procedura = ?pcNumeProc] + lcCursor = 'crs_texte' + lnSucces = goExecutor.oExecute(lcSql,lcCursor) + IF lnSucces < 0 + aMESSAGEBOX('Select texte' + CHR(13) + goExecutor.cEroare,0+16,"Eroare") + RETURN + ENDIF + SELECT crs_texte + LOCATE FOR numar = 1 + IF FOUND() + pcMesaj1 = ALLTRIM(mesaj) + ldData = GOMONTH(DATE(gnan,gnluna,1),1)-1 + pcMesaj1 = STRTRAN(pcMesaj1,'DD/MM/YYYY',ALLTRIM(DTOC(ldData))) + ENDIF + LOCATE FOR numar = 2 + IF FOUND() + pcMesaj2 = ALLTRIM(mesaj) + ENDIF + LOCATE FOR numar = 3 + IF FOUND() + pcMesaj3 = ALLTRIM(mesaj) + ENDIF + + this.Ed_tx_simplu1._edbase1.value = pcMesaj1 + this.Ed_tx_simplu2._edbase1.value = pcMesaj2 + this.Ed_tx_simplu3._edbase1.value = pcMesaj3 + this.Refresh + + *!* lctitlu = [Refacere] + *!* lcimagine = [info_c.ico] + *!* lctip = [Informare] + *!* lcmesaj1 = [Actualizarea s-a terminat!] + + *!* ofrm_mesaj = CREATEOBJECT([frm_mesaj],lctitlu,lcimagine,lctip,lcmesaj1) + *!* ofrm_mesaj.show(1) + *!* RELEASE ofrm_mesaj + amessagebox("Actualizarea s-a terminat!",64,"Info refacere") + ENDPROC + + PROCEDURE do_salvare + lcsql=[update ]+gcS + [.mesaje set mesaj=']+Alltrim(This.Ed_tx_simplu1._edbase1.Value)+[' where id_mesaj=]+This.Ed_tx_simplu1.Tag + lnSucces = goExecutor.oExecute(lcsql,lcCursor) + + If lnSucces < 0 + amessagebox(goExecutor.cEroare,0+16,"Eroare") + Return + Endif + lcsql=[update ]+gcS + [.mesaje set mesaj=']+Alltrim(This.Ed_tx_simplu2._edbase1.Value)+[' where id_mesaj=]+This.Ed_tx_simplu2.Tag + lnSucces = goExecutor.oExecute(lcsql,lcCursor) + If lnSucces < 0 + amessagebox(goExecutor.cEroare,0+16,"Eroare") + Return + Endif + + lcsql=[update ]+gcS + [.mesaje set mesaj=']+Alltrim(This.Ed_tx_simplu3._edbase1.Value)+[' where id_mesaj=]+This.Ed_tx_simplu3.Tag + lnSucces = goExecutor.oExecute(lcsql,lcCursor) + If lnSucces < 0 + amessagebox(goExecutor.cEroare,0+16,"Eroare") + Return + Endif + + ENDPROC + +ENDDEFINE diff --git a/clase/orapoarte_obinv.vc2 b/clase/orapoarte_obinv.vc2 new file mode 100644 index 0000000..517c304 --- /dev/null +++ b/clase/orapoarte_obinv.vc2 @@ -0,0 +1,322 @@ +*-------------------------------------------------------------------------------------------------------------------------------------------------------- +* (EN) AUTOGENERATED - ATTENTION!! - NOT INTENDED FOR EXECUTION!! USE ONLY FOR MERGING CHANGES AND STORING WITH SCM TOOLS!! +*-------------------------------------------------------------------------------------------------------------------------------------------------------- +*< FOXBIN2PRG: Version="1.21" SourceFile="orapoarte_obinv.vcx" CPID="1252" /> (Solo para binarios VFP 9 / Only for VFP 9 binaries) +* +* +DEFINE CLASS frm_necesar_echipamente AS _frmbase OF "..\comun\clase\_frm_base.vcx" + *< CLASSDATA: Baseclass="form" Timestamp="" Scale="Pixels" Uniqueid="" /> + + *-- OBJECTDATA items order determines ZOrder / El orden de los items OBJECTDATA determina el ZOrder + *< OBJECTDATA: ObjPath="Label1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="Label2" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="But_listare1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="grid_conditii" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="grid_conditii.cDenumire.Header1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="grid_conditii.cDenumire.Text1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="grid_conditii.cAles.Header1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="grid_conditii.cAles.Check1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="But_excel1" UniqueID="" Timestamp="" /> + + * + *m: cauta_persoane + *m: get_necesar_echip + * + + * + BorderStyle = 1 + DoCreate = .T. + Height = 441 + Name = "frm_necesar_echipamente" + Width = 426 + _shape1.Height = 29 + _shape1.Left = 0 + _shape1.Name = "_shape1" + _shape1.Top = 0 + _shape1.Width = 636 + _shape2.Height = 29 + _shape2.Left = 335 + _shape2.Name = "_shape2" + _shape2.Top = 0 + _shape2.Width = 91 + Lb_titlu_alb_b121.Caption = "Criterii raport" + Lb_titlu_alb_b121.Name = "Lb_titlu_alb_b121" + BUT_TERMIN1.Left = 395 + BUT_TERMIN1.Name = "BUT_TERMIN1" + BUT_TERMIN1.Top = 1 + Gridsort1.Left = 202 + Gridsort1.Name = "Gridsort1" + Gridsort1.Top = 5 + * + + ADD OBJECT 'But_excel1' AS but_excel WITH ; + Left = 366, ; + Name = "But_excel1", ; + Top = 1, ; + Visible = .T. + *< END OBJECT: ClassLib="..\comun\clase\cmd_butoane.vcx" BaseClass="commandbutton" /> + + ADD OBJECT 'But_listare1' AS but_listare WITH ; + Left = 336, ; + Name = "But_listare1", ; + Top = 1, ; + Visible = .T. + *< END OBJECT: ClassLib="..\comun\clase\cmd_butoane.vcx" BaseClass="commandbutton" /> + + ADD OBJECT 'grid_conditii' AS _grdrow WITH ; + ColumnCount = 2, ; + DeleteMark = .F., ; + Height = 368, ; + Left = 12, ; + Name = "grid_conditii", ; + Panel = 1, ; + ReadOnly = .T., ; + RecordSource = "v_conditii", ; + Top = 52, ; + Width = 396, ; + Column1.ControlSource = "denumire", ; + Column1.Name = "cDenumire", ; + Column1.ReadOnly = .T., ; + Column1.Width = 327, ; + Column2.ColumnOrder = 2, ; + Column2.ControlSource = "ales", ; + Column2.Name = "cAles", ; + Column2.ReadOnly = .F., ; + Column2.Sparse = .F., ; + Column2.Width = 35 + *< END OBJECT: ClassLib="..\comun\clase\_grd_base.vcx" BaseClass="grid" /> + + ADD OBJECT 'grid_conditii.cAles.Check1' AS checkbox WITH ; + Alignment = 2, ; + Caption = "", ; + Height = 17, ; + Left = 29, ; + Name = "Check1", ; + ReadOnly = .F., ; + Top = 47, ; + Width = 60 + *< END OBJECT: BaseClass="checkbox" /> + + ADD OBJECT 'grid_conditii.cAles.Header1' AS header WITH ; + Alignment = 2, ; + Caption = "Ales", ; + Name = "Header1" + *< END OBJECT: BaseClass="header" /> + + ADD OBJECT 'grid_conditii.cDenumire.Header1' AS header WITH ; + Alignment = 2, ; + Caption = "Denumire", ; + Name = "Header1" + *< END OBJECT: BaseClass="header" /> + + ADD OBJECT 'grid_conditii.cDenumire.Text1' AS textbox WITH ; + BackColor = 255,255,255, ; + BorderStyle = 0, ; + ForeColor = 0,0,0, ; + Margin = 0, ; + Name = "Text1", ; + ReadOnly = .T. + *< END OBJECT: BaseClass="textbox" /> + + ADD OBJECT 'Label1' AS label WITH ; + BackStyle = 0, ; + Caption = "Conditia", ; + Height = 17, ; + Left = 12, ; + Name = "Label1", ; + Top = 36, ; + Width = 48 + *< END OBJECT: BaseClass="label" /> + + ADD OBJECT 'Label2' AS label WITH ; + BackStyle = 0, ; + Caption = "Salariat", ; + Height = 17, ; + Left = 12, ; + Name = "Label2", ; + Top = 323, ; + Visible = .F., ; + Width = 44 + *< END OBJECT: BaseClass="label" /> + + PROCEDURE cauta_persoane + lcTabelCond = thisform.grid_conditii.RecordSource + SELECT (lcTabelCond) + + lcConditie = &lcTabelCond..conditie + IF EMPTY(lcConditie) + RETURN + ENDIF + + save_grid_tag(thisform.grid_persoane) + poper.ca_baza1.cfiltru = [1=1 and ] + lcConditie + poper.ca_baza1.afisare() + restore_grid_tag(thisform.grid_persoane) + + ENDPROC + + PROCEDURE get_necesar_echip + PARAMETERS tnX + + lofd = CREATEOBJECT('frm_data') + lofd.SHOW(1) + + pcData = DTOS(pdData) + + IF buton = 2 + RETURN + ENDIF + + LOCAL lcTabel + lcTabel = THISFORM.grid_conditii.RECORDSOURCE + + PRIVATE pcIdCond && id-urile de conditii + pcIdCond = '' + + SELECT (lcTabel) + SCAN FOR ales = 1 + pcIdCond = pcIdCond + ALLTRIM(STR(id_conditie))+';' + ENDSCAN + + IF LEN(pcIdCond)>1 + pcIdCond = SUBSTR(pcIdCond,1,LEN(pcIdCond)-1) + ENDIF + + DO CASE + CASE tnX = 1 + pnCumulat = 0 + *!* CASE tnX = 2 + *!* pnCumulat = 1 + CASE tnX = 2 + pnCumulat = 2 + ENDCASE + + + PRIVATE pnId_responsabil + STORE 0 TO pnId_responsabil + + IF pnCumulat = 0 + loResp = caut_responsabil(.T.) + pnId_responsabil = loResp.id_responsabil + ENDIF + + lcSel = [{call pack_gest_rapoarte.get_necesar_echip(?gnAn,?gnLuna,?pdData,?pcIdCond,?pnCumulat,?pnId_responsabil, ?gnIdSucursala)}] + lcCursor = 'cNecEchip' + lnSucces = goExecutor.oExecute(lcSel,lcCursor) + IF lnSucces < 0 + AMESSAGEBOX(goExecutor.cEroare,0+16,"Eroare") + RETURN + ENDIF + + ENDPROC + + PROCEDURE inainte_de_do_excel + LOCAL lcTabel + lcTabel = THISFORM.grid_conditii.RECORDSOURCE + SELECT (lcTabel) + LOCATE FOR ales = 1 + IF !FOUND() + aMESSAGEBOX('Bifati conditiile pentru care doriti sa generati raportul!',48,"Atentie") + RETURN + ENDIF + + lcmenu = "Defalcat pe responsabili;Cumulat pe articole" + lnx = xmenu(lcmenu) + + IF !INLIST(lnx,1,2) + RETURN + ENDIF + + THISFORM.get_necesar_echip(lnx) + + IF USED('cNecEchip') + SELECT cNecEchip + ELSE + RETURN + ENDIF + + DO export_xls WITH 'cNecEchip' IN oproceduri_comune.prg + + IF USED('cNecEchip') + USE IN cNecEchip + ENDIF + + + ENDPROC + + PROCEDURE inainte_de_do_listare + LOCAL lcTabel + lcTabel = THISFORM.grid_conditii.RECORDSOURCE + SELECT (lcTabel) + LOCATE FOR ales = 1 + IF !FOUND() + aMESSAGEBOX('Bifati conditiile pentru care doriti sa generati raportul!',48,"Atentie") + RETURN + ENDIF + + PRIVATE pcTitlu, pcDataOra + pcDataOra = get_ora(2) + + lcmenu = "Defalcat pe responsabili;Cumulat pe articole" + lnx = xmenu(lcmenu) + + IF !INLIST(lnx,1,2) + RETURN + ENDIF + + + THISFORM.get_necesar_echip(lnx) + + THISFORM.ALWAYSONTOP = .F. + + IF USED('cNecEchip') + SELECT cNecEchip + ELSE + RETURN + ENDIF + + DO CASE + CASE lnx = 1 + pcTitlu = "Necesar de echipamente" + REPORT FORM rap_necesar_echip.frx TO PRINTER PROMPT PREVIEW + + *!* CASE lnx = 2 + *!* pcTitlu = "Necesar de echipamente cumulat" + *!* REPORT FORM rap_necesar_echip_cum.frx TO PRINTER PROMPT PREVIEW + + CASE lnx = 2 + pcTitlu = "Necesar de echipamente - total articole" + REPORT FORM rap_necesar_echip_cum_art.frx TO PRINTER PROMPT PREVIEW + ENDCASE + + THISFORM.ALWAYSONTOP = .T. + + + IF USED('cNecEchip') + USE IN cNecEchip + ENDIF + + ***------------------------------- + + ENDPROC + + PROCEDURE grid_conditii.AfterRowColChange + LPARAMETERS nColIndex + SELECT v_conditii + SCATTER NAME poconditii MEMO + ENDPROC + + PROCEDURE grid_conditii.cAles.Header1.DblClick + LOCAL lctabel + lctabel = THISFORM.grid_conditii.RECORDSOURCE + SELECT (lctabel) + LOCATE FOR ales = 1 + IF FOUND() + REPLACE ALL ales WITH 0 + ELSE + REPLACE ALL ales WITH 1 + ENDIF + + ENDPROC + +ENDDEFINE diff --git a/clase/orapoarte_parametri.vc2 b/clase/orapoarte_parametri.vc2 new file mode 100644 index 0000000..ebd49ae --- /dev/null +++ b/clase/orapoarte_parametri.vc2 @@ -0,0 +1,159 @@ +*-------------------------------------------------------------------------------------------------------------------------------------------------------- +* (EN) AUTOGENERATED - ATTENTION!! - NOT INTENDED FOR EXECUTION!! USE ONLY FOR MERGING CHANGES AND STORING WITH SCM TOOLS!! +*-------------------------------------------------------------------------------------------------------------------------------------------------------- +*< FOXBIN2PRG: Version="1.21" SourceFile="orapoarte_parametri.vcx" CPID="1250" /> (Solo para binarios VFP 9 / Only for VFP 9 binaries) +* +* +DEFINE CLASS frm_compar_stoc_bal AS _frmbase OF "_frm_base.vcx" + *< CLASSDATA: Baseclass="form" Timestamp="" Scale="Pixels" Uniqueid="" /> + + *-- OBJECTDATA items order determines ZOrder / El orden de los items OBJECTDATA determina el ZOrder + *< OBJECTDATA: ObjPath="Clb_luna_intre1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="txtCont" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="_image1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="Label1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="But_listare1" UniqueID="" Timestamp="" /> + + * + *p: ccont + * + + * + BorderStyle = 3 + ccont = + DoCreate = .T. + Height = 110 + Name = "frm_compar_stoc_bal" + Width = 345 + _shape1.Name = "_shape1" + _shape2.Height = 29 + _shape2.Left = 283 + _shape2.Name = "_shape2" + _shape2.Top = 0 + _shape2.Width = 62 + Lb_titlu_alb_b121.Caption = "Borderou de verificare valorica" + Lb_titlu_alb_b121.Name = "Lb_titlu_alb_b121" + Lb_titlu_alb_b121.TabIndex = 5 + BUT_TERMIN1.Left = 315 + BUT_TERMIN1.Name = "BUT_TERMIN1" + BUT_TERMIN1.TabIndex = 4 + BUT_TERMIN1.Top = 1 + Gridsort1.Left = 168 + Gridsort1.Name = "Gridsort1" + Gridsort1.Top = 6 + * + + ADD OBJECT '_image1' AS _image WITH ; + Anchor = 9, ; + Height = 20, ; + Left = 313, ; + Name = "_image1", ; + Picture = ..\..\roaproductie\comun\grafice\alege.bmp, ; + Stretch = 1, ; + Top = 79, ; + Width = 20 + *< END OBJECT: ClassLib="_baza.vcx" BaseClass="image" /> + + ADD OBJECT 'But_listare1' AS but_listare WITH ; + Left = 285, ; + Name = "But_listare1", ; + TabIndex = 3, ; + Top = 1 + *< END OBJECT: ClassLib="cmd_butoane.vcx" BaseClass="commandbutton" /> + + ADD OBJECT 'Clb_luna_intre1' AS clb_luna_intre WITH ; + Left = 8, ; + Name = "Clb_luna_intre1", ; + TabIndex = 1, ; + Top = 43, ; + tx_n1.ControlSource = "pcLunaI", ; + tx_n1.Name = "tx_n1", ; + Lb_simplu1.Caption = "Perioada", ; + Lb_simplu1.Name = "Lb_simplu1", ; + tx_n2.ControlSource = "pcLunaF", ; + tx_n2.Name = "tx_n2" + *< END OBJECT: ClassLib="lb_tx.vcx" BaseClass="container" /> + + ADD OBJECT 'Label1' AS label WITH ; + BackStyle = 0, ; + Caption = "Cont", ; + Height = 17, ; + Left = 17, ; + Name = "Label1", ; + TabIndex = 6, ; + Top = 82, ; + Width = 28 + *< END OBJECT: BaseClass="label" /> + + ADD OBJECT 'txtCont' AS textbox WITH ; + Anchor = 11, ; + Format = "k", ; + Height = 23, ; + Left = 138, ; + Name = "txtCont", ; + ReadOnly = .T., ; + TabIndex = 2, ; + Top = 78, ; + Value = , ; + Width = 168 + *< END OBJECT: BaseClass="textbox" /> + + PROCEDURE inainte_de_do_listare + Thisform.AlwaysOnTop= .F. + + + Private pcDataora, pcTitlu, pnAnI, pnLunaI, pnAnF, pnLunaF, pcCont, plConturiLuna + + pnLunaI = Val(Substr(pcLunaI,1,2)) + pnAnI = Val(Substr(pcLunaI,3,4)) + + pnLunaF = Val(Substr(pcLunaF,1,2)) + pnAnF = Val(Substr(pcLunaF,3,4)) + pcCont = Thisform.cCont + Store .F. To plConturiLuna && listez totalurile doar pt. mai multe conturi - o singura luna + lcSel = [{call pack_gest_rapoarte.borderou_verificare(?pnAnI, ?pnLunaI, ?pnAnF, ?pnLunaF, ?pcCont, ?gnIdSucursala)}] + + lcCursor = 'crsBorderou' + lnSucces = goExecutor.oExecute(lcSel, lcCursor) + If lnSucces < 0 + AMESSAGEBOX(goExecutor.cEroare,0+16,"Eroare") + Return + Endif + + *!* lcTitlu = [Borderou de verificare valorica] + *!* pcTitlu = ceretitlu_rap([Titlul raportului],lcTitlu) + pcTitlu = [Borderou de verificare valorica] + pcDataora = get_Ora(2) + + If (pnAnF*12+pnLunaF)-(pnAnI*12+pnLunaI)+1 = 1 + Select Distinct Count(Cont) As nr_cont From crsBorderou Into Cursor crsConturi + Select crsConturi + lnNr_conturi = nr_cont + If lnNr_conturi > 1 + plConturiLuna = .T. + Endif + Endif + + Select crsBorderou + *Report Form rap_stoc_borderou.frx To Printer Prompt Preview + goExport.export2frx([crsBorderou],[rap_stoc_borderou],.T., , , , , .T.) + Thisform.AlwaysOnTop= .T. + + ENDPROC + + PROCEDURE _image1.Click + LOCAL locauta + locauta = caut_cont() + + thisform.cCont = ALLTRIM(locauta.cont) + + IF EMPTY(locauta.cont) + thisform.txtCont.Value= '' + ELSE + thisform.txtCont.Value = thisform.cCont + ENDIF + thisform.txtCont.Refresh + + ENDPROC + +ENDDEFINE diff --git a/clase/osalarii_listari.vc2 b/clase/osalarii_listari.vc2 new file mode 100644 index 0000000..dafbb25 --- /dev/null +++ b/clase/osalarii_listari.vc2 @@ -0,0 +1,1781 @@ +*-------------------------------------------------------------------------------------------------------------------------------------------------------- +* (EN) AUTOGENERATED - ATTENTION!! - NOT INTENDED FOR EXECUTION!! USE ONLY FOR MERGING CHANGES AND STORING WITH SCM TOOLS!! +*-------------------------------------------------------------------------------------------------------------------------------------------------------- +*< FOXBIN2PRG: Version="1.21" SourceFile="osalarii_listari.vcx" CPID="1252" /> (Solo para binarios VFP 9 / Only for VFP 9 binaries) +* +* +DEFINE CLASS frm_list_anumiti AS frm_termin_renunt OF "_frm_child.vcx" + *< CLASSDATA: Baseclass="form" Timestamp="" Scale="Pixels" Uniqueid="" /> + + *-- OBJECTDATA items order determines ZOrder / El orden de los items OBJECTDATA determina el ZOrder + *< OBJECTDATA: ObjPath="_grdrow1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="_grdrow1.Column1.Header1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="_grdrow1.Column1.Text1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="_grdrow1.Column3.Header1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="_grdrow1.Column3.Text1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="_grdrow1.Column4.Header1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="_grdrow1.Column4.Text1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="_grdrow1.Column5.Header1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="_grdrow1.Column5.Text1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="_grdrow1.Column6.Header1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="_grdrow1.Column6.Text1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="_grdrow1.Column7.Header1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="_grdrow1.Column7.Text1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="_grdrow1.Column8.Header1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="_grdrow1.Column8.Text1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="_grdrow1.Column9.Header1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="_grdrow1.Column9.Text1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="_grdrow1.Column10.Header1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="_grdrow1.Column10.Text1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="_grdrow1.Column11.Header1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="_grdrow1.Column11.Text1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="_grdrow1.Column12.Header1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="_grdrow1.Column12.Text1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="_grdrow1.Column13.Header1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="_grdrow1.Column13.Text1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="_grdrow1.Column14.Header1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="_grdrow1.Column14.Text1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="_grdrow1.Column15.Header1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="_grdrow1.Column15.Text1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="_grdrow1.Column16.Header1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="_grdrow1.Column16.Text1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="_grdrow1.Column17.Header1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="_grdrow1.Column17.Text1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="_grdrow1.Column18.Header1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="_grdrow1.Column18.Text1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="_grdrow1.Column19.Header1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="_grdrow1.Column19.Text1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="_grdrow1.Column20.Header1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="_grdrow1.Column20.Text1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="_grdrow1.Column21.Header1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="_grdrow1.Column21.Text1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="_grdrow1.Column22.Header1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="_grdrow1.Column22.Text1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="_grdrow1.Column23.Header1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="_grdrow1.Column23.Text1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="_grdrow1.Column24.Header1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="_grdrow1.Column24.Text1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="_grdrow1.Column25.Header1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="_grdrow1.Column25.Text1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="_grdrow1.Column26.Header1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="_grdrow1.Column26.Text1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="_grdrow1.Column27.Header1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="_grdrow1.Column27.Text1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="_grdrow1.Column28.Header1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="_grdrow1.Column28.Text1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="_grdrow1.Column31.Header1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="_grdrow1.Column31.Text1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="_grdrow1.Column30.Header1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="_grdrow1.Column30.Check1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="Gridextra1" UniqueID="" Timestamp="" /> + + * + *p: anumiti_da + *p: clistare + * + + * + anumiti_da = .F. + clistare = avans + DoCreate = .T. + Height = 372 + Name = "frm_list_anumiti" + Width = 748 + WindowState = 2 + _shape1.Anchor = 160 + _shape1.Height = 29 + _shape1.Left = 0 + _shape1.Name = "_shape1" + _shape1.Top = 0 + _shape1.Width = 756 + _shape2.Anchor = 9 + _shape2.Left = 676 + _shape2.Name = "_shape2" + _shape2.Top = 0 + Lb_titlu_alb_b121.Caption = "Selectaþi persoanele" + Lb_titlu_alb_b121.Name = "Lb_titlu_alb_b121" + BUT_TERMIN1.Anchor = 9 + BUT_TERMIN1.Left = 715 + BUT_TERMIN1.Name = "BUT_TERMIN1" + BUT_TERMIN1.Top = 1 + Gridsort1.Name = "Gridsort1" + But_renunt1.Anchor = 9 + But_renunt1.Left = 683 + But_renunt1.Name = "But_renunt1" + But_renunt1.Top = 1 + * + + ADD OBJECT '_grdrow1' AS _grdrow WITH ; + Anchor = 15, ; + ColumnCount = 29, ; + DeleteMark = .F., ; + FontName = "Arial Narrow", ; + Height = 313, ; + Left = 12, ; + Name = "_grdrow1", ; + Panel = 1, ; + Partition = 0, ; + ReadOnly = .T., ; + RecordSource = "v_stat", ; + Top = 48, ; + Width = 728, ; + Column1.ColumnOrder = 1, ; + Column1.ControlSource = "nrcrt()", ; + Column1.FontName = "Arial Narrow", ; + Column1.Name = "Column1", ; + Column1.ReadOnly = .T., ; + Column1.Width = 39, ; + Column2.ColumnOrder = 2, ; + Column2.ControlSource = "ALLT(nume) + ' ' +ALLT(prenume)", ; + Column2.FontName = "Arial Narrow", ; + Column2.Name = "Column3", ; + Column2.ReadOnly = .T., ; + Column2.Width = 120, ; + Column3.ColumnOrder = 8, ; + Column3.ControlSource = "brutlucrat", ; + Column3.FontName = "Arial Narrow", ; + Column3.InputMask = (get_mask(16,gnps)), ; + Column3.Name = "Column4", ; + Column3.ReadOnly = .F., ; + Column4.ColumnOrder = 9, ; + Column4.ControlSource = "brutco+brutcm", ; + Column4.FontName = "Arial Narrow", ; + Column4.InputMask = (get_mask(16,gnps)), ; + Column4.Name = "Column5", ; + Column4.ReadOnly = .T., ; + Column5.ColumnOrder = 10, ; + Column5.ControlSource = "primabrut", ; + Column5.FontName = "Arial Narrow", ; + Column5.InputMask = (get_mask(16,gnps)), ; + Column5.Name = "Column6", ; + Column5.ReadOnly = .T., ; + Column6.ColumnOrder = 11, ; + Column6.ControlSource = "altedr", ; + Column6.FontName = "Arial Narrow", ; + Column6.InputMask = (get_mask(16,gnps)), ; + Column6.Name = "Column7", ; + Column6.ReadOnly = .T., ; + Column7.ColumnOrder = 13, ; + Column7.ControlSource = "neimpozab", ; + Column7.FontName = "Arial Narrow", ; + Column7.InputMask = (get_mask(16,gnps)), ; + Column7.Name = "Column8", ; + Column7.ReadOnly = .F., ; + Column8.ColumnOrder = 12, ; + Column8.ControlSource = "TOTBRUT", ; + Column8.FontName = "Arial Narrow", ; + Column8.InputMask = (get_mask(16,gnps)), ; + Column8.Name = "Column9", ; + Column8.ReadOnly = .T., ; + Column9.ColumnOrder = 5, ; + Column9.ControlSource = "lichidare", ; + Column9.FontName = "Arial Narrow", ; + Column9.InputMask = (get_mask(16,gnps)), ; + Column9.Name = "Column10", ; + Column9.ReadOnly = .F., ; + Column10.ColumnOrder = 14, ; + Column10.ControlSource = "salnet", ; + Column10.FontName = "Arial Narrow", ; + Column10.InputMask = (get_mask(16,gnps)), ; + Column10.Name = "Column11", ; + Column10.ReadOnly = .T., ; + Column11.ColumnOrder = 6, ; + Column11.ControlSource = "avans", ; + Column11.FontName = "Arial Narrow", ; + Column11.InputMask = (get_mask(16,gnps)), ; + Column11.Name = "Column12", ; + Column11.ReadOnly = .T., ; + Column12.ColumnOrder = 16, ; + Column12.ControlSource = "tarifar", ; + Column12.FontName = "Arial Narrow", ; + Column12.InputMask = (get_mask(16,gnps)), ; + Column12.Name = "Column13", ; + Column12.ReadOnly = .T., ; + Column13.ColumnOrder = 17, ; + Column13.ControlSource = "ssomaj", ; + Column13.FontName = "Arial Narrow", ; + Column13.InputMask = (get_mask(16,gnps)), ; + Column13.Name = "Column14", ; + Column13.ReadOnly = .T., ; + Column14.ColumnOrder = 18, ; + Column14.ControlSource = "scas", ; + Column14.FontName = "Arial Narrow", ; + Column14.InputMask = (get_mask(16,gnps)), ; + Column14.Name = "Column15", ; + Column14.ReadOnly = .T., ; + Column15.ColumnOrder = 19, ; + Column15.ControlSource = "ssanatate", ; + Column15.FontName = "Arial Narrow", ; + Column15.InputMask = (get_mask(16,gnps)), ; + Column15.Name = "Column16", ; + Column15.ReadOnly = .T., ; + Column16.ColumnOrder = 21, ; + Column16.ControlSource = "sdeducere", ; + Column16.FontName = "Arial Narrow", ; + Column16.InputMask = (get_mask(16,gnps)), ; + Column16.Name = "Column17", ; + Column16.ReadOnly = .T., ; + Column17.ColumnOrder = 20, ; + Column17.ControlSource = "venitnet", ; + Column17.FontName = "Arial Narrow", ; + Column17.InputMask = (get_mask(16,gnps)), ; + Column17.Name = "Column18", ; + Column17.ReadOnly = .T., ; + Column18.ColumnOrder = 22, ; + Column18.ControlSource = "simpozit", ; + Column18.FontName = "Arial Narrow", ; + Column18.InputMask = (get_mask(16,gnps)), ; + Column18.Name = "Column19", ; + Column18.ReadOnly = .T., ; + Column19.ColumnOrder = 23, ; + Column19.ControlSource = "sumapop", ; + Column19.FontName = "Arial Narrow", ; + Column19.InputMask = (get_mask(16,gnps)), ; + Column19.Name = "Column20", ; + Column19.ReadOnly = .T., ; + Column20.ColumnOrder = 24, ; + Column20.ControlSource = "sumaspor", ; + Column20.FontName = "Arial Narrow", ; + Column20.InputMask = (get_mask(16,gnps)), ; + Column20.Name = "Column21", ; + Column20.ReadOnly = .T., ; + Column21.ColumnOrder = 25, ; + Column21.ControlSource = "brutco", ; + Column21.FontName = "Arial Narrow", ; + Column21.InputMask = (get_mask(16,gnps)), ; + Column21.Name = "Column22", ; + Column21.ReadOnly = .T., ; + Column22.ColumnOrder = 26, ; + Column22.ControlSource = "brutcm", ; + Column22.FontName = "Arial Narrow", ; + Column22.InputMask = (get_mask(16,gnps)), ; + Column22.Name = "Column23", ; + Column22.ReadOnly = .T., ; + Column23.ColumnOrder = 27, ; + Column23.ControlSource = "primanet", ; + Column23.FontName = "Arial Narrow", ; + Column23.InputMask = (get_mask(16,gnps)), ; + Column23.Name = "Column24", ; + Column23.ReadOnly = .T., ; + Column24.ColumnOrder = 3, ; + Column24.ControlSource = "sectie", ; + Column24.FontName = "Arial Narrow", ; + Column24.Name = "Column25", ; + Column24.ReadOnly = .F., ; + Column25.ColumnOrder = 4, ; + Column25.ControlSource = "formatia", ; + Column25.FontName = "Arial Narrow", ; + Column25.Name = "Column26", ; + Column25.ReadOnly = .F., ; + Column26.ColumnOrder = 28, ; + Column26.ControlSource = "meserie", ; + Column26.FontName = "Arial Narrow", ; + Column26.Name = "Column27", ; + Column26.ReadOnly = .T., ; + Column27.ColumnOrder = 15, ; + Column27.ControlSource = "avansconc", ; + Column27.FontName = "Arial Narrow", ; + Column27.InputMask = (get_mask(16,gnps)), ; + Column27.Name = "Column28", ; + Column27.ReadOnly = .T., ; + Column28.ColumnOrder = 29, ; + Column28.ControlSource = "codpers", ; + Column28.FontName = "Arial Narrow", ; + Column28.Name = "Column31", ; + Column28.ReadOnly = .T., ; + Column29.ColumnOrder = 7, ; + Column29.ControlSource = "ales", ; + Column29.FontName = "Arial Narrow", ; + Column29.Name = "Column30", ; + Column29.ReadOnly = .F., ; + Column29.Sparse = .F., ; + Column29.Width = 21 + *< END OBJECT: ClassLib="_grd_base.vcx" BaseClass="grid" /> + + ADD OBJECT '_grdrow1.Column1.Header1' AS header WITH ; + Alignment = 2, ; + Caption = "Nr. Crt", ; + FontName = "Arial Narrow", ; + Name = "Header1" + *< END OBJECT: BaseClass="header" /> + + ADD OBJECT '_grdrow1.Column1.Text1' AS textbox WITH ; + BackColor = 255,255,255, ; + BorderStyle = 0, ; + FontName = "Arial Narrow", ; + ForeColor = 0,0,0, ; + Margin = 0, ; + Name = "Text1", ; + ReadOnly = .T. + *< END OBJECT: BaseClass="textbox" /> + + ADD OBJECT '_grdrow1.Column10.Header1' AS header WITH ; + Alignment = 2, ; + Caption = "Lichidare", ; + FontName = "Arial Narrow", ; + Name = "Header1" + *< END OBJECT: BaseClass="header" /> + + ADD OBJECT '_grdrow1.Column10.Text1' AS textbox WITH ; + BackColor = 255,255,255, ; + BorderStyle = 0, ; + FontName = "Arial Narrow", ; + ForeColor = 0,0,0, ; + Margin = 0, ; + Name = "Text1", ; + ReadOnly = .F. + *< END OBJECT: BaseClass="textbox" /> + + ADD OBJECT '_grdrow1.Column11.Header1' AS header WITH ; + Alignment = 2, ; + Caption = "Salariu net", ; + FontName = "Arial Narrow", ; + Name = "Header1" + *< END OBJECT: BaseClass="header" /> + + ADD OBJECT '_grdrow1.Column11.Text1' AS textbox WITH ; + BackColor = 255,255,255, ; + BorderStyle = 0, ; + FontName = "Arial Narrow", ; + ForeColor = 0,0,0, ; + Margin = 0, ; + Name = "Text1", ; + ReadOnly = .T. + *< END OBJECT: BaseClass="textbox" /> + + ADD OBJECT '_grdrow1.Column12.Header1' AS header WITH ; + Alignment = 2, ; + Caption = "Avans", ; + FontName = "Arial Narrow", ; + Name = "Header1" + *< END OBJECT: BaseClass="header" /> + + ADD OBJECT '_grdrow1.Column12.Text1' AS textbox WITH ; + BackColor = 255,255,255, ; + BorderStyle = 0, ; + FontName = "Arial Narrow", ; + ForeColor = 0,0,0, ; + Margin = 0, ; + Name = "Text1", ; + ReadOnly = .T. + *< END OBJECT: BaseClass="textbox" /> + + ADD OBJECT '_grdrow1.Column13.Header1' AS header WITH ; + Alignment = 2, ; + Caption = "Tarifar", ; + FontName = "Arial Narrow", ; + Name = "Header1" + *< END OBJECT: BaseClass="header" /> + + ADD OBJECT '_grdrow1.Column13.Text1' AS textbox WITH ; + BackColor = 255,255,255, ; + BorderStyle = 0, ; + FontName = "Arial Narrow", ; + ForeColor = 0,0,0, ; + Margin = 0, ; + Name = "Text1", ; + ReadOnly = .T. + *< END OBJECT: BaseClass="textbox" /> + + ADD OBJECT '_grdrow1.Column14.Header1' AS header WITH ; + Alignment = 2, ; + Caption = "Somaj", ; + FontName = "Arial Narrow", ; + Name = "Header1" + *< END OBJECT: BaseClass="header" /> + + ADD OBJECT '_grdrow1.Column14.Text1' AS textbox WITH ; + BackColor = 255,255,255, ; + BorderStyle = 0, ; + FontName = "Arial Narrow", ; + ForeColor = 0,0,0, ; + Margin = 0, ; + Name = "Text1", ; + ReadOnly = .T. + *< END OBJECT: BaseClass="textbox" /> + + ADD OBJECT '_grdrow1.Column15.Header1' AS header WITH ; + Alignment = 2, ; + Caption = "CAS", ; + FontName = "Arial Narrow", ; + Name = "Header1" + *< END OBJECT: BaseClass="header" /> + + ADD OBJECT '_grdrow1.Column15.Text1' AS textbox WITH ; + BackColor = 255,255,255, ; + BorderStyle = 0, ; + FontName = "Arial Narrow", ; + ForeColor = 0,0,0, ; + Margin = 0, ; + Name = "Text1", ; + ReadOnly = .T. + *< END OBJECT: BaseClass="textbox" /> + + ADD OBJECT '_grdrow1.Column16.Header1' AS header WITH ; + Alignment = 2, ; + Caption = "Sanatate", ; + FontName = "Arial Narrow", ; + Name = "Header1" + *< END OBJECT: BaseClass="header" /> + + ADD OBJECT '_grdrow1.Column16.Text1' AS textbox WITH ; + BackColor = 255,255,255, ; + BorderStyle = 0, ; + FontName = "Arial Narrow", ; + ForeColor = 0,0,0, ; + Margin = 0, ; + Name = "Text1", ; + ReadOnly = .T. + *< END OBJECT: BaseClass="textbox" /> + + ADD OBJECT '_grdrow1.Column17.Header1' AS header WITH ; + Alignment = 2, ; + Caption = "Deducere", ; + FontName = "Arial Narrow", ; + Name = "Header1" + *< END OBJECT: BaseClass="header" /> + + ADD OBJECT '_grdrow1.Column17.Text1' AS textbox WITH ; + BackColor = 255,255,255, ; + BorderStyle = 0, ; + FontName = "Arial Narrow", ; + ForeColor = 0,0,0, ; + Margin = 0, ; + Name = "Text1", ; + ReadOnly = .T. + *< END OBJECT: BaseClass="textbox" /> + + ADD OBJECT '_grdrow1.Column18.Header1' AS header WITH ; + Alignment = 2, ; + Caption = "Venit net", ; + FontName = "Arial Narrow", ; + Name = "Header1" + *< END OBJECT: BaseClass="header" /> + + ADD OBJECT '_grdrow1.Column18.Text1' AS textbox WITH ; + BackColor = 255,255,255, ; + BorderStyle = 0, ; + FontName = "Arial Narrow", ; + ForeColor = 0,0,0, ; + Margin = 0, ; + Name = "Text1", ; + ReadOnly = .T. + *< END OBJECT: BaseClass="textbox" /> + + ADD OBJECT '_grdrow1.Column19.Header1' AS header WITH ; + Alignment = 2, ; + Caption = "Impozit", ; + FontName = "Arial Narrow", ; + Name = "Header1" + *< END OBJECT: BaseClass="header" /> + + ADD OBJECT '_grdrow1.Column19.Text1' AS textbox WITH ; + BackColor = 255,255,255, ; + BorderStyle = 0, ; + FontName = "Arial Narrow", ; + ForeColor = 0,0,0, ; + Margin = 0, ; + Name = "Text1", ; + ReadOnly = .T. + *< END OBJECT: BaseClass="textbox" /> + + ADD OBJECT '_grdrow1.Column20.Header1' AS header WITH ; + Alignment = 2, ; + Caption = "Retineri", ; + FontName = "Arial Narrow", ; + Name = "Header1" + *< END OBJECT: BaseClass="header" /> + + ADD OBJECT '_grdrow1.Column20.Text1' AS textbox WITH ; + BackColor = 255,255,255, ; + BorderStyle = 0, ; + FontName = "Arial Narrow", ; + ForeColor = 0,0,0, ; + Margin = 0, ; + Name = "Text1", ; + ReadOnly = .T. + *< END OBJECT: BaseClass="textbox" /> + + ADD OBJECT '_grdrow1.Column21.Header1' AS header WITH ; + Alignment = 2, ; + Caption = "Sporuri", ; + FontName = "Arial Narrow", ; + Name = "Header1" + *< END OBJECT: BaseClass="header" /> + + ADD OBJECT '_grdrow1.Column21.Text1' AS textbox WITH ; + BackColor = 255,255,255, ; + BorderStyle = 0, ; + FontName = "Arial Narrow", ; + ForeColor = 0,0,0, ; + Margin = 0, ; + Name = "Text1", ; + ReadOnly = .T. + *< END OBJECT: BaseClass="textbox" /> + + ADD OBJECT '_grdrow1.Column22.Header1' AS header WITH ; + Alignment = 2, ; + Caption = "Brut CO", ; + FontName = "Arial Narrow", ; + Name = "Header1" + *< END OBJECT: BaseClass="header" /> + + ADD OBJECT '_grdrow1.Column22.Text1' AS textbox WITH ; + BackColor = 255,255,255, ; + BorderStyle = 0, ; + FontName = "Arial Narrow", ; + ForeColor = 0,0,0, ; + Margin = 0, ; + Name = "Text1", ; + ReadOnly = .T. + *< END OBJECT: BaseClass="textbox" /> + + ADD OBJECT '_grdrow1.Column23.Header1' AS header WITH ; + Alignment = 2, ; + Caption = "BrutCM", ; + FontName = "Arial Narrow", ; + Name = "Header1" + *< END OBJECT: BaseClass="header" /> + + ADD OBJECT '_grdrow1.Column23.Text1' AS textbox WITH ; + BackColor = 255,255,255, ; + BorderStyle = 0, ; + FontName = "Arial Narrow", ; + ForeColor = 0,0,0, ; + Margin = 0, ; + Name = "Text1", ; + ReadOnly = .T. + *< END OBJECT: BaseClass="textbox" /> + + ADD OBJECT '_grdrow1.Column24.Header1' AS header WITH ; + Alignment = 2, ; + Caption = "Prima net", ; + FontName = "Arial Narrow", ; + Name = "Header1" + *< END OBJECT: BaseClass="header" /> + + ADD OBJECT '_grdrow1.Column24.Text1' AS textbox WITH ; + BackColor = 255,255,255, ; + BorderStyle = 0, ; + FontName = "Arial Narrow", ; + ForeColor = 0,0,0, ; + Margin = 0, ; + Name = "Text1", ; + ReadOnly = .T. + *< END OBJECT: BaseClass="textbox" /> + + ADD OBJECT '_grdrow1.Column25.Header1' AS header WITH ; + Alignment = 2, ; + Caption = "Sectie", ; + FontName = "Arial Narrow", ; + Name = "Header1" + *< END OBJECT: BaseClass="header" /> + + ADD OBJECT '_grdrow1.Column25.Text1' AS textbox WITH ; + BackColor = 255,255,255, ; + BorderStyle = 0, ; + FontName = "Arial Narrow", ; + ForeColor = 0,0,0, ; + Margin = 0, ; + Name = "Text1", ; + ReadOnly = .F. + *< END OBJECT: BaseClass="textbox" /> + + ADD OBJECT '_grdrow1.Column26.Header1' AS header WITH ; + Alignment = 2, ; + Caption = "Formatie", ; + FontName = "Arial Narrow", ; + Name = "Header1" + *< END OBJECT: BaseClass="header" /> + + ADD OBJECT '_grdrow1.Column26.Text1' AS textbox WITH ; + BackColor = 255,255,255, ; + BorderStyle = 0, ; + FontName = "Arial Narrow", ; + ForeColor = 0,0,0, ; + Margin = 0, ; + Name = "Text1", ; + ReadOnly = .F. + *< END OBJECT: BaseClass="textbox" /> + + ADD OBJECT '_grdrow1.Column27.Header1' AS header WITH ; + Alignment = 2, ; + Caption = "Meserie", ; + FontName = "Arial Narrow", ; + Name = "Header1" + *< END OBJECT: BaseClass="header" /> + + ADD OBJECT '_grdrow1.Column27.Text1' AS textbox WITH ; + BackColor = 255,255,255, ; + BorderStyle = 0, ; + FontName = "Arial Narrow", ; + ForeColor = 0,0,0, ; + Margin = 0, ; + Name = "Text1", ; + ReadOnly = .T. + *< END OBJECT: BaseClass="textbox" /> + + ADD OBJECT '_grdrow1.Column28.Header1' AS header WITH ; + Alignment = 2, ; + Caption = "Avans CO", ; + FontName = "Arial Narrow", ; + Name = "Header1" + *< END OBJECT: BaseClass="header" /> + + ADD OBJECT '_grdrow1.Column28.Text1' AS textbox WITH ; + BackColor = 255,255,255, ; + BorderStyle = 0, ; + FontName = "Arial Narrow", ; + ForeColor = 0,0,0, ; + Margin = 0, ; + Name = "Text1" + *< END OBJECT: BaseClass="textbox" /> + + ADD OBJECT '_grdrow1.Column3.Header1' AS header WITH ; + Alignment = 2, ; + Caption = "Nume", ; + FontName = "Arial Narrow", ; + Name = "Header1" + *< END OBJECT: BaseClass="header" /> + + ADD OBJECT '_grdrow1.Column3.Text1' AS textbox WITH ; + BackColor = 255,255,255, ; + BorderStyle = 0, ; + FontName = "Arial Narrow", ; + ForeColor = 0,0,0, ; + Margin = 0, ; + Name = "Text1", ; + ReadOnly = .T. + *< END OBJECT: BaseClass="textbox" /> + + ADD OBJECT '_grdrow1.Column30.Check1' AS checkbox WITH ; + Alignment = 2, ; + Caption = "", ; + Centered = .T., ; + Height = 17, ; + Left = 5, ; + Name = "Check1", ; + ReadOnly = .F., ; + Top = 47, ; + Width = 60 + *< END OBJECT: BaseClass="checkbox" /> + + ADD OBJECT '_grdrow1.Column30.Header1' AS header WITH ; + Caption = "Ales", ; + FontName = "Arial Narrow", ; + Name = "Header1" + *< END OBJECT: BaseClass="header" /> + + ADD OBJECT '_grdrow1.Column31.Header1' AS header WITH ; + Alignment = 2, ; + Caption = "CNP", ; + FontName = "Arial Narrow", ; + Name = "Header1" + *< END OBJECT: BaseClass="header" /> + + ADD OBJECT '_grdrow1.Column31.Text1' AS textbox WITH ; + BackColor = 255,255,255, ; + BorderStyle = 0, ; + FontName = "Arial Narrow", ; + ForeColor = 0,0,0, ; + Margin = 0, ; + Name = "Text1" + *< END OBJECT: BaseClass="textbox" /> + + ADD OBJECT '_grdrow1.Column4.Header1' AS header WITH ; + Alignment = 2, ; + Caption = "Brut", ; + FontName = "Arial Narrow", ; + Name = "Header1" + *< END OBJECT: BaseClass="header" /> + + ADD OBJECT '_grdrow1.Column4.Text1' AS textbox WITH ; + BackColor = 255,255,255, ; + BorderStyle = 0, ; + FontName = "Arial Narrow", ; + ForeColor = 0,0,0, ; + Margin = 0, ; + Name = "Text1", ; + ReadOnly = .F. + *< END OBJECT: BaseClass="textbox" /> + + ADD OBJECT '_grdrow1.Column5.Header1' AS header WITH ; + Alignment = 2, ; + Caption = "Brut concedii", ; + FontName = "Arial Narrow", ; + Name = "Header1" + *< END OBJECT: BaseClass="header" /> + + ADD OBJECT '_grdrow1.Column5.Text1' AS textbox WITH ; + BackColor = 255,255,255, ; + BorderStyle = 0, ; + FontName = "Arial Narrow", ; + ForeColor = 0,0,0, ; + Margin = 0, ; + Name = "Text1", ; + ReadOnly = .T. + *< END OBJECT: BaseClass="textbox" /> + + ADD OBJECT '_grdrow1.Column6.Header1' AS header WITH ; + Alignment = 2, ; + Caption = "Prima bruta", ; + FontName = "Arial Narrow", ; + Name = "Header1" + *< END OBJECT: BaseClass="header" /> + + ADD OBJECT '_grdrow1.Column6.Text1' AS textbox WITH ; + BackColor = 255,255,255, ; + BorderStyle = 0, ; + FontName = "Arial Narrow", ; + ForeColor = 0,0,0, ; + Margin = 0, ; + Name = "Text1", ; + ReadOnly = .T. + *< END OBJECT: BaseClass="textbox" /> + + ADD OBJECT '_grdrow1.Column7.Header1' AS header WITH ; + Alignment = 2, ; + Caption = "Alte drepturi", ; + FontName = "Arial Narrow", ; + Name = "Header1" + *< END OBJECT: BaseClass="header" /> + + ADD OBJECT '_grdrow1.Column7.Text1' AS textbox WITH ; + BackColor = 255,255,255, ; + BorderStyle = 0, ; + FontName = "Arial Narrow", ; + ForeColor = 0,0,0, ; + Margin = 0, ; + Name = "Text1", ; + ReadOnly = .T. + *< END OBJECT: BaseClass="textbox" /> + + ADD OBJECT '_grdrow1.Column8.Header1' AS header WITH ; + Alignment = 2, ; + Caption = "Neimpozabil", ; + FontName = "Arial Narrow", ; + Name = "Header1" + *< END OBJECT: BaseClass="header" /> + + ADD OBJECT '_grdrow1.Column8.Text1' AS textbox WITH ; + BackColor = 255,255,255, ; + BorderStyle = 0, ; + FontName = "Arial Narrow", ; + ForeColor = 0,0,0, ; + Margin = 0, ; + Name = "Text1", ; + ReadOnly = .F. + *< END OBJECT: BaseClass="textbox" /> + + ADD OBJECT '_grdrow1.Column9.Header1' AS header WITH ; + Alignment = 2, ; + Caption = "Total brut", ; + FontName = "Arial Narrow", ; + Name = "Header1" + *< END OBJECT: BaseClass="header" /> + + ADD OBJECT '_grdrow1.Column9.Text1' AS textbox WITH ; + BackColor = 255,255,255, ; + BorderStyle = 0, ; + FontName = "Arial Narrow", ; + ForeColor = 0,0,0, ; + Margin = 0, ; + Name = "Text1", ; + ReadOnly = .T. + *< END OBJECT: BaseClass="textbox" /> + + ADD OBJECT 'Gridextra1' AS gridextra WITH ; + gridexpression = Thisform._grdrow1, ; + Left = 528, ; + Name = "Gridextra1", ; + Top = 5 + *< END OBJECT: ClassLib="..\utile\gridextras\gridextras.vcx" BaseClass="custom" /> + + PROCEDURE inainte_de_do_termin + Thisform.AlwaysOnTop = .F. + If Thisform.anumiti_da + Select v_stat + Set Filter To ales = 1 + Else + Select v_stat + Set Filter To ales = 0 + Endif + *!* REPORT FORMAT (thisform.clistare) TO PRINTER PROMPT NOCONSOLE PREVIEW + *!* goExport.export2frx([v_stat],Thisform.clistare,, , , , , .T.) + goExport.export2frx([v_stat],Thisform.clistare) + + Select v_stat + Set Filter To + Thisform.AlwaysOnTop = .T. + Thisform._grdrow1.SetFocus + + Return .F. + ENDPROC + + PROCEDURE Init + Lparameters tlRestrans + DoDefault() + Thisform.gridextra1.Setup() + If tlRestrans + With Thisform._grdrow1 + .SetAll("Visible",.F.,"Column") + *!* .SetAll("ControlSource",'',"Column") + .Column1.Visible = .T. + *!* .Column1.ControlSource = [nrcrt()] + .Column3.Visible = .T. + *!* .Column3.ControlSource = [ALLT(nume)+' '+ALLT(prenume)] + .Column4.Visible = .T. + *!* .Column4.ControlSource = [brutlucrat] + .Column25.Visible = .T. + *!* .Column25.ControlSource = [sectie] + .Column26.Visible = .T. + *!* .Column26.ControlSource = [formatia] + .Column30.Visible = .T. + *!* .Column30.ControlSource = [ales] + Endwith + Endif + Do nrord With 'v_stat' + Select v_stat + Go Top + ENDPROC + +ENDDEFINE + +DEFINE CLASS frm_list_stat AS frm_termin_renunt OF "_frm_child.vcx" + *< CLASSDATA: Baseclass="form" Timestamp="" Scale="Pixels" Uniqueid="" /> + + *-- OBJECTDATA items order determines ZOrder / El orden de los items OBJECTDATA determina el ZOrder + *< OBJECTDATA: ObjPath="Shape1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="Shape2" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="Optiongroup1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="Lb_simplu2" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="Lb_simplu3" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="CkFormatie" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="ckCenzori" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="CkSectie" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="Label1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="But_cautare3" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="Ck_perioada" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="_txtformatii" UniqueID="" Timestamp="" /> + + * + *m: do_cauta1 + *m: do_cauta2 + *m: do_cauta3 + *m: speccentraliz + *p: clistare + *p: csiridgest + *p: e_centralizator + *p: filtruinitial + *p: lpersoana + *p: ndinsal + *p: nidgest + *p: oresult + *p: orezult + *p: pcnumegest + * + + * + clistare = avans + csiridgest = + DoCreate = .T. + e_centralizator = .F. + filtruinitial = + Height = 345 + lpersoana = .F. + Name = "frm_list_stat" + ndinsal = 1 + nidgest = 0 + oresult = .F. + orezult = .F. + pcnumegest = + Width = 417 + _SHAPE1.Height = 29 + _SHAPE1.Left = 0 + _SHAPE1.Name = "_SHAPE1" + _SHAPE1.Top = 0 + _SHAPE1.Width = 444 + _SHAPE1.ZOrderSet = 2 + _SHAPE2.Height = 29 + _SHAPE2.Left = 348 + _SHAPE2.Name = "_SHAPE2" + _SHAPE2.Top = 0 + _SHAPE2.Width = 69 + _SHAPE2.ZOrderSet = 3 + LB_TITLU_ALB_B121.Caption = "Listare avansuri" + LB_TITLU_ALB_B121.Name = "LB_TITLU_ALB_B121" + LB_TITLU_ALB_B121.TabIndex = 10 + LB_TITLU_ALB_B121.ZOrderSet = 4 + BUT_TERMIN1.Left = 386 + BUT_TERMIN1.Name = "BUT_TERMIN1" + BUT_TERMIN1.TabIndex = 8 + BUT_TERMIN1.Top = 1 + BUT_TERMIN1.ZOrderSet = 5 + Gridsort1.Name = "Gridsort1" + BUT_RENUNT1.Left = 353 + BUT_RENUNT1.Name = "BUT_RENUNT1" + BUT_RENUNT1.TabIndex = 9 + BUT_RENUNT1.Top = 1 + BUT_RENUNT1.ZOrderSet = 6 + * + + ADD OBJECT '_txtformatii' AS _textbox WITH ; + ControlSource = "thisform.pcnumegest", ; + DisabledForeColor = 0,0,0, ; + Enabled = .F., ; + FontItalic = .T., ; + FontName = "Arial Narrow", ; + FontSize = 10, ; + ForeColor = 0,0,0, ; + Height = 22, ; + Left = 130, ; + Name = "_txtformatii", ; + TabIndex = 4, ; + Top = 185, ; + Width = 215, ; + ZOrderSet = 18 + *< END OBJECT: ClassLib="_baza.vcx" BaseClass="textbox" /> + + ADD OBJECT 'But_cautare3' AS but_cautare WITH ; + Left = 346, ; + Name = "But_cautare3", ; + TabIndex = 13, ; + Top = 181, ; + ZOrderSet = 19 + *< END OBJECT: ClassLib="cmd_butoane.vcx" BaseClass="commandbutton" /> + + ADD OBJECT 'Ck_perioada' AS ck_filtru_luna WITH ; + Alignment = 0, ; + camp_nume = luna+an*12, ; + Caption = "Perioadã", ; + FontName = "Arial", ; + Left = 216, ; + luna = , ; + Name = "Ck_perioada", ; + TabIndex = 3, ; + TabStop = .F., ; + Top = 84, ; + Visible = .F. + *< END OBJECT: ClassLib="caut_ora.vcx" BaseClass="checkbox" /> + + ADD OBJECT 'ckCenzori' AS checkbox WITH ; + Alignment = 0, ; + AutoSize = .T., ; + BackStyle = 0, ; + Caption = "Cenzori", ; + FontCharSet = 238, ; + Height = 17, ; + Left = 216, ; + Name = "ckCenzori", ; + TabIndex = 2, ; + TabStop = .F., ; + Top = 60, ; + Visible = .F., ; + Width = 60, ; + ZOrderSet = 12 + *< END OBJECT: BaseClass="checkbox" /> + + ADD OBJECT 'CkFormatie' AS checkbox WITH ; + Alignment = 0, ; + AutoSize = .T., ; + BackStyle = 0, ; + Caption = "Dupã formaþie", ; + FontCharSet = 238, ; + Height = 17, ; + Left = 135, ; + Name = "CkFormatie", ; + TabIndex = 6, ; + Top = 263, ; + Width = 96, ; + ZOrderSet = 11 + *< END OBJECT: BaseClass="checkbox" /> + + ADD OBJECT 'CkSectie' AS checkbox WITH ; + Alignment = 0, ; + AutoSize = .T., ; + BackStyle = 0, ; + Caption = "Dupã secþie", ; + FontCharSet = 238, ; + Height = 17, ; + Left = 135, ; + Name = "CkSectie", ; + TabIndex = 7, ; + Top = 282, ; + Width = 84, ; + ZOrderSet = 12 + *< END OBJECT: BaseClass="checkbox" /> + + ADD OBJECT 'Label1' AS label WITH ; + AutoSize = .T., ; + BackStyle = 0, ; + Caption = "{", ; + FontName = "Book Antiqua", ; + FontSize = 18, ; + Height = 30, ; + Left = 121, ; + Name = "Label1", ; + TabIndex = 14, ; + Top = 264, ; + Width = 10, ; + ZOrderSet = 13 + *< END OBJECT: BaseClass="label" /> + + ADD OBJECT 'Lb_simplu2' AS lb_simplu WITH ; + Caption = "II", ; + FontName = "Courier", ; + Left = 20, ; + Name = "Lb_simplu2", ; + TabIndex = 12, ; + Top = 268, ; + ZOrderSet = 9 + *< END OBJECT: ClassLib="lb.vcx" BaseClass="label" /> + + ADD OBJECT 'Lb_simplu3' AS lb_simplu WITH ; + Caption = "Grupare:", ; + Left = 68, ; + Name = "Lb_simplu3", ; + TabIndex = 5, ; + Top = 270, ; + ZOrderSet = 10 + *< END OBJECT: ClassLib="lb.vcx" BaseClass="label" /> + + ADD OBJECT 'Optiongroup1' AS optiongroup WITH ; + BackStyle = 0, ; + BorderColor = 192,192,192, ; + ButtonCount = 7, ; + Height = 201, ; + Left = 36, ; + Name = "Optiongroup1", ; + SpecialEffect = 1, ; + TabIndex = 1, ; + Top = 56, ; + Value = 1, ; + Width = 352, ; + ZOrderSet = 7, ; + Option1.AutoSize = .T., ; + Option1.BackStyle = 0, ; + Option1.Caption = "Toate persoanele", ; + Option1.FontCharSet = 238, ; + Option1.Height = 17, ; + Option1.Left = 5, ; + Option1.Name = "Option1", ; + Option1.Top = 5, ; + Option1.Value = 1, ; + Option1.Width = 115, ; + Option2.AutoSize = .T., ; + Option2.BackStyle = 0, ; + Option2.Caption = "O tranºã", ; + Option2.FontCharSet = 238, ; + Option2.Height = 17, ; + Option2.Left = 5, ; + Option2.Name = "Option2", ; + Option2.Top = 36, ; + Option2.Width = 65, ; + Option3.AutoSize = .T., ; + Option3.BackStyle = 0, ; + Option3.Caption = "O secþie", ; + Option3.FontCharSet = 238, ; + Option3.Height = 17, ; + Option3.Left = 5, ; + Option3.Name = "Option3", ; + Option3.Top = 57, ; + Option3.Width = 63, ; + Option4.AutoSize = .T., ; + Option4.BackStyle = 0, ; + Option4.Caption = "O formaþie", ; + Option4.FontCharSet = 238, ; + Option4.Height = 17, ; + Option4.Left = 5, ; + Option4.Name = "Option4", ; + Option4.Top = 80, ; + Option4.Width = 75, ; + Option5.AutoSize = .T., ; + Option5.BackStyle = 0, ; + Option5.Caption = "Anumite persoane", ; + Option5.FontCharSet = 238, ; + Option5.Height = 17, ; + Option5.Left = 5, ; + Option5.Name = "Option5", ; + Option5.Top = 151, ; + Option5.Width = 119, ; + Option6.AutoSize = .T., ; + Option6.BackStyle = 0, ; + Option6.Caption = "Mai puþin anumite persoane", ; + Option6.FontCharSet = 238, ; + Option6.Height = 17, ; + Option6.Left = 5, ; + Option6.Name = "Option6", ; + Option6.Top = 175, ; + Option6.Width = 171, ; + Option7.AutoSize = .T., ; + Option7.BackStyle = 0, ; + Option7.Caption = "O persoanã", ; + Option7.FontCharSet = 238, ; + Option7.Height = 17, ; + Option7.Left = 5, ; + Option7.Name = "Option7", ; + Option7.Top = 104, ; + Option7.Width = 83 + *< END OBJECT: BaseClass="optiongroup" /> + + ADD OBJECT 'Shape1' AS shape WITH ; + BackStyle = 0, ; + BorderColor = 192,192,192, ; + Height = 278, ; + Left = 12, ; + Name = "Shape1", ; + Top = 41, ; + Width = 390, ; + ZOrderSet = 0 + *< END OBJECT: BaseClass="shape" /> + + ADD OBJECT 'Shape2' AS shape WITH ; + BackStyle = 0, ; + BorderColor = 192,192,192, ; + Height = 49, ; + Left = 36, ; + Name = "Shape2", ; + Top = 256, ; + Width = 352, ; + ZOrderSet = 1 + *< END OBJECT: BaseClass="shape" /> + + PROCEDURE do_cauta + With This.optiongroup1 + Do Case + Case .Value = 2 + If This.e_centralizator + pcselect = [select * from ] + gcs + [.VNOM_SUCURSALE ] + pcfiltru = [2=2] + pcschema = [] + pcorder = [sucursala] + pccoloane = [sucursala] + pcTitlu = [Alegeti sucursala] + pcTitluColoane = [Sucursala] + pcFiltruInitial = [sters = 0] + locauta = cauta_alfa(pcselect,pcfiltru,pcschema,pcorder,pccoloane,pcTitlu,pcTitluColoane,"",.t.,pcFiltruInitial)&&30iul2007 + *!* modificare ROASAL v 2.0.13 : loCauta = caut_sucursala(.T.) + *!* modificare ROASAL v 2.0.15 : am comentat ce am adaugat in v 2.0.13 + *!* daca apelez caut_sucursala, atunci nu mai pot alege sucursalele decat pe firma mama si ar trebui sa modific + *!* in inainte_de_do_termin ca sa-i puna automat filtrul pe sucursala pe care sunt + This.pcnumegest = loCauta.sucursala + This.nidgest = loCauta.id_sucursala + Else + loCauta = caut_transa() + IF !ISNULL(loCauta) + This.pcnumegest = loCauta.Transa + This.nidgest = loCauta.id_transa + ENDIF + Endif + + Case .Value = 3 + *!* modificare 2.0.13 + *!* pcselect = [select * from vnom_sectii] + *!* pcfiltru = [2=2] + *!* pcschema = [] + *!* pcorder = [sectie] + *!* pccoloane = [sectie] + *!* pcTitlu = [Alegeti sectia] + *!* pcTitluColoane = [Sectie] + *!* pcFiltruInitial = [inactiv = 0] + *!* locauta = cauta_alfa(pcselect,pcfiltru,pcschema,pcorder,pccoloane,pcTitlu,pcTitluColoane,"",.t.,pcFiltruInitial)&&30iul2007 + loCauta = caut_sectie(1,.F.,.T.) + *!* modificare 2.0.13 ^ + This.pcnumegest = loCauta.sectie + This.nidgest = loCauta.id_sectie + + + Case .Value = 4 + *!* modificare 2.0.13 + *!* pcselect = [select * from sal_vnom_formatii ] + *!* pcfiltru = [2=2] + *!* pcschema = [] + *!* pcorder = [denumire] + *!* pccoloane = [denumire] + *!* pcTitlu = [Alegeti formatia] + *!* pcTitluColoane = [formatia] + *!* pcFiltruInitial = [inactiv = 0] + *!* locauta = cauta_alfa(pcselect,pcfiltru,pcschema,pcorder,pccoloane,pcTitlu,pcTitluColoane,"",.t.,pcFiltruInitial)&&30iul2007 + *!* this.pcnumegest = locauta.denumire + *!* this.nidgest = locauta.id_formatia + If This.e_centralizator + lcXMLFormatii = caut_formatii_xml() + lcSeparator = [,] + loCauta = Null + If !Empty(lcXMLFormatii) And gnbuton = 1 + Xmltocursor(lcXMLFormatii, "crsFormTemp") + If Reccount('crsFormTemp') = 0 + amessagebox('Nu ati selectat nici o formatie!',0+48,'Atentie') + ELSE + Thisform.pcnumegest = cursor2lista("crsFormTemp", "denumire", lcSeparator) + Thisform.csiridgest = cursor2lista("crsFormTemp","id_formatia",lcSeparator) + Endif + Use In crsFormTemp + Endif + ELSE + IF !Inlist(Lower(Thisform.clistare), [state_simplificat]) + loCauta = caut_formatie(.T.) + ELSE + loCauta = caut_formatie_sal_salspec(.T.) + ENDIF + If !Isnull(loCauta) + This.pcnumegest = loCauta.denumire + This.nidgest = loCauta.id_formatia + IF TYPE('loCauta.dinSalarii')<>'U' + this.ndinsal = loCauta.dinSalarii + ENDIF + ENDIF + Endif + *!* modificare 2.0.13 ^ + Case .Value = 7 + IF !Inlist(Lower(Thisform.clistare), [state_simplificat]) + + pcselect = [select id_stat,nume,prenume,marca,1 as dinSalarii from sal_vstat] + ELSE + pcselect = [select id_stat,nume,prenume,marca,1 as dinSalarii from sal_vstat ]+; + [ union ]+; + [ select id_venit as id_stat,nume,prenume,marca,0 as dinSalarii from spec_vvenituri where brut+venitnet >0] + ENDIF + pcfiltru = [2=2] + pcschema = [] + pcorder = [nume,prenume] + pccoloane = [nume,prenume,marca] + pcTitlu = [Alegeti angajatul] + pcTitluColoane = [Nume,Prenume,Marca] + pcFiltruInitial = [sters = 0] + loCauta = cauta_alfa(pcselect,pcfiltru,pcschema,pcorder,pccoloane,pcTitlu,pcTitluColoane,"",.T.,pcFiltruInitial)&&30iul2007 + + This.pcnumegest = Alltrim(loCauta.nume) +' '+ Alltrim(loCauta.prenume) + This.nidgest = loCauta.id_stat + this.ndinsal = loCauta.dinSalarii + Otherwise + loCauta = '' + This.nidgest = 0 + this.ndinsal = 1 + Endcase + Endwith + This._txtformatii.Refresh + This.orezult = loCauta + ENDPROC + + PROCEDURE do_cauta1 + ENDPROC + + PROCEDURE do_cauta2 + ENDPROC + + PROCEDURE do_cauta3 + ENDPROC + + PROCEDURE inainte_de_do_termin + Local lcCursor,lcCursor2,lcOrder,llAfiseaza,lcRaportSemnaturi,lcRaportListare,llRestrans,lcSql,lcAn1,lcLuna1,lcAn2,lcLuna2 + Private osel,pcSelect,pcSchema,pcFiltru,pcOrder,pcGroup,poStocuri,pnTotAvCard,pnTotPrima,pcTitlu,pcSubtitlu,pcSemnaturi,pcFiltru2,pcFiltruId,pcSectie,pcFormatie,pcFiltruOriginal,pcHeaderGrup + Store [] To lcCursor,lcCursor2,lcOrder,lcRaportSemnaturi,lcRaportListare,lcSql,lcAn1,lcLuna1,lcAn2,lcLuna2 + Store [] To osel,poStocuri + Store [] To pcSelect,pcSchema,pcFiltru,pcOrder,pcGroup,pcTitlu,pcSubtitlu,pcSemnaturi,pcFiltru2,pcFiltruId,pcSectie,pcFormatie,pcFiltruOriginal,pcHeaderGrup + Store 0 To pnTotAvCard,pnTotPrima + Store .F. To llRestrans, llAfiseaza + + *!* SET STEP ON + *!* Private pcGrupCont,pcGrupAcont + Set Step On + osel = This.orezult + If Empty(This.pcnumegest) + With This.optiongroup1 + Do Case + Case .Value = 2 + Thisform.do_cauta() + Case .Value = 3 + Thisform.do_cauta() + Case .Value = 4 + Thisform.do_cauta() + Case .Value = 7 + Thisform.do_cauta() + Otherwise + pcFiltru = [] + Endcase + Endwith + Endif + If Empty(This.pcnumegest) And Inlist(Thisform.optiongroup1.Value,2,3,4,7) + Return .F. + Endif + + If This.pcnumegest # [] + With This.optiongroup1 + Do Case + Case .Value = 2 + If This.e_centralizator + pcFiltru = [sucursala = ']+Alltrim(This.pcnumegest)+['] + pcFiltruId = [id_sucursala = ] + Alltrim(Str(This.nidgest)) + Else + pcFiltru = [transa = ']+Alltrim(This.pcnumegest)+['] + pcFiltruId = [id_transa = ] + Alltrim(Str(This.nidgest)) + Endif + Case .Value = 3 + pcFiltru = [sectie = ']+Alltrim(This.pcnumegest)+['] + pcFiltruId = [id_sectie = ] + Alltrim(Str(This.nidgest)) + + Case .Value = 4 + *!* modificare ROASAL v 2.0.13 + If This.e_centralizator + pcFiltru = [formatia in ('] + Strtran(Alltrim(This.pcnumegest),[,],[',']) + [')] + pcFiltruId = [id_formatie in (] + Alltrim(Thisform.csiridgest) + [)] + Else + *!* modificare ROASAL v 2.0.13 ^ + If Inlist(Lower(Thisform.clistare),[foaia],[foaia2]) + pcFiltru = [formatie = ']+Alltrim(This.pcnumegest)+['] + Else + pcFiltru = [formatia = ']+Alltrim(This.pcnumegest)+['] + ENDIF + IF !Inlist(Lower(Thisform.clistare), [state_simplificat]) + pcFiltruId = [id_formatie = ] + Alltrim(Str(This.nidgest)) + ELSE + pcFiltruId = [id_formatie = ] + Alltrim(Str(This.nidgest))+[ and dinSalarii = ]+ALLTRIM(STR(this.ndinsal)) + ENDIF + *!* modificare ROASAL v 2.0.13 + Endif + *!* modificare ROASAL v 2.0.13 ^ + Case .Value = 7 + pcFiltru = [nume = ']+Alltrim(This.pcnumegest)+['] + pcFiltruId = [id_stat = ] + Alltrim(Str(This.nidgest)) + Otherwise + pcFiltru = [] + + Endcase + Endwith + Endif + If This.pcnumegest # [] And This.e_centralizator And Lower(Thisform.clistare) = [centralizator] + If This.ckCenzori.Value=1 + pcFiltru = pcFiltru + [ and id_tipctr = 3] + pcFiltruId = pcFiltruId + [ and id_tipctr = 3] + Else + pcFiltru = pcFiltru + [ and id_tipctr <> 3] + pcFiltruId = pcFiltruId + [ and id_tipctr <> 3] + Endif + Else + If Lower(Thisform.clistare) = [centralizator] + If This.ckCenzori.Value =1 + pcFiltru = [id_tipctr = 3] + pcFiltruId = [id_tipctr = 3] + Else + pcFiltru = [id_tipctr <> 3] + pcFiltruId = [id_tipctr <> 3] + Endif + Endif + Endif + + pcFiltruOriginal = [2=2] + lcOrder = [] + pcSectie = [EOF()] + pcFormatie = [EOF()] + lcRaportSemnaturi = Thisform.clistare + lcRaportListare = Thisform.clistare + If This.ckSectie.Value = 1 + lcOrder = lcOrder + [,sectie] + pcSectie = [sectie] + pcHeaderGrup = [Sectie : ] + Endif + If This.ckFormatie.Value = 1 + pcFormatie = [formatia] + lcOrder = lcOrder + [,formatia] + Endif + + lcOrder = Substr(lcOrder + [,nume,prenume],2) + pcselect=[select a.*,0 as ales from ]+gcS+[.sal_vstatplata a] + Do Case + Case Lower(Thisform.clistare) = [sitco] + pcSelect=[select a.*,0 as ales,0 as brutco,0 as brutcm from ]+gcS+[.sal_vsitco_dinplanif a] + Case Lower(Thisform.clistare) = [sitco_prez] + pcSelect=[select a.*,0 as ales,0 as brutco,0 as brutcm from ]+gcS+[.sal_vsitco_prezent a] + lcRaportListare = [sitco] && modificare ROANOR v 2.0.2 + Case Inlist(Lower(Thisform.clistare) , [foaia] , [foaia2]) + pcSelect=[select a.*,0 as ales from ]+gcS+[.sal_vacord a] + pcFormatie = Strtran(Lower(pcFormatie),[formatia],[formatie]) + lcOrder = Strtran(Lower(lcOrder),[formatia],[formatie]) + llRestrans = .T. && modificare ROANOR v 2.0.2 + Case Inlist(Lower(Thisform.clistare),[pontaje1_15],[pontaje16_31],[pontajea4],[pontajea4_lucr]) + pcSelect=[select a.*,0 as ales,0 as brutco,0 as brutcm from ]+gcS+[.sal_vpontare a] + llRestrans = .T. && modificare ROANOR v 2.0.2 + Case Inlist(Lower(Thisform.clistare),[pontajea4_ore]) + pcSelect=[select a.*,0 as ales,0 as brutco,0 as brutcm from ]+gcS+[.sal_vpontare_ore a] + llRestrans = .T. + *!* modificare ROANOR v 2.0.1 + *!* pcFormatie = Strtran(pcFormatie,[formatia],[formatie]) + *!* lcOrder = Strtran(lcOrder,[formatia],[formatie]) + *!* modificare ROANOR v 2.0.1 ^ + Case Inlist(Lower(Thisform.clistare), [avans],[flutur2]) + pcFiltru = pcFiltru + Iif(Empty(pcFiltru),[ avans > 0],[ and avans > 0]) + Case Inlist(Lower(Thisform.clistare), [statsomajtehnic]) + pcFiltru = pcFiltru + Iif(Empty(pcFiltru),[ brutsomteh> 0],[ and brutsomteh> 0]) + Case Lower(Thisform.clistare) = [avansconc] + pcFiltru = pcFiltru + Iif(Empty(pcFiltru),[ avansconc > 0],[ and avansconc > 0]) + Case Lower(Thisform.clistare) = [stat_prima] + pcFiltru = pcFiltru + Iif(Empty(pcFiltru),[ (primanet > 0 or primabrut >0)],[ and (primanet > 0 or primabrut >0)]) + Case Lower(Thisform.clistare) = [stateco] + pcSelect=[select a.*,0 as ales from ]+gcS+[.sal_vstatplata a] && modificare ROANOR v 2.0.2 + pcFiltru = pcFiltru + Iif(Empty(pcFiltru),[ brutco>0],[ and brutco>0]) + Case Lower(Thisform.clistare) = [statprimeco] + pcSelect=[select a.id_stat, a.an, a.luna, a.nume, a.id_meserie, a.tarifar, a.id_formatie, a.svechime, a.c_vechime, a.primavacbr, a.primavacn, a.prenume, a.marca, a.meserie, a.formatie as formatia, a.id_sectie, a.sectie, a.zilecotot,a.primavac_card,0 as ales ]+; + [from ]+gcS+[.sal_vprimevacanta a] && modificare ROANOR v 2.0.2 + pcFiltru = pcFiltru + Iif(Empty(pcFiltru),[ (primavacn>0 or primavacbr >0)],[ and (primavacn>0 or primavacbr >0)]) + *!* modificare ROANOR v 2.0.2 + *!* Case Inlist(Lower(Thisform.clistare),[flutur1],[popriri_ang],[popriri_beneficiar]) + *!* pcfiltru = pcfiltru + Case Inlist(Lowe(Thisform.clistare),[flutur_det],[flutur_det_tip1],[flutur_det_tip2],[flutur_pop]) + pcSelect=[select a.*,0 as ales from ]+gcS+[.sal_vstatlist a] + lcRaportSemnaturi = Substr(Thisform.clistare,1,10) + llRestrans = .T. + Case Lower(Thisform.clistare) = [sporuri_ang] + pcSelect=[select * from ] + gcS + [.sal_vsporuri_list ] + Case Inlist(Lower(Thisform.clistare),[popriri_ang],[popriri_beneficiar]) + pcSelect=[select * from ] + gcS + [.sal_vpopriri_list ] + lcOrder=[beneficiar,nume_popr,nume,prenume] + Case Inlist(Lower(Thisform.clistare), [state_ch1]) + pcSelect=[select a.*,0 as ales from ]+gcS+[.sal_vstatlist a] + pcFiltru = pcFiltru + Iif(Empty(pcFiltru),[ a.brutch1 >0],[ and a.brutch1 >0]) + lcRaportSemnaturi = [state] + lcRaportListare = [state_tip1] + llRestrans = .T. + Case Inlist(Lower(Thisform.clistare), [state_ch2]) + pcSelect=[select a.*,0 as ales from ]+gcS+[.sal_vstatlist_ch2 a ] + pcFiltru = pcFiltru + Iif(Empty(pcFiltru),[ a.brutch2 >0],[ and a.brutch2 >0]) + llRestrans = .T. + Case Inlist(Lower(Thisform.clistare), [state_tip1]) + pcSelect=[select a.*,0 as ales from ]+gcS+[.sal_vstatlist a] + pcFiltru = pcFiltru + Iif(Empty(pcFiltru),[ a.lichidare >0],[ and a.lichidare >0]) + lcRaportSemnaturi = [state] + llRestrans = .T. + Case Inlist(Lower(Thisform.clistare), [state_tip2]) + pcSelect=[select a.*,0 as ales from ]+gcS+[.sal_vstatlist a] + *!* pcFiltru = pcFiltru + Iif(Empty(pcFiltru),[ a.lichidare >0],[ and a.lichidare >0]) + lcRaportSemnaturi = [state] + llRestrans = .T. + *!* modificare ROASAL v 2.0.53 + Case Inlist(Lower(Thisform.clistare), [state_detaliimic], [state_detaliiscst]) + pcSelect=[select a.*,0 as ales from ]+gcS+[.sal_vstatplata a] + lcRaportSemnaturi = [state_detalii] + + *!* modificare ROASAL v 2.0.53 ^ + Case Inlist(Lower(Thisform.clistare), [state_simplificat])&&state pentru banca + *!* pcSelect=[select a.*,0 as ales from ]+gcS+[.sal_vstatplata a] + pcSelect = [select sectie,formatia,nume,prenume,marca,tarifar,altedr as altedrsal,0 as altedrimp,totbrut,scas,ssomaj,ssanatate,venitnet, ]+; + [0 as alteded,sdeducere,neimpozab, ]+; + [(case when venitnet+nvl(valtichete,0)-sdeducere-neimpozab>0 then venitnet+nvl(valtichete,0)-sdeducere-neimpozab else 0 end) as bazaCalcul, ]+; + [simpozit,salnet,avans+avansconc as avans,totpopriri,lichidare,0 as ales,1 as dinSalarii,nvl(valtichete,0) as valtichete,primabrut,primanet from sal_vstatplata ]+; + [union all ]+; + [select sectie,formatia,nume,prenume,marca, brut as tarifar,0 as altedrsal,brut as altedrimp,brut as totbrut,scas,ssomaj,ssanatate, ]+; + [(case when brut-scas-ssomaj-ssanatate>0 then brut-scas-ssomaj-ssanatate else 0 end) as venitnet, ]+; + [scheltforf as alteded,0 as sdeducere, 0 as neimpozab, ]+; + [(case when brut-scas-ssomaj-ssanatate-scheltforf>0 then brut-scas-ssomaj-ssanatate-scheltforf else 0 end) as bazaCalcul, ]+; + [impozit as simpozit,venitnet as salnet, avans,0 as totpopriri,venitnet as lichidare,0 as ales,0 as dinSalarii,0 as valtichete,0 as primabrut,0 as primanet from spec_vvenituri ] + pcFiltru = pcFiltru + Iif(Empty(pcFiltru),[ brut+venitnet >0],[ and brut+venitnet >0]) + lcRaportSemnaturi = [state_detalii] + *!* modificare ROASAL v 2.0.53 ^ + CASE Inlist(Lower(Thisform.clistare), [sal_condica_farasemn],[sal_condica_cusemn]) + pcSelect=[select a.*,0 as ales from ]+gcS+[.sal_vcondica a] + lcOrder=[ziua,nume,prenume] + CASE Inlist(Lower(Thisform.clistare), [sal_persvechimeinmun]) + pcSelect=[select marca,codpers,nume,prenume,dataang,datasfctr,tip_contract,formatia,meseria,cod_meserie,tarifar,cod as clasa_sal,vechime-vechimei]+; + [ as vluni,vechime,data_vech as data_vechi,semnatura ] + ; + [ from sal_vnom_pers ] + lcOrder=[nume,prenume] + + Otherwise + pcSelect=[select a.*,0 as ales from ]+gcS+[.sal_vstatplata a] + *!* modificare ROANOR v 2.0.2 ^ + Endcase + If This.pcnumegest # [] + pcSubtitlu = This.pcnumegest + Endif + + *!* modificare ROANOR v 2.0.2 + *!* Do Case + *!* Case Lower(Thisform.clistare) = [centralizator] + If Lower(Thisform.clistare) = [centralizator] + *!* modificare ROANOR v 2.0.2 ^ + Wait Window "Asteptati, se calculeazã datele..." Nowait + *!* modificare v 2.0.9 + Private poCoefListare + lcSql = [select * from sal_calendar where an = ?gnAn and luna = ?gnLuna] + lcCursor = [crsCoefLuna] + If goExecutor.oExecuta(lcSql,lcCursor) + Select (lcCursor) + Scatter Name poCoefListare + Use In (Select(lcCursor)) + *!* modificare v 2.0.9 ^ + SET STEP ON + If This.pcnumegest = [] Or This.optiongroup1.Value = 1 + pcFiltruId = '' + lcfiltru2 = pcFiltruId + Else + lcfiltru2 = ' where ' + pcFiltruId + pcFiltruId = ' and '+pcFiltruId + Endif + + lcSql = [select id_stat from ]+gcS+[.sal_vstatplata ]+ lcfiltru2 + lcCursor = [crsRezultate] + If !goExecutor.oExecuta(lcSql,lcCursor) + Return .F. + Endif + Select (lcCursor) + If Reccount() <= 0 + amessagebox('Nu exista inregistrari pentru selectia facuta',16+0,'Atentie') + Use In (lcCursor) + Return .F. + Endif + Use In (lcCursor) + If This.e_centralizator And This.ckCenzori.Value =1 + pcFiltruId = pcFiltruId + [ and id_tipctr = 3 ] + Endif + If Thisform.ck_perioada.Value = 0 + *!* MessageBox(pcfiltruId,0) + lcSql = [begin PACK_SALARII.calcul_centralizator('] + gcS +[',] + Alltrim(Str(gnAn)) + [,] + Alltrim(Str(gnLuna)) +[,' ]+pcFiltruId+['); end;]&&[select * from ] + gcS + [.calendar] + If !goExecutor.oExecuta(lcSql) + Return .F. + Endif + + lcSql = [select * from ]+gcS+[.sal_vtmp_centr ] + lcCursor = [crsRezultate] + If !goExecutor.oExecuta(lcSql,lcCursor) + Return .F. + Endif + Else + lcLuna1 = Left(Alltrim(Thisform.ck_perioada.cvaloare1),At('/',Alltrim(Thisform.ck_perioada.cvaloare1))-1) + lcLuna2 = Left(Alltrim(Thisform.ck_perioada.cvaloare2),At('/',Alltrim(Thisform.ck_perioada.cvaloare2))-1) + lcAn1 = Substr(Alltrim(Thisform.ck_perioada.cvaloare1),At('/',Alltrim(Thisform.ck_perioada.cvaloare1))+1) + lcAn2 = Substr(Alltrim(Thisform.ck_perioada.cvaloare2),At('/',Alltrim(Thisform.ck_perioada.cvaloare2))+1) + + *!* lcSql = [select pack_sesiune.getluna(),pack_sesiune.getan() as valoare from dual] + *!* lcCursor = [crsRezultate] + *!* lnSucces = goExecutor.oExecute(lcSql,lcCursor) + + *!* IF lnSucces < 0 + *!* MESSAGEBOX(goExecutor.cEroare,0+16,"Eroare") + *!* ENDIF + *!* Select crsRezultate + lcSql = [begin PACK_SALARII.calcul_centralizator_perioada('] + gcS +[',] + ; + lcAn1 +[,]+lcLuna1 +[,]+lcAn2 +[,]+lcLuna2 +[,' ]+pcFiltruId+['); end;]&&[select * from ] + gcS + [.calendar] + If !goExecutor.oExecuta(lcSql) + Return .F. + Endif + + *!* lcSql = [select pack_sesiune.getluna(),pack_sesiune.getan() as valoare from dual] + *!* lcCursor = [crsRezultate] + *!* lnSucces = goExecutor.oExecute(lcSql,lcCursor) + + *!* IF lnSucces < 0 + *!* MESSAGEBOX(goExecutor.cEroare,0+16,"Eroare") + *!* ENDIF + *!* Select crsRezultate + *!* Browse + lcSql = [select * from ]+gcS+[.sal_vtmp_centr_perioada ] + lcCursor = [crsRezultate] + If !goExecutor.oExecuta(lcSql,lcCursor) + Return .F. + Endif + Private pcPerioada + pcPerioada = [Perioada: ]+Alltrim(Thisform.ck_perioada.cvaloare1)+[ - ]+Alltrim(Thisform.ck_perioada.cvaloare2) + Endif + + Select crsRezultate + Thisform.speccentraliz + Select crsRezultate + + *!* pcTitlu = 'Centralizator cheltuieli societate - '+Alltrim(Str(gnLuna))+' / '+Alltrim(Str(gnAn)) + *!* Store '' To pcTitlu,pcSemnaturi + param_listari('centralizator',@pcTitlu,@pcSemnaturi) + + Thisform.AlwaysOnTop = .F. + *!* modificare v 2.0.9 + *!* SELECT crsRezultate + *!* REPORT FORM centralizator TO PRINTER PROMPT PREVIEW + goExport.export2frx([crsRezultate],[centralizator]) + *!* goExport.export2frx([crsRezultate],[centralizator],, , , , , .T.) + *!* modificare v 2.0.9 ^ + Thisform.AlwaysOnTop = .T. + Endif + Release poCoefListare, pcPerioada + Else + lcCursor = [v_stat] + pcOrder = lcOrder + If !Empty(Thisform.filtruInitial) + pcFiltru = Thisform.filtruInitial + Iif(!Empty(pcFiltru)," and "," ") + pcFiltru &&Filtru initial + Else + pcFiltru = pcFiltru +[] + Endif + gencursor('postocuri',lcCursor,pcSelect,pcFiltru,pcSchema,pcOrder,llAfiseaza,pcGroup, .T., pcFiltruOriginal) + poStocuri.ca_baza1.afisare() + + Do Case + Case Lower(Thisform.clistare) = [flutur_pop] + lcSql = [select a.*,1 as epoprire from ] + gcS + [.sal_vpopriri a ] + lcCursor2 = [v_popriri] + If !goExecutor.oExecuta(lcSql,lcCursor2) + RETURN .f. + Endif + *!* v 2.0.71 - 15.06.2015 - sa apara cheltuieli societate pe fluturasi' + LOCAL lnNrPf + STORE 0 TO lnNrPf + lcSql = [select COUNT(*) as nrpef from ]+gcS+[.sal_centralizator where pe_fluturas = 1 and pack_sesiune.getan()*12+pack_sesiune.getluna() between nvl(lunaaninc,1900*12+1) and nvl(lunaansf,2999*12+12)] + If !goExecutor.oExecuta(lcSql,[crsNrPefluturas]) + Return .F. + ENDIF + SELECT crsNrPefluturas + lnNrPf = crsNrPefluturas.nrpef + USE IN crsNrPefluturas + IF lnNrPf > 0 + + LOCAL lnTotalBrutFlutur,lnTotalCheltsocietate + STORE 0 TO lnTotalbrutFlutur,lnTotalCheltsocietate + lcSql = [begin PACK_SALARII.calcul_centralizator('] + gcS +[',] + Alltrim(Str(gnAn)) + [,] + Alltrim(Str(gnLuna)) +[,' '); end;]&&[select * from ] + gcS + [.calendar] + If !goExecutor.oExecuta(lcSql) + Return .F. + Endif + + lcSql = [select * from ]+gcS+[.sal_vtmp_centr where pe_fluturas = 1 or id_tmp_centr = 22] + If !goExecutor.oExecuta(lcSql,[crsCentralizator]) + Return .F. + ENDIF + IF RECCOUNT('crsCentralizator') > 1 + SELECT crsCentralizator + LOCATE FOR id_tmp_centr = 22 + lnTotalBrutFlutur = suma + DELETE FOR id_tmp_centr = 22 + + + SELECT v_stat + SCAN + SCATTER NAME lostatCentrFluturas + INSERT INTO v_popriri (id_stat,id_poprire,sumapop,epoprire,nume_popr) ; + VALUES (lostatCentrFluturas.id_stat,0,0,0,'TAXE COMPANIE:') + SELECT crsCentralizator + SCAN + INSERT INTO v_popriri (id_stat,id_poprire,sumapop,epoprire,nume_popr) ; + VALUES (lostatCentrFluturas.id_stat,0,; + IIF('IMPOZIT'$ALLTRIM(UPPER(crsCentralizator.nume_coloana)),v_stat.simpozit,(ROUND((crsCentralizator.suma*(lostatCentrFluturas.totbrut*100)/lnTotalBrutFlutur )/100,0))+; + IIF(EMPTY(NVL(crsCentralizator.sdinstat,[])),0,EVALUATE([v_stat.]+ALLTRIM(crsCentralizator.sdinstat)))),0,; + STRTRAN(STRTRAN(UPPER(crsCentralizator.nume_coloana),'SOCIETATE',''),'TOTAL','')) + ENDSCAN + SELECT v_popriri + SUM sumapop FOR id_stat = lostatCentrFluturas.id_stat AND epoprire = 0 TO lnTotalCheltsocietate + LOCATE FOR id_stat = lostatCentrFluturas.id_stat AND epoprire = 0 AND ALLTRIM(nume_popr) = 'TAXE COMPANIE:' + REPLACE sumapop WITH lnTotalCheltsocietate + SELECT v_stat + ENDSCAN + lcRaportListare = [flutur_pop_centr] + ENDIF + USE IN crsCentralizator + ENDIF + *!* v 2.0.71 ^ + Select (lcCursor2) + Index On id_stat Tag id_stat Of &gctemppath\popr_stat + Set Order To id_stat + Select (lcCursor) + Set Relation To id_stat Into (lcCursor2) + + Case Lower(Thisform.clistare) = [avans] + Select (lcCursor) + Sum avans_card To pnTotAvCard + Case Lower(Thisform.clistare) = [stat_prima] + Select (lcCursor) + Sum prima_card To pnTotPrima + Otherwise + lcSql = [] + Endcase + + param_listari(lcRaportSemnaturi,@pcTitlu,@pcSemnaturi) + Do Case + Case Inlist(Lower(Thisform.clistare),[state_ch1]) + pcTitlu = 'STAT DE PLATA - CHENZINA 1' + Case Inlist(Lower(Thisform.clistare),[state_ch2]) + pcTitlu = 'STAT DE PLATA - CHENZINA 2' + Otherwise + pcTitlu = pcTitlu + Endcase + + SELECT (lcCursor) + Thisform.AlwaysOnTop=.F. + With This.optiongroup1 + Do Case + Case .Value = 5 + ofrm_anumiti = Createobject('frm_list_anumiti',llRestrans) + ofrm_anumiti.clistare = lcRaportListare + ofrm_anumiti.anumiti_da = .T. + ofrm_anumiti.Show(1) + Case .Value = 6 + ofrm_anumiti = Createobject('frm_list_anumiti',llRestrans) + ofrm_anumiti.clistare = lcRaportListare + ofrm_anumiti.anumiti_da = .F. + ofrm_anumiti.Show(1) + Otherwise + *!* goExport.export2frx(lcCursor,lcRaportListare,, , , , , .T.) + goExport.export2frx(lcCursor,lcRaportListare) + + Endcase + Endwith + Thisform.AlwaysOnTop=.T. + Use In (lcCursor) + If Used(lcCursor2) + Use In (lcCursor2) + Endif + Endif + *!* modificare ROANOR v 2.0.2 ^ + Release lcCursor,lcCursor2,lcOrder,llAfiseaza,lcRaportSemnaturi,lcRaportListare, llRestrans, lcSql + Release pcSelect,pcSchema,pcFiltru,pcOrder,pcGroup,poStocuri,pnTotAvCard,pnTotPrima,pcTitlu,pcSubtitlu,pcSemnaturi,pcFiltru2, pcFiltruId,pcSectie,pcFormatie,pcFiltruOriginal + Return .F. + + ENDPROC + + PROCEDURE Show + LPARAMETERS nStyle + IF this.e_centralizator + this.optiongroup1.option2.Caption = 'O sucursalã' + This.optiongroup1.option4.Caption = 'Una sau mai multe formaþii' && modificare ROASAL v 2.0.13 + this.optiongroup1.option5.Visible = .f. + this.optiongroup1.option6.Visible = .f. + this.ckFormatie.Visible = .f. + this.ckSectie.Visible=.f. + this.label1.Visible = .f. + this.lb_simplu2.Visible = .f. + this.lb_simplu3.Visible = .f. + this.shape2.Visible = .f. + this.shape1.Height = 181 + this.optiongroup1.Height = 124 + this.Height = 233 + IF LOWER(THISFORM.clistare) = [centralizator] + this.ckCenzori.Visible=.t. + this.ck_perioada.Visible=.t. + ENDIF + ELSE + IF !Inlist(Lower(Thisform.clistare), [state_simplificat]) + this.optiongroup1.option2.Visible = .t. + ELSE + this.optiongroup1.option2.Visible = .f. + ENDIF + this.optiongroup1.option7.Visible = this.lpersoana + ENDIF + ENDPROC + + PROCEDURE speccentraliz + LOCAL lcOrdine + STORE '' TO lcOrdine + SELECT nrcrt,suma FROM crsRezultate INTO CURSOR crsNrcrt + SELECT crsNrcrt + *!* BROWSE + SCAN + SCATTER NAME crsRez + lcOrdine = '('+ALLTRIM(STR(crsRez.nrcrt))+')' + SELECT crsRezultate + SCAN FOR lcOrdine $ nume_coloana + REPLACE nume_coloana WITH STRTRAN(nume_coloana,lcOrdine,ALLTRIM(STR(crsRez.suma))) + ENDSCAN + SELECT crsNrcrt + ENDSCAN + ENDPROC + + PROCEDURE Optiongroup1.InteractiveChange + thisform.pcnumegest = '' + thisform._txtformatii.Refresh + ENDPROC + +ENDDEFINE diff --git a/clase/oschimbare_pret.vc2 b/clase/oschimbare_pret.vc2 new file mode 100644 index 0000000..c82b054 --- /dev/null +++ b/clase/oschimbare_pret.vc2 @@ -0,0 +1,4385 @@ +*-------------------------------------------------------------------------------------------------------------------------------------------------------- +* (EN) AUTOGENERATED - ATTENTION!! - NOT INTENDED FOR EXECUTION!! USE ONLY FOR MERGING CHANGES AND STORING WITH SCM TOOLS!! +*-------------------------------------------------------------------------------------------------------------------------------------------------------- +*< FOXBIN2PRG: Version="1.21" SourceFile="oschimbare_pret.vcx" CPID="1252" /> (Solo para binarios VFP 9 / Only for VFP 9 binaries) +* +* +DEFINE CLASS frm_centralizator_schimbare_pret AS _frmbase OF "_frm_base.vcx" + *< CLASSDATA: Baseclass="form" Timestamp="" Scale="Pixels" Uniqueid="" /> + + *-- OBJECTDATA items order determines ZOrder / El orden de los items OBJECTDATA determina el ZOrder + *< OBJECTDATA: ObjPath="Shape2" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="Shape1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="Lb_simplu2" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="Lb_simplu3" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="Optiongroup1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="Check5" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="Check6" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="Text1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="Text2" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="But_listare1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="But_excel1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="ck_filtru_pretnou" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="ck_filtru_pretvechi" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="ck_filtru_dataact" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="ck_filtru_codmat" UniqueID="" Timestamp="" /> + + * + *m: select_rul + *p: cautatorarticol + *p: cautatorsubgrupa + *p: filtruart + *p: filtrusbgr + * + + * + cautatorarticol = + cautatorsubgrupa = + DoCreate = .T. + filtruart = + filtrusbgr = + Height = 280 + Name = "frm_centralizator_schimbare_pret" + Width = 375 + _shape1.Name = "_shape1" + _shape1.ZOrderSet = 2 + _shape2.Name = "_shape2" + _shape2.ZOrderSet = 3 + Lb_titlu_alb_b121.Caption = "Procese verbale schimbare pret" + Lb_titlu_alb_b121.FontSize = 12 + Lb_titlu_alb_b121.Name = "Lb_titlu_alb_b121" + Lb_titlu_alb_b121.ZOrderSet = 4 + BUT_TERMIN1.Left = 346 + BUT_TERMIN1.Name = "BUT_TERMIN1" + BUT_TERMIN1.Top = 1 + BUT_TERMIN1.ZOrderSet = 5 + Gridsort1.Left = 9 + Gridsort1.Name = "Gridsort1" + Gridsort1.Top = 16 + * + + ADD OBJECT 'But_excel1' AS but_excel WITH ; + Left = 287, ; + Name = "But_excel1", ; + TabIndex = 16, ; + Top = 1, ; + Visible = .T., ; + ZOrderSet = 15 + *< END OBJECT: ClassLib="cmd_butoane.vcx" BaseClass="commandbutton" /> + + ADD OBJECT 'But_listare1' AS but_listare WITH ; + caction = do_listare, ; + Left = 317, ; + Name = "But_listare1", ; + TabIndex = 15, ; + Top = 1, ; + Visible = .T., ; + ZOrderSet = 14 + *< END OBJECT: ClassLib="cmd_butoane.vcx" BaseClass="commandbutton" /> + + ADD OBJECT 'Check5' AS checkbox WITH ; + Alignment = 0, ; + BackColor = 255,255,255, ; + Caption = "Subgr.articol", ; + Height = 17, ; + Left = 114, ; + Name = "Check5", ; + Top = 52, ; + Width = 101, ; + ZOrderSet = 10 + *< END OBJECT: BaseClass="checkbox" /> + + ADD OBJECT 'Check6' AS checkbox WITH ; + Alignment = 0, ; + BackColor = 255,255,255, ; + Caption = "Articol", ; + Height = 17, ; + Left = 114, ; + Name = "Check6", ; + Top = 78, ; + Width = 60, ; + ZOrderSet = 11 + *< END OBJECT: BaseClass="checkbox" /> + + ADD OBJECT 'ck_filtru_codmat' AS ck_filtru_text WITH ; + Alignment = 0, ; + camp_nume = codmat, ; + Caption = "Cod material", ; + FontName = "Arial", ; + Left = 114, ; + Name = "ck_filtru_codmat", ; + Top = 101, ; + ZOrderSet = 19 + *< END OBJECT: ClassLib="caut_ora.vcx" BaseClass="checkbox" /> + + ADD OBJECT 'ck_filtru_dataact' AS ck_filtru_numar WITH ; + Alignment = 0, ; + camp_nume = dataact, ; + Caption = "Data act", ; + FontName = "Arial", ; + FontSize = 9, ; + Left = 114, ; + Name = "ck_filtru_dataact", ; + tip = D, ; + Top = 167, ; + ZOrderSet = 18 + *< END OBJECT: ClassLib="caut_ora.vcx" BaseClass="checkbox" /> + + ADD OBJECT 'ck_filtru_pretnou' AS ck_filtru_numar WITH ; + Alignment = 0, ; + camp_nume = pretvi, ; + Caption = "Pret nou", ; + FontName = "Arial", ; + FontSize = 9, ; + Left = 114, ; + Name = "ck_filtru_pretnou", ; + Top = 124, ; + ZOrderSet = 16 + *< END OBJECT: ClassLib="caut_ora.vcx" BaseClass="checkbox" /> + + ADD OBJECT 'ck_filtru_pretvechi' AS ck_filtru_numar WITH ; + Alignment = 0, ; + camp_nume = pretvf, ; + Caption = "Pret vechi", ; + FontName = "Arial", ; + FontSize = 9, ; + Left = 114, ; + Name = "ck_filtru_pretvechi", ; + Top = 146, ; + ZOrderSet = 17 + *< END OBJECT: ClassLib="caut_ora.vcx" BaseClass="checkbox" /> + + ADD OBJECT 'Lb_simplu2' AS lb_simplu WITH ; + Caption = "Cautare dupa :", ; + Left = 15, ; + Name = "Lb_simplu2", ; + Top = 52, ; + ZOrderSet = 7 + *< END OBJECT: ClassLib="lb.vcx" BaseClass="label" /> + + ADD OBJECT 'Lb_simplu3' AS lb_simplu WITH ; + Caption = "Grupat dupa :", ; + Left = 15, ; + Name = "Lb_simplu3", ; + Top = 219, ; + ZOrderSet = 8 + *< END OBJECT: ClassLib="lb.vcx" BaseClass="label" /> + + ADD OBJECT 'Optiongroup1' AS optiongroup WITH ; + BackColor = 255,255,255, ; + BorderStyle = 0, ; + ButtonCount = 3, ; + Height = 66, ; + Left = 109, ; + Name = "Optiongroup1", ; + Top = 195, ; + Value = 1, ; + Width = 88, ; + ZOrderSet = 9, ; + Option1.BackColor = 255,255,255, ; + Option1.Caption = "Articol", ; + Option1.Height = 17, ; + Option1.Left = 5, ; + Option1.Name = "Option1", ; + Option1.Top = 5, ; + Option1.Value = 1, ; + Option1.Width = 61, ; + Option2.BackColor = 255,255,255, ; + Option2.Caption = "Gestiune", ; + Option2.Height = 17, ; + Option2.Left = 5, ; + Option2.Name = "Option2", ; + Option2.Top = 24, ; + Option2.Width = 71, ; + Option3.BackColor = 255,255,255, ; + Option3.Caption = "Data", ; + Option3.Height = 17, ; + Option3.Left = 5, ; + Option3.Name = "Option3", ; + Option3.Top = 43, ; + Option3.Width = 61 + *< END OBJECT: BaseClass="optiongroup" /> + + ADD OBJECT 'Shape1' AS shape WITH ; + BackStyle = 0, ; + Height = 152, ; + Left = 5, ; + Name = "Shape1", ; + Top = 40, ; + Width = 365, ; + ZOrderSet = 1 + *< END OBJECT: BaseClass="shape" /> + + ADD OBJECT 'Shape2' AS shape WITH ; + BackStyle = 0, ; + Height = 73, ; + Left = 5, ; + Name = "Shape2", ; + Top = 191, ; + Width = 365, ; + ZOrderSet = 0 + *< END OBJECT: BaseClass="shape" /> + + ADD OBJECT 'Text1' AS textbox WITH ; + ControlSource = "thisform.cautatorSubgrupa", ; + DisabledBackColor = 224,223,227, ; + DisabledForeColor = 0,0,0, ; + Enabled = .F., ; + FontName = "Arial Narrow", ; + FontSize = 9, ; + Height = 25, ; + Left = 218, ; + Name = "Text1", ; + Top = 48, ; + Width = 142, ; + ZOrderSet = 12 + *< END OBJECT: BaseClass="textbox" /> + + ADD OBJECT 'Text2' AS textbox WITH ; + ControlSource = "thisform.cautatorArticol", ; + DisabledBackColor = 224,223,227, ; + DisabledForeColor = 0,0,0, ; + Enabled = .F., ; + FontName = "Arial Narrow", ; + FontSize = 9, ; + Height = 25, ; + Left = 218, ; + Name = "Text2", ; + Top = 74, ; + Width = 142, ; + ZOrderSet = 13 + *< END OBJECT: BaseClass="textbox" /> + + PROCEDURE do_cauta + Private lcFiltre + STORE '' TO lcFiltre + IF this.check5.Value = 1 AND !EMPTY(thisform.filtrusbgr) + lcFiltre = lcFiltre + [ and id_subgrupa=] + thisform.filtrusbgr + ENDIF + IF this.check6.Value = 1 AND !EMPTY(thisform.filtruart) + lcFiltre = lcFiltre + [ and id_articol=] + thisform.filtruart + ENDIF + IF this.ck_filtru_dataact.Value = 1 + lcFiltre = lcFiltre + this.ck_filtru_dataact.filtru + ENDIF + IF this.ck_filtru_codmat.Value = 1 + lcFiltre = lcFiltre + this.ck_filtru_codmat.filtru + ENDIF + IF this.ck_filtru_pretnou.Value = 1 + lcFiltre = lcFiltre + this.ck_filtru_pretnou.filtru + ENDIF + IF this.ck_filtru_pretvechi.Value = 1 + lcFiltre = lcFiltre + this.ck_filtru_pretvechi.filtru + ENDIF + this.select_rul + + ENDPROC + + PROCEDURE do_excel + Thisform.do_cauta + If Used('crsCentralizator') + If Reccount('crsCentralizator') > 0 + Thisform.AlwaysOnTop=.F. + + Select dataact,nract,codmat,denumire,pretvi as pret_vechi_fara_tva, pretvi+tvavi as pret_vechi_cu_tva, ; + pretvf as pret_nou_fara_tva, pretvf + tvavf as pret_nou_cu_tva, nume_gestiune ; + From crsCentralizator ; + Into Cursor crsCentralizatorTempExcel + + lcFileName = strtranx(This.lb_titlu_alb_b121.Caption, "([^a-zA-Z0-9])", [_] ) + goExport.export2xls('crsCentralizatorTempExcel', lcFileName) + Thisform.AlwaysOnTop=.T. + Else + aMESSAGEBOX("Nu exista inregistrari pentru optiunile selectate!",0+48,"Atentie") + Endif + Use In crsCentralizatorTempExcel + Endif + ENDPROC + + PROCEDURE do_listare + Private pcGroup, pcTitlu + Store '' To pcGroup + Thisform.do_cauta() + pcTitlu = 'CENTRALIZATOR ARTICOLE PROCESE VERBALE SCHIMBARE PRET' + Thisform.AlwaysOnTop=.F. + goExport.export2frx([crscentralizator],[rap_sch_pret]) + Thisform.AlwaysOnTop=.T. + + + ENDPROC + + PROCEDURE select_rul + TEXT to pcSelectRul textmerge noshow + select y.* from + ( + select r1.dataact,r1.serie_act,r1.nract,r1.cod, + r1.id_articol, + r1.cante, + r1.pretv as pretvi, + r1.tvav as tvavi, + r1.cante * (r1.pretv + r1.tvav) as valctvavi, + r1.id_gestiune, + r2.cant , + r2.pretv as pretvf, + r2.tvav as tvavf, + r2.cant * (r2.pretv + r2.tvav) as valctvavf, + c.denumire, + c.codmat, + c.id_subgrupa, + r2.cant * (r2.pretv + r2.tvav) - r1.cante * (r1.pretv + r1.tvav) as dif, + d.nr_pag, + d.nume_gestiune + from (select dataact,serie_act,nract,cod, id_articol, sum(cante) as cante, pretv, tvav, sters,id_gestiune + from rul + where + cod in (select a.cod + from (select a1.dataact, a1.nract, a1.cod, a1.id_set + from act a1 + WHERE + a1.an*12+a1.luna = ?gnAn*12+?gnLuna + and a1.id_set in (52,245,269, 999) + and a1.scd = '371' + and a1.scc = '378' + and a1.sters = 0 + and a1.id_sucursala = 4) a) + group by dataact,serie_act,nract,id_articol, cod, pretv, tvav, sters,id_gestiune + ) r1 + join (select dataact,serie_act,nract,cod, id_articol, sum(cant) as cant, pretv, tvav, sters,id_gestiune + from rul + where cod in (select a.cod + from (select a1.dataact, a1.nract, a1.cod, a1.id_set + from act a1 + WHERE + a1.an*12+a1.luna = ?gnAn*12+?gnLuna + and a1.id_set in (52,245,269,999) + and a1.scd = '371' + and a1.scc = '378' + and a1.sters = 0 + and a1.id_sucursala = 4) a) + group by dataact,serie_act,nract,id_articol, cod, pretv, tvav, sters,id_gestiune) r2 on r1.cod = + r2.cod + and r1.id_articol = + r2.id_articol + left join nom_articole c on r1.id_articol = c.id_articol + left join nom_gestiuni d on r1.id_gestiune = d.id_gestiune + where + r1.cante > 0 + and r1.sters = 0 + and r2.cant > 0 + and r2.sters = 0) y + ENDTEXT + Private pocentralizator + Store '' To pocentralizator + lcSchema = [] + lcgroup= [] + Do Case + Case This.optiongroup1.Value = 1 + lcorder =[ denumire] + Case This.optiongroup1.Value = 2 + lcorder=[ nume_gestiune] + Case This.optiongroup1.Value = 3 + lcorder=[ dataact] + Otherwise + lcorder=[] + ENDCASE + pcGroup = ALLTRIM(lcOrder) + lcFiltruOriginal = [] + *!* Do Case + *!* Case This.check1.Value = 1 + *!* lcOrder = [codmat] + *!* Case This.check2.Value = 1 + *!* lcOrder = [dataact] + *!* Case This.check3.Value = 1 + *!* lcOrder = [nract] + *!* Case This.check4.Value = 1 + *!* lcOrder=[denumire] + *!* Otherwise + *!* lcOrder=[] + *!* Endcase + lcFiltru = [nr_pag =?gnTipGest]+lcFiltre + llModParam = .T. + llAfiseaza = .F. + gencursor('pocentralizator','crsCentralizator', pcSelectRul , lcFiltru, lcSchema, lcorder, llAfiseaza, lcgroup, llModParam, lcFiltruOriginal) + pocentralizator.ca_baza1.afisare() + *!* Thisform.AlwaysOnTop=.F. + *!* Select crsCentralizator + *!* Local lcRaport + *!* Private pcDataora + *!* Store '' To pcDataora + *!* pcDataora=get_Ora(2) + *!* lcRaport = 'rap_sch_pret' + *!* Report Form &lcRaport To Printer Prompt Preview + *!* Thisform.AlwaysOnTop=.T. + + + + + ENDPROC + + PROCEDURE Check5.Click + If Thisform.check5.Value = 1 + pcselect = [select * from gest_art_sbgr] + pcfiltruinitial=[sters=0] + pcfiltru = [1=2] + pcschema = [] + pcorder = [] + pccoloane = [subgrupa] + pcTitlu = [Alegeti subgrupa] + pcTitluColoane = [Subgrupa] + locauta = cauta_alfa(pcselect,pcfiltru,pcschema,pcorder,pccoloane,pcTitlu,pcTitluColoane,'gest_art_sbgr',,pcfiltruinitial) + If gnButon = 2 + Thisform.cautatorsubgrupa = [] + Thisform.filtrusbgr = [] + Else + Thisform.cautatorsubgrupa = Alltrim(locauta.subgrupa) + Thisform.filtrusbgr = Alltrim(Transform(locauta.id_subgrupa)) + Thisform.text1.Refresh + Endif + Else + Thisform.cautatorsubgrupa = [] + Thisform.filtrusbgr = [] + Endif + + + ENDPROC + + PROCEDURE Check6.Click + If Thisform.check6.Value = 1 + pcselect = [select * from nom_articole] + pcfiltruinitial=[sters=0] + pcfiltru = [1=2] + pcschema = [] + pcorder = [] + pccoloane = [denumire] + pcTitlu = [Alegeti articolul] + pcTitluColoane = [Articol] + locauta = cauta_alfa(pcselect,pcfiltru,pcschema,pcorder,pccoloane,pcTitlu,pcTitluColoane,'nom_articole',,pcfiltruinitial) + IF gnButon = 2 + Thisform.cautatorArticol = [] + Thisform.filtruart = [] + ELSE + Thisform.cautatorArticol = ALLTRIM(locauta.denumire) + Thisform.filtruart = Alltrim(Transform(locauta.id_articol)) + Thisform.text2.Refresh + ENDIF + ELSE + Thisform.cautatorArticol = [] + Thisform.filtruart = [] + Endif + + ENDPROC + +ENDDEFINE + +DEFINE CLASS frm_instiintaripret_nou AS _frmbase OF "_frm_base.vcx" + *< CLASSDATA: Baseclass="form" Timestamp="" Scale="Pixels" Uniqueid="" /> + + *-- OBJECTDATA items order determines ZOrder / El orden de los items OBJECTDATA determina el ZOrder + *< OBJECTDATA: ObjPath="BUT_RENUNT1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="Clb_tx_simplu1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="Clb_tx_simplu2" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="cusodatabase1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="BUT_NOU1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="BUT_STERGE1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="Ct_clb_cautare_var1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="Ct_clb_cautare_var2" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="grdInstiintariDet" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="grdInstiintariDet.cDenumire.Header1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="grdInstiintariDet.cDenumire.Text1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="grdInstiintariDet.cCodMat.Header1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="grdInstiintariDet.cCodMat.Text1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="grdInstiintariDet.cPretVechi.Header1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="grdInstiintariDet.cPretVechi.Text1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="grdInstiintariDet.cPretNou.Header1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="grdInstiintariDet.cPretNou.Text1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="grdInstiintariDet.cProcTvav.Header1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="grdInstiintariDet.cProcTvav.Text1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="grdInstiintariDet.cProcTvav._combobox1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="chkPret" UniqueID="" Timestamp="" /> + + * + *m: do_alege_politica + *p: idpol + *p: nid + *p: orec + * + + * + DoCreate = .T. + Height = 550 + idpol = + Name = "frm_instiintaripret_nou" + nid = .F. + orec = .F. + Width = 570 + _SHAPE1.Height = 29 + _SHAPE1.Left = 0 + _SHAPE1.Name = "_SHAPE1" + _SHAPE1.Top = 0 + _SHAPE1.Width = 576 + _SHAPE2.Height = 29 + _SHAPE2.Left = 500 + _SHAPE2.Name = "_SHAPE2" + _SHAPE2.Top = 0 + _SHAPE2.Width = 71 + LB_TITLU_ALB_B121.Name = "LB_TITLU_ALB_B121" + LB_TITLU_ALB_B121.TabIndex = 10 + BUT_TERMIN1.Left = 540 + BUT_TERMIN1.Name = "BUT_TERMIN1" + BUT_TERMIN1.TabIndex = 8 + BUT_TERMIN1.Top = 1 + GRIDSORT1.Left = 12 + GRIDSORT1.Name = "GRIDSORT1" + GRIDSORT1.Top = 48 + * + + ADD OBJECT 'BUT_NOU1' AS but_nou WITH ; + caction = , ; + Left = 492, ; + Name = "BUT_NOU1", ; + Picture = ..\grafice\nou_sus.bmp, ; + TabIndex = 5, ; + Top = 134 + *< END OBJECT: ClassLib="cmd_butoane.vcx" BaseClass="commandbutton" /> + + ADD OBJECT 'BUT_RENUNT1' AS but_renunt WITH ; + Left = 509, ; + Name = "BUT_RENUNT1", ; + TabIndex = 9, ; + Top = 1 + *< END OBJECT: ClassLib="cmd_butoane.vcx" BaseClass="commandbutton" /> + + ADD OBJECT 'BUT_STERGE1' AS but_sterge WITH ; + DisabledPicture = ..\grafice\sterg2_sus_dis.bmp, ; + Left = 522, ; + Name = "BUT_STERGE1", ; + Picture = ..\grafice\sterg_sus.bmp, ; + TabIndex = 7, ; + Top = 134, ; + Visible = .T. + *< END OBJECT: ClassLib="cmd_butoane.vcx" BaseClass="commandbutton" /> + + ADD OBJECT 'chkPret' AS _checkbox WITH ; + Alignment = 0, ; + Caption = "pret > 0", ; + FontBold = .T., ; + Left = 346, ; + Name = "chkPret", ; + Top = 106, ; + Value = 1 + *< END OBJECT: ClassLib="_baza.vcx" BaseClass="checkbox" /> + + ADD OBJECT 'Clb_tx_simplu1' AS clb_tx_simplu WITH ; + Left = 16, ; + Name = "Clb_tx_simplu1", ; + TabIndex = 1, ; + Top = 43, ; + TEXT_SIMPLU1.ControlSource = "poRec.numar", ; + TEXT_SIMPLU1.Name = "TEXT_SIMPLU1", ; + LB_SIMPLU1.Caption = "Numar", ; + LB_SIMPLU1.FontBold = .T., ; + LB_SIMPLU1.Name = "LB_SIMPLU1" + *< END OBJECT: ClassLib="lb_tx.vcx" BaseClass="container" /> + + ADD OBJECT 'Clb_tx_simplu2' AS clb_tx_simplu WITH ; + Left = 16, ; + Name = "Clb_tx_simplu2", ; + TabIndex = 2, ; + Top = 71, ; + TEXT_SIMPLU1.ControlSource = "poRec.dataora", ; + TEXT_SIMPLU1.Format = "D", ; + TEXT_SIMPLU1.Name = "TEXT_SIMPLU1", ; + LB_SIMPLU1.Caption = "Data", ; + LB_SIMPLU1.FontBold = .T., ; + LB_SIMPLU1.Name = "LB_SIMPLU1" + *< END OBJECT: ClassLib="lb_tx.vcx" BaseClass="container" /> + + ADD OBJECT 'Ct_clb_cautare_var1' AS ct_clb_cautare_var WITH ; + cconditie = empty(poRec.nume_lista_preturim), ; + cprocedura = thisform.do_alege_politica(2), ; + cvar_afisata = poRec.nume_lista_preturim, ; + Height = 31, ; + Left = 15, ; + Name = "Ct_clb_cautare_var1", ; + TabIndex = 4, ; + Top = 126, ; + Width = 327, ; + shape_cautare.Height = 29, ; + shape_cautare.Left = 1, ; + shape_cautare.Name = "shape_cautare", ; + shape_cautare.Top = 1, ; + shape_cautare.Width = 290, ; + img_cautare.Left = 301, ; + img_cautare.Name = "img_cautare", ; + img_cautare.Top = 5, ; + lb_cautare.Caption = "Politica magazin", ; + lb_cautare.FontBold = .T., ; + lb_cautare.Name = "lb_cautare", ; + lb_cautare.ToolTipText = "Politica de preturi in care se va schimba pretul", ; + tx_cautare.Left = 102, ; + tx_cautare.Name = "tx_cautare", ; + tx_cautare.Top = 4 + *< END OBJECT: ClassLib="caut_ora.vcx" BaseClass="container" /> + + ADD OBJECT 'Ct_clb_cautare_var2' AS ct_clb_cautare_var WITH ; + cconditie = empty(poRec.nume_lista_preturid), ; + cprocedura = thisform.do_alege_politica(1), ; + cvar_afisata = poRec.nume_lista_preturid, ; + Height = 31, ; + Left = 15, ; + Name = "Ct_clb_cautare_var2", ; + TabIndex = 3, ; + Top = 98, ; + Width = 327, ; + shape_cautare.Height = 29, ; + shape_cautare.Left = 1, ; + shape_cautare.Name = "shape_cautare", ; + shape_cautare.Top = 1, ; + shape_cautare.Width = 290, ; + img_cautare.Left = 301, ; + img_cautare.Name = "img_cautare", ; + img_cautare.Top = 5, ; + lb_cautare.Caption = "Politica depozit", ; + lb_cautare.FontBold = .T., ; + lb_cautare.Name = "lb_cautare", ; + lb_cautare.ToolTipText = "Politica de preturi din care se obtine pretul nou", ; + tx_cautare.Left = 102, ; + tx_cautare.Name = "tx_cautare", ; + tx_cautare.Top = 4 + *< END OBJECT: ClassLib="caut_ora.vcx" BaseClass="container" /> + + ADD OBJECT 'cusodatabase1' AS _cusodatabase WITH ; + Left = 12, ; + Name = "cusodatabase1", ; + Top = 84 + *< END OBJECT: ClassLib="_cus_odata_base.vcx" BaseClass="custom" /> + + ADD OBJECT 'grdInstiintariDet' AS _grdbase WITH ; + ColumnCount = 5, ; + DeleteMark = .F., ; + HeaderHeight = 33, ; + Height = 372, ; + HighlightBackColor = 0,64,128, ; + Left = 12, ; + Name = "grdInstiintariDet", ; + Panel = 1, ; + TabIndex = 6, ; + Top = 168, ; + Width = 540, ; + Column1.Name = "cDenumire", ; + Column1.ReadOnly = .F., ; + Column1.Width = 207, ; + Column2.ColumnOrder = 2, ; + Column2.Name = "cCodMat", ; + Column2.ReadOnly = .T., ; + Column3.ColumnOrder = 3, ; + Column3.Format = "RK", ; + Column3.InputMask = "999 999.99", ; + Column3.Name = "cPretVechi", ; + Column3.ReadOnly = .F., ; + Column4.Format = "RK", ; + Column4.InputMask = "999 999.99", ; + Column4.Name = "cPretNou", ; + Column4.ReadOnly = .F., ; + Column5.CurrentControl = "_combobox1", ; + Column5.Name = "cProcTvav", ; + Column5.ReadOnly = .F., ; + Column5.Sparse = .T., ; + Column5.Width = 71 + *< END OBJECT: ClassLib="_grd_base.vcx" BaseClass="grid" /> + + ADD OBJECT 'grdInstiintariDet.cCodMat.Header1' AS header WITH ; + Alignment = 2, ; + Caption = "Cod Material", ; + Name = "Header1" + *< END OBJECT: BaseClass="header" /> + + ADD OBJECT 'grdInstiintariDet.cCodMat.Text1' AS textbox WITH ; + BackColor = 255,255,255, ; + BorderStyle = 0, ; + ForeColor = 0,0,0, ; + Margin = 0, ; + Name = "Text1", ; + ReadOnly = .T. + *< END OBJECT: BaseClass="textbox" /> + + ADD OBJECT 'grdInstiintariDet.cDenumire.Header1' AS header WITH ; + Alignment = 2, ; + Caption = "Denumire", ; + Name = "Header1" + *< END OBJECT: BaseClass="header" /> + + ADD OBJECT 'grdInstiintariDet.cDenumire.Text1' AS textbox WITH ; + BackColor = 255,255,255, ; + BorderStyle = 0, ; + ForeColor = 0,0,0, ; + Margin = 0, ; + Name = "Text1", ; + ReadOnly = .F. + *< END OBJECT: BaseClass="textbox" /> + + ADD OBJECT 'grdInstiintariDet.cPretNou.Header1' AS header WITH ; + Alignment = 2, ; + Caption = "Pret nou (depozit)", ; + Name = "Header1", ; + WordWrap = .T. + *< END OBJECT: BaseClass="header" /> + + ADD OBJECT 'grdInstiintariDet.cPretNou.Text1' AS textbox WITH ; + BackColor = 255,255,255, ; + BorderStyle = 0, ; + ForeColor = 0,0,0, ; + Margin = 0, ; + Name = "Text1", ; + ReadOnly = .F. + *< END OBJECT: BaseClass="textbox" /> + + ADD OBJECT 'grdInstiintariDet.cPretVechi.Header1' AS header WITH ; + Alignment = 2, ; + Caption = "Pret vechi (magazin)", ; + Name = "Header1", ; + WordWrap = .T. + *< END OBJECT: BaseClass="header" /> + + ADD OBJECT 'grdInstiintariDet.cPretVechi.Text1' AS textbox WITH ; + BackColor = 255,255,255, ; + BorderStyle = 0, ; + ForeColor = 0,0,0, ; + Margin = 0, ; + Name = "Text1", ; + ReadOnly = .F. + *< END OBJECT: BaseClass="textbox" /> + + ADD OBJECT 'grdInstiintariDet.cProcTvav._combobox1' AS _combobox WITH ; + BorderStyle = 0, ; + BoundTo = .T., ; + Left = 37, ; + Name = "_combobox1", ; + ReadOnly = .F., ; + Top = 47 + *< END OBJECT: ClassLib="_baza.vcx" BaseClass="combobox" /> + + ADD OBJECT 'grdInstiintariDet.cProcTvav.Header1' AS header WITH ; + Alignment = 2, ; + Caption = "Procent TVA", ; + Name = "Header1" + *< END OBJECT: BaseClass="header" /> + + ADD OBJECT 'grdInstiintariDet.cProcTvav.Text1' AS textbox WITH ; + BackColor = 255,255,255, ; + BorderStyle = 0, ; + ForeColor = 0,0,0, ; + Margin = 0, ; + Name = "Text1", ; + ReadOnly = .T. + *< END OBJECT: BaseClass="textbox" /> + + PROCEDURE do_alege_politica + LPARAMETERS tnTip + * tnTip: 1=politica depozit; 2=politica magazin + LOCAL loCauta + loCauta = caut_politici_preturi() + + IF EMPTY(tnTip) + tnTip = 1 + ENDIF + + IF !EMPTY(NVL(loCauta.id_pol,0)) + IF tnTip = 1 + poRec.nume_lista_preturid = loCauta.NUME_LISTA_PRETURI + poRec.id_pold = loCauta.id_pol + ELSE + poRec.nume_lista_preturim = loCauta.NUME_LISTA_PRETURI + poRec.id_polm = loCauta.id_pol + ENDIF + + ENDIF + ENDPROC + + PROCEDURE inainte_de_do_termin + IF EMPTY(NVL(poRec.numar,0)) + AMESSAGEBOX("Nu ati completat numarul instiintarii",0+48,"Atentie") + this.clb_tx_simplu1.SetFocus() + RETURN .f. + ENDIF + IF EMPTY(NVL(poRec.id_polm,0)) + AMESSAGEBOX("Nu ati completat politica de preturi a magazinului",0+48,"Atentie") + this.ct_clb_cautare_var1.SetFocus() + RETURN .f. + ENDIF + *!* SELECT cInstiintariDet + *!* LOCATE FOR EMPTY(pret_vechi) + *!* IF FOUND() + *!* amessagebox("Nu ati completat pretul vechi!",0+48,"Atentie") + *!* this.grdInstiintariDet.SetFocus() + *!* RETURN .f. + *!* ENDIF + LOCATE FOR EMPTY(pret_nou) + IF FOUND() + amessagebox("Nu ati completat pretul nou la toate articolele!",0+48,"Atentie") + this.grdInstiintariDet.SetFocus() + RETURN .f. + ENDIF + LOCATE FOR EMPTY(proc_tvav) + IF FOUND() + amessagebox("Nu ati completat TVA la toate articolele!",0+48,"Atentie") + this.grdInstiintariDet.SetFocus() + RETURN .f. + ENDIF + + RETURN THIS.cusodatabase1.make_sql(THIS.OREC,THIS.NID) + ENDPROC + + PROCEDURE Init + Lparameters toRec, tnId, tcActiune + DoDefault() + Private poInstiintaripret_detnou + Local lcSchema,lcSelect,lcOrder,lcGroup,lcFiltru,lcFiltruOriginal,llModParam,llAfiseaza,lcSelect1,lcOrder1,lcFiltru1,; + lcFiltruOriginal1, lcSql, lnSucces + Store Null To poInstiintaripret_detnou + + Do Case + Case Upper(Alltrim(tcActiune)) = [INSERT] + This.lb_titlu_alb_b121.Caption = [Instiintare pret - Adaugare] + This.clb_tx_simplu2.tEXT_SIMPLU1.Value = Datetime() + Case Upper(Alltrim(tcActiune)) = [UPDATE] + This.lb_titlu_alb_b121.Caption = [Instiintare pret - Modificare] + Endcase + + This.orec = toRec + This.nid = tnId + This.cusodatabase1.cactiune = tcActiune + *lcSchema = [id n(20), id_articol n(20), codmat c(50), denumire c(100), pret_vechi n(20,4), pret_nou n(20,4), proc_tvav n(10,4), id_instiintare n(20)] + lcSchema = [] + lcSelect = [select id, id_articol, codmat, denumire, pret_vechi, pret_nou, proc_tvav, id_instiintare from instiintaripret_vdetalii ] + lcOrder = [ denumire ] + lcGroup = [] + lcFiltru = [] + lcFiltruOriginal = Iif(!Empty(tnId),[ id_instiintare = ] + Alltrim(Str(tnId)),[ 1=2 ]) + llModParam = .T. + llAfiseaza = .F. + + gencursor('poInstiintaripret_detnou','cInstiintariDet', lcSelect, lcFiltru, lcSchema, lcOrder, llAfiseaza, lcGroup, llModParam, lcFiltruOriginal) + poInstiintaripret_detnou.ca_baza1.afisare() + + lcSql = [ select id_proc_tva,proc_tva,procent from vcote_tva where an = ?gnAn and luna = ?gnLuna ] + lnSucces = goExecutor.oExecute(lcSql,'cProcTva') + If lnSucces < 0 + amessagebox(goExecutor.cEroare,16,"Eroare") + Endif + + SELECT cInstiintariDet + With This.grdInstiintariDet + .RecordSource = [cInstiintariDet] + .cDenumire.ControlSource = [denumire] + .cCodMat.ControlSource = [codmat] + .cPretVechi.ControlSource = [pret_vechi] + .cPretVechi.readonly = .F. + .cPretNou.ControlSource = [pret_nou] + .cPretNou.readonly = .F. + .cProcTvav.ControlSource = [proc_tvav] + .cProcTvav.readonly = .F. + .cProcTvav._combobox1.RowSource = [cProcTva.proc_tva] + .cProcTvav._combobox1.RowSourceType = 2 + Endwith + + + this.ct_clb_cautare_var1.lb_cautare.ToolTipText = 'Din politica magazin se obtin preturile vechi.' + this.ct_clb_cautare_var2.lb_cautare.ToolTipText = 'Din politica depozit se obtin preturile noi.' + this.chkPret.ToolTipText = 'Se preiau doar articolele care au pretul nou > 0.' + + + + + + + ENDPROC + + PROCEDURE BUT_NOU1.Click + *!* 05.11.2009 + *!* marius.mutu + *!* articolele cu pret > 0 din politica depozit + + Local lcSql,lcCursor,lcSelect,lnSucces,lcFile + Local lntipg, llToateIreg, llMultipleArticles, llCRM, llCautPlus + Local loArticol, lnPretVechi, lnPretNou, lnProcTvav + LOCAL llPret + llPret = thisform.chkPret.Value = 1 + + lnPretVechi = 0 + lnPretNou = 0 + lnProcTvav = 0 + + lntipg = 0 + llToateIreg = .F. + llMultipleArticles = .T. + llCRM = .F. + llCautPlus = .T. + + lcXML = caut_articol(lntipg, llToateIreg, llMultipleArticles, llCRM, llCautPlus) + If !Empty(lcXML) + lnArticole = Xmltocursor(lcXML, "cArticoleTemp") + + If Used('cArticoleTemp') + Select cArticoleTemp + Scan + Scatter Name loArticol + If !Empty(Nvl(loArticol.id_articol,0)) + + *!* VERIFIC ARTICOLE DUPLICATE + SELECT cInstiintariDet + LOCATE FOR id_articol = loArticol.id_articol + IF FOUND() + LOOP + ENDIF + *!* VERIFIC ARTICOLE DUPLICATE ^ + + If !Empty(Nvl(poRec.id_pold,0)) + lcSql = [select pret as pretnou,proc_tvav from crm_politici_pret_art where id_articol = ] +Alltrim(Str(loArticol.id_articol))+ ; + [ and id_pol = ] + Alltrim(Str(poRec.id_pold)) + lnSucces = goExecutor.oExecute(lcSql,'cPretNou') + If lnSucces < 0 + amessagebox(goExecutor.cEroare,16,"Eroare") + ELSE + lnPretNou = cPretNou.pretnou + lnProcTvav = cPretNou.proc_tvav + Endif + Use In (Select('cPretNou')) + Endif + If !Empty(Nvl(poRec.id_polm,0)) + lcSql1 = [select pret as pretvechi from crm_politici_pret_art where id_articol = ] +Alltrim(Str(loArticol.id_articol))+ [ and id_pol = ] + Alltrim(Str(poRec.id_polm)) + lnSucces = goExecutor.oExecute(lcSql1,'cPretVechi') + If lnSucces < 0 + amessagebox(goExecutor.cEroare,16,"Eroare") + ELSE + lnPretvechi = cPretVechi.pretvechi + Endif + Use In (Select('cPretVechi')) + Endif + + *!* 05.11.2009 + IF (llPret and lnPretnou > 0) OR !llPret + Insert Into cInstiintariDet(denumire,id_articol,codmat,pret_vechi,pret_nou,proc_tvav) Values (loArticol.denumire,loArticol.id_articol,loArticol.codmat, lnPretvechi, lnPretnou, lnProcTvav) + ENDIF + *!* 05.11.2009 ^ + Endif + Endscan + Select cInstiintariDet + Thisform.grdInstiintariDet.SetFocus() + Endif && used + Endif && !empty + + ENDPROC + + PROCEDURE BUT_STERGE1.Click + DODEFAULT() + SELECT cInstiintariDet + DELETE + + thisform.but_NOU1.setfocus() + thisform.grdInstiintariDet.Refresh + GO TOP IN cInstiintariDet + thisform.grdInstiintariDet.SetFocus() + + + + ENDPROC + + PROCEDURE cusodatabase1.make_sql + Lparameters toRec,tnId + Private pnId,pnIdInst, pnIdValuta + Local lcSql, lnSucces, lcSelect, lnSucces2, lcComanda, lnIdPol, lcSqlMerge, lcSql1, lnSucces1 + pnIdInst = 0 + + pnId = tnId + lcActiune = Alltrim(This.cActiune) + + If Inlist(lcActiune, "UPDATE",'INSERT') And Type('toRec') != "O" + Return .F. + Endif + + If Inlist(lcActiune, "UPDATE",'DELETE') And Type('tnId') != "N" + Return .F. + Endif + + lnSucces = SQLSetprop(gnhandle,"Transactions",2) + If lnSucces >= 0 + Do Case + Case lcActiune = "INSERT" + If gnButon = 2 + lnSucces = -1 + Else + lcSelect = [INSERT INTO ] + gcS + [.instiintaripret (numar,id_util,dataora,id_pold,id_polm) VALUES (?poRec.numar,?gnIdUtil,?poRec.dataora,?poRec.id_pold,?poRec.id_polm)]+; + [ RETURNING ID INTO ?@pnIdInst] + lnSucces = goExecutor.oExecute(lcSelect) + If lnSucces < 0 + amessagebox(goExecutor.cEroare,16,"Eroare") + Else + Select cInstiintariDet + Scan + Scatter Name loInst + + lcSql = [INSERT INTO ] + gcS + [.instiintaripret_detalii (id_instiintare,id_articol,pret_nou,pret_vechi,proc_tvav) VALUES ]+; + [(?pnIdInst,?loInst.id_articol,?loInst.pret_nou,?loInst.pret_vechi,?loInst.proc_tvav)] + lnSucces = goExecutor.oExecute(lcSql) + If lnSucces < 0 + IF 'ORA-00001'$UPPER(goExecutor.cEroare) + aMESSAGEBOX('Nu se poate adauga un articol de mai multe ori!',0+48,_screen.Caption) + Else + amessagebox(goExecutor.cEroare,16,"Eroare") + ENDIF + Exit + Endif + Endscan + Endif + Endif + Case lcActiune = "UPDATE" + If gnButon = 2 + lnSucces = -1 + Else + lcSql = [UPDATE ] + gcS + [.instiintaripret SET numar=?poRec.numar, dataora = sysdate, id_pold=?poRec.id_pold, id_polm=?poRec.id_polm where id=?pnId ] + lnSucces = goExecutor.oExecute(lcSql) + If lnSucces < 0 + amessagebox(goExecutor.cEroare,16,"Eroare") + Else + lcDeleted = Set("Deleted") + Set Deleted Off + Select cInstiintariDet + Scan + Scatter Name loInst + If Deleted() + If !Empty(Nvl(loInst.Id,0)) + lcComanda = [DELETE FROM ] + gcS + [.instiintaripret_detalii where id =?loInst.id ] + lnSucces = goExecutor.oExecute(lcComanda) + If lnSucces < 0 + amessagebox(goExecutor.cEroare,16,"Eroare") + Endif + Endif + Else + If !Empty(Nvl(loInst.Id,0)) + lcSql = [UPDATE ] + gcS + [.instiintaripret_detalii SET pret_nou =?loInst.pret_nou,pret_vechi=?loInst.pret_vechi, proc_tvav =?loInst.proc_tvav] +; + [ where id =?loInst.Id] + Else + lcSql = [INSERT INTO ] + gcS + [.instiintaripret_detalii(id_instiintare,id_articol,pret_nou,pret_vechi,proc_tvav) values ]+; + [(?pnId, ?loInst.id_articol, ?loInst.pret_nou, ?loInst.pret_vechi, ?loInst.proc_tvav)] + Endif + lnSucces = goExecutor.oExecute(lcSql) + If lnSucces < 0 + IF 'ORA-00001'$UPPER(goExecutor.cEroare) + aMESSAGEBOX('Nu se poate adauga un articol de mai multe ori!',0+48,_screen.Caption) + ELSE + amessagebox(goExecutor.cEroare,16,"Eroare") + ENDIF + Exit + Endif + Endif + ENDSCAN + SET DELETED &lcDeleted + Endif + Endif + Endcase + Endif + + lcCmd = [select id_valuta from crm_politici_preturi where id_pol=?poRec.id_polm ] + lnSucces3 = goExecutor.oExecute(lcCmd,'cIdVal') + If lnSucces3 < 0 + amessagebox(goExecutor.cEroare,16,"Eroare") + Else + pnIdValuta = cIdVal.id_valuta + Endif + + Select cInstiintariDet + Scan + Scatter Name loInst + If lnSucces > 0 + TEXT TO lcSqlMerge TEXTMERGE NOSHOW + merge into crm_politici_pret_art ppa using dual on (ppa.id_pol =?poRec.id_polm and ppa.id_Articol = ?loInst.id_articol) + when matched then + update set pret = ?loInst.pret_nou, pretctva = ?loInst.pret_nou, pretftva = round(?loInst.pret_nou * 1 / ?loInst.proc_tvav, 2), proc_tvav = ?loInst.proc_tvav + when not matched then + insert (id_pol, id_articol, pret, pretftva, pretctva, proc_tvav, id_valuta) + values(?poRec.id_polm, ?loInst.id_articol, ?loInst.pret_nou, round(?loInst.pret_nou * 1 / ?loInst.proc_tvav, 2),?loInst.pret_nou,?loInst.proc_tvav,?pnIdValuta) + ENDTEXT + lnSucces = goExecutor.oExecute(lcSqlMerge) + If lnSucces < 0 + amessagebox(goExecutor.cEroare,16,"Eroare") + Endif + Endif + Endscan + + If lnSucces < 0 + lcSql = "ROLLBACK" + Else + lcSql = "COMMIT" + Endif + lnSucces2 = goExecutor.oExecute(lcSql) + IF lnSucces2 < 0 + amessagebox(lcSql + Chr(13) + goExecutor.cEroare,0+16,"Eroare") + lnSucces = -1 + ENDIF + + lnSucces2 = SQLSetprop(gnhandle,"Transactions",1) + If lnSucces2 < 0 + amessagebox('Programul nu a reusit sa treaca pe tranzactie automata. Iesiti din program si intrati din nou!',48,'Atentie!') + lnSucces = -1 + Endif + + This.csql = lcSql + + Return lnSucces > 0 + + ENDPROC + + PROCEDURE grdInstiintariDet.cProcTvav._combobox1.Valid + replace proc_tvav WITH cProcTva.proc_tva + ENDPROC + +ENDDEFINE + +DEFINE CLASS instiintaripret AS _frmbase OF "_frm_base.vcx" + *< CLASSDATA: Baseclass="form" Timestamp="" Scale="Pixels" Uniqueid="" /> + + *-- OBJECTDATA items order determines ZOrder / El orden de los items OBJECTDATA determina el ZOrder + *< OBJECTDATA: ObjPath="grdInstiintare" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="grdInstiintare.Column1.Header1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="grdInstiintare.Column1.Text1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="grdInstiintare.Column2.Header1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="grdInstiintare.Column2.Text1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="grdInstiintareDet" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="grdInstiintareDet.cDenumire.Header1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="grdInstiintareDet.cDenumire.Text1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="grdInstiintareDet.cCodMat.Header1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="grdInstiintareDet.cCodMat.Text1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="grdInstiintareDet.cUM.Header1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="grdInstiintareDet.cUM.Text1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="grdInstiintareDet.cGrupa.Header1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="grdInstiintareDet.cGrupa.Text1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="grdInstiintareDet.cSubgrupa.Header1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="grdInstiintareDet.cSubgrupa.Text1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="grdInstiintareDet.cPretVechi.Header1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="grdInstiintareDet.cPretVechi.Text1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="grdInstiintareDet.cProcTvav.Header1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="grdInstiintareDet.cProcTvav.Text1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="grdInstiintareDet.cPretNou.Header1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="grdInstiintareDet.cPretNou.Text1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="BUT_NOU1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="BUT_MODIFICA1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="BUT_STERGE1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="But_listare1" UniqueID="" Timestamp="" /> + + * + DoCreate = .T. + Height = 576 + lactiv2 = .T. + lactiv3 = .T. + lactiv4 = .T. + Name = "instiintaripret" + Width = 870 + _shape1.Height = 29 + _shape1.Left = -1 + _shape1.Name = "_shape1" + _shape1.Top = 0 + _shape1.Width = 877 + _shape2.Height = 29 + _shape2.Left = 857 + _shape2.Name = "_shape2" + _shape2.Top = -1 + _shape2.Width = 12 + Lb_titlu_alb_b121.Caption = "Instiintari pret" + Lb_titlu_alb_b121.Name = "Lb_titlu_alb_b121" + BUT_TERMIN1.Left = 840 + BUT_TERMIN1.Name = "BUT_TERMIN1" + BUT_TERMIN1.Top = 1 + Gridsort1.Name = "Gridsort1" + * + + ADD OBJECT 'But_listare1' AS but_listare WITH ; + Left = 810, ; + Name = "But_listare1", ; + Top = 1, ; + Visible = .T. + *< END OBJECT: ClassLib="cmd_butoane.vcx" BaseClass="commandbutton" /> + + ADD OBJECT 'BUT_MODIFICA1' AS but_modifica WITH ; + Left = 748, ; + Name = "BUT_MODIFICA1", ; + Top = 1, ; + Visible = .T. + *< END OBJECT: ClassLib="cmd_butoane.vcx" BaseClass="commandbutton" /> + + ADD OBJECT 'BUT_NOU1' AS but_nou WITH ; + Left = 718, ; + Name = "BUT_NOU1", ; + Top = 1 + *< END OBJECT: ClassLib="cmd_butoane.vcx" BaseClass="commandbutton" /> + + ADD OBJECT 'BUT_STERGE1' AS but_sterge WITH ; + DisabledPicture = ..\grafice\sterg2_sus_dis.bmp, ; + Left = 778, ; + Name = "BUT_STERGE1", ; + Picture = ..\grafice\sterg_sus.bmp, ; + Top = 1, ; + Visible = .T. + *< END OBJECT: ClassLib="cmd_butoane.vcx" BaseClass="commandbutton" /> + + ADD OBJECT 'grdInstiintare' AS _grdrow WITH ; + ColumnCount = 2, ; + DeleteMark = .F., ; + Height = 492, ; + Left = 12, ; + Name = "grdInstiintare", ; + Panel = 1, ; + RecordSource = "cInstiintaripret", ; + Top = 60, ; + Width = 192, ; + Column1.ControlSource = "numar", ; + Column1.Name = "Column1", ; + Column1.Width = 58, ; + Column2.ControlSource = "dataora", ; + Column2.Name = "Column2", ; + Column2.Width = 99 + *< END OBJECT: ClassLib="_grd_base.vcx" BaseClass="grid" /> + + ADD OBJECT 'grdInstiintare.Column1.Header1' AS header WITH ; + Alignment = 2, ; + Caption = "Numar", ; + FontBold = .T., ; + Name = "Header1" + *< END OBJECT: BaseClass="header" /> + + ADD OBJECT 'grdInstiintare.Column1.Text1' AS textbox WITH ; + BackColor = 255,255,255, ; + BorderStyle = 0, ; + FontBold = .F., ; + ForeColor = 0,0,0, ; + Margin = 0, ; + Name = "Text1" + *< END OBJECT: BaseClass="textbox" /> + + ADD OBJECT 'grdInstiintare.Column2.Header1' AS header WITH ; + Alignment = 2, ; + Caption = "Data", ; + FontBold = .T., ; + Name = "Header1" + *< END OBJECT: BaseClass="header" /> + + ADD OBJECT 'grdInstiintare.Column2.Text1' AS textbox WITH ; + BackColor = 255,255,255, ; + BorderStyle = 0, ; + FontBold = .F., ; + ForeColor = 0,0,0, ; + Margin = 0, ; + Name = "Text1" + *< END OBJECT: BaseClass="textbox" /> + + ADD OBJECT 'grdInstiintareDet' AS _grdrow WITH ; + ColumnCount = 8, ; + DeleteMark = .F., ; + Height = 492, ; + Left = 216, ; + Name = "grdInstiintareDet", ; + Panel = 1, ; + RecordSource = "cInstiintaripret_det", ; + Top = 60, ; + Width = 636, ; + Column1.ColumnOrder = 2, ; + Column1.ControlSource = "denumire", ; + Column1.Name = "cDenumire", ; + Column1.Visible = .T., ; + Column1.Width = 140, ; + Column2.ColumnOrder = 1, ; + Column2.ControlSource = "codmat", ; + Column2.Name = "cCodMat", ; + Column2.Visible = .T., ; + Column2.Width = 67, ; + Column3.ColumnOrder = 6, ; + Column3.ControlSource = "um", ; + Column3.Name = "cUM", ; + Column3.Visible = .T., ; + Column3.Width = 43, ; + Column4.ColumnOrder = 8, ; + Column4.ControlSource = "grupa", ; + Column4.Name = "cGrupa", ; + Column4.Visible = .T., ; + Column4.Width = 64, ; + Column5.ColumnOrder = 7, ; + Column5.ControlSource = "subgrupa", ; + Column5.Name = "cSubgrupa", ; + Column5.Visible = .T., ; + Column5.Width = 64, ; + Column6.ColumnOrder = 4, ; + Column6.ControlSource = "pret_vechi", ; + Column6.Name = "cPretVechi", ; + Column6.Visible = .T., ; + Column6.Width = 73, ; + Column7.ColumnOrder = 5, ; + Column7.ControlSource = "proc_tvav", ; + Column7.Name = "cProcTvav", ; + Column7.Visible = .T., ; + Column7.Width = 66, ; + Column8.ColumnOrder = 3, ; + Column8.ControlSource = "pret_nou", ; + Column8.Name = "cPretNou" + *< END OBJECT: ClassLib="_grd_base.vcx" BaseClass="grid" /> + + ADD OBJECT 'grdInstiintareDet.cCodMat.Header1' AS header WITH ; + Alignment = 2, ; + Caption = "CodMat", ; + FontBold = .T., ; + Name = "Header1" + *< END OBJECT: BaseClass="header" /> + + ADD OBJECT 'grdInstiintareDet.cCodMat.Text1' AS textbox WITH ; + BackColor = 255,255,255, ; + BorderStyle = 0, ; + ForeColor = 0,0,0, ; + Margin = 0, ; + Name = "Text1", ; + Visible = .T. + *< END OBJECT: BaseClass="textbox" /> + + ADD OBJECT 'grdInstiintareDet.cDenumire.Header1' AS header WITH ; + Alignment = 2, ; + Caption = "Denumire", ; + FontBold = .T., ; + Name = "Header1" + *< END OBJECT: BaseClass="header" /> + + ADD OBJECT 'grdInstiintareDet.cDenumire.Text1' AS textbox WITH ; + BackColor = 255,255,255, ; + BorderStyle = 0, ; + ForeColor = 0,0,0, ; + Margin = 0, ; + Name = "Text1", ; + Visible = .T. + *< END OBJECT: BaseClass="textbox" /> + + ADD OBJECT 'grdInstiintareDet.cGrupa.Header1' AS header WITH ; + Alignment = 2, ; + Caption = "Grupa", ; + FontBold = .T., ; + Name = "Header1" + *< END OBJECT: BaseClass="header" /> + + ADD OBJECT 'grdInstiintareDet.cGrupa.Text1' AS textbox WITH ; + BackColor = 255,255,255, ; + BorderStyle = 0, ; + ForeColor = 0,0,0, ; + Margin = 0, ; + Name = "Text1", ; + Visible = .T. + *< END OBJECT: BaseClass="textbox" /> + + ADD OBJECT 'grdInstiintareDet.cPretNou.Header1' AS header WITH ; + Alignment = 2, ; + Caption = "Pret nou", ; + FontBold = .T., ; + Name = "Header1" + *< END OBJECT: BaseClass="header" /> + + ADD OBJECT 'grdInstiintareDet.cPretNou.Text1' AS textbox WITH ; + BackColor = 255,255,255, ; + BorderStyle = 0, ; + ForeColor = 0,0,0, ; + Margin = 0, ; + Name = "Text1" + *< END OBJECT: BaseClass="textbox" /> + + ADD OBJECT 'grdInstiintareDet.cPretVechi.Header1' AS header WITH ; + Alignment = 2, ; + Caption = "Pret vechi", ; + FontBold = .T., ; + Name = "Header1" + *< END OBJECT: BaseClass="header" /> + + ADD OBJECT 'grdInstiintareDet.cPretVechi.Text1' AS textbox WITH ; + BackColor = 255,255,255, ; + BorderStyle = 0, ; + ForeColor = 0,0,0, ; + Margin = 0, ; + Name = "Text1", ; + Visible = .T. + *< END OBJECT: BaseClass="textbox" /> + + ADD OBJECT 'grdInstiintareDet.cProcTvav.Header1' AS header WITH ; + Alignment = 2, ; + Caption = "Proc TVAV", ; + FontBold = .T., ; + Name = "Header1" + *< END OBJECT: BaseClass="header" /> + + ADD OBJECT 'grdInstiintareDet.cProcTvav.Text1' AS textbox WITH ; + BackColor = 255,255,255, ; + BorderStyle = 0, ; + ForeColor = 0,0,0, ; + Margin = 0, ; + Name = "Text1", ; + Visible = .T. + *< END OBJECT: BaseClass="textbox" /> + + ADD OBJECT 'grdInstiintareDet.cSubgrupa.Header1' AS header WITH ; + Alignment = 2, ; + Caption = "Subgrupa", ; + FontBold = .T., ; + Name = "Header1" + *< END OBJECT: BaseClass="header" /> + + ADD OBJECT 'grdInstiintareDet.cSubgrupa.Text1' AS textbox WITH ; + BackColor = 255,255,255, ; + BorderStyle = 0, ; + ForeColor = 0,0,0, ; + Margin = 0, ; + Name = "Text1", ; + Visible = .T. + *< END OBJECT: BaseClass="textbox" /> + + ADD OBJECT 'grdInstiintareDet.cUM.Header1' AS header WITH ; + Alignment = 2, ; + Caption = "UM", ; + FontBold = .T., ; + Name = "Header1" + *< END OBJECT: BaseClass="header" /> + + ADD OBJECT 'grdInstiintareDet.cUM.Text1' AS textbox WITH ; + BackColor = 255,255,255, ; + BorderStyle = 0, ; + ForeColor = 0,0,0, ; + Margin = 0, ; + Name = "Text1", ; + Visible = .T. + *< END OBJECT: BaseClass="textbox" /> + + PROCEDURE actualizeaza_grid1 + LPARAMETERS pcFiltru + + LOCAL lcFiltru + lcFiltru = pcFiltru + IF EMPTY(lcFiltru) + lcFiltru = poInstiintaripret.ca_baza1.cfiltru + ENDIF + + save_grid_tag(thisform.grdInstiintare) + poInstiintaripret.ca_baza1.cfiltru = lcFiltru + poInstiintaripret.ca_baza1.afisare() + restore_grid_tag(thisform.grdInstiintare) + thisform.grdInstiintare.refresh + thisform.grdInstiintareDet.Refresh + ENDPROC + + PROCEDURE actualizeaza_grid2 + LPARAMETERS pcFiltru + + LOCAL lcFiltru + lcFiltru = pcFiltru + IF EMPTY(lcFiltru) + lcFiltru = poInstiintaripret_det.ca_baza1.cfiltru + ENDIF + + save_grid_tag(thisform.grdInstiintareDet) + poInstiintaripret_det.ca_baza1.cfiltru = lcFiltru + poInstiintaripret_det.ca_baza1.afisare() + restore_grid_tag(thisform.grdInstiintareDet) + thisform.grdInstiintare.refresh + thisform.grdInstiintareDet.Refresh + ENDPROC + + PROCEDURE do_adauga + SELECT cInstiintaripret + SCATTER NAME loRec BLANK MEMO + + DO Adauga_Modifica_Inregistrare WITH "instiintaripret",loRec,,"INSERT" + THIS.actualizeaza_grid1() + this.actualizeaza_grid2() + + THISFORM.grdInstiintare.SETFOCUS() + ENDPROC + + PROCEDURE do_listare + Private pdDataOra + If Reccount('cInstiintaripret_det')>0 + Thisform.AlwaysOnTop = .F. + Select cInstiintaripret + Scatter Name loRec Memo + pdDataOra = Ttod(loRec.dataora) + Select cInstiintaripret_det + Index On Id Tag Id + Select cInstiintaripret_det + Set Order To Id + Report Form rap_instiintaripret.frx To Printer Prompt Preview + Thisform.AlwaysOnTop = .T. + Else + amessagebox("Nu exista inregistrari pentru listare",0+48,"Atentie") + Endif + + + + + ENDPROC + + PROCEDURE do_modifica + LOCAL lnId + + SELECT cInstiintaripret + SCATTER NAME loRec MEMO + lnId = loRec.id + + DO Adauga_Modifica_Inregistrare WITH [instiintaripret],loRec,lnId,[UPDATE] + IF gnButon = 1 + this.actualizeaza_grid1() + ENDIF + + SELECT cInstiintaripret + LOCATE FOR id = lnId + IF !FOUND() + GO TOP + ENDIF + this.grdInstiintare.SetFocus() + ENDPROC + + PROCEDURE do_sterge + LOCAL lnRasp,lcId,lcSql,lnSucces + lnRasp = amessagebox("Doriti sa efectuati stergerea",4+32,"Atentie") + IF lnRasp = 6 + lcId = ALLTRIM(STR(cInstiintaripret.id)) + lcSql = [UPDATE ] + gcS + [.instiintaripret SET sters =1, id_utils = ] + ALLTRIM(STR(gnIdUtil)) + [, dataoras = sysdate where id = ] + lcId + lnSucces = goExecutor.oExecute(lcSql) + If lnSucces < 0 + AMESSAGEBOX(goExecutor.cEroare,0+16,'Eroare') + ENDIF + IF gnButon = 1 + this.actualizeaza_grid1() + ENDIF + ENDIF + this.grdInstiintare.SetFocus() + ENDPROC + + PROCEDURE Init + DODEFAULT() + this.grdInstiintare.SetFocus() + ENDPROC + + PROCEDURE grdInstiintare.AfterRowColChange + Lparameters nColIndex + Local lnId, lcSql, lnSucces, lcCursor + lnId = cInstiintaripret.Id + save_grid_tag(Thisform.grdInstiintareDet) + lcSql = [select * from instiintaripret_vdetalii where id_instiintare =] +Alltrim(Str(lnId)) + lcCursor = [cInstiintaripret_det] + lnSucces = goExecutor.oExecute(lcSql,lcCursor) + If lnSucces < 0 + AMESSAGEBOX(goExecutor.cEroare,0+16, 'Eroare') + Endif + restore_grid_tag(Thisform.grdInstiintareDet) + Thisform.grdInstiintareDet.Refresh() + + ENDPROC + +ENDDEFINE + +DEFINE CLASS schimbpret AS _frmbase OF "_frm_base.vcx" + *< CLASSDATA: Baseclass="form" Timestamp="" Scale="Pixels" Uniqueid="" /> + + *-- OBJECTDATA items order determines ZOrder / El orden de los items OBJECTDATA determina el ZOrder + *< OBJECTDATA: ObjPath="_grdrow1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="_grdrow1.Column1.Header1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="_grdrow1.Column1.Text1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="_grdrow1.Column2.Header1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="_grdrow1.Column2.Text1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="_grdrow1.Column3.Header1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="_grdrow1.Column3.Text1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="_grdrow1.cCant.Header1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="_grdrow1.cCant.Text1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="_grdrow1.Column5.Header1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="_grdrow1.Column5.Text1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="_grdrow1.Column6.Header1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="_grdrow1.Column6.Check1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="_grdrow1.Column7.Header1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="_grdrow1.Column7.Text1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="_grdrow1.Column9.Header1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="_grdrow1.Column9.Text1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="_grdrow1.cSerie.Header1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="_grdrow1.cSerie.Text1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="_grdrow1.Column10.Header1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="_grdrow1.Column10.Text1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="_grdrow1.Column11.Header1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="_grdrow1.Column11.Text1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="BUT_RENUNT1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="Label1" UniqueID="" Timestamp="" /> + + * + *p: cantveche + * + + * + cantveche = 0 + cgridsortlist = _grdrow1 + DoCreate = .T. + Height = 576 + Name = "schimbpret" + Width = 780 + _SHAPE1.Height = 29 + _SHAPE1.Left = 0 + _SHAPE1.Name = "_SHAPE1" + _SHAPE1.Top = 0 + _SHAPE1.Width = 780 + _SHAPE2.Anchor = 9 + _SHAPE2.Height = 29 + _SHAPE2.Left = 719 + _SHAPE2.Name = "_SHAPE2" + _SHAPE2.Top = 0 + _SHAPE2.Width = 62 + LB_TITLU_ALB_B121.Caption = "SCHIMBARE DE PRETURI DE VANZARE" + LB_TITLU_ALB_B121.FontSize = 11 + LB_TITLU_ALB_B121.Left = 6 + LB_TITLU_ALB_B121.Name = "LB_TITLU_ALB_B121" + LB_TITLU_ALB_B121.Top = 6 + BUT_TERMIN1.Anchor = 9 + BUT_TERMIN1.Left = 750 + BUT_TERMIN1.Name = "BUT_TERMIN1" + BUT_TERMIN1.Top = 1 + GRIDSORT1.Left = 420 + GRIDSORT1.Name = "GRIDSORT1" + GRIDSORT1.Top = 12 + * + + ADD OBJECT '_grdrow1' AS _grdrow WITH ; + Anchor = 15, ; + ColumnCount = 11, ; + DeleteMark = .F., ; + FontName = "Arial Narrow", ; + HeaderHeight = 47, ; + Height = 513, ; + HighlightStyle = 2, ; + Left = 8, ; + Name = "_grdrow1", ; + Panel = 1, ; + ReadOnly = .T., ; + RecordSource = "schimbpret", ; + Top = 51, ; + Width = 760, ; + Column1.BackColor = 255,255,255, ; + Column1.ControlSource = "nrcrt()", ; + Column1.FontName = "Arial Narrow", ; + Column1.Format = "rk", ; + Column1.Name = "Column1", ; + Column1.ReadOnly = .T., ; + Column1.Width = 29, ; + Column2.BackColor = 255,255,255, ; + Column2.ControlSource = "denumire", ; + Column2.FontName = "Arial Narrow", ; + Column2.Name = "Column2", ; + Column2.ReadOnly = .T., ; + Column2.Width = 180, ; + Column3.BackColor = 255,255,255, ; + Column3.ColumnOrder = 3, ; + Column3.ControlSource = "codmat", ; + Column3.FontName = "Arial Narrow", ; + Column3.Name = "Column3", ; + Column3.ReadOnly = .T., ; + Column3.Width = 63, ; + Column4.BackColor = 255,255,236, ; + Column4.ColumnOrder = 6, ; + Column4.ControlSource = "stoc", ; + Column4.FontName = "Arial Narrow", ; + Column4.Format = "rk", ; + Column4.InputMask = (get_mask(12,gnpCant)), ; + Column4.Name = "cCant", ; + Column4.ReadOnly = .F., ; + Column4.Width = 81, ; + Column5.BackColor = 255,255,255, ; + Column5.ColumnOrder = 7, ; + Column5.ControlSource = "pretvtva", ; + Column5.FontName = "Arial Narrow", ; + Column5.Format = "rk", ; + Column5.InputMask = (get_mask(12,gnPPretV)), ; + Column5.Name = "Column5", ; + Column5.ReadOnly = .T., ; + Column5.Width = 64, ; + Column6.Alignment = 2, ; + Column6.BackColor = 255,255,236, ; + Column6.ColumnOrder = 8, ; + Column6.ControlSource = "schimb", ; + Column6.FontName = "Arial Narrow", ; + Column6.Name = "Column6", ; + Column6.ReadOnly = .F., ; + Column6.Sparse = .F., ; + Column6.Width = 38, ; + Column7.BackColor = 255,255,236, ; + Column7.ColumnOrder = 9, ; + Column7.ControlSource = "pretvtvanou", ; + Column7.FontName = "Arial Narrow", ; + Column7.Format = "rk", ; + Column7.InputMask = (get_mask(12,gnPPretV)), ; + Column7.Name = "Column7", ; + Column7.ReadOnly = .F., ; + Column7.Width = 72, ; + Column8.BackColor = 255,255,255, ; + Column8.ColumnOrder = 10, ; + Column8.ControlSource = "proc_tvav", ; + Column8.FontName = "Arial Narrow", ; + Column8.Name = "Column9", ; + Column8.ReadOnly = .T., ; + Column8.Width = 45, ; + Column9.ColumnOrder = 4, ; + Column9.ControlSource = "serie", ; + Column9.FontName = "Arial Narrow", ; + Column9.Name = "cSerie", ; + Column9.ReadOnly = .T., ; + Column9.Width = 84, ; + Column10.ColumnOrder = 11, ; + Column10.ControlSource = "pret", ; + Column10.FontName = "Arial Narrow", ; + Column10.Format = "rk", ; + Column10.InputMask = (get_mask(12,gnPA)), ; + Column10.Name = "Column10", ; + Column10.ReadOnly = .T., ; + Column10.Width = 58, ; + Column11.ColumnOrder = 5, ; + Column11.ControlSource = "stoc_original", ; + Column11.FontName = "Arial Narrow", ; + Column11.Format = "rk", ; + Column11.InputMask = (get_mask(12,gnpCant)), ; + Column11.Name = "Column11", ; + Column11.ReadOnly = .T. + *< END OBJECT: ClassLib="_grd_base.vcx" BaseClass="grid" /> + + ADD OBJECT '_grdrow1.cCant.Header1' AS header WITH ; + Alignment = 2, ; + Caption = "Cant.", ; + FontName = "Arial Narrow", ; + Name = "Header1" + *< END OBJECT: BaseClass="header" /> + + ADD OBJECT '_grdrow1.cCant.Text1' AS textbox WITH ; + BackColor = 255,255,236, ; + BorderStyle = 0, ; + FontName = "Arial Narrow", ; + ForeColor = 0,0,0, ; + Margin = 0, ; + Name = "Text1", ; + ReadOnly = .F., ; + SelectedBackColor = 100,185,255 + *< END OBJECT: BaseClass="textbox" /> + + ADD OBJECT '_grdrow1.Column1.Header1' AS header WITH ; + Alignment = 2, ; + Caption = "Nr. crt.", ; + FontName = "Arial Narrow", ; + Name = "Header1", ; + WordWrap = .T. + *< END OBJECT: BaseClass="header" /> + + ADD OBJECT '_grdrow1.Column1.Text1' AS textbox WITH ; + BackColor = 255,255,255, ; + BorderStyle = 0, ; + FontName = "Arial Narrow", ; + ForeColor = 0,0,0, ; + Margin = 0, ; + Name = "Text1", ; + ReadOnly = .T., ; + SelectedBackColor = 100,185,255 + *< END OBJECT: BaseClass="textbox" /> + + ADD OBJECT '_grdrow1.Column10.Header1' AS header WITH ; + Alignment = 2, ; + Caption = "Pret achizitie", ; + FontName = "Arial Narrow", ; + Name = "Header1" + *< END OBJECT: BaseClass="header" /> + + ADD OBJECT '_grdrow1.Column10.Text1' AS textbox WITH ; + BackColor = 255,255,255, ; + BorderStyle = 0, ; + FontName = "Arial Narrow", ; + ForeColor = 0,0,0, ; + Margin = 0, ; + Name = "Text1", ; + SelectedBackColor = 100,185,255 + *< END OBJECT: BaseClass="textbox" /> + + ADD OBJECT '_grdrow1.Column11.Header1' AS header WITH ; + Alignment = 2, ; + Caption = "Cantitate originala", ; + FontName = "Arial Narrow", ; + Name = "Header1" + *< END OBJECT: BaseClass="header" /> + + ADD OBJECT '_grdrow1.Column11.Text1' AS textbox WITH ; + BackColor = 255,255,255, ; + BorderStyle = 0, ; + FontName = "Arial Narrow", ; + ForeColor = 0,0,0, ; + Margin = 0, ; + Name = "Text1", ; + ReadOnly = .T., ; + SelectedBackColor = 100,185,255 + *< END OBJECT: BaseClass="textbox" /> + + ADD OBJECT '_grdrow1.Column2.Header1' AS header WITH ; + Alignment = 2, ; + Caption = "Denumire", ; + FontName = "Arial Narrow", ; + Name = "Header1" + *< END OBJECT: BaseClass="header" /> + + ADD OBJECT '_grdrow1.Column2.Text1' AS textbox WITH ; + BackColor = 255,255,255, ; + BorderStyle = 0, ; + FontName = "Arial Narrow", ; + ForeColor = 0,0,0, ; + Margin = 0, ; + Name = "Text1", ; + ReadOnly = .T., ; + SelectedBackColor = 100,185,255 + *< END OBJECT: BaseClass="textbox" /> + + ADD OBJECT '_grdrow1.Column3.Header1' AS header WITH ; + Alignment = 2, ; + Caption = "Cod material", ; + FontName = "Arial Narrow", ; + Name = "Header1" + *< END OBJECT: BaseClass="header" /> + + ADD OBJECT '_grdrow1.Column3.Text1' AS textbox WITH ; + BackColor = 255,255,255, ; + BorderStyle = 0, ; + FontName = "Arial Narrow", ; + ForeColor = 0,0,0, ; + Margin = 0, ; + Name = "Text1", ; + ReadOnly = .T., ; + SelectedBackColor = 100,185,255 + *< END OBJECT: BaseClass="textbox" /> + + ADD OBJECT '_grdrow1.Column5.Header1' AS header WITH ; + Alignment = 2, ; + Caption = "Pret vanz. cu TVA prec.", ; + FontName = "Arial Narrow", ; + Name = "Header1", ; + WordWrap = .T. + *< END OBJECT: BaseClass="header" /> + + ADD OBJECT '_grdrow1.Column5.Text1' AS textbox WITH ; + BackColor = 255,255,255, ; + BorderStyle = 0, ; + FontName = "Arial Narrow", ; + ForeColor = 0,0,0, ; + Margin = 0, ; + Name = "Text1", ; + ReadOnly = .T., ; + SelectedBackColor = 100,185,255 + *< END OBJECT: BaseClass="textbox" /> + + ADD OBJECT '_grdrow1.Column6.Check1' AS checkbox WITH ; + Alignment = 0, ; + BackColor = 255,255,236, ; + Caption = "", ; + Centered = .T., ; + FontName = "Arial Narrow", ; + Height = 17, ; + Left = 35, ; + Name = "Check1", ; + ReadOnly = .F., ; + Top = 44, ; + Width = 60 + *< END OBJECT: BaseClass="checkbox" /> + + ADD OBJECT '_grdrow1.Column6.Header1' AS header WITH ; + Alignment = 2, ; + Caption = "Schimb", ; + FontBold = .T., ; + FontName = "Arial Narrow", ; + Name = "Header1" + *< END OBJECT: BaseClass="header" /> + + ADD OBJECT '_grdrow1.Column7.Header1' AS header WITH ; + Alignment = 2, ; + Caption = "Pret vanz. cu TVA actual", ; + FontBold = .T., ; + FontName = "Arial Narrow", ; + Name = "Header1", ; + WordWrap = .T. + *< END OBJECT: BaseClass="header" /> + + ADD OBJECT '_grdrow1.Column7.Text1' AS textbox WITH ; + BackColor = 255,255,236, ; + BorderStyle = 0, ; + FontName = "Arial Narrow", ; + ForeColor = 0,0,0, ; + Margin = 0, ; + Name = "Text1", ; + ReadOnly = .F., ; + SelectedBackColor = 100,185,255 + *< END OBJECT: BaseClass="textbox" /> + + ADD OBJECT '_grdrow1.Column9.Header1' AS header WITH ; + Alignment = 2, ; + Caption = "Coef. TVA", ; + FontName = "Arial Narrow", ; + Name = "Header1", ; + WordWrap = .T. + *< END OBJECT: BaseClass="header" /> + + ADD OBJECT '_grdrow1.Column9.Text1' AS textbox WITH ; + BackColor = 255,255,255, ; + BorderStyle = 0, ; + FontName = "Arial Narrow", ; + ForeColor = 0,0,0, ; + Margin = 0, ; + Name = "Text1", ; + ReadOnly = .T., ; + SelectedBackColor = 100,185,255 + *< END OBJECT: BaseClass="textbox" /> + + ADD OBJECT '_grdrow1.cSerie.Header1' AS header WITH ; + Alignment = 2, ; + Caption = "Serie", ; + FontName = "Arial Narrow", ; + Name = "Header1" + *< END OBJECT: BaseClass="header" /> + + ADD OBJECT '_grdrow1.cSerie.Text1' AS textbox WITH ; + BackColor = 255,255,255, ; + BorderStyle = 0, ; + FontName = "Arial Narrow", ; + ForeColor = 0,0,0, ; + Margin = 0, ; + Name = "Text1", ; + SelectedBackColor = 100,185,255 + *< END OBJECT: BaseClass="textbox" /> + + ADD OBJECT 'BUT_RENUNT1' AS but_renunt WITH ; + Anchor = 9, ; + Left = 719, ; + Name = "BUT_RENUNT1", ; + Top = 1 + *< END OBJECT: ClassLib="cmd_butoane.vcx" BaseClass="commandbutton" /> + + ADD OBJECT 'Label1' AS label WITH ; + AutoSize = .T., ; + BackStyle = 0, ; + Caption = "Bifati pe coloana si modificati pretul de vanzare cu tva ", ; + Height = 17, ; + Left = 6, ; + Name = "Label1", ; + Top = 31, ; + Width = 492 + *< END OBJECT: BaseClass="label" /> + + PROCEDURE Destroy + + + ENDPROC + + PROCEDURE do_termin + IF this.inainte_de_do_termin() + gnButon = 1 + pnButon = 1 + Buton = 1 + pnIesire = 1 + *this.Hide + SELECT actactan + DO FORM verificare WITH .t.,.t.,3 && cu buton de precedent + + DO CASE + CASE gnButon = 3 + *onirbon.visible = .t. + * DO nrord WITH lcSelRul + OTHERWISE + this.Release + ENDCASE + ENDIF + ENDPROC + + PROCEDURE inainte_de_do_termin + IF USED('rul_temp') + USE IN rul_temp + ENDIF + + Select schimbpret + LOCATE FOR schimb = 1 + IF !FOUND() + AMESSAGEBOX([Nici un articol nu are bifat "Schimb"!],0+48,"Atentie") + RETURN + ENDIF + + *** salvez backupset-ul + Local loBackupXML + loBackupXML = Thisform.oBackupXML + IF TYPE('loBackupXml') = 'O' + loBackupXML.SaveBackupSet("schimbpret") + ENDIF + + lcSql = [select v.*, v.id_gestiune as id_gestin, v.nume_gestiune as gestin, v.id_gestiune as id_gestout, v.nume_gestiune as gestout, 0 as nuInConturiX from ] + gcS + [.vrul v where 1=2] + lcCursor = [rul_temp] + lnSucces = goExecutor.oExecute(lcSql,lcCursor) + IF lnSucces < 0 + AMESSAGEBOX(goExecutor.cEroare,0+16, 'Eroare') + ENDIF + + && iesiri + Select schimbpret + Scan For schimb = 1 + Scatter NAME poSchimb + lnPretvtva = pretvtva + lnCant = stoc + + *!* 11.06.2008 + *!* nu trebuie sa recalculez pretul de vanzare + *!* lnPretv = lnPretvtva / NVL(proc_tvav,1) + + Select rul_temp + Append Blank + Gather NAME poSchimb + *!* REPLACE pretvtva WITH lnPretvtva, pretv WITH lnPretv, cant WITH 0, cante WITH lnCant + REPLACE cant WITH 0, cante WITH lnCant, id_tip_rulaj with 3 + *!* 11.06.2008 ^ + Select schimbpret + ENDSCAN + + + && intrari + Select schimbpret + Scan For schimb = 1 && and pretvtvanou <> pretvtva + Scatter NAME poSchimb + lnPretvtvanou = Round(pretvtvanou, gnPPretV) + lnCant = stoc + lnProcTvav = Iif(NVL(proc_tvav,1) = 0, 1, NVL(proc_tvav,1)) + If Type('schimbpret.pretvnou') = 'N' + lnPretvNou = pretvnou + Else + lnPretvnou = Round(lnPretvtvanou / lnProcTvav, gnPPretV) + EndIf + If Type('schimbpret.tvavnou') = 'N' + lntvav = tvavnou + Else + lntvav = lnPretvtvanou - lnPretvnou + EndIf + + Select rul_temp + Append Blank + Gather NAME poSchimb + REPLACE pretv WITH lnPretvnou, pretvtva WITH lnPretvtvanou, tvav WITH lntvav, proc_tvav with lnProcTvav, cant WITH lnCant, cante with 0, id_tip_rulaj with 3 + + Select schimbpret + ENDSCAN + Select rul_temp + Replace all id_Set with poAct.id_set + + *** completez tabela ACTACTAN + IF TYPE('oitem') = 'O' + IF PEMSTATUS(oitem,'adunadate',5) + oitem.adunadate() + ENDIF + ENDIF + + *!* 11.06.2008 + *!* proc_tvav = 1 daca este 0 + update schimbpret set proc_tvav = 1 where Empty(Nvl(proc_tvav,0)) + *!* 11.06.2008 ^ + + Select Distinct Cont, acont, proc_tvav From schimbpret with (buffering = .t.) Into Cursor SCDURI Order By Cont, acont NOFILTER + + + Select actactan + Locate For Alltrim(Upper(SCD))='X' And ALLTRIM(SCC)='378' + If Found() + Scatter NAME loAct + Delete + Endif + + Select SCDURI + SCAN + lnValdif = 0 + lcCont = cont + lcAcont = NVL(acont,'') + lnProc_tvav = proc_tvav + + Select schimbpret + SUM ROUND((pretvtvanou-pretvtva)/proc_tvav*stoc,gnPC) TO lnValdif FOR schimb = 1 And cont = lcCont AND NVL(acont,'') = lcAcont AND proc_tvav = lnProc_tvav + + *!* round(stoc*(pretvtvanou/proc_tvav pretvnou - a.pretv), 2) as difvalv, + *!* round(a.stoc*(a.tvavnou - a.tvav), 2) as difvaltva, + *!* round(a.stoc*(a.pretvtvanou - a.pretvtva), 2) as difvalvvtva + + loAct.suma = lnValdif + loAct.scd = lcCont + loAct.ascd = lcAcont + loAct.proc_tva = lnProc_tvav + + Select actactan + Append Blank + Gather NAME loAct + + Select SCDURI + Endscan + + Select actactan + Locate For Alltrim(Upper(SCD))='X' And ALLTRIM(SCC)='4428' + If Found() + Scatter NAME loAct + Delete + ENDIF + + Select SCDURI + SCAN + lnValdiftva = 0 + lcCont = cont + lcAcont = NVL(acont,'') + lnProc_tvav = proc_tvav + + Select schimbpret + SUM ROUND((pretvtvanou-pretvtva)*(proc_tvav-1)/proc_tvav*stoc,gnPC) TO lnValdiftva FOR schimb=1 And cont = lcCont AND NVL(acont,'') = lcAcont AND proc_tvav = lnProc_tvav + loAct.suma = lnValdiftva + loAct.scd = lcCont + loAct.ascd = lcAcont + loAct.proc_tva = lnProc_tvav + + Select actactan + Append Blank + Gather NAME loAct + + Select SCDURI + ENDSCAN + + Delete From actactan where suma = 0 + + Do completare_parteneri_gestiune in ointroduceri.prg + Do completare_gruputil_analitice In oproceduri_comune.prg + Do completare_tva_analitice In oproceduri_comune.prg + + Select actactan + GO TOP + + SELECT rul_temp + REPLACE ALL dataact WITH loact.dataact, nnir WITH loact.nnir, proc_tva WITH loact.proc_tva + + + + + + ENDPROC + + PROCEDURE Load + *** REINCARCARE STARE PROCES VERBAL SCHIMBARE PRET SALVAT ANTERIOR IN FORMAT XML SI NETERMINAT (FATAL ERROR) + LOCAL loBackupXML + loBackupXML = CREATEOBJECT("BackupXML", "schimba_pret") && oproceduri_comune.prg + This.AddProperty("oBackupXML", m.loBackupXML) + *** daca exista deja un backupset + IF loBackupXML.ExistsBackupSet() AND AMESSAGEBOX('Exista un proces verbal de schimbare de pret nesalvat. Doriti sa il continuati?', 4+32, _screen.Caption) = 6 + loBackupXML.RestoreBackupSet() + Select schimbpret + Go Top + RETURN + ENDIF + + Local lnTipPretNou + lnTipPretNou = 1 + Use in (SELECT("schimbPret")) + + *!* If gcUserNameApp = 'SUPERVIZOR' + *!* X = XMENU('PRET DIN STOC (DEFAULT);PRET DIN POLITICA DE PRETURI;PRET DIN STOCUL DIN LUNA URMATOARE') + *!* lnTipPretNou = Iif(Between(X,1,3), X, 1) + *!* EndIf + + && 1 = PRETUL NOU ESTE PRETUL DE VANZARE CU TVA DIN STOC (DEFAULT) + && 2 = PRETUL NOU ESTE LUAT DINTR-O POLITICA + && 3 = PRETUL NOU ESTE LUAT DIN STOCUL DIN LUNA URMATOARE, PRETUL VECHI = PRETUL DE ACHIZITIE :D (PRELUARE CONPRESS DEPOZIT MARFA) + Do Case + Case lnTipPretNou = 2 + *!* STOC + POLITICA DE PRETURI - SCHIMB GESTIUNEA DE LA PRET DE ACHIZITIE LA PRET DE VANZARE + *!* PRETUL DE VANZARE VECHI IL IAU DIN PRETUL DE ACHIZITIE + TVA + *!* PRETUL DE VANZARE NOU IL IAU DIN LISTA DE PRETURI + + TEXT to lcSql TEXTMERGE noshow + select s.id_stoc, s.id_articol, s.an, s.luna, s.pret, s.pretv, s.denumire, s.codmat, s.um, s.dnf, s.um2, s.cant_bax, + s.id_gestiune, s.nume_gestiune, s.cgest, s.nr_pag, s.tva, s.tvav, s.cants, s.cant, s.cante, s.cont, s.pretd, + s.dataora, s.acont, s.datain, s.dataout, s.proc_tvav, s.serie, s.grupa, s.id_subgrupa, s.subgrupa, s.id_rul_aux, + s.id_valuta, s.nume_val, s.codmatf, s.lot, s.adata_expirare, s.id_sucursala, s.sucursala, + round(s.pret,2) + round(s.tva,2) as pretvtva, + nvl(p.pretctva, round(s.pret,2) + round(s.tva,2)) as pretvtvanou, + s.cants + s.cant - s.cante AS stoc,s.cants + s.cant - s.cante AS stoc_original, + 1 as schimb + from vstoc s + left join (select id_articol, pret as pretctva + from vcrm_politici_pret_art + where id_pol = 1 and pret <> 0) p on s.ID_ARTICOL = p.id_articol + where s.an = <> + and s.luna = <> + <> + and s.cants + s.cant - s.cante > 0 + and s.id_gestiune = <> + order by s.denumire + EndText + + Case lnTipPretNou = 3 + *!* STOC + POLITICA DE PRETURI - SCHIMB GESTIUNEA DE LA PRET DE ACHIZITIE LA PRET DE VANZARE + *!* PRETUL DE VANZARE VECHI IL IAU DIN PRETUL DE ACHIZITIE + TVA + *!* PRETUL DE VANZARE NOU IL IAU DIN LISTA DE PRETURI + + TEXT to lcSql TEXTMERGE noshow + select s.id_stoc, s.id_articol, s.an, s.luna, s.pret, s.pretv, s.denumire, s.codmat, s.um, s.dnf, s.um2, s.cant_bax, + s.id_gestiune, s.nume_gestiune, s.cgest, s.nr_pag, s.tva, s.tvav, s.cants, s.cant, s.cante, s.cont, s.pretd, + s.dataora, s.acont, s.datain, s.dataout, s.proc_tvav, s.serie, s.grupa, s.id_subgrupa, s.subgrupa, s.id_rul_aux, + s.id_valuta, s.nume_val, s.codmatf, s.lot, s.adata_expirare, s.id_sucursala, s.sucursala, + round(s.pret,2) + round(s.tva,2) as pretvtva, + nvl(p.pretctva, round(s.pret,2) + round(s.tva,2)) as pretvtvanou, + nvl(p.pretv, round(s.pret,2)) as pretvnou, + nvl(p.tvav, round(s.tva,2)) as tvavnou, + s.cants + s.cant - s.cante AS stoc,s.cants + s.cant - s.cante AS stoc_original, + 1 as schimb + from vstoc s + left join (select id_articol, Max(PRETV) AS pretv, Max(tvav) as tvav, Max(pretv+tvav) as pretctva + from vstoc + where cants<> 0 and pretv+tvav <> 0 and an*12+luna = <> and id_gestiune = <> + <> + group by id_articol) p on s.ID_ARTICOL = p.id_articol + where s.an = <> + and s.luna = <> + <> + and s.cants + s.cant - s.cante > 0 + and s.id_gestiune = <> + order by s.denumire + EndText + + Otherwise + lcSql = [select s.*, s.pretv + s.tvav as pretvtva, s.pretv + s.tvav as pretvtvanou, s.cants+s.cant-s.cante AS stoc,s.cants + s.cant - s.cante AS stoc_original, 0 as schimb ]+; + [ from vstoc s ]+; + [ where s.an = ] + Alltrim(Str(gnAn)) + [ and s.luna = ] + Alltrim(Str(gnLuna)) + Strtran(gcCondSucursala,[id_sucursala],[s.id_sucursala]) + ; + [ and s.cants+s.cant-s.cante>0 and s.id_gestiune =]+Alltrim(Str(poact.id_gestiune)) + [ order by s.denumire] + + Endcase + lcCursor = [schimbpret] + lnSucces = goExecutor.oExecute(lcSql,lcCursor) + If lnSucces < 0 + AMESSAGEBOX(goExecutor.cEroare,0+16, 'Eroare') + Endif + + Select schimbpret + Do NRORD With 'schimbpret' + + Select schimbpret + Go Top + + + ENDPROC + + PROCEDURE _grdrow1.AfterRowColChange + LPARAMETERS nColIndex + DODEFAULT(nColIndex) + + Local loBackupXML + loBackupXML = Thisform.oBackupXML + IF TYPE('loBackupXml') = 'O' + loBackupXML.SaveBackupSet("schimbpret") + ENDIF + ENDPROC + + PROCEDURE _grdrow1.cCant.Text1.Valid + If thisform.cantveche>0 + IF(this.value>=0 and this.value + + *-- OBJECTDATA items order determines ZOrder / El orden de los items OBJECTDATA determina el ZOrder + *< OBJECTDATA: ObjPath="grd_schimbarepret" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="grd_schimbarepret.cNrCrt.Header1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="grd_schimbarepret.cNrCrt.Text1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="grd_schimbarepret.cNume_articol.Header1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="grd_schimbarepret.cNume_articol.Text1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="grd_schimbarepret.cCodmat.Header1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="grd_schimbarepret.cCodmat.Text1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="grd_schimbarepret.cPret.Header1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="grd_schimbarepret.cPret.Text1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="grd_schimbarepret.cSchimb.Header1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="grd_schimbarepret.cSchimb.Check1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="grd_schimbarepret.cPretnou.Header1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="grd_schimbarepret.cPretnou.Text1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="grd_schimbarepret.cProc_tvav.Header1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="grd_schimbarepret.cProc_tvav.Text1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="BUT_RENUNT1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="lb_explicatie" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="But_urmator1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="Lb_codmat" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="txtCodmat" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="ct_codmat" UniqueID="" Timestamp="" /> + + * + *m: do_creeaza_filtru + *m: do_schimba_ordine + *p: cantveche + *p: nordine + *p: ntip && 1 - normal; 2 - cu * ( stocul gestiunilor nu este actualizat ) + * + + * + cantveche = 0 + cgridsortlist = grd_schimbarepret + DoCreate = .T. + Height = 576 + Name = "schimbpret_grupa" + nordine = 1 + ntip = 1 + Width = 780 + _SHAPE1.Height = 29 + _SHAPE1.Left = 0 + _SHAPE1.Name = "_SHAPE1" + _SHAPE1.Top = 0 + _SHAPE1.Width = 780 + _SHAPE2.Anchor = 9 + _SHAPE2.Height = 29 + _SHAPE2.Left = 719 + _SHAPE2.Name = "_SHAPE2" + _SHAPE2.Top = 0 + _SHAPE2.Width = 62 + LB_TITLU_ALB_B121.Caption = "SCHIMBARE DE PRETURI DE VANZARE - LISTA DE PRETURI" + LB_TITLU_ALB_B121.FontSize = 11 + LB_TITLU_ALB_B121.Left = 6 + LB_TITLU_ALB_B121.Name = "LB_TITLU_ALB_B121" + LB_TITLU_ALB_B121.TabIndex = 5 + LB_TITLU_ALB_B121.Top = 6 + BUT_TERMIN1.Anchor = 9 + BUT_TERMIN1.Left = 750 + BUT_TERMIN1.lvizibil = .F. + BUT_TERMIN1.Name = "BUT_TERMIN1" + BUT_TERMIN1.TabIndex = 6 + BUT_TERMIN1.Top = 1 + BUT_TERMIN1.Visible = .F. + GRIDSORT1.Left = 420 + GRIDSORT1.Name = "GRIDSORT1" + GRIDSORT1.Top = 12 + * + + ADD OBJECT 'BUT_RENUNT1' AS but_renunt WITH ; + Anchor = 9, ; + Left = 719, ; + Name = "BUT_RENUNT1", ; + TabIndex = 4, ; + Top = 1 + *< END OBJECT: ClassLib="cmd_butoane.vcx" BaseClass="commandbutton" /> + + ADD OBJECT 'But_urmator1' AS but_urmator WITH ; + caction = do_termin, ; + Left = 750, ; + Name = "But_urmator1", ; + TabIndex = 3, ; + Top = 1 + *< END OBJECT: ClassLib="cmd_butoane.vcx" BaseClass="commandbutton" /> + + ADD OBJECT 'ct_codmat' AS criteriu_text WITH ; + FontName = "Arial Narrow", ; + Height = 24, ; + Left = 68, ; + Name = "ct_codmat", ; + TabIndex = 7, ; + Top = 34, ; + Value = 2, ; + Width = 84 + *< END OBJECT: ClassLib="caut_ora.vcx" BaseClass="combobox" /> + + ADD OBJECT 'grd_schimbarepret' AS _grdrow WITH ; + Anchor = 15, ; + ColumnCount = 7, ; + DeleteMark = .F., ; + FontName = "Arial Narrow", ; + HeaderHeight = 47, ; + Height = 480, ; + HighlightStyle = 2, ; + Left = 8, ; + Name = "grd_schimbarepret", ; + Panel = 1, ; + ReadOnly = .T., ; + RecordSource = "schimbpret", ; + TabIndex = 2, ; + Top = 84, ; + Width = 760, ; + Column1.BackColor = 255,255,255, ; + Column1.ControlSource = "nrcrt", ; + Column1.FontName = "Arial Narrow", ; + Column1.Format = "rk", ; + Column1.InputMask = "9999999999", ; + Column1.Name = "cNrCrt", ; + Column1.ReadOnly = .T., ; + Column1.Width = 29, ; + Column2.BackColor = 255,255,255, ; + Column2.ControlSource = "nume_articol", ; + Column2.FontName = "Arial Narrow", ; + Column2.Name = "cNume_articol", ; + Column2.ReadOnly = .T., ; + Column2.Width = 180, ; + Column3.BackColor = 255,255,255, ; + Column3.ColumnOrder = 3, ; + Column3.ControlSource = "codmat", ; + Column3.FontName = "Arial Narrow", ; + Column3.Name = "cCodmat", ; + Column3.ReadOnly = .T., ; + Column3.Width = 63, ; + Column4.BackColor = 255,255,255, ; + Column4.ColumnOrder = 4, ; + Column4.ControlSource = "pret", ; + Column4.FontName = "Arial Narrow", ; + Column4.Format = "rk", ; + Column4.InputMask = (get_mask(12,gnPPretV)), ; + Column4.Name = "cPret", ; + Column4.ReadOnly = .T., ; + Column4.Width = 64, ; + Column5.Alignment = 2, ; + Column5.BackColor = 255,255,236, ; + Column5.ColumnOrder = 5, ; + Column5.ControlSource = "schimb", ; + Column5.FontName = "Arial Narrow", ; + Column5.Name = "cSchimb", ; + Column5.ReadOnly = .F., ; + Column5.Sparse = .F., ; + Column5.Width = 38, ; + Column6.BackColor = 255,255,236, ; + Column6.ColumnOrder = 6, ; + Column6.ControlSource = "pretnou", ; + Column6.FontName = "Arial Narrow", ; + Column6.Format = "rk", ; + Column6.InputMask = (get_mask(12,gnPPretV)), ; + Column6.Name = "cPretnou", ; + Column6.ReadOnly = .F., ; + Column6.Width = 72, ; + Column7.BackColor = 255,255,255, ; + Column7.ColumnOrder = 7, ; + Column7.ControlSource = "proc_tvav", ; + Column7.FontName = "Arial Narrow", ; + Column7.Name = "cProc_tvav", ; + Column7.ReadOnly = .T., ; + Column7.Width = 45 + *< END OBJECT: ClassLib="_grd_base.vcx" BaseClass="grid" /> + + ADD OBJECT 'grd_schimbarepret.cCodmat.Header1' AS header WITH ; + Alignment = 2, ; + Caption = "Cod material", ; + FontName = "Arial Narrow", ; + Name = "Header1" + *< END OBJECT: BaseClass="header" /> + + ADD OBJECT 'grd_schimbarepret.cCodmat.Text1' AS textbox WITH ; + BackColor = 255,255,255, ; + BorderStyle = 0, ; + FontName = "Arial Narrow", ; + ForeColor = 0,0,0, ; + Margin = 0, ; + Name = "Text1", ; + ReadOnly = .T. + *< END OBJECT: BaseClass="textbox" /> + + ADD OBJECT 'grd_schimbarepret.cNrCrt.Header1' AS header WITH ; + Alignment = 2, ; + Caption = "Nr. crt.", ; + FontName = "Arial Narrow", ; + Name = "Header1", ; + WordWrap = .T. + *< END OBJECT: BaseClass="header" /> + + ADD OBJECT 'grd_schimbarepret.cNrCrt.Text1' AS textbox WITH ; + BackColor = 255,255,255, ; + BorderStyle = 0, ; + FontName = "Arial Narrow", ; + ForeColor = 0,0,0, ; + Margin = 0, ; + Name = "Text1", ; + ReadOnly = .T. + *< END OBJECT: BaseClass="textbox" /> + + ADD OBJECT 'grd_schimbarepret.cNume_articol.Header1' AS header WITH ; + Alignment = 2, ; + Caption = "Denumire", ; + FontName = "Arial Narrow", ; + Name = "Header1" + *< END OBJECT: BaseClass="header" /> + + ADD OBJECT 'grd_schimbarepret.cNume_articol.Text1' AS textbox WITH ; + BackColor = 255,255,255, ; + BorderStyle = 0, ; + FontName = "Arial Narrow", ; + ForeColor = 0,0,0, ; + Margin = 0, ; + Name = "Text1", ; + ReadOnly = .T. + *< END OBJECT: BaseClass="textbox" /> + + ADD OBJECT 'grd_schimbarepret.cPret.Header1' AS header WITH ; + Alignment = 2, ; + Caption = "Pret vanz. cu TVA prec.", ; + FontName = "Arial Narrow", ; + Name = "Header1", ; + WordWrap = .T. + *< END OBJECT: BaseClass="header" /> + + ADD OBJECT 'grd_schimbarepret.cPret.Text1' AS textbox WITH ; + BackColor = 255,255,255, ; + BorderStyle = 0, ; + FontName = "Arial Narrow", ; + ForeColor = 0,0,0, ; + Margin = 0, ; + Name = "Text1", ; + ReadOnly = .T. + *< END OBJECT: BaseClass="textbox" /> + + ADD OBJECT 'grd_schimbarepret.cPretnou.Header1' AS header WITH ; + Alignment = 2, ; + Caption = "Pret vanz. cu TVA actual", ; + FontBold = .T., ; + FontName = "Arial Narrow", ; + Name = "Header1", ; + WordWrap = .T. + *< END OBJECT: BaseClass="header" /> + + ADD OBJECT 'grd_schimbarepret.cPretnou.Text1' AS textbox WITH ; + BackColor = 255,255,236, ; + BorderStyle = 0, ; + FontName = "Arial Narrow", ; + ForeColor = 0,0,0, ; + Margin = 0, ; + Name = "Text1", ; + ReadOnly = .F. + *< END OBJECT: BaseClass="textbox" /> + + ADD OBJECT 'grd_schimbarepret.cProc_tvav.Header1' AS header WITH ; + Alignment = 2, ; + Caption = "Coef. TVA", ; + FontName = "Arial Narrow", ; + Name = "Header1", ; + WordWrap = .T. + *< END OBJECT: BaseClass="header" /> + + ADD OBJECT 'grd_schimbarepret.cProc_tvav.Text1' AS textbox WITH ; + BackColor = 255,255,255, ; + BorderStyle = 0, ; + FontName = "Arial Narrow", ; + ForeColor = 0,0,0, ; + Margin = 0, ; + Name = "Text1", ; + ReadOnly = .T. + *< END OBJECT: BaseClass="textbox" /> + + ADD OBJECT 'grd_schimbarepret.cSchimb.Check1' AS checkbox WITH ; + Alignment = 0, ; + BackColor = 255,255,236, ; + Caption = "", ; + Centered = .T., ; + FontName = "Arial Narrow", ; + Height = 17, ; + Left = 35, ; + Name = "Check1", ; + ReadOnly = .F., ; + Top = 44, ; + Width = 60 + *< END OBJECT: BaseClass="checkbox" /> + + ADD OBJECT 'grd_schimbarepret.cSchimb.Header1' AS header WITH ; + Alignment = 2, ; + Caption = "Schimb", ; + FontBold = .T., ; + FontName = "Arial Narrow", ; + Name = "Header1" + *< END OBJECT: BaseClass="header" /> + + ADD OBJECT 'Lb_codmat' AS lb_simplu WITH ; + Caption = "Cod material", ; + FontName = "Arial Narrow", ; + Left = 11, ; + Name = "Lb_codmat", ; + TabIndex = 9, ; + Top = 38 + *< END OBJECT: ClassLib="lb.vcx" BaseClass="label" /> + + ADD OBJECT 'lb_explicatie' AS label WITH ; + AutoSize = .T., ; + BackStyle = 0, ; + Caption = "Bifati pe coloana si modificati pretul de vanzare cu tva ", ; + Height = 17, ; + Left = 6, ; + Name = "lb_explicatie", ; + TabIndex = 8, ; + Top = 63, ; + Width = 492 + *< END OBJECT: BaseClass="label" /> + + ADD OBJECT 'txtCodmat' AS textbox WITH ; + Format = "!k", ; + Height = 23, ; + Left = 156, ; + Name = "txtCodmat", ; + TabIndex = 1, ; + ToolTipText = "Tastati primele litere pentru cautare articole", ; + Top = 35, ; + Width = 144 + *< END OBJECT: BaseClass="textbox" /> + + PROCEDURE do_creeaza_filtru + Lparameters toCriteriu,tcNumeCamp,tcValoare + Local lnCriteriu,lcFiltru + lnCriteriu = toCriteriu.Value + Do Case + Case lnCriteriu = 1 and !Empty(tcValoare) + lcFiltru = "LIKE('" + Upper(Strtran(tcValoare,['],[''])) + "*',UPPER(Nvl("+Alltrim(tcNumeCamp)+",'')))" + Case lnCriteriu = 2 and !Empty(tcValoare) + lcFiltru = "UPPER(Nvl("+Alltrim(tcNumeCamp)+",''))='" + Upper(Strtran(tcValoare,['],[''])) + "'" + Case lnCriteriu = 3 and !Empty(tcValoare) + lcFiltru = "UPPER(Nvl("+Alltrim(tcNumeCamp)+",''))<>'" + Upper(Strtran(tcValoare,['],[''])) + "'" + Case lnCriteriu = 4 and !Empty(tcValoare) + lcFiltru = "LIKE('*" + Upper(Strtran(tcValoare,['],[''])) + "*',UPPER(Nvl("+Alltrim(tcNumeCamp)+",'')))" + Case lnCriteriu = 5 and !Empty(tcValoare) + lcFiltru = "!LIKE('*" + Upper(Strtran(tcValoare,['],[''])) + "*',UPPER(Nvl("+Alltrim(tcNumeCamp)+",'')))" + Case lnCriteriu=6 + lcFiltru = "EMPTY(Nvl("+Alltrim(tcNumeCamp)+",''))" + Case lnCriteriu=7 + lcFiltru = "!EMPTY(Nvl("+Alltrim(tcNumeCamp)+",''))" + Endcase + Return lcFiltru + ENDPROC + + PROCEDURE do_schimba_ordine + Lparameters tnValoare + lcCursor = Thisform.grd_schimbarepret.RecordSource + Select (lcCursor) + If tnValoare = 0 + Replace ordine With 0 + Else + Replace ordine With Thisform.nordine + Thisform.nordine = Thisform.nordine + 1 + EndIf + ENDPROC + + PROCEDURE do_termin + If This.inainte_de_do_termin() + This.Hide() + lnRezultat = arata_stoc_schimbare(Thisform.ntip) + Do Case + Case lnRezultat = 3 + This.Show() + Case lnRezultat = 2 + This.do_renunt() + Otherwise + gnButon = 1 + pnButon = 1 + Buton = 1 + nIesire = 1 + This.Release() + Endcase + Endif + ENDPROC + + PROCEDURE inainte_de_do_termin + Local llReturn + llReturn = .T. + + Thisform.ct_codmat.Value = 2 + Thisform.txtCodmat.Value = [] + Select schimbpret + Set Filter To + Thisform.Refresh() + + Select schimbpret + Locate For schimb = 1 + If !Found() + AMESSAGEBOX([Nici un articol nu are bifat "Schimb"!],0+48,"Atentie") + llReturn = .F. + Endif + Return llReturn + ENDPROC + + PROCEDURE Init + Lparameters tnTip + + Thisform.ntip = tnTip + DoDefault() + + IF tnTip = 2 && stoc neactualizat => completez si pretul precedent + This.grd_schimbarepret.cPret.ReadOnly = .F. + This.grd_schimbarepret.cPret.header1.FontBold = .T. + ENDIF + Select schimbpret + Go Top + If preturi_cu_tva = 0 + lcCaption = [Bifati pe coloana "Schimb" si modificati pretul de vanzare fara TVA ( "Pret vanz. fara TVA actual" ).] + Thisform.grd_schimbarepret.cpret.header1.Caption = [Pret vanz. fara TVA prec.] + Thisform.grd_schimbarepret.cpretnou.header1.Caption = [Pret vanz. fara TVA actual] + Else + lcCaption = [Bifati pe coloana "Schimb" si modificati pretul de vanzare cu TVA ( "Pret vanz.cu TVA actual" ).] + Thisform.grd_schimbarepret.cpret.header1.Caption = [Pret vanz. cu TVA prec.] + Thisform.grd_schimbarepret.cpretnou.header1.Caption = [Pret vanz. cu TVA actual] + Endif + Thisform.lb_explicatie.Caption = lcCaption + + ENDPROC + + PROCEDURE KeyPress + Lparameters nKeyCode, nShiftAltCtrl + lcControl = Upper(Alltrim(Thisform.ActiveControl.Name)) + If lcControl = 'TXTCODMAT' And nKeyCode = 13 + Select schimbpret + lnRecno = Recno() + lcFiltruArt = Thisform.do_creeaza_filtru(Thisform.ct_codmat,Thisform.grd_schimbarepret.ccodmat.ControlSource,Alltrim(Strtran(Thisform.txtCodmat.Value,['],['']))) + lcFiltru = Iif(Empty(lcFiltruArt),[2=2],lcFiltruArt) + Set Filter To &lcFiltru + Go top + Thisform.grd_schimbarepret.SetFocus() + Else + DoDefault(nKeyCode, nShiftAltCtrl) + Endif + ENDPROC + + PROCEDURE ct_codmat.InteractiveChange + With Thisform.txtCodmat + If This.Value>5 + .Value="" + .ReadOnly=.T. + Else + .ReadOnly=.F. + .SetFocus() + Endif + Endwith + ENDPROC + + PROCEDURE grd_schimbarepret.cSchimb.Check1.Click + DoDefault() + Thisform.do_schimba_ordine(This.Value) + ENDPROC + + PROCEDURE grd_schimbarepret.Init + * + ENDPROC + +ENDDEFINE + +DEFINE CLASS schimbpret_masa_tva AS _frmbase OF "_frm_base.vcx" + *< CLASSDATA: Baseclass="form" Timestamp="" Scale="Pixels" Uniqueid="" /> + + *-- OBJECTDATA items order determines ZOrder / El orden de los items OBJECTDATA determina el ZOrder + *< OBJECTDATA: ObjPath="_shape5" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="_shape4" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="_shape3" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="grdPolitici" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="grdPolitici.cPolitica.Header1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="grdPolitici.cPolitica.Text1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="grdPolitici.cPretcuTVA.Header1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="grdPolitici.cPretcuTVA.Text1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="grdPolitici.cPretcuTVA.Check1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="grdPolitici.cAles.Header1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="grdPolitici.cAles.Text1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="grdPolitici.cAles.Check1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="grdGestiuni" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="grdGestiuni.cAles.Header1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="grdGestiuni.cAles.Text1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="grdGestiuni.cAles.Check1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="grdGestiuni.cGestiune.Header1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="grdGestiuni.cGestiune.Text1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="_label1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="_label2" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="grdSubgrupe" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="grdSubgrupe.cSubgrupa.Header1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="grdSubgrupe.cSubgrupa.Text1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="grdSubgrupe.cGrupa.Header1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="grdSubgrupe.cGrupa.Text1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="grdSubgrupe.cAles.Header1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="grdSubgrupe.cAles.Text1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="grdSubgrupe.cAles.Check1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="_label3" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="_label4" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="_label5" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="txtCotaTVAVeche" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="txtCotaTVANoua" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="_label6" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="_label7" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="cmdPolitici" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="cmdGestiuni" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="lblInfo" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="_label8" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="_label9" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="_label10" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="txtDataActualizare" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="optPret" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="_label11" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="txtZecimale" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="cmdSelect1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="cmdSelect2" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="cmdSelect3" UniqueID="" Timestamp="" /> + + * + *m: creeazalisteales + *m: inainte_de_actualizare_gestiuni + *m: inainte_de_actualizare_politici + *m: selecteazatot + *p: cantveche + *p: clistagestiuni && liste id-uri gestiuni alese + *p: clistapoliticipreturi && lista id-uri politici preturi alese + *p: clistasubgrupe && liste id-uri subgrupe articole alese + * + + * + BorderStyle = 1 + cantveche = 0 + clistagestiuni = + clistapoliticipreturi = + clistasubgrupe = + DoCreate = .T. + Height = 600 + Name = "schimbpret_masa_tva" + Width = 733 + _memberdata = + + + + + + + _SHAPE1.Anchor = 10 + _SHAPE1.Height = 29 + _SHAPE1.Left = 0 + _SHAPE1.Name = "_SHAPE1" + _SHAPE1.Top = 0 + _SHAPE1.Width = 780 + _SHAPE1.ZOrderSet = 3 + _SHAPE2.Anchor = 9 + _SHAPE2.Height = 29 + _SHAPE2.Left = 702 + _SHAPE2.Name = "_SHAPE2" + _SHAPE2.Top = 0 + _SHAPE2.Width = 33 + _SHAPE2.ZOrderSet = 4 + LB_TITLU_ALB_B121.Caption = "SCHIMBARE PRETURI IN MASA - MODIFICAREA COTEI DE TVA VANZARE" + LB_TITLU_ALB_B121.FontSize = 11 + LB_TITLU_ALB_B121.Left = 6 + LB_TITLU_ALB_B121.Name = "LB_TITLU_ALB_B121" + LB_TITLU_ALB_B121.Top = 6 + LB_TITLU_ALB_B121.ZOrderSet = 5 + BUT_TERMIN1.Anchor = 9 + BUT_TERMIN1.Left = 703 + BUT_TERMIN1.Name = "BUT_TERMIN1" + BUT_TERMIN1.Top = 1 + BUT_TERMIN1.ZOrderSet = 6 + GRIDSORT1.Left = 420 + GRIDSORT1.Name = "GRIDSORT1" + GRIDSORT1.Top = 12 + * + + ADD OBJECT '_label1' AS _label WITH ; + Caption = "Politici preturi", ; + FontBold = .T., ; + Left = 62, ; + Name = "_label1", ; + Top = 40, ; + ZOrderSet = 10 + *< END OBJECT: ClassLib="_baza.vcx" BaseClass="label" /> + + ADD OBJECT '_label10' AS _label WITH ; + Anchor = 2, ; + Caption = "Data activare politica preturi", ; + FontBold = .T., ; + Left = 356, ; + Name = "_label10", ; + Top = 117, ; + ZOrderSet = 25 + *< END OBJECT: ClassLib="_baza.vcx" BaseClass="label" /> + + ADD OBJECT '_label11' AS _label WITH ; + Anchor = 2, ; + Caption = "Zecimale rotunjire pret cu TVA", ; + FontBold = .T., ; + Left = 356, ; + Name = "_label11", ; + Top = 141, ; + ZOrderSet = 28 + *< END OBJECT: ClassLib="_baza.vcx" BaseClass="label" /> + + ADD OBJECT '_label2' AS _label WITH ; + Anchor = 8, ; + Caption = "Gestiuni marfa pret de vanzare", ; + FontBold = .T., ; + Height = 18, ; + Left = 410, ; + Name = "_label2", ; + Top = 387, ; + Width = 199, ; + ZOrderSet = 11 + *< END OBJECT: ClassLib="_baza.vcx" BaseClass="label" /> + + ADD OBJECT '_label3' AS _label WITH ; + Caption = "Subgrupe articole", ; + FontBold = .T., ; + Height = 18, ; + Left = 61, ; + Name = "_label3", ; + Top = 387, ; + Width = 116, ; + ZOrderSet = 13 + *< END OBJECT: ClassLib="_baza.vcx" BaseClass="label" /> + + ADD OBJECT '_label4' AS _label WITH ; + Anchor = 2, ; + Caption = "Cota TVA veche", ; + FontBold = .T., ; + Left = 356, ; + Name = "_label4", ; + Top = 66, ; + ZOrderSet = 14 + *< END OBJECT: ClassLib="_baza.vcx" BaseClass="label" /> + + ADD OBJECT '_label5' AS _label WITH ; + Anchor = 2, ; + Caption = "Cota TVA noua", ; + FontBold = .T., ; + Left = 356, ; + Name = "_label5", ; + Top = 92, ; + ZOrderSet = 15 + *< END OBJECT: ClassLib="_baza.vcx" BaseClass="label" /> + + ADD OBJECT '_label6' AS _label WITH ; + Anchor = 2, ; + Caption = "%", ; + FontBold = .T., ; + Left = 499, ; + Name = "_label6", ; + Top = 65, ; + ZOrderSet = 18 + *< END OBJECT: ClassLib="_baza.vcx" BaseClass="label" /> + + ADD OBJECT '_label7' AS _label WITH ; + Anchor = 2, ; + Caption = "%", ; + FontBold = .T., ; + Left = 499, ; + Name = "_label7", ; + Top = 91, ; + ZOrderSet = 19 + *< END OBJECT: ClassLib="_baza.vcx" BaseClass="label" /> + + ADD OBJECT '_label8' AS _label WITH ; + Anchor = 10, ; + AutoSize = .F., ; + Caption = "2. Alegeti gestiunile, subgrupele de articole si cotele de TVA. Apasati butonul 2. Actualizeaza stoc. Se vor genera procese verbale de schimbare de pret.", ; + FontBold = .F., ; + Height = 51, ; + Left = 358, ; + Name = "_label8", ; + Top = 248, ; + Width = 362, ; + WordWrap = .T., ; + ZOrderSet = 23 + *< END OBJECT: ClassLib="_baza.vcx" BaseClass="label" /> + + ADD OBJECT '_label9' AS _label WITH ; + Anchor = 10, ; + AutoSize = .F., ; + Caption = "* Daca se aleg politici de preturi pentru procesele verbale se vor folosi preturile de vanzare din politicile de preturi (cu prioritate)", ; + DisabledForeColor = 128,128,128, ; + FontBold = .F., ; + ForeColor = 255,0,0, ; + Height = 30, ; + Left = 358, ; + Name = "_label9", ; + Top = 298, ; + Width = 363, ; + WordWrap = .T., ; + ZOrderSet = 24 + *< END OBJECT: ClassLib="_baza.vcx" BaseClass="label" /> + + ADD OBJECT '_shape3' AS _shape WITH ; + Anchor = 10, ; + BackStyle = 0, ; + Height = 107, ; + Left = 350, ; + Name = "_shape3", ; + Top = 59, ; + Width = 377, ; + ZOrderSet = 2 + *< END OBJECT: ClassLib="_baza.vcx" BaseClass="shape" /> + + ADD OBJECT '_shape4' AS _shape WITH ; + Anchor = 10, ; + BackStyle = 0, ; + Height = 66, ; + Left = 350, ; + Name = "_shape4", ; + Top = 172, ; + Width = 377, ; + ZOrderSet = 1 + *< END OBJECT: ClassLib="_baza.vcx" BaseClass="shape" /> + + ADD OBJECT '_shape5' AS _shape WITH ; + Anchor = 10, ; + BackStyle = 0, ; + Height = 129, ; + Left = 350, ; + Name = "_shape5", ; + Top = 242, ; + Width = 377, ; + ZOrderSet = 0 + *< END OBJECT: ClassLib="_baza.vcx" BaseClass="shape" /> + + ADD OBJECT 'cmdGestiuni' AS cmd_executa WITH ; + Anchor = 2, ; + AutoSize = .F., ; + Caption = "2. Actualizeaza \ + + ADD OBJECT 'cmdPolitici' AS cmd_executa WITH ; + Anchor = 2, ; + AutoSize = .F., ; + Caption = "1. Actualizeaza politici \ + + ADD OBJECT 'cmdSelect1' AS cmd_executa WITH ; + AutoSize = .F., ; + Caption = "X", ; + FontBold = .F., ; + FontSize = 7, ; + ForeColor = 0,0,255, ; + Height = 19, ; + Left = 27, ; + Name = "cmdSelect1", ; + Tag = "crsPolitici", ; + ToolTipText = "Selecteaza/deselecteaza toate inregistrarile", ; + Top = 39, ; + Width = 24, ; + ZOrderSet = 30 + *< END OBJECT: ClassLib="cmd_butoane.vcx" BaseClass="commandbutton" /> + + ADD OBJECT 'cmdSelect2' AS cmd_executa WITH ; + AutoSize = .F., ; + Caption = "X", ; + FontBold = .F., ; + FontSize = 7, ; + ForeColor = 0,0,255, ; + Height = 19, ; + Left = 26, ; + Name = "cmdSelect2", ; + Tag = "crsSubgrupe", ; + ToolTipText = "Selecteaza/deselecteaza toate inregistrarile", ; + Top = 386, ; + Width = 24, ; + ZOrderSet = 31 + *< END OBJECT: ClassLib="cmd_butoane.vcx" BaseClass="commandbutton" /> + + ADD OBJECT 'cmdSelect3' AS cmd_executa WITH ; + Anchor = 8, ; + AutoSize = .F., ; + Caption = "X", ; + FontBold = .F., ; + FontSize = 7, ; + ForeColor = 0,0,255, ; + Height = 19, ; + Left = 375, ; + Name = "cmdSelect3", ; + Tag = "crsGestiuni", ; + ToolTipText = "Selecteaza/deselecteaza toate inregistrarile", ; + Top = 386, ; + Width = 24, ; + ZOrderSet = 32 + *< END OBJECT: ClassLib="cmd_butoane.vcx" BaseClass="commandbutton" /> + + ADD OBJECT 'grdGestiuni' AS _grdbase WITH ; + Anchor = 5, ; + ColumnCount = 2, ; + DeleteMark = .F., ; + Height = 184, ; + Left = 360, ; + Name = "grdGestiuni", ; + Panel = 1, ; + RecordSource = "crsGestiuni", ; + RowHeight = 19, ; + Top = 408, ; + Width = 281, ; + ZOrderSet = 9, ; + Column1.ControlSource = "ales", ; + Column1.CurrentControl = "Check1", ; + Column1.FontSize = 10, ; + Column1.Name = "cAles", ; + Column1.Sparse = .F., ; + Column1.Width = 39, ; + Column2.ControlSource = "gestiune", ; + Column2.FontSize = 10, ; + Column2.Name = "cGestiune", ; + Column2.ReadOnly = .T., ; + Column2.Width = 207 + *< END OBJECT: ClassLib="_grd_base.vcx" BaseClass="grid" /> + + ADD OBJECT 'grdGestiuni.cAles.Check1' AS checkbox WITH ; + Alignment = 2, ; + Caption = "", ; + FontSize = 10, ; + Height = 17, ; + Left = 25, ; + Name = "Check1", ; + Top = 53, ; + Width = 60 + *< END OBJECT: BaseClass="checkbox" /> + + ADD OBJECT 'grdGestiuni.cAles.Header1' AS header WITH ; + Alignment = 2, ; + Caption = "Ales", ; + FontSize = 10, ; + Name = "Header1" + *< END OBJECT: BaseClass="header" /> + + ADD OBJECT 'grdGestiuni.cAles.Text1' AS textbox WITH ; + BackColor = 255,255,255, ; + BorderStyle = 0, ; + ForeColor = 0,0,0, ; + Margin = 0, ; + Name = "Text1", ; + SelectedBackColor = 100,185,255 + *< END OBJECT: BaseClass="textbox" /> + + ADD OBJECT 'grdGestiuni.cGestiune.Header1' AS header WITH ; + Alignment = 2, ; + Caption = "Gestiune", ; + FontSize = 10, ; + Name = "Header1" + *< END OBJECT: BaseClass="header" /> + + ADD OBJECT 'grdGestiuni.cGestiune.Text1' AS textbox WITH ; + BackColor = 255,255,255, ; + BorderStyle = 0, ; + FontSize = 10, ; + ForeColor = 0,0,0, ; + Margin = 0, ; + Name = "Text1", ; + ReadOnly = .T., ; + SelectedBackColor = 100,185,255 + *< END OBJECT: BaseClass="textbox" /> + + ADD OBJECT 'grdPolitici' AS _grdbase WITH ; + Anchor = 2, ; + ColumnCount = 3, ; + DeleteMark = .F., ; + HeaderHeight = 36, ; + Height = 312, ; + Left = 12, ; + Name = "grdPolitici", ; + Panel = 1, ; + RecordSource = "crsPolitici", ; + RowHeight = 19, ; + Top = 60, ; + Width = 334, ; + ZOrderSet = 8, ; + Column1.ColumnOrder = 2, ; + Column1.ControlSource = "politica", ; + Column1.FontSize = 10, ; + Column1.Name = "cPolitica", ; + Column1.ReadOnly = .T., ; + Column1.Width = 207, ; + Column2.ColumnOrder = 3, ; + Column2.ControlSource = "preturi_cu_tva", ; + Column2.CurrentControl = "Check1", ; + Column2.FontSize = 10, ; + Column2.Name = "cPretcuTVA", ; + Column2.ReadOnly = .T., ; + Column2.Sparse = .F., ; + Column2.Width = 59, ; + Column3.ColumnOrder = 1, ; + Column3.ControlSource = "ales", ; + Column3.CurrentControl = "Check1", ; + Column3.FontSize = 10, ; + Column3.Name = "cAles", ; + Column3.Sparse = .F., ; + Column3.Width = 34 + *< END OBJECT: ClassLib="_grd_base.vcx" BaseClass="grid" /> + + ADD OBJECT 'grdPolitici.cAles.Check1' AS checkbox WITH ; + Alignment = 2, ; + Caption = "", ; + FontSize = 10, ; + Height = 17, ; + Left = 13, ; + Name = "Check1", ; + Top = 47, ; + Width = 60 + *< END OBJECT: BaseClass="checkbox" /> + + ADD OBJECT 'grdPolitici.cAles.Header1' AS header WITH ; + Alignment = 2, ; + Caption = "Ales", ; + FontSize = 10, ; + Name = "Header1" + *< END OBJECT: BaseClass="header" /> + + ADD OBJECT 'grdPolitici.cAles.Text1' AS textbox WITH ; + BackColor = 255,255,255, ; + BorderStyle = 0, ; + ForeColor = 0,0,0, ; + Margin = 0, ; + Name = "Text1", ; + SelectedBackColor = 100,185,255 + *< END OBJECT: BaseClass="textbox" /> + + ADD OBJECT 'grdPolitici.cPolitica.Header1' AS header WITH ; + Alignment = 2, ; + Caption = "Politica", ; + FontSize = 10, ; + Name = "Header1" + *< END OBJECT: BaseClass="header" /> + + ADD OBJECT 'grdPolitici.cPolitica.Text1' AS textbox WITH ; + BackColor = 255,255,255, ; + BorderStyle = 0, ; + FontSize = 10, ; + ForeColor = 0,0,0, ; + Margin = 0, ; + Name = "Text1", ; + ReadOnly = .T., ; + SelectedBackColor = 100,185,255 + *< END OBJECT: BaseClass="textbox" /> + + ADD OBJECT 'grdPolitici.cPretcuTVA.Check1' AS checkbox WITH ; + Alignment = 0, ; + Caption = "", ; + FontSize = 10, ; + Height = 17, ; + Left = 70, ; + Name = "Check1", ; + Top = 95, ; + Width = 60 + *< END OBJECT: BaseClass="checkbox" /> + + ADD OBJECT 'grdPolitici.cPretcuTVA.Header1' AS header WITH ; + Alignment = 2, ; + Caption = "Preturi cu TVA", ; + FontSize = 10, ; + Name = "Header1", ; + WordWrap = .T. + *< END OBJECT: BaseClass="header" /> + + ADD OBJECT 'grdPolitici.cPretcuTVA.Text1' AS textbox WITH ; + BackColor = 255,255,255, ; + BorderStyle = 0, ; + ForeColor = 0,0,0, ; + Margin = 0, ; + Name = "Text1", ; + ReadOnly = .T., ; + SelectedBackColor = 100,185,255 + *< END OBJECT: BaseClass="textbox" /> + + ADD OBJECT 'grdSubgrupe' AS _grdbase WITH ; + Anchor = 7, ; + ColumnCount = 3, ; + DeleteMark = .F., ; + Height = 182, ; + Left = 12, ; + Name = "grdSubgrupe", ; + Panel = 1, ; + RecordSource = "crsSubgrupe", ; + RowHeight = 19, ; + Top = 408, ; + Width = 334, ; + ZOrderSet = 12, ; + Column1.ColumnOrder = 3, ; + Column1.ControlSource = "subgrupa", ; + Column1.FontSize = 10, ; + Column1.Name = "cSubgrupa", ; + Column1.ReadOnly = .T., ; + Column1.Width = 190, ; + Column2.ColumnOrder = 2, ; + Column2.ControlSource = "grupa", ; + Column2.CurrentControl = "Text1", ; + Column2.FontSize = 10, ; + Column2.Name = "cGrupa", ; + Column2.ReadOnly = .T., ; + Column2.Width = 72, ; + Column3.ColumnOrder = 1, ; + Column3.ControlSource = "ales", ; + Column3.CurrentControl = "Check1", ; + Column3.FontSize = 10, ; + Column3.Name = "cAles", ; + Column3.ReadOnly = .F., ; + Column3.Sparse = .F., ; + Column3.Width = 34 + *< END OBJECT: ClassLib="_grd_base.vcx" BaseClass="grid" /> + + ADD OBJECT 'grdSubgrupe.cAles.Check1' AS checkbox WITH ; + Alignment = 2, ; + Caption = "", ; + FontSize = 10, ; + Height = 17, ; + Left = 13, ; + Name = "Check1", ; + ReadOnly = .F., ; + Top = 47, ; + Width = 60 + *< END OBJECT: BaseClass="checkbox" /> + + ADD OBJECT 'grdSubgrupe.cAles.Header1' AS header WITH ; + Alignment = 2, ; + Caption = "Ales", ; + FontSize = 10, ; + Name = "Header1" + *< END OBJECT: BaseClass="header" /> + + ADD OBJECT 'grdSubgrupe.cAles.Text1' AS textbox WITH ; + BackColor = 255,255,255, ; + BorderStyle = 0, ; + ForeColor = 0,0,0, ; + Margin = 0, ; + Name = "Text1", ; + SelectedBackColor = 100,185,255 + *< END OBJECT: BaseClass="textbox" /> + + ADD OBJECT 'grdSubgrupe.cGrupa.Header1' AS header WITH ; + Alignment = 2, ; + Caption = "Grupa", ; + FontSize = 10, ; + Name = "Header1", ; + WordWrap = .F. + *< END OBJECT: BaseClass="header" /> + + ADD OBJECT 'grdSubgrupe.cGrupa.Text1' AS textbox WITH ; + BackColor = 255,255,255, ; + BorderStyle = 0, ; + FontSize = 10, ; + ForeColor = 0,0,0, ; + Margin = 0, ; + Name = "Text1", ; + ReadOnly = .T., ; + SelectedBackColor = 100,185,255 + *< END OBJECT: BaseClass="textbox" /> + + ADD OBJECT 'grdSubgrupe.cSubgrupa.Header1' AS header WITH ; + Alignment = 2, ; + Caption = "Subgrupa", ; + FontSize = 10, ; + Name = "Header1" + *< END OBJECT: BaseClass="header" /> + + ADD OBJECT 'grdSubgrupe.cSubgrupa.Text1' AS textbox WITH ; + BackColor = 255,255,255, ; + BorderStyle = 0, ; + FontSize = 10, ; + ForeColor = 0,0,0, ; + Margin = 0, ; + Name = "Text1", ; + ReadOnly = .T., ; + SelectedBackColor = 100,185,255 + *< END OBJECT: BaseClass="textbox" /> + + ADD OBJECT 'lblInfo' AS _label WITH ; + Anchor = 10, ; + AutoSize = .F., ; + Caption = "1. (Optional) Alegeti politicile de preturi, subgrupele de articole si cotele de TVA. Apasati butonul 1. Actualizeaza politici preturi", ; + DisabledForeColor = 128,128,128, ; + FontBold = .F., ; + Height = 30, ; + Left = 356, ; + Name = "lblInfo", ; + Top = 175, ; + Width = 361, ; + WordWrap = .T., ; + ZOrderSet = 22 + *< END OBJECT: ClassLib="_baza.vcx" BaseClass="label" /> + + ADD OBJECT 'optPret' AS _optiongrup WITH ; + Anchor = 2, ; + AutoSize = .T., ; + Left = 516, ; + Name = "optPret", ; + Top = 60, ; + ZOrderSet = 27, ; + Option1.AutoSize = .T., ; + Option1.Caption = "Se pastreaza PRETUL FARA TVA", ; + Option1.FontBold = .T., ; + Option1.Left = 5, ; + Option1.Name = "Option1", ; + Option1.Top = 5, ; + Option2.AutoSize = .T., ; + Option2.Caption = "Se pastreaza PRETUL CU TVA", ; + Option2.FontBold = .T., ; + Option2.Left = 5, ; + Option2.Name = "Option2", ; + Option2.Top = 24 + *< END OBJECT: ClassLib="_baza.vcx" BaseClass="optiongroup" /> + + ADD OBJECT 'txtCotaTVANoua' AS _textbox WITH ; + Alignment = 3, ; + Anchor = 2, ; + Height = 23, ; + Left = 450, ; + Name = "txtCotaTVANoua", ; + Top = 89, ; + Value = 9, ; + Width = 48, ; + ZOrderSet = 17 + *< END OBJECT: ClassLib="_baza.vcx" BaseClass="textbox" /> + + ADD OBJECT 'txtCotaTVAVeche' AS _textbox WITH ; + Alignment = 3, ; + Anchor = 2, ; + Height = 23, ; + Left = 450, ; + Name = "txtCotaTVAVeche", ; + Top = 63, ; + Value = 24, ; + Width = 48, ; + ZOrderSet = 16 + *< END OBJECT: ClassLib="_baza.vcx" BaseClass="textbox" /> + + ADD OBJECT 'txtDataActualizare' AS _textbox WITH ; + Anchor = 2, ; + Height = 23, ; + Left = 559, ; + Name = "txtDataActualizare", ; + Top = 114, ; + Width = 73, ; + ZOrderSet = 26 + *< END OBJECT: ClassLib="_baza.vcx" BaseClass="textbox" /> + + ADD OBJECT 'txtZecimale' AS _textbox WITH ; + Alignment = 3, ; + Anchor = 2, ; + Height = 23, ; + Left = 559, ; + Name = "txtZecimale", ; + ToolTipText = "Numar zecimale rotunjire Pret cu TVA (implicit 2)", ; + Top = 139, ; + Value = 2, ; + Width = 24, ; + ZOrderSet = 29 + *< END OBJECT: ClassLib="_baza.vcx" BaseClass="textbox" /> + + PROCEDURE creeazalisteales + lcLista = '' + SELECT id_pol FROM crsPolitici WITH (buffering = .T.) WHERE ales = 1 INTO CURSOR crsListaAles + SELECT crsListaAles + scan + lcLista = lcLista + '|' + ALLTRIM(STR(id_pol)) + ENDSCAN + USE IN (SELECT('crsListaAles')) + IF !EMPTY(lcLista) + lcLista = SUBSTR(m.lcLista, 2) + ENDIF + thisform.cListaPoliticiPreturi = m.lcLista + + lcLista = '' + SELECT id_gestiune FROM crsGestiuni WITH (buffering = .T.) WHERE ales = 1 INTO CURSOR crsListaAles + SELECT crsListaAles + scan + lcLista = lcLista + '|' + ALLTRIM(STR(id_gestiune)) + ENDSCAN + USE IN (SELECT('crsListaAles')) + IF !EMPTY(lcLista) + lcLista = SUBSTR(m.lcLista, 2) + ENDIF + thisform.cListaGestiuni = m.lcLista + + + lcLista = '' + SELECT id_subgrupa FROM crsSubgrupe WITH (buffering = .T.) WHERE ales = 1 INTO CURSOR crsListaAles + SELECT crsListaAles + scan + lcLista = lcLista + '|' + ALLTRIM(STR(id_subgrupa)) + ENDSCAN + USE IN (SELECT('crsListaAles')) + IF !EMPTY(lcLista) + lcLista = SUBSTR(m.lcLista, 2) + ENDIF + thisform.cListaSubgrupe = m.lcLista + ENDPROC + + PROCEDURE Destroy + USE IN (SELECT('crsPolitici')) + USE IN (SELECT('crsSubgrupe')) + USE IN (SELECT('crsGestiuni')) + ENDPROC + + PROCEDURE inainte_de_actualizare_gestiuni + #define CRLF CHR(13) + CHR(10) + Local lcMesaj, lnPolitici, lnSubgrupe, lnGestiuni + lcMesaj = '' + llReturn = .T. + + lnProcTVAVechi = thisform.txtCotaTVAVeche.Value + lnProcTVANou = thisform.txtCotaTVANoua.Value + lnZecimaleRotunjire = thisform.txtZecimale.value + ldDataActualizare = thisform.txtDataActualizare + + Calculate Cnt(id_pol) For ales = 1 To lnPolitici In crsPolitici + Calculate Cnt(id_subgrupa) For ales = 1 To lnSubgrupe In crsSubgrupe + Calculate Cnt(id_gestiune) For ales = 1 To lnGestiuni In crsGestiuni + Do Case + Case lnGestiuni = 0 + llReturn = (AMESSAGEBOX('Nu ati ales nici o gestiune! Doriti sa modificati preturile pentru toate gestiunile de marfa la pret de vanzare?',4+32, _screen.Caption) = 6) + Case lnSubgrupe = 0 + llReturn = (AMESSAGEBOX('Nu ati ales nici o subgrupa de articole! Doriti sa modificati preturile pentru toate subgrupele de articole?',4+32, _screen.Caption) = 6) + CASE !BETWEEN(m.lnProcTVAVechi, 0, 50) + AMESSAGEBOX('Cota TVA veche nu este intre 0-50%!',0+48, _screen.Caption) + llReturn = .F. + CASE !BETWEEN(m.lnProcTVANou, 0, 50) + AMESSAGEBOX('Cota TVA noua nu este intre 0-50%!',0+48, _screen.Caption) + llReturn = .F. + CASE m.lnProcTVAVechi = m.lnProcTVANou + AMESSAGEBOX('Cotele TVA nu trebuie sa fie egale!',0+48, _screen.Caption) + llReturn = .F. + CASE !BETWEEN(m.lnZecimaleRotunjire, 1, 2) + AMESSAGEBOX('Numarul de zecimale rotunjire pret de vanzare nu este intre 1 si 2',0+48, _screen.Caption) + llReturn = .F. + Endcase + IF m.llReturn + lcMesaj = 'Doriti sa actualizati stocul pentru ' + ; + IIF(lnGestiuni = 0, 'toate gestiunile de marfa la pret de vanzare, ', 'gestiunile alese, ') + CRLF + ; + IIF(lnSubgrupe = 0, 'toate subgrupele de articole, ', 'subgrupele de articole alese, ') + CRLF + ; + IIF(lnPolitici = 0, 'cu preturile din politicile alese, ', '') + CRLF + ; + 'de la cota TVA ' + TRANSFORM(lnProcTVAVechi) + '% la ' + TRANSFORM(lnProcTVANou) + '%?' + llReturn = (AMESSAGEBOX(m.lcMesaj, 4+32, _Screen.Caption) = 6) + ENDIF + Return m.llReturn + + ENDPROC + + PROCEDURE inainte_de_actualizare_politici + #define CRLF CHR(13) + CHR(10) + Local lcMesaj, lnPolitici, lnSubgrupe + lcMesaj = '' + llReturn = .T. + + lnProcTVAVechi = thisform.txtCotaTVAVeche.Value + lnProcTVANou = thisform.txtCotaTVANoua.Value + lnZecimaleRotunjire = thisform.txtZecimale.value + ldDataActualizare = thisform.txtDataActualizare + + Calculate Cnt(id_pol) For ales = 1 To lnPolitici In crsPolitici + Calculate Cnt(id_subgrupa) For ales = 1 To lnSubgrupe In crsSubgrupe + Do Case + Case lnPolitici = 0 + AMESSAGEBOX('Alegeti politicile de preturi pentru actualizare!', 0+48, _screen.Caption) + llReturn = .F. + Case lnSubgrupe = 0 + llReturn = (AMESSAGEBOX('Nu ati ales subgrupele de articole. Doriti sa modificati preturile pentru toate subgrupele de articole?',4+32, _screen.Caption) = 6) + CASE !BETWEEN(m.lnProcTVAVechi, 0, 50) + AMESSAGEBOX('Cota TVA veche nu este intre 0-50%!',0+48, _screen.Caption) + llReturn = .F. + CASE !BETWEEN(m.lnProcTVANou, 0, 50) + AMESSAGEBOX('Cota TVA noua nu este intre 0-50%!',0+48, _screen.Caption) + llReturn = .F. + CASE m.lnProcTVAVechi = m.lnProcTVANou + AMESSAGEBOX('Cotele TVA nu trebuie sa fie egale!',0+48, _screen.Caption) + llReturn = .F. + CASE !BETWEEN(m.lnZecimaleRotunjire, 0, 2) + AMESSAGEBOX('Numarul de zecimale rotunjire pret de vanzare nu este intre 1 si 2',0+48, _screen.Caption) + llReturn = .F. + Endcase + IF m.llReturn + lcMesaj = 'Doriti sa actualizati preturile din politicile de preturi alese, pentru ' + ; + IIF(lnSubgrupe = 0, 'toate subgrupele de articole, ', 'subgrupele de articole alese, ') + CRLF + ; + 'de la cota TVA ' + TRANSFORM(lnProcTVAVechi) + '% la ' + TRANSFORM(lnProcTVANou) + '%?' + llReturn = (AMESSAGEBOX(m.lcMesaj, 4+32, _Screen.Caption) = 6) + ENDIF + Return m.llReturn + + ENDPROC + + PROCEDURE Init + DODEFAULT() + + DO CASE + CASE m.gnAn = 2025 + thisform.txtCotaTVAVeche.Value = 19 + thisform.txtCotaTVANoua.Value = 21 + thisform.txtDataActualizare.Value = DATE(2025,8,1) + thisform.txtzecimale.Value = 2 + + CASE m.gnAn = 2015 + thisform.txtCotaTVAVeche.Value = 24 + thisform.txtCotaTVANoua.Value = 9 + thisform.txtDataActualizare.Value = DATE(2015,6,1) + thisform.txtzecimale.Value = 2 + + CASE m.gnAn = 2010 + thisform.txtCotaTVAVeche.Value = 19 + thisform.txtCotaTVANoua.Value = 24 + thisform.txtDataActualizare.Value = DATE(2010,7,1) + thisform.txtzecimale.Value = 2 + + OTHERWISE + thisform.txtCotaTVAVeche.Value = 24 + thisform.txtCotaTVANoua.Value = 24 + thisform.txtDataActualizare.Value = DATE() + 1 + thisform.txtzecimale.Value = 2 + ENDCASE + ENDPROC + + PROCEDURE Load + TEXT TO lcSql TEXTMERGE NOSHOW + select 0 as ales, + p.sucursala, + id_pol, + nume_lista_preturi as politica, + datai, + datas, + preturi_cu_tva + from vcrm_politici_preturi p + left join vnom_valute v + on p.id_valuta = v.id_valuta + where p.inactiv = 0 + and to_date('<<[01] + PADL(gnLuna,2,[0]) + ALLTRIM(STR(gnAn))>>','ddmmyyyy') between datai and datas + <> + order by sucursala, nume_lista_preturi + endtext + llSucces = goExecutor.oExecuta(m.lcSql, 'crsPolitici') + + TEXT TO lcSql TEXTMERGE NOSHOW + select 0 as ales, sucursala, id_gestiune, nume_gestiune as gestiune, cgest + from vnom_gestiuni + where inactiv = 0 + and nr_pag in (6, 7) + <> + order by sucursala, nume_gestiune + endtext + llSucces = goExecutor.oExecuta(m.lcSql, 'crsGestiuni') + + TEXT TO lcSql NOSHOW + select 0 as ales, id_subgrupa, subgrupa, indicativ, grupa + from vgest_art_sbgr + order by grupa, subgrupa + endtext + llSucces = goExecutor.oExecuta(m.lcSql, 'crsSubgrupe') + ENDPROC + + PROCEDURE selecteazatot + LPARAMETERS toCmdSelecteaza + lcCaption = toCmdSelecteaza.Caption + lcCursor = toCmdSelecteaza.Tag + IF m.lcCaption = 'X' + UPDATE (lcCursor) SET ales = 1 + toCmdSelecteaza.Caption = '-' + ELSE + UPDATE (lcCursor) SET ales = 0 + toCmdSelecteaza.Caption = 'X' + ENDIF + ENDPROC + + PROCEDURE Show + LPARAMETERS nStyle + + DODEFAULT(nStyle) + LOCAL lnHeight, lnWidth + + lnHeight = _screen.Height + lnWidth = _screen.Width + + This.Height = INT(m.lnHeight *0.8) + *This.Width = INT(m.lnWidth * 0.8) + + This.AutoCenter = .T. + ENDPROC + + PROCEDURE cmdGestiuni.Click + Local lcSql, llSucces + PRIVATE pcListaPoliticiPreturi, pcListaSubgrupeArticol, pdDataActualizare, pnPretCuTVAIdentic + PRIVATE pnProcTVANou, pnProcTVAVechi, pnZecimaleRotunjire + SET STEP ON + llSucces = Thisform.inainte_de_actualizare_gestiuni() + IF !m.llSucces + RETURN + ENDIF + + Thisform.CreeazaListeAles() + pcListaGestiuni = thisform.cListaGestiuni + pcListaPoliticiPreturi = thisform.cListaPoliticiPreturi + pcListaSubgrupeArticol = thisform.cListaSubgrupe + pnPretCuTVAIdentic = IIF(thisform.optPret.Value = 2, 1, 0) + pnProcTVAVechi = 1 + thisform.txtCotaTVAVeche.Value/100 + pnProcTVANou = 1 + thisform.txtCotaTVANoua.Value/100 + pnZecimaleRotunjire = thisform.txtZecimale.value + + TEXT TO lcSql NOSHOW + begin + pack_gestiuni.actualizare_stoc_tva(?pcListaGestiuni, + ?pcListaSubgrupeArticol, + ?pcListaPoliticiPreturi, + ?pnPretCuTVAIdentic, + ?pnProcTVAVechi, + ?pnProcTVANou, + ?pnZecimaleRotunjire, + ?gnAn, + ?gnLuna); + end; + ENDTEXT + llSucces = goExecutor.oExecuta(m.lcSql) + + ENDPROC + + PROCEDURE cmdPolitici.Click + Local lcSql, llSucces + PRIVATE pcListaPoliticiPreturi, pcListaSubgrupeArticol, pdDataActualizare, pnPretCuTVAIdentic + PRIVATE pnProcTVANou, pnProcTVAVechi, pnZecimaleRotunjire + SET STEP ON + llSucces = Thisform.inainte_de_actualizare_politici() + IF !m.llSucces + RETURN + ENDIF + + Thisform.CreeazaListeAles() + pcListaPoliticiPreturi = thisform.cListaPoliticiPreturi + pcListaSubgrupeArticol = thisform.cListaSubgrupe + pnPretCuTVAIdentic = IIF(thisform.optPret.Value = 2, 1, 0) + pnProcTVAVechi = 1 + thisform.txtCotaTVAVeche.Value/100 + pnProcTVANou = 1 + thisform.txtCotaTVANoua.Value/100 + pnZecimaleRotunjire = thisform.txtZecimale.value + pdDataActualizare = thisform.txtDataActualizare.Value + + TEXT TO lcSql NOSHOW + begin + pack_preturi.actualizare_pol_tva(?pcListaPoliticiPreturi, + ?pcListaSubgrupeArticol, + ?pnPretCuTVAIdentic, + ?pnProcTVAVechi, + ?pnProcTVANou, + ?pnZecimaleRotunjire, + ?pdDataActualizare); + + end; + ENDTEXT + + + llSucces = goExecutor.oExecuta(m.lcSql) + + ENDPROC + + PROCEDURE cmdSelect1.Click + thisform.SelecteazaTot(this) + + + ENDPROC + + PROCEDURE cmdSelect2.Click + thisform.SelecteazaTot(this) + ENDPROC + + PROCEDURE cmdSelect3.Click + thisform.SelecteazaTot(this) + ENDPROC + + PROCEDURE optPret.Valid + This.Parent.txtZecimale.Enabled = (this.Value = 1) + This.Parent.txtZecimale.Refresh() + ENDPROC + +ENDDEFINE + +DEFINE CLASS schimbpret_stoc_gest AS _frmbase OF "_frm_base.vcx" + *< CLASSDATA: Baseclass="form" Timestamp="" Scale="Pixels" Uniqueid="" /> + + *-- OBJECTDATA items order determines ZOrder / El orden de los items OBJECTDATA determina el ZOrder + *< OBJECTDATA: ObjPath="grd_schimbarepretcant" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="grd_schimbarepretcant.cNrcrt.Header1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="grd_schimbarepretcant.cNrcrt.Text1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="grd_schimbarepretcant.cDenumire.Header1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="grd_schimbarepretcant.cDenumire.Text1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="grd_schimbarepretcant.cCodmat.Header1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="grd_schimbarepretcant.cCodmat.Text1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="grd_schimbarepretcant.cStoc.Header1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="grd_schimbarepretcant.cStoc.Text1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="grd_schimbarepretcant.cPretvtva.Header1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="grd_schimbarepretcant.cPretvtva.Text1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="grd_schimbarepretcant.cPretvtvanou.Header1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="grd_schimbarepretcant.cPretvtvanou.Text1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="grd_schimbarepretcant.cProc_tvav.Header1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="grd_schimbarepretcant.cProc_tvav.Text1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="grd_schimbarepretcant.cSerie.Header1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="grd_schimbarepretcant.cSerie.Text1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="grd_schimbarepretcant.cPret.Header1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="grd_schimbarepretcant.cPret.Text1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="grd_schimbarepretcant.cStoc_original.Header1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="grd_schimbarepretcant.cStoc_original.Text1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="grd_schimbarepretcant.cNume_gestiune.Header1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="grd_schimbarepretcant.cNume_gestiune.Text1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="But_precedent1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="BUT_RENUNT1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="Lb_nume_gestiune" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="txtNumeGestiune" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="ct_gestiune" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="ck_pret" UniqueID="" Timestamp="" /> + + * + *m: do_ascunde + *m: do_creeaza_filtru + *p: nstoc_original + *p: ntip && 1 - normal; 2 - cu * ( stocul gestiunilor nu este actualizat ) + *p: obackupxml + * + + * + cgridsortlist = grd_schimbarepretcant + DoCreate = .T. + Height = 576 + Name = "schimbpret_stoc_gest" + nstoc_original = 0 + ntip = 1 + obackupxml = .NULL. + Width = 780 + WindowState = 2 + _memberdata = + + + _SHAPE1.Anchor = 11 + _SHAPE1.Height = 29 + _SHAPE1.Left = 0 + _SHAPE1.Name = "_SHAPE1" + _SHAPE1.Top = 0 + _SHAPE1.Width = 780 + _SHAPE1.ZOrderSet = 0 + _SHAPE2.Anchor = 9 + _SHAPE2.Height = 29 + _SHAPE2.Left = 688 + _SHAPE2.Name = "_SHAPE2" + _SHAPE2.Top = 0 + _SHAPE2.Width = 97 + _SHAPE2.ZOrderSet = 1 + LB_TITLU_ALB_B121.Caption = "SCHIMBARE DE PRETURI DE VANZARE - CANTITATI IN GESTIUNE" + LB_TITLU_ALB_B121.FontSize = 11 + LB_TITLU_ALB_B121.Left = 6 + LB_TITLU_ALB_B121.Name = "LB_TITLU_ALB_B121" + LB_TITLU_ALB_B121.TabIndex = 6 + LB_TITLU_ALB_B121.Top = 6 + LB_TITLU_ALB_B121.ZOrderSet = 2 + BUT_TERMIN1.Anchor = 9 + BUT_TERMIN1.Left = 750 + BUT_TERMIN1.Name = "BUT_TERMIN1" + BUT_TERMIN1.TabIndex = 3 + BUT_TERMIN1.Top = 1 + BUT_TERMIN1.ZOrderSet = 7 + GRIDSORT1.Left = 420 + GRIDSORT1.Name = "GRIDSORT1" + GRIDSORT1.Top = 12 + * + + ADD OBJECT 'But_precedent1' AS but_precedent WITH ; + Anchor = 9, ; + Left = 689, ; + Name = "But_precedent1", ; + TabIndex = 5, ; + Top = 1, ; + ZOrderSet = 5 + *< END OBJECT: ClassLib="cmd_butoane.vcx" BaseClass="commandbutton" /> + + ADD OBJECT 'BUT_RENUNT1' AS but_renunt WITH ; + Anchor = 9, ; + Left = 719, ; + Name = "BUT_RENUNT1", ; + TabIndex = 4, ; + Top = 1, ; + ZOrderSet = 6 + *< END OBJECT: ClassLib="cmd_butoane.vcx" BaseClass="commandbutton" /> + + ADD OBJECT 'ck_pret' AS _checkbox WITH ; + Alignment = 0, ; + AutoSize = .F., ; + Caption = "Ascunde gestiunile pentru care pretul de vanz. cu TVA prec. este egal cu pretul de vanz. cu TVA actual.", ; + FontName = "Arial Narrow", ; + Height = 40, ; + Left = 334, ; + Name = "ck_pret", ; + TabIndex = 9, ; + Top = 28, ; + Visible = .F., ; + Width = 247, ; + WordWrap = .T. + *< END OBJECT: ClassLib="_baza.vcx" BaseClass="checkbox" /> + + ADD OBJECT 'ct_gestiune' AS criteriu_text WITH ; + FontName = "Arial Narrow", ; + Height = 24, ; + Left = 74, ; + Name = "ct_gestiune", ; + TabIndex = 7, ; + Top = 37, ; + Value = 1, ; + Width = 84 + *< END OBJECT: ClassLib="caut_ora.vcx" BaseClass="combobox" /> + + ADD OBJECT 'grd_schimbarepretcant' AS _grdrow WITH ; + Anchor = 15, ; + ColumnCount = 11, ; + DeleteMark = .F., ; + FontName = "Arial Narrow", ; + HeaderHeight = 47, ; + Height = 492, ; + HighlightStyle = 2, ; + Left = 9, ; + Name = "grd_schimbarepretcant", ; + Panel = 1, ; + ReadOnly = .T., ; + RecordSource = "schimbpretstoc", ; + TabIndex = 2, ; + Top = 72, ; + Width = 760, ; + ZOrderSet = 4, ; + Column1.BackColor = 255,255,255, ; + Column1.ControlSource = "nrcrt", ; + Column1.FontName = "Arial Narrow", ; + Column1.Format = "rk", ; + Column1.InputMask = "9999999999", ; + Column1.Name = "cNrcrt", ; + Column1.ReadOnly = .T., ; + Column1.Width = 29, ; + Column2.BackColor = 255,255,255, ; + Column2.ControlSource = "denumire", ; + Column2.FontName = "Arial Narrow", ; + Column2.Name = "cDenumire", ; + Column2.ReadOnly = .T., ; + Column2.Width = 180, ; + Column3.BackColor = 255,255,255, ; + Column3.ColumnOrder = 3, ; + Column3.ControlSource = "codmat", ; + Column3.FontName = "Arial Narrow", ; + Column3.Name = "cCodmat", ; + Column3.ReadOnly = .T., ; + Column3.Width = 63, ; + Column4.BackColor = 255,255,236, ; + Column4.ColumnOrder = 7, ; + Column4.ControlSource = "stoc", ; + Column4.FontName = "Arial Narrow", ; + Column4.Format = "rk", ; + Column4.InputMask = (get_mask(12,gnpCant)), ; + Column4.Name = "cStoc", ; + Column4.ReadOnly = .F., ; + Column4.Width = 81, ; + Column5.ColumnOrder = 8, ; + Column5.ControlSource = "pretvtva", ; + Column5.FontName = "Arial Narrow", ; + Column5.Format = "rk", ; + Column5.InputMask = (get_mask(12,gnPPretV)), ; + Column5.Name = "cPretvtva", ; + Column5.ReadOnly = .T., ; + Column5.Width = 64, ; + Column6.ColumnOrder = 9, ; + Column6.ControlSource = "pretvtvanou", ; + Column6.FontName = "Arial Narrow", ; + Column6.Format = "rk", ; + Column6.InputMask = (get_mask(12,gnPPretV)), ; + Column6.Name = "cPretvtvanou", ; + Column6.ReadOnly = .T., ; + Column6.Width = 72, ; + Column7.Bound = .T., ; + Column7.ColumnOrder = 10, ; + Column7.ControlSource = "proc_tva", ; + Column7.FontName = "Arial Narrow", ; + Column7.InputMask = "99.99", ; + Column7.Name = "cProc_tvav", ; + Column7.ReadOnly = .T., ; + Column7.Width = 45, ; + Column8.ColumnOrder = 4, ; + Column8.ControlSource = "serie", ; + Column8.FontName = "Arial Narrow", ; + Column8.Name = "cSerie", ; + Column8.ReadOnly = .T., ; + Column8.Width = 84, ; + Column9.ColumnOrder = 11, ; + Column9.ControlSource = "pret", ; + Column9.FontName = "Arial Narrow", ; + Column9.Format = "rk", ; + Column9.InputMask = (get_mask(12,gnPPret)), ; + Column9.Name = "cPret", ; + Column9.ReadOnly = .T., ; + Column9.Width = 58, ; + Column10.ColumnOrder = 6, ; + Column10.ControlSource = "stoc_original", ; + Column10.FontName = "Arial Narrow", ; + Column10.Format = "rk", ; + Column10.InputMask = (get_mask(12,gnpCant)), ; + Column10.Name = "cStoc_original", ; + Column10.ReadOnly = .T., ; + Column11.ColumnOrder = 5, ; + Column11.ControlSource = "nume_gestiune", ; + Column11.FontName = "Arial Narrow", ; + Column11.Name = "cNume_gestiune", ; + Column11.ReadOnly = .T. + *< END OBJECT: ClassLib="_grd_base.vcx" BaseClass="grid" /> + + ADD OBJECT 'grd_schimbarepretcant.cCodmat.Header1' AS header WITH ; + Alignment = 2, ; + Caption = "Cod material", ; + FontName = "Arial Narrow", ; + Name = "Header1" + *< END OBJECT: BaseClass="header" /> + + ADD OBJECT 'grd_schimbarepretcant.cCodmat.Text1' AS textbox WITH ; + BackColor = 255,255,255, ; + BorderStyle = 0, ; + FontName = "Arial Narrow", ; + ForeColor = 0,0,0, ; + Margin = 0, ; + Name = "Text1", ; + ReadOnly = .T. + *< END OBJECT: BaseClass="textbox" /> + + ADD OBJECT 'grd_schimbarepretcant.cDenumire.Header1' AS header WITH ; + Alignment = 2, ; + Caption = "Denumire", ; + FontName = "Arial Narrow", ; + Name = "Header1" + *< END OBJECT: BaseClass="header" /> + + ADD OBJECT 'grd_schimbarepretcant.cDenumire.Text1' AS textbox WITH ; + BackColor = 255,255,255, ; + BorderStyle = 0, ; + FontName = "Arial Narrow", ; + ForeColor = 0,0,0, ; + Margin = 0, ; + Name = "Text1", ; + ReadOnly = .T. + *< END OBJECT: BaseClass="textbox" /> + + ADD OBJECT 'grd_schimbarepretcant.cNrcrt.Header1' AS header WITH ; + Alignment = 2, ; + Caption = "Nr. crt.", ; + FontName = "Arial Narrow", ; + Name = "Header1", ; + WordWrap = .T. + *< END OBJECT: BaseClass="header" /> + + ADD OBJECT 'grd_schimbarepretcant.cNrcrt.Text1' AS textbox WITH ; + BackColor = 255,255,255, ; + BorderStyle = 0, ; + FontName = "Arial Narrow", ; + ForeColor = 0,0,0, ; + Margin = 0, ; + Name = "Text1", ; + ReadOnly = .T. + *< END OBJECT: BaseClass="textbox" /> + + ADD OBJECT 'grd_schimbarepretcant.cNume_gestiune.Header1' AS header WITH ; + Alignment = 2, ; + Caption = "Gestiune", ; + FontName = "Arial Narrow", ; + Name = "Header1" + *< END OBJECT: BaseClass="header" /> + + ADD OBJECT 'grd_schimbarepretcant.cNume_gestiune.Text1' AS textbox WITH ; + BackColor = 255,255,255, ; + BorderStyle = 0, ; + FontName = "Arial Narrow", ; + ForeColor = 0,0,0, ; + Margin = 0, ; + Name = "Text1" + *< END OBJECT: BaseClass="textbox" /> + + ADD OBJECT 'grd_schimbarepretcant.cPret.Header1' AS header WITH ; + Alignment = 2, ; + Caption = "Pret achizitie", ; + FontName = "Arial Narrow", ; + Name = "Header1" + *< END OBJECT: BaseClass="header" /> + + ADD OBJECT 'grd_schimbarepretcant.cPret.Text1' AS textbox WITH ; + BackColor = 255,255,255, ; + BorderStyle = 0, ; + FontName = "Arial Narrow", ; + ForeColor = 0,0,0, ; + Margin = 0, ; + Name = "Text1" + *< END OBJECT: BaseClass="textbox" /> + + ADD OBJECT 'grd_schimbarepretcant.cPretvtva.Header1' AS header WITH ; + Alignment = 2, ; + Caption = "Pret vanz. cu TVA prec.", ; + FontName = "Arial Narrow", ; + Name = "Header1", ; + WordWrap = .T. + *< END OBJECT: BaseClass="header" /> + + ADD OBJECT 'grd_schimbarepretcant.cPretvtva.Text1' AS textbox WITH ; + BackColor = 255,255,255, ; + BorderStyle = 0, ; + FontName = "Arial Narrow", ; + ForeColor = 0,0,0, ; + Margin = 0, ; + Name = "Text1", ; + ReadOnly = .T. + *< END OBJECT: BaseClass="textbox" /> + + ADD OBJECT 'grd_schimbarepretcant.cPretvtvanou.Header1' AS header WITH ; + Alignment = 2, ; + Caption = "Pret vanz. cu TVA actual", ; + FontName = "Arial Narrow", ; + Name = "Header1", ; + WordWrap = .T. + *< END OBJECT: BaseClass="header" /> + + ADD OBJECT 'grd_schimbarepretcant.cPretvtvanou.Text1' AS textbox WITH ; + BackColor = 255,255,255, ; + BorderStyle = 0, ; + FontName = "Arial Narrow", ; + ForeColor = 0,0,0, ; + Margin = 0, ; + Name = "Text1", ; + ReadOnly = .F. + *< END OBJECT: BaseClass="textbox" /> + + ADD OBJECT 'grd_schimbarepretcant.cProc_tvav.Header1' AS header WITH ; + Alignment = 2, ; + Caption = "Coef. TVA", ; + FontName = "Arial Narrow", ; + Name = "Header1", ; + WordWrap = .T. + *< END OBJECT: BaseClass="header" /> + + ADD OBJECT 'grd_schimbarepretcant.cProc_tvav.Text1' AS textbox WITH ; + BackColor = 255,255,255, ; + BorderStyle = 0, ; + FontName = "Arial Narrow", ; + ForeColor = 0,0,0, ; + Margin = 0, ; + Name = "Text1", ; + ReadOnly = .T. + *< END OBJECT: BaseClass="textbox" /> + + ADD OBJECT 'grd_schimbarepretcant.cSerie.Header1' AS header WITH ; + Alignment = 2, ; + Caption = "Serie", ; + FontName = "Arial Narrow", ; + Name = "Header1" + *< END OBJECT: BaseClass="header" /> + + ADD OBJECT 'grd_schimbarepretcant.cSerie.Text1' AS textbox WITH ; + BackColor = 255,255,255, ; + BorderStyle = 0, ; + FontName = "Arial Narrow", ; + ForeColor = 0,0,0, ; + Margin = 0, ; + Name = "Text1" + *< END OBJECT: BaseClass="textbox" /> + + ADD OBJECT 'grd_schimbarepretcant.cStoc.Header1' AS header WITH ; + Alignment = 2, ; + Caption = "Cant.", ; + FontName = "Arial Narrow", ; + Name = "Header1" + *< END OBJECT: BaseClass="header" /> + + ADD OBJECT 'grd_schimbarepretcant.cStoc.Text1' AS textbox WITH ; + BackColor = 255,255,236, ; + BorderStyle = 0, ; + FontName = "Arial Narrow", ; + ForeColor = 0,0,0, ; + Margin = 0, ; + Name = "Text1", ; + ReadOnly = .F. + *< END OBJECT: BaseClass="textbox" /> + + ADD OBJECT 'grd_schimbarepretcant.cStoc_original.Header1' AS header WITH ; + Alignment = 2, ; + Caption = "Cantitate originala", ; + FontName = "Arial Narrow", ; + Name = "Header1" + *< END OBJECT: BaseClass="header" /> + + ADD OBJECT 'grd_schimbarepretcant.cStoc_original.Text1' AS textbox WITH ; + BackColor = 255,255,255, ; + BorderStyle = 0, ; + FontName = "Arial Narrow", ; + ForeColor = 0,0,0, ; + Margin = 0, ; + Name = "Text1", ; + ReadOnly = .T. + *< END OBJECT: BaseClass="textbox" /> + + ADD OBJECT 'Lb_nume_gestiune' AS lb_simplu WITH ; + Caption = "Gestiune", ; + FontName = "Arial Narrow", ; + Left = 17, ; + Name = "Lb_nume_gestiune", ; + TabIndex = 8, ; + Top = 40 + *< END OBJECT: ClassLib="lb.vcx" BaseClass="label" /> + + ADD OBJECT 'txtNumeGestiune' AS textbox WITH ; + Format = "!k", ; + Height = 23, ; + Left = 162, ; + Name = "txtNumeGestiune", ; + TabIndex = 1, ; + ToolTipText = "Tastati primele litere pentru cautare articole", ; + Top = 38, ; + Width = 144 + *< END OBJECT: BaseClass="textbox" /> + + PROCEDURE do_ascunde + Lparameters tnValCk + Select schimbpretstoc + If tnValCk = 1 + Set Filter To pretvtva<>pretvtvanou + Else + Set Filter To + Endif + Thisform.grd_schimbarepretcant.Refresh() + ENDPROC + + PROCEDURE do_creeaza_filtru + Lparameters toCriteriu,tcNumeCamp,tcValoare + Local lnCriteriu,lcFiltru + lnCriteriu = toCriteriu.Value + Do Case + Case lnCriteriu = 1 and !Empty(tcValoare) + lcFiltru = "LIKE('" + Upper(Strtran(tcValoare,['],[''])) + "*',UPPER(Nvl("+Alltrim(tcNumeCamp)+",'')))" + Case lnCriteriu = 2 and !Empty(tcValoare) + lcFiltru = "UPPER(Nvl("+Alltrim(tcNumeCamp)+",''))='" + Upper(Strtran(tcValoare,['],[''])) + "'" + Case lnCriteriu = 3 and !Empty(tcValoare) + lcFiltru = "UPPER(Nvl("+Alltrim(tcNumeCamp)+",''))<>'" + Upper(Strtran(tcValoare,['],[''])) + "'" + Case lnCriteriu = 4 and !Empty(tcValoare) + lcFiltru = "LIKE('*" + Upper(Strtran(tcValoare,['],[''])) + "*',UPPER(Nvl("+Alltrim(tcNumeCamp)+",'')))" + Case lnCriteriu = 5 and !Empty(tcValoare) + lcFiltru = "!LIKE('*" + Upper(Strtran(tcValoare,['],[''])) + "*',UPPER(Nvl("+Alltrim(tcNumeCamp)+",'')))" + Case lnCriteriu=6 + lcFiltru = "EMPTY(Nvl("+Alltrim(tcNumeCamp)+",''))" + Case lnCriteriu=7 + lcFiltru = "!EMPTY(Nvl("+Alltrim(tcNumeCamp)+",''))" + Endcase + Return lcFiltru + ENDPROC + + PROCEDURE do_termin + If This.inainte_de_do_termin() + Thisform.AlwaysOnTop = .F. + lnRezultat = creeaza_note_schimbare_pret() + Thisform.AlwaysOnTop = .T. + Do Case + Case lnRezultat = 1 + gnButon = 1 + pnButon = 1 + Buton = 1 + nIesire = 1 + This.Release() + Case lnRezultat = 2 + *!* modificare ROAGEST v 2.0.111 + This.do_ascunde(thisform.ck_pret.Value) + *!* modificare ROAGEST v 2.0.111 ^ + This.do_renunt() + Otherwise + *!* se intoarce in fereastra + Endcase + Endif + ENDPROC + + PROCEDURE inainte_de_do_termin + Select schimbpretstoc + Set Filter To + Thisform.txtNumeGestiune.Value = [] + Thisform.ct_gestiune.Value = 1 + Thisform.Refresh() + Return .T. + ENDPROC + + PROCEDURE Init + Lparameters tnTip + Thisform.nTip = tnTip + DoDefault() + If Thisform.nTip = 2 + *!* modificare ROAGEST v 2.0.111 + Thisform.ck_pret.Visible = .T. + Thisform.grd_schimbarepretcant.SetAll('DynamicForeColor','IIF(pretvtva<>pretvtvanou,RGB(0,0,0),RGB(40,145,67))','Column') + Thisform.grd_schimbarepretcant.SetAll('DynamicFontBold','IIF(pretvtva<>pretvtvanou,.F.,.T.)','Column') + *!* modificare ROAGEST v 2.0.111 ^ + With Thisform.grd_schimbarepretcant.cPretvtva + .ReadOnly = .F. + .BackColor = Rgb(255,255,236) + Endwith + Endif + + ENDPROC + + PROCEDURE KeyPress + Lparameters nKeyCode, nShiftAltCtrl + lcControl = Upper(Alltrim(Thisform.ActiveControl.Name)) + If lcControl = 'TXTNUMEGESTIUNE' And nKeyCode = 13 + Select schimbpretstoc + lnRecno = Recno() + lcFiltruGest = Thisform.do_creeaza_filtru(Thisform.ct_gestiune,Thisform.grd_schimbarepretcant.cNume_gestiune.ControlSource,Alltrim(Strtran(Thisform.txtNumeGestiune.Value,['],['']))) + lcFiltru = Iif(Empty(lcFiltruGest),[2=2],lcFiltruGest) + Set Filter To &lcFiltru + Go top + Thisform.grd_schimbarepretcant.cStoc.text1.SetFocus() + Else + DoDefault(nKeyCode, nShiftAltCtrl) + Endif + ENDPROC + + PROCEDURE ck_pret.Click + Thisform.do_ascunde(This.Value) + ENDPROC + + PROCEDURE ct_gestiune.InteractiveChange + With Thisform.txtArticole + If This.Value>5 + .Value="" + .ReadOnly=.T. + Else + .ReadOnly=.F. + .SetFocus() + Endif + Endwith + ENDPROC + + PROCEDURE grd_schimbarepretcant.AfterRowColChange + LPARAMETERS nColIndex + DODEFAULT(nColIndex) + Local loBackupXML + loBackupXML = Thisform.oBackupXML + IF TYPE('loBackupXml') = 'O' + loBackupXML.SaveBackupSet("schimbpretstoc") + ENDIF + ENDPROC + + PROCEDURE grd_schimbarepretcant.cStoc.Text1.InteractiveChange + If Thisform.nstoc_original>0 + *!* modificare ROAGEST v 2.0.72 + *!* If !Between(This.Value,0,Thisform.nstoc_original) + If This.Value <0 + *!* modificare ROAGEST v 2.0.72 ^ + This.Value = Thisform.nstoc_original + Endif + *Else + *This.Value = Thisform.nstoc_original + Endif + ENDPROC + + PROCEDURE grd_schimbarepretcant.cStoc.Text1.When + Thisform.nstoc_original=schimbpretstoc.stoc_original + + ENDPROC + + PROCEDURE grd_schimbarepretcant.Init + * + ENDPROC + +ENDDEFINE diff --git a/clase/otoolbar.vc2 b/clase/otoolbar.vc2 new file mode 100644 index 0000000..deb4966 --- /dev/null +++ b/clase/otoolbar.vc2 @@ -0,0 +1,233 @@ +*-------------------------------------------------------------------------------------------------------------------------------------------------------- +* (EN) AUTOGENERATED - ATTENTION!! - NOT INTENDED FOR EXECUTION!! USE ONLY FOR MERGING CHANGES AND STORING WITH SCM TOOLS!! +*-------------------------------------------------------------------------------------------------------------------------------------------------------- +*< FOXBIN2PRG: Version="1.21" SourceFile="otoolbar.vcx" CPID="1252" /> (Solo para binarios VFP 9 / Only for VFP 9 binaries) +* +* +DEFINE CLASS img_help AS _image OF "_baza.vcx" + *< CLASSDATA: Baseclass="image" Timestamp="" Scale="Pixels" Uniqueid="" /> + + * + *p: comanda_program + * + + * + BackStyle = 0 + BorderColor = 255,255,255 + BorderStyle = 1 + comanda_program = + Height = 26 + MousePointer = 15 + Name = "img_help" + Picture = ..\grafice\help\_disabled_help.ico + Stretch = 1 + Width = 26 + * + + PROCEDURE Click + IF !EMPTY(this.comanda_program) + IF this.comanda_program<>'INACTIV' + OPEN_DEFAULT_APP(this.comanda_program) + ELSE + AMESSAGEBOX("Manualul de utilizare nu este configurat corect!",0+48,"Atentie") + ENDIF + ELSE + AMESSAGEBOX("Manualul de utilizare nu este instalat!",0+48,"Atentie") + ENDIF + + ENDPROC + +ENDDEFINE + +DEFINE CLASS img_program AS _image OF "_baza.vcx" + *< CLASSDATA: Baseclass="image" Timestamp="" Scale="Pixels" Uniqueid="" /> + + * + *p: comanda_program + * + + * + BackStyle = 0 + BorderColor = 192,192,192 + BorderStyle = 1 + comanda_program = + Height = 26 + MousePointer = 15 + Name = "img_program" + Stretch = 1 + Width = 37 + * + + PROCEDURE Click + *!* If Like([*.htm],Lower(This.comanda_program)) Or Like([*.html],Lower(This.comanda_program)) + *!* open_default_app(This.comanda_program) + *!* Else + *!* Try + *!* lcComanda = This.comanda_program + Alltrim(Str(gnan)) + [;] + Alltrim(Str(gnluna)) + ; + *!* [;] + Alltrim(gcS) + [;] + Alltrim(Str(gnIdFirma)) + *!* &lcComanda + *!* Catch + *!* AMESSAGEBOX("Programul "+ Alltrim(This.ToolTipText) +" nu este instalat pe server!",0+48,"Atentie") + *!* Finally + *!* Endtry + *!* Endif + *!* modificare ROACONT-2.0.95 + Local loUpdate + Local lbrun, lcAppVer, lcComanda, lcRun, loEx + Local llFileExists + loUpdate = Createobject("oUpdate", []) + If Type('loUpdate') = 'O' + lbrun = .T. + *!* modificare 17.11.2011 + *!* lbrun=loUpdate.updatecheck(Juststem(This.comanda_program),.T.,0) + Do Case + Case Lower(This.comanda_program) = [romfast_suport.exe] + llFileExists = File(m.gcDirMare + This.comanda_program) + lbrun = loUpdate.updatecheckTxt(Juststem(This.comanda_program),.F., m.llFileExists) + lbrun = File(m.gcDirMare + This.comanda_program) + + Case Lower(This.comanda_program) = [roascreenshot.exe] + llFileExists = File(m.gcDirMare + This.comanda_program) + *MESSAGEBOX('File(' + m.gcDirMare + This.comanda_program + ')=' + TRANSFORM(m.llFileExists)) + lbrun = loUpdate. updatecheckTxt(Juststem(This.comanda_program),.F., m.llFileExists) + lbrun = File(m.gcDirMare + This.comanda_program) + Otherwise + lbrun = loUpdate.updatecheck(Juststem(This.comanda_program), .T., 0) + Endcase + *!* modificare 17.11.2011 ^ + Release loUpdate + Else + lbrun = .T. + Endif + + If lbrun + DO CASE + CASE Like([*.htm], Lower(This.comanda_program)) Or Like([*.html], Lower(This.comanda_program)) + open_default_app(This.comanda_program) + CASE Like([chatbot], Lower(This.comanda_program)) + open_default_app('https://www.romfast.ro/chatbot_maria.html') + * Nu mai deschid formularul foxpro - nu stiu de ce da timeout + * DO FORM frm_chatbot + OTHERWISE + Try + *!* modificare 17.11.2011 ^ + *!* lcComanda = This.comanda_program + Alltrim(Str(gnan)) + [;] + Alltrim(Str(gnluna)) + ; + *!* [;] + Alltrim(gcS) + [;] + Alltrim(Str(gnIdFirma)) + Do Case + Case Lower(This.comanda_program) = "romfast_suport.exe" + lcComanda = gcDirMare + This.comanda_program + open_default_app(lcComanda) + + Case Lower(This.comanda_program) = "roascreenshot.exe" + lcComanda = gcDirMare + This.comanda_program + Try + lcAppVer = Getversion(gcAppName) + lcComanda = ["] + gcDirMare + This.comanda_program + [" "office@romfast.ro" "Sesizare ] + Alltrim(gcAppName) + [ v] + m.lcAppVer + [ - ] + Alltrim(m.gcFirma) + [ - ] + Padl(m.gnLuna, 2, '0') + [/] + Alltrim(Str(m.gnAn)) + [ - ] + Alltrim(m.gcUserNameApp) + ["] + Catch To loEx + lcComanda = gcDirMare + This.comanda_program + Endtry + lcRun = [RUN /N ] + m.lcComanda + + &lcRun + + Otherwise + lcComanda = This.comanda_program + Alltrim(Str(gnAn)) + [;] + Alltrim(Str(gnLuna)) + ; + [;] + Alltrim(gcS) + [;] + Alltrim(Str(gnIdFirma)) + &lcComanda + Endcase + *!* modificare 17.11.2011 ^ + Catch To loEx + Messagebox("Programul " + Alltrim(This.ToolTipText) + " nu este instalat!" + Chr(13) + Chr(10) + loEx.Message, 0 + 48, "Atentie") + Endtry + ENDCASE + Endif + *!* modificare ROACONT-2.0.95 ^ + + ENDPROC + +ENDDEFINE + +DEFINE CLASS sep AS _shape OF "_baza.vcx" + *< CLASSDATA: Baseclass="shape" Timestamp="" Scale="Pixels" Uniqueid="" /> + + * + BackStyle = 0 + BorderColor = 192,192,192 + Height = 32 + Name = "sep" + SpecialEffect = 0 + Style = 0 + Width = 2 + * + +ENDDEFINE + +DEFINE CLASS tool AS toolbar + *< CLASSDATA: Baseclass="toolbar" Timestamp="" Scale="Pixels" Uniqueid="" /> + + * + Caption = "ROMFAST Applications" + Height = 19 + Left = 0 + Name = "tool" + Top = 0 + Width = 33 + * + +ENDDEFINE + +DEFINE CLASS tool_help AS toolbar + *< CLASSDATA: Baseclass="toolbar" Timestamp="" Scale="Pixels" Uniqueid="" /> + + * + Caption = "Ajutor" + Height = 19 + Left = 0 + Name = "tool_help" + Top = 0 + Width = 33 + * + +ENDDEFINE + +DEFINE CLASS toolhelp AS formset + *< CLASSDATA: Baseclass="formset" Timestamp="" Scale="" Uniqueid="" /> + + *-- OBJECTDATA items order determines ZOrder / El orden de los items OBJECTDATA determina el ZOrder + *< OBJECTDATA: ObjPath="Tool_help1" UniqueID="" Timestamp="" /> + + * + Name = "toolhelp" + * + + ADD OBJECT 'Tool_help1' AS tool_help WITH ; + Height = 19, ; + Left = 201, ; + Name = "Tool_help1", ; + Top = 31, ; + Width = 33 + *< END OBJECT: ClassLib="otoolbar.vcx" BaseClass="toolbar" /> + +ENDDEFINE + +DEFINE CLASS toolset AS formset + *< CLASSDATA: Baseclass="formset" Timestamp="" Scale="" Uniqueid="" /> + + *-- OBJECTDATA items order determines ZOrder / El orden de los items OBJECTDATA determina el ZOrder + *< OBJECTDATA: ObjPath="Tool1" UniqueID="" Timestamp="" /> + + * + AutoRelease = .T. + Name = "toolset" + * + + ADD OBJECT 'Tool1' AS tool WITH ; + ControlBox = .F., ; + Height = 19, ; + Left = 213, ; + Name = "Tool1", ; + Top = 10, ; + Width = 33 + *< END OBJECT: ClassLib="otoolbar.vcx" BaseClass="toolbar" /> + +ENDDEFINE diff --git a/clase/otouchscreen.vc2 b/clase/otouchscreen.vc2 new file mode 100644 index 0000000..96c9111 --- /dev/null +++ b/clase/otouchscreen.vc2 @@ -0,0 +1,4798 @@ +*-------------------------------------------------------------------------------------------------------------------------------------------------------- +* (EN) AUTOGENERATED - ATTENTION!! - NOT INTENDED FOR EXECUTION!! USE ONLY FOR MERGING CHANGES AND STORING WITH SCM TOOLS!! +*-------------------------------------------------------------------------------------------------------------------------------------------------------- +*< FOXBIN2PRG: Version="1.21" SourceFile="otouchscreen.vcx" CPID="1252" /> (Solo para binarios VFP 9 / Only for VFP 9 binaries) +* +* +DEFINE CLASS but_cancel AS cmd_buton OF "_cmd_base.vcx" + *< CLASSDATA: Baseclass="commandbutton" Timestamp="" Scale="Pixels" Uniqueid="" /> + + * + cpicturedown = renunta_jos.png + cpictureup = renunta_sus.png + Height = 64 + Name = "but_cancel" + Picture = ..\..\grafice\renunta_sus.png + Themes = .F. + Width = 64 + * + +ENDDEFINE + +DEFINE CLASS but_ok AS cmd_buton OF "_cmd_base.vcx" + *< CLASSDATA: Baseclass="commandbutton" Timestamp="" Scale="Pixels" Uniqueid="" /> + + * + cpicturedown = confirma_jos.png + cpictureup = confirma_sus.png + Height = 64 + Name = "but_ok" + Picture = ..\..\grafice\confirma_sus.png + Themes = .F. + Width = 64 + * + +ENDDEFINE + +DEFINE CLASS ceas AS _timer OF "_baza.vcx" + *< CLASSDATA: Baseclass="timer" Timestamp="" Scale="Pixels" Uniqueid="" /> + + * + *m: do_initializeaza_ceas + *p: clbafisare + *p: crgb && RGB pentru ceas. + *p: loraactualizata + *p: lsecunde && Daca arata si secundele sau nu. + *p: ndiferenta + *p: toraestimataserver + *p: torastartserver + *p: _memberdata && XML Metadata for customizable properties + * + + * + clbafisare = + crgb = 0,0,0 + loraactualizata = .F. + Name = "ceas" + ndiferenta = 0 + toraestimataserver = {} + torastartserver = {} + _memberdata = + + + + + * + + PROCEDURE do_initializeaza_ceas + Lparameters tlSecunde + Local ltDataOraServer + This.lSecunde = tlSecunde + ltDataOraServer = get_ora() + This.tOraStartServer = ltDataOraServer + This.tOraEstimataServer = ltDataOraServer + This.ndiferenta = ltDataOraServer - Datetime() + lcObiect = This.clbafisare + If This.lSecunde + &lcObiect..Caption = Padl(Alltrim(Str(Hour(ltDataOraServer))),2,[0]) + [:] + Padl(Alltrim(Str(Minute(ltDataOraServer))),2,[0]) + [:] + Padl(Alltrim(Str(Sec(ltDataOraServer))),2,[0]) + Else + &lcObiect..Caption = Padl(Alltrim(Str(Hour(ltDataOraServer))),2,[0]) + [:] + Padl(Alltrim(Str(Minute(ltDataOraServer))),2,[0]) + Endif + &lcObiect..ForeColor = Evaluate([RGB(]+This.crgb+[)]) + &lcObiect..Refresh() + *!* This.Interval = Iif(This.ndiferenta>0,This.ndiferenta,60+This.ndiferenta) * 10 + This.Enabled = .T. + IF This.lSecunde + This.Interval = 1000 + ELSE + This.Interval = 1000 * (60-SEC(ltDataOraServer)) + ENDIF + This.loraactualizata = .T. + *!* This.Interval = 1 + *!* This.Enabled = .T. + ENDPROC + + PROCEDURE Timer + Local lcOra,ltDataOra + *!* ltDataOra = Datetime() + This.ndiferenta + This.tOraEstimataServer = This.tOraEstimataServer + Floor(This.Interval / 1000) + ltDataOra = This.tOraEstimataServer + lcObiect = This.clbafisare + If This.lSecunde + &lcObiect..Caption = Padl(Alltrim(Str(Hour(ltDataOra))),2,[0]) + [:] + Padl(Alltrim(Str(Minute(ltDataOra))),2,[0]) + [:] + Padl(Alltrim(Str(Sec(ltDataOra))),2,[0]) + Else + If This.Interval <> 60000 + This.Interval = 60000 + Endif + &lcObiect..Caption = Padl(Alltrim(Str(Hour(ltDataOra))),2,[0]) + [:] + Padl(Alltrim(Str(Minute(ltDataOra))),2,[0]) + Endif + &lcObiect..Refresh() + + ENDPROC + +ENDDEFINE + +DEFINE CLASS cmd_ts AS cmd_buton OF "_cmd_base.vcx" + *< CLASSDATA: Baseclass="commandbutton" Timestamp="" Scale="Pixels" Uniqueid="" /> + + * + *p: ntip + * + + * + FontName = "Arial Black" + FontSize = 20 + Height = 36 + Name = "cmd_ts" + ntip = 0 + Themes = .F. + Width = 48 + * + + PROCEDURE Click + This.Parent.butonpress(Alltrim(Transform(This.Caption))) + ENDPROC + +ENDDEFINE + +DEFINE CLASS cmd_ts_sel AS _cmdbase OF "_cmd_base.vcx" + *< CLASSDATA: Baseclass="commandbutton" Timestamp="" Scale="Pixels" Uniqueid="" /> + + * + *m: do_selecteaza + *p: caction + *p: cpicturedown + *p: cpictureup + *p: crgbfontselectat + *p: crgbselectat + *p: lselectat && .T. - daca isi schimba culoarea atunci cand este selectat. + *p: nrgb + *p: nrgbfont + *p: nrgbfontselectat + *p: nrgbselectat + *p: nselectat + * + + * + caction = + Caption = "" + cpicturedown = + cpictureup = + crgbfontselectat = + crgbselectat = + FontBold = .T. + Height = 31 + lselectat = .F. + Name = "cmd_ts_sel" + nrgb = + nrgbfont = + nrgbfontselectat = + nrgbselectat = + nselectat = 0 + Themes = .F. + Width = 43 + * + + PROCEDURE Click + LOCAL lcAction, lcCommand + lcAction = this.cAction + IF This.lSelectat + This.nselectat = MOD(This.nselectat+1,2) + ENDIF + IF EMPTY(lcAction) + RETURN + ENDIF + IF TYPE('this.parent') = 'O' AND PEMSTATUS(this.parent,lcAction,5) + lcCommand = [this.Parent.] + lcAction + &lcCommand + ELSE + IF TYPE('this.parent.PARENT') = 'O' AND PEMSTATUS(this.parent.parent,lcAction,5) + lcCommand = [this.Parent.Parent.] + lcAction + &lcCommand + ELSE + IF PEMSTATUS(THISFORM,lcAction,5) + lcCommand = [thisform.] + lcAction + &lcCommand + ENDIF + ENDIF + ENDIF + ENDPROC + + PROCEDURE Destroy + UNBINDEVENTS(This,[nselectat],This,[do_selecteaza]) + ENDPROC + + PROCEDURE do_selecteaza + If This.nselectat = 1 + This.BackColor = This.nrgbselectat + This.ForeColor = This.nrgbfontselectat + Else + This.BackColor = This.nrgb + This.ForeColor = This.nrgbfont + Endif + ENDPROC + + PROCEDURE Init + If This.lSelectat + This.nrgb = This.BackColor + This.nrgbfont = This.ForeColor + If !Empty(This.crgbselectat) + This.nrgbselectat = Evaluate([RGB(]+This.crgbselectat+[)]) + Else + This.nrgbselectat = This.nrgbfont + Endif + If !Empty(This.crgbfontselectat) + This.nrgbfontselectat = Evaluate([RGB(]+This.crgbfontselectat+[)]) + Else + This.nrgbfontselectat = This.nrgb + Endif + BINDEVENT(This,[nselectat],This,[do_selecteaza],1) + Endif + This.Picture = This.cPictureup + + ENDPROC + + PROCEDURE MouseEnter + LPARAMETERS nButton, nShift, nXCoord, nYCoord + this.Picture = this.cPictureDown + + ENDPROC + + PROCEDURE MouseLeave + LPARAMETERS nButton, nShift, nXCoord, nYCoord + this.Picture = this.cPictureUp + ENDPROC + +ENDDEFINE + +DEFINE CLASS cronometru AS _timer OF "_baza.vcx" + *< CLASSDATA: Baseclass="timer" Timestamp="" Scale="Pixels" Uniqueid="" /> + + * + *m: do_actualizeaza_lb + *m: do_initializeaza_cron + *m: do_reset + *m: getcformat + *m: getcminute + *m: getcore + *m: getcsecunde + *p: clbafisare + *p: crgbcresc && RGB atunci cand se cronometreaza crescator. + *p: crgbdesc && RGB atunci cand se cronometreaza descrescator. + *p: ctimpsecmax && Cat timp functioneaza. + *p: lcrescator && .T. - daca porneste de la 0 + *p: loprit + *p: nsecactual + *p: nsecmax && Cate secunde functioneaza. + *p: nsecpornire && Numarul de secunde de cand a fost pornit cronometrul. + *p: ntipformat && 1 - HH:MI:SS ; 2 - HH:MI; 3 - MI:SS + * + + HIDDEN lcrescator,nsecactual,nsecmax + * + clbafisare = + crgbcresc = 0,0,0 + crgbdesc = 255,0,0 + ctimpsecmax = 00:00:00 + Interval = 1000 + lcrescator = .T. + loprit = .F. + Name = "cronometru" + nsecactual = 0 + nsecmax = 0 + nsecpornire = 0 + ntipformat = 1 + * + + PROCEDURE do_actualizeaza_lb + LPARAMETERS tnSecunde + lcFormat = This.getcFormat() + lcOre = This.getcOre(tnSecunde) + lcMinute = This.getcMinute(tnSecunde) + lcSecunde = This.getcSecunde(tnSecunde) + lcObiect = This.clbafisare + &lcObiect..Caption = Strtran(Strtran(Strtran(lcFormat,[H],lcOre),[M],lcMinute),[S],lcSecunde) + &lcObiect..Refresh() + ENDPROC + + PROCEDURE do_initializeaza_cron + Lparameters tlCrescator + This.Enabled = .F. + This.nsecpornire = 0 + This.lcrescator = tlCrescator + Local lcFormat,lcOre,lcMinute,lcSecunde + Do Case + Case This.nTipFormat = 1 + If Occurs(This.ctimpsecmax,[:]) = 1 + This.ctimpsecmax = This.ctimpsecmax + [:00] + Endif + This.nsecmax = Val(Substr(This.ctimpsecmax,1,At([:],This.ctimpsecmax)-1)) * 3600 + ; + VAL(Substr(This.ctimpsecmax,At([:],This.ctimpsecmax)+1,At([:],This.ctimpsecmax,2)-At([:],This.ctimpsecmax))) * 60 + ; + VAL(Substr(This.ctimpsecmax,At([:],This.ctimpsecmax,2)+1)) + This.Interval = 1000 + Case This.nTipFormat = 2 + This.nsecmax = Val(Substr(This.ctimpsecmax,1,At([:],This.ctimpsecmax)-1)) * 3600 + ; + VAL(Substr(This.ctimpsecmax,At([:],This.ctimpsecmax)+1)) * 60 + This.Interval = 60000 + Case This.nTipFormat = 3 + This.nsecmax = Val(Substr(This.ctimpsecmax,1,At([:],This.ctimpsecmax)-1)) * 60 + ; + VAL(Substr(This.ctimpsecmax,At([:],This.ctimpsecmax)+1)) + This.Interval = 1000 + Endcase + lcObiect = This.clbafisare + If This.lcrescator Or (!This.lcrescator And This.nsecmax = 0) + This.lcrescator = .T. + &lcObiect..ForeColor = EVALUATE([RGB(]+This.crgbcresc+[)]) + This.do_actualizeaza_lb(0) + Else + This.nsecactual = This.nsecmax + &lcObiect..ForeColor = EVALUATE([RGB(]+This.crgbdesc+[)]) + This.do_actualizeaza_lb(This.nsecmax) + Endif + This.Enabled = .T. + ENDPROC + + PROCEDURE do_reset + This.nsecpornire = 0 + If This.lcrescator Or (!This.lcrescator And This.nsecmax = 0) + This.nsecactual = 0 + Else + This.nsecactual = This.nsecmax + Endif + This.do_actualizeaza_lb(This.nsecactual) + + ENDPROC + + HIDDEN PROCEDURE getcformat + Local lcFormat + Do Case + Case This.nTipFormat = 1 + lcFormat = [H:M:S] + Case This.nTipFormat = 2 + lcFormat = [H:M] + Case This.nTipFormat = 3 + lcFormat = [M:S] + Endcase + Return lcFormat + ENDPROC + + HIDDEN PROCEDURE getcminute + Lparameters tnSecunde + Local lcMinute + Do Case + Case This.nTipFormat = 1 + lcMinute = Padl(Alltrim(Str(Floor((tnSecunde-Floor(tnSecunde/3600)*3600)/60))),2,[0]) + Case This.nTipFormat = 2 + lcMinute = Padl(Alltrim(Str(Floor((tnSecunde-Floor(tnSecunde/3600)*3600)/60))),2,[0]) + Case This.nTipFormat = 3 + lcMinute = Padl(Alltrim(Str(Floor(tnSecunde/60))),Max(LEN(ALLTRIM(STR(Floor(tnSecunde/60)))),2),[0]) + Endcase + Return lcMinute + ENDPROC + + HIDDEN PROCEDURE getcore + Lparameters tnSecunde + Local lcOre + Do Case + Case This.nTipFormat = 1 + lcOre = Padl(ALLTRIM(Str(Floor(tnSecunde/3600))),Max(LEN(ALLTRIM(STR(Floor(tnSecunde/3600)))),2),[0]) + Case This.nTipFormat = 2 + lcOre = Padl(ALLTRIM(Str(Floor(tnSecunde/3600))),Max(LEN(ALLTRIM(STR(Floor(tnSecunde/3600)))),2),[0]) + Case This.nTipFormat = 3 + lcOre = [] + Endcase + Return lcOre + ENDPROC + + HIDDEN PROCEDURE getcsecunde + Lparameters tnSecunde + Local lcSecunde + Do Case + Case This.nTipFormat = 1 + lcSecunde = Padl(ALLTRIM(STR(Mod(tnSecunde,60))),2,[0]) + Case This.nTipFormat = 2 + lcSecunde = [] + Case This.nTipFormat = 3 + lcSecunde = Padl(ALLTRIM(STR(Mod(tnSecunde,60))),2,[0]) + Endcase + Return lcSecunde + ENDPROC + + PROCEDURE Timer + Local lcFormat,lcOre,lcMinute,lcSecunde + This.nsecactual = This.nsecactual + Iif(This.lcrescator,1,-1) + This.nsecpornire = This.nsecpornire + 1 + This.do_actualizeaza_lb(This.nsecactual) + IF (This.lcrescator AND This.nsecactual = This.nsecmax) OR (!This.lcrescator AND This.nsecactual = 0) + This.loprit = .T. + This.Enabled = .F. + ENDIF + ENDPROC + +ENDDEFINE + +DEFINE CLASS ct_alfabet AS _ctfrmbase OF "_ct_base.vcx" + *< CLASSDATA: Baseclass="container" Timestamp="" Scale="Pixels" Uniqueid="" /> + + *-- OBJECTDATA items order determines ZOrder / El orden de los items OBJECTDATA determina el ZOrder + *< OBJECTDATA: ObjPath="Cmd_a" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="Cmd_n" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="Cmd_b" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="Cmd_o" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="Cmd_c" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="Cmd_p" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="Cmd_d" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="Cmd_q" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="Cmd_e" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="Cmd_r" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="Cmd_f" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="Cmd_s" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="Cmd_g" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="Cmd_t" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="Cmd_h" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="Cmd_u" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="Cmd_i" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="Cmd_v" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="Cmd_j" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="Cmd_w" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="Cmd_k" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="Cmd_x" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="Cmd_l" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="Cmd_y" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="Cmd_m" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="Cmd_z" UniqueID="" Timestamp="" /> + + * + *m: butonpress + *p: cotxt_activ + *p: crgbbackcolor && Culoarea de fundal a butoanelor. + *p: crgbforecolor && Culoarea literelor. + *p: ncoloane && Numarul de coloane pe care se afiseaza alfabetul. + * + + * + BackStyle = 0 + cotxt_activ = + crgbbackcolor = 74,79,234 + crgbforecolor = 255,255,255 + Height = 75 + Name = "ct_alfabet" + ncoloane = 13 + Width = 627 + Gridsort1.Name = "Gridsort1" + _ct_controller_keypress1.Left = 0 + _ct_controller_keypress1.Name = "_ct_controller_keypress1" + _ct_controller_keypress1.Top = 12 + * + + ADD OBJECT 'Cmd_a' AS cmd_buton WITH ; + BackColor = 74,79,234, ; + Caption = "A", ; + FontName = "Arial Black", ; + FontSize = 20, ; + ForeColor = 255,255,255, ; + Height = 36, ; + Left = 1, ; + Name = "Cmd_a", ; + Themes = .F., ; + Top = 1, ; + Width = 48 + *< END OBJECT: ClassLib="_cmd_base.vcx" BaseClass="commandbutton" /> + + ADD OBJECT 'Cmd_b' AS cmd_buton WITH ; + BackColor = 74,79,234, ; + Caption = "B", ; + FontName = "Arial Black", ; + FontSize = 20, ; + ForeColor = 255,255,255, ; + Height = 36, ; + Left = 49, ; + Name = "Cmd_b", ; + Themes = .F., ; + Top = 1, ; + Width = 48 + *< END OBJECT: ClassLib="_cmd_base.vcx" BaseClass="commandbutton" /> + + ADD OBJECT 'Cmd_c' AS cmd_buton WITH ; + BackColor = 74,79,234, ; + Caption = "C", ; + FontName = "Arial Black", ; + FontSize = 20, ; + ForeColor = 255,255,255, ; + Height = 36, ; + Left = 97, ; + Name = "Cmd_c", ; + Themes = .F., ; + Top = 1, ; + Width = 48 + *< END OBJECT: ClassLib="_cmd_base.vcx" BaseClass="commandbutton" /> + + ADD OBJECT 'Cmd_d' AS cmd_buton WITH ; + BackColor = 74,79,234, ; + Caption = "D", ; + FontName = "Arial Black", ; + FontSize = 20, ; + ForeColor = 255,255,255, ; + Height = 36, ; + Left = 145, ; + Name = "Cmd_d", ; + Themes = .F., ; + Top = 1, ; + Width = 48 + *< END OBJECT: ClassLib="_cmd_base.vcx" BaseClass="commandbutton" /> + + ADD OBJECT 'Cmd_e' AS cmd_buton WITH ; + BackColor = 74,79,234, ; + Caption = "E", ; + FontName = "Arial Black", ; + FontSize = 20, ; + ForeColor = 255,255,255, ; + Height = 36, ; + Left = 193, ; + Name = "Cmd_e", ; + Themes = .F., ; + Top = 1, ; + Width = 48 + *< END OBJECT: ClassLib="_cmd_base.vcx" BaseClass="commandbutton" /> + + ADD OBJECT 'Cmd_f' AS cmd_buton WITH ; + BackColor = 74,79,234, ; + Caption = "F", ; + FontName = "Arial Black", ; + FontSize = 20, ; + ForeColor = 255,255,255, ; + Height = 36, ; + Left = 241, ; + Name = "Cmd_f", ; + Themes = .F., ; + Top = 1, ; + Width = 48 + *< END OBJECT: ClassLib="_cmd_base.vcx" BaseClass="commandbutton" /> + + ADD OBJECT 'Cmd_g' AS cmd_buton WITH ; + BackColor = 74,79,234, ; + Caption = "G", ; + FontName = "Arial Black", ; + FontSize = 20, ; + ForeColor = 255,255,255, ; + Height = 36, ; + Left = 289, ; + Name = "Cmd_g", ; + Themes = .F., ; + Top = 1, ; + Width = 48 + *< END OBJECT: ClassLib="_cmd_base.vcx" BaseClass="commandbutton" /> + + ADD OBJECT 'Cmd_h' AS cmd_buton WITH ; + BackColor = 74,79,234, ; + Caption = "H", ; + FontName = "Arial Black", ; + FontSize = 20, ; + ForeColor = 255,255,255, ; + Height = 36, ; + Left = 337, ; + Name = "Cmd_h", ; + Themes = .F., ; + Top = 1, ; + Width = 48 + *< END OBJECT: ClassLib="_cmd_base.vcx" BaseClass="commandbutton" /> + + ADD OBJECT 'Cmd_i' AS cmd_buton WITH ; + BackColor = 74,79,234, ; + Caption = "I", ; + FontName = "Arial Black", ; + FontSize = 20, ; + ForeColor = 255,255,255, ; + Height = 36, ; + Left = 385, ; + Name = "Cmd_i", ; + Themes = .F., ; + Top = 1, ; + Width = 48 + *< END OBJECT: ClassLib="_cmd_base.vcx" BaseClass="commandbutton" /> + + ADD OBJECT 'Cmd_j' AS cmd_buton WITH ; + BackColor = 74,79,234, ; + Caption = "J", ; + FontName = "Arial Black", ; + FontSize = 20, ; + ForeColor = 255,255,255, ; + Height = 36, ; + Left = 433, ; + Name = "Cmd_j", ; + Themes = .F., ; + Top = 1, ; + Width = 48 + *< END OBJECT: ClassLib="_cmd_base.vcx" BaseClass="commandbutton" /> + + ADD OBJECT 'Cmd_k' AS cmd_buton WITH ; + BackColor = 74,79,234, ; + Caption = "K", ; + FontName = "Arial Black", ; + FontSize = 20, ; + ForeColor = 255,255,255, ; + Height = 36, ; + Left = 481, ; + Name = "Cmd_k", ; + Themes = .F., ; + Top = 1, ; + Width = 48 + *< END OBJECT: ClassLib="_cmd_base.vcx" BaseClass="commandbutton" /> + + ADD OBJECT 'Cmd_l' AS cmd_buton WITH ; + BackColor = 74,79,234, ; + Caption = "L", ; + FontName = "Arial Black", ; + FontSize = 20, ; + ForeColor = 255,255,255, ; + Height = 36, ; + Left = 529, ; + Name = "Cmd_l", ; + Themes = .F., ; + Top = 1, ; + Width = 48 + *< END OBJECT: ClassLib="_cmd_base.vcx" BaseClass="commandbutton" /> + + ADD OBJECT 'Cmd_m' AS cmd_buton WITH ; + BackColor = 74,79,234, ; + Caption = "M", ; + FontName = "Arial Black", ; + FontSize = 20, ; + ForeColor = 255,255,255, ; + Height = 36, ; + Left = 577, ; + Name = "Cmd_m", ; + Themes = .F., ; + Top = 1, ; + Width = 48 + *< END OBJECT: ClassLib="_cmd_base.vcx" BaseClass="commandbutton" /> + + ADD OBJECT 'Cmd_n' AS cmd_buton WITH ; + BackColor = 74,79,234, ; + Caption = "N", ; + FontName = "Arial Black", ; + FontSize = 20, ; + ForeColor = 255,255,255, ; + Height = 36, ; + Left = 1, ; + Name = "Cmd_n", ; + Themes = .F., ; + Top = 37, ; + Width = 48 + *< END OBJECT: ClassLib="_cmd_base.vcx" BaseClass="commandbutton" /> + + ADD OBJECT 'Cmd_o' AS cmd_buton WITH ; + BackColor = 74,79,234, ; + Caption = "O", ; + FontName = "Arial Black", ; + FontSize = 20, ; + ForeColor = 255,255,255, ; + Height = 36, ; + Left = 49, ; + Name = "Cmd_o", ; + Themes = .F., ; + Top = 37, ; + Width = 48 + *< END OBJECT: ClassLib="_cmd_base.vcx" BaseClass="commandbutton" /> + + ADD OBJECT 'Cmd_p' AS cmd_buton WITH ; + BackColor = 74,79,234, ; + Caption = "P", ; + FontName = "Arial Black", ; + FontSize = 20, ; + ForeColor = 255,255,255, ; + Height = 36, ; + Left = 97, ; + Name = "Cmd_p", ; + Themes = .F., ; + Top = 37, ; + Width = 48 + *< END OBJECT: ClassLib="_cmd_base.vcx" BaseClass="commandbutton" /> + + ADD OBJECT 'Cmd_q' AS cmd_buton WITH ; + BackColor = 74,79,234, ; + Caption = "Q", ; + FontName = "Arial Black", ; + FontSize = 20, ; + ForeColor = 255,255,255, ; + Height = 36, ; + Left = 145, ; + Name = "Cmd_q", ; + Themes = .F., ; + Top = 37, ; + Width = 48 + *< END OBJECT: ClassLib="_cmd_base.vcx" BaseClass="commandbutton" /> + + ADD OBJECT 'Cmd_r' AS cmd_buton WITH ; + BackColor = 74,79,234, ; + Caption = "R", ; + FontName = "Arial Black", ; + FontSize = 20, ; + ForeColor = 255,255,255, ; + Height = 36, ; + Left = 193, ; + Name = "Cmd_r", ; + Themes = .F., ; + Top = 37, ; + Width = 48 + *< END OBJECT: ClassLib="_cmd_base.vcx" BaseClass="commandbutton" /> + + ADD OBJECT 'Cmd_s' AS cmd_buton WITH ; + BackColor = 74,79,234, ; + Caption = "S", ; + FontName = "Arial Black", ; + FontSize = 20, ; + ForeColor = 255,255,255, ; + Height = 36, ; + Left = 241, ; + Name = "Cmd_s", ; + Themes = .F., ; + Top = 37, ; + Width = 48 + *< END OBJECT: ClassLib="_cmd_base.vcx" BaseClass="commandbutton" /> + + ADD OBJECT 'Cmd_t' AS cmd_buton WITH ; + BackColor = 74,79,234, ; + Caption = "T", ; + FontName = "Arial Black", ; + FontSize = 20, ; + ForeColor = 255,255,255, ; + Height = 36, ; + Left = 289, ; + Name = "Cmd_t", ; + Themes = .F., ; + Top = 37, ; + Width = 48 + *< END OBJECT: ClassLib="_cmd_base.vcx" BaseClass="commandbutton" /> + + ADD OBJECT 'Cmd_u' AS cmd_buton WITH ; + BackColor = 74,79,234, ; + Caption = "U", ; + FontName = "Arial Black", ; + FontSize = 20, ; + ForeColor = 255,255,255, ; + Height = 36, ; + Left = 337, ; + Name = "Cmd_u", ; + Themes = .F., ; + Top = 37, ; + Width = 48 + *< END OBJECT: ClassLib="_cmd_base.vcx" BaseClass="commandbutton" /> + + ADD OBJECT 'Cmd_v' AS cmd_buton WITH ; + BackColor = 74,79,234, ; + Caption = "V", ; + FontName = "Arial Black", ; + FontSize = 20, ; + ForeColor = 255,255,255, ; + Height = 36, ; + Left = 385, ; + Name = "Cmd_v", ; + Themes = .F., ; + Top = 37, ; + Width = 48 + *< END OBJECT: ClassLib="_cmd_base.vcx" BaseClass="commandbutton" /> + + ADD OBJECT 'Cmd_w' AS cmd_buton WITH ; + BackColor = 74,79,234, ; + Caption = "W", ; + FontName = "Arial Black", ; + FontSize = 20, ; + ForeColor = 255,255,255, ; + Height = 36, ; + Left = 433, ; + Name = "Cmd_w", ; + Themes = .F., ; + Top = 37, ; + Width = 48 + *< END OBJECT: ClassLib="_cmd_base.vcx" BaseClass="commandbutton" /> + + ADD OBJECT 'Cmd_x' AS cmd_buton WITH ; + BackColor = 74,79,234, ; + Caption = "X", ; + FontName = "Arial Black", ; + FontSize = 20, ; + ForeColor = 255,255,255, ; + Height = 36, ; + Left = 481, ; + Name = "Cmd_x", ; + Themes = .F., ; + Top = 37, ; + Width = 48 + *< END OBJECT: ClassLib="_cmd_base.vcx" BaseClass="commandbutton" /> + + ADD OBJECT 'Cmd_y' AS cmd_buton WITH ; + BackColor = 74,79,234, ; + Caption = "Y", ; + FontName = "Arial Black", ; + FontSize = 20, ; + ForeColor = 255,255,255, ; + Height = 36, ; + Left = 529, ; + Name = "Cmd_y", ; + Themes = .F., ; + Top = 37, ; + Width = 48 + *< END OBJECT: ClassLib="_cmd_base.vcx" BaseClass="commandbutton" /> + + ADD OBJECT 'Cmd_z' AS cmd_buton WITH ; + Caption = "Z", ; + FontName = "Arial Black", ; + FontSize = 20, ; + Height = 36, ; + Left = 577, ; + Name = "Cmd_z", ; + Themes = .F., ; + Top = 37, ; + Width = 48 + *< END OBJECT: ClassLib="_cmd_base.vcx" BaseClass="commandbutton" /> + + PROCEDURE butonpress + lparameters tcCod + + lcCod = Alltrim(Transform(tcCod)) + lcObiectText = This.cotxt_activ + If Type(lcObiectText) = 'O' + loText = &lcObiectText + If lcCod = "<" && backspace + loText.Value = Substr(Alltrim(loText.Value), 1, Len(Alltrim(loText.Value)) -1) + Else + loText.Value = Alltrim(loText.Value) + lcCod + Endif + loText.SelStart = loText.SelLength + loText.SetFocus() + Endif + ENDPROC + + PROCEDURE Init + Local lnWidthB,lnHeightB,lcClass,lcRgbFundal,lcRgbFont + DoDefault() + If !Empty(This.crgbbackcolor) + lcRgbFundal = [RGB(] + This.crgbbackcolor+[)] + This.SetAll([BackColor],&lcRgbFundal,[cmd_buton]) + Endif + If !Empty(This.crgbforecolor) + lcRgbFont = [RGB(] + This.crgbforecolor + [)] + This.SetAll([ForeColor],&lcRgbFont,[cmd_buton]) + Endif + lnWidthB = This.cmd_A.Width + lnHeightB = This.cmd_A.Height + lcClass = Upper(This.cmd_A.Class) + lnOffsetH = This.cmd_A.Top + lnOffsetW = This.cmd_A.Left + With This + For i = 1 To .Objects.Count + If Upper(.Objects(i).Class) = lcClass + lnPozitie = Asc(Upper(.Objects(i).Caption)) - 64 + .Objects(i).Top = lnOffsetH + Floor((lnPozitie-1)/This.nColoane) * lnHeightB + .Objects(i).Left = lnOffsetW + Mod(lnPozitie-1,This.nColoane) * lnWidthB + Endif + Endfor + Endwith + This.Width = lnOffsetW + lnWidthB * This.nColoane + This.Height = lnOffsetH + lnHeightB * Ceiling(26 / This.nColoane) + This.Refresh() + ENDPROC + + PROCEDURE Cmd_a.Click + This.Parent.butonpress(Alltrim(Transform(This.Caption))) + ENDPROC + + PROCEDURE Cmd_b.Click + This.Parent.butonpress(Alltrim(Transform(This.Caption))) + ENDPROC + + PROCEDURE Cmd_c.Click + This.Parent.butonpress(Alltrim(Transform(This.Caption))) + ENDPROC + + PROCEDURE Cmd_d.Click + This.Parent.butonpress(Alltrim(Transform(This.Caption))) + ENDPROC + + PROCEDURE Cmd_e.Click + This.Parent.butonpress(Alltrim(Transform(This.Caption))) + ENDPROC + + PROCEDURE Cmd_f.Click + This.Parent.butonpress(Alltrim(Transform(This.Caption))) + ENDPROC + + PROCEDURE Cmd_g.Click + This.Parent.butonpress(Alltrim(Transform(This.Caption))) + ENDPROC + + PROCEDURE Cmd_h.Click + This.Parent.butonpress(Alltrim(Transform(This.Caption))) + ENDPROC + + PROCEDURE Cmd_i.Click + This.Parent.butonpress(Alltrim(Transform(This.Caption))) + ENDPROC + + PROCEDURE Cmd_j.Click + This.Parent.butonpress(Alltrim(Transform(This.Caption))) + ENDPROC + + PROCEDURE Cmd_k.Click + This.Parent.butonpress(Alltrim(Transform(This.Caption))) + ENDPROC + + PROCEDURE Cmd_l.Click + This.Parent.butonpress(Alltrim(Transform(This.Caption))) + ENDPROC + + PROCEDURE Cmd_m.Click + This.Parent.butonpress(Alltrim(Transform(This.Caption))) + ENDPROC + + PROCEDURE Cmd_n.Click + This.Parent.butonpress(Alltrim(Transform(This.Caption))) + ENDPROC + + PROCEDURE Cmd_o.Click + This.Parent.butonpress(Alltrim(Transform(This.Caption))) + ENDPROC + + PROCEDURE Cmd_p.Click + This.Parent.butonpress(Alltrim(Transform(This.Caption))) + ENDPROC + + PROCEDURE Cmd_q.Click + This.Parent.butonpress(Alltrim(Transform(This.Caption))) + ENDPROC + + PROCEDURE Cmd_r.Click + This.Parent.butonpress(Alltrim(Transform(This.Caption))) + ENDPROC + + PROCEDURE Cmd_s.Click + This.Parent.butonpress(Alltrim(Transform(This.Caption))) + ENDPROC + + PROCEDURE Cmd_t.Click + This.Parent.butonpress(Alltrim(Transform(This.Caption))) + ENDPROC + + PROCEDURE Cmd_u.Click + This.Parent.butonpress(Alltrim(Transform(This.Caption))) + ENDPROC + + PROCEDURE Cmd_v.Click + This.Parent.butonpress(Alltrim(Transform(This.Caption))) + ENDPROC + + PROCEDURE Cmd_w.Click + This.Parent.butonpress(Alltrim(Transform(This.Caption))) + ENDPROC + + PROCEDURE Cmd_x.Click + This.Parent.butonpress(Alltrim(Transform(This.Caption))) + ENDPROC + + PROCEDURE Cmd_y.Click + This.Parent.butonpress(Alltrim(Transform(This.Caption))) + ENDPROC + + PROCEDURE Cmd_z.Click + This.Parent.butonpress(Alltrim(Transform(This.Caption))) + ENDPROC + +ENDDEFINE + +DEFINE CLASS ct_but_general AS _ctfrmbase OF "_ct_base.vcx" + *< CLASSDATA: Baseclass="container" Timestamp="" Scale="Pixels" Uniqueid="" /> + + *-- OBJECTDATA items order determines ZOrder / El orden de los items OBJECTDATA determina el ZOrder + *< OBJECTDATA: ObjPath="Cmd_ts" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="lb_explicatie" UniqueID="" Timestamp="" /> + + * + *m: butonpress + *m: do_initializeaza + *p: cclasa + *p: cexplicatie + *p: clista + *p: cotxt_activ + *p: cseparator && Caracterul separator pentru elementele din cLista. + *p: lfocus && .T. daca obiectul in care se inscrie valoarea, primeste focusul. + *p: linlocuieste && .T. daca valoarea este inlocuita de fiecare daca cand se apasa un buton din container. + *p: ncoloane && Numarul de coloane pe care se afiseaza butoanele. + *p: nheightb + *p: nobiecte && Nr. de obiecte din clasa cClasa de pe container. + *p: noffseth + *p: noffsetw + *p: nrgbfont && Culoarea literelor. + *p: nrgbfundal && Culoarea de fundal a butoanelor. + *p: nwidthb + * + + * + BackStyle = 0 + cclasa = + cexplicatie = + clista = + cotxt_activ = + cseparator = | + Height = 60 + lfocus = .F. + linlocuieste = .F. + Name = "ct_but_general" + ncoloane = 1 + nheightb = 0 + nobiecte = 1 + noffseth = 0 + noffsetw = 0 + nrgbfont = 0 + nrgbfundal = 0 + nwidthb = 0 + Width = 51 + _memberdata = + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Gridsort1.Height = 17 + Gridsort1.Left = 36 + Gridsort1.Name = "Gridsort1" + Gridsort1.Top = 72 + Gridsort1.Width = 12 + _ct_controller_keypress1.Left = 24 + _ct_controller_keypress1.Name = "_ct_controller_keypress1" + _ct_controller_keypress1.Top = 72 + * + + ADD OBJECT 'Cmd_ts' AS cmd_ts WITH ; + BackColor = 74,79,234, ; + Caption = "X", ; + ForeColor = 255,255,255, ; + Left = 0, ; + Name = "Cmd_ts", ; + Top = 24 + *< END OBJECT: ClassLib="otouchscreen.vcx" BaseClass="commandbutton" /> + + ADD OBJECT 'lb_explicatie' AS lb_titlu_negru_b12 WITH ; + Caption = "Expl.", ; + FontName = "Arial Black", ; + Left = 0, ; + Name = "lb_explicatie", ; + Top = 0 + *< END OBJECT: ClassLib="lb.vcx" BaseClass="label" /> + + PROCEDURE butonpress + Lparameters tcCod + + lcCod = Alltrim(Transform(tcCod)) + lcObiectText = This.cotxt_activ + If Type(lcObiectText) = 'O' + loText = &lcObiectText + If This.lInlocuieste + If lcCod = "<-" + loText.Value = [] + Else + loText.Value = lcCod + Endif + Else + If lcCod = "<-" + loText.Value = Substr(Alltrim(loText.Value), 1, Len(Alltrim(loText.Value)) -1) + Else + loText.Value = Alltrim(loText.Value) + lcCod + Endif + Endif + loText.SelStart = loText.SelLength + If This.lFocus + loText.SetFocus() + Endif + Endif + ENDPROC + + PROCEDURE do_initializeaza + Lparameters tcLista + Local lcLista,lcClasa,lnWidthB,lnHeightB,lnOffsetH,lnOffsetW,i,lnNrElem,lcNumeObiectSt,lcNumeObiect,lnHeightLb + lcNumeObiectSt = [cmd_ts] + If Empty(tcLista) + lcLista = This.clista + Else + lcLista = tcLista + Endif + lcClasa = This.cClasa + For i = 1 To This.nObiecte + This.RemoveObject(lcNumeObiectSt + Alltrim(Str(i))) + Endfor + This.nObiecte = 0 + If !Empty(This.cexplicatie) + This.lb_EXPLICATIE.AutoSize = .F. + This.lb_EXPLICATIE.Caption = This.cexplicatie + This.lb_EXPLICATIE.AutoSize = .T. + This.lb_EXPLICATIE.Visible = .T. + lnHeightLb = 0 + Else + This.lb_EXPLICATIE.Caption = [] + This.lb_EXPLICATIE.Visible = .F. + lnHeightLb = This.lb_EXPLICATIE.Height + This.lb_EXPLICATIE.Top + Endif + If !Empty(lcLista) + lnWidthB = This.nWidthB + lnHeightB = This.nHeightB + lnOffsetH = This.nOffsetH - lnHeightLb + lnOffsetW = This.nOffsetW + lnNrElem = Getwordcount(lcLista,This.cseparator) + With This + For i = 1 To lnNrElem + lcNumeObiect = lcNumeObiectSt + Alltrim(Str(i)) + .AddObject(lcNumeObiect,lcClasa) + .nObiecte = .nObiecte + 1 + With .&lcNumeObiect. + .Caption = Getwordnum(lcLista,i,This.cseparator) + .Top = lnOffsetH + Floor((This.nObiecte-1)/This.nColoane) * lnHeightB + .Left = lnOffsetW + Mod(This.nObiecte-1,This.nColoane) * lnWidthB + .Visible = .T. + Endwith + Endfor + Endwith + This.Width = lnOffsetW + lnWidthB * This.nColoane + This.Height = lnOffsetH + lnHeightB * Ceiling(This.nObiecte / This.nColoane) + This.SetAll([BackColor],This.nRgbFundal,lcClasa) + This.SetAll([ForeColor],This.nRgbFont,lcClasa) + If lnHeightLb = 0 + This.lb_EXPLICATIE.Left = Floor((This.Width - This.lb_EXPLICATIE.Width)/2) + Endif + Endif + This.Refresh() + ENDPROC + + PROCEDURE Init + Local lnWidthB,lnHeightB,lcClass,lcRgbFundal,lcRgbFont + DoDefault() + This.nWidthB = This.cmd_ts.Width + This.nHeightB = This.cmd_ts.Height + This.nOffsetH = This.cmd_ts.Top + This.nOffsetW = This.cmd_ts.Left + This.cClasa = Upper(This.cmd_ts.Class) + This.nRgbfont = This.cmd_ts.ForeColor + This.nrgbfundal = This.cmd_ts.BackColor + This.RemoveObject([cmd_ts]) + This.nObiecte = 0 + This.do_initializeaza() + ENDPROC + +ENDDEFINE + +DEFINE CLASS ct_calendar AS _ctfrmbase OF "_ct_base.vcx" + *< CLASSDATA: Baseclass="container" Timestamp="" Scale="Pixels" Uniqueid="" /> + + *-- OBJECTDATA items order determines ZOrder / El orden de los items OBJECTDATA determina el ZOrder + *< OBJECTDATA: ObjPath="Cmd_1_1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="Cmd_2_1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="Cmd_1_2" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="Cmd_2_2" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="Cmd_1_3" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="Cmd_2_3" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="Cmd_1_4" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="Cmd_2_4" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="Cmd_1_5" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="Cmd_2_5" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="Cmd_1_6" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="Cmd_2_6" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="Cmd_1_7" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="Cmd_2_7" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="Cmd_3_1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="Cmd_3_2" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="Cmd_3_3" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="Cmd_3_4" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="Cmd_3_5" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="Cmd_3_6" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="Cmd_3_7" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="Cmd_4_1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="Cmd_4_2" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="Cmd_4_3" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="Cmd_4_4" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="Cmd_4_5" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="Cmd_4_6" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="Cmd_4_7" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="Cmd_5_1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="Cmd_5_2" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="Cmd_5_3" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="Cmd_5_4" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="Cmd_5_5" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="Cmd_5_6" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="Cmd_5_7" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="Cmd_6_1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="Cmd_6_2" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="Cmd_6_3" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="Cmd_6_4" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="Cmd_6_5" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="Cmd_6_6" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="Cmd_6_7" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="Cmd_inapoi" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="Cmd_inainte" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="lb_luna" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="lb_an" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="lb_luni" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="lb_miercuri" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="lb_vineri" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="lb_duminica" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="lb_sambata" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="lb_joi" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="lb_marti" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="Cmd_azi" UniqueID="" Timestamp="" /> + + * + *m: actualizeaza_calendar + *m: butonpress + *p: cotxt_activ + *p: crgbbackcolor && Culoarea de fundal a butoanelor. + *p: crgbbackcolorazi && Ziua curenta + *p: crgbdisabledbackcolor + *p: crgbforecolor && Culoarea literelor. + *p: dazi + *p: nan + *p: ncoloane && Numarul de coloane pe care se afiseaza alfabetul. + *p: nluna + *p: nzi + * + + * + BackStyle = 0 + cotxt_activ = + crgbbackcolor = 74,79,234 + crgbbackcolorazi = 128,0,0 + crgbdisabledbackcolor = 128,128,128 + crgbforecolor = 255,255,255 + dazi = + Height = 284 + Name = "ct_calendar" + nan = 2009 + ncoloane = 13 + nluna = 1 + nzi = 1 + Width = 336 + Gridsort1.Height = 17 + Gridsort1.Left = 0 + Gridsort1.Name = "Gridsort1" + Gridsort1.Top = 0 + Gridsort1.Width = 39 + _ct_controller_keypress1.Left = 0 + _ct_controller_keypress1.Name = "_ct_controller_keypress1" + _ct_controller_keypress1.Top = 12 + * + + ADD OBJECT 'Cmd_1_1' AS cmd_buton WITH ; + BackColor = 74,79,234, ; + Caption = "1", ; + FontName = "Arial Black", ; + FontSize = 20, ; + ForeColor = 255,255,255, ; + Height = 36, ; + Left = 0, ; + Name = "Cmd_1_1", ; + Themes = .F., ; + Top = 69, ; + Width = 48 + *< END OBJECT: ClassLib="_cmd_base.vcx" BaseClass="commandbutton" /> + + ADD OBJECT 'Cmd_1_2' AS cmd_buton WITH ; + BackColor = 74,79,234, ; + Caption = "2", ; + FontName = "Arial Black", ; + FontSize = 20, ; + ForeColor = 255,255,255, ; + Height = 36, ; + Left = 48, ; + Name = "Cmd_1_2", ; + Themes = .F., ; + Top = 69, ; + Width = 48 + *< END OBJECT: ClassLib="_cmd_base.vcx" BaseClass="commandbutton" /> + + ADD OBJECT 'Cmd_1_3' AS cmd_buton WITH ; + BackColor = 74,79,234, ; + Caption = "3", ; + FontName = "Arial Black", ; + FontSize = 20, ; + ForeColor = 255,255,255, ; + Height = 36, ; + Left = 96, ; + Name = "Cmd_1_3", ; + Themes = .F., ; + Top = 69, ; + Width = 48 + *< END OBJECT: ClassLib="_cmd_base.vcx" BaseClass="commandbutton" /> + + ADD OBJECT 'Cmd_1_4' AS cmd_buton WITH ; + BackColor = 74,79,234, ; + Caption = "4", ; + FontName = "Arial Black", ; + FontSize = 20, ; + ForeColor = 255,255,255, ; + Height = 36, ; + Left = 144, ; + Name = "Cmd_1_4", ; + Themes = .F., ; + Top = 69, ; + Width = 48 + *< END OBJECT: ClassLib="_cmd_base.vcx" BaseClass="commandbutton" /> + + ADD OBJECT 'Cmd_1_5' AS cmd_buton WITH ; + BackColor = 74,79,234, ; + Caption = "5", ; + FontName = "Arial Black", ; + FontSize = 20, ; + ForeColor = 255,255,255, ; + Height = 36, ; + Left = 192, ; + Name = "Cmd_1_5", ; + Themes = .F., ; + Top = 69, ; + Width = 48 + *< END OBJECT: ClassLib="_cmd_base.vcx" BaseClass="commandbutton" /> + + ADD OBJECT 'Cmd_1_6' AS cmd_buton WITH ; + BackColor = 74,79,234, ; + Caption = "6", ; + FontName = "Arial Black", ; + FontSize = 20, ; + ForeColor = 255,255,255, ; + Height = 36, ; + Left = 240, ; + Name = "Cmd_1_6", ; + Themes = .F., ; + Top = 69, ; + Width = 48 + *< END OBJECT: ClassLib="_cmd_base.vcx" BaseClass="commandbutton" /> + + ADD OBJECT 'Cmd_1_7' AS cmd_buton WITH ; + BackColor = 74,79,234, ; + Caption = "7", ; + FontName = "Arial Black", ; + FontSize = 20, ; + ForeColor = 255,255,255, ; + Height = 36, ; + Left = 288, ; + Name = "Cmd_1_7", ; + Themes = .F., ; + Top = 69, ; + Width = 48 + *< END OBJECT: ClassLib="_cmd_base.vcx" BaseClass="commandbutton" /> + + ADD OBJECT 'Cmd_2_1' AS cmd_buton WITH ; + BackColor = 74,79,234, ; + Caption = "1", ; + FontName = "Arial Black", ; + FontSize = 20, ; + ForeColor = 255,255,255, ; + Height = 36, ; + Left = 0, ; + Name = "Cmd_2_1", ; + Themes = .F., ; + Top = 105, ; + Width = 48 + *< END OBJECT: ClassLib="_cmd_base.vcx" BaseClass="commandbutton" /> + + ADD OBJECT 'Cmd_2_2' AS cmd_buton WITH ; + BackColor = 74,79,234, ; + Caption = "2", ; + FontName = "Arial Black", ; + FontSize = 20, ; + ForeColor = 255,255,255, ; + Height = 36, ; + Left = 48, ; + Name = "Cmd_2_2", ; + Themes = .F., ; + Top = 105, ; + Width = 48 + *< END OBJECT: ClassLib="_cmd_base.vcx" BaseClass="commandbutton" /> + + ADD OBJECT 'Cmd_2_3' AS cmd_buton WITH ; + BackColor = 74,79,234, ; + Caption = "3", ; + FontName = "Arial Black", ; + FontSize = 20, ; + ForeColor = 255,255,255, ; + Height = 36, ; + Left = 96, ; + Name = "Cmd_2_3", ; + Themes = .F., ; + Top = 105, ; + Width = 48 + *< END OBJECT: ClassLib="_cmd_base.vcx" BaseClass="commandbutton" /> + + ADD OBJECT 'Cmd_2_4' AS cmd_buton WITH ; + BackColor = 74,79,234, ; + Caption = "4", ; + FontName = "Arial Black", ; + FontSize = 20, ; + ForeColor = 255,255,255, ; + Height = 36, ; + Left = 144, ; + Name = "Cmd_2_4", ; + Themes = .F., ; + Top = 105, ; + Width = 48 + *< END OBJECT: ClassLib="_cmd_base.vcx" BaseClass="commandbutton" /> + + ADD OBJECT 'Cmd_2_5' AS cmd_buton WITH ; + BackColor = 74,79,234, ; + Caption = "5", ; + FontName = "Arial Black", ; + FontSize = 20, ; + ForeColor = 255,255,255, ; + Height = 36, ; + Left = 192, ; + Name = "Cmd_2_5", ; + Themes = .F., ; + Top = 105, ; + Width = 48 + *< END OBJECT: ClassLib="_cmd_base.vcx" BaseClass="commandbutton" /> + + ADD OBJECT 'Cmd_2_6' AS cmd_buton WITH ; + BackColor = 74,79,234, ; + Caption = "6", ; + FontName = "Arial Black", ; + FontSize = 20, ; + ForeColor = 255,255,255, ; + Height = 36, ; + Left = 240, ; + Name = "Cmd_2_6", ; + Themes = .F., ; + Top = 105, ; + Width = 48 + *< END OBJECT: ClassLib="_cmd_base.vcx" BaseClass="commandbutton" /> + + ADD OBJECT 'Cmd_2_7' AS cmd_buton WITH ; + BackColor = 74,79,234, ; + Caption = "7", ; + FontName = "Arial Black", ; + FontSize = 20, ; + ForeColor = 255,255,255, ; + Height = 36, ; + Left = 288, ; + Name = "Cmd_2_7", ; + Themes = .F., ; + Top = 105, ; + Width = 48 + *< END OBJECT: ClassLib="_cmd_base.vcx" BaseClass="commandbutton" /> + + ADD OBJECT 'Cmd_3_1' AS cmd_buton WITH ; + BackColor = 74,79,234, ; + Caption = "1", ; + FontName = "Arial Black", ; + FontSize = 20, ; + ForeColor = 255,255,255, ; + Height = 36, ; + Left = 0, ; + Name = "Cmd_3_1", ; + Themes = .F., ; + Top = 141, ; + Width = 48 + *< END OBJECT: ClassLib="_cmd_base.vcx" BaseClass="commandbutton" /> + + ADD OBJECT 'Cmd_3_2' AS cmd_buton WITH ; + BackColor = 74,79,234, ; + Caption = "2", ; + FontName = "Arial Black", ; + FontSize = 20, ; + ForeColor = 255,255,255, ; + Height = 36, ; + Left = 48, ; + Name = "Cmd_3_2", ; + Themes = .F., ; + Top = 141, ; + Width = 48 + *< END OBJECT: ClassLib="_cmd_base.vcx" BaseClass="commandbutton" /> + + ADD OBJECT 'Cmd_3_3' AS cmd_buton WITH ; + BackColor = 74,79,234, ; + Caption = "3", ; + FontName = "Arial Black", ; + FontSize = 20, ; + ForeColor = 255,255,255, ; + Height = 36, ; + Left = 96, ; + Name = "Cmd_3_3", ; + Themes = .F., ; + Top = 141, ; + Width = 48 + *< END OBJECT: ClassLib="_cmd_base.vcx" BaseClass="commandbutton" /> + + ADD OBJECT 'Cmd_3_4' AS cmd_buton WITH ; + BackColor = 74,79,234, ; + Caption = "4", ; + FontName = "Arial Black", ; + FontSize = 20, ; + ForeColor = 255,255,255, ; + Height = 36, ; + Left = 144, ; + Name = "Cmd_3_4", ; + Themes = .F., ; + Top = 141, ; + Width = 48 + *< END OBJECT: ClassLib="_cmd_base.vcx" BaseClass="commandbutton" /> + + ADD OBJECT 'Cmd_3_5' AS cmd_buton WITH ; + BackColor = 74,79,234, ; + Caption = "5", ; + FontName = "Arial Black", ; + FontSize = 20, ; + ForeColor = 255,255,255, ; + Height = 36, ; + Left = 192, ; + Name = "Cmd_3_5", ; + Themes = .F., ; + Top = 141, ; + Width = 48 + *< END OBJECT: ClassLib="_cmd_base.vcx" BaseClass="commandbutton" /> + + ADD OBJECT 'Cmd_3_6' AS cmd_buton WITH ; + BackColor = 74,79,234, ; + Caption = "6", ; + FontName = "Arial Black", ; + FontSize = 20, ; + ForeColor = 255,255,255, ; + Height = 36, ; + Left = 240, ; + Name = "Cmd_3_6", ; + Themes = .F., ; + Top = 141, ; + Width = 48 + *< END OBJECT: ClassLib="_cmd_base.vcx" BaseClass="commandbutton" /> + + ADD OBJECT 'Cmd_3_7' AS cmd_buton WITH ; + BackColor = 74,79,234, ; + Caption = "7", ; + FontName = "Arial Black", ; + FontSize = 20, ; + ForeColor = 255,255,255, ; + Height = 36, ; + Left = 288, ; + Name = "Cmd_3_7", ; + Themes = .F., ; + Top = 141, ; + Width = 48 + *< END OBJECT: ClassLib="_cmd_base.vcx" BaseClass="commandbutton" /> + + ADD OBJECT 'Cmd_4_1' AS cmd_buton WITH ; + BackColor = 74,79,234, ; + Caption = "1", ; + FontName = "Arial Black", ; + FontSize = 20, ; + ForeColor = 255,255,255, ; + Height = 36, ; + Left = 0, ; + Name = "Cmd_4_1", ; + Themes = .F., ; + Top = 176, ; + Width = 48 + *< END OBJECT: ClassLib="_cmd_base.vcx" BaseClass="commandbutton" /> + + ADD OBJECT 'Cmd_4_2' AS cmd_buton WITH ; + BackColor = 74,79,234, ; + Caption = "2", ; + FontName = "Arial Black", ; + FontSize = 20, ; + ForeColor = 255,255,255, ; + Height = 36, ; + Left = 48, ; + Name = "Cmd_4_2", ; + Themes = .F., ; + Top = 176, ; + Width = 48 + *< END OBJECT: ClassLib="_cmd_base.vcx" BaseClass="commandbutton" /> + + ADD OBJECT 'Cmd_4_3' AS cmd_buton WITH ; + BackColor = 74,79,234, ; + Caption = "3", ; + FontName = "Arial Black", ; + FontSize = 20, ; + ForeColor = 255,255,255, ; + Height = 36, ; + Left = 96, ; + Name = "Cmd_4_3", ; + Themes = .F., ; + Top = 176, ; + Width = 48 + *< END OBJECT: ClassLib="_cmd_base.vcx" BaseClass="commandbutton" /> + + ADD OBJECT 'Cmd_4_4' AS cmd_buton WITH ; + BackColor = 74,79,234, ; + Caption = "4", ; + FontName = "Arial Black", ; + FontSize = 20, ; + ForeColor = 255,255,255, ; + Height = 36, ; + Left = 144, ; + Name = "Cmd_4_4", ; + Themes = .F., ; + Top = 176, ; + Width = 48 + *< END OBJECT: ClassLib="_cmd_base.vcx" BaseClass="commandbutton" /> + + ADD OBJECT 'Cmd_4_5' AS cmd_buton WITH ; + BackColor = 74,79,234, ; + Caption = "5", ; + FontName = "Arial Black", ; + FontSize = 20, ; + ForeColor = 255,255,255, ; + Height = 36, ; + Left = 192, ; + Name = "Cmd_4_5", ; + Themes = .F., ; + Top = 176, ; + Width = 48 + *< END OBJECT: ClassLib="_cmd_base.vcx" BaseClass="commandbutton" /> + + ADD OBJECT 'Cmd_4_6' AS cmd_buton WITH ; + BackColor = 74,79,234, ; + Caption = "6", ; + FontName = "Arial Black", ; + FontSize = 20, ; + ForeColor = 255,255,255, ; + Height = 36, ; + Left = 240, ; + Name = "Cmd_4_6", ; + Themes = .F., ; + Top = 176, ; + Width = 48 + *< END OBJECT: ClassLib="_cmd_base.vcx" BaseClass="commandbutton" /> + + ADD OBJECT 'Cmd_4_7' AS cmd_buton WITH ; + BackColor = 74,79,234, ; + Caption = "7", ; + FontName = "Arial Black", ; + FontSize = 20, ; + ForeColor = 255,255,255, ; + Height = 36, ; + Left = 288, ; + Name = "Cmd_4_7", ; + Themes = .F., ; + Top = 176, ; + Width = 48 + *< END OBJECT: ClassLib="_cmd_base.vcx" BaseClass="commandbutton" /> + + ADD OBJECT 'Cmd_5_1' AS cmd_buton WITH ; + BackColor = 74,79,234, ; + Caption = "1", ; + FontName = "Arial Black", ; + FontSize = 20, ; + ForeColor = 255,255,255, ; + Height = 36, ; + Left = 0, ; + Name = "Cmd_5_1", ; + Themes = .F., ; + Top = 212, ; + Width = 48 + *< END OBJECT: ClassLib="_cmd_base.vcx" BaseClass="commandbutton" /> + + ADD OBJECT 'Cmd_5_2' AS cmd_buton WITH ; + BackColor = 74,79,234, ; + Caption = "2", ; + FontName = "Arial Black", ; + FontSize = 20, ; + ForeColor = 255,255,255, ; + Height = 36, ; + Left = 48, ; + Name = "Cmd_5_2", ; + Themes = .F., ; + Top = 212, ; + Width = 48 + *< END OBJECT: ClassLib="_cmd_base.vcx" BaseClass="commandbutton" /> + + ADD OBJECT 'Cmd_5_3' AS cmd_buton WITH ; + BackColor = 74,79,234, ; + Caption = "3", ; + FontName = "Arial Black", ; + FontSize = 20, ; + ForeColor = 255,255,255, ; + Height = 36, ; + Left = 96, ; + Name = "Cmd_5_3", ; + Themes = .F., ; + Top = 212, ; + Width = 48 + *< END OBJECT: ClassLib="_cmd_base.vcx" BaseClass="commandbutton" /> + + ADD OBJECT 'Cmd_5_4' AS cmd_buton WITH ; + BackColor = 74,79,234, ; + Caption = "4", ; + FontName = "Arial Black", ; + FontSize = 20, ; + ForeColor = 255,255,255, ; + Height = 36, ; + Left = 144, ; + Name = "Cmd_5_4", ; + Themes = .F., ; + Top = 212, ; + Width = 48 + *< END OBJECT: ClassLib="_cmd_base.vcx" BaseClass="commandbutton" /> + + ADD OBJECT 'Cmd_5_5' AS cmd_buton WITH ; + BackColor = 74,79,234, ; + Caption = "5", ; + FontName = "Arial Black", ; + FontSize = 20, ; + ForeColor = 255,255,255, ; + Height = 36, ; + Left = 192, ; + Name = "Cmd_5_5", ; + Themes = .F., ; + Top = 212, ; + Width = 48 + *< END OBJECT: ClassLib="_cmd_base.vcx" BaseClass="commandbutton" /> + + ADD OBJECT 'Cmd_5_6' AS cmd_buton WITH ; + BackColor = 74,79,234, ; + Caption = "6", ; + FontName = "Arial Black", ; + FontSize = 20, ; + ForeColor = 255,255,255, ; + Height = 36, ; + Left = 240, ; + Name = "Cmd_5_6", ; + Themes = .F., ; + Top = 212, ; + Width = 48 + *< END OBJECT: ClassLib="_cmd_base.vcx" BaseClass="commandbutton" /> + + ADD OBJECT 'Cmd_5_7' AS cmd_buton WITH ; + BackColor = 74,79,234, ; + Caption = "7", ; + FontName = "Arial Black", ; + FontSize = 20, ; + ForeColor = 255,255,255, ; + Height = 36, ; + Left = 288, ; + Name = "Cmd_5_7", ; + Themes = .F., ; + Top = 212, ; + Width = 48 + *< END OBJECT: ClassLib="_cmd_base.vcx" BaseClass="commandbutton" /> + + ADD OBJECT 'Cmd_6_1' AS cmd_buton WITH ; + BackColor = 74,79,234, ; + Caption = "1", ; + FontName = "Arial Black", ; + FontSize = 20, ; + ForeColor = 255,255,255, ; + Height = 36, ; + Left = 0, ; + Name = "Cmd_6_1", ; + Themes = .F., ; + Top = 248, ; + Width = 48 + *< END OBJECT: ClassLib="_cmd_base.vcx" BaseClass="commandbutton" /> + + ADD OBJECT 'Cmd_6_2' AS cmd_buton WITH ; + BackColor = 74,79,234, ; + Caption = "2", ; + FontName = "Arial Black", ; + FontSize = 20, ; + ForeColor = 255,255,255, ; + Height = 36, ; + Left = 48, ; + Name = "Cmd_6_2", ; + Themes = .F., ; + Top = 248, ; + Width = 48 + *< END OBJECT: ClassLib="_cmd_base.vcx" BaseClass="commandbutton" /> + + ADD OBJECT 'Cmd_6_3' AS cmd_buton WITH ; + BackColor = 74,79,234, ; + Caption = "3", ; + FontName = "Arial Black", ; + FontSize = 20, ; + ForeColor = 255,255,255, ; + Height = 36, ; + Left = 96, ; + Name = "Cmd_6_3", ; + Themes = .F., ; + Top = 248, ; + Width = 48 + *< END OBJECT: ClassLib="_cmd_base.vcx" BaseClass="commandbutton" /> + + ADD OBJECT 'Cmd_6_4' AS cmd_buton WITH ; + BackColor = 74,79,234, ; + Caption = "4", ; + FontName = "Arial Black", ; + FontSize = 20, ; + ForeColor = 255,255,255, ; + Height = 36, ; + Left = 144, ; + Name = "Cmd_6_4", ; + Themes = .F., ; + Top = 248, ; + Width = 48 + *< END OBJECT: ClassLib="_cmd_base.vcx" BaseClass="commandbutton" /> + + ADD OBJECT 'Cmd_6_5' AS cmd_buton WITH ; + BackColor = 74,79,234, ; + Caption = "5", ; + FontName = "Arial Black", ; + FontSize = 20, ; + ForeColor = 255,255,255, ; + Height = 36, ; + Left = 192, ; + Name = "Cmd_6_5", ; + Themes = .F., ; + Top = 248, ; + Width = 48 + *< END OBJECT: ClassLib="_cmd_base.vcx" BaseClass="commandbutton" /> + + ADD OBJECT 'Cmd_6_6' AS cmd_buton WITH ; + BackColor = 74,79,234, ; + Caption = "6", ; + FontName = "Arial Black", ; + FontSize = 20, ; + ForeColor = 255,255,255, ; + Height = 36, ; + Left = 240, ; + Name = "Cmd_6_6", ; + Themes = .F., ; + Top = 248, ; + Width = 48 + *< END OBJECT: ClassLib="_cmd_base.vcx" BaseClass="commandbutton" /> + + ADD OBJECT 'Cmd_6_7' AS cmd_buton WITH ; + Caption = "7", ; + FontName = "Arial Black", ; + FontSize = 20, ; + Height = 36, ; + Left = 288, ; + Name = "Cmd_6_7", ; + Themes = .F., ; + Top = 248, ; + Width = 48 + *< END OBJECT: ClassLib="_cmd_base.vcx" BaseClass="commandbutton" /> + + ADD OBJECT 'Cmd_azi' AS cmd_buton WITH ; + Caption = "AZI", ; + FontName = "Arial Black", ; + FontSize = 15, ; + Height = 36, ; + Left = 5, ; + Name = "Cmd_azi", ; + Themes = .F., ; + Top = 5, ; + Width = 48 + *< END OBJECT: ClassLib="_cmd_base.vcx" BaseClass="commandbutton" /> + + ADD OBJECT 'Cmd_inainte' AS cmd_buton WITH ; + Caption = ">", ; + FontName = "Arial Black", ; + FontSize = 20, ; + Height = 36, ; + Left = 281, ; + Name = "Cmd_inainte", ; + Themes = .F., ; + Top = 5, ; + Width = 48 + *< END OBJECT: ClassLib="_cmd_base.vcx" BaseClass="commandbutton" /> + + ADD OBJECT 'Cmd_inapoi' AS cmd_buton WITH ; + Caption = "<", ; + FontName = "Arial Black", ; + FontSize = 20, ; + Height = 36, ; + Left = 57, ; + Name = "Cmd_inapoi", ; + Themes = .F., ; + Top = 5, ; + Width = 48 + *< END OBJECT: ClassLib="_cmd_base.vcx" BaseClass="commandbutton" /> + + ADD OBJECT 'lb_an' AS lb_titlu_negru_b12 WITH ; + Caption = "2009", ; + Left = 172, ; + Name = "lb_an", ; + Top = 31 + *< END OBJECT: ClassLib="lb.vcx" BaseClass="label" /> + + ADD OBJECT 'lb_duminica' AS lb_simplu WITH ; + Caption = "D", ; + FontBold = .T., ; + Left = 307, ; + Name = "lb_duminica", ; + Top = 51 + *< END OBJECT: ClassLib="lb.vcx" BaseClass="label" /> + + ADD OBJECT 'lb_joi' AS lb_simplu WITH ; + Caption = "J", ; + FontBold = .T., ; + Left = 164, ; + Name = "lb_joi", ; + Top = 51 + *< END OBJECT: ClassLib="lb.vcx" BaseClass="label" /> + + ADD OBJECT 'lb_luna' AS lb_titlu_negru_b12 WITH ; + Alignment = 2, ; + AutoSize = .F., ; + Caption = "IANUARIE", ; + FontSize = 18, ; + Height = 32, ; + Left = 107, ; + Name = "lb_luna", ; + Top = 5, ; + Width = 168 + *< END OBJECT: ClassLib="lb.vcx" BaseClass="label" /> + + ADD OBJECT 'lb_luni' AS lb_simplu WITH ; + Caption = "L", ; + FontBold = .T., ; + Left = 20, ; + Name = "lb_luni", ; + Top = 51 + *< END OBJECT: ClassLib="lb.vcx" BaseClass="label" /> + + ADD OBJECT 'lb_marti' AS lb_simplu WITH ; + Caption = "Ma", ; + FontBold = .T., ; + Left = 63, ; + Name = "lb_marti", ; + Top = 51 + *< END OBJECT: ClassLib="lb.vcx" BaseClass="label" /> + + ADD OBJECT 'lb_miercuri' AS lb_simplu WITH ; + Caption = "Mi", ; + FontBold = .T., ; + Left = 113, ; + Name = "lb_miercuri", ; + Top = 51 + *< END OBJECT: ClassLib="lb.vcx" BaseClass="label" /> + + ADD OBJECT 'lb_sambata' AS lb_simplu WITH ; + Caption = "S", ; + FontBold = .T., ; + Left = 259, ; + Name = "lb_sambata", ; + Top = 51 + *< END OBJECT: ClassLib="lb.vcx" BaseClass="label" /> + + ADD OBJECT 'lb_vineri' AS lb_simplu WITH ; + Caption = "V", ; + FontBold = .T., ; + Left = 211, ; + Name = "lb_vineri", ; + Top = 51 + *< END OBJECT: ClassLib="lb.vcx" BaseClass="label" /> + + PROCEDURE actualizeaza_calendar + Lparameters tnDiferenta + Local lcLuna,lnAnLuna,lnUltimaZi,lnPrimaSaptZi,lnUltimaSaptZi,lcNumeButon,lnZi + lnAnLuna = This.nluna + This.nan * 12 + tnDiferenta + lnRest = Mod(lnAnLuna,12) + This.nluna = Iif(lnRest = 0,12,lnRest) + This.nan = Int(lnAnLuna/12) - Iif(lnRest = 0,1,0) + Do Case + Case This.nluna = 1 + lcLuna = [IANUARIE] + Case This.nluna = 2 + lcLuna = [FEBRUARIE] + Case This.nluna = 3 + lcLuna = [MARTIE] + Case This.nluna = 4 + lcLuna = [APRILIE] + Case This.nluna = 5 + lcLuna = [MAI] + Case This.nluna = 6 + lcLuna = [IUNIE] + Case This.nluna = 7 + lcLuna = [IULIE] + Case This.nluna = 8 + lcLuna = [AUGUST] + Case This.nluna = 9 + lcLuna = [SEPTEMBRIE] + Case This.nluna = 10 + lcLuna = [OCTOMBRIE] + Case This.nluna = 11 + lcLuna = [NOIEMBRIE] + Case This.nluna = 12 + lcLuna = [DECEMBRIE] + Endcase + This.lb_luna.Caption = lcLuna + This.lb_an.Caption = Alltrim(Str(This.nan)) + lnUltimaZi = Gomonth(Date(This.nan,This.nluna,1),1)-1 + lnPrimaSaptZi = Dow(Date(This.nan,This.nluna,1),2) + lnUltimaSaptZi = Dow(lnUltimaZi,2) + lnNrSaptamani = Ceiling((Day(lnUltimaZi) - (7 - lnPrimaSaptZi + 1))/7) + lnZi = 1 + If !Empty(This.crgbbackcolorazi) + If !Empty(This.crgbbackcolor) + lcRgbFundal = [RGB(] + This.crgbbackcolor + [)] + This.SetAll([BackColor],&lcRgbFundal,[cmd_buton]) + Else + This.SetAll([BackColor],This.cmd_6_7.BackColor,[cmd_buton]) + Endif + Endif + For i = 1 To 6 + For j = 1 To 7 + lcNumeButon = [This.Cmd_]+Alltrim(Str(i))+[_]+Alltrim(Str(j)) + With &lcNumeButon. + If Between((i-1)*7+j,lnPrimaSaptZi,lnNrSaptamani*7+lnUltimaSaptZi) + If !Empty(This.crgbbackcolorazi) And Date(This.nan,This.nluna,lnZi) = This.dazi + lcRgbFundal = [RGB(] + This.crgbbackcolorazi + [)] + .BackColor = &lcRgbFundal + Endif + .Caption = Alltrim(Str(lnZi)) + .Enabled = .T. + .Visible = .T. + lnZi = lnZi + 1 + Else + .Caption = [] + .Enabled = .F. + .Visible = .F. + Endif + Endwith + Endfor + Endfor + If !Empty(This.crgbbackcolorazi) + This.cmd_azi.BackColor = EVALUATE([RGB(] + This.crgbbackcolorazi + [)]) + Endif + This.Refresh() + + ENDPROC + + PROCEDURE butonpress + Lparameters tcCod + Local lnZi + lnZi = Val(tcCod) + lcObiectText = This.cotxt_activ + If Type(lcObiectText) = 'O' + loText = &lcObiectText + loText.Value = Date(This.nan,This.nluna,lnZi) + This.nZi = lnZi + Endif + ENDPROC + + PROCEDURE do_cauta + LPARAMETERS tdData + Local lnDiferenta + lnDiferenta = Year(tdData) * 12 + Month(tdData) - (This.nan * 12 + This.nluna) + This.actualizeaza_calendar(lnDiferenta) + This.butonpress(Str(Day(tdData))) + ENDPROC + + PROCEDURE do_reset + This.do_cauta(This.dazi) + ENDPROC + + PROCEDURE Init + Local lnWidthB,lnHeightB,lcClass,lcRgbFundal,lcRgbFont,ltData + DoDefault() + If !Empty(This.crgbbackcolor) And Empty(This.crgbbackcolorazi) + lcRgbFundal = [RGB(] + This.crgbbackcolor+[)] + This.SetAll([BackColor],&lcRgbFundal,[cmd_buton]) + Endif + If !Empty(This.crgbforecolor) + lcRgbFont = [RGB(] + This.crgbforecolor + [)] + This.SetAll([ForeColor],&lcRgbFont,[cmd_buton]) + Endif + If !Empty(This.crgbdisabledbackcolor) + lcRgbFundal = [RGB(] + This.crgbdisabledbackcolor + [)] + This.SetAll([DisabledBackColor],&lcRgbFundal,[cmd_buton]) + Endif + ltData = get_ora() + This.dazi = Ttod(ltData) + This.nan = Year(ltData) + This.nluna = Month(ltData) + *!* This.actualizeaza_calendar(0) + *!* This.butonpress(Str(Day(This.dazi))) + This.do_reset() + *!* This.Refresh() + ENDPROC + + PROCEDURE Cmd_1_1.Click + This.Parent.butonpress(Alltrim(Transform(This.Caption))) + ENDPROC + + PROCEDURE Cmd_1_2.Click + This.Parent.butonpress(Alltrim(Transform(This.Caption))) + ENDPROC + + PROCEDURE Cmd_1_3.Click + This.Parent.butonpress(Alltrim(Transform(This.Caption))) + ENDPROC + + PROCEDURE Cmd_1_4.Click + This.Parent.butonpress(Alltrim(Transform(This.Caption))) + ENDPROC + + PROCEDURE Cmd_1_5.Click + This.Parent.butonpress(Alltrim(Transform(This.Caption))) + ENDPROC + + PROCEDURE Cmd_1_6.Click + This.Parent.butonpress(Alltrim(Transform(This.Caption))) + ENDPROC + + PROCEDURE Cmd_1_7.Click + This.Parent.butonpress(Alltrim(Transform(This.Caption))) + ENDPROC + + PROCEDURE Cmd_2_1.Click + This.Parent.butonpress(Alltrim(Transform(This.Caption))) + ENDPROC + + PROCEDURE Cmd_2_2.Click + This.Parent.butonpress(Alltrim(Transform(This.Caption))) + ENDPROC + + PROCEDURE Cmd_2_3.Click + This.Parent.butonpress(Alltrim(Transform(This.Caption))) + ENDPROC + + PROCEDURE Cmd_2_4.Click + This.Parent.butonpress(Alltrim(Transform(This.Caption))) + ENDPROC + + PROCEDURE Cmd_2_5.Click + This.Parent.butonpress(Alltrim(Transform(This.Caption))) + ENDPROC + + PROCEDURE Cmd_2_6.Click + This.Parent.butonpress(Alltrim(Transform(This.Caption))) + ENDPROC + + PROCEDURE Cmd_2_7.Click + This.Parent.butonpress(Alltrim(Transform(This.Caption))) + ENDPROC + + PROCEDURE Cmd_3_1.Click + This.Parent.butonpress(Alltrim(Transform(This.Caption))) + ENDPROC + + PROCEDURE Cmd_3_2.Click + This.Parent.butonpress(Alltrim(Transform(This.Caption))) + ENDPROC + + PROCEDURE Cmd_3_3.Click + This.Parent.butonpress(Alltrim(Transform(This.Caption))) + ENDPROC + + PROCEDURE Cmd_3_4.Click + This.Parent.butonpress(Alltrim(Transform(This.Caption))) + ENDPROC + + PROCEDURE Cmd_3_5.Click + This.Parent.butonpress(Alltrim(Transform(This.Caption))) + ENDPROC + + PROCEDURE Cmd_3_6.Click + This.Parent.butonpress(Alltrim(Transform(This.Caption))) + ENDPROC + + PROCEDURE Cmd_3_7.Click + This.Parent.butonpress(Alltrim(Transform(This.Caption))) + ENDPROC + + PROCEDURE Cmd_4_1.Click + This.Parent.butonpress(Alltrim(Transform(This.Caption))) + ENDPROC + + PROCEDURE Cmd_4_2.Click + This.Parent.butonpress(Alltrim(Transform(This.Caption))) + ENDPROC + + PROCEDURE Cmd_4_3.Click + This.Parent.butonpress(Alltrim(Transform(This.Caption))) + ENDPROC + + PROCEDURE Cmd_4_4.Click + This.Parent.butonpress(Alltrim(Transform(This.Caption))) + ENDPROC + + PROCEDURE Cmd_4_5.Click + This.Parent.butonpress(Alltrim(Transform(This.Caption))) + ENDPROC + + PROCEDURE Cmd_4_6.Click + This.Parent.butonpress(Alltrim(Transform(This.Caption))) + ENDPROC + + PROCEDURE Cmd_4_7.Click + This.Parent.butonpress(Alltrim(Transform(This.Caption))) + ENDPROC + + PROCEDURE Cmd_5_1.Click + This.Parent.butonpress(Alltrim(Transform(This.Caption))) + ENDPROC + + PROCEDURE Cmd_5_2.Click + This.Parent.butonpress(Alltrim(Transform(This.Caption))) + ENDPROC + + PROCEDURE Cmd_5_3.Click + This.Parent.butonpress(Alltrim(Transform(This.Caption))) + ENDPROC + + PROCEDURE Cmd_5_4.Click + This.Parent.butonpress(Alltrim(Transform(This.Caption))) + ENDPROC + + PROCEDURE Cmd_5_5.Click + This.Parent.butonpress(Alltrim(Transform(This.Caption))) + ENDPROC + + PROCEDURE Cmd_5_6.Click + This.Parent.butonpress(Alltrim(Transform(This.Caption))) + ENDPROC + + PROCEDURE Cmd_5_7.Click + This.Parent.butonpress(Alltrim(Transform(This.Caption))) + ENDPROC + + PROCEDURE Cmd_6_1.Click + This.Parent.butonpress(Alltrim(Transform(This.Caption))) + ENDPROC + + PROCEDURE Cmd_6_2.Click + This.Parent.butonpress(Alltrim(Transform(This.Caption))) + ENDPROC + + PROCEDURE Cmd_6_3.Click + This.Parent.butonpress(Alltrim(Transform(This.Caption))) + ENDPROC + + PROCEDURE Cmd_6_4.Click + This.Parent.butonpress(Alltrim(Transform(This.Caption))) + ENDPROC + + PROCEDURE Cmd_6_5.Click + This.Parent.butonpress(Alltrim(Transform(This.Caption))) + ENDPROC + + PROCEDURE Cmd_6_6.Click + This.Parent.butonpress(Alltrim(Transform(This.Caption))) + ENDPROC + + PROCEDURE Cmd_6_7.Click + This.Parent.butonpress(Alltrim(Transform(This.Caption))) + ENDPROC + + PROCEDURE Cmd_azi.Click + This.Parent.do_reset() + ENDPROC + + PROCEDURE Cmd_inainte.Click + This.Parent.actualizeaza_calendar(1) + ENDPROC + + PROCEDURE Cmd_inapoi.Click + This.Parent.actualizeaza_calendar(-1) + ENDPROC + +ENDDEFINE + +DEFINE CLASS ct_cautare AS _ctfrmbase OF "_ct_base.vcx" + *< CLASSDATA: Baseclass="container" Timestamp="" Scale="Pixels" Uniqueid="" /> + + *-- OBJECTDATA items order determines ZOrder / El orden de los items OBJECTDATA determina el ZOrder + *< OBJECTDATA: ObjPath="Ct_tastatura1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="tx_descriere" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="Cmd_reset" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="But_cautare1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="Ct_ed_autocomplete1" UniqueID="" Timestamp="" /> + + * + *p: cotxt_activ + *p: crgbbackcolor && Culoarea de fundal a butoanelor. + *p: crgbforecolor && Culoarea literelor. + *p: csepzecimale && Caracterul separator pentru zecimale. + *p: lautocomplete + *p: ntip + * + + * + BackStyle = 0 + Height = 298 + lautocomplete = .F. + Name = "ct_cautare" + Width = 844 + Gridsort1.Height = 17 + Gridsort1.Left = 4 + Gridsort1.Name = "Gridsort1" + Gridsort1.Top = 81 + Gridsort1.Width = 26 + _ct_controller_keypress1.Left = 492 + _ct_controller_keypress1.Name = "_ct_controller_keypress1" + _ct_controller_keypress1.Top = 9 + * + + ADD OBJECT 'But_cautare1' AS but_cautare WITH ; + Height = 48, ; + Left = 712, ; + Name = "But_cautare1", ; + Top = 2, ; + Width = 60, ; + ZOrderSet = 9 + *< END OBJECT: ClassLib="cmd_butoane.vcx" BaseClass="commandbutton" /> + + ADD OBJECT 'Cmd_reset' AS cmd_executa WITH ; + caction = do_reset_cautare, ; + Caption = "\ + + ADD OBJECT 'Ct_ed_autocomplete1' AS ct_ed_autocomplete WITH ; + Left = 2, ; + Name = "Ct_ed_autocomplete1", ; + Top = 49, ; + Gridsort1.Name = "Gridsort1", ; + _ct_controller_keypress1.Name = "_ct_controller_keypress1", ; + _edbase1.FontName = "Arial Black", ; + _edbase1.FontSize = 25, ; + _edbase1.Name = "_edbase1", ; + Cmd_jos.Name = "Cmd_jos", ; + Cmd_sus.Name = "Cmd_sus" + *< END OBJECT: ClassLib="otouchscreen.vcx" BaseClass="container" /> + + ADD OBJECT 'Ct_tastatura1' AS ct_tastatura WITH ; + Left = -3, ; + Name = "Ct_tastatura1", ; + Top = 151, ; + Gridsort1.Name = "Gridsort1", ; + _ct_controller_keypress1.Name = "_ct_controller_keypress1", ; + Cmd_q.Name = "Cmd_q", ; + Cmd_z.Name = "Cmd_z", ; + Cmd_r.Name = "Cmd_r", ; + Cmd_t.Name = "Cmd_t", ; + Cmd_y.Name = "Cmd_y", ; + Cmd_u.Name = "Cmd_u", ; + Cmd_i.Name = "Cmd_i", ; + Cmd_o.Name = "Cmd_o", ; + Cmd_p.Name = "Cmd_p", ; + Cmd_w.Name = "Cmd_w", ; + Cmd_e.Name = "Cmd_e", ; + Cmd_d.Name = "Cmd_d", ; + Cmd_f.Name = "Cmd_f", ; + Cmd_g.Name = "Cmd_g", ; + Cmd_h.Name = "Cmd_h", ; + Cmd_j.Name = "Cmd_j", ; + Cmd_K.Name = "Cmd_K", ; + Cmd_l.Name = "Cmd_l", ; + Cmd_a.Name = "Cmd_a", ; + Cmd_s.Name = "Cmd_s", ; + Cmd_v.Name = "Cmd_v", ; + Cmd_b.Name = "Cmd_b", ; + Cmd_n.Name = "Cmd_n", ; + Cmd_m.Name = "Cmd_m", ; + Cmd_virgula.Name = "Cmd_virgula", ; + Cmd_slash.Name = "Cmd_slash", ; + Cmd_punct.Name = "Cmd_punct", ; + Cmd_x.Name = "Cmd_x", ; + Cmd_c.Name = "Cmd_c", ; + Cmd_enter.Name = "Cmd_enter", ; + Cmd_spatiu.Name = "Cmd_spatiu", ; + Cmd_7.Name = "Cmd_7", ; + Cmd_8.Name = "Cmd_8", ; + Cmd_9.Name = "Cmd_9", ; + Cmd_4.Name = "Cmd_4", ; + Cmd_5.Name = "Cmd_5", ; + Cmd_6.Name = "Cmd_6", ; + Cmd_3.Name = "Cmd_3", ; + Cmd_2.Name = "Cmd_2", ; + Cmd_1.Name = "Cmd_1", ; + Cmd_sepzecimale.Name = "Cmd_sepzecimale", ; + Cmd_0.Name = "Cmd_0", ; + Cmd_del.Name = "Cmd_del", ; + Cmd_backspace.Name = "Cmd_backspace", ; + Cmd_00.Name = "Cmd_00" + *< END OBJECT: ClassLib="otouchscreen.vcx" BaseClass="container" /> + + ADD OBJECT 'tx_descriere' AS _txbase WITH ; + FontName = "Arial Black", ; + FontSize = 25, ; + Height = 48, ; + Left = 2, ; + Name = "tx_descriere", ; + ReadOnly = .T., ; + Top = 2, ; + Width = 705, ; + ZOrderSet = 3 + *< END OBJECT: ClassLib="_tx_base.vcx" BaseClass="textbox" /> + +ENDDEFINE + +DEFINE CLASS ct_ceas AS _container OF "_baza.vcx" + *< CLASSDATA: Baseclass="container" Timestamp="" Scale="Pixels" Uniqueid="" /> + + *-- OBJECTDATA items order determines ZOrder / El orden de los items OBJECTDATA determina el ZOrder + *< OBJECTDATA: ObjPath="lb_ceas" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="Ceas1" UniqueID="" Timestamp="" /> + + * + *m: do_executa + *p: crgb && RGB pentru ceas. + *p: lsecunde + * + + * + BorderWidth = 0 + crgb = 0,0,0 + Height = 35 + lsecunde = .F. + Name = "ct_ceas" + Width = 132 + * + + ADD OBJECT 'Ceas1' AS ceas WITH ; + clbafisare = This.parent.lb_ceas, ; + Left = 108, ; + Name = "Ceas1", ; + Top = 0 + *< END OBJECT: ClassLib="otouchscreen.vcx" BaseClass="timer" /> + + ADD OBJECT 'lb_ceas' AS lb_simplu WITH ; + Caption = "00:00:00", ; + FontName = "Arial Black", ; + FontSize = 18, ; + Height = 35, ; + Left = 2, ; + Name = "lb_ceas", ; + Top = 0, ; + Width = 114 + *< END OBJECT: ClassLib="lb.vcx" BaseClass="label" /> + + PROCEDURE Destroy + Unbindevents(This.ceas1,"Timer",This,"do_executa") + ENDPROC + + PROCEDURE do_executa + ENDPROC + + PROCEDURE Init + This.ceas1.crgb = This.crgb + This.lb_ceas.AutoSize = .F. + This.ceas1.do_initializeaza_ceas(This.lsecunde) + This.lb_ceas.AutoSize = .T. + This.Width = This.lb_ceas.Width + This.lb_ceas.Left * 2 + This.Refresh() + Bindevent(This.ceas1,"Timer",This,"do_executa",1) + + ENDPROC + +ENDDEFINE + +DEFINE CLASS ct_cronometru AS _container OF "_baza.vcx" + *< CLASSDATA: Baseclass="container" Timestamp="" Scale="Pixels" Uniqueid="" /> + + *-- OBJECTDATA items order determines ZOrder / El orden de los items OBJECTDATA determina el ZOrder + *< OBJECTDATA: ObjPath="lb_cron" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="Cronometru1" UniqueID="" Timestamp="" /> + + * + *m: do_executa + *m: do_executa2 + *m: do_reset + *m: do_restart + *m: do_start + *m: do_stop + *p: crgbcresc && RGB atunci cand se cronometreaza crescator. + *p: crgbdesc && RGB atunci cand se cronometreaza descrescator. + *p: ctimpsecmax && Cat timp functionea + *p: ntip && 1 - cronometru (crescator); 2 - cronometru (descrescator) + *p: _memberdata && XML Metadata for customizable properties + * + + * + BorderWidth = 0 + crgbcresc = 0,0,0 + crgbdesc = 255,0,0 + ctimpsecmax = 00:00:00 + Height = 35 + Name = "ct_cronometru" + ntip = 1 + Width = 117 + _memberdata = + + + + * + + ADD OBJECT 'Cronometru1' AS cronometru WITH ; + clbafisare = This.parent.lb_cron, ; + Left = 49, ; + Name = "Cronometru1", ; + Top = 3 + *< END OBJECT: ClassLib="otouchscreen.vcx" BaseClass="timer" /> + + ADD OBJECT 'lb_cron' AS lb_simplu WITH ; + Caption = "00:00:00", ; + FontName = "Arial Black", ; + FontSize = 18, ; + Height = 35, ; + Left = 2, ; + Name = "lb_cron", ; + Top = 0, ; + Width = 114 + *< END OBJECT: ClassLib="lb.vcx" BaseClass="label" /> + + PROCEDURE Destroy + Unbindevents(This.cronometru1,"loprit",This,"do_executa") + Unbindevents(This.cronometru1,"Timer",This,"do_executa2") + ENDPROC + + PROCEDURE do_executa + ENDPROC + + PROCEDURE do_executa2 + ENDPROC + + PROCEDURE do_reset + This.cronometru1.do_reset() + + ENDPROC + + PROCEDURE do_restart + lparameters to1,to2,to3,to4,to5 + This.do_reset() + This.do_start() + ENDPROC + + PROCEDURE do_start + lparameters to1,to2,to3,to4,to5 + This.cronometru1.Enabled = .T. + ENDPROC + + PROCEDURE do_stop + lparameters to1,to2,to3,to4,to5 + This.cronometru1.Enabled = .F. + ENDPROC + + PROCEDURE Init + This.cronometru1.crgbcresc = This.crgbcresc + This.cronometru1.crgbdesc = This.crgbdesc + This.cronometru1.ctimpsecmax = This.ctimpsecmax + If This.nTip = 1 + This.cronometru1.do_initializeaza_cron(.T.) + Else + This.cronometru1.do_initializeaza_cron(.F.) + Endif + Bindevent(This.cronometru1,"loprit",This,"do_executa",1) + Bindevent(This.cronometru1,"Timer",This,"do_executa2",1) + ENDPROC + +ENDDEFINE + +DEFINE CLASS ct_ed_autocomplete AS _ctfrmbase OF "_ct_base.vcx" + *< CLASSDATA: Baseclass="container" Timestamp="" Scale="Pixels" Uniqueid="" /> + + *-- OBJECTDATA items order determines ZOrder / El orden de los items OBJECTDATA determina el ZOrder + *< OBJECTDATA: ObjPath="Cmd_jos" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="Cmd_sus" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="grd_rezultate" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="grd_rezultate.cValoareRez.Header1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="grd_rezultate.cValoareRez.Text1" UniqueID="" Timestamp="" /> + + * + *m: do_memoreaza + *m: initializeaza_setari + *p: ccampid && Numele campului care contine id-ul. + *p: ccampvaloare && Numele campului care contine valoarea afisata. + *p: cfiltrusuplimentar + *p: cprocedura && Numele procedurii. + *p: cprocedurac && Numele procedurii care trebuie apelata dupa ce a fost memorata valoarea aleasa. + *p: nminchar && Numarul minim de caractere pentru care se face cautarea. + *p: oobiect && Obiectul care contine procedura ( daca nu se completeaza, se apeleaza procedura direct ). + *p: oobiectc && Obiectul care contine procedura ce trebuie apelata dupa ce a fost memorata valoarea aleasa. + *p: orandselectat && Obiect care contine elementele randului selectat din grid. + *p: otxt && Obiectul care contine valoarea dupa care se vor filtra rezultatele. + * + + * + ccampid = + ccampvaloare = + cfiltrusuplimentar = + cprocedura = + cprocedurac = + Height = 97 + Name = "ct_ed_autocomplete" + nminchar = 2 + oobiect = .NULL. + oobiectc = .NULL. + orandselectat = .NULL. + otxt = .NULL. + Width = 840 + Gridsort1.Height = 17 + Gridsort1.Left = 4 + Gridsort1.Name = "Gridsort1" + Gridsort1.Top = 81 + Gridsort1.Width = 26 + _ct_controller_keypress1.Left = 492 + _ct_controller_keypress1.Name = "_ct_controller_keypress1" + _ct_controller_keypress1.Top = 9 + * + + ADD OBJECT 'Cmd_jos' AS cmd_buton WITH ; + Anchor = 9, ; + cpicturedown = ts_jos2.bmp, ; + cpictureup = ts_jos1.bmp, ; + Height = 48, ; + Left = 791, ; + Name = "Cmd_jos", ; + Picture = ..\grafice\touchscreen\ts_jos1.bmp, ; + Themes = .F., ; + Top = 48, ; + Width = 48, ; + ZOrderSet = 15 + *< END OBJECT: ClassLib="_cmd_base.vcx" BaseClass="commandbutton" /> + + ADD OBJECT 'Cmd_sus' AS cmd_buton WITH ; + Anchor = 9, ; + cpicturedown = ts_sus2.bmp, ; + cpictureup = ts_sus1.bmp, ; + Height = 48, ; + Left = 791, ; + Name = "Cmd_sus", ; + Picture = ..\grafice\touchscreen\ts_sus1.bmp, ; + Themes = .F., ; + Top = 0, ; + Width = 48, ; + ZOrderSet = 14 + *< END OBJECT: ClassLib="_cmd_base.vcx" BaseClass="commandbutton" /> + + ADD OBJECT 'grd_rezultate' AS _grdbase WITH ; + BackColor = 236,233,216, ; + ColumnCount = 1, ; + DeleteMark = .F., ; + FontName = "Arial Black", ; + FontSize = 18, ; + GridLines = 0, ; + HeaderHeight = 0, ; + Height = 97, ; + Left = 0, ; + Name = "grd_rezultate", ; + Panel = 1, ; + RecordMark = .F., ; + RecordSource = "crsautocomplete", ; + RowHeight = 36, ; + ScrollBars = 0, ; + Themes = .F., ; + Top = 0, ; + Width = 791, ; + Column1.BackColor = 236,233,216, ; + Column1.ControlSource = "valoarerez", ; + Column1.FontBold = .T., ; + Column1.FontName = "Arial Black", ; + Column1.FontSize = 18, ; + Column1.Name = "cValoareRez", ; + Column1.ReadOnly = .T., ; + Column1.Width = 791 + *< END OBJECT: ClassLib="_grd_base.vcx" BaseClass="grid" /> + + ADD OBJECT 'grd_rezultate.cValoareRez.Header1' AS header WITH ; + Caption = "Header1", ; + FontName = "Arial Black", ; + Name = "Header1" + *< END OBJECT: BaseClass="header" /> + + ADD OBJECT 'grd_rezultate.cValoareRez.Text1' AS textbox WITH ; + BackColor = 236,233,216, ; + BorderStyle = 0, ; + FontBold = .T., ; + FontName = "Arial Black", ; + FontSize = 18, ; + ForeColor = 0,0,0, ; + Margin = 0, ; + Name = "Text1", ; + ReadOnly = .T. + *< END OBJECT: BaseClass="textbox" /> + + PROCEDURE Destroy + Local lcCursorRez,lcCursor + If !Isnull(This.otxt) + Unbindevents(This.otxt,[ProgrammaticChange],This,[do_cauta]) + Endif + lcCursorRez = This.grd_rezultate.RecordSource + If Used(lcCursorRez) + Use In (lcCursorRez) + Endif + ENDPROC + + PROCEDURE do_cauta + Local lcProcedura,lcCursor,lcCursorRez,lcSelect,llRezultat,lcFiltru,lcFiltruSuplimentar + If Len(Alltrim(This.otxt.Value)) >= This.nminchar + && pe click > trebuie sa apelez do_selecteaza si sa fac scatter name,etc. + lcFiltru = Alltrim(This.otxt.Value) + lcFiltruSuplimentar = This.cFiltrusuplimentar + lcCursor = [crsrezultate] + If Used(lcCursor) + Use In (lcCursor) + Endif + lcProcedura = This.cprocedura + [('] + lcFiltru + [','] + lcFiltruSuplimentar + [','] + lcCursor + [')] + If !Isnull(This.oobiect) + llRezultat = This.oobiect.&lcProcedura. + Else + llRezultat = &lcProcedura + Endif + If llRezultat + If Reccount(lcCursor) > 0 + lcCursorRez = This.grd_rezultate.RecordSource + save_grid_tag(This.grd_rezultate) + If Used(lcCursorRez) + Use In (lcCursorRez) + Endif + lcSelect = [SELECT ] + Alltrim(This.ccampvaloare) + [ AS VALOAREREZ,A.* FROM ] + ; + lcCursor + [ A ORDER BY 1 INTO CURSOR ] + lcCursorRez + &lcSelect + Use In (lcCursor) + restore_grid_tag(This.grd_rezultate) + This.cmd_jos.Visible = .T. + This.cmd_sus.Visible = .T. + This.grd_rezultate.Visible = .T. + Else + This.cmd_jos.Visible = .F. + This.cmd_sus.Visible = .F. + This.grd_rezultate.Visible = .F. + Endif + Else + This.cmd_jos.Visible = .F. + This.cmd_sus.Visible = .F. + This.grd_rezultate.Visible = .F. + Endif + Else + This.cmd_jos.Visible = .F. + This.cmd_sus.Visible = .F. + This.grd_rezultate.Visible = .F. + Endif + ENDPROC + + PROCEDURE do_memoreaza + Local loAles,lcProcedura + Select (This.grd_rezultate.RecordSource) + Scatter Name This.orandselectat + If !Empty(This.cProcedurac) + lcProcedura = This.cProcedurac + If !Isnull(This.oobiectc) + This.oobiectc.&lcProcedura.(This.orandselectat) + Else + &lcProcedura.(This.orandselectat) + Endif + Endif + ENDPROC + + PROCEDURE Init + This.BackStyle = 0 + This.grd_rezultate.Height = This.Height + This.grd_rezultate.Anchor = 15 + ENDPROC + + PROCEDURE initializeaza_setari + Lparameters toObiect,tcProcCautare,tcCampId,tcCampValoare,tcFiltruSuplimentar,toTextActiv,tnMinChar,toObiectC,tcProceduraC + Local lcCursorRez,lnParametri,lcCursor + lnParametri = PARAMETERS() + If !Isnull(This.otxt) + Unbindevents(This.otxt,[ProgrammaticChange],This,[do_cauta]) + Endif + This.cmd_jos.Visible = .F. + This.cmd_sus.Visible = .F. + This.grd_rezultate.Visible = .F. + *!* lcCursorRez = This.grd_rezultate.RecordSource + *!* save_grid_tag(This.grd_rezultate) + *!* If Used(lcCursorRez) + *!* Use In (lcCursorRez) + *!* Endif + *!* restore_grid_tag(This.grd_rezultate) + If lnParametri > 0 + This.oobiect = toObiect + This.cprocedura = tcProcCautare + This.otxt = toTextActiv + This.nminchar = Iif(!Empty(tnMinChar),tnMinChar,2) + This.cFiltrusuplimentar = Iif(!Empty(tcFiltruSuplimentar),tcFiltruSuplimentar,[]) + This.ccampid = tcCampId + This.ccampvaloare = tcCampValoare + This.oobiectc = toObiectC + This.cProcedurac = tcProceduraC + This.Visible = .T. + Bindevent(This.otxt,[ProgrammaticChange],This,[do_cauta],1) + Else + This.oobiect = Null + This.cprocedura = [] + This.otxt = Null + This.nminchar = 2 + This.cFiltrusuplimentar = [] + This.ccampid = [] + This.ccampvaloare = [] + This.oobiectc = NULL + This.cProcedurac = [] + This.Visible = .F. + Endif + + ENDPROC + + PROCEDURE Cmd_jos.Click + This.Parent.grd_rezultate.DoScroll(1) + ENDPROC + + PROCEDURE Cmd_sus.Click + This.Parent.grd_rezultate.DoScroll(0) + ENDPROC + + PROCEDURE grd_rezultate.cValoareRez.Text1.Click + This.Parent.Parent.Parent.do_memoreaza() + ENDPROC + +ENDDEFINE + +DEFINE CLASS ct_lbed AS _ctfrmbase OF "_ct_base.vcx" + *< CLASSDATA: Baseclass="container" Timestamp="" Scale="Pixels" Uniqueid="" /> + + *-- OBJECTDATA items order determines ZOrder / El orden de los items OBJECTDATA determina el ZOrder + *< OBJECTDATA: ObjPath="lb_explicatie" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="ed_text" UniqueID="" Timestamp="" /> + + * + *m: do_copiaza_ed + *m: do_copiaza_lb + *m: do_deselecteaza_tot + *m: do_selecteaza + *p: cedtext + *p: cexplicatielb + *p: crgbbackcolor && Culoarea de fundal a butoanelor. + *p: crgbforecolor && Culoarea literelor. + *p: lselectat + * + + * + BackStyle = 0 + cedtext = + cexplicatielb = + Height = 36 + Name = "ct_lbed" + Width = 519 + Gridsort1.Left = 144 + Gridsort1.Name = "Gridsort1" + Gridsort1.Top = 156 + _ct_controller_keypress1.Left = 120 + _ct_controller_keypress1.Name = "_ct_controller_keypress1" + _ct_controller_keypress1.Top = 165 + * + + ADD OBJECT 'ed_text' AS _edbase WITH ; + Height = 36, ; + Left = 181, ; + Name = "ed_text", ; + ReadOnly = .T., ; + ScrollBars = 0, ; + Top = 0, ; + Width = 336 + *< END OBJECT: ClassLib="_ed_base.vcx" BaseClass="editbox" /> + + ADD OBJECT 'lb_explicatie' AS _lbbase WITH ; + AutoSize = .F., ; + Caption = "Explicatie", ; + Height = 36, ; + Left = 0, ; + Name = "lb_explicatie", ; + Top = 0, ; + Width = 180 + *< END OBJECT: ClassLib="_lb_base.vcx" BaseClass="label" /> + + PROCEDURE Destroy + Unbindevents(This,'cexplicatielb',This,'do_copiaza_lb') + Unbindevents(This,'cedtext',This,'do_copiaza_ed') + Unbindevents(This,'lselectat',This,'do_selecteaza') + ENDPROC + + PROCEDURE do_copiaza_ed + This.ed_text.Value = This.cedtext + If This.lselectat + This.lselectat = .F. + Endif + This.Refresh() + ENDPROC + + PROCEDURE do_copiaza_lb + This.lb_eXPLICATIE.Caption = This.cexplicatielb + This.Refresh() + ENDPROC + + PROCEDURE do_deselecteaza_tot + With This.Parent + For i = 1 To .Objects.Count + If Upper(.Objects[i].ParentClass) = [CT_LBED] And Upper(.Objects[i].Name) <> Upper(This.Name) + If .Objects[i].lselectat + .Objects[i].lselectat = .F. + Endif + Endif + Endfor + Endwith + ENDPROC + + PROCEDURE do_selecteaza + If This.lselectat + This.do_deselecteaza_tot() + This.ed_teXT.FontBold = .T. + This.ed_teXT.ForeColor = Rgb(255,255,255) + This.ed_teXT.DisabledBackColor = Rgb(46,64,245) + Else + This.ed_teXT.FontBold = .F. + This.ed_teXT.ForeColor = Rgb(0,0,0) + This.ed_teXT.DisabledBackColor = Rgb(236,233,216) + Endif + + ENDPROC + + PROCEDURE Init + This.do_copiaza_ed() + This.do_copiaza_lb() + Bindevent(This,'cexplicatielb',This,'do_copiaza_lb',1) + Bindevent(This,'cedtext',This,'do_copiaza_ed',1) + Bindevent(This,'lselectat',This,'do_selecteaza',1) + + ENDPROC + + PROCEDURE ed_text.Click + This.Parent.lselectat = .T. + This.Parent.do_executa() + ENDPROC + +ENDDEFINE + +DEFINE CLASS ct_numpad AS _ctfrmbase OF "_ct_base.vcx" + *< CLASSDATA: Baseclass="container" Timestamp="" Scale="Pixels" Uniqueid="" /> + + *-- OBJECTDATA items order determines ZOrder / El orden de los items OBJECTDATA determina el ZOrder + *< OBJECTDATA: ObjPath="Cmd_7" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="Cmd_4" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="Cmd_8" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="Cmd_9" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="Cmd_5" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="Cmd_6" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="Cmd_1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="Cmd_2" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="Cmd_3" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="Cmd_0" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="Cmd_back" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="Cmd_cspecial" UniqueID="" Timestamp="" /> + + * + *m: butonpress + *m: do_afiseaza_cspecial + *m: do_numara_cspeciale + *m: do_schimba_ccs + *m: do_schimba_tiptastatura + *m: do_verifica_ccs + *p: ccaracter_special && Caracterul care apare pe butonul dintre 0 si back. Daca nu e completat, atunci butonul nu este vizibil. + *p: ccod_special + *p: cotxt_activ + *p: lcaracter_specialprec && Daca a existat un caracter special precedent ( in cazul in care se modifica de mai multe ori ) + *p: lsetfocusoactiv && .T. daca obiectul primeste focusul dupa ce se apasa pe buton. + *p: ncaracter_special && De cate ori se poate apasa tasta cu caracterul special. Daca e -1, atunci nu exista limita. + *p: nnraparitii_cspecial + *p: ntiptastatura && 1 - ccaracter_special nu apare pe buton, iar la apasarea tastelor se comporta ca la bancomat ( ex. pentru 93.00 : 0.00 -> 0.09 -> 0.93 -> 9.30 -> 93.00 ) + * + + * + BackStyle = 0 + ccaracter_special = + ccod_special = + cotxt_activ = + Height = 276 + lcaracter_specialprec = .F. + lsetfocusoactiv = .F. + Name = "ct_numpad" + ncaracter_special = -1 + nnraparitii_cspecial = 0 + ntiptastatura = 0 + Width = 239 + Gridsort1.Name = "Gridsort1" + _ct_controller_keypress1.Left = 0 + _ct_controller_keypress1.Name = "_ct_controller_keypress1" + _ct_controller_keypress1.Top = 12 + * + + ADD OBJECT 'Cmd_0' AS cmd_buton WITH ; + Comment = "0", ; + cpicturedown = 0_jos.jpg, ; + cpictureup = 0_sus.jpg, ; + Height = 61, ; + Left = 0, ; + Name = "Cmd_0", ; + Picture = ..\grafice\numpad\0_sus.jpg, ; + Themes = .F., ; + Top = 216, ; + Width = 72 + *< END OBJECT: ClassLib="_cmd_base.vcx" BaseClass="commandbutton" /> + + ADD OBJECT 'Cmd_1' AS cmd_buton WITH ; + Comment = "1", ; + cpicturedown = 1_jos.jpg, ; + cpictureup = 1_sus.jpg, ; + Height = 61, ; + Left = 0, ; + Name = "Cmd_1", ; + Picture = ..\grafice\numpad\1_sus.jpg, ; + Themes = .F., ; + Top = 142, ; + Width = 72 + *< END OBJECT: ClassLib="_cmd_base.vcx" BaseClass="commandbutton" /> + + ADD OBJECT 'Cmd_2' AS cmd_buton WITH ; + Comment = "2", ; + cpicturedown = 2_jos.jpg, ; + cpictureup = 2_sus.jpg, ; + Height = 61, ; + Left = 84, ; + Name = "Cmd_2", ; + Picture = ..\grafice\numpad\2_sus.jpg, ; + Themes = .F., ; + Top = 142, ; + Width = 72 + *< END OBJECT: ClassLib="_cmd_base.vcx" BaseClass="commandbutton" /> + + ADD OBJECT 'Cmd_3' AS cmd_buton WITH ; + Comment = "3", ; + cpicturedown = 3_jos.jpg, ; + cpictureup = 3_sus.jpg, ; + Height = 61, ; + Left = 168, ; + Name = "Cmd_3", ; + Picture = ..\grafice\numpad\3_sus.jpg, ; + Themes = .F., ; + Top = 142, ; + Width = 72 + *< END OBJECT: ClassLib="_cmd_base.vcx" BaseClass="commandbutton" /> + + ADD OBJECT 'Cmd_4' AS cmd_buton WITH ; + Comment = "4", ; + cpicturedown = 4_jos.jpg, ; + cpictureup = 4_sus.jpg, ; + Height = 61, ; + Left = 0, ; + Name = "Cmd_4", ; + Picture = ..\grafice\numpad\4_sus.jpg, ; + Themes = .F., ; + Top = 72, ; + Width = 72 + *< END OBJECT: ClassLib="_cmd_base.vcx" BaseClass="commandbutton" /> + + ADD OBJECT 'Cmd_5' AS cmd_buton WITH ; + Comment = "5", ; + cpicturedown = 5_jos.jpg, ; + cpictureup = 5_sus.jpg, ; + Height = 61, ; + Left = 84, ; + Name = "Cmd_5", ; + Picture = ..\grafice\numpad\5_sus.jpg, ; + Themes = .F., ; + Top = 72, ; + Width = 72 + *< END OBJECT: ClassLib="_cmd_base.vcx" BaseClass="commandbutton" /> + + ADD OBJECT 'Cmd_6' AS cmd_buton WITH ; + Comment = "6", ; + cpicturedown = 6_jos.jpg, ; + cpictureup = 6_sus.jpg, ; + Height = 61, ; + Left = 168, ; + Name = "Cmd_6", ; + Picture = ..\grafice\numpad\6_sus.jpg, ; + Themes = .F., ; + Top = 72, ; + Width = 72 + *< END OBJECT: ClassLib="_cmd_base.vcx" BaseClass="commandbutton" /> + + ADD OBJECT 'Cmd_7' AS cmd_buton WITH ; + Comment = "7", ; + cpicturedown = 7_jos.jpg, ; + cpictureup = 7_sus.jpg, ; + Height = 61, ; + Left = 0, ; + Name = "Cmd_7", ; + Picture = ..\grafice\numpad\7_sus.jpg, ; + Themes = .F., ; + Top = 0, ; + Width = 72 + *< END OBJECT: ClassLib="_cmd_base.vcx" BaseClass="commandbutton" /> + + ADD OBJECT 'Cmd_8' AS cmd_buton WITH ; + Comment = "8", ; + cpicturedown = 8_jos.jpg, ; + cpictureup = 8_sus.jpg, ; + Height = 61, ; + Left = 84, ; + Name = "Cmd_8", ; + Picture = ..\grafice\numpad\8_sus.jpg, ; + Themes = .F., ; + Top = 0, ; + Width = 72 + *< END OBJECT: ClassLib="_cmd_base.vcx" BaseClass="commandbutton" /> + + ADD OBJECT 'Cmd_9' AS cmd_buton WITH ; + Comment = "9", ; + cpicturedown = 9_jos.jpg, ; + cpictureup = 9_sus.jpg, ; + Height = 61, ; + Left = 168, ; + Name = "Cmd_9", ; + Picture = ..\grafice\numpad\9_sus.jpg, ; + Themes = .F., ; + Top = 0, ; + Width = 72 + *< END OBJECT: ClassLib="_cmd_base.vcx" BaseClass="commandbutton" /> + + ADD OBJECT 'Cmd_back' AS cmd_buton WITH ; + Comment = "<", ; + cpicturedown = back_jos.jpg, ; + cpictureup = back_sus.jpg, ; + Height = 61, ; + Left = 168, ; + Name = "Cmd_back", ; + Picture = ..\grafice\numpad\back_sus.jpg, ; + Themes = .F., ; + Top = 216, ; + Width = 72 + *< END OBJECT: ClassLib="_cmd_base.vcx" BaseClass="commandbutton" /> + + ADD OBJECT 'Cmd_cspecial' AS cmd_buton WITH ; + cpicturedown = blank_jos.jpg, ; + cpictureup = blank_sus.jpg, ; + FontName = "Arial Black", ; + FontSize = 20, ; + Height = 61, ; + Left = 84, ; + Name = "Cmd_cspecial", ; + Picture = ..\grafice\numpad\blank.jpg, ; + Themes = .F., ; + Top = 216, ; + Width = 72 + *< END OBJECT: ClassLib="_cmd_base.vcx" BaseClass="commandbutton" /> + + PROCEDURE butonpress + Lparameters tcCod + + lcCod = Alltrim(Transform(tcCod)) + lcObiectText = This.cotxt_activ + If Type(lcObiectText) = 'O' + loText = &lcObiectText + If This.nTiptastatura = 0 + + If lcCod = [<] && backspace + loText.Value = Substr(Alltrim(loText.Value), 1, Len(Alltrim(loText.Value)) -1) + Else + loText.Value = Alltrim(loText.Value) + lcCod + Endif + *!* loText.SelStart = loText.SelLength + Else + lnSelStart = loText.SelStart + lnSelLength = loText.SelLength + lcInputMask = Strtran(loText.InputMask,[ ],[]) + lnAparitiiSeparator = Occurs(This.ccaracter_special,lcInputMask) + lcTextValue = Strtran(Alltrim(Str(loText.Value,14,Iif(At(This.ccaracter_special,lcInputMask)<>0,Len(Substr(lcInputMask,At(This.ccaracter_special,lcInputMask)+1)),0))),This.ccaracter_special,[]) + Do Case + Case At(This.ccaracter_special,lcTextValue) = lnAparitiiSeparator And lcCod = This.ccaracter_special + Return + Case lcCod = [DEL] + lcTextValue = [0] + Case lcCod = [<] + lcTextValue = Substr(lcTextValue,1,Len(lcTextValue)-1) + Otherwise + lcTextValue = lcTextValue + lcCod + Endcase + If At(This.ccaracter_special,lcInputMask)<>0 + lnNrZecimale = Len(lcInputMask) - At(This.ccaracter_special,lcInputMask) + If Len(lcTextValue) < lnNrZecimale + 1 + lcTextValue = Padl(lcTextValue,2+lnNrZecimale,[0]+This.ccaracter_special+Replicate([0],lnNrZecimale)) + Else + lcTextValue = Substr(lcTextValue,1,Len(lcTextValue)-lnNrZecimale) + This.ccaracter_special + Substr(lcTextValue,Len(lcTextValue)-lnNrZecimale+1) + Endif + Endif + If Type('loText.Value') = 'N' + loText.Value = Val(lcTextValue) + Else + loText.Value = lcTextValue + Endif + Endif + + If This.lSetFocusOActiv + loText.SetFocus() + Endif + Endif + ENDPROC + + PROCEDURE Destroy + This.ccaracter_special = [] + Unbindevents(This,[cotxt_activ],This,[do_numara_cspeciale]) + Unbindevents(This,[ntiptastatura],This,[do_schimba_tiptastatura]) + Unbindevents(This,[ccaracter_special],This,[do_verifica_ccs]) + Unbindevents(This,[ccaracter_special],This,[do_schimba_ccs]) + ENDPROC + + PROCEDURE do_afiseaza_cspecial + Lparameters tcNumeFisierCSpecial + This.cmd_cspecial.Visible = .T. + If !Empty(tcNumeFisierCSpecial) + This.cmd_cspecial.Picture = Strtran(This.cmd_cspecial.Picture,[blank],tcNumeFisierCSpecial) + This.cmd_cspecial.cpicturedown = Strtran(This.cmd_cspecial.cpicturedown,[blank],tcNumeFisierCSpecial) + This.cmd_cspecial.cpictureup = Strtran(This.cmd_cspecial.cpictureup,[blank],tcNumeFisierCSpecial) + Else + This.cmd_cspecial.Picture = [] + This.cmd_cspecial.cpicturedown = [] + This.cmd_cspecial.cpictureup = [] + This.cmd_cspecial.Caption = This.ccod_special + Endif + ENDPROC + + PROCEDURE do_numara_cspeciale + Local lcObiectText + lcObiectText = This.cotxt_activ + If Type(lcObiectText) = 'O' + loText = &lcObiectText + This.nnraparitii_cspecial = Occurs(This.ccaracter_special,Alltrim(Padl(loText.Value,25,[ ]))) + Endif + ENDPROC + + PROCEDURE do_schimba_ccs + Local lcObiectText + lcObiectText = This.cotxt_activ + If Type(lcObiectText) = 'O' + Do Case + Case This.lcaracter_specialprec And Empty(This.ccaracter_special) + Unbindevents(&lcObiectText,[ProgrammaticChange],This,[do_numara_cspeciale]) + Unbindevents(&lcObiectText,[InteractiveChange],This,[do_numara_cspeciale]) + Case !This.lcaracter_specialprec And !Empty(This.ccaracter_special) And This.ncaracter_special <> -1 + Bindevent(&lcObiectText,[ProgrammaticChange],This,[do_numara_cspeciale],1) + Bindevent(&lcObiectText,[InteractiveChange],This,[do_numara_cspeciale],1) + Endcase + Endif + ENDPROC + + PROCEDURE do_schimba_tiptastatura + Local lcNumeFisierCSpecial + Do Case + Case !Empty(This.ccaracter_special) And This.ntiptastatura = 0 + This.do_numara_cspeciale() + Do Case + Case This.ccaracter_special = "$" + lcNumeFisierCSpecial = [dolar] + Case This.ccaracter_special = "." + lcNumeFisierCSpecial = [punct] + Otherwise + lcNumeFisierCSpecial = [] + Endcase + This.ccod_special = This.ccaracter_special + This.do_afiseaza_cspecial(lcNumeFisierCSpecial) + Case This.ntiptastatura = 1 + lcNumeFisierCSpecial = [zerozero] + This.ccod_special = [00] + This.do_afiseaza_cspecial(lcNumeFisierCSpecial) + Otherwise + This.cmd_cspecial.Visible = .F. + Endcase + ENDPROC + + PROCEDURE do_verifica_ccs + This.lcaracter_specialprec = !Empty(This.ccaracter_special) + ENDPROC + + PROCEDURE Init + Bindevent(This,[ntiptastatura],This,[do_schimba_tiptastatura],1) + Bindevent(This,[cotxt_activ],This,[do_numara_cspeciale],1) + Bindevent(This,[ccaracter_special],This,[do_verifica_ccs]) + Bindevent(This,[ccaracter_special],This,[do_schimba_ccs],1) + This.do_schimba_tiptastatura() + ENDPROC + + PROCEDURE Cmd_0.Click + This.Parent.butonpress(Alltrim(Transform(This.Comment))) + ENDPROC + + PROCEDURE Cmd_1.Click + This.Parent.butonpress(Alltrim(Transform(This.Comment))) + ENDPROC + + PROCEDURE Cmd_2.Click + This.Parent.butonpress(Alltrim(Transform(This.Comment))) + ENDPROC + + PROCEDURE Cmd_3.Click + This.Parent.butonpress(Alltrim(Transform(This.Comment))) + ENDPROC + + PROCEDURE Cmd_4.Click + This.Parent.butonpress(Alltrim(Transform(This.Comment))) + ENDPROC + + PROCEDURE Cmd_5.Click + This.Parent.butonpress(Alltrim(Transform(This.Comment))) + ENDPROC + + PROCEDURE Cmd_6.Click + This.Parent.butonpress(Alltrim(Transform(This.Comment))) + ENDPROC + + PROCEDURE Cmd_7.Click + This.Parent.butonpress(Alltrim(Transform(This.Comment))) + ENDPROC + + PROCEDURE Cmd_8.Click + This.Parent.butonpress(Alltrim(Transform(This.Comment))) + ENDPROC + + PROCEDURE Cmd_9.Click + This.Parent.butonpress(Alltrim(Transform(This.Comment))) + ENDPROC + + PROCEDURE Cmd_back.Click + This.Parent.butonpress(Alltrim(Transform(This.Comment))) + ENDPROC + + PROCEDURE Cmd_cspecial.Click + If This.Parent.nTiptastatura = 0 + If This.Parent.nnraparitii_cspecial < This.Parent.ncaracter_special Or This.Parent.ncaracter_special = -1 + This.Parent.butonpress(Alltrim(This.Parent.ccaracter_special)) + Endif + Else + If !Empty(This.Parent.ccod_special) + This.Parent.butonpress(Alltrim(This.Parent.ccod_special)) + Endif + Endif + ENDPROC + +ENDDEFINE + +DEFINE CLASS ct_t_abcde AS _ctfrmbase OF "_ct_base.vcx" + *< CLASSDATA: Baseclass="container" Timestamp="" Scale="Pixels" Uniqueid="" /> + + *-- OBJECTDATA items order determines ZOrder / El orden de los items OBJECTDATA determina el ZOrder + *< OBJECTDATA: ObjPath="Cmd_q" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="Cmd_z" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="Cmd_r" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="Cmd_t" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="Cmd_y" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="Cmd_u" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="Cmd_i" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="Cmd_o" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="Cmd_p" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="Cmd_w" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="Cmd_e" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="Cmd_d" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="Cmd_f" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="Cmd_g" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="Cmd_h" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="Cmd_j" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="Cmd_K" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="Cmd_l" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="Cmd_a" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="Cmd_s" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="Cmd_v" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="Cmd_b" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="Cmd_n" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="Cmd_m" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="Cmd_virgula" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="Cmd_punct" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="Cmd_x" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="Cmd_c" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="Cmd_enter" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="Cmd_slash" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="Cmd_spatiu" UniqueID="" Timestamp="" /> + + * + *m: butonpress + *m: do_activeaza + *p: linvizibile && .T. daca butoanele dezactivate sunt si invizibile + * + + * + BackStyle = 0 + Height = 145 + Name = "ct_t_abcde" + Width = 600 + Gridsort1.Height = 17 + Gridsort1.Left = 4 + Gridsort1.Name = "Gridsort1" + Gridsort1.Top = 231 + Gridsort1.Width = 26 + _ct_controller_keypress1.Left = 492 + _ct_controller_keypress1.Name = "_ct_controller_keypress1" + _ct_controller_keypress1.Top = 9 + * + + ADD OBJECT 'Cmd_a' AS cmd_ts WITH ; + Caption = "A", ; + Left = 21, ; + Name = "Cmd_a", ; + ntip = 1, ; + Top = 0, ; + ZOrderSet = 20 + *< END OBJECT: ClassLib="otouchscreen.vcx" BaseClass="commandbutton" /> + + ADD OBJECT 'Cmd_b' AS cmd_ts WITH ; + Caption = "B", ; + Height = 36, ; + Left = 68, ; + Name = "Cmd_b", ; + ntip = 1, ; + Top = 0, ; + Width = 48, ; + ZOrderSet = 23 + *< END OBJECT: ClassLib="otouchscreen.vcx" BaseClass="commandbutton" /> + + ADD OBJECT 'Cmd_c' AS cmd_ts WITH ; + Caption = "C", ; + Height = 36, ; + Left = 116, ; + Name = "Cmd_c", ; + ntip = 1, ; + Top = 0, ; + Width = 48, ; + ZOrderSet = 29 + *< END OBJECT: ClassLib="otouchscreen.vcx" BaseClass="commandbutton" /> + + ADD OBJECT 'Cmd_d' AS cmd_ts WITH ; + Caption = "D", ; + Left = 164, ; + Name = "Cmd_d", ; + ntip = 1, ; + Top = 0, ; + ZOrderSet = 13 + *< END OBJECT: ClassLib="otouchscreen.vcx" BaseClass="commandbutton" /> + + ADD OBJECT 'Cmd_e' AS cmd_ts WITH ; + Caption = "E", ; + Left = 212, ; + Name = "Cmd_e", ; + ntip = 1, ; + Top = 0, ; + ZOrderSet = 12 + *< END OBJECT: ClassLib="otouchscreen.vcx" BaseClass="commandbutton" /> + + ADD OBJECT 'Cmd_enter' AS cmd_ts WITH ; + Caption = "ENTER", ; + Height = 72, ; + Left = 456, ; + Name = "Cmd_enter", ; + ntip = 1, ; + Top = 0, ; + Width = 144, ; + ZOrderSet = 30 + *< END OBJECT: ClassLib="otouchscreen.vcx" BaseClass="commandbutton" /> + + ADD OBJECT 'Cmd_f' AS cmd_ts WITH ; + Caption = "F", ; + Left = 260, ; + Name = "Cmd_f", ; + ntip = 1, ; + Top = 0, ; + ZOrderSet = 14 + *< END OBJECT: ClassLib="otouchscreen.vcx" BaseClass="commandbutton" /> + + ADD OBJECT 'Cmd_g' AS cmd_ts WITH ; + Caption = "G", ; + Left = 308, ; + Name = "Cmd_g", ; + ntip = 1, ; + Top = 0, ; + ZOrderSet = 15 + *< END OBJECT: ClassLib="otouchscreen.vcx" BaseClass="commandbutton" /> + + ADD OBJECT 'Cmd_h' AS cmd_ts WITH ; + Caption = "H", ; + Left = 356, ; + Name = "Cmd_h", ; + ntip = 1, ; + Top = 0, ; + ZOrderSet = 16 + *< END OBJECT: ClassLib="otouchscreen.vcx" BaseClass="commandbutton" /> + + ADD OBJECT 'Cmd_i' AS cmd_ts WITH ; + Caption = "I", ; + Left = 405, ; + Name = "Cmd_i", ; + ntip = 1, ; + Top = 0, ; + ZOrderSet = 8 + *< END OBJECT: ClassLib="otouchscreen.vcx" BaseClass="commandbutton" /> + + ADD OBJECT 'Cmd_j' AS cmd_ts WITH ; + Caption = "J", ; + Left = 21, ; + Name = "Cmd_j", ; + ntip = 1, ; + Top = 36, ; + ZOrderSet = 17 + *< END OBJECT: ClassLib="otouchscreen.vcx" BaseClass="commandbutton" /> + + ADD OBJECT 'Cmd_K' AS cmd_ts WITH ; + Caption = "K", ; + Left = 68, ; + Name = "Cmd_K", ; + ntip = 1, ; + Top = 36, ; + ZOrderSet = 18 + *< END OBJECT: ClassLib="otouchscreen.vcx" BaseClass="commandbutton" /> + + ADD OBJECT 'Cmd_l' AS cmd_ts WITH ; + Caption = "L", ; + Left = 116, ; + Name = "Cmd_l", ; + ntip = 1, ; + Top = 36, ; + ZOrderSet = 19 + *< END OBJECT: ClassLib="otouchscreen.vcx" BaseClass="commandbutton" /> + + ADD OBJECT 'Cmd_m' AS cmd_ts WITH ; + Caption = "M", ; + Height = 36, ; + Left = 164, ; + Name = "Cmd_m", ; + ntip = 1, ; + Top = 36, ; + Width = 48, ; + ZOrderSet = 25 + *< END OBJECT: ClassLib="otouchscreen.vcx" BaseClass="commandbutton" /> + + ADD OBJECT 'Cmd_n' AS cmd_ts WITH ; + Caption = "N", ; + Height = 36, ; + Left = 212, ; + Name = "Cmd_n", ; + ntip = 1, ; + Top = 36, ; + Width = 48, ; + ZOrderSet = 24 + *< END OBJECT: ClassLib="otouchscreen.vcx" BaseClass="commandbutton" /> + + ADD OBJECT 'Cmd_o' AS cmd_ts WITH ; + Caption = "O", ; + Left = 260, ; + Name = "Cmd_o", ; + ntip = 1, ; + Top = 36, ; + ZOrderSet = 9 + *< END OBJECT: ClassLib="otouchscreen.vcx" BaseClass="commandbutton" /> + + ADD OBJECT 'Cmd_p' AS cmd_ts WITH ; + Caption = "P", ; + Left = 308, ; + Name = "Cmd_p", ; + ntip = 1, ; + Top = 36, ; + ZOrderSet = 10 + *< END OBJECT: ClassLib="otouchscreen.vcx" BaseClass="commandbutton" /> + + ADD OBJECT 'Cmd_punct' AS cmd_ts WITH ; + Caption = ".", ; + Height = 36, ; + Left = 453, ; + Name = "Cmd_punct", ; + ntip = 1, ; + Top = 72, ; + Width = 48, ; + ZOrderSet = 27 + *< END OBJECT: ClassLib="otouchscreen.vcx" BaseClass="commandbutton" /> + + ADD OBJECT 'Cmd_q' AS cmd_ts WITH ; + BackColor = 74,79,234, ; + Caption = "Q", ; + ForeColor = 255,255,255, ; + Left = 356, ; + Name = "Cmd_q", ; + ntip = 1, ; + Top = 36, ; + ZOrderSet = 2 + *< END OBJECT: ClassLib="otouchscreen.vcx" BaseClass="commandbutton" /> + + ADD OBJECT 'Cmd_r' AS cmd_ts WITH ; + Caption = "R", ; + Left = 405, ; + Name = "Cmd_r", ; + ntip = 1, ; + Top = 36, ; + ZOrderSet = 4 + *< END OBJECT: ClassLib="otouchscreen.vcx" BaseClass="commandbutton" /> + + ADD OBJECT 'Cmd_s' AS cmd_ts WITH ; + Caption = "S", ; + Left = 21, ; + Name = "Cmd_s", ; + ntip = 1, ; + Top = 72, ; + ZOrderSet = 21 + *< END OBJECT: ClassLib="otouchscreen.vcx" BaseClass="commandbutton" /> + + ADD OBJECT 'Cmd_slash' AS cmd_ts WITH ; + Caption = "/", ; + Height = 36, ; + Left = 501, ; + Name = "Cmd_slash", ; + ntip = 1, ; + Top = 72, ; + Width = 48, ; + ZOrderSet = 27 + *< END OBJECT: ClassLib="otouchscreen.vcx" BaseClass="commandbutton" /> + + ADD OBJECT 'Cmd_spatiu' AS cmd_ts WITH ; + Caption = "", ; + Height = 36, ; + Left = 25, ; + Name = "Cmd_spatiu", ; + ntip = 1, ; + Top = 108, ; + Width = 479, ; + ZOrderSet = 31 + *< END OBJECT: ClassLib="otouchscreen.vcx" BaseClass="commandbutton" /> + + ADD OBJECT 'Cmd_t' AS cmd_ts WITH ; + Caption = "T", ; + Left = 68, ; + Name = "Cmd_t", ; + ntip = 1, ; + Top = 72, ; + ZOrderSet = 5 + *< END OBJECT: ClassLib="otouchscreen.vcx" BaseClass="commandbutton" /> + + ADD OBJECT 'Cmd_u' AS cmd_ts WITH ; + Caption = "U", ; + Left = 116, ; + Name = "Cmd_u", ; + ntip = 1, ; + Top = 72, ; + ZOrderSet = 7 + *< END OBJECT: ClassLib="otouchscreen.vcx" BaseClass="commandbutton" /> + + ADD OBJECT 'Cmd_v' AS cmd_ts WITH ; + Caption = "V", ; + Height = 36, ; + Left = 164, ; + Name = "Cmd_v", ; + ntip = 1, ; + Top = 72, ; + Width = 48, ; + ZOrderSet = 22 + *< END OBJECT: ClassLib="otouchscreen.vcx" BaseClass="commandbutton" /> + + ADD OBJECT 'Cmd_virgula' AS cmd_ts WITH ; + Caption = ",", ; + Height = 36, ; + Left = 405, ; + Name = "Cmd_virgula", ; + ntip = 1, ; + Top = 72, ; + Width = 48, ; + ZOrderSet = 26 + *< END OBJECT: ClassLib="otouchscreen.vcx" BaseClass="commandbutton" /> + + ADD OBJECT 'Cmd_w' AS cmd_ts WITH ; + Caption = "W", ; + Left = 212, ; + Name = "Cmd_w", ; + ntip = 1, ; + Top = 72, ; + ZOrderSet = 11 + *< END OBJECT: ClassLib="otouchscreen.vcx" BaseClass="commandbutton" /> + + ADD OBJECT 'Cmd_x' AS cmd_ts WITH ; + Caption = "X", ; + Height = 36, ; + Left = 260, ; + Name = "Cmd_x", ; + ntip = 1, ; + Top = 72, ; + Width = 48, ; + ZOrderSet = 28 + *< END OBJECT: ClassLib="otouchscreen.vcx" BaseClass="commandbutton" /> + + ADD OBJECT 'Cmd_y' AS cmd_ts WITH ; + Caption = "Y", ; + Left = 308, ; + Name = "Cmd_y", ; + ntip = 1, ; + Top = 72, ; + ZOrderSet = 6 + *< END OBJECT: ClassLib="otouchscreen.vcx" BaseClass="commandbutton" /> + + ADD OBJECT 'Cmd_z' AS cmd_ts WITH ; + Caption = "Z", ; + Height = 36, ; + Left = 356, ; + Name = "Cmd_z", ; + ntip = 1, ; + Top = 72, ; + Width = 48, ; + ZOrderSet = 3 + *< END OBJECT: ClassLib="otouchscreen.vcx" BaseClass="commandbutton" /> + + PROCEDURE butonpress + Lparameters tcCod + This.Parent.butonpress(tcCod) + ENDPROC + + PROCEDURE do_activeaza + Lparameters tnTip + *!* 0 - toate + *!* 1 - litere + DEL, backspace, space, ENTER + *!* 2 - cifrele + DEL, backspace ( fara space, ENTER ) + For i = 1 To This.Objects.Count + If Type('This.Objects(i).nTip') = 'N' + This.Objects(i).Enabled = Iif(tnTip = 0 ,.T., Iif(tnTip = 1 And Inlist(This.Objects(i).nTip,1,0),.T.,; + Iif(tnTip=2 And Inlist(This.Objects(i).nTip,2,0),.T.,.F.))) + IF This.linvizibile + This.Objects(i).Visible = This.Objects(i).Enabled + ENDIF + Endif + Endfor + ENDPROC + + PROCEDURE Init + Local lnWidthB,lnHeightB,lcClass,lcRgbFundal,lcRgbFont + DoDefault() + If !Empty(This.Parent.crgbbackcolor) + lcRgbFundal = [RGB(] + This.Parent.crgbbackcolor+[)] + This.SetAll([BackColor],&lcRgbFundal,[cmd_ts]) + Endif + If !Empty(This.Parent.crgbforecolor) + lcRgbFont = [RGB(] + This.Parent.crgbforecolor + [)] + This.SetAll([ForeColor],&lcRgbFont,[cmd_ts]) + Endif + ENDPROC + +ENDDEFINE + +DEFINE CLASS ct_t_qwerty AS _ctfrmbase OF "_ct_base.vcx" + *< CLASSDATA: Baseclass="container" Timestamp="" Scale="Pixels" Uniqueid="" /> + + *-- OBJECTDATA items order determines ZOrder / El orden de los items OBJECTDATA determina el ZOrder + *< OBJECTDATA: ObjPath="Cmd_q" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="Cmd_z" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="Cmd_r" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="Cmd_t" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="Cmd_y" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="Cmd_u" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="Cmd_i" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="Cmd_o" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="Cmd_p" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="Cmd_w" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="Cmd_e" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="Cmd_d" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="Cmd_f" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="Cmd_g" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="Cmd_h" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="Cmd_j" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="Cmd_K" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="Cmd_l" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="Cmd_a" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="Cmd_s" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="Cmd_v" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="Cmd_b" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="Cmd_n" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="Cmd_m" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="Cmd_virgula" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="Cmd_slash" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="Cmd_punct" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="Cmd_x" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="Cmd_c" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="Cmd_enter" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="Cmd_spatiu" UniqueID="" Timestamp="" /> + + * + *m: butonpress + *m: do_activeaza + *p: linvizibile && .T. daca butoanele dezactivate sunt si invizibile + * + + * + BackStyle = 0 + Height = 144 + Name = "ct_t_qwerty" + Width = 600 + Gridsort1.Height = 17 + Gridsort1.Left = 4 + Gridsort1.Name = "Gridsort1" + Gridsort1.Top = 81 + Gridsort1.Width = 26 + _ct_controller_keypress1.Left = 492 + _ct_controller_keypress1.Name = "_ct_controller_keypress1" + _ct_controller_keypress1.Top = 9 + * + + ADD OBJECT 'Cmd_a' AS cmd_ts WITH ; + Caption = "A", ; + Left = 26, ; + Name = "Cmd_a", ; + ntip = 1, ; + Top = 36, ; + ZOrderSet = 20 + *< END OBJECT: ClassLib="otouchscreen.vcx" BaseClass="commandbutton" /> + + ADD OBJECT 'Cmd_b' AS cmd_ts WITH ; + Caption = "B", ; + Height = 36, ; + Left = 240, ; + Name = "Cmd_b", ; + ntip = 1, ; + Top = 72, ; + Width = 48, ; + ZOrderSet = 23 + *< END OBJECT: ClassLib="otouchscreen.vcx" BaseClass="commandbutton" /> + + ADD OBJECT 'Cmd_c' AS cmd_ts WITH ; + Caption = "C", ; + Height = 36, ; + Left = 144, ; + Name = "Cmd_c", ; + ntip = 1, ; + Top = 72, ; + Width = 48, ; + ZOrderSet = 29 + *< END OBJECT: ClassLib="otouchscreen.vcx" BaseClass="commandbutton" /> + + ADD OBJECT 'Cmd_d' AS cmd_ts WITH ; + Caption = "D", ; + Left = 122, ; + Name = "Cmd_d", ; + ntip = 1, ; + Top = 36, ; + ZOrderSet = 13 + *< END OBJECT: ClassLib="otouchscreen.vcx" BaseClass="commandbutton" /> + + ADD OBJECT 'Cmd_e' AS cmd_ts WITH ; + Caption = "E", ; + Left = 96, ; + Name = "Cmd_e", ; + ntip = 1, ; + Top = 0, ; + ZOrderSet = 12 + *< END OBJECT: ClassLib="otouchscreen.vcx" BaseClass="commandbutton" /> + + ADD OBJECT 'Cmd_enter' AS cmd_ts WITH ; + Caption = "ENTER", ; + Height = 72, ; + Left = 480, ; + Name = "Cmd_enter", ; + ntip = 1, ; + Top = 0, ; + Width = 120, ; + ZOrderSet = 30 + *< END OBJECT: ClassLib="otouchscreen.vcx" BaseClass="commandbutton" /> + + ADD OBJECT 'Cmd_f' AS cmd_ts WITH ; + Caption = "F", ; + Left = 170, ; + Name = "Cmd_f", ; + ntip = 1, ; + Top = 36, ; + ZOrderSet = 14 + *< END OBJECT: ClassLib="otouchscreen.vcx" BaseClass="commandbutton" /> + + ADD OBJECT 'Cmd_g' AS cmd_ts WITH ; + Caption = "G", ; + Left = 218, ; + Name = "Cmd_g", ; + ntip = 1, ; + Top = 36, ; + ZOrderSet = 15 + *< END OBJECT: ClassLib="otouchscreen.vcx" BaseClass="commandbutton" /> + + ADD OBJECT 'Cmd_h' AS cmd_ts WITH ; + Caption = "H", ; + Left = 266, ; + Name = "Cmd_h", ; + ntip = 1, ; + Top = 36, ; + ZOrderSet = 16 + *< END OBJECT: ClassLib="otouchscreen.vcx" BaseClass="commandbutton" /> + + ADD OBJECT 'Cmd_i' AS cmd_ts WITH ; + Caption = "I", ; + Left = 336, ; + Name = "Cmd_i", ; + ntip = 1, ; + Top = 0, ; + ZOrderSet = 8 + *< END OBJECT: ClassLib="otouchscreen.vcx" BaseClass="commandbutton" /> + + ADD OBJECT 'Cmd_j' AS cmd_ts WITH ; + Caption = "J", ; + Left = 314, ; + Name = "Cmd_j", ; + ntip = 1, ; + Top = 36, ; + ZOrderSet = 17 + *< END OBJECT: ClassLib="otouchscreen.vcx" BaseClass="commandbutton" /> + + ADD OBJECT 'Cmd_K' AS cmd_ts WITH ; + Caption = "K", ; + Left = 362, ; + Name = "Cmd_K", ; + ntip = 1, ; + Top = 36, ; + ZOrderSet = 18 + *< END OBJECT: ClassLib="otouchscreen.vcx" BaseClass="commandbutton" /> + + ADD OBJECT 'Cmd_l' AS cmd_ts WITH ; + Caption = "L", ; + Left = 410, ; + Name = "Cmd_l", ; + ntip = 1, ; + Top = 36, ; + ZOrderSet = 19 + *< END OBJECT: ClassLib="otouchscreen.vcx" BaseClass="commandbutton" /> + + ADD OBJECT 'Cmd_m' AS cmd_ts WITH ; + Caption = "M", ; + Height = 36, ; + Left = 336, ; + Name = "Cmd_m", ; + ntip = 1, ; + Top = 72, ; + Width = 48, ; + ZOrderSet = 25 + *< END OBJECT: ClassLib="otouchscreen.vcx" BaseClass="commandbutton" /> + + ADD OBJECT 'Cmd_n' AS cmd_ts WITH ; + Caption = "N", ; + Height = 36, ; + Left = 288, ; + Name = "Cmd_n", ; + ntip = 1, ; + Top = 72, ; + Width = 48, ; + ZOrderSet = 24 + *< END OBJECT: ClassLib="otouchscreen.vcx" BaseClass="commandbutton" /> + + ADD OBJECT 'Cmd_o' AS cmd_ts WITH ; + Caption = "O", ; + Left = 384, ; + Name = "Cmd_o", ; + ntip = 1, ; + Top = 0, ; + ZOrderSet = 9 + *< END OBJECT: ClassLib="otouchscreen.vcx" BaseClass="commandbutton" /> + + ADD OBJECT 'Cmd_p' AS cmd_ts WITH ; + Caption = "P", ; + Left = 432, ; + Name = "Cmd_p", ; + ntip = 1, ; + Top = 0, ; + ZOrderSet = 10 + *< END OBJECT: ClassLib="otouchscreen.vcx" BaseClass="commandbutton" /> + + ADD OBJECT 'Cmd_punct' AS cmd_ts WITH ; + Caption = ".", ; + Height = 36, ; + Left = 432, ; + Name = "Cmd_punct", ; + ntip = 1, ; + Top = 72, ; + Width = 48, ; + ZOrderSet = 27 + *< END OBJECT: ClassLib="otouchscreen.vcx" BaseClass="commandbutton" /> + + ADD OBJECT 'Cmd_q' AS cmd_ts WITH ; + BackColor = 74,79,234, ; + Caption = "Q", ; + ForeColor = 255,255,255, ; + Left = 0, ; + Name = "Cmd_q", ; + ntip = 1, ; + Top = 0, ; + ZOrderSet = 2 + *< END OBJECT: ClassLib="otouchscreen.vcx" BaseClass="commandbutton" /> + + ADD OBJECT 'Cmd_r' AS cmd_ts WITH ; + Caption = "R", ; + Left = 144, ; + Name = "Cmd_r", ; + ntip = 1, ; + Top = 0, ; + ZOrderSet = 4 + *< END OBJECT: ClassLib="otouchscreen.vcx" BaseClass="commandbutton" /> + + ADD OBJECT 'Cmd_s' AS cmd_ts WITH ; + Caption = "S", ; + Left = 74, ; + Name = "Cmd_s", ; + ntip = 1, ; + Top = 36, ; + ZOrderSet = 21 + *< END OBJECT: ClassLib="otouchscreen.vcx" BaseClass="commandbutton" /> + + ADD OBJECT 'Cmd_slash' AS cmd_ts WITH ; + Caption = "/", ; + Height = 36, ; + Left = 480, ; + Name = "Cmd_slash", ; + ntip = 1, ; + Top = 72, ; + Width = 48, ; + ZOrderSet = 27 + *< END OBJECT: ClassLib="otouchscreen.vcx" BaseClass="commandbutton" /> + + ADD OBJECT 'Cmd_spatiu' AS cmd_ts WITH ; + Caption = "", ; + Height = 36, ; + Left = 25, ; + Name = "Cmd_spatiu", ; + ntip = 1, ; + Top = 108, ; + Width = 479, ; + ZOrderSet = 31 + *< END OBJECT: ClassLib="otouchscreen.vcx" BaseClass="commandbutton" /> + + ADD OBJECT 'Cmd_t' AS cmd_ts WITH ; + Caption = "T", ; + Left = 192, ; + Name = "Cmd_t", ; + ntip = 1, ; + Top = 0, ; + ZOrderSet = 5 + *< END OBJECT: ClassLib="otouchscreen.vcx" BaseClass="commandbutton" /> + + ADD OBJECT 'Cmd_u' AS cmd_ts WITH ; + Caption = "U", ; + Left = 288, ; + Name = "Cmd_u", ; + ntip = 1, ; + Top = 0, ; + ZOrderSet = 7 + *< END OBJECT: ClassLib="otouchscreen.vcx" BaseClass="commandbutton" /> + + ADD OBJECT 'Cmd_v' AS cmd_ts WITH ; + Caption = "V", ; + Height = 36, ; + Left = 192, ; + Name = "Cmd_v", ; + ntip = 1, ; + Top = 72, ; + Width = 48, ; + ZOrderSet = 22 + *< END OBJECT: ClassLib="otouchscreen.vcx" BaseClass="commandbutton" /> + + ADD OBJECT 'Cmd_virgula' AS cmd_ts WITH ; + Caption = ",", ; + Height = 36, ; + Left = 384, ; + Name = "Cmd_virgula", ; + ntip = 1, ; + Top = 72, ; + Width = 48, ; + ZOrderSet = 26 + *< END OBJECT: ClassLib="otouchscreen.vcx" BaseClass="commandbutton" /> + + ADD OBJECT 'Cmd_w' AS cmd_ts WITH ; + Caption = "W", ; + Left = 48, ; + Name = "Cmd_w", ; + ntip = 1, ; + Top = 0, ; + ZOrderSet = 11 + *< END OBJECT: ClassLib="otouchscreen.vcx" BaseClass="commandbutton" /> + + ADD OBJECT 'Cmd_x' AS cmd_ts WITH ; + Caption = "X", ; + Height = 36, ; + Left = 96, ; + Name = "Cmd_x", ; + ntip = 1, ; + Top = 72, ; + Width = 48, ; + ZOrderSet = 28 + *< END OBJECT: ClassLib="otouchscreen.vcx" BaseClass="commandbutton" /> + + ADD OBJECT 'Cmd_y' AS cmd_ts WITH ; + Caption = "Y", ; + Left = 240, ; + Name = "Cmd_y", ; + ntip = 1, ; + Top = 0, ; + ZOrderSet = 6 + *< END OBJECT: ClassLib="otouchscreen.vcx" BaseClass="commandbutton" /> + + ADD OBJECT 'Cmd_z' AS cmd_ts WITH ; + Caption = "Z", ; + Height = 36, ; + Left = 48, ; + Name = "Cmd_z", ; + ntip = 1, ; + Top = 72, ; + Width = 48, ; + ZOrderSet = 3 + *< END OBJECT: ClassLib="otouchscreen.vcx" BaseClass="commandbutton" /> + + PROCEDURE butonpress + Lparameters tcCod + This.Parent.butonpress(tcCod) + ENDPROC + + PROCEDURE do_activeaza + Lparameters tnTip + *!* 0 - toate + *!* 1 - litere + DEL, backspace, space, ENTER + *!* 2 - cifrele + DEL, backspace ( fara space, ENTER ) + For i = 1 To This.Objects.Count + If Type('This.Objects(i).nTip') = 'N' + This.Objects(i).Enabled = Iif(tnTip = 0 ,.T., Iif(tnTip = 1 And Inlist(This.Objects(i).nTip,1,0),.T.,; + Iif(tnTip=2 And Inlist(This.Objects(i).nTip,2,0),.T.,.F.))) + IF This.linvizibile + This.Objects(i).Visible = This.Objects(i).Enabled + ENDIF + Endif + Endfor + ENDPROC + + PROCEDURE Init + Local lnWidthB,lnHeightB,lcClass,lcRgbFundal,lcRgbFont + DoDefault() + If !Empty(This.Parent.crgbbackcolor) + lcRgbFundal = [RGB(] + This.Parent.crgbbackcolor+[)] + This.SetAll([BackColor],&lcRgbFundal,[cmd_ts]) + Endif + If !Empty(This.Parent.crgbforecolor) + lcRgbFont = [RGB(] + This.Parent.crgbforecolor + [)] + This.SetAll([ForeColor],&lcRgbFont,[cmd_ts]) + ENDIF + ENDPROC + +ENDDEFINE + +DEFINE CLASS ct_tastatura AS _ctfrmbase OF "_ct_base.vcx" + *< CLASSDATA: Baseclass="container" Timestamp="" Scale="Pixels" Uniqueid="" /> + + *-- OBJECTDATA items order determines ZOrder / El orden de los items OBJECTDATA determina el ZOrder + *< OBJECTDATA: ObjPath="Cmd_7" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="Cmd_8" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="Cmd_9" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="Cmd_4" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="Cmd_5" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="Cmd_6" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="Cmd_3" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="Cmd_2" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="Cmd_1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="Cmd_sepzecimale" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="Cmd_0" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="Cmd_del" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="Cmd_backspace" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="Cmd_00" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="Ct_t_abcde1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="Ct_t_qwerty1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="cmd_tiptastatura" UniqueID="" Timestamp="" /> + + * + *m: butonpress + *m: do_activeaza + *m: do_actualizeaza_cotxt_activ + *m: do_actualizeaza_tastatura + *p: cotxt_activ + *p: crgbbackcolor && Culoarea de fundal a butoanelor. + *p: crgbforecolor && Culoarea literelor. + *p: csepzecimale && Caracterul separator pentru zecimale. + *p: linvizibile && .T. daca butoanele dezactivate sunt si invizibile + *p: ntip + *p: ntiptastatura && 1 - QWERTY;2 - ABCDE + * + + * + BackStyle = 0 + cotxt_activ = + crgbbackcolor = 74,79,234 + crgbforecolor = 255,255,255 + csepzecimale = . + Height = 144 + linvizibile = .F. + Name = "ct_tastatura" + ntip = 0 + ntiptastatura = 1 + Width = 840 + _memberdata = + + + Gridsort1.Height = 17 + Gridsort1.Left = 4 + Gridsort1.Name = "Gridsort1" + Gridsort1.Top = 81 + Gridsort1.Width = 26 + _ct_controller_keypress1.Left = 492 + _ct_controller_keypress1.Name = "_ct_controller_keypress1" + _ct_controller_keypress1.Top = 9 + * + + ADD OBJECT 'Cmd_0' AS cmd_ts WITH ; + Caption = "0", ; + Height = 36, ; + Left = 625, ; + Name = "Cmd_0", ; + ntip = 2, ; + Top = 108, ; + Width = 48, ; + ZOrderSet = 42 + *< END OBJECT: ClassLib="otouchscreen.vcx" BaseClass="commandbutton" /> + + ADD OBJECT 'Cmd_00' AS cmd_ts WITH ; + Caption = "00", ; + Height = 36, ; + Left = 673, ; + Name = "Cmd_00", ; + ntip = 2, ; + Top = 108, ; + Width = 48, ; + ZOrderSet = 42 + *< END OBJECT: ClassLib="otouchscreen.vcx" BaseClass="commandbutton" /> + + ADD OBJECT 'Cmd_1' AS cmd_ts WITH ; + Caption = "1", ; + Height = 36, ; + Left = 625, ; + Name = "Cmd_1", ; + ntip = 2, ; + Top = 72, ; + Width = 48, ; + ZOrderSet = 40 + *< END OBJECT: ClassLib="otouchscreen.vcx" BaseClass="commandbutton" /> + + ADD OBJECT 'Cmd_2' AS cmd_ts WITH ; + Caption = "2", ; + Left = 673, ; + Name = "Cmd_2", ; + ntip = 2, ; + Top = 72, ; + ZOrderSet = 39 + *< END OBJECT: ClassLib="otouchscreen.vcx" BaseClass="commandbutton" /> + + ADD OBJECT 'Cmd_3' AS cmd_ts WITH ; + Caption = "3", ; + Left = 721, ; + Name = "Cmd_3", ; + ntip = 2, ; + Top = 72, ; + ZOrderSet = 38 + *< END OBJECT: ClassLib="otouchscreen.vcx" BaseClass="commandbutton" /> + + ADD OBJECT 'Cmd_4' AS cmd_ts WITH ; + Caption = "4", ; + Left = 625, ; + Name = "Cmd_4", ; + ntip = 2, ; + Top = 36, ; + ZOrderSet = 35 + *< END OBJECT: ClassLib="otouchscreen.vcx" BaseClass="commandbutton" /> + + ADD OBJECT 'Cmd_5' AS cmd_ts WITH ; + Caption = "5", ; + Left = 673, ; + Name = "Cmd_5", ; + ntip = 2, ; + Top = 36, ; + ZOrderSet = 36 + *< END OBJECT: ClassLib="otouchscreen.vcx" BaseClass="commandbutton" /> + + ADD OBJECT 'Cmd_6' AS cmd_ts WITH ; + Caption = "6", ; + Left = 721, ; + Name = "Cmd_6", ; + ntip = 2, ; + Top = 36, ; + ZOrderSet = 37 + *< END OBJECT: ClassLib="otouchscreen.vcx" BaseClass="commandbutton" /> + + ADD OBJECT 'Cmd_7' AS cmd_ts WITH ; + Caption = "7", ; + Left = 625, ; + Name = "Cmd_7", ; + ntip = 2, ; + Top = 0, ; + ZOrderSet = 32 + *< END OBJECT: ClassLib="otouchscreen.vcx" BaseClass="commandbutton" /> + + ADD OBJECT 'Cmd_8' AS cmd_ts WITH ; + Caption = "8", ; + Left = 673, ; + Name = "Cmd_8", ; + ntip = 2, ; + Top = 0, ; + ZOrderSet = 33 + *< END OBJECT: ClassLib="otouchscreen.vcx" BaseClass="commandbutton" /> + + ADD OBJECT 'Cmd_9' AS cmd_ts WITH ; + Caption = "9", ; + Left = 721, ; + Name = "Cmd_9", ; + ntip = 2, ; + Top = 0, ; + ZOrderSet = 34 + *< END OBJECT: ClassLib="otouchscreen.vcx" BaseClass="commandbutton" /> + + ADD OBJECT 'Cmd_backspace' AS cmd_ts WITH ; + Caption = "<-", ; + Height = 108, ; + Left = 768, ; + Name = "Cmd_backspace", ; + Top = 0, ; + Width = 72, ; + ZOrderSet = 44 + *< END OBJECT: ClassLib="otouchscreen.vcx" BaseClass="commandbutton" /> + + ADD OBJECT 'Cmd_del' AS cmd_ts WITH ; + Caption = "DEL", ; + Height = 36, ; + Left = 768, ; + Name = "Cmd_del", ; + Top = 108, ; + Width = 72, ; + ZOrderSet = 43 + *< END OBJECT: ClassLib="otouchscreen.vcx" BaseClass="commandbutton" /> + + ADD OBJECT 'Cmd_sepzecimale' AS cmd_ts WITH ; + Caption = "", ; + Left = 721, ; + Name = "Cmd_sepzecimale", ; + ntip = 2, ; + Top = 108, ; + Visible = .F., ; + ZOrderSet = 41 + *< END OBJECT: ClassLib="otouchscreen.vcx" BaseClass="commandbutton" /> + + ADD OBJECT 'cmd_tiptastatura' AS cmd_ts WITH ; + BackColor = 0,64,0, ; + Caption = "QWERTY", ; + FontBold = .T., ; + FontName = "Arial Narrow", ; + FontSize = 12, ; + ForeColor = 255,255,255, ; + Left = 553, ; + Name = "cmd_tiptastatura", ; + ntip = 1, ; + Top = 108, ; + Width = 65 + *< END OBJECT: ClassLib="otouchscreen.vcx" BaseClass="commandbutton" /> + + ADD OBJECT 'Ct_t_abcde1' AS ct_t_abcde WITH ; + Left = 0, ; + Name = "Ct_t_abcde1", ; + Top = 0, ; + Gridsort1.Name = "Gridsort1", ; + _ct_controller_keypress1.Name = "_ct_controller_keypress1", ; + Cmd_q.Name = "Cmd_q", ; + Cmd_z.Name = "Cmd_z", ; + Cmd_r.Name = "Cmd_r", ; + Cmd_t.Name = "Cmd_t", ; + Cmd_y.Name = "Cmd_y", ; + Cmd_u.Name = "Cmd_u", ; + Cmd_i.Name = "Cmd_i", ; + Cmd_o.Name = "Cmd_o", ; + Cmd_p.Name = "Cmd_p", ; + Cmd_w.Name = "Cmd_w", ; + Cmd_e.Name = "Cmd_e", ; + Cmd_d.Name = "Cmd_d", ; + Cmd_f.Name = "Cmd_f", ; + Cmd_g.Name = "Cmd_g", ; + Cmd_h.Name = "Cmd_h", ; + Cmd_j.Name = "Cmd_j", ; + Cmd_K.Name = "Cmd_K", ; + Cmd_l.Name = "Cmd_l", ; + Cmd_a.Name = "Cmd_a", ; + Cmd_s.Name = "Cmd_s", ; + Cmd_v.Name = "Cmd_v", ; + Cmd_b.Name = "Cmd_b", ; + Cmd_n.Name = "Cmd_n", ; + Cmd_m.Name = "Cmd_m", ; + Cmd_virgula.Name = "Cmd_virgula", ; + Cmd_slash.Name = "Cmd_slash", ; + Cmd_punct.Name = "Cmd_punct", ; + Cmd_x.Name = "Cmd_x", ; + Cmd_c.Name = "Cmd_c", ; + Cmd_enter.Name = "Cmd_enter", ; + Cmd_spatiu.Name = "Cmd_spatiu" + *< END OBJECT: ClassLib="otouchscreen.vcx" BaseClass="container" /> + + ADD OBJECT 'Ct_t_qwerty1' AS ct_t_qwerty WITH ; + Left = 0, ; + Name = "Ct_t_qwerty1", ; + Top = 0, ; + Gridsort1.Name = "Gridsort1", ; + _ct_controller_keypress1.Name = "_ct_controller_keypress1", ; + Cmd_q.Name = "Cmd_q", ; + Cmd_z.Name = "Cmd_z", ; + Cmd_r.Name = "Cmd_r", ; + Cmd_t.Name = "Cmd_t", ; + Cmd_y.Name = "Cmd_y", ; + Cmd_u.Name = "Cmd_u", ; + Cmd_i.Name = "Cmd_i", ; + Cmd_o.Name = "Cmd_o", ; + Cmd_p.Name = "Cmd_p", ; + Cmd_w.Name = "Cmd_w", ; + Cmd_e.Name = "Cmd_e", ; + Cmd_d.Name = "Cmd_d", ; + Cmd_f.Name = "Cmd_f", ; + Cmd_g.Name = "Cmd_g", ; + Cmd_h.Name = "Cmd_h", ; + Cmd_j.Name = "Cmd_j", ; + Cmd_K.Name = "Cmd_K", ; + Cmd_l.Name = "Cmd_l", ; + Cmd_a.Name = "Cmd_a", ; + Cmd_s.Name = "Cmd_s", ; + Cmd_v.Name = "Cmd_v", ; + Cmd_b.Name = "Cmd_b", ; + Cmd_n.Name = "Cmd_n", ; + Cmd_m.Name = "Cmd_m", ; + Cmd_virgula.Name = "Cmd_virgula", ; + Cmd_slash.Name = "Cmd_slash", ; + Cmd_punct.Name = "Cmd_punct", ; + Cmd_x.Name = "Cmd_x", ; + Cmd_c.Name = "Cmd_c", ; + Cmd_spatiu.Name = "Cmd_spatiu", ; + Cmd_enter.Name = "Cmd_enter" + *< END OBJECT: ClassLib="otouchscreen.vcx" BaseClass="container" /> + + PROCEDURE butonpress + Lparameters tcCod + Local lcCod,lcObiectText,lnSelStart,lcTextValue + lcCod = Alltrim(Transform(tcCod)) + lcObiectText = This.cotxt_activ + If Type(lcObiectText) = 'O' + loText = &lcObiectText + lnSelStart = loText.SelStart + lnSelLength = loText.SelLength + If This.nTip = 2 And Type('loText.Value') = 'N' + lcInputMask = Strtran(loText.InputMask,[ ],[]) + lnAparitiiSeparator = Occurs(This.csepzecimale,lcInputMask) + lcTextValue = STRTRAN(Alltrim(Str(loText.Value,14,Iif(At(This.csepzecimale,lcInputMask)<>0,Len(Substr(lcInputMask,At(This.csepzecimale,lcInputMask)+1)),0))),This.csepzecimale,[]) + Do Case + Case At(This.csepzecimale,lcTextValue) = lnAparitiiSeparator And lcCod = This.csepzecimale + RETURN + CASE lcCod = [DEL] + lcTextValue = [0] + Case lcCod = [<-] + lcTextValue = Substr(lcTextValue,1,LEN(lcTextValue)-1) + Otherwise + lcTextValue = lcTextValue + lcCod + Endcase + If At(This.csepzecimale,lcInputMask)<>0 + lnNrZecimale = Len(lcInputMask) - At(This.csepzecimale,lcInputMask) + If Len(lcTextValue) < lnNrZecimale + 1 + lcTextValue = Padl(lcTextValue,2+lnNrZecimale,[0]+This.csepzecimale+Replicate([0],lnNrZecimale)) + Else + lcTextValue = Substr(lcTextValue,1,Len(lcTextValue)-lnNrZecimale) + This.csepzecimale + Substr(lcTextValue,Len(lcTextValue)-lnNrZecimale+1) + Endif + Endif + loText.Value = Val(lcTextValue) + Else + lcTextValue = loText.Value + Do Case + Case Inlist(lcCod,[<-],[DEL]) And lnSelLength <> 0 + lcTextValue = Substr(lcTextValue,1,lnSelStart) + Substr(lcTextValue,lnSelStart+lnSelLength+1) + Case lcCod = [<-] + lcTextValue = Substr(lcTextValue,1,lnSelStart-1) + Substr(lcTextValue,lnSelStart+1) + lnSelStart = Max(0,lnSelStart-1) + Case lcCod = [DEL] + lcTextValue = Substr(lcTextValue,1,lnSelStart) + Substr(lcTextValue,lnSelStart+2) + Case lcCod = [ENTER] + lcTextValue = Substr(lcTextValue,1,lnSelStart) + Chr(13)+Chr(10) + Substr(lcTextValue,lnSelStart+lnSelLength+1) + lnSelStart = lnSelStart + 2 + Case lcCod = [] + lcTextValue = Substr(lcTextValue,1,lnSelStart) + [ ] + Substr(lcTextValue,lnSelStart+lnSelLength+1) + lnSelStart = lnSelStart + 1 + Otherwise + lcTextValue = Substr(lcTextValue,1,lnSelStart) + lcCod + Substr(lcTextValue,lnSelStart+lnSelLength+1) + lnSelStart = lnSelStart + Len(lcCod) + Endcase + loText.Value = lcTextValue + loText.SelStart = lnSelStart + loText.SetFocus() + Endif + Endif + ENDPROC + + PROCEDURE Destroy + Unbindevent(This,'ntiptastatura',This,'do_actualizeaza_tastatura') + Unbindevent(This,'cotxt_activ',This,'do_actualizeaza_cotxt_activ') + ENDPROC + + PROCEDURE do_activeaza + Lparameters tnTip + *!* 0 - toate + *!* 1 - litere + DEL, backspace, space, ENTER + *!* 2 - cifrele + DEL, backspace ( fara space, ENTER ) + This.nTip = tnTip + For i = 1 To This.Objects.Count + If Type('This.Objects(i).nTip') = 'N' + This.Objects(i).Enabled = Iif(This.nTip = 0 ,.T., Iif(This.nTip = 1 And Inlist(This.Objects(i).nTip,1,0),.T.,; + Iif(This.nTip=2 And Inlist(This.Objects(i).nTip,2,0),.T.,.F.))) + IF This.linvizibile + This.Objects(i).Visible = This.Objects(i).Enabled + ENDIF + Endif + Endfor + This.ct_t_abcde1.do_activeaza(tnTip) + This.ct_t_qwerty1.do_activeaza(tnTip) + + ENDPROC + + PROCEDURE do_actualizeaza_cotxt_activ + Local lcObiectText,loText + lcObiectText = This.cotxt_activ + If Type(lcObiectText) = 'O' + loText = &lcObiectText + If Type('loText.Value') = 'C' + loText.SelStart = Len(Alltrim(loText.Value)) + Endif + Endif + ENDPROC + + PROCEDURE do_actualizeaza_tastatura + If This.ntiptastatura = 1 + This.ct_t_abcde1.Visible = .F. + This.ct_t_qwerty1.Visible = .T. + This.cmd_tiptastatura.Caption = [ABCDE] + Else + This.ct_t_abcde1.Visible = .T. + This.ct_t_qwerty1.Visible = .F. + This.cmd_tiptastatura.Caption = [QWERTY] + Endif + ENDPROC + + PROCEDURE Init + Local lnWidthB,lnHeightB,lcClass,lcRgbFundal,lcRgbFont + DoDefault() + If !Empty(This.crgbbackcolor) + lcRgbFundal = [RGB(] + This.crgbbackcolor+[)] + This.SetAll([BackColor],&lcRgbFundal,[cmd_ts]) + Endif + If !Empty(This.crgbforecolor) + lcRgbFont = [RGB(] + This.crgbforecolor + [)] + This.SetAll([ForeColor],&lcRgbFont,[cmd_ts]) + Endif + This.cmd_tiptastatura.BackColor = RGB(0,64,0) + This.cmd_tiptastatura.ForeColor = RGB(255,255,255) + This.ct_t_abcde1.linvizibile = This.linvizibile + This.ct_t_qwerty1.linvizibile = This.linvizibile + This.cmd_sepzecimale.Caption = This.csepzecimale + This.do_actualizeaza_tastatura() + Bindevent(This,'ntiptastatura',This,'do_actualizeaza_tastatura',1) + Bindevent(This,'cotxt_activ',This,'do_actualizeaza_cotxt_activ',1) + ENDPROC + + PROCEDURE cmd_tiptastatura.Click + This.Parent.ntiptastatura = Mod(This.Parent.ntiptastatura,2) + 1 + ENDPROC + +ENDDEFINE + +DEFINE CLASS ct_tx AS _ctfrmbase OF "_ct_base.vcx" + *< CLASSDATA: Baseclass="container" Timestamp="" Scale="Pixels" Uniqueid="" /> + + *-- OBJECTDATA items order determines ZOrder / El orden de los items OBJECTDATA determina el ZOrder + *< OBJECTDATA: ObjPath="tx" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="lb_sterge" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="Cmd_ts_sel1" UniqueID="" Timestamp="" /> + + * + *m: do_redimensioneaza + *m: do_schimba_explicatie + *p: cexplicatie + *p: cprocget + *p: cprocset + *p: crgbbackcolor && Culoarea de fundal a butoanelor. + *p: crgbforecolor && Culoarea literelor. + *p: ctxcontrolsource + *p: lrefresh + *p: lselectat + * + + * + BackColor = 192,192,192 + cexplicatie = + cprocget = + cprocset = + ctxcontrolsource = + Height = 38 + lrefresh = .F. + Name = "ct_tx" + Width = 215 + _memberdata = + + + Gridsort1.Left = 1 + Gridsort1.Name = "Gridsort1" + Gridsort1.Top = 1 + _ct_controller_keypress1.Left = 1 + _ct_controller_keypress1.Name = "_ct_controller_keypress1" + _ct_controller_keypress1.Top = 1 + * + + ADD OBJECT 'Cmd_ts_sel1' AS cmd_ts_sel WITH ; + Left = 4, ; + lselectat = .T., ; + Name = "Cmd_ts_sel1", ; + Top = 4, ; + Width = 76, ; + ZOrderSet = 4 + *< END OBJECT: ClassLib="otouchscreen.vcx" BaseClass="commandbutton" /> + + ADD OBJECT 'lb_sterge' AS _lbbase WITH ; + AutoSize = .F., ; + BackColor = 255,0,0, ; + BackStyle = 1, ; + Caption = "X", ; + FontName = "Arial Black", ; + FontSize = 20, ; + ForeColor = 255,255,255, ; + Height = 38, ; + Left = 192, ; + Name = "lb_sterge", ; + Top = 0, ; + Visible = .F., ; + Width = 23, ; + ZOrderSet = 3 + *< END OBJECT: ClassLib="_lb_base.vcx" BaseClass="label" /> + + ADD OBJECT 'tx' AS _txbase WITH ; + FontName = "Arial Black", ; + FontSize = 18, ; + Height = 38, ; + Left = 84, ; + Name = "tx", ; + ReadOnly = .T., ; + Top = 0, ; + Width = 108, ; + ZOrderSet = 2 + *< END OBJECT: ClassLib="_tx_base.vcx" BaseClass="textbox" /> + + PROCEDURE Destroy + Unbindevents(This,'cExplicatie',This,'do_schimba_explicatie') + Unbindevents(This,'lSelectat',This,'do_modifica') + Unbindevents(This,'Width',This,'do_redimensioneaza') + ENDPROC + + PROCEDURE do_modifica + This.cmd_ts_sel1.nselectat = Iif(This.lselectat,1,0) + This.lb_sterge.Visible = This.lselectat + This.do_redimensioneaza() + ENDPROC + + PROCEDURE do_redimensioneaza + This.lb_sterge.Left = This.Width - This.lb_sterge.Width + If This.lselectat + This.tx.Width = This.Width - This.tx.Left - This.lb_sterge.Width + Else + This.tx.Width = This.Width - This.tx.Left + Endif + ENDPROC + + PROCEDURE do_schimba_explicatie + This.cmd_ts_sel1.Caption = This.cExplicatie + ENDPROC + + PROCEDURE Init + This.BackStyle= 0 + If !Empty(This.cmd_ts_sel1.Caption) And Empty(This.cExplicatie) + This.cExplicatie = This.cmd_ts_sel1.Caption + Else + This.do_schimba_explicatie() + Endif + If !Empty(This.ctxcontrolsource) + This.tx.ControlSource = This.ctxcontrolsource + Endif + This.do_redimensioneaza() + Bindevent(This,'cExplicatie',This,'do_schimba_explicatie',1) + Bindevent(This,'lSelectat',This,'do_modifica',1) + Bindevent(This,'Width',This,'do_redimensioneaza',1) + ENDPROC + + PROCEDURE Cmd_ts_sel1.Click + This.Parent.do_executa() + ENDPROC + + PROCEDURE lb_sterge.Click + If Type('This.Parent.tx.Value') = 'N' + This.Parent.tx.Value = 0 + Else + This.Parent.tx.Value = [] + Endif + ENDPROC + + PROCEDURE tx.ProgrammaticChange + Local lcProcedura + If !This.Parent.lRefresh + If !Empty(This.Parent.cprocset) + lcProcedura = This.Parent.cprocset + [(This.Value)] + &lcProcedura + Endif + If !Empty(This.Parent.cprocget) + lcProcedura = This.Parent.cprocget + [()] + This.Value = &lcProcedura + Endif + Endif + ENDPROC + + PROCEDURE tx.Refresh + This.Parent.lRefresh = .T. + If !Empty(This.Parent.cprocget) + lcProcedura = This.Parent.cprocget + [()] + This.Value = &lcProcedura + Endif + This.Parent.lRefresh = .F. + DoDefault() + ENDPROC + +ENDDEFINE + +DEFINE CLASS ts_tx AS _txbase OF "_tx_base.vcx" + *< CLASSDATA: Baseclass="textbox" Timestamp="" Scale="Pixels" Uniqueid="" /> + + * + *p: cprocget && Numele procedurii care citeste valoarea campului. + *p: cprocset && Numele procedurii care scrie valoarea. + *p: lrefresh + * + + * + cprocget = + cprocset = + FontName = "Arial Black" + FontSize = 18 + Height = 38 + lrefresh = .F. + Name = "ts_tx" + ReadOnly = .T. + Width = 100 + * + + PROCEDURE ProgrammaticChange + Local lcProcedura + If !This.lRefresh + If !Empty(This.cprocset) + lcProcedura = This.cprocset + [(This.Value)] + &lcProcedura + Endif + If !Empty(This.cprocget) + lcProcedura = This.cprocget + [()] + This.Value = &lcProcedura + Endif + Endif + ENDPROC + + PROCEDURE Refresh + This.lRefresh = .T. + If !Empty(This.cprocget) + lcProcedura = This.cprocget + [()] + This.Value = &lcProcedura + Endif + This.lRefresh = .F. + DoDefault() + + ENDPROC + +ENDDEFINE diff --git a/clase/overificari.vc2 b/clase/overificari.vc2 new file mode 100644 index 0000000..7867c8a --- /dev/null +++ b/clase/overificari.vc2 @@ -0,0 +1,4656 @@ +*-------------------------------------------------------------------------------------------------------------------------------------------------------- +* (EN) AUTOGENERATED - ATTENTION!! - NOT INTENDED FOR EXECUTION!! USE ONLY FOR MERGING CHANGES AND STORING WITH SCM TOOLS!! +*-------------------------------------------------------------------------------------------------------------------------------------------------------- +*< FOXBIN2PRG: Version="1.21" SourceFile="overificari.vcx" CPID="1252" /> (Solo para binarios VFP 9 / Only for VFP 9 binaries) +* +* +DEFINE CLASS frm_inainte_de AS _frmbase OF "_frm_base.vcx" + *< CLASSDATA: Baseclass="form" Timestamp="" Scale="Pixels" Uniqueid="" /> + + *-- OBJECTDATA items order determines ZOrder / El orden de los items OBJECTDATA determina el ZOrder + *< OBJECTDATA: ObjPath="Edit1" UniqueID="" Timestamp="" /> + + * + *p: cmesaj + * + + * + BorderStyle = 3 + cmesaj = + DoCreate = .T. + Height = 76 + MaxHeight = 551 + Name = "frm_inainte_de" + Width = 624 + _shape1.Anchor = 11 + _shape1.Height = 29 + _shape1.Left = 0 + _shape1.Name = "_shape1" + _shape1.Top = 0 + _shape1.Width = 624 + _shape2.Anchor = 9 + _shape2.Left = 576 + _shape2.Name = "_shape2" + _shape2.Top = 0 + Lb_titlu_alb_b121.Caption = "Mesaj" + Lb_titlu_alb_b121.Name = "Lb_titlu_alb_b121" + BUT_TERMIN1.Anchor = 9 + BUT_TERMIN1.Left = 590 + BUT_TERMIN1.Name = "BUT_TERMIN1" + BUT_TERMIN1.Top = 1 + * + + ADD OBJECT 'Edit1' AS editbox WITH ; + Anchor = 15, ; + BackColor = 212,208,200, ; + BorderStyle = 1, ; + ControlSource = "thisform.cMesaj", ; + FontName = "Arial", ; + FontSize = 10, ; + Height = 20, ; + Left = 12, ; + Name = "Edit1", ; + ReadOnly = .T., ; + ScrollBars = 2, ; + SpecialEffect = 1, ; + Top = 44, ; + Width = 600 + *< END OBJECT: BaseClass="editbox" /> + +ENDDEFINE + +DEFINE CLASS frm_situatii_invalidate AS _frmbase OF "_frm_base.vcx" + *< CLASSDATA: Baseclass="form" Timestamp="" Scale="Pixels" Uniqueid="" /> + + *-- OBJECTDATA items order determines ZOrder / El orden de los items OBJECTDATA determina el ZOrder + *< OBJECTDATA: ObjPath="Gridextra1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="grdSituatiiInvalidate" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="grdSituatiiInvalidate.Column1.Header1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="grdSituatiiInvalidate.Column1.Text1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="grdSituatiiInvalidate.Column2.Header1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="grdSituatiiInvalidate.Column2.Text1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="grdSituatiiInvalidate.Column3.Header1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="grdSituatiiInvalidate.Column3.Text1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="grdSituatiiInvalidate.Column4.Header1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="grdSituatiiInvalidate.Column4.Text1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="grdSituatiiInvalidate.Column5.Header1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="grdSituatiiInvalidate.Column5.Text1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="grdSituatiiInvalidate.Column6.Header1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="grdSituatiiInvalidate.Column6.Text1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="grdSituatiiInvalidate.Column7.Header1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="grdSituatiiInvalidate.Column7.Text1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="grdSituatiiInvalidate.Column8.Header1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="grdSituatiiInvalidate.Column8.Text1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="grdSituatiiInvalidate.Column9.Header1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="grdSituatiiInvalidate.Column9.Text1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="grdSituatiiInvalidate.Column10.Header1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="grdSituatiiInvalidate.Column10.Text1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="grdSituatiiInvalidate.Column11.Header1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="grdSituatiiInvalidate.Column11.Text1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="grdSituatiiInvalidate.Column11.Check1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="grdSituatiiInvalidate.Column12.Header1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="grdSituatiiInvalidate.Column12.Text1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="grdSituatiiInvalidate.Column13.Header1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="grdSituatiiInvalidate.Column13.Text1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="grdSituatiiInvalidate.Column14.Header1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="grdSituatiiInvalidate.Column14.Text1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="grdSituatiiInvalidate.Column15.Header1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="grdSituatiiInvalidate.Column15.Text1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="cboTabel" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="_txDataf" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="_txDatai" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="But_reface1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="txtCont" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="_label1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="_label2" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="_label3" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="Cmd_cauta1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="_label4" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="chkInvalidate" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="_label5" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="But_verifica1" UniqueID="" Timestamp="" /> + + * + *m: do_autentificare + *m: do_validare + *m: meniu_dblclick + *p: ddataf + *p: ddatai + *p: lautoverificare && Daca se porneste verificarea automat din metoda Show, cand este apelata verificarea din Reg. TVA + *p: lmfin + *p: lparola + *p: lvies + * + + * + BorderStyle = 3 + Caption = "Verificare Parteneri" + cbuton1 = but_excel1 + cusername = + ddataf = {} + ddatai = {} + DoCreate = .T. + Height = 416 + lautoverificare = .F. + lmfin = .F. + lparola = .F. + lvies = .F. + Name = "frm_situatii_invalidate" + Width = 774 + _memberdata = + + + _shape1.Anchor = 10 + _shape1.Height = 29 + _shape1.Left = 0 + _shape1.Name = "_shape1" + _shape1.Top = 0 + _shape1.Width = 780 + _shape2.Left = 744 + _shape2.Name = "_shape2" + _shape2.Top = 0 + Lb_titlu_alb_b121.Caption = "Situatii validate / invalidate" + Lb_titlu_alb_b121.Left = 12 + Lb_titlu_alb_b121.Name = "Lb_titlu_alb_b121" + Lb_titlu_alb_b121.TabIndex = 9 + Lb_titlu_alb_b121.Top = 5 + BUT_TERMIN1.Anchor = 8 + BUT_TERMIN1.Left = 743 + BUT_TERMIN1.Name = "BUT_TERMIN1" + BUT_TERMIN1.TabIndex = 7 + BUT_TERMIN1.Top = 0 + Gridsort1.Left = 9 + Gridsort1.Name = "Gridsort1" + Gridsort1.Top = 37 + * + + ADD OBJECT '_label1' AS _label WITH ; + Caption = "Perioada", ; + Left = 290, ; + Name = "_label1", ; + TabIndex = 11, ; + Top = 33 + *< END OBJECT: ClassLib="_baza.vcx" BaseClass="label" /> + + ADD OBJECT '_label2' AS _label WITH ; + Caption = "Situatie", ; + Left = 96, ; + Name = "_label2", ; + TabIndex = 14, ; + Top = 33 + *< END OBJECT: ClassLib="_baza.vcx" BaseClass="label" /> + + ADD OBJECT '_label3' AS _label WITH ; + Caption = "-", ; + FontSize = 12, ; + Left = 365, ; + Name = "_label3", ; + TabIndex = 15, ; + Top = 50 + *< END OBJECT: ClassLib="_baza.vcx" BaseClass="label" /> + + ADD OBJECT '_label4' AS _label WITH ; + Caption = "Stare", ; + Left = 14, ; + Name = "_label4", ; + TabIndex = 13, ; + Top = 33 + *< END OBJECT: ClassLib="_baza.vcx" BaseClass="label" /> + + ADD OBJECT '_label5' AS _label WITH ; + Caption = "Cont", ; + Left = 456, ; + Name = "_label5", ; + TabIndex = 10, ; + Top = 33 + *< END OBJECT: ClassLib="_baza.vcx" BaseClass="label" /> + + ADD OBJECT '_txDataf' AS _textbox WITH ; + ControlSource = "thisform.dDataf", ; + DisabledForeColor = 0,0,0, ; + ForeColor = 0,0,0, ; + Format = "k", ; + Left = 373, ; + Name = "_txDataf", ; + TabIndex = 3, ; + Top = 49, ; + Width = 72, ; + ZOrderSet = 8 + *< END OBJECT: ClassLib="_baza.vcx" BaseClass="textbox" /> + + ADD OBJECT '_txDatai' AS _textbox WITH ; + ControlSource = "thisform.dDatai", ; + DisabledForeColor = 0,0,0, ; + Format = "k", ; + Left = 290, ; + Name = "_txDatai", ; + TabIndex = 2, ; + Top = 49, ; + Width = 72, ; + ZOrderSet = 8 + *< END OBJECT: ClassLib="_baza.vcx" BaseClass="textbox" /> + + ADD OBJECT 'But_reface1' AS but_reface WITH ; + Anchor = 9, ; + caction = do_reface, ; + Comment = "*:OnResize=RT", ; + Left = 713, ; + Name = "But_reface1", ; + TabIndex = 12, ; + Top = 0, ; + Visible = .T., ; + ZOrderSet = 10 + *< END OBJECT: ClassLib="cmd_butoane.vcx" BaseClass="commandbutton" /> + + ADD OBJECT 'But_verifica1' AS but_verifica WITH ; + Anchor = 9, ; + caction = do_validare, ; + Left = 682, ; + Name = "But_verifica1", ; + ToolTipText = "Marcheaza validat (fara refacere)", ; + Top = 0 + *< END OBJECT: ClassLib="cmd_butoane.vcx" BaseClass="commandbutton" /> + + ADD OBJECT 'cboTabel' AS _combobox WITH ; + Height = 24, ; + Left = 96, ; + Name = "cboTabel", ; + RowSource = "Toate,Balanta verificare,Balanta parteneri,Inregistrari parteneri,Reg. Cumparari,Reg. vanzari,Stoc,Stoc ob. inv.", ; + RowSourceType = 1, ; + TabIndex = 1, ; + Top = 48, ; + Value = Toate, ; + Width = 182 + *< END OBJECT: ClassLib="_baza.vcx" BaseClass="combobox" /> + + ADD OBJECT 'chkInvalidate' AS _checkbox WITH ; + Alignment = 0, ; + Caption = "Invalidate", ; + Left = 14, ; + Name = "chkInvalidate", ; + TabIndex = 6, ; + Top = 52 + *< END OBJECT: ClassLib="_baza.vcx" BaseClass="checkbox" /> + + ADD OBJECT 'Cmd_cauta1' AS cmd_cauta WITH ; + Left = 544, ; + Name = "Cmd_cauta1", ; + TabIndex = 5, ; + Top = 47 + *< END OBJECT: ClassLib="cmd_butoane.vcx" BaseClass="commandbutton" /> + + ADD OBJECT 'grdSituatiiInvalidate' AS _grdbase WITH ; + Anchor = 15, ; + ColumnCount = 15, ; + DeleteMark = .F., ; + HeaderHeight = 32, ; + Height = 324, ; + Left = 12, ; + Name = "grdSituatiiInvalidate", ; + Panel = 1, ; + ReadOnly = .T., ; + RecordSource = "csituatiiinvalidate", ; + TabIndex = 8, ; + Top = 84, ; + Width = 756, ; + Column1.ColumnOrder = 2, ; + Column1.ControlSource = "csituatiiinvalidate.situatie", ; + Column1.Name = "Column1", ; + Column1.ReadOnly = .T., ; + Column1.Width = 172, ; + Column2.ColumnOrder = 3, ; + Column2.ControlSource = "csituatiiinvalidate.an", ; + Column2.Name = "Column2", ; + Column2.ReadOnly = .T., ; + Column2.Width = 38, ; + Column3.ColumnOrder = 4, ; + Column3.ControlSource = "csituatiiinvalidate.luna", ; + Column3.Name = "Column3", ; + Column3.ReadOnly = .T., ; + Column3.Width = 35, ; + Column4.ColumnOrder = 5, ; + Column4.ControlSource = "csituatiiinvalidate.cont", ; + Column4.Name = "Column4", ; + Column4.ReadOnly = .T., ; + Column4.Width = 30, ; + Column5.ColumnOrder = 6, ; + Column5.ControlSource = "csituatiiinvalidate.cgest", ; + Column5.Name = "Column5", ; + Column5.ReadOnly = .T., ; + Column5.Width = 70, ; + Column6.ColumnOrder = 10, ; + Column6.ControlSource = "csituatiiinvalidate.dultima_operatie", ; + Column6.Name = "Column6", ; + Column6.ReadOnly = .T., ; + Column6.Width = 126, ; + Column7.ColumnOrder = 11, ; + Column7.ControlSource = "csituatiiinvalidate.dultima_refacere", ; + Column7.Name = "Column7", ; + Column7.ReadOnly = .T., ; + Column7.Width = 128, ; + Column8.ColumnOrder = 7, ; + Column8.ControlSource = "csituatiiinvalidate.dinvalidat", ; + Column8.Name = "Column8", ; + Column8.ReadOnly = .T., ; + Column8.Width = 117, ; + Column9.ColumnOrder = 12, ; + Column9.ControlSource = "csituatiiinvalidate.ctip_validare", ; + Column9.Name = "Column9", ; + Column9.ReadOnly = .T., ; + Column9.Width = 76, ; + Column10.ColumnOrder = 1, ; + Column10.ControlSource = "' '", ; + Column10.CurrentControl = "Text1", ; + Column10.DynamicBackColor = "IIF(!EMPTY(NVL(csituatiiinvalidate.dinvalidat,{//::})), RGB(255,0,0), RGB(255,255,255))", ; + Column10.DynamicForeColor = "IIF(!EMPTY(NVL(csituatiiinvalidate.dinvalidat,{//::})), RGB(255,0,0), RGB(255,255,255))", ; + Column10.Name = "Column10", ; + Column10.ReadOnly = .T., ; + Column10.Width = 27, ; + Column11.ColumnOrder = 13, ; + Column11.ControlSource = "csituatiiinvalidate.blocat", ; + Column11.CurrentControl = "Check1", ; + Column11.Name = "Column11", ; + Column11.ReadOnly = .T., ; + Column11.Sparse = .F., ; + Column11.Width = 38, ; + Column12.ColumnOrder = 14, ; + Column12.ControlSource = "csituatiiinvalidate.util_validare", ; + Column12.Name = "Column12", ; + Column12.ReadOnly = .T., ; + Column12.Width = 176, ; + Column13.ColumnOrder = 15, ; + Column13.ControlSource = "csituatiiinvalidate.dataora_validare", ; + Column13.Name = "Column13", ; + Column13.ReadOnly = .T., ; + Column13.Width = 178, ; + Column14.ColumnOrder = 8, ; + Column14.ControlSource = "csituatiiinvalidate.util_invalidare", ; + Column14.Name = "Column14", ; + Column14.ReadOnly = .T., ; + Column14.Width = 125, ; + Column15.ColumnOrder = 9, ; + Column15.ControlSource = "csituatiiinvalidate.explicatie", ; + Column15.Name = "Column15", ; + Column15.ReadOnly = .T., ; + Column15.Width = 72 + *< END OBJECT: ClassLib="_grd_base.vcx" BaseClass="grid" /> + + ADD OBJECT 'grdSituatiiInvalidate.Column1.Header1' AS header WITH ; + Alignment = 2, ; + Caption = "Situatie", ; + Name = "Header1" + *< END OBJECT: BaseClass="header" /> + + ADD OBJECT 'grdSituatiiInvalidate.Column1.Text1' AS textbox WITH ; + BackColor = 255,255,255, ; + BorderStyle = 0, ; + ForeColor = 0,0,0, ; + Margin = 0, ; + Name = "Text1", ; + SelectedBackColor = 100,185,255 + *< END OBJECT: BaseClass="textbox" /> + + ADD OBJECT 'grdSituatiiInvalidate.Column10.Header1' AS header WITH ; + Alignment = 2, ; + Caption = "Stare", ; + Name = "Header1" + *< END OBJECT: BaseClass="header" /> + + ADD OBJECT 'grdSituatiiInvalidate.Column10.Text1' AS textbox WITH ; + BackColor = 255,255,255, ; + BorderStyle = 0, ; + ForeColor = 0,0,0, ; + Margin = 0, ; + Name = "Text1", ; + SelectedBackColor = 100,185,255 + *< END OBJECT: BaseClass="textbox" /> + + ADD OBJECT 'grdSituatiiInvalidate.Column11.Check1' AS checkbox WITH ; + Alignment = 2, ; + Caption = "", ; + Height = 17, ; + Left = 21, ; + Name = "Check1", ; + Top = 47, ; + Width = 60 + *< END OBJECT: BaseClass="checkbox" /> + + ADD OBJECT 'grdSituatiiInvalidate.Column11.Header1' AS header WITH ; + Alignment = 2, ; + Caption = "Blocat", ; + Name = "Header1" + *< END OBJECT: BaseClass="header" /> + + ADD OBJECT 'grdSituatiiInvalidate.Column11.Text1' AS textbox WITH ; + BackColor = 255,255,255, ; + BorderStyle = 0, ; + ForeColor = 0,0,0, ; + Margin = 0, ; + Name = "Text1", ; + ReadOnly = .T., ; + SelectedBackColor = 100,185,255 + *< END OBJECT: BaseClass="textbox" /> + + ADD OBJECT 'grdSituatiiInvalidate.Column12.Header1' AS header WITH ; + Alignment = 2, ; + Caption = "Utilizator validare", ; + Name = "Header1" + *< END OBJECT: BaseClass="header" /> + + ADD OBJECT 'grdSituatiiInvalidate.Column12.Text1' AS textbox WITH ; + BackColor = 255,255,255, ; + BorderStyle = 0, ; + ForeColor = 0,0,0, ; + Margin = 0, ; + Name = "Text1", ; + ReadOnly = .T., ; + SelectedBackColor = 100,185,255 + *< END OBJECT: BaseClass="textbox" /> + + ADD OBJECT 'grdSituatiiInvalidate.Column13.Header1' AS header WITH ; + Alignment = 2, ; + Caption = "Data validare", ; + Name = "Header1" + *< END OBJECT: BaseClass="header" /> + + ADD OBJECT 'grdSituatiiInvalidate.Column13.Text1' AS textbox WITH ; + BackColor = 255,255,255, ; + BorderStyle = 0, ; + ForeColor = 0,0,0, ; + Margin = 0, ; + Name = "Text1", ; + ReadOnly = .T., ; + SelectedBackColor = 100,185,255 + *< END OBJECT: BaseClass="textbox" /> + + ADD OBJECT 'grdSituatiiInvalidate.Column14.Header1' AS header WITH ; + Alignment = 2, ; + Caption = "Utilizator invalidare", ; + Name = "Header1" + *< END OBJECT: BaseClass="header" /> + + ADD OBJECT 'grdSituatiiInvalidate.Column14.Text1' AS textbox WITH ; + BackColor = 255,255,255, ; + BorderStyle = 0, ; + ForeColor = 0,0,0, ; + Margin = 0, ; + Name = "Text1", ; + ReadOnly = .T., ; + SelectedBackColor = 100,185,255 + *< END OBJECT: BaseClass="textbox" /> + + ADD OBJECT 'grdSituatiiInvalidate.Column15.Header1' AS header WITH ; + Alignment = 2, ; + Caption = "Explicatie", ; + Name = "Header1" + *< END OBJECT: BaseClass="header" /> + + ADD OBJECT 'grdSituatiiInvalidate.Column15.Text1' AS textbox WITH ; + BackColor = 255,255,255, ; + BorderStyle = 0, ; + ForeColor = 0,0,0, ; + Margin = 0, ; + Name = "Text1", ; + ReadOnly = .T., ; + SelectedBackColor = 100,185,255 + *< END OBJECT: BaseClass="textbox" /> + + ADD OBJECT 'grdSituatiiInvalidate.Column2.Header1' AS header WITH ; + Alignment = 2, ; + Caption = "An", ; + Name = "Header1" + *< END OBJECT: BaseClass="header" /> + + ADD OBJECT 'grdSituatiiInvalidate.Column2.Text1' AS textbox WITH ; + BackColor = 255,255,255, ; + BorderStyle = 0, ; + ForeColor = 0,0,0, ; + Margin = 0, ; + Name = "Text1", ; + SelectedBackColor = 100,185,255 + *< END OBJECT: BaseClass="textbox" /> + + ADD OBJECT 'grdSituatiiInvalidate.Column3.Header1' AS header WITH ; + Alignment = 2, ; + Caption = "Luna", ; + Name = "Header1" + *< END OBJECT: BaseClass="header" /> + + ADD OBJECT 'grdSituatiiInvalidate.Column3.Text1' AS textbox WITH ; + BackColor = 255,255,255, ; + BorderStyle = 0, ; + ForeColor = 0,0,0, ; + Margin = 0, ; + Name = "Text1", ; + SelectedBackColor = 100,185,255 + *< END OBJECT: BaseClass="textbox" /> + + ADD OBJECT 'grdSituatiiInvalidate.Column4.Header1' AS header WITH ; + Alignment = 2, ; + Caption = "Cont", ; + Name = "Header1" + *< END OBJECT: BaseClass="header" /> + + ADD OBJECT 'grdSituatiiInvalidate.Column4.Text1' AS textbox WITH ; + BackColor = 255,255,255, ; + BorderStyle = 0, ; + ForeColor = 0,0,0, ; + Margin = 0, ; + Name = "Text1", ; + SelectedBackColor = 100,185,255 + *< END OBJECT: BaseClass="textbox" /> + + ADD OBJECT 'grdSituatiiInvalidate.Column5.Header1' AS header WITH ; + Alignment = 2, ; + Caption = "Gest", ; + Name = "Header1" + *< END OBJECT: BaseClass="header" /> + + ADD OBJECT 'grdSituatiiInvalidate.Column5.Text1' AS textbox WITH ; + BackColor = 255,255,255, ; + BorderStyle = 0, ; + ForeColor = 0,0,0, ; + Margin = 0, ; + Name = "Text1", ; + SelectedBackColor = 100,185,255 + *< END OBJECT: BaseClass="textbox" /> + + ADD OBJECT 'grdSituatiiInvalidate.Column6.Header1' AS header WITH ; + Alignment = 2, ; + Caption = "Data ultimei operatii", ; + Name = "Header1" + *< END OBJECT: BaseClass="header" /> + + ADD OBJECT 'grdSituatiiInvalidate.Column6.Text1' AS textbox WITH ; + BackColor = 255,255,255, ; + BorderStyle = 0, ; + ForeColor = 0,0,0, ; + Margin = 0, ; + Name = "Text1", ; + SelectedBackColor = 100,185,255 + *< END OBJECT: BaseClass="textbox" /> + + ADD OBJECT 'grdSituatiiInvalidate.Column7.Header1' AS header WITH ; + Alignment = 2, ; + Caption = "Data ultimei refaceri", ; + Name = "Header1" + *< END OBJECT: BaseClass="header" /> + + ADD OBJECT 'grdSituatiiInvalidate.Column7.Text1' AS textbox WITH ; + BackColor = 255,255,255, ; + BorderStyle = 0, ; + ForeColor = 0,0,0, ; + Margin = 0, ; + Name = "Text1", ; + SelectedBackColor = 100,185,255 + *< END OBJECT: BaseClass="textbox" /> + + ADD OBJECT 'grdSituatiiInvalidate.Column8.Header1' AS header WITH ; + Alignment = 2, ; + Caption = "Data invalidare", ; + Name = "Header1" + *< END OBJECT: BaseClass="header" /> + + ADD OBJECT 'grdSituatiiInvalidate.Column8.Text1' AS textbox WITH ; + BackColor = 255,255,255, ; + BorderStyle = 0, ; + ForeColor = 0,0,0, ; + Margin = 0, ; + Name = "Text1", ; + SelectedBackColor = 100,185,255 + *< END OBJECT: BaseClass="textbox" /> + + ADD OBJECT 'grdSituatiiInvalidate.Column9.Header1' AS header WITH ; + Alignment = 2, ; + Caption = "Tip validare", ; + Name = "Header1" + *< END OBJECT: BaseClass="header" /> + + ADD OBJECT 'grdSituatiiInvalidate.Column9.Text1' AS textbox WITH ; + BackColor = 255,255,255, ; + BorderStyle = 0, ; + ForeColor = 0,0,0, ; + Margin = 0, ; + Name = "Text1", ; + SelectedBackColor = 100,185,255 + *< END OBJECT: BaseClass="textbox" /> + + ADD OBJECT 'Gridextra1' AS gridextra WITH ; + gridexpression = Thisform._grdbase1, ; + Height = 17, ; + Left = 744, ; + Name = "Gridextra1", ; + Top = 36, ; + Width = 24 + *< END OBJECT: ClassLib="..\utile\gridextras\gridextras.vcx" BaseClass="custom" /> + + ADD OBJECT 'txtCont' AS _textbox WITH ; + DisabledForeColor = 0,0,0, ; + ForeColor = 0,0,0, ; + Format = "k", ; + Left = 456, ; + Name = "txtCont", ; + TabIndex = 4, ; + Top = 48, ; + Width = 72, ; + ZOrderSet = 8 + *< END OBJECT: ClassLib="_baza.vcx" BaseClass="textbox" /> + + PROCEDURE actualizeaza_grid1 + Lparameters tcFiltru + + Local lcFiltru + lcFiltru = Iif(Empty(tcFiltru), poSituatii.ca_baza1.cfiltru, m.tcFiltru) + + Thisform.MousePointer = 11 + Thisform.LockScreen = .T. + save_grid_tag(Thisform.grdSituatiiInvalidate) + + poSituatii.ca_baza1.cfiltru = lcFiltru + poSituatii.ca_baza1.afisare() + + restore_grid_tag(Thisform.grdSituatiiInvalidate) + Thisform.MousePointer = 0 + Thisform.LockScreen = .F. + + + Select cSituatiiInvalidate + Go Top + Thisform.grdSituatiiInvalidate.SetFocus + + ENDPROC + + PROCEDURE DblClick + This.but_reface1.Visible = .T. + ENDPROC + + PROCEDURE do_autentificare + Local lcParola + IF !this.lParola + lcParola = Inputbox('Parola', 'Parola', '') + This.lParola = (m.lcParola = Transform(Year(Date())) + Padl(Transform(Month(Date())), 2, '0') + Padl(Transform(Day(Date())), 2, '0')) + ENDIF + Return This.lParola + ENDPROC + + PROCEDURE do_cauta + LOCAL llInvalidate, lcFiltru, lcSituatie + + Private pcTabel, pdDataI, pdDataF, pcCont + pdDataI = Thisform.dDataI + pdDataF = Thisform.dDataF + pcCont = ALLTRIM(thisform.txtCont.Value) + lcSituatie = UPPER(ALLTRIM(thisform.cboTabel.Value)) + pcTabel = IIF(lcSituatie = 'BALANTA VERIFICARE', 'BAL', ; + IIF(m.lcSituatie = 'BALANTA PARTENERI', 'BALANTA_PARTENERI', ; + IIF(m.lcSituatie = 'INREGISTRARI PARTENERI', 'IREG_PARTENERI', ; + IIF(m.lcSituatie = 'REG. CUMPARARI', 'JC2007', ; + IIF(m.lcSituatie = 'REG. VANZARI', 'JV2007', ; + IIF(m.lcSituatie = 'STOC', 'STOC', ; + IIF(m.lcSituatie = 'STOC OB. INV.', 'STOC_OBINV', ''))))))) + + llInvalidate = (This.chkInvalidate.Value = 1) + + Do Case + Case EMPTY(m.pdDataI) AND !Empty(m.pdDataF) + AMESSAGEBOX("Nu ati completat data initiala!",0+48,"Atentie") + Thisform._txDatai.SetFocus() + Return .F. + Case !EMPTY(m.pdDataI) AND Empty(m.pdDataF) + AMESSAGEBOX("Nu ati completat data finala!",0+48,"Atentie") + Thisform._txDataf.SetFocus() + Return .F. + Case !EMPTY(m.pdDataI) AND !Empty(m.pdDataF) AND m.pdDataI > m.pdDataF + AMESSAGEBOX("Data finala trebuie sa fie mai mare decat data initiala !",0+48,"Atentie") + Thisform._txDataf.SetFocus() + Return .F. + Endcase + + + lcFiltru = "" + + IF m.llInvalidate + lcFiltru = lcFiltru + [ and dinvalidat is not null] + ENDIF + + If !EMPTY(m.pcTabel) + lcFiltru = lcFiltru + [ and tabel = ?pcTabel] + ENDIF + + IF !EMPTY(m.pcCont) + lcFiltru = lcFiltru + [ and cont = ?pcCont] + ENDIF + + If !EMPTY(m.pdDataI) + IF YEAR(m.pdDataI) = YEAR(m.pdDataF) AND MONTH(m.pdDataI) = MONTH(m.pdDataF) + lcFiltru = lcFiltru + [ and an=] + TRANSFORM(YEAR(m.pdDataI)) + [ and luna = ] + TRANSFORM(MONTH(m.pdDataI)) + ELSE + lcFiltru = lcFiltru + [ and an*12+luna between ] + TRANSFORM(YEAR(m.pdDataI) * 12 + MONTH(m.pdDataI)) + [ and ] + TRANSFORM(YEAR(m.pdDataF) * 12 + MONTH(m.pdDataF)) + ENDIF + ENDIF + IF !EMPTY(m.lcFiltru) + m.lcFiltru = SUBSTR(m.lcFiltru, 6) + ELSE + m.lcFiltru = [2=2] + ENDIF + + Thisform.actualizeaza_grid1(lcFiltru) + ENDPROC + + PROCEDURE do_reface + Local lcFilter, lcParola, lcSituatie, lcSql, llSucces, lnOptiune, lnRecno + Private pnAn, pnIdGestiune, pnLuna, pnLunar, pnVenchelt, pcCont + + If !This.do_autentificare() + Return + Endif + + If !This.but_reface1.Visible + Return + Endif + If Reccount('cSituatiiInvalidate') = 0 + Return + Endif + + + lnOptiune = xmenu("Refacere situatie curenta;Refacere toate situatiile selectate") + If Empty(m.lnOptiune) + Return + Endif + If AMessagebox('Doriti sa refaceti ' + Iif(m.lnOptiune = 1, 'situatia curenta', 'toate situatiile selectate') + '?', 4 + 32, _Screen.Caption) <> 6 + Return + Endif + lnRecno = Recno('cSituatiiInvalidate') + lcFilter = Iif(m.lnOptiune = 1, 'RECNO() = ' + Alltrim(Str(m.lnRecno)), '.T.') + + + Select cSituatiiInvalidate + Scan For !Empty(Nvl(cSituatiiInvalidate.dinvalidat, {//::})) And &lcFilter + lcSituatie = Alltrim(situatie) + pnAn = Int(an) + pnLuna = Int(luna) + pcCont = Alltrim(Cont) + pnLunar = 3 && stergere + refacere cu precedente + pnVenchelt = 0 && refacere inregistrari parteneri dupa id_venchelt (trebuie verifica in config_cont_ireg!!!) + pnIdGestiune = Iif(Empty(Nvl(id_gestiune, 0)), Cast(Null As N(10)), id_gestiune) + lcSql = [begin pack_contafin_set_idutil(?gnIdUtil); pack_contafin.validare_invalidare(pack_contafin.nTipValidareManuala, ?pcTabel,?pnAn,?pnLuna,?pcCont,?pnIdGestiune); end;] + + Wait Window 'Refacere ' + m.lcSituatie + ' ' + Padl(m.pnLuna, 2, '0') + '/' + Alltrim(Str(m.pnAn)) Nowait + Do Case + Case m.lcSituatie = 'BALANTA VERIFICARE' + lcSql = [begin pack_refaceri.refac_balanta(?pnAn, ?pnLuna, ?pnLunar); end;] + Case m.lcSituatie = 'BALANTA PARTENERI' + lcSql = [begin pack_refaceri.refac_balanta_parteneri(?pnAn, ?pnLuna, ?pcCont, ?pnLunar); end;] + Case m.lcSituatie = 'INREGISTRARI PARTENERI' + lcSql = [begin pack_refaceri.refac_ireg_parteneri(?pnAn, ?pnLuna, ?pcCont, ?pnLunar, ?pnVenchelt); end;] + Case m.lcSituatie = 'REG. CUMPARARI' + lcSql = [begin pack_refaceri.refac_tva_2007('JC', ?pnAn, ?pnLuna); end;] + Case m.lcSituatie = 'REG. VANZARI' + lcSql = [begin pack_refaceri.refac_tva_2007('JV', ?pnAn, ?pnLuna); end;] + Case m.lcSituatie = 'STOC' + lcSql = [begin pack_refaceri.refac_stoc(?pnAn, ?pnLuna, ?pnLunar, ?pnIdGestiune); end;] + Case m.lcSituatie = 'STOC OB. INV.' + lcSql = [begin pack_refaceri.refac_stoc_obinv(?pnAn, ?pnLuna, ?pnLunar); end;] + Endcase + llSucces = goExecutor.oExecuta(m.lcSql) + If !m.llSucces + Exit + Endif + Endscan + + AMessagebox('Refacerile s-au incheiat!', 0 + 64, _Screen.Caption) + This.do_cauta() + ENDPROC + + PROCEDURE do_validare + Local lcFilter, lcSituatie, lcSql, llSucces, lnOptiune, lnRecno + PRIVATE pcCont, pcTabel, pnAn, pnIdGestiune, pnLuna + If !This.do_autentificare() + Return + Endif + + lnOptiune = xmenu("Validare situatie curenta;Validare toate situatiile selectate") + If Empty(m.lnOptiune) + Return + Endif + If AMessagebox('Doriti sa validati ' + Iif(m.lnOptiune = 1, 'situatia curenta', 'toate situatiile selectate') + '?', 4 + 32, _Screen.Caption) <> 6 + Return + Endif + lnRecno = Recno('cSituatiiInvalidate') + lcFilter = Iif(m.lnOptiune = 1, 'RECNO() = ' + Alltrim(Str(m.lnRecno)), '.T.') + + + Select cSituatiiInvalidate + Scan For !Empty(Nvl(cSituatiiInvalidate.dinvalidat, {//::})) And &lcFilter + lcSituatie = Alltrim(situatie) + pcTabel = Alltrim(tabel) + pnAn = Int(an) + pnLuna = Int(luna) + pcCont = Alltrim(Cont) + pnIdGestiune = Iif(Empty(Nvl(id_gestiune, 0)), Cast(Null As N(10)), id_gestiune) + + + + + Wait Window 'Validare ' + m.lcSituatie + ' ' + Padl(m.pnLuna, 2, '0') + '/' + Alltrim(Str(m.pnAn)) Nowait + lcSql = [begin pack_contafin.validare_invalidare(pack_contafin.nTipValidareManuala, ?pcTabel,?pnAn,?pnLuna,?pcCont,?pnIdGestiune); end;] + + llSucces = goExecutor.oExecuta(m.lcSql) + If !m.llSucces + Exit + Endif + Endscan + + AMessagebox('Validarile s-au incheiat!', 0 + 64, _Screen.Caption) + This.do_cauta() + ENDPROC + + PROCEDURE Init + DODEFAULT() + + *!* thisform.ddatai = DATE(m.gnAn, m.gnLuna, 1) + *!* thisform.ddataf = GOMONTH(thisform.ddatai, 1) - 1 + + this.chkInvalidate.Value = 1 + This.do_cauta() + + this.WindowState= 2 + ENDPROC + + PROCEDURE meniu_dblclick + ENDPROC + +ENDDEFINE + +DEFINE CLASS frm_verificare_globala AS _frmbase OF "_frm_base.vcx" + *< CLASSDATA: Baseclass="form" Timestamp="" Scale="Pixels" Uniqueid="" /> + + *-- OBJECTDATA items order determines ZOrder / El orden de los items OBJECTDATA determina el ZOrder + *< OBJECTDATA: ObjPath="grid1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="grid1.Column2.Header1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="grid1.Column2.Text1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="grid1.Column1.Header1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="grid1.Column1._image1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="grid1.Column1._image2" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="grid1.Column3.Header1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="grid1.Column3._editbox1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="grid1.Column4.Header1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="grid1.Column4._checkbox1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="But_listare1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="But_refacere1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="ck_diferente" UniqueID="" Timestamp="" /> + + * + DoCreate = .T. + Height = 450 + Name = "frm_verificare_globala" + Width = 800 + _shape1.Height = 29 + _shape1.Left = 0 + _shape1.Name = "_shape1" + _shape1.Top = 0 + _shape1.Width = 800 + _shape2.Height = 29 + _shape2.Left = 697 + _shape2.Name = "_shape2" + _shape2.Top = 0 + _shape2.Width = 103 + Lb_titlu_alb_b121.Caption = "VERIFICARE GLOBALA" + Lb_titlu_alb_b121.FontBold = .T. + Lb_titlu_alb_b121.Name = "Lb_titlu_alb_b121" + Lb_titlu_alb_b121.TabIndex = 6 + BUT_TERMIN1.Left = 768 + BUT_TERMIN1.Name = "BUT_TERMIN1" + BUT_TERMIN1.TabIndex = 3 + BUT_TERMIN1.Top = 1 + Gridsort1.Name = "Gridsort1" + * + + ADD OBJECT 'But_listare1' AS but_listare WITH ; + Left = 735, ; + Name = "But_listare1", ; + TabIndex = 4, ; + Top = 1, ; + Visible = .T. + *< END OBJECT: ClassLib="cmd_butoane.vcx" BaseClass="commandbutton" /> + + ADD OBJECT 'But_refacere1' AS but_reface WITH ; + Left = 702, ; + Name = "But_refacere1", ; + TabIndex = 5, ; + Top = 1, ; + Visible = .T. + *< END OBJECT: ClassLib="cmd_butoane.vcx" BaseClass="commandbutton" /> + + ADD OBJECT 'ck_diferente' AS _checkbox WITH ; + Alignment = 0, ; + Caption = "Doar cu diferente", ; + Left = 24, ; + Name = "ck_diferente", ; + TabIndex = 1, ; + Top = 36 + *< END OBJECT: ClassLib="_baza.vcx" BaseClass="checkbox" /> + + ADD OBJECT 'grid1' AS _grdrow WITH ; + AllowHeaderSizing = .F., ; + ColumnCount = 4, ; + DeleteMark = .F., ; + GridLines = 1, ; + HeaderHeight = 20, ; + Height = 372, ; + Left = 14, ; + Name = "grid1", ; + Panel = 1, ; + RecordSource = "crsverificari", ; + RowHeight = 55, ; + ScrollBars = 2, ; + TabIndex = 2, ; + Top = 60, ; + Width = 778, ; + Column1.ColumnOrder = 2, ; + Column1.ControlSource = "explicatia", ; + Column1.FontBold = .T., ; + Column1.FontName = "Arial Narrow", ; + Column1.FontSize = 10, ; + Column1.Format = "!", ; + Column1.Name = "Column2", ; + Column1.ReadOnly = .T., ; + Column1.Width = 213, ; + Column2.Alignment = 2, ; + Column2.ColumnOrder = 1, ; + Column2.ControlSource = "", ; + Column2.DynamicCurrentControl = "iif(empty(mesaj),'_image1','_image2')", ; + Column2.Name = "Column1", ; + Column2.ReadOnly = .T., ; + Column2.Sparse = .F., ; + Column2.Width = 46, ; + Column3.ControlSource = "mesaj", ; + Column3.DynamicForeColor = "IIF(selectat=1,RGB(255,0,0),RGB(0,0,0))", ; + Column3.FontName = "Arial Narrow", ; + Column3.Name = "Column3", ; + Column3.ReadOnly = .T., ; + Column3.Sparse = .F., ; + Column3.Width = 439, ; + Column4.ControlSource = "selectat", ; + Column4.Name = "Column4", ; + Column4.Sparse = .F., ; + Column4.Width = 46 + *< END OBJECT: ClassLib="_grd_base.vcx" BaseClass="grid" /> + + ADD OBJECT 'grid1.Column1._image1' AS _image WITH ; + Height = 32, ; + Left = 28, ; + Name = "_image1", ; + Picture = ..\graphics\checkmrk.ico, ; + Top = 23, ; + Width = 32 + *< END OBJECT: ClassLib="_baza.vcx" BaseClass="image" /> + + ADD OBJECT 'grid1.Column1._image2' AS _image WITH ; + Height = 32, ; + Left = 23, ; + Name = "_image2", ; + Picture = ..\graphics\pericol.ico, ; + Top = 47, ; + Width = 32 + *< END OBJECT: ClassLib="_baza.vcx" BaseClass="image" /> + + ADD OBJECT 'grid1.Column1.Header1' AS header WITH ; + Alignment = 2, ; + Caption = "Rezultat", ; + Name = "Header1" + *< END OBJECT: BaseClass="header" /> + + ADD OBJECT 'grid1.Column2.Header1' AS header WITH ; + Alignment = 2, ; + Caption = "Explicatia", ; + Name = "Header1" + *< END OBJECT: BaseClass="header" /> + + ADD OBJECT 'grid1.Column2.Text1' AS textbox WITH ; + BackColor = 255,255,255, ; + BorderStyle = 0, ; + FontBold = .T., ; + FontName = "Arial Narrow", ; + FontSize = 10, ; + ForeColor = 0,0,0, ; + Margin = 0, ; + Name = "Text1", ; + ReadOnly = .T. + *< END OBJECT: BaseClass="textbox" /> + + ADD OBJECT 'grid1.Column3._editbox1' AS _editbox WITH ; + FontName = "Arial Narrow", ; + Left = 48, ; + Name = "_editbox1", ; + Top = 23 + *< END OBJECT: ClassLib="_baza.vcx" BaseClass="editbox" /> + + ADD OBJECT 'grid1.Column3.Header1' AS header WITH ; + Alignment = 2, ; + Caption = "Mesaj", ; + Name = "Header1" + *< END OBJECT: BaseClass="header" /> + + ADD OBJECT 'grid1.Column4._checkbox1' AS _checkbox WITH ; + Alignment = 0, ; + AutoSize = .F., ; + Caption = "", ; + Centered = .T., ; + Left = 7, ; + Name = "_checkbox1", ; + Top = 35 + *< END OBJECT: ClassLib="_baza.vcx" BaseClass="checkbox" /> + + ADD OBJECT 'grid1.Column4.Header1' AS header WITH ; + Alignment = 2, ; + Caption = "Selectat", ; + Name = "Header1" + *< END OBJECT: BaseClass="header" /> + + PROCEDURE do_listare + If Reccount('crsverificari')>0 + Thisform.AlwaysOnTop = .F. + raport_mesaje(Thisform.lb_titlu_alb_b121.Caption+" "+Padl(Alltrim(Str(gnLuna)),2,'0')+"/"+Alltrim(Str(gnAn))) + Thisform.AlwaysOnTop = .T. + Else + aMessagebox("Nu sunt inregistrari de listat!",0+48,"Atentie") + Endif + ENDPROC + + PROCEDURE do_reface + LOCAL X, lcLunar + lcLunar = '1' + x= xmenu('Refacere \0 + *!* orp=Create('parola') + *!* orp.Show(1) + *!* If buton # 3 + *!* RETURN + *!* ENDIF + Local lcsursa,lccont,lctip + Thisform.MousePointer= 11 + Thisform.LockScreen=.T. + Thisform.AlwaysOnTop=.F. + save_grid_tag(Thisform.grid1) + + + Select crsrefaceri + Scan + lcsursa=Upper(Alltrim(sursa)) + lccont=Alltrim(Cont) + * lctip=tip + lctip = lcLunar && '1' + Do refacere With lcsursa,lctip,lccont In orefaceri.prg + Select crsrefaceri + Endscan + + If Used('crsverificari') + Use In crsverificari + Endif + Create Cursor crsverificari (sursa c(20),Cont c(20),tip c(1),mesaj c(200),selectat N(1),explicatia c(50),luna N(2),an N(4)) + Do VerificareLunaDeschisa In overificari.prg + Select crsverificari + Go Top + restore_grid_tag(Thisform.grid1) + aMessagebox("Refacerea s-a incheiat!",0+64,"Info refacere") + Thisform.AlwaysOnTop=.T. + Thisform.LockScreen = .F. + Thisform.MousePointer = 0 + Endif + + Use In crsrefaceri + Thisform.ck_diferente.Value=0 + ENDPROC + + PROCEDURE do_sterge + + + ENDPROC + + PROCEDURE Init + DoDefault() + + Select crsverificari + Go Top + + *!* If m.nivel > 0 + *!* Thisform.but_refacere1.Visible=.F. + *!* Thisform._shape2.Width=Thisform._shape2.Width-Thisform.but_refacere1.Width + *!* Thisform._shape2.Left=Thisform._shape2.Left+Thisform.but_refacere1.Width + *!* Endif + ENDPROC + + PROCEDURE ck_diferente.Click + If This.Value=1 + Select crsverificari + Set Filter To !Empty(mesaj) + Thisform.Refresh + Else + Select crsverificari + Set Filter To + Thisform.Refresh + Endif + + ENDPROC + + PROCEDURE grid1.Column2.Text1.DblClick + lcExplicatia=Upper(Alltrim(This.Value)) + Thisform.AlwaysOnTop=.F. + lcFunc = [] + Do Case + Case lcExplicatia='BALANTA' + lcFunc = [viz_balanta] + *Do viz_balanta + Case lcExplicatia='REGISTRUL DE VANZARI' + lcFunc = [viz_regvanz] + *Do viz_regvanz + Case lcExplicatia='REGISTRUL DE CUMPARARI' + lcFunc = [viz_regcump] + *Do viz_regcump + Case Substr(lcExplicatia,1,17)='BALANTA ANALITICA' + lcFunc = [lans_balanta_parteneri] + *Do lans_balanta_parteneri + Case Substr(lcExplicatia,1,12)='INREGISTRARI' + lcFunc = [lans_ireg_parteneri] + *Do lans_ireg_parteneri + ENDCASE + IF !EMPTY(lcFunc) + DO &lcFunc + ENDIF + Thisform.AlwaysOnTop=.T. + ENDPROC + +ENDDEFINE + +DEFINE CLASS frm_verificare_globala_per AS _frmbase OF "_frm_base.vcx" + *< CLASSDATA: Baseclass="form" Timestamp="" Scale="Pixels" Uniqueid="" /> + + *-- OBJECTDATA items order determines ZOrder / El orden de los items OBJECTDATA determina el ZOrder + *< OBJECTDATA: ObjPath="grid1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="grid1.Column2.Header1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="grid1.Column2.Text1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="grid1.Column1.Header1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="grid1.Column1._image1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="grid1.Column1._image2" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="grid1.Column3.Header1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="grid1.Column3._editbox1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="grid1.Column5.Header1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="grid1.Column5.Text1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="grid1.Column4.Header1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="grid1.Column4.Text1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="grid1.Column6.Header1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="grid1.Column6._checkbox1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="But_listare1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="But_refacere1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="Ck_explicatia" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="Cmd_cauta1" UniqueID="" Timestamp="" /> + + * + *p: nfinal + *p: ninit + * + + * + DoCreate = .T. + Height = 450 + Name = "frm_verificare_globala_per" + nfinal = 0 + ninit = 0 + Width = 800 + _shape1.Height = 29 + _shape1.Left = 0 + _shape1.Name = "_shape1" + _shape1.Top = 0 + _shape1.Width = 828 + _shape2.Height = 29 + _shape2.Left = 696 + _shape2.Name = "_shape2" + _shape2.Top = 0 + _shape2.Width = 105 + Lb_titlu_alb_b121.Caption = "VERIFICARE GLOBALA" + Lb_titlu_alb_b121.FontBold = .T. + Lb_titlu_alb_b121.Name = "Lb_titlu_alb_b121" + Lb_titlu_alb_b121.TabIndex = 7 + BUT_TERMIN1.Left = 768 + BUT_TERMIN1.Name = "BUT_TERMIN1" + BUT_TERMIN1.TabIndex = 4 + BUT_TERMIN1.Top = 1 + Gridsort1.Name = "Gridsort1" + * + + ADD OBJECT 'But_listare1' AS but_listare WITH ; + Left = 736, ; + Name = "But_listare1", ; + TabIndex = 5, ; + Top = 1, ; + Visible = .T. + *< END OBJECT: ClassLib="cmd_butoane.vcx" BaseClass="commandbutton" /> + + ADD OBJECT 'But_refacere1' AS but_reface WITH ; + Left = 703, ; + Name = "But_refacere1", ; + TabIndex = 6, ; + Top = 1, ; + Visible = .T. + *< END OBJECT: ClassLib="cmd_butoane.vcx" BaseClass="commandbutton" /> + + ADD OBJECT 'Ck_explicatia' AS ck_filtru_text WITH ; + Alignment = 0, ; + camp_nume = explicatia, ; + Caption = "Explicatia", ; + FontName = "Arial Narrow", ; + Left = 24, ; + Name = "Ck_explicatia", ; + TabIndex = 1, ; + Top = 41 + *< END OBJECT: ClassLib="caut_ora.vcx" BaseClass="checkbox" /> + + ADD OBJECT 'Cmd_cauta1' AS cmd_cauta WITH ; + Left = 108, ; + Name = "Cmd_cauta1", ; + TabIndex = 2, ; + Top = 37 + *< END OBJECT: ClassLib="cmd_butoane.vcx" BaseClass="commandbutton" /> + + ADD OBJECT 'grid1' AS _grdrow WITH ; + AllowHeaderSizing = .F., ; + ColumnCount = 6, ; + DeleteMark = .F., ; + GridLines = 1, ; + HeaderHeight = 20, ; + Height = 360, ; + Left = 13, ; + Name = "grid1", ; + Panel = 1, ; + RecordSource = "crsverificari", ; + RowHeight = 41, ; + ScrollBars = 2, ; + TabIndex = 3, ; + Top = 72, ; + Width = 779, ; + Column1.ColumnOrder = 2, ; + Column1.ControlSource = "explicatia", ; + Column1.FontBold = .T., ; + Column1.FontName = "Arial Narrow", ; + Column1.FontSize = 10, ; + Column1.Format = "!", ; + Column1.Name = "Column2", ; + Column1.ReadOnly = .T., ; + Column1.Width = 213, ; + Column2.Alignment = 2, ; + Column2.ColumnOrder = 1, ; + Column2.ControlSource = "", ; + Column2.DynamicCurrentControl = "iif(empty(mesaj),'_image1','_image2')", ; + Column2.Name = "Column1", ; + Column2.ReadOnly = .T., ; + Column2.Sparse = .F., ; + Column2.Width = 46, ; + Column3.ControlSource = "mesaj", ; + Column3.DynamicForeColor = "IIF(selectat=1,RGB(255,0,0),RGB(0,0,0))", ; + Column3.FontName = "Arial Narrow", ; + Column3.Name = "Column3", ; + Column3.ReadOnly = .T., ; + Column3.Sparse = .F., ; + Column3.Width = 392, ; + Column4.ColumnOrder = 5, ; + Column4.ControlSource = "an", ; + Column4.Name = "Column5", ; + Column4.Width = 36, ; + Column5.ColumnOrder = 4, ; + Column5.ControlSource = "luna", ; + Column5.Name = "Column4", ; + Column5.Width = 33, ; + Column6.ControlSource = "selectat", ; + Column6.Name = "Column6", ; + Column6.Sparse = .F., ; + Column6.Width = 47 + *< END OBJECT: ClassLib="_grd_base.vcx" BaseClass="grid" /> + + ADD OBJECT 'grid1.Column1._image1' AS _image WITH ; + Height = 32, ; + Left = 28, ; + Name = "_image1", ; + Picture = ..\graphics\checkmrk.ico, ; + Top = 23, ; + Width = 32 + *< END OBJECT: ClassLib="_baza.vcx" BaseClass="image" /> + + ADD OBJECT 'grid1.Column1._image2' AS _image WITH ; + Height = 32, ; + Left = 23, ; + Name = "_image2", ; + Picture = ..\graphics\pericol.ico, ; + Top = 47, ; + Width = 32 + *< END OBJECT: ClassLib="_baza.vcx" BaseClass="image" /> + + ADD OBJECT 'grid1.Column1.Header1' AS header WITH ; + Alignment = 2, ; + Caption = "Rezultat", ; + Name = "Header1" + *< END OBJECT: BaseClass="header" /> + + ADD OBJECT 'grid1.Column2.Header1' AS header WITH ; + Alignment = 2, ; + Caption = "Explicatia", ; + Name = "Header1" + *< END OBJECT: BaseClass="header" /> + + ADD OBJECT 'grid1.Column2.Text1' AS textbox WITH ; + BackColor = 255,255,255, ; + BorderStyle = 0, ; + FontBold = .T., ; + FontName = "Arial Narrow", ; + FontSize = 10, ; + ForeColor = 0,0,0, ; + Margin = 0, ; + Name = "Text1", ; + ReadOnly = .T. + *< END OBJECT: BaseClass="textbox" /> + + ADD OBJECT 'grid1.Column3._editbox1' AS _editbox WITH ; + FontName = "Arial Narrow", ; + Left = 48, ; + Name = "_editbox1", ; + Top = 23 + *< END OBJECT: ClassLib="_baza.vcx" BaseClass="editbox" /> + + ADD OBJECT 'grid1.Column3.Header1' AS header WITH ; + Alignment = 2, ; + Caption = "Mesaj", ; + Name = "Header1" + *< END OBJECT: BaseClass="header" /> + + ADD OBJECT 'grid1.Column4.Header1' AS header WITH ; + Alignment = 2, ; + Caption = "Luna", ; + Name = "Header1" + *< END OBJECT: BaseClass="header" /> + + ADD OBJECT 'grid1.Column4.Text1' AS textbox WITH ; + BackColor = 255,255,255, ; + BorderStyle = 0, ; + ForeColor = 0,0,0, ; + Margin = 0, ; + Name = "Text1" + *< END OBJECT: BaseClass="textbox" /> + + ADD OBJECT 'grid1.Column5.Header1' AS header WITH ; + Alignment = 2, ; + Caption = "An", ; + Name = "Header1" + *< END OBJECT: BaseClass="header" /> + + ADD OBJECT 'grid1.Column5.Text1' AS textbox WITH ; + BackColor = 255,255,255, ; + BorderStyle = 0, ; + ForeColor = 0,0,0, ; + Margin = 0, ; + Name = "Text1" + *< END OBJECT: BaseClass="textbox" /> + + ADD OBJECT 'grid1.Column6._checkbox1' AS _checkbox WITH ; + Alignment = 0, ; + AutoSize = .F., ; + Caption = "", ; + Centered = .T., ; + Left = 14, ; + Name = "_checkbox1", ; + Top = 35 + *< END OBJECT: ClassLib="_baza.vcx" BaseClass="checkbox" /> + + ADD OBJECT 'grid1.Column6.Header1' AS header WITH ; + Caption = "Selectat", ; + Name = "Header1" + *< END OBJECT: BaseClass="header" /> + + PROCEDURE do_cauta + Local lcFiltru + Select crsverificari + Replace selectat With 0 All + lcFiltru=[!EMPTY(mesaj)] + If Thisform.ck_explicatia.Value=1 + lcFiltru=lcFiltru+Thisform.ck_explicatia.filtru_vfp + Endif + Select crsverificari + Set Filter To &lcFiltru + Replace selectat With 1 For &lcFiltru + Go Top + Thisform.Refresh + + ENDPROC + + PROCEDURE do_listare + If Reccount('crsverificari')>0 + Thisform.AlwaysOnTop = .F. + raport_mesaje(thisform.lb_titlu_alb_b121.Caption) + Thisform.AlwaysOnTop = .T. + Else + aMessagebox("Nu sunt inregistrari de listat!",0+48,"Atentie") + Endif + ENDPROC + + PROCEDURE do_reface + LOCAL X, lcLunar + lcLunar = '1' + x= xmenu('Refacere \0 + Local lcsursa,lccont,lctip,lnAn,lnLuna + Thisform.MousePointer= 11 + Thisform.LockScreen=.T. + Thisform.AlwaysOnTop=.F. + save_grid_tag(Thisform.grid1) + + Select crsrefaceri + Scan + lcsursa=Upper(Alltrim(sursa)) + lccont=Alltrim(Cont) + lctip = lcLunar && '1' + lnAn=an + lnLuna=luna + Do refacere With lcsursa,lctip,lccont,lnLuna,lnAn In orefaceri.prg + Select crsrefaceri + Endscan + + If Used('crsverificari') + Use In crsverificari + Endif + Create Cursor crsverificari (sursa c(20),Cont c(20),tip c(1),mesaj c(200),selectat N(1),explicatia c(50),luna N(2),an N(4)) + lnInit=Thisform.ninit + lnFinal=Thisform.nfinal + For k=lnInit To lnFinal + lnLuna=Mod(k,12) + lnAn=Int(k/12) + If lnLuna=0 + lnLuna=12 + lnAn=lnAn-1 + Endif + Do VerificareLunaDeschisa With lnLuna,lnAn,.F. in overificari.prg + Endfor + Select crsverificari + Go Top + restore_grid_tag(Thisform.grid1) + Thisform.do_cauta + aMessagebox("Refacerea s-a incheiat!",0+64,"Info refacere") + Thisform.AlwaysOnTop=.T. + Thisform.LockScreen = .F. + Thisform.MousePointer = 0 + Endif + + Use In crsrefaceri + + ENDPROC + + PROCEDURE do_sterge + + + ENDPROC + + PROCEDURE Init + DoDefault() + + *!* Select crsverificari + *!* Go Top + + *!* If m.nivel > 0 + *!* Thisform.but_refacere1.Visible=.F. + *!* Thisform._shape2.Width=Thisform._shape2.Width-Thisform.but_refacere1.Width + *!* Thisform._shape2.Left=Thisform._shape2.Left+Thisform.but_refacere1.Width + *!* Endif + ENDPROC + +ENDDEFINE + +DEFINE CLASS frm_verificare_parteneri AS _frmbase OF "_frm_base.vcx" + *< CLASSDATA: Baseclass="form" Timestamp="" Scale="Pixels" Uniqueid="" /> + + *-- OBJECTDATA items order determines ZOrder / El orden de los items OBJECTDATA determina el ZOrder + *< OBJECTDATA: ObjPath="_grdbase1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="_grdbase1.Column1.Header1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="_grdbase1.Column1.Text1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="_grdbase1.Column1._checkbox1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="_grdbase1.Column2.Header1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="_grdbase1.Column2.Text1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="_grdbase1.Column3.Header1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="_grdbase1.Column3.Text1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="_grdbase1.Column4.Header1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="_grdbase1.Column4.Text1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="_grdbase1.Column4._checkbox1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="_grdbase1.Column5.Header1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="_grdbase1.Column5.Text1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="_grdbase1.Column6.Header1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="_grdbase1.Column6.Text1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="_grdbase1.Column7.Header1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="_grdbase1.Column7.Text1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="_grdbase1.Column8.Header1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="_grdbase1.Column8.Text1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="_grdbase1.Column9.Header1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="_grdbase1.Column9.Text1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="_grdbase1.Column10.Header1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="_grdbase1.Column10.Text1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="_grdbase1.Column11.Header1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="_grdbase1.Column11.Text1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="_grdbase1.Column12.Header1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="_grdbase1.Column12.Text1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="_grdbase1.Column13.Header1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="_grdbase1.Column13.Text1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="_grdbase1.Column13._checkbox1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="_grdbase1.Column14.Header1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="_grdbase1.Column14.Text1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="_grdbase1.Column14._checkbox1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="_grdbase1.Column15.Header1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="_grdbase1.Column15.Text1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="_grdbase1.Column16.Header1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="_grdbase1.Column16.Text1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="_grdbase1.Column17.Header1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="_grdbase1.Column17.Text1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="_grdbase1.Column17._checkbox1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="_grdbase1.Column18.Header1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="_grdbase1.Column18.Text1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="_grdbase1.Column18._checkbox1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="_grdbase1.Column19.Header1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="_grdbase1.Column19.Text1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="_grdbase1.Column20.Header1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="_grdbase1.Column20.Text1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="_grdbase1.Column21.Header1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="_grdbase1.Column21.Text1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="_grdbase1.Column23.Header1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="_grdbase1.Column23.Text1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="_grdbase1.cTVAincasare.Header1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="_grdbase1.cTVAincasare.Text1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="_grdbase1.cTVAincasare.Check1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="_grdbase1.cSplitTVA.Header1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="_grdbase1.cSplitTVA.Text1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="_grdbase1.cSplitTVA.Check1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="_grdbase1.cInactiv.Header1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="_grdbase1.cInactiv.Text1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="_grdbase1.cInactiv.Check1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="_grdbase1.Column26.Header1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="_grdbase1.Column26.Text1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="But_verifica1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="Gridextra1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="chkMFIN" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="chkVIES" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="chkMFINURL" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="chkVIESURL" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="spnPauza" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="lblInfo" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="chkLiniaCurenta" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="chkDuplicat" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="chkPlatitor" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="chkInvalid" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="But_renunt1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="cmdVerifica" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="lblVerifica" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="chkExperimental" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="chkANAF" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="chkInactiv" UniqueID="" Timestamp="" /> + + * + *m: filtreatentionari + *m: meniu_dblclick + *p: lautoverificare && Daca se porneste verificarea automat din metoda Show, cand este apelata verificarea din Reg. TVA + *p: lmfin + *p: lvies + * + + * + BorderStyle = 3 + Caption = "Verificare Parteneri" + cbuton1 = but_excel1 + cusername = + DoCreate = .T. + Height = 416 + lautoverificare = .F. + lmfin = .F. + lvies = .F. + Name = "frm_verificare_parteneri" + Width = 774 + _memberdata = + + + _shape1.Anchor = 10 + _shape1.Height = 29 + _shape1.Left = 0 + _shape1.Name = "_shape1" + _shape1.Top = 0 + _shape1.Width = 780 + _shape2.Name = "_shape2" + Lb_titlu_alb_b121.Caption = "Verificare parteneri" + Lb_titlu_alb_b121.Left = 12 + Lb_titlu_alb_b121.Name = "Lb_titlu_alb_b121" + Lb_titlu_alb_b121.Top = 0 + BUT_TERMIN1.Anchor = 8 + BUT_TERMIN1.Left = 743 + BUT_TERMIN1.Name = "BUT_TERMIN1" + BUT_TERMIN1.Top = 0 + Gridsort1.Name = "Gridsort1" + * + + ADD OBJECT '_grdbase1' AS _grdbase WITH ; + Anchor = 15, ; + ColumnCount = 26, ; + DeleteMark = .F., ; + HeaderHeight = 32, ; + Height = 283, ; + Left = 12, ; + Name = "_grdbase1", ; + Panel = 1, ; + ReadOnly = .T., ; + RecordSource = "crsverificareparteneri", ; + Top = 84, ; + Width = 756, ; + Column1.ColumnOrder = 1, ; + Column1.ControlSource = "crsverificareparteneri.ales", ; + Column1.CurrentControl = "_checkbox1", ; + Column1.Name = "Column1", ; + Column1.ReadOnly = .F., ; + Column1.Sparse = .F., ; + Column1.Visible = .T., ; + Column1.Width = 25, ; + Column2.ColumnOrder = 3, ; + Column2.ControlSource = "crsverificareparteneri.denumire", ; + Column2.Name = "Column2", ; + Column2.ReadOnly = .T., ; + Column2.ToolTipText = "Dublu click pentru verificare manuala pe www.mfinante.ro", ; + Column2.Visible = .T., ; + Column2.Width = 221, ; + Column3.ColumnOrder = 5, ; + Column3.ControlSource = "crsverificareparteneri.cod_fiscal", ; + Column3.Name = "Column3", ; + Column3.ReadOnly = .T., ; + Column3.ToolTipText = "Dublu click pentru verificare manuala pe www.mfinante.ro", ; + Column3.Visible = .T., ; + Column3.Width = 75, ; + Column4.ColumnOrder = 6, ; + Column4.ControlSource = "crsverificareparteneri.valid", ; + Column4.CurrentControl = "_checkbox1", ; + Column4.Name = "Column4", ; + Column4.ReadOnly = .T., ; + Column4.Sparse = .F., ; + Column4.Visible = .T., ; + Column4.Width = 41, ; + Column5.ColumnOrder = 10, ; + Column5.ControlSource = "crsverificareparteneri.firma", ; + Column5.Name = "Column5", ; + Column5.ReadOnly = .T., ; + Column5.Visible = .T., ; + Column5.Width = 305, ; + Column6.ColumnOrder = 14, ; + Column6.ControlSource = "crsverificareparteneri.cod", ; + Column6.Name = "Column6", ; + Column6.ReadOnly = .T., ; + Column6.Visible = .T., ; + Column6.Width = 75, ; + Column7.BackColor = 185,220,255, ; + Column7.ColumnOrder = 16, ; + Column7.ControlSource = "crsverificareparteneri.adresa", ; + Column7.DynamicBackColor = "RGB(185,220,255)", ; + Column7.Name = "Column7", ; + Column7.ReadOnly = .T., ; + Column7.Visible = .T., ; + Column7.Width = 150, ; + Column8.ColumnOrder = 17, ; + Column8.ControlSource = "crsverificareparteneri.judet", ; + Column8.Name = "Column8", ; + Column8.ReadOnly = .T., ; + Column8.Visible = .T., ; + Column8.Width = 89, ; + Column9.ColumnOrder = 18, ; + Column9.ControlSource = "crsverificareparteneri.regcom", ; + Column9.Name = "Column9", ; + Column9.ReadOnly = .T., ; + Column9.Visible = .T., ; + Column9.Width = 75, ; + Column10.ColumnOrder = 19, ; + Column10.ControlSource = "crsverificareparteneri.codpostal", ; + Column10.Name = "Column10", ; + Column10.ReadOnly = .T., ; + Column10.Visible = .T., ; + Column10.Width = 75, ; + Column11.ColumnOrder = 20, ; + Column11.ControlSource = "crsverificareparteneri.telefon", ; + Column11.Name = "Column11", ; + Column11.ReadOnly = .T., ; + Column11.Visible = .T., ; + Column11.Width = 75, ; + Column12.ColumnOrder = 21, ; + Column12.ControlSource = "crsverificareparteneri.fax", ; + Column12.Name = "Column12", ; + Column12.ReadOnly = .T., ; + Column12.Visible = .T., ; + Column12.Width = 75, ; + Column13.ColumnOrder = 22, ; + Column13.ControlSource = "crsverificareparteneri.vies", ; + Column13.CurrentControl = "_checkbox1", ; + Column13.Name = "Column13", ; + Column13.ReadOnly = .T., ; + Column13.Sparse = .F., ; + Column13.Visible = .T., ; + Column13.Width = 75, ; + Column14.ColumnOrder = 23, ; + Column14.ControlSource = "crsverificareparteneri.platitortva", ; + Column14.CurrentControl = "_checkbox1", ; + Column14.Name = "Column14", ; + Column14.ReadOnly = .T., ; + Column14.Sparse = .F., ; + Column14.Visible = .T., ; + Column14.Width = 75, ; + Column15.ColumnOrder = 24, ; + Column15.ControlSource = "crsverificareparteneri.eroare", ; + Column15.Name = "Column15", ; + Column15.ReadOnly = .T., ; + Column15.Visible = .T., ; + Column15.Width = 58, ; + Column16.ColumnOrder = 8, ; + Column16.ControlSource = "datatvamfin", ; + Column16.Name = "Column16", ; + Column16.ReadOnly = .T., ; + Column17.ColumnOrder = 7, ; + Column17.ControlSource = "platitortvamfin", ; + Column17.CurrentControl = "_checkbox1", ; + Column17.Name = "Column17", ; + Column17.ReadOnly = .T., ; + Column17.Sparse = .F., ; + Column17.Width = 71, ; + Column18.ColumnOrder = 25, ; + Column18.ControlSource = "crsverificareparteneri.duplicat", ; + Column18.CurrentControl = "_checkbox1", ; + Column18.Name = "Column18", ; + Column18.ReadOnly = .T., ; + Column18.Sparse = .F., ; + Column18.Width = 62, ; + Column19.ColumnOrder = 4, ; + Column19.ControlSource = "crsverificareparteneri.atribut_fiscal", ; + Column19.Name = "Column19", ; + Column19.ReadOnly = .T., ; + Column19.Width = 41, ; + Column20.ColumnOrder = 9, ; + Column20.ControlSource = "stare", ; + Column20.Name = "Column20", ; + Column20.ReadOnly = .T., ; + Column20.Width = 88, ; + Column21.ColumnOrder = 2, ; + Column21.ControlSource = "atentie", ; + Column21.Name = "Column21", ; + Column21.ReadOnly = .T., ; + Column21.Width = 78, ; + Column22.ColumnOrder = 26, ; + Column22.ControlSource = "crsverificareparteneri.id_part", ; + Column22.Name = "Column23", ; + Column22.ReadOnly = .T., ; + Column23.ColumnOrder = 11, ; + Column23.ControlSource = "crsverificareparteneri.tvaincasare", ; + Column23.CurrentControl = "Check1", ; + Column23.Name = "cTVAincasare", ; + Column23.ReadOnly = .T., ; + Column23.Sparse = .F., ; + Column23.Width = 59, ; + Column24.ColumnOrder = 12, ; + Column24.ControlSource = "crsverificareparteneri.splittva", ; + Column24.CurrentControl = "Check1", ; + Column24.Name = "cSplitTVA", ; + Column24.ReadOnly = .T., ; + Column24.Sparse = .F., ; + Column24.Width = 59, ; + Column25.ColumnOrder = 13, ; + Column25.ControlSource = "crsverificareparteneri.inactiv", ; + Column25.CurrentControl = "Check1", ; + Column25.Name = "cInactiv", ; + Column25.ReadOnly = .T., ; + Column25.Sparse = .F., ; + Column25.Width = 51, ; + Column26.BackColor = 255,202,228, ; + Column26.ColumnOrder = 15, ; + Column26.ControlSource = "crsverificareparteneri.adresa_roa", ; + Column26.DynamicBackColor = "RGB(255,202,228)", ; + Column26.Name = "Column26", ; + Column26.ReadOnly = .T., ; + Column26.Width = 150 + *< END OBJECT: ClassLib="_grd_base.vcx" BaseClass="grid" /> + + ADD OBJECT '_grdbase1.cInactiv.Check1' AS checkbox WITH ; + Alignment = 2, ; + Caption = "", ; + Height = 17, ; + Left = 15, ; + Name = "Check1", ; + Top = 59, ; + Width = 60 + *< END OBJECT: BaseClass="checkbox" /> + + ADD OBJECT '_grdbase1.cInactiv.Header1' AS header WITH ; + Alignment = 2, ; + Caption = "Inactiv", ; + Name = "Header1" + *< END OBJECT: BaseClass="header" /> + + ADD OBJECT '_grdbase1.cInactiv.Text1' AS textbox WITH ; + BackColor = 255,255,255, ; + BorderStyle = 0, ; + ForeColor = 0,0,0, ; + Margin = 0, ; + Name = "Text1", ; + ReadOnly = .T., ; + SelectedBackColor = 100,185,255 + *< END OBJECT: BaseClass="textbox" /> + + ADD OBJECT '_grdbase1.Column1._checkbox1' AS _checkbox WITH ; + Alignment = 2, ; + Caption = "", ; + Left = 13, ; + Name = "_checkbox1", ; + ReadOnly = .F., ; + Top = 84 + *< END OBJECT: ClassLib="_baza.vcx" BaseClass="checkbox" /> + + ADD OBJECT '_grdbase1.Column1.Header1' AS header WITH ; + Alignment = 2, ; + Caption = "Ales", ; + Name = "Header1" + *< END OBJECT: BaseClass="header" /> + + ADD OBJECT '_grdbase1.Column1.Text1' AS textbox WITH ; + BackColor = 255,255,255, ; + BorderStyle = 0, ; + ForeColor = 0,0,0, ; + Margin = 0, ; + Name = "Text1", ; + SelectedBackColor = 100,185,255, ; + Visible = .T. + *< END OBJECT: BaseClass="textbox" /> + + ADD OBJECT '_grdbase1.Column10.Header1' AS header WITH ; + Alignment = 2, ; + Caption = "Cod postal", ; + Name = "Header1" + *< END OBJECT: BaseClass="header" /> + + ADD OBJECT '_grdbase1.Column10.Text1' AS textbox WITH ; + BackColor = 255,255,255, ; + BorderStyle = 0, ; + ForeColor = 0,0,0, ; + Margin = 0, ; + Name = "Text1", ; + ReadOnly = .T., ; + SelectedBackColor = 100,185,255, ; + Visible = .T. + *< END OBJECT: BaseClass="textbox" /> + + ADD OBJECT '_grdbase1.Column11.Header1' AS header WITH ; + Alignment = 2, ; + Caption = "Telefon", ; + Name = "Header1" + *< END OBJECT: BaseClass="header" /> + + ADD OBJECT '_grdbase1.Column11.Text1' AS textbox WITH ; + BackColor = 255,255,255, ; + BorderStyle = 0, ; + ForeColor = 0,0,0, ; + Margin = 0, ; + Name = "Text1", ; + ReadOnly = .T., ; + SelectedBackColor = 100,185,255, ; + Visible = .T. + *< END OBJECT: BaseClass="textbox" /> + + ADD OBJECT '_grdbase1.Column12.Header1' AS header WITH ; + Alignment = 2, ; + Caption = "Fax", ; + Name = "Header1" + *< END OBJECT: BaseClass="header" /> + + ADD OBJECT '_grdbase1.Column12.Text1' AS textbox WITH ; + BackColor = 255,255,255, ; + BorderStyle = 0, ; + ForeColor = 0,0,0, ; + Margin = 0, ; + Name = "Text1", ; + ReadOnly = .T., ; + SelectedBackColor = 100,185,255, ; + Visible = .T. + *< END OBJECT: BaseClass="textbox" /> + + ADD OBJECT '_grdbase1.Column13._checkbox1' AS _checkbox WITH ; + Alignment = 2, ; + Caption = "", ; + Left = 41, ; + Name = "_checkbox1", ; + ReadOnly = .T., ; + Top = 48 + *< END OBJECT: ClassLib="_baza.vcx" BaseClass="checkbox" /> + + ADD OBJECT '_grdbase1.Column13.Header1' AS header WITH ; + Alignment = 2, ; + Caption = "Interogare VIES", ; + Name = "Header1", ; + WordWrap = .T. + *< END OBJECT: BaseClass="header" /> + + ADD OBJECT '_grdbase1.Column13.Text1' AS textbox WITH ; + BackColor = 255,255,255, ; + BorderStyle = 0, ; + ForeColor = 0,0,0, ; + Margin = 0, ; + Name = "Text1", ; + SelectedBackColor = 100,185,255, ; + Visible = .T. + *< END OBJECT: BaseClass="textbox" /> + + ADD OBJECT '_grdbase1.Column14._checkbox1' AS _checkbox WITH ; + Alignment = 2, ; + Caption = "", ; + Left = 49, ; + Name = "_checkbox1", ; + ReadOnly = .T., ; + Top = 72 + *< END OBJECT: ClassLib="_baza.vcx" BaseClass="checkbox" /> + + ADD OBJECT '_grdbase1.Column14.Header1' AS header WITH ; + Alignment = 2, ; + Caption = "Platitor TVA VIES", ; + Name = "Header1", ; + WordWrap = .T. + *< END OBJECT: BaseClass="header" /> + + ADD OBJECT '_grdbase1.Column14.Text1' AS textbox WITH ; + BackColor = 255,255,255, ; + BorderStyle = 0, ; + ForeColor = 0,0,0, ; + Margin = 0, ; + Name = "Text1", ; + SelectedBackColor = 100,185,255, ; + Visible = .T. + *< END OBJECT: BaseClass="textbox" /> + + ADD OBJECT '_grdbase1.Column15.Header1' AS header WITH ; + Alignment = 2, ; + Caption = "Eroare", ; + Name = "Header1" + *< END OBJECT: BaseClass="header" /> + + ADD OBJECT '_grdbase1.Column15.Text1' AS textbox WITH ; + BackColor = 255,255,255, ; + BorderStyle = 0, ; + ForeColor = 0,0,0, ; + Margin = 0, ; + Name = "Text1", ; + ReadOnly = .T., ; + SelectedBackColor = 100,185,255, ; + Visible = .T. + *< END OBJECT: BaseClass="textbox" /> + + ADD OBJECT '_grdbase1.Column16.Header1' AS header WITH ; + Alignment = 2, ; + Caption = "Data TVA MFIN", ; + Name = "Header1", ; + WordWrap = .T. + *< END OBJECT: BaseClass="header" /> + + ADD OBJECT '_grdbase1.Column16.Text1' AS textbox WITH ; + BackColor = 255,255,255, ; + BorderStyle = 0, ; + ForeColor = 0,0,0, ; + Margin = 0, ; + Name = "Text1", ; + ReadOnly = .T., ; + SelectedBackColor = 100,185,255 + *< END OBJECT: BaseClass="textbox" /> + + ADD OBJECT '_grdbase1.Column17._checkbox1' AS _checkbox WITH ; + Alignment = 2, ; + Caption = "", ; + Left = 41, ; + Name = "_checkbox1", ; + ReadOnly = .T., ; + Top = 48 + *< END OBJECT: ClassLib="_baza.vcx" BaseClass="checkbox" /> + + ADD OBJECT '_grdbase1.Column17.Header1' AS header WITH ; + Alignment = 2, ; + Caption = "Platitor TVA MFIN", ; + Name = "Header1", ; + WordWrap = .T. + *< END OBJECT: BaseClass="header" /> + + ADD OBJECT '_grdbase1.Column17.Text1' AS textbox WITH ; + BackColor = 255,255,255, ; + BorderStyle = 0, ; + ForeColor = 0,0,0, ; + Margin = 0, ; + Name = "Text1", ; + SelectedBackColor = 100,185,255 + *< END OBJECT: BaseClass="textbox" /> + + ADD OBJECT '_grdbase1.Column18._checkbox1' AS _checkbox WITH ; + Alignment = 2, ; + Caption = "", ; + Left = 50, ; + Name = "_checkbox1", ; + Top = 72 + *< END OBJECT: ClassLib="_baza.vcx" BaseClass="checkbox" /> + + ADD OBJECT '_grdbase1.Column18.Header1' AS header WITH ; + Alignment = 2, ; + Caption = "Duplicat", ; + Name = "Header1" + *< END OBJECT: BaseClass="header" /> + + ADD OBJECT '_grdbase1.Column18.Text1' AS textbox WITH ; + BackColor = 255,255,255, ; + BorderStyle = 0, ; + ForeColor = 0,0,0, ; + Margin = 0, ; + Name = "Text1", ; + SelectedBackColor = 100,185,255 + *< END OBJECT: BaseClass="textbox" /> + + ADD OBJECT '_grdbase1.Column19.Header1' AS header WITH ; + Alignment = 2, ; + Caption = "Atribut fiscal", ; + Name = "Header1", ; + WordWrap = .T. + *< END OBJECT: BaseClass="header" /> + + ADD OBJECT '_grdbase1.Column19.Text1' AS textbox WITH ; + BackColor = 255,255,255, ; + BorderStyle = 0, ; + ForeColor = 0,0,0, ; + Margin = 0, ; + Name = "Text1", ; + ReadOnly = .T., ; + SelectedBackColor = 100,185,255 + *< END OBJECT: BaseClass="textbox" /> + + ADD OBJECT '_grdbase1.Column2.Header1' AS header WITH ; + Alignment = 2, ; + Caption = "Denumire", ; + Name = "Header1" + *< END OBJECT: BaseClass="header" /> + + ADD OBJECT '_grdbase1.Column2.Text1' AS textbox WITH ; + BackColor = 255,255,255, ; + BorderStyle = 0, ; + ForeColor = 0,0,0, ; + Margin = 0, ; + Name = "Text1", ; + ReadOnly = .T., ; + SelectedBackColor = 100,185,255, ; + Visible = .T. + *< END OBJECT: BaseClass="textbox" /> + + ADD OBJECT '_grdbase1.Column20.Header1' AS header WITH ; + Alignment = 2, ; + Caption = "Stare", ; + Name = "Header1" + *< END OBJECT: BaseClass="header" /> + + ADD OBJECT '_grdbase1.Column20.Text1' AS textbox WITH ; + BackColor = 255,255,255, ; + BorderStyle = 0, ; + ForeColor = 0,0,0, ; + Margin = 0, ; + Name = "Text1", ; + SelectedBackColor = 100,185,255 + *< END OBJECT: BaseClass="textbox" /> + + ADD OBJECT '_grdbase1.Column21.Header1' AS header WITH ; + Alignment = 2, ; + Caption = "Atentie", ; + Name = "Header1" + *< END OBJECT: BaseClass="header" /> + + ADD OBJECT '_grdbase1.Column21.Text1' AS textbox WITH ; + BackColor = 255,255,255, ; + BorderStyle = 0, ; + ForeColor = 0,0,0, ; + Margin = 0, ; + Name = "Text1", ; + SelectedBackColor = 100,185,255 + *< END OBJECT: BaseClass="textbox" /> + + ADD OBJECT '_grdbase1.Column23.Header1' AS header WITH ; + Alignment = 2, ; + Caption = "Id partener", ; + Name = "Header1" + *< END OBJECT: BaseClass="header" /> + + ADD OBJECT '_grdbase1.Column23.Text1' AS textbox WITH ; + BackColor = 255,255,255, ; + BorderStyle = 0, ; + ForeColor = 0,0,0, ; + Margin = 0, ; + Name = "Text1", ; + ReadOnly = .T., ; + SelectedBackColor = 100,185,255 + *< END OBJECT: BaseClass="textbox" /> + + ADD OBJECT '_grdbase1.Column26.Header1' AS header WITH ; + Alignment = 2, ; + Caption = "Adresa ROA", ; + Name = "Header1" + *< END OBJECT: BaseClass="header" /> + + ADD OBJECT '_grdbase1.Column26.Text1' AS textbox WITH ; + BackColor = 255,202,228, ; + BorderStyle = 0, ; + ForeColor = 0,0,0, ; + Margin = 0, ; + Name = "Text1", ; + ReadOnly = .T., ; + SelectedBackColor = 100,185,255 + *< END OBJECT: BaseClass="textbox" /> + + ADD OBJECT '_grdbase1.Column3.Header1' AS header WITH ; + Alignment = 2, ; + Caption = "CIF/CNP", ; + Name = "Header1" + *< END OBJECT: BaseClass="header" /> + + ADD OBJECT '_grdbase1.Column3.Text1' AS textbox WITH ; + BackColor = 255,255,255, ; + BorderStyle = 0, ; + ForeColor = 0,0,0, ; + Margin = 0, ; + Name = "Text1", ; + ReadOnly = .T., ; + SelectedBackColor = 100,185,255, ; + Visible = .T. + *< END OBJECT: BaseClass="textbox" /> + + ADD OBJECT '_grdbase1.Column4._checkbox1' AS _checkbox WITH ; + Alignment = 2, ; + Caption = "", ; + Left = 25, ; + Name = "_checkbox1", ; + ReadOnly = .T., ; + Top = 66 + *< END OBJECT: ClassLib="_baza.vcx" BaseClass="checkbox" /> + + ADD OBJECT '_grdbase1.Column4.Header1' AS header WITH ; + Alignment = 2, ; + Caption = "Cod valid", ; + Name = "Header1", ; + WordWrap = .T. + *< END OBJECT: BaseClass="header" /> + + ADD OBJECT '_grdbase1.Column4.Text1' AS textbox WITH ; + BackColor = 255,255,255, ; + BorderStyle = 0, ; + ForeColor = 0,0,0, ; + Margin = 0, ; + Name = "Text1", ; + SelectedBackColor = 100,185,255, ; + Visible = .T. + *< END OBJECT: BaseClass="textbox" /> + + ADD OBJECT '_grdbase1.Column5.Header1' AS header WITH ; + Alignment = 2, ; + Caption = "Firma MFIN", ; + Name = "Header1" + *< END OBJECT: BaseClass="header" /> + + ADD OBJECT '_grdbase1.Column5.Text1' AS textbox WITH ; + BackColor = 255,255,255, ; + BorderStyle = 0, ; + ForeColor = 0,0,0, ; + Margin = 0, ; + Name = "Text1", ; + ReadOnly = .T., ; + SelectedBackColor = 100,185,255, ; + Visible = .T. + *< END OBJECT: BaseClass="textbox" /> + + ADD OBJECT '_grdbase1.Column6.Header1' AS header WITH ; + Alignment = 2, ; + Caption = "Cod", ; + Name = "Header1" + *< END OBJECT: BaseClass="header" /> + + ADD OBJECT '_grdbase1.Column6.Text1' AS textbox WITH ; + BackColor = 255,255,255, ; + BorderStyle = 0, ; + ForeColor = 0,0,0, ; + Margin = 0, ; + Name = "Text1", ; + ReadOnly = .T., ; + SelectedBackColor = 100,185,255, ; + Visible = .T. + *< END OBJECT: BaseClass="textbox" /> + + ADD OBJECT '_grdbase1.Column7.Header1' AS header WITH ; + Alignment = 2, ; + Caption = "Adresa ANAF", ; + Name = "Header1" + *< END OBJECT: BaseClass="header" /> + + ADD OBJECT '_grdbase1.Column7.Text1' AS textbox WITH ; + BackColor = 185,220,255, ; + BorderStyle = 0, ; + ForeColor = 0,0,0, ; + Margin = 0, ; + Name = "Text1", ; + ReadOnly = .T., ; + SelectedBackColor = 100,185,255, ; + Visible = .T. + *< END OBJECT: BaseClass="textbox" /> + + ADD OBJECT '_grdbase1.Column8.Header1' AS header WITH ; + Alignment = 2, ; + Caption = "Judet", ; + Name = "Header1" + *< END OBJECT: BaseClass="header" /> + + ADD OBJECT '_grdbase1.Column8.Text1' AS textbox WITH ; + BackColor = 255,255,255, ; + BorderStyle = 0, ; + ForeColor = 0,0,0, ; + Margin = 0, ; + Name = "Text1", ; + ReadOnly = .T., ; + SelectedBackColor = 100,185,255, ; + Visible = .T. + *< END OBJECT: BaseClass="textbox" /> + + ADD OBJECT '_grdbase1.Column9.Header1' AS header WITH ; + Alignment = 2, ; + Caption = "Reg. com.", ; + Name = "Header1" + *< END OBJECT: BaseClass="header" /> + + ADD OBJECT '_grdbase1.Column9.Text1' AS textbox WITH ; + BackColor = 255,255,255, ; + BorderStyle = 0, ; + ForeColor = 0,0,0, ; + Margin = 0, ; + Name = "Text1", ; + ReadOnly = .T., ; + SelectedBackColor = 100,185,255, ; + Visible = .T. + *< END OBJECT: BaseClass="textbox" /> + + ADD OBJECT '_grdbase1.cSplitTVA.Check1' AS checkbox WITH ; + Alignment = 2, ; + Caption = "", ; + Height = 17, ; + Left = 39, ; + Name = "Check1", ; + Top = 71, ; + Width = 60 + *< END OBJECT: BaseClass="checkbox" /> + + ADD OBJECT '_grdbase1.cSplitTVA.Header1' AS header WITH ; + Alignment = 2, ; + Caption = "Split TVA", ; + Name = "Header1" + *< END OBJECT: BaseClass="header" /> + + ADD OBJECT '_grdbase1.cSplitTVA.Text1' AS textbox WITH ; + BackColor = 255,255,255, ; + BorderStyle = 0, ; + ForeColor = 0,0,0, ; + Margin = 0, ; + Name = "Text1", ; + ReadOnly = .T., ; + SelectedBackColor = 100,185,255 + *< END OBJECT: BaseClass="textbox" /> + + ADD OBJECT '_grdbase1.cTVAincasare.Check1' AS checkbox WITH ; + Alignment = 2, ; + Caption = "", ; + Height = 17, ; + Left = 39, ; + Name = "Check1", ; + Top = 59, ; + Width = 60 + *< END OBJECT: BaseClass="checkbox" /> + + ADD OBJECT '_grdbase1.cTVAincasare.Header1' AS header WITH ; + Alignment = 2, ; + Caption = "TVA Incasare", ; + Name = "Header1", ; + WordWrap = .T. + *< END OBJECT: BaseClass="header" /> + + ADD OBJECT '_grdbase1.cTVAincasare.Text1' AS textbox WITH ; + BackColor = 255,255,255, ; + BorderStyle = 0, ; + ForeColor = 0,0,0, ; + Margin = 0, ; + Name = "Text1", ; + ReadOnly = .T., ; + SelectedBackColor = 100,185,255 + *< END OBJECT: BaseClass="textbox" /> + + ADD OBJECT 'But_renunt1' AS but_renunt WITH ; + Anchor = 8, ; + Left = 713, ; + Name = "But_renunt1", ; + Top = 0 + *< END OBJECT: ClassLib="cmd_butoane.vcx" BaseClass="commandbutton" /> + + ADD OBJECT 'But_verifica1' AS but_verifica WITH ; + Anchor = 8, ; + Comment = "*:OnResize=rt", ; + Left = 683, ; + Name = "But_verifica1", ; + TabIndex = 13, ; + ToolTipText = "Verificare coduri fiscale", ; + Top = 0 + *< END OBJECT: ClassLib="cmd_butoane.vcx" BaseClass="commandbutton" /> + + ADD OBJECT 'chkANAF' AS _checkbox WITH ; + Alignment = 0, ; + Anchor = 6, ; + Caption = "Serviciu web ANAF", ; + Enabled = .F., ; + Left = 441, ; + Name = "chkANAF", ; + ToolTipText = "Se verifica prin serviciul web ANAF, cate 500 de coduri fiscale per interogare", ; + Top = 393, ; + Value = .F., ; + Visible = .F. + *< END OBJECT: ClassLib="_baza.vcx" BaseClass="checkbox" /> + + ADD OBJECT 'chkDuplicat' AS _checkbox WITH ; + Alignment = 0, ; + AutoSize = .F., ; + Caption = "Coduri duplicate!", ; + FontBold = .T., ; + ForeColor = 255,0,0, ; + Height = 29, ; + Left = 358, ; + Name = "chkDuplicat", ; + SpecialEffect = 0, ; + Style = 1, ; + ToolTipText = "Apasati pe buton pentru a selecta codurile fiscale/denumirile duplicate!", ; + Top = 50, ; + Visible = .F., ; + Width = 131 + *< END OBJECT: ClassLib="_baza.vcx" BaseClass="checkbox" /> + + ADD OBJECT 'chkExperimental' AS _checkbox WITH ; + Alignment = 0, ; + Anchor = 6, ; + Caption = "Mod experimental", ; + Enabled = .F., ; + Left = 313, ; + Name = "chkExperimental", ; + ToolTipText = "Nu se cere codul Captcha si se interogheaza www.mfinante.ro fara pauza intre coduri fiscale", ; + Top = 392, ; + Value = .F., ; + Visible = .F. + *< END OBJECT: ClassLib="_baza.vcx" BaseClass="checkbox" /> + + ADD OBJECT 'chkInactiv' AS _checkbox WITH ; + Alignment = 0, ; + AutoSize = .F., ; + Caption = "Inactivi!", ; + FontBold = .T., ; + Height = 29, ; + Left = 489, ; + Name = "chkInactiv", ; + SpecialEffect = 0, ; + Style = 1, ; + ToolTipText = "Apasati pe buton pentru a selecta codurile fiscale invalide!", ; + Top = 50, ; + Visible = .F., ; + Width = 72 + *< END OBJECT: ClassLib="_baza.vcx" BaseClass="checkbox" /> + + ADD OBJECT 'chkInvalid' AS _checkbox WITH ; + Alignment = 0, ; + AutoSize = .F., ; + Caption = "Coduri invalide!", ; + FontBold = .T., ; + Height = 29, ; + Left = 248, ; + Name = "chkInvalid", ; + SpecialEffect = 0, ; + Style = 1, ; + ToolTipText = "Apasati pe buton pentru a selecta codurile fiscale invalide!", ; + Top = 50, ; + Visible = .F., ; + Width = 111 + *< END OBJECT: ClassLib="_baza.vcx" BaseClass="checkbox" /> + + ADD OBJECT 'chkLiniaCurenta' AS _checkbox WITH ; + Alignment = 0, ; + Anchor = 6, ; + Caption = "Verificare inregistrari de la linia curenta in jos", ; + Left = 12, ; + Name = "chkLiniaCurenta", ; + ToolTipText = "Verificare inregistrari de la linia curenta in jos (altfel toate inregistrarile)", ; + Top = 372, ; + Value = .F. + *< END OBJECT: ClassLib="_baza.vcx" BaseClass="checkbox" /> + + ADD OBJECT 'chkMFIN' AS _checkbox WITH ; + Alignment = 0, ; + Caption = "Interogare Min. Finante", ; + Enabled = .F., ; + Left = 12, ; + Name = "chkMFIN", ; + ToolTipText = "Informatii persoane juridice de pe website-ul www.mfinante.ro (cod, firma, adresa, reg. com. cod postal, telefon, fax)", ; + Top = 32, ; + Value = .T. + *< END OBJECT: ClassLib="_baza.vcx" BaseClass="checkbox" /> + + ADD OBJECT 'chkMFINURL' AS _checkbox WITH ; + Alignment = 0, ; + Anchor = 6, ; + Caption = "Interogare mfinante.ro via romfast.ro", ; + Enabled = .F., ; + Left = 312, ; + Name = "chkMFINURL", ; + ToolTipText = "Interogare direct mfinante.ro sau via romfast.ro", ; + Top = 372, ; + Value = .F., ; + Visible = .F. + *< END OBJECT: ClassLib="_baza.vcx" BaseClass="checkbox" /> + + ADD OBJECT 'chkPlatitor' AS _checkbox WITH ; + Alignment = 0, ; + AutoSize = .F., ; + BackColor = 150,150,150, ; + Caption = "(Ne)Platitori TVA (cu/fara) RO!", ; + FontBold = .T., ; + Height = 29, ; + Left = 564, ; + Name = "chkPlatitor", ; + SpecialEffect = 0, ; + Style = 1, ; + ToolTipText = "Apasati pe buton pentru a selecta inregistrarile Platitori TVA fara RO sau Neplatitori TVA cu RO", ; + Top = 50, ; + Visible = .F., ; + Width = 210 + *< END OBJECT: ClassLib="_baza.vcx" BaseClass="checkbox" /> + + ADD OBJECT 'chkVIES' AS _checkbox WITH ; + Alignment = 0, ; + Caption = "Interogare VIES", ; + Left = 12, ; + Name = "chkVIES", ; + ToolTipText = "Calitate platitor TVA din registrul operatorilor intracomunitari de pe website-ul ec.europa.eu", ; + Top = 57, ; + Value = .T. + *< END OBJECT: ClassLib="_baza.vcx" BaseClass="checkbox" /> + + ADD OBJECT 'chkVIESURL' AS _checkbox WITH ; + Alignment = 0, ; + Anchor = 6, ; + Caption = "Interogare ec.europa.eu via romfast.ro", ; + Enabled = .F., ; + Left = 12, ; + Name = "chkVIESURL", ; + ToolTipText = "Interogare direct ec.europa.eu sau via romfast.ro", ; + Top = 392, ; + Value = .F., ; + Visible = .F. + *< END OBJECT: ClassLib="_baza.vcx" BaseClass="checkbox" /> + + ADD OBJECT 'cmdVerifica' AS cmd_executa WITH ; + BackColor = 0,0,0, ; + caction = do_verifica, ; + Caption = "\ + + ADD OBJECT 'Gridextra1' AS gridextra WITH ; + allowgridpreferences = .F., ; + gridexpression = Thisform._grdbase1, ; + Height = 17, ; + Left = 744, ; + Name = "Gridextra1", ; + Top = 36, ; + Width = 24 + *< END OBJECT: ClassLib="..\utile\gridextras\gridextras.vcx" BaseClass="custom" /> + + ADD OBJECT 'lblInfo' AS _label WITH ; + Caption = "Apasati ESC pentru a intrerupe verificarile *** Dublu click pe Denumire pentru verificare manuala / istoric verificari", ; + FontSize = 8, ; + ForeColor = 255,255,128, ; + Left = 12, ; + Name = "lblInfo", ; + Top = 16, ; + Visible = .F. + *< END OBJECT: ClassLib="_baza.vcx" BaseClass="label" /> + + ADD OBJECT 'lblVerifica' AS _label WITH ; + Anchor = 10, ; + AutoSize = .F., ; + Caption = "Se verifica...", ; + FontBold = .T., ; + Height = 17, ; + Left = 162, ; + Name = "lblVerifica", ; + Top = 32, ; + Visible = .F., ; + Width = 606 + *< END OBJECT: ClassLib="_baza.vcx" BaseClass="label" /> + + ADD OBJECT 'spnPauza' AS _spinner WITH ; + Anchor = 6, ; + Enabled = .F., ; + Height = 24, ; + Increment = 1.00, ; + KeyboardHighValue = 100, ; + KeyboardLowValue = 0, ; + Left = 245, ; + Name = "spnPauza", ; + SpinnerHighValue = 100.00, ; + SpinnerLowValue = 0.00, ; + ToolTipText = "Pauza (sec) intre interogarile www.mfinante.ro", ; + Top = 388, ; + Value = 5.0, ; + Visible = .F., ; + Width = 56 + *< END OBJECT: ClassLib="_baza.vcx" BaseClass="spinner" /> + + PROCEDURE Activate + *** lansez verificarea automat, cand sunt apelat cu lista de parteneri din Reg TVA + *** o lansez pe activate ca sa se vada tabelul cu parteneri cand se face verificarea + Local llMFin, llVIES, llValidare + llMFin = This.chkMFIN.Value + llVIES = This.chkVIES.Value + llValidare = .T. + If This.lAutoverificare + This.lAutoverificare = .F. && sa nu mai fac autoverificarea la un activate ulterior + Select crsVerificareParteneri + Go top + this._grdbase1.Refresh() + This.do_verifica(m.llValidare, m.llMFin, m.llVIES) + Endif + ENDPROC + + PROCEDURE do_termin + Local lcMFINROMFAST, lcVIESROMFAST + lcMFINROMFAST = TRANSFORM(this.chkMFINURL.Value) + lcVIESROMFAST = TRANSFORM(this.chkVIESURL.Value) + goAPI.WriteProfileString(m.gcSettingsFile, [validare], "mfinromfast", m.lcMFINROMFAST) + goAPI.WriteProfileString(m.gcSettingsFile, [validare], "viesromfast", m.lcVIESROMFAST) + DODEFAULT() + ENDPROC + + PROCEDURE do_verifica + Lparameters tlValidare, tlMFIN, tlVIES + *** tlValidare - se doreste validarea codurilor (se apeleaza din INIT automat) + *** tlMFIN - se doreste verificarea MFIN (se apeleaza din INIT automat) + *** tlVIES - se doreste verificarea VIES (se apeleaza din INIT automat) + + Local lcCodFiscal, lcEroare, lcKey, lcTipInterogare, lcXml, llAtributFiscal, llMFINURL, llVIESURL + Local llMFIN, llVIES + Local llLiniaCurenta, lnRecord, lcConditieSuplimentara, llModExperimental + + Local loPartener + llMFINURL = This.chkMFINURL.Value && verificare prin ROMFAST.RO = .T. + llVIESURL = This.chkVIESURL.Value && verificare prin ROMFAST.RO = .T. + + llLiniaCurenta = This.chkLiniaCurenta.Value + lcConditieSuplimentara = ".T." + lnRecord = 1 + If m.llLiniaCurenta + lnRecord = Iif(!Eof(), Recno('crsVerificareParteneri'), 0) + lnRecord = Max(m.lnRecord, 1) + Endif + *!* VERIFIC CIF, CNP VALID + Local loVerificare + *!* glRCViesURL = .T. + *!* gcRCVIESURL = "http://localhost/update/verificarecod.aspx/verificarecod/verificare/CIF/|CIF|/VIES" + *!* loVerificare = Createobject("verificarecod", glRCViesURL, glRCMfinURL, gcRCRomfastURL, gcRCMfinanteURL, gcRCMfinanteParams) && validare.prg + loVerificare = Createobject("verificarecod", m.llMFINURL, m.llVIESURL) && validare.prg + + *!* MOD EXPERIMENTAL + llModExperimental = This.chkExperimental.Value + llServiciuWebANAF = This.chkANAF.Value + + loVerificare.lOneSession = !m.llModExperimental + loVerificare.lCaptcha = !m.llModExperimental + *!* MOD EXPERIMENTAL ^ + + llValidare = Iif(Pcount() >= 1, m.tlValidare, .F.) + llMFIN = Iif(Pcount() >= 2, m.tlMFIN, This.chkMFIN.Value) + llVIES = Iif(Pcount() >= 3, m.tlVIES, This.chkVIES.Value) + + llValidare = llValidare Or m.llMFIN Or m.llVIES && se valideaza codurile daca se doreste verificarea MFIN/VIES + *** VERIFICARE CODURI FISCALE, PARTENERI DUPLICATI + Select cod_fiscal, Count(*) As nr From crsVerificareParteneri Group By cod_fiscal Having nr > 1 Into Cursor cCodDuplicat + Select denumire, Count(*) As nr From crsVerificareParteneri Group By denumire Having nr > 1 Into Cursor cDenumireDuplicat + Select cCodDuplicat + Scan + lcCodFiscal = cod_fiscal + Update crsVerificareParteneri Set duplicat = .T. Where cod_fiscal = m.lcCodFiscal + Endscan + Select cDenumireDuplicat + Scan + lcDenumire = denumire + Update crsVerificareParteneri Set duplicat = .T. Where denumire = m.lcDenumire + Endscan + Use In (Select('cCodDuplicat')) + Use In (Select('cDenumireDuplicat')) + + *** activez checkboxul CODURI/DENUMIRI DUPLICATE + Select crsVerificareParteneri + Locate For duplicat + This.chkDuplicat.Visible = Found() + + Go Top In crsVerificareParteneri + + If m.llValidare Or m.llMFIN Or m.llVIES + Select crsVerificareParteneri + Replace All IsCIF With loVerificare.IsCIF(cod_fiscal) + Replace All Valid With Iif(IsCIF, loVerificare.validare('CIF', cod_fiscal), loVerificare.validare('CNP', cod_fiscal)) + REPLACE all valid with .T. FOR EMPTY(NVL(cod_fiscal,'')) && nu consider invalide codurile fiscale goale + *** activez checkboxul CODURI INVALIDE + Locate For !Valid + This.chkInvalid.Visible = Found() + + Go Top In crsVerificareParteneri + Endif + + If !(m.llVIES Or m.llMFIN) + Return + Endif + + This.lblVerifica.Visible = .T. + This.cmdVerifica.Visible = .F. + + *!* VERIFIC CODURILE FISCALE VALIDE PENTRU ATRIBUTUL FISCAL IN VIES + lcTipInterogare = Iif(m.llVIES, 'VIES', '') + Iif(m.llMFIN, 'MFIN', '') + + lcConditieSuplimentara = Iif(m.llLiniaCurenta, "recno() >= " + Alltrim(Str(m.lnRecord)), ".T.") + If m.llServiciuWebANAF + SET STEP ON + && verificare serviciu web ANAF + SELECT distinct cod_fiscal, IIF(!EMPTY(NVL(data, {})), data, DATE(m.gnAn, m.gnLuna, 1)) as data ; + FROM crsVerificareParteneri ; + WHERE Valid And IsCIF And &lcConditieSuplimentara ; + INTO CURSOR cListaCIFTempX + + loVerificareANAF = CREATEOBJECT("VerificareANAF") && validare.prg + + SELECT distinct data FROM cListaCIFTempX INTO CURSOR cListaCIFTempData + SELECT cListaCIFTempData + SCAN + ldData = data + SELECT cod_fiscal FROM cListaCIFTempX WHERE data = m.ldData INTO CURSOR cListaCIFTemp + + lcCursorVerificareANAF = loVerificareANAF.VerificaListaCIF("cListaCIFTemp", m.ldData) + USE IN (SELECT('cListaCIFTemp')) + IF USED(m.lcCursorVerificareANAF) + SELECT (m.lcCursorVerificareANAF) + * cui, Data, denumire, adresa, tva, data_sfarsit, data_anul_imp, mesaj + SCAN + SCATTER NAME loRec + WITH loRec + SELECT crsVerificareParteneri + LOCATE FOR ALLTRIM(Strtran(cod_fiscal, loVerificare.GetCodTara(cod_fiscal),'')) = ALLTRIM(STR(.cui)) AND (EMPTY(NVL(data, {})) OR data = m.ldData) + IF FOUND() + Replace firma With .denumire, adresa With .adresa, datatvamfin With TRANSFORM(.data), platitortvamfin With .tva, stare With .mesaj, cod WITH ALLTRIM(STR(.cui)), ; + tvaincasare WITH .tvaincasare, splittva WITH .splittva, inactiv WITH .inactiv + ENDIF + ENDWITH + ENDSCAN && (m.lcCursorVerificareANAF) + ENDIF + ENDSCAN && cListaCIFTempData + USE IN (SELECT('cListaCIFTempData')) + USE IN (SELECT('cListaCIFTempX')) + USE IN (SELECT('cListaCIFTemp')) + + Else + && verificare pagina mfinante.ro + Select crsVerificareParteneri + Scan For Valid And IsCIF And &lcConditieSuplimentara + lcEroare = "" + lcCodFiscal = Alltrim(Upper(cod_fiscal)) + llAtributFiscal = Isalpha(lcCodFiscal) + This.lblVerifica.Caption = "Se verifica... " + Alltrim(denumire) + ' ' + Transform(Recno()) + "/" + Transform(Reccount()) + " " + Transform(Round(Recno()/Reccount()*100,2)) + ' % * Apasati tasta pentru a intrerupe operatia de verificare' + Wait Window Alltrim(denumire) + ' ' + Transform(Recno()) + "/" + Transform(Reccount()) + " " + Transform(Round(Recno()/Reccount()*100,2)) + ' %' + ; + Chr(13) + Chr(10) + '* Apasati tasta pentru a intrerupe operatia de verificare' Nowait + + *!* if m.llModExperimental + *!* loVerificare = Createobject("verificarecod", m.llMFINURL, m.llVIESURL) && validare.prg + *!* loVerificare.lCaptcha = .F. + *!* endif + + lcXml = loVerificare.Verificare('CIF', lcCodFiscal, m.lcTipInterogare) + If Type('loVerificare.oEntitate') = 'O' + loPartener = loVerificare.oEntitate + lcEroare = loPartener.eroare + With loPartener + Replace cod With .cod, eroare With .eroare In crsVerificareParteneri + If m.llVIES + Replace VIES With .VIES, platitorTVA With .platitorTVA In crsVerificareParteneri + Endif + If m.llMFIN + Replace firma With .firma, adresa With .adresa, judet With .judet, regcom With .regcom, ; + codpostal With .codpostal, telefon With .telefon, fax With .fax, ; + datatvamfin With .datatvamfin, platitortvamfin With .platitortvamfin, stare With .stare ; + In crsVerificareParteneri + Endif + Endwith + Endif + + If !Empty(lcEroare) And aMESSAGEBOX(lcEroare + CRLF + 'Doriti sa continuati?', 4+ 32, _Screen.Caption) <> 6 + Exit + Endif + + + If !m.llModExperimental + If Recno('crsVerificareParteneri') < Reccount('crsVerificareParteneri') + lcKey = Inkey(This.spnPauza.Value) + If lcKey = 27 && ESC + If aMESSAGEBOX('Doriti sa intrerupeti operatia?', 4+32, _Screen.Caption) = 6 + Exit + Endif + Endif + Endif + Else + If Mod(Recno('crsVerificareParteneri'), 50) = 0 && astept 1 secunda la fiecare 50 inregistrari + lcKey = Inkey(1) + If lcKey = 27 && ESC + If aMESSAGEBOX('Doriti sa intrerupeti operatia?', 4+32, _Screen.Caption) = 6 + Exit + Endif + Endif + Endif + Endif + Endscan + ENDIF && m.llServiciuWebANAF + Release loVerificare + + Update crsVerificareParteneri Set atentie = 'DUPLICAT' Where duplicat + Update crsVerificareParteneri Set atentie = Alltrim(Alltrim(atentie) + ' ' + Iif(!platitortvamfin, 'NE', '') + 'PLATITOR TVA') Where !Empty(firma) And ((Upper(atribut_fiscal) = 'RO' And !platitortvamfin) Or (Empty(atribut_fiscal) And platitortvamfin)) + + *** activez checkboxul platitor TVA fara RO + Select crsVerificareParteneri + Locate For 'PLATITOR TVA'$atentie + This.chkPlatitor.Visible = Found() + + LOCATE FOR inactiv + This.chkInactiv.Visible = Found() + + This.lblVerifica.Visible = .F. + This.cmdVerifica.Visible = .T. + + Go Top In crsVerificareParteneri + + + ENDPROC + + PROCEDURE filtreatentionari + LOCAL lcFilter + lcFilter = Iif(Thisform.chkInvalid.Value = 1, "!valid", ".T.") + ' and ' + ; + Iif(Thisform.chkDuplicat.Value = 1, "duplicat", ".T.") + ' And ' + ; + Iif(Thisform.chkPlatitor.Value = 1, "'PLATITOR'$ATENTIE", ".T.") + ' And ' + ; + Iif(Thisform.chkInactiv.Value = 1, "inactiv", ".T.") + + Thisform.gridextra1.customcolumnfilters[1,5] = m.lcFilter + Thisform.gridExtra1.applyfilter() + ENDPROC + + PROCEDURE Init + LPARAMETERS tlValidare, tlMFIN, tlVIES, tlAutoVerificare, tlExperimental, tlServiciuWebANAF + *** tlExperimental: .T. se verifica mfinante.ro fara captcha, fara pauze, cu interogari distincte pentru fiecare cod + *** tlServiciuWebANAF: .T. se verifica prin serviciul web ANAF, cate 500 de coduri fiscale per interogare + + #DEFINE CRLF CHR(13) + CHR(10) + Local lcMFINROMFAST, lcVIESROMFAST, llMFINROMFAST, llVIESROMFAST + + lcMFINROMFAST = goAPI.GetProfileString(m.gcSettingsFile, [validare], "mfinromfast") + lcVIESROMFAST = goAPI.GetProfileString(m.gcSettingsFile, [validare], "viesromfast") + lcMFINROMFAST = NVL(m.lcMFINROMFAST, '') + lcVIESROMFAST = NVL(m.lcVIESROMFAST, '') + IF !INLIST(m.lcMFINROMFAST, '.T.', '.F.') + llMFINROMFAST = .F. + ELSE + llMFINROMFAST = &lcMFINROMFAST + ENDIF + IF !INLIST(m.lcVIESROMFAST, '.T.', '.F.') + llVIESROMFAST = .F. + ELSE + llVIESROMFAST = &lcVIESROMFAST + ENDIF + + * Nu mai intretin nici un serviciu pentru verificarea prin romfast.ro + llMFINROMFAST = .F. + llVIESROMFAST = .F. + tlExperimental = .F. && nu mai functioneaza mfinante.ro experimental + + this.chkMFINURL.Value = m.llMFINROMFAST + this.chkVIESURL.Value = m.llVIESROMFAST + + this.chkMFIN.Value = m.tlMFIN + this.chkVIES.Value = m.tlVIES + + this.chkExperimental.Value = m.tlExperimental + this.chkANAF.Value = .T. && m.tlServiciuWebANAF mai functioneaza doar serviciul ANAF, nu si mfinante.ro + + *!* this.but_verifica1.ToolTipText = "Verificare coduri fiscale" + + this.spnPauza.ToolTipText = "Pauza (sec) intre interogarile www.mfinante.ro" + CHR(13) + CHR(10) + ; + "Daca interogarile sunt prea dese, mfinante.ro blocheaza cautarile." + CHR(13) + CHR(10) + ; + "Incercati pauze mai mari de 5-6 secunde!" + + this.WindowState = 2 + this.gridextra1.setup() + + DODEFAULT() + + This.lAutoVerificare = m.tlAutoVerificare + + + + *** FONT ROSU PENTRU CODURILE, PARTENERII DUPLICATI + this._grdbase1.SetAll("DynamicForeColor","IIF(duplicat, RGB(255,0,0), RGB(0,0,0))", "Column") + *** FUNDAL GRI PENTRU PARTENERII CU RO SI FARA DATA LUARII IN EVIDENTA TVA SAU FARA RO SI CU DATA LUARII IN EVIDENTA TVA + this._grdbase1.SetAll("DynamicBackColor","IIF('PLATITOR TVA'$ATENTIE, RGB(200,200,200), RGB(255,255,255))", "Column") + + SELECT crsVerificareParteneri + GO TOP + + this._grDBASE1.HeaderHeight = 32 + ENDPROC + + PROCEDURE meniu_dblclick + *** Verificare cod fiscal de pe inregistrarea curenta + Local loDate As "empty" + Local lcAlias, lcCodFiscal, lcDenumire, lnOptiune, lnRaspuns, loPartener + + lnOptiune = 0 + loPartener = Null + loDate = Createobject("empty") + + lcAlias = This._grdbase1.RecordSource + Select (m.lcAlias) + AddProperty(loDate, "denumire", Alltrim(denumire)) + AddProperty(loDate, "cod_fiscal", Alltrim(Nvl(cod_fiscal, ''))) + + lnRaspuns = VerificaCodFiscal(loDate, @lnOptiune, @loPartener) + ENDPROC + + PROCEDURE chkDuplicat.Click + Thisform.FiltreAtentionari() + ENDPROC + + PROCEDURE chkInactiv.Click + Thisform.FiltreAtentionari() + ENDPROC + + PROCEDURE chkInvalid.Click + Thisform.FiltreAtentionari() + + ENDPROC + + PROCEDURE chkMFIN.ProgrammaticChange + Thisform.chkMFINURL.Visible = .F. && This.Value + thisform.spnPauza.Visible = .F. && This.Value + thisform.chkLiniaCurenta.Visible = This.Value or thisform.chkVies.Value + ENDPROC + + PROCEDURE chkMFIN.Valid + Thisform.chkMFINURL.Visible = This.Value + thisform.spnPauza.Visible = This.Value + thisform.chkLiniaCurenta.Visible = This.Value or thisform.chkVies.Value + ENDPROC + + PROCEDURE chkPlatitor.Click + Thisform.FiltreAtentionari() + ENDPROC + + PROCEDURE chkVIES.ProgrammaticChange + Thisform.chkViesURL.Visible = .F. && This.Value + thisform.chkLiniaCurenta.Visible = This.Value or thisform.chkMfin.Value + ENDPROC + + PROCEDURE chkVIES.Valid + Thisform.chkViesURL.Visible = This.Value + thisform.chkLiniaCurenta.Visible = This.Value or thisform.chkMfin.Value + ENDPROC + + PROCEDURE _grdbase1.Column16.Text1.DblClick + Thisform.meniu_dblclick() + ENDPROC + + PROCEDURE _grdbase1.Column2.Text1.DblClick + Thisform.meniu_dblclick() + + ENDPROC + + PROCEDURE _grdbase1.Column20.Text1.DblClick + Thisform.meniu_dblclick() + ENDPROC + + PROCEDURE _grdbase1.Column3.Text1.DblClick + Thisform.meniu_dblclick() + ENDPROC + + PROCEDURE _grdbase1.Column5.Text1.DblClick + Thisform.meniu_dblclick() + ENDPROC + + PROCEDURE _grdbase1.Column6.Text1.DblClick + Thisform.meniu_dblclick() + ENDPROC + +ENDDEFINE + +DEFINE CLASS frm_verificare_parteneri_istoric AS _frmbase OF "_frm_base.vcx" + *< CLASSDATA: Baseclass="form" Timestamp="" Scale="Pixels" Uniqueid="" /> + + *-- OBJECTDATA items order determines ZOrder / El orden de los items OBJECTDATA determina el ZOrder + *< OBJECTDATA: ObjPath="_grdbase1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="_grdbase1.cFirma.Header1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="_grdbase1.cFirma.Text1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="_grdbase1.cCodFiscal.Header1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="_grdbase1.cCodFiscal.Text1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="_grdbase1.cAdresa.Header1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="_grdbase1.cAdresa.Text1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="_grdbase1.cJudet.Header1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="_grdbase1.cJudet.Text1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="_grdbase1.cRegCom.Header1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="_grdbase1.cRegCom.Text1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="_grdbase1.cCodPostal.Header1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="_grdbase1.cCodPostal.Text1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="_grdbase1.cTelefon.Header1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="_grdbase1.cTelefon.Text1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="_grdbase1.cFax.Header1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="_grdbase1.cFax.Text1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="_grdbase1.cPlatitorTVAVies.Header1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="_grdbase1.cPlatitorTVAVies.Text1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="_grdbase1.cPlatitorTVAVies._checkbox1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="_grdbase1.cDataTVAMfin.Header1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="_grdbase1.cDataTVAMfin.Text1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="_grdbase1.cPlatitorTVAMfin.Header1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="_grdbase1.cPlatitorTVAMfin.Text1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="_grdbase1.cPlatitorTVAMfin._checkbox1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="_grdbase1.cStare.Header1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="_grdbase1.cStare.Text1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="_grdbase1.cDataOra.Header1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="_grdbase1.cDataOra.Text1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="_grdbase1.cUtil.Header1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="_grdbase1.cUtil.Text1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="_grdbase1.cDataOraV.Header1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="_grdbase1.cDataOraV.Text1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="_grdbase1.cUtilV.Header1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="_grdbase1.cUtilV.Text1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="Gridextra1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="lblInfo" UniqueID="" Timestamp="" /> + + * + *m: do_lanseaza_mfin + *p: lautoverificare && Daca se porneste verificarea automat din metoda Show, cand este apelata verificarea din Reg. TVA + *p: lmfin + *p: lvies + * + + * + BorderStyle = 3 + Caption = "Verificare Parteneri" + cbuton1 = but_excel1 + cusername = + DoCreate = .T. + Height = 234 + lautoverificare = .F. + lmfin = .F. + lvies = .F. + Name = "frm_verificare_parteneri_istoric" + Width = 774 + _memberdata = + + + + _shape1.Anchor = 10 + _shape1.Height = 29 + _shape1.Left = 0 + _shape1.Name = "_shape1" + _shape1.Top = 0 + _shape1.Width = 780 + _SHAPE2.Left = 720 + _SHAPE2.Name = "_SHAPE2" + _SHAPE2.Top = 0 + Lb_titlu_alb_b121.Caption = "Verificare parteneri istoric" + Lb_titlu_alb_b121.Left = 12 + Lb_titlu_alb_b121.Name = "Lb_titlu_alb_b121" + Lb_titlu_alb_b121.Top = 0 + BUT_TERMIN1.Anchor = 8 + BUT_TERMIN1.Left = 743 + BUT_TERMIN1.Name = "BUT_TERMIN1" + BUT_TERMIN1.Top = 0 + GRIDSORT1.Name = "GRIDSORT1" + GRIDSORT1.Top = 41 + * + + ADD OBJECT '_grdbase1' AS _grdbase WITH ; + Anchor = 15, ; + ColumnCount = 16, ; + DeleteMark = .F., ; + HeaderHeight = 32, ; + Height = 190, ; + Left = 12, ; + Name = "_grdbase1", ; + Panel = 1, ; + ReadOnly = .T., ; + RecordSource = "crsVerificareParteneriIstoric", ; + Top = 38, ; + Width = 756, ; + Column1.ColumnOrder = 2, ; + Column1.ControlSource = "firma", ; + Column1.Name = "cFirma", ; + Column1.ReadOnly = .T., ; + Column1.Visible = .T., ; + Column1.Width = 75, ; + Column2.ColumnOrder = 1, ; + Column2.ControlSource = "cod_fiscal", ; + Column2.Name = "cCodFiscal", ; + Column2.ReadOnly = .T., ; + Column2.Visible = .T., ; + Column2.Width = 75, ; + Column3.ColumnOrder = 7, ; + Column3.ControlSource = "adresa", ; + Column3.Name = "cAdresa", ; + Column3.ReadOnly = .T., ; + Column3.Visible = .T., ; + Column3.Width = 75, ; + Column4.ColumnOrder = 8, ; + Column4.ControlSource = "judet", ; + Column4.Name = "cJudet", ; + Column4.ReadOnly = .T., ; + Column4.Visible = .T., ; + Column4.Width = 75, ; + Column5.ColumnOrder = 9, ; + Column5.ControlSource = "regcom", ; + Column5.Name = "cRegCom", ; + Column5.ReadOnly = .T., ; + Column5.Visible = .T., ; + Column5.Width = 75, ; + Column6.ColumnOrder = 10, ; + Column6.ControlSource = "codpostal", ; + Column6.Name = "cCodPostal", ; + Column6.ReadOnly = .T., ; + Column6.Visible = .T., ; + Column6.Width = 75, ; + Column7.ColumnOrder = 11, ; + Column7.ControlSource = "telefon", ; + Column7.Name = "cTelefon", ; + Column7.ReadOnly = .T., ; + Column7.Visible = .T., ; + Column7.Width = 75, ; + Column8.ColumnOrder = 12, ; + Column8.ControlSource = "fax", ; + Column8.Name = "cFax", ; + Column8.ReadOnly = .T., ; + Column8.Visible = .T., ; + Column8.Width = 75, ; + Column9.ColumnOrder = 6, ; + Column9.ControlSource = "platitortvavies", ; + Column9.CurrentControl = "_checkbox1", ; + Column9.Name = "cPlatitorTVAVies", ; + Column9.ReadOnly = .T., ; + Column9.Sparse = .F., ; + Column9.Visible = .T., ; + Column9.Width = 54, ; + Column10.ColumnOrder = 5, ; + Column10.ControlSource = "datatvamfin", ; + Column10.Name = "cDataTVAMfin", ; + Column10.ReadOnly = .T., ; + Column11.ColumnOrder = 4, ; + Column11.ControlSource = "platitortvamfin", ; + Column11.CurrentControl = "_checkbox1", ; + Column11.Name = "cPlatitorTVAMfin", ; + Column11.ReadOnly = .T., ; + Column11.Sparse = .F., ; + Column11.Width = 51, ; + Column12.ColumnOrder = 3, ; + Column12.ControlSource = "stare", ; + Column12.Name = "cStare", ; + Column12.ReadOnly = .T., ; + Column12.Width = 88, ; + Column13.ControlSource = "dataora", ; + Column13.Name = "cDataOra", ; + Column13.ReadOnly = .T., ; + Column14.ControlSource = "util", ; + Column14.Name = "cUtil", ; + Column14.ReadOnly = .T., ; + Column14.Width = 103, ; + Column15.ControlSource = "dataorav", ; + Column15.Name = "cDataOraV", ; + Column15.ReadOnly = .T., ; + Column16.ControlSource = "utilv", ; + Column16.Name = "cUtilV", ; + Column16.ReadOnly = .T., ; + Column16.Width = 114 + *< END OBJECT: ClassLib="_grd_base.vcx" BaseClass="grid" /> + + ADD OBJECT '_grdbase1.cAdresa.Header1' AS header WITH ; + Alignment = 2, ; + Caption = "Adresa", ; + Name = "Header1" + *< END OBJECT: BaseClass="header" /> + + ADD OBJECT '_grdbase1.cAdresa.Text1' AS textbox WITH ; + BackColor = 255,255,255, ; + BorderStyle = 0, ; + ForeColor = 0,0,0, ; + Margin = 0, ; + Name = "Text1", ; + ReadOnly = .T., ; + Visible = .T. + *< END OBJECT: BaseClass="textbox" /> + + ADD OBJECT '_grdbase1.cCodFiscal.Header1' AS header WITH ; + Alignment = 2, ; + Caption = "Cod Fiscal", ; + Name = "Header1" + *< END OBJECT: BaseClass="header" /> + + ADD OBJECT '_grdbase1.cCodFiscal.Text1' AS textbox WITH ; + BackColor = 255,255,255, ; + BorderStyle = 0, ; + ForeColor = 0,0,0, ; + Margin = 0, ; + Name = "Text1", ; + ReadOnly = .T., ; + Visible = .T. + *< END OBJECT: BaseClass="textbox" /> + + ADD OBJECT '_grdbase1.cCodPostal.Header1' AS header WITH ; + Alignment = 2, ; + Caption = "Cod postal", ; + Name = "Header1" + *< END OBJECT: BaseClass="header" /> + + ADD OBJECT '_grdbase1.cCodPostal.Text1' AS textbox WITH ; + BackColor = 255,255,255, ; + BorderStyle = 0, ; + ForeColor = 0,0,0, ; + Margin = 0, ; + Name = "Text1", ; + ReadOnly = .T., ; + Visible = .T. + *< END OBJECT: BaseClass="textbox" /> + + ADD OBJECT '_grdbase1.cDataOra.Header1' AS header WITH ; + Alignment = 2, ; + Caption = "Creat la", ; + Name = "Header1" + *< END OBJECT: BaseClass="header" /> + + ADD OBJECT '_grdbase1.cDataOra.Text1' AS textbox WITH ; + BackColor = 255,255,255, ; + BorderStyle = 0, ; + ForeColor = 0,0,0, ; + Margin = 0, ; + Name = "Text1" + *< END OBJECT: BaseClass="textbox" /> + + ADD OBJECT '_grdbase1.cDataOraV.Header1' AS header WITH ; + Alignment = 2, ; + Caption = "Verificat la", ; + Name = "Header1" + *< END OBJECT: BaseClass="header" /> + + ADD OBJECT '_grdbase1.cDataOraV.Text1' AS textbox WITH ; + BackColor = 255,255,255, ; + BorderStyle = 0, ; + ForeColor = 0,0,0, ; + Margin = 0, ; + Name = "Text1" + *< END OBJECT: BaseClass="textbox" /> + + ADD OBJECT '_grdbase1.cDataTVAMfin.Header1' AS header WITH ; + Alignment = 2, ; + Caption = "Data TVA MFIN", ; + Name = "Header1", ; + WordWrap = .T. + *< END OBJECT: BaseClass="header" /> + + ADD OBJECT '_grdbase1.cDataTVAMfin.Text1' AS textbox WITH ; + BackColor = 255,255,255, ; + BorderStyle = 0, ; + ForeColor = 0,0,0, ; + Margin = 0, ; + Name = "Text1", ; + ReadOnly = .T. + *< END OBJECT: BaseClass="textbox" /> + + ADD OBJECT '_grdbase1.cFax.Header1' AS header WITH ; + Alignment = 2, ; + Caption = "Fax", ; + Name = "Header1" + *< END OBJECT: BaseClass="header" /> + + ADD OBJECT '_grdbase1.cFax.Text1' AS textbox WITH ; + BackColor = 255,255,255, ; + BorderStyle = 0, ; + ForeColor = 0,0,0, ; + Margin = 0, ; + Name = "Text1", ; + ReadOnly = .T., ; + Visible = .T. + *< END OBJECT: BaseClass="textbox" /> + + ADD OBJECT '_grdbase1.cFirma.Header1' AS header WITH ; + Alignment = 2, ; + Caption = "Denumire", ; + Name = "Header1" + *< END OBJECT: BaseClass="header" /> + + ADD OBJECT '_grdbase1.cFirma.Text1' AS textbox WITH ; + BackColor = 255,255,255, ; + BorderStyle = 0, ; + ForeColor = 0,0,0, ; + Margin = 0, ; + Name = "Text1", ; + ReadOnly = .T., ; + Visible = .T. + *< END OBJECT: BaseClass="textbox" /> + + ADD OBJECT '_grdbase1.cJudet.Header1' AS header WITH ; + Alignment = 2, ; + Caption = "Judet", ; + Name = "Header1" + *< END OBJECT: BaseClass="header" /> + + ADD OBJECT '_grdbase1.cJudet.Text1' AS textbox WITH ; + BackColor = 255,255,255, ; + BorderStyle = 0, ; + ForeColor = 0,0,0, ; + Margin = 0, ; + Name = "Text1", ; + ReadOnly = .T., ; + Visible = .T. + *< END OBJECT: BaseClass="textbox" /> + + ADD OBJECT '_grdbase1.cPlatitorTVAMfin._checkbox1' AS _checkbox WITH ; + Alignment = 2, ; + Caption = "", ; + Left = 41, ; + Name = "_checkbox1", ; + ReadOnly = .T., ; + Top = 48 + *< END OBJECT: ClassLib="_baza.vcx" BaseClass="checkbox" /> + + ADD OBJECT '_grdbase1.cPlatitorTVAMfin.Header1' AS header WITH ; + Alignment = 2, ; + Caption = "Platitor TVA MFIN", ; + Name = "Header1", ; + WordWrap = .T. + *< END OBJECT: BaseClass="header" /> + + ADD OBJECT '_grdbase1.cPlatitorTVAMfin.Text1' AS textbox WITH ; + BackColor = 255,255,255, ; + BorderStyle = 0, ; + ForeColor = 0,0,0, ; + Margin = 0, ; + Name = "Text1" + *< END OBJECT: BaseClass="textbox" /> + + ADD OBJECT '_grdbase1.cPlatitorTVAVies._checkbox1' AS _checkbox WITH ; + Alignment = 2, ; + Caption = "", ; + Left = 49, ; + Name = "_checkbox1", ; + ReadOnly = .T., ; + Top = 72 + *< END OBJECT: ClassLib="_baza.vcx" BaseClass="checkbox" /> + + ADD OBJECT '_grdbase1.cPlatitorTVAVies.Header1' AS header WITH ; + Alignment = 2, ; + Caption = "Platitor TVA VIES", ; + Name = "Header1", ; + WordWrap = .T. + *< END OBJECT: BaseClass="header" /> + + ADD OBJECT '_grdbase1.cPlatitorTVAVies.Text1' AS textbox WITH ; + BackColor = 255,255,255, ; + BorderStyle = 0, ; + ForeColor = 0,0,0, ; + Margin = 0, ; + Name = "Text1", ; + Visible = .T. + *< END OBJECT: BaseClass="textbox" /> + + ADD OBJECT '_grdbase1.cRegCom.Header1' AS header WITH ; + Alignment = 2, ; + Caption = "Reg. com.", ; + Name = "Header1" + *< END OBJECT: BaseClass="header" /> + + ADD OBJECT '_grdbase1.cRegCom.Text1' AS textbox WITH ; + BackColor = 255,255,255, ; + BorderStyle = 0, ; + ForeColor = 0,0,0, ; + Margin = 0, ; + Name = "Text1", ; + ReadOnly = .T., ; + Visible = .T. + *< END OBJECT: BaseClass="textbox" /> + + ADD OBJECT '_grdbase1.cStare.Header1' AS header WITH ; + Alignment = 2, ; + Caption = "Stare", ; + Name = "Header1" + *< END OBJECT: BaseClass="header" /> + + ADD OBJECT '_grdbase1.cStare.Text1' AS textbox WITH ; + BackColor = 255,255,255, ; + BorderStyle = 0, ; + ForeColor = 0,0,0, ; + Margin = 0, ; + Name = "Text1" + *< END OBJECT: BaseClass="textbox" /> + + ADD OBJECT '_grdbase1.cTelefon.Header1' AS header WITH ; + Alignment = 2, ; + Caption = "Telefon", ; + Name = "Header1" + *< END OBJECT: BaseClass="header" /> + + ADD OBJECT '_grdbase1.cTelefon.Text1' AS textbox WITH ; + BackColor = 255,255,255, ; + BorderStyle = 0, ; + ForeColor = 0,0,0, ; + Margin = 0, ; + Name = "Text1", ; + ReadOnly = .T., ; + Visible = .T. + *< END OBJECT: BaseClass="textbox" /> + + ADD OBJECT '_grdbase1.cUtil.Header1' AS header WITH ; + Alignment = 2, ; + Caption = "Creat de", ; + Name = "Header1" + *< END OBJECT: BaseClass="header" /> + + ADD OBJECT '_grdbase1.cUtil.Text1' AS textbox WITH ; + BackColor = 255,255,255, ; + BorderStyle = 0, ; + ForeColor = 0,0,0, ; + Margin = 0, ; + Name = "Text1" + *< END OBJECT: BaseClass="textbox" /> + + ADD OBJECT '_grdbase1.cUtilV.Header1' AS header WITH ; + Alignment = 2, ; + Caption = "Verificat de", ; + Name = "Header1" + *< END OBJECT: BaseClass="header" /> + + ADD OBJECT '_grdbase1.cUtilV.Text1' AS textbox WITH ; + BackColor = 255,255,255, ; + BorderStyle = 0, ; + ForeColor = 0,0,0, ; + Margin = 0, ; + Name = "Text1" + *< END OBJECT: BaseClass="textbox" /> + + ADD OBJECT 'Gridextra1' AS gridextra WITH ; + gridexpression = Thisform._grdbase1, ; + Height = 17, ; + Left = 744, ; + Name = "Gridextra1", ; + Top = 36, ; + Width = 24 + *< END OBJECT: ClassLib="..\utile\gridextras\gridextras.vcx" BaseClass="custom" /> + + ADD OBJECT 'lblInfo' AS _label WITH ; + Caption = "Dublu click pe Denumire pentru verificare manuala pe www.mfinante.ro", ; + FontSize = 8, ; + ForeColor = 255,255,128, ; + Left = 12, ; + Name = "lblInfo", ; + Top = 16 + *< END OBJECT: ClassLib="_baza.vcx" BaseClass="label" /> + + PROCEDURE Activate + *** nu sterge + ENDPROC + + PROCEDURE do_lanseaza_mfin + Local lcCodFiscal + lcCodFiscal = ALLTRIM(cod_fiscal) + IF ISALPHA(lcCodFiscal) + lcCodFiscal = ALLTRIM(SUBSTR(lcCodFiscal, 2)) + IF ISALPHA(lcCodFiscal) + lcCodFiscal = ALLTRIM(SUBSTR(lcCodFiscal, 2)) + ENDIF + ENDIF + OPEN_DEFAULT_APP("http://www.mfinante.ro/infocodfiscal.html?pagina=domenii&cod=" + m.lcCodFiscal) + ENDPROC + + PROCEDURE Init + Lparameters tcCodFiscal, tcNume + Local lcTitlu + lcTitlu = "" + + If !Empty(m.tcCodFiscal) + lcTitlu = lcTitlu + " " + Alltrim(m.tcCodFiscal) + EndIf + + If !Empty(m.tcNume) + lcTitlu = lcTitlu + " (" + Alltrim(m.tcNume) + ")" + EndIf + + + this.lb_titlu_alb_b121.Caption = "Istoric verificare " + m.lcTitlu + + DoDefault() + this.WindowState = 2 + this.gridextra1.setup() + ENDPROC + +ENDDEFINE + +DEFINE CLASS frm_verificare_parteneri_old AS _frmbase OF "_frm_base.vcx" + *< CLASSDATA: Baseclass="form" Timestamp="" Scale="Pixels" Uniqueid="" /> + + *-- OBJECTDATA items order determines ZOrder / El orden de los items OBJECTDATA determina el ZOrder + *< OBJECTDATA: ObjPath="_grdbase1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="_grdbase1.Column1.Header1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="_grdbase1.Column1.Text1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="_grdbase1.Column1._checkbox1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="_grdbase1.Column2.Header1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="_grdbase1.Column2.Text1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="_grdbase1.Column3.Header1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="_grdbase1.Column3.Text1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="_grdbase1.Column4.Header1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="_grdbase1.Column4.Text1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="_grdbase1.Column4._checkbox1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="_grdbase1.Column5.Header1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="_grdbase1.Column5.Text1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="_grdbase1.Column6.Header1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="_grdbase1.Column6.Text1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="_grdbase1.Column7.Header1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="_grdbase1.Column7.Text1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="_grdbase1.Column8.Header1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="_grdbase1.Column8.Text1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="_grdbase1.Column9.Header1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="_grdbase1.Column9.Text1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="_grdbase1.Column10.Header1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="_grdbase1.Column10.Text1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="_grdbase1.Column11.Header1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="_grdbase1.Column11.Text1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="_grdbase1.Column12.Header1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="_grdbase1.Column12.Text1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="_grdbase1.Column13.Header1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="_grdbase1.Column13.Text1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="_grdbase1.Column13._checkbox1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="_grdbase1.Column14.Header1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="_grdbase1.Column14.Text1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="_grdbase1.Column14._checkbox1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="_grdbase1.Column15.Header1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="_grdbase1.Column15.Text1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="_grdbase1.Column16.Header1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="_grdbase1.Column16.Text1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="_grdbase1.Column17.Header1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="_grdbase1.Column17.Text1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="_grdbase1.Column17._checkbox1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="_grdbase1.Column18.Header1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="_grdbase1.Column18.Text1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="_grdbase1.Column18._checkbox1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="_grdbase1.Column19.Header1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="_grdbase1.Column19.Text1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="_grdbase1.Column20.Header1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="_grdbase1.Column20.Text1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="_grdbase1.Column21.Header1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="_grdbase1.Column21.Text1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="_grdbase1.Column23.Header1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="_grdbase1.Column23.Text1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="But_verifica1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="Gridextra1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="chkMFIN" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="chkVIES" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="chkMFINURL" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="chkVIESURL" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="spnPauza" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="lblInfo" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="chkLiniaCurenta" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="chkDuplicat" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="chkPlatitor" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="chkInvalid" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="But_renunt1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="cmdVerifica" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="lblVerifica" UniqueID="" Timestamp="" /> + + * + *m: do_lanseaza_istoric + *m: do_lanseaza_mfin + *m: meniu_dblclick + *p: lautoverificare && Daca se porneste verificarea automat din metoda Show, cand este apelata verificarea din Reg. TVA + *p: lmfin + *p: lvies + * + + * + BorderStyle = 3 + Caption = "Verificare Parteneri" + cbuton1 = but_excel1 + cusername = + DoCreate = .T. + Height = 416 + lautoverificare = .F. + lmfin = .F. + lvies = .F. + Name = "frm_verificare_parteneri" + Width = 774 + _memberdata = + + + + _shape1.Anchor = 10 + _shape1.Height = 29 + _shape1.Left = 0 + _shape1.Name = "_shape1" + _shape1.Top = 0 + _shape1.Width = 780 + _SHAPE2.Left = 597 + _SHAPE2.Name = "_SHAPE2" + _SHAPE2.Top = 0 + Lb_titlu_alb_b121.Caption = "Verificare parteneri" + Lb_titlu_alb_b121.Left = 12 + Lb_titlu_alb_b121.Name = "Lb_titlu_alb_b121" + Lb_titlu_alb_b121.Top = 0 + BUT_TERMIN1.Anchor = 8 + BUT_TERMIN1.Left = 743 + BUT_TERMIN1.Name = "BUT_TERMIN1" + BUT_TERMIN1.Top = 0 + GRIDSORT1.Name = "GRIDSORT1" + GRIDSORT1.Top = 41 + * + + ADD OBJECT '_grdbase1' AS _grdbase WITH ; + Anchor = 15, ; + ColumnCount = 22, ; + DeleteMark = .F., ; + HeaderHeight = 32, ; + Height = 283, ; + Left = 12, ; + Name = "_grdbase1", ; + Panel = 1, ; + ReadOnly = .T., ; + RecordSource = "crsverificareparteneri", ; + Top = 84, ; + Width = 756, ; + Column1.ColumnOrder = 1, ; + Column1.ControlSource = "crsverificareparteneri.ales", ; + Column1.CurrentControl = "_checkbox1", ; + Column1.Name = "Column1", ; + Column1.ReadOnly = .F., ; + Column1.Sparse = .F., ; + Column1.Visible = .T., ; + Column1.Width = 25, ; + Column2.ColumnOrder = 3, ; + Column2.ControlSource = "crsverificareparteneri.denumire", ; + Column2.Name = "Column2", ; + Column2.ReadOnly = .T., ; + Column2.ToolTipText = "Dublu click pentru verificare manuala pe www.mfinante.ro", ; + Column2.Visible = .T., ; + Column2.Width = 75, ; + Column3.ColumnOrder = 5, ; + Column3.ControlSource = "crsverificareparteneri.cod_fiscal", ; + Column3.Name = "Column3", ; + Column3.ReadOnly = .T., ; + Column3.ToolTipText = "Dublu click pentru verificare manuala pe www.mfinante.ro", ; + Column3.Visible = .T., ; + Column3.Width = 75, ; + Column4.ColumnOrder = 6, ; + Column4.ControlSource = "crsverificareparteneri.valid", ; + Column4.CurrentControl = "_checkbox1", ; + Column4.Name = "Column4", ; + Column4.ReadOnly = .T., ; + Column4.Sparse = .F., ; + Column4.Visible = .T., ; + Column4.Width = 41, ; + Column5.ColumnOrder = 10, ; + Column5.ControlSource = "crsverificareparteneri.firma", ; + Column5.Name = "Column5", ; + Column5.ReadOnly = .T., ; + Column5.Visible = .T., ; + Column5.Width = 75, ; + Column6.ColumnOrder = 11, ; + Column6.ControlSource = "crsverificareparteneri.cod", ; + Column6.Name = "Column6", ; + Column6.ReadOnly = .T., ; + Column6.Visible = .T., ; + Column6.Width = 75, ; + Column7.ColumnOrder = 12, ; + Column7.ControlSource = "crsverificareparteneri.adresa", ; + Column7.Name = "Column7", ; + Column7.ReadOnly = .T., ; + Column7.Visible = .T., ; + Column7.Width = 75, ; + Column8.ColumnOrder = 13, ; + Column8.ControlSource = "crsverificareparteneri.judet", ; + Column8.Name = "Column8", ; + Column8.ReadOnly = .T., ; + Column8.Visible = .T., ; + Column8.Width = 75, ; + Column9.ColumnOrder = 14, ; + Column9.ControlSource = "crsverificareparteneri.regcom", ; + Column9.Name = "Column9", ; + Column9.ReadOnly = .T., ; + Column9.Visible = .T., ; + Column9.Width = 75, ; + Column10.ColumnOrder = 15, ; + Column10.ControlSource = "crsverificareparteneri.codpostal", ; + Column10.Name = "Column10", ; + Column10.ReadOnly = .T., ; + Column10.Visible = .T., ; + Column10.Width = 75, ; + Column11.ColumnOrder = 16, ; + Column11.ControlSource = "crsverificareparteneri.telefon", ; + Column11.Name = "Column11", ; + Column11.ReadOnly = .T., ; + Column11.Visible = .T., ; + Column11.Width = 75, ; + Column12.ColumnOrder = 17, ; + Column12.ControlSource = "crsverificareparteneri.fax", ; + Column12.Name = "Column12", ; + Column12.ReadOnly = .T., ; + Column12.Visible = .T., ; + Column12.Width = 75, ; + Column13.ColumnOrder = 18, ; + Column13.ControlSource = "crsverificareparteneri.vies", ; + Column13.CurrentControl = "_checkbox1", ; + Column13.Name = "Column13", ; + Column13.ReadOnly = .T., ; + Column13.Sparse = .F., ; + Column13.Visible = .T., ; + Column13.Width = 75, ; + Column14.ColumnOrder = 19, ; + Column14.ControlSource = "crsverificareparteneri.platitortva", ; + Column14.CurrentControl = "_checkbox1", ; + Column14.Name = "Column14", ; + Column14.ReadOnly = .T., ; + Column14.Sparse = .F., ; + Column14.Visible = .T., ; + Column14.Width = 75, ; + Column15.ColumnOrder = 20, ; + Column15.ControlSource = "crsverificareparteneri.eroare", ; + Column15.Name = "Column15", ; + Column15.ReadOnly = .T., ; + Column15.Visible = .T., ; + Column15.Width = 58, ; + Column16.ColumnOrder = 8, ; + Column16.ControlSource = "datatvamfin", ; + Column16.Name = "Column16", ; + Column16.ReadOnly = .T., ; + Column17.ColumnOrder = 7, ; + Column17.ControlSource = "platitortvamfin", ; + Column17.CurrentControl = "_checkbox1", ; + Column17.Name = "Column17", ; + Column17.ReadOnly = .T., ; + Column17.Sparse = .F., ; + Column17.Width = 71, ; + Column18.ColumnOrder = 21, ; + Column18.ControlSource = "crsverificareparteneri.duplicat", ; + Column18.CurrentControl = "_checkbox1", ; + Column18.Name = "Column18", ; + Column18.ReadOnly = .T., ; + Column18.Sparse = .F., ; + Column18.Width = 62, ; + Column19.ColumnOrder = 4, ; + Column19.ControlSource = "crsverificareparteneri.atribut_fiscal", ; + Column19.Name = "Column19", ; + Column19.ReadOnly = .T., ; + Column19.Width = 41, ; + Column20.ColumnOrder = 9, ; + Column20.ControlSource = "stare", ; + Column20.Name = "Column20", ; + Column20.ReadOnly = .T., ; + Column20.Width = 88, ; + Column21.ColumnOrder = 2, ; + Column21.ControlSource = "atentie", ; + Column21.Name = "Column21", ; + Column21.ReadOnly = .T., ; + Column21.Width = 78, ; + Column22.ColumnOrder = 22, ; + Column22.ControlSource = "crsverificareparteneri.id_part", ; + Column22.Name = "Column23", ; + Column22.ReadOnly = .T. + *< END OBJECT: ClassLib="_grd_base.vcx" BaseClass="grid" /> + + ADD OBJECT '_grdbase1.Column1._checkbox1' AS _checkbox WITH ; + Alignment = 2, ; + Caption = "", ; + Left = 13, ; + Name = "_checkbox1", ; + ReadOnly = .F., ; + Top = 84 + *< END OBJECT: ClassLib="_baza.vcx" BaseClass="checkbox" /> + + ADD OBJECT '_grdbase1.Column1.Header1' AS header WITH ; + Alignment = 2, ; + Caption = "Ales", ; + Name = "Header1" + *< END OBJECT: BaseClass="header" /> + + ADD OBJECT '_grdbase1.Column1.Text1' AS textbox WITH ; + BackColor = 255,255,255, ; + BorderStyle = 0, ; + ForeColor = 0,0,0, ; + Margin = 0, ; + Name = "Text1", ; + Visible = .T. + *< END OBJECT: BaseClass="textbox" /> + + ADD OBJECT '_grdbase1.Column10.Header1' AS header WITH ; + Alignment = 2, ; + Caption = "Cod postal", ; + Name = "Header1" + *< END OBJECT: BaseClass="header" /> + + ADD OBJECT '_grdbase1.Column10.Text1' AS textbox WITH ; + BackColor = 255,255,255, ; + BorderStyle = 0, ; + ForeColor = 0,0,0, ; + Margin = 0, ; + Name = "Text1", ; + ReadOnly = .T., ; + Visible = .T. + *< END OBJECT: BaseClass="textbox" /> + + ADD OBJECT '_grdbase1.Column11.Header1' AS header WITH ; + Alignment = 2, ; + Caption = "Telefon", ; + Name = "Header1" + *< END OBJECT: BaseClass="header" /> + + ADD OBJECT '_grdbase1.Column11.Text1' AS textbox WITH ; + BackColor = 255,255,255, ; + BorderStyle = 0, ; + ForeColor = 0,0,0, ; + Margin = 0, ; + Name = "Text1", ; + ReadOnly = .T., ; + Visible = .T. + *< END OBJECT: BaseClass="textbox" /> + + ADD OBJECT '_grdbase1.Column12.Header1' AS header WITH ; + Alignment = 2, ; + Caption = "Fax", ; + Name = "Header1" + *< END OBJECT: BaseClass="header" /> + + ADD OBJECT '_grdbase1.Column12.Text1' AS textbox WITH ; + BackColor = 255,255,255, ; + BorderStyle = 0, ; + ForeColor = 0,0,0, ; + Margin = 0, ; + Name = "Text1", ; + ReadOnly = .T., ; + Visible = .T. + *< END OBJECT: BaseClass="textbox" /> + + ADD OBJECT '_grdbase1.Column13._checkbox1' AS _checkbox WITH ; + Alignment = 2, ; + Caption = "", ; + Left = 41, ; + Name = "_checkbox1", ; + ReadOnly = .T., ; + Top = 48 + *< END OBJECT: ClassLib="_baza.vcx" BaseClass="checkbox" /> + + ADD OBJECT '_grdbase1.Column13.Header1' AS header WITH ; + Alignment = 2, ; + Caption = "Interogare VIES", ; + Name = "Header1", ; + WordWrap = .T. + *< END OBJECT: BaseClass="header" /> + + ADD OBJECT '_grdbase1.Column13.Text1' AS textbox WITH ; + BackColor = 255,255,255, ; + BorderStyle = 0, ; + ForeColor = 0,0,0, ; + Margin = 0, ; + Name = "Text1", ; + Visible = .T. + *< END OBJECT: BaseClass="textbox" /> + + ADD OBJECT '_grdbase1.Column14._checkbox1' AS _checkbox WITH ; + Alignment = 2, ; + Caption = "", ; + Left = 49, ; + Name = "_checkbox1", ; + ReadOnly = .T., ; + Top = 72 + *< END OBJECT: ClassLib="_baza.vcx" BaseClass="checkbox" /> + + ADD OBJECT '_grdbase1.Column14.Header1' AS header WITH ; + Alignment = 2, ; + Caption = "Platitor TVA VIES", ; + Name = "Header1", ; + WordWrap = .T. + *< END OBJECT: BaseClass="header" /> + + ADD OBJECT '_grdbase1.Column14.Text1' AS textbox WITH ; + BackColor = 255,255,255, ; + BorderStyle = 0, ; + ForeColor = 0,0,0, ; + Margin = 0, ; + Name = "Text1", ; + Visible = .T. + *< END OBJECT: BaseClass="textbox" /> + + ADD OBJECT '_grdbase1.Column15.Header1' AS header WITH ; + Alignment = 2, ; + Caption = "Eroare", ; + Name = "Header1" + *< END OBJECT: BaseClass="header" /> + + ADD OBJECT '_grdbase1.Column15.Text1' AS textbox WITH ; + BackColor = 255,255,255, ; + BorderStyle = 0, ; + ForeColor = 0,0,0, ; + Margin = 0, ; + Name = "Text1", ; + ReadOnly = .T., ; + Visible = .T. + *< END OBJECT: BaseClass="textbox" /> + + ADD OBJECT '_grdbase1.Column16.Header1' AS header WITH ; + Alignment = 2, ; + Caption = "Data TVA MFIN", ; + Name = "Header1", ; + WordWrap = .T. + *< END OBJECT: BaseClass="header" /> + + ADD OBJECT '_grdbase1.Column16.Text1' AS textbox WITH ; + BackColor = 255,255,255, ; + BorderStyle = 0, ; + ForeColor = 0,0,0, ; + Margin = 0, ; + Name = "Text1", ; + ReadOnly = .T. + *< END OBJECT: BaseClass="textbox" /> + + ADD OBJECT '_grdbase1.Column17._checkbox1' AS _checkbox WITH ; + Alignment = 2, ; + Caption = "", ; + Left = 41, ; + Name = "_checkbox1", ; + ReadOnly = .T., ; + Top = 48 + *< END OBJECT: ClassLib="_baza.vcx" BaseClass="checkbox" /> + + ADD OBJECT '_grdbase1.Column17.Header1' AS header WITH ; + Alignment = 2, ; + Caption = "Platitor TVA MFIN", ; + Name = "Header1", ; + WordWrap = .T. + *< END OBJECT: BaseClass="header" /> + + ADD OBJECT '_grdbase1.Column17.Text1' AS textbox WITH ; + BackColor = 255,255,255, ; + BorderStyle = 0, ; + ForeColor = 0,0,0, ; + Margin = 0, ; + Name = "Text1" + *< END OBJECT: BaseClass="textbox" /> + + ADD OBJECT '_grdbase1.Column18._checkbox1' AS _checkbox WITH ; + Alignment = 2, ; + Caption = "", ; + Left = 50, ; + Name = "_checkbox1", ; + Top = 72 + *< END OBJECT: ClassLib="_baza.vcx" BaseClass="checkbox" /> + + ADD OBJECT '_grdbase1.Column18.Header1' AS header WITH ; + Alignment = 2, ; + Caption = "Duplicat", ; + Name = "Header1" + *< END OBJECT: BaseClass="header" /> + + ADD OBJECT '_grdbase1.Column18.Text1' AS textbox WITH ; + BackColor = 255,255,255, ; + BorderStyle = 0, ; + ForeColor = 0,0,0, ; + Margin = 0, ; + Name = "Text1" + *< END OBJECT: BaseClass="textbox" /> + + ADD OBJECT '_grdbase1.Column19.Header1' AS header WITH ; + Alignment = 2, ; + Caption = "Atribut fiscal", ; + Name = "Header1", ; + WordWrap = .T. + *< END OBJECT: BaseClass="header" /> + + ADD OBJECT '_grdbase1.Column19.Text1' AS textbox WITH ; + BackColor = 255,255,255, ; + BorderStyle = 0, ; + ForeColor = 0,0,0, ; + Margin = 0, ; + Name = "Text1", ; + ReadOnly = .T. + *< END OBJECT: BaseClass="textbox" /> + + ADD OBJECT '_grdbase1.Column2.Header1' AS header WITH ; + Alignment = 2, ; + Caption = "Denumire", ; + Name = "Header1" + *< END OBJECT: BaseClass="header" /> + + ADD OBJECT '_grdbase1.Column2.Text1' AS textbox WITH ; + BackColor = 255,255,255, ; + BorderStyle = 0, ; + ForeColor = 0,0,0, ; + Margin = 0, ; + Name = "Text1", ; + ReadOnly = .T., ; + Visible = .T. + *< END OBJECT: BaseClass="textbox" /> + + ADD OBJECT '_grdbase1.Column20.Header1' AS header WITH ; + Alignment = 2, ; + Caption = "Stare", ; + Name = "Header1" + *< END OBJECT: BaseClass="header" /> + + ADD OBJECT '_grdbase1.Column20.Text1' AS textbox WITH ; + BackColor = 255,255,255, ; + BorderStyle = 0, ; + ForeColor = 0,0,0, ; + Margin = 0, ; + Name = "Text1" + *< END OBJECT: BaseClass="textbox" /> + + ADD OBJECT '_grdbase1.Column21.Header1' AS header WITH ; + Alignment = 2, ; + Caption = "Atentie", ; + Name = "Header1" + *< END OBJECT: BaseClass="header" /> + + ADD OBJECT '_grdbase1.Column21.Text1' AS textbox WITH ; + BackColor = 255,255,255, ; + BorderStyle = 0, ; + ForeColor = 0,0,0, ; + Margin = 0, ; + Name = "Text1" + *< END OBJECT: BaseClass="textbox" /> + + ADD OBJECT '_grdbase1.Column23.Header1' AS header WITH ; + Alignment = 2, ; + Caption = "Id partener", ; + Name = "Header1" + *< END OBJECT: BaseClass="header" /> + + ADD OBJECT '_grdbase1.Column23.Text1' AS textbox WITH ; + BackColor = 255,255,255, ; + BorderStyle = 0, ; + ForeColor = 0,0,0, ; + Margin = 0, ; + Name = "Text1", ; + ReadOnly = .T. + *< END OBJECT: BaseClass="textbox" /> + + ADD OBJECT '_grdbase1.Column3.Header1' AS header WITH ; + Alignment = 2, ; + Caption = "CIF/CNP", ; + Name = "Header1" + *< END OBJECT: BaseClass="header" /> + + ADD OBJECT '_grdbase1.Column3.Text1' AS textbox WITH ; + BackColor = 255,255,255, ; + BorderStyle = 0, ; + ForeColor = 0,0,0, ; + Margin = 0, ; + Name = "Text1", ; + ReadOnly = .T., ; + Visible = .T. + *< END OBJECT: BaseClass="textbox" /> + + ADD OBJECT '_grdbase1.Column4._checkbox1' AS _checkbox WITH ; + Alignment = 2, ; + Caption = "", ; + Left = 25, ; + Name = "_checkbox1", ; + ReadOnly = .T., ; + Top = 66 + *< END OBJECT: ClassLib="_baza.vcx" BaseClass="checkbox" /> + + ADD OBJECT '_grdbase1.Column4.Header1' AS header WITH ; + Alignment = 2, ; + Caption = "Cod valid", ; + Name = "Header1", ; + WordWrap = .T. + *< END OBJECT: BaseClass="header" /> + + ADD OBJECT '_grdbase1.Column4.Text1' AS textbox WITH ; + BackColor = 255,255,255, ; + BorderStyle = 0, ; + ForeColor = 0,0,0, ; + Margin = 0, ; + Name = "Text1", ; + Visible = .T. + *< END OBJECT: BaseClass="textbox" /> + + ADD OBJECT '_grdbase1.Column5.Header1' AS header WITH ; + Alignment = 2, ; + Caption = "Firma MFIN", ; + Name = "Header1" + *< END OBJECT: BaseClass="header" /> + + ADD OBJECT '_grdbase1.Column5.Text1' AS textbox WITH ; + BackColor = 255,255,255, ; + BorderStyle = 0, ; + ForeColor = 0,0,0, ; + Margin = 0, ; + Name = "Text1", ; + ReadOnly = .T., ; + Visible = .T. + *< END OBJECT: BaseClass="textbox" /> + + ADD OBJECT '_grdbase1.Column6.Header1' AS header WITH ; + Alignment = 2, ; + Caption = "Cod", ; + Name = "Header1" + *< END OBJECT: BaseClass="header" /> + + ADD OBJECT '_grdbase1.Column6.Text1' AS textbox WITH ; + BackColor = 255,255,255, ; + BorderStyle = 0, ; + ForeColor = 0,0,0, ; + Margin = 0, ; + Name = "Text1", ; + ReadOnly = .T., ; + Visible = .T. + *< END OBJECT: BaseClass="textbox" /> + + ADD OBJECT '_grdbase1.Column7.Header1' AS header WITH ; + Alignment = 2, ; + Caption = "Adresa", ; + Name = "Header1" + *< END OBJECT: BaseClass="header" /> + + ADD OBJECT '_grdbase1.Column7.Text1' AS textbox WITH ; + BackColor = 255,255,255, ; + BorderStyle = 0, ; + ForeColor = 0,0,0, ; + Margin = 0, ; + Name = "Text1", ; + ReadOnly = .T., ; + Visible = .T. + *< END OBJECT: BaseClass="textbox" /> + + ADD OBJECT '_grdbase1.Column8.Header1' AS header WITH ; + Alignment = 2, ; + Caption = "Judet", ; + Name = "Header1" + *< END OBJECT: BaseClass="header" /> + + ADD OBJECT '_grdbase1.Column8.Text1' AS textbox WITH ; + BackColor = 255,255,255, ; + BorderStyle = 0, ; + ForeColor = 0,0,0, ; + Margin = 0, ; + Name = "Text1", ; + ReadOnly = .T., ; + Visible = .T. + *< END OBJECT: BaseClass="textbox" /> + + ADD OBJECT '_grdbase1.Column9.Header1' AS header WITH ; + Alignment = 2, ; + Caption = "Reg. com.", ; + Name = "Header1" + *< END OBJECT: BaseClass="header" /> + + ADD OBJECT '_grdbase1.Column9.Text1' AS textbox WITH ; + BackColor = 255,255,255, ; + BorderStyle = 0, ; + ForeColor = 0,0,0, ; + Margin = 0, ; + Name = "Text1", ; + ReadOnly = .T., ; + Visible = .T. + *< END OBJECT: BaseClass="textbox" /> + + ADD OBJECT 'But_renunt1' AS but_renunt WITH ; + Anchor = 8, ; + Left = 713, ; + Name = "But_renunt1", ; + Top = 0 + *< END OBJECT: ClassLib="cmd_butoane.vcx" BaseClass="commandbutton" /> + + ADD OBJECT 'But_verifica1' AS but_verifica WITH ; + Anchor = 8, ; + Comment = "*:OnResize=rt", ; + Left = 683, ; + Name = "But_verifica1", ; + TabIndex = 13, ; + ToolTipText = "Verificare coduri fiscale", ; + Top = 0 + *< END OBJECT: ClassLib="cmd_butoane.vcx" BaseClass="commandbutton" /> + + ADD OBJECT 'chkDuplicat' AS _checkbox WITH ; + Alignment = 0, ; + Caption = "Coduri duplicate!", ; + FontBold = .T., ; + ForeColor = 255,0,0, ; + Height = 27, ; + Left = 381, ; + Name = "chkDuplicat", ; + SpecialEffect = 0, ; + Style = 1, ; + ToolTipText = "Apasati pe buton pentru a selecta codurile fiscale/denumirile duplicate!", ; + Top = 52, ; + Visible = .F., ; + Width = 115 + *< END OBJECT: ClassLib="_baza.vcx" BaseClass="checkbox" /> + + ADD OBJECT 'chkInvalid' AS _checkbox WITH ; + Alignment = 0, ; + Caption = "Coduri invalide!", ; + FontBold = .T., ; + Height = 27, ; + Left = 277, ; + Name = "chkInvalid", ; + SpecialEffect = 0, ; + Style = 1, ; + ToolTipText = "Apasati pe buton pentru a selecta codurile fiscale invalide!", ; + Top = 52, ; + Visible = .F., ; + Width = 106 + *< END OBJECT: ClassLib="_baza.vcx" BaseClass="checkbox" /> + + ADD OBJECT 'chkLiniaCurenta' AS _checkbox WITH ; + Alignment = 0, ; + Anchor = 6, ; + Caption = "Verificare inregistrari de la linia curenta in jos", ; + Left = 245, ; + Name = "chkLiniaCurenta", ; + ToolTipText = "Verificare inregistrari de la linia curenta in jos (altfel toate inregistrarile)", ; + Top = 370, ; + Value = .F. + *< END OBJECT: ClassLib="_baza.vcx" BaseClass="checkbox" /> + + ADD OBJECT 'chkMFIN' AS _checkbox WITH ; + Alignment = 0, ; + Caption = "Interogare Min. Finante", ; + Left = 12, ; + Name = "chkMFIN", ; + ToolTipText = "Informatii persoane juridice de pe website-ul www.mfinante.ro (cod, firma, adresa, reg. com. cod postal, telefon, fax)", ; + Top = 32, ; + Value = .T. + *< END OBJECT: ClassLib="_baza.vcx" BaseClass="checkbox" /> + + ADD OBJECT 'chkMFINURL' AS _checkbox WITH ; + Alignment = 0, ; + Anchor = 6, ; + Caption = "Interogare mfinante.ro via romfast.ro", ; + Left = 12, ; + Name = "chkMFINURL", ; + ToolTipText = "Interogare direct mfinante.ro sau via romfast.ro", ; + Top = 370, ; + Value = .F. + *< END OBJECT: ClassLib="_baza.vcx" BaseClass="checkbox" /> + + ADD OBJECT 'chkPlatitor' AS _checkbox WITH ; + Alignment = 0, ; + BackColor = 150,150,150, ; + Caption = "(Ne)Platitori TVA (cu/fara) RO!", ; + FontBold = .T., ; + Height = 27, ; + Left = 492, ; + Name = "chkPlatitor", ; + SpecialEffect = 0, ; + Style = 1, ; + ToolTipText = "Apasati pe buton pentru a selecta inregistrarile Platitori TVA fara RO sau Neplatitori TVA cu RO", ; + Top = 52, ; + Visible = .F., ; + Width = 187 + *< END OBJECT: ClassLib="_baza.vcx" BaseClass="checkbox" /> + + ADD OBJECT 'chkVIES' AS _checkbox WITH ; + Alignment = 0, ; + Caption = "Interogare VIES", ; + Left = 12, ; + Name = "chkVIES", ; + ToolTipText = "Calitate platitor TVA din registrul operatorilor intracomunitari de pe website-ul ec.europa.eu", ; + Top = 57, ; + Value = .T. + *< END OBJECT: ClassLib="_baza.vcx" BaseClass="checkbox" /> + + ADD OBJECT 'chkVIESURL' AS _checkbox WITH ; + Alignment = 0, ; + Anchor = 6, ; + Caption = "Interogare ec.europa.eu via romfast.ro", ; + Left = 12, ; + Name = "chkVIESURL", ; + ToolTipText = "Interogare direct ec.europa.eu sau via romfast.ro", ; + Top = 392, ; + Value = .F. + *< END OBJECT: ClassLib="_baza.vcx" BaseClass="checkbox" /> + + ADD OBJECT 'cmdVerifica' AS cmd_executa WITH ; + BackColor = 0,0,0, ; + caction = do_verifica, ; + Caption = "\ + + ADD OBJECT 'Gridextra1' AS gridextra WITH ; + gridexpression = Thisform._grdbase1, ; + Height = 17, ; + Left = 744, ; + Name = "Gridextra1", ; + Top = 36, ; + Width = 24 + *< END OBJECT: ClassLib="..\utile\gridextras\gridextras.vcx" BaseClass="custom" /> + + ADD OBJECT 'lblInfo' AS _label WITH ; + Caption = "Apasati ESC pentru a intrerupe verificarile *** Dublu click pe Denumire pentru verificare manuala / istoric verificari", ; + FontSize = 8, ; + ForeColor = 255,255,128, ; + Left = 12, ; + Name = "lblInfo", ; + Top = 16 + *< END OBJECT: ClassLib="_baza.vcx" BaseClass="label" /> + + ADD OBJECT 'lblVerifica' AS _label WITH ; + Anchor = 10, ; + AutoSize = .F., ; + Caption = "Se verifica...", ; + FontBold = .T., ; + Height = 17, ; + Left = 162, ; + Name = "lblVerifica", ; + Top = 32, ; + Visible = .F., ; + Width = 606 + *< END OBJECT: ClassLib="_baza.vcx" BaseClass="label" /> + + ADD OBJECT 'spnPauza' AS _spinner WITH ; + Anchor = 6, ; + Height = 24, ; + Increment = 1.00, ; + KeyboardHighValue = 100, ; + KeyboardLowValue = 0, ; + Left = 245, ; + Name = "spnPauza", ; + SpinnerHighValue = 100.00, ; + SpinnerLowValue = 0.00, ; + ToolTipText = "Pauza (sec) intre interogarile www.mfinante.ro", ; + Top = 388, ; + Value = 5.0, ; + Width = 56 + *< END OBJECT: ClassLib="_baza.vcx" BaseClass="spinner" /> + + PROCEDURE Activate + *** lansez verificarea automat, cand sunt apelat cu lista de parteneri din Reg TVA + *** o lansez pe activate ca sa se vada tabelul cu parteneri cand se face verificarea + Local llMFin, llVIES, llValidare + llMFin = This.chkMFIN.Value + llVIES = This.chkVIES.Value + llValidare = .T. + If This.lAutoverificare + This.lAutoverificare = .F. && sa nu mai fac autoverificarea la un activate ulterior + Select crsVerificareParteneri + Go top + this._grdbase1.Refresh() + This.do_verifica(m.llValidare, m.llMFin, m.llVIES) + Endif + ENDPROC + + PROCEDURE do_lanseaza_istoric + Local lcCodFiscal + lcCodFiscal = ALLTRIM(crsverificareparteneri.cod_fiscal) + IF ISALPHA(lcCodFiscal) + lcCodFiscal = ALLTRIM(SUBSTR(lcCodFiscal, 2)) + IF ISALPHA(lcCodFiscal) + lcCodFiscal = ALLTRIM(SUBSTR(lcCodFiscal, 2)) + ENDIF + ENDIF + Do verificare_parteneri_istoric With m.lcCodFiscal In oproceduri_comune.prg + + ENDPROC + + PROCEDURE do_lanseaza_mfin + Local lcCodFiscal + lcCodFiscal = ALLTRIM(crsverificareparteneri.cod_fiscal) + IF ISALPHA(lcCodFiscal) + lcCodFiscal = ALLTRIM(SUBSTR(lcCodFiscal, 2)) + IF ISALPHA(lcCodFiscal) + lcCodFiscal = ALLTRIM(SUBSTR(lcCodFiscal, 2)) + ENDIF + ENDIF + OPEN_DEFAULT_APP("http://www.mfinante.ro/infocodfiscal.html?pagina=domenii&cod=" + m.lcCodFiscal) + + ENDPROC + + PROCEDURE do_termin + Local lcMFINROMFAST, lcVIESROMFAST + lcMFINROMFAST = TRANSFORM(this.chkMFINURL.Value) + lcVIESROMFAST = TRANSFORM(this.chkVIESURL.Value) + goAPI.WriteProfileString(m.gcSettingsFile, [validare], "mfinromfast", m.lcMFINROMFAST) + goAPI.WriteProfileString(m.gcSettingsFile, [validare], "viesromfast", m.lcVIESROMFAST) + DODEFAULT() + ENDPROC + + PROCEDURE do_verifica + Lparameters tlValidare, tlMFIN, tlVIES + *** tlValidare - se doreste validarea codurilor (se apeleaza din INIT automat) + *** tlMFIN - se doreste verificarea MFIN (se apeleaza din INIT automat) + *** tlVIES - se doreste verificarea VIES (se apeleaza din INIT automat) + + Local lcCodFiscal, lcEroare, lcKey, lcTipInterogare, lcXml, llAtributFiscal, llMFINURL, llVIESURL + Local llMFIN, llVIES + LOCAL llLiniaCurenta, lnRecord, lcConditieSuplimentara + + Local loPartener + llMFINURL = This.chkMFINURL.Value && verificare prin ROMFAST.RO = .T. + llVIESURL = This.chkVIESURL.Value && verificare prin ROMFAST.RO = .T. + + llLiniaCurenta = this.chkLiniaCurenta.Value + lcConditieSuplimentara = ".T." + lnRecord = 1 + IF m.llLiniaCurenta + lnRecord = Iif(!Eof(), RECNO('crsVerificareParteneri'), 0) + lnRecord = MAX(m.lnRecord, 1) + ENDIF + *!* VERIFIC CIF, CNP VALID + Local loVerificare + *!* glRCViesURL = .T. + *!* gcRCVIESURL = "http://localhost/update/verificarecod.aspx/verificarecod/verificare/CIF/|CIF|/VIES" + *!* loVerificare = Createobject("verificarecod", glRCViesURL, glRCMfinURL, gcRCRomfastURL, gcRCMfinanteURL, gcRCMfinanteParams) && validare.prg + loVerificare = Createobject("verificarecod", m.llMFINURL, m.llVIESURL) && validare.prg + + llValidare = IIF(PCOUNT() >= 1, m.tlValidare, .F.) + llMFIN = IIF(PCOUNT() >= 2, m.tlMFIN, This.chkMFIN.Value) + llVIES = IIF(PCOUNT() >= 3, m.tlVIES, This.chkVIES.Value) + + llValidare = llValidare or m.llMFIN or m.llVIES && se valideaza codurile daca se doreste verificarea MFIN/VIES + *** VERIFICARE CODURI FISCALE, PARTENERI DUPLICATI + SELECT cod_fiscal, COUNT(*) as nr FROM crsVerificareParteneri GROUP BY cod_fiscal HAVING nr > 1 INTO CURSOR cCodDuplicat + SELECT denumire, COUNT(*) as nr FROM crsVerificareParteneri GROUP BY denumire HAVING nr > 1 INTO CURSOR cDenumireDuplicat + SELECT cCodDuplicat + SCAN + lcCodFiscal = cod_fiscal + UPDATE crsVerificareParteneri SET duplicat = .T. WHERE cod_fiscal = m.lcCodFiscal + ENDSCAN + SELECT cDenumireDuplicat + SCAN + lcDenumire = denumire + UPDATE crsVerificareParteneri SET duplicat = .T. WHERE denumire = m.lcDenumire + ENDSCAN + USE IN (SELECT('cCodDuplicat')) + USE IN (SELECT('cDenumireDuplicat')) + + *** activez checkboxul CODURI/DENUMIRI DUPLICATE + Select crsVerificareParteneri + Locate for duplicat + This.chkDuplicat.Visible = Found() + + Go TOP IN crsVerificareParteneri + + IF m.llValidare OR m.llMFIN OR m.llVIES + Select crsVerificareParteneri + Replace All IsCIF With loVerificare.IsCIF(COD_FISCAL) + Replace All Valid With Iif(IsCIF, loVerificare.validare('CIF', COD_FISCAL), loVerificare.validare('CNP', COD_FISCAL)) + *** activez checkboxul CODURI INVALIDE + Locate for !valid + This.chkInvalid.Visible = Found() + + GO TOP IN crsVerificareParteneri + EndIf + + If !(m.llVIES Or m.llMFIN) + Return + Endif + + this.lblVerifica.Visible = .T. + this.cmdVerifica.Visible = .F. + + *!* VERIFIC CODURILE FISCALE VALIDE PENTRU ATRIBUTUL FISCAL IN VIES + lcTipInterogare = Iif(m.llVIES, 'VIES', '') + Iif(m.llMFIN, 'MFIN', '') + + lcConditieSuplimentara = IIF(m.llLiniaCurenta, "recno() >= " + ALLTRIM(STR(m.lnRecord)), ".T.") + Select crsVerificareParteneri + Scan For Valid And IsCIF AND &lcConditieSuplimentara + lcEroare = "" + lcCodFiscal = Alltrim(Upper(COD_FISCAL)) + llAtributFiscal = Isalpha(lcCodFiscal) + This.lblVerifica.Caption = "Se verifica... " + Alltrim(DENUMIRE) + ' ' + TRANSFORM(RECNO()) + "/" + TRANSFORM(RECCOUNT()) + " " + Transform(Round(Recno()/Reccount()*100,2)) + ' % * Apasati tasta pentru a intrerupe operatia de verificare' + Wait Window Alltrim(DENUMIRE) + ' ' + TRANSFORM(RECNO()) + "/" + TRANSFORM(RECCOUNT()) + " " + Transform(Round(Recno()/Reccount()*100,2)) + ' %' + ; + Chr(13) + Chr(10) + '* Apasati tasta pentru a intrerupe operatia de verificare' NOWAIT + + lcXml = loVerificare.Verificare('CIF', lcCodFiscal, m.lcTipInterogare) + If Type('loVerificare.oEntitate') = 'O' + loPartener = loVerificare.oEntitate + lcEroare = loPartener.eroare + With loPartener + Replace cod With .cod, eroare With .eroare In crsVerificareParteneri + IF m.llVIES + REPLACE VIES With .VIES, platitorTVA With .platitorTVA In crsVerificareParteneri + ENDIF + IF m.llMFIN + Replace firma With .firma, adresa With .adresa, judet With .judet, regcom With .regcom, ; + codpostal With .codpostal, telefon With .telefon, fax With .fax, ; + datatvamfin WITH .datatvamfin, platitortvamfin WITH .platitortvamfin, stare with .stare ; + In crsVerificareParteneri + ENDIF + Endwith + Endif + + If !Empty(lcEroare) And aMESSAGEBOX(lcEroare + CRLF + 'Doriti sa continuati?', 4+ 32, _Screen.Caption) <> 6 + Exit + Endif + + + IF RECNO('crsVerificareParteneri') < RECCOUNT('crsVerificareParteneri') + lcKey = Inkey(This.spnPauza.Value) + If lcKey = 27 && ESC + If aMESSAGEBOX('Doriti sa intrerupeti operatia?', 4+32, _Screen.Caption) = 6 + Exit + Endif + ENDIF + ENDIF + Endscan + RELEASE loVerificare + + Update crsVerificareParteneri set atentie = 'DUPLICAT' where duplicat + Update crsVerificareParteneri set atentie = Alltrim(Alltrim(atentie) + ' ' + Iif(!IsDigit(datatvamfin), 'NE', '') + 'PLATITOR TVA') where !EMPTY(firma) AND ((UPPER(atribut_fiscal) = 'RO' AND !IsDigit(datatvamfin)) or (EMPTY(atribut_fiscal) AND IsDigit(datatvamfin))) + + *** activez checkboxul platitor TVA fara RO + Select crsVerificareParteneri + Locate for 'PLATITOR TVA'$atentie + This.chkPlatitor.Visible = Found() + + this.lblVerifica.Visible = .F. + this.cmdVerifica.Visible = .T. + + GO TOP IN crsVerificareParteneri + + + ENDPROC + + PROCEDURE Init + LPARAMETERS tlValidare, tlMFIN, tlVIES, tlAutoVerificare + #DEFINE CRLF CHR(13) + CHR(10) + Local lcMFINROMFAST, lcVIESROMFAST, llMFINROMFAST, llVIESROMFAST + + lcMFINROMFAST = goAPI.GetProfileString(m.gcSettingsFile, [validare], "mfinromfast") + lcVIESROMFAST = goAPI.GetProfileString(m.gcSettingsFile, [validare], "viesromfast") + lcMFINROMFAST = NVL(m.lcMFINROMFAST, '') + lcVIESROMFAST = NVL(m.lcVIESROMFAST, '') + IF !INLIST(m.lcMFINROMFAST, '.T.', '.F.') + llMFINROMFAST = .T. + ELSE + llMFINROMFAST = &lcMFINROMFAST + ENDIF + IF !INLIST(m.lcVIESROMFAST, '.T.', '.F.') + llVIESROMFAST = .T. + ELSE + llVIESROMFAST = &lcVIESROMFAST + ENDIF + + this.chkMFINURL.Value = m.llMFINROMFAST + this.chkVIESURL.Value = m.llVIESROMFAST + + this.chkMFIN.Value = m.tlMFIN + this.chkVIES.Value = m.tlVIES + + + *!* this.but_verifica1.ToolTipText = "Verificare coduri fiscale" + + this.spnPauza.ToolTipText = "Pauza (sec) intre interogarile www.mfinante.ro" + CHR(13) + CHR(10) + ; + "Daca interogarile sunt prea dese, mfinante.ro blocheaza cautarile." + CHR(13) + CHR(10) + ; + "Incercati pauze mai mari de 5-6 secunde!" + + this.WindowState = 2 + this.gridextra1.setup() + + DODEFAULT() + + This.lAutoVerificare = m.tlAutoVerificare + + + + *** FONT ROSU PENTRU CODURILE, PARTENERII DUPLICATI + this._grdbase1.SetAll("DynamicForeColor","IIF(duplicat, RGB(255,0,0), RGB(0,0,0))", "Column") + *** FUNDAL GRI PENTRU PARTENERII CU RO SI FARA DATA LUARII IN EVIDENTA TVA SAU FARA RO SI CU DATA LUARII IN EVIDENTA TVA + this._grdbase1.SetAll("DynamicBackColor","IIF('PLATITOR TVA'$ATENTIE, RGB(200,200,200), RGB(255,255,255))", "Column") + + SELECT crsVerificareParteneri + GO TOP + + ENDPROC + + PROCEDURE meniu_dblclick + Local lnOptiune, lcAlias, lcCodFiscal + lcAlias = this._grdbase1.RecordSource + Select (m.lcAlias) + lcCodFiscal = Alltrim(Nvl(cod_fiscal,'')) + If Empty(m.lcCodFiscal) + Return + EndIf + lnOptiune = xmenu('Verifica codul manual pe www.mfinante.ro;Afiseaza istoric verificari') + Do Case + Case m.lnOptiune = 1 + Thisform.do_lanseaza_mfin() + Case m.lnOptiune = 2 + Thisform.do_lanseaza_istoric() + Endcase + + ENDPROC + + PROCEDURE chkDuplicat.Click + Local lcFilter + lcFilter = Iif(Thisform.chkInvalid.Value = 1, "!valid", ".T.") + ' and ' + ; + Iif(Thisform.chkDuplicat.Value = 1, "duplicat", ".T.") + ' And ' + ; + Iif(Thisform.chkPlatitor.Value = 1, "'PLATITOR'$ATENTIE", ".T.") + + Thisform.gridextra1.customcolumnfilters[1,5] = m.lcFilter + Thisform.gridExtra1.applyfilter() + ENDPROC + + PROCEDURE chkInvalid.Click + Local lcFilter + lcFilter = Iif(Thisform.chkInvalid.Value = 1, "!valid", ".T.") + ' and ' + ; + Iif(Thisform.chkDuplicat.Value = 1, "duplicat", ".T.") + ' And ' + ; + Iif(Thisform.chkPlatitor.Value = 1, "'PLATITOR'$ATENTIE", ".T.") + + Thisform.gridextra1.customcolumnfilters[1,5] = m.lcFilter + Thisform.gridExtra1.applyfilter() + ENDPROC + + PROCEDURE chkMFIN.ProgrammaticChange + Thisform.chkMFINURL.Visible = This.Value + thisform.spnPauza.Visible = This.Value + thisform.chkLiniaCurenta.Visible = This.Value or thisform.chkVies.Value + ENDPROC + + PROCEDURE chkMFIN.Valid + Thisform.chkMFINURL.Visible = This.Value + thisform.spnPauza.Visible = This.Value + thisform.chkLiniaCurenta.Visible = This.Value or thisform.chkVies.Value + ENDPROC + + PROCEDURE chkPlatitor.Click + Local lcFilter + lcFilter = Iif(Thisform.chkInvalid.Value = 1, "!valid", ".T.") + ' and ' + ; + Iif(Thisform.chkDuplicat.Value = 1, "duplicat", ".T.") + ' And ' + ; + Iif(Thisform.chkPlatitor.Value = 1, "'PLATITOR'$ATENTIE", ".T.") + + Thisform.gridextra1.customcolumnfilters[1,5] = m.lcFilter + Thisform.gridExtra1.applyfilter() + ENDPROC + + PROCEDURE chkVIES.ProgrammaticChange + Thisform.chkViesURL.Visible = This.Value + thisform.chkLiniaCurenta.Visible = This.Value or thisform.chkMfin.Value + ENDPROC + + PROCEDURE chkVIES.Valid + Thisform.chkViesURL.Visible = This.Value + thisform.chkLiniaCurenta.Visible = This.Value or thisform.chkMfin.Value + ENDPROC + + PROCEDURE _grdbase1.Column16.Text1.DblClick + Thisform.meniu_dblclick() + ENDPROC + + PROCEDURE _grdbase1.Column2.Text1.DblClick + Thisform.meniu_dblclick() + + ENDPROC + + PROCEDURE _grdbase1.Column20.Text1.DblClick + Thisform.meniu_dblclick() + ENDPROC + + PROCEDURE _grdbase1.Column3.Text1.DblClick + Thisform.meniu_dblclick() + ENDPROC + + PROCEDURE _grdbase1.Column5.Text1.DblClick + Thisform.meniu_dblclick() + ENDPROC + + PROCEDURE _grdbase1.Column6.Text1.DblClick + Thisform.meniu_dblclick() + ENDPROC + +ENDDEFINE diff --git a/clase/process.vc2 b/clase/process.vc2 new file mode 100644 index 0000000..2731bc0 --- /dev/null +++ b/clase/process.vc2 @@ -0,0 +1,399 @@ +*-------------------------------------------------------------------------------------------------------------------------------------------------------- +* (EN) AUTOGENERATED - ATTENTION!! - NOT INTENDED FOR EXECUTION!! USE ONLY FOR MERGING CHANGES AND STORING WITH SCM TOOLS!! +*-------------------------------------------------------------------------------------------------------------------------------------------------------- +*< FOXBIN2PRG: Version="1.21" SourceFile="process.vcx" CPID="1252" /> (Solo para binarios VFP 9 / Only for VFP 9 binaries) +* +* +DEFINE CLASS api_apprun AS custom + *< CLASSDATA: Baseclass="custom" Timestamp="" Scale="Pixels" Uniqueid="" /> + + * + *m: checkprocessexitcode + *m: extractdword + *m: getprochandle + *m: killproc + *m: launchapp + *m: launchappandwait + *m: parseprocessinfostruc + *m: releasehandle + *p: iccommandline + *p: icerrormesage + *p: icerrormessage + *p: iclaunchdir + *p: icwindowmode + *p: inprocesshandle + *p: inthreadhandle + * + + PROTECTED inprocesshandle,inthreadhandle + * + iccommandline = space(0) + icerrormesage = (space(0)) + iclaunchdir = (space(0)) + icwindowmode = (space(0)) + inprocesshandle = .NULL. + inthreadhandle = .NULL. + Name = "api_apprun" + * + + PROCEDURE checkprocessexitcode + LPARAMETER nProcessToCheck + IF TYPE('nProcessToCheck') # 'N' + nProcessToCheck = this.inProcessHandle + ENDIF + DECLARE SHORT GetExitCodeProcess IN Win32API AS CheckExitCode ; + INTEGER hProcess, ; + INTEGER @lpdwExitCode + LOCAL nExitCode + nExitCode = 0 + IF ! ISNULL(nProcessToCheck) + IF CheckExitCode(nProcessToCheck, @nExitCode) = 1 + * We retrieved an exit code (259 means still running, tho + RETURN nExitCode + ELSE + * Process did not exist in process table - no exit status + this.icErrorMessage = 'Process to check not in active Process Table' + RETURN NULL + ENDIF + ELSE + this.icErrorMessage = 'NULL process handle passed to CheckProcessExitCode' + RETURN NULL + ENDIF + + ENDPROC + + PROCEDURE Destroy + WITH THIS + IF TYPE('.inThreadHandle') = 'N' AND NOT ISNULL(.inThreadHandle) + .ReleaseHandle(.inThreadHandle) + .inThreadHandle = NULL + ENDIF + IF TYPE('.inProcessHandle') = 'N' AND NOT ISNULL(.inProcessHandle) + .ReleaseHandle(.inProcessHandle) + .inProcessHandle = NULL + ENDIF + ENDWITH + DODEFAULT() + + + + ENDPROC + + PROCEDURE extractdword + LPARAMETER cStringToExtractFrom + IF TYPE('cStringToExtractFrom')='C' AND LEN(cStringToExtractFrom) >= 4 + RETURN (((ASC(SUBST(cStringToExtractFrom,4,1))*256) + ; + ASC(SUBST(cStringToExtractFrom,3,1)))*256 + ; + ASC(SUBST(cStringToExtractFrom,2,1)))*256 + ; + ASC(LEFT(cStringToExtractFrom,1)) + ELSE + this.icErrorMessage = 'Invalid DWORD string passed for conversion' + RETURN NULL + ENDIF + + ENDPROC + + PROCEDURE getprochandle + RETURN this.inProcessHandle + ENDPROC + + PROCEDURE Init + * + * API_AppRun - use the CreateProcess() API to launch, monitor, and kill an Executable + * + * Properties: + * + * inProcessHandle (P) ProcessHandle generated by CreateProcess() + * inThreadHandle (P) ThreadHandle for First Thread of inProcessHandle + * icErrorMessage R/O Error Message Detailed Description + * icCommandLine R/W Command Line to launch via CreateProcess() + * icLaunchDir R/W Directory to use as startup dir for CreateProcess() + * icWindowMode R/W Window Start Mode, one of (HID, NOR, MIN, MAX) or empty + * defaults to empty, the default for the executable is used + * + * Methods: + * + * Init (O) Command Line, (O) Start Dir, (O) Window Start Mode + * If sent, the icCommandLine, icLaunchDir and icWindowMode properties are set + * Destroy + * LaunchApp // Launches .icComandLine from .icLaunchDir in .icWindowMode + * // NB - at least .icCommandLine must be set to not fail + * RETURNS: BOOL, check icErrorMessage on .F. + * LaunchAppAndWait // Call LaunchApp() and wait on either user termination or process termination + * RETURNS: BOOL, check icErrorMessage on .F. + * CheckProcessExitCode (O) Process handle to check, defaults to .inProcessHandle + * // Get Process named by Process Handle's Exit Code (259 = still running) + * RETURNS: Integer, check on NULL, if NULL, check icErrorMessage + * ExtractDWORD (R) String to convert + * //Converts a 4 byte or longer string to a DWORD integer + * RETURNS: Integer, check on NULL, if NULL arg was invalid + * KillProc (O) Process handle to Terminate, defaults to .inProcessHandle + * // Kills specified process using TerminateProcess() + * RETURNS: BOOL, check icErrorMessage on .F. + * GetProcHandle // Returns the Process Handle for the current Process + * // NB - only useful for KillProc(), since Destroy will close the handle + * RETURNS: Integer, check for NULL, if NULL no process was started yet + * ParsePROCESSINFOStruc // Pulls the Process Handle and Thread Handle from the PROCESSINFO structure + * // Only used internally + * ReleaseHandle (R) Handle to Close + * // Invokes CloseHandle() to explicitly release process/thread handles + * // Only used internally, but can be externalized + * RETURNS: BOOL, check .icErrorMessage if false + * + LPARAMETERS tcCommandLine, tcLaunchDir, tcWindowMode + * Set up the environment for the object + LOCAL aDirTest[1,5] + WITH THIS + .icErrorMessage = '' + .icCommandLine = '' + .icLaunchDir = '' + .icWindowMode = '' + .inProcessHandle = NULL + .inThreadHandle = NULL + * store parameters if passed + IF TYPE('tcCommandLine') = 'C' + .icCommandLine = ALLTRIM(tcCommandLine) + ENDIF + DO CASE + CASE TYPE('tcLaunchDir') # 'C' + * Not a character expression - ignore + CASE ADIR(aDirTest, tcLaunchDir, 'D') # 1 + * Either directory doesn't exist, or there's a wildcard in the expression + .icErrorMessage = 'Invalid directory for startup passed to Init method' + OTHERWISE + * Valid directory - save it + .icLaunchDir = ALLTRIM(tcLaunchDir) + ENDCASE + DO CASE + CASE TYPE('tcWindowMode') # 'C' + * Not passed in or not valid type + CASE INLIST(PADR(UPPER(ALLTRIM(tcWindowMode)),3),'NOR','MIN','MAX','HID') + * Valid mode - set it + .icWindowMode = PADR(UPPER(ALLTRIM(tcWindowMode)),3) + OTHERWISE + * No a valid character string + IF ! EMPTY(.icErrorMessage) + .icErrorMessage = .icErrorMessage + ' & ' + ENDIF + .icErrorMessage = .icErrorMessage + CHR(10) + CHR(13) + 'Invalid WindowMode passed to Init Method' + ENDCASE + ENDWITH + RETURN .T. + + ENDPROC + + PROCEDURE killproc + LPARAMETER nProcessToKill + IF TYPE('nProcessToKill') # 'N' + nProcessToKill = This.inProcessHandle + ENDIF + DECLARE SHORT TerminateProcess IN WIN32API AS KillProc ; + INTEGER hProcess, ; + INTEGER uExitCode + LOCAL nResult + IF ! ISNULL(nProcessToKill) + nResult = KillProc(nProcessToKill,0) + this.icErrorMessage = IIF(nResult = 0, 'TerminateProcess() could not kill process handle requested','') + ELSE + this.icErrorMessage = 'NULL handle passed to KillProc()' + nResult = 0 + ENDIF + RETURN (nResult = 1) + ENDPROC + + PROCEDURE launchapp + LOCAL cCommandLine, uFromDir, cWindowMode + WITH This + .icErrorMessage = '' + IF TYPE('.icCommandLine') # 'C' + * Command line must be a character string + .icErrorMessage = 'icCommand line must be set, and a string value' + RETURN .F. + ELSE + cCommandLine = ALLTRIM(.icCommandLine) + ENDIF + IF TYPE('.icLaunchDir') # 'C' OR EMPTY(.icLaunchDir) + * If not a character string, pass a null pointer, defaulting to Current Working Dir + uFromDir = 0 + ELSE + * Otherwise, null pad the string + uFromDir = .icLaunchDir + CHR(0) + ENDIF + IF TYPE('.icWindowMode') # 'C' + * If not passed, set to null string + cWindowMode = '' + ELSE + * Translate the passed window mode to uppercase + cWindowMode = UPPER(.icWindowMode) + ENDIF + * This API call does the work. The parameters are as follows: + * lpszModuleName - ptr-> file name of module to execute. Since we aren't launching .CPLs, do not use + * lpszCommandLine - ptr-> command to execute, as passed in method + * lpSecurityAttributesProcess - ptr-> SECURITY_ATTRIBUTES structure for Process. Pass a null pointer + * lpSecurityAttributesThread - ptr-> SECURITY_ATTRIBUTES structure for first thread. Pass a null pointer + * bInheritHandles - whether or not chlid inherits parent handles. Since no SECURITY_ATTRIBUTES passed, default to FALSE + * dwCreateFlags - Process Creation Mode flag set. we use the default mode at normal priority, ie 0 + * lpvEnvironment - ptr-> a set of environment strings as if a MULTI_SZ. We don't set, so pass a null pointer + * lpszStartupDir - ptr-> the starting directory. If none provided to method, pass a null pointer + * lpStartInfo - ptr-> a STARTUPINFO structure. We use one structure member at times. + * lpProcessInfo - ptr-> a PROCESS_INFORMATION structure, used to return PID/PHANDLE detail. We use one member + DECLARE SHORT CreateProcess IN WIN32API AS CrPr ; + STRING lpszModuleName, ; + STRING @lpszCommandLine, ; + STRING lpSecurityAttributesProcess, ; + STRING lpSecurityAttributesThread, ; + SHORT bInheritHandles, ; + INTEGER dwCreateFlags, ; + STRING lpvEnvironment, ; + STRING lpszStartupDir, ; + STRING @lpStartInfo, ; + STRING @lpProcessInfo + + LOCAL cProcessInfo, cStartUpInfo + + * Make default Structures for the CreateProcess call + * + * ProcessInfo - 4 bytes, a Process handle, a Thread Handle, a (DWORD) ProcessId and a (DWORD) ThreadID + * we save the Process handle and return it to caller in tnReturnProcessHandle + + cProcessInfo = REPL(CHR(0),16) + + * StartUpInfo is a 68 byte long complex structure; we either have 68 bytes with a cb member (byte 1) 68 + * or with cb of 68, dwFlag low order byte (byte 45) of 1, and low order byte wShowWindow (byte 49) set to + * the SW_ value appropriate for the Window Mode desired. + + DO CASE + CASE cWindowMode = 'HID' + * Hide - use STARTF_USESHOWFLAG and value of 0 + cStartUpInfo = CHR(68) + ; + REPL(CHR(0),43) + ; + CHR(1) + ; + REPL(CHR(0),23) + CASE cWindowMode = 'NOR' + * Normal - use STARTF_USESHOWFLAG and value of 1 + cStartUpInfo = CHR(68) + ; + REPL(CHR(0),43) + ; + CHR(1) + ; + REPL(CHR(0),3) + ; + CHR(1) + ; + REPL(CHR(0),19) + CASE cWindowMode = 'MIN' + * Minimize - use STARTF_USESHOWFLAG and value of 2 + cStartUpInfo = CHR(68) + ; + REPL(CHR(0),43) + ; + CHR(1) + ; + REPL(CHR(0),3) + ; + CHR(2) + ; + REPL(CHR(0),19) + CASE cWindowMode = 'MAX' + * Maximize - use STARTF_USESHOWFLAG and value of 3 + cStartUpInfo = CHR(68) + ; + REPL(CHR(0),43) + ; + CHR(1) + ; + REPL(CHR(0),3) + ; + CHR(3) + ; + REPL(CHR(0),19) + OTHERWISE + * Use default of application + cStartUpInfo = CHR(68) + REPL(CHR(0),67) + ENDCASE + LOCAL lResult + lResult = CrPr( 0, ; + cCommandLine, ; + 0, 0, 0, 0, 0, ; + uFromDir, ; + @cStartUpInfo, ; + @cProcessInfo) + * Strip the handles from the PROCESS_INFORMATION structure and save in private properties + IF lResult = 1 + .ParseProcessInfoStruc(cProcessInfo) + RETURN .T. + ELSE + .icErrorMessage = 'Process Specified by icCommandLine could not be started' + RETURN .F. + ENDIF + ENDWITH + ENDPROC + + PROCEDURE launchappandwait + #Define cnINFINITE 0xFFFFFFFF + #Define cnHalfASecond 500 && milliseconds + #Define cnTimedOut 258 && 0x0102 + + Local loEx As Exception + + * We need some API calls, declare here + * GetCurrentProcess returns the pseudohandle of the current process (ie VFP instance) + Declare Integer GetCurrentProcess In WIN32API As GetCurrProc + * WaitForIdleInput waits until the application is instantiated and at it's event loop + Declare Integer WaitForInputIdle In WIN32API As WaitInpIdle ; + INTEGER nProcessHandle, ; + INTEGER nWaitForDuration + * WaitForSingleObject waits until the handle in parm 1 is signalled or the timeout period expires + Declare Integer WaitForSingleObject In WIN32API As WaitOnAppExit ; + INTEGER hProcessHandle, ; + INTEGER dwTimeOut + * Save the Process handle if any and the result of LaunchApp + * Fire the app and save the process handle + Local uResult + uResult = 0 + With This + .icErrorMessage = '' + If .LaunchApp() + uResult = 1 + * It's been launched; wait until we're idling along + =WaitInpIdle(GetCurrProc(),cnINFINITE) + * As long as the other process exists, wait for it + Do While WaitOnAppExit(.inProcessHandle, cnHalfASecond) = cnTimedOut + * Give us an out in case the other app hangs - let + Try + * 01.10.2008 + * nu stiu de ce da eroare la inkey() + lnInkey = Inkey() + *!* StrToFile('inkey: ' + Transform(lnInkey) + ' type: ' + Type('lnInkey'),"c:\inkey.txt") + If lnInkey = 27 + * Still running but we aren't waiting - return a -1 as a warning + .icErrorMessage = 'Process started but user did not wait on termination' + uResult = 0 + Exit + Endif + Catch To loEx + * do nothing + Endtry + * 01.10.2008 ^ + Enddo + Else + * Return 0 to indicate failure + uResult = 0 + Endif + Endwith + Return (uResult = 1) + + ENDPROC + + PROCEDURE parseprocessinfostruc + LPARAMETER cProcessInfoStructure + WITH This + .inProcessHandle = .ExtractDWORD(cProcessInfoStructure) + .inThreadHandle = .ExtractDWORD(SUBST(cProcessInfoStructure,5)) + ENDWITH + + + ENDPROC + + PROTECTED PROCEDURE releasehandle + LPARAMETER nHandleToRelease + LOCAL nResult + * Use CloseHandle(), returns a BOOL; 0 = False + DECLARE SHORT CloseHandle IN Win32API AS CloseHand INTEGER nHandleToClose + IF TYPE('nHandleToRelease') = 'N' AND ! ISNULL(nHandleToRelease) + nResult = CloseHand(nHandleToRelease) + this.icErrorMessage = IIF(nResult = 0, 'TerminateProcess() failed to close handle','') + ELSE + this.icErrorMessage = 'Invalid handle passed to ReleaseHandle() invocation' + nResult = 0 + ENDIF + RETURN (nResult = 1) + ENDPROC + +ENDDEFINE diff --git a/clase/registry.h b/clase/registry.h new file mode 100644 index 0000000..28df8d9 --- /dev/null +++ b/clase/registry.h @@ -0,0 +1,79 @@ +*- Registry.h +*- Copyright (c) 1997 Microsoft Corporation + +* Operating System codes +#DEFINE OS_W32S 1 +#DEFINE OS_NT 2 +#DEFINE OS_WIN95 3 +#DEFINE OS_MAC 4 +#DEFINE OS_DOS 5 +#DEFINE OS_UNIX 6 + +* DLL Paths for various operating systems +#DEFINE DLLPATH_NT "\SYSTEM32\" +#DEFINE DLLPATH_WIN95 "\SYSTEM\" + +* DLL files used to read INI files +#DEFINE DLL_KERNEL_NT "KERNEL32.DLL" +#DEFINE DLL_KERNEL_WIN95 "KERNEL32.DLL" + +* DLL files used to read registry +#DEFINE DLL_ADVAPI_NT "ADVAPI32.DLL" +#DEFINE DLL_ADVAPI_WIN95 "ADVAPI32.DLL" + +* DLL files used to read ODBC info +#DEFINE DLL_ODBC_NT "ODBC32.DLL" +#DEFINE DLL_ODBC_WIN95 "ODBC32.DLL" + +* Registry roots +#DEFINE HKEY_CLASSES_ROOT -2147483648 && BITSET(0,31) +#DEFINE HKEY_CURRENT_USER -2147483647 && BITSET(0,31)+1 +#DEFINE HKEY_LOCAL_MACHINE -2147483646 && BITSET(0,31)+2 +#DEFINE HKEY_USERS -2147483645 && BITSET(0,31)+3 + +* Misc +#DEFINE APP_PATH_KEY "\Shell\Open\Command" +#DEFINE OLE_PATH_KEY "\Protocol\StdFileEditing\Server" +#DEFINE VFP_OPTIONS_KEY1 "Software\Microsoft\VisualFoxPro\" +#DEFINE VFP_OPTIONS_KEY2 "\Options" +#DEFINE CURVER_KEY "\CurVer" +#DEFINE ODBC_DATA_KEY "Software\ODBC\ODBC.INI\" +#DEFINE ODBC_DRVRS_KEY "Software\ODBC\ODBCINST.INI\" +#DEFINE SQL_FETCH_NEXT 1 +#DEFINE SQL_NO_DATA 100 + +* Error Codes +#DEFINE ERROR_SUCCESS 0 && OK +#DEFINE ERROR_EOF 259 && no more entries in key + +* Note these next error codes are specific to this Class, not DLL +#DEFINE ERROR_NOAPIFILE -101 && DLL file to check registry not found +#DEFINE ERROR_KEYNOREG -102 && key not registered +#DEFINE ERROR_BADPARM -103 && bad parameter passed +#DEFINE ERROR_NOENTRY -104 && entry not found +#DEFINE ERROR_BADKEY -105 && bad key passed +#DEFINE ERROR_NONSTR_DATA -106 && data type for value is not a data string +#DEFINE ERROR_BADPLAT -107 && platform not supported +#DEFINE ERROR_NOINIFILE -108 && DLL file to check INI not found +#DEFINE ERROR_NOINIENTRY -109 && No entry in INI file +#DEFINE ERROR_FAILINI -110 && failed to get INI entry +#DEFINE ERROR_NOPLAT -111 && call not supported on this platform +#DEFINE ERROR_NOODBCFILE -112 && DLL file to check ODBC not found +#DEFINE ERROR_ODBCFAIL -113 && failed to get ODBC environment + +* Data types for keys +#DEFINE REG_SZ 1 && Data string +#DEFINE REG_EXPAND_SZ 2 && Unicode string +#DEFINE REG_BINARY 3 && Binary data in any form. +#DEFINE REG_DWORD 4 && A 32-bit number. + +* Data types labels +#DEFINE REG_BINARY_LOC "*Binary*" && Binary data in any form. +#DEFINE REG_DWORD_LOC "*Dword*" && A 32-bit number. +#DEFINE REG_UNKNOWN_LOC "*Unknown type*" && unknown type + +* FoxPro ODBC drivers +#DEFINE FOXODBC_25 "FoxPro Files (*.dbf)" +#DEFINE FOXODBC_26 "Microsoft FoxPro Driver (*.dbf)" +#DEFINE FOXODBC_30 "Microsoft Visual FoxPro Driver" + diff --git a/clase/registry.vc2 b/clase/registry.vc2 new file mode 100644 index 0000000..758ed3c --- /dev/null +++ b/clase/registry.vc2 @@ -0,0 +1,924 @@ +*-------------------------------------------------------------------------------------------------------------------------------------------------------- +* (EN) AUTOGENERATED - ATTENTION!! - NOT INTENDED FOR EXECUTION!! USE ONLY FOR MERGING CHANGES AND STORING WITH SCM TOOLS!! +*-------------------------------------------------------------------------------------------------------------------------------------------------------- +*< FOXBIN2PRG: Version="1.21" SourceFile="registry.vcx" CPID="1252" /> (Solo para binarios VFP 9 / Only for VFP 9 binaries) +* +* +DEFINE CLASS filereg AS registry OF "registry.vcx" + *< CLASSDATA: Baseclass="custom" Timestamp="" Scale="Pixels" Uniqueid="" /> + + #INCLUDE "registry.h" + * + *m: getapplication && Retrieves application key. + *m: getapppath && Checks and returns path of application associated with a particular extension (e.g., XLS, DOC). + *m: getlatestversion && Returns latest version for a specified application. + * + + * + Name = "filereg" + * + + PROCEDURE getapplication && Retrieves application key. + LPARAMETERS cExtnKey,cAppKey,lServer + + LOCAL nErrNum,cOptName + cOptName = "" + + * lServer - checking for OLE server. + IF TYPE("m.lServer") = "L" AND m.lServer + THIS.cAppPathKey = OLE_PATH_KEY + ELSE + THIS.cAppPathKey = APP_PATH_KEY + ENDIF + + * Open extension app key + m.nErrNum = THIS.OpenKey(m.cExtnKey+THIS.cAppPathKey) + IF m.nErrNum # ERROR_SUCCESS + RETURN m.nErrNum + ENDIF + + * Get application path + nErrNum = THIS.GetKeyValue(cOptName,@cAppKey) + + * Close application path key + THIS.CloseKey() + + RETURN m.nErrNum + + ENDPROC + + PROCEDURE getapppath && Checks and returns path of application associated with a particular extension (e.g., XLS, DOC). + * Checks and returns path of application + * associated with a particular extension (e.g., XLS, DOC). + LPARAMETER cExtension,cExtnKey,cAppKey,lServer + LOCAL nErrNum,cOptName + cOptName = "" + + * Check Extension parameter + IF TYPE("m.cExtension") # "C" OR LEN(m.cExtension) > 3 + RETURN ERROR_BADPARM + ENDIF + m.cExtension = "."+m.cExtension + + * Open extension key + nErrNum = THIS.OpenKey(m.cExtension) + IF m.nErrNum # ERROR_SUCCESS + RETURN m.nErrNum + ENDIF + + * Get key value for file extension + nErrNum = THIS.GetKeyValue(cOptName,@cExtnKey) + + * Close extension key + THIS.CloseKey() + + IF m.nErrNum # ERROR_SUCCESS + RETURN m.nErrNum + ENDIF + RETURN THIS.GetApplication(cExtnKey,@cAppKey,lServer) + + ENDPROC + + PROCEDURE getlatestversion && Returns latest version for a specified application. + LPARAMETER cClass,cExtnKey,cAppKey,lServer + + LOCAL nErrNum,cOptName + cOptName = "" + + * Open class key (e.g., Excel.Sheet) + nErrNum = THIS.OpenKey(m.cClass+CURVER_KEY) + IF m.nErrNum # ERROR_SUCCESS + RETURN m.nErrNum + ENDIF + + * Get key value for file extension + nErrNum = THIS.GetKeyValue(cOptName,@cExtnKey) + + * Close extension key + THIS.CloseKey() + + IF m.nErrNum # ERROR_SUCCESS + RETURN m.nErrNum + ENDIF + RETURN THIS.GetApplication(cExtnKey,@cAppKey,lServer) + + ENDPROC + +ENDDEFINE + +DEFINE CLASS foxreg AS registry OF "registry.vcx" + *< CLASSDATA: Baseclass="custom" Timestamp="" Scale="Pixels" Uniqueid="" /> + + #INCLUDE "registry.h" + * + *m: enumfoxoptions + *m: getfoxoption && Retrieves an option from FoxPro registry settings. + *m: setfoxoption && Sets an option from FoxPro registry settings. + * + + * + Name = "foxreg" + * + + PROCEDURE enumfoxoptions + LPARAMETER aFoxOpts + RETURN THIS.EnumOptions(@aFoxOpts,THIS.cVFPOptPath,THIS.nUserKey,.F.) + + ENDPROC + + PROCEDURE getfoxoption && Retrieves an option from FoxPro registry settings. + LPARAMETER cOptName,cOptVal + RETURN THIS.GetRegKey(cOptName,@cOptVal,THIS.cVFPOptPath,THIS.nUserKey) + + ENDPROC + + PROCEDURE setfoxoption && Sets an option from FoxPro registry settings. + LPARAMETER cOptName,cOptVal + RETURN THIS.SetRegKey(cOptName,cOptVal,THIS.cVFPOptPath,THIS.nUserKey) + + ENDPROC + +ENDDEFINE + +DEFINE CLASS odbcreg AS registry OF "registry.vcx" + *< CLASSDATA: Baseclass="custom" Timestamp="" Scale="Pixels" Uniqueid="" /> + + #INCLUDE "registry.h" + * + *m: enumodbcdata && Enumerates through ODBC data sources. + *m: enumodbcdrvrs && Enumerates through ODBC drivers. + *m: getodbcdrvrs && Retrieves ODBC drivers. + *m: loadodbcfuncs && Loads ODBC registry functions. + * + + * + Name = "odbcreg" + * + + PROCEDURE enumodbcdata && Enumerates through ODBC data sources. + LPARAMETER aDrvrOpts,cDataSource + LOCAL cSourceKey + cSourceKey = ODBC_DATA_KEY+cDataSource + RETURN THIS.EnumOptions(@aDrvrOpts,m.cSourceKey,HKEY_CURRENT_USER,.F.) + + ENDPROC + + PROCEDURE enumodbcdrvrs && Enumerates through ODBC drivers. + LPARAMETER aDrvrOpts,cODBCDriver + LOCAL cSourceKey + cSourceKey = ODBC_DRVRS_KEY+m.cODBCDriver + RETURN THIS.EnumOptions(@aDrvrOpts,m.cSourceKey,HKEY_LOCAL_MACHINE,.F.) + + ENDPROC + + PROCEDURE getodbcdrvrs && Retrieves ODBC drivers. + LPARAMETERS aDrvrs,lDataSources + LOCAL nODBCEnv,nRetVal,dsn,dsndesc,mdsn,mdesc + + lDataSources = IIF(TYPE("m.lDataSources")="L",m.lDataSources,.F.) + + * Load API functions + nRetVal = THIS.LoadODBCFuncs() + IF m.nRetVal # ERROR_SUCCESS + RETURN m.nRetVal + ENDIF + + * Get ODBC environment handle + nODBCEnv=VAL(SYS(3053)) + + * -- Possible error messages + * 527 "cannot load odbc library" + * 528 "odbc entry point missing" + * 182 "not enough memory" + + IF INLIST(nODBCEnv,527,528,182) + * Failed + RETURN ERROR_ODBCFAIL + ENDIF + + DIMENSION aDrvrs[1,IIF(m.lDataSources,2,1)] + aDrvrs[1] = "" + + DO WHILE .T. + dsn=space(100) + dsndesc=space(100) + mdsn=0 + mdesc=0 + + * Return drivers or data sources + IF m.lDataSources + nRetVal = SQLDataSources(m.nODBCEnv,SQL_FETCH_NEXT,@dsn,100,@mdsn,@dsndesc,255,@mdesc) + ELSE + nRetVal = SQLDrivers(m.nODBCEnv,SQL_FETCH_NEXT,@dsn,100,@mdsn,@dsndesc,100,@mdesc) + ENDIF + + DO CASE + CASE m.nRetVal = SQL_NO_DATA + nRetVal = ERROR_SUCCESS + EXIT + CASE m.nRetVal # ERROR_SUCCESS AND m.nRetVal # 1 + EXIT + OTHERWISE + IF !EMPTY(aDrvrs[1]) + IF m.lDataSources + DIMENSION aDrvrs[ALEN(aDrvrs,1)+1,2] + ELSE + DIMENSION aDrvrs[ALEN(aDrvrs,1)+1,1] + ENDIF + ENDIF + dsn = ALLTRIM(m.dsn) + aDrvrs[ALEN(aDrvrs,1),1] = UPPER(LEFT(m.dsn,LEN(m.dsn)-1)) + IF m.lDataSources + dsndesc = ALLTRIM(m.dsndesc) + aDrvrs[ALEN(aDrvrs,1),2] = LEFT(m.dsndesc,LEN(m.dsndesc)-1) + ENDIF + ENDCASE + ENDDO + RETURN nRetVal + + ENDPROC + + PROCEDURE loadodbcfuncs && Loads ODBC registry functions. + IF THIS.lLoadedODBCs + RETURN ERROR_SUCCESS + ENDIF + + * Check API file containing functions + + IF EMPTY(THIS.cODBCDLLFile) + RETURN ERROR_NOODBCFILE + ENDIF + + LOCAL henv,fDirection,szDriverDesc,cbDriverDescMax + LOCAL pcbDriverDesc,szDriverAttributes,cbDrvrAttrMax,pcbDrvrAttr + LOCAL szDSN,cbDSNMax,pcbDSN,szDescription,cbDescriptionMax,pcbDescription + + DECLARE Short SQLDrivers IN (THIS.cODBCDLLFile) ; + Integer henv, Integer fDirection, ; + String @ szDriverDesc, Integer cbDriverDescMax, Integer pcbDriverDesc, ; + String @ szDriverAttributes, Integer cbDrvrAttrMax, Integer pcbDrvrAttr + + IF THIS.lhaderror && error loading library + RETURN -1 + ENDIF + + DECLARE Short SQLDataSources IN (THIS.cODBCDLLFile) ; + Integer henv, Integer fDirection, ; + String @ szDSN, Integer cbDSNMax, Integer @ pcbDSN, ; + String @ szDescription, Integer cbDescriptionMax,Integer pcbDescription + + THIS.lLoadedODBCs = .T. + + RETURN ERROR_SUCCESS + + ENDPROC + +ENDDEFINE + +DEFINE CLASS oldinireg AS registry OF "registry.vcx" + *< CLASSDATA: Baseclass="custom" Timestamp="" Scale="Pixels" Uniqueid="" /> + + #INCLUDE "registry.h" + * + *m: getinientry && Retrieves information from INI entry. + *m: getinisection && Retrieves information from INI section. + *m: loadinifuncs && Loads functions needed for reading INI files. + *m: writeinientry && Writes a specific INI entry. + * + + * + Name = "oldinireg" + * + + PROCEDURE getinientry && Retrieves information from INI entry. + LPARAMETER cValue,cSection,cEntry,cINIFile + + * Get entry from INI file + LOCAL cBuffer,nBufSize,nErrNum,nTotParms + nTotParms = PCOUNT() + + * Load API functions + nErrNum= THIS.LoadINIFuncs() + IF m.nErrNum # ERROR_SUCCESS + RETURN m.nErrNum + ENDIF + + * Parameter checks here + IF m.nTotParms < 3 + m.cEntry = 0 + ENDIF + + m.cBuffer=space(2000) + + IF EMPTY(m.cINIFile) + * WIN.INI file + m.nBufSize = GetWinINI(m.cSection,m.cEntry,"",@cBuffer,LEN(m.cBuffer)) + ELSE + * Private INI file + m.nBufSize = GetPrivateINI(m.cSection,m.cEntry,"",@cBuffer,LEN(m.cBuffer),m.cINIFile) + ENDIF + + IF m.nBufSize = 0 &&could not find entry in INI file + RETURN ERROR_NOINIENTRY + ENDIF + + m.cValue=LEFT(m.cBuffer,m.nBufSize) + + ** All is well + RETURN ERROR_SUCCESS + + ENDPROC + + PROCEDURE getinisection && Retrieves information from INI section. + LPARAMETERS aSections,cSection,cINIFile + LOCAL cINIValue, nTotEntries, i, nLastPos + cINIValue = "" + IF TYPE("m.cINIFile") # "C" + cINIFile = "" + ENDIF + + IF THIS.GetINIEntry(@cINIValue,cSection,0,m.cINIFile) # ERROR_SUCCESS + RETURN ERROR_FAILINI + ENDIF + + nTotEntries=OCCURS(CHR(0),m.cINIValue) + DIMENSION aSections[m.nTotEntries] + nLastPos = 1 + FOR i = 1 TO m.nTotEntries + nTmpPos = AT(CHR(0),m.cINIValue,m.i) + aSections[m.i] = SUBSTR(m.cINIValue,m.nLastPos,m.nTmpPos-m.nLastPos) + nLastPos = m.nTmpPos+1 + ENDFOR + + RETURN ERROR_SUCCESS + + ENDPROC + + PROCEDURE loadinifuncs && Loads functions needed for reading INI files. + * Loads funtions needed for reading INI files + IF THIS.lLoadedINIs + RETURN ERROR_SUCCESS + ENDIF + + DECLARE integer GetPrivateProfileString IN Win32API ; + AS GetPrivateINI string,string,string,string,integer,string + + IF THIS.lhaderror && error loading library + RETURN -1 + ENDIF + + DECLARE integer GetProfileString IN Win32API ; + AS GetWinINI string,string,string,string,integer + + DECLARE integer WriteProfileString IN Win32API ; + AS WriteWinINI string,string,string + + DECLARE integer WritePrivateProfileString IN Win32API ; + AS WritePrivateINI string,string,string,string + + THIS.lLoadedINIs = .T. + + * Need error check here + RETURN ERROR_SUCCESS + + ENDPROC + + PROCEDURE writeinientry && Writes a specific INI entry. + LPARAMETER cValue,cSection,cEntry,cINIFile + + * Get entry from INI file + LOCAL nErrNum + + * Load API functions + nErrNum = THIS.LoadINIFuncs() + IF m.nErrNum # ERROR_SUCCESS + RETURN m.nErrNum + ENDIF + + IF EMPTY(m.cINIFile) + * WIN.INI file + nErrNum = WriteWinINI(m.cSection,m.cEntry,m.cValue) + ELSE + * Private INI file + nErrNum = WritePrivateINI(m.cSection,m.cEntry,m.cValue,m.cINIFile) + ENDIF + + ** All is well + RETURN IIF(m.nErrNum=1,ERROR_SUCCESS,m.nErrNum) + + ENDPROC + +ENDDEFINE + +DEFINE CLASS registry AS custom + *< CLASSDATA: Baseclass="custom" Timestamp="" Scale="Pixels" Uniqueid="" /> + + #INCLUDE "registry.h" + * + *m: closekey && Closes a registry key. + *m: deletekey && Deletes a registry key. + *m: deletekeyvalue && Deletes value from registry key. + *m: enumkeys && Enumerates through a registry key. + *m: enumkeyvalues && Enumerates through values of a registry key + *m: enumoptions && Enumerates through all entries for a key and populates array. + *m: getkeyvalue && Obtains a value from a registry key. + *m: getregkey && Gets a registry key setting. + *m: iskey && Checks to see if a key exists. + *m: loadregfuncs && Loads funtions needed for Registry. + *m: openkey && Opens a registry key. + *m: setkeyvalue && Sets a key value. + *m: setregkey && Sets a registry key setting. + *p: capppathkey && Application path registry key. + *p: cinidllfile && DLL file for INI functions. + *p: codbcdllfile && DLL file for ODBC functions. + *p: cregdllfile && DLL file for registry functions. + *p: cvfpoptpath && Registry path to VFP options settings. + *p: lcreatekey && Whether to create key if one does not already exist. + *p: ldisallowexpanded + *p: lhaderror && Whether an error occurred. + *p: lhasdllloaded + *p: lloadeddlls && Whether registry key functions loaded. + *p: lloadedinis && Whether INI functions loaded. + *p: lloadedodbcs && Whether ODBC functions loaded. + *p: ncurrentkey && Current registry key. + *p: ncurrentos && Current operating system code. + *p: nuserkey && User registry key. + * + + * + capppathkey = + cinidllfile = + codbcdllfile = + cregdllfile = + cvfpoptpath = + Name = "registry" + ncurrentkey = 0 + ncurrentos = 0 + nuserkey = 0 + * + + PROCEDURE closekey && Closes a registry key. + * Closes a registry key + =RegCloseKey(THIS.nCurrentKey) + THIS.nCurrentKey =0 + + ENDPROC + + PROCEDURE deletekey && Deletes a registry key. + * This routine deletes a Registry Key + LPARAMETER nUserKey,cKeyPath + LOCAL nErrNum + nErrNum = ERROR_SUCCESS + + * Delete key + m.nErrNum = RegDeleteKey(m.nUserKey,m.cKeyPath) + RETURN m.nErrNum + + ENDPROC + + PROCEDURE deletekeyvalue && Deletes value from registry key. + LPARAMETER cOptName,cKeyPath,nUserKey + LOCAL cOption,nErrNum + cOption = cOptName + nErrNum = ERROR_SUCCESS + + * Open key + m.nErrNum = THIS.OpenKey(m.cKeyPath,m.nUserKey) + IF m.nErrNum # ERROR_SUCCESS + RETURN m.nErrNum + ENDIF + + * Delete the key value + m.nErrNum = RegDeleteValue(THIS.nCurrentKey,m.cOption) + + * Close key + THIS.CloseKey() && close key + RETURN m.nErrNum + + ENDPROC + + PROCEDURE Destroy + IF !THIS.lHasDllLoaded + CLEAR DLLS RegOpenKey + CLEAR DLLS RegCreateKey + CLEAR DLLS RegDeleteKey + CLEAR DLLS RegDeleteValue + CLEAR DLLS RegCloseKey + CLEAR DLLS RegSetValueEx + CLEAR DLLS RegQueryValueEx + CLEAR DLLS RegEnumKey + CLEAR DLLS RegEnumKeyEx + CLEAR DLLS RegEnumValue + ENDIF + ENDPROC + + PROCEDURE enumkeys && Enumerates through a registry key. + LPARAMETERS aKeyNames + LOCAL nKeyEntry,cNewKey,cbuf,nbuflen,cRetTime, nKeySize, nErrCode + nKeyEntry = 0 + DIMENSION aKeyNames[1] + DO WHILE .T. + nKeySize = 0 + cNewKey = SPACE(100) + nKeySize = LEN(m.cNewKey) + cbuf=space(100) + nbuflen=len(m.cbuf) + cRetTime=space(100) + + m.nErrCode = RegEnumKeyEx(THIS.nCurrentKey,m.nKeyEntry,@cNewKey,@nKeySize,0,@cbuf,@nbuflen,@cRetTime) + + DO CASE + CASE m.nErrCode = ERROR_EOF + EXIT + CASE m.nErrCode # ERROR_SUCCESS + EXIT + ENDCASE + + cNewKey = ALLTRIM(m.cNewKey) + cNewKey = LEFT(m.cNewKey,LEN(m.cNewKey)-1) + IF !EMPTY(aKeyNames[1]) + DIMENSION aKeyNames[ALEN(aKeyNames)+1] + ENDIF + aKeyNames[ALEN(aKeyNames)] = m.cNewKey + nKeyEntry = m.nKeyEntry + 1 + ENDDO + + IF m.nErrCode = ERROR_EOF AND m.nKeyEntry # 0 + m.nErrCode = ERROR_SUCCESS + ENDIF + RETURN m.nErrCode + + ENDPROC + + PROCEDURE enumkeyvalues && Enumerates through values of a registry key + * Enumerates through values of a registry key + LPARAMETER aKeyValues + + LOCAL lpszValue,lpcchValue,lpdwReserved + LOCAL lpdwType,lpbData,lpcbData + LOCAL nErrCode,nKeyEntry + + STORE 0 TO nKeyEntry + + IF TYPE("THIS.nCurrentKey")#'N' OR THIS.nCurrentKey = 0 + RETURN ERROR_BADKEY + ENDIF + + * Sorry, Win32s does not support this one! + IF THIS.nCurrentOS = OS_W32S + RETURN ERROR_BADPLAT + ENDIF + + DO WHILE .T. + + STORE 0 TO lpdwReserved,lpdwType,nErrCode + STORE SPACE(256) TO lpbData, lpszValue + STORE LEN(lpbData) TO m.lpcchValue + STORE LEN(lpszValue) TO m.lpcbData + + nErrCode=RegEnumValue(THIS.nCurrentKey,m.nKeyEntry,@lpszValue,; + @lpcchValue,m.lpdwReserved,@lpdwType,@lpbData,@lpcbData) + + DO CASE + CASE m.nErrCode = ERROR_EOF + EXIT + CASE m.nErrCode # ERROR_SUCCESS + EXIT + ENDCASE + + nKeyEntry = m.nKeyEntry + 1 + + * Set array values + DIMENSION aKeyValues[m.nKeyEntry,2] + aKeyValues[m.nKeyEntry,1] = LEFT(m.lpszValue,m.lpcchValue) + DO CASE + CASE lpdwType = REG_SZ + aKeyValues[m.nKeyEntry,2] = LEFT(m.lpbData,m.lpcbData-1) + CASE lpdwType = REG_EXPAND_SZ AND !THIS.lDisAllowExpanded + aKeyValues[m.nKeyEntry,2] = LEFT(m.lpbData,m.lpcbData-1) + CASE lpdwType = REG_BINARY + * Don't support binary + aKeyValues[m.nKeyEntry,2] = REG_BINARY_LOC + CASE lpdwType = REG_DWORD + * You will need to use ASC() to check values here. + aKeyValues[m.nKeyEntry,2] = LEFT(m.lpbData,m.lpcbData-1) + OTHERWISE + aKeyValues[m.nKeyEntry,2] = REG_UNKNOWN_LOC + ENDCASE + ENDDO + + IF m.nErrCode = ERROR_EOF AND m.nKeyEntry#0 + m.nErrCode = ERROR_SUCCESS + ENDIF + RETURN m.nErrCode + + ENDPROC + + PROCEDURE enumoptions && Enumerates through all entries for a key and populates array. + * Enumerates through all entries for a key and populates array + LPARAMETER aRegOpts,cOptPath,nUserKey,lEnumKeys + LOCAL iPos,cOption,nErrNum + iPos = 0 + cOption = "" + nErrNum = ERROR_SUCCESS + + IF PCOUNT()<4 OR TYPE("m.lEnumKeys") # "L" + lEnumKeys = .F. + ENDIF + + * Open key + m.nErrNum = THIS.OpenKey(m.cOptPath,m.nUserKey) + IF m.nErrNum # ERROR_SUCCESS + RETURN m.nErrNum + ENDIF + + * Enumerate through keys + IF m.lEnumKeys + * Enumerate and get key names + nErrNum = THIS.EnumKeys(@aRegOpts) + ELSE + * Enumerate and get all key values + nErrNum = THIS.EnumKeyValues(@aRegOpts) + ENDIF + + * Close key + THIS.CloseKey() &&close key + RETURN m.nErrNum + + ENDPROC + + PROCEDURE Error + LPARAMETERS nError, cMethod, nLine + THIS.lhaderror = .T. + =MESSAGEBOX(MESSAGE()) + + ENDPROC + + PROCEDURE getkeyvalue && Obtains a value from a registry key. + * Obtains a value from a registry key + * Note: this routine only handles Data strings (REG_SZ) + LPARAMETER cValueName,cKeyValue + + LOCAL lpdwReserved,lpdwType,lpbData,lpcbData,nErrCode + STORE 0 TO lpdwReserved,lpdwType + STORE SPACE(256) TO lpbData + STORE LEN(m.lpbData) TO m.lpcbData + + DO CASE + CASE TYPE("THIS.nCurrentKey")#'N' OR THIS.nCurrentKey = 0 + RETURN ERROR_BADKEY + CASE TYPE("m.cValueName") #"C" + RETURN ERROR_BADPARM + ENDCASE + + m.nErrCode=RegQueryValueEx(THIS.nCurrentKey,m.cValueName,; + m.lpdwReserved,@lpdwType,@lpbData,@lpcbData) + + * Check for error + IF m.nErrCode # ERROR_SUCCESS + RETURN m.nErrCode + ENDIF + + * Make sure we have a data string data type + IF m.lpdwType # REG_SZ AND m.lpdwType # REG_EXPAND_SZ + RETURN ERROR_NONSTR_DATA + ENDIF + + m.cKeyValue = LEFT(m.lpbData,m.lpcbData-1) + *!* RETURN ERROR_SUCCESS &&intoarce 0 + RETURN m.cKeyValue + ENDPROC + + PROCEDURE getregkey && Gets a registry key setting. + * This routine gets a registry key setting + * ex. THIS.GetRegKey("ResWidth",@cValue,; + * "Software\Microsoft\VisualFoxPro\4.0\Options",; + * HKEY_CURRENT_USER) + LPARAMETER cOptName,cOptVal,cKeyPath,nUserKey + LOCAL iPos,cOption,nErrNum + iPos = 0 + cOption = "" + nErrNum = ERROR_SUCCESS + + * Open registry key + m.nErrNum = THIS.OpenKey(m.cKeyPath,m.nUserKey) + IF m.nErrNum # ERROR_SUCCESS + RETURN m.nErrNum + ENDIF + + * Get the key value + nErrNum = THIS.GetKeyValue(cOptName,@cOptVal) + + * Close registry key + THIS.CloseKey() &&close key + RETURN m.nErrNum + + ENDPROC + + PROCEDURE Init + LOCAL laTmpDLLs,lnDlls + DIMENSION laTmpDLLs[1] + THIS.nUserKey = HKEY_CURRENT_USER + THIS.cVFPOptPath = VFP_OPTIONS_KEY1 + _VFP.VERSION + VFP_OPTIONS_KEY2 + DO CASE + CASE _DOS OR _UNIX OR _MAC + RETURN .F. + CASE ATC("Windows 3",OS(1)) # 0 + THIS.nCurrentOS = OS_W32S + CASE ATC("Windows NT",OS(1)) # 0 + THIS.nCurrentOS = OS_NT + THIS.cRegDLLFile = DLL_ADVAPI_NT + THIS.cINIDLLFile = DLL_KERNEL_NT + THIS.cODBCDLLFile = DLL_ODBC_NT + OTHERWISE + * Windows 95 + THIS.nCurrentOS = OS_WIN95 + THIS.cRegDLLFile = DLL_ADVAPI_WIN95 + THIS.cINIDLLFile = DLL_KERNEL_WIN95 + THIS.cODBCDLLFile = DLL_ODBC_WIN95 + ENDCASE + + * Check if DLLs already loaded so we don't unload when done. + lnDlls = ADLLS(laTmpDLLs) + IF lnDlls > 0 + IF ASCAN(laTmpDLLs,"RegOpenKey",-1,-1,-1,1)#0 + THIS.lHasDllLoaded=.T. + ENDIF + ENDIF + + ENDPROC + + PROCEDURE iskey && Checks to see if a key exists. + * Checks to see if a key exists + LPARAMETER cKeyName,nRegKey + LOCAL nErrNum + * Open extension key + nErrNum = THIS.OpenKey(m.cKeyName,m.nRegKey) + IF m.nErrNum = ERROR_SUCCESS + * Close extension key + THIS.CloseKey() + ENDIF + + RETURN m.nErrNum = ERROR_SUCCESS + + ENDPROC + + PROCEDURE loadregfuncs && Loads funtions needed for Registry. + * Loads funtions needed for Registry + LOCAL nHKey,cSubKey,nResult + LOCAL hKey,iValue,lpszValue,lpcchValue,lpdwType,lpbData,lpcbData + LOCAL lpcStr,lpszVal,nLen,lpdwReserved + LOCAL lpszValueName,dwReserved,fdwType + LOCAL iSubKey,lpszName,cchName + + IF THIS.lLoadedDLLs + RETURN ERROR_SUCCESS + ENDIF + + DECLARE Integer RegOpenKey IN Win32API ; + Integer nHKey, String @cSubKey, Integer @nResult + + IF THIS.lhaderror && error loading library + RETURN -1 + ENDIF + + DECLARE Integer RegCreateKey IN Win32API ; + Integer nHKey, String @cSubKey, Integer @nResult + + DECLARE Integer RegDeleteKey IN Win32API ; + Integer nHKey, String @cSubKey + + DECLARE Integer RegDeleteValue IN Win32API ; + Integer nHKey, String cSubKey + + DECLARE Integer RegCloseKey IN Win32API ; + Integer nHKey + + DECLARE Integer RegSetValueEx IN Win32API ; + Integer hKey, String lpszValueName, Integer dwReserved,; + Integer fdwType, String lpbData, Integer cbData + + DECLARE Integer RegQueryValueEx IN Win32API ; + Integer nHKey, String lpszValueName, Integer dwReserved,; + Integer @lpdwType, String @lpbData, Integer @lpcbData + + DECLARE Integer RegEnumKey IN Win32API ; + Integer nHKey,Integer iSubKey, String @lpszName, Integer @cchName + + DECLARE Integer RegEnumKeyEx IN Win32API ; + Integer nHKey,Integer iSubKey, String @lpszName, Integer @cchName,; + Integer dwReserved,String @lpszName, Integer @cchName,String @cchName + + DECLARE Integer RegEnumValue IN Win32API ; + Integer hKey, Integer iValue, String @lpszValue, ; + Integer @lpcchValue, Integer lpdwReserved, Integer @lpdwType, ; + String @lpbData, Integer @lpcbData + + THIS.lLoadedDLLs = .T. + + * Need error check here + RETURN ERROR_SUCCESS + + ENDPROC + + PROCEDURE openkey && Opens a registry key. + * Opens a registry key + LPARAMETER cLookUpKey,nRegKey,lCreateKey + + LOCAL nSubKey,nErrCode,nPCount,lSaveCreateKey + nSubKey = 0 + nPCount = PCOUNT() + + IF TYPE("m.nRegKey") # "N" OR EMPTY(m.nRegKey) + m.nRegKey = HKEY_CURRENT_USER + ENDIF + + * Load API functions + nErrCode = THIS.LoadRegFuncs() + IF m.nErrCode # ERROR_SUCCESS + RETURN m.nErrCode + ENDIF + + lSaveCreateKey = THIS.lCreateKey + IF m.nPCount>2 AND TYPE("m.lCreateKey") = "L" + THIS.lCreateKey = m.lCreateKey + ENDIF + + IF THIS.lCreateKey + * Try to open or create registry key + nErrCode = RegCreateKey(m.nRegKey,m.cLookUpKey,@nSubKey) + ELSE + * Try to open registry key + nErrCode = RegOpenKey(m.nRegKey,m.cLookUpKey,@nSubKey) + ENDIF + + THIS.lCreateKey = m.lSaveCreateKey + + IF nErrCode # ERROR_SUCCESS + RETURN m.nErrCode + ENDIF + + THIS.nCurrentKey = m.nSubKey + RETURN ERROR_SUCCESS + + ENDPROC + + PROCEDURE setkeyvalue && Sets a key value. + * This routine sets a key value + * Note: this routine only handles data strings (REG_SZ) + LPARAMETER cValueName,cValue + LOCAL nValueSize,nErrCode + + DO CASE + CASE TYPE("THIS.nCurrentKey")#'N' OR THIS.nCurrentKey = 0 + RETURN ERROR_BADKEY + CASE TYPE("m.cValueName") #"C" OR TYPE("m.cValue")#"C" + RETURN ERROR_BADPARM + *!* CASE EMPTY(m.cValueName) + *!* RETURN ERROR_BADPARM + ENDCASE + + * Make sure we null terminate this guy + cValue = m.cValue+CHR(0) + nValueSize = LEN(m.cValue) + + * Set the key value here + m.nErrCode = RegSetValueEx(THIS.nCurrentKey,m.cValueName,0,; + REG_SZ,m.cValue,m.nValueSize) + + * Check for error + IF m.nErrCode # ERROR_SUCCESS + RETURN m.nErrCode + ENDIF + + RETURN ERROR_SUCCESS + + ENDPROC + + PROCEDURE setregkey && Sets a registry key setting. + * This routine sets a registry key setting + * ex. THIS.SetRegKey("ResWidth","640",; + * "Software\Microsoft\VisualFoxPro\6.0\Options",; + * HKEY_CURRENT_USER) + LPARAMETER cOptName,cOptVal,cKeyPath,nUserKey,lCreateKey + LOCAL iPos,cOptKey,cOption,nErrNum + iPos = 0 + cOption = "" + nErrNum = ERROR_SUCCESS + + * Open registry key + m.nErrNum = THIS.OpenKey(m.cKeyPath,m.nUserKey,m.lCreateKey) + IF m.nErrNum # ERROR_SUCCESS + RETURN m.nErrNum + ENDIF + + * Set Key value + nErrNum = THIS.SetKeyValue(m.cOptName,m.cOptVal) + + * Close registry key + THIS.CloseKey() &&close key + RETURN m.nErrNum + + ENDPROC + +ENDDEFINE diff --git a/clase/reportlisteners.h b/clase/reportlisteners.h new file mode 100644 index 0000000..d0a3b62 --- /dev/null +++ b/clase/reportlisteners.h @@ -0,0 +1,76 @@ +#INCLUDE FOXPRO_REPORTING.H + +#INCLUDE REPORTLISTENERS_LOCS.H + +* -- constants for VCX super classes + +* -- general constant for debugging +#DEFINE OUTPUTCLASS_DEBUGGING .F. + +* -- UtilityReportListener class + +#DEFINE OUTPUTCLASS_READCONFIG_NEITHER 0 +#DEFINE OUTPUTCLASS_READCONFIG_INIT 1 +#DEFINE OUTPUTCLASS_READCONFIG_REPORT 2 +#DEFINE OUTPUTCLASS_READCONFIG_BOTH 3 + +* -- XML Output Listener class-specific constants + +#DEFINE OUTPUTXML_DATA_ONLY 0 +#DEFINE OUTPUTXML_RDL_ONLY 1 +#DEFINE OUTPUTXML_DATA_RDL 2 + +#DEFINE OUTPUTXML_BREAKS_INDATA 0 +#DEFINE OUTPUTXML_BREAKS_NONE 1 +#DEFINE OUTPUTXML_BREAKS_COLLECTION 2 + +#DEFINE OUTPUTXML_RAW 0 +#DEFINE OUTPUTXML_DOM 1 +#DEFINE OUTPUTXML_DOTNET 2 + +#DEFINE OUTPUTXML_CHARFIELD_LIMIT 254 + +#DEFINE OUTPUTXML_XSLTOBJECT_TYPESTRINGS "|document|element|" + +* #DEFINE OUTPUTXML_REPEATSPANNEDITEM .T. +* #DEFINE OUTPUTXML_PERFORMLOCALECONVERSION .F. + +#DEFINE OUTPUTXML_CONTINUATION (THIS.NoPageEject OR ; + (VARTYPE(THIS.CommandClauses) = "O" AND ; + THIS.CommandClauses.NoPageEject)) + +* supplied superclasses' tunable settings + +#DEFINE OUTPUTCLASS_INTERNALDBF "_ReportOutputConfig" +#DEFINE OUTPUTCLASS_EXTERNALDBF "OutputConfig" + +#DEFINE OUTPUTCLASS_OBJTYPE_CONFIG 1000 + +#DEFINE OUTPUTCLASS_STATUSCHAR_PCT_DONE [|] +#DEFINE OUTPUTCLASS_STATUSCHAR_PCT_NOT_DONE [.] R +#DEFINE OUTPUTCLASS_ONE_HUNDRED_PCT_MARK 50 + +#DEFINE OUTPUTCLASS_FILENAME_CHARS_DISALLOWED [?*"<>|] + +* -- XML Output Listener-specific user-tunable settings + +#DEFINE OUTPUTXML OUTPUTXML_RAW + +#DEFINE OUTPUTXML_OBJTYPE_NODES 1100 +#DEFINE OUTPUTXML_OBJTYPE_BANDOFFSET 500 +#DEFINE OUTPUTXML_OBJCODE_DOC 100 +#DEFINE OUTPUTXML_OBJCODE_DATA 200 +#DEFINE OUTPUTXML_OBJCODE_RDL 300 +#DEFINE OUTPUTXML_OBJCODE_PAGES 400 +#DEFINE OUTPUTXML_OBJCODE_COLS 500 +#DEFINE OUTPUTXML_OBJCODE_ATTRIBMEMBER 600 + + +#DEFINE OUTPUTXML_GOOFTAG "XXXX" + +#DEFINE OUTPUTXML_DOMDOCUMENTOBJECT "Msxml2.FreeThreadedDOMDocument.4.0" +#DEFINE OUTPUTXML_DOMFREETHREADED_DOCUMENTOBJECT "Msxml2.FreeThreadedDOMDocument.4.0" +#DEFINE OUTPUTXML_XSLT_PROCESSOROBJECT "Msxml2.XSLTemplate.4.0" + + + diff --git a/clase/reportlisteners_locs.h b/clase/reportlisteners_locs.h new file mode 100644 index 0000000..620a2d1 --- /dev/null +++ b/clase/reportlisteners_locs.h @@ -0,0 +1,85 @@ +* locs for VCX super-classes + +#DEFINE OUTPUTCLASS_APPNAME_LOC "VFP Report Output Class" + +#DEFINE OUTPUTCLASS_CONFIGTABLECREATED_LOC "Configuration table "+ m.lcDBF + " was created." +* or, if you prefer: "has been written to disk." + +#DEFINE OUTPUTCLASS_CONFIGTABLEWRONG_LOC "Configuration table is not in correct format." + +* this is different from XML because in the XML class they +* are used in SEEK() and require specific tagnames, whereas +* the superclasses just require certain indexes for optimizing LOCATES, + +#DEFINE OUTPUTCLASS_CONFIGINDEXMISSING_LOC "Configuration table is missing "+ CHR(13) + ; + "one or more required indexes." + +#DEFINE OUTPUTCLASS_INITSTATUS_LOC "Initializing... " +#DEFINE OUTPUTCLASS_PREPSTATUS_LOC "Running calculation prepass... " +#DEFINE OUTPUTCLASS_RUNSTATUS_LOC "Creating output... " +#DEFINE OUTPUTCLASS_TIME_SECONDS_LOC SPACE(1) + "sec(s)" +#DEFINE OUTPUTCLASS_CANCEL_INSTRUCTIONS_LOC "Press Esc to cancel... " +#DEFINE OUTPUTCLASS_REPORT_CANCELQUERY_LOC "Stop report execution?"+CHR(13) + ; + "(If you press 'No', report execution will continue.)" +#DEFINE OUTPUTCLASS_REPORT_INCOMPLETE_LOC "Report execution was cancelled." + CHR(13) + ; + "Your results are not complete." + +#DEFINE OUTPUTCLASS_SUCCESS_LOC THIS.AppName+" created your report as"+; + CHR(13)+THIS.TargetFileName+"." + CHR(13) + ; + IIF(THIS.AllowModalMessages,; + "Press 'Yes' to store" + CHR(13) + ; + "this filename in the Clipboard.","") + +#DEFINE OUTPUTCLASS_NOFILECREATE_LOC "File " + THIS.TargetFileName+" cannot be created." + +#DEFINE OUTPUTCLASS_CREATEERRORS_LOC THIS.AppName+" created your report as"+ ; + CHR(13)+THIS.TargetFileName+". "+CHR(13)+ ; + "However, an error occurred during processing." + CHR(13) + ; + OUTPUTCLASS_REPORT_INCOMPLETE_LOC +#DEFINE OUTPUTCLASS_PAGELIMIT_LOC "Your report exceeded a specified page limit (" + ; + TRANSFORM(THIS.PageLimit) + "). " + CHR(13) + ; + OUTPUTCLASS_REPORT_INCOMPLETE_LOC + + + + +#DEFINE OUTPUTCLASS_NOCREATE_LOC THIS.AppName +" was not able to create your report." + +#DEFINE OUTPUTCLASS_ERRNOLABEL_LOC "Error: " +#DEFINE OUTPUTCLASS_ERRPROCLABEL_LOC "Method: " +#DEFINE OUTPUTCLASS_ERRLINELABEL_LOC "Line: " + +* the following loc is eval'd for updateListener's actual progress bar message. +* In most cases, +* changing this value is overkill, as the localizable portions of +* the message are already localized as separate properties. +* All the status messagse as well as the therm caption can +* also be set at runtime without touching the locs. +#DEFINE OUTPUTCLASS_THERMCAPTION_LOC [m.cMessage+ " "+ TRANSFORM(INT(THIS.PercentDone*100)) + "%" ] + ; + [+ IIF(NOT THIS.IncludeSeconds, "" , " "+] + ; + [TRANSFORM(IIF(THIS.IsRunning,DATETIME(), THIS.ReportStopRunDateTime)-] + ; + [THIS.ReportStartRunDateTime)+" " + THIS.SecondsText)] + + +* locs for XML Listener class: + +#DEFINE OUTPUTXML_APPNAME_LOC "XML Listener" + +#DEFINE OUTPUTXML_CONFIGTAGMISSING_LOC "At least one required index tag is missing "+ CHR(13) + ; + "from the configuration table." + +#DEFINE OUTPUTXML_FRXMISSING_LOC "Required FRX cursor is not available." + + +#DEFINE OUTPUTXML_FRXCURSOR_MISSING_LOC "FRX cursor helper object cannot be found in " + CHR(13)+ ; + "_FRXCURSOR.VCX, "+CHR(13)+ ; + "_REPORTOUTPUT." + CHR(13) + CHR(13)+ ; + "Some features of this class may not be active." + +* locs for XML Display Listener Class: + +#DEFINE OUTPUTXMLDISPLAY_APPNAME_LOC "XML Display Listener" + +* locs for HTML: + +#DEFINE OUTPUTHTML_APPNAME_LOC "HTML Listener" \ No newline at end of file diff --git a/clase/resizer.vc2 b/clase/resizer.vc2 new file mode 100644 index 0000000..64ad556 --- /dev/null +++ b/clase/resizer.vc2 @@ -0,0 +1,183 @@ +*-------------------------------------------------------------------------------------------------------------------------------------------------------- +* (EN) AUTOGENERATED - ATTENTION!! - NOT INTENDED FOR EXECUTION!! USE ONLY FOR MERGING CHANGES AND STORING WITH SCM TOOLS!! +*-------------------------------------------------------------------------------------------------------------------------------------------------------- +*< FOXBIN2PRG: Version="1.21" SourceFile="resizer.vcx" CPID="1252" /> (Solo para binarios VFP 9 / Only for VFP 9 binaries) +* +* +DEFINE CLASS resizer AS control + *< CLASSDATA: Baseclass="control" Timestamp="" Scale="Pixels" Uniqueid="" /> + + *-- OBJECTDATA items order determines ZOrder / El orden de los items OBJECTDATA determina el ZOrder + *< OBJECTDATA: ObjPath="Label1" UniqueID="" Timestamp="" /> + + * + *m: onresize + *p: nlastheight + *p: nlastwidth + * + + * + BackStyle = 0 + BorderWidth = 0 + Comment = "*:OnResize=RB" + Height = 14 + Name = "resizer" + nlastheight = 0 + nlastwidth = 0 + Width = 14 + * + + ADD OBJECT 'Label1' AS label WITH ; + AutoSize = .T., ; + BackStyle = 0, ; + Caption = "o", ; + FontName = "Marlett", ; + Height = 14, ; + Left = 0, ; + Name = "Label1", ; + Top = 0, ; + Width = 14 + *< END OBJECT: BaseClass="label" /> + + PROCEDURE Init + * + * Save the original form size + * + THIS.nLastHeight = ThisForm.Height + THIS.nLastWidth = ThisForm.Width + + IF ThisForm.MinHeight = -1 + * + * Make the design height the minimum if not otherwise specified + * + ThisForm.MinHeight = ThisForm.Height + ENDIF + + IF ThisForm.MinWidth = -1 + * + * Make the design width the minimum if not otherwise specified + * + ThisForm.MinWidth = ThisForm.Width + ENDIF + + * + * Move this control to the right bottom of the form + * + THIS.Top = ThisForm.Height - THIS.Height + 2 + THIS.Left = ThisForm.Width - This.Width + 2 + + * + * Make sure the border style is resizable + * + ThisForm.BorderStyle = 3 + + ENDPROC + + PROCEDURE onresize + * + * Call this method from the Form.Resize event + * + LOCAL ARRAY laObjects[1] + LOCAL lnCount,lnI, loObject, lnDeltaHeight, lnDeltaWidth + LOCAL lcOnResize, lcHeight, lcWidth, lnAtPos + + * + * Lock the screen + * + ThisForm.LockScreen = .T. + + * + * Calculate the change in height since the last resize + * + lnDeltaHeight = ThisForm.Height - THIS.nLastHeight + lnDeltaWidth = ThisForm.Width - THIS.nLastWidth + + * + * Build an array of objects + * + lnCount = Obj2Arr(@laObjects, ThisForm) + + FOR lnI = 1 TO lnCount + * + * Get the object + * + loObject = laObjects[lnI] + + IF TYPE('loObject.Comment') <> 'C' + * + * No comment property, skip control + LOOP + ENDIF + + lnAtPos = ATCC('*:OnResize=', loObject.Comment) + IF lnAtPos = 0 + * + * No On resize specified, skip control + * + LOOP + ENDIF + + * + * Determine the actions to be preformed + * + lcOnResize = UPPER(PADR(SUBSTR(loObject.Comment, lnAtPos + 11), 2)) + lcHeight = RIGHT(lcOnResize, 1) + lcWidth = LEFT(lcOnResize, 1) + + * + * Chanhe the Height/Top of needed + DO CASE + CASE lcHeight = 'C' + * + * Center verticaly + * + loObject.Top = loObject.Top + ROUND(lnDeltaHeight / 2, 0) + + CASE lcHeight = 'B' + * + * Align with bottom + * + loObject.Top = loObject.Top + lnDeltaHeight + + CASE lcHeight = 'S' + * + * Resize object vertically + * + loObject.Height = loObject.Height + lnDeltaHeight + ENDCASE + + DO CASE + CASE lcWidth = 'C' + * + * Center horizontally + * + loObject.Left = loObject.Left + ROUND(lnDeltaWidth / 2, 0) + + CASE lcWidth = 'R' + * + * Align to right site + * + loObject.Left = loObject.Left + lnDeltaWidth + + CASE lcWidth = 'S' + * + * Size object horizontally + * + loObject.Width = loObject.Width + lnDeltaWidth + ENDCASE + ENDFOR + + * + * Remember the current form size + * + THIS.nLastHeight = ThisForm.Height + THIS.nLastWidth = ThisForm.Width + + * + * Unlock the form to show changes + * + ThisForm.LockScreen = .F. + + ENDPROC + +ENDDEFINE diff --git a/clase/rulaje.vc2 b/clase/rulaje.vc2 new file mode 100644 index 0000000..1d43e39 --- /dev/null +++ b/clase/rulaje.vc2 @@ -0,0 +1,8853 @@ +*-------------------------------------------------------------------------------------------------------------------------------------------------------- +* (EN) AUTOGENERATED - ATTENTION!! - NOT INTENDED FOR EXECUTION!! USE ONLY FOR MERGING CHANGES AND STORING WITH SCM TOOLS!! +*-------------------------------------------------------------------------------------------------------------------------------------------------------- +*< FOXBIN2PRG: Version="1.21" SourceFile="rulaje.vcx" CPID="1250" /> (Solo para binarios VFP 9 / Only for VFP 9 binaries) +* +* +DEFINE CLASS cus_odata_rulaje AS _cusodatabase OF "_cus_odata_base.vcx" + *< CLASSDATA: Baseclass="custom" Timestamp="" Scale="Pixels" Uniqueid="" /> + + * + Name = "cus_odata_rulaje" + * + + PROCEDURE make_sql + Lparameters toRec,tnId + + Local lcActiune, lcCant, lcCante, lcId, lcIdGestiune, lcIdJtva, lcProcTVA, lcSql, lcTaxCode + + lcActiune = Alltrim(This.cActiune) + + If Inlist(lcActiune, "UPDATE",'INSERT') And Type('toRec') != "O" + Return .F. + Endif + + If Inlist(lcActiune, "UPDATE",'DELETE') And Type('tnId') != "N" + Return .F. + Endif + + IF INLIST(lcActiune, "UPDATE",'DELETE') + lcId = Alltrim(Str(tnId)) + *!* lcnom = [gest_nom_grupe] + *!* lc_camp_id = [id_grupe] + *!* lc_copil_lookup = [vgest_coresp_util_grupe] + *!* lc_camp_id_lookup = [id_grupe] + *!* lc_copil_del = [gest_coresp_grupe_gestiuni] + *!* lc_camp_id_del = [id_grupe] + ENDIF + + If Inlist(lcActiune, "UPDATE",'DELETE') + lcId = Alltrim(Str(tnId)) + Endif + + If Inlist(lcActiune, "UPDATE",'INSERT') + lcIdGestiune = Nvl(Alltrim(STR(toRec.id_gestiune)),'') + lcCant = TRANSFORM(NVL(toRec.cant,0)) + lcCante = TRANSFORM(NVL(toRec.cante,0)) + lcTaxCode = TRANSFORM(NVL(toRec.taxcode, 'NULL')) + lcIdJtva = TRANSFORM(NVL(toRec.id_jtva_coloana, 'NULL')) + lcProcTVA = TRANSFORM(NVL(toRec.proc_tva,0)) + Endif + + + Do Case + Case lcActiune = "INSERT" + lcSql = [] + + Case lcActiune = "UPDATE" + lcSql = [UPDATE ] + gcS + [.rul SET id_gestiune = ] + lcIdGestiune + [, cant = ] + lcCant + [, cante = ] + lcCante + ; + [, taxcode = ] + m.lcTaxCode + [, id_jtva_coloana = ] + m.lcIdJtva + [, proc_tva = ] + m.lcProcTVA + ; + [ where id_rul = ] + lcId + Case lcActiune = "DELETE" + lcSql = [] + + Endcase + + This.csql = lcSql + + ENDPROC + + PROCEDURE salvare + Lparameters toRec,tnId + + Private llSucces, lnSucces + + llSucces = .T. + lnSucces = -1 + lcActiune = Upper(Alltrim(This.cactiune)) + lcMesaj = '' + lcTitlu = '' + Do Case + Case lcActiune = "INSERT" + lcMesaj = "Doriti sa adaugati inregistrarea?" + lcTitlu = "Adaugare" + + Case lcActiune = "UPDATE" + lcMesaj = "Doriti sa salvati modificarile?" + lcTitlu = "Modificare" + + Case lcActiune = "DELETE" + lcMesaj = "Doriti sa stergeti inregistrarea?" + lcTitlu = "Stergere" + + ENDCASE + + lcimagine = [intreb.ico] + lctip = [Intrebare] + ofrm_intreb = CREATEOBJECT('frm_mesaj',lctitlu,lcimagine,lctip,lcmesaj) + ofrm_intreb.show(1) + RELEASE ofrm_intreb + + IF buton = 1 + PNIESIRE=1 + If This.validare() + + This.make_sql(toRec,tnId) + + lcSql = Upper(Alltrim(This.csql)) + + llConditie = 'INSERT'$lcSql Or 'UPDATE'$lcSql Or 'DELETE'$lcSql Or 'BEGIN'$lcSql + + If llConditie + lnSucces = goExecutor.oExecute(lcSql) + If lnSucces < 0 + + lcTextEroare = goExecutor.cEroare + + Do Case + CASE LIKE('*ORA-20???:*',lcTextEroare) + lnPozi=At("ORA-20",lcTextEroare)+11 + lnPozf=At("ORA",lcTextEroare,2) + lcMesaj=Substr(lcTextEroare,lnPozi,lnPozf-lnPozi) + lcTitlu="Eroare" + + *!* Case "ORA-20000"$lcTextEroare + *!* lnPozi=At("ORA-20000",lcTextEroare)+11 + *!* lnPozf=At("ORA",lcTextEroare,2) + *!* lcMesaj=Substr(lcTextEroare,lnPozi,lnPozf-lnPozi) + *!* lcTitlu="Eroare" + *!* Case "ORA-20001"$lcTextEroare + *!* lnPozi=At("ORA-20001",lcTextEroare)+11 + *!* lnPozf=At("ORA",lcTextEroare,2) + *!* lcMesaj=Substr(lcTextEroare,lnPozi,lnPozf-lnPozi) + *!* lcTitlu="Eroare" + Case lcActiune = "INSERT" + lcMesaj = "Inregistrarea nu a fost adaugata." + Chr(13) + Chr(10) + lcTextEroare + lcTitlu = "Adaugare" + Case lcActiune = "UPDATE" + lcMesaj = "Inregistrarea nu a fost modificata." + Chr(13) + Chr(10) + lcTextEroare + lcTitlu = "Modificare" + Case lcActiune = "DELETE" + lcMesaj = "Inregistrarea nu a fost stearsa." + Chr(13) + Chr(10) + lcTextEroare + lcTitlu = "Stergere" + Endcase + + lcimagine = [info_c.ico] + lctip = [Informare] + ofrm_info = CREATEOBJECT([frm_mesaj],lcTitlu,lcimagine,lctip,lcMesaj) + ofrm_info.show(1) + RELEASE ofrm_info + llSucces = .F. + ENDIF + + If lnSucces >=1 And lcActiune = "DELETE" + lcTitlu = "Stergere" + lctip = [Informare] + lcimagine = [info_c.ico] + lcMesaj = "Inregistrarea a fost stearsa." + ofrm_mesaj = CREATEOBJECT([frm_mesaj],lcTitlu,lcimagine,lctip,lcMesaj) + ofrm_mesaj.show(1) + RELEASE ofrm_mesaj + Endif + Endif + + Endif + + Else + PNIESIRE=2 + Endif + + + Return llSucces + + ENDPROC + +ENDDEFINE + +DEFINE CLASS cus_odata_rulaje_obinv AS _cusodatabase OF "..\..\comun\clase\_cus_odata_base.vcx" + *< CLASSDATA: Baseclass="custom" Timestamp="" Scale="Pixels" Uniqueid="" /> + + * + Name = "cus_odata_rulaje_obinv" + * + + PROCEDURE make_sql + Lparameters toRec,tnId + + lcActiune = Alltrim(This.cActiune) + + If Inlist(lcActiune, "UPDATE",'INSERT') And Type('toRec') != "O" + Return .F. + Endif + + If Inlist(lcActiune, "UPDATE",'DELETE') And Type('tnId') != "N" + Return .F. + Endif + + IF INLIST(lcActiune, "UPDATE",'DELETE') + lcId = Alltrim(Str(tnId)) + *!* lcnom = [gest_nom_grupe] + *!* lc_camp_id = [id_grupe] + *!* lc_copil_lookup = [vgest_coresp_util_grupe] + *!* lc_camp_id_lookup = [id_grupe] + *!* lc_copil_del = [gest_coresp_grupe_gestiuni] + *!* lc_camp_id_del = [id_grupe] + ENDIF + + If Inlist(lcActiune, "UPDATE",'DELETE') + lcId = Alltrim(Str(tnId)) + Endif + + If Inlist(lcActiune, "UPDATE",'INSERT') + lcIdGestiune = Nvl(Alltrim(STR(toRec.id_gestiune)),'') + lcCant = TRANSFORM(NVL(toRec.cant,0)) + lcCante = TRANSFORM(NVL(toRec.cante,0)) + Endif + + + Do Case + Case lcActiune = "INSERT" + lcSql = [] + + Case lcActiune = "UPDATE" + lcSql = [UPDATE ] + gcS + [.rul_obinv SET id_gestiune = ] + lcIdGestiune + [, cant = ] + lcCant + [, cante = ] + lcCante + [ where id_rul_obinv = ] + lcId + Case lcActiune = "DELETE" + lcSql = [] + + Endcase + + This.csql = lcSql + + + + ENDPROC + + PROCEDURE salvare + Lparameters toRec,tnId + + Private llSucces, lnSucces + + llSucces = .T. + lnSucces = -1 + lcActiune = Upper(Alltrim(This.cactiune)) + lcMesaj = '' + lcTitlu = '' + Do Case + Case lcActiune = "INSERT" + lcMesaj = "Doriti sa adaugati inregistrarea?" + lcTitlu = "Adaugare" + + Case lcActiune = "UPDATE" + lcMesaj = "Doriti sa salvati modificarile?" + lcTitlu = "Modificare" + + Case lcActiune = "DELETE" + lcMesaj = "Doriti sa stergeti inregistrarea?" + lcTitlu = "Stergere" + + ENDCASE + + lcimagine = [intreb.ico] + lctip = [Intrebare] + ofrm_intreb = CREATEOBJECT('frm_mesaj',lctitlu,lcimagine,lctip,lcmesaj) + ofrm_intreb.show(1) + RELEASE ofrm_intreb + + IF buton = 1 + PNIESIRE=1 + If This.validare() + + This.make_sql(toRec,tnId) + + lcSql = Upper(Alltrim(This.csql)) + + llConditie = 'INSERT'$lcSql Or 'UPDATE'$lcSql Or 'DELETE'$lcSql Or 'BEGIN'$lcSql + + If llConditie + lnSucces = goExecutor.oExecute(lcSql) + If lnSucces < 0 + + lcTextEroare = goExecutor.cEroare + + Do Case + CASE LIKE('*ORA-20???:*',lcTextEroare) + lnPozi=At("ORA-20",lcTextEroare)+11 + lnPozf=At("ORA",lcTextEroare,2) + lcMesaj=Substr(lcTextEroare,lnPozi,lnPozf-lnPozi) + lcTitlu="Eroare" + + *!* Case "ORA-20000"$lcTextEroare + *!* lnPozi=At("ORA-20000",lcTextEroare)+11 + *!* lnPozf=At("ORA",lcTextEroare,2) + *!* lcMesaj=Substr(lcTextEroare,lnPozi,lnPozf-lnPozi) + *!* lcTitlu="Eroare" + *!* Case "ORA-20001"$lcTextEroare + *!* lnPozi=At("ORA-20001",lcTextEroare)+11 + *!* lnPozf=At("ORA",lcTextEroare,2) + *!* lcMesaj=Substr(lcTextEroare,lnPozi,lnPozf-lnPozi) + *!* lcTitlu="Eroare" + Case lcActiune = "INSERT" + lcMesaj = "Inregistrarea nu a fost adaugata." + Chr(13) + Chr(10) + lcTextEroare + lcTitlu = "Adaugare" + Case lcActiune = "UPDATE" + lcMesaj = "Inregistrarea nu a fost modificata." + Chr(13) + Chr(10) + lcTextEroare + lcTitlu = "Modificare" + Case lcActiune = "DELETE" + lcMesaj = "Inregistrarea nu a fost stearsa." + Chr(13) + Chr(10) + lcTextEroare + lcTitlu = "Stergere" + Endcase + + lcimagine = [info_c.ico] + lctip = [Informare] + ofrm_info = CREATEOBJECT([frm_mesaj],lcTitlu,lcimagine,lctip,lcMesaj) + ofrm_info.show(1) + RELEASE ofrm_info + llSucces = .F. + ENDIF + + If lnSucces >=1 And lcActiune = "DELETE" + lcTitlu = "Stergere" + lctip = [Informare] + lcimagine = [info_c.ico] + lcMesaj = "Inregistrarea a fost stearsa." + ofrm_mesaj = CREATEOBJECT([frm_mesaj],lcTitlu,lcimagine,lctip,lcMesaj) + ofrm_mesaj.show(1) + RELEASE ofrm_mesaj + Endif + Endif + + Endif + + Else + PNIESIRE=2 + Endif + + + Return llSucces + + ENDPROC + +ENDDEFINE + +DEFINE CLASS frm_rulaje AS _frmbase OF "_frm_base.vcx" + *< CLASSDATA: Baseclass="form" Timestamp="" Scale="Pixels" Uniqueid="" /> + + *-- OBJECTDATA items order determines ZOrder / El orden de los items OBJECTDATA determina el ZOrder + *< OBJECTDATA: ObjPath="pgframe" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="pgframe.Page1.grdrulaje" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="pgframe.Page1.grdrulaje.cNrCrt.Header1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="pgframe.Page1.grdrulaje.cNrCrt.Text1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="pgframe.Page1.grdrulaje.cNnir.Header1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="pgframe.Page1.grdrulaje.cNnir.Text1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="pgframe.Page1.grdrulaje.cDataact.Header1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="pgframe.Page1.grdrulaje.cDataact.Text1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="pgframe.Page1.grdrulaje.cCodmat.Header1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="pgframe.Page1.grdrulaje.cCodmat.Text1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="pgframe.Page1.grdrulaje.cDenumire.Header1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="pgframe.Page1.grdrulaje.cDenumire.Text1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="pgframe.Page1.grdrulaje.cUM.Header1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="pgframe.Page1.grdrulaje.cUM.Text1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="pgframe.Page1.grdrulaje.cPret.Header1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="pgframe.Page1.grdrulaje.cPret.Text1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="pgframe.Page1.grdrulaje.cCant.Header1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="pgframe.Page1.grdrulaje.cCant.Text1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="pgframe.Page1.grdrulaje.cCante.Header1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="pgframe.Page1.grdrulaje.cCante.Text1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="pgframe.Page1.grdrulaje.cCont.Header1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="pgframe.Page1.grdrulaje.cCont.Text1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="pgframe.Page1.grdrulaje.cCod.Header1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="pgframe.Page1.grdrulaje.cCod.Text1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="pgframe.Page1.grdrulaje.cAcont.Header1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="pgframe.Page1.grdrulaje.cAcont.Text1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="pgframe.Page1.grdrulaje.cGest.Header1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="pgframe.Page1.grdrulaje.cGest.Text1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="pgframe.Page1.grdrulaje.cNrord.Header1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="pgframe.Page1.grdrulaje.cNrord.Text1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="pgframe.Page1.grdrulaje.cCurs.Header1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="pgframe.Page1.grdrulaje.cCurs.Text1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="pgframe.Page1.grdrulaje.cPretd.Header1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="pgframe.Page1.grdrulaje.cPretd.Text1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="pgframe.Page1.grdrulaje.cProcent.Header1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="pgframe.Page1.grdrulaje.cProcent.Text1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="pgframe.Page1.grdrulaje.cAdaos.Header1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="pgframe.Page1.grdrulaje.cAdaos.Text1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="pgframe.Page1.grdrulaje.cTva.Header1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="pgframe.Page1.grdrulaje.cTva.Text1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="pgframe.Page1.grdrulaje.cValoare.Header1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="pgframe.Page1.grdrulaje.cValoare.Text1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="pgframe.Page1.grdrulaje.cPretv.Header1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="pgframe.Page1.grdrulaje.cPretv.Text1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="pgframe.Page1.grdrulaje.cTvav.Header1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="pgframe.Page1.grdrulaje.cTvav.Text1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="pgframe.Page1.grdrulaje.cPretvtva.Header1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="pgframe.Page1.grdrulaje.cPretvtva.Text1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="pgframe.Page1.grdrulaje.cProc_tva.Header1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="pgframe.Page1.grdrulaje.cProc_tva.Text1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="pgframe.Page1.grdrulaje.cUtil.Header1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="pgframe.Page1.grdrulaje.cUtil.Text1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="pgframe.Page1.grdrulaje.cDataora.Header1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="pgframe.Page1.grdrulaje.cDataora.Text1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="pgframe.Page1.grdrulaje.cSectie.Header1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="pgframe.Page1.grdrulaje.cSectie.Text1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="pgframe.Page1.grdrulaje.cDatain.Header1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="pgframe.Page1.grdrulaje.cDatain.Text1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="pgframe.Page1.grdrulaje.cDataOut.Header1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="pgframe.Page1.grdrulaje.cDataOut.Text1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="pgframe.Page1.grdrulaje.cNresp.Header1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="pgframe.Page1.grdrulaje.cNresp.Text1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="pgframe.Page1.grdrulaje.cGestC.Header1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="pgframe.Page1.grdrulaje.cGestC.Text1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="pgframe.Page1.grdrulaje.cNrespC.Header1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="pgframe.Page1.grdrulaje.cNrespC.Text1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="pgframe.Page1.grdrulaje.cTipRulaj.Header1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="pgframe.Page1.grdrulaje.cTipRulaj.Text1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="pgframe.Page1.grdrulaje.Column34.Header1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="pgframe.Page1.grdrulaje.Column34.Text1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="pgframe.Page1.grdrulaje.Column35.Header1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="pgframe.Page1.grdrulaje.Column35.Text1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="pgframe.Page1.grdrulaje.cGrupa.Header1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="pgframe.Page1.grdrulaje.cGrupa.Text1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="pgframe.Page1.grdrulaje.cNract.Header1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="pgframe.Page1.grdrulaje.cNract.Text1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="pgframe.Page1.grdrulaje.cSubgrupa.Header1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="pgframe.Page1.grdrulaje.cSubgrupa.Text1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="pgframe.Page1.grdrulaje.cUtils.Header1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="pgframe.Page1.grdrulaje.cUtils.Text1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="pgframe.Page1.grdrulaje.cDataoras.Header1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="pgframe.Page1.grdrulaje.cDataoras.Text1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="pgframe.Page1.grdrulaje.cSerie.Header1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="pgframe.Page1.grdrulaje.cSerie.Text1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="pgframe.Page1.grdrulaje.cNume_val.Header1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="pgframe.Page1.grdrulaje.cNume_val.Text1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="pgframe.Page1.grdrulaje.Column43.Header1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="pgframe.Page1.grdrulaje.Column43.Text1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="pgframe.Page1.grdrulaje.cSerie_act.Header1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="pgframe.Page1.grdrulaje.cSerie_act.Text1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="pgframe.Page1.grdrulaje.cCodmatF.Header1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="pgframe.Page1.grdrulaje.cCodmatF.Text1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="pgframe.Page1.grdrulaje.cLot.Header1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="pgframe.Page1.grdrulaje.cLot.Text1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="pgframe.Page1.grdrulaje.cDataExpirare.Header1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="pgframe.Page1.grdrulaje.cDataExpirare.Text1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="pgframe.Page1.grdrulaje.cSucursala.Header1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="pgframe.Page1.grdrulaje.cSucursala.Text1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="pgframe.Page1.grdrulaje.cPart_rez.Header1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="pgframe.Page1.grdrulaje.cPart_rez.Text1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="pgframe.Page1.grdrulaje.cNrord_rez.Header1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="pgframe.Page1.grdrulaje.cNrord_rez.Text1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="pgframe.Page1.grdrulaje.cIdArticol.Header1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="pgframe.Page1.grdrulaje.cIdArticol.Text1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="pgframe.Page1.grdrulaje.cCodBare.Header1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="pgframe.Page1.grdrulaje.cCodBare.Text1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="pgframe.Page1.grdrulaje.cFurnizor.Header1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="pgframe.Page1.grdrulaje.cFurnizor.Text1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="pgframe.Page1.grdrulaje.cIdFurnizor.Header1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="pgframe.Page1.grdrulaje.cIdFurnizor.Text1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="pgframe.Page1.grdrulaje.cCodNC8.Header1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="pgframe.Page1.grdrulaje.cCodNC8.Text1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="pgframe.Page1.grdrulaje.cGreutate.Header1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="pgframe.Page1.grdrulaje.cGreutate.Text1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="pgframe.Page1.grdrulaje.cTaraOrigine.Header1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="pgframe.Page1.grdrulaje.cTaraOrigine.Text1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="pgframe.Page1.grdrulaje.cExplicatieTVA.Header1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="pgframe.Page1.grdrulaje.cExplicatieTVA.Text1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="pgframe.Page1.grdrulaje.cTaxName.Header1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="pgframe.Page1.grdrulaje.cTaxName.Text1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="pgframe.Page1.grdrulaje.cIdSet.Header1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="pgframe.Page1.grdrulaje.cIdSet.Text1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="pgframe.Page1.grdrulaje.cFelDoc.Header1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="pgframe.Page1.grdrulaje.cFelDoc.Text1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="pgframe.Page1.grdrulaje.cAles.Header1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="pgframe.Page1.grdrulaje.cAles.Text1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="pgframe.Page1.grdrulaje.cAles._checkbox1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="pgframe.Page1.grdrulaje.cIdFact.Header1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="pgframe.Page1.grdrulaje.cIdFact.Text1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="pgframe.Page1.Shape1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="pgframe.Page1.Text2" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="pgframe.Page1.Label1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="pgframe.Page1.Label2" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="pgframe.Page1.Label4" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="pgframe.Page1.Label3" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="pgframe.Page1.cboValuta" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="pgframe.Page1.Label5" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="pgframe.Page1.Text1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="pgframe.Page1.Text3" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="pgframe.Page1.Text4" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="pgframe.Page1.Text5" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="pgframe.Page1.Text6" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="pgframe.Page1.Label6" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="pgframe.Page1.Label7" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="pgframe.Page2.grdnir" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="pgframe.Page2.grdnir.cNrcrt.Header1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="pgframe.Page2.grdnir.cNrcrt.Text1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="pgframe.Page2.grdnir.cCodMat.Header1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="pgframe.Page2.grdnir.cCodMat.Text1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="pgframe.Page2.grdnir.cDenumire.Header1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="pgframe.Page2.grdnir.cDenumire.Text1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="pgframe.Page2.grdnir.cUM.Header1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="pgframe.Page2.grdnir.cUM.Text1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="pgframe.Page2.grdnir.cPret.Header1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="pgframe.Page2.grdnir.cPret.Text1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="pgframe.Page2.grdnir.cCant.Header1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="pgframe.Page2.grdnir.cCant.Text1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="pgframe.Page2.grdnir.cValoare.Header1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="pgframe.Page2.grdnir.cValoare.Text1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="pgframe.Page2.grdnir.cTva.Header1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="pgframe.Page2.grdnir.cTva.Text1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="pgframe.Page2.grdnir.cTotal.Header1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="pgframe.Page2.grdnir.cTotal.Text1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="pgframe.Page2.grdnir.cCod.Header1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="pgframe.Page2.grdnir.cCod.Text1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="pgframe.Page2.grdnir.cResponsabil.Header1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="pgframe.Page2.grdnir.cResponsabil.Text1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="pgframe.Page2.grdnir.cSerie.Header1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="pgframe.Page2.grdnir.cSerie.Text1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="pgframe.Page2.txtDataact" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="pgframe.Page2.txtNract" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="pgframe.Page2.txtNnir" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="pgframe.Page2.Label4" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="pgframe.Page2.Label5" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="pgframe.Page2.Label1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="pgframe.Page2.Label2" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="pgframe.Page2.txtValoare" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="pgframe.Page2.txtFurnizor" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="pgframe.Page2.but_modifica_furnizor" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="pgframe.Page2.Label6" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="pgframe.Page2.txtSerieAct" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="pgframe.Page2.txtDataIreg" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="pgframe.Page2.Label7" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="pgframe.Page2.Label8" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="pgframe.Page2.txtReponsabil" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="pgframe.Page2.Label10" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="pgframe.Page2.txtLucrare" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="pgframe.Page2.Label3" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="pgframe.Page2.txtSectie" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="pgframe.Page2.Label9" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="pgframe.Page2.but_modifica_responsabil" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="pgframe.Page2.but_modifica_lucrare" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="pgframe.Page2.but_modifica_sectie" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="pgframe.Page3.grdbon" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="pgframe.Page3.grdbon.cNrcrt.Header1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="pgframe.Page3.grdbon.cNrcrt.Text1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="pgframe.Page3.grdbon.cDataact.Header1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="pgframe.Page3.grdbon.cDataact.Text1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="pgframe.Page3.grdbon.cNract.Header1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="pgframe.Page3.grdbon.cNract.Text1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="pgframe.Page3.grdbon.cDenumire.Header1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="pgframe.Page3.grdbon.cDenumire.Text1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="pgframe.Page3.grdbon.cUM.Header1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="pgframe.Page3.grdbon.cUM.Text1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="pgframe.Page3.grdbon.cPretv.Header1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="pgframe.Page3.grdbon.cPretv.Text1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="pgframe.Page3.grdbon.cCante.Header1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="pgframe.Page3.grdbon.cCante.Text1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="pgframe.Page3.grdbon.cValoare.Header1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="pgframe.Page3.grdbon.cValoare.Text1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="pgframe.Page3.grdbon.cResponsabil.Header1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="pgframe.Page3.grdbon.cResponsabil.Text1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="pgframe.Page3.grdbon.cSerie.Header1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="pgframe.Page3.grdbon.cSerie.Text1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="pgframe.Page3.txtDataact" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="pgframe.Page3.txtNnir" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="pgframe.Page3.Label4" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="pgframe.Page3.Label1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="pgframe.Page3.Label2" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="pgframe.Page3.Label3" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="pgframe.Page3.txtLucrare" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="pgframe.Page3.txtSectie" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="pgframe.Page3.but_modifica_responsabil" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="pgframe.Page3.but_modifica_lucrare" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="pgframe.Page3.but_modifica_sectie" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="pgframe.Page3.txtValoare" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="pgframe.Page3.Label8" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="pgframe.Page3.Text4" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="pgframe.Page3.txtReponsabil" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="pgframe.Page3.Label9" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="pgframe.Page3.Label10" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="Xresize1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="But_excel1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="But_listare1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="but_modifica1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="But_start_criterii1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="But_reset_criterii1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="ck_filtru_tiprulaj" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="Gridextra1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="Lb_shortcuts1" UniqueID="" Timestamp="" /> + + * + *m: calculeazatotaluri + *m: do_listare3 + *m: do_listare4 + *m: editeaza_antet + *m: modifica_articole + *m: modifica_id_fact + *m: modifica_inregistrare + *m: salveaza_antet + *m: se_modifica_assign + *p: cfiltruinitial + *p: cfiltruinitial_ro + *p: cmonedanationala + *p: cod + *p: cvalutatotal + *p: dataact + *p: dataireg + *p: id_lucrare + *p: id_partener + *p: id_responsabil + *p: id_sectie + *p: lmodificareinregistrare && Modificare inregistrare curenta - dublu click pe un loc liber din pagina 1 si parola AAAALLZZ + *p: lnoua && Specifica daca s-a trecut pe alta inregistrare in rulaje. + *p: lucrare + *p: ncanti && Intoarce cantitate intrari. + *p: ncantie && Intoarce cantitate iesiri. + *p: nidmonedanationala + *p: nidvalutatotal + *p: nnir + *p: nnr_pag + *p: nract + *p: nsumi && Intoarce valoarea intrarilor. + *p: nsumie && Intoarce valoarea iesirilor. + *p: nsumiev + *p: nsumiv + *p: oactoriginal && NULL + *p: partener + *p: responsabil + *p: sectie + *p: serie_act + *p: se_modifica + *p: valoare + * + + * + cbuton2 = but_listare1;but_listare2 + cfiltruinitial = + cfiltruinitial_ro = + cgridsortlist = thisform.pgframe.page1.grdrulaje + cmonedanationala = + cod = 0 + cvalutatotal = + dataact = {} + dataireg = {} + DoCreate = .T. + Height = 500 + id_lucrare = NULL + id_partener = NULL + id_responsabil = NULL + id_sectie = NULL + lmodificareinregistrare = .F. + lucrare = + Name = "frm_rulaje" + ncanti = 0 + ncantie = 0 + nidmonedanationala = 0 + nidvalutatotal = 0 + nnir = 0 + nnr_pag = 0 + nract = 0 + nsumi = 0 + nsumie = 0 + nsumiev = 0 + nsumiv = 0 + oactoriginal = .F. + partener = + responsabil = + sectie = + serie_act = + se_modifica = .F. + valoare = 0 + Width = 750 + WindowState = 2 + _shape1.Height = 28 + _shape1.Left = 0 + _shape1.Name = "_shape1" + _shape1.Tag = "RESIZABLE, NOVERTICAL_RESIZE" + _shape1.Top = 0 + _shape1.Width = 756 + _shape1.ZOrderSet = 3 + _shape2.Height = 29 + _shape2.Left = 628 + _shape2.Name = "_shape2" + _shape2.Tag = "MOVABLE,NOVERTICAL_MOVE" + _shape2.Top = -1 + _shape2.Width = 209 + _shape2.ZOrderSet = 4 + Lb_titlu_alb_b121.Caption = "RULAJE *" + Lb_titlu_alb_b121.FontBold = .T. + Lb_titlu_alb_b121.Left = 6 + Lb_titlu_alb_b121.Name = "Lb_titlu_alb_b121" + Lb_titlu_alb_b121.TabIndex = 31 + Lb_titlu_alb_b121.Top = 1 + Lb_titlu_alb_b121.ZOrderSet = 5 + BUT_TERMIN1.Anchor = 9 + BUT_TERMIN1.Left = 720 + BUT_TERMIN1.Name = "BUT_TERMIN1" + BUT_TERMIN1.TabIndex = 26 + BUT_TERMIN1.Tag = "MOVABLE,NOVERTICAL_MOVE" + BUT_TERMIN1.Top = 0 + BUT_TERMIN1.ZOrderSet = 6 + Gridsort1.Name = "Gridsort1" + * + + ADD OBJECT 'But_excel1' AS but_excel WITH ; + Anchor = 9, ; + Left = 689, ; + Name = "But_excel1", ; + TabIndex = 27, ; + Top = 0, ; + Visible = .T., ; + ZOrderSet = 8 + *< END OBJECT: ClassLib="cmd_butoane.vcx" BaseClass="commandbutton" /> + + ADD OBJECT 'But_listare1' AS but_listare WITH ; + Anchor = 9, ; + Left = 660, ; + Name = "But_listare1", ; + TabIndex = 28, ; + Top = 0, ; + Visible = .T., ; + ZOrderSet = 9 + *< END OBJECT: ClassLib="cmd_butoane.vcx" BaseClass="commandbutton" /> + + ADD OBJECT 'but_modifica1' AS but_modifica WITH ; + Anchor = 9, ; + Enabled = .T., ; + Height = 27, ; + Left = 630, ; + Name = "but_modifica1", ; + TabIndex = 29, ; + Top = 0, ; + Width = 29, ; + ZOrderSet = 10 + *< END OBJECT: ClassLib="cmd_butoane.vcx" BaseClass="commandbutton" /> + + ADD OBJECT 'But_reset_criterii1' AS but_reset_criterii WITH ; + Anchor = 9, ; + Left = 544, ; + Name = "But_reset_criterii1", ; + Top = 0 + *< END OBJECT: ClassLib="ocriterii.vcx" BaseClass="commandbutton" /> + + ADD OBJECT 'But_start_criterii1' AS but_start_criterii WITH ; + Anchor = 9, ; + Left = 573, ; + Name = "But_start_criterii1", ; + Top = 0 + *< END OBJECT: ClassLib="ocriterii.vcx" BaseClass="commandbutton" /> + + ADD OBJECT 'ck_filtru_tiprulaj' AS ck_filtru_nom WITH ; + Alignment = 0, ; + Caption = "Tip rulaj", ; + ctraducere = Tip rulaj este 'INTRARE/IESIRE REALA', ; + filtru = and (id_tip_rulaj=0), ; + Left = 525, ; + Name = "ck_filtru_tiprulaj", ; + Top = 30, ; + Value = 0, ; + Visible = .F. + *< END OBJECT: ClassLib="caut_ora.vcx" BaseClass="checkbox" /> + + ADD OBJECT 'Gridextra1' AS gridextra WITH ; + gridexpression = thisform.pgframe.page1.grdrulaje, ; + Height = 17, ; + Left = 287, ; + Name = "Gridextra1", ; + Top = 45, ; + Width = 33 + *< END OBJECT: ClassLib="..\utile\gridextras\gridextras.vcx" BaseClass="custom" /> + + ADD OBJECT 'Lb_shortcuts1' AS lb_shortcuts WITH ; + Caption = "ESC = Renuntare; CTRL+Q = Cautare; CTRL+T = Resetare", ; + Left = 6, ; + Name = "Lb_shortcuts1", ; + Top = 15 + *< END OBJECT: ClassLib="lb.vcx" BaseClass="label" /> + + ADD OBJECT 'pgframe' AS _pageframe WITH ; + ErasePage = .T., ; + Height = 467, ; + Left = 12, ; + Name = "pgframe", ; + PageCount = 3, ; + TabIndex = 30, ; + TabStyle = 1, ; + Tag = "RESIZABLE", ; + Top = 31, ; + Width = 732, ; + ZOrderSet = 2, ; + Page1.BackColor = 255,255,255, ; + Page1.Caption = "Rulaje", ; + Page1.Name = "Page1", ; + Page2.BackColor = 255,255,255, ; + Page2.Caption = "NIR - Intrari", ; + Page2.Name = "Page2", ; + Page3.BackColor = 255,255,255, ; + Page3.Caption = "Bon - Iesiri", ; + Page3.FontCharSet = 238, ; + Page3.FontSize = 10, ; + Page3.Name = "Page3" + *< END OBJECT: ClassLib="_baza.vcx" BaseClass="pageframe" /> + + ADD OBJECT 'pgframe.Page1.cboValuta' AS _cbbase WITH ; + Anchor = 9, ; + ControlSource = "thisform.cValutaTotal", ; + Height = 24, ; + Left = 633, ; + Name = "cboValuta", ; + RowSource = "cValuteRulTemp.nume_val", ; + RowSourceType = 2, ; + Top = 41, ; + Width = 73 + *< END OBJECT: ClassLib="_cb_base.vcx" BaseClass="combobox" /> + + ADD OBJECT 'pgframe.Page1.grdrulaje' AS _grdrow WITH ; + ColumnCount = 63, ; + DeleteMark = .F., ; + GridLineColor = 128,128,128, ; + Height = 351, ; + Left = 10, ; + Name = "grdrulaje", ; + Panel = 1, ; + ReadOnly = .T., ; + RecordSource = "crsrulX", ; + TabIndex = 1, ; + Tag = "RESIZABLE", ; + Top = 83, ; + Width = 708, ; + Column1.ColumnOrder = 2, ; + Column1.ControlSource = "nrcrt", ; + Column1.FontName = "Arial", ; + Column1.Format = "R", ; + Column1.InputMask = "999 999", ; + Column1.Name = "cNrCrt", ; + Column1.ReadOnly = .T., ; + Column1.Width = 44, ; + Column2.ColumnOrder = 3, ; + Column2.ControlSource = "nnir", ; + Column2.FontName = "Arial", ; + Column2.Name = "cNnir", ; + Column2.ReadOnly = .T., ; + Column2.Width = 97, ; + Column3.ColumnOrder = 7, ; + Column3.ControlSource = "dataact", ; + Column3.FontName = "Arial", ; + Column3.Name = "cDataact", ; + Column3.ReadOnly = .T., ; + Column3.Width = 73, ; + Column4.ColumnOrder = 8, ; + Column4.ControlSource = "codmat", ; + Column4.FontName = "Arial", ; + Column4.Name = "cCodmat", ; + Column4.ReadOnly = .T., ; + Column5.ColumnOrder = 9, ; + Column5.ControlSource = "denumire", ; + Column5.FontName = "Arial", ; + Column5.Name = "cDenumire", ; + Column5.ReadOnly = .T., ; + Column5.Width = 191, ; + Column6.ColumnOrder = 11, ; + Column6.ControlSource = "um", ; + Column6.FontName = "Arial", ; + Column6.Name = "cUM", ; + Column6.ReadOnly = .T., ; + Column6.Width = 39, ; + Column7.ColumnOrder = 14, ; + Column7.ControlSource = "pret", ; + Column7.DynamicForeColor = "IIF(pret>=0, RGB(0,0,0), RGB(255,0,0))", ; + Column7.FontName = "Arial", ; + Column7.Format = "R", ; + Column7.InputMask = (get_mask(12,gnPPRET)), ; + Column7.Name = "cPret", ; + Column7.ReadOnly = .T., ; + Column7.Width = 78, ; + Column8.ColumnOrder = 15, ; + Column8.ControlSource = "cant", ; + Column8.DynamicForeColor = "IIF(cant>=0, RGB(0,0,0), RGB(0,0,255))", ; + Column8.FontName = "Arial", ; + Column8.Format = "R", ; + Column8.InputMask = (get_mask(12,gnPCANT)), ; + Column8.Name = "cCant", ; + Column8.ReadOnly = .T., ; + Column8.Width = 68, ; + Column9.ColumnOrder = 16, ; + Column9.ControlSource = "cante", ; + Column9.FontName = "Arial", ; + Column9.Format = "R", ; + Column9.InputMask = (get_mask(12,gnPCANT)), ; + Column9.Name = "cCante", ; + Column9.ReadOnly = .T., ; + Column9.Width = 68, ; + Column10.ColumnOrder = 17, ; + Column10.ControlSource = "cont", ; + Column10.FontName = "Arial", ; + Column10.Name = "cCont", ; + Column10.ReadOnly = .T., ; + Column10.Width = 46, ; + Column11.ColumnOrder = 62, ; + Column11.ControlSource = "cod", ; + Column11.FontName = "Arial", ; + Column11.Name = "cCod", ; + Column11.ReadOnly = .T., ; + Column12.ColumnOrder = 18, ; + Column12.ControlSource = "acont", ; + Column12.FontName = "Arial", ; + Column12.Name = "cAcont", ; + Column12.ReadOnly = .T., ; + Column12.Width = 46, ; + Column13.ColumnOrder = 22, ; + Column13.ControlSource = "cgest", ; + Column13.FontName = "Arial", ; + Column13.Name = "cGest", ; + Column13.ReadOnly = .T., ; + Column13.Width = 80, ; + Column14.ColumnOrder = 23, ; + Column14.ControlSource = "nrord", ; + Column14.FontName = "Arial", ; + Column14.Name = "cNrord", ; + Column14.ReadOnly = .T., ; + Column14.Width = 174, ; + Column15.ColumnOrder = 20, ; + Column15.ControlSource = "curs", ; + Column15.FontName = "Arial", ; + Column15.Format = "R", ; + Column15.InputMask = (get_mask(12,gnPcurs)), ; + Column15.Name = "cCurs", ; + Column15.ReadOnly = .T., ; + Column15.Width = 65, ; + Column16.ColumnOrder = 19, ; + Column16.ControlSource = "pretd", ; + Column16.FontName = "Arial", ; + Column16.Format = "R", ; + Column16.InputMask = (get_mask(14,gnPPretVal)), ; + Column16.Name = "cPretd", ; + Column16.ReadOnly = .T., ; + Column16.Width = 69, ; + Column17.ColumnOrder = 24, ; + Column17.ControlSource = "procent", ; + Column17.FontName = "Arial", ; + Column17.Format = "R", ; + Column17.InputMask = "999 999.99", ; + Column17.Name = "cProcent", ; + Column17.ReadOnly = .T., ; + Column17.Width = 50, ; + Column18.ColumnOrder = 25, ; + Column18.ControlSource = "iif(pretv#0,pretv-pret,0)", ; + Column18.FontName = "Arial", ; + Column18.Format = "R", ; + Column18.InputMask = (get_mask(12,gnPPRET)), ; + Column18.Name = "cAdaos", ; + Column18.ReadOnly = .T., ; + Column18.Width = 56, ; + Column19.ColumnOrder = 26, ; + Column19.ControlSource = "tva", ; + Column19.FontName = "Arial", ; + Column19.Format = "R", ; + Column19.InputMask = (get_mask(12,gnPPRET)), ; + Column19.Name = "cTva", ; + Column19.ReadOnly = .T., ; + Column19.Width = 75, ; + Column20.ColumnOrder = 27, ; + Column20.ControlSource = "round((cant+cante)*(pret+tva),gnPc)", ; + Column20.FontName = "Arial", ; + Column20.Format = "R", ; + Column20.InputMask = (get_mask(12,gnPa)), ; + Column20.Name = "cValoare", ; + Column20.ReadOnly = .T., ; + Column20.Width = 93, ; + Column21.ColumnOrder = 29, ; + Column21.ControlSource = "pretv", ; + Column21.FontName = "Arial", ; + Column21.Format = "R", ; + Column21.InputMask = (get_mask(14,gnPPretV)), ; + Column21.Name = "cPretv", ; + Column21.ReadOnly = .T., ; + Column22.ColumnOrder = 30, ; + Column22.ControlSource = "tvav", ; + Column22.FontName = "Arial", ; + Column22.Format = "R", ; + Column22.InputMask = (get_mask(14,gnPPretV)), ; + Column22.Name = "cTvav", ; + Column22.ReadOnly = .T., ; + Column22.Width = 109, ; + Column23.ColumnOrder = 31, ; + Column23.ControlSource = "pretv+tvav", ; + Column23.FontName = "Arial", ; + Column23.Format = "R", ; + Column23.InputMask = (get_mask(14,gnPPretV)), ; + Column23.Name = "cPretvtva", ; + Column23.ReadOnly = .T., ; + Column23.Width = 111, ; + Column24.ColumnOrder = 32, ; + Column24.ControlSource = "proc_tvav", ; + Column24.FontName = "Arial", ; + Column24.Format = "R", ; + Column24.InputMask = "9.99", ; + Column24.Name = "cProc_tva", ; + Column24.ReadOnly = .T., ; + Column24.Width = 54, ; + Column25.ColumnOrder = 49, ; + Column25.ControlSource = "util", ; + Column25.FontName = "Arial", ; + Column25.Name = "cUtil", ; + Column25.ReadOnly = .T., ; + Column25.Width = 117, ; + Column26.ColumnOrder = 50, ; + Column26.ControlSource = "dataora", ; + Column26.FontName = "Arial", ; + Column26.Name = "cDataora", ; + Column26.ReadOnly = .T., ; + Column26.Width = 112, ; + Column27.ColumnOrder = 33, ; + Column27.ControlSource = "sectie", ; + Column27.FontName = "Arial", ; + Column27.Name = "cSectie", ; + Column27.ReadOnly = .T., ; + Column27.Width = 127, ; + Column28.ColumnOrder = 34, ; + Column28.ControlSource = "datain", ; + Column28.FontName = "Arial", ; + Column28.Name = "cDatain", ; + Column28.ReadOnly = .T., ; + Column28.Width = 96, ; + Column29.ColumnOrder = 35, ; + Column29.ControlSource = "dataout", ; + Column29.FontName = "Arial", ; + Column29.Name = "cDataOut", ; + Column29.ReadOnly = .T., ; + Column29.Width = 95, ; + Column30.ColumnOrder = 36, ; + Column30.ControlSource = "nresp", ; + Column30.FontName = "Arial", ; + Column30.Name = "cNresp", ; + Column30.ReadOnly = .T., ; + Column30.Width = 137, ; + Column31.ColumnOrder = 37, ; + Column31.ControlSource = "cgestc", ; + Column31.FontName = "Arial", ; + Column31.Name = "cGestC", ; + Column31.ReadOnly = .T., ; + Column31.Width = 127, ; + Column32.ColumnOrder = 38, ; + Column32.ControlSource = "nrespc", ; + Column32.FontName = "Arial", ; + Column32.Name = "cNrespC", ; + Column32.ReadOnly = .T., ; + Column32.Width = 126, ; + Column33.ColumnOrder = 46, ; + Column33.ControlSource = "tip_rulaj", ; + Column33.FontName = "Arial", ; + Column33.Name = "cTipRulaj", ; + Column33.ReadOnly = .T., ; + Column33.Width = 164, ; + Column34.ColumnOrder = 12, ; + Column34.ControlSource = "cant_bax", ; + Column34.FontName = "Arial", ; + Column34.Name = "Column34", ; + Column34.ReadOnly = .T., ; + Column34.Width = 41, ; + Column35.ColumnOrder = 13, ; + Column35.ControlSource = "um2", ; + Column35.FontName = "Arial", ; + Column35.Name = "Column35", ; + Column35.ReadOnly = .T., ; + Column35.Width = 35, ; + Column36.ColumnOrder = 39, ; + Column36.ControlSource = "grupa", ; + Column36.FontName = "Arial", ; + Column36.Name = "cGrupa", ; + Column36.ReadOnly = .T., ; + Column36.Width = 116, ; + Column37.ColumnOrder = 6, ; + Column37.ControlSource = "nract", ; + Column37.FontName = "Arial", ; + Column37.Name = "cNract", ; + Column37.ReadOnly = .T., ; + Column37.Width = 76, ; + Column38.ColumnOrder = 40, ; + Column38.ControlSource = "subgrupa", ; + Column38.FontName = "Arial", ; + Column38.Name = "cSubgrupa", ; + Column38.ReadOnly = .T., ; + Column38.Width = 114, ; + Column39.ColumnOrder = 51, ; + Column39.ControlSource = "utils", ; + Column39.FontName = "Arial", ; + Column39.Name = "cUtils", ; + Column39.ReadOnly = .T., ; + Column39.Width = 100, ; + Column40.ColumnOrder = 52, ; + Column40.ControlSource = "dataoras", ; + Column40.FontName = "Arial", ; + Column40.Name = "cDataoras", ; + Column40.ReadOnly = .T., ; + Column40.Width = 105, ; + Column41.ColumnOrder = 10, ; + Column41.ControlSource = "serie", ; + Column41.FontName = "Arial", ; + Column41.Name = "cSerie", ; + Column41.ReadOnly = .T., ; + Column41.Width = 122, ; + Column42.ColumnOrder = 21, ; + Column42.ControlSource = "nume_val", ; + Column42.FontName = "Arial", ; + Column42.Name = "cNume_val", ; + Column42.ReadOnly = .T., ; + Column42.Width = 52, ; + Column43.ColumnOrder = 28, ; + Column43.ControlSource = "round((cant+cante)*(pretd),gnPval)", ; + Column43.FontName = "Arial", ; + Column43.Name = "Column43", ; + Column43.ReadOnly = .T., ; + Column44.ColumnOrder = 5, ; + Column44.ControlSource = "serie_act", ; + Column44.FontName = "Arial", ; + Column44.Name = "cSerie_act", ; + Column44.ReadOnly = .T., ; + Column44.Width = 56, ; + Column45.ColumnOrder = 41, ; + Column45.ControlSource = "codmatf", ; + Column45.FontName = "Arial", ; + Column45.Name = "cCodmatF", ; + Column45.ReadOnly = .T., ; + Column46.ColumnOrder = 42, ; + Column46.ControlSource = "lot", ; + Column46.FontName = "Arial", ; + Column46.Name = "cLot", ; + Column46.ReadOnly = .T., ; + Column47.ColumnOrder = 43, ; + Column47.ControlSource = "adata_expirare", ; + Column47.FontName = "Arial", ; + Column47.Name = "cDataExpirare", ; + Column47.ReadOnly = .T., ; + Column47.Width = 125, ; + Column48.ColumnOrder = 48, ; + Column48.ControlSource = "sucursala", ; + Column48.FontName = "Arial", ; + Column48.Name = "cSucursala", ; + Column48.ReadOnly = .T., ; + Column48.Width = 146, ; + Column49.ColumnOrder = 44, ; + Column49.ControlSource = "part_rez", ; + Column49.FontName = "Arial", ; + Column49.Name = "cPart_rez", ; + Column49.ReadOnly = .T., ; + Column49.Width = 117, ; + Column50.ColumnOrder = 45, ; + Column50.ControlSource = "nrord_rez", ; + Column50.FontName = "Arial", ; + Column50.Name = "cNrord_rez", ; + Column50.ReadOnly = .T., ; + Column50.Width = 120, ; + Column51.ColumnOrder = 53, ; + Column51.ControlSource = "id_articol", ; + Column51.FontName = "Arial", ; + Column51.Name = "cIdArticol", ; + Column51.ReadOnly = .T., ; + Column51.Width = 96, ; + Column52.ColumnOrder = 54, ; + Column52.ControlSource = "codbare", ; + Column52.FontName = "Arial", ; + Column52.Name = "cCodBare", ; + Column52.ReadOnly = .T., ; + Column52.Width = 130, ; + Column53.ColumnOrder = 55, ; + Column53.ControlSource = "furnizor", ; + Column53.FontName = "Arial", ; + Column53.Name = "cFurnizor", ; + Column53.ReadOnly = .T., ; + Column53.Width = 186, ; + Column54.ColumnOrder = 56, ; + Column54.ControlSource = "id_furnizor", ; + Column54.FontName = "Arial", ; + Column54.Name = "cIdFurnizor", ; + Column54.ReadOnly = .T., ; + Column55.ColumnOrder = 57, ; + Column55.ControlSource = "codnc8", ; + Column55.Name = "cCodNC8", ; + Column55.ReadOnly = .T., ; + Column55.Width = 159, ; + Column56.ColumnOrder = 58, ; + Column56.ControlSource = "greutate", ; + Column56.Name = "cGreutate", ; + Column56.ReadOnly = .T., ; + Column57.ColumnOrder = 59, ; + Column57.ControlSource = "tara_origine", ; + Column57.Name = "cTaraOrigine", ; + Column57.ReadOnly = .T., ; + Column57.Width = 167, ; + Column58.ColumnOrder = 60, ; + Column58.ControlSource = "explicatie_tva", ; + Column58.Name = "cExplicatieTVA", ; + Column58.ReadOnly = .T., ; + Column58.Width = 146, ; + Column59.ColumnOrder = 61, ; + Column59.ControlSource = "taxname", ; + Column59.Name = "cTaxName", ; + Column59.ReadOnly = .T., ; + Column59.Width = 156, ; + Column60.ColumnOrder = 47, ; + Column60.ControlSource = "id_set", ; + Column60.Name = "cIdSet", ; + Column60.ReadOnly = .T., ; + Column60.Width = 78, ; + Column61.ColumnOrder = 4, ; + Column61.ControlSource = "fdoc", ; + Column61.Name = "cFelDoc", ; + Column61.ReadOnly = .T., ; + Column61.Width = 99, ; + Column62.ColumnOrder = 1, ; + Column62.ControlSource = "ales", ; + Column62.CurrentControl = "_checkbox1", ; + Column62.Name = "cAles", ; + Column62.ReadOnly = .F., ; + Column62.Sparse = .F., ; + Column62.Width = 28, ; + Column63.ColumnOrder = 63, ; + Column63.ControlSource = "id_fact", ; + Column63.Name = "cIdFact", ; + Column63.ReadOnly = .T. + *< END OBJECT: ClassLib="_grd_base.vcx" BaseClass="grid" /> + + ADD OBJECT 'pgframe.Page1.grdrulaje.cAcont.Header1' AS header WITH ; + Alignment = 2, ; + Caption = "Analitic", ; + FontSize = 10, ; + Name = "Header1" + *< END OBJECT: BaseClass="header" /> + + ADD OBJECT 'pgframe.Page1.grdrulaje.cAcont.Text1' AS textbox WITH ; + BackColor = 255,255,255, ; + BorderStyle = 0, ; + FontName = "Arial", ; + ForeColor = 0,0,0, ; + Margin = 0, ; + Name = "Text1", ; + ReadOnly = .T., ; + SelectedBackColor = 100,185,255 + *< END OBJECT: BaseClass="textbox" /> + + ADD OBJECT 'pgframe.Page1.grdrulaje.cAdaos.Header1' AS header WITH ; + Alignment = 2, ; + Caption = "Adaos", ; + FontSize = 10, ; + Name = "Header1" + *< END OBJECT: BaseClass="header" /> + + ADD OBJECT 'pgframe.Page1.grdrulaje.cAdaos.Text1' AS textbox WITH ; + BackColor = 255,255,255, ; + BorderStyle = 0, ; + FontName = "Arial", ; + ForeColor = 0,0,0, ; + Margin = 0, ; + Name = "Text1", ; + ReadOnly = .T., ; + SelectedBackColor = 100,185,255 + *< END OBJECT: BaseClass="textbox" /> + + ADD OBJECT 'pgframe.Page1.grdrulaje.cAles._checkbox1' AS _checkbox WITH ; + Alignment = 2, ; + Caption = "", ; + Left = 18, ; + Name = "_checkbox1", ; + ReadOnly = .F., ; + Top = 59 + *< END OBJECT: ClassLib="..\..\..\roacont\comun\clase\_baza.vcx" BaseClass="checkbox" /> + + ADD OBJECT 'pgframe.Page1.grdrulaje.cAles.Header1' AS header WITH ; + Alignment = 2, ; + Caption = "Ales", ; + Name = "Header1" + *< END OBJECT: BaseClass="header" /> + + ADD OBJECT 'pgframe.Page1.grdrulaje.cAles.Text1' AS textbox WITH ; + BackColor = 255,255,255, ; + BorderStyle = 0, ; + ForeColor = 0,0,0, ; + Margin = 0, ; + Name = "Text1", ; + SelectedBackColor = 100,185,255 + *< END OBJECT: BaseClass="textbox" /> + + ADD OBJECT 'pgframe.Page1.grdrulaje.cCant.Header1' AS header WITH ; + Alignment = 2, ; + Caption = "Intrari", ; + FontSize = 10, ; + Name = "Header1" + *< END OBJECT: BaseClass="header" /> + + ADD OBJECT 'pgframe.Page1.grdrulaje.cCant.Text1' AS textbox WITH ; + BackColor = 255,255,255, ; + BorderStyle = 0, ; + FontName = "Arial", ; + ForeColor = 0,0,0, ; + Margin = 0, ; + Name = "Text1", ; + ReadOnly = .T., ; + SelectedBackColor = 100,185,255 + *< END OBJECT: BaseClass="textbox" /> + + ADD OBJECT 'pgframe.Page1.grdrulaje.cCante.Header1' AS header WITH ; + Alignment = 2, ; + Caption = "Iesiri", ; + FontSize = 10, ; + Name = "Header1" + *< END OBJECT: BaseClass="header" /> + + ADD OBJECT 'pgframe.Page1.grdrulaje.cCante.Text1' AS textbox WITH ; + BackColor = 255,255,255, ; + BorderStyle = 0, ; + FontName = "Arial", ; + ForeColor = 0,0,0, ; + Margin = 0, ; + Name = "Text1", ; + ReadOnly = .T., ; + SelectedBackColor = 100,185,255 + *< END OBJECT: BaseClass="textbox" /> + + ADD OBJECT 'pgframe.Page1.grdrulaje.cCod.Header1' AS header WITH ; + Alignment = 2, ; + Caption = "Cod", ; + FontSize = 10, ; + Name = "Header1" + *< END OBJECT: BaseClass="header" /> + + ADD OBJECT 'pgframe.Page1.grdrulaje.cCod.Text1' AS textbox WITH ; + BackColor = 255,255,255, ; + BorderStyle = 0, ; + FontName = "Arial", ; + ForeColor = 0,0,0, ; + Margin = 0, ; + Name = "Text1", ; + ReadOnly = .T., ; + SelectedBackColor = 100,185,255 + *< END OBJECT: BaseClass="textbox" /> + + ADD OBJECT 'pgframe.Page1.grdrulaje.cCodBare.Header1' AS header WITH ; + Alignment = 2, ; + Caption = "Cod bare", ; + FontSize = 10, ; + Name = "Header1" + *< END OBJECT: BaseClass="header" /> + + ADD OBJECT 'pgframe.Page1.grdrulaje.cCodBare.Text1' AS textbox WITH ; + BackColor = 255,255,255, ; + BorderStyle = 0, ; + FontName = "Arial", ; + ForeColor = 0,0,0, ; + Margin = 0, ; + Name = "Text1", ; + ReadOnly = .T., ; + SelectedBackColor = 100,185,255 + *< END OBJECT: BaseClass="textbox" /> + + ADD OBJECT 'pgframe.Page1.grdrulaje.cCodmat.Header1' AS header WITH ; + Alignment = 2, ; + Caption = "Cod material", ; + FontSize = 10, ; + Name = "Header1" + *< END OBJECT: BaseClass="header" /> + + ADD OBJECT 'pgframe.Page1.grdrulaje.cCodmat.Text1' AS textbox WITH ; + BackColor = 255,255,255, ; + BorderStyle = 0, ; + FontName = "Arial", ; + ForeColor = 0,0,0, ; + Margin = 0, ; + Name = "Text1", ; + ReadOnly = .T., ; + SelectedBackColor = 100,185,255 + *< END OBJECT: BaseClass="textbox" /> + + ADD OBJECT 'pgframe.Page1.grdrulaje.cCodmatF.Header1' AS header WITH ; + Alignment = 2, ; + Caption = "Cod furnizor", ; + FontSize = 10, ; + Name = "Header1" + *< END OBJECT: BaseClass="header" /> + + ADD OBJECT 'pgframe.Page1.grdrulaje.cCodmatF.Text1' AS textbox WITH ; + BackColor = 255,255,255, ; + BorderStyle = 0, ; + FontName = "Arial", ; + ForeColor = 0,0,0, ; + Margin = 0, ; + Name = "Text1", ; + ReadOnly = .T., ; + SelectedBackColor = 100,185,255 + *< END OBJECT: BaseClass="textbox" /> + + ADD OBJECT 'pgframe.Page1.grdrulaje.cCodNC8.Header1' AS header WITH ; + Alignment = 2, ; + Caption = "Cod NC8", ; + Name = "Header1" + *< END OBJECT: BaseClass="header" /> + + ADD OBJECT 'pgframe.Page1.grdrulaje.cCodNC8.Text1' AS textbox WITH ; + BackColor = 255,255,255, ; + BorderStyle = 0, ; + ForeColor = 0,0,0, ; + Margin = 0, ; + Name = "Text1", ; + ReadOnly = .T., ; + SelectedBackColor = 100,185,255 + *< END OBJECT: BaseClass="textbox" /> + + ADD OBJECT 'pgframe.Page1.grdrulaje.cCont.Header1' AS header WITH ; + Alignment = 2, ; + Caption = "Cont", ; + FontSize = 10, ; + Name = "Header1" + *< END OBJECT: BaseClass="header" /> + + ADD OBJECT 'pgframe.Page1.grdrulaje.cCont.Text1' AS textbox WITH ; + BackColor = 255,255,255, ; + BorderStyle = 0, ; + FontName = "Arial", ; + ForeColor = 0,0,0, ; + Margin = 0, ; + Name = "Text1", ; + ReadOnly = .T., ; + SelectedBackColor = 100,185,255 + *< END OBJECT: BaseClass="textbox" /> + + ADD OBJECT 'pgframe.Page1.grdrulaje.cCurs.Header1' AS header WITH ; + Alignment = 2, ; + Caption = "Curs valutar", ; + FontSize = 10, ; + Name = "Header1" + *< END OBJECT: BaseClass="header" /> + + ADD OBJECT 'pgframe.Page1.grdrulaje.cCurs.Text1' AS textbox WITH ; + BackColor = 255,255,255, ; + BorderStyle = 0, ; + FontName = "Arial", ; + ForeColor = 0,0,0, ; + Margin = 0, ; + Name = "Text1", ; + ReadOnly = .T., ; + SelectedBackColor = 100,185,255 + *< END OBJECT: BaseClass="textbox" /> + + ADD OBJECT 'pgframe.Page1.grdrulaje.cDataact.Header1' AS header WITH ; + Alignment = 2, ; + Caption = "Data act", ; + FontSize = 10, ; + Name = "Header1" + *< END OBJECT: BaseClass="header" /> + + ADD OBJECT 'pgframe.Page1.grdrulaje.cDataact.Text1' AS textbox WITH ; + BackColor = 255,255,255, ; + BorderStyle = 0, ; + FontName = "Arial", ; + ForeColor = 0,0,0, ; + Margin = 0, ; + Name = "Text1", ; + ReadOnly = .T., ; + SelectedBackColor = 100,185,255 + *< END OBJECT: BaseClass="textbox" /> + + ADD OBJECT 'pgframe.Page1.grdrulaje.cDataExpirare.Header1' AS header WITH ; + Alignment = 2, ; + Caption = "Data expirare", ; + FontSize = 10, ; + Name = "Header1" + *< END OBJECT: BaseClass="header" /> + + ADD OBJECT 'pgframe.Page1.grdrulaje.cDataExpirare.Text1' AS textbox WITH ; + BackColor = 255,255,255, ; + BorderStyle = 0, ; + FontName = "Arial", ; + ForeColor = 0,0,0, ; + Margin = 0, ; + Name = "Text1", ; + ReadOnly = .T., ; + SelectedBackColor = 100,185,255 + *< END OBJECT: BaseClass="textbox" /> + + ADD OBJECT 'pgframe.Page1.grdrulaje.cDatain.Header1' AS header WITH ; + Alignment = 2, ; + Caption = "Data intrare", ; + FontSize = 10, ; + Name = "Header1" + *< END OBJECT: BaseClass="header" /> + + ADD OBJECT 'pgframe.Page1.grdrulaje.cDatain.Text1' AS textbox WITH ; + BackColor = 255,255,255, ; + BorderStyle = 0, ; + FontName = "Arial", ; + ForeColor = 0,0,0, ; + Margin = 0, ; + Name = "Text1", ; + ReadOnly = .T., ; + SelectedBackColor = 100,185,255 + *< END OBJECT: BaseClass="textbox" /> + + ADD OBJECT 'pgframe.Page1.grdrulaje.cDataora.Header1' AS header WITH ; + Alignment = 2, ; + Caption = "Dataora introducerii", ; + FontSize = 10, ; + Name = "Header1" + *< END OBJECT: BaseClass="header" /> + + ADD OBJECT 'pgframe.Page1.grdrulaje.cDataora.Text1' AS textbox WITH ; + BackColor = 255,255,255, ; + BorderStyle = 0, ; + FontName = "Arial", ; + ForeColor = 0,0,0, ; + Margin = 0, ; + Name = "Text1", ; + ReadOnly = .T., ; + SelectedBackColor = 100,185,255 + *< END OBJECT: BaseClass="textbox" /> + + ADD OBJECT 'pgframe.Page1.grdrulaje.cDataoras.Header1' AS header WITH ; + Alignment = 2, ; + Caption = "Data / ora stergerii", ; + FontSize = 10, ; + Name = "Header1" + *< END OBJECT: BaseClass="header" /> + + ADD OBJECT 'pgframe.Page1.grdrulaje.cDataoras.Text1' AS textbox WITH ; + BackColor = 255,255,255, ; + BorderStyle = 0, ; + FontName = "Arial", ; + ForeColor = 0,0,0, ; + Margin = 0, ; + Name = "Text1", ; + ReadOnly = .T., ; + SelectedBackColor = 100,185,255 + *< END OBJECT: BaseClass="textbox" /> + + ADD OBJECT 'pgframe.Page1.grdrulaje.cDataOut.Header1' AS header WITH ; + Alignment = 2, ; + Caption = "Data iesire", ; + FontSize = 10, ; + Name = "Header1" + *< END OBJECT: BaseClass="header" /> + + ADD OBJECT 'pgframe.Page1.grdrulaje.cDataOut.Text1' AS textbox WITH ; + BackColor = 255,255,255, ; + BorderStyle = 0, ; + FontName = "Arial", ; + ForeColor = 0,0,0, ; + Margin = 0, ; + Name = "Text1", ; + ReadOnly = .T., ; + SelectedBackColor = 100,185,255 + *< END OBJECT: BaseClass="textbox" /> + + ADD OBJECT 'pgframe.Page1.grdrulaje.cDenumire.Header1' AS header WITH ; + Alignment = 2, ; + Caption = "Denumire", ; + FontSize = 10, ; + Name = "Header1" + *< END OBJECT: BaseClass="header" /> + + ADD OBJECT 'pgframe.Page1.grdrulaje.cDenumire.Text1' AS textbox WITH ; + BackColor = 255,255,255, ; + BorderStyle = 0, ; + FontName = "Arial", ; + ForeColor = 0,0,0, ; + Margin = 0, ; + Name = "Text1", ; + ReadOnly = .T., ; + SelectedBackColor = 100,185,255 + *< END OBJECT: BaseClass="textbox" /> + + ADD OBJECT 'pgframe.Page1.grdrulaje.cExplicatieTVA.Header1' AS header WITH ; + Alignment = 2, ; + Caption = "Explicatie TVA", ; + Name = "Header1" + *< END OBJECT: BaseClass="header" /> + + ADD OBJECT 'pgframe.Page1.grdrulaje.cExplicatieTVA.Text1' AS textbox WITH ; + BackColor = 255,255,255, ; + BorderStyle = 0, ; + ForeColor = 0,0,0, ; + Margin = 0, ; + Name = "Text1", ; + ReadOnly = .T., ; + SelectedBackColor = 100,185,255 + *< END OBJECT: BaseClass="textbox" /> + + ADD OBJECT 'pgframe.Page1.grdrulaje.cFelDoc.Header1' AS header WITH ; + Alignment = 2, ; + Caption = "Fel doc.", ; + Name = "Header1" + *< END OBJECT: BaseClass="header" /> + + ADD OBJECT 'pgframe.Page1.grdrulaje.cFelDoc.Text1' AS textbox WITH ; + BackColor = 255,255,255, ; + BorderStyle = 0, ; + ForeColor = 0,0,0, ; + Margin = 0, ; + Name = "Text1", ; + ReadOnly = .T., ; + SelectedBackColor = 100,185,255 + *< END OBJECT: BaseClass="textbox" /> + + ADD OBJECT 'pgframe.Page1.grdrulaje.cFurnizor.Header1' AS header WITH ; + Alignment = 2, ; + Caption = "Furnizor", ; + FontSize = 10, ; + Name = "Header1" + *< END OBJECT: BaseClass="header" /> + + ADD OBJECT 'pgframe.Page1.grdrulaje.cFurnizor.Text1' AS textbox WITH ; + BackColor = 255,255,255, ; + BorderStyle = 0, ; + FontName = "Arial", ; + ForeColor = 0,0,0, ; + Margin = 0, ; + Name = "Text1", ; + ReadOnly = .T., ; + SelectedBackColor = 100,185,255 + *< END OBJECT: BaseClass="textbox" /> + + ADD OBJECT 'pgframe.Page1.grdrulaje.cGest.Header1' AS header WITH ; + Alignment = 2, ; + Caption = "Gestiunea", ; + FontSize = 10, ; + Name = "Header1" + *< END OBJECT: BaseClass="header" /> + + ADD OBJECT 'pgframe.Page1.grdrulaje.cGest.Text1' AS textbox WITH ; + BackColor = 255,255,255, ; + BorderStyle = 0, ; + FontName = "Arial", ; + ForeColor = 0,0,0, ; + Margin = 0, ; + Name = "Text1", ; + ReadOnly = .T., ; + SelectedBackColor = 100,185,255 + *< END OBJECT: BaseClass="textbox" /> + + ADD OBJECT 'pgframe.Page1.grdrulaje.cGestC.Header1' AS header WITH ; + Alignment = 2, ; + Caption = "Gestiune C", ; + FontSize = 10, ; + Name = "Header1" + *< END OBJECT: BaseClass="header" /> + + ADD OBJECT 'pgframe.Page1.grdrulaje.cGestC.Text1' AS textbox WITH ; + BackColor = 255,255,255, ; + BorderStyle = 0, ; + FontName = "Arial", ; + ForeColor = 0,0,0, ; + Margin = 0, ; + Name = "Text1", ; + ReadOnly = .T., ; + SelectedBackColor = 100,185,255 + *< END OBJECT: BaseClass="textbox" /> + + ADD OBJECT 'pgframe.Page1.grdrulaje.cGreutate.Header1' AS header WITH ; + Alignment = 2, ; + Caption = "Greutate (Kg)", ; + Name = "Header1" + *< END OBJECT: BaseClass="header" /> + + ADD OBJECT 'pgframe.Page1.grdrulaje.cGreutate.Text1' AS textbox WITH ; + BackColor = 255,255,255, ; + BorderStyle = 0, ; + ForeColor = 0,0,0, ; + Margin = 0, ; + Name = "Text1", ; + ReadOnly = .T., ; + SelectedBackColor = 100,185,255 + *< END OBJECT: BaseClass="textbox" /> + + ADD OBJECT 'pgframe.Page1.grdrulaje.cGrupa.Header1' AS header WITH ; + Alignment = 2, ; + Caption = "Grupa", ; + FontSize = 10, ; + Name = "Header1" + *< END OBJECT: BaseClass="header" /> + + ADD OBJECT 'pgframe.Page1.grdrulaje.cGrupa.Text1' AS textbox WITH ; + BackColor = 255,255,255, ; + BorderStyle = 0, ; + FontName = "Arial", ; + ForeColor = 0,0,0, ; + Margin = 0, ; + Name = "Text1", ; + ReadOnly = .T., ; + SelectedBackColor = 100,185,255 + *< END OBJECT: BaseClass="textbox" /> + + ADD OBJECT 'pgframe.Page1.grdrulaje.cIdArticol.Header1' AS header WITH ; + Alignment = 2, ; + Caption = "Id articol", ; + FontSize = 10, ; + Name = "Header1" + *< END OBJECT: BaseClass="header" /> + + ADD OBJECT 'pgframe.Page1.grdrulaje.cIdArticol.Text1' AS textbox WITH ; + BackColor = 255,255,255, ; + BorderStyle = 0, ; + FontName = "Arial", ; + ForeColor = 0,0,0, ; + Margin = 0, ; + Name = "Text1", ; + ReadOnly = .T., ; + SelectedBackColor = 100,185,255 + *< END OBJECT: BaseClass="textbox" /> + + ADD OBJECT 'pgframe.Page1.grdrulaje.cIdFact.Header1' AS header WITH ; + Alignment = 2, ; + Caption = "Id Fact", ; + Name = "Header1" + *< END OBJECT: BaseClass="header" /> + + ADD OBJECT 'pgframe.Page1.grdrulaje.cIdFact.Text1' AS textbox WITH ; + BackColor = 255,255,255, ; + BorderStyle = 0, ; + ForeColor = 0,0,0, ; + Margin = 0, ; + Name = "Text1", ; + ReadOnly = .T., ; + SelectedBackColor = 100,185,255 + *< END OBJECT: BaseClass="textbox" /> + + ADD OBJECT 'pgframe.Page1.grdrulaje.cIdFurnizor.Header1' AS header WITH ; + Alignment = 2, ; + Caption = "Id furnizor", ; + FontSize = 10, ; + Name = "Header1" + *< END OBJECT: BaseClass="header" /> + + ADD OBJECT 'pgframe.Page1.grdrulaje.cIdFurnizor.Text1' AS textbox WITH ; + BackColor = 255,255,255, ; + BorderStyle = 0, ; + FontName = "Arial", ; + ForeColor = 0,0,0, ; + Margin = 0, ; + Name = "Text1", ; + ReadOnly = .T., ; + SelectedBackColor = 100,185,255 + *< END OBJECT: BaseClass="textbox" /> + + ADD OBJECT 'pgframe.Page1.grdrulaje.cIdSet.Header1' AS header WITH ; + Alignment = 2, ; + Caption = "Tip operatie", ; + Name = "Header1" + *< END OBJECT: BaseClass="header" /> + + ADD OBJECT 'pgframe.Page1.grdrulaje.cIdSet.Text1' AS textbox WITH ; + BackColor = 255,255,255, ; + BorderStyle = 0, ; + ForeColor = 0,0,0, ; + Margin = 0, ; + Name = "Text1", ; + ReadOnly = .T., ; + SelectedBackColor = 100,185,255 + *< END OBJECT: BaseClass="textbox" /> + + ADD OBJECT 'pgframe.Page1.grdrulaje.cLot.Header1' AS header WITH ; + Alignment = 2, ; + Caption = "Lot", ; + FontSize = 10, ; + Name = "Header1" + *< END OBJECT: BaseClass="header" /> + + ADD OBJECT 'pgframe.Page1.grdrulaje.cLot.Text1' AS textbox WITH ; + BackColor = 255,255,255, ; + BorderStyle = 0, ; + FontName = "Arial", ; + ForeColor = 0,0,0, ; + Margin = 0, ; + Name = "Text1", ; + ReadOnly = .T., ; + SelectedBackColor = 100,185,255 + *< END OBJECT: BaseClass="textbox" /> + + ADD OBJECT 'pgframe.Page1.grdrulaje.cNnir.Header1' AS header WITH ; + Alignment = 2, ; + Caption = "Nr. NIR/Bon", ; + FontSize = 10, ; + Name = "Header1" + *< END OBJECT: BaseClass="header" /> + + ADD OBJECT 'pgframe.Page1.grdrulaje.cNnir.Text1' AS textbox WITH ; + BackColor = 255,255,255, ; + BorderStyle = 0, ; + FontName = "Arial", ; + ForeColor = 0,0,0, ; + Margin = 0, ; + Name = "Text1", ; + ReadOnly = .T., ; + SelectedBackColor = 100,185,255 + *< END OBJECT: BaseClass="textbox" /> + + ADD OBJECT 'pgframe.Page1.grdrulaje.cNract.Header1' AS header WITH ; + Alignment = 2, ; + Caption = "Nr.act", ; + FontSize = 10, ; + Name = "Header1" + *< END OBJECT: BaseClass="header" /> + + ADD OBJECT 'pgframe.Page1.grdrulaje.cNract.Text1' AS textbox WITH ; + BackColor = 255,255,255, ; + BorderStyle = 0, ; + FontName = "Arial", ; + ForeColor = 0,0,0, ; + Margin = 0, ; + Name = "Text1", ; + ReadOnly = .T., ; + SelectedBackColor = 100,185,255 + *< END OBJECT: BaseClass="textbox" /> + + ADD OBJECT 'pgframe.Page1.grdrulaje.cNrCrt.Header1' AS header WITH ; + Alignment = 2, ; + Caption = "Nr.crt.", ; + FontSize = 10, ; + Name = "Header1" + *< END OBJECT: BaseClass="header" /> + + ADD OBJECT 'pgframe.Page1.grdrulaje.cNrCrt.Text1' AS textbox WITH ; + BackColor = 255,255,255, ; + BorderStyle = 0, ; + FontName = "Arial", ; + ForeColor = 0,0,0, ; + Margin = 0, ; + Name = "Text1", ; + ReadOnly = .T., ; + SelectedBackColor = 100,185,255 + *< END OBJECT: BaseClass="textbox" /> + + ADD OBJECT 'pgframe.Page1.grdrulaje.cNresp.Header1' AS header WITH ; + Alignment = 2, ; + Caption = "Responsabil", ; + FontSize = 10, ; + Name = "Header1" + *< END OBJECT: BaseClass="header" /> + + ADD OBJECT 'pgframe.Page1.grdrulaje.cNresp.Text1' AS textbox WITH ; + BackColor = 255,255,255, ; + BorderStyle = 0, ; + FontName = "Arial", ; + ForeColor = 0,0,0, ; + Margin = 0, ; + Name = "Text1", ; + ReadOnly = .T., ; + SelectedBackColor = 100,185,255 + *< END OBJECT: BaseClass="textbox" /> + + ADD OBJECT 'pgframe.Page1.grdrulaje.cNrespC.Header1' AS header WITH ; + Alignment = 2, ; + Caption = "Responsabil C", ; + FontSize = 10, ; + Name = "Header1" + *< END OBJECT: BaseClass="header" /> + + ADD OBJECT 'pgframe.Page1.grdrulaje.cNrespC.Text1' AS textbox WITH ; + BackColor = 255,255,255, ; + BorderStyle = 0, ; + FontName = "Arial", ; + ForeColor = 0,0,0, ; + Margin = 0, ; + Name = "Text1", ; + ReadOnly = .T., ; + SelectedBackColor = 100,185,255 + *< END OBJECT: BaseClass="textbox" /> + + ADD OBJECT 'pgframe.Page1.grdrulaje.cNrord.Header1' AS header WITH ; + Alignment = 2, ; + Caption = "Lucrare/Comanda", ; + FontSize = 10, ; + Name = "Header1" + *< END OBJECT: BaseClass="header" /> + + ADD OBJECT 'pgframe.Page1.grdrulaje.cNrord.Text1' AS textbox WITH ; + BackColor = 255,255,255, ; + BorderStyle = 0, ; + FontName = "Arial", ; + ForeColor = 0,0,0, ; + Margin = 0, ; + Name = "Text1", ; + ReadOnly = .T., ; + SelectedBackColor = 100,185,255 + *< END OBJECT: BaseClass="textbox" /> + + ADD OBJECT 'pgframe.Page1.grdrulaje.cNrord_rez.Header1' AS header WITH ; + Alignment = 2, ; + Caption = "Lucrare rez.", ; + FontSize = 10, ; + Name = "Header1" + *< END OBJECT: BaseClass="header" /> + + ADD OBJECT 'pgframe.Page1.grdrulaje.cNrord_rez.Text1' AS textbox WITH ; + BackColor = 255,255,255, ; + BorderStyle = 0, ; + FontName = "Arial", ; + ForeColor = 0,0,0, ; + Margin = 0, ; + Name = "Text1", ; + ReadOnly = .T., ; + SelectedBackColor = 100,185,255 + *< END OBJECT: BaseClass="textbox" /> + + ADD OBJECT 'pgframe.Page1.grdrulaje.cNume_val.Header1' AS header WITH ; + Alignment = 2, ; + Caption = "Valuta", ; + FontSize = 10, ; + Name = "Header1" + *< END OBJECT: BaseClass="header" /> + + ADD OBJECT 'pgframe.Page1.grdrulaje.cNume_val.Text1' AS textbox WITH ; + BackColor = 255,255,255, ; + BorderStyle = 0, ; + FontName = "Arial", ; + ForeColor = 0,0,0, ; + Margin = 0, ; + Name = "Text1", ; + ReadOnly = .T., ; + SelectedBackColor = 100,185,255 + *< END OBJECT: BaseClass="textbox" /> + + ADD OBJECT 'pgframe.Page1.grdrulaje.Column34.Header1' AS header WITH ; + Alignment = 2, ; + Caption = "Cant 2", ; + FontSize = 10, ; + Name = "Header1" + *< END OBJECT: BaseClass="header" /> + + ADD OBJECT 'pgframe.Page1.grdrulaje.Column34.Text1' AS textbox WITH ; + BackColor = 255,255,255, ; + BorderStyle = 0, ; + FontName = "Arial", ; + ForeColor = 0,0,0, ; + Margin = 0, ; + Name = "Text1", ; + ReadOnly = .T., ; + SelectedBackColor = 100,185,255 + *< END OBJECT: BaseClass="textbox" /> + + ADD OBJECT 'pgframe.Page1.grdrulaje.Column35.Header1' AS header WITH ; + Alignment = 2, ; + Caption = "UM 2", ; + FontSize = 10, ; + Name = "Header1" + *< END OBJECT: BaseClass="header" /> + + ADD OBJECT 'pgframe.Page1.grdrulaje.Column35.Text1' AS textbox WITH ; + BackColor = 255,255,255, ; + BorderStyle = 0, ; + FontName = "Arial", ; + ForeColor = 0,0,0, ; + Margin = 0, ; + Name = "Text1", ; + ReadOnly = .T., ; + SelectedBackColor = 100,185,255 + *< END OBJECT: BaseClass="textbox" /> + + ADD OBJECT 'pgframe.Page1.grdrulaje.Column43.Header1' AS header WITH ; + Alignment = 2, ; + Caption = "Valoare valuta", ; + FontSize = 10, ; + Name = "Header1" + *< END OBJECT: BaseClass="header" /> + + ADD OBJECT 'pgframe.Page1.grdrulaje.Column43.Text1' AS textbox WITH ; + BackColor = 255,255,255, ; + BorderStyle = 0, ; + FontName = "Arial", ; + ForeColor = 0,0,0, ; + Margin = 0, ; + Name = "Text1", ; + ReadOnly = .T., ; + SelectedBackColor = 100,185,255 + *< END OBJECT: BaseClass="textbox" /> + + ADD OBJECT 'pgframe.Page1.grdrulaje.cPart_rez.Header1' AS header WITH ; + Alignment = 2, ; + Caption = "Part. rez.", ; + FontSize = 10, ; + Name = "Header1" + *< END OBJECT: BaseClass="header" /> + + ADD OBJECT 'pgframe.Page1.grdrulaje.cPart_rez.Text1' AS textbox WITH ; + BackColor = 255,255,255, ; + BorderStyle = 0, ; + FontName = "Arial", ; + ForeColor = 0,0,0, ; + Margin = 0, ; + Name = "Text1", ; + ReadOnly = .T., ; + SelectedBackColor = 100,185,255 + *< END OBJECT: BaseClass="textbox" /> + + ADD OBJECT 'pgframe.Page1.grdrulaje.cPret.Header1' AS header WITH ; + Alignment = 2, ; + Caption = "Pret", ; + FontSize = 10, ; + Name = "Header1" + *< END OBJECT: BaseClass="header" /> + + ADD OBJECT 'pgframe.Page1.grdrulaje.cPret.Text1' AS textbox WITH ; + BackColor = 255,255,255, ; + BorderStyle = 0, ; + FontName = "Arial", ; + ForeColor = 0,0,0, ; + Margin = 0, ; + Name = "Text1", ; + ReadOnly = .T., ; + SelectedBackColor = 100,185,255 + *< END OBJECT: BaseClass="textbox" /> + + ADD OBJECT 'pgframe.Page1.grdrulaje.cPretd.Header1' AS header WITH ; + Alignment = 2, ; + Caption = "Pret in valuta", ; + FontSize = 10, ; + Name = "Header1" + *< END OBJECT: BaseClass="header" /> + + ADD OBJECT 'pgframe.Page1.grdrulaje.cPretd.Text1' AS textbox WITH ; + BackColor = 255,255,255, ; + BorderStyle = 0, ; + FontName = "Arial", ; + ForeColor = 0,0,0, ; + Margin = 0, ; + Name = "Text1", ; + ReadOnly = .T., ; + SelectedBackColor = 100,185,255 + *< END OBJECT: BaseClass="textbox" /> + + ADD OBJECT 'pgframe.Page1.grdrulaje.cPretv.Header1' AS header WITH ; + Alignment = 2, ; + Caption = "Pret vanzare", ; + FontSize = 10, ; + Name = "Header1" + *< END OBJECT: BaseClass="header" /> + + ADD OBJECT 'pgframe.Page1.grdrulaje.cPretv.Text1' AS textbox WITH ; + BackColor = 255,255,255, ; + BorderStyle = 0, ; + FontName = "Arial", ; + ForeColor = 0,0,0, ; + Margin = 0, ; + Name = "Text1", ; + ReadOnly = .T., ; + SelectedBackColor = 100,185,255 + *< END OBJECT: BaseClass="textbox" /> + + ADD OBJECT 'pgframe.Page1.grdrulaje.cPretvtva.Header1' AS header WITH ; + Alignment = 2, ; + Caption = "Pret vanzare cu TVA", ; + FontSize = 10, ; + Name = "Header1" + *< END OBJECT: BaseClass="header" /> + + ADD OBJECT 'pgframe.Page1.grdrulaje.cPretvtva.Text1' AS textbox WITH ; + BackColor = 255,255,255, ; + BorderStyle = 0, ; + FontName = "Arial", ; + ForeColor = 0,0,0, ; + Margin = 0, ; + Name = "Text1", ; + ReadOnly = .T., ; + SelectedBackColor = 100,185,255 + *< END OBJECT: BaseClass="textbox" /> + + ADD OBJECT 'pgframe.Page1.grdrulaje.cProc_tva.Header1' AS header WITH ; + Alignment = 2, ; + Caption = "Cota TVA", ; + FontSize = 10, ; + Name = "Header1" + *< END OBJECT: BaseClass="header" /> + + ADD OBJECT 'pgframe.Page1.grdrulaje.cProc_tva.Text1' AS textbox WITH ; + BackColor = 255,255,255, ; + BorderStyle = 0, ; + FontName = "Arial", ; + ForeColor = 0,0,0, ; + Margin = 0, ; + Name = "Text1", ; + ReadOnly = .T., ; + SelectedBackColor = 100,185,255 + *< END OBJECT: BaseClass="textbox" /> + + ADD OBJECT 'pgframe.Page1.grdrulaje.cProcent.Header1' AS header WITH ; + Alignment = 2, ; + Caption = "Procent", ; + FontSize = 10, ; + Name = "Header1" + *< END OBJECT: BaseClass="header" /> + + ADD OBJECT 'pgframe.Page1.grdrulaje.cProcent.Text1' AS textbox WITH ; + BackColor = 255,255,255, ; + BorderStyle = 0, ; + FontName = "Arial", ; + ForeColor = 0,0,0, ; + Margin = 0, ; + Name = "Text1", ; + ReadOnly = .T., ; + SelectedBackColor = 100,185,255 + *< END OBJECT: BaseClass="textbox" /> + + ADD OBJECT 'pgframe.Page1.grdrulaje.cSectie.Header1' AS header WITH ; + Alignment = 2, ; + Caption = "Sectie", ; + FontSize = 10, ; + Name = "Header1" + *< END OBJECT: BaseClass="header" /> + + ADD OBJECT 'pgframe.Page1.grdrulaje.cSectie.Text1' AS textbox WITH ; + BackColor = 255,255,255, ; + BorderStyle = 0, ; + FontName = "Arial", ; + ForeColor = 0,0,0, ; + Margin = 0, ; + Name = "Text1", ; + ReadOnly = .T., ; + SelectedBackColor = 100,185,255 + *< END OBJECT: BaseClass="textbox" /> + + ADD OBJECT 'pgframe.Page1.grdrulaje.cSerie.Header1' AS header WITH ; + Alignment = 2, ; + Caption = "Serie", ; + FontSize = 10, ; + Name = "Header1" + *< END OBJECT: BaseClass="header" /> + + ADD OBJECT 'pgframe.Page1.grdrulaje.cSerie.Text1' AS textbox WITH ; + BackColor = 255,255,255, ; + BorderStyle = 0, ; + FontName = "Arial", ; + ForeColor = 0,0,0, ; + Margin = 0, ; + Name = "Text1", ; + ReadOnly = .T., ; + SelectedBackColor = 100,185,255 + *< END OBJECT: BaseClass="textbox" /> + + ADD OBJECT 'pgframe.Page1.grdrulaje.cSerie_act.Header1' AS header WITH ; + Alignment = 2, ; + Caption = "Serie act", ; + FontSize = 10, ; + Name = "Header1" + *< END OBJECT: BaseClass="header" /> + + ADD OBJECT 'pgframe.Page1.grdrulaje.cSerie_act.Text1' AS textbox WITH ; + BackColor = 255,255,255, ; + BorderStyle = 0, ; + FontName = "Arial", ; + ForeColor = 0,0,0, ; + Margin = 0, ; + Name = "Text1", ; + ReadOnly = .T., ; + SelectedBackColor = 100,185,255 + *< END OBJECT: BaseClass="textbox" /> + + ADD OBJECT 'pgframe.Page1.grdrulaje.cSubgrupa.Header1' AS header WITH ; + Alignment = 2, ; + Caption = "Subgrupa", ; + FontSize = 10, ; + Name = "Header1" + *< END OBJECT: BaseClass="header" /> + + ADD OBJECT 'pgframe.Page1.grdrulaje.cSubgrupa.Text1' AS textbox WITH ; + BackColor = 255,255,255, ; + BorderStyle = 0, ; + FontName = "Arial", ; + ForeColor = 0,0,0, ; + Margin = 0, ; + Name = "Text1", ; + ReadOnly = .T., ; + SelectedBackColor = 100,185,255 + *< END OBJECT: BaseClass="textbox" /> + + ADD OBJECT 'pgframe.Page1.grdrulaje.cSucursala.Header1' AS header WITH ; + Alignment = 2, ; + Caption = "Sucursala", ; + FontSize = 10, ; + Name = "Header1" + *< END OBJECT: BaseClass="header" /> + + ADD OBJECT 'pgframe.Page1.grdrulaje.cSucursala.Text1' AS textbox WITH ; + BackColor = 255,255,255, ; + BorderStyle = 0, ; + FontName = "Arial", ; + ForeColor = 0,0,0, ; + Margin = 0, ; + Name = "Text1", ; + ReadOnly = .T., ; + SelectedBackColor = 100,185,255 + *< END OBJECT: BaseClass="textbox" /> + + ADD OBJECT 'pgframe.Page1.grdrulaje.cTaraOrigine.Header1' AS header WITH ; + Alignment = 2, ; + Caption = "Tara origine", ; + Name = "Header1" + *< END OBJECT: BaseClass="header" /> + + ADD OBJECT 'pgframe.Page1.grdrulaje.cTaraOrigine.Text1' AS textbox WITH ; + BackColor = 255,255,255, ; + BorderStyle = 0, ; + ForeColor = 0,0,0, ; + Margin = 0, ; + Name = "Text1", ; + ReadOnly = .T., ; + SelectedBackColor = 100,185,255 + *< END OBJECT: BaseClass="textbox" /> + + ADD OBJECT 'pgframe.Page1.grdrulaje.cTaxName.Header1' AS header WITH ; + Alignment = 2, ; + Caption = "Taxa SAFT", ; + Name = "Header1" + *< END OBJECT: BaseClass="header" /> + + ADD OBJECT 'pgframe.Page1.grdrulaje.cTaxName.Text1' AS textbox WITH ; + BackColor = 255,255,255, ; + BorderStyle = 0, ; + ForeColor = 0,0,0, ; + Margin = 0, ; + Name = "Text1", ; + ReadOnly = .T., ; + SelectedBackColor = 100,185,255 + *< END OBJECT: BaseClass="textbox" /> + + ADD OBJECT 'pgframe.Page1.grdrulaje.cTipRulaj.Header1' AS header WITH ; + Alignment = 2, ; + Caption = "Tip rulaj", ; + FontSize = 10, ; + Name = "Header1" + *< END OBJECT: BaseClass="header" /> + + ADD OBJECT 'pgframe.Page1.grdrulaje.cTipRulaj.Text1' AS textbox WITH ; + BackColor = 255,255,255, ; + BorderStyle = 0, ; + FontName = "Arial", ; + ForeColor = 0,0,0, ; + Margin = 0, ; + Name = "Text1", ; + ReadOnly = .T., ; + SelectedBackColor = 100,185,255 + *< END OBJECT: BaseClass="textbox" /> + + ADD OBJECT 'pgframe.Page1.grdrulaje.cTva.Header1' AS header WITH ; + Alignment = 2, ; + Caption = "TVA achizitie", ; + FontSize = 10, ; + Name = "Header1" + *< END OBJECT: BaseClass="header" /> + + ADD OBJECT 'pgframe.Page1.grdrulaje.cTva.Text1' AS textbox WITH ; + BackColor = 255,255,255, ; + BorderStyle = 0, ; + FontName = "Arial", ; + ForeColor = 0,0,0, ; + Margin = 0, ; + Name = "Text1", ; + ReadOnly = .T., ; + SelectedBackColor = 100,185,255 + *< END OBJECT: BaseClass="textbox" /> + + ADD OBJECT 'pgframe.Page1.grdrulaje.cTvav.Header1' AS header WITH ; + Alignment = 2, ; + Caption = "TVA vanzare", ; + FontSize = 10, ; + Name = "Header1" + *< END OBJECT: BaseClass="header" /> + + ADD OBJECT 'pgframe.Page1.grdrulaje.cTvav.Text1' AS textbox WITH ; + BackColor = 255,255,255, ; + BorderStyle = 0, ; + FontName = "Arial", ; + ForeColor = 0,0,0, ; + Margin = 0, ; + Name = "Text1", ; + ReadOnly = .T., ; + SelectedBackColor = 100,185,255 + *< END OBJECT: BaseClass="textbox" /> + + ADD OBJECT 'pgframe.Page1.grdrulaje.cUM.Header1' AS header WITH ; + Alignment = 2, ; + Caption = "UM", ; + FontSize = 10, ; + Name = "Header1" + *< END OBJECT: BaseClass="header" /> + + ADD OBJECT 'pgframe.Page1.grdrulaje.cUM.Text1' AS textbox WITH ; + BackColor = 255,255,255, ; + BorderStyle = 0, ; + FontName = "Arial", ; + ForeColor = 0,0,0, ; + Margin = 0, ; + Name = "Text1", ; + ReadOnly = .T., ; + SelectedBackColor = 100,185,255 + *< END OBJECT: BaseClass="textbox" /> + + ADD OBJECT 'pgframe.Page1.grdrulaje.cUtil.Header1' AS header WITH ; + Alignment = 2, ; + Caption = "Operator introducere", ; + FontSize = 10, ; + Name = "Header1" + *< END OBJECT: BaseClass="header" /> + + ADD OBJECT 'pgframe.Page1.grdrulaje.cUtil.Text1' AS textbox WITH ; + BackColor = 255,255,255, ; + BorderStyle = 0, ; + FontName = "Arial", ; + ForeColor = 0,0,0, ; + Margin = 0, ; + Name = "Text1", ; + ReadOnly = .T., ; + SelectedBackColor = 100,185,255 + *< END OBJECT: BaseClass="textbox" /> + + ADD OBJECT 'pgframe.Page1.grdrulaje.cUtils.Header1' AS header WITH ; + Alignment = 2, ; + Caption = "Utilizator stergere", ; + FontSize = 10, ; + Name = "Header1" + *< END OBJECT: BaseClass="header" /> + + ADD OBJECT 'pgframe.Page1.grdrulaje.cUtils.Text1' AS textbox WITH ; + BackColor = 255,255,255, ; + BorderStyle = 0, ; + FontName = "Arial", ; + ForeColor = 0,0,0, ; + Margin = 0, ; + Name = "Text1", ; + ReadOnly = .T., ; + SelectedBackColor = 100,185,255 + *< END OBJECT: BaseClass="textbox" /> + + ADD OBJECT 'pgframe.Page1.grdrulaje.cValoare.Header1' AS header WITH ; + Alignment = 2, ; + Caption = "Valoare achizitie", ; + FontSize = 10, ; + Name = "Header1" + *< END OBJECT: BaseClass="header" /> + + ADD OBJECT 'pgframe.Page1.grdrulaje.cValoare.Text1' AS textbox WITH ; + BackColor = 255,255,255, ; + BorderStyle = 0, ; + FontName = "Arial", ; + ForeColor = 0,0,0, ; + Margin = 0, ; + Name = "Text1", ; + ReadOnly = .T., ; + SelectedBackColor = 100,185,255 + *< END OBJECT: BaseClass="textbox" /> + + ADD OBJECT 'pgframe.Page1.Label1' AS _label WITH ; + Anchor = 9, ; + AutoSize = .T., ; + BackColor = 255,255,255, ; + Caption = "Cantitate intrari", ; + Height = 18, ; + Left = 11, ; + Name = "Label1", ; + TabIndex = 9, ; + Top = 17, ; + Width = 90, ; + ZOrderSet = 20 + *< END OBJECT: ClassLib="_baza.vcx" BaseClass="label" /> + + ADD OBJECT 'pgframe.Page1.Label2' AS _label WITH ; + Anchor = 9, ; + AutoSize = .T., ; + BackColor = 255,255,255, ; + Caption = "Cantitate iesiri", ; + Height = 18, ; + Left = 11, ; + Name = "Label2", ; + TabIndex = 8, ; + Top = 46, ; + Width = 85, ; + ZOrderSet = 20 + *< END OBJECT: ClassLib="_baza.vcx" BaseClass="label" /> + + ADD OBJECT 'pgframe.Page1.Label3' AS _label WITH ; + Anchor = 9, ; + AutoSize = .T., ; + BackColor = 255,255,255, ; + Caption = "Val. intrari fara TVA", ; + Height = 34, ; + Left = 218, ; + Name = "Label3", ; + TabIndex = 10, ; + Top = 10, ; + Width = 60, ; + WordWrap = .T., ; + ZOrderSet = 27 + *< END OBJECT: ClassLib="_baza.vcx" BaseClass="label" /> + + ADD OBJECT 'pgframe.Page1.Label4' AS _label WITH ; + Anchor = 9, ; + AutoSize = .T., ; + BackColor = 255,255,255, ; + Caption = "Val. iesiri fara TVA", ; + Height = 34, ; + Left = 218, ; + Name = "Label4", ; + TabIndex = 11, ; + Top = 39, ; + Width = 55, ; + WordWrap = .T., ; + ZOrderSet = 27 + *< END OBJECT: ClassLib="_baza.vcx" BaseClass="label" /> + + ADD OBJECT 'pgframe.Page1.Label5' AS _label WITH ; + Anchor = 9, ; + AutoSize = .T., ; + BackColor = 255,255,255, ; + Caption = "Valuta", ; + Height = 18, ; + Left = 633, ; + Name = "Label5", ; + TabIndex = 10, ; + Top = 17, ; + Width = 39, ; + ZOrderSet = 27 + *< END OBJECT: ClassLib="_baza.vcx" BaseClass="label" /> + + ADD OBJECT 'pgframe.Page1.Label6' AS _label WITH ; + Anchor = 9, ; + AutoSize = .T., ; + BackColor = 255,255,255, ; + Caption = "Val. vz. iesiri cu TVA", ; + Height = 34, ; + Left = 421, ; + Name = "Label6", ; + TabIndex = 11, ; + Top = 39, ; + Width = 75, ; + WordWrap = .T., ; + ZOrderSet = 27 + *< END OBJECT: ClassLib="_baza.vcx" BaseClass="label" /> + + ADD OBJECT 'pgframe.Page1.Label7' AS _label WITH ; + Anchor = 9, ; + AutoSize = .T., ; + BackColor = 255,255,255, ; + Caption = "Val. vz .intrari cu TVA", ; + Height = 34, ; + Left = 421, ; + Name = "Label7", ; + TabIndex = 10, ; + Top = 10, ; + Width = 80, ; + WordWrap = .T., ; + ZOrderSet = 27 + *< END OBJECT: ClassLib="_baza.vcx" BaseClass="label" /> + + ADD OBJECT 'pgframe.Page1.Shape1' AS shape WITH ; + Anchor = 9, ; + BackColor = 255,255,255, ; + Height = 69, ; + Left = 9, ; + Name = "Shape1", ; + SpecialEffect = 0, ; + Top = 8, ; + Width = 709, ; + ZOrderSet = 2 + *< END OBJECT: BaseClass="shape" /> + + ADD OBJECT 'pgframe.Page1.Text1' AS _textbox WITH ; + Alignment = 1, ; + Anchor = 9, ; + BackColor = 255,255,255, ; + ControlSource = "thisform.ncanti", ; + FontName = "Arial", ; + Format = "R", ; + Height = 23, ; + InputMask = (get_mask(12,gnPCANT)), ; + Left = 103, ; + Name = "Text1", ; + ReadOnly = .T., ; + TabIndex = 4, ; + TabStop = .F., ; + Top = 14, ; + Width = 110, ; + ZOrderSet = 13 + *< END OBJECT: ClassLib="_baza.vcx" BaseClass="textbox" /> + + ADD OBJECT 'pgframe.Page1.Text2' AS _textbox WITH ; + Alignment = 1, ; + Anchor = 9, ; + BackColor = 255,255,255, ; + ControlSource = "thisform.ncantie", ; + FontName = "Arial", ; + Format = "R", ; + Height = 23, ; + InputMask = (get_mask(12,gnPCANT)), ; + Left = 103, ; + Name = "Text2", ; + ReadOnly = .T., ; + TabIndex = 5, ; + TabStop = .F., ; + Top = 42, ; + Width = 110, ; + ZOrderSet = 16 + *< END OBJECT: ClassLib="_baza.vcx" BaseClass="textbox" /> + + ADD OBJECT 'pgframe.Page1.Text3' AS _textbox WITH ; + Alignment = 1, ; + Anchor = 9, ; + BackColor = 255,255,255, ; + ControlSource = "thisform.nsumi", ; + FontName = "Arial", ; + Format = "R", ; + Height = 23, ; + InputMask = (get_mask(12,gnPA)), ; + Left = 293, ; + Name = "Text3", ; + ReadOnly = .T., ; + TabIndex = 6, ; + TabStop = .F., ; + Top = 14, ; + Width = 120, ; + ZOrderSet = 14 + *< END OBJECT: ClassLib="_baza.vcx" BaseClass="textbox" /> + + ADD OBJECT 'pgframe.Page1.Text4' AS _textbox WITH ; + Alignment = 1, ; + Anchor = 9, ; + BackColor = 255,255,255, ; + ControlSource = "thisform.nsumie", ; + FontName = "Arial", ; + Format = "R", ; + Height = 23, ; + InputMask = (get_mask(12,gnPA)), ; + Left = 293, ; + Name = "Text4", ; + ReadOnly = .T., ; + TabIndex = 7, ; + TabStop = .F., ; + Top = 42, ; + Width = 120, ; + ZOrderSet = 14 + *< END OBJECT: ClassLib="_baza.vcx" BaseClass="textbox" /> + + ADD OBJECT 'pgframe.Page1.Text5' AS _textbox WITH ; + Alignment = 1, ; + Anchor = 9, ; + BackColor = 255,255,255, ; + ControlSource = "thisform.nsumiv", ; + FontName = "Arial", ; + Format = "R", ; + Height = 23, ; + InputMask = (get_mask(12,gnPA)), ; + Left = 506, ; + Name = "Text5", ; + ReadOnly = .T., ; + TabIndex = 6, ; + TabStop = .F., ; + Top = 14, ; + Width = 120, ; + ZOrderSet = 14 + *< END OBJECT: ClassLib="_baza.vcx" BaseClass="textbox" /> + + ADD OBJECT 'pgframe.Page1.Text6' AS _textbox WITH ; + Alignment = 1, ; + Anchor = 9, ; + BackColor = 255,255,255, ; + ControlSource = "thisform.nsumiev", ; + FontName = "Arial", ; + Format = "R", ; + Height = 23, ; + InputMask = (get_mask(12,gnPA)), ; + Left = 506, ; + Name = "Text6", ; + ReadOnly = .T., ; + TabIndex = 7, ; + TabStop = .F., ; + Top = 42, ; + Width = 120, ; + ZOrderSet = 14 + *< END OBJECT: ClassLib="_baza.vcx" BaseClass="textbox" /> + + ADD OBJECT 'pgframe.Page2.but_modifica_furnizor' AS but_modifica WITH ; + Anchor = 0, ; + Height = 27, ; + Left = 688, ; + Name = "but_modifica_furnizor", ; + TabIndex = 29, ; + Top = 8, ; + Width = 29, ; + ZOrderSet = 10 + *< END OBJECT: ClassLib="cmd_butoane.vcx" BaseClass="commandbutton" /> + + ADD OBJECT 'pgframe.Page2.but_modifica_lucrare' AS but_modifica WITH ; + Anchor = 0, ; + Height = 27, ; + Left = 688, ; + Name = "but_modifica_lucrare", ; + TabIndex = 29, ; + Top = 60, ; + Width = 29, ; + ZOrderSet = 10 + *< END OBJECT: ClassLib="cmd_butoane.vcx" BaseClass="commandbutton" /> + + ADD OBJECT 'pgframe.Page2.but_modifica_responsabil' AS but_modifica WITH ; + Anchor = 0, ; + Height = 27, ; + Left = 688, ; + Name = "but_modifica_responsabil", ; + TabIndex = 29, ; + Top = 34, ; + Width = 29, ; + ZOrderSet = 10 + *< END OBJECT: ClassLib="cmd_butoane.vcx" BaseClass="commandbutton" /> + + ADD OBJECT 'pgframe.Page2.but_modifica_sectie' AS but_modifica WITH ; + Anchor = 0, ; + Height = 27, ; + Left = 688, ; + Name = "but_modifica_sectie", ; + TabIndex = 29, ; + Top = 86, ; + Width = 29, ; + ZOrderSet = 10 + *< END OBJECT: ClassLib="cmd_butoane.vcx" BaseClass="commandbutton" /> + + ADD OBJECT 'pgframe.Page2.grdnir' AS _grdrow WITH ; + Anchor = 15, ; + ColumnCount = 12, ; + DeleteMark = .F., ; + GridLineColor = 128,128,128, ; + Height = 308, ; + Left = 11, ; + Name = "grdnir", ; + Panel = 1, ; + RecordSource = "crsnir", ; + TabIndex = 3, ; + Tag = "RESIZABLE", ; + Top = 121, ; + Width = 708, ; + Column1.ControlSource = "nrcrt", ; + Column1.FontName = "Arial", ; + Column1.Name = "cNrcrt", ; + Column1.Width = 44, ; + Column2.ControlSource = "codmat", ; + Column2.FontName = "Arial", ; + Column2.Name = "cCodMat", ; + Column2.Width = 76, ; + Column3.ControlSource = "denumire", ; + Column3.FontName = "Arial", ; + Column3.Name = "cDenumire", ; + Column3.Width = 156, ; + Column4.ColumnOrder = 5, ; + Column4.ControlSource = "um", ; + Column4.FontName = "Arial", ; + Column4.Name = "cUM", ; + Column4.Width = 39, ; + Column5.ColumnOrder = 6, ; + Column5.ControlSource = "pret", ; + Column5.DynamicForeColor = "IIF(pret>=0, RGB(0,0,0), RGB(255,0,0))", ; + Column5.FontName = "Arial", ; + Column5.Format = "R", ; + Column5.InputMask = (get_mask(12,gnPpret)), ; + Column5.Name = "cPret", ; + Column5.Width = 70, ; + Column6.ColumnOrder = 7, ; + Column6.ControlSource = "cant", ; + Column6.DynamicForeColor = "IIF(cant>=0, RGB(0,0,0), RGB(255,0,0))", ; + Column6.FontName = "Arial", ; + Column6.Format = "R", ; + Column6.InputMask = (get_mask(12,gnPcant)), ; + Column6.Name = "cCant", ; + Column6.Width = 68, ; + Column7.ColumnOrder = 8, ; + Column7.ControlSource = "round(pret*cant,gnPc)", ; + Column7.FontName = "Arial", ; + Column7.Format = "R", ; + Column7.InputMask = (get_mask(12,gnPA)), ; + Column7.Name = "cValoare", ; + Column8.ColumnOrder = 9, ; + Column8.ControlSource = "round(tva*cant,gnPc)", ; + Column8.FontName = "Arial", ; + Column8.Format = "R", ; + Column8.InputMask = (get_mask(12,gnPA)), ; + Column8.Name = "cTva", ; + Column8.Width = 55, ; + Column9.ColumnOrder = 10, ; + Column9.ControlSource = "round(cant*(pret+tva),gnPc)", ; + Column9.FontName = "Arial", ; + Column9.Format = "R", ; + Column9.InputMask = (get_mask(12,gnPA)), ; + Column9.Name = "cTotal", ; + Column9.Width = 83, ; + Column10.ColumnOrder = 12, ; + Column10.ControlSource = "cod", ; + Column10.FontName = "Arial", ; + Column10.Name = "cCod", ; + Column11.ColumnOrder = 11, ; + Column11.FontName = "Arial", ; + Column11.Name = "cResponsabil", ; + Column11.Width = 120, ; + Column12.ColumnOrder = 4, ; + Column12.ControlSource = "serie", ; + Column12.FontName = "Arial", ; + Column12.Name = "cSerie", ; + Column12.Width = 86 + *< END OBJECT: ClassLib="_grd_base.vcx" BaseClass="grid" /> + + ADD OBJECT 'pgframe.Page2.grdnir.cCant.Header1' AS header WITH ; + Alignment = 2, ; + Caption = "Intrari", ; + FontSize = 10, ; + Name = "Header1" + *< END OBJECT: BaseClass="header" /> + + ADD OBJECT 'pgframe.Page2.grdnir.cCant.Text1' AS textbox WITH ; + BackColor = 255,255,255, ; + BorderStyle = 0, ; + FontName = "Arial", ; + ForeColor = 0,0,0, ; + Margin = 0, ; + Name = "Text1", ; + SelectedBackColor = 100,185,255 + *< END OBJECT: BaseClass="textbox" /> + + ADD OBJECT 'pgframe.Page2.grdnir.cCod.Header1' AS header WITH ; + Alignment = 2, ; + Caption = "Cod", ; + FontSize = 10, ; + Name = "Header1" + *< END OBJECT: BaseClass="header" /> + + ADD OBJECT 'pgframe.Page2.grdnir.cCod.Text1' AS textbox WITH ; + BackColor = 255,255,255, ; + BorderStyle = 0, ; + FontName = "Arial", ; + ForeColor = 0,0,0, ; + Margin = 0, ; + Name = "Text1", ; + SelectedBackColor = 100,185,255 + *< END OBJECT: BaseClass="textbox" /> + + ADD OBJECT 'pgframe.Page2.grdnir.cCodMat.Header1' AS header WITH ; + Alignment = 2, ; + Caption = "Cod material", ; + FontSize = 10, ; + Name = "Header1" + *< END OBJECT: BaseClass="header" /> + + ADD OBJECT 'pgframe.Page2.grdnir.cCodMat.Text1' AS textbox WITH ; + BackColor = 255,255,255, ; + BorderStyle = 0, ; + FontName = "Arial", ; + ForeColor = 0,0,0, ; + Margin = 0, ; + Name = "Text1", ; + SelectedBackColor = 100,185,255 + *< END OBJECT: BaseClass="textbox" /> + + ADD OBJECT 'pgframe.Page2.grdnir.cDenumire.Header1' AS header WITH ; + Alignment = 2, ; + Caption = "Denumire", ; + FontSize = 10, ; + Name = "Header1" + *< END OBJECT: BaseClass="header" /> + + ADD OBJECT 'pgframe.Page2.grdnir.cDenumire.Text1' AS textbox WITH ; + BackColor = 255,255,255, ; + BorderStyle = 0, ; + FontName = "Arial", ; + ForeColor = 0,0,0, ; + Margin = 0, ; + Name = "Text1", ; + SelectedBackColor = 100,185,255 + *< END OBJECT: BaseClass="textbox" /> + + ADD OBJECT 'pgframe.Page2.grdnir.cNrcrt.Header1' AS header WITH ; + Alignment = 2, ; + Caption = "Nr.crt.", ; + FontSize = 10, ; + Name = "Header1" + *< END OBJECT: BaseClass="header" /> + + ADD OBJECT 'pgframe.Page2.grdnir.cNrcrt.Text1' AS textbox WITH ; + BackColor = 255,255,255, ; + BorderStyle = 0, ; + FontName = "Arial", ; + ForeColor = 0,0,0, ; + Margin = 0, ; + Name = "Text1", ; + SelectedBackColor = 100,185,255 + *< END OBJECT: BaseClass="textbox" /> + + ADD OBJECT 'pgframe.Page2.grdnir.cPret.Header1' AS header WITH ; + Alignment = 2, ; + Caption = "Pret achizitie", ; + FontSize = 10, ; + Name = "Header1" + *< END OBJECT: BaseClass="header" /> + + ADD OBJECT 'pgframe.Page2.grdnir.cPret.Text1' AS textbox WITH ; + BackColor = 255,255,255, ; + BorderStyle = 0, ; + FontName = "Arial", ; + ForeColor = 0,0,0, ; + Margin = 0, ; + Name = "Text1", ; + SelectedBackColor = 100,185,255 + *< END OBJECT: BaseClass="textbox" /> + + ADD OBJECT 'pgframe.Page2.grdnir.cResponsabil.Header1' AS header WITH ; + Alignment = 2, ; + Caption = "Responsabil", ; + FontSize = 10, ; + Name = "Header1" + *< END OBJECT: BaseClass="header" /> + + ADD OBJECT 'pgframe.Page2.grdnir.cResponsabil.Text1' AS textbox WITH ; + BackColor = 255,255,255, ; + BorderStyle = 0, ; + FontName = "Arial", ; + ForeColor = 0,0,0, ; + Margin = 0, ; + Name = "Text1", ; + SelectedBackColor = 100,185,255 + *< END OBJECT: BaseClass="textbox" /> + + ADD OBJECT 'pgframe.Page2.grdnir.cSerie.Header1' AS header WITH ; + Alignment = 2, ; + Caption = "Serie", ; + FontSize = 10, ; + Name = "Header1" + *< END OBJECT: BaseClass="header" /> + + ADD OBJECT 'pgframe.Page2.grdnir.cSerie.Text1' AS textbox WITH ; + BackColor = 255,255,255, ; + BorderStyle = 0, ; + FontName = "Arial", ; + ForeColor = 0,0,0, ; + Margin = 0, ; + Name = "Text1", ; + SelectedBackColor = 100,185,255 + *< END OBJECT: BaseClass="textbox" /> + + ADD OBJECT 'pgframe.Page2.grdnir.cTotal.Header1' AS header WITH ; + Alignment = 2, ; + Caption = "Total achizitie", ; + FontSize = 10, ; + Name = "Header1" + *< END OBJECT: BaseClass="header" /> + + ADD OBJECT 'pgframe.Page2.grdnir.cTotal.Text1' AS textbox WITH ; + BackColor = 255,255,255, ; + BorderStyle = 0, ; + FontName = "Arial", ; + ForeColor = 0,0,0, ; + Margin = 0, ; + Name = "Text1", ; + SelectedBackColor = 100,185,255 + *< END OBJECT: BaseClass="textbox" /> + + ADD OBJECT 'pgframe.Page2.grdnir.cTva.Header1' AS header WITH ; + Alignment = 2, ; + Caption = "TVA", ; + FontSize = 10, ; + Name = "Header1" + *< END OBJECT: BaseClass="header" /> + + ADD OBJECT 'pgframe.Page2.grdnir.cTva.Text1' AS textbox WITH ; + BackColor = 255,255,255, ; + BorderStyle = 0, ; + FontName = "Arial", ; + ForeColor = 0,0,0, ; + Margin = 0, ; + Name = "Text1", ; + SelectedBackColor = 100,185,255 + *< END OBJECT: BaseClass="textbox" /> + + ADD OBJECT 'pgframe.Page2.grdnir.cUM.Header1' AS header WITH ; + Alignment = 2, ; + Caption = "UM", ; + FontSize = 10, ; + Name = "Header1" + *< END OBJECT: BaseClass="header" /> + + ADD OBJECT 'pgframe.Page2.grdnir.cUM.Text1' AS textbox WITH ; + BackColor = 255,255,255, ; + BorderStyle = 0, ; + FontName = "Arial", ; + ForeColor = 0,0,0, ; + Margin = 0, ; + Name = "Text1", ; + SelectedBackColor = 100,185,255 + *< END OBJECT: BaseClass="textbox" /> + + ADD OBJECT 'pgframe.Page2.grdnir.cValoare.Header1' AS header WITH ; + Alignment = 2, ; + Caption = "Valoare", ; + FontSize = 10, ; + Name = "Header1" + *< END OBJECT: BaseClass="header" /> + + ADD OBJECT 'pgframe.Page2.grdnir.cValoare.Text1' AS textbox WITH ; + BackColor = 255,255,255, ; + BorderStyle = 0, ; + FontName = "Arial", ; + ForeColor = 0,0,0, ; + Margin = 0, ; + Name = "Text1", ; + SelectedBackColor = 100,185,255 + *< END OBJECT: BaseClass="textbox" /> + + ADD OBJECT 'pgframe.Page2.Label1' AS _label WITH ; + AutoSize = .T., ; + BackColor = 255,255,255, ; + Caption = "Factura seria", ; + FontBold = .T., ; + FontSize = 10, ; + Height = 18, ; + Left = 12, ; + Name = "Label1", ; + TabIndex = 12, ; + Top = 14, ; + Width = 85, ; + ZOrderSet = 7 + *< END OBJECT: ClassLib="_baza.vcx" BaseClass="label" /> + + ADD OBJECT 'pgframe.Page2.Label10' AS _label WITH ; + AutoSize = .T., ; + BackColor = 255,255,255, ; + Caption = "Sectie", ; + FontBold = .T., ; + Height = 18, ; + Left = 482, ; + Name = "Label10", ; + TabIndex = 10, ; + Top = 91, ; + Width = 42, ; + ZOrderSet = 17 + *< END OBJECT: ClassLib="_baza.vcx" BaseClass="label" /> + + ADD OBJECT 'pgframe.Page2.Label2' AS _label WITH ; + Alignment = 2, ; + AutoSize = .F., ; + BackColor = 255,255,255, ; + Caption = "/", ; + FontBold = .T., ; + FontSize = 10, ; + Height = 17, ; + Left = 304, ; + Name = "Label2", ; + TabIndex = 13, ; + Top = 15, ; + Width = 11, ; + ZOrderSet = 8 + *< END OBJECT: ClassLib="_baza.vcx" BaseClass="label" /> + + ADD OBJECT 'pgframe.Page2.Label3' AS _label WITH ; + AutoSize = .T., ; + BackColor = 255,255,255, ; + Caption = "Valoare NIR", ; + FontBold = .T., ; + Height = 18, ; + Left = 12, ; + Name = "Label3", ; + TabIndex = 10, ; + Top = 66, ; + Width = 78, ; + ZOrderSet = 19 + *< END OBJECT: ClassLib="_baza.vcx" BaseClass="label" /> + + ADD OBJECT 'pgframe.Page2.Label4' AS _label WITH ; + AutoSize = .T., ; + BackColor = 255,255,255, ; + Caption = "NIR nr.", ; + FontBold = .T., ; + FontSize = 10, ; + Height = 18, ; + Left = 12, ; + Name = "Label4", ; + TabIndex = 9, ; + Top = 40, ; + Width = 45, ; + ZOrderSet = 5 + *< END OBJECT: ClassLib="_baza.vcx" BaseClass="label" /> + + ADD OBJECT 'pgframe.Page2.Label5' AS _label WITH ; + AutoSize = .T., ; + BackColor = 255,255,255, ; + Caption = "Furnizor", ; + FontBold = .T., ; + Height = 18, ; + Left = 469, ; + Name = "Label5", ; + TabIndex = 10, ; + Top = 13, ; + Width = 55, ; + ZOrderSet = 6 + *< END OBJECT: ClassLib="_baza.vcx" BaseClass="label" /> + + ADD OBJECT 'pgframe.Page2.Label6' AS _label WITH ; + AutoSize = .T., ; + BackColor = 255,255,255, ; + Caption = "nr.", ; + FontBold = .T., ; + FontSize = 10, ; + Height = 18, ; + Left = 167, ; + Name = "Label6", ; + TabIndex = 12, ; + Top = 14, ; + Width = 19, ; + ZOrderSet = 11 + *< END OBJECT: ClassLib="_baza.vcx" BaseClass="label" /> + + ADD OBJECT 'pgframe.Page2.Label7' AS _label WITH ; + Alignment = 2, ; + AutoSize = .F., ; + BackColor = 255,255,255, ; + Caption = "/", ; + FontBold = .T., ; + FontSize = 10, ; + Height = 17, ; + Left = 303, ; + Name = "Label7", ; + TabIndex = 13, ; + Top = 41, ; + Width = 11, ; + ZOrderSet = 14 + *< END OBJECT: ClassLib="_baza.vcx" BaseClass="label" /> + + ADD OBJECT 'pgframe.Page2.Label8' AS _label WITH ; + AutoSize = .T., ; + BackColor = 255,255,255, ; + Caption = "Responsabil", ; + FontBold = .T., ; + Height = 18, ; + Left = 445, ; + Name = "Label8", ; + TabIndex = 10, ; + Top = 39, ; + Width = 79, ; + ZOrderSet = 15 + *< END OBJECT: ClassLib="_baza.vcx" BaseClass="label" /> + + ADD OBJECT 'pgframe.Page2.Label9' AS _label WITH ; + AutoSize = .T., ; + BackColor = 255,255,255, ; + Caption = "Lucrare", ; + FontBold = .T., ; + Height = 18, ; + Left = 473, ; + Name = "Label9", ; + TabIndex = 10, ; + Top = 65, ; + Width = 51, ; + ZOrderSet = 17 + *< END OBJECT: ClassLib="_baza.vcx" BaseClass="label" /> + + ADD OBJECT 'pgframe.Page2.txtDataact' AS _textbox WITH ; + Alignment = 2, ; + BackColor = 255,255,255, ; + ControlSource = "thisform.dataact", ; + FontName = "Arial", ; + Height = 23, ; + Left = 314, ; + Name = "txtDataact", ; + ReadOnly = .T., ; + SpecialEffect = 0, ; + TabIndex = 8, ; + TabStop = .F., ; + Top = 12, ; + Value = ({}), ; + Width = 112, ; + ZOrderSet = 2 + *< END OBJECT: ClassLib="_baza.vcx" BaseClass="textbox" /> + + ADD OBJECT 'pgframe.Page2.txtDataIreg' AS _textbox WITH ; + Alignment = 2, ; + BackColor = 255,255,255, ; + ControlSource = "thisform.dataireg", ; + FontName = "Arial", ; + Height = 23, ; + Left = 314, ; + Name = "txtDataIreg", ; + ReadOnly = .T., ; + SpecialEffect = 0, ; + TabIndex = 8, ; + TabStop = .F., ; + Top = 38, ; + Value = ({}), ; + Width = 112, ; + ZOrderSet = 13 + *< END OBJECT: ClassLib="_baza.vcx" BaseClass="textbox" /> + + ADD OBJECT 'pgframe.Page2.txtFurnizor' AS _textbox WITH ; + BackColor = 255,255,255, ; + ControlSource = "thisform.partener", ; + FontName = "Arial", ; + Height = 23, ; + Left = 530, ; + Name = "txtFurnizor", ; + ReadOnly = .T., ; + TabIndex = 6, ; + TabStop = .F., ; + Top = 10, ; + Width = 151, ; + ZOrderSet = 10 + *< END OBJECT: ClassLib="_baza.vcx" BaseClass="textbox" /> + + ADD OBJECT 'pgframe.Page2.txtLucrare' AS _textbox WITH ; + BackColor = 255,255,255, ; + ControlSource = "thisform.lucrare", ; + FontName = "Arial", ; + Height = 23, ; + Left = 530, ; + Name = "txtLucrare", ; + ReadOnly = .T., ; + TabIndex = 6, ; + TabStop = .F., ; + Top = 62, ; + Width = 151, ; + ZOrderSet = 18 + *< END OBJECT: ClassLib="_baza.vcx" BaseClass="textbox" /> + + ADD OBJECT 'pgframe.Page2.txtNnir' AS _textbox WITH ; + Alignment = 1, ; + BackColor = 255,255,255, ; + ControlSource = "thisform.nnir", ; + FontName = "Arial", ; + Format = "R", ; + Height = 23, ; + InputMask = "999 999 999 999", ; + Left = 192, ; + Name = "txtNnir", ; + ReadOnly = .T., ; + TabIndex = 5, ; + TabStop = .F., ; + Top = 38, ; + Value = 0, ; + Width = 112, ; + ZOrderSet = 4 + *< END OBJECT: ClassLib="_baza.vcx" BaseClass="textbox" /> + + ADD OBJECT 'pgframe.Page2.txtNract' AS _textbox WITH ; + Alignment = 3, ; + BackColor = 255,255,255, ; + ControlSource = "thisform.nract", ; + FontName = "Arial", ; + Format = "R", ; + Height = 23, ; + InputMask = "999 999 999 999", ; + Left = 192, ; + Name = "txtNract", ; + ReadOnly = .T., ; + SpecialEffect = 0, ; + TabIndex = 7, ; + TabStop = .F., ; + Top = 12, ; + Value = 0, ; + Visible = .T., ; + Width = 112, ; + ZOrderSet = 3 + *< END OBJECT: ClassLib="_baza.vcx" BaseClass="textbox" /> + + ADD OBJECT 'pgframe.Page2.txtReponsabil' AS _textbox WITH ; + BackColor = 255,255,255, ; + ControlSource = "thisform.responsabil", ; + FontName = "Arial", ; + Height = 23, ; + Left = 530, ; + Name = "txtReponsabil", ; + ReadOnly = .T., ; + TabIndex = 6, ; + TabStop = .F., ; + Top = 36, ; + Width = 151, ; + ZOrderSet = 16 + *< END OBJECT: ClassLib="_baza.vcx" BaseClass="textbox" /> + + ADD OBJECT 'pgframe.Page2.txtSectie' AS _textbox WITH ; + BackColor = 255,255,255, ; + ControlSource = "thisform.sectie", ; + FontName = "Arial", ; + Height = 23, ; + Left = 530, ; + Name = "txtSectie", ; + ReadOnly = .T., ; + TabIndex = 6, ; + TabStop = .F., ; + Top = 88, ; + Width = 151, ; + ZOrderSet = 18 + *< END OBJECT: ClassLib="_baza.vcx" BaseClass="textbox" /> + + ADD OBJECT 'pgframe.Page2.txtSerieAct' AS _textbox WITH ; + Alignment = 3, ; + BackColor = 255,255,255, ; + ControlSource = "thisform.serie_act", ; + FontName = "Arial", ; + Height = 23, ; + Left = 101, ; + Name = "txtSerieAct", ; + ReadOnly = .T., ; + SpecialEffect = 0, ; + TabIndex = 7, ; + TabStop = .F., ; + Top = 12, ; + Value = 0, ; + Visible = .T., ; + Width = 64, ; + ZOrderSet = 12 + *< END OBJECT: ClassLib="_baza.vcx" BaseClass="textbox" /> + + ADD OBJECT 'pgframe.Page2.txtValoare' AS _textbox WITH ; + Alignment = 1, ; + BackColor = 255,255,255, ; + ControlSource = "thisform.valoare", ; + FontName = "Arial", ; + Format = "R", ; + Height = 23, ; + InputMask = (get_mask(12,gnPA)), ; + Left = 192, ; + Name = "txtValoare", ; + ReadOnly = .T., ; + TabIndex = 4, ; + TabStop = .F., ; + Top = 63, ; + Value = 0, ; + Visible = .T., ; + Width = 112, ; + ZOrderSet = 9 + *< END OBJECT: ClassLib="_baza.vcx" BaseClass="textbox" /> + + ADD OBJECT 'pgframe.Page3.but_modifica_lucrare' AS but_modifica WITH ; + Height = 27, ; + Left = 653, ; + Name = "but_modifica_lucrare", ; + TabIndex = 29, ; + Top = 42, ; + Width = 29, ; + ZOrderSet = 10 + *< END OBJECT: ClassLib="cmd_butoane.vcx" BaseClass="commandbutton" /> + + ADD OBJECT 'pgframe.Page3.but_modifica_responsabil' AS but_modifica WITH ; + Height = 27, ; + Left = 653, ; + Name = "but_modifica_responsabil", ; + TabIndex = 29, ; + Top = 16, ; + Width = 29, ; + ZOrderSet = 10 + *< END OBJECT: ClassLib="cmd_butoane.vcx" BaseClass="commandbutton" /> + + ADD OBJECT 'pgframe.Page3.but_modifica_sectie' AS but_modifica WITH ; + Height = 27, ; + Left = 653, ; + Name = "but_modifica_sectie", ; + TabIndex = 29, ; + Top = 68, ; + Width = 29, ; + ZOrderSet = 10 + *< END OBJECT: ClassLib="cmd_butoane.vcx" BaseClass="commandbutton" /> + + ADD OBJECT 'pgframe.Page3.grdbon' AS _grdrow WITH ; + ColumnCount = 10, ; + DeleteMark = .F., ; + GridLineColor = 128,128,128, ; + Height = 326, ; + Left = 11, ; + Name = "grdbon", ; + Panel = 1, ; + RecordSource = "crsbon", ; + TabIndex = 3, ; + Tag = "RESIZABLE", ; + Top = 101, ; + Width = 708, ; + Column1.ColumnOrder = 1, ; + Column1.ControlSource = "nrcrt", ; + Column1.FontName = "Arial", ; + Column1.Name = "cNrcrt", ; + Column1.Width = 44, ; + Column2.ColumnOrder = 2, ; + Column2.ControlSource = "dataact", ; + Column2.FontName = "Arial", ; + Column2.Name = "cDataact", ; + Column2.Width = 60, ; + Column3.ControlSource = "nnir", ; + Column3.FontName = "Arial", ; + Column3.Name = "cNract", ; + Column3.Width = 65, ; + Column4.ControlSource = "denumire", ; + Column4.FontName = "Arial", ; + Column4.Name = "cDenumire", ; + Column4.Width = 156, ; + Column5.ColumnOrder = 6, ; + Column5.ControlSource = "um", ; + Column5.FontName = "Arial", ; + Column5.Name = "cUM", ; + Column5.Width = 39, ; + Column6.ColumnOrder = 7, ; + Column6.ControlSource = "pretv", ; + Column6.DynamicForeColor = "IIF(pretv>=0, RGB(0,0,0), RGB(255,0,0))", ; + Column6.FontName = "Arial", ; + Column6.Format = "R", ; + Column6.InputMask = (get_mask(14,gnPPretV)), ; + Column6.Name = "cPretv", ; + Column6.Width = 100, ; + Column7.ColumnOrder = 8, ; + Column7.ControlSource = "cante", ; + Column7.DynamicForeColor = "IIF(cante>=0, RGB(0,0,0), RGB(255,0,0))", ; + Column7.FontName = "Arial", ; + Column7.Format = "R", ; + Column7.InputMask = (get_mask(12,gnPcant)), ; + Column7.Name = "cCante", ; + Column7.Width = 90, ; + Column8.ColumnOrder = 9, ; + Column8.ControlSource = "round(cante*pretv,gnPc)", ; + Column8.FontName = "Arial", ; + Column8.Format = "R", ; + Column8.InputMask = (get_mask(12,gnPA)), ; + Column8.Name = "cValoare", ; + Column8.Width = 110, ; + Column9.ColumnOrder = 10, ; + Column9.ControlSource = "nresp", ; + Column9.FontName = "Arial", ; + Column9.Name = "cResponsabil", ; + Column9.Width = 106, ; + Column10.ColumnOrder = 5, ; + Column10.ControlSource = "serie", ; + Column10.FontName = "Arial", ; + Column10.Name = "cSerie", ; + Column10.Width = 86 + *< END OBJECT: ClassLib="_grd_base.vcx" BaseClass="grid" /> + + ADD OBJECT 'pgframe.Page3.grdbon.cCante.Header1' AS header WITH ; + Alignment = 2, ; + Caption = "Iesiri", ; + FontSize = 10, ; + Name = "Header1" + *< END OBJECT: BaseClass="header" /> + + ADD OBJECT 'pgframe.Page3.grdbon.cCante.Text1' AS textbox WITH ; + BackColor = 255,255,255, ; + BorderStyle = 0, ; + FontName = "Arial", ; + ForeColor = 0,0,0, ; + Margin = 0, ; + Name = "Text1", ; + SelectedBackColor = 100,185,255 + *< END OBJECT: BaseClass="textbox" /> + + ADD OBJECT 'pgframe.Page3.grdbon.cDataact.Header1' AS header WITH ; + Alignment = 2, ; + Caption = "Data act", ; + FontSize = 10, ; + Name = "Header1" + *< END OBJECT: BaseClass="header" /> + + ADD OBJECT 'pgframe.Page3.grdbon.cDataact.Text1' AS textbox WITH ; + BackColor = 255,255,255, ; + BorderStyle = 0, ; + FontName = "Arial", ; + ForeColor = 0,0,0, ; + Margin = 0, ; + Name = "Text1", ; + SelectedBackColor = 100,185,255 + *< END OBJECT: BaseClass="textbox" /> + + ADD OBJECT 'pgframe.Page3.grdbon.cDenumire.Header1' AS header WITH ; + Alignment = 2, ; + Caption = "Denumire", ; + FontSize = 10, ; + Name = "Header1" + *< END OBJECT: BaseClass="header" /> + + ADD OBJECT 'pgframe.Page3.grdbon.cDenumire.Text1' AS textbox WITH ; + BackColor = 255,255,255, ; + BorderStyle = 0, ; + FontName = "Arial", ; + ForeColor = 0,0,0, ; + Margin = 0, ; + Name = "Text1", ; + SelectedBackColor = 100,185,255 + *< END OBJECT: BaseClass="textbox" /> + + ADD OBJECT 'pgframe.Page3.grdbon.cNract.Header1' AS header WITH ; + Alignment = 2, ; + Caption = "Nr. act", ; + FontSize = 10, ; + Name = "Header1" + *< END OBJECT: BaseClass="header" /> + + ADD OBJECT 'pgframe.Page3.grdbon.cNract.Text1' AS textbox WITH ; + BackColor = 255,255,255, ; + BorderStyle = 0, ; + FontName = "Arial", ; + ForeColor = 0,0,0, ; + Margin = 0, ; + Name = "Text1", ; + SelectedBackColor = 100,185,255 + *< END OBJECT: BaseClass="textbox" /> + + ADD OBJECT 'pgframe.Page3.grdbon.cNrcrt.Header1' AS header WITH ; + Alignment = 2, ; + Caption = "Nr.crt.", ; + FontSize = 10, ; + Name = "Header1" + *< END OBJECT: BaseClass="header" /> + + ADD OBJECT 'pgframe.Page3.grdbon.cNrcrt.Text1' AS textbox WITH ; + BackColor = 255,255,255, ; + BorderStyle = 0, ; + FontName = "Arial", ; + ForeColor = 0,0,0, ; + Margin = 0, ; + Name = "Text1", ; + SelectedBackColor = 100,185,255 + *< END OBJECT: BaseClass="textbox" /> + + ADD OBJECT 'pgframe.Page3.grdbon.cPretv.Header1' AS header WITH ; + Alignment = 2, ; + Caption = "Pret", ; + FontSize = 10, ; + Name = "Header1" + *< END OBJECT: BaseClass="header" /> + + ADD OBJECT 'pgframe.Page3.grdbon.cPretv.Text1' AS textbox WITH ; + BackColor = 255,255,255, ; + BorderStyle = 0, ; + FontName = "Arial", ; + ForeColor = 0,0,0, ; + Margin = 0, ; + Name = "Text1", ; + SelectedBackColor = 100,185,255 + *< END OBJECT: BaseClass="textbox" /> + + ADD OBJECT 'pgframe.Page3.grdbon.cResponsabil.Header1' AS header WITH ; + Alignment = 2, ; + Caption = "Responsabil", ; + FontSize = 10, ; + Name = "Header1" + *< END OBJECT: BaseClass="header" /> + + ADD OBJECT 'pgframe.Page3.grdbon.cResponsabil.Text1' AS textbox WITH ; + BackColor = 255,255,255, ; + BorderStyle = 0, ; + FontName = "Arial", ; + ForeColor = 0,0,0, ; + Margin = 0, ; + Name = "Text1", ; + SelectedBackColor = 100,185,255 + *< END OBJECT: BaseClass="textbox" /> + + ADD OBJECT 'pgframe.Page3.grdbon.cSerie.Header1' AS header WITH ; + Alignment = 2, ; + Caption = "Serie", ; + FontSize = 10, ; + Name = "Header1" + *< END OBJECT: BaseClass="header" /> + + ADD OBJECT 'pgframe.Page3.grdbon.cSerie.Text1' AS textbox WITH ; + BackColor = 255,255,255, ; + BorderStyle = 0, ; + FontName = "Arial", ; + ForeColor = 0,0,0, ; + Margin = 0, ; + Name = "Text1", ; + SelectedBackColor = 100,185,255 + *< END OBJECT: BaseClass="textbox" /> + + ADD OBJECT 'pgframe.Page3.grdbon.cUM.Header1' AS header WITH ; + Alignment = 2, ; + Caption = "UM", ; + FontSize = 10, ; + Name = "Header1" + *< END OBJECT: BaseClass="header" /> + + ADD OBJECT 'pgframe.Page3.grdbon.cUM.Text1' AS textbox WITH ; + BackColor = 255,255,255, ; + BorderStyle = 0, ; + FontName = "Arial", ; + ForeColor = 0,0,0, ; + Margin = 0, ; + Name = "Text1", ; + SelectedBackColor = 100,185,255 + *< END OBJECT: BaseClass="textbox" /> + + ADD OBJECT 'pgframe.Page3.grdbon.cValoare.Header1' AS header WITH ; + Alignment = 2, ; + Caption = "Valoare", ; + FontSize = 10, ; + Name = "Header1" + *< END OBJECT: BaseClass="header" /> + + ADD OBJECT 'pgframe.Page3.grdbon.cValoare.Text1' AS textbox WITH ; + BackColor = 255,255,255, ; + BorderStyle = 0, ; + FontName = "Arial", ; + ForeColor = 0,0,0, ; + Margin = 0, ; + Name = "Text1", ; + SelectedBackColor = 100,185,255 + *< END OBJECT: BaseClass="textbox" /> + + ADD OBJECT 'pgframe.Page3.Label1' AS _label WITH ; + AutoSize = .T., ; + BackColor = 255,255,255, ; + Caption = "Bon nr.", ; + FontBold = .T., ; + Height = 18, ; + Left = 18, ; + Name = "Label1", ; + TabIndex = 12, ; + Top = 18, ; + Width = 48, ; + ZOrderSet = 31 + *< END OBJECT: ClassLib="_baza.vcx" BaseClass="label" /> + + ADD OBJECT 'pgframe.Page3.Label10' AS _label WITH ; + AutoSize = .T., ; + BackColor = 255,255,255, ; + Caption = "Sectie", ; + FontBold = .T., ; + Height = 18, ; + Left = 397, ; + Name = "Label10", ; + TabIndex = 10, ; + Top = 71, ; + Width = 42, ; + ZOrderSet = 17 + *< END OBJECT: ClassLib="_baza.vcx" BaseClass="label" /> + + ADD OBJECT 'pgframe.Page3.Label2' AS _label WITH ; + Alignment = 2, ; + AutoSize = .F., ; + BackColor = 255,255,255, ; + Caption = "/", ; + FontBold = .T., ; + FontSize = 10, ; + Height = 17, ; + Left = 213, ; + Name = "Label2", ; + TabIndex = 13, ; + Top = 18, ; + Width = 11, ; + ZOrderSet = 31 + *< END OBJECT: ClassLib="_baza.vcx" BaseClass="label" /> + + ADD OBJECT 'pgframe.Page3.Label3' AS _label WITH ; + AutoSize = .T., ; + BackColor = 255,255,255, ; + Caption = "Valoare bon", ; + Height = 18, ; + Left = 18, ; + Name = "Label3", ; + TabIndex = 9, ; + Top = 72, ; + Visible = .T., ; + Width = 71, ; + ZOrderSet = 20 + *< END OBJECT: ClassLib="_baza.vcx" BaseClass="label" /> + + ADD OBJECT 'pgframe.Page3.Label4' AS _label WITH ; + AutoSize = .T., ; + BackColor = 255,255,255, ; + Caption = "Destinatie", ; + Height = 18, ; + Left = 18, ; + Name = "Label4", ; + TabIndex = 10, ; + Top = 45, ; + Width = 60, ; + ZOrderSet = 20 + *< END OBJECT: ClassLib="_baza.vcx" BaseClass="label" /> + + ADD OBJECT 'pgframe.Page3.Label8' AS _label WITH ; + AutoSize = .T., ; + BackColor = 255,255,255, ; + Caption = "Responsabil", ; + FontBold = .T., ; + Height = 18, ; + Left = 360, ; + Name = "Label8", ; + TabIndex = 10, ; + Top = 19, ; + Width = 79, ; + ZOrderSet = 15 + *< END OBJECT: ClassLib="_baza.vcx" BaseClass="label" /> + + ADD OBJECT 'pgframe.Page3.Label9' AS _label WITH ; + AutoSize = .T., ; + BackColor = 255,255,255, ; + Caption = "Lucrare", ; + FontBold = .T., ; + Height = 18, ; + Left = 388, ; + Name = "Label9", ; + TabIndex = 10, ; + Top = 45, ; + Width = 51, ; + ZOrderSet = 17 + *< END OBJECT: ClassLib="_baza.vcx" BaseClass="label" /> + + ADD OBJECT 'pgframe.Page3.Text4' AS _textbox WITH ; + Alignment = 1, ; + BackColor = 255,255,255, ; + FontName = "Arial", ; + Height = 23, ; + Left = 96, ; + Name = "Text4", ; + ReadOnly = .T., ; + TabIndex = 5, ; + TabStop = .F., ; + Top = 43, ; + Width = 215, ; + ZOrderSet = 16 + *< END OBJECT: ClassLib="_baza.vcx" BaseClass="textbox" /> + + ADD OBJECT 'pgframe.Page3.txtDataact' AS _textbox WITH ; + Alignment = 2, ; + BackColor = 255,255,255, ; + ControlSource = "thisform.dataact", ; + FontName = "Arial", ; + Height = 23, ; + Left = 224, ; + Name = "txtDataact", ; + ReadOnly = .T., ; + SpecialEffect = 0, ; + TabIndex = 8, ; + TabStop = .F., ; + Top = 15, ; + Value = ({}), ; + Width = 87 + *< END OBJECT: ClassLib="_baza.vcx" BaseClass="textbox" /> + + ADD OBJECT 'pgframe.Page3.txtLucrare' AS _textbox WITH ; + BackColor = 255,255,255, ; + ControlSource = "thisform.lucrare", ; + FontName = "Arial", ; + Height = 23, ; + Left = 446, ; + Name = "txtLucrare", ; + ReadOnly = .T., ; + TabIndex = 6, ; + TabStop = .F., ; + Top = 42, ; + Width = 206, ; + ZOrderSet = 18 + *< END OBJECT: ClassLib="_baza.vcx" BaseClass="textbox" /> + + ADD OBJECT 'pgframe.Page3.txtNnir' AS _textbox WITH ; + Alignment = 3, ; + BackColor = 255,255,255, ; + ControlSource = "thisform.nnir", ; + FontName = "Arial", ; + Height = 23, ; + InputMask = "999 999 999 999", ; + Left = 96, ; + Name = "txtNnir", ; + ReadOnly = .T., ; + SpecialEffect = 0, ; + TabIndex = 7, ; + TabStop = .F., ; + Top = 15, ; + Value = 0, ; + Visible = .T., ; + Width = 112 + *< END OBJECT: ClassLib="_baza.vcx" BaseClass="textbox" /> + + ADD OBJECT 'pgframe.Page3.txtReponsabil' AS _textbox WITH ; + BackColor = 255,255,255, ; + ControlSource = "thisform.responsabil", ; + FontName = "Arial", ; + Height = 23, ; + Left = 446, ; + Name = "txtReponsabil", ; + ReadOnly = .T., ; + TabIndex = 6, ; + TabStop = .F., ; + Top = 16, ; + Width = 206, ; + ZOrderSet = 16 + *< END OBJECT: ClassLib="_baza.vcx" BaseClass="textbox" /> + + ADD OBJECT 'pgframe.Page3.txtSectie' AS _textbox WITH ; + BackColor = 255,255,255, ; + ControlSource = "thisform.sectie", ; + FontName = "Arial", ; + Height = 23, ; + Left = 446, ; + Name = "txtSectie", ; + ReadOnly = .T., ; + TabIndex = 6, ; + TabStop = .F., ; + Top = 68, ; + Width = 206, ; + ZOrderSet = 18 + *< END OBJECT: ClassLib="_baza.vcx" BaseClass="textbox" /> + + ADD OBJECT 'pgframe.Page3.txtValoare' AS _textbox WITH ; + Alignment = 1, ; + BackColor = 255,255,255, ; + ControlSource = "thisform.valoare", ; + FontName = "Arial", ; + Format = "R", ; + Height = 23, ; + InputMask = (get_mask(12,gnPA)), ; + Left = 96, ; + Name = "txtValoare", ; + ReadOnly = .T., ; + TabIndex = 4, ; + TabStop = .F., ; + Top = 69, ; + Value = 0, ; + Visible = .T., ; + Width = 112, ; + ZOrderSet = 13 + *< END OBJECT: ClassLib="_baza.vcx" BaseClass="textbox" /> + + ADD OBJECT 'Xresize1' AS xresize WITH ; + Left = 732, ; + Name = "Xresize1", ; + Top = 48 + *< END OBJECT: ClassLib="xresize.vcx" BaseClass="custom" /> + + PROCEDURE actualizeaza_grid1 + Lparameters tcFiltru + Local lcFiltru + lcFiltru=tcFiltru + If Empty(lcFiltru) + lcFiltru=porulaje.ca_baza1.cfiltru + Endif + + Thisform.MousePointer= 11 + Thisform.LockScreen=.T. + + save_grid_tag(Thisform.pgframe.page1.grdrulaje) + porulaje.ca_baza1.cfiltru=lcFiltru + porulaje.ca_baza1.afisare() + restore_grid_tag(Thisform.pgframe.page1.grdrulaje) + + Thisform.LockScreen=.F. + Thisform.MousePointer= 0 + + + this.CalculeazaTotaluri(.T.) + + Thisform.Refresh + ENDPROC + + PROCEDURE calculeazatotaluri + Lparameters tlRefreshValute + + Local lcSelect, lcFilter + lcSelect = Select() + && tlRefreshValute = .T. din this.actualizeazagrid1 - sa reconstruiasca cursorul cu valutele existente in selectie + && tlRefreshValute = .F. - doar schimb valuta din cboValute - recalculez totalurile fara sa reconstruiesc cursorul cu valute + lcFilter = FILTER('crsRulX') + + If Reccount('crsRulX')>0 + Select crsRulX + + + If tlRefreshValute + *!* cursor valute pentru calcul totaluri intr-o valuta + Select This.nIdMonedaNationala As id_valuta, This.cMonedaNationala As nume_val ; + FROM dual ; + UNION ; + SELECT Distinct id_valuta, nume_val; + FROM crsRulX ; + WHERE id_valuta <> This.nIdMonedaNationala ; + INTO Cursor cValuteRulTemp + Endif + + && daca am ales moneda nationala pentru calcul total - cant*pret + && daca am ales o valuta - total = cant*pretd si id_valuta aleasa + If This.nIdValutaTotal = This.nIdMonedaNationala Or Inlist(Upper(Alltrim(This.cValutaTotal)),'LEI','RON','ROL') + lcWhere = "2=2" + lcPret = "pret" + lcPrecizieSuma = gnPc + Else + lcWhere = "id_valuta = " + Alltrim(Str(This.nIdValutaTotal)) + lcPret = "pretd" + lcPrecizieSuma = gnPVal + ENDIF + lcWhere = lcWhere + IIF(!EMPTY(m.lcFilter), [ and ] + m.lcFilter, []) + + Select Sum(Round(cant*&lcPret,lcPrecizieSuma)) As valintrari, ; + SUM(Round(cante*&lcPret,lcPrecizieSuma)) As valiesiri, ; + Sum(Round(cant*(pretv+tvav),gnPc)) As valvintrari, ; + SUM(Round(cante*(pretv+tvav),gnPc)) As valviesiri, ; + SUM(cant) As intrari, ; + SUM(cante) As iesiri; + FROM crsRulX ; + WHERE &lcWhere ; + INTO Cursor cTotaluriTemp + + Select cTotaluriTemp + Scatter Name loTotal + Use In cTotaluriTemp + + With loTotal + Thisform.nsumi = .valintrari + Thisform.nsumie = .valiesiri + Thisform.nsumiv = .valvintrari + Thisform.nsumiev = .valviesiri + Thisform.ncanti = .intrari + Thisform.ncantie = .iesiri + Endwith + + Thisform.lnoua=.T. + Else + Thisform.nsumi = 0 + Thisform.nsumie = 0 + Thisform.nsumiv = 0 + Thisform.nsumiev = 0 + Thisform.ncanti=0 + Thisform.ncantie=0 + Endif + This.pgframe.page1.cboValuta.Requery() + This.pgframe.page1.Refresh() + Select (lcSelect) + + ENDPROC + + PROCEDURE do_cauta + Lparameters tcFiltru + + LOCAL loMonedaNationala + + Local lcFiltru + If !Empty(tcFiltru) + lcFiltru = [ and ] + tcFiltru + Else + lcFiltru = [] + Endif + + If !Empty(Thisform.nnr_pag) + lcFiltru = lcFiltru + [ and nr_pag = ] + Alltrim(Str(Thisform.nnr_pag)) + Endif + + && DACA FILTRUL NU CONTINE PERIOADA, SELECTEZ DOAR INREGISTRARILE DIN LUNA CURENTA + IF !'PERIOADA'$UPPER(THISFORM.filtru_pretty_ro_full) + lcFiltru = [ AND LUNA=]+ALLTRIM(STR(gnluna))+[ AND AN=]+ALLTRIM(STR(gnan)) + lcFiltru + ENDIF + + + && DACA FILTRUL NU CONTINE INREGISTRARILE STERSE, SELECTEZ DOAR INREGISTRARILE STERS = 0 + IF !'STERS'$UPPER(THISFORM.filtru_pretty_ro_full) + lcFiltru = [ AND STERS = 0] + lcFiltru + ENDIF + + *!* 10.06.2008 + *!* && DACA FILTRUL NU CONTINE TIP RULAJ, IAU DOAR TIPUL "INTRARI/IESIRI REALE" + *!* IF 'TIP RULAJ'$UPPER(THISFORM.filtru_pretty_ro) + *!* WITH This.ck_filtru_tiprulaj + *!* .Value = 0 + *!* .Filtru = "" + *!* .cTraducere = "" + *!* ENDWITH + *!* ENDIF + *!* 10.06.2008 ^ + + THISFORM.but_start_criterii1.refreshstatus() + + *!* 10.06.2008 + *!* If Thisform.ck_filtru_tiprulaj.Value = 1 + *!* lcFiltru = This.ck_filtru_tiprulaj.filtru + lcFiltru + *!* Endif + *!* 10.06.2008 ^ + + IF LEN(THISFORM.filtru_pretty)>0 + filtrutext = THISFORM.filtru_pretty + lcFiltru = lcFiltru+" and ("+ALLTRIM(filtrutext)+")" + ENDIF + + lcFiltru = lcFiltru + gcCondSucursala + IF LEN(lcfiltru)>0 + lcFiltru = SUBSTR(lcFiltru, 6) + ENDIF + + && ACTUALIZEZ PERIOADA DIN TITLUL REGISTRULUI JURNAL + lcTitlu = THISFORM.lb_titlu_alb_b121.CAPTION + IF !'PERIOADA'$UPPER(THISFORM.filtru_pretty_ro_full) + lcTitlu = SUBSTR(lcTitlu, 1, AT("*", lcTitlu, 1)) + " " + PADL(ALLTRIM(STR(gnluna)),2,"0") + "/" + ALLTRIM(STR(gnan)) + ELSE + IF TYPE('this.ocriterii') = 'O' + loCollection = THIS.oCriterii.GetCriteriu("perioada") + i = 0 + lcValoare1 = "" + lcValoare2 = "" + FOR EACH criteriu IN loCollection + i = i + 1 + IF i = 1 + lcValoare1 = criteriu.valoare + ELSE + lcValoare2 = criteriu.valoare + ENDIF + IF i = 2 + EXIT + ENDIF + ENDFOR + IF EMPTY(STRTRAN(lcValoare1,'/','')) AND EMPTY(STRTRAN(lcValoare2,'/','')) + lcTitlu = SUBSTR(lcTitlu, 1, AT("*", lcTitlu, 1)) + " " + PADL(ALLTRIM(STR(gnluna)),2,"0") + "/" + ALLTRIM(STR(gnan)) + ELSE + IF EMPTY(STRTRAN(lcValoare2,'/','')) + lcValoare2 = lcValoare1 + ENDIF + ENDIF + + IF lcValoare1 = lcValoare2 + lcTitlu = SUBSTR(lcTitlu, 1, AT("*", lcTitlu,1)) + " " + lcValoare1 + ELSE + lcTitlu = SUBSTR(lcTitlu, 1, AT("*", lcTitlu,1)) + " " + lcValoare1 + " - " + lcValoare2 + ENDIF + ENDIF + ENDIF + THIS.lb_titlu_alb_b121.CAPTION = lcTitlu + + + + + IF (THIS.filtru_pretty#"none") + Thisform.actualizeaza_grid1(lcFiltru) + Select crsRulX + If Reccount()>0 + Go Top + If cant#0 + Thisform.pgframe.page2.Enabled=.T. + Thisform.pgframe.page3.Enabled=.F. + Else + Thisform.pgframe.page2.Enabled=.F. + Thisform.pgframe.page3.Enabled=.T. + Endif + Else + aMessagebox("Cautarea nu a intors rezultate!",0+48,"Info cautare") + Thisform.pgframe.page2.Enabled=.F. + Thisform.pgframe.page3.Enabled=.F. + Endif + + With Thisform.pgframe + If .ActivePage!=1 + .Pages(.ActivePage).Deactivate() + .page1.Activate() + .page1.SetFocus() + Endif + .page1.grdrulaje.SetFocus() + *!* .page1.grdrulaje.SetFocus() + *!* .page1.grdrulaje.refresh + Endwith + ENDIF + THISFORM.but_start_criterii1.SETFOCUS + ENDPROC + + PROCEDURE do_excel + *!* DO export_excel WITH this.pgframe.page1.grdrulaje,this.lb_titlu_alb_b121.Caption + LOCAL lcAlias, lcFiltru, lcColumnList, lcHeaderList, lcSelect, lcOutput, lcFrom, lcWhere, lcOrder + lcAlias = THIS.pgframe.page1.grdrulaje.RECORDSOURCE + lcFiltru = FILTER(lcAlias) + + lcOrder = 'dataact,codmat,denumire' + lcTitlu = "Rulaje" + IF RECCOUNT(lcAlias) > 0 + DO export_excel_grid WITH THIS.pgframe.page1.grdrulaje, lcOrder, lcFiltru, lcTitlu IN proceduri_excel.prg + ELSE + amessagebox("Nu exista inregistrari pentru export!",0+48,"Atentie") + ENDIF + + + + ENDPROC + + PROCEDURE do_listare + PRIVATE pcSubtitlu + pcSubtitlu = this.filtru_pretty_ro_full + + lcCursor = Thisform.pgframe.page1.grdrulaje.RecordSource + If Reccount(lcCursor) > 0 + Select (lcCursor) + lnIdGestiune = id_gestiune + + If Inlist(GetTipGestiune(lnIdGestiune),-1,6) + X=XMENU("Listare \0 + plPerioada=.T. + Endif + + If plPerioada + lnAn1 = Val(Substr(pcondper,3,4)) + lnLuna1 = Val(Substr(pcondper,1,2)) + lnAn2 = Val(Substr(pcondper,10,4)) + lnLuna2 = Val(Substr(pcondper,8,2)) + + pnPerInceput = lnAn1 * 12 + lnLuna1 + pnPerSfarsit = lnAn2 * 12 + lnLuna2 + pcPerioada = [Perioada : ] + Substr(pcondper,1,2)+'/'+Substr(pcondper,3,4) + ' - ' + Substr(pcondper,8,2)+'/'+Substr(pcondper,10,4) + Else + lnAn1 = Val(Substr(pcondper,3,4)) + lnLuna1 = Val(Substr(pcondper,1,2)) + lnAn2 = Val(Substr(pcondper,3,4)) + lnLuna2 = Val(Substr(pcondper,1,2)) + + pnPerInceput = lnAn1 * 12 + lnLuna1 + pnPerSfarsit = lnAn2 * 12 + lnLuna2 + pcPerioada = [Luna : ] + Substr(pcondper,1,2)+'/'+Substr(pcondper,3,4) + Endif + + If Used(lcCursorRaport) + Use In (lcCursorRaport) + Endif + + pcDataOra = get_ora(2) + + lcSql = [select c.codmat, c.denumire as nume_articol,a.serie, c.um, c.cant_bax, c.um2, d.sectie,] + ; + [d.csectie, e.nrord, f.nume_gestiune, ] + ; + [f.cgest, g.nume_gestiune as nume_gestiunec, g.cgest as cgestc,] + ; + [(case when g.nr_pag = 6 then a.pretv + a.tvav else a.pret end) as pret, a.cant, a.cante, ] + ; + [ROUND(a.cant*(case when g.nr_pag = 6 then a.pretv + a.tvav else a.pret end),?gnPc) as val_intrari,] + ; + [ROUND(a.cante*(case when g.nr_pag = 6 then a.pretv + a.tvav else a.pret end),?gnPc) as val_iesiri,] + ; + [a.pretd, v.nume_val, a.curs, ] + ; + [b.dataact, b.nnir,decode(b.nract,b.nnir,null,b.serie_act) as serie_act,decode(b.nract,b.nnir,null,b.nract) as nract,] + ; + [b.explicatia, h.denumire, i.fel_document, j.descriere as tip_rulaj ] + ; + [from rul a left join ] + ; + [(select distinct cod,dataact,max(nnir) over(partition by cod) as nnir,id_fdoc,serie_act,nract,] + ; + [max(id_partd) over(partition by cod) as id_partd,] + ; + [first_value(explicatia) over(partition by cod order by explicatia ASC) as explicatia ] + ; + [from act where sters = 0 and cod in (select cod ] + ; + [from rul where id_articol = ?pnIdArticol and NVL(serie,'+_') = ?pcSerie and sters = 0] + ; + gcCondSucursala + [) ] + ; + [and scc not in ('4427', '4111', '667')) b on a.cod = b.cod ] + ; + [left join nom_articole c on a.id_articol = c.id_articol ] + ; + [left join nom_sectii d on a.id_sectie = d.id_sectie ] + ; + [left join vnom_lucrari e on a.id_lucrare = e.id_lucrare ] + ; + [left join nom_gestiuni f on a.id_gestiune = f.id_gestiune ] + ; + [left join nom_gestiuni g on a.id_gestiunec = g.id_gestiune ] + ; + [left join nom_parteneri h on b.id_partd = h.id_part ] + ; + [left join nom_fdoc i on b.id_fdoc = i.id_fdoc ] + ; + [left join nom_tip_rulaj j on a.id_tip_rulaj = j.id_tip_rulaj ] + ; + [left join vnom_valute v on a.id_valuta = v.id_valuta ] + ; + [where a.sters = 0 and a.id_articol = ?pnIdArticol and NVL(a.serie,'+_') = ?pcSerie ] + ; + [and a.luna + a.an * 12 between ?pnPerInceput and ?pnPerSfarsit ] + ; + Strtran(gcCondSucursala,[id_sucursala],[a.id_sucursala]) + [ ] + ; + [order by b.dataact] + lnSucces = goExecutor.oExecute(lcSql,lcCursorRaport) + + If lnSucces < 0 + amessagebox(goExecutor.oPrelucrareEroare(),0+16,"Eroare") + Else + If Reccount(lcCursorRaport)>0 + Thisform.AlwaysOnTop=.F. + Select (lcCursorRaport) + *Keyboard '{CTRL+F10}' + *Report Form istoric_Articol To Printer Prompt Preview + goExport.export2frx(m.lcCursorRaport,[istoric_Articol],.T., , , , , .T.) + Thisform.AlwaysOnTop=.T. + Else + amessagebox("Nu exista inregistrari pentru listare!",0+48,"Atentie") + Endif + Endif + If Used(lcCursorRaport) + Use In (lcCursorRaport) + Endif + + ENDPROC + + PROCEDURE do_listare4 + Private pnIdArticol,pcDenumire,pnId_gestiune,pcNumeGestiune,pcSerie,pcUm,pcCodMaterial,pcTitlu, pcPerioada, pcDataOra,pnIdValuta,pcValuta + Store '' To pcTitlu,pcNumeGestiune,pcSerie,pcUm,pcCodMaterial,pcDataOra,pcValuta + + If Used('crstemp') + Use In crstemp + Endif + + Select (lcCursor) && crsRulX + pnIdArticol = id_articol + pnIdGestiune = id_gestiune + pcDenumire = Upper(Alltrim(denumire)) + pcUm = Upper(Alltrim(um)) + pcCodMaterial = Upper(Alltrim(codmat)) + pcSerie = Upper(Alltrim(serie)) + pcNumeGestiune = Upper(Alltrim(nume_gestiune)) + pnIdValuta = Nvl(id_valuta,0) + pcValuta = ALLTRIM(nume_val) + + Thisform.AlwaysOnTop=.F. + do fisa_magazie_FIFO_valuta WITH gnTipGest, pnIdGestiune , pcNumeGestiune, pnIdArticol , pcSerie ,pnIdValuta ,pcValuta + Thisform.AlwaysOnTop=.t. + *!* *!* perioada raport + *!* Private pnAnI, pnLunaI, pnAnLunaI, pnAnLunaF + *!* Store 0 To pnAnI, pnLunaI, pnAnLunaI, pnAnLunaF + *!* loLuna = get_oluna(gnAn, gnLuna) + *!* lcLuna1 = Padl(loLuna.lunamin,2,'0') + Padl(loLuna.anmin,4,'0') + *!* lcLuna2 = Padl(loLuna.lunamax,2,'0') + Padl(loLuna.anmax,4,'0') + + *!* pcondper="" + *!* ofrmperioada=Createobject('frm_perioada_luni') + *!* With ofrmperioada + *!* ._textbox1.Value=lcLuna1 + *!* ._textbox2.Value=lcLuna2 + *!* ._optiongrup1.Value = 2 + *!* ._optiongrup1.Valid() + *!* Endwith + *!* ofrmperioada.Show(1) + *!* If gnButon=2 + *!* Return + *!* Endif + + *!* plPerioada=.F. + *!* lnPoz=At('_',pcondper) + *!* If lnPoz>0 + *!* plPerioada=.T. + *!* Endif + + + *!* If plPerioada + *!* pnAnI = Val(Substr(pcondper,3,4)) + *!* pnLunaI = Val(Substr(pcondper,1,2)) + *!* pnAnF = Val(Substr(pcondper,10,4)) + *!* pnLunaF = Val(Substr(pcondper,8,2)) + + *!* pnAnLunaI = pnAnI * 12 + pnLunaI + *!* pnAnLunaF = pnAnF * 12 + pnLunaF + *!* pcPerioada = Substr(pcondper,1,2)+'/'+Substr(pcondper,3,4) + ' - ' + Substr(pcondper,8,2)+'/'+Substr(pcondper,10,4) + *!* Else + *!* pnAnI = Val(Substr(pcondper,3,4)) + *!* pnLunaI = Val(Substr(pcondper,1,2)) + + *!* pnAnLunaI = pnAnI * 12 + pnLunaI + *!* pnAnLunaF = pnAnLunaI + *!* pcPerioada = Substr(pcondper,1,2)+'/'+Substr(pcondper,3,4) + ' - ' + Substr(pcondper,1,2)+'/'+Substr(pcondper,3,4) + *!* Endif + + *!* lcSql = [select a.dataact,a.nnir,a.pret,a.pretd,a.nume_valuta_a,a.cant,a.pretv,a.pretdv,a.nume_valuta_v,] + ; + *!* [a.cante,sum(nvl(a.cant, 0) - nvl(a.cante, 0)) over(order by a.dataact,a.dataora) as cants ] + ; + *!* [from (select last_day(to_date(a.an || a.luna, 'YYYYMM')) as dataact, ] + ; + *!* [null as nnir,a.pret,a.pretd,decode(b.moneda_nationala, 0, b.nume_val, null) as nume_valuta_a,] + ; + *!* [a.cants + a.cant - a.cante as cant,null as pretv,0 as pretdv,null as nume_valuta_v,null as cante,null as dataora ] + ; + *!* [from ] + gcS + [.stoc a ] + ; + *!* [left join ] + gcS + [.nom_valute b on a.id_valuta = b.id_valuta ] +; + *!* [where a.id_articol = ?pnIdArticol and NVL(a.id_valuta,0) = ?pnIdValuta and a.luna = ?pnLunaI and a.an = ?pnAnI ] + ; + *!* [and NVL(a.serie,'+_') = ?NVL(pcSerie,'+_') and a.id_gestiune = ?pnIdGestiune ] + ; + *!* STRTRAN(gcCondSucursala,[id_sucursala],[a.id_sucursala]) + ; + *!* [union all ] + ; + *!* [select a.dataact,a.nnir,a.pret,] + ; + *!* [a.pretd,decode(d.moneda_nationala, 0, d.nume_val, null) as nume_valuta_a,] + ; + *!* [decode(a.cante, 0, a.cant, null) as cant,decode(a.cant, 0, a.pretv, null) as pretv,] + ; + *!* [decode(e.moneda_nationala,0,decode(c.pret_cu_tva,0,c.pret,1,round(c.pret / c.proc_tvav,] + ; + *!* [pack_sesiune.getoptiunefirma('PVAL'))),0) as pretdv,] + ; + *!* [decode(e.moneda_nationala, 0, e.nume_val, null) as nume_valuta_v,decode(a.cant, 0, a.cante, null) as cante,a.dataora ] + ; + *!* [from ] + gcS + [.rul a ] + ; + *!* [left join ] + gcS + [.vanzari b on a.cod = b.cod and b.sters = 0 and NVL(a.id_sucursala,-99) = NVL(b.id_sucursala,-99) ] + ; + *!* [left join ] + gcS + [.vanzari_Detalii c on a.id_articol = c.id_articol ] + ; + *!* [and a.id_gestiune = c.id_gestiune and a.cont = c.cont and nvl(a.serie, '+_') = nvl(c.serie, '+_') ] + ; + *!* [and b.id_vanzare = c.id_vanzare ] + ; + *!* [left join ] + gcS + [.nom_valute d on a.id_valuta = d.id_valuta ] + ; + *!* [left join ] + gcS + [.nom_valute e on c.id_valuta = e.id_valuta ] + ; + *!* [where a.id_articol = ?pnIdArticol and NVL(a.id_valuta,0) = ?pnIdValuta and a.sters = 0 ] + ; + *!* [and NVL(a.serie,'+_') = ?NVL(pcSerie,'+_') and a.id_gestiune = ?pnIdGestiune ] + ; + *!* Strtran(gcCondSucursala,[id_sucursala],[a.id_sucursala]) + ; + *!* [and a.id_tip_rulaj <> 3 and a.luna + a.an * 12 between ?pnAnLunaI and ?pnAnLunaF order by 1) a ] + *!* lnSucces = goExecutor.oExecute(lcSql,[crstemp]) + *!* If lnSucces < 0 + *!* amessagebox(goExecutor.cEroare,16,"Eroare") + *!* Else + *!* If Reccount('crstemp')>0 + *!* Thisform.AlwaysOnTop=.F. + *!* pcDataOra = get_ora(2) + *!* Select crstemp + *!* Keyboard '{CTRL+F10}' + *!* Report Form fisa_magazie_fifo_val To Printer Prompt Preview + *!* Thisform.AlwaysOnTop=.T. + *!* Else + *!* amessagebox("Nu exista inregistrari pentru perioada selectata!",0+48,"Atentie") + *!* Endif + *!* Endif + + *!* If Used('crstemp') + *!* Use In crstemp + *!* Endif + ENDPROC + + PROCEDURE do_modifica + Local lnOptiune, llEditMode, lnIdSet, llIesiri + Local llSucces + Local lcMeniu1, lcMeniu2, lcMeniu3, llLunaCurenta, lnActivePage + + If !(This.but_modifica1.Visible And This.but_modifica1.Enabled) + Return + Endif + + IF EMPTY(NVL(crsRulX.nract,0)) + RETURN + ENDIF + + If m.glLunaInchisa + aMESSAGEBOX('Luna este inchisa!', 0 + 48) + Return + ENDIF + + llEditMode = Thisform.se_modifica + lnIdSet = crsRulX.id_set + llIesiri = (crsRulX.cante <> 0) + llIntrari = (crsRulX.cant <> 0) + llLunaCurenta = (crsRulX.an = m.gnAn And crsRulX.luna = m.gnLuna) + + If !m.llLunaCurenta + aMESSAGEBOX("Nu puteti modifica inregistrari din alta luna!", 0 + 48, "Atentie") + Return + Endif + + lnActivePage = This.pgframe.ActivePage + lcMeniu1 = Iif(m.lnActivePage = 1 And This.lModificareInregistrare, '', '\') + lcMeniu2 = Iif(INLIST(m.lnActivePage, 2, 3), '', '\') + lcMeniu3 = Iif(m.lnActivePage = 1 And This.lModificareInregistrare and m.llIntrari, '', '\') + + If !m.llEditMode && se trece in modul de editare + * Modificare document cu articole + *!* lnOptiune = 1 + If Between(m.lnIdSet, 43, 51) Or Inlist(m.lnIdSet, 53, 54, 61, 92, 104, 247, 267, 99999) Or ; + (Inlist(m.lnIdSet, 74, 75, 76, 207, 237, 55, 273) And m.llIesiri) Or Inlist(m.lnIdSet, 81, 83) OR ; + INLIST(m.lnIdSet, 100, 219) OR ; + INLIST(m.lnIdSet, 217, 54, 88, 263) OR ; + INLIST(m.lnIdSet, 78,80,90) OR ; + INLIST(m.lnIdSet, 78,80,90) OR ; + INLIST(m.lnIdSet, 79, 83, 271, 225, 272, 99999) + + * 43 - 51 : NIR + * 53, 54 : bon consum + * 61 : Vanzare marfa la pret de achizitie - en-detail + * 62 : Vanzare marfa en-gros + * 104 : NIR import materiale + * 92 : NIR import marfa + * 247 : NIR lista preturi + * 267 : aviz retur clienti in custodie valoric + + * La transferuri doar daca ma pozitionez pe iesire + * 74 : mf ach. - transfer catre o gest ach + * 75 : mf ach. - transfer catre o gest vz + * 76 : mv vz. - transfer catre o gest ach + * 207 : mf vz. - transfer catre o gest vz + * 237: mf vz. - Intrare din transfer de la gestiune valorica la pret de vanzare + * !!! 89 : ob inv - transfer intre persoane - are bug-uri - la modificare pune doar iesirea, fara intrare + * 55,273 : ob inv - dare in folosinta + + * 81 : produse - Intrare in gestiune produse pe baza de PV + * 83 : produse - vanzare produse en-detail + + * 100, 219 : produse > intrare in gestiune - productie proprie + * 217, 54, 88, 263 : produse > bon consum + * 78,80,90 : produse > vanzare cost productie + * 79, 83, 271, 225, 272 : produse > vanzare (initializeaza_vanzare_din_stoc) + + lnOptiune = xmenu(m.lcMeniu2 + "Editare antet;" + m.lcMeniu2 + "Modificare NIR/Bon;" + m.lcMeniu1 + "Modificare inregistrare curenta;" + m.lcMeniu3 + "Asociere ID_FACT rulaje NIR cu alt document tip Factura (SAFT)") + Else + * Modificare direct in rulaj + lnOptiune = xmenu(m.lcMeniu2 + "Editare antet;" + "\Modificare NIR/Bon;" + m.lcMeniu1 + "Modificare inregistrare curenta;" + m.lcMeniu3 + "Asociere ID_FACT rulaje NIR cu alt document tip Factura (SAFT)") + Endif + Do Case + Case lnOptiune = 1 + Thisform.editeaza_antet() + Case m.lnOptiune = 2 + Thisform.modifica_articole() + Case m.lnOptiune = 3 + Thisform.modifica_inregistrare() + Case m.lnOptiune = 4 + Thisform.modifica_id_fact() + Endcase + Else + llSucces = Thisform.salveaza_antet() + Endif && !llEditMode + + ENDPROC + + PROCEDURE do_reset + *!* 10.06.2008 + *!* am scos filtrul tip rulaj = intrare/iesire reala + *!* WITH This.ck_filtru_tiprulaj + *!* .Value = 1 + *!* .Filtru = " and (id_tip_rulaj = 0)" + *!* .cTraducere = "Tip rulaj este 'INTRARE/IESIRE REALA'" + *!* ENDWITH + *!* 10.06.2008 ^ + + DODEFAULT() + ENDPROC + + PROCEDURE editeaza_antet + LPARAMETERS tlAnulareEditare + + && se trece in modul editare antet NIR + IF PCOUNT() = 0 + Thisform.se_modifica = .T. && se_modifica_assign + ELSE + Thisform.se_modifica = .F. && se_modifica_assign + ENDIF + + ENDPROC + + PROCEDURE grid_sort_bind + *!* + ENDPROC + + PROCEDURE Init + LPARAMETERS tnNrPag + DODEFAULT() + thisform.nnr_pag = tnNrPag + thisform.pgframe.page2.Enabled=.F. + thisform.pgframe.page3.Enabled=.F. + IF glLunaInchisa + this.but_modifica1.Visible = !glLunaInchisa + this.but_modifica1.Enabled = !glLunaInchisa + ENDIF + + * SAFT + This.pgframe.page1.grdrulaje.cTaxName.Visible = m.gl406 + + *!* 10.05.2010 + this.gridextra1.setup() + *!* 10.05.2010 ^ + + + ENDPROC + + PROCEDURE Load + LOCAL loMonedaNationala + LOCAL lcSelect + lcSelect = SELECT() + + loMonedaNationala = GetMonedaNationala() && updateserver.prg + this.nIdMonedaNationala = loMonedaNationala.id_valuta + this.cMonedaNationala = loMonedaNationala.nume_val + + + SELECT this.nIdMonedaNationala as id_valuta, this.cMonedaNationala as nume_val ; + FROM dual ; + INTO CURSOR cValuteRulTemp + this.nIdvalutatotal = this.nIdMonedaNationala + this.cValutaTotal = this.cMonedaNationala + SELECT (lcSelect) + + DODEFAULT() + ENDPROC + + PROCEDURE modifica_articole + Local llSucces + this.AlwaysOnTop = .F. + this.nract = crsRulX.nract + this.dataact = crsRulX.dataact + lnIdSet = thisform.oactoriginal.id_set + IF m.lnIdSet = 99999 && import efactura achizitie + lnIdSet = 46 && achizitie factura neplatita ? poate sa fie si altceav + ENDIF + + llSucces = modificare_articole_gestiune(Thisform.oactoriginal.cod, m.lnIdSet) && pmenu.prg + + if m.llSucces + Thisform.pgframe.ActivePage = 1 + thisform.pgframe.page1.grdrulaje.SetFocus() + Thisform.actualizeaza_grid1() + + SELECT crsRulX + LOCATE FOR nract = thisform.nract AND dataact = thisform.dataact + IF !FOUND() + GO TOP + ENDIF + + endif + this.AlwaysOnTop = .T. + + ENDPROC + + PROCEDURE modifica_id_fact + * Asociaza rulajele cu alta factura (Ex: asociere ID_FACT rulaje la Invoice materii prime in curs de aprovizionare. + * Invoice-ul este introdus anterior, doar in contabilitate, iar rulajele odata cu Declaratia Vamala, si rulajele trebuie asociate cu Invoice pentru SAFT + + Local lcSelect, lcSql, llLunaCurenta, llSucces, lnIdRul, lnOptiune, loFactura, loRul, ldData1, ldData2 + Private pnIdRul + If m.glLunaInchisa + aMESSAGEBOX('Luna este inchisa!',0+48) + Return + Endif + + lcSelect = This.pgframe.page1.grdrulaje.RecordSource + If Reccount(lcSelect)=0 + aMESSAGEBOX("Nu exista inregistrari pentru modificare!",0+48,"Atentie") + Return + Endif + + Select (lcSelect) + Scatter Name loRul + lnIdRul = loRul.id_rul + llLunaCurenta = (loRul.an = m.gnAn And loRul.luna = m.gnLuna) + If !m.llLunaCurenta + aMESSAGEBOX("Nu puteti modifica inregistrari din alta luna!",0+48,"Atentie") + Select (m.lcSelect) + Return + Endif + + Select id_rul From (m.lcSelect) With (Buffering = .T.) Where ales = 1 And an = m.gnAn And luna = m.gnLuna Into Cursor crsAles + If Reccount('crsAles') = 0 + aMESSAGEBOX('Nu ati ales nici o inregistrare! Bifati inregistrarile din rulaje pe care doriti sa le modificati!',0+48,_Screen.Caption) + Use In (Select('crsAles')) + Select (m.lcSelect) + Return + ENDIF + + * caut in ultimele 12 luni + ldData1 = Gomonth(Date()-Day(Date()),-12) + ldData2 = Date() + + loFactura = caut_factura('401,404,408,462,473', m.ldData1, m.ldData2 ) && caut doar facturi de achizitie + + If Type('loFactura.id_fact') = "N" And !Empty(Nvl(loFactura.id_fact,0)) + If aMESSAGEBOX('Doriti sa modificati ID_FACT ' + Alltrim(STR(Nvl(loFactura.id_fact,''))) + ' in ' + Alltrim(Str(Reccount('crsAles'))) + ' inregistrari alese?',4+32,_Screen.Caption) = 6 + lcSql = [UPDATE rul SET id_fact = ] + Alltrim(Str(loFactura.id_fact)) + [ where id_rul = ?pnIdRul] + Select crsAles + Scan + pnIdRul = id_rul + llSucces = goExecutor.oExecuta(m.lcSql) + If !m.llSucces + Exit + Endif + Endscan + + Thisform.actualizeaza_grid1() + Try + Select (m.lcSelect) + Locate For id_rul = m.lnIdRul + Catch + Select (m.lcSelect) + Locate + Endtry + This.pgframe.page1.grdrulaje.Refresh() + aMESSAGEBOX('S-a modificat ID_FACT!',0+48,_Screen.Caption) + + Endif + Endif + + Use In (Select('crsAles')) + + ENDPROC + + PROCEDURE modifica_inregistrare + Local lcSelect, lcSql, llLunaCurenta, llSucces, lnIdRul, lnOptiune, loCauta, loRul + PRIVATE pnIdRul + If m.glLunaInchisa + aMESSAGEBOX('Luna este inchisa!',0+48) + Return + Endif + + lcSelect = This.pgframe.page1.grdrulaje.RecordSource + If Reccount(lcSelect)=0 + aMESSAGEBOX("Nu exista inregistrari pentru modificare!",0+48,"Atentie") + else + lnOptiune = xmenu('Modifica gestiune si cantitate inregistrarea curenta;Modifica gestiune pentru inregistrarile alese') + IF EMPTY(m.lnOptiune) + RETURN + ENDIF + + Select (lcSelect) + Scatter Name loRul + lnIdRul = loRul.id_rul + llLunaCurenta = (loRul.an = m.gnAn And loRul.luna = m.gnLuna) + IF !m.llLunaCurenta + AMESSAGEBOX("Nu puteti modifica inregistrari din alta luna!",0+48,"Atentie") + ELSE + IF m.lnOptiune = 1 + Do Adauga_Modifica_Inregistrare With "rulaje",loRul,lnIdRul,[UPDATE] + If gnButon = 1 + Thisform.actualizeaza_grid1() + TRY + SELECT (m.lcSelect) + LOCATE FOR id_rul = m.lnIdRul + CATCH + SELECT (m.lcSelect) + LOCATE + ENDTRY + This.pgframe.page1.grdrulaje.Refresh() + AMESSAGEBOX('ATENTIE! Trebuie sa actualizati manual stocul din butonul Refacere!',0+48,_screen.Caption) + ENDIF + ELSE + + loCauta = caut_gestiune() + IF TYPE('loCauta.id_gestiune') = "N" AND !EMPTY(NVL(loCauta.id_gestiune,0)) + SELECT id_rul FROM (m.lcSelect) WITH (buffering = .T.) WHERE ales = 1 AND an = m.gnAn AND luna = m.gnLuna INTO CURSOR crsAles + IF RECCOUNT('crsAles') = 0 + AMESSAGEBOX('Nu ati ales nici o inregistrare!',0+48,_screen.Caption) + ELSE + IF AMESSAGEBOX('Doriti sa completati gestiunea ' + ALLTRIM(NVL(loCauta.nume_gestiune,'')) + ' in ' + ALLTRIM(STR(RECCOUNT('crsAles'))) + ' inregistrari alese?',4+32,_screen.Caption) = 6 + lcSql = [UPDATE rul SET id_gestiune = ] + ALLTRIM(STR(loCauta.id_gestiune)) + [ where id_rul = ?pnIdRul] + SELECT crsAles + SCAN + pnIdRul = id_rul + llSucces = goExecutor.oExecuta(m.lcSql) + IF !m.llSucces + EXIT + ENDIF + ENDSCAN + USE IN (SELECT('crsAles')) + + + Thisform.actualizeaza_grid1() + TRY + SELECT (m.lcSelect) + LOCATE FOR id_rul = m.lnIdRul + CATCH + SELECT (m.lcSelect) + LOCATE + ENDTRY + This.pgframe.page1.grdrulaje.Refresh() + AMESSAGEBOX('ATENTIE! Trebuie sa actualizati manual stocul din butonul Refacere!',0+48,_screen.Caption) + + ENDIF + ENDIF + + ENDIF + ENDIF + ENDIF + Endif + ENDPROC + + PROCEDURE Release + this.pgframe.page1.cboValuta.RowSource = "" + USE IN (SELECT('cValuteRulTemp')) + ENDPROC + + PROCEDURE salveaza_antet + *** se trece in modul vizualizare antet si se salveaza modificarea + Local loAct As "empty" + Local llSucces, lnIdRul + SELECT crsRulX + lnIdRul = id_rul + + loAct = Createobject("empty") + With Thisform + AddProperty(loAct, "cod", .cod) + AddProperty(loAct, "nract", .nract) + AddProperty(loAct, "dataact", .dataact) + AddProperty(loAct, "nnir", .nnir) + AddProperty(loAct, "dataireg", .dataireg) + AddProperty(loAct, "id_partener", .id_partener) + AddProperty(loAct, "id_sectie", .id_sectie) + AddProperty(loAct, "id_lucrare", .id_lucrare) + AddProperty(loAct, "id_responsabil", .id_responsabil) + Endwith + + llSucces = modificare_antet_gestiune(m.loAct) && oproceduri_rulaje.prg + + If m.llSucces + Thisform.se_modifica = .F. + Thisform.do_cauta() + + SELECT crsRulX + LOCATE FOR nract = thisform.nract AND dataact = thisform.dataact + IF !FOUND() + GO TOP + ENDIF + thisform.pgframe.page1.grdrulaje.SetFocus() + Endif + + + + ENDPROC + + PROCEDURE se_modifica_assign + Lparameters vNewVal + *To do: Modify this routine for the Assign method + Local llReadOnly, llVisible, llEditMode + llEditMode = m.vNewVal + llReadOnly = !m.vNewVal + llVisible = m.vNewVal + + With Thisform.pgframe.page2 + .txtNrAct.ReadOnly = m.llReadOnly + .txtDataAct.ReadOnly = m.llReadOnly + .txtNnir.ReadOnly = m.llReadOnly + .txtDataIreg.ReadOnly = m.llReadOnly + .but_modifica_furnizor.Visible = m.llVisible + .but_modifica_responsabil.Visible = m.llVisible + .but_modifica_lucrare.Visible = m.llVisible + .but_modifica_sectie.Visible = m.llVisible + .refresh() + Endwith + + With Thisform.pgframe.page3 + .txtNnir.ReadOnly = m.llReadOnly + .txtDataAct.ReadOnly = m.llReadOnly + .but_modifica_responsabil.Visible = m.llVisible + .but_modifica_lucrare.Visible = m.llVisible + .but_modifica_sectie.Visible = m.llVisible + .refresh() + Endwith + + If m.llEditMode && TREC IN MODUL EDITARE + + With Thisform.but_modifica1 + .cpicturedown = "save_jos.bmp" + .cpictureup = "save_sus.bmp" + .Picture = "save_sus.bmp" + .ToolTipText = "Salvare" + .Enabled = .T. + .Refresh() + Endwith + Else + Thisform.pgframe.page1.grdrulaje.Refresh() + Thisform.pgframe.page2.grdnir.Refresh() + Thisform.pgframe.page3.grdbon.Refresh() + + With Thisform.but_modifica1 + .cpicturedown = "MODIFICA2.BMP" + .cpictureup = "MODIFICA1.BMP" + .Picture = "MODIFICA1.BMP" + .ToolTipText = "Modificare" + .Enabled = .T. + .Refresh() + ENDWITH + + Endif + + This.se_modifica = m.vNewVal + + ENDPROC + + PROCEDURE But_start_criterii1.loadcriterii + PARAMETERS tacriterii + EXTERNAL ARRAY tacriterii + #DEFINE crlf CHR(13)+CHR(10) + lcStringCriterii="Denumire articol\a.denumire\T\a.id_articol\nom_articol"+ crlf + ; + "Cod material\a.codmat\T\none\" + crlf + ; + "Serie articol\a.serie\T\none\" + crlf + ; + "Grupa articol\a.grupa\T\a.id_grupa\nom_grupa_articol"+ crlf + ; + "Subgrupa articol\a.subgrupa\T\a.id_subgrupa\nom_subgrupa_articol"+ crlf + ; + "Cod bare\codbare\T\none\"+ crlf + ; + "Nr. document\a.nract\N\none\" + crlf + ; + "Tip doc.\fdoc\T\id_fdoc\nom_feldoc"+ crlf + ; + "Serie document\a.serie_act\T\none\" + crlf + ; + "Data document\a.dataact\D\none\" + crlf + ; + "Nr. NIR/bon\a.nnir\N\none\" + crlf + ; + "Pret achizitie\a.pret\N|get_mask(12,gnPpret)\none\"+ crlf + ; + "Pret vz.\a.pretv\N|get_mask(12,gnPpret)\none\"+ crlf + ; + "Pret vz. TVA\(a.pretv + a.tvav)\N|get_mask(12,gnPpret)\none\"+ crlf + ; + "Pret valuta\a.pretd\N|get_mask(12,gnPPretval)\none\" + crlf + ; + "Valuta\a.nume_val\T\a.ID_VALUTA\nom_valuta" + crlf + ; + "Intrari\a.cant\N|get_mask(12,gnPCant)\none\" + crlf + ; + "Iesiri\a.cante\N|get_mask(12,gnPCant)\none\" + crlf + ; + "Cont\a.cont\T\none\"+ crlf + ; + "Cont analitic\a.acont\T\none\"+ crlf + ; + "Grupe gestiuni\|E|" + ; + [a.id_gestiune in ( ] + ; + [ select ID_GESTIUNE ] + ; + [ from vgest_coresp_grupe_gestiuni c ] + ; + [ join (select id_grupe ] + ; + [ from gest_nom_grupe ] + ; + [ where sters = 0 ] + ; + [ start with id_grupe = <> ] + ; + [ connect by prior id_grupe = parent_id) g on c.id_grupe = g.id_grupe )\I\none\nom_grupa_gestiune] + crlf + ; + "Gestiune\none\I\a.id_gestiune\nom_gestiune" + crlf + ; + "Grupe gest. coresp.\|E|" + ; + [a.id_gestiunec in ( ] + ; + [ select ID_GESTIUNE ] + ; + [ from vgest_coresp_grupe_gestiuni c ] + ; + [ join (select id_grupe ] + ; + [ from gest_nom_grupe ] + ; + [ where sters = 0 ] + ; + [ start with id_grupe = <> ] + ; + [ connect by prior id_grupe = parent_id) g on c.id_grupe = g.id_grupe )\I\none\nom_grupa_gestiune] + crlf + ; + "Gestiune coresp.\none\I\a.id_gestiunec\nom_gestiune" + crlf + ; + "Sectie\a.sectie\T\a.ID_SECTIE\nom_sectie" + crlf + ; + "Lucrare/Comanda\nrord\T\a.ID_LUCRARE\nom_lucrare" + crlf + ; + "Lucrare rezervare\a.nrord_rez\T\a.ID_LUCRARE_REZ\nom_lucrare" + crlf + ; + "Partener rezervare\a.part_rez\T\a.id_part_rez\nom_parteneri" + crlf + ; + "Furnizor\a.furnizor\T\a.id_furnizor\nom_parteneri" + crlf + ; + IIF(EMPTY(gcCondSucursala) and glEMama,"Sucursala\Sucursala\C\none" + crlf,[]) +; + "Tip rulaj\none\I\a.id_tip_rulaj\nom_tip_rulaj" + crlf + ; + "Cod\cod\N\none\" + crlf + ; + "Tip operatie\id_set\N\none\" + crlf + ; + "Operator introducere\util\T\A.ID_UTIL\nom_utilizator" + crlf + ; + "Data introducerii\trunc(a.dataora)\D\none\" + crlf + ; + "Perioada\a.an*12+a.luna\D1\none\" + crlf + ; + "Sterse\nofiled\E\(1=1)\" + DODEFAULT() + + ENDPROC + + PROCEDURE Gridextra1.applyfilter + DODEFAULT() + thisform.CalculeazaTotaluri(.T.) + + ENDPROC + + PROCEDURE Gridextra1.clearfilter + DODEFAULT() + thisform.CalculeazaTotaluri(.T.) + + ENDPROC + + PROCEDURE pgframe.AddObject + Lparameters cName, cClass + *!* modificare ROAGEST v 2.0.51 + If gnButon = 1 + Thisform.actualizeaza_grid1() + Endif + *!* modificare ROAGEST v 2.0.51 ^ + + ENDPROC + + PROCEDURE pgframe.Page1.Activate + DODEFAULT() + + this.FontBold=.T. + *!* Thisform.but_modifica1.Enabled = .T. + *!* Thisform.but_modifica1.Visible = .T. + ENDPROC + + PROCEDURE pgframe.Page1.cboValuta.Valid + thisform.nIdValutaTotal = cValuteRulTemp.id_valuta + thisform.calculeazatotaluri() + ENDPROC + + PROCEDURE pgframe.Page1.DblClick + IF AMESSAGEBOX('Doriti sa activati modificarea inregistrarilor?' + CHR(13)+CHR(10) + 'Atentie trebuie refacut stocul dupa modificare!',4+32,_screen.Caption) = 6 + IF INPUTBOX('Parola','Parola') = DTOS(DATE()) + thisform.lModificareinregistrare = .T. + ENDIF + ENDIF + ENDPROC + + PROCEDURE pgframe.Page1.Deactivate + this.FontBold=.F. + ENDPROC + + PROCEDURE pgframe.Page1.grdrulaje.AfterRowColChange + Lparameters nColIndex + If This.RowColChange = 1 Or This.RowColChange= 3 + thisform.lnoua=.T. + Select crsRulX + If cant#0 + Thisform.pgframe.page2.Enabled=.T. + Thisform.pgframe.page3.Enabled=.F. + Else + Thisform.pgframe.page2.Enabled=.F. + Thisform.pgframe.page3.Enabled=.T. + Endif + Endif + DoDefault() + + ENDPROC + + PROCEDURE pgframe.Page1.grdrulaje.Init + This.SetAll("DynamicForeColor", "IIF(sters=1, RGB(255,0,0), RGB(0,0,0))", "Column") + + ENDPROC + + PROCEDURE pgframe.Page1.Text1.Refresh + *THIS.FORECOLOR=IIF(M.PRECDEB-M.PRECCRED>=0, RGB(0,0,0), RGB(255,0,0)) + ENDPROC + + PROCEDURE pgframe.Page1.Text2.Refresh + *THIS.FORECOLOR=IIF(TINCASARI>=0, RGB(0,0,0), RGB(255,0,0)) + ENDPROC + + PROCEDURE pgframe.Page1.Text3.Refresh + *THIS.FORECOLOR=IIF(TPLATI>=0, RGB(0,0,0), RGB(255,0,0)) + ENDPROC + + PROCEDURE pgframe.Page1.Text4.Refresh + *THIS.FORECOLOR=IIF(TINCASARI-TPLATI>=0, RGB(0,0,0), RGB(255,0,0)) + ENDPROC + + PROCEDURE pgframe.Page1.Text5.Refresh + *THIS.FORECOLOR=IIF(TPLATI>=0, RGB(0,0,0), RGB(255,0,0)) + ENDPROC + + PROCEDURE pgframe.Page1.Text6.Refresh + *THIS.FORECOLOR=IIF(TINCASARI-TPLATI>=0, RGB(0,0,0), RGB(255,0,0)) + ENDPROC + + PROCEDURE pgframe.Page2.Activate + *!* 12.12.2014 + *!* marius.mutu + *!* selectie rulaje dupa cod in loc de nnir + + Private pntotal, pnCod, pnid_fact, pnnnir + Local lcSql, llEditMode, lnSucces + Local llDeleted, llLunaCurenta + Local loRul + + + pntotal = 0 + DoDefault() + If This.Enabled + This.FontBold = .T. + ENDIF + + llEditMode = Thisform.se_modifica + llLunaCurenta = .F. + llDeleted = .F. + + If Thisform.lnoua And !m.llEditMode + Select crsRulX + SCATTER NAME loRul + pnCod = cod + thisform.cod = cod + + llDeleted = !EMPTY(NVL(sters,0)) + llLunaCurenta = (an = m.gnAn And luna = m.gnLuna) + With Thisform + .nnir = loRul.nnir + .nract = loRul.nract + .dataact = loRul.dataact + .partener = [] + .id_partener = 0 + .sectie = ALLTRIM(NVL(loRul.sectie, '')) + .id_sectie = loRul.id_sectie + .lucrare = Alltrim(NVL(loRul.nrord, '')) + .id_lucrare = loRul.id_lucrare + .responsabil = Alltrim(NVL(loRul.nresp,'')) + .id_responsabil = loRul.id_responsabil + .serie_act = Alltrim(NVL(loRul.serie_act,'')) + .oActOriginal = Null + Endwith + + If m.pnCod > 0 + Use In (SELECT('crsact')) + + * achizitii de la furnizor sau id_set 100,219 - produse > intrare in gestiune productie proprie (fara furnizor) + lcSql = [select partc as partener, id_partc as id_partener, dataireg, id_set, cod from vact where an = ] + ALLTRIM(STR(m.gnAn)) + [ and luna = ] + ALLTRIM(STR(m.gnLuna)) + [ and cod = ] + ALLTRIM(STR(m.pnCod)) + [ and (NVL(id_partc,0) <> 0 or id_set in (100,219))] + lnSucces = goExecutor.oExecute(lcSql, 'crsact') + If m.lnSucces < 0 + aMessagebox(goExecutor.cEroare, 0 + 16, 'Eroare') + Else + Select crsact + GO TOP + SCATTER NAME thisform.oactoriginal + + With Thisform + .partener = Alltrim(NVL(partener,'')) + .id_partener = NVL(id_partener, 0) + .dataireg = TTOD(dataireg) + Endwith + + Use In (Select('crsact')) + Endif && lnSucces + Endif && m.pnid_fact > 0 + + + save_grid_tag(This.grdnir) + ponir.ca_baza1.cfiltru = [a.cod=] + Alltrim(Str(m.pnCod)) + ponir.ca_baza1.afisare() + restore_grid_tag(This.grdnir) + + Select crsnir + Calculate Sum(Round(cant * (Pret + tva), gnPC)) To pntotal + Thisform.valoare = m.pntotal + + Go Top + This.Refresh() + Thisform.lnoua = .F. + Endif + + + IF !m.llEditMode + Thisform.but_modifica1.Enabled = m.llLunaCurenta And !m.llDeleted && permit modificari doar in luna curenta si doar pe inregistrarile nesterse + Thisform.but_modifica1.Visible = .T. + ENDIF + + ENDPROC + + PROCEDURE pgframe.Page2.but_modifica_furnizor.Click + loCaut = caut_partener() + IF TYPE('loCaut') = 'O' AND !ISNULL(loCaut) + thisform.partener = ALLTRIM(loCaut.denumire) + thisform.id_partener = loCaut.id_part + ENDIF + this.Parent.txtFurnizor.Refresh() + ENDPROC + + PROCEDURE pgframe.Page2.but_modifica_lucrare.Click + loCaut = caut_lucrare() + IF TYPE('loCaut') = 'O' AND !ISNULL(loCaut) + thisform.lucrare = ALLTRIM(loCaut.nrord) + thisform.id_lucrare = loCaut.id_lucrare + ENDIF + this.Parent.txtLucrare.Refresh() + ENDPROC + + PROCEDURE pgframe.Page2.but_modifica_responsabil.Click + loCaut = caut_responsabil() + IF TYPE('loCaut') = 'O' AND !ISNULL(loCaut) + thisform.responsabil = ALLTRIM(loCaut.nume) + thisform.id_responsabil = loCaut.id_responsabil + ENDIF + this.Parent.txtReponsabil.Refresh() + ENDPROC + + PROCEDURE pgframe.Page2.but_modifica_sectie.Click + loCaut = caut_sectie() + IF TYPE('loCaut') = 'O' AND !ISNULL(loCaut) + thisform.sectie = ALLTRIM(loCaut.sectie) + thisform.id_sectie = loCaut.id_sectie + ENDIF + this.Parent.txtSectie.Refresh() + ENDPROC + + PROCEDURE pgframe.Page2.Deactivate + DODEFAULT() + This.FontBold=.F. + + Local llEditMode, llRaspuns + llEditMode = THISFORM.se_modifica + IF m.llEditMode + llRaspuns = AMESSAGEBOX('Aveti modificari nesalvate.' + CHR(13) + CHR(10) + 'Doriti sa salvati?',4+32, _Screen.Caption) + IF m.llRaspuns = 6 + thisform.salveaza_antet() + ELSE + thisform.editeaza_antet(.F.) + ENDIF + ENDIF + + *!* thisform.but_modifica1.visible = .F. + *!* Thisform.but_modifica1.Enabled = .F. + ENDPROC + + PROCEDURE pgframe.Page3.Activate + Private pntotal + Local lcSql, llDeleted, llEditMode, llLunaCurenta, lnSucces, loRul + PRIVATE pncod + + pntotal=0 + DoDefault() + If This.Enabled + This.FontBold=.T. + ENDIF + llEditMode = Thisform.se_modifica + llLunaCurenta = .F. + llDeleted = .F. + thisform.oActOriginal = NULL + + If Thisform.lnoua And !m.llEditMode + Select crsRulX + SCATTER NAME loRul + pncod = cod + thisform.cod = cod + llDeleted = !EMPTY(NVL(sters,0)) + llLunaCurenta = (an = m.gnAn And luna = m.gnLuna) + + With Thisform + .nnir = loRul.nnir + .nract = loRul.nract + .dataact = loRul.dataact + .partener = [] + .id_partener = 0 + .sectie = ALLTRIM(NVL(loRul.sectie, '')) + .id_sectie = loRul.id_sectie + .lucrare = Alltrim(NVL(loRul.nrord, '')) + .id_lucrare = loRul.id_lucrare + .responsabil = Alltrim(NVL(loRul.nresp,'')) + .id_responsabil = loRul.id_responsabil + .serie_act = Alltrim(NVL(loRul.serie_act,'')) + .oActOriginal = Null + Endwith + + If m.pncod > 0 + lcSql = [SELECT * FROM act WHERE cod= ?pnCod] + lnSucces = goExecutor.oExecute(lcSql, 'crsact') + If m.lnSucces < 0 + aMessagebox(goExecutor.cEroare, 0 + 16, 'Eroare') + ELSE + SELECT crsAct + IF RECCOUNT() > 0 + GO TOP + SCATTER NAME thisform.oActOriginal + ENDIF + USE IN (SELECT('crsAct')) + ENDIF && lnSucces + + save_grid(This.grdbon) + pobon.ca_baza1.cfiltru=[a.cod=] + Alltrim(Str(pncod)) + pobon.ca_baza1.afisare() + restore_grid(This.grdbon) + + Select crsbon + Calculate Sum(ROUND(cante*pretv,gnPC)) To pntotal + Thisform.valoare = m.pntotal + Else + Thisform.valoare = 0 + Endif + + Go Top + This.Refresh() + Thisform.lnoua = .F. + ENDIF + + IF !m.llEditMode + Thisform.but_modifica1.Enabled = m.llLunaCurenta And !m.llDeleted && permit modificari doar in luna curenta si doar pe inregistrarile nesterse + Thisform.but_modifica1.Visible = .T. + ENDIF + ENDPROC + + PROCEDURE pgframe.Page3.but_modifica_lucrare.Click + loCaut = caut_lucrare() + IF TYPE('loCaut') = 'O' AND !ISNULL(loCaut) + thisform.lucrare = ALLTRIM(loCaut.nrord) + thisform.id_lucrare = loCaut.id_lucrare + ENDIF + this.Parent.txtLucrare.Refresh() + ENDPROC + + PROCEDURE pgframe.Page3.but_modifica_responsabil.Click + loCaut = caut_responsabil() + IF TYPE('loCaut') = 'O' AND !ISNULL(loCaut) + thisform.responsabil = ALLTRIM(loCaut.nume) + thisform.id_responsabil = loCaut.id_responsabil + ENDIF + this.Parent.txtReponsabil.Refresh() + ENDPROC + + PROCEDURE pgframe.Page3.but_modifica_sectie.Click + loCaut = caut_sectie() + IF TYPE('loCaut') = 'O' AND !ISNULL(loCaut) + thisform.sectie = ALLTRIM(loCaut.sectie) + thisform.id_sectie = loCaut.id_sectie + ENDIF + this.Parent.txtSectie.Refresh() + ENDPROC + + PROCEDURE pgframe.Page3.Deactivate + DODEFAULT() + This.FontBold=.F. + + Local llEditMode, llRaspuns + llEditMode = THISFORM.se_modifica + IF m.llEditMode + llRaspuns = AMESSAGEBOX('Aveti modificari nesalvate.' + CHR(13) + CHR(10) + 'Doriti sa salvati?',4+32, _Screen.Caption) + IF m.llRaspuns = 6 + thisform.salveaza_antet() + ELSE + thisform.editeaza_antet(.F.) + ENDIF + ENDIF + + *!* thisform.but_modifica1.visible = .F. + *!* Thisform.but_modifica1.Enabled = .F. + ENDPROC + +ENDDEFINE + +DEFINE CLASS frm_rulaje_nou AS _frmbase OF "_frm_base.vcx" + *< CLASSDATA: Baseclass="form" Timestamp="" Scale="Pixels" Uniqueid="" /> + + *-- OBJECTDATA items order determines ZOrder / El orden de los items OBJECTDATA determina el ZOrder + *< OBJECTDATA: ObjPath="_shape3" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="shp_saft" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="But_renunt1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="img_parinte" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="clb_gestiune" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="Clb_tx_cant" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="Clb_tx_cante" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="cboTVA" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="Label1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="cbo_saft" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="lb_saft" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="Cus_odata_rulaje" UniqueID="" Timestamp="" /> + + * + *m: do_alege_gestiune + *p: ncant + *p: ncante + *p: nid + *p: orec + * + + * + BorderStyle = 1 + DoCreate = .T. + Height = 211 + Name = "frm_rulaje_nou" + ncant = 0 + ncante = 0 + Width = 361 + _shape1.Height = 29 + _shape1.Left = 0 + _shape1.Name = "_shape1" + _shape1.Top = 0 + _shape1.Width = 387 + _shape1.ZOrderSet = 1 + _shape2.Height = 29 + _shape2.Left = 326 + _shape2.Name = "_shape2" + _shape2.Top = 0 + _shape2.Width = 61 + _shape2.ZOrderSet = 2 + Lb_titlu_alb_b121.Caption = "Rulaj" + Lb_titlu_alb_b121.Name = "Lb_titlu_alb_b121" + Lb_titlu_alb_b121.TabIndex = 8 + Lb_titlu_alb_b121.ZOrderSet = 3 + BUT_TERMIN1.Left = 331 + BUT_TERMIN1.Name = "BUT_TERMIN1" + BUT_TERMIN1.TabIndex = 6 + BUT_TERMIN1.Top = 1 + BUT_TERMIN1.ZOrderSet = 4 + Gridsort1.Name = "Gridsort1" + * + + ADD OBJECT '_shape3' AS _shape WITH ; + BackStyle = 0, ; + Height = 29, ; + Left = 13, ; + Name = "_shape3", ; + Top = 144, ; + Width = 312, ; + ZOrderSet = 0 + *< END OBJECT: ClassLib="..\..\..\roacont\comun\clase\_baza.vcx" BaseClass="shape" /> + + ADD OBJECT 'But_renunt1' AS but_renunt WITH ; + Left = 301, ; + Name = "But_renunt1", ; + TabIndex = 7, ; + Top = 1, ; + ZOrderSet = 6 + *< END OBJECT: ClassLib="cmd_butoane.vcx" BaseClass="commandbutton" /> + + ADD OBJECT 'cbo_saft' AS combobox WITH ; + BorderColor = 128,128,128, ; + BorderStyle = 1, ; + BoundColumn = 4, ; + BoundTo = .T., ; + ColumnCount = 3, ; + ColumnLines = .F., ; + ColumnWidths = "500,150,50", ; + ControlSource = "poRec.taxcode", ; + FontName = "Arial", ; + FontSize = 10, ; + Height = 20, ; + InputMask = "", ; + Left = 84, ; + Name = "cbo_saft", ; + RowSource = "Select taxname, tip, procent_taxa, taxcode From saft_taxtable where tva = 1 order by taxcode Into Cursor crsTaxTableX", ; + RowSourceType = 3, ; + SpecialEffect = 1, ; + Style = 2, ; + TabIndex = 5, ; + TabStop = .F., ; + Top = 177, ; + Visible = .F., ; + Width = 236, ; + ZOrderSet = 12 + *< END OBJECT: BaseClass="combobox" /> + + ADD OBJECT 'cboTVA' AS combobox WITH ; + BorderColor = 128,128,128, ; + BorderStyle = 1, ; + BoundColumn = 3, ; + BoundTo = .T., ; + ColumnCount = 2, ; + ColumnLines = .F., ; + ColumnWidths = "500,50", ; + ControlSource = "poRec.id_jtva_coloana", ; + FontName = "Arial", ; + FontSize = 10, ; + Height = 20, ; + InputMask = "", ; + Left = 84, ; + Name = "cboTVA", ; + RowSource = "select denumire, cota_tva, id_jtva_coloana From crsTVATemp order by denumire Into Cursor crsTVAX", ; + RowSourceType = 3, ; + SpecialEffect = 1, ; + Style = 2, ; + TabIndex = 4, ; + TabStop = .T., ; + Top = 149, ; + Visible = .T., ; + Width = 236, ; + ZOrderSet = 12 + *< END OBJECT: BaseClass="combobox" /> + + ADD OBJECT 'clb_gestiune' AS clb_tx_simplu WITH ; + Height = 29, ; + Left = 13, ; + Name = "clb_gestiune", ; + TabIndex = 1, ; + TabStop = .F., ; + ToolTipText = "Pentru modificare, faceti dublu-click!", ; + Top = 55, ; + Width = 313, ; + ZOrderSet = 8, ; + Text_simplu1.ControlSource = "porec.cgest", ; + Text_simplu1.Height = 23, ; + Text_simplu1.Left = 101, ; + Text_simplu1.Name = "Text_simplu1", ; + Text_simplu1.ReadOnly = .T., ; + Text_simplu1.Top = 3, ; + Text_simplu1.Value = , ; + Text_simplu1.Width = 206, ; + Lb_simplu1.Caption = "Gestiune", ; + Lb_simplu1.Name = "Lb_simplu1" + *< END OBJECT: ClassLib="lb_tx.vcx" BaseClass="container" /> + + ADD OBJECT 'Clb_tx_cant' AS clb_tx_simplu WITH ; + Height = 29, ; + Left = 13, ; + Name = "Clb_tx_cant", ; + TabIndex = 2, ; + Top = 83, ; + Width = 312, ; + ZOrderSet = 10, ; + Text_simplu1.ControlSource = "porec.cant", ; + Text_simplu1.Height = 23, ; + Text_simplu1.Left = 165, ; + Text_simplu1.Name = "Text_simplu1", ; + Text_simplu1.Top = 3, ; + Text_simplu1.Width = 141, ; + Lb_simplu1.Caption = "Cantitate intrata:", ; + Lb_simplu1.Name = "Lb_simplu1" + *< END OBJECT: ClassLib="lb_tx.vcx" BaseClass="container" /> + + ADD OBJECT 'Clb_tx_cante' AS clb_tx_simplu WITH ; + Height = 29, ; + Left = 13, ; + Name = "Clb_tx_cante", ; + TabIndex = 3, ; + Top = 111, ; + Width = 312, ; + ZOrderSet = 11, ; + Text_simplu1.ControlSource = "porec.cante", ; + Text_simplu1.Height = 23, ; + Text_simplu1.Left = 165, ; + Text_simplu1.Name = "Text_simplu1", ; + Text_simplu1.Top = 3, ; + Text_simplu1.Width = 141, ; + Lb_simplu1.Caption = "Cantitate iesita:", ; + Lb_simplu1.Name = "Lb_simplu1" + *< END OBJECT: ClassLib="lb_tx.vcx" BaseClass="container" /> + + ADD OBJECT 'Cus_odata_rulaje' AS cus_odata_rulaje WITH ; + Left = 120, ; + Name = "Cus_odata_rulaje", ; + Top = 24 + *< END OBJECT: ClassLib="rulaje.vcx" BaseClass="custom" /> + + ADD OBJECT 'img_parinte' AS _image WITH ; + Height = 24, ; + Left = 331, ; + Name = "img_parinte", ; + Picture = ..\grafice\alege.bmp, ; + Stretch = 2, ; + ToolTipText = "Alegeti valuta", ; + Top = 57, ; + Width = 24, ; + ZOrderSet = 7 + *< END OBJECT: ClassLib="_baza.vcx" BaseClass="image" /> + + ADD OBJECT 'Label1' AS label WITH ; + AutoSize = .T., ; + BackStyle = 0, ; + Caption = "TVA", ; + FontName = "Arial", ; + FontSize = 10, ; + Height = 18, ; + Left = 22, ; + Name = "Label1", ; + TabIndex = 9, ; + Top = 150, ; + Visible = .T., ; + Width = 27, ; + ZOrderSet = 13 + *< END OBJECT: BaseClass="label" /> + + ADD OBJECT 'lb_saft' AS label WITH ; + AutoSize = .T., ; + BackStyle = 0, ; + Caption = "Cod taxa", ; + FontName = "Arial", ; + FontSize = 10, ; + Height = 18, ; + Left = 22, ; + Name = "lb_saft", ; + TabIndex = 10, ; + Top = 178, ; + Visible = .F., ; + Width = 54, ; + ZOrderSet = 13 + *< END OBJECT: BaseClass="label" /> + + ADD OBJECT 'shp_saft' AS _shape WITH ; + BackStyle = 0, ; + Height = 29, ; + Left = 13, ; + Name = "shp_saft", ; + Top = 172, ; + Width = 312, ; + ZOrderSet = 0 + *< END OBJECT: ClassLib="..\..\..\roacont\comun\clase\_baza.vcx" BaseClass="shape" /> + + PROCEDURE Destroy + USE IN (SELECT('crsTVATemp')) + ENDPROC + + PROCEDURE do_alege_gestiune + Local loCauta + loCauta = caut_gestiune() + + + IF !EMPTY(loCauta.id_gestiune) + poRec.id_gestiune = loCauta.id_gestiune + poRec.cgest = loCauta.cgest + ENDIF + + this.clb_gestiune.text_simplu1.Refresh() + + + ENDPROC + + PROCEDURE inainte_de_do_termin + LOCAL PLRETURN + + lccontrol = UPPER(this.ActiveControl.BaseClass ) + IF INLIST(lccontrol,"TEXTBOX","EDITBOX","COMBOBOX") + lcval=This.Activecontrol.controlsource + &lcval=thisform.ActiveControl.value + ENDIF + + IF EMPTY(porec.id_gestiune) + lcTitlu=[Atentie] + lcMesaj=[Nu ati ales gestiunea!] + lcimagine = [exclam.ico] + lctip = [Avertizare] + ofrm_av = CREATEOBJECT([frm_mesaj],lcTitlu,lcimagine,lctip,lcMesaj) + ofrm_av.show(1) + RELEASE ofrm_av + + This.clb_gestiune.SetFocus() + plreturn=.F. + ELSE + IF (this.ncant # 0 AND poRec.cante # 0) OR (this.ncante # 0 AND poRec.cant # 0) + lcTitlu=[Atentie] + lcMesaj=[Nu puteti schimba decat cantitatea intrata/iesita !] + lcimagine = [exclam.ico] + lctip = [Avertizare] + ofrm_av = CREATEOBJECT([frm_mesaj],lcTitlu,lcimagine,lctip,lcMesaj) + ofrm_av.show(1) + RELEASE ofrm_av + plreturn=.F. + RETURN plreturn + ENDIF + PLRETURN=This.cus_odata_rulaje.salvare(This.OREC,This.NID) + ENDIF + + Return PLRETURN + + + ENDPROC + + PROCEDURE Init + LPARAMETERS toRec, tnId, tcActiune + + DODEFAULT() + this.orec= toRec + this.nid = tnId + this.cus_odata_rulaje.cactiune = tcActiune + + this.nCant = toRec.cant + this.nCante = toRec.Cante + IF toRec.cant # 0 + this.clb_tx_cante.text_simplu1.ReadOnly= .T. + ELSE + this.clb_tx_cant.text_simplu1.ReadOnly= .T. + ENDIF + + This.cbo_saft.Visible = m.gl406 + this.lb_saft.Visible = m.gl406 + this.shp_saft.Visible = m.gl406 + ENDPROC + + PROCEDURE Load + If !Used('saft_taxtable') + update_saft_taxtable() + ENDIF + + update_jtva_coloane([],[jtva_temp]) + + Select space(100) as denumire, cast(null as N(5)) as cota_tva, cast(null as I) as id_jtva_coloana, -1 as ordine from dual ; + UNION ; + select denumire, cota_tva, id_jtva_coloana, ordine ; + From jtva_temp ; + where afisat = 1 ; + order by denumire ; + Into Cursor crsTVATemp + + USE IN (SELECT('jtva_temp')) + ENDPROC + + PROCEDURE cboTVA.LostFocus + poRec.proc_tva = 1 + ROUND(NVL(crsTvaX.cota_tva,0)/100,2) + ENDPROC + + PROCEDURE cbo_saft.LostFocus + This.ForeColor = Rgb(0, 0, 0) + + ENDPROC + + PROCEDURE clb_gestiune.Text_simplu1.DblClick + Thisform.do_alege_gestiune() + ENDPROC + + PROCEDURE img_parinte.Click + Thisform.do_alege_gestiune() + + ENDPROC + +ENDDEFINE + +DEFINE CLASS frm_rulaje_obinv AS _frmbase OF "_frm_base.vcx" + *< CLASSDATA: Baseclass="form" Timestamp="" Scale="Pixels" Uniqueid="" /> + + *-- OBJECTDATA items order determines ZOrder / El orden de los items OBJECTDATA determina el ZOrder + *< OBJECTDATA: ObjPath="But_excel1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="But_listare1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="but_modifica1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="pgframe" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="pgframe.Page1.grdrulaje" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="pgframe.Page1.grdrulaje.cNrCrt.Header1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="pgframe.Page1.grdrulaje.cNrCrt.Text1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="pgframe.Page1.grdrulaje.cNnir.Header1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="pgframe.Page1.grdrulaje.cNnir.Text1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="pgframe.Page1.grdrulaje.cDataact.Header1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="pgframe.Page1.grdrulaje.cDataact.Text1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="pgframe.Page1.grdrulaje.cCodmat.Header1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="pgframe.Page1.grdrulaje.cCodmat.Text1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="pgframe.Page1.grdrulaje.cDenumire.Header1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="pgframe.Page1.grdrulaje.cDenumire.Text1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="pgframe.Page1.grdrulaje.cUM.Header1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="pgframe.Page1.grdrulaje.cUM.Text1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="pgframe.Page1.grdrulaje.cPret.Header1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="pgframe.Page1.grdrulaje.cPret.Text1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="pgframe.Page1.grdrulaje.cCant.Header1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="pgframe.Page1.grdrulaje.cCant.Text1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="pgframe.Page1.grdrulaje.cCante.Header1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="pgframe.Page1.grdrulaje.cCante.Text1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="pgframe.Page1.grdrulaje.cCont.Header1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="pgframe.Page1.grdrulaje.cCont.Text1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="pgframe.Page1.grdrulaje.cCod.Header1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="pgframe.Page1.grdrulaje.cCod.Text1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="pgframe.Page1.grdrulaje.cAcont.Header1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="pgframe.Page1.grdrulaje.cAcont.Text1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="pgframe.Page1.grdrulaje.cGest.Header1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="pgframe.Page1.grdrulaje.cGest.Text1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="pgframe.Page1.grdrulaje.cNrord.Header1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="pgframe.Page1.grdrulaje.cNrord.Text1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="pgframe.Page1.grdrulaje.cCurs.Header1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="pgframe.Page1.grdrulaje.cCurs.Text1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="pgframe.Page1.grdrulaje.cPretd.Header1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="pgframe.Page1.grdrulaje.cPretd.Text1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="pgframe.Page1.grdrulaje.cProcent.Header1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="pgframe.Page1.grdrulaje.cProcent.Text1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="pgframe.Page1.grdrulaje.cAdaos.Header1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="pgframe.Page1.grdrulaje.cAdaos.Text1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="pgframe.Page1.grdrulaje.cTva.Header1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="pgframe.Page1.grdrulaje.cTva.Text1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="pgframe.Page1.grdrulaje.cValoare.Header1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="pgframe.Page1.grdrulaje.cValoare.Text1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="pgframe.Page1.grdrulaje.cPretv.Header1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="pgframe.Page1.grdrulaje.cPretv.Text1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="pgframe.Page1.grdrulaje.cTvav.Header1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="pgframe.Page1.grdrulaje.cTvav.Text1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="pgframe.Page1.grdrulaje.cPretvtva.Header1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="pgframe.Page1.grdrulaje.cPretvtva.Text1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="pgframe.Page1.grdrulaje.cProc_tva.Header1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="pgframe.Page1.grdrulaje.cProc_tva.Text1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="pgframe.Page1.grdrulaje.cUtil.Header1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="pgframe.Page1.grdrulaje.cUtil.Text1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="pgframe.Page1.grdrulaje.cDataora.Header1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="pgframe.Page1.grdrulaje.cDataora.Text1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="pgframe.Page1.grdrulaje.cSectie.Header1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="pgframe.Page1.grdrulaje.cSectie.Text1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="pgframe.Page1.grdrulaje.cDatain.Header1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="pgframe.Page1.grdrulaje.cDatain.Text1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="pgframe.Page1.grdrulaje.cDataOut.Header1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="pgframe.Page1.grdrulaje.cDataOut.Text1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="pgframe.Page1.grdrulaje.cNresp.Header1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="pgframe.Page1.grdrulaje.cNresp.Text1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="pgframe.Page1.grdrulaje.cGestC.Header1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="pgframe.Page1.grdrulaje.cGestC.Text1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="pgframe.Page1.grdrulaje.cNrespC.Header1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="pgframe.Page1.grdrulaje.cNrespC.Text1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="pgframe.Page1.grdrulaje.cTipRulaj.Header1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="pgframe.Page1.grdrulaje.cTipRulaj.Text1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="pgframe.Page1.grdrulaje.Column34.Header1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="pgframe.Page1.grdrulaje.Column34.Text1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="pgframe.Page1.grdrulaje.Column35.Header1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="pgframe.Page1.grdrulaje.Column35.Text1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="pgframe.Page1.grdrulaje.Column36.Header1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="pgframe.Page1.grdrulaje.Column36.Text1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="pgframe.Page1.grdrulaje.Column37.Header1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="pgframe.Page1.grdrulaje.Column37.Text1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="pgframe.Page1.grdrulaje.cSucursala.Header1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="pgframe.Page1.grdrulaje.cSucursala.Text1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="pgframe.Page1.grdrulaje.cRespMarca.Header1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="pgframe.Page1.grdrulaje.cRespMarca.Text1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="pgframe.Page1.grdrulaje.cRespCMarca.Header1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="pgframe.Page1.grdrulaje.cRespCMarca.Text1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="pgframe.Page1.grdrulaje.cIdSet.Header1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="pgframe.Page1.grdrulaje.cIdSet.Text1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="pgframe.Page1.grdrulaje.cFdoc.Header1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="pgframe.Page1.grdrulaje.cFdoc.Text1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="pgframe.Page1.grdrulaje.cNrAct.Header1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="pgframe.Page1.grdrulaje.cNrAct.Text1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="pgframe.Page1.grdrulaje.cSerie.Header1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="pgframe.Page1.grdrulaje.cSerie.Text1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="pgframe.Page1.grdrulaje.Column45.Header1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="pgframe.Page1.grdrulaje.Column45.Text1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="pgframe.Page1.Shape1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="pgframe.Page1.Text1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="pgframe.Page1.Text3" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="pgframe.Page1.Text4" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="pgframe.Page1.Text2" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="pgframe.Page1.Label1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="pgframe.Page1.Label2" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="pgframe.Page1.Label4" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="pgframe.Page1.Label3" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="pgframe.Page2.grdnir" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="pgframe.Page2.grdnir.cNrcrt.Header1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="pgframe.Page2.grdnir.cNrcrt.Text1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="pgframe.Page2.grdnir.cCodMat.Header1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="pgframe.Page2.grdnir.cCodMat.Text1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="pgframe.Page2.grdnir.cDenumire.Header1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="pgframe.Page2.grdnir.cDenumire.Text1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="pgframe.Page2.grdnir.cUM.Header1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="pgframe.Page2.grdnir.cUM.Text1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="pgframe.Page2.grdnir.cPret.Header1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="pgframe.Page2.grdnir.cPret.Text1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="pgframe.Page2.grdnir.cCant.Header1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="pgframe.Page2.grdnir.cCant.Text1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="pgframe.Page2.grdnir.cValoare.Header1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="pgframe.Page2.grdnir.cValoare.Text1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="pgframe.Page2.grdnir.cTva.Header1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="pgframe.Page2.grdnir.cTva.Text1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="pgframe.Page2.grdnir.cTotal.Header1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="pgframe.Page2.grdnir.cTotal.Text1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="pgframe.Page2.grdnir.cCod.Header1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="pgframe.Page2.grdnir.cCod.Text1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="pgframe.Page2.grdnir.cResponsabil.Header1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="pgframe.Page2.grdnir.cResponsabil.Text1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="pgframe.Page2.ck_nrcrt" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="pgframe.Page2.Shape1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="pgframe.Page2.Text2" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="pgframe.Page2.Text4" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="pgframe.Page2.Label4" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="pgframe.Page2.Label5" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="pgframe.Page2.Label2" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="pgframe.Page2.ck_valoare" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="pgframe.Page2.Label3" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="pgframe.Page2.Text1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="pgframe.Page2.Label1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="pgframe.Page2.Text3" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="pgframe.Page2.Text5" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="pgframe.Page2.Label6" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="pgframe.Page2.Text6" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="pgframe.Page3.grdbon" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="pgframe.Page3.grdbon.cNrcrt.Header1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="pgframe.Page3.grdbon.cNrcrt.Text1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="pgframe.Page3.grdbon.cDataact.Header1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="pgframe.Page3.grdbon.cDataact.Text1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="pgframe.Page3.grdbon.cNract.Header1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="pgframe.Page3.grdbon.cNract.Text1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="pgframe.Page3.grdbon.cDenumire.Header1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="pgframe.Page3.grdbon.cDenumire.Text1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="pgframe.Page3.grdbon.cUM.Header1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="pgframe.Page3.grdbon.cUM.Text1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="pgframe.Page3.grdbon.cPretv.Header1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="pgframe.Page3.grdbon.cPretv.Text1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="pgframe.Page3.grdbon.cCante.Header1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="pgframe.Page3.grdbon.cCante.Text1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="pgframe.Page3.grdbon.cValoare.Header1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="pgframe.Page3.grdbon.cValoare.Text1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="pgframe.Page3.grdbon.cResponsabil.Header1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="pgframe.Page3.grdbon.cResponsabil.Text1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="pgframe.Page3.ck_nrcrt" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="pgframe.Page3.Shape1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="pgframe.Page3.Text2" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="pgframe.Page3.Text1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="pgframe.Page3.Text5" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="pgframe.Page3.Text4" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="pgframe.Page3.Label4" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="pgframe.Page3.Label5" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="pgframe.Page3.Label1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="pgframe.Page3.Label2" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="pgframe.Page3.ck_valoare" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="pgframe.Page3.Label3" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="pgframe.Page3.Text3" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="Xresize1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="But_start_criterii1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="But_reset_criterii1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="ck_filtru_tiprulaj" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="Gridextra1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="Lb_shortcuts1" UniqueID="" Timestamp="" /> + + * + *m: calculeazatotaluri + *m: do_listare3 + *p: lnoua && Specifica daca s-a trecut pe alta inregistrare in rulaje. + *p: ncanti && Intoarce cantitate intrari. + *p: ncantie && Intoarce cantitate iesiri. + *p: nsumi && Intoarce valoarea intrarilor. + *p: nsumie && Intoarce valoarea iesirilor. + * + + * + cbuton2 = but_listare1;but_listare2 + cgridsortlist = pgframe.page1.grdrulaje + DoCreate = .T. + Height = 500 + Name = "frm_rulaje_obinv" + ncanti = 0 + ncantie = 0 + nsumi = 0 + nsumie = 0 + Width = 750 + WindowState = 2 + _shape1.Height = 28 + _shape1.Left = 0 + _shape1.Name = "_shape1" + _shape1.Tag = "RESIZABLE, NOVERTICAL_RESIZE" + _shape1.Top = 0 + _shape1.Width = 756 + _shape2.Height = 29 + _shape2.Left = 564 + _shape2.Name = "_shape2" + _shape2.Tag = "MOVABLE,NOVERTICAL_MOVE" + _shape2.Top = -1 + _shape2.Width = 186 + Lb_titlu_alb_b121.Caption = "RULAJE *" + Lb_titlu_alb_b121.FontBold = .T. + Lb_titlu_alb_b121.Left = 6 + Lb_titlu_alb_b121.Name = "Lb_titlu_alb_b121" + Lb_titlu_alb_b121.TabIndex = 21 + Lb_titlu_alb_b121.Top = 0 + BUT_TERMIN1.Anchor = 9 + BUT_TERMIN1.Left = 720 + BUT_TERMIN1.Name = "BUT_TERMIN1" + BUT_TERMIN1.TabIndex = 15 + BUT_TERMIN1.Tag = "MOVABLE,NOVERTICAL_MOVE" + BUT_TERMIN1.Top = 0 + Gridsort1.Name = "Gridsort1" + * + + ADD OBJECT 'But_excel1' AS but_excel WITH ; + Anchor = 9, ; + Left = 689, ; + Name = "But_excel1", ; + TabIndex = 16, ; + Top = 0, ; + Visible = .T. + *< END OBJECT: ClassLib="cmd_butoane.vcx" BaseClass="commandbutton" /> + + ADD OBJECT 'But_listare1' AS but_listare WITH ; + Anchor = 9, ; + Left = 658, ; + Name = "But_listare1", ; + TabIndex = 18, ; + Top = 0, ; + Visible = .T. + *< END OBJECT: ClassLib="cmd_butoane.vcx" BaseClass="commandbutton" /> + + ADD OBJECT 'but_modifica1' AS but_modifica WITH ; + Anchor = 9, ; + Height = 27, ; + Left = 629, ; + Name = "but_modifica1", ; + TabIndex = 19, ; + Top = 0, ; + Width = 29 + *< END OBJECT: ClassLib="cmd_butoane.vcx" BaseClass="commandbutton" /> + + ADD OBJECT 'But_reset_criterii1' AS but_reset_criterii WITH ; + Anchor = 9, ; + Left = 542, ; + Name = "But_reset_criterii1", ; + Top = 0 + *< END OBJECT: ClassLib="ocriterii.vcx" BaseClass="commandbutton" /> + + ADD OBJECT 'But_start_criterii1' AS but_start_criterii WITH ; + Anchor = 9, ; + Left = 572, ; + Name = "But_start_criterii1", ; + Top = 0 + *< END OBJECT: ClassLib="ocriterii.vcx" BaseClass="commandbutton" /> + + ADD OBJECT 'ck_filtru_tiprulaj' AS ck_filtru_nom WITH ; + Alignment = 0, ; + Caption = "Tip rulaj", ; + ctraducere = Tip rulaj este 'INTRARE/IESIRE REALA', ; + filtru = and (id_tip_rulaj=0), ; + Left = 533, ; + Name = "ck_filtru_tiprulaj", ; + Top = 38, ; + Value = 1, ; + Visible = .F. + *< END OBJECT: ClassLib="caut_ora.vcx" BaseClass="checkbox" /> + + ADD OBJECT 'Gridextra1' AS gridextra WITH ; + gridexpression = thisform.pgframe.page1.grdrulaje, ; + Height = 17, ; + Left = 295, ; + Name = "Gridextra1", ; + Top = 53, ; + Width = 33 + *< END OBJECT: ClassLib="..\utile\gridextras\gridextras.vcx" BaseClass="custom" /> + + ADD OBJECT 'Lb_shortcuts1' AS lb_shortcuts WITH ; + Caption = "ESC = Renuntare; CTRL+Q = Cautare; CTRL+T = Resetare", ; + Left = 7, ; + Name = "Lb_shortcuts1", ; + Top = 15 + *< END OBJECT: ClassLib="lb.vcx" BaseClass="label" /> + + ADD OBJECT 'pgframe' AS _pageframe WITH ; + ErasePage = .T., ; + Height = 456, ; + Left = 12, ; + Name = "pgframe", ; + PageCount = 3, ; + TabIndex = 20, ; + TabStyle = 1, ; + Tag = "RESIZABLE", ; + Top = 36, ; + Width = 732, ; + Page1.BackColor = 255,255,255, ; + Page1.Caption = "Rulaje", ; + Page1.Name = "Page1", ; + Page2.BackColor = 255,255,255, ; + Page2.Caption = "NIR - Intrari", ; + Page2.Name = "Page2", ; + Page3.BackColor = 255,255,255, ; + Page3.Caption = "Bon - Iesiri", ; + Page3.Name = "Page3" + *< END OBJECT: ClassLib="_baza.vcx" BaseClass="pageframe" /> + + ADD OBJECT 'pgframe.Page1.grdrulaje' AS _grdrow WITH ; + ColumnCount = 45, ; + DeleteMark = .F., ; + GridLineColor = 128,128,128, ; + Height = 342, ; + Left = 11, ; + Name = "grdrulaje", ; + Panel = 1, ; + ReadOnly = .T., ; + RecordSource = "crsrul", ; + TabIndex = 1, ; + Tag = "RESIZABLE", ; + Top = 80, ; + Width = 708, ; + Column1.ColumnOrder = 1, ; + Column1.ControlSource = "nrcrt", ; + Column1.FontName = "Arial", ; + Column1.Format = "R", ; + Column1.InputMask = "999 999", ; + Column1.Name = "cNrCrt", ; + Column1.ReadOnly = .T., ; + Column1.Width = 44, ; + Column2.ColumnOrder = 2, ; + Column2.ControlSource = "nnir", ; + Column2.FontName = "Arial", ; + Column2.Name = "cNnir", ; + Column2.ReadOnly = .T., ; + Column2.Width = 76, ; + Column3.ColumnOrder = 5, ; + Column3.ControlSource = "dataact", ; + Column3.FontName = "Arial", ; + Column3.Name = "cDataact", ; + Column3.ReadOnly = .T., ; + Column3.Width = 79, ; + Column4.ColumnOrder = 6, ; + Column4.ControlSource = "codmat", ; + Column4.FontName = "Arial", ; + Column4.Name = "cCodmat", ; + Column4.ReadOnly = .T., ; + Column5.ColumnOrder = 7, ; + Column5.ControlSource = "denumire", ; + Column5.FontName = "Arial", ; + Column5.Name = "cDenumire", ; + Column5.ReadOnly = .T., ; + Column5.Width = 196, ; + Column6.ColumnOrder = 8, ; + Column6.ControlSource = "um", ; + Column6.FontName = "Arial", ; + Column6.Name = "cUM", ; + Column6.ReadOnly = .T., ; + Column6.Width = 39, ; + Column7.ColumnOrder = 11, ; + Column7.ControlSource = "pret", ; + Column7.DynamicForeColor = "IIF(pret>=0, RGB(0,0,0), RGB(255,0,0))", ; + Column7.FontName = "Arial", ; + Column7.Format = "R", ; + Column7.InputMask = (get_mask(12,gnPPRET)), ; + Column7.Name = "cPret", ; + Column7.ReadOnly = .T., ; + Column7.Width = 70, ; + Column8.ColumnOrder = 37, ; + Column8.ControlSource = "ttod(data_expirare)", ; + Column8.DynamicForeColor = "IIF(cant>=0, RGB(0,0,0), RGB(0,0,255))", ; + Column8.FontName = "Arial", ; + Column8.Format = "", ; + Column8.InputMask = "", ; + Column8.Name = "cCant", ; + Column8.ReadOnly = .T., ; + Column8.Width = 81, ; + Column9.ColumnOrder = 36, ; + Column9.ControlSource = "dns_luni", ; + Column9.FontName = "Arial", ; + Column9.Format = "", ; + Column9.InputMask = "", ; + Column9.Name = "cCante", ; + Column9.ReadOnly = .T., ; + Column9.Width = 83, ; + Column10.ColumnOrder = 17, ; + Column10.ControlSource = "cont", ; + Column10.FontName = "Arial", ; + Column10.Name = "cCont", ; + Column10.ReadOnly = .T., ; + Column10.Width = 46, ; + Column11.ColumnOrder = 33, ; + Column11.ControlSource = "cod", ; + Column11.FontName = "Arial", ; + Column11.Name = "cCod", ; + Column11.ReadOnly = .T., ; + Column12.ColumnOrder = 18, ; + Column12.ControlSource = "acont", ; + Column12.FontName = "Arial", ; + Column12.Name = "cAcont", ; + Column12.ReadOnly = .T., ; + Column12.Width = 47, ; + Column13.ColumnOrder = 14, ; + Column13.ControlSource = "cgest", ; + Column13.FontName = "Arial", ; + Column13.Name = "cGest", ; + Column13.ReadOnly = .T., ; + Column13.Width = 111, ; + Column14.ColumnOrder = 19, ; + Column14.ControlSource = "nrord", ; + Column14.FontName = "Arial", ; + Column14.Name = "cNrord", ; + Column14.ReadOnly = .T., ; + Column14.Width = 100, ; + Column15.ColumnOrder = 20, ; + Column15.ControlSource = "curs", ; + Column15.FontName = "Arial", ; + Column15.Format = "R", ; + Column15.InputMask = (get_mask(12,gnPcurs)), ; + Column15.Name = "cCurs", ; + Column15.ReadOnly = .T., ; + Column16.ColumnOrder = 21, ; + Column16.ControlSource = "pretd", ; + Column16.FontName = "Arial", ; + Column16.Format = "R", ; + Column16.InputMask = (get_mask(12,gnPPretVal)), ; + Column16.Name = "cPretd", ; + Column16.ReadOnly = .T., ; + Column16.Width = 63, ; + Column17.ColumnOrder = 22, ; + Column17.ControlSource = "procent", ; + Column17.FontName = "Arial", ; + Column17.Format = "R", ; + Column17.InputMask = "999 999.99", ; + Column17.Name = "cProcent", ; + Column17.ReadOnly = .T., ; + Column17.Width = 50, ; + Column18.ColumnOrder = 23, ; + Column18.ControlSource = "iif(pretv#0,pretv-pret,0)", ; + Column18.FontName = "Arial", ; + Column18.Format = "R", ; + Column18.InputMask = (get_mask(12,gnPPRET)), ; + Column18.Name = "cAdaos", ; + Column18.ReadOnly = .T., ; + Column18.Width = 56, ; + Column19.ColumnOrder = 24, ; + Column19.ControlSource = "tva", ; + Column19.FontName = "Arial", ; + Column19.Format = "R", ; + Column19.InputMask = (get_mask(12,gnPPRET)), ; + Column19.Name = "cTva", ; + Column19.ReadOnly = .T., ; + Column19.Width = 75, ; + Column20.ColumnOrder = 25, ; + Column20.ControlSource = "round((cant+cante)*(pret+tva),gnPc)", ; + Column20.FontName = "Arial", ; + Column20.Format = "R", ; + Column20.InputMask = (get_mask(12,gnPa)), ; + Column20.Name = "cValoare", ; + Column20.ReadOnly = .T., ; + Column21.ColumnOrder = 26, ; + Column21.ControlSource = "pretv", ; + Column21.FontName = "Arial", ; + Column21.Format = "R", ; + Column21.InputMask = (get_mask(14,gnPPretV)), ; + Column21.Name = "cPretv", ; + Column21.ReadOnly = .T., ; + Column22.ColumnOrder = 27, ; + Column22.ControlSource = "tvav", ; + Column22.FontName = "Arial", ; + Column22.Format = "R", ; + Column22.InputMask = (get_mask(14,gnPPretV)), ; + Column22.Name = "cTvav", ; + Column22.ReadOnly = .T., ; + Column23.ColumnOrder = 28, ; + Column23.ControlSource = "pretv+tvav", ; + Column23.FontName = "Arial", ; + Column23.Format = "R", ; + Column23.InputMask = (get_mask(14,gnPPretV)), ; + Column23.Name = "cPretvtva", ; + Column23.ReadOnly = .T., ; + Column24.ColumnOrder = 29, ; + Column24.ControlSource = "proc_tvav", ; + Column24.FontName = "Arial", ; + Column24.Format = "R", ; + Column24.InputMask = "9.99", ; + Column24.Name = "cProc_tva", ; + Column24.ReadOnly = .T., ; + Column24.Width = 47, ; + Column25.ColumnOrder = 44, ; + Column25.ControlSource = "util", ; + Column25.FontName = "Arial", ; + Column25.Name = "cUtil", ; + Column25.ReadOnly = .T., ; + Column25.Width = 117, ; + Column26.ColumnOrder = 45, ; + Column26.ControlSource = "dataora", ; + Column26.FontName = "Arial", ; + Column26.Name = "cDataora", ; + Column26.ReadOnly = .T., ; + Column26.Width = 113, ; + Column27.ColumnOrder = 30, ; + Column27.ControlSource = "sectie", ; + Column27.FontName = "Arial", ; + Column27.Name = "cSectie", ; + Column27.ReadOnly = .T., ; + Column28.ColumnOrder = 31, ; + Column28.ControlSource = "datain", ; + Column28.FontName = "Arial", ; + Column28.Name = "cDatain", ; + Column28.ReadOnly = .T., ; + Column29.ColumnOrder = 32, ; + Column29.ControlSource = "dataout", ; + Column29.FontName = "Arial", ; + Column29.Name = "cDataOut", ; + Column29.ReadOnly = .T., ; + Column30.ColumnOrder = 15, ; + Column30.ControlSource = "nresp", ; + Column30.FontName = "Arial", ; + Column30.Name = "cNresp", ; + Column30.ReadOnly = .T., ; + Column30.Width = 116, ; + Column31.ColumnOrder = 38, ; + Column31.ControlSource = "cgestc", ; + Column31.FontName = "Arial", ; + Column31.Name = "cGestC", ; + Column31.ReadOnly = .T., ; + Column32.ColumnOrder = 39, ; + Column32.ControlSource = "nrespc", ; + Column32.FontName = "Arial", ; + Column32.Name = "cNrespC", ; + Column32.ReadOnly = .T., ; + Column32.Width = 91, ; + Column33.ColumnOrder = 41, ; + Column33.ControlSource = "tip_rulaj", ; + Column33.FontName = "Arial", ; + Column33.Name = "cTipRulaj", ; + Column33.ReadOnly = .T., ; + Column34.ColumnOrder = 12, ; + Column34.ControlSource = "cant", ; + Column34.FontName = "Arial", ; + Column34.Format = "R", ; + Column34.InputMask = (get_mask(12,gnPCANT)), ; + Column34.Name = "Column34", ; + Column34.ReadOnly = .T., ; + Column34.Width = 45, ; + Column35.ColumnOrder = 13, ; + Column35.ControlSource = "cante", ; + Column35.FontName = "Arial", ; + Column35.Format = "R", ; + Column35.InputMask = (get_mask(12,gnPCANT)), ; + Column35.Name = "Column35", ; + Column35.ReadOnly = .T., ; + Column35.Width = 40, ; + Column36.ColumnOrder = 34, ; + Column36.ControlSource = "ttod(datapif)", ; + Column36.FontName = "Arial", ; + Column36.Name = "Column36", ; + Column36.ReadOnly = .T., ; + Column36.Width = 53, ; + Column37.ColumnOrder = 35, ; + Column37.ControlSource = "dnf", ; + Column37.FontName = "Arial", ; + Column37.Name = "Column37", ; + Column37.ReadOnly = .T., ; + Column37.Width = 63, ; + Column38.ColumnOrder = 43, ; + Column38.ControlSource = "sucursala", ; + Column38.FontName = "Arial", ; + Column38.Name = "cSucursala", ; + Column38.ReadOnly = .T., ; + Column38.Width = 93, ; + Column39.ColumnOrder = 16, ; + Column39.ControlSource = "resp_marca", ; + Column39.Name = "cRespMarca", ; + Column39.ReadOnly = .T., ; + Column39.Width = 106, ; + Column40.ColumnOrder = 40, ; + Column40.ControlSource = "respc_marca", ; + Column40.Name = "cRespCMarca", ; + Column40.ReadOnly = .T., ; + Column40.Width = 118, ; + Column41.ColumnOrder = 42, ; + Column41.ControlSource = "id_set", ; + Column41.Name = "cIdSet", ; + Column41.ReadOnly = .T., ; + Column42.ColumnOrder = 3, ; + Column42.ControlSource = "fdoc", ; + Column42.Name = "cFdoc", ; + Column42.ReadOnly = .T., ; + Column43.ColumnOrder = 4, ; + Column43.ControlSource = "nract", ; + Column43.Name = "cNrAct", ; + Column43.ReadOnly = .T., ; + Column43.Width = 81, ; + Column44.ColumnOrder = 9, ; + Column44.ControlSource = "serie", ; + Column44.Name = "cSerie", ; + Column44.ReadOnly = .T., ; + Column45.ColumnOrder = 10, ; + Column45.ControlSource = "lot", ; + Column45.Name = "Column45", ; + Column45.ReadOnly = .T. + *< END OBJECT: ClassLib="_grd_base.vcx" BaseClass="grid" /> + + ADD OBJECT 'pgframe.Page1.grdrulaje.cAcont.Header1' AS header WITH ; + Alignment = 2, ; + Caption = "Analitic", ; + FontSize = 10, ; + Name = "Header1" + *< END OBJECT: BaseClass="header" /> + + ADD OBJECT 'pgframe.Page1.grdrulaje.cAcont.Text1' AS textbox WITH ; + BackColor = 255,255,255, ; + BorderStyle = 0, ; + FontName = "Arial", ; + ForeColor = 0,0,0, ; + Margin = 0, ; + Name = "Text1", ; + ReadOnly = .T., ; + SelectedBackColor = 100,185,255 + *< END OBJECT: BaseClass="textbox" /> + + ADD OBJECT 'pgframe.Page1.grdrulaje.cAdaos.Header1' AS header WITH ; + Alignment = 2, ; + Caption = "Adaos", ; + FontSize = 10, ; + Name = "Header1" + *< END OBJECT: BaseClass="header" /> + + ADD OBJECT 'pgframe.Page1.grdrulaje.cAdaos.Text1' AS textbox WITH ; + BackColor = 255,255,255, ; + BorderStyle = 0, ; + FontName = "Arial", ; + ForeColor = 0,0,0, ; + Margin = 0, ; + Name = "Text1", ; + ReadOnly = .T., ; + SelectedBackColor = 100,185,255 + *< END OBJECT: BaseClass="textbox" /> + + ADD OBJECT 'pgframe.Page1.grdrulaje.cCant.Header1' AS header WITH ; + Alignment = 2, ; + Caption = "Data expirare", ; + FontSize = 10, ; + Name = "Header1" + *< END OBJECT: BaseClass="header" /> + + ADD OBJECT 'pgframe.Page1.grdrulaje.cCant.Text1' AS textbox WITH ; + BackColor = 255,255,255, ; + BorderStyle = 0, ; + FontName = "Arial", ; + ForeColor = 0,0,0, ; + Margin = 0, ; + Name = "Text1", ; + ReadOnly = .T., ; + SelectedBackColor = 100,185,255 + *< END OBJECT: BaseClass="textbox" /> + + ADD OBJECT 'pgframe.Page1.grdrulaje.cCante.Header1' AS header WITH ; + Alignment = 2, ; + Caption = "Durata ramasa", ; + FontSize = 10, ; + Name = "Header1" + *< END OBJECT: BaseClass="header" /> + + ADD OBJECT 'pgframe.Page1.grdrulaje.cCante.Text1' AS textbox WITH ; + BackColor = 255,255,255, ; + BorderStyle = 0, ; + FontName = "Arial", ; + ForeColor = 0,0,0, ; + Margin = 0, ; + Name = "Text1", ; + ReadOnly = .T., ; + SelectedBackColor = 100,185,255 + *< END OBJECT: BaseClass="textbox" /> + + ADD OBJECT 'pgframe.Page1.grdrulaje.cCod.Header1' AS header WITH ; + Alignment = 2, ; + Caption = "Cod", ; + FontSize = 10, ; + Name = "Header1" + *< END OBJECT: BaseClass="header" /> + + ADD OBJECT 'pgframe.Page1.grdrulaje.cCod.Text1' AS textbox WITH ; + BackColor = 255,255,255, ; + BorderStyle = 0, ; + FontName = "Arial", ; + ForeColor = 0,0,0, ; + Margin = 0, ; + Name = "Text1", ; + ReadOnly = .T., ; + SelectedBackColor = 100,185,255 + *< END OBJECT: BaseClass="textbox" /> + + ADD OBJECT 'pgframe.Page1.grdrulaje.cCodmat.Header1' AS header WITH ; + Alignment = 2, ; + Caption = "Cod material", ; + FontSize = 10, ; + Name = "Header1" + *< END OBJECT: BaseClass="header" /> + + ADD OBJECT 'pgframe.Page1.grdrulaje.cCodmat.Text1' AS textbox WITH ; + BackColor = 255,255,255, ; + BorderStyle = 0, ; + FontName = "Arial", ; + ForeColor = 0,0,0, ; + Margin = 0, ; + Name = "Text1", ; + ReadOnly = .T., ; + SelectedBackColor = 100,185,255 + *< END OBJECT: BaseClass="textbox" /> + + ADD OBJECT 'pgframe.Page1.grdrulaje.cCont.Header1' AS header WITH ; + Alignment = 2, ; + Caption = "Cont", ; + FontSize = 10, ; + Name = "Header1" + *< END OBJECT: BaseClass="header" /> + + ADD OBJECT 'pgframe.Page1.grdrulaje.cCont.Text1' AS textbox WITH ; + BackColor = 255,255,255, ; + BorderStyle = 0, ; + FontName = "Arial", ; + ForeColor = 0,0,0, ; + Margin = 0, ; + Name = "Text1", ; + ReadOnly = .T., ; + SelectedBackColor = 100,185,255 + *< END OBJECT: BaseClass="textbox" /> + + ADD OBJECT 'pgframe.Page1.grdrulaje.cCurs.Header1' AS header WITH ; + Alignment = 2, ; + Caption = "Curs valutar", ; + FontSize = 10, ; + Name = "Header1" + *< END OBJECT: BaseClass="header" /> + + ADD OBJECT 'pgframe.Page1.grdrulaje.cCurs.Text1' AS textbox WITH ; + BackColor = 255,255,255, ; + BorderStyle = 0, ; + FontName = "Arial", ; + ForeColor = 0,0,0, ; + Margin = 0, ; + Name = "Text1", ; + ReadOnly = .T., ; + SelectedBackColor = 100,185,255 + *< END OBJECT: BaseClass="textbox" /> + + ADD OBJECT 'pgframe.Page1.grdrulaje.cDataact.Header1' AS header WITH ; + Alignment = 2, ; + Caption = "Data act", ; + FontSize = 10, ; + Name = "Header1" + *< END OBJECT: BaseClass="header" /> + + ADD OBJECT 'pgframe.Page1.grdrulaje.cDataact.Text1' AS textbox WITH ; + BackColor = 255,255,255, ; + BorderStyle = 0, ; + FontName = "Arial", ; + ForeColor = 0,0,0, ; + Margin = 0, ; + Name = "Text1", ; + ReadOnly = .T., ; + SelectedBackColor = 100,185,255 + *< END OBJECT: BaseClass="textbox" /> + + ADD OBJECT 'pgframe.Page1.grdrulaje.cDatain.Header1' AS header WITH ; + Alignment = 2, ; + Caption = "Data intrare", ; + FontSize = 10, ; + Name = "Header1" + *< END OBJECT: BaseClass="header" /> + + ADD OBJECT 'pgframe.Page1.grdrulaje.cDatain.Text1' AS textbox WITH ; + BackColor = 255,255,255, ; + BorderStyle = 0, ; + FontName = "Arial", ; + ForeColor = 0,0,0, ; + Margin = 0, ; + Name = "Text1", ; + ReadOnly = .T., ; + SelectedBackColor = 100,185,255 + *< END OBJECT: BaseClass="textbox" /> + + ADD OBJECT 'pgframe.Page1.grdrulaje.cDataora.Header1' AS header WITH ; + Alignment = 2, ; + Caption = "Dataora introducere", ; + FontSize = 10, ; + Name = "Header1" + *< END OBJECT: BaseClass="header" /> + + ADD OBJECT 'pgframe.Page1.grdrulaje.cDataora.Text1' AS textbox WITH ; + BackColor = 255,255,255, ; + BorderStyle = 0, ; + FontName = "Arial", ; + ForeColor = 0,0,0, ; + Margin = 0, ; + Name = "Text1", ; + ReadOnly = .T., ; + SelectedBackColor = 100,185,255 + *< END OBJECT: BaseClass="textbox" /> + + ADD OBJECT 'pgframe.Page1.grdrulaje.cDataOut.Header1' AS header WITH ; + Alignment = 2, ; + Caption = "Data iesire", ; + FontSize = 10, ; + Name = "Header1" + *< END OBJECT: BaseClass="header" /> + + ADD OBJECT 'pgframe.Page1.grdrulaje.cDataOut.Text1' AS textbox WITH ; + BackColor = 255,255,255, ; + BorderStyle = 0, ; + FontName = "Arial", ; + ForeColor = 0,0,0, ; + Margin = 0, ; + Name = "Text1", ; + ReadOnly = .T., ; + SelectedBackColor = 100,185,255 + *< END OBJECT: BaseClass="textbox" /> + + ADD OBJECT 'pgframe.Page1.grdrulaje.cDenumire.Header1' AS header WITH ; + Alignment = 2, ; + Caption = "Denumire", ; + FontSize = 10, ; + Name = "Header1" + *< END OBJECT: BaseClass="header" /> + + ADD OBJECT 'pgframe.Page1.grdrulaje.cDenumire.Text1' AS textbox WITH ; + BackColor = 255,255,255, ; + BorderStyle = 0, ; + FontName = "Arial", ; + ForeColor = 0,0,0, ; + Margin = 0, ; + Name = "Text1", ; + ReadOnly = .T., ; + SelectedBackColor = 100,185,255 + *< END OBJECT: BaseClass="textbox" /> + + ADD OBJECT 'pgframe.Page1.grdrulaje.cFdoc.Header1' AS header WITH ; + Alignment = 2, ; + Caption = "Fel document", ; + Name = "Header1" + *< END OBJECT: BaseClass="header" /> + + ADD OBJECT 'pgframe.Page1.grdrulaje.cFdoc.Text1' AS textbox WITH ; + BackColor = 255,255,255, ; + BorderStyle = 0, ; + ForeColor = 0,0,0, ; + Margin = 0, ; + Name = "Text1", ; + ReadOnly = .T., ; + SelectedBackColor = 100,185,255 + *< END OBJECT: BaseClass="textbox" /> + + ADD OBJECT 'pgframe.Page1.grdrulaje.cGest.Header1' AS header WITH ; + Alignment = 2, ; + Caption = "Gestiunea", ; + FontSize = 10, ; + Name = "Header1" + *< END OBJECT: BaseClass="header" /> + + ADD OBJECT 'pgframe.Page1.grdrulaje.cGest.Text1' AS textbox WITH ; + BackColor = 255,255,255, ; + BorderStyle = 0, ; + FontName = "Arial", ; + ForeColor = 0,0,0, ; + Margin = 0, ; + Name = "Text1", ; + ReadOnly = .T., ; + SelectedBackColor = 100,185,255 + *< END OBJECT: BaseClass="textbox" /> + + ADD OBJECT 'pgframe.Page1.grdrulaje.cGestC.Header1' AS header WITH ; + Alignment = 2, ; + Caption = "Gestiune C", ; + FontSize = 10, ; + Name = "Header1" + *< END OBJECT: BaseClass="header" /> + + ADD OBJECT 'pgframe.Page1.grdrulaje.cGestC.Text1' AS textbox WITH ; + BackColor = 255,255,255, ; + BorderStyle = 0, ; + FontName = "Arial", ; + ForeColor = 0,0,0, ; + Margin = 0, ; + Name = "Text1", ; + ReadOnly = .T., ; + SelectedBackColor = 100,185,255 + *< END OBJECT: BaseClass="textbox" /> + + ADD OBJECT 'pgframe.Page1.grdrulaje.cIdSet.Header1' AS header WITH ; + Alignment = 2, ; + Caption = "Tip operatie", ; + Name = "Header1" + *< END OBJECT: BaseClass="header" /> + + ADD OBJECT 'pgframe.Page1.grdrulaje.cIdSet.Text1' AS textbox WITH ; + BackColor = 255,255,255, ; + BorderStyle = 0, ; + ForeColor = 0,0,0, ; + Margin = 0, ; + Name = "Text1", ; + ReadOnly = .T., ; + SelectedBackColor = 100,185,255 + *< END OBJECT: BaseClass="textbox" /> + + ADD OBJECT 'pgframe.Page1.grdrulaje.cNnir.Header1' AS header WITH ; + Alignment = 2, ; + Caption = "Nr. NIR/Bon", ; + FontSize = 10, ; + Name = "Header1" + *< END OBJECT: BaseClass="header" /> + + ADD OBJECT 'pgframe.Page1.grdrulaje.cNnir.Text1' AS textbox WITH ; + BackColor = 255,255,255, ; + BorderStyle = 0, ; + FontName = "Arial", ; + ForeColor = 0,0,0, ; + Margin = 0, ; + Name = "Text1", ; + ReadOnly = .T., ; + SelectedBackColor = 100,185,255 + *< END OBJECT: BaseClass="textbox" /> + + ADD OBJECT 'pgframe.Page1.grdrulaje.cNrAct.Header1' AS header WITH ; + Alignment = 2, ; + Caption = "Nr. act", ; + Name = "Header1" + *< END OBJECT: BaseClass="header" /> + + ADD OBJECT 'pgframe.Page1.grdrulaje.cNrAct.Text1' AS textbox WITH ; + BackColor = 255,255,255, ; + BorderStyle = 0, ; + ForeColor = 0,0,0, ; + Margin = 0, ; + Name = "Text1", ; + ReadOnly = .T., ; + SelectedBackColor = 100,185,255 + *< END OBJECT: BaseClass="textbox" /> + + ADD OBJECT 'pgframe.Page1.grdrulaje.cNrCrt.Header1' AS header WITH ; + Alignment = 2, ; + Caption = "Nr.crt.", ; + FontSize = 10, ; + Name = "Header1" + *< END OBJECT: BaseClass="header" /> + + ADD OBJECT 'pgframe.Page1.grdrulaje.cNrCrt.Text1' AS textbox WITH ; + BackColor = 255,255,255, ; + BorderStyle = 0, ; + FontName = "Arial", ; + ForeColor = 0,0,0, ; + Margin = 0, ; + Name = "Text1", ; + ReadOnly = .T., ; + SelectedBackColor = 100,185,255 + *< END OBJECT: BaseClass="textbox" /> + + ADD OBJECT 'pgframe.Page1.grdrulaje.cNresp.Header1' AS header WITH ; + Alignment = 2, ; + Caption = "Responsabil", ; + FontSize = 10, ; + Name = "Header1" + *< END OBJECT: BaseClass="header" /> + + ADD OBJECT 'pgframe.Page1.grdrulaje.cNresp.Text1' AS textbox WITH ; + BackColor = 255,255,255, ; + BorderStyle = 0, ; + FontName = "Arial", ; + ForeColor = 0,0,0, ; + Margin = 0, ; + Name = "Text1", ; + ReadOnly = .T., ; + SelectedBackColor = 100,185,255 + *< END OBJECT: BaseClass="textbox" /> + + ADD OBJECT 'pgframe.Page1.grdrulaje.cNrespC.Header1' AS header WITH ; + Alignment = 2, ; + Caption = "Responsabil C", ; + FontSize = 10, ; + Name = "Header1" + *< END OBJECT: BaseClass="header" /> + + ADD OBJECT 'pgframe.Page1.grdrulaje.cNrespC.Text1' AS textbox WITH ; + BackColor = 255,255,255, ; + BorderStyle = 0, ; + FontName = "Arial", ; + ForeColor = 0,0,0, ; + Margin = 0, ; + Name = "Text1", ; + ReadOnly = .T., ; + SelectedBackColor = 100,185,255 + *< END OBJECT: BaseClass="textbox" /> + + ADD OBJECT 'pgframe.Page1.grdrulaje.cNrord.Header1' AS header WITH ; + Alignment = 2, ; + Caption = "Lucrare/Comanda", ; + FontSize = 10, ; + Name = "Header1" + *< END OBJECT: BaseClass="header" /> + + ADD OBJECT 'pgframe.Page1.grdrulaje.cNrord.Text1' AS textbox WITH ; + BackColor = 255,255,255, ; + BorderStyle = 0, ; + FontName = "Arial", ; + ForeColor = 0,0,0, ; + Margin = 0, ; + Name = "Text1", ; + ReadOnly = .T., ; + SelectedBackColor = 100,185,255 + *< END OBJECT: BaseClass="textbox" /> + + ADD OBJECT 'pgframe.Page1.grdrulaje.Column34.Header1' AS header WITH ; + Alignment = 2, ; + Caption = "Primit", ; + FontSize = 10, ; + Name = "Header1" + *< END OBJECT: BaseClass="header" /> + + ADD OBJECT 'pgframe.Page1.grdrulaje.Column34.Text1' AS textbox WITH ; + BackColor = 255,255,255, ; + BorderStyle = 0, ; + FontName = "Arial", ; + ForeColor = 0,0,0, ; + Margin = 0, ; + Name = "Text1", ; + SelectedBackColor = 100,185,255 + *< END OBJECT: BaseClass="textbox" /> + + ADD OBJECT 'pgframe.Page1.grdrulaje.Column35.Header1' AS header WITH ; + Alignment = 2, ; + Caption = "Retur", ; + FontSize = 10, ; + Name = "Header1" + *< END OBJECT: BaseClass="header" /> + + ADD OBJECT 'pgframe.Page1.grdrulaje.Column35.Text1' AS textbox WITH ; + BackColor = 255,255,255, ; + BorderStyle = 0, ; + FontName = "Arial", ; + ForeColor = 0,0,0, ; + Margin = 0, ; + Name = "Text1", ; + SelectedBackColor = 100,185,255 + *< END OBJECT: BaseClass="textbox" /> + + ADD OBJECT 'pgframe.Page1.grdrulaje.Column36.Header1' AS header WITH ; + Alignment = 2, ; + Caption = "Data PIF", ; + FontSize = 10, ; + Name = "Header1" + *< END OBJECT: BaseClass="header" /> + + ADD OBJECT 'pgframe.Page1.grdrulaje.Column36.Text1' AS textbox WITH ; + BackColor = 255,255,255, ; + BorderStyle = 0, ; + FontName = "Arial", ; + ForeColor = 0,0,0, ; + Margin = 0, ; + Name = "Text1", ; + SelectedBackColor = 100,185,255 + *< END OBJECT: BaseClass="textbox" /> + + ADD OBJECT 'pgframe.Page1.grdrulaje.Column37.Header1' AS header WITH ; + Alignment = 2, ; + Caption = "DNF", ; + FontSize = 10, ; + Name = "Header1" + *< END OBJECT: BaseClass="header" /> + + ADD OBJECT 'pgframe.Page1.grdrulaje.Column37.Text1' AS textbox WITH ; + BackColor = 255,255,255, ; + BorderStyle = 0, ; + FontName = "Arial", ; + ForeColor = 0,0,0, ; + Margin = 0, ; + Name = "Text1", ; + SelectedBackColor = 100,185,255 + *< END OBJECT: BaseClass="textbox" /> + + ADD OBJECT 'pgframe.Page1.grdrulaje.Column45.Header1' AS header WITH ; + Alignment = 2, ; + Caption = "Lot", ; + Name = "Header1" + *< END OBJECT: BaseClass="header" /> + + ADD OBJECT 'pgframe.Page1.grdrulaje.Column45.Text1' AS textbox WITH ; + BackColor = 255,255,255, ; + BorderStyle = 0, ; + ForeColor = 0,0,0, ; + Margin = 0, ; + Name = "Text1", ; + ReadOnly = .T., ; + SelectedBackColor = 100,185,255 + *< END OBJECT: BaseClass="textbox" /> + + ADD OBJECT 'pgframe.Page1.grdrulaje.cPret.Header1' AS header WITH ; + Alignment = 2, ; + Caption = "Pret", ; + FontSize = 10, ; + Name = "Header1" + *< END OBJECT: BaseClass="header" /> + + ADD OBJECT 'pgframe.Page1.grdrulaje.cPret.Text1' AS textbox WITH ; + BackColor = 255,255,255, ; + BorderStyle = 0, ; + FontName = "Arial", ; + ForeColor = 0,0,0, ; + Margin = 0, ; + Name = "Text1", ; + ReadOnly = .T., ; + SelectedBackColor = 100,185,255 + *< END OBJECT: BaseClass="textbox" /> + + ADD OBJECT 'pgframe.Page1.grdrulaje.cPretd.Header1' AS header WITH ; + Alignment = 2, ; + Caption = "Pret in valuta", ; + FontSize = 10, ; + Name = "Header1" + *< END OBJECT: BaseClass="header" /> + + ADD OBJECT 'pgframe.Page1.grdrulaje.cPretd.Text1' AS textbox WITH ; + BackColor = 255,255,255, ; + BorderStyle = 0, ; + FontName = "Arial", ; + ForeColor = 0,0,0, ; + Margin = 0, ; + Name = "Text1", ; + ReadOnly = .T., ; + SelectedBackColor = 100,185,255 + *< END OBJECT: BaseClass="textbox" /> + + ADD OBJECT 'pgframe.Page1.grdrulaje.cPretv.Header1' AS header WITH ; + Alignment = 2, ; + Caption = "Pret vanzare", ; + FontSize = 10, ; + Name = "Header1" + *< END OBJECT: BaseClass="header" /> + + ADD OBJECT 'pgframe.Page1.grdrulaje.cPretv.Text1' AS textbox WITH ; + BackColor = 255,255,255, ; + BorderStyle = 0, ; + FontName = "Arial", ; + ForeColor = 0,0,0, ; + Margin = 0, ; + Name = "Text1", ; + ReadOnly = .T., ; + SelectedBackColor = 100,185,255 + *< END OBJECT: BaseClass="textbox" /> + + ADD OBJECT 'pgframe.Page1.grdrulaje.cPretvtva.Header1' AS header WITH ; + Alignment = 2, ; + Caption = "Pret vanzare cu TVA", ; + FontSize = 10, ; + Name = "Header1" + *< END OBJECT: BaseClass="header" /> + + ADD OBJECT 'pgframe.Page1.grdrulaje.cPretvtva.Text1' AS textbox WITH ; + BackColor = 255,255,255, ; + BorderStyle = 0, ; + FontName = "Arial", ; + ForeColor = 0,0,0, ; + Margin = 0, ; + Name = "Text1", ; + ReadOnly = .T., ; + SelectedBackColor = 100,185,255 + *< END OBJECT: BaseClass="textbox" /> + + ADD OBJECT 'pgframe.Page1.grdrulaje.cProc_tva.Header1' AS header WITH ; + Alignment = 2, ; + Caption = "Cota TVA", ; + FontSize = 10, ; + Name = "Header1" + *< END OBJECT: BaseClass="header" /> + + ADD OBJECT 'pgframe.Page1.grdrulaje.cProc_tva.Text1' AS textbox WITH ; + BackColor = 255,255,255, ; + BorderStyle = 0, ; + FontName = "Arial", ; + ForeColor = 0,0,0, ; + Margin = 0, ; + Name = "Text1", ; + ReadOnly = .T., ; + SelectedBackColor = 100,185,255 + *< END OBJECT: BaseClass="textbox" /> + + ADD OBJECT 'pgframe.Page1.grdrulaje.cProcent.Header1' AS header WITH ; + Alignment = 2, ; + Caption = "Procent", ; + FontSize = 10, ; + Name = "Header1" + *< END OBJECT: BaseClass="header" /> + + ADD OBJECT 'pgframe.Page1.grdrulaje.cProcent.Text1' AS textbox WITH ; + BackColor = 255,255,255, ; + BorderStyle = 0, ; + FontName = "Arial", ; + ForeColor = 0,0,0, ; + Margin = 0, ; + Name = "Text1", ; + ReadOnly = .T., ; + SelectedBackColor = 100,185,255 + *< END OBJECT: BaseClass="textbox" /> + + ADD OBJECT 'pgframe.Page1.grdrulaje.cRespCMarca.Header1' AS header WITH ; + Alignment = 2, ; + Caption = "Marca responsabil C", ; + Name = "Header1" + *< END OBJECT: BaseClass="header" /> + + ADD OBJECT 'pgframe.Page1.grdrulaje.cRespCMarca.Text1' AS textbox WITH ; + BackColor = 255,255,255, ; + BorderStyle = 0, ; + ForeColor = 0,0,0, ; + Margin = 0, ; + Name = "Text1", ; + ReadOnly = .T., ; + SelectedBackColor = 100,185,255 + *< END OBJECT: BaseClass="textbox" /> + + ADD OBJECT 'pgframe.Page1.grdrulaje.cRespMarca.Header1' AS header WITH ; + Alignment = 2, ; + Caption = "Marca responsabil", ; + Name = "Header1" + *< END OBJECT: BaseClass="header" /> + + ADD OBJECT 'pgframe.Page1.grdrulaje.cRespMarca.Text1' AS textbox WITH ; + BackColor = 255,255,255, ; + BorderStyle = 0, ; + ForeColor = 0,0,0, ; + Margin = 0, ; + Name = "Text1", ; + ReadOnly = .T., ; + SelectedBackColor = 100,185,255 + *< END OBJECT: BaseClass="textbox" /> + + ADD OBJECT 'pgframe.Page1.grdrulaje.cSectie.Header1' AS header WITH ; + Alignment = 2, ; + Caption = "Sectie", ; + FontSize = 10, ; + Name = "Header1" + *< END OBJECT: BaseClass="header" /> + + ADD OBJECT 'pgframe.Page1.grdrulaje.cSectie.Text1' AS textbox WITH ; + BackColor = 255,255,255, ; + BorderStyle = 0, ; + FontName = "Arial", ; + ForeColor = 0,0,0, ; + Margin = 0, ; + Name = "Text1", ; + ReadOnly = .T., ; + SelectedBackColor = 100,185,255 + *< END OBJECT: BaseClass="textbox" /> + + ADD OBJECT 'pgframe.Page1.grdrulaje.cSerie.Header1' AS header WITH ; + Alignment = 2, ; + Caption = "Serie", ; + Name = "Header1" + *< END OBJECT: BaseClass="header" /> + + ADD OBJECT 'pgframe.Page1.grdrulaje.cSerie.Text1' AS textbox WITH ; + BackColor = 255,255,255, ; + BorderStyle = 0, ; + ForeColor = 0,0,0, ; + Margin = 0, ; + Name = "Text1", ; + ReadOnly = .T., ; + SelectedBackColor = 100,185,255 + *< END OBJECT: BaseClass="textbox" /> + + ADD OBJECT 'pgframe.Page1.grdrulaje.cSucursala.Header1' AS header WITH ; + Alignment = 2, ; + Caption = "Sucursala", ; + FontSize = 10, ; + Name = "Header1" + *< END OBJECT: BaseClass="header" /> + + ADD OBJECT 'pgframe.Page1.grdrulaje.cSucursala.Text1' AS textbox WITH ; + BackColor = 255,255,255, ; + BorderStyle = 0, ; + FontName = "Arial", ; + ForeColor = 0,0,0, ; + Margin = 0, ; + Name = "Text1", ; + SelectedBackColor = 100,185,255 + *< END OBJECT: BaseClass="textbox" /> + + ADD OBJECT 'pgframe.Page1.grdrulaje.cTipRulaj.Header1' AS header WITH ; + Alignment = 2, ; + Caption = "Tip rulaj", ; + FontSize = 10, ; + Name = "Header1" + *< END OBJECT: BaseClass="header" /> + + ADD OBJECT 'pgframe.Page1.grdrulaje.cTipRulaj.Text1' AS textbox WITH ; + BackColor = 255,255,255, ; + BorderStyle = 0, ; + FontName = "Arial", ; + ForeColor = 0,0,0, ; + Margin = 0, ; + Name = "Text1", ; + SelectedBackColor = 100,185,255 + *< END OBJECT: BaseClass="textbox" /> + + ADD OBJECT 'pgframe.Page1.grdrulaje.cTva.Header1' AS header WITH ; + Alignment = 2, ; + Caption = "TVA achizitie", ; + FontSize = 10, ; + Name = "Header1" + *< END OBJECT: BaseClass="header" /> + + ADD OBJECT 'pgframe.Page1.grdrulaje.cTva.Text1' AS textbox WITH ; + BackColor = 255,255,255, ; + BorderStyle = 0, ; + FontName = "Arial", ; + ForeColor = 0,0,0, ; + Margin = 0, ; + Name = "Text1", ; + ReadOnly = .T., ; + SelectedBackColor = 100,185,255 + *< END OBJECT: BaseClass="textbox" /> + + ADD OBJECT 'pgframe.Page1.grdrulaje.cTvav.Header1' AS header WITH ; + Alignment = 2, ; + Caption = "TVA vanzare", ; + FontSize = 10, ; + Name = "Header1" + *< END OBJECT: BaseClass="header" /> + + ADD OBJECT 'pgframe.Page1.grdrulaje.cTvav.Text1' AS textbox WITH ; + BackColor = 255,255,255, ; + BorderStyle = 0, ; + FontName = "Arial", ; + ForeColor = 0,0,0, ; + Margin = 0, ; + Name = "Text1", ; + ReadOnly = .T., ; + SelectedBackColor = 100,185,255 + *< END OBJECT: BaseClass="textbox" /> + + ADD OBJECT 'pgframe.Page1.grdrulaje.cUM.Header1' AS header WITH ; + Alignment = 2, ; + Caption = "UM", ; + FontSize = 10, ; + Name = "Header1" + *< END OBJECT: BaseClass="header" /> + + ADD OBJECT 'pgframe.Page1.grdrulaje.cUM.Text1' AS textbox WITH ; + BackColor = 255,255,255, ; + BorderStyle = 0, ; + FontName = "Arial", ; + ForeColor = 0,0,0, ; + Margin = 0, ; + Name = "Text1", ; + ReadOnly = .T., ; + SelectedBackColor = 100,185,255 + *< END OBJECT: BaseClass="textbox" /> + + ADD OBJECT 'pgframe.Page1.grdrulaje.cUtil.Header1' AS header WITH ; + Alignment = 2, ; + Caption = "Operator introducere", ; + FontSize = 10, ; + Name = "Header1" + *< END OBJECT: BaseClass="header" /> + + ADD OBJECT 'pgframe.Page1.grdrulaje.cUtil.Text1' AS textbox WITH ; + BackColor = 255,255,255, ; + BorderStyle = 0, ; + FontName = "Arial", ; + ForeColor = 0,0,0, ; + Margin = 0, ; + Name = "Text1", ; + ReadOnly = .T., ; + SelectedBackColor = 100,185,255 + *< END OBJECT: BaseClass="textbox" /> + + ADD OBJECT 'pgframe.Page1.grdrulaje.cValoare.Header1' AS header WITH ; + Alignment = 2, ; + Caption = "Valoare achizitie", ; + FontSize = 10, ; + Name = "Header1" + *< END OBJECT: BaseClass="header" /> + + ADD OBJECT 'pgframe.Page1.grdrulaje.cValoare.Text1' AS textbox WITH ; + BackColor = 255,255,255, ; + BorderStyle = 0, ; + FontName = "Arial", ; + ForeColor = 0,0,0, ; + Margin = 0, ; + Name = "Text1", ; + ReadOnly = .T., ; + SelectedBackColor = 100,185,255 + *< END OBJECT: BaseClass="textbox" /> + + ADD OBJECT 'pgframe.Page1.Label1' AS _label WITH ; + Anchor = 9, ; + AutoSize = .T., ; + BackColor = 255,255,255, ; + Caption = "Cantitate intrari", ; + Height = 18, ; + Left = 190, ; + Name = "Label1", ; + TabIndex = 27, ; + Top = 17, ; + Visible = .T., ; + Width = 90, ; + ZOrderSet = 20 + *< END OBJECT: ClassLib="_baza.vcx" BaseClass="label" /> + + ADD OBJECT 'pgframe.Page1.Label2' AS _label WITH ; + Anchor = 9, ; + AutoSize = .T., ; + BackColor = 255,255,255, ; + Caption = "Cantitate iesiri", ; + Height = 18, ; + Left = 190, ; + Name = "Label2", ; + TabIndex = 26, ; + Top = 45, ; + Visible = .T., ; + Width = 85, ; + ZOrderSet = 20 + *< END OBJECT: ClassLib="_baza.vcx" BaseClass="label" /> + + ADD OBJECT 'pgframe.Page1.Label3' AS _label WITH ; + Anchor = 9, ; + AutoSize = .T., ; + BackColor = 255,255,255, ; + Caption = "Valoare intrari", ; + Height = 18, ; + Left = 431, ; + Name = "Label3", ; + TabIndex = 28, ; + Top = 17, ; + Visible = .T., ; + Width = 82, ; + ZOrderSet = 27 + *< END OBJECT: ClassLib="_baza.vcx" BaseClass="label" /> + + ADD OBJECT 'pgframe.Page1.Label4' AS _label WITH ; + Anchor = 9, ; + AutoSize = .T., ; + BackColor = 255,255,255, ; + Caption = "Valoare iesiri", ; + Height = 18, ; + Left = 431, ; + Name = "Label4", ; + TabIndex = 29, ; + Top = 45, ; + Visible = .T., ; + Width = 77, ; + ZOrderSet = 27 + *< END OBJECT: ClassLib="_baza.vcx" BaseClass="label" /> + + ADD OBJECT 'pgframe.Page1.Shape1' AS shape WITH ; + Anchor = 9, ; + BackColor = 255,255,255, ; + Height = 65, ; + Left = 179, ; + Name = "Shape1", ; + SpecialEffect = 0, ; + Top = 8, ; + Visible = .T., ; + Width = 530, ; + ZOrderSet = 2 + *< END OBJECT: BaseClass="shape" /> + + ADD OBJECT 'pgframe.Page1.Text1' AS _textbox WITH ; + Alignment = 1, ; + Anchor = 9, ; + BackColor = 255,255,255, ; + ControlSource = "thisform.ncanti", ; + FontName = "Arial", ; + Format = "R", ; + Height = 23, ; + InputMask = (get_mask(12,gnPCANT)), ; + Left = 290, ; + Name = "Text1", ; + ReadOnly = .T., ; + TabIndex = 20, ; + TabStop = .F., ; + Top = 14, ; + Visible = .T., ; + Width = 110, ; + ZOrderSet = 13 + *< END OBJECT: ClassLib="_baza.vcx" BaseClass="textbox" /> + + ADD OBJECT 'pgframe.Page1.Text2' AS _textbox WITH ; + Alignment = 1, ; + Anchor = 9, ; + BackColor = 255,255,255, ; + ControlSource = "thisform.ncantie", ; + FontName = "Arial", ; + Format = "R", ; + Height = 23, ; + InputMask = (get_mask(12,gnPCANT)), ; + Left = 290, ; + Name = "Text2", ; + ReadOnly = .T., ; + TabIndex = 21, ; + TabStop = .F., ; + Top = 42, ; + Visible = .T., ; + Width = 110, ; + ZOrderSet = 16 + *< END OBJECT: ClassLib="_baza.vcx" BaseClass="textbox" /> + + ADD OBJECT 'pgframe.Page1.Text3' AS _textbox WITH ; + Alignment = 1, ; + Anchor = 9, ; + BackColor = 255,255,255, ; + ControlSource = "thisform.nsumi", ; + FontName = "Arial", ; + Format = "R", ; + Height = 23, ; + InputMask = (get_mask(12,gnPA)), ; + Left = 515, ; + Name = "Text3", ; + ReadOnly = .T., ; + TabIndex = 22, ; + TabStop = .F., ; + Top = 14, ; + Visible = .T., ; + Width = 168, ; + ZOrderSet = 14 + *< END OBJECT: ClassLib="_baza.vcx" BaseClass="textbox" /> + + ADD OBJECT 'pgframe.Page1.Text4' AS _textbox WITH ; + Alignment = 1, ; + Anchor = 9, ; + BackColor = 255,255,255, ; + ControlSource = "thisform.nsumie", ; + FontName = "Arial", ; + Format = "R", ; + Height = 23, ; + InputMask = (get_mask(12,gnPA)), ; + Left = 515, ; + Name = "Text4", ; + ReadOnly = .T., ; + TabIndex = 23, ; + TabStop = .F., ; + Top = 42, ; + Visible = .T., ; + Width = 168, ; + ZOrderSet = 14 + *< END OBJECT: ClassLib="_baza.vcx" BaseClass="textbox" /> + + ADD OBJECT 'pgframe.Page2.ck_nrcrt' AS _checkbox WITH ; + Alignment = 0, ; + Caption = "Numere de ordine", ; + Left = 13, ; + Name = "ck_nrcrt", ; + TabIndex = 1, ; + Top = 20, ; + Value = 1 + *< END OBJECT: ClassLib="_baza.vcx" BaseClass="checkbox" /> + + ADD OBJECT 'pgframe.Page2.ck_valoare' AS _checkbox WITH ; + Alignment = 0, ; + Caption = "Valoare factura", ; + Left = 13, ; + Name = "ck_valoare", ; + TabIndex = 2, ; + Top = 43 + *< END OBJECT: ClassLib="_baza.vcx" BaseClass="checkbox" /> + + ADD OBJECT 'pgframe.Page2.grdnir' AS _grdrow WITH ; + ColumnCount = 11, ; + DeleteMark = .F., ; + FontName = "Arial Narrow", ; + GridLineColor = 128,128,128, ; + Height = 342, ; + Left = 11, ; + Name = "grdnir", ; + Panel = 1, ; + RecordSource = "crsnir", ; + TabIndex = 3, ; + Tag = "RESIZABLE", ; + Top = 80, ; + Width = 708, ; + Column1.ControlSource = "nrcrt", ; + Column1.FontName = "Arial Narrow", ; + Column1.Name = "cNrcrt", ; + Column1.Width = 44, ; + Column2.ControlSource = "codmat", ; + Column2.FontName = "Arial Narrow", ; + Column2.Name = "cCodMat", ; + Column2.Width = 76, ; + Column3.ControlSource = "denumire", ; + Column3.FontName = "Arial Narrow", ; + Column3.Name = "cDenumire", ; + Column3.Width = 156, ; + Column4.ControlSource = "um", ; + Column4.FontName = "Arial Narrow", ; + Column4.Name = "cUM", ; + Column4.Width = 39, ; + Column5.ControlSource = "pret", ; + Column5.DynamicForeColor = "IIF(pret>=0, RGB(0,0,0), RGB(255,0,0))", ; + Column5.FontName = "Arial Narrow", ; + Column5.Format = "R", ; + Column5.InputMask = (get_mask(12,gnPpret)), ; + Column5.Name = "cPret", ; + Column5.Width = 70, ; + Column6.ColumnOrder = 6, ; + Column6.ControlSource = "cant", ; + Column6.DynamicForeColor = "IIF(cant>=0, RGB(0,0,0), RGB(255,0,0))", ; + Column6.FontName = "Arial Narrow", ; + Column6.Format = "R", ; + Column6.InputMask = (get_mask(12,gnPcant)), ; + Column6.Name = "cCant", ; + Column6.Width = 68, ; + Column7.ColumnOrder = 7, ; + Column7.ControlSource = "round(pret*cant,gnPc)", ; + Column7.FontName = "Arial Narrow", ; + Column7.Format = "R", ; + Column7.InputMask = (get_mask(12,gnPA)), ; + Column7.Name = "cValoare", ; + Column8.ControlSource = "round(tva*cant,gnPc)", ; + Column8.FontName = "Arial Narrow", ; + Column8.Format = "R", ; + Column8.InputMask = (get_mask(12,gnPA)), ; + Column8.Name = "cTva", ; + Column8.Width = 55, ; + Column9.ControlSource = "round(cant*(pret+tva),gnPc)", ; + Column9.FontName = "Arial Narrow", ; + Column9.Format = "R", ; + Column9.InputMask = (get_mask(12,gnPA)), ; + Column9.Name = "cTotal", ; + Column9.Width = 83, ; + Column10.ColumnOrder = 11, ; + Column10.ControlSource = "cod", ; + Column10.FontName = "Arial Narrow", ; + Column10.Name = "cCod", ; + Column11.ColumnOrder = 10, ; + Column11.FontName = "Arial Narrow", ; + Column11.Name = "cResponsabil", ; + Column11.Width = 120 + *< END OBJECT: ClassLib="_grd_base.vcx" BaseClass="grid" /> + + ADD OBJECT 'pgframe.Page2.grdnir.cCant.Header1' AS header WITH ; + Alignment = 2, ; + Caption = "Intrari", ; + FontSize = 10, ; + Name = "Header1" + *< END OBJECT: BaseClass="header" /> + + ADD OBJECT 'pgframe.Page2.grdnir.cCant.Text1' AS textbox WITH ; + BackColor = 255,255,255, ; + BorderStyle = 0, ; + FontName = "Arial Narrow", ; + ForeColor = 0,0,0, ; + Margin = 0, ; + Name = "Text1", ; + SelectedBackColor = 100,185,255 + *< END OBJECT: BaseClass="textbox" /> + + ADD OBJECT 'pgframe.Page2.grdnir.cCod.Header1' AS header WITH ; + Alignment = 2, ; + Caption = "Cod", ; + FontSize = 10, ; + Name = "Header1" + *< END OBJECT: BaseClass="header" /> + + ADD OBJECT 'pgframe.Page2.grdnir.cCod.Text1' AS textbox WITH ; + BackColor = 255,255,255, ; + BorderStyle = 0, ; + FontName = "Arial Narrow", ; + ForeColor = 0,0,0, ; + Margin = 0, ; + Name = "Text1", ; + SelectedBackColor = 100,185,255 + *< END OBJECT: BaseClass="textbox" /> + + ADD OBJECT 'pgframe.Page2.grdnir.cCodMat.Header1' AS header WITH ; + Alignment = 2, ; + Caption = "Cod material", ; + FontSize = 10, ; + Name = "Header1" + *< END OBJECT: BaseClass="header" /> + + ADD OBJECT 'pgframe.Page2.grdnir.cCodMat.Text1' AS textbox WITH ; + BackColor = 255,255,255, ; + BorderStyle = 0, ; + FontName = "Arial Narrow", ; + ForeColor = 0,0,0, ; + Margin = 0, ; + Name = "Text1", ; + SelectedBackColor = 100,185,255 + *< END OBJECT: BaseClass="textbox" /> + + ADD OBJECT 'pgframe.Page2.grdnir.cDenumire.Header1' AS header WITH ; + Alignment = 2, ; + Caption = "Denumire", ; + FontSize = 10, ; + Name = "Header1" + *< END OBJECT: BaseClass="header" /> + + ADD OBJECT 'pgframe.Page2.grdnir.cDenumire.Text1' AS textbox WITH ; + BackColor = 255,255,255, ; + BorderStyle = 0, ; + FontName = "Arial Narrow", ; + ForeColor = 0,0,0, ; + Margin = 0, ; + Name = "Text1", ; + SelectedBackColor = 100,185,255 + *< END OBJECT: BaseClass="textbox" /> + + ADD OBJECT 'pgframe.Page2.grdnir.cNrcrt.Header1' AS header WITH ; + Alignment = 2, ; + Caption = "Nr.crt.", ; + FontSize = 10, ; + Name = "Header1" + *< END OBJECT: BaseClass="header" /> + + ADD OBJECT 'pgframe.Page2.grdnir.cNrcrt.Text1' AS textbox WITH ; + BackColor = 255,255,255, ; + BorderStyle = 0, ; + FontName = "Arial Narrow", ; + ForeColor = 0,0,0, ; + Margin = 0, ; + Name = "Text1", ; + SelectedBackColor = 100,185,255 + *< END OBJECT: BaseClass="textbox" /> + + ADD OBJECT 'pgframe.Page2.grdnir.cPret.Header1' AS header WITH ; + Alignment = 2, ; + Caption = "Pret achizitie", ; + FontSize = 10, ; + Name = "Header1" + *< END OBJECT: BaseClass="header" /> + + ADD OBJECT 'pgframe.Page2.grdnir.cPret.Text1' AS textbox WITH ; + BackColor = 255,255,255, ; + BorderStyle = 0, ; + FontName = "Arial Narrow", ; + ForeColor = 0,0,0, ; + Margin = 0, ; + Name = "Text1", ; + SelectedBackColor = 100,185,255 + *< END OBJECT: BaseClass="textbox" /> + + ADD OBJECT 'pgframe.Page2.grdnir.cResponsabil.Header1' AS header WITH ; + Alignment = 2, ; + Caption = "Responsabil", ; + FontSize = 10, ; + Name = "Header1" + *< END OBJECT: BaseClass="header" /> + + ADD OBJECT 'pgframe.Page2.grdnir.cResponsabil.Text1' AS textbox WITH ; + BackColor = 255,255,255, ; + BorderStyle = 0, ; + ForeColor = 0,0,0, ; + Margin = 0, ; + Name = "Text1", ; + SelectedBackColor = 100,185,255 + *< END OBJECT: BaseClass="textbox" /> + + ADD OBJECT 'pgframe.Page2.grdnir.cTotal.Header1' AS header WITH ; + Alignment = 2, ; + Caption = "Total achizitie", ; + FontSize = 10, ; + Name = "Header1" + *< END OBJECT: BaseClass="header" /> + + ADD OBJECT 'pgframe.Page2.grdnir.cTotal.Text1' AS textbox WITH ; + BackColor = 255,255,255, ; + BorderStyle = 0, ; + FontName = "Arial Narrow", ; + ForeColor = 0,0,0, ; + Margin = 0, ; + Name = "Text1", ; + SelectedBackColor = 100,185,255 + *< END OBJECT: BaseClass="textbox" /> + + ADD OBJECT 'pgframe.Page2.grdnir.cTva.Header1' AS header WITH ; + Alignment = 2, ; + Caption = "TVA", ; + FontSize = 10, ; + Name = "Header1" + *< END OBJECT: BaseClass="header" /> + + ADD OBJECT 'pgframe.Page2.grdnir.cTva.Text1' AS textbox WITH ; + BackColor = 255,255,255, ; + BorderStyle = 0, ; + FontName = "Arial Narrow", ; + ForeColor = 0,0,0, ; + Margin = 0, ; + Name = "Text1", ; + SelectedBackColor = 100,185,255 + *< END OBJECT: BaseClass="textbox" /> + + ADD OBJECT 'pgframe.Page2.grdnir.cUM.Header1' AS header WITH ; + Alignment = 2, ; + Caption = "UM", ; + FontSize = 10, ; + Name = "Header1" + *< END OBJECT: BaseClass="header" /> + + ADD OBJECT 'pgframe.Page2.grdnir.cUM.Text1' AS textbox WITH ; + BackColor = 255,255,255, ; + BorderStyle = 0, ; + FontName = "Arial Narrow", ; + ForeColor = 0,0,0, ; + Margin = 0, ; + Name = "Text1", ; + SelectedBackColor = 100,185,255 + *< END OBJECT: BaseClass="textbox" /> + + ADD OBJECT 'pgframe.Page2.grdnir.cValoare.Header1' AS header WITH ; + Alignment = 2, ; + Caption = "Valoare", ; + FontSize = 10, ; + Name = "Header1" + *< END OBJECT: BaseClass="header" /> + + ADD OBJECT 'pgframe.Page2.grdnir.cValoare.Text1' AS textbox WITH ; + BackColor = 255,255,255, ; + BorderStyle = 0, ; + FontName = "Arial Narrow", ; + ForeColor = 0,0,0, ; + Margin = 0, ; + Name = "Text1", ; + SelectedBackColor = 100,185,255 + *< END OBJECT: BaseClass="textbox" /> + + ADD OBJECT 'pgframe.Page2.Label1' AS _label WITH ; + AutoSize = .T., ; + BackColor = 255,255,255, ; + Caption = "Factura seria", ; + FontBold = .T., ; + FontSize = 10, ; + Height = 18, ; + Left = 146, ; + Name = "Label1", ; + TabIndex = 12, ; + Top = 20, ; + Width = 85, ; + ZOrderSet = 31 + *< END OBJECT: ClassLib="_baza.vcx" BaseClass="label" /> + + ADD OBJECT 'pgframe.Page2.Label2' AS _label WITH ; + Alignment = 2, ; + AutoSize = .F., ; + BackColor = 255,255,255, ; + Caption = "/", ; + FontBold = .T., ; + FontSize = 10, ; + Height = 17, ; + Left = 420, ; + Name = "Label2", ; + TabIndex = 13, ; + Top = 21, ; + Width = 11, ; + ZOrderSet = 31 + *< END OBJECT: ClassLib="_baza.vcx" BaseClass="label" /> + + ADD OBJECT 'pgframe.Page2.Label3' AS _label WITH ; + AutoSize = .T., ; + BackColor = 255,255,255, ; + Caption = "Valoare factura", ; + Height = 18, ; + Left = 146, ; + Name = "Label3", ; + TabIndex = 11, ; + Top = 48, ; + Visible = .F., ; + Width = 89, ; + ZOrderSet = 27 + *< END OBJECT: ClassLib="_baza.vcx" BaseClass="label" /> + + ADD OBJECT 'pgframe.Page2.Label4' AS _label WITH ; + AutoSize = .T., ; + BackColor = 255,255,255, ; + Caption = "NIR nr.", ; + FontBold = .T., ; + FontSize = 10, ; + Height = 18, ; + Left = 511, ; + Name = "Label4", ; + TabIndex = 9, ; + Top = 20, ; + Width = 45, ; + ZOrderSet = 20 + *< END OBJECT: ClassLib="_baza.vcx" BaseClass="label" /> + + ADD OBJECT 'pgframe.Page2.Label5' AS _label WITH ; + AutoSize = .T., ; + BackColor = 255,255,255, ; + Caption = "Furnizor", ; + Height = 18, ; + Left = 511, ; + Name = "Label5", ; + TabIndex = 10, ; + Top = 48, ; + Width = 49, ; + ZOrderSet = 27 + *< END OBJECT: ClassLib="_baza.vcx" BaseClass="label" /> + + ADD OBJECT 'pgframe.Page2.Label6' AS _label WITH ; + AutoSize = .T., ; + BackColor = 255,255,255, ; + Caption = "nr.", ; + FontBold = .T., ; + FontSize = 10, ; + Height = 18, ; + Left = 289, ; + Name = "Label6", ; + TabIndex = 12, ; + Top = 20, ; + Width = 19, ; + ZOrderSet = 31 + *< END OBJECT: ClassLib="_baza.vcx" BaseClass="label" /> + + ADD OBJECT 'pgframe.Page2.Shape1' AS shape WITH ; + BackColor = 255,255,255, ; + Height = 65, ; + Left = 143, ; + Name = "Shape1", ; + SpecialEffect = 0, ; + Top = 8, ; + Width = 576, ; + ZOrderSet = 2 + *< END OBJECT: BaseClass="shape" /> + + ADD OBJECT 'pgframe.Page2.Text1' AS _textbox WITH ; + Alignment = 3, ; + BackColor = 255,255,255, ; + FontName = "Arial", ; + Format = "R", ; + Height = 23, ; + InputMask = "999 999 999 999", ; + Left = 309, ; + Name = "Text1", ; + ReadOnly = .T., ; + SpecialEffect = 0, ; + TabIndex = 7, ; + TabStop = .F., ; + Top = 18, ; + Value = 0, ; + Visible = .T., ; + Width = 112 + *< END OBJECT: ClassLib="_baza.vcx" BaseClass="textbox" /> + + ADD OBJECT 'pgframe.Page2.Text2' AS _textbox WITH ; + Alignment = 2, ; + BackColor = 255,255,255, ; + FontName = "Arial", ; + Height = 23, ; + Left = 429, ; + Name = "Text2", ; + ReadOnly = .T., ; + SpecialEffect = 0, ; + TabIndex = 8, ; + TabStop = .F., ; + Top = 18, ; + Value = ({}), ; + Width = 81 + *< END OBJECT: ClassLib="_baza.vcx" BaseClass="textbox" /> + + ADD OBJECT 'pgframe.Page2.Text3' AS _textbox WITH ; + Alignment = 1, ; + BackColor = 255,255,255, ; + FontName = "Arial", ; + Format = "R", ; + Height = 23, ; + InputMask = (get_mask(12,gnPA)), ; + Left = 234, ; + Name = "Text3", ; + ReadOnly = .T., ; + TabIndex = 4, ; + TabStop = .F., ; + Top = 45, ; + Value = 0, ; + Visible = .F., ; + Width = 163, ; + ZOrderSet = 13 + *< END OBJECT: ClassLib="_baza.vcx" BaseClass="textbox" /> + + ADD OBJECT 'pgframe.Page2.Text4' AS _textbox WITH ; + Alignment = 1, ; + BackColor = 255,255,255, ; + FontName = "Arial", ; + Format = "R", ; + Height = 23, ; + InputMask = "999 999 999 999", ; + Left = 562, ; + Name = "Text4", ; + ReadOnly = .T., ; + TabIndex = 5, ; + TabStop = .F., ; + Top = 18, ; + Value = 0, ; + Width = 151, ; + ZOrderSet = 16 + *< END OBJECT: ClassLib="_baza.vcx" BaseClass="textbox" /> + + ADD OBJECT 'pgframe.Page2.Text5' AS _textbox WITH ; + Alignment = 1, ; + BackColor = 255,255,255, ; + FontName = "Arial", ; + Height = 23, ; + Left = 562, ; + Name = "Text5", ; + ReadOnly = .T., ; + TabIndex = 6, ; + TabStop = .F., ; + Top = 45, ; + Width = 151, ; + ZOrderSet = 14 + *< END OBJECT: ClassLib="_baza.vcx" BaseClass="textbox" /> + + ADD OBJECT 'pgframe.Page2.Text6' AS _textbox WITH ; + Alignment = 3, ; + BackColor = 255,255,255, ; + FontName = "Arial", ; + Height = 23, ; + Left = 231, ; + Name = "Text6", ; + ReadOnly = .T., ; + SpecialEffect = 0, ; + TabIndex = 7, ; + TabStop = .F., ; + Top = 18, ; + Value = 0, ; + Visible = .T., ; + Width = 56 + *< END OBJECT: ClassLib="_baza.vcx" BaseClass="textbox" /> + + ADD OBJECT 'pgframe.Page3.ck_nrcrt' AS _checkbox WITH ; + Alignment = 0, ; + Caption = "Numere de ordine", ; + Left = 23, ; + Name = "ck_nrcrt", ; + TabIndex = 1, ; + Top = 27, ; + Value = 1 + *< END OBJECT: ClassLib="_baza.vcx" BaseClass="checkbox" /> + + ADD OBJECT 'pgframe.Page3.ck_valoare' AS _checkbox WITH ; + Alignment = 0, ; + Caption = "Valoare bon", ; + Left = 23, ; + Name = "ck_valoare", ; + TabIndex = 2, ; + Top = 50 + *< END OBJECT: ClassLib="_baza.vcx" BaseClass="checkbox" /> + + ADD OBJECT 'pgframe.Page3.grdbon' AS _grdrow WITH ; + ColumnCount = 9, ; + DeleteMark = .F., ; + FontName = "Arial Narrow", ; + GridLineColor = 128,128,128, ; + Height = 342, ; + Left = 11, ; + Name = "grdbon", ; + Panel = 1, ; + RecordSource = "crsbon", ; + TabIndex = 3, ; + Tag = "RESIZABLE", ; + Top = 80, ; + Width = 708, ; + Column1.ColumnOrder = 1, ; + Column1.ControlSource = "nrcrt", ; + Column1.FontName = "Arial Narrow", ; + Column1.Name = "cNrcrt", ; + Column1.Width = 44, ; + Column2.ColumnOrder = 2, ; + Column2.ControlSource = "dataact", ; + Column2.FontName = "Arial Narrow", ; + Column2.Name = "cDataact", ; + Column2.Width = 60, ; + Column3.ControlSource = "nnir", ; + Column3.FontName = "Arial Narrow", ; + Column3.Name = "cNract", ; + Column3.Width = 65, ; + Column4.ControlSource = "denumire", ; + Column4.FontName = "Arial Narrow", ; + Column4.Name = "cDenumire", ; + Column4.Width = 156, ; + Column5.ControlSource = "um", ; + Column5.FontName = "Arial Narrow", ; + Column5.Name = "cUM", ; + Column5.Width = 39, ; + Column6.ControlSource = "pretv", ; + Column6.DynamicForeColor = "IIF(pretv>=0, RGB(0,0,0), RGB(255,0,0))", ; + Column6.FontName = "Arial Narrow", ; + Column6.Format = "R", ; + Column6.InputMask = (get_mask(14,gnPPretV)), ; + Column6.Name = "cPretv", ; + Column6.Width = 100, ; + Column7.ControlSource = "cante", ; + Column7.DynamicForeColor = "IIF(cante>=0, RGB(0,0,0), RGB(255,0,0))", ; + Column7.FontName = "Arial Narrow", ; + Column7.Format = "R", ; + Column7.InputMask = (get_mask(12,gnPcant)), ; + Column7.Name = "cCante", ; + Column7.Width = 90, ; + Column8.ControlSource = "round(cante*pretv,gnPc)", ; + Column8.FontName = "Arial Narrow", ; + Column8.Format = "R", ; + Column8.InputMask = (get_mask(12,gnPA)), ; + Column8.Name = "cValoare", ; + Column8.Width = 110, ; + Column9.ControlSource = "nresp", ; + Column9.FontName = "Arial Narrow", ; + Column9.Name = "cResponsabil", ; + Column9.Width = 106 + *< END OBJECT: ClassLib="_grd_base.vcx" BaseClass="grid" /> + + ADD OBJECT 'pgframe.Page3.grdbon.cCante.Header1' AS header WITH ; + Alignment = 2, ; + Caption = "Iesiri", ; + FontSize = 10, ; + Name = "Header1" + *< END OBJECT: BaseClass="header" /> + + ADD OBJECT 'pgframe.Page3.grdbon.cCante.Text1' AS textbox WITH ; + BackColor = 255,255,255, ; + BorderStyle = 0, ; + FontName = "Arial Narrow", ; + ForeColor = 0,0,0, ; + Margin = 0, ; + Name = "Text1", ; + SelectedBackColor = 100,185,255 + *< END OBJECT: BaseClass="textbox" /> + + ADD OBJECT 'pgframe.Page3.grdbon.cDataact.Header1' AS header WITH ; + Alignment = 2, ; + Caption = "Data act", ; + FontSize = 10, ; + Name = "Header1" + *< END OBJECT: BaseClass="header" /> + + ADD OBJECT 'pgframe.Page3.grdbon.cDataact.Text1' AS textbox WITH ; + BackColor = 255,255,255, ; + BorderStyle = 0, ; + FontName = "Arial Narrow", ; + ForeColor = 0,0,0, ; + Margin = 0, ; + Name = "Text1", ; + SelectedBackColor = 100,185,255 + *< END OBJECT: BaseClass="textbox" /> + + ADD OBJECT 'pgframe.Page3.grdbon.cDenumire.Header1' AS header WITH ; + Alignment = 2, ; + Caption = "Denumire", ; + FontSize = 10, ; + Name = "Header1" + *< END OBJECT: BaseClass="header" /> + + ADD OBJECT 'pgframe.Page3.grdbon.cDenumire.Text1' AS textbox WITH ; + BackColor = 255,255,255, ; + BorderStyle = 0, ; + FontName = "Arial Narrow", ; + ForeColor = 0,0,0, ; + Margin = 0, ; + Name = "Text1", ; + SelectedBackColor = 100,185,255 + *< END OBJECT: BaseClass="textbox" /> + + ADD OBJECT 'pgframe.Page3.grdbon.cNract.Header1' AS header WITH ; + Alignment = 2, ; + Caption = "Nr. act", ; + FontSize = 10, ; + Name = "Header1" + *< END OBJECT: BaseClass="header" /> + + ADD OBJECT 'pgframe.Page3.grdbon.cNract.Text1' AS textbox WITH ; + BackColor = 255,255,255, ; + BorderStyle = 0, ; + FontName = "Arial Narrow", ; + ForeColor = 0,0,0, ; + Margin = 0, ; + Name = "Text1", ; + SelectedBackColor = 100,185,255 + *< END OBJECT: BaseClass="textbox" /> + + ADD OBJECT 'pgframe.Page3.grdbon.cNrcrt.Header1' AS header WITH ; + Alignment = 2, ; + Caption = "Nr.crt.", ; + FontSize = 10, ; + Name = "Header1" + *< END OBJECT: BaseClass="header" /> + + ADD OBJECT 'pgframe.Page3.grdbon.cNrcrt.Text1' AS textbox WITH ; + BackColor = 255,255,255, ; + BorderStyle = 0, ; + FontName = "Arial Narrow", ; + ForeColor = 0,0,0, ; + Margin = 0, ; + Name = "Text1", ; + SelectedBackColor = 100,185,255 + *< END OBJECT: BaseClass="textbox" /> + + ADD OBJECT 'pgframe.Page3.grdbon.cPretv.Header1' AS header WITH ; + Alignment = 2, ; + Caption = "Pret", ; + FontSize = 10, ; + Name = "Header1" + *< END OBJECT: BaseClass="header" /> + + ADD OBJECT 'pgframe.Page3.grdbon.cPretv.Text1' AS textbox WITH ; + BackColor = 255,255,255, ; + BorderStyle = 0, ; + FontName = "Arial Narrow", ; + ForeColor = 0,0,0, ; + Margin = 0, ; + Name = "Text1", ; + SelectedBackColor = 100,185,255 + *< END OBJECT: BaseClass="textbox" /> + + ADD OBJECT 'pgframe.Page3.grdbon.cResponsabil.Header1' AS header WITH ; + Alignment = 2, ; + Caption = "Responsabil", ; + FontSize = 10, ; + Name = "Header1" + *< END OBJECT: BaseClass="header" /> + + ADD OBJECT 'pgframe.Page3.grdbon.cResponsabil.Text1' AS textbox WITH ; + BackColor = 255,255,255, ; + BorderStyle = 0, ; + FontName = "Arial Narrow", ; + ForeColor = 0,0,0, ; + Margin = 0, ; + Name = "Text1", ; + SelectedBackColor = 100,185,255 + *< END OBJECT: BaseClass="textbox" /> + + ADD OBJECT 'pgframe.Page3.grdbon.cUM.Header1' AS header WITH ; + Alignment = 2, ; + Caption = "UM", ; + FontSize = 10, ; + Name = "Header1" + *< END OBJECT: BaseClass="header" /> + + ADD OBJECT 'pgframe.Page3.grdbon.cUM.Text1' AS textbox WITH ; + BackColor = 255,255,255, ; + BorderStyle = 0, ; + FontName = "Arial Narrow", ; + ForeColor = 0,0,0, ; + Margin = 0, ; + Name = "Text1", ; + SelectedBackColor = 100,185,255 + *< END OBJECT: BaseClass="textbox" /> + + ADD OBJECT 'pgframe.Page3.grdbon.cValoare.Header1' AS header WITH ; + Alignment = 2, ; + Caption = "Valoare", ; + FontSize = 10, ; + Name = "Header1" + *< END OBJECT: BaseClass="header" /> + + ADD OBJECT 'pgframe.Page3.grdbon.cValoare.Text1' AS textbox WITH ; + BackColor = 255,255,255, ; + BorderStyle = 0, ; + FontName = "Arial Narrow", ; + ForeColor = 0,0,0, ; + Margin = 0, ; + Name = "Text1", ; + SelectedBackColor = 100,185,255 + *< END OBJECT: BaseClass="textbox" /> + + ADD OBJECT 'pgframe.Page3.Label1' AS _label WITH ; + AutoSize = .T., ; + BackColor = 255,255,255, ; + Caption = "Bon nr.", ; + FontBold = .T., ; + FontSize = 10, ; + Height = 18, ; + Left = 266, ; + Name = "Label1", ; + TabIndex = 12, ; + Top = 2, ; + Width = 48, ; + ZOrderSet = 31 + *< END OBJECT: ClassLib="_baza.vcx" BaseClass="label" /> + + ADD OBJECT 'pgframe.Page3.Label2' AS _label WITH ; + Alignment = 2, ; + AutoSize = .F., ; + BackColor = 255,255,255, ; + Caption = "/", ; + FontBold = .T., ; + FontSize = 10, ; + Height = 17, ; + Left = 451, ; + Name = "Label2", ; + TabIndex = 13, ; + Top = 5, ; + Width = 11, ; + ZOrderSet = 31 + *< END OBJECT: ClassLib="_baza.vcx" BaseClass="label" /> + + ADD OBJECT 'pgframe.Page3.Label3' AS _label WITH ; + AutoSize = .T., ; + BackColor = 255,255,255, ; + Caption = "Valoare bon", ; + Height = 18, ; + Left = 216, ; + Name = "Label3", ; + TabIndex = 9, ; + Top = 27, ; + Visible = .F., ; + Width = 71, ; + ZOrderSet = 20 + *< END OBJECT: ClassLib="_baza.vcx" BaseClass="label" /> + + ADD OBJECT 'pgframe.Page3.Label4' AS _label WITH ; + AutoSize = .T., ; + BackColor = 255,255,255, ; + Caption = "Destinatie", ; + Height = 18, ; + Left = 372, ; + Name = "Label4", ; + TabIndex = 10, ; + Top = 27, ; + Width = 60, ; + ZOrderSet = 20 + *< END OBJECT: ClassLib="_baza.vcx" BaseClass="label" /> + + ADD OBJECT 'pgframe.Page3.Label5' AS _label WITH ; + AutoSize = .T., ; + BackColor = 255,255,255, ; + Caption = "Responsabil", ; + Height = 18, ; + Left = 523, ; + Name = "Label5", ; + TabIndex = 11, ; + Top = 27, ; + Width = 73, ; + ZOrderSet = 27 + *< END OBJECT: ClassLib="_baza.vcx" BaseClass="label" /> + + ADD OBJECT 'pgframe.Page3.Shape1' AS shape WITH ; + BackColor = 255,255,255, ; + Height = 65, ; + Left = 170, ; + Name = "Shape1", ; + SpecialEffect = 0, ; + Top = 11, ; + Width = 477, ; + ZOrderSet = 2 + *< END OBJECT: BaseClass="shape" /> + + ADD OBJECT 'pgframe.Page3.Text1' AS _textbox WITH ; + Alignment = 3, ; + BackColor = 255,255,255, ; + FontName = "Arial", ; + Height = 23, ; + InputMask = "999 999 999 999", ; + Left = 338, ; + Name = "Text1", ; + ReadOnly = .T., ; + SpecialEffect = 0, ; + TabIndex = 7, ; + TabStop = .F., ; + Top = 2, ; + Value = 0, ; + Visible = .T., ; + Width = 112 + *< END OBJECT: ClassLib="_baza.vcx" BaseClass="textbox" /> + + ADD OBJECT 'pgframe.Page3.Text2' AS _textbox WITH ; + Alignment = 2, ; + BackColor = 255,255,255, ; + FontName = "Arial", ; + Height = 23, ; + Left = 463, ; + Name = "Text2", ; + ReadOnly = .T., ; + SpecialEffect = 0, ; + TabIndex = 8, ; + TabStop = .F., ; + Top = 2, ; + Value = ({}), ; + Width = 112 + *< END OBJECT: ClassLib="_baza.vcx" BaseClass="textbox" /> + + ADD OBJECT 'pgframe.Page3.Text3' AS _textbox WITH ; + Alignment = 1, ; + BackColor = 255,255,255, ; + FontName = "Arial", ; + Format = "R", ; + Height = 23, ; + InputMask = (get_mask(12,gnPA)), ; + Left = 184, ; + Name = "Text3", ; + ReadOnly = .T., ; + TabIndex = 4, ; + TabStop = .F., ; + Top = 46, ; + Value = 0, ; + Visible = .F., ; + Width = 133, ; + ZOrderSet = 13 + *< END OBJECT: ClassLib="_baza.vcx" BaseClass="textbox" /> + + ADD OBJECT 'pgframe.Page3.Text4' AS _textbox WITH ; + Alignment = 1, ; + BackColor = 255,255,255, ; + FontName = "Arial", ; + Height = 23, ; + Left = 329, ; + Name = "Text4", ; + ReadOnly = .T., ; + TabIndex = 5, ; + TabStop = .F., ; + Top = 46, ; + Width = 144, ; + ZOrderSet = 16 + *< END OBJECT: ClassLib="_baza.vcx" BaseClass="textbox" /> + + ADD OBJECT 'pgframe.Page3.Text5' AS _textbox WITH ; + Alignment = 1, ; + BackColor = 255,255,255, ; + FontName = "Arial", ; + Height = 23, ; + Left = 484, ; + Name = "Text5", ; + ReadOnly = .T., ; + TabIndex = 6, ; + TabStop = .F., ; + Top = 46, ; + Width = 151, ; + ZOrderSet = 14 + *< END OBJECT: ClassLib="_baza.vcx" BaseClass="textbox" /> + + ADD OBJECT 'Xresize1' AS xresize WITH ; + Left = 732, ; + Name = "Xresize1", ; + Top = 48 + *< END OBJECT: ClassLib="xresize.vcx" BaseClass="custom" /> + + PROCEDURE actualizeaza_grid1 + Lparameters tcFiltru + Local lcFiltru + lcFiltru=tcFiltru + If Empty(lcFiltru) + lcFiltru=porulaje.ca_baza1.cfiltru + Endif + + Thisform.MousePointer= 11 + Thisform.LockScreen=.T. + + save_grid_tag(Thisform.pgframe.page1.grdrulaje) + porulaje.ca_baza1.cfiltru=lcFiltru + porulaje.ca_baza1.afisare() + restore_grid_tag(Thisform.pgframe.page1.grdrulaje) + + Thisform.LockScreen=.F. + Thisform.MousePointer= 0 + + Thisform.CalculeazaTotaluri() + Thisform.Refresh + ENDPROC + + PROCEDURE calculeazatotaluri + If Reccount('crsrul')>0 + Select crsrul + + Sum ROUND(cant*Pret,gnPc),ROUND(cante*Pret,gnPc) To Thisform.nsumi,Thisform.nsumie + + Sum cant,cante To Thisform.ncanti,Thisform.ncantie + Thisform.lnoua=.T. + Else + Thisform.nsumi=0 + Thisform.nsumie=0 + Thisform.ncanti=0 + Thisform.ncantie=0 + ENDIF + + + ENDPROC + + PROCEDURE do_cauta + *!* 01.04.2021 + *!* marius.mutu + *!* nu stiu de ce punea filtru pe tip_rulaj = 0. am scos filtrul pentru ca nu arata toate inregistrarile + + LPARAMETERS tcFiltru + + LOCAL lcFiltru + IF !EMPTY(tcFiltru) + lcFiltru = [ and ] + tcFiltru + ELSE + lcFiltru = [] + ENDIF + + + && DACA FILTRUL NU CONTINE PERIOADA, SELECTEZ DOAR INREGISTRARILE DIN LUNA CURENTA + IF !'PERIOADA'$UPPER(THISFORM.filtru_pretty_ro_full) + lcFiltru = [ AND LUNA=]+ALLTRIM(STR(gnluna))+[ AND AN=]+ALLTRIM(STR(gnan)) + lcFiltru + ENDIF + + + && DACA FILTRUL NU CONTINE INREGISTRARILE STERSE, SELECTEZ DOAR INREGISTRARILE STERS = 0 + IF !'STERS'$UPPER(THISFORM.filtru_pretty_ro_full) + lcFiltru = [ AND STERS = 0] + lcFiltru + ENDIF + + && DACA FILTRUL NU CONTINE TIP RULAJ, IAU DOAR TIPUL "INTRARI/IESIRI REALE" + *!* IF 'TIP RULAJ'$UPPER(THISFORM.filtru_pretty_ro) + *!* WITH THIS.ck_filtru_tiprulaj + *!* .VALUE = 0 + *!* .Filtru = "" + *!* .cTraducere = "" + *!* ENDWITH + *!* ENDIF + + THISFORM.but_start_criterii1.refreshstatus() + + *!* IF THISFORM.ck_filtru_tiprulaj.VALUE = 1 + *!* lcFiltru = THIS.ck_filtru_tiprulaj.Filtru + lcFiltru + *!* ENDIF + + IF LEN(THISFORM.filtru_pretty)>0 + filtrutext = THISFORM.filtru_pretty + lcFiltru = lcFiltru+" and ("+ALLTRIM(filtrutext)+")" + ENDIF + + lcFiltru = lcFiltru + gcCondSucursala + IF LEN(lcFiltru)>0 + lcFiltru = SUBSTR(lcFiltru, 6) + ENDIF + + && ACTUALIZEZ PERIOADA DIN TITLUL REGISTRULUI JURNAL + lcTitlu = THISFORM.lb_titlu_alb_b121.CAPTION + IF !'PERIOADA'$UPPER(THISFORM.filtru_pretty_ro_full) + lcTitlu = SUBSTR(lcTitlu, 1, AT("*", lcTitlu, 1)) + " " + PADL(ALLTRIM(STR(gnluna)),2,"0") + "/" + ALLTRIM(STR(gnan)) + ELSE + IF TYPE('this.ocriterii') = 'O' + loCollection = THIS.oCriterii.GetCriteriu("perioada") + i = 0 + lcValoare1 = "" + lcValoare2 = "" + FOR EACH criteriu IN loCollection + i = i + 1 + IF i = 1 + lcValoare1 = criteriu.valoare + ELSE + lcValoare2 = criteriu.valoare + ENDIF + IF i = 2 + EXIT + ENDIF + ENDFOR + IF EMPTY(STRTRAN(lcValoare1,'/','')) AND EMPTY(STRTRAN(lcValoare2,'/','')) + lcTitlu = SUBSTR(lcTitlu, 1, AT("*", lcTitlu, 1)) + " " + PADL(ALLTRIM(STR(gnluna)),2,"0") + "/" + ALLTRIM(STR(gnan)) + ELSE + IF EMPTY(STRTRAN(lcValoare2,'/','')) + lcValoare2 = lcValoare1 + ENDIF + ENDIF + + IF lcValoare1 = lcValoare2 + lcTitlu = SUBSTR(lcTitlu, 1, AT("*", lcTitlu,1)) + " " + lcValoare1 + ELSE + lcTitlu = SUBSTR(lcTitlu, 1, AT("*", lcTitlu,1)) + " " + lcValoare1 + " - " + lcValoare2 + ENDIF + ENDIF + ENDIF + THIS.lb_titlu_alb_b121.CAPTION = lcTitlu + + + IF (THIS.filtru_pretty#"none") + THISFORM.actualizeaza_grid1(lcFiltru) + SELECT crsrul + IF RECCOUNT()>0 + GO TOP + IF cant#0 + THISFORM.pgframe.page2.ENABLED=.T. + THISFORM.pgframe.page3.ENABLED=.F. + ELSE + THISFORM.pgframe.page2.ENABLED=.F. + THISFORM.pgframe.page3.ENABLED=.T. + ENDIF + ELSE + aMessagebox("Cautarea nu a intors rezultate!",0+48,"Info cautare") + THISFORM.pgframe.page2.ENABLED=.F. + THISFORM.pgframe.page3.ENABLED=.F. + ENDIF + + WITH THISFORM.pgframe + IF .ACTIVEPAGE!=1 + .PAGES(.ACTIVEPAGE).DEACTIVATE() + .page1.ACTIVATE() + .page1.SETFOCUS() + ENDIF + .page1.grdrulaje.SETFOCUS() + *!* .page1.grdrulaje.SetFocus() + *!* .page1.grdrulaje.refresh + ENDWITH + ENDIF + + ENDPROC + + PROCEDURE do_excel + *!* DO export_excel WITH this.pgframe.page1.grdrulaje,this.lb_titlu_alb_b121.Caption + Local lcAlias, lcFiltru, lcColumnList, lcHeaderList, lcSelect, lcOutput, lcFrom, lcWhere, lcOrder + lcAlias = This.pgframe.page1.grdrulaje.RecordSource + lcFiltru = Filter(lcAlias) + If Empty(lcFiltru) + lcFiltru = '.T.' + Endif + + If Reccount(lcAlias) > 0 + lcColumnList = '' + lcHeaderList = '' + lcSelect = '' + llSelect = .T. + lcType = 'CURSOR' + lcFrom = lcAlias + lcWhere = lcFiltru + lcOrder = 'dataact,codmat,denumire' + lcOutput = 'crsStoc' + + If Used(lcOutput) + Use In (lcOutput) + Endif + + get_schema_grid(This.pgframe.page1.grdrulaje,@lcColumnList, @lcHeaderList, @lcSelect, llSelect, lcType, lcFrom, lcWhere, lcOrder, lcOutput) + &lcSelect + + If Used(lcOutput) + Do export_xls With lcOutput In oproceduri_comune.prg + Use In (lcOutput) + Endif + Else + amessagebox("Nu exista inregistrari pentru export!",0+48,"Atentie") + Endif + ENDPROC + + PROCEDURE do_listare + PRIVATE pcSubtitlu + pcSubtitlu = THIS.filtru_pretty_ro_full + pcperioada='LUNA: '+pcnl+' '+pcan + pctitlu = 'JURNAL RULAJE' + pcDataOra = get_ora(2) + + lcCursor = THISFORM.pgframe.page1.grdrulaje.RECORDSOURCE + IF RECCOUNT(lcCursor) > 0 + X = XMENU("Listare \0 + plPerioada=.T. + ENDIF + + IF plPerioada + lnAn1 = VAL(SUBSTR(pcondper,3,4)) + lnLuna1 = VAL(SUBSTR(pcondper,1,2)) + lnAn2 = VAL(SUBSTR(pcondper,10,4)) + lnLuna2 = VAL(SUBSTR(pcondper,8,2)) + + pnPerInceput = lnAn1 * 12 + lnLuna1 + pnPerSfarsit = lnAn2 * 12 + lnLuna2 + pcperioada = [Perioada : ] + SUBSTR(pcondper,1,2)+'/'+SUBSTR(pcondper,3,4) + ' - ' + SUBSTR(pcondper,8,2)+'/'+SUBSTR(pcondper,10,4) + ELSE + lnAn1 = VAL(SUBSTR(pcondper,3,4)) + lnLuna1 = VAL(SUBSTR(pcondper,1,2)) + lnAn2 = VAL(SUBSTR(pcondper,3,4)) + lnLuna2 = VAL(SUBSTR(pcondper,1,2)) + + pnPerInceput = lnAn1 * 12 + lnLuna1 + pnPerSfarsit = lnAn2 * 12 + lnLuna2 + pcperioada = [Luna : ] + SUBSTR(pcondper,1,2)+'/'+SUBSTR(pcondper,3,4) + ENDIF + + IF USED(lcCursorRaport) + USE IN (lcCursorRaport) + ENDIF + + lcSql = [select c.codmat, c.denumire as nume_articol, c.um, c.cant_bax, c.um2, a.serie, a.curs, a.pretd, V.nume_val, d.sectie, d.csectie,] + ; + [e.nrord, f.nume_gestiune, ] + ; + [f.cgest, g.nume_gestiune as nume_gestiunec, g.cgest as cgestc,] + ; + [(case when g.nr_pag = 6 then a.pretv + a.tvav else a.pret end) as pret, a.cant, a.cante, ] + ; + [ROUND(a.cant*(case when g.nr_pag = 6 then a.pretv + a.tvav else a.pret end),?gnPc) as val_intrari,] + ; + [ROUND(a.cante*(case when g.nr_pag = 6 then a.pretv + a.tvav else a.pret end),?gnPc) as val_iesiri,] + ; + [b.dataact, b.nnir,decode(b.nract,b.nnir,null,b.serie_act) as serie_act,decode(b.nract,b.nnir,null,b.nract) as nract,] + ; + [b.explicatia, h.denumire, i.fel_document, j.descriere as tip_rulaj ] + ; + [from rul a left join ] + ; + [(select distinct cod,dataact,max(nnir) over(partition by cod) as nnir,id_fdoc,serie_act,nract,] + ; + [max(id_partd) over(partition by cod) as id_partd,] + ; + [first_value(explicatia) over(partition by cod order by explicatia ASC) as explicatia ] + ; + [from act where sters = 0 and cod in (select cod ] + ; + [from rul where id_articol = ?pnIdArticol and sters = 0] + gcCondSucursala + [)] + ; + [and scc not in ('4427', '4111', '667')) b on a.cod = b.cod ] + ; + [left join nom_articole c on a.id_articol = c.id_articol ] + ; + [left join nom_sectii d on a.id_sectie = d.id_sectie ] + ; + [left join vnom_lucrari e on a.id_lucrare = e.id_lucrare ] + ; + [left join nom_gestiuni f on a.id_gestiune = f.id_gestiune ] + ; + [left join nom_gestiuni g on a.id_gestiunec = g.id_gestiune ] + ; + [left join nom_parteneri h on b.id_partd = h.id_part ] + ; + [left join nom_fdoc i on b.id_fdoc = i.id_fdoc ] + ; + [left join nom_tip_rulaj j on a.id_tip_rulaj = j.id_tip_rulaj ] + ; + [LEFT JOIN NOM_VALUTE V ON V.ID_VALUTA = A.ID_VALUTA ] + ; + [where a.sters = 0 and a.id_articol = ?pnIdArticol ] + STRTRAN(gcCondSucursala,[id_sucursala],[a.id_sucursala]) + [ ] + ; + [and a.luna + a.an * 12 between ?pnPerInceput and ?pnPerSfarsit order by b.dataact] + lnSucces = goExecutor.oExecute(lcSql,lcCursorRaport) + + IF lnSucces < 0 + amessagebox(goExecutor.oPrelucrareEroare(),0+16,"Eroare") + ELSE + IF RECCOUNT(lcCursorRaport)>0 + SELECT (lcCursorRaport) + *KEYBOARD '{CTRL+F10}' + *REPORT FORM istoric_Articol TO PRINTER PROMPT PREVIEW + goExport.export2frx(m.lcCursorRaport,[istoric_Articol],.T., , , , , .T.) + ELSE + amessagebox("Nu exista inregistrari pentru listare!",0+48,"Atentie") + ENDIF + ENDIF + IF USED(lcCursorRaport) + USE IN (lcCursorRaport) + ENDIF + ENDCASE + THISFORM.ALWAYSONTOP=.T. + ELSE + amessagebox("Nu exista inregistrari pentru listare!",0+48,"Atentie") + ENDIF + + ENDPROC + + PROCEDURE do_listare3 + ENDPROC + + PROCEDURE do_modifica + If glLunaInchisa + aMESSAGEBOX('Luna este inchisa!',0+48) + Return + Endif + + lcSelect = This.pgframe.page1.grdrulaje.RecordSource + If Reccount(lcSelect)>0 + Select (lcSelect) + Scatter Name loRul + lnIdRul = loRul.id_rul_obinv + Do Adauga_Modifica_Inregistrare With "rulaje_obinv",loRul,lnIdRul,[UPDATE] + + AMESSAGEBOX('Trebuie sa apelati "Refacere de stoc obiecte inventar in folosinta" pentru a actualiza stocul' + CHR(13) +CHR(10) + ; + 'si sa actualizati sumele de pe nota contabila aferenta din Registrul Jurnal!',0+48,_screen.Caption) + + Else + aMESSAGEBOX("Nu exista inregistrari pentru modificare!",0+48,"Atentie") + Endif + + ENDPROC + + PROCEDURE do_reset + *!* WITH This.ck_filtru_tiprulaj + *!* .Value = 1 + *!* .Filtru = " and (id_tip_rulaj = 0)" + *!* .cTraducere = "Tip rulaj este 'INTRARE/IESIRE REALA'" + *!* ENDWITH + + DODEFAULT() + ENDPROC + + PROCEDURE grid_sort_bind + *!* *!* 26.01.2011 + *!* marius.mutu + *!* se foloseste gridextras pentru ordonare grid in loc de gridsort + *!* + *!* 26.01.2011 ^ + ENDPROC + + PROCEDURE Init + DODEFAULT() + thisform.pgframe.page2.Enabled=.F. + thisform.pgframe.page3.Enabled=.F. + IF glLunaInchisa + this.but_modifica1.Visible = !glLunaInchisa + ENDIF + *!* 26.01.2011 + this.gridextra1.setup() + *!* 26.01.2011 ^ + ENDPROC + + PROCEDURE But_start_criterii1.loadcriterii + PARAMETERS tacriterii + EXTERNAL ARRAY tacriterii + #DEFINE crlf CHR(13)+CHR(10) + lcStringCriterii="Denumire articol\a.denumire\T\id_articol\nom_articol"+ crlf + ; + "Cod material\a.codmat\T\none\" + crlf + ; + "Serie articol\a.serie\T\none\" + crlf + ; + "Grupa articol\a.grupa\T\id_grupa\nom_grupa_articol"+ crlf + ; + "Subgrupa articol\a.subgrupa\T\id_subgrupa\nom_subgrupa_articol"+ crlf + ; + "Nr. document\a.nract\N\none\" + crlf + ; + "Serie document\a.serie_act\T\none\" + crlf + ; + "Data act\a.dataact\D\none\" + crlf + ; + "Nr. NIR/bon\nnir\N\none\" + crlf + ; + "Pret\a.pret\N|get_mask(12,gnPpret)\none\"+ crlf + ; + "Pret valuta\a.pretd\N|get_mask(12,gnPPretval)\none\" + crlf + ; + "Valuta\nume_val\T\a.ID_VALUTA\nom_valuta" + crlf + ; + "Intrari\a.cant\N|get_mask(12,gnPCant)\none\" + crlf + ; + "Iesiri\a.cante\N|get_mask(12,gnPCant)\none\" + crlf + ; + "Cont\a.cont\T\none\"+ crlf + ; + "Cont analitic\a.acont\T\none\"+ crlf + ; + "Grupe gestiuni\|E|" + ; + [a.id_gestiune in ( ] + ; + [ select ID_GESTIUNE ] + ; + [ from vgest_coresp_grupe_gestiuni c ] + ; + [ join (select id_grupe ] + ; + [ from gest_nom_grupe ] + ; + [ where sters = 0 ] + ; + [ start with id_grupe = <> ] + ; + [ connect by prior id_grupe = parent_id) g on c.id_grupe = g.id_grupe )\I\none\nom_grupa_gestiune] + crlf + ; + "Gestiune\none\I\a.id_gestiune\nom_gestiune" + crlf + ; + "Responsabil\a.nresp\T\id_responsabil\nom_responsabil"+ crlf + ; + "Marca resp.\resp_marca\N\none\" + crlf + ; + "Responsabil C\a.nrespc\T\id_responsabilc\nom_responsabil"+ crlf + ; + "Marca resp. C\respc_marca\N\none\" + crlf + ; + "Sectie\a.sectie\T\ID_SECTIE\nom_sectie" + crlf + ; + "Lucrare/Comanda\nrord\T\ID_LUCRARE\nom_lucrare" + crlf + ; + IIF(EMPTY(gcCondSucursala) and glEMama,"Sucursala\Sucursala\C\none" + crlf,[]) +; + "Tip rulaj\none\I\a.id_tip_rulaj\nom_tip_rulaj" + crlf + ; + "Perioada\an*12+luna\D1\none\" + crlf + ; + "Sterse\nofiled\E\(1=1)\" + DODEFAULT() + ENDPROC + + PROCEDURE Gridextra1.applyfilter + DODEFAULT() + Thisform.calculeazatotaluri() + ENDPROC + + PROCEDURE Gridextra1.clearfilter + DODEFAULT() + Thisform.calculeazatotaluri() + ENDPROC + + PROCEDURE pgframe.Page1.Activate + DODEFAULT() + this.FontBold=.T. + SELECT crsrul + ENDPROC + + PROCEDURE pgframe.Page1.Deactivate + this.FontBold=.F. + ENDPROC + + PROCEDURE pgframe.Page1.grdrulaje.AfterRowColChange + Lparameters nColIndex + If This.RowColChange = 1 Or This.RowColChange= 3 + thisform.lnoua=.T. + Select crsrul + If cant#0 + Thisform.pgframe.page2.Enabled=.T. + Thisform.pgframe.page3.Enabled=.F. + Else + Thisform.pgframe.page2.Enabled=.F. + Thisform.pgframe.page3.Enabled=.T. + Endif + Endif + DoDefault() + + ENDPROC + + PROCEDURE pgframe.Page1.grdrulaje.Init + This.SetAll("DynamicForeColor", "IIF(sters=1, RGB(255,0,0), RGB(0,0,0))", "Column") + + ENDPROC + + PROCEDURE pgframe.Page1.Text1.Refresh + *THIS.FORECOLOR=IIF(M.PRECDEB-M.PRECCRED>=0, RGB(0,0,0), RGB(255,0,0)) + ENDPROC + + PROCEDURE pgframe.Page1.Text2.Refresh + *THIS.FORECOLOR=IIF(TINCASARI>=0, RGB(0,0,0), RGB(255,0,0)) + ENDPROC + + PROCEDURE pgframe.Page1.Text3.Refresh + *THIS.FORECOLOR=IIF(TPLATI>=0, RGB(0,0,0), RGB(255,0,0)) + ENDPROC + + PROCEDURE pgframe.Page1.Text4.Refresh + *THIS.FORECOLOR=IIF(TINCASARI-TPLATI>=0, RGB(0,0,0), RGB(255,0,0)) + ENDPROC + + PROCEDURE pgframe.Page2.Activate + Private pntotal + pntotal=0 + DoDefault() + If This.Enabled + This.FontBold=.T. + Endif + If Thisform.lnoua + + Select crsrul + pnnnir=nnir + pnid_fact=id_fact + this.text4.Value=pnnnir + + IF pnid_fact>0 + IF USED('crsact') + USE IN crsact + ENDIF + lcSql=[select serie_act,nract,dataact,nume from ] + gcS + [.vireg_parteneri where an = ?gnAn and luna = ?gnLuna and id_fact=?pnid_fact] + lnSucces = goExecutor.oExecute(lcSql,'crsact') + If lnSucces < 0 + aMessagebox(goExecutor.cEroare,0+16,'Eroare') + Return + Endif + + SELECT crsact + This.text1.Value=nract + This.text2.Value=TTOD(dataact) + This.text5.Value=nume + this.text6.value=ALLTRIM(serie_act) + USE IN crsact + ELSE + This.text1.Value=0 + This.text2.Value={} + This.text5.Value="" + this.text6.value=[] + ENDIF + + save_grid_tag(This.grdnir) + ponir.ca_baza1.cfiltru=[ a.nnir=] + ALLTRIM(STR(pnnnir)) + ponir.ca_baza1.afisare() + restore_grid_tag(This.grdnir) + + SELECT crsnir + CALCULATE sum(ROUND(cant*(pret+tva),gnPC)) TO pntotal + This.text3.Value=pntotal + + Go Top + This.Refresh() + Thisform.lnoua=.F. + Endif + + + *!* go top + *!* this.grid2.refresh + + *!* thisform.check1.enabled=.f. + *!* thisform.check6.enabled=.f. + *!* thisform.check7.enabled=.f. + *!* thisform.CMDLIST3.enabled=.f. + + *!* SELE ACTAN + *!* loca for cod=codfix + *!* SCATTER FIEL EXCEPT SCD MEMVAR + + *!* this.text1.refresh + *!* this.text2.refresh + *!* this.text3.refresh + *!* this.text4.refresh + *!* this.text5.refresh + ENDPROC + + PROCEDURE pgframe.Page2.ck_nrcrt.Click + If This.Value=1 + This.Parent.grdnir.cNrCrt.Visible=.T. + Else + This.Parent.grdnir.cNrCrt.Visible=.F. + Endif + Thisform.Refresh + ENDPROC + + PROCEDURE pgframe.Page2.ck_valoare.Click + If This.Value=1 + This.Parent.text3.Visible=.T. + This.Parent.label3.Visible=.T. + Else + This.Parent.text3.Visible=.F. + This.Parent.label3.Visible=.F. + Endif + This.Parent.Refresh + ENDPROC + + PROCEDURE pgframe.Page2.Deactivate + DODEFAULT() + This.FontBold=.F. + ENDPROC + + PROCEDURE pgframe.Page2.Text1.GotFocus + *!* if bdataact==.f. then + *!* m.dataact1="" + *!* endif + *!* this.refresh + ENDPROC + + PROCEDURE pgframe.Page2.Text2.GotFocus + *!* if bdataact==.f. then + *!* m.dataact2="" + *!* endif + *!* this.refresh + ENDPROC + + PROCEDURE pgframe.Page2.Text3.Refresh + *THIS.FORECOLOR=IIF(M.PRECDEB-M.PRECCRED>=0, RGB(0,0,0), RGB(255,0,0)) + ENDPROC + + PROCEDURE pgframe.Page2.Text4.Refresh + *THIS.FORECOLOR=IIF(TINCASARI>=0, RGB(0,0,0), RGB(255,0,0)) + ENDPROC + + PROCEDURE pgframe.Page2.Text5.Refresh + *THIS.FORECOLOR=IIF(TPLATI>=0, RGB(0,0,0), RGB(255,0,0)) + ENDPROC + + PROCEDURE pgframe.Page2.Text6.GotFocus + *!* if bdataact==.f. then + *!* m.dataact1="" + *!* endif + *!* this.refresh + ENDPROC + + PROCEDURE pgframe.Page3.Activate + Private pntotal + pntotal=0 + DoDefault() + If This.Enabled + This.FontBold=.T. + Endif + + If Thisform.lnoua + Select crsrul + pncod=cod + This.text1.Value=nnir + This.text2.Value=dataact + This.text4.Value=nrord + This.text5.Value=nresp + + + If pncod>0 + save_grid(This.grdbon) + pobon.ca_baza1.cfiltru=[a.cod=] + Alltrim(Str(pncod)) + pobon.ca_baza1.afisare() + restore_grid(This.grdbon) + + Select crsbon + Calculate Sum(ROUND(cante*pretv,gnPC)) To pntotal + This.text3.Value=pntotal + Else + This.text3.Value=0 + Endif + + Go Top + This.Refresh() + Thisform.lnoua=.F. + Endif + ENDPROC + + PROCEDURE pgframe.Page3.ck_nrcrt.Click + If This.Value=1 + This.Parent.grdbon.cNrCrt.Visible=.T. + Else + This.Parent.grdbon.cNrCrt.Visible=.F. + Endif + Thisform.Refresh + ENDPROC + + PROCEDURE pgframe.Page3.ck_valoare.Click + If This.Value=1 + This.Parent.text3.Visible=.T. + This.Parent.label3.Visible=.T. + Else + This.Parent.text3.Visible=.F. + This.Parent.label3.Visible=.F. + Endif + This.Parent.Refresh + ENDPROC + + PROCEDURE pgframe.Page3.Deactivate + DODEFAULT() + this.FontBold=.F. + ENDPROC + + PROCEDURE pgframe.Page3.Text1.GotFocus + *!* if bdataact==.f. then + *!* m.dataact1="" + *!* endif + *!* this.refresh + ENDPROC + + PROCEDURE pgframe.Page3.Text2.GotFocus + *!* if bdataact==.f. then + *!* m.dataact2="" + *!* endif + *!* this.refresh + ENDPROC + + PROCEDURE pgframe.Page3.Text3.Refresh + *THIS.FORECOLOR=IIF(M.PRECDEB-M.PRECCRED>=0, RGB(0,0,0), RGB(255,0,0)) + ENDPROC + + PROCEDURE pgframe.Page3.Text4.Refresh + *THIS.FORECOLOR=IIF(TINCASARI>=0, RGB(0,0,0), RGB(255,0,0)) + ENDPROC + + PROCEDURE pgframe.Page3.Text5.Refresh + *THIS.FORECOLOR=IIF(TPLATI>=0, RGB(0,0,0), RGB(255,0,0)) + ENDPROC + +ENDDEFINE + +DEFINE CLASS frm_rulaje_obinv_nou AS _frmbase OF "_frm_base.vcx" + *< CLASSDATA: Baseclass="form" Timestamp="" Scale="Pixels" Uniqueid="" /> + + *-- OBJECTDATA items order determines ZOrder / El orden de los items OBJECTDATA determina el ZOrder + *< OBJECTDATA: ObjPath="But_renunt1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="img_parinte" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="clb_gestiune" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="Cus_odata_rulaje_obinv" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="Clb_tx_cant" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="Clb_tx_cante" UniqueID="" Timestamp="" /> + + * + *m: do_alege_gestiune + *p: ncant + *p: ncante + *p: nid + *p: orec + * + + * + DoCreate = .T. + Height = 152 + Name = "frm_rulaje_obinv_nou" + ncant = 0 + ncante = 0 + Width = 387 + _shape1.Height = 29 + _shape1.Left = 0 + _shape1.Name = "_shape1" + _shape1.Top = 0 + _shape1.Width = 387 + _shape2.Height = 29 + _shape2.Left = 326 + _shape2.Name = "_shape2" + _shape2.Top = 0 + _shape2.Width = 61 + Lb_titlu_alb_b121.Caption = "Rulaj" + Lb_titlu_alb_b121.Name = "Lb_titlu_alb_b121" + Lb_titlu_alb_b121.TabIndex = 4 + BUT_TERMIN1.Left = 357 + BUT_TERMIN1.Name = "BUT_TERMIN1" + BUT_TERMIN1.TabIndex = 2 + BUT_TERMIN1.Top = 1 + Gridsort1.Name = "Gridsort1" + * + + ADD OBJECT 'But_renunt1' AS but_renunt WITH ; + Left = 327, ; + Name = "But_renunt1", ; + TabIndex = 3, ; + Top = 1 + *< END OBJECT: ClassLib="cmd_butoane.vcx" BaseClass="commandbutton" /> + + ADD OBJECT 'clb_gestiune' AS clb_tx_simplu WITH ; + Height = 29, ; + Left = 13, ; + Name = "clb_gestiune", ; + TabIndex = 6, ; + TabStop = .F., ; + ToolTipText = "Pentru modificare, faceti dublu-click!", ; + Top = 55, ; + Width = 313, ; + Text_simplu1.ControlSource = "porec.cgest", ; + Text_simplu1.Height = 23, ; + Text_simplu1.Left = 101, ; + Text_simplu1.Name = "Text_simplu1", ; + Text_simplu1.ReadOnly = .T., ; + Text_simplu1.Top = 3, ; + Text_simplu1.Value = , ; + Text_simplu1.Width = 206, ; + Lb_simplu1.Caption = "Gestiune", ; + Lb_simplu1.Name = "Lb_simplu1" + *< END OBJECT: ClassLib="lb_tx.vcx" BaseClass="container" /> + + ADD OBJECT 'Clb_tx_cant' AS clb_tx_simplu WITH ; + Height = 29, ; + Left = 13, ; + Name = "Clb_tx_cant", ; + TabIndex = 2, ; + Top = 83, ; + Width = 312, ; + Text_simplu1.ControlSource = "porec.cant", ; + Text_simplu1.Height = 23, ; + Text_simplu1.Left = 165, ; + Text_simplu1.Name = "Text_simplu1", ; + Text_simplu1.Top = 3, ; + Text_simplu1.Width = 141, ; + Lb_simplu1.Caption = "Cantitate intrata:", ; + Lb_simplu1.Name = "Lb_simplu1" + *< END OBJECT: ClassLib="lb_tx.vcx" BaseClass="container" /> + + ADD OBJECT 'Clb_tx_cante' AS clb_tx_simplu WITH ; + Height = 29, ; + Left = 13, ; + Name = "Clb_tx_cante", ; + TabIndex = 3, ; + Top = 111, ; + Width = 312, ; + Text_simplu1.ControlSource = "porec.cante", ; + Text_simplu1.Height = 23, ; + Text_simplu1.Left = 165, ; + Text_simplu1.Name = "Text_simplu1", ; + Text_simplu1.Top = 3, ; + Text_simplu1.Width = 141, ; + Lb_simplu1.Caption = "Cantitate iesita:", ; + Lb_simplu1.Name = "Lb_simplu1" + *< END OBJECT: ClassLib="lb_tx.vcx" BaseClass="container" /> + + ADD OBJECT 'Cus_odata_rulaje_obinv' AS cus_odata_rulaje_obinv WITH ; + Left = 367, ; + Name = "Cus_odata_rulaje_obinv", ; + Top = 77 + *< END OBJECT: ClassLib="rulaje.vcx" BaseClass="custom" /> + + ADD OBJECT 'img_parinte' AS _image WITH ; + Height = 24, ; + Left = 331, ; + Name = "img_parinte", ; + Picture = ..\grafice\alege.bmp, ; + Stretch = 2, ; + ToolTipText = "Alegeti valuta", ; + Top = 57, ; + Width = 24 + *< END OBJECT: ClassLib="_baza.vcx" BaseClass="image" /> + + PROCEDURE do_alege_gestiune + Local loCauta + loCauta = caut_gestiune() + + + IF !EMPTY(loCauta.id_gestiune) + poRec.id_gestiune = loCauta.id_gestiune + poRec.cgest = loCauta.cgest + ENDIF + + this.clb_gestiune.text_simplu1.Refresh() + + + ENDPROC + + PROCEDURE inainte_de_do_termin + LOCAL PLRETURN + + lccontrol = UPPER(this.ActiveControl.BaseClass ) + IF INLIST(lccontrol,"TEXTBOX","EDITBOX","COMBOBOX") + lcval=This.Activecontrol.controlsource + &lcval=thisform.ActiveControl.value + ENDIF + + IF EMPTY(porec.id_gestiune) + lcTitlu=[Atentie] + lcMesaj=[Nu ati ales gestiunea!] + lcimagine = [exclam.ico] + lctip = [Avertizare] + ofrm_av = CREATEOBJECT([frm_mesaj],lcTitlu,lcimagine,lctip,lcMesaj) + ofrm_av.show(1) + RELEASE ofrm_av + + This.clb_gestiune.SetFocus() + plreturn=.F. + ELSE + IF (this.ncant # 0 AND poRec.cante # 0) OR (this.ncante # 0 AND poRec.cant # 0) + lcTitlu=[Atentie] + lcMesaj=[Nu puteti schimba decat cantitatea intrata/iesita !] + lcimagine = [exclam.ico] + lctip = [Avertizare] + ofrm_av = CREATEOBJECT([frm_mesaj],lcTitlu,lcimagine,lctip,lcMesaj) + ofrm_av.show(1) + RELEASE ofrm_av + plreturn=.F. + RETURN plreturn + ENDIF + PLRETURN=This.cus_odata_rulaje_obinv.salvare(This.OREC,This.NID) + ENDIF + Return PLRETURN + + + ENDPROC + + PROCEDURE Init + LPARAMETERS toRec, tnId, tcActiune + + DODEFAULT() + + this.orec= toRec + this.nid = tnId + this.cus_odata_rulaje_obinv.cactiune = tcActiune + + + this.nCant = toRec.cant + this.nCante = toRec.Cante + IF toRec.cant # 0 + this.clb_tx_cante.text_simplu1.ReadOnly= .T. + ELSE + this.clb_tx_cant.text_simplu1.ReadOnly= .T. + ENDIF + ENDPROC + + PROCEDURE clb_gestiune.Text_simplu1.DblClick + Thisform.do_alege_parinte() + ENDPROC + + PROCEDURE img_parinte.Click + Thisform.do_alege_gestiune() + + ENDPROC + +ENDDEFINE diff --git a/clase/scrollcontainer.vc2 b/clase/scrollcontainer.vc2 new file mode 100644 index 0000000..e318a63 --- /dev/null +++ b/clase/scrollcontainer.vc2 @@ -0,0 +1,1141 @@ +*-------------------------------------------------------------------------------------------------------------------------------------------------------- +* (EN) AUTOGENERATED - ATTENTION!! - NOT INTENDED FOR EXECUTION!! USE ONLY FOR MERGING CHANGES AND STORING WITH SCM TOOLS!! +*-------------------------------------------------------------------------------------------------------------------------------------------------------- +*< FOXBIN2PRG: Version="1.21" SourceFile="scrollcontainer.vcx" CPID="1252" /> (Solo para binarios VFP 9 / Only for VFP 9 binaries) +* +* +DEFINE CLASS _scrollcontainer AS _container OF "_baza.vcx" + *< CLASSDATA: Baseclass="container" Timestamp="" Scale="Pixels" Uniqueid="" /> + + *-- OBJECTDATA items order determines ZOrder / El orden de los items OBJECTDATA determina el ZOrder + *< OBJECTDATA: ObjPath="But_sus1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="But_jos1" UniqueID="" Timestamp="" /> + + * + *m: do_adaugaobiect && Adauga un obiect la container. + *m: do_initializeaza + *m: do_initializeazaobiect + *m: do_redimensioneaza + *m: do_scrolldown + *m: do_scrollup + *m: do_stergeobiect && Sterge un obiect din container. + *p: cultimulobiect && Numele ultimului obiect adaugat. + *p: nactualheight && Distanta de la marginea de sus a ferestrei pana la marginea inferioara a celui mai de jos obiect. + *p: nactualwidth && Distanta de la marginea din stanga a ferestrei pana la marginea din dreapta a celui mai din dreapta obiect. + *p: nheightoffset && Distanta pe verticala dintre doua obiecte. + *p: nmaxheight && Inaltimea maxima vizibila a containerului. + *p: nmaxwidth && Latimea maxima vizibila a containerului. + *p: nnrobiecte && Numarul actual de obiecte din container. + *p: nnrobiectebottom && Numarul de obiecte care se afla sub linia de vizibilitate. + *p: nnrobiectetop && Numarul de obiecte care se afla deasupra liniei de vizibilitate. + *p: nnrobiectevizibile && Numarul maxim de obiecte vizibile la un moment dat. + *p: nwidthoffset && Distanta pe orizontala dintre doua obiecte. + * + + PROTECTED nnrobiectebottom,nnrobiectetop,nnrobiectevizibile + * + cultimulobiect = + Height = 250 + nactualheight = 0 + nactualwidth = 0 + Name = "_scrollcontainer" + nheightoffset = 0 + nmaxheight = 0 + nmaxwidth = 0 + nnrobiecte = 0 + nnrobiectebottom = 0 + nnrobiectetop = 0 + nnrobiectevizibile = 0 + nwidthoffset = 0 + Width = 409 + * + + ADD OBJECT 'But_jos1' AS but_jos WITH ; + Anchor = 8, ; + Left = 379, ; + Name = "But_jos1", ; + Top = 33, ; + Visible = .F. + *< END OBJECT: ClassLib="cmd_butoane.vcx" BaseClass="commandbutton" /> + + ADD OBJECT 'But_sus1' AS but_sus WITH ; + Anchor = 8, ; + Left = 379, ; + Name = "But_sus1", ; + Top = 4, ; + Visible = .F. + *< END OBJECT: ClassLib="cmd_butoane.vcx" BaseClass="commandbutton" /> + + PROCEDURE do_adaugaobiect && Adauga un obiect la container. + Lparameters tcNume,tcClasa,toHash + With This + If Type('toHash') <> 'O' + .AddObject(tcNume,tcClasa) + Else + .AddObject(tcNume,tcClasa,toHash) + EndIf + .nnrobiecte=.nnrobiecte+1 + .&tcNume..Top=.nactualheight+.nheightoffset + .&tcNume..Left=3 + .nactualheight=.&tcNume..Top+.&tcNume..Height + Do Case + Case .nnrobiecte-.nnrobiectetop>.nnrobiectevizibile + .but_jos1.Visible=.T. + Case .nnrobiecte<=.nnrobiectevizibile And .nnrobiectetop=0 + .nmaxheight=.nactualheight+.nheightoffset + .Height=.nmaxheight + Otherwise + .but_jos1.Visible=.F. + Endcase + .cultimulobiect=tcNume + Endwith + + ENDPROC + + PROCEDURE do_initializeaza + Lparameters tnNrObiecteVizibile,tnTop,tnLeft,tnWidth,tnDistantaVObiecte,tnDistantaOObiecte + If Type('tnDistantaVObiecte')<>'N' + tnDistantaVObiecte=0 + Endif + If Type('tnDistandaOObiecte')<>'N' + tnDistandaOObiecte=0 + Endif + + This.nnrobiectevizibile=tnNrObiecteVizibile + This.nheightoffset=tnDistantaVObiecte + This.nwidthoffset=tnDistandaOObiecte + This.Top=tnTop + This.Left=tnLeft + This.Width=tnWidth + This.BorderWidth=0 + ENDPROC + + PROCEDURE do_initializeazaobiect + Lparameters tcNume,tcClasa + With This + .AddObject(tcNume,tcClasa) + .nnrobiecte=.nnrobiecte+1 + .&tcNume..Top=.nactualheight+.nheightoffset + .&tcNume..Left=3 + .nactualheight=.&tcNume..Top+.&tcNume..Height + Do Case + Case .nnrobiecte=.nnrobiectevizibile + .nmaxheight=.nactualheight+.nheightoffset + Case .nnrobiecte>.nnrobiectevizibile + .but_jos1.Visible=.T. + .cultimulobiect=tcNume + Case .nnrobiectetop=0 + .nmaxheight=.&tcNume..Top+.&tcNume..Height + Endcase + Endwith + + ENDPROC + + PROCEDURE do_redimensioneaza + This.Height=This.nmaxheight + This.but_jos1.Left=This.Width-This.but_jos1.Width + This.but_sus1.Left=This.Width-This.but_sus1.Width + ENDPROC + + PROCEDURE do_scrolldown + With This + .nnrobiectetop=.nnrobiectetop+1 + lnMinTop=0 + For i=1 To .Objects.Count + With This.Objects(i) + If !Inlist(Upper(Alltrim(.Class)),[BUT_SUS],[BUT_JOS]) + .Top=.Top-.Height-This.nheightoffset + lnMinTop=Min(lnMinTop,.Top) + Endif + Endwith + Endfor + lcUltimulObiect=.cultimulobiect + .nactualheight=.&lcUltimulObiect..Top+.&lcUltimulObiect..Height + If lnMinTop<0 + .but_sus1.Visible=.T. + Endif + If .&lcUltimulObiect..Top<.nmaxheight + .but_jos1.Visible=.F. + Endif + Endwith + + ENDPROC + + PROCEDURE do_scrollup + With This + .nnrobiectetop=.nnrobiectetop-1 + lnMaxTop=0 + lnMinTop=.nmaxheight + For i=1 To .Objects.Count + With .Objects(i) + If !Inlist(Upper(Alltrim(.Class)),[BUT_SUS],[BUT_JOS]) + .Top=.Top+.Height+This.nheightoffset + lnMinTop=Min(lnMinTop,.Top) + lnMaxTop=Max(lnMaxTop,.Top+.Height) + Endif + Endwith + Endfor + lcUltimulObiect=.cultimulobiect + With .&lcUltimulObiect. + This.nactualheight=.Top+.Height + Endwith + If lnMaxTop>.nmaxheight + .but_jos1.Visible=.T. + Else + .but_jos1.Visible=.F. + Endif + If lnMinTop>0 + .but_sus1.Visible=.F. + Else + .but_sus1.Visible=.T. + Endif + Endwith + + ENDPROC + + PROCEDURE do_stergeobiect && Sterge un obiect din container. + Lparameters tcNume + With This + lcUltimulObiect=[] + lnMaxHeight=Iif(.nnrobiecte>1,-50000,0) + lnTopObiectSters=.&tcNume..Top + lnHeightObiectSters=.&tcNume..Height + .RemoveObject(tcNume) + For i=1 To .Objects.Count + With .Objects(i) + If !Inlist(Upper(Alltrim(.Class)),[BUT_SUS],[BUT_JOS]) + If Between(lnTopObiectSters,0,.Top) + .Top=.Top-lnHeightObiectSters-This.nheightoffset + Else + If Between(lnTopObiectSters,.Top,0) + .Top=.Top+lnHeightObiectSters+This.nheightoffset + Endif + Endif + If .Top+.Height>lnMaxHeight + lcUltimulObiect=.Name + lnMaxHeight=.Top+.Height + Endif + Endif + Endwith + Endfor + .nnrobiectetop=.nnrobiectetop+Iif(lnTopObiectSters<0,-1,0) + .nnrobiecte=.nnrobiecte-1 + .nactualheight = lnMaxHeight + If Type("this."+.cultimulobiect)='U' + .cultimulobiect=lcUltimulObiect + Endif + If .nnrobiectetop=0 + .but_sus1.Visible=.F. + Endif + If .nnrobiecte<=.nnrobiectevizibile+.nnrobiectetop + .but_jos1.Visible=.F. + Endif + Endwith + + ENDPROC + + PROCEDURE Init + Lparameters tnNrObiecteVizibile,tnTop,tnLeft,tnWidth,tnDistantaVObiecte,tnDistantaOObiecte + DoDefault() + This.do_initializeaza(tnNrObiecteVizibile,tnTop,tnLeft,tnWidth,tnDistantaVObiecte,tnDistantaOObiecte) + This.do_redimensioneaza() + ENDPROC + + PROCEDURE MouseWheel + Lparameters nDirection, nShift, nXCoord, nYCoord + If nDirection>0 And This.but_sus1.Visible + This.do_scrollup + Endif + If nDirection<0 And This.but_jos1.Visible + This.do_scrolldown + Endif + + ENDPROC + + PROCEDURE Resize + DoDefault() + This.do_redimensioneaza() + + ENDPROC + +ENDDEFINE + +DEFINE CLASS _scrollcontainer1201 AS _container OF "_baza.vcx" + *< CLASSDATA: Baseclass="container" Timestamp="" Scale="Pixels" Uniqueid="" /> + + *-- OBJECTDATA items order determines ZOrder / El orden de los items OBJECTDATA determina el ZOrder + *< OBJECTDATA: ObjPath="But_sus1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="But_jos1" UniqueID="" Timestamp="" /> + + * + *m: do_adaugaobiect && Adauga un obiect la container. + *m: do_initializeaza + *m: do_redimensioneaza + *m: do_scrolldown + *m: do_scrollup + *m: do_stergeobiect && Sterge un obiect din container. + *p: cultimulobiect && Numele ultimului obiect adaugat. + *p: nactualheight && Distanta de la marginea de sus a ferestrei pana la marginea inferioara a celui mai de jos obiect. + *p: nactualwidth && Distanta de la marginea din stanga a ferestrei pana la marginea din dreapta a celui mai din dreapta obiect. + *p: nheightoffset && Distanta pe verticala dintre doua obiecte. + *p: nmaxheight && Inaltimea maxima vizibila a containerului. + *p: nmaxwidth && Latimea maxima vizibila a containerului. + *p: nnrobiecte && Numarul actual de obiecte din container. + *p: nnrobiectetop && Numarul de obiecte care se afla deasupra liniei de vizibilitate. + *p: nnrobiectevizibile && Numarul maxim de obiecte vizibile la un moment dat. + *p: nwidthoffset && Distanta pe orizontala dintre doua obiecte. + * + + * + cultimulobiect = + Height = 250 + nactualheight = 0 + nactualwidth = 0 + Name = "_scrollcontainer" + nheightoffset = 0 + nmaxheight = 0 + nmaxwidth = 0 + nnrobiecte = 0 + nnrobiectetop = 0 + nnrobiectevizibile = 0 + nwidthoffset = 0 + Width = 409 + * + + ADD OBJECT 'But_jos1' AS but_jos WITH ; + Anchor = 8, ; + Left = 379, ; + Name = "But_jos1", ; + Top = 33, ; + Visible = .F. + *< END OBJECT: ClassLib="cmd_butoane.vcx" BaseClass="commandbutton" /> + + ADD OBJECT 'But_sus1' AS but_sus WITH ; + Anchor = 8, ; + Left = 379, ; + Name = "But_sus1", ; + Top = 4, ; + Visible = .F. + *< END OBJECT: ClassLib="cmd_butoane.vcx" BaseClass="commandbutton" /> + + PROCEDURE do_adaugaobiect && Adauga un obiect la container. + Lparameters tcNume,tcClasa + With This + .AddObject(tcNume,tcClasa) + .nnrobiecte=.nnrobiecte+1 + && .nactualheight se modifica la stergere + *!* STRTOFILE("Adaugat obiect>> Actual height:"+ALLTRIM(STR(.nactualheight)),"C:\startroa.txt",1) + .&tcNume..Top=.nactualheight+.nheightoffset + .&tcNume..Left=3 + *!* .&tcNume..AddProperty("nordine_container",.nnrobiecte) + .nactualheight=.&tcNume..Top+.&tcNume..Height + *!* STRTOFILE("; Top:"+ALLTRIM(STR(.&tcNume..Top))+"; nr.obiecte:"+ALLTRIM(STR(.nnrobiecte))+; + *!* "; Actual height:"+ALLTRIM(STR(.nactualheight))+CHR(13)+CHR(10),"C:\startroa.txt",1) + Do Case + Case .nnrobiecte=.nnrobiectevizibile + .nmaxheight=.nactualheight+.nheightoffset + Case .nnrobiecte>.nnrobiectevizibile + .but_jos1.Visible=.T. + .cultimulobiect=tcNume + Case .nnrobiectetop=0 + .nmaxheight=.&tcNume..Top+.&tcNume..Height + *!* Case .nnrobiecte=.nnrobiectevizibile-.nnrobiectetop + *!* .nmaxheight=.nactualheight+.nheightoffset + *!* Case .nnrobiecte-.nnrobiectetop>.nnrobiectevizibile + *!* .but_jos1.Visible=.T. + *!* .cultimulobiect=tcNume + *!* Case .nnrobiecte>.nnrobiectevizibile + *!* .but_jos1.Visible=.T. + *!* .cultimulobiect=tcNume + *!* Case .nnrobiectetop=0 + *!* .nmaxheight=.&tcNume..Top+.&tcNume..Height + Endcase + *!* If .nactualheight>.nmaxheight + *!* *!* .&tcNume..Visible=.F. + *!* .but_jos1.Visible=.T. + *!* *!* Else + *!* Endif + Endwith + + ENDPROC + + PROCEDURE do_initializeaza + Lparameters tnNrObiecteVizibile,tnDistantaVObiecte,tnDistantaOObiecte + If Type('tnDistantaVObiecte')='U' + tnDistantaVObiecte=0 + Endif + If Type('tnDistandaOObiecte')='U' + tnDistandaOObiecte=0 + Endif + + This.nnrobiectevizibile=tnNrObiecteVizibile + This.nheightoffset=tnDistantaVObiecte + This.nwidthoffset=tnDistandaOObiecte + This.BorderWidth=0 + ENDPROC + + PROCEDURE do_redimensioneaza + This.Height=This.nmaxheight + This.but_jos1.Left=This.Width-This.but_jos1.Width + This.but_sus1.Left=This.Width-This.but_sus1.Width + ENDPROC + + PROCEDURE do_scrolldown + With This + .nnrobiectetop=.nnrobiectetop+1 + lnMinTop=0 + For i=1 To .Objects.Count + With This.Objects(i) + If !Inlist(Upper(Alltrim(.Class)),[BUT_SUS],[BUT_JOS]) + .Top=.Top-.Height-This.nheightoffset + lnMinTop=Min(lnMinTop,.Top) + Endif + Endwith + Endfor + lcUltimulObiect=.cultimulobiect + .nactualheight=.&lcUltimulObiect..Top+.&lcUltimulObiect..Height + If lnMinTop<0 + .but_sus1.Visible=.T. + Endif + If .&lcUltimulObiect..Top<.nmaxheight + .but_jos1.Visible=.F. + Endif + Endwith + + ENDPROC + + PROCEDURE do_scrollup + With This + .nnrobiectetop=.nnrobiectetop-1 + lnMaxTop=0 + lnMinTop=.nmaxheight + For i=1 To .Objects.Count + With .Objects(i) + If !Inlist(Upper(Alltrim(.Class)),[BUT_SUS],[BUT_JOS]) + .Top=.Top+.Height+This.nheightoffset + lnMinTop=Min(lnMinTop,.Top) + lnMaxTop=Max(lnMaxTop,.Top+.Height) + Endif + Endwith + Endfor + lcUltimulObiect=.cultimulobiect + With .&lcUltimulObiect. + This.nactualheight=.Top+.Height + Endwith + If lnMaxTop>.nmaxheight + .but_jos1.Visible=.T. + Else + .but_jos1.Visible=.F. + Endif + If lnMinTop>0 + .but_sus1.Visible=.F. + Else + .but_sus1.Visible=.T. + Endif + Endwith + + ENDPROC + + PROCEDURE do_stergeobiect && Sterge un obiect din container. + Lparameters tcNume + With This + lnMaxHeight=0 + lnTopObiectSters=.&tcNume..Top + lnHeightObiectSters=.&tcNume..Height + lcPenultimulObiect=[] + lnNrObiecteInvizibile=0 + .RemoveObject(tcNume) + For i=1 To .Objects.Count + With .Objects(i) + If !Inlist(Upper(Alltrim(.Class)),[BUT_SUS],[BUT_JOS]) + If .Top>lnTopObiectSters + .Top=.Top-lnHeightObiectSters-This.nheightoffset + Else + If .Top<0 + lnNrObiecteInvizibile=lnNrObiecteInvizibile+1 + Endif + Endif + *!* *!* If .Top+.Height>lnMaxHeight + *!* *!* lnMaxHeight=.Top+.Height + *!* *!* ENDIF + *!* If .nordine_container=This.nnrobiecte-1 + *!* lcUltimulObiect=.Name + *!* lnMaxHeight=.Top+.Height + *!* Endif + If This.nactualheight-lnHeightObiectSters-This.nheightoffset=.Top+.Height + lcPenultimulObiect=.Name + lnMaxHeight=.Top+.Height + Endif + Endif + Endwith + Endfor + .nnrobiecte=.nnrobiecte-1 + .nactualheight = lnMaxHeight + If Type("this."+.cultimulobiect)='U' + .cultimulobiect=lcPenultimulObiect + Endif + *!* STRTOFILE("Sters obiect>> Top:"+ALLTRIM(STR(lnTopObiectSters))+"; nr.obiecte ramase:"+ALLTRIM(STR(.nnrobiecte))+; + *!* "; Actual height:"+ALLTRIM(STR(.nactualheight))+CHR(13)+CHR(10),"C:\startroa.txt",1) + If .nnrobiecte=.nnrobiectevizibile And lnNrObiecteInvizibile=0 + .but_jos1.Visible=.F. + .but_sus1.Visible=.F. + Endif + Endwith + + ENDPROC + + PROCEDURE Init + Lparameters tnNrObiecteVizibile,tnDistantaVObiecte,tnDistantaOObiecte + DoDefault() + This.do_initializeaza(tnNrObiecteVizibile,tnDistantaVObiecte,tnDistantaOObiecte) + ENDPROC + + PROCEDURE MouseWheel + Lparameters nDirection, nShift, nXCoord, nYCoord + If nDirection>0 And This.but_sus1.Visible + This.do_scrollup + Endif + If nDirection<0 And This.but_jos1.Visible + This.do_scrolldown + Endif + + ENDPROC + + PROCEDURE Resize + DoDefault() + This.do_redimensioneaza() + + ENDPROC + +ENDDEFINE + +DEFINE CLASS _scrollcontainer1301 AS _container OF "_baza.vcx" + *< CLASSDATA: Baseclass="container" Timestamp="" Scale="Pixels" Uniqueid="" /> + + *-- OBJECTDATA items order determines ZOrder / El orden de los items OBJECTDATA determina el ZOrder + *< OBJECTDATA: ObjPath="But_sus1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="But_jos1" UniqueID="" Timestamp="" /> + + * + *m: do_adaugaobiect && Adauga un obiect la container. + *m: do_initializeaza + *m: do_initializeazaobiect + *m: do_redimensioneaza + *m: do_scrolldown + *m: do_scrollup + *m: do_stergeobiect && Sterge un obiect din container. + *p: cultimulobiect && Numele ultimului obiect adaugat. + *p: nactualheight && Distanta de la marginea de sus a ferestrei pana la marginea inferioara a celui mai de jos obiect. + *p: nactualwidth && Distanta de la marginea din stanga a ferestrei pana la marginea din dreapta a celui mai din dreapta obiect. + *p: nheightoffset && Distanta pe verticala dintre doua obiecte. + *p: nmaxheight && Inaltimea maxima vizibila a containerului. + *p: nmaxwidth && Latimea maxima vizibila a containerului. + *p: nnrobiecte && Numarul actual de obiecte din container. + *p: nnrobiectebottom && Numarul de obiecte care se afla sub linia de vizibilitate. + *p: nnrobiectetop && Numarul de obiecte care se afla deasupra liniei de vizibilitate. + *p: nnrobiectevizibile && Numarul maxim de obiecte vizibile la un moment dat. + *p: nwidthoffset && Distanta pe orizontala dintre doua obiecte. + * + + PROTECTED nnrobiectebottom,nnrobiectetop,nnrobiectevizibile + * + cultimulobiect = + Height = 250 + nactualheight = 0 + nactualwidth = 0 + Name = "_scrollcontainer" + nheightoffset = 0 + nmaxheight = 0 + nmaxwidth = 0 + nnrobiecte = 0 + nnrobiectebottom = 0 + nnrobiectetop = 0 + nnrobiectevizibile = 0 + nwidthoffset = 0 + Width = 409 + * + + ADD OBJECT 'But_jos1' AS but_jos WITH ; + Anchor = 8, ; + Left = 379, ; + Name = "But_jos1", ; + Top = 33, ; + Visible = .F. + *< END OBJECT: ClassLib="cmd_butoane.vcx" BaseClass="commandbutton" /> + + ADD OBJECT 'But_sus1' AS but_sus WITH ; + Anchor = 8, ; + Left = 379, ; + Name = "But_sus1", ; + Top = 4, ; + Visible = .F. + *< END OBJECT: ClassLib="cmd_butoane.vcx" BaseClass="commandbutton" /> + + PROCEDURE do_adaugaobiect && Adauga un obiect la container. + Lparameters tcNume,tcClasa + With This + .AddObject(tcNume,tcClasa) + .nnrobiecte=.nnrobiecte+1 + .&tcNume..Top=.nactualheight+.nheightoffset + .&tcNume..Left=3 + .nactualheight=.&tcNume..Top+.&tcNume..Height + Do Case + Case .nnrobiecte-.nnrobiectetop>.nnrobiectevizibile + .but_jos1.Visible=.T. + Case .nnrobiecte<=.nnrobiectevizibile + .nmaxheight=.nactualheight+.nheightoffset + .Height=.nmaxheight + Otherwise + .but_jos1.Visible=.F. + Endcase + .cultimulobiect=tcNume + Endwith + + ENDPROC + + PROCEDURE do_initializeaza + Lparameters tnNrObiecteVizibile,tnTop,tnLeft,tnWidth,tnDistantaVObiecte,tnDistantaOObiecte + If Type('tnDistantaVObiecte')<>'N' + tnDistantaVObiecte=0 + Endif + If Type('tnDistandaOObiecte')<>'N' + tnDistandaOObiecte=0 + Endif + + This.nnrobiectevizibile=tnNrObiecteVizibile + This.nheightoffset=tnDistantaVObiecte + This.nwidthoffset=tnDistandaOObiecte + This.Top=tnTop + This.Left=tnLeft + This.Width=tnWidth + This.BorderWidth=0 + ENDPROC + + PROCEDURE do_initializeazaobiect + Lparameters tcNume,tcClasa + With This + .AddObject(tcNume,tcClasa) + .nnrobiecte=.nnrobiecte+1 + .&tcNume..Top=.nactualheight+.nheightoffset + .&tcNume..Left=3 + .nactualheight=.&tcNume..Top+.&tcNume..Height + Do Case + Case .nnrobiecte=.nnrobiectevizibile + .nmaxheight=.nactualheight+.nheightoffset + Case .nnrobiecte>.nnrobiectevizibile + .but_jos1.Visible=.T. + .cultimulobiect=tcNume + Case .nnrobiectetop=0 + .nmaxheight=.&tcNume..Top+.&tcNume..Height + Endcase + Endwith + + ENDPROC + + PROCEDURE do_redimensioneaza + This.Height=This.nmaxheight + This.but_jos1.Left=This.Width-This.but_jos1.Width + This.but_sus1.Left=This.Width-This.but_sus1.Width + ENDPROC + + PROCEDURE do_scrolldown + With This + .nnrobiectetop=.nnrobiectetop+1 + *!* .nnrobiectebottom=.nnrobiectebottom-1 + lnMinTop=0 + For i=1 To .Objects.Count + With This.Objects(i) + If !Inlist(Upper(Alltrim(.Class)),[BUT_SUS],[BUT_JOS]) + .Top=.Top-.Height-This.nheightoffset + lnMinTop=Min(lnMinTop,.Top) + Endif + Endwith + Endfor + lcUltimulObiect=.cultimulobiect + .nactualheight=.&lcUltimulObiect..Top+.&lcUltimulObiect..Height + If lnMinTop<0 + .but_sus1.Visible=.T. + Endif + If .&lcUltimulObiect..Top<.nmaxheight + .but_jos1.Visible=.F. + Endif + Endwith + + ENDPROC + + PROCEDURE do_scrollup + With This + .nnrobiectetop=.nnrobiectetop-1 + *!* .nnrobiectebottom=.nnrobiectebottom+1 + lnMaxTop=0 + lnMinTop=.nmaxheight + For i=1 To .Objects.Count + With .Objects(i) + If !Inlist(Upper(Alltrim(.Class)),[BUT_SUS],[BUT_JOS]) + .Top=.Top+.Height+This.nheightoffset + lnMinTop=Min(lnMinTop,.Top) + lnMaxTop=Max(lnMaxTop,.Top+.Height) + Endif + Endwith + Endfor + lcUltimulObiect=.cultimulobiect + With .&lcUltimulObiect. + This.nactualheight=.Top+.Height + Endwith + If lnMaxTop>.nmaxheight + .but_jos1.Visible=.T. + Else + .but_jos1.Visible=.F. + Endif + If lnMinTop>0 + .but_sus1.Visible=.F. + Else + .but_sus1.Visible=.T. + Endif + Endwith + + ENDPROC + + PROCEDURE do_stergeobiect && Sterge un obiect din container. + Lparameters tcNume + With This + lnMaxHeight=0 + lnTopObiectSters=.&tcNume..Top + lnHeightObiectSters=.&tcNume..Height + lcPenultimulObiect=[] + lnNrObiecteInvizibile=0 + .RemoveObject(tcNume) + For i=1 To .Objects.Count + With .Objects(i) + If !Inlist(Upper(Alltrim(.Class)),[BUT_SUS],[BUT_JOS]) + If .Top>lnTopObiectSters + .Top=.Top-lnHeightObiectSters-This.nheightoffset + Else + If .Top<0 + lnNrObiecteInvizibile=lnNrObiecteInvizibile+1 + Endif + Endif + If This.nactualheight-lnHeightObiectSters-This.nheightoffset=.Top+.Height + lcPenultimulObiect=.Name + lnMaxHeight=.Top+.Height + Endif + Endif + Endwith + Endfor + .nnrobiecte=.nnrobiecte-1 + .nactualheight = lnMaxHeight + If Type("this."+.cultimulobiect)='U' + .cultimulobiect=lcPenultimulObiect + Endif + If .nnrobiecte=.nnrobiectevizibile And lnNrObiecteInvizibile=0 + .but_jos1.Visible=.F. + .but_sus1.Visible=.F. + Endif + Endwith + + ENDPROC + + PROCEDURE Init + Lparameters tnNrObiecteVizibile,tnTop,tnLeft,tnWidth,tnDistantaVObiecte,tnDistantaOObiecte + DoDefault() + This.do_initializeaza(tnNrObiecteVizibile,tnTop,tnLeft,tnWidth,tnDistantaVObiecte,tnDistantaOObiecte) + This.do_redimensioneaza() + ENDPROC + + PROCEDURE MouseWheel + Lparameters nDirection, nShift, nXCoord, nYCoord + If nDirection>0 And This.but_sus1.Visible + This.do_scrollup + Endif + If nDirection<0 And This.but_jos1.Visible + This.do_scrolldown + Endif + + ENDPROC + + PROCEDURE Resize + DoDefault() + This.do_redimensioneaza() + + ENDPROC + +ENDDEFINE + +DEFINE CLASS _scrollcontainer_col AS _container OF "_baza.vcx" + *< CLASSDATA: Baseclass="container" Timestamp="" Scale="Pixels" Uniqueid="" /> + + *-- OBJECTDATA items order determines ZOrder / El orden de los items OBJECTDATA determina el ZOrder + *< OBJECTDATA: ObjPath="But_sus1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="But_jos1" UniqueID="" Timestamp="" /> + + * + *m: do_adaugaobiect && Adauga un obiect la container. + *m: do_cauta + *m: do_cautaobiect + *m: do_initializeaza + *m: do_initializeazaobiect + *m: do_redimensioneaza + *m: do_scrolldown + *m: do_scrollup + *m: do_stergeobiect && Sterge un obiect din container. + *m: do_stergeobiecte + *p: cultimulobiect && Numele ultimului obiect adaugat. + *p: lcoloanemultiple && .T. - daca obiectele sunt aranjate pe mai multe coloane ( in functie de nmaxwidth si de nwidthoffset ) + *p: nactualheight && Distanta de la marginea de sus a ferestrei pana la marginea inferioara a celui mai de jos obiect. + *p: nactualwidth && Distanta de la marginea din stanga a ferestrei pana la marginea din dreapta a celui mai din dreapta obiect. + *p: nheightoffset && Distanta pe verticala dintre doua obiecte. + *p: nmaxheight && Inaltimea maxima vizibila a containerului. + *p: nmaxwidth && Latimea maxima vizibila a containerului. + *p: nnrranduri && Numarul actual de randuri din container. + *p: nnrranduribottom && Numarul de randuri care se afla sub linia de vizibilitate. + *p: nnrranduritop && Numarul de randuri care se afla deasupra liniei de vizibilitate. + *p: nnrrandurivizibile && Numarul maxim de randuri vizibile la un moment dat. + *p: nwidthoffset && Distanta pe orizontala dintre doua obiecte. + * + + PROTECTED nactualheight,nactualwidth,nmaxheight,nmaxwidth,nnrranduri,nnrranduribottom,nnrranduritop + * + cultimulobiect = + Height = 250 + lcoloanemultiple = .F. + nactualheight = 0 + nactualwidth = 0 + Name = "_scrollcontainer_col" + nheightoffset = 0 + nmaxheight = 0 + nmaxwidth = 0 + nnrranduri = 0 + nnrranduribottom = 0 + nnrranduritop = 0 + nnrrandurivizibile = 0 + nwidthoffset = 0 + Width = 409 + * + + ADD OBJECT 'But_jos1' AS but_jos WITH ; + Left = 379, ; + Name = "But_jos1", ; + Top = 33, ; + Visible = .F. + *< END OBJECT: ClassLib="cmd_butoane.vcx" BaseClass="commandbutton" /> + + ADD OBJECT 'But_sus1' AS but_sus WITH ; + Left = 379, ; + Name = "But_sus1", ; + Top = 4, ; + Visible = .F. + *< END OBJECT: ClassLib="cmd_butoane.vcx" BaseClass="commandbutton" /> + + PROCEDURE do_adaugaobiect && Adauga un obiect la container. + Lparameters tcNume,tcClasa,toHash + With This + If Type('toHash') <> 'O' + .AddObject(tcNume,tcClasa) + Else + .AddObject(tcNume,tcClasa,toHash) + Endif + + If .lcoloanemultiple And .nactualwidth + .nwidthoffset + .&tcNume..Width <= .nmaxwidth AND .nactualwidth <> .nwidthoffset + .&tcNume..Left=.nactualwidth + .nwidthoffset + Else + .&tcNume..Left = .nwidthoffset + .nactualheight = .nactualheight + IIF(.nnrranduri=0,0,.&tcNume..Height+.nheightoffset) + .nnrranduri = .nnrranduri + 1 + Endif + .nactualwidth = .&tcNume..Left + .&tcNume..Width + .&tcNume..Top = .nactualheight + If Pemstatus(.&tcNume.,[nnrrandsccont],5) + .&tcNume..nnrrandsccont = .nnrranduri + Else + AddProperty(.&tcNume.,[nnrrandsccont],.nnrranduri) + Endif + Do Case + Case .nnrranduri-.nnrranduritop>.nnrrandurivizibile + .but_jos1.Visible=.T. + Case .nnrranduri<=.nnrrandurivizibile And .nnrranduritop=0 + .nmaxheight = .nactualheight + IIF(.nnrranduri=0,0,.&tcNume..Height+.nheightoffset) + .Height=.nmaxheight + Otherwise + .but_jos1.Visible=.F. + Endcase + .cultimulobiect=tcNume + Endwith + ENDPROC + + PROCEDURE do_cauta + Lparameters tnTip,tcCriteriu,tcClasa + *!* tnTip = 1 - este + *!* 2 - incepe cu ... + Local lcObiect,lcConditieC + Do Case + Case tnTip = 1 + lcConditieC = [UPPER(This.Objects(i).Caption) = '] + Upper(tcCriteriu) + ['] + Case tnTip = 2 + lcConditieC = [UPPER(SUBSTR(This.Objects(i).Caption,1,] + Alltrim(Str(Len(tcCriteriu))) + [)) = ] + ; + ['] + Upper(tcCriteriu) + ['] + Endcase + For i = 1 To This.Objects.Count + If Upper(This.Objects(i).Class) = Upper(tcClasa) + If Evaluate(lcConditieC) + lcObiect = This.Objects(i).Name + Exit + Endif + Endif + Endfor + If !Empty(lcObiect) + This.do_cautaobiect(lcObiect) + Else + amessagebox("Nu exista rezultate!",48,"Atentie") + Endif + ENDPROC + + PROCEDURE do_cautaobiect + Lparameters tcNumeObiect + Local lnNrRand,llVizibil + lnNrRand = Evaluate([This.] + tcNumeObiect + [.nnrrandsccont]) + llVizibil = This.Visible + IF llVizibil + This.Visible = !llVizibil + ENDIF + Do While .T. + Do Case + Case lnNrRand < This.nnrranduritop + 1 + This.do_scrollup() + Case lnNrRand > This.nnrranduritop + 1 + This.do_scrolldown() + Otherwise + This.&tcNumeObiect..SetFocus() + Exit + Endcase + Enddo + IF llVizibil + This.Visible = llVizibil + ENDIF + ENDPROC + + PROCEDURE do_initializeaza + Lparameters tnNrRanduriVizibile,tnTop,tnLeft,tnWidth,tnDistantaVObiecte,tnDistantaOObiecte + If Type('tnDistantaVObiecte')<>'N' + tnDistantaVObiecte=0 + Endif + If Type('tnDistandaOObiecte')<>'N' + tnDistandaOObiecte=0 + Endif + + This.nnrrandurivizibile=tnNrRanduriVizibile + This.nheightoffset=tnDistantaVObiecte + This.nwidthoffset=tnDistantaOObiecte + This.nactualheight = This.nheightoffset + This.nactualwidth = This.nwidthoffset + This.Top=tnTop + This.Left=tnLeft + This.Width=tnWidth + This.BorderWidth=0 + ENDPROC + + PROCEDURE do_initializeazaobiect + Lparameters tcNume,tcClasa,toHash + With This + If Type('toHash') <> 'O' + .AddObject(tcNume,tcClasa) + Else + .AddObject(tcNume,tcClasa,toHash) + Endif + + *!* am pus .nmaxwidth in loc de .Width + If .lcoloanemultiple And .nactualwidth + .nwidthoffset + .&tcNume..Width <= .nmaxwidth AND .nactualwidth <> .nwidthoffset + .&tcNume..Left=.nactualwidth + .nwidthoffset + Else + .&tcNume..Left = .nwidthoffset + .nactualheight = .nactualheight + IIF(.nnrranduri=0,0,.&tcNume..Height+.nheightoffset) + .nnrranduri = .nnrranduri + 1 + Endif + .nactualwidth = .&tcNume..Left + .&tcNume..Width + .&tcNume..Top = .nactualheight + Do Case + Case .nnrranduri-.nnrranduritop>.nnrrandurivizibile + .but_jos1.Visible=.T. + Case .nnrranduri<=.nnrrandurivizibile And .nnrranduritop=0 + .nmaxheight = .nactualheight + IIF(.nnrranduri=0,0,.&tcNume..Height+.nheightoffset) + .Height=.nmaxheight + Otherwise + .but_jos1.Visible=.F. + Endcase + + *!* Do Case + *!* Case .nnrobiecte=.nnrrandurivizibile + *!* .nmaxheight=.nactualheight+.nheightoffset + *!* Case .nnrobiecte>.nnrrandurivizibile + *!* .but_jos1.Visible=.T. + *!* .cultimulobiect=tcNume + *!* Case .nnrobiectetop=0 + *!* .nmaxheight=.&tcNume..Top+.&tcNume..Height + *!* Endcase + Endwith + + ENDPROC + + PROCEDURE do_redimensioneaza + This.Height=This.nmaxheight + This.but_jos1.Left=This.Width-This.but_jos1.Width-FLOOR(This.but_jos1.Width/9) + This.but_sus1.Left=This.Width-This.but_sus1.Width-FLOOR(This.but_sus1.Width/9) + This.nmaxwidth = This.but_sus1.Left + ENDPROC + + PROCEDURE do_scrolldown + With This + .nnrranduritop=.nnrranduritop+1 + lnMinTop=0 + For i=1 To .Objects.Count + With This.Objects(i) + If !Inlist(Upper(Alltrim(.Class)),[BUT_SUS],[BUT_JOS]) + .Top=.Top-.Height-This.nheightoffset + lnMinTop=Min(lnMinTop,.Top) + Endif + Endwith + Endfor + lcUltimulObiect=.cultimulobiect + .nactualheight = .&lcUltimulObiect..Top + .&lcUltimulObiect..Height + If lnMinTop<0 + .but_sus1.Visible=.T. + Endif + If .&lcUltimulObiect..Top<.nmaxheight + .but_jos1.Visible=.F. + Endif + Endwith + + ENDPROC + + PROCEDURE do_scrollup + With This + .nnrranduritop=.nnrranduritop-1 + lnMaxTop=0 + lnMinTop=.nmaxheight + For i=1 To .Objects.Count + With .Objects(i) + If !Inlist(Upper(Alltrim(.Class)),[BUT_SUS],[BUT_JOS]) + .Top=.Top+.Height+This.nheightoffset + lnMinTop=Min(lnMinTop,.Top) + lnMaxTop=Max(lnMaxTop,.Top+.Height) + Endif + Endwith + Endfor + lcUltimulObiect=.cultimulobiect + With .&lcUltimulObiect. + This.nactualheight=.Top+.Height + Endwith + If lnMaxTop>.nmaxheight + .but_jos1.Visible=.T. + Else + .but_jos1.Visible=.F. + Endif + If lnMinTop>0 + .but_sus1.Visible=.F. + Else + .but_sus1.Visible=.T. + Endif + Endwith + + ENDPROC + + PROCEDURE do_stergeobiect && Sterge un obiect din container. + *!* Lparameters tcNume + *!* With This + *!* lcUltimulObiect=[] + *!* lnMaxHeight=Iif(.nnrobiecte>1,-50000,0) + *!* lnTopObiectSters=.&tcNume..Top + *!* lnHeightObiectSters=.&tcNume..Height + *!* .RemoveObject(tcNume) + *!* For i=1 To .Objects.Count + *!* With .Objects(i) + *!* If !Inlist(Upper(Alltrim(.Class)),[BUT_SUS],[BUT_JOS]) + *!* If Between(lnTopObiectSters,0,.Top) + *!* .Top=.Top-lnHeightObiectSters-This.nheightoffset + *!* Else + *!* If Between(lnTopObiectSters,.Top,0) + *!* .Top=.Top+lnHeightObiectSters+This.nheightoffset + *!* Endif + *!* Endif + *!* If .Top+.Height>lnMaxHeight + *!* lcUltimulObiect=.Name + *!* lnMaxHeight=.Top+.Height + *!* Endif + *!* Endif + *!* Endwith + *!* Endfor + *!* .nnrobiectetop=.nnrobiectetop+Iif(lnTopObiectSters<0,-1,0) + *!* .nnrobiecte=.nnrobiecte-1 + *!* .nactualheight = lnMaxHeight + *!* If Type("this."+.cultimulobiect)='U' + *!* .cultimulobiect=lcUltimulObiect + *!* Endif + *!* If .nnrobiectetop=0 + *!* .but_sus1.Visible=.F. + *!* Endif + *!* If .nnrobiecte<=.nnrrandurivizibile+.nnrobiectetop + *!* .but_jos1.Visible=.F. + *!* Endif + *!* Endwith + + ENDPROC + + PROCEDURE do_stergeobiecte + Lparameters tcClasaObiect + Local i,j + j = 0 + With This + Dimension laObiecte[.Objects.Count] + For i=1 To .Objects.Count + With .Objects(i) + If Upper(Alltrim(.Class)) = Upper(Alltrim(tcClasaObiect)) + j = j + 1 + laObiecte[j] = Upper(.Name) + Endif + Endwith + Endfor + Endwith + For i = 1 To j + This.RemoveObject(laObiecte[i]) + Endfor + *!* resetare + This.nactualheight = This.nheightoffset + This.nactualwidth = This.nwidthoffset + This.nmaxheight = 0 + This.but_jos1.Visible = .F. + This.but_sus1.Visible = .F. + This.nnrranduri = 0 + This.nnrranduritop = 0 + RELEASE laObiecte + ENDPROC + + PROCEDURE Init + Lparameters tnNrRanduriVizibile,tnTop,tnLeft,tnWidth,tnDistantaVObiecte,tnDistantaOObiecte + DoDefault() + tnNrRanduriVizibile = Iif(Empty(tnNrRanduriVizibile),This.nnrrandurivizibile,tnNrRanduriVizibile) + tnTop = Iif(Empty(tnTop),This.Top,tnTop) + tnLeft = Iif(Empty(tnLeft),This.Left,tnLeft) + tnWidth = Iif(Empty(tnWidth),This.Width,tnWidth) + tnDistantaVObiecte = Iif(Empty(tnDistantaVObiecte),This.nwidthoffset,tnDistantaVObiecte) + tnDistantaOObiecte = Iif(Empty(tnDistantaOObiecte),This.nheightoffset,tnDistantaOObiecte) + This.do_initializeaza(tnNrRanduriVizibile,tnTop,tnLeft,tnWidth,tnDistantaVObiecte,tnDistantaOObiecte) + This.do_redimensioneaza() + ENDPROC + + PROCEDURE MouseWheel + Lparameters nDirection, nShift, nXCoord, nYCoord + If nDirection>0 And This.but_sus1.Visible + This.do_scrollup + Endif + If nDirection<0 And This.but_jos1.Visible + This.do_scrolldown + Endif + + ENDPROC + + PROCEDURE Resize + DoDefault() + This.do_redimensioneaza() + + ENDPROC + +ENDDEFINE diff --git a/clase/serii_numere.vc2 b/clase/serii_numere.vc2 new file mode 100644 index 0000000..476cd8c --- /dev/null +++ b/clase/serii_numere.vc2 @@ -0,0 +1,3316 @@ +*-------------------------------------------------------------------------------------------------------------------------------------------------------- +* (EN) AUTOGENERATED - ATTENTION!! - NOT INTENDED FOR EXECUTION!! USE ONLY FOR MERGING CHANGES AND STORING WITH SCM TOOLS!! +*-------------------------------------------------------------------------------------------------------------------------------------------------------- +*< FOXBIN2PRG: Version="1.21" SourceFile="serii_numere.vcx" CPID="1252" /> (Solo para binarios VFP 9 / Only for VFP 9 binaries) +* +* +DEFINE CLASS clb_serie_act AS _container OF "_baza.vcx" + *< CLASSDATA: Baseclass="container" Timestamp="" Scale="Pixels" Uniqueid="" /> + + *-- OBJECTDATA items order determines ZOrder / El orden de los items OBJECTDATA determina el ZOrder + *< OBJECTDATA: ObjPath="Text_simplu1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="_cbbase1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="_lbbase1" UniqueID="" Timestamp="" /> + + #INCLUDE "..\..\program files\microsoft visual foxpro 8\foxpro.h" + * + *m: do_initializeaza + *m: genereazanumar + *p: cvariabila && Proprietatea din 'pcobj' corespunzatoare campului de serie. + *p: cvariabiladoc && Proprietatea din 'pcobj' corespunzatoare campului de nr. doc. + *p: nid_tipdoc + *p: ntip && 0 - serie din baza de date;1 - serie manuala + *p: pcobj + *p: _memberdata && XML Metadata for customizable properties + * + + * + BackStyle = 0 + cvariabila = + cvariabiladoc = + Height = 29 + Name = "clb_serie_act" + nid_tipdoc = + ntip = 0 + pcobj = + Width = 314 + _memberdata = + + + + + + + + * + + ADD OBJECT '_cbbase1' AS _cbbase WITH ; + ColumnLines = .F., ; + Height = 23, ; + Left = 126, ; + Name = "_cbbase1", ; + RowSourceType = 6, ; + SpecialEffect = 1, ; + Top = 3, ; + Width = 184, ; + ZOrderSet = 1 + *< END OBJECT: ClassLib="_cb_base.vcx" BaseClass="combobox" /> + + ADD OBJECT '_lbbase1' AS _lbbase WITH ; + Caption = "Seria documentului", ; + Left = 8, ; + Name = "_lbbase1", ; + Top = 6, ; + ZOrderSet = 2 + *< END OBJECT: ClassLib="_lb_base.vcx" BaseClass="label" /> + + ADD OBJECT 'Text_simplu1' AS _txbase WITH ; + Format = "K!", ; + Left = 126, ; + Name = "Text_simplu1", ; + Top = 3, ; + Width = 184, ; + ZOrderSet = 0 + *< END OBJECT: ClassLib="_tx_base.vcx" BaseClass="textbox" /> + + PROCEDURE do_initializeaza + *!* 04.02.2014 + *!* marius.mutu + *!* s-a tratat cazul tnRezultat = 2 (FARA SERIE, CU PLAJA) + + Lparameters tnRezultat + Local lcCursor,lcSerie + With This + ._cbbase1.Visible = .F. + .text_simplu1.Visible = .F. + .text_simplu1.ControlSource = "" + ._cbbase1.RowSource = "" + ._cbbase1.Value = "" + + Do Case + Case m.tnRezultat = 1 && CU SERIE, FARA PLAJE + .text_simplu1.ControlSource = Upper(.pcobj) + [.] + Alltrim(.cvariabila) + *!* .RemoveObject('_cbbase1') + .text_simplu1.Visible = .T. + .nTip = 1 && NU GENEREAZA NUMAR DIN PLAJA + Case m.tnRezultat = 2 && FARA SERIE, CU PLAJE (BON FISCAL) + .text_simplu1.ControlSource = Upper(.pcobj) + [.] + Alltrim(.cvariabila) + *!* .RemoveObject('_cbbase1') + .text_simplu1.Visible = .T. + .nTip = 0 && GENEREAZA NUMAR DIN PLAJA + OTHERWISE && 3 CU SERIE SI PLAJE + ._cbbase1.RowSource = poGeneratorNumere.getNumeCursor(.nid_tipdoc) + ._cbbase1.Value = poGeneratorNumere.getSerieCursor(.nid_tipdoc) + lcValoare = Upper(.pcobj)+[.]+Alltrim(.cvariabila)+[=']+Nvl(._cbbase1.Value,[])+['] + &lcValoare + *!* .RemoveObject('text_simplu1') + ._cbbase1.Visible = .T. + .nTip = 0 && GENEREAZA NUMAR DIN PLAJA + Endcase + Endwith + + ENDPROC + + PROCEDURE genereazanumar + Local lcValoare + If This.nTip = 0 + lcValoare = Upper(This.pcobj)+[.]+Alltrim(This.cvariabila)+[=']+Nvl(This._cbbase1.Value,[])+['] + &lcValoare + *!* modificare ROAFACTURARE v 2.0.80 + lcValoare = Upper(This.pcobj)+[.]+Alltrim(This.cvariabiladoc) + + If poGeneratorNumere.verifica_serie(This.nid_tipdoc) Or &lcValoare. = 0 + lcValoare = lcValoare+[=]+; + ALLTRIM(Str(poGeneratorNumere.aloca_numar(This.nid_tipdoc,Null),20,0)) + &lcValoare + This.Parent.Refresh() + Endif + *!* If poGeneratorNumere.verifica_serie(This.nid_tipdoc) + *!* lcValoare = Upper(This.pcobj)+[.]+Alltrim(This.cvariabiladoc) + [=] + ; + *!* ALLTRIM(Str(poGeneratorNumere.aloca_numar(This.nid_tipdoc,Null),20,0)) + *!* &lcValoare + *!* This.Parent.Refresh() + *!* Endif + *!* modificare ROAFACTURARE v 2.0.80 ^ + Endif + ENDPROC + + PROCEDURE _cbbase1.LostFocus + This.Parent.genereazaNumar() + ENDPROC + +ENDDEFINE + +DEFINE CLASS cus_odata_plaje AS _cusodatabase OF "_cus_odata_base.vcx" + *< CLASSDATA: Baseclass="custom" Timestamp="" Scale="Pixels" Uniqueid="" /> + + * + Name = "cus_odata_plaje" + * + + PROCEDURE make_sql + *!* 28.02.2017 + *!* Plaja inf, sup - daca erau prea mari se duceau cu E10 + + Lparameters toRec,tnId + + lcActiune = Alltrim(This.cActiune) + + If Inlist(lcActiune, "UPDATE",'INSERT') And Type('toRec') != "O" + Return .F. + Endif + + If Inlist(lcActiune, "UPDATE",'DELETE') And Type('tnId') != "N" + Return .F. + Endif + + If Inlist(lcActiune, "UPDATE",'DELETE') + lcId = Alltrim(Str(tnId)) + Endif + + If Inlist(lcActiune, "UPDATE",'INSERT') + lcId_tipdoc = ALLTRIM(STR(toRec.id_tipdoc)) + lcId_tipentitate = ALLTRIM(STR(toRec.id_tipentitate)) + lcId_serie = NVL(ALLTRIM(STR(toRec.id_serie)),[NULL]) + lcId_entitate = NVL(ALLTRIM(STR(toRec.id_entitate)),[NULL]) + lcPl_inf = ALLTRIM(STR(toRec.pl_inf,20,0)) + lcPl_sup = ALLTRIM(STR(toRec.pl_sup,20,0)) + lcDataI = [to_date('] + DTOC(toRec.datai,1) + [','YYYYMMDD')] + lcDataS = [to_date('] + DTOC(toRec.datas,1) + [','YYYYMMDD')] + lcInactiv = ALLTRIM(STR(toRec.inactiv)) + Endif + + Do Case + Case lcActiune = "INSERT" + lcSql = [begin pack_serii_numere.adauga_plaja(] + lcId_tipdoc + [,] + ; + lcId_tipentitate + [,] + lcId_serie + [,] + lcId_entitate + [,?gnIdSucursala,] + ; + lcPl_inf + [,] + lcPl_sup + [,] + lcDataI + [,] + lcDataS + [,] + ; + lcInactiv + [,?gnIdUtil); end;] + Case lcActiune = "UPDATE" + lcSql = [begin pack_serii_numere.modifica_plaja(] + lcId + [,] + lcId_tipdoc + [,] + ; + lcId_tipentitate + [,] + lcId_serie + [,] + lcId_entitate + [,?gnIdSucursala,] + ; + lcPl_inf + [,] + lcPl_sup + [,] + lcDataI + [,] + lcDataS + [,] + ; + lcInactiv + [,?gnIdUtil); end;] + Case lcActiune = "DELETE" + lcSql = [begin pack_serii_numere.sterge_plaja(] + lcId + [,?gnIdUtil); end;] + Endcase + This.csql = lcSql + + ENDPROC + +ENDDEFINE + +DEFINE CLASS cus_odata_serii AS _cusodatabase OF "_cus_odata_base.vcx" + *< CLASSDATA: Baseclass="custom" Timestamp="" Scale="Pixels" Uniqueid="" /> + + * + Name = "cus_odata_serii" + * + + PROCEDURE make_sql + Lparameters toRec,tnId + + lcActiune = Alltrim(This.cActiune) + + If Inlist(lcActiune, "UPDATE",'INSERT') And Type('toRec') != "O" + Return .F. + Endif + + If Inlist(lcActiune, "UPDATE",'DELETE') And Type('tnId') != "N" + Return .F. + Endif + + If Inlist(lcActiune, "UPDATE",'DELETE') + lcId = Alltrim(Str(tnId)) + Endif + + If Inlist(lcActiune, "UPDATE",'INSERT') + lcSerie = Alltrim(toRec.serie) + lcAn = Alltrim(Str(toRec.an)) + lcLuna = Alltrim(Str(toRec.luna)) + lcLungime = Alltrim(Str(toRec.lungime)) + lcInactiv = Alltrim(Str(toRec.inactiv)) + lcIsAutofactura = ALLTRIM(STR(NVL(poRec.isautofactura,0))) + lcIsBeneficiari = ALLTRIM(STR(NVL(poRec.isbeneficiari,0))) + lcIsTerti = ALLTRIM(STR(NVL(poRec.isterti,0))) + lcIsFurnizori = ALLTRIM(STR(NVL(poRec.isfurnizori,0))) + lcPrefix = IIF(ISNULL(poRec.prefix), 'NULL', ALLTRIM(STR(poRec.prefix,5,0))) + lcAn2Caractere = ALLTRIM(STR(NVL(poRec.an2caractere,0))) + Endif + + Do Case + Case lcActiune = "INSERT" + lcSql = [begin pack_serii_numere.adauga_serie('] + lcSerie + [',] + ; + lcAn + [,] + lcLuna + [,] + lcLungime + [,] + lcInactiv + ; + [,?gnIdUtil,] + m.lcIsAutofactura + [,] + m.lcIsBeneficiari + [,] + m.lcIsTerti + [,] + m.lcIsFurnizori + [,] + m.lcPrefix + [,] + m.lcAn2Caractere + [); end;] + Case lcActiune = "UPDATE" + lcSql = [begin pack_serii_numere.modifica_serie(] + lcId + [,] + ; + ['] + lcSerie + [',] + lcAn + [,] + lcLuna + [,] + lcLungime + [,] + ; + lcInactiv + [,?gnIdUtil,] + m.lcIsAutofactura + [,] + m.lcIsBeneficiari + [,] + m.lcIsTerti + [,] + m.lcIsFurnizori + [,] + m.lcPrefix + [,] + m.lcAn2Caractere + [); end;] + Case lcActiune = "DELETE" + lcSql = [begin pack_serii_numere.sterge_serie(] + lcId + [,?gnIdUtil); end;] + Endcase + This.csql = lcSql + + ENDPROC + +ENDDEFINE + +DEFINE CLASS cus_odata_tipdoc AS _cusodatabase OF "_cus_odata_base.vcx" + *< CLASSDATA: Baseclass="custom" Timestamp="" Scale="Pixels" Uniqueid="" /> + + * + Name = "cus_odata_tipdoc" + * + + PROCEDURE make_sql + Lparameters toRec,tnId + + lcActiune = Alltrim(This.cActiune) + + If Inlist(lcActiune, "UPDATE",'INSERT') And Type('toRec') != "O" + Return .F. + Endif + + If Inlist(lcActiune, "UPDATE",'DELETE') And Type('tnId') != "N" + Return .F. + Endif + + If Inlist(lcActiune, "UPDATE",'DELETE') + lcId = Alltrim(Str(tnId)) + Endif + + If Inlist(lcActiune, "UPDATE",'INSERT') + lcId_tipentitate = Alltrim(Str(toRec.id_tipentitate)) + lcCu_plaje = Alltrim(Str(toRec.cu_plaje)) + lcDezactiveazaTot = Iif(toRec.cu_plaje=0,Alltrim(Str(toRec.dezactiveaza_tot)),[0]) + Endif + + + Do Case + Case lcActiune = "INSERT" + lcSql = [] + Case lcActiune = "UPDATE" + *!* lcSql = [begin pack_serii_numere.modifica_tipdoc(] + lcId + [,] + lcId_tipentitate + [,] + ; + *!* lcCu_plaje + [,] + lcDezactiveazaTot + [,?gnIdUtil); end;] + lcSql = [begin pack_serii_numere.modifica_tipdoc(?pnIdAMS,?poRec.id_tipentitate, ?poRec.cu_serie, ?poRec.cu_plaje, ?poRec.an, ?poRec.luna, ?poRec.an2caractere, ?poRec.dezactiveaza_tot, ?gnIdUtil); end;] + Case lcActiune = "DELETE" + lcSql = [] + Endcase + This.csql = lcSql + + ENDPROC + +ENDDEFINE + +DEFINE CLASS frm_plaje_nou AS _frmbase OF "_frm_base.vcx" + *< CLASSDATA: Baseclass="form" Timestamp="" Scale="Pixels" Uniqueid="" /> + + *-- OBJECTDATA items order determines ZOrder / El orden de los items OBJECTDATA determina el ZOrder + *< OBJECTDATA: ObjPath="But_renunt1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="Cus_odata_plaje1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="Ct_clb_entitate" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="Clb_valabilitate" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="Clb_plaja" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="ck_inactiv" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="Ct_clb_serie" UniqueID="" Timestamp="" /> + + * + *m: actualizeaza_form + *m: do_cauta_entitate + *m: do_cauta_serie + *p: nid + *p: orec + * + + * + DoCreate = .T. + Height = 200 + lactiv3 = .T. + lactiv4 = .T. + Name = "frm_plaje_nou" + nid = 0 + orec = + Width = 371 + _memberdata = + + + _shape1.Height = 29 + _shape1.Left = 0 + _shape1.Name = "_shape1" + _shape1.Top = 0 + _shape1.Width = 612 + _shape1.ZOrderSet = 3 + _shape2.Name = "_shape2" + Lb_titlu_alb_b121.Caption = "PLAJE" + Lb_titlu_alb_b121.FontBold = .T. + Lb_titlu_alb_b121.Name = "Lb_titlu_alb_b121" + Lb_titlu_alb_b121.TabIndex = 8 + Lb_titlu_alb_b121.ZOrderSet = 4 + BUT_TERMIN1.Left = 342 + BUT_TERMIN1.Name = "BUT_TERMIN1" + BUT_TERMIN1.TabIndex = 6 + BUT_TERMIN1.Top = 2 + BUT_TERMIN1.ZOrderSet = 6 + Gridsort1.Name = "Gridsort1" + * + + ADD OBJECT 'But_renunt1' AS but_renunt WITH ; + Left = 312, ; + Name = "But_renunt1", ; + TabIndex = 7, ; + Top = 2, ; + ZOrderSet = 5 + *< END OBJECT: ClassLib="cmd_butoane.vcx" BaseClass="commandbutton" /> + + ADD OBJECT 'ck_inactiv' AS _checkbox WITH ; + Alignment = 0, ; + Anchor = 4, ; + Caption = "Inactiv", ; + ControlSource = "poRec.inactiv", ; + Left = 45, ; + Name = "ck_inactiv", ; + TabIndex = 5, ; + TabStop = .F., ; + Top = 172 + *< END OBJECT: ClassLib="_baza.vcx" BaseClass="checkbox" /> + + ADD OBJECT 'Clb_plaja' AS clb_nr_intre WITH ; + Anchor = 4, ; + Left = 26, ; + Name = "Clb_plaja", ; + TabIndex = 3, ; + Top = 105, ; + tx_n1.ControlSource = "poRec.pl_inf", ; + tx_n1.FontName = "Arial Narrow", ; + tx_n1.Height = 23, ; + tx_n1.InputMask = "999 999 999 999", ; + tx_n1.Left = 65, ; + tx_n1.Name = "tx_n1", ; + tx_n1.Top = 2, ; + tx_n1.Width = 107, ; + Lb_simplu1.Caption = "Plaja", ; + Lb_simplu1.Name = "Lb_simplu1", ; + tx_n2.ControlSource = "poRec.pl_sup", ; + tx_n2.FontName = "Arial Narrow", ; + tx_n2.InputMask = "999 999 999 999", ; + tx_n2.Left = 176, ; + tx_n2.Name = "tx_n2", ; + tx_n2.Top = 2, ; + tx_n2.Width = 107 + *< END OBJECT: ClassLib="lb_tx.vcx" BaseClass="container" /> + + ADD OBJECT 'Clb_valabilitate' AS clb_luna_intre WITH ; + Anchor = 4, ; + Left = 26, ; + Name = "Clb_valabilitate", ; + TabIndex = 4, ; + Top = 133, ; + tx_n1.Name = "tx_n1", ; + Lb_simplu1.Caption = "Valabilitate", ; + Lb_simplu1.Name = "Lb_simplu1", ; + tx_n2.Name = "tx_n2" + *< END OBJECT: ClassLib="lb_tx.vcx" BaseClass="container" /> + + ADD OBJECT 'Ct_clb_entitate' AS ct_clb_cautare WITH ; + cconditie = EMPTY(NVL(porec.id_entitate,0)), ; + cprocedura = thisform.do_cauta_entitate, ; + cvar_afisata = porec.entitate, ; + Height = 31, ; + Left = 25, ; + Name = "Ct_clb_entitate", ; + TabIndex = 1, ; + Top = 48, ; + Width = 323, ; + img_cautare.Left = 300, ; + img_cautare.Name = "img_cautare", ; + img_cautare.Top = 5, ; + clb_tx_cautare.Height = 29, ; + clb_tx_cautare.Lb_simplu1.Caption = "Entitate", ; + clb_tx_cautare.Lb_simplu1.Name = "Lb_simplu1", ; + clb_tx_cautare.Left = 1, ; + clb_tx_cautare.Name = "clb_tx_cautare", ; + clb_tx_cautare.Text_simplu1.Left = 102, ; + clb_tx_cautare.Text_simplu1.Name = "Text_simplu1", ; + clb_tx_cautare.Text_simplu1.Top = 3, ; + clb_tx_cautare.Top = 1, ; + clb_tx_cautare.Width = 290 + *< END OBJECT: ClassLib="caut_ora.vcx" BaseClass="container" /> + + ADD OBJECT 'Ct_clb_serie' AS ct_clb_cautare WITH ; + Anchor = 4, ; + cconditie = EMPTY(NVL(porec.id_serie,0)), ; + cprocedura = thisform.do_cauta_serie, ; + cvar_afisata = porec.serie, ; + Height = 31, ; + Left = 25, ; + Name = "Ct_clb_serie", ; + TabIndex = 2, ; + Top = 76, ; + Width = 323, ; + img_cautare.Left = 300, ; + img_cautare.Name = "img_cautare", ; + img_cautare.Top = 5, ; + clb_tx_cautare.Height = 29, ; + clb_tx_cautare.Lb_simplu1.Caption = "Serie", ; + clb_tx_cautare.Lb_simplu1.Name = "Lb_simplu1", ; + clb_tx_cautare.Left = 1, ; + clb_tx_cautare.Name = "clb_tx_cautare", ; + clb_tx_cautare.Text_simplu1.Left = 102, ; + clb_tx_cautare.Text_simplu1.Name = "Text_simplu1", ; + clb_tx_cautare.Text_simplu1.Top = 3, ; + clb_tx_cautare.Top = 1, ; + clb_tx_cautare.Width = 290 + *< END OBJECT: ClassLib="caut_ora.vcx" BaseClass="container" /> + + ADD OBJECT 'Cus_odata_plaje1' AS cus_odata_plaje WITH ; + Left = 108, ; + Name = "Cus_odata_plaje1", ; + Top = 0 + *< END OBJECT: ClassLib="serii_numere.vcx" BaseClass="custom" /> + + PROCEDURE actualizeaza_form + ENDPROC + + PROCEDURE do_cauta_entitate + *!* 11.11.2009 + *!* marius.mutu + *!* id_tipentitate = 6 - tip imobilizari (corporale, necorporale, in curs) + + Do Case + Case poRec.id_tipentitate = 1 && gestiune + locauta = caut_gestiune() + If !Isnull(locauta) + poRec.id_entitate = locauta.id_gestiune + poRec.entitate = locauta.nume_gestiune + If poRec.cu_serie = 1 + Thisform.ct_clb_serie.SetFocus() + Else + Thisform.clb_plaja.SetFocus() + Endif + Endif + + Case poRec.id_tipentitate = 3 && utilizatori + locauta = cauta_utilizator_firma() + If !Isnull(locauta) + poRec.id_entitate = locauta.id_util + poRec.entitate = locauta.utilizator + If poRec.cu_serie = 1 + Thisform.ct_clb_serie.SetFocus() + Else + Thisform.clb_plaja.SetFocus() + Endif + Endif + + Case poRec.id_tipentitate = 4 && grup utilizatori + locauta = caut_gruputilizatori() + If !Isnull(locauta) + poRec.id_entitate = locauta.id_grup + poRec.entitate = locauta.denumire_grup + If poRec.cu_serie = 1 + Thisform.ct_clb_serie.SetFocus() + Else + Thisform.clb_plaja.SetFocus() + Endif + Endif + Case poRec.id_tipentitate = 5 && subgrupe articole + locauta = caut_subgrupa_articole() + If !Isnull(locauta) + poRec.id_entitate = locauta.id_subgrupa + poRec.entitate = locauta.subgrupa + If poRec.cu_serie = 1 + Thisform.ct_clb_serie.SetFocus() + Else + Thisform.clb_plaja.SetFocus() + Endif + Endif + *!* 11.11.2009 + Case poRec.id_tipentitate = 6 && tip imobilizari + locauta = caut_tipuri_imobilizare() + If !Isnull(locauta) + poRec.id_entitate = locauta.id_tip_imobilizare + poRec.entitate = locauta.denumire + If poRec.cu_serie = 1 + Thisform.ct_clb_serie.SetFocus() + Else + Thisform.clb_plaja.SetFocus() + Endif + Endif + *!* 11.11.2009 ^ + Endcase + + ENDPROC + + PROCEDURE do_cauta_serie + locauta=caut_serii_fact() + If !Isnull(locauta) + poRec.id_serie = locauta.id_serie + poRec.serie = locauta.serie + Thisform.clb_plaja.SetFocus() + Endif + ENDPROC + + PROCEDURE inainte_de_do_termin + Local plReturn + Store .T. To plReturn + lccontrol = Upper(This.ActiveControl.BaseClass ) + If Inlist(lccontrol,"TEXTBOX","EDITBOX","COMBOBOX") + lcval=This.ActiveControl.ControlSource + &lcval=Thisform.ActiveControl.Value + Endif + lcDataI = Alltrim(Thisform.clb_valabilitate.tx_n1.Value) + lcDataS = Alltrim(Thisform.clb_valabilitate.tx_n2.Value) + poRec.datai = Iif(!Empty(lcDataI),Date(Val(Substr(lcDataI,3)),Val(Substr(lcDataI,1,2)),1),{}) + poRec.DataS = Iif(!Empty(lcDataS),Gomonth(Date(Val(Substr(lcDataS,3)),Val(Substr(lcDataS,1,2)),1),1)-1,{}) + Do Case + Case poRec.id_tipentitate <> 2 And Empty(Nvl(poRec.id_entitate,0)) + amessagebox('Nu ati completat campul pentru ' + Lower(Alltrim(poRec.tipentitate)) + ' !',0+48,"Atentie") + Thisform.ct_clb_entitate.SetFocus() + plReturn=.F. + Case poRec.cu_serie = 1 And Empty(Nvl(poRec.id_serie,0)) + amessagebox('Nu ati completat seria!',0+48,"Atentie") + Thisform.ct_clb_serie.SetFocus() + PLRETURN=.F. + Case poRec.pl_inf < 0 + amessagebox("Valoarea minima nu poate fi negativa!",48,"Atentie") + Thisform.clB_PLAJA.tx_n1.SetFocus() + plReturn = .F. + Case poRec.pl_inf > poRec.pl_sup + amessagebox("Valoarea maxima nu poate fi mai mica decat valoarea minima!",48,"Atentie") + Thisform.clB_PLAJA.tx_n2.SetFocus() + plReturn = .F. + Case Empty(poRec.datai) + amessagebox("Nu ati introdus luna de inceput!",48,"Atentie") + Thisform.clb_valabilitate.tx_n1.SetFocus() + plReturn = .F. + Case Empty(poRec.DataS) + amessagebox("Nu ati introdus luna de sfarsit!",48,"Atentie") + Thisform.clb_valabilitate.tx_n2.SetFocus() + plReturn = .F. + Case poRec.DataS < poRec.datai + amessagebox("Luna finala trebuie sa fie mai mare decat cea initiala!",48,"Atentie") + Thisform.clb_valabilitate.tx_n2.SetFocus() + plReturn = .F. + Otherwise + *!* If poRec.cu_serie = 1 And Empty(Nvl(poRec.id_serie,0)) + *!* If amessagebox('Nu ati completat seria!' + Chr(13) + Chr(10) + 'Doriti sa continuati?',4+32,"Confirmare")==7 + *!* Thisform.ct_clb_serie.SetFocus() + *!* plReturn=.F. + *!* Endif + *!* Endif + *!* If plReturn + plReturn=Thisform.cus_odata_plaje1.salvare(This.OREC,This.NID) + If !plReturn + Thisform.clB_PLAJA.SetFocus() + Endif + *!* Endif + Endcase + Return plReturn + + ENDPROC + + PROCEDURE Init + Lparameters toRec, tnId, tcActiune + DoDefault() + + Thisform.orec= toRec + Thisform.nid = tnId + Thisform.cus_odata_plaje1.cactiune = tcActiune + If tcActiune = 'UPDATE' + If toRec.id_tipentitate<> toRec.id_tipentitate2 + && daca documentul are alt tip de entitate si inactiv = 0 + && il las doar sa-l inactiveze + Thisform.ct_clb_entitate.do_dezactiveaza() + Thisform.ct_clb_serie.do_dezactiveaza() + With Thisform.clb_plaja + .tx_N1.ReadOnly=.T. + .tx_N2.ReadOnly=.T. + Endwith + With Thisform.clb_valabilitate + .tx_N1.ReadOnly=.T. + .tx_N2.ReadOnly=.T. + Endwith + Endif + Endif + + lnHeight = Thisform.Height + lnOffset = 3 + If toRec.cu_serie = 0 + lnHeight = lnHeight - Thisform.ct_clb_serie.Height + lnOffset + Thisform.RemoveObject([ct_clb_serie]) + toRec.id_serie = NULL + Endif + If toRec.id_tipentitate = 2 + lnHeight = lnHeight - Thisform.ct_clb_entitate.Height + lnOffset + Thisform.RemoveObject([ct_clb_entitate]) + Else + Thisform.ct_clb_entitate.clb_tx_cautare.lb_simplu1.Caption = Proper(Alltrim(toRec.tipentitate)) + Endif + + With Thisform.clb_valabilitate + If !Empty(Nvl(poRec.datai,{})) + .tx_N1.Value = Padl(Alltrim(Str(Month(poRec.datai))),2,[0])+Alltrim(Str(Year(poRec.datai))) + Endif + If !Empty(Nvl(poRec.DataS,{})) + .tx_N2.Value = Padl(Alltrim(Str(Month(poRec.DataS))),2,[0])+Alltrim(Str(Year(poRec.DataS))) + Endif + Endwith + + Thisform.Height = lnHeight + + Thisform.Refresh() + ENDPROC + + PROCEDURE Clb_plaja.tx_n1.Valid + *!* + ENDPROC + + PROCEDURE Clb_valabilitate.tx_n1.Valid + If !Empty(This.Value) + lcLuna=Substr(Alltrim(This.Value),1,2) + lcAn=Substr(Alltrim(This.Value),3) + If Type("DATE(VAL(lcAn),VAL(lcLuna),1)")!="D" + aMESSAGEBOX("Data invalida!",0+16,"Eroare") + Return 0 + Endif + Endif + ENDPROC + +ENDDEFINE + +DEFINE CLASS frm_plaje_numere AS _frmbase OF "_frm_base.vcx" + *< CLASSDATA: Baseclass="form" Timestamp="" Scale="Pixels" Uniqueid="" /> + + *-- OBJECTDATA items order determines ZOrder / El orden de los items OBJECTDATA determina el ZOrder + *< OBJECTDATA: ObjPath="pgf_serii" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="pgf_serii.PAGE1.But_nou2" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="pgf_serii.PAGE1.But_modifica2" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="pgf_serii.PAGE1.But_sterge2" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="pgf_serii.PAGE1.grdSerii" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="pgf_serii.PAGE1.grdSerii.cId_serie.Header1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="pgf_serii.PAGE1.grdSerii.cId_serie.Text1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="pgf_serii.PAGE1.grdSerii.cSerie.Header1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="pgf_serii.PAGE1.grdSerii.cSerie.Text1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="pgf_serii.PAGE1.grdSerii.cLungime.Header1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="pgf_serii.PAGE1.grdSerii.cLungime.Text1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="pgf_serii.PAGE1.grdSerii.cExemplu.Header1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="pgf_serii.PAGE1.grdSerii.cExemplu.Text1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="pgf_serii.PAGE1.grdSerii.cResetare.Header1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="pgf_serii.PAGE1.grdSerii.cResetare.Text1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="pgf_serii.PAGE1.grdSerii.cInactiv.Header1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="pgf_serii.PAGE1.grdSerii.cInactiv._checkbox1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="pgf_serii.PAGE1.grdSerii.cIsAutofactura.Header1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="pgf_serii.PAGE1.grdSerii.cIsAutofactura.Text1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="pgf_serii.PAGE1.grdSerii.cIsAutofactura.Check1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="pgf_serii.PAGE1.grdSerii.cIsbeneficiari.Header1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="pgf_serii.PAGE1.grdSerii.cIsbeneficiari.Text1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="pgf_serii.PAGE1.grdSerii.cIsbeneficiari.Check1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="pgf_serii.PAGE1.grdSerii.cIsTerti.Header1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="pgf_serii.PAGE1.grdSerii.cIsTerti.Text1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="pgf_serii.PAGE1.grdSerii.cIsTerti.Check1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="pgf_serii.PAGE1.grdSerii.cIsFurnizori.Header1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="pgf_serii.PAGE1.grdSerii.cIsFurnizori.Text1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="pgf_serii.PAGE1.grdSerii.cIsFurnizori.Check1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="pgf_serii.PAGE1.grdSerii.cPrefix.Header1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="pgf_serii.PAGE1.grdSerii.cPrefix.Text1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="pgf_serii.PAGE1.grdSerii.cAn2caractere.Header1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="pgf_serii.PAGE1.grdSerii.cAn2caractere.Text1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="pgf_serii.PAGE1.grdSerii.cAn2caractere._checkbox1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="pgf_serii.PAGE2.grdSerii" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="pgf_serii.PAGE2.grdSerii.cId_serie.Header1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="pgf_serii.PAGE2.grdSerii.cId_serie.Text1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="pgf_serii.PAGE2.grdSerii.cSerie.Header1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="pgf_serii.PAGE2.grdSerii.cSerie.Text1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="pgf_serii.PAGE2.grdSerii.cLungime.Header1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="pgf_serii.PAGE2.grdSerii.cLungime.Text1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="pgf_serii.PAGE2.grdSerii.cExemplu.Header1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="pgf_serii.PAGE2.grdSerii.cExemplu.Text1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="pgf_serii.PAGE2.grdSerii.cResetare.Header1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="pgf_serii.PAGE2.grdSerii.cResetare.Text1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="pgf_serii.PAGE2.grdSerii.cInactiv.Header1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="pgf_serii.PAGE2.grdSerii.cInactiv._checkbox1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="But_nou1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="But_modifica3" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="But_modifica1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="But_sterge1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="grdDocumente" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="grdDocumente.cId_TipDoc.Header1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="grdDocumente.cId_TipDoc.Text1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="grdDocumente.cTipdoc.Header1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="grdDocumente.cTipdoc.Text1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="grdDocumente.cMaxLen.Header1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="grdDocumente.cMaxLen.Text1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="grdDocumente.cTipEntitate.Header1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="grdDocumente.cTipEntitate.Text1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="grdDocumente.cCu_serie.Header1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="grdDocumente.cCu_serie._checkbox1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="grdDocumente.cCu_plaje.Header1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="grdDocumente.cCu_plaje._checkbox1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="grdDocumente.Column7.Header1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="grdDocumente.Column7._checkbox1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="grdPlaje" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="grdPlaje.cPlInf.Header1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="grdPlaje.cPlInf.Text1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="grdPlaje.cEntitate.Header1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="grdPlaje.cEntitate.Text1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="grdPlaje.cPlSup.Header1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="grdPlaje.cPlSup.Text1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="grdPlaje.cId_plaja.Header1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="grdPlaje.cId_plaja.Text1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="grdPlaje.cUrmval.Header1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="grdPlaje.cUrmval.Text1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="grdPlaje.cSerie.Header1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="grdPlaje.cSerie.Text1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="grdPlaje.cTipEntitate.Header1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="grdPlaje.cTipEntitate.Text1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="grdPlaje.cDatai.Header1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="grdPlaje.cDatai.Text1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="grdPlaje.cDatas.Header1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="grdPlaje.cDatas.Text1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="grdPlaje.cInactiv.Header1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="grdPlaje.cInactiv._checkbox1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="lb_tipuri_documente" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="lb_plaje_numere" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="opt_inactiv" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="But_modiparam1" UniqueID="" Timestamp="" /> + + * + *m: actualizeaza_form + *m: actualizeaza_grid3 + *m: actualizeaza_grid4 + *m: do_adauga_serie + *m: do_modifica_serie + *m: do_modifica_tipdoc + *m: do_modiparam + *m: do_sterge_serie + * + + * + cbuton1 = + cbuton2 = + cbuton3 = + cbuton4 = + DoCreate = .T. + Height = 593 + Name = "frm_plaje_numere" + Width = 793 + WindowState = 2 + _memberdata = + + + _shape1.Anchor = 10 + _shape1.Height = 29 + _shape1.Left = 0 + _shape1.Name = "_shape1" + _shape1.Top = 0 + _shape1.Width = 792 + _shape1.ZOrderSet = 1 + _shape2.Anchor = 8 + _shape2.Height = 29 + _shape2.Left = 761 + _shape2.Name = "_shape2" + _shape2.Top = 0 + _shape2.Width = 41 + _shape2.ZOrderSet = 2 + Lb_titlu_alb_b121.Caption = "CONFIGURARE SERII - PLAJE NUMERE" + Lb_titlu_alb_b121.Name = "Lb_titlu_alb_b121" + Lb_titlu_alb_b121.TabIndex = 9 + Lb_titlu_alb_b121.ZOrderSet = 3 + BUT_TERMIN1.Anchor = 8 + BUT_TERMIN1.Left = 763 + BUT_TERMIN1.Name = "BUT_TERMIN1" + BUT_TERMIN1.TabIndex = 8 + BUT_TERMIN1.Top = 1 + BUT_TERMIN1.ZOrderSet = 4 + Gridsort1.Name = "Gridsort1" + * + + ADD OBJECT 'But_modifica1' AS but_modifica WITH ; + Anchor = 8, ; + caction = do_modifica, ; + Height = 27, ; + Left = 698, ; + Name = "But_modifica1", ; + TabIndex = 6, ; + Top = 53, ; + Visible = .T., ; + Width = 30, ; + ZOrderSet = 8 + *< END OBJECT: ClassLib="cmd_butoane.vcx" BaseClass="commandbutton" /> + + ADD OBJECT 'But_modifica3' AS but_modifica WITH ; + Anchor = 0, ; + caction = do_modifica_tipdoc, ; + Left = 328, ; + Name = "But_modifica3", ; + TabIndex = 2, ; + Top = 31, ; + Visible = .T., ; + ZOrderSet = 7 + *< END OBJECT: ClassLib="cmd_butoane.vcx" BaseClass="commandbutton" /> + + ADD OBJECT 'But_modiparam1' AS but_modiparam WITH ; + Anchor = 8, ; + Height = 27, ; + Left = 725, ; + Name = "But_modiparam1", ; + ToolTipText = "Actualizeaza urmatorul numar din plaja", ; + Top = 53, ; + Width = 30 + *< END OBJECT: ClassLib="cmd_butoane.vcx" BaseClass="commandbutton" /> + + ADD OBJECT 'But_nou1' AS but_nou WITH ; + Anchor = 8, ; + Height = 27, ; + Left = 669, ; + Name = "But_nou1", ; + TabIndex = 5, ; + Top = 53, ; + Width = 30, ; + ZOrderSet = 6 + *< END OBJECT: ClassLib="cmd_butoane.vcx" BaseClass="commandbutton" /> + + ADD OBJECT 'But_sterge1' AS but_sterge WITH ; + Anchor = 8, ; + caction = do_sterge, ; + Height = 27, ; + Left = 754, ; + Name = "But_sterge1", ; + TabIndex = 7, ; + Top = 53, ; + Visible = .T., ; + Width = 30, ; + ZOrderSet = 9 + *< END OBJECT: ClassLib="cmd_butoane.vcx" BaseClass="commandbutton" /> + + ADD OBJECT 'grdDocumente' AS _grdrow WITH ; + Anchor = 5, ; + ColumnCount = 7, ; + DeleteMark = .F., ; + FontName = "Arial", ; + HeaderHeight = 32, ; + Height = 330, ; + HighlightStyle = 2, ; + lcamptextneeditabil = .F., ; + Left = 12, ; + Name = "grdDocumente", ; + Panel = 1, ; + ReadOnly = .T., ; + RecordSource = "crsTipdoc", ; + TabIndex = 1, ; + Top = 60, ; + Width = 348, ; + ZOrderSet = 10, ; + Column1.ColumnOrder = 7, ; + Column1.ControlSource = "id_tipdoc", ; + Column1.FontName = "Arial", ; + Column1.Name = "cId_TipDoc", ; + Column1.ReadOnly = .T., ; + Column1.Width = 52, ; + Column2.ColumnOrder = 1, ; + Column2.ControlSource = "tipdoc", ; + Column2.FontName = "Arial", ; + Column2.Name = "cTipdoc", ; + Column2.ReadOnly = .T., ; + Column2.Width = 96, ; + Column3.ColumnOrder = 3, ; + Column3.ControlSource = "maxlen", ; + Column3.FontName = "Arial", ; + Column3.Name = "cMaxLen", ; + Column3.ReadOnly = .T., ; + Column3.Width = 54, ; + Column4.ColumnOrder = 2, ; + Column4.ControlSource = "tipentitate", ; + Column4.FontName = "Arial", ; + Column4.Name = "cTipEntitate", ; + Column4.ReadOnly = .T., ; + Column5.ColumnOrder = 5, ; + Column5.ControlSource = "cu_serie", ; + Column5.FontName = "Arial", ; + Column5.Name = "cCu_serie", ; + Column5.ReadOnly = .T., ; + Column5.Sparse = .F., ; + Column5.Width = 51, ; + Column6.ColumnOrder = 4, ; + Column6.ControlSource = "cu_plaje", ; + Column6.FontName = "Arial", ; + Column6.Name = "cCu_plaje", ; + Column6.ReadOnly = .T., ; + Column6.Sparse = .F., ; + Column6.Width = 47, ; + Column7.ColumnOrder = 6, ; + Column7.ControlSource = "plajepeentitate", ; + Column7.CurrentControl = "_checkbox1", ; + Column7.FontName = "Arial", ; + Column7.Name = "Column7", ; + Column7.ReadOnly = .T., ; + Column7.Sparse = .F., ; + Column7.Width = 51 + *< END OBJECT: ClassLib="_grd_base.vcx" BaseClass="grid" /> + + ADD OBJECT 'grdDocumente.cCu_plaje._checkbox1' AS _checkbox WITH ; + Alignment = 2, ; + AutoSize = .F., ; + Caption = "", ; + Centered = .T., ; + FontName = "Arial", ; + Left = 30, ; + Name = "_checkbox1", ; + Top = 47 + *< END OBJECT: ClassLib="_baza.vcx" BaseClass="checkbox" /> + + ADD OBJECT 'grdDocumente.cCu_plaje.Header1' AS header WITH ; + Alignment = 2, ; + Caption = "Cu plaje", ; + FontName = "Arial", ; + Name = "Header1" + *< END OBJECT: BaseClass="header" /> + + ADD OBJECT 'grdDocumente.cCu_serie._checkbox1' AS _checkbox WITH ; + Alignment = 0, ; + AutoSize = .F., ; + Caption = "", ; + Centered = .T., ; + FontName = "Arial", ; + Left = 25, ; + Name = "_checkbox1", ; + ReadOnly = .T., ; + Top = 47 + *< END OBJECT: ClassLib="_baza.vcx" BaseClass="checkbox" /> + + ADD OBJECT 'grdDocumente.cCu_serie.Header1' AS header WITH ; + Alignment = 2, ; + Caption = "Cu serie", ; + FontName = "Arial", ; + Name = "Header1" + *< END OBJECT: BaseClass="header" /> + + ADD OBJECT 'grdDocumente.cId_TipDoc.Header1' AS header WITH ; + Alignment = 2, ; + Caption = "Id", ; + FontName = "Arial", ; + Name = "Header1" + *< END OBJECT: BaseClass="header" /> + + ADD OBJECT 'grdDocumente.cId_TipDoc.Text1' AS textbox WITH ; + BackColor = 255,255,255, ; + BorderStyle = 0, ; + FontName = "Arial", ; + ForeColor = 0,0,0, ; + Margin = 0, ; + Name = "Text1", ; + ReadOnly = .T., ; + SelectedBackColor = 100,185,255 + *< END OBJECT: BaseClass="textbox" /> + + ADD OBJECT 'grdDocumente.cMaxLen.Header1' AS header WITH ; + Alignment = 2, ; + Caption = "Lungime maxima", ; + FontName = "Arial", ; + Name = "Header1", ; + WordWrap = .T. + *< END OBJECT: BaseClass="header" /> + + ADD OBJECT 'grdDocumente.cMaxLen.Text1' AS textbox WITH ; + BackColor = 255,255,255, ; + BorderStyle = 0, ; + FontName = "Arial", ; + ForeColor = 0,0,0, ; + Margin = 0, ; + Name = "Text1", ; + ReadOnly = .T., ; + SelectedBackColor = 100,185,255 + *< END OBJECT: BaseClass="textbox" /> + + ADD OBJECT 'grdDocumente.Column7._checkbox1' AS _checkbox WITH ; + Alignment = 2, ; + Caption = "", ; + Centered = .T., ; + FontName = "Arial", ; + Left = 27, ; + Name = "_checkbox1", ; + ReadOnly = .T., ; + Top = 47 + *< END OBJECT: ClassLib="_baza.vcx" BaseClass="checkbox" /> + + ADD OBJECT 'grdDocumente.Column7.Header1' AS header WITH ; + Alignment = 2, ; + Caption = "Plaje pe entitati", ; + FontName = "Arial", ; + Name = "Header1", ; + WordWrap = .T. + *< END OBJECT: BaseClass="header" /> + + ADD OBJECT 'grdDocumente.cTipdoc.Header1' AS header WITH ; + Alignment = 2, ; + Caption = "Document", ; + FontName = "Arial", ; + Name = "Header1" + *< END OBJECT: BaseClass="header" /> + + ADD OBJECT 'grdDocumente.cTipdoc.Text1' AS textbox WITH ; + BackColor = 255,255,255, ; + BorderStyle = 0, ; + FontName = "Arial", ; + ForeColor = 0,0,0, ; + Margin = 0, ; + Name = "Text1", ; + ReadOnly = .T., ; + SelectedBackColor = 100,185,255 + *< END OBJECT: BaseClass="textbox" /> + + ADD OBJECT 'grdDocumente.cTipEntitate.Header1' AS header WITH ; + Alignment = 2, ; + Caption = "Tip entitate", ; + FontName = "Arial", ; + Name = "Header1" + *< END OBJECT: BaseClass="header" /> + + ADD OBJECT 'grdDocumente.cTipEntitate.Text1' AS textbox WITH ; + BackColor = 255,255,255, ; + BorderStyle = 0, ; + FontName = "Arial", ; + ForeColor = 0,0,0, ; + Margin = 0, ; + Name = "Text1", ; + ReadOnly = .T., ; + SelectedBackColor = 100,185,255 + *< END OBJECT: BaseClass="textbox" /> + + ADD OBJECT 'grdPlaje' AS _grdrow WITH ; + Anchor = 15, ; + ColumnCount = 10, ; + DeleteMark = .F., ; + FontName = "Arial", ; + HeaderHeight = 19, ; + Height = 306, ; + lcamptextneeditabil = .F., ; + Left = 372, ; + Name = "grdPlaje", ; + Panel = 1, ; + ReadOnly = .T., ; + RecordSource = "crsPlaje", ; + TabIndex = 4, ; + Top = 84, ; + Width = 413, ; + ZOrderSet = 11, ; + Column1.ColumnOrder = 4, ; + Column1.ControlSource = "pl_inf", ; + Column1.FontName = "Arial", ; + Column1.InputMask = (get_mask(18,0)), ; + Column1.Name = "cPlInf", ; + Column1.ReadOnly = .T., ; + Column1.Width = 102, ; + Column2.ColumnOrder = 2, ; + Column2.ControlSource = "entitate", ; + Column2.FontName = "Arial", ; + Column2.Name = "cEntitate", ; + Column2.ReadOnly = .T., ; + Column2.Width = 85, ; + Column3.ColumnOrder = 5, ; + Column3.ControlSource = "pl_sup", ; + Column3.FontName = "Arial", ; + Column3.InputMask = (get_mask(18,0)), ; + Column3.Name = "cPlSup", ; + Column3.ReadOnly = .T., ; + Column3.Width = 101, ; + Column4.ColumnOrder = 10, ; + Column4.ControlSource = "id_plaja", ; + Column4.FontName = "Arial", ; + Column4.Name = "cId_plaja", ; + Column4.ReadOnly = .T., ; + Column4.Width = 64, ; + Column5.ColumnOrder = 6, ; + Column5.ControlSource = "urmval", ; + Column5.FontName = "Arial", ; + Column5.Name = "cUrmval", ; + Column5.ReadOnly = .T., ; + Column5.Width = 112, ; + Column6.ColumnOrder = 3, ; + Column6.ControlSource = "serie", ; + Column6.FontName = "Arial", ; + Column6.Name = "cSerie", ; + Column6.ReadOnly = .T., ; + Column6.Width = 60, ; + Column7.ColumnOrder = 1, ; + Column7.ControlSource = "tipentitate", ; + Column7.FontName = "Arial", ; + Column7.Name = "cTipEntitate", ; + Column7.ReadOnly = .T., ; + Column7.Width = 82, ; + Column8.ColumnOrder = 7, ; + Column8.ControlSource = "datai", ; + Column8.FontName = "Arial", ; + Column8.Name = "cDatai", ; + Column8.ReadOnly = .T., ; + Column8.Width = 87, ; + Column9.ColumnOrder = 8, ; + Column9.ControlSource = "datas", ; + Column9.FontName = "Arial", ; + Column9.Name = "cDatas", ; + Column9.ReadOnly = .T., ; + Column9.Width = 80, ; + Column10.ColumnOrder = 9, ; + Column10.ControlSource = "inactiv", ; + Column10.FontName = "Arial", ; + Column10.Name = "cInactiv", ; + Column10.ReadOnly = .T., ; + Column10.Sparse = .F., ; + Column10.Width = 42 + *< END OBJECT: ClassLib="_grd_base.vcx" BaseClass="grid" /> + + ADD OBJECT 'grdPlaje.cDatai.Header1' AS header WITH ; + Alignment = 2, ; + Caption = "Data inceput", ; + FontName = "Arial", ; + Name = "Header1" + *< END OBJECT: BaseClass="header" /> + + ADD OBJECT 'grdPlaje.cDatai.Text1' AS textbox WITH ; + BackColor = 255,255,255, ; + BorderStyle = 0, ; + FontName = "Arial", ; + ForeColor = 0,0,0, ; + Margin = 0, ; + Name = "Text1", ; + ReadOnly = .T., ; + SelectedBackColor = 100,185,255 + *< END OBJECT: BaseClass="textbox" /> + + ADD OBJECT 'grdPlaje.cDatas.Header1' AS header WITH ; + Alignment = 2, ; + Caption = "Data sfarsit", ; + FontName = "Arial", ; + Name = "Header1" + *< END OBJECT: BaseClass="header" /> + + ADD OBJECT 'grdPlaje.cDatas.Text1' AS textbox WITH ; + BackColor = 255,255,255, ; + BorderStyle = 0, ; + FontName = "Arial", ; + ForeColor = 0,0,0, ; + Margin = 0, ; + Name = "Text1", ; + ReadOnly = .T., ; + SelectedBackColor = 100,185,255 + *< END OBJECT: BaseClass="textbox" /> + + ADD OBJECT 'grdPlaje.cEntitate.Header1' AS header WITH ; + Alignment = 2, ; + Caption = "Entitate", ; + FontName = "Arial", ; + Name = "Header1" + *< END OBJECT: BaseClass="header" /> + + ADD OBJECT 'grdPlaje.cEntitate.Text1' AS textbox WITH ; + BackColor = 255,255,255, ; + BorderStyle = 0, ; + FontName = "Arial", ; + ForeColor = 0,0,0, ; + Margin = 0, ; + Name = "Text1", ; + ReadOnly = .T., ; + SelectedBackColor = 100,185,255 + *< END OBJECT: BaseClass="textbox" /> + + ADD OBJECT 'grdPlaje.cId_plaja.Header1' AS header WITH ; + Alignment = 2, ; + Caption = "Id", ; + FontName = "Arial", ; + Name = "Header1" + *< END OBJECT: BaseClass="header" /> + + ADD OBJECT 'grdPlaje.cId_plaja.Text1' AS textbox WITH ; + BackColor = 255,255,255, ; + BorderStyle = 0, ; + FontName = "Arial", ; + ForeColor = 0,0,0, ; + Margin = 0, ; + Name = "Text1", ; + SelectedBackColor = 100,185,255 + *< END OBJECT: BaseClass="textbox" /> + + ADD OBJECT 'grdPlaje.cInactiv._checkbox1' AS _checkbox WITH ; + Alignment = 0, ; + AutoSize = .F., ; + Caption = "", ; + Centered = .T., ; + FontName = "Arial", ; + Left = 21, ; + Name = "_checkbox1", ; + ReadOnly = .T., ; + Top = 47 + *< END OBJECT: ClassLib="_baza.vcx" BaseClass="checkbox" /> + + ADD OBJECT 'grdPlaje.cInactiv.Header1' AS header WITH ; + Alignment = 2, ; + Caption = "Inactiv", ; + FontName = "Arial", ; + Name = "Header1" + *< END OBJECT: BaseClass="header" /> + + ADD OBJECT 'grdPlaje.cPlInf.Header1' AS header WITH ; + Alignment = 2, ; + Caption = "Limita inferioara", ; + FontName = "Arial", ; + Name = "Header1" + *< END OBJECT: BaseClass="header" /> + + ADD OBJECT 'grdPlaje.cPlInf.Text1' AS textbox WITH ; + BackColor = 255,255,255, ; + BorderStyle = 0, ; + FontName = "Arial", ; + ForeColor = 0,0,0, ; + Margin = 0, ; + Name = "Text1", ; + ReadOnly = .T., ; + SelectedBackColor = 100,185,255 + *< END OBJECT: BaseClass="textbox" /> + + ADD OBJECT 'grdPlaje.cPlSup.Header1' AS header WITH ; + Alignment = 2, ; + Caption = "Limita superioara", ; + FontName = "Arial", ; + Name = "Header1" + *< END OBJECT: BaseClass="header" /> + + ADD OBJECT 'grdPlaje.cPlSup.Text1' AS textbox WITH ; + BackColor = 255,255,255, ; + BorderStyle = 0, ; + FontName = "Arial", ; + ForeColor = 0,0,0, ; + Margin = 0, ; + Name = "Text1", ; + SelectedBackColor = 100,185,255 + *< END OBJECT: BaseClass="textbox" /> + + ADD OBJECT 'grdPlaje.cSerie.Header1' AS header WITH ; + Alignment = 2, ; + Caption = "Serie", ; + FontName = "Arial", ; + Name = "Header1" + *< END OBJECT: BaseClass="header" /> + + ADD OBJECT 'grdPlaje.cSerie.Text1' AS textbox WITH ; + BackColor = 255,255,255, ; + BorderStyle = 0, ; + FontName = "Arial", ; + ForeColor = 0,0,0, ; + Margin = 0, ; + Name = "Text1", ; + ReadOnly = .T., ; + SelectedBackColor = 100,185,255 + *< END OBJECT: BaseClass="textbox" /> + + ADD OBJECT 'grdPlaje.cTipEntitate.Header1' AS header WITH ; + Alignment = 2, ; + Caption = "Tip entitate", ; + FontName = "Arial", ; + Name = "Header1" + *< END OBJECT: BaseClass="header" /> + + ADD OBJECT 'grdPlaje.cTipEntitate.Text1' AS textbox WITH ; + BackColor = 255,255,255, ; + BorderStyle = 0, ; + FontName = "Arial", ; + ForeColor = 0,0,0, ; + Margin = 0, ; + Name = "Text1", ; + SelectedBackColor = 100,185,255 + *< END OBJECT: BaseClass="textbox" /> + + ADD OBJECT 'grdPlaje.cUrmval.Header1' AS header WITH ; + Alignment = 2, ; + Caption = "Urmatorul numar", ; + FontName = "Arial", ; + Name = "Header1" + *< END OBJECT: BaseClass="header" /> + + ADD OBJECT 'grdPlaje.cUrmval.Text1' AS textbox WITH ; + Alignment = 3, ; + BackColor = 255,255,255, ; + BorderStyle = 0, ; + FontName = "Arial", ; + ForeColor = 0,0,0, ; + Margin = 0, ; + Name = "Text1", ; + SelectedBackColor = 100,185,255 + *< END OBJECT: BaseClass="textbox" /> + + ADD OBJECT 'lb_plaje_numere' AS lb_simplu WITH ; + Caption = "Plaje de numere", ; + Left = 371, ; + Name = "lb_plaje_numere", ; + TabIndex = 12, ; + Top = 40, ; + ZOrderSet = 13 + *< END OBJECT: ClassLib="lb.vcx" BaseClass="label" /> + + ADD OBJECT 'lb_tipuri_documente' AS lb_simplu WITH ; + Caption = "Tipuri documente", ; + Left = 14, ; + Name = "lb_tipuri_documente", ; + TabIndex = 11, ; + Top = 40, ; + ZOrderSet = 12 + *< END OBJECT: ClassLib="lb.vcx" BaseClass="label" /> + + ADD OBJECT 'opt_inactiv' AS _optiongrup WITH ; + AutoSize = .F., ; + ButtonCount = 3, ; + Height = 28, ; + Left = 372, ; + Name = "opt_inactiv", ; + ndefault = 2, ; + TabIndex = 3, ; + Top = 57, ; + Value = 2, ; + Width = 216, ; + Option1.AutoSize = .T., ; + Option1.Caption = "Toate", ; + Option1.FontName = "Arial", ; + Option1.FontSize = 10, ; + Option1.Left = 5, ; + Option1.Name = "Option1", ; + Option1.Top = 5, ; + Option1.Value = 0, ; + Option2.AutoSize = .T., ; + Option2.Caption = "Active", ; + Option2.FontName = "Arial", ; + Option2.FontSize = 10, ; + Option2.Left = 57, ; + Option2.Name = "Option2", ; + Option2.Top = 5, ; + Option2.Value = 1, ; + Option3.AutoSize = .T., ; + Option3.BackColor = 212,208,200, ; + Option3.BackStyle = 0, ; + Option3.Caption = "Inactive", ; + Option3.FontName = "Arial", ; + Option3.FontSize = 10, ; + Option3.ForeColor = 128,128,128, ; + Option3.Height = 18, ; + Option3.Left = 117, ; + Option3.Name = "Option3", ; + Option3.Top = 5, ; + Option3.Width = 62 + *< END OBJECT: ClassLib="_baza.vcx" BaseClass="optiongroup" /> + + ADD OBJECT 'pgf_serii' AS _pageframe WITH ; + Anchor = 14, ; + ErasePage = .T., ; + Height = 192, ; + Left = 9, ; + Name = "pgf_serii", ; + TabIndex = 10, ; + TabStyle = 1, ; + Top = 396, ; + Width = 771, ; + ZOrderSet = 0, ; + PAGE1.BackColor = 255,255,255, ; + PAGE1.Caption = "Serii", ; + PAGE1.Name = "PAGE1", ; + PAGE2.BackColor = 255,255,255, ; + PAGE2.Caption = "Serii folosite la plajele de numere", ; + PAGE2.Name = "PAGE2" + *< END OBJECT: ClassLib="_baza.vcx" BaseClass="pageframe" /> + + ADD OBJECT 'pgf_serii.PAGE1.But_modifica2' AS but_modifica WITH ; + Anchor = 8, ; + caction = do_modifica_serie, ; + Left = 727, ; + Name = "But_modifica2", ; + TabIndex = 8, ; + Top = 38, ; + Visible = .T., ; + ZOrderSet = 6 + *< END OBJECT: ClassLib="cmd_butoane.vcx" BaseClass="commandbutton" /> + + ADD OBJECT 'pgf_serii.PAGE1.But_nou2' AS but_nou WITH ; + Anchor = 8, ; + caction = do_adauga_serie, ; + Left = 727, ; + Name = "But_nou2", ; + TabIndex = 7, ; + Top = 9, ; + ZOrderSet = 5 + *< END OBJECT: ClassLib="cmd_butoane.vcx" BaseClass="commandbutton" /> + + ADD OBJECT 'pgf_serii.PAGE1.But_sterge2' AS but_sterge WITH ; + Anchor = 8, ; + caction = do_sterge_serie, ; + Left = 727, ; + Name = "But_sterge2", ; + TabIndex = 9, ; + Top = 67, ; + Visible = .T., ; + ZOrderSet = 7 + *< END OBJECT: ClassLib="cmd_butoane.vcx" BaseClass="commandbutton" /> + + ADD OBJECT 'pgf_serii.PAGE1.grdSerii' AS _grdrow WITH ; + Anchor = 14, ; + ColumnCount = 12, ; + DeleteMark = .F., ; + FontName = "Arial", ; + HeaderHeight = 36, ; + Height = 155, ; + lcamptextneeditabil = .F., ; + Left = 7, ; + Name = "grdSerii", ; + Panel = 1, ; + ReadOnly = .T., ; + RecordSource = "crsSerii", ; + TabIndex = 6, ; + Top = 3, ; + Width = 715, ; + Column1.ColumnOrder = 12, ; + Column1.ControlSource = "id_serie", ; + Column1.FontName = "Arial", ; + Column1.Name = "cId_serie", ; + Column1.ReadOnly = .T., ; + Column1.Width = 79, ; + Column2.ColumnOrder = 1, ; + Column2.ControlSource = "serie", ; + Column2.FontName = "Arial", ; + Column2.Name = "cSerie", ; + Column2.ReadOnly = .T., ; + Column2.Width = 124, ; + Column3.ColumnOrder = 6, ; + Column3.ControlSource = "lungime", ; + Column3.FontName = "Arial", ; + Column3.Name = "cLungime", ; + Column3.ReadOnly = .T., ; + Column3.Width = 75, ; + Column4.ColumnOrder = 7, ; + Column4.ControlSource = "exemplu", ; + Column4.FontName = "Arial", ; + Column4.Name = "cExemplu", ; + Column4.ReadOnly = .T., ; + Column4.Width = 122, ; + Column5.ColumnOrder = 4, ; + Column5.ControlSource = "resetare", ; + Column5.FontName = "Arial", ; + Column5.Name = "cResetare", ; + Column5.ReadOnly = .T., ; + Column6.ColumnOrder = 2, ; + Column6.ControlSource = "inactiv", ; + Column6.FontName = "Arial", ; + Column6.Name = "cInactiv", ; + Column6.ReadOnly = .T., ; + Column6.Sparse = .F., ; + Column6.Width = 48, ; + Column7.ColumnOrder = 8, ; + Column7.ControlSource = "isautofactura", ; + Column7.CurrentControl = "Check1", ; + Column7.FontName = "Arial", ; + Column7.Name = "cIsAutofactura", ; + Column7.ReadOnly = .T., ; + Column7.Sparse = .F., ; + Column8.ColumnOrder = 9, ; + Column8.ControlSource = "isbeneficiari", ; + Column8.CurrentControl = "Check1", ; + Column8.FontName = "Arial", ; + Column8.Name = "cIsbeneficiari", ; + Column8.ReadOnly = .T., ; + Column8.Sparse = .F., ; + Column9.ColumnOrder = 10, ; + Column9.ControlSource = "isterti", ; + Column9.CurrentControl = "Check1", ; + Column9.FontName = "Arial", ; + Column9.Name = "cIsTerti", ; + Column9.ReadOnly = .T., ; + Column9.Sparse = .F., ; + Column10.ColumnOrder = 11, ; + Column10.ControlSource = "isfurnizori", ; + Column10.CurrentControl = "Check1", ; + Column10.FontName = "Arial", ; + Column10.Name = "cIsFurnizori", ; + Column10.ReadOnly = .T., ; + Column10.Sparse = .F., ; + Column10.Width = 99, ; + Column11.ColumnOrder = 3, ; + Column11.ControlSource = "prefix", ; + Column11.FontName = "Arial", ; + Column11.Name = "cPrefix", ; + Column11.ReadOnly = .T., ; + Column12.ColumnOrder = 5, ; + Column12.ControlSource = "an2caractere", ; + Column12.CurrentControl = "_checkbox1", ; + Column12.FontName = "Arial", ; + Column12.Name = "cAn2caractere", ; + Column12.ReadOnly = .T., ; + Column12.Sparse = .F., ; + Column12.Width = 78 + *< END OBJECT: ClassLib="_grd_base.vcx" BaseClass="grid" /> + + ADD OBJECT 'pgf_serii.PAGE1.grdSerii.cAn2caractere._checkbox1' AS _checkbox WITH ; + Alignment = 0, ; + Caption = "", ; + Left = 54, ; + Name = "_checkbox1", ; + ReadOnly = .T., ; + SpecialEffect = 1, ; + Top = 62 + *< END OBJECT: ClassLib="_baza.vcx" BaseClass="checkbox" /> + + ADD OBJECT 'pgf_serii.PAGE1.grdSerii.cAn2caractere.Header1' AS header WITH ; + Alignment = 2, ; + Caption = "Lungime an pe 2 caractere", ; + Name = "Header1", ; + WordWrap = .T. + *< END OBJECT: BaseClass="header" /> + + ADD OBJECT 'pgf_serii.PAGE1.grdSerii.cAn2caractere.Text1' AS textbox WITH ; + BackColor = 255,255,255, ; + BorderStyle = 0, ; + ForeColor = 0,0,0, ; + Margin = 0, ; + Name = "Text1", ; + SelectedBackColor = 100,185,255 + *< END OBJECT: BaseClass="textbox" /> + + ADD OBJECT 'pgf_serii.PAGE1.grdSerii.cExemplu.Header1' AS header WITH ; + Alignment = 2, ; + Caption = "Exemplu", ; + FontName = "Arial", ; + Name = "Header1" + *< END OBJECT: BaseClass="header" /> + + ADD OBJECT 'pgf_serii.PAGE1.grdSerii.cExemplu.Text1' AS textbox WITH ; + BackColor = 255,255,255, ; + BorderStyle = 0, ; + FontName = "Arial", ; + ForeColor = 0,0,0, ; + Margin = 0, ; + Name = "Text1", ; + ReadOnly = .T., ; + SelectedBackColor = 100,185,255 + *< END OBJECT: BaseClass="textbox" /> + + ADD OBJECT 'pgf_serii.PAGE1.grdSerii.cId_serie.Header1' AS header WITH ; + Alignment = 2, ; + Caption = "Id", ; + FontName = "Arial", ; + Name = "Header1" + *< END OBJECT: BaseClass="header" /> + + ADD OBJECT 'pgf_serii.PAGE1.grdSerii.cId_serie.Text1' AS textbox WITH ; + BackColor = 255,255,255, ; + BorderStyle = 0, ; + FontName = "Arial", ; + ForeColor = 0,0,0, ; + Margin = 0, ; + Name = "Text1", ; + ReadOnly = .T., ; + SelectedBackColor = 100,185,255 + *< END OBJECT: BaseClass="textbox" /> + + ADD OBJECT 'pgf_serii.PAGE1.grdSerii.cInactiv._checkbox1' AS _checkbox WITH ; + Alignment = 0, ; + AutoSize = .F., ; + Caption = "", ; + Centered = .T., ; + FontName = "Arial", ; + Left = 20, ; + Name = "_checkbox1", ; + ReadOnly = .T., ; + Top = 35 + *< END OBJECT: ClassLib="_baza.vcx" BaseClass="checkbox" /> + + ADD OBJECT 'pgf_serii.PAGE1.grdSerii.cInactiv.Header1' AS header WITH ; + Alignment = 2, ; + Caption = "Inactiva", ; + FontName = "Arial", ; + Name = "Header1" + *< END OBJECT: BaseClass="header" /> + + ADD OBJECT 'pgf_serii.PAGE1.grdSerii.cIsAutofactura.Check1' AS checkbox WITH ; + Alignment = 2, ; + Caption = "", ; + FontName = "Arial", ; + Height = 17, ; + Left = 34, ; + Name = "Check1", ; + ReadOnly = .T., ; + Top = 52, ; + Width = 60 + *< END OBJECT: BaseClass="checkbox" /> + + ADD OBJECT 'pgf_serii.PAGE1.grdSerii.cIsAutofactura.Header1' AS header WITH ; + Alignment = 2, ; + Caption = "Autofactura", ; + FontName = "Arial", ; + Name = "Header1" + *< END OBJECT: BaseClass="header" /> + + ADD OBJECT 'pgf_serii.PAGE1.grdSerii.cIsAutofactura.Text1' AS textbox WITH ; + BackColor = 255,255,255, ; + BorderStyle = 0, ; + FontName = "Arial Narrow", ; + ForeColor = 0,0,0, ; + Margin = 0, ; + Name = "Text1", ; + SelectedBackColor = 100,185,255 + *< END OBJECT: BaseClass="textbox" /> + + ADD OBJECT 'pgf_serii.PAGE1.grdSerii.cIsbeneficiari.Check1' AS checkbox WITH ; + Alignment = 2, ; + Caption = "", ; + FontName = "Arial", ; + Height = 17, ; + Left = 42, ; + Name = "Check1", ; + ReadOnly = .T., ; + Top = 52, ; + Width = 60 + *< END OBJECT: BaseClass="checkbox" /> + + ADD OBJECT 'pgf_serii.PAGE1.grdSerii.cIsbeneficiari.Header1' AS header WITH ; + Alignment = 2, ; + Caption = "Emisa de beneficiari", ; + FontName = "Arial", ; + Name = "Header1", ; + WordWrap = .T. + *< END OBJECT: BaseClass="header" /> + + ADD OBJECT 'pgf_serii.PAGE1.grdSerii.cIsbeneficiari.Text1' AS textbox WITH ; + BackColor = 255,255,255, ; + BorderStyle = 0, ; + FontName = "Arial Narrow", ; + ForeColor = 0,0,0, ; + Margin = 0, ; + Name = "Text1", ; + SelectedBackColor = 100,185,255 + *< END OBJECT: BaseClass="textbox" /> + + ADD OBJECT 'pgf_serii.PAGE1.grdSerii.cIsFurnizori.Check1' AS checkbox WITH ; + Alignment = 2, ; + Caption = "", ; + FontName = "Arial", ; + Height = 17, ; + Left = 34, ; + Name = "Check1", ; + ReadOnly = .T., ; + Top = 52, ; + Width = 60 + *< END OBJECT: BaseClass="checkbox" /> + + ADD OBJECT 'pgf_serii.PAGE1.grdSerii.cIsFurnizori.Header1' AS header WITH ; + Alignment = 2, ; + Caption = "Emisa in numele furnizorilor", ; + FontName = "Arial", ; + Name = "Header1", ; + WordWrap = .T. + *< END OBJECT: BaseClass="header" /> + + ADD OBJECT 'pgf_serii.PAGE1.grdSerii.cIsFurnizori.Text1' AS textbox WITH ; + BackColor = 255,255,255, ; + BorderStyle = 0, ; + FontName = "Arial Narrow", ; + ForeColor = 0,0,0, ; + Margin = 0, ; + Name = "Text1", ; + SelectedBackColor = 100,185,255 + *< END OBJECT: BaseClass="textbox" /> + + ADD OBJECT 'pgf_serii.PAGE1.grdSerii.cIsTerti.Check1' AS checkbox WITH ; + Alignment = 2, ; + Caption = "", ; + FontName = "Arial", ; + Height = 17, ; + Left = 38, ; + Name = "Check1", ; + ReadOnly = .T., ; + Top = 52, ; + Width = 60 + *< END OBJECT: BaseClass="checkbox" /> + + ADD OBJECT 'pgf_serii.PAGE1.grdSerii.cIsTerti.Header1' AS header WITH ; + Alignment = 2, ; + Caption = "Emisa de terti", ; + FontName = "Arial", ; + Name = "Header1" + *< END OBJECT: BaseClass="header" /> + + ADD OBJECT 'pgf_serii.PAGE1.grdSerii.cIsTerti.Text1' AS textbox WITH ; + BackColor = 255,255,255, ; + BorderStyle = 0, ; + FontName = "Arial Narrow", ; + ForeColor = 0,0,0, ; + Margin = 0, ; + Name = "Text1", ; + SelectedBackColor = 100,185,255 + *< END OBJECT: BaseClass="textbox" /> + + ADD OBJECT 'pgf_serii.PAGE1.grdSerii.cLungime.Header1' AS header WITH ; + Alignment = 2, ; + Caption = "Lungime numar", ; + FontName = "Arial", ; + Name = "Header1", ; + WordWrap = .T. + *< END OBJECT: BaseClass="header" /> + + ADD OBJECT 'pgf_serii.PAGE1.grdSerii.cLungime.Text1' AS textbox WITH ; + BackColor = 255,255,255, ; + BorderStyle = 0, ; + FontName = "Arial", ; + ForeColor = 0,0,0, ; + Margin = 0, ; + Name = "Text1", ; + ReadOnly = .T., ; + SelectedBackColor = 100,185,255 + *< END OBJECT: BaseClass="textbox" /> + + ADD OBJECT 'pgf_serii.PAGE1.grdSerii.cPrefix.Header1' AS header WITH ; + Alignment = 2, ; + Caption = "Prefix", ; + Name = "Header1" + *< END OBJECT: BaseClass="header" /> + + ADD OBJECT 'pgf_serii.PAGE1.grdSerii.cPrefix.Text1' AS textbox WITH ; + BackColor = 255,255,255, ; + BorderStyle = 0, ; + ForeColor = 0,0,0, ; + Margin = 0, ; + Name = "Text1", ; + ReadOnly = .T., ; + SelectedBackColor = 100,185,255 + *< END OBJECT: BaseClass="textbox" /> + + ADD OBJECT 'pgf_serii.PAGE1.grdSerii.cResetare.Header1' AS header WITH ; + Alignment = 2, ; + Caption = "Resetare", ; + FontName = "Arial", ; + Name = "Header1" + *< END OBJECT: BaseClass="header" /> + + ADD OBJECT 'pgf_serii.PAGE1.grdSerii.cResetare.Text1' AS textbox WITH ; + BackColor = 255,255,255, ; + BorderStyle = 0, ; + FontName = "Arial", ; + ForeColor = 0,0,0, ; + Margin = 0, ; + Name = "Text1", ; + ReadOnly = .T., ; + SelectedBackColor = 100,185,255 + *< END OBJECT: BaseClass="textbox" /> + + ADD OBJECT 'pgf_serii.PAGE1.grdSerii.cSerie.Header1' AS header WITH ; + Alignment = 2, ; + Caption = "Serie", ; + FontName = "Arial", ; + Name = "Header1" + *< END OBJECT: BaseClass="header" /> + + ADD OBJECT 'pgf_serii.PAGE1.grdSerii.cSerie.Text1' AS textbox WITH ; + BackColor = 255,255,255, ; + BorderStyle = 0, ; + FontName = "Arial", ; + ForeColor = 0,0,0, ; + Margin = 0, ; + Name = "Text1", ; + ReadOnly = .T., ; + SelectedBackColor = 100,185,255 + *< END OBJECT: BaseClass="textbox" /> + + ADD OBJECT 'pgf_serii.PAGE2.grdSerii' AS _grdrow WITH ; + Anchor = 14, ; + ColumnCount = 6, ; + DeleteMark = .F., ; + FontCharSet = 1, ; + FontName = "Arial", ; + HeaderHeight = 19, ; + Height = 147, ; + lcamptextneeditabil = .F., ; + Left = 7, ; + Name = "grdSerii", ; + Panel = 1, ; + ReadOnly = .T., ; + RecordSource = "crsSeriiPlaje", ; + TabIndex = 6, ; + Top = 3, ; + Width = 715, ; + Column1.ColumnOrder = 6, ; + Column1.ControlSource = "id_serie", ; + Column1.FontCharSet = 1, ; + Column1.FontName = "Arial", ; + Column1.Name = "cId_serie", ; + Column1.ReadOnly = .T., ; + Column1.Width = 114, ; + Column2.ColumnOrder = 1, ; + Column2.ControlSource = "serie", ; + Column2.FontCharSet = 1, ; + Column2.FontName = "Arial", ; + Column2.Name = "cSerie", ; + Column2.ReadOnly = .T., ; + Column2.Width = 124, ; + Column3.ColumnOrder = 4, ; + Column3.ControlSource = "lungime", ; + Column3.FontCharSet = 1, ; + Column3.FontName = "Arial", ; + Column3.Name = "cLungime", ; + Column3.ReadOnly = .T., ; + Column3.Width = 75, ; + Column4.ColumnOrder = 5, ; + Column4.ControlSource = "exemplu", ; + Column4.FontCharSet = 1, ; + Column4.FontName = "Arial", ; + Column4.Name = "cExemplu", ; + Column4.ReadOnly = .T., ; + Column4.Width = 122, ; + Column5.ColumnOrder = 3, ; + Column5.ControlSource = "resetare", ; + Column5.FontCharSet = 1, ; + Column5.FontName = "Arial", ; + Column5.Name = "cResetare", ; + Column5.ReadOnly = .T., ; + Column6.ColumnOrder = 2, ; + Column6.ControlSource = "inactiv", ; + Column6.FontCharSet = 1, ; + Column6.FontName = "Arial", ; + Column6.Name = "cInactiv", ; + Column6.ReadOnly = .T., ; + Column6.Sparse = .F., ; + Column6.Width = 50 + *< END OBJECT: ClassLib="_grd_base.vcx" BaseClass="grid" /> + + ADD OBJECT 'pgf_serii.PAGE2.grdSerii.cExemplu.Header1' AS header WITH ; + Alignment = 2, ; + Caption = "Exemplu", ; + FontCharSet = 1, ; + FontName = "Arial", ; + Name = "Header1" + *< END OBJECT: BaseClass="header" /> + + ADD OBJECT 'pgf_serii.PAGE2.grdSerii.cExemplu.Text1' AS textbox WITH ; + BackColor = 255,255,255, ; + BorderStyle = 0, ; + FontCharSet = 1, ; + FontName = "Arial", ; + ForeColor = 0,0,0, ; + Margin = 0, ; + Name = "Text1", ; + SelectedBackColor = 100,185,255 + *< END OBJECT: BaseClass="textbox" /> + + ADD OBJECT 'pgf_serii.PAGE2.grdSerii.cId_serie.Header1' AS header WITH ; + Alignment = 2, ; + Caption = "Id", ; + FontCharSet = 1, ; + FontName = "Arial", ; + Name = "Header1" + *< END OBJECT: BaseClass="header" /> + + ADD OBJECT 'pgf_serii.PAGE2.grdSerii.cId_serie.Text1' AS textbox WITH ; + BackColor = 255,255,255, ; + BorderStyle = 0, ; + FontCharSet = 1, ; + FontName = "Arial", ; + ForeColor = 0,0,0, ; + Margin = 0, ; + Name = "Text1", ; + ReadOnly = .T., ; + SelectedBackColor = 100,185,255 + *< END OBJECT: BaseClass="textbox" /> + + ADD OBJECT 'pgf_serii.PAGE2.grdSerii.cInactiv._checkbox1' AS _checkbox WITH ; + Alignment = 0, ; + AutoSize = .F., ; + Caption = "", ; + Centered = .T., ; + FontCharSet = 1, ; + FontName = "Arial", ; + Left = 20, ; + Name = "_checkbox1", ; + ReadOnly = .T., ; + Top = 35 + *< END OBJECT: ClassLib="_baza.vcx" BaseClass="checkbox" /> + + ADD OBJECT 'pgf_serii.PAGE2.grdSerii.cInactiv.Header1' AS header WITH ; + Alignment = 2, ; + Caption = "Inactiva", ; + FontCharSet = 1, ; + FontName = "Arial", ; + Name = "Header1" + *< END OBJECT: BaseClass="header" /> + + ADD OBJECT 'pgf_serii.PAGE2.grdSerii.cLungime.Header1' AS header WITH ; + Alignment = 2, ; + Caption = "Lungime numar", ; + FontCharSet = 1, ; + FontName = "Arial", ; + Name = "Header1", ; + WordWrap = .T. + *< END OBJECT: BaseClass="header" /> + + ADD OBJECT 'pgf_serii.PAGE2.grdSerii.cLungime.Text1' AS textbox WITH ; + BackColor = 255,255,255, ; + BorderStyle = 0, ; + FontCharSet = 1, ; + FontName = "Arial", ; + ForeColor = 0,0,0, ; + Margin = 0, ; + Name = "Text1", ; + ReadOnly = .T., ; + SelectedBackColor = 100,185,255 + *< END OBJECT: BaseClass="textbox" /> + + ADD OBJECT 'pgf_serii.PAGE2.grdSerii.cResetare.Header1' AS header WITH ; + Alignment = 2, ; + Caption = "Resetare", ; + FontCharSet = 1, ; + FontName = "Arial", ; + Name = "Header1" + *< END OBJECT: BaseClass="header" /> + + ADD OBJECT 'pgf_serii.PAGE2.grdSerii.cResetare.Text1' AS textbox WITH ; + BackColor = 255,255,255, ; + BorderStyle = 0, ; + FontCharSet = 1, ; + FontName = "Arial", ; + ForeColor = 0,0,0, ; + Margin = 0, ; + Name = "Text1", ; + SelectedBackColor = 100,185,255 + *< END OBJECT: BaseClass="textbox" /> + + ADD OBJECT 'pgf_serii.PAGE2.grdSerii.cSerie.Header1' AS header WITH ; + Alignment = 2, ; + Caption = "Serie", ; + FontCharSet = 1, ; + FontName = "Arial", ; + Name = "Header1" + *< END OBJECT: BaseClass="header" /> + + ADD OBJECT 'pgf_serii.PAGE2.grdSerii.cSerie.Text1' AS textbox WITH ; + BackColor = 255,255,255, ; + BorderStyle = 0, ; + FontCharSet = 1, ; + FontName = "Arial", ; + ForeColor = 0,0,0, ; + Margin = 0, ; + Name = "Text1", ; + ReadOnly = .T., ; + SelectedBackColor = 100,185,255 + *< END OBJECT: BaseClass="textbox" /> + + PROCEDURE actualizeaza_form + ENDPROC + + PROCEDURE actualizeaza_grid1 + Lparameters tcFiltru + Local lcFiltru + lcFiltru = tcFiltru + If Empty(lcFiltru) + lcFiltru = poDocumente.ca_baza1.cfiltru + Endif + save_grid_comment(Thisform.grdDocumente) + poDocumente.ca_baza1.cfiltru = lcFiltru + poDocumente.ca_baza1.afisare() + restore_grid_comment(Thisform.grdDocumente) + ENDPROC + + PROCEDURE actualizeaza_grid2 + Lparameters tcFiltru + Local lcFiltru + lcFiltru = tcFiltru + If Empty(lcFiltru) + lcFiltru = poPlaje.ca_baza1.cfiltru + Endif + save_grid_comment(Thisform.grdPlaje) + poPlaje.ca_baza1.cfiltru = lcFiltru + poPlaje.ca_baza1.afisare() + restore_grid_comment(Thisform.grdPlaje) + ENDPROC + + PROCEDURE actualizeaza_grid3 + Lparameters tcFiltru + Local lcFiltru + lcFiltru = tcFiltru + If Empty(lcFiltru) + lcFiltru = poSerii.ca_baza1.cfiltru + Endif + save_grid_comment(Thisform.pgf_serii.page1.grdSerii) + poSerii.ca_baza1.cfiltru = lcFiltru + poSerii.ca_baza1.afisare() + restore_grid_comment(Thisform.pgf_serii.page1.grdSerii) + ENDPROC + + PROCEDURE actualizeaza_grid4 + save_grid_comment(Thisform.pgf_serii.page2.grdSerii) + Select id_serie, serie, an, luna, lungime, inactiv, resetare, exemplu, 0 As selectat From crsSerii ; + WHERE id_serie In (Select Distinct id_serie From crsPlaje) Into Cursor crsSeriiPlaje Readwrite + restore_grid_comment(Thisform.pgf_serii.page2.grdSerii) + ENDPROC + + PROCEDURE do_adauga + If Reccount('crsTipDoc') >0 + Select crsPlaje + Scatter Name loRec Blank + Select crsTipDoc + loRec.id_tipentitate = id_tipentitate + loRec.id_tipdoc = id_tipdoc + loRec.tipentitate = tipentitate + AddProperty(loRec,'cu_serie',cu_serie) + pniesire = 0 + Do Adauga_Modifica_Inregistrare With "plaje",loRec,,"INSERT" + If pniesire=1 + Thisform.actualizeaza_grid2() + Thisform.actualizeaza_grid4() + Endif + Thisform.grdPlaje.SetFocus() + Else + amessagebox("Nu ati ales un document!",48,"Atentie") + Endif + + ENDPROC + + PROCEDURE do_adauga_serie + Select crsSerii + Scatter Name loRec Blank + pniesire = 0 + Do Adauga_Modifica_Inregistrare With "serii",loRec,,"INSERT" + If pniesire=1 + Thisform.actualizeaza_grid3() + Endif + Thisform.pgf_serii.page1.grdSerii.SetFocus() + + ENDPROC + + PROCEDURE do_modifica + If Reccount('crsPlaje')>0 + Select crsPlaje + Scatter Name loRec + Select crsTipDoc + AddProperty(loRec,'cu_serie',cu_serie) + AddProperty(loRec,'id_tipentitate2',id_tipentitate) + lcExplicatie = Lower(Alltrim(descriere)) + If loRec.inactiv = 1 And loRec.id_tipentitate2 <> loRec.id_tipentitate + amessagebox("Nu puteti modifica aceasta plaja, deoarece tipul de entitate nu corespunde cu cel setat pentru " + ; + lcExplicatie + " !",48,"Atentie") + Else + pniesire = 0 + Do Adauga_Modifica_Inregistrare With "plaje",loRec,loRec.id_plaja,"UPDATE" + If pniesire=1 + Thisform.actualizeaza_grid2() + Thisform.actualizeaza_grid4() + Endif + Select crsPlaje + Locate For id_plaja = loRec.id_plaja + Thisform.grdPlaje.SetFocus() + Endif + Release loRec + Else + amessagebox("Nu puteti face modificari,deoarece in aceasta selectie nu exista inregistrari!",0+48,"Atentie") + Endif + ENDPROC + + PROCEDURE do_modifica_serie + If Reccount('crsSerii')>0 + Select crsSerii + Scatter Name loRec + pniesire = 0 + Do Adauga_Modifica_Inregistrare With "serii",loRec,loRec.id_serie,"UPDATE" + If pniesire=1 + Thisform.actualizeaza_grid3() + Endif + Select crsSerii + Locate For id_serie = loRec.id_serie + Thisform.pgf_serii.page1.grdSerii.SetFocus() + Else + amessagebox("Nu puteti face modificari, deoarece in aceasta selectie nu exista inregistrari!",0+48,"Atentie") + Endif + + ENDPROC + + PROCEDURE do_modifica_tipdoc + If Reccount('crsTipDoc')>0 + Select crsTipDoc + Scatter Name loRec + AddProperty(loRec,'dezactiveaza_tot',0) + pniesire = 0 + Do Adauga_Modifica_Inregistrare With "tipdoc",loRec,loRec.id_tipdoc,"UPDATE" + If pniesire=1 + Thisform.actualizeaza_grid1() + Endif + Select crsTipDoc + Locate For id_tipdoc = loRec.id_tipdoc + Thisform.grdDocumente.SetFocus() + Else + amessagebox("Nu puteti face modificari,deoarece in aceasta selectie nu exista inregistrari!",0+48,"Atentie") + Endif + ENDPROC + + PROCEDURE do_modiparam + PRIVATE pnIdPlaja, pnNumarVechi, pnNumarNou + SELECT crsPlaje + pnIdPlaja = id_plaja + pnNumarVechi = urmval + pnNumarNou = m.pnNumarVechi + loFrmSeteazaNumar = CREATEOBJECT("frm_seteaza_numar") + loFrmSeteazaNumar.Show(1) + IF m.gnButon = 2 + RETURN + ENDIF + llSucces = goExecutor.oExecuta([BEGIN pack_serii_numere.seteaza_numar(?pnIdPlaja, ?pnNumarVechi, ?pnNumarNou); END;]) + IF m.llSucces + Thisform.actualizeaza_grid2() + Thisform.actualizeaza_grid4() + + Select crsPlaje + Locate For id_plaja = m.pnIdPlaja + Thisform.grdPlaje.SetFocus() + ENDIF + + + ENDPROC + + PROCEDURE do_sterge + If Reccount('crsPlaje')>0 + Select crsPlaje + Scatter Name loRec + pniesire = 0 + Do STERGE_INREGISTRARE With "plaje",loRec.id_plaja + If pniesire = 1 + Thisform.actualizeaza_grid2() + Thisform.actualizeaza_grid4() + Endif + Thisform.grdPlaje.SetFocus() + Else + amessagebox("Nu puteti sterge,deoarece in aceasta selectie nu exista inregistrari!",0+48,"Atentie") + Endif + ENDPROC + + PROCEDURE do_sterge_serie + If Reccount('crsSerii')>0 + Select crsSerii + Scatter Name loRec + pniesire = 0 + Do STERGE_INREGISTRARE With "serii",loRec.id_serie + If pniesire = 1 + Thisform.actualizeaza_grid3() + Endif + Thisform.pgf_serii.page1.grdSerii.SetFocus() + Else + amessagebox("Nu puteti sterge,deoarece in aceasta selectie nu exista inregistrari!",0+48,"Atentie") + Endif + ENDPROC + + PROCEDURE Init + DoDefault() + Thisform.grdPlaje.SetAll([DynamicForeColor],[IIF(inactiv=1,RGB(128,128,128),RGB(0,0,0))],[Column]) + Thisform.grdPlaje.SetAll([DynamicFontItalic],[IIF(valabil=0,.T.,.F.)],[Column]) + Thisform.pgf_serii.page2.grdSerii.SetAll([DynamicBackColor],[IIF(selectat=1,RGB(173,178,206),RGB(255,255,255))],[Column]) + If !Isnull(gnIdSucursala) + Thisform.RemoveObject([but_modifica3]) + Endif + + ENDPROC + + PROCEDURE grdDocumente.AfterRowColChange + Lparameters nColIndex + If Inlist(This.RowColChange,0,1,3) + Select crsTipdoc + lnIdTipDoc = id_tipdoc + lcExplicatie = Lower(Alltrim(descriere)) + lnCuPlaje = cu_plaje + lcFiltru = [id_tipdoc = ] + Alltrim(Str(lnIdTipDoc)) + Do Case + Case Thisform.opt_inactiv.Value = 2 + lcFiltru = lcFiltru + [ and inactiv = 0] + Case Thisform.opt_inactiv.Value = 3 + lcFiltru = lcFiltru + [ and inactiv = 1] + Endcase + If lnCuPlaje = 1 + Thisform.but_nou1.Visible = .T. + Thisform.but_modifica1.Visible = .T. + Thisform.but_sterge1.Visible = .T. + Thisform.but_modiparam1.Visible = .T. + Else + Thisform.but_nou1.Visible = .F. + Thisform.but_modifica1.Visible = .F. + Thisform.but_sterge1.Visible = .F. + Thisform.but_modiparam1.Visible = .F. + Endif + Thisform.lb_plaje_numere.Caption = [Plaje de ] + lcExplicatie + Thisform.pgf_serii.page2.Caption = [Serii folosite la plajele de ] + lcExplicatie + Thisform.actualizeaza_grid2(lcFiltru) + Thisform.actualizeaza_grid4() + Endif + + ENDPROC + + PROCEDURE grdPlaje.AfterRowColChange + Lparameters nColIndex + If Inlist(This.RowColChange,1,3) + Select crsPlaje + lnIdSerie = id_serie + Select crsSeriiPlaje + Replace selectat With Iif(id_serie=lnIdSerie,1,0) All + Locate For selectat = 1 + If !Found() + Go Top + ENDIF + Thisform.pgf_serii.page2.Refresh() + Endif + + ENDPROC + + PROCEDURE opt_inactiv.InteractiveChange + If Reccount('crsTipDoc')>0 + Select crsTipdoc + lnIdTipDoc = id_tipdoc + lcFiltru = [id_tipdoc = ] + Alltrim(Str(lnIdTipDoc)) + Do Case + Case Thisform.opt_inactiv.Value = 2 + lcFiltru = lcFiltru + [ and inactiv = 0] + Case Thisform.opt_inactiv.Value = 3 + lcFiltru = lcFiltru + [ and inactiv = 1] + Endcase + Thisform.actualizeaza_grid2(lcFiltru) + Endif + ENDPROC + +ENDDEFINE + +DEFINE CLASS frm_serii_nou AS _frmbase OF "_frm_base.vcx" + *< CLASSDATA: Baseclass="form" Timestamp="" Scale="Pixels" Uniqueid="" /> + + *-- OBJECTDATA items order determines ZOrder / El orden de los items OBJECTDATA determina el ZOrder + *< OBJECTDATA: ObjPath="_shape3" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="But_renunt1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="txtSerie" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="_lbbase1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="cboResetare" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="_lbbase2" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="txtLungime" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="_lbbase3" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="chkInactiv" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="_lbbase4" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="lblExemplu" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="Cus_odata_serii1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="cboTip" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="_lbbase5" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="txtPrefix" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="_lbbase6" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="chkAn2Caractere" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="lblAn2Caractere" UniqueID="" Timestamp="" /> + + * + *m: actualizeaza_form + *m: refreshexemplu + *p: nid + *p: orec + * + + * + BorderStyle = 1 + DoCreate = .T. + Height = 252 + lactiv3 = .T. + lactiv4 = .T. + Name = "frm_serii_nou" + nid = 0 + orec = .NULL. + Width = 264 + _memberdata = + + + _shape1.Height = 29 + _shape1.Left = 0 + _shape1.Name = "_shape1" + _shape1.Top = 0 + _shape1.Width = 612 + _shape1.ZOrderSet = 1 + _shape2.Name = "_shape2" + _shape2.ZOrderSet = 2 + Lb_titlu_alb_b121.Caption = "SERII" + Lb_titlu_alb_b121.FontBold = .T. + Lb_titlu_alb_b121.Name = "Lb_titlu_alb_b121" + Lb_titlu_alb_b121.TabIndex = 11 + Lb_titlu_alb_b121.ZOrderSet = 3 + BUT_TERMIN1.Left = 234 + BUT_TERMIN1.Name = "BUT_TERMIN1" + BUT_TERMIN1.TabIndex = 7 + BUT_TERMIN1.Top = 1 + BUT_TERMIN1.ZOrderSet = 4 + Gridsort1.Left = 10 + Gridsort1.Name = "Gridsort1" + Gridsort1.Top = 42 + * + + ADD OBJECT '_lbbase1' AS _lbbase WITH ; + Caption = "Serie", ; + Left = 10, ; + Name = "_lbbase1", ; + TabIndex = 12, ; + Top = 45, ; + ZOrderSet = 8 + *< END OBJECT: ClassLib="_lb_base.vcx" BaseClass="label" /> + + ADD OBJECT '_lbbase2' AS _lbbase WITH ; + Caption = "Resetare", ; + Left = 10, ; + Name = "_lbbase2", ; + TabIndex = 14, ; + Top = 129, ; + ZOrderSet = 10 + *< END OBJECT: ClassLib="_lb_base.vcx" BaseClass="label" /> + + ADD OBJECT '_lbbase3' AS _lbbase WITH ; + Caption = "Lungime numar", ; + Left = 10, ; + Name = "_lbbase3", ; + TabIndex = 15, ; + Top = 103, ; + ZOrderSet = 12 + *< END OBJECT: ClassLib="_lb_base.vcx" BaseClass="label" /> + + ADD OBJECT '_lbbase4' AS _lbbase WITH ; + Caption = "Inactiv", ; + Left = 10, ; + Name = "_lbbase4", ; + TabIndex = 17, ; + Top = 228, ; + ZOrderSet = 14 + *< END OBJECT: ClassLib="_lb_base.vcx" BaseClass="label" /> + + ADD OBJECT '_lbbase5' AS _lbbase WITH ; + Caption = "Tip special D394", ; + Left = 10, ; + Name = "_lbbase5", ; + TabIndex = 13, ; + Top = 200, ; + ZOrderSet = 18 + *< END OBJECT: ClassLib="_lb_base.vcx" BaseClass="label" /> + + ADD OBJECT '_lbbase6' AS _lbbase WITH ; + Caption = "Prefix (numeric)", ; + Left = 10, ; + Name = "_lbbase6", ; + TabIndex = 16, ; + Top = 77, ; + ZOrderSet = 20 + *< END OBJECT: ClassLib="_lb_base.vcx" BaseClass="label" /> + + ADD OBJECT '_shape3' AS _shape WITH ; + BackStyle = 0, ; + Height = 126, ; + Left = 5, ; + Name = "_shape3", ; + Top = 69, ; + Width = 253, ; + ZOrderSet = 0 + *< END OBJECT: ClassLib="_baza.vcx" BaseClass="shape" /> + + ADD OBJECT 'But_renunt1' AS but_renunt WITH ; + Left = 204, ; + Name = "But_renunt1", ; + TabIndex = 8, ; + Top = 1, ; + ZOrderSet = 6 + *< END OBJECT: ClassLib="cmd_butoane.vcx" BaseClass="commandbutton" /> + + ADD OBJECT 'cboResetare' AS _combobox WITH ; + Height = 24, ; + Left = 122, ; + Name = "cboResetare", ; + RowSource = "Fara resetare,An,Luna", ; + RowSourceType = 1, ; + TabIndex = 3, ; + ToolTipText = "Seria se reseteaza la inceputul fiecarui an/luna", ; + Top = 126, ; + Value = Fara resetare, ; + Width = 130, ; + ZOrderSet = 9 + *< END OBJECT: ClassLib="_baza.vcx" BaseClass="combobox" /> + + ADD OBJECT 'cboTip' AS _combobox WITH ; + Height = 24, ; + Left = 122, ; + Name = "cboTip", ; + RowSource = "Normal,Autofactura,Emisa de beneficiari,Emisa de terti,Emisa in numele furnizorilor", ; + RowSourceType = 1, ; + TabIndex = 6, ; + ToolTipText = "Autofactura,Emisa de beneficiari,Emisa de terti,Emisa in numele furnizorilor", ; + Top = 197, ; + Value = Normal, ; + Width = 137, ; + ZOrderSet = 17 + *< END OBJECT: ClassLib="_baza.vcx" BaseClass="combobox" /> + + ADD OBJECT 'chkAn2Caractere' AS _checkbox WITH ; + Alignment = 0, ; + Caption = "", ; + ControlSource = "poRec.an2caractere", ; + Enabled = .F., ; + Left = 122, ; + Name = "chkAn2Caractere", ; + TabIndex = 4, ; + TabStop = .F., ; + Top = 150, ; + ZOrderSet = 21 + *< END OBJECT: ClassLib="_baza.vcx" BaseClass="checkbox" /> + + ADD OBJECT 'chkInactiv' AS _checkbox WITH ; + Alignment = 0, ; + Caption = "", ; + ControlSource = "poRec.inactiv", ; + Left = 122, ; + Name = "chkInactiv", ; + TabIndex = 9, ; + TabStop = .F., ; + Top = 228, ; + ZOrderSet = 13 + *< END OBJECT: ClassLib="_baza.vcx" BaseClass="checkbox" /> + + ADD OBJECT 'Cus_odata_serii1' AS cus_odata_serii WITH ; + Left = 96, ; + Name = "Cus_odata_serii1", ; + Top = 2 + *< END OBJECT: ClassLib="serii_numere.vcx" BaseClass="custom" /> + + ADD OBJECT 'lblAn2Caractere' AS _lbbase WITH ; + Caption = "An pe 2 caractere", ; + Enabled = .F., ; + Left = 10, ; + Name = "lblAn2Caractere", ; + TabIndex = 18, ; + Top = 150, ; + ZOrderSet = 22 + *< END OBJECT: ClassLib="_lb_base.vcx" BaseClass="label" /> + + ADD OBJECT 'lblExemplu' AS _lbbase WITH ; + AutoSize = .F., ; + Caption = "Ex:", ; + Height = 17, ; + Left = 10, ; + Name = "lblExemplu", ; + TabIndex = 10, ; + Top = 173, ; + Width = 231, ; + ZOrderSet = 15 + *< END OBJECT: ClassLib="_lb_base.vcx" BaseClass="label" /> + + ADD OBJECT 'txtLungime' AS _textbox WITH ; + ControlSource = "poRec.lungime", ; + Format = "KR", ; + Height = 23, ; + InputMask = "99999999", ; + Left = 122, ; + Name = "txtLungime", ; + TabIndex = 5, ; + ToolTipText = "Pe cate caractere se genereaza numerele din serie", ; + Top = 101, ; + Width = 74, ; + ZOrderSet = 11 + *< END OBJECT: ClassLib="_baza.vcx" BaseClass="textbox" /> + + ADD OBJECT 'txtPrefix' AS _textbox WITH ; + ControlSource = "poRec.prefix", ; + Format = "RK", ; + Height = 23, ; + InputMask = "99999", ; + Left = 122, ; + MaxLength = 5, ; + Name = "txtPrefix", ; + TabIndex = 2, ; + ToolTipText = "Pe cate caractere se genereaza numerele din serie", ; + Top = 75, ; + Width = 74, ; + ZOrderSet = 19 + *< END OBJECT: ClassLib="_baza.vcx" BaseClass="textbox" /> + + ADD OBJECT 'txtSerie' AS _textbox WITH ; + ControlSource = "poRec.serie", ; + Format = "!K", ; + Height = 23, ; + Left = 122, ; + MaxLength = 10, ; + Name = "txtSerie", ; + TabIndex = 1, ; + Top = 42, ; + Width = 137, ; + ZOrderSet = 7 + *< END OBJECT: ClassLib="_baza.vcx" BaseClass="textbox" /> + + PROCEDURE actualizeaza_form + ENDPROC + + PROCEDURE inainte_de_do_termin + Local PLRETURN + lccontrol = Upper(This.ActiveControl.BaseClass ) + If Inlist(lccontrol,"TEXTBOX","EDITBOX","COMBOBOX") + lcval=This.ActiveControl.ControlSource + &lcval=Thisform.ActiveControl.Value + Endif + + lcValoare = This.CBOresetare.Value && Fara resetare/An/Luna + + Do Case + Case lcValoare == 'Fara resetare' + poRec.an = 0 + poRec.luna = 0 + Case lcValoare == 'An' + poRec.an = 1 + poRec.luna = 0 + Otherwise + poRec.an = 1 + poRec.luna = 1 + Endcase + *!* lnLungimeMinima = poRec.an * 4 + poRec.luna * 2 + + lcValoare = this.cboTip.Value + poRec.isautofactura = 0 + poRec.isbeneficiari = 0 + poRec.isterti = 0 + poRec.isfurnizori = 0 + Do Case + Case lcValoare = 'Autofactura' + poRec.isautofactura = 1 + Case lcValoare = 'Emisa de beneficiari' + poRec.isbeneficiari = 1 + Case lcValoare = 'Emisa de terti' + poRec.isterti = 1 + Case lcValoare = 'Emisa in numele furnizorilor' + poRec.isfurnizori = 1 + ENDCASE + + Do Case + Case Empty(poRec.serie) + amessagebox('Nu ati introdus seria!',0+48,"Atentie") + Thisform.txtSerie.SetFocus() + PLRETURN=.F. + Case Empty(poRec.lungime) + amessagebox('Nu ati introdus lungimea seriei!',0+48,"Atentie") + Thisform.txtLungime.SetFocus() + PLRETURN=.F. + *!* Case poRec.lungime <= lnLungimeMinima + *!* amessagebox('Lungimea trebuie sa fie mai mare decat '+Alltrim(Str(lnLungimeMinima))+' !',48,"Atentie") + *!* Thisform.txtLungime.SetFocus() + *!* PLRETURN = .F. + *!* Case poRec.lungime > poRec.MaxLen + *!* amessagebox('Lungimea nu poate fi mai mare decat '+Alltrim(Str(poRec.MaxLen))+' !',48,"Atentie") + *!* Thisform.txtLungime.SetFocus() + *!* PLRETURN = .F. + + Otherwise + PLRETURN=Thisform.cus_odata_serii1.salvare(This.OREC,This.NID) + If !PLRETURN + Thisform.txtSerie.SetFocus() + Endif + Endcase + Return PLRETURN + + ENDPROC + + PROCEDURE Init + Lparameters toRec, tnId, tcActiune + Local lcValoare,lnValoare + DoDefault() + + Thisform.orec= toRec + Thisform.nid = tnId + Thisform.cus_odata_serii1.cactiune = tcActiune + + lcValoare = "Fara resetare" && Fara resetare/An/Luna + lnValoare = poRec.an + poRec.luna + Do Case + Case lnValoare = 0 + lcValoare = 'Fara resetare' + Case lnValoare = 1 + lcValoare = 'An' + Otherwise + lcValoare = 'Luna' + Endcase + This.cboresetare.Value = m.lcValoare + This.cboresetare.Valid() + + Do Case + Case poRec.isautofactura = 1 + lcValoare = 'Autofactura' + Case poRec.isbeneficiari = 1 + lcValoare = 'Emisa de beneficiari' + Case poRec.isterti = 1 + lcValoare = 'Emisa de terti' + Case poRec.isfurnizori = 1 + lcValoare = 'Emisa in numele furnizorilor' + Otherwise + lcValoare = 'Normal' + Endcase + + This.cboTip.Value = m.lcValoare + + + ENDPROC + + PROCEDURE refreshexemplu + Local lcAn, lcLuna, lcLungime, lcPrefix, lcValueResetare, llAn2Caractere, llFaraResetare, lnLungime + lcPrefix = IIF(ISNULL(poRec.prefix), '', Alltrim(Str(poRec.prefix, 5, 0))) + lcValueResetare = This.cboResetare.Value + llFaraResetare = (m.lcValueResetare = 'Fara resetare') + lnLungime = Thisform.txtLungime.Value + llAn2Caractere = (poRec.an2caractere = 1) + lcAn = Alltrim(Str(m.gnAn)) + If m.llAn2Caractere + lcAn = Substr(m.lcAn, 3) + Endif + lcLuna = Padl(Alltrim(Str(m.gnLuna)), 2, "0") + lcLungime = Padl("1", m.lnLungime, "0") + + If m.llFaraResetare + Thisform.lblExemplu.Caption = "Ex:" + Else + Thisform.lblExemplu.Caption = "Ex: " + m.lcPrefix + ; + Iif(m.lcValueResetare = "An", m.lcAn + m.lcLungime, ; + Iif(m.lcValueResetare = "Luna", m.lcAn + m.lcLuna + m.lcLungime, "")) + Endif + ENDPROC + + PROCEDURE cboResetare.Valid + Local llResetare + llResetare = (This.Value <> 'Fara resetare') + Thisform.lblAn2Caractere.Enabled = m.llResetare + Thisform.chkAn2Caractere.Enabled = m.llResetare + + Thisform.RefreshExemplu() + ENDPROC + + PROCEDURE chkAn2Caractere.Valid + Thisform.RefreshExemplu() + ENDPROC + + PROCEDURE txtLungime.Valid + Thisform.RefreshExemplu() + ENDPROC + + PROCEDURE txtPrefix.Valid + Thisform.RefreshExemplu() + ENDPROC + +ENDDEFINE + +DEFINE CLASS frm_seteaza_numar AS _frmbase OF "_frm_base.vcx" + *< CLASSDATA: Baseclass="form" Timestamp="" Scale="Pixels" Uniqueid="" /> + + *-- OBJECTDATA items order determines ZOrder / El orden de los items OBJECTDATA determina el ZOrder + *< OBJECTDATA: ObjPath="But_renunt1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="txtNumarNou" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="_lbbase3" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="txtNumarVechi" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="_lbbase6" UniqueID="" Timestamp="" /> + + * + *m: actualizeaza_form + *m: refreshexemplu + *p: nid + *p: orec + * + + * + BorderStyle = 1 + DoCreate = .T. + Height = 95 + lactiv3 = .T. + lactiv4 = .T. + Name = "frm_seteaza_numar" + nid = 0 + orec = .NULL. + Width = 243 + _memberdata = + + + _shape1.Height = 29 + _shape1.Left = 0 + _shape1.Name = "_shape1" + _shape1.Top = 0 + _shape1.Width = 612 + _shape1.ZOrderSet = 1 + _shape2.Name = "_shape2" + _shape2.ZOrderSet = 2 + Lb_titlu_alb_b121.Caption = "Actualizare numar" + Lb_titlu_alb_b121.FontBold = .T. + Lb_titlu_alb_b121.Name = "Lb_titlu_alb_b121" + Lb_titlu_alb_b121.TabIndex = 5 + Lb_titlu_alb_b121.ZOrderSet = 3 + BUT_TERMIN1.Left = 213 + BUT_TERMIN1.Name = "BUT_TERMIN1" + BUT_TERMIN1.TabIndex = 2 + BUT_TERMIN1.Top = 1 + BUT_TERMIN1.ZOrderSet = 4 + Gridsort1.Left = 168 + Gridsort1.Name = "Gridsort1" + Gridsort1.Top = 12 + * + + ADD OBJECT '_lbbase3' AS _lbbase WITH ; + Caption = "Numar nou", ; + Left = 10, ; + Name = "_lbbase3", ; + TabIndex = 6, ; + Top = 67, ; + ZOrderSet = 12 + *< END OBJECT: ClassLib="_lb_base.vcx" BaseClass="label" /> + + ADD OBJECT '_lbbase6' AS _lbbase WITH ; + Caption = "Numar vechi", ; + Left = 10, ; + Name = "_lbbase6", ; + TabIndex = 7, ; + Top = 41, ; + ZOrderSet = 20 + *< END OBJECT: ClassLib="_lb_base.vcx" BaseClass="label" /> + + ADD OBJECT 'But_renunt1' AS but_renunt WITH ; + Left = 183, ; + Name = "But_renunt1", ; + TabIndex = 4, ; + Top = 1, ; + ZOrderSet = 6 + *< END OBJECT: ClassLib="cmd_butoane.vcx" BaseClass="commandbutton" /> + + ADD OBJECT 'txtNumarNou' AS _textbox WITH ; + ControlSource = "pnNumarNou", ; + Format = "K", ; + Height = 23, ; + Left = 90, ; + Name = "txtNumarNou", ; + TabIndex = 1, ; + ToolTipText = "Pe cate caractere se genereaza numerele din serie", ; + Top = 65, ; + Width = 147, ; + ZOrderSet = 11 + *< END OBJECT: ClassLib="_baza.vcx" BaseClass="textbox" /> + + ADD OBJECT 'txtNumarVechi' AS _textbox WITH ; + ControlSource = "pnNumarVechi", ; + Enabled = .T., ; + Format = "K", ; + Height = 23, ; + Left = 90, ; + Name = "txtNumarVechi", ; + ReadOnly = .T., ; + TabIndex = 3, ; + ToolTipText = "Pe cate caractere se genereaza numerele din serie", ; + Top = 39, ; + Width = 147, ; + ZOrderSet = 19 + *< END OBJECT: ClassLib="_baza.vcx" BaseClass="textbox" /> + + PROCEDURE txtNumarNou.Valid + Thisform.RefreshExemplu() + ENDPROC + + PROCEDURE txtNumarVechi.Valid + Thisform.RefreshExemplu() + ENDPROC + +ENDDEFINE + +DEFINE CLASS frm_tipdoc_nou AS _frmbase OF "_frm_base.vcx" + *< CLASSDATA: Baseclass="form" Timestamp="" Scale="Pixels" Uniqueid="" /> + + *-- OBJECTDATA items order determines ZOrder / El orden de los items OBJECTDATA determina el ZOrder + *< OBJECTDATA: ObjPath="clb_document" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="clb_maxlen" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="But_renunt1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="Ct_clb_tip_entitate" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="cboResetare" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="ck_cu_serie" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="Cus_odata_tipdoc1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="ck_cu_plaje" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="_checkbox1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="chkAn2Caractere" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="lblExemplu" UniqueID="" Timestamp="" /> + + * + *m: actualizeaza_fereastra + *m: do_cauta_tipentitate + *m: refreshexemplu + *p: cu_plaje_init + *p: nid + *p: orec + * + + * + BorderStyle = 1 + cu_plaje_init = 0 + DoCreate = .T. + Height = 242 + Name = "frm_tipdoc_nou" + Width = 400 + _memberdata = + + + _shape1.Height = 29 + _shape1.Left = 0 + _shape1.Name = "_shape1" + _shape1.Top = 0 + _shape1.Width = 444 + _shape2.Height = 29 + _shape2.Left = 347 + _shape2.Name = "_shape2" + _shape2.Top = 0 + _shape2.Width = 64 + Lb_titlu_alb_b121.Caption = "DOCUMENT" + Lb_titlu_alb_b121.FontBold = .T. + Lb_titlu_alb_b121.Name = "Lb_titlu_alb_b121" + Lb_titlu_alb_b121.TabIndex = 11 + BUT_TERMIN1.Left = 370 + BUT_TERMIN1.Name = "BUT_TERMIN1" + BUT_TERMIN1.TabIndex = 9 + BUT_TERMIN1.Top = 1 + GRIDSORT1.Left = 311 + GRIDSORT1.Name = "GRIDSORT1" + GRIDSORT1.Top = 100 + * + + ADD OBJECT '_checkbox1' AS _checkbox WITH ; + Alignment = 0, ; + Caption = "Se poate da aceeaºi plajã de numere pe mai multe entitãþi", ; + ControlSource = "porec.plajepeentitate", ; + FontItalic = .T., ; + Left = 13, ; + Name = "_checkbox1", ; + ReadOnly = .T., ; + TabIndex = 6, ; + TabStop = .F., ; + Top = 156 + *< END OBJECT: ClassLib="_baza.vcx" BaseClass="checkbox" /> + + ADD OBJECT 'But_renunt1' AS but_renunt WITH ; + Left = 340, ; + Name = "But_renunt1", ; + TabIndex = 10, ; + Top = 1 + *< END OBJECT: ClassLib="cmd_butoane.vcx" BaseClass="commandbutton" /> + + ADD OBJECT 'cboResetare' AS _combobox WITH ; + Enabled = .F., ; + Height = 24, ; + Left = 12, ; + Name = "cboResetare", ; + RowSource = "Fara resetare,An,Luna", ; + RowSourceType = 1, ; + TabIndex = 7, ; + ToolTipText = "Seria se reseteaza la inceputul fiecarui an/luna", ; + Top = 180, ; + Value = Fara resetare, ; + Width = 130, ; + ZOrderSet = 9 + *< END OBJECT: ClassLib="_baza.vcx" BaseClass="combobox" /> + + ADD OBJECT 'chkAn2Caractere' AS _checkbox WITH ; + Alignment = 0, ; + Caption = "An pe 2 caractere", ; + ControlSource = "poRec.an2caractere", ; + Enabled = .F., ; + Left = 179, ; + Name = "chkAn2Caractere", ; + TabIndex = 8, ; + TabStop = .F., ; + Top = 184, ; + ZOrderSet = 21 + *< END OBJECT: ClassLib="_baza.vcx" BaseClass="checkbox" /> + + ADD OBJECT 'ck_cu_plaje' AS _checkbox WITH ; + Alignment = 0, ; + Caption = "Cu plaje", ; + ControlSource = "porec.cu_plaje", ; + Left = 228, ; + Name = "ck_cu_plaje", ; + TabIndex = 5, ; + TabStop = .F., ; + Top = 134 + *< END OBJECT: ClassLib="_baza.vcx" BaseClass="checkbox" /> + + ADD OBJECT 'ck_cu_serie' AS _checkbox WITH ; + Alignment = 0, ; + Caption = "Cu serie", ; + ControlSource = "porec.cu_serie", ; + FontItalic = .T., ; + Left = 12, ; + Name = "ck_cu_serie", ; + ReadOnly = .T., ; + TabIndex = 4, ; + TabStop = .F., ; + Top = 135 + *< END OBJECT: ClassLib="_baza.vcx" BaseClass="checkbox" /> + + ADD OBJECT 'clb_document' AS clb_tx_simplu WITH ; + Left = 9, ; + Name = "clb_document", ; + TabIndex = 1, ; + TabStop = .F., ; + Top = 41, ; + Text_simplu1.ControlSource = "porec.tipdoc", ; + Text_simplu1.Name = "Text_simplu1", ; + Text_simplu1.ReadOnly = .T., ; + Lb_simplu1.Caption = "Document", ; + Lb_simplu1.Name = "Lb_simplu1" + *< END OBJECT: ClassLib="lb_tx.vcx" BaseClass="container" /> + + ADD OBJECT 'clb_maxlen' AS clb_tx_simplu WITH ; + Left = 9, ; + Name = "clb_maxlen", ; + TabIndex = 3, ; + TabStop = .F., ; + Top = 97, ; + Text_simplu1.ControlSource = "porec.maxlen", ; + Text_simplu1.Height = 23, ; + Text_simplu1.InputMask = "999", ; + Text_simplu1.Left = 183, ; + Text_simplu1.Name = "Text_simplu1", ; + Text_simplu1.ReadOnly = .T., ; + Text_simplu1.Top = 3, ; + Text_simplu1.Width = 102, ; + Lb_simplu1.Caption = "Lungime maximã", ; + Lb_simplu1.Left = 3, ; + Lb_simplu1.Name = "Lb_simplu1", ; + Lb_simplu1.Top = 6 + *< END OBJECT: ClassLib="lb_tx.vcx" BaseClass="container" /> + + ADD OBJECT 'Ct_clb_tip_entitate' AS ct_clb_cautare WITH ; + cconditie = EMPTY(NVL(porec.id_tipentitate,0)), ; + cprocedura = thisform.do_cauta_tipentitate, ; + cvar_afisata = porec.tipentitate, ; + Height = 31, ; + Left = 8, ; + Name = "Ct_clb_tip_entitate", ; + TabIndex = 2, ; + Top = 68, ; + Width = 323, ; + img_cautare.Left = 300, ; + img_cautare.Name = "img_cautare", ; + img_cautare.Top = 5, ; + clb_tx_cautare.Height = 29, ; + clb_tx_cautare.Lb_simplu1.Caption = "Tip entitate", ; + clb_tx_cautare.Lb_simplu1.Name = "Lb_simplu1", ; + clb_tx_cautare.Left = 1, ; + clb_tx_cautare.Name = "clb_tx_cautare", ; + clb_tx_cautare.Text_simplu1.Left = 102, ; + clb_tx_cautare.Text_simplu1.Name = "Text_simplu1", ; + clb_tx_cautare.Text_simplu1.Top = 3, ; + clb_tx_cautare.Top = 1, ; + clb_tx_cautare.Width = 290 + *< END OBJECT: ClassLib="caut_ora.vcx" BaseClass="container" /> + + ADD OBJECT 'Cus_odata_tipdoc1' AS cus_odata_tipdoc WITH ; + Left = 312, ; + Name = "Cus_odata_tipdoc1", ; + Top = 132 + *< END OBJECT: ClassLib="serii_numere.vcx" BaseClass="custom" /> + + ADD OBJECT 'lblExemplu' AS _lbbase WITH ; + AutoSize = .F., ; + Caption = "Ex:", ; + Height = 17, ; + Left = 14, ; + Name = "lblExemplu", ; + TabIndex = 10, ; + Top = 216, ; + Width = 231, ; + ZOrderSet = 15 + *< END OBJECT: ClassLib="_lb_base.vcx" BaseClass="label" /> + + PROCEDURE actualizeaza_fereastra + Local lcValoare + If poRec.id_tipentitate = -1 + With Thisform.ck_cu_plaje + .Visible = .F. + .Value = 0 + Endwith + With Thisform._checkbox1 + .Visible = .F. + Endwith + Else + Thisform.ck_cu_plaje.Visible = .T. + Thisform._checkbox1.Visible = .T. + Endif + + If poRec.cu_serie = 0 And poRec.cu_plaje = 1 + This.cboResetare.Enabled = .T. + Endif + + lcValoare = "Fara resetare" && Fara resetare/An/Luna + Do Case + Case poRec.an = 0 And poRec.luna = 0 + lcValoare = 'Fara resetare' + Case poRec.an = 1 And poRec.luna = 0 + lcValoare = 'An' + Otherwise + lcValoare = 'Luna' + Endcase + This.cboResetare.Value = m.lcValoare + This.cboResetare.Valid() + ENDPROC + + PROCEDURE do_cauta_tipentitate + locauta=caut_tipentitate_permis(poRec.id_tipdoc) + If !Isnull(locauta) + poRec.id_tipentitate = locauta.id_tipentitate + poRec.tipentitate = locauta.descriere + Thisform.actualizeaza_fereastra() && modificare 04.09.2012 + Thisform.ck_cu_serie.SetFocus() + Endif + + ENDPROC + + PROCEDURE inainte_de_do_termin + Local llReturn, lcValoare, lccontrol, lcval + llReturn = .T. + + lccontrol = Upper(This.ActiveControl.BaseClass ) + If Inlist(lccontrol, "TEXTBOX", "EDITBOX", "COMBOBOX") + lcval = This.ActiveControl.ControlSource + &lcval = Thisform.ActiveControl.Value + Endif + Do Case + Case Empty(Nvl(poRec.id_tipentitate, 0)) + amessagebox('Nu ati completat tipul entitatii!', 0 + 48, "Atentie") + Thisform.ct_clb_tip_entitate.SetFocus() + llReturn = .F. + OTHERWISE + poRec.dezactiveaza_tot = 0 + If This.cu_plaje_init = 1 And poRec.cu_plaje = 0 + If amessagebox("Vor fi dezactivate toate plajele active pentru acest tip de document!" + ; + CHR(13) + Chr(10) + "Doriti sa continuati?", 4 + 32, "Confirmare") == 6 + poRec.dezactiveaza_tot = 1 + Else + llReturn = .F. + Endif + Endif + If llReturn + lcValoare = This.cboResetare.Value && Fara resetare/An/Luna + + Do Case + Case lcValoare == 'Fara resetare' + poRec.an = 0 + poRec.luna = 0 + Case lcValoare == 'An' + poRec.an = 1 + poRec.luna = 0 + Otherwise + poRec.an = 1 + poRec.luna = 1 + Endcase + + llReturn = Thisform.cus_odata_tipdoc1.salvare(This.OREC, This.NID) + If !llReturn + Thisform.ct_clb_tip_entitate.SetFocus() + Endif + Endif + Endcase + Return llReturn + + ENDPROC + + PROCEDURE Init + Lparameters toRec, tnId, tcActiune + + DoDefault() + + Thisform.orec= toRec + Thisform.nid = tnId + Thisform.cus_odata_tipdoc1.cactiune = tcActiune + Thisform.cu_plaje_init = toRec.cu_plaje + Thisform.actualizeaza_fereastra() && modificare 04.09.2012 + ENDPROC + + PROCEDURE refreshexemplu + Local lcAn, lcLuna, lcLungime, lcValueResetare, llAn2Caractere, llFaraResetare, lnLungime, lcLungimeLuna, lcLungimeAn + lcValueResetare = This.cboResetare.Value + llFaraResetare = (m.lcValueResetare = 'Fara resetare') + lnLungime = thisform.clb_maxlen.text_simplu1.Value + llAn2Caractere = (poRec.an2caractere = 1) + lcAn = Alltrim(Str(m.gnAn)) + If m.llAn2Caractere + lcAn = Substr(m.lcAn, 3) + Endif + lcLuna = Padl(Alltrim(Str(m.gnLuna)), 2, "0") + lcLungime = Padl("1", m.lnLungime, "0") + lcLungimeAn = Padl("1", m.lnLungime - LEN(m.lcAn), "0") + lcLungimeLuna = Padl("1", m.lnLungime - LEN(m.lcAn) - LEN(m.lcLuna), "0") + + If m.llFaraResetare + Thisform.lblExemplu.Caption = "Ex:" + Else + Thisform.lblExemplu.Caption = "Ex: " + ; + Iif(m.lcValueResetare = "An", m.lcAn + m.lcLungimeAn, ; + Iif(m.lcValueResetare = "Luna", m.lcAn + m.lcLuna + lcLungimeLuna, "")) + Endif + ENDPROC + + PROCEDURE cboResetare.Valid + Local llResetare + llResetare = (This.Value <> 'Fara resetare') + Thisform.chkAn2Caractere.Enabled = m.llResetare + + Thisform.RefreshExemplu() + ENDPROC + + PROCEDURE chkAn2Caractere.Valid + Thisform.RefreshExemplu() + ENDPROC + + PROCEDURE clb_maxlen.Text_simplu1.Valid + Thisform.RefreshExemplu() + ENDPROC + +ENDDEFINE + +DEFINE CLASS item_serii AS container + *< CLASSDATA: Baseclass="container" Timestamp="" Scale="Pixels" Uniqueid="" /> + + *-- OBJECTDATA items order determines ZOrder / El orden de los items OBJECTDATA determina el ZOrder + *< OBJECTDATA: ObjPath="Label_item1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="Lineo1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="Lineo3" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="Lineo4" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="Lineo5" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="Lineo2" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="_combobox1" UniqueID="" Timestamp="" /> + + * + *p: camp_lista + *p: cvariabila && Proprietatea din 'pcobj' corespunzatoare campului de serie. + *p: cvariabiladoc && Proprietatea din 'pcobj' corespunzatoare campului de nr. doc. + *p: filtru + *p: fis_lista + *p: id_fisier + *p: id_item + *p: label_item + *p: nid_tipdoc + *p: nproc_tva + *p: pcobj && Numele obiectului care contine campurile serie_act ( cvariabila ) si numar act (cvariabiladoc ). + *p: tip + * + + * + BackColor = 247,245,238 + BackStyle = 1 + BorderColor = 0,0,128 + BorderWidth = 0 + camp_lista = + cvariabila = + cvariabiladoc = + filtru = + fis_lista = + Height = 21 + id_fisier = '' + id_item = 0 + label_item = + Name = "item_serii" + nid_tipdoc = -99 + nproc_tva = 0 + pcobj = '' + SpecialEffect = 1 + Width = 454 + * + + ADD OBJECT '_combobox1' AS _combobox WITH ; + BorderColor = 128,128,128, ; + ColumnLines = .F., ; + FontName = "Comic Sans MS", ; + FontSize = 8, ; + Height = 20, ; + Left = 241, ; + Name = "_combobox1", ; + RowSourceType = 6, ; + SpecialEffect = 1, ; + Top = 0, ; + Width = 211 + *< END OBJECT: ClassLib="_baza.vcx" BaseClass="combobox" /> + + ADD OBJECT 'Label_item1' AS label_item WITH ; + AutoSize = .F., ; + BackColor = 255,255,255, ; + BackStyle = 1, ; + Caption = "SERIE DOCUMENT", ; + Height = 18, ; + Left = 3, ; + Name = "Label_item1", ; + TabIndex = 2, ; + Top = 3, ; + Width = 234 + *< END OBJECT: ClassLib="baza.vcx" BaseClass="label" /> + + ADD OBJECT 'Lineo1' AS lineo WITH ; + Height = 0, ; + Left = 0, ; + Name = "Lineo1", ; + Top = 0, ; + Width = 452 + *< END OBJECT: ClassLib="baza.vcx" BaseClass="line" /> + + ADD OBJECT 'Lineo2' AS lineo WITH ; + Height = 21, ; + Left = 239, ; + Name = "Lineo2", ; + Top = 0, ; + Width = 0 + *< END OBJECT: ClassLib="baza.vcx" BaseClass="line" /> + + ADD OBJECT 'Lineo3' AS lineo WITH ; + Height = 0, ; + Left = 0, ; + Name = "Lineo3", ; + Top = 19, ; + Width = 452 + *< END OBJECT: ClassLib="baza.vcx" BaseClass="line" /> + + ADD OBJECT 'Lineo4' AS lineo WITH ; + Height = 21, ; + Left = 452, ; + Name = "Lineo4", ; + Top = 0, ; + Width = 0 + *< END OBJECT: ClassLib="baza.vcx" BaseClass="line" /> + + ADD OBJECT 'Lineo5' AS lineo WITH ; + Height = 21, ; + Left = 0, ; + Name = "Lineo5", ; + Top = 0, ; + Width = 0 + *< END OBJECT: ClassLib="baza.vcx" BaseClass="line" /> + + PROCEDURE Init + Lparameters tcObj,tcIdTipDoc,tcVariabila,tcVariabilaDocument + Local lcCursor,lcSerie + With This + .pcobj=tcObj + .nid_tipdoc = Val(tcIdTipDoc) + .cvariabila = tcVariabila + .cvariabiladoc = tcVariabilaDocument + ._combobox1.RowSource = poGeneratorNumere.getNumeCursor(.nid_tipdoc) + ._combobox1.Value = poGeneratorNumere.getSerieCursor(.nid_tipdoc) + + lcCombo=._combobox1.Value + IF NOT EMPTY(ALLTRIM(NVL(lcCombo,""))) + lcValoare = Upper(tcObj)+[.]+Alltrim(tcVariabila)+[=']+lcCombo+['] + &lcValoare + ENDIF + + Endwith + + ENDPROC + + PROCEDURE Label_item1.Click + This.Parent._combobox1.SetFocus() + + ENDPROC + + PROCEDURE _combobox1.InteractiveChange + lcValoare = Upper(This.Parent.pcobj)+[.]+Alltrim(This.Parent.cvariabila)+[=']+This.Value+['] + &lcValoare + If poGeneratorNumere.verifica_serie(This.Parent.nid_tipdoc) + lcValoare = Upper(This.Parent.pcobj)+[.]+Alltrim(This.Parent.cvariabiladoc)+[=]+; + ALLTRIM(Str(poGeneratorNumere.aloca_numar(This.Parent.nid_tipdoc,Null),20,0)) + &lcValoare + This.Parent.Parent.Refresh() + Endif + + ENDPROC + +ENDDEFINE diff --git a/clase/sfsplitter.vc2 b/clase/sfsplitter.vc2 new file mode 100644 index 0000000..0877b8d --- /dev/null +++ b/clase/sfsplitter.vc2 @@ -0,0 +1,751 @@ +*-------------------------------------------------------------------------------------------------------------------------------------------------------- +* (EN) AUTOGENERATED - ATTENTION!! - NOT INTENDED FOR EXECUTION!! USE ONLY FOR MERGING CHANGES AND STORING WITH SCM TOOLS!! +*-------------------------------------------------------------------------------------------------------------------------------------------------------- +*< FOXBIN2PRG: Version="1.21" SourceFile="sfsplitter.vcx" CPID="1252" /> (Solo para binarios VFP 9 / Only for VFP 9 binaries) +* +* +DEFINE CLASS gripper AS container + *< CLASSDATA: Baseclass="container" Timestamp="" Scale="Pixels" Uniqueid="" /> + + *-- OBJECTDATA items order determines ZOrder / El orden de los items OBJECTDATA determina el ZOrder + *< OBJECTDATA: ObjPath="GripperDot1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="GripperDot2" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="GripperDot3" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="GripperDot4" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="GripperDot5" UniqueID="" Timestamp="" /> + + * + *m: repositiononresize && A method to move the gripper to keep it centererd in the Splitter when the hosting form is resized. + *m: setupforhorizontalsplitter && A method to set the positions of the dots to a vertical orientation. + *m: setupforverticalsplitter && A method to set the positions of the dots to a horizontal orientation. + *m: setupgripper && The setup method to positiosn the dots according to the orientation of the splitter, also sets up the number of dots. + *p: ndots && Enter a number from 0 to 5 to indicate how many gripper dots to show. Enter 0 for none. + *p: _memberdata && XML Metadata for customizable properties + * + + * + BackStyle = 0 + BorderWidth = 0 + Height = 19 + Name = "gripper" + ndots = 5 + Width = 36 + _memberdata = + + + + + + + * + + ADD OBJECT 'GripperDot1' AS gripperdot WITH ; + Left = 2, ; + Name = "GripperDot1", ; + Top = 4, ; + ShapeDark.BackStyle = 0, ; + ShapeDark.Name = "ShapeDark", ; + ShapeDark.ZOrderSet = 0, ; + ShapeLight.Name = "ShapeLight", ; + ShapeLight.ZOrderSet = 1, ; + ShapeMiddle.Name = "ShapeMiddle", ; + ShapeMiddle.ZOrderSet = 2 + *< END OBJECT: ClassLib="sfsplitter.vcx" BaseClass="container" /> + + ADD OBJECT 'GripperDot2' AS gripperdot WITH ; + Left = 6, ; + Name = "GripperDot2", ; + Top = 4, ; + ShapeDark.BackStyle = 0, ; + ShapeDark.Name = "ShapeDark", ; + ShapeDark.ZOrderSet = 0, ; + ShapeLight.Name = "ShapeLight", ; + ShapeLight.ZOrderSet = 1, ; + ShapeMiddle.Name = "ShapeMiddle", ; + ShapeMiddle.ZOrderSet = 2 + *< END OBJECT: ClassLib="sfsplitter.vcx" BaseClass="container" /> + + ADD OBJECT 'GripperDot3' AS gripperdot WITH ; + Left = 10, ; + Name = "GripperDot3", ; + Top = 4, ; + ShapeDark.BackStyle = 0, ; + ShapeDark.Name = "ShapeDark", ; + ShapeDark.ZOrderSet = 0, ; + ShapeLight.Name = "ShapeLight", ; + ShapeLight.ZOrderSet = 1, ; + ShapeMiddle.Name = "ShapeMiddle", ; + ShapeMiddle.ZOrderSet = 2 + *< END OBJECT: ClassLib="sfsplitter.vcx" BaseClass="container" /> + + ADD OBJECT 'GripperDot4' AS gripperdot WITH ; + Left = 14, ; + Name = "GripperDot4", ; + Top = 4, ; + ShapeDark.BackStyle = 0, ; + ShapeDark.Name = "ShapeDark", ; + ShapeDark.ZOrderSet = 0, ; + ShapeLight.Name = "ShapeLight", ; + ShapeLight.ZOrderSet = 1, ; + ShapeMiddle.Name = "ShapeMiddle", ; + ShapeMiddle.ZOrderSet = 2 + *< END OBJECT: ClassLib="sfsplitter.vcx" BaseClass="container" /> + + ADD OBJECT 'GripperDot5' AS gripperdot WITH ; + Left = 18, ; + Name = "GripperDot5", ; + Top = 4, ; + ShapeDark.BackStyle = 0, ; + ShapeDark.Name = "ShapeDark", ; + ShapeDark.ZOrderSet = 0, ; + ShapeLight.Name = "ShapeLight", ; + ShapeLight.ZOrderSet = 1, ; + ShapeMiddle.Name = "ShapeMiddle", ; + ShapeMiddle.ZOrderSet = 2 + *< END OBJECT: ClassLib="sfsplitter.vcx" BaseClass="container" /> + + PROCEDURE Init + + *-- Get MousePointer setting from parent Splitter + this.MousePointer=this.Parent.MousePointer + + *-- Also, set the MousePointer on each shape in each GripperDot container + FOR EACH GripperDot in this.Controls + GripperDot.setall('MousePointer', this.MousePointer) + EndFor + + this.SetupGripper() + + Dodefault() + + ENDPROC + + PROCEDURE MouseMove + LPARAMETERS nButton, nShift, nXCoord, nYCoord + + this.parent.MouseMove(nButton, nShift, nXCoord, nYCoord) + ENDPROC + + PROCEDURE repositiononresize && A method to move the gripper to keep it centererd in the Splitter when the hosting form is resized. + *-- This method will keep the Gripper container centered when the hosting form is resized. + *-- For vertical splitter, we will set the Left of the Gripper container to center it horizontally + *-- For horizontal splitter, we will set the Top of the Gripper container to center it vertically. + + If this.parent.Width>this.parent.Height + With this + .Anchor=0 + .Left=(this.parent.Width-.Width)/2 + .Anchor=10 + Endwith + Else + With this + .Anchor=0 + .top=(this.parent.Height-.height)/2 + .Anchor=5 + Endwith + Endif + + + + ENDPROC + + PROCEDURE setupforhorizontalsplitter && A method to set the positions of the dots to a vertical orientation. + *-- A method that will position the dots in a vertical orientation to be used on a horizontal splitter. + + lnDotHeight=this.GripperDot1.Height + + this.GripperDot1.Left=2 + this.GripperDot1.Top=1 + + this.GripperDot2.Left=2 + this.GripperDot2.Top=1+lnDotHeight + + this.GripperDot3.Left=2 + this.GripperDot3.Top=1+2*lnDotHeight + + this.GripperDot4.Left=2 + this.GripperDot4.Top=1+3*lnDotHeight + + this.GripperDot5.Left=2 + this.GripperDot5.Top=1+4*lnDotHeight + + With this + .Anchor=0 + .Height=this.nDots*lnDotHeight && This will cause the container to only show the correct number of dots. + .Width=lnDotHeight+1 + .Anchor=5 + EndWith + + ENDPROC + + PROCEDURE setupforverticalsplitter && A method to set the positions of the dots to a horizontal orientation. + *-- A method that will position the dots in a horizontal orientation to be used on a vertical splitter. + + lnDotWidth=this.GripperDot1.Width + + this.GripperDot1.Left=1 + this.GripperDot1.Top=2 + + this.GripperDot2.Left=1+lnDotWidth + this.GripperDot2.Top=2 + + this.GripperDot3.Left=1+2*lnDotWidth + this.GripperDot3.Top=2 + + this.GripperDot4.Left=1+3*lnDotWidth + this.GripperDot4.Top=2 + + this.GripperDot5.Left=1+4*lnDotWidth + this.GripperDot5.Top=2 + + With this + .Anchor=0 + .Width=this.nDots*this.GripperDot1.Width+1 && This will cause the container to only show the correct number of dots. + .Height=lnDotWidth+1 + .Anchor=10 + Endwith + + + ENDPROC + + PROCEDURE setupgripper && The setup method to positiosn the dots according to the orientation of the splitter, also sets up the number of dots. + *-- 2009-01-04 By Matt Slay + *-- This sets the fixed positions that do no change when the form is resized. + *-- For vertical splitter, we will set the Top of the Gripper container to center it vertically. + *-- For horizontal splitter, we will set the Left of the Gripper container to center it horiziontally. + *-- This method only needs to be called once. + + If this.parent.Width>this.parent.Height + With this + .SetupForVerticalSplitter() + .Anchor= 0 + .top=(this.parent.Height-.height)/2-1 + .Anchor=10 + Endwith + Else + With this + .SetupForHorizontalSplitter() + .Anchor=0 + .left=(this.parent.Width-.width)/2-1 + .Anchor=5 + Endwith + Endif + + this.RepositionOnResize() + ENDPROC + +ENDDEFINE + +DEFINE CLASS gripperdot AS container + *< CLASSDATA: Baseclass="container" Timestamp="" Scale="Pixels" Uniqueid="" /> + + *-- OBJECTDATA items order determines ZOrder / El orden de los items OBJECTDATA determina el ZOrder + *< OBJECTDATA: ObjPath="ShapeDark" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="ShapeLight" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="ShapeMiddle" UniqueID="" Timestamp="" /> + + * + BackStyle = 0 + BorderWidth = 0 + Height = 4 + Name = "gripperdot" + Width = 4 + * + + ADD OBJECT 'ShapeDark' AS shape WITH ; + BackStyle = 1, ; + BorderStyle = 0, ; + BorderWidth = 0, ; + FillColor = 80,80,80, ; + FillStyle = 0, ; + Height = 2, ; + Left = 1, ; + Name = "ShapeDark", ; + Top = 1, ; + Width = 2 + *< END OBJECT: BaseClass="shape" /> + + ADD OBJECT 'ShapeLight' AS shape WITH ; + BackStyle = 1, ; + BorderStyle = 0, ; + BorderWidth = 0, ; + FillColor = 250,250,250, ; + FillStyle = 0, ; + Height = 2, ; + Left = 2, ; + Name = "ShapeLight", ; + Top = 2, ; + Width = 2 + *< END OBJECT: BaseClass="shape" /> + + ADD OBJECT 'ShapeMiddle' AS shape WITH ; + BackStyle = 1, ; + BorderStyle = 0, ; + BorderWidth = 0, ; + FillColor = 173,209,255, ; + FillStyle = 0, ; + Height = 1, ; + Left = 2, ; + Name = "ShapeMiddle", ; + Top = 2, ; + Width = 1 + *< END OBJECT: BaseClass="shape" /> + + PROCEDURE Init + + this.MousePointer=this.Parent.Parent.MousePointer + this.SetAll('MousePointer', this.MousePointer, 'Shape') + ENDPROC + + PROCEDURE MouseMove + LPARAMETERS nButton, nShift, nXCoord, nYCoord + + this.parent.MouseMove(nButton, nShift, nXCoord, nYCoord) + ENDPROC + + PROCEDURE ShapeDark.MouseMove + LPARAMETERS nButton, nShift, nXCoord, nYCoord + + this.parent.MouseMove(nButton, nShift, nXCoord, nYCoord) + ENDPROC + + PROCEDURE ShapeLight.MouseMove + LPARAMETERS nButton, nShift, nXCoord, nYCoord + + this.parent.MouseMove(nButton, nShift, nXCoord, nYCoord) + ENDPROC + + PROCEDURE ShapeMiddle.MouseMove + LPARAMETERS nButton, nShift, nXCoord, nYCoord + + this.parent.MouseMove(nButton, nShift, nXCoord, nYCoord) + ENDPROC + +ENDDEFINE + +DEFINE CLASS sfsplitter AS control + *< CLASSDATA: Baseclass="control" Timestamp="" Scale="Pixels" Uniqueid="" /> + + *-- OBJECTDATA items order determines ZOrder / El orden de los items OBJECTDATA determina el ZOrder + *< OBJECTDATA: ObjPath="Gripper" UniqueID="" Timestamp="" /> + + * + *m: getobject1size && Gets the size for Object 1 + *m: getobject2size && Gets the size for Object 2 + *m: getobjectnames && Populates an array from a comma-delimited list + *m: getposition && Returns the new position: X for a horizontal splitter and Y for a vertical splitter + *m: moveobject1 && Moves Object 1 to the new position + *m: moveobject2 && Moves Object 2 to the new position + *m: movesplittertoposition && Moves the splitter to the specified position + *m: setposition && Sets the new position for the splitter + *m: setupgripper && A method to setup various properties on the gripper to visually configure it for Vertical or Horizontal configuration. + *m: splittermoved && Called after the splitter is moved + *p: cobject1name && The name of the object above (for a vertical splitter) or to the left of (for a horizontal splitter) the splitter + *p: cobject2name && The name of the object below (for a vertical splitter) or to the right of (for a horizontal splitter) the splitter + *p: linitialized && .T. after the control has been initialized + *p: ndots && Enter a value between 0 and 5 for the number of dots to be shown on the gripper. Enter 0 for none. + *p: nobject1minsize && The minimum height (for a vertical splitter) or width (for a horizontal splitter) of Object 1 + *p: nobject2minsize && The minimum height (for a vertical splitter) or width (for a horizontal splitter) of Object 2 + *p: _memberdata && XML Metadata for customizable properties + * + + * + BackColor = 192,192,192 + BackStyle = 1 + BorderColor = 255,0,0 + BorderWidth = 2 + cobject1name = + cobject2name = + Height = 248 + linitialized = .F. + Name = "sfsplitter" + ndots = 5 + nobject1minsize = 150 + nobject2minsize = 150 + Width = 25 + _memberdata = + + + + + + + + + + + + + + + + + + + + * + + ADD OBJECT 'Gripper' AS gripper WITH ; + Height = 12, ; + Left = 1, ; + Name = "Gripper", ; + Top = -1, ; + Width = 20, ; + Gripperdot1.Name = "Gripperdot1", ; + Gripperdot1.ShapeDark.Name = "ShapeDark", ; + Gripperdot1.ShapeLight.Name = "ShapeLight", ; + Gripperdot1.ShapeMiddle.Name = "ShapeMiddle", ; + Gripperdot2.Name = "Gripperdot2", ; + Gripperdot2.ShapeDark.Name = "ShapeDark", ; + Gripperdot2.ShapeLight.Name = "ShapeLight", ; + Gripperdot2.ShapeMiddle.Name = "ShapeMiddle", ; + Gripperdot3.Name = "Gripperdot3", ; + Gripperdot3.ShapeDark.Name = "ShapeDark", ; + Gripperdot3.ShapeLight.Name = "ShapeLight", ; + Gripperdot3.ShapeMiddle.Name = "ShapeMiddle", ; + Gripperdot4.Name = "Gripperdot4", ; + Gripperdot4.ShapeDark.Name = "ShapeDark", ; + Gripperdot4.ShapeLight.Name = "ShapeLight", ; + Gripperdot4.ShapeMiddle.Name = "ShapeMiddle", ; + Gripperdot5.Name = "Gripperdot5", ; + Gripperdot5.ShapeDark.Name = "ShapeDark", ; + Gripperdot5.ShapeLight.Name = "ShapeLight", ; + Gripperdot5.ShapeMiddle.Name = "ShapeMiddle" + *< END OBJECT: ClassLib="sfsplitter.vcx" BaseClass="container" /> + + PROTECTED PROCEDURE getobject1size && Gets the size for Object 1 + * Abstract method. + + lparameters toObject + + ENDPROC + + PROTECTED PROCEDURE getobject2size && Gets the size for Object 2 + * Abstract method. + + lparameters toObject + + ENDPROC + + PROTECTED PROCEDURE getobjectnames && Populates an array from a comma-delimited list + lparameters tcList, ; + taArray + local lnOccurs, ; + lnStart, ; + lnI, ; + lnPos + lnOccurs = occurs(',', tcList) + 1 + dimension taArray[lnOccurs] + lnStart = 1 + for lnI = 1 to lnOccurs + if lnI = lnOccurs + lnPos = len(tcList) + 1 + else + lnPos = at(',', tcList, lnI) + endif lnI = lnOccurs + taArray[lnI] = alltrim(substr(tcList, lnStart, lnPos - lnStart)) + lnStart = lnPos + 1 + next lnI + return lnOccurs + + ENDPROC + + PROTECTED PROCEDURE getposition && Returns the new position: X for a horizontal splitter and Y for a vertical splitter + * Abstract method. + + lparameters tnXCoord, ; + tnYCoord + + ENDPROC + + PROCEDURE Init + * Make the border invisible and flag that Init has fired. + + with This + .BorderWidth = 0 + .lInitialized = .T. + .setupgripper()&& 2008-12-31 By Matt Slay + endwith + + dodefault() + + *--- Changes by Matt Slay to use Gripper control 2008-12-31 ---- + * Added a Gripper container class to the VCX. A container consisting of (5) GripperDots. + * Added a GripprDot container class to the VCX. A container with a single "Dot" comprised of (3) VFP Shape objects with color, size, and position to make a cool shaded "dot". + * Added an instance of the Gripper object to the Splitter base control. + * Added nDots property to the Splitter base control. + * Added the SetupGripper() method to the Splitter base control. + * Added .SetupGripper() call in the Splitter base control Init() method. + * Added this.Gripper.RepositionOnResize() call on the Splitter base control Resize() method to keep the Gripper centered when hosting form or container is resized. + + + + + ENDPROC + + PROCEDURE MouseMove + lparameters tnButton, ; + tnShift, ; + tnXCoord, ; + tnYCoord + local lnPosition + with This + if tnButton = 1 and .Enabled + lnPosition = .GetPosition(tnXCoord, tnYCoord) + .MoveSplitterToPosition(lnPosition) + endif tnButton = 1 ... + endwith + + ENDPROC + + PROTECTED PROCEDURE moveobject1 && Moves Object 1 to the new position + * Abstract method. + + lparameters toObject + + ENDPROC + + PROTECTED PROCEDURE moveobject2 && Moves Object 2 to the new position + * Abstract method. + + lparameters toObject + + ENDPROC + + PROCEDURE movesplittertoposition && Moves the splitter to the specified position + * Move the splitter to the specified position. Ensure it doesn't go too far, + * based on the nObject1MinSize and nObject2MinSize settings. + + lparameters tnPosition + local lnPosition, ; + laObjects[1], ; + lnObjects, ; + lnI, ; + loObject, ; + lnAnchor + with This + lnPosition = tnPosition + lnObjects = .GetObjectNames(.cObject1Name, @laObjects) + for lnI = 1 to lnObjects + loObject = evaluate('.Parent.' + laObjects[lnI]) + lnPosition = max(lnPosition, .GetObject1Size(loObject)) + next lnI + lnObjects = .GetObjectNames(.cObject2Name, @laObjects) + for lnI = 1 to lnObjects + loObject = evaluate('.Parent.' + laObjects[lnI]) + lnPosition = min(lnPosition, .GetObject2Size(loObject)) + next lnI + lnAnchor = .Anchor + .Anchor = 0 + .SetPosition(lnPosition) + .Anchor = lnAnchor + + * Now move the left and right objects as well. + + lnObjects = .GetObjectNames(.cObject1Name, @laObjects) + for lnI = 1 to lnObjects + loObject = evaluate('.Parent.' + laObjects[lnI]) + with loObject + lnAnchor = .Anchor + .Anchor = 0 + This.MoveObject1(loObject) + .Anchor = lnAnchor + endwith + next lnI + lnObjects = .GetObjectNames(.cObject2Name, @laObjects) + for lnI = 1 to lnObjects + loObject = evaluate('.Parent.' + laObjects[lnI]) + with loObject + lnAnchor = .Anchor + .Anchor = 0 + This.MoveObject2(loObject) + .Anchor = lnAnchor + endwith + next lnI + + * Call a hook method. + + .SplitterMoved() + endwith + + ENDPROC + + PROCEDURE Resize + this.Gripper.RepositionOnResize() && 2008-12-31 Added by Matt Slay to keep Gripper centered when form is resized. + + Dodefault() + + ENDPROC + + PROTECTED PROCEDURE setposition && Sets the new position for the splitter + * Abstract method. + + lparameters tnPosition + + ENDPROC + + PROCEDURE setupgripper && A method to setup various properties on the gripper to visually configure it for Vertical or Horizontal configuration. + *-- Method added by Matt Slay - 2009-01-04 + + this.Gripper.nDots=this.nDots + this.Gripper.SetupGripper() + + + ENDPROC + + PROCEDURE splittermoved && Called after the splitter is moved + * Abstract method. + + ENDPROC + +ENDDEFINE + +DEFINE CLASS sfsplitterh AS sfsplitter OF "sfsplitter.vcx" + *< CLASSDATA: Baseclass="control" Timestamp="" Scale="Pixels" Uniqueid="" /> + + * + Anchor = 13 + MousePointer = 9 + Name = "sfsplitterh" + gripper.Gripperdot1.Name = "Gripperdot1" + gripper.Gripperdot1.ShapeDark.Name = "ShapeDark" + gripper.Gripperdot1.ShapeLight.Name = "ShapeLight" + gripper.Gripperdot1.ShapeMiddle.Name = "ShapeMiddle" + gripper.Gripperdot2.Name = "Gripperdot2" + gripper.Gripperdot2.ShapeDark.Name = "ShapeDark" + gripper.Gripperdot2.ShapeLight.Name = "ShapeLight" + gripper.Gripperdot2.ShapeMiddle.Name = "ShapeMiddle" + gripper.Gripperdot3.Name = "Gripperdot3" + gripper.Gripperdot3.ShapeDark.Name = "ShapeDark" + gripper.Gripperdot3.ShapeLight.Name = "ShapeLight" + gripper.Gripperdot3.ShapeMiddle.Name = "ShapeMiddle" + gripper.Gripperdot4.Name = "Gripperdot4" + gripper.Gripperdot4.ShapeDark.Name = "ShapeDark" + gripper.Gripperdot4.ShapeLight.Name = "ShapeLight" + gripper.Gripperdot4.ShapeMiddle.Name = "ShapeMiddle" + gripper.Gripperdot5.Name = "Gripperdot5" + gripper.Gripperdot5.ShapeDark.Name = "ShapeDark" + gripper.Gripperdot5.ShapeLight.Name = "ShapeLight" + gripper.Gripperdot5.ShapeMiddle.Name = "ShapeMiddle" + gripper.Name = "gripper" + * + + PROCEDURE getobject1size && Gets the size for Object 1 + lparameters toObject + return toObject.Left + This.nObject1MinSize + + ENDPROC + + PROCEDURE getobject2size && Gets the size for Object 2 + lparameters toObject + return toObject.Left + toObject.Width - This.nObject2MinSize - This.Width + + ENDPROC + + PROCEDURE getposition && Returns the new position: X for a horizontal splitter and Y for a vertical splitter + lparameters tnXCoord, ; + tnYCoord + return tnXCoord + This.Left - Objtoclient(this,2) + + ENDPROC + + PROCEDURE moveobject1 && Moves Object 1 to the new position + lparameters toObject + with toObject + .Move(.Left, .Top, This.Left - .Left, .Height) + endwith + + ENDPROC + + PROCEDURE moveobject2 && Moves Object 2 to the new position + lparameters toObject + with toObject + .Move(This.Left + This.Width, .Top, max(.Width + .Left - This.Left - ; + This.Width, 0), .Height) + endwith + + ENDPROC + + PROCEDURE setposition && Sets the new position for the splitter + lparameters tnPosition + This.Left = tnPosition + + ENDPROC + +ENDDEFINE + +DEFINE CLASS sfsplitterv AS sfsplitter OF "sfsplitter.vcx" + *< CLASSDATA: Baseclass="control" Timestamp="" Scale="Pixels" Uniqueid="" /> + + * + Anchor = 14 + Height = 10 + MousePointer = 7 + Name = "sfsplitterv" + Width = 200 + gripper.Gripperdot1.Name = "Gripperdot1" + gripper.Gripperdot1.ShapeDark.Name = "ShapeDark" + gripper.Gripperdot1.ShapeLight.Name = "ShapeLight" + gripper.Gripperdot1.ShapeMiddle.Name = "ShapeMiddle" + gripper.Gripperdot2.Name = "Gripperdot2" + gripper.Gripperdot2.ShapeDark.Name = "ShapeDark" + gripper.Gripperdot2.ShapeLight.Name = "ShapeLight" + gripper.Gripperdot2.ShapeMiddle.Name = "ShapeMiddle" + gripper.Gripperdot3.Name = "Gripperdot3" + gripper.Gripperdot3.ShapeDark.Name = "ShapeDark" + gripper.Gripperdot3.ShapeLight.Name = "ShapeLight" + gripper.Gripperdot3.ShapeMiddle.Name = "ShapeMiddle" + gripper.Gripperdot4.Name = "Gripperdot4" + gripper.Gripperdot4.ShapeDark.Name = "ShapeDark" + gripper.Gripperdot4.ShapeLight.Name = "ShapeLight" + gripper.Gripperdot4.ShapeMiddle.Name = "ShapeMiddle" + gripper.Gripperdot5.Name = "Gripperdot5" + gripper.Gripperdot5.ShapeDark.Name = "ShapeDark" + gripper.Gripperdot5.ShapeLight.Name = "ShapeLight" + gripper.Gripperdot5.ShapeMiddle.Name = "ShapeMiddle" + gripper.Name = "gripper" + * + + PROCEDURE getobject1size && Gets the size for Object 1 + lparameters toObject + return toObject.Top + This.nObject1MinSize + + ENDPROC + + PROCEDURE getobject2size && Gets the size for Object 2 + lparameters toObject + return toObject.Top + toObject.Height - This.nObject2MinSize - This.Height + + ENDPROC + + PROCEDURE getposition && Returns the new position: X for a horizontal splitter and Y for a vertical splitter + lparameters tnXCoord, ; + tnYCoord + return tnYCoord + This.Top - Objtoclient(this,1) + + ENDPROC + + PROCEDURE moveobject1 && Moves Object 1 to the new position + lparameters toObject + with toObject + .Move(.Left, .Top, .Width, This.Top - .Top) + endwith + + ENDPROC + + PROCEDURE moveobject2 && Moves Object 2 to the new position + lparameters toObject + with toObject + .Move(.Left, This.Top + This.Height, .Width, max(.Height + .Top - This.Top - ; + This.Height, 0)) + endwith + + ENDPROC + + PROCEDURE setposition && Sets the new position for the splitter + lparameters tnPosition + This.Top = tnPosition + + ENDPROC + +ENDDEFINE diff --git a/clase/solution.vc2 b/clase/solution.vc2 new file mode 100644 index 0000000..b952053 --- /dev/null +++ b/clase/solution.vc2 @@ -0,0 +1,571 @@ +*-------------------------------------------------------------------------------------------------------------------------------------------------------- +* (EN) AUTOGENERATED - ATTENTION!! - NOT INTENDED FOR EXECUTION!! USE ONLY FOR MERGING CHANGES AND STORING WITH SCM TOOLS!! +*-------------------------------------------------------------------------------------------------------------------------------------------------------- +*< FOXBIN2PRG: Version="1.21" SourceFile="solution.vcx" CPID="1252" /> (Solo para binarios VFP 9 / Only for VFP 9 binaries) +* +* +DEFINE CLASS cmdclose AS commandbutton && Close button + *< CLASSDATA: Baseclass="commandbutton" Timestamp="" Scale="Pixels" Uniqueid="" /> + + * + Cancel = .T. + Caption = "Close" + FontBold = .F. + FontName = "MS Sans Serif" + FontSize = 8 + Height = 23 + Name = "cmdclose" + Width = 72 + * + + PROCEDURE Click + IF TYPE("THISFORM.Parent") = "O" + THISFORMSET.Release + ELSE + THISFORM.Release + ENDIF + ENDPROC + + PROCEDURE Error + LPARAMETERS nError, cMethod, nLine + LOCAL lnChoice + #DEFINE CR CHR(13) + DO CASE + CASE nError = 1545 && Uncommitted changes + *------------------------------------ + #DEFINE MSG1_LOC "Do you want to save your changes?" + #DEFINE MSG2_LOC "Uncommitted Changes" + lnChoice = MESSAGEBOX(MSG1_LOC, 4+48+0, MSG2_LOC) + DO CASE + CASE lnChoice = 6 && yes + =TABLEUPDATE(.T., .T.) + CASE lnChoice = 7 && no + =TABLEREVERT(.T.) + ENDCASE + OTHERWISE && Unanticipated error + *-------------------------------------- + #DEFINE NUM_LOC "Error Number: " + #DEFINE PROG_LOC "Program: " + #DEFINE CAP_LOC "ERROR" + lcMsg = NUM_LOC + ALLTRIM(STR(nError)) + CR + CR + ; + MESSAGE()+ CR + CR + PROG_LOC + PROGRAM(1) + lnChoice = MESSAGEBOX(lcMsg, 2+48+512, CAP_LOC) + DO CASE + CASE lnChoice = 3 &&Abort + CANCEL + CASE lnChoice = 4 &&Retry + RETRY + CASE lnChoice = 5 &&Ignore + RETURN + ENDCASE + ENDCASE + + ENDPROC + +ENDDEFINE + +DEFINE CLASS resizable AS custom + *< CLASSDATA: Baseclass="custom" Timestamp="" Scale="Pixels" Uniqueid="" /> + + * + *m: addtoarray + *m: adjustcontrols && call from resize event of a form to adjust the placement and size of contained objects. + *m: loopthroughcontrols + *m: reset && Resets the Timer control so that it starts counting from 0. + *m: setposition + *m: setsize + *p: initialformheight + *p: initialformwidth + *p: initialresize && Is this the first time the controls are being adjusted? + *p: repositionlist + *p: resizelist + *a: acontrolstats[1,5] + * + + PROTECTED acontrolstats,initialformheight,initialformwidth,initialresize + * + Height = 19 + initialformheight = 0 + initialformwidth = 0 + initialresize = .T. + Name = "resizable" + repositionlist = Commandbutton Combobox Checkbox Listbox Form Grid Textbox Label Shape Editbox Olecontrol Pageframe Image Spinner + resizelist = Commandbutton Combobox Checkbox Listbox Form Grid Textbox Label Shape Editbox Olecontrol Pageframe Image Spinner + Width = 27 + * + + PROTECTED PROCEDURE addtoarray + LPARAMETERS oControl + nLen = ALEN(THIS.aControlStats,1) + THIS.aControlStats[nLen,1] = oControl.Top / THIS.InitialFormHeight + THIS.aControlStats[nLen,2] = oControl.Left / THIS.InitialFormWidth + THIS.aControlStats[nLen,3] = oControl.Height / THIS.InitialFormHeight + THIS.aControlStats[nLen,4] = oControl.Width / THIS.InitialFormWidth + THIS.aControlStats[nLen,5] = IIF(TYPE("oControl.FontSize") = 'U', 0, oControl.FontSize) + DIMENSION THIS.aControlStats[nLen+1, 5] + + ENDPROC + + PROCEDURE adjustcontrols && call from resize event of a form to adjust the placement and size of contained objects. + IF THIS.InitialResize + THIS.LoopThroughControls("INITIALIZE_AND_ADJUST") + THIS.InitialResize = .F. + ELSE + THIS.LoopThroughControls("ADJUST") + ENDIF + ENDPROC + + PROCEDURE Init + THIS.InitialFormHeight = THISFORM.Height + THIS.InitialFormWidth = THISFORM.Width + ENDPROC + + PROTECTED PROCEDURE loopthroughcontrols + LPARAMETERS cTask + * Valid parameters for cTask are 'Initialize_And_Adjust' and 'Adjust' + cTask = UPPER(cTask) + + nOldDecimal = SET("DECIMAL") + SET DECIMAL TO 18 + + nPos = 0 + THISFORM.LockScreen = .T. + FOR m.i = 1 TO THISFORM.ControlCount + oControl = THISFORM.Controls[m.i] + nPos = nPos + 1 + If cTask = 'INITIALIZE_AND_ADJUST' + THIS.AddToArray(oControl) + ENDIF + IF oControl.Class$THIS.ResizeList + THIS.SetSize(oControl, nPos) + ENDIF + IF oControl.Class$THIS.RepositionList + THIS.SetPosition(oControl, nPos) + ENDIF + + *A pageframe can contain only pages + IF THISFORM.Controls[m.i].Baseclass$"Pageframe" + *Loop through each page of the pageframe + FOR m.j = 1 TO THISFORM.Controls[m.i].PageCount + WITH THISFORM.Controls[m.i].pages[m.j] + *loop through all the controls on the page + FOR m.k = 1 TO .ControlCount + nPos = nPos + 1 + IF cTask = 'INITIALIZE_AND_ADJUST' + THIS.AddToArray(.Controls[m.k]) + ENDIF + IF oControl.Class$THIS.ResizeList + THIS.SetSize(oControl, nPos) + ENDIF + IF oControl.Class$THIS.RepositionList + THIS.SetPosition(oControl, nPos) + ENDIF + ENDFOR + ENDWITH + ENDFOR + ENDIF + ENDFOR + + THISFORM.LockScreen = .F. + SET DECIMAL TO nOldDecimal + ENDPROC + + PROCEDURE reset && Resets the Timer control so that it starts counting from 0. + * Call the reset method when you add a control to the form at runtime. + THIS.InitialResize = .T. + DIMENSION THIS.aControlStats[1,5] + THIS.InitialFormHeight = THISFORM.Height + THIS.InitialFormWidth = THISFORM.Width + + ENDPROC + + PROTECTED PROCEDURE setposition + LPARAMETERS oControl, nPos + oControl.Top = THISFORM.Height * THIS.aControlStats[nPos,1] + oControl.Left = THISFORM.Width * THIS.aControlStats[nPos,2] + + ENDPROC + + PROTECTED PROCEDURE setsize + LPARAMETERS oControl, nPos + oControl.Width = THISFORM.Width * THIS.aControlStats[nPos,4] + IF !oControl.Baseclass $ "Textbox Spinner" + oControl.Height = THISFORM.Height * THIS.aControlStats[nPos,3] + ENDIF + + + ENDPROC + +ENDDEFINE + +DEFINE CLASS resizable_class AS custom + *< CLASSDATA: Baseclass="custom" Timestamp="" Scale="Pixels" Uniqueid="" /> + + * + *m: addtoarray + *m: adjustcontrols && call from resize event of a form to adjust the placement and size of contained objects. + *m: loopthroughcontrols + *m: reset && Resets the Timer control so that it starts counting from 0. + *m: setposition + *m: setsize + *p: initialformheight + *p: initialformwidth + *p: initialresize && Is this the first time the controls are being adjusted? + *p: repositionlist + *p: resizelist + *a: acontrolstats[1,5] + * + + PROTECTED acontrolstats,initialformheight,initialformwidth,initialresize + * + Height = 19 + initialformheight = 0 + initialformwidth = 0 + initialresize = .T. + Name = "resizable" + repositionlist = Commandbutton Combobox Checkbox Listbox Form Grid Textbox Label Shape Editbox Olecontrol Pageframe Image Spinner + resizelist = Commandbutton Combobox Checkbox Listbox Form Grid Textbox Label Shape Editbox Olecontrol Pageframe Image Spinner + Width = 27 + * + + PROTECTED PROCEDURE addtoarray + LPARAMETERS oControl + nLen = ALEN(THIS.aControlStats,1) + THIS.aControlStats[nLen,1] = oControl.Top / THIS.InitialFormHeight + THIS.aControlStats[nLen,2] = oControl.Left / THIS.InitialFormWidth + THIS.aControlStats[nLen,3] = oControl.Height / THIS.InitialFormHeight + THIS.aControlStats[nLen,4] = oControl.Width / THIS.InitialFormWidth + THIS.aControlStats[nLen,5] = IIF(TYPE("oControl.FontSize") = 'U', 0, oControl.FontSize) + DIMENSION THIS.aControlStats[nLen+1, 5] + + ENDPROC + + PROCEDURE adjustcontrols && call from resize event of a form to adjust the placement and size of contained objects. + IF THIS.InitialResize + THIS.LoopThroughControls("INITIALIZE_AND_ADJUST") + THIS.InitialResize = .F. + ELSE + THIS.LoopThroughControls("ADJUST") + ENDIF + ENDPROC + + PROCEDURE Init + THIS.InitialFormHeight = THISFORM.Height + THIS.InitialFormWidth = THISFORM.Width + ENDPROC + + PROTECTED PROCEDURE loopthroughcontrols + LPARAMETERS cTask + * Valid parameters for cTask are 'Initialize_And_Adjust' and 'Adjust' + cTask = UPPER(cTask) + + nOldDecimal = SET("DECIMAL") + SET DECIMAL TO 18 + + nPos = 0 + THISFORM.LockScreen = .T. + FOR m.i = 1 TO THISFORM.ControlCount + oControl = THISFORM.Controls[m.i] + nPos = nPos + 1 + If cTask = 'INITIALIZE_AND_ADJUST' + THIS.AddToArray(oControl) + ENDIF + IF oControl.Class$THIS.ResizeList + THIS.SetSize(oControl, nPos) + ENDIF + IF oControl.Class$THIS.RepositionList + THIS.SetPosition(oControl, nPos) + ENDIF + + *A pageframe can contain only pages + IF THISFORM.Controls[m.i].Baseclass$"Pageframe" + *Loop through each page of the pageframe + FOR m.j = 1 TO THISFORM.Controls[m.i].PageCount + WITH THISFORM.Controls[m.i].pages[m.j] + *loop through all the controls on the page + FOR m.k = 1 TO .ControlCount + nPos = nPos + 1 + IF cTask = 'INITIALIZE_AND_ADJUST' + THIS.AddToArray(.Controls[m.k]) + ENDIF + IF oControl.Class$THIS.ResizeList + THIS.SetSize(oControl, nPos) + ENDIF + IF oControl.Class$THIS.RepositionList + THIS.SetPosition(oControl, nPos) + ENDIF + ENDFOR + ENDWITH + ENDFOR + ENDIF + ENDFOR + + THISFORM.LockScreen = .F. + SET DECIMAL TO nOldDecimal + ENDPROC + + PROCEDURE reset && Resets the Timer control so that it starts counting from 0. + * Call the reset method when you add a control to the form at runtime. + THIS.InitialResize = .T. + DIMENSION THIS.aControlStats[1,5] + THIS.InitialFormHeight = THISFORM.Height + THIS.InitialFormWidth = THISFORM.Width + + ENDPROC + + PROTECTED PROCEDURE setposition + LPARAMETERS oControl, nPos + oControl.Top = THISFORM.Height * THIS.aControlStats[nPos,1] + oControl.Left = THISFORM.Width * THIS.aControlStats[nPos,2] + + ENDPROC + + PROTECTED PROCEDURE setsize + LPARAMETERS oControl, nPos + oControl.Width = THISFORM.Width * THIS.aControlStats[nPos,4] + IF !oControl.Baseclass $ "Textbox Spinner" + oControl.Height = THISFORM.Height * THIS.aControlStats[nPos,3] + ENDIF + + + ENDPROC + +ENDDEFINE + +DEFINE CLASS resizable_name AS resizable_class OF "solution.vcx" + *< CLASSDATA: Baseclass="custom" Timestamp="" Scale="Pixels" Uniqueid="" /> + + #INCLUDE "c:\program files\microsoft visual foxpro 8\foxpro.h" + * + Name = "resizable_name" + * + + PROCEDURE loopthroughcontrols + LPARAMETERS cTask + * Valid parameters for cTask are 'Initialize_And_Adjust' and 'Adjust' + cTask = UPPER(cTask) + + nOldDecimal = SET("DECIMAL") + SET DECIMAL TO 18 + + nPos = 0 + THISFORM.LockScreen = .T. + FOR m.i = 1 TO THISFORM.ControlCount + oControl = THISFORM.Controls[m.i] + nPos = nPos + 1 + If cTask = 'INITIALIZE_AND_ADJUST' + THIS.AddToArray(oControl) + ENDIF + IF oControl.Name$THIS.ResizeList + THIS.SetSize(oControl, nPos) + ENDIF + IF oControl.Name$THIS.RepositionList + THIS.SetPosition(oControl, nPos) + ENDIF + + *A pageframe can contain only pages + IF THISFORM.Controls[m.i].Baseclass$"Pageframe" + *Loop through each page of the pageframe + FOR m.j = 1 TO THISFORM.Controls[m.i].PageCount + WITH THISFORM.Controls[m.i].pages[m.j] + *loop through all the controls on the page + FOR m.k = 1 TO .ControlCount + nPos = nPos + 1 + IF cTask = 'INITIALIZE_AND_ADJUST' + THIS.AddToArray(.Controls[m.k]) + ENDIF + IF oControl.Class$THIS.ResizeList + THIS.SetSize(oControl, nPos) + ENDIF + IF oControl.Class$THIS.RepositionList + THIS.SetPosition(oControl, nPos) + ENDIF + ENDFOR + ENDWITH + ENDFOR + ENDIF + ENDFOR + + THISFORM.LockScreen = .F. + SET DECIMAL TO nOldDecimal + ENDPROC + +ENDDEFINE + +DEFINE CLASS resizer AS control + *< CLASSDATA: Baseclass="control" Timestamp="" Scale="Pixels" Uniqueid="" /> + + *-- OBJECTDATA items order determines ZOrder / El orden de los items OBJECTDATA determina el ZOrder + *< OBJECTDATA: ObjPath="Label1" UniqueID="" Timestamp="" /> + + * + *m: onresize + *p: nlastheight + *p: nlastwidth + * + + * + BackStyle = 0 + BorderWidth = 0 + Comment = "*:OnResize=RB" + Height = 14 + Name = "resizer" + nlastheight = 0 + nlastwidth = 0 + Width = 14 + * + + ADD OBJECT 'Label1' AS label WITH ; + AutoSize = .T., ; + BackStyle = 0, ; + Caption = "o", ; + FontName = "Marlett", ; + Height = 14, ; + Left = 0, ; + Name = "Label1", ; + Top = 0, ; + Width = 14 + *< END OBJECT: BaseClass="label" /> + + PROCEDURE Init + * + * Save the original form size + * + THIS.nLastHeight = ThisForm.Height + THIS.nLastWidth = ThisForm.Width + + IF ThisForm.MinHeight = -1 + * + * Make the design height the minimum if not otherwise specified + * + ThisForm.MinHeight = ThisForm.Height + ENDIF + + IF ThisForm.MinWidth = -1 + * + * Make the design width the minimum if not otherwise specified + * + ThisForm.MinWidth = ThisForm.Width + ENDIF + + * + * Move this control to the right bottom of the form + * + THIS.Top = ThisForm.Height - THIS.Height + 2 + THIS.Left = ThisForm.Width - This.Width + 2 + + * + * Make sure the border style is resizable + * + ThisForm.BorderStyle = 3 + + ENDPROC + + PROCEDURE onresize + * + * Call this method from the Form.Resize event + * + LOCAL ARRAY laObjects[1] + LOCAL lnCount,lnI, loObject, lnDeltaHeight, lnDeltaWidth + LOCAL lcOnResize, lcHeight, lcWidth, lnAtPos + + * + * Lock the screen + * + ThisForm.LockScreen = .T. + + * + * Calculate the change in height since the last resize + * + lnDeltaHeight = ThisForm.Height - THIS.nLastHeight + lnDeltaWidth = ThisForm.Width - THIS.nLastWidth + + * + * Build an array of objects + * + lnCount = Obj2Arr(@laObjects, ThisForm) + + FOR lnI = 1 TO lnCount + * + * Get the object + * + loObject = laObjects[lnI] + + IF TYPE('loObject.Comment') <> 'C' + * + * No comment property, skip control + LOOP + ENDIF + + lnAtPos = ATCC('*:OnResize=', loObject.Comment) + IF lnAtPos = 0 + * + * No On resize specified, skip control + * + LOOP + ENDIF + + * + * Determine the actions to be preformed + * + lcOnResize = UPPER(PADR(SUBSTR(loObject.Comment, lnAtPos + 11), 2)) + lcHeight = RIGHT(lcOnResize, 1) + lcWidth = LEFT(lcOnResize, 1) + + * + * Chanhe the Height/Top of needed + DO CASE + CASE lcHeight = 'C' + * + * Center verticaly + * + loObject.Top = loObject.Top + ROUND(lnDeltaHeight / 2, 0) + + CASE lcHeight = 'B' + * + * Align with bottom + * + loObject.Top = loObject.Top + lnDeltaHeight + + CASE lcHeight = 'S' + * + * Resize object vertically + * + loObject.Height = loObject.Height + lnDeltaHeight + ENDCASE + + DO CASE + CASE lcWidth = 'C' + * + * Center horizontally + * + loObject.Left = loObject.Left + ROUND(lnDeltaWidth / 2, 0) + + CASE lcWidth = 'R' + * + * Align to right site + * + loObject.Left = loObject.Left + lnDeltaWidth + + CASE lcWidth = 'S' + * + * Size object horizontally + * + loObject.Width = loObject.Width + lnDeltaWidth + ENDCASE + ENDFOR + + * + * Remember the current form size + * + THIS.nLastHeight = ThisForm.Height + THIS.nLastWidth = ThisForm.Width + + * + * Unlock the form to show changes + * + ThisForm.LockScreen = .F. + + ENDPROC + +ENDDEFINE diff --git a/clase/stocuri.vc2 b/clase/stocuri.vc2 new file mode 100644 index 0000000..87772e8 --- /dev/null +++ b/clase/stocuri.vc2 @@ -0,0 +1,8198 @@ +*-------------------------------------------------------------------------------------------------------------------------------------------------------- +* (EN) AUTOGENERATED - ATTENTION!! - NOT INTENDED FOR EXECUTION!! USE ONLY FOR MERGING CHANGES AND STORING WITH SCM TOOLS!! +*-------------------------------------------------------------------------------------------------------------------------------------------------------- +*< FOXBIN2PRG: Version="1.21" SourceFile="stocuri.vcx" CPID="1252" /> (Solo para binarios VFP 9 / Only for VFP 9 binaries) +* +* +DEFINE CLASS frm_fara_miscare AS _frmbase OF "_frm_base.vcx" + *< CLASSDATA: Baseclass="form" Timestamp="" Scale="Pixels" Uniqueid="" /> + + *-- OBJECTDATA items order determines ZOrder / El orden de los items OBJECTDATA determina el ZOrder + *< OBJECTDATA: ObjPath="Label1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="Text1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="Label2" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="Label3" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="Label4" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="Label5" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="Label6" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="Label7" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="data1Lbl" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="data2Lbl" UniqueID="" Timestamp="" /> + + * + BorderStyle = 1 + DoCreate = .T. + Height = 161 + Name = "frm_fara_miscare" + Width = 334 + WindowState = 0 + _shape1.Height = 29 + _shape1.Left = -1 + _shape1.Name = "_shape1" + _shape1.Top = 0 + _shape1.Width = 340 + _shape2.Height = 29 + _shape2.Left = 302 + _shape2.Name = "_shape2" + _shape2.Top = 0 + _shape2.Width = 32 + Lb_titlu_alb_b121.Caption = "Stocuri fara miscare" + Lb_titlu_alb_b121.Name = "Lb_titlu_alb_b121" + Lb_titlu_alb_b121.TabIndex = 3 + BUT_TERMIN1.Height = 27 + BUT_TERMIN1.Left = 303 + BUT_TERMIN1.Name = "BUT_TERMIN1" + BUT_TERMIN1.TabIndex = 2 + BUT_TERMIN1.Top = 1 + BUT_TERMIN1.Width = 30 + Gridsort1.Name = "Gridsort1" + * + + ADD OBJECT 'data1Lbl' AS _label WITH ; + BackStyle = 0, ; + Caption = "", ; + FontName = "Arial Narrow", ; + Height = 18, ; + Left = 139, ; + Name = "data1Lbl", ; + Top = 107, ; + Width = 2 + *< END OBJECT: ClassLib="_baza.vcx" BaseClass="label" /> + + ADD OBJECT 'data2Lbl' AS _label WITH ; + BackStyle = 0, ; + Caption = "", ; + FontName = "Arial Narrow", ; + Height = 18, ; + Left = 139, ; + Name = "data2Lbl", ; + Top = 131, ; + Width = 2 + *< END OBJECT: ClassLib="_baza.vcx" BaseClass="label" /> + + ADD OBJECT 'Label1' AS _label WITH ; + AutoSize = .T., ; + BackStyle = 0, ; + Caption = "Selectati articolele care nu au mai ", ; + Height = 18, ; + Left = 11, ; + Name = "Label1", ; + TabIndex = 4, ; + Top = 57, ; + Width = 203 + *< END OBJECT: ClassLib="_baza.vcx" BaseClass="label" /> + + ADD OBJECT 'Label2' AS _label WITH ; + AutoSize = .T., ; + BackStyle = 0, ; + Caption = "- Data intrarii <= ", ; + Height = 18, ; + Left = 68, ; + Name = "Label2", ; + TabIndex = 5, ; + Top = 106, ; + Width = 100 + *< END OBJECT: ClassLib="_baza.vcx" BaseClass="label" /> + + ADD OBJECT 'Label3' AS _label WITH ; + AutoSize = .T., ; + BackStyle = 0, ; + Caption = "- Data iesirii <=", ; + Height = 18, ; + Left = 68, ; + Name = "Label3", ; + TabIndex = 6, ; + Top = 130, ; + Width = 91 + *< END OBJECT: ClassLib="_baza.vcx" BaseClass="label" /> + + ADD OBJECT 'Label4' AS _label WITH ; + AutoSize = .T., ; + BackStyle = 0, ; + Caption = "Explicatie: ", ; + Height = 18, ; + Left = 12, ; + Name = "Label4", ; + TabIndex = 7, ; + Top = 106, ; + Width = 67 + *< END OBJECT: ClassLib="_baza.vcx" BaseClass="label" /> + + ADD OBJECT 'Label5' AS _label WITH ; + AutoSize = .T., ; + BackStyle = 0, ; + Caption = "avut miscare din data", ; + Height = 18, ; + Left = 66, ; + Name = "Label5", ; + TabIndex = 8, ; + Top = 74, ; + Width = 125 + *< END OBJECT: ClassLib="_baza.vcx" BaseClass="label" /> + + ADD OBJECT 'Label6' AS _label WITH ; + AutoSize = .T., ; + BackStyle = 0, ; + Caption = "(sau nula)", ; + Height = 18, ; + Left = 265, ; + Name = "Label6", ; + TabIndex = 9, ; + Top = 106, ; + Width = 59 + *< END OBJECT: ClassLib="_baza.vcx" BaseClass="label" /> + + ADD OBJECT 'Label7' AS _label WITH ; + AutoSize = .T., ; + BackStyle = 0, ; + Caption = "(sau nula)", ; + Height = 18, ; + Left = 265, ; + Name = "Label7", ; + TabIndex = 10, ; + Top = 130, ; + Width = 59 + *< END OBJECT: ClassLib="_baza.vcx" BaseClass="label" /> + + ADD OBJECT 'Text1' AS _textbox WITH ; + ControlSource = "ldDataFM", ; + Format = "K", ; + Height = 23, ; + Left = 218, ; + Name = "Text1", ; + TabIndex = 1, ; + Top = 63, ; + Width = 109 + *< END OBJECT: ClassLib="_baza.vcx" BaseClass="textbox" /> + + PROCEDURE Activate + thisform.data1Lbl.Caption = DTOC(ldDataFM) + thisform.data2Lbl.Caption = DTOC(ldDataFM) + ENDPROC + + PROCEDURE Text1.Valid + thisform.data1Lbl.Caption = DTOC(ldDataFM) + thisform.data2Lbl.Caption = DTOC(ldDataFM) + ENDPROC + +ENDDEFINE + +DEFINE CLASS frm_stocuri AS _frmbase OF "_frm_base.vcx" + *< CLASSDATA: Baseclass="form" Timestamp="" Scale="Pixels" Uniqueid="" /> + + *-- OBJECTDATA items order determines ZOrder / El orden de los items OBJECTDATA determina el ZOrder + *< OBJECTDATA: ObjPath="optgrup" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="But_excel1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="But_verifica1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="But_listare2" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="But_modifica1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="grdStocuri" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="grdStocuri.Cnr_crt.Header1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="grdStocuri.Cnr_crt.Text1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="grdStocuri.Ccodmat.Header1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="grdStocuri.Ccodmat.Text1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="grdStocuri.Cdenumire.Header1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="grdStocuri.Cdenumire.Text1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="grdStocuri.Cum.Header1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="grdStocuri.Cum.Text1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="grdStocuri.Cpret.Header1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="grdStocuri.Cpret.Text1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="grdStocuri.Ccants.Header1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="grdStocuri.Ccants.Text1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="grdStocuri.Ccant.Header1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="grdStocuri.Ccant.Text1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="grdStocuri.Ccante.Header1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="grdStocuri.Ccante.Text1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="grdStocuri.Cstoc.Header1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="grdStocuri.Cstoc.Text1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="grdStocuri.Ccont.Header1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="grdStocuri.Ccont.Text1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="grdStocuri.Cacont.Header1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="grdStocuri.Cacont.Text1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="grdStocuri.Ccgest.Header1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="grdStocuri.Ccgest.Text1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="grdStocuri.Cpretv.Header1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="grdStocuri.Cpretv.Text1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="grdStocuri.Cpretvtva.Header1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="grdStocuri.Cpretvtva.Text1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="grdStocuri.Ctvav.Header1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="grdStocuri.Ctvav.Text1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="grdStocuri.Cpretd.Header1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="grdStocuri.Cpretd.Text1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="grdStocuri.Cdatain.Header1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="grdStocuri.Cdatain.Text1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="grdStocuri.Cdataout.Header1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="grdStocuri.Cdataout.Text1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="grdStocuri.Column19.Header1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="grdStocuri.Column19.Text1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="grdStocuri.cIdArticol.Header1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="grdStocuri.cIdArticol.Text1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="grdStocuri.cCantBax.Header1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="grdStocuri.cCantBax.Text1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="grdStocuri.cUm2.Header1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="grdStocuri.cUm2.Text1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="grdStocuri.Column23.Header1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="grdStocuri.Column23.Text1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="grdStocuri.Column24.Header1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="grdStocuri.Column24.Text1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="grdStocuri.cSerie.Header1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="grdStocuri.cSerie.Text1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="grdStocuri.cNume_val.Header1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="grdStocuri.cNume_val.Text1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="grdStocuri.cCodmatF.Header1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="grdStocuri.cCodmatF.Text1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="grdStocuri.cDataExpirare.Header1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="grdStocuri.cDataExpirare.Text1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="grdStocuri.cLot.Header1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="grdStocuri.cLot.Text1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="grdStocuri.cSucursala.Header1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="grdStocuri.cSucursala.Text1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="grdStocuri.cPart_rez.Header1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="grdStocuri.cPart_rez.Text1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="grdStocuri.cNrord_rez.Header1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="grdStocuri.cNrord_rez.Text1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="grdStocuri.cCodbare.Header1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="grdStocuri.cCodbare.Text1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="grdStocuri.cfurn_princ.Header1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="grdStocuri.cfurn_princ.Text1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="grdStocuri.cFurnizor.Header1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="grdStocuri.cFurnizor.Text1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="grdStocuri.cValoarePretA.Header1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="grdStocuri.cValoarePretA.Text1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="grdStocuri.cValoarePretV.Header1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="grdStocuri.cValoarePretV.Text1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="grdStocuri.cCodNC8.Header1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="grdStocuri.cCodNC8.Text1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="grdStocuri.cGreutate.Header1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="grdStocuri.cGreutate.Text1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="grdStocuri.cTaraOrigine.Header1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="grdStocuri.cTaraOrigine.Text1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="shp_total" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="Text1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="Text2" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="Text3" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="Text4" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="lbl1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="lbl2" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="lbl4" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="lbl3" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="Text5" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="Text6" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="Text7" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="Text8" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="Text9" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="Text10" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="lblValuta" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="Text11" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="Text12" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="lbl5" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="lbl6" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="But_reface1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="lbl7" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="Chk_fara_miscare" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="cboValuta" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="But_start_criterii1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="But_reset_criterii1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="Gridextra1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="Lb_shortcuts1" UniqueID="" Timestamp="" /> + + * + *m: butappend + *m: calcul_sume + *m: do_listare_articol + *m: do_listare_borderou + *m: do_listare_fisa_magazie + *m: do_listare_fisa_magazie_explicativa + *m: do_listare_fisa_magazie_in_valuta + *m: do_listare_selectie + *m: initializare + *p: cfiltruinitial + *p: cmonedanationala + *p: cnewvalue + *p: coldvalue + *p: cvalutatotal + *p: data_f_misc + *p: data_ref + *p: lmodificare_totaluri + *p: lmodificata + *p: ngridheight + *p: nidmonedanationala + *p: nidvalutatotal + *p: ntipgest + *p: vstoc_final + *p: vstoc_finalv + *p: vstoc_final_tot + *p: vstoc_in + *p: vstoc_inv + *p: vstoc_in_tot + *p: vstoc_out + *p: vstoc_outv + *p: vstoc_out_tot + *p: vstoc_prec + *p: vstoc_precv + *p: vstoc_prec_tot + * + + * + BorderStyle = 1 + cbuton2 = but_listare1;but_listare2 + cgridsortlist = grdStocuri + cmonedanationala = + cnewvalue = .F. + coldvalue = .F. + cvalutatotal = + data_f_misc = .F. + data_ref = {} + DoCreate = .T. + FontName = "Arial Narrow" + Height = 411 + lmodificare_totaluri = .F. + lmodificata = .F. + Name = "frm_stocuri" + ngridheight = 0 + nidmonedanationala = 0 + nidvalutatotal = 0 + ntipgest = 0 + vstoc_final = 0 + vstoc_finalv = 0 + vstoc_final_tot = 0 + vstoc_in = 0 + vstoc_inv = 0 + vstoc_in_tot = 0 + vstoc_out = 0 + vstoc_outv = 0 + vstoc_out_tot = 0 + vstoc_prec = 0 + vstoc_precv = 0 + vstoc_prec_tot = 0 + Width = 867 + WindowState = 2 + _shape1.Anchor = 10 + _shape1.Height = 29 + _shape1.Left = 0 + _shape1.Name = "_shape1" + _shape1.Tag = "RESIZABLE,NOVERTICAL_RESIZE" + _shape1.Top = 0 + _shape1.Width = 867 + _shape1.ZOrderSet = 2 + _shape2.Height = 28 + _shape2.Left = 688 + _shape2.Name = "_shape2" + _shape2.Tag = "MOVABLE,NOVERTICAL_MOVE" + _shape2.Top = 1 + _shape2.Width = 208 + _shape2.ZOrderSet = 3 + Lb_titlu_alb_b121.Caption = "STOCURI" + Lb_titlu_alb_b121.FontBold = .T. + Lb_titlu_alb_b121.Left = 6 + Lb_titlu_alb_b121.Name = "Lb_titlu_alb_b121" + Lb_titlu_alb_b121.TabIndex = 45 + Lb_titlu_alb_b121.Top = 1 + Lb_titlu_alb_b121.ZOrderSet = 4 + BUT_TERMIN1.Anchor = 9 + BUT_TERMIN1.Height = 27 + BUT_TERMIN1.Left = 837 + BUT_TERMIN1.Name = "BUT_TERMIN1" + BUT_TERMIN1.TabIndex = 22 + BUT_TERMIN1.Tag = "MOVABLE,NOVERTICAL_MOVE" + BUT_TERMIN1.ToolTipText = "Terminare" + BUT_TERMIN1.Top = 2 + BUT_TERMIN1.Width = 30 + BUT_TERMIN1.ZOrderSet = 49 + Gridsort1.Left = 204 + Gridsort1.Name = "Gridsort1" + Gridsort1.Top = 34 + * + + ADD OBJECT 'But_excel1' AS but_excel WITH ; + Anchor = 9, ; + Height = 27, ; + Left = 778, ; + Name = "But_excel1", ; + TabIndex = 27, ; + Tag = "MOVABLE,NOVERTICAL_MOVE", ; + ToolTipText = "Exportare in Excel", ; + Top = 2, ; + Width = 30, ; + ZOrderSet = 6 + *< END OBJECT: ClassLib="cmd_butoane.vcx" BaseClass="commandbutton" /> + + ADD OBJECT 'But_listare2' AS but_listare WITH ; + Anchor = 9, ; + Height = 27, ; + Left = 807, ; + Name = "But_listare2", ; + TabIndex = 26, ; + Tag = "MOVABLE,NOVERTICAL_MOVE", ; + ToolTipText = "Listare selectie", ; + Top = 2, ; + Width = 30, ; + ZOrderSet = 9 + *< END OBJECT: ClassLib="cmd_butoane.vcx" BaseClass="commandbutton" /> + + ADD OBJECT 'But_modifica1' AS but_modifica WITH ; + Anchor = 9, ; + caction = butappend, ; + Height = 27, ; + Left = 720, ; + Name = "But_modifica1", ; + TabIndex = 29, ; + Tag = "MOVABLE,NOVERTICAL_MOVE", ; + Top = 2, ; + Width = 30, ; + ZOrderSet = 45 + *< END OBJECT: ClassLib="cmd_butoane.vcx" BaseClass="commandbutton" /> + + ADD OBJECT 'But_reface1' AS but_reface WITH ; + Anchor = 9, ; + Height = 27, ; + Left = 690, ; + Name = "But_reface1", ; + TabIndex = 30, ; + Tag = "MOVABLE,NOVERTICAL_MOVE", ; + Top = 2, ; + Width = 30, ; + ZOrderSet = 46 + *< END OBJECT: ClassLib="cmd_butoane.vcx" BaseClass="commandbutton" /> + + ADD OBJECT 'But_reset_criterii1' AS but_reset_criterii WITH ; + Anchor = 9, ; + Left = 602, ; + Name = "But_reset_criterii1", ; + Top = 2, ; + Visible = .T. + *< END OBJECT: ClassLib="ocriterii.vcx" BaseClass="commandbutton" /> + + ADD OBJECT 'But_start_criterii1' AS but_start_criterii WITH ; + Anchor = 9, ; + Comment = "*:OnResize=RT", ; + Left = 631, ; + Name = "But_start_criterii1", ; + Top = 2 + *< END OBJECT: ClassLib="ocriterii.vcx" BaseClass="commandbutton" /> + + ADD OBJECT 'But_verifica1' AS but_verifica WITH ; + Anchor = 9, ; + Height = 27, ; + Left = 748, ; + Name = "But_verifica1", ; + SpecialEffect = 1, ; + TabIndex = 28, ; + Tag = "MOVABLE,NOVERTICAL_MOVE", ; + Top = 2, ; + Width = 30, ; + ZOrderSet = 8 + *< END OBJECT: ClassLib="cmd_butoane.vcx" BaseClass="commandbutton" /> + + ADD OBJECT 'cboValuta' AS _cbbase WITH ; + ControlSource = "thisform.cValutaTotal", ; + Height = 24, ; + Left = 221, ; + Name = "cboValuta", ; + RowSource = "cValuteRulTemp.nume_val", ; + RowSourceType = 2, ; + SpecialEffect = 2, ; + Top = 56, ; + Visible = .F., ; + Width = 125 + *< END OBJECT: ClassLib="_cb_base.vcx" BaseClass="combobox" /> + + ADD OBJECT 'Chk_fara_miscare' AS _checkbox WITH ; + Alignment = 0, ; + AutoSize = .T., ; + BackStyle = 0, ; + Caption = "Fara miscare", ; + Height = 18, ; + Left = 7, ; + Name = "Chk_fara_miscare", ; + TabIndex = 19, ; + Top = 33, ; + Width = 95, ; + ZOrderSet = 52 + *< END OBJECT: ClassLib="_baza.vcx" BaseClass="checkbox" /> + + ADD OBJECT 'grdStocuri' AS _grdrow WITH ; + Anchor = 15, ; + ColumnCount = 40, ; + DeleteMark = .F., ; + HeaderHeight = 38, ; + Height = 250, ; + Left = 6, ; + Name = "grdStocuri", ; + Panel = 1, ; + RecordSource = "crsStocuri", ; + RowHeight = 19, ; + TabIndex = 31, ; + Tag = "RESIZABLE", ; + Top = 153, ; + Width = 855, ; + ZOrderSet = 12, ; + Column1.ControlSource = "nr_crt", ; + Column1.FontName = "Arial", ; + Column1.FontSize = 10, ; + Column1.Name = "Cnr_crt", ; + Column1.ReadOnly = .T., ; + Column1.Width = 34, ; + Column2.ControlSource = "codmat", ; + Column2.FontName = "Arial", ; + Column2.FontSize = 10, ; + Column2.Name = "Ccodmat", ; + Column2.ReadOnly = .T., ; + Column2.Width = 94, ; + Column3.ColumnOrder = 3, ; + Column3.ControlSource = "denumire", ; + Column3.FontName = "Arial", ; + Column3.FontSize = 10, ; + Column3.Name = "Cdenumire", ; + Column3.ReadOnly = .T., ; + Column3.Width = 200, ; + Column4.ColumnOrder = 5, ; + Column4.ControlSource = "um", ; + Column4.FontName = "Arial", ; + Column4.FontSize = 10, ; + Column4.Name = "Cum", ; + Column4.ReadOnly = .T., ; + Column4.Width = 45, ; + Column5.ColumnOrder = 10, ; + Column5.ControlSource = "pret", ; + Column5.DynamicBackColor = "iif(this.readonly,RGB(255,255,255),RGB(252,255,183))", ; + Column5.FontName = "Arial", ; + Column5.FontSize = 10, ; + Column5.Format = "r", ; + Column5.InputMask = (get_mask(16,gnPPRET)), ; + Column5.Name = "Cpret", ; + Column5.ReadOnly = .T., ; + Column5.Width = 82, ; + Column6.ColumnOrder = 11, ; + Column6.ControlSource = "cants", ; + Column6.DynamicBackColor = "iif(this.readonly,RGB(255,255,255),RGB(252,255,183))", ; + Column6.FontName = "Arial", ; + Column6.FontSize = 10, ; + Column6.Format = "r", ; + Column6.InputMask = (get_mask(14,gnPCANT)), ; + Column6.Name = "Ccants", ; + Column6.ReadOnly = .T., ; + Column6.Width = 97, ; + Column7.ColumnOrder = 12, ; + Column7.ControlSource = "cant", ; + Column7.DynamicBackColor = "iif(this.readonly,RGB(255,255,255),RGB(252,255,183))", ; + Column7.FontName = "Arial", ; + Column7.FontSize = 10, ; + Column7.Format = "r", ; + Column7.InputMask = (get_mask(14,gnPCANT)), ; + Column7.Name = "Ccant", ; + Column7.ReadOnly = .T., ; + Column7.Width = 73, ; + Column8.ColumnOrder = 13, ; + Column8.ControlSource = "cante", ; + Column8.DynamicBackColor = "iif(this.readonly,RGB(255,255,255),RGB(252,255,183))", ; + Column8.FontName = "Arial", ; + Column8.FontSize = 10, ; + Column8.Format = "r", ; + Column8.InputMask = (get_mask(14,gnPCANT)), ; + Column8.Name = "Ccante", ; + Column8.ReadOnly = .T., ; + Column8.Width = 67, ; + Column9.ColumnOrder = 14, ; + Column9.ControlSource = "cants+cant-cante", ; + Column9.FontName = "Arial", ; + Column9.FontSize = 10, ; + Column9.Format = "r", ; + Column9.InputMask = (get_mask(16,gnPCANT)), ; + Column9.Name = "Cstoc", ; + Column9.ReadOnly = .T., ; + Column9.Width = 73, ; + Column10.ColumnOrder = 16, ; + Column10.ControlSource = "cont", ; + Column10.FontName = "Arial", ; + Column10.FontSize = 10, ; + Column10.Name = "Ccont", ; + Column10.ReadOnly = .T., ; + Column10.Width = 55, ; + Column11.ColumnOrder = 17, ; + Column11.ControlSource = "acont", ; + Column11.FontName = "Arial", ; + Column11.FontSize = 10, ; + Column11.Name = "Cacont", ; + Column11.ReadOnly = .T., ; + Column11.Width = 54, ; + Column12.ColumnOrder = 18, ; + Column12.ControlSource = "cgest", ; + Column12.FontName = "Arial", ; + Column12.FontSize = 10, ; + Column12.Name = "Ccgest", ; + Column12.ReadOnly = .T., ; + Column12.Width = 124, ; + Column13.ColumnOrder = 21, ; + Column13.ControlSource = "pretv", ; + Column13.DynamicBackColor = "iif(this.readonly,RGB(255,255,255),RGB(252,255,183))", ; + Column13.FontName = "Arial", ; + Column13.FontSize = 10, ; + Column13.Format = "r", ; + Column13.InputMask = (get_mask(16,gnPPretV)), ; + Column13.Name = "Cpretv", ; + Column13.ReadOnly = .T., ; + Column13.Width = 96, ; + Column14.ColumnOrder = 19, ; + Column14.ControlSource = "pretv+tvav", ; + Column14.FontName = "Arial", ; + Column14.FontSize = 10, ; + Column14.Format = "r", ; + Column14.InputMask = (get_mask(16,gnPPretV)), ; + Column14.Name = "Cpretvtva", ; + Column14.ReadOnly = .T., ; + Column14.Width = 83, ; + Column15.ColumnOrder = 22, ; + Column15.ControlSource = "tvav", ; + Column15.DynamicBackColor = "iif(this.readonly,RGB(255,255,255),RGB(252,255,183))", ; + Column15.FontName = "Arial", ; + Column15.FontSize = 10, ; + Column15.Format = "r", ; + Column15.InputMask = (get_mask(16,gnPPretV)), ; + Column15.Name = "Ctvav", ; + Column15.ReadOnly = .T., ; + Column15.Width = 82, ; + Column16.ColumnOrder = 24, ; + Column16.ControlSource = "pretd", ; + Column16.DynamicBackColor = "iif(this.readonly,RGB(255,255,255),RGB(252,255,183))", ; + Column16.FontName = "Arial", ; + Column16.FontSize = 10, ; + Column16.Format = "r", ; + Column16.InputMask = (get_mask(16,gnPPretVAL)), ; + Column16.Name = "Cpretd", ; + Column16.ReadOnly = .T., ; + Column16.Width = 80, ; + Column17.ColumnOrder = 26, ; + Column17.ControlSource = "datain", ; + Column17.DynamicBackColor = "iif(this.readonly,RGB(255,255,255),RGB(252,255,183))", ; + Column17.FontName = "Arial", ; + Column17.FontSize = 10, ; + Column17.Name = "Cdatain", ; + Column17.ReadOnly = .T., ; + Column17.Width = 99, ; + Column18.ColumnOrder = 27, ; + Column18.ControlSource = "dataout", ; + Column18.DynamicBackColor = "iif(this.readonly,RGB(255,255,255),RGB(252,255,183))", ; + Column18.FontName = "Arial", ; + Column18.FontSize = 10, ; + Column18.Name = "Cdataout", ; + Column18.ReadOnly = .T., ; + Column18.Width = 102, ; + Column19.Alignment = 1, ; + Column19.ColumnOrder = 23, ; + Column19.ControlSource = "proc_tvav", ; + Column19.DynamicBackColor = "iif(this.readonly,RGB(255,255,255),RGB(252,255,183))", ; + Column19.FontName = "Arial", ; + Column19.FontSize = 10, ; + Column19.InputMask = "99.99", ; + Column19.Name = "Column19", ; + Column19.ReadOnly = .T., ; + Column19.Width = 58, ; + Column20.ColumnOrder = 34, ; + Column20.ControlSource = "id_articol", ; + Column20.FontName = "Arial", ; + Column20.FontSize = 10, ; + Column20.Name = "cIdArticol", ; + Column20.ReadOnly = .T., ; + Column20.Width = 70, ; + Column21.ColumnOrder = 6, ; + Column21.ControlSource = "cant_bax", ; + Column21.FontName = "Arial", ; + Column21.FontSize = 10, ; + Column21.Name = "cCantBax", ; + Column21.Width = 40, ; + Column22.ColumnOrder = 7, ; + Column22.ControlSource = "um2", ; + Column22.FontName = "Arial", ; + Column22.FontSize = 10, ; + Column22.Name = "cUm2", ; + Column22.Width = 39, ; + Column23.ColumnOrder = 8, ; + Column23.ControlSource = "grupa", ; + Column23.FontName = "Arial", ; + Column23.FontSize = 10, ; + Column23.Name = "Column23", ; + Column23.Width = 107, ; + Column24.ColumnOrder = 9, ; + Column24.ControlSource = "subgrupa", ; + Column24.FontName = "Arial", ; + Column24.FontSize = 10, ; + Column24.Name = "Column24", ; + Column24.Width = 108, ; + Column25.ColumnOrder = 4, ; + Column25.ControlSource = "serie", ; + Column25.FontName = "Arial", ; + Column25.FontSize = 10, ; + Column25.Name = "cSerie", ; + Column26.ColumnOrder = 25, ; + Column26.ControlSource = "nume_val", ; + Column26.FontName = "Arial", ; + Column26.FontSize = 10, ; + Column26.Name = "cNume_val", ; + Column26.Width = 68, ; + Column27.ColumnOrder = 28, ; + Column27.ControlSource = "codmatf", ; + Column27.FontName = "Arial", ; + Column27.FontSize = 10, ; + Column27.Name = "cCodmatF", ; + Column27.Width = 92, ; + Column28.ColumnOrder = 30, ; + Column28.ControlSource = "adata_expirare", ; + Column28.FontName = "Arial", ; + Column28.FontSize = 10, ; + Column28.Name = "cDataExpirare", ; + Column28.Width = 100, ; + Column29.ColumnOrder = 29, ; + Column29.ControlSource = "lot", ; + Column29.FontName = "Arial", ; + Column29.FontSize = 10, ; + Column29.Name = "cLot", ; + Column30.ColumnOrder = 33, ; + Column30.ControlSource = "sucursala", ; + Column30.FontName = "Arial", ; + Column30.FontSize = 10, ; + Column30.Name = "cSucursala", ; + Column30.ReadOnly = .T., ; + Column30.Width = 136, ; + Column31.ColumnOrder = 31, ; + Column31.ControlSource = "part_rez", ; + Column31.FontName = "Arial", ; + Column31.FontSize = 10, ; + Column31.Name = "cPart_rez", ; + Column31.Width = 114, ; + Column32.ColumnOrder = 32, ; + Column32.ControlSource = "nrord_rez", ; + Column32.FontName = "Arial", ; + Column32.FontSize = 10, ; + Column32.Name = "cNrord_rez", ; + Column32.Width = 112, ; + Column33.ColumnOrder = 35, ; + Column33.ControlSource = "codbare", ; + Column33.FontName = "Arial", ; + Column33.FontSize = 10, ; + Column33.Name = "cCodbare", ; + Column33.ReadOnly = .T., ; + Column33.Width = 163, ; + Column34.ColumnOrder = 36, ; + Column34.ControlSource = "furn_princ", ; + Column34.FontName = "Arial", ; + Column34.FontSize = 10, ; + Column34.Name = "cfurn_princ", ; + Column34.ReadOnly = .T., ; + Column34.Width = 123, ; + Column35.ColumnOrder = 37, ; + Column35.ControlSource = "furnizor", ; + Column35.FontName = "Arial", ; + Column35.FontSize = 10, ; + Column35.Name = "cFurnizor", ; + Column35.ReadOnly = .T., ; + Column35.Width = 147, ; + Column36.ColumnOrder = 15, ; + Column36.ControlSource = "round((cants+cant-cante)*pret, gnPA)", ; + Column36.FontName = "Arial", ; + Column36.FontSize = 10, ; + Column36.Format = "R", ; + Column36.InputMask = (get_mask(16,gnPa)), ; + Column36.Name = "cValoarePretA", ; + Column36.ReadOnly = .T., ; + Column36.Width = 140, ; + Column37.ColumnOrder = 20, ; + Column37.ControlSource = "round((cants+cant-cante)*(pretv+tvav), gnPA)", ; + Column37.FontName = "Arial", ; + Column37.FontSize = 10, ; + Column37.Format = "R", ; + Column37.InputMask = (get_mask(16,gnPa)), ; + Column37.Name = "cValoarePretV", ; + Column37.ReadOnly = .T., ; + Column37.Width = 96, ; + Column38.ControlSource = "codnc8", ; + Column38.Name = "cCodNC8", ; + Column38.ReadOnly = .T., ; + Column38.Width = 150, ; + Column39.ControlSource = "greutate", ; + Column39.Name = "cGreutate", ; + Column39.ReadOnly = .T., ; + Column40.ControlSource = "tara_origine", ; + Column40.Name = "cTaraOrigine", ; + Column40.ReadOnly = .T., ; + Column40.Width = 166 + *< END OBJECT: ClassLib="_grd_base.vcx" BaseClass="grid" /> + + ADD OBJECT 'grdStocuri.Cacont.Header1' AS header WITH ; + Alignment = 2, ; + Caption = "Analitic", ; + FontName = "Arial", ; + FontSize = 10, ; + Name = "Header1" + *< END OBJECT: BaseClass="header" /> + + ADD OBJECT 'grdStocuri.Cacont.Text1' AS textbox WITH ; + BackColor = 255,255,255, ; + BorderStyle = 0, ; + FontName = "Arial", ; + FontSize = 10, ; + ForeColor = 0,0,0, ; + Margin = 0, ; + Name = "Text1", ; + ReadOnly = .T., ; + SelectedBackColor = 100,185,255 + *< END OBJECT: BaseClass="textbox" /> + + ADD OBJECT 'grdStocuri.Ccant.Header1' AS header WITH ; + Alignment = 2, ; + Caption = "Intrari", ; + FontName = "Arial", ; + FontSize = 10, ; + Name = "Header1" + *< END OBJECT: BaseClass="header" /> + + ADD OBJECT 'grdStocuri.Ccant.Text1' AS textbox WITH ; + BackColor = 255,255,255, ; + BorderStyle = 0, ; + FontName = "Arial", ; + FontSize = 10, ; + ForeColor = 0,0,0, ; + Margin = 0, ; + Name = "Text1", ; + ReadOnly = .T., ; + SelectedBackColor = 100,185,255 + *< END OBJECT: BaseClass="textbox" /> + + ADD OBJECT 'grdStocuri.cCantBax.Header1' AS header WITH ; + Alignment = 2, ; + Caption = "Cant2", ; + FontName = "Arial", ; + FontSize = 10, ; + Name = "Header1" + *< END OBJECT: BaseClass="header" /> + + ADD OBJECT 'grdStocuri.cCantBax.Text1' AS textbox WITH ; + BackColor = 255,255,255, ; + BorderStyle = 0, ; + FontName = "Arial", ; + FontSize = 10, ; + ForeColor = 0,0,0, ; + Margin = 0, ; + Name = "Text1", ; + SelectedBackColor = 100,185,255 + *< END OBJECT: BaseClass="textbox" /> + + ADD OBJECT 'grdStocuri.Ccante.Header1' AS header WITH ; + Alignment = 2, ; + Caption = "Iesiri", ; + FontName = "Arial", ; + FontSize = 10, ; + Name = "Header1" + *< END OBJECT: BaseClass="header" /> + + ADD OBJECT 'grdStocuri.Ccante.Text1' AS textbox WITH ; + BackColor = 255,255,255, ; + BorderStyle = 0, ; + FontName = "Arial", ; + FontSize = 10, ; + ForeColor = 0,0,0, ; + Margin = 0, ; + Name = "Text1", ; + ReadOnly = .T., ; + SelectedBackColor = 100,185,255 + *< END OBJECT: BaseClass="textbox" /> + + ADD OBJECT 'grdStocuri.Ccants.Header1' AS header WITH ; + Alignment = 2, ; + Caption = "Stoc prec", ; + FontName = "Arial", ; + FontSize = 10, ; + Name = "Header1" + *< END OBJECT: BaseClass="header" /> + + ADD OBJECT 'grdStocuri.Ccants.Text1' AS textbox WITH ; + BackColor = 255,255,255, ; + BorderStyle = 0, ; + FontName = "Arial", ; + FontSize = 10, ; + ForeColor = 0,0,0, ; + Margin = 0, ; + Name = "Text1", ; + ReadOnly = .T., ; + SelectedBackColor = 100,185,255 + *< END OBJECT: BaseClass="textbox" /> + + ADD OBJECT 'grdStocuri.Ccgest.Header1' AS header WITH ; + Alignment = 2, ; + Caption = "Gestiune", ; + FontName = "Arial", ; + FontSize = 10, ; + Name = "Header1" + *< END OBJECT: BaseClass="header" /> + + ADD OBJECT 'grdStocuri.Ccgest.Text1' AS textbox WITH ; + BackColor = 255,255,255, ; + BorderStyle = 0, ; + FontName = "Arial", ; + FontSize = 10, ; + ForeColor = 0,0,0, ; + Margin = 0, ; + Name = "Text1", ; + ReadOnly = .T., ; + SelectedBackColor = 100,185,255 + *< END OBJECT: BaseClass="textbox" /> + + ADD OBJECT 'grdStocuri.cCodbare.Header1' AS header WITH ; + Alignment = 2, ; + Caption = "Cod de bare", ; + FontName = "Arial", ; + FontSize = 10, ; + Name = "Header1" + *< END OBJECT: BaseClass="header" /> + + ADD OBJECT 'grdStocuri.cCodbare.Text1' AS textbox WITH ; + BackColor = 255,255,255, ; + BorderStyle = 0, ; + FontName = "Arial", ; + FontSize = 10, ; + ForeColor = 0,0,0, ; + Margin = 0, ; + Name = "Text1", ; + ReadOnly = .T., ; + SelectedBackColor = 100,185,255 + *< END OBJECT: BaseClass="textbox" /> + + ADD OBJECT 'grdStocuri.Ccodmat.Header1' AS header WITH ; + Alignment = 2, ; + Caption = "Cod. Mat.", ; + FontName = "Arial", ; + FontSize = 10, ; + Name = "Header1" + *< END OBJECT: BaseClass="header" /> + + ADD OBJECT 'grdStocuri.Ccodmat.Text1' AS textbox WITH ; + BackColor = 255,255,255, ; + BorderStyle = 0, ; + FontName = "Arial", ; + FontSize = 10, ; + ForeColor = 0,0,0, ; + Margin = 0, ; + Name = "Text1", ; + ReadOnly = .T., ; + SelectedBackColor = 100,185,255 + *< END OBJECT: BaseClass="textbox" /> + + ADD OBJECT 'grdStocuri.cCodmatF.Header1' AS header WITH ; + Alignment = 2, ; + Caption = "Cod furnizor", ; + FontName = "Arial", ; + FontSize = 10, ; + Name = "Header1" + *< END OBJECT: BaseClass="header" /> + + ADD OBJECT 'grdStocuri.cCodmatF.Text1' AS textbox WITH ; + BackColor = 255,255,255, ; + BorderStyle = 0, ; + FontName = "Arial", ; + FontSize = 10, ; + ForeColor = 0,0,0, ; + Margin = 0, ; + Name = "Text1", ; + SelectedBackColor = 100,185,255 + *< END OBJECT: BaseClass="textbox" /> + + ADD OBJECT 'grdStocuri.cCodNC8.Header1' AS header WITH ; + Alignment = 2, ; + Caption = "Cod NC8", ; + Name = "Header1" + *< END OBJECT: BaseClass="header" /> + + ADD OBJECT 'grdStocuri.cCodNC8.Text1' AS textbox WITH ; + BackColor = 255,255,255, ; + BorderStyle = 0, ; + ForeColor = 0,0,0, ; + Margin = 0, ; + Name = "Text1", ; + ReadOnly = .T., ; + SelectedBackColor = 100,185,255 + *< END OBJECT: BaseClass="textbox" /> + + ADD OBJECT 'grdStocuri.Ccont.Header1' AS header WITH ; + Alignment = 2, ; + Caption = "Cont", ; + FontName = "Arial", ; + FontSize = 10, ; + Name = "Header1" + *< END OBJECT: BaseClass="header" /> + + ADD OBJECT 'grdStocuri.Ccont.Text1' AS textbox WITH ; + BackColor = 255,255,255, ; + BorderStyle = 0, ; + FontName = "Arial", ; + FontSize = 10, ; + ForeColor = 0,0,0, ; + Margin = 0, ; + Name = "Text1", ; + ReadOnly = .T., ; + SelectedBackColor = 100,185,255 + *< END OBJECT: BaseClass="textbox" /> + + ADD OBJECT 'grdStocuri.cDataExpirare.Header1' AS header WITH ; + Alignment = 2, ; + Caption = "Data expirare", ; + FontName = "Arial", ; + FontSize = 10, ; + Name = "Header1" + *< END OBJECT: BaseClass="header" /> + + ADD OBJECT 'grdStocuri.cDataExpirare.Text1' AS textbox WITH ; + BackColor = 255,255,255, ; + BorderStyle = 0, ; + FontName = "Arial", ; + FontSize = 10, ; + ForeColor = 0,0,0, ; + Margin = 0, ; + Name = "Text1", ; + SelectedBackColor = 100,185,255 + *< END OBJECT: BaseClass="textbox" /> + + ADD OBJECT 'grdStocuri.Cdatain.Header1' AS header WITH ; + Alignment = 2, ; + Caption = "Data intrarii", ; + FontName = "Arial", ; + FontSize = 10, ; + Name = "Header1" + *< END OBJECT: BaseClass="header" /> + + ADD OBJECT 'grdStocuri.Cdatain.Text1' AS textbox WITH ; + BackColor = 255,255,255, ; + BorderStyle = 0, ; + FontName = "Arial", ; + FontSize = 10, ; + ForeColor = 0,0,0, ; + Margin = 0, ; + Name = "Text1", ; + ReadOnly = .T., ; + SelectedBackColor = 100,185,255 + *< END OBJECT: BaseClass="textbox" /> + + ADD OBJECT 'grdStocuri.Cdataout.Header1' AS header WITH ; + Alignment = 2, ; + Caption = "Data ultimei iesiri", ; + FontName = "Arial", ; + FontSize = 10, ; + Name = "Header1" + *< END OBJECT: BaseClass="header" /> + + ADD OBJECT 'grdStocuri.Cdataout.Text1' AS textbox WITH ; + BackColor = 255,255,255, ; + BorderStyle = 0, ; + FontName = "Arial", ; + FontSize = 10, ; + ForeColor = 0,0,0, ; + Margin = 0, ; + Name = "Text1", ; + ReadOnly = .T., ; + SelectedBackColor = 100,185,255 + *< END OBJECT: BaseClass="textbox" /> + + ADD OBJECT 'grdStocuri.Cdenumire.Header1' AS header WITH ; + Alignment = 2, ; + Caption = "Denumire", ; + FontName = "Arial", ; + FontSize = 10, ; + Name = "Header1" + *< END OBJECT: BaseClass="header" /> + + ADD OBJECT 'grdStocuri.Cdenumire.Text1' AS textbox WITH ; + BackColor = 255,255,255, ; + BorderStyle = 0, ; + FontName = "Arial", ; + FontSize = 10, ; + ForeColor = 0,0,0, ; + Margin = 0, ; + Name = "Text1", ; + ReadOnly = .T., ; + SelectedBackColor = 100,185,255 + *< END OBJECT: BaseClass="textbox" /> + + ADD OBJECT 'grdStocuri.cfurn_princ.Header1' AS header WITH ; + Alignment = 2, ; + Caption = "Furnizor principal", ; + FontName = "Arial", ; + FontSize = 10, ; + Name = "Header1" + *< END OBJECT: BaseClass="header" /> + + ADD OBJECT 'grdStocuri.cfurn_princ.Text1' AS textbox WITH ; + BackColor = 255,255,255, ; + BorderStyle = 0, ; + FontName = "Arial", ; + FontSize = 10, ; + ForeColor = 0,0,0, ; + Margin = 0, ; + Name = "Text1", ; + ReadOnly = .T., ; + SelectedBackColor = 100,185,255 + *< END OBJECT: BaseClass="textbox" /> + + ADD OBJECT 'grdStocuri.cFurnizor.Header1' AS header WITH ; + Alignment = 2, ; + Caption = "Furnizor", ; + FontName = "Arial", ; + FontSize = 10, ; + Name = "Header1" + *< END OBJECT: BaseClass="header" /> + + ADD OBJECT 'grdStocuri.cFurnizor.Text1' AS textbox WITH ; + BackColor = 255,255,255, ; + BorderStyle = 0, ; + FontName = "Arial", ; + FontSize = 10, ; + ForeColor = 0,0,0, ; + Margin = 0, ; + Name = "Text1", ; + ReadOnly = .T., ; + SelectedBackColor = 100,185,255 + *< END OBJECT: BaseClass="textbox" /> + + ADD OBJECT 'grdStocuri.cGreutate.Header1' AS header WITH ; + Alignment = 2, ; + Caption = "Greutate (Kg)", ; + Name = "Header1" + *< END OBJECT: BaseClass="header" /> + + ADD OBJECT 'grdStocuri.cGreutate.Text1' AS textbox WITH ; + BackColor = 255,255,255, ; + BorderStyle = 0, ; + ForeColor = 0,0,0, ; + Margin = 0, ; + Name = "Text1", ; + ReadOnly = .T., ; + SelectedBackColor = 100,185,255 + *< END OBJECT: BaseClass="textbox" /> + + ADD OBJECT 'grdStocuri.cIdArticol.Header1' AS header WITH ; + Alignment = 2, ; + Caption = "Id Articol", ; + FontName = "Arial", ; + FontSize = 10, ; + Name = "Header1" + *< END OBJECT: BaseClass="header" /> + + ADD OBJECT 'grdStocuri.cIdArticol.Text1' AS textbox WITH ; + BackColor = 255,255,255, ; + BorderStyle = 0, ; + FontName = "Arial", ; + FontSize = 10, ; + ForeColor = 0,0,0, ; + Margin = 0, ; + Name = "Text1", ; + ReadOnly = .T., ; + SelectedBackColor = 100,185,255 + *< END OBJECT: BaseClass="textbox" /> + + ADD OBJECT 'grdStocuri.cLot.Header1' AS header WITH ; + Alignment = 2, ; + Caption = "Lot", ; + FontName = "Arial", ; + FontSize = 10, ; + Name = "Header1" + *< END OBJECT: BaseClass="header" /> + + ADD OBJECT 'grdStocuri.cLot.Text1' AS textbox WITH ; + BackColor = 255,255,255, ; + BorderStyle = 0, ; + FontName = "Arial", ; + FontSize = 10, ; + ForeColor = 0,0,0, ; + Margin = 0, ; + Name = "Text1", ; + SelectedBackColor = 100,185,255 + *< END OBJECT: BaseClass="textbox" /> + + ADD OBJECT 'grdStocuri.Cnr_crt.Header1' AS header WITH ; + Alignment = 2, ; + Caption = "Nr.", ; + FontName = "Arial", ; + FontSize = 10, ; + Name = "Header1" + *< END OBJECT: BaseClass="header" /> + + ADD OBJECT 'grdStocuri.Cnr_crt.Text1' AS textbox WITH ; + BackColor = 255,255,255, ; + BorderStyle = 0, ; + FontName = "Arial", ; + FontSize = 10, ; + ForeColor = 0,0,0, ; + Margin = 0, ; + Name = "Text1", ; + ReadOnly = .T., ; + SelectedBackColor = 100,185,255, ; + Visible = .T. + *< END OBJECT: BaseClass="textbox" /> + + ADD OBJECT 'grdStocuri.cNrord_rez.Header1' AS header WITH ; + Alignment = 2, ; + Caption = "Lucrare rez.", ; + FontName = "Arial", ; + FontSize = 10, ; + Name = "Header1" + *< END OBJECT: BaseClass="header" /> + + ADD OBJECT 'grdStocuri.cNrord_rez.Text1' AS textbox WITH ; + BackColor = 255,255,255, ; + BorderStyle = 0, ; + FontName = "Arial", ; + FontSize = 10, ; + ForeColor = 0,0,0, ; + Margin = 0, ; + Name = "Text1", ; + SelectedBackColor = 100,185,255 + *< END OBJECT: BaseClass="textbox" /> + + ADD OBJECT 'grdStocuri.cNume_val.Header1' AS header WITH ; + Alignment = 2, ; + Caption = "Valuta", ; + FontName = "Arial", ; + FontSize = 10, ; + Name = "Header1" + *< END OBJECT: BaseClass="header" /> + + ADD OBJECT 'grdStocuri.cNume_val.Text1' AS textbox WITH ; + BackColor = 255,255,255, ; + BorderStyle = 0, ; + FontName = "Arial", ; + FontSize = 10, ; + ForeColor = 0,0,0, ; + Margin = 0, ; + Name = "Text1", ; + SelectedBackColor = 100,185,255 + *< END OBJECT: BaseClass="textbox" /> + + ADD OBJECT 'grdStocuri.Column19.Header1' AS header WITH ; + Alignment = 2, ; + Caption = "ProcTVA", ; + FontName = "Arial", ; + FontSize = 10, ; + Name = "Header1" + *< END OBJECT: BaseClass="header" /> + + ADD OBJECT 'grdStocuri.Column19.Text1' AS textbox WITH ; + Alignment = 1, ; + BackColor = 255,255,255, ; + BorderStyle = 0, ; + FontName = "Arial", ; + FontSize = 10, ; + ForeColor = 0,0,0, ; + Margin = 0, ; + Name = "Text1", ; + ReadOnly = .T., ; + SelectedBackColor = 100,185,255 + *< END OBJECT: BaseClass="textbox" /> + + ADD OBJECT 'grdStocuri.Column23.Header1' AS header WITH ; + Alignment = 2, ; + Caption = "Grupa", ; + FontName = "Arial", ; + FontSize = 10, ; + Name = "Header1" + *< END OBJECT: BaseClass="header" /> + + ADD OBJECT 'grdStocuri.Column23.Text1' AS textbox WITH ; + BackColor = 255,255,255, ; + BorderStyle = 0, ; + FontName = "Arial", ; + FontSize = 10, ; + ForeColor = 0,0,0, ; + Margin = 0, ; + Name = "Text1", ; + SelectedBackColor = 100,185,255 + *< END OBJECT: BaseClass="textbox" /> + + ADD OBJECT 'grdStocuri.Column24.Header1' AS header WITH ; + Alignment = 2, ; + Caption = "Subgrupa", ; + FontName = "Arial", ; + FontSize = 10, ; + Name = "Header1" + *< END OBJECT: BaseClass="header" /> + + ADD OBJECT 'grdStocuri.Column24.Text1' AS textbox WITH ; + BackColor = 255,255,255, ; + BorderStyle = 0, ; + FontName = "Arial", ; + FontSize = 10, ; + ForeColor = 0,0,0, ; + Margin = 0, ; + Name = "Text1", ; + SelectedBackColor = 100,185,255 + *< END OBJECT: BaseClass="textbox" /> + + ADD OBJECT 'grdStocuri.cPart_rez.Header1' AS header WITH ; + Alignment = 2, ; + Caption = "Part. rez.", ; + FontName = "Arial", ; + FontSize = 10, ; + Name = "Header1" + *< END OBJECT: BaseClass="header" /> + + ADD OBJECT 'grdStocuri.cPart_rez.Text1' AS textbox WITH ; + BackColor = 255,255,255, ; + BorderStyle = 0, ; + FontName = "Arial", ; + FontSize = 10, ; + ForeColor = 0,0,0, ; + Margin = 0, ; + Name = "Text1", ; + SelectedBackColor = 100,185,255 + *< END OBJECT: BaseClass="textbox" /> + + ADD OBJECT 'grdStocuri.Cpret.Header1' AS header WITH ; + Alignment = 2, ; + Caption = "Pret achizitie", ; + FontName = "Arial", ; + FontSize = 10, ; + Name = "Header1" + *< END OBJECT: BaseClass="header" /> + + ADD OBJECT 'grdStocuri.Cpret.Text1' AS textbox WITH ; + BackColor = 255,255,255, ; + BorderStyle = 0, ; + FontName = "Arial", ; + FontSize = 10, ; + ForeColor = 0,0,0, ; + Margin = 0, ; + Name = "Text1", ; + ReadOnly = .T., ; + SelectedBackColor = 100,185,255 + *< END OBJECT: BaseClass="textbox" /> + + ADD OBJECT 'grdStocuri.Cpretd.Header1' AS header WITH ; + Alignment = 2, ; + Caption = "Pret valuta", ; + FontName = "Arial", ; + FontSize = 10, ; + Name = "Header1" + *< END OBJECT: BaseClass="header" /> + + ADD OBJECT 'grdStocuri.Cpretd.Text1' AS textbox WITH ; + BackColor = 255,255,255, ; + BorderStyle = 0, ; + FontName = "Arial", ; + FontSize = 10, ; + ForeColor = 0,0,0, ; + Margin = 0, ; + Name = "Text1", ; + ReadOnly = .T., ; + SelectedBackColor = 100,185,255 + *< END OBJECT: BaseClass="textbox" /> + + ADD OBJECT 'grdStocuri.Cpretv.Header1' AS header WITH ; + Alignment = 2, ; + Caption = "Pret vanzare", ; + FontName = "Arial", ; + FontSize = 10, ; + Name = "Header1" + *< END OBJECT: BaseClass="header" /> + + ADD OBJECT 'grdStocuri.Cpretv.Text1' AS textbox WITH ; + BackColor = 255,255,255, ; + BorderStyle = 0, ; + FontName = "Arial", ; + FontSize = 10, ; + ForeColor = 0,0,0, ; + Margin = 0, ; + Name = "Text1", ; + ReadOnly = .T., ; + SelectedBackColor = 100,185,255 + *< END OBJECT: BaseClass="textbox" /> + + ADD OBJECT 'grdStocuri.Cpretvtva.Header1' AS header WITH ; + Alignment = 2, ; + Caption = "Pret vanzare cu TVA", ; + FontName = "Arial", ; + FontSize = 10, ; + Name = "Header1", ; + WordWrap = .T. + *< END OBJECT: BaseClass="header" /> + + ADD OBJECT 'grdStocuri.Cpretvtva.Text1' AS textbox WITH ; + BackColor = 255,255,255, ; + BorderStyle = 0, ; + FontName = "Arial", ; + FontSize = 10, ; + ForeColor = 0,0,0, ; + Margin = 0, ; + Name = "Text1", ; + ReadOnly = .T., ; + SelectedBackColor = 100,185,255 + *< END OBJECT: BaseClass="textbox" /> + + ADD OBJECT 'grdStocuri.cSerie.Header1' AS header WITH ; + Alignment = 2, ; + Caption = "Serie", ; + FontName = "Arial", ; + FontSize = 10, ; + Name = "Header1" + *< END OBJECT: BaseClass="header" /> + + ADD OBJECT 'grdStocuri.cSerie.Text1' AS textbox WITH ; + BackColor = 255,255,255, ; + BorderStyle = 0, ; + FontName = "Arial", ; + FontSize = 10, ; + ForeColor = 0,0,0, ; + Margin = 0, ; + Name = "Text1", ; + SelectedBackColor = 100,185,255 + *< END OBJECT: BaseClass="textbox" /> + + ADD OBJECT 'grdStocuri.Cstoc.Header1' AS header WITH ; + Alignment = 2, ; + Caption = "Stoc", ; + FontName = "Arial", ; + FontSize = 10, ; + Name = "Header1" + *< END OBJECT: BaseClass="header" /> + + ADD OBJECT 'grdStocuri.Cstoc.Text1' AS textbox WITH ; + BackColor = 255,255,255, ; + BorderStyle = 0, ; + FontName = "Arial", ; + FontSize = 10, ; + ForeColor = 0,0,0, ; + Margin = 0, ; + Name = "Text1", ; + ReadOnly = .T., ; + SelectedBackColor = 100,185,255 + *< END OBJECT: BaseClass="textbox" /> + + ADD OBJECT 'grdStocuri.cSucursala.Header1' AS header WITH ; + Alignment = 2, ; + Caption = "Sucursala", ; + FontName = "Arial", ; + FontSize = 10, ; + Name = "Header1" + *< END OBJECT: BaseClass="header" /> + + ADD OBJECT 'grdStocuri.cSucursala.Text1' AS textbox WITH ; + BackColor = 255,255,255, ; + BorderStyle = 0, ; + FontName = "Arial", ; + FontSize = 10, ; + ForeColor = 0,0,0, ; + Margin = 0, ; + Name = "Text1", ; + ReadOnly = .T., ; + SelectedBackColor = 100,185,255 + *< END OBJECT: BaseClass="textbox" /> + + ADD OBJECT 'grdStocuri.cTaraOrigine.Header1' AS header WITH ; + Alignment = 2, ; + BackColor = 240,240,240, ; + Caption = "Tara origine", ; + Name = "Header1" + *< END OBJECT: BaseClass="header" /> + + ADD OBJECT 'grdStocuri.cTaraOrigine.Text1' AS textbox WITH ; + BackColor = 255,255,255, ; + BorderStyle = 0, ; + ForeColor = 0,0,0, ; + Margin = 0, ; + Name = "Text1", ; + ReadOnly = .T., ; + SelectedBackColor = 100,185,255 + *< END OBJECT: BaseClass="textbox" /> + + ADD OBJECT 'grdStocuri.Ctvav.Header1' AS header WITH ; + Alignment = 2, ; + Caption = "TVA vanzare", ; + FontName = "Arial", ; + FontSize = 10, ; + Name = "Header1" + *< END OBJECT: BaseClass="header" /> + + ADD OBJECT 'grdStocuri.Ctvav.Text1' AS textbox WITH ; + BackColor = 255,255,255, ; + BorderStyle = 0, ; + FontName = "Arial", ; + FontSize = 10, ; + ForeColor = 0,0,0, ; + Margin = 0, ; + Name = "Text1", ; + ReadOnly = .T., ; + SelectedBackColor = 100,185,255 + *< END OBJECT: BaseClass="textbox" /> + + ADD OBJECT 'grdStocuri.Cum.Header1' AS header WITH ; + Alignment = 2, ; + Caption = "UM", ; + FontName = "Arial", ; + FontSize = 10, ; + Name = "Header1" + *< END OBJECT: BaseClass="header" /> + + ADD OBJECT 'grdStocuri.Cum.Text1' AS textbox WITH ; + BackColor = 255,255,255, ; + BorderStyle = 0, ; + FontName = "Arial", ; + FontSize = 10, ; + ForeColor = 0,0,0, ; + Margin = 0, ; + Name = "Text1", ; + ReadOnly = .T., ; + SelectedBackColor = 100,185,255 + *< END OBJECT: BaseClass="textbox" /> + + ADD OBJECT 'grdStocuri.cUm2.Header1' AS header WITH ; + Alignment = 2, ; + Caption = "UM2", ; + FontName = "Arial", ; + FontSize = 10, ; + Name = "Header1" + *< END OBJECT: BaseClass="header" /> + + ADD OBJECT 'grdStocuri.cUm2.Text1' AS textbox WITH ; + BackColor = 255,255,255, ; + BorderStyle = 0, ; + FontName = "Arial", ; + FontSize = 10, ; + ForeColor = 0,0,0, ; + Margin = 0, ; + Name = "Text1", ; + SelectedBackColor = 100,185,255 + *< END OBJECT: BaseClass="textbox" /> + + ADD OBJECT 'grdStocuri.cValoarePretA.Header1' AS header WITH ; + Alignment = 2, ; + Caption = "Valoare stoc pret ach.", ; + FontName = "Arial", ; + FontSize = 10, ; + Name = "Header1" + *< END OBJECT: BaseClass="header" /> + + ADD OBJECT 'grdStocuri.cValoarePretA.Text1' AS textbox WITH ; + BackColor = 255,255,255, ; + BorderStyle = 0, ; + FontName = "Arial", ; + FontSize = 10, ; + ForeColor = 0,0,0, ; + Margin = 0, ; + Name = "Text1", ; + ReadOnly = .T., ; + SelectedBackColor = 100,185,255 + *< END OBJECT: BaseClass="textbox" /> + + ADD OBJECT 'grdStocuri.cValoarePretV.Header1' AS header WITH ; + Alignment = 1, ; + Caption = "Valoare stoc pret vz. cu TVA", ; + FontName = "Arial", ; + FontSize = 10, ; + Name = "Header1", ; + WordWrap = .T. + *< END OBJECT: BaseClass="header" /> + + ADD OBJECT 'grdStocuri.cValoarePretV.Text1' AS textbox WITH ; + BackColor = 255,255,255, ; + BorderStyle = 0, ; + FontName = "Arial", ; + FontSize = 10, ; + ForeColor = 0,0,0, ; + Margin = 0, ; + Name = "Text1", ; + ReadOnly = .T., ; + SelectedBackColor = 100,185,255 + *< END OBJECT: BaseClass="textbox" /> + + ADD OBJECT 'Gridextra1' AS gridextra WITH ; + gridexpression = Thisform.grdStocuri, ; + Height = 17, ; + Left = 279, ; + Name = "Gridextra1", ; + Top = 37, ; + Width = 33 + *< END OBJECT: ClassLib="..\utile\gridextras\gridextras.vcx" BaseClass="custom" /> + + ADD OBJECT 'Lb_shortcuts1' AS lb_shortcuts WITH ; + Caption = "ESC = Renuntare; CTRL+Q = Cautare; CTRL+T = Resetare", ; + Left = 8, ; + Name = "Lb_shortcuts1", ; + Top = 16 + *< END OBJECT: ClassLib="lb.vcx" BaseClass="label" /> + + ADD OBJECT 'lbl1' AS _label WITH ; + AutoSize = .F., ; + BackColor = 219,219,219, ; + BackStyle = 1, ; + BorderStyle = 1, ; + Caption = " Val. Stoc Precedent", ; + Height = 21, ; + Left = 349, ; + Name = "lbl1", ; + TabIndex = 49, ; + Top = 59, ; + Visible = .F., ; + Width = 125, ; + ZOrderSet = 18 + *< END OBJECT: ClassLib="_baza.vcx" BaseClass="label" /> + + ADD OBJECT 'lbl2' AS _label WITH ; + AutoSize = .F., ; + BackColor = 219,219,219, ; + BackStyle = 1, ; + BorderStyle = 1, ; + Caption = " Val. Intrari", ; + Height = 21, ; + Left = 475, ; + Name = "lbl2", ; + TabIndex = 50, ; + Top = 59, ; + Visible = .F., ; + Width = 125, ; + ZOrderSet = 19 + *< END OBJECT: ClassLib="_baza.vcx" BaseClass="label" /> + + ADD OBJECT 'lbl3' AS _label WITH ; + AutoSize = .F., ; + BackColor = 219,219,219, ; + BackStyle = 1, ; + BorderStyle = 1, ; + Caption = " Val. Iesiri", ; + Height = 21, ; + Left = 601, ; + Name = "lbl3", ; + TabIndex = 52, ; + Top = 59, ; + Visible = .F., ; + Width = 125, ; + ZOrderSet = 21 + *< END OBJECT: ClassLib="_baza.vcx" BaseClass="label" /> + + ADD OBJECT 'lbl4' AS _label WITH ; + AutoSize = .F., ; + BackColor = 219,219,219, ; + BackStyle = 1, ; + BorderStyle = 1, ; + Caption = " Val. Stoc Final", ; + Height = 21, ; + Left = 728, ; + Name = "lbl4", ; + TabIndex = 51, ; + Top = 59, ; + Visible = .F., ; + Width = 125, ; + ZOrderSet = 20 + *< END OBJECT: ClassLib="_baza.vcx" BaseClass="label" /> + + ADD OBJECT 'lbl5' AS _label WITH ; + AutoSize = .F., ; + BackColor = 219,219,219, ; + BackStyle = 1, ; + BorderStyle = 1, ; + Caption = " Preturi de achizitie fara TVA", ; + Height = 21, ; + Left = 177, ; + Name = "lbl5", ; + TabIndex = 46, ; + Top = 81, ; + Visible = .F., ; + Width = 169, ; + ZOrderSet = 30 + *< END OBJECT: ClassLib="_baza.vcx" BaseClass="label" /> + + ADD OBJECT 'lbl6' AS _label WITH ; + AutoSize = .F., ; + BackColor = 219,219,219, ; + BackStyle = 1, ; + BorderStyle = 1, ; + Caption = " Preturi de vanzare cu TVA", ; + Height = 21, ; + Left = 177, ; + Name = "lbl6", ; + TabIndex = 47, ; + Top = 103, ; + Visible = .F., ; + Width = 169, ; + ZOrderSet = 31 + *< END OBJECT: ClassLib="_baza.vcx" BaseClass="label" /> + + ADD OBJECT 'lbl7' AS _label WITH ; + AutoSize = .F., ; + BackColor = 219,219,219, ; + BackStyle = 1, ; + BorderStyle = 1, ; + Caption = " Diferenta vanzare - achizitie:", ; + Height = 21, ; + Left = 177, ; + Name = "lbl7", ; + TabIndex = 48, ; + Top = 125, ; + Visible = .F., ; + Width = 169, ; + ZOrderSet = 32 + *< END OBJECT: ClassLib="_baza.vcx" BaseClass="label" /> + + ADD OBJECT 'lblValuta' AS _label WITH ; + AutoSize = .T., ; + BackColor = 255,255,255, ; + BackStyle = 0, ; + Caption = "Valuta", ; + Height = 18, ; + Left = 179, ; + Name = "lblValuta", ; + TabIndex = 10, ; + Top = 59, ; + Visible = .F., ; + Width = 39, ; + ZOrderSet = 27 + *< END OBJECT: ClassLib="_baza.vcx" BaseClass="label" /> + + ADD OBJECT 'optgrup' AS _optiongrup WITH ; + AutoSize = .F., ; + BackColor = 239,239,239, ; + BackStyle = 1, ; + ButtonCount = 4, ; + Height = 96, ; + Left = 1, ; + Name = "optgrup", ; + TabIndex = 32, ; + Top = 55, ; + Value = 3, ; + Width = 172, ; + ZOrderSet = 1, ; + Option1.AutoSize = .T., ; + Option1.Caption = "Gestiuni la pret de achizitie", ; + Option1.Height = 17, ; + Option1.Left = 5, ; + Option1.Name = "Option1", ; + Option1.Style = 0, ; + Option1.Top = 27, ; + Option1.Value = 0, ; + Option1.Width = 165, ; + Option2.AutoSize = .T., ; + Option2.Caption = "Gestiuni la pret de vanzare", ; + Option2.Height = 17, ; + Option2.Left = 5, ; + Option2.Name = "Option2", ; + Option2.Top = 47, ; + Option2.Value = 0, ; + Option2.Width = 163, ; + Option3.AutoSize = .T., ; + Option3.BackStyle = 0, ; + Option3.Caption = "Toate gestiunile", ; + Option3.Height = 17, ; + Option3.Left = 5, ; + Option3.Name = "Option3", ; + Option3.Top = 66, ; + Option3.Value = 1, ; + Option3.Width = 106, ; + Option4.AutoSize = .T., ; + Option4.BackStyle = 0, ; + Option4.Caption = "Gestiuni la pret de achizitie*", ; + Option4.Height = 17, ; + Option4.Left = 5, ; + Option4.Name = "Option4", ; + Option4.Top = 8, ; + Option4.Width = 170 + *< END OBJECT: ClassLib="_baza.vcx" BaseClass="optiongroup" /> + + ADD OBJECT 'shp_total' AS shape WITH ; + Anchor = 10, ; + BackColor = 239,239,239, ; + BackStyle = 1, ; + Height = 96, ; + Left = 174, ; + Name = "shp_total", ; + SpecialEffect = 0, ; + Top = 55, ; + Width = 688, ; + ZOrderSet = 13 + *< END OBJECT: BaseClass="shape" /> + + ADD OBJECT 'Text1' AS _textbox WITH ; + Alignment = 1, ; + BackStyle = 0, ; + ControlSource = "thisform.vstoc_prec", ; + Format = "r", ; + Height = 21, ; + InputMask = (get_mask(14,gnPa)), ; + Left = 349, ; + Name = "Text1", ; + ReadOnly = .T., ; + SpecialEffect = 2, ; + TabIndex = 33, ; + Top = 81, ; + Visible = .F., ; + Width = 125, ; + ZOrderSet = 14 + *< END OBJECT: ClassLib="_baza.vcx" BaseClass="textbox" /> + + ADD OBJECT 'Text10' AS _textbox WITH ; + Alignment = 1, ; + BackStyle = 0, ; + ControlSource = "thisform.vstoc_in_tot", ; + Format = "r", ; + Height = 21, ; + InputMask = (get_mask(14,gnPa)), ; + Left = 475, ; + Name = "Text10", ; + ReadOnly = .T., ; + SpecialEffect = 2, ; + TabIndex = 38, ; + Top = 125, ; + Visible = .F., ; + Width = 125, ; + ZOrderSet = 27 + *< END OBJECT: ClassLib="_baza.vcx" BaseClass="textbox" /> + + ADD OBJECT 'Text11' AS _textbox WITH ; + Alignment = 1, ; + BackStyle = 0, ; + ControlSource = "thisform.vstoc_out_tot", ; + Format = "r", ; + Height = 21, ; + InputMask = (get_mask(14,gnPa)), ; + Left = 601, ; + Name = "Text11", ; + ReadOnly = .T., ; + SpecialEffect = 2, ; + TabIndex = 41, ; + Top = 125, ; + Visible = .F., ; + Width = 125, ; + ZOrderSet = 28 + *< END OBJECT: ClassLib="_baza.vcx" BaseClass="textbox" /> + + ADD OBJECT 'Text12' AS _textbox WITH ; + Alignment = 1, ; + BackStyle = 0, ; + ControlSource = "thisform.vstoc_final_tot", ; + Format = "r", ; + Height = 21, ; + InputMask = (get_mask(14,gnPa)), ; + Left = 728, ; + Name = "Text12", ; + ReadOnly = .T., ; + SpecialEffect = 2, ; + TabIndex = 44, ; + Top = 125, ; + Visible = .F., ; + Width = 125, ; + ZOrderSet = 29 + *< END OBJECT: ClassLib="_baza.vcx" BaseClass="textbox" /> + + ADD OBJECT 'Text2' AS _textbox WITH ; + Alignment = 1, ; + BackStyle = 0, ; + ControlSource = "thisform.vstoc_in", ; + Format = "r", ; + Height = 21, ; + InputMask = (get_mask(14,gnPa)), ; + Left = 475, ; + Name = "Text2", ; + ReadOnly = .T., ; + SpecialEffect = 2, ; + TabIndex = 36, ; + Top = 81, ; + Visible = .F., ; + Width = 125, ; + ZOrderSet = 15 + *< END OBJECT: ClassLib="_baza.vcx" BaseClass="textbox" /> + + ADD OBJECT 'Text3' AS _textbox WITH ; + Alignment = 1, ; + BackStyle = 0, ; + ControlSource = "thisform.vstoc_out", ; + Format = "r", ; + Height = 21, ; + InputMask = (get_mask(14,gnPa)), ; + Left = 601, ; + Name = "Text3", ; + ReadOnly = .T., ; + SpecialEffect = 2, ; + TabIndex = 39, ; + Top = 81, ; + Visible = .F., ; + Width = 125, ; + ZOrderSet = 16 + *< END OBJECT: ClassLib="_baza.vcx" BaseClass="textbox" /> + + ADD OBJECT 'Text4' AS _textbox WITH ; + Alignment = 1, ; + BackStyle = 0, ; + ControlSource = "thisform.vstoc_final", ; + Format = "r", ; + Height = 21, ; + InputMask = (get_mask(14,gnPa)), ; + Left = 728, ; + Name = "Text4", ; + ReadOnly = .T., ; + SpecialEffect = 2, ; + TabIndex = 42, ; + Top = 81, ; + Visible = .F., ; + Width = 125, ; + ZOrderSet = 17 + *< END OBJECT: ClassLib="_baza.vcx" BaseClass="textbox" /> + + ADD OBJECT 'Text5' AS _textbox WITH ; + Alignment = 1, ; + BackStyle = 0, ; + ControlSource = "thisform.vstoc_precv", ; + Format = "r", ; + Height = 21, ; + InputMask = (get_mask(14,gnPa)), ; + Left = 349, ; + Name = "Text5", ; + ReadOnly = .T., ; + SpecialEffect = 2, ; + TabIndex = 34, ; + Top = 103, ; + Visible = .F., ; + Width = 125, ; + ZOrderSet = 22 + *< END OBJECT: ClassLib="_baza.vcx" BaseClass="textbox" /> + + ADD OBJECT 'Text6' AS _textbox WITH ; + Alignment = 1, ; + BackStyle = 0, ; + ControlSource = "thisform.vstoc_inv", ; + Format = "r", ; + Height = 21, ; + InputMask = (get_mask(14,gnPa)), ; + Left = 475, ; + Name = "Text6", ; + ReadOnly = .T., ; + SpecialEffect = 2, ; + TabIndex = 37, ; + Top = 103, ; + Visible = .F., ; + Width = 125, ; + ZOrderSet = 23 + *< END OBJECT: ClassLib="_baza.vcx" BaseClass="textbox" /> + + ADD OBJECT 'Text7' AS _textbox WITH ; + Alignment = 1, ; + BackStyle = 0, ; + ControlSource = "thisform.vstoc_outv", ; + Format = "r", ; + Height = 21, ; + InputMask = (get_mask(14,gnPa)), ; + Left = 601, ; + Name = "Text7", ; + ReadOnly = .T., ; + SpecialEffect = 2, ; + TabIndex = 40, ; + Top = 103, ; + Visible = .F., ; + Width = 125, ; + ZOrderSet = 24 + *< END OBJECT: ClassLib="_baza.vcx" BaseClass="textbox" /> + + ADD OBJECT 'Text8' AS _textbox WITH ; + Alignment = 1, ; + BackStyle = 0, ; + ControlSource = "thisform.vstoc_finalv", ; + Format = "r", ; + Height = 21, ; + InputMask = (get_mask(14,gnPa)), ; + Left = 728, ; + Name = "Text8", ; + ReadOnly = .T., ; + SpecialEffect = 2, ; + TabIndex = 43, ; + Top = 103, ; + Visible = .F., ; + Width = 125, ; + ZOrderSet = 25 + *< END OBJECT: ClassLib="_baza.vcx" BaseClass="textbox" /> + + ADD OBJECT 'Text9' AS _textbox WITH ; + Alignment = 1, ; + BackStyle = 0, ; + ControlSource = "thisform.vstoc_prec_tot", ; + Format = "r", ; + Height = 21, ; + InputMask = (get_mask(14,gnPa)), ; + Left = 349, ; + Name = "Text9", ; + ReadOnly = .T., ; + SpecialEffect = 2, ; + TabIndex = 35, ; + Top = 125, ; + Visible = .F., ; + Width = 125, ; + ZOrderSet = 26 + *< END OBJECT: ClassLib="_baza.vcx" BaseClass="textbox" /> + + PROCEDURE actualizeaza_grid1 + LPARAMETERS tcFiltru + LOCAL lcFiltru + IF EMPTY(tcFiltru) + lcFiltru = poStocuri.ca_baza1.cfiltru + ELSE + lcFiltru = tcFiltru + ENDIF + + save_grid_tag(This.grdStocuri) + poStocuri.ca_baza1.cfiltru=lcFiltru + poStocuri.ca_baza1.afisare() + restore_grid_tag(This.grdStocuri) + this.grdStocuri.refresh + + + ENDPROC + + PROCEDURE butappend + If glLunaInchisa + aMESSAGEBOX('Luna este inchisa!',0+48,"Atentie") + RETURN + ENDIF + + *RETURN + + Private lcText,lcFis,lnOpt + + + If Thisform.grdStocuri.ReadOnly + lcText=[\ this.nIdMonedaNationala ; + INTO CURSOR cValuteRulTemp + + this.cboValuta.RowSource = "cValuteRulTemp.nume_val" + this.cboValuta.ControlSource = "thisform.cValutaTotal" + ENDIF + + && daca am ales moneda nationala pentru calcul total - cant*pret + && daca am ales o valuta - total = cant*pretd si id_valuta aleasa + IF .nIdValutaTotal = .nIdMonedaNationala OR INLIST(UPPER(ALLTRIM(.cValutaTotal)),'LEI','RON','ROL') + lcWhere = "2=2" + lcPret = "pret" + ELSE + lcWhere = "id_valuta = " + ALLTRIM(STR(.nIdValutaTotal)) + lcPret = "pretd" + ENDIF + lcWhere = lcWhere + IIF(!EMPTY(m.lcFilter), [ and ] + m.lcFilter, []) + + SELECT crsStocuri + IF .optgrup.VALUE!=3 + CALCULATE SUM(ROUND(&lcPret*cants,gnPc)), ; + SUM(ROUND(&lcPret*cant,gnPc)), ; + SUM(ROUND(&lcPret*cante,gnPc)), ; + SUM(ROUND(&lcPret*(cants+cant-cante),gnPc)) ; + FOR &lcWhere ; + TO .vstoc_prec,.vstoc_in,.vstoc_out,.vstoc_final IN crsStocuri + + IF INLIST(.optgrup.VALUE, 2,4) + CALCULATE SUM(ROUND((pretv+tvav)*cants,gnPc)),SUM(ROUND((pretv+tvav)*cant,gnPc)),SUM(ROUND((pretv+tvav)*cante,gnPc)), SUM(ROUND((pretv+tvav)*(cants+cant-cante),gnPc)); + TO .vstoc_precv,.vstoc_inv,.vstoc_outv, .vstoc_finalv IN crsStocuri + + .vstoc_prec_tot = .vstoc_precv - .vstoc_prec + .vstoc_in_tot = .vstoc_inv - .vstoc_in + .vstoc_out_tot = .vstoc_outv - .vstoc_out + .vstoc_final_tot = .vstoc_finalv - .vstoc_final + ENDIF + ENDIF + FOR i=1 TO 4 DO + + lcRefresh1 = IIF(.optgrup.VALUE=3,'',[.text]+ALLTRIM(STR(i))+[.refresh]) + lcRefresh2 = IIF(.optgrup.VALUE!=2,'',[.text]+ALLTRIM(STR(4+i))+[.refresh]) + lcRefresh3 = IIF(.optgrup.VALUE!=2,'',[.text]+ALLTRIM(STR(8+i))+[.refresh]) + &lcRefresh1 + &lcRefresh2 + &lcRefresh3 + ENDFOR + + ENDWITH + + thisform.Refresh + ENDPROC + + PROCEDURE do_adauga + Local lcdenumire, lccodmat, lcum , lcExplicatieC,lcCont,lcAcont,lcExplicatieA, lcnume_gest,lccgest + LOCAL lnpret,lnpretd,lnpretv,lntvav,lnproc_tvav + LOCAL lnid_articol, lnid_gestiune + *!* Store "" To locauta + *!* pcselect = [select distinct a.denumire,a.codmat,a.um,a.pret,a.pretd,a.pretv,a.tvav,a.proc_tvav, ] + ; + *!* [a.id_articol,b.id_tipgest from ] + gcs + [.vnom_articole a inner join coresp_cont_tipgest b on a.cont = b.cont] + *!* pcfiltru = [1=2] + *!* pcschema = [''] + *!* pcorder = [denumire] + *!* pccoloane = [denumire,codmat] + *!* pcTitlu = [Alegeti denumirea] + *!* pcTitluColoane = [Denumire,Cod Material] + *!* pcFiltruOriginal = [ b.id_tipgest = ]+ALLTRIM(STR(tntipgest)) + *!* lcNumeProc = [nom_articole] + *!* llToateIreg = .F. + *!* locauta = cauta_alfa(pcselect,pcfiltru,pcschema,pcorder,pccoloane,pcTitlu,pcTitluColoane, lcNumeProc, llToateIreg, pcFiltruOriginal) + lntg = thisform.ntipgest + IF EMPTY(lntg) + aMESSAGEBOX('Tip gestiune incorect!',16,'Eroare') + RETURN + ENDIF + locauta = caut_articol(lntg) + + If !Empty(locauta.denumire) + lcdenumire = ALLTRIM(locauta.denumire) + lccodmat = ALLTRIM(locauta.codmat) + lcum = ALLTRIM(locauta.um) + *!* lnpret=locauta.pret + *!* lnpretd=locauta.pretd + *!* lnpretv=locauta.pretv + *!* lntvav=locauta.tvav + *!* lnproc_tvav=locauta.proc_tvav + lnid_articol=locauta.id_articol + + Else + RETURN + ENDIF + + + Store "" To locauta + + *!* pcselect = [select a.explicatie,a.cont,a.id_plcont,b.id_tipgest from ]+gcs+[.plcont a inner join coresp_cont_tipgest b on a.cont = b.cont] + *!* pcfiltru = [1=2] + *!* pcschema = [''] + *!* pcorder = [cont] + *!* pccoloane = [cont,explicatie] + *!* pcTitlu = [Alegeti Contul] + *!* pcTitluColoane = [Cont,Explicatie] + *!* pcFiltruOriginal = [ b.id_tipgest = ]+ALLTRIM(STR(tntipgest))+[ and a.an=]+ALLTRIM(STR(gnan)) + *!* lcNumeProc = [] + *!* llToateIreg = .F. + *!* lcPrimaColoana = [a.cont] + *!* locauta = cauta_alfa(pcselect,pcfiltru,pcschema,pcorder,pccoloane,pcTitlu,pcTitluColoane, lcNumeProc, llToateIreg, pcFiltruOriginal, lcPrimaColoana) + locauta = caut_cont(lntg) + If !Empty(locauta.cont) + lcExplicatieC = ALLTRIM(locauta.explicatie) + lccont = ALLTRIM(locauta.cont) + lcAcont = ALLTRIM(locauta.acont) + Else + Return + ENDIF + + Store "" To locauta + *!* pcselect = [select a.acont,a.explicatie,a.id_plcont,a.an,b.id_tipgest FROM ] + gcs + [.vplcont_analitic a inner join coresp_cont_tipgest b on a.cont = b.cont] + *!* pcfiltru = [1=2] + *!* pcschema = [''] + *!* pcorder = [acont] + *!* pccoloane = [acont,explicatie] + *!* pcTitlu = [Alegeti contul analitic] + *!* pcTitluColoane = [Acont,Explicatie] + *!* pcFiltruOriginal = [ a.cont=]+Alltrim(lccont)+[ and a.an=]+Alltrim(Str(gnAn))+[ and b.id_tipgest = ]+ALLTRIM(STR(tntipgest)) + *!* lcNumeProc = [] + *!* llToateIreg = .F. + *!* lcPrimaColoana = [a.acont] + *!* locauta = cauta_alfa(pcselect,pcfiltru,pcschema,pcorder,pccoloane,pcTitlu,pcTitluColoane, lcNumeProc, llToateIreg, pcFiltruOriginal, lcPrimaColoana) + + *!* modificare 18.02.2008 + *!* locauta = caut_acont(lccont) + *!* If !Empty(locauta.acont) + *!* lcExplicatieA = ALLTRIM(locauta.explicatie) + *!* lcAcont = ALLTRIM(locauta.acont) + *!* Else + *!* If gnButon=2 + *!* Return + *!* Else + *!* lcExplicatieA = "" + *!* lcAcont = "" + *!* Endif + *!* ENDIF + *!* modificare 18.02.2008 ^ + + Store "" To locauta + *!* pcselect = [select nume_gestiune,cgest,id_gestiune,nr_pag,cont from ]+gcs+[.vnom_gestiuni ] + *!* pcfiltru = [ 1=2 ] + *!* pcschema = [''] + *!* pcorder = [nume_gestiune] + *!* pccoloane = [nume_gestiune,cgest] + *!* pcTitlu = [Alegeti Gestiunea] + *!* pcTitluColoane = [Gestiune,Cgest] + *!* pcFiltruOriginal = [nr_pag = ]+ALLTRIM(STR(tntipgest)) + *!* lcNumeProc = [] + *!* llToateIreg = .F. + *!* locauta = cauta_alfa(pcselect,pcfiltru,pcschema,pcorder,pccoloane,pcTitlu,pcTitluColoane, lcNumeProc, llToateIreg, pcFiltruOriginal) + locauta = caut_gestiune(lntg,gnidutil) + + If !Empty(locauta.cgest) OR !EMPTY(locauta.nume_gestiune) + lcnume_gest = ALLTRIM(locauta.nume_gestiune) + lccgest = ALLTRIM(locauta.cgest) + lnid_gestiune=locauta.id_gestiune + Else + Return + ENDIF + + + Select crsStocuri + Locate For id_stoc = 0 And acont=lcAcont And cont=lccont AND cgest=lccgest + If !Found() + Append Blank + REPLACE id_gestiune WITH lnid_gestiune + REPLACE id_articol WITH lnid_articol + REPLACE codmat WITH lccodmat + REPLACE denumire WITH lcdenumire + REPLACE um WITH lcum + REPLACE pret WITH 0 + REPLACE cants WITH 0 + REPLACE cant WITH 0 + REPLACE cante WITH 0 + Replace Cont With lccont + Replace acont With lcacont + REPLACE cgest WITH lccgest + REPLACE pretv WITH 0 + REPLACE tvav WITH 0 + REPLACE proc_tvav WITH 0 + REPLACE pretd WITH 0 + REPLACE datain WITH DATE() + REPLACE dataout WITH DATE() + Thisform.lmodificata=.T. + Endif + Thisform.grdStocuri.SetFocus() + ENDPROC + + PROCEDURE do_cauta + Lparameters tcFiltru, tlForceSerch + + Local lcFiltru + If !Empty(tcFiltru) + lcFiltru = [ and ] + tcFiltru + Else + lcFiltru = [] + Endif + + **** + With Thisform + .lbl5.Visible = Iif(.optgrup.Value=3,.F.,.T.) + .lblValuta.Visible = Iif(.optgrup.Value=3,.F.,.T.) + .cboValuta.Visible = Iif(.optgrup.Value=3,.F.,.T.) + .lbl6.Visible = Iif(INLIST(.optgrup.Value,2,4),.T.,.F.) + .lbl7.Visible = Iif(INLIST(.optgrup.Value,2,4),.T.,.F.) + + IF .optgrup.Value = 3 + .cValutatotal = .cMonedanationala + .nIdvalutatotal = .nIdmonedanationala + ENDIF + + For i=1 To 4 Do + lcVisible1 = [.text]+Alltrim(Str(i))+[.visible=IIF(.optgrup.value=3,.f.,.t.)] + lcVisible2 = [.text]+Alltrim(Str(4+i))+[.visible=IIF(INLIST(.optgrup.Value,2,4),.t.,.f.)] + lcVisible3 = [.text]+Alltrim(Str(8+i))+[.visible=IIF(INLIST(.optgrup.Value,2,4),.t.,.f.)] + lcVisible4 = [.lbl]+Alltrim(Str(i))+[.visible=IIF(.optgrup.value=3,.f.,.t.)] + &lcVisible1 + &lcVisible2 + &lcVisible3 + &lcVisible4 + Endfor + Endwith + **** + + *!* If Thisform.ck_filtru_denumire.Value=1 + *!* lcFiltru=lcFiltru+Thisform.ck_filtru_denumire.filtru + *!* Endif + + *!* If Thisform.ck_filtru_codmat.Value=1 + *!* lcFiltru=lcFiltru+Thisform.ck_filtru_codmat.filtru + *!* Endif + + *!* If Thisform.ck_serie.Value=1 + *!* lcFiltru=lcFiltru+Thisform.ck_serie.filtru + *!* Endif + + *!* If Thisform.ck_filtru_gestiune.Value=1 + *!* lcFiltru=lcFiltru+Thisform.ck_filtru_gestiune.filtru_ora + *!* Endif + + *!* If Thisform.ck_filtru_grupegest.Value=1 + *!* Set Textmerge On To Memvar lcFiltruTempG Noshow + *!* \ and a.id_gestiune in ( + *!* \ select ID_GESTIUNE + *!* \ from <>.vgest_coresp_grupe_gestiuni c + *!* \ join (select id_grupe + *!* \ from <>.gest_nom_grupe + *!* \ where sters = 0 + *!* \ start with <> + *!* \ connect by prior id_grupe = parent_id) g on c.id_grupe = g.id_grupe ) + *!* Set Textmerge To + + *!* lcFiltru=lcFiltru + lcFiltruTempG + *!* Endif + + *!* If Thisform.ck_filtru_cont.Value=1 + *!* lcFiltru=lcFiltru+Thisform.ck_filtru_cont.filtru + *!* Endif + + *!* If Thisform.ck_filtru_acont.Value=1 + *!* lcFiltru=lcFiltru+Thisform.ck_filtru_acont.filtru + *!* Endif + + *!* If Thisform.ck_filtru_datain.Value=1 + *!* lcFiltru=lcFiltru+Thisform.ck_filtru_datain.filtru + *!* Endif + + *!* If Thisform.ck_filtru_dataout.Value=1 + *!* lcFiltru=lcFiltru+Thisform.ck_filtru_dataout.filtru + *!* Endif + + *!* If Thisform.ck_filtru_pret.Value=1 + *!* lcFiltru=lcFiltru+Thisform.ck_filtru_pret.filtru + *!* Endif + + *!* If Thisform.ck_filtru_pretd.Value=1 + *!* lcFiltru=lcFiltru+Thisform.ck_filtru_pretd.filtru + *!* ENDIF + + *!* If Thisform.ck_filtru_pretv.Value=1 + *!* lcFiltru=lcFiltru+Thisform.ck_filtru_pretv.filtru + *!* Endif + + *!* If Thisform.ck_filtru_stoc.Value=1 + *!* lcFiltru=lcFiltru+Thisform.ck_filtru_stoc.filtru + *!* Endif + + *!* IF thisform.ck_filtru_valuta.Value = 1 + *!* lcFiltru=lcFiltru+Thisform.ck_filtru_valuta.filtru_ora + *!* ENDIF + + *!* IF thisform.ck_filtru_subgrupa.Value = 1 + *!* lcFiltru=lcFiltru+Thisform.ck_filtru_subgrupa.filtru_ora + *!* ENDIF + + *!* If Thisform.ck_stoc_negativ.Value = 1 + *!* lcFiltru = lcFiltru + [ AND a.cants+a.cant-a.cante<0] + *!* Endif + + *!* If Thisform.ck_cu_rulaj.Value = 1 + *!* lcFiltru = lcFiltru + [ AND (a.cant!=0 or a.cante!=0)] + *!* Endif + + *!* If Thisform.ck_fara_rulaj.Value = 1 + *!* lcFiltru = lcFiltru + [ AND (a.cant=0 and a.cante=0)] + *!* ENDIF + + If Thisform.chk_fara_miscare.Value = 1 + ldDataFM = This.data_f_misc + lcFiltru = lcFiltru + [ AND (a.datain is null OR a.datain <= to_date('] + Dtos(ldDataFM) +; + [','YYYYMMDD'))] +; + [ AND (a.dataout is null OR a.dataout <= to_date('] + Dtos(ldDataFM) +; + [','YYYYMMDD'))] + Endif + + + If Thisform.optgrup.Enabled = .T. + Do Case + Case Thisform.optgrup.Value = 1 + lcFiltru = lcFiltru + [ AND a.nr_pag not in (6,7)] + Case Thisform.optgrup.Value = 2 + lcFiltru = lcFiltru + [ AND a.nr_pag=6] + Case Thisform.optgrup.Value = 4 + lcFiltru = lcFiltru + [ AND a.nr_pag=7] + Endcase + Endif + + If !Empty(lcFiltru) + lcFiltru = This.cfiltruinitial + lcFiltru + Else + lcFiltru = This.cfiltruinitial + Endif + + && filtru pretty + IF LEN(THISFORM.filtru_pretty)>0 + filtrutext=THISFORM.filtru_pretty + lcFiltru=lcFiltru+" and ("+ALLTRIM(filtrutext)+")" + ENDIF + + IF (THIS.filtru_pretty#"none" OR tlForceSerch) + THISFORM.actualizeaza_grid1(lcFiltru) + THIS.calcul_sume() + IF RECCOUNT('crsStocuri')=0 + aMessagebox("Cautarea nu a intors rezultate!",0+48,"Info cautare") + ENDIF + SELECT crsStocuri + GO top + THIS.GRdStocuri.REFRESH + ENDIF + THISFORM.but_start_criterii1.SETFOCUS + + + + ENDPROC + + PROCEDURE do_excel + Local lcAlias, lcFiltru, lcColumnList, lcHeaderList, lcSelect, lcOutput, lcFrom, lcWhere, lcOrder + lcAlias = This.grdStocuri.RecordSource + + If Reccount(lcAlias) > 0 + If This.optgrup.Value = 1 + With This.grdStocuri + Store .F. To .cpretv.Visible,.cpretvtva.Visible,.ctvav.Visible + Endwith + Endif + + + *!* export_excel(this.grdStocuri,[STOCURI]) + + lcFiltru = Filter(lcAlias) + If Empty(lcFiltru) + lcFiltru = '.T.' + Endif + + lcColumnList = '' + lcHeaderList = '' + lcSelect = '' + llSelect = .T. + lcType = 'CURSOR' + lcFrom = lcAlias + lcWhere = lcFiltru + lcOrder = 'codmat,denumire' + lcOutput = 'crsStoc' + + If Used(lcOutput) + Use In (lcOutput) + Endif + + get_schema_grid(This.grdStocuri,@lcColumnList, @lcHeaderList, @lcSelect, llSelect, lcType, lcFrom, lcWhere, lcOrder, lcOutput) + &lcSelect + + If Used(lcOutput) + Do export_xls With lcOutput In oproceduri_comune.prg + Use In (lcOutput) + Endif + + + If This.optgrup.Value = 1 + With This.grdStocuri + Store .T. To .cpretv.Visible,.cpretvtva.Visible,.ctvav.Visible + Endwith + Endif + + Else + amessagebox("Nu exista inregistrari pentru export!",48,"Atentie") + Endif + + + + ENDPROC + + PROCEDURE do_listare + X = XMENU("\0 + Private pcTitlu,pcDataora + Store "" To pcTitlu,pcDataora + Local lcOrder, lcOrderColumn, loColumnSort, lcFilter, lcFiltru + lcOrder = "" + lcOrderColumn = "" + + lcFilter = Filter('crsStocuri') + lcFiltru = Iif(!Empty(m.lcFilter), 'where ' + m.lcFilter, '') + lcFiltru = Strtran(m.lcFiltru, 'crsstocuri.','a.',1,10,1) + + loColumnSort = Thisform.gridextra1.currentcolumn + lcColoanaOrdonare = [] + If Type('loColumnSort') == 'O' + lcOrderColumn = [1] + Iif(Thisform.gridextra1.Ascending,[ DESC],[]) + lcColoanaOrdonare = Strtran(Upper(Alltrim(loColumnSort.ControlSource)),[CRSSTOCURI.],[a.]) + [ as colord1,] + Endif + + + If Empty(lcOrderColumn) + lcOrder = "a.nume_gestiune,a.denumire,a.codmat" + Else + Do Case + Case lcOrderColumn = 'CODMAT' + lcOrder = "a.nume_gestiune,a.CODMAT,a.denumire" + Case lcOrderColumn = 'DENUMIRE' + lcOrder = "a.nume_gestiune,a.DENUMIRE,a.CODMAT" + Otherwise + lcOrder = "a.nume_gestiune," + lcOrderColumn + Endcase + Endif + SET STEP ON + lcComanda = [Select nume_gestiune, serie, lot, um, codmat, denumire, SUM(cants) as cants, SUM(cant) as cant, SUM(cante) as cante, SUM(cants+cant-cante) as stoc ] + ; + [ From crsStocuri a ] + m.lcFiltru + ; + [ group by nume_gestiune, serie, lot, um, codmat, denumire ] + ; + [ Order By ] + lcOrder + ; + [ Into Cursor crs_rap] + &lcComanda + + pcTitlu = [STOCURI - ARTICOLE] + Thisform.AlwaysOnTop=.F. + goExport.export2frx([crs_rap],[rap_stoc_art_cant],.T., , , , , .T.) + + Thisform.AlwaysOnTop=.T. + IF AMESSAGEBOX('Doriti sa salvati in format xls?',4+32,_Screen.Caption) = 6 + goExport.export2xls("crs_rap", "stoc_articole.xls") + ENDIF + Use In (SELECT('crs_rap')) + Else + amessage("Nu exista inregistrari pentru listare!",0+48,"Atentie") + Endif + + ENDPROC + + PROCEDURE do_listare_borderou + Thisform.AlwaysOnTop=.F. + DO rap_compar_stoc_bal + Thisform.AlwaysOnTop=.T. + *!* If Reccount('crsStocuri')>0 + *!* Select Nvl(Cont,' ') As Cont,Nvl(acont,' ') As acont,; + *!* pret,cants,cant,cante From crsStocuri Into Cursor crsStocuri_temp + + *!* Select Distinct Cont,acont,; + *!* 000000000000000000.0000 As Prec,000000000000000000.0000 As intrari,; + *!* 000000000000000000.0000 As iesiri,000000000000000000.0000 As sold ; + *!* WHERE !Empty(Cont); + *!* FROM crsStocuri_temp Into Cursor crsConturi Readwrite Order By Cont,acont + + *!* Select crsConturi + *!* Scan + *!* Scatter Name loCont + *!* Select crsStocuri_temp + *!* Calculate Sum(Round(cants*Pret,gnPC)), Sum(Round(cant*Pret,gnPC)),Sum(Round(cante*Pret,gnPC)) ; + *!* FOR Alltrim(Cont)=Alltrim(loCont.Cont) And Alltrim(acont)=Alltrim(loCont.acont) To ; + *!* loCont.Prec,loCont.intrari,loCont.iesiri; + + *!* Select crsConturi + *!* Gather Name loCont + *!* Endscan + + *!* Select crsConturi + *!* Replace All sold With Prec+intrari-iesiri + *!* lcTitlu = [Borderou de verificare valorica] + *!* pcTitlu = ceretitlu_rap([Titlul raportului],lcTitlu) + *!* pcDataora = get_Ora(2) + + *!* Thisform.AlwaysOnTop=.F. + *!* Select crsConturi + *!* Report Form rap_stoc_borderou.frx To Printer Prompt Preview + *!* Thisform.AlwaysOnTop=.T. + + *!* Use In crsConturi + *!* Use In crsStocuri_temp + *!* Else + *!* amessage("Nu exista inregistrari pentru listare!",0+48,"Atentie") + *!* Endif + ENDPROC + + PROCEDURE do_listare_fisa_magazie + PRIVATE PcCodul,pcdenumire,pcondper + STORE '' TO pcondper + LOCAL ldata1,ldata2,lcd1,lcd2 + IF RECCOUNT('crsstocuri')>0 + THISFORM.ALWAYSONTOP=.F. + SELECT crsstocuri + + PcCodul=VAL(ALLTRIM(STR(id_articol))) + pcdenumire=UPPER(ALLTRIM(denumire)) + pnIdGestiune = id_gestiune + pcNumeGestiune = ALLTRIM(nume_gestiune) + pcSerie = ALLTRIM(serie) + + DO fisa_magazie_fifo WITH THISFORM.ntipgest,pnIdGestiune,pcNumeGestiune,PcCodul,pcSerie + + THISFORM.ALWAYSONTOP=.T. + ELSE + amessage("Nu exista inregistrari pentru listare!",0+48,"Atentie") + ENDIF + + ENDPROC + + PROCEDURE do_listare_fisa_magazie_explicativa + lcCursor = Thisform.grdStocuri.RecordSource + LOCAL lcCondArticol + lcCondArticol ="" + Local llScanez,lcArticole + Store .F. To llScanez + If aMESSAGEBOX('Se listeaza fisa explicativa pentru toate articolele selectate?',4+32,'Listare') = 6 + llScanez = .T. + Endif + + lcCursorRaport = [crsraport] + SELECT (lcCursor) + If Reccount(lcCursor) > 0 + Private lnAn1, lnLuna1, lnAn2, lnLuna2 + Private pnIdArticol, pnPerInceput, pnPerSfarsit,pnIdGest, pcSerie + Private pcTitlu,pcPerioada,pcDataOra + *!* Private pncantin,pnCanout,pnValin,pnValout + *!* Store 0 To pncantin,pnCantout,pnValin,pnValout + Store 0 To lnAn1, lnLuna1, lnAn2, lnLuna2, pnIdArticol, pnPerInceput, pnPerSfarsit,pnIdGest + Store '' To pcTitlu, pcPerioada,pcSerie + + Select (lcCursor) + pnIdArticol = id_articol + pnIdGest = id_gestiune + pcSerie = ALLTRIM(serie) + + pcTitlu = [FISA DE MAGAZIE EXPLICATIVA] + + loLuna = get_oluna(gnAn, gnLuna) + lcLuna1 = Padl(loLuna.lunamin,2,'0') + Padl(loLuna.anmin,4,'0') + lcLuna2 = Padl(loLuna.lunamax,2,'0') + Padl(loLuna.anmax,4,'0') + + pcondper="" + ofrmperioada=Createobject('frm_perioada_luni') + With ofrmperioada + ._textbox1.Value=lcLuna1 + ._textbox2.Value=lcLuna2 + ._optiongrup1.Value = 2 + ._optiongrup1.Valid() + Endwith + ofrmperioada.Show(1) + If gnButon=2 + Thisform.ck_denumire.SetFocus() + Return + Endif + + plPerioada=.F. + lnPoz=At('_',pcondper) + If lnPoz>0 + plPerioada=.T. + Endif + + If plPerioada + lnAn1 = Val(Substr(pcondper,3,4)) + lnLuna1 = Val(Substr(pcondper,1,2)) + lnAn2 = Val(Substr(pcondper,10,4)) + lnLuna2 = Val(Substr(pcondper,8,2)) + + pnPerInceput = lnAn1 * 12 + lnLuna1 + pnPerSfarsit = lnAn2 * 12 + lnLuna2 + pcPerioada = [Perioada : ] + Substr(pcondper,1,2)+'/'+Substr(pcondper,3,4) + ' - ' + Substr(pcondper,8,2)+'/'+Substr(pcondper,10,4) + Else + lnAn1 = Val(Substr(pcondper,3,4)) + lnLuna1 = Val(Substr(pcondper,1,2)) + lnAn2 = Val(Substr(pcondper,3,4)) + lnLuna2 = Val(Substr(pcondper,1,2)) + + pnPerInceput = lnAn1 * 12 + lnLuna1 + pnPerSfarsit = lnAn2 * 12 + lnLuna2 + pcPerioada = [Luna : ] + Substr(pcondper,1,2)+'/'+Substr(pcondper,3,4) + Endif + + + If pnIdArticol = 0 + lcCond = " and id_gestiune = " + Str(pnIdGest) + gcCondSucursala + lcCondArticol = " in (select a.id_articol from vstoc a where " + poStocuri.ca_baza1.cfiltru + ")" + ELSE + IF llScanez = .t. + lcCond = " and id_gestiune = " + Str(pnIdGest) + " and id_articol in (select a.id_articol from vstoc a where " + poStocuri.ca_baza1.cfiltru + ")" + lcCondArticol = " in (select a.id_articol from vstoc a where " + poStocuri.ca_baza1.cfiltru + ")" + ELSE + lcCond = " and id_gestiune = " + Str(pnIdGest) + " and id_articol = " + Str(pnIdArticol) + gcCondSucursala + *!* modificare 12.02.2008 + *!* lcCond = " and id_gestiune = " + Str(pnIdGest) + " and id_articol = " + Str(pnIdArticol) + gcCondSucursala + *!* modificare 12.02.2008 ^ + lcCondArticol = " = " + Str(pnIdArticol) + ENDIF + Endif + If tnTipGest = 6 + lcPret = "pretv" + Else + lcPret = "pret" + Endif + lcStoc = 'crsStoc' + lcRulaje = 'crsRulaje' + + If Used(lcCursorRaport) + Use In (lcCursorRaport) + Endif + + lcSqlStoc = "select id_articol,denumire,serie,"+ lcPret +; + " as pret,codmat,um,id_gestiune,cants,cante,cant,datain,cgest "+; + " from vstoc where an = " + Str(lnAn1) + " and luna = " + Str(lnLuna1) + lcCond + ; + IIF(!EMPTY(NVL(pcSerie,''))," and serie = ?pcSerie","") + lcSqlRulaje = "select nnir,id_articol,denumire,serie,codmat,um,id_gestiune,cant,cante,"+ lcPret +; + " as pret,valoare,dataact,datain,dataout,cgestc,nrord,cgest"+; + " from vrul where an * 12 + luna between " + Str(lnAn1*12+lnLuna1) + " and " + ; + STR(lnAn2*12+lnLuna2) + lcCond + IIF(!EMPTY(NVL(pcSerie,''))," and serie = ?pcSerie","") + + + lnSucces = goExecutor.oExecute(lcSqlStoc,lcStoc) + If lnSucces < 0 + amessage('SELECT stoc' + Chr(13) + goExecutor.cEroare,0+16,"Eroare") + Return + Endif + lnSucces = goExecutor.oExecute(lcSqlRulaje,lcRulaje) + If lnSucces < 0 + amessage('SELECT rulaje' + Chr(13) + goExecutor.cEroare,0+16,"Eroare") + Return + Endif + Select crsStoc + Replace All denumire With Nvl(denumire,''),serie WITH NVL(serie,''),codmat With Nvl(codmat,''), um With Nvl(um,''), datain With Nvl(datain,{//::}) + Select crsRulaje + Replace All nnir With Nvl(nnir,0),denumire With Nvl(denumire,''),serie WITH NVL(serie,''),codmat With Nvl(codmat,''), um With Nvl(um,''), datain With Nvl(datain,{//::}), dataout With Nvl(dataout,{//::}), dataact With Nvl(dataact,{//::}) + + + Select id_articol, serie, codmat, denumire, um,cgest From crsStoc ; + UNION ; + SELECT id_articol, serie, codmat, denumire, um,cgest From crsRulaje; + INTO Cursor crsArticole; + ORDER By 2, 3 + + If Used('fisa_stoc') + Use In fisa_stoc + Endif + + Create Cursor fisa_stoc (id_articol N(20),denumire c(100),codmat c(50),serie c(100),um c(6),ldata d,nrdoc c(15),cantin N(12,3),; + pretin N(12,3),valin N(14,2),cantout N(12,3),pretout N(12,3),valout N(14,2),cantf N(12,3),pretf N(12,3),; + valf N(14,2),idf N(10),nrord c(100),sectie c(50),cgestc c(50),cgest c(20)) + + Select crsArticole + Scan + lnIdArticol = id_articol + lcDenumire = Alltrim(denumire) + lcCodMat = Alltrim(codmat) + lcUm = Alltrim(um) + lcCgest = Alltrim(cgest) + lcSerie = ALLTRIM(serie) + + Select id_articol,cants As cantf, Pret As pretf,cants*Pret As valf, datain As ldata," " As nrdoc,; + SPACE(10) as serie_act,denumire,codmat,serie,um,000000000000.000 As cantin,000000000000.000 As pretin,00000000000000.00 As valin,; + 000000000000.000 As cantout,000000000000.000 As pretout,00000000000000.000 As valout,0000000000 As idf,; + SPACE(20) As cgestc,cgest ; + FROM crsStoc Where id_articol = lnIdArticol And cants <> 0 AND NVL(serie,'+_') = NVL(lcSerie,'+_') ; + INTO Cursor cstoc Order By datain Readwrite + + Select cstoc + Sum cantf To lnCantf + Sum valf To lnValf + Locate For Empty(idf) + If Found() + Replace cantin With lnCantf, valin With lnValf,nrdoc With 'Stoc initial' + Replace denumire With lcDenumire, codmat With lcCodMat, um With lcUm, id_articol With lnIdArticol, serie WITH lcSerie + Replace All idf With 1 For Empty(idf) + Endif + + If _Tally > 0 + *!* modificare 28.11.2006 + *!* lcDbfStoc = DBF("cstoc") + *!* SELECT fisa_stoc + *!* APPEND FROM (lcDbfStoc) + Select fisa_stoc + Append From Dbf('cstoc') + *!* modificare 28.11.2006 ^ + Else + Select fisa_stoc + Append Blank + Replace cantin With lnCantf, valin With lnValf,nrdoc With 'Stoc initial' + Replace denumire With lcDenumire, codmat With lcCodMat, um With lcUm, id_articol With lnIdArticol, serie WITH lcSerie + Replace cgest With lcCgest + Replace All idf With 1 For Empty(idf) + Endif + Endscan + Select fisa_stoc + + pcDataOra = get_ora(2) + + lcSql = [select c.codmat, c.denumire as nume_articol,x.serie, c.um, c.cant_bax, c.um2,c.id_articol, d.sectie, d.csectie, e.nrord, f.nume_gestiune, ] + ; + [f.cgest, g.nume_gestiune as nume_gestiunec, g.cgest as cgestc,] + ; + [(case when g.nr_pag = 6 then x.pretv + x.tvav else x.pret end) as pret, x.cant, x.cante, ] + ; + [ROUND(x.cant*(case when g.nr_pag = 6 then x.pretv + x.tvav else x.pret end),]+TRANSFORM(gnPc)+[) as val_intrari,] + ; + [ROUND(x.cante*(case when g.nr_pag = 6 then x.pretv + x.tvav else x.pret end),]+TRANSFORM(gnPc)+[) as val_iesiri,] + ; + [b.dataact, to_char(b.nnir) as nnir,decode(b.nract,b.nnir,null,b.serie_act) as serie_act,] + ; + [decode(b.nract,b.nnir,null,b.nract) as nract, b.explicatia, h.denumire, i.fel_document, j.descriere as tip_rulaj ] + ; + [from ] + gcS + [.rul x ] + ; + [left join ] + ; + [(select distinct cod,dataact,max(nnir) over(partition by cod) as nnir,id_fdoc,nract,serie_act,] + ; + [max(id_partd) over(partition by cod) as id_partd,] + ; + [first_value(explicatia) over(partition by cod order by explicatia ASC) as explicatia ] + ; + [from ] + gcS + [.act where sters = 0 and cod in (select cod ] + ; + [from ] + gcS + [.rul where id_articol ] + lcCondArticol + ; + IIF(!EMPTY(NVL(pcSerie,'')),[ and serie = ?pcSerie],[]) + [ and sters = 0] + gcCondSucursala +[)] + ; + [and scc not in ('4427', '4111', '667')) b on x.cod = b.cod ] + ; + [left join ] + gcS + [.nom_articole c on x.id_articol = c.id_articol ] + ; + [left join ] + gcS + [.nom_sectii d on x.id_sectie = d.id_sectie ] + ; + [left join ] + gcS + [.vnom_lucrari e on x.id_lucrare = e.id_lucrare ] + ; + [left join ] + gcS + [.nom_gestiuni f on x.id_gestiune = f.id_gestiune ] + ; + [left join ] + gcS + [.nom_gestiuni g on x.id_gestiunec = g.id_gestiune ] + ; + [left join ] + gcS + [.nom_parteneri h on b.id_partd = h.id_part ] + ; + [left join ] + gcS + [.nom_fdoc i on b.id_fdoc = i.id_fdoc ] + ; + [left join ] + gcS + [.nom_tip_rulaj j on x.id_tip_rulaj = j.id_tip_rulaj ] + ; + [where x.sters = 0] + STRTRAN(gcCondSucursala,[id_sucursala],[x.id_sucursala]) +[ and x.id_articol ] +lcCondArticol + ; + IIF(!EMPTY(NVL(pcSerie,'')),[ and x.serie = ?pcSerie],"") + ; + [ and x.luna + x.an * 12 between ]+TRANSFORM(pnPerInceput)+[ and ]+TRANSFORM(pnPerSfarsit)+[ and x.id_gestiune = ]+TRANSFORM(pnidgest) +; + [ order by c.denumire,b.serie_act,b.dataact] + lnSucces = goExecutor.oExecute(lcSql,lcCursorRaport) + + If lnSucces < 0 + aMESSAGEBOX(goExecutor.oPrelucrareEroare(),0+16,"Eroare") + Else + + Insert Into (lcCursorRaport) (codmat, nume_articol,serie,um,cgest,; + pret,cant,cante,val_intrari,val_iesiri,dataact,nnir,id_articol) ; + SELECT codmat,denumire,serie,um,cgest,pretf,cantin,cantout,valin,valout,ldata,nrdoc,id_articol From fisa_stoc + Select fisa_stoc + *!* Sum cantin To pncantin + *!* Sum cantout To pnCante + *!* Sum valin To pnValin + *!* Sum valout To pnValout + Use In fisa_stoc + Select * From (lcCursorRaport) Order By nume_articol,id_articol,dataact,serie Into Cursor crsRaportfinal + + *!* SELECT crsRaportFinal + *!* CURSORTOXML("crsRaportFinal","c:\crsRaporFinal.xml",1,512,0,"1") + *!* BROWSE + SELECT crsRaportfinal + If Reccount(lcCursorRaport)>0 + Thisform.AlwaysOnTop=.F. + + Select crsRaportfinal + *Keyboard '{CTRL+F10}' + *Report Form fisa_explicativa To Printer Prompt Preview + goExport.export2frx([crsRaportfinal],[fisa_explicativa],.T., , , , , .T.) + Thisform.AlwaysOnTop=.T. + + Else + aMESSAGEBOX("Nu exista inregistrari pentru listare!",0+48,"Atentie") + Endif + Endif + If Used('crsRaportfinal') + Use In crsRaportfinal + Endif + If Used(lcCursorRaport) + Use In (lcCursorRaport) + Endif + + Else + aMESSAGEBOX("Nu ati ales articolul! Efectuati o noua cautare!",0+48,"Atentie") + Endif + + ENDPROC + + PROCEDURE do_listare_fisa_magazie_in_valuta + *!* PRIVATE PcCodul,pcdenumire,pcondper + *!* STORE '' TO pcondper + *!* LOCAL ldata1,ldata2,lcd1,lcd2 + *!* IF RECCOUNT('crsstocuri')>0 + *!* THISFORM.ALWAYSONTOP=.F. + *!* SELECT crsstocuri + + *!* PcCodul=VAL(ALLTRIM(STR(id_articol))) + *!* pcdenumire=UPPER(ALLTRIM(denumire)) + *!* pnIdGestiune = id_gestiune + *!* pcNumeGestiune = ALLTRIM(nume_gestiune) + *!* pcSerie = ALLTRIM(serie) + + *!* DO fisa_magazie_fifo WITH THISFORM.ntipgest,pnIdGestiune,pcNumeGestiune,PcCodul,pcSerie + + *!* THISFORM.ALWAYSONTOP=.T. + *!* ELSE + *!* amessage("Nu exista inregistrari pentru listare!",0+48,"Atentie") + *!* ENDIF + Private pnIdArticol,pcDenumire,pnId_gestiune,pcNumeGestiune,pcSerie,pcUm,pcCodMaterial,pcTitlu, pcPerioada, pcDataOra,pnIdValuta,pcValuta + Store '' To pcTitlu,pcNumeGestiune,pcSerie,pcUm,pcCodMaterial,pcDataOra,pcValuta + *!* SET STEP ON + If Used('crstemp') + Use In crstemp + Endif + + Select crsstocuri + pnIdArticol = id_articol + pnIdGestiune = id_gestiune + pcDenumire = Upper(Alltrim(denumire)) + pcUm = Upper(Alltrim(um)) + pcCodMaterial = Upper(Alltrim(codmat)) + pcSerie = Upper(Alltrim(serie)) + pcNumeGestiune = Upper(Alltrim(nume_gestiune)) + pnIdValuta = Nvl(id_valuta,0) + pcValuta = ALLTRIM(nume_val) + + Thisform.AlwaysOnTop=.F. + do fisa_magazie_FIFO_valuta WITH thisform.ntipgest , pnIdGestiune , pcNumeGestiune, pnIdArticol , pcSerie ,pnIdValuta ,pcValuta + Thisform.AlwaysOnTop=.t. + ENDPROC + + PROCEDURE do_listare_selectie + If Reccount('crsStocuri')>0 + Private pcTitlu,pcDataora + Store "" To pcTitlu,pcDataora + Local lcOrder, lcOrderColumn, loColumnSort, lcFilter, lcFiltru + lcOrder = "" + lcOrderColumn = "" + + lcFilter = FILTER('crsStocuri') + lcFiltru = IIF(!EMPTY(m.lcFilter), 'where ' + m.lcFilter, '') + lcFiltru = STRTRAN(m.lcFiltru, 'crsstocuri.','a.',1,10,1) + + *!* modificare v 2.0.169 + *!* loColumnSort = This.gridsort1.ocolumnreference + *!* If Type('loColumnSort') = 'O' + *!* lcOrderColumn = Upper(Alltrim(loColumnSort.ControlSource)) + *!* Endif + loColumnSort = Thisform.gridextra1.currentcolumn + lcColoanaOrdonare = [] + If Type('loColumnSort') == 'O' + lcOrderColumn = [1] + Iif(Thisform.gridextra1.Ascending,[ DESC],[]) + lcColoanaOrdonare = STRTRAN(UPPER(ALLTRIM(loColumnSort.ControlSource)),[CRSSTOCURI.],[a.]) + [ as colord1,] + Endif + *!* modificare v 2.0.169 ^ + + If Empty(lcOrderColumn) + lcOrder = "a.nume_gestiune,a.denumire,a.codmat" + Else + Do Case + Case lcOrderColumn = 'CODMAT' + lcOrder = "a.nume_gestiune,a.CODMAT,a.denumire" + Case lcOrderColumn = 'DENUMIRE' + lcOrder = "a.nume_gestiune,a.DENUMIRE,a.CODMAT" + Otherwise + lcOrder = "a.nume_gestiune," + lcOrderColumn + Endcase + Endif + *!* modificare v 2.0.169 + *!* Select * From crsStocuri Into Cursor crs_rap Order By &lcOrder + lcComanda = [Select ] + lcColoanaOrdonare + [a.* From crsStocuri a ] + m.lcFiltru + [ Into Cursor crs_rap Order By ] + lcOrder + &lcComanda + *!* modificare v 2.0.169 ^ + + *!* modificare ROAGEST v 2.0.118 + pcTitlu = [STOCURI - GESTIUNI] + *!* *!* 21.11.2007 + *!* *!* If Thisform.ck_fara_rulaj.Value=1 + *!* *!* lcTitlu = [STOCURI FARA MISCARE IN ULTIMELE ]+Thisform.nzile+[ ZILE] + *!* *!* Else + *!* lcTitlu = [STOCURI - GESTIUNI] + *!* *!* Endif + *!* pcTitlu = ceretitlu_rap([Titlul raportului],lcTitlu) + *!* pcDataora = get_Ora(2) + Thisform.AlwaysOnTop=.F. + *!* Select crs_rap + *!* KEYBOARD '{CTRL+F10}' + *!* Report Format rap_stoc.FRX To Printer Prompt Noconsole Preview + goExport.export2frx([crs_rap],[rap_stoc],.T., , , , , .T.) + *!* modificare ROAGEST v 2.0.118 ^ + Thisform.AlwaysOnTop=.T. + Use In crs_rap + Else + amessage("Nu exista inregistrari pentru listare!",0+48,"Atentie") + Endif + ENDPROC + + PROCEDURE do_modifica + LPARAMETERS tlIesire + + + IF glLunaInchisa + aMESSAGEBOX('Luna este inchisa!',0+48,"Atentie") + RETURN + ENDIF + + LOCAL lcFunctie,lcSql,lcMesaj,lcActiune,lcTitlu,llIesire,lcProc + PRIVATE poRec + + llIesire=tlIesire + IF EMPTY(llIesire) + llIesire=.F. + ENDIF + SELECT crsStocuri + SCATTER NAME poRec + + nrlin=RECNO() + THISFORM.grdStocuri.SETALL('DynamicFontBold','IIF(RECNO()=nrlin,.T.,.F.)','Column') + THISFORM.grdStocuri.REFRESH() + lnluna=luna + + IF lnluna = 0 + lcMesaj=[Doriti sa adaugati aceasta inregistrare?] + lcActiune=[adaugata] + lcTitlu=[Adaugare] + ELSE + lcMesaj=[Doriti sa modificati aceasta inregistrare?] + lcActiune=[modificata] + lcTitlu=[Modificare] + ENDIF + + + IF aMESSAGEBOX(lcMesaj,4+32+256,lcTitlu)==6 + lcProc = IIF(lnluna = 0, [stocinsproc], [stocupdproc]) + lcSql = [begin pack_stoc.] + lcProc + [(?gcs, ?@.id_stoc, ?gnLuna, ?gnAn, ?.id_articol, ?.PRET, ?.pretv, ?.tvav, ?.cants, ] + lcSql = lcSql + [?.cant, ?.cante, ?.CONT, ?.acont, ?.pretd, ?.datain, ?.dataout, ?.proc_tvav, ?.id_gestiune, ?gnIdSucursala, ] + ; + [?.id_lucrare_rez,?.id_part_rez); end;] + + + WITH poRec + lnSucces = goExecutor.oExecute(lcSql) + ENDWITH + IF lnSucces < 0 + aMESSAGEBOX(goExecutor.cEroare,0+16,'Eroare') + RETURN + ENDIF + SELECT crsStocuri + REPLACE id_stoc WITH poRec.id_stoc + THISFORM.MOUSEPOINTER= 11 + THISFORM.LOCKSCREEN=.T. + THIS.do_cauta() + &&thisform.actualizeaza_grid1() + THISFORM.LOCKSCREEN=.F. + THISFORM.MOUSEPOINTER= 0 + aMESSAGEBOX("Inregistrarea a fost "+lcActiune+"!",0+64,lcTitlu) + THISFORM.coldvalue = THISFORM.cnewvalue + SELECT crsStocuri + LOCATE FOR id_stoc = poRec.id_stoc + + ELSE + IF !llIesire + THISFORM.MOUSEPOINTER= 11 + THISFORM.LOCKSCREEN=.T. + this.do_cauta() + &&THISFORM.actualizeaza_grid1() + THISFORM.LOCKSCREEN=.F. + THISFORM.MOUSEPOINTER= 0 + ENDIF + ENDIF + THISFORM.lmodificata=.F. + THISFORM.grdStocuri.SETALL('DynamicFontBold','.F.','Column') + THISFORM.grdStocuri.REFRESH() + + ENDPROC + + PROCEDURE do_reface + *!* 20.01.2011 + *!* marius.mutu + *!* adaugare optiune refacere pe gestiuni + + *!* 17.12.2020 + *!* marius.mutu + *!* am scos refacerea lunara - se pune 0 (accidental) pe stoc precedent daca daca nu stie ce face + *!* probabil este nevoie de refacere lunara intr-o situatie de initializare + + If m.glLunaInchisa + AMESSAGEBOX('Luna este inchisa! Nu se pot da refaceri!',0+64,_screen.Caption) + Return + ENDIF + + Local l, lnSucces, lnIdGestiune, lcSql + Local lcCont, x, lcSursa, lnLuna, lnAn, lcLunar + Local lcExecute, loCautaGestiune + lnSucces = 0 + lnIdGestiune = 0 + + + lcCont = [] + lcSursa = [STOC] + lnLuna = gnLuna + lnAn = gnAn + + x = xmenu('Refacere cu \] + lcMesaj2 = [sau ] + omesaj = CREATEOBJECT([frm_mesaj],lcTitlu,lcImagine,lcTip,lcMesaj1,lcMesaj2) + omesaj.SHOW(1) + RETURN + ENDIF + + SELECT DISTINCT CONT FROM crsStocuri INTO CURSOR cConturiTemp + IF _TALLY = 1 + contselect=ALLTRIM(cConturiTemp.CONT) + ELSE + contselect='' + ENDIF + USE IN (SELECT('cConturiTemp')) + *!* If Thisform.ck_filtru_cont.Value=1 + *!* contselect=Thisform.ck_filtru_cont.filtru + *!* contselect=Strtran(contselect,'AND','') + *!* contselect=Strtran(contselect,'(','') + *!* contselect=Strtran(contselect,')','') + *!* contselect=Strtran(contselect,'A.CONT','') + *!* contselect=Strtran(contselect,"'",'') + *!* contselect=Strtran(contselect,'%','') + *!* contselect=Strtran(contselect,'LIKE','') + *!* contselect=Alltrim(contselect) + *!* Else + *!* contselect='' + *!* Endif + + DO verific_stoc_cu_balanta WITH contselect,THISFORM.optgrup.VALUE + + + ENDPROC + + PROCEDURE grid_sort_bind + *!* + ENDPROC + + PROCEDURE Init + DODEFAULT() + this.gridextra1.setup() + ENDPROC + + PROCEDURE initializare + Thisform.grdStocuri.ReadOnly = !Thisform.grdStocuri.ReadOnly + Thisform.but_start_criterii1.Enabled = !Thisform.but_start_criterii1.Enabled + Thisform.but_reset_criterii1.Enabled = !Thisform.but_reset_criterii1.Enabled + Thisform.but_reface1.Enabled = !Thisform.but_reface1.Enabled + + With Thisform.grdStocuri + + .cnr_crt.ReadOnly=.T. + .ccodmat.ReadOnly=.T. + .cdenumire.ReadOnly=.T. + .cum.ReadOnly=.T. + .ccont.ReadOnly=.T. + .cacont.ReadOnly=.T. + .ccgest.ReadOnly=.T. + .cpretvtva.ReadOnly=.T. + .cstoc.ReadOnly=.T. + + Endwith + Thisform.grdStocuri.SetFocus + + ENDPROC + + PROCEDURE KeyPress + LPARAMETERS nKeyCode, nShiftAltCtrl + LOCAL lbviz + lbviz=THIS.bvizualizare + *!* am suprascris KeyPress ca sa nu se poata apela do_adauga prin combinatii de taste + DO CASE + case nKeyCode=13 And nShiftAltCtrl=2 && CTRL + M + NODEFAULT + IF this.but_modifica1.visible + this.but_modifica1.Click() + ENDIF + CASE nKeyCode=27 AND nShiftAltCtrl=0 + NODEFAULT + IF aMessagebox("Sunteti sigur ca doriti sa inchideti fereastra?",4+32+256,"Confirmare")==6 + THIS.do_renunt() + ENDIF + CASE nKeyCode=5 AND nShiftAltCtrl=2 AND lbviz=.F. + NODEFAULT + IF PEMSTATUS(THIS,"inainte_de_do_excel",5) + THIS.inainte_de_do_excel() + ENDIF + CASE nKeyCode=6 AND nShiftAltCtrl=2 + NODEFAULT + THIS.do_termin() + CASE nKeyCode=16 AND nShiftAltCtrl=2 AND lbviz=.F. + NODEFAULT + IF PEMSTATUS(THIS,"inainte_de_do_listare",5) + THIS.inainte_de_do_listare() + ENDIF + *!* Criterii Selectie - Vasile Cristian 25.oct.2007 + CASE nKeyCode = 17 AND nShiftAltCtrl=2 && CTRL + Q + NODEFAULT + IF TYPE('THIS.but_start_criterii1') = 'O' + THIS.but_start_criterii1.CLICK() + ENDIF + + CASE nKeyCode = 20 AND nShiftAltCtrl=2 && CTRL + T + NODEFAULT + IF TYPE('THIS.but_reset_criterii1') = 'O' + THIS.but_reset_criterii1.CLICK() + ENDIF + ENDCASE + ENDPROC + + PROCEDURE Load + LOCAL loMonedaNationala + LOCAL lcSelect + lcSelect = SELECT() + + loMonedaNationala = GetMonedaNationala() && updateserver.prg + this.nIdMonedaNationala = loMonedaNationala.id_valuta + this.cMonedaNationala = loMonedaNationala.nume_val + + + SELECT this.nIdMonedaNationala as id_valuta, this.cMonedaNationala as nume_val ; + FROM dual ; + INTO CURSOR cValuteRulTemp + this.nIdvalutatotal = this.nIdMonedaNationala + this.cValutaTotal = this.cMonedaNationala + SELECT (lcSelect) + ENDPROC + + PROCEDURE Release + this.cboValuta.RowSource = "" + USE IN (SELECT('cValuteRulTemp')) + ENDPROC + + PROCEDURE But_start_criterii1.loadcriterii + PARAMETERS tacriterii + EXTERNAL ARRAY tacriterii + #DEFINE crlf CHR(13)+CHR(10) + PRIVATE lcStringCriterii + lcStringCriterii="Denumire articol\denumire\T\id_articol\nom_articol"+ crlf + ; + "Cod material\codmat\T\none\" + crlf + ; + "Serie articol\serie\T\none\" + crlf + ; + "Subgrupa articol\subgrupa\T\id_subgrupa\nom_subgrupa_articol"+ crlf + ; + "Cod bare\codbare\T\none\"+ crlf + ; + "Gestiune\none\I\id_gestiune\nom_gestiune" + crlf + ; + "Grupe gestiuni\|E|" + ; + [a.id_gestiune in ( ] + ; + [ select ID_GESTIUNE ] + ; + [ from vgest_coresp_grupe_gestiuni c ] + ; + [ join (select id_grupe ] + ; + [ from gest_nom_grupe ] + ; + [ where sters = 0 ] + ; + [ start with id_grupe = <> ] + ; + [ connect by prior id_grupe = parent_id) g on c.id_grupe = g.id_grupe )\I\none\nom_grupa_gestiune] + crlf + ; + "Cont\cont\T\none\"+ crlf + ; + "Cont analitic\acont\T\none\"+ crlf + ; + "Data intrare\trunc(datain)\D\none\"+ crlf + ; + "Data iesire\trunc(dataout)\D\none\"+ crlf + ; + "Pret achizitie\pret\N|get_mask(12,gnPpret)\none\"+ crlf + ; + "Pret vz.\pretv\N|get_mask(12,gnPpret)\none\"+ crlf + ; + "Pret vz. TVA\(pretv+tvav)\N|get_mask(12,gnPpret)\none\"+ crlf + ; + "Pret valuta\pretd\N|get_mask(12,gnPPretval)\none\" + crlf + ; + "Valuta\nume_val\T\ID_VALUTA\nom_valuta" + crlf + ; + "Furnizor principal\furn_princ\T\id_part\nom_parteneri" + crlf + ; + "Furnizor\furnizor\T\id_furnizor\nom_parteneri" + crlf + ; + "Lucrare rezervare\nrord_rez\T\ID_LUCRARE_REZ\nom_lucrare" + crlf + ; + "Partener rezervare\part_rez\T\id_part_rez\nom_parteneri" + crlf + ; + "Stoc\cants+cant-cante\N|get_mask(12,gnPcant)\none\" + crlf + ; + "Stoc negativ\nofiled\E\(cants+cant-cante<0)\" + crlf + ; + "Cu rulaj\nofiled\E\(cant!=0 or cante!=0)\" + crlf + ; + "Fara rulaj\nofiled\E\(cant=0 and a.cante=0)\" + crlf + ; + "Cota TVA\proc_tvav\N|get_mask(12,2)\none\" + crlf + ; + IIF(EMPTY(gcCondSucursala) and glEMama,"Sucursala\sucursala\C\none\",[]) + DODEFAULT() + + ENDPROC + + PROCEDURE cboValuta.Valid + thisform.nIdValutaTotal = cValuteRulTemp.id_valuta + thisform.calcul_sume() + ENDPROC + + PROCEDURE Chk_fara_miscare.InteractiveChange + IF THIS.VALUE = 1 + THISFORM.data_f_misc = DATE(YEAR(DATE()),1,1) + ldDataFM = THISFORM.data_f_misc + loFaraMiscare = CREATEOBJECT("frm_fara_miscare") + loFaraMiscare.SHOW() + THISFORM.data_f_misc = ldDataFM + IF !PEMSTATUS(THIS,"cTraducere",5) + THIS.ADDPROPERTY("cTraducere","") + ENDIF + + + THIS.cTraducere = "Data intrare/iesire <= " + DTOC(ldDataFM) + ELSE + THIS.cTraducere = "" + ENDIF + + THISFORM.do_cauta() + THISFORM.but_start_criterii1.refreshstatus() + + ENDPROC + + PROCEDURE grdStocuri.AfterRowColChange + LPARAMETERS nColIndex + Local lnluna + With Thisform.grdStocuri + Select crsStocuri + lnluna = luna + If Thisform.lmodificata + Thisform.lmodificare_totaluri = .T. + Thisform.calcul_sume() + If lnluna = 0 + Thisform.lmodificare_totaluri = .F. + Endif + thisform.grdStocuri.Refresh + Endif + + Endwith + + ENDPROC + + PROCEDURE grdStocuri.BeforeRowColChange + LPARAMETERS nColIndex + + If !Thisform.lmodificare_totaluri + Local lnCol + Private pnRec + If Thisform.grdStocuri.ReadOnly=.F. And Thisform.coldvalue!=Thisform.cnewvalue + Thisform.lmodificata=.T. + Endif + If (This.RowColChange= 1 Or This.RowColChange= 3) And Thisform.lmodificata + If Thisform.coldvalue!=Thisform.cnewvalue + For i=1 To This.ColumnCount + If This.Columns(i).ColumnOrder=nColIndex + lcColoana="thisform.grdStocuri."+This.Columns(i).Name + Exit + Endif + Endfor + oColoana=&lcColoana + lValue=oColoana.text1.Value + lcNumeColoana=Substr(oColoana.ControlSource,At('.',oColoana.ControlSource)+1) + Select crsStocuri + + Replace (lcNumeColoana) With lValue + Endif + pnRec=Recno() + + Thisform.do_modifica() + Thisform.lmodificare_totaluri=.F. + DoDefault() + Endif + Else + Thisform.lmodificare_totaluri=.F. + Nodefault + Endif + + ENDPROC + + PROCEDURE grdStocuri.Ccant.Text1.GotFocus + lcMask=Strtran(This.Parent.InputMask,' ','') + lnNrZec=At('.',lcMask,1) + Thisform.coldvalue=Alltrim(Str(This.Value,Len(lcMask),Iif(lnNrZec>0,Len(lcMask)-lnNrZec,0))) + Thisform.cnewvalue=Thisform.coldvalue + ENDPROC + + PROCEDURE grdStocuri.Ccant.Text1.InteractiveChange + lcMask=Strtran(This.Parent.InputMask,' ','') + lnNrZec=At('.',lcMask,1) + Thisform.cnewvalue=Alltrim(Str(This.Value,Len(lcMask),Iif(lnNrZec>0,Len(lcMask)-lnNrZec,0))) + ENDPROC + + PROCEDURE grdStocuri.Ccante.Text1.GotFocus + lcMask=Strtran(This.Parent.InputMask,' ','') + lnNrZec=At('.',lcMask,1) + Thisform.coldvalue=Alltrim(Str(This.Value,Len(lcMask),Iif(lnNrZec>0,Len(lcMask)-lnNrZec,0))) + Thisform.cnewvalue=Thisform.coldvalue + ENDPROC + + PROCEDURE grdStocuri.Ccante.Text1.InteractiveChange + lcMask=Strtran(This.Parent.InputMask,' ','') + lnNrZec=At('.',lcMask,1) + Thisform.cnewvalue=Alltrim(Str(This.Value,Len(lcMask),Iif(lnNrZec>0,Len(lcMask)-lnNrZec,0))) + ENDPROC + + PROCEDURE grdStocuri.Ccants.Text1.GotFocus + lcMask=Strtran(This.Parent.InputMask,' ','') + lnNrZec=At('.',lcMask,1) + Thisform.coldvalue=Alltrim(Str(This.Value,Len(lcMask),Iif(lnNrZec>0,Len(lcMask)-lnNrZec,0))) + Thisform.cnewvalue=Thisform.coldvalue + ENDPROC + + PROCEDURE grdStocuri.Ccants.Text1.InteractiveChange + lcMask=Strtran(This.Parent.InputMask,' ','') + lnNrZec=At('.',lcMask,1) + Thisform.cnewvalue=Alltrim(Str(This.Value,Len(lcMask),Iif(lnNrZec>0,Len(lcMask)-lnNrZec,0))) + ENDPROC + + PROCEDURE grdStocuri.Cdatain.Text1.GotFocus + + Thisform.coldvalue=This.Value + Thisform.cnewvalue=Thisform.coldvalue + ENDPROC + + PROCEDURE grdStocuri.Cdatain.Text1.InteractiveChange + + Thisform.cnewvalue=This.Value + ENDPROC + + PROCEDURE grdStocuri.Cdataout.Text1.GotFocus + Thisform.coldvalue=This.Value + Thisform.cnewvalue=Thisform.coldvalue + ENDPROC + + PROCEDURE grdStocuri.Cdataout.Text1.InteractiveChange + Thisform.cnewvalue=This.Value + ENDPROC + + PROCEDURE grdStocuri.Column19.Text1.GotFocus + lcMask=Strtran(This.Parent.InputMask,' ','') + lnNrZec=At('.',lcMask,1) + Thisform.coldvalue=Alltrim(Str(This.Value,Len(lcMask),Iif(lnNrZec>0,Len(lcMask)-lnNrZec,0))) + Thisform.cnewvalue=Thisform.coldvalue + ENDPROC + + PROCEDURE grdStocuri.Column19.Text1.InteractiveChange + lcMask=Strtran(This.Parent.InputMask,' ','') + lnNrZec=At('.',lcMask,1) + Thisform.cnewvalue=Alltrim(Str(This.Value,Len(lcMask),Iif(lnNrZec>0,Len(lcMask)-lnNrZec,0))) + ENDPROC + + PROCEDURE grdStocuri.Cpret.Text1.GotFocus + lcMask=Strtran(This.Parent.InputMask,' ','') + lnNrZec=At('.',lcMask,1) + Thisform.coldvalue=Alltrim(Str(This.Value,Len(lcMask),Iif(lnNrZec>0,Len(lcMask)-lnNrZec,0))) + Thisform.cnewvalue=Thisform.coldvalue + ENDPROC + + PROCEDURE grdStocuri.Cpret.Text1.InteractiveChange + lcMask=Strtran(This.Parent.InputMask,' ','') + lnNrZec=At('.',lcMask,1) + Thisform.cnewvalue=Alltrim(Str(This.Value,Len(lcMask),Iif(lnNrZec>0,Len(lcMask)-lnNrZec,0))) + ENDPROC + + PROCEDURE grdStocuri.Cpretd.Text1.GotFocus + lcMask=Strtran(This.Parent.InputMask,' ','') + lnNrZec=At('.',lcMask,1) + Thisform.coldvalue=Alltrim(Str(This.Value,Len(lcMask),Iif(lnNrZec>0,Len(lcMask)-lnNrZec,0))) + Thisform.cnewvalue=Thisform.coldvalue + ENDPROC + + PROCEDURE grdStocuri.Cpretd.Text1.InteractiveChange + lcMask=Strtran(This.Parent.InputMask,' ','') + lnNrZec=At('.',lcMask,1) + Thisform.cnewvalue=Alltrim(Str(This.Value,Len(lcMask),Iif(lnNrZec>0,Len(lcMask)-lnNrZec,0))) + ENDPROC + + PROCEDURE grdStocuri.Cpretv.Text1.GotFocus + lcMask=Strtran(This.Parent.InputMask,' ','') + lnNrZec=At('.',lcMask,1) + Thisform.coldvalue=Alltrim(Str(This.Value,Len(lcMask),Iif(lnNrZec>0,Len(lcMask)-lnNrZec,0))) + Thisform.cnewvalue=Thisform.coldvalue + ENDPROC + + PROCEDURE grdStocuri.Cpretv.Text1.InteractiveChange + lcMask=Strtran(This.Parent.InputMask,' ','') + lnNrZec=At('.',lcMask,1) + Thisform.cnewvalue=Alltrim(Str(This.Value,Len(lcMask),Iif(lnNrZec>0,Len(lcMask)-lnNrZec,0))) + ENDPROC + + PROCEDURE grdStocuri.Ctvav.Text1.GotFocus + lcMask=Strtran(This.Parent.InputMask,' ','') + lnNrZec=At('.',lcMask,1) + Thisform.coldvalue=Alltrim(Str(This.Value,Len(lcMask),Iif(lnNrZec>0,Len(lcMask)-lnNrZec,0))) + Thisform.cnewvalue=Thisform.coldvalue + ENDPROC + + PROCEDURE grdStocuri.Ctvav.Text1.InteractiveChange + lcMask=Strtran(This.Parent.InputMask,' ','') + lnNrZec=At('.',lcMask,1) + Thisform.cnewvalue=Alltrim(Str(This.Value,Len(lcMask),Iif(lnNrZec>0,Len(lcMask)-lnNrZec,0))) + ENDPROC + + PROCEDURE grdStocuri.Init + * + ENDPROC + + PROCEDURE Gridextra1.applyfilter + DODEFAULT() + thisform.calcul_sume() + ENDPROC + + PROCEDURE Gridextra1.clearfilter + DODEFAULT() + thisform.calcul_sume() + ENDPROC + + PROCEDURE optgrup.Valid + LOCAL lcTraducere + lcTraducere = "" + DO CASE + CASE this.Value = 4 + pcListTipGest = [7] + CASE this.Value = 3 + pcListTipGest = [2,3,4,5,6] + CASE this.Value = 2 + pcListTipGest = [6] + lcTraducere = "Gestiuni la pret de vanzare" + CASE this.Value = 1 + pcListTipGest = [2,3,4,5] + lcTraducere = "Gestiuni la pret de achizitie" + ENDCASE + + IF !PEMSTATUS(THIS,"cTraducere",5) + THIS.ADDPROPERTY("cTraducere","") + ENDIF + + + THIS.cTraducere = lcTraducere + + + thisform.do_cauta() + thisform.but_start_criterii1.refreshstatus() + ENDPROC + +ENDDEFINE + +DEFINE CLASS frm_stocuri_obinv AS _frmbase OF "_frm_base.vcx" + *< CLASSDATA: Baseclass="form" Timestamp="" Scale="Pixels" Uniqueid="" /> + + *-- OBJECTDATA items order determines ZOrder / El orden de los items OBJECTDATA determina el ZOrder + *< OBJECTDATA: ObjPath="optgrup" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="But_excel1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="But_verifica1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="But_listare2" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="lbl5" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="But_reface1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="grdStocuri" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="grdStocuri.Cnr_crt.Header1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="grdStocuri.Cnr_crt.Text1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="grdStocuri.Ccodmat.Header1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="grdStocuri.Ccodmat.Text1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="grdStocuri.Cdenumire.Header1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="grdStocuri.Cdenumire.Text1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="grdStocuri.Cum.Header1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="grdStocuri.Cum.Text1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="grdStocuri.Cpret.Header1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="grdStocuri.Cpret.Text1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="grdStocuri.Ccants.Header1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="grdStocuri.Ccants.Text1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="grdStocuri.Ccant.Header1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="grdStocuri.Ccant.Text1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="grdStocuri.Ccante.Header1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="grdStocuri.Ccante.Text1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="grdStocuri.Cstoc.Header1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="grdStocuri.Cstoc.Text1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="grdStocuri.Ccont.Header1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="grdStocuri.Ccont.Text1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="grdStocuri.Cacont.Header1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="grdStocuri.Cacont.Text1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="grdStocuri.Ccgest.Header1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="grdStocuri.Ccgest.Text1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="grdStocuri.Cpretd.Header1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="grdStocuri.Cpretd.Text1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="grdStocuri.Cdatain.Header1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="grdStocuri.Cdatain.Text1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="grdStocuri.Cdataout.Header1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="grdStocuri.Cdataout.Text1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="grdStocuri.cdatapif.Header1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="grdStocuri.cdatapif.Text1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="grdStocuri.c_dns_luni.Header1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="grdStocuri.c_dns_luni.Text1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="grdStocuri.cresp.Header1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="grdStocuri.cresp.Text1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="grdStocuri.cMeserie.Header1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="grdStocuri.cMeserie.Text1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="grdStocuri.cFormatia.Header1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="grdStocuri.cFormatia.Text1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="grdStocuri.cDataAng.Header1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="grdStocuri.cDataAng.Text1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="grdStocuri.cDataLic.Header1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="grdStocuri.cDataLic.Text1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="grdStocuri.cDNF.Header1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="grdStocuri.cDNF.Text1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="grdStocuri.cDataExpirare.Header1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="grdStocuri.cDataExpirare.Text1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="grdStocuri.cGrupa.Header1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="grdStocuri.cGrupa.Text1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="grdStocuri.cSubgrupa.Header1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="grdStocuri.cSubgrupa.Text1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="grdStocuri.Column27.Header1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="grdStocuri.Column27.Text1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="grdStocuri.Column28.Header1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="grdStocuri.Column28.Text1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="grdStocuri.cSerie.Header1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="grdStocuri.cSerie.Text1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="grdStocuri.cSucursala.Header1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="grdStocuri.cSucursala.Text1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="grdStocuri.cFurn_princ.Header1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="grdStocuri.cFurn_princ.Text1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="grdStocuri.cCodNC8.Header1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="grdStocuri.cCodNC8.Text1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="grdStocuri.cGreutate.Header1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="grdStocuri.cGreutate.Text1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="grdStocuri.cTaraOrigine.Header1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="grdStocuri.cTaraOrigine.Text1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="grdStocuri.cMarca.Header1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="grdStocuri.cMarca.Text1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="grdStocuri.cLot.Header1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="grdStocuri.cLot.Text1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="shp_total" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="Text1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="Text2" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="Text3" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="Text4" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="lbl1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="lbl2" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="lbl4" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="lbl3" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="But_modifica1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="But_start_criterii1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="But_reset_criterii1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="Gridextra1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="Lb_shortcuts1" UniqueID="" Timestamp="" /> + + * + *m: butappend + *m: calcul_sume + *m: do_listare_articole + *m: do_listare_borderou + *m: do_listare_selectie + *m: initializare + *p: cfiltruinitial + *p: cnewvalue + *p: coldvalue + *p: data_ref + *p: lmodificare_totaluri + *p: lmodificata + *p: ngridheight + *p: ntipgest + *p: vstoc_final + *p: vstoc_finalv + *p: vstoc_final_tot + *p: vstoc_in + *p: vstoc_inv + *p: vstoc_in_tot + *p: vstoc_out + *p: vstoc_outv + *p: vstoc_out_tot + *p: vstoc_prec + *p: vstoc_precv + *p: vstoc_prec_tot + * + + * + cbuton2 = but_listare1;but_listare2 + cgridsortlist = grdStocuri + cnewvalue = .F. + coldvalue = .F. + data_ref = {} + DoCreate = .T. + FontName = "Arial Narrow" + Height = 430 + lmodificare_totaluri = .F. + lmodificata = .F. + Name = "frm_stocuri_obinv" + ngridheight = 0 + ntipgest = 0 + vstoc_final = 0 + vstoc_finalv = 0 + vstoc_final_tot = 0 + vstoc_in = 0 + vstoc_inv = 0 + vstoc_in_tot = 0 + vstoc_out = 0 + vstoc_outv = 0 + vstoc_out_tot = 0 + vstoc_prec = 0 + vstoc_precv = 0 + vstoc_prec_tot = 0 + Width = 770 + WindowState = 2 + _shape1.Anchor = 10 + _shape1.Height = 29 + _shape1.Left = 0 + _shape1.Name = "_shape1" + _shape1.Tag = "RESIZABLE,NOVERTICAL_RESIZE" + _shape1.Top = 0 + _shape1.Width = 770 + _shape1.ZOrderSet = 2 + _shape2.Height = 28 + _shape2.Left = 533 + _shape2.Name = "_shape2" + _shape2.Tag = "MOVABLE,NOVERTICAL_MOVE" + _shape2.Top = 0 + _shape2.Width = 208 + _shape2.ZOrderSet = 3 + Lb_titlu_alb_b121.Caption = "STOCURI" + Lb_titlu_alb_b121.FontBold = .T. + Lb_titlu_alb_b121.Left = 6 + Lb_titlu_alb_b121.Name = "Lb_titlu_alb_b121" + Lb_titlu_alb_b121.TabIndex = 39 + Lb_titlu_alb_b121.Top = 1 + Lb_titlu_alb_b121.ZOrderSet = 4 + BUT_TERMIN1.Anchor = 9 + BUT_TERMIN1.Height = 26 + BUT_TERMIN1.Left = 741 + BUT_TERMIN1.Name = "BUT_TERMIN1" + BUT_TERMIN1.TabIndex = 25 + BUT_TERMIN1.Tag = "MOVABLE,NOVERTICAL_MOVE" + BUT_TERMIN1.ToolTipText = "Terminare" + BUT_TERMIN1.Top = 1 + BUT_TERMIN1.Width = 30 + BUT_TERMIN1.ZOrderSet = 5 + Gridsort1.Name = "Gridsort1" + * + + ADD OBJECT 'But_excel1' AS but_excel WITH ; + Anchor = 9, ; + Height = 26, ; + Left = 679, ; + Name = "But_excel1", ; + TabIndex = 33, ; + Tag = "MOVABLE,NOVERTICAL_MOVE", ; + ToolTipText = "Exportare in Excel", ; + Top = 1, ; + Width = 30, ; + ZOrderSet = 6 + *< END OBJECT: ClassLib="cmd_butoane.vcx" BaseClass="commandbutton" /> + + ADD OBJECT 'But_listare2' AS but_listare WITH ; + Anchor = 9, ; + Height = 26, ; + Left = 708, ; + Name = "But_listare2", ; + TabIndex = 27, ; + Tag = "MOVABLE,NOVERTICAL_MOVE", ; + ToolTipText = "Listare selectie", ; + Top = 1, ; + Width = 30, ; + ZOrderSet = 9 + *< END OBJECT: ClassLib="cmd_butoane.vcx" BaseClass="commandbutton" /> + + ADD OBJECT 'But_modifica1' AS but_modifica WITH ; + Anchor = 9, ; + caction = butappend, ; + Height = 26, ; + Left = 621, ; + Name = "But_modifica1", ; + TabIndex = 29, ; + Tag = "MOVABLE,NOVERTICAL_MOVE", ; + Top = 1, ; + Width = 30, ; + ZOrderSet = 39 + *< END OBJECT: ClassLib="cmd_butoane.vcx" BaseClass="commandbutton" /> + + ADD OBJECT 'But_reface1' AS but_reface WITH ; + Anchor = 9, ; + Height = 26, ; + Left = 591, ; + Name = "But_reface1", ; + TabIndex = 30, ; + Tag = "MOVABLE,NOVERTICAL_MOVE", ; + Top = 1, ; + Width = 30, ; + ZOrderSet = 38 + *< END OBJECT: ClassLib="cmd_butoane.vcx" BaseClass="commandbutton" /> + + ADD OBJECT 'But_reset_criterii1' AS but_reset_criterii WITH ; + Anchor = 9, ; + Left = 510, ; + Name = "But_reset_criterii1", ; + Top = 1, ; + Visible = .T. + *< END OBJECT: ClassLib="ocriterii.vcx" BaseClass="commandbutton" /> + + ADD OBJECT 'But_start_criterii1' AS but_start_criterii WITH ; + Anchor = 9, ; + Comment = "*:OnResize=RT", ; + Left = 539, ; + Name = "But_start_criterii1", ; + Top = 1 + *< END OBJECT: ClassLib="ocriterii.vcx" BaseClass="commandbutton" /> + + ADD OBJECT 'But_verifica1' AS but_verifica WITH ; + Anchor = 9, ; + Height = 26, ; + Left = 649, ; + Name = "But_verifica1", ; + SpecialEffect = 1, ; + TabIndex = 28, ; + Tag = "MOVABLE,NOVERTICAL_MOVE", ; + Top = 1, ; + Width = 30, ; + ZOrderSet = 8 + *< END OBJECT: ClassLib="cmd_butoane.vcx" BaseClass="commandbutton" /> + + ADD OBJECT 'grdStocuri' AS _grdrow WITH ; + Anchor = 15, ; + ColumnCount = 36, ; + DeleteMark = .F., ; + Height = 335, ; + Left = 1, ; + Name = "grdStocuri", ; + Panel = 1, ; + RecordSource = "crsStocuri", ; + RowHeight = 19, ; + TabIndex = 32, ; + Tag = "RESIZABLE", ; + Top = 88, ; + Width = 767, ; + ZOrderSet = 12, ; + Column1.ColumnOrder = 1, ; + Column1.ControlSource = "nr_crt", ; + Column1.FontName = "Arial", ; + Column1.FontSize = 10, ; + Column1.Name = "Cnr_crt", ; + Column1.ReadOnly = .T., ; + Column1.Width = 23, ; + Column2.ColumnOrder = 8, ; + Column2.ControlSource = "codmat", ; + Column2.FontName = "Arial", ; + Column2.FontSize = 10, ; + Column2.Name = "Ccodmat", ; + Column2.ReadOnly = .T., ; + Column2.Width = 60, ; + Column3.ColumnOrder = 9, ; + Column3.ControlSource = "denumire", ; + Column3.FontName = "Arial", ; + Column3.FontSize = 10, ; + Column3.Name = "Cdenumire", ; + Column3.ReadOnly = .T., ; + Column3.Width = 135, ; + Column4.ColumnOrder = 12, ; + Column4.ControlSource = "um", ; + Column4.FontName = "Arial", ; + Column4.FontSize = 10, ; + Column4.Name = "Cum", ; + Column4.ReadOnly = .T., ; + Column4.Width = 39, ; + Column5.ColumnOrder = 15, ; + Column5.ControlSource = "pret", ; + Column5.DynamicBackColor = "iif(this.readonly,RGB(255,255,255),RGB(252,255,183))", ; + Column5.FontName = "Arial", ; + Column5.FontSize = 10, ; + Column5.Format = "r", ; + Column5.InputMask = (get_mask(16,gnPPRET)), ; + Column5.Name = "Cpret", ; + Column5.ReadOnly = .T., ; + Column5.Width = 82, ; + Column6.ColumnOrder = 16, ; + Column6.ControlSource = "cants", ; + Column6.DynamicBackColor = "iif(this.readonly,RGB(255,255,255),RGB(252,255,183))", ; + Column6.FontName = "Arial", ; + Column6.FontSize = 10, ; + Column6.Format = "r", ; + Column6.InputMask = (get_mask(14,gnPCANT)), ; + Column6.Name = "Ccants", ; + Column6.ReadOnly = .T., ; + Column6.Width = 53, ; + Column7.ColumnOrder = 17, ; + Column7.ControlSource = "cant", ; + Column7.DynamicBackColor = "iif(this.readonly,RGB(255,255,255),RGB(252,255,183))", ; + Column7.FontName = "Arial", ; + Column7.FontSize = 10, ; + Column7.Format = "r", ; + Column7.InputMask = (get_mask(14,gnPCANT)), ; + Column7.Name = "Ccant", ; + Column7.ReadOnly = .T., ; + Column7.Width = 48, ; + Column8.ColumnOrder = 18, ; + Column8.ControlSource = "cante", ; + Column8.DynamicBackColor = "iif(this.readonly,RGB(255,255,255),RGB(252,255,183))", ; + Column8.FontName = "Arial", ; + Column8.FontSize = 10, ; + Column8.Format = "r", ; + Column8.InputMask = (get_mask(14,gnPCANT)), ; + Column8.Name = "Ccante", ; + Column8.ReadOnly = .T., ; + Column8.Width = 45, ; + Column9.ColumnOrder = 19, ; + Column9.ControlSource = "cants+cant-cante", ; + Column9.FontName = "Arial", ; + Column9.FontSize = 10, ; + Column9.Format = "r", ; + Column9.InputMask = (get_mask(16,gnPCANT)), ; + Column9.Name = "Cstoc", ; + Column9.ReadOnly = .T., ; + Column9.Width = 50, ; + Column10.ColumnOrder = 20, ; + Column10.ControlSource = "cont", ; + Column10.FontName = "Arial", ; + Column10.FontSize = 10, ; + Column10.Name = "Ccont", ; + Column10.ReadOnly = .T., ; + Column10.Width = 36, ; + Column11.ColumnOrder = 21, ; + Column11.ControlSource = "acont", ; + Column11.FontName = "Arial", ; + Column11.FontSize = 10, ; + Column11.Name = "Cacont", ; + Column11.ReadOnly = .T., ; + Column11.Width = 37, ; + Column12.ColumnOrder = 22, ; + Column12.ControlSource = "cgest", ; + Column12.FontName = "Arial", ; + Column12.FontSize = 10, ; + Column12.Name = "Ccgest", ; + Column12.ReadOnly = .T., ; + Column12.Width = 40, ; + Column13.ColumnOrder = 23, ; + Column13.ControlSource = "pretd", ; + Column13.DynamicBackColor = "iif(this.readonly,RGB(255,255,255),RGB(252,255,183))", ; + Column13.FontName = "Arial", ; + Column13.FontSize = 10, ; + Column13.Format = "r", ; + Column13.InputMask = (get_mask(16,gnPPretVAL)), ; + Column13.Name = "Cpretd", ; + Column13.ReadOnly = .T., ; + Column13.Width = 56, ; + Column14.ColumnOrder = 24, ; + Column14.ControlSource = "datain", ; + Column14.DynamicBackColor = "iif(this.readonly,RGB(255,255,255),RGB(252,255,183))", ; + Column14.FontName = "Arial", ; + Column14.FontSize = 10, ; + Column14.Name = "Cdatain", ; + Column14.ReadOnly = .T., ; + Column14.Width = 66, ; + Column15.ColumnOrder = 25, ; + Column15.ControlSource = "dataout", ; + Column15.DynamicBackColor = "iif(this.readonly,RGB(255,255,255),RGB(252,255,183))", ; + Column15.FontName = "Arial", ; + Column15.FontSize = 10, ; + Column15.Name = "Cdataout", ; + Column15.ReadOnly = .T., ; + Column15.Width = 75, ; + Column16.ColumnOrder = 26, ; + Column16.ControlSource = "datapif", ; + Column16.DynamicBackColor = "iif(this.readonly,RGB(255,255,255),RGB(252,255,183))", ; + Column16.FontName = "Arial", ; + Column16.FontSize = 10, ; + Column16.Name = "cdatapif", ; + Column16.ReadOnly = .T., ; + Column17.ColumnOrder = 28, ; + Column17.ControlSource = "dns_luni", ; + Column17.DynamicBackColor = "iif(this.readonly,RGB(255,255,255),RGB(252,255,183))", ; + Column17.FontName = "Arial", ; + Column17.FontSize = 10, ; + Column17.Name = "c_dns_luni", ; + Column17.ReadOnly = .T., ; + Column18.ColumnOrder = 2, ; + Column18.ControlSource = "nresp", ; + Column18.FontName = "Arial", ; + Column18.FontSize = 10, ; + Column18.Name = "cresp", ; + Column18.ReadOnly = .T., ; + Column18.Width = 114, ; + Column19.ColumnOrder = 4, ; + Column19.ControlSource = "meserie", ; + Column19.FontName = "Arial", ; + Column19.FontSize = 10, ; + Column19.Name = "cMeserie", ; + Column20.ColumnOrder = 5, ; + Column20.ControlSource = "formatia", ; + Column20.FontName = "Arial", ; + Column20.FontSize = 10, ; + Column20.Name = "cFormatia", ; + Column21.ColumnOrder = 6, ; + Column21.ControlSource = "dataang", ; + Column21.FontName = "Arial", ; + Column21.FontSize = 10, ; + Column21.Name = "cDataAng", ; + Column22.ColumnOrder = 7, ; + Column22.ControlSource = "datalic", ; + Column22.FontName = "Arial", ; + Column22.FontSize = 10, ; + Column22.Name = "cDataLic", ; + Column23.ColumnOrder = 27, ; + Column23.ControlSource = "dnf", ; + Column23.FontName = "Arial", ; + Column23.FontSize = 10, ; + Column23.Name = "cDNF", ; + Column24.ColumnOrder = 29, ; + Column24.ControlSource = "gomonth(datapif,dns_luni)", ; + Column24.FontName = "Arial", ; + Column24.FontSize = 10, ; + Column24.Name = "cDataExpirare", ; + Column25.ColumnOrder = 30, ; + Column25.ControlSource = "grupa", ; + Column25.FontName = "Arial", ; + Column25.FontSize = 10, ; + Column25.Name = "cGrupa", ; + Column26.ColumnOrder = 31, ; + Column26.ControlSource = "subgrupa", ; + Column26.FontName = "Arial", ; + Column26.FontSize = 10, ; + Column26.Name = "cSubgrupa", ; + Column27.ColumnOrder = 13, ; + Column27.ControlSource = "um2", ; + Column27.FontName = "Arial", ; + Column27.FontSize = 10, ; + Column27.Name = "Column27", ; + Column27.Width = 40, ; + Column28.ColumnOrder = 14, ; + Column28.ControlSource = "cant_bax", ; + Column28.FontName = "Arial", ; + Column28.FontSize = 10, ; + Column28.Name = "Column28", ; + Column28.Width = 40, ; + Column29.ColumnOrder = 10, ; + Column29.ControlSource = "serie", ; + Column29.FontName = "Arial", ; + Column29.FontSize = 10, ; + Column29.Name = "cSerie", ; + Column29.ReadOnly = .T., ; + Column30.ColumnOrder = 32, ; + Column30.ControlSource = "sucursala", ; + Column30.FontName = "Arial", ; + Column30.FontSize = 10, ; + Column30.Name = "cSucursala", ; + Column30.ReadOnly = .T., ; + Column31.ColumnOrder = 33, ; + Column31.ControlSource = "furn_princ", ; + Column31.FontName = "Arial", ; + Column31.FontSize = 10, ; + Column31.Name = "cFurn_princ", ; + Column31.Width = 127, ; + Column32.ColumnOrder = 34, ; + Column32.ControlSource = "codnc8", ; + Column32.Name = "cCodNC8", ; + Column32.ReadOnly = .T., ; + Column32.Width = 152, ; + Column33.ColumnOrder = 35, ; + Column33.ControlSource = "greutate", ; + Column33.Name = "cGreutate", ; + Column33.ReadOnly = .T., ; + Column34.ColumnOrder = 36, ; + Column34.ControlSource = "tara_origine", ; + Column34.Name = "cTaraOrigine", ; + Column34.ReadOnly = .T., ; + Column34.Width = 152, ; + Column35.ColumnOrder = 3, ; + Column35.ControlSource = "marca", ; + Column35.Name = "cMarca", ; + Column35.ReadOnly = .T., ; + Column35.Width = 54, ; + Column36.ColumnOrder = 11, ; + Column36.ControlSource = "lot", ; + Column36.Name = "cLot", ; + Column36.ReadOnly = .T. + *< END OBJECT: ClassLib="_grd_base.vcx" BaseClass="grid" /> + + ADD OBJECT 'grdStocuri.c_dns_luni.Header1' AS header WITH ; + Alignment = 2, ; + Caption = "Durata ramasa", ; + FontName = "Arial", ; + FontSize = 10, ; + Name = "Header1" + *< END OBJECT: BaseClass="header" /> + + ADD OBJECT 'grdStocuri.c_dns_luni.Text1' AS textbox WITH ; + BackColor = 255,255,255, ; + BorderStyle = 0, ; + FontName = "Arial", ; + FontSize = 10, ; + ForeColor = 0,0,0, ; + Margin = 0, ; + Name = "Text1", ; + ReadOnly = .T., ; + SelectedBackColor = 100,185,255 + *< END OBJECT: BaseClass="textbox" /> + + ADD OBJECT 'grdStocuri.Cacont.Header1' AS header WITH ; + Alignment = 2, ; + Caption = "Analitic", ; + FontName = "Arial", ; + FontSize = 10, ; + Name = "Header1" + *< END OBJECT: BaseClass="header" /> + + ADD OBJECT 'grdStocuri.Cacont.Text1' AS textbox WITH ; + BackColor = 255,255,255, ; + BorderStyle = 0, ; + FontName = "Arial", ; + FontSize = 10, ; + ForeColor = 0,0,0, ; + Margin = 0, ; + Name = "Text1", ; + ReadOnly = .T., ; + SelectedBackColor = 100,185,255 + *< END OBJECT: BaseClass="textbox" /> + + ADD OBJECT 'grdStocuri.Ccant.Header1' AS header WITH ; + Alignment = 2, ; + Caption = "Intrari", ; + FontName = "Arial", ; + FontSize = 10, ; + Name = "Header1" + *< END OBJECT: BaseClass="header" /> + + ADD OBJECT 'grdStocuri.Ccant.Text1' AS textbox WITH ; + BackColor = 255,255,255, ; + BorderStyle = 0, ; + FontName = "Arial", ; + FontSize = 10, ; + ForeColor = 0,0,0, ; + Margin = 0, ; + Name = "Text1", ; + ReadOnly = .T., ; + SelectedBackColor = 100,185,255 + *< END OBJECT: BaseClass="textbox" /> + + ADD OBJECT 'grdStocuri.Ccante.Header1' AS header WITH ; + Alignment = 2, ; + Caption = "Iesiri", ; + FontName = "Arial", ; + FontSize = 10, ; + Name = "Header1" + *< END OBJECT: BaseClass="header" /> + + ADD OBJECT 'grdStocuri.Ccante.Text1' AS textbox WITH ; + BackColor = 255,255,255, ; + BorderStyle = 0, ; + FontName = "Arial", ; + FontSize = 10, ; + ForeColor = 0,0,0, ; + Margin = 0, ; + Name = "Text1", ; + ReadOnly = .T., ; + SelectedBackColor = 100,185,255 + *< END OBJECT: BaseClass="textbox" /> + + ADD OBJECT 'grdStocuri.Ccants.Header1' AS header WITH ; + Alignment = 2, ; + Caption = "Stoc prec", ; + FontName = "Arial", ; + FontSize = 10, ; + Name = "Header1" + *< END OBJECT: BaseClass="header" /> + + ADD OBJECT 'grdStocuri.Ccants.Text1' AS textbox WITH ; + BackColor = 255,255,255, ; + BorderStyle = 0, ; + FontName = "Arial", ; + FontSize = 10, ; + ForeColor = 0,0,0, ; + Margin = 0, ; + Name = "Text1", ; + ReadOnly = .T., ; + SelectedBackColor = 100,185,255 + *< END OBJECT: BaseClass="textbox" /> + + ADD OBJECT 'grdStocuri.Ccgest.Header1' AS header WITH ; + Alignment = 2, ; + Caption = "Gestiune", ; + FontName = "Arial", ; + FontSize = 10, ; + Name = "Header1" + *< END OBJECT: BaseClass="header" /> + + ADD OBJECT 'grdStocuri.Ccgest.Text1' AS textbox WITH ; + BackColor = 255,255,255, ; + BorderStyle = 0, ; + FontName = "Arial", ; + FontSize = 10, ; + ForeColor = 0,0,0, ; + Margin = 0, ; + Name = "Text1", ; + ReadOnly = .T., ; + SelectedBackColor = 100,185,255 + *< END OBJECT: BaseClass="textbox" /> + + ADD OBJECT 'grdStocuri.Ccodmat.Header1' AS header WITH ; + Alignment = 2, ; + Caption = "Cod. Mat.", ; + FontName = "Arial", ; + FontSize = 10, ; + Name = "Header1" + *< END OBJECT: BaseClass="header" /> + + ADD OBJECT 'grdStocuri.Ccodmat.Text1' AS textbox WITH ; + BackColor = 255,255,255, ; + BorderStyle = 0, ; + FontName = "Arial", ; + FontSize = 10, ; + ForeColor = 0,0,0, ; + Margin = 0, ; + Name = "Text1", ; + ReadOnly = .T., ; + SelectedBackColor = 100,185,255 + *< END OBJECT: BaseClass="textbox" /> + + ADD OBJECT 'grdStocuri.cCodNC8.Header1' AS header WITH ; + Alignment = 2, ; + Caption = "Cod NC8", ; + Name = "Header1" + *< END OBJECT: BaseClass="header" /> + + ADD OBJECT 'grdStocuri.cCodNC8.Text1' AS textbox WITH ; + BackColor = 255,255,255, ; + BorderStyle = 0, ; + ForeColor = 0,0,0, ; + Margin = 0, ; + Name = "Text1", ; + ReadOnly = .T., ; + SelectedBackColor = 100,185,255 + *< END OBJECT: BaseClass="textbox" /> + + ADD OBJECT 'grdStocuri.Ccont.Header1' AS header WITH ; + Alignment = 2, ; + Caption = "Cont", ; + FontName = "Arial", ; + FontSize = 10, ; + Name = "Header1" + *< END OBJECT: BaseClass="header" /> + + ADD OBJECT 'grdStocuri.Ccont.Text1' AS textbox WITH ; + BackColor = 255,255,255, ; + BorderStyle = 0, ; + FontName = "Arial", ; + FontSize = 10, ; + ForeColor = 0,0,0, ; + Margin = 0, ; + Name = "Text1", ; + ReadOnly = .T., ; + SelectedBackColor = 100,185,255 + *< END OBJECT: BaseClass="textbox" /> + + ADD OBJECT 'grdStocuri.cDataAng.Header1' AS header WITH ; + Alignment = 2, ; + Caption = "Data angajarii", ; + FontName = "Arial", ; + FontSize = 10, ; + Name = "Header1" + *< END OBJECT: BaseClass="header" /> + + ADD OBJECT 'grdStocuri.cDataAng.Text1' AS textbox WITH ; + BackColor = 255,255,255, ; + BorderStyle = 0, ; + FontName = "Arial", ; + FontSize = 10, ; + ForeColor = 0,0,0, ; + Margin = 0, ; + Name = "Text1", ; + SelectedBackColor = 100,185,255 + *< END OBJECT: BaseClass="textbox" /> + + ADD OBJECT 'grdStocuri.cDataExpirare.Header1' AS header WITH ; + Alignment = 2, ; + Caption = "Data expirare", ; + FontName = "Arial", ; + FontSize = 10, ; + Name = "Header1" + *< END OBJECT: BaseClass="header" /> + + ADD OBJECT 'grdStocuri.cDataExpirare.Text1' AS textbox WITH ; + BackColor = 255,255,255, ; + BorderStyle = 0, ; + FontName = "Arial", ; + FontSize = 10, ; + ForeColor = 0,0,0, ; + Margin = 0, ; + Name = "Text1", ; + SelectedBackColor = 100,185,255 + *< END OBJECT: BaseClass="textbox" /> + + ADD OBJECT 'grdStocuri.Cdatain.Header1' AS header WITH ; + Alignment = 2, ; + Caption = "Data intrarii", ; + FontName = "Arial", ; + FontSize = 10, ; + Name = "Header1" + *< END OBJECT: BaseClass="header" /> + + ADD OBJECT 'grdStocuri.Cdatain.Text1' AS textbox WITH ; + BackColor = 255,255,255, ; + BorderStyle = 0, ; + FontName = "Arial", ; + FontSize = 10, ; + ForeColor = 0,0,0, ; + Margin = 0, ; + Name = "Text1", ; + ReadOnly = .T., ; + SelectedBackColor = 100,185,255 + *< END OBJECT: BaseClass="textbox" /> + + ADD OBJECT 'grdStocuri.cDataLic.Header1' AS header WITH ; + Alignment = 2, ; + Caption = "Data plecarii", ; + FontName = "Arial", ; + FontSize = 10, ; + Name = "Header1" + *< END OBJECT: BaseClass="header" /> + + ADD OBJECT 'grdStocuri.cDataLic.Text1' AS textbox WITH ; + BackColor = 255,255,255, ; + BorderStyle = 0, ; + FontName = "Arial", ; + FontSize = 10, ; + ForeColor = 0,0,0, ; + Margin = 0, ; + Name = "Text1", ; + SelectedBackColor = 100,185,255 + *< END OBJECT: BaseClass="textbox" /> + + ADD OBJECT 'grdStocuri.Cdataout.Header1' AS header WITH ; + Alignment = 2, ; + Caption = "Data ultimei iesiri", ; + FontName = "Arial", ; + FontSize = 10, ; + Name = "Header1" + *< END OBJECT: BaseClass="header" /> + + ADD OBJECT 'grdStocuri.Cdataout.Text1' AS textbox WITH ; + BackColor = 255,255,255, ; + BorderStyle = 0, ; + FontName = "Arial", ; + FontSize = 10, ; + ForeColor = 0,0,0, ; + Margin = 0, ; + Name = "Text1", ; + ReadOnly = .T., ; + SelectedBackColor = 100,185,255 + *< END OBJECT: BaseClass="textbox" /> + + ADD OBJECT 'grdStocuri.cdatapif.Header1' AS header WITH ; + Alignment = 2, ; + Caption = "Data PIF", ; + FontName = "Arial", ; + FontSize = 10, ; + Name = "Header1" + *< END OBJECT: BaseClass="header" /> + + ADD OBJECT 'grdStocuri.cdatapif.Text1' AS textbox WITH ; + BackColor = 255,255,255, ; + BorderStyle = 0, ; + FontName = "Arial", ; + FontSize = 10, ; + ForeColor = 0,0,0, ; + Margin = 0, ; + Name = "Text1", ; + ReadOnly = .T., ; + SelectedBackColor = 100,185,255 + *< END OBJECT: BaseClass="textbox" /> + + ADD OBJECT 'grdStocuri.Cdenumire.Header1' AS header WITH ; + Alignment = 2, ; + Caption = "Denumire", ; + FontName = "Arial", ; + FontSize = 10, ; + Name = "Header1" + *< END OBJECT: BaseClass="header" /> + + ADD OBJECT 'grdStocuri.Cdenumire.Text1' AS textbox WITH ; + BackColor = 255,255,255, ; + BorderStyle = 0, ; + FontName = "Arial", ; + FontSize = 10, ; + ForeColor = 0,0,0, ; + Margin = 0, ; + Name = "Text1", ; + ReadOnly = .T., ; + SelectedBackColor = 100,185,255 + *< END OBJECT: BaseClass="textbox" /> + + ADD OBJECT 'grdStocuri.cDNF.Header1' AS header WITH ; + Alignment = 2, ; + Caption = "DNF", ; + FontName = "Arial", ; + FontSize = 10, ; + Name = "Header1" + *< END OBJECT: BaseClass="header" /> + + ADD OBJECT 'grdStocuri.cDNF.Text1' AS textbox WITH ; + BackColor = 255,255,255, ; + BorderStyle = 0, ; + FontName = "Arial", ; + FontSize = 10, ; + ForeColor = 0,0,0, ; + Margin = 0, ; + Name = "Text1", ; + SelectedBackColor = 100,185,255 + *< END OBJECT: BaseClass="textbox" /> + + ADD OBJECT 'grdStocuri.cFormatia.Header1' AS header WITH ; + Alignment = 2, ; + Caption = "Formatie", ; + FontName = "Arial", ; + FontSize = 10, ; + Name = "Header1" + *< END OBJECT: BaseClass="header" /> + + ADD OBJECT 'grdStocuri.cFormatia.Text1' AS textbox WITH ; + BackColor = 255,255,255, ; + BorderStyle = 0, ; + FontName = "Arial", ; + FontSize = 10, ; + ForeColor = 0,0,0, ; + Margin = 0, ; + Name = "Text1", ; + SelectedBackColor = 100,185,255 + *< END OBJECT: BaseClass="textbox" /> + + ADD OBJECT 'grdStocuri.cFurn_princ.Header1' AS header WITH ; + Alignment = 2, ; + Caption = "Furnizor principal", ; + FontName = "Arial", ; + FontSize = 10, ; + Name = "Header1" + *< END OBJECT: BaseClass="header" /> + + ADD OBJECT 'grdStocuri.cFurn_princ.Text1' AS textbox WITH ; + BackColor = 255,255,255, ; + BorderStyle = 0, ; + FontName = "Arial", ; + FontSize = 10, ; + ForeColor = 0,0,0, ; + Margin = 0, ; + Name = "Text1", ; + SelectedBackColor = 100,185,255 + *< END OBJECT: BaseClass="textbox" /> + + ADD OBJECT 'grdStocuri.cGreutate.Header1' AS header WITH ; + Alignment = 2, ; + Caption = "Greutate (Kg)", ; + Name = "Header1" + *< END OBJECT: BaseClass="header" /> + + ADD OBJECT 'grdStocuri.cGreutate.Text1' AS textbox WITH ; + BackColor = 255,255,255, ; + BorderStyle = 0, ; + ForeColor = 0,0,0, ; + Margin = 0, ; + Name = "Text1", ; + ReadOnly = .T., ; + SelectedBackColor = 100,185,255 + *< END OBJECT: BaseClass="textbox" /> + + ADD OBJECT 'grdStocuri.cGrupa.Header1' AS header WITH ; + Alignment = 2, ; + Caption = "Grupa articole", ; + FontName = "Arial", ; + FontSize = 10, ; + Name = "Header1" + *< END OBJECT: BaseClass="header" /> + + ADD OBJECT 'grdStocuri.cGrupa.Text1' AS textbox WITH ; + BackColor = 255,255,255, ; + BorderStyle = 0, ; + FontName = "Arial", ; + FontSize = 10, ; + ForeColor = 0,0,0, ; + Margin = 0, ; + Name = "Text1", ; + SelectedBackColor = 100,185,255 + *< END OBJECT: BaseClass="textbox" /> + + ADD OBJECT 'grdStocuri.cLot.Header1' AS header WITH ; + Alignment = 2, ; + Caption = "Lot", ; + Name = "Header1" + *< END OBJECT: BaseClass="header" /> + + ADD OBJECT 'grdStocuri.cLot.Text1' AS textbox WITH ; + BackColor = 255,255,255, ; + BorderStyle = 0, ; + ForeColor = 0,0,0, ; + Margin = 0, ; + Name = "Text1", ; + ReadOnly = .T., ; + SelectedBackColor = 100,185,255 + *< END OBJECT: BaseClass="textbox" /> + + ADD OBJECT 'grdStocuri.cMarca.Header1' AS header WITH ; + Alignment = 2, ; + Caption = "Marca", ; + Name = "Header1" + *< END OBJECT: BaseClass="header" /> + + ADD OBJECT 'grdStocuri.cMarca.Text1' AS textbox WITH ; + BackColor = 255,255,255, ; + BorderStyle = 0, ; + ForeColor = 0,0,0, ; + Margin = 0, ; + Name = "Text1", ; + ReadOnly = .T., ; + SelectedBackColor = 100,185,255 + *< END OBJECT: BaseClass="textbox" /> + + ADD OBJECT 'grdStocuri.cMeserie.Header1' AS header WITH ; + Alignment = 2, ; + Caption = "Meserie", ; + FontName = "Arial", ; + FontSize = 10, ; + Name = "Header1" + *< END OBJECT: BaseClass="header" /> + + ADD OBJECT 'grdStocuri.cMeserie.Text1' AS textbox WITH ; + BackColor = 255,255,255, ; + BorderStyle = 0, ; + FontName = "Arial", ; + FontSize = 10, ; + ForeColor = 0,0,0, ; + Margin = 0, ; + Name = "Text1", ; + SelectedBackColor = 100,185,255 + *< END OBJECT: BaseClass="textbox" /> + + ADD OBJECT 'grdStocuri.Cnr_crt.Header1' AS header WITH ; + Alignment = 2, ; + Caption = "Nr.", ; + FontName = "Arial", ; + FontSize = 10, ; + Name = "Header1" + *< END OBJECT: BaseClass="header" /> + + ADD OBJECT 'grdStocuri.Cnr_crt.Text1' AS textbox WITH ; + BackColor = 255,255,255, ; + BorderStyle = 0, ; + FontName = "Arial", ; + FontSize = 10, ; + ForeColor = 0,0,0, ; + Margin = 0, ; + Name = "Text1", ; + ReadOnly = .T., ; + SelectedBackColor = 100,185,255, ; + Visible = .T. + *< END OBJECT: BaseClass="textbox" /> + + ADD OBJECT 'grdStocuri.Column27.Header1' AS header WITH ; + Alignment = 2, ; + Caption = "Um2", ; + FontName = "Arial", ; + FontSize = 10, ; + Name = "Header1" + *< END OBJECT: BaseClass="header" /> + + ADD OBJECT 'grdStocuri.Column27.Text1' AS textbox WITH ; + BackColor = 255,255,255, ; + BorderStyle = 0, ; + FontName = "Arial", ; + FontSize = 10, ; + ForeColor = 0,0,0, ; + Margin = 0, ; + Name = "Text1", ; + SelectedBackColor = 100,185,255 + *< END OBJECT: BaseClass="textbox" /> + + ADD OBJECT 'grdStocuri.Column28.Header1' AS header WITH ; + Alignment = 2, ; + Caption = "Cant2", ; + FontName = "Arial", ; + FontSize = 10, ; + Name = "Header1" + *< END OBJECT: BaseClass="header" /> + + ADD OBJECT 'grdStocuri.Column28.Text1' AS textbox WITH ; + BackColor = 255,255,255, ; + BorderStyle = 0, ; + FontName = "Arial", ; + FontSize = 10, ; + ForeColor = 0,0,0, ; + Margin = 0, ; + Name = "Text1", ; + SelectedBackColor = 100,185,255 + *< END OBJECT: BaseClass="textbox" /> + + ADD OBJECT 'grdStocuri.Cpret.Header1' AS header WITH ; + Alignment = 2, ; + Caption = "Pret achizitie", ; + FontName = "Arial", ; + FontSize = 10, ; + Name = "Header1" + *< END OBJECT: BaseClass="header" /> + + ADD OBJECT 'grdStocuri.Cpret.Text1' AS textbox WITH ; + BackColor = 255,255,255, ; + BorderStyle = 0, ; + FontName = "Arial", ; + FontSize = 10, ; + ForeColor = 0,0,0, ; + Margin = 0, ; + Name = "Text1", ; + ReadOnly = .T., ; + SelectedBackColor = 100,185,255 + *< END OBJECT: BaseClass="textbox" /> + + ADD OBJECT 'grdStocuri.Cpretd.Header1' AS header WITH ; + Alignment = 2, ; + Caption = "Pret valuta", ; + FontName = "Arial", ; + FontSize = 10, ; + Name = "Header1" + *< END OBJECT: BaseClass="header" /> + + ADD OBJECT 'grdStocuri.Cpretd.Text1' AS textbox WITH ; + BackColor = 255,255,255, ; + BorderStyle = 0, ; + FontName = "Arial", ; + FontSize = 10, ; + ForeColor = 0,0,0, ; + Margin = 0, ; + Name = "Text1", ; + ReadOnly = .T., ; + SelectedBackColor = 100,185,255 + *< END OBJECT: BaseClass="textbox" /> + + ADD OBJECT 'grdStocuri.cresp.Header1' AS header WITH ; + Alignment = 2, ; + Caption = "Responsabil", ; + FontName = "Arial", ; + FontSize = 10, ; + Name = "Header1" + *< END OBJECT: BaseClass="header" /> + + ADD OBJECT 'grdStocuri.cresp.Text1' AS textbox WITH ; + BackColor = 255,255,255, ; + BorderStyle = 0, ; + FontName = "Arial", ; + FontSize = 10, ; + ForeColor = 0,0,0, ; + Margin = 0, ; + Name = "Text1", ; + ReadOnly = .T., ; + SelectedBackColor = 100,185,255 + *< END OBJECT: BaseClass="textbox" /> + + ADD OBJECT 'grdStocuri.cSerie.Header1' AS header WITH ; + Alignment = 2, ; + Caption = "Serie", ; + FontName = "Arial", ; + FontSize = 10, ; + Name = "Header1" + *< END OBJECT: BaseClass="header" /> + + ADD OBJECT 'grdStocuri.cSerie.Text1' AS textbox WITH ; + BackColor = 255,255,255, ; + BorderStyle = 0, ; + FontName = "Arial", ; + FontSize = 10, ; + ForeColor = 0,0,0, ; + Margin = 0, ; + Name = "Text1", ; + ReadOnly = .T., ; + SelectedBackColor = 100,185,255 + *< END OBJECT: BaseClass="textbox" /> + + ADD OBJECT 'grdStocuri.Cstoc.Header1' AS header WITH ; + Alignment = 2, ; + Caption = "Stoc", ; + FontName = "Arial", ; + FontSize = 10, ; + Name = "Header1" + *< END OBJECT: BaseClass="header" /> + + ADD OBJECT 'grdStocuri.Cstoc.Text1' AS textbox WITH ; + BackColor = 255,255,255, ; + BorderStyle = 0, ; + FontName = "Arial", ; + FontSize = 10, ; + ForeColor = 0,0,0, ; + Margin = 0, ; + Name = "Text1", ; + ReadOnly = .T., ; + SelectedBackColor = 100,185,255 + *< END OBJECT: BaseClass="textbox" /> + + ADD OBJECT 'grdStocuri.cSubgrupa.Header1' AS header WITH ; + Alignment = 2, ; + Caption = "Subgrupa articole", ; + FontName = "Arial", ; + FontSize = 10, ; + Name = "Header1" + *< END OBJECT: BaseClass="header" /> + + ADD OBJECT 'grdStocuri.cSubgrupa.Text1' AS textbox WITH ; + BackColor = 255,255,255, ; + BorderStyle = 0, ; + FontName = "Arial", ; + FontSize = 10, ; + ForeColor = 0,0,0, ; + Margin = 0, ; + Name = "Text1", ; + SelectedBackColor = 100,185,255 + *< END OBJECT: BaseClass="textbox" /> + + ADD OBJECT 'grdStocuri.cSucursala.Header1' AS header WITH ; + Alignment = 2, ; + Caption = "Sucursala", ; + FontName = "Arial", ; + FontSize = 10, ; + Name = "Header1" + *< END OBJECT: BaseClass="header" /> + + ADD OBJECT 'grdStocuri.cSucursala.Text1' AS textbox WITH ; + BackColor = 255,255,255, ; + BorderStyle = 0, ; + FontName = "Arial", ; + FontSize = 10, ; + ForeColor = 0,0,0, ; + Margin = 0, ; + Name = "Text1", ; + ReadOnly = .T., ; + SelectedBackColor = 100,185,255 + *< END OBJECT: BaseClass="textbox" /> + + ADD OBJECT 'grdStocuri.cTaraOrigine.Header1' AS header WITH ; + Alignment = 2, ; + Caption = "Tara origine", ; + Name = "Header1" + *< END OBJECT: BaseClass="header" /> + + ADD OBJECT 'grdStocuri.cTaraOrigine.Text1' AS textbox WITH ; + BackColor = 255,255,255, ; + BorderStyle = 0, ; + ForeColor = 0,0,0, ; + Margin = 0, ; + Name = "Text1", ; + ReadOnly = .T., ; + SelectedBackColor = 100,185,255 + *< END OBJECT: BaseClass="textbox" /> + + ADD OBJECT 'grdStocuri.Cum.Header1' AS header WITH ; + Alignment = 2, ; + Caption = "UM", ; + FontName = "Arial", ; + FontSize = 10, ; + Name = "Header1" + *< END OBJECT: BaseClass="header" /> + + ADD OBJECT 'grdStocuri.Cum.Text1' AS textbox WITH ; + BackColor = 255,255,255, ; + BorderStyle = 0, ; + FontName = "Arial", ; + FontSize = 10, ; + ForeColor = 0,0,0, ; + Margin = 0, ; + Name = "Text1", ; + ReadOnly = .T., ; + SelectedBackColor = 100,185,255 + *< END OBJECT: BaseClass="textbox" /> + + ADD OBJECT 'Gridextra1' AS gridextra WITH ; + gridexpression = Thisform.grdStocuri, ; + Height = 17, ; + Left = 287, ; + Name = "Gridextra1", ; + Top = 45, ; + Width = 33 + *< END OBJECT: ClassLib="..\utile\gridextras\gridextras.vcx" BaseClass="custom" /> + + ADD OBJECT 'Lb_shortcuts1' AS lb_shortcuts WITH ; + Caption = "ESC = Renuntare; CTRL+Q = Cautare; CTRL+T = Resetare", ; + Left = 7, ; + Name = "Lb_shortcuts1", ; + Top = 16 + *< END OBJECT: ClassLib="lb.vcx" BaseClass="label" /> + + ADD OBJECT 'lbl1' AS _label WITH ; + Anchor = 8, ; + AutoSize = .F., ; + BackColor = 219,219,219, ; + BackStyle = 1, ; + BorderStyle = 1, ; + Caption = " Val. Stoc Precedent", ; + FontName = "Arial Narrow", ; + Height = 21, ; + Left = 344, ; + Name = "lbl1", ; + TabIndex = 40, ; + Top = 38, ; + Visible = .T., ; + Width = 108, ; + ZOrderSet = 18 + *< END OBJECT: ClassLib="_baza.vcx" BaseClass="label" /> + + ADD OBJECT 'lbl2' AS _label WITH ; + Anchor = 8, ; + AutoSize = .F., ; + BackColor = 219,219,219, ; + BackStyle = 1, ; + BorderStyle = 1, ; + Caption = " Val. Intrari", ; + FontName = "Arial Narrow", ; + Height = 21, ; + Left = 453, ; + Name = "lbl2", ; + TabIndex = 41, ; + Top = 38, ; + Visible = .T., ; + Width = 103, ; + ZOrderSet = 19 + *< END OBJECT: ClassLib="_baza.vcx" BaseClass="label" /> + + ADD OBJECT 'lbl3' AS _label WITH ; + Anchor = 8, ; + AutoSize = .F., ; + BackColor = 219,219,219, ; + BackStyle = 1, ; + BorderStyle = 1, ; + Caption = " Val. Iesiri", ; + FontName = "Arial Narrow", ; + Height = 21, ; + Left = 557, ; + Name = "lbl3", ; + TabIndex = 43, ; + Top = 38, ; + Visible = .T., ; + Width = 103, ; + ZOrderSet = 21 + *< END OBJECT: ClassLib="_baza.vcx" BaseClass="label" /> + + ADD OBJECT 'lbl4' AS _label WITH ; + Anchor = 8, ; + AutoSize = .F., ; + BackColor = 219,219,219, ; + BackStyle = 1, ; + BorderStyle = 1, ; + Caption = " Val. Stoc Final", ; + FontName = "Arial Narrow", ; + Height = 21, ; + Left = 661, ; + Name = "lbl4", ; + TabIndex = 42, ; + Top = 38, ; + Visible = .T., ; + Width = 103, ; + ZOrderSet = 20 + *< END OBJECT: ClassLib="_baza.vcx" BaseClass="label" /> + + ADD OBJECT 'lbl5' AS _label WITH ; + Anchor = 8, ; + AutoSize = .F., ; + BackColor = 219,219,219, ; + BackStyle = 1, ; + BorderStyle = 1, ; + Caption = " Preturi de achizitie fara TVA", ; + FontName = "Arial Narrow", ; + Height = 21, ; + Left = 187, ; + Name = "lbl5", ; + TabIndex = 31, ; + Top = 60, ; + Visible = .T., ; + Width = 149, ; + ZOrderSet = 26 + *< END OBJECT: ClassLib="_baza.vcx" BaseClass="label" /> + + ADD OBJECT 'optgrup' AS _optiongrup WITH ; + AutoSize = .F., ; + BackColor = 239,239,239, ; + BackStyle = 1, ; + ButtonCount = 3, ; + Height = 52, ; + Left = 1, ; + Name = "optgrup", ; + TabIndex = 34, ; + Top = 34, ; + Value = 1, ; + Width = 176, ; + ZOrderSet = 1, ; + Option1.AutoSize = .T., ; + Option1.Caption = "Gestiuni la pret de achizitie", ; + Option1.Height = 17, ; + Option1.Left = 5, ; + Option1.Name = "Option1", ; + Option1.Style = 0, ; + Option1.Top = 1, ; + Option1.Value = 1, ; + Option1.Width = 165, ; + Option2.AutoSize = .T., ; + Option2.Caption = "Gestiuni la pret de vanzare", ; + Option2.Height = 17, ; + Option2.Left = 5, ; + Option2.Name = "Option2", ; + Option2.Top = 16, ; + Option2.Value = 0, ; + Option2.Visible = .F., ; + Option2.Width = 163, ; + Option3.AutoSize = .T., ; + Option3.BackStyle = 0, ; + Option3.Caption = "Toate gestiunile", ; + Option3.Height = 17, ; + Option3.Left = 5, ; + Option3.Name = "Option3", ; + Option3.Top = 31, ; + Option3.Value = 0, ; + Option3.Visible = .F., ; + Option3.Width = 106 + *< END OBJECT: ClassLib="_baza.vcx" BaseClass="optiongroup" /> + + ADD OBJECT 'shp_total' AS shape WITH ; + Anchor = 10, ; + BackColor = 239,239,239, ; + BackStyle = 1, ; + Height = 52, ; + Left = 340, ; + Name = "shp_total", ; + SpecialEffect = 0, ; + Top = 34, ; + Width = 429, ; + ZOrderSet = 13 + *< END OBJECT: BaseClass="shape" /> + + ADD OBJECT 'Text1' AS _textbox WITH ; + Alignment = 1, ; + Anchor = 8, ; + BackStyle = 0, ; + ControlSource = "thisform.vstoc_prec", ; + FontName = "Arial Narrow", ; + FontSize = 9, ; + Format = "r", ; + Height = 21, ; + InputMask = (get_mask(14,gnPa)), ; + Left = 344, ; + Name = "Text1", ; + ReadOnly = .T., ; + SpecialEffect = 2, ; + TabIndex = 35, ; + Top = 60, ; + Visible = .T., ; + Width = 108, ; + ZOrderSet = 14 + *< END OBJECT: ClassLib="_baza.vcx" BaseClass="textbox" /> + + ADD OBJECT 'Text2' AS _textbox WITH ; + Alignment = 1, ; + Anchor = 8, ; + BackStyle = 0, ; + ControlSource = "thisform.vstoc_in", ; + FontName = "Arial Narrow", ; + Format = "r", ; + Height = 21, ; + InputMask = (get_mask(14,gnPa)), ; + Left = 453, ; + Name = "Text2", ; + ReadOnly = .T., ; + SpecialEffect = 2, ; + TabIndex = 36, ; + Top = 60, ; + Visible = .T., ; + Width = 103, ; + ZOrderSet = 15 + *< END OBJECT: ClassLib="_baza.vcx" BaseClass="textbox" /> + + ADD OBJECT 'Text3' AS _textbox WITH ; + Alignment = 1, ; + Anchor = 8, ; + BackStyle = 0, ; + ControlSource = "thisform.vstoc_out", ; + FontName = "Arial Narrow", ; + Format = "r", ; + Height = 21, ; + InputMask = (get_mask(14,gnPa)), ; + Left = 557, ; + Name = "Text3", ; + ReadOnly = .T., ; + SpecialEffect = 2, ; + TabIndex = 37, ; + Top = 60, ; + Visible = .T., ; + Width = 103, ; + ZOrderSet = 16 + *< END OBJECT: ClassLib="_baza.vcx" BaseClass="textbox" /> + + ADD OBJECT 'Text4' AS _textbox WITH ; + Alignment = 1, ; + Anchor = 8, ; + BackStyle = 0, ; + ControlSource = "thisform.vstoc_final", ; + FontName = "Arial Narrow", ; + Format = "r", ; + Height = 21, ; + InputMask = (get_mask(14,gnPa)), ; + Left = 661, ; + Name = "Text4", ; + ReadOnly = .T., ; + SpecialEffect = 2, ; + TabIndex = 38, ; + Top = 60, ; + Visible = .T., ; + Width = 103, ; + ZOrderSet = 17 + *< END OBJECT: ClassLib="_baza.vcx" BaseClass="textbox" /> + + PROCEDURE actualizeaza_grid1 + LPARAMETERS tcFiltru + LOCAL lcFiltru + IF EMPTY(tcFiltru) + lcFiltru = poStocuri.ca_baza1.cfiltru + ELSE + lcFiltru = tcFiltru + ENDIF + + save_grid_tag(This.grdStocuri) + poStocuri.ca_baza1.cfiltru=lcFiltru + poStocuri.ca_baza1.afisare() + restore_grid_tag(This.grdStocuri) + this.grdStocuri.refresh + + + ENDPROC + + PROCEDURE butappend + If glLunaInchisa + aMESSAGEBOX('Luna este inchisa!',0+48,"Atentie") + RETURN + ENDIF + + *RETURN + + Private lcText,lcFis,lnOpt + + + If Thisform.grdStocuri.ReadOnly + lcText=[\>.vgest_coresp_grupe_gestiuni c + *!* \ join (select id_grupe + *!* \ from <>.gest_nom_grupe + *!* \ where sters = 0 + *!* \ start with <> + *!* \ connect by prior id_grupe = parent_id) g on c.id_grupe = g.id_grupe ) + *!* SET TEXTMERGE TO + + *!* lcFiltru=lcFiltru + lcFiltruTempG + *!* ENDIF + + *!* IF THISFORM.ck_filtru_cont.VALUE=1 + *!* lcFiltru=lcFiltru+THISFORM.ck_filtru_cont.filtru + *!* ENDIF + + + *!* IF THISFORM.ck_filtru_acont.VALUE=1 + *!* lcFiltru=lcFiltru+THISFORM.ck_filtru_acont.filtru + *!* ENDIF + + *!* IF THISFORM.ck_filtru_respons.VALUE=1 + *!* lcFiltru=lcFiltru+THISFORM.ck_filtru_respons.filtru_ora + *!* ENDIF + + + *!* IF THISFORM.ck_filtru_datain.VALUE=1 + *!* lcFiltru=lcFiltru+THISFORM.ck_filtru_datain.filtru + *!* ENDIF + + *!* IF THISFORM.ck_filtru_dataout.VALUE=1 + *!* lcFiltru=lcFiltru+THISFORM.ck_filtru_dataout.filtru + *!* ENDIF + + *!* IF THISFORM.ck_filtru_pret.VALUE=1 + *!* lcFiltru=lcFiltru+THISFORM.ck_filtru_pret.filtru + *!* ENDIF + + *!* IF THISFORM.ck_filtru_datapif.VALUE=1 + *!* lcFiltru=lcFiltru+THISFORM.ck_filtru_datapif.filtru + *!* ENDIF + + *!* IF THISFORM.ck_filtru_stoc.VALUE=1 + *!* lcFiltru=lcFiltru+THISFORM.ck_filtru_stoc.filtru + *!* ENDIF + + *!* IF THISFORM.ck_stoc_negativ.VALUE = 1 + *!* lcFiltru = lcFiltru + [ AND a.cants+a.cant-a.cante<0] + *!* ENDIF + + *!* IF THISFORM.ck_cu_rulaj.VALUE = 1 + *!* lcFiltru = lcFiltru + [ AND (a.cant!=0 or a.cante!=0)] + *!* ENDIF + + *!* IF THISFORM.ck_fara_rulaj.VALUE = 1 + *!* lcFiltru = lcFiltru + [ AND (a.cant=0 and a.cante=0)] + *!* ENDIF + + *!* IF thisform.ck_filtru_meserie.Value=1 + *!* lcFiltru = lcFiltru + THISFORM.ck_filtru_meserie.filtru_ora + *!* ENDIF + + *!* IF thisform.ck_filtru_formatie.Value=1 + *!* lcFiltru = lcFiltru + THISFORM.ck_filtru_formatie.filtru_ora + *!* ENDIF + + *!* IF THISFORM.ck_filtru_dataang.VALUE=1 + *!* lcFiltru=lcFiltru+THISFORM.ck_filtru_dataang.filtru + *!* ENDIF + + *!* IF THISFORM.ck_filtru_datalic.VALUE=1 + *!* lcFiltru=lcFiltru+THISFORM.ck_filtru_datalic.filtru + *!* ENDIF + + *!* IF thisform.ck_filtru_gr.Value = 1 + *!* lcFiltru = lcFiltru + THISFORM.ck_filtru_gr.filtru_ora + *!* ENDIF + + *!* IF thisform.ck_filtru_sbgr.Value=1 + *!* lcFiltru = lcFiltru + THISFORM.ck_filtru_sbgr.filtru_ora + *!* ENDIF + + *!* IF THISFORM.optgrup.ENABLED = .T. + *!* DO CASE + *!* CASE THISFORM.optgrup.VALUE = 1 + *!* lcFiltru = lcFiltru + [ AND c.nr_pag<>6] + *!* CASE THISFORM.optgrup.VALUE = 2 + *!* lcFiltru = lcFiltru + [ AND c.nr_pag=6] + *!* ENDCASE + *!* ENDIF + + *!* IF !EMPTY(lcFiltru) + *!* lcFiltru = THIS.cfiltruinitial + lcFiltru + *!* ELSE + *!* lcFiltru = THIS.cfiltruinitial + *!* ENDIF + + + *!* THIS.MOUSEPOINTER= 11 + *!* THIS.LOCKSCREEN= .T. + *!* THIS.actualizeaza_grid1(lcFiltru) + *!* THIS.calcul_sume + *!* SELECT crsStocuri + *!* GO TOP + *!* IF RECCOUNT()=0 + *!* aMESSAGEBOX("Cautarea nu a intors rezultate!",0+64,"Info cautare") + *!* ELSE + *!* THISFORM.grdStocuri.SETFOCUS + *!* ENDIF + *!* THIS.LOCKSCREEN=.F. + *!* THIS.MOUSEPOINTER= 0 + + If Thisform.optgrup.Enabled = .T. + Do Case + Case Thisform.optgrup.Value = 1 + lcFiltru = lcFiltru + [ AND a.nr_pag<>6] + Case Thisform.optgrup.Value = 2 + lcFiltru = lcFiltru + [ AND a.nr_pag=6] + Endcase + Endif + + If !Empty(lcFiltru) + lcFiltru = This.cfiltruinitial + lcFiltru + Else + lcFiltru = This.cfiltruinitial + Endif + + && filtru pretty + IF LEN(THISFORM.filtru_pretty)>0 + filtrutext=THISFORM.filtru_pretty + lcFiltru=lcFiltru+" and ("+ALLTRIM(filtrutext)+")" + ENDIF + + IF THIS.filtru_pretty#"none" + THISFORM.actualizeaza_grid1(lcFiltru) + THIS.calcul_sume() + IF RECCOUNT('crsStocuri')=0 + aMessagebox("Cautarea nu a intors rezultate!",0+48,"Info cautare") + ENDIF + ENDIF + THISFORM.but_start_criterii1.SETFOCUS + + ENDPROC + + PROCEDURE do_excel + lnOption = xmenu('Export \ 0 + + lcFiltru = Filter(lcAlias) + If Empty(lcFiltru) + lcFiltru = '.T.' + Endif + + lcColumnList = '' + lcHeaderList = '' + lcSelect = '' + llSelect = .T. + lcType = 'CURSOR' + lcFrom = lcAlias + lcWhere = lcFiltru + lcOrder = 'nresp,codmat,denumire' + lcOutput = 'crsStoc' + + If Used(lcOutput) + Use In (lcOutput) + Endif + + get_schema_grid(This.grdStocuri,@lcColumnList, @lcHeaderList, @lcSelect, llSelect, lcType, lcFrom, lcWhere, lcOrder, lcOutput) + &lcSelect + + If Used(lcOutput) + Do export_xls With lcOutput In oproceduri_comune.prg + Use In (lcOutput) + Endif + + Else + amessagebox("Nu exista inregistrari pentru export in Excel!",48,"Atentie") + Endif + Else + lcAlias = This.grdStocuri.RecordSource + + If Reccount(lcAlias) > 0 + lcFile = Putfile('Salvati fisierul xml','stocuri_obiecte_inventar_folosinta_' + Alltrim(Str(m.gnAn)) + Padl(m.gnLuna,2,'0') + '.xml', 'XML') + If Empty(lcFile) + Return + Endif + + loExcelXML = Newobject("ExcelXML","excelxml.vcx") + TEXT TO lcProgresMethod + lparameters plnPercent + WAIT WINDOW 'Progres: ' + TRANSFORM(m.plnPercent) + '%' NOWAIT + + ENDTEXT + This.WriteMethod('Progress','Wait window ') + With loExcelXML + + .GridObject = This.grdStocuri + .HasFilter = .T. + .LockHeader = .T. + .SheetName = "Stocuri obiecte inventar in folosinta" + .OpenAfterSaving = .F. + + If .Save(m.lcFile) + Try + loExcel = Createobject("Excel.Application") + loExcel.Visible = .T. + loExcel.Workbooks.Open(m.lcFile) + Catch To loEx + amessagebox('Microsoft Excel nu este instalat! Lansati programul de foi de calcul si deschideti fisierul ' + m.lcFile,0+48,_Screen.Caption) + open_default_app(m.lcFile) + Endtry + Else + amessagebox("Eroare salvare fisier!", 48) + Endif + Endwith + Else + amessagebox("Nu exista inregistrari pentru export in Excel!",48,"Atentie") + ENDIF && Reccount + Endif + + ENDPROC + + PROCEDURE do_listare + PRIVATE pcSubtitlu + pcSubtitlu = THIS.filtru_pretty_ro_full + + + X = XMENU("\0 + Private pcDataora, pcTitlu + pcTitlu = "OBIECTE DE INVENTAR IN FOLOSINTA - GRUPARE PE ARTICOLE" + pcDataora = get_ora(2) + Select id_articol, codmat, denumire, um, Sum(cants+cant-cante) As cant, Pret, serie, lot ; + FROM (lcTabel) ; + GROUP By id_articol, codmat, denumire, serie, lot, um, Pret ; + ORDER By codmat ; + INTO Cursor cStocArt + + * SELECT * FROM cStocArt INTO TABLE c:\stocart.dbf + + Thisform.AlwaysOnTop = .F. + + Select cStocArt + *Keyboard '{CTRL+F10}' + *Report Form rap_stoc_art To Printer Prompt Preview + goExport.export2frx([cStocArt],[rap_stoc_art],.T., , , , , .T.) + + Thisform.AlwaysOnTop = .T. + + If Used('cStocArt') + Use In cStocArt + Endif + Else + amessagebox("Nu exista inregistrari pentru listare!",48,"Atentie") + Endif + ENDPROC + + PROCEDURE do_listare_borderou + If Reccount('crsStocuri')>0 + Select Nvl(Cont,' ') As Cont,Nvl(acont,' ') As acont,; + pret,cants,cant,cante From crsStocuri Into Cursor crsStocuri_temp + + Select Distinct Cont,acont,; + 000000000000000000.0000 As Prec,000000000000000000.0000 As intrari,; + 000000000000000000.0000 As iesiri,000000000000000000.0000 As sold ; + WHERE !Empty(Cont); + FROM crsStocuri_temp Into Cursor crsConturi Readwrite Order By Cont,acont + + Select crsConturi + Scan + Scatter Name loCont + Select crsStocuri_temp + Calculate Sum(Round(cants*Pret,gnPC)), Sum(Round(cant*Pret,gnPC)),Sum(Round(cante*Pret,gnPC)) ; + FOR Alltrim(Cont)=Alltrim(loCont.Cont) And Alltrim(acont)=Alltrim(loCont.acont) To ; + loCont.Prec,loCont.intrari,loCont.iesiri; + + Select crsConturi + Gather Name loCont + Endscan + + Select crsConturi + Replace All sold With Prec+intrari-iesiri + lcTitlu = [Borderou de verificare valorica] + pcTitlu = m.lcTitlu && ceretitlu_rap([Titlul raportului],lcTitlu) + pcDataora = get_Ora(2) + + + Thisform.AlwaysOnTop=.F. + Select crsConturi + *Report Form rap_stoc_borderou.frx To Printer Prompt Preview + goExport.export2frx([crsConturi],[rap_stoc_borderou],.T., , , , , .T.) + Thisform.AlwaysOnTop=.T. + + Use In crsConturi + Use In crsStocuri_temp + Else + amessage("Nu exista inregistrari pentru listare!",0+48,"Atentie") + Endif + ENDPROC + + PROCEDURE do_listare_selectie + *!* 26.01.2011 + *!* marius.mutu + *!* listare dupa coloana ordonata gridextras + + If Reccount('crsStocuri')>0 + Private pcTitlu,pcDataora + Store "" To pcTitlu,pcDataora + Local lcOrder, lcOrderColumn, loColumnSort, lcFilter, lcFiltru + lcOrder = "" + lcOrderColumn = "" + + *!* If Thisform.ck_fara_rulaj.Value=1 + *!* lcTitlu = [STOCURI FARA MISCARE IN ULTIMELE ]+Thisform.nzile+[ ZILE] + *!* Else + lcTitlu = [STOCURI - GESTIUNI] + *!* Endif + + lcFilter = FILTER('crsStocuri') + lcFiltru = IIF(!EMPTY(m.lcFilter), 'where ' + m.lcFilter, '') + lcFiltru = STRTRAN(m.lcFiltru, 'crsstocuri.','a.',1,10,1) + + pcTitlu = m.lcTitlu && ceretitlu_rap([Titlul raportului],lcTitlu) + pcDataora = get_Ora(2) + + pcGrupGest = [nresp] + pcGrupCont = [EOF()] + pcGrupAcont = [EOF()] + pcHeaderGrup = [Responsabil ] + + + *!* 26.01.2011 + *!* loColumnSort = This.gridsort1.ocolumnreference + *!* If Type('loColumnSort') = 'O' + *!* lcOrderColumn = Upper(Alltrim(loColumnSort.ControlSource)) + *!* Endif + lcOrderColumn = "" + lcColoanaOrdonare = [] + loColumnSort = Thisform.gridextra1.currentcolumn + lcColoanaOrdonare = [] + If Type('loColumnSort') == 'O' + lcOrderColumn = [1] + Iif(Thisform.gridextra1.Ascending,[ DESC],[]) + lcColoanaOrdonare = Strtran(Upper(Alltrim(loColumnSort.ControlSource)),[CRSSTOCURI.],[a.]) + [ as colord1,] + Endif + *!* 26.01.2011 ^ + + + If Type('loColumnSort') = 'O' + *!* modificare v 2.0.169 + *!* lcOrderColumn = Upper(Alltrim(loColumnSort.ControlSource)) + lcOrderColumn = [1] + Iif(Upper(Alltrim(loColumnSort.Tag))=[DOWN],[ DESC],[]) + lcColoanaOrdonare = Strtran(Upper(Alltrim(loColumnSort.ControlSource)),[CRSSTOCURI.],[a.]) + [ as colord1,] + *!* modificare v 2.0.169 ^ + Endif + + If Empty(lcOrderColumn) + lcOrder = "a.nresp,a.denumire,a.codmat" + Else + Do Case + Case lcOrderColumn = 'CODMAT' + lcOrder = "a.nresp,a.CODMAT,a.denumire" + Case lcOrderColumn = 'DENUMIRE' + lcOrder = "a.nresp,a.DENUMIRE,a.CODMAT" + Otherwise + lcOrder = "a.nresp," + lcOrderColumn + Endcase + Endif + *!* modificare v 2.0.169 + *!* Select * From crsStocuri Into Cursor crs_rap Order By &lcOrder + lcComanda = [Select ] + lcColoanaOrdonare + [a.* From crsStocuri a ] + m.lcFiltru + [ Into Cursor crs_rap Order By ] + lcOrder + &lcComanda + *!* modificare v 2.0.169 ^ + + *!*SELECT * from crsStocuri INTO CURSOR crs_rap ORDER BY nresp,denumire,codmat + Thisform.AlwaysOnTop=.F. + *Keyboard '{CTRL+F10}' + *Report Format rap_stocachi_grup_obinv.FRX To Printer Prompt Noconsole Preview + goExport.export2frx([crs_rap],[rap_stocachi_grup_obinv],.T., , , , , .T.) + + Thisform.AlwaysOnTop=.T. + Use In crs_rap + Else + amessage("Nu exista inregistrari pentru listare!",0+48,"Atentie") + Endif + + ENDPROC + + PROCEDURE do_modifica + LPARAMETERS tlIesire + + + IF glLunaInchisa + aMESSAGEBOX('Luna este inchisa!',0+48,"Atentie") + RETURN + ENDIF + + LOCAL lcFunctie,lcSql,lcMesaj,lcActiune,lcTitlu,llIesire,lcProc + PRIVATE poRec + + llIesire=tlIesire + IF EMPTY(llIesire) + llIesire=.F. + ENDIF + SELECT crsStocuri + SCATTER NAME poRec + + nrlin=RECNO() + THISFORM.grdStocuri.SETALL('DynamicFontBold','IIF(RECNO()=nrlin,.T.,.F.)','Column') + THISFORM.grdStocuri.REFRESH() + lnluna=luna + + IF lnluna = 0 + lcMesaj=[Doriti sa adaugati aceasta inregistrare?] + lcActiune=[adaugata] + lcTitlu=[Adaugare] + ELSE + lcMesaj=[Doriti sa modificati aceasta inregistrare?] + lcActiune=[modificata] + lcTitlu=[Modificare] + ENDIF + + + IF aMESSAGEBOX(lcMesaj,4+32+256,lcTitlu)==6 + lcProc = IIF(lnluna = 0, [stocobinvinsproc], [stocobinvupdproc]) + lcSql = [begin pack_stoc.] + lcProc + [(?gcs, ?@.id_stoc, ?gnLuna, ?gnAn, ?.id_articol, ?.PRET, ?.cants, ] + lcSql = lcSql + [?.cant, ?.cante, ?.CONT, ?.acont, ?.pretd, ?.datain, ?.dataout, ?.id_gestiune,?.id_responsabil,?.dns_ramas,?.dns_luni,?.datapif,?gnIdSucursala); end;] + + + WITH poRec + lnSucces = goExecutor.oExecute(lcSql) + ENDWITH + IF lnSucces < 0 + aMESSAGEBOX(goExecutor.cEroare,0+16,'Eroare') + RETURN + ENDIF + SELECT crsStocuri + REPLACE id_stoc WITH poRec.id_stoc + THISFORM.MOUSEPOINTER= 11 + THISFORM.LOCKSCREEN=.T. + THIS.do_cauta() + &&thisform.actualizeaza_grid1() + THISFORM.LOCKSCREEN=.F. + THISFORM.MOUSEPOINTER= 0 + aMESSAGEBOX("Inregistrarea a fost "+lcActiune+"!",0+64,lcTitlu) + THISFORM.coldvalue = THISFORM.cnewvalue + SELECT crsStocuri + LOCATE FOR id_stoc = poRec.id_stoc + + ELSE + IF !llIesire + THISFORM.MOUSEPOINTER= 11 + THISFORM.LOCKSCREEN=.T. + this.do_cauta() + &&THISFORM.actualizeaza_grid1() + THISFORM.LOCKSCREEN=.F. + THISFORM.MOUSEPOINTER= 0 + ENDIF + ENDIF + THISFORM.lmodificata=.F. + THISFORM.grdStocuri.SETALL('DynamicFontBold','.F.','Column') + THISFORM.grdStocuri.REFRESH() + + ENDPROC + + PROCEDURE do_reface + *!* 17.12.2020 + *!* marius.mutu + *!* am scos refacerea lunara - se pune 0 (accidental) pe stoc precedent daca daca nu stie ce face + *!* probabil este nevoie de refacere lunara intr-o situatie de initializare + + If m.glLunaInchisa + AMESSAGEBOX('Luna este inchisa! Nu se pot da refaceri!',0+64,_screen.Caption) + Return + Endif + + LOCAL lcCont,x, lcSursa, lnLuna, lnAn, lcLunar + lcCont = [] + lcSursa = [STOC_OBINV] + lnLuna = gnLuna + lnAn = gnAn + + x= xmenu('Refacere cu \0 + aMESSAGEBOX('Refacerea s-a terminat!',0+64,"Refacere stocuri") + Thisform.actualizeaza_grid1() + ENDIF + ENDPROC + + PROCEDURE do_sterge + Local lcSql,lnRec + PRIVATE poRec + If aMessagebox("Doriti sa stergeti aceasta inregistrare?",4+32+256,"Stergere")==6 + Select crsStocuri + SCATTER NAME poRec + lcSql =[BEGIN PACK_STOC.STOCDELPROC(?gcs, ?.id_stoc); END;] + WITH poRec + lnSucces = goExecutor.oExecute(lcSql) + ENDWITH + If lnSucces < 0 + aMESSAGEBOX(goExecutor.cEroare,0+16,'Eroare') + Return + ENDIF + SELECT crsStocuri + DELETE + + aMessagebox("Inregistrarea a fost stearsa!",0+64,"Stergere") + *!* Thisform.MousePointer= 11 + *!* Thisform.LockScreen=.T. + *!* Thisform.actualizeaza_grid1() + *!* Thisform.LockScreen=.F. + *!* Thisform.MousePointer=0 + *!* Select crsStocuri + *!* GO TOP + + ENDIF + Thisform.grdStocuri.Refresh + Thisform.grdStocuri.SetFocus() + + ENDPROC + + PROCEDURE do_verifica + LOCAL contselect + contselect= '' + IF this.optgrup.Value = 3 + lcTitlu = [Atentie] + lcImagine = [exclam.ico] + lcTip = [AVERTIZARE] + lcMesaj1 = [Alegeti ] + lcMesaj2 = [sau ] + omesaj = CREATEOBJECT([frm_mesaj],lcTitlu,lcImagine,lcTip,lcMesaj1,lcMesaj2) + omesaj.show(1) + return + ENDIF + + + + SELECT DISTINCT CONT FROM crsStocuri INTO CURSOR cConturiTemp + IF _TALLY = 1 + contselect=ALLTRIM(cConturiTemp.CONT) + ELSE + contselect='' + ENDIF + USE IN (SELECT('cConturiTemp')) + + + *!* If Thisform.ck_filtru_cont.Value=1 + *!* contselect=Thisform.ck_filtru_cont.filtru + *!* contselect=STRTRAN(contselect,'AND','') + *!* contselect=STRTRAN(contselect,'(','') + *!* contselect=STRTRAN(contselect,')','') + *!* contselect=STRTRAN(contselect,'A.CONT','') + *!* contselect=STRTRAN(contselect,"'",'') + *!* contselect=STRTRAN(contselect,'%','') + *!* contselect=STRTRAN(contselect,'LIKE','') + *!* contselect=ALLTRIM(contselect) + *!* ELSE + *!* contselect='' + *!* ENDIF + + DO verific_stoc_cu_balanta WITH contselect,thisform.optgrup.value + + + + ENDPROC + + PROCEDURE grid_sort_bind + *!* *!* 26.01.2011 + *!* marius.mutu + *!* se foloseste gridextras pentru ordonare grid in loc de gridsort + *!* + *!* 26.01.2011 ^ + ENDPROC + + PROCEDURE Init + Lparameters tlInFolosinta + DoDefault() + *!* 26.01.2011 + this.gridextra1.setup() + *!* 26.01.2011 ^ + *!* If !tlInFolosinta + *!* With Thisform + *!* .ck_filtru_gr.Visible = .F. + *!* .ck_filtru_sbgr.Visible = .F. + *!* .ck_filtru_meserie.Visible = .F. + *!* .ck_filtru_formatie.Visible = .F. + *!* .ck_filtru_dataang.Visible = .F. + *!* .ck_filtru_datalic.Visible = .F. + *!* .ck_filtru_stoc.Left = .ck_filtru_respons.Left + *!* .ck_stoc_negativ.Left = .ck_filtru_meserie.Left + *!* .ck_cu_rulaj.Left = .ck_filtru_dataang.Left + *!* .ck_fara_rulaj.Left = .ck_filtru_datalic.Left + *!* .ck_filtru_respons.Top = .ck_filtru_gr.Top + *!* .ck_filtru_respons.Left = .ck_filtru_gr.Left + *!* With .grdStocuri + *!* .RemoveObject("cMeserie") + *!* .RemoveObject("cFormatia") + *!* .RemoveObject("cDataAng") + *!* .RemoveObject("cDatalic") + *!* .RemoveObject("cDNF") + *!* .RemoveObject("cDataExpirare") + *!* .RemoveObject("cGrupa") + *!* .RemoveObject("cSubgrupa") + *!* Endwith + *!* Endwith + *!* Endif + ENDPROC + + PROCEDURE initializare + Thisform.grdStocuri.ReadOnly = !Thisform.grdStocuri.ReadOnly + Thisform.but_start_criterii1.Enabled = !Thisform.but_start_criterii1.Enabled + Thisform.but_reset_criterii1.Enabled = !Thisform.but_reset_criterii1.Enabled + Thisform.but_reface1.Enabled = !Thisform.but_reface1.Enabled + + With Thisform.grdstocuri + + .cnr_crt.ReadOnly=.T. + .ccodmat.ReadOnly=.T. + .cdenumire.readonly=.T. + .cum.ReadOnly=.T. + .ccont.ReadOnly=.T. + .cacont.ReadOnly=.T. + .ccgest.ReadOnly=.T. + *!* .cpretvtva.ReadOnly=.T. + .cstoc.ReadOnly=.T. + .cresp.readonly=.t. + + Endwith + thisform.grdStocuri.setfocus + ENDPROC + + PROCEDURE KeyPress + Lparameters nKeyCode, nShiftAltCtrl + Local lbviz + lbviz=This.bvizualizare + *!* am suprascris KeyPress ca sa nu se poata apela do_adauga prin combinatii de taste + Do Case + Case nKeyCode=13 And nShiftAltCtrl=2 && CTRL + M + Nodefault + If This.but_modifica1.Visible + This.but_modifica1.Click() + Endif + Case nKeyCode=27 And nShiftAltCtrl=0 + Nodefault + If aMessagebox("Sunteti sigur ca doriti sa inchideti fereastra?",4+32+256,"Confirmare")==6 + This.do_renunt() + Endif + Case nKeyCode=5 And nShiftAltCtrl=2 And lbviz=.F. + Nodefault + If Pemstatus(This,"inainte_de_do_excel",5) + This.inainte_de_do_excel() + Endif + Case nKeyCode=6 And nShiftAltCtrl=2 + Nodefault + This.do_termin() + Case nKeyCode=16 And nShiftAltCtrl=2 And lbviz=.F. + Nodefault + If Pemstatus(This,"inainte_de_do_listare",5) + This.inainte_de_do_listare() + Endif + *!* Criterii Selectie - Vasile Cristian 25.oct.2007 + Case nKeyCode = 17 And nShiftAltCtrl=2 && CTRL + Q + Nodefault + If Type('THIS.but_start_criterii1') = 'O' + This.but_start_criterii1.Click() + Endif + + Case nKeyCode = 20 And nShiftAltCtrl=2 && CTRL + T + Nodefault + If Type('THIS.but_reset_criterii1') = 'O' + This.but_reset_criterii1.Click() + Endif + Endcase + ENDPROC + + PROCEDURE But_start_criterii1.loadcriterii + PARAMETERS tacriterii + EXTERNAL ARRAY tacriterii + #DEFINE crlf CHR(13)+CHR(10) + lcStringCriterii="Denumire articol\denumire\T\id_articol\nom_articol"+ crlf + ; + "Cod material\codmat\T\none\" + crlf + ; + "Serie articol\serie\T\none\" + crlf + ; + "Grupa articol\grupa\T\id_grupa\nom_grupa_articol"+ crlf + ; + "Subgrupa articol\subgrupa\T\id_subgrupa\nom_subgrupa_articol"+ crlf + ; + "Gestiune\none\I\id_gestiune\nom_gestiune" + crlf + ; + "Grupe gestiuni\|E|" + ; + [a.id_gestiune in ( ] + ; + [ select ID_GESTIUNE ] + ; + [ from vgest_coresp_grupe_gestiuni c ] + ; + [ join (select id_grupe ] + ; + [ from gest_nom_grupe ] + ; + [ where sters = 0 ] + ; + [ start with id_grupe = <> ] + ; + [ connect by prior id_grupe = parent_id) g on c.id_grupe = g.id_grupe )\I\none\nom_grupa_gestiune] + crlf + ; + "Cont\cont\T\none\"+ crlf + ; + "Cont analitic\acont\T\none\"+ crlf + ; + "Data intrare\trunc(datain)\D\none\"+ crlf + ; + "Data iesire\trunc(dataout)\D\none\"+ crlf + ; + "Data Pif\trunc(datapif)\D\none\"+ crlf + ; + "Pret achizitie\pret\N|get_mask(12,gnPpret)\none\"+ crlf + ; + "Responsabil\nresp\T\id_responsabil\nom_responsabil"+ crlf + ; + "Marca resp.\marca\N\none\" + crlf + ; + "Meserie\meserie\T\id_meseria\nom_meserie"+ crlf + ; + "Formatie\formatia\T\id_formatia\nom_formatie"+ crlf + ; + "Data angajare\trunc(dataang)\D\none\"+ crlf + ; + "Data plecare\trunc(datalic)\D\none\"+ crlf + ; + "Stoc\cants+cant-cante\N|get_mask(12,gnPcant)\none\" + crlf + ; + "Stoc negativ\nofiled\E\(cants+cant-cante<0)\" + crlf + ; + "Cu rulaj\nofiled\E\(cant!=0 or cante!=0)\" + crlf + ; + "Fara rulaj\nofiled\E\(cant=0 and a.cante=0)\" + crlf + ; + IIF(EMPTY(gcCondSucursala) and glEMama,"Sucursala\sucursala\C\none\",[]) + DODEFAULT() + + ENDPROC + + PROCEDURE grdStocuri.AfterRowColChange + LPARAMETERS nColIndex + Local lnluna + With Thisform.grdStocuri + Select crsStocuri + lnluna = luna + If Thisform.lmodificata + Thisform.lmodificare_totaluri = .T. + Thisform.calcul_sume() + If lnluna = 0 + Thisform.lmodificare_totaluri = .F. + Endif + thisform.grdStocuri.Refresh + Endif + + Endwith + + ENDPROC + + PROCEDURE grdStocuri.BeforeRowColChange + LPARAMETERS nColIndex + + If !Thisform.lmodificare_totaluri + + Local lnCol + Private pnRec + If Thisform.grdStocuri.ReadOnly=.F. And Thisform.coldvalue!=Thisform.cnewvalue + Thisform.lmodificata=.T. + Endif + If (This.RowColChange= 1 Or This.RowColChange= 3) And Thisform.lmodificata + If Thisform.coldvalue!=Thisform.cnewvalue + For i=1 To This.ColumnCount + If This.Columns(i).ColumnOrder=nColIndex + lcColoana="thisform.grdStocuri."+This.Columns(i).Name + Exit + Endif + Endfor + oColoana=&lcColoana + lValue=oColoana.text1.Value + lcNumeColoana=Substr(oColoana.ControlSource,At('.',oColoana.ControlSource)+1) + Select crsStocuri + + Replace (lcNumeColoana) With lValue + Endif + pnRec=Recno() + + Thisform.do_modifica() + Thisform.lmodificare_totaluri=.F. + DoDefault() + Endif + Else + Thisform.lmodificare_totaluri=.F. + Nodefault + Endif + + ENDPROC + + PROCEDURE grdStocuri.Ccant.Text1.GotFocus + lcMask=Strtran(This.Parent.InputMask,' ','') + lnNrZec=At('.',lcMask,1) + Thisform.coldvalue=Alltrim(Str(This.Value,Len(lcMask),Iif(lnNrZec>0,Len(lcMask)-lnNrZec,0))) + Thisform.cnewvalue=Thisform.coldvalue + ENDPROC + + PROCEDURE grdStocuri.Ccant.Text1.InteractiveChange + lcMask=Strtran(This.Parent.InputMask,' ','') + lnNrZec=At('.',lcMask,1) + Thisform.cnewvalue=Alltrim(Str(This.Value,Len(lcMask),Iif(lnNrZec>0,Len(lcMask)-lnNrZec,0))) + ENDPROC + + PROCEDURE grdStocuri.Ccante.Text1.GotFocus + lcMask=Strtran(This.Parent.InputMask,' ','') + lnNrZec=At('.',lcMask,1) + Thisform.coldvalue=Alltrim(Str(This.Value,Len(lcMask),Iif(lnNrZec>0,Len(lcMask)-lnNrZec,0))) + Thisform.cnewvalue=Thisform.coldvalue + ENDPROC + + PROCEDURE grdStocuri.Ccante.Text1.InteractiveChange + lcMask=Strtran(This.Parent.InputMask,' ','') + lnNrZec=At('.',lcMask,1) + Thisform.cnewvalue=Alltrim(Str(This.Value,Len(lcMask),Iif(lnNrZec>0,Len(lcMask)-lnNrZec,0))) + ENDPROC + + PROCEDURE grdStocuri.Ccants.Text1.GotFocus + lcMask=Strtran(This.Parent.InputMask,' ','') + lnNrZec=At('.',lcMask,1) + Thisform.coldvalue=Alltrim(Str(This.Value,Len(lcMask),Iif(lnNrZec>0,Len(lcMask)-lnNrZec,0))) + Thisform.cnewvalue=Thisform.coldvalue + ENDPROC + + PROCEDURE grdStocuri.Ccants.Text1.InteractiveChange + lcMask=Strtran(This.Parent.InputMask,' ','') + lnNrZec=At('.',lcMask,1) + Thisform.cnewvalue=Alltrim(Str(This.Value,Len(lcMask),Iif(lnNrZec>0,Len(lcMask)-lnNrZec,0))) + ENDPROC + + PROCEDURE grdStocuri.Cdatain.Text1.GotFocus + + Thisform.coldvalue=This.Value + Thisform.cnewvalue=Thisform.coldvalue + ENDPROC + + PROCEDURE grdStocuri.Cdatain.Text1.InteractiveChange + + Thisform.cnewvalue=This.Value + ENDPROC + + PROCEDURE grdStocuri.Cdataout.Text1.GotFocus + Thisform.coldvalue=This.Value + Thisform.cnewvalue=Thisform.coldvalue + ENDPROC + + PROCEDURE grdStocuri.Cdataout.Text1.InteractiveChange + Thisform.cnewvalue=This.Value + ENDPROC + + PROCEDURE grdStocuri.cdatapif.Text1.GotFocus + Thisform.coldvalue=NVL(This.Value,{}) + Thisform.cnewvalue=Thisform.coldvalue + ENDPROC + + PROCEDURE grdStocuri.cdatapif.Text1.InteractiveChange + + Thisform.cnewvalue=This.Value + ENDPROC + + PROCEDURE grdStocuri.Cpret.Text1.GotFocus + lcMask=Strtran(This.Parent.InputMask,' ','') + lnNrZec=At('.',lcMask,1) + Thisform.coldvalue=Alltrim(Str(This.Value,Len(lcMask),Iif(lnNrZec>0,Len(lcMask)-lnNrZec,0))) + Thisform.cnewvalue=Thisform.coldvalue + ENDPROC + + PROCEDURE grdStocuri.Cpret.Text1.InteractiveChange + lcMask=Strtran(This.Parent.InputMask,' ','') + lnNrZec=At('.',lcMask,1) + Thisform.cnewvalue=Alltrim(Str(This.Value,Len(lcMask),Iif(lnNrZec>0,Len(lcMask)-lnNrZec,0))) + ENDPROC + + PROCEDURE grdStocuri.Cpretd.Text1.GotFocus + lcMask=Strtran(This.Parent.InputMask,' ','') + lnNrZec=At('.',lcMask,1) + Thisform.coldvalue=Alltrim(Str(This.Value,Len(lcMask),Iif(lnNrZec>0,Len(lcMask)-lnNrZec,0))) + Thisform.cnewvalue=Thisform.coldvalue + ENDPROC + + PROCEDURE grdStocuri.Cpretd.Text1.InteractiveChange + lcMask=Strtran(This.Parent.InputMask,' ','') + lnNrZec=At('.',lcMask,1) + Thisform.cnewvalue=Alltrim(Str(This.Value,Len(lcMask),Iif(lnNrZec>0,Len(lcMask)-lnNrZec,0))) + ENDPROC + + PROCEDURE grdStocuri.Init + * + ENDPROC + + PROCEDURE Gridextra1.applyfilter + DODEFAULT() + THISform.calcul_sume() + ENDPROC + + PROCEDURE Gridextra1.clearfilter + DODEFAULT() + THISform.calcul_sume() + ENDPROC + + PROCEDURE optgrup.Valid + LOCAL lcTraducere + lcTraducere = "" + DO CASE + CASE this.Value = 3 + pcListTipGest = [2,3,4,5,6] + CASE this.Value = 2 + pcListTipGest = [6] + lcTraducere = "Gestiuni la pret de vanzare" + CASE this.Value = 1 + pcListTipGest = [2,3,4,5] + lcTraducere = "Gestiuni la pret de achizitie" + ENDCASE + + IF !PEMSTATUS(THIS,"cTraducere",5) + THIS.ADDPROPERTY("cTraducere","") + ENDIF + + + THIS.cTraducere = lcTraducere + + + thisform.do_cauta() + thisform.but_start_criterii1.refreshstatus() + ENDPROC + +ENDDEFINE + +DEFINE CLASS frm_stocuri_pretv AS _frmbase OF "_frm_base.vcx" + *< CLASSDATA: Baseclass="form" Timestamp="" Scale="Pixels" Uniqueid="" /> + + *-- OBJECTDATA items order determines ZOrder / El orden de los items OBJECTDATA determina el ZOrder + *< OBJECTDATA: ObjPath="But_excel1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="But_listare1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="But_verifica1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="But_listare2" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="grdStocuri" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="grdStocuri.Cnr_crt.Header1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="grdStocuri.Cnr_crt.Text1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="grdStocuri.Ccodmat.Header1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="grdStocuri.Ccodmat.Text1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="grdStocuri.Cdenumire.Header1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="grdStocuri.Cdenumire.Text1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="grdStocuri.Cum.Header1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="grdStocuri.Cum.Text1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="grdStocuri.Ccants.Header1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="grdStocuri.Ccants.Text1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="grdStocuri.Ccant.Header1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="grdStocuri.Ccant.Text1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="grdStocuri.Ccante.Header1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="grdStocuri.Ccante.Text1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="grdStocuri.Cstoc.Header1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="grdStocuri.Cstoc.Text1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="grdStocuri.Ccont.Header1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="grdStocuri.Ccont.Text1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="grdStocuri.Cacont.Header1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="grdStocuri.Cacont.Text1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="grdStocuri.Ccgest.Header1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="grdStocuri.Ccgest.Text1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="grdStocuri.Cpretv.Header1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="grdStocuri.Cpretv.Text1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="grdStocuri.Cpretvtva.Header1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="grdStocuri.Cpretvtva.Text1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="grdStocuri.Ctvav.Header1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="grdStocuri.Ctvav.Text1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="grdStocuri.Cdatain.Header1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="grdStocuri.Cdatain.Text1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="grdStocuri.Cdataout.Header1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="grdStocuri.Cdataout.Text1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="grdStocuri.Column19.Header1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="grdStocuri.Column19.Text1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="grdStocuri.Column20.Header1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="grdStocuri.Column20.Text1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="grdStocuri.cCantBax.Header1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="grdStocuri.cCantBax.Text1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="grdStocuri.cUm2.Header1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="grdStocuri.cUm2.Text1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="grdStocuri.cSerie.Header1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="grdStocuri.cSerie.Text1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="grdStocuri.cCodmatF.Header1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="grdStocuri.cCodmatF.Text1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="grdStocuri.cDataExpirare.Header1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="grdStocuri.cDataExpirare.Text1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="grdStocuri.cLot.Header1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="grdStocuri.cLot.Text1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="grdStocuri.cSucursala.Header1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="grdStocuri.cSucursala.Text1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="grdStocuri.cPart_rez.Header1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="grdStocuri.cPart_rez.Text1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="grdStocuri.cNrord_rez.Header1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="grdStocuri.cNrord_rez.Text1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="grdStocuri.cfurn_princ.Header1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="grdStocuri.cfurn_princ.Text1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="grdStocuri.cFurnizor.Header1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="grdStocuri.cFurnizor.Text1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="grdStocuri.cCodNC8.Header1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="grdStocuri.cCodNC8.Text1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="grdStocuri.cGreutate.Header1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="grdStocuri.cGreutate.Text1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="grdStocuri.cTaraOrigine.Header1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="grdStocuri.cTaraOrigine.Text1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="shp_total" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="But_reface1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="But_listare3" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="lbl1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="lbl6" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="lbl2" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="lbl4" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="LB_SIMPLU1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="lbl3" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="Text5" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="But_start_criterii1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="Text6" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="But_reset_criterii1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="Text7" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="Text8" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="Chk_fara_miscare" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="Lb_shortcuts1" UniqueID="" Timestamp="" /> + + * + *m: butappend + *m: calcul_sume + *m: do_listare_articol + *m: do_listare_borderou + *m: do_listare_fisa_magazie + *m: do_listare_selectie + *m: initializare + *p: cfiltruinitial + *p: cnewvalue + *p: coldvalue + *p: data_f_misc + *p: data_ref + *p: lmodificare_totaluri + *p: lmodificata + *p: ngridheight + *p: ntipgest + *p: vstoc_final + *p: vstoc_finalv + *p: vstoc_final_tot + *p: vstoc_in + *p: vstoc_inv + *p: vstoc_in_tot + *p: vstoc_out + *p: vstoc_outv + *p: vstoc_out_tot + *p: vstoc_prec + *p: vstoc_precv + *p: vstoc_prec_tot + * + + * + cbuton2 = but_listare1;but_listare2 + cgridsortlist = grdStocuri + cnewvalue = .F. + coldvalue = .F. + data_f_misc = .F. + data_ref = {} + DoCreate = .T. + FontName = "Arial Narrow" + Height = 411 + lmodificare_totaluri = .F. + lmodificata = .F. + Name = "frm_stocuri_pretv" + ngridheight = 0 + ntipgest = 0 + vstoc_final = 0 + vstoc_finalv = 0 + vstoc_final_tot = 0 + vstoc_in = 0 + vstoc_inv = 0 + vstoc_in_tot = 0 + vstoc_out = 0 + vstoc_outv = 0 + vstoc_out_tot = 0 + vstoc_prec = 0 + vstoc_precv = 0 + vstoc_prec_tot = 0 + Width = 770 + WindowState = 2 + _shape1.Anchor = 10 + _shape1.Height = 29 + _shape1.Left = 0 + _shape1.Name = "_shape1" + _shape1.Top = 0 + _shape1.Width = 770 + _shape1.ZOrderSet = 0 + _shape2.Anchor = 8 + _shape2.Height = 28 + _shape2.Left = 559 + _shape2.Name = "_shape2" + _shape2.Top = 1 + _shape2.Width = 208 + _shape2.ZOrderSet = 1 + Lb_titlu_alb_b121.Caption = "STOCURI" + Lb_titlu_alb_b121.FontBold = .T. + Lb_titlu_alb_b121.Left = 6 + Lb_titlu_alb_b121.Name = "Lb_titlu_alb_b121" + Lb_titlu_alb_b121.TabIndex = 31 + Lb_titlu_alb_b121.Top = 1 + Lb_titlu_alb_b121.ZOrderSet = 2 + BUT_TERMIN1.Anchor = 8 + BUT_TERMIN1.Height = 27 + BUT_TERMIN1.Left = 739 + BUT_TERMIN1.Name = "BUT_TERMIN1" + BUT_TERMIN1.TabIndex = 20 + BUT_TERMIN1.Tag = "MOVABLE,NOVERTICAL_MOVE" + BUT_TERMIN1.ToolTipText = "Terminare" + BUT_TERMIN1.Top = 2 + BUT_TERMIN1.Width = 30 + BUT_TERMIN1.ZOrderSet = 4 + Gridsort1.Left = 9 + Gridsort1.Name = "Gridsort1" + Gridsort1.Top = 60 + * + + ADD OBJECT 'But_excel1' AS but_excel WITH ; + Anchor = 8, ; + Height = 27, ; + Left = 622, ; + Name = "But_excel1", ; + TabIndex = 23, ; + Tag = "MOVABLE,NOVERTICAL_MOVE", ; + ToolTipText = "Exportare in Excel", ; + Top = 2, ; + Width = 30, ; + ZOrderSet = 5 + *< END OBJECT: ClassLib="cmd_butoane.vcx" BaseClass="commandbutton" /> + + ADD OBJECT 'But_listare1' AS but_listare WITH ; + Anchor = 8, ; + Height = 27, ; + Left = 681, ; + Name = "But_listare1", ; + TabIndex = 21, ; + Tag = "MOVABLE,NOVERTICAL_MOVE", ; + ToolTipText = "Borderou de verificare valorica", ; + Top = 2, ; + Width = 30, ; + ZOrderSet = 6 + *< END OBJECT: ClassLib="cmd_butoane.vcx" BaseClass="commandbutton" /> + + ADD OBJECT 'But_listare2' AS but_listare WITH ; + Anchor = 8, ; + Height = 27, ; + Left = 651, ; + Name = "But_listare2", ; + TabIndex = 22, ; + Tag = "MOVABLE,NOVERTICAL_MOVE", ; + ToolTipText = "Listare selectie", ; + Top = 2, ; + Width = 30, ; + ZOrderSet = 8 + *< END OBJECT: ClassLib="cmd_butoane.vcx" BaseClass="commandbutton" /> + + ADD OBJECT 'But_listare3' AS but_listare WITH ; + Anchor = 8, ; + Height = 27, ; + Left = 711, ; + Name = "But_listare3", ; + TabIndex = 19, ; + Tag = "MOVABLE,NOVERTICAL_MOVE", ; + ToolTipText = "Fisa magazie", ; + Top = 2, ; + Visible = .T., ; + Width = 30, ; + ZOrderSet = 12 + *< END OBJECT: ClassLib="cmd_butoane.vcx" BaseClass="commandbutton" /> + + ADD OBJECT 'But_reface1' AS but_reface WITH ; + Anchor = 8, ; + Height = 27, ; + Left = 561, ; + Name = "But_reface1", ; + TabIndex = 25, ; + Top = 2, ; + Width = 30, ; + ZOrderSet = 11 + *< END OBJECT: ClassLib="cmd_butoane.vcx" BaseClass="commandbutton" /> + + ADD OBJECT 'But_reset_criterii1' AS but_reset_criterii WITH ; + Anchor = 9, ; + Left = 474, ; + Name = "But_reset_criterii1", ; + Top = 2, ; + Visible = .T., ; + ZOrderSet = 22 + *< END OBJECT: ClassLib="ocriterii.vcx" BaseClass="commandbutton" /> + + ADD OBJECT 'But_start_criterii1' AS but_start_criterii WITH ; + Anchor = 9, ; + Comment = "*:OnResize=RT", ; + Left = 503, ; + Name = "But_start_criterii1", ; + Top = 2, ; + ZOrderSet = 20 + *< END OBJECT: ClassLib="ocriterii.vcx" BaseClass="commandbutton" /> + + ADD OBJECT 'But_verifica1' AS but_verifica WITH ; + Anchor = 8, ; + Height = 27, ; + Left = 592, ; + Name = "But_verifica1", ; + SpecialEffect = 1, ; + TabIndex = 24, ; + Top = 2, ; + Width = 30, ; + ZOrderSet = 7 + *< END OBJECT: ClassLib="cmd_butoane.vcx" BaseClass="commandbutton" /> + + ADD OBJECT 'Chk_fara_miscare' AS _checkbox WITH ; + Alignment = 0, ; + AutoSize = .T., ; + BackStyle = 0, ; + Caption = "Fara miscare", ; + Height = 18, ; + Left = 5, ; + Name = "Chk_fara_miscare", ; + TabIndex = 19, ; + Top = 33, ; + Width = 95, ; + ZOrderSet = 52 + *< END OBJECT: ClassLib="_baza.vcx" BaseClass="checkbox" /> + + ADD OBJECT 'grdStocuri' AS _grdrow WITH ; + Anchor = 15, ; + ColumnCount = 32, ; + DeleteMark = .F., ; + Height = 302, ; + Left = 0, ; + Name = "grdStocuri", ; + Panel = 1, ; + RecordSource = "crsStocuri", ; + RowHeight = 19, ; + TabIndex = 26, ; + Top = 103, ; + Width = 767, ; + ZOrderSet = 9, ; + Column1.ColumnOrder = 1, ; + Column1.ControlSource = "nr_crt", ; + Column1.FontName = "Arial", ; + Column1.FontSize = 10, ; + Column1.Name = "Cnr_crt", ; + Column1.ReadOnly = .T., ; + Column1.Width = 23, ; + Column2.ColumnOrder = 2, ; + Column2.ControlSource = "codmat", ; + Column2.FontName = "Arial", ; + Column2.FontSize = 10, ; + Column2.Name = "Ccodmat", ; + Column2.ReadOnly = .T., ; + Column2.Width = 97, ; + Column3.ColumnOrder = 3, ; + Column3.ControlSource = "denumire", ; + Column3.FontName = "Arial", ; + Column3.FontSize = 10, ; + Column3.Name = "Cdenumire", ; + Column3.ReadOnly = .T., ; + Column3.Width = 196, ; + Column4.ColumnOrder = 5, ; + Column4.ControlSource = "um", ; + Column4.FontName = "Arial", ; + Column4.FontSize = 10, ; + Column4.Name = "Cum", ; + Column4.ReadOnly = .T., ; + Column4.Width = 39, ; + Column5.ColumnOrder = 8, ; + Column5.ControlSource = "cants", ; + Column5.DynamicBackColor = "iif(this.readonly,RGB(255,255,255),RGB(252,255,183))", ; + Column5.FontName = "Arial", ; + Column5.FontSize = 10, ; + Column5.Format = "r", ; + Column5.InputMask = (get_mask(14,gnPCANT)), ; + Column5.Name = "Ccants", ; + Column5.ReadOnly = .T., ; + Column5.Width = 70, ; + Column6.ColumnOrder = 9, ; + Column6.ControlSource = "cant", ; + Column6.DynamicBackColor = "iif(this.readonly,RGB(255,255,255),RGB(252,255,183))", ; + Column6.FontName = "Arial", ; + Column6.FontSize = 10, ; + Column6.Format = "r", ; + Column6.InputMask = (get_mask(14,gnPCANT)), ; + Column6.Name = "Ccant", ; + Column6.ReadOnly = .T., ; + Column6.Width = 64, ; + Column7.ColumnOrder = 10, ; + Column7.ControlSource = "cante", ; + Column7.DynamicBackColor = "iif(this.readonly,RGB(255,255,255),RGB(252,255,183))", ; + Column7.FontName = "Arial", ; + Column7.FontSize = 10, ; + Column7.Format = "r", ; + Column7.InputMask = (get_mask(14,gnPCANT)), ; + Column7.Name = "Ccante", ; + Column7.ReadOnly = .T., ; + Column7.Width = 48, ; + Column8.ColumnOrder = 11, ; + Column8.ControlSource = "cants+cant-cante", ; + Column8.FontName = "Arial", ; + Column8.FontSize = 10, ; + Column8.Format = "r", ; + Column8.InputMask = (get_mask(16,gnPCANT)), ; + Column8.Name = "Cstoc", ; + Column8.ReadOnly = .T., ; + Column8.Width = 50, ; + Column9.ColumnOrder = 12, ; + Column9.ControlSource = "cont", ; + Column9.FontName = "Arial", ; + Column9.FontSize = 10, ; + Column9.Name = "Ccont", ; + Column9.ReadOnly = .T., ; + Column9.Width = 36, ; + Column10.ColumnOrder = 13, ; + Column10.ControlSource = "acont", ; + Column10.FontName = "Arial", ; + Column10.FontSize = 10, ; + Column10.Name = "Cacont", ; + Column10.ReadOnly = .T., ; + Column10.Width = 37, ; + Column11.ColumnOrder = 14, ; + Column11.ControlSource = "cgest", ; + Column11.FontName = "Arial", ; + Column11.FontSize = 10, ; + Column11.Name = "Ccgest", ; + Column11.ReadOnly = .T., ; + Column11.Width = 40, ; + Column12.ColumnOrder = 16, ; + Column12.ControlSource = "pretv", ; + Column12.DynamicBackColor = "iif(this.readonly,RGB(255,255,255),RGB(252,255,183))", ; + Column12.FontName = "Arial", ; + Column12.FontSize = 10, ; + Column12.Format = "r", ; + Column12.InputMask = (get_mask(16,gnPPretV)), ; + Column12.Name = "Cpretv", ; + Column12.ReadOnly = .T., ; + Column12.Width = 75, ; + Column13.ColumnOrder = 15, ; + Column13.ControlSource = "pretv+tvav", ; + Column13.FontName = "Arial", ; + Column13.FontSize = 10, ; + Column13.Format = "r", ; + Column13.InputMask = (get_mask(16,gnPPretV)), ; + Column13.Name = "Cpretvtva", ; + Column13.ReadOnly = .T., ; + Column13.Width = 95, ; + Column14.ColumnOrder = 17, ; + Column14.ControlSource = "tvav", ; + Column14.DynamicBackColor = "iif(this.readonly,RGB(255,255,255),RGB(252,255,183))", ; + Column14.FontName = "Arial", ; + Column14.FontSize = 10, ; + Column14.Format = "r", ; + Column14.InputMask = (get_mask(16,gnPPretV)), ; + Column14.Name = "Ctvav", ; + Column14.ReadOnly = .T., ; + Column14.Width = 62, ; + Column15.ColumnOrder = 19, ; + Column15.ControlSource = "datain", ; + Column15.DynamicBackColor = "iif(this.readonly,RGB(255,255,255),RGB(252,255,183))", ; + Column15.FontName = "Arial", ; + Column15.FontSize = 10, ; + Column15.Name = "Cdatain", ; + Column15.ReadOnly = .T., ; + Column15.Width = 66, ; + Column16.ColumnOrder = 20, ; + Column16.ControlSource = "dataout", ; + Column16.DynamicBackColor = "iif(this.readonly,RGB(255,255,255),RGB(252,255,183))", ; + Column16.FontName = "Arial", ; + Column16.FontSize = 10, ; + Column16.Name = "Cdataout", ; + Column16.ReadOnly = .T., ; + Column16.Width = 75, ; + Column17.Alignment = 1, ; + Column17.ColumnOrder = 18, ; + Column17.ControlSource = "proc_tvav", ; + Column17.DynamicBackColor = "iif(this.readonly,RGB(255,255,255),RGB(252,255,183))", ; + Column17.FontName = "Arial", ; + Column17.FontSize = 10, ; + Column17.InputMask = "99.99", ; + Column17.Name = "Column19", ; + Column17.ReadOnly = .T., ; + Column17.Width = 41, ; + Column18.ColumnOrder = 27, ; + Column18.ControlSource = "id_articol", ; + Column18.FontName = "Arial", ; + Column18.FontSize = 10, ; + Column18.Name = "Column20", ; + Column18.ReadOnly = .T., ; + Column18.Width = 71, ; + Column19.ColumnOrder = 6, ; + Column19.ControlSource = "cant_bax", ; + Column19.FontName = "Arial", ; + Column19.FontSize = 10, ; + Column19.Name = "cCantBax", ; + Column19.Width = 54, ; + Column20.ColumnOrder = 7, ; + Column20.ControlSource = "um2", ; + Column20.FontName = "Arial", ; + Column20.FontSize = 10, ; + Column20.Name = "cUm2", ; + Column20.Width = 46, ; + Column21.ColumnOrder = 4, ; + Column21.ControlSource = "serie", ; + Column21.FontName = "Arial", ; + Column21.FontSize = 10, ; + Column21.Name = "cSerie", ; + Column21.Width = 85, ; + Column22.ColumnOrder = 21, ; + Column22.ControlSource = "codmatf", ; + Column22.FontName = "Arial", ; + Column22.FontSize = 10, ; + Column22.Name = "cCodmatF", ; + Column22.Width = 84, ; + Column23.ColumnOrder = 23, ; + Column23.ControlSource = "adata_expirare", ; + Column23.FontName = "Arial", ; + Column23.FontSize = 10, ; + Column23.Name = "cDataExpirare", ; + Column24.ColumnOrder = 22, ; + Column24.ControlSource = "lot", ; + Column24.FontName = "Arial", ; + Column24.FontSize = 10, ; + Column24.Name = "cLot", ; + Column24.Width = 84, ; + Column25.ColumnOrder = 26, ; + Column25.ControlSource = "sucursala", ; + Column25.FontName = "Arial", ; + Column25.FontSize = 10, ; + Column25.Name = "cSucursala", ; + Column26.ColumnOrder = 24, ; + Column26.ControlSource = "part_rez", ; + Column26.FontName = "Arial", ; + Column26.FontSize = 10, ; + Column26.Name = "cPart_rez", ; + Column27.ColumnOrder = 25, ; + Column27.ControlSource = "nrord_rez", ; + Column27.FontName = "Arial", ; + Column27.FontSize = 10, ; + Column27.Name = "cNrord_rez", ; + Column28.ControlSource = "furn_princ", ; + Column28.FontName = "Arial", ; + Column28.FontSize = 10, ; + Column28.Name = "cfurn_princ", ; + Column28.Width = 116, ; + Column29.ControlSource = "furnizor", ; + Column29.FontName = "Arial", ; + Column29.FontSize = 10, ; + Column29.Name = "cFurnizor", ; + Column29.ReadOnly = .T., ; + Column29.Width = 127, ; + Column30.ControlSource = "codnc8", ; + Column30.Name = "cCodNC8", ; + Column30.ReadOnly = .T., ; + Column30.Width = 150, ; + Column31.ControlSource = "greutate", ; + Column31.Name = "cGreutate", ; + Column31.ReadOnly = .T., ; + Column32.ControlSource = "tara_origine", ; + Column32.Name = "cTaraOrigine", ; + Column32.ReadOnly = .T., ; + Column32.Width = 134 + *< END OBJECT: ClassLib="_grd_base.vcx" BaseClass="grid" /> + + ADD OBJECT 'grdStocuri.Cacont.Header1' AS header WITH ; + Alignment = 2, ; + Caption = "Analitic", ; + FontName = "Arial", ; + FontSize = 10, ; + Name = "Header1" + *< END OBJECT: BaseClass="header" /> + + ADD OBJECT 'grdStocuri.Cacont.Text1' AS textbox WITH ; + BackColor = 255,255,255, ; + BorderStyle = 0, ; + FontName = "Arial", ; + FontSize = 10, ; + ForeColor = 0,0,0, ; + Margin = 0, ; + Name = "Text1", ; + ReadOnly = .T., ; + SelectedBackColor = 100,185,255 + *< END OBJECT: BaseClass="textbox" /> + + ADD OBJECT 'grdStocuri.Ccant.Header1' AS header WITH ; + Alignment = 2, ; + Caption = "Intrari", ; + FontName = "Arial", ; + FontSize = 10, ; + Name = "Header1" + *< END OBJECT: BaseClass="header" /> + + ADD OBJECT 'grdStocuri.Ccant.Text1' AS textbox WITH ; + BackColor = 255,255,255, ; + BorderStyle = 0, ; + FontName = "Arial", ; + FontSize = 10, ; + ForeColor = 0,0,0, ; + Margin = 0, ; + Name = "Text1", ; + ReadOnly = .T., ; + SelectedBackColor = 100,185,255 + *< END OBJECT: BaseClass="textbox" /> + + ADD OBJECT 'grdStocuri.cCantBax.Header1' AS header WITH ; + Alignment = 2, ; + Caption = "Cant2", ; + FontName = "Arial", ; + FontSize = 10, ; + Name = "Header1" + *< END OBJECT: BaseClass="header" /> + + ADD OBJECT 'grdStocuri.cCantBax.Text1' AS textbox WITH ; + BackColor = 255,255,255, ; + BorderStyle = 0, ; + FontName = "Arial", ; + FontSize = 10, ; + ForeColor = 0,0,0, ; + Margin = 0, ; + Name = "Text1", ; + SelectedBackColor = 100,185,255 + *< END OBJECT: BaseClass="textbox" /> + + ADD OBJECT 'grdStocuri.Ccante.Header1' AS header WITH ; + Alignment = 2, ; + Caption = "Iesiri", ; + FontName = "Arial", ; + FontSize = 10, ; + Name = "Header1" + *< END OBJECT: BaseClass="header" /> + + ADD OBJECT 'grdStocuri.Ccante.Text1' AS textbox WITH ; + BackColor = 255,255,255, ; + BorderStyle = 0, ; + FontName = "Arial", ; + FontSize = 10, ; + ForeColor = 0,0,0, ; + Margin = 0, ; + Name = "Text1", ; + ReadOnly = .T., ; + SelectedBackColor = 100,185,255 + *< END OBJECT: BaseClass="textbox" /> + + ADD OBJECT 'grdStocuri.Ccants.Header1' AS header WITH ; + Alignment = 2, ; + Caption = "Stoc prec", ; + FontName = "Arial", ; + FontSize = 10, ; + Name = "Header1" + *< END OBJECT: BaseClass="header" /> + + ADD OBJECT 'grdStocuri.Ccants.Text1' AS textbox WITH ; + BackColor = 255,255,255, ; + BorderStyle = 0, ; + FontName = "Arial", ; + FontSize = 10, ; + ForeColor = 0,0,0, ; + Margin = 0, ; + Name = "Text1", ; + ReadOnly = .T., ; + SelectedBackColor = 100,185,255 + *< END OBJECT: BaseClass="textbox" /> + + ADD OBJECT 'grdStocuri.Ccgest.Header1' AS header WITH ; + Alignment = 2, ; + Caption = "Gestiune", ; + FontName = "Arial", ; + FontSize = 10, ; + Name = "Header1" + *< END OBJECT: BaseClass="header" /> + + ADD OBJECT 'grdStocuri.Ccgest.Text1' AS textbox WITH ; + BackColor = 255,255,255, ; + BorderStyle = 0, ; + FontName = "Arial", ; + FontSize = 10, ; + ForeColor = 0,0,0, ; + Margin = 0, ; + Name = "Text1", ; + ReadOnly = .T., ; + SelectedBackColor = 100,185,255 + *< END OBJECT: BaseClass="textbox" /> + + ADD OBJECT 'grdStocuri.Ccodmat.Header1' AS header WITH ; + Alignment = 2, ; + Caption = "Cod. Mat.", ; + FontName = "Arial", ; + FontSize = 10, ; + Name = "Header1" + *< END OBJECT: BaseClass="header" /> + + ADD OBJECT 'grdStocuri.Ccodmat.Text1' AS textbox WITH ; + BackColor = 255,255,255, ; + BorderStyle = 0, ; + FontName = "Arial", ; + FontSize = 10, ; + ForeColor = 0,0,0, ; + Margin = 0, ; + Name = "Text1", ; + ReadOnly = .T., ; + SelectedBackColor = 100,185,255 + *< END OBJECT: BaseClass="textbox" /> + + ADD OBJECT 'grdStocuri.cCodmatF.Header1' AS header WITH ; + Alignment = 2, ; + Caption = "Cod furnizor", ; + FontName = "Arial", ; + FontSize = 10, ; + Name = "Header1" + *< END OBJECT: BaseClass="header" /> + + ADD OBJECT 'grdStocuri.cCodmatF.Text1' AS textbox WITH ; + BackColor = 255,255,255, ; + BorderStyle = 0, ; + FontName = "Arial", ; + FontSize = 10, ; + ForeColor = 0,0,0, ; + Margin = 0, ; + Name = "Text1", ; + SelectedBackColor = 100,185,255 + *< END OBJECT: BaseClass="textbox" /> + + ADD OBJECT 'grdStocuri.cCodNC8.Header1' AS header WITH ; + Alignment = 2, ; + Caption = "Cod NC8", ; + Name = "Header1" + *< END OBJECT: BaseClass="header" /> + + ADD OBJECT 'grdStocuri.cCodNC8.Text1' AS textbox WITH ; + BackColor = 255,255,255, ; + BorderStyle = 0, ; + ForeColor = 0,0,0, ; + Margin = 0, ; + Name = "Text1", ; + ReadOnly = .T., ; + SelectedBackColor = 100,185,255 + *< END OBJECT: BaseClass="textbox" /> + + ADD OBJECT 'grdStocuri.Ccont.Header1' AS header WITH ; + Alignment = 2, ; + Caption = "Cont", ; + FontName = "Arial", ; + FontSize = 10, ; + Name = "Header1" + *< END OBJECT: BaseClass="header" /> + + ADD OBJECT 'grdStocuri.Ccont.Text1' AS textbox WITH ; + BackColor = 255,255,255, ; + BorderStyle = 0, ; + FontName = "Arial", ; + FontSize = 10, ; + ForeColor = 0,0,0, ; + Margin = 0, ; + Name = "Text1", ; + ReadOnly = .T., ; + SelectedBackColor = 100,185,255 + *< END OBJECT: BaseClass="textbox" /> + + ADD OBJECT 'grdStocuri.cDataExpirare.Header1' AS header WITH ; + Alignment = 2, ; + Caption = "Data expirare", ; + FontName = "Arial", ; + FontSize = 10, ; + Name = "Header1" + *< END OBJECT: BaseClass="header" /> + + ADD OBJECT 'grdStocuri.cDataExpirare.Text1' AS textbox WITH ; + BackColor = 255,255,255, ; + BorderStyle = 0, ; + FontName = "Arial", ; + FontSize = 10, ; + ForeColor = 0,0,0, ; + Margin = 0, ; + Name = "Text1", ; + SelectedBackColor = 100,185,255 + *< END OBJECT: BaseClass="textbox" /> + + ADD OBJECT 'grdStocuri.Cdatain.Header1' AS header WITH ; + Alignment = 2, ; + Caption = "Data intrarii", ; + FontName = "Arial", ; + FontSize = 10, ; + Name = "Header1" + *< END OBJECT: BaseClass="header" /> + + ADD OBJECT 'grdStocuri.Cdatain.Text1' AS textbox WITH ; + BackColor = 255,255,255, ; + BorderStyle = 0, ; + FontName = "Arial", ; + FontSize = 10, ; + ForeColor = 0,0,0, ; + Margin = 0, ; + Name = "Text1", ; + ReadOnly = .T., ; + SelectedBackColor = 100,185,255 + *< END OBJECT: BaseClass="textbox" /> + + ADD OBJECT 'grdStocuri.Cdataout.Header1' AS header WITH ; + Alignment = 2, ; + Caption = "Data ultimei iesiri", ; + FontName = "Arial", ; + FontSize = 10, ; + Name = "Header1" + *< END OBJECT: BaseClass="header" /> + + ADD OBJECT 'grdStocuri.Cdataout.Text1' AS textbox WITH ; + BackColor = 255,255,255, ; + BorderStyle = 0, ; + FontName = "Arial", ; + FontSize = 10, ; + ForeColor = 0,0,0, ; + Margin = 0, ; + Name = "Text1", ; + ReadOnly = .T., ; + SelectedBackColor = 100,185,255 + *< END OBJECT: BaseClass="textbox" /> + + ADD OBJECT 'grdStocuri.Cdenumire.Header1' AS header WITH ; + Alignment = 2, ; + Caption = "Denumire", ; + FontName = "Arial", ; + FontSize = 10, ; + Name = "Header1" + *< END OBJECT: BaseClass="header" /> + + ADD OBJECT 'grdStocuri.Cdenumire.Text1' AS textbox WITH ; + BackColor = 255,255,255, ; + BorderStyle = 0, ; + FontName = "Arial", ; + FontSize = 10, ; + ForeColor = 0,0,0, ; + Margin = 0, ; + Name = "Text1", ; + ReadOnly = .T., ; + SelectedBackColor = 100,185,255 + *< END OBJECT: BaseClass="textbox" /> + + ADD OBJECT 'grdStocuri.cfurn_princ.Header1' AS header WITH ; + Alignment = 2, ; + Caption = "Furnizor principal", ; + FontName = "Arial", ; + FontSize = 10, ; + Name = "Header1" + *< END OBJECT: BaseClass="header" /> + + ADD OBJECT 'grdStocuri.cfurn_princ.Text1' AS textbox WITH ; + BackColor = 255,255,255, ; + BorderStyle = 0, ; + FontName = "Arial", ; + FontSize = 10, ; + ForeColor = 0,0,0, ; + Margin = 0, ; + Name = "Text1", ; + SelectedBackColor = 100,185,255 + *< END OBJECT: BaseClass="textbox" /> + + ADD OBJECT 'grdStocuri.cFurnizor.Header1' AS header WITH ; + Alignment = 2, ; + Caption = "Furnizor", ; + FontName = "Arial", ; + FontSize = 10, ; + Name = "Header1" + *< END OBJECT: BaseClass="header" /> + + ADD OBJECT 'grdStocuri.cFurnizor.Text1' AS textbox WITH ; + BackColor = 255,255,255, ; + BorderStyle = 0, ; + FontName = "Arial", ; + FontSize = 10, ; + ForeColor = 0,0,0, ; + Margin = 0, ; + Name = "Text1", ; + ReadOnly = .T., ; + SelectedBackColor = 100,185,255 + *< END OBJECT: BaseClass="textbox" /> + + ADD OBJECT 'grdStocuri.cGreutate.Header1' AS header WITH ; + Alignment = 2, ; + Caption = "Greutate (Kg)", ; + Name = "Header1" + *< END OBJECT: BaseClass="header" /> + + ADD OBJECT 'grdStocuri.cGreutate.Text1' AS textbox WITH ; + BackColor = 255,255,255, ; + BorderStyle = 0, ; + ForeColor = 0,0,0, ; + Margin = 0, ; + Name = "Text1", ; + ReadOnly = .T., ; + SelectedBackColor = 100,185,255 + *< END OBJECT: BaseClass="textbox" /> + + ADD OBJECT 'grdStocuri.cLot.Header1' AS header WITH ; + Alignment = 2, ; + Caption = "Lot", ; + FontName = "Arial", ; + FontSize = 10, ; + Name = "Header1" + *< END OBJECT: BaseClass="header" /> + + ADD OBJECT 'grdStocuri.cLot.Text1' AS textbox WITH ; + BackColor = 255,255,255, ; + BorderStyle = 0, ; + FontName = "Arial", ; + FontSize = 10, ; + ForeColor = 0,0,0, ; + Margin = 0, ; + Name = "Text1", ; + SelectedBackColor = 100,185,255 + *< END OBJECT: BaseClass="textbox" /> + + ADD OBJECT 'grdStocuri.Cnr_crt.Header1' AS header WITH ; + Alignment = 2, ; + Caption = "Nr.", ; + FontName = "Arial", ; + FontSize = 10, ; + Name = "Header1" + *< END OBJECT: BaseClass="header" /> + + ADD OBJECT 'grdStocuri.Cnr_crt.Text1' AS textbox WITH ; + BackColor = 255,255,255, ; + BorderStyle = 0, ; + FontName = "Arial", ; + FontSize = 10, ; + ForeColor = 0,0,0, ; + Margin = 0, ; + Name = "Text1", ; + ReadOnly = .T., ; + SelectedBackColor = 100,185,255, ; + Visible = .T. + *< END OBJECT: BaseClass="textbox" /> + + ADD OBJECT 'grdStocuri.cNrord_rez.Header1' AS header WITH ; + Alignment = 2, ; + Caption = "Lucrare rez.", ; + FontName = "Arial", ; + FontSize = 10, ; + Name = "Header1" + *< END OBJECT: BaseClass="header" /> + + ADD OBJECT 'grdStocuri.cNrord_rez.Text1' AS textbox WITH ; + BackColor = 255,255,255, ; + BorderStyle = 0, ; + FontName = "Arial", ; + FontSize = 10, ; + ForeColor = 0,0,0, ; + Margin = 0, ; + Name = "Text1", ; + SelectedBackColor = 100,185,255 + *< END OBJECT: BaseClass="textbox" /> + + ADD OBJECT 'grdStocuri.Column19.Header1' AS header WITH ; + Alignment = 2, ; + Caption = "ProcTVA", ; + FontName = "Arial", ; + FontSize = 10, ; + Name = "Header1" + *< END OBJECT: BaseClass="header" /> + + ADD OBJECT 'grdStocuri.Column19.Text1' AS textbox WITH ; + Alignment = 1, ; + BackColor = 255,255,255, ; + BorderStyle = 0, ; + FontName = "Arial", ; + FontSize = 10, ; + ForeColor = 0,0,0, ; + Margin = 0, ; + Name = "Text1", ; + ReadOnly = .T., ; + SelectedBackColor = 100,185,255 + *< END OBJECT: BaseClass="textbox" /> + + ADD OBJECT 'grdStocuri.Column20.Header1' AS header WITH ; + Alignment = 2, ; + Caption = "Id Articol", ; + FontName = "Arial", ; + FontSize = 10, ; + Name = "Header1" + *< END OBJECT: BaseClass="header" /> + + ADD OBJECT 'grdStocuri.Column20.Text1' AS textbox WITH ; + BackColor = 255,255,255, ; + BorderStyle = 0, ; + FontName = "Arial", ; + FontSize = 10, ; + ForeColor = 0,0,0, ; + Margin = 0, ; + Name = "Text1", ; + ReadOnly = .T., ; + SelectedBackColor = 100,185,255 + *< END OBJECT: BaseClass="textbox" /> + + ADD OBJECT 'grdStocuri.cPart_rez.Header1' AS header WITH ; + Alignment = 2, ; + Caption = "Part. rez.", ; + FontName = "Arial", ; + FontSize = 10, ; + Name = "Header1" + *< END OBJECT: BaseClass="header" /> + + ADD OBJECT 'grdStocuri.cPart_rez.Text1' AS textbox WITH ; + BackColor = 255,255,255, ; + BorderStyle = 0, ; + FontName = "Arial", ; + FontSize = 10, ; + ForeColor = 0,0,0, ; + Margin = 0, ; + Name = "Text1", ; + SelectedBackColor = 100,185,255 + *< END OBJECT: BaseClass="textbox" /> + + ADD OBJECT 'grdStocuri.Cpretv.Header1' AS header WITH ; + Alignment = 2, ; + Caption = "Pret vanzare", ; + FontName = "Arial", ; + FontSize = 10, ; + Name = "Header1" + *< END OBJECT: BaseClass="header" /> + + ADD OBJECT 'grdStocuri.Cpretv.Text1' AS textbox WITH ; + BackColor = 255,255,255, ; + BorderStyle = 0, ; + FontName = "Arial", ; + FontSize = 10, ; + ForeColor = 0,0,0, ; + Margin = 0, ; + Name = "Text1", ; + ReadOnly = .T., ; + SelectedBackColor = 100,185,255 + *< END OBJECT: BaseClass="textbox" /> + + ADD OBJECT 'grdStocuri.Cpretvtva.Header1' AS header WITH ; + Alignment = 2, ; + Caption = "Pret vanzare cu TVA", ; + FontName = "Arial", ; + FontSize = 10, ; + Name = "Header1" + *< END OBJECT: BaseClass="header" /> + + ADD OBJECT 'grdStocuri.Cpretvtva.Text1' AS textbox WITH ; + BackColor = 255,255,255, ; + BorderStyle = 0, ; + FontName = "Arial", ; + FontSize = 10, ; + ForeColor = 0,0,0, ; + Margin = 0, ; + Name = "Text1", ; + ReadOnly = .T., ; + SelectedBackColor = 100,185,255 + *< END OBJECT: BaseClass="textbox" /> + + ADD OBJECT 'grdStocuri.cSerie.Header1' AS header WITH ; + Alignment = 2, ; + Caption = "Serie", ; + FontName = "Arial", ; + FontSize = 10, ; + Name = "Header1" + *< END OBJECT: BaseClass="header" /> + + ADD OBJECT 'grdStocuri.cSerie.Text1' AS textbox WITH ; + BackColor = 255,255,255, ; + BorderStyle = 0, ; + FontName = "Arial", ; + FontSize = 10, ; + ForeColor = 0,0,0, ; + Margin = 0, ; + Name = "Text1", ; + SelectedBackColor = 100,185,255 + *< END OBJECT: BaseClass="textbox" /> + + ADD OBJECT 'grdStocuri.Cstoc.Header1' AS header WITH ; + Alignment = 2, ; + Caption = "Stoc", ; + FontName = "Arial", ; + FontSize = 10, ; + Name = "Header1" + *< END OBJECT: BaseClass="header" /> + + ADD OBJECT 'grdStocuri.Cstoc.Text1' AS textbox WITH ; + BackColor = 255,255,255, ; + BorderStyle = 0, ; + FontName = "Arial", ; + FontSize = 10, ; + ForeColor = 0,0,0, ; + Margin = 0, ; + Name = "Text1", ; + ReadOnly = .T., ; + SelectedBackColor = 100,185,255 + *< END OBJECT: BaseClass="textbox" /> + + ADD OBJECT 'grdStocuri.cSucursala.Header1' AS header WITH ; + Alignment = 2, ; + Caption = "Sucursala", ; + FontName = "Arial", ; + FontSize = 10, ; + Name = "Header1" + *< END OBJECT: BaseClass="header" /> + + ADD OBJECT 'grdStocuri.cSucursala.Text1' AS textbox WITH ; + BackColor = 255,255,255, ; + BorderStyle = 0, ; + FontName = "Arial", ; + FontSize = 10, ; + ForeColor = 0,0,0, ; + Margin = 0, ; + Name = "Text1", ; + SelectedBackColor = 100,185,255 + *< END OBJECT: BaseClass="textbox" /> + + ADD OBJECT 'grdStocuri.cTaraOrigine.Header1' AS header WITH ; + Alignment = 2, ; + Caption = "Tara origine", ; + Name = "Header1" + *< END OBJECT: BaseClass="header" /> + + ADD OBJECT 'grdStocuri.cTaraOrigine.Text1' AS textbox WITH ; + BackColor = 255,255,255, ; + BorderStyle = 0, ; + ForeColor = 0,0,0, ; + Margin = 0, ; + Name = "Text1", ; + ReadOnly = .T., ; + SelectedBackColor = 100,185,255 + *< END OBJECT: BaseClass="textbox" /> + + ADD OBJECT 'grdStocuri.Ctvav.Header1' AS header WITH ; + Alignment = 2, ; + Caption = "TVA vanzare", ; + FontName = "Arial", ; + FontSize = 10, ; + Name = "Header1" + *< END OBJECT: BaseClass="header" /> + + ADD OBJECT 'grdStocuri.Ctvav.Text1' AS textbox WITH ; + BackColor = 255,255,255, ; + BorderStyle = 0, ; + FontName = "Arial", ; + FontSize = 10, ; + ForeColor = 0,0,0, ; + Margin = 0, ; + Name = "Text1", ; + ReadOnly = .T., ; + SelectedBackColor = 100,185,255 + *< END OBJECT: BaseClass="textbox" /> + + ADD OBJECT 'grdStocuri.Cum.Header1' AS header WITH ; + Alignment = 2, ; + Caption = "UM", ; + FontName = "Arial", ; + FontSize = 10, ; + Name = "Header1" + *< END OBJECT: BaseClass="header" /> + + ADD OBJECT 'grdStocuri.Cum.Text1' AS textbox WITH ; + BackColor = 255,255,255, ; + BorderStyle = 0, ; + FontName = "Arial", ; + FontSize = 10, ; + ForeColor = 0,0,0, ; + Margin = 0, ; + Name = "Text1", ; + ReadOnly = .T., ; + SelectedBackColor = 100,185,255 + *< END OBJECT: BaseClass="textbox" /> + + ADD OBJECT 'grdStocuri.cUm2.Header1' AS header WITH ; + Alignment = 2, ; + Caption = "Um2", ; + FontName = "Arial", ; + FontSize = 10, ; + Name = "Header1" + *< END OBJECT: BaseClass="header" /> + + ADD OBJECT 'grdStocuri.cUm2.Text1' AS textbox WITH ; + BackColor = 255,255,255, ; + BorderStyle = 0, ; + FontName = "Arial", ; + FontSize = 10, ; + ForeColor = 0,0,0, ; + Margin = 0, ; + Name = "Text1", ; + SelectedBackColor = 100,185,255 + *< END OBJECT: BaseClass="textbox" /> + + ADD OBJECT 'Lb_shortcuts1' AS lb_shortcuts WITH ; + Caption = "ESC = Renuntare; CTRL+Q = Cautare; CTRL+T = Resetare", ; + Left = 8, ; + Name = "Lb_shortcuts1", ; + Top = 15 + *< END OBJECT: ClassLib="lb.vcx" BaseClass="label" /> + + ADD OBJECT 'LB_SIMPLU1' AS lb_simplu WITH ; + Caption = "Gestiuni la pret de vanzare", ; + Left = 8, ; + Name = "LB_SIMPLU1", ; + TabIndex = 37, ; + Top = 57, ; + ZOrderSet = 17 + *< END OBJECT: ClassLib="lb.vcx" BaseClass="label" /> + + ADD OBJECT 'lbl1' AS _label WITH ; + Anchor = 9, ; + AutoSize = .F., ; + BackColor = 219,219,219, ; + BackStyle = 1, ; + BorderStyle = 1, ; + Caption = " Val. Stoc Precedent", ; + Height = 21, ; + Left = 225, ; + Name = "lbl1", ; + TabIndex = 33, ; + Top = 56, ; + Visible = .T., ; + Width = 137, ; + ZOrderSet = 13 + *< END OBJECT: ClassLib="_baza.vcx" BaseClass="label" /> + + ADD OBJECT 'lbl2' AS _label WITH ; + Anchor = 9, ; + AutoSize = .F., ; + BackColor = 219,219,219, ; + BackStyle = 1, ; + BorderStyle = 1, ; + Caption = " Val. Intrari", ; + Height = 21, ; + Left = 365, ; + Name = "lbl2", ; + TabIndex = 34, ; + Top = 56, ; + Visible = .T., ; + Width = 132, ; + ZOrderSet = 15 + *< END OBJECT: ClassLib="_baza.vcx" BaseClass="label" /> + + ADD OBJECT 'lbl3' AS _label WITH ; + Anchor = 9, ; + AutoSize = .F., ; + BackColor = 219,219,219, ; + BackStyle = 1, ; + BorderStyle = 1, ; + Caption = " Val. Iesiri", ; + Height = 21, ; + Left = 498, ; + Name = "lbl3", ; + TabIndex = 36, ; + Top = 56, ; + Visible = .T., ; + Width = 132, ; + ZOrderSet = 18 + *< END OBJECT: ClassLib="_baza.vcx" BaseClass="label" /> + + ADD OBJECT 'lbl4' AS _label WITH ; + Anchor = 9, ; + AutoSize = .F., ; + BackColor = 219,219,219, ; + BackStyle = 1, ; + BorderStyle = 1, ; + Caption = " Val. Stoc Final", ; + Height = 21, ; + Left = 631, ; + Name = "lbl4", ; + TabIndex = 35, ; + Top = 56, ; + Visible = .T., ; + Width = 132, ; + ZOrderSet = 16 + *< END OBJECT: ClassLib="_baza.vcx" BaseClass="label" /> + + ADD OBJECT 'lbl6' AS _label WITH ; + Anchor = 9, ; + AutoSize = .F., ; + BackColor = 219,219,219, ; + BackStyle = 1, ; + BorderStyle = 1, ; + Caption = " Preturi de vanzare cu TVA", ; + Height = 21, ; + Left = 56, ; + Name = "lbl6", ; + TabIndex = 32, ; + Top = 78, ; + Visible = .T., ; + Width = 166, ; + ZOrderSet = 14 + *< END OBJECT: ClassLib="_baza.vcx" BaseClass="label" /> + + ADD OBJECT 'shp_total' AS shape WITH ; + Anchor = 10, ; + BackColor = 239,239,239, ; + BackStyle = 1, ; + Height = 51, ; + Left = 0, ; + Name = "shp_total", ; + SpecialEffect = 0, ; + Top = 52, ; + Width = 770, ; + ZOrderSet = 10 + *< END OBJECT: BaseClass="shape" /> + + ADD OBJECT 'Text5' AS _textbox WITH ; + Alignment = 1, ; + Anchor = 9, ; + BackStyle = 0, ; + ControlSource = "thisform.vstoc_precv", ; + Format = "r", ; + Height = 21, ; + InputMask = (get_mask(14,gnPa)), ; + Left = 225, ; + Name = "Text5", ; + ReadOnly = .T., ; + SpecialEffect = 2, ; + TabIndex = 27, ; + Top = 78, ; + Visible = .T., ; + Width = 137, ; + ZOrderSet = 19 + *< END OBJECT: ClassLib="_baza.vcx" BaseClass="textbox" /> + + ADD OBJECT 'Text6' AS _textbox WITH ; + Alignment = 1, ; + Anchor = 9, ; + BackStyle = 0, ; + ControlSource = "thisform.vstoc_inv", ; + Format = "r", ; + Height = 21, ; + InputMask = (get_mask(14,gnPa)), ; + Left = 365, ; + Name = "Text6", ; + ReadOnly = .T., ; + SpecialEffect = 2, ; + TabIndex = 28, ; + Top = 78, ; + Visible = .T., ; + Width = 132, ; + ZOrderSet = 21 + *< END OBJECT: ClassLib="_baza.vcx" BaseClass="textbox" /> + + ADD OBJECT 'Text7' AS _textbox WITH ; + Alignment = 1, ; + Anchor = 9, ; + BackStyle = 0, ; + ControlSource = "thisform.vstoc_outv", ; + Format = "r", ; + Height = 21, ; + InputMask = (get_mask(14,gnPa)), ; + Left = 498, ; + Name = "Text7", ; + ReadOnly = .T., ; + SpecialEffect = 2, ; + TabIndex = 29, ; + Top = 78, ; + Visible = .T., ; + Width = 132, ; + ZOrderSet = 23 + *< END OBJECT: ClassLib="_baza.vcx" BaseClass="textbox" /> + + ADD OBJECT 'Text8' AS _textbox WITH ; + Alignment = 1, ; + Anchor = 9, ; + BackStyle = 0, ; + ControlSource = "thisform.vstoc_finalv", ; + Format = "r", ; + Height = 21, ; + InputMask = (get_mask(14,gnPa)), ; + Left = 631, ; + Name = "Text8", ; + ReadOnly = .T., ; + SpecialEffect = 2, ; + TabIndex = 30, ; + Top = 78, ; + Visible = .T., ; + Width = 132, ; + ZOrderSet = 24 + *< END OBJECT: ClassLib="_baza.vcx" BaseClass="textbox" /> + + PROCEDURE actualizeaza_grid1 + LPARAMETERS tcFiltru + LOCAL lcFiltru + IF EMPTY(tcFiltru) + lcFiltru = poStocuri.ca_baza1.cfiltru + ELSE + lcFiltru = tcFiltru + ENDIF + + save_grid_tag(This.grdStocuri) + poStocuri.ca_baza1.cfiltru=lcFiltru + poStocuri.ca_baza1.afisare() + restore_grid_tag(This.grdStocuri) + this.grdStocuri.refresh + + + ENDPROC + + PROCEDURE butappend + ENDPROC + + PROCEDURE calcul_sume + Select crsStocuri + + With Thisform + Calculate Sum(Round((pretv+tvav)*cants,gnPc)),Sum(Round((pretv+tvav)*cant,gnPc)),; + Sum(Round((pretv+tvav)*cante,gnPc)), Sum(Round((pretv+tvav)*(cants+cant-cante),gnPc)); + TO .vstoc_precv,.vstoc_inv,.vstoc_outv, .vstoc_finalv + .text5.refresh() + .text6.refresh() + .text7.refresh() + .text8.refresh() + Endwith + + ENDPROC + + PROCEDURE do_cauta + Lparameters tcFiltru, tlForceSerch + + Local lcFiltru + If !Empty(tcFiltru) + lcFiltru = [ and ] + tcFiltru + Else + lcFiltru = [] + Endif + + + If Thisform.chk_fara_miscare.Value = 1 + ldDataFM = This.data_f_misc + lcFiltru = lcFiltru + [ AND (a.datain is null OR a.datain <= to_date('] + Dtos(ldDataFM) +; + [','YYYYMMDD'))] +; + [ AND (a.dataout is null OR a.dataout <= to_date('] + Dtos(ldDataFM) +; + [','YYYYMMDD'))] + Endif + + + If !Empty(lcFiltru) + lcFiltru = This.cfiltruinitial + lcFiltru + Else + lcFiltru = This.cfiltruinitial + Endif + + && filtru pretty + IF LEN(THISFORM.filtru_pretty)>0 + filtrutext=THISFORM.filtru_pretty + lcFiltru=lcFiltru+" and ("+ALLTRIM(filtrutext)+")" + ENDIF + + IF (THIS.filtru_pretty#"none" OR tlForceSerch) + THISFORM.actualizeaza_grid1(lcFiltru) + THIS.calcul_sume() + IF RECCOUNT('crsStocuri')=0 + aMessagebox("Cautarea nu a intors rezultate!",0+48,"Info cautare") + ENDIF + ENDIF + THISFORM.but_start_criterii1.SETFOCUS + + + + ENDPROC + + PROCEDURE do_excel + *!* export_excel(this.grdStocuri,[STOCURI]) + Local lcAlias, lcFiltru, lcColumnList, lcHeaderList, lcSelect, lcOutput, lcFrom, lcWhere, lcOrder + lcAlias = This.grdStocuri.RecordSource + + If Reccount(lcAlias)>0 + lcFiltru = Filter(lcAlias) + If Empty(lcFiltru) + lcFiltru = '.T.' + Endif + + lcColumnList = '' + lcHeaderList = '' + lcSelect = '' + llSelect = .T. + lcType = 'CURSOR' + lcFrom = lcAlias + lcWhere = lcFiltru + lcOrder = 'codmat,denumire' + lcOutput = 'crsStoc' + + If Used(lcOutput) + Use In (lcOutput) + Endif + + get_schema_grid(This.grdStocuri,@lcColumnList, @lcHeaderList, @lcSelect, llSelect, lcType, lcFrom, lcWhere, lcOrder, lcOutput) + &lcSelect + + If Used(lcOutput) + Do export_xls With lcOutput In oproceduri_comune.prg + Use In (lcOutput) + Endif + Else + amessagebox("Nu exista inregistrari pentru export in Excel!",48,"Atentie") + Endif + + ENDPROC + + PROCEDURE do_listare + PRIVATE pcSubtitlu + pcSubtitlu = THIS.filtru_pretty_ro_full + + x=xmenu("\0 + Private pcTitlu,pcDataora + Store "" To pcTitlu,pcDataora + Local lcOrder, lcOrderColumn, loColumnSort, lcFilter, lcFiltru + lcOrder = "" + lcOrderColumn = "" + + lcFilter = Filter('crsStocuri') + lcFiltru = Iif(!Empty(m.lcFilter), 'where ' + m.lcFilter, '') + lcFiltru = Strtran(m.lcFiltru, 'crsstocuri.','a.',1,10,1) + + loColumnSort = Thisform.gridextra1.currentcolumn + lcColoanaOrdonare = [] + If Type('loColumnSort') == 'O' + lcOrderColumn = [1] + Iif(Thisform.gridextra1.Ascending,[ DESC],[]) + lcColoanaOrdonare = Strtran(Upper(Alltrim(loColumnSort.ControlSource)),[CRSSTOCURI.],[a.]) + [ as colord1,] + Endif + + + If Empty(lcOrderColumn) + lcOrder = "a.nume_gestiune,a.denumire,a.codmat" + Else + Do Case + Case lcOrderColumn = 'CODMAT' + lcOrder = "a.nume_gestiune,a.CODMAT,a.denumire" + Case lcOrderColumn = 'DENUMIRE' + lcOrder = "a.nume_gestiune,a.DENUMIRE,a.CODMAT" + Otherwise + lcOrder = "a.nume_gestiune," + lcOrderColumn + Endcase + Endif + + lcComanda = [Select nume_gestiune, serie, lot, um, codmat, denumire, SUM(cants) as cants, SUM(cant) as cant, SUM(cante) as cante, SUM(cants+cant-cante) as stoc ] + ; + [ From crsStocuri a ] + m.lcFiltru + ; + [ group by nume_gestiune, serie, lot, um, codmat, denumire ] + ; + [ Order By ] + lcOrder + ; + [ Into Cursor crs_rap] + &lcComanda + + pcTitlu = [STOCURI - ARTICOLE] + Thisform.AlwaysOnTop=.F. + goExport.export2frx([crs_rap],[rap_stoc_art_cant],.T., , , , , .T.) + + Thisform.AlwaysOnTop=.T. + IF AMESSAGEBOX('Doriti sa salvati in format xls?',4+32,_Screen.Caption) = 6 + goExport.export2xls("crs_rap", "stoc_articole.xls") + ENDIF + Use In (SELECT('crs_rap')) + Else + amessage("Nu exista inregistrari pentru listare!",0+48,"Atentie") + Endif + + ENDPROC + + PROCEDURE do_listare_borderou + Thisform.AlwaysOnTop=.F. + DO rap_compar_stoc_bal + Thisform.AlwaysOnTop=.T. + *!* If Reccount('crsStocuri')>0 + *!* Select Nvl(Cont,' ') As Cont,Nvl(acont,' ') As acont,; + *!* pretv+tvav As pretvtva,cants,cant,cante From crsStocuri Into Cursor crsStocuri_temp + + *!* Select Distinct Cont,acont,; + *!* 000000000000000000.0000 As Prec,000000000000000000.0000 As intrari,; + *!* 000000000000000000.0000 As iesiri,000000000000000000.0000 As sold ; + *!* WHERE !Empty(Cont); + *!* FROM crsStocuri_temp Into Cursor crsConturi Readwrite Order By Cont,acont + + *!* Select crsConturi + *!* Scan + *!* Scatter Name loCont + *!* Select crsStocuri_temp + *!* Calculate Sum(Round(cants*pretvtva,gnPC)), Sum(Round(cant*pretvtva,gnPC)),Sum(Round(cante*pretvtva,gnPC)) ; + *!* FOR Alltrim(Cont)=Alltrim(loCont.Cont) And Alltrim(acont)=Alltrim(loCont.acont) To ; + *!* loCont.Prec,loCont.intrari,loCont.iesiri; + + *!* Select crsConturi + *!* Gather Name loCont + *!* Endscan + + *!* Select crsConturi + *!* Replace All sold With Prec+intrari-iesiri + + *!* lcTitlu = [Borderou de verificare valorica] + *!* pcTitlu = ceretitlu_rap([Titlul raportului],lcTitlu) + *!* pcDataora = get_Ora(2) + + *!* Select crsConturi + *!* Thisform.AlwaysOnTop=.F. + *!* Select crsConturi + *!* KEYBOARD '{CTRL+F10}' + *!* Report Form rap_stoc_borderou-2525.frx To Printer Prompt Preview + *!* Thisform.AlwaysOnTop=.T. + + *!* Use In crsConturi + *!* Use In crsStocuri_temp + *!* Else + *!* amessagebox("Nu exista inregistrari pentru listare!",0+48,"Atentie") + *!* Endif + ENDPROC + + PROCEDURE do_listare_fisa_magazie + If Reccount("crsstocuri")>0 + Private PcCodul,pcdenumire,pcondper + Store '' To pcondper + Local ldata1,ldata2,lcd1,lcd2 + Thisform.AlwaysOnTop=.F. + + Select crsstocuri + PcCodul=Val(Alltrim(Str(id_articol))) + pcdenumire=Upper(Alltrim(denumire)) + pnIdGestiune = id_gestiune + pcNumeGestiune = Alltrim(nume_gestiune) + pcSerie = ALLTRIM(serie) + + Do fisa_magazie_fifo With thisform.ntipgest,pnIdGestiune,pcNumeGestiune,PcCodul,pcSerie + + Thisform.AlwaysOnTop=.T. + Else + amessagebox("Nu exista inregistrari pentru listare!",0+48,"Atentie") + Endif + + ENDPROC + + PROCEDURE do_listare_selectie + If Reccount('crsStocuri')>0 + Private pcTitlu,pcDataora + Store "" To pcTitlu,pcDataora + Local lcOrder, lcOrderColumn, loColumnSort + lcOrder = "" + lcOrderColumn = "" + + loColumnSort = This.gridsort1.ocolumnreference + lcOrderColumn = "" + lcColoanaOrdonare = [] + If Type('loColumnSort') = 'O' + *!* modificare v 2.0.169 + *!* lcOrderColumn = Upper(Alltrim(loColumnSort.ControlSource)) + lcOrderColumn = [1] + IIF(UPPER(ALLTRIM(loColumnSort.Tag))=[DOWN],[ DESC],[]) + lcColoanaOrdonare = STRTRAN(UPPER(ALLTRIM(loColumnSort.ControlSource)),[CRSSTOCURI.],[a.]) + [ as colord1,] + *!* modificare v 2.0.169 ^ + Endif + + If Empty(lcOrderColumn) + lcOrder = "a.nume_gestiune,a.denumire,a.codmat" + Else + Do Case + Case lcOrderColumn = 'CODMAT' + lcOrder = "a.nume_gestiune,a.CODMAT,a.denumire" + Case lcOrderColumn = 'DENUMIRE' + lcOrder = "a.nume_gestiune,a.DENUMIRE,a.CODMAT" + Otherwise + lcOrder = "a.nume_gestiune," + lcOrderColumn + Endcase + Endif + *!* modificare v 2.0.169 + *!* Select * From crsStocuri Into Cursor crs_rap Order By &lcOrder + lcComanda = [Select ] + lcColoanaOrdonare + [a.* From crsStocuri a Into Cursor crs_rap Order By ] + lcOrder + &lcComanda + *!* modificare v 2.0.169 ^ + + If Thisform.chk_fara_miscare.Value = 1 + *!* lcTitlu = [STOCURI FARA MISCARE IN ULTIMELE ]+Thisform.nzile+[ ZILE] + lcTitlu = [STOCURI FARA MISCARE] + Else + lcTitlu = [STOCURI - GESTIUNI] + Endif + + pcTitlu = m.lcTitlu && ceretitlu_rap([Titlul raportului],lcTitlu) + pcDataora = get_Ora(2) + + Thisform.AlwaysOnTop=.F. + Select crs_rap + *KEYBOARD '{CTRL+F10}' + *Report Format rap_stoc_pretv.frx To Printer Prompt Noconsole Preview + goExport.export2frx([crs_rap],[rap_stoc_pretv],.T., , , , , .T.) + Thisform.AlwaysOnTop=.T. + Use In crs_rap + Else + amessagebox("Nu exista inregistrari pentru listare!",0+48,"Atentie") + Endif + + ENDPROC + + PROCEDURE do_reface + *!* 17.12.2020 + *!* marius.mutu + *!* am scos refacerea lunara - se pune 0 (accidental) pe stoc precedent daca daca nu stie ce face + *!* probabil este nevoie de refacere lunara intr-o situatie de initializare + + If m.glLunaInchisa + AMESSAGEBOX('Luna este inchisa! Nu se pot da refaceri!',0+64,_screen.Caption) + Return + Endif + + Local lcCont, x, lcSursa, lnLuna, lnAn, lcLunar + lcCont = [] + lcSursa = [STOC] + lnLuna = gnLuna + lnAn = gnAn + + x= xmenu('Refacere cu \ 0 + aMESSAGEBOX("Refacerea s-a terminat!",0+64,"Refacere stocuri") + Thisform.actualizeaza_grid1() + Endif + + * do inainte WITH "BALANTA_parteneri",lcCont in oinainte_de.prg + + ENDPROC + + PROCEDURE do_verifica + Local contselect + contselect= '' + + *!* modificare 18.02.2008 + SELECT DISTINCT CONT FROM crsStocuri INTO CURSOR cConturiTemp + IF _TALLY = 1 + contselect=ALLTRIM(cConturiTemp.CONT) + ELSE + contselect='' + ENDIF + USE IN (SELECT('cConturiTemp')) + + *!* If Thisform.ck_filtru_cont.Value=1 + *!* contselect=Thisform.ck_filtru_cont.filtru + *!* contselect=Strtran(contselect,'AND','') + *!* contselect=Strtran(contselect,'(','') + *!* contselect=Strtran(contselect,')','') + *!* contselect=Strtran(contselect,'A.CONT','') + *!* contselect=Strtran(contselect,"'",'') + *!* contselect=Strtran(contselect,'%','') + *!* contselect=Strtran(contselect,'LIKE','') + *!* contselect=Alltrim(contselect) + *!* Else + *!* contselect='' + *!* Endif + *!* modificare 18.02.2008 ^ + + Do verific_stoc_cu_balanta With contselect,2 && 2 = gestiuni la pret de vanzare + ENDPROC + + PROCEDURE initializare + ENDPROC + + PROCEDURE But_listare1.Click + thisform.do_listare_borderou + ENDPROC + + PROCEDURE But_listare3.Click + If Reccount("crsstocuri")>0 + Private PcCodul,pcdenumire,pcondper + Store '' To pcondper + Local ldata1,ldata2,lcd1,lcd2 + Thisform.AlwaysOnTop=.F. + + Select crsstocuri + PcCodul=Val(Alltrim(Str(id_articol))) + pcdenumire=Upper(Alltrim(denumire)) + pnIdGestiune = id_gestiune + pcNumeGestiune = Alltrim(nume_gestiune) + pcSerie = ALLTRIM(serie) + + Do fisa_magazie_fifo With thisform.ntipgest,pnIdGestiune,pcNumeGestiune,PcCodul,pcSerie + + Thisform.AlwaysOnTop=.T. + Else + amessagebox("Nu exista inregistrari pentru listare!",0+48,"Atentie") + Endif + + ENDPROC + + PROCEDURE But_start_criterii1.loadcriterii + PARAMETERS tacriterii + EXTERNAL ARRAY tacriterii + #DEFINE crlf CHR(13)+CHR(10) + lcStringCriterii="Denumire articol\denumire\T\id_articol\nom_articol"+ crlf + ; + "Cod material\codmat\T\none\" + crlf + ; + "Serie articol\serie\T\none\" + crlf + ; + "Subgrupa articol\subgrupa\T\id_subgrupa\nom_subgrupa_articol"+ crlf + ; + "Gestiune\none\I\id_gestiune\nom_gestiune" + crlf + ; + "Grupe gestiuni\|E|" + ; + [a.id_gestiune in ( ] + ; + [ select ID_GESTIUNE ] + ; + [ from vgest_coresp_grupe_gestiuni c ] + ; + [ join (select id_grupe ] + ; + [ from gest_nom_grupe ] + ; + [ where sters = 0 ] + ; + [ start with id_grupe = <> ] + ; + [ connect by prior id_grupe = parent_id) g on c.id_grupe = g.id_grupe )\I\none\nom_grupa_gestiune] + crlf + ; + "Cont\cont\T\none\"+ crlf + ; + "Cont analitic\acont\T\none\"+ crlf + ; + "Data intrare\trunc(datain)\D\none\"+ crlf + ; + "Data iesire\trunc(dataout)\D\none\"+ crlf + ; + "Pret achizitie\pret\N|get_mask(12,gnPpret)\none\"+ crlf + ; + "Pret vanzare\pretv\N|get_mask(12,gnPpret)\none\"+ crlf + ; + "Pret valuta\pretd\N|get_mask(12,gnPPretval)\none\" + crlf + ; + "Valuta\nume_val\T\ID_VALUTA\nom_valuta" + crlf + ; + "Furnizor principal\furn_princ\T\id_part\nom_parteneri" + crlf + ; + "Furnizor\furnizor\T\id_furnizor\nom_parteneri" + crlf + ; + "Lucrare rezervare\nrord_rez\T\ID_LUCRARE_REZ\nom_lucrare" + crlf + ; + "Partener rezervare\part_rez\T\id_part_rez\nom_parteneri" + crlf + ; + "Stoc\cants+cant-cante\N|get_mask(12,gnPcant)\none\" + crlf + ; + "Stoc negativ\nofiled\E\(cants+cant-cante<0)\" + crlf + ; + "Cu rulaj\nofiled\E\(cant!=0 or cante!=0)\" + crlf + ; + "Fara rulaj\nofiled\E\(cant=0 and a.cante=0)\" + crlf + ; + "Cota TVA\proc_tvav\N|get_mask(12,2)\none\" + crlf + ; + IIF(EMPTY(gcCondSucursala) and glEMama,"Sucursala\sucursala\C\none\",[]) + + DODEFAULT() + + ENDPROC + + PROCEDURE Chk_fara_miscare.InteractiveChange + IF THIS.VALUE = 1 + THISFORM.data_f_misc = DATE(YEAR(DATE()),1,1) + ldDataFM = THISFORM.data_f_misc + loFaraMiscare = CREATEOBJECT("frm_fara_miscare") + loFaraMiscare.SHOW() + THISFORM.data_f_misc = ldDataFM + IF !PEMSTATUS(THIS,"cTraducere",5) + THIS.ADDPROPERTY("cTraducere","") + ENDIF + + + THIS.cTraducere = "Data intrare/iesire <= " + DTOC(ldDataFM) + ELSE + THIS.cTraducere = "" + ENDIF + + THISFORM.do_cauta() + THISFORM.but_start_criterii1.refreshstatus() + + ENDPROC + + PROCEDURE grdStocuri.Ccant.Text1.GotFocus + lcMask=Strtran(This.Parent.InputMask,' ','') + lnNrZec=At('.',lcMask,1) + Thisform.coldvalue=Alltrim(Str(This.Value,Len(lcMask),Iif(lnNrZec>0,Len(lcMask)-lnNrZec,0))) + Thisform.cnewvalue=Thisform.coldvalue + ENDPROC + + PROCEDURE grdStocuri.Ccant.Text1.InteractiveChange + lcMask=Strtran(This.Parent.InputMask,' ','') + lnNrZec=At('.',lcMask,1) + Thisform.cnewvalue=Alltrim(Str(This.Value,Len(lcMask),Iif(lnNrZec>0,Len(lcMask)-lnNrZec,0))) + ENDPROC + + PROCEDURE grdStocuri.Ccante.Text1.GotFocus + lcMask=Strtran(This.Parent.InputMask,' ','') + lnNrZec=At('.',lcMask,1) + Thisform.coldvalue=Alltrim(Str(This.Value,Len(lcMask),Iif(lnNrZec>0,Len(lcMask)-lnNrZec,0))) + Thisform.cnewvalue=Thisform.coldvalue + ENDPROC + + PROCEDURE grdStocuri.Ccante.Text1.InteractiveChange + lcMask=Strtran(This.Parent.InputMask,' ','') + lnNrZec=At('.',lcMask,1) + Thisform.cnewvalue=Alltrim(Str(This.Value,Len(lcMask),Iif(lnNrZec>0,Len(lcMask)-lnNrZec,0))) + ENDPROC + + PROCEDURE grdStocuri.Ccants.Text1.GotFocus + lcMask=Strtran(This.Parent.InputMask,' ','') + lnNrZec=At('.',lcMask,1) + Thisform.coldvalue=Alltrim(Str(This.Value,Len(lcMask),Iif(lnNrZec>0,Len(lcMask)-lnNrZec,0))) + Thisform.cnewvalue=Thisform.coldvalue + ENDPROC + + PROCEDURE grdStocuri.Ccants.Text1.InteractiveChange + lcMask=Strtran(This.Parent.InputMask,' ','') + lnNrZec=At('.',lcMask,1) + Thisform.cnewvalue=Alltrim(Str(This.Value,Len(lcMask),Iif(lnNrZec>0,Len(lcMask)-lnNrZec,0))) + ENDPROC + + PROCEDURE grdStocuri.Cdatain.Text1.GotFocus + + Thisform.coldvalue=This.Value + Thisform.cnewvalue=Thisform.coldvalue + ENDPROC + + PROCEDURE grdStocuri.Cdatain.Text1.InteractiveChange + + Thisform.cnewvalue=This.Value + ENDPROC + + PROCEDURE grdStocuri.Cdataout.Text1.GotFocus + Thisform.coldvalue=This.Value + Thisform.cnewvalue=Thisform.coldvalue + ENDPROC + + PROCEDURE grdStocuri.Cdataout.Text1.InteractiveChange + Thisform.cnewvalue=This.Value + ENDPROC + + PROCEDURE grdStocuri.Column19.Text1.GotFocus + lcMask=Strtran(This.Parent.InputMask,' ','') + lnNrZec=At('.',lcMask,1) + Thisform.coldvalue=Alltrim(Str(This.Value,Len(lcMask),Iif(lnNrZec>0,Len(lcMask)-lnNrZec,0))) + Thisform.cnewvalue=Thisform.coldvalue + ENDPROC + + PROCEDURE grdStocuri.Column19.Text1.InteractiveChange + lcMask=Strtran(This.Parent.InputMask,' ','') + lnNrZec=At('.',lcMask,1) + Thisform.cnewvalue=Alltrim(Str(This.Value,Len(lcMask),Iif(lnNrZec>0,Len(lcMask)-lnNrZec,0))) + ENDPROC + + PROCEDURE grdStocuri.Cpretv.Text1.GotFocus + lcMask=Strtran(This.Parent.InputMask,' ','') + lnNrZec=At('.',lcMask,1) + Thisform.coldvalue=Alltrim(Str(This.Value,Len(lcMask),Iif(lnNrZec>0,Len(lcMask)-lnNrZec,0))) + Thisform.cnewvalue=Thisform.coldvalue + ENDPROC + + PROCEDURE grdStocuri.Cpretv.Text1.InteractiveChange + lcMask=Strtran(This.Parent.InputMask,' ','') + lnNrZec=At('.',lcMask,1) + Thisform.cnewvalue=Alltrim(Str(This.Value,Len(lcMask),Iif(lnNrZec>0,Len(lcMask)-lnNrZec,0))) + ENDPROC + + PROCEDURE grdStocuri.Ctvav.Text1.GotFocus + lcMask=Strtran(This.Parent.InputMask,' ','') + lnNrZec=At('.',lcMask,1) + Thisform.coldvalue=Alltrim(Str(This.Value,Len(lcMask),Iif(lnNrZec>0,Len(lcMask)-lnNrZec,0))) + Thisform.cnewvalue=Thisform.coldvalue + ENDPROC + + PROCEDURE grdStocuri.Ctvav.Text1.InteractiveChange + lcMask=Strtran(This.Parent.InputMask,' ','') + lnNrZec=At('.',lcMask,1) + Thisform.cnewvalue=Alltrim(Str(This.Value,Len(lcMask),Iif(lnNrZec>0,Len(lcMask)-lnNrZec,0))) + ENDPROC + + PROCEDURE grdStocuri.Init + * + ENDPROC + +ENDDEFINE diff --git a/clase/systray.vc2 b/clase/systray.vc2 new file mode 100644 index 0000000..8c94f7e --- /dev/null +++ b/clase/systray.vc2 @@ -0,0 +1,1165 @@ +*-------------------------------------------------------------------------------------------------------------------------------------------------------- +* (EN) AUTOGENERATED - ATTENTION!! - NOT INTENDED FOR EXECUTION!! USE ONLY FOR MERGING CHANGES AND STORING WITH SCM TOOLS!! +*-------------------------------------------------------------------------------------------------------------------------------------------------------- +*< FOXBIN2PRG: Version="1.21" SourceFile="systray.vcx" CPID="1252" /> (Solo para binarios VFP 9 / Only for VFP 9 binaries) +* +* +DEFINE CLASS systray AS hyperlink + *< CLASSDATA: Baseclass="hyperlink" Timestamp="" Scale="Pixels" Uniqueid="" /> + + * + *m: addicontoiconlist && Adds an icon file to list of icons. Accepts a string parameter containing a filename. Call the SwitchIcon method to switch to the next icon. + *m: addicontosystray && Adds the icon to the Taskbar Notification Area ("systray"). + *m: balloonclickevent && Occurs when user clicks on balloon tip. + *m: balloonhideevent && Occurs if the user clicks on the close button of the balloon tip. + *m: balloonshowevent && Occurs when the BalloonTip is shown. Balloon tips are queued by the system, so you balloon tip may not be displayed immediately after calling the DisplayBallloonTip method. + *m: balloontimeoutevent && Occurs if the system closes the balloon tip due to reaching the timeout. + *m: cleariconlist && Clear all icons from the current list. If an icon is currently displayed in the taskbar notification area (systray), it is removed. + *m: currenticonindex_assign + *m: getshellversion && Determines the Major and Minor version of shell32.dll. Used to determine if the shell supports balloon tips on taskbar icons. + *m: gettaskbarposition && Retrieves coordinates of TaskBar. Also returns 0 if docked on bottom, 1 if docked left, 2 if docked top, 3 if docked right. + *m: iconclickevent && Occurs when the user clicks on the icon in the Taskbar Notification Area ("systray"). + *m: icondblclickevent && Occurs when the user double-clicks on the icon in the Taskbar Notification Area. + *m: iconfile_assign + *m: iconmiddleclickevent && Occurs when the user clicks the icon using the middle mouse button. + *m: iconrightclickevent && Occurs when the user right-clicks on the icon in the Taskbar Notification Area ("systray"). + *m: integertostring && Converts an integer to its binary representation. + *m: loadicon && Loads an Icon from a file, and returns an hIcon token. + *m: processmenuevent && This event is called if user has selected an item from a menu defined by the MenuText property. Add code here to act upon the user's selection. + *m: receiveiconevent && Receives the events the Notify Icon. + *m: removeiconfromsystray && Removes the icon from the Taskbar Notification Area ("systray"). + *m: setforegroundwindow && By default, brings the form that contains this object to the foreground. You can also specify a different window to bring forward by passing a numeric hWnd parameter. + *m: showballoontip && Displays a balloon tip over the icon in the Taskbar Notification Area. Parameters: cBalloonText [, cBalloonTitle [, nIcon [, nTimeoutInSeconds]]] + *m: showmenu && Displays the menu defined by the MenuText property, or runs an MPR that defines a shortcut menu. Accepts string parameter containing the filename of the MPR to run, and optional second parameter to be passed to the MPR startup code. + *m: stringtointeger && Convert binary representation of integer into an integer data type. + *m: switchicon && Changes the displayed icon to the next icon in the icon list. Use AddIconToIconList method to populate the icon list, and ClearIconList to start over. + *m: tiptext_assign + *p: addicontosystrayatinit && If .T., the icon will be added to the Taskbar Notification Area ("systray") when this class is instantiated. If .F., you must call the AddIconToSystray() method. + *p: crightclickproc && Numele procedurii care se apeleaza la click dreapta pe iconita din tray. + *p: currenticonindex && Determines which of the currently loaded icons is displayed in the Taskbar Notification Area ("systray"). + *p: enabled && Is .T. when we have an icon in the Taskbar Notification Area ("systray"). + *p: iconcount + *p: iconfile && If only one icon is used, it can be specified here. If multiple icons are to be used (animation), use the AddIconToIconList method. + *p: iconidentifier && Used internally to store a unique id for our icon. This way, multiple instances of this class can be used without interfering with each other. + *p: menuoffsetfromright && Essentially the width of your menu in pixels. This is an offset used when the TaskBar is docked on the right, to prevent the menu from being drawn underneath the taskbar. + *p: menutext && Defines a menu to be displayed when user clicks on icon. Specify a numeric ID and text for each item, separating each by a semicolon. (e.g. 1;Activate; 2; Exit). The ID is passed to the ProcessMenuEvent method after the user has made a menu selecti + *p: menutextismpr && Set to true if the MenuText property contains the name of a MPR to run. The MPR must define a shortcut menu. To pass parameters to the MPR, call ShowMenu method from the IconClick event. + *p: nprevmwaccrual && Previous setting of SYS(2060). + *p: shellversion && Contains the numeric version of the Shell communication method that we've established. + *p: systrayiconid && Contains Unique ID for the systray token that this object creates. + *p: tiptext && Text to be displayed in standard tooltip above the Taskbar Notification Area ("systray"). + *a: aiconlist[1,0] && Array containnig Icons and handles. + *p: _memberdata && XML Metadata for customizable properties + * + + HIDDEN aiconlist,enabled,GoBack,GoForward,iconcount,iconidentifier,NavigateTo,nprevmwaccrual + * + addicontosystrayatinit = .T. + crightclickproc = + currenticonindex = 0 + Height = 23 + iconcount = 0 + iconfile = + iconidentifier = 0 + menuoffsetfromright = 200 + menutext = + Name = "systray" + nprevmwaccrual = 0 + shellversion = 0 + systrayiconid = 0 + tiptext = + Width = 23 + _memberdata = + + + * + + PROCEDURE addicontoiconlist && Adds an icon file to list of icons. Accepts a string parameter containing a filename. Call the SwitchIcon method to switch to the next icon. + LPARAMETERS cIconFileName + + IF !FILE(cIconFileName) + RETURN .f. + ENDIF + + * We must load the icon as a Windows resource. + nHandle = THIS.LoadIcon(m.cIconFileName) + IF m.nHandle = 0 + RETURN .f. + ENDIF + + + * We have a resource handle for the icon. Now we store that + * handle (integer) in our array of icon resource handles. + WITH THIS + .IconCount = .IconCount + 1 + DIMENSION .aIconList[.IconCount] + .aIconList[.IconCount] = m.nHandle + IF .CurrentIconIndex = 0 + .CurrentIconIndex = 1 && Updates Systray immediately + ENDIF + ENDWITH + + RETURN .T. + + + + + + ENDPROC + + PROCEDURE addicontosystray && Adds the icon to the Taskbar Notification Area ("systray"). + *!* This is where the magic happens. + *!* This is an unabashed hack to allow us to get the full functionality + *!* of the Taskbar Notification Area ("System Tray") without having to + *!* use an external C++ library. + *!* To communicate with the systray, we tell it to send us messages via + *!* the MouseWheel event. (This is the only VFP event that doesn't alter + *!* or discard event data before firing the corresponding internal event.) + *!* The second trick is that only the main VFP window will accept the events + *!* without checking to see if the event coordinates are invalid. (The screen + *!* doesn't even need to be visible, so you can have SCREEN=OFF in your + *!* config.fpw file.) So we use VFP8's BINDEVENT() function to bind to the + *!* _SCREEN.MouseWheel event. + *!* This method sets up that communication path. + *!* Returns 1 if successful. + + + LOCAL lcNotifyIconData + + ** NOTIFYICON struct defines + #define NIF_MESSAGE 0x00000001 + #define NIF_ICON 0x00000002 + #define NIF_TIP 0x00000004 + #define NIF_STATE 0x00000008 && Win2k and later. + #define NIF_INFO 0x00000010 && Use balloon tip. Win2k and later. + + + && Notify Icon Infotip flags + #define NIIF_NONE 0x00000000 + && icon flags are mutually exclusive + && and take only the lowest 2 bits + #define NIIF_INFO 0x00000001 + #define NIIF_WARNING 0x00000002 + #define NIIF_ERROR 0x00000003 + #define NIIF_ICON_MASK 0x0000000F + #define NIIF_NOSOUND 0x00000010 && Windows XP and later. + + #define NIM_ADD 0x00000000 + #define NIM_MODIFY 0x00000001 + #define NIM_DELETE 0x00000002 + #define NIM_SETFOCUS 0x00000003 && Windows 2000 and later. + #define NIM_SETVERSION 0x00000004 && Windows 2000 and later. + + #define NOTIFYICON_VERSION 3 + #define NIS_HIDDEN 0x00000001 + #define NIS_SHAREDICON 0x00000002 + + + WITH THIS + + * If no icons loaded, do nothing. + IF .IconCount < 1 OR .CurrentIconIndex = 0 + RETURN 0 + ENDIF + + + IF NOT .Enabled + * Each SystemTray icon in this process requires a unique ID. We'll + * use an _screen property to make sure each instance of this class + * gets its own ID. Properties on _screen aren't affected by CLEAR ALL. + * Because VFP drops the least significant two bytes of the mousewheel event's + * WPARAM parameter, our unique SysTray Icon ID must use the most significant + * two bytes: + #DEFINE MIN_SYSTRAY_ICON_ID 0x4000 + IF TYPE("_screen.nSysTrayCount") == "U" + * We're the first one here. + _screen.AddProperty("nSysTrayCount", 0) + ELSE + IF _Screen.nSysTrayCount > 0x3FFF + * User is apparently creating and destroying this object repeatedly. + _Screen.nSysTrayCount = 0 + ENDIF + ENDIF + _screen.nSysTrayCount = _screen.nSysTrayCount + 1 + this.SystrayIconID = _screen.nSysTrayCount + MIN_SYSTRAY_ICON_ID + + + * By default, VFP combines MouseWheel events. (That is, if we receive + * a MouseWheel event from the OS, we check our internal queue to see + * if there is already a MouseWheel event that hasn't been processed yet. + * If found, we just add the number of MouseWheel turns to the existing + * event.) This behavior makes our communication with the SystemTray + * unstable, so we must disable this combining of events. SYS(2060) + * accomplishes this: + THIS.nPrevMWAccrual = VAL(SYS(2060)) + SYS(2060, 1) + ENDIF + + + + * Declare the WinAPI function that lets us install the icon. + * We redeclare the function every time, just in case CLEAR DLLS is called + * elsewhere in the app. + DECLARE INTEGER Shell_NotifyIcon IN shell32.dll AS WinAPI_Shell_NotifyIcon ; + INTEGER dwMessage, ; + STRING @ PNOTIFYICONDATA + + IF THIS.ShellVersion = 0 && If we haven't set the version yet. + nTipTextMaxLength = 63 && Default to version 4. + ELSE + nTipTextMaxLength = 127 + ENDIF + + + * Build NOTIFYICONDATA structure. + lcNotifyIconData = .IntegerToString(_VFP.Hwnd) && Messages get sent to VFP's main window. + lcNotifyIconData = lcNotifyIconData + .IntegerToString(.SystrayIconID * 0x10000) + lcNotifyIconData = lcNotifyIconData + .IntegerToString(BITOR(NIF_TIP,NIF_MESSAGE ,NIF_ICON)) &&NIF_TIP,NIF_INFO,NIF_STATE + lcNotifyIconData = lcNotifyIconData + .IntegerToString(0x20A) && uCallback + lcNotifyIconData = lcNotifyIconData + .IntegerToString(.aIconList[.CurrentIconIndex]) && icon handle + lcNotifyIconData = lcNotifyIconData + PADR(LEFT(TRANSFORM(.TipText), nTipTextMaxLength ), nTipTextMaxLength + 1, CHR(0)) && TipText + IF .ShellVersion >= 5 + lcNotifyIconData = lcNotifyIconData + .IntegerToString(0) && dwState + lcNotifyIconData = lcNotifyIconData + .IntegerToString(0) && dwStateMask + lcNotifyIconData = lcNotifyIconData + REPLICATE(CHR(0),256) && balloon tip. + lcNotifyIconData = lcNotifyIconData + .IntegerToSTring(NOTIFYICON_VERSION) && Timeout/Version + lcNotifyIconData = lcNotifyIconData + REPLICATE(CHR(0),64) && balloon tip title. + lcNotifyIconData = lcNotifyIconData + .IntegerToSTring(BITAND(0, 0x1F)) && Info flags + ENDIF + + lcNotifyIconData = .IntegerToString(LEN(lcNotifyIconData) + 4) + lcNotifyIconData && length of structure + + IF NOT .Enabled && If not already in Taskbar Notification Area.... + + * Add icon to Taskbar Notification Area. + nReturn = WinAPI_Shell_NotifyIcon( NIM_ADD, @lcNotifyIconData) + IF nReturn <> 1 + * Adding item to tray failed!!! + IF _Screen.nSysTrayCount = 1 + * There has not been two simultaneous instances of this object + * in the current session. We can clean up after ourselves. + _Screen.nSysTrayCount = 0 + SYS(2060, .nPrevMWAccrual) && Reset mousewheel behavior. + ENDIF + RETURN nReturn + ENDIF + * Bind to the MouseWheel event on VFP's main window. + nReturn = BINDEVENT(_screen,"MouseWheel",this,"receiveIconEvent",2) + .Enabled = .t. + + * We've just added the icon. Now we see if we can set to Version 5 shell behavior, + * with larger tooltip lengths and support for balloon Tips. + IF .GetShellVersion() >= 5 + * This OS supports version 5 features. Switch to version 5. + + * We have to inform the Shell that we want to use Version 5 features. + * Build a version 5 structure for sending message to change version. + lcNotifyIconData = .IntegerToString(_vfp.hwnd) + lcNotifyIconData = lcNotifyIconData + .IntegerToString(.SystrayIconID * 0x10000) + lcNotifyIconData = lcNotifyIconData + .IntegerToString(BITOR(NIF_TIP,NIF_MESSAGE ,NIF_ICON)) &&NIF_TIP,NIF_INFO,NIF_STATE + lcNotifyIconData = lcNotifyIconData + .IntegerToString(0x20A) && uCallback + lcNotifyIconData = lcNotifyIconData + .IntegerToString(.aIconList[.CurrentIconIndex]) && icon handle + lcNotifyIconData = lcNotifyIconData + PADR(LEFT(TRANSFORM(.TipText), 127), 128, CHR(0)) && TipText + lcNotifyIconData = lcNotifyIconData + .IntegerToString(0) && dwState + lcNotifyIconData = lcNotifyIconData + .IntegerToString(0) && dwStateMask + lcNotifyIconData = lcNotifyIconData + REPLICATE(CHR(0),256) && balloon tip. + lcNotifyIconData = lcNotifyIconData + .IntegerToSTring(NOTIFYICON_VERSION) && Timeout/Version + lcNotifyIconData = lcNotifyIconData + REPLICATE(CHR(0),64) && balloon tip title. + lcNotifyIconData = lcNotifyIconData + .IntegerToSTring(BITAND(0, 0x1F)) && Info flags + lcNotifyIconData = .IntegerToString(LEN(lcNotifyIconData) + 4) + lcNotifyIconData && length of structure + + * First we check to see if we can switch to using version 5 events. + nReturn = WinAPI_Shell_NotifyIcon( NIM_SETVERSION, @lcNotifyIconData) + IF nReturn <> 1 + * Couldn't switch to version 5 events + RETURN -1 + ENDIF + + .ShellVersion = 5 + + * Now that we've updated to Version 5, we have to modify the existing icon + * if the .TipText is longer than 63 characters. + IF LEN(.TipText) > 63 + nReturn = WinAPI_Shell_NotifyIcon( NIM_MODIFY, @lcNotifyIconData) + IF nReturn <> 1 + RETURN nReturn + ENDIF + ENDIF + ELSE + .ShellVersion = 4 + ENDIF + + ELSE + * Already in the Taskbar Notification Area. Just update existing icon. + nReturn = WinAPI_Shell_NotifyIcon( NIM_MODIFY, @lcNotifyIconData) + IF nReturn <> 1 + MESSAGEBOX(" * Modifying item in tray failed!!!") + RETURN nReturn + ENDIF + ENDIF + + ENDWITH + + RETURN nReturn + + ENDPROC + + PROCEDURE balloonclickevent && Occurs when user clicks on balloon tip. + ENDPROC + + PROCEDURE balloonhideevent && Occurs if the user clicks on the close button of the balloon tip. + ENDPROC + + PROCEDURE balloonshowevent && Occurs when the BalloonTip is shown. Balloon tips are queued by the system, so you balloon tip may not be displayed immediately after calling the DisplayBallloonTip method. + ENDPROC + + PROCEDURE balloontimeoutevent && Occurs if the system closes the balloon tip due to reaching the timeout. + ENDPROC + + PROCEDURE cleariconlist && Clear all icons from the current list. If an icon is currently displayed in the taskbar notification area (systray), it is removed. + * Removes all icons from the icon list. + + * In detail: + * Releases the resource handles of all icons that have been loaded, + * clears the array and sets the count to zero. This method is called + * by the Destroy event, to make sure all system resources are correctly + * released. + + WITH this + IF .IconCount = 0 + * No icons in list + RETURN + ENDIF + + * Have to release all icon resources + DECLARE INTEGER DestroyIcon IN user32.dll AS WinAPI_DestroyIcon ; + INTEGER hIcon + + FOR nCurrentIcon = 1 TO ALEN(.aIconList,1) + WinAPI_DestroyIcon(.aIconList[m.nCurrentIcon]) + ENDFOR + + DIMENSION .aIconList[1] + .IconCount = 0 + .CurrentIconIndex = 0 + ENDWITH + + + + ENDPROC + + PROCEDURE currenticonindex_assign + LPARAMETERS vNewVal + * This is called when user changes the CurrentIconIndex property. + + THIS.currenticonindex = m.vNewVal + IF this.Enabled + * We're attached to systray. Update immediately. + this.AddIconToSystray + ENDIF + + ENDPROC + + PROCEDURE Destroy + WITH THIS + IF .Enabled + .RemoveIconFromSystray() + .ClearIconList() && Release resources. + ENDIF + + ENDWITH + + + ENDPROC + + PROCEDURE getshellversion && Determines the Major and Minor version of shell32.dll. Used to determine if the shell supports balloon tips on taskbar icons. + DECLARE INTEGER DllGetVersion IN shell32.dll AS WinAPI_Shell32_DllGetVersion ; + STRING @ DLLVERSIONINFO + + * Windows 98 typically returns 4.72, depending on version of IE installed. + * Windows ME returns 5.5 or greater. + * Windows 2000 returns 5.0 + * Windows XP returns 6.0 + + LOCAL lcDLLVersionInfo, lnMajor, lnMinor + + WITH THIS + lcDLLVersionInfo = .IntegerToString(20) + lcDLLVersionInfo = m.lcDLLVersionInfo + REPLICATE(CHR(0), 16) + + WinAPI_Shell32_DllGetVersion(@lcDLLVersionInfo) + + lnMajor = .StringToInteger(SUBSTR(m.lcDLLVersionInfo, 5, 4)) + lnMinor = .StringToInteger(SUBSTR(m.lcDLLVersionInfo, 9, 4)) + + RETURN VAL(STR(m.lnMajor, 2, 0) + "." + ALLTRIM(STR(m.lnMinor,3,0))) + ENDWITH + + ENDPROC + + PROCEDURE gettaskbarposition && Retrieves coordinates of TaskBar. Also returns 0 if docked on bottom, 1 if docked left, 2 if docked top, 3 if docked right. + LPARAMETERS nLeft, nTop, nRight, nBottom + + * We position any menus near where the mouse just clicked. But we need to + * fine-tune that position depending on which edge of the screen the + * user has docked the taskbar. This method retrieves the absolute + * coordinates of the taskbar, and derives from those coordinates which + * edge the taskbar is on. + + #DEFINE ABM_GETTASKBARPOS 0x00000005 + + DECLARE INTEGER SHAppBarMessage IN shell32.dll as WinAPI_SHAppBarMessage ; + INTEGER dwMessage, STRING @ PAPPBARDATA + + LOCAL cAPPBARDATA, nReturn + + WITH THIS + cAPPBARDATA = .IntegerToString(0) && hWnd + cAPPBARDATA = cAPPBARDATA + .IntegerToString(0) && uCallBackMsg + cAPPBARDATA = cAPPBARDATA + .IntegerToString(0) && Edge + cAPPBARDATA = cAPPBARDATA + REPLICATE(CHR(0), 4*4) && RECT structure + cAPPBARDATA = cAPPBARDATA + .IntegerToString(0) && lParam + cAPPBARDATA = .IntegerToString(LEN(cAPPBARDATA) + 4) + cAPPBARDATA + + nReturn = WinAPI_SHAppBarMessage(ABM_GETTASKBARPOS, @cAPPBARDATA) + + * Taskbar coordinates should be in RECT structure. + nLeft = .StringToInteger(SUBSTR(cAPPBARDATA, 17, 4)) + IF nLeft > 0xFFFFFF && If the number is ridiculously large, assume it was a negative number. + nLeft = 0 - (0xFFFFFFFF - nLeft) + ENDIF + + nTop = .StringToInteger(SUBSTR(cAPPBARDATA, 21, 4)) + IF nTop > 0xFFFFFF + nTop = 0 - (0xFFFFFFFF - nTop) + ENDIF + + nRight = .StringToInteger(SUBSTR(cAPPBARDATA, 25, 4)) + IF nRight > 0xFFFFFF + nRight = 0 - (0xFFFFFFFF - nRight) + ENDIF + + nBottom = .StringToInteger(SUBSTR(cAPPBARDATA, 29, 4)) + IF nBottom > 0xFFFFFF + nBottom = 0 - (0xFFFFFFFF - nBottom) + ENDIF + + ENDWITH + + DO CASE + * Must use approximations for taskbar coordinates, because they oare slightly different + * on different versions of Windows. + CASE nLeft < 2 AND nTop < 2 AND nRight < 479 && Roughly minimum width in portrait mode. + RETURN 1 && Left + CASE nLeft < 2 AND nTop > 0 + RETURN 0 && Bottom + CASE nLeft < 2 AND nTop < 2 && Must be top, otherwise first case would take it. + RETURN 2 && Top + OTHERWISE + RETURN 3 && Right + ENDCASE + + + *!* typedef struct _AppBarData { + *!* DWORD cbSize; + *!* HWND hWnd; + *!* UINT uCallbackMessage; + *!* UINT uEdge; + *!* RECT rc; + *!* LPARAM lParam; + *!* } APPBARDATA, *PAPPBARDATA + + *!* typedef struct _RECT { + *!* LONG left; + *!* LONG top; + *!* LONG right; + *!* LONG bottom; + *!* } RECT + + + ENDPROC + + PROCEDURE iconclickevent && Occurs when the user clicks on the icon in the Taskbar Notification Area ("systray"). + * This "event" is called when the user left-clicks on the icon. + + * Default behavior is to display the menu: + If Not Isblank(This.MenuText) + This.ShowMenu() && The ShowMenu method will handle any errors. + Endif + + + ENDPROC + + PROCEDURE icondblclickevent && Occurs when the user double-clicks on the icon in the Taskbar Notification Area. + _Screen.WindowState = 0 + _Screen.Show() + *!* modificare ROASTART v 2.0.29 + This.SetForegroundWindow(_Screen.HWnd) + If Type('_Screen.nHeight') = 'N' + _Screen.Height = _Screen.nHeight + _Screen.Width = _Screen.nWidth + Endif + _Screen.AutoCenter = .T. + *!* modificare ROASTART v 2.0.29 ^ + ENDPROC + + HIDDEN PROCEDURE iconfile_assign + LPARAMETERS vNewVal + *To do: Modify this routine for the Assign method + THIS.ICONFILE = m.vNewVal + + * Updating this property will release all other icons. + THIS.ClearIconList() + THIS.AddIconToIconList(m.vNewVal) && Going from 0 to 1 icon updates systray immediately. + + ENDPROC + + PROCEDURE iconmiddleclickevent && Occurs when the user clicks the icon using the middle mouse button. + ENDPROC + + PROCEDURE iconrightclickevent && Occurs when the user right-clicks on the icon in the Taskbar Notification Area ("systray"). + * This "event" is called when the user right-clicks on the icon. + + * Default behavior is to display the menu: + If Not Isblank(This.MenuText) + This.ShowMenu() && The ShowMenu method will handle any errors. + *!* modificare 02.05.2012 + Else + If Not Isblank(This.crightclickproc) + Local lcPoint,lnReturn,lnXCoord,lnYCoord + Declare Integer GetCursorPos In user32.Dll As WinAPI_GetCursorPos String @ + lcPoint = Replicate(Chr(0), 8) + lnReturn = WinAPI_GetCursorPos(@lcPoint) + lnXCoord = This.StringToInteger(Left(m.lcPoint,4)) + lnYCoord = This.StringToInteger(Substr(m.lcPoint, 5)) + Do (This.crightclickproc) With lnXCoord,lnYCoord + Release lcPoint,lnReturn,lnXCoord,lnYCoord + Endif + *!* modificare 02.05.2012 ^ + Endif + ENDPROC + + PROCEDURE Init + * If there is an initial icon specified, add it to the Icon List. + IF TYPE("THIS.IconFile") = "C" AND LEN(THIS.IconFile) > 0 + THIS.AddIconToIconList(THIS.IconFile) + ENDIF + + + * Add icon to systray if requested. + IF this.AddIconToSystrayAtInit + this.AddIconToSystray + ENDIF + + ENDPROC + + HIDDEN PROCEDURE integertostring && Converts an integer to its binary representation. + LPARAMETERS nInteger + * Changes an integer into the Intel representation of that integer. + * Used to build structures. + RETURN CHR(BITAND(nInteger, 255)) + CHR(BITAND(BITRSHIFT(nInteger, 8), 255)) + ; + CHR(BITAND(BITRSHIFT(nInteger, 16), 255)) + CHR(BITAND(BITRSHIFT(nInteger, 24), 255)) + + + ENDPROC + + HIDDEN PROCEDURE loadicon && Loads an Icon from a file, and returns an hIcon token. + LPARAMETERS cIconFileName + * Loads an icon as a Windows resource. Returns the resource handle. + + LOCAL cOldTalk, cTempFileName, hImage, llFisierTemp + + DECLARE INTEGER LoadImage IN user32.dll AS WinAPI_LoadImage ; + INTEGER hinst, ; + STRING lpszName, ; + INTEGER uType, ; && uint + INTEGER cxDesired, ; + INTEGER cyDesired, ; + INTEGER fuLoad && uint + + + ** LoadImage defines **** + #define IMAGE_ICON 1 + #define LR_LOADFROMFILE 0x0010 + + * Assume that the icon is contained in the app/exe file. Copy to temp before loading. + *!* modificare ROASTART v 2.1.6 + *!* IF FILE(cIconFileName) + *!* cTempFileName = ADDBS(GETENV("temp")) + "systray_temp_" + SYS(3) + ".icn" + *!* COPY FILE (cIconFileName) TO (cTempFileName) + *!* ELSE + *!* RETURN + *!* ENDIF + Do Case + Case File(cIconFileName) AND !EMPTY(JUSTPATH(cIconFileName)) && daca in cIconFile am calea fizica + cTempFileName = cIconFileName + llFisierTemp = .F. + Case File(cIconFileName) && daca e inclus in app/exe + cTempFileName = Addbs(Getenv("temp")) + "systray_temp_" + Sys(3) + ".icn" + Copy File (cIconFileName) To (cTempFileName) + llFisierTemp = .T. + Otherwise + Return + Endcase + *!* modificare ROASTART v 2.1.6 ^ + + m.hImage = WinAPI_LoadImage( 0, ; && Don't load from resource file + cTempFileName, ; + IMAGE_ICON, ; + 0, ; + 0, ; + LR_LOADFROMFILE) + + IF llFisierTemp && modificare ROASTART v 2.1.6 + * Now need to erase the temp file. SET TALK OFF to avoid the "File has been erased" + * message on the status bar. + cOldTalk = SET("TALK") + ERASE (cTempFileName) + SET TALK &cOldTalk + Endif && modificare ROASTART v 2.1.6 + + IF m.hImage = 0 + this.Error(0, "Failed to load icon '" + cIconFileName + "'. in " + PROGRAM(), LINENO()) + ENDIF + + RETURN m.hImage + ENDPROC + + PROCEDURE processmenuevent && This event is called if user has selected an item from a menu defined by the MenuText property. Add code here to act upon the user's selection. + LPARAMETERS nMenuItemID + * This event is fired after a menu has been clicked or cleared. + + ENDPROC + + PROCEDURE receiveiconevent && Receives the events the Notify Icon. + LPARAMETERS nDirection, nShift, nXCoord, nYCoord + * This is the procedure that receives the Notify Icon events. Since + * we execute the BindEvent() function from within this class, this + * procedure can be hidden. + * nDirection contains our icon identifier. + + IF nDirection != this.SystrayIconID + * Not our icon, or this a real MouseWheel event on the VFP window. + RETURN .F. + ENDIF + + * These are the events that we receive from the Taskbar icon. + #DEFINE WM_MOUSEMOVE 0x0200 + #DEFINE WM_LBUTTONDOWN 0x0201 + #DEFINE WM_LBUTTONUP 0x0202 + #DEFINE WM_LBUTTONDBLCLK 0x0203 + #DEFINE WM_RBUTTONDOWN 0x0204 + #DEFINE WM_RBUTTONUP 0x0205 + #DEFINE WM_RBUTTONDBLCLK 0x0206 + #DEFINE WM_MBUTTONDOWN 0x0207 + #DEFINE WM_MBUTTONUP 0x0208 + #DEFINE WM_MBUTTONDBLCLK 0x0209 + * Mousewheel events also get passed, but are difficult to decipher. + #define WM_CONTEXTMENU 0x007B && Same as RightClick, but used when + && Version 5 events have been specified. + && (See the DisplayBalloonTip method.) + + #define WM_USER 0x0400 + #define NIN_SELECT WM_USER + 0 + #define NINF_KEY 0x1 + #define NIN_KEYSELECT BITOR(NIN_SELECT , NINF_KEY) + + * Balloon events supported on Windows ME and Windows XP, and later. Not supported on Win2k. + #DEFINE NIN_BALLOONSHOW (WM_USER + 2) + #DEFINE NIN_BALLOONHIDE (WM_USER + 3) + #DEFINE NIN_BALLOONTIMEOUT (WM_USER + 4) + #DEFINE NIN_BALLOONUSERCLICK (WM_USER + 5) + + * Even though this isn't a real MouseWheel event on the VFP window, + * VFP gives us the coordinates with respect to the location of the + * main VFP window. Must change back to global coordinates. + nXCoord = nXCoord + _screen.Left + + IF nXCoord <> WM_MOUSEMOVE && Ignore mousemove events. + * The Version 5 events are more difficult to deal with, + * but Version 5 supports Balloon Tips. So the extra work + * is worth it. + IF THIS.ShellVersion >= 5 + DO CASE + CASE nXCoord = NIN_SELECT OR nXCoord = NIN_KEYSELECT + THIS.IconClickEvent + CASE nXCoord = WM_LBUTTONDBLCLK ; + OR nXCoord = WM_RBUTTONDBLCLK ; + OR nXCoord = WM_MBUTTONDBLCLK + * We'll just use one DoubleClick event, and ignore what button was used. + THIS.IconDblClickEvent + RETURN + CASE nXCoord = WM_CONTEXTMENU && Shell version 5 and later + THIS.IconRightClickEvent + RETURN + CASE nXCoord = WM_MBUTTONDOWN + THIS.IconMiddleClickEvent + RETURN + CASE nXCoord = NIN_BALLOONSHOW + THIS.BalloonShowEvent + RETURN + CASE nXCoord = NIN_BALLOONHIDE + THIS.BalloonHideEvent + RETURN + CASE nXCoord = NIN_BALLOONTIMEOUT + THIS.BalloonTimeoutEvent + RETURN + CASE nXCoord = NIN_BALLOONUSERCLICK + This.BalloonClickEvent + RETURN + OTHERWISE + * Unknown event. Just ignore it. + RETURN + ENDCASE + ELSE + * Using Version 4 events. + DO CASE + CASE nXCoord = WM_LBUTTONDOWN + THIS.IconClickEvent + CASE nXCoord = WM_LBUTTONDBLCLK ; + OR nXCoord = WM_RBUTTONDBLCLK ; + OR nXCoord = WM_MBUTTONDBLCLK + * We'll just use one DoubleClick event, and ignore what button was used. + THIS.IconDblClickEvent + RETURN + CASE nXCoord = WM_RBUTTONDOWN + THIS.IconRightClickEvent + RETURN + CASE nXCoord = WM_MBUTTONDOWN + THIS.IconMiddleClickEvent + RETURN + OTHERWISE + * Unknown event. Just ignore it. + RETURN + ENDCASE + ENDIF + + ENDIF + + + ENDPROC + + PROCEDURE removeiconfromsystray && Removes the icon from the Taskbar Notification Area ("systray"). + * Removes the icon from the Taskbar Notification Area ('System Tray'). + + + DECLARE INTEGER Shell_NotifyIcon IN shell32.dll AS WinAPI_Shell_NotifyIcon ; + INTEGER dwMessage, ; + string @ PNOTIFYICONDATA + + #define NIM_ADD 0x00000000 + #define NIM_MODIFY 0x00000001 + #define NIM_DELETE 0x00000002 + #define NIF_MESSAGE 0x00000001 + #define NIF_ICON 0x00000002 + #define NIF_TIP 0x00000004 + + *#define NIF_STATE 0x00000008 + #define NIF_INFO 0x00000010 + + + LOCAL cNotifyIconData + + WITH THIS + UNBINDEVENTS(_screen, "MouseWheel", this, "receiveIconEvent") + .Enabled = .f. + + + * Build structure. + cNotifyIconData = .IntegerToString(_vfp.hwnd) + cNotifyIconData = cNotifyIconData + .IntegerToString(.SystrayIconID * 0x10000) + cNotifyIconData = cNotifyIconData + .IntegerToString(BITOR(NIF_TIP,NIF_MESSAGE ,NIF_ICON)) &&NIF_TIP,NIF_INFO,NIF_STATE, ,NIF_TIP + cNotifyIconData = cNotifyIconData + .IntegerToString(0x20A) && uCallback + cNotifyIconData = cNotifyIconData + .IntegerToString(0) && icon handle + cNotifyIconData = cNotifyIconData + PADR(LEFT(TRANSFORM(.TipText), 63), 64, CHR(0)) + cNotifyIconData = .integertostring(LEN(cNotifyIconData) + 4) + cNotifyIconData + ENDWITH + + nReturn = WinAPI_Shell_NotifyIcon(NIM_DELETE, @cNotifyIconData) + THIS.ShellVersion = 0 + + + IF TYPE("_Screen.nSysTrayCount")="N" AND _Screen.nSysTrayCount=1 + * There has not been two simultaneous instances of this object + * in the current session. We can clean up after ourselves. + _Screen.nSysTrayCount = 0 + SYS(2060, THIS.nPrevMWAccrual) && Reset mousewheel behavior. + ENDIF + + ENDPROC + + PROCEDURE setforegroundwindow && By default, brings the form that contains this object to the foreground. You can also specify a different window to bring forward by passing a numeric hWnd parameter. + LPARAMETERS lhWnd + + * Brings the specified top-level window to the top of the Windows z-order. + * If no parameter specified, then THISFORM is made the foreground window. + + IF TYPE("m.lhWnd") = "N" + DECLARE INTEGER SetForegroundWindow IN user32.dll AS WinAPI_SetForegroundWindow INTEGER hWnd + WinAPI_SetForegroundWindow(m.lhWnd) + RETURN + ENDIF + + RETURN + + * If we're here, then the user called this method without an + * hWnd parameter. Assume it is thisform that is to be brought forward. + IF VARTYPE(thisform) == "O" + IF ! thisform.Visible + thisform.Visible = .t. + ENDIF + + * First make sure it isn't minimized. + IF thisform.WindowState= 1 + thisform.WindowState = 0 + ENDIF + + * If necessary, make sure the main VFP window is not minimized. + IF _screen.Visible AND thisform.ShowWindow = 0 + IF _screen.WindowState = 1 + _screen.WindowState = 0 && Set back to normal + ENDIF + ENDIF + + DECLARE INTEGER SetForegroundWindow IN user32.dll AS WinAPI_SetForegroundWindow INTEGER hWnd + WinAPI_SetForegroundWindow(thisform.HWnd) + ENDIF + + + + ENDPROC + + PROCEDURE showballoontip && Displays a balloon tip over the icon in the Taskbar Notification Area. Parameters: cBalloonText [, cBalloonTitle [, nIcon [, nTimeoutInSeconds]]] + LPARAMETERS lcBalloonText, lcBalloonTitle, lnIcon, lnTimeout + * Displays a balloon tip if the Operating System shell supports it. + * The lnTimeout parameter is the number of SECONDS to display the balloon. This + * timeout period is subject to minimum and maximum values set by the operating + * system (typically 10 and 30 seconds). + + * The lnIcon parameter specifies the icon to display in the + * balloon. The values are as follows: + * 0 = No icon + * 1 = Info. A lowercase "i" in a small balloon + * 2 = Warning. An exclamation point (!) in a triangle. + * 3 = Error. A red disk with an X through it. + * Add 16 (0x10) to the value to mute the sound that is played when + * the balloon is displayed (Windows XP and later). + + * This method uses #DEFINES that are set in the AddIconToSystray method. + + IF PCOUNT() < 1 + * Must at least include the balloon Text. + RETURN -1 + ENDIF + + IF THIS.ShellVersion < 5 &&GetShellVersion() < 5.00 + * This shell doesn't support balloon tips. + RETURN -1 + ENDIF + + IF TYPE("m.lcBalloonText") <> "C" + RETURN -1 + ENDIF + + IF TYPE("m.lcBalloonTitle") <> "C" + lcBalloonTitle = "" + ENDIF + + IF TYPE("m.lnIcon") <> "N" + lnIcon = 0 + ENDIF + + IF TYPE("m.lnTimeout") <> "N" + lnTimeout = 0 + ELSE + lnTimeOut = m.lnTimeout * 1000 && Convert seconds to Milliseconds. + ENDIF + + LOCAL lcNotifyIconData, lnReturn + + WITH THIS + * Build NOTIFYICONDATA structure compatible with version 5 of the shell. + lcNotifyIconData = .IntegerToString(_vfp.hwnd) + lcNotifyIconData = lcNotifyIconData + .IntegerToString(.SystrayIconID * 0x10000) + lcNotifyIconData = lcNotifyIconData + .IntegerToString(BITOR(NIF_TIP,NIF_MESSAGE ,NIF_ICON, NIF_INFO)) &&NIF_TIP,NIF_INFO,NIF_STATE + lcNotifyIconData = lcNotifyIconData + .IntegerToString(0x20A) && uCallback + lcNotifyIconData = lcNotifyIconData + .IntegerToString(.aIconList[.CurrentIconIndex]) && icon handle + lcNotifyIconData = lcNotifyIconData + PADR(LEFT(TRANSFORM(.TipText), 127), 128, CHR(0)) && TipText + lcNotifyIconData = lcNotifyIconData + .IntegerToString(0) && dwState + lcNotifyIconData = lcNotifyIconData + .IntegerToString(0) && dwStateMask + lcNotifyIconData = lcNotifyIconData + PADR(LEFT(TRANSFORM(m.lcBalloonText), 255),256, CHR(0)) && balloon tip. + lcNotifyIconData = lcNotifyIconData + .IntegerToSTring(m.lnTimeOut) && Timeout/Version + lcNotifyIconData = lcNotifyIconData + PADR(LEFT(TRANSFORM(m.lcBalloonTitle), 63),64, CHR(0)) && balloon tip title. + lcNotifyIconData = lcNotifyIconData + .IntegerToSTring(BITAND(lnIcon, 0x1F)) && Info flags + lcNotifyIconData = .IntegerToString(LEN(lcNotifyIconData) + 4) + lcNotifyIconData && length of structure + + + * Send request to display balloon. This is asynchronous, so + * balloon may not be displayed immediately. + lnReturn = WinAPI_Shell_NotifyIcon( NIM_MODIFY, @lcNotifyIconData) + ENDWITH + + ENDPROC + + PROCEDURE showmenu && Displays the menu defined by the MenuText property, or runs an MPR that defines a shortcut menu. Accepts string parameter containing the filename of the MPR to run, and optional second parameter to be passed to the MPR startup code. + LPARAMETERS lcMPRFileName, p1, p2, p3, p4, p5, p6 + * Displays the shortcut menu near the taskbar icon. + * If the menu is defined as a set of tokens and text strings, the + * menu is defined here. Otherwise, the specified MPR is called. + * If the first parameter is blank or not specified, the contents + * of the MenuText property are used to define/determine the menu. + * If the first parameter is not blank, it is assumed to specify + * the MPR to run. The MenuText property is ignored. + * + * The additional parameters are passed on to the MPR. They are only + * used if the cMPRFileName parameter is specified and non-blank. + * + * In order to display the shortcut menu in the proper location, + * we must activate it within a toplevel form (with .visible = .t.), + * near the taskbar. + * On WindowsME, Win2k and later, the form is made invisible by + * calling a Windows API function. (See the INIT of the form class.) + * But on Win98 and NT4, that API function didn't exist, so we make it + * a "Desktop" form instead. This allows us to remove the titlebar and + * make the form so small it won't be noticed. But it causes slightly + * incorrect behavior when trying to clear the menu. + + LOCAL lhPreviousWindow, lcPOINT, lnReturn, lnXCoord, lnYCoord, lcClassLib, llContinue + LOCAL lnTaskBarLeft, lnTaskBarTop, lnTaskBarRight, lnTaskBarBottom, lnTaskBarLocation + LOCAL loTempForm as Form + + * Our invisible form must be made the top window in order to make the shortcut + * menu get cleared properly if user clicks elsewhere. Therefore, we store the + * handle of the current foreground window, so we can restore it later. + DECLARE INTEGER GetForegroundWindow IN user32.dll AS WinAPI_GetForegroundWindow + lhPreviousWindow = WinAPI_GetForegroundWindow() + + * Get location of the mouse pointer. + DECLARE INTEGER GetCursorPos IN user32.dll AS WinAPI_GetCursorPos STRING @ + lcPOINT = REPLICATE(CHR(0), 8) + lnReturn = WinAPI_GetCursorPos(@lcPOINT) + lnXCoord = THIS.StringToInteger(LEFT(m.lcPOINT,4)) + lnYCoord = THIS.StringToInteger(SUBSTR(m.lcPOINT, 5)) + + * Get the position and coordinates of the taskbar. + lnTaskBarLeft = 0 + lnTaskBarRight = 0 + lnTaskBarTop = 0 + lnTaskBarBottom = 0 + lnTaskBarLocation = THIS.GetTaskBarPosition(@lnTaskBarLeft, @lnTaskBarTop, @lnTaskBarRight, @lnTaskBarBottom) + + * Need Top-Level form. + * It also has ShowInTaskBar=.F. so we don't get a large button on the taskbar. + * It is also invisible, using the SetWindowLong API function in the form's INIT. + lcClassLib = "systray.vcx" + llContinue = .T. + DO WHILE llContinue + TRY + loTempForm = NEWOBJECT("x_frmInternalSystrayUseOnly", lcClassLib ) + llContinue = .F. + CATCH + IF lcClassLib = "systray.vcx" + * Try to create the form by looking in the same place as this object + lcClassLib = ADDBS(JUSTPATH(SYS(1271, this))) + "systray.vcx" + ELSE + loTempForm = .Null. + llContinue = .F. + ENDIF + ENDTRY + ENDDO + + * Now position form near mouse, but adjust for taskbar. + DO CASE + CASE m.lnTaskBarLocation = 1 && Left + loTempForm.top = m.lnYCoord + loTempForm.Left = m.lnTaskBarRight + 7 + CASE m.lnTaskBarLocation = 2 && Top + * Ideally would determine height of titlebar, and subtract that. + * But this is sufficient. + loTempForm.top = m.lnTaskBarBottom - 8 + loTempForm.Left = m.lnXCoord + CASE m.lnTaskBarLocation = 3 && Right + loTempForm.top = m.lnYCoord + loTempForm.Left = m.lnTaskBarLeft - this.MenuOffsetFromRight && Roughly the width of a typical menu. + OTHERWISE && Bottom, or coding error. + * Just place the window near the mouse. + loTempForm.top = m.lnYCoord + loTempForm.Left = m.lnXCoord + ENDCASE + + + * Window must be the foreground window when shortcut menu displayed. Otherwise, + * clicking in another window won't release the shortcut menu. + loTempForm.Show + THIS.SetForegroundWindow(loTempForm.hWnd) + + + * Now display the menu. + DO CASE + CASE (PCOUNT() > 0 AND TYPE("m.lcMPRFileName") = "C") + * Want to run the MPR specified in parameter + + IF PCOUNT() = 1 + DO (m.lcMPRFileName) + RELEASE loTempForm + ELSE + * Build parameter list + LOCAL lcParamList, lnCount + lcParamList = "p1" + FOR nCount = 3 TO PCOUNT() && if PCOUNT() is only 2, don't enter loop. + lcParamList = m.lcParamList + ", p" + TRANSFORM(m.lnCount - 1) + ENDFOR + + DO (m.lcMPRFileName) WITH &lcParamList + RELEASE loTempForm + ENDIF + + CASE THIS.MenuTextIsMPR AND FILE(THIS.MenuText) + * We want to run the MPR specified in MenuText property. + DO (THIS.MenuText) + RELEASE loTempForm + + OTHERWISE + + * Build menu from this.MenuText. + LOCAL lnMenuItems, lcMenuName, laMenuItems[1], lnCurrentMenuItem + LOCAL lnToken, lcText, lnBarNum + lnMenuItems = ALINES(m.laMenuItems, THIS.MenuText, .T., ";") + IF m.lnMenuItems = 0 + RELEASE loTempForm + RETURN .f. + ENDIF + IF m.lnMenuItems % 2 != 0 + * Incorrect number of items in MenuText property. + IF m.lnMenuItems > 1 + lnMenuItems = lnMenuItems - 1 + ELSE + RELEASE loTempForm + RETURN .f. + ENDIF + ENDIF + lcMenuName = SYS(2015) + * Make private variable to receive the ID of the selected menu item. + PRIVATE __systray_menu_return + __systray_menu_return = 0 + + * Build the menu. + DEFINE POPUP (m.lcMenuName) SHORTCUT RELATIVE FROM MROW(),MCOL() + FOR lnCurrentMenuItem = 1 TO m.lnMenuItems STEP 2 + lnToken = VAL(m.laMenuItems[m.lnCurrentMenuItem]) + lcText = m.laMenuItems[m.lnCurrentMenuItem + 1] + lnBarNum = FLOOR(m.lnCurrentMenuItem/2) + 1 + DEFINE BAR (lnBarNum) OF (m.lcMenuName) PROMPT (m.lcText) + lcOnSelectionBar = "ON SELECTION BAR " + TRANSFORM(m.lnBarNum) + " OF " + ; + TRANSFORM(m.lcMenuName) + " __systray_menu_return = " + TRANSFORM(m.lnToken) + &lcOnSelectionBar + ENDFOR + SET ESCAPE off + + * Display the menu and wait for user action. + ACTIVATE POPUP (m.lcMenuName) + + RELEASE loTempForm + THIS.ProcessMenuEvent(__systray_menu_return) + RETURN __systray_menu_return + + ENDCASE + + * Menu has been deactivated. Restore previous foreground window. + This.SetForegroundWindow(m.lhPreviousWindow) + ENDPROC + + HIDDEN PROCEDURE stringtointeger && Convert binary representation of integer into an integer data type. + LPARAMETERS lcPDWORD, lnBytes + + * Converts a string from the Intel int, DWORD,WORD, and BYTE formats + * into a VFP integer. + IF PCOUNT() < 2 + lnBytes = 4 && No length provided, assume 4-byte integer. + ENDIF + LOCAL lnReturn, lnCurByte + lnReturn = 0 + FOR lnCurByte = 1 to m.lnBytes + lnReturn = m.lnReturn + ASC(SUBSTR(m.lcPDWord, m.lnCurByte, 1))*(256^(m.lnCurByte-1)) + ENDFOR + RETURN lnReturn + ENDPROC + + PROCEDURE switchicon && Changes the displayed icon to the next icon in the icon list. Use AddIconToIconList method to populate the icon list, and ClearIconList to start over. + * Switches to the next icon in the iconlist. + * Typically called by a timer to regularly change the icon, + * to create animation. + + WITH THIS + IF .IconCount > 1 + IF .CurrentIconIndex = .iconCount + .CurrentIconIndex = 1 + ELSE + .CurrentIconIndex = .CurrentIconIndex + 1 + ENDIF + ENDIF + RETURN .CurrentIconIndex + ENDWITH + + + ENDPROC + + HIDDEN PROCEDURE tiptext_assign + LPARAMETERS vNewVal + * The text for the tooltip is being changed. + THIS.tiptext = ALLTRIM(m.vNewVal) + + IF THIS.Enabled + * This icon is already displayed in the Taskbar Notification Area, + * so we must update the systray immediately: + this.AddIconToSystray() + endif + ENDPROC + +ENDDEFINE + +DEFINE CLASS x_frminternalsystrayuseonly AS form + *< CLASSDATA: Baseclass="form" Timestamp="" Scale="Pixels" Uniqueid="" /> + + * + BorderStyle = 0 + Caption = "" + Closable = .F. + ControlBox = .F. + DoCreate = .T. + Height = 34 + Left = 0 + MaxButton = .F. + MaxHeight = 1 + MinButton = .F. + Movable = .F. + Name = "x_frminternalsystrayuseonly" + ShowInTaskBar = .F. + ShowWindow = 2 + Themes = .F. + TitleBar = 0 + Top = 0 + Width = 123 + * + + PROCEDURE Init + * For proper menu behavior, this form must be a Top-Level form, not a Desktop form. + * But Top-Level forms are required to have a titlebar, which can be visible from + * beneath the menu. Therefore, we'll make this window invisible, before it is + * even displayed. + + #DEFINE GWL_EXSTYLE -20 + *#DEFINE WS_EX_LAYERED 0x00080000 + #DEFINE WS_EX_TRANSPARENT 0x00000020 + + DECLARE SetWindowLong IN USER32.DLL AS WinAPI_SetWindowLong Integer, Integer, Integer + *DECLARE SetLayeredWindowAttributes In Win32Api Integer, String, Integer, Integer + WinAPI_SetWindowLong(THIS.hWnd, GWL_EXSTYLE, WS_EX_TRANSPARENT) + *SetLayeredWindowAttributes(THIS.hWnd, 0, 0, 2) + + * Make window as small as possible so menu position will be more accurate. + THIS.Width = 1 + THIS.Height = 1 + ENDPROC + +ENDDEFINE diff --git a/clase/utility.vc2 b/clase/utility.vc2 new file mode 100644 index 0000000..0f180c8 --- /dev/null +++ b/clase/utility.vc2 @@ -0,0 +1,104 @@ +*-------------------------------------------------------------------------------------------------------------------------------------------------------- +* (EN) AUTOGENERATED - ATTENTION!! - NOT INTENDED FOR EXECUTION!! USE ONLY FOR MERGING CHANGES AND STORING WITH SCM TOOLS!! +*-------------------------------------------------------------------------------------------------------------------------------------------------------- +*< FOXBIN2PRG: Version="1.21" SourceFile="utility.vcx" CPID="1252" /> (Solo para binarios VFP 9 / Only for VFP 9 binaries) +* +* +DEFINE CLASS keepalive AS timer + *< CLASSDATA: Baseclass="timer" Timestamp="" Scale="Pixels" Uniqueid="" /> + + * + Enabled = .F. + Height = 23 + Name = "keepalive" + Width = 23 + * + + PROCEDURE Timer + *** instructiune KeepAlive + TRY + lnSucces = goExecutor.oExecute([update contafin_oracle.SERVER_INFO set value = 'x' where 1=2]) + CATCH + ENDTRY + + ENDPROC + +ENDDEFINE + +DEFINE CLASS menulib AS container + *< CLASSDATA: Baseclass="container" Timestamp="" Scale="Pixels" Uniqueid="" /> + + * + *m: deactivatemenu + *m: showmenu + * + + * + BackColor = 0,0,255 + Height = 15 + Name = "menulib" + Visible = .F. + Width = 50 + * + + PROCEDURE deactivatemenu + DEACTIVATE MENU _popShortcutMenu + + ENDPROC + + PROCEDURE Destroy + this.DeactivateMenu + + ENDPROC + + PROCEDURE showmenu + LPARAMETERS taMenu,tcOnSelection + LOCAL lcOnSelection,lnMenuCount,lnCount,llDoubleArray + LOCAL lcMenuItem,lcMenuSelection + EXTERNAL ARRAY taMenu + + IF PARAMETERS()=0 OR TYPE("taMenu")#"C" + RETURN .F. + ENDIF + lnMenuCount=0 + lnMenuCount=ALEN(taMenu,1) + IF lnMenuCount=0 + RETURN .F. + ENDIF + llDoubleArray=(ALEN(taMenu,2)>0) + ACTIVATE SCREEN + DEACTIVATE POPUP _popShortcutMenu + DEFINE POPUP _popShortcutMenu ; + FROM MROW(),MCOL() ; + MARGIN ; + RELATIVE ; + SHORTCUT + FOR lnCount = 1 TO lnMenuCount + lcMenuItem=IIF(llDoubleArray,taMenu[lnCount,1],taMenu[lnCount]) + DEFINE BAR lnCount OF _popShortcutMenu PROMPT (lcMenuItem) + ENDFOR + ON SELECTION POPUP _popShortcutMenu DEACTIVATE POPUP _popShortcutMenu + ACTIVATE POPUP _popShortcutMenu + RELEASE POPUP _popShortcutMenu + IF BAR()=0 + RETURN .F. + ENDIF + IF llDoubleArray + lcMenuSelection=taMenu[BAR(),2] + IF NOT EMPTY(lcMenuSelection) AND TYPE("lcMenuSelection")=="C" + lcOnSelection=ALLTRIM(lcMenuSelection) + ENDIF + IF EMPTY(lcOnSelection) + lcOnSelection=ALLTRIM(IIF(EMPTY(tcOnSelection),"",tcOnSelection)) + ENDIF + ELSE + lcOnSelection=ALLTRIM(IIF(EMPTY(tcOnSelection),"",tcOnSelection)) + ENDIF + IF EMPTY(lcOnSelection) + RETURN .F. + ENDIF + &lcOnSelection + + ENDPROC + +ENDDEFINE diff --git a/clase/webreporter.vc2 b/clase/webreporter.vc2 new file mode 100644 index 0000000..b93e741 --- /dev/null +++ b/clase/webreporter.vc2 @@ -0,0 +1,1875 @@ +*-------------------------------------------------------------------------------------------------------------------------------------------------------- +* (EN) AUTOGENERATED - ATTENTION!! - NOT INTENDED FOR EXECUTION!! USE ONLY FOR MERGING CHANGES AND STORING WITH SCM TOOLS!! +*-------------------------------------------------------------------------------------------------------------------------------------------------------- +*< FOXBIN2PRG: Version="1.21" SourceFile="webreporter.vcx" CPID="1252" /> (Solo para binarios VFP 9 / Only for VFP 9 binaries) +* +* +DEFINE CLASS frm_webreporter AS form + *< CLASSDATA: Baseclass="form" Timestamp="" Scale="Pixels" Uniqueid="" /> + + *-- OBJECTDATA items order determines ZOrder / El orden de los items OBJECTDATA determina el ZOrder + *< OBJECTDATA: ObjPath="cmdOpen" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="cmdPrint" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="Command1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="cmdSave" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="cmdBack" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="cmdCopy" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="cmdHelp" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="cmdProperties" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="cmdForward" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="Command2" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="oleWebBrowser" UniqueID="" Timestamp="" /> + + * + *m: beginlist && Start an HTML list + *m: beginreport && Sets up a file to contain a report to be displayed + *m: begintable && Begin an HTML Table + *m: begintablefromdbf + *m: displayreport && Displkays report in web browser + *m: endlist && End an HTML list + *m: endreport && Ends a report and optionally displays it + *m: endtable && End an HTML table + *m: endtablefromdbf + *m: errorhandler && Method to handle errors while the Report Viewer is active + *m: setbold + *m: setcolumnheads + *m: setcolumnmask + *m: setcolumnsum + *m: setcolumnwidth + *m: setfontcolor && set HTML font color + *m: setfontface && Set the HTML font face + *m: setfontsize && Set HTML font size + *m: setitalic + *m: setnumericmask + *m: setreportmargin && Set margins for the document: T, B,. L, R + *m: setreportwidth && set width of report and window + *m: setunderline + *m: storeerrorcode && Method to store the error handler in use by the program calling Report Viewer + *m: switcherrorcode + *m: write + *m: writefont && Write font characteristcs + *p: calignreport + *p: cbasetitle && Caption on form preceding title of file + *p: cdefaultpage && Default page used before report is created (if any) + *p: cglobalvariablename && Public reference to this class object -- needed for ON ERROR statement + *p: cnumericmask + *p: conerrorcode && String representing the error handler in use by the program, which is suspended when the Report Viewer is active + *p: creportfilename && File name (and path) of report being generated + *p: creportfontcolor && Specifies HTML font color + *p: creportfontface && HTML Font face reference + *p: creportfontsize && HTML font size reference (1-6) + *p: creportpath + *p: creportstyles && Optional HTML code for stylesheet inserted in file header + *p: creporttablealias && alias of current DBF-to-table + *p: creporttablecellstyle && Style attributes for the TD tag + *p: creporttablestyle && Style attributes for the TABLE tag + *p: creporttitle && Title of the Report + *p: creportwidth + *p: lreleaseglobalvariablenameondestroy && If a global variable is created in Init, it needs to be released on Destroy + *p: lreportbold && Whether the text is currently bold + *p: lreportitalic && Whether the text is currently italic + *p: lreportunderline && Whether the text is cxurrently underlined + *p: nreportbmargin && HTML document bottom margin + *p: nreporthandle && File number assigned to report created in beginReport + *p: nreportinlist && Whether we are between execution of beginList and endList methods + *p: nreportintable && Whether we are between execution of beginTable and endTable methods + *p: nreportlmargin && HTML left margin on page + *p: nreportrmargin && HTML document right margin + *p: nreporttablecurrentcolumn && Current column being written to + *p: nreporttmargin && HTML document top margin + *p: nreportwidth && Width of report in pixels + *a: aclines[1,0] && Array containing the lines of the body of the report + *a: acreporttablecolumnheads[1,0] && Column heads for table + *a: acreporttablecolumnmasks[10,1] && Column masks by table and column number + *a: acreporttablecolumnwidths[10,1] + *a: alists[10,0] && Keeps track of bulleted and numbered list tags + *a: alreporttablecolumnsum[1,0] && Whether column is summed + *a: anreporttablecolumns[1,0] && Number of columns in table + *a: areportfontdefaults[3,0] && Font default values + * + + PROTECTED cdefaultpage,cglobalvariablename,conerrorcode,lreleaseglobalvariablenameondestroy,nreporthandle + * + AutoCenter = .T. + calignreport = center + Caption = "Report Viewer" + cbasetitle = Report Viewer + cdefaultpage = + cglobalvariablename = aa + cnumericmask = 999,999,999,999.99 + conerrorcode = + creportfilename = aaaaaaaa + creportfontcolor = black + creportfontface = "Arial,Helvetica,Sans Serif" + creportfontsize = 2 + creportstyles = + creporttablealias = + creporttablecellstyle = "border-top:gray solid 1pt" + creporttablestyle = "border-top:gray solid 2pt;border-bottom:gray solid 2pt" + creporttitle = Raport + creportwidth = 100% + DoCreate = .T. + Height = 352 + Name = "frm_webreporter" + nreportbmargin = 15 + nreporthandle = 0 + nreportinlist = 0 + nreportintable = 0 + nreportlmargin = 15 + nreportrmargin = 15 + nreporttablecurrentcolumn = 0 + nreporttmargin = 15 + nreportwidth = 600 + ShowTips = .T. + ShowWindow = 1 + Width = 793 + WindowState = 2 + * + + ADD OBJECT 'cmdBack' AS commandbutton WITH ; + Caption = "", ; + Enabled = .F., ; + Height = 22, ; + Left = 186, ; + Name = "cmdBack", ; + Picture = ..\graphics\left.bmp, ; + TabIndex = 8, ; + ToolTipText = "Open previously saved document", ; + Top = 1, ; + Width = 23 + *< END OBJECT: BaseClass="commandbutton" /> + + ADD OBJECT 'cmdCopy' AS commandbutton WITH ; + Caption = "", ; + Height = 22, ; + Left = 101, ; + Name = "cmdCopy", ; + Picture = ..\graphics\copy.bmp, ; + TabIndex = 5, ; + ToolTipText = "Copy", ; + Top = 1, ; + Width = 23 + *< END OBJECT: BaseClass="commandbutton" /> + + ADD OBJECT 'cmdForward' AS commandbutton WITH ; + Caption = "", ; + Enabled = .F., ; + Height = 22, ; + Left = 208, ; + Name = "cmdForward", ; + Picture = ..\graphics\right.bmp, ; + TabIndex = 9, ; + ToolTipText = "Go forward", ; + Top = 1, ; + Width = 23 + *< END OBJECT: BaseClass="commandbutton" /> + + ADD OBJECT 'cmdHelp' AS commandbutton WITH ; + Caption = "", ; + Height = 22, ; + Left = 129, ; + Name = "cmdHelp", ; + Picture = ..\graphics\help.bmp, ; + TabIndex = 6, ; + ToolTipText = "Help", ; + Top = 1, ; + Width = 23 + *< END OBJECT: BaseClass="commandbutton" /> + + ADD OBJECT 'cmdOpen' AS commandbutton WITH ; + Caption = "", ; + Height = 22, ; + Left = 29, ; + Name = "cmdOpen", ; + Picture = ..\graphics\open.bmp, ; + TabIndex = 2, ; + ToolTipText = "Open previously saved document", ; + Top = 1, ; + Width = 23 + *< END OBJECT: BaseClass="commandbutton" /> + + ADD OBJECT 'cmdPrint' AS commandbutton WITH ; + Caption = "", ; + Height = 22, ; + Left = 1, ; + Name = "cmdPrint", ; + Picture = ..\graphics\print.bmp, ; + TabIndex = 1, ; + ToolTipText = "Print document", ; + Top = 1, ; + Width = 23 + *< END OBJECT: BaseClass="commandbutton" /> + + ADD OBJECT 'cmdProperties' AS commandbutton WITH ; + Caption = "", ; + Height = 22, ; + Left = 157, ; + Name = "cmdProperties", ; + Picture = ..\graphics\prop.bmp, ; + TabIndex = 7, ; + ToolTipText = "Properties", ; + Top = 1, ; + Width = 23 + *< END OBJECT: BaseClass="commandbutton" /> + + ADD OBJECT 'cmdSave' AS commandbutton WITH ; + Caption = "", ; + Height = 22, ; + Left = 73, ; + Name = "cmdSave", ; + Picture = ..\graphics\smmail.bmp, ; + TabIndex = 4, ; + ToolTipText = "Save document", ; + Top = 1, ; + Width = 23 + *< END OBJECT: BaseClass="commandbutton" /> + + ADD OBJECT 'Command1' AS commandbutton WITH ; + Caption = "", ; + Height = 22, ; + Left = 51, ; + Name = "Command1", ; + Picture = ..\graphics\save.bmp, ; + TabIndex = 3, ; + ToolTipText = "Save document", ; + Top = 1, ; + Width = 23 + *< END OBJECT: BaseClass="commandbutton" /> + + ADD OBJECT 'Command2' AS commandbutton WITH ; + Caption = "Command2", ; + Height = 22, ; + Left = 236, ; + Name = "Command2", ; + TabIndex = 10, ; + Top = 1, ; + Visible = .F., ; + Width = 84 + *< END OBJECT: BaseClass="commandbutton" /> + + ADD OBJECT 'oleWebBrowser' AS olecontrol WITH ; + Comment = "*:onResize=ss", ; + Height = 312, ; + Left = 1, ; + Name = "oleWebBrowser", ; + Top = 24, ; + Width = 793 + *< END OBJECT: BaseClass="olecontrol" OLEObject="c:\winnt\system32\shdocvw.dll" Value="0M8R4KGxGuEAAAAAAAAAAAAAAAAAAAAAPgADAP7/CQAGAAAAAAAAAAAAAAABAAAAAQAAAAAAAAAAEAAAAgAAAAEAAAD+////AAAAAAAAAAD////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////9/////v////7////+/////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////1IAbwBvAHQAIABFAG4AdAByAHkAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAWAAUA//////////8BAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAKARyrl1PsQBAwAAAEABAAAAAAAAAwBPAGwAZQBPAGIAagBlAGMAdABEAGEAdABhAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAB4AAgEDAAAAAgAAAP////8AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAArAAAAAAAAAADAEEAYwBjAGUAcwBzAE8AYgBqAFMAaQB0AGUARABhAHQAYQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAJgACAP///////////////wAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAEAAAA4AAAAAAAAAAMAQwBoAGEAbgBnAGUAZABQAHIAbwBwAHMAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAcAAIA////////////////AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAgAAAAQAAAAAAAAAAwAAAP7////+////BAAAAP7///////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////9h+VaICjTQEalrAMBP1wWiTAAAAPVRAAA/IAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAATAAAAAAAAAAAAAAAOAAAAAAAAAABAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA4AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAEAAIAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABAAAA4NBXAHM1zxGuaQgAKy4SYggAAAAAAAAATAAAAAEUAgAAAAAAwAAAAAAAAEaAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA==" /> + + PROCEDURE Activate + * ==================================================================== + * Activate + * -------------------------------------------------------------------- + * Author.........: Mark Wilson + * Project........: WebBrowser-based Report Viewer + * Notice.........: (c) 2000 First Manhattan Consulting Group + * Date...........: 23 Feb 2000 + * -------------------------------------------------------------------- + * Description....: When activating form, switch to form's + * ...............: error handler + * Parameters.....: + * Return type....: + * Changes........: + * ==================================================================== + + thisform.Resize + + thisform.SwitchErrorCode(.T.) + + ENDPROC + + PROCEDURE beginlist && Start an HTML list + * ==================================================================== + * BeginList + * -------------------------------------------------------------------- + * Author.........: Mark Wilson + * Project........: WebBrowser-Based Report Viewer + * Notice.........: (c) 2000 First Manhattan Consulting Group + * Date...........: 23 February 2000 + * -------------------------------------------------------------------- + * Description....: Write tags to begin an HTML list + * ...............: + * Parameters.....: tlOrdered - OPTIONAL - ordered list + * Return type....: + * Changes........: + * ==================================================================== + + lparameters tlOrdered + + thisform.nReportInList = thisform.nReportInList + 1 + + + + if tlOrdered + thisform.aLists(thisform.nReportInList) = "OL" + else + thisform.aLists(thisform.nReportInList) = "UL" + endi + + + thisform.write("<" + thisform.aLists(thisform.nReportInList) + ">", .t., "") + + ENDPROC + + PROCEDURE beginreport && Sets up a file to contain a report to be displayed + * ==================================================================== + * BeginReport Method + * -------------------------------------------------------------------- + * Author.........: Mark Wilson + * Project........: WebBrowser-Based Report Viewer + * Notice.........: (c) 2000 First Manhattan Consulting Group + * Date...........: 23 February 2000 + * -------------------------------------------------------------------- + * Description....: Starts the process of setting up a report to be + * ...............: displayed + * Parameters.....: tcReportTitle - OPTIONAL - title of report + * Return type....: Boolean - .t. if successful + * Changes........: + * ==================================================================== + + lparameters tcReportTitle + local llSuccess + + *-- If report title was passed (and is a string), save it + if vartype(tcReportTitle) = "C" + thisform.cReportTitle = tcReportTitle + endif + + IF EMPTY(thisform.cReportFileName) + *-- Create a (marginally) unique file name + thisform.cReportFileName = "Report" + sys(2015) + ".htm" + ENDIF + + *-- Create the file + lcfisier=IIF(!EMPTY(thisform.cReportPath),thisform.cReportPath+"\"+thisform.cReportFileName,thisform.cReportFileName) + thisform.nReportHandle = fcreate(lcfisier) + + *-- Check success + llSuccess = thisform.nReportHandle # -1 + + *-- Start with default values for font + thisform.writeFont + + *-- Return boolean indicating whether file was created + return llSuccess + ENDPROC + + PROCEDURE begintable && Begin an HTML Table + * ==================================================================== + * BeginTable + * -------------------------------------------------------------------- + * Author.........: Mark Wilson + * Project........: WebBrowser-Based Report Viewer + * Notice.........: (c) 2000 First Manhattan Consulting Group + * Date...........: 23 February 2000 + * -------------------------------------------------------------------- + * Description....: Write tags to begin an HTML table + * Parameters.....: tnNumberofColumns - Number of columns in table + * ...............: teTableWidth -- can be string or number + * ...............: tnBorderWidth - default is zero + * Return type....: + * Changes........: + * ==================================================================== + + lparameters tnNumberofColumns, teTableWidth, tnBorderWidth + + *-- Border width is zero if no parameter passed + if vartype(tnBorderWidth) <> "N" + tnBorderWidth = 0 + endif + + *-- Default table width + local lcTableWidth, i + do case + case empty(teTableWidth) + lcTableWidth = "" + case vartype(teTableWidth) = "N" + lcTableWidth = allt(str(teTableWidth)) + otherw + lcTableWidth = teTableWidth + endcase + + *-- Write tag + thisform.write("", .t., "") + thisform.nReportInTable = thisform.nReportInTable + 1 + + *-- Redimension array for storing column numbers if necessary + if alen(thisform.anReportTableColumns,1) < thisform.nReportInTable + dimension thisform.anReportTableColumns(thisform.nReportInTable) + endif + + *-- Redimension array for storing column numbers if necessary + if alen(thisform.acReportTableColumnMasks,1) < thisform.nReportInTable or alen(thisform.acReportTableColumnMasks,2) < tnNumberofColumns + dimension thisform.acReportTableColumnMasks(max(alen(thisform.acReportTableColumnMasks,1), thisform.nReportInTable),max(alen(thisform.acReportTableColumnMasks,2), tnNumberofColumns )) + endif + + *-- Redimension array for storing column numbers if necessary + if alen(thisform.acReportTableColumnWidths,1) < thisform.nReportInTable or alen(thisform.acReportTableColumnwidths,2) < tnNumberofColumns + dimension thisform.acReportTableColumnWidths(max(alen(thisform.acReportTableColumnWidths,1), thisform.nReportInTable),max(alen(thisform.acReportTableColumnWidths,2), tnNumberofColumns )) + endif + + + + *-- Redim array for storing column heads + if alen(thisform.acReportTableColumnHeads,1) < tnNumberofColumns + dimension thisform.acReportTableColumnHeads(tnNumberofColumns) + endif + store '' to thisform.acReportTableColumnHeads + + *-- Redim array for storing column heads + if alen(thisform.alReportTableColumnSum,1) < tnNumberofColumns + dimension thisform.alReportTableColumnSum(tnNumberofColumns) + endif + store .f. to thisform.alReportTableColumnSum + + *-- Store number of columns + thisform.anReportTableColumns(thisform.nReportInTable)= tnNumberofColumns + + *-- Set column masks for this table to the default + for i = 1 to tnNumberofColumns + thisform.acReportTableColumnMasks(thisform.nReportInTable, i) = thisform.cNumericMask + thisform.acReportTableColumnHeads(i) = proper(field(i)) + endfor + ENDPROC + + PROCEDURE begintablefromdbf + * ==================================================================== + * BeginTableFromDBF Method + * -------------------------------------------------------------------- + * Author.........: Mark Wilson + * Project........: WebBrowser-based Report Viewer + * Notice.........: (c) 2000 First Manhattan Consulting Group + * Date...........: 10 March 2000 + * -------------------------------------------------------------------- + * Description....: Begins process of making a report table from DBF + * Parameters.....: lcAlias - name of table + * Return type....: -- + * Changes........: + * ==================================================================== + + lparameters tcAlias, teTableWidth, tnBorderWidth + + *-- Get number of columns + local lnNumberofColumns + lnNumberofColumns = fcount(tcAlias) + + *-- Call begin table method + thisform.beginTable(lnNumberofColumns, teTableWidth, tnBorderWidth) + + *-- Store alias + thisform.cReportTableAlias = tcAlias + ENDPROC + + PROCEDURE Deactivate + * ==================================================================== + * Deactivate + * -------------------------------------------------------------------- + * Author.........: Mark Wilson + * Project........: WebBrowser-based Report Viewer + * Notice.........: (c) 2000 First Manhattan Consulting Group + * Date...........: 23 Feb 2000 + * -------------------------------------------------------------------- + * Description....: When deactivating form, switch back to + * ...............: external program's error handler + * Parameters.....: + * Return type....: + * Changes........: + * ==================================================================== + + + *-- Revert to program's error handler + thisform.SwitchErrorCode(.f.) + + ENDPROC + + PROCEDURE Destroy + * ==================================================================== + * Destroy + * -------------------------------------------------------------------- + * Author.........: Mark Wilson + * Project........: WebBrowser-Based Report Viewer + * Notice.........: (c) 2000 First Manhattan Consulting Group + * Date...........: 23 February 2000 + * -------------------------------------------------------------------- + * Description....: Destroy -> Release variable created in Init + * ...............: (if any) + * Parameters.....: + * Return type....: + * Changes........: + * ==================================================================== + + *-- Check for whether variable was created in Init + *-- If there was, release it to prevent memory clutter + lcerror=thisform.cOnErrorCode + ON ERROR &lcerror + if thisform.lReleaseGlobalVariableNameOnDestroy + local lcReference + lcReference = thisform.cGlobalVariableName + release &lcReference + endif + ENDPROC + + PROCEDURE displayreport && Displkays report in web browser + * ==================================================================== + * DisplayReport + * -------------------------------------------------------------------- + * Author.........: Mark Wilson + * Project........: WebBrowser-Based ReportViewer + * Notice.........: (c) 2000 First Manhattan Consulting Group + * Date...........: 23 Feb 2000 + * -------------------------------------------------------------------- + * Description....: Displays report by navigating web browser to + * ...............: file that was created + * Parameters.....: + * Return type....: + * Changes........: + * ==================================================================== + + local llOK + llOK = .f. + + *-- Check to make sure it's a valid file + lcfisier=IIF(!EMPTY(thisform.cReportPath),thisform.cReportPath+"\"+thisform.cReportFileName,thisform.cReportFileName) + do case + case vartype(lcfisier) <> "C" + case empty(lcfisier) + case not file(lcfisier) + otherw + thisform.WindowState=2 + thisform.visible = .t. + ThisForm.oleWebBrowser.navigate(lcfisier) + llOK = .t. + endcase + + *-- Notify user if there was a problem + if not llOK + =messageb("There was a problem loading the file. The file was not created, or the filename supplied was not valid.", 16) + endif + ENDPROC + + PROCEDURE endlist && End an HTML list + * ==================================================================== + * EndList + * -------------------------------------------------------------------- + * Author.........: Mark Wilson + * Project........: WebBrowser-Based ReportViewer + * Notice.........: (c) 2000 First Manhattan Consulting Group + * Date...........: 23 Feb 2000 + * -------------------------------------------------------------------- + * Description....: Ends HTML list + * ...............: + * Parameters.....: tlOrdered - OPTIONAL + * Return type....: + * Changes........: + * ==================================================================== + + + + *-- Write end of table, ignoring surrounding tags + thisform.write("", .t., "") + + *-- Step back a level in table hierarchy + thisform.nReportInList = max(0, thisform.nReportInList - 1) + + ENDPROC + + PROCEDURE endreport && Ends a report and optionally displays it + * ==================================================================== + * EndReport + * -------------------------------------------------------------------- + * Author.........: Mark Wilson + * Project........: Web-Based Report Viewer + * Notice.........: (c) 2000 First Manhattan Consulting Group + * Date...........: 23 Feb 2000 + * -------------------------------------------------------------------- + * Description....: Closes report file and performs any necessary + * ...............: clean-up + * Parameters.....: tlDisplay - OPTIONAL - Display report + * Return type....: + * Changes........: + * ==================================================================== + + lparameters tlNoDisplay + local lnCounter + + + *-- Write top of file + =fputs(thisform.nReportHandle, "") + =fputs(thisform.nReportHandle, "") + =fputs(thisform.nReportHandle, "" + thisform.cReportTitle + "") + + *-- If any styles were inserted for stylesheet, put em here + if not empty(thisform.cReportStyles) + =fputs(thisform.nReportHandle, "") + endif + + =fputs(thisform.nReportHandle, "") + =fputs(thisform.nReportHandle, "") + + *-- Aliniez raportul + =fputs(thisform.nReportHandle,[
]) + + *-- Set width of report (default is 600) + =fputs(thisform.nReportHandle, "
") + + *-- Write ReportBody + *-- Step through lines created using Write method and write em to file + for lnCounter = 1 to alen(thisform.acLines,1) + =fputs(thisform.nReportHandle, thisform.acLines(lnCounter) ) + endfor + + =fputs(thisform.nReportHandle, "
") + + *-- Inchid alinierea + =fputs(thisform.nReportHandle, "") + + =fputs(thisform.nReportHandle, "") + + *-- End file + =fputs(thisform.nReportHandle, "") + + *-- Close File + =fclose(thisform.nReportHandle) + + + *-- Display file? + if not tlNoDisplay + thisform.displayReport + endif + ENDPROC + + PROCEDURE endtable && End an HTML table + * ==================================================================== + * EndTable + * -------------------------------------------------------------------- + * Author.........: Mark Wilson + * Project........: WebBrowser-Based ReportViewer + * Notice.........: (c) 2000 First Manhattan Consulting Group + * Date...........: 23 Feb 2000 + * -------------------------------------------------------------------- + * Description....: Ends HTML table + * ...............: + * Parameters.....: + * Return type....: + * Changes........: + * ==================================================================== + + *-- Step back a level in table hierarchy + thisform.nReportInTable = max(0, thisform.nReportInTable - 1) + + *-- Write end of table, ignoring surrounding tags + thisform.write("", .t., "") + ENDPROC + + PROCEDURE endtablefromdbf + * ==================================================================== + * EndTableFromDBF Method + * -------------------------------------------------------------------- + * Author.........: Mark Wilson + * Project........: WebBrowser-based Report Viewer + * Notice.........: (c) 2000 First Manhattan Consulting Group + * Date...........: 10 March 2000 + * -------------------------------------------------------------------- + * Description....: End process of making a report table from DBF + * Parameters.....: + * Return type....: -- + * Changes........: + * ==================================================================== + + *-- store current work area + local lcOldAlias, i, lnSum + lcOldAlias = select() + + + *-- Choose area with table + select (thisform.cReportTableAlias) + + *-- Show col heads + thisform.setBold(.t.) + for i = 1 to fcount() + thisform.write ( thisform.acReportTableColumnHeads(i) ) + endfor + thisform.setBold(.f.) + + *-- step through table + scan + for i = 1 to fcount() + thisform.write (evaluate(field(i))) + endfor + endscan + + *-- Show col heads + thisform.setItalic(.t.) + thisform.setBold(.t.) + for i = 1 to fcount() + if thisform.alReportTableColumnSum(i) + calc sum(evaluate(field(i))) to lnSum + thisform.write ( lnSum ) + else + thisform.write ("") + endif + endfor + thisform.setItalic(.f.) + thisform.setBold(.f.) + + + *-- Finish table + thisform.EndTable + + *-- Return to original selected workarea + select (lcOldAlias) + + ENDPROC + + PROCEDURE errorhandler && Method to handle errors while the Report Viewer is active + * ==================================================================== + * ErrorHandler + * -------------------------------------------------------------------- + * Author.........: Mark Wilson + * Project........: WebBrowser-based Report Viewer + * Notice.........: (c) 2000 First Manhattan Consulting Group + * Date...........: 23 Feb 2000 + * -------------------------------------------------------------------- + * Description....: Error handler to trap the problem created by + * ...............: webBrowser.ExecWB print dialog + * Parameters.....: tnErrorNumber - Error number passed from ON ERROR + * Return type....: None + * Changes........: + * ==================================================================== + + lparameters tnErrorNumber + + *!* *-- Alert user to error + *!* =messageb("An error occurred. The requested action was canceled.",; + *!* 64, "VFP Error " + allt(str(tnErrorNumber)) ) + ENDPROC + + PROCEDURE Init + * ==================================================================== + * Init + * -------------------------------------------------------------------- + * Author.........: Mark Wilson + * Project........: WebBrowser-based Report Viewer + * Notice.........: (c) 2000 First Manhattan Consulting Group + * Date...........: 23 Feb 2000 + * -------------------------------------------------------------------- + * Description....: Setup for claFrmWebReporter class + * Parameters.....: tcGlobalVariableName - optional - name used to + * ...............: create this class (with index if necessary) + * Return type....: + * Changes........: + * ==================================================================== + + lparameters tcGlobalVariableName + + *-- Set caption to base caption (later, form caption will be base + *-- title + document title) + This.caption = this.cBaseTitle + + *-- If no parameter was passed, make a unique global variable + if pcount() =0 + tcGlobalVariableName = "goReportViewer" + sys(2015) + public &tcGlobalVariableName. + &tcGlobalVariableName. = this + thisform.lReleaseGlobalVariableNameOnDestroy = .t. + endif + *-- Make a unique public variable reference to this form which can be + *-- used in the ON ERROR Statement in the SwitchErrorCode + *-- method (cannot use THISFORM in ON ERROR) + thisform.cGlobalVariableName = tcGlobalVariableName + + *-- Store the current ON ERROR code + thisform.StoreErrorCode + + *-- If there is a default/base page to use before creating a report, + *-- go to it + if not empty(thisform.cDefaultPage) + ThisForm.oleWebBrowser.navigate(thisform.cDefaultPage) + endif + ENDPROC + + PROCEDURE KeyPress + LPARAMETERS nKeyCode, nShiftAltCtrl + IF nkeycode =27 + nodefault + this.release + ENDIF + ENDPROC + + PROCEDURE QueryUnload + * ==================================================================== + * QueryUnload + * -------------------------------------------------------------------- + * Author.........: Mark Wilson + * Project........: WebBrowser-Based ReportViewer + * Notice.........: (c) 2000 First Manhattan Consulting Group + * Date...........: 23 Feb 2000 + * -------------------------------------------------------------------- + * Description....: QueryUnload - Delete file if any + * Parameters.....: + * Return type....: + * Changes........: + * ==================================================================== + + *-- Check to make sure it's a valid file before deleting + do case + case vartype(thisform.cReportFileName) <> "C" + case empty(thisform.cReportFileName) + case not file(thisform.cReportFileName) + otherw + delete file (thisform.cReportFileName) + endcase + ENDPROC + + PROCEDURE Resize + * ==================================================================== + * Resize + * -------------------------------------------------------------------- + * Author.........: Mark Wilson + * Project........: WebBrowser-based Report Viewer + * Notice.........: (c) 2000 First Manhattan Consulting Group + * Date...........: 23 Feb 2000 + * -------------------------------------------------------------------- + * Description....: Resize form --> resize/move components as well + * ...............: + * Parameters.....: + * Return type....: + * Changes........: + * ==================================================================== + + *-- Resize WebBrowser object to fill form + ThisForm.oleWebBrowser.height = this.height - 44 + ThisForm.oleWebBrowser.width = this.width + + *-- Move and change width of statusbar + *-- Note: StatusBar control is NOT aligned @ bottom of form, + *-- since progressBar disappears behind it + + *!* ThisForm.oleStatusBar.top = this.height - ThisForm.oleStatusBar.height + *!* ThisForm.oleStatusBar.width = this.width - ThisForm.oleProgressBar.width + + *-- Place progressbar next to statusBar at bottom + *!* ThisForm.oleProgressBar.top = this.height - ThisForm.oleProgressBar.height + *!* ThisForm.oleProgressBar.left = This.width - ThisForm.oleProgressBar.width + ENDPROC + + PROCEDURE setbold + * ==================================================================== + * SetBold + * -------------------------------------------------------------------- + * Author.........: Mark Wilson + * Project........: WebBrowser-Based Report Viewer + * Notice.........: (c) 2000 First Manhattan Consulting Group + * Date...........: 23 February 2000 + * -------------------------------------------------------------------- + * Description....: Turn Bold on or off + * ...............: + * Parameters.....: tlOn - OPTIONAL - Switch to turn on or off + * Return type....: + * Changes........: + * ==================================================================== + + lparameters tlOn + + thisform.lReportBold = tlOn + + ENDPROC + + PROCEDURE setcolumnheads + * ==================================================================== + * SetColumnHeads Method + * -------------------------------------------------------------------- + * Author.........: Mark Wilson + * Project........: WebBrowser-based Report Viewer + * Notice.........: (c) 2000 First Manhattan Consulting Group + * Date...........: 10 March 2000 + * -------------------------------------------------------------------- + * Description....: Apply column heads to current table + * Parameters.....: tcCSVColumnHeads - column heads + * Return type....: -- + * Changes........: + * ==================================================================== + + lparameters tcCSVColumnHeads + + local lnColumnNumber, lnCommaAt, lcColumn, lcRest + lnColumnNumber = 0 + + *-- Separate out parameter + tcCSVColumnHeads = tcCSVColumnHeads + "," + + do while "," $ tcCSVColumnHeads ; + and lnColumnNumber < thisform.anReportTableColumns(thisform.nReportInTable) + + lnColumnNumber = lnColumnNumber + 1 + lnCommaAt = at(",", tcCSVColumnHeads ) + lcColumn = left(tcCSVColumnHeads , lnCommaAt - 1) + tcCSVColumnHeads = substr(tcCSVColumnHeads , lnCommaAt + 1) + + thisform.acReportTableColumnHeads(lnColumnNumber) = lcColumn + enddo + + + ENDPROC + + PROCEDURE setcolumnmask + * ==================================================================== + * setColumnMask Method + * -------------------------------------------------------------------- + * Author.........: Mark Wilson + * Project........: WebBrowser-based Report Viewer + * Notice.........: (c) 2000 First Manhattan Consulting Group + * Date...........: 10 March 2000 + * -------------------------------------------------------------------- + * Description....: Apply mask to column(s) of table + * Parameters.....: tnColumn - column to set; 0 = all + * ...............: tcMask - TRANSFORM-style Mask + * Return type....: -- + * Changes........: + * ==================================================================== + lparameters tnColumn, tcMask + + + *-- If column is 0, apply to all columns + *-- Otherwise apply to specified column + local i + if tnColumn = 0 + for i = 1 to thisform.anReportTableColumns(thisform.nReportInTable ) + thisform.acReportTableColumnMasks(; + thisform.nReportInTable, i) = tcMask + endfor + else + thisform.acReportTableColumnMasks(; + thisform.nReportInTable, tnColumn) = tcMask + endif + + ENDPROC + + PROCEDURE setcolumnsum + * ==================================================================== + * SetColumnSum Method + * -------------------------------------------------------------------- + * Author.........: Mark Wilson + * Project........: WebBrowser-based Report Viewer + * Notice.........: (c) 2000 First Manhattan Consulting Group + * Date...........: 10 March 2000 + * -------------------------------------------------------------------- + * Description....: Set whether certain columns are summed + * Parameters.....: tcCSVBooleans - Format "boolean[,boolean[,..." + * Return type....: -- + * Changes........: + * ==================================================================== + + lparameters tcCSVBooleans + + local lnColumnNumber, lnCommaAt, lcColumn, lcRest + lnColumnNumber = 0 + + *-- Separate out parameter + tcCSVBooleans = tcCSVBooleans + "," + + do while "," $ tcCSVBooleans ; + and lnColumnNumber < thisform.anReportTableColumns(thisform.nReportInTable) + + lnColumnNumber = lnColumnNumber + 1 + lnCommaAt = at(",", tcCSVBooleans ) + lcColumn = left(tcCSVBooleans , lnCommaAt - 1) + tcCSVBooleans = substr(tcCSVBooleans , lnCommaAt + 1) + + thisform.alReportTableColumnSum(lnColumnNumber) = eval(lcColumn) + enddo + + + ENDPROC + + PROCEDURE setcolumnwidth + * ==================================================================== + * setColumnWidth Method + * -------------------------------------------------------------------- + * Author.........: Marius Mutu + * Project........: WebBrowser-based Report Viewer + * Notice.........: (c) 2000 First Manhattan Consulting Group + * Date...........: 25 Mai 2000 + * -------------------------------------------------------------------- + * Description....: Apply widths to column(s) of table + * Parameters.....: tnColumn - column to set; 0 = all + * ...............: tcWidth - TRANSFORM-style Width + * Return type....: -- + * Changes........: + * ==================================================================== + lparameters tnColumn, tcWidth + + + *-- If column is 0, apply to all columns + *-- Otherwise apply to specified column + local i + if tnColumn = 0 + for i = 1 to thisform.anReportTableColumns(thisform.nReportInTable ) + thisform.acReportTableColumnWidths(thisform.nReportInTable, i) = tcWidth + endfor + else + thisform.acReportTableColumnWidths(thisform.nReportInTable, tnColumn) = tcWidth + endif + + ENDPROC + + PROCEDURE setfontcolor && set HTML font color + * ==================================================================== + * SetFontColor + * -------------------------------------------------------------------- + * Author.........: Mark Wilson + * Project........: WebBrowser-based Report Viewer + * Notice.........: (c) 2000 First Manhattan Consulting Group + * Date...........: 23 Feb 2000 + * -------------------------------------------------------------------- + * Description....: Sets the font Color and writes it to body + * Parameters.....: tcFontColor - OPTIONAL - name of font Color + * ...............: (if empty, sets to default) + * Return type....: + * Changes........: + * ==================================================================== + + lparameters tcFontColor + + *-- If it hasn't changed from the default value, + *-- save the default value for future use + if PEMSTATUS(this, "cReportFontColor", 0) = .f. + thisform.aReportFontDefaults(3) = thisform.cReportFontColor + endif + + *-- If no value was passed, use default value + *-- Otherwise Save passed Color + if pcount() = 0 + thisform.cReportFontColor = thisform.aReportFontDefaults(3) + else + thisform.cReportFontColor = tcFontColor + endif + + *-- Write font tag + thisform.writeFont + ENDPROC + + PROCEDURE setfontface && Set the HTML font face + * ==================================================================== + * SetFontFace + * -------------------------------------------------------------------- + * Author.........: Mark Wilson + * Project........: WebBrowser-based Report Viewer + * Notice.........: (c) 2000 First Manhattan Consulting Group + * Date...........: 23 Feb 2000 + * -------------------------------------------------------------------- + * Description....: Sets the font Face and writes it to body + * Parameters.....: tcFontFace - OPTIONAL - name of font Face + * ...............: (if empty, sets to default) + * Return type....: + * Changes........: + * ==================================================================== + + lparameters tcFontFace + + *-- If it hasn't changed from the default value, + *-- save the default value for future use + if PEMSTATUS(this, "cReportFontFace", 0) = .f. + thisform.aReportFontDefaults(1) = thisform.cReportFontFace + endif + + *-- If no value was passed, use default value + *-- Otherwise Save passed Face + if pcount() = 0 + thisform.cReportFontFace = thisform.aReportFontDefaults(1) + else + thisform.cReportFontFace = tcFontFace + endif + + *-- Write font tag + thisform.writeFont + ENDPROC + + PROCEDURE setfontsize && Set HTML font size + * ==================================================================== + * SetFontSize + * -------------------------------------------------------------------- + * Author.........: Mark Wilson + * Project........: WebBrowser-based Report Viewer + * Notice.........: (c) 2000 First Manhattan Consulting Group + * Date...........: 23 Feb 2000 + * -------------------------------------------------------------------- + * Description....: Sets the font size and writes it to body + * Parameters.....: tnFontSize - OPTIONAL - font size 1 (lg) - 6 (sm) + * ...............: (if empty, sets to default) + * Return type....: + * Changes........: + * ==================================================================== + + lparameters tnFontSize + + *-- If it hasn't changed from the default value, + *-- save the default value for future use + if PEMSTATUS(this, "nReportFontSize", 0) = .f. + thisform.aReportFontDefaults(2) = thisform.nReportFontSize + endif + + *-- If no value was passed, use default value + *-- Otherwise Save passed Size + if pcount() = 0 + thisform.nReportFontSize = thisform.aReportFontDefaults(2) + else + thisform.nReportFontSize = tcFontSize + endif + + *-- Write font tag + thisform.writeFont + ENDPROC + + PROCEDURE setitalic + * ==================================================================== + * SetItalic + * -------------------------------------------------------------------- + * Author.........: Mark Wilson + * Project........: WebBrowser-Based Report Viewer + * Notice.........: (c) 2000 First Manhattan Consulting Group + * Date...........: 23 February 2000 + * -------------------------------------------------------------------- + * Description....: Turn Italic on or off + * ...............: + * Parameters.....: tlOn - OPTIONAL - Switch to turn on or off + * Return type....: + * Changes........: + * ==================================================================== + + lparameters tlOn + + thisform.lReportItalic = tlOn + + ENDPROC + + PROCEDURE setnumericmask + * ==================================================================== + * stNumericMask + * -------------------------------------------------------------------- + * Author.........: Mark Wilson + * Project........: WebBrowser-Based ReportViewer + * Notice.........: (c) 2000 First Manhattan Consulting Group + * Date...........: 23 Feb 2000 + * -------------------------------------------------------------------- + * Description....: Mask used for numbers passed directly to Write + * Parameters.....: tcMask + * Return type....: + * Changes........: + * ==================================================================== + + lparam tcMask + + *-- default + if empty(tcMask) + tcMask = "999,999,999,999.99" + endif + + thisform.cNumericMask = tcMask + ENDPROC + + PROCEDURE setreportmargin && Set margins for the document: T, B,. L, R + * ==================================================================== + * SetReportMargin + * -------------------------------------------------------------------- + * Author.........: Mark Wilson + * Project........: WebBrowser_based Report Viewer + * Notice.........: (c) 2000 First Manhattan Consulting Group + * Date...........: 23 Feb 2000 + * -------------------------------------------------------------------- + * Description....: Set report margin + * Parameters.....: tcWhichMargin - Which margin to set: L, R, T, B + * ...............: tnValue1 - Value to set margin to + * ...............: tnValue2 - OPTIONAL ) If more than one value is + * ...............: tnValue3 - OPTIONAL ) passed, user is setting + * ...............: tnValue4 - OPTIONAL ) all margins (1st param ign.) + * Return type....: + * Changes........: + * ==================================================================== + + lparameters tcWhichMargin , tnValue1, tnValue2, tnValue3, tnValue4 + + *-- If extra parameters passed, set all margins + if pcount() > 2 + if pcount() = 5 + thisform.nReportBMargin = tnValue4 + endif + if pcount() >= 4 + thisform.nReportTMargin = tnValue3 + endif + if pcount() >= 3 + thisform.nReportRMargin = tnValue2 + endif + if pcount() >= 2 + thisform.nReportLMargin = tnValue1 + endif + else + *-- Set the margin specified + local lcPropertyName + tcWhichMargin = upper(left(tcWhichMargin, 1)) + + *-- Make sure it's a valid property + if tcWhichMargin $ "LRTB" + lcPropertyName = "nReport" + tcWhichMargin + "Margin" + thisform.&lcPropertyName. = tnValue1 + endi + endif + ENDPROC + + PROCEDURE setreportwidth && set width of report and window + * ==================================================================== + * SetReportWidth + * -------------------------------------------------------------------- + * Author.........: Mark Wilson + * Project........: WebBrowser_based Report Viewer + * Notice.........: (c) 2000 First Manhattan Consulting Group + * Date...........: 23 Feb 2000 + * -------------------------------------------------------------------- + * Description....: Set report width and window size also + * ...............: + * Parameters.....: tnWidth - width in pixels + * Return type....: + * Changes........: + * ==================================================================== + + lparameters tnWidth + + *-- Save value in form prop + thisform.nReportWidth = tnWidth + + *-- Change size of window to match + *-- (including width of form edge and report margin) + if thisform.WindowState = 0 && Normal + thisform.width = thisform.nReportWidth + 25; + + thisform.nReportLMargin ; + + thisform.nReportRMargin + endif + + ENDPROC + + PROCEDURE setunderline + * ==================================================================== + * SetUnderline + * -------------------------------------------------------------------- + * Author.........: Mark Wilson + * Project........: WebBrowser-Based Report Viewer + * Notice.........: (c) 2000 First Manhattan Consulting Group + * Date...........: 23 February 2000 + * -------------------------------------------------------------------- + * Description....: Turn Underline on or off + * ...............: + * Parameters.....: tlOn - OPTIONAL - Switch to turn on or off + * Return type....: + * Changes........: + * ==================================================================== + + lparameters tlOn + + thisform.lReportUnderline = tlOn + + ENDPROC + + PROTECTED PROCEDURE storeerrorcode && Method to store the error handler in use by the program calling Report Viewer + * ==================================================================== + * Store ErrorCode (private) + * -------------------------------------------------------------------- + * Author.........: Mark Wilson + * Project........: WebBrowser-based Report Viewer + * Notice.........: (c) 2000 First Manhattan Consulting Group + * Date...........: 23 Feb 2000 + * -------------------------------------------------------------------- + * Description....: Stores the current ON ERROR code from the calling + * ...............: program so that it can be reasserted when this + * ...............: form is deactivated or destroyed + * Parameters.....: None + * Return type....: None + * Changes........: + * ==================================================================== + + local lcFile, lnFile, lcOnErrorCode, lcLine + + *-- Set aside a variable in which to store the current ON ERROR code + lcOnErrorCode = "" + + *-- The only way I know to get the current ON ERROR code is + *-- from LIST STATUS. Consequently we need to LIST STATUS to file + *-- and analyze the file + *-- If there is no ON ERROR, lcOnErrorCode will remain blank + lcFile = "STATUS" + sys(2015) + ".TXT" + list status to file (lcFile) noconsole + + *-- Open the file + lnFile = fopen(lcFile) + if lnFile # -1 + + *-- Step through the file line by line + do while !feof(lnFile) + + *-- Get next line file file + lcLine = fgets(lnFile) + + *-- If it's the on error line, store the rest in + *-- the variable and exit loop + if left(lcLine , 9) = "On Error:" + lcOnErrorCode = substr(lcLine, 10) + exit + endif + + enddo && File read loop + + endif && File opened successfully + + *-- Close the file + =fclose(lnFile) + + *-- Store error code as class property for use in other methods + thisform.cOnErrorCode = lcOnErrorCode + + *-- Delete the file that was created by LIST STATUS + if file (lcFile) + delete file (lcFile) + endif + ENDPROC + + PROTECTED PROCEDURE switcherrorcode + * ==================================================================== + * SwitchErrorCode Method (private) + * -------------------------------------------------------------------- + * Author.........: Mark Wilson + * Project........: WebBrowser-based Report Viewer + * Notice.........: (c) 2000 First Manhattan Consulting Group + * Date...........: 23 Feb 2000 + * -------------------------------------------------------------------- + * Description....: Toggles between the error handler used by the + * ...............: program that called this class, and the handler + * ...............: used by Report Viewer. Necessary because of the + * ...............: OLE error generated by canceling the Print dialog + * ...............: that's called from ExecWB + * Parameters.....: tlSwitch - .t. means use this class's handler + * Return type....: -- + * Changes........: + * ==================================================================== + + lparameters tlSwitch + + *-- If tlSwitch is true, use the class's error handler + *-- Else, use the error handler used by the external program + *-- + *-- This switch occurs on thisform.activate and .deactivate + *-- + *-- External ON ERROR code is stored during StoreErrorCode method + + if tlSwitch + *-- Pass error code to error handler method + *-- Use the reference to the variable assigned to this object + *-- passed to Init and stored in thisform.cGlobalVariableName + local lcMacro + lcMacro = "on error " + thisform.cGlobalVariableName + ".errorHandler(error())" + &lcMacro + else + *-- Store external error handler in local variable + local lcErrorCode + lcErrorCode = thisform.cOnErrorCode + + *-- Set error handler to external code + on error &lcErrorCode + endif + ENDPROC + + PROCEDURE write + * ==================================================================== + * Write + * -------------------------------------------------------------------- + * Author.........: Mark Wilson + * Project........: WebBrowser_based Report Viewer + * Notice.........: (c) 2000 First Manhattan Consulting Group + * Date...........: 23 Feb 2000 + * -------------------------------------------------------------------- + * Description....: Adds a new lines to the array containing the + * ...............: body copy of the Report + * Parameters.....: tcText - the text to write + * ...............: tcAlign - OPTIONAL - "left", "center", "right" + * ...............: tlSkipSurroundTags - OPTIONAL - Suppress list, + * ...............: table tags + * Return type....: + * Changes........: + * ==================================================================== + + lparameters teText, tlSkipSurroundTags, tcAlign + local lnInstance, lcFontString, lcTextToWrite, lcMask + + *-- Account for numbers and other data being passed + local lcText + lcText = "" + do case + case vartype(teText) = "C" + lcText = teText + case vartype(teText) = "N" + *-- Get the mask to use + *-- If regular test, use current setting for mask + *-- If in a table, use column-specific mask + if thisform.nReportInTable = 0 + lcMask = thisform.cNumericMask + else + lcMask = thisform.acReportTableColumnMasks(; + thisform.nReportInTable, ; + thisform.nReportTableCurrentColumn ) + endif + lcText = ltrim( transform(teText, lcMask)) + + if empty(tcAlign) + tcAlign = "right" + endif + case vartype(teText) = "L" + lcText = iif(teText, "True", "False") + endcase + + + *!* if thisform.nReportInTable = 0 + *!* lcWidth="" + *!* else + *!* lcWidth = thisform.acReportTableColumnWidths(thisform.nReportInTable,thisform.nReportTableCurrentColumn ) + *!* endif + lcWidth="" + lcFontString = "" + lcTextToWrite = lcText + + if not tlSkipSurroundTags + + *-- If bold is on, make bold (etc.) + if thisform.lReportBold + lcTextToWrite = "" + lcTextToWrite + "" + endif + if thisform.lReportItalic + lcTextToWrite = "" + lcTextToWrite + "" + endif + if thisform.lReportUnderline + lcTextToWrite = "" + lcTextToWrite + "" + endif + + *-- If we are in the middle of writing a list, add list tags + if thisform.nReportInList > 0 + lcTextToWrite = "
  • " + lcTextToWrite + "
  • " + else + *-- Use alignment if it was passed + local lcAlign + lcAlign = "left" + if not empty(tcAlign) + lcAlign = tcAlign + endi + lcTextToWrite = "

    " + lcTextToWrite + "

    " + endi + + *-- If we are in the middle of writing a table, add cell tags + if thisform.nReportInTable > 0 + *-- Increment the counter reflecting current column + thisform.nReportTableCurrentColumn = thisform.nReportTableCurrentColumn + 1 + *-- Add cell tag + lcTextToWrite = [" + lcFontString + lcTextToWrite + "
    " + *-- If it's the first column, add row tag + if thisform.nReportTableCurrentColumn =1 + lcTextToWrite = "" +CHR(13)+CHR(10)+ lcTextToWrite + endif + *-- If it's the last column, add close row tag and reset counter + if thisform.nReportTableCurrentColumn ; + = thisform.anReportTableColumns(thisform.nReportInTable ) + lcTextToWrite = lcTextToWrite + CHR(13)+CHR(10)+"" + thisform.nReportTableCurrentColumn = 0 + endif + endif + endif + + *-- Place text in last line of array + lnInstance = alen(thisform.acLines, 1) + thisform.acLines[lnInstance] = lcTextToWrite + + *-- Redimension array to next line + dimension thisform.acLines[lnInstance + 1] + + *-- Write empty string to it so it can be added to text file + thisform.acLines[lnInstance + 1] = "" + + ENDPROC + + PROCEDURE writefont && Write font characteristcs + * ==================================================================== + * WriteFont + * -------------------------------------------------------------------- + * Author.........: Mark Wilson + * Project........: WebBrowser-based Report Viewer + * Notice.........: (c) 2000 First Manhattan Consulting Group + * Date...........: 23 Feb 2000 + * -------------------------------------------------------------------- + * Description....: Write font characteristics + * ...............: + * Parameters.....: + * Return type....: + * Changes........: + * ==================================================================== + + + *-- Compile font string + lcFontString = ""; + + "" + + thisform.write(lcFontString, .t., "") + ENDPROC + + PROCEDURE cmdBack.Click + * ==================================================================== + * cmdBack.click + * -------------------------------------------------------------------- + * Author.........: Mark Wilson + * Project........: WebBrowser-Based Report Viewer + * Notice.........: (c) 2000 First Manhattan Consulting Group + * Date...........: 23 February 2000 + * -------------------------------------------------------------------- + * Description....: Go back to last page in history list. This button + * ...............: enabled/disabled by CommandStateChange + * Parameters.....: + * Return type....: + * Changes........: + * ==================================================================== + + ThisForm.oleWebBrowser.goBack + ENDPROC + + PROCEDURE cmdCopy.Click + * ==================================================================== + * cmdCopy.click + * -------------------------------------------------------------------- + * Author.........: Mark Wilson + * Project........: WebBrowser-Based Report Viewer + * Notice.........: (c) 2000 First Manhattan Consulting Group + * Date...........: 23 February 2000 + * -------------------------------------------------------------------- + * Description....: Copy selected text in web doc to clipboard + * ...............: + * Parameters.....: + * Return type....: + * Changes........: + * ==================================================================== + + ThisForm.oleWebBrowser.execWB ( 12, 0) && Copy do default + + ENDPROC + + PROCEDURE cmdForward.Click + * ==================================================================== + * cmdForward.click + * -------------------------------------------------------------------- + * Author.........: Mark Wilson + * Project........: WebBrowser-Based Report Viewer + * Notice.........: (c) 2000 First Manhattan Consulting Group + * Date...........: 23 February 2000 + * -------------------------------------------------------------------- + * Description....: Go no next item in history. This button enabled/ + * ...............: disabled by CommandStateChange + * Parameters.....: + * Return type....: + * Changes........: + * ==================================================================== + + ThisForm.oleWebBrowser.goForward + ENDPROC + + PROCEDURE cmdOpen.Click + * ==================================================================== + * cmdOpen.Click + * -------------------------------------------------------------------- + * Author.........: Mark Wilson + * Project........: WebBrowser-Based Report Viewer + * Notice.........: (c) 2000 First Manhattan Consulting Group + * Date...........: 23 February 2000 + * -------------------------------------------------------------------- + * Description....: Since the ExecWB Open command seems not to work, + * ...............: ask for and navigate to a file (not a URL) + * Parameters.....: + * Return type....: + * Changes........: + * ==================================================================== + + *-- Ask for a file to open + gcFile = getfile('HTML pages:HTM,HTML;Text files:TXT,BAK', 'Browse for an HTM file:', 'Browse', 0,; + 'Open File') + + *-- Evaluate response + do case + case empty(gcFile ) + *-- User canceled + return + otherwise + *-- Go to file specified + thisform.oleWebBrowser.navigate(gcFile ) + endcase + + ENDPROC + + PROCEDURE cmdPrint.Click + * ==================================================================== + * cmdPrint.click + * -------------------------------------------------------------------- + * Author.........: Mark Wilson + * Project........: WebBrowser-Based Report Viewer + * Notice.........: (c) 2000 First Manhattan Consulting Group + * Date...........: 23 February 2000 + * -------------------------------------------------------------------- + * Description....: Print document using ExecWB method (note: this + * ...............: procedure generates an OLE error if the user + * ...............: cancels the Printr dialog) + * Parameters.....: + * Return type....: + * Changes........: + * ==================================================================== + + ThisForm.oleWebBrowser.execWB ( 6, 0) && Print, do default + + ENDPROC + + PROCEDURE cmdProperties.Click + * ==================================================================== + * cmdProperties.click + * -------------------------------------------------------------------- + * Author.........: Mark Wilson + * Project........: WebBrowser-Based Report Viewer + * Notice.........: (c) 2000 First Manhattan Consulting Group + * Date...........: 23 February 2000 + * -------------------------------------------------------------------- + * Description....: Show properties window for web doc + * ...............: + * Parameters.....: + * Return type....: + * Changes........: + * ==================================================================== + + ThisForm.oleWebBrowser.execWB ( 10, 0) && Properties, do default + + ENDPROC + + PROCEDURE cmdSave.Click + * ==================================================================== + * cmdSave.click + * -------------------------------------------------------------------- + * Author.........: Mark Wilson + * Project........: WebBrowser-Based Report Viewer + * Notice.........: (c) 2000 First Manhattan Consulting Group + * Date...........: 23 February 2000 + * -------------------------------------------------------------------- + * Description....: Allows user to save document locally for future + * ...............: reference + * Parameters.....: + * Return type....: + * Changes........: + * ==================================================================== + + + cMessageText = "MessageText" + cMessageSubj = "Test Mail with OLE Messaging" + + + SESSION=CREATEOBJECT('mapi.session') && Create the MAPI object. + SESSION.LOGON && Logon to mail; With exchange it + + NEW=SESSION.OUTBOX.MESSAGES.ADD && Create a new message. + + WITH NEW + .SUBJECT = cMessageSubj && Add a message subject. + .TEXT= cMessageText + *-- + objAttach = .Attachments.Add + WITH objAttach + .Type = 1 && CdoFileData + .Position = 0 + .Name = "C:\WebReporter\NNwilso1.BMP" + .ReadFromFile( "C:\WebReporter\NNwilso1.BMP" ) + ENDWITH + objAttach.Name = "NNwilso1.BMP" + ENDWITH + + SENDTO=NEW.RECIPIENTS.ADD && Add a recipient object + SENDTO.NAME="mbw@rocketship.com" && Email address to mail message to + SENDTO.TYPE=1 && 1= "TO:"; 2="CC:"; 3="BCC:" + SENDTO.RESOLVE && Looks up address in addressbook. + + NEW.UPDATE && Required to save changes to a message object. + NEW.SEND(1,0,0) && Parameter 1 = save copy in "Sent Mail" folder. + SESSION.LOGOFF && Release the MAPI object. + + *====End of OLE Messaging Program. + + + + ENDPROC + + PROCEDURE Command1.Click + * ==================================================================== + * cmdSave.click + * -------------------------------------------------------------------- + * Author.........: Mark Wilson + * Project........: WebBrowser-Based Report Viewer + * Notice.........: (c) 2000 First Manhattan Consulting Group + * Date...........: 23 February 2000 + * -------------------------------------------------------------------- + * Description....: Allows user to save document locally for future + * ...............: reference + * Parameters.....: + * Return type....: + * Changes........: + * ==================================================================== + + ThisForm.oleWebBrowser.execWB ( 4, 1) && Save As.., prompt user + + ENDPROC + + PROCEDURE oleWebBrowser.CommandStateChange + * ==================================================================== + * WebBrowser.CommandStateChange + * -------------------------------------------------------------------- + * Author.........: Mark Wilson + * Project........: WebBrowser-Based Report Viewer + * Notice.........: (c) 2000 First Manhattan Consulting Group + * Date...........: 23 February 2000 + * -------------------------------------------------------------------- + * Description....: Enable/disable forward and back buttons using + * ...............: method inherited from ActiveX control + * Parameters.....: command - number indicating what status changed + * ...............: enable - boolean reflecting button status + * Return type....: none + * Changes........: + * ==================================================================== + + *** ActiveX Control Event *** + LPARAMETERS command, enable + + do case + case command=1 + *-- Status of browser's forward button changed + ThisForm.cmdForward.enabled= enable + case command=2 + *-- Status of browser's back button changed + ThisForm.cmdBack.enabled= enable + endc + ENDPROC + + PROCEDURE oleWebBrowser.DownloadBegin + * ==================================================================== + * WebBrowser.DownloadBegin + * -------------------------------------------------------------------- + * Author.........: Mark Wilson + * Project........: WebBrowser-Based Report Viewer + * Notice.........: (c) 2000 First Manhattan Consulting Group + * Date...........: 23 February 2000 + * -------------------------------------------------------------------- + * Description....: Indicate on statusbar when downloading begins + * ...............: + * Parameters.....: + * Return type....: + * Changes........: + * ==================================================================== + + *** ActiveX Control Event *** + + ThisForm.oleStatusBar.panels(1).text = "Downloading..." + ENDPROC + + PROCEDURE oleWebBrowser.DownloadComplete + * ==================================================================== + * WebBrowser.DownloadComplete + * -------------------------------------------------------------------- + * Author.........: Mark Wilson + * Project........: WebBrowser-Based Report Viewer + * Notice.........: (c) 2000 First Manhattan Consulting Group + * Date...........: 23 February 2000 + * -------------------------------------------------------------------- + * Description....: Indicate on statusbar when downloading is complete + * ...............: + * Parameters.....: + * Return type....: + * Changes........: + * ==================================================================== + + *** ActiveX Control Event *** + ThisForm.oleStatusBar.panels(1).text = "Download complete." + ENDPROC + + PROCEDURE oleWebBrowser.ProgressChange + * ==================================================================== + * WebBrowser.ProgressChange + * -------------------------------------------------------------------- + * Author.........: Mark Wilson + * Project........: WebBrowser-Based Report Viewer + * Notice.........: (c) 2000 First Manhattan Consulting Group + * Date...........: 23 February 2000 + * -------------------------------------------------------------------- + * Description....: Display progress bar and status as docuiment loads + * Parameters.....: progress - number from -1 (done) to progressmax + * ...............: progressmax - number of bytes to be downloaded + * Return type....: none + * Changes........: + * ==================================================================== + + *** ActiveX Control Event *** + lparameters progress, progressmax + + *-- Variable to pass to progressbar + local lnValue + do case + case progress = -1 or progress = 0 or progressmax = 0 + *-- Data are downloaded or there were no data + lnValue = 0 + thisform.oleStatusBar.panels(1).text = "Download complete." + otherw + *-- Prepare to show progress on ProgressBar + lnValue = 100*progress/progressmax + *-- Also show percent downloaded + thisform.oleStatusBar.panels(1).text = "Downloading... " ; + + trans(round(lnValue,0), "999%") + " complete." + endc + + *-- Show value on progressBar (range is 0 to 100) + thisform.oleProgressBar.value = lnValue + + + ENDPROC + + PROCEDURE oleWebBrowser.TitleChange + * ==================================================================== + * MODULE + * -------------------------------------------------------------------- + * Author.........: Mark Wilson + * Project........: WebBrowser-Based Report Viewer + * Notice.........: (c) 2000 First Manhattan Consulting Group + * Date...........: 23 February 2000 + * -------------------------------------------------------------------- + * Description....: When title of web doc changes, reflect it in + * ...............: ther caption for the form + * Parameters.....: text - string representing title + * Return type....: + * Changes........: + * ==================================================================== + + *** ActiveX Control Event *** + LPARAMETERS text + + Thisform.caption = thisform.cBaseTitle + " - " + text + + ENDPROC + +ENDDEFINE diff --git a/clase/wwdialogs.vc2 b/clase/wwdialogs.vc2 new file mode 100644 index 0000000..9299bb0 --- /dev/null +++ b/clase/wwdialogs.vc2 @@ -0,0 +1,570 @@ +*-------------------------------------------------------------------------------------------------------------------------------------------------------- +* (EN) AUTOGENERATED - ATTENTION!! - NOT INTENDED FOR EXECUTION!! USE ONLY FOR MERGING CHANGES AND STORING WITH SCM TOOLS!! +*-------------------------------------------------------------------------------------------------------------------------------------------------------- +*< FOXBIN2PRG: Version="1.21" SourceFile="wwdialogs.vcx" CPID="1252" /> (Solo para binarios VFP 9 / Only for VFP 9 binaries) +* +* +DEFINE CLASS wwprogresscontainer AS container + *< CLASSDATA: Baseclass="container" Timestamp="" Scale="Pixels" Uniqueid="" /> + + *-- OBJECTDATA items order determines ZOrder / El orden de los items OBJECTDATA determina el ZOrder + *< OBJECTDATA: ObjPath="oProgress" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="lblRemaining" UniqueID="" Timestamp="" /> + + * + *m: setprogress + *p: nmaxvalue + *p: nstartseconds + * + + * + BackStyle = 0 + BorderWidth = 0 + Height = 41 + Name = "wwprogresscontainer" + Width = 250 + * + + ADD OBJECT 'lblRemaining' AS label WITH ; + BackStyle = 0, ; + Caption = "Estimated Time Remaining: ", ; + FontName = "Tahoma", ; + FontSize = 8, ; + Height = 15, ; + Left = 3, ; + Name = "lblRemaining", ; + Top = 26, ; + Width = 285 + *< END OBJECT: BaseClass="label" /> + + ADD OBJECT 'oProgress' AS olecontrol WITH ; + Height = 17, ; + Left = 1, ; + Name = "oProgress", ; + Top = 4, ; + Width = 248 + *< END OBJECT: BaseClass="olecontrol" OLEObject="d:\program files\microsoft visual studio 7\common7\controls\mscomctl.ocx" Value="0M8R4KGxGuEAAAAAAAAAAAAAAAAAAAAAPgADAP7/CQAGAAAAAAAAAAAAAAABAAAAAQAAAAAAAAAAEAAAAgAAAAEAAAD+////AAAAAAAAAAD////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////9/////v////7////+/////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////1IAbwBvAHQAIABFAG4AdAByAHkAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAWAAUA//////////8BAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAEB087LlTr8BAwAAAEABAAAAAAAAAwBPAGwAZQBPAGIAagBlAGMAdABEAGEAdABhAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAB4AAgEDAAAAAgAAAP////8AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAYAAAAAAAAAADAEEAYwBjAGUAcwBzAE8AYgBqAFMAaQB0AGUARABhAHQAYQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAJgACAP///////////////wAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAEAAABcAAAAAAAAAAMAQwBoAGEAbgBnAGUAZABQAHIAbwBwAHMAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAcAAIA////////////////AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAwAAAAQAAAAAAAAABAAAAAIAAAD+/////v////7///////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////8iOgU1iYXREbFqAMDwKDYoIUM0EggAAACiGQAAwgEAAAGKq5cAAAYAHAAAAAAAAAAAAMhCAAAAAAHvzasAAAUAXAAAAAAAAAABAAAAAAAAAAAAAAAAAAAAAAAAACQAAAA4AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA5MzY4MjY1RS04NUZFLTExZDEtOEJFMy0wMDAwRjg3NTREQTEkACUAJgAnACgAKQAqACsALAAtAC4ALwAwADEAMgAzADQANQABAACAOAA5ADoAOwA8AD0APgA/AEAAQQBCAEMARABFAEYARwBIAEkASgBLAEwATQBOAE8AUABRAFIAUwBUAFUAqD/oCwYAAAD//////////6juEgAf3uy9AQAFAKjuEgBFZGl0aW5nXHNlcnZlcgBuZ1xzZXJ2ZXIAdmVyAHIAAHIAcgBydmVyAHZlcgB2ZXIAcgBcc2VydmVyAHRpbmdcc2VydmVyACBgATkgUgGNAH0BjwCQABggGSAcIB0gIiATIBQg3AIiIWEBOiBTAZ0AfgF4AaAAoQCiAKMApAClAKYApwCoAKkAqgCrAKwArQCuAK8AsACxALIAswC0ALUAtgC3ALgAuQC6ALsAvAC9AL4AvwDAAMEAwgDDAMQAxQDGAMcAyADJAMoAywDMAM0AzgDPANAA0QDSANMA1ADVAA==" /> + + PROCEDURE Resize + THIS.oProgress.Width= THIS.Width - 10 + ENDPROC + + PROCEDURE setprogress + LPARAMETER lnValue + + *** Refresh the progress bar + THIS.oProgress.Value = lnValue + + lnTime = SECONDS() + IF THIS.nstartseconds = 0 + THIS.nstartseconds= lnTime + ENDIF + + IF !THIS.lshowtimeremaining + THIS.lblRemaining.Caption = "" + RETURN + ENDIF + + *** Took this long + lnTaken = lnTime - THIS.nStartSeconds + + *** We're at this percentage + lnPercent = lnValue / THIS.nmaxvalue * 100 + + lnRemainingSecs = (lnTaken * (100/lnPercent) ) - lnTaken + 1 + + IF lnRemainingSecs < 60 + THIS.lblRemaining.Caption = "Estimated Time Remaining: " + TRANSFORM(lnRemainingSecs,"999") + " seconds " + ELSE + THIS.lblRemaining.Caption = "Estimated Time Remaining: " + TRANSFORM(lnRemainingSecs/60,"999") + " minutes" + ENDIF + + + + ENDPROC + +ENDDEFINE + +DEFINE CLASS wwprogressform AS form + *< CLASSDATA: Baseclass="form" Timestamp="" Scale="Pixels" Uniqueid="" /> + + *-- OBJECTDATA items order determines ZOrder / El orden de los items OBJECTDATA determina el ZOrder + *< OBJECTDATA: ObjPath="lblDescript" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="lblRemaining" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="cmdCancel" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="_progressbar1" UniqueID="" Timestamp="" /> + + * + *m: cancel && This method is called when the user clicks the Cancel button. + *m: enablecancel && Shows a Cancel button. Note your code must handle this button. + *m: hideprogressbar + *m: loadanimation + *m: setcaption && Sets the caption of the form + *m: setdescription + *m: setmaxvalue + *m: setprogress && Sets the progress bar and computes remaining time. + *m: setprogressbar && Sets only the progressbar. + *m: showcancelbutton && Resizes the form to display the Cancel button. + *m: width_assign + *p: lcancelled && Set when the Cancel button is clicked + *p: lshowtimeremaining + *p: nmaxvalue + *p: nstartseconds + * + + * + AutoCenter = .T. + BackColor = 255,255,255 + BorderStyle = 0 + Caption = "Progress" + ControlBox = .F. + DoCreate = .T. + FontName = "Tahoma" + FontSize = 8 + ForeColor = 0,0,0 + Height = 86 + lshowtimeremaining = .T. + Name = "wwprogressform" + nmaxvalue = 100 + nstartseconds = 0 + ShowWindow = 2 + TitleBar = 0 + Width = 383 + * + + ADD OBJECT '_progressbar1' AS _progressbar WITH ; + Left = 26, ; + Name = "_progressbar1", ; + Top = 36, ; + Shape5.Name = "Shape5", ; + shpThermBar.Name = "shpThermBar", ; + lblPercentage.Name = "lblPercentage", ; + lblPercentage2.Name = "lblPercentage2", ; + shape1.Name = "shape1", ; + shape2.Name = "shape2", ; + Shape3.Name = "Shape3", ; + Shape4.Name = "Shape4" + *< END OBJECT: ClassLib="_therm.vcx" BaseClass="container" /> + + ADD OBJECT 'cmdCancel' AS commandbutton WITH ; + Caption = "\ + + ADD OBJECT 'lblDescript' AS label WITH ; + BackStyle = 0, ; + Caption = "", ; + FontCharSet = 238, ; + FontName = "Tahoma", ; + FontSize = 8, ; + Height = 31, ; + Left = 12, ; + Name = "lblDescript", ; + Top = 0, ; + Visible = .T., ; + Width = 360 + *< END OBJECT: BaseClass="label" /> + + ADD OBJECT 'lblRemaining' AS label WITH ; + BackStyle = 0, ; + Caption = "Estimated Time Remaining: ", ; + FontCharSet = 238, ; + FontName = "Tahoma", ; + FontSize = 8, ; + Height = 15, ; + Left = 12, ; + Name = "lblRemaining", ; + Top = 60, ; + Width = 288 + *< END OBJECT: BaseClass="label" /> + + PROCEDURE cancel && This method is called when the user clicks the Cancel button. + ENDPROC + + PROCEDURE enablecancel && Shows a Cancel button. Note your code must handle this button. + ENDPROC + + PROCEDURE hideprogressbar + LPARAMETER llShow + + IF !llShow + THISFORM.Height = 66 + ELSE + THISFORM.Height = 100 + ENDIF + ENDPROC + + PROCEDURE loadanimation + Lparameter lcFile, lnHeight, lnWidth, llCaptionBelowImage + + lcExt = lower(JUSTEXT(lcFile)) + + llImage = .F. + If lcExt $ ",gif,jpg,bmp," + *** Load a picture instead + If TYPE("THISFORM.oAnimation") # "O" + THISFORM.AddObject("oAnimation","Image") + ENDIF + llImage = .T. + Else + If !IsCOMObject("MSComCtl2.Animation") && AND FILE(ForceExt(lcFile,"bmp")) + Return + Endif + If TYPE("THISFORM.oAnimation") # "O" + Thisform.AddObject("oAnimation","OleControl","mscomctl2.animation") + Endif + Endif + + Thisform.oAnimation.Top = 6 + Thisform.oAnimation.Left = 6 + + lcFile = FULLPATH(lcFile) + + If EMPTY(lnHeight) + lnHeight = 50 + lnWidth = 50 + ENDIF + + Thisform.LockScreen = .T. + Thisform.oAnimation.Width = lnWidth + Thisform.oAnimation.Height = lnHeight + If !llCaptionBelowImage + Thisform.lblDescript.Left = THISFORM.oAnimation.Left + THISFORM.oAnimation.Width + 10 + Thisform.Width = THISFORM.lblDescript.Left + THISFORM.lblDescript.Width + 5 + * Thisform.oProgress.Width = THISFORM.Width - 15 + * Thisform.oProgress.Top = THISFORM.oAnimation.Top + THISFORM.oAnimation.Height + 10 + * Thisform.lblRemaining.Top = THISFORM.oProgress.Top + 20 + Thisform.Height = THISFORM.lblRemaining.Top + 20 + Else + Thisform.lblDescript.Left = 6 + Thisform.lblDescript.Top = THISFORM.oAnimation.Top + THISFORM.oAnimation.Height + 5 + Thisform.Width = THISFORM.oAnimation.Width + 20 + Thisform.lblDescript.Width = THISFORM.Width - 10 + * Thisform.oProgress.Top = THISFORM.lblDescript.Top + 40 + * Thisform.oProgress.Width = THISFORM.width - 15 + * Thisform.lblRemaining.Top = THISFORM.oProgress.Top + 20 + Thisform.Height = THISFORM.lblRemaining.Top + 20 + Endif + Thisform.Lockscreen = .F. + + + Thisform.oAnimation.Visible = .T. + + IF llImage + THISFORM.oAnimation.Picture = lcFile + ELSE + Thisform.oAnimation.Open(lcFile) + + ** We need to resize the animation control + ** to get it to refresh itself correctly + Thisform.oAnimation.Width = ThisForm.oAnimation.Width + 1 + Thisform.oAnimation.Width = ThisForm.oAnimation.Width - 1 + + Thisform.oAnimation.Play() + ENDIF + + ENDPROC + + PROCEDURE setcaption && Sets the caption of the form + LPARAMETER lcCaption + + IF VARTYPE(lcCaption) # "C" + lcCaption = "" + ENDIF + + THISFORM.Caption = lcCaption + ENDPROC + + PROCEDURE setdescription + LPARAMETER lcDescription + + IF VARTYPE(lcDescription) # "C" + RETURN + ENDIF + + Thisform.lblDescript.Caption = lcDescription + ENDPROC + + PROCEDURE setmaxvalue + ENDPROC + + PROCEDURE setprogress && Sets the progress bar and computes remaining time. + LPARAMETER lnValue + LOCAL lnTaken, lnPercent, lnRemainingSecs, lnTime + + IF VARTYPE(lnValue) = "C" + THISFORM.Caption = lnValue + RETURN + ENDIF + IF VARTYPE(lnValue) # "N" or lnValue < 0 + lnValue = 0 + ENDIF + + *** Refresh the progress bar + thisform._progressbar1.update(lnvalue) + + lnTime = SECONDS() + IF THIS.nstartseconds = 0 + THIS.nstartseconds= lnTime + ENDIF + + IF !THISFORM.lshowtimeremaining + THISFORM.lblRemaining.Caption = "" + RETURN + ENDIF + + *** Took this long + lnTaken = lnTime - THIS.nStartSeconds + + *** We're at this percentage + lnPercent = lnValue / THIS.nmaxvalue * 100 + + lnRemainingSecs = (lnTaken * (100/lnPercent) ) - lnTaken + 1 + + IF lnRemainingSecs < 60 + THISFORM.lblRemaining.Caption = "Timp ramas : " + TRANSFORM(lnRemainingSecs,"999") + " sec. " + ELSE + IF ALLTRIM(TRANSFORM(lnRemainingSecs/60,"999")) # "1" + THISFORM.lblRemaining.Caption = "Timp ramas : " + TRANSFORM(lnRemainingSecs/60,"999") + " minute" + ELSE + THISFORM.lblRemaining.Caption = "Timp ramas : " + TRANSFORM(lnRemainingSecs/60,"999") + " minut" + ENDIF + ENDIF + + + ENDPROC + + PROCEDURE setprogressbar && Sets only the progressbar. + LPARAMETERS llON + + IF !llOn + THISFORM.lblRemaining.Visible = .F. + * THISFORM.oProgress.Visible = .F. + THISFORM.Height = 75 + ELSE + THISFORM.lblRemaining.Visible = .F. + * THISFORM.oProgress.Visible = .F. + THISFORM.Height = 100 + ENDIF + ENDPROC + + PROCEDURE showcancelbutton && Resizes the form to display the Cancel button. + LPARAMETERS llNoShow + + IF llNoShow + THISFORM.Height =175 + THISFORM.cmdCancel.visible = .F. + ELSE + THISFORM.Height = 100 + THISFORM.cmdCancel.visible = .T. + ENDIF + ENDPROC + + PROCEDURE width_assign + LPARAMETERS vNewVal + + THIS.Width = m.vNewVal + + THIS.lblDescript.Width = THIS.Width - 2 + *THIS.oProgress.Width = THIS.Width - 12 + ENDPROC + + PROCEDURE cmdCancel.Click + THISFORM.lCancelled = .T. + THISFORM.Cancel() + + ENDPROC + +ENDDEFINE + +DEFINE CLASS wwquickfill AS combobox + *< CLASSDATA: Baseclass="combobox" Timestamp="" Scale="Pixels" Uniqueid="" /> + + * + *p: lnoichange && When set don't do InteractiveChange Code + * + + * + FontName = "Tahoma" + FontSize = 8 + Format = "K" + Height = 24 + Name = "wwquickfill" + Value = + Width = 100 + * + + PROCEDURE InteractiveChange + LOCAL x, lcLookup + + IF THIS.lNoIChange + RETURN + ENDIF + + lnSelStart = THIS.SelStart + lcLookup = UPPER(TRIM(THIS.DisplayValue)) + lcLookupFull = THIS.DisplayValue + IF EMPTY(lclookup) + RETURN + ENDIF + + llFound = .f. + + *** Search through the list + FOR x=1 to THIS.ListCount + IF UPPER(THIS.ListItem[x]) = lcLookup + THIS.Value = TRIM(THIS.ListItem[x]) + THIS.SelStart = lnSelStart + THIS.SelLength = LEN(THIS.Value) - THIS.SelStart + llFound = .T. + EXIT + ENDIF + ENDFOR + + + ENDPROC + + PROCEDURE KeyPress + LPARAMETERS nKeyCode, nShiftAltCtrl + + DO CASE + CASE nKeyCode = 7 && Delete + THIS.lNoIChange = .T. + THIS.SelText = "" + RETURN + CASE nKeyCode = 127 + THIS.lNoIChange = .T. + THIS.SelText = "" + RETURN + ENDCASE + + THIS.lNoIChange = .F. + ENDPROC + +ENDDEFINE + +DEFINE CLASS wwselectionlist AS form + *< CLASSDATA: Baseclass="form" Timestamp="" Scale="Pixels" Uniqueid="" /> + + *-- OBJECTDATA items order determines ZOrder / El orden de los items OBJECTDATA determina el ZOrder + *< OBJECTDATA: ObjPath="Command1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="Command2" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="lblCaption" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="oList" UniqueID="" Timestamp="" /> + + * + *p: cresultvalue + *p: lcancelled + *a: alist[1,0] + * + + * + AutoCenter = .T. + BorderStyle = 3 + Caption = "" + ControlBox = .F. + cresultvalue = + DoCreate = .T. + Height = 83 + lcancelled = .F. + Name = "wwselectionlist" + ShowWindow = 1 + Visible = .T. + Width = 320 + WindowType = 1 + * + + ADD OBJECT 'Command1' AS commandbutton WITH ; + Caption = "OK", ; + Default = .T., ; + FontName = "Tahoma", ; + FontSize = 8, ; + Height = 25, ; + Left = 172, ; + Name = "Command1", ; + TabIndex = 2, ; + Top = 55, ; + Width = 70 + *< END OBJECT: BaseClass="commandbutton" /> + + ADD OBJECT 'Command2' AS commandbutton WITH ; + Caption = "\ + + ADD OBJECT 'lblCaption' AS label WITH ; + BackStyle = 0, ; + Caption = "", ; + FontName = "Tahoma", ; + FontSize = 8, ; + Height = 15, ; + Left = 7, ; + Name = "lblCaption", ; + TabIndex = 4, ; + Top = 7, ; + Width = 240 + *< END OBJECT: BaseClass="label" /> + + ADD OBJECT 'oList' AS wwquickfill WITH ; + Height = 22, ; + Left = 5, ; + Name = "oList", ; + TabIndex = 1, ; + Top = 25, ; + Width = 309 + *< END OBJECT: ClassLib="wwdialogs.vcx" BaseClass="combobox" /> + + PROCEDURE Init + LPARAMETER laList, lcCaption, lcFormCaption, lcDefault + + EXTERNAL ARRAY laList + + ACOPY(laList,THIS.aList) + + THISFORM.oList.RowSourceType = 5 + THISFORM.oList.RowSource = "THISFORM.aList" + IF EMPTY(lcDefault) + THISFORM.oList.Value = laList[1] + ELSE + THISFORM.oList.Value = lcDefault + ENDIF + + IF EMPTY(lcCaption) + lcCaption = "Please select:" + ENDIF + THISFORM.lblCaption.Caption = lcCaption + + IF EMPTY(lcFormCaption) + lcFormCaption = "Select Item" + ENDIF + + THISFORM.Caption = lcFormCaption + ENDPROC + + PROCEDURE Command1.Click + THISFORM.cResultValue = TRIM(THISFORM.oList.DisplayValue) + THISFORM.HIDE() + ENDPROC + + PROCEDURE Command2.Click + THISFORM.lCancelled = .T. + THISFORM.HIDE() + + ENDPROC + +ENDDEFINE diff --git a/clase/xresize.vc2 b/clase/xresize.vc2 new file mode 100644 index 0000000..ed96775 --- /dev/null +++ b/clase/xresize.vc2 @@ -0,0 +1,123 @@ +*-------------------------------------------------------------------------------------------------------------------------------------------------------- +* (EN) AUTOGENERATED - ATTENTION!! - NOT INTENDED FOR EXECUTION!! USE ONLY FOR MERGING CHANGES AND STORING WITH SCM TOOLS!! +*-------------------------------------------------------------------------------------------------------------------------------------------------------- +*< FOXBIN2PRG: Version="1.21" SourceFile="xresize.vcx" CPID="1254" /> (Solo para binarios VFP 9 / Only for VFP 9 binaries) +* +* +DEFINE CLASS xresize AS custom + *< CLASSDATA: Baseclass="custom" Timestamp="" Scale="Pixels" Uniqueid="" /> + + * + *m: addmember + *m: rearrange && Put it into form's resize event. + *p: auto && Auto decise which controls resize,move... + *p: fheight && form's init height + *p: fwidth && form's init width + *p: has && Internal use. + *p: limit && Resize and move limit for controls. + *a: cntlist[1,8] && Internal use + * + + PROTECTED cntlist,fheight,fwidth,has + * + Height = 19 + limit = 30 + Name = "xresize" + Width = 22 + * + + PROTECTED PROCEDURE addmember + xytag=UPPER(xycont.tag) + IF this.auto AND EMPTY(xytag) + IF INLIST(xycont.baseclass,"Grid","Editbox",; + "Listbox","Image","Pageframe") + xytag="RESIZABLE" + ELSE + xytag="MOVABLE" + ENDIF + ENDIF + IF ! ("RESIZABLE"$m.xytag OR "MOVABLE"$m.xytag) + RETURN + ENDIF + this.has=.t. + this.fheight=thisform.Height + this.fwidth=thisform.Width + i=m.i+1 + DIMENSION this.cntlist(m.i,12) + this.cntlist(m.i,1)=xycont + this.cntlist(m.i,2)=xycont.left + this.cntlist(m.i,3)=xycont.top + this.cntlist(m.i,4)=xycont.height + this.cntlist(m.i,5)=xycont.width + this.cntlist(m.i,6)="RESIZABLE"$m.xytag + this.cntlist(m.i,7)="NOVERTICAL_RESIZE"$m.xytag + this.cntlist(m.i,8)="NOHORIZONTAL_RESIZE"$m.xytag + this.cntlist(m.i,9)="MOVABLE"$m.xytag + this.cntlist(m.i,10)="NOVERTICAL_MOVE"$m.xytag + this.cntlist(m.i,11)="NOHORIZONTAL_MOVE"$m.xytag + this.cntlist(m.i,12)="VERTICAL_GROUP"$m.xytag + + ENDPROC + + PROCEDURE Init + *this class is free + *Author : Metin Emre + *e-mail : metinemre@hotmail.com + PRIVATE i,xycont,xytag,xycont2 + i=0 + FOR EACH cnt IN thisform.Controls + xycont=cnt + this.addmember + IF xycont.baseclass="Pageframe" + FOR EACH xycont2 IN cnt.pages + FOR EACH xycont IN xycont2.controls + this.addmember + NEXT + NEXT + ENDIF + NEXT + + + ENDPROC + + PROCEDURE rearrange && Put it into form's resize event. + IF !this.has + RETURN + ENDIF + + LOCAL alen,i,xycont,new + alen=ALEN(this.cntlist,1) + + + FOR i=1 TO m.alen + xycont=this.cntlist(m.i,1) + IF this.cntlist(m.i,6) &&--- resizable --- + new=thisform.height-(this.fheight - this.cntlist(m.i,4)) + IF !this.cntlist(m.i,7) AND m.new>this.limit + xycont.height=m.new + ENDIF + new=thisform.width-(this.fwidth -this.cntlist(m.i,5)) + IF !this.cntlist(m.i,8) AND m.new>this.limit + xycont.width=m.new + ENDIF + ENDIF + IF this.cntlist(m.i,9) &&--- movable --- + new=thisform.height-(this.fheight-this.cntlist(m.i,3)) + IF !this.cntlist(m.i,10) AND m.new>this.limit + xycont.top=m.new + ENDIF + new=thisform.width-(this.fwidth-this.cntlist(m.i,2)) + *new=this.cntlist(m.i,2)+(thisform.width-this.fwidth)/2 + + IF !this.cntlist(m.i,11) AND m.new>this.limit + xycont.left=m.new + ENDIF + ENDIF + + NEXT + + + + ENDPROC + +ENDDEFINE diff --git a/datemenu/gest_selectii.FPT b/datemenu/gest_selectii.FPT new file mode 100644 index 0000000..719b83f Binary files /dev/null and b/datemenu/gest_selectii.FPT differ diff --git a/datemenu/gest_selectii.dbf b/datemenu/gest_selectii.dbf new file mode 100644 index 0000000..7317cff Binary files /dev/null and b/datemenu/gest_selectii.dbf differ diff --git a/datemenu/infisiere.dbf b/datemenu/infisiere.dbf new file mode 100644 index 0000000..c849e6e Binary files /dev/null and b/datemenu/infisiere.dbf differ diff --git a/datemenu/menu1.dbf b/datemenu/menu1.dbf new file mode 100644 index 0000000..614a254 Binary files /dev/null and b/datemenu/menu1.dbf differ diff --git a/datemenu/menu1.fpt b/datemenu/menu1.fpt new file mode 100644 index 0000000..9224e0e Binary files /dev/null and b/datemenu/menu1.fpt differ diff --git a/datemenu/mila1.dbf b/datemenu/mila1.dbf new file mode 100644 index 0000000..ab1e78f Binary files /dev/null and b/datemenu/mila1.dbf differ diff --git a/datemenu/nom_meniu.dbf b/datemenu/nom_meniu.dbf new file mode 100644 index 0000000..3955839 Binary files /dev/null and b/datemenu/nom_meniu.dbf differ diff --git a/datemenu/readme_x.txt b/datemenu/readme_x.txt new file mode 100644 index 0000000..d46a801 --- /dev/null +++ b/datemenu/readme_x.txt @@ -0,0 +1,30 @@ + Trebuie adaugate in update_nomenclator.prg : + + +goExecutor.oExecute([select id_set, nr_set, nume_set, fix as fixTemp, lista_note, explicatia, model, ] + ; + [formgest, nu_sterg as nu_stergTemp, param1, listare, param2, frm_date, discount as discountTemp, adaos as adaosTemp, factura as facturaTemp,id_selst,] + ; + [id_seldr, tip_doc, tip_ctr, expl_fixa,aleg_cont as aleg_contTemp, frm_plata,valuta as valutatemp, compens,] + ; + [id_tip_rul, id_jnetax, id_jtax, tipjurnal, id_jtaxn, productie as productieTemp, formproduc, cursval as cursvaltemp ] + ; + [from xsets], [XSetsTemp]) && are valuta si aleg_cont cu valori 1,0 care vor fi transf in .t., .f. + +Select *,Iif(valutaTemp = 1, .T., .F.) As valuta,; + IIF(aleg_contTemp = 1,.T.,.F.) As aleg_cont,; + IIF(cursvalTemp = 1,.T.,.F.) as cursval,; + IIF(productieTemp = 1,.T.,.F.) as productie,; + IIF(discountTemp = 1,.T.,.F.) as discount,; + IIF(fixTemp = 1,.T.,.F.) as fix,; + IIF(nu_stergTemp = 1,.T.,.F.) as nu_sterg,; + IIF(adaosTemp = 1,.T., .F.) as adaos,; + IIF(facturaTemp = 1,.T.,.F.) as factura ; + From XSetsTemp Into Cursor xSets Readwrite + +goExecutor.oExecute([select * from xrequest], [XRequest]) +goExecutor.oExecute([select * from xnote], [XNote]) +goExecutor.oExecute([select * from xact], [XAct]) +goExecutor.oExecute([select * from xitems], [XItems]) + +nvl2Default("xrequest", "id_tipdoc") +nvl2Default("xnote") +nvl2Default("xact") +nvl2Default("xsets") +nvl2Default("XItems") \ No newline at end of file diff --git a/datemenu/refaceri.dbf b/datemenu/refaceri.dbf new file mode 100644 index 0000000..777e5ea Binary files /dev/null and b/datemenu/refaceri.dbf differ diff --git a/datemenu/tabela_fisa_cont.FPT b/datemenu/tabela_fisa_cont.FPT new file mode 100644 index 0000000..601fa8d Binary files /dev/null and b/datemenu/tabela_fisa_cont.FPT differ diff --git a/datemenu/tabela_fisa_cont.dbf b/datemenu/tabela_fisa_cont.dbf new file mode 100644 index 0000000..e77c625 Binary files /dev/null and b/datemenu/tabela_fisa_cont.dbf differ diff --git a/datemenu/xold/import_xdbf/import.prg b/datemenu/xold/import_xdbf/import.prg new file mode 100644 index 0000000..eda8e8c --- /dev/null +++ b/datemenu/xold/import_xdbf/import.prg @@ -0,0 +1,336 @@ +#Define crlf Chr(13) + Chr(10) + +**** de verificat programul , incomplet + +Set Ansi On +Set Exact On +Set Deleted On + +***** sequence anulat +Public gnConnHandle + +Local tcHost, tcUser, tcPassword, lcTablePath, laEroare,lnSucces + +On Error +lnSucces = 0 +lcTablePath = [] + +tcHost = [jcsserver] +tcUser = [test_alex] +tcPassword = [123] + +gnConnHandle = conecteaza(tcHost, tcUser, tcPassword) +SQLSetprop(gnConnHandle,"Transactions",2) +If gnConnHandle > 0 + gcAppDir = Addbs(Justpath(Sys(16,0))) + lcTablePath = gcAppDir + [xact] + + + SQLSetprop(gnConnHandle,"Transactions",2) && tranzactie manuala + + * lnSucces = makeTable(lcTablePath) && creaza tabela cu sau fara sequence + * If lnSucces > 0 + importTable(lcTablePath,.T.) + * Endif +Else + Aerror(laEroare) + Messagebox(laEroare(2)) +Endif + +SQLSetprop(gnConnHandle,"Transactions",1) && tranzactie automata +deconecteaza() +****************************** inceput importTable ****************************************** + +Procedure importTable + Lparameters tcTableName, llDel + + Local i,lnNr, lcSql, lcInsert, lnSucces, tacColName, lcCols, lcVals, nr + lnSucces = 0 + lcNumeTabela = [] + lcSir = [] + lcCols = [] + lcVals = [] + lcInsert = [] + + lcNumeTabela = Substr(tcTableName,Rat("\",tcTableName)) + nr = Len(lcNumeTabela) + lcNumeTabela = Right(lcNumeTabela,nr-1) + + If !Used(tcTableName) + Use (tcTableName) + Endif + + If llDel + executaSql([delete from ] + Alltrim(lcNumeTabela)) + Endif + + lnNr = Afields(taColName) + + lcSql = [insert into ] + Alltrim(lcNumeTabela) + For i = 1 To lnNr + lcCols = lcCols + taColName(i,1) + [,] + Endfor + lcCols = Left(lcCols,Len(lcCols)-1) + + Scan + lcVals = [] + lcInsert = [] + For i = 1 To lnNr && se adauga valorile din tabela , convertite + If taColName(i,2) = "I" Or taColName(i,2) = "N" + lcVals = lcVals + Alltrim(Str(&taColName(i,1))) + [,] + Endif + If taColName(i,2) = "D" Or taColName(i,2) = "T" + lcVals = lcVals + [to_date('] + Alltrim(Dtos(&taColName(i,1))) + [','yyyymmdd'),] + Endif + If taColName(i,2) = "L" + lcVals = lcVals + Iif(&taColName(i,1),[1,],[0,]) + Endif + If taColName(i,2) = "C" + lcVals = lcVals + ['] + Alltrim(&taColName(i,1)) + [',] + Endif + Endfor + lcVals = Left(lcVals,Len(lcVals) - 1) + lcInsert = lcSql + [(] + lcCols + [)] + [ values(] + lcVals + [)] + + lnSucces = executaSql(lcInsert,'',.T.) + If lnSucces < 0 + Strtofile(lcInsert,[d:\afis.txt]) + Exit + Endif + Endscan + + If lnSucces < 0 + Sqlrollback(gnConnHandle) + Messagebox([ eroare la insert] + crlf + [sql-ul se gaseste in d:\afis.txt], 48) + Else + Sqlcommit(gnConnHandle) + Messagebox('sa facut importu') + Endif + + SQLSetprop(gnConnHandle,"Transactions",1) + +Endproc + +****************************** inceput makeTable ********************************************* +Function makeTable + Lparameters tcTableName, llTrg + + Local i,lnNr, lnSucces, lcSql, lcSeq, lcTrig, lcPk, lcTable, lcTipData, lcLen, lcCol, lcNumeTabela, lcSir + lnSucces = 0 + lcNumeTabela = [] + lcSir = [] + lcSeq = [] + lcTrig = [] + lcPk = [] + lcTipData = [] + lcLen = [] + lcCol = [] + lnNr = [] + lcSql = [] + + lcNumeTabela = Substr(tcTableName,Rat("\",tcTableName)) + lnNr = Len(lcNumeTabela) + lcNumeTabela = Right(lcNumeTabela,lnNr-1) + * Use (lcNumeTabela) + + If !Used(tcTableName) + Use (tcTableName) + Endif + + lnNr = Afields(taColName) && get table data + + lcTable = [create table ] + lcNumeTabela +[(] + For i = 1 To lnNr && creare tabela + lcTipData = Iif(taColName(i,2)="I" Or taColName(i,2)="N", [number],lcTipData ) + lcTipData = Iif(taColName(i,2)="D" Or taColName(i,2)="T",[date],lcTipData ) + lcTipData = Iif(taColName(i,2)="L",[number],lcTipData ) + lcTipData = Iif(taColName(i,2)="F" ,[binary_float],lcTipData ) + lcTipData = Iif(taColName(i,2)="B",[binary_double],lcTipData ) + lcTipData = Iif(taColName(i,2)="C" Or taColName(i,2)="M" Or taColName(i,2)="V",[varchar2],lcTipData ) + + lcLen = Iif(lcTipData=[number] And taColName(i,2)<>"L", ; + [(]+ Alltrim(Str(taColName(i,3))) +[)],lcLen ) + lcLen = Iif(lcTipData=[number] And taColName(i,2)="L",[(1)],lcLen ) + lcLen = Iif(lcTipData=[varchar2] And (taColName(i,2)="C" Or taColName(i,2)="V" Or taColName(i,2)="M"), ; + [(]+Alltrim(Str(taColName(i,3)))+[)],lcLen ) + + * lcCol = lcCol + [ ?taColName(i,1) ?lcTipData ?lcLen] + Iif(taColName(i,5),[ not null ],[]) + [,] + lcCol = lcCol + taColName(i,1)+ [ ] + lcTipData + lcLen + Iif(taColName(i,5),[ not null ],[]) + [,] + lcTipData = [] + lcLen = [] + Endfor + + lcTable = lcTable + Left(lcCol,Len(lcCol)-1) + [);] + lnSucces = executaSql(lcTable,'',.T.) + + *!* If lnSucces > 0 + *!* lcPk = [alter table ]+ lcNumeTabela + ; &&primary key + *!* [ add constraint PK_]+lcNumeTabela +[ primary KEY(]+taColName(1,1) +[); ] + *!* lnSucces = executaSql(lcPk) + + *!* If lnSucces > 0 &&trigger + *!* If llTrg + *!* lcSeq = [create sequence SEQ_] + lcNumeTabela + ; + *!* [ minvalue 1 ] + ; + *!* [ maxvalue 99999999999999 ]+ ; + *!* [ start with 1 ] + ; + *!* [ increment by 1 ] + ; + *!* [ nocache; ] + *!* lnSucces = executaSql(lcSeq,'',.t.) + *!* Endif + *!* If lnSucces > 0 + *!* lcTrig = [create or replace trigger TRG_]+lcNumeTabela + ; + *!* CHR(13)+Chr(10) + [ before insert on ] + lcNumeTabela + ; + *!* CHR(13)+Chr(10) + [ referencing old as old new as new] + ; + *!* CHR(13)+Chr(10) + [ for each row] + ; + *!* [ begin ] + ; + *!* CHR(13)+Chr(10) + [ if :new.] + taColName(1,1)+ [ is null then ] + ; + *!* CHR(13)+Chr(10) + [ select SEQ_] + lcNumeTabela + ; + *!* [.NEXTVAL into :new.] + taColName(1,1)+ [ from dual; ] + ; + *!* CHR(13)+Chr(10) + [ end if; ] + ; + *!* CHR(13)+Chr(10) + [ end; ] + *!* lnSucces = executaSql(lcTrig,'',.t.) + *!* Endif + *!* Endif + *!* ENDIF + + If lnSucces < 0 + Sqlrollback(gnConnHandle) + Else + Strtofile(lcTable,[D:\roa\ROACASA\COMUN\script.sql],1) + Sqlcommit(gnConnHandle) + Endif + + Return lnSucces +Endfunc + + + +************************ inceput conecteaza *************************** +Procedure conecteaza + Lparameters tcHost, tcUser, tcPassword + + gnConnHandle = SQLConnect(tcHost, tcUser, tcPassword) + If gnConnHandle < 1 + Aerror(laEroare) + Messagebox(laEroare(2)) + Endif + + Return gnConnHandle +Endproc + +**************************** inceput executaSql *************************** +Function executaSql + Lparameters cmdSql, crsName, tlShowErr + Local lnSucces + + lnSucces = -1 + + If Pcount() < 2 And !m.tlShowErr + crsName="" + Endif + + If gnConnHandle > 0 + lnSucces = SQLExec(gnConnHandle,cmdSql,crsName) + + If lnSucces < 0 And m.tlShowErr + Aerror(laEroare) + eroaresql(@laEroare,cmdSql) + Endif + Endif + + Return lnSucces +Endfunc + +************************* inceput deconecteaza ************************ +Function deconecteaza + *Lparameters lnConn + Local lnSucces + + lnSucces = -1 + If gnConnHandle > 0 + lnSucces = SQLDisconnect(gnConnHandle) + Endif + + On Error + Return lnSucces +Endfunc + +******************************* inceput eroareSql ********************************** +Procedure eroaresql + Lparameters laErr, lcSql + + External Array laErr + + Local lcMesaj + + lcMesaj = [Eroare # : ] + Alltrim(Str(laErr(1))) + crlf + ; + [Mesajul : ] + laErr(2) + ; + IIF(!Empty(laErr(3)), [Eroare OLE : ] + laErr(3) ,[]) + ; + [Aplicatie : ] + laErr(4) + ; + IIF(Pcount() = 2, crlf + lcSql, []) + Messagebox(lcMesaj,0+16) + +Endproc + + + + +*!* Procedure importTable +*!* Lparameters tcTableName, llDel + +*!* Local i,lnNr, lcSql, lnSucces, lcSql,tacColName, nr +*!* lnSucces = 0 +*!* lcNumeTabela = [] +*!* lcSir = [] + +*!* lcNumeTabela = Substr(tcTableName,Rat("\",tcTableName)) +*!* nr = Len(lcNumeTabela) +*!* lcNumeTabela = Right(lcNumeTabela,nr-1) +*!* * Use (lcNumeTabela) + +*!* If !Used(tcTableName) +*!* Use (tcTableName) +*!* Endif + +*!* lnNr = Afields(taColName) + +*!* lcSql = [insert into ] + Alltrim(lcNumeTabela) +*!* For i = 1 To lnNr +*!* lcSir = lcSir + taColName(i,1) + [,] +*!* Endfor +*!* lcSir = Left(lcSir,Len(lcSir)-1) + +*!* lcSql = lcSql + "("+ lcSir + ") values(" + +*!* lcSir = [] +*!* For i = 2 To lnNr +*!* lcSir = lcSir + "?" + taColName(i,1) + "," +*!* Endfor +*!* lcSir = Left(lcSir,Len(lcSir)-1) +*!* lcSql = lcSql + lcSir +")" + +*!* If llDel +*!* executaSql([delete from ]+Alltrim(lcNumeTabela)) +*!* ENDIF + +*!* Scan +*!* lnsucces = executaSql(lcSql,'',.t.) +*!* IF lnsucces < 0 +*!* EXIT +*!* endif +*!* ENDSCAN +*!* +*!* +*!* +*!* IF lnsucces < 0 +*!* SQLROLLBACK(gnconnhandle) +*!* ELSE +*!* SQLCOMMIT(gnconnhandle) +*!* endif + +*!* SQLSETPROP(gnconnhandle,"Transactions",1) +*!* deconecteaza() +*!* Endproc + +****************************** inceput makeTable ********************************************* diff --git a/datemenu/xold/import_xdbf/importreq.prg b/datemenu/xold/import_xdbf/importreq.prg new file mode 100644 index 0000000..56189d0 --- /dev/null +++ b/datemenu/xold/import_xdbf/importreq.prg @@ -0,0 +1,83 @@ +#Define crlf Chr(13) + Chr(10) + +Local lcColoane, lcVals, lcAdresa, lcTabela, lcTable, nr, i, lnSucces, lcSql +External Array lacols +lcColoane = [] +lcVals = [] +lnSucces = 0 + +gnconn = SQLConnect([jcsserver],[test_alex],[123]) +If gnconn < 0 + Return +Endif + +lcAdresa = Addbs(Justpath(Sys(16,0))) +lcTabela = [xitems] +lcTable = lcAdresa + lcTabela +Use (lcTable) +Select 1 + +nr = Afields(lacols,lcTabela) +For i = 1 To nr + lcColoane = lcColoane + lacols(i,1) + [,] + lcVals = lcVals + [?] + lacols(i,1) + [,] +Endfor +lcColoane = Left(lcColoane,Len(Alltrim(lcColoane)) - 1) +lcVals = Left(lcVals,Len(lcVals) - 1) +lcSql = [insert into ] + lcTabela + [(] + lcColoane + [)] + [ values(] + lcVals + [)] + +SQLSetprop(gnconn,"Transactions",2) +Scan + lnSucces = executaSql(lcSql,'',.T.) + If lnSucces < 0 + Exit + Endif +Endscan + +If lnSucces > 0 + Sqlcommit(gnconn) + Messagebox([sa facut importu]) +Else + Sqlrollback(gnconn) +Endif +SQLSetprop(gnconn,"Transactions",1) + +SQLDisconnect(gnconn) + +********************************************************** +Function executaSql + Lparameters cmdSql, crsName, tlShowErr + Local lnSucces + + lnSucces = -1 + + If Pcount() < 2 And !m.tlShowErr + crsName="" + Endif + + If gnconn > 0 + lnSucces = SQLExec(gnconn,cmdSql,crsName) + + If lnSucces < 0 And m.tlShowErr + Aerror(laEroare) + eroaresql(@laEroare,cmdSql) + Endif + Endif + + Return lnSucces +Endfunc + +********************************************************** +Procedure eroaresql + Lparameters laErr, lcSql + + External Array laErr + Local lcMesaj + + lcMesaj = [Eroare # : ] + Alltrim(Str(laErr(1))) + crlf + ; + [Mesajul : ] + laErr(2) + ; + IIF(!Empty(laErr(3)), [Eroare OLE : ] + laErr(3) ,[]) + ; + [Aplicatie : ] + laErr(4) + ; + IIF(Pcount() = 2, crlf + lcSql, []) + Messagebox(lcMesaj,0+16) +Endproc diff --git a/datemenu/xold/import_xdbf/oscrie_in_fisiere.prg b/datemenu/xold/import_xdbf/oscrie_in_fisiere.prg new file mode 100644 index 0000000..49879c7 --- /dev/null +++ b/datemenu/xold/import_xdbf/oscrie_in_fisiere.prg @@ -0,0 +1,562 @@ +*!* Parameters tnScrie_Sterge, tlModificare, tlRul + +*!* #Define crlf Chr(13) + Chr(10) +*!* Local lnSucces + +*!* ON ERROR deconecteaza() + +*!* lnSucces = -1 +*!* If Reccount('actactan') = 0 +*!* Messagebox('Nu s-a inregistrat nota contabila.') +*!* Return lnSucces +*!* Endif + +*!* If Empty(tnScrie_Sterge) Or Isnull(tnScrie_Sterge) +*!* tnScrie_Sterge = 0 +*!* Endif + +*!* If !Used('ACTACTAN') +*!* Messagebox('Nu exista fisierul .') +*!* Return lnSucces +*!* Endif + +*!* If tnScrie_Sterge = 2 +*!* Select actactan +*!* Locate +*!* lnCod = cod +*!* Endif + +*!* *!* modificare 18.09.2007 +*!* If tnScrie_Sterge = 2 And !tlModificare And Used('rul_temp') And Reccount('rul_temp') > 0 +*!* Private pcMesaj +*!* Store '' To pcMesaj +*!* lcSql = [begin ] + gcS +[.verifica_stoc(] + Alltrim(Str(lnCod)) + [,?@pcMesaj); end;] +*!* lnSucces = executaSql(lcSql,"",.t.) +*!* If lnSucces < 0 +*!* * Messagebox(goExecutor.oPrelucrareEroare(),16,"Eroare") +*!* Return lnSucces +*!* Endif +*!* If !Isnull(pcMesaj) +*!* Messagebox(pcMesaj,48,"Atentie") +*!* Release pcMesaj +*!* Return -5 +*!* Endif +*!* Release pcMesaj +*!* Endif +*!* *!* modificare 18.09.2007 ^ + +*!* && RESETARE VARIABILE +*!* lcSql = [begin pack_contafin.reset_variables(); end;] +*!* lnSucces = executaSql(lcSql,'',.t.) +*!* If lnSucces < 0 +*!* * Messagebox('Resetare variabile ' + Chr(13) + goExecutor.cEroare,0+16,"Eroare") +*!* Return lnSucces +*!* Endif +*!* &&------------------------------------------------------------------------------------ +*!* llManualTransactions = Iif(SQLGetprop(gnhandle,"Transactions")=2,.T.,.F.) + +*!* If lnSucces > 0 +*!* If !tlModificare And !llManualTransactions +*!* lnSucces = SQLSetprop(gnhandle,"Transactions",2) +*!* Endif +*!* Endif +*!* && SETARE VARIABILE + +*!* If lnSucces > 0 +*!* lcSql = [begin pack_contafin.set_idutil(?gnIdUtil); end;] +*!* lnSucces = executaSql(lcSql,'',.t.) + +*!* If lnSucces < 0 +*!* * Messagebox('Setare ID utilizator ' + Chr(13) + goExecutor.cEroare,0+16,"Eroare") +*!* Endif +*!* Endif +*!* If lnSucces > 0 +*!* pddata = {} +*!* lcSql = [begin pack_contafin.set_dataora(?pddata); end;] +*!* lnSucces = executaSql(lcSql,'',.t.) + +*!* *!* If lnSucces < 0 +*!* *!* Messagebox('Setare DataOra ' + Chr(13) + goExecutor.cEroare,0+16,"Eroare") +*!* *!* Endif +*!* Endif + +*!* If lnSucces > 0 +*!* lcSql = [begin pack_contafin.set_an(?gnAn); end;] +*!* lnSucces = executaSql(lcSql,'',.t.) + +*!* *!* If lnSucces < 0 +*!* *!* Messagebox('Setare An ' + Chr(13) + goExecutor.cEroare,0+16,"Eroare") +*!* *!* Endif +*!* Endif + +*!* If lnSucces > 0 +*!* lcSql = [begin pack_contafin.set_luna(?gnLuna); end;] +*!* lnSucces = executaSql(lcSql,'',.t.) + +*!* *!* If lnSucces < 0 +*!* *!* Messagebox('Setare Luna ' + Chr(13) + goExecutor.cEroare,0+16,"Eroare") +*!* *!* Endif +*!* Endif + +*!* If lnSucces > 0 And tnScrie_Sterge <> 2 +*!* && genereaza un cod de operatie +*!* lcSql = [begin pack_contafin.SET_COD('] + gcS +['); end;] +*!* lnSucces = executaSql(lcSql,'',.t.) + +*!* *!* If lnSucces < 0 +*!* *!* Messagebox(goExecutor.cEroare,0+16,"Eroare") +*!* *!* Endif +*!* Endif +*!* &&------------------------------------------------------------------------------------ +*!* If lnSucces > 0 +*!* && seteaza id_sucursala +*!* lcSql = [begin pack_contafin.SET_ID_SUCURSALA(?gnIdSucursala); end;] +*!* lnSucces = executaSql(lcSql,'',.t.) + +*!* *!* If lnSucces < 0 +*!* *!* Messagebox(goExecutor.cEroare,0+16,"Eroare") +*!* *!* Endif +*!* Endif + +*!* If lnSucces > 0 +*!* lnSucces = sql_temp_insert('actactan','ACT_TEMP') + +*!* If lnSucces > 0 And tlRul +*!* If Used('rul_temp') And Reccount('rul_temp')>0 +*!* lnSucces = sql_temp_insert('rul_temp','RUL_TEMP') +*!* Endif +*!* If Used('RUL_TEMP_OBINV') And Reccount('RUL_TEMP_OBINV')>0 +*!* lnSucces = sql_temp_insert('rul_temp_obinv','RUL_TEMP_OBINV') +*!* Endif +*!* Endif +*!* Endif + +*!* If lnSucces > 0 +*!* && SCRIE IN ACT +*!* If tnScrie_Sterge <> 2 +*!* If lnSucces > 0 +*!* lcSql = [begin pack_contafin.SCRIE_IN_ACT('] + gcS +['); end;] +*!* lnSucces = executaSql(lcSql,'',.t.) + +*!* *!* If lnSucces < 0 +*!* *!* Messagebox('SCRIE_IN_ACT ' + Chr(13) + goExecutor.cEroare,0+16,"Eroare") +*!* *!* Endif +*!* Endif +*!* Else +*!* If tlModificare +*!* lnSterge = 0 +*!* Else +*!* lnSterge = 1 +*!* Endif +*!* lcSql = [begin pack_contafin.STERGE_DIN_ACT('] + gcS +[',] + Alltrim(Str(gnAn)) + [,] + Alltrim(Str(gnLuna)) + [,] + Alltrim(Str(lnCod)) + [,] + Alltrim(Str(gnIdUtil)) + [,] + Alltrim(Str(lnSterge))+ [); end;] +*!* lnSucces = executaSql(lcSql,'',.t.) + +*!* *!* If lnSucces < 0 +*!* *!* Messagebox('STERGE_DIN_ACT ' + Chr(13) + goExecutor.cEroare,0+16,"Eroare") +*!* *!* Endif + +*!* Endif +*!* Endif +*!* If lnSucces > 0 And tlRul +*!* && SCRIE IN RUL +*!* If tnScrie_Sterge <> 2 +*!* lcSql = [begin pack_contafin.SCRIE_IN_RUL(?gcS); end;] +*!* lnSucces = executaSql(lcSql,'',.t.) + +*!* *!* If lnSucces < 0 +*!* *!* Messagebox('SCRIE IN RUL ' + Chr(13) + goExecutor.cEroare,0+16,"Eroare") +*!* *!* Endif +*!* Else + +*!* lcSql = [begin pack_contafin.STERGE_DIN_RUL('] + gcS +[',] + Alltrim(Str(gnAn)) + [,] + Alltrim(Str(gnLuna)) + [,] + Alltrim(Str(lnCod)) + [,] + Alltrim(Str(gnIdUtil)) + [); end;] +*!* lnSucces = executaSql(lcSql,'',.t.) + +*!* *!* If lnSucces < 0 +*!* *!* Messagebox('STERGE DIN RUL ' + Chr(13) + goExecutor.cEroare,0+16,"Eroare") +*!* *!* Endif + +*!* Endif +*!* Endif + +*!* If lnSucces > 0 And tlRul And Used('RUL_TEMP_OBINV') And Reccount('RUL_TEMP_OBINV')>0 +*!* && SCRIE IN RUL_OBINV +*!* If tnScrie_Sterge <> 2 +*!* lcSql = [begin pack_contafin.SCRIE_IN_RUL_OBINV(?gcS); end;] +*!* lnSucces = executaSql(lcSql,'',.t.) + +*!* *!* If lnSucces < 0 +*!* *!* Messagebox('SCRIE IN RUL_OBINV ' + Chr(13) + goExecutor.cEroare,0+16,"Eroare") +*!* *!* Endif +*!* Else + +*!* lcSql = [begin pack_contafin.STERGE_DIN_RUL_OBINV('] + gcS +[',] + Alltrim(Str(gnAn)) + [,] + Alltrim(Str(gnLuna)) + [,] + Alltrim(Str(lnCod)) + [,] + Alltrim(Str(gnIdUtil)) + [); end;] +*!* lnSucces = executaSql(lcSql,'',.t.) + +*!* *!* If lnSucces < 0 +*!* *!* Messagebox('STERGE DIN RUL_OBINV ' + Chr(13) + goExecutor.cEroare,0+16,"Eroare") +*!* *!* Endif + +*!* Endif +*!* Endif + +*!* If lnSucces > 0 +*!* && SCRIE IN BALANTA +*!* lcSql = [begin pack_contafin.SCRIE_IN_BALANTA('] + gcS +[',] + Alltrim(Str(gnAn)) + [,] + Alltrim(Str(gnLuna)) + [,] + Alltrim(Str(tnScrie_Sterge)) + [); end;] +*!* lnSucces = executaSql(lcSql,'',.t.) + +*!* *!* If lnSucces < 0 +*!* *!* Messagebox('SCRIE_IN_BALANTA ' +goExecutor.cEroare,0+16,"Eroare") +*!* *!* Endif +*!* Endif + +*!* If lnSucces > 0 +*!* && SCRIE IN BALANTA_PARTENERI +*!* lcSql = [begin pack_contafin.SCRIE_IN_BALANTA_PARTENERI('] + gcS +[',] + Alltrim(Str(gnAn)) + [,] + Alltrim(Str(gnLuna)) + [,'',] + Alltrim(Str(tnScrie_Sterge)) + [); end;] +*!* lnSucces = executaSql(lcSql,'',.t.) + +*!* *!* If lnSucces < 0 +*!* *!* Messagebox('SCRIE_IN_BALANTA_PARTENERI '+goExecutor.cEroare,0+16,"Eroare") +*!* *!* Endif +*!* Endif + +*!* If lnSucces > 0 +*!* && SCRIE IN IREG_PARTENERI +*!* * lcSql = [begin pack_contafin.SCRIE_IN_IREG_PARTENERI('] + gcS +[',] + ALLTRIM(STR(gnAn)) + [,] + ALLTRIM(STR(gnLuna)) + [,'',] + ALLTRIM(STR(tnScrie_Sterge)) + [,1); end;] +*!* lcSql = [begin pack_contafin.EXECUTA_SCRIE_IN_IREG('] + gcS +[',] + Alltrim(Str(gnAn)) + [,] + Alltrim(Str(gnLuna)) + [,'',] + Alltrim(Str(tnScrie_Sterge)) + [,0); end;] +*!* lnSucces = executaSql(lcSql,'',.t.) +*!* *!* If lnSucces < 0 +*!* *!* Messagebox('Executa_SCRIE_IN_INREGISTRARI_PARTENERI '+goExecutor.cEroare,0+16,"Eroare") +*!* *!* Endif +*!* Endif + +*!* If lnSucces > 0 +*!* && SCRIE IN CUMP +*!* Select infisiere +*!* Locate For Cont = '4426' +*!* lcCorespD = Alltrim(coresp_d) +*!* lcCorespC = Alltrim(coresp_c) +*!* lcCorespDtva = Alltrim(coresp_d) + [,4428,4427] +*!* lcCorespCtva = Alltrim(coresp_c) +*!* lcExceptii = [-1] +*!* lcSql = [select distinct cont_c as exceptie from ] + gcS + [.exceptii_ireg where cont in (] + ; +*!* lcCorespD + [) and invers = 1] +*!* lnSucces = executaSql(lcSql,'cont_exceptii',.t.) +*!* If lnSucces > 0 +*!* Select cont_exceptii +*!* Scan +*!* lcExceptii = lcExceptii + ',' + Alltrim(exceptie) +*!* Endscan +*!* Use In cont_exceptii +*!* Endif +*!* If gnAn >= 2007 +*!* lcSql = [begin PACK_CONTAFIN.SCRIE_JV_2007(?gnAn, ?gnLuna, ] + ; +*!* Iif(tnScrie_Sterge <> 2, 'pack_contafin.nScriere', 'pack_contafin.nStergere') + [); end;] +*!* Else +*!* lcSql = [begin pack_contafin.EXECUTA_SCRIE_TVA('] + gcS +[', 'cump', 1.19, 1.09, '] + ; +*!* lcCorespDtva +[', '] + lcCorespD +[', '] + lcCorespCtva +[', '] + lcCorespC + ; +*!* [','4426', '] + lcExceptii +[',] + pcan + [, ] + pcnl + [,] + Alltrim(Str(tnScrie_Sterge)) + [ ); end;] +*!* Endif +*!* lnSucces = executaSql(lcSql,'',.t.) +*!* *!* If lnSucces < 0 +*!* *!* Messagebox('SCRIE_IN_CUMP ' +goExecutor.cEroare,0+16,"Eroare") +*!* *!* Endif +*!* Endif + +*!* If lnSucces > 0 +*!* && SCRIE IN VANZ +*!* Select infisiere +*!* Locate For Cont = '4427' +*!* lcCorespD = Alltrim(coresp_d) +*!* lcCorespC = Alltrim(coresp_c)+ [,5121,5311] +*!* lcCorespDtva = Alltrim(coresp_d) +*!* lcCorespCtva = Alltrim(coresp_c) + [,4428,4426] +*!* * lcExceptii = [667,622,419] +*!* lcExceptii = [419] +*!* lcSql = [select distinct cont_c as exceptie from ] + gcS + [.exceptii_ireg where cont in (] + lcCorespC + [) and invers = 1] +*!* lnSucces = executaSql(lcSql,'cont_exceptii',.t.) +*!* If lnSucces > 0 +*!* Select cont_exceptii +*!* Scan +*!* lcExceptii = lcExceptii + ',' + Alltrim(exceptie) +*!* Endscan +*!* Use In cont_exceptii +*!* Endif +*!* If gnAn >= 2007 +*!* lcSql = [begin PACK_CONTAFIN.SCRIE_JC_2007(?gnAn, ?gnLuna, ] + ; +*!* Iif(tnScrie_Sterge <> 2, 'pack_contafin.nScriere', 'pack_contafin.nStergere') + [); end;] +*!* Else +*!* lcSql = [begin pack_contafin.EXECUTA_SCRIE_TVA('] + gcS +[', 'vanz', 1.19, 1.09, '] + ; +*!* lcCorespDtva +[', '] + lcCorespD +[', '] + lcCorespCtva +[', '] + lcCorespC +[','4427', '] + ; +*!* lcExceptii +[',] + pcan + [, ] + pcnl + [,] + Alltrim(Str(tnScrie_Sterge)) + [ ); end;] +*!* Endif +*!* lnSucces = executaSql(lcSql,'',.t.) +*!* *!* If lnSucces < 0 +*!* *!* Messagebox('SCRIE_IN_VANZ '+goExecutor.cEroare,0+16,"Eroare") +*!* *!* Endif +*!* Endif + + +*!* *!* lcSql = [SELECT * FROM ] + gcS + [.ACT_TEMP] +*!* *!* lcCursor = [crsACT_TEMP] +*!* *!* lnSucces = executaSql(lcSql,lcCursor) +*!* *!* SELECT crsACT_TEMP +*!* *!* BROWSE +*!* *!* USE IN CRSACT_TEMP + +*!* If lnSucces > 0 And tlRul +*!* Private pcTabel +*!* pcTabel = [STOC] +*!* pcIdTabel = [ID_STOC] +*!* pcConditie = [2=2] +*!* lcSql = [begin pack_contafin.SCRIE_IN_Stoc(?gcS,?gnAn,?gnLuna,0,?pcTabel,?pcIdTabel,?pcConditie); end;] +*!* lnSucces = executaSql(lcSql,'',.t.) + +*!* *!* If lnSucces < 0 +*!* *!* Messagebox('SCRIE IN STOC ' + Chr(13) + goExecutor.cEroare,0+16,"Eroare") +*!* *!* Endif +*!* Endif + +*!* If lnSucces > 0 And tlRul And Used('RUL_TEMP_OBINV') And Reccount('RUL_TEMP_OBINV')>0 +*!* Private pcTabel +*!* pcTabel = [STOC_OBINV] +*!* pcIdTabel = [ID_STOC] +*!* pcConditie = [2=2] +*!* lcSql = [begin pack_contafin.SCRIE_IN_Stoc_OBINV(?gcS,?gnAn,?gnLuna,0,?pcTabel,?pcIdTabel,?pcConditie); end;] +*!* lnSucces = executaSql(lcSql,'',.t.) + +*!* *!* If lnSucces < 0 +*!* *!* Messagebox('SCRIE IN STOC_OBINV ' + Chr(13) + goExecutor.cEroare,0+16,"Eroare") +*!* *!* Endif +*!* Endif + +*!* If lnSucces > 0 +*!* Private pcMesajRefacereNota +*!* pcMesajRefacereNota = "" +*!* lcSql = [begin pack_refacere_nota.refacere_nota(?gnAn,?gnLuna,?@pcMesajRefacereNota); end;] +*!* lnSucces = executaSql(lcSql,'',.t.) + +*!* *!* If lnSucces < 0 +*!* *!* Messagebox(goExecutor.cEroare,0+16,"Eroare") +*!* *!* Endif +*!* If !Empty(Nvl(pcMesajRefacereNota,'')) +*!* Messagebox(pcMesajRefacereNota,0+48,'Atentie') +*!* Endif +*!* Release pcMesajRefacereNota +*!* Endif + +*!* If !tlModificare And !llManualTransactions +*!* If lnSucces < 0 +*!* lcSql = "ROLLBACK" +*!* Else +*!* lcSql = "COMMIT" +*!* Endif +*!* lnSucces2 = executaSql(lcSql,'',.t.) + +*!* *!* If lnSucces2 < 0 +*!* *!* Messagebox(lcSql + Chr(13) + goExecutor.cEroare,0+16,"Eroare") +*!* *!* Endif + +*!* lnSucces2 = SQLSetprop(gnhandle,"Transactions",1) +*!* If lnSucces2 < 0 +*!* Messagebox([Programul nu a reusit sa treaca pe tranzactie automata. ] + ; +*!* [Iesiti din program si intrati din nou!],0+48,'Atentie!') +*!* Endif +*!* Endif + + +*!* *!* IF USED('CRS_ACT') +*!* *!* USE IN CRS_ACT +*!* *!* ENDIF +*!* *!* IF USED('rul_temp') +*!* *!* USE IN rul_temp +*!* *!* ENDIF +*!* *!* IF USED('rul_temp_obinv') +*!* *!* USE IN rul_temp_obinv +*!* *!* ENDIF + +*!* Return lnSucces +#Define crlf Chr(13) + Chr(10) + +Public gcdatapath, gcapppath, gnhandle + +gnhandle = conecteaza([jcsserver],[mariusm_auto],[123]) + +gcapppath = Justpath(Sys(16,0)) +*!* gcapppath = Addbs(Justpath(Sys(16,0))) +*!* gcapppath = Left(gcapppath,Rat("\",gcapppath,2)) +*!* gcdatapath = ADDBS(gcapppath) + [datemenu] +*!* SET PATH TO (gcdatapath) + +Set Path To (gcapppath) +sql_temp_insert([xnote],[xnote]) + +&& ------------------------------------------------------------------------------------ +Procedure sql_temp_insert + Lparameters tcAlias,tcTableName + + + If !Used(Addbs(gcapppath) + tcAlias) + Use (Addbs(gcapppath) + tcAlias) + Endif + + Local lcAlias,lcCursor,lnSucces + Private poIreg + Local lcVariable + + If Empty(tcAlias) + lcAlias = 'ACTACTAN' + Else + lcAlias = Upper(Alltrim(tcAlias)) + Endif + If Empty(tcTableName) + lcTableName = 'ACT_TEMP' + Else + lcTableName = Upper(Alltrim(tcTableName)) + Endif + + lcCursor = 'crs_Coloane' + lcSql = [SELECT COLUMN_NAME AS COLOANA from user_tab_columns WHERE table_name = ?lcTableName] + lnSucces = executaSql(lcSql,lcCursor,.T.) + *!* If lnSucces < 0 + *!* Messagebox('Eroare la selectare coloane din ' + lcTableName + Chr(13) + goExecutor.cEroare,0+16,'Eroare') + *!* Endif + + If lnSucces > 0 + *** + Select (lcAlias) + lnCount = Fcount() + Select (lcAlias) + lcFields = [] + lcValues = [] + lcInsert = [] + Scatter Name poIreg + For i = 1 To lnCount + ?i + Select (lcAlias) + lcFieldName = Upper(Alltrim(Field(i))) + lcFieldType = Type(lcFieldName) + lcFieldValue = Evaluate(lcFieldName) + + Do Case + Case lcFieldType = "C" + lcVariable = '?ALLTRIM(poIreg.' + lcFieldName + ')' + * CASE lcfieldtype = "L" + * lcvariable = IIF(&poIreg.lcFieldName,[1,],[0,] + Otherw + lcVariable = '?poIreg.' + lcFieldName + Endcase + + Select CRS_COLOANE + Locate For Upper(Alltrim(COLOANA)) == lcFieldName + If !Found() + Loop + Endif + lcFields = lcFields + [,] + lcFieldName + lcNumber = '0' + lcDate = '' + lcString = '' + + && FAC NULL ID-URILE CU VALOARE 0 + If Inlist(lcFieldName, 'ID_SUCURSALA') + If poIreg.id_sucursala = 0 + poIreg.id_sucursala = Null + Endif + Endif + lcValues = lcValues + [,] + lcVariable + + Endfor + + lcFields = Substr(lcFields,2) + lcValues = Substr(lcValues,2) + + + && INSERT INTO ACT_TEMP + lcInsert = [INSERT INTO ] + lcTableName + [ (] + lcFields + [) VALUES (] + lcValues + [)] + + + Scan + lnSucces = executaSql(lcInsert,'',.T.) + If lnSucces < 0 + Messagebox([eroare]) + Exit + Endif + Endscan + + Endif + If Used('crs_coloane') + Use In CRS_COLOANE + Endif + USE IN (SELECT(Addbs(gcapppath) + tcAlias)) + + Return lnSucces + +Endproc && sql_temp_insert + + + +************************ inceput conecteaza *************************** +Procedure conecteaza + Lparameters tcHost, tcUser, tcPassword + + gnhandle = SQLConnect(tcHost, tcUser, tcPassword) + If gnhandle < 1 + Aerror(laEroare) + Messagebox(laEroare(2)) + Endif + + Return gnhandle +Endproc + +**************************** inceput executaSql *************************** +Function executaSql + Lparameters cmdSql, crsName, tlShowErr + Local lnSucces + + lnSucces = -1 + + If Pcount() < 2 And !m.tlShowErr + crsName="" + Endif + + If gnhandle > 0 + lnSucces=SQLExec(gnhandle,cmdSql,crsName) + + If lnSucces < 0 And m.tlShowErr + Aerror(laEroare) + eroaresql(@laEroare,cmdSql) + Endif + Endif + + Return lnSucces +Endfunc + +************************* inceput deconecteaza ************************ +Function deconecteaza + *Lparameters lnConn + Local lnSucces + + lnSucces = -1 + If lnConn > 0 + lnSucces = SQLDisconnect(gnhandle) + Endif + + On Error + Return lnSucces +Endfunc + +******************************* inceput eroareSql ********************************** +Procedure eroaresql + Lparameters laErr, lcSql + + External Array laErr + + Local lcMesaj + + lcMesaj = [Eroare # : ] + Alltrim(Str(laErr(1))) + crlf + ; + [Mesajul : ] + laErr(2) + ; + IIF(!Empty(laErr(3)), [Eroare OLE : ] + laErr(3) ,[]) + ; + [Aplicatie : ] + laErr(4) + ; + IIF(Pcount() = 2, crlf + lcSql, []) + Messagebox(lcMesaj,0+16) + +Endproc diff --git a/datemenu/xold/import_xdbf/trim.prg b/datemenu/xold/import_xdbf/trim.prg new file mode 100644 index 0000000..10048d7 --- /dev/null +++ b/datemenu/xold/import_xdbf/trim.prg @@ -0,0 +1,62 @@ +#Define crlf Chr(13) + Chr(10) + +Local lcColoane, lcVals, lcAdresa, lcTabela, lcTable, nr, i, lnSucces, lcSql +External Array lacols +lcColoane = [] +lcVals = [] +lnSucces = 0 +lctabela = UPPER([xitems]) + +gnconn = SQLConnect([jcsserver],[test_alex],[123]) +If gnconn < 0 + Return +Endif + + +lcsql = [select * from user_tab_columns where table_name = '] + lctabela + ['] +executasql(lcsql,'crsColoane',.t.) +lcsql = [] +SELECT crscoloane +SCAN + lcsql =lcsql + ALLTRIM(column_name) + [= TRIM(] + ALLTRIM(column_name) + [),] +ENDSCAN +lcsql = [update ] + lctabela + [ set ] + LEFT(lcsql,LEN(lcsql) - 1) +executasql(lcsql,'',.t.) + +********************************************************** +Function executaSql + Lparameters cmdSql, crsName, tlShowErr + Local lnSucces + + lnSucces = -1 + + If Pcount() < 2 And !m.tlShowErr + crsName="" + Endif + + If gnconn > 0 + lnSucces = SQLExec(gnconn,cmdSql,crsName) + + If lnSucces < 0 And m.tlShowErr + Aerror(laEroare) + eroaresql(@laEroare,cmdSql) + Endif + Endif + + Return lnSucces +Endfunc + +********************************************************** +Procedure eroaresql + Lparameters laErr, lcSql + + External Array laErr + Local lcMesaj + + lcMesaj = [Eroare # : ] + Alltrim(Str(laErr(1))) + crlf + ; + [Mesajul : ] + laErr(2) + ; + IIF(!Empty(laErr(3)), [Eroare OLE : ] + laErr(3) ,[]) + ; + [Aplicatie : ] + laErr(4) + ; + IIF(Pcount() = 2, crlf + lcSql, []) + Messagebox(lcMesaj,0+16) +Endproc diff --git a/datemenu/xold/xact.dbf b/datemenu/xold/xact.dbf new file mode 100644 index 0000000..9d13c92 Binary files /dev/null and b/datemenu/xold/xact.dbf differ diff --git a/datemenu/xold/xitems.dbf b/datemenu/xold/xitems.dbf new file mode 100644 index 0000000..d2b88e2 Binary files /dev/null and b/datemenu/xold/xitems.dbf differ diff --git a/datemenu/xold/xnote.dbf b/datemenu/xold/xnote.dbf new file mode 100644 index 0000000..6a4c4b5 Binary files /dev/null and b/datemenu/xold/xnote.dbf differ diff --git a/datemenu/xold/xnote_jurnaltva.prg b/datemenu/xold/xnote_jurnaltva.prg new file mode 100644 index 0000000..6682dfc --- /dev/null +++ b/datemenu/xold/xnote_jurnaltva.prg @@ -0,0 +1,31 @@ +*!* Am adaugat coloana X34 in xact cu valoarea "id_jtva_coloana" si coloana X34 in XNOTE. + +Set Deleted On +Set Century On +Set Date Dmy +Set Ansi On +Set Exact On +Set Date Dmy +Set Safety Off +Set Exclusive Off +Close Databases + +lcDir = [D:\ROA_Branch\ROACONT\COMUN\datemenu\] +lcXnote = lcDir + [xnote.dbf] +Use (lcXnote) In 0 Shared + +Select Distinct x21,x34 From xnote Into Cursor crsrezumat +Select crsrezumat +Browse + +Select xnote +Replace x34 With [id_jnetax] For x21 = [neimpozab] +Replace x34 With [id_jtax] For Inlist(x21,[pnBazaFactura],[pnBazaNir],[pnBazaVanz],[pnDiscount],[totftva]) +Replace x34 With [id_jtva] For Inlist(x21,[pnTvaDiscount],[pnTvaFactura],[pnTvaNir],[pnTvaVanzIn],[pnTvaVanzOut],[tottva]) + +Select Distinct x21,x34 From xnote Into Cursor crsrezumat +Select crsrezumat +Browse + +Use In xnote +Use In crsrezumat \ No newline at end of file diff --git a/datemenu/xold/xrequest.dbf b/datemenu/xold/xrequest.dbf new file mode 100644 index 0000000..f6fc97e Binary files /dev/null and b/datemenu/xold/xrequest.dbf differ diff --git a/datemenu/xold/xsets.dbf b/datemenu/xold/xsets.dbf new file mode 100644 index 0000000..314bdef Binary files /dev/null and b/datemenu/xold/xsets.dbf differ diff --git a/datemenu/xold/xsets_jurnaltva.prg b/datemenu/xold/xsets_jurnaltva.prg new file mode 100644 index 0000000..c55b469 --- /dev/null +++ b/datemenu/xold/xsets_jurnaltva.prg @@ -0,0 +1,91 @@ +SET DELETED ON +SET CENTURY ON +SET DATE DMY +SET ANSI ON +SET EXACT ON +SET DATE DMY +SET SAFETY OFF +SET EXCLUSIVE OFF +CLOSE DATABASES + +lcDir = [d:\roa_rb\roacont\comun\datemenu\] +lcXsets = lcDir + [xsets.dbf] +lcXnote = lcDir + [xnote.dbf] +USE (lcXsets) IN 0 SHARED +USE (lcXnote) IN 0 SHARED + +lnIdSetVzNetax = 8 +lnIdSetVzTax19 = 1 + +lnIdSetCmNetax = 113 +lnIdSetCmCapital19 = 101 +lnIdSetCmMarfa19 = 103 +lnIdSetCmBunuri19 = 105 + +lnIdSetCmTxInv = 141 && taxare inversa 19% bunuri firma +lnIdSetVzTxInv = 5 + +SELECT DISTINCT ID_SET ; + FROM XNOTE ; + WHERE INLIST(ALLTRIM(XSCD), '4111','461', '418') OR INLIST(ALLTRIM(XSCC), '419') ; + INTO CURSOR crsIdSetVz + + + +SELECT DISTINCT ID_SET ; + FROM XNOTE ; + WHERE INLIST(ALLTRIM(XSCC), '404') ; + INTO CURSOR crsIdSetCmCapital + +SELECT DISTINCT ID_SET ; + FROM XNOTE; + WHERE INLIST(ALLTRIM(XSCD), '371') AND INLIST(ALLTRIM(XSCC), '401','462', '408'); + UNION ; + SELECT DISTINCT S.ID_SET ; + FROM XSETS S JOIN (SELECT ID_SET FROM XNOTE WHERE INLIST(ALLTRIM(XSCC), '401','462', '408')) N ; + ON S.ID_SET = N.ID_SET ; + WHERE 'MARFA'$UPPER(S.NUME_SET); + INTO CURSOR crsIdSetCmMarfa + +SELECT DISTINCT ID_SET ; + FROM XNOTE ; + WHERE (INLIST(ALLTRIM(XSCC), '401','462', '408') OR INLIST(ALLTRIM(XSCD), '409')) AND !INLIST(ALLTRIM(XSCD), '371'); + INTO CURSOR crsIdSetCmBunuri + +SELECT DISTINCT ID_SET ; + FROM XSETS ; + WHERE 'INVERS'$UPPER(NUME_SET) AND '411'$UPPER(LISTA_NOTE) ; + INTO CURSOR crsIdSetVzTxInv + +SELECT DISTINCT ID_SET ; + FROM XSETS ; + WHERE 'INVERS'$UPPER(NUME_SET) AND '401'$UPPER(LISTA_NOTE) ; + INTO CURSOR crsIdSetCmTxInv + + +DO CLEAN_SETS +DO UPDATE_SETS WITH "crsIdSetVz", lnIdSetVzNetax, lnIdSetVzTax19, "JV" +DO UPDATE_SETS WITH "crsIdSetCmCapital", lnIdSetCmNetax, lnIdSetCmCapital19, "JC" +DO UPDATE_SETS WITH "crsIdSetCmMarfa", lnIdSetCmNetax, lnIdSetCmMarfa19, "JC" +DO UPDATE_SETS WITH "crsIdSetCmBunuri", lnIdSetCmNetax, lnIdSetCmBunuri19, "JC" + +DO UPDATE_SETS WITH "crsIdSetVzTxInv", lnIdSetVzNetax, lnIdSetVzTxInv, "JV" +DO UPDATE_SETS WITH "crsIdSetCmTxInv", lnIdSetCmNetax, lnIdSetCmTxInv, "JC" + + +PROCEDURE CLEAN_SETS + UPDATE XSETS SET ID_JNETAX = 0, ID_JTAX = 0, TIPJURNAL = '' +ENDPROC + +*!* +PROCEDURE UPDATE_SETS + LPARAMETERS tcCursorIdSet, tnIdSetNetax, tnIdSetTax, tcTipJurnal + SELECT (tcCursorIdSet) + SCAN + IF SEEK(ID_SET,"xsets","id_set") + IF EMPTY(XSETS.ID_JNETAX) AND EMPTY(XSETS.ID_JTAX) AND EMPTY(XSETS.TIPJURNAL) + REPLACE ID_JNETAX WITH tnIdSetNetax, ID_JTAX WITH tnIdSetTax, TIPJURNAL WITH tcTipJurnal IN XSETS + ENDIF + ENDIF + ENDSCAN +ENDPROC diff --git a/docs/PROMPT_cautare_vfp.md b/docs/PROMPT_cautare_vfp.md new file mode 100644 index 0000000..91cd712 --- /dev/null +++ b/docs/PROMPT_cautare_vfp.md @@ -0,0 +1,127 @@ +# Prompt: căutare È™i editare în cod VFP (foxbin2prg) — reutilizabil în orice proiect Visual FoxPro + +Acest fiÈ™ier conÈ›ine un **prompt gata de copiat** pentru Claude Code (sau alt agent), care +configurează È™i foloseÈ™te sistemul `foxbin2prg` ca să poată **căuta** cod-sursă aflat **în interiorul +fiÈ™ierelor binare VFP** (`.vcx/.vct`, `.scx/.sct`, `.frx/.frt`, `.mnx/.mnt`, `.dbc/.dct`) într-un +proiect nou — È™i, pentru `.vcx`/`.scx`, să poată È™i **modifica** acel cod direct pe text, cu +write-back în binar (`txt2vcx.ps1`), fără trecere prin IDE-ul VFP. + +Unealta e partajată È™i stă la `D:\ROA\UTIL\foxbin2prg\` — nu trebuie copiată per proiect. Doar +spui agentului care e proiectul curent (folderul + fiÈ™ierul `.pjx`). + +--- + +## Cum se foloseÈ™te + +1. Deschide proiectul VFP în Claude Code. +2. Copiază blocul de mai jos în prompt. +3. ÃŽnlocuieÈ™te cele **3 valori** marcate `<<...>>` cu datele proiectului tău: + - `<>` = folderul rădăcină al proiectului (ex. `D:\ROA\ROAGEST`) + - `<>` = calea către `.pjx` (ex. `D:\ROA\ROAGEST\roagest.pjx`) + - `<>` = etichetă scurtă pentru folderul de cache (ex. `roagest`) + +--- + +## ▼▼▼ PROMPT DE COPIAT ▼▼▼ + +``` +Acest proiect este o aplicaÈ›ie Visual FoxPro 9. O mare parte din cod (proceduri, metode, +parametri) NU stă în fiÈ™iere .prg, ci în interiorul fiÈ™ierelor binare VFP: librării de clase +(.vcx+.vct), forme (.scx+.sct), rapoarte (.frx+.frt), meniuri (.mnx+.mnt). Un grep direct pe +acestea nu e lizibil (sunt tabele DBF cu memo binar). + +Ca să poÈ›i căuta în acel cod, foloseÈ™te unealta partajată foxbin2prg, care converteÈ™te binarele +în reprezentarea lor TEXT (.vc2/.sc2/.fr2/.mn2/.dc2) într-un cache, È™i apoi caută în cache. + +PARAMETRII PROIECTULUI CURENT: +- Rădăcină proiect: <> +- FiÈ™ier proiect (.pjx): <> +- Cache text: D:\ROA\_vfp_textcache\<> + +REGULA DE AUR: cache-ul text e sursa pentru CÄ‚UTARE (toate tipurile de binar) È™i, DOAR pentru +.vcx/.scx, È™i pentru EDITARE cu write-back (txt2vcx.ps1, vezi PAS 3). Pentru .frx/.mnx/.dbc +textul rămâne doar pentru citire — modificările la ele se fac în IDE-ul VFP, pe binar. + +PAS 1 — populează cache-ul text (la începutul sesiunii, sau după ce s-a modificat ceva în IDE). +Rulează în PowerShell (e incremental — sare peste ce e deja la zi): + + & 'D:\ROA\UTIL\foxbin2prg\vcx2txt.ps1' -Project '<>' -ProjectRoot '<>' -CacheRoot 'D:\ROA\_vfp_textcache\<>' + + (FoloseÈ™te un -CacheRoot distinct per proiect ca să nu amesteci cache-urile. Implicit scriptul + converteÈ™te doar .vcx È™i .scx; pentru a include È™i rapoarte/meniuri adaugă: -Types vcx,scx,frx,mnx) + +Dacă scriptul se plânge că lipseÈ™te FoxBin2Prg.EXE, trebuie compilat o singură dată: deschide +'D:\ROA\UTIL\foxbin2prg\foxbin2prg.pj2' în VFP 9 È™i Build > Build Executable. Anunță-mă să fac asta. + +PAS 2 — caută în cache cu unealta Grep (NU în binarele originale): + + Grep pe folderul 'D:\ROA\_vfp_textcache\<>' pentru numele de metodă/procedură/variabilă căutat. + Ex.: caută "PROCEDURE do_salvare" sau numele tabelei/cursorului implicat. + +CONVERSIE PUNCTUALÄ‚ (un fiÈ™ier sau folder care NU e în proiect, ex. o librărie din COMUN): + + & 'D:\ROA\UTIL\foxbin2prg\vcx2txt.ps1' -Source 'CALE\catre\librarie.vcx' -CacheRoot 'D:\ROA\_vfp_textcache\<>' + +ALTE OPÈšIUNI: -Force (reconverteÈ™te tot), -Clean (È™terge cache-ul întâi). + +PAS 3 — modificare de cod în .vcx/.scx (flux write-back pe text). Ordinea e obligatorie: + + a. Investighează pe cache, propune modificarea È™i AȘTEAPTÄ‚ ACORDUL pe abordare înainte să + editezi ceva. + b. Refresh cache (PAS 1) dacă a rulat vreo sesiune de IDE de la ultimul refresh (staleness-ul + se verifică pe mtime È™i txt2vcx refuză corect scrierea peste modificări nevăzute). ÃŽnainte + de write-back închide COMPLET VFP IDE È™i exe-ul aplicaÈ›iei — procesele reziduale È›in lock + pe binare. + c. Editează .vc2/.sc2 BYTE-SAFE: formatul e position-sensitive (nu reformata/reflow linii), + proprietățile sunt alfabetizate (una nouă se inserează la locul ei alfabetic). Headerul + CPID="1252" poate minÈ›i despre codepage-ul real al diacriticelor — citeÈ™te/scrie fiÈ™ierul + ca bytes (PowerShell), conÈ›inutul NOU doar ASCII; nu folosi unelte care re-encodează. + d. Write-back: + + & 'D:\ROA\UTIL\foxbin2prg\txt2vcx.ps1' -TextFile 'D:\ROA\_vfp_textcache\<>\Clase\lib.vc2' -ProjectRoot '<>' -CacheRoot 'D:\ROA\_vfp_textcache\<>' + + Regenerează + compilează binarul în staging, verifică fidelitatea (roundtrip byte-identic + față de textul editat) È™i abia apoi copiază binarul în proiect; la orice eÈ™ec proiectul + rămâne neatins. Èšinte sub COMUN\ cer flag-ul -AllowComun ȘI aprobare explicită — o + modificare acolo afectează toate aplicaÈ›iile ROA. + e. Diff lizibil pentru review: extrage binarul vechi din git (git show HEAD:cale > temp, atât + .vcx cât È™i .vct), regenerează-i textul cu vcx2txt.ps1 -Source într-un folder temporar È™i + compară cu cache-ul editat: git diff --no-index. COMMIT DOAR după ce omul confirmă pe diff + È™i testează în IDE. + +EXCEPÈšII: pentru .mnx (GENMENU) È™i .frx (fragile la round-trip) nu există write-back — scrie +propunerea de modificare într-un fiÈ™ier docs/propuneri_.md (cod + unde se inserează), +iar aplicarea se face manual în IDE-ul VFP. + +FLUX TIPIC: la prima sesiune rulează PAS 1 o dată, apoi caută cu Grep în cache (PAS 2). La +sesiunile următoare rescrie doar ce s-a schimbat. Când citeÈ™ti codul unei metode, dă referinÈ›e +fiÈ™ier:linie din cache. +``` + +## ▲▲▲ SFÂRȘIT PROMPT ▲▲▲ + +--- + +## Note pentru adaptare + +- `<>` îl poÈ›i pune orice etichetă scurtă (ex. `roagest`), doar ca numele + folderului de cache să fie unic per proiect. +- Èšine cache-ul în `D:\ROA\_vfp_textcache\`, adică **în afara** folderului `foxbin2prg`. Motiv: + `ReCreate_FoxBin2Prg.prg` face `Prg2Bin` recursiv pe tot folderul tool-ului È™i ar reconverti + `.??2`-urile din orice cache aflat sub el înapoi în binare parazitare. +- Scriptul citeÈ™te lista de fiÈ™iere direct din `.pjx`, deci converteÈ™te **doar** ce foloseÈ™te + efectiv proiectul (rapid), nu tot `COMUN\`. +- Cache-ul (`D:\ROA\_vfp_textcache\`) e regenerabil È™i e în afara arborelui de versionare + al proiectului (È™i în afara clonei foxbin2prg) — poate fi È™ters oricând. +- Conversia NU necesită IDE-ul VFP deschis (foloseÈ™te `FoxBin2Prg.EXE` compilat). +- Fără backup-uri `.bak` lângă binarele din proiect — git e mecanismul de restore; `txt2vcx.ps1` + È›ine o copie de siguranță doar în folderul temp al rulării. +- Editările de volum se pot delega la subagenÈ›i (Sonnet, în background) — sesiunea principală + orchestrează, verifică diff/fidelity È™i intervine doar la deblocări È™i decizii. +- Detalii complete despre write-back (guard-uri, encoding, dialoguri VFP modale la text corupt, + testul de regresie `test_roundtrip.ps1`): `D:\ROA\UTIL\foxbin2prg\CLAUDE.md`. +- Exemplu funcÈ›ional, rodat pe ROAGEST: `D:\ROA\ROAGEST\docs\flux-editare-vfp-text.md` È™i + `D:\ROA\ROAGEST\docs\CLAUDE.md` (modul de lucru complet, cu review pe diff înainte de commit). +- Ghid complet doar-căutare (varianta ROAACNPRO, cu exemple): `D:\ROA\ROAACNPRO\docs\cautare_vcx_vct.md`. +- Tabel corespondență binar → text: `.vcx`→`.vc2`, `.scx`→`.sc2`, `.frx`→`.fr2`, `.mnx`→`.mn2`, + `.dbc`→`.dc2`, `.lbx`→`.lb2`. diff --git a/docs/cautare_vcx_vct.md b/docs/cautare_vcx_vct.md new file mode 100644 index 0000000..c7b5b81 --- /dev/null +++ b/docs/cautare_vcx_vct.md @@ -0,0 +1,139 @@ +# Căutare în codul din librăriile/formele VFP (`.vcx`/`.vct`, `.scx`/`.sct`, ...) + +Partajat între proiectele ROA* (companion narativ la `PROMPT_cautare_vfp.md` din acest folder, +care e varianta "prompt de copiat" — acest fiÈ™ier e ghidul de referință complet, cu exemple). + +Cum se caută cod-sursă (proceduri, metode, parametri) care **nu** stă în fiÈ™iere `.prg`, ci +în interiorul fiÈ™ierelor binare VFP: librării de clase (`.vcx`+`.vct`), forme (`.scx`+`.sct`), +rapoarte (`.frx`+`.frt`), meniuri (`.mnx`+`.mnt`), baze de date (`.dbc`+`.dct`). + +## De ce e nevoie de asta + +Un `.vcx` este de fapt o **tabelă DBF**: codul metodelor stă în câmpuri memo în `.vct`. Un +`grep` direct pe `.vct` *găseÈ™te* textul, dar îl vede ca fiÈ™ier binar (octeÈ›i `\0` între linii), +fără numere de linie utile È™i greu de citit. SoluÈ›ia: convertim binarul în reprezentarea lui +**TEXT** (`.vc2`, `.sc2`, …) — un PRG-style lizibil, cu metode sortate alfabetic — È™i căutăm +în text cu `grep`/`Grep`. + +> **Regula de aur:** textul generat e **doar pentru citire/căutare**, CU O EXCEPÈšIE: pentru +> `.vcx`/`.scx` se poate È™i edita pe text, cu write-back în binar (`txt2vcx.ps1`) — vezi +> `PROMPT_cautare_vfp.md` pasul 3 pentru fluxul complet (ordine obligatorie, encoding, +> fidelity check). Pentru `.frx`/`.mnx`/`.dbc` nu există write-back — modificările se fac tot +> în **IDE-ul VFP**. + +## Unelte disponibile (verificate) + +| Unealtă | Cale | Rol | Recomandare | +|---|---|---|---| +| **FoxBin2Prg** | `D:\ROA\UTIL\foxbin2prg\FoxBin2Prg.EXE` | Binar VFP ⇄ text bidirecÈ›ional (`.vc2/.sc2/.fr2/.mn2/.dc2/.lb2`) | **De folosit.** Complet, fidel, include corpul metodelor, parametri, comentarii | +| vcx2prg | `D:\ROA\UTIL\vcx2prg\x2prg.prg` | Doar `.vcx` → `.prg` *compilabil* | Alternativă; mai vechi, doar clase, necesită IDE VFP deschis pentru a rula forma | +| prgtovcx | `D:\ROA\UTIL\prgtovcx\prgtovcx.PRG` | Invers: `.prg` → `.vcx` | **Nu** pentru căutare (e direcÈ›ia opusă) | + +FoxBin2Prg e prima alegere: rulează din linia de comandă fără IDE deschis (EXE compilat), acoperă +toate tipurile de container, È™i produce text mult mai fidel decât vcx2prg. + +> Dacă `FoxBin2Prg.EXE` lipseÈ™te, se compilează o singură dată: deschide +> `D:\ROA\UTIL\foxbin2prg\foxbin2prg.pj2` în VFP 9 È™i *Build > Build Executable*. Lângă EXE trebuie +> să existe `filename_caps.exe` È™i fiÈ™ierele `props*.txt` (sunt deja în folder). + +## Mod recomandat: scriptul `vcx2txt.ps1` + +`D:\ROA\UTIL\foxbin2prg\vcx2txt.ps1` automatizează tot: copiază binarul + memo-ul într-un +**cache** care oglindeÈ™te structura proiectului (ca să nu murdărească arborele SVN), rulează +FoxBin2Prg, păstrează doar fiÈ™ierul text. E **incremental** (sare peste ce e deja la zi). + +Parametrizează scriptul cu proiectul curent È™i un cache separat per proiect (nu amesteca +cache-urile mai multor proiecte ROA): + +```powershell +# DOAR fiÈ™ierele proiectului curent (recomandat, rapid) -> cache text propriu +powershell -ExecutionPolicy Bypass -File D:\ROA\UTIL\foxbin2prg\vcx2txt.ps1 ` + -Project '\.pjx' -ProjectRoot '' ` + -CacheRoot 'D:\ROA\UTIL\foxbin2prg\_textcache_' + +# include È™i rapoartele (.frx) È™i meniurile (.mnx) +powershell -ExecutionPolicy Bypass -File D:\ROA\UTIL\foxbin2prg\vcx2txt.ps1 ` + -Project '\.pjx' -ProjectRoot '' ` + -CacheRoot 'D:\ROA\UTIL\foxbin2prg\_textcache_' -Types vcx,scx,frx,mnx + +# conversie punctuală a unui fiÈ™ier sau folder (chiar dacă NU e în proiect, ex. o clasă din COMUN) +powershell -ExecutionPolicy Bypass -File D:\ROA\UTIL\foxbin2prg\vcx2txt.ps1 -Source '\COMUN\clase\caut.vcx' + +# rebuild curat (È™terge cache-ul întâi) / forÈ›ează reconversia +powershell -ExecutionPolicy Bypass -File D:\ROA\UTIL\foxbin2prg\vcx2txt.ps1 ` + -Project '\.pjx' -ProjectRoot '' ` + -CacheRoot 'D:\ROA\UTIL\foxbin2prg\_textcache_' -Clean +``` + +Exemplu concret (ROAAUTO): + +```powershell +powershell -ExecutionPolicy Bypass -File D:\ROA\UTIL\foxbin2prg\vcx2txt.ps1 ` + -Project D:\ROA\ROAAUTO\roaauto.pjx -ProjectRoot D:\ROA\ROAAUTO ` + -CacheRoot D:\ROA\UTIL\foxbin2prg\_textcache_roaauto +``` + +Rezultatul ajunge în cache-ul indicat, cu aceeaÈ™i structură de directoare ca proiectul (ex.: +`_textcache_roaauto\Clase\odevize.vc2`, `_textcache_roaauto\comun\clase\_frm_base.vc2`). Apoi: + +```bash +# cu unealta Grep (preferat) sau grep: +grep -rn "PROCEDURE do_calcul_tarife" "D:\ROA\UTIL\foxbin2prg\_textcache_" +grep -rln "factura_salvare" "D:\ROA\UTIL\foxbin2prg\_textcache_" # ce clase ating subiectul +``` + +Flux tipic pentru o problemă: rulează scriptul cu parametrii de mai sus o dată (populează +cache-ul), apoi caută cu `Grep` în cache. La sesiuni următoare rescrie doar ce s-a schimbat +(incremental). Dacă ai nevoie de o librărie din `COMUN\` care nu e în proiect, converteÈ™te-o +punctual cu `-Source`. + +## Alternativă manuală (fără script) + +FoxBin2Prg scrie textul **lângă sursă**. Ca să nu murdăreÈ™ti folderul de clase al proiectului, +copiază perechea binar+memo într-un folder temporar È™i converteÈ™te acolo: + +```powershell +# .vcx -> .vc2 (cType gol = extensia decide direcÈ›ia BIN2PRG) +Copy-Item D:\ROA\\Clase\odevize.vcx, D:\ROA\\Clase\odevize.vct D:\tmp\ +& 'D:\ROA\UTIL\foxbin2prg\FoxBin2Prg.EXE' 'D:\tmp\odevize.vcx' '' '' '' '1' '0' '1' +# => D:\tmp\odevize.vc2 +``` + +PoziÈ›iile parametrilor folosite: `fiÈ™ier, cType, cTextName, lGenText, cDontShowErrors=1, +cDebug=0, cDontShowProgress=1`. **Lasă `cType` gol** — extensia (`.vcx`) determină direcÈ›ia. +(Nu da explicit `"BIN2PRG"` pentru un singur fiÈ™ier: în acel mod EXE-ul aÈ™teaptă un *director*.) + +Detalii complete de parametri: `D:\ROA\UTIL\foxbin2prg\docs\FoxBin2Prg_Run.md`. + +## SoluÈ›ie rapidă „murdară" (un singur fiÈ™ier, fără conversie) + +Pentru o verificare rapidă „există metoda X undeva în librărie?", `grep` merge direct pe `.vct` +(o vede ca binar, dar găseÈ™te potrivirile): + +```bash +grep -c "PROCEDURE" "D:\ROA\\Clase\odevize.VCT" +grep -a -o "PROCEDURE [a-zA-Z0-9_]*" "D:\ROA\\Clase\odevize.VCT" +``` + +Bun pentru „da/nu" È™i nume de metode; pentru citit corpul/contextul, foloseÈ™te conversia în text. + +## Corespondență extensii binar → text + +| Container | Binar (+memo) | Text | +|---|---|---| +| Librărie clase | `.vcx` + `.vct` | `.vc2` | +| Formă | `.scx` + `.sct` | `.sc2` | +| Raport | `.frx` + `.frt` | `.fr2` | +| Etichetă | `.lbx` + `.lbt` | `.lb2` | +| Meniu | `.mnx` + `.mnt` | `.mn2` | +| Bază de date | `.dbc` + `.dct` | `.dc2` | + +## Note + +- Codul aplicaÈ›iei stă mai ales în `Clase\*.vcx`; o mare parte din `.vcx`-uri sunt în + `COMUN\` (framework partajat între toate aplicaÈ›iile ROA — vezi `CLAUDE.md` per proiect). +- Cache-ul text e regenerabil È™i e în afara arborelui SVN/git al proiectului — poate fi È™ters + oricând. +- Conversia **nu** necesită IDE-ul VFP deschis (foloseÈ™te EXE-ul compilat). +- Vezi È™i [conventie_encoding_cp1252.md](conventie_encoding_cp1252.md) — capcană de encoding la + editarea `.sc2`/`.vc2` (nu doar la căutare). diff --git a/docs/conventie_encoding_cp1252.md b/docs/conventie_encoding_cp1252.md new file mode 100644 index 0000000..16f5f9c --- /dev/null +++ b/docs/conventie_encoding_cp1252.md @@ -0,0 +1,82 @@ +# Capcană: corupere diacritice la editarea `.sc2`/`.vc2` (encoding cp1252) + +Partajat între proiectele ROA* (similar cu `PROMPT_cautare_vfp.md` din acest folder) — capcana +È›ine de formatul `.sc2`/`.vc2` produs de FoxBin2Prg, nu de un proiect anume. + +Descoperit de 2 ori în aceeaÈ™i sesiune (2026-07-10, în ROAAUTO): odată în +`COMUN/clase/cmd_butoane.vc2` (clasa `cmd_select_adv`), odată în `Clase/ofundal_dev.vc2` +(meniul principal) — de fiecare dată un agent anterior a editat text-cache-ul cu un tool care +nu scrie cp1252 nativ, È™i a corupt TOATE caracterele cu diacritice din fiÈ™ier, nu doar linia +pe care voia s-o schimbe. + +## De ce se întâmplă + +FiÈ™ierele `.sc2`/`.vc2` generate de FoxBin2Prg sunt **cp1252 (Windows-1252)**, nu UTF-8 +(vezi antetul fiecărui fiÈ™ier: `CPID="1252"`). Dacă un editor/tool citeÈ™te fiÈ™ierul ca UTF-8 +(sau alt encoding), fiecare byte >= 0x80 (diacritic) devine invalid ca secvență UTF-8 È™i e +înlocuit cu caracterul de replacement U+FFFD. Dacă apoi tool-ul **salvează rezultatul tot ca +UTF-8**, acel U+FFFD e scris ca 3 octeÈ›i UTF-8 (`0xEF 0xBF 0xBD`) — care, citiÈ›i înapoi ca +cp1252 (cum face FoxBin2Prg la write-back), apar ca `�`. Rezultatul: caracterul original e +**ireversibil pierdut** (nu mai există în fiÈ™ier sub nicio formă) — recuperabil DOAR din altă +sursă (git history, backup). + +Codebase-ul ROA foloseÈ™te un hack vechi de "reciclare" a unor caractere cp1252 needependente +de Ș/ă/È› (care nu au echivalent direct în cp1252) pentru diacritice româneÈ™ti: + +| Literă românească | Caracter folosit (cp1252) | Byte | +|---|---|---| +| ă | ã (a-tilde) | `0xE3` | +| Ä‚ | à | `0xC3` | +| È› | þ (thorn minuscul) | `0xFE` | +| Ș (majusculă) | ª (ordinal masculin) | `0xAA` | +| È™ (minusculă) | º (ordinal feminin) | `0xBA` | +| î, â | î, â (existente nativ în cp1252) | `0xEE`, `0xE2` | + +Aceste caractere par "gunoi"/typo la prima vedere într-un editor UTF-8 (`ã`, `þ`, `ª`, `º`) — +**sunt corecte, nu le "corecta" fără să verifici encoding-ul.** + +## Cum se verifică dacă un fiÈ™ier `.sc2`/`.vc2` e corupt + +```powershell +$bytes = [System.IO.File]::ReadAllBytes(".vc2") +$text = [System.Text.Encoding]::GetEncoding(1252).GetString($bytes) +$text -split "`r`n" | Select-String ([char]0xFFFD) # cauta caracterul de replacement +``` + +Dacă apare `�` (sau `$text` conÈ›ine U+FFFD) în output — fiÈ™ierul are corupere de encoding. + +## Cum se repară + +1. **Nu edita orbeÈ™te peste corupere** — caracterul original e deja pierdut din fiÈ™ierul + curent. +2. Dacă fiÈ™ierul e sub control de versiune (git) È™i corupera s-a întâmplat **într-o sesiune + anterioară necomisă** (deci HEAD-ul git încă are versiunea curată): recuperează originalul + convertind binarul din HEAD în text È™i comparând: + ```bash + git show HEAD:.vcx > /tmp/head.vcx + git show HEAD:.vct > /tmp/head.vct # (sau .VCT, dupa caz) + powershell -File D:\ROA\UTIL\foxbin2prg\vcx2txt.ps1 -Source /tmp/head.vcx -CacheRoot /tmp/head_out + ``` + apoi decodează ambele fiÈ™iere (HEAD curat + curent corupt) ca cp1252 È™i compară linie cu + linie (PowerShell, nu `diff` direct — `diff`/Bash nu decodează cp1252 corect pentru afiÈ™are, + deÈ™i detectează totuÈ™i diferenÈ›a de octeÈ›i). +3. ReconstruieÈ™te fiÈ™ierul text pornind de la versiunea HEAD (curată), È™i reaplică DOAR + modificările intenÈ›ionate din sesiunea curentă peste ea (nu invers — nu încerca să "cârpeÈ™ti" + fiÈ™ierul corupt caracter cu caracter, e mai sigur să reporneÈ™ti de la baza curată). +4. Scrie rezultatul înapoi ca bytes cp1252 (`[System.Text.Encoding]::GetEncoding(1252).GetBytes(...)`), + NU ca string UTF-8/`Out-File` implicit (care scrie UTF-8 sau UTF-16 după caz). +5. Rulează write-back (`txt2vcx.ps1 -Force`) È™i verifică fidelity check = zero diferenÈ›e. + +## Cum se evită pe viitor + +Când editezi `.sc2`/`.vc2` cu tool-uri text (Read/Edit/Write), verifică întâi dacă fiÈ™ierul +conÈ›ine diacritice (`ã`, `þ`, `ª`, `º`, `î`, `â` etc.) — dacă da, **orice rescrie completă a +fiÈ™ierului trebuie făcută la nivel de octeÈ›i cu encoding cp1252 explicit**, nu presupunând +UTF-8 implicit. Editările punctuale (Edit tool, string replace) sunt sigure DOAR dacă tool-ul +păstrează restul fiÈ™ierului byte-identic (nu rescrie tot fiÈ™ierul reîncodat). + +## Vezi È™i + +`PROMPT_cautare_vfp.md` din acest folder, pasul 3.c — menÈ›ionează deja riscul ("Headerul +CPID="1252" poate minÈ›i...") pe scurt; acest fiÈ™ier e detalierea completă (tabel de caractere, +paÈ™i de recuperare din git). diff --git a/docs/conventie_goexecutor_alter_table.md b/docs/conventie_goexecutor_alter_table.md new file mode 100644 index 0000000..937eb33 --- /dev/null +++ b/docs/conventie_goexecutor_alter_table.md @@ -0,0 +1,65 @@ +# Capcană: `ALTER TABLE` pe cursorul întors de `goExecutor.oExecute()` + +Partajat între proiectele ROA* — `goExecutor` (clasa `oExecutor`, definită în +`COMUN/programe/oproceduri_comune.prg`, metoda `oExecute`) e utilitarul standard pentru +interogări SQL pass-through (`SQLExec`) către Oracle, folosit peste tot în codul ROA*. + +## Ce nu funcÈ›ionează + +```foxpro +lnSucces = goExecutor.oExecute(lcSql, lcCursor) +... +ALTER TABLE (lcCursor) ADD COLUMN coloananoua L && <- pică +``` + +Cursorul întors de `oExecute()` (rezultatul unui `SQLExec`) poate refuza comenzi DDL +ulterioare, cu erori în lanÈ› (descoperite empiric, în această ordine, în ROAAUTO +`autopass_cursor_comenzi`/`autopass_cursor_operatii`): + +1. `Function is not supported on remote tables.` — pe `ALTER TABLE` direct pe cursorul + original. +2. Chiar È™i după o încercare de rematerializare (`SELECT * FROM (cursor) INTO CURSOR + (acelasi_nume) READWRITE`) → `Alias name is already in use.` (sursa È™i È›inta nu pot + avea acelaÈ™i nume într-un `SELECT...INTO CURSOR`). +3. Cu un alias scratch diferit ca È›intă (`SELECT * FROM (cursor) INTO CURSOR + (nume_final_diferit_de_sursa) READWRITE`) → tot `Invalid operation for the cursor.` pe + `ALTER TABLE`, chiar dacă acum cursorul final teoretic ar trebui să fie unul local + obiÈ™nuit. + +Nu există niciun alt loc în codul ROA* care să facă `ALTER TABLE` imediat după +`goExecutor.oExecute()` — deci acest pattern nu avea niciun precedent testat înainte de +funcÈ›iile AUTOPASS. + +## Ce funcÈ›ionează + +**Nu folosi `ALTER TABLE` deloc pe rezultatul unui `oExecute()`.** Include coloanele +suplimentare direct în `SELECT`-ul de rematerializare, ca expresii literale alături de `*` +(VFP suportă `SELECT *, expr AS coloana FROM ...`): + +```foxpro +lcCursorRaw = lcCursor + '_raw' +IF USED(lcCursorRaw) + USE IN (lcCursorRaw) +ENDIF + +lnSucces = goExecutor.oExecute(lcSql, lcCursorRaw) +IF lnSucces < 0 + * tratare eroare, RETURN +ENDIF + +SELECT *, .F. AS coloananoua, SPACE(100) AS altacoloana ; + FROM (lcCursorRaw) INTO CURSOR (lcCursor) READWRITE +USE IN (lcCursorRaw) + +* de-aici incolo doar REPLACE (date), NICIODATA ALTER TABLE (structura) pe (lcCursor) +``` + +După acest pas, cursorul (`lcCursor`) e un cursor local obiÈ™nuit — `ALTER TABLE` funcÈ›ionează +normal pe el DUPÄ‚ ACEEA (ex. dintr-o altă funcÈ›ie care primeÈ™te cursorul deja gata construit, +nu direct rezultatul unui `oExecute`), doar comanda imediat următoare unui `oExecute()` e +restricÈ›ionată. + +## Vezi È™i + +Exemplu complet aplicat: ROAAUTO, `Programe/oproceduri_autopass.prg`, +`autopass_cursor_comenzi()`/`autopass_cursor_operatii()`. diff --git a/docs/conventie_ux_formulare.md b/docs/conventie_ux_formulare.md new file mode 100644 index 0000000..e9e1c92 --- /dev/null +++ b/docs/conventie_ux_formulare.md @@ -0,0 +1,48 @@ +# ConvenÈ›ie UX pentru formulare VFP (preferinÈ›a lui Marius, valabilă pe toate proiectele ROA*) + +Partajat între proiectele ROA* (similar cu `PROMPT_cautare_vfp.md`, `prompt_project_insights_docs.md` +din acest folder) — pentru că `COMUN\` e clonat/sincronizat în fiecare aplicaÈ›ie ROA, e locul +corect pentru o convenÈ›ie de design care nu È›ine de un singur proiect. + +Origine: confirmat de Marius pe `frm_autopass.scx` (ROAAUTO) după o rundă de regrupare vizuală +(2026-07-10) — "imi place designul acesta" pe layout-ul cu rânduri clar separate pe funcÈ›ie, +butoane grupate la margini, fără elemente lipite unele de altele. + +## Ce înseamnă in practică, pe proprietăți VFP + +- **Fiecare grup funcÈ›ional pe rândul lui** — nu înghesui controale fără legătură directă pe + acelaÈ™i `Top`. Ex: rândul de perioadă (date + Actualizează) separat de rândul de + statistici (Declarabile/Transmise/Blocate), separat de panoul de configurare. +- **SpaÈ›iere vizibilă între grupuri, strânsă în interiorul unui grup** — butoane din + aceeaÈ™i acÈ›iune (ex. Validează dry-run → Transmite → Renunță) la 6-10px unele de altele; + gap de 20-30px față de următorul grup funcÈ›ional (ex. Selectează tot vs. grupul + Validare/Transmitere vs. Actualizează statusuri). +- **Butoanele secundare/de configurare aliniate la marginea din dreapta a containerului**, + nu lipite imediat după textbox-ul pe care îl controlează — altfel nu se disting vizual ca + acÈ›iune separată de câmpul de input. +- **AcÈ›iunea principală + oprirea ei alăturate** — un buton de tip "Renunță/OpreÈ™te" trebuie + poziÈ›ionat lângă acÈ›iunea pe care o anulează (ex. Transmite + Renunță), nu împrăștiat în + altă parte a rândului. +- **Un singur rând de acÈ›iuni cât se poate** — dacă mai multe grupuri de butoane încap pe + lățimea formei, preferă un singur rând orizontal în loc să adaugi rânduri noi dedesubt; + păstrează formele compacte pe verticală. +- **Caption-uri scurte, sentence case, nu ALL CAPS** — ex. "Transmite" nu "TRANSMITE"; + "Dashboard AutoPass" nu "Deschide dashboard AUTOPASS". ALL CAPS/text lung pe un buton + citeÈ™te ca zgomot, nu ca ierarhie. +- **Culoare = semnal, nu decor** — foloseÈ™te culoare distinctă doar pentru acÈ›iuni cu + semnificaÈ›ie clară (verde = acÈ›iune pozitivă/transmite, roÈ™u = oprire/pericol, albastru = + navigare/deschidere link extern); restul butoanelor rămân stilul implicit din `_baza.vcx`. + +## Vocabular + +FuncÈ›ional, compact, aerisit, minimalist, grupat, uÈ™or de înÈ›eles de utilizatori, aer aerisit, +modern — asta e reperul calitativ pentru orice formular nou sau refacere de layout, dincolo de +regulile mecanice de mai sus, pe orice aplicaÈ›ie ROA*. + +## Vezi È™i + +- `PROMPT_cautare_vfp.md` din acest folder — cum se caută/editează cod în binarele VFP text-cache + (relevant când aplici aceste reguli prin fluxul `.sc2`/`.vc2` + write-back). +- Capcana de encoding cp1252 la editarea `.sc2`/`.vc2` (corupere diacritice) — documentată în + proiectul unde a fost descoperită (ROAAUTO `docs/conventie_encoding_cp1252.md`); relevantă ori + de câte ori editezi text-cache-ul unui formular/librărie pentru a aplica aceste reguli de UX. diff --git a/docs/depanare_testare_vfp.md b/docs/depanare_testare_vfp.md new file mode 100644 index 0000000..8267abe --- /dev/null +++ b/docs/depanare_testare_vfp.md @@ -0,0 +1,106 @@ +# Depanare si testare VFP fara IDE (headless) + +Metoda folosita la depanarea erorii "Property CNRCRT is not found" (ROACONT 2.11.61, +15.07.2026) - reutilizabila pentru orice bug runtime VFP. Complementara cu +`flux-editare-vfp-text.md` (editare .vcx/.scx pe text) si `cautare_vcx_vct.md` (cautare). + +## 0. Reguli de lucru + +Vezi `reguli_lucru.md` (diff ca fisier + aprobare inainte de write-back, comentarii +max o linie, modificari minime). + +## Fisiere de testare (foloseste-le la orice depanare/testare viitoare) + +- `COMUN\utile\Teste\test_init_env_auto.prg` - initializare completa de mediu FARA + interactiune (parametri: host, schema, parola; implicit CENTRAL / MARIUSM_AUTO). + Echivalentul headless al `COMUN\programe\test_init_env.prg` (care ramane varianta + interactiva, cu INPUTBOX si meniu de lansare formulare). +- `COMUN\utile\Teste\test_repro_cnrcrt_footer.prg` - exemplu complet de harness: + init mediu -> replicare flux (cursoarele din modificanote) -> instantiere forma reala -> + executie pas cu pas cu logare -> verdict OK/BUG. Copiaza-i structura pentru bug-uri noi. +- `COMUN\utile\Teste\teste_roacont.prg` si `COMUN\utile\Teste\test.prg` - teste ad hoc istorice. +- Mediu de test standard: server `CENTRAL`, schema `MARIUSM_AUTO`, parola schemei + `ROMFASTSOFT`; utilizator de aplicatie "MARIUS M" / parola "123" (unde e nevoie de login). + +## 1. Citirea log-ului aplicatiei (log.txt in radacina proiectului) + +`ErrorHandler` (roacont.prg) scrie pentru fiecare eroare: `nErrror`, `cMethod`, +`line` (0 daca exe-ul e compilat fara debug info) si stack-ul complet. + +Semantica ON ERROR (esentiala la interpretare): +- Dupa ce handlerul face RETURN, executia CONTINUA de la linia urmatoare din metoda + care a crapat. O singura cauza produce deci CASCADE de erori. +- Tipar clasic: eroare pe linia `WITH ` => urmatoarele linii `.prop = ...` dau + 1940 "Expression is not valid outside of WITH/ENDWITH", apoi `ENDWITH` da + 1939 "WITH/ENDWITH mismatch". PRIMA eroare din secventa e cea reala; restul e zgomot. +- Erorile din interiorul TRY/CATCH nu ajung in log (inghitite). Un CATCH gol poate + ascunde ani de zile un defect latent, care "explodeaza" cand codul din jur se repara + (exact cazul typo-ului oMinHeaderHeight din cusfonthandler). +- In stack, liniile "ON..." sunt dispatch-uri (ON ERROR / READ EVENTS), nu metode reale. + +## 2. Rulare headless a scripturilor VFP + +Sablonul unui script de diagnostic (vezi `utile\Teste\test_repro_cnrcrt_footer.prg`): +- logare in fisier cu STRTOFILE (nu WAIT WINDOW / debugger - nu exista consola); +- `ON ERROR DO WITH ERROR(), MESSAGE(), PROGRAM(), LINENO()` care logheaza + si continua - mimeaza comportamentul ErrorHandler din aplicatie; +- `QUIT` obligatoriu la final (altfel ramane vfp9.exe agatat); +- lansare din PowerShell cu timeout: + `$p = Start-Process 'C:\Program Files (x86)\Microsoft Visual FoxPro 9\vfp9.exe' -ArgumentList '-A','-T','"D:\...\script.prg" PARAM' -PassThru; $p.WaitForExit(120000); if (!$p.HasExited) { $p.Kill() }` +- `-A` ignora config, `-T` fara ecran de start; parametrul dupa .prg ajunge in LPARAMETERS. +- LINENO() din handler e relativ la inceputul metodei (utile pentru localizare in .vc2: + linia din metoda = linia raportata + linia PROCEDURE din .vc2). + +Precautii: nu rula cu VFP IDE sau exe-ul aplicatiei deschis (lock pe binare); +sterge .fxp-ul vechi de langa .prg daca ai editat scriptul intre rulari. + +## 3. Mediu complet cu Oracle, fara interactiune + +`utile\Teste\test_init_env_auto.prg` = varianta neinteractiva a +`programe\test_init_env.prg` (fara INPUTBOX/xmenu): primeste host/schema/parola ca +parametri, seteaza PATH/CLASSLIB/PROCEDURE ca roacont.prg, instantiaza +goConn/goExecutor/goApp/goLog, incarca goFirma/goCalendar/optiuni si pachetele de +sesiune Oracle. Dupa apel poti instantia forme reale (`CREATEOBJECT('frm_xxx', ...)`) +si apela metodele lor punctual, cu cursoarele pregatite ca in fluxul real. + +Pentru forme care se deschid modal (Show(1) blocheaza), nu apela Show: replica in +script doar liniile relevante din Show (attach, calcule) si logheaza starea intre ele. + +## 4. Bisectia versiunilor de clase (regresii) + +Cand un bug apare "de azi", compara comportamentul cu clasa veche fara a atinge SVN: +1. `git show :clase/fisier.vcx > temp\fisier.vcx` (+ .vct identic); +2. convertit la text pentru diff: `vcx2txt.ps1 -Source temp\fisier.vcx -CacheRoot temp\txt`; +3. in scriptul de test, `SET CLASSLIB TO temp\fisier.vcx ADDITIVE` (varianta veche) + vs. cea din COMUN (varianta noua) - A/B pe acelasi flux; +4. cand difera rezultatul, cauza e in diff-ul acelei clase (sau intr-un defect latent + pe care noul cod il activeaza - vezi capcanele de mai jos). + +## 5. Capcane VFP descoperite (de verificat la bug-uri asemanatoare) + +- `SELECT ... INTO CURSOR` NU mosteneste indecsii cursorului sursa. Orice + `Seek(..., 'cursor', 'tag')` pe copie crapa. `update_jtva_coloane` creeaza + `INDEX ON id_jtva_coloana TAG id_jtva`; daca ii copiezi rezultatul, recreeaza indexul. +- Un grid isi pierde TOATE coloanele (ColumnCount devine 0, fara nicio eroare in log) + daca un ControlSource crapa la re-evaluare in timp ce coloanele sunt atinse + programatic (ex. FontName/FontSize per coloana in cusfonthandler.ApplyFontToGrid, + la Init-ul formei prin _frmbase.SetFont). Simptome tipice in aval: + `_grdfooter.attachtogrid` copiaza 0 coloane, apoi `calctotal` da + "Property is not found" la `Getpem(This, This.cColWithLabel)`. +- ControlSource-uri cu campuri inexistente in RecordSource sunt tolerate la afisare, + dar orice expresie care ARUNCA eroare la evaluare (Seek pe tag lipsa, functie + nedefinita) declanseaza comportamentul de mai sus. +- Fix-ul unui typo intr-o clasa partajata poate activa defecte latente in aval + (codul care nu rulase niciodata incepe sa ruleze). La regresii dupa fix-uri + "inofensive" in COMUN, cauta defectul latent, nu doar diff-ul. + +## 6. Studiu de caz: "Property CNRCRT is not found" (15.07.2026) + +Lant complet: `frm_import_extrase_banca.modificanote` copia `crsJTVATemp` fara index +(defect latent) -> coloana `cExplicatieTVA` din `frm_modific2024.grdRulaje` face +`Seek(trul.id_jtva_coloana,'crsJtvaTemp','id_jtva')` in ControlSource -> fix-ul +typo-ului `oMinHeaderHeight`->`nMinHeaderHeight` in `cusfonthandler` (r17869) a facut +ca ApplyFontToGrid sa atinga coloanele la Init -> grid-ul a ramas cu 0 coloane -> +footer-ul a crapat in calctotal. Fix: `INDEX ON id_jtva_coloana TAG id_jtva` dupa +SELECT INTO in modificanote. Repro/regresie: `utile\Teste\test_repro_cnrcrt_footer.prg` +(mod FARAINDEX reproduce bug-ul, mod CUINDEX valideaza fix-ul). diff --git a/docs/flux-editare-vfp-text.md b/docs/flux-editare-vfp-text.md new file mode 100644 index 0000000..7b9bccd --- /dev/null +++ b/docs/flux-editare-vfp-text.md @@ -0,0 +1,41 @@ +# Flux editare .vcx/.scx pe text (comun proiectelor VFP) + +Textul .vc2/.sc2 e sursa de editare; write-back in binar cu `txt2vcx.ps1`, fara VFP IDE. +Detalii complete: `D:\ROA\UTIL\foxbin2prg\CLAUDE.md`. Parametrii per proiect: in `docs\` proiectului. + +**Proiecte migrate (ROACONT, COMUN, …): flux in-arbore.** Textul .??2 sta langa binare, il +improspateaza `git_sync.ps1 -ProjectRoot ` (nu cache extern) — la inceput de sesiune si +inainte de orice `git commit`. Write-back doar pentru vcx/scx; `frx/mnx/lbx/pjx/dbc/dbf` doar +in IDE. `txt2vcx.ps1` cu `-CacheRoot` = `-ProjectRoot` (implicit). Pasul 0 de mai jos devine +rularea `git_sync.ps1`; restul pasilor raman la fel. Fluxul cu cache extern (`vcx2txt.ps1` + +`-CacheRoot` separat) ramane doar pentru proiectele nemigrate. + +## Pasii unei runde + +0. Refresh cache (obligatoriu dupa orice sesiune IDE — staleness pe mtime): + `vcx2txt.ps1 -Project -ProjectRoot -CacheRoot -Types vcx,scx` +1. Baseline: `Copy-Item .vc2 .vc2.pre_runda.bak` (in cache; la runde succesive + necomise, diff-ul fata de HEAD ar amesteca rundele). +2. Editare byte-safe: PowerShell `[IO.File]::ReadAllText/WriteAllText(..., GetEncoding(1252))`; + NU tool-ul Edit/Write (UTF-8 strica diacriticele). Continut nou ASCII, TAB-uri ca in jur, + fara reflow (format position-sensitive, proprietati alfabetizate). Valabil si pentru `.prg`. +3. Patch review: `git diff --no-index > docs/diff_runda_.patch` + (exit 1 = normal). Utilizatorul revizuieste FISIERUL de patch si aproba; write-back-ul + (pasul 5) se face DOAR dupa aprobare. Commit doar dupa confirmare pe patch + test in IDE. + Comentariile in cod: maxim o linie (`*!* DD.MM.YYYY autor - motiv scurt`), fara explicatii lungi. +4. Preconditie write-back: niciun proces vfp9/ (tin lock pe binar); nu se omoara. +5. Write-back: `txt2vcx.ps1 -TextFile -ProjectRoot -CacheRoot ` + (+ `-AllowComun` cu aprobare explicita pentru tinte COMUN — afecteaza toate aplicatiile ROA). + Succes = fidelity-check trecut: binar cu mtime nou; `vcx2txt.ps1` ulterior il vede la zi. +6. Backup-urile `.pre_runda*.bak` si patch-urile se sterg la curatenia de dupa commit. + +## Capcane + +- `.mnx`/`.frx` raman read-only (GENMENU in IDE / round-trip fragil). +- Linii complet goale in metode pica fidelity doar pe whitespace; fix: preia `verify\*.vc2` + din staging peste cache si reia write-back-ul. +- Metoda noua de clasa cere `*m: nume` in `*`; fara ea, prima salvare + din IDE o arunca tacut, iar refresh-ul urmator absoarbe pierderea in cache (si in .bak-uri). + Override-urile de metode de baza (Init, Show, hook-uri) nu au nevoie de `*m:`. +- Subagentii delegati primesc regulile 2-5 in prompt si raporteaza unicitatea sirurilor + inlocuite + rezultatul fidelity-check-ului. diff --git a/docs/fluxul_svn_git.md b/docs/fluxul_svn_git.md new file mode 100644 index 0000000..dd0e7b4 --- /dev/null +++ b/docs/fluxul_svn_git.md @@ -0,0 +1,65 @@ +# Flux SVN + git pentru COMUN + +**SVN = È™eful** (munca reală circulă prin el). **git = oglindă** pentru unelte (Claude, căutare). +git primeÈ™te de la SVN, niciodată invers. + +## Reguli + +1. **Munca reală se comite DOAR în SVN.** Nu face `git commit` cu o modificare nouă care n-a trecut prin SVN. +2. **git se împrospătează DIN svn**, într-o singură direcÈ›ie. +3. **COMUN se publică pe git dintr-UN SINGUR folder** (publisher, ex. `ROAAUTO\COMUN`). Celelalte doar se aliniază la origin. + +## Lucrat în paralel în 2 proiecte (ex. roagest + roaauto), fiÈ™iere diferite + +### 1. ÃŽmpaci în SVN +``` +# ROAGEST\COMUN +svn commit -m "modificari roagest" +# ROAAUTO\COMUN +svn update # aduce fisierele din roagest (alte fisiere -> fara conflict) +svn commit -m "modificari roaauto" +# ROAGEST\COMUN +svn update # aduce fisierele din roaauto +``` +Acum ambele copii SVN au tot. E sursa de adevăr. + +### 2. OglindeÈ™ti în git (doar din folderul publisher) +``` +cd ROAAUTO\COMUN +git add -A +git commit -m "sync svn" +git push +``` + +### 3. Celălalt folder: aliniere, NU commit +``` +cd ROAGEST\COMUN +git fetch origin +git reset --hard origin/main +``` +Sigur: fiÈ™ierele sunt deja identice cu origin (le-a făcut svn), `reset` doar mută pointerul. + +## Când te muÈ›i dintr-un proiect în altul +``` +svn update # in proiectul unde intri +git reset --hard origin/main # in COMUN, ca git-ul sa fie curat +``` + +## Regula care rezumă tot +> Un singur folder publică în git (commit+push). Celelalte doar `git reset --hard origin/main`. +> Munca circulă prin SVN; git fotografiază rezultatul. + +## Model de branching (git urmareste text .??2) + +git urmareste versiunile text FoxBin2Prg (.vc2/.sc2/…), improspatate in-arbore cu +`git_sync.ps1` la inceput de sesiune si inainte de orice commit; nu comite cat timp +`git_sync` raporteaza esecuri (exit nenul). Doua benzi: + +- **`main` = oglinda SVN**: primeste DOAR commit-uri `sync SVN rN`, facute din stare curata + (imediat dupa `svn update`, inainte de lucru local). +- **Claude lucreaza pe branch** `claude/` si comite doar acolo; + `git diff main..claude/` arata exact si numai munca lui. +- Dupa ce modificarile intra in SVN (`svn commit` facut de utilizator), branch-ul se inchide + (merge in `main` la urmatorul sync sau stergere). +- Igiena: sync pe `main` doar din stare curata — `svn update` in mijlocul lucrului amesteca + binarele pe disc. diff --git a/docs/git_svn_parallel_init_prompt.md b/docs/git_svn_parallel_init_prompt.md new file mode 100644 index 0000000..e0fb5cd --- /dev/null +++ b/docs/git_svn_parallel_init_prompt.md @@ -0,0 +1,86 @@ +# Prompt: init git in paralel cu SVN pentru un proiect ROA + +Foloseste acest prompt intr-o sesiune Claude Code noua, deschisa in radacina proiectului +tinta (ex. `D:\ROA\ROAIMOB`). Functioneaza generic pentru orice proiect VFP din `D:\ROA\` +care are structura ROAACNPRO (proiect + subfolder COMUN\ partajat, ambele in SVN). + +--- + +``` +Vreau sa initializezi git pentru proiectul VFP din directorul curent, in paralel cu SVN-ul +existent (nu atinge SVN, nu rula comenzi svn, doar adauga .svn/ in .gitignore). + +Structura e identica cu D:\ROA\ROAACNPRO: acest folder e propriul proiect VFP (are un .PJX +al lui), si contine un subfolder COMUN\ care e framework-ul PARTAJAT intre toate aplicatiile +ROA, versionat separat prin SVN (are propriul .svn\). + +Fa exact ce s-a facut deja pentru ROAACNPRO (poti citi acolo ca referinta/sablon): +- D:\ROA\ROAACNPRO\.gitignore (sablon pentru .gitignore-ul proiectului principal) +- D:\ROA\ROAACNPRO\COMUN\.gitignore (sablon pentru .gitignore-ul din COMUN) +- D:\ROA\ROAACNPRO\CLAUDE.md (conventii proiect) si docs\cautare_vcx_vct.md (cum se cauta + cod in interiorul .vcx/.scx binare, via D:\ROA\UTIL\foxbin2prg\vcx2txt.ps1) + +Pasi: + +1. Verifica intai ce exista deja: `git status`/`.git` in radacina si in COMUN\, si + `git remote -v` daca exista deja vreun remote configurat gresit (asa cum a fost cazul la + ROAACNPRO, unde originul proiectului principal pointa gresit catre repo-ul comun.git). + +2. REPO PRINCIPAL (radacina acestui folder): + - Daca nu exista .git, `git init -b main`. + - Creeaza/adapteaza .gitignore dupa modelul ROAACNPRO/.gitignore (artefacte VFP compilate: + *.fxp, *.mpx, *.bak, *.mpr, *.err, log.txt, *.tmp, *.dct, *.exe, cruft Windows), plus + obligatoriu `COMUN/` (COMUN e gestionat de git-ul lui separat, nu de-al acestui repo) + si `.svn/`. + - Deduce numele repo-ului gitea dupa conventia romfast/.git + (ex. romfast/roaimob.git). INAINTE sa creezi/pushezi orice, verifica cu + `git ls-remote git@gitea.romfast.ro:romfast/.git` daca exista deja si ce contine + (clone --depth 1 intr-un folder temporar din scratchpad daca ai dubii). Daca exista deja + cu istoric care nu se potriveste cu ce ai local, OPRESTE-TE si intreaba-ma inainte sa + faci push sau orice suprascriere. + - Daca remote-ul e gol/nou: add -A, commit "Initial commit — sursa ", adauga + origin, push normal (fara --force). + +3. COMUN\ (subfolder-ul partajat): + - Initializeaza un git SEPARAT, propriu, in interiorul COMUN\ (COMUN are propriul .git, + nu e tracked de repo-ul principal — de-asta l-am exclus mai sus). + - .gitignore propriu in COMUN\ dupa modelul ROAACNPRO/COMUN/.gitignore (artefacte VFP + + `.svn/` + `bash.exe.stackdump`). + - Origin-ul din COMUN\ trebuie sa fie EXACT acelasi repo pentru toate proiectele ROA: + git@gitea.romfast.ro:romfast/comun.git — repo-ul asta e deja populat (din COMUN-ul lui + ROAACNPRO). NU face commit+push orbeste peste el. + - Fa intai `git fetch origin`, compara continutul de pe origin/main cu fisierele locale + din acest COMUN\ (diff pe folder, nu doar pe nume). Daca sunt identice sau diferentele + sunt neglijabile, seteaza pur si simplu branch-ul local sa urmareasca origin/main (fara + sa strici fisierele din working copy SVN). Daca sunt diferente reale intre COMUN-ul + acestui proiect si cel deja impins pe gitea, arata-mi un rezumat al diferentelor si + intreaba-ma explicit cum procedez (nu face force-push fara aprobarea mea explicita — + ar sterge ireversibil istoricul comun tuturor proiectelor ROA). + +4. Cautare in cod VFP binar (.vcx/.scx) pentru acest proiect: + - Foloseste acelasi vcx2txt.ps1, dar parametrizat pentru proiectul curent (nu ROAACNPRO): + powershell -ExecutionPolicy Bypass -File D:\ROA\UTIL\foxbin2prg\vcx2txt.ps1 ` + -Project D:\ROA\\.PJX -ProjectRoot D:\ROA\ ` + -CacheRoot D:\ROA\UTIL\foxbin2prg\_textcache_ + - Cache separat per proiect (nu-l amesteca cu _textcache al ROAACNPRO). Grep in cache-ul + respectiv, la fel ca in docs\cautare_vcx_vct.md. + +5. La final, adauga/actualizeaza CLAUDE.md al acestui proiect cu o sectiune scurta: git ruleaza + in paralel cu SVN legacy (SVN ramane sursa "vie" pentru COMUN, sincronizat manual catre git); + COMUN e partajat intre toate aplicatiile ROA prin acelasi git@gitea.romfast.ro:romfast/comun.git; + cautarile in .vcx/.scx se fac cu vcx2txt.ps1 parametrizat pentru acest proiect (vezi mai sus). + +Inainte de orice `push --force` sau orice operatie care ar suprascrie istoric remote deja +existent (mai ales pe romfast/comun.git, care e comun mai multor proiecte), opreste-te si +intreaba-ma explicit — nu decide singur. +``` + +--- + +## Note + +- Cel mai sensibil pas e COMUN\: daca versiunea de COMUN a noului proiect difera de cea deja + impinsa pe `comun.git` (din ROAACNPRO), Claude trebuie sa se opreasca si sa intrebe cum se + reconciliaza, nu sa faca force-push automat. +- Daca `romfast/.git` nu exista inca pe gitea, trebuie creat gol acolo inainte de push + (manual sau prin API) — altfel push-ul esueaza cu "repository not found". diff --git a/docs/oracle_export.md b/docs/oracle_export.md new file mode 100644 index 0000000..ffe10a8 --- /dev/null +++ b/docs/oracle_export.md @@ -0,0 +1,61 @@ +# Export surse Oracle (PACK_CONTAFIN & co.) — cum se face + +`PACK_CONTAFIN.pck` din acest folder este exportul sursei pachetului PL/SQL `PACK_CONTAFIN`. +**Claude Code își face singur exportul/reîmprospătarea** — nu mai e nevoie de export manual din +PL/SQL Developer. + +## Conexiune + +- Client: `D:\ROA\instantclient_19_18\sqlplus.exe` (`TNS_ADMIN` e deja setat spre acelaÈ™i folder). +- Alias TNS: `ROA_CENTRAL` → `10.0.20.121:1521`, `SERVICE_NAME=ROA` (vezi `tnsnames.ora`). +- Schema/utilizator: `MARIUSM_AUTO` (schema de dezvoltare a lui Marius). +- **Parola nu e versionată** — se află local, în `D:\ROA\ROAGEST\docs\local\oracle.md` + (folder ignorat de git), pe maÈ™ina de lucru. + +`PACK_CONTAFIN` există în schemele `MARIUSM_AUTO` (dev) È™i `ACN`, plus un sinonim `PUBLIC`. +Exportul de referință se face din `MARIUSM_AUTO`. + +## Gotcha sqlplus pe Windows/PowerShell + +Nu trimite SQL prin pipe din PowerShell (`'select...' | sqlplus`) — BOM-ul UTF-16 sparge parserul +(`SP2-0734: unknown command beginning "select..."`). Scrie un fiÈ™ier `.sql` cu encoding **ASCII** +È™i rulează-l cu `@fisier.sql`. + +## Comanda de export (re-generare .pck) + +```sql +-- export_pack.sql +set pagesize 0 linesize 400 trimspool on feedback off heading off termout off +spool D:\ROA\ROAGEST\COMUN\docs\PACK_CONTAFIN.pck +select text from all_source where owner='MARIUSM_AUTO' and name='PACK_CONTAFIN' and type='PACKAGE' order by line; +select '/' from dual; +select text from all_source where owner='MARIUSM_AUTO' and name='PACK_CONTAFIN' and type='PACKAGE BODY' order by line; +select '/' from dual; +spool off +exit +``` + +```powershell +& 'D:\ROA\instantclient_19_18\sqlplus.exe' -L -S 'MARIUSM_AUTO/@ROA_CENTRAL' '@export_pack.sql' +``` + +AcelaÈ™i tipar merge pentru orice alt pachet/procedură (`PACK_SESIUNE`, `PACK_PRETURI`, …) sau pentru +DDL de tabele/view-uri (`all_tab_columns`, `dbms_metadata.get_ddl`). + +## Ce e strict necesar de È™tiut despre PACK_CONTAFIN + +Pachetul central de **scriere a documentelor** — clientul VFP populează tabelele temporare +`ACT_TEMP`/`RUL_TEMP` (prin `oscrie_in_fisiere`-ul din COMUN), apoi pachetul distribuie: + +- `SCRIE_IN_FISIERE` — orchestratorul (apelat per document). +- `SCRIE_IN_ACT` — `ACT_TEMP` → `ACT` (notele contabile). +- `SCRIE_IN_RUL` — `RUL_TEMP` → `RUL` (miÈ™cările de stoc); completează `COD`, `DATAORA`, `ID_FACT` + (min. `id_fact` fără conturi 5xx), `ID_SUCURSALA`, `DATAIN`/`DATAOUT` din `dataact`, opÈ›ional + `ID_RUL_AUX` pe furnizor (opÈ›iunea de firmă `RULAJFURNIZOR`). **Scrie exact ce e în RUL_TEMP — nu + derivă rulaje din ACT**, deci filtrarea liniilor de rulaj se face în clientul VFP. +- `SCRIE_IN_RUL_OBINV` / `SCRIE_IN_STOC` / `SCRIE_IN_STOC_OBINV` — variantele pentru obiecte de + inventar È™i actualizarea stocului. +- `VERIFICA_NOTE_CONTABILE`, `SCRIE_JC_2007`/`SCRIE_JV_2007` (jurnale TVA), + `SCRIE_IN_BALANTA(_PARTENERI)`, `sterge_document`, `finalizeaza_document_*`. +- Stare de sesiune prin settere/gettere (`SET_COD`/`GET_COD`, `SET_IDFACT`, `SET_ID_SUCURSALA`, …) + + `PACK_SESIUNE` (an/lună, opÈ›iuni firmă). diff --git a/docs/prompt_project_insights_docs.md b/docs/prompt_project_insights_docs.md new file mode 100644 index 0000000..6a0ca59 --- /dev/null +++ b/docs/prompt_project_insights_docs.md @@ -0,0 +1,19 @@ +# Prompt: seteaza conventia docs/ (insight-uri de proiect) intr-un proiect ROA + +Template partajat intre proiectele ROA* (similar cu `changelog_template.txt`). Origine: ROAIMOB, 08/07/2026. Copiaza blocul de mai jos (adaptat, daca e nevoie) intr-o sesiune Claude Code din radacina oricarui proiect ROA* pentru a initializa aceeasi conventie. + +--- + +In acest proiect vreau sa creezi un director `docs/` cu documentatie tehnica concisa, minimalista, descoperita in timp ce lucrezi la sarcini reale (nu documentatie generica, nu ce e deja evident din cod). + +Cerinte: + +1. Creeaza `docs/README.md` — index cu lista fisierelor din `docs/` si o regula scurta: se adauga/actualizeaza o notita ori de cate ori descoperi ceva nou si ne-evident despre structura proiectului (flux ascuns, capcana, conventie, procedura/pachet cheie, tabel relevant) in timpul rezolvarii unei sarcini. Nu re-documenta ce oricine ar afla citind codul in 30 de secunde. +2. Organizeaza notitele in fisiere separate pe subiect, nu un singur fisier uriaÈ™ — ex: `flux-.md`, `pachet-.md`, `tabele.md`. +3. In `CLAUDE.md` (la final), adauga o sectiune "Project insights (docs/)" care: + - trimite spre `docs/README.md` + - imi cere sa iti ofer proactiv actualizarea `docs/` ori de cate ori descoperi un insight ne-evident, fara sa astept sa fiu intrebat +4. Daca `docs/` sau o sectiune similara in `CLAUDE.md` exista deja, nu duplica — extinde ce exista. +5. Nu inventa continut acum daca nu am rezolvat inca o problema concreta in acest proiect — doar pregateste structura (README + sectiunea din CLAUDE.md). Prima notita de continut se scrie cand rezolvam ceva impreuna. + +Intreaba-ma doar daca trebuie sa alegi intre variante (ex. denumirea directorului); altfel foloseste `docs/` ca implicit. diff --git a/docs/reguli_lucru.md b/docs/reguli_lucru.md new file mode 100644 index 0000000..7dded0b --- /dev/null +++ b/docs/reguli_lucru.md @@ -0,0 +1,15 @@ +# Reguli de lucru agent (comune proiectelor ROA VFP) + +1. Modificari de cod: livreaza FISIER de diff `docs\diff_runda_.patch` + (`git diff --no-index `), nu diff in terminal. + Write-back in binar (txt2vcx) si commit DOAR dupa aprobarea patch-ului de catre utilizator. +2. Comentarii in cod: max o linie `*!* DD.MM.YYYY autor - motiv scurt`. + Explicatiile merg in docs/ sau in mesajul de commit, nu in cod. +3. Modificari minime: doar ce s-a cerut; fara refactorizari sau curatenie din oficiu. +4. Testare headless (fara IDE): `vfp9.exe -A -T "" ` din PowerShell, + logare cu STRTOFILE, `ON ERROR` care logheaza si continua, QUIT la final. + Init mediu neinteractiv: `utile\Teste\test_init_env_auto.prg` (CENTRAL / MARIUSM_AUTO; + user aplicatie "MARIUS M"/"123"). Exemplu harness complet: `utile\Teste\test_repro_cnrcrt_footer.prg`. + Metoda de depanare (log.txt, cascade ON ERROR, bisectie clase): `depanare_testare_vfp.md`. +5. Editare .vcx/.scx pe text (cache, cp1252 byte-safe, fidelity-check): `flux-editare-vfp-text.md`. + Cautare in binare: `cautare_vcx_vct.md`. diff --git a/ferestre/afisbal_ana.sc2 b/ferestre/afisbal_ana.sc2 new file mode 100644 index 0000000..89843b7 --- /dev/null +++ b/ferestre/afisbal_ana.sc2 @@ -0,0 +1,3593 @@ +*-------------------------------------------------------------------------------------------------------------------------------------------------------- +* (EN) AUTOGENERATED - ATTENTION!! - NOT INTENDED FOR EXECUTION!! USE ONLY FOR MERGING CHANGES AND STORING WITH SCM TOOLS!! +*-------------------------------------------------------------------------------------------------------------------------------------------------------- +*< FOXBIN2PRG: Version="1.21" SourceFile="afisbal_ana.scx" CPID="1252" /> (Solo para binarios VFP 9 / Only for VFP 9 binaries) +* +* +DEFINE CLASS dataenvironment AS dataenvironment + *< CLASSDATA: Baseclass="dataenvironment" Timestamp="" Scale="" Uniqueid="" ClassIcon="1" /> + + * + DataSource = .NULL. + Height = 200 + Left = 45 + Name = "Dataenvironment" + Top = 86 + Width = 520 + * + +ENDDEFINE + +DEFINE CLASS ffergen1 AS formtermin OF "..\clase\_frm_base.vcx" + *< CLASSDATA: Baseclass="form" Timestamp="" Scale="" Uniqueid="" /> + + *-- OBJECTDATA items order determines ZOrder / El orden de los items OBJECTDATA determina el ZOrder + *< OBJECTDATA: ObjPath="Shape2" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="Optiongroup1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="But_listare1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="oMenuShortcut" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="Grid1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="Grid1.ccont.Header1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="Grid1.ccont.Text1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="Grid1.cdenumire.Header2" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="Grid1.cdenumire.Text1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="Grid1.cprecdeb.Header3" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="Grid1.cprecdeb.Text1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="Grid1.cpreccred.Header4" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="Grid1.cpreccred.Text1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="Grid1.cruldeb.Header5" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="Grid1.cruldeb.Text1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="Grid1.crulcred.Header6" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="Grid1.crulcred.Text1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="Grid1.ctotdeb.Header7" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="Grid1.ctotdeb.Text1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="Grid1.ctotcred.Header8" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="Grid1.ctotcred.Text1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="Grid1.csoldcred.Header1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="Grid1.csoldcred.Text1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="Grid1.csolddeb.Header1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="Grid1.csolddeb.Text1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="Grid1.cacont.Header1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="Grid1.cacont.Text1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="Grid1.cprecdeb1.Header1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="Grid1.cprecdeb1.Text1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="Grid1.cpreccred1.Header1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="Grid1.cpreccred1.Text1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="But_excel1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="But_reface1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="pf" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="pf.p1.Shape1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="pf.p1.Label5" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="pf.p1.Text7" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="pf.p1.Text8" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="pf.p1.Label2" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="pf.p1.Label4" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="pf.p1.Text1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="pf.p1.txtprecdeb1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="pf.p1.Text2" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="pf.p1.txtpreccred1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="pf.p1.Text3" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="pf.p1.Text5" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="pf.p1.Text4" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="pf.p1.Text6" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="pf.p1.Label8" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="pf.p1.lblsld1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="pf.p1.lbldebit" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="pf.p1.Check1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="pf.p1.lblcredit" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="pf.P2.Shape1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="pf.P2.cktotal4" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="pf.P2.ckanalitic" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="pf.P2.cktotal2" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="pf.P2.cktotal1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="pf.P2.cktotal3" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="pf.P2.cksold1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="pf.P2.Ck_cont" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="pf.p3.Shape1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="pf.p3.Optiongroup1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="pf.P4.Shape1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="pf.P4.opt1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="pf.P4.opt2" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="Resizer1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="txtcont" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="Label1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="Ct1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="Label4" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="Txtcont2" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="Label2" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="But_modifica1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="Label3" UniqueID="" Timestamp="" /> + + * + *m: adauga_linie + *m: afisactual + *m: butapend + *m: butdrept + *m: calculeaza + *m: calculeaza_orizontal + *m: calculeaza_vertical + *m: cfield_assign + *m: fisacont + *m: in_bal + *m: meniu_as + *m: reconstruct + *m: rulcred + *m: ruldeb + *m: ruldebcred + *m: sterge_linie + *m: totcred + *m: totdeb + *m: totdebcred + *p: calias + *p: ccont + *p: cfield + *p: nnewvalue + *p: noldvalue + *p: oafbalana + * + + * + AlwaysOnTop = .F. + BackColor = 255,255,255 + BorderStyle = 1 + calias = TBALANTA + cbuton1 = but_excel1 + cbuton2 = but_listare1 + cbuton3 = modifica1 + cbuton4 = but_reface1 + cfield = + DoCreate = .T. + Height = 478 + lactiv1 = .F. + lactiv2 = .F. + lactiv3 = .F. + lactiv4 = .F. + Name = "Ffergen1" + nnewvalue = 0 + noldvalue = 0 + ScrollBars = 0 + Width = 806 + WindowType = 1 + _shape1.BorderStyle = 0 + _shape1.Height = 35 + _shape1.Left = 0 + _shape1.Name = "_shape1" + _shape1.Top = 0 + _shape1.Width = 377 + _shape2.Comment = "*:OnResize=RT" + _shape2.Height = 36 + _shape2.Left = 648 + _shape2.Name = "_shape2" + _shape2.Top = -1 + _shape2.Width = 153 + Lb_titlu_alb_b121.Caption = "Balanta de verificare" + Lb_titlu_alb_b121.Name = "Lb_titlu_alb_b121" + BUT_TERMIN1.Comment = "*:OnResize=RT" + BUT_TERMIN1.Left = 768 + BUT_TERMIN1.Name = "BUT_TERMIN1" + BUT_TERMIN1.Top = 4 + * + + ADD OBJECT 'But_excel1' AS but_excel WITH ; + Comment = "*:OnResize=RT", ; + Left = 739, ; + Name = "But_excel1", ; + Top = 4, ; + Visible = .F. + *< END OBJECT: ClassLib="..\clase\cmd_butoane.vcx" BaseClass="commandbutton" /> + + ADD OBJECT 'But_listare1' AS but_listare WITH ; + Comment = "*:OnResize=RT", ; + Left = 709, ; + Name = "But_listare1", ; + Top = 4, ; + Visible = .F. + *< END OBJECT: ClassLib="..\clase\cmd_butoane.vcx" BaseClass="commandbutton" /> + + ADD OBJECT 'But_modifica1' AS but_modifica WITH ; + Comment = "*:OnResize=RT", ; + Left = 679, ; + Name = "But_modifica1", ; + Top = 4 + *< END OBJECT: ClassLib="..\clase\cmd_butoane.vcx" BaseClass="commandbutton" /> + + ADD OBJECT 'But_reface1' AS but_reface WITH ; + Comment = "*:OnResize=RT", ; + Left = 649, ; + Name = "But_reface1", ; + Top = 4, ; + Visible = .F. + *< END OBJECT: ClassLib="..\clase\cmd_butoane.vcx" BaseClass="commandbutton" /> + + ADD OBJECT 'Ct1' AS ct WITH ; + Height = 23, ; + Left = 67, ; + Name = "Ct1", ; + SpecialEffect = 0, ; + TabIndex = 3, ; + Top = 113, ; + Width = 54, ; + ZOrderSet = 16, ; + Shape1.Name = "Shape1", ; + Text1.Height = 21, ; + Text1.Left = 1, ; + Text1.Name = "Text1", ; + Text1.Top = 1, ; + Text1.Width = 13, ; + Text2.Left = 14, ; + Text2.Name = "Text2", ; + Text2.Top = 1, ; + Text3.Left = 26, ; + Text3.Name = "Text3", ; + Text3.Top = 1, ; + Text4.Height = 21, ; + Text4.Left = 39, ; + Text4.Name = "Text4", ; + Text4.Top = 1, ; + Text4.Width = 14, ; + Line1.Left = 14, ; + Line1.Name = "Line1", ; + Line1.Top = -9, ; + Line2.Left = 26, ; + Line2.Name = "Line2", ; + Line2.Top = -9, ; + Line3.Left = 39, ; + Line3.Name = "Line3", ; + Line3.Top = -9 + *< END OBJECT: ClassLib="..\clase\ferestre_cere_date.vcx" BaseClass="container" /> + + ADD OBJECT 'Grid1' AS grid WITH ; + BackColor = 255,255,255, ; + ColumnCount = 13, ; + Comment = "*:OnResize=SS", ; + DeleteMark = .F., ; + FontName = "Arial Narrow", ; + FontSize = 9, ; + GridLineColor = 192,192,192, ; + Height = 322, ; + Left = 0, ; + Name = "Grid1", ; + Panel = 1, ; + ReadOnly = .T., ; + RecordSource = "TBALANTA", ; + RowHeight = 19, ; + TabIndex = 4, ; + Top = 143, ; + Width = 799, ; + ZOrderSet = 9, ; + Column1.Alignment = 0, ; + Column1.BackColor = 255,255,255, ; + Column1.ColumnOrder = 1, ; + Column1.ControlSource = "CONT", ; + Column1.FontName = "Arial Narrow", ; + Column1.FontSize = 9, ; + Column1.Format = "", ; + Column1.InputMask = "", ; + Column1.Name = "ccont", ; + Column1.ReadOnly = .T., ; + Column1.Width = 29, ; + Column2.Alignment = 0, ; + Column2.BackColor = 255,255,255, ; + Column2.ColumnOrder = 3, ; + Column2.ControlSource = "DENUMIRE", ; + Column2.FontName = "Arial Narrow", ; + Column2.FontSize = 9, ; + Column2.Name = "cdenumire", ; + Column2.ReadOnly = .T., ; + Column2.Width = 141, ; + Column3.Alignment = 1, ; + Column3.BackColor = 187,235,255, ; + Column3.ColumnOrder = 6, ; + Column3.ControlSource = "PRECDEB", ; + Column3.DynamicForeColor = "IIF(PRECDEB>=0, RGB(0,0,0), RGB(255,0,0))", ; + Column3.FontName = "Arial Narrow", ; + Column3.FontSize = 9, ; + Column3.Format = "r", ; + Column3.InputMask = (get_mask(16,gnPA)), ; + Column3.Name = "cprecdeb", ; + Column3.ReadOnly = .T., ; + Column3.Width = 72, ; + Column4.Alignment = 1, ; + Column4.BackColor = 187,235,255, ; + Column4.ColumnOrder = 7, ; + Column4.ControlSource = "PRECCRED", ; + Column4.DynamicForeColor = "IIF(PRECCRED>=0, RGB(0,0,0), RGB(255,0,0))", ; + Column4.FontName = "Arial Narrow", ; + Column4.FontSize = 9, ; + Column4.Format = "r", ; + Column4.InputMask = (get_mask(16,gnPA)), ; + Column4.Name = "cpreccred", ; + Column4.ReadOnly = .T., ; + Column4.Width = 72, ; + Column5.Alignment = 1, ; + Column5.BackColor = 236,249,255, ; + Column5.ColumnOrder = 8, ; + Column5.ControlSource = "RULDEB", ; + Column5.DynamicForeColor = "IIF(RULDEB>=0, RGB(0,0,0), RGB(255,0,0))", ; + Column5.FontName = "Arial Narrow", ; + Column5.FontSize = 9, ; + Column5.Format = "R", ; + Column5.InputMask = (get_mask(16,gnPA)), ; + Column5.Name = "cruldeb", ; + Column5.ReadOnly = .T., ; + Column5.Width = 72, ; + Column6.Alignment = 1, ; + Column6.BackColor = 236,249,255, ; + Column6.ColumnOrder = 9, ; + Column6.ControlSource = "RULCRED", ; + Column6.DynamicForeColor = "IIF(RULCRED>=0, RGB(0,0,0), RGB(255,0,0))", ; + Column6.FontName = "Arial Narrow", ; + Column6.FontSize = 9, ; + Column6.Format = "R", ; + Column6.InputMask = (get_mask(16,gnPA)), ; + Column6.Name = "crulcred", ; + Column6.ReadOnly = .T., ; + Column6.Width = 73, ; + Column7.Alignment = 1, ; + Column7.BackColor = 187,235,255, ; + Column7.ColumnOrder = 10, ; + Column7.ControlSource = "TOTDEB", ; + Column7.DynamicForeColor = "IIF(TOTDEB>=0, RGB(0,0,0), RGB(255,0,0))", ; + Column7.FontName = "Arial Narrow", ; + Column7.FontSize = 9, ; + Column7.Format = "r", ; + Column7.InputMask = (get_mask(16,gnPA)), ; + Column7.Name = "ctotdeb", ; + Column7.ReadOnly = .T., ; + Column7.Width = 83, ; + Column8.Alignment = 1, ; + Column8.BackColor = 187,235,255, ; + Column8.ColumnOrder = 11, ; + Column8.ControlSource = "TOTCRED", ; + Column8.DynamicForeColor = "IIF(TOTCRED>=0, RGB(0,0,0), RGB(255,0,0))", ; + Column8.FontName = "Arial Narrow", ; + Column8.FontSize = 9, ; + Column8.Format = "r", ; + Column8.InputMask = (get_mask(16,gnPA)), ; + Column8.Name = "ctotcred", ; + Column8.ReadOnly = .T., ; + Column8.Width = 85, ; + Column9.Alignment = 1, ; + Column9.BackColor = 236,249,255, ; + Column9.ColumnOrder = 13, ; + Column9.ControlSource = "SOLDCRED", ; + Column9.DynamicForeColor = "IIF(SOLDCRED>=0, RGB(0,0,0), RGB(255,0,0))", ; + Column9.FontName = "Arial Narrow", ; + Column9.FontSize = 9, ; + Column9.Format = "r", ; + Column9.InputMask = (get_mask(16,gnPA)), ; + Column9.Name = "csoldcred", ; + Column9.ReadOnly = .T., ; + Column9.Width = 70, ; + Column10.Alignment = 1, ; + Column10.BackColor = 236,249,255, ; + Column10.ColumnOrder = 12, ; + Column10.ControlSource = "SOLDDEB", ; + Column10.DynamicForeColor = "IIF(SOLDDEB>=0, RGB(0,0,0), RGB(255,0,0))", ; + Column10.FontName = "Arial Narrow", ; + Column10.FontSize = 9, ; + Column10.Format = "r", ; + Column10.InputMask = (get_mask(16,gnPA)), ; + Column10.Name = "csolddeb", ; + Column10.ReadOnly = .T., ; + Column10.Width = 66, ; + Column11.BackColor = 255,255,255, ; + Column11.ColumnOrder = 2, ; + Column11.ControlSource = "ACONT", ; + Column11.FontName = "Arial Narrow", ; + Column11.FontSize = 9, ; + Column11.Name = "cacont", ; + Column11.ReadOnly = .T., ; + Column11.Width = 40, ; + Column12.BackColor = 236,249,255, ; + Column12.ColumnOrder = 4, ; + Column12.ControlSource = "precdeb1", ; + Column12.FontName = "Arial Narrow", ; + Column12.FontSize = 9, ; + Column12.Format = "RK", ; + Column12.InputMask = (get_mask(18,gnPA)), ; + Column12.Name = "cprecdeb1", ; + Column12.ReadOnly = .T., ; + Column12.Visible = .F., ; + Column12.Width = 0, ; + Column13.BackColor = 236,249,255, ; + Column13.ColumnOrder = 5, ; + Column13.ControlSource = "preccred1", ; + Column13.FontName = "Arial Narrow", ; + Column13.FontSize = 9, ; + Column13.Format = "RK", ; + Column13.InputMask = (get_mask(18,gnPA)), ; + Column13.Name = "cpreccred1", ; + Column13.ReadOnly = .T., ; + Column13.Visible = .F., ; + Column13.Width = 0 + *< END OBJECT: BaseClass="grid" /> + + ADD OBJECT 'Grid1.cacont.Header1' AS header WITH ; + Alignment = 2, ; + Caption = "Analitic", ; + FontName = "Arial Narrow", ; + Name = "Header1" + *< END OBJECT: BaseClass="header" /> + + ADD OBJECT 'Grid1.cacont.Text1' AS textbox WITH ; + BackColor = 255,255,255, ; + BorderStyle = 0, ; + FontName = "Arial Narrow", ; + ForeColor = 0,0,0, ; + Margin = 0, ; + Name = "Text1", ; + ReadOnly = .T. + *< END OBJECT: BaseClass="textbox" /> + + ADD OBJECT 'Grid1.ccont.Header1' AS header WITH ; + Alignment = 2, ; + Caption = "Cont", ; + FontName = "Arial Narrow", ; + FontSize = 9, ; + Name = "Header1" + *< END OBJECT: BaseClass="header" /> + + ADD OBJECT 'Grid1.ccont.Text1' AS textbox WITH ; + Alignment = 0, ; + BackColor = 255,255,255, ; + BorderStyle = 0, ; + FontName = "Arial Narrow", ; + FontSize = 9, ; + ForeColor = 0,0,0, ; + Margin = 0, ; + Name = "Text1", ; + ReadOnly = .T. + *< END OBJECT: BaseClass="textbox" /> + + ADD OBJECT 'Grid1.cdenumire.Header2' AS header WITH ; + Alignment = 2, ; + Caption = "Denumire", ; + FontName = "Arial Narrow", ; + FontSize = 9, ; + Name = "Header2" + *< END OBJECT: BaseClass="header" /> + + ADD OBJECT 'Grid1.cdenumire.Text1' AS textbox WITH ; + Alignment = 0, ; + BackColor = 255,255,255, ; + BorderStyle = 0, ; + FontName = "Arial Narrow", ; + FontSize = 9, ; + ForeColor = 0,0,0, ; + Margin = 0, ; + Name = "Text1", ; + ReadOnly = .T. + *< END OBJECT: BaseClass="textbox" /> + + ADD OBJECT 'Grid1.cpreccred.Header4' AS header WITH ; + Alignment = 2, ; + Caption = "Prec.Credit", ; + FontName = "Arial Narrow", ; + FontSize = 9, ; + Name = "Header4" + *< END OBJECT: BaseClass="header" /> + + ADD OBJECT 'Grid1.cpreccred.Text1' AS textbox WITH ; + Alignment = 1, ; + BackColor = 187,235,255, ; + BorderStyle = 0, ; + FontName = "Arial Narrow", ; + FontSize = 9, ; + ForeColor = 0,0,0, ; + Margin = 0, ; + Name = "Text1", ; + ReadOnly = .T. + *< END OBJECT: BaseClass="textbox" /> + + ADD OBJECT 'Grid1.cpreccred1.Header1' AS header WITH ; + Alignment = 2, ; + Caption = "Sold Credit 1 ian. ", ; + FontName = "Arial Narrow", ; + Name = "Header1" + *< END OBJECT: BaseClass="header" /> + + ADD OBJECT 'Grid1.cpreccred1.Text1' AS textbox WITH ; + BackColor = 236,249,255, ; + BorderStyle = 0, ; + FontName = "Arial Narrow", ; + ForeColor = 0,0,0, ; + Margin = 0, ; + Name = "Text1", ; + Visible = .F. + *< END OBJECT: BaseClass="textbox" /> + + ADD OBJECT 'Grid1.cprecdeb.Header3' AS header WITH ; + Alignment = 2, ; + Caption = "Prec.Debit", ; + FontName = "Arial Narrow", ; + FontSize = 9, ; + Name = "Header3" + *< END OBJECT: BaseClass="header" /> + + ADD OBJECT 'Grid1.cprecdeb.Text1' AS textbox WITH ; + Alignment = 1, ; + BackColor = 187,235,255, ; + BorderStyle = 0, ; + FontName = "Arial Narrow", ; + FontSize = 9, ; + ForeColor = 0,0,0, ; + Margin = 0, ; + Name = "Text1", ; + ReadOnly = .T. + *< END OBJECT: BaseClass="textbox" /> + + ADD OBJECT 'Grid1.cprecdeb1.Header1' AS header WITH ; + Alignment = 2, ; + Caption = "Sold Debit 1 ian.", ; + FontName = "Arial Narrow", ; + Name = "Header1" + *< END OBJECT: BaseClass="header" /> + + ADD OBJECT 'Grid1.cprecdeb1.Text1' AS textbox WITH ; + BackColor = 236,249,255, ; + BorderStyle = 0, ; + FontName = "Arial Narrow", ; + ForeColor = 0,0,0, ; + Margin = 0, ; + Name = "Text1", ; + Visible = .F. + *< END OBJECT: BaseClass="textbox" /> + + ADD OBJECT 'Grid1.crulcred.Header6' AS header WITH ; + Alignment = 2, ; + Caption = "Rul.Credit", ; + FontName = "Arial Narrow", ; + FontSize = 9, ; + Name = "Header6" + *< END OBJECT: BaseClass="header" /> + + ADD OBJECT 'Grid1.crulcred.Text1' AS textbox WITH ; + Alignment = 1, ; + BackColor = 236,249,255, ; + BorderColor = 0,0,0, ; + BorderStyle = 0, ; + FontName = "Arial Narrow", ; + FontSize = 9, ; + ForeColor = 0,0,0, ; + Margin = 0, ; + Name = "Text1", ; + ReadOnly = .T. + *< END OBJECT: BaseClass="textbox" /> + + ADD OBJECT 'Grid1.cruldeb.Header5' AS header WITH ; + Alignment = 2, ; + Caption = "Rul.Debit", ; + FontName = "Arial Narrow", ; + FontSize = 9, ; + Name = "Header5" + *< END OBJECT: BaseClass="header" /> + + ADD OBJECT 'Grid1.cruldeb.Text1' AS textbox WITH ; + Alignment = 1, ; + BackColor = 236,249,255, ; + BorderStyle = 0, ; + FontName = "Arial Narrow", ; + FontSize = 9, ; + ForeColor = 0,0,0, ; + Margin = 0, ; + Name = "Text1", ; + ReadOnly = .T. + *< END OBJECT: BaseClass="textbox" /> + + ADD OBJECT 'Grid1.csoldcred.Header1' AS header WITH ; + Alignment = 2, ; + Caption = "Sold Credit", ; + FontName = "Arial Narrow", ; + FontSize = 9, ; + Name = "Header1" + *< END OBJECT: BaseClass="header" /> + + ADD OBJECT 'Grid1.csoldcred.Text1' AS textbox WITH ; + Alignment = 1, ; + BackColor = 236,249,255, ; + BorderStyle = 0, ; + FontName = "Arial Narrow", ; + FontSize = 9, ; + ForeColor = 0,0,0, ; + Margin = 0, ; + Name = "Text1", ; + ReadOnly = .T. + *< END OBJECT: BaseClass="textbox" /> + + ADD OBJECT 'Grid1.csolddeb.Header1' AS header WITH ; + Alignment = 2, ; + Caption = "Sold Debit", ; + FontName = "Arial Narrow", ; + FontSize = 9, ; + Name = "Header1" + *< END OBJECT: BaseClass="header" /> + + ADD OBJECT 'Grid1.csolddeb.Text1' AS textbox WITH ; + Alignment = 1, ; + BackColor = 236,249,255, ; + BorderStyle = 0, ; + FontName = "Arial Narrow", ; + FontSize = 9, ; + ForeColor = 0,0,0, ; + Margin = 0, ; + Name = "Text1", ; + ReadOnly = .T. + *< END OBJECT: BaseClass="textbox" /> + + ADD OBJECT 'Grid1.ctotcred.Header8' AS header WITH ; + Alignment = 2, ; + Caption = "Total Credit", ; + FontName = "Arial Narrow", ; + FontSize = 9, ; + Name = "Header8" + *< END OBJECT: BaseClass="header" /> + + ADD OBJECT 'Grid1.ctotcred.Text1' AS textbox WITH ; + Alignment = 1, ; + BackColor = 187,235,255, ; + BorderStyle = 0, ; + FontName = "Arial Narrow", ; + FontSize = 9, ; + ForeColor = 0,0,0, ; + Margin = 0, ; + Name = "Text1", ; + ReadOnly = .T. + *< END OBJECT: BaseClass="textbox" /> + + ADD OBJECT 'Grid1.ctotdeb.Header7' AS header WITH ; + Alignment = 2, ; + Caption = "Total Debit", ; + FontName = "Arial Narrow", ; + FontSize = 9, ; + Name = "Header7" + *< END OBJECT: BaseClass="header" /> + + ADD OBJECT 'Grid1.ctotdeb.Text1' AS textbox WITH ; + Alignment = 1, ; + BackColor = 187,235,255, ; + BorderStyle = 0, ; + FontName = "Arial Narrow", ; + FontSize = 9, ; + ForeColor = 0,0,0, ; + Margin = 0, ; + Name = "Text1", ; + ReadOnly = .T. + *< END OBJECT: BaseClass="textbox" /> + + ADD OBJECT 'Label1' AS label WITH ; + AutoSize = .T., ; + BackStyle = 0, ; + Caption = "Selectie cont", ; + Comment = "*:OnResize=LT", ; + FontBold = .F., ; + FontSize = 8, ; + Height = 16, ; + Left = 8, ; + Name = "Label1", ; + TabIndex = 13, ; + Top = 70, ; + Width = 64, ; + ZOrderSet = 15 + *< END OBJECT: BaseClass="label" /> + + ADD OBJECT 'Label2' AS label WITH ; + AutoSize = .T., ; + BackStyle = 0, ; + Caption = "De la", ; + Comment = "*:OnResize=LT", ; + FontBold = .F., ; + FontSize = 8, ; + Height = 16, ; + Left = 9, ; + Name = "Label2", ; + TabIndex = 13, ; + Top = 91, ; + Width = 26, ; + ZOrderSet = 19 + *< END OBJECT: BaseClass="label" /> + + ADD OBJECT 'Label3' AS label WITH ; + AutoSize = .T., ; + BackStyle = 0, ; + Caption = "Analitic", ; + Comment = "*:OnResize=LT", ; + FontBold = .F., ; + FontSize = 8, ; + Height = 16, ; + Left = 9, ; + Name = "Label3", ; + TabIndex = 13, ; + Top = 117, ; + Width = 37, ; + ZOrderSet = 20 + *< END OBJECT: BaseClass="label" /> + + ADD OBJECT 'Label4' AS label WITH ; + AutoSize = .T., ; + BackStyle = 0, ; + Caption = "la", ; + Comment = "*:OnResize=LT", ; + FontBold = .F., ; + FontSize = 8, ; + Height = 16, ; + Left = 75, ; + Name = "Label4", ; + TabIndex = 13, ; + Top = 91, ; + Width = 10, ; + ZOrderSet = 21 + *< END OBJECT: BaseClass="label" /> + + ADD OBJECT 'oMenuShortcut' AS menulib WITH ; + Left = 264, ; + Name = "oMenuShortcut", ; + TabIndex = 6, ; + Top = 0, ; + ZOrderSet = 8 + *< END OBJECT: ClassLib="..\clase\utility.vcx" BaseClass="container" /> + + ADD OBJECT 'Optiongroup1' AS optiongroup WITH ; + AutoSize = .T., ; + BackStyle = 0, ; + BorderStyle = 0, ; + ButtonCount = 10, ; + Comment = "*:OnResize=LT", ; + ControlSource = "", ; + Height = 79, ; + Left = 396, ; + Name = "Optiongroup1", ; + SpecialEffect = 1, ; + TabIndex = 11, ; + Top = 60, ; + Value = 1, ; + Width = 203, ; + ZOrderSet = 4, ; + Option1.AutoSize = .T., ; + Option1.BackStyle = 0, ; + Option1.Caption = "\ + + ADD OBJECT 'pf' AS pageframe WITH ; + Comment = "*:OnResize=ST", ; + ErasePage = .T., ; + Height = 109, ; + Left = 1, ; + Name = "pf", ; + PageCount = 4, ; + TabIndex = 5, ; + Top = 35, ; + Width = 800, ; + ZOrderSet = 12, ; + Page1.BackColor = 255,255,255, ; + Page1.Caption = "Total sume", ; + Page1.FontBold = .T., ; + Page1.Name = "p1", ; + Page2.BackColor = 255,255,255, ; + Page2.Caption = "Selectii", ; + Page2.FontBold = .T., ; + Page2.Name = "P2", ; + Page3.BackColor = 255,255,255, ; + Page3.Caption = "Fise de cont ", ; + Page3.FontBold = .T., ; + Page3.Name = "p3", ; + Page4.BackColor = 255,255,255, ; + Page4.Caption = "Listare", ; + Page4.FontBold = .T., ; + Page4.Name = "P4" + *< END OBJECT: BaseClass="pageframe" /> + + ADD OBJECT 'pf.p1.Check1' AS checkbox WITH ; + Alignment = 0, ; + BackStyle = 0, ; + Caption = "Sintetice", ; + Comment = "*:OnResize=RT", ; + FontName = "Arial Narrow", ; + Height = 19, ; + Left = 233, ; + Name = "Check1", ; + SpecialEffect = 0, ; + Style = 1, ; + Top = 6, ; + Visible = .T., ; + Width = 43 + *< END OBJECT: BaseClass="checkbox" /> + + ADD OBJECT 'pf.p1.Label2' AS label WITH ; + BackColor = 255,255,255, ; + BackStyle = 1, ; + BorderStyle = 1, ; + Caption = " Rulaje", ; + Comment = "*:OnResize=RT", ; + Height = 18, ; + Left = 405, ; + Name = "Label2", ; + Top = 7, ; + Width = 127, ; + ZOrderSet = 31 + *< END OBJECT: BaseClass="label" /> + + ADD OBJECT 'pf.p1.Label4' AS label WITH ; + BackColor = 255,255,255, ; + BackStyle = 1, ; + BorderStyle = 1, ; + Caption = " Total sume", ; + Comment = "*:OnResize=RT", ; + Height = 18, ; + Left = 533, ; + Name = "Label4", ; + Top = 7, ; + Width = 127, ; + ZOrderSet = 32 + *< END OBJECT: BaseClass="label" /> + + ADD OBJECT 'pf.p1.Label5' AS label WITH ; + BackColor = 255,255,255, ; + BackStyle = 1, ; + BorderStyle = 1, ; + Caption = " Solduri", ; + Comment = "*:OnResize=RT", ; + Height = 18, ; + Left = 661, ; + Name = "Label5", ; + Top = 7, ; + Width = 127, ; + ZOrderSet = 34 + *< END OBJECT: BaseClass="label" /> + + ADD OBJECT 'pf.p1.Label8' AS label WITH ; + BackColor = 255,255,255, ; + BackStyle = 1, ; + BorderStyle = 1, ; + Caption = " Total precedente", ; + Comment = "*:OnResize=RT", ; + Height = 18, ; + Left = 277, ; + Name = "Label8", ; + TabIndex = 19, ; + Top = 7, ; + Width = 127, ; + ZOrderSet = 16 + *< END OBJECT: BaseClass="label" /> + + ADD OBJECT 'pf.p1.lblcredit' AS label WITH ; + BackColor = 255,255,255, ; + BackStyle = 1, ; + BorderStyle = 1, ; + Caption = " Credit", ; + Comment = "*:OnResize=RT", ; + Height = 23, ; + Left = 234, ; + Name = "lblcredit", ; + TabIndex = 20, ; + Top = 50, ; + Width = 42, ; + ZOrderSet = 18 + *< END OBJECT: BaseClass="label" /> + + ADD OBJECT 'pf.p1.lbldebit' AS label WITH ; + BackColor = 255,255,255, ; + BackStyle = 1, ; + BorderStyle = 1, ; + Caption = " Debit", ; + Comment = "*:OnResize=RT", ; + Height = 23, ; + Left = 234, ; + Name = "lbldebit", ; + TabIndex = 20, ; + Top = 26, ; + Width = 42, ; + ZOrderSet = 17 + *< END OBJECT: BaseClass="label" /> + + ADD OBJECT 'pf.p1.lblsld1' AS label WITH ; + BackColor = 255,255,255, ; + BackStyle = 1, ; + BorderStyle = 1, ; + Caption = " Solduri 1 Ian.", ; + Comment = "*:OnResize=RT", ; + Height = 18, ; + Left = 148, ; + Name = "lblsld1", ; + TabIndex = 19, ; + Top = 7, ; + Visible = .F., ; + Width = 127, ; + ZOrderSet = 16 + *< END OBJECT: BaseClass="label" /> + + ADD OBJECT 'pf.p1.Shape1' AS shape WITH ; + BackColor = 236,249,255, ; + BorderStyle = 3, ; + Comment = "*:OnResize=ST", ; + Height = 76, ; + Left = 2, ; + Name = "Shape1", ; + Top = 1, ; + Width = 790 + *< END OBJECT: BaseClass="shape" /> + + ADD OBJECT 'pf.p1.Text1' AS textbox WITH ; + Alignment = 1, ; + Comment = "*:OnResize=RT", ; + ControlSource = "m.sprecdeb", ; + DisabledBackColor = 187,235,255, ; + Enabled = .T., ; + FontName = "Arial Narrow", ; + FontSize = 9, ; + Format = "r", ; + Height = 23, ; + InputMask = (get_mask(15,gnPA)), ; + Left = 277, ; + Name = "Text1", ; + ReadOnly = .T., ; + SpecialEffect = 1, ; + TabIndex = 6, ; + Top = 26, ; + Width = 127, ; + ZOrderSet = 10 + *< END OBJECT: BaseClass="textbox" /> + + ADD OBJECT 'pf.p1.Text2' AS textbox WITH ; + Alignment = 1, ; + Comment = "*:OnResize=RT", ; + ControlSource = "m.spreccred", ; + DisabledBackColor = 187,235,255, ; + Enabled = .T., ; + FontName = "Arial Narrow", ; + ForeColor = 0,0,0, ; + Format = "r", ; + Height = 23, ; + InputMask = (get_mask(15,gnPA)), ; + Left = 277, ; + Name = "Text2", ; + ReadOnly = .T., ; + SpecialEffect = 1, ; + TabIndex = 7, ; + Top = 50, ; + Width = 127, ; + ZOrderSet = 11 + *< END OBJECT: BaseClass="textbox" /> + + ADD OBJECT 'pf.p1.Text3' AS textbox WITH ; + Alignment = 1, ; + Comment = "*:OnResize=RT", ; + ControlSource = "m.srulcred", ; + DisabledBackColor = 236,249,255, ; + Enabled = .T., ; + FontName = "Arial Narrow", ; + Format = "r", ; + Height = 23, ; + InputMask = (get_mask(15,gnPA)), ; + Left = 405, ; + Name = "Text3", ; + ReadOnly = .T., ; + SpecialEffect = 1, ; + TabIndex = 8, ; + Top = 50, ; + Width = 127, ; + ZOrderSet = 12 + *< END OBJECT: BaseClass="textbox" /> + + ADD OBJECT 'pf.p1.Text4' AS textbox WITH ; + Alignment = 1, ; + Comment = "*:OnResize=RT", ; + ControlSource = "m.sruldeb", ; + DisabledBackColor = 236,249,255, ; + Enabled = .T., ; + FontName = "Arial Narrow", ; + Format = "r", ; + Height = 23, ; + InputMask = (get_mask(15,gnPA)), ; + Left = 405, ; + Name = "Text4", ; + ReadOnly = .T., ; + SpecialEffect = 1, ; + TabIndex = 10, ; + Top = 26, ; + Width = 127, ; + ZOrderSet = 14 + *< END OBJECT: BaseClass="textbox" /> + + ADD OBJECT 'pf.p1.Text5' AS textbox WITH ; + Alignment = 1, ; + Comment = "*:OnResize=RT", ; + ControlSource = "m.stotdeb", ; + DisabledBackColor = 187,235,255, ; + Enabled = .T., ; + FontName = "Arial Narrow", ; + Format = "r", ; + Height = 23, ; + InputMask = (get_mask(15,gnPA)), ; + Left = 533, ; + Name = "Text5", ; + ReadOnly = .T., ; + SpecialEffect = 1, ; + TabIndex = 9, ; + Top = 26, ; + Width = 127, ; + ZOrderSet = 13 + *< END OBJECT: BaseClass="textbox" /> + + ADD OBJECT 'pf.p1.Text6' AS textbox WITH ; + Alignment = 1, ; + Comment = "*:OnResize=RT", ; + ControlSource = "m.stotcred", ; + DisabledBackColor = 187,235,255, ; + Enabled = .T., ; + FontName = "Arial Narrow", ; + Format = "r", ; + Height = 23, ; + InputMask = (get_mask(15,gnPA)), ; + Left = 533, ; + Name = "Text6", ; + ReadOnly = .T., ; + SpecialEffect = 1, ; + TabIndex = 11, ; + Top = 50, ; + Width = 127, ; + ZOrderSet = 15 + *< END OBJECT: BaseClass="textbox" /> + + ADD OBJECT 'pf.p1.Text7' AS textbox WITH ; + Alignment = 1, ; + Comment = "*:OnResize=RT", ; + ControlSource = "m.ssolddeb", ; + DisabledBackColor = 236,249,255, ; + Enabled = .T., ; + FontName = "Arial Narrow", ; + FontSize = 9, ; + Format = "r", ; + Height = 23, ; + InputMask = (get_mask(15,gnPA)), ; + Left = 661, ; + Name = "Text7", ; + ReadOnly = .T., ; + SpecialEffect = 1, ; + TabIndex = 6, ; + Top = 26, ; + Width = 127, ; + ZOrderSet = 21 + *< END OBJECT: BaseClass="textbox" /> + + ADD OBJECT 'pf.p1.Text8' AS textbox WITH ; + Alignment = 1, ; + Comment = "*:OnResize=RT", ; + ControlSource = "m.ssoldcred", ; + DisabledBackColor = 236,249,255, ; + Enabled = .T., ; + FontName = "Arial Narrow", ; + Format = "r", ; + Height = 23, ; + InputMask = (get_mask(15,gnPA)), ; + Left = 661, ; + Name = "Text8", ; + ReadOnly = .T., ; + SpecialEffect = 1, ; + TabIndex = 7, ; + Top = 50, ; + Width = 127, ; + ZOrderSet = 22 + *< END OBJECT: BaseClass="textbox" /> + + ADD OBJECT 'pf.p1.txtpreccred1' AS textbox WITH ; + Alignment = 1, ; + Comment = "*:OnResize=RT", ; + ControlSource = "m.spreccred1", ; + DisabledBackColor = 236,249,255, ; + Enabled = .T., ; + FontName = "Arial Narrow", ; + ForeColor = 0,0,0, ; + Format = "r", ; + Height = 23, ; + InputMask = (get_mask(12,gnPA)), ; + Left = 148, ; + Name = "txtpreccred1", ; + ReadOnly = .T., ; + SpecialEffect = 1, ; + TabIndex = 7, ; + Top = 50, ; + Visible = .F., ; + Width = 127, ; + ZOrderSet = 11 + *< END OBJECT: BaseClass="textbox" /> + + ADD OBJECT 'pf.p1.txtprecdeb1' AS textbox WITH ; + Alignment = 1, ; + Comment = "*:OnResize=RT", ; + ControlSource = "m.sprecdeb1", ; + DisabledBackColor = 236,249,255, ; + Enabled = .T., ; + FontName = "Arial Narrow", ; + FontSize = 9, ; + Format = "r", ; + Height = 23, ; + InputMask = (get_mask(12,gnPA)), ; + Left = 148, ; + Name = "txtprecdeb1", ; + ReadOnly = .T., ; + SpecialEffect = 1, ; + TabIndex = 6, ; + Top = 26, ; + Visible = .F., ; + Width = 127, ; + ZOrderSet = 10 + *< END OBJECT: BaseClass="textbox" /> + + ADD OBJECT 'pf.P2.Ck_cont' AS ck_filtru_text WITH ; + Alignment = 0, ; + AutoSize = .T., ; + camp_nume = cont, ; + Caption = "Selectie cont", ; + Comment = "*:OnResize=ST", ; + FontName = "Courier New", ; + Left = 618, ; + Name = "Ck_cont", ; + Top = 36 + *< END OBJECT: ClassLib="..\clase\caut_ora.vcx" BaseClass="checkbox" /> + + ADD OBJECT 'pf.P2.ckanalitic' AS checkbox WITH ; + Alignment = 0, ; + AutoSize = .T., ; + BackStyle = 0, ; + Caption = "Conturi analitice", ; + Comment = "*:OnResize=LT", ; + ControlSource = "", ; + FontBold = .F., ; + FontName = "Courier New", ; + Height = 17, ; + Left = 464, ; + Name = "ckanalitic", ; + TabIndex = 4, ; + Top = 36, ; + Value = 0, ; + Width = 141, ; + ZOrderSet = 37 + *< END OBJECT: BaseClass="checkbox" /> + + ADD OBJECT 'pf.P2.cksold1' AS checkbox WITH ; + Alignment = 0, ; + AutoSize = .T., ; + BackStyle = 0, ; + Caption = "\ + + ADD OBJECT 'pf.P2.cktotal1' AS checkbox WITH ; + Alignment = 0, ; + AutoSize = .T., ; + BackStyle = 0, ; + Caption = "Total clase (gr.1)", ; + Comment = "*:OnResize=LT", ; + ControlSource = "", ; + FontBold = .F., ; + FontName = "Courier New", ; + Height = 17, ; + Left = 224, ; + Name = "cktotal1", ; + TabIndex = 2, ; + Top = 15, ; + Value = 0, ; + Width = 148, ; + ZOrderSet = 37 + *< END OBJECT: BaseClass="checkbox" /> + + ADD OBJECT 'pf.P2.cktotal2' AS checkbox WITH ; + Alignment = 0, ; + AutoSize = .T., ; + BackStyle = 0, ; + Caption = "Total grupe (gr.2)", ; + Comment = "*:OnResize=LT", ; + ControlSource = "", ; + FontBold = .F., ; + FontName = "Courier New", ; + Height = 17, ; + Left = 224, ; + Name = "cktotal2", ; + TabIndex = 3, ; + Top = 34, ; + Value = 0, ; + Width = 148, ; + ZOrderSet = 37 + *< END OBJECT: BaseClass="checkbox" /> + + ADD OBJECT 'pf.P2.cktotal3' AS checkbox WITH ; + Alignment = 0, ; + AutoSize = .T., ; + BackStyle = 0, ; + Caption = "Total conturi sintetice (gr.3)", ; + Comment = "*:OnResize=LT", ; + ControlSource = "", ; + FontBold = .F., ; + FontName = "Courier New", ; + Height = 17, ; + Left = 224, ; + Name = "cktotal3", ; + TabIndex = 5, ; + Top = 54, ; + Value = 0, ; + Width = 232, ; + ZOrderSet = 37 + *< END OBJECT: BaseClass="checkbox" /> + + ADD OBJECT 'pf.P2.cktotal4' AS checkbox WITH ; + Alignment = 0, ; + AutoSize = .T., ; + BackStyle = 0, ; + Caption = "Conturi", ; + Comment = "*:OnResize=LT", ; + ControlSource = "", ; + FontBold = .F., ; + FontName = "Courier New", ; + Height = 17, ; + Left = 464, ; + Name = "cktotal4", ; + TabIndex = 6, ; + Top = 16, ; + Value = 1, ; + Width = 71, ; + ZOrderSet = 37 + *< END OBJECT: BaseClass="checkbox" /> + + ADD OBJECT 'pf.P2.Shape1' AS shape WITH ; + BackColor = 236,249,255, ; + BorderStyle = 3, ; + Comment = "*:OnResize=ST", ; + Height = 76, ; + Left = 2, ; + Name = "Shape1", ; + Top = 1, ; + Width = 790 + *< END OBJECT: BaseClass="shape" /> + + ADD OBJECT 'pf.p3.Optiongroup1' AS optiongroup WITH ; + AutoSize = .F., ; + BackStyle = 0, ; + BorderStyle = 0, ; + ButtonCount = 8, ; + Comment = "*:OnResize=RT", ; + ControlSource = "", ; + Height = 61, ; + Left = 204, ; + Name = "Optiongroup1", ; + SpecialEffect = 1, ; + Top = 12, ; + Value = 8, ; + Width = 385, ; + ZOrderSet = 3, ; + Option1.AutoSize = .F., ; + Option1.BackStyle = 0, ; + Option1.Caption = "\ + + ADD OBJECT 'pf.p3.Shape1' AS shape WITH ; + BackColor = 236,249,255, ; + BorderStyle = 3, ; + Comment = "*:OnResize=ST", ; + Height = 76, ; + Left = 2, ; + Name = "Shape1", ; + Top = 1, ; + Width = 786 + *< END OBJECT: BaseClass="shape" /> + + ADD OBJECT 'pf.P4.opt1' AS optiongroup WITH ; + AutoSize = .T., ; + BackStyle = 0, ; + BorderStyle = 0, ; + ButtonCount = 2, ; + Height = 46, ; + Left = 213, ; + Name = "opt1", ; + SpecialEffect = 1, ; + Top = 12, ; + Value = 1, ; + Width = 46, ; + Option1.AutoSize = .T., ; + Option1.BackStyle = 0, ; + Option1.Caption = "A4", ; + Option1.FontName = "Courier New", ; + Option1.Height = 17, ; + Option1.Left = 5, ; + Option1.Name = "Option1", ; + Option1.Top = 5, ; + Option1.Value = 1, ; + Option1.Width = 36, ; + Option2.AutoSize = .T., ; + Option2.BackStyle = 0, ; + Option2.Caption = "A3", ; + Option2.FontName = "Courier New", ; + Option2.Height = 17, ; + Option2.Left = 5, ; + Option2.Name = "Option2", ; + Option2.Top = 24, ; + Option2.Width = 36 + *< END OBJECT: BaseClass="optiongroup" /> + + ADD OBJECT 'pf.P4.opt2' AS optiongroup WITH ; + AutoSize = .T., ; + BackStyle = 0, ; + BorderStyle = 0, ; + ButtonCount = 2, ; + Height = 46, ; + Left = 285, ; + Name = "opt2", ; + SpecialEffect = 1, ; + Top = 12, ; + Value = 1, ; + Width = 179, ; + Option1.AutoSize = .T., ; + Option1.BackStyle = 0, ; + Option1.Caption = "Total", ; + Option1.FontName = "Courier New", ; + Option1.Height = 17, ; + Option1.Left = 5, ; + Option1.Name = "Option1", ; + Option1.Top = 5, ; + Option1.Value = 1, ; + Option1.Width = 57, ; + Option2.AutoSize = .T., ; + Option2.BackStyle = 0, ; + Option2.Caption = "Solduri la 1 ianuarie", ; + Option2.FontName = "Courier New", ; + Option2.Height = 17, ; + Option2.Left = 5, ; + Option2.Name = "Option2", ; + Option2.Top = 24, ; + Option2.Width = 169 + *< END OBJECT: BaseClass="optiongroup" /> + + ADD OBJECT 'pf.P4.Shape1' AS shape WITH ; + BackColor = 236,249,255, ; + BorderStyle = 3, ; + Comment = "*:OnResize=ST", ; + Height = 76, ; + Left = 2, ; + Name = "Shape1", ; + Top = 1, ; + Width = 786 + *< END OBJECT: BaseClass="shape" /> + + ADD OBJECT 'Resizer1' AS resizer WITH ; + Left = 792, ; + Name = "Resizer1", ; + TabIndex = 16, ; + Top = 405, ; + ZOrderSet = 13, ; + Label1.Name = "Label1" + *< END OBJECT: ClassLib="..\clase\resizer.vcx" BaseClass="control" /> + + ADD OBJECT 'Shape2' AS shape WITH ; + BackColor = 0,64,128, ; + BackStyle = 1, ; + Comment = "*:OnResize=ST", ; + Height = 38, ; + Left = -24, ; + Name = "Shape2", ; + SpecialEffect = 0, ; + Top = -2, ; + Width = 828, ; + ZOrderSet = 0 + *< END OBJECT: BaseClass="shape" /> + + ADD OBJECT 'txtcont' AS textbox WITH ; + Comment = "*:OnResize=LT", ; + ControlSource = "", ; + Height = 23, ; + Left = 34, ; + Name = "txtcont", ; + SpecialEffect = 1, ; + TabIndex = 1, ; + Top = 87, ; + Width = 37, ; + ZOrderSet = 14 + *< END OBJECT: BaseClass="textbox" /> + + ADD OBJECT 'Txtcont2' AS textbox WITH ; + Comment = "*:OnResize=LT", ; + ControlSource = "", ; + Format = "k", ; + Height = 23, ; + Left = 84, ; + Name = "Txtcont2", ; + SpecialEffect = 1, ; + TabIndex = 2, ; + Top = 87, ; + Width = 37, ; + ZOrderSet = 18 + *< END OBJECT: BaseClass="textbox" /> + + PROCEDURE Activate + + *!* tw1=thisform.Width + *!* tl1=thisform.Height + + *!* thisform.WindowState=2 + *!* tw2=thisform.Width + *!* tl2=thisform.Height + + *!* gw1=thisform.grid1.width + *!* gl1=thisform.grid1.height + + *!* thisform.grid1.width=ROUND(gw1*tw2/tw1,0) + *!* thisform.grid1.height=ROUND(gl1*tl2/tl1,0) + + *!* thisform.paint + *!* thisform.refresh + THISFORM.WindowState= 2 + + + + ENDPROC + + PROCEDURE adauga_linie + Private pcbal,pcCont,pcSCont,pcACont,pnButon + Store "" To pcbal,pcCont,pcSCont,pcACont + pnButon=1 + pcbal=This.CALIas + pcCont=SELECT_CONT() + If pnButon=2 + Return + Endif + If Empty(pcCont) + Return + Endif + + pcSCont=Left(pcCont,4) + lnPos=At(".",pcCont) + If lnPos>0 + pcACont=Padr(Substr(pcCont,lnPos+1),4," ") + Endif + + pcexec=[begin balanainsproc(']+Alltrim(gcS)+[',]+Alltrim(Str(gnLuna))+[,]+Alltrim(Str(gnAn))+; + [,']+Alltrim(pcSCont)+[',']+Alltrim(pcACont)+['); end;] + lnSucces=goExecutor.oexecute(pcexec) + If lnSucces < 0 + lcTextEroare = goExecutor.cEroare + Messagebox(lcTextEroare,48,"Eroare") + Return + Endif + + If !Empty(pcACont) + Thisform.pf.p2.ckanalitic.Value=1 + Endif + + Thisform.MousePointer=11 + Thisform.LockScreen=.T. + Thisform.reconstruct + Thisform.afisactual + Select (pcbal) + Locate For Cont=pcSCont And acont=pcACont + Thisform.LockScreen=.F. + Thisform.MousePointer= 0 + Thisform.grid1.SetFocus + + ENDPROC + + PROCEDURE afisactual + Private lcbal,lcacont && ,lccont1,lccont2 - le-am pus inainte de do form + lcbal=Thisform.calias + + Local T1 + T1="" + T='.t.' + + lccont1=Alltrim(This.txtcont.Value) + lccont2=Alltrim(This.txtcont2.Value) + + If Empty(lccont2) + lccont2 = lccont1 + Endif + + *lcacont=ALLTRIM(this.txtacont.value) + lcacont1=Alltrim(This.ct1.text1.Value) + lcacont2=Alltrim(This.ct1.text2.Value) + lcacont3=Alltrim(This.ct1.text3.Value) + lcacont4=Alltrim(This.ct1.text4.Value) + + Do Case + Case Len(lccont1)=1 + *T=[G1="]+LCCONT+["] + T = T + [ and VAL(LEFT(G1,1))>=VAL(lcCont1)] + Case Len(lccont1)=2 + *T=[G2="]+LCCONT+["] + T = T + [ and VAL(PADR(ALLTRIM(G2),2,'0'))>=VAL(lcCont1)] + Case Len(lccont1)=3 + *T=[G3="]+LCCONT+["] + T = T + [ and VAL(PADR(ALLTRIM(G3),3,'0'))>=VAL(lcCont1)] + Case Len(lccont1)=4 + *T=[G4="]+LCCONT+["] + T = T + [ and VAL(PADR(ALLTRIM(G4),4,'0'))>=VAL(lcCont1)] + Endcase + + Do Case + Case Len(lccont2)=1 + *T=[G1="]+LCCONT+["] + T = T + [ and VAL(LEFT(G1,1))<=VAL(lcCont2)] + Case Len(lccont2)=2 + *T=[G2="]+LCCONT+["] + T = T + [ and VAL(PADR(ALLTRIM(G2),2,'0'))<=VAL(lcCont2)] + Case Len(lccont2)=3 + *T=[G3="]+LCCONT+["] + T = T + [ and VAL(PADR(ALLTRIM(G3),3,'0'))<=VAL(lcCont2)] + Case Len(lccont2)=4 + *T=[G4="]+LCCONT+["] + T = T + [ and VAL(PADR(ALLTRIM(G4),4,'0'))<=VAL(lcCont2)] + Endcase + + *-------------------------------------------------------- + &&& conditia de filtrare pt balanta sintetica + *!* T1=[SET FILT TO] + *!* lccond1=[] + *!* IF !EMPTY(lcCont) + *!* lccond1=[ UPPER(LEFT(cont,]+ALLTRIM(STR(LEN(ALLTRIM(lcCont))))+[))="]+ALLTRIM(lcCont)+["] + *!* ENDIF + + *!* T1 = T1 + lcCond1 + *!* **** + + + *!* *!* WAIT WINDOW 't = '+t + *!* * WAIT WINDOW 't1 = '+t1 + *!* *!* if thisform.check1.Value=1 + *!* *!* T="UPPER(LEFT(cont,LEN(M.cont)))==M.cont" + *!* *!* ENDIF + + + + + *!* llTotal1=IIF(this.pf.p2.cktotal1.Value=1,.t.,.f.) + *!* llTotal2=IIF(this.pf.p2.cktotal2.Value=1,.t.,.f.) + *!* llTotal3=IIF(this.pf.p2.cktotal3.Value=1,.t.,.f.) + *!* llTotal4=IIF(this.pf.p2.cktotal4.Value=1,.t.,.f.) + *!* llAnalitic=IIF(this.pf.p2.ckanalitic.Value=1,.t.,.f.) + + + + *!* lclista=[] + *!* IF llTotal1 + *!* lclista=lclista+[,1] + *!* ENDIF + *!* IF llTotal2 + *!* lclista=lclista+[,2] + *!* ENDIF + *!* IF llTotal3 + *!* lclista=lclista+[,3] + *!* ENDIF + *!* IF llTotal4 + *!* lclista=lclista+[,4] + *!* ENDIF + *!* IF llAnalitic + *!* lclista=lclista+[,5] + *!* ENDIF + + + *!* IF !EMPTY(lclista) + *!* IF LEFT(lclista,1)="," + *!* lclista=SUBSTR(lclista,2) + *!* ENDIF + *!* T=T+[ AND INLIST(BNIVEL,]+LCLISTA+[)] + *!* ELSE + *!* T=T+[ AND .F.] + *!* ENDIF + + *!* lccond2=[] + + + *!* IF !EMPTY(lcaCont1) + *!* lccond2= lccond2 + [ and SUBSTR(acont,1,1)="]+lcaCont1+["] + *!* ENDIF + *!* IF !EMPTY(lcaCont2) + *!* lccond2= lccond2 + [ and SUBSTR(acont,2,1)="]+lcaCont2+["] + *!* ENDIF + *!* IF !EMPTY(lcaCont3) + *!* lccond2= lccond2 + [ and SUBSTR(acont,3,1)="]+lcaCont3+["] + *!* ENDIF + *!* IF !EMPTY(lcaCont4) + *!* lccond2= lccond2 + [ and SUBSTR(acont,4,1)="]+lcaCont4+["] + *!* ENDIF + *!* *!* IF THIS.pf.p1.check1.Value = 1 + *!* *!* T1 = T1 + lcCond2 + *!* *!* ENDIF + + *!* T= T + lcCond2 + *!* IF this.pf.p2.ck_cont.Value = 1 + *!* T = t + " AND " + this.pf.p2.ck_cont.filtru + *!* ENDIF + + *!* T=[SET FILT TO ]+T + *!* SELECT (LCBAL) + *!* &T + + + *!* SELECT BAL + *!* &T1 + *!* IF existacamp("bal","precdeb1") + *!* sum PRECDEB1,PRECCRED1,precdeb,preccred,ruldeb,rulcred,totdeb,totcred,solddeb,soldcred; + *!* to m.sprecdeb1,m.spreccred1,m.sprecdeb,m.spreccred,m.sruldeb,m.srulcred,m.stotdeb,m.stotcred,m.ssolddeb,m.ssoldcred + *!* ELSE + *!* sum precdeb,preccred,ruldeb,rulcred,totdeb,totcred,solddeb,soldcred; + *!* to m.sprecdeb,m.spreccred,m.sruldeb,m.srulcred,m.stotdeb,m.stotcred,m.ssolddeb,m.ssoldcred + *!* STORE 0 TO m.sprecdeb1,m.spreccred1 + *!* ENDIF + + *!* SET FILTER TO + + *!* IF this.pf.p1.check1.Value = 1 + *!* SELECT (LCBAL) + *!* sum PRECDEB1,PRECCRED1,precdeb,preccred,ruldeb,rulcred,totdeb,totcred,solddeb,soldcred FOR bnivel = 5 ; + *!* to m.sprecdeb1,m.spreccred1,m.sprecdeb,m.spreccred,m.sruldeb,m.srulcred,m.stotdeb,m.stotcred,m.ssolddeb,m.ssoldcred + *!* ENDIF + *!* + *!* WITH thisform.pf.p1 + *!* .text1.Refresh + *!* .text2.Refresh + *!* .text3.Refresh + *!* .text4.Refresh + *!* .text5.Refresh + *!* .text6.Refresh + *!* .text7.Refresh + *!* .text8.Refresh + *!* .TXTpreccred1.Refresh + *!* .TXTprecdeb1.Refresh + *!* ENDWITH + + *!* SELECT (LCBAL) + *!* GO top + *!* THIS.GRID1.Refresh + + + */----------------------------------------------------- + &&& conditia de filtrare pt balanta sintetica + llTotal1=Iif(This.pf.p2.cktotal1.Value=1,.T.,.F.) + llTotal2=Iif(This.pf.p2.cktotal2.Value=1,.T.,.F.) + llTotal3=Iif(This.pf.p2.cktotal3.Value=1,.T.,.F.) + llTotal4=Iif(This.pf.p2.cktotal4.Value=1,.T.,.F.) + llAnalitic=Iif(This.pf.p2.ckanalitic.Value=1,.T.,.F.) + + + + lclista=[] + If llTotal1 + lclista=lclista+[,1] + Endif + If llTotal2 + lclista=lclista+[,2] + Endif + If llTotal3 + lclista=lclista+[,3] + Endif + If llTotal4 + lclista=lclista+[,4] + Endif + If llAnalitic + lclista=lclista+[,5] + Endif + + + If !Empty(lclista) + If Left(lclista,1)="," + lclista=Substr(lclista,2) + Endif + T=T+[ AND INLIST(BNIVEL,]+lclista+[)] + Else + T=T+[ AND .F.] + Endif + + lccond2=[] + + If !Empty(lcacont1) + lccond2= lccond2 + [ and SUBSTR(acont,1,1)="]+lcacont1+["] + Endif + If !Empty(lcacont2) + lccond2= lccond2 + [ and SUBSTR(acont,2,1)="]+lcacont2+["] + Endif + If !Empty(lcacont3) + lccond2= lccond2 + [ and SUBSTR(acont,3,1)="]+lcacont3+["] + Endif + If !Empty(lcacont4) + lccond2= lccond2 + [ and SUBSTR(acont,4,1)="]+lcacont4+["] + Endif + + T= T + lccond2 + If thisform.pf.p2.ck_cont.Value = 1 + T = T + thisform.pf.p2.ck_cont.filtru_vfp + Endif + + T=[SET FILT TO ]+T + Select (lcbal) + *!* Copy To C:\BAL.Dbf + &T + + Select (lcbal) + Sum PRECDEB1,PRECCRED1,precdeb,preccred,ruldeb,rulcred,totdeb,totcred,solddeb,soldcred For bnivel = 4 ; + to m.sprecdeb1,m.spreccred1,m.sprecdeb,m.spreccred,m.sruldeb,m.srulcred,m.stotdeb,m.stotcred,m.ssolddeb,m.ssoldcred + + + If This.pf.p1.check1.Value = 1 + Select (lcbal) + Sum PRECDEB1,PRECCRED1,precdeb,preccred,ruldeb,rulcred,totdeb,totcred,solddeb,soldcred For bnivel = 5 ; + to m.sprecdeb1,m.spreccred1,m.sprecdeb,m.spreccred,m.sruldeb,m.srulcred,m.stotdeb,m.stotcred,m.ssolddeb,m.ssoldcred + Endif + + With Thisform.pf.p1 + .text1.Refresh + .text2.Refresh + .text3.Refresh + .text4.Refresh + .text5.Refresh + .text6.Refresh + .text7.Refresh + .text8.Refresh + .TXTpreccred1.Refresh + .TXTprecdeb1.Refresh + Endwith + + Select (lcbal) + Go Top + This.GRID1.Refresh + + ENDPROC + + PROCEDURE butapend + *!* LOCAL lbMenu[4] + *!* PRIVATE lcbal + *!* lcbal=THISFORM.calias + + + *!* lbMenu="" + *!* lbMenu[1]="\=0,ABS(totdeb-totcred),0),soldcred WITH IIF(totdeb-totcred<0,ABS(totdeb-totcred),0) + UNLOCK + * brow + ENDIF + + + + + + ENDPROC + + PROCEDURE calculeaza_vertical + Private lccont,lcAlias,lnRec,lnDifValue,lcField,lnValoare,laarray + + lcAlias=This.calias + Select (lcAlias) + lnRec=Recno() + lccont=Alltrim(This.ccont) + *WAIT WINDOW 'lccont= '+lccont + lcField=This.cfield + lnDifValue=This.nnewvalue- This.noldvalue + *WAIT WINDOW 'lndifvalue = '+STR(lndifValue) + *WAIT WINDOW 'calculeaza vertical '+lcalias + + lnlung=4 + Dimension laarray[lnlung] + Store Space(4) To laarray + For i=1 To lnlung-1 + * WAIT WINDOW 'i= '+STR(i) + laarray[i] = Substr(lccont,1,i) + * WAIT WINDOW laArray[i] + lcVar="G"+Alltrim(Str(i)) + lcVar1="G"+Alltrim(Str(i+1)) + LCCOND=[LOCATE FOR LEFT(]+lcVar+[,]+Alltrim(Str(i))+[)="]+Left(laarray[I],i)+[" AND EMPTY(]+lcVar1+[)] + * WAIT WINDOW lccond + Select (lcAlias) + &LCCOND + If Found() + If Flock() + lnValoare=Evaluate(lcField)+lnDifValue + Replace &lcField With lnValoare + This.calculeaza_orizontal(lcAlias) && calculez pentru liniile cu totaluri + Unlock + Endif + Endif + Endfor + + Select (lcAlias) + Goto lnRec + ENDPROC + + PROCEDURE cfield_assign + LPARAMETERS vNewVal + *To do: Modify this routine for the Assign method + THIS.cfield = m.vNewVal + + PRIVATE lcAlias,lcSufix,lcVar + lcAlias=thisform.calias + lcSufix=this.cField + lcVar=lcAlias+[.]+lcSufix + lcCont=lcAlias+[.cont] + THISFORM.nOldValue=EVALUATE(lcVar) + thisform.ccont=EVALUATE(lcCont) + *WAIT WINDOW 'ccont '+thisform.ccont + + ENDPROC + + PROCEDURE do_excel + Local i,xlsheet,XLApp,tmpsheet, lcAlias, lcFiltru, lcColumnList, lcHeaderList, lcSelect, lcOutput, lcFrom, lcWhere, lcOrder + lcAlias = this.grid1.RecordSource + lcFiltru = FILTER(lcAlias) + IF EMPTY(lcFiltru) + lcFiltru = '.T.' + ENDIF + + exista_excel=.T. + lcColumnList = '' + lcHeaderList = '' + lcSelect = '' + llSelect = .T. + lcType = 'CURSOR' + lcFrom = lcAlias + lcWhere = lcFiltru + lcOrder = 'g5' + lcOutput = 'crsBal' + + get_schema_grid(this.grid1,@lcColumnList, @lcHeaderList, @lcSelect, llSelect, lcType, lcFrom, lcWhere, lcOrder, lcOutput) + &lcSelect + *!* MESSAGEBOX(p3) + IF USED(lcOutput) + DO export_xls WITH lcOutput IN oproceduri_comune.prg + USE IN (lcOutput) + ENDIF + + + RETURN + + *!* On Error Do exportare With Thisform.grid1.RecordSource,p1,p2 + *!* tmpsheet = Getobject('','excel.sheet') + *!* On Error + + *!* If exista_excel + *!* Wait Window "Se transmit datele catre Excel..." Nowait + + *!* XLApp = tmpsheet.Application + + *!* XLApp.workbooks.Close() + *!* XLApp.workbooks.Add() + *!* poExcel = XLApp.ActiveSheet + + + *!* Go Top + *!* poExcel.Cells(1,1).Font.Size=16 + *!* poExcel.Cells(1,1).Font.Bold=.T. + *!* poExcel.Cells(1,1)=Thisform.titluFRUMOS1.Caption+" Luna "+Alltrim(Str(gnLuna))+"/"+Alltrim(Str(gnAn)) + *!* nRows = 3 + *!* With Thisform.grid1 + *!* For nCol = 1 To .ColumnCount + *!* nColumn = .Columns(nCol).ColumnOrder + *!* poExcel.Columns(nColumn).ColumnWidth = .Columns(nCol).Width/7.5 + *!* For lnobjcol=1 To .Columns(nCol).Objects.Count + *!* If Upper(.Columns(nCol).Objects(lnobjcol).BaseClass)='HEADER' + *!* poExcel.Cells(nRows,nColumn) = .Columns(nCol).Objects(lnobjcol).Caption + *!* Exit + *!* Endif + *!* Endfor + *!* poExcel.Cells(nRows,nColumn).Font.Bold = .T. + *!* poExcel.Cells(nRows,nColumn).Interior.ColorIndex = 16 + *!* Endfor + *!* Scan + *!* nRows = nRows + 1 + *!* For nCol = 1 To .ColumnCount + *!* nColumn = .Columns(nCol).ColumnOrder + *!* If At('CHECK',Upper(.Columns(nCol).CurrentControl))>0 + *!* poExcel.Cells(nRows,nColumn)=Iif(Eval(.Columns(nCol).ControlSource)==0,'NU','DA') + *!* Else + *!* poExcel.Cells(nRows,nColumn) = IIF(empty(Eval(.Columns(nCol).ControlSource)),'',Eval(.Columns(nCol).ControlSource)) + *!* Endif + *!* Endfor + *!* Endscan + *!* Endwith + + *!* XLApp.Visible = .T. + *!* Endif + ENDPROC + + PROCEDURE do_listare + Private lla4,llsolduri,pcPerioadaRef,pcDataOra + Local Tlist + + pcDataOra = '' + pcDataOra = get_ora(2) + + pcPerioadaRef = 'Luna ' + Padl(Alltrim(Str(gnLuna)),2,'0') + "/" + Alltrim(Str(gnAn)) + lla4=.F. + If Thisform.pf.p4.opt1.Value=1 + lla4=.T. + Endif + + llsolduri=.T. + If Thisform.pf.p4.opt2.Value=1 + llsolduri=.F. + Endif + + + LNG1=Thisform.pf.p2.cktotal1.Value + LNG2=Thisform.pf.p2.cktotal3.Value + LNG3=Thisform.pf.p2.cktotal3.Value + LNG4=Thisform.pf.p2.cktotal4.Value + LNG5=Thisform.pf.p2.ckanalitic.Value + + LCBAL=Thisform.CALIas + Select (LCBAL) + + LCPARTIALA=Iif(!Empty(Thisform.TXTcont.Value)," PARTIALA "," ") + Do Case + Case LNG5=1 + m.titlu='- ANALITICA'+LCPARTIALA+'-' + Select (LCBAL) + &T + Replace All bifa With .F. + + Select Distinct Cont,bnivel,bifa From &LCBAL ; + WHERE bnivel=5 ; + INTO Cursor listbal Readwrite + + If _Tally # 0 + Do Form frm_list_balana + + Select listbal + Scan For bifa + Scatter Name olist + Select (LCBAL) + Replace All bifa With .T. For Cont=olist.Cont And bnivel=5 + Select listbal + Endscan + Release olist + + Select (LCBAL) + Tlist = T + ' and !bifa ' + &Tlist + Endif + Use In listbal + Select (LCBAL) + + Case LNG4=1 And LNG5=0 + m.titlu='- SINTETICA'+LCPARTIALA+'-' + Otherwise + If Empty(LCPARTIALA) + m.titlu="" + Else + m.titlu='-'+LCPARTIALA+'-' + Endif + Endcase + + Do Case + Case !lla4 + lcRaport="rapbal_solduri_a3" && A3 CU SOLDURI LA 1 IANUARIE + Case lla4 And !llsolduri + lcRaport="rapbal_total_a4" && A4 FARA SOLDURI LA 1 IANUARIE + Otherwise + lcRaport="rapbal_solduri_a4" && A4 CU SOLODURI LA 1 IANUARIE + Endcase + thisform.AlwaysOnTop = .F. + Report Format (lcRaport) To Printer Prompt Preview + thisform.AlwaysOnTop = .T. + ENDPROC + + PROCEDURE do_reface + x= xmenu('Refacere \ 0 + Messagebox('Refacerea s-a terminat') + Thisform.reconstruct + Thisform.afisactual + Do inainte With "BALANTA" In oinainte_de.prg + ENDIF + ENDPROC + + PROCEDURE fisacont + + Private lcbal + lcbal=Thisform.calias + + Select (lcbal) + Scatter Name locont + + Private pcselect1,pcfiltru1,pcorder1,pcschema1,poact + Store "" To poact + *!* pcschema1=['ID_ACT N(20),LUNA N(2),AN N(4),COD N(20),DATAIREG D,NRACT N(14),DATAACT D,'+]+; + *!* ['EXPLICATIA C(100),SCD C(4),ASCD C(4),SCC C(4),ASCC C(4),SUMA N(19,2),PERECHED N(14),'+]+; + *!* ['PERECHEC N(14),SUMA_VAL N(19,2),NUME_VAL C(5),CURS N(8,2),DATASCAD D,NEIMPOZAB N(19,2),'+]+; + *!* ['NNIR N(10),ID_UTIL N(5),UTIL C(30),DATAORA T,ID_UTILS N(5),UTILS C(30),DATAORAS T,'+]+; + *!* ['ID_RESPONSABIL N(5),NRESP C(30),ID_VENCHELT N(5),DST_CHLT C(100),ID_LUCRARE N(5),NRORD C(30),ID_SECTIE N(5),'+]+; + *!* ['SECTIE C(30),PROC_TVA N(5,2),ID_SET N(20),ID_FACT N(20),ID_PARTD N(10),PARTD C(50),ID_PARTC N(10),'+]+; + *!* ['PARTC C(50),ID_SUCURSALA N(5),SUCURSALA C(50),ID_FDOC N(5),FDOC C(30),'+]+; + *!* ['EXPLICATIA4 C(100),EXPLICATIA5 C(100),ID_GESTD N(5),GESTD C(50),ID_GESTC N(5),GESTC C(50)'] + pcschema1=[''] + pcselect1=['select * from ] + gcS + [.vact where 1=2'] + pcfiltru1=[(luna=]+Alltrim(Str(gnLuna))+[ and an=]+Alltrim(Str(gnAn))+[) and (SCD=]+Substr(locont.Cont,1,4)+[ or scc=]+Substr(locont.Cont,1,4)+[)] + pcorder1=[''] + llAfisare=.F. + *!* gencursor('poact','act',pcselect1,pcfiltru1,pcschema1,pcorder1,llAfisare) + gencursor('poact','acn1',pcselect1,pcfiltru1,pcschema1,pcorder1,llAfisare) + poact.ca_baza1.afisare() + + *!* SELE ACT + *!* SET FILTER TO SCD=SUBSTR(locont.CONT,1,4) AND !DELETED() + *!* Do NRORD With "ACT" + *!* ORC=Createobj("AFDEBCRED") + *!* ORC.LABELTITLU.Caption="FISA CONTULUI "+locont.Cont + *!* ORC.ALI = 'ACT' + *!* ORC.Show(1) + + Do NRORD With "ACN1" + SELECT acn1 + GO TOP + ORC=Createobject("frm_debcred") + orc.lb_titlu_alb_b121.caption=thisform.lb_titlu_alb_b121.caption+" - FISA CONTULUI "+locont.Cont + orc.lb_titlu1.caption="FISA CONTULUI "+locont.Cont + orc._grdbase1.removeobject("cUtil") + orc._grdbase1.removeobject("cDataOra") + ORC.Show(1) + + *!* SELECT act + *!* SET FILTER TO + Use In acn1 + Release poact + Select(lcbal) + ENDPROC + + PROCEDURE inainte_de_do_excel + If Thisform.lactiv1 + This.do_excel + Endif + ENDPROC + + PROCEDURE inainte_de_do_listare + If Thisform.lactiv2 + This.do_listare + Endif + ENDPROC + + PROCEDURE inainte_de_do_modifica + If !Thisform.lactiv3 Or glLunaInchisa + Return + Endif + Thisform.meniu_as + Thisform.grID1.SetFocus + ENDPROC + + PROCEDURE inainte_de_do_reface + If Thisform.lactiv4 And !glLunaInchisa + This.do_reface() + Endif + + ENDPROC + + PROCEDURE Init + lnLungimeBanda = Thisform.but_termin1.Width + 10 + lnPozitieButon = Thisform.but_termin1.Left + lnLungimeButon = Thisform.but_termin1.Width + 1 && 30 + 1 (spatiu) + lnOffsetBanda = 6 && diferenta dintre _shape2.left si but_termin1.left + + If !Empty(gcAcces) + && format gcAcces = [optiune1];[optiune2];...;[optiuneN]; && + Local lcAcces,lnPozitieS,lnPozitieF,N + lnPozitieS=1 + For i=1 To Occurs([;],gcAcces) + lnPozitieF=At([;],gcAcces,i) + lcAcces=Substr(gcAcces,lnPozitieS,lnPozitieF-lnPozitieS) + lcProp='thisform.lactiv'+Alltrim(lcAcces) + If Type(lcProp)<>'U' + &lcProp=.T. + lcProp='thisform.cbuton'+Alltrim(lcAcces) + If Type(lcProp)<>'U' And !Empty(&lcProp) + && format lcButoane = [nume_buton1];[nume_buton2];...;[nume_butonN]; && + lcButoane=&lcProp + lnPS=1 + lcButoane=Iif(Substr(lcButoane,Len(lcButoane)-1)=[;],lcButoane,lcButoane+[;]) + For j=1 To Occurs([;],lcButoane) + lnPF=At([;],lcButoane,j) + lcButon=Substr(lcButoane,lnPS,lnPF-lnPS) + lcProp='thisform.'+Alltrim(lcButon)+'.visible' + If Type(lcProp)<>'U' + &lcProp=.T. + Endif + lnPS=lnPF+1 + Endfor + Endif + Endif + lnPozitieS=lnPozitieF+1 + Endfor + Endif + + If Thisform.lactiv2 + lnPozitieButon = lnPozitieButon - lnLungimeButon + lnLungimeBanda = lnLungimeBanda + lnLungimeButon + Thisform.but_listare1.Left = lnPozitieButon + Endif + If Thisform.lactiv1 + lnPozitieButon = lnPozitieButon - lnLungimeButon + lnLungimeBanda = lnLungimeBanda + lnLungimeButon + Thisform.but_excel1.Left = lnPozitieButon + Endif + If Thisform.lactiv3 AND !glLunaInchisa + lnPozitieButon = lnPozitieButon - lnLungimeButon + lnLungimeBanda = lnLungimeBanda + lnLungimeButon + thisform.but_modifica1.Left = lnPozitieButon + Endif + If Thisform.lactiv4 AND !glLunaInchisa + lnPozitieButon = lnPozitieButon - lnLungimeButon + lnLungimeBanda = lnLungimeBanda + lnLungimeButon + Thisform.BUT_reface1.Left = lnPozitieButon + ENDIF + WITH thisform._shape2 + * With Thisform.banda_alba + .Width = lnLungimeBanda + .Left = lnPozitieButon - lnOffsetBanda + Endwith + this.but_reface1.Visible=!glLunaInchisa + this.but_moDIFICA1.Visible=!glLunaInchisa + Public sz + This.calias=This.grid1.RecordSource && TBALANTA + Private lcbal + lcbal=Thisform.calias + + Select(lcbal) + Go Top + + Public m.sprecdeb1,m.spreccred1,m.sprecdeb,m.spreccred,m.sruldeb,m.srulcred,m.stotdeb,m.stotcred,m.ssolddeb,m.ssoldcred + Store 0.0000 To m.sprecdeb1,m.spreccred1,m.sprecdeb,m.spreccred,m.sruldeb,m.srulcred,m.stotdeb,m.stotcred,m.ssolddeb,m.ssoldcred + + With Thisform.grid1 + .cprecdeb1.Width=0 + .cpreccred1.Width=0 + Endwith + Thisform.afisactual + *!* DO verif_balana + *!* thisform.oafbalana=crea('afbalana') + + ENDPROC + + PROCEDURE in_bal + Parameters tcCont,tcAcont,tlCalculeaza + Private lcCont,lcField,lcOldAlias,lcTabela + lcOldAlias=Alias() + lcField=This.cfield + lnvalue=This.nnewvalue + lnOldValue=This.noldvalue + + If lnvalue=lnOldValue + Return + Endif + + If Empty(tcAcont) + lcAcont="" + Else + lcAcont=Upper(Alltrim(tcAcont)) + Endif + + If Empty(tcCont) + lcCont="" + Else + lcCont=Upper(Alltrim(tcCont)) + Endif + + If !Empty(lcAcont) + lcTabela="balana" + lcCond=[TRIM(UPPER(cont))=']+lcCont+[' and TRIM(UPPER(acont))=']+lcAcont+[' and an = ] + ALLTRIM(STR(gnAn)) + [ and luna = ] + ALLTRIM(STR(gnLuna)) + Else + lcTabela="bal" + lcCond=[TRIM(UPPER(cont))=']+lcCont+[' and an = ] + ALLTRIM(STR(gnAn)) + [ and luna = ] + ALLTRIM(STR(gnLuna)) + Endif + + *!* If !EXISTACAMP(lcTabela,lcField) && DACA NU EXISTA CAMPUL NU FAC NIMIC + *!* Return + *!* Endif + + && setare zecimale + pcexec=[update ]+ALLTRIM(gcS)+[.]+ALLTRIM(lcTabela)+[ set ]+ALLTRIM(lcField)+[=]+ALLTRIM(STR(lnvalue,24,4))+[ ]+; + [where ]+lcCond + lnSucces=goExecutor.oexecute(pcexec) + If lnSucces < 0 + lcTextEroare = goExecutor.cEroare + Messagebox(lcTextEroare,48,"Eroare") + Return + Endif + + If tlCalculeaza + This.calculeaza_orizontal() + Endif + + If !Empty(lcOldAlias) + Select (lcOldAlias) + Endif + ENDPROC + + PROCEDURE meniu_as + Private lcbal + lcbal=Thisform.calias + + If Thisform.grid1.ReadOnly + lcText=[\=0, RGB(0,0,0), RGB(255,0,0)) + ENDPROC + + PROCEDURE pf.p1.Text2.Refresh + THIS.FORECOLOR=IIF(M.SPRECCRED>=0, RGB(0,0,0), RGB(255,0,0)) + ENDPROC + + PROCEDURE pf.p1.Text3.Refresh + THIS.FORECOLOR=IIF(M.SRULCRED>=0, RGB(0,0,0), RGB(255,0,0)) + ENDPROC + + PROCEDURE pf.p1.Text4.Refresh + THIS.FORECOLOR=IIF(M.SRULDEB>=0, RGB(0,0,0), RGB(255,0,0)) + ENDPROC + + PROCEDURE pf.p1.Text5.Refresh + THIS.FORECOLOR=IIF(M.STOTDEB>=0, RGB(0,0,0), RGB(255,0,0)) + ENDPROC + + PROCEDURE pf.p1.Text6.Refresh + THIS.FORECOLOR=IIF(M.STOTCRED>=0, RGB(0,0,0), RGB(255,0,0)) + ENDPROC + + PROCEDURE pf.p1.Text7.Init + sum solddeb to m.ssolddeb + this.refresh + ENDPROC + + PROCEDURE pf.p1.Text8.Init + sum soldcred to m.ssoldcred + this.refresh + ENDPROC + + PROCEDURE pf.p1.txtpreccred1.Refresh + THIS.FORECOLOR=IIF(M.SPRECCRED1>=0, RGB(0,0,0), RGB(255,0,0)) + ENDPROC + + PROCEDURE pf.p1.txtprecdeb1.Refresh + THIS.FORECOLOR=IIF(M.SPRECDEB1>=0, RGB(0,0,0), RGB(255,0,0)) + ENDPROC + + PROCEDURE pf.P2.ckanalitic.Click + + + ENDPROC + + PROCEDURE pf.P2.ckanalitic.Valid + thisform.afisactual + ENDPROC + + PROCEDURE pf.P2.cksold1.Click + + + ENDPROC + + PROCEDURE pf.P2.cksold1.Valid + IF this.Value=0 + WITH thisform.grid1 + .cprecdeb1.width=0 + .cprecdeb1.visible=.F. && cont2003 oracle + .cpreccred1.width=0 + .cpreccred1.visible=.F. + ENDWITH + WITH thisform.pf.p1 + .lblsld1.Visible=.F. + .txtprecdeb1.Visible=.F. + .txtpreccred1.Visible=.F. + .lbldebit.Left=.text1.left-45 + .lblcredit.Left=.text2.left-45 + .check1.Left=.label8.left-45 + ENDWITH + ELSE + + WITH thisform.grid1 + .cprecdeb1.width=72 + .cprecdeb1.visible=.T. + .cpreccred1.width=72 + .cpreccred1.visible=.T. + ENDWITH + WITH thisform.pf.p1 + .lblsld1.Visible=.T. + .txtprecdeb1.Visible=.T. + .txtpreccred1.Visible=.T. + .lbldebit.Left=.txtprecdeb1.left-45 + .lblcredit.Left=.txtpreccred1.left-45 + .check1.Left=.lblsld1.left-45 + ENDWITH + ENDIF + + ENDPROC + + PROCEDURE pf.P2.cktotal1.Valid + thisform.afisactual + ENDPROC + + PROCEDURE pf.P2.cktotal2.Valid + thisform.afisactual + ENDPROC + + PROCEDURE pf.P2.cktotal3.Valid + thisform.afisactual + ENDPROC + + PROCEDURE pf.P2.cktotal4.Valid + thisform.afisactual + ENDPROC + + PROCEDURE pf.P2.Ck_cont.Valid + thisform.afisactual + ENDPROC + + PROCEDURE pf.p3.Optiongroup1.Option1.Click + *!* lcbal=thisform.calias + + *!* THIS.PARENT.OPTION2.ENABLED=.F. + *!* THIS.PARENT.OPTION3.ENABLED=.F. + *!* THIS.PARENT.OPTION4.ENABLED=.F. + *!* THIS.PARENT.OPTION5.ENABLED=.F. + + *!* SELECT(LCBAL) + *!* SET FILTER TO !DELETED() + THISFORM.GRID1.SetFocus + ENDPROC + + PROCEDURE pf.p3.Optiongroup1.Option2.Click + thisform.fisacont + THIS.parent.Value=8 && balanta + ENDPROC + + PROCEDURE pf.p3.Optiongroup1.Option3.Click + THISFORM.RULDEB + THIS.parent.Value=8 && balanta + ENDPROC + + PROCEDURE pf.p3.Optiongroup1.Option4.Click + THISFORM.RULCRED + THIS.parent.Value=8 && balanta + ENDPROC + + PROCEDURE pf.p3.Optiongroup1.Option5.Click + THISFORM.RULDEBCRED + THIS.parent.Value=8 && balanta + ENDPROC + + PROCEDURE pf.p3.Optiongroup1.Option6.Click + THISFORM.TOTDEB + THIS.parent.Value=8 && balanta + ENDPROC + + PROCEDURE pf.p3.Optiongroup1.Option7.Click + THISFORM.TOTCRED + THIS.parent.Value=8 && balanta + ENDPROC + + PROCEDURE pf.p3.Optiongroup1.Option8.Click + THISFORM.TOTDEBCRED + THIS.parent.Value=8 && balanta + ENDPROC + + PROCEDURE txtcont.Valid + thisform.txtcont2.Value = this.Value + thisform.afisactual + + ENDPROC + + PROCEDURE Txtcont2.Valid + thisform.afisactual + ENDPROC + +ENDDEFINE diff --git a/ferestre/afisbal_val.sc2 b/ferestre/afisbal_val.sc2 new file mode 100644 index 0000000..a479f53 --- /dev/null +++ b/ferestre/afisbal_val.sc2 @@ -0,0 +1,3440 @@ +*-------------------------------------------------------------------------------------------------------------------------------------------------------- +* (EN) AUTOGENERATED - ATTENTION!! - NOT INTENDED FOR EXECUTION!! USE ONLY FOR MERGING CHANGES AND STORING WITH SCM TOOLS!! +*-------------------------------------------------------------------------------------------------------------------------------------------------------- +*< FOXBIN2PRG: Version="1.21" SourceFile="afisbal_val.scx" CPID="1252" /> (Solo para binarios VFP 9 / Only for VFP 9 binaries) +* +* +DEFINE CLASS dataenvironment AS dataenvironment + *< CLASSDATA: Baseclass="dataenvironment" Timestamp="" Scale="" Uniqueid="" ClassIcon="1" /> + + * + DataSource = .NULL. + Height = 200 + Left = 45 + Name = "Dataenvironment" + Top = 86 + Width = 520 + * + +ENDDEFINE + +DEFINE CLASS ffergen1 AS formtermin OF "..\clase\_frm_base.vcx" + *< CLASSDATA: Baseclass="form" Timestamp="" Scale="" Uniqueid="" /> + + *-- OBJECTDATA items order determines ZOrder / El orden de los items OBJECTDATA determina el ZOrder + *< OBJECTDATA: ObjPath="Optiongroup1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="But_listare1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="But_excel1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="oMenuShortcut" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="Grid1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="Grid1.ccont.Header1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="Grid1.ccont.Text1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="Grid1.cdenumire.Header2" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="Grid1.cdenumire.Text1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="Grid1.cprecdeb.Header3" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="Grid1.cprecdeb.Text1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="Grid1.cpreccred.Header4" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="Grid1.cpreccred.Text1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="Grid1.cruldeb.Header5" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="Grid1.cruldeb.Text1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="Grid1.crulcred.Header6" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="Grid1.crulcred.Text1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="Grid1.ctotdeb.Header7" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="Grid1.ctotdeb.Text1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="Grid1.ctotcred.Header8" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="Grid1.ctotcred.Text1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="Grid1.csoldcred.Header1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="Grid1.csoldcred.Text1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="Grid1.csolddeb.Header1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="Grid1.csolddeb.Text1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="Grid1.cacont.Header1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="Grid1.cacont.Text1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="Grid1.cprecdeb1.Header1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="Grid1.cprecdeb1.Text1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="Grid1.cpreccred1.Header1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="Grid1.cpreccred1.Text1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="But_reface1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="Label3" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="pf" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="pf.p1.Shape1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="pf.p1.Label5" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="pf.p1.Text7" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="pf.p1.Text8" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="pf.p1.Label2" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="pf.p1.Label4" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="pf.p1.Text1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="pf.p1.txtprecdeb1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="pf.p1.Text2" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="pf.p1.txtpreccred1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="pf.p1.Text3" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="pf.p1.Text5" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="pf.p1.Text4" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="pf.p1.Text6" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="pf.p1.Label8" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="pf.p1.lblsld1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="pf.p1.lbldebit" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="pf.p1.Check1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="pf.p1.lblcredit" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="pf.P2.Shape1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="pf.P2.cktotal4" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="pf.P2.ckanalitic" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="pf.P2.cktotal2" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="pf.P2.cktotal1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="pf.P2.cktotal3" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="pf.P2.cksold1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="pf.P2.Ck_cont" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="pf.p3.Shape1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="pf.p3.Optiongroup1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="pf.P4.Shape1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="pf.P4.opt1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="pf.P4.opt2" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="Resizer1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="txtcont" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="Label1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="Label4" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="But_modifica1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="Txtcont2" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="Ct2" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="Label2" UniqueID="" Timestamp="" /> + + * + *m: adauga_linie + *m: afisactual + *m: butapend + *m: butdrept + *m: calculeaza + *m: calculeaza_orizontal + *m: calculeaza_vertical + *m: cfield_assign + *m: fisacont + *m: in_bal + *m: meniu_as + *m: reconstruct + *m: rulcred + *m: ruldeb + *m: ruldebcred + *m: sterge_linie + *m: totcred + *m: totdeb + *m: totdebcred + *p: calias + *p: ccont + *p: cfield + *p: nnewvalue + *p: noldvalue + *p: oafbalana + * + + * + AlwaysOnTop = .F. + BackColor = 255,255,255 + BorderStyle = 1 + calias = TBALANTA + cfield = + DoCreate = .T. + Height = 478 + Name = "Ffergen1" + nnewvalue = 0 + noldvalue = 0 + ScrollBars = 0 + Width = 806 + WindowType = 1 + _shape1.Anchor = 11 + _shape1.Height = 29 + _shape1.Left = 0 + _shape1.Name = "_shape1" + _shape1.Top = 0 + _shape1.Width = 804 + _shape2.Anchor = 9 + _shape2.Height = 29 + _shape2.Left = 635 + _shape2.Name = "_shape2" + _shape2.Top = 0 + _shape2.Width = 160 + Lb_titlu_alb_b121.Caption = "BALANTA DE VERIFICARE" + Lb_titlu_alb_b121.Name = "Lb_titlu_alb_b121" + BUT_TERMIN1.Comment = "*:OnResize=RT" + BUT_TERMIN1.Left = 763 + BUT_TERMIN1.Name = "BUT_TERMIN1" + BUT_TERMIN1.Top = 1 + * + + ADD OBJECT 'But_excel1' AS but_excel WITH ; + Comment = "*:OnResize=RT", ; + Left = 734, ; + Name = "But_excel1", ; + Top = 1 + *< END OBJECT: ClassLib="..\clase\cmd_butoane.vcx" BaseClass="commandbutton" /> + + ADD OBJECT 'But_listare1' AS but_listare WITH ; + Comment = "*:OnResize=RT", ; + Left = 705, ; + Name = "But_listare1", ; + Top = 1 + *< END OBJECT: ClassLib="..\clase\cmd_butoane.vcx" BaseClass="commandbutton" /> + + ADD OBJECT 'But_modifica1' AS but_modifica WITH ; + Comment = "*:OnResize=RT", ; + Left = 672, ; + Name = "But_modifica1", ; + Top = 1 + *< END OBJECT: ClassLib="..\clase\cmd_butoane.vcx" BaseClass="commandbutton" /> + + ADD OBJECT 'But_reface1' AS but_reface WITH ; + Comment = "*:OnResize=RT", ; + Left = 640, ; + Name = "But_reface1", ; + Top = 1 + *< END OBJECT: ClassLib="..\clase\cmd_butoane.vcx" BaseClass="commandbutton" /> + + ADD OBJECT 'Ct2' AS ct WITH ; + Height = 23, ; + Left = 65, ; + Name = "Ct2", ; + Top = 113, ; + Width = 52, ; + Shape1.Name = "Shape1", ; + Text1.Name = "Text1", ; + Text2.Name = "Text2", ; + Text3.Name = "Text3", ; + Text4.Name = "Text4", ; + Line1.Name = "Line1", ; + Line2.Name = "Line2", ; + Line3.Name = "Line3" + *< END OBJECT: ClassLib="..\clase\ferestre_cere_date_nou.vcx" BaseClass="container" /> + + ADD OBJECT 'Grid1' AS grid WITH ; + BackColor = 255,255,255, ; + ColumnCount = 13, ; + Comment = "*:OnResize=SS", ; + DeleteMark = .F., ; + FontName = "Arial Narrow", ; + FontSize = 9, ; + GridLineColor = 192,192,192, ; + Height = 322, ; + Left = 0, ; + Name = "Grid1", ; + Panel = 1, ; + ReadOnly = .T., ; + RecordSource = "TBALANTA", ; + RowHeight = 19, ; + TabIndex = 4, ; + Top = 143, ; + Width = 799, ; + ZOrderSet = 9, ; + Column1.Alignment = 0, ; + Column1.BackColor = 255,255,255, ; + Column1.ColumnOrder = 1, ; + Column1.ControlSource = "CONT", ; + Column1.FontName = "Arial Narrow", ; + Column1.FontSize = 9, ; + Column1.Format = "", ; + Column1.InputMask = "", ; + Column1.Name = "ccont", ; + Column1.ReadOnly = .T., ; + Column1.Width = 29, ; + Column2.Alignment = 0, ; + Column2.BackColor = 255,255,255, ; + Column2.ColumnOrder = 3, ; + Column2.ControlSource = "DENUMIRE", ; + Column2.FontName = "Arial Narrow", ; + Column2.FontSize = 9, ; + Column2.Name = "cdenumire", ; + Column2.ReadOnly = .T., ; + Column2.Width = 141, ; + Column3.Alignment = 1, ; + Column3.BackColor = 187,235,255, ; + Column3.ColumnOrder = 6, ; + Column3.ControlSource = "PRECDEB", ; + Column3.DynamicForeColor = "IIF(PRECDEB>=0, RGB(0,0,0), RGB(255,0,0))", ; + Column3.FontName = "Arial Narrow", ; + Column3.FontSize = 9, ; + Column3.Format = "r", ; + Column3.InputMask = (get_mask(16,gnPA)), ; + Column3.Name = "cprecdeb", ; + Column3.ReadOnly = .T., ; + Column3.Width = 72, ; + Column4.Alignment = 1, ; + Column4.BackColor = 187,235,255, ; + Column4.ColumnOrder = 7, ; + Column4.ControlSource = "PRECCRED", ; + Column4.DynamicForeColor = "IIF(PRECCRED>=0, RGB(0,0,0), RGB(255,0,0))", ; + Column4.FontName = "Arial Narrow", ; + Column4.FontSize = 9, ; + Column4.Format = "r", ; + Column4.InputMask = (get_mask(16,gnPA)), ; + Column4.Name = "cpreccred", ; + Column4.ReadOnly = .T., ; + Column4.Width = 72, ; + Column5.Alignment = 1, ; + Column5.BackColor = 236,249,255, ; + Column5.ColumnOrder = 8, ; + Column5.ControlSource = "RULDEB", ; + Column5.DynamicForeColor = "IIF(RULDEB>=0, RGB(0,0,0), RGB(255,0,0))", ; + Column5.FontName = "Arial Narrow", ; + Column5.FontSize = 9, ; + Column5.Format = "R", ; + Column5.InputMask = (get_mask(16,gnPA)), ; + Column5.Name = "cruldeb", ; + Column5.ReadOnly = .T., ; + Column5.Width = 72, ; + Column6.Alignment = 1, ; + Column6.BackColor = 236,249,255, ; + Column6.ColumnOrder = 9, ; + Column6.ControlSource = "RULCRED", ; + Column6.DynamicForeColor = "IIF(RULCRED>=0, RGB(0,0,0), RGB(255,0,0))", ; + Column6.FontName = "Arial Narrow", ; + Column6.FontSize = 9, ; + Column6.Format = "R", ; + Column6.InputMask = (get_mask(16,gnPA)), ; + Column6.Name = "crulcred", ; + Column6.ReadOnly = .T., ; + Column6.Width = 73, ; + Column7.Alignment = 1, ; + Column7.BackColor = 187,235,255, ; + Column7.ColumnOrder = 10, ; + Column7.ControlSource = "TOTDEB", ; + Column7.DynamicForeColor = "IIF(TOTDEB>=0, RGB(0,0,0), RGB(255,0,0))", ; + Column7.FontName = "Arial Narrow", ; + Column7.FontSize = 9, ; + Column7.Format = "r", ; + Column7.InputMask = (get_mask(16,gnPA)), ; + Column7.Name = "ctotdeb", ; + Column7.ReadOnly = .T., ; + Column7.Width = 83, ; + Column8.Alignment = 1, ; + Column8.BackColor = 187,235,255, ; + Column8.ColumnOrder = 11, ; + Column8.ControlSource = "TOTCRED", ; + Column8.DynamicForeColor = "IIF(TOTCRED>=0, RGB(0,0,0), RGB(255,0,0))", ; + Column8.FontName = "Arial Narrow", ; + Column8.FontSize = 9, ; + Column8.Format = "r", ; + Column8.InputMask = (get_mask(16,gnPA)), ; + Column8.Name = "ctotcred", ; + Column8.ReadOnly = .T., ; + Column8.Width = 85, ; + Column9.Alignment = 1, ; + Column9.BackColor = 236,249,255, ; + Column9.ColumnOrder = 13, ; + Column9.ControlSource = "SOLDCRED", ; + Column9.DynamicForeColor = "IIF(SOLDCRED>=0, RGB(0,0,0), RGB(255,0,0))", ; + Column9.FontName = "Arial Narrow", ; + Column9.FontSize = 9, ; + Column9.Format = "r", ; + Column9.InputMask = (get_mask(16,gnPA)), ; + Column9.Name = "csoldcred", ; + Column9.ReadOnly = .T., ; + Column9.Width = 70, ; + Column10.Alignment = 1, ; + Column10.BackColor = 236,249,255, ; + Column10.ColumnOrder = 12, ; + Column10.ControlSource = "SOLDDEB", ; + Column10.DynamicForeColor = "IIF(SOLDDEB>=0, RGB(0,0,0), RGB(255,0,0))", ; + Column10.FontName = "Arial Narrow", ; + Column10.FontSize = 9, ; + Column10.Format = "r", ; + Column10.InputMask = (get_mask(16,gnPA)), ; + Column10.Name = "csolddeb", ; + Column10.ReadOnly = .T., ; + Column10.Width = 66, ; + Column11.BackColor = 255,255,255, ; + Column11.ColumnOrder = 2, ; + Column11.ControlSource = "ACONT", ; + Column11.FontName = "Arial Narrow", ; + Column11.FontSize = 9, ; + Column11.Name = "cacont", ; + Column11.ReadOnly = .T., ; + Column11.Width = 40, ; + Column12.BackColor = 236,249,255, ; + Column12.ColumnOrder = 4, ; + Column12.ControlSource = "precdeb1", ; + Column12.FontName = "Arial Narrow", ; + Column12.FontSize = 9, ; + Column12.Format = "RK", ; + Column12.InputMask = (get_mask(18,gnPA)), ; + Column12.Name = "cprecdeb1", ; + Column12.ReadOnly = .T., ; + Column12.Visible = .F., ; + Column12.Width = 0, ; + Column13.BackColor = 236,249,255, ; + Column13.ColumnOrder = 5, ; + Column13.ControlSource = "preccred1", ; + Column13.FontName = "Arial Narrow", ; + Column13.FontSize = 9, ; + Column13.Format = "RK", ; + Column13.InputMask = (get_mask(18,gnPA)), ; + Column13.Name = "cpreccred1", ; + Column13.ReadOnly = .T., ; + Column13.Visible = .F., ; + Column13.Width = 0 + *< END OBJECT: BaseClass="grid" /> + + ADD OBJECT 'Grid1.cacont.Header1' AS header WITH ; + Alignment = 2, ; + Caption = "Analitic", ; + FontName = "Arial Narrow", ; + Name = "Header1" + *< END OBJECT: BaseClass="header" /> + + ADD OBJECT 'Grid1.cacont.Text1' AS textbox WITH ; + BackColor = 255,255,255, ; + BorderStyle = 0, ; + FontName = "Arial Narrow", ; + ForeColor = 0,0,0, ; + Margin = 0, ; + Name = "Text1", ; + ReadOnly = .T. + *< END OBJECT: BaseClass="textbox" /> + + ADD OBJECT 'Grid1.ccont.Header1' AS header WITH ; + Alignment = 2, ; + Caption = "Cont", ; + FontName = "Arial Narrow", ; + FontSize = 9, ; + Name = "Header1" + *< END OBJECT: BaseClass="header" /> + + ADD OBJECT 'Grid1.ccont.Text1' AS textbox WITH ; + Alignment = 0, ; + BackColor = 255,255,255, ; + BorderStyle = 0, ; + FontName = "Arial Narrow", ; + FontSize = 9, ; + ForeColor = 0,0,0, ; + Margin = 0, ; + Name = "Text1", ; + ReadOnly = .T. + *< END OBJECT: BaseClass="textbox" /> + + ADD OBJECT 'Grid1.cdenumire.Header2' AS header WITH ; + Alignment = 2, ; + Caption = "Denumire", ; + FontName = "Arial Narrow", ; + FontSize = 9, ; + Name = "Header2" + *< END OBJECT: BaseClass="header" /> + + ADD OBJECT 'Grid1.cdenumire.Text1' AS textbox WITH ; + Alignment = 0, ; + BackColor = 255,255,255, ; + BorderStyle = 0, ; + FontName = "Arial Narrow", ; + FontSize = 9, ; + ForeColor = 0,0,0, ; + Margin = 0, ; + Name = "Text1", ; + ReadOnly = .T. + *< END OBJECT: BaseClass="textbox" /> + + ADD OBJECT 'Grid1.cpreccred.Header4' AS header WITH ; + Alignment = 2, ; + Caption = "Prec.Credit", ; + FontName = "Arial Narrow", ; + FontSize = 9, ; + Name = "Header4" + *< END OBJECT: BaseClass="header" /> + + ADD OBJECT 'Grid1.cpreccred.Text1' AS textbox WITH ; + Alignment = 1, ; + BackColor = 187,235,255, ; + BorderStyle = 0, ; + FontName = "Arial Narrow", ; + FontSize = 9, ; + ForeColor = 0,0,0, ; + Margin = 0, ; + Name = "Text1", ; + ReadOnly = .T. + *< END OBJECT: BaseClass="textbox" /> + + ADD OBJECT 'Grid1.cpreccred1.Header1' AS header WITH ; + Alignment = 2, ; + Caption = "Sold Credit 1 ian. ", ; + FontName = "Arial Narrow", ; + Name = "Header1" + *< END OBJECT: BaseClass="header" /> + + ADD OBJECT 'Grid1.cpreccred1.Text1' AS textbox WITH ; + BackColor = 236,249,255, ; + BorderStyle = 0, ; + FontName = "Arial Narrow", ; + ForeColor = 0,0,0, ; + Margin = 0, ; + Name = "Text1", ; + Visible = .F. + *< END OBJECT: BaseClass="textbox" /> + + ADD OBJECT 'Grid1.cprecdeb.Header3' AS header WITH ; + Alignment = 2, ; + Caption = "Prec.Debit", ; + FontName = "Arial Narrow", ; + FontSize = 9, ; + Name = "Header3" + *< END OBJECT: BaseClass="header" /> + + ADD OBJECT 'Grid1.cprecdeb.Text1' AS textbox WITH ; + Alignment = 1, ; + BackColor = 187,235,255, ; + BorderStyle = 0, ; + FontName = "Arial Narrow", ; + FontSize = 9, ; + ForeColor = 0,0,0, ; + Margin = 0, ; + Name = "Text1", ; + ReadOnly = .T. + *< END OBJECT: BaseClass="textbox" /> + + ADD OBJECT 'Grid1.cprecdeb1.Header1' AS header WITH ; + Alignment = 2, ; + Caption = "Sold Debit 1 ian.", ; + FontName = "Arial Narrow", ; + Name = "Header1" + *< END OBJECT: BaseClass="header" /> + + ADD OBJECT 'Grid1.cprecdeb1.Text1' AS textbox WITH ; + BackColor = 236,249,255, ; + BorderStyle = 0, ; + FontName = "Arial Narrow", ; + ForeColor = 0,0,0, ; + Margin = 0, ; + Name = "Text1", ; + Visible = .F. + *< END OBJECT: BaseClass="textbox" /> + + ADD OBJECT 'Grid1.crulcred.Header6' AS header WITH ; + Alignment = 2, ; + Caption = "Rul.Credit", ; + FontName = "Arial Narrow", ; + FontSize = 9, ; + Name = "Header6" + *< END OBJECT: BaseClass="header" /> + + ADD OBJECT 'Grid1.crulcred.Text1' AS textbox WITH ; + Alignment = 1, ; + BackColor = 236,249,255, ; + BorderColor = 0,0,0, ; + BorderStyle = 0, ; + FontName = "Arial Narrow", ; + FontSize = 9, ; + ForeColor = 0,0,0, ; + Margin = 0, ; + Name = "Text1", ; + ReadOnly = .T. + *< END OBJECT: BaseClass="textbox" /> + + ADD OBJECT 'Grid1.cruldeb.Header5' AS header WITH ; + Alignment = 2, ; + Caption = "Rul.Debit", ; + FontName = "Arial Narrow", ; + FontSize = 9, ; + Name = "Header5" + *< END OBJECT: BaseClass="header" /> + + ADD OBJECT 'Grid1.cruldeb.Text1' AS textbox WITH ; + Alignment = 1, ; + BackColor = 236,249,255, ; + BorderStyle = 0, ; + FontName = "Arial Narrow", ; + FontSize = 9, ; + ForeColor = 0,0,0, ; + Margin = 0, ; + Name = "Text1", ; + ReadOnly = .T. + *< END OBJECT: BaseClass="textbox" /> + + ADD OBJECT 'Grid1.csoldcred.Header1' AS header WITH ; + Alignment = 2, ; + Caption = "Sold Credit", ; + FontName = "Arial Narrow", ; + FontSize = 9, ; + Name = "Header1" + *< END OBJECT: BaseClass="header" /> + + ADD OBJECT 'Grid1.csoldcred.Text1' AS textbox WITH ; + Alignment = 1, ; + BackColor = 236,249,255, ; + BorderStyle = 0, ; + FontName = "Arial Narrow", ; + FontSize = 9, ; + ForeColor = 0,0,0, ; + Margin = 0, ; + Name = "Text1", ; + ReadOnly = .T. + *< END OBJECT: BaseClass="textbox" /> + + ADD OBJECT 'Grid1.csolddeb.Header1' AS header WITH ; + Alignment = 2, ; + Caption = "Sold Debit", ; + FontName = "Arial Narrow", ; + FontSize = 9, ; + Name = "Header1" + *< END OBJECT: BaseClass="header" /> + + ADD OBJECT 'Grid1.csolddeb.Text1' AS textbox WITH ; + Alignment = 1, ; + BackColor = 236,249,255, ; + BorderStyle = 0, ; + FontName = "Arial Narrow", ; + FontSize = 9, ; + ForeColor = 0,0,0, ; + Margin = 0, ; + Name = "Text1", ; + ReadOnly = .T. + *< END OBJECT: BaseClass="textbox" /> + + ADD OBJECT 'Grid1.ctotcred.Header8' AS header WITH ; + Alignment = 2, ; + Caption = "Total Credit", ; + FontName = "Arial Narrow", ; + FontSize = 9, ; + Name = "Header8" + *< END OBJECT: BaseClass="header" /> + + ADD OBJECT 'Grid1.ctotcred.Text1' AS textbox WITH ; + Alignment = 1, ; + BackColor = 187,235,255, ; + BorderStyle = 0, ; + FontName = "Arial Narrow", ; + FontSize = 9, ; + ForeColor = 0,0,0, ; + Margin = 0, ; + Name = "Text1", ; + ReadOnly = .T. + *< END OBJECT: BaseClass="textbox" /> + + ADD OBJECT 'Grid1.ctotdeb.Header7' AS header WITH ; + Alignment = 2, ; + Caption = "Total Debit", ; + FontName = "Arial Narrow", ; + FontSize = 9, ; + Name = "Header7" + *< END OBJECT: BaseClass="header" /> + + ADD OBJECT 'Grid1.ctotdeb.Text1' AS textbox WITH ; + Alignment = 1, ; + BackColor = 187,235,255, ; + BorderStyle = 0, ; + FontName = "Arial Narrow", ; + FontSize = 9, ; + ForeColor = 0,0,0, ; + Margin = 0, ; + Name = "Text1", ; + ReadOnly = .T. + *< END OBJECT: BaseClass="textbox" /> + + ADD OBJECT 'Label1' AS label WITH ; + AutoSize = .T., ; + BackStyle = 0, ; + Caption = "Selectie cont", ; + Comment = "*:OnResize=LT", ; + FontBold = .F., ; + FontSize = 8, ; + Height = 16, ; + Left = 8, ; + Name = "Label1", ; + TabIndex = 13, ; + Top = 70, ; + Width = 64, ; + ZOrderSet = 15 + *< END OBJECT: BaseClass="label" /> + + ADD OBJECT 'Label2' AS label WITH ; + AutoSize = .T., ; + BackStyle = 0, ; + Caption = "De la", ; + Comment = "*:OnResize=LT", ; + FontBold = .F., ; + FontSize = 8, ; + Height = 16, ; + Left = 9, ; + Name = "Label2", ; + TabIndex = 13, ; + Top = 91, ; + Width = 26, ; + ZOrderSet = 19 + *< END OBJECT: BaseClass="label" /> + + ADD OBJECT 'Label3' AS label WITH ; + AutoSize = .T., ; + BackStyle = 0, ; + Caption = "Analitic", ; + Comment = "*:OnResize=LT", ; + FontBold = .F., ; + FontSize = 8, ; + Height = 16, ; + Left = 9, ; + Name = "Label3", ; + TabIndex = 13, ; + Top = 117, ; + Width = 37, ; + ZOrderSet = 20 + *< END OBJECT: BaseClass="label" /> + + ADD OBJECT 'Label4' AS label WITH ; + AutoSize = .T., ; + BackStyle = 0, ; + Caption = "la", ; + Comment = "*:OnResize=LT", ; + FontBold = .F., ; + FontSize = 8, ; + Height = 16, ; + Left = 75, ; + Name = "Label4", ; + TabIndex = 13, ; + Top = 91, ; + Width = 10, ; + ZOrderSet = 21 + *< END OBJECT: BaseClass="label" /> + + ADD OBJECT 'oMenuShortcut' AS menulib WITH ; + Left = 264, ; + Name = "oMenuShortcut", ; + TabIndex = 6, ; + Top = 6, ; + ZOrderSet = 8 + *< END OBJECT: ClassLib="..\clase\utility.vcx" BaseClass="container" /> + + ADD OBJECT 'Optiongroup1' AS optiongroup WITH ; + AutoSize = .T., ; + BackStyle = 0, ; + BorderStyle = 0, ; + ButtonCount = 10, ; + Comment = "*:OnResize=LT", ; + ControlSource = "", ; + Height = 79, ; + Left = 396, ; + Name = "Optiongroup1", ; + SpecialEffect = 1, ; + TabIndex = 11, ; + Top = 60, ; + Value = 1, ; + Width = 203, ; + ZOrderSet = 4, ; + Option1.AutoSize = .T., ; + Option1.BackStyle = 0, ; + Option1.Caption = "\ + + ADD OBJECT 'pf' AS pageframe WITH ; + Comment = "*:OnResize=ST", ; + ErasePage = .T., ; + Height = 109, ; + Left = 1, ; + Name = "pf", ; + PageCount = 4, ; + TabIndex = 5, ; + Top = 35, ; + Width = 800, ; + ZOrderSet = 12, ; + Page1.BackColor = 255,255,255, ; + Page1.Caption = "Total sume", ; + Page1.FontBold = .T., ; + Page1.Name = "p1", ; + Page2.BackColor = 255,255,255, ; + Page2.Caption = "Selectii", ; + Page2.FontBold = .T., ; + Page2.Name = "P2", ; + Page3.BackColor = 255,255,255, ; + Page3.Caption = "Fise de cont ", ; + Page3.FontBold = .T., ; + Page3.Name = "p3", ; + Page4.BackColor = 255,255,255, ; + Page4.Caption = "Listare", ; + Page4.FontBold = .T., ; + Page4.Name = "P4" + *< END OBJECT: BaseClass="pageframe" /> + + ADD OBJECT 'pf.p1.Check1' AS checkbox WITH ; + Alignment = 0, ; + BackStyle = 0, ; + Caption = "Sintetice", ; + Comment = "*:OnResize=RT", ; + FontName = "Arial Narrow", ; + Height = 19, ; + Left = 233, ; + Name = "Check1", ; + SpecialEffect = 0, ; + Style = 1, ; + Top = 6, ; + Visible = .T., ; + Width = 43 + *< END OBJECT: BaseClass="checkbox" /> + + ADD OBJECT 'pf.p1.Label2' AS label WITH ; + BackColor = 255,255,255, ; + BackStyle = 1, ; + BorderStyle = 1, ; + Caption = " Rulaje", ; + Comment = "*:OnResize=RT", ; + Height = 18, ; + Left = 405, ; + Name = "Label2", ; + Top = 7, ; + Width = 127, ; + ZOrderSet = 31 + *< END OBJECT: BaseClass="label" /> + + ADD OBJECT 'pf.p1.Label4' AS label WITH ; + BackColor = 255,255,255, ; + BackStyle = 1, ; + BorderStyle = 1, ; + Caption = " Total sume", ; + Comment = "*:OnResize=RT", ; + Height = 18, ; + Left = 533, ; + Name = "Label4", ; + Top = 7, ; + Width = 127, ; + ZOrderSet = 32 + *< END OBJECT: BaseClass="label" /> + + ADD OBJECT 'pf.p1.Label5' AS label WITH ; + BackColor = 255,255,255, ; + BackStyle = 1, ; + BorderStyle = 1, ; + Caption = " Solduri", ; + Comment = "*:OnResize=RT", ; + Height = 18, ; + Left = 661, ; + Name = "Label5", ; + Top = 7, ; + Width = 127, ; + ZOrderSet = 34 + *< END OBJECT: BaseClass="label" /> + + ADD OBJECT 'pf.p1.Label8' AS label WITH ; + BackColor = 255,255,255, ; + BackStyle = 1, ; + BorderStyle = 1, ; + Caption = " Total precedente", ; + Comment = "*:OnResize=RT", ; + Height = 18, ; + Left = 277, ; + Name = "Label8", ; + TabIndex = 19, ; + Top = 7, ; + Width = 127, ; + ZOrderSet = 16 + *< END OBJECT: BaseClass="label" /> + + ADD OBJECT 'pf.p1.lblcredit' AS label WITH ; + BackColor = 255,255,255, ; + BackStyle = 1, ; + BorderStyle = 1, ; + Caption = " Credit", ; + Comment = "*:OnResize=RT", ; + Height = 23, ; + Left = 234, ; + Name = "lblcredit", ; + TabIndex = 20, ; + Top = 50, ; + Width = 42, ; + ZOrderSet = 18 + *< END OBJECT: BaseClass="label" /> + + ADD OBJECT 'pf.p1.lbldebit' AS label WITH ; + BackColor = 255,255,255, ; + BackStyle = 1, ; + BorderStyle = 1, ; + Caption = " Debit", ; + Comment = "*:OnResize=RT", ; + Height = 23, ; + Left = 234, ; + Name = "lbldebit", ; + TabIndex = 20, ; + Top = 26, ; + Width = 42, ; + ZOrderSet = 17 + *< END OBJECT: BaseClass="label" /> + + ADD OBJECT 'pf.p1.lblsld1' AS label WITH ; + BackColor = 255,255,255, ; + BackStyle = 1, ; + BorderStyle = 1, ; + Caption = " Solduri 1 Ian.", ; + Comment = "*:OnResize=RT", ; + Height = 18, ; + Left = 148, ; + Name = "lblsld1", ; + TabIndex = 19, ; + Top = 7, ; + Visible = .F., ; + Width = 127, ; + ZOrderSet = 16 + *< END OBJECT: BaseClass="label" /> + + ADD OBJECT 'pf.p1.Shape1' AS shape WITH ; + BackColor = 236,249,255, ; + BorderStyle = 3, ; + Comment = "*:OnResize=ST", ; + Height = 76, ; + Left = 2, ; + Name = "Shape1", ; + Top = 1, ; + Width = 790 + *< END OBJECT: BaseClass="shape" /> + + ADD OBJECT 'pf.p1.Text1' AS textbox WITH ; + Alignment = 1, ; + Comment = "*:OnResize=RT", ; + ControlSource = "m.sprecdeb", ; + DisabledBackColor = 187,235,255, ; + Enabled = .T., ; + FontName = "Arial Narrow", ; + FontSize = 9, ; + Format = "r", ; + Height = 23, ; + InputMask = (get_mask(15,gnPA)), ; + Left = 277, ; + Name = "Text1", ; + ReadOnly = .T., ; + SpecialEffect = 1, ; + TabIndex = 6, ; + Top = 26, ; + Width = 127, ; + ZOrderSet = 10 + *< END OBJECT: BaseClass="textbox" /> + + ADD OBJECT 'pf.p1.Text2' AS textbox WITH ; + Alignment = 1, ; + Comment = "*:OnResize=RT", ; + ControlSource = "m.spreccred", ; + DisabledBackColor = 187,235,255, ; + Enabled = .T., ; + FontName = "Arial Narrow", ; + ForeColor = 0,0,0, ; + Format = "r", ; + Height = 23, ; + InputMask = (get_mask(15,gnPA)), ; + Left = 277, ; + Name = "Text2", ; + ReadOnly = .T., ; + SpecialEffect = 1, ; + TabIndex = 7, ; + Top = 50, ; + Width = 127, ; + ZOrderSet = 11 + *< END OBJECT: BaseClass="textbox" /> + + ADD OBJECT 'pf.p1.Text3' AS textbox WITH ; + Alignment = 1, ; + Comment = "*:OnResize=RT", ; + ControlSource = "m.srulcred", ; + DisabledBackColor = 236,249,255, ; + Enabled = .T., ; + FontName = "Arial Narrow", ; + Format = "r", ; + Height = 23, ; + InputMask = (get_mask(15,gnPA)), ; + Left = 405, ; + Name = "Text3", ; + ReadOnly = .T., ; + SpecialEffect = 1, ; + TabIndex = 8, ; + Top = 50, ; + Width = 127, ; + ZOrderSet = 12 + *< END OBJECT: BaseClass="textbox" /> + + ADD OBJECT 'pf.p1.Text4' AS textbox WITH ; + Alignment = 1, ; + Comment = "*:OnResize=RT", ; + ControlSource = "m.sruldeb", ; + DisabledBackColor = 236,249,255, ; + Enabled = .T., ; + FontName = "Arial Narrow", ; + Format = "r", ; + Height = 23, ; + InputMask = (get_mask(15,gnPA)), ; + Left = 405, ; + Name = "Text4", ; + ReadOnly = .T., ; + SpecialEffect = 1, ; + TabIndex = 10, ; + Top = 26, ; + Width = 127, ; + ZOrderSet = 14 + *< END OBJECT: BaseClass="textbox" /> + + ADD OBJECT 'pf.p1.Text5' AS textbox WITH ; + Alignment = 1, ; + Comment = "*:OnResize=RT", ; + ControlSource = "m.stotdeb", ; + DisabledBackColor = 187,235,255, ; + Enabled = .T., ; + FontName = "Arial Narrow", ; + Format = "r", ; + Height = 23, ; + InputMask = (get_mask(15,gnPA)), ; + Left = 533, ; + Name = "Text5", ; + ReadOnly = .T., ; + SpecialEffect = 1, ; + TabIndex = 9, ; + Top = 26, ; + Width = 127, ; + ZOrderSet = 13 + *< END OBJECT: BaseClass="textbox" /> + + ADD OBJECT 'pf.p1.Text6' AS textbox WITH ; + Alignment = 1, ; + Comment = "*:OnResize=RT", ; + ControlSource = "m.stotcred", ; + DisabledBackColor = 187,235,255, ; + Enabled = .T., ; + FontName = "Arial Narrow", ; + Format = "r", ; + Height = 23, ; + InputMask = (get_mask(15,gnPA)), ; + Left = 533, ; + Name = "Text6", ; + ReadOnly = .T., ; + SpecialEffect = 1, ; + TabIndex = 11, ; + Top = 50, ; + Width = 127, ; + ZOrderSet = 15 + *< END OBJECT: BaseClass="textbox" /> + + ADD OBJECT 'pf.p1.Text7' AS textbox WITH ; + Alignment = 1, ; + Comment = "*:OnResize=RT", ; + ControlSource = "m.ssolddeb", ; + DisabledBackColor = 236,249,255, ; + Enabled = .T., ; + FontName = "Arial Narrow", ; + FontSize = 9, ; + Format = "r", ; + Height = 23, ; + InputMask = (get_mask(15,gnPA)), ; + Left = 661, ; + Name = "Text7", ; + ReadOnly = .T., ; + SpecialEffect = 1, ; + TabIndex = 6, ; + Top = 26, ; + Width = 127, ; + ZOrderSet = 21 + *< END OBJECT: BaseClass="textbox" /> + + ADD OBJECT 'pf.p1.Text8' AS textbox WITH ; + Alignment = 1, ; + Comment = "*:OnResize=RT", ; + ControlSource = "m.ssoldcred", ; + DisabledBackColor = 236,249,255, ; + Enabled = .T., ; + FontName = "Arial Narrow", ; + Format = "r", ; + Height = 23, ; + InputMask = (get_mask(15,gnPA)), ; + Left = 661, ; + Name = "Text8", ; + ReadOnly = .T., ; + SpecialEffect = 1, ; + TabIndex = 7, ; + Top = 50, ; + Width = 127, ; + ZOrderSet = 22 + *< END OBJECT: BaseClass="textbox" /> + + ADD OBJECT 'pf.p1.txtpreccred1' AS textbox WITH ; + Alignment = 1, ; + Comment = "*:OnResize=RT", ; + ControlSource = "m.spreccred1", ; + DisabledBackColor = 236,249,255, ; + Enabled = .T., ; + FontName = "Arial Narrow", ; + ForeColor = 0,0,0, ; + Format = "r", ; + Height = 23, ; + InputMask = (get_mask(12,gnPA)), ; + Left = 148, ; + Name = "txtpreccred1", ; + ReadOnly = .T., ; + SpecialEffect = 1, ; + TabIndex = 7, ; + Top = 50, ; + Visible = .F., ; + Width = 127, ; + ZOrderSet = 11 + *< END OBJECT: BaseClass="textbox" /> + + ADD OBJECT 'pf.p1.txtprecdeb1' AS textbox WITH ; + Alignment = 1, ; + Comment = "*:OnResize=RT", ; + ControlSource = "m.sprecdeb1", ; + DisabledBackColor = 236,249,255, ; + Enabled = .T., ; + FontName = "Arial Narrow", ; + FontSize = 9, ; + Format = "r", ; + Height = 23, ; + InputMask = (get_mask(12,gnPA)), ; + Left = 148, ; + Name = "txtprecdeb1", ; + ReadOnly = .T., ; + SpecialEffect = 1, ; + TabIndex = 6, ; + Top = 26, ; + Visible = .F., ; + Width = 127, ; + ZOrderSet = 10 + *< END OBJECT: BaseClass="textbox" /> + + ADD OBJECT 'pf.P2.Ck_cont' AS ck_filtru_text WITH ; + Alignment = 0, ; + AutoSize = .T., ; + camp_nume = cont, ; + Caption = "Selectie cont", ; + Comment = "*:OnResize=ST", ; + FontName = "Courier New", ; + Left = 618, ; + Name = "Ck_cont", ; + Top = 36 + *< END OBJECT: ClassLib="..\clase\caut_ora.vcx" BaseClass="checkbox" /> + + ADD OBJECT 'pf.P2.ckanalitic' AS checkbox WITH ; + Alignment = 0, ; + AutoSize = .T., ; + BackStyle = 0, ; + Caption = "Conturi analitice", ; + Comment = "*:OnResize=LT", ; + ControlSource = "", ; + FontBold = .F., ; + FontName = "Courier New", ; + Height = 17, ; + Left = 464, ; + Name = "ckanalitic", ; + TabIndex = 4, ; + Top = 36, ; + Value = 0, ; + Width = 141, ; + ZOrderSet = 37 + *< END OBJECT: BaseClass="checkbox" /> + + ADD OBJECT 'pf.P2.cksold1' AS checkbox WITH ; + Alignment = 0, ; + AutoSize = .T., ; + BackStyle = 0, ; + Caption = "\ + + ADD OBJECT 'pf.P2.cktotal1' AS checkbox WITH ; + Alignment = 0, ; + AutoSize = .T., ; + BackStyle = 0, ; + Caption = "Total clase (gr.1)", ; + Comment = "*:OnResize=LT", ; + ControlSource = "", ; + FontBold = .F., ; + FontName = "Courier New", ; + Height = 17, ; + Left = 224, ; + Name = "cktotal1", ; + TabIndex = 2, ; + Top = 15, ; + Value = 0, ; + Width = 148, ; + ZOrderSet = 37 + *< END OBJECT: BaseClass="checkbox" /> + + ADD OBJECT 'pf.P2.cktotal2' AS checkbox WITH ; + Alignment = 0, ; + AutoSize = .T., ; + BackStyle = 0, ; + Caption = "Total grupe (gr.2)", ; + Comment = "*:OnResize=LT", ; + ControlSource = "", ; + FontBold = .F., ; + FontName = "Courier New", ; + Height = 17, ; + Left = 224, ; + Name = "cktotal2", ; + TabIndex = 3, ; + Top = 34, ; + Value = 0, ; + Width = 148, ; + ZOrderSet = 37 + *< END OBJECT: BaseClass="checkbox" /> + + ADD OBJECT 'pf.P2.cktotal3' AS checkbox WITH ; + Alignment = 0, ; + AutoSize = .T., ; + BackStyle = 0, ; + Caption = "Total conturi sintetice (gr.3)", ; + Comment = "*:OnResize=LT", ; + ControlSource = "", ; + FontBold = .F., ; + FontName = "Courier New", ; + Height = 17, ; + Left = 224, ; + Name = "cktotal3", ; + TabIndex = 5, ; + Top = 54, ; + Value = 0, ; + Width = 232, ; + ZOrderSet = 37 + *< END OBJECT: BaseClass="checkbox" /> + + ADD OBJECT 'pf.P2.cktotal4' AS checkbox WITH ; + Alignment = 0, ; + AutoSize = .T., ; + BackStyle = 0, ; + Caption = "Conturi", ; + Comment = "*:OnResize=LT", ; + ControlSource = "", ; + FontBold = .F., ; + FontName = "Courier New", ; + Height = 17, ; + Left = 464, ; + Name = "cktotal4", ; + TabIndex = 6, ; + Top = 16, ; + Value = 1, ; + Width = 71, ; + ZOrderSet = 37 + *< END OBJECT: BaseClass="checkbox" /> + + ADD OBJECT 'pf.P2.Shape1' AS shape WITH ; + BackColor = 236,249,255, ; + BorderStyle = 3, ; + Comment = "*:OnResize=ST", ; + Height = 76, ; + Left = 2, ; + Name = "Shape1", ; + Top = 1, ; + Width = 790 + *< END OBJECT: BaseClass="shape" /> + + ADD OBJECT 'pf.p3.Optiongroup1' AS optiongroup WITH ; + AutoSize = .F., ; + BackStyle = 0, ; + BorderStyle = 0, ; + ButtonCount = 8, ; + Comment = "*:OnResize=RT", ; + ControlSource = "", ; + Height = 61, ; + Left = 204, ; + Name = "Optiongroup1", ; + SpecialEffect = 1, ; + Top = 12, ; + Value = 8, ; + Width = 385, ; + ZOrderSet = 3, ; + Option1.AutoSize = .F., ; + Option1.BackStyle = 0, ; + Option1.Caption = "\ + + ADD OBJECT 'pf.p3.Shape1' AS shape WITH ; + BackColor = 236,249,255, ; + BorderStyle = 3, ; + Comment = "*:OnResize=ST", ; + Height = 76, ; + Left = 2, ; + Name = "Shape1", ; + Top = 1, ; + Width = 786 + *< END OBJECT: BaseClass="shape" /> + + ADD OBJECT 'pf.P4.opt1' AS optiongroup WITH ; + AutoSize = .T., ; + BackStyle = 0, ; + BorderStyle = 0, ; + ButtonCount = 2, ; + Height = 46, ; + Left = 213, ; + Name = "opt1", ; + SpecialEffect = 1, ; + Top = 12, ; + Value = 1, ; + Width = 46, ; + Option1.AutoSize = .T., ; + Option1.BackStyle = 0, ; + Option1.Caption = "A4", ; + Option1.FontName = "Courier New", ; + Option1.Height = 17, ; + Option1.Left = 5, ; + Option1.Name = "Option1", ; + Option1.Top = 5, ; + Option1.Value = 1, ; + Option1.Width = 36, ; + Option2.AutoSize = .T., ; + Option2.BackStyle = 0, ; + Option2.Caption = "A3", ; + Option2.FontName = "Courier New", ; + Option2.Height = 17, ; + Option2.Left = 5, ; + Option2.Name = "Option2", ; + Option2.Top = 24, ; + Option2.Width = 36 + *< END OBJECT: BaseClass="optiongroup" /> + + ADD OBJECT 'pf.P4.opt2' AS optiongroup WITH ; + AutoSize = .T., ; + BackStyle = 0, ; + BorderStyle = 0, ; + ButtonCount = 2, ; + Height = 46, ; + Left = 285, ; + Name = "opt2", ; + SpecialEffect = 1, ; + Top = 12, ; + Value = 1, ; + Width = 179, ; + Option1.AutoSize = .T., ; + Option1.BackStyle = 0, ; + Option1.Caption = "Total", ; + Option1.FontName = "Courier New", ; + Option1.Height = 17, ; + Option1.Left = 5, ; + Option1.Name = "Option1", ; + Option1.Top = 5, ; + Option1.Value = 1, ; + Option1.Width = 57, ; + Option2.AutoSize = .T., ; + Option2.BackStyle = 0, ; + Option2.Caption = "Solduri la 1 ianuarie", ; + Option2.FontName = "Courier New", ; + Option2.Height = 17, ; + Option2.Left = 5, ; + Option2.Name = "Option2", ; + Option2.Top = 24, ; + Option2.Width = 169 + *< END OBJECT: BaseClass="optiongroup" /> + + ADD OBJECT 'pf.P4.Shape1' AS shape WITH ; + BackColor = 236,249,255, ; + BorderStyle = 3, ; + Comment = "*:OnResize=ST", ; + Height = 76, ; + Left = 2, ; + Name = "Shape1", ; + Top = 1, ; + Width = 786 + *< END OBJECT: BaseClass="shape" /> + + ADD OBJECT 'Resizer1' AS resizer WITH ; + Left = 792, ; + Name = "Resizer1", ; + TabIndex = 16, ; + Top = 405, ; + ZOrderSet = 13, ; + LABEL1.Name = "LABEL1" + *< END OBJECT: ClassLib="..\clase\resizer.vcx" BaseClass="control" /> + + ADD OBJECT 'txtcont' AS textbox WITH ; + Comment = "*:OnResize=LT", ; + ControlSource = "", ; + Height = 23, ; + Left = 34, ; + Name = "txtcont", ; + SpecialEffect = 1, ; + TabIndex = 1, ; + Top = 87, ; + Width = 37, ; + ZOrderSet = 14 + *< END OBJECT: BaseClass="textbox" /> + + ADD OBJECT 'Txtcont2' AS textbox WITH ; + Comment = "*:OnResize=LT", ; + ControlSource = "", ; + Format = "k", ; + Height = 23, ; + Left = 84, ; + Name = "Txtcont2", ; + SpecialEffect = 1, ; + TabIndex = 2, ; + Top = 87, ; + Width = 37, ; + ZOrderSet = 18 + *< END OBJECT: BaseClass="textbox" /> + + PROCEDURE Activate + + *!* tw1=thisform.Width + *!* tl1=thisform.Height + + *!* thisform.WindowState=2 + *!* tw2=thisform.Width + *!* tl2=thisform.Height + + *!* gw1=thisform.grid1.width + *!* gl1=thisform.grid1.height + + *!* thisform.grid1.width=ROUND(gw1*tw2/tw1,0) + *!* thisform.grid1.height=ROUND(gl1*tl2/tl1,0) + + *!* thisform.paint + *!* thisform.refresh + THISFORM.WindowState= 2 + + + + ENDPROC + + PROCEDURE adauga_linie + Private pcbal,pcCont,pcSCont,pcACont,pnButon + Store "" To pcbal,pcCont,pcSCont,pcACont + pnButon=1 + pcbal=This.CALIas + pcCont=SELECT_CONT() + If pnButon=2 + Return + Endif + If Empty(pcCont) + Return + Endif + + pcSCont=Left(pcCont,4) + lnPos=At(".",pcCont) + If lnPos>0 + pcACont=Padr(Substr(pcCont,lnPos+1),4," ") + Endif + + pcexec=[begin balanainsproc(']+Alltrim(gcS)+[',]+Alltrim(Str(gnLuna))+[,]+Alltrim(Str(gnAn))+; + [,']+Alltrim(pcSCont)+[',']+Alltrim(pcACont)+['); end;] + lnSucces=goExecutor.oexecute(pcexec) + If lnSucces < 0 + lcTextEroare = goExecutor.cEroare + Messagebox(lcTextEroare,48,"Eroare") + Return + Endif + + If !Empty(pcACont) + Thisform.pf.p2.ckanalitic.Value=1 + Endif + + Thisform.MousePointer=11 + Thisform.LockScreen=.T. + Thisform.reconstruct + Thisform.afisactual + Select (pcbal) + Locate For Cont=pcSCont And acont=pcACont + Thisform.LockScreen=.F. + Thisform.MousePointer= 0 + Thisform.grid1.SetFocus + + ENDPROC + + PROCEDURE afisactual + Private lcbal,lcacont && ,lccont1,lccont2 - le-am pus inainte de do form + lcbal=Thisform.calias + + Local T1 + T1="" + T='.t.' + + lccont1=Alltrim(This.txtcont.Value) + lccont2=Alltrim(This.txtcont2.Value) + + If Empty(lccont2) + lccont2 = lccont1 + Endif + + *lcacont=ALLTRIM(this.txtacont.value) + lcacont1=Alltrim(This.ct2.text1.Value) + lcacont2=Alltrim(This.ct2.text2.Value) + lcacont3=Alltrim(This.ct2.text3.Value) + lcacont4=Alltrim(This.ct2.text4.Value) + + Do Case + Case Len(lccont1)=1 + *T=[G1="]+LCCONT+["] + T = T + [ and VAL(LEFT(G1,1))>=VAL(lcCont1)] + Case Len(lccont1)=2 + *T=[G2="]+LCCONT+["] + T = T + [ and VAL(PADR(ALLTRIM(G2),2,'0'))>=VAL(lcCont1)] + Case Len(lccont1)=3 + *T=[G3="]+LCCONT+["] + T = T + [ and VAL(PADR(ALLTRIM(G3),3,'0'))>=VAL(lcCont1)] + Case Len(lccont1)=4 + *T=[G4="]+LCCONT+["] + T = T + [ and VAL(PADR(ALLTRIM(G4),4,'0'))>=VAL(lcCont1)] + Endcase + + Do Case + Case Len(lccont2)=1 + *T=[G1="]+LCCONT+["] + T = T + [ and VAL(LEFT(G1,1))<=VAL(lcCont2)] + Case Len(lccont2)=2 + *T=[G2="]+LCCONT+["] + T = T + [ and VAL(PADR(ALLTRIM(G2),2,'0'))<=VAL(lcCont2)] + Case Len(lccont2)=3 + *T=[G3="]+LCCONT+["] + T = T + [ and VAL(PADR(ALLTRIM(G3),3,'0'))<=VAL(lcCont2)] + Case Len(lccont2)=4 + *T=[G4="]+LCCONT+["] + T = T + [ and VAL(PADR(ALLTRIM(G4),4,'0'))<=VAL(lcCont2)] + Endcase + + *-------------------------------------------------------- + &&& conditia de filtrare pt balanta sintetica + *!* T1=[SET FILT TO] + *!* lccond1=[] + *!* IF !EMPTY(lcCont) + *!* lccond1=[ UPPER(LEFT(cont,]+ALLTRIM(STR(LEN(ALLTRIM(lcCont))))+[))="]+ALLTRIM(lcCont)+["] + *!* ENDIF + + *!* T1 = T1 + lcCond1 + *!* **** + + + *!* *!* WAIT WINDOW 't = '+t + *!* * WAIT WINDOW 't1 = '+t1 + *!* *!* if thisform.check1.Value=1 + *!* *!* T="UPPER(LEFT(cont,LEN(M.cont)))==M.cont" + *!* *!* ENDIF + + + + + *!* llTotal1=IIF(this.pf.p2.cktotal1.Value=1,.t.,.f.) + *!* llTotal2=IIF(this.pf.p2.cktotal2.Value=1,.t.,.f.) + *!* llTotal3=IIF(this.pf.p2.cktotal3.Value=1,.t.,.f.) + *!* llTotal4=IIF(this.pf.p2.cktotal4.Value=1,.t.,.f.) + *!* llAnalitic=IIF(this.pf.p2.ckanalitic.Value=1,.t.,.f.) + + + + *!* lclista=[] + *!* IF llTotal1 + *!* lclista=lclista+[,1] + *!* ENDIF + *!* IF llTotal2 + *!* lclista=lclista+[,2] + *!* ENDIF + *!* IF llTotal3 + *!* lclista=lclista+[,3] + *!* ENDIF + *!* IF llTotal4 + *!* lclista=lclista+[,4] + *!* ENDIF + *!* IF llAnalitic + *!* lclista=lclista+[,5] + *!* ENDIF + + + *!* IF !EMPTY(lclista) + *!* IF LEFT(lclista,1)="," + *!* lclista=SUBSTR(lclista,2) + *!* ENDIF + *!* T=T+[ AND INLIST(BNIVEL,]+LCLISTA+[)] + *!* ELSE + *!* T=T+[ AND .F.] + *!* ENDIF + + *!* lccond2=[] + + + *!* IF !EMPTY(lcaCont1) + *!* lccond2= lccond2 + [ and SUBSTR(acont,1,1)="]+lcaCont1+["] + *!* ENDIF + *!* IF !EMPTY(lcaCont2) + *!* lccond2= lccond2 + [ and SUBSTR(acont,2,1)="]+lcaCont2+["] + *!* ENDIF + *!* IF !EMPTY(lcaCont3) + *!* lccond2= lccond2 + [ and SUBSTR(acont,3,1)="]+lcaCont3+["] + *!* ENDIF + *!* IF !EMPTY(lcaCont4) + *!* lccond2= lccond2 + [ and SUBSTR(acont,4,1)="]+lcaCont4+["] + *!* ENDIF + *!* *!* IF THIS.pf.p1.check1.Value = 1 + *!* *!* T1 = T1 + lcCond2 + *!* *!* ENDIF + + *!* T= T + lcCond2 + *!* IF this.pf.p2.ck_cont.Value = 1 + *!* T = t + " AND " + this.pf.p2.ck_cont.filtru + *!* ENDIF + + *!* T=[SET FILT TO ]+T + *!* SELECT (LCBAL) + *!* &T + + + *!* SELECT BAL + *!* &T1 + *!* IF existacamp("bal","precdeb1") + *!* sum PRECDEB1,PRECCRED1,precdeb,preccred,ruldeb,rulcred,totdeb,totcred,solddeb,soldcred; + *!* to m.sprecdeb1,m.spreccred1,m.sprecdeb,m.spreccred,m.sruldeb,m.srulcred,m.stotdeb,m.stotcred,m.ssolddeb,m.ssoldcred + *!* ELSE + *!* sum precdeb,preccred,ruldeb,rulcred,totdeb,totcred,solddeb,soldcred; + *!* to m.sprecdeb,m.spreccred,m.sruldeb,m.srulcred,m.stotdeb,m.stotcred,m.ssolddeb,m.ssoldcred + *!* STORE 0 TO m.sprecdeb1,m.spreccred1 + *!* ENDIF + + *!* SET FILTER TO + + *!* IF this.pf.p1.check1.Value = 1 + *!* SELECT (LCBAL) + *!* sum PRECDEB1,PRECCRED1,precdeb,preccred,ruldeb,rulcred,totdeb,totcred,solddeb,soldcred FOR bnivel = 5 ; + *!* to m.sprecdeb1,m.spreccred1,m.sprecdeb,m.spreccred,m.sruldeb,m.srulcred,m.stotdeb,m.stotcred,m.ssolddeb,m.ssoldcred + *!* ENDIF + *!* + *!* WITH thisform.pf.p1 + *!* .text1.Refresh + *!* .text2.Refresh + *!* .text3.Refresh + *!* .text4.Refresh + *!* .text5.Refresh + *!* .text6.Refresh + *!* .text7.Refresh + *!* .text8.Refresh + *!* .TXTpreccred1.Refresh + *!* .TXTprecdeb1.Refresh + *!* ENDWITH + + *!* SELECT (LCBAL) + *!* GO top + *!* THIS.GRID1.Refresh + + + */----------------------------------------------------- + &&& conditia de filtrare pt balanta sintetica + llTotal1=Iif(This.pf.p2.cktotal1.Value=1,.T.,.F.) + llTotal2=Iif(This.pf.p2.cktotal2.Value=1,.T.,.F.) + llTotal3=Iif(This.pf.p2.cktotal3.Value=1,.T.,.F.) + llTotal4=Iif(This.pf.p2.cktotal4.Value=1,.T.,.F.) + llAnalitic=Iif(This.pf.p2.ckanalitic.Value=1,.T.,.F.) + + + + lclista=[] + If llTotal1 + lclista=lclista+[,1] + Endif + If llTotal2 + lclista=lclista+[,2] + Endif + If llTotal3 + lclista=lclista+[,3] + Endif + If llTotal4 + lclista=lclista+[,4] + Endif + If llAnalitic + lclista=lclista+[,5] + Endif + + + If !Empty(lclista) + If Left(lclista,1)="," + lclista=Substr(lclista,2) + Endif + T=T+[ AND INLIST(BNIVEL,]+lclista+[)] + Else + T=T+[ AND .F.] + Endif + + lccond2=[] + + If !Empty(lcacont1) + lccond2= lccond2 + [ and SUBSTR(acont,1,1)="]+lcacont1+["] + Endif + If !Empty(lcacont2) + lccond2= lccond2 + [ and SUBSTR(acont,2,1)="]+lcacont2+["] + Endif + If !Empty(lcacont3) + lccond2= lccond2 + [ and SUBSTR(acont,3,1)="]+lcacont3+["] + Endif + If !Empty(lcacont4) + lccond2= lccond2 + [ and SUBSTR(acont,4,1)="]+lcacont4+["] + Endif + + T= T + lccond2 + If thisform.pf.p2.ck_cont.Value = 1 + T = T + thisform.pf.p2.ck_cont.filtru_vfp + Endif + + T=[SET FILT TO ]+T + Select (lcbal) + *!* Copy To C:\BAL.Dbf + &T + + Select (lcbal) + Sum PRECDEB1,PRECCRED1,precdeb,preccred,ruldeb,rulcred,totdeb,totcred,solddeb,soldcred For bnivel = 4 ; + to m.sprecdeb1,m.spreccred1,m.sprecdeb,m.spreccred,m.sruldeb,m.srulcred,m.stotdeb,m.stotcred,m.ssolddeb,m.ssoldcred + + + If This.pf.p1.check1.Value = 1 + Select (lcbal) + Sum PRECDEB1,PRECCRED1,precdeb,preccred,ruldeb,rulcred,totdeb,totcred,solddeb,soldcred For bnivel = 5 ; + to m.sprecdeb1,m.spreccred1,m.sprecdeb,m.spreccred,m.sruldeb,m.srulcred,m.stotdeb,m.stotcred,m.ssolddeb,m.ssoldcred + Endif + + With Thisform.pf.p1 + .text1.Refresh + .text2.Refresh + .text3.Refresh + .text4.Refresh + .text5.Refresh + .text6.Refresh + .text7.Refresh + .text8.Refresh + .TXTpreccred1.Refresh + .TXTprecdeb1.Refresh + Endwith + + Select (lcbal) + Go Top + This.GRID1.Refresh + + ENDPROC + + PROCEDURE butapend + *!* LOCAL lbMenu[4] + *!* PRIVATE lcbal + *!* lcbal=THISFORM.calias + + + *!* lbMenu="" + *!* lbMenu[1]="\=0,ABS(totdeb-totcred),0),soldcred WITH IIF(totdeb-totcred<0,ABS(totdeb-totcred),0) + UNLOCK + * brow + ENDIF + + + + + + ENDPROC + + PROCEDURE calculeaza_vertical + Private lccont,lcAlias,lnRec,lnDifValue,lcField,lnValoare,laarray + + lcAlias=This.calias + Select (lcAlias) + lnRec=Recno() + lccont=Alltrim(This.ccont) + *WAIT WINDOW 'lccont= '+lccont + lcField=This.cfield + lnDifValue=This.nnewvalue- This.noldvalue + *WAIT WINDOW 'lndifvalue = '+STR(lndifValue) + *WAIT WINDOW 'calculeaza vertical '+lcalias + + lnlung=4 + Dimension laarray[lnlung] + Store Space(4) To laarray + For i=1 To lnlung-1 + * WAIT WINDOW 'i= '+STR(i) + laarray[i] = Substr(lccont,1,i) + * WAIT WINDOW laArray[i] + lcVar="G"+Alltrim(Str(i)) + lcVar1="G"+Alltrim(Str(i+1)) + LCCOND=[LOCATE FOR LEFT(]+lcVar+[,]+Alltrim(Str(i))+[)="]+Left(laarray[I],i)+[" AND EMPTY(]+lcVar1+[)] + * WAIT WINDOW lccond + Select (lcAlias) + &LCCOND + If Found() + If Flock() + lnValoare=Evaluate(lcField)+lnDifValue + Replace &lcField With lnValoare + This.calculeaza_orizontal(lcAlias) && calculez pentru liniile cu totaluri + Unlock + Endif + Endif + Endfor + + Select (lcAlias) + Goto lnRec + ENDPROC + + PROCEDURE cfield_assign + LPARAMETERS vNewVal + *To do: Modify this routine for the Assign method + THIS.cfield = m.vNewVal + + PRIVATE lcAlias,lcSufix,lcVar + lcAlias=thisform.calias + lcSufix=this.cField + lcVar=lcAlias+[.]+lcSufix + lcCont=lcAlias+[.cont] + THISFORM.nOldValue=EVALUATE(lcVar) + thisform.ccont=EVALUATE(lcCont) + *WAIT WINDOW 'ccont '+thisform.ccont + + ENDPROC + + PROCEDURE do_excel + Local i,xlsheet,XLApp,tmpsheet, lcAlias, lcFiltru, lcColumnList, lcHeaderList, lcSelect, lcOutput, lcFrom, lcWhere, lcOrder + lcAlias = this.grid1.RecordSource + lcFiltru = FILTER(lcAlias) + IF EMPTY(lcFiltru) + lcFiltru = '.T.' + ENDIF + + exista_excel=.T. + lcColumnList = '' + lcHeaderList = '' + lcSelect = '' + llSelect = .T. + lcType = 'CURSOR' + lcFrom = lcAlias + lcWhere = lcFiltru + lcOrder = 'g5' + lcOutput = 'crsBal' + + get_schema_grid(this.grid1,@lcColumnList, @lcHeaderList, @lcSelect, llSelect, lcType, lcFrom, lcWhere, lcOrder, lcOutput) + &lcSelect + *!* MESSAGEBOX(p3) + IF USED(lcOutput) + DO export_xls WITH lcOutput IN exportare.prg + USE IN (lcOutput) + ENDIF + + + RETURN + + *!* On Error Do exportare With Thisform.grid1.RecordSource,p1,p2 + *!* tmpsheet = Getobject('','excel.sheet') + *!* On Error + + *!* If exista_excel + *!* Wait Window "Se transmit datele catre Excel..." Nowait + + *!* XLApp = tmpsheet.Application + + *!* XLApp.workbooks.Close() + *!* XLApp.workbooks.Add() + *!* poExcel = XLApp.ActiveSheet + + + *!* Go Top + *!* poExcel.Cells(1,1).Font.Size=16 + *!* poExcel.Cells(1,1).Font.Bold=.T. + *!* poExcel.Cells(1,1)=Thisform.titluFRUMOS1.Caption+" Luna "+Alltrim(Str(gnLuna))+"/"+Alltrim(Str(gnAn)) + *!* nRows = 3 + *!* With Thisform.grid1 + *!* For nCol = 1 To .ColumnCount + *!* nColumn = .Columns(nCol).ColumnOrder + *!* poExcel.Columns(nColumn).ColumnWidth = .Columns(nCol).Width/7.5 + *!* For lnobjcol=1 To .Columns(nCol).Objects.Count + *!* If Upper(.Columns(nCol).Objects(lnobjcol).BaseClass)='HEADER' + *!* poExcel.Cells(nRows,nColumn) = .Columns(nCol).Objects(lnobjcol).Caption + *!* Exit + *!* Endif + *!* Endfor + *!* poExcel.Cells(nRows,nColumn).Font.Bold = .T. + *!* poExcel.Cells(nRows,nColumn).Interior.ColorIndex = 16 + *!* Endfor + *!* Scan + *!* nRows = nRows + 1 + *!* For nCol = 1 To .ColumnCount + *!* nColumn = .Columns(nCol).ColumnOrder + *!* If At('CHECK',Upper(.Columns(nCol).CurrentControl))>0 + *!* poExcel.Cells(nRows,nColumn)=Iif(Eval(.Columns(nCol).ControlSource)==0,'NU','DA') + *!* Else + *!* poExcel.Cells(nRows,nColumn) = IIF(empty(Eval(.Columns(nCol).ControlSource)),'',Eval(.Columns(nCol).ControlSource)) + *!* Endif + *!* Endfor + *!* Endscan + *!* Endwith + + *!* XLApp.Visible = .T. + *!* Endif + ENDPROC + + PROCEDURE do_listare + + PRIVATE lla4,llsolduri,pcPerioadaRef,pcDataOra + LOCAL Tlist + + pcDataora = '' + pcDataOra = get_ora(2) + + pcPerioadaRef = 'Luna ' + PADL(ALLTRIM(STR(gnLuna)),2,'0') + "/" + ALLTRIM(STR(gnAn)) + lla4=.F. + IF thisform.pf.p4.opt1.Value=1 + lla4=.T. + ENDIF + + llsolduri=.T. + IF thisform.pf.p4.opt2.Value=1 + llsolduri=.F. + ENDIF + + + LNG1=thisform.pf.p2.cktotal1.Value + LNG2=thisform.pf.p2.cktotal3.Value + LNG3=thisform.pf.p2.cktotal3.Value + LNG4=thisform.pf.p2.cktotal4.Value + LNG5=thisform.pf.p2.ckanalitic.Value + + LCBAL=THISFORM.CALIas + SELECT (LCBAL) + + LCPARTIALA=IIF(!EMPTY(THISFORM.TXTcont.VALUE)," PARTIALA "," ") + DO case + CASE LNG5=1 + m.titlu='- ANALITICA'+LCPARTIALA+'-' + SELECT (LCBAL) + &T + REPLACE ALL bifa WITH .f. + + SELECT DISTINCT cont,bnivel,bifa FROM &lcbal ; + WHERE bnivel=5 ; + INTO cursor listbal readwrite + + IF _tally # 0 + DO FORM frm_list_balana + + SELECT listbal + SCAN FOR bifa + SCATTER NAME olist + SELECT (LCBAL) + REPLACE ALL bifa WITH .t. for cont=olist.cont AND bnivel=5 + SELECT listbal + ENDSCAN + RELEASE olist + + SELECT (LCBAL) + Tlist = T + ' and !bifa ' + &Tlist + ENDIF + USE IN listbal + SELECT (LCBAL) + + CASE LNG4=1 AND LNG5=0 + m.titlu='- SINTETICA'+LCPARTIALA+'-' + OTHERWISE + IF EMPTY(lcpartiala) + m.titlu="" + ELSE + m.titlu='-'+LCPARTIALA+'-' + ENDIF + ENDCASE + + DO case + CASE !lla4 + lcRaport="rapbal_solduri_a3" && A3 CU SOLDURI LA 1 IANUARIE + CASE lla4 AND !llsolduri + lcRaport="rapbal_total_a4" && A4 FARA SOLDURI LA 1 IANUARIE + OTHERWISE + lcRaport="rapbal_solduri_a4" && A4 CU SOLODURI LA 1 IANUARIE + ENDCASE + + REPORT FORMAT (lcRaport) TO PRINTER PROMPT preview + + ENDPROC + + PROCEDURE do_reface + If glLunaInchisa + RETURN + ENDIF + + x= xmenu('Refacere \=0, RGB(0,0,0), RGB(255,0,0)) + ENDPROC + + PROCEDURE pf.p1.Text2.Refresh + THIS.FORECOLOR=IIF(M.SPRECCRED>=0, RGB(0,0,0), RGB(255,0,0)) + ENDPROC + + PROCEDURE pf.p1.Text3.Refresh + THIS.FORECOLOR=IIF(M.SRULCRED>=0, RGB(0,0,0), RGB(255,0,0)) + ENDPROC + + PROCEDURE pf.p1.Text4.Refresh + THIS.FORECOLOR=IIF(M.SRULDEB>=0, RGB(0,0,0), RGB(255,0,0)) + ENDPROC + + PROCEDURE pf.p1.Text5.Refresh + THIS.FORECOLOR=IIF(M.STOTDEB>=0, RGB(0,0,0), RGB(255,0,0)) + ENDPROC + + PROCEDURE pf.p1.Text6.Refresh + THIS.FORECOLOR=IIF(M.STOTCRED>=0, RGB(0,0,0), RGB(255,0,0)) + ENDPROC + + PROCEDURE pf.p1.Text7.Init + sum solddeb to m.ssolddeb + this.refresh + ENDPROC + + PROCEDURE pf.p1.Text8.Init + sum soldcred to m.ssoldcred + this.refresh + ENDPROC + + PROCEDURE pf.p1.txtpreccred1.Refresh + THIS.FORECOLOR=IIF(M.SPRECCRED1>=0, RGB(0,0,0), RGB(255,0,0)) + ENDPROC + + PROCEDURE pf.p1.txtprecdeb1.Refresh + THIS.FORECOLOR=IIF(M.SPRECDEB1>=0, RGB(0,0,0), RGB(255,0,0)) + ENDPROC + + PROCEDURE pf.P2.ckanalitic.Click + + + ENDPROC + + PROCEDURE pf.P2.ckanalitic.Valid + thisform.afisactual + ENDPROC + + PROCEDURE pf.P2.cksold1.Click + + + ENDPROC + + PROCEDURE pf.P2.cksold1.Valid + IF this.Value=0 + WITH thisform.grid1 + .cprecdeb1.width=0 + .cprecdeb1.visible=.F. && cont2003 oracle + .cpreccred1.width=0 + .cpreccred1.visible=.F. + ENDWITH + WITH thisform.pf.p1 + .lblsld1.Visible=.F. + .txtprecdeb1.Visible=.F. + .txtpreccred1.Visible=.F. + .lbldebit.Left=.text1.left-45 + .lblcredit.Left=.text2.left-45 + .check1.Left=.label8.left-45 + ENDWITH + ELSE + + WITH thisform.grid1 + .cprecdeb1.width=72 + .cprecdeb1.visible=.T. + .cpreccred1.width=72 + .cpreccred1.visible=.T. + ENDWITH + WITH thisform.pf.p1 + .lblsld1.Visible=.T. + .txtprecdeb1.Visible=.T. + .txtpreccred1.Visible=.T. + .lbldebit.Left=.txtprecdeb1.left-45 + .lblcredit.Left=.txtpreccred1.left-45 + .check1.Left=.lblsld1.left-45 + ENDWITH + ENDIF + + ENDPROC + + PROCEDURE pf.P2.cktotal1.Valid + thisform.afisactual + ENDPROC + + PROCEDURE pf.P2.cktotal2.Valid + thisform.afisactual + ENDPROC + + PROCEDURE pf.P2.cktotal3.Valid + thisform.afisactual + ENDPROC + + PROCEDURE pf.P2.cktotal4.Valid + thisform.afisactual + ENDPROC + + PROCEDURE pf.P2.Ck_cont.Valid + thisform.afisactual + ENDPROC + + PROCEDURE pf.p3.Optiongroup1.Option1.Click + *!* lcbal=thisform.calias + + *!* THIS.PARENT.OPTION2.ENABLED=.F. + *!* THIS.PARENT.OPTION3.ENABLED=.F. + *!* THIS.PARENT.OPTION4.ENABLED=.F. + *!* THIS.PARENT.OPTION5.ENABLED=.F. + + *!* SELECT(LCBAL) + *!* SET FILTER TO !DELETED() + THISFORM.GRID1.SetFocus + ENDPROC + + PROCEDURE pf.p3.Optiongroup1.Option2.Click + thisform.fisacont + THIS.parent.Value=8 && balanta + ENDPROC + + PROCEDURE pf.p3.Optiongroup1.Option3.Click + THISFORM.RULDEB + THIS.parent.Value=8 && balanta + ENDPROC + + PROCEDURE pf.p3.Optiongroup1.Option4.Click + THISFORM.RULCRED + THIS.parent.Value=8 && balanta + ENDPROC + + PROCEDURE pf.p3.Optiongroup1.Option5.Click + THISFORM.RULDEBCRED + THIS.parent.Value=8 && balanta + ENDPROC + + PROCEDURE pf.p3.Optiongroup1.Option6.Click + THISFORM.TOTDEB + THIS.parent.Value=8 && balanta + ENDPROC + + PROCEDURE pf.p3.Optiongroup1.Option7.Click + THISFORM.TOTCRED + THIS.parent.Value=8 && balanta + ENDPROC + + PROCEDURE pf.p3.Optiongroup1.Option8.Click + THISFORM.TOTDEBCRED + THIS.parent.Value=8 && balanta + ENDPROC + + PROCEDURE txtcont.Valid + thisform.txtcont2.Value = this.Value + thisform.afisactual + + ENDPROC + + PROCEDURE Txtcont2.Valid + thisform.afisactual + ENDPROC + +ENDDEFINE diff --git a/ferestre/comun.h b/ferestre/comun.h new file mode 100644 index 0000000..0699e87 --- /dev/null +++ b/ferestre/comun.h @@ -0,0 +1,13 @@ +#IFNDEF COMUN_H +#DEFINE COMUN_H + + +#DEFINE LF CHR(10) +#DEFINE CR CHR(10) +#DEFINE CRLF CHR(13) + CHR(10) +#DEFINE CTAB CHR(9) + +#DEFINE CT_INSUCCES -1 +#DEFINE CT_SUCCES 1 + +#ENDIF \ No newline at end of file diff --git a/ferestre/datefact.sc2 b/ferestre/datefact.sc2 new file mode 100644 index 0000000..918c787 --- /dev/null +++ b/ferestre/datefact.sc2 @@ -0,0 +1,158 @@ +*-------------------------------------------------------------------------------------------------------------------------------------------------------- +* (EN) AUTOGENERATED - ATTENTION!! - NOT INTENDED FOR EXECUTION!! USE ONLY FOR MERGING CHANGES AND STORING WITH SCM TOOLS!! +*-------------------------------------------------------------------------------------------------------------------------------------------------------- +*< FOXBIN2PRG: Version="1.21" SourceFile="datefact.scx" CPID="1250" /> (Solo para binarios VFP 9 / Only for VFP 9 binaries) +* +* +DEFINE CLASS dataenvironment AS dataenvironment + *< CLASSDATA: Baseclass="dataenvironment" Timestamp="" Scale="" Uniqueid="" ClassIcon="1" /> + + * + DataSource = .NULL. + Height = 0 + Left = 0 + Name = "Dataenvironment" + Top = 0 + Width = 0 + * + +ENDDEFINE + +DEFINE CLASS formtermin12 AS formtermin OF "..\..\comun\clase\baza.vcx" + *< CLASSDATA: Baseclass="form" Timestamp="" Scale="" Uniqueid="" /> + + *-- OBJECTDATA items order determines ZOrder / El orden de los items OBJECTDATA determina el ZOrder + *< OBJECTDATA: ObjPath="Label1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="Text1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="Label2" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="Text2" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="Label3" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="Text3" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="Label4" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="Text4" UniqueID="" Timestamp="" /> + + * + BorderStyle = 1 + DataSession = 1 + DoCreate = .T. + Height = 176 + Name = "Formtermin12" + Width = 336 + Shape1.Name = "Shape1" + Terminat1.Command1.Name = "Command1" + Terminat1.Imbuton1.Height = 27 + Terminat1.Imbuton1.Name = "Imbuton1" + Terminat1.Imbuton1.Width = 30 + Terminat1.Left = 300 + Terminat1.Name = "Terminat1" + Terminat1.TabIndex = 5 + Terminat1.Top = 3 + Titlufrumos1.Caption = "DATE PRIVIND EXPEDITIA" + Titlufrumos1.Height = 37 + Titlufrumos1.Left = 7 + Titlufrumos1.Name = "Titlufrumos1" + Titlufrumos1.TabIndex = 6 + Titlufrumos1.Top = 6 + Titlufrumos1.Width = 283 + * + + ADD OBJECT 'Label1' AS label WITH ; + AutoSize = .T., ; + BackStyle = 0, ; + Caption = "Numele delegatului:", ; + Height = 17, ; + Left = 6, ; + Name = "Label1", ; + TabIndex = 7, ; + Top = 55, ; + Width = 113 + *< END OBJECT: BaseClass="label" /> + + ADD OBJECT 'Label2' AS label WITH ; + AutoSize = .F., ; + BackStyle = 0, ; + Caption = "Buletinul/cartea de identitate (seria,numarul)", ; + Height = 35, ; + Left = 6, ; + Name = "Label2", ; + TabIndex = 8, ; + Top = 80, ; + Width = 168, ; + WordWrap = .T. + *< END OBJECT: BaseClass="label" /> + + ADD OBJECT 'Label3' AS label WITH ; + AutoSize = .F., ; + BackStyle = 0, ; + Caption = "Eliberat(a) de:", ; + Height = 23, ; + Left = 6, ; + Name = "Label3", ; + TabIndex = 9, ; + Top = 116, ; + Width = 168, ; + WordWrap = .T. + *< END OBJECT: BaseClass="label" /> + + ADD OBJECT 'Label4' AS label WITH ; + AutoSize = .F., ; + BackStyle = 0, ; + Caption = "Mijloc de transport:", ; + Height = 23, ; + Left = 6, ; + Name = "Label4", ; + TabIndex = 10, ; + Top = 141, ; + Width = 168, ; + WordWrap = .T. + *< END OBJECT: BaseClass="label" /> + + ADD OBJECT 'Text1' AS textbox WITH ; + ControlSource = "pcdelegat", ; + Format = "K!", ; + Height = 23, ; + Left = 126, ; + Name = "Text1", ; + SpecialEffect = 2, ; + TabIndex = 1, ; + Top = 52, ; + Width = 204 + *< END OBJECT: BaseClass="textbox" /> + + ADD OBJECT 'Text2' AS textbox WITH ; + ControlSource = "pcbi", ; + Format = "K!", ; + Height = 23, ; + Left = 186, ; + Name = "Text2", ; + SpecialEffect = 2, ; + TabIndex = 2, ; + Top = 77, ; + Width = 144 + *< END OBJECT: BaseClass="textbox" /> + + ADD OBJECT 'Text3' AS textbox WITH ; + ControlSource = "pceliberatde", ; + Format = "K!", ; + Height = 23, ; + Left = 186, ; + Name = "Text3", ; + SpecialEffect = 2, ; + TabIndex = 3, ; + Top = 113, ; + Width = 144 + *< END OBJECT: BaseClass="textbox" /> + + ADD OBJECT 'Text4' AS textbox WITH ; + ControlSource = "pcnrinmat", ; + Format = "K!", ; + Height = 23, ; + Left = 186, ; + Name = "Text4", ; + SpecialEffect = 2, ; + TabIndex = 4, ; + Top = 138, ; + Width = 144 + *< END OBJECT: BaseClass="textbox" /> + +ENDDEFINE diff --git a/ferestre/frm_about.sc2 b/ferestre/frm_about.sc2 new file mode 100644 index 0000000..c488b38 --- /dev/null +++ b/ferestre/frm_about.sc2 @@ -0,0 +1,94 @@ +*-------------------------------------------------------------------------------------------------------------------------------------------------------- +* (EN) AUTOGENERATED - ATTENTION!! - NOT INTENDED FOR EXECUTION!! USE ONLY FOR MERGING CHANGES AND STORING WITH SCM TOOLS!! +*-------------------------------------------------------------------------------------------------------------------------------------------------------- +*< FOXBIN2PRG: Version="1.21" SourceFile="frm_about.scx" CPID="1252" /> (Solo para binarios VFP 9 / Only for VFP 9 binaries) +* +* +DEFINE CLASS dataenvironment AS dataenvironment + *< CLASSDATA: Baseclass="dataenvironment" Timestamp="" Scale="" Uniqueid="" ClassIcon="1" /> + + * + DataSource = .NULL. + Height = 0 + Left = 0 + Name = "Dataenvironment" + Top = 0 + Width = 0 + * + +ENDDEFINE + +DEFINE CLASS form1 AS form + *< CLASSDATA: Baseclass="form" Timestamp="" Scale="" Uniqueid="" /> + + *-- OBJECTDATA items order determines ZOrder / El orden de los items OBJECTDATA determina el ZOrder + *< OBJECTDATA: ObjPath="Edit1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="Image1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="Label1" UniqueID="" Timestamp="" /> + + * + AlwaysOnTop = .T. + AutoCenter = .T. + BackColor = 255,255,255 + BorderStyle = 1 + Caption = "" + Closable = .T. + ControlBox = .T. + DoCreate = .T. + Height = 288 + Icon = ..\..\ + MaxButton = .F. + MinButton = .F. + Movable = .T. + Name = "FORM1" + Width = 366 + WindowType = 1 + * + + ADD OBJECT 'Edit1' AS editbox WITH ; + BackColor = 205,205,205, ; + DisabledForeColor = 0,0,0, ; + Enabled = .T., ; + Height = 209, ; + Left = 24, ; + Name = "Edit1", ; + ReadOnly = .T., ; + Top = 70, ; + Width = 324 + *< END OBJECT: BaseClass="editbox" /> + + ADD OBJECT 'Image1' AS image WITH ; + BackStyle = 1, ; + Height = 24, ; + Left = 24, ; + Name = "Image1", ; + Top = 9, ; + Width = 29 + *< END OBJECT: BaseClass="image" /> + + ADD OBJECT 'Label1' AS label WITH ; + BackStyle = 0, ; + Caption = "Label1", ; + FontName = "Arial", ; + FontSize = 10, ; + Height = 17, ; + Left = 24, ; + Name = "Label1", ; + Top = 42, ; + Width = 324 + *< END OBJECT: BaseClass="label" /> + + PROCEDURE Init + lcFileName = UPPER(JUSTSTEM(SYS(16,0))) + this.Caption = 'Despre ' + lcFileName + this.label1.Caption = lcFileName + this.edit1.Value = get_version(.F.,.T.) + IF !EMPTY(_screen.Icon) + this.image1.Picture = _screen.Icon + this.Icon = _screen.Icon + ELSE + this.image1.Visible = .F. + ENDIF + ENDPROC + +ENDDEFINE diff --git a/ferestre/frm_borderou_facturi.sc2 b/ferestre/frm_borderou_facturi.sc2 new file mode 100644 index 0000000..33eb0dd --- /dev/null +++ b/ferestre/frm_borderou_facturi.sc2 @@ -0,0 +1,123 @@ +*-------------------------------------------------------------------------------------------------------------------------------------------------------- +* (EN) AUTOGENERATED - ATTENTION!! - NOT INTENDED FOR EXECUTION!! USE ONLY FOR MERGING CHANGES AND STORING WITH SCM TOOLS!! +*-------------------------------------------------------------------------------------------------------------------------------------------------------- +*< FOXBIN2PRG: Version="1.21" SourceFile="frm_borderou_facturi.scx" CPID="1252" /> (Solo para binarios VFP 9 / Only for VFP 9 binaries) +* +* +DEFINE CLASS dataenvironment AS dataenvironment + *< CLASSDATA: Baseclass="dataenvironment" Timestamp="" Scale="" Uniqueid="" ClassIcon="1" /> + + * + DataSource = .NULL. + Height = 0 + Left = 0 + Name = "Dataenvironment" + Top = 0 + Width = 0 + * + +ENDDEFINE + +DEFINE CLASS frm_borderou_facturi1 AS frm_borderou_facturi OF "..\clase\ofacturare_comun.vcx" + *< CLASSDATA: Baseclass="form" Timestamp="" Scale="" Uniqueid="" /> + + * + DoCreate = .T. + Height = 460 + Name = "Frm_borderou_facturi1" + Width = 792 + _shape1.Name = "_shape1" + _shape2.Name = "_shape2" + Lb_titlu_alb_b121.Name = "Lb_titlu_alb_b121" + BUT_TERMIN1.Name = "BUT_TERMIN1" + Gridsort1.Name = "Gridsort1" + But_start_criterii1.Name = "But_start_criterii1" + But_reset_criterii1.Name = "But_reset_criterii1" + Gridextra1.Name = "Gridextra1" + grdFacturi.cdatafact.Header1.Name = "Header1" + grdFacturi.cdatafact.Name = "cdatafact" + grdFacturi.cdatafact.Text1.Name = "Text1" + grdFacturi.cInValuta.Header1.Name = "Header1" + grdFacturi.cInValuta.Name = "cInValuta" + grdFacturi.cInValuta.Text1.Name = "Text1" + grdFacturi.cInValuta._checkbox1.Alignment = 2 + grdFacturi.cInValuta._checkbox1.Name = "_checkbox1" + grdFacturi.cnrfact.Header1.Name = "Header1" + grdFacturi.cnrfact.Name = "cnrfact" + grdFacturi.cnrfact.Text1.Name = "Text1" + grdFacturi.cSerieFact.Header1.Name = "Header1" + grdFacturi.cSerieFact.Name = "cSerieFact" + grdFacturi.cSerieFact.Text1.Name = "Text1" + grdFacturi.cTipFactura.Header1.Name = "Header1" + grdFacturi.cTipFactura.Name = "cTipFactura" + grdFacturi.cTipFactura.Text1.Name = "Text1" + grdFacturi.cValcTVA.Header1.Name = "Header1" + grdFacturi.cValcTVA.Name = "cValcTVA" + grdFacturi.cValcTVA.Text1.Name = "Text1" + grdFacturi.cValftva.Header1.Name = "Header1" + grdFacturi.cValftva.Name = "cValftva" + grdFacturi.cValftva.Text1.Name = "Text1" + grdFacturi.cValuta.Header1.Name = "Header1" + grdFacturi.cValuta.Name = "cValuta" + grdFacturi.cValuta.Text1.Name = "Text1" + grdFacturi.cValval.Header1.Name = "Header1" + grdFacturi.cValval.Name = "cValval" + grdFacturi.cValval.Text1.Name = "Text1" + grdFacturi.Name = "grdFacturi" + grdBorderou.cAles.Header1.Name = "Header1" + grdBorderou.cAles.Name = "cAles" + grdBorderou.cAles.Text1.Name = "Text1" + grdBorderou.cAles._checkbox1.Alignment = 2 + grdBorderou.cAles._checkbox1.Name = "_checkbox1" + grdBorderou.cClient.Header1.Name = "Header1" + grdBorderou.cClient.Name = "cClient" + grdBorderou.cClient.Text1.Name = "Text1" + grdBorderou.cConfirmat.Header1.Name = "Header1" + grdBorderou.cConfirmat.Name = "cConfirmat" + grdBorderou.cConfirmat.Text1.Name = "Text1" + grdBorderou.cConfirmat._checkbox1.Alignment = 2 + grdBorderou.cConfirmat._checkbox1.Name = "_checkbox1" + grdBorderou.cData.Header1.Name = "Header1" + grdBorderou.cData.Name = "cData" + grdBorderou.cData.Text1.Name = "Text1" + grdBorderou.cDataConfirmat.Header1.Name = "Header1" + grdBorderou.cDataConfirmat.Name = "cDataConfirmat" + grdBorderou.cDataConfirmat.Text1.Name = "Text1" + grdBorderou.cDataTrimis.Header1.Name = "Header1" + grdBorderou.cDataTrimis.Name = "cDataTrimis" + grdBorderou.cDataTrimis.Text1.Name = "Text1" + grdBorderou.cId.Header1.Name = "Header1" + grdBorderou.cId.Name = "cId" + grdBorderou.cId.Text1.Name = "Text1" + grdBorderou.cTrimis.Header1.Name = "Header1" + grdBorderou.cTrimis.Name = "cTrimis" + grdBorderou.cTrimis.Text1.Name = "Text1" + grdBorderou.cTrimis._checkbox1.Alignment = 2 + grdBorderou.cTrimis._checkbox1.Name = "_checkbox1" + grdBorderou.Name = "grdBorderou" + Sfsplitterh1.gripper.GripperDot1.Name = "GripperDot1" + Sfsplitterh1.gripper.GripperDot1.ShapeDark.Name = "ShapeDark" + Sfsplitterh1.gripper.GripperDot1.ShapeLight.Name = "ShapeLight" + Sfsplitterh1.gripper.GripperDot1.ShapeMiddle.Name = "ShapeMiddle" + Sfsplitterh1.gripper.GripperDot2.Name = "GripperDot2" + Sfsplitterh1.gripper.GripperDot2.ShapeDark.Name = "ShapeDark" + Sfsplitterh1.gripper.GripperDot2.ShapeLight.Name = "ShapeLight" + Sfsplitterh1.gripper.GripperDot2.ShapeMiddle.Name = "ShapeMiddle" + Sfsplitterh1.gripper.GripperDot3.Name = "GripperDot3" + Sfsplitterh1.gripper.GripperDot3.ShapeDark.Name = "ShapeDark" + Sfsplitterh1.gripper.GripperDot3.ShapeLight.Name = "ShapeLight" + Sfsplitterh1.gripper.GripperDot3.ShapeMiddle.Name = "ShapeMiddle" + Sfsplitterh1.gripper.GripperDot4.Name = "GripperDot4" + Sfsplitterh1.gripper.GripperDot4.ShapeDark.Name = "ShapeDark" + Sfsplitterh1.gripper.GripperDot4.ShapeLight.Name = "ShapeLight" + Sfsplitterh1.gripper.GripperDot4.ShapeMiddle.Name = "ShapeMiddle" + Sfsplitterh1.gripper.GripperDot5.Name = "GripperDot5" + Sfsplitterh1.gripper.GripperDot5.ShapeDark.Name = "ShapeDark" + Sfsplitterh1.gripper.GripperDot5.ShapeLight.Name = "ShapeLight" + Sfsplitterh1.gripper.GripperDot5.ShapeMiddle.Name = "ShapeMiddle" + Sfsplitterh1.gripper.Name = "gripper" + Sfsplitterh1.Name = "Sfsplitterh1" + But_listare1.Name = "But_listare1" + * + +ENDDEFINE diff --git a/ferestre/frm_cere_nrserie.sc2 b/ferestre/frm_cere_nrserie.sc2 new file mode 100644 index 0000000..d467afb --- /dev/null +++ b/ferestre/frm_cere_nrserie.sc2 @@ -0,0 +1,106 @@ +*-------------------------------------------------------------------------------------------------------------------------------------------------------- +* (EN) AUTOGENERATED - ATTENTION!! - NOT INTENDED FOR EXECUTION!! USE ONLY FOR MERGING CHANGES AND STORING WITH SCM TOOLS!! +*-------------------------------------------------------------------------------------------------------------------------------------------------------- +*< FOXBIN2PRG: Version="1.21" SourceFile="frm_cere_nrserie.scx" CPID="1252" /> (Solo para binarios VFP 9 / Only for VFP 9 binaries) +* +* +DEFINE CLASS dataenvironment AS dataenvironment + *< CLASSDATA: Baseclass="dataenvironment" Timestamp="" Scale="" Uniqueid="" ClassIcon="1" /> + + * + DataSource = .NULL. + Height = 0 + Left = 0 + Name = "Dataenvironment" + Top = 0 + Width = 0 + * + +ENDDEFINE + +DEFINE CLASS frm_termin_renunt1 AS frm_termin_renunt OF "..\clase\_frm_child.vcx" + *< CLASSDATA: Baseclass="form" Timestamp="" Scale="" Uniqueid="" /> + + *-- OBJECTDATA items order determines ZOrder / El orden de los items OBJECTDATA determina el ZOrder + *< OBJECTDATA: ObjPath="Clb_tx_serie" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="Clb_tx_nract" UniqueID="" Timestamp="" /> + + * + DoCreate = .T. + Height = 108 + Name = "Frm_termin_renunt1" + Width = 332 + WindowType = 1 + _SHAPE1.Name = "_SHAPE1" + _SHAPE2.Height = 29 + _SHAPE2.Left = 270 + _SHAPE2.Name = "_SHAPE2" + _SHAPE2.Top = 0 + _SHAPE2.Width = 67 + LB_TITLU_ALB_B121.Caption = "" + LB_TITLU_ALB_B121.Name = "LB_TITLU_ALB_B121" + LB_TITLU_ALB_B121.TabIndex = 5 + BUT_TERMIN1.Left = 301 + BUT_TERMIN1.Name = "BUT_TERMIN1" + BUT_TERMIN1.TabIndex = 3 + BUT_TERMIN1.Top = 1 + Gridsort1.Name = "Gridsort1" + BUT_RENUNT1.Left = 272 + BUT_RENUNT1.Name = "BUT_RENUNT1" + BUT_RENUNT1.TabIndex = 4 + BUT_RENUNT1.Top = 1 + * + + ADD OBJECT 'Clb_tx_nract' AS clb_tx_simplu WITH ; + Height = 29, ; + Left = 13, ; + Name = "Clb_tx_nract", ; + TabIndex = 2, ; + Top = 68, ; + Width = 306, ; + Text_simplu1.Alignment = 3, ; + Text_simplu1.ControlSource = "pnNrAct", ; + Text_simplu1.Height = 23, ; + Text_simplu1.InputMask = (get_mask(14,0)), ; + Text_simplu1.Left = 144, ; + Text_simplu1.Name = "Text_simplu1", ; + Text_simplu1.TabIndex = 1, ; + Text_simplu1.Top = 3, ; + Text_simplu1.Value = 0, ; + Text_simplu1.Width = 154, ; + Lb_simplu1.Caption = "Numar doc.", ; + Lb_simplu1.FontSize = 10, ; + Lb_simplu1.Name = "Lb_simplu1", ; + Lb_simplu1.TabIndex = 2 + *< END OBJECT: ClassLib="..\clase\lb_tx.vcx" BaseClass="container" /> + + ADD OBJECT 'Clb_tx_serie' AS clb_tx_simplu WITH ; + Height = 29, ; + Left = 13, ; + Name = "Clb_tx_serie", ; + TabIndex = 1, ; + Top = 40, ; + Width = 306, ; + TEXT_SIMPLU1.ControlSource = "pcSerie", ; + TEXT_SIMPLU1.Height = 23, ; + TEXT_SIMPLU1.Left = 144, ; + TEXT_SIMPLU1.Name = "TEXT_SIMPLU1", ; + TEXT_SIMPLU1.TabIndex = 1, ; + TEXT_SIMPLU1.Top = 3, ; + TEXT_SIMPLU1.Width = 154, ; + LB_SIMPLU1.Caption = "Seria", ; + LB_SIMPLU1.FontSize = 10, ; + LB_SIMPLU1.Name = "LB_SIMPLU1", ; + LB_SIMPLU1.TabIndex = 2 + *< END OBJECT: ClassLib="..\clase\lb_tx.vcx" BaseClass="container" /> + + PROCEDURE Init + Parameters tcTitlu + If !Empty(tcTitlu) + This.lB_TITLU_ALB_B121.Caption = tcTitlu + Endif + DoDefault() + + ENDPROC + +ENDDEFINE diff --git a/ferestre/frm_cere_text.sc2 b/ferestre/frm_cere_text.sc2 new file mode 100644 index 0000000..e4d2c2d --- /dev/null +++ b/ferestre/frm_cere_text.sc2 @@ -0,0 +1,93 @@ +*-------------------------------------------------------------------------------------------------------------------------------------------------------- +* (EN) AUTOGENERATED - ATTENTION!! - NOT INTENDED FOR EXECUTION!! USE ONLY FOR MERGING CHANGES AND STORING WITH SCM TOOLS!! +*-------------------------------------------------------------------------------------------------------------------------------------------------------- +*< FOXBIN2PRG: Version="1.21" SourceFile="frm_cere_text.scx" CPID="1252" /> (Solo para binarios VFP 9 / Only for VFP 9 binaries) +* +* +DEFINE CLASS dataenvironment AS dataenvironment + *< CLASSDATA: Baseclass="dataenvironment" Timestamp="" Scale="" Uniqueid="" ClassIcon="1" /> + + * + DataSource = .NULL. + Height = 0 + Left = 0 + Name = "Dataenvironment" + Top = 0 + Width = 0 + * + +ENDDEFINE + +DEFINE CLASS frm_termin_renunt1 AS frm_termin_renunt OF "..\clase\_frm_child.vcx" + *< CLASSDATA: Baseclass="form" Timestamp="" Scale="" Uniqueid="" /> + + *-- OBJECTDATA items order determines ZOrder / El orden de los items OBJECTDATA determina el ZOrder + *< OBJECTDATA: ObjPath="Clb_tx_simplu1" UniqueID="" Timestamp="" /> + + * + BorderStyle = 1 + DoCreate = .T. + Height = 99 + Name = "Frm_termin_renunt1" + Width = 332 + WindowType = 1 + _SHAPE1.Name = "_SHAPE1" + _SHAPE2.Height = 29 + _SHAPE2.Left = 266 + _SHAPE2.Name = "_SHAPE2" + _SHAPE2.Top = 0 + _SHAPE2.Width = 67 + LB_TITLU_ALB_B121.Caption = "" + LB_TITLU_ALB_B121.Name = "LB_TITLU_ALB_B121" + LB_TITLU_ALB_B121.TabIndex = 4 + BUT_TERMIN1.Left = 300 + BUT_TERMIN1.Name = "BUT_TERMIN1" + BUT_TERMIN1.TabIndex = 2 + BUT_TERMIN1.Top = 1 + BUT_RENUNT1.Left = 271 + BUT_RENUNT1.Name = "BUT_RENUNT1" + BUT_RENUNT1.TabIndex = 3 + BUT_RENUNT1.Top = 1 + * + + ADD OBJECT 'Clb_tx_simplu1' AS clb_tx_simplu WITH ; + Height = 29, ; + Left = 13, ; + Name = "Clb_tx_simplu1", ; + TabIndex = 1, ; + Top = 48, ; + Width = 306, ; + TEXT_SIMPLU1.Height = 23, ; + TEXT_SIMPLU1.Left = 144, ; + TEXT_SIMPLU1.Name = "TEXT_SIMPLU1", ; + TEXT_SIMPLU1.TabIndex = 1, ; + TEXT_SIMPLU1.Top = 3, ; + TEXT_SIMPLU1.Width = 154, ; + LB_SIMPLU1.Caption = "Inroduceti numarul", ; + LB_SIMPLU1.FontSize = 10, ; + LB_SIMPLU1.Name = "LB_SIMPLU1", ; + LB_SIMPLU1.TabIndex = 2 + *< END OBJECT: ClassLib="..\clase\lb_tx.vcx" BaseClass="container" /> + + PROCEDURE Destroy + lReturn = this.clb_tx_simplu1.tEXT_SIMPLU1.Value + RETURN lReturn + ENDPROC + + PROCEDURE Init + PARAMETERS tcLabel, tControlSource,tcTitlu + + IF !EMPTY(tcLabel) + this.clb_tx_simplu1.lB_SIMPLU1.Caption = ALLTRIM(tcLabel) + ENDIF + IF !EMPTY(tControlSource) + this.clb_tx_simplu1.tEXT_SIMPLU1.ControlSource = tControlSource + ENDIF + IF !EMPTY(tcTitlu) + this.lB_TITLU_ALB_B121.Caption = tcTitlu + ENDIF + DODEFAULT() + + ENDPROC + +ENDDEFINE diff --git a/ferestre/frm_changelog.sc2 b/ferestre/frm_changelog.sc2 new file mode 100644 index 0000000..4c9fe6a --- /dev/null +++ b/ferestre/frm_changelog.sc2 @@ -0,0 +1,76 @@ +*-------------------------------------------------------------------------------------------------------------------------------------------------------- +* (EN) AUTOGENERATED - ATTENTION!! - NOT INTENDED FOR EXECUTION!! USE ONLY FOR MERGING CHANGES AND STORING WITH SCM TOOLS!! +*-------------------------------------------------------------------------------------------------------------------------------------------------------- +*< FOXBIN2PRG: Version="1.21" SourceFile="frm_changelog.scx" CPID="1252" /> (Solo para binarios VFP 9 / Only for VFP 9 binaries) +* +* +DEFINE CLASS _frmbase1 AS _frmbase OF "..\clase\_frm_base.vcx" + *< CLASSDATA: Baseclass="form" Timestamp="" Scale="" Uniqueid="" /> + + *-- OBJECTDATA items order determines ZOrder / El orden de los items OBJECTDATA determina el ZOrder + *< OBJECTDATA: ObjPath="Edit1" UniqueID="" Timestamp="" /> + + * + *p: cchangelog + * + + * + cchangelog = + DoCreate = .T. + FontCharSet = 238 + Height = 250 + Name = "_frmbase1" + Width = 375 + _shape1.Anchor = 10 + _shape1.Name = "_shape1" + _shape2.Anchor = 8 + _shape2.Height = 29 + _shape2.Left = 340 + _shape2.Name = "_shape2" + _shape2.Top = 0 + _shape2.Width = 36 + Lb_titlu_alb_b121.Caption = "Jurnal modificãri" + Lb_titlu_alb_b121.Name = "Lb_titlu_alb_b121" + BUT_TERMIN1.Anchor = 8 + BUT_TERMIN1.Left = 344 + BUT_TERMIN1.Name = "BUT_TERMIN1" + BUT_TERMIN1.Top = 1 + Gridsort1.Name = "Gridsort1" + * + + ADD OBJECT 'Edit1' AS editbox WITH ; + Anchor = 15, ; + ControlSource = "thisform.cChangeLog", ; + FontSize = 12, ; + Height = 204, ; + Left = 12, ; + Name = "Edit1", ; + ReadOnly = .T., ; + Top = 36, ; + Width = 348 + *< END OBJECT: BaseClass="editbox" /> + + PROCEDURE Init + this.WindowState = 2 + lcAppName = gcAppName + lcFile = ADDBS(gcAppPath) + 'changelog_' + lcAppName + '.txt' + IF FILE(lcFile) + thisform.cChangeLog = FILETOSTR(lcFile) + ENDIF + ENDPROC + +ENDDEFINE + +DEFINE CLASS dataenvironment AS dataenvironment + *< CLASSDATA: Baseclass="dataenvironment" Timestamp="" Scale="" Uniqueid="" ClassIcon="1" /> + + * + DataSource = .NULL. + Height = 0 + Left = 0 + Name = "Dataenvironment" + Top = 0 + Width = 0 + * + +ENDDEFINE diff --git a/ferestre/frm_chatbot.sc2 b/ferestre/frm_chatbot.sc2 new file mode 100644 index 0000000..7b750a8 --- /dev/null +++ b/ferestre/frm_chatbot.sc2 @@ -0,0 +1,305 @@ +*-------------------------------------------------------------------------------------------------------------------------------------------------------- +* (EN) AUTOGENERATED - ATTENTION!! - NOT INTENDED FOR EXECUTION!! USE ONLY FOR MERGING CHANGES AND STORING WITH SCM TOOLS!! +*-------------------------------------------------------------------------------------------------------------------------------------------------------- +*< FOXBIN2PRG: Version="1.21" SourceFile="frm_chatbot.scx" CPID="1252" /> (Solo para binarios VFP 9 / Only for VFP 9 binaries) +* +* +DEFINE CLASS _frmbase1 AS _frmbase OF "..\clase\_frm_base.vcx" + *< CLASSDATA: Baseclass="form" Timestamp="" Scale="" Uniqueid="" /> + + *-- OBJECTDATA items order determines ZOrder / El orden de los items OBJECTDATA determina el ZOrder + *< OBJECTDATA: ObjPath="Edit2" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="Cmd_executa1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="oleWebBrowser" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="But_reset1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="cboChatBot" UniqueID="" Timestamp="" /> + + * + *m: addhtmltext + *p: cchangelog + *p: cchatbot + *p: cchatid + *p: chtmlbody + * + + * + BorderStyle = 3 + cchangelog = + cchatbot = Cezar + cchatid = + chtmlbody = + DoCreate = .T. + FontCharSet = 238 + Height = 521 + Name = "_frmbase1" + Width = 678 + _memberdata = + + + + + _shape1.Anchor = 10 + _shape1.Height = 29 + _shape1.Left = 0 + _shape1.Name = "_shape1" + _shape1.Top = 0 + _shape1.Width = 684 + _shape2.Anchor = 8 + _shape2.Height = 29 + _shape2.Left = 642 + _shape2.Name = "_shape2" + _shape2.Top = 0 + _shape2.Width = 36 + Lb_titlu_alb_b121.Caption = "Romfast Suport Chatbot" + Lb_titlu_alb_b121.Name = "Lb_titlu_alb_b121" + Lb_titlu_alb_b121.TabIndex = 3 + BUT_TERMIN1.Anchor = 8 + BUT_TERMIN1.Left = 647 + BUT_TERMIN1.Name = "BUT_TERMIN1" + BUT_TERMIN1.TabIndex = 4 + BUT_TERMIN1.Top = 0 + Gridsort1.Name = "Gridsort1" + * + + ADD OBJECT 'But_reset1' AS but_reset WITH ; + Anchor = 8, ; + Left = 615, ; + Name = "But_reset1", ; + Top = 0 + *< END OBJECT: ClassLib="..\clase\cmd_butoane.vcx" BaseClass="commandbutton" /> + + ADD OBJECT 'cboChatBot' AS _combobox WITH ; + Anchor = 12, ; + BorderStyle = 0, ; + Height = 24, ; + Left = 581, ; + Name = "cboChatBot", ; + RowSource = "Maria,Cezar", ; + RowSourceType = 1, ; + SpecialEffect = 1, ; + Top = 456, ; + Value = Cezar, ; + Width = 83 + *< END OBJECT: ClassLib="..\clase\_baza.vcx" BaseClass="combobox" /> + + ADD OBJECT 'Cmd_executa1' AS cmd_executa WITH ; + Anchor = 12, ; + Caption = "...", ; + FontCharSet = 1, ; + FontSize = 20, ; + ForeColor = 0,128,255, ; + Height = 31, ; + Left = 581, ; + Name = "Cmd_executa1", ; + TabIndex = 2, ; + Top = 484, ; + Width = 83 + *< END OBJECT: ClassLib="..\clase\cmd_butoane.vcx" BaseClass="commandbutton" /> + + ADD OBJECT 'Edit2' AS editbox WITH ; + Anchor = 14, ; + ControlSource = "", ; + FontSize = 12, ; + Height = 60, ; + Left = 7, ; + Name = "Edit2", ; + ReadOnly = .F., ; + TabIndex = 1, ; + Top = 452, ; + Width = 569 + *< END OBJECT: BaseClass="editbox" /> + + ADD OBJECT 'oleWebBrowser' AS _webbrowser4 WITH ; + Anchor = 15, ; + Height = 396, ; + Left = 7, ; + Name = "oleWebBrowser", ; + Top = 48, ; + Width = 663 + *< END OBJECT: ClassLib="..\utile\web\_webview.vcx" BaseClass="olecontrol" OLEObject="c:\windows\syswow64\ieframe.dll" Value="0M8R4KGxGuEAAAAAAAAAAAAAAAAAAAAAPgADAP7/CQAGAAAAAAAAAAAAAAABAAAAAQAAAAAAAAAAEAAAAgAAAAEAAAD+////AAAAAAAAAAD////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////9/////v////7////+/////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////1IAbwBvAHQAIABFAG4AdAByAHkAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAWAAUA//////////8BAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAGDDhqk9fdsBAwAAAEABAAAAAAAAAwBPAGwAZQBPAGIAagBlAGMAdABEAGEAdABhAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAB4AAgEDAAAAAgAAAP////8AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAArAAAAAAAAAADAEEAYwBjAGUAcwBzAE8AYgBqAFMAaQB0AGUARABhAHQAYQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAJgACAP///////////////wAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAEAAAA4AAAAAAAAAAMAQwBoAGEAbgBnAGUAZABQAHIAbwBwAHMAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAcAAIA////////////////AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAgAAAAQAAAAAAAAAAwAAAP7////+////BAAAAP7///////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////9h+VaICjTQEalrAMBP1wWiTAAAAIZEAADuKAAAAQAAAAUAAAAAAAAAAAAAAAAAAAAAAAAATAAAAAAAAAAAAAAAOAAAAAAAAAABAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA4AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAEAAIAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABAAAA4NBXAHM1zxGuaQgAKy4SYggAAAAAAAAATAAAAAEUAgAAAAAAwAAAAAAAAEaAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA==" /> + + PROCEDURE addhtmltext + LPARAMETERS tcText, tlUser + * tcText: textul user/bot + * tlUser: text trimis de user sau de bot + + lcClass = IIF(m.tlUser, "user", "assistant") + lcText = IIF(m.tlUser, "I: ", "R: ") + m.tcText + + TEXT TO lcHtmlText TEXTMERGE NOSHOW +
    <>
    + ENDTEXT + + Thisform.cHtmlbody = Thisform.cHtmlbody + CHR(13) + m.lcHtmlText + + TEXT TO lcHtml TEXTMERGE NOSHOW + + + + + + Exemplu Bule de Chat + + + +
    + <> +
    + + + ENDTEXT + + lnLoadTimeout = 3 && seconds + WITH Thisform.oleWebBrowser.object + *!* .Navigate("about:blank") + *!* * Wait for load completion + *!* lnStartSeconds = SECONDS() + *!* DO WHILE .ReadyState <> 4 ; + *!* AND (SECONDS()-lnStartSeconds <= lnLoadTimeout ) + *!* DOEVENTS + *!* ENDDO + + * Load HTML into Web Browser Control + .Document.Open() + .Document.Write(m.lcHtml) + .Document.Close() + * Wait for load completion + lnStartSeconds = SECONDS() + DO WHILE .ReadyState <> 4 ; + AND (SECONDS()-lnStartSeconds <= lnLoadTimeout ) + DOEVENTS + ENDDO + ENDWITH + + ENDPROC + + PROCEDURE do_reset + Local lnLoadTimeout, lnStartSeconds + + lnLoadTimeout = 3 && seconds + WITH Thisform.oleWebBrowser.object + .Navigate("about:blank") + * Wait for load completion + lnStartSeconds = SECONDS() + DO WHILE .ReadyState <> 4 ; + AND (SECONDS()-lnStartSeconds <= lnLoadTimeout ) + DOEVENTS + ENDDO + + .Document.Open() + .Document.Write('') + .Document.Close() + + Thisform.cHtmlbody = '' + Thisform.AddHtmlText("Buna, cu ce pot sa te ajut?", .F.) + + ENDWITH + Thisform.cChatId = "" + Thisform.edit2.SetFocus() + + ENDPROC + + PROCEDURE Init + this.Height = INT(_screen.Height*0.7) + this.Width = INT(_screen.Width * 0.4) + this.AutoCenter = .T. + + Thisform.do_reset() + DODEFAULT() + ENDPROC + + PROCEDURE cboChatBot.Valid + IF this.Value <> Thisform.cChatBot + Thisform.cChatBot = this.Value + Thisform.do_reset() + thisform.edit2.SetFocus() + ENDIF + ENDPROC + + PROCEDURE cboChatBot.When + Thisform.cChatBot = this.Value + ENDPROC + + PROCEDURE Cmd_executa1.Click + LOCAL lcQuestion, m.llMarkdown2Html + Local lcChatId, lcRaspuns, llMarkdown2Html, lcChatBot + m.llMarkdown2Html = .T. + lcQuestion = thisform.edit2.Value + lcChatBot = thisform.cboChatBot.Value + + *!* thisform.edit1.Value = thisform.edit1.Value + CHR(13) + CHR(10) + ; + *!* SPACE(20) + 'I: ' + m.lcQuestion + + thisform.edit2.Value = '' + Thisform.AddHtmlText(m.lcQuestion, .T.) + Thisform.Refresh() + + lcChatId = Thisform.cChatId + lcRaspuns = chatbot(m.lcQuestion, @lcChatId, m.llMarkdown2Html, m.lcChatBot) + Thisform.cChatId = m.lcChatId + + + *!* thisform.edit1.Value = thisform.edit1.Value + CHR(13) + CHR(10) + ; + *!* 'R: ' + m.lcRaspuns + + Thisform.AddHtmlText(m.lcRaspuns, .F.) + + thisform.edit2.SetFocus() + + Thisform.Refresh() + ENDPROC + + PROCEDURE Edit2.KeyPress + LPARAMETERS nKeyCode, nShiftAltCtrl + IF nkeyCode = 13 + Thisform.cmd_executa1.Click() + ENDIF + ENDPROC + +ENDDEFINE + +DEFINE CLASS dataenvironment AS dataenvironment + *< CLASSDATA: Baseclass="dataenvironment" Timestamp="" Scale="" Uniqueid="" ClassIcon="1" /> + + * + DataSource = .NULL. + Height = 0 + Left = 0 + Name = "Dataenvironment" + Top = 0 + Width = 0 + * + +ENDDEFINE diff --git a/ferestre/frm_config_note_contabile.sc2 b/ferestre/frm_config_note_contabile.sc2 new file mode 100644 index 0000000..02a35a2 --- /dev/null +++ b/ferestre/frm_config_note_contabile.sc2 @@ -0,0 +1,133 @@ +*-------------------------------------------------------------------------------------------------------------------------------------------------------- +* (EN) AUTOGENERATED - ATTENTION!! - NOT INTENDED FOR EXECUTION!! USE ONLY FOR MERGING CHANGES AND STORING WITH SCM TOOLS!! +*-------------------------------------------------------------------------------------------------------------------------------------------------------- +*< FOXBIN2PRG: Version="1.21" SourceFile="frm_config_note_contabile.scx" CPID="1250" /> (Solo para binarios VFP 9 / Only for VFP 9 binaries) +* +* +DEFINE CLASS dataenvironment AS dataenvironment + *< CLASSDATA: Baseclass="dataenvironment" Timestamp="" Scale="" Uniqueid="" ClassIcon="1" /> + + * + DataSource = .NULL. + Height = 0 + Left = 0 + Name = "Dataenvironment" + Top = 0 + Width = 0 + * + +ENDDEFINE + +DEFINE CLASS frm_config_note_contabile1 AS frm_config_note_contabile OF "..\clase\onote_contabile.vcx" + *< CLASSDATA: Baseclass="form" Timestamp="" Scale="" Uniqueid="" /> + + * + DoCreate = .T. + Name = "Frm_config_note_contabile1" + _SHAPE1.Name = "_SHAPE1" + _SHAPE2.Name = "_SHAPE2" + LB_TITLU_ALB_B121.Name = "LB_TITLU_ALB_B121" + BUT_TERMIN1.Name = "BUT_TERMIN1" + GRIDSORT1.Name = "GRIDSORT1" + _pageframe1.ErasePage = .T. + _pageframe1.Name = "_pageframe1" + _pageframe1.PAGE1.But_modifica1.Name = "But_modifica1" + _pageframe1.PAGE1.But_modifica2.Name = "But_modifica2" + _pageframe1.PAGE1.BUT_NOU1.Name = "BUT_NOU1" + _pageframe1.PAGE1.But_nou2.Name = "But_nou2" + _pageframe1.PAGE1.But_reface1.Name = "But_reface1" + _pageframe1.PAGE1.But_sterge1.Name = "But_sterge1" + _pageframe1.PAGE1.But_sterge2.Name = "But_sterge2" + _pageframe1.PAGE1.gridInregistrari.cAscc.HEADER1.Name = "HEADER1" + _pageframe1.PAGE1.gridInregistrari.cAscc.Name = "cAscc" + _pageframe1.PAGE1.gridInregistrari.cAscc.TEXT1.Name = "TEXT1" + _pageframe1.PAGE1.gridInregistrari.cAscd.HEADER1.Name = "HEADER1" + _pageframe1.PAGE1.gridInregistrari.cAscd.Name = "cAscd" + _pageframe1.PAGE1.gridInregistrari.cAscd.TEXT1.Name = "TEXT1" + _pageframe1.PAGE1.gridInregistrari.cCu_tva.Check1.Alignment = 0 + _pageframe1.PAGE1.gridInregistrari.cCu_tva.Check1.Name = "Check1" + _pageframe1.PAGE1.gridInregistrari.cCu_tva.HEADER1.Name = "HEADER1" + _pageframe1.PAGE1.gridInregistrari.cCu_tva.Name = "cCu_tva" + _pageframe1.PAGE1.gridInregistrari.cExplicatie.HEADER1.Name = "HEADER1" + _pageframe1.PAGE1.gridInregistrari.cExplicatie.Name = "cExplicatie" + _pageframe1.PAGE1.gridInregistrari.cExplicatie.TEXT1.Name = "TEXT1" + _pageframe1.PAGE1.gridInregistrari.cin_valuta.Check1.Alignment = 0 + _pageframe1.PAGE1.gridInregistrari.cin_valuta.Check1.Name = "Check1" + _pageframe1.PAGE1.gridInregistrari.cin_valuta.HEADER1.Name = "HEADER1" + _pageframe1.PAGE1.gridInregistrari.cin_valuta.Name = "cin_valuta" + _pageframe1.PAGE1.gridInregistrari.COLUMN10.HEADER1.Name = "HEADER1" + _pageframe1.PAGE1.gridInregistrari.COLUMN10.Name = "COLUMN10" + _pageframe1.PAGE1.gridInregistrari.COLUMN10.TEXT1.Name = "TEXT1" + _pageframe1.PAGE1.gridInregistrari.COLUMN11.HEADER1.Name = "HEADER1" + _pageframe1.PAGE1.gridInregistrari.COLUMN11.Name = "COLUMN11" + _pageframe1.PAGE1.gridInregistrari.COLUMN11.TEXT1.Name = "TEXT1" + _pageframe1.PAGE1.gridInregistrari.cOrdine.HEADER1.Name = "HEADER1" + _pageframe1.PAGE1.gridInregistrari.cOrdine.Name = "cOrdine" + _pageframe1.PAGE1.gridInregistrari.cOrdine.TEXT1.Name = "TEXT1" + _pageframe1.PAGE1.gridInregistrari.cptva.HEADER1.Name = "HEADER1" + _pageframe1.PAGE1.gridInregistrari.cptva.Name = "cptva" + _pageframe1.PAGE1.gridInregistrari.cptva.TEXT1.Name = "TEXT1" + _pageframe1.PAGE1.gridInregistrari.cScc.HEADER1.Name = "HEADER1" + _pageframe1.PAGE1.gridInregistrari.cScc.Name = "cScc" + _pageframe1.PAGE1.gridInregistrari.cScc.TEXT1.Name = "TEXT1" + _pageframe1.PAGE1.gridInregistrari.cScd.HEADER1.Name = "HEADER1" + _pageframe1.PAGE1.gridInregistrari.cScd.Name = "cScd" + _pageframe1.PAGE1.gridInregistrari.cScd.TEXT1.Name = "TEXT1" + _pageframe1.PAGE1.gridInregistrari.Name = "gridInregistrari" + _pageframe1.PAGE1.gridNote.COLUMN1.HEADER1.Name = "HEADER1" + _pageframe1.PAGE1.gridNote.COLUMN1.Name = "COLUMN1" + _pageframe1.PAGE1.gridNote.COLUMN1.TEXT1.Name = "TEXT1" + _pageframe1.PAGE1.gridNote.COLUMN2.HEADER1.Name = "HEADER1" + _pageframe1.PAGE1.gridNote.COLUMN2.Name = "COLUMN2" + _pageframe1.PAGE1.gridNote.COLUMN2.TEXT1.Name = "TEXT1" + _pageframe1.PAGE1.gridNote.COLUMN3.HEADER1.Name = "HEADER1" + _pageframe1.PAGE1.gridNote.COLUMN3.Name = "COLUMN3" + _pageframe1.PAGE1.gridNote.COLUMN3.TEXT1.Name = "TEXT1" + _pageframe1.PAGE1.gridNote.COLUMN4.HEADER1.Name = "HEADER1" + _pageframe1.PAGE1.gridNote.COLUMN4.Name = "COLUMN4" + _pageframe1.PAGE1.gridNote.COLUMN4.TEXT1.Name = "TEXT1" + _pageframe1.PAGE1.gridNote.Name = "gridNote" + _pageframe1.PAGE1.Name = "PAGE1" + _pageframe1.PAGE2.But_copiaza2.Name = "But_copiaza2" + _pageframe1.PAGE2.But_editeazaset.Name = "But_editeazaset" + _pageframe1.PAGE2.But_modifica1.Name = "But_modifica1" + _pageframe1.PAGE2.But_modifica2.Name = "But_modifica2" + _pageframe1.PAGE2.BUT_NOU1.Name = "BUT_NOU1" + _pageframe1.PAGE2.But_nou2.Name = "But_nou2" + _pageframe1.PAGE2.But_renunt2.Name = "But_renunt2" + _pageframe1.PAGE2.But_renunt3.Name = "But_renunt3" + _pageframe1.PAGE2.But_salveaza1.Name = "But_salveaza1" + _pageframe1.PAGE2.But_salveaza2.Name = "But_salveaza2" + _pageframe1.PAGE2.But_sterge1.Name = "But_sterge1" + _pageframe1.PAGE2.But_sterge2.Name = "But_sterge2" + _pageframe1.PAGE2.cboCategorii.Name = "cboCategorii" + _pageframe1.PAGE2.grdUCategorii.COLUMN1.HEADER1.Name = "HEADER1" + _pageframe1.PAGE2.grdUCategorii.COLUMN1.Name = "COLUMN1" + _pageframe1.PAGE2.grdUCategorii.COLUMN1.TEXT1.Name = "TEXT1" + _pageframe1.PAGE2.grdUCategorii.COLUMN2.HEADER1.Name = "HEADER1" + _pageframe1.PAGE2.grdUCategorii.COLUMN2.Name = "COLUMN2" + _pageframe1.PAGE2.grdUCategorii.COLUMN2.TEXT1.Name = "TEXT1" + _pageframe1.PAGE2.grdUCategorii.COLUMN3.HEADER1.Name = "HEADER1" + _pageframe1.PAGE2.grdUCategorii.COLUMN3.Name = "COLUMN3" + _pageframe1.PAGE2.grdUCategorii.COLUMN3.TEXT1.Name = "TEXT1" + _pageframe1.PAGE2.grdUCategorii.Name = "grdUCategorii" + _pageframe1.PAGE2.grdUSets.COLUMN1.HEADER1.Name = "HEADER1" + _pageframe1.PAGE2.grdUSets.COLUMN1.Name = "COLUMN1" + _pageframe1.PAGE2.grdUSets.COLUMN1.TEXT1.Name = "TEXT1" + _pageframe1.PAGE2.grdUSets.COLUMN2.HEADER1.Name = "HEADER1" + _pageframe1.PAGE2.grdUSets.COLUMN2.Name = "COLUMN2" + _pageframe1.PAGE2.grdUSets.COLUMN2.TEXT1.Name = "TEXT1" + _pageframe1.PAGE2.grdUSets.Name = "grdUSets" + _pageframe1.PAGE2.lblCategorie.Name = "lblCategorie" + _pageframe1.PAGE2.lblCategorie2.Name = "lblCategorie2" + _pageframe1.PAGE2.lblOrdine.Name = "lblOrdine" + _pageframe1.PAGE2.lblSet.Name = "lblSet" + _pageframe1.PAGE2.Name = "PAGE2" + _pageframe1.PAGE2.spnOrdine.Name = "spnOrdine" + _pageframe1.PAGE2.txtCategorie.Name = "txtCategorie" + _pageframe1.PAGE2.txtSet.Name = "txtSet" + _pageframe1.PAGE2._LABEL1.Name = "_LABEL1" + _pageframe1.PAGE2._LABEL2.Name = "_LABEL2" + * + +ENDDEFINE diff --git a/ferestre/frm_config_note_contabile2007.sc2 b/ferestre/frm_config_note_contabile2007.sc2 new file mode 100644 index 0000000..04253a6 --- /dev/null +++ b/ferestre/frm_config_note_contabile2007.sc2 @@ -0,0 +1,265 @@ +*-------------------------------------------------------------------------------------------------------------------------------------------------------- +* (EN) AUTOGENERATED - ATTENTION!! - NOT INTENDED FOR EXECUTION!! USE ONLY FOR MERGING CHANGES AND STORING WITH SCM TOOLS!! +*-------------------------------------------------------------------------------------------------------------------------------------------------------- +*< FOXBIN2PRG: Version="1.21" SourceFile="frm_config_note_contabile2007.scx" CPID="1250" /> (Solo para binarios VFP 9 / Only for VFP 9 binaries) +* +* +DEFINE CLASS dataenvironment AS dataenvironment + *< CLASSDATA: Baseclass="dataenvironment" Timestamp="" Scale="" Uniqueid="" ClassIcon="1" /> + + * + DataSource = .NULL. + Height = 0 + Left = 0 + Name = "Dataenvironment" + Top = 0 + Width = 0 + * + +ENDDEFINE + +DEFINE CLASS frm_config_note_contabile20071 AS frm_config_note_contabile2007 OF "..\clase\onote_contabile.vcx" + *< CLASSDATA: Baseclass="form" Timestamp="" Scale="" Uniqueid="" /> + + * + DoCreate = .T. + Name = "Frm_config_note_contabile20071" + _SHAPE1.Name = "_SHAPE1" + _SHAPE2.Name = "_SHAPE2" + LB_TITLU_ALB_B121.Name = "LB_TITLU_ALB_B121" + BUT_TERMIN1.Name = "BUT_TERMIN1" + GRIDSORT1.Name = "GRIDSORT1" + _pageframe1.ErasePage = .T. + _pageframe1.Name = "_pageframe1" + _pageframe1.PAGE1.But_modifica1.Name = "But_modifica1" + _pageframe1.PAGE1.But_modifica2.Name = "But_modifica2" + _pageframe1.PAGE1.BUT_NOU1.Name = "BUT_NOU1" + _pageframe1.PAGE1.But_nou2.Name = "But_nou2" + _pageframe1.PAGE1.But_sterge1.Name = "But_sterge1" + _pageframe1.PAGE1.But_sterge2.Name = "But_sterge2" + _pageframe1.PAGE1.gridInregistrari.cAscc.HEADER1.Name = "HEADER1" + _pageframe1.PAGE1.gridInregistrari.cAscc.Name = "cAscc" + _pageframe1.PAGE1.gridInregistrari.cAscc.TEXT1.Name = "TEXT1" + _pageframe1.PAGE1.gridInregistrari.cAscd.HEADER1.Name = "HEADER1" + _pageframe1.PAGE1.gridInregistrari.cAscd.Name = "cAscd" + _pageframe1.PAGE1.gridInregistrari.cAscd.TEXT1.Name = "TEXT1" + _pageframe1.PAGE1.gridInregistrari.cCu_tva.Check1.Alignment = 2 + _pageframe1.PAGE1.gridInregistrari.cCu_tva.Check1.Name = "Check1" + _pageframe1.PAGE1.gridInregistrari.cCu_tva.HEADER1.Name = "HEADER1" + _pageframe1.PAGE1.gridInregistrari.cCu_tva.Name = "cCu_tva" + _pageframe1.PAGE1.gridInregistrari.cExplicatie.HEADER1.Name = "HEADER1" + _pageframe1.PAGE1.gridInregistrari.cExplicatie.Name = "cExplicatie" + _pageframe1.PAGE1.gridInregistrari.cExplicatie.TEXT1.Name = "TEXT1" + _pageframe1.PAGE1.gridInregistrari.cExplicatieTVA.HEADER1.Name = "HEADER1" + _pageframe1.PAGE1.gridInregistrari.cExplicatieTVA.Name = "cExplicatieTVA" + _pageframe1.PAGE1.gridInregistrari.cExplicatieTVA.TEXT1.Name = "TEXT1" + _pageframe1.PAGE1.gridInregistrari.cin_valuta.Check1.Alignment = 2 + _pageframe1.PAGE1.gridInregistrari.cin_valuta.Check1.Name = "Check1" + _pageframe1.PAGE1.gridInregistrari.cin_valuta.HEADER1.Name = "HEADER1" + _pageframe1.PAGE1.gridInregistrari.cin_valuta.Name = "cin_valuta" + _pageframe1.PAGE1.gridInregistrari.cOrdine.HEADER1.Name = "HEADER1" + _pageframe1.PAGE1.gridInregistrari.cOrdine.Name = "cOrdine" + _pageframe1.PAGE1.gridInregistrari.cOrdine.TEXT1.Name = "TEXT1" + _pageframe1.PAGE1.gridInregistrari.cPartc.HEADER1.Name = "HEADER1" + _pageframe1.PAGE1.gridInregistrari.cPartc.Name = "cPartc" + _pageframe1.PAGE1.gridInregistrari.cPartc.TEXT1.Name = "TEXT1" + _pageframe1.PAGE1.gridInregistrari.cPartd.HEADER1.Name = "HEADER1" + _pageframe1.PAGE1.gridInregistrari.cPartd.Name = "cPartd" + _pageframe1.PAGE1.gridInregistrari.cPartd.TEXT1.Name = "TEXT1" + _pageframe1.PAGE1.gridInregistrari.cptva.HEADER1.Name = "HEADER1" + _pageframe1.PAGE1.gridInregistrari.cptva.Name = "cptva" + _pageframe1.PAGE1.gridInregistrari.cptva.TEXT1.Name = "TEXT1" + _pageframe1.PAGE1.gridInregistrari.cScc.HEADER1.Name = "HEADER1" + _pageframe1.PAGE1.gridInregistrari.cScc.Name = "cScc" + _pageframe1.PAGE1.gridInregistrari.cScc.TEXT1.Name = "TEXT1" + _pageframe1.PAGE1.gridInregistrari.cScd.HEADER1.Name = "HEADER1" + _pageframe1.PAGE1.gridInregistrari.cScd.Name = "cScd" + _pageframe1.PAGE1.gridInregistrari.cScd.TEXT1.Name = "TEXT1" + _pageframe1.PAGE1.gridInregistrari.Name = "gridInregistrari" + _pageframe1.PAGE1.gridNote.COLUMN1.HEADER1.Name = "HEADER1" + _pageframe1.PAGE1.gridNote.COLUMN1.Name = "COLUMN1" + _pageframe1.PAGE1.gridNote.COLUMN1.TEXT1.Name = "TEXT1" + _pageframe1.PAGE1.gridNote.COLUMN2.HEADER1.Name = "HEADER1" + _pageframe1.PAGE1.gridNote.COLUMN2.Name = "COLUMN2" + _pageframe1.PAGE1.gridNote.COLUMN2.TEXT1.Name = "TEXT1" + _pageframe1.PAGE1.gridNote.COLUMN3.HEADER1.Name = "HEADER1" + _pageframe1.PAGE1.gridNote.COLUMN3.Name = "COLUMN3" + _pageframe1.PAGE1.gridNote.COLUMN3.TEXT1.Name = "TEXT1" + _pageframe1.PAGE1.gridNote.COLUMN4.HEADER1.Name = "HEADER1" + _pageframe1.PAGE1.gridNote.COLUMN4.Name = "COLUMN4" + _pageframe1.PAGE1.gridNote.COLUMN4.TEXT1.Name = "TEXT1" + _pageframe1.PAGE1.gridNote.Name = "gridNote" + _pageframe1.PAGE1.Name = "PAGE1" + _pageframe1.PAGE2.But_copiaza2.Name = "But_copiaza2" + _pageframe1.PAGE2.But_editeazaset.Name = "But_editeazaset" + _pageframe1.PAGE2.But_modifica1.Name = "But_modifica1" + _pageframe1.PAGE2.But_modifica2.Name = "But_modifica2" + _pageframe1.PAGE2.BUT_NOU1.Name = "BUT_NOU1" + _pageframe1.PAGE2.But_nou2.Name = "But_nou2" + _pageframe1.PAGE2.But_renunt3.Name = "But_renunt3" + _pageframe1.PAGE2.But_salveaza1.Name = "But_salveaza1" + _pageframe1.PAGE2.But_sterge1.Name = "But_sterge1" + _pageframe1.PAGE2.But_sterge2.Name = "But_sterge2" + _pageframe1.PAGE2.grdNote.CALES.HEADER1.Name = "HEADER1" + _pageframe1.PAGE2.grdNote.CALES.Name = "CALES" + _pageframe1.PAGE2.grdNote.CALES.TEXT1.Name = "TEXT1" + _pageframe1.PAGE2.grdNote.CALES._CHECKBOX1.Alignment = 2 + _pageframe1.PAGE2.grdNote.CALES._CHECKBOX1.Name = "_CHECKBOX1" + _pageframe1.PAGE2.grdNote.COLUMN1.HEADER1.Name = "HEADER1" + _pageframe1.PAGE2.grdNote.COLUMN1.Name = "COLUMN1" + _pageframe1.PAGE2.grdNote.COLUMN1.TEXT1.Name = "TEXT1" + _pageframe1.PAGE2.grdNote.COLUMN10.HEADER1.Name = "HEADER1" + _pageframe1.PAGE2.grdNote.COLUMN10.Name = "COLUMN10" + _pageframe1.PAGE2.grdNote.COLUMN10.TEXT1.Name = "TEXT1" + _pageframe1.PAGE2.grdNote.COLUMN11.HEADER1.Name = "HEADER1" + _pageframe1.PAGE2.grdNote.COLUMN11.Name = "COLUMN11" + _pageframe1.PAGE2.grdNote.COLUMN11.TEXT1.Name = "TEXT1" + _pageframe1.PAGE2.grdNote.COLUMN12.HEADER1.Name = "HEADER1" + _pageframe1.PAGE2.grdNote.COLUMN12.Name = "COLUMN12" + _pageframe1.PAGE2.grdNote.COLUMN12.TEXT1.Name = "TEXT1" + _pageframe1.PAGE2.grdNote.COLUMN13.HEADER1.Name = "HEADER1" + _pageframe1.PAGE2.grdNote.COLUMN13.Name = "COLUMN13" + _pageframe1.PAGE2.grdNote.COLUMN13.TEXT1.Name = "TEXT1" + _pageframe1.PAGE2.grdNote.COLUMN14.HEADER1.Name = "HEADER1" + _pageframe1.PAGE2.grdNote.COLUMN14.Name = "COLUMN14" + _pageframe1.PAGE2.grdNote.COLUMN14.TEXT1.Name = "TEXT1" + _pageframe1.PAGE2.grdNote.COLUMN15.HEADER1.Name = "HEADER1" + _pageframe1.PAGE2.grdNote.COLUMN15.Name = "COLUMN15" + _pageframe1.PAGE2.grdNote.COLUMN15.TEXT1.Name = "TEXT1" + _pageframe1.PAGE2.grdNote.COLUMN16.HEADER1.Name = "HEADER1" + _pageframe1.PAGE2.grdNote.COLUMN16.Name = "COLUMN16" + _pageframe1.PAGE2.grdNote.COLUMN16.TEXT1.Name = "TEXT1" + _pageframe1.PAGE2.grdNote.COLUMN17.HEADER1.Name = "HEADER1" + _pageframe1.PAGE2.grdNote.COLUMN17.Name = "COLUMN17" + _pageframe1.PAGE2.grdNote.COLUMN17.TEXT1.Name = "TEXT1" + _pageframe1.PAGE2.grdNote.COLUMN18.HEADER1.Name = "HEADER1" + _pageframe1.PAGE2.grdNote.COLUMN18.Name = "COLUMN18" + _pageframe1.PAGE2.grdNote.COLUMN18.TEXT1.Name = "TEXT1" + _pageframe1.PAGE2.grdNote.COLUMN19.HEADER1.Name = "HEADER1" + _pageframe1.PAGE2.grdNote.COLUMN19.Name = "COLUMN19" + _pageframe1.PAGE2.grdNote.COLUMN19.TEXT1.Name = "TEXT1" + _pageframe1.PAGE2.grdNote.COLUMN2.HEADER2.Name = "HEADER2" + _pageframe1.PAGE2.grdNote.COLUMN2.Name = "COLUMN2" + _pageframe1.PAGE2.grdNote.COLUMN2.TEXT1.Name = "TEXT1" + _pageframe1.PAGE2.grdNote.COLUMN20.HEADER1.Name = "HEADER1" + _pageframe1.PAGE2.grdNote.COLUMN20.Name = "COLUMN20" + _pageframe1.PAGE2.grdNote.COLUMN20.TEXT1.Name = "TEXT1" + _pageframe1.PAGE2.grdNote.COLUMN21.HEADER1.Name = "HEADER1" + _pageframe1.PAGE2.grdNote.COLUMN21.Name = "COLUMN21" + _pageframe1.PAGE2.grdNote.COLUMN21.TEXT1.Name = "TEXT1" + _pageframe1.PAGE2.grdNote.COLUMN22.HEADER1.Name = "HEADER1" + _pageframe1.PAGE2.grdNote.COLUMN22.Name = "COLUMN22" + _pageframe1.PAGE2.grdNote.COLUMN22.TEXT1.Name = "TEXT1" + _pageframe1.PAGE2.grdNote.COLUMN23.HEADER1.Name = "HEADER1" + _pageframe1.PAGE2.grdNote.COLUMN23.Name = "COLUMN23" + _pageframe1.PAGE2.grdNote.COLUMN23.TEXT1.Name = "TEXT1" + _pageframe1.PAGE2.grdNote.COLUMN24.HEADER1.Name = "HEADER1" + _pageframe1.PAGE2.grdNote.COLUMN24.Name = "COLUMN24" + _pageframe1.PAGE2.grdNote.COLUMN24.TEXT1.Name = "TEXT1" + _pageframe1.PAGE2.grdNote.COLUMN25.HEADER1.Name = "HEADER1" + _pageframe1.PAGE2.grdNote.COLUMN25.Name = "COLUMN25" + _pageframe1.PAGE2.grdNote.COLUMN25.TEXT1.Name = "TEXT1" + _pageframe1.PAGE2.grdNote.COLUMN26.HEADER1.Name = "HEADER1" + _pageframe1.PAGE2.grdNote.COLUMN26.Name = "COLUMN26" + _pageframe1.PAGE2.grdNote.COLUMN26.TEXT1.Name = "TEXT1" + _pageframe1.PAGE2.grdNote.COLUMN27.HEADER1.Name = "HEADER1" + _pageframe1.PAGE2.grdNote.COLUMN27.Name = "COLUMN27" + _pageframe1.PAGE2.grdNote.COLUMN27.TEXT1.Name = "TEXT1" + _pageframe1.PAGE2.grdNote.COLUMN28.HEADER1.Name = "HEADER1" + _pageframe1.PAGE2.grdNote.COLUMN28.Name = "COLUMN28" + _pageframe1.PAGE2.grdNote.COLUMN28.TEXT1.Name = "TEXT1" + _pageframe1.PAGE2.grdNote.COLUMN29.HEADER1.Name = "HEADER1" + _pageframe1.PAGE2.grdNote.COLUMN29.Name = "COLUMN29" + _pageframe1.PAGE2.grdNote.COLUMN29.TEXT1.Name = "TEXT1" + _pageframe1.PAGE2.grdNote.COLUMN3.HEADER3.Name = "HEADER3" + _pageframe1.PAGE2.grdNote.COLUMN3.Name = "COLUMN3" + _pageframe1.PAGE2.grdNote.COLUMN3.TEXT1.Name = "TEXT1" + _pageframe1.PAGE2.grdNote.COLUMN30.HEADER1.Name = "HEADER1" + _pageframe1.PAGE2.grdNote.COLUMN30.Name = "COLUMN30" + _pageframe1.PAGE2.grdNote.COLUMN30.TEXT1.Name = "TEXT1" + _pageframe1.PAGE2.grdNote.COLUMN31.HEADER1.Name = "HEADER1" + _pageframe1.PAGE2.grdNote.COLUMN31.Name = "COLUMN31" + _pageframe1.PAGE2.grdNote.COLUMN31.TEXT1.Name = "TEXT1" + _pageframe1.PAGE2.grdNote.COLUMN32.HEADER1.Name = "HEADER1" + _pageframe1.PAGE2.grdNote.COLUMN32.Name = "COLUMN32" + _pageframe1.PAGE2.grdNote.COLUMN32.TEXT1.Name = "TEXT1" + _pageframe1.PAGE2.grdNote.COLUMN33.HEADER1.Name = "HEADER1" + _pageframe1.PAGE2.grdNote.COLUMN33.Name = "COLUMN33" + _pageframe1.PAGE2.grdNote.COLUMN33.TEXT1.Name = "TEXT1" + _pageframe1.PAGE2.grdNote.COLUMN34.HEADER1.Name = "HEADER1" + _pageframe1.PAGE2.grdNote.COLUMN34.Name = "COLUMN34" + _pageframe1.PAGE2.grdNote.COLUMN34.TEXT1.Name = "TEXT1" + _pageframe1.PAGE2.grdNote.COLUMN35.HEADER1.Name = "HEADER1" + _pageframe1.PAGE2.grdNote.COLUMN35.Name = "COLUMN35" + _pageframe1.PAGE2.grdNote.COLUMN35.TEXT1.Name = "TEXT1" + _pageframe1.PAGE2.grdNote.COLUMN36.HEADER1.Name = "HEADER1" + _pageframe1.PAGE2.grdNote.COLUMN36.Name = "COLUMN36" + _pageframe1.PAGE2.grdNote.COLUMN36._CHECKBOX1.Alignment = 2 + _pageframe1.PAGE2.grdNote.COLUMN36._CHECKBOX1.Name = "_CHECKBOX1" + _pageframe1.PAGE2.grdNote.COLUMN37.HEADER1.Name = "HEADER1" + _pageframe1.PAGE2.grdNote.COLUMN37.Name = "COLUMN37" + _pageframe1.PAGE2.grdNote.COLUMN37.TEXT1.Name = "TEXT1" + _pageframe1.PAGE2.grdNote.COLUMN38.HEADER1.Name = "HEADER1" + _pageframe1.PAGE2.grdNote.COLUMN38.Name = "COLUMN38" + _pageframe1.PAGE2.grdNote.COLUMN38.TEXT1.Name = "TEXT1" + _pageframe1.PAGE2.grdNote.COLUMN39.HEADER1.Name = "HEADER1" + _pageframe1.PAGE2.grdNote.COLUMN39.Name = "COLUMN39" + _pageframe1.PAGE2.grdNote.COLUMN39.TEXT1.Name = "TEXT1" + _pageframe1.PAGE2.grdNote.COLUMN4.HEADER4.Name = "HEADER4" + _pageframe1.PAGE2.grdNote.COLUMN4.Name = "COLUMN4" + _pageframe1.PAGE2.grdNote.COLUMN4.TEXT1.Name = "TEXT1" + _pageframe1.PAGE2.grdNote.COLUMN40.HEADER1.Name = "HEADER1" + _pageframe1.PAGE2.grdNote.COLUMN40.Name = "COLUMN40" + _pageframe1.PAGE2.grdNote.COLUMN40.TEXT1.Name = "TEXT1" + _pageframe1.PAGE2.grdNote.COLUMN5.HEADER5.Name = "HEADER5" + _pageframe1.PAGE2.grdNote.COLUMN5.Name = "COLUMN5" + _pageframe1.PAGE2.grdNote.COLUMN5.TEXT1.Name = "TEXT1" + _pageframe1.PAGE2.grdNote.COLUMN6.HEADER6.Name = "HEADER6" + _pageframe1.PAGE2.grdNote.COLUMN6.Name = "COLUMN6" + _pageframe1.PAGE2.grdNote.COLUMN6.TEXT1.Name = "TEXT1" + _pageframe1.PAGE2.grdNote.COLUMN7.HEADER7.Name = "HEADER7" + _pageframe1.PAGE2.grdNote.COLUMN7.Name = "COLUMN7" + _pageframe1.PAGE2.grdNote.COLUMN7.TEXT1.Name = "TEXT1" + _pageframe1.PAGE2.grdNote.COLUMN8.HEADER8.Name = "HEADER8" + _pageframe1.PAGE2.grdNote.COLUMN8.Name = "COLUMN8" + _pageframe1.PAGE2.grdNote.COLUMN8.TEXT1.Name = "TEXT1" + _pageframe1.PAGE2.grdNote.COLUMN9.HEADER9.Name = "HEADER9" + _pageframe1.PAGE2.grdNote.COLUMN9.Name = "COLUMN9" + _pageframe1.PAGE2.grdNote.COLUMN9.TEXT1.Name = "TEXT1" + _pageframe1.PAGE2.grdNote.Name = "grdNote" + _pageframe1.PAGE2.grdRequest.COLUMN1.HEADER1.Name = "HEADER1" + _pageframe1.PAGE2.grdRequest.COLUMN1.Name = "COLUMN1" + _pageframe1.PAGE2.grdRequest.COLUMN1.TEXT1.Name = "TEXT1" + _pageframe1.PAGE2.grdRequest.COLUMN2.HEADER1.Name = "HEADER1" + _pageframe1.PAGE2.grdRequest.COLUMN2.Name = "COLUMN2" + _pageframe1.PAGE2.grdRequest.COLUMN2.TEXT1.Name = "TEXT1" + _pageframe1.PAGE2.grdRequest.Name = "grdRequest" + _pageframe1.PAGE2.grdUCategorii.cCategorie.HEADER1.Name = "HEADER1" + _pageframe1.PAGE2.grdUCategorii.cCategorie.Name = "cCategorie" + _pageframe1.PAGE2.grdUCategorii.cCategorie.TEXT1.Name = "TEXT1" + _pageframe1.PAGE2.grdUCategorii.cIdCategorie.HEADER1.Name = "HEADER1" + _pageframe1.PAGE2.grdUCategorii.cIdCategorie.Name = "cIdCategorie" + _pageframe1.PAGE2.grdUCategorii.cIdCategorie.TEXT1.Name = "TEXT1" + _pageframe1.PAGE2.grdUCategorii.cOrdine.HEADER1.Name = "HEADER1" + _pageframe1.PAGE2.grdUCategorii.cOrdine.Name = "cOrdine" + _pageframe1.PAGE2.grdUCategorii.cOrdine.TEXT1.Name = "TEXT1" + _pageframe1.PAGE2.grdUCategorii.Name = "grdUCategorii" + _pageframe1.PAGE2.grdUSets.cIdSet.HEADER1.Name = "HEADER1" + _pageframe1.PAGE2.grdUSets.cIdSet.Name = "cIdSet" + _pageframe1.PAGE2.grdUSets.cIdSet.TEXT1.Name = "TEXT1" + _pageframe1.PAGE2.grdUSets.cNumeSet.HEADER1.Name = "HEADER1" + _pageframe1.PAGE2.grdUSets.cNumeSet.Name = "cNumeSet" + _pageframe1.PAGE2.grdUSets.cNumeSet.TEXT1.Name = "TEXT1" + _pageframe1.PAGE2.grdUSets.Name = "grdUSets" + _pageframe1.PAGE2.lblCategorie.Name = "lblCategorie" + _pageframe1.PAGE2.lblCategorii.Name = "lblCategorii" + _pageframe1.PAGE2.lblNote.Name = "lblNote" + _pageframe1.PAGE2.lblOrdine.Name = "lblOrdine" + _pageframe1.PAGE2.lblRequest.Name = "lblRequest" + _pageframe1.PAGE2.lblSets.Name = "lblSets" + _pageframe1.PAGE2.Name = "PAGE2" + _pageframe1.PAGE2.spnOrdine.Name = "spnOrdine" + _pageframe1.PAGE2.txtCategorie.Name = "txtCategorie" + * + +ENDDEFINE diff --git a/ferestre/frm_filtru_luna.sc2 b/ferestre/frm_filtru_luna.sc2 new file mode 100644 index 0000000..9a6b012 --- /dev/null +++ b/ferestre/frm_filtru_luna.sc2 @@ -0,0 +1,35 @@ +*-------------------------------------------------------------------------------------------------------------------------------------------------------- +* (EN) AUTOGENERATED - ATTENTION!! - NOT INTENDED FOR EXECUTION!! USE ONLY FOR MERGING CHANGES AND STORING WITH SCM TOOLS!! +*-------------------------------------------------------------------------------------------------------------------------------------------------------- +*< FOXBIN2PRG: Version="1.21" SourceFile="frm_filtru_luna.scx" CPID="1252" /> (Solo para binarios VFP 9 / Only for VFP 9 binaries) +* +* +DEFINE CLASS dataenvironment AS dataenvironment + *< CLASSDATA: Baseclass="dataenvironment" Timestamp="" Scale="" Uniqueid="" ClassIcon="1" /> + + * + DataSource = .NULL. + Height = 0 + Left = 0 + Name = "Dataenvironment" + Top = 0 + Width = 0 + * + +ENDDEFINE + +DEFINE CLASS frm_filtru_luna1 AS frm_filtru_luna OF "..\clase\caut_ora.vcx" + *< CLASSDATA: Baseclass="form" Timestamp="" Scale="" Uniqueid="" /> + + * + DoCreate = .T. + Name = "Frm_filtru_luna1" + _shape1.Name = "_shape1" + _shape2.Name = "_shape2" + Lb_titlu_alb_b121.Name = "Lb_titlu_alb_b121" + BUT_TERMIN1.Name = "BUT_TERMIN1" + Text2.Name = "Text2" + Text1.Name = "Text1" + * + +ENDDEFINE diff --git a/ferestre/frm_filtru_numar.sc2 b/ferestre/frm_filtru_numar.sc2 new file mode 100644 index 0000000..b0d463c --- /dev/null +++ b/ferestre/frm_filtru_numar.sc2 @@ -0,0 +1,44 @@ +*-------------------------------------------------------------------------------------------------------------------------------------------------------- +* (EN) AUTOGENERATED - ATTENTION!! - NOT INTENDED FOR EXECUTION!! USE ONLY FOR MERGING CHANGES AND STORING WITH SCM TOOLS!! +*-------------------------------------------------------------------------------------------------------------------------------------------------------- +*< FOXBIN2PRG: Version="1.21" SourceFile="frm_filtru_numar.scx" CPID="1252" /> (Solo para binarios VFP 9 / Only for VFP 9 binaries) +* +* +DEFINE CLASS dataenvironment AS dataenvironment + *< CLASSDATA: Baseclass="dataenvironment" Timestamp="" Scale="" Uniqueid="" ClassIcon="1" /> + + * + DataSource = .NULL. + Height = 0 + Left = 0 + Name = "Dataenvironment" + Top = 0 + Width = 0 + * + +ENDDEFINE + +DEFINE CLASS frm_filtru_numar1 AS frm_filtru_numar OF "..\clase\caut_ora.vcx" + *< CLASSDATA: Baseclass="form" Timestamp="" Scale="" Uniqueid="" /> + + * + DoCreate = .T. + Name = "Frm_filtru_numar1" + _shape1.Name = "_shape1" + _shape2.Name = "_shape2" + Lb_titlu_alb_b121.Name = "Lb_titlu_alb_b121" + BUT_TERMIN1.Name = "BUT_TERMIN1" + Criteriu1.Name = "Criteriu1" + Criteriu2.Name = "Criteriu2" + Grup_optiuni_filtru_numar1.Name = "Grup_optiuni_filtru_numar1" + Grup_optiuni_filtru_numar1.Option1.Left = 5 + Grup_optiuni_filtru_numar1.Option1.Name = "Option1" + Grup_optiuni_filtru_numar1.Option1.Top = 5 + Grup_optiuni_filtru_numar1.Option2.Left = 66 + Grup_optiuni_filtru_numar1.Option2.Name = "Option2" + Grup_optiuni_filtru_numar1.Option2.Top = 5 + Text1.Name = "Text1" + Text2.Name = "Text2" + * + +ENDDEFINE diff --git a/ferestre/frm_filtru_text.sc2 b/ferestre/frm_filtru_text.sc2 new file mode 100644 index 0000000..f31add6 --- /dev/null +++ b/ferestre/frm_filtru_text.sc2 @@ -0,0 +1,47 @@ +*-------------------------------------------------------------------------------------------------------------------------------------------------------- +* (EN) AUTOGENERATED - ATTENTION!! - NOT INTENDED FOR EXECUTION!! USE ONLY FOR MERGING CHANGES AND STORING WITH SCM TOOLS!! +*-------------------------------------------------------------------------------------------------------------------------------------------------------- +*< FOXBIN2PRG: Version="1.21" SourceFile="frm_filtru_text.scx" CPID="1252" /> (Solo para binarios VFP 9 / Only for VFP 9 binaries) +* +* +DEFINE CLASS dataenvironment AS dataenvironment + *< CLASSDATA: Baseclass="dataenvironment" Timestamp="" Scale="" Uniqueid="" ClassIcon="1" /> + + * + DataSource = .NULL. + Height = 0 + Left = 0 + Name = "Dataenvironment" + Top = 0 + Width = 0 + * + +ENDDEFINE + +DEFINE CLASS frm_filtru_text1 AS frm_filtru_text OF "..\clase\caut_ora.vcx" + *< CLASSDATA: Baseclass="form" Timestamp="" Scale="" Uniqueid="" /> + + * + DoCreate = .T. + Name = "Frm_filtru_text1" + _shape1.Name = "_shape1" + _shape2.Name = "_shape2" + Lb_titlu_alb_b121.Name = "Lb_titlu_alb_b121" + BUT_TERMIN1.Name = "BUT_TERMIN1" + criteriu.Name = "criteriu" + Criteriu2.Name = "Criteriu2" + grup_optiuni_filtru.Name = "grup_optiuni_filtru" + grup_optiuni_filtru.Option1.Left = 5 + grup_optiuni_filtru.Option1.Name = "Option1" + grup_optiuni_filtru.Option1.Top = 5 + grup_optiuni_filtru.Option2.Left = 66 + grup_optiuni_filtru.Option2.Name = "Option2" + grup_optiuni_filtru.Option2.Top = 5 + grup_optiuni_filtru.Option3.Left = 134 + grup_optiuni_filtru.Option3.Name = "Option3" + grup_optiuni_filtru.Option3.Top = 5 + Text.Name = "Text" + Text2.Name = "Text2" + * + +ENDDEFINE diff --git a/ferestre/frm_import_note_facturi_clienti.sc2 b/ferestre/frm_import_note_facturi_clienti.sc2 new file mode 100644 index 0000000..d139e8b --- /dev/null +++ b/ferestre/frm_import_note_facturi_clienti.sc2 @@ -0,0 +1,1441 @@ +*-------------------------------------------------------------------------------------------------------------------------------------------------------- +* (EN) AUTOGENERATED - ATTENTION!! - NOT INTENDED FOR EXECUTION!! USE ONLY FOR MERGING CHANGES AND STORING WITH SCM TOOLS!! +*-------------------------------------------------------------------------------------------------------------------------------------------------------- +*< FOXBIN2PRG: Version="1.21" SourceFile="frm_import_note_facturi_clienti.scx" CPID="1252" /> (Solo para binarios VFP 9 / Only for VFP 9 binaries) +* +* +#INCLUDE "comun.h" + +DEFINE CLASS dataenvironment AS dataenvironment + *< CLASSDATA: Baseclass="dataenvironment" Timestamp="" Scale="" Uniqueid="" ClassIcon="1" /> + + * + DataSource = .NULL. + Height = 200 + Left = 1 + Name = "Dataenvironment" + Top = 220 + Width = 520 + * + +ENDDEFINE + +DEFINE CLASS form1 AS form + *< CLASSDATA: Baseclass="form" Timestamp="" Scale="" Uniqueid="" /> + + *-- OBJECTDATA items order determines ZOrder / El orden de los items OBJECTDATA determina el ZOrder + *< OBJECTDATA: ObjPath="cmdExport" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="edtInfo" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="txtData1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="txtData2" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="Label1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="Command1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="chkModificaNote" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="cmdTemplate" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="chkAnulat" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="But_help1" UniqueID="" Timestamp="" /> + + * + *m: completeazaclientiroa + *m: connectroa + *m: creeazanote + *m: disconnectroa + *m: exportdate + *m: getidpartcasa + *m: modificanote + *m: prelucreazafisierebreeze + *m: scrienote + *m: sql_temp_insert + *m: sql_temp_insert_values + *m: sterge_import + *m: templatexlsx + *m: trace + *m: verificaimport + *p: lanulat + *p: _memberdata && XML Metadata for customizable properties + * + + * + BackColor = 255,255,255 + Caption = "Import note contabile in ROA" + DoCreate = .T. + Height = 538 + Icon = ..\grafice\note.ico + lanulat = .F. + Left = 0 + Name = "Form1" + ShowWindow = 0 + Top = 0 + Width = 660 + WindowType = 1 + _memberdata = + + + + + * + + ADD OBJECT 'But_help1' AS but_help WITH ; + Anchor = 8, ; + Left = 615, ; + Name = "But_help1", ; + Top = 3 + *< END OBJECT: ClassLib="..\clase\cmd_butoane.vcx" BaseClass="commandbutton" /> + + ADD OBJECT 'chkAnulat' AS _checkbox WITH ; + Alignment = 0, ; + Caption = "Facturi anulate", ; + ControlSource = "Thisform.lAnulat", ; + FontSize = 10, ; + Left = 276, ; + Name = "chkAnulat", ; + Top = 11, ; + Value = .F. + *< END OBJECT: ClassLib="..\clase\_baza.vcx" BaseClass="checkbox" /> + + ADD OBJECT 'chkModificaNote' AS _checkbox WITH ; + Alignment = 0, ; + Caption = "Modifica note contabile", ; + FontSize = 10, ; + Left = 396, ; + Name = "chkModificaNote", ; + Top = 12, ; + Value = 1 + *< END OBJECT: ClassLib="..\clase\_baza.vcx" BaseClass="checkbox" /> + + ADD OBJECT 'cmdExport' AS commandbutton WITH ; + Anchor = 0, ; + AutoSize = .F., ; + BackColor = 255,128,64, ; + Caption = "\ + + ADD OBJECT 'cmdTemplate' AS commandbutton WITH ; + Anchor = 0, ; + AutoSize = .F., ; + BackColor = 74,165,255, ; + Caption = "Sablon \ + + ADD OBJECT 'Command1' AS commandbutton WITH ; + Anchor = 0, ; + AutoSize = .F., ; + BackColor = 255,159,159, ; + Caption = "\ + + ADD OBJECT 'edtInfo' AS editbox WITH ; + Anchor = 15, ; + FontSize = 10, ; + Height = 444, ; + Left = 10, ; + Name = "edtInfo", ; + TabIndex = 4, ; + Top = 84, ; + Width = 638 + *< END OBJECT: BaseClass="editbox" /> + + ADD OBJECT 'Label1' AS label WITH ; + AutoSize = .T., ; + BackStyle = 0, ; + Caption = "Perioada", ; + FontSize = 10, ; + Height = 18, ; + Left = 9, ; + Name = "Label1", ; + TabIndex = 5, ; + Top = 11, ; + Width = 53 + *< END OBJECT: BaseClass="label" /> + + ADD OBJECT 'txtData1' AS textbox WITH ; + FontSize = 10, ; + Format = "!K", ; + Height = 23, ; + Left = 66, ; + Name = "txtData1", ; + TabIndex = 1, ; + Top = 7, ; + Width = 100 + *< END OBJECT: BaseClass="textbox" /> + + ADD OBJECT 'txtData2' AS textbox WITH ; + FontSize = 10, ; + Format = "!K", ; + Height = 23, ; + Left = 172, ; + Name = "txtData2", ; + TabIndex = 2, ; + Top = 7, ; + Width = 100 + *< END OBJECT: BaseClass="textbox" /> + + PROCEDURE completeazaclientiroa + * Completez id_part + *loHash = GetHash([cselect=>select id_part from nom_parteneri where replace(UPPER(cod_fiscal),' ', '') = replace(UPPER(?pcCodFiscal), ' ', '') and sters = 0 and inactiv = 0??cCursor=>cClientiROA]) + Local lcAdresa, lcApart, lcBanca, lcBloc, lcCod_fiscal, lcCodpostal, lcCont_Banca, lcCorespDel + Local lcDA_apare, lcDenumire, lcDenumire_adresa, lcEmail, lcEtaj, lcFax, lcIdPart, lcIdString + Local lcId_Judet, lcId_categ_ent, lcId_loc, lcId_loc_inreg, lcId_tara, lcId_util, lcItem, lcJudet + Local lcLocalitate, lcMesaj, lcMotiv_inactiv, lcNumar, lcNume, lcPrefix, lcPrenume, lcPrincipala + Local lcReg_comert, lcScara, lcSql, lcSqlCod, lcSqlDenumire, lcSqlInsert, lcStrada, lcSufix, lcTara + Local lcTelefon1, lcTelefon2, lcTip_persoana, lcWeb, lcinactiv, lnItem, lnItems, lnSucces, lcAdreseParteneri + Private pcCodFiscal, pcDenumire, pnIdPart, pnNrAdrese, pnIdJudet + pnIdJudet = 0 + pcCodFiscal = '' + pcDenumire = '' + pnIdPart = 0 + pnNrAdrese = 0 + + lcSqlPart = [select id_part, cod_fiscal, denumire from nom_parteneri where sters = 0 and inactiv = 0] + lnSucces = goExecutor.oExecute(m.lcSqlPart, 'cParteneri') + + If m.lnSucces < 0 + Thisform.trace('Eroare la selectia din clienti ROA ' + goExecutor.oPrelucrareEroare()) + RETURN m.lnSucces + ENDIF + + lcAdreseParteneri = [select id_adresa, id_part, localitate, id_loc, judet, id_judet, tara, id_tara from vadrese_parteneri] + lnSucces = goExecutor.oExecute(m.lcAdreseParteneri, 'cAdrese') + + If m.lnSucces < 0 + Thisform.trace('Eroare la selectia din adrese parteneri ROA ' + goExecutor.oPrelucrareEroare()) + RETURN m.lnSucces + ENDIF + + *!* lcSqlCod = [select MAX(id_part) as id_part from nom_parteneri where replace(UPPER(cod_fiscal),' ', '') = ?pcCodFiscal and sters = 0 and inactiv = 0] + *!* lcSqlDenumire = [select MAX(id_part) as id_part from nom_parteneri where denumire = ?pcDenumire and sters = 0 and inactiv = 0] + lnSucces = 1 + + Select cClienti + Scan + pcCodFiscal = Alltrim(Upper(STRTRAN(cod_fiscal, ' ', ''))) + pcDenumire = Alltrim(Upper(denumire)) + pnIdPart = 0 + + lcAdresa = Strtran(Alltrim(Upper(Nvl(adresa, ''))), Chr(13), ' ') + * Preciziei (Strada), Nr. 6M, Complex rezidential TEN BLOCKS Bl. 8B, Sc. 1, Et. 6, Ap. 32, Cod Postal 062203, Bucuresti, Romania + * Doinei (Strada), Nr. 94, Et. 2, Ap. 12 int 412, Cod Postal 077086, Fundeni, Romania + * Lieberman Partners Srl Braniste Valeriu (Strada), Nr. 37-39, Et. 2, Ap. 8, Cod Postal 030715, Bucuresti, Romania + + WAIT WINDOW 'Import clienti... Caut clientul ' + TRANSFORM(RECNO()) + '/' + TRANSFORM(RECCOUNT()) NOWAIT + + SELECT cParteneri + If !Empty(m.pcCodFiscal) + LOCATE FOR ALLTRIM(STRTRAN(cod_fiscal, ' ', '')) = m.pcCodFiscal + *!* lnSucces = goExecutor.oSelect2Value(m.lcSqlCod, @pnIdPart) + ELSE + LOCATE FOR ALLTRIM(UPPER(denumire)) = m.pcDenumire + *!* lnSucces = goExecutor.oSelect2Value(m.lcSqlDenumire, @pnIdPart) + Endif + *!* If m.lnSucces = -1 + *!* Thisform.trace('Eroare la selectia din clienti ROA ' + goExecutor.oPrelucrareEroare()) + *!* Exit + *!* Endif + IF FOUND() + pnIdPart = cParteneri.id_part + ENDIF + + If !Empty(Nvl(m.pnIdPart, 0)) + Replace id_part With m.pnIdPart In cClienti + lcMesaj = 'Client existent ' + Alltrim(cClienti.denumire) + ' CUI: ' + Alltrim(cClienti.cod_fiscal) + ' ID: ' + Alltrim(Transform(cClienti.id_part)) + Thisform.trace(m.lcMesaj) + Else + * Adaugare clienti + Select cClienti + lcDenumire = Nvl(Strtran(Alltrim(Upper(denumire)), ['], ['']), "") + lcNume = Nvl(Strtran(Alltrim(Upper(nume)), ['], ['']), "") + lcPrenume = Nvl(Strtran(Alltrim(Upper(prenume)), ['], ['']), "") + If Empty(m.lcNume) + lcNume = m.lcDenumire + m.lcPrenume = '' + Endif + lcCod_fiscal = Upper(Alltrim(cod_fiscal)) + lcReg_comert = Nvl(Alltrim(Upper(reg_com)), "") + lcId_loc_inreg = 'NULL' + lcId_categ_ent = 'NULL' + lcPrefix = "" + lcSufix = "" + lcTip_persoana = IIF(!EMPTY(m.lcCod_fiscal) and LEN(m.lcCod_fiscal) < 13, "1", "2") + lcBanca = "" + lcCont_Banca = "" + lcinactiv = "0" + lcMotiv_inactiv = "" + lcIdString = "16" + lcCorespDel = "" + lcId_util = "-3" + lcSqlInsert = [begin pack_def.adauga_partener('] + lcDenumire + [','] + lcNume + [','] + lcPrenume + [','] + lcCod_fiscal + [','] + ; + lcReg_comert + [',] + lcId_loc_inreg + [,] + lcId_categ_ent + [,'] + lcPrefix + [','] + lcSufix + [',] + ; + lcTip_persoana + [,'] + lcBanca + [','] + lcCont_Banca + [',] + lcinactiv + [,'] + lcMotiv_inactiv + [',] + ; + lcId_util + [,'] + lcIdString + [','] + lcCorespDel + [',?@pnIdPart); end;] + + lnSucces = goExecutor.oExecute(m.lcSqlInsert) + If !Empty(Nvl(m.pnIdPart, 0)) + Replace id_part With m.pnIdPart In cClienti + Thisform.trace('Client nou ' + Alltrim(cClienti.denumire) + ' CUI: ' + Alltrim(cClienti.cod_fiscal) + ' ID: ' + Alltrim(Transform(cClienti.id_part))) + Else + lcMesaj = 'Eroare la adaugarea in clienti ROA ' + Alltrim(cClienti.denumire) + ' CUI: ' + Alltrim(cClienti.cod_fiscal) + Chr(13) + Chr(10) + goExecutor.oPrelucrareEroare() + Thisform.trace(m.lcMesaj) + AMessagebox(m.lcMesaj, 0 + 48, _Screen.Caption ) + Exit + Endif && !Empty(Nvl(m.pnIdPart,0)) + + Endif && !Empty(Nvl(m.pnIdPart, 0)) + + *********************************** + * Adresa partener + *********************************** + If !Empty(m.lcAdresa) + CALCULATE CNT(id_adresa) FOR id_part = m.pnIdPart TO pnNrAdrese IN cAdrese + *!* pnNrAdrese = 0 + *!* lnSucces = goExecutor.oSelect2Value([SELECT COUNT(*) as nr FROM adrese_parteneri WHERE id_part = ?pnIdPart], @pnNrAdrese) + *!* If m.lnSucces < 0 + *!* lcMesaj = goExecutor.cEroare + *!* Thisform.trace(m.lcMesaj) + *!* AMessagebox(m.lcMesaj, 0 + 48, _Screen.Caption ) + *!* Exit + *!* Endif + + lcIdPart = Alltrim(Str(m.pnIdPart)) + lcDenumire_adresa = "" + lcDA_apare = "0" + lcStrada = "" + lcNumar = "" + + lcBloc = "" + lcScara = "" + lcApart = "" + lcEtaj = "" + lcId_loc = "NULL" + lcLocalitate = "" + lcId_Judet = "NULL" + lcCodpostal = "NULL" + lcId_tara = "NULL" + lcTelefon1 = "" + lcTelefon2 = "" + lcFax = "" + lcEmail = "" + lcWeb = "" + lcPrincipala = Iif(m.pnNrAdrese = 0, "1", "0") + lcinactiv = "0" + lcId_util = "-3" + + lnItems = Getwordcount(m.lcAdresa, ',') + For lnItem = 1 To m.lnItems + lcItem = Alltrim(Getwordnum(m.lcAdresa, m.lnItem, ',')) + Do Case + Case m.lnItem = 1 && strada + lcStrada = LEFT(Alltrim(m.lcItem), 150) + Case 'NR.' $ m.lcItem && nr strada + lcNumar = LEFT(Alltrim(Strtran(m.lcItem, 'NR.', '')), 10) + Case 'BL.' $ m.lcItem + lcBloc = LEFT(Alltrim(Strtran(m.lcItem, 'BL.', '')), 30) + Case 'SC.' $ m.lcItem + lcScara = LEFT(Alltrim(Strtran(m.lcItem, 'SC.', '')), 10) + Case 'ET.' $ m.lcItem + lcEtaj = LEFT(Alltrim(Strtran(m.lcItem, 'ET.', '')), 20) + Case 'AP.' $ m.lcItem + lcApart = LEFT(Alltrim(Strtran(m.lcItem, 'AP.', '')), 10) + Case 'COD POSTAL' $ m.lcItem + lcCodpostal = ALLTRIM(STR(INT(VAL(LEFT(Alltrim(Strtran(m.lcItem, 'COD POSTAL', '')), 20))))) + Case 'LOC.' $ m.lcItem + lcLocalitate = Alltrim(Strtran(m.lcItem, 'LOC.', '')) + Case 'JUD.' $ m.lcItem + lcJudet = Alltrim(Strtran(m.lcItem, 'JUD.', '')) + Case m.lnItem = m.lnItems - 1 And Empty(m.lcLocalitate) + lcLocalitate = m.lcItem + Case m.lnItem = m.lnItems + lcTara = m.lcItem + Endcase + Endfor + + lnIdJudetBucuresti = 10 + lcJudetBucuresti = "BUCURESTI" + lnIdLocalitateBucuresti = 1759 + lnIdTaraRO = 1 + + If m.lcLocalitate = 'BUCURESTI' + m.lcLocalitate = 'BUCURESTI SECTORUL 1' + Endif + If Empty(m.lcLocalitate) + lcLocalitate = 'BUCURESTI SECTORUL 1' + Endif + If Empty(m.lcJudet) + lcJudet = m.lcJudetBucuresti + ENDIF + + * caut adresa dupa localitate. daca nu o gasesc, o adaug + SELECT cAdrese + LOCATE FOR id_part = m.pnIdPart AND localitate = m.lcLocalitate + IF !FOUND() + pnIdJudet = 0 + lnSucces = goExecutor.oSelect2Value([select j.id_judet, j.id_tara from syn_nom_judete j where j.judet = '] + m.lcJudet + [' and j.inactiv = 0 and j.sters = 0], @pnIdJudet) + + If m.lnSucces > 0 + IF EMPTY(NVL(m.pnIdJudet,0)) + lnSucces = goExecutor.oSelect2Value([select j.id_judet, j.id_tara from syn_nom_judete j where j.judet like '%] + m.lcJudetBucuresti + [%' and j.inactiv = 0 and j.sters = 0], @pnIdJudet) + IF m.lnSucces > 0 + lnIdJudet = m.pnIdJudet + ELSE + lnIdJudet = m.lnIdJudetBucuresti + ENDIF + ELSE + lnIdJudet = m.pnIdJudet + ENDIF + ELSE + This.Trace(goExecutor.cEroare) + lnIdJudet = m.lnIdJudetBucuresti + ENDIF + + lcSql = [select l.id_loc, l.id_judet, j.id_tara from syn_nom_localitati l left join syn_nom_judete j on l.id_judet = j.id_judet where l.id_judet = ] + ALLTRIM(STR(m.lnIdJudet)) + [ and l.localitate = '] + m.lcLocalitate + [' and l.inactiv = 0 and l.sters = 0 order by l.localitate] + lnSucces = goExecutor.oExecute(m.lcSql, 'cLocalitateTemp') + If m.lnSucces > 0 + IF RECCOUNT('cLocalitateTemp') > 0 + Select cLocalitateTemp + Go Top + lcId_loc = Alltrim(Str(id_loc)) + lcId_Judet = Alltrim(Str(id_judet)) + lcId_tara = Alltrim(Str(id_tara)) + Use In (Select('cLocalitateTemp')) + ELSE + Use In (Select('cLocalitateTemp')) + lcSql = [select l.id_loc, l.id_judet, j.id_tara from syn_nom_localitati l left join syn_nom_judete j on l.id_judet = j.id_judet where l.id_judet = ] + ALLTRIM(STR(m.lnIdJudet)) + [ and l.inactiv = 0 and l.sters = 0 order by l.localitate] + lnSucces = goExecutor.oExecute(m.lcSql, 'cLocalitateTemp') + If m.lnSucces > 0 + Select cLocalitateTemp + Go Top + lcId_loc = Alltrim(Str(id_loc)) + lcId_Judet = Alltrim(Str(id_judet)) + lcId_tara = Alltrim(Str(id_tara)) + ELSE + This.Trace(goExecutor.cEroare) + ENDIF + Use In (Select('cLocalitateTemp')) + ENDIF + ELSE + This.Trace(goExecutor.cEroare) + ENDIF + + IF EMPTY(NVL(m.lcId_loc, '')) + lcId_loc = Alltrim(Str(m.lnIdLocalitateBucuresti)) + lcId_Judet = Alltrim(Str(m.lnIdJudetBucuresti)) + lcId_tara = Alltrim(Str(m.lnIdTaraRO)) + Endif && lnSucces + + If m.lcId_loc <> 'NULL' + pnIdAdresa = 0 + *!* * caut adresa dupa localitate. daca nu o gasesc, o adaug + *!* lcSql = [SELECT id_adresa FROM adrese_parteneri where sters = 0 and inactiv = 0 and id_loc = ] + m.lcId_loc + [ AND id_part = ] + m.lcIdPart + *!* lnSucces = goExecutor.oSelect2Value(m.lcSql, @pnIdAdresa) + *!* If m.lnSucces < 0 + *!* lcMesaj = goExecutor.cEroare + *!* Thisform.trace(m.lcMesaj) + *!* AMessagebox(m.lcMesaj, 0 + 48, _Screen.Caption ) + *!* Exit + *!* Endif + + If Empty(NVL(m.pnIdAdresa,0)) + lcSql = [begin pack_def.adauga_adresa_partener2(] + lcIdPart + [,'] + lcDenumire_adresa + [',] + lcDA_apare + [,] + ; + ['] + lcStrada + [','] + lcNumar + [','] + ; + lcBloc + [','] + lcScara + [','] + lcApart + [','] + lcEtaj + [',] + lcId_loc + [,'] + lcLocalitate + [',] + lcId_Judet + [,] + lcCodpostal + [,] + lcId_tara + [,'] + ; + lcTelefon1 + [','] + lcTelefon2 + [','] + lcFax + [','] + lcEmail + [','] + lcWeb + [',] + ; + lcPrincipala + [,] + lcinactiv + [,] + lcId_util + [,?@pnIdAdresa); end;] + + lnSucces = goExecutor.oExecute(m.lcSql) + If m.lnSucces < 0 + lcMesaj = goExecutor.cEroare + Thisform.trace(m.lcMesaj) + AMessagebox(m.lcMesaj, 0 + 48, _Screen.Caption ) + Exit + Endif + Endif && empty(m.pnIdAdresa) + + Endif && m.lcId_loc <> 'NULL' + ENDIF && !found() + + Endif && !empty(m.lcAdresa) + + + Endscan && cClienti + + USE IN (SELECT('cParteneri')) + lnSucces = 1 + Return m.lnSucces + + ENDPROC + + PROCEDURE connectroa + ENDPROC + + PROCEDURE creeazanote + * Creeaza actactan cu note contabile vanzari + Local lnIdPartCasa, lnSucces, lnIdSet, llTVAIncasare + Local lcContTVA, lcSql, ldDataCurenta, ldDataIreg, ldLastData, lnCota, lnIdBaza, lnIdTVA, lnProcTVA, llAnulat + Local ldDataAct, llFurnizorTVAI, lnIdBaza1, lnIdBaza2, lnIdJtva, lnIdTVA1, lnIdTVA2, lnTaxCode + *:Global pcCasa + Private pnTVAIncasare, pnIdFdoc, pcPartCasa, pnIdPartCasa + + lnIdSet = IIF(This.lAnulat, 99996, 50100) + llAnulat = This.lAnulat + pnIdPartCasa = 0 + pcPartCasa = '' + lnSucces = -1 + + UPDATE iesiri SET casa = UPPER(NVL(casa,'')) + + SELECT distinct casa, CAST(0 as I) as id_part ; + FROM iesiri ; + WHERE !EMPTY(NVL(casa,'')) ; + INTO CURSOR cCase READWRITE + + SELECT cCase + LOCATE FOR INLIST(casa, 'CENTRALA', 'CASA LEI') + IF !FOUND() + INSERT INTO cCase (casa, id_part) VALUES ('CENTRALA', 0) + INSERT INTO cCase (casa, id_part) VALUES ('CASA LEI', 0) + ENDIF + SELECT cCase + INDEX on casa TAG casa + + + SELECT cCase + SCAN + pcCasa = ALLTRIM(casa) + lcSql = [SELECT MAX(ID_PART) AS ID_PART FROM nom_parteneri WHERE STERS = 0 AND INACTIV = 0 AND denumire = ?pcCasa] + lnSucces = goExecutor.oSelect2Value(m.lcSql, @pnIdPartCasa) + IF m.lnSucces > 0 + REPLACE id_part WITH NVL(m.pnIdPartCasa,0) IN cCase + ELSE + Thisform.trace('Eroare la selectia partener casa/banca ROA ' + m.pcCasa + " " + goExecutor.oPrelucrareEroare()) + EXIT + ENDIF + ENDSCAN + + IF m.lnSucces < 0 + RETURN m.lnSucces + ENDIF + + pnIdPartCasa = 0 + pcPartCasa = '' + SELECT cCase + LOCATE FOR INLIST(casa, 'CENTRALA', 'CASA LEI') AND !EMPTY(NVL(id_part,0)) + IF FOUND() + pnIdPartCasa = id_part + pcPartCasa = ALLTRIM(casa) + UPDATE iesiri SET casa = m.pcPartCasa WHERE NVL(incasat,'') = 'DA' AND EMPTY(NVL(casa,'')) + ENDIF + + + + pnIdFdoc = 0 + lcSql = [SELECT ID_FDOC FROM NOM_FDOC WHERE STERS = 0 AND INACTIV = 0 AND FEL_DOCUMENT = 'FACTURA'] + lnSucces = goExecutor.oSelect2Value(m.lcSql, @pnIdFdoc) + If m.lnSucces < 0 + AMESSAGEBOX(goExecutor.cEroare, 0 + 48, _Screen.Caption) + RETURN m.lnSucces + ELSE + pnTVAIncasare = 0 + lcSql = [SELECT tva_incasare FROM calendar WHERE an = ] + Alltrim(Str(m.gnAn)) + [ and luna = ] + Alltrim(Str(m.gnLuna)) + lnSucces = goExecutor.oSelect2Value(m.lcSql, @pnTVAIncasare) + llTVAIncasare = (m.pnTVAIncasare = 1) + ENDIF + + If m.lnSucces < 0 + AMESSAGEBOX(goExecutor.cEroare, 0 + 48, _Screen.Caption) + RETURN m.lnSucces + Else + lcContTVA = Iif(m.llTVAIncasare, '4428', '4427') + Create Cursor cNote (Id N(1), scd c(4), scc c(4), proctva N(2), id_jtva1 N(4) Null, id_jtva2 N(4) Null) + For lnCota = 1 To 8 + Do Case + Case lnCota = 1 + lnProcTVA = 24 + lnIdBaza1 = 15 && fara TVA Incsare + lnIdTVA1 = 16 + lnIdBaza2 = 21 && cu TVA Incasare + lnIdTVA2 = 22 + + Case lnCota = 2 + lnProcTVA = 20 + lnIdBaza1 = 27 && fara TVA Incsare + lnIdTVA1 = 28 + lnIdBaza2 = 29 && cu TVA Incasare + lnIdTVA2 = 30 + Case lnCota = 3 + lnProcTVA = 19 + lnIdBaza1 = 1 && fara TVA Incsare + lnIdTVA1 = 2 + lnIdBaza2 = 31 && cu TVA Incasare + lnIdTVA2 = 32 + Case lnCota = 4 + lnProcTVA = 9 + lnIdBaza1 = 3 && fara TVA Incsare + lnIdTVA1 = 4 + lnIdBaza2 = 23 && cu TVA Incasare + lnIdTVA2 = 24 + Case lnCota = 5 + lnProcTVA = 5 + lnIdBaza1 = 13 && fara TVA Incsare + lnIdTVA1 = 14 + lnIdBaza2 = 25 && cu TVA Incasare + lnIdTVA2 = 26 + Case lnCota = 6 + lnProcTVA = 0 + lnIdBaza1 = 11 && fara TVA Incsare + lnIdTVA1 = 0 + lnIdBaza2 = 11 && cu TVA Incasare + lnIdTVA2 = 0 + Case lnCota = 7 + lnProcTVA = 21 + lnIdBaza1 = 35 && fara TVA Incsare + lnIdTVA1 = 36 + lnIdBaza2 = 37 && cu TVA Incasare + lnIdTVA2 = 38 + + Case lnCota = 8 + lnProcTVA = 11 + lnIdBaza1 = 39 && fara TVA Incsare + lnIdTVA1 = 40 + lnIdBaza2 = 41 && cu TVA Incasare + lnIdTVA2 = 42 + + Endcase + + Insert Into cNote (Id, scd, scc, proctva, id_jtva1, id_jtva2) Values (1, '4111', '707', m.lnProcTVA, m.lnIdBaza1, m.lnIdBaza2) + If lnProcTVA <> 0 + Insert Into cNote (Id, scd, scc, proctva, id_jtva1, id_jtva2) Values (2, '4111', m.lcContTVA, m.lnProcTVA, m.lnIdTVA1, m.lnIdTVA2) + Endif + Insert Into cNote (Id, scd, scc, proctva, id_jtva1, id_jtva2) Values (3, '5311', '4111', m.lnProcTVA, Null, Null) + Endfor + ldLastData = Gomonth(Date(m.gnAn, m.gnLuna, 1), 1) - 1 + ldDataCurenta = Date() + ldDataIreg = Iif(Year(m.ldDataCurenta) <> m.gnAn Or Month(m.ldDataCurenta) <> m.gnLuna, m.ldLastData, m.ldDataCurenta) + + Select lnIdSet As id_set, m.gnAn As an, m.gnLuna As luna, ; + CAST(IIF(n.id = 1, IIF(i.cont7xx = '667', i.cont7xx, n.scd), IIF(n.id = 2, n.scd, IIF(!EMPTY(i.cont5xx), i.cont5xx, n.scd))) as C(4)) as scd, ; + CAST(Iif(n.id = 1, IIF(i.cont7xx = '667', i.acont7xx, i.acont4111), IIF(n.id = 2, i.acont4111, i.acont5xx)) as C(4)) as ascd, ; + CAST(Iif(n.id = 1, IIF(i.cont7xx = '667', n.scd, i.cont7xx), Iif(n.id = 2, IIF(!EMPTY(i.cont442x), i.cont442x, m.lcContTVA), n.scc)) as C(4)) As scc, ; + CAST(Iif(n.id = 1, IIF(i.cont7xx = '667', i.acont4111, i.acont7xx), Iif(n.id = 2, i.acont442x, i.acont4111)) as C(4)) As ascc, ; + i.dataact, IIF(m.llAnulat, 0, 1 + Round(i.proctva / 100, 2)) As proc_tva, ; + CAST(IIF(m.llAnulat, null, IIF(!EMPTY(i.tvaincasare), IIF(NVL(i.tvaincasare,'') = 'NU', n.id_jtva1, n.id_jtva2), IIF(!m.llTvaIncasare, n.id_jtva1, n.id_jtva2))) as N(4)) As id_jtva_coloana, ; + i.nract, i.serie_act, i.datascad, i.dataact As dataireg, ; + Cast(Iif(n.id = 1, IIF(i.cont7xx = '667', 0, i.id_part), IIF(n.id = 2, i.id_part, Thisform.GetIdPartCasa(i.casa))) As N(10)) As id_partd, ; + Cast(Iif(n.id = 1, IIF(i.cont7xx = '667', '', i.denumire), IIF(n.id = 2, i.denumire, i.casa)) As C(100)) As partd, ; + Cast(Iif(n.id = 1, IIF(INLIST(i.cont7xx, '667', '419'), i.id_part, 0), IIF(n.id = 2, 0, i.id_part)) As N(10)) As id_partc, ; + Cast(Iif(n.id = 1, IIF(INLIST(i.cont7xx, '667', '419'), i.denumire, ''), IIF(n.id = 2, '', i.denumire)) As C(100)) As partc, ; + Cast(0 As N(14)) As pereched, Cast(Iif(N.Id = 3, i.nract, 0) As N(14)) As perechec, ; + Cast(Iif(N.Id = 1, IIF(i.cont7xx = '667',-i.valftva, i.valftva), Iif(N.Id = 2, valtva, valftva + valtva)) As N(20, 2)) As suma, ; + Cast(m.gnIdSucursala As I NULL) As id_sucursala, Space(100) As sucursala, ; + Cast(m.pnIdFdoc As N(5)) As id_fdoc, 'FACTURA' As fdoc, ; + CAST(0 as I) as id_factd, Cast(Iif(N.Id = 3, -1, 0) As I) As id_factc, CAST(0 as I) as id_fact, pnTVAIncasare as tva_incasare, CAST(0 as I) as cod ; + From iesiri i Join cNote N On i.proctva = N.proctva AND n.id <= IIF(i.incasat = 'DA', 3, 2) ; + left join cCase c on i.casa = c.casa ; + Into Cursor actactanTemp + + Select id_set, an, luna, dataact, datascad, dataireg, serie_act, nract, proc_tva, id_jtva_coloana,scd, ascd, scc, ascc, ; + id_partd, partd, id_partc, partc, pereched, perechec, id_sucursala, sucursala, id_fdoc, fdoc, id_factd, id_factc, id_fact, tva_incasare, cod, ; + Sum(suma) As suma ; + From actactanTemp ; + Group By id_set, an, luna, dataact, datascad, dataireg, serie_act, nract, proc_tva, id_jtva_coloana, scd, ascd, scc, ascc, id_partd, partd, id_partc, partc, pereched, perechec, id_sucursala, sucursala, id_fdoc, fdoc, id_factd, id_factc, id_fact, tva_incasare, cod ; + Order By id_set, an, luna, dataact, datascad, dataireg, serie_act, nract, proc_tva, id_jtva_coloana, scd, ascd, scc, ascc, id_partd, partd, id_partc, partc, pereched, perechec, id_sucursala, sucursala, id_fdoc, fdoc, id_factd, id_factc, id_fact, tva_incasare, cod ; + Into Cursor actactan READWRITE + + Use In (Select('actactantemp')) + Use In (Select('cNote')) + lnSucces = 1 + Endif + + Return m.lnSucces + + ENDPROC + + PROCEDURE disconnectroa + ENDPROC + + PROCEDURE exportdate + * Import from xlsx (Sheet1) cod C(8), Data D, Cont C(20), proctva N(2), valftva N(16, 2), valtva N(16, 2) + * denumire, cod fiscal, reg_com, adresa, serie, nr, factura, data act, data scadenta, cont 7xx, procent tva, valoare fara TVA, valoare TVA + Local lcFile, lnSucces, lcFileBinary, ldData1, ldData2 + ldData1 = Thisform.txtData1.Value + ldData2 = Thisform.txtData2.Value + lnSucces = 1 + + AMESSAGEBOX('Alegeti fisierul xlsx completat cu facturile pentru import. Atentie! Pagina cu facturi din fisierul xlsx trebuie sa se numeasca "Sheet1"!',0+64,_Screen.Caption) + + lcFile=Getfile('xlsx','Fisier xlsx','Alege', 0,'Fisier xlsx cu facturi') + If Empty(m.lcFile) + lnSucces = -1 + Return m.lnSucces + Endif + + llAnulat = This.lAnulat + + * Import first sheet + importfromxlsx(m.lcFile,2,'Sheet1',.T.,.T.,1,'iesiri') + If Used('iesiri') + If m.llAnulat + Select Upper(denumire) As denumire, Space(100) As nume, Space(100)As prenume, ; + LEFT(Upper(cod_fiscal), 20) As cod_fiscal, Left(reg_com, 50) As reg_com, Left(Upper(Strtran(adresa, Chr(13) + Chr(10), ' ')), 250) As adresa, Left(serie_act, 20) As serie_act,; + IIF(Type('iesiri.nract') = 'N', Int(nract), Int(Val(nract))) As nract, ; + IIF(Type('iesiri.dataact') = 'D', dataact, Ctod(dataact)) As dataact, ; + IIF(Type('iesiri.dataact') = 'D', dataact, Ctod(dataact)) As datascad, ; + 0 As proctva, ; + 0.00 As valftva, ; + 0.00 As valtva, ; + CAST(Iif(Type('iesiri.cont7xx') <> 'C', Alltrim(Transform(cont7xx)), cont7xx) As C(4)) As cont7xx, ; + CAST(Iif(Type('iesiri.acont7xx') <> 'C', Alltrim(Transform(acont7xx)), acont7xx) As C(4)) As acont7xx, ; + CAST(Iif(Type('iesiri.aCont4111') <> 'C', Alltrim(Transform(aCont4111)), aCont4111) As C(4)) As aCont4111, ; + SPACE(4) As Cont442x, ; + SPACE(4) As aCont442x, ; + 'NU' As incasat, ; + SPACE(100) As casa, ; + SPACE(4) As cont5xx, ; + SPACE(4) As acont5xx, ; + 'NU' As tvaincasare, ; + 'NU' As taxareinversa ; + From iesiri Into Cursor cIesiri Readwrite + + Else + Select Upper(denumire) As denumire, Space(100) As nume, Space(100)As prenume, ; + LEFT(Upper(cod_fiscal), 20) As cod_fiscal, Left(reg_com, 50) As reg_com, Left(Upper(Strtran(adresa, Chr(13) + Chr(10), ' ')), 250) As adresa, Left(serie_act, 20) As serie_act,; + IIF(Type('iesiri.nract') = 'N', Int(nract), Int(Val(nract))) As nract, ; + IIF(Type('iesiri.dataact') = 'D', dataact, Ctod(dataact)) As dataact, ; + IIF(Type('iesiri.datascad') = 'D', datascad, Ctod(datascad)) As datascad, ; + CAST(Iif(Type('iesiri.proctva') = 'N', Round(proctva,2), Round(Val(proctva),2)) As N(5,2)) As proctva, ; + CAST(Iif(Type('iesiri.valftva') = 'N', Round(valftva,2), Round(Val(valftva),2)) As N(18,2)) As valftva, ; + CAST(Iif(Type('iesiri.valtva') = 'N', Round(valtva,2), Round(Val(valtva),2)) As N(18,2)) As valtva, ; + CAST(Iif(Type('iesiri.cont7xx') = 'N', Alltrim(Transform(cont7xx)), cont7xx) As C(4)) As cont7xx, ; + CAST(Iif(Type('iesiri.acont7xx') = 'N', Alltrim(Transform(acont7xx)), acont7xx) As C(4)) As acont7xx, ; + CAST(Iif(Type('iesiri.aCont4111') = 'N', Alltrim(Transform(aCont4111)), aCont4111) As C(4)) As aCont4111, ; + CAST(Iif(Type('iesiri.Cont442x') = 'N', Alltrim(Transform(Cont442x)), Cont442x) As C(4)) As Cont442x, ; + CAST(Iif(Type('iesiri.aCont442x') = 'N', Alltrim(Transform(aCont442x)), aCont442x) As C(4)) As aCont442x, ; + CAST(Alltrim(Transform(incasat)) As C(2)) As incasat, ; + CAST(Upper(Alltrim(Transform(casa))) As C(100)) As casa, ; + CAST(Iif(Type('iesiri.cont5xx') = 'N', Alltrim(Transform(cont5xx)), cont5xx) As C(4)) As cont5xx, ; + CAST(Iif(Type('iesiri.acont5xx') = 'N', Alltrim(Transform(acont5xx)), acont5xx) As C(4)) As acont5xx, ; + CAST(Alltrim(Transform(tvaincasare)) As C(2)) As tvaincasare, ; + CAST(Alltrim(Transform(taxareinversa)) As C(2)) As taxareinversa ; + From iesiri Into Cursor cIesiri Readwrite + Endif + Use In (Select('iesiri')) + Update cIesiri Set datascad = Gomonth(dataact,1) Where Empty(datascad) + Delete From cIesiri Where !Between(dataact, m.ldData1, m.ldData2) + + Update cIesiri Set cod_fiscal = Nvl(cod_fiscal, '') + + *** presupun ca denumire este de forma [PRENUME NUME] si transform in [NUME PRENUME] - trebuie in functie de optiune + Update cIesiri Set prenume = Alltrim(Getwordnum(denumire, 1, ' ')) Where Empty(cod_fiscal) Or Len(Alltrim(cod_fiscal)) >= 13 + Update cIesiri Set nume = Alltrim(Strtran(denumire, Alltrim(prenume), '',1,1,1)) Where Empty(cod_fiscal) Or Len(Alltrim(cod_fiscal)) >= 13 + Update cIesiri Set denumire = Alltrim(nume) + " " + Alltrim(prenume) Where Empty(cod_fiscal) Or Len(Alltrim(cod_fiscal)) >= 13 + + Select Cast(Null As I) As id_part, denumire, nume, prenume, cod_fiscal, reg_com, Max(adresa) As adresa ; + From cIesiri ; + GROUP By denumire, nume, prenume, cod_fiscal, reg_com ; + Into Cursor cClienti Readwrite + + lnSucces = This.CompleteazaClientiROA() + + If m.lnSucces = 1 + Select I.nract, I.serie_act, C.id_part, C.denumire, C.cod_fiscal, C.reg_com, ; + I.dataact, I.datascad, I.proctva, ; + I.cont7xx, I.acont7xx, I.aCont4111, I.Cont442x, I.aCont442x, ; + I.incasat, I.casa, I.cont5xx, I.acont5xx, I.tvaincasare, I.taxareinversa, ; + SUM(I.valftva) As valftva, Sum(I.valtva) As valtva ; + FROM cIesiri I Left Join cClienti C On I.denumire = C.denumire And I.cod_fiscal = C.cod_fiscal ; + GROUP By I.nract, I.serie_act, C.id_part, C.denumire, C.cod_fiscal, C.reg_com, ; + I.dataact, I.datascad, I.proctva, I.cont7xx, I.acont7xx, I.aCont4111, I.Cont442x, I.aCont442x, ; + I.incasat, I.casa, I.cont5xx, I.acont5xx, I.tvaincasare, I.taxareinversa ; + INTO Cursor iesiri Readwrite + Endif + Else + * Create Cursor cIesiri (denumire C(100), cod_fiscal C(20), reg_com C(50), adresa C(250), serie_act C(20), nract N(14), dataact D, datascad D, proctva N(2), valftva N(16, 2), valtva N(16, 2), Cont7xx C(20), acont7xx C(20), aCont4111 C(20), Cont442x C(20), aCont442x C(20)) + * Create Cursor cClienti (id_part I, denumire C(100), cod_fiscal C(20), reg_com C(50), adresa C(250)) + lnSucces = -1 + Endif + + Return m.lnSucces + + ENDPROC + + PROCEDURE getidpartcasa + LPARAMETERS tcCasa + LOCAL lcCasa, lnId + lnId = 0 + lcCasa = ALLTRIM(m.tcCasa) + IF USED('cCase') + IF SEEK(m.lcCasa, 'cCase','casa') + lnId = id_part + ENDIF + ENDIF + RETURN m.lnId + ENDPROC + + PROCEDURE Init + LPARAMETERS tcTip + + This.lAnulat = (UPPER(ALLTRIM(TRANSFORM(m.tcTip))) = 'ANULAT') + + DODEFAULT() + *!* this.Icon = _screen.Icon + thisform.txtData1.Value = DATE(m.gnAn, m.gnLuna, 1) + thisform.txtData2.Value = GOMONTH(DATE(m.gnAn, m.gnLuna, 1), 1) - 1 + + + + ENDPROC + + PROCEDURE modificanote + PRIVATE pnCod + Local loForm As [frm_modific2024] + Local llMaximize, llNotaNoua, lnIdSet, lnSucces + lnSucces = 1 + update_jtva_coloane("JV", 'crsExplicatiiTVATemp', 1) + SET STEP ON + lcSql = [SELECT * FROM vact WHERE 1=2] + llSucces = goExecutor.oExecuta(m.lcSql, 'actactan_temp') + If m.llSucces + Select actactan_temp + IF USED('actactan') + Append From Dbf('actactan') + ENDIF + + Select .F. As ales, IIF(EMPTY(NVL(a.id_jtva_coloana,0)), 0, 1) As Cu_tva, Cast(0 As N(2)) As tipnota, a.*, b.denumire As explicatie_tva_2 ; + From actactan_temp a Left Join crsExplicatiiTVATemp b On a.id_jtva_coloana = b.id_jtva_coloana ; + Into Cursor tact Readwrite + + Update tact Set explicatie_tva = explicatie_tva_2 + + USE IN (SELECT('actactan_temp')) + + * Actualizez taxcode SAFT in functie de furnizori RTVAI + IF m.gl406 + SELECT tact + SCAN FOR !EMPTY(id_jtva_coloana) + lnIdJtva = id_jtva_coloana + ldDataAct = dataact + llFurnizorTVAI = .F. + lnTaxCode = GetTaxCode(m.gnAn, m.gnLuna, m.ldDataAct, m.lnIdJtva, m.llFurnizorTVAI) + SELECT tact + REPLACE taxcode WITH m.lnTaxCode + ENDSCAN + + UPDATE tAct SET paymentcode = '42' WHERE LEFT(scd,3) = '512' OR LEFT(scc,3) = '512' && plata in contul bancar + UPDATE tAct SET paymentcode = '10' WHERE scd = '5311' && plata numerar + ENDIF && gl406 + ENDIF && llSucces + + update_jtva_coloane("", "crsJtvaTemp", 1) + + IF m.llSucces + * Creez cursoare trul, trul_obinv + lcSql = [select * from vrul_tot where 1=2] + lcCursor = [v_rul] + + llSucces = goExecutor.oExecuta(lcSql,lcCursor) + + If m.llSucces + Select *, ; + valoare + valtva As valoarectva, ; + valoarev + valtvav As valoarevctva ; + From v_rul ; + Into Cursor trul READWRITE + + Use In (SELECT('v_rul')) + + lcSql = [select * from vrul_obinv_tot where 1=2] + lcCursor = [v_rul_obinv] + + llSucces = goExecutor.oExecuta(lcSql,lcCursor) + Endif + + If m.llSucces + Select *, ; + valoare + valtva As valoarectva, ; + valoarev + valtvav As valoarevctva ; + From v_rul_obinv ; + Into Cursor trul_obinv READWRITE + + Use In (SELECT('v_rul_obinv')) + Endif + ENDIF + + Use In (Select('crsExplicatiiTVATemp')) + IF m.llSucces + lnIdSet = IIF(this.lAnulat, 99996, 50100) + Select tact + Go Top + llNotaNoua = .T. + llMaximize = .T. + loForm = Createobject([frm_modific2024], m.lnIdSet, m.llNotaNoua) + loForm.lb_titlu_alb_b121.Caption = 'Initializare solduri' + Select tact + loForm.Show(1, m.llMaximize) + llSucces = (buton = 1) + ENDIF + + If m.llSucces + Use In (Select('actactan')) + + Select tact + Replace id_jtva_coloana With Null, PROC_TVA With 0 For Cu_tva = 0 + + Select * From tact Into Cursor actactan Readwrite + + lcSql = [SELECT seq_cod.nextval FROM dual] + SELECT distinct nract FROM actactan INTO CURSOR cNract + SELECT cNract + SCAN + WAIT WINDOW 'Generez cod pentru factura ' + TRANSFORM(RECNO()) + '/' + TRANSFORM(RECCOUNT()) NOWAIT + pnCod = 0 + lnSucces = goExecutor.oSelect2Value(m.lcSql, @pnCod) + IF lnSucces > 0 + UPDATE actactan SET cod = m.pnCod WHERE nract = cNract.nract + ENDIF + ENDSCAN + USE IN (SELECT('cNract')) + + SELECT actactan + lnSucces = OSCRIE_IN_FISIERE(0, .F., .F., .T.) + llSucces = (m.lnSucces = 1) + Endif && buton = 1 + + Use In (Select('tAct')) + Use In (Select('actactan')) + Use In (Select('trul')) + Use In (Select('rul_temp')) + Use In (Select('trul_obinv')) + Use In (Select('rul_temp_obinv')) + USE IN (SELECT('crsJtvaTemp')) + + + RETURN m.llSucces + + ENDPROC + + PROCEDURE prelucreazafisierebreeze + ENDPROC + + PROCEDURE scrienote + Local lcMesaj, lcSql, lnHandle, lnSucces, lnSucces2 + Private gnAn, gnIdSucursala, gnIdUtil, gnLuna + lnSucces = SQLSetprop(m.lnHandle, "Transactions", 2) + + if lnSucces > 0 + && Creez note pentru fiecare luna/an + Select Distinct an, luna From actactan Order By an, luna Into Cursor cAnLuna + Select cAnLuna + Scan + *gnAn = an + *gnLuna = luna + *gnIdUtil = - 3 + *gnIdSucursala = Null + + if m.lnSucces > 0 + lcSql = [begin pack_contafin.init_scriere_act_rul_local(?gnIdUtil,?gnAn,?gnLuna, 1,0,?gnIdSucursala); end;] + lnSucces = goExecutor.oExecute(m.lcSql) + Endif + + if lnSucces > 0 + SELECT * FROM actactan WHERE an = m.gnAn AND luna = m.gnLuna INTO CURSOR cAct NOFILTER + lnSucces = This.sql_temp_insert('cAct', 'ACT_TEMP') + USE IN (SELECT('cAct')) + Endif + + if lnSucces > 0 + Private pcMesajRefacereNota + pcMesajRefacereNota = "" + lcSql = [begin pack_contafin.final_scriere_act_rul_local(?gnIdUtil, ?gnAn, ?gnLuna, NULL, 0, 1, ?@pcMesajRefacereNota); end;] + lnSucces = goExecutor.oExecute(m.lcSql) + If !Empty(Nvl(pcMesajRefacereNota, '')) + This.trace(m.pcMesajRefacereNota) + AMESSAGEBOX(m.pcMesajRefacereNota, 0 + 48, 'Atentie') + Endif + Release pcMesajRefacereNota + ELSE + lcMesaj = goExecutor.cEroare + This.Trace(m.lcMesaj) + AMESSAGEBOX(m.lcMesaj,0+48, _screen.Caption ) + EXIT + ENDIF && lnSucces + Endscan && cAnLuna + + Use In (Select('cAnLuna')) + + if lnSucces > 0 + lnSucces2 = goExecutor.oExecute('COMMIT') + IF lnSucces2 <> 1 + lnSucces = 0 + ENDIF + Else + lnSucces2 = goExecutor.oExecute('ROLLBACK') + Endif + + If lnSucces2 <> 1 + This.trace(goExecutor.cEroare) + AMESSAGEBOX(lcSql + Chr(13) + goExecutor.cEroare, 0 + 16, "Eroare") + ELSE + This.trace('Import realizat cu succes!') + Endif + + lnSucces3 = SQLSetprop(m.lnHandle, "Transactions", 1) + + If lnSucces3 <> 1 + lcMesaj = 'Programul nu a reusit sa treaca pe tranzactie automata. Iesiti din program si intrati din nou!' + This.trace(m.lcMesaj) + AMESSAGEBOX(m.lcMesaj, 0 + 48, 'Atentie!') + Endif + Endif && lnSucces + + Return m.lnSucces + + ENDPROC + + PROCEDURE sql_temp_insert + Lparameters tcAlias, tcTableName + + Local lcAlias, lcCursor, lnSucces + Local lcDate, lcFieldName, lcFieldType, lcFieldValue, lcFields, lcInsert, lcMesaj, lcNumber, lcSql + Local lcString, lcTableName, lcValues, lnCount + Local lnField + + Private poIreg, pcTableName + Local lcVariable + + If Empty(tcAlias) + lcAlias = 'ACTACTAN' + Else + lcAlias = Upper(Alltrim(tcAlias)) + Endif + If Empty(tcTableName) + pcTableName = 'ACT_TEMP' + Else + pcTableName = Upper(Alltrim(tcTableName)) + Endif + + lcCursor = 'crs_Coloane' + lcSql = [SELECT COLUMN_NAME AS COLOANA from user_tab_columns WHERE table_name = ?pcTableName] + lnSucces = goExecutor.oExecute(m.lcSql, m.lcCursor) + If m.lnSucces <> 1 + lcMesaj = 'Eroare la selectare coloane din ' + m.lcTableName + Chr(13) + goExecutor.cEroare + This.trace(m.lcMesaj) + AMESSAGEBOX(m.lcMesaj, 0 + 16, 'Eroare') + Endif + + If m.lnSucces = 1 + Select (lcAlias) + lnCount = Fcount() + lcFields = [] + lcValues = [] + lcInsert = [] + For lnField = 1 To lnCount + Select (lcAlias) + lcFieldName = Upper(Alltrim(Field(lnField))) + lcFieldType = Type(lcFieldName) + lcFieldValue = Evaluate(lcFieldName) + If lcFieldType = 'C' + lcVariable = '?ALLTRIM(poIreg.' + lcFieldName + ')' + Else + lcVariable = '?poIreg.' + lcFieldName + Endif + + Select CRS_COLOANE + Locate For Upper(Alltrim(COLOANA)) == lcFieldName + If !Found() + Loop + Endif + lcFields = lcFields + [,] + lcFieldName + lcValues = lcValues + [,] + lcVariable + Endfor + + lcFields = Substr(lcFields, 2) + lcValues = Substr(lcValues, 2) + + && INSERT INTO ACT_TEMP + lcInsert = [INSERT INTO ] + m.pcTableName + [ (] + m.lcFields + [) VALUES (] + m.lcValues + [)] + + Select (lcAlias) + Scan + Scatter Name poIreg + IF MOD(RECNO(), 100) = 0 + This.trace(' Inregistrare ' + TRANSFORM(RECNO()) + ' / ' + TRANSFORM(RECCOUNT()) + ' ...') + ENDIF + && FAC NULL ID-URILE CU VALOARE 0 + If TYPE('poReg.id_sucursala') = 'N' AND poIreg.id_sucursala = 0 + poIreg.id_sucursala = Null + Endif + + lnSucces = goExecutor.oExecute(m.lcInsert) + If lnSucces <> 1 + This.trace(goExecutor.cEroare) + AMESSAGEBOX(goExecutor.cEroare, 0 + 16, 'Eroare') + Exit + Endif + + Endscan + Endif + + Use In (Select('crs_coloane')) + + Return m.lnSucces + + ENDPROC + + PROCEDURE sql_temp_insert_values + * daca se doreste insert into act_temp cu valori in loc de ? + * trebuie decomentata sectiunea cu valori + Lparameters tcAlias, tcTableName + + Local lcAlias, lcCursor, lnSucces + Local lcDate, lcFieldName, lcFieldType, lcFieldValue, lcFields, lcInsert, lcMesaj, lcNumber, lcSql + Local lcString, lcTableName, lcValues, lnCount + Local lnField + + Private poIreg, pcTableName + Local lcVariable + + If Empty(tcAlias) + lcAlias = 'ACTACTAN' + Else + lcAlias = Upper(Alltrim(tcAlias)) + Endif + If Empty(tcTableName) + pcTableName = 'ACT_TEMP' + Else + pcTableName = Upper(Alltrim(tcTableName)) + Endif + + lcCursor = 'crs_Coloane' + lcSql = [SELECT COLUMN_NAME AS COLOANA from user_tab_columns WHERE table_name = ?pcTableName] + lnSucces = goExecutor.oExecute(m.lcSql, m.lcCursor) + If m.lnSucces <> 1 + lcMesaj = 'Eroare la selectare coloane din ' + m.pcTableName + Chr(13) + goExecutor.cEroare + This.trace(m.lcMesaj) + AMESSAGEBOX(m.lcMesaj, 0 + 16, 'Eroare') + Endif + + If m.lnSucces = 1 + Select (lcAlias) + lnCount = Fcount() + Scan + lcFields = [] + lcValues = [] + lcInsert = [] + Scatter Name poIreg + + For lnField = 1 To lnCount + Select (lcAlias) + lcFieldName = Upper(Alltrim(Field(lnField))) + lcFieldType = Type(lcFieldName) + lcFieldValue = Evaluate(lcFieldName) + If lcFieldType = 'C' + lcVariable = '?ALLTRIM(poIreg.' + lcFieldName + ')' + Else + lcVariable = '?poIreg.' + lcFieldName + Endif + + Select CRS_COLOANE + Locate For Upper(Alltrim(COLOANA)) == lcFieldName + If !Found() + Loop + Endif + lcFields = lcFields + [,] + lcFieldName + lcNumber = '0' + lcDate = '' + lcString = '' + + && FAC NULL ID-URILE CU VALOARE 0 + If Inlist(lcFieldName, 'ID_SUCURSALA') + If poIreg.id_sucursala = 0 + poIreg.id_sucursala = Null + Endif + Endif + lcValues = lcValues + [,] + lcVariable + + *!* DO CASE + *!* CASE lcFieldType = 'N' + *!* IF EMPTY(lcFieldValue) OR ISNULL(lcFieldValue) + *!* lcNumber = '0' + *!* ELSE + *!* lcNumber = ALLTRIM(STR(lcFieldValue,24,4)) + *!* ENDIF + + *!* lcValues = lcValues + [,] + lcNumber + *!* CASE lcFieldType = 'C' + *!* IF EMPTY(lcFieldValue) OR ISNULL(lcFieldValue) + *!* lcString = '' + *!* ELSE + *!* lcString = ALLTRIM(lcFieldValue) + *!* ENDIF + + *!* lcValues = lcValues + [,] + ['] + lcString + ['] + *!* CASE INLIST(lcFieldType,'D','T') + *!* IF EMPTY(lcFieldValue) OR ISNULL(lcFieldValue) + *!* lcDate = '' + *!* ELSE + *!* lcDate = DTOS(lcFieldValue) + *!* ENDIF + *!* lcValues = lcValues + [,] + [TO_DATE('] + lcDate + [','YYYY-MM-DD')] + *!* ENDCASE + + Endfor + + lcFields = Substr(lcFields, 2) + lcValues = Substr(lcValues, 2) + + && INSERT INTO ACT_TEMP + lcInsert = [INSERT INTO ] + m.pcTableName + [ (] + lcFields + [) VALUES (] + lcValues + [)] + lnSucces = goExecutor.oExecute(m.lcInsert) + If lnSucces <> 1 + This.Trace(goExecutor.cEroare) + AMESSAGEBOX(goExecutor.cEroare, 0 + 16, 'Eroare') + Exit + Endif + + Endscan + Endif + + Use In (SELECT('crs_coloane')) + + Return m.lnSucces + + + + ENDPROC + + PROCEDURE sterge_import + Local lcCursor, lcMesaj, lcSql, llContinuare, lnDocumente, lnPercent, lnSucces + PRIVATE pnCod + llContinuare = .F. + lcIdSet = IIF(this.lAnulat, '99996', '50100') + lcSql = [select distinct cod from act where an=?gnAn and Luna=?gnLuna and id_set=] + m.lcIdSet + [ and sters=0] + lcCursor = [cCoduri] + lnSucces = goExecutor.oExecute(m.lcSql, m.lcCursor) + If m.lnSucces > 0 + Select(m.lcCursor) + lnDocumente = Reccount() + If m.lnDocumente > 0 + llContinuare = (AMessagebox('Doriti sa stergeti ' + Alltrim(Str(m.lnDocumente)) + 'document(e), tip operatie ' + m.lcIdSet + ', din luna ' + Padl(m.gnLuna, 2, '0') + '/' + Alltrim(Str(m.gnAn)) + '?', 4 + 32, _Screen.Caption) = 6) + Else + AMessagebox('Nu sunt inregistrari in luna ' + Padl(m.gnLuna, 2, '0') + '/' + Alltrim(Str(m.gnAn)), 0 + 64, _Screen.Caption) + llContinuare = .F. + Endif + Else + AMessagebox(goExector.cEroare, 0 + 48, _Screen.Caption ) + This.Trace(goExecutor.cEroare) + llContinuare = .F. + Endif + + If !m.llContinuare + Use In (Select(m.lcCursor)) + Return + Endif + + lnSucces = SQLSetprop(m.gnhandle, "Transactions", 2) + + If lnSucces > 0 + lcSql = [begin pack_contafin.init_scriere_act_rul_local(?gnIdUtil,?gnAn,?gnLuna, 1,0,?gnIdSucursala); end;] + lnSucces = goExecutor.oExecute(lcSql) + If lnSucces > 0 + Select cCoduri + Scan + pnCod = cod + If Mod(Recno(), 10) = 0 + lnPercent = Round(Recno() / Reccount() * 100, 0) + This.Trace('Stergere ' + Alltrim(Str(m.lnPercent)) + '%') + Endif + + + lcSql = [begin pack_contafin.sterge_document(?pnCod); end;] + lnSucces = goExecutor.oExecute(lcSql) + If lnSucces < 0 + This.Trace(goExecutor.cEroare) + Exit + Endif + Endscan + Else + This.Trace(goExecutor.cEroare) + Endif + Else + This.Trace(goExecutor.cEroare) + Endif + + If lnSucces < 0 + goExecutor.oExecute('ROLLBACK') + lcMesaj = 'Stergerea nu s-a efectuat!' + Else + goExecutor.oExecute('COMMIT') + lcMesaj = 'Stergerea s-a efectuat cu succes' + Endif + + SQLSetprop(m.gnhandle, "Transactions", 1) + + This.Trace(m.lcMesaj) + AMessagebox(m.lcMesaj, 0 + 48, _Screen.Caption) + + ENDPROC + + PROCEDURE templatexlsx + * Import from xlsx (Sheet1) cod C(8), Data D, Cont C(20), proctva N(2), valftva N(16, 2), valtva N(16, 2) + * denumire, cod fiscal, reg_com, adresa, serie, nr, factura, data act, data scadenta, cont 7xx, procent tva, valoare fara TVA, valoare TVA + * template.xlsx + + Local lcFile, lcXLSXTemplate + + lcXLSXTemplate = ADDBS(m.gcAppPath) + "include\import_note_facturi_clienti.xlsx" + IF !FILE(m.lcXLSXTemplate) + AMESSAGEBOX('Nu exista fisierul ' + m.lcXLSXTemplate + CHR(13) + CHR(10) + 'Sunati la suportul tehnic',0+48) + RETURN + ENDIF + + lcFile = PUTFILE('Salvati fisierul de import', 'import_note_facturi_clienti', 'xlsx') + + COPY FILE (m.lcXLSXTemplate) TO (m.lcFile) + + open_default_app(m.lcFile) + + AMESSAGEBOX('Se va deschide fisierul xlsx cu instructiuni si cateva randuri completate pentru exemplificare.' + CHR(13) + CHR(10) + ; + 'Completati fisierul, salvati-l si apoi importati-l',0+64,_screen.Caption) + + ENDPROC + + PROCEDURE trace + LPARAMETERS tcMessage + + This.edtInfo.Value = This.edtInfo.Value + TRANSFORM(NVL(tcMessage,'')) + CHR(13) + CHR(10) + this.edtInfo.SelStart = LEN(this.edtInfo.Value) + This.edtInfo.Refresh() + ENDPROC + + PROCEDURE verificaimport + Local lcCursor, lcSql, ldData1, ldData2, llContinuare, lnHandle, lnInregistrari, lnNrLuni1 + Local lnNrLuni2, lnSucces + lnInregistrari = 0 + + + ldData1 = Thisform.txtData1.Value + ldData2 = Thisform.txtData2.Value + lnNrLuni1 = Year(m.ldData1) * 12 + Month(m.ldData1) + lnNrLuni2 = Year(m.ldData2) * 12 + Month(m.ldData2) + + llContinuare = .F. + lcIdSet = IIF(this.lAnulat, '99996', '50100') + lcSql = [select COUNT(*) as nr from act where an*12+luna between ] + Alltrim(Str(m.lnNrLuni1)) + [ and ] + Alltrim(Str(m.lnNrLuni2)) + ; + [ and dataact between TO_DATE('] + Dtos(m.ldData1) + [', 'YYYYMMDD') and TO_DATE('] + Dtos(m.ldData2) + [', 'YYYYMMDD')] + ; + [ and id_set=] + m.lcIdSet + [ and sters=0] + + lcCursor = [cInregistrari] + lnSucces = goExecutor.oExecute(m.lcSql, m.lcCursor) + If m.lnSucces > 0 + Select(m.lcCursor) + lnInregistrari = Nvl(nr, 0) + ELSE + AMESSAGEBOX(goExecutor.cEroare) + This.Trace(goExecutor.cEroare) + lnInregistrari = 1 && ca sa nu mai continue importul + Endif + Use In (Select(m.lcCursor)) + + Return (m.lnInregistrari > 0) + + + ENDPROC + + PROCEDURE But_help1.Click + LOCAL lcInfo + TEXT TO lcInfo noshow + 1. Completati perioada de import + + 2. Apasati pe butonul "Sablon xlsx". + Se va deschide un fisier sablon tip "xlsx" cu date de exemplificare in care completati datele reale. + Stergeti datele de exemplificare + + 3. Apasati pe butonul "Importa in ROA" + ENDTEXT + + AMESSAGEBOX(m.lcInfo) + ENDPROC + + PROCEDURE cmdExport.Click + Local llContinuare + + llContinuare = .T. + ldData1 = Thisform.txtData1.Value + ldData2 = Thisform.txtData2.Value + lnNrLuni1 = Year(m.ldData1) * 12 + Month(m.ldData1) + lnNrLuni2 = Year(m.ldData2) * 12 + Month(m.ldData2) + lnNrLuni = m.gnAn * 12 + m.gnLuna + If m.lnNrLuni1 <> m.lnNrLuni2 Or m.lnNrLuni1 <> m.lnNrLuni + llContinuare = .F. + AMessagebox('Atentie! Perioada trebuie sa fie in luna curenta!', 0+48, _Screen.Caption) + Endif + + If m.llContinuare And Thisform.VerificaImport() + lcIdSet = IIF(thisform.lAnulat, '99996', '50100') + llContinuare = (AMessagebox('Atentie! Exista deja documente importate (tip operatie ' + m.lcIdSet + ') in perioada selectata! Daca continuati, se vor duplica! Doriti sa continuati?', 4 + 32, _Screen.Caption) = 6) + Endif + + If m.llContinuare + Local lnSucces + * import note din sursa externa (dbf, xls) + lnSucces = Thisform.ExportDate() + + * creez act_temp + If m.lnSucces > 0 + lnSucces = Thisform.Creeazanote() + + * import act_temp + If used('actactan') + If Thisform.chkModificaNote.Value = 1 + lnSucces = Thisform.ModificaNote() + Else + lnSucces = Thisform.Scrienote() + ENDIF + + USE IN (SELECT('actactan')) + Endif + Endif + Endif + + Use In (Select('cIesiri')) + Use In (Select('cClienti')) + + + AMessagebox('Importul s-a incheiat!',0+64,_Screen.Caption) + + ENDPROC + + PROCEDURE cmdTemplate.Click + Thisform.templatexlsx() + ENDPROC + + PROCEDURE Command1.Click + Thisform.sterge_import() + ENDPROC + +ENDDEFINE diff --git a/ferestre/frm_initializare_facturi_balanta.sc2 b/ferestre/frm_initializare_facturi_balanta.sc2 new file mode 100644 index 0000000..0399615 --- /dev/null +++ b/ferestre/frm_initializare_facturi_balanta.sc2 @@ -0,0 +1,2397 @@ +*-------------------------------------------------------------------------------------------------------------------------------------------------------- +* (EN) AUTOGENERATED - ATTENTION!! - NOT INTENDED FOR EXECUTION!! USE ONLY FOR MERGING CHANGES AND STORING WITH SCM TOOLS!! +*-------------------------------------------------------------------------------------------------------------------------------------------------------- +*< FOXBIN2PRG: Version="1.21" SourceFile="frm_initializare_facturi_balanta.scx" CPID="1252" /> (Solo para binarios VFP 9 / Only for VFP 9 binaries) +* +* +#INCLUDE "comun.h" + +DEFINE CLASS dataenvironment AS dataenvironment + *< CLASSDATA: Baseclass="dataenvironment" Timestamp="" Scale="" Uniqueid="" ClassIcon="1" /> + + * + DataSource = .NULL. + Height = 200 + Left = 1 + Name = "Dataenvironment" + Top = 220 + Width = 520 + * + +ENDDEFINE + +DEFINE CLASS form1 AS form + *< CLASSDATA: Baseclass="form" Timestamp="" Scale="" Uniqueid="" /> + + *-- OBJECTDATA items order determines ZOrder / El orden de los items OBJECTDATA determina el ZOrder + *< OBJECTDATA: ObjPath="cmdNoteFacturiBalanta" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="edtInfo" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="cmdTemplate" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="chkModificaNote" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="cmdStergeNote" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="cmdInitBalanta" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="chkParteneriBalantaVerificare" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="optInit" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="cmdInitFacturi" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="But_help1" UniqueID="" Timestamp="" /> + + * + *m: completeazaparteneriroa + *m: connectroa + *m: creeazanote + *m: disconnectroa + *m: exportdate + *m: initbalanta + *m: initfacturi + *m: modificanote + *m: prelucreazafisierebreeze + *m: refreshcontrols + *m: scrienote + *m: sql_temp_insert + *m: sql_temp_insert_values + *m: sterge_import + *m: templatexlsx + *m: todo + *m: trace + *m: verificaimport + *p: nidpartnerepartizat + *p: _memberdata && XML Metadata for customizable properties + * + + * + BackColor = 255,255,255 + Caption = "Initializare facturi, balanta parteneri, Registre TVA" + DoCreate = .T. + Height = 444 + Icon = ..\grafice\note.ico + Left = 0 + Name = "Form1" + nidpartnerepartizat = 0 + ShowWindow = 0 + Top = 0 + Width = 660 + WindowType = 1 + _memberdata = + + + + + + + + + + * + + ADD OBJECT 'But_help1' AS but_help WITH ; + Anchor = 8, ; + Left = 616, ; + Name = "But_help1", ; + Top = 12 + *< END OBJECT: ClassLib="..\clase\cmd_butoane.vcx" BaseClass="commandbutton" /> + + ADD OBJECT 'chkModificaNote' AS _checkbox WITH ; + Alignment = 0, ; + Caption = "Modifica note contabile facturi", ; + Left = 12, ; + Name = "chkModificaNote", ; + TabIndex = 6, ; + ToolTipText = "La initializarea facturilor se afiseaza formularul de modificare note inainte de salvarea in baza de date", ; + Top = 60, ; + Value = 1 + *< END OBJECT: ClassLib="..\clase\_baza.vcx" BaseClass="checkbox" /> + + ADD OBJECT 'chkParteneriBalantaVerificare' AS _checkbox WITH ; + Alignment = 0, ; + AutoSize = .T., ; + Caption = "Initializare balanta/inregistrari parteneri din balanta de verificare", ; + Height = 18, ; + Left = 12, ; + Name = "chkParteneriBalantaVerificare", ; + TabIndex = 7, ; + ToolTipText = "Initializare balante si inregistrari parteneri din balanta de verificare 401,4111...", ; + Top = 84, ; + Value = 0, ; + Visible = .F., ; + Width = 380, ; + WordWrap = .T. + *< END OBJECT: ClassLib="..\clase\_baza.vcx" BaseClass="checkbox" /> + + ADD OBJECT 'cmdInitBalanta' AS commandbutton WITH ; + Anchor = 9, ; + AutoSize = .F., ; + BackColor = 255,98,176, ; + Caption = "Initializare \ + + ADD OBJECT 'cmdInitFacturi' AS commandbutton WITH ; + Anchor = 9, ; + AutoSize = .F., ; + BackColor = 255,98,176, ; + Caption = "Initializare \ + + ADD OBJECT 'cmdNoteFacturiBalanta' AS commandbutton WITH ; + Anchor = 0, ; + AutoSize = .F., ; + BackColor = 255,128,64, ; + Caption = "\ + + ADD OBJECT 'cmdStergeNote' AS commandbutton WITH ; + Anchor = 0, ; + AutoSize = .F., ; + BackColor = 255,159,159, ; + Caption = "\ + + ADD OBJECT 'cmdTemplate' AS commandbutton WITH ; + Anchor = 0, ; + AutoSize = .F., ; + BackColor = 74,165,255, ; + Caption = "Sablon \ + + ADD OBJECT 'edtInfo' AS editbox WITH ; + Anchor = 15, ; + Height = 277, ; + Left = 11, ; + Name = "edtInfo", ; + TabIndex = 5, ; + Top = 156, ; + Width = 636 + *< END OBJECT: BaseClass="editbox" /> + + ADD OBJECT 'optInit' AS _optiongrup WITH ; + BorderStyle = 0, ; + Left = 7, ; + Name = "optInit", ; + Top = 9, ; + Option1.AutoSize = .T., ; + Option1.Caption = "Generare note in Registrul Jurnal pentru initializare facturi si balanta", ; + Option1.FontSize = 10, ; + Option1.Left = 5, ; + Option1.Name = "Option1", ; + Option1.Top = 5, ; + Option2.AutoSize = .T., ; + Option2.Caption = "Initializare directa facturi si balanta", ; + Option2.FontSize = 10, ; + Option2.Left = 5, ; + Option2.Name = "Option2", ; + Option2.Top = 24 + *< END OBJECT: ClassLib="..\clase\_baza.vcx" BaseClass="optiongroup" /> + + PROCEDURE completeazaparteneriroa + ENDPROC + + PROCEDURE connectroa + ENDPROC + + PROCEDURE creeazanote + ********************************************* + *** Generare ID_FACT pentru fiecare factura + *** Completez id_fact din vireg_parteneri sau generez din secventa + ********************************************* + Local lcMesaj, lcSql, lcSqlId, lcSqlIdIreg, llSucces, lnAchitat, lnAchitatVal, lnCota, lnFacturat + Local lnFacturatVal, lnIdSet, lnLinie, lnTVA, lnTotVal, lnTotctva, lnValoare, loFact, ldDataActEmpty + Local lcAcont4428, lcCont, lcExplicatia, lcPartNerepartizat, lcTip, lcTipDC, lnIdPartNerepartizat + Local lnSoldFactura, loRec + + PRIVATE pnCod, pnPerecheC, pnPerecheD, pnSumaVal, pnro11nb, pnro11nt, pnro21nb, pnro21nt + PRIVATE pcAcont, pcAscc, pcAscd, pcCodFiscal, pcCont, pcDenumire, pcExplicatia, pcFdoc, pcPartC + PRIVATE pcPartD, pcScc, pcScd, pcSerieAct, pcSucursala, pdDataAct, pdDataIreg, pdDataScad, pnAn + PRIVATE pnCredit, pnDebit, pnIdFact, pnIdFactC, pnIdFactD, pnIdFdoc, pnIdJtva, pnIdPart, pnIdPartC + PRIVATE pnIdPartD, pnIdSucursala, pnIdUtil, pnIdValuta, pnLuna, pnNrAct, pnProcTva, pnSuma + PRIVATE pnTotCtva, pnTotftvatax, pnTottvatax, pnValCredit, pnValDebit, pnro19nb, pnro19nt, pnro20nb + PRIVATE pnro20nt, pnro24nb, pnro24nt, pnro5nb, pnro5nt, pnro9nb, pnro9nt, ptDataOra + lnIdSet = 90024 && initializare solduri + lnIdPartNerepartizat = Thisform.nIdPartNerepartizat + lcPartNerepartizat = 'NEREPARTIZAT' + + lcSqlId = [SELECT SEQ_IdFact.NEXTVAL as id_fact FROM DUAL] + TEXT TO lcSqlIdIreg TEXTMERGE NOSHOW + SELECT MAX(id_fact) as id_fact FROM ireg_parteneri I JOIN NOM_PARTENERI P ON I.ID_PART = P.ID_PART WHERE I.an = ?pnAn AND I.luna = ?pnLuna AND I.cont = ?pcCont AND I.nract = ?pnNrAct AND I.dataact = ?pdDataAct AND NVL(P.cod_fiscal, 'x') = NVL(?pcCodFiscal, 'x') AND NVL(p.denumire, 'x') = NVL(?pcDenumire, 'x') + ENDTEXT + + This.Trace('Verificare si generare Id-uri facturi') + + Select Cast(0 As I) As id_fact, an, luna, Cont, acont, serie_act, nract, Dataact, datascad, denumire, cod_fiscal, reg_com, id_valuta, Count(*) As nr ; + From cFacturi ; + Group By an, luna, Cont, acont, serie_act, nract, Dataact, datascad, denumire, cod_fiscal, reg_com, id_valuta ; + Into Cursor cFact Readwrite + + llSucces = .F. + Select cFact + Scan + Scatter Name loFact + pnAn = an + pnLuna = luna + pcCont = Alltrim(Cont) + pnNrAct = nract + pdDataAct = Dataact + pcCodFiscal = Upper(Alltrim(cod_fiscal)) + pcDenumire = Upper(Alltrim(denumire)) + + Wait Window 'Verificare/generare id factura ' + Transform(Recno()) + '/' + Transform(Reccount()) Nowait + + * Caut factura in vireg_parteneri si intorc id_fact + pnIdFact = 0 + llSucces = goExecutor.oSelecteaza2Value(m.lcSqlIdIreg, @pnIdFact) + If !m.llSucces + lcMesaj = goExecutor.cEroare + *Messagebox(m.lcMesaj) + This.Trace(m.lcMesaj) + Exit + Endif + If !Empty(NVL(m.pnIdFact,0)) + loFact.id_fact = m.pnIdFact + Else + * generez id_fact din secventa + llSucces = goExecutor.oSelecteaza2Value(m.lcSqlId, @pnIdFact) + If !m.llSucces + lcMesaj = goExecutor.cEroare + *Messagebox(m.lcMesaj) + This.Trace(m.lcMesaj) + Exit + Endif + If !Empty(NVL(m.pnIdFact,0)) + loFact.id_fact = m.pnIdFact + Else + llSucces = .F. + This.Trace('Nu s-a generat id_fact!') + AMessagebox('Nu s-a generat id_fact!', 0 + 48, _Screen.Caption) + Exit + Endif + Endif + Use In (Select('cIdFact')) + + If m.llSucces And loFact.id_fact <> 0 + Update cFacturi Set id_fact = loFact.id_fact Where cont = loFact.cont AND acont = loFact.acont AND serie_act = loFact.serie_act And nract = loFact.nract And Dataact = loFact.Dataact And Nvl(id_valuta, 0) = Nvl(loFact.id_valuta, 0) And Nvl(cod_fiscal, '') = Nvl(loFact.cod_fiscal, '') And Nvl(denumire, '') = Nvl(loFact.denumire, '') + Else + llSucces = .F. + AMessagebox('Nu s-a gasit/generat id-ul de factura. Se opreste generarea de id-uri!', 0 + 48, _Screen.Caption) + Exit + Endif + Endscan + Use In (Select('cFact')) + + If !m.llSucces + Return m.llSucces + Endif + + ********************************************* + *** Unific facturile duplicate din Facturi cumparari/vanzari si Jurnal TVA Cumparari/Vanzari + ********************************************* + This.Trace('Unificare facturi Facturi cumparari/vanzari si Jurnal TVA Cumparari/Vanzari') + * Unific facturile duplicate fara tva neexigibil cu cele cu tva neexigibil, daca exista + * Pot aparea daca in facturi.xlsx sunt si registrele de tva si facturile cu sold. aceeasi factura poate aparea de 2 ori + + + * FACTURI FARA TVA NEEXIGIBIL + Select an, luna, Cont, acont, id_part, id_fact, tip, serie_act, nract, dataact, datascad, denumire, cod_fiscal, explicatia, facturat, achitat, facturatval, achitatval, id_valuta, valuta, valoare, totval, tva, acont4428, baza21, tva21, baza11, tva11, baza19, tva19, baza09, tva09, baza05, tva05, baza24, tva24, baza20, tva20 ; + from cFacturi Where tip <> 'BALANTA' AND tva = 0 Into Cursor cFacturi1 + + * FACTURI CU TVA NEEXIGIBIL + Select an, luna, Cont, acont, id_part, id_fact, tip, serie_act, nract, dataact, datascad, denumire, cod_fiscal, explicatia, facturat, achitat, facturatval, achitatval, id_valuta, valuta, valoare, totval, tva, acont4428, baza21, tva21, baza11, tva11, baza19, tva19, baza09, tva09, baza05, tva05, baza24, tva24, baza20, tva20 ; + from cFacturi Where tip <> 'BALANTA' AND tva <> 0 Into Cursor cFacturi2 + + * SOLDURI BALANTA + Select an, luna, Cont, acont, 'D' as tipDC, id_fact, id_part, tip, serie_act, nract, dataact, datascad, denumire, cod_fiscal, explicatia, totdeb as valoare ; + from cFacturi Where tip = 'BALANTA' AND totdeb <> 0 ; + UNION ; + Select an, luna, Cont, acont, 'C' as tipDC, id_fact, id_part, tip, serie_act, nract, dataact, datascad, denumire, cod_fiscal, explicatia, totcred as valoare ; + from cFacturi Where tip = 'BALANTA' AND totcred <> 0 ; + ORDER BY an, luna, cont, acont, tipDC ; + Into Cursor cSolduriBalanta READWRITE + + Select Nvl(f1.an, f2.an) As an, Nvl(f1.luna, f2.luna) As luna, Nvl(f1.Cont, f2.Cont) As Cont, Nvl(f1.acont, f2.acont) As acont, ; + ' ' AS tipdc, ; + NVL(f1.id_part, f2.id_part) As id_part, Nvl(f1.tip, f2.tip) As tip, Nvl(f1.id_fact, f2.id_fact) As id_fact, ; + Nvl(f1.serie_act, f2.serie_act) As serie_act, Nvl(f1.nract, f2.nract) As nract, ; + NVL(f1.Dataact, f2.Dataact) As Dataact, Nvl(f1.datascad, f2.datascad) As datascad, ; + Nvl(f1.denumire, f2.denumire) As denumire, Nvl(f1.cod_fiscal, f2.cod_fiscal) As cod_fiscal, ; + f1.explicatia, ; + NVL(f1.id_valuta, f2.id_valuta) As id_valuta, ; + NVL(f1.valuta, f2.valuta) As valuta, ; + CAST(Nvl(f1.facturat, f2.facturat) As N(16, 2)) As facturat, Cast(Nvl(f1.facturatval, f2.facturatval) As N(16, 2)) As facturatval, ; + CAST(Nvl(f1.achitat, f2.achitat) As N(16, 2)) As achitat, Cast(Nvl(f1.achitatval, f2.achitatval) As N(16, 2)) As achitatval, ; + CAST(Nvl(f1.valoare, f2.valoare) As N(16, 2)) As valoare, ; + CAST(Nvl(f1.totval, f2.totval) As N(16, 2)) As totval, ; + CAST(Nvl(f2.tva, 0.00) As N(16, 2)) As tva, NVL(f2.acont4428, SPACE(4)) as acont4428, ; + CAST(Nvl(f2.baza21, 0.00) As N(16, 2)) As baza21, Cast(Nvl(f2.tva21, 0.00) As N(16, 2)) As tva21, ; + CAST(Nvl(f2.baza11, 0.00) As N(16, 2)) As baza11, Cast(Nvl(f2.tva11, 0.00) As N(16, 2)) As tva11, ; + CAST(Nvl(f2.baza19, 0.00) As N(16, 2)) As baza19, Cast(Nvl(f2.tva19, 0.00) As N(16, 2)) As tva19, ; + CAST(Nvl(f2.baza09, 0.00) As N(16, 2)) As baza09, Cast(Nvl(f2.tva09, 0.00) As N(16, 2)) As tva09, ; + CAST(Nvl(f2.baza05, 0.00) As N(16, 2)) As baza05, Cast(Nvl(f2.tva05, 0.00) As N(16, 2)) As tva05, ; + CAST(Nvl(f2.baza24, 0.00) As N(16, 2)) As baza24, Cast(Nvl(f2.tva24, 0.00) As N(16, 2)) As tva24, ; + CAST(Nvl(f2.baza20, 0.00) As N(16, 2)) As baza20, Cast(Nvl(f2.tva20, 0.00) As N(16, 2)) As tva20 ; + from cFacturi1 f1 Full Join cFacturi2 f2 On f1.id_fact = f2.id_fact ; + ORDER BY 1,2,3,4,11,10 ; + Into Cursor cFacturiTemp Readwrite + + UPDATE cFacturiTemp SET tipDC = IIF(INLIST(ALLTRIM(cont), '401', '404', '462', '419', '408', '4551'), 'C', 'D') + + Use In (Select('cFacturi1')) + Use In (Select('cFacturi2')) + + * Scad valoarea facturilor din soldurile din balanta + SELECT cont, acont, tipDC, SUM(facturat-achitat) as sold, SUM(valoare) as valoare ; + FROM cFacturiTemp ; + group by cont, acont, tipDC ; + INTO CURSOR cSoldFacturiTemp READWRITE + + * Scad valoarea 4428 tva neexibibil din balanta + SELECT '4428' as cont, acont4428 as acont, IIF(tipDC = 'D', 'C', 'D') as tipDC, SUM(tva21+tva11+tva19+tva09+tva05+tva24+tva20) as valoare ; + FROM cFacturiTemp ; + WHERE tva <> 0 ; + GROUP BY 1,2,3 ; + INTO CURSOR cSoldTVATemp + SELECT cSoldFacturiTemp + APPEND FROM DBF('cSoldTVATemp') + USE IN (select('cSoldTVATemp')) + + + SELECT cSoldFacturiTemp + SCAN + SCATTER NAME loRec + lnSoldFactura = IIF(loRec.sold <> 0, loRec.sold, loRec.valoare) + lcTipDC = ALLTRIM(tipDC) + + SELECT cSolduriBalanta + LOCATE FOR cont = loRec.cont AND acont = loRec.acont AND tipDC = m.lcTipDC + IF !FOUND() + * generez id_fact din secventa + pnIdFact = 0 + llSucces = goExecutor.oSelecteaza2Value(m.lcSqlId, @pnIdFact) + + SELECT cSolduriBalanta + APPEND BLANK + REPLACE an WITH m.gnAn, luna WITH m.gnLuna, cont WITH loRec.cont, acont WITH loRec.acont, tip WITH 'BALANTA', ; + explicatia WITH 'DIFERENTA FACTURI', id_part WITH Thisform.nIdPartNerepartizat, denumire WITH 'NEREPARTIZAT', id_fact WITH m.pnIdFact, ; + nract WITH 1, dataact WITH GOMONTH(DATE(m.gnAn, m.gnLuna, 1),1)-1, ; + tipdc WITH m.lcTipDC + ELSE + REPLACE id_part WITH Thisform.nIdPartNerepartizat, denumire WITH 'NEREPARTIZAT' + ENDIF + + REPLACE valoare WITH valoare - m.lnSoldFactura + + ENDSCAN && cSoldFacturiTemp + USE IN (SELECT('cSoldFacturiTemp')) + + * Pentru conturile cu balanta parteneri si inregistrari pun partener NEREPARTIZAT in conturile din BALANTA + * Ca sa creez balanta de parteneri + lcSql = [select cont, decode(fel_cont, '0', 'D', 'C') as tipdc, cu_inregistrari from CONFIG_CONT_IREG order by cont] + llSucces = goExecutor.oExecuta(m.lcSql, 'cContIregTemp') + IF m.llSucces + SELECT cContIregTemp + SCAN + lcCont = ALLTRIM(cont) + + UPDATE cSolduriBalanta SET id_part = m.lnIdPartNerepartizat, denumire = m.lcPartNerepartizat WHERE ALLTRIM(cont) = m.lcCont + ENDSCAN + ENDIF + + SELECT cFacturiTemp + APPEND FROM DBF('cSolduriBalanta') + USE IN (SELECT('cSolduriBalanta')) + + + + ldDataActEmpty = Gomonth(Date(m.gnAn, m.gnLuna, 1), 1) - 1 + Update cFacturiTemp Set Dataact = m.ldDataActEmpty Where Empty(Dataact) + Update cFacturiTemp Set datascad = Gomonth(Dataact, 1) Where Empty(datascad) + + + * Creez actactan + Create Cursor actactan (id_set I, an N(4), luna N(2), Dataact D, datascad D, dataireg D, serie_act C(20), nract N(20), proc_tva N(5, 2), id_jtva_coloana I NULL, scd C(4), ascd C(4), scc C(4), ascc C(4), ; + id_partd I, partd C(200), id_partc I, partc C(200), pereched N(14), perechec N(14), id_sucursala I Null, sucursala c(100) null, id_fdoc I, fdoc C(100), id_factd I, id_factc I, id_fact I, ; + tva_incasare N(1), cod I, suma N(20, 2), id_valuta I, nume_val C(20), suma_val N(20,2), explicatia C(200), id_util I, dataora T) + + + pnIdFdoc = 0 + pcFdoc = 'FACTURA' + lcSql = [SELECT ID_FDOC FROM NOM_FDOC WHERE STERS = 0 AND INACTIV = 0 AND FEL_DOCUMENT = 'FACTURA'] + llSucces = goExecutor.oSelecteaza2Value(m.lcSql, @pnIdFdoc) + + This.Trace('Generare note contabile') + + pnIdUtil = gnIdUtil + ptDataOra = Datetime() + Select cFacturiTemp + Scan + Scatter Name loFact + pnAn = an + pnLuna = luna + pcCont = Alltrim(Cont) + pcAcont = Alltrim(acont) + lcAcont4428 = ALLTRIM(NVL(acont4428,'')) + lcTipDC = ALLTRIM(tipDC) && D/C + pcDenumire = Alltrim(denumire) + pnCod = 0 + pnIdFact = id_fact + pnIdPart = id_part + pnIdSucursala = m.gnIdSucursala + pcSucursala = Iif(!Empty(Nvl(m.pnIdSucursala, 0)), m.gcFirma, '') + pnIdValuta = id_valuta + pcSerieAct = Alltrim(Nvl(serie_act, '')) + pnNrAct = nract + pdDataAct = Dataact + pdDataIreg = GOMONTH(DATE(m.gnAn, m.gnLuna, 1), 1) - 1 + pdDataScad = datascad + lnValoare = valoare + lnTotVal = totval + lnTVA = tva + lnFacturat = facturat + lnAchitat = achitat + lnFacturatVal = facturatval + lnAchitatVal = achitatval + lcTip = ALLTRIM(tip) && FACTURA/BALANTA + lcExplicatia = ALLTRIM(NVL(explicatia,'')) + + If m.lnFacturat <> 0 Or m.lnFacturatVal <> 0 + lnTotctva = m.lnFacturat + Else + lnTotctva = m.lnValoare + Endif + pnIdFdoc = IIF(m.lcTip = 'FACTURA', 42, 69) && 42 = FACTURA, 69 = SOLD + pnTotCtva = Iif(m.lnTotctva <> 0, m.lnTotctva, baza21 + tva21 + baza11 + tva11 + baza19 + tva19 + baza09 + tva09 + baza05 + tva05 + baza24 + tva24 + baza20 + tva20) + pnTottvatax = tva21 + tva11 + tva19 + tva09 + tva05 + tva24 + tva20 + pnTotftvatax = m.pnTotCtva - m.pnTottvatax + pnro21nb = baza21 + pnro21nt = tva21 + pnro11nb = baza11 + pnro11nt = tva11 + pnro19nb = baza19 + pnro19nt = tva19 + pnro9nb = baza09 + pnro9nt = tva09 + pnro5nb = baza05 + pnro5nt = tva05 + pnro24nb = baza24 + pnro24nt = tva24 + pnro20nb = baza20 + pnro20nt = tva20 + + * Adaug linie valoare cu tva / sold si linie achitat, daca exista. + * Din linia valoare cu tva/sold scad baza si tva neexigibil pe care le adaug distinct, astfel incat sa nu se duplice + For lnLinie = 1 To 2 + Do Case + Case m.lnLinie = 1 And (m.lnFacturat <> 0 Or m.lnValoare <> 0) + * Facturat + If m.lnFacturat <> 0 + pnSuma = m.lnFacturat + Else + pnSuma = m.lnValoare + ENDIF + + If m.lnFacturatVal <> 0 + pnSumaVal = m.lnFacturatVal + Else + pnSumaVal = m.lnTotVal + ENDIF + + * Pun doar diferenta dintre soldul facturii si soldul neexigibil + pnSuma = pnSuma - (pnro21nb + pnro21nt + pnro11nb + pnro11nt + pnro19nb + pnro19nt + pnro9nb + pnro9nt + pnro5nb + pnro5nt + pnro24nb + pnro24nt + pnro20nb + pnro20nt) + + * pcExplicatia = IIF(m.lcTip = 'BALANTA', m.lcExplicatia, IIF(m.lnFacturat <> 0, 'FACTURAT', 'SOLD')) + pcExplicatia = LEFT(m.lcExplicatia, 100) + + If m.lcTipDC = 'C' + * x = 401 + pcScd = '' + pcAscd = '' + pcScc = m.pcCont + pcAscc = m.pcAcont + pnIdPartD = 0 + pnIdPartC = m.pnIdPart + pcPartD = '' + pcPartC = m.pcDenumire + pnIdFactD = 0 + pnIdFactC = 0 + pnPerecheD = 0 + pnPerecheC = 0 + Else + * 4111 = x + pcScd = m.pcCont + pcAscd = m.pcAcont + pcScc = '' + pcAscc = '' + pnIdPartD = m.pnIdPart + pnIdPartC = 0 + pcPartD = m.pcDenumire + pcPartC = '' + pnIdFactD = 0 + pnIdFactC = 0 + pnPerecheD = 0 + pnPerecheC = 0 + ENDIF + + * la inregistrarile BALANTA, daca am sume debitoare si sume creditoare, pe creditul lui 4111 pun id_factc = id_fact si id_partc = id_part + IF m.lcTip = 'BALANTA' + SELECT cContIregTemp + LOCATE FOR ALLTRIM(cont) = m.pcCont + IF FOUND() + DO CASE + CASE ALLTRIM(tipdc) = 'D' AND NVL(cu_inregistrari,0) = 1 AND m.lcTipDC = 'C' && linia x = 4111 + pnIdFactC = m.pnIdFact + pnPerecheC = m.pnNrAct + CASE ALLTRIM(tipdc) = 'C' AND NVL(cu_inregistrari,0) = 1 AND m.lcTipDC = 'D' && linia 401 = x + pnIdFactD = m.pnIdFact + pnPerecheD = m.pnNrAct + ENDCASE + ENDIF + ENDIF + + Case m.lnLinie = 2 And m.lnAchitat <> 0 + * Achitat + m.pnSuma = m.lnAchitat + m.pnSumaVal = m.lnAchitatVal + pcExplicatia = 'ACHITAT' + If m.lcTipDC = 'C' + * 401 = x + pcScd = m.pcCont + pcAscd = m.pcAcont + pcScc = '' + pcAscc = '' + pnIdPartD = m.pnIdPart + pnIdPartC = 0 + pcPartD = m.pcDenumire + pcPartC = '' + pnIdFactD = m.pnIdFact + pnIdFactC = 0 + pnPerecheD = m.pnNrAct + pnPerecheC = 0 + Else + * x = 4111 + pcScd = '' + pcAscd = '' + pcScc = m.pcCont + pcAscc = m.pcAcont + pnIdPartD = 0 + pnIdPartC = m.pnIdPart + pcPartD = '' + pcPartC = m.pcDenumire + pnIdFactD = 0 + pnIdFactC = m.pnIdFact + pnPerecheD = 0 + pnPerecheC = m.pnNrAct + ENDIF + Otherwise + Loop + Endcase + + pnProcTva = 0 + pnIdJtva = Null + + IF m.pnSuma <> 0 + Insert Into actactan(id_set, an, luna, Dataact, datascad, dataireg, serie_act, nract, scd, ascd, scc, ascc, ; + id_partd, partd, id_partc, partc, id_sucursala, sucursala, id_fdoc, fdoc, id_fact, id_factd, id_factc, pereched, perechec, ; + cod, suma, explicatia, proc_tva, id_jtva_coloana, id_util, dataora) ; + VALUES (m.lnIdSet, m.pnAn, m.pnLuna, m.pdDataAct, m.pdDataScad, m.pdDataIreg, m.pcSerieAct, m.pnNrAct, m.pcScd, m.pcAscd, m.pcScc, m.pcAscc, ; + m.pnIdPartD, m.pcPartD, m.pnIdPartC, m.pcPartC, m.pnIdSucursala, m.pcSucursala, m.pnIdFdoc, m.pcFdoc, ; + m.pnIdFact, m.pnIdFactD, m.pnIdFactC, m.pnPerecheD, m.pnPerecheC, ; + m.pnCod, m.pnSuma, m.pcExplicatia, m.pnProcTva, m.pnIdJtva, m.pnIdUtil, m.ptDataOra) + ENDIF + Endfor && lnLinie + + * NOTE TVA NEEXIGIBIL + IF m.lnTVA <> 0 + For lnLinie = 1 To 2 + * lnLinie = 1 baza + * lnLinie = 2 tva + If m.lcTipDC = 'C' + * 4428 = 401 + pcScd = IIF(m.lnLinie = 1, '', '4428') && linia cu baza ar trebuie sa fie 3xx = 401, nu pun nimic pe debit x = 401 + pcAscd = IIF(m.lnLinie = 1, '', m.lcAcont4428) + pcScc = m.pcCont + pcAscc = m.pcAcont + pnIdPartD = 0 + pnIdPartC = m.pnIdPart + pcPartD = '' + pcPartC = m.pcDenumire + pnIdFactD = 0 + pnIdFactC = 0 + Else + * 4111 = 4428 + pcScd = m.pcCont + pcAscd = m.pcAcont + pcScc = IIF(m.lnLinie = 1, '', '4428') + pcAscc = IIF(m.lnLinie = 1, '', m.lcAcont4428) + pnIdPartD = m.pnIdPart + pnIdPartC = 0 + pcPartD = m.pcDenumire + pcPartC = '' + pnIdFactD = 0 + pnIdFactC = 0 + ENDIF + SET STEP ON + For lnCota = 1 To 7 + * 21, 11, 5, 9, 19, 20, 24 + Do Case + Case lnCota = 1 + pnProcTva = 1.21 + pnSuma = Iif(m.lnLinie = 1, m.pnro21nb, m.pnro21nt) + pnIdJtva = Iif(m.lcTipDC = 'C', Iif(m.lnLinie = 1, 210, 211), Iif(m.lnLinie = 1, 37, 38)) && 210 = ACH. INT. NEEX. 21%, 37 = LIVRARI INT. NEEX. 21% + Case lnCota = 2 + pnProcTva = 1.11 + pnSuma = Iif(m.lnLinie = 1, m.pnro11nb, m.pnro11nt) + pnIdJtva = Iif(m.lcTipDC = 'C', Iif(m.lnLinie = 1, 214, 215), Iif(m.lnLinie = 1, 41, 42)) + Case lnCota = 3 + pnProcTva = 1.19 + pnSuma = Iif(m.lnLinie = 1, m.pnro19nb, m.pnro19nt) + pnIdJtva = Iif(m.lcTipDC = 'C', Iif(m.lnLinie = 1, 188, 189), Iif(m.lnLinie = 1, 31, 32)) + Case lnCota = 4 + pnProcTva = 1.09 + pnSuma = Iif(m.lnLinie = 1, m.pnro9nb, m.pnro9nt) + pnIdJtva = Iif(m.lcTipDC = 'C', Iif(m.lnLinie = 1, 172, 173), Iif(m.lnLinie = 1, 23, 24)) + Case lnCota = 5 + pnProcTva = 1.05 + pnSuma = Iif(m.lnLinie = 1, m.pnro5nb, m.pnro5nt) + pnIdJtva = Iif(m.lcTipDC = 'C', Iif(m.lnLinie = 1, 174, 175), Iif(m.lnLinie = 1, 25, 26)) + Case lnCota = 6 + pnProcTva = 1.24 + pnSuma = Iif(m.lnLinie = 1, m.pnro24nb, m.pnro24nt) + pnIdJtva = Iif(m.lcTipDC = 'C', Iif(m.lnLinie = 1, 170, 171), Iif(m.lnLinie = 1, 21, 22)) + Case lnCota = 7 + pnProcTva = 1.20 + pnSuma = Iif(m.lnLinie = 1, m.pnro20nb, m.pnro20nt) + pnIdJtva = Iif(m.lcTipDC = 'C', Iif(m.lnLinie = 1, 178, 179), Iif(m.lnLinie = 1, 29, 30)) + + Endcase + + pcExplicatia = 'NOTE PENTRU EXIGIBILIZARE TVA INCASARE' + + IF m.pnSuma <> 0 + Insert Into actactan(id_set, an, luna, Dataact, datascad, dataireg, serie_act, nract, scd, ascd, scc, ascc, ; + id_partd, partd, id_partc, partc, id_sucursala, sucursala, id_fdoc, fdoc, id_fact, id_factd, id_factc, cod, suma, ; + explicatia, proc_tva, id_jtva_coloana, id_util, dataora) ; + VALUES (m.lnIdSet, m.pnAn, m.pnLuna, m.pdDataAct, m.pdDataScad, m.pdDataIreg, m.pcSerieAct, m.pnNrAct, m.pcScd, m.pcAscd, m.pcScc, m.pcAscc, ; + m.pnIdPartD, m.pcPartD, m.pnIdPartC, m.pcPartC, m.pnIdSucursala, m.pcSucursala, m.pnIdFdoc, m.pcFdoc, m.pnIdFact, m.pnIdFactD, m.pnIdFactC, m.pnCod, m.pnSuma, ; + m.pcExplicatia, m.pnProcTva, m.pnIdJtva, m.pnIdUtil, m.ptDataOra) + ENDIF + Endfor && lnCota + Endfor && lnLinie + ENDIF && lnTVA + Endscan && cFacturiTemp + + USE IN (SELECT('cFacturiTemp')) + USE IN (SELECT('cContIregTemp')) + + Return m.llSucces + + ENDPROC + + PROCEDURE disconnectroa + ENDPROC + + PROCEDURE exportdate + * 24.06.2020 + * + acont4428 in init_facturi.xlsx + + + Local lcFile, lcFileBinary, llSucces + LOCAL loEx as Exception + PRIVATE pcCodFiscal, pnIdPart + + llSucces = .F. + AMESSAGEBOX('Alegeti fisierul xlsx initializat cu facturi si/sau sume din balanta.' + CHR(13) + ; + 'Structura fisierului (ordinea coloanelor) trebuie sa fie la fel ca cea a fisierului sablon.',0+64,_screen.Caption) + + lcFile = Getfile('xlsx','Fisier xlsx cu facturi','Alege') + llSucces = !Empty(m.lcFile) + IF !m.llSucces + RETURN m.llSucces + Endif + + * sunt 2 tipuri de inregistrari: FACTURA, BALANTA + * inregistrarile tip BALANTA au completat SOLDDEB si SOLDCRED + * inregistrarile tip FACTURA au completat SOLD, SOLTTVANEEX, [FACTURAT, ACHITAT] + CREATE CURSOR cFacturiTemp(an N(4), luna N(4), cont C(20), acont C(20), tip C(20), serie_act c(10), nract N(20), dataact C(20), datascad c(20), ; + denumire C(100), cod_fiscal C(20), reg_com C(20), adresa C(200), ; + explicatie C(100), ; + totdeb N(18,2), totcred N(18,2), ; + facturat N(18,2), facturatval N(18,2), achitat N(18,2), achitatval N(18,2), valuta C(20), ; + valoare N(18,2), totval N(18,2), tva N(18,2), acont4428 C(20), ; + baza21 N(18,2), tva21 N(18,2), ; + baza11 N(18,2), tva11 N(18,2), ; + baza19 N(18,2), tva19 N(18,2), ; + baza09 N(18,2), tva09 N(18,2), ; + baza05 N(18,2), tva05 N(18,2), ; + baza24 N(18,2), tva24 N(18,2), ; + baza20 N(18,2), tva20 N(18,2)) + + appendfromxlsx(m.lcFile,"cFacturiTemp","",2,"Sheet1", .T.) + llSucces = .T. + * Import first sheet + * importfromxlsx(lcFileName,lnStartRows,lcSheet,llCursor,llEmptyCells,lnHeader,lcTableName) + *!* importfromxlsx(m.lcFile,2,'Sheet1',.T.,.T.,1,'cfacturitemp') + *!* llSucces = Used('cfacturitemp') + IF m.llSucces + *!* Select Cast(0 As I) As id_fact, Cast(0 As I) As id_part, Int(Val(TRANSFORM(an))) As an, Int(Val(TRANSFORM(luna))) As luna, ; + *!* Padr(Alltrim(TRANSFORM(Cont)), 4, ' ') As Cont, Padr(Alltrim(TRANSFORM(acont)), 4, ' ') As acont, tip, ; + *!* TRANSFORM(serie) As serie_act, Int(Val(TRANSFORM(numar))) As nract, IIF(VAL(TRANSFORM(data)) > 3000, DATE(1900,1,1)+VAL(TRANSFORM(data))-2, Ctod(TRANSFORM(Data))) As Dataact, ; + *!* IIF(VAL(TRANSFORM(datascad)) > 3000, DATE(1900,1,1)+VAL(datascad)-2, Ctod(datascad)) As datascad, ; + *!* Upper(TRANSFORM(nume)) As denumire, Padr(Alltrim(Upper(TRANSFORM(cod_fiscal))),20, ' ') As cod_fiscal, Padr(Alltrim(Upper(TRANSFORM(reg_com))),30, ' ') As reg_com,; + *!* Upper(TRANSFORM(adresa)) As adresa, ; + *!* ROUND(Val(TRANSFORM(facturat)),2) As facturat, Round(Val(TRANSFORM(achitat)),2) As achitat, ; + *!* ROUND(Val(TRANSFORM(facturatval)),2) As facturatval, Round(Val(TRANSFORM(achitatval)),2) As achitatval, ; + *!* UPPER(TRANSFORM(valuta)) as valuta, CAST(0 as I) as id_valuta, ; + *!* ROUND(Val(TRANSFORM(sold)),2) As valoare, Round(Val(TRANSFORM(soldtvaneex)),2) As tva, ; + *!* ROUND(Val(TRANSFORM(soldval)),2) As totval, ; + *!* ROUND(Val(Transform(baza24)),2) As baza24, Round(Val(Transform(tva24)),2) As tva24, ; + *!* ROUND(Val(Transform(baza20)),2) As baza20, Round(Val(Transform(tva20)),2) As tva20, ; + *!* ROUND(Val(Transform(baza19)),2) As baza19, Round(Val(Transform(tva19)),2) As tva19, ; + *!* ROUND(Val(Transform(baza09)),2) As baza09, Round(Val(Transform(tva09)),2) As tva09, ; + *!* ROUND(Val(Transform(baza05)),2) As baza05, Round(Val(Transform(tva05)),2) As tva05 ; + *!* FROM cfacturitemp ; + *!* WHERE !Empty(Val(Transform(an))) ; + *!* INTO Cursor cFacturi Readwrite + + This.Trace(TRANSFORM(RECCOUNT('cFacturiTemp')) + ' inregistrari in ' + m.lcFile) + * Verific daca contul are si analitic 401.01 + * Daca da separ contul si analiticul + SELECT cFacturiTemp + SCAN + lcContOriginal = ALLTRIM(NVL(cont,'')) + lcAcontOriginal = ALLTRIM(NVL(acont,'')) + lnLen = AT('.', m.lcContOriginal) + IF m.lnLen > 0 + lcAcont = ALLTRIM(SUBSTR(m.lcContOriginal, m.lnLen+1)) + lcCont = ALLTRIM(LEFT(m.lcContOriginal, m.lnLen-1)) + REPLACE cont WITH m.lcCont + IF EMPTY(lcAcontOriginal) + REPLACE acont WITH m.lcAcont + ENDIF + ENDIF + + ENDSCAN + + lcColoanaExplicatie = IIF(TYPE('cFacturiTemp.explicatie') <> 'U', [UPPER(explicatie) as explicatie], [space(10) as explicatie]) + * coloana data in format excel number + UPDATE cFacturiTemp SET dataact = TRANSFORM(ExcelSerialNumber2Date(INT(VAL(dataact)))) WHERE !('.'$dataact OR '/'$dataact) + UPDATE cFacturiTemp SET datascad = TRANSFORM(ExcelSerialNumber2Date(INT(VAL(datascad)))) WHERE !('.'$datascad OR '/'$datascad) + + Select CAST(0 AS I) AS id_fact, CAST(0 AS I) AS id_part, an, luna, ; + PADR(ALLTRIM(cont),4, ' ') as cont, PADR(ALLTRIM(acont),4, ' ') as acont, UPPER(tip) as tip, ; + UPPER(serie_act) as serie_act, nract, CTOD(dataact) as dataact, CTOD(datascad) as datascad, ; + IIF(ALLTRIM(tip) = 'BALANTA', SPACE(100), Upper(denumire)) As denumire, UPPER(cod_fiscal) As cod_fiscal, UPPER(reg_com) As reg_com,; + PADR(IIF(ALLTRIM(tip) = 'BALANTA', UPPER(denumire), 'FACTURA'), 100, ' ') As explicatia, ; + Upper(adresa) As adresa, ; + &lcColoanaExplicatie, ; + totdeb, totcred, ; + facturat As facturat, achitat As achitat, ; + facturatval As facturatval, achitatval As achitatval, ; + UPPER(valuta) as valuta, CAST(0 as I) as id_valuta, ; + valoare, tva, PADR(ALLTRIM(acont4428),4, ' ') as acont4428, ; + totval, ; + baza21 As baza21, tva21 As tva21, ; + baza11 As baza11, tva11 As tva11, ; + baza19 As baza19, tva19 As tva19, ; + baza09 As baza09, tva09 As tva09, ; + baza05 As baza05, tva05 As tva05, ; + baza24 As baza24, tva24 As tva24, ; + baza20 As baza20, tva20 As tva20 ; + FROM cFacturiTemp ; + WHERE !Empty(Val(Transform(an))) ; + INTO Cursor cFacturi Readwrite + + UPDATE cFacturi SET datascad = GOMONTH(dataact,1) WHERE YEAR(datascad) = 1899 OR EMPTY(NVL(datascad, {})) + + UPDATE cFacturi SET explicatia = explicatie WHERE ALLTRIM(tip) <> 'BALANTA' + + USE IN (SELECT('cfacturitemp')) + + + * inregistrarile tip BALANTA au nract = 1 si dataact = sfarsitul lunii + UPDATE cFacturi SET nract = 1 WHERE tip = 'BALANTA' AND EMPTY(nract) + UPDATE cFacturi SET dataact = GOMONTH(DATE(m.gnAn, m.gnLuna, 1),1)-1 WHERE tip = 'BALANTA' AND EMPTY(dataact) + + SELECT cFacturi + BROWSE TITLE 'Lista facturi importate din ' + JUSTFNAME(m.lcFile) + llSucces = (AMESSAGEBOX('Doriti sa continuati?',4+32,_screen.Caption) = 6) + + IF m.llSucces + Select Cast(Null As I) As id_part, denumire, Space(100) As nume, Space(100) As prenume, cod_fiscal, reg_com, MAX(adresa) as adresa, MAX(cont) as cont ; + From cFacturi ; + WHERE ALLTRIM(tip) = 'FACTURA' ; + group by denumire, cod_fiscal, reg_com ; + Into Cursor cParteneriTemp Readwrite + + * ADAUG PARTENERUL "NEREPARTIZAT" PENTRU DIFERENTELE FATA DE BALANTA DE VERIFICARE + SELECT cParteneriTemp + LOCATE FOR ALLTRIM(denumire) = 'NEREPARTIZAT' + IF !FOUND() + APPEND BLANK + REPLACE denumire WITH 'NEREPARTIZAT' + ENDIF + + + This.Trace('Verificare ' + TRANSFORM(RECCOUNT('cParteneriTemp')) + ' parteneri') + + * Completez ID_PART + TRY + IF RECCOUNT('cParteneriTemp') > 0 + llSucces = CompleteazaParteneriROA('cParteneriTemp') + ENDIF + CATCH TO loEx + This.Trace(loEx.message) + AMESSAGEBOX(loEx.Message,0+16,_screen.Caption) + llSucces = .F. + ENDTRY + If m.llSucces + Select cParteneriTemp + Scan + lnIdPart = id_part + lcCodFiscal = Alltrim(cod_fiscal) + lcDenumire = ALLTRIM(denumire) + lcRegCom = ALLTRIM(reg_com) + IF lcDenumire = 'NEREPARTIZAT' + Thisform.nIdPartNerepartizat = m.lnIdPart + ENDIF + Update cFacturi Set id_part = m.lnIdPart Where cod_fiscal = m.lcCodFiscal AND denumire = m.lcDenumire AND reg_com = m.lcRegCom + ENDSCAN + USE IN (SELECT('cParteneriTemp')) + ENDIF + ENDIF && llSucces + + IF m.llSucces + SELECT distinct CAST(null as I) as id_valuta, valuta ; + FROM cFacturi ; + WHERE !EMPTY(NVL(valuta, '')) ; + INTO CURSOR cValuteTemp READWRITE + + This.Trace('Verificare ' + TRANSFORM(RECCOUNT('cValuteTemp')) + ' valute') + + * Completez ID_VALUTA + TRY + IF RECCOUNT('cValuteTemp') > 0 + llSucces = CompleteazaValutaROA('cValuteTemp', thisform) + ENDIF + CATCH TO loEx + This.Trace(loEx.message) + AMESSAGEBOX(loEx.Message,0+16,_screen.Caption) + llSucces = .F. + ENDTRY + ENDIF + + If m.llSucces + Select cValuteTemp + Scan + lnIdValuta = id_valuta + lcValuta = Alltrim(valuta) + + Update cFacturi Set id_valuta = m.lnIdValuta Where valuta = m.lcValuta + ENDSCAN + USE IN (SELECT('cValuteTemp')) + ENDIF && llSucces + + IF m.llSucces + * Plan conturi analitic + This.Trace('Completare plan conturi analitic') + + Select Distinct an, Cont, acont, CAST(IIF(!EMPTY(NVL(denumire,'')), LEFT(denumire,100), LEFT(explicatia,100)) as C(100)) as denumire, IIF(totdeb-totcred > 0, 'A', 'P') as tip ; + From cFacturi ; + Where tip = 'BALANTA' AND !Empty(acont) ; + Into Cursor cPlan + + Text To lcSql Noshow + merge into plcont A + USING DUAL B + ON (A.AN = ?an AND CONT = ?ALLTRIM(cont) AND A.ACONT = ?ALLTRIM(acont)) + WHEN NOT MATCHED THEN + INSERT + (acont, + explicatie, + cont, + tip_sold, + an, + tip_cont, + id_mod, + inactiv, + nefolosit, + explicaties) + VALUES (?ALLTRIM(acont), + ?LEFT(ALLTRIM(denumire),100), + ?ALLTRIM(cont), + ?ALLTRIM(tip), + ?an, + 1, + 0, + 0, + 0, + ?LEFT(ALLTRIM(denumire),100)) + + Endtext + + Select cPlan + Scan + llSucces = goExecutor.oExecuta(m.lcSql) + If !m.llSucces + This.Trace(goExecutor.cEroare) + Exit + Endif + Endscan + + ENDIF && llSucces + + ENDIF && llSucces + + + Return m.llSucces + + ENDPROC + + PROCEDURE Init + DODEFAULT() + This.RefreshControls() + ENDPROC + + PROCEDURE initbalanta + * Initializeaza direct balanta verificare din balanta.xlsx + + * Import balanta.xlsx (PRECDEB1, PRECCRED1, RULPRECDEB, RULPRECCRED, PRECDEB, PRECCRED, RULDEB, RULCRED, TODEB, TOTCRED, SOLDDEB, SOLDCRED) + + + Local lcAcont2, lcBalantaP2IregP, lcCont, lcCont2, lcContAnalitic, lcContSintetic, lcContToate + Local lcFile, lcIregP2BalantaP, lcListaConturiBalP, lcListaConturiIregP, lcMesaj, lcSql, lcSqlBalP + Local lcSqlDel, lcSqlId, lcSqlIregP, ldDataI, ldDataP, llParteneriBalanta, llSucces, lnAnI, lnAnP + Local lnLunaI, lnLunaP, lnNrLuniI, lnNrLuniP, lnPos, loPart + PRIVATE pdDataAct, pdDataIreg, pdDataScad, pnIdFact, pnIdFdoc, pnNrAct + + lnLunaI = m.gnLuna + lnAnI = m.gnAn + lnNrLuniI = m.lnAnI * 12 + m.lnLunaI + + ldDataI = Date(m.lnAnI, m.lnLunaI, 1) + ldDataP = Gomonth(m.ldDataI, -1) + lnAnP = Year(m.ldDataP) + lnLunaP = Month(m.ldDataP) + lnNrLuniP = m.lnAnP * 12 + m.lnLunaP + + llParteneriBalanta = (This.chkParteneriBalantaVerificare = 1) && creez balante de parteneri din balanta analitica si sterg apoi analiticele din balanta analitica + SET STEP ON + TEXT TO lcMesaj NOSHOW + Alegeti fisierul balanta.xlsx cu structura: + "CONT, DENUMIRE, PRECDEB1, PRECCRED1, RULPRECDEB, RULPRECCRED, RULDEB, RULCRED, TOTDEB, TOTCRED, SOLDDEB, SOLDCRED" + sau + "CONT, DENUMIRE, PRECDEB1, PRECCRED1, PRECDEB, PRECCRED, RULDEB, RULCRED, TOTDEB, TOTCRED, SOLDDEB, SOLDCRED" + sau + "CONT, DENUMIRE, PRECDEB, PRECCRED, RULDEB, RULCRED, TOTDEB, TOTCRED, SOLDDEB, SOLDCRED" + + * PRECDEBI/PRECCRED1 = solduri la 1 ianuarie + * RULPRECDEB/RULPRECCRED = rulaj precedent anual, fara sold la 1 ianuarie + * RULDEB/RULCRED = rulaje lunare + * TOTDEB/TOTCRED = sume totale (sold la 1 ianuarie + rulal precedent anual + rulaj lunar) + * PRECDEB/PRECCRED = rulaj precedent, inclusiv sold la 1 ianuarie + ENDTEXT + AMessagebox(m.lcMesaj, 0 + 64, _Screen.Caption) + llSucces = .F. + + lcFile = Getfile('xlsx', 'Fisier Balanta.xlsx', 'Alege') + llSucces = !EMPTY(m.lcFile) + IF !m.llSucces + RETURN m.llSucces + Endif + * Import first sheet + importfromxlsx(m.lcFile, 2, 'Sheet1', .T., .T., 1, 'cBalantaTemp') + + llSucces = USED('cBalantaTemp') + + Do Case + Case Type('cBalantaTemp.precdeb1') <> 'U' And Type('cBalantaTemp.rulprecdeb') <> 'U' + * sold initial 1 ianuarie + rulaj precedent = precdeb/preccred + Select Cast(Alltrim(Cont) As C(20)) As Cont, Cast(Upper(Alltrim(denumire)) As C(100)) As denumire, ; + Cast(Round(Val(Alltrim(Transform(precdeb1))), 2) As N(18, 2)) As precdeb1, ; + Cast(Round(Val(Alltrim(Transform(preccred1))), 2) As N(18, 2)) As preccred1, ; + Cast(Round(Val(Alltrim(Transform(precdeb1))), 2) + Round(Val(Alltrim(Transform(rulprecdeb))), 2) As N(18, 2)) As precdeb, ; + Cast(Round(Val(Alltrim(Transform(preccred1))), 2) + Round(Val(Alltrim(Transform(rulpreccred))), 2) As N(18, 2)) As preccred, ; + Cast(Round(Val(Alltrim(Transform(ruldeb))), 2) As N(18, 2)) As ruldeb, ; + Cast(Round(Val(Alltrim(Transform(rulcred))), 2) As N(18, 2)) As rulcred, ; + Cast(Round(Val(Alltrim(Transform(totdeb))), 2) As N(18, 2)) As totdeb, ; + Cast(Round(Val(Alltrim(Transform(totcred))), 2) As N(18, 2)) As totcred, ; + Cast(Round(Val(Alltrim(Transform(solddeb))), 2) As N(18, 2)) As solddeb, ; + Cast(Round(Val(Alltrim(Transform(soldcred))), 2) As N(18, 2)) As soldcred ; + From cBalantaTemp ; + Into Cursor cBalTemp + Case Type('cBalantaTemp.precdeb1') <> 'U' And Type('cBalantaTemp.precdeb') <> 'U' + Select Cast(Alltrim(Cont) As C(20)) As Cont, Cast(Upper(Alltrim(denumire)) As C(100)) As denumire, ; + Cast(Round(Val(Alltrim(Transform(precdeb1))), 2) As N(18, 2)) As precdeb1, ; + Cast(Round(Val(Alltrim(Transform(preccred1))), 2) As N(18, 2)) As preccred1, ; + Cast(Round(Val(Alltrim(Transform(precdeb))), 2) As N(18, 2)) As precdeb, ; + Cast(Round(Val(Alltrim(Transform(preccred))), 2) As N(18, 2)) As preccred, ; + Cast(Round(Val(Alltrim(Transform(ruldeb))), 2) As N(18, 2)) As ruldeb, ; + Cast(Round(Val(Alltrim(Transform(rulcred))), 2) As N(18, 2)) As rulcred, ; + Cast(Round(Val(Alltrim(Transform(totdeb))), 2) As N(18, 2)) As totdeb, ; + Cast(Round(Val(Alltrim(Transform(totcred))), 2) As N(18, 2)) As totcred, ; + Cast(Round(Val(Alltrim(Transform(solddeb))), 2) As N(18, 2)) As solddeb, ; + Cast(Round(Val(Alltrim(Transform(soldcred))), 2) As N(18, 2)) As soldcred ; + From cBalantaTemp ; + Into Cursor cBalTemp + Case Type('cBalantaTemp.precdeb1') = 'U' And Type('cBalantaTemp.precdeb') <> 'U' + Select Cast(Alltrim(Cont) As C(20)) As Cont, Cast(Upper(Alltrim(denumire)) As C(100)) As denumire, ; + Cast(Round(Val(Alltrim(Transform(precdeb))), 2) As N(18, 2)) As precdeb1, ; + Cast(Round(Val(Alltrim(Transform(preccred))), 2) As N(18, 2)) As preccred1, ; + Cast(Round(Val(Alltrim(Transform(precdeb))), 2) As N(18, 2)) As precdeb, ; + Cast(Round(Val(Alltrim(Transform(preccred))), 2) As N(18, 2)) As preccred, ; + Cast(Round(Val(Alltrim(Transform(ruldeb))), 2) As N(18, 2)) As ruldeb, ; + Cast(Round(Val(Alltrim(Transform(rulcred))), 2) As N(18, 2)) As rulcred, ; + Cast(Round(Val(Alltrim(Transform(totdeb))), 2) As N(18, 2)) As totdeb, ; + Cast(Round(Val(Alltrim(Transform(totcred))), 2) As N(18, 2)) As totcred, ; + Cast(Round(Val(Alltrim(Transform(solddeb))), 2) As N(18, 2)) As solddeb, ; + Cast(Round(Val(Alltrim(Transform(soldcred))), 2) As N(18, 2)) As soldcred ; + From cBalantaTemp ; + Into Cursor cBalTemp + Otherwise + Messagebox('Nu recunosc structura de balanta!', 0 + 16, _Screen.Caption) + llSucces = .F. + Endcase + + If !m.llSucces + Return m.llSucces + Endif + + * Conturi cu balanta parteneri + lcListaConturiBalP = ['401','404','408','409','4091','4092','4093','4111','418','419','461','462','4551','5311','5121','5124'] + + * Conturi cu inregistrari parteneri + lcListaConturiIregP = ['401','404','408','409','4091','4092','4093','4111','418','419','461','462','4551'] + + + Select Cast(Alltrim(Cont) + '.' + Alltrim(acont) As C(20)) As Cont, cont2, acont2 From conturi_roa Into Cursor cConturiROA + + Select Cast(Null As I) As id_part, b.Cont, b.denumire, Space(4) As cont2, Space(4) As acont2, b.precdeb1, b.preccred1, b.precdeb, b.preccred, b.ruldeb, b.rulcred, b.totdeb, b.totcred, b.solddeb, b.soldcred, ; + b.Cont As cod, b.Cont As cod_fiscal, '' As reg_com, '' As judet, '' As adresa, 'ROMANIA' As tara ; + From cBalTemp b ; + Order By b.Cont ; + Into Cursor cBalTemp2 Readwrite + + * Corectare conturi analitice + Select cBalTemp2 + Scan + lcCont = Alltrim(Cont) + If At('.', m.lcCont) = 0 + lcCont = m.lcCont + '.' + Endif + lnPos = At('.', m.lcCont) + lcContSintetic = Left(m.lcCont, m.lnPos - 1) + lcContAnalitic = Substr(m.lcCont, m.lnPos + 1) + lcContToate = m.lcContSintetic + '.TOATE' + + lcCont2 = Alltrim(m.lcContSintetic) + lcAcont2 = Alltrim(m.lcContAnalitic) + + Select cConturiROA + Locate For Alltrim(Cont) = m.lcCont + If !Found() + Locate For Alltrim(Cont) = m.lcContToate + If Found() + lcCont2 = Alltrim(cont2) + lcAcont2 = Alltrim(acont2) + Endif + Else + lcCont2 = Alltrim(cont2) + lcAcont2 = Alltrim(acont2) + Endif + Select cBalTemp2 + Replace cont2 With m.lcCont2, acont2 With m.lcAcont2 + + Endscan + + + ** Balanta sintetica + Select lnAnI As an, lnLunaI As luna, b.cont2 As Cont, ; + Sum(b.precdeb1) As precdeb1, Sum(b.preccred1) As preccred1, Sum(b.precdeb) As precdeb, Sum(b.preccred) As preccred, ; + Sum(b.ruldeb) As ruldeb, Sum(b.rulcred) As rulcred, Sum(b.totdeb) As totdeb, Sum(b.totcred) As totcred, ; + Sum(b.solddeb) As solddeb, Sum(b.soldcred) As soldcred ; + From cBalTemp2 b ; + Where Empty(b.acont2) ; + Group By 1, 2, 3 ; + Order By 1, 2, 3 ; + Into Cursor cBal + + ** Balanta analitica + ** nu initializez analitice pentru conturile cu analitic = partener pentru ca initializez balante analitice de parteneri + Select lnAnI As an, lnLunaI As luna, b.cont2 As Cont, b.acont2 As acont, ; + Sum(b.precdeb1) As precdeb1, Sum(b.preccred1) As preccred1, Sum(b.precdeb) As precdeb, Sum(b.preccred) As preccred, ; + Sum(b.ruldeb) As ruldeb, Sum(b.rulcred) As rulcred, Sum(b.totdeb) As totdeb, Sum(b.totcred) As totcred, ; + Sum(b.solddeb) As solddeb, Sum(b.soldcred) As soldcred ; + From cBalTemp2 b ; + Where !Empty(b.acont2) And (!m.llParteneriBalanta Or (m.llParteneriBalanta And !(['] + Alltrim(cont2) + ['] $ m.lcListaConturiBalP))) ; + Group By 1, 2, 3, 4 ; + Order By 1, 2, 3, 4 ; + Into Cursor cBalana + + * Plan conturi analitic + ** nu initializez analitice pentru conturile cu analitic = partener pentru ca initializez balante analitice de parteneri + Select Distinct lnAnI As an, b.cont2 As Cont, b.acont2 As acont, b.denumire ; + From cBalTemp2 b ; + Where !Empty(b.acont2) And (!m.llParteneriBalanta Or (m.llParteneriBalanta And !(['] + Alltrim(cont2) + ['] $ m.lcListaConturiBalP))) ; + Into Cursor cPlan + + + * Partenerii ii iau din balanta analitica. Nu am alta sursa de parteneri + ** Nomenclator Parteneri + llSucces = goConn.BeginManualTransaction() + + If m.llSucces + Wait Window 'BALANTA SINTETICA...' Nowait + lcSql = [delete from bal where an = ] + Alltrim(Str(m.lnAnI)) + [ and luna = ] + Alltrim(Str(m.lnLunaI)) + llSucces = goExecutor.oExecuta(m.lcSql) + + If m.llSucces + lcSql = 'insert into bal (an, luna, cont, precdeb1, preccred1, precdeb, preccred, ruldeb, rulcred) ' + ; + 'VALUES (?an, ?luna, ?ALLTRIM(cont), ?precdeb1, ?preccred1, ?precdeb, ?preccred, ?ruldeb, ?rulcred)' + Select cBal + Scan + llSucces = goExecutor.oExecuta(m.lcSql) + If !m.llSucces + Exit + Endif + Endscan + Endif && llSucces + + If m.llSucces + Wait Window 'PLAN CONTURI...' Nowait + TEXT To lcSql Noshow + merge into plcont A + USING DUAL B + ON (A.AN = ?an AND CONT = ?ALLTRIM(cont) AND A.ACONT = ?ALLTRIM(acont)) + WHEN NOT MATCHED THEN + INSERT + (acont, + explicatie, + cont, + tip_sold, + an, + tip_cont, + id_mod, + inactiv, + nefolosit, + explicaties) + VALUES (?ALLTRIM(acont), + ?LEFT(ALLTRIM(denumire),100), + ?ALLTRIM(cont), + 'P', + ?an, + 1, + 0, + 0, + 0, + ?LEFT(ALLTRIM(denumire),100)) + + ENDTEXT + + Select cPlan + Scan + llSucces = goExecutor.oExecuta(m.lcSql) + If !m.llSucces + Exit + Endif + Endscan + Endif + + If m.llSucces + Wait Window 'BALANTA ANALITICA...' Nowait + lcSql = [delete from balana where an = ] + Alltrim(Str(m.lnAnI)) + [ and luna = ] + Alltrim(Str(m.lnLunaI)) + llSucces = goExecutor.oExecuta(m.lcSql) + Endif + + If m.llSucces + lcSql = 'insert into balana (an, luna, cont, acont, precdeb1, preccred1, precdeb, preccred, ruldeb, rulcred) ' + ; + 'VALUES (?an, ?luna, ?ALLTRIM(cont), ?ALLTRIM(acont), ?precdeb1, ?preccred1, ?precdeb, ?preccred, ?ruldeb, ?rulcred)' + Select cBalana + Scan + llSucces = goExecutor.oExecuta(m.lcSql) + If !m.llSucces + Exit + Endif + Endscan + Endif + Endif && llSucces + + If m.llParteneriBalanta + Select Distinct Cont, Upper(denumire) As denumire, cod, cod_fiscal, reg_com, judet, adresa, tara ; + From cBalTemp2 ; + Where ['] + Alltrim(cont2) + ['] $ m.lcListaConturiBalP And !Empty(acont2) ; + Into Cursor cParteneriTemp && nomenclator parteneri + + Select Distinct Cast(Null As I) As id_part, cod, denumire, Padr(Nvl(cod_fiscal, cod), 20, ' ') As cod_fiscal, reg_com, adresa As localitate ; + From cParteneriTemp ; + Into Cursor cParteneri Readwrite + Use In (Select('cParteneriTemp')) + + + If m.llSucces + Wait Window 'PARTENERI...' Nowait + llSucces = CompleteazaParteneriROA('cParteneri') + If m.llSucces + Select cParteneri + Scan + Scatter Name loPart + Update cBalTemp2 Set id_part = loPart.id_part Where cod_fiscal = loPart.cod_fiscal Or denumire = loPart.denumire + Endscan + Endif + Endif + + * Sterg analiticele partenerilor din balanta analitica + ** Balante Parteneri pentru conturile analitice din balanta de verificare + Select lnAnI As an, lnLunaI As luna, b.cont2 As Cont, Iif(m.llStergAnalitic, Space(4), b.acont2) As acont, b.denumire, b.cod_fiscal, b.id_part, 0 As id_valuta, ; + Sum(b.precdeb1) As precdeb1, Sum(b.preccred1) As preccred1, Sum(b.precdeb) As precdeb, Sum(b.preccred) As preccred, ; + Sum(b.ruldeb) As ruldeb, Sum(b.rulcred) As rulcred, Sum(b.totdeb) As totdeb, Sum(b.totcred) As totcred, ; + Sum(b.solddeb) As solddeb, Sum(b.soldcred) As soldcred ; + From cBalTemp2 b ; + Where ['] + Alltrim(b.cont2) + ['] $ m.lcListaConturiBalP And !Empty(acont2) ; + Group By 1, 2, 3, 4, 5, 6, 7, 8 ; + Order By 1, 2, 3, 4, 5, 6, 7, 8 ; + Into Cursor cBalP + + If m.llSucces + Wait Window 'BALANTA PARTENERI, INREGISTRARI PARTENERI...' Nowait + + lcSqlBalP = 'insert into balanta_parteneri (an, luna, cont, acont, id_part, id_valuta, precdeb1, preccred1, precdeb, preccred, debit, credit) ' + ; + 'VALUES (?an, ?luna, ?ALLTRIM(cont), ?ALLTRIM(acont), ?id_part, ?id_valuta, ?precdeb1, ?preccred1, ?precdeb, ?preccred, ?ruldeb, ?rulcred)' + + lcSqlId = [SELECT SEQ_IdFact.NEXTVAL as id_fact FROM DUAL] + + TEXT To lcSqlIregP Textmerge Noshow + INSERT INTO IREG_PARTENERI (an, luna, cont, acont, id_fact, id_part, id_fdoc, nract, dataact, dataireg, datascad, debit, credit) + VALUES (?an, ?luna, ?ALLTRIM(Cont), ?ALLTRIM(acont), ?m.pnIdFact, ?id_part, ?pnIdFdoc, ?pnNract, ?pdDataact, ?pdDataIreg, ?pdDatascad, ?totdeb, ?totcred) + ENDTEXT + + Select Distinct Cont From cBalP Into Cursor cConturiBalP + Select cConturiBalP + Scan + lcCont = Alltrim(Cont) + TEXT To lcSqlDel Noshow Textmerge + begin + delete from balanta_parteneri where an = <> and luna = <> and cont = '<>'; + delete from ireg_parteneri where an = <> and luna = <> and cont = '<>'; + end; + ENDTEXT + + llSucces = goExecutor.oExecuta(m.lcSqlDel) + + If m.llSucces + Select cBalP + Scan For Cont = m.lcCont + * Balanta Parteneri + llSucces = goExecutor.oExecuta(m.lcSqlBalP) + If !m.llSucces + Exit + Endif + + * Inregistrari Parteneri + pnIdFact = 0 + llSucces = goExecutor.oSelecteaza2Value(lcSqlId, @pnIdFact) + If !m.llSucces + Exit + Endif + Select cBalP + pnNrAct = 1 + pdDataAct = Gomonth(Date(an, luna, 1), 1) - 1 + pdDataIreg = m.pdDataAct + pdDataScad = pdDataAct + pnIdFdoc = 69 && SOLD + llSucces = goExecutor.oExecuta(m.lcSqlIregP) + If !m.llSucces + Exit + Endif + Endscan + Endif + If !m.llSucces + Exit + Endif + Endscan && cConturiBalP + Endif && llSucces + Endif && llParteneriBalanta + + llSucces = goConn.EndManualTransaction(m.llSucces) + AMessagebox('Import incheiat ' + Iif(m.llSucces, 'CU', 'FARA') + ' SUCCESS', 0 + 64, _Screen.Caption) + + Return m.llSucces + + + TEXT To lcBalantaP2IregP Noshow + insert into ireg_parteneri (precdeb,preccred, debit, credit, precvaldeb, precvalcred, valdebit, valcredit, + id_part, cont, acont, an, luna, id_valuta, id_sucursala, + id_fdoc, dataact, datascad, dataireg, nract, explicatia, id_fact, id_jtva_coloana) + select precdeb,preccred, debit, credit, precvaldeb, precvalcred, valdebit, valcredit, + id_part, cont, acont, an, luna, id_valuta, id_sucursala, + 42 as id_fdoc, to_date('30112017', 'ddmmyyyy') as dataact, to_date('30112017', 'ddmmyyyy') as datascad, to_date('30112017', 'ddmmyyyy') as dataireg, + 1 as nract, 'INITIALIZARE SOLD' AS explicatia, seq_idfact.nextval as id_fact, 0 as id_jtva_coloana + from + (select id_part, cont, acont, an, luna, id_valuta, id_sucursala, sum(precdeb) as precdeb, sum(preccred)as preccred, sum(debit) as debit, sum(credit) as credit , sum(precvaldeb) as precvaldeb, sum(precvalcred) as precvalcred, sum(valdebit) as valdebit , sum(valcredit) as valcredit + from + (select id_part, cont, acont, an, luna, id_valuta, id_sucursala, precdeb, preccred, debit, credit, precvaldeb, precvalcred, valdebit, valcredit + FROM balanta_parteneri + where AN = 2018 and luna = 3 and cont not in ('5124','5121') + union all + select id_part, cont, acont, an, luna, id_valuta, id_sucursala, -precdeb, -preccred, -debit, -credit, -precvaldeb, -precvalcred, -valdebit, -valcredit + from ireg_parteneri + where AN = 2018 and luna = 3 AND CONT IN ('401', '4111')) + group by id_part, cont, acont, an, luna, id_valuta, id_sucursala); + + + + ENDTEXT + + TEXT To lcIregP2BalantaP Noshow + insert into balanta_parteneri (id_part, cont, acont, an, luna, id_valuta, id_sucursala, precdeb,preccred, debit, credit, precvaldeb, precvalcred, valdebit, valcredit) + select id_part, cont, acont, an, luna, id_valuta, id_sucursala, sum(precdeb) as precdeb, sum(preccred) as preccred, sum(debit) as debit, sum(credit) as credit , sum(precvaldeb) as precvaldeb, sum(precvalcred) as precvalcred, sum(valdebit) as valdebit , sum(valcredit) as valcredit + FROM ireg_parteneri + where AN = 2019 and luna = 3 and cont in ('401','4111') + group by id_part, cont, acont, an, luna, id_valuta, id_sucursala + ENDTEXT + + ENDPROC + + PROCEDURE initfacturi + * Initializeaza direct ireg_parteneri si jc2007, jv2007 din facturi.xlsx + + ********************************************* + *** Sterg inregistrarile din Jurnalele TVA + ********************************************* + Local lcSql, llSucces, lnAchitat, lnAchitatVal, lnFacturat, lnFacturatVal, lnTVA, lnTotVal + Local lnTotctva, lnValoare, loFact + PRIVATE pcAcont, pcCont, pcSerieAct, pdDataAct, pdDataIreg, pdDataScad, pnAn, pnCredit, pnDebit + PRIVATE pnIdFact, pnIdFdoc, pnIdPart, pnIdValuta, pnLuna, pnNrAct, pnTotCtva, pnTotftvatax + PRIVATE pnTottvatax, pnValCredit, pnValDebit, pnro19nb, pnro19nt, pnro20nb, pnro20nt, pnro24nb + PRIVATE pnro24nt, pnro5nb, pnro5nt, pnro9nb, pnro9nt + + TEXT TO lcSql TEXTMERGE noshow + BEGIN + DELETE FROM JC2007 WHERE an = ?pnAnI and luna = ?pnLunaI; + DELETE FROM JV2007 WHERE an = ?pnAnI and luna = ?pnLunaI; + END; + ENDTEXT + llSucces = goExecutor.oExecuta(m.lcSql) + If !m.llSucces + Use In (Select('cFacturiTemp')) + Return m.llSucces + Endif + + SET STEP ON + Select cFacturiTemp + Scan + Scatter Name loFact + pnAn = an + pnLuna = luna + pcCont = Alltrim(Cont) + pcAcont = Alltrim(acont) + pnIdFact = id_fact + pnIdPart = id_part + pnIdValuta = id_valuta + pcSerieAct = Alltrim(Nvl(serie_act, '')) + pnNrAct = nract + pdDataAct = Dataact + pdDataIreg = Dataact + pdDataScad = datascad + lnValoare = valoare + lnTotVal = totval + lnTVA = tva + lnFacturat = facturat + lnAchitat = achitat + lnFacturatVal = facturatval + lnAchitatVal = achitatval + lnTotVal = totval + If m.lnFacturat <> 0 Or m.lnFacturatVal <> 0 + lnTotctva = m.lnFacturat + * Daca sunt completate facturat/achitat + If Inlist(m.pcCont, '401', '404', '462', '419', '408', '4551','455') + pnDebit = m.lnAchitat + pnValDebit = m.lnAchitatVal + pnCredit = m.lnFacturat + pnValCredit = m.lnFacturatVal + Else + pnDebit = m.lnFacturat + pnValDebit = m.lnFacturatVal + pnCredit = m.lnAchitat + pnValCredit = m.lnAchitatVal + Endif + Else + lnTotctva = m.lnValoare + * Daca este completat doar soldul + If Inlist(m.pcCont, '401', '404', '462', '419', '408') + pnDebit = 0 + pnValDebit = 0 + pnCredit = m.lnValoare + pnValCredit = m.lnTotVal + Else + pnDebit = m.lnValoare + pnValDebit = m.lnTotVal + pnCredit = 0 + pnValCredit = 0 + Endif + Endif + pnIdFdoc = 42 && FACTURA + pnTotCtva = Iif(m.lnTotctva <> 0, m.lnTotctva, baza24 + tva24 + baza20 + tva20 + baza19 + tva19 + baza09 + tva09 + baza05 + tva05) + pnTottvatax = tva24 + tva20 + tva19 + tva09 + tva05 + pnTotftvatax = m.pnTotCtva - m.pnTottvatax + pnro24nb = baza24 + pnro24nt = tva24 + pnro20nb = baza20 + pnro20nt = tva20 + pnro19nb = baza19 + pnro19nt = tva19 + pnro9nb = baza09 + pnro9nt = tva09 + pnro5nb = baza05 + pnro5nt = tva05 + + If m.lnValoare <> 0 + TEXT TO lcSql TEXTMERGE NOSHOW + MERGE INTO IREG_PARTENERI A USING (SELECT <> as an, <> as luna, '<>' as cont, <> as id_fact from dual) B ON (A.ID_FACT = B.ID_FACT AND A.AN = B.AN AND A.LUNA = B.LUNA AND A.CONT = B.CONT) + WHEN NOT MATCHED THEN + INSERT (an, luna, cont, id_fact, id_part, id_fdoc, nract, dataact, dataireg, datascad, debit, credit) VALUES (?pnAn, ?pnLuna, ?pcCont, ?pnIdFact, ?pnIdPart, ?pnIdFdoc, ?pnNract, ?pdDataact, ?pdDataIreg, ?pdDatascad, ?pnDebit, ?pnCredit) + WHEN MATCHED THEN + UPDATE SET debit = ?pnDebit, credit = ?pnCredit + ENDTEXT + llSucces = goExecutor.oExecuta(m.lcSql) + If !m.llSucces + Exit + Endif + Endif && m.lnValoare <> 0 + + If m.lnTVA <> 0 + + TEXT TO lcSql TEXTMERGE NOSHOW + MERGE INTO <> A + USING DUAL B ON (A.AN = ?pnAn and A.LUNA = ?pnLuna and A.ID_FACT = ?pnIdFact) + WHEN NOT MATCHED THEN + insert (an, luna, id_fact, id_part, nract, serie_act, dataact, dataireg, id_fdoc, totctva, tottvatax, totftvatax, ro24nb, ro24nt, ro20nb, ro20nt, ro19nb, ro19nt, ro9nb, ro9nt, ro5nb, ro5nt) + values (?pnAn, ?pnLuna, ?pnIdFact, ?pnIdPart, ?pnNract, ?pcSerieAct, ?pdDataact, ?pdDataIreg, ?pnIdFdoc, ?pnTotctva, ?pnTottvatax, ?pnTotftvatax, ?pnro24nb, ?pnro24nt, ?pnro20nb, ?pnro20nt, ?pnro19nb, ?pnro19nt, ?pnro9nb, ?pnro9nt, ?pnro5nb, ?pnro5nt) + WHEN MATCHED THEN + UPDATE SET totctva = ?pnTotctva, tottvatax = ?pnTottvatax, totftvatax = ?pnTotftvatax, ro24nb = ?pnRo24nb, ro24nt = ?pnRo24nt, + ro20nb = ?pnRo20nb, ro20nt = ?pnRo20nt, ro19nb = ?pnRo19nb, ro19nt = ?pnRo19nt, ro9nb = ?pnRo9nb, ro9nt = ?pnRo9nt, ro5nb = ?pnRo5nb, ro5nt = ?pnRO5nt + ENDTEXT + + llSucces = goExecutor.oExecuta(m.lcSql) + If !m.llSucces + Exit + Endif + Endif && m.lnTVA <> 0 + Endscan && cFacturiTemp + + * insert into ACT, DOCUMENTE INREGISTRARI DIN JURNALE TVA, NECESARE PENTRU EXIGIBILIZARE TVA INCASARE + TEXT TO lcSql TEXTMERGE noshow + BEGIN + + DELETE FROM ACT WHERE an = ?pnAnI and luna = ?pnLunaI AND id_util = -4; + DELETE FROM DOCUMENTE WHERE id_util = -4; + + INSERT INTO ACT + (AN, + LUNA, + ID_SUCURSALA, + SUMA, + EXPLICATIA, + SCD, + ASCD, + SCC, + ASCC, + PROC_TVA, + ID_JTVA_COLOANA, + ID_FACT, + DATAACT, + DATAIREG, + ID_FDOC, + NRACT, + ID_UTIL, + DATAORA) + select an, + luna, + id_sucursala, + 0 as suma, + 'NOTE PENTRU EXIGIBILIZARE TVA INCASARE' AS EXPLICATIA, + '4428' as scd, + '' as ascd, + '401' as scc, + '' as ascc, + case + when ro24nt <> 0 then + 1.24 + when ro20nt <> 0 then + 1.20 + when ro19nt <> 0 then + 1.19 + when ro9nt <> 0 then + 1.09 + when ro5nt <> 0 then + 1.05 + else + 1.20 + end as proc_tva, + case + when ro24nt <> 0 then + 171 + when ro20nt <> 0 then + 179 + when ro19nt <> 0 then + 189 + when ro9nt <> 0 then + 173 + when ro5nt <> 0 then + 175 + else + 179 + end as id_jtva_coloana, + id_fact, + dataact, + dataact as dataireg, + id_fdoc, + nract, + -4 as id_util, + sysdate as dataora + from jc2007 + where an = ?pnAnI + and luna = ?pnLunaI; + + INSERT INTO ACT + (AN, + LUNA, + ID_SUCURSALA, + SUMA, + EXPLICATIA, + SCD, + ASCD, + SCC, + ASCC, + PROC_TVA, + ID_JTVA_COLOANA, + ID_FACT, + DATAACT, + DATAIREG, + ID_FDOC, + NRACT, + ID_UTIL, + DATAORA) + select an, + luna, + id_sucursala, + 0 as suma, + 'NOTE PENTRU EXIGIBILIZARE TVA INCASARE' AS EXPLICATIA, + '4111' as scd, + '' as ascd, + '4428' as scc, + '' as ascc, + case + when ro24nt <> 0 then + 1.24 + when ro20nt <> 0 then + 1.20 + when ro19nt <> 0 then + 1.19 + when ro9nt <> 0 then + 1.09 + when ro5nt <> 0 then + 1.05 + else + 1.20 + end as proc_tva, + case + when ro24nt <> 0 then + 22 + when ro20nt <> 0 then + 30 + when ro19nt <> 0 then + 32 + when ro9nt <> 0 then + 24 + when ro5nt <> 0 then + 26 + else + 30 + end as id_jtva_coloana, + id_fact, + dataact, + dataact as dataireg, + id_fdoc, + nract, + -4 as id_util, + sysdate as dataora + from jv2007 + where an = ?pnAnI + and luna = ?pnLunaI; + + insert into documente (id_doc, dataora, id_util, nract, dataact) + select id_fact as id_doc,sysdate, -4 as id_util, nract, dataact + from jc2007 + where an = ?pnAnI + and luna = ?pnLunaI and id_fact not in (select id_doc from documente); + + + insert into documente + (id_doc, dataora, id_util, nract, dataact) + select id_fact as id_doc, sysdate, -4 as id_util, nract, dataact + from jv2007 + where an = ?pnAnI + and luna = ?pnLunaI and id_fact not in (select id_doc from documente); + END; + ENDTEXT + + If m.llSucces + llSucces = goExecutor.oExecuta(m.lcSql) + Endif + + * Creez balanta parteneri din ireg_parteneri + If m.llSucces And AMessagebox('Se regenereaza balanta de parteneri dupa facturi?' + Chr(13) + 'Atentie! Se sterg balantele de parteneri pentru toate conturile!', 4 + 32, _Screen.Caption) = 6 + + TEXT TO lcSql TEXTMERGE noshow + BEGIN + delete from balanta_parteneri where AN = ?pnAnI and luna = ?pnLunaI; + insert into balanta_parteneri + (precdeb, preccred, debit, credit, precvaldeb, precvalcred, valdebit, valcredit, id_part, cont, acont, an, luna, id_valuta, id_sucursala) + select + sum(precdeb) as precdeb, sum(preccred)as preccred, sum(debit) as debit, sum(credit) as credit , sum(precvaldeb) as precvaldeb, sum(precvalcred) as precvalcred, sum(valdebit) as valdebit , sum(valcredit) as valcredit, id_part, cont, acont, an, luna, id_valuta, id_sucursala + from ireg_parteneri + where AN = ?pnAnI and luna = ?pnLunaI + group by id_part, cont, acont, an, luna, id_valuta, id_sucursala; + END; + ENDTEXT + + llSucces = goExecutor.oExecuta(m.lcSql) + + Endif && messagebox + + Return m.llSucces + ENDPROC + + PROCEDURE modificanote + Private pnCod + Local loForm As [frm_modific2024] + Local llMaximize, llNotaNoua, lnIdSet, llSucces + Local lcSql, ldDataAct, llFurnizorTVAI, lnIdJtva, lnSucces, lnTaxCode + llSucces = .T. + update_jtva_coloane("", 'crsExplicatiiTVATemp', 6) + + lcSql = [SELECT * FROM vact WHERE 1=2] + llSucces = goExecutor.oExecuta(m.lcSql, 'actactan_temp') + If m.llSucces + Select actactan_temp + If Used('actactan') + Append From Dbf('actactan') + Endif + + Select .F. As ales, Iif(Empty(Nvl(a.id_jtva_coloana,0)), 0, 1) As Cu_tva, Cast(0 As N(2)) As tipnota, a.*, b.denumire As explicatie_tva_2 ; + From actactan_temp a Left Join crsExplicatiiTVATemp b On a.id_jtva_coloana = b.id_jtva_coloana ; + Into Cursor tact Readwrite + + Update tact Set explicatie_tva = explicatie_tva_2 + + Use In (Select('actactan_temp')) + + * Actualizez taxcode SAFT in functie de furnizori RTVAI + If m.gl406 + Select tact + Scan For !Empty(id_jtva_coloana) + lnIdJtva = id_jtva_coloana + ldDataAct = dataact + llFurnizorTVAI = .F. + lnTaxCode = GetTaxCode(m.gnAn, m.gnLuna, m.ldDataAct, m.lnIdJtva, m.llFurnizorTVAI) + Select tact + Replace taxcode With m.lnTaxCode + Endscan + + Update tact Set paymentcode = '42' Where Left(scd,3) = '512' Or Left(scc,3) = '512' && plata in contul bancar + Update tact Set paymentcode = '10' Where scd = '5311' && plata numerar + + * completez taxcode plati buget salarii, impozit venit/profit, tva de plata + UPDATE tact SET taxcode = 412000 WHERE scd = '4315' or scc = '4315' + UPDATE tact SET taxcode = 432000 WHERE scd = '4316' or scc = '4316' + UPDATE tact SET taxcode = 480000 WHERE scd = '436' or scc = '436' + UPDATE tact SET taxcode = 602000 WHERE scd = '444' or scc = '444' + UPDATE tact SET taxcode = 301000 WHERE scd = '4423' or scc = '4423' + UPDATE tact SET taxcode = 100000 WHERE scd = '4411' or scc = '4411' + UPDATE tact SET taxcode = 120000 WHERE scd = '4418' or scc = '4418' + Endif && gl406 + Endif && llSucces + + update_jtva_coloane("", "crsJtvaTemp", 1) + + IF m.llSucces + * Creez cursoare trul, trul_obinv + lcSql = [select * from vrul_tot where 1=2] + lcCursor = [v_rul] + + llSucces = goExecutor.oExecuta(lcSql,lcCursor) + + If m.llSucces + Select *, ; + valoare + valtva As valoarectva, ; + valoarev + valtvav As valoarevctva ; + From v_rul ; + Into Cursor trul READWRITE + + Use In (SELECT('v_rul')) + + lcSql = [select * from vrul_obinv_tot where 1=2] + lcCursor = [v_rul_obinv] + + llSucces = goExecutor.oExecuta(lcSql,lcCursor) + Endif + + If m.llSucces + Select *, ; + valoare + valtva As valoarectva, ; + valoarev + valtvav As valoarevctva ; + From v_rul_obinv ; + Into Cursor trul_obinv READWRITE + + Use In (SELECT('v_rul_obinv')) + Endif + ENDIF + + Use In (Select('crsExplicatiiTVATemp')) + IF m.llSucces + lnIdSet = 90024 + Select tact + Go Top + llNotaNoua = .T. + llMaximize = .T. + loForm = Createobject([frm_modific2024], m.lnIdSet, m.llNotaNoua) + loForm.lb_titlu_alb_b121.Caption = 'Initializare solduri' + Select tact + loForm.Show(1, m.llMaximize) + llSucces = (buton = 1) + ENDIF + + If m.llSucces + Use In (Select('actactan')) + + Select tact + Replace id_jtva_coloana With Null, PROC_TVA With 0 For Cu_tva = 0 + + Select * From tact Into Cursor actactan Readwrite + + lcSql = [SELECT seq_cod.nextval FROM dual] + Select Distinct id_fact From actactan Into Cursor cIdFact + Select cIdFact + Scan + Wait Window 'Generez cod pentru factura ' + Transform(Recno()) + '/' + Transform(Reccount()) Nowait + pnCod = 0 + llSucces = goExecutor.oSelecteaza2Value(m.lcSql, @pnCod) + If m.llSucces + Update actactan Set cod = m.pnCod Where id_fact = cIdFact.id_fact + Endif + Endscan + Use In (Select('cIdFact')) + + Select actactan + lnSucces = OSCRIE_IN_FISIERE(0, .F., .F., .T.) + llSucces = (m.lnSucces = 1) + Endif && buton = 1 + + + Use In (Select('tAct')) + Use In (Select('actactan')) + Use In (Select('trul')) + Use In (Select('rul_temp')) + Use In (Select('trul_obinv')) + Use In (Select('rul_temp_obinv')) + USE IN (SELECT('crsJtvaTemp')) + + + Return m.llSucces + + ENDPROC + + PROCEDURE prelucreazafisierebreeze + ENDPROC + + PROCEDURE refreshcontrols + Local lnOptiune + lnOptiune = This.optInit.Value + If m.lnOptiune = 1 + This.cmdNoteFacturiBalanta.Enabled = .T. + This.chkModificaNote.Enabled = .T. + This.cmdStergeNote.Enabled = .T. + + This.cmdNoteFacturiBalanta.visible = .T. + This.chkModificaNote.visible = .T. + This.cmdStergeNote.visible = .T. + + ****** + + This.chkParteneriBalantaVerificare.Enabled = .F. + This.cmdInitBalanta.Enabled = .F. + This.cmdInitFacturi.Enabled = .F. + + This.chkParteneriBalantaVerificare.visible = .F. + This.cmdInitBalanta.visible = .F. + This.cmdInitFacturi.visible = .F. + + Else + This.cmdNoteFacturiBalanta.Enabled = .F. + This.chkModificaNote.Enabled = .F. + This.cmdStergeNote.Enabled = .F. + + This.cmdNoteFacturiBalanta.visible = .F. + This.chkModificaNote.visible = .F. + This.cmdStergeNote.visible = .F. + + ****** + + This.chkParteneriBalantaVerificare.Enabled = .T. + This.cmdInitBalanta.Enabled = .T. + This.cmdInitFacturi.Enabled = .T. + + This.chkParteneriBalantaVerificare.visible = .T. + This.cmdInitBalanta.visible = .T. + This.cmdInitFacturi.visible = .T. + Endif + ENDPROC + + PROCEDURE scrienote + Local lcMesaj, lcSql, lnHandle, lnSucces, lnSucces2 + Private gnAn, gnIdSucursala, gnIdUtil, gnLuna + lnSucces = SQLSetprop(m.lnHandle, "Transactions", 2) + llSucces = (m.lnSucces > 0) + if m.llSucces + && Creez note pentru fiecare luna/an + Select Distinct an, luna From actactan Order By an, luna Into Cursor cAnLuna + Select cAnLuna + Scan + *gnAn = an + *gnLuna = luna + *gnIdUtil = - 3 + *gnIdSucursala = Null + + if m.llSucces + lcSql = [begin pack_contafin.init_scriere_act_rul_local(?gnIdUtil,?gnAn,?gnLuna, 1,0,?gnIdSucursala); end;] + llSucces = goExecutor.oExecuta(m.lcSql) + Endif + + if m.llSucces + SELECT * FROM actactan WHERE an = m.gnAn AND luna = m.gnLuna INTO CURSOR cAct NOFILTER + llSucces = This.sql_temp_insert('cAct', 'ACT_TEMP') + USE IN (SELECT('cAct')) + Endif + + if m.llSucces + Private pcMesajRefacereNota + pcMesajRefacereNota = "" + lcSql = [begin pack_contafin.final_scriere_act_rul_local(?gnIdUtil, ?gnAn, ?gnLuna, NULL, 0, 1, ?@pcMesajRefacereNota); end;] + llSucces = goExecutor.oExecuta(m.lcSql) + If !Empty(Nvl(pcMesajRefacereNota, '')) + This.trace(m.pcMesajRefacereNota) + *AMESSAGEBOX(m.pcMesajRefacereNota, 0 + 48, 'Atentie') + Endif + Release pcMesajRefacereNota + ELSE + lcMesaj = goExecutor.cEroare + This.Trace(m.lcMesaj) + *AMESSAGEBOX(m.lcMesaj,0+48, _screen.Caption ) + EXIT + ENDIF && lnSucces + Endscan && cAnLuna + + Use In (Select('cAnLuna')) + + if m.llSucces + llSucces2 = goExecutor.oExecuta('COMMIT') + llSucces = m.llSucces2 + Else + llSucces2 = goExecutor.oExecuta('ROLLBACK') + Endif + + If !m.llSucces2 + This.trace(goExecutor.cEroare) + *AMESSAGEBOX(lcSql + Chr(13) + goExecutor.cEroare, 0 + 16, "Eroare") + ELSE + This.trace('Import realizat cu succes!') + Endif + + lnSucces3 = SQLSetprop(m.lnHandle, "Transactions", 1) + + If m.lnSucces3 <> 1 + lcMesaj = 'Programul nu a reusit sa treaca pe tranzactie automata. Iesiti din program si intrati din nou!' + This.trace(m.lcMesaj) + AMESSAGEBOX(m.lcMesaj, 0 + 48, 'Atentie!') + llSucces = .F. + Endif + Endif && llSucces + + Return m.llSucces + + ENDPROC + + PROCEDURE sql_temp_insert + Lparameters tcAlias, tcTableName + + Local lcAlias, lcCursor, llSucces + Local lcDate, lcFieldName, lcFieldType, lcFieldValue, lcFields, lcInsert, lcMesaj, lcNumber, lcSql + Local lcString, lcTableName, lcValues, lnCount + Local lnField + + Private poIreg, pcTableName + Local lcVariable + + If Empty(tcAlias) + lcAlias = 'ACTACTAN' + Else + lcAlias = Upper(Alltrim(tcAlias)) + Endif + If Empty(tcTableName) + pcTableName = 'ACT_TEMP' + Else + pcTableName = Upper(Alltrim(tcTableName)) + Endif + + lcCursor = 'crs_Coloane' + lcSql = [SELECT COLUMN_NAME AS COLOANA from user_tab_columns WHERE table_name = ?pcTableName] + llSucces = goExecutor.oExecuta(m.lcSql, m.lcCursor) + If !m.llSucces + lcMesaj = 'Eroare la selectare coloane din ' + m.lcTableName + Chr(13) + goExecutor.cEroare + This.trace(m.lcMesaj) + *AMESSAGEBOX(m.lcMesaj, 0 + 16, 'Eroare') + Endif + + If m.llSucces + Select (lcAlias) + lnCount = Fcount() + lcFields = [] + lcValues = [] + lcInsert = [] + For lnField = 1 To lnCount + Select (lcAlias) + lcFieldName = Upper(Alltrim(Field(lnField))) + lcFieldType = Type(lcFieldName) + lcFieldValue = Evaluate(lcFieldName) + If lcFieldType = 'C' + lcVariable = '?ALLTRIM(poIreg.' + lcFieldName + ')' + Else + lcVariable = '?poIreg.' + lcFieldName + Endif + + Select CRS_COLOANE + Locate For Upper(Alltrim(COLOANA)) == lcFieldName + If !Found() + Loop + Endif + lcFields = lcFields + [,] + lcFieldName + lcValues = lcValues + [,] + lcVariable + Endfor + + lcFields = Substr(lcFields, 2) + lcValues = Substr(lcValues, 2) + + && INSERT INTO ACT_TEMP + lcInsert = [INSERT INTO ] + m.pcTableName + [ (] + m.lcFields + [) VALUES (] + m.lcValues + [)] + + Select (lcAlias) + Scan + Scatter Name poIreg + IF MOD(RECNO(), 100) = 0 + This.trace(' Inregistrare ' + TRANSFORM(RECNO()) + ' / ' + TRANSFORM(RECCOUNT()) + ' ...') + ENDIF + && FAC NULL ID-URILE CU VALOARE 0 + If TYPE('poReg.id_sucursala') = 'N' AND poIreg.id_sucursala = 0 + poIreg.id_sucursala = Null + Endif + + llSucces = goExecutor.oExecuta(m.lcInsert) + If lnSucces <> 1 + This.trace(goExecutor.cEroare) + *AMESSAGEBOX(goExecutor.cEroare, 0 + 16, 'Eroare') + Exit + Endif + + Endscan + Endif + + Use In (Select('crs_coloane')) + + Return m.llSucces + + ENDPROC + + PROCEDURE sql_temp_insert_values + * daca se doreste insert into act_temp cu valori in loc de ? + * trebuie decomentata sectiunea cu valori + Lparameters tcAlias, tcTableName + + Local lcAlias, lcCursor, llSucces + Local lcDate, lcFieldName, lcFieldType, lcFieldValue, lcFields, lcInsert, lcMesaj, lcNumber, lcSql + Local lcString, lcTableName, lcValues, lnCount + Local lnField + + Private poIreg, pcTableName + Local lcVariable + + If Empty(tcAlias) + lcAlias = 'ACTACTAN' + Else + lcAlias = Upper(Alltrim(tcAlias)) + Endif + If Empty(tcTableName) + pcTableName = 'ACT_TEMP' + Else + pcTableName = Upper(Alltrim(tcTableName)) + Endif + + lcCursor = 'crs_Coloane' + lcSql = [SELECT COLUMN_NAME AS COLOANA from user_tab_columns WHERE table_name = ?pcTableName] + llSucces = goExecutor.oExecuta(m.lcSql, m.lcCursor) + If !m.llSucces + lcMesaj = 'Eroare la selectare coloane din ' + m.pcTableName + Chr(13) + goExecutor.cEroare + This.trace(m.lcMesaj) + *AMESSAGEBOX(m.lcMesaj, 0 + 16, 'Eroare') + Endif + + If m.llSucces + Select (lcAlias) + lnCount = Fcount() + Scan + lcFields = [] + lcValues = [] + lcInsert = [] + Scatter Name poIreg + + For lnField = 1 To lnCount + Select (lcAlias) + lcFieldName = Upper(Alltrim(Field(lnField))) + lcFieldType = Type(lcFieldName) + lcFieldValue = Evaluate(lcFieldName) + If lcFieldType = 'C' + lcVariable = '?ALLTRIM(poIreg.' + lcFieldName + ')' + Else + lcVariable = '?poIreg.' + lcFieldName + Endif + + Select CRS_COLOANE + Locate For Upper(Alltrim(COLOANA)) == lcFieldName + If !Found() + Loop + Endif + lcFields = lcFields + [,] + lcFieldName + lcNumber = '0' + lcDate = '' + lcString = '' + + && FAC NULL ID-URILE CU VALOARE 0 + If Inlist(lcFieldName, 'ID_SUCURSALA') + If poIreg.id_sucursala = 0 + poIreg.id_sucursala = Null + Endif + Endif + lcValues = lcValues + [,] + lcVariable + + *!* DO CASE + *!* CASE lcFieldType = 'N' + *!* IF EMPTY(lcFieldValue) OR ISNULL(lcFieldValue) + *!* lcNumber = '0' + *!* ELSE + *!* lcNumber = ALLTRIM(STR(lcFieldValue,24,4)) + *!* ENDIF + + *!* lcValues = lcValues + [,] + lcNumber + *!* CASE lcFieldType = 'C' + *!* IF EMPTY(lcFieldValue) OR ISNULL(lcFieldValue) + *!* lcString = '' + *!* ELSE + *!* lcString = ALLTRIM(lcFieldValue) + *!* ENDIF + + *!* lcValues = lcValues + [,] + ['] + lcString + ['] + *!* CASE INLIST(lcFieldType,'D','T') + *!* IF EMPTY(lcFieldValue) OR ISNULL(lcFieldValue) + *!* lcDate = '' + *!* ELSE + *!* lcDate = DTOS(lcFieldValue) + *!* ENDIF + *!* lcValues = lcValues + [,] + [TO_DATE('] + lcDate + [','YYYY-MM-DD')] + *!* ENDCASE + + Endfor + + lcFields = Substr(lcFields, 2) + lcValues = Substr(lcValues, 2) + + && INSERT INTO ACT_TEMP + lcInsert = [INSERT INTO ] + m.pcTableName + [ (] + lcFields + [) VALUES (] + lcValues + [)] + llSucces = goExecutor.oExecuta(m.lcInsert) + If !m.llSucces + This.Trace(goExecutor.cEroare) + *AMESSAGEBOX(goExecutor.cEroare, 0 + 16, 'Eroare') + Exit + Endif + + Endscan + Endif + + Use In (SELECT('crs_coloane')) + + Return m.llSucces + + + + ENDPROC + + PROCEDURE sterge_import + Local lcCursor, lcMesaj, lcSql, llContinuare, lnDocumente, lnPercent, lnSucces + PRIVATE pnCod + llContinuare = .F. + lcSql = [select distinct cod from act where an=?gnAn and Luna=?gnLuna and id_set=90024 and sters=0] + lcCursor = [cCoduri] + llSucces = goExecutor.oExecuta(m.lcSql, m.lcCursor) + If m.llSucces + Select(m.lcCursor) + lnDocumente = Reccount() + If m.lnDocumente > 0 + llContinuare = (AMessagebox('Doriti sa stergeti ' + Alltrim(Str(m.lnDocumente)) + ' document(e), tip operatie 90024, din luna ' + Padl(m.gnLuna, 2, '0') + '/' + Alltrim(Str(m.gnAn)) + '?', 4 + 32, _Screen.Caption) = 6) + Else + AMessagebox('Nu sunt inregistrari in luna ' + Padl(m.gnLuna, 2, '0') + '/' + Alltrim(Str(m.gnAn)), 0 + 64, _Screen.Caption) + llContinuare = .F. + Endif + Else + * AMessagebox(goExector.cEroare, 0 + 48, _Screen.Caption ) + This.Trace(goExecutor.cEroare) + llContinuare = .F. + Endif + + If !m.llContinuare + Use In (Select(m.lcCursor)) + RETURN m.llSucces + Endif + + lnSucces = SQLSetprop(m.gnhandle, "Transactions", 2) + llSucces = (m.lnSucces>0) + If m.llSucces + lcSql = [begin pack_contafin.init_scriere_act_rul_local(?gnIdUtil,?gnAn,?gnLuna, 1,0,?gnIdSucursala); end;] + llSucces = goExecutor.oExecuta(lcSql) + If m.llSucces + Select cCoduri + Scan + pnCod = cod + If Mod(Recno(), 10) = 0 + lnPercent = Round(Recno() / Reccount() * 100, 0) + This.Trace('Stergere ' + Alltrim(Str(m.lnPercent)) + '%') + Endif + + + lcSql = [begin pack_contafin.sterge_document(?pnCod); end;] + lnSucces = goExecutor.oExecute(lcSql) + If lnSucces < 0 + This.Trace(goExecutor.cEroare) + Exit + Endif + Endscan + Else + This.Trace(goExecutor.cEroare) + Endif + Else + This.Trace(goExecutor.cEroare) + ENDIF && llSucces + + If !m.llSucces + goExecutor.oExecuta('ROLLBACK') + lcMesaj = 'Stergerea nu s-a efectuat!' + Else + goExecutor.oExecuta('COMMIT') + lcMesaj = 'Stergerea s-a efectuat cu succes' + Endif + + SQLSetprop(m.gnhandle, "Transactions", 1) + + This.Trace(m.lcMesaj) + AMessagebox(m.lcMesaj, 0 + 48, _Screen.Caption) + + RETURN m.llSucces + ENDPROC + + PROCEDURE templatexlsx + Local lcFile, lcXLSXTemplate + + lcXLSXTemplate = ADDBS(m.gcAppPath) + "include\init_facturi_balanta_note.xlsx" + IF !FILE(m.lcXLSXTemplate) + AMESSAGEBOX('Nu exista fisierul ' + m.lcXLSXTemplate + CHR(13) + CHR(10) + 'Sunati la suportul tehnic',0+48) + RETURN + ENDIF + + lcFile = PUTFILE('Salvati fisierul de initializare', 'init_facturi_balanta_note', 'xlsx') + + COPY FILE (m.lcXLSXTemplate) TO (m.lcFile) + + open_default_app(m.lcFile) + + AMESSAGEBOX('Se va deschide fisierul xlsx cu instructiuni si cateva randuri completate pentru exemplificare.' + CHR(13) + CHR(10) + ; + 'Completati fisierul, salvati-l si apoi importati-l',0+64,_screen.Caption) + + ENDPROC + + PROCEDURE todo + TEXT TO lcTodo noshow + 1. OK DE VERIFICAT configurare conturi analitice 4428, pentru notele de tva neexigibil + ori in facturi.xlsx, ori optiuni la import + 2. TOTAL SUME DEBITOARE/CREDITOARE PENTRU VENITURI SI CHELTUIELI PENTRU F20 BILANT + + ENDTEXT + ENDPROC + + PROCEDURE trace + LPARAMETERS tcMessage + + This.edtInfo.Value = This.edtInfo.Value + TRANSFORM(NVL(tcMessage,'')) + CHR(13) + CHR(10) + this.edtInfo.SelStart = LEN(this.edtInfo.Value) + This.edtInfo.Refresh() + ENDPROC + + PROCEDURE verificaimport + lcSql = [select COUNT(*) as nr from act where an=?m.gnAn and luna = ?gnLuna and id_set=90024 and sters=0] + + lcCursor = [cInregistrari] + lnSucces = goExecutor.oExecute(m.lcSql, m.lcCursor) + If m.lnSucces > 0 + Select(m.lcCursor) + lnInregistrari = Nvl(nr, 0) + ELSE + AMESSAGEBOX(goExecutor.cEroare) + This.Trace(goExecutor.cEroare) + lnInregistrari = 1 && ca sa nu mai continue importul + Endif + Use In (Select(m.lcCursor)) + + Return (m.lnInregistrari > 0) + + + ENDPROC + + PROCEDURE But_help1.Click + LOCAL lcInfo + TEXT TO lcInfo noshow + 1. Alegeti optiunea de import: + - Generare note in Registrul Jurnal pentru initializare facturi si balanta (RECOMANDAT) + - Initializare directa facturi si balanta + + + 2. Apasati pe butonul "Sablon xlsx". + Se deschide un fisier sablon tip "xlsx" cu date de exemplificare. + Completati in fisier datele de initializare si stergeti datele de exemplificare. + + 3. Apasati pe butonul "Importa balanta si facturi (note contabile)". + ENDTEXT + + AMESSAGEBOX(m.lcInfo) + ENDPROC + + PROCEDURE cmdInitBalanta.Click + llSucces = Thisform.InitBalanta() + + Thisform.Trace('Importul s-a incheiat!') + + + ENDPROC + + PROCEDURE cmdInitFacturi.Click + Local llSucces + llSucces = Thisform.ExportDate() + If m.llSucces + llSucces = Thisform.InitFacturi() + Endif + + Thisform.Trace('Importul s-a incheiat!') + + AMessagebox('Importul s-a incheiat!', 0 + 64, _Screen.Caption) + + ENDPROC + + PROCEDURE cmdNoteFacturiBalanta.Click + Local llSucces + llSucces = .T. + If Thisform.VerificaImport() + llSucces = (AMessagebox('Atentie! Exista deja documente importate (tip operatie 90024) in perioada selectata! Daca continuati, se vor duplica! Doriti sa continuati?', 4 + 32, _Screen.Caption) = 6) + Endif + + If m.llSucces + * import note din sursa externa (dbf, xls) + llSucces = Thisform.ExportDate() + + * creez act_temp + If m.llSucces + llSucces = Thisform.Creeazanote() + + * import act_temp + If used('actactan') + If Thisform.chkModificaNote.Value = 1 + llSucces = Thisform.ModificaNote() + Else + llSucces = Thisform.Scrienote() + ENDIF + + Thisform.Trace('Notele ' + IIF(m.llSucces, '', 'nu ') + 's-au scris in Registrul Jurnal') + + USE IN (SELECT('actactan')) + Endif + Endif + Endif + Thisform.Trace('Importul s-a incheiat!') + + AMessagebox('Importul s-a incheiat!',0+64,_Screen.Caption) + + ENDPROC + + PROCEDURE cmdStergeNote.Click + Thisform.sterge_import() + ENDPROC + + PROCEDURE cmdTemplate.Click + Thisform.templatexlsx() + ENDPROC + + PROCEDURE optInit.Valid + Thisform.RefreshControls() + ENDPROC + +ENDDEFINE diff --git a/ferestre/frm_list_balana.sc2 b/ferestre/frm_list_balana.sc2 new file mode 100644 index 0000000..b2c87ab --- /dev/null +++ b/ferestre/frm_list_balana.sc2 @@ -0,0 +1,106 @@ +*-------------------------------------------------------------------------------------------------------------------------------------------------------- +* (EN) AUTOGENERATED - ATTENTION!! - NOT INTENDED FOR EXECUTION!! USE ONLY FOR MERGING CHANGES AND STORING WITH SCM TOOLS!! +*-------------------------------------------------------------------------------------------------------------------------------------------------------- +*< FOXBIN2PRG: Version="1.21" SourceFile="frm_list_balana.scx" CPID="1252" /> (Solo para binarios VFP 9 / Only for VFP 9 binaries) +* +* +DEFINE CLASS dataenvironment AS dataenvironment + *< CLASSDATA: Baseclass="dataenvironment" Timestamp="" Scale="" Uniqueid="" ClassIcon="1" /> + + * + DataSource = .NULL. + Height = 0 + Left = 0 + Name = "Dataenvironment" + Top = 0 + Width = 0 + * + +ENDDEFINE + +DEFINE CLASS formtermin12 AS formtermin OF "..\clase\_frm_base.vcx" + *< CLASSDATA: Baseclass="form" Timestamp="" Scale="" Uniqueid="" /> + + *-- OBJECTDATA items order determines ZOrder / El orden de los items OBJECTDATA determina el ZOrder + *< OBJECTDATA: ObjPath="GRIDB1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="GRIDB1.Column2.Header1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="GRIDB1.Column2.Text1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="GRIDB1.Column2.Check1" UniqueID="" Timestamp="" /> + + * + BorderStyle = 1 + DataSession = 1 + DoCreate = .T. + Height = 310 + Name = "FORMTERMIN12" + Width = 195 + _shape1.Name = "_shape1" + _shape2.Name = "_shape2" + Lb_titlu_alb_b121.Caption = "Bifati conturile care nu se listeaza cu analitice" + Lb_titlu_alb_b121.ForeColor = 0,0,0 + Lb_titlu_alb_b121.Height = 38 + Lb_titlu_alb_b121.Left = 8 + Lb_titlu_alb_b121.Name = "Lb_titlu_alb_b121" + Lb_titlu_alb_b121.Top = 32 + Lb_titlu_alb_b121.Width = 176 + Lb_titlu_alb_b121.WordWrap = .T. + BUT_TERMIN1.Left = 165 + BUT_TERMIN1.Name = "BUT_TERMIN1" + BUT_TERMIN1.Top = 1 + GRIDSORT1.Name = "GRIDSORT1" + * + + ADD OBJECT 'GRIDB1' AS gridb WITH ; + ColumnCount = 2, ; + FontName = "Arial Narrow", ; + Height = 218, ; + Left = 10, ; + Name = "GRIDB1", ; + Panel = 1, ; + Top = 75, ; + Width = 169, ; + Column1.ControlSource = "cont", ; + Column1.FontName = "Arial Narrow", ; + Column1.Header1.Alignment = 2, ; + Column1.Header1.Caption = "Cont", ; + Column1.Header1.FontName = "Arial Narrow", ; + Column1.Header1.Name = "Header1", ; + Column1.Name = "Column1", ; + Column1.Text1.FontName = "Arial Narrow", ; + Column1.Text1.Name = "Text1", ; + Column1.Width = 76, ; + Column2.ControlSource = "bifa", ; + Column2.CurrentControl = "Check1", ; + Column2.FontName = "Arial Narrow", ; + Column2.Name = "Column2", ; + Column2.Sparse = .F., ; + Column2.Width = 62 + *< END OBJECT: ClassLib="..\clase\ferestre_cere_date.vcx" BaseClass="grid" /> + + ADD OBJECT 'GRIDB1.Column2.Check1' AS checkbox WITH ; + Alignment = 0, ; + Caption = "", ; + Height = 17, ; + Left = 22, ; + Name = "Check1", ; + SpecialEffect = 1, ; + Top = 30, ; + Width = 60 + *< END OBJECT: BaseClass="checkbox" /> + + ADD OBJECT 'GRIDB1.Column2.Header1' AS header WITH ; + Caption = "Nu se listeaza", ; + FontName = "Arial Narrow", ; + Name = "Header1" + *< END OBJECT: BaseClass="header" /> + + ADD OBJECT 'GRIDB1.Column2.Text1' AS textbox WITH ; + BackColor = 255,255,255, ; + BorderStyle = 0, ; + FontName = "Arial Narrow", ; + ForeColor = 0,0,0, ; + Margin = 0, ; + Name = "Text1" + *< END OBJECT: BaseClass="textbox" /> + +ENDDEFINE diff --git a/ferestre/frm_login.sc2 b/ferestre/frm_login.sc2 new file mode 100644 index 0000000..48e3882 --- /dev/null +++ b/ferestre/frm_login.sc2 @@ -0,0 +1,51 @@ +*-------------------------------------------------------------------------------------------------------------------------------------------------------- +* (EN) AUTOGENERATED - ATTENTION!! - NOT INTENDED FOR EXECUTION!! USE ONLY FOR MERGING CHANGES AND STORING WITH SCM TOOLS!! +*-------------------------------------------------------------------------------------------------------------------------------------------------------- +*< FOXBIN2PRG: Version="1.21" SourceFile="frm_login.scx" CPID="1252" /> (Solo para binarios VFP 9 / Only for VFP 9 binaries) +* +* +DEFINE CLASS dataenvironment AS dataenvironment + *< CLASSDATA: Baseclass="dataenvironment" Timestamp="" Scale="" Uniqueid="" ClassIcon="1" /> + + * + DataSource = .NULL. + Height = 0 + Left = 0 + Name = "Dataenvironment" + Top = 0 + Width = 0 + * + +ENDDEFINE + +DEFINE CLASS frm_login1 AS frm_login OF "..\clase\ferestre_oracle.vcx" + *< CLASSDATA: Baseclass="form" Timestamp="" Scale="" Uniqueid="" /> + + * + DoCreate = .T. + Name = "Frm_login1" + _shape3.Name = "_shape3" + _shape4.Name = "_shape4" + _shape1.Name = "_shape1" + _shape2.Name = "_shape2" + Lb_titlu_alb_b121.Name = "Lb_titlu_alb_b121" + BUT_TERMIN1.Image1.Height = 27 + BUT_TERMIN1.Image1.Name = "Image1" + BUT_TERMIN1.Image1.Width = 30 + BUT_TERMIN1.Name = "BUT_TERMIN1" + lbUtilizator.Name = "lbUtilizator" + txUserName.Name = "txUserName" + lbParola.Name = "lbParola" + txPassword.Name = "txPassword" + lbHost.Name = "lbHost" + txHost.Name = "txHost" + Cmd_login1.Name = "Cmd_login1" + Cmd_logoff1.Name = "Cmd_logoff1" + _label1.Name = "_label1" + _textbox1.Name = "_textbox1" + _label2.Name = "_label2" + _textbox2.Name = "_textbox2" + _checkbox1.Name = "_checkbox1" + * + +ENDDEFINE diff --git a/ferestre/frm_start_firma_nou.sc2 b/ferestre/frm_start_firma_nou.sc2 new file mode 100644 index 0000000..10afa73 --- /dev/null +++ b/ferestre/frm_start_firma_nou.sc2 @@ -0,0 +1,45 @@ +*-------------------------------------------------------------------------------------------------------------------------------------------------------- +* (EN) AUTOGENERATED - ATTENTION!! - NOT INTENDED FOR EXECUTION!! USE ONLY FOR MERGING CHANGES AND STORING WITH SCM TOOLS!! +*-------------------------------------------------------------------------------------------------------------------------------------------------------- +*< FOXBIN2PRG: Version="1.21" SourceFile="frm_start_firma_nou.scx" CPID="1252" /> (Solo para binarios VFP 9 / Only for VFP 9 binaries) +* +* +DEFINE CLASS dataenvironment AS dataenvironment + *< CLASSDATA: Baseclass="dataenvironment" Timestamp="" Scale="" Uniqueid="" ClassIcon="1" /> + + * + DataSource = .NULL. + Height = 0 + Left = 0 + Name = "Dataenvironment" + Top = 0 + Width = 0 + * + +ENDDEFINE + +DEFINE CLASS frm_start_firma_nou12 AS frm_start_firma_nou OF "..\clase\ferestre_oracle.vcx" + *< CLASSDATA: Baseclass="form" Timestamp="" Scale="" Uniqueid="" /> + + * + DataSession = 1 + DoCreate = .T. + Name = "Frm_start_firma_nou12" + Image1.Name = "Image1" + Image1.Picture = ..\grafice\start.bmp + _shape1.Name = "_shape1" + _shape2.Name = "_shape2" + Lb_titlu_alb_b121.Caption = "ALEGEÞI FIRMA / ANUL / LUNA" + Lb_titlu_alb_b121.Name = "Lb_titlu_alb_b121" + Gridsort1.Name = "Gridsort1" + But_renunt1.Name = "But_renunt1" + CbFima.Name = "CbFima" + CbLuna.Name = "CbLuna" + CbAn.Name = "CbAn" + Lb_firma.Name = "Lb_firma" + Lb_luna.Name = "Lb_luna" + Lb_an.Name = "Lb_an" + BUT_TERMIN1.Name = "BUT_TERMIN1" + * + +ENDDEFINE diff --git a/ferestre/frm_trimit_mail.sc2 b/ferestre/frm_trimit_mail.sc2 new file mode 100644 index 0000000..2c0508c --- /dev/null +++ b/ferestre/frm_trimit_mail.sc2 @@ -0,0 +1,272 @@ +*-------------------------------------------------------------------------------------------------------------------------------------------------------- +* (EN) AUTOGENERATED - ATTENTION!! - NOT INTENDED FOR EXECUTION!! USE ONLY FOR MERGING CHANGES AND STORING WITH SCM TOOLS!! +*-------------------------------------------------------------------------------------------------------------------------------------------------------- +*< FOXBIN2PRG: Version="1.21" SourceFile="frm_trimit_mail.scx" CPID="1252" /> (Solo para binarios VFP 9 / Only for VFP 9 binaries) +* +* +DEFINE CLASS dataenvironment AS dataenvironment + *< CLASSDATA: Baseclass="dataenvironment" Timestamp="" Scale="" Uniqueid="" ClassIcon="1" /> + + * + DataSource = .NULL. + Height = 0 + Left = 0 + Name = "Dataenvironment" + Top = 0 + Width = 0 + * + +ENDDEFINE + +DEFINE CLASS frm_trimit_mail AS frm_termin_renunt OF "..\clase\_frm_child.vcx" + *< CLASSDATA: Baseclass="form" Timestamp="" Scale="" Uniqueid="" /> + + *-- OBJECTDATA items order determines ZOrder / El orden de los items OBJECTDATA determina el ZOrder + *< OBJECTDATA: ObjPath="Label1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="Label2" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="Text2" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="Label3" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="Label4" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="Label5" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="Text3" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="Text4" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="Text5" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="Label6" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="Label7" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="Label8" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="But_salveaza1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="But_salveaza2" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="Text7" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="Text8" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="cboExpeditori" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="cboDestinatari" UniqueID="" Timestamp="" /> + + * + DataSession = 1 + DoCreate = .T. + Height = 500 + Name = "frm_trimit_mail" + Width = 400 + _shape1.Height = 29 + _shape1.Left = 36 + _shape1.Name = "_shape1" + _shape1.Top = 0 + _shape1.Width = 396 + _shape2.Left = 324 + _shape2.Name = "_shape2" + _shape2.Top = 0 + Lb_titlu_alb_b121.Caption = "TRIMITERE MAIL" + Lb_titlu_alb_b121.Left = 60 + Lb_titlu_alb_b121.Name = "Lb_titlu_alb_b121" + Lb_titlu_alb_b121.Top = 0 + BUT_TERMIN1.Left = 366 + BUT_TERMIN1.Name = "BUT_TERMIN1" + BUT_TERMIN1.Top = 1 + Gridsort1.Name = "Gridsort1" + BUT_RENUNT1.Left = 337 + BUT_RENUNT1.Name = "BUT_RENUNT1" + BUT_RENUNT1.Top = 1 + * + + ADD OBJECT 'But_salveaza1' AS but_salveaza WITH ; + Caption = "Salveaza user", ; + Height = 48, ; + Left = 156, ; + Name = "But_salveaza1", ; + Top = 216, ; + Width = 156 + *< END OBJECT: ClassLib="..\clase\cmd_butoane.vcx" BaseClass="commandbutton" /> + + ADD OBJECT 'But_salveaza2' AS but_salveaza WITH ; + Caption = "Salveaza destinatar", ; + Height = 51, ; + Left = 156, ; + Name = "But_salveaza2", ; + Top = 420, ; + Width = 156 + *< END OBJECT: ClassLib="..\clase\cmd_butoane.vcx" BaseClass="commandbutton" /> + + ADD OBJECT 'cboDestinatari' AS combobox WITH ; + BoundColumn = 2, ; + BoundTo = .T., ; + Height = 25, ; + Left = 132, ; + Name = "cboDestinatari", ; + Top = 288, ; + Width = 253 + *< END OBJECT: BaseClass="combobox" /> + + ADD OBJECT 'cboExpeditori' AS combobox WITH ; + BoundColumn = 2, ; + BoundTo = .T., ; + Height = 25, ; + Left = 132, ; + Name = "cboExpeditori", ; + Top = 36, ; + Width = 253 + *< END OBJECT: BaseClass="combobox" /> + + ADD OBJECT 'Label1' AS label WITH ; + Caption = "Expeditor :", ; + Height = 24, ; + Left = 48, ; + Name = "Label1", ; + Top = 36, ; + Width = 72 + *< END OBJECT: BaseClass="label" /> + + ADD OBJECT 'Label2' AS label WITH ; + Caption = "Server :", ; + Height = 25, ; + Left = 48, ; + Name = "Label2", ; + Top = 72, ; + Width = 73 + *< END OBJECT: BaseClass="label" /> + + ADD OBJECT 'Label3' AS label WITH ; + Caption = "User :", ; + Height = 25, ; + Left = 48, ; + Name = "Label3", ; + Top = 108, ; + Width = 73 + *< END OBJECT: BaseClass="label" /> + + ADD OBJECT 'Label4' AS label WITH ; + Caption = "Pass : ", ; + Height = 25, ; + Left = 48, ; + Name = "Label4", ; + Top = 144, ; + Width = 73 + *< END OBJECT: BaseClass="label" /> + + ADD OBJECT 'Label5' AS label WITH ; + Caption = "Port :", ; + Height = 25, ; + Left = 48, ; + Name = "Label5", ; + Top = 180, ; + Width = 73 + *< END OBJECT: BaseClass="label" /> + + ADD OBJECT 'Label6' AS label WITH ; + Caption = "Destinatar :", ; + Height = 25, ; + Left = 48, ; + Name = "Label6", ; + Top = 288, ; + Width = 73 + *< END OBJECT: BaseClass="label" /> + + ADD OBJECT 'Label7' AS label WITH ; + Caption = "Subiect :", ; + Height = 25, ; + Left = 48, ; + Name = "Label7", ; + Top = 324, ; + Width = 73 + *< END OBJECT: BaseClass="label" /> + + ADD OBJECT 'Label8' AS label WITH ; + Caption = "Body :", ; + Height = 25, ; + Left = 48, ; + Name = "Label8", ; + Top = 360, ; + Width = 73 + *< END OBJECT: BaseClass="label" /> + + ADD OBJECT 'Text2' AS textbox WITH ; + Height = 25, ; + Left = 132, ; + Name = "Text2", ; + Top = 72, ; + Width = 252 + *< END OBJECT: BaseClass="textbox" /> + + ADD OBJECT 'Text3' AS textbox WITH ; + Height = 25, ; + Left = 132, ; + Name = "Text3", ; + Top = 108, ; + Width = 253 + *< END OBJECT: BaseClass="textbox" /> + + ADD OBJECT 'Text4' AS textbox WITH ; + Height = 25, ; + Left = 132, ; + Name = "Text4", ; + Top = 144, ; + Width = 253 + *< END OBJECT: BaseClass="textbox" /> + + ADD OBJECT 'Text5' AS textbox WITH ; + Alignment = 0, ; + Height = 25, ; + Left = 132, ; + Name = "Text5", ; + Top = 180, ; + Value = 25, ; + Width = 253 + *< END OBJECT: BaseClass="textbox" /> + + ADD OBJECT 'Text7' AS textbox WITH ; + Height = 25, ; + Left = 132, ; + Name = "Text7", ; + Top = 324, ; + Width = 253 + *< END OBJECT: BaseClass="textbox" /> + + ADD OBJECT 'Text8' AS textbox WITH ; + Height = 25, ; + Left = 132, ; + Name = "Text8", ; + Top = 360, ; + Width = 253 + *< END OBJECT: BaseClass="textbox" /> + + PROCEDURE But_salveaza1.Click + *INSERT INTO nomexpeditori(adresa_expeditori,server_mail,user,pass) VALUES ( + ENDPROC + + PROCEDURE But_salveaza2.Click + *INSERT INTO + ENDPROC + + PROCEDURE BUT_TERMIN1.Click + #DEFINE PRIORITYHIGH 1 + #DEFINE PRIORITYLOW 0 + + DIMENSION aryAttach(1) + *aryAttach(1) + *---------------------------------- + LOCAL lcFrom, lcTo, lcSubject, lcBody, lcCC, lcBCC, lcMailServer, lcUserName, lcPassword, lnPort, lnPriority, llHTMLFormat, lcErrReturn + &&do form trimit_mail + lcFrom =ALLTRIM(thisform.text1.Value) && expeditor + lcTo = ALLTRIM(thisform.text6.Value) && catre + + lcSubject = ALLTRIM(thisform.text7.Value) + *!* Sending the body in HTML format + llHTMLFormat = .F. && change to .F. to send plain text message + lcBody = ALLTRIM(thisform.text8.Value ) + *!* lcCC = "lianamacinic@gmail.com" + *!* lcBCC = "lianamacinic@gmail.com" + lcMailServer = ALLTRIM(thisform.text2.Value ) + lnPort = thisform.text3.value + lcUserName = ALLTRIM(thisform.text4.Value) + lcPassword = ALLTRIM(TRANSFORM(thisform.text5.Value )) + lnPriority = PRIORITYHIGH + + SendViaBLAT(@lcErrReturn,lcSubject, lcBody, @aryAttach) + + IF EMPTY(lcErrReturn) + MESSAGEBOX("'" + lcSubject + "' sent successfullly.", 64, "Send email via BLAT") + ELSE + MESSAGEBOX("'" + lcSubject + "' failed to be sent. Reason:" + CHR(13) + lcErrReturn, 64, "Send email via BLAT") + ENDIF + ENDPROC + +ENDDEFINE diff --git a/ferestre/frm_verificare_rulaje.sc2 b/ferestre/frm_verificare_rulaje.sc2 new file mode 100644 index 0000000..51aa4a5 --- /dev/null +++ b/ferestre/frm_verificare_rulaje.sc2 @@ -0,0 +1,1621 @@ +*-------------------------------------------------------------------------------------------------------------------------------------------------------- +* (EN) AUTOGENERATED - ATTENTION!! - NOT INTENDED FOR EXECUTION!! USE ONLY FOR MERGING CHANGES AND STORING WITH SCM TOOLS!! +*-------------------------------------------------------------------------------------------------------------------------------------------------------- +*< FOXBIN2PRG: Version="1.21" SourceFile="frm_verificare_rulaje.scx" CPID="1252" /> (Solo para binarios VFP 9 / Only for VFP 9 binaries) +* +* +DEFINE CLASS dataenvironment AS dataenvironment + *< CLASSDATA: Baseclass="dataenvironment" Timestamp="" Scale="" Uniqueid="" ClassIcon="1" /> + + * + DataSource = .NULL. + Height = 0 + Left = 0 + Name = "Dataenvironment" + Top = 0 + Width = 0 + * + +ENDDEFINE + +DEFINE CLASS frm_termin12 AS frm_termin OF "..\clase\_frm_child.vcx" + *< CLASSDATA: Baseclass="form" Timestamp="" Scale="" Uniqueid="" /> + + *-- OBJECTDATA items order determines ZOrder / El orden de los items OBJECTDATA determina el ZOrder + *< OBJECTDATA: ObjPath="Pageframe1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="Pageframe1.Page1.Grid1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="Pageframe1.Page1.Grid1.Column2.Header1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="Pageframe1.Page1.Grid1.Column2.Text1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="Pageframe1.Page1.Grid1.Column3.Header1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="Pageframe1.Page1.Grid1.Column3.Text1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="Pageframe1.Page1.Grid1.cPart.Header1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="Pageframe1.Page1.Grid1.cPart.Text1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="Pageframe1.Page1.Grid1.cBaza.Header1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="Pageframe1.Page1.Grid1.cBaza.Text1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="Pageframe1.Page1.Grid1.Column1.Header1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="Pageframe1.Page1.Grid1.Column1.Text1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="Pageframe1.Page1.Grid1.cSuma.Header1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="Pageframe1.Page1.Grid1.cSuma.Text1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="Pageframe1.Page1.Grid1.cSectie.Header1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="Pageframe1.Page1.Grid1.cSectie.Text1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="Pageframe1.Page1.Grid2" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="Pageframe1.Page1.Grid2.Column2.Header1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="Pageframe1.Page1.Grid2.Column2.Text1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="Pageframe1.Page1.Grid2.Column3.Header1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="Pageframe1.Page1.Grid2.Column3.Text1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="Pageframe1.Page1.Grid2.Column4.Header1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="Pageframe1.Page1.Grid2.Column4.Text1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="Pageframe1.Page1.Grid2.Column5.Header1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="Pageframe1.Page1.Grid2.Column5.Text1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="Pageframe1.Page1.Grid2.Column6.Header1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="Pageframe1.Page1.Grid2.Column6.Text1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="Pageframe1.Page1.Grid2.Column7.Header1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="Pageframe1.Page1.Grid2.Column7.Text1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="Pageframe1.Page1.Grid2.Column8.Header1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="Pageframe1.Page1.Grid2.Column8.Text1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="Pageframe1.Page1.Grid2.Column9.Header1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="Pageframe1.Page1.Grid2.Column9.Text1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="Pageframe1.Page1.Grid2.Column10.Header1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="Pageframe1.Page1.Grid2.Column10.Text1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="Pageframe1.Page1.Grid2.Column11.Header1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="Pageframe1.Page1.Grid2.Column11.Text1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="Pageframe1.Page1.Grid2.cSerie.Header1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="Pageframe1.Page1.Grid2.cSerie.Text1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="Pageframe1.Page1.Grid2.Column1.Header1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="Pageframe1.Page1.Grid2.Column1.Text1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="Pageframe1.Page1.Cmd_reset1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="Pageframe1.Page1.Cmd_cauta1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="Pageframe1.Page1.Ck_nract" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="Pageframe1.Page1.Ck_dataact" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="Pageframe1.Page1.Ck_part" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="Pageframe1.Page1.Clb_tx_totrul" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="Pageframe1.Page1.Clb_tx_totact" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="Pageframe1.Page1.Clb_tx_totrulv" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="Pageframe1.Page1.Ck_serie_act" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="Pageframe1.Page1.ck_sectie" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="Pageframe1.Page2.Grid1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="Pageframe1.Page2.Grid1.cDataact.Header1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="Pageframe1.Page2.Grid1.cDataact.Text1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="Pageframe1.Page2.Grid1.cNract.Header1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="Pageframe1.Page2.Grid1.cNract.Text1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="Pageframe1.Page2.Grid1.cPart.Header1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="Pageframe1.Page2.Grid1.cPart.Text1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="Pageframe1.Page2.Grid1.cBaza.Header1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="Pageframe1.Page2.Grid1.cBaza.Text1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="Pageframe1.Page2.Grid1.cSerieAct.Header1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="Pageframe1.Page2.Grid1.cSerieAct.Text1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="Pageframe1.Page2.Grid1.cSuma.Header1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="Pageframe1.Page2.Grid1.cSuma.Text1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="Pageframe1.Page2.Grid1.cSectie.Header1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="Pageframe1.Page2.Grid1.cSectie.Text1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="Pageframe1.Page2.Grid2" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="Pageframe1.Page2.Grid2.cNnir.Header1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="Pageframe1.Page2.Grid2.cNnir.Text1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="Pageframe1.Page2.Grid2.cValoare.Header1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="Pageframe1.Page2.Grid2.cValoare.Text1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="Pageframe1.Page2.Grid2.cValoareV.Header1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="Pageframe1.Page2.Grid2.cValoareV.Text1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="Pageframe1.Page2.Grid2.cDataact.Header1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="Pageframe1.Page2.Grid2.cDataact.Text1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="Pageframe1.Page2.Grid2.cValoarevTva.Header1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="Pageframe1.Page2.Grid2.cValoarevTva.Text1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="Pageframe1.Page2.Clb_tx_totrul" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="Pageframe1.Page2.Clb_tx_totact" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="Pageframe1.Page2.Clb_tx_totrulv" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="But_listare1" UniqueID="" Timestamp="" /> + + * + *m: actualizeaza_grid3 + *m: calcul_sume + *p: lproductie + *p: nfel + *p: ntotact + *p: ntotrul + *p: ntotrulv + * + + * + cgridsortlist = pageframe1.page1.grid1;pageframe1.page1.grid2;pageframe1.page2.grid1;pageframe1.page2.grid2 + DoCreate = .T. + Height = 482 + lproductie = .F. + Name = "Frm_termin12" + nfel = 0 + ntotact = 0 + ntotrul = 0 + ntotrulv = 0 + Width = 752 + _shape1.Anchor = 10 + _shape1.Height = 29 + _shape1.Left = 0 + _shape1.Name = "_shape1" + _shape1.Top = 0 + _shape1.Width = 752 + _shape2.Anchor = 8 + _shape2.Height = 29 + _shape2.Left = 684 + _shape2.Name = "_shape2" + _shape2.Top = 0 + _shape2.Width = 68 + Lb_titlu_alb_b121.Anchor = 2 + Lb_titlu_alb_b121.Caption = "Facturi de achizitie cu NIR" + Lb_titlu_alb_b121.Name = "Lb_titlu_alb_b121" + Lb_titlu_alb_b121.TabIndex = 2 + BUT_TERMIN1.Anchor = 8 + BUT_TERMIN1.Left = 721 + BUT_TERMIN1.Name = "BUT_TERMIN1" + BUT_TERMIN1.TabIndex = 3 + BUT_TERMIN1.Top = 1 + Gridsort1.Left = 576 + Gridsort1.Name = "Gridsort1" + Gridsort1.Top = 9 + * + + ADD OBJECT 'But_listare1' AS but_listare WITH ; + Anchor = 8, ; + Left = 690, ; + Name = "But_listare1", ; + TabIndex = 4, ; + Top = 1 + *< END OBJECT: ClassLib="..\clase\cmd_butoane.vcx" BaseClass="commandbutton" /> + + ADD OBJECT 'Pageframe1' AS pageframe WITH ; + Anchor = 15, ; + ErasePage = .T., ; + Height = 428, ; + Left = 8, ; + Name = "Pageframe1", ; + PageCount = 2, ; + TabIndex = 1, ; + Top = 40, ; + Width = 739, ; + Page1.Caption = "Verificare Facturi cu NIR-uri", ; + Page1.Name = "Page1", ; + Page2.Caption = "Verificare NIR-uri cu Facturi", ; + Page2.Name = "Page2" + *< END OBJECT: BaseClass="pageframe" /> + + ADD OBJECT 'Pageframe1.Page1.Ck_dataact' AS ck_filtru_numar WITH ; + Alignment = 0, ; + Anchor = 3, ; + AutoSize = .T., ; + camp_nume = a1.dataact, ; + Caption = "Data factura", ; + FontName = "Arial Narrow", ; + Left = 157, ; + Name = "Ck_dataact", ; + TabIndex = 3, ; + tip = D, ; + Top = 8 + *< END OBJECT: ClassLib="..\clase\caut_ora.vcx" BaseClass="checkbox" /> + + ADD OBJECT 'Pageframe1.Page1.Ck_nract' AS ck_filtru_numar WITH ; + Alignment = 0, ; + Anchor = 3, ; + AutoSize = .T., ; + camp_nume = A1.NRACT, ; + Caption = "Nr. factura", ; + FontName = "Arial Narrow", ; + Left = 90, ; + mask = (replicate('9',15)), ; + Name = "Ck_nract", ; + TabIndex = 2, ; + Top = 8 + *< END OBJECT: ClassLib="..\clase\caut_ora.vcx" BaseClass="checkbox" /> + + ADD OBJECT 'Pageframe1.Page1.Ck_part' AS ck_filtru_text WITH ; + Alignment = 0, ; + Anchor = 3, ; + AutoSize = .T., ; + camp_nume = b.denumire, ; + Caption = "Partener", ; + Comment = "*:OnResize=LT", ; + FontName = "Arial Narrow", ; + Left = 230, ; + Name = "Ck_part", ; + TabIndex = 4, ; + Top = 8 + *< END OBJECT: ClassLib="..\clase\caut_ora.vcx" BaseClass="checkbox" /> + + ADD OBJECT 'Pageframe1.Page1.ck_sectie' AS ck_filtru_text WITH ; + Alignment = 0, ; + Anchor = 3, ; + AutoSize = .T., ; + camp_nume = s.sectie, ; + Caption = "Sectie", ; + Comment = "*:OnResize=LT", ; + FontName = "Arial Narrow", ; + Left = 292, ; + Name = "ck_sectie", ; + TabIndex = 4, ; + Top = 8 + *< END OBJECT: ClassLib="..\clase\caut_ora.vcx" BaseClass="checkbox" /> + + ADD OBJECT 'Pageframe1.Page1.Ck_serie_act' AS ck_filtru_text WITH ; + Alignment = 0, ; + Anchor = 3, ; + AutoSize = .T., ; + camp_nume = a1.serie_act, ; + Caption = "Serie factura", ; + Comment = "*:OnResize=LT", ; + FontName = "Arial Narrow", ; + Left = 13, ; + Name = "Ck_serie_act", ; + TabIndex = 1, ; + Top = 8 + *< END OBJECT: ClassLib="..\clase\caut_ora.vcx" BaseClass="checkbox" /> + + ADD OBJECT 'Pageframe1.Page1.Clb_tx_totact' AS clb_tx_simplu WITH ; + Anchor = 6, ; + BackColor = 255,255,255, ; + Height = 29, ; + Left = 2, ; + Name = "Clb_tx_totact", ; + TabIndex = 10, ; + Top = 361, ; + Width = 240, ; + Text_simplu1.Alignment = 3, ; + Text_simplu1.FontBold = .T., ; + Text_simplu1.Height = 23, ; + Text_simplu1.InputMask = (get_mask(14,gnPc)), ; + Text_simplu1.Left = 101, ; + Text_simplu1.Name = "Text_simplu1", ; + Text_simplu1.Top = 3, ; + Text_simplu1.Value = 0, ; + Text_simplu1.Width = 135, ; + Lb_simplu1.Caption = "Valoare fara TVA", ; + Lb_simplu1.Name = "Lb_simplu1" + *< END OBJECT: ClassLib="..\clase\lb_tx.vcx" BaseClass="container" /> + + ADD OBJECT 'Pageframe1.Page1.Clb_tx_totrul' AS clb_tx_simplu WITH ; + Anchor = 6, ; + BackColor = 255,255,255, ; + Height = 29, ; + Left = 244, ; + Name = "Clb_tx_totrul", ; + TabIndex = 9, ; + Top = 361, ; + Width = 223, ; + Text_simplu1.Alignment = 3, ; + Text_simplu1.FontBold = .T., ; + Text_simplu1.Height = 23, ; + Text_simplu1.InputMask = (get_mask(14,gnPc)), ; + Text_simplu1.Left = 84, ; + Text_simplu1.Name = "Text_simplu1", ; + Text_simplu1.Top = 3, ; + Text_simplu1.Value = 0, ; + Text_simplu1.Width = 135, ; + Lb_simplu1.Caption = "Valoare NIR", ; + Lb_simplu1.Name = "Lb_simplu1" + *< END OBJECT: ClassLib="..\clase\lb_tx.vcx" BaseClass="container" /> + + ADD OBJECT 'Pageframe1.Page1.Clb_tx_totrulv' AS clb_tx_simplu WITH ; + Anchor = 6, ; + BackColor = 255,255,255, ; + Height = 29, ; + Left = 469, ; + Name = "Clb_tx_totrulv", ; + TabIndex = 11, ; + Top = 361, ; + Width = 265, ; + Text_simplu1.Alignment = 3, ; + Text_simplu1.FontBold = .T., ; + Text_simplu1.Height = 23, ; + Text_simplu1.InputMask = (get_mask(14,gnPc)), ; + Text_simplu1.Left = 126, ; + Text_simplu1.Name = "Text_simplu1", ; + Text_simplu1.Top = 3, ; + Text_simplu1.Value = 0, ; + Text_simplu1.Width = 135, ; + Lb_simplu1.Caption = "Valoare vanzare NIR", ; + Lb_simplu1.Name = "Lb_simplu1" + *< END OBJECT: ClassLib="..\clase\lb_tx.vcx" BaseClass="container" /> + + ADD OBJECT 'Pageframe1.Page1.Cmd_cauta1' AS cmd_cauta WITH ; + Anchor = 0, ; + Comment = "*:OnResize=LT", ; + Height = 27, ; + Left = 372, ; + Name = "Cmd_cauta1", ; + SpecialEffect = 0, ; + TabIndex = 7, ; + Top = 4, ; + Width = 78 + *< END OBJECT: ClassLib="..\clase\cmd_butoane.vcx" BaseClass="commandbutton" /> + + ADD OBJECT 'Pageframe1.Page1.Cmd_reset1' AS cmd_reset WITH ; + Anchor = 0, ; + Comment = "*:OnResize=LT", ; + Height = 27, ; + Left = 456, ; + Name = "Cmd_reset1", ; + SpecialEffect = 0, ; + TabIndex = 8, ; + Top = 4, ; + Width = 78 + *< END OBJECT: ClassLib="..\clase\cmd_butoane.vcx" BaseClass="commandbutton" /> + + ADD OBJECT 'Pageframe1.Page1.Grid1' AS grid WITH ; + Anchor = 15, ; + ColumnCount = 7, ; + DeleteMark = .F., ; + FontName = "Arial Narrow", ; + FontSize = 10, ; + HeaderHeight = 35, ; + Height = 143, ; + Left = 8, ; + Name = "Grid1", ; + Panel = 1, ; + ReadOnly = .T., ; + RecordSource = "crsAct", ; + RowHeight = 19, ; + TabIndex = 5, ; + Top = 35, ; + Width = 720, ; + Column1.ColumnOrder = 3, ; + Column1.ControlSource = "ttod(dataact)", ; + Column1.FontName = "Arial Narrow", ; + Column1.FontSize = 9, ; + Column1.Name = "Column2", ; + Column1.ReadOnly = .T., ; + Column1.Width = 76, ; + Column2.ColumnOrder = 2, ; + Column2.ControlSource = "nract", ; + Column2.FontName = "Arial Narrow", ; + Column2.FontSize = 9, ; + Column2.Name = "Column3", ; + Column2.ReadOnly = .T., ; + Column2.Width = 79, ; + Column3.ColumnOrder = 4, ; + Column3.ControlSource = "part", ; + Column3.FontName = "Arial Narrow", ; + Column3.FontSize = 9, ; + Column3.Name = "cPart", ; + Column3.ReadOnly = .T., ; + Column3.Width = 328, ; + Column4.ColumnOrder = 5, ; + Column4.ControlSource = "baza", ; + Column4.FontName = "Arial Narrow", ; + Column4.FontSize = 9, ; + Column4.InputMask = (get_mask(14,gnPc)), ; + Column4.Name = "cBaza", ; + Column4.ReadOnly = .T., ; + Column4.Width = 102, ; + Column5.ColumnOrder = 1, ; + Column5.ControlSource = "serie_act", ; + Column5.FontName = "Arial Narrow", ; + Column5.FontSize = 10, ; + Column5.Name = "Column1", ; + Column5.ReadOnly = .T., ; + Column5.Width = 46, ; + Column6.ColumnOrder = 6, ; + Column6.ControlSource = "suma", ; + Column6.FontName = "Arial Narrow", ; + Column6.FontSize = 9, ; + Column6.InputMask = (get_mask(14,gnPc)), ; + Column6.Name = "cSuma", ; + Column6.ReadOnly = .T., ; + Column6.Width = 86, ; + Column7.ColumnOrder = 7, ; + Column7.ControlSource = "sectie", ; + Column7.FontName = "Arial Narrow", ; + Column7.FontSize = 10, ; + Column7.Name = "cSectie", ; + Column7.ReadOnly = .T., ; + Column7.Width = 157 + *< END OBJECT: BaseClass="grid" /> + + ADD OBJECT 'Pageframe1.Page1.Grid1.cBaza.Header1' AS header WITH ; + Alignment = 2, ; + Caption = "Valoare fara TVA contabil", ; + FontName = "Arial Narrow", ; + FontSize = 10, ; + Name = "Header1", ; + WordWrap = .T. + *< END OBJECT: BaseClass="header" /> + + ADD OBJECT 'Pageframe1.Page1.Grid1.cBaza.Text1' AS textbox WITH ; + BackColor = 255,255,255, ; + BorderStyle = 0, ; + FontName = "Arial Narrow", ; + FontSize = 9, ; + ForeColor = 0,0,0, ; + Margin = 0, ; + Name = "Text1", ; + ReadOnly = .T. + *< END OBJECT: BaseClass="textbox" /> + + ADD OBJECT 'Pageframe1.Page1.Grid1.Column1.Header1' AS header WITH ; + Alignment = 2, ; + Caption = "Serie fact.", ; + FontName = "Arial Narrow", ; + FontSize = 10, ; + Name = "Header1" + *< END OBJECT: BaseClass="header" /> + + ADD OBJECT 'Pageframe1.Page1.Grid1.Column1.Text1' AS textbox WITH ; + BackColor = 255,255,255, ; + BorderStyle = 0, ; + FontName = "Arial Narrow", ; + ForeColor = 0,0,0, ; + Margin = 0, ; + Name = "Text1", ; + ReadOnly = .T. + *< END OBJECT: BaseClass="textbox" /> + + ADD OBJECT 'Pageframe1.Page1.Grid1.Column2.Header1' AS header WITH ; + Alignment = 2, ; + Caption = "Data factura", ; + FontName = "Arial Narrow", ; + FontSize = 10, ; + Name = "Header1" + *< END OBJECT: BaseClass="header" /> + + ADD OBJECT 'Pageframe1.Page1.Grid1.Column2.Text1' AS textbox WITH ; + BackColor = 255,255,255, ; + BorderStyle = 0, ; + FontName = "Arial Narrow", ; + FontSize = 9, ; + ForeColor = 0,0,0, ; + Margin = 0, ; + Name = "Text1", ; + ReadOnly = .T. + *< END OBJECT: BaseClass="textbox" /> + + ADD OBJECT 'Pageframe1.Page1.Grid1.Column3.Header1' AS header WITH ; + Alignment = 2, ; + Caption = "Nr. factura", ; + FontName = "Arial Narrow", ; + FontSize = 10, ; + Name = "Header1" + *< END OBJECT: BaseClass="header" /> + + ADD OBJECT 'Pageframe1.Page1.Grid1.Column3.Text1' AS textbox WITH ; + BackColor = 255,255,255, ; + BorderStyle = 0, ; + FontName = "Arial Narrow", ; + FontSize = 9, ; + ForeColor = 0,0,0, ; + Margin = 0, ; + Name = "Text1", ; + ReadOnly = .T. + *< END OBJECT: BaseClass="textbox" /> + + ADD OBJECT 'Pageframe1.Page1.Grid1.cPart.Header1' AS header WITH ; + Alignment = 2, ; + Caption = "Partener", ; + FontName = "Arial Narrow", ; + FontSize = 10, ; + Name = "Header1" + *< END OBJECT: BaseClass="header" /> + + ADD OBJECT 'Pageframe1.Page1.Grid1.cPart.Text1' AS textbox WITH ; + BackColor = 255,255,255, ; + BorderStyle = 0, ; + FontName = "Arial Narrow", ; + FontSize = 9, ; + ForeColor = 0,0,0, ; + Margin = 0, ; + Name = "Text1", ; + ReadOnly = .T. + *< END OBJECT: BaseClass="textbox" /> + + ADD OBJECT 'Pageframe1.Page1.Grid1.cSectie.Header1' AS header WITH ; + Alignment = 2, ; + Caption = "Sectie", ; + FontName = "Arial Narrow", ; + FontSize = 10, ; + Name = "Header1" + *< END OBJECT: BaseClass="header" /> + + ADD OBJECT 'Pageframe1.Page1.Grid1.cSectie.Text1' AS textbox WITH ; + BackColor = 255,255,255, ; + BorderStyle = 0, ; + FontName = "Arial Narrow", ; + ForeColor = 0,0,0, ; + Margin = 0, ; + Name = "Text1", ; + ReadOnly = .T. + *< END OBJECT: BaseClass="textbox" /> + + ADD OBJECT 'Pageframe1.Page1.Grid1.cSuma.Header1' AS header WITH ; + Alignment = 2, ; + Caption = "Valoare cu TVA contabil", ; + FontName = "Arial Narrow", ; + FontSize = 10, ; + Name = "Header1", ; + WordWrap = .T. + *< END OBJECT: BaseClass="header" /> + + ADD OBJECT 'Pageframe1.Page1.Grid1.cSuma.Text1' AS textbox WITH ; + BackColor = 255,255,255, ; + BorderStyle = 0, ; + FontName = "Arial Narrow", ; + FontSize = 9, ; + ForeColor = 0,0,0, ; + Margin = 0, ; + Name = "Text1", ; + ReadOnly = .T. + *< END OBJECT: BaseClass="textbox" /> + + ADD OBJECT 'Pageframe1.Page1.Grid2' AS grid WITH ; + Anchor = 14, ; + ColumnCount = 12, ; + DeleteMark = .F., ; + FontName = "Arial Narrow", ; + FontSize = 10, ; + HeaderHeight = 36, ; + Height = 171, ; + Left = 8, ; + Name = "Grid2", ; + Panel = 1, ; + ReadOnly = .T., ; + RecordSource = "crsRul", ; + RowHeight = 19, ; + TabIndex = 6, ; + Top = 179, ; + Width = 720, ; + Column1.ColumnOrder = 1, ; + Column1.ControlSource = "nnir", ; + Column1.FontName = "Arial Narrow", ; + Column1.FontSize = 9, ; + Column1.Name = "Column2", ; + Column1.ReadOnly = .T., ; + Column1.Width = 64, ; + Column2.ColumnOrder = 2, ; + Column2.ControlSource = "codmat", ; + Column2.FontName = "Arial Narrow", ; + Column2.FontSize = 9, ; + Column2.Name = "Column3", ; + Column2.ReadOnly = .T., ; + Column2.Width = 77, ; + Column3.ColumnOrder = 3, ; + Column3.ControlSource = "denumire", ; + Column3.FontName = "Arial Narrow", ; + Column3.FontSize = 9, ; + Column3.Name = "Column4", ; + Column3.ReadOnly = .T., ; + Column3.Width = 156, ; + Column4.ColumnOrder = 6, ; + Column4.ControlSource = "pret", ; + Column4.FontName = "Arial Narrow", ; + Column4.FontSize = 9, ; + Column4.InputMask = (get_mask(14,gnPpret)), ; + Column4.Name = "Column5", ; + Column4.ReadOnly = .T., ; + Column4.Width = 80, ; + Column5.ColumnOrder = 8, ; + Column5.ControlSource = "cont", ; + Column5.FontName = "Arial Narrow", ; + Column5.FontSize = 9, ; + Column5.Name = "Column6", ; + Column5.ReadOnly = .T., ; + Column5.Width = 31, ; + Column6.ColumnOrder = 5, ; + Column6.ControlSource = "cantitate", ; + Column6.FontName = "Arial Narrow", ; + Column6.FontSize = 9, ; + Column6.InputMask = (get_mask(14,gnPcant)), ; + Column6.Name = "Column7", ; + Column6.ReadOnly = .T., ; + Column6.Width = 53, ; + Column7.ColumnOrder = 7, ; + Column7.ControlSource = "valoare", ; + Column7.FontName = "Arial Narrow", ; + Column7.FontSize = 9, ; + Column7.InputMask = (get_mask(14,gnPc)), ; + Column7.Name = "Column8", ; + Column7.ReadOnly = .T., ; + Column7.Width = 82, ; + Column8.ColumnOrder = 9, ; + Column8.ControlSource = "acont", ; + Column8.FontName = "Arial Narrow", ; + Column8.FontSize = 9, ; + Column8.Name = "Column9", ; + Column8.ReadOnly = .T., ; + Column8.Width = 47, ; + Column9.ColumnOrder = 10, ; + Column9.ControlSource = "PRETV", ; + Column9.FontName = "Arial Narrow", ; + Column9.FontSize = 9, ; + Column9.InputMask = (get_mask(14,gnPPretV)), ; + Column9.Name = "Column10", ; + Column9.ReadOnly = .T., ; + Column9.Width = 76, ; + Column10.ColumnOrder = 11, ; + Column10.ControlSource = "valoareV", ; + Column10.FontName = "Arial Narrow", ; + Column10.FontSize = 9, ; + Column10.InputMask = (get_mask(14,gnPc)), ; + Column10.Name = "Column11", ; + Column10.ReadOnly = .T., ; + Column10.Width = 96, ; + Column11.ColumnOrder = 4, ; + Column11.ControlSource = "serie", ; + Column11.FontName = "Arial Narrow", ; + Column11.FontSize = 9, ; + Column11.Name = "cSerie", ; + Column11.ReadOnly = .T., ; + Column11.Width = 86, ; + Column12.ControlSource = "valoarevtva", ; + Column12.FontName = "Arial Narrow", ; + Column12.FontSize = 10, ; + Column12.InputMask = (get_mask(14,gnPc)), ; + Column12.Name = "Column1", ; + Column12.ReadOnly = .T., ; + Column12.Width = 81 + *< END OBJECT: BaseClass="grid" /> + + ADD OBJECT 'Pageframe1.Page1.Grid2.Column1.Header1' AS header WITH ; + Alignment = 2, ; + Caption = "Valoare vanzare cu TVA", ; + FontName = "Arial Narrow", ; + FontSize = 10, ; + Name = "Header1", ; + WordWrap = .T. + *< END OBJECT: BaseClass="header" /> + + ADD OBJECT 'Pageframe1.Page1.Grid2.Column1.Text1' AS textbox WITH ; + BackColor = 255,255,255, ; + BorderStyle = 0, ; + FontName = "Arial Narrow", ; + ForeColor = 0,0,0, ; + Margin = 0, ; + Name = "Text1", ; + ReadOnly = .T. + *< END OBJECT: BaseClass="textbox" /> + + ADD OBJECT 'Pageframe1.Page1.Grid2.Column10.Header1' AS header WITH ; + Alignment = 2, ; + Caption = "Pret vanzare", ; + FontName = "Arial Narrow", ; + FontSize = 10, ; + Name = "Header1" + *< END OBJECT: BaseClass="header" /> + + ADD OBJECT 'Pageframe1.Page1.Grid2.Column10.Text1' AS textbox WITH ; + BackColor = 255,255,255, ; + BorderStyle = 0, ; + FontName = "Arial Narrow", ; + FontSize = 9, ; + ForeColor = 0,0,0, ; + Margin = 0, ; + Name = "Text1", ; + ReadOnly = .T. + *< END OBJECT: BaseClass="textbox" /> + + ADD OBJECT 'Pageframe1.Page1.Grid2.Column11.Header1' AS header WITH ; + Alignment = 2, ; + Caption = "Valoare vanzare fara TVA", ; + FontName = "Arial Narrow", ; + FontSize = 10, ; + Name = "Header1", ; + WordWrap = .T. + *< END OBJECT: BaseClass="header" /> + + ADD OBJECT 'Pageframe1.Page1.Grid2.Column11.Text1' AS textbox WITH ; + BackColor = 255,255,255, ; + BorderStyle = 0, ; + FontName = "Arial Narrow", ; + FontSize = 9, ; + ForeColor = 0,0,0, ; + Margin = 0, ; + Name = "Text1", ; + ReadOnly = .T. + *< END OBJECT: BaseClass="textbox" /> + + ADD OBJECT 'Pageframe1.Page1.Grid2.Column2.Header1' AS header WITH ; + Alignment = 2, ; + Caption = "Nr NIR", ; + FontName = "Arial Narrow", ; + FontSize = 10, ; + Name = "Header1" + *< END OBJECT: BaseClass="header" /> + + ADD OBJECT 'Pageframe1.Page1.Grid2.Column2.Text1' AS textbox WITH ; + BackColor = 255,255,255, ; + BorderStyle = 0, ; + FontName = "Arial Narrow", ; + FontSize = 9, ; + ForeColor = 0,0,0, ; + Margin = 0, ; + Name = "Text1", ; + ReadOnly = .T. + *< END OBJECT: BaseClass="textbox" /> + + ADD OBJECT 'Pageframe1.Page1.Grid2.Column3.Header1' AS header WITH ; + Alignment = 2, ; + Caption = "Cod material", ; + FontName = "Arial Narrow", ; + FontSize = 10, ; + Name = "Header1" + *< END OBJECT: BaseClass="header" /> + + ADD OBJECT 'Pageframe1.Page1.Grid2.Column3.Text1' AS textbox WITH ; + BackColor = 255,255,255, ; + BorderStyle = 0, ; + FontName = "Arial Narrow", ; + FontSize = 9, ; + ForeColor = 0,0,0, ; + Margin = 0, ; + Name = "Text1", ; + ReadOnly = .T. + *< END OBJECT: BaseClass="textbox" /> + + ADD OBJECT 'Pageframe1.Page1.Grid2.Column4.Header1' AS header WITH ; + Alignment = 2, ; + Caption = "Denumire articol", ; + FontName = "Arial Narrow", ; + FontSize = 10, ; + Name = "Header1" + *< END OBJECT: BaseClass="header" /> + + ADD OBJECT 'Pageframe1.Page1.Grid2.Column4.Text1' AS textbox WITH ; + BackColor = 255,255,255, ; + BorderStyle = 0, ; + FontName = "Arial Narrow", ; + FontSize = 9, ; + ForeColor = 0,0,0, ; + Margin = 0, ; + Name = "Text1", ; + ReadOnly = .T. + *< END OBJECT: BaseClass="textbox" /> + + ADD OBJECT 'Pageframe1.Page1.Grid2.Column5.Header1' AS header WITH ; + Alignment = 2, ; + Caption = "Pret achizitie", ; + FontName = "Arial Narrow", ; + FontSize = 10, ; + Name = "Header1" + *< END OBJECT: BaseClass="header" /> + + ADD OBJECT 'Pageframe1.Page1.Grid2.Column5.Text1' AS textbox WITH ; + BackColor = 255,255,255, ; + BorderStyle = 0, ; + FontName = "Arial Narrow", ; + FontSize = 9, ; + ForeColor = 0,0,0, ; + Margin = 0, ; + Name = "Text1", ; + ReadOnly = .T. + *< END OBJECT: BaseClass="textbox" /> + + ADD OBJECT 'Pageframe1.Page1.Grid2.Column6.Header1' AS header WITH ; + Alignment = 2, ; + Caption = "Cont", ; + FontName = "Arial Narrow", ; + FontSize = 10, ; + Name = "Header1" + *< END OBJECT: BaseClass="header" /> + + ADD OBJECT 'Pageframe1.Page1.Grid2.Column6.Text1' AS textbox WITH ; + BackColor = 255,255,255, ; + BorderStyle = 0, ; + FontName = "Arial Narrow", ; + FontSize = 9, ; + ForeColor = 0,0,0, ; + Margin = 0, ; + Name = "Text1", ; + ReadOnly = .T. + *< END OBJECT: BaseClass="textbox" /> + + ADD OBJECT 'Pageframe1.Page1.Grid2.Column7.Header1' AS header WITH ; + Alignment = 2, ; + Caption = "Cantitate", ; + FontName = "Arial Narrow", ; + Name = "Header1" + *< END OBJECT: BaseClass="header" /> + + ADD OBJECT 'Pageframe1.Page1.Grid2.Column7.Text1' AS textbox WITH ; + BackColor = 255,255,255, ; + BorderStyle = 0, ; + FontName = "Arial Narrow", ; + FontSize = 9, ; + ForeColor = 0,0,0, ; + Margin = 0, ; + Name = "Text1", ; + ReadOnly = .T. + *< END OBJECT: BaseClass="textbox" /> + + ADD OBJECT 'Pageframe1.Page1.Grid2.Column8.Header1' AS header WITH ; + Alignment = 2, ; + Caption = "Valoare achizitie fara TVA", ; + FontName = "Arial Narrow", ; + FontSize = 10, ; + Name = "Header1", ; + WordWrap = .T. + *< END OBJECT: BaseClass="header" /> + + ADD OBJECT 'Pageframe1.Page1.Grid2.Column8.Text1' AS textbox WITH ; + BackColor = 255,255,255, ; + BorderStyle = 0, ; + FontName = "Arial Narrow", ; + FontSize = 9, ; + ForeColor = 0,0,0, ; + Margin = 0, ; + Name = "Text1", ; + ReadOnly = .T. + *< END OBJECT: BaseClass="textbox" /> + + ADD OBJECT 'Pageframe1.Page1.Grid2.Column9.Header1' AS header WITH ; + Alignment = 2, ; + Caption = "Analitic", ; + FontName = "Arial Narrow", ; + FontSize = 10, ; + Name = "Header1" + *< END OBJECT: BaseClass="header" /> + + ADD OBJECT 'Pageframe1.Page1.Grid2.Column9.Text1' AS textbox WITH ; + BackColor = 255,255,255, ; + BorderStyle = 0, ; + FontName = "Arial Narrow", ; + FontSize = 9, ; + ForeColor = 0,0,0, ; + Margin = 0, ; + Name = "Text1", ; + ReadOnly = .T. + *< END OBJECT: BaseClass="textbox" /> + + ADD OBJECT 'Pageframe1.Page1.Grid2.cSerie.Header1' AS header WITH ; + Alignment = 2, ; + Caption = "Serie", ; + FontName = "Arial Narrow", ; + FontSize = 10, ; + Name = "Header1" + *< END OBJECT: BaseClass="header" /> + + ADD OBJECT 'Pageframe1.Page1.Grid2.cSerie.Text1' AS textbox WITH ; + BackColor = 255,255,255, ; + BorderStyle = 0, ; + FontName = "Arial Narrow", ; + FontSize = 9, ; + ForeColor = 0,0,0, ; + Margin = 0, ; + Name = "Text1", ; + ReadOnly = .T. + *< END OBJECT: BaseClass="textbox" /> + + ADD OBJECT 'Pageframe1.Page2.Clb_tx_totact' AS clb_tx_simplu WITH ; + Anchor = 6, ; + BackColor = 255,255,255, ; + Height = 29, ; + Left = 2, ; + Name = "Clb_tx_totact", ; + TabIndex = 4, ; + Top = 362, ; + Width = 240, ; + Text_simplu1.Alignment = 3, ; + Text_simplu1.FontBold = .T., ; + Text_simplu1.Height = 23, ; + Text_simplu1.InputMask = (get_mask(14,gnPc)), ; + Text_simplu1.Left = 101, ; + Text_simplu1.Name = "Text_simplu1", ; + Text_simplu1.Top = 3, ; + Text_simplu1.Value = 0, ; + Text_simplu1.Width = 135, ; + Lb_simplu1.Caption = "Valoare fara TVA", ; + Lb_simplu1.Name = "Lb_simplu1" + *< END OBJECT: ClassLib="..\clase\lb_tx.vcx" BaseClass="container" /> + + ADD OBJECT 'Pageframe1.Page2.Clb_tx_totrul' AS clb_tx_simplu WITH ; + Anchor = 6, ; + BackColor = 255,255,255, ; + Height = 29, ; + Left = 244, ; + Name = "Clb_tx_totrul", ; + TabIndex = 3, ; + Top = 362, ; + Width = 223, ; + Text_simplu1.Alignment = 3, ; + Text_simplu1.FontBold = .T., ; + Text_simplu1.Height = 23, ; + Text_simplu1.InputMask = (get_mask(14,gnPc)), ; + Text_simplu1.Left = 84, ; + Text_simplu1.Name = "Text_simplu1", ; + Text_simplu1.Top = 3, ; + Text_simplu1.Value = 0, ; + Text_simplu1.Width = 135, ; + Lb_simplu1.Caption = "Valoare NIR", ; + Lb_simplu1.Name = "Lb_simplu1" + *< END OBJECT: ClassLib="..\clase\lb_tx.vcx" BaseClass="container" /> + + ADD OBJECT 'Pageframe1.Page2.Clb_tx_totrulv' AS clb_tx_simplu WITH ; + Anchor = 6, ; + BackColor = 255,255,255, ; + Height = 29, ; + Left = 469, ; + Name = "Clb_tx_totrulv", ; + TabIndex = 5, ; + Top = 362, ; + Width = 265, ; + Text_simplu1.Alignment = 3, ; + Text_simplu1.FontBold = .T., ; + Text_simplu1.Height = 23, ; + Text_simplu1.InputMask = (get_mask(14,gnPc)), ; + Text_simplu1.Left = 126, ; + Text_simplu1.Name = "Text_simplu1", ; + Text_simplu1.Top = 3, ; + Text_simplu1.Value = 0, ; + Text_simplu1.Width = 135, ; + Lb_simplu1.Caption = "Valoare vanzare NIR", ; + Lb_simplu1.Name = "Lb_simplu1" + *< END OBJECT: ClassLib="..\clase\lb_tx.vcx" BaseClass="container" /> + + ADD OBJECT 'Pageframe1.Page2.Grid1' AS grid WITH ; + Anchor = 14, ; + ColumnCount = 7, ; + DeleteMark = .F., ; + FontName = "Arial Narrow", ; + FontSize = 10, ; + HeaderHeight = 35, ; + Height = 171, ; + Left = 7, ; + Name = "Grid1", ; + Panel = 1, ; + RecordSource = "crsActCont", ; + RowHeight = 19, ; + TabIndex = 2, ; + Top = 178, ; + Width = 721, ; + Column1.ColumnOrder = 3, ; + Column1.ControlSource = "ttod(dataact)", ; + Column1.FontName = "Arial Narrow", ; + Column1.FontSize = 10, ; + Column1.Name = "cDataact", ; + Column1.Width = 73, ; + Column2.ColumnOrder = 2, ; + Column2.ControlSource = "nract", ; + Column2.FontName = "Arial Narrow", ; + Column2.FontSize = 10, ; + Column2.Name = "cNract", ; + Column2.Width = 79, ; + Column3.ColumnOrder = 4, ; + Column3.ControlSource = "part", ; + Column3.FontName = "Arial Narrow", ; + Column3.FontSize = 10, ; + Column3.Name = "cPart", ; + Column3.Width = 289, ; + Column4.ColumnOrder = 5, ; + Column4.ControlSource = "baza", ; + Column4.FontName = "Arial Narrow", ; + Column4.FontSize = 10, ; + Column4.InputMask = (get_mask(14,gnPc)), ; + Column4.Name = "cBaza", ; + Column4.Width = 77, ; + Column5.ColumnOrder = 1, ; + Column5.ControlSource = "serie_act", ; + Column5.FontName = "Arial Narrow", ; + Column5.FontSize = 10, ; + Column5.Name = "cSerieAct", ; + Column5.Width = 54, ; + Column6.ControlSource = "suma", ; + Column6.FontName = "Arial Narrow", ; + Column6.FontSize = 10, ; + Column6.InputMask = (get_mask(14,gnPc)), ; + Column6.Name = "cSuma", ; + Column7.ControlSource = "sectie", ; + Column7.FontName = "Arial Narrow", ; + Column7.FontSize = 10, ; + Column7.Name = "cSectie", ; + Column7.Width = 174 + *< END OBJECT: BaseClass="grid" /> + + ADD OBJECT 'Pageframe1.Page2.Grid1.cBaza.Header1' AS header WITH ; + Alignment = 2, ; + Caption = "Valoare fara TVA contabil", ; + FontName = "Arial Narrow", ; + FontSize = 10, ; + Name = "Header1", ; + WordWrap = .T. + *< END OBJECT: BaseClass="header" /> + + ADD OBJECT 'Pageframe1.Page2.Grid1.cBaza.Text1' AS textbox WITH ; + BackColor = 255,255,255, ; + BorderStyle = 0, ; + FontName = "Arial Narrow", ; + FontSize = 10, ; + ForeColor = 0,0,0, ; + Margin = 0, ; + Name = "Text1" + *< END OBJECT: BaseClass="textbox" /> + + ADD OBJECT 'Pageframe1.Page2.Grid1.cDataact.Header1' AS header WITH ; + Alignment = 2, ; + Caption = "Data factura", ; + FontName = "Arial Narrow", ; + FontSize = 10, ; + Name = "Header1" + *< END OBJECT: BaseClass="header" /> + + ADD OBJECT 'Pageframe1.Page2.Grid1.cDataact.Text1' AS textbox WITH ; + BackColor = 255,255,255, ; + BorderStyle = 0, ; + FontName = "Arial Narrow", ; + FontSize = 10, ; + ForeColor = 0,0,0, ; + Margin = 0, ; + Name = "Text1" + *< END OBJECT: BaseClass="textbox" /> + + ADD OBJECT 'Pageframe1.Page2.Grid1.cNract.Header1' AS header WITH ; + Alignment = 2, ; + Caption = "Nr. factura", ; + FontName = "Arial Narrow", ; + FontSize = 10, ; + Name = "Header1" + *< END OBJECT: BaseClass="header" /> + + ADD OBJECT 'Pageframe1.Page2.Grid1.cNract.Text1' AS textbox WITH ; + BackColor = 255,255,255, ; + BorderStyle = 0, ; + FontName = "Arial Narrow", ; + FontSize = 10, ; + ForeColor = 0,0,0, ; + Margin = 0, ; + Name = "Text1" + *< END OBJECT: BaseClass="textbox" /> + + ADD OBJECT 'Pageframe1.Page2.Grid1.cPart.Header1' AS header WITH ; + Alignment = 2, ; + Caption = "Partener", ; + FontName = "Arial Narrow", ; + FontSize = 10, ; + Name = "Header1" + *< END OBJECT: BaseClass="header" /> + + ADD OBJECT 'Pageframe1.Page2.Grid1.cPart.Text1' AS textbox WITH ; + BackColor = 255,255,255, ; + BorderStyle = 0, ; + FontName = "Arial Narrow", ; + FontSize = 10, ; + ForeColor = 0,0,0, ; + Margin = 0, ; + Name = "Text1" + *< END OBJECT: BaseClass="textbox" /> + + ADD OBJECT 'Pageframe1.Page2.Grid1.cSectie.Header1' AS header WITH ; + Alignment = 2, ; + Caption = "Sectie", ; + Name = "Header1" + *< END OBJECT: BaseClass="header" /> + + ADD OBJECT 'Pageframe1.Page2.Grid1.cSectie.Text1' AS textbox WITH ; + BackColor = 255,255,255, ; + BorderStyle = 0, ; + ForeColor = 0,0,0, ; + Margin = 0, ; + Name = "Text1" + *< END OBJECT: BaseClass="textbox" /> + + ADD OBJECT 'Pageframe1.Page2.Grid1.cSerieAct.Header1' AS header WITH ; + Alignment = 2, ; + Caption = "Serie fact.", ; + FontName = "Arial Narrow", ; + FontSize = 10, ; + Name = "Header1" + *< END OBJECT: BaseClass="header" /> + + ADD OBJECT 'Pageframe1.Page2.Grid1.cSerieAct.Text1' AS textbox WITH ; + BackColor = 255,255,255, ; + BorderStyle = 0, ; + FontName = "Arial Narrow", ; + FontSize = 10, ; + ForeColor = 0,0,0, ; + Margin = 0, ; + Name = "Text1" + *< END OBJECT: BaseClass="textbox" /> + + ADD OBJECT 'Pageframe1.Page2.Grid1.cSuma.Header1' AS header WITH ; + Alignment = 2, ; + Caption = "Valoare cu TVA contabil", ; + Name = "Header1", ; + WordWrap = .T. + *< END OBJECT: BaseClass="header" /> + + ADD OBJECT 'Pageframe1.Page2.Grid1.cSuma.Text1' AS textbox WITH ; + BackColor = 255,255,255, ; + BorderStyle = 0, ; + ForeColor = 0,0,0, ; + Margin = 0, ; + Name = "Text1" + *< END OBJECT: BaseClass="textbox" /> + + ADD OBJECT 'Pageframe1.Page2.Grid2' AS grid WITH ; + Anchor = 15, ; + ColumnCount = 5, ; + DeleteMark = .F., ; + FontName = "Arial Narrow", ; + FontSize = 10, ; + HeaderHeight = 38, ; + Height = 171, ; + Left = 7, ; + Name = "Grid2", ; + Panel = 1, ; + RecordSource = "crsRulCont", ; + RowHeight = 19, ; + TabIndex = 1, ; + Top = 5, ; + Width = 721, ; + Column1.ColumnOrder = 1, ; + Column1.ControlSource = "nnir", ; + Column1.FontName = "Arial Narrow", ; + Column1.FontSize = 9, ; + Column1.Name = "cNnir", ; + Column1.Width = 79, ; + Column2.ColumnOrder = 3, ; + Column2.ControlSource = "valoare", ; + Column2.FontName = "Arial Narrow", ; + Column2.FontSize = 9, ; + Column2.InputMask = (get_mask(14,gnPc)), ; + Column2.Name = "cValoare", ; + Column2.Width = 91, ; + Column3.ColumnOrder = 4, ; + Column3.ControlSource = "valoarev", ; + Column3.FontName = "Arial Narrow", ; + Column3.FontSize = 9, ; + Column3.InputMask = (get_mask(14,gnPc)), ; + Column3.Name = "cValoareV", ; + Column3.Width = 96, ; + Column4.ColumnOrder = 2, ; + Column4.ControlSource = "ttod(dataact)", ; + Column4.FontName = "Arial Narrow", ; + Column4.FontSize = 10, ; + Column4.Name = "cDataact", ; + Column4.Width = 67, ; + Column5.ControlSource = "valoarevtva", ; + Column5.FontName = "Arial Narrow", ; + Column5.FontSize = 10, ; + Column5.InputMask = (get_mask(14,gnPc)), ; + Column5.Name = "cValoarevTva", ; + Column5.Width = 98 + *< END OBJECT: BaseClass="grid" /> + + ADD OBJECT 'Pageframe1.Page2.Grid2.cDataact.Header1' AS header WITH ; + Alignment = 2, ; + Caption = "Data NIR", ; + FontName = "Arial Narrow", ; + Name = "Header1" + *< END OBJECT: BaseClass="header" /> + + ADD OBJECT 'Pageframe1.Page2.Grid2.cDataact.Text1' AS textbox WITH ; + BackColor = 255,255,255, ; + BorderStyle = 0, ; + FontName = "Arial Narrow", ; + FontSize = 10, ; + ForeColor = 0,0,0, ; + Margin = 0, ; + Name = "Text1" + *< END OBJECT: BaseClass="textbox" /> + + ADD OBJECT 'Pageframe1.Page2.Grid2.cNnir.Header1' AS header WITH ; + Alignment = 2, ; + Caption = "Nr NIR", ; + FontName = "Arial Narrow", ; + FontSize = 10, ; + Name = "Header1" + *< END OBJECT: BaseClass="header" /> + + ADD OBJECT 'Pageframe1.Page2.Grid2.cNnir.Text1' AS textbox WITH ; + BackColor = 255,255,255, ; + BorderStyle = 0, ; + FontName = "Arial Narrow", ; + FontSize = 9, ; + ForeColor = 0,0,0, ; + Margin = 0, ; + Name = "Text1" + *< END OBJECT: BaseClass="textbox" /> + + ADD OBJECT 'Pageframe1.Page2.Grid2.cValoare.Header1' AS header WITH ; + Alignment = 2, ; + Caption = "Valoare achizitie fara TVA", ; + FontName = "Arial Narrow", ; + FontSize = 10, ; + Name = "Header1", ; + WordWrap = .T. + *< END OBJECT: BaseClass="header" /> + + ADD OBJECT 'Pageframe1.Page2.Grid2.cValoare.Text1' AS textbox WITH ; + BackColor = 255,255,255, ; + BorderStyle = 0, ; + FontName = "Arial Narrow", ; + FontSize = 9, ; + ForeColor = 0,0,0, ; + Margin = 0, ; + Name = "Text1" + *< END OBJECT: BaseClass="textbox" /> + + ADD OBJECT 'Pageframe1.Page2.Grid2.cValoareV.Header1' AS header WITH ; + Alignment = 2, ; + Caption = "Valoare vanzare fara TVA", ; + FontName = "Arial Narrow", ; + FontSize = 10, ; + Name = "Header1", ; + WordWrap = .T. + *< END OBJECT: BaseClass="header" /> + + ADD OBJECT 'Pageframe1.Page2.Grid2.cValoareV.Text1' AS textbox WITH ; + BackColor = 255,255,255, ; + BorderStyle = 0, ; + FontName = "Arial Narrow", ; + FontSize = 9, ; + ForeColor = 0,0,0, ; + Margin = 0, ; + Name = "Text1" + *< END OBJECT: BaseClass="textbox" /> + + ADD OBJECT 'Pageframe1.Page2.Grid2.cValoarevTva.Header1' AS header WITH ; + Alignment = 2, ; + Caption = "Valoare vanzare cu TVA", ; + Name = "Header1", ; + WordWrap = .T. + *< END OBJECT: BaseClass="header" /> + + ADD OBJECT 'Pageframe1.Page2.Grid2.cValoarevTva.Text1' AS textbox WITH ; + BackColor = 255,255,255, ; + BorderStyle = 0, ; + ForeColor = 0,0,0, ; + Margin = 0, ; + Name = "Text1" + *< END OBJECT: BaseClass="textbox" /> + + PROCEDURE actualizeaza_grid1 + Lparameters tcFiltru + Local lcFiltru + If TYPE('tcFiltru') <> 'C' + lcFiltru = poRul.ca_baza1.cfiltru + Else + lcFiltru = tcFiltru + Endif + save_grid_tag(Thisform.pageframe1.page1.grid2) + poRul.ca_baza1.cfiltru=lcFiltru + poRul.ca_baza1.afisare() + restore_grid_tag(Thisform.pageframe1.page1.grid2) + Thisform.pageframe1.page1.grid2.Refresh + ENDPROC + + PROCEDURE actualizeaza_grid2 + Lparameters tcFiltru + + Local lcFiltru + lcFiltru = tcFiltru + If Empty(lcFiltru) + lcFiltru = poAct.ca_baza1.cfiltru + Endif + + save_grid_tag(Thisform.pageframe1.page2.grid1) + poAct.ca_baza1.cfiltru = lcFiltru + poAct.ca_baza1.afisare() + restore_grid_tag(Thisform.pageframe1.page2.grid1) + ENDPROC + + PROCEDURE actualizeaza_grid3 + Lparameters tcFiltru + Local lcFiltru + If Empty(tcFiltru) + lcFiltru = poNirBon.ca_baza1.cfiltru + Else + lcFiltru = tcFiltru + Endif + + save_grid_tag(Thisform.pageframe1.page1.grid1) + save_grid_tag(Thisform.pageframe1.page1.grid2) + save_grid_tag(Thisform.pageframe1.page2.grid1) + save_grid_tag(Thisform.pageframe1.page2.grid2) + poNirBon.ca_baza1.cfiltru=lcFiltru + poNirBon.ca_baza1.afisare() + restore_grid_tag(Thisform.pageframe1.page1.grid1) + restore_grid_tag(Thisform.pageframe1.page1.grid2) + restore_grid_tag(Thisform.pageframe1.page2.grid1) + restore_grid_tag(Thisform.pageframe1.page2.grid2) + Thisform.pageframe1.page1.grid1.Refresh + ENDPROC + + PROCEDURE calcul_sume + If This.pageframe1.ActivePage = 1 + With This.pageframe1.page1 + lcAct = .grid1.RecordSource + lcRul = .grid2.RecordSource + Select (lcAct) + Thisform.nTotAct = baza + + Select (lcRul) + Calculate Sum(valoare) To Thisform.nTotRul + Calculate Sum(valoareV) To Thisform.nTotRulV + Locate + + If This.nTotRul <> This.nTotAct And This.nTotRulV <> This.nTotAct + .clb_tx_totrul.text_simplu1.ForeColor = Rgb(255,0,0) + .clb_tx_totrulv.text_simplu1.ForeColor = Rgb(255,0,0) + Else + .clb_tx_totrul.text_simplu1.ForeColor = Rgb(0,0,0) + .clb_tx_totrulv.text_simplu1.ForeColor = Rgb(0,0,0) + Endif + With .clb_tx_totrul.text_simplu1 + .Value = Thisform.nTotRul + .Refresh() + Endwith + With .clb_tx_totrulv.text_simplu1 + .Value = Thisform.nTotRulV + .Refresh() + Endwith + With .clb_tx_totact.text_simplu1 + .Value = Thisform.nTotAct + .Refresh() + Endwith + Endwith + Else + With This.pageframe1.page2 + lcAct = .grid1.RecordSource + lcRul = .grid2.RecordSource + Select (lcRul) + Thisform.nTotRul = valoare + Thisform.nTotRulV = valoareV + + Select (lcAct) + Calculate Sum(baza) To Thisform.nTotAct + Locate + + If This.nTotRul <> This.nTotAct And This.nTotRulV <> This.nTotAct + .clb_tx_totrul.text_simplu1.ForeColor = Rgb(255,0,0) + .clb_tx_totrulv.text_simplu1.ForeColor = Rgb(255,0,0) + Else + .clb_tx_totrul.text_simplu1.ForeColor = Rgb(0,0,0) + .clb_tx_totrulv.text_simplu1.ForeColor = Rgb(0,0,0) + Endif + With .clb_tx_totrul.text_simplu1 + .Value = Thisform.nTotRul + .Refresh() + Endwith + With .clb_tx_totrulv.text_simplu1 + .Value = Thisform.nTotRulV + .Refresh() + Endwith + With .clb_tx_totact.text_simplu1 + .Value = Thisform.nTotAct + .Refresh() + Endwith + Endwith + Endif + ENDPROC + + PROCEDURE do_cauta + Local lcFiltru + lcFiltru = [] + With This.pageframe1.page1 + lcRul = .grid2.RecordSource + + * data fact. + If .ck_dataact.Value=1 + lcFiltru = lcFiltru + .ck_dataact.filtru + ELSE + lcFiltru =lcFiltru + [ and (a1.an=?gnAn and a1.luna=?gnLuna)] + Endif + + * serie fact. + If .ck_serie_act.Value=1 + lcFiltru = lcFiltru + .ck_serie_act.filtru + Endif + + * nr. fact. + If .ck_nract.Value=1 + lcFiltru = lcFiltru + .ck_nract.filtru + Endif + + * explicatia 1 + If .ck_part.Value = 1 + *!* lcFiltru = lcFiltru + STRTRAN(.ck_part.filtru,[^PART^],IIF(pnFel = 1, [partc], [partd])) + lcFiltru = lcFiltru + .ck_part.filtru + Endif + + If .ck_sectie.Value = 1 + lcFiltru = lcFiltru + .ck_sectie.filtru + Endif + Endwith + + If !Empty(lcFiltru) + lcFiltru = Substr(lcFiltru,6) + ELSE + lcFiltru=[2=2] + Endif + + Thisform.actualizeaza_grid3(lcFiltru) + If Reccount('crsAct')=0 + aMessagebox("Cautarea nu a intors rezultate!",0+48,"Info cautare") + Endif + + This.calcul_sume + ENDPROC + + PROCEDURE do_listare + Local lcFiltruData + lcFiltruData=[] + + If Thisform.pageframe1.page1.ck_dataact.Value = 1 + lcFiltruData = lcFiltruData + Alltrim(Thisform.pageframe1.page1.ck_dataact.filtru) + lcFiltruData = Substr(lcFiltruData,6) + lcFiltruData = Strtran(lcFiltruData,'A1.','') + ENDIF + + Thisform.AlwaysOnTop=.F. + DO listare_centralizator_nir_bon WITH Thisform.nfel, thisform.lProductie, lcFiltruData + Thisform.AlwaysOnTop=.T. + + * Am mutat listarea intr-o procedura separata, sa o pot apela separat, din meniu + RETURN + + *!* *!* 11.06.2015 + *!* *!* MARIUS.MUTU + *!* *!* ID_SET = 268: bon consum pe lucrari in curs de executie cu import din fisier (pentru import consum vopsea 301 si creare si consum mix vopsea 345) + *!* *!* nu am nevoie de iesirea de mix 345 pentru ca se dubleaza iesirea de pe bon. Iese deja 301 + + *!* Local lcFiltruData + *!* lcFiltruData=[] + + *!* If Thisform.pageframe1.page1.ck_dataact.Value = 1 + *!* lcFiltruData = lcFiltruData + Alltrim(Thisform.pageframe1.page1.ck_dataact.filtru) + *!* lcFiltruData = Substr(lcFiltruData,6) + *!* lcFiltruData = Strtran(lcFiltruData,'A1.','') + *!* Endif + *!* *!* 04.02.2009 + *!* && SELECTEZ DIN RUL NIR-URILE GRUPATE DUPA COD, NNIR, SECTIE, NRORD, DATAACT + *!* lcSqlRulListare = [select cod, nnir, sectie, nrord, dataact, ] + ; + *!* [SUM(case id_set when 234 then Round((PRET+TVA)*CANT, ?gnPC)- Round(Round((PRET+TVA)*CANT, ?gnPC)*(proc_tva-1)/proc_tva, ?gnPC) ] + ; + *!* [ else ROUND(pret*] + Iif(pnFel = 1, [cant], [cante]) + [,?gnPc) end) as valoare,] + ; + *!* [SUM(case id_set when 234 then Round(Round((PRET+TVA)*CANT, ?gnPC)*(proc_tva-1)/proc_tva, ?gnPC) ] + ; + *!* [ else Round(ROUND(pret*] + Iif(pnFel = 1, [cant], [cante]) + [,?gnPc)*(proc_tva-1), ?gnPC) end) as valtva,] + ; + *!* [SUM(case id_set when 234 then Round((PRET+TVA)*CANT, ?gnPC) ] + ; + *!* [ else ROUND(pret*] + Iif(pnFel = 1, [cant], [cante]) + [,?gnPc) + Round(Round(] + Iif(pnFel = 1, [cant], [cante]) + [*pret, ?gnPC)*(PROC_TVA-1), ?gnPC) end) as valctva,] + ; + *!* [SUM(case when nr_pag in (6,7) and proc_tvav <> 0 then + Round(] + Iif(pnFel = 1, [cant], [cante]) + [*(pretv + tvav), ?gnPC) - ] + ; + *!* [ Round(Round(] + Iif(pnFel = 1, [cant], [cante]) + [*(pretv+tvav), ?gnPC)*(PROC_TVAV-1)/PROC_TVAV, ?gnPC) else ] + ; + *!* [ Round(] + Iif(pnFel = 1, [cant], [cante]) + [*pretv, ?gnPC) end) as valoarev, ] + ; + *!* [SUM(case when nr_pag in (6,7) and proc_tvav <> 0 then Round(] + Iif(pnFel = 1, [cant], [cante]) + [*(pretv + tvav), ?gnPC) else ] + ; + *!* [ Round(] + Iif(pnFel = 1, [cant], [cante]) + [*pretv, ?gnPC) + Round(Round(] + Iif(pnFel = 1, [cant], [cante]) + [*pretv, ?gnPC)*(PROC_TVAV-1), ?gnPC) end) as valoarevtva ] + ; + *!* [from vrul where ] + Iif(!EMPTY(lcFiltruData),; + *!* [(]+lcFiltruData+[ and ],; + *!* [an = ?gnAn and luna = ?gnLuna and ]) +; + *!* IIF(tlProductie, [(id_set=26000 or id_set=26001) and ],[]) + ; + *!* [id_tip_rulaj = 0 ] + gcCondSucursala + [ and ] + ; + *!* IIF(pnFel = 1, [cant], [cante]) + [ <> 0 ] + ; + *!* IIF(pnFel = 2, [ and ((id_set = 268 and cont <> '345') or id_set <> 268)], []) + ; + *!* [group by cod, nnir, dataact, nrord, sectie ORDER BY DATAACT, NNIR] + + *!* * ID_SET = 268: bon consum pe lucrari in curs de executie cu import din fisier (pentru import consum vopsea 301 si creare si consum mix vopsea 345) + *!* * nu am nevoie de iesirea de mix 345 pentru ca se dubleaza iesirea de pe bon. Iese deja 301 + + *!* lcCursor = [crsRulListare] + *!* lnSucces = goExecutor.oexecute(lcSqlRulListare,lcCursor) + *!* If lnSucces < 0 + *!* aMESSAGEBOX(goExecutor.cEroare,0+16,'Eroare') + *!* Return + *!* Endif + *!* *!* 04.02.2009 ^ + *!* If Used('crsraport') + *!* Use In crsraport + *!* Endif + + *!* If Thisform.nfel=2 && Bonuri + *!* lcRaport=[centralizator_bon.frx] + *!* Select nnir,dataact,nrord,sectie,Sum(valoare) As valoare,Sum(valoarev) As valoarev ; + *!* FROM crsrullistare Group By nnir,dataact,nrord,sectie ; + *!* ORDER By dataact,nnir Into Cursor crsraport + *!* Else + *!* lcRaport=[centralizator_nir.frx] + *!* If Used('crstoate') + *!* Use In crstoate + *!* Endif + + *!* If Type('crsact.part') <> 'U' + *!* Select a.Part As nume,a.serie_act,a.nract,a.dataact,a.baza As valftvacont, a.suma As valctvacont, b.nnir,b.valoare As valftva,b.valtva As valtva,b.valctva As valctva, ; + *!* a.disc_baza as valdiscb, a.disc_tva as valdisct, b.valoarev - b.valoare as valadaos ; + *!* FROM crsact a Left Join crsrullistare b On a.cod=b.cod ; + *!* ORDER By a.dataact,b.nnir Into Cursor crstoate + *!* Else + *!* Select '' As nume,a.serie_act,a.nract,a.dataact,a.baza As valftvacont, a.suma As valctvacont, b.nnir,b.valoare As valftva,b.valtva,b.valctva ; + *!* FROM crsact a Left Join crsrullistare b On a.cod=b.cod ; + *!* ORDER By a.dataact,b.nnir Into Cursor crstoate + *!* Endif + + *!* Select nume,nract,serie_act,dataact,nnir,valftvacont, valctvacont, Sum(valftva) As valftva,Sum(valtva) As valtva,Sum(valctva) As valctva ,SUM(valdiscb) as valdiscb,SUM(valdisct) as valdisct,SUM(valadaos) as valadaos; + *!* FROM crstoate Group By nume,serie_act,nract,dataact,nnir,valftvacont, valctvacont ; + *!* ORDER By dataact,nnir Into Cursor crsraport + + *!* If Used('crstoate') + *!* Use In crstoate + *!* Endif + *!* Endif + + *!* If Reccount('crsraport')>0 + *!* Thisform.AlwaysOnTop=.F. + *!* pcDataora=get_ora(2) + *!* Select crsraport + *!* Report Form (lcRaport) To Printer Prompt Preview + *!* Thisform.AlwaysOnTop=.T. + *!* Else + *!* aMESSAGEBOX("Nu exista inregistrari pentru listare!",0+48,"Atentie") + *!* Endif + + *!* If Used('crsraport') + *!* Use In crsraport + *!* Endif + + ENDPROC + + PROCEDURE do_reset + With This.pageframe1.page1 + .SetAll('value',0,'ck_filtru_text') + .SetAll('value',0,'ck_filtru_numar') + .ck_serie_act.SetFocus() + Endwith + ENDPROC + + PROCEDURE Init + Parameters tnFel, tlProductie + DoDefault() + Thisform.nfel=tnFel + If tnFel = 2 && BON-uri + This.lb_titlu_alb_b121.Caption = [Verificare BONURI] + With Thisform.pageframe1.page1 + .clb_tx_totrul.lb_simplu1.Caption = [Valoare BON] + .clb_tx_totrulv.lb_simplu1.Caption = [Valoare vanzare BON] + .Caption = [Verificare Facturi cu BONURI] + .grid2.column2.header1.Caption = [Nr. BON] + Endwith + With Thisform.pageframe1.page2 + .clb_tx_totrul.lb_simplu1.Caption = [Valoare BON] + .clb_tx_totrulv.lb_simplu1.Caption = [Valoare vanzare BON] + .Caption = [Verificare BONURI cu Facturi] + .grid2.cNnir.header1.Caption = [Nr. BON] + .grid2.cDataAct.header1.Caption = [Data BON] && modificare ROAPRODUCTIE v 2.0.2 + Endwith + Endif + + Thisform.lProductie = tlProductie + + If Thisform.lProductie && AND Thisform.nfel = 1 + With Thisform.pageframe1.page1 + .grid1.cPart.Width=0 + .ck_part.Visible = .F. + Endwith + Endif + + If Thisform.lProductie + If tnFel = 1 + This.lb_titlu_alb_b121.Caption = [Procese verbale de productie] + Else + This.lb_titlu_alb_b121.Caption = [Bonuri de consum] + Endif + This.pageframe1.page1.Caption = [Verificare document cu rulaje] + This.pageframe1.page2.Caption = [Verificare rulaje cu document] + Endif + This.pageframe1.page1.grid1.SetFocus() + This.WindowState = 2 + ENDPROC + + PROCEDURE Pageframe1.Page1.Grid1.AfterRowColChange + Lparameters nColIndex + If Inlist(This.RowColChange,0,1,3) + Select crsAct + pnCod = cod + Thisform.actualizeaza_grid1("") + Thisform.calcul_sume + Endif + + ENDPROC + + PROCEDURE Pageframe1.Page2.Activate + This.grid2.SetFocus() + ENDPROC + + PROCEDURE Pageframe1.Page2.Grid2.AfterRowColChange + Lparameters nColIndex + If Inlist(This.RowColChange,0,1,3) + Select crsRulCont + pnCod = cod + *!* pcCont = Alltrim(Cont) + *!* pcAcont = Alltrim(Nvl(acont,'XXXX')) + Thisform.actualizeaza_grid2 + Thisform.calcul_sume + Endif + ENDPROC + +ENDDEFINE diff --git a/ferestre/frm_viz_atasamente.sc2 b/ferestre/frm_viz_atasamente.sc2 new file mode 100644 index 0000000..8280f3b --- /dev/null +++ b/ferestre/frm_viz_atasamente.sc2 @@ -0,0 +1,55 @@ +*-------------------------------------------------------------------------------------------------------------------------------------------------------- +* (EN) AUTOGENERATED - ATTENTION!! - NOT INTENDED FOR EXECUTION!! USE ONLY FOR MERGING CHANGES AND STORING WITH SCM TOOLS!! +*-------------------------------------------------------------------------------------------------------------------------------------------------------- +*< FOXBIN2PRG: Version="1.21" SourceFile="frm_viz_atasamente.scx" CPID="1252" /> (Solo para binarios VFP 9 / Only for VFP 9 binaries) +* +* +DEFINE CLASS dataenvironment AS dataenvironment + *< CLASSDATA: Baseclass="dataenvironment" Timestamp="" Scale="" Uniqueid="" ClassIcon="1" /> + + * + DataSource = .NULL. + Height = 0 + Left = 0 + Name = "Dataenvironment" + Top = 0 + Width = 0 + * + +ENDDEFINE + +DEFINE CLASS frm_viz_atasamente1 AS frm_viz_atasamente OF "..\clase\ferestre_atasamente.vcx" + *< CLASSDATA: Baseclass="form" Timestamp="" Scale="" Uniqueid="" /> + + * + DoCreate = .T. + Name = "Frm_viz_atasamente1" + _shape3.Name = "_shape3" + _shape1.Name = "_shape1" + _shape2.Name = "_shape2" + Lb_titlu_alb_b121.Name = "Lb_titlu_alb_b121" + Gridsort1.Name = "Gridsort1" + BUT_TERMIN1.Name = "BUT_TERMIN1" + grid_linkuri.Column1.Header1.Name = "Header1" + grid_linkuri.Column1.Name = "Column1" + grid_linkuri.Column1.Text1.Name = "Text1" + grid_linkuri.Column2.Header1.Name = "Header1" + grid_linkuri.Column2.Name = "Column2" + grid_linkuri.Column2.Text1.Name = "Text1" + grid_linkuri.Column3.Header1.Name = "Header1" + grid_linkuri.Column3.Name = "Column3" + grid_linkuri.Column3.Text1.Name = "Text1" + grid_linkuri.Column4.Header1.Name = "Header1" + grid_linkuri.Column4.Name = "Column4" + grid_linkuri.Column4.Text1.Name = "Text1" + grid_linkuri.Column5.Header1.Name = "Header1" + grid_linkuri.Column5.Name = "Column5" + grid_linkuri.Column5.Text1.Name = "Text1" + grid_linkuri.Name = "grid_linkuri" + But_sterge1.Name = "But_sterge1" + But_edit1.Name = "But_edit1" + But_attach1.Name = "But_attach1" + But_attach2.Name = "But_attach2" + * + +ENDDEFINE diff --git a/ferestre/setariupdate.sc2 b/ferestre/setariupdate.sc2 new file mode 100644 index 0000000..d551b44 --- /dev/null +++ b/ferestre/setariupdate.sc2 @@ -0,0 +1,210 @@ +*-------------------------------------------------------------------------------------------------------------------------------------------------------- +* (EN) AUTOGENERATED - ATTENTION!! - NOT INTENDED FOR EXECUTION!! USE ONLY FOR MERGING CHANGES AND STORING WITH SCM TOOLS!! +*-------------------------------------------------------------------------------------------------------------------------------------------------------- +*< FOXBIN2PRG: Version="1.21" SourceFile="setariupdate.scx" CPID="1252" /> (Solo para binarios VFP 9 / Only for VFP 9 binaries) +* +* +DEFINE CLASS dataenvironment AS dataenvironment + *< CLASSDATA: Baseclass="dataenvironment" Timestamp="" Scale="" Uniqueid="" ClassIcon="1" /> + + * + DataSource = .NULL. + Height = 0 + Left = 0 + Name = "Dataenvironment" + Top = 0 + Width = 0 + * + +ENDDEFINE + +DEFINE CLASS form1 AS form + *< CLASSDATA: Baseclass="form" Timestamp="" Scale="" Uniqueid="" /> + + *-- OBJECTDATA items order determines ZOrder / El orden de los items OBJECTDATA determina el ZOrder + *< OBJECTDATA: ObjPath="Commandgroup1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="Label3" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="Label4" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="Text1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="Text2" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="Label5" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="Combo1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="Command2" UniqueID="" Timestamp="" /> + + * + AutoCenter = .T. + BorderStyle = 1 + Caption = "Setari update" + DoCreate = .T. + Height = 143 + MaxButton = .F. + MinButton = .F. + Name = "Form1" + ShowInTaskBar = .T. + ShowWindow = 1 + Width = 550 + WindowType = 1 + * + + ADD OBJECT 'Combo1' AS combobox WITH ; + ControlSource = "", ; + Height = 24, ; + Left = 129, ; + Name = "Combo1", ; + RowSource = "", ; + RowSourceType = 0, ; + Style = 2, ; + TabIndex = 2, ; + Top = 65, ; + Width = 290 + *< END OBJECT: BaseClass="combobox" /> + + ADD OBJECT 'Command2' AS commandbutton WITH ; + Caption = "...", ; + Height = 23, ; + Left = 425, ; + Name = "Command2", ; + TabIndex = 4, ; + Top = 99, ; + Width = 24 + *< END OBJECT: BaseClass="commandbutton" /> + + ADD OBJECT 'Commandgroup1' AS commandgroup WITH ; + ButtonCount = 0, ; + Height = 123, ; + Left = 12, ; + Name = "Commandgroup1", ; + TabIndex = 5, ; + Top = 9, ; + Value = 0, ; + Width = 528 + *< END OBJECT: BaseClass="commandgroup" /> + + ADD OBJECT 'Label3' AS label WITH ; + AutoSize = .T., ; + Caption = "Director temporar", ; + Height = 17, ; + Left = 26, ; + Name = "Label3", ; + TabIndex = 6, ; + Top = 102, ; + Width = 98 + *< END OBJECT: BaseClass="label" /> + + ADD OBJECT 'Label4' AS label WITH ; + AutoSize = .T., ; + Caption = "Adresa update", ; + Height = 17, ; + Left = 26, ; + Name = "Label4", ; + TabIndex = 7, ; + Top = 36, ; + Width = 82 + *< END OBJECT: BaseClass="label" /> + + ADD OBJECT 'Label5' AS label WITH ; + AutoSize = .T., ; + Caption = "Frecventa update", ; + Height = 17, ; + Left = 26, ; + Name = "Label5", ; + TabIndex = 8, ; + Top = 69, ; + Width = 96 + *< END OBJECT: BaseClass="label" /> + + ADD OBJECT 'Text1' AS textbox WITH ; + Height = 23, ; + Left = 129, ; + Name = "Text1", ; + TabIndex = 3, ; + Top = 99, ; + Width = 289 + *< END OBJECT: BaseClass="textbox" /> + + ADD OBJECT 'Text2' AS textbox WITH ; + Height = 23, ; + Left = 129, ; + Name = "Text2", ; + TabIndex = 1, ; + Top = 33, ; + Width = 384 + *< END OBJECT: BaseClass="textbox" /> + + PROCEDURE Init + SET PROCEDURE TO wwapi.prg ADDITIVE + lcIniFileName = FORCEEXT(SYS(16,0), 'ini') + && populez combo-ul cu valorile default + thisform.combo1.AddItem("La fiecare deschidere a programului", 1) && val = -1 + thisform.combo1.AddItem("In fiecare zi", 2) && val = 1 + thisform.combo1.AddItem("Niciodata", 3) && val = 0 + + && iau datele din ini ca sa completez formularul + + loAPI = CREATEOBJECT("wwAPI") + + ldLastCheckDate = NVL(CTOD(loApi.GetProfileString(lcIniFileName, "Main", "LastVersionCheck")), {}) + + thisform.text1.Value = NVL(ALLTRIM(loApi.GetProfileString(lcIniFileName, "Main", "DownloadPath")),"") + thisform.text2.Value = NVL(ALLTRIM(loApi.GetProfileString(lcIniFileName, "Main", "VersionUpdateUrl")),"") + lnFrecventa = VAL(loApi.GetProfileString(lcIniFileName, "Main", "UpdateFrequency")) + DO CASE + CASE lnFrecventa = -1 + thisform.combo1.ListIndex = 1 + CASE lnFrecventa = 1 + thisform.combo1.ListIndex = 2 + CASE lnFrecventa = 0 + thisform.combo1.ListIndex = 3 + ENDCASE + ENDPROC + + PROCEDURE Combo1.LostFocus + && la lost focus scriu in ini + loAPI = CREATEOBJECT("wwAPI") + lcIniFileName = FORCEEXT(SYS(16,0), 'ini') + lnSelectat = this.ListIndex + DO CASE + CASE lnSelectat = 1 + loAPI.WriteProfileString(lcIniFileName, "Main", "UpdateFrequency", "-1") + CASE lnSelectat = 2 + loAPI.WriteProfileString(lcIniFileName, "Main", "UpdateFrequency", "1") + CASE lnSelectat = 3 + loAPI.WriteProfileString(lcIniFileName, "Main", "UpdateFrequency", "0") + ENDCASE + ENDPROC + + PROCEDURE Command2.Click + lcDirector = ALLTRIM(GETDIR("c:\","Alegeti directorul destinatie.")) + IF DIRECTORY(lcDirector) + thisform.text1.Value = lcDirector + thisform.text1.SetFocus() + ENDIF + ENDPROC + + PROCEDURE Text1.LostFocus + && la lostfocus scriu in ini + lcDownloadPath = ADDBS(ALLTRIM(UPPER(this.Value))) + IF EMPTY(lcDownloadPath) + RETURN + ENDIF + loAPI = CREATEOBJECT("wwAPI") + lcIniFileName = FORCEEXT(SYS(16,0), 'ini') + IF !DIRECTORY(lcDownloadPath) + md(lcDownloadPath) + ENDIF + loAPI.WriteProfileString(lcIniFileName, "Main", "DownloadPath", lcDownloadPath) + + ENDPROC + + PROCEDURE Text2.LostFocus + && la lost focus scriu in ini. + lcURL = ALLTRIM(this.Value) + IF EMPTY(lcURL) + RETURN + ENDIF + loAPI = CREATEOBJECT("wwAPI") + lcIniFileName = FORCEEXT(SYS(16,0), 'ini') + loAPI.WriteProfileString(lcIniFileName, "Main", "VersionUpdateUrl", lcURL) + ENDPROC + +ENDDEFINE diff --git a/ferestre/updateapp.sc2 b/ferestre/updateapp.sc2 new file mode 100644 index 0000000..752d757 --- /dev/null +++ b/ferestre/updateapp.sc2 @@ -0,0 +1,401 @@ +*-------------------------------------------------------------------------------------------------------------------------------------------------------- +* (EN) AUTOGENERATED - ATTENTION!! - NOT INTENDED FOR EXECUTION!! USE ONLY FOR MERGING CHANGES AND STORING WITH SCM TOOLS!! +*-------------------------------------------------------------------------------------------------------------------------------------------------------- +*< FOXBIN2PRG: Version="1.21" SourceFile="updateapp.scx" CPID="1252" /> (Solo para binarios VFP 9 / Only for VFP 9 binaries) +* +* +DEFINE CLASS dataenvironment AS dataenvironment + *< CLASSDATA: Baseclass="dataenvironment" Timestamp="" Scale="" Uniqueid="" ClassIcon="1" /> + + * + DataSource = .NULL. + Height = 0 + Left = 0 + Name = "Dataenvironment" + Top = 0 + Width = 0 + * + +ENDDEFINE + +DEFINE CLASS frmcodeupdate AS form + *< CLASSDATA: Baseclass="form" Timestamp="" Scale="" Uniqueid="" /> + + *-- OBJECTDATA items order determines ZOrder / El orden de los items OBJECTDATA determina el ZOrder + *< OBJECTDATA: ObjPath="Label1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="lblVersion" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="edtNews" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="Label2" UniqueID="" Timestamp="" /> + + * + *m: checkfornewversion && Checks for new version and optionally downloads the new version. + *m: makevbsfile + *m: setexefile + *m: setinifile + *m: setversionnumber + *m: update + *m: updateversion + *p: cdownloadpath + *p: cexefile + *p: cinifile + *p: cnewsmessage + *p: csuperpath + *p: cversion + * + + * + AutoCenter = .T. + BorderStyle = 1 + Caption = "Auto Update" + cdownloadpath = + cexefile = + cinifile = + cnewsmessage = + csuperpath = + cversion = 1.00 + DoCreate = .T. + Height = 421 + Name = "frmCodeUpdate" + ShowWindow = 2 + Width = 432 + * + + ADD OBJECT 'edtNews' AS editbox WITH ; + ControlSource = "thisform.cNewsMessage", ; + Height = 288, ; + Left = 12, ; + Name = "edtNews", ; + ReadOnly = .T., ; + TabIndex = 5, ; + Top = 120, ; + Width = 408 + *< END OBJECT: BaseClass="editbox" /> + + ADD OBJECT 'Label1' AS label WITH ; + Alignment = 2, ; + BackStyle = 0, ; + Caption = "Auto Update", ; + FontBold = .T., ; + FontName = "Verdana", ; + FontSize = 18, ; + Height = 36, ; + Left = 12, ; + Name = "Label1", ; + TabIndex = 8, ; + Top = 24, ; + Width = 408 + *< END OBJECT: BaseClass="label" /> + + ADD OBJECT 'Label2' AS label WITH ; + AutoSize = .T., ; + BackStyle = 0, ; + Caption = "Modificari", ; + FontBold = .T., ; + Height = 17, ; + Left = 12, ; + Name = "Label2", ; + TabIndex = 10, ; + Top = 102, ; + Width = 58 + *< END OBJECT: BaseClass="label" /> + + ADD OBJECT 'lblVersion' AS label WITH ; + Alignment = 2, ; + BackStyle = 0, ; + Caption = "Version Number here", ; + FontName = "Tahoma", ; + FontSize = 8, ; + Height = 24, ; + Left = 72, ; + Name = "lblVersion", ; + TabIndex = 9, ; + Top = 60, ; + Width = 289 + *< END OBJECT: BaseClass="label" /> + + PROCEDURE checkfornewversion && Checks for new version and optionally downloads the new version. + LOCAL loUpdate, loAPI, lcURL, lcVersion, lcDownloadPath, lnPos, lcUpdateDirectory + + + *** Retrieve the URL to use for version checks + *** This is an XML file + loAPI = CREATEOBJECT("wwAPI") + + ldLastCheckDate = NVL(CTOD(loApi.GetProfileString(this.cInifile, "Main", "LastVersionCheck")), {}) + + IF ISNULL(loApi.GetProfileString(this.cInifile, "Main", "UpdateFrequency")) + loAPI.WriteProfileString(this.cInifile, "Main", "UpdateFrequency", "-1") + ENDIF + + lnUpdateFrequency = VAL(loApi.GetProfileString(this.cInifile, "Main", "UpdateFrequency")) + + DO CASE + CASE lnUpdateFrequency = -1 && check every time + ldCheckDate = DATE() + CASE lnUpdateFrequency = 0 && never check + ldCheckDate = {} + OTHERWISE + ldCheckDate = ldLastCheckDate + lnUpdateFrequency + ENDCASE + + + *** Check only on UpdateFrequency + IF ldCheckDate # DATE() + *** Skip version check + RETURN + ENDIF + + *** Update the LastCheckDate + *** And write out the updated version number + loAPI.WriteProfileString(this.cInifile, "Main", "LastVersionCheck", TRANSFORM(DATE())) + + lcUrl = loAPI.GetProfileString(this.cInifile,"Main","VersionUpdateUrl") + IF isnull(lcUrl) + loAPI.WriteProfileString(this.cInifile, "Main", "VersionUpdateUrl", "http://localhost/codeupdate/") + lcUrl = loAPI.GetProfileString(this.cInifile,"Main","VersionUpdateUrl") + ENDIF + + lcDownloadPath = loAPI.GetProfileString(this.cInifile,"Main","DownloadPath") + + lcSuperPath = ADDBS(JUSTPATH(this.cExeFile)) + lnPos = AT('\', lcSuperPath, 2) + IF lnPos > 0 + lcSuperPath = LEFT(lcSuperPath, lnPos) + ENDIF + + IF EMPTY(ALLTRIM(TRANSFORM(NVL(lcDownloadPath,"")))) OR !DIRECTORY(NVL(lcDownloadPath,"")) + lcDownloadPath = ADDBS(UPPER(lcSuperPath)) + 'CODEUPDATE\' + IF !DIRECTORY(lcDownloadPath) + md(lcDownloadPath) + ENDIF + loAPI.WriteProfileString(this.cInifile, "Main", "DownloadPath", lcDownloadPath) + ENDIF + + this.cDownloadPath = ADDBS(lcDownloadPath) + this.cSuperPath = ADDBS(lcSuperPath) + loUpdate=CREATEOBJECT("wwCodeUpdate") + + *** Url where to check for new versions (XML file) + loUpdate.cVersionUrl = lcUrl + loUpdate.cVersionType = "C" + + *** DownloadPath + loUpdate.cDownloadPath = this.cDownloadPath + + *** Name of the application's EXE file to hotswap + loUpdate.cEXEFile = this.cExeFile && "sampleapp.exe" + + *** Returns the current available version from the XML file + lcVersion = loUpdate.GetVersionInfo() + this.cNewsMessage = loUpdate.cNewsMessage + this.edtNews.Refresh() + + + *** If no version we couldn't get the info from + *** the Web Server + IF EMPTY(lcVersion) + *** Couldn't retrieve version info + *** so just exit + RETURN + ENDIF + + *** Compare the version number against + *** the app's version number - here a property of the form + *** Usually you'd use a .H setting, database field or Config object + + IF lcVersion # THIS.cVersion + *** Display message for the user and ask to download + IF aMessageBox(loUpdate.cUserMessage + CHR(13) + CHR(13) +; + "Doriti sa descarcati acum? (" + ; + LTRIM(TRANSFORM(loUpdate.nFileSize,"999,999,999")) + ; + "kb)",32+4,"Romfast") = 6 + + * loUpdate.CreateHTTPClient() + * loUpdate.oHTTP.cCaption = "Download SampleApp Update" + + IF !loUpdate.DownloadUpdate(.T., FORCEEXT(JUSTFNAME(this.cExeFile),'xml')) + aMessageBox(loUpdate.cErrorMsg,48,"Eroare download") + ELSE + lcFileVBS = this.cSuperPath + [codeupdate\CodeUpdate.vbs] + IF !FILE(lcFileVBS) + this.makeVBSFile(lcFileVBS) + ENDIF + + lcUpdateDirectory = JUSTPATH(SYS(16,0)) + CD (lcUpdateDirectory) + *** Run the generic CodeUpdate Exe and quit application + *--------------------- + lcNumeArhiva = JUSTFNAME(loUpdate.cOnlineFileUrl) + lcUpdateExe = ADDBS(JUSTPATH(ShortPath(lcFileVBS))) + lcNumeArhiva + *MESSAGEBOX(lcUpdateExe,0,"lcUpdateExe") + *!* lcCodeUpdate = [WSCRIPT ] + SHORTPATH(lcFileVBS) + [ "] + this.cExeFile + [" "] + ; + *!* SHORTPATH(this.cSuperPath + [codeupdate\] + JUSTSTEM(this.cExeFile) + [.sfx.exe]) + ; + *!* [ /auto ] + ADDBS(JUSTPATH(this.cExeFile)) + [" ] +; + *!* ["] + UPPER(JUSTSTEM(this.cExeFile)) + [" "] + IIF(TYPE("gcParameters")="C",gcParameters,"") + ["] + lcCodeUpdate = [WSCRIPT ] + SHORTPATH(lcFileVBS) + [ "] + this.cExeFile + [" "] + ; + lcUpdateExe + ; + [ -o] + ADDBS(JUSTPATH(this.cExeFile)) + [ -y " ] +; + ["] + UPPER(JUSTSTEM(this.cExeFile)) + [" "] + IIF(TYPE("gcParameters")="C",gcParameters,"") + ["] + *=============================== + *MESSAGEBOX(lcCodeUpdate) + _cliptext = lcCodeUpdate + loUpdate.RunUpdateExe(lcCodeUpdate) + this.Release() + QUIT && Just to be safe + ENDIF + ENDIF + ENDIF + + RETURN + + ENDPROC + + PROCEDURE Init + LPARAMETERS tcExeFileName, tcIniFileName + + *** Load the class libraries required + DO wwCodeUpdate + + *** Profile INI usage + SET PROCEDURE TO wwAPI Additive + + THIS.setExeFile(tcExeFileName) + THIS.setIniFile(tcIniFileName) + + *** Update the version label + THIS.SetVersionNumber() + + *** And simply check for a new version + THIS.CheckForNewVersion() + + *** Check for Data File Update requirements and update + THIS.UpdateVersion() + ENDPROC + + PROCEDURE makevbsfile + LPARAMETERS tcVBSFile + + LOCAL lcVBS + IF EMPTY(tcVBSFile) + RETURN + ENDIF + + TEXT TO lcVBS NOSHOW + if WScript.Arguments.Length < 3 then + WScript.Echo("Numar invalid de parametri." + vbcrlf + _ + "Sintaxa: WSCRIPT CodeUpdate.vbs ") + Wscript.Quit(1) + end if + + lcExe = WScript.Arguments(0) + lcUpdateExe = WScript.Arguments(1) + lcAppName = WScript.Arguments(2) + lcCommandLineParameters = WScript.Arguments(3) + + Set oShell = Wscript.CreateObject("Wscript.Shell") + + '*** Wait for 5 seconds for app to shut down + lnResult = oShell.Popup("Astept inchiderea aplicatiei... ",5,lcAppName + " Update ",64) + + '*** Run the Update Exe + oShell.Exec(lcUpdateExe) + + lnResult = oShell.Popup("Actualizez programul... ",5,lcAppName + " Update ",64) + + '*** Check that the Exe exists + Set oFile = CreateObject("Scripting.FileSystemObject") + if not oFile.FileExists(lcExe) then + lnResult = oShell.Popup("Actualizez programul...... ",5,lcAppName + " Update ",64) + end if + + lcExeParam = lcExe + " " + lcCommandLineParameters + oShell.Exec(lcExeParam) + + ENDTEXT + + STRTOFILE(lcVBS, tcVBSFile) + ENDPROC + + PROCEDURE Release + ies=.t. + QUIT + + ENDPROC + + PROCEDURE setexefile + LPARAMETERS tcExeFileName + + IF PCOUNT() = 0 OR TYPE('tcExeFileName') # 'C' + lcExeFileName = SYS(16,0) + ELSE + lcExeFileName = tcExeFileName + ENDIF + THIS.cExefile = lcExeFileName + + ENDPROC + + PROCEDURE setinifile + LPARAMETERS tcExeFileName + + IF PCOUNT() = 0 OR TYPE('tcIniFileName') # 'C' + lcIniFileName = FORCEEXT(SYS(16,0), 'ini') + ELSE + lcIniFileName = tcIniFileName + ENDIF + THIS.cInifile = lcIniFileName + ENDPROC + + PROCEDURE setversionnumber + LOCAL laFiles, lcVersion, lcExeFile, lnElements + DIMENSION laFiles[1] + + lcExeFile = ADDBS(JUSTPATH(SYS(16,0))) + JUSTFNAME(this.cExeFile) + IF FILE(lcExeFile) + lnElements = AGETFILEVERSION(laFiles, lcExeFile) + IF lnElements >= 4 + lcVersion = laFiles[4] + ELSE + lcVersion = "" + ENDIF + ELSE + lcVersion = "" + ENDIF + + this.cversion = lcVersion + + THIS.lblVersion.Caption = "Versiunea " + TRANSFORM(lcVersion) + + + ENDPROC + + PROCEDURE update + *** And simply check for a new version + THIS.CheckForNewVersion() + + *** Check for Data File Update requirements and update + THIS.UpdateVersion() + ENDPROC + + PROCEDURE updateversion + loAPI = CREATEOBJECT("wwAPI") + + lcVersion = loAPI.GetProfileString(THIS.cInifile, "Main", "Version") + IF lcVersion = THISFORM.cVersion + *** Nothing to do + RETURN + ELSE + *** Code to perform data updates goes here + WAIT WINDOW "Numarul versiunii nu este actualizat. Actualizare..." NOWAIT + *** COD DE EFECTUAT LA PRIMA RULARE A UNEI VERSIUNI ACTUALIZATE + + *** And write out the updated version number + loAPI.WriteProfileString(THIS.cInifile, "Main", "Version", LTRIM(TRANSFORM(THISFORM.cVersion))) + + RETURN + + ENDIF + + + ENDPROC + +ENDDEFINE diff --git a/ferestre/verificare.sc2 b/ferestre/verificare.sc2 new file mode 100644 index 0000000..5bf0f2c --- /dev/null +++ b/ferestre/verificare.sc2 @@ -0,0 +1,1353 @@ +*-------------------------------------------------------------------------------------------------------------------------------------------------------- +* (EN) AUTOGENERATED - ATTENTION!! - NOT INTENDED FOR EXECUTION!! USE ONLY FOR MERGING CHANGES AND STORING WITH SCM TOOLS!! +*-------------------------------------------------------------------------------------------------------------------------------------------------------- +*< FOXBIN2PRG: Version="1.21" SourceFile="verificare.scx" CPID="1252" /> (Solo para binarios VFP 9 / Only for VFP 9 binaries) +* +* +DEFINE CLASS _frmbase12 AS _frmbase OF "..\clase\_frm_base.vcx" + *< CLASSDATA: Baseclass="form" Timestamp="" Scale="" Uniqueid="" /> + + *-- OBJECTDATA items order determines ZOrder / El orden de los items OBJECTDATA determina el ZOrder + *< OBJECTDATA: ObjPath="Grid1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="Grid1.Column1.Header1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="Grid1.Column1.Text1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="Grid1.Column2.Header2" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="Grid1.Column2.Text1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="Grid1.Column3.Header3" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="Grid1.Column3.Text1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="Grid1.Column4.Header4" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="Grid1.Column4.Text1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="Grid1.Column5.Header5" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="Grid1.Column5.Text1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="Grid1.Column6.Header6" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="Grid1.Column6.Text1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="Grid1.Column7.Header7" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="Grid1.Column7.Text1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="Grid1.Column8.Header8" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="Grid1.Column8.Text1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="Grid1.Column9.Header9" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="Grid1.Column9.Text1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="Grid1.Column10.Header1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="Grid1.Column10.Text1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="Grid1.Column11.Header1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="Grid1.Column11.Text1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="Grid1.Column12.Header1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="Grid1.Column12.Text1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="Grid1.Column13.Header1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="Grid1.Column13.Text1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="Grid1.Column14.Header1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="Grid1.Column14.Text1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="Grid1.Column16.Header1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="Grid1.Column16.Text1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="Grid1.Column17.Header1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="Grid1.Column17.Text1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="Grid1.Column19.Header1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="Grid1.Column19.Text1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="Grid1.Column20.Header1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="Grid1.Column20.Text1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="Grid1.Column25.Header1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="Grid1.Column25.Text1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="Grid1.Column26.Header1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="Grid1.Column26.Text1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="Grid1.Column27.Header1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="Grid1.Column27.Text1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="Grid1.Column28.Header1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="Grid1.Column28.Text1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="Grid1.Column29.Header1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="Grid1.Column29.Text1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="Grid1.Column30.Header1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="Grid1.Column30.Text1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="Grid1.Column31.Header1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="Grid1.Column31.Text1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="Grid1.Column32.Header1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="Grid1.Column32.Text1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="Grid1.Column33.Header1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="Grid1.Column33.Text1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="Grid1.Column34.Header1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="Grid1.Column34.Text1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="Grid1.Column15.Header1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="Grid1.Column15.Text1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="Grid1.Column18.Header1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="Grid1.Column18.Text1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="Grid1.Column21.Header1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="Grid1.Column21.Text1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="Grid1.Column22.Header1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="Grid1.Column22.Text1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="Grid1.Column23.Header1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="Grid1.Column23.Text1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="Grid1.Column24.Header1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="Grid1.Column24.Text1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="Lb_shortcuts1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="But_precedent1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="BUT_RENUNT1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="Gridextra1" UniqueID="" Timestamp="" /> + + * + *p: lcompletare_partener + *p: lnuverificcont + *p: lverificaacont + * + + * + DataSession = 1 + DoCreate = .T. + Height = 329 + lcompletare_partener = .T. + lnuverificcont = .F. + lverificaacont = .T. + Name = "_frmbase12" + Width = 667 + WindowType = 1 + _SHAPE1.Anchor = 10 + _SHAPE1.Height = 30 + _SHAPE1.Left = 0 + _SHAPE1.Name = "_SHAPE1" + _SHAPE1.Top = -1 + _SHAPE1.Width = 673 + _SHAPE1.ZOrderSet = 1 + _SHAPE2.Height = 29 + _SHAPE2.Left = 568 + _SHAPE2.Name = "_SHAPE2" + _SHAPE2.Top = 0 + _SHAPE2.Width = 99 + _SHAPE2.ZOrderSet = 0 + LB_TITLU_ALB_B121.Caption = "VERIFICAREA SETULUI DE NOTE CONTABILE" + LB_TITLU_ALB_B121.FontSize = 10 + LB_TITLU_ALB_B121.Left = 6 + LB_TITLU_ALB_B121.Name = "LB_TITLU_ALB_B121" + LB_TITLU_ALB_B121.Top = 2 + LB_TITLU_ALB_B121.ZOrderSet = 4 + BUT_TERMIN1.Anchor = 8 + BUT_TERMIN1.Left = 635 + BUT_TERMIN1.Name = "BUT_TERMIN1" + BUT_TERMIN1.Top = 1 + BUT_TERMIN1.ZOrderSet = 8 + GRIDSORT1.Left = 24 + GRIDSORT1.Name = "GRIDSORT1" + GRIDSORT1.Top = 72 + * + + ADD OBJECT 'But_precedent1' AS but_precedent WITH ; + Anchor = 8, ; + Left = 575, ; + Name = "But_precedent1", ; + Top = 1, ; + Visible = .F., ; + ZOrderSet = 6 + *< END OBJECT: ClassLib="..\clase\cmd_butoane.vcx" BaseClass="commandbutton" /> + + ADD OBJECT 'BUT_RENUNT1' AS but_renunt WITH ; + Anchor = 8, ; + Left = 605, ; + Name = "BUT_RENUNT1", ; + Top = 1, ; + ZOrderSet = 7 + *< END OBJECT: ClassLib="..\clase\cmd_butoane.vcx" BaseClass="commandbutton" /> + + ADD OBJECT 'Grid1' AS grid WITH ; + Anchor = 15, ; + BackColor = 255,255,255, ; + ColumnCount = 34, ; + DeleteMark = .F., ; + FontSize = 10, ; + GridLineColor = 192,192,192, ; + GridLines = 3, ; + Height = 299, ; + Left = 1, ; + Name = "Grid1", ; + Panel = 1, ; + ReadOnly = .T., ; + RecordSource = "ACTACTAN", ; + RowHeight = 19, ; + TabIndex = 5, ; + Top = 30, ; + Width = 667, ; + ZOrderSet = 2, ; + Column1.Alignment = 1, ; + Column1.BackColor = 255,255,255, ; + Column1.ControlSource = "NRCRT()", ; + Column1.FontName = "Arial", ; + Column1.FontSize = 10, ; + Column1.Name = "Column1", ; + Column1.ReadOnly = .T., ; + Column1.Width = 34, ; + Column2.Alignment = 1, ; + Column2.BackColor = 255,255,255, ; + Column2.ColumnOrder = 3, ; + Column2.ControlSource = "DATAIREG", ; + Column2.FontName = "Arial", ; + Column2.FontSize = 10, ; + Column2.Name = "Column2", ; + Column2.ReadOnly = .T., ; + Column2.Width = 67, ; + Column3.Alignment = 0, ; + Column3.BackColor = 255,255,255, ; + Column3.ColumnOrder = 2, ; + Column3.ControlSource = "FDOC", ; + Column3.FontName = "Arial", ; + Column3.FontSize = 10, ; + Column3.Name = "Column3", ; + Column3.ReadOnly = .T., ; + Column3.Width = 96, ; + Column4.Alignment = 1, ; + Column4.BackColor = 255,255,255, ; + Column4.ColumnOrder = 4, ; + Column4.ControlSource = "DATAACT", ; + Column4.FontName = "Arial", ; + Column4.FontSize = 10, ; + Column4.Name = "Column4", ; + Column4.ReadOnly = .T., ; + Column4.Width = 79, ; + Column5.Alignment = 1, ; + Column5.BackColor = 255,255,255, ; + Column5.ColumnOrder = 6, ; + Column5.ControlSource = "NRACT", ; + Column5.FontName = "Arial", ; + Column5.FontSize = 10, ; + Column5.Name = "Column5", ; + Column5.ReadOnly = .T., ; + Column5.Width = 112, ; + Column6.Alignment = 0, ; + Column6.BackColor = 255,255,255, ; + Column6.ColumnOrder = 12, ; + Column6.ControlSource = "partd", ; + Column6.FontName = "Arial", ; + Column6.FontSize = 10, ; + Column6.Name = "Column6", ; + Column6.ReadOnly = .T., ; + Column6.Width = 125, ; + Column7.Alignment = 1, ; + Column7.BackColor = 255,255,255, ; + Column7.ColumnOrder = 8, ; + Column7.ControlSource = "SCD", ; + Column7.DynamicForeColor = "rgb(0,0,128)", ; + Column7.FontBold = .F., ; + Column7.FontName = "Arial", ; + Column7.FontSize = 10, ; + Column7.ForeColor = 0,0,128, ; + Column7.Name = "Column7", ; + Column7.ReadOnly = .T., ; + Column7.Width = 62, ; + Column8.Alignment = 1, ; + Column8.BackColor = 255,255,255, ; + Column8.ColumnOrder = 10, ; + Column8.ControlSource = "SCC", ; + Column8.DynamicForeColor = "rgb(0,0,128)", ; + Column8.FontBold = .F., ; + Column8.FontName = "Arial", ; + Column8.FontSize = 10, ; + Column8.Name = "Column8", ; + Column8.ReadOnly = .T., ; + Column8.Width = 66, ; + Column9.Alignment = 1, ; + Column9.BackColor = 255,255,255, ; + Column9.ColumnOrder = 7, ; + Column9.ControlSource = "SUMA", ; + Column9.DynamicForeColor = "IIF(SUMA>=0, RGB(0,0,0), RGB(255,0,0))", ; + Column9.FontBold = .F., ; + Column9.FontName = "Arial", ; + Column9.FontSize = 10, ; + Column9.Format = "r", ; + Column9.InputMask = (get_mask(12,gnPc)), ; + Column9.Name = "Column9", ; + Column9.ReadOnly = .T., ; + Column9.Width = 108, ; + Column10.Alignment = 0, ; + Column10.BackColor = 255,255,255, ; + Column10.ColumnOrder = 13, ; + Column10.ControlSource = "partc", ; + Column10.FontName = "Arial", ; + Column10.FontSize = 10, ; + Column10.Name = "Column10", ; + Column10.ReadOnly = .T., ; + Column10.Width = 137, ; + Column11.Alignment = 0, ; + Column11.BackColor = 255,255,255, ; + Column11.ColumnOrder = 14, ; + Column11.ControlSource = "EXPLICATIA", ; + Column11.FontName = "Arial", ; + Column11.FontSize = 10, ; + Column11.Name = "Column11", ; + Column11.ReadOnly = .T., ; + Column11.Width = 137, ; + Column12.BackColor = 255,255,255, ; + Column12.ColumnOrder = 22, ; + Column12.ControlSource = "gestout", ; + Column12.FontName = "Arial", ; + Column12.FontSize = 10, ; + Column12.Name = "Column12", ; + Column12.ReadOnly = .T., ; + Column12.Width = 92, ; + Column13.BackColor = 255,255,255, ; + Column13.ColumnOrder = 18, ; + Column13.ControlSource = "pereched", ; + Column13.FontName = "Arial", ; + Column13.FontSize = 10, ; + Column13.Name = "Column13", ; + Column13.ReadOnly = .T., ; + Column13.Width = 92, ; + Column14.BackColor = 255,255,255, ; + Column14.ColumnOrder = 28, ; + Column14.ControlSource = "explicatia4", ; + Column14.FontName = "Arial", ; + Column14.FontSize = 10, ; + Column14.Name = "Column14", ; + Column14.ReadOnly = .T., ; + Column14.Width = 72, ; + Column15.BackColor = 255,255,255, ; + Column15.ColumnOrder = 23, ; + Column15.ControlSource = "suma_val", ; + Column15.FontName = "Arial", ; + Column15.FontSize = 10, ; + Column15.Format = "r", ; + Column15.InputMask = (get_mask(12,gnPVal)), ; + Column15.Name = "Column16", ; + Column15.ReadOnly = .T., ; + Column15.Width = 79, ; + Column16.BackColor = 255,255,255, ; + Column16.ColumnOrder = 24, ; + Column16.ControlSource = "curs", ; + Column16.FontName = "Arial", ; + Column16.FontSize = 10, ; + Column16.Format = "r", ; + Column16.InputMask = (get_mask(12,gnPcurs)), ; + Column16.Name = "Column17", ; + Column16.ReadOnly = .T., ; + Column16.Width = 70, ; + Column17.BackColor = 255,255,255, ; + Column17.ColumnOrder = 20, ; + Column17.ControlSource = "datascad", ; + Column17.FontName = "Arial", ; + Column17.FontSize = 10, ; + Column17.Name = "Column19", ; + Column17.ReadOnly = .T., ; + Column17.Visible = .T., ; + Column17.Width = 88, ; + Column18.BackColor = 255,255,255, ; + Column18.ColumnOrder = 29, ; + Column18.ControlSource = "explicatia5", ; + Column18.FontName = "Arial", ; + Column18.FontSize = 10, ; + Column18.Name = "Column20", ; + Column18.ReadOnly = .T., ; + Column18.Width = 72, ; + Column19.BackColor = 255,255,255, ; + Column19.ColumnOrder = 25, ; + Column19.ControlSource = "nresp", ; + Column19.FontName = "Arial", ; + Column19.FontSize = 10, ; + Column19.Name = "Column25", ; + Column19.ReadOnly = .T., ; + Column19.Width = 78, ; + Column20.BackColor = 255,255,255, ; + Column20.ColumnOrder = 26, ; + Column20.ControlSource = "dst_chlt", ; + Column20.FontName = "Arial", ; + Column20.FontSize = 10, ; + Column20.Name = "Column26", ; + Column20.ReadOnly = .T., ; + Column20.Width = 57, ; + Column21.BackColor = 255,255,255, ; + Column21.ColumnOrder = 15, ; + Column21.ControlSource = "nrord", ; + Column21.FontName = "Arial", ; + Column21.FontSize = 10, ; + Column21.Name = "Column27", ; + Column21.ReadOnly = .T., ; + Column21.Width = 106, ; + Column22.BackColor = 255,255,255, ; + Column22.ColumnOrder = 17, ; + Column22.ControlSource = "nnir", ; + Column22.FontName = "Arial", ; + Column22.FontSize = 10, ; + Column22.Name = "Column28", ; + Column22.ReadOnly = .T., ; + Column22.Width = 69, ; + Column23.BackColor = 255,255,255, ; + Column23.ColumnOrder = 27, ; + Column23.ControlSource = "sectie", ; + Column23.FontName = "Arial", ; + Column23.FontSize = 10, ; + Column23.Name = "Column29", ; + Column23.ReadOnly = .T., ; + Column23.Width = 41, ; + Column24.BackColor = 255,255,255, ; + Column24.ColumnOrder = 21, ; + Column24.ControlSource = "gestin", ; + Column24.FontName = "Arial", ; + Column24.FontSize = 10, ; + Column24.Name = "Column30", ; + Column24.ReadOnly = .T., ; + Column24.Width = 116, ; + Column25.BackColor = 242,255,255, ; + Column25.ColumnOrder = 9, ; + Column25.ControlSource = "ascd", ; + Column25.DynamicBackColor = "rgb(242,255,255)", ; + Column25.FontName = "Arial", ; + Column25.FontSize = 10, ; + Column25.Format = "r", ; + Column25.InputMask = "xxxx", ; + Column25.Name = "Column31", ; + Column25.ReadOnly = .F., ; + Column25.Width = 50, ; + Column26.BackColor = 242,255,255, ; + Column26.ColumnOrder = 11, ; + Column26.ControlSource = "ascc", ; + Column26.DynamicBackColor = "rgb(242,255,255)", ; + Column26.FontName = "Arial", ; + Column26.FontSize = 10, ; + Column26.Format = "r", ; + Column26.InputMask = "xxxx", ; + Column26.Name = "Column32", ; + Column26.ReadOnly = .F., ; + Column26.Width = 50, ; + Column27.BackColor = 255,255,255, ; + Column27.ColumnOrder = 31, ; + Column27.ControlSource = "proc_tva", ; + Column27.FontName = "Arial", ; + Column27.FontSize = 10, ; + Column27.Name = "Column33", ; + Column27.ReadOnly = .T., ; + Column27.Width = 60, ; + Column28.BackColor = 255,255,255, ; + Column28.ColumnOrder = 19, ; + Column28.ControlSource = "perechec", ; + Column28.FontName = "Arial", ; + Column28.FontSize = 10, ; + Column28.Name = "Column34", ; + Column28.ReadOnly = .T., ; + Column28.Width = 88, ; + Column29.BackColor = 255,255,255, ; + Column29.ColumnOrder = 30, ; + Column29.ControlSource = "sucursala", ; + Column29.FontName = "Arial", ; + Column29.FontSize = 10, ; + Column29.Name = "Column15", ; + Column29.ReadOnly = .T., ; + Column29.Width = 98, ; + Column30.BackColor = 255,255,255, ; + Column30.ColumnOrder = 16, ; + Column30.ControlSource = "contract", ; + Column30.FontName = "Arial", ; + Column30.FontSize = 10, ; + Column30.Name = "Column18", ; + Column30.ReadOnly = .T., ; + Column30.Width = 127, ; + Column31.BackColor = 255,255,255, ; + Column31.ColumnOrder = 5, ; + Column31.ControlSource = "serie_act", ; + Column31.FontName = "Arial", ; + Column31.FontSize = 10, ; + Column31.Name = "Column21", ; + Column31.ReadOnly = .T., ; + Column31.Width = 65, ; + Column32.BackColor = 255,255,255, ; + Column32.ControlSource = "explicatie_tva", ; + Column32.FontSize = 10, ; + Column32.Name = "Column22", ; + Column32.ReadOnly = .T., ; + Column32.Width = 124, ; + Column33.BackColor = 255,255,255, ; + Column33.ControlSource = "taxname", ; + Column33.FontSize = 10, ; + Column33.Name = "Column23", ; + Column33.ReadOnly = .T., ; + Column33.Width = 142, ; + Column34.BackColor = 255,255,255, ; + Column34.ControlSource = "paymentname", ; + Column34.FontSize = 10, ; + Column34.Name = "Column24", ; + Column34.ReadOnly = .T., ; + Column34.Width = 89 + *< END OBJECT: BaseClass="grid" /> + + ADD OBJECT 'Grid1.Column1.Header1' AS header WITH ; + Alignment = 2, ; + Caption = "NrCrt", ; + FontName = "Arial", ; + FontSize = 10, ; + Name = "Header1" + *< END OBJECT: BaseClass="header" /> + + ADD OBJECT 'Grid1.Column1.Text1' AS textbox WITH ; + Alignment = 1, ; + BackColor = 255,255,255, ; + BorderStyle = 0, ; + FontName = "Arial", ; + FontSize = 10, ; + ForeColor = 0,0,0, ; + Margin = 0, ; + Name = "Text1", ; + ReadOnly = .T. + *< END OBJECT: BaseClass="textbox" /> + + ADD OBJECT 'Grid1.Column10.Header1' AS header WITH ; + Alignment = 2, ; + Caption = "Explicatie Credit", ; + FontName = "Arial", ; + FontSize = 10, ; + Name = "Header1" + *< END OBJECT: BaseClass="header" /> + + ADD OBJECT 'Grid1.Column10.Text1' AS textbox WITH ; + Alignment = 0, ; + BackColor = 255,255,255, ; + BorderStyle = 0, ; + FontName = "Arial", ; + FontSize = 10, ; + ForeColor = 0,0,0, ; + Margin = 0, ; + Name = "Text1", ; + ReadOnly = .T. + *< END OBJECT: BaseClass="textbox" /> + + ADD OBJECT 'Grid1.Column11.Header1' AS header WITH ; + Alignment = 2, ; + Caption = "Explicatie", ; + FontName = "Arial", ; + FontSize = 10, ; + Name = "Header1" + *< END OBJECT: BaseClass="header" /> + + ADD OBJECT 'Grid1.Column11.Text1' AS textbox WITH ; + Alignment = 0, ; + BackColor = 255,255,255, ; + BorderStyle = 0, ; + FontName = "Arial", ; + FontSize = 10, ; + ForeColor = 0,0,0, ; + Margin = 0, ; + Name = "Text1", ; + ReadOnly = .T. + *< END OBJECT: BaseClass="textbox" /> + + ADD OBJECT 'Grid1.Column12.Header1' AS header WITH ; + Alignment = 2, ; + Caption = "Gestiune sursa", ; + FontName = "Arial", ; + FontSize = 10, ; + Name = "Header1" + *< END OBJECT: BaseClass="header" /> + + ADD OBJECT 'Grid1.Column12.Text1' AS textbox WITH ; + BackColor = 255,255,255, ; + BorderStyle = 0, ; + FontName = "Arial", ; + FontSize = 10, ; + ForeColor = 0,0,0, ; + Margin = 0, ; + Name = "Text1" + *< END OBJECT: BaseClass="textbox" /> + + ADD OBJECT 'Grid1.Column13.Header1' AS header WITH ; + Alignment = 2, ; + Caption = "Nr.doc.platit", ; + FontName = "Arial", ; + FontSize = 10, ; + Name = "Header1" + *< END OBJECT: BaseClass="header" /> + + ADD OBJECT 'Grid1.Column13.Text1' AS textbox WITH ; + BackColor = 255,255,255, ; + BorderStyle = 0, ; + FontName = "Arial", ; + FontSize = 10, ; + ForeColor = 0,0,0, ; + Margin = 0, ; + Name = "Text1" + *< END OBJECT: BaseClass="textbox" /> + + ADD OBJECT 'Grid1.Column14.Header1' AS header WITH ; + Alignment = 2, ; + Caption = "Explicatia 4", ; + FontName = "Arial", ; + FontSize = 10, ; + Name = "Header1" + *< END OBJECT: BaseClass="header" /> + + ADD OBJECT 'Grid1.Column14.Text1' AS textbox WITH ; + BackColor = 255,255,255, ; + BorderStyle = 0, ; + FontName = "Arial", ; + FontSize = 10, ; + ForeColor = 0,0,0, ; + Margin = 0, ; + Name = "Text1" + *< END OBJECT: BaseClass="textbox" /> + + ADD OBJECT 'Grid1.Column15.Header1' AS header WITH ; + Alignment = 2, ; + Caption = "Sucursala", ; + FontName = "Arial", ; + FontSize = 10, ; + Name = "Header1" + *< END OBJECT: BaseClass="header" /> + + ADD OBJECT 'Grid1.Column15.Text1' AS textbox WITH ; + BackColor = 255,255,255, ; + BorderStyle = 0, ; + FontName = "Arial", ; + FontSize = 10, ; + ForeColor = 0,0,0, ; + Margin = 0, ; + Name = "Text1", ; + ReadOnly = .T. + *< END OBJECT: BaseClass="textbox" /> + + ADD OBJECT 'Grid1.Column16.Header1' AS header WITH ; + Alignment = 2, ; + Caption = "Suma Valuta", ; + FontName = "Arial", ; + FontSize = 10, ; + Name = "Header1" + *< END OBJECT: BaseClass="header" /> + + ADD OBJECT 'Grid1.Column16.Text1' AS textbox WITH ; + BackColor = 255,255,255, ; + BorderStyle = 0, ; + FontName = "Arial", ; + FontSize = 10, ; + ForeColor = 0,0,0, ; + Margin = 0, ; + Name = "Text1" + *< END OBJECT: BaseClass="textbox" /> + + ADD OBJECT 'Grid1.Column17.Header1' AS header WITH ; + Alignment = 2, ; + Caption = "Curs", ; + FontName = "Arial", ; + FontSize = 10, ; + Name = "Header1" + *< END OBJECT: BaseClass="header" /> + + ADD OBJECT 'Grid1.Column17.Text1' AS textbox WITH ; + BackColor = 255,255,255, ; + BorderStyle = 0, ; + FontName = "Arial", ; + FontSize = 10, ; + ForeColor = 0,0,0, ; + Margin = 0, ; + Name = "Text1" + *< END OBJECT: BaseClass="textbox" /> + + ADD OBJECT 'Grid1.Column18.Header1' AS header WITH ; + Alignment = 2, ; + Caption = "Contract", ; + FontName = "Arial", ; + FontSize = 10, ; + Name = "Header1" + *< END OBJECT: BaseClass="header" /> + + ADD OBJECT 'Grid1.Column18.Text1' AS textbox WITH ; + BackColor = 255,255,255, ; + BorderStyle = 0, ; + FontName = "Arial", ; + FontSize = 10, ; + ForeColor = 0,0,0, ; + Margin = 0, ; + Name = "Text1" + *< END OBJECT: BaseClass="textbox" /> + + ADD OBJECT 'Grid1.Column19.Header1' AS header WITH ; + Alignment = 2, ; + Caption = "Data scadenta", ; + FontName = "Arial", ; + FontSize = 10, ; + Name = "Header1" + *< END OBJECT: BaseClass="header" /> + + ADD OBJECT 'Grid1.Column19.Text1' AS textbox WITH ; + BackColor = 255,255,255, ; + BorderStyle = 0, ; + FontName = "Arial", ; + FontSize = 10, ; + ForeColor = 0,0,0, ; + Margin = 0, ; + Name = "Text1", ; + Visible = .T. + *< END OBJECT: BaseClass="textbox" /> + + ADD OBJECT 'Grid1.Column2.Header2' AS header WITH ; + Alignment = 2, ; + Caption = "Data Inreg.", ; + FontName = "Arial", ; + FontSize = 10, ; + Name = "Header2" + *< END OBJECT: BaseClass="header" /> + + ADD OBJECT 'Grid1.Column2.Text1' AS textbox WITH ; + Alignment = 1, ; + BackColor = 255,255,255, ; + BorderStyle = 0, ; + FontName = "Arial", ; + FontSize = 10, ; + ForeColor = 0,0,0, ; + Margin = 0, ; + Name = "Text1", ; + ReadOnly = .T. + *< END OBJECT: BaseClass="textbox" /> + + ADD OBJECT 'Grid1.Column20.Header1' AS header WITH ; + Alignment = 2, ; + Caption = "Explicatia 5", ; + FontName = "Arial", ; + FontSize = 10, ; + Name = "Header1" + *< END OBJECT: BaseClass="header" /> + + ADD OBJECT 'Grid1.Column20.Text1' AS textbox WITH ; + BackColor = 255,255,255, ; + BorderStyle = 0, ; + FontName = "Arial", ; + FontSize = 10, ; + ForeColor = 0,0,0, ; + Margin = 0, ; + Name = "Text1" + *< END OBJECT: BaseClass="textbox" /> + + ADD OBJECT 'Grid1.Column21.Header1' AS header WITH ; + Alignment = 2, ; + Caption = "Serie Doc.", ; + FontName = "Arial", ; + FontSize = 10, ; + Name = "Header1" + *< END OBJECT: BaseClass="header" /> + + ADD OBJECT 'Grid1.Column21.Text1' AS textbox WITH ; + Alignment = 3, ; + BackColor = 255,255,255, ; + BorderStyle = 0, ; + FontName = "Arial", ; + FontSize = 10, ; + ForeColor = 0,0,0, ; + Margin = 0, ; + Name = "Text1", ; + ReadOnly = .T. + *< END OBJECT: BaseClass="textbox" /> + + ADD OBJECT 'Grid1.Column22.Header1' AS header WITH ; + Alignment = 2, ; + Caption = "Explicatie TVA", ; + Name = "Header1" + *< END OBJECT: BaseClass="header" /> + + ADD OBJECT 'Grid1.Column22.Text1' AS textbox WITH ; + BackColor = 255,255,255, ; + BorderStyle = 0, ; + ForeColor = 0,0,0, ; + Margin = 0, ; + Name = "Text1", ; + ReadOnly = .T. + *< END OBJECT: BaseClass="textbox" /> + + ADD OBJECT 'Grid1.Column23.Header1' AS header WITH ; + Alignment = 2, ; + Caption = "Taxa SAFT", ; + Name = "Header1" + *< END OBJECT: BaseClass="header" /> + + ADD OBJECT 'Grid1.Column23.Text1' AS textbox WITH ; + BackColor = 255,255,255, ; + BorderStyle = 0, ; + ForeColor = 0,0,0, ; + Margin = 0, ; + Name = "Text1", ; + ReadOnly = .T. + *< END OBJECT: BaseClass="textbox" /> + + ADD OBJECT 'Grid1.Column24.Header1' AS header WITH ; + Alignment = 2, ; + Caption = "Cod plata SAFT", ; + Name = "Header1" + *< END OBJECT: BaseClass="header" /> + + ADD OBJECT 'Grid1.Column24.Text1' AS textbox WITH ; + BackColor = 255,255,255, ; + BorderStyle = 0, ; + ForeColor = 0,0,0, ; + Margin = 0, ; + Name = "Text1", ; + ReadOnly = .T. + *< END OBJECT: BaseClass="textbox" /> + + ADD OBJECT 'Grid1.Column25.Header1' AS header WITH ; + Alignment = 2, ; + Caption = "Responsabili", ; + FontName = "Arial", ; + FontSize = 10, ; + Name = "Header1" + *< END OBJECT: BaseClass="header" /> + + ADD OBJECT 'Grid1.Column25.Text1' AS textbox WITH ; + BackColor = 255,255,255, ; + BorderStyle = 0, ; + FontName = "Arial", ; + FontSize = 10, ; + ForeColor = 0,0,0, ; + Margin = 0, ; + Name = "Text1" + *< END OBJECT: BaseClass="textbox" /> + + ADD OBJECT 'Grid1.Column26.Header1' AS header WITH ; + Alignment = 2, ; + Caption = "Cheltuieli", ; + FontName = "Arial", ; + FontSize = 10, ; + Name = "Header1" + *< END OBJECT: BaseClass="header" /> + + ADD OBJECT 'Grid1.Column26.Text1' AS textbox WITH ; + BackColor = 255,255,255, ; + BorderStyle = 0, ; + FontName = "Arial", ; + FontSize = 10, ; + ForeColor = 0,0,0, ; + Margin = 0, ; + Name = "Text1" + *< END OBJECT: BaseClass="textbox" /> + + ADD OBJECT 'Grid1.Column27.Header1' AS header WITH ; + Alignment = 2, ; + Caption = "Lucrare/Comanda", ; + FontName = "Arial", ; + FontSize = 10, ; + Name = "Header1" + *< END OBJECT: BaseClass="header" /> + + ADD OBJECT 'Grid1.Column27.Text1' AS textbox WITH ; + BackColor = 255,255,255, ; + BorderStyle = 0, ; + FontName = "Arial", ; + FontSize = 10, ; + ForeColor = 0,0,0, ; + Margin = 0, ; + Name = "Text1" + *< END OBJECT: BaseClass="textbox" /> + + ADD OBJECT 'Grid1.Column28.Header1' AS header WITH ; + Alignment = 2, ; + Caption = "Nr.NIR/Bon", ; + FontName = "Arial", ; + FontSize = 10, ; + Name = "Header1" + *< END OBJECT: BaseClass="header" /> + + ADD OBJECT 'Grid1.Column28.Text1' AS textbox WITH ; + BackColor = 255,255,255, ; + BorderStyle = 0, ; + FontName = "Arial", ; + FontSize = 10, ; + ForeColor = 0,0,0, ; + Margin = 0, ; + Name = "Text1" + *< END OBJECT: BaseClass="textbox" /> + + ADD OBJECT 'Grid1.Column29.Header1' AS header WITH ; + Alignment = 2, ; + Caption = "Sectie", ; + FontName = "Arial", ; + FontSize = 10, ; + Name = "Header1" + *< END OBJECT: BaseClass="header" /> + + ADD OBJECT 'Grid1.Column29.Text1' AS textbox WITH ; + BackColor = 255,255,255, ; + BorderStyle = 0, ; + FontName = "Arial", ; + FontSize = 10, ; + ForeColor = 0,0,0, ; + Margin = 0, ; + Name = "Text1" + *< END OBJECT: BaseClass="textbox" /> + + ADD OBJECT 'Grid1.Column3.Header3' AS header WITH ; + Alignment = 2, ; + Caption = "Fel Doc.", ; + FontName = "Arial", ; + FontSize = 10, ; + Name = "Header3" + *< END OBJECT: BaseClass="header" /> + + ADD OBJECT 'Grid1.Column3.Text1' AS textbox WITH ; + Alignment = 0, ; + BackColor = 255,255,255, ; + BorderStyle = 0, ; + FontName = "Arial", ; + FontSize = 10, ; + ForeColor = 0,0,0, ; + Margin = 0, ; + Name = "Text1", ; + ReadOnly = .T. + *< END OBJECT: BaseClass="textbox" /> + + ADD OBJECT 'Grid1.Column30.Header1' AS header WITH ; + Alignment = 2, ; + Caption = "Gestiune destinatie", ; + FontName = "Arial", ; + FontSize = 10, ; + Name = "Header1" + *< END OBJECT: BaseClass="header" /> + + ADD OBJECT 'Grid1.Column30.Text1' AS textbox WITH ; + BackColor = 255,255,255, ; + BorderStyle = 0, ; + FontName = "Arial", ; + FontSize = 10, ; + ForeColor = 0,0,0, ; + Margin = 0, ; + Name = "Text1" + *< END OBJECT: BaseClass="textbox" /> + + ADD OBJECT 'Grid1.Column31.Header1' AS header WITH ; + Caption = "Analit.D", ; + FontName = "Arial", ; + FontSize = 10, ; + Name = "Header1" + *< END OBJECT: BaseClass="header" /> + + ADD OBJECT 'Grid1.Column31.Text1' AS textbox WITH ; + BackColor = 242,255,255, ; + BorderStyle = 0, ; + FontName = "Arial", ; + FontSize = 10, ; + ForeColor = 0,0,0, ; + Margin = 0, ; + Name = "Text1", ; + ReadOnly = .F. + *< END OBJECT: BaseClass="textbox" /> + + ADD OBJECT 'Grid1.Column32.Header1' AS header WITH ; + Caption = "Analit.C", ; + FontName = "Arial", ; + FontSize = 10, ; + Name = "Header1" + *< END OBJECT: BaseClass="header" /> + + ADD OBJECT 'Grid1.Column32.Text1' AS textbox WITH ; + BackColor = 242,255,255, ; + BorderStyle = 0, ; + FontName = "Arial", ; + FontSize = 10, ; + ForeColor = 0,0,0, ; + Margin = 0, ; + Name = "Text1", ; + ReadOnly = .F. + *< END OBJECT: BaseClass="textbox" /> + + ADD OBJECT 'Grid1.Column33.Header1' AS header WITH ; + Alignment = 2, ; + Caption = "Cota TVA", ; + FontName = "Arial", ; + FontSize = 10, ; + Name = "Header1" + *< END OBJECT: BaseClass="header" /> + + ADD OBJECT 'Grid1.Column33.Text1' AS textbox WITH ; + BackColor = 255,255,255, ; + BorderStyle = 0, ; + FontName = "Arial", ; + FontSize = 10, ; + ForeColor = 0,0,0, ; + Margin = 0, ; + Name = "Text1" + *< END OBJECT: BaseClass="textbox" /> + + ADD OBJECT 'Grid1.Column34.Header1' AS header WITH ; + Alignment = 2, ; + Caption = "Nr.doc.incasat", ; + FontName = "Arial", ; + FontSize = 10, ; + Name = "Header1" + *< END OBJECT: BaseClass="header" /> + + ADD OBJECT 'Grid1.Column34.Text1' AS textbox WITH ; + BackColor = 255,255,255, ; + BorderStyle = 0, ; + FontName = "Arial", ; + FontSize = 10, ; + ForeColor = 0,0,0, ; + Margin = 0, ; + Name = "Text1" + *< END OBJECT: BaseClass="textbox" /> + + ADD OBJECT 'Grid1.Column4.Header4' AS header WITH ; + Alignment = 2, ; + Caption = "Data Doc", ; + FontName = "Arial", ; + FontSize = 10, ; + Name = "Header4" + *< END OBJECT: BaseClass="header" /> + + ADD OBJECT 'Grid1.Column4.Text1' AS textbox WITH ; + Alignment = 1, ; + BackColor = 255,255,255, ; + BorderStyle = 0, ; + FontName = "Arial", ; + FontSize = 10, ; + ForeColor = 0,0,0, ; + Margin = 0, ; + Name = "Text1", ; + ReadOnly = .T. + *< END OBJECT: BaseClass="textbox" /> + + ADD OBJECT 'Grid1.Column5.Header5' AS header WITH ; + Alignment = 2, ; + Caption = "Nr.Doc.", ; + FontName = "Arial", ; + FontSize = 10, ; + Name = "Header5" + *< END OBJECT: BaseClass="header" /> + + ADD OBJECT 'Grid1.Column5.Text1' AS textbox WITH ; + Alignment = 1, ; + BackColor = 255,255,255, ; + BorderStyle = 0, ; + FontName = "Arial", ; + FontSize = 10, ; + ForeColor = 0,0,0, ; + Margin = 0, ; + Name = "Text1", ; + ReadOnly = .T. + *< END OBJECT: BaseClass="textbox" /> + + ADD OBJECT 'Grid1.Column6.Header6' AS header WITH ; + Alignment = 2, ; + Caption = "Explicatie Debit", ; + FontName = "Arial", ; + FontSize = 10, ; + Name = "Header6" + *< END OBJECT: BaseClass="header" /> + + ADD OBJECT 'Grid1.Column6.Text1' AS textbox WITH ; + Alignment = 0, ; + BackColor = 255,255,255, ; + BorderColor = 0,0,0, ; + BorderStyle = 0, ; + FontName = "Arial", ; + FontSize = 10, ; + ForeColor = 0,0,0, ; + Margin = 0, ; + Name = "Text1", ; + ReadOnly = .T. + *< END OBJECT: BaseClass="textbox" /> + + ADD OBJECT 'Grid1.Column7.Header7' AS header WITH ; + Alignment = 2, ; + Caption = "Cont Deb.", ; + FontName = "Arial", ; + FontSize = 10, ; + Name = "Header7" + *< END OBJECT: BaseClass="header" /> + + ADD OBJECT 'Grid1.Column7.Text1' AS textbox WITH ; + Alignment = 1, ; + BackColor = 255,255,255, ; + BorderStyle = 0, ; + FontBold = .F., ; + FontName = "Arial", ; + FontSize = 10, ; + ForeColor = 0,0,128, ; + Margin = 0, ; + Name = "Text1", ; + ReadOnly = .T. + *< END OBJECT: BaseClass="textbox" /> + + ADD OBJECT 'Grid1.Column8.Header8' AS header WITH ; + Alignment = 2, ; + Caption = "Cont Cred.", ; + FontName = "Arial", ; + FontSize = 10, ; + Name = "Header8" + *< END OBJECT: BaseClass="header" /> + + ADD OBJECT 'Grid1.Column8.Text1' AS textbox WITH ; + Alignment = 1, ; + BackColor = 255,255,255, ; + BorderStyle = 0, ; + FontBold = .F., ; + FontName = "Arial", ; + FontSize = 10, ; + ForeColor = 0,0,0, ; + Margin = 0, ; + Name = "Text1", ; + ReadOnly = .T. + *< END OBJECT: BaseClass="textbox" /> + + ADD OBJECT 'Grid1.Column9.Header9' AS header WITH ; + Alignment = 2, ; + Caption = "Suma", ; + FontName = "Arial", ; + FontSize = 10, ; + Name = "Header9" + *< END OBJECT: BaseClass="header" /> + + ADD OBJECT 'Grid1.Column9.Text1' AS textbox WITH ; + Alignment = 1, ; + BackColor = 255,255,255, ; + BorderStyle = 0, ; + FontBold = .F., ; + FontName = "Arial", ; + FontSize = 10, ; + ForeColor = 0,0,0, ; + Margin = 0, ; + Name = "Text1", ; + ReadOnly = .T. + *< END OBJECT: BaseClass="textbox" /> + + ADD OBJECT 'Gridextra1' AS gridextra WITH ; + Left = 408, ; + Name = "Gridextra1", ; + productname = ROA, ; + Top = 42 + *< END OBJECT: ClassLib="..\utile\gridextras\gridextras.vcx" BaseClass="custom" /> + + ADD OBJECT 'Lb_shortcuts1' AS lb_shortcuts WITH ; + Caption = "CTRL+F = Terminare; ESC = Renuntare", ; + Left = 8, ; + Name = "Lb_shortcuts1", ; + Top = 16, ; + ZOrderSet = 5 + *< END OBJECT: ClassLib="..\clase\lb.vcx" BaseClass="label" /> + + PROCEDURE inainte_de_do_termin + llRet = verificare_note_contabile('actactan', thisform.lverificaacont,thisform.lcompletare_partener, thisform.lNuverificcont) + *PARAMETERS tcAct,tlVerificAnalitic,tlAlegPartener + IF !llRet + thisform.gRID1.column7.text1.SetFocus + RETURN .f. + ENDIF + + ENDPROC + + PROCEDURE Init + Parameters tVerificAnalitic, tAlegPartener, tnButonIntoarcere, tlNuVerificCont + + DoDefault() + + If Pcount() > 0 + Thisform.lverificaacont = tVerificAnalitic + Thisform.lNuVerificCont = tlNuVerificCont + Endif + If Pcount() > 1 + Thisform.lcompletare_partener = tAlegPartener + Endif + If Pcount() > 2 And Type('tnButonIntoarcere') = 'N' And tnButonIntoarcere = 3 + This.but_precedent1.Visible = .T. + *!* Else + *!* This._shAPE1.Width = This._shAPE1.Width + This.but_precedent1.Width + ENDIF + + lnGridHeight = RECCOUNT('actactan') * this.griD1.RowHeight + this.grid1.HeaderHeight + lnFormHeight = m.lnGridHeight + this._sHAPE1.Height + + thisform.Height = MAX(400, MIN(m.lnFormHeight, INT(_screen.Height*0.7))) + thisform.Width = INT(_screen.Width*0.7) + tHIS.AutoCenter = .T. + + * SAFT + This.grID1.column23.Visible = m.gl406 && taxname + This.grID1.column24.Visible = m.gl406 && paymentname + + Do nrord With 'actactan' + Select actactan + Go Top + This.griD1.AutoFit + This.griD1.SetFocus() + *!* modificare ROAGEST v 2.0.107 + This.but_TERMIN1.SetFocus() + *!* modificare ROAGEST v 2.0.107 ^ + this.gridextra1.setup() + ENDPROC + + PROCEDURE Grid1.Column1.Text1.DblClick + *thisform.butdrept + ENDPROC + + PROCEDURE Grid1.Column1.Text1.RightClick + do editscurt.mpr + ENDPROC + + PROCEDURE Grid1.Column10.Text1.DblClick + *thisform.butdrept + ENDPROC + + PROCEDURE Grid1.Column10.Text1.RightClick + do editscurt.mpr + ENDPROC + + PROCEDURE Grid1.Column11.Text1.DblClick + *thisform.butdrept + ENDPROC + + PROCEDURE Grid1.Column11.Text1.RightClick + do editscurt.mpr + ENDPROC + + PROCEDURE Grid1.Column12.Text1.DblClick + *thisform.butdrept + ENDPROC + + PROCEDURE Grid1.Column12.Text1.RightClick + do editscurt.mpr + ENDPROC + + PROCEDURE Grid1.Column2.Text1.DblClick + *thisform.butdrept + ENDPROC + + PROCEDURE Grid1.Column2.Text1.RightClick + do editscurt.mpr + ENDPROC + + PROCEDURE Grid1.Column3.Text1.DblClick + *thisform.butdrept + ENDPROC + + PROCEDURE Grid1.Column3.Text1.RightClick + do editscurt.mpr + ENDPROC + + PROCEDURE Grid1.Column31.Text1.Click + this.LostFocus(.t.) + ENDPROC + + PROCEDURE Grid1.Column31.Text1.LostFocus + PARAMETERS PlClick + *!* Local llReturn, lcCont, lcAcont + *!* SELECT actactan + *!* lcCont = scd + *!* lcAcont = ascd + *!* llReturn = verific_analitic(plClick, lcCont, lcAcont,'ascd','actactan') && in oOperatii_comune.prg + *!* 04.03.2013 + *!* liana.neagu + *!* completez analiticul pentru toate aparitiile contului - la fel ca in actbaza2007 + + *!* 14.03.2013 + *!* mutu marius + *!* nu pot sa completez acelasi analitic la toate aparitiile contului pentru ca e posibil sa trebuiasca analitice diferite si incurc utilizatorul + + *!* Parameters PlClick + LOCAL lcCont, lcAcont, lnRecno, llReturn + Select actactan + lcCont = scd + lcAcont = ascd + lnRecno = RECNO() + *ll_l=Thisformset.verific_analitic(PlClick, lcCont, lcAcont,'ascd') + llReturn = verific_analitic(plClick, lcCont, lcAcont,'ascd','actactan') + + If !llReturn + Replace actactan.ascd With '' + Return 0 + ELSE + *** nu pot sa completez acelasi analitic la toate aparitiile contului pentru ca e posibil sa trebuiasca analitice diferite si incurc utilizatorul + *!* SELECT actactan + *!* REPLACE ALL ascd WITH lcAcont FOR ALLTRIM(scd) == ALLTRIM(lcCont) AND (EMPTY(ascd) OR ISNULL(ascd)) + *!* REPLACE ALL ascc WITH lcAcont FOR ALLTRIM(scc) == ALLTRIM(lcCont) AND (EMPTY(ascc) OR ISNULL(ascc)) + *!* GOTO lnRecno + Endif + This.Parent.Parent.Refresh + + ENDPROC + + PROCEDURE Grid1.Column32.Text1.Click + this.LostFocus(.t.) + + ENDPROC + + PROCEDURE Grid1.Column32.Text1.LostFocus + *!* 14.03.2013 + *!* mutu marius + *!* nu pot sa completez acelasi analitic la toate aparitiile contului pentru ca e posibil sa trebuiasca analitice diferite si incurc utilizatorul + + PARAMETERS PlClick + Local llReturn, lcCont, lcAcont,lnRecno + SELECT actactan + lnRecno = RECNO() + lcCont = scc + lcAcont = ascc + llReturn = verific_analitic(plClick, lcCont, lcAcont,'ascc','actactan') && in oOperatii_comune.prg + *!* v05.03.2013 + *!* liana.neagu + IF !llReturn + REPLACE ACTACTAN.ASCC WITH '' + RETURN 0 + ELSE + *!* SELECT actactan + *!* REPLACE ALL ascd WITH lcAcont FOR ALLTRIM(scd) == ALLTRIM(lcCont) AND (EMPTY(ascd) OR ISNULL(ascd)) + *!* REPLACE ALL ascc WITH lcAcont FOR ALLTRIM(scc) == ALLTRIM(lcCont) AND (EMPTY(ascc) OR ISNULL(ascc)) + *!* GOTO lnRecno + ENDIF + THIS.Parent.Parent.Refresh + + ENDPROC + + PROCEDURE Grid1.Column4.Text1.DblClick + *thisform.butdrept + ENDPROC + + PROCEDURE Grid1.Column4.Text1.RightClick + do editscurt.mpr + ENDPROC + + PROCEDURE Grid1.Column5.Text1.DblClick + *thisform.butdrept + ENDPROC + + PROCEDURE Grid1.Column5.Text1.RightClick + do editscurt.mpr + ENDPROC + + PROCEDURE Grid1.Column6.Text1.DblClick + *thisform.butdrept + ENDPROC + + PROCEDURE Grid1.Column6.Text1.RightClick + do editscurt.mpr + ENDPROC + + PROCEDURE Grid1.Column7.Text1.DblClick + *thisform.butdrept + ENDPROC + + PROCEDURE Grid1.Column7.Text1.RightClick + do editscurt.mpr + ENDPROC + + PROCEDURE Grid1.Column8.Text1.DblClick + *thisform.butdrept + ENDPROC + + PROCEDURE Grid1.Column8.Text1.RightClick + do editscurt.mpr + ENDPROC + + PROCEDURE Grid1.Column9.Text1.DblClick + *!* 08.06.2017 + *!* marius.mutu + *!* am pus readonly = .F. pe campul suma pentru a putea fi modificata suma de la nota TVA calculata si adaugata automat de program la anumite operatii + *!* Atentie!!! Efect secundar se poate modifica orice suma!!! + IF TYPE('gnEditareSumaVerificare') = 'N' AND m.gnEditareSumaVerificare = 1 + This.ReadOnly = .F. + this.parent.BackColor = RGB(242,255,255) + ENDIF + ENDPROC + + PROCEDURE Grid1.Column9.Text1.RightClick + do editscurt.mpr + ENDPROC + +ENDDEFINE + +DEFINE CLASS dataenvironment AS dataenvironment + *< CLASSDATA: Baseclass="dataenvironment" Timestamp="" Scale="" Uniqueid="" ClassIcon="1" /> + + * + DataSource = .NULL. + Height = 0 + Left = 0 + Name = "Dataenvironment" + Top = 0 + Width = 0 + * + +ENDDEFINE diff --git a/ferestre/vizpage.sc2 b/ferestre/vizpage.sc2 new file mode 100644 index 0000000..0ad218b --- /dev/null +++ b/ferestre/vizpage.sc2 @@ -0,0 +1,162 @@ +*-------------------------------------------------------------------------------------------------------------------------------------------------------- +* (EN) AUTOGENERATED - ATTENTION!! - NOT INTENDED FOR EXECUTION!! USE ONLY FOR MERGING CHANGES AND STORING WITH SCM TOOLS!! +*-------------------------------------------------------------------------------------------------------------------------------------------------------- +*< FOXBIN2PRG: Version="1.21" SourceFile="vizpage.scx" CPID="1252" /> (Solo para binarios VFP 9 / Only for VFP 9 binaries) +* +* +DEFINE CLASS dataenvironment AS dataenvironment + *< CLASSDATA: Baseclass="dataenvironment" Timestamp="" Scale="" Uniqueid="" ClassIcon="1" /> + + * + Name = "Dataenvironment" + * + +ENDDEFINE + +DEFINE CLASS vizpage1 AS vizpage OF "..\clase\comun.vcx" + *< CLASSDATA: Baseclass="form" Timestamp="" Scale="" Uniqueid="" /> + + * + DoCreate = .T. + Name = "Vizpage1" + pgcod.ErasePage = .T. + pgcod.Name = "pgcod" + pgcod.Page1.Name = "Page1" + pgcod.Page1.PageOrder = 1 + pgcod.Page2.Name = "Page2" + pgcod.Page2.PageOrder = 2 + pgcod.Page3.Name = "Page3" + pgcod.Page3.PageOrder = 3 + Shape1.Name = "Shape1" + TEXT8.Name = "TEXT8" + TEXT9.Name = "TEXT9" + TEXT10.Name = "TEXT10" + TEXT11.Name = "TEXT11" + GRID1.COLUMN10.HEADER1.Name = "HEADER1" + GRID1.COLUMN10.Name = "COLUMN10" + GRID1.COLUMN10.Text1.Name = "Text1" + GRID1.COLUMN11.HEADER1.Name = "HEADER1" + GRID1.COLUMN11.Name = "COLUMN11" + GRID1.COLUMN11.Text1.Name = "Text1" + GRID1.COLUMN12.HEADER1.Name = "HEADER1" + GRID1.COLUMN12.Name = "COLUMN12" + GRID1.COLUMN12.Text1.Name = "Text1" + GRID1.COLUMN13.HEADER1.Name = "HEADER1" + GRID1.COLUMN13.Name = "COLUMN13" + GRID1.COLUMN13.Text1.Name = "Text1" + GRID1.COLUMN14.HEADER1.Name = "HEADER1" + GRID1.COLUMN14.Name = "COLUMN14" + GRID1.COLUMN14.Text1.Name = "Text1" + GRID1.COLUMN15.HEADER1.Name = "HEADER1" + GRID1.COLUMN15.Name = "COLUMN15" + GRID1.COLUMN15.Text1.Name = "Text1" + GRID1.COLUMN16.HEADER1.Name = "HEADER1" + GRID1.COLUMN16.Name = "COLUMN16" + GRID1.COLUMN16.Text1.Name = "Text1" + GRID1.COLUMN17.HEADER1.Name = "HEADER1" + GRID1.COLUMN17.Name = "COLUMN17" + GRID1.COLUMN17.Text1.Name = "Text1" + GRID1.COLUMN18.HEADER1.Name = "HEADER1" + GRID1.COLUMN18.Name = "COLUMN18" + GRID1.COLUMN18.Text1.Name = "Text1" + GRID1.COLUMN19.HEADER1.Name = "HEADER1" + GRID1.COLUMN19.Name = "COLUMN19" + GRID1.COLUMN19.Text1.Name = "Text1" + GRID1.COLUMN2.HEADER2.Name = "HEADER2" + GRID1.COLUMN2.Name = "COLUMN2" + GRID1.COLUMN2.Text1.Name = "Text1" + GRID1.COLUMN20.HEADER1.Name = "HEADER1" + GRID1.COLUMN20.Name = "COLUMN20" + GRID1.COLUMN20.Text1.Name = "Text1" + GRID1.COLUMN21.HEADER1.Name = "HEADER1" + GRID1.COLUMN21.Name = "COLUMN21" + GRID1.COLUMN21.Text1.Name = "Text1" + GRID1.COLUMN22.HEADER1.Name = "HEADER1" + GRID1.COLUMN22.Name = "COLUMN22" + GRID1.COLUMN22.Text1.Name = "Text1" + GRID1.COLUMN3.HEADER3.Name = "HEADER3" + GRID1.COLUMN3.Name = "COLUMN3" + GRID1.COLUMN3.Text1.Name = "Text1" + GRID1.COLUMN4.HEADER4.Name = "HEADER4" + GRID1.COLUMN4.Name = "COLUMN4" + GRID1.COLUMN4.Text1.Name = "Text1" + GRID1.COLUMN5.HEADER5.Name = "HEADER5" + GRID1.COLUMN5.Name = "COLUMN5" + GRID1.COLUMN5.Text1.Name = "Text1" + GRID1.COLUMN6.HEADER6.Name = "HEADER6" + GRID1.COLUMN6.Name = "COLUMN6" + GRID1.COLUMN6.Text1.Name = "Text1" + GRID1.COLUMN7.HEADER1.Name = "HEADER1" + GRID1.COLUMN7.Name = "COLUMN7" + GRID1.COLUMN7.Text1.Name = "Text1" + GRID1.COLUMN8.HEADER8.Name = "HEADER8" + GRID1.COLUMN8.Name = "COLUMN8" + GRID1.COLUMN8.Text1.Name = "Text1" + GRID1.COLUMN9.HEADER1.Name = "HEADER1" + GRID1.COLUMN9.Name = "COLUMN9" + GRID1.COLUMN9.Text1.Name = "Text1" + GRID1.Name = "GRID1" + TEXT12.Name = "TEXT12" + TEXT13.Name = "TEXT13" + TEXT14.Name = "TEXT14" + TEXT15.Name = "TEXT15" + TEXT16.Name = "TEXT16" + TEXT17.Name = "TEXT17" + TEXT18.Name = "TEXT18" + TEXT19.Name = "TEXT19" + TEXT20.Name = "TEXT20" + TEXT21.Name = "TEXT21" + TEXT22.Name = "TEXT22" + Text23.Name = "Text23" + Text24.Name = "Text24" + Text25.Name = "Text25" + Text26.Name = "Text26" + Text27.Name = "Text27" + Label2.Name = "Label2" + LABEL3.Name = "LABEL3" + LABEL4.Name = "LABEL4" + LABEL5.Name = "LABEL5" + LABEL6.Name = "LABEL6" + LABEL7.Name = "LABEL7" + LABEL8.Name = "LABEL8" + LABEL9.Name = "LABEL9" + LABEL10.Name = "LABEL10" + LABEL11.Name = "LABEL11" + LABEL12.Name = "LABEL12" + LABEL13.Name = "LABEL13" + LABEL14.Name = "LABEL14" + LABEL15.Name = "LABEL15" + LABEL16.Name = "LABEL16" + LABEL17.Name = "LABEL17" + LABEL18.Name = "LABEL18" + LABEL19.Name = "LABEL19" + LABEL20.Name = "LABEL20" + LABEL21.Name = "LABEL21" + Label22.Name = "Label22" + Label23.Name = "Label23" + Label24.Name = "Label24" + Label25.Name = "Label25" + Label26.Name = "Label26" + Label27.Name = "Label27" + Text1.Name = "Text1" + Text2.Name = "Text2" + TEXT3.Name = "TEXT3" + TEXT4.Name = "TEXT4" + Label1.Name = "Label1" + BANDABLOC1.BANDA21.Name = "BANDA21" + BANDABLOC1.BLOCBUTON1.Name = "BLOCBUTON1" + BANDABLOC1.BLOCBUTON1.TERMINAT1.COMMAND1.Name = "COMMAND1" + BANDABLOC1.BLOCBUTON1.TERMINAT1.IMBUTON1.Height = 27 + BANDABLOC1.BLOCBUTON1.TERMINAT1.IMBUTON1.Name = "IMBUTON1" + BANDABLOC1.BLOCBUTON1.TERMINAT1.IMBUTON1.Width = 30 + BANDABLOC1.BLOCBUTON1.TERMINAT1.Name = "TERMINAT1" + BANDABLOC1.Name = "BANDABLOC1" + TITLUFRUMOS1.Name = "TITLUFRUMOS1" + Text28.Name = "Text28" + Label28.Name = "Label28" + TEXT5.Name = "TEXT5" + TEXT6.Name = "TEXT6" + TEXT7.Name = "TEXT7" + * + +ENDDEFINE diff --git a/grafice/Addressbook.bmp b/grafice/Addressbook.bmp new file mode 100644 index 0000000..5665eda Binary files /dev/null and b/grafice/Addressbook.bmp differ diff --git a/grafice/CHECKMRK.ICO b/grafice/CHECKMRK.ICO new file mode 100644 index 0000000..2eb7ca6 Binary files /dev/null and b/grafice/CHECKMRK.ICO differ diff --git a/grafice/CLOSED_BLUE.BMP b/grafice/CLOSED_BLUE.BMP new file mode 100644 index 0000000..5593a80 Binary files /dev/null and b/grafice/CLOSED_BLUE.BMP differ diff --git a/grafice/Contacts.bmp b/grafice/Contacts.bmp new file mode 100644 index 0000000..a0a104d Binary files /dev/null and b/grafice/Contacts.bmp differ diff --git a/grafice/DBtabH3.bmp b/grafice/DBtabH3.bmp new file mode 100644 index 0000000..fd1ca74 Binary files /dev/null and b/grafice/DBtabH3.bmp differ diff --git a/grafice/DBtabH4.bmp b/grafice/DBtabH4.bmp new file mode 100644 index 0000000..53c8c37 Binary files /dev/null and b/grafice/DBtabH4.bmp differ diff --git a/grafice/EDIT1.BMP b/grafice/EDIT1.BMP new file mode 100644 index 0000000..87c5211 Binary files /dev/null and b/grafice/EDIT1.BMP differ diff --git a/grafice/EXCLAM.ICO b/grafice/EXCLAM.ICO new file mode 100644 index 0000000..351aa72 Binary files /dev/null and b/grafice/EXCLAM.ICO differ diff --git a/grafice/Favorite/Favorites.png b/grafice/Favorite/Favorites.png new file mode 100644 index 0000000..0d74770 Binary files /dev/null and b/grafice/Favorite/Favorites.png differ diff --git a/grafice/Favorite/na_fav.png b/grafice/Favorite/na_fav.png new file mode 100644 index 0000000..0060357 Binary files /dev/null and b/grafice/Favorite/na_fav.png differ diff --git a/grafice/Favorite/nablank_fav.png b/grafice/Favorite/nablank_fav.png new file mode 100644 index 0000000..a91c9bd Binary files /dev/null and b/grafice/Favorite/nablank_fav.png differ diff --git a/grafice/Favorite/readme.txt b/grafice/Favorite/readme.txt new file mode 100644 index 0000000..08b6459 --- /dev/null +++ b/grafice/Favorite/readme.txt @@ -0,0 +1 @@ + - se suprapune favorites.png ( cu dimensiunea 18x18 pixeli ) peste png-ul programului \ No newline at end of file diff --git a/grafice/Favorite/roa_hanulpiratilor_fav.png b/grafice/Favorite/roa_hanulpiratilor_fav.png new file mode 100644 index 0000000..21536cb Binary files /dev/null and b/grafice/Favorite/roa_hanulpiratilor_fav.png differ diff --git a/grafice/Favorite/roaacnpro_fav.png b/grafice/Favorite/roaacnpro_fav.png new file mode 100644 index 0000000..9138e66 Binary files /dev/null and b/grafice/Favorite/roaacnpro_fav.png differ diff --git a/grafice/Favorite/roaapp_fav.png b/grafice/Favorite/roaapp_fav.png new file mode 100644 index 0000000..b44ff66 Binary files /dev/null and b/grafice/Favorite/roaapp_fav.png differ diff --git a/grafice/Favorite/roaaprov_fav.png b/grafice/Favorite/roaaprov_fav.png new file mode 100644 index 0000000..230d438 Binary files /dev/null and b/grafice/Favorite/roaaprov_fav.png differ diff --git a/grafice/Favorite/roaauto_fav.png b/grafice/Favorite/roaauto_fav.png new file mode 100644 index 0000000..646f564 Binary files /dev/null and b/grafice/Favorite/roaauto_fav.png differ diff --git a/grafice/Favorite/roabavert_fav.png b/grafice/Favorite/roabavert_fav.png new file mode 100644 index 0000000..c2ef0ff Binary files /dev/null and b/grafice/Favorite/roabavert_fav.png differ diff --git a/grafice/Favorite/roaclienti_fav.png b/grafice/Favorite/roaclienti_fav.png new file mode 100644 index 0000000..7ed4185 Binary files /dev/null and b/grafice/Favorite/roaclienti_fav.png differ diff --git a/grafice/Favorite/roacomenzi_fav.png b/grafice/Favorite/roacomenzi_fav.png new file mode 100644 index 0000000..878d1dd Binary files /dev/null and b/grafice/Favorite/roacomenzi_fav.png differ diff --git a/grafice/Favorite/roaconstructii_fav.png b/grafice/Favorite/roaconstructii_fav.png new file mode 100644 index 0000000..4706520 Binary files /dev/null and b/grafice/Favorite/roaconstructii_fav.png differ diff --git a/grafice/Favorite/roacont_fav.png b/grafice/Favorite/roacont_fav.png new file mode 100644 index 0000000..57b7a44 Binary files /dev/null and b/grafice/Favorite/roacont_fav.png differ diff --git a/grafice/Favorite/roacontracte_fav.png b/grafice/Favorite/roacontracte_fav.png new file mode 100644 index 0000000..89df9ba Binary files /dev/null and b/grafice/Favorite/roacontracte_fav.png differ diff --git a/grafice/Favorite/roadecl_fav.png b/grafice/Favorite/roadecl_fav.png new file mode 100644 index 0000000..65560b0 Binary files /dev/null and b/grafice/Favorite/roadecl_fav.png differ diff --git a/grafice/Favorite/roadef_fav.png b/grafice/Favorite/roadef_fav.png new file mode 100644 index 0000000..ce305e5 Binary files /dev/null and b/grafice/Favorite/roadef_fav.png differ diff --git a/grafice/Favorite/roadefsalarii_fav.png b/grafice/Favorite/roadefsalarii_fav.png new file mode 100644 index 0000000..f407362 Binary files /dev/null and b/grafice/Favorite/roadefsalarii_fav.png differ diff --git a/grafice/Favorite/roadevize_fav.png b/grafice/Favorite/roadevize_fav.png new file mode 100644 index 0000000..ca6afd1 Binary files /dev/null and b/grafice/Favorite/roadevize_fav.png differ diff --git a/grafice/Favorite/roafacturare_fav.png b/grafice/Favorite/roafacturare_fav.png new file mode 100644 index 0000000..d35cc0d Binary files /dev/null and b/grafice/Favorite/roafacturare_fav.png differ diff --git a/grafice/Favorite/roafurnizori_fav.png b/grafice/Favorite/roafurnizori_fav.png new file mode 100644 index 0000000..eaade5f Binary files /dev/null and b/grafice/Favorite/roafurnizori_fav.png differ diff --git a/grafice/Favorite/roagen_fav.png b/grafice/Favorite/roagen_fav.png new file mode 100644 index 0000000..8472404 Binary files /dev/null and b/grafice/Favorite/roagen_fav.png differ diff --git a/grafice/Favorite/roagest_descarcare_fav.png b/grafice/Favorite/roagest_descarcare_fav.png new file mode 100644 index 0000000..89a10a2 Binary files /dev/null and b/grafice/Favorite/roagest_descarcare_fav.png differ diff --git a/grafice/Favorite/roagest_fav.png b/grafice/Favorite/roagest_fav.png new file mode 100644 index 0000000..2b77e1a Binary files /dev/null and b/grafice/Favorite/roagest_fav.png differ diff --git a/grafice/Favorite/roagrestaurant_fav.png b/grafice/Favorite/roagrestaurant_fav.png new file mode 100644 index 0000000..a2c35bd Binary files /dev/null and b/grafice/Favorite/roagrestaurant_fav.png differ diff --git a/grafice/Favorite/roaimob_fav.png b/grafice/Favorite/roaimob_fav.png new file mode 100644 index 0000000..25e9660 Binary files /dev/null and b/grafice/Favorite/roaimob_fav.png differ diff --git a/grafice/Favorite/roalucrari_fav.png b/grafice/Favorite/roalucrari_fav.png new file mode 100644 index 0000000..d63bdfa Binary files /dev/null and b/grafice/Favorite/roalucrari_fav.png differ diff --git a/grafice/Favorite/roamanager_fav.png b/grafice/Favorite/roamanager_fav.png new file mode 100644 index 0000000..1fef4a8 Binary files /dev/null and b/grafice/Favorite/roamanager_fav.png differ diff --git a/grafice/Favorite/roanor_fav.png b/grafice/Favorite/roanor_fav.png new file mode 100644 index 0000000..5154555 Binary files /dev/null and b/grafice/Favorite/roanor_fav.png differ diff --git a/grafice/Favorite/roaobinv_fav.png b/grafice/Favorite/roaobinv_fav.png new file mode 100644 index 0000000..01a0fce Binary files /dev/null and b/grafice/Favorite/roaobinv_fav.png differ diff --git a/grafice/Favorite/roaoferta_fav.png b/grafice/Favorite/roaoferta_fav.png new file mode 100644 index 0000000..c1ddecd Binary files /dev/null and b/grafice/Favorite/roaoferta_fav.png differ diff --git a/grafice/Favorite/roapreturi_fav.png b/grafice/Favorite/roapreturi_fav.png new file mode 100644 index 0000000..be04f5e Binary files /dev/null and b/grafice/Favorite/roapreturi_fav.png differ diff --git a/grafice/Favorite/roaproductie_fav.png b/grafice/Favorite/roaproductie_fav.png new file mode 100644 index 0000000..1a88866 Binary files /dev/null and b/grafice/Favorite/roaproductie_fav.png differ diff --git a/grafice/Favorite/roaprospectare_fav.png b/grafice/Favorite/roaprospectare_fav.png new file mode 100644 index 0000000..da81ac4 Binary files /dev/null and b/grafice/Favorite/roaprospectare_fav.png differ diff --git a/grafice/Favorite/roaravert_fav.png b/grafice/Favorite/roaravert_fav.png new file mode 100644 index 0000000..08bc2b9 Binary files /dev/null and b/grafice/Favorite/roaravert_fav.png differ diff --git a/grafice/Favorite/roaregistratura_fav.png b/grafice/Favorite/roaregistratura_fav.png new file mode 100644 index 0000000..21536cb Binary files /dev/null and b/grafice/Favorite/roaregistratura_fav.png differ diff --git a/grafice/Favorite/roarepartizsal_fav.png b/grafice/Favorite/roarepartizsal_fav.png new file mode 100644 index 0000000..ee2544c Binary files /dev/null and b/grafice/Favorite/roarepartizsal_fav.png differ diff --git a/grafice/Favorite/roares_fav.png b/grafice/Favorite/roares_fav.png new file mode 100644 index 0000000..831f781 Binary files /dev/null and b/grafice/Favorite/roares_fav.png differ diff --git a/grafice/Favorite/roarestaurant_fav.png b/grafice/Favorite/roarestaurant_fav.png new file mode 100644 index 0000000..ab11cb9 Binary files /dev/null and b/grafice/Favorite/roarestaurant_fav.png differ diff --git a/grafice/Favorite/roasal_fav.png b/grafice/Favorite/roasal_fav.png new file mode 100644 index 0000000..5542c7d Binary files /dev/null and b/grafice/Favorite/roasal_fav.png differ diff --git a/grafice/Favorite/roasalspec_fav.png b/grafice/Favorite/roasalspec_fav.png new file mode 100644 index 0000000..b73c254 Binary files /dev/null and b/grafice/Favorite/roasalspec_fav.png differ diff --git a/grafice/Favorite/roasitfin_fav.png b/grafice/Favorite/roasitfin_fav.png new file mode 100644 index 0000000..2fe137a Binary files /dev/null and b/grafice/Favorite/roasitfin_fav.png differ diff --git a/grafice/Favorite/roasitop_fav.png b/grafice/Favorite/roasitop_fav.png new file mode 100644 index 0000000..7b04d30 Binary files /dev/null and b/grafice/Favorite/roasitop_fav.png differ diff --git a/grafice/Favorite/roasuport_fav.png b/grafice/Favorite/roasuport_fav.png new file mode 100644 index 0000000..2665142 Binary files /dev/null and b/grafice/Favorite/roasuport_fav.png differ diff --git a/grafice/Favorite/roavin_fav.png b/grafice/Favorite/roavin_fav.png new file mode 100644 index 0000000..1dfa816 Binary files /dev/null and b/grafice/Favorite/roavin_fav.png differ diff --git a/grafice/HELP.BMP b/grafice/HELP.BMP new file mode 100644 index 0000000..f01289e Binary files /dev/null and b/grafice/HELP.BMP differ diff --git a/grafice/H_POINT.CUR b/grafice/H_POINT.CUR new file mode 100644 index 0000000..6d1096b Binary files /dev/null and b/grafice/H_POINT.CUR differ diff --git a/grafice/IDIC.ico b/grafice/IDIC.ico new file mode 100644 index 0000000..9bcaea5 Binary files /dev/null and b/grafice/IDIC.ico differ diff --git a/grafice/IDIC.ico1 b/grafice/IDIC.ico1 new file mode 100644 index 0000000..9bcaea5 Binary files /dev/null and b/grafice/IDIC.ico1 differ diff --git a/grafice/INFO_c.ICO b/grafice/INFO_c.ICO new file mode 100644 index 0000000..883470b Binary files /dev/null and b/grafice/INFO_c.ICO differ diff --git a/grafice/Intreb.ico b/grafice/Intreb.ico new file mode 100644 index 0000000..a63d9c3 Binary files /dev/null and b/grafice/Intreb.ico differ diff --git a/grafice/LBtabH3.bmp b/grafice/LBtabH3.bmp new file mode 100644 index 0000000..ea10c3a Binary files /dev/null and b/grafice/LBtabH3.bmp differ diff --git a/grafice/LBtabH4.bmp b/grafice/LBtabH4.bmp new file mode 100644 index 0000000..e347702 Binary files /dev/null and b/grafice/LBtabH4.bmp differ diff --git a/grafice/LEAF_BLUE.BMP b/grafice/LEAF_BLUE.BMP new file mode 100644 index 0000000..5c78080 Binary files /dev/null and b/grafice/LEAF_BLUE.BMP differ diff --git a/grafice/Listare/listare1.bmp b/grafice/Listare/listare1.bmp new file mode 100644 index 0000000..f5ef986 Binary files /dev/null and b/grafice/Listare/listare1.bmp differ diff --git a/grafice/Listare/listare2.bmp b/grafice/Listare/listare2.bmp new file mode 100644 index 0000000..8f8fa41 Binary files /dev/null and b/grafice/Listare/listare2.bmp differ diff --git a/grafice/Listare/listaref_1.bmp b/grafice/Listare/listaref_1.bmp new file mode 100644 index 0000000..a5361b7 Binary files /dev/null and b/grafice/Listare/listaref_1.bmp differ diff --git a/grafice/Listare/listaref_2.bmp b/grafice/Listare/listaref_2.bmp new file mode 100644 index 0000000..f1a9ccb Binary files /dev/null and b/grafice/Listare/listaref_2.bmp differ diff --git a/grafice/MINUS.BMP b/grafice/MINUS.BMP new file mode 100644 index 0000000..316e17f Binary files /dev/null and b/grafice/MINUS.BMP differ diff --git a/grafice/NEW.BMP b/grafice/NEW.BMP new file mode 100644 index 0000000..025abea Binary files /dev/null and b/grafice/NEW.BMP differ diff --git a/grafice/NOTE16.ICO b/grafice/NOTE16.ICO new file mode 100644 index 0000000..94b185c Binary files /dev/null and b/grafice/NOTE16.ICO differ diff --git a/grafice/Numpad/0_jos.jpg b/grafice/Numpad/0_jos.jpg new file mode 100644 index 0000000..0affe0b Binary files /dev/null and b/grafice/Numpad/0_jos.jpg differ diff --git a/grafice/Numpad/0_sus.jpg b/grafice/Numpad/0_sus.jpg new file mode 100644 index 0000000..a030196 Binary files /dev/null and b/grafice/Numpad/0_sus.jpg differ diff --git a/grafice/Numpad/1_jos.jpg b/grafice/Numpad/1_jos.jpg new file mode 100644 index 0000000..2a72948 Binary files /dev/null and b/grafice/Numpad/1_jos.jpg differ diff --git a/grafice/Numpad/1_sus.jpg b/grafice/Numpad/1_sus.jpg new file mode 100644 index 0000000..1c09628 Binary files /dev/null and b/grafice/Numpad/1_sus.jpg differ diff --git a/grafice/Numpad/2_jos.jpg b/grafice/Numpad/2_jos.jpg new file mode 100644 index 0000000..ca2a961 Binary files /dev/null and b/grafice/Numpad/2_jos.jpg differ diff --git a/grafice/Numpad/2_sus.jpg b/grafice/Numpad/2_sus.jpg new file mode 100644 index 0000000..d11b5de Binary files /dev/null and b/grafice/Numpad/2_sus.jpg differ diff --git a/grafice/Numpad/3_jos.jpg b/grafice/Numpad/3_jos.jpg new file mode 100644 index 0000000..58126dc Binary files /dev/null and b/grafice/Numpad/3_jos.jpg differ diff --git a/grafice/Numpad/3_sus.jpg b/grafice/Numpad/3_sus.jpg new file mode 100644 index 0000000..3417d89 Binary files /dev/null and b/grafice/Numpad/3_sus.jpg differ diff --git a/grafice/Numpad/4_jos.jpg b/grafice/Numpad/4_jos.jpg new file mode 100644 index 0000000..acca0f4 Binary files /dev/null and b/grafice/Numpad/4_jos.jpg differ diff --git a/grafice/Numpad/4_sus.jpg b/grafice/Numpad/4_sus.jpg new file mode 100644 index 0000000..79756e8 Binary files /dev/null and b/grafice/Numpad/4_sus.jpg differ diff --git a/grafice/Numpad/5_jos.jpg b/grafice/Numpad/5_jos.jpg new file mode 100644 index 0000000..a41df9a Binary files /dev/null and b/grafice/Numpad/5_jos.jpg differ diff --git a/grafice/Numpad/5_sus.jpg b/grafice/Numpad/5_sus.jpg new file mode 100644 index 0000000..c4249f7 Binary files /dev/null and b/grafice/Numpad/5_sus.jpg differ diff --git a/grafice/Numpad/6_jos.jpg b/grafice/Numpad/6_jos.jpg new file mode 100644 index 0000000..a5dc2fb Binary files /dev/null and b/grafice/Numpad/6_jos.jpg differ diff --git a/grafice/Numpad/6_sus.jpg b/grafice/Numpad/6_sus.jpg new file mode 100644 index 0000000..ec5ee53 Binary files /dev/null and b/grafice/Numpad/6_sus.jpg differ diff --git a/grafice/Numpad/7_jos.jpg b/grafice/Numpad/7_jos.jpg new file mode 100644 index 0000000..3eff6a4 Binary files /dev/null and b/grafice/Numpad/7_jos.jpg differ diff --git a/grafice/Numpad/7_sus.jpg b/grafice/Numpad/7_sus.jpg new file mode 100644 index 0000000..97efe8f Binary files /dev/null and b/grafice/Numpad/7_sus.jpg differ diff --git a/grafice/Numpad/8_jos.jpg b/grafice/Numpad/8_jos.jpg new file mode 100644 index 0000000..ed58c65 Binary files /dev/null and b/grafice/Numpad/8_jos.jpg differ diff --git a/grafice/Numpad/8_sus.jpg b/grafice/Numpad/8_sus.jpg new file mode 100644 index 0000000..e1498de Binary files /dev/null and b/grafice/Numpad/8_sus.jpg differ diff --git a/grafice/Numpad/9_jos.jpg b/grafice/Numpad/9_jos.jpg new file mode 100644 index 0000000..47dc87c Binary files /dev/null and b/grafice/Numpad/9_jos.jpg differ diff --git a/grafice/Numpad/9_sus.jpg b/grafice/Numpad/9_sus.jpg new file mode 100644 index 0000000..3271563 Binary files /dev/null and b/grafice/Numpad/9_sus.jpg differ diff --git a/grafice/Numpad/back_jos.jpg b/grafice/Numpad/back_jos.jpg new file mode 100644 index 0000000..3439f1d Binary files /dev/null and b/grafice/Numpad/back_jos.jpg differ diff --git a/grafice/Numpad/back_sus.jpg b/grafice/Numpad/back_sus.jpg new file mode 100644 index 0000000..b6175fe Binary files /dev/null and b/grafice/Numpad/back_sus.jpg differ diff --git a/grafice/Numpad/blank.jpg b/grafice/Numpad/blank.jpg new file mode 100644 index 0000000..4300c0b Binary files /dev/null and b/grafice/Numpad/blank.jpg differ diff --git a/grafice/Numpad/dolar_jos.jpg b/grafice/Numpad/dolar_jos.jpg new file mode 100644 index 0000000..46635f7 Binary files /dev/null and b/grafice/Numpad/dolar_jos.jpg differ diff --git a/grafice/Numpad/dolar_sus.jpg b/grafice/Numpad/dolar_sus.jpg new file mode 100644 index 0000000..a6104ed Binary files /dev/null and b/grafice/Numpad/dolar_sus.jpg differ diff --git a/grafice/Numpad/punct_jos.jpg b/grafice/Numpad/punct_jos.jpg new file mode 100644 index 0000000..7a80bb5 Binary files /dev/null and b/grafice/Numpad/punct_jos.jpg differ diff --git a/grafice/Numpad/punct_sus.jpg b/grafice/Numpad/punct_sus.jpg new file mode 100644 index 0000000..861b37f Binary files /dev/null and b/grafice/Numpad/punct_sus.jpg differ diff --git a/grafice/Numpad/zerozero_jos.jpg b/grafice/Numpad/zerozero_jos.jpg new file mode 100644 index 0000000..0c2efc3 Binary files /dev/null and b/grafice/Numpad/zerozero_jos.jpg differ diff --git a/grafice/Numpad/zerozero_sus.jpg b/grafice/Numpad/zerozero_sus.jpg new file mode 100644 index 0000000..eaa81ef Binary files /dev/null and b/grafice/Numpad/zerozero_sus.jpg differ diff --git a/grafice/OPEN_BLUE.BMP b/grafice/OPEN_BLUE.BMP new file mode 100644 index 0000000..460f1de Binary files /dev/null and b/grafice/OPEN_BLUE.BMP differ diff --git a/grafice/PLUS.BMP b/grafice/PLUS.BMP new file mode 100644 index 0000000..c6b3a38 Binary files /dev/null and b/grafice/PLUS.BMP differ diff --git a/grafice/PRINT.BMP b/grafice/PRINT.BMP new file mode 100644 index 0000000..845bee7 Binary files /dev/null and b/grafice/PRINT.BMP differ diff --git a/grafice/PROP.BMP b/grafice/PROP.BMP new file mode 100644 index 0000000..25e0eef Binary files /dev/null and b/grafice/PROP.BMP differ diff --git a/grafice/Phone1.bmp b/grafice/Phone1.bmp new file mode 100644 index 0000000..4085585 Binary files /dev/null and b/grafice/Phone1.bmp differ diff --git a/grafice/Printersmall.bmp b/grafice/Printersmall.bmp new file mode 100644 index 0000000..dfd044e Binary files /dev/null and b/grafice/Printersmall.bmp differ diff --git a/grafice/SG.ICO b/grafice/SG.ICO new file mode 100644 index 0000000..1661e47 Binary files /dev/null and b/grafice/SG.ICO differ diff --git a/grafice/SMMAIL.BMP b/grafice/SMMAIL.BMP new file mode 100644 index 0000000..757af2d Binary files /dev/null and b/grafice/SMMAIL.BMP differ diff --git a/grafice/START.bmp b/grafice/START.bmp new file mode 100644 index 0000000..82b951e Binary files /dev/null and b/grafice/START.bmp differ diff --git a/grafice/TERMINAT1.bmp b/grafice/TERMINAT1.bmp new file mode 100644 index 0000000..dacc04a Binary files /dev/null and b/grafice/TERMINAT1.bmp differ diff --git a/grafice/TERMINAT1X.bmp b/grafice/TERMINAT1X.bmp new file mode 100644 index 0000000..3c87346 Binary files /dev/null and b/grafice/TERMINAT1X.bmp differ diff --git a/grafice/TERMINAT2.bmp b/grafice/TERMINAT2.bmp new file mode 100644 index 0000000..400e728 Binary files /dev/null and b/grafice/TERMINAT2.bmp differ diff --git a/grafice/Tasks16.png b/grafice/Tasks16.png new file mode 100644 index 0000000..3cb5492 Binary files /dev/null and b/grafice/Tasks16.png differ diff --git a/grafice/Tasks24.png b/grafice/Tasks24.png new file mode 100644 index 0000000..f217ff4 Binary files /dev/null and b/grafice/Tasks24.png differ diff --git a/grafice/Touchscreen/ts_jos1.bmp b/grafice/Touchscreen/ts_jos1.bmp new file mode 100644 index 0000000..627cbf3 Binary files /dev/null and b/grafice/Touchscreen/ts_jos1.bmp differ diff --git a/grafice/Touchscreen/ts_jos2.bmp b/grafice/Touchscreen/ts_jos2.bmp new file mode 100644 index 0000000..627cbf3 Binary files /dev/null and b/grafice/Touchscreen/ts_jos2.bmp differ diff --git a/grafice/Touchscreen/ts_sus1.bmp b/grafice/Touchscreen/ts_sus1.bmp new file mode 100644 index 0000000..56161f5 Binary files /dev/null and b/grafice/Touchscreen/ts_sus1.bmp differ diff --git a/grafice/Touchscreen/ts_sus2.bmp b/grafice/Touchscreen/ts_sus2.bmp new file mode 100644 index 0000000..56161f5 Binary files /dev/null and b/grafice/Touchscreen/ts_sus2.bmp differ diff --git a/grafice/Utile/_active_Find.bmp b/grafice/Utile/_active_Find.bmp new file mode 100644 index 0000000..0da40bf Binary files /dev/null and b/grafice/Utile/_active_Find.bmp differ diff --git a/grafice/Utile/_disabled_Find.bmp b/grafice/Utile/_disabled_Find.bmp new file mode 100644 index 0000000..debb794 Binary files /dev/null and b/grafice/Utile/_disabled_Find.bmp differ diff --git a/grafice/Utile/add.bmp b/grafice/Utile/add.bmp new file mode 100644 index 0000000..b924205 Binary files /dev/null and b/grafice/Utile/add.bmp differ diff --git a/grafice/Utile/add_ref.bmp b/grafice/Utile/add_ref.bmp new file mode 100644 index 0000000..c04e82d Binary files /dev/null and b/grafice/Utile/add_ref.bmp differ diff --git a/grafice/Utile/addall.bmp b/grafice/Utile/addall.bmp new file mode 100644 index 0000000..d8ef1eb Binary files /dev/null and b/grafice/Utile/addall.bmp differ diff --git a/grafice/Utile/gol.bmp b/grafice/Utile/gol.bmp new file mode 100644 index 0000000..e4e2356 Binary files /dev/null and b/grafice/Utile/gol.bmp differ diff --git a/grafice/Vechi/comercial.bmp b/grafice/Vechi/comercial.bmp new file mode 100644 index 0000000..e823611 Binary files /dev/null and b/grafice/Vechi/comercial.bmp differ diff --git a/grafice/Vechi/cont2003.bmp b/grafice/Vechi/cont2003.bmp new file mode 100644 index 0000000..508d281 Binary files /dev/null and b/grafice/Vechi/cont2003.bmp differ diff --git a/grafice/Vechi/gestiuni.bmp b/grafice/Vechi/gestiuni.bmp new file mode 100644 index 0000000..70c1b83 Binary files /dev/null and b/grafice/Vechi/gestiuni.bmp differ diff --git a/grafice/Vechi/imob2003.bmp b/grafice/Vechi/imob2003.bmp new file mode 100644 index 0000000..f032e14 Binary files /dev/null and b/grafice/Vechi/imob2003.bmp differ diff --git a/grafice/Vechi/manager.bmp b/grafice/Vechi/manager.bmp new file mode 100644 index 0000000..03b0de7 Binary files /dev/null and b/grafice/Vechi/manager.bmp differ diff --git a/grafice/Vechi/roaautomic.ico b/grafice/Vechi/roaautomic.ico new file mode 100644 index 0000000..55777df Binary files /dev/null and b/grafice/Vechi/roaautomic.ico differ diff --git a/grafice/Vechi/sal2003.bmp b/grafice/Vechi/sal2003.bmp new file mode 100644 index 0000000..a2406ed Binary files /dev/null and b/grafice/Vechi/sal2003.bmp differ diff --git a/grafice/Vechi/start.ICO b/grafice/Vechi/start.ICO new file mode 100644 index 0000000..3956ea2 Binary files /dev/null and b/grafice/Vechi/start.ICO differ diff --git a/grafice/Vechi/start1.ICO b/grafice/Vechi/start1.ICO new file mode 100644 index 0000000..3956ea2 Binary files /dev/null and b/grafice/Vechi/start1.ICO differ diff --git a/grafice/Vechi/start_albastru.bmp b/grafice/Vechi/start_albastru.bmp new file mode 100644 index 0000000..2ce7b06 Binary files /dev/null and b/grafice/Vechi/start_albastru.bmp differ diff --git a/grafice/Vechi/start_galben.bmp b/grafice/Vechi/start_galben.bmp new file mode 100644 index 0000000..7f35b70 Binary files /dev/null and b/grafice/Vechi/start_galben.bmp differ diff --git a/grafice/Visits.bmp b/grafice/Visits.bmp new file mode 100644 index 0000000..6006c5f Binary files /dev/null and b/grafice/Visits.bmp differ diff --git a/grafice/add.bmp b/grafice/add.bmp new file mode 100644 index 0000000..b924205 Binary files /dev/null and b/grafice/add.bmp differ diff --git a/grafice/addall.bmp b/grafice/addall.bmp new file mode 100644 index 0000000..d8ef1eb Binary files /dev/null and b/grafice/addall.bmp differ diff --git a/grafice/alb.bmp b/grafice/alb.bmp new file mode 100644 index 0000000..6ec6837 Binary files /dev/null and b/grafice/alb.bmp differ diff --git a/grafice/alege.bmp b/grafice/alege.bmp new file mode 100644 index 0000000..7fc19e4 Binary files /dev/null and b/grafice/alege.bmp differ diff --git a/grafice/arrowRight2.ico b/grafice/arrowRight2.ico new file mode 100644 index 0000000..ce98d84 Binary files /dev/null and b/grafice/arrowRight2.ico differ diff --git a/grafice/attach_jos.bmp b/grafice/attach_jos.bmp new file mode 100644 index 0000000..c7232c4 Binary files /dev/null and b/grafice/attach_jos.bmp differ diff --git a/grafice/attach_jos.jpg b/grafice/attach_jos.jpg new file mode 100644 index 0000000..c7232c4 Binary files /dev/null and b/grafice/attach_jos.jpg differ diff --git a/grafice/attach_mic.bmp b/grafice/attach_mic.bmp new file mode 100644 index 0000000..13652bd Binary files /dev/null and b/grafice/attach_mic.bmp differ diff --git a/grafice/attach_sus.bmp b/grafice/attach_sus.bmp new file mode 100644 index 0000000..b0f7d4e Binary files /dev/null and b/grafice/attach_sus.bmp differ diff --git a/grafice/attach_sus.jpg b/grafice/attach_sus.jpg new file mode 100644 index 0000000..b0f7d4e Binary files /dev/null and b/grafice/attach_sus.jpg differ diff --git a/grafice/bluetab.bmp b/grafice/bluetab.bmp new file mode 100644 index 0000000..824ca7d Binary files /dev/null and b/grafice/bluetab.bmp differ diff --git a/grafice/but_jos.bmp b/grafice/but_jos.bmp new file mode 100644 index 0000000..ba32316 Binary files /dev/null and b/grafice/but_jos.bmp differ diff --git a/grafice/buton1.pdn b/grafice/buton1.pdn new file mode 100644 index 0000000..0d4ab5d Binary files /dev/null and b/grafice/buton1.pdn differ diff --git a/grafice/buton2.pdn b/grafice/buton2.pdn new file mode 100644 index 0000000..55655c8 Binary files /dev/null and b/grafice/buton2.pdn differ diff --git a/grafice/calendar.png b/grafice/calendar.png new file mode 100644 index 0000000..abf53b4 Binary files /dev/null and b/grafice/calendar.png differ diff --git a/grafice/cancel.bmp b/grafice/cancel.bmp new file mode 100644 index 0000000..5542ea3 Binary files /dev/null and b/grafice/cancel.bmp differ diff --git a/grafice/check.bmp b/grafice/check.bmp new file mode 100644 index 0000000..fa512ea Binary files /dev/null and b/grafice/check.bmp differ diff --git a/grafice/clie1.bmp b/grafice/clie1.bmp new file mode 100644 index 0000000..2ea02f3 Binary files /dev/null and b/grafice/clie1.bmp differ diff --git a/grafice/clie2.bmp b/grafice/clie2.bmp new file mode 100644 index 0000000..be12331 Binary files /dev/null and b/grafice/clie2.bmp differ diff --git a/grafice/compara_jos.bmp b/grafice/compara_jos.bmp new file mode 100644 index 0000000..5e21348 Binary files /dev/null and b/grafice/compara_jos.bmp differ diff --git a/grafice/compara_sus.bmp b/grafice/compara_sus.bmp new file mode 100644 index 0000000..8416784 Binary files /dev/null and b/grafice/compara_sus.bmp differ diff --git a/grafice/copy_jos.bmp b/grafice/copy_jos.bmp new file mode 100644 index 0000000..45c2c2e Binary files /dev/null and b/grafice/copy_jos.bmp differ diff --git a/grafice/copy_sus.bmp b/grafice/copy_sus.bmp new file mode 100644 index 0000000..14dfb41 Binary files /dev/null and b/grafice/copy_sus.bmp differ diff --git a/grafice/da_jos.bmp b/grafice/da_jos.bmp new file mode 100644 index 0000000..c05face Binary files /dev/null and b/grafice/da_jos.bmp differ diff --git a/grafice/da_sus.bmp b/grafice/da_sus.bmp new file mode 100644 index 0000000..d5a3989 Binary files /dev/null and b/grafice/da_sus.bmp differ diff --git a/grafice/delete.bmp b/grafice/delete.bmp new file mode 100644 index 0000000..0002ab2 Binary files /dev/null and b/grafice/delete.bmp differ diff --git a/grafice/down.bmp b/grafice/down.bmp new file mode 100644 index 0000000..f328ea0 Binary files /dev/null and b/grafice/down.bmp differ diff --git a/grafice/downArrow.bmp b/grafice/downArrow.bmp new file mode 100644 index 0000000..1f06b07 Binary files /dev/null and b/grafice/downArrow.bmp differ diff --git a/grafice/erase01.ico b/grafice/erase01.ico new file mode 100644 index 0000000..ba16119 Binary files /dev/null and b/grafice/erase01.ico differ diff --git a/grafice/excel_jos.bmp b/grafice/excel_jos.bmp new file mode 100644 index 0000000..8469c30 Binary files /dev/null and b/grafice/excel_jos.bmp differ diff --git a/grafice/excel_sus.bmp b/grafice/excel_sus.bmp new file mode 100644 index 0000000..adfe8c9 Binary files /dev/null and b/grafice/excel_sus.bmp differ diff --git a/grafice/exclamare_jos.bmp b/grafice/exclamare_jos.bmp new file mode 100644 index 0000000..afe917d Binary files /dev/null and b/grafice/exclamare_jos.bmp differ diff --git a/grafice/exclamare_sus.bmp b/grafice/exclamare_sus.bmp new file mode 100644 index 0000000..3c371e6 Binary files /dev/null and b/grafice/exclamare_sus.bmp differ diff --git a/grafice/explorer.bmp b/grafice/explorer.bmp new file mode 100644 index 0000000..e7e0322 Binary files /dev/null and b/grafice/explorer.bmp differ diff --git a/grafice/explorer_jos.bmp b/grafice/explorer_jos.bmp new file mode 100644 index 0000000..a2d7442 Binary files /dev/null and b/grafice/explorer_jos.bmp differ diff --git a/grafice/explorer_sus.bmp b/grafice/explorer_sus.bmp new file mode 100644 index 0000000..be5db1d Binary files /dev/null and b/grafice/explorer_sus.bmp differ diff --git a/grafice/eye_jos.bmp b/grafice/eye_jos.bmp new file mode 100644 index 0000000..8096aa7 Binary files /dev/null and b/grafice/eye_jos.bmp differ diff --git a/grafice/eye_sus.bmp b/grafice/eye_sus.bmp new file mode 100644 index 0000000..2837513 Binary files /dev/null and b/grafice/eye_sus.bmp differ diff --git a/grafice/f1.jpg b/grafice/f1.jpg new file mode 100644 index 0000000..3bff03e Binary files /dev/null and b/grafice/f1.jpg differ diff --git a/grafice/f2.jpg b/grafice/f2.jpg new file mode 100644 index 0000000..8e53539 Binary files /dev/null and b/grafice/f2.jpg differ diff --git a/grafice/f3.jpg b/grafice/f3.jpg new file mode 100644 index 0000000..21fd7cd Binary files /dev/null and b/grafice/f3.jpg differ diff --git a/grafice/factura.bmp b/grafice/factura.bmp new file mode 100644 index 0000000..b4b634d Binary files /dev/null and b/grafice/factura.bmp differ diff --git a/grafice/factura.png b/grafice/factura.png new file mode 100644 index 0000000..7193724 Binary files /dev/null and b/grafice/factura.png differ diff --git a/grafice/factura1.bmp b/grafice/factura1.bmp new file mode 100644 index 0000000..142959b Binary files /dev/null and b/grafice/factura1.bmp differ diff --git a/grafice/factura2.bmp b/grafice/factura2.bmp new file mode 100644 index 0000000..e8bad3a Binary files /dev/null and b/grafice/factura2.bmp differ diff --git a/grafice/find.BMP b/grafice/find.BMP new file mode 100644 index 0000000..c29fbce Binary files /dev/null and b/grafice/find.BMP differ diff --git a/grafice/find1.bmp b/grafice/find1.bmp new file mode 100644 index 0000000..14022fb Binary files /dev/null and b/grafice/find1.bmp differ diff --git a/grafice/find_jos.bmp b/grafice/find_jos.bmp new file mode 100644 index 0000000..58f66d9 Binary files /dev/null and b/grafice/find_jos.bmp differ diff --git a/grafice/find_sus.bmp b/grafice/find_sus.bmp new file mode 100644 index 0000000..0b6ff4c Binary files /dev/null and b/grafice/find_sus.bmp differ diff --git a/grafice/formback1.bmp b/grafice/formback1.bmp new file mode 100644 index 0000000..96afeb8 Binary files /dev/null and b/grafice/formback1.bmp differ diff --git a/grafice/foxqstrt.bmp b/grafice/foxqstrt.bmp new file mode 100644 index 0000000..c7a4d3f Binary files /dev/null and b/grafice/foxqstrt.bmp differ diff --git a/grafice/furn1.bmp b/grafice/furn1.bmp new file mode 100644 index 0000000..915e1e2 Binary files /dev/null and b/grafice/furn1.bmp differ diff --git a/grafice/furn2.bmp b/grafice/furn2.bmp new file mode 100644 index 0000000..16346a3 Binary files /dev/null and b/grafice/furn2.bmp differ diff --git a/grafice/gb.gif b/grafice/gb.gif new file mode 100644 index 0000000..e08556c Binary files /dev/null and b/grafice/gb.gif differ diff --git a/grafice/grafic_jos.bmp b/grafice/grafic_jos.bmp new file mode 100644 index 0000000..684f878 Binary files /dev/null and b/grafice/grafic_jos.bmp differ diff --git a/grafice/grafic_sus.bmp b/grafice/grafic_sus.bmp new file mode 100644 index 0000000..bfd651e Binary files /dev/null and b/grafice/grafic_sus.bmp differ diff --git a/grafice/help/_active_Help.ico b/grafice/help/_active_Help.ico new file mode 100644 index 0000000..6b225b6 Binary files /dev/null and b/grafice/help/_active_Help.ico differ diff --git a/grafice/help/_disabled_Help.ico b/grafice/help/_disabled_Help.ico new file mode 100644 index 0000000..0eb4773 Binary files /dev/null and b/grafice/help/_disabled_Help.ico differ diff --git a/grafice/help_jos.bmp b/grafice/help_jos.bmp new file mode 100644 index 0000000..85b5c5a Binary files /dev/null and b/grafice/help_jos.bmp differ diff --git a/grafice/help_sus.bmp b/grafice/help_sus.bmp new file mode 100644 index 0000000..e330ba4 Binary files /dev/null and b/grafice/help_sus.bmp differ diff --git a/grafice/hmove.cur b/grafice/hmove.cur new file mode 100644 index 0000000..d9ad249 Binary files /dev/null and b/grafice/hmove.cur differ diff --git a/grafice/homeside.bmp b/grafice/homeside.bmp new file mode 100644 index 0000000..2f828c6 Binary files /dev/null and b/grafice/homeside.bmp differ diff --git a/grafice/ico/Vechi/roastart1.ico b/grafice/ico/Vechi/roastart1.ico new file mode 100644 index 0000000..d78d706 Binary files /dev/null and b/grafice/ico/Vechi/roastart1.ico differ diff --git a/grafice/ico/Vechi/start.ICO b/grafice/ico/Vechi/start.ICO new file mode 100644 index 0000000..3956ea2 Binary files /dev/null and b/grafice/ico/Vechi/start.ICO differ diff --git a/grafice/ico/roa_hanulpiratilor.ico b/grafice/ico/roa_hanulpiratilor.ico new file mode 100644 index 0000000..297da7c Binary files /dev/null and b/grafice/ico/roa_hanulpiratilor.ico differ diff --git a/grafice/ico/roaacnpro.ico b/grafice/ico/roaacnpro.ico new file mode 100644 index 0000000..93ba995 Binary files /dev/null and b/grafice/ico/roaacnpro.ico differ diff --git a/grafice/ico/roaapp.ico b/grafice/ico/roaapp.ico new file mode 100644 index 0000000..4b244ff Binary files /dev/null and b/grafice/ico/roaapp.ico differ diff --git a/grafice/ico/roaappupdate.ico b/grafice/ico/roaappupdate.ico new file mode 100644 index 0000000..6a928ae Binary files /dev/null and b/grafice/ico/roaappupdate.ico differ diff --git a/grafice/ico/roaaprov.ico b/grafice/ico/roaaprov.ico new file mode 100644 index 0000000..4e9af4b Binary files /dev/null and b/grafice/ico/roaaprov.ico differ diff --git a/grafice/ico/roaauto.ico b/grafice/ico/roaauto.ico new file mode 100644 index 0000000..92f0c9d Binary files /dev/null and b/grafice/ico/roaauto.ico differ diff --git a/grafice/ico/roabavert.ico b/grafice/ico/roabavert.ico new file mode 100644 index 0000000..80db013 Binary files /dev/null and b/grafice/ico/roabavert.ico differ diff --git a/grafice/ico/roacasa.ico b/grafice/ico/roacasa.ico new file mode 100644 index 0000000..4d307b6 Binary files /dev/null and b/grafice/ico/roacasa.ico differ diff --git a/grafice/ico/roaclienti.ico b/grafice/ico/roaclienti.ico new file mode 100644 index 0000000..30a2f16 Binary files /dev/null and b/grafice/ico/roaclienti.ico differ diff --git a/grafice/ico/roacomenzi.ico b/grafice/ico/roacomenzi.ico new file mode 100644 index 0000000..f4e2971 Binary files /dev/null and b/grafice/ico/roacomenzi.ico differ diff --git a/grafice/ico/roaconstructii.ico b/grafice/ico/roaconstructii.ico new file mode 100644 index 0000000..63e2b53 Binary files /dev/null and b/grafice/ico/roaconstructii.ico differ diff --git a/grafice/ico/roacont.ico b/grafice/ico/roacont.ico new file mode 100644 index 0000000..243a7cf Binary files /dev/null and b/grafice/ico/roacont.ico differ diff --git a/grafice/ico/roacontracte.ico b/grafice/ico/roacontracte.ico new file mode 100644 index 0000000..30a2f16 Binary files /dev/null and b/grafice/ico/roacontracte.ico differ diff --git a/grafice/ico/roadecl.ico b/grafice/ico/roadecl.ico new file mode 100644 index 0000000..8b56d3d Binary files /dev/null and b/grafice/ico/roadecl.ico differ diff --git a/grafice/ico/roadef.ico b/grafice/ico/roadef.ico new file mode 100644 index 0000000..32fabd7 Binary files /dev/null and b/grafice/ico/roadef.ico differ diff --git a/grafice/ico/roadefsalarii.ico b/grafice/ico/roadefsalarii.ico new file mode 100644 index 0000000..7488d72 Binary files /dev/null and b/grafice/ico/roadefsalarii.ico differ diff --git a/grafice/ico/roadevize.ico b/grafice/ico/roadevize.ico new file mode 100644 index 0000000..4bb3098 Binary files /dev/null and b/grafice/ico/roadevize.ico differ diff --git a/grafice/ico/roafacturare.ico b/grafice/ico/roafacturare.ico new file mode 100644 index 0000000..fbd5940 Binary files /dev/null and b/grafice/ico/roafacturare.ico differ diff --git a/grafice/ico/roafurnizori.ico b/grafice/ico/roafurnizori.ico new file mode 100644 index 0000000..bb1f4b2 Binary files /dev/null and b/grafice/ico/roafurnizori.ico differ diff --git a/grafice/ico/roagen.ico b/grafice/ico/roagen.ico new file mode 100644 index 0000000..9529cc6 Binary files /dev/null and b/grafice/ico/roagen.ico differ diff --git a/grafice/ico/roagest.ico b/grafice/ico/roagest.ico new file mode 100644 index 0000000..aafda51 Binary files /dev/null and b/grafice/ico/roagest.ico differ diff --git a/grafice/ico/roagest_descarcare.ico b/grafice/ico/roagest_descarcare.ico new file mode 100644 index 0000000..9d4bfd0 Binary files /dev/null and b/grafice/ico/roagest_descarcare.ico differ diff --git a/grafice/ico/roagrestaurant.ico b/grafice/ico/roagrestaurant.ico new file mode 100644 index 0000000..7a982bd Binary files /dev/null and b/grafice/ico/roagrestaurant.ico differ diff --git a/grafice/ico/roaimob.ico b/grafice/ico/roaimob.ico new file mode 100644 index 0000000..2a53355 Binary files /dev/null and b/grafice/ico/roaimob.ico differ diff --git a/grafice/ico/roajuridic.ico b/grafice/ico/roajuridic.ico new file mode 100644 index 0000000..bb1f4b2 Binary files /dev/null and b/grafice/ico/roajuridic.ico differ diff --git a/grafice/ico/roalucrari.ico b/grafice/ico/roalucrari.ico new file mode 100644 index 0000000..061e9a7 Binary files /dev/null and b/grafice/ico/roalucrari.ico differ diff --git a/grafice/ico/roamanager.ico b/grafice/ico/roamanager.ico new file mode 100644 index 0000000..e5074d3 Binary files /dev/null and b/grafice/ico/roamanager.ico differ diff --git a/grafice/ico/roanor.ico b/grafice/ico/roanor.ico new file mode 100644 index 0000000..4336bd6 Binary files /dev/null and b/grafice/ico/roanor.ico differ diff --git a/grafice/ico/roaobinv.ico b/grafice/ico/roaobinv.ico new file mode 100644 index 0000000..dc3a980 Binary files /dev/null and b/grafice/ico/roaobinv.ico differ diff --git a/grafice/ico/roaoferta.ico b/grafice/ico/roaoferta.ico new file mode 100644 index 0000000..838a3d1 Binary files /dev/null and b/grafice/ico/roaoferta.ico differ diff --git a/grafice/ico/roaofertare.ico b/grafice/ico/roaofertare.ico new file mode 100644 index 0000000..838a3d1 Binary files /dev/null and b/grafice/ico/roaofertare.ico differ diff --git a/grafice/ico/roapreturi.ico b/grafice/ico/roapreturi.ico new file mode 100644 index 0000000..d0e8251 Binary files /dev/null and b/grafice/ico/roapreturi.ico differ diff --git a/grafice/ico/roaprint.ico b/grafice/ico/roaprint.ico new file mode 100644 index 0000000..c31ec20 Binary files /dev/null and b/grafice/ico/roaprint.ico differ diff --git a/grafice/ico/roaproductie.ico b/grafice/ico/roaproductie.ico new file mode 100644 index 0000000..e832bdd Binary files /dev/null and b/grafice/ico/roaproductie.ico differ diff --git a/grafice/ico/roaprospectare.ico b/grafice/ico/roaprospectare.ico new file mode 100644 index 0000000..fc70b49 Binary files /dev/null and b/grafice/ico/roaprospectare.ico differ diff --git a/grafice/ico/roaravert.ico b/grafice/ico/roaravert.ico new file mode 100644 index 0000000..1c3adeb Binary files /dev/null and b/grafice/ico/roaravert.ico differ diff --git a/grafice/ico/roaregistratura.ico b/grafice/ico/roaregistratura.ico new file mode 100644 index 0000000..297da7c Binary files /dev/null and b/grafice/ico/roaregistratura.ico differ diff --git a/grafice/ico/roarepartizsal.ico b/grafice/ico/roarepartizsal.ico new file mode 100644 index 0000000..15fe87d Binary files /dev/null and b/grafice/ico/roarepartizsal.ico differ diff --git a/grafice/ico/roares.ico b/grafice/ico/roares.ico new file mode 100644 index 0000000..caff3d2 Binary files /dev/null and b/grafice/ico/roares.ico differ diff --git a/grafice/ico/roarestaurant.ico b/grafice/ico/roarestaurant.ico new file mode 100644 index 0000000..ae6f29e Binary files /dev/null and b/grafice/ico/roarestaurant.ico differ diff --git a/grafice/ico/roasal.ico b/grafice/ico/roasal.ico new file mode 100644 index 0000000..03f9534 Binary files /dev/null and b/grafice/ico/roasal.ico differ diff --git a/grafice/ico/roasalspec.ico b/grafice/ico/roasalspec.ico new file mode 100644 index 0000000..eaa28ae Binary files /dev/null and b/grafice/ico/roasalspec.ico differ diff --git a/grafice/ico/roasitfin.ico b/grafice/ico/roasitfin.ico new file mode 100644 index 0000000..4d307b6 Binary files /dev/null and b/grafice/ico/roasitfin.ico differ diff --git a/grafice/ico/roasitop.ico b/grafice/ico/roasitop.ico new file mode 100644 index 0000000..8bf9ff6 Binary files /dev/null and b/grafice/ico/roasitop.ico differ diff --git a/grafice/ico/roastart.ico b/grafice/ico/roastart.ico new file mode 100644 index 0000000..3956ea2 Binary files /dev/null and b/grafice/ico/roastart.ico differ diff --git a/grafice/ico/roastartmic.ico b/grafice/ico/roastartmic.ico new file mode 100644 index 0000000..9744d0d Binary files /dev/null and b/grafice/ico/roastartmic.ico differ diff --git a/grafice/ico/roasuport.ico b/grafice/ico/roasuport.ico new file mode 100644 index 0000000..4b244ff Binary files /dev/null and b/grafice/ico/roasuport.ico differ diff --git a/grafice/ico/roavin.ico b/grafice/ico/roavin.ico new file mode 100644 index 0000000..32b10dd Binary files /dev/null and b/grafice/ico/roavin.ico differ diff --git a/grafice/inBox.ico b/grafice/inBox.ico new file mode 100644 index 0000000..9e9c57b Binary files /dev/null and b/grafice/inBox.ico differ diff --git a/grafice/jos1.bmp b/grafice/jos1.bmp new file mode 100644 index 0000000..715b967 Binary files /dev/null and b/grafice/jos1.bmp differ diff --git a/grafice/jos2.bmp b/grafice/jos2.bmp new file mode 100644 index 0000000..f2b84e7 Binary files /dev/null and b/grafice/jos2.bmp differ diff --git a/grafice/jpeggeri.dat b/grafice/jpeggeri.dat new file mode 100644 index 0000000..7e5211a Binary files /dev/null and b/grafice/jpeggeri.dat differ diff --git a/grafice/lansare/chatbot.png b/grafice/lansare/chatbot.png new file mode 100644 index 0000000..8146ffe Binary files /dev/null and b/grafice/lansare/chatbot.png differ diff --git a/grafice/lansare/citeste.txt b/grafice/lansare/citeste.txt new file mode 100644 index 0000000..7890cfc --- /dev/null +++ b/grafice/lansare/citeste.txt @@ -0,0 +1 @@ + Orice png din \lansare trebuie adaugat si in \meniutray sub forma de fisier bmp ( 15x15 ). \ No newline at end of file diff --git a/grafice/lansare/na.png b/grafice/lansare/na.png new file mode 100644 index 0000000..78fd426 Binary files /dev/null and b/grafice/lansare/na.png differ diff --git a/grafice/lansare/nablank.png b/grafice/lansare/nablank.png new file mode 100644 index 0000000..47e2c43 Binary files /dev/null and b/grafice/lansare/nablank.png differ diff --git a/grafice/lansare/roa_hanulpiratilor.png b/grafice/lansare/roa_hanulpiratilor.png new file mode 100644 index 0000000..2b723f8 Binary files /dev/null and b/grafice/lansare/roa_hanulpiratilor.png differ diff --git a/grafice/lansare/roaacnpro.png b/grafice/lansare/roaacnpro.png new file mode 100644 index 0000000..9138e66 Binary files /dev/null and b/grafice/lansare/roaacnpro.png differ diff --git a/grafice/lansare/roaapp.png b/grafice/lansare/roaapp.png new file mode 100644 index 0000000..4b9901b Binary files /dev/null and b/grafice/lansare/roaapp.png differ diff --git a/grafice/lansare/roaappupdate.PNG b/grafice/lansare/roaappupdate.PNG new file mode 100644 index 0000000..7f46a92 Binary files /dev/null and b/grafice/lansare/roaappupdate.PNG differ diff --git a/grafice/lansare/roaaprov.png b/grafice/lansare/roaaprov.png new file mode 100644 index 0000000..2ed5e55 Binary files /dev/null and b/grafice/lansare/roaaprov.png differ diff --git a/grafice/lansare/roaauto.png b/grafice/lansare/roaauto.png new file mode 100644 index 0000000..8109ae8 Binary files /dev/null and b/grafice/lansare/roaauto.png differ diff --git a/grafice/lansare/roabavert.png b/grafice/lansare/roabavert.png new file mode 100644 index 0000000..46dae9f Binary files /dev/null and b/grafice/lansare/roabavert.png differ diff --git a/grafice/lansare/roaclienti.png b/grafice/lansare/roaclienti.png new file mode 100644 index 0000000..29c959f Binary files /dev/null and b/grafice/lansare/roaclienti.png differ diff --git a/grafice/lansare/roacomenzi.png b/grafice/lansare/roacomenzi.png new file mode 100644 index 0000000..9b72f90 Binary files /dev/null and b/grafice/lansare/roacomenzi.png differ diff --git a/grafice/lansare/roacomercial.png b/grafice/lansare/roacomercial.png new file mode 100644 index 0000000..96f6ad2 Binary files /dev/null and b/grafice/lansare/roacomercial.png differ diff --git a/grafice/lansare/roaconstructii.png b/grafice/lansare/roaconstructii.png new file mode 100644 index 0000000..3846651 Binary files /dev/null and b/grafice/lansare/roaconstructii.png differ diff --git a/grafice/lansare/roacont.png b/grafice/lansare/roacont.png new file mode 100644 index 0000000..f643de2 Binary files /dev/null and b/grafice/lansare/roacont.png differ diff --git a/grafice/lansare/roacontracte.png b/grafice/lansare/roacontracte.png new file mode 100644 index 0000000..29c959f Binary files /dev/null and b/grafice/lansare/roacontracte.png differ diff --git a/grafice/lansare/roadecl.png b/grafice/lansare/roadecl.png new file mode 100644 index 0000000..a66aedc Binary files /dev/null and b/grafice/lansare/roadecl.png differ diff --git a/grafice/lansare/roadef.png b/grafice/lansare/roadef.png new file mode 100644 index 0000000..454e8b2 Binary files /dev/null and b/grafice/lansare/roadef.png differ diff --git a/grafice/lansare/roadefsalarii.png b/grafice/lansare/roadefsalarii.png new file mode 100644 index 0000000..e3bf9b8 Binary files /dev/null and b/grafice/lansare/roadefsalarii.png differ diff --git a/grafice/lansare/roadevize.png b/grafice/lansare/roadevize.png new file mode 100644 index 0000000..483d995 Binary files /dev/null and b/grafice/lansare/roadevize.png differ diff --git a/grafice/lansare/roafacturare.png b/grafice/lansare/roafacturare.png new file mode 100644 index 0000000..bc179f6 Binary files /dev/null and b/grafice/lansare/roafacturare.png differ diff --git a/grafice/lansare/roafurnizori.png b/grafice/lansare/roafurnizori.png new file mode 100644 index 0000000..53fa703 Binary files /dev/null and b/grafice/lansare/roafurnizori.png differ diff --git a/grafice/lansare/roagen.png b/grafice/lansare/roagen.png new file mode 100644 index 0000000..01873a9 Binary files /dev/null and b/grafice/lansare/roagen.png differ diff --git a/grafice/lansare/roagest.png b/grafice/lansare/roagest.png new file mode 100644 index 0000000..c57187c Binary files /dev/null and b/grafice/lansare/roagest.png differ diff --git a/grafice/lansare/roagest_descarcare.png b/grafice/lansare/roagest_descarcare.png new file mode 100644 index 0000000..e50d72c Binary files /dev/null and b/grafice/lansare/roagest_descarcare.png differ diff --git a/grafice/lansare/roagrestaurant.png b/grafice/lansare/roagrestaurant.png new file mode 100644 index 0000000..a5a46e8 Binary files /dev/null and b/grafice/lansare/roagrestaurant.png differ diff --git a/grafice/lansare/roaimob.png b/grafice/lansare/roaimob.png new file mode 100644 index 0000000..216be88 Binary files /dev/null and b/grafice/lansare/roaimob.png differ diff --git a/grafice/lansare/roalucrari.png b/grafice/lansare/roalucrari.png new file mode 100644 index 0000000..25c191d Binary files /dev/null and b/grafice/lansare/roalucrari.png differ diff --git a/grafice/lansare/roamanager.png b/grafice/lansare/roamanager.png new file mode 100644 index 0000000..0dba38e Binary files /dev/null and b/grafice/lansare/roamanager.png differ diff --git a/grafice/lansare/roanor.png b/grafice/lansare/roanor.png new file mode 100644 index 0000000..cde651d Binary files /dev/null and b/grafice/lansare/roanor.png differ diff --git a/grafice/lansare/roaobinv.png b/grafice/lansare/roaobinv.png new file mode 100644 index 0000000..1c6c6f5 Binary files /dev/null and b/grafice/lansare/roaobinv.png differ diff --git a/grafice/lansare/roaoferta.png b/grafice/lansare/roaoferta.png new file mode 100644 index 0000000..8b54a21 Binary files /dev/null and b/grafice/lansare/roaoferta.png differ diff --git a/grafice/lansare/roapreturi.png b/grafice/lansare/roapreturi.png new file mode 100644 index 0000000..597d1e2 Binary files /dev/null and b/grafice/lansare/roapreturi.png differ diff --git a/grafice/lansare/roaprint.png b/grafice/lansare/roaprint.png new file mode 100644 index 0000000..3e4b779 Binary files /dev/null and b/grafice/lansare/roaprint.png differ diff --git a/grafice/lansare/roaproductie.png b/grafice/lansare/roaproductie.png new file mode 100644 index 0000000..ef7a166 Binary files /dev/null and b/grafice/lansare/roaproductie.png differ diff --git a/grafice/lansare/roaprospectare.png b/grafice/lansare/roaprospectare.png new file mode 100644 index 0000000..752882c Binary files /dev/null and b/grafice/lansare/roaprospectare.png differ diff --git a/grafice/lansare/roaravert.png b/grafice/lansare/roaravert.png new file mode 100644 index 0000000..42dfef9 Binary files /dev/null and b/grafice/lansare/roaravert.png differ diff --git a/grafice/lansare/roaregistratura.png b/grafice/lansare/roaregistratura.png new file mode 100644 index 0000000..2b723f8 Binary files /dev/null and b/grafice/lansare/roaregistratura.png differ diff --git a/grafice/lansare/roarepartizsal.png b/grafice/lansare/roarepartizsal.png new file mode 100644 index 0000000..1afc4b7 Binary files /dev/null and b/grafice/lansare/roarepartizsal.png differ diff --git a/grafice/lansare/roares.png b/grafice/lansare/roares.png new file mode 100644 index 0000000..b6f815f Binary files /dev/null and b/grafice/lansare/roares.png differ diff --git a/grafice/lansare/roarestaurant.png b/grafice/lansare/roarestaurant.png new file mode 100644 index 0000000..96f6ad2 Binary files /dev/null and b/grafice/lansare/roarestaurant.png differ diff --git a/grafice/lansare/roasal.png b/grafice/lansare/roasal.png new file mode 100644 index 0000000..bf5d6af Binary files /dev/null and b/grafice/lansare/roasal.png differ diff --git a/grafice/lansare/roasalspec.png b/grafice/lansare/roasalspec.png new file mode 100644 index 0000000..7291244 Binary files /dev/null and b/grafice/lansare/roasalspec.png differ diff --git a/grafice/lansare/roasitfin.png b/grafice/lansare/roasitfin.png new file mode 100644 index 0000000..95d8966 Binary files /dev/null and b/grafice/lansare/roasitfin.png differ diff --git a/grafice/lansare/roasitop.png b/grafice/lansare/roasitop.png new file mode 100644 index 0000000..7c33149 Binary files /dev/null and b/grafice/lansare/roasitop.png differ diff --git a/grafice/lansare/roasuport.png b/grafice/lansare/roasuport.png new file mode 100644 index 0000000..4b9901b Binary files /dev/null and b/grafice/lansare/roasuport.png differ diff --git a/grafice/lansare/roavin.png b/grafice/lansare/roavin.png new file mode 100644 index 0000000..0baa644 Binary files /dev/null and b/grafice/lansare/roavin.png differ diff --git a/grafice/lansare/romfast_suport.png b/grafice/lansare/romfast_suport.png new file mode 100644 index 0000000..1d92ab1 Binary files /dev/null and b/grafice/lansare/romfast_suport.png differ diff --git a/grafice/lansare/screenshot.png b/grafice/lansare/screenshot.png new file mode 100644 index 0000000..4a8ae34 Binary files /dev/null and b/grafice/lansare/screenshot.png differ diff --git a/grafice/left.bmp b/grafice/left.bmp new file mode 100644 index 0000000..7829432 Binary files /dev/null and b/grafice/left.bmp differ diff --git a/grafice/listare_jos.bmp b/grafice/listare_jos.bmp new file mode 100644 index 0000000..611101c Binary files /dev/null and b/grafice/listare_jos.bmp differ diff --git a/grafice/listare_sus.bmp b/grafice/listare_sus.bmp new file mode 100644 index 0000000..7fa12f5 Binary files /dev/null and b/grafice/listare_sus.bmp differ diff --git a/grafice/lock.bmp b/grafice/lock.bmp new file mode 100644 index 0000000..dd380b2 Binary files /dev/null and b/grafice/lock.bmp differ diff --git a/grafice/meniutray/Favorites.bmp b/grafice/meniutray/Favorites.bmp new file mode 100644 index 0000000..e2af6f3 Binary files /dev/null and b/grafice/meniutray/Favorites.bmp differ diff --git a/grafice/meniutray/na.bmp b/grafice/meniutray/na.bmp new file mode 100644 index 0000000..55446bc Binary files /dev/null and b/grafice/meniutray/na.bmp differ diff --git a/grafice/meniutray/roa_hanulpiratilor.bmp b/grafice/meniutray/roa_hanulpiratilor.bmp new file mode 100644 index 0000000..2d20e30 Binary files /dev/null and b/grafice/meniutray/roa_hanulpiratilor.bmp differ diff --git a/grafice/meniutray/roaacnpro.bmp b/grafice/meniutray/roaacnpro.bmp new file mode 100644 index 0000000..68de3f5 Binary files /dev/null and b/grafice/meniutray/roaacnpro.bmp differ diff --git a/grafice/meniutray/roaapp.bmp b/grafice/meniutray/roaapp.bmp new file mode 100644 index 0000000..b7140e7 Binary files /dev/null and b/grafice/meniutray/roaapp.bmp differ diff --git a/grafice/meniutray/roaappupdate.bmp b/grafice/meniutray/roaappupdate.bmp new file mode 100644 index 0000000..bd342cb Binary files /dev/null and b/grafice/meniutray/roaappupdate.bmp differ diff --git a/grafice/meniutray/roaaprov.bmp b/grafice/meniutray/roaaprov.bmp new file mode 100644 index 0000000..4ff5d3f Binary files /dev/null and b/grafice/meniutray/roaaprov.bmp differ diff --git a/grafice/meniutray/roaauto.bmp b/grafice/meniutray/roaauto.bmp new file mode 100644 index 0000000..681120e Binary files /dev/null and b/grafice/meniutray/roaauto.bmp differ diff --git a/grafice/meniutray/roabavert.bmp b/grafice/meniutray/roabavert.bmp new file mode 100644 index 0000000..302cb13 Binary files /dev/null and b/grafice/meniutray/roabavert.bmp differ diff --git a/grafice/meniutray/roaclienti.bmp b/grafice/meniutray/roaclienti.bmp new file mode 100644 index 0000000..806fc15 Binary files /dev/null and b/grafice/meniutray/roaclienti.bmp differ diff --git a/grafice/meniutray/roacomenzi.bmp b/grafice/meniutray/roacomenzi.bmp new file mode 100644 index 0000000..7e791e8 Binary files /dev/null and b/grafice/meniutray/roacomenzi.bmp differ diff --git a/grafice/meniutray/roaconstructii.bmp b/grafice/meniutray/roaconstructii.bmp new file mode 100644 index 0000000..5627be8 Binary files /dev/null and b/grafice/meniutray/roaconstructii.bmp differ diff --git a/grafice/meniutray/roacont.bmp b/grafice/meniutray/roacont.bmp new file mode 100644 index 0000000..21f3fd5 Binary files /dev/null and b/grafice/meniutray/roacont.bmp differ diff --git a/grafice/meniutray/roacontracte.bmp b/grafice/meniutray/roacontracte.bmp new file mode 100644 index 0000000..806fc15 Binary files /dev/null and b/grafice/meniutray/roacontracte.bmp differ diff --git a/grafice/meniutray/roadecl.bmp b/grafice/meniutray/roadecl.bmp new file mode 100644 index 0000000..c968b41 Binary files /dev/null and b/grafice/meniutray/roadecl.bmp differ diff --git a/grafice/meniutray/roadef.bmp b/grafice/meniutray/roadef.bmp new file mode 100644 index 0000000..5f160a8 Binary files /dev/null and b/grafice/meniutray/roadef.bmp differ diff --git a/grafice/meniutray/roadefsalarii.bmp b/grafice/meniutray/roadefsalarii.bmp new file mode 100644 index 0000000..948c3cb Binary files /dev/null and b/grafice/meniutray/roadefsalarii.bmp differ diff --git a/grafice/meniutray/roadevize.bmp b/grafice/meniutray/roadevize.bmp new file mode 100644 index 0000000..8f370ca Binary files /dev/null and b/grafice/meniutray/roadevize.bmp differ diff --git a/grafice/meniutray/roafacturare.bmp b/grafice/meniutray/roafacturare.bmp new file mode 100644 index 0000000..a7a9163 Binary files /dev/null and b/grafice/meniutray/roafacturare.bmp differ diff --git a/grafice/meniutray/roafurnizori.bmp b/grafice/meniutray/roafurnizori.bmp new file mode 100644 index 0000000..a8ff745 Binary files /dev/null and b/grafice/meniutray/roafurnizori.bmp differ diff --git a/grafice/meniutray/roagen.bmp b/grafice/meniutray/roagen.bmp new file mode 100644 index 0000000..6aac8f9 Binary files /dev/null and b/grafice/meniutray/roagen.bmp differ diff --git a/grafice/meniutray/roagest.bmp b/grafice/meniutray/roagest.bmp new file mode 100644 index 0000000..15cf270 Binary files /dev/null and b/grafice/meniutray/roagest.bmp differ diff --git a/grafice/meniutray/roagest_descarcare.bmp b/grafice/meniutray/roagest_descarcare.bmp new file mode 100644 index 0000000..abeceb1 Binary files /dev/null and b/grafice/meniutray/roagest_descarcare.bmp differ diff --git a/grafice/meniutray/roagrestaurant.bmp b/grafice/meniutray/roagrestaurant.bmp new file mode 100644 index 0000000..2d1379c Binary files /dev/null and b/grafice/meniutray/roagrestaurant.bmp differ diff --git a/grafice/meniutray/roaimob.bmp b/grafice/meniutray/roaimob.bmp new file mode 100644 index 0000000..f6eee8b Binary files /dev/null and b/grafice/meniutray/roaimob.bmp differ diff --git a/grafice/meniutray/roalucrari.bmp b/grafice/meniutray/roalucrari.bmp new file mode 100644 index 0000000..a098e82 Binary files /dev/null and b/grafice/meniutray/roalucrari.bmp differ diff --git a/grafice/meniutray/roamanager.bmp b/grafice/meniutray/roamanager.bmp new file mode 100644 index 0000000..89a25db Binary files /dev/null and b/grafice/meniutray/roamanager.bmp differ diff --git a/grafice/meniutray/roanor.bmp b/grafice/meniutray/roanor.bmp new file mode 100644 index 0000000..1380c26 Binary files /dev/null and b/grafice/meniutray/roanor.bmp differ diff --git a/grafice/meniutray/roaobinv.bmp b/grafice/meniutray/roaobinv.bmp new file mode 100644 index 0000000..ab2f3e2 Binary files /dev/null and b/grafice/meniutray/roaobinv.bmp differ diff --git a/grafice/meniutray/roaoferta.bmp b/grafice/meniutray/roaoferta.bmp new file mode 100644 index 0000000..bfb249f Binary files /dev/null and b/grafice/meniutray/roaoferta.bmp differ diff --git a/grafice/meniutray/roapreturi.bmp b/grafice/meniutray/roapreturi.bmp new file mode 100644 index 0000000..5fb9dd5 Binary files /dev/null and b/grafice/meniutray/roapreturi.bmp differ diff --git a/grafice/meniutray/roaprint.bmp b/grafice/meniutray/roaprint.bmp new file mode 100644 index 0000000..51beae5 Binary files /dev/null and b/grafice/meniutray/roaprint.bmp differ diff --git a/grafice/meniutray/roaproductie.bmp b/grafice/meniutray/roaproductie.bmp new file mode 100644 index 0000000..5a643d3 Binary files /dev/null and b/grafice/meniutray/roaproductie.bmp differ diff --git a/grafice/meniutray/roaprospectare.bmp b/grafice/meniutray/roaprospectare.bmp new file mode 100644 index 0000000..91b17d4 Binary files /dev/null and b/grafice/meniutray/roaprospectare.bmp differ diff --git a/grafice/meniutray/roaravert.bmp b/grafice/meniutray/roaravert.bmp new file mode 100644 index 0000000..5265bde Binary files /dev/null and b/grafice/meniutray/roaravert.bmp differ diff --git a/grafice/meniutray/roaregistratura.bmp b/grafice/meniutray/roaregistratura.bmp new file mode 100644 index 0000000..95a4f35 Binary files /dev/null and b/grafice/meniutray/roaregistratura.bmp differ diff --git a/grafice/meniutray/roarepartizsal.bmp b/grafice/meniutray/roarepartizsal.bmp new file mode 100644 index 0000000..c3d76d1 Binary files /dev/null and b/grafice/meniutray/roarepartizsal.bmp differ diff --git a/grafice/meniutray/roares.bmp b/grafice/meniutray/roares.bmp new file mode 100644 index 0000000..19e1ad4 Binary files /dev/null and b/grafice/meniutray/roares.bmp differ diff --git a/grafice/meniutray/roarestaurant.bmp b/grafice/meniutray/roarestaurant.bmp new file mode 100644 index 0000000..9bf0e1b Binary files /dev/null and b/grafice/meniutray/roarestaurant.bmp differ diff --git a/grafice/meniutray/roasal.bmp b/grafice/meniutray/roasal.bmp new file mode 100644 index 0000000..19d24b9 Binary files /dev/null and b/grafice/meniutray/roasal.bmp differ diff --git a/grafice/meniutray/roasalspec.bmp b/grafice/meniutray/roasalspec.bmp new file mode 100644 index 0000000..929d5a7 Binary files /dev/null and b/grafice/meniutray/roasalspec.bmp differ diff --git a/grafice/meniutray/roasitfin.bmp b/grafice/meniutray/roasitfin.bmp new file mode 100644 index 0000000..8ee0f46 Binary files /dev/null and b/grafice/meniutray/roasitfin.bmp differ diff --git a/grafice/meniutray/roasitop.bmp b/grafice/meniutray/roasitop.bmp new file mode 100644 index 0000000..f43dae5 Binary files /dev/null and b/grafice/meniutray/roasitop.bmp differ diff --git a/grafice/meniutray/roasuport.bmp b/grafice/meniutray/roasuport.bmp new file mode 100644 index 0000000..22d4723 Binary files /dev/null and b/grafice/meniutray/roasuport.bmp differ diff --git a/grafice/meniutray/roavin.bmp b/grafice/meniutray/roavin.bmp new file mode 100644 index 0000000..db7ba9a Binary files /dev/null and b/grafice/meniutray/roavin.bmp differ diff --git a/grafice/meniutray/romfast_suport.bmp b/grafice/meniutray/romfast_suport.bmp new file mode 100644 index 0000000..2861963 Binary files /dev/null and b/grafice/meniutray/romfast_suport.bmp differ diff --git a/grafice/modific_jos.bmp b/grafice/modific_jos.bmp new file mode 100644 index 0000000..a139b35 Binary files /dev/null and b/grafice/modific_jos.bmp differ diff --git a/grafice/modific_sus.bmp b/grafice/modific_sus.bmp new file mode 100644 index 0000000..259b575 Binary files /dev/null and b/grafice/modific_sus.bmp differ diff --git a/grafice/modifica1.bmp b/grafice/modifica1.bmp new file mode 100644 index 0000000..259b575 Binary files /dev/null and b/grafice/modifica1.bmp differ diff --git a/grafice/modifica2.bmp b/grafice/modifica2.bmp new file mode 100644 index 0000000..a139b35 Binary files /dev/null and b/grafice/modifica2.bmp differ diff --git a/grafice/modiparam_jos.bmp b/grafice/modiparam_jos.bmp new file mode 100644 index 0000000..f22d4dc Binary files /dev/null and b/grafice/modiparam_jos.bmp differ diff --git a/grafice/modiparam_sus.bmp b/grafice/modiparam_sus.bmp new file mode 100644 index 0000000..332dceb Binary files /dev/null and b/grafice/modiparam_sus.bmp differ diff --git a/grafice/news1.ico b/grafice/news1.ico new file mode 100644 index 0000000..4c6bd5e Binary files /dev/null and b/grafice/news1.ico differ diff --git a/grafice/note.gif b/grafice/note.gif new file mode 100644 index 0000000..f9b5473 Binary files /dev/null and b/grafice/note.gif differ diff --git a/grafice/note.ico b/grafice/note.ico new file mode 100644 index 0000000..35f5937 Binary files /dev/null and b/grafice/note.ico differ diff --git a/grafice/nou1.bmp b/grafice/nou1.bmp new file mode 100644 index 0000000..ba8a033 Binary files /dev/null and b/grafice/nou1.bmp differ diff --git a/grafice/nou2.bmp b/grafice/nou2.bmp new file mode 100644 index 0000000..8a1b0a3 Binary files /dev/null and b/grafice/nou2.bmp differ diff --git a/grafice/nou_jos.bmp b/grafice/nou_jos.bmp new file mode 100644 index 0000000..8a1b0a3 Binary files /dev/null and b/grafice/nou_jos.bmp differ diff --git a/grafice/nou_jos_dis.bmp b/grafice/nou_jos_dis.bmp new file mode 100644 index 0000000..7eec9dd Binary files /dev/null and b/grafice/nou_jos_dis.bmp differ diff --git a/grafice/nou_sus.bmp b/grafice/nou_sus.bmp new file mode 100644 index 0000000..ba8a033 Binary files /dev/null and b/grafice/nou_sus.bmp differ diff --git a/grafice/nou_sus_dis.bmp b/grafice/nou_sus_dis.bmp new file mode 100644 index 0000000..a51347d Binary files /dev/null and b/grafice/nou_sus_dis.bmp differ diff --git a/grafice/nu_jos.bmp b/grafice/nu_jos.bmp new file mode 100644 index 0000000..e197e4a Binary files /dev/null and b/grafice/nu_jos.bmp differ diff --git a/grafice/nu_sus.bmp b/grafice/nu_sus.bmp new file mode 100644 index 0000000..efabc33 Binary files /dev/null and b/grafice/nu_sus.bmp differ diff --git a/grafice/open.bmp b/grafice/open.bmp new file mode 100644 index 0000000..59c9eeb Binary files /dev/null and b/grafice/open.bmp differ diff --git a/grafice/orb.bmp b/grafice/orb.bmp new file mode 100644 index 0000000..0a48e5d Binary files /dev/null and b/grafice/orb.bmp differ diff --git a/grafice/original/rc1.bmp b/grafice/original/rc1.bmp new file mode 100644 index 0000000..7bc5eff Binary files /dev/null and b/grafice/original/rc1.bmp differ diff --git a/grafice/original/rc2.bmp b/grafice/original/rc2.bmp new file mode 100644 index 0000000..1523f8f Binary files /dev/null and b/grafice/original/rc2.bmp differ diff --git a/grafice/original/rj1.bmp b/grafice/original/rj1.bmp new file mode 100644 index 0000000..40a0981 Binary files /dev/null and b/grafice/original/rj1.bmp differ diff --git a/grafice/original/rj2.bmp b/grafice/original/rj2.bmp new file mode 100644 index 0000000..3fec774 Binary files /dev/null and b/grafice/original/rj2.bmp differ diff --git a/grafice/original/rv1.bmp b/grafice/original/rv1.bmp new file mode 100644 index 0000000..a2fe15b Binary files /dev/null and b/grafice/original/rv1.bmp differ diff --git a/grafice/original/rv2.bmp b/grafice/original/rv2.bmp new file mode 100644 index 0000000..9883d5e Binary files /dev/null and b/grafice/original/rv2.bmp differ diff --git a/grafice/paintdotnet/template.pdn b/grafice/paintdotnet/template.pdn new file mode 100644 index 0000000..70ba0c7 Binary files /dev/null and b/grafice/paintdotnet/template.pdn differ diff --git a/grafice/paintdotnet/validare.png b/grafice/paintdotnet/validare.png new file mode 100644 index 0000000..94dce6d Binary files /dev/null and b/grafice/paintdotnet/validare.png differ diff --git a/grafice/pericol.ico b/grafice/pericol.ico new file mode 100644 index 0000000..36043c8 Binary files /dev/null and b/grafice/pericol.ico differ diff --git a/grafice/precEDENT1.bmp b/grafice/precEDENT1.bmp new file mode 100644 index 0000000..dad6cb1 Binary files /dev/null and b/grafice/precEDENT1.bmp differ diff --git a/grafice/precEDENT2.bmp b/grafice/precEDENT2.bmp new file mode 100644 index 0000000..cf55236 Binary files /dev/null and b/grafice/precEDENT2.bmp differ diff --git a/grafice/procente_jos.bmp b/grafice/procente_jos.bmp new file mode 100644 index 0000000..b1adcbe Binary files /dev/null and b/grafice/procente_jos.bmp differ diff --git a/grafice/procente_sus.bmp b/grafice/procente_sus.bmp new file mode 100644 index 0000000..7a84922 Binary files /dev/null and b/grafice/procente_sus.bmp differ diff --git a/grafice/rc1.bmp b/grafice/rc1.bmp new file mode 100644 index 0000000..d2dcbc7 Binary files /dev/null and b/grafice/rc1.bmp differ diff --git a/grafice/rc2.bmp b/grafice/rc2.bmp new file mode 100644 index 0000000..7e0f5fa Binary files /dev/null and b/grafice/rc2.bmp differ diff --git a/grafice/refac_jos.bmp b/grafice/refac_jos.bmp new file mode 100644 index 0000000..73c547c Binary files /dev/null and b/grafice/refac_jos.bmp differ diff --git a/grafice/refac_sus.bmp b/grafice/refac_sus.bmp new file mode 100644 index 0000000..f430a54 Binary files /dev/null and b/grafice/refac_sus.bmp differ diff --git a/grafice/remall.bmp b/grafice/remall.bmp new file mode 100644 index 0000000..7a0a288 Binary files /dev/null and b/grafice/remall.bmp differ diff --git a/grafice/remove.bmp b/grafice/remove.bmp new file mode 100644 index 0000000..33c76f7 Binary files /dev/null and b/grafice/remove.bmp differ diff --git a/grafice/renunt1.bmp b/grafice/renunt1.bmp new file mode 100644 index 0000000..6468726 Binary files /dev/null and b/grafice/renunt1.bmp differ diff --git a/grafice/renunt2.bmp b/grafice/renunt2.bmp new file mode 100644 index 0000000..a209f53 Binary files /dev/null and b/grafice/renunt2.bmp differ diff --git a/grafice/renunt_jos.bmp b/grafice/renunt_jos.bmp new file mode 100644 index 0000000..a209f53 Binary files /dev/null and b/grafice/renunt_jos.bmp differ diff --git a/grafice/renunt_sus.bmp b/grafice/renunt_sus.bmp new file mode 100644 index 0000000..6468726 Binary files /dev/null and b/grafice/renunt_sus.bmp differ diff --git a/grafice/reset.jpg b/grafice/reset.jpg new file mode 100644 index 0000000..9eac5da Binary files /dev/null and b/grafice/reset.jpg differ diff --git a/grafice/reset_jos.bmp b/grafice/reset_jos.bmp new file mode 100644 index 0000000..4d36441 Binary files /dev/null and b/grafice/reset_jos.bmp differ diff --git a/grafice/reset_sus.bmp b/grafice/reset_sus.bmp new file mode 100644 index 0000000..ff4f7b3 Binary files /dev/null and b/grafice/reset_sus.bmp differ diff --git a/grafice/retur.png b/grafice/retur.png new file mode 100644 index 0000000..79d3e5c Binary files /dev/null and b/grafice/retur.png differ diff --git a/grafice/retur1.bmp b/grafice/retur1.bmp new file mode 100644 index 0000000..089a24c Binary files /dev/null and b/grafice/retur1.bmp differ diff --git a/grafice/retur2.bmp b/grafice/retur2.bmp new file mode 100644 index 0000000..d5ce883 Binary files /dev/null and b/grafice/retur2.bmp differ diff --git a/grafice/right.bmp b/grafice/right.bmp new file mode 100644 index 0000000..c87fb52 Binary files /dev/null and b/grafice/right.bmp differ diff --git a/grafice/rj1.bmp b/grafice/rj1.bmp new file mode 100644 index 0000000..46b9ee5 Binary files /dev/null and b/grafice/rj1.bmp differ diff --git a/grafice/rj2.bmp b/grafice/rj2.bmp new file mode 100644 index 0000000..188f6fb Binary files /dev/null and b/grafice/rj2.bmp differ diff --git a/grafice/ro.gif b/grafice/ro.gif new file mode 100644 index 0000000..c717a79 Binary files /dev/null and b/grafice/ro.gif differ diff --git a/grafice/romfast_logo.JPG b/grafice/romfast_logo.JPG new file mode 100644 index 0000000..24a6a76 Binary files /dev/null and b/grafice/romfast_logo.JPG differ diff --git a/grafice/rv1.bmp b/grafice/rv1.bmp new file mode 100644 index 0000000..39dd7f5 Binary files /dev/null and b/grafice/rv1.bmp differ diff --git a/grafice/rv2.bmp b/grafice/rv2.bmp new file mode 100644 index 0000000..8df0841 Binary files /dev/null and b/grafice/rv2.bmp differ diff --git a/grafice/save_jos.bmp b/grafice/save_jos.bmp new file mode 100644 index 0000000..49799ca Binary files /dev/null and b/grafice/save_jos.bmp differ diff --git a/grafice/save_sus.bmp b/grafice/save_sus.bmp new file mode 100644 index 0000000..8a18aba Binary files /dev/null and b/grafice/save_sus.bmp differ diff --git a/grafice/searchalb.bmp b/grafice/searchalb.bmp new file mode 100644 index 0000000..2a531bc Binary files /dev/null and b/grafice/searchalb.bmp differ diff --git a/grafice/sterg2_sus_dis.bmp b/grafice/sterg2_sus_dis.bmp new file mode 100644 index 0000000..fe17c1b Binary files /dev/null and b/grafice/sterg2_sus_dis.bmp differ diff --git a/grafice/sterg_jos.bmp b/grafice/sterg_jos.bmp new file mode 100644 index 0000000..38f9994 Binary files /dev/null and b/grafice/sterg_jos.bmp differ diff --git a/grafice/sterg_sus.bmp b/grafice/sterg_sus.bmp new file mode 100644 index 0000000..828c209 Binary files /dev/null and b/grafice/sterg_sus.bmp differ diff --git a/grafice/sterge1.bmp b/grafice/sterge1.bmp new file mode 100644 index 0000000..828c209 Binary files /dev/null and b/grafice/sterge1.bmp differ diff --git a/grafice/sterge2.bmp b/grafice/sterge2.bmp new file mode 100644 index 0000000..38f9994 Binary files /dev/null and b/grafice/sterge2.bmp differ diff --git a/grafice/stoc1.bmp b/grafice/stoc1.bmp new file mode 100644 index 0000000..aed56d4 Binary files /dev/null and b/grafice/stoc1.bmp differ diff --git a/grafice/stoc2.bmp b/grafice/stoc2.bmp new file mode 100644 index 0000000..d175522 Binary files /dev/null and b/grafice/stoc2.bmp differ diff --git a/grafice/sus1.bmp b/grafice/sus1.bmp new file mode 100644 index 0000000..69b38c1 Binary files /dev/null and b/grafice/sus1.bmp differ diff --git a/grafice/sus2.bmp b/grafice/sus2.bmp new file mode 100644 index 0000000..3d9c33b Binary files /dev/null and b/grafice/sus2.bmp differ diff --git a/grafice/terminat2X.bmp b/grafice/terminat2X.bmp new file mode 100644 index 0000000..c313a44 Binary files /dev/null and b/grafice/terminat2X.bmp differ diff --git a/grafice/terminat_jos.bmp b/grafice/terminat_jos.bmp new file mode 100644 index 0000000..400e728 Binary files /dev/null and b/grafice/terminat_jos.bmp differ diff --git a/grafice/terminat_jos_verde.bmp b/grafice/terminat_jos_verde.bmp new file mode 100644 index 0000000..400e728 Binary files /dev/null and b/grafice/terminat_jos_verde.bmp differ diff --git a/grafice/terminat_sus.bmp b/grafice/terminat_sus.bmp new file mode 100644 index 0000000..dacc04a Binary files /dev/null and b/grafice/terminat_sus.bmp differ diff --git a/grafice/terminat_sus_verde.bmp b/grafice/terminat_sus_verde.bmp new file mode 100644 index 0000000..dacc04a Binary files /dev/null and b/grafice/terminat_sus_verde.bmp differ diff --git a/grafice/unlock.bmp b/grafice/unlock.bmp new file mode 100644 index 0000000..da8662d Binary files /dev/null and b/grafice/unlock.bmp differ diff --git a/grafice/unmaskblue.bmp b/grafice/unmaskblue.bmp new file mode 100644 index 0000000..5143426 Binary files /dev/null and b/grafice/unmaskblue.bmp differ diff --git a/grafice/unmaskred.bmp b/grafice/unmaskred.bmp new file mode 100644 index 0000000..17d0d5e Binary files /dev/null and b/grafice/unmaskred.bmp differ diff --git a/grafice/up.bmp b/grafice/up.bmp new file mode 100644 index 0000000..ecab466 Binary files /dev/null and b/grafice/up.bmp differ diff --git a/grafice/upArrow.bmp b/grafice/upArrow.bmp new file mode 100644 index 0000000..08da460 Binary files /dev/null and b/grafice/upArrow.bmp differ diff --git a/grafice/urmator1.bmp b/grafice/urmator1.bmp new file mode 100644 index 0000000..3afae03 Binary files /dev/null and b/grafice/urmator1.bmp differ diff --git a/grafice/urmator1_tot.bmp b/grafice/urmator1_tot.bmp new file mode 100644 index 0000000..1dfc995 Binary files /dev/null and b/grafice/urmator1_tot.bmp differ diff --git a/grafice/urmator2.bmp b/grafice/urmator2.bmp new file mode 100644 index 0000000..9668927 Binary files /dev/null and b/grafice/urmator2.bmp differ diff --git a/grafice/urmator2_tot.bmp b/grafice/urmator2_tot.bmp new file mode 100644 index 0000000..4f91c4d Binary files /dev/null and b/grafice/urmator2_tot.bmp differ diff --git a/grafice/validare11.bmp b/grafice/validare11.bmp new file mode 100644 index 0000000..c9a60ca Binary files /dev/null and b/grafice/validare11.bmp differ diff --git a/grafice/validare12.bmp b/grafice/validare12.bmp new file mode 100644 index 0000000..d6c71f2 Binary files /dev/null and b/grafice/validare12.bmp differ diff --git a/grafice/validare21.bmp b/grafice/validare21.bmp new file mode 100644 index 0000000..47f3691 Binary files /dev/null and b/grafice/validare21.bmp differ diff --git a/grafice/validare22.bmp b/grafice/validare22.bmp new file mode 100644 index 0000000..1ad2f3c Binary files /dev/null and b/grafice/validare22.bmp differ diff --git a/grafice/validare31.bmp b/grafice/validare31.bmp new file mode 100644 index 0000000..8fc2f05 Binary files /dev/null and b/grafice/validare31.bmp differ diff --git a/grafice/validare32.bmp b/grafice/validare32.bmp new file mode 100644 index 0000000..1f4b5b8 Binary files /dev/null and b/grafice/validare32.bmp differ diff --git a/grafice/validare41.bmp b/grafice/validare41.bmp new file mode 100644 index 0000000..a09dd3e Binary files /dev/null and b/grafice/validare41.bmp differ diff --git a/grafice/validare42.bmp b/grafice/validare42.bmp new file mode 100644 index 0000000..140799c Binary files /dev/null and b/grafice/validare42.bmp differ diff --git a/grafice/verificare1.bmp b/grafice/verificare1.bmp new file mode 100644 index 0000000..20445e0 Binary files /dev/null and b/grafice/verificare1.bmp differ diff --git a/grafice/verificare2.bmp b/grafice/verificare2.bmp new file mode 100644 index 0000000..0a48e5d Binary files /dev/null and b/grafice/verificare2.bmp differ diff --git a/include/comun.h b/include/comun.h new file mode 100644 index 0000000..0699e87 --- /dev/null +++ b/include/comun.h @@ -0,0 +1,13 @@ +#IFNDEF COMUN_H +#DEFINE COMUN_H + + +#DEFINE LF CHR(10) +#DEFINE CR CHR(10) +#DEFINE CRLF CHR(13) + CHR(10) +#DEFINE CTAB CHR(9) + +#DEFINE CT_INSUCCES -1 +#DEFINE CT_SUCCES 1 + +#ENDIF \ No newline at end of file diff --git a/include/foxpro.h b/include/foxpro.h new file mode 100644 index 0000000..d07394f --- /dev/null +++ b/include/foxpro.h @@ -0,0 +1,823 @@ +************************************************************************************ +************************************************************************************ +** ** +** ================ =========== ** +** == === == == ** +** == = == == ** +** == == == ** +** == === ===== ===== == == === ==== === ** +** ===== == == == == ========= == == == == == ** +** == == == == == == === == == ** +** == == == === == == == == ** +** == == == == == == == == == ** +** == == == == == == == == == ** +** ======= === ===== ==== ====== ====== === ** +** ** +************************************************************************************ +************************************************************************************ + +************************************************************************************ +************************************************************************************ +** ** +** Visual FoxPro Named Constant File ** +** This file contains named constants for most Visual FoxPro functions ** +** ** +************************************************************************************ +************************************************************************************ + +*-- General +*--ZOrder Method +#DEFINE ZORDER_BRINGTOFRONT 0 +#DEFINE ZORDER_SENDTOBACK 1 + +*-- TYPE() tags +#DEFINE T_CHARACTER "C" +#DEFINE T_NUMERIC "N" +#DEFINE T_DOUBLE "B" +#DEFINE T_DATE "D" +#DEFINE T_DATETIME "T" +#DEFINE T_MEMO "M" +#DEFINE T_GENERAL "G" +#DEFINE T_OBJECT "O" +#DEFINE T_SCREEN "S" +#DEFINE T_LOGICAL "L" +#DEFINE T_CURRENCY "Y" +#DEFINE T_UNDEFINED "U" +#DEFINE T_INTEGER "N" +#DEFINE T_VARCHAR "C" +#DEFINE T_VARBINARY "Q" +#DEFINE T_BLOB "W" + +*-- QueryUnload +#DEFINE FORM_CONTROLMENU 0 +#DEFINE FORM_CODE 1 +#DEFINE APP_WINDOWS 2 +#DEFINE APP_TASKMANAGER 3 +#DEFINE FORM_MDIFORM 4 + +*-- Columns in array returned by AVCXCLASSES() +#DEFINE AVCX_CLASS 1 && OBJNAME field +#DEFINE AVCX_BASECLASS 2 && BASECLASS field +#DEFINE AVCX_PARENTCLASS 3 && CLASS field +#DEFINE AVCX_PARENTCLASSLIB 4 && CLASSLOC field +#DEFINE AVCX_CLASSICON 5 && RESERVED4 field +#DEFINE AVCX_CONTAINERICON 6 && RESERVED5 field +#DEFINE AVCX_SCALEMODE 7 && RESERVED6 field +#DEFINE AVCX_CLASSDESCRIPTION 8 && RESERVED7 field +#DEFINE AVCX_INCLUDEFILE 9 && RESERVED8 field +#DEFINE AVCX_USERINFO 10 && USER field +#DEFINE AVCX_OLEPUBLIC 11 && RESERVED2 field + + +*-- Active Document +*-- CommandTargetQuery Command Options +#DEFINE CMDF_NOTSUPPORTED 0 && The command is not supported by this object +#DEFINE CMDF_SUPPORTED 1 && The command is supported by this object +#DEFINE CMDF_ENABLED 2 && The command is available and enabled +#DEFINE CMDF_LATCHED 4 && The command is an on-off toggle and is currently on +#DEFINE CMDF_NINCHED 8 && The command state is indeterminate + +*-- CommandTargetQuery CommandTextFlag values +#DEFINE CMDTEXTF_NONE 0 && No extra information is requested +#DEFINE CMDTEXTF_NAME 1 && Object should provide the localized name of the command +#DEFINE CMDTEXTF_STATUS 2 && Object should provide a localized status string for the command + +*-- CommandTarget Command IDs +#DEFINE CMDID_OPEN 1 && File menu, Open command +#DEFINE CMDID_NEW 2 && File menu, New command +#DEFINE CMDID_SAVE 3 && File menu, Save command +#DEFINE CMDID_SAVEAS 4 && File menu, Save As command +#DEFINE CMDID_SAVECOPYAS 5 && File menu, Save Copy As command +#DEFINE CMDID_PRINT 6 && File menu, Print command +#DEFINE CMDID_PRINTPREVIEW 7 && File menu, Print Preview command +#DEFINE CMDID_PAGESETUP 8 && File menu, Page Setup command +#DEFINE CMDID_SPELL 9 && Tools menu, Spelling command +#DEFINE CMDID_PROPERTIES 10 && File menu, Properties command +#DEFINE CMDID_CUT 11 && Edit menu, Cut command (from Host) +#DEFINE CMDID_COPY 12 && Edit menu, Copy command (from Host) +#DEFINE CMDID_PASTE 13 && Edit menu, Paste command (from Host) +#DEFINE CMDID_PASTESPECIAL 14 && Edit menu, Paste Special command (from Host) +#DEFINE CMDID_UNDO 15 && Edit menu, Undo command (from Host) +#DEFINE CMDID_REDO 16 && Edit menu, Redo command (from Host) +#DEFINE CMDID_SELECTALL 17 && Edit menu, Select All command (from Host) +#DEFINE CMDID_CLEARSELECTION 18 && Edit menu, Clear command (from Host) +#DEFINE CMDID_ZOOM 19 && View menu, Zoom command +#DEFINE CMDID_GETZOOMRANGE 20 && Retrieves zoom range applicable to View Zoom +#DEFINE CMDID_UPDATECOMMANDS 21 && Informs the Active Document of state changes +#DEFINE CMDID_REFRESH 22 && Asks the Active Document to refresh its display +#DEFINE CMDID_STOP 23 && Asks the Active Document to stop all current processing +#DEFINE CMDID_HIDETOOLBARS 24 && Asks the Active Document to hide its toolbars +#DEFINE CMDID_SETPROGRESSMAX 25 && Sets the maximum value of a progress indicator +#DEFINE CMDID_SETPROGRESSPOS 26 && Sets the current value of a progress indicator +#DEFINE CMDID_SETPROGRESSTEXT 27 && Sets the text contained in a progress indicator +#DEFINE CMDID_SETTITLE 28 && Sets the title bar text +#DEFINE CMDID_SETDOWNLOADSTATE 29 && Sent by host when its download state changes +#DEFINE CMDID_STOPDOWNLOAD 30 && Stops the download when executed +#DEFINE CMDID_ONTOOLBARACTIVATED 31 && One of the container's toolbars has received the focus +#DEFINE CMDID_ENABLE_INTERACTION 36 && Asks the Active Document to either pause or resume multimedia +#DEFINE CMDID_ONUNLOAD 37 && Sent by the Active Document host before navigation to another + && site is initiated or the host is closed + +*-- CommantTargetExec nExecOption parameter +#DEFINE CMDEXECOPT_DODEFAULT 0 && Use the default behavior +#DEFINE CMDEXECOPT_PROMPTUSER 1 && Execute the command after obtaining user input +#DEFINE CMDEXECOPT_DONTPROMPTUSER 2 && Execute the command without prompting the user +#DEFINE CMDEXECOPT_SHOWHELP 3 && Show help for the corresponding command + +*-- CommandTargetExec Return Values +#DEFINE CMD_OK 0 && Command handled okay by the Active Document +#DEFINE CMD_NOTSUPPORTED 1 && Command is not supported by the Active Document +#DEFINE CMD_DISABLED 2 && Command is disabled for the Active Document +#DEFINE CMD_NOHELP 3 && No help is available for the command from the Active Document +#DEFINE CMD_CANCELED 4 && The user canceled the execution of the command + + +*-- Project Hooks +*-- Build Actions +#DEFINE BUILDACTION_REBUILD 1 && Rebuild Project +#DEFINE BUILDACTION_BUILDAPP 2 && Build APP +#DEFINE BUILDACTION_BUILDEXE 3 && Build EXE +#DEFINE BUILDACTION_BUILDDLL 4 && Build DLL +#DEFINE BUILDACTION_BUILDMTDLL 5 && Build MTDLL + +*-- File Object SCCStatus Property +#DEFINE SCCFILE_NOTCONTROLLED 0 && File is not source controlled +#DEFINE SCCFILE_NOTCHECKEDOUT 1 && File is controlled but not checked out to anyone +#DEFINE SCCFILE_CHECKEDOUTCU 2 && File is checked out to the current user only +#DEFINE SCCFILE_CHECKEDOUTOU 3 && File is checked out to someone other than the current user +#DEFINE SCCFILE_MERGECONFLICT 4 && File has a merge conflict +#DEFINE SCCFILE_MERGE 5 && File has been merged without conflict +#DEFINE SCCFILE_CHECKEDOUTMU 6 && File is checked out to multiple users + +*-- File Object Type Property +#DEFINE FILETYPE_DATABASE "d" && Database (.DBC) +#DEFINE FILETYPE_FREETABLE "D" && Free table (.DBF) +#DEFINE FILETYPE_QUERY "Q" && Query (.QPR) +#DEFINE FILETYPE_FORM "K" && Form (.SCX) +#DEFINE FILETYPE_REPORT "R" && Report (.FRX) +#DEFINE FILETYPE_LABEL "B" && Label (.LBX) +#DEFINE FILETYPE_CLASSLIB "V" && Class Library (.VCX) +#DEFINE FILETYPE_PROGRAM "P" && Program (.PRG) +#DEFINE FILETYPE_APILIB "L" && API Library (.FLL) +#DEFINE FILETYPE_APPLICATION "Z" && Application (.APP) +#DEFINE FILETYPE_MENU "M" && Menu (.MNX) +#DEFINE FILETYPE_TEXT "T" && Text (.TXT, .H., etc.) +#DEFINE FILETYPE_OTHER "x" && Other file types not enumerated above + +*-- Server Object Instancing Property +#DEFINE SERVERINSTANCE_NOTCREATABLE 0 && Instances creatable only inside Visual FoxPro +#DEFINE SERVERINSTANCE_SINGLEUSE 1 && Single use server +#DEFINE SERVERINSTANCE_MULTIUSE 2 && Multi-use server + + +*-- Drag and Drop +*-- OLE Drag and Drop: Drop Effects +#DEFINE DROPEFFECT_NONE 0 +#DEFINE DROPEFFECT_COPY 1 +#DEFINE DROPEFFECT_MOVE 2 +#DEFINE DROPEFFECT_LINK 4 + +*-- OLE Drag and Drop: Drop Modes +#DEFINE DROP_DISABLED 0 +#DEFINE DROP_ENABLED 1 +#DEFINE DROP_PASSTOCONTAINER 2 + +*-- OLE Drag and Drop: OLEDropHasData settings +#DEFINE DROPHASDATA_VFPDETERMINE -1 +#DEFINE DROPHASDATA_NOTUSEFUL 0 +#DEFINE DROPHASDATA_USEFUL 1 + +*-- Clipboard formats (Global) +#DEFINE CF_TEXT 1 && Text +#DEFINE CF_BITMAP 2 && Bitmap +#DEFINE CF_METAFILEPICT 3 && Handle of a metafile picture format +#DEFINE CF_SYLK 4 && Microsoft Symbolic Link format +#DEFINE CF_DIF 5 && Software Arts' Data Interchange Format +#DEFINE CF_TIFF 6 && Tagged-image file format +#DEFINE CF_OEMTEXT 7 && Text format containing characters in the OEM character set +#DEFINE CF_DIB 8 && Device-independent bitmap +#DEFINE CF_PALETTE 9 && Handle of a color palette +#DEFINE CF_PENDATA 10 && Data for the pen extensions to the Microsoft Windows for Pen Computing +#DEFINE CF_RIFF 11 && Represents complex audio data +#DEFINE CF_WAVE 12 && Audio data in one of the standard wave formats +#DEFINE CF_UNICODETEXT 13 && Windows NT only: Unicode text format +#DEFINE CF_ENHMETAFILE 14 && A handle of an enhanced metafile +#DEFINE CF_FILES 15 && A list of files +#DEFINE CF_HDROP 15 && A list of files +#DEFINE CF_LOCALE 16 && A handle to the locale identifier +#DEFINE CF_MAX 17 + +*-- Other Miscellaneous Clipboard formats +#DEFINE CFSTR_HYPERLINK "Hyperlink" && A Hyperlink +#DEFINE CFSTR_BIFF "Biff" && Microsoft Excel version 2.x +#DEFINE CFSTR_BIFF3 "Biff3" && Microsoft Excel version 3.0 +#DEFINE CFSTR_BIFF4 "Biff4" && Microsoft Excel version 4.0 +#DEFINE CFSTR_BIFF5 "Biff5" && Microsoft Excel version 5.0 +#DEFINE CFSTR_BIFF7 "Biff7" && Microsoft Excel version 7.0 +#DEFINE CFSTR_BIFF8 "Biff8" && Microsoft Excel version 8.0 +#DEFINE CFSTR_XLTABLE "XlTable" && Microsoft Excel fast table format. +#DEFINE CFSTR_CSV "CSV" && Comma separated values +#DEFINE CFSTR_WK1 "Wk1" && Lotus 1-2-3 Release 2.01 and Release 2.2 format +#DEFINE CFSTR_URL "UniformResourceLocator" && URL + +#DEFINE CFSTR_RTF "Rich Text Format" +#DEFINE CFSTR_RTFNOOBJS "Rich Text Format Without Objects" +#DEFINE CFSTR_RETEXTOBJ "RichEdit Text and Objects" + +*-- Clipboard formats (Private to VFP) +#DEFINE CFSTR_OLEVARIANTARRAY "OLE Variant Array" && VFP array +#DEFINE CFSTR_OLEVARIANT "OLE Variant" && Data in variant form +#DEFINE CFSTR_VFPSOURCEOBJECT "VFP Source Object" && A reference to the VFP source object + +*-- DragMode +#DEFINE DRAG_MANUAL 0 && 0 - Manual +#DEFINE DRAG_AUTOMATIC 1 && 1 - Automatic + +*-- DragOver +#DEFINE DRAG_ENTER 0 +#DEFINE DRAG_LEAVE 1 +#DEFINE DRAG_OVER 2 + +*-- Drag (controls) +#DEFINE DRAG_CANCEL 0 +#DEFINE DRAG_BEGIN 1 +#DEFINE DRAG_END 2 + + +*-- Properties +*-- Colors +#DEFINE COLOR_WHITE 16777215 +#DEFINE COLOR_BLACK 0 +#DEFINE COLOR_GRAY 12632256 +#DEFINE COLOR_DARK_GRAY 8421504 +#DEFINE COLOR_RED 255 +#DEFINE COLOR_DARK_BLUE 8388608 +#DEFINE COLOR_CYAN 16776960 +#DEFINE COLOR_DARK_CYAN 8421376 +#DEFINE COLOR_GREEN 65280 +#DEFINE COLOR_DARK_GREEN 32768 +#DEFINE COLOR_YELLOW 65535 +#DEFINE COLOR_DARK_YELLOW 32896 +#DEFINE COLOR_BLUE 16711680 +#DEFINE COLOR_DARK_RED 128 +#DEFINE COLOR_MAGENTA 16711935 +#DEFINE COLOR_DARK_MAGENTA 8388736 + +*-- MousePointer +#DEFINE MOUSE_DEFAULT 0 && 0 - Default +#DEFINE MOUSE_ARROW 1 && 1 - Arrow +#DEFINE MOUSE_CROSSHAIR 2 && 2 - Cross +#DEFINE MOUSE_IBEAM 3 && 3 - I-Beam +#DEFINE MOUSE_ICON_POINTER 4 && 4 - Icon +#DEFINE MOUSE_SIZE_POINTER 5 && 5 - Size +#DEFINE MOUSE_SIZE_NE_SW 6 && 6 - Size NE SW +#DEFINE MOUSE_SIZE_N_S 7 && 7 - Size N S +#DEFINE MOUSE_SIZE_NW_SE 8 && 8 - Size NW SE +#DEFINE MOUSE_SIZE_W_E 9 && 9 - Size W E +#DEFINE MOUSE_UP_ARROW 10 && 10 - Up Arrow +#DEFINE MOUSE_HOURGLASS 11 && 11 - Hourglass +#DEFINE MOUSE_NO_DROP 12 && 12 - No drop +#DEFINE MOUSE_HIDE_POINTER 13 && 13 - Hide Pointer +#DEFINE MOUSE_ARROW2 14 && 14 - Arrow +#DEFINE MOUSE_CUSTOM 99 && 99 - Custom + +*-- ScrollBars +#DEFINE SCROLLBARS_NONE 0 && 0 - None (Default) +#DEFINE SCROLLBARS_HORIZONTAL 1 && 1 - Horizontal +#DEFINE SCROLLBARS_VERTICAL 2 && 2 - Vertical +#DEFINE SCROLLBARS_BOTH 3 && 3 - Both + +*-- DrawMode +#DEFINE DRAWMODE_BLACKNESS 1 && 1 - Blackness +#DEFINE DRAWMODE_NOT_MERGE_PEN 2 && 2 - Not Merge Pen +#DEFINE DRAWMODE_MASK_NOT_PEN 3 && 3 - Mask Not Pen +#DEFINE DRAWMODE_NOT_COPY_PEN 4 && 4 - Not Copy Pen +#DEFINE DRAWMODE_MASK_PEN_NOT 5 && 5 - Mask Pen Not +#DEFINE DRAWMODE_INVERT 6 && 6 - Invert +#DEFINE DRAWMODE_XOR_PEN 7 && 7 - Xor Pen +#DEFINE DRAWMODE_NOT_MASK_PEN 8 && 8 - Not Mask Pen +#DEFINE DRAWMODE_MASK_PEN 9 && 9 - Mask Pen +#DEFINE DRAWMODE_NOT_XOR_PEN 10 && 10 - Not Xor Pen +#DEFINE DRAWMODE_NOP 11 && 11 - Nop +#DEFINE DRAWMODE_MERGE_NOT_PEN 12 && 12 - Merge Not Pen +#DEFINE DRAWMODE_COPY_PEN 13 && 13 - Copy Pen +#DEFINE DRAWMODE_MERGE_PEN_NOT 14 && 14 - Merge Pen Not +#DEFINE DRAWMODE_MERGE_PEN 15 && 15 - Merge Pen +#DEFINE DRAWMODE_WHITENESS 16 && 16 - Whiteness + +*-- DrawStyle +#DEFINE DRAWSTYLE_SOLID 0 && 0 - Solid +#DEFINE DRAWSTYLE_DASH 1 && 1 - Dash +#DEFINE DRAWSTYLE_DOT 2 && 2 - Dot +#DEFINE DRAWSTYLE_DASH_DOT 3 && 3 - Dash-Dot +#DEFINE DRAWSTYLE_DASH_DOT_DOT 4 && 4 - Dash-Dot-Dot +#DEFINE DRAWSTYLE_INVISIBLE 5 && 5 - Invisible +#DEFINE DRAWSTYLE_INSIDE_SOLID 6 && 6 - Inside Solid + +*-- FillStyle +#DEFINE FILLSTYLE_SOLID 0 && 0 - Solid +#DEFINE FILLSTYLE_TRANSPARENT 1 && 1 - Transparent +#DEFINE FILLSTYLE_HORIZONTAL_LINE 2 && 2 - Horizontal Line +#DEFINE FILLSTYLE_VERTICAL_LINE 3 && 3 - Vertical Line +#DEFINE FILLSTYLE_UPWARD_DIAGONAL 4 && 4 - Upward Diagonal +#DEFINE FILLSTYLE_DOWNWARD_DIAGONAL 5 && 5 - Downward Diagonal +#DEFINE FILLSTYLE_CROSS 6 && 6 - Cross +#DEFINE FILLSTYLE_DIAGONAL_CROSS 7 && 7 - Diagonal Cross + +*-- ScaleMode +#DEFINE SCALEMODE_PIXELS 3 && 3 - Pixel +#DEFINE SCALEMODE_FOXELS 0 && 0 - Foxels + +*-- WindowState +#DEFINE WINDOWSTATE_NORMAL 0 && 0 - Normal +#DEFINE WINDOWSTATE_MINIMIZED 1 && 1 - Minimized +#DEFINE WINDOWSTATE_MAXIMIZED 2 && 2 - Maximized + +*-- Window Borders +#DEFINE BORDER_NONE 0 +#DEFINE BORDER_SINGLE 1 +#DEFINE BORDER_DOUBLE 2 +#DEFINE BORDER_SYSTEM 3 + +*-- Toolbar and Form Docking Positions +#DEFINE TOOL_NOTDOCKED -1 +#DEFINE TOOL_TOP 0 +#DEFINE TOOL_LEFT 1 +#DEFINE TOOL_RIGHT 2 +#DEFINE TOOL_BOTTOM 3 +#DEFINE TOOL_TAB 4 +#DEFINE TOOL_LINK 5 + +*-- Button parameter masks +#DEFINE BUTTON_LEFT 1 +#DEFINE BUTTON_RIGHT 2 +#DEFINE BUTTON_MIDDLE 4 + +*-- Function Parameters +*-- MessageBox parameters +#DEFINE MB_OK 0 && OK button only +#DEFINE MB_OKCANCEL 1 && OK and Cancel buttons +#DEFINE MB_ABORTRETRYIGNORE 2 && Abort, Retry, and Ignore buttons +#DEFINE MB_YESNOCANCEL 3 && Yes, No, and Cancel buttons +#DEFINE MB_YESNO 4 && Yes and No buttons +#DEFINE MB_RETRYCANCEL 5 && Retry and Cancel buttons + +#DEFINE MB_ICONSTOP 16 && Critical message +#DEFINE MB_ICONQUESTION 32 && Warning query +#DEFINE MB_ICONEXCLAMATION 48 && Warning message +#DEFINE MB_ICONINFORMATION 64 && Information message + +#DEFINE MB_APPLMODAL 0 && Application modal message box +#DEFINE MB_DEFBUTTON1 0 && First button is default +#DEFINE MB_DEFBUTTON2 256 && Second button is default +#DEFINE MB_DEFBUTTON3 512 && Third button is default +#DEFINE MB_SYSTEMMODAL 4096 && System Modal + +*-- MsgBox return values +#DEFINE IDOK 1 && OK button pressed +#DEFINE IDCANCEL 2 && Cancel button pressed +#DEFINE IDABORT 3 && Abort button pressed +#DEFINE IDRETRY 4 && Retry button pressed +#DEFINE IDIGNORE 5 && Ignore button pressed +#DEFINE IDYES 6 && Yes button pressed +#DEFINE IDNO 7 && No button pressed +#DEFINE IDTIMEOUT -1 && Timeout occurs + + +*-- Low Level File Constants +#DEFINE F_READONLY 0 +#DEFINE F_WRITEONLY 1 +#DEFINE F_READWRITE 2 +#DEFINE F_READONLY_UNBUFF 10 +#DEFINE F_WRITEONLY_UNBUFF 11 +#DEFINE F_READWRITE_UNBUFF 12 + +*-- PRTINFO() Constants +*-- PRTINFO() Valid types to pass +#DEFINE PRT_ORIENTATION 1 +#DEFINE PRT_PAPERSIZE 2 +#DEFINE PRT_PAPERLENGTH 3 +#DEFINE PRT_PAPERWIDTH 4 +#DEFINE PRT_SCALE 5 +#DEFINE PRT_COPIES 6 +#DEFINE PRT_DEFASOURCE 7 +#DEFINE PRT_PRINTQUAL 8 +#DEFINE PRT_COLOR 9 +#DEFINE PRT_DUPLEX 10 +#DEFINE PRT_YRESOLUTION 11 +#DEFINE PRT_TTOPTION 12 +#DEFINE PRT_COLLATE 13 + +*--PRTINFO() Return types +*-- Paper sizes +#define PRTPAPER_LETTER 1 && Letter 8 1/2 x 11 in +#define PRTPAPER_LETTERSMALL 2 && Letter Small 8 1/2 x 11 in +#define PRTPAPER_TABLOID 3 && Tabloid 11 x 17 in +#define PRTPAPER_LEDGER 4 && Ledger 17 x 11 in +#define PRTPAPER_LEGAL 5 && Legal 8 1/2 x 14 in +#define PRTPAPER_STATEMENT 6 && Statement 5 1/2 x 8 1/2 in +#define PRTPAPER_EXECUTIVE 7 && Executive 7 1/4 x 10 1/2 in +#define PRTPAPER_A3 8 && A3 297 x 420 mm +#define PRTPAPER_A4 9 && A4 210 x 297 mm +#define PRTPAPER_A4SMALL 10 && A4 Small 210 x 297 mm +#define PRTPAPER_A5 11 && A5 148 x 210 mm +#define PRTPAPER_B4 12 && B4 250 x 354 +#define PRTPAPER_B5 13 && B5 182 x 257 mm +#define PRTPAPER_FOLIO 14 && Folio 8 1/2 x 13 in +#define PRTPAPER_QUARTO 15 && Quarto 215 x 275 mm +#define PRTPAPER_10X14 16 && 10x14 in +#define PRTPAPER_11X17 17 && 11x17 in +#define PRTPAPER_NOTE 18 && Note 8 1/2 x 11 in +#define PRTPAPER_ENV_9 19 && Envelope #9 3 7/8 x 8 7/8 +#define PRTPAPER_ENV_10 20 && Envelope #10 4 1/8 x 9 1/2 +#define PRTPAPER_ENV_11 21 && Envelope #11 4 1/2 x 10 3/8 +#define PRTPAPER_ENV_12 22 && Envelope #12 4 \276 x 11 +#define PRTPAPER_ENV_14 23 && Envelope #14 5 x 11 1/2 +#define PRTPAPER_CSHEET 24 && C size sheet +#define PRTPAPER_DSHEET 25 && D size sheet +#define PRTPAPER_ESHEET 26 && E size sheet +#define PRTPAPER_ENV_DL 27 && Envelope DL 110 x 220mm +#define PRTPAPER_ENV_C5 28 && Envelope C5 162 x 229 mm +#define PRTPAPER_ENV_C3 29 && Envelope C3 324 x 458 mm +#define PRTPAPER_ENV_C4 30 && Envelope C4 229 x 324 mm +#define PRTPAPER_ENV_C6 31 && Envelope C6 114 x 162 mm +#define PRTPAPER_ENV_C65 32 && Envelope C65 114 x 229 mm +#define PRTPAPER_ENV_B4 33 && Envelope B4 250 x 353 mm +#define PRTPAPER_ENV_B5 34 && Envelope B5 176 x 250 mm +#define PRTPAPER_ENV_B6 35 && Envelope B6 176 x 125 mm +#define PRTPAPER_ENV_ITALY 36 && Envelope 110 x 230 mm +#define PRTPAPER_ENV_MONARCH 37 && Envelope Monarch 3.875 x 7.5 in +#define PRTPAPER_ENV_PERSONAL 38 && 6 3/4 Envelope 3 5/8 x 6 1/2 in +#define PRTPAPER_FANFOLD_US 39 && US Std Fanfold 14 7/8 x 11 in +#define PRTPAPER_FANFOLD_STD_GERMAN 40 && German Std Fanfold 8 1/2 x 12 in +#define PRTPAPER_FANFOLD_LGL_GERMAN 41 && German Legal Fanfold 8 1/2 x 13 in + +*-- Paper bins +#define PRTBIN_UPPER 1 +#define PRTBIN_ONLYONE 1 +#define PRTBIN_LOWER 2 +#define PRTBIN_MIDDLE 3 +#define PRTBIN_MANUAL 4 +#define PRTBIN_ENVELOPE 5 +#define PRTBIN_ENVMANUAL 6 +#define PRTBIN_AUTO 7 +#define PRTBIN_TRACTOR 8 +#define PRTBIN_SMALLFMT 9 +#define PRTBIN_LARGEFMT 10 +#define PRTBIN_LARGECAPACITY 11 +#define PRTBIN_CASSETTE 14 +#define PRTBIN_AUTOSELECT 15 + +*-- Print qualities +#define PRTRES_DRAFT -1 +#define PRTRES_LOW -2 +#define PRTRES_MEDIUM -3 +#define PRTRES_HIGH -4 + +*-- Color printer +#define PRTCOLOR_MONOCHROME 1 +#define PRTCOLOR_COLOR 2 + +*-- Duplexing +#define PRTDUP_SIMPLEX 1 +#define PRTDUP_VERTICAL 2 +#define PRTDUP_HORIZONTAL 3 + +*-- True Type fonts +#define PRTTT_BITMAP 1 && Print True Type fonts as graphics +#define PRTTT_DOWNLOAD 2 && Download True Type fonts as soft fonts +#define PRTTT_SUBDEV 3 && Substitute device fonts for True Type + +*-- FontMetric() +#DEFINE TM_HEIGHT 1 +#DEFINE TM_ASCENT 2 +#DEFINE TM_DESCENT 3 +#DEFINE TM_INTERNALLEADING 4 +#DEFINE TM_EXTERNALLEADING 5 +#DEFINE TM_AVECHARWIDTH 6 +#DEFINE TM_MAXCHARWIDTH 7 +#DEFINE TM_WEIGHT 8 +#DEFINE TM_ITALIC 9 +#DEFINE TM_UNDERLINED 10 +#DEFINE TM_STRUCKOUT 11 +#DEFINE TM_FIRSTCHAR 12 +#DEFINE TM_LASTCHAR 13 +#DEFINE TM_DEFAULTCHAR 14 +#DEFINE TM_BREAKCHAR 15 +#DEFINE TM_PITCHANDFAMILY 16 +#DEFINE TM_CHARSET 17 +#DEFINE TM_OVERHANG 18 +#DEFINE TM_ASPECTX 19 +#DEFINE TM_ASPECTY 20 + +*-- Sysmetric() parameter values +#DEFINE SYSMETRIC_SCREENWIDTH 1 && Screen width +#DEFINE SYSMETRIC_SCREENHEIGHT 2 && Screen width +#DEFINE SYSMETRIC_SIZINGBORDERWIDTH 3 && Width of the sizing border around a resizable window +#DEFINE SYSMETRIC_SIZINGBORDERHEIGHT 4 && Height of the sizing border around a resizable window +#DEFINE SYSMETRIC_VSCROLLBARWIDTH 5 && Width of a vertical scroll bar +#DEFINE SYSMETRIC_VSCROLLBARHEIGHT 6 && Height of the arrow bitmap on a vertical scroll bar +#DEFINE SYSMETRIC_HSCROLLBARWIDTH 7 && Width of the arrow bitmap on a horizontal scroll bar +#DEFINE SYSMETRIC_HSCROLLBARHEIGHT 8 && Height of a horizontal scroll bar +#DEFINE SYSMETRIC_WINDOWTITLEHEIGHT 9 && Height of window title (caption) area +#DEFINE SYSMETRIC_WINDOWBORDERWIDTH 10 && Width of a window border +#DEFINE SYSMETRIC_WINDOWBORDERHEIGHT 11 && Height of a window border +#DEFINE SYSMETRIC_WINDOWFRAMEWIDTH 12 && Width of the frame around the perimeter of a window + && that has a caption but is not sizable +#DEFINE SYSMETRIC_WINDOWFRAMEHEIGHT 13 && Height of the frame around the perimeter of a window + && that has a caption but is not sizable +#DEFINE SYSMETRIC_THUMBBOXWIDTH 14 && Width of the thumb box in a horizontal scroll bar +#DEFINE SYSMETRIC_THUMBBOXHEIGHT 15 && Height of the thumb box in a vertical scroll bar +#DEFINE SYSMETRIC_ICONWIDTH 16 && Width of an icon +#DEFINE SYSMETRIC_ICONHEIGHT 17 && Height of an icon +#DEFINE SYSMETRIC_CURSORWIDTH 18 && Width of a cursor +#DEFINE SYSMETRIC_CURSORHEIGHT 19 && Height of a cursor +#DEFINE SYSMETRIC_MENUBAR 20 && Height of a single-line menu bar +#DEFINE SYSMETRIC_CLIENTWIDTH 21 && Width of the client area for a full-screen window +#DEFINE SYSMETRIC_CLIENTHEIGHT 22 && Height of the client area for a full-screen window +#DEFINE SYSMETRIC_KANJIWINHEIGHT 23 && Height of the Kanji window at the bottom of the screen in DBCS versions +#DEFINE SYSMETRIC_MINDRAGWIDTH 24 && Minimum tracking width of a window. (The user cannot drag the window frame to a size smaller than this) +#DEFINE SYSMETRIC_MINDRAGHEIGHT 25 && Minimum tracking height of a window. (The user cannot drag the window frame to a size smaller than this) +#DEFINE SYSMETRIC_MINWINDOWWIDTH 26 && Minimum width of a window +#DEFINE SYSMETRIC_MINWINDOWHEIGHT 27 && Minimum height of a window +#DEFINE SYSMETRIC_TITLEBARBUTTONWIDTH 28 && Width of a title bar button +#DEFINE SYSMETRIC_TITLEBARBUTTONHEIGHT 29 && Height of a title bar button +#DEFINE SYSMETRIC_MOUSEPRESENT 30 && Is mouse present? 1 => mouse is installed, 0 => no mouse is installed +#DEFINE SYSMETRIC_DEBUGVERSION 31 && Is this a debug version? 1 => debug version, 0 => retail version +#DEFINE SYSMETRIC_MOUSEBUTTONSWAP 32 && Are mouse buttons swapped? 1 => Yes, 0 => No +#DEFINE SYSMETRIC_HALFHEIGHTBUTTONWIDTH 33 && Width of a button in a half-height title bar +#DEFINE SYSMETRIC_HALFHEIGHTBUTTONHEIGHT 34 && Height of a button in a half-height title bar + +*-- Windows GetSysMetric() defines +#DEFINE SM_CXSCREEN 0 +#DEFINE SM_CYSCREEN 1 +#DEFINE SM_CXVSCROLL 2 +#DEFINE SM_CYHSCROLL 3 +#DEFINE SM_CYCAPTION 4 +#DEFINE SM_CXBORDER 5 +#DEFINE SM_CYBORDER 6 +#DEFINE SM_CXDLGFRAME 7 +#DEFINE SM_CYDLGFRAME 8 +#DEFINE SM_CYVTHUMB 9 +#DEFINE SM_CXHTHUMB 10 +#DEFINE SM_CXICON 11 +#DEFINE SM_CYICON 12 +#DEFINE SM_CXCURSOR 13 +#DEFINE SM_CYCURSOR 14 +#DEFINE SM_CYMENU 15 +#DEFINE SM_CXFULLSCREEN 16 +#DEFINE SM_CYFULLSCREEN 17 +#DEFINE SM_CYKANJIWINDOW 18 +#DEFINE SM_MOUSEPRESENT 19 +#DEFINE SM_CYVSCROLL 20 +#DEFINE SM_CXHSCROLL 21 +#DEFINE SM_DEBUG 22 +#DEFINE SM_SWAPBUTTON 23 +#DEFINE SM_RESERVED1 24 +#DEFINE SM_RESERVED2 25 +#DEFINE SM_RESERVED3 26 +#DEFINE SM_RESERVED4 27 +#DEFINE SM_CXMIN 28 +#DEFINE SM_CYMIN 29 +#DEFINE SM_CXSIZE 30 +#DEFINE SM_CYSIZE 31 +#DEFINE SM_CXFRAME 32 +#DEFINE SM_CYFRAME 33 +#DEFINE SM_CXMINTRACK 34 +#DEFINE SM_CYMINTRACK 35 +#DEFINE SM_CMETRICS 36 + +*-- Cursor buffering modes +#DEFINE DB_BUFOFF 1 +#DEFINE DB_BUFLOCKRECORD 2 +#DEFINE DB_BUFOPTRECORD 3 +#DEFINE DB_BUFLOCKTABLE 4 +#DEFINE DB_BUFOPTTABLE 5 + +*-- Update types for views/cursors +#DEFINE DB_UPDATE 1 +#DEFINE DB_DELETEINSERT 2 + +*-- WHERE clause types for views/cursors +#DEFINE DB_KEY 1 +#DEFINE DB_KEYANDUPDATABLE 2 +#DEFINE DB_KEYANDMODIFIED 3 +#DEFINE DB_KEYANDTIMESTAMP 4 + +*-- Remote connection login prompt options +#DEFINE DB_PROMPTCOMPLETE 1 +#DEFINE DB_PROMPTALWAYS 2 +#DEFINE DB_PROMPTNEVER 3 + +*-- Remote transaction modes +#DEFINE DB_TRANSAUTO 1 +#DEFINE DB_TRANSMANUAL 2 + +*-- Source Types for CursorGetProp() +#DEFINE DB_SRCLOCALVIEW 1 +#DEFINE DB_SRCREMOTEVIEW 2 +#DEFINE DB_SRCTABLE 3 + +*-- Language IDs. +* +* A language ID is a 16 bit value which is the combination of a +* primary language ID and a secondary language ID. The bits are +* allocated as follows: +* +* +-----------------------+-------------------------+ +* | Sublanguage ID | Primary Language ID | +* +-----------------------+-------------------------+ +* 15 10 9 0 bit +* +* +* The following three combinations of primary language ID and +* sublanguage ID have special semantics: +* +* Primary Language ID Sublanguage ID Result +* ------------------- --------------- ------------------------ +* LANG_NEUTRAL SUBLANG_NEUTRAL Language neutral +* LANG_NEUTRAL SUBLANG_DEFAULT User default language +* LANG_NEUTRAL SUBLANG_SYS_DEFAULT System default language +* + +* +* Primary language IDs. +* + +#DEFINE LANG_NEUTRAL 0x00 + +#DEFINE LANG_AFRIKAANS 0x36 +#DEFINE LANG_ALBANIAN 0x1c +#DEFINE LANG_ARABIC 0x01 +#DEFINE LANG_BASQUE 0x2d +#DEFINE LANG_BELARUSIAN 0x23 +#DEFINE LANG_BULGARIAN 0x02 +#DEFINE LANG_CATALAN 0x03 +#DEFINE LANG_CHINESE 0x04 +#DEFINE LANG_CROATIAN 0x1a +#DEFINE LANG_CZECH 0x05 +#DEFINE LANG_DANISH 0x06 +#DEFINE LANG_DUTCH 0x13 +#DEFINE LANG_ENGLISH 0x09 +#DEFINE LANG_ESTONIAN 0x25 +#DEFINE LANG_FAEROESE 0x38 +#DEFINE LANG_FARSI 0x29 +#DEFINE LANG_FINNISH 0x0b +#DEFINE LANG_FRENCH 0x0c +#DEFINE LANG_GERMAN 0x07 +#DEFINE LANG_GREEK 0x08 +#DEFINE LANG_HEBREW 0x0d +#DEFINE LANG_HUNGARIAN 0x0e +#DEFINE LANG_ICELANDIC 0x0f +#DEFINE LANG_INDONESIAN 0x21 +#DEFINE LANG_ITALIAN 0x10 +#DEFINE LANG_JAPANESE 0x11 +#DEFINE LANG_KOREAN 0x12 +#DEFINE LANG_LATVIAN 0x26 +#DEFINE LANG_LITHUANIAN 0x27 +#DEFINE LANG_NORWEGIAN 0x14 +#DEFINE LANG_POLISH 0x15 +#DEFINE LANG_PORTUGUESE 0x16 +#DEFINE LANG_ROMANIAN 0x18 +#DEFINE LANG_RUSSIAN 0x19 +#DEFINE LANG_SERBIAN 0x1a +#DEFINE LANG_SLOVAK 0x1b +#DEFINE LANG_SLOVENIAN 0x24 +#DEFINE LANG_SPANISH 0x0a +#DEFINE LANG_SWEDISH 0x1d +#DEFINE LANG_THAI 0x1e +#DEFINE LANG_TURKISH 0x1f +#DEFINE LANG_UKRAINIAN 0x22 +#DEFINE LANG_VIETNAMESE 0x2a + +* +* Sublanguage IDs. +* +* The name immediately following SUBLANG_ dictates which primary +* language ID that sublanguage ID can be combined with to form a +* valid language ID. +* + +#DEFINE SUBLANG_NEUTRAL 0x0000 && language neutral +#DEFINE SUBLANG_DEFAULT 0x0400 && user default +#DEFINE SUBLANG_SYS_DEFAULT 0x0800 && system default + +#DEFINE SUBLANG_ARABIC_SAUDI_ARABIA 0x0400 && Arabic (Saudi Arabia) +#DEFINE SUBLANG_ARABIC_IRAQ 0x0800 && Arabic (Iraq) +#DEFINE SUBLANG_ARABIC_EGYPT 0x0C00 && Arabic (Egypt) +#DEFINE SUBLANG_ARABIC_LIBYA 0x1000 && Arabic (Libya) +#DEFINE SUBLANG_ARABIC_ALGERIA 0x1400 && Arabic (Algeria) +#DEFINE SUBLANG_ARABIC_MOROCCO 0x1800 && Arabic (Morocco) +#DEFINE SUBLANG_ARABIC_TUNISIA 0x1C00 && Arabic (Tunisia) +#DEFINE SUBLANG_ARABIC_OMAN 0x2000 && Arabic (Oman) +#DEFINE SUBLANG_ARABIC_YEMEN 0x2400 && Arabic (Yemen) +#DEFINE SUBLANG_ARABIC_SYRIA 0x2800 && Arabic (Syria) +#DEFINE SUBLANG_ARABIC_JORDAN 0x2C00 && Arabic (Jordan) +#DEFINE SUBLANG_ARABIC_LEBANON 0x3000 && Arabic (Lebanon) +#DEFINE SUBLANG_ARABIC_KUWAIT 0x3400 && Arabic (Kuwait) +#DEFINE SUBLANG_ARABIC_UAE 0x3800 && Arabic (U.A.E) +#DEFINE SUBLANG_ARABIC_BAHRAIN 0x3C00 && Arabic (Bahrain) +#DEFINE SUBLANG_ARABIC_QATAR 0x4000 && Arabic (Qatar) +#DEFINE SUBLANG_CHINESE_TRADITIONAL 0x0400 && Chinese (Taiwan) +#DEFINE SUBLANG_CHINESE_SIMPLIFIED 0x0800 && Chinese (PR China) +#DEFINE SUBLANG_CHINESE_HONGKONG 0x0C00 && Chinese (Hong Kong S.A.R) +#DEFINE SUBLANG_CHINESE_SINGAPORE 0x1000 && Chinese (Singapore) +#DEFINE SUBLANG_DUTCH 0x0400 && Dutch +#DEFINE SUBLANG_DUTCH_BELGIAN 0x0800 && Dutch (Belgian) +#DEFINE SUBLANG_ENGLISH_US 0x0400 && English (USA) +#DEFINE SUBLANG_ENGLISH_UK 0x0800 && English (UK) +#DEFINE SUBLANG_ENGLISH_AUS 0x0C00 && English (Australian) +#DEFINE SUBLANG_ENGLISH_CAN 0x1000 && English (Canadian) +#DEFINE SUBLANG_ENGLISH_NZ 0x1400 && English (New Zealand) +#DEFINE SUBLANG_ENGLISH_EIRE 0x1800 && English (Irish) +#DEFINE SUBLANG_ENGLISH_SOUTH_AFRICA 0x1C00 && English (South Africa) +#DEFINE SUBLANG_ENGLISH_JAMAICA 0x2000 && English (Jamaica) +#DEFINE SUBLANG_ENGLISH_CARIBBEAN 0x2400 && English (Caribbean) +#DEFINE SUBLANG_ENGLISH_BELIZE 0x2800 && English (Belize) +#DEFINE SUBLANG_ENGLISH_TRINIDAD 0x2C00 && English (Trinidad) +#DEFINE SUBLANG_FRENCH 0x0400 && French +#DEFINE SUBLANG_FRENCH_BELGIAN 0x0800 && French (Belgian) +#DEFINE SUBLANG_FRENCH_CANADIAN 0x0C00 && French (Canadian) +#DEFINE SUBLANG_FRENCH_SWISS 0x1000 && French (Swiss) +#DEFINE SUBLANG_FRENCH_LUXEMBOURG 0x1400 && French (Luxembourg) +#DEFINE SUBLANG_GERMAN 0x0400 && German +#DEFINE SUBLANG_GERMAN_SWISS 0x0800 && German (Swiss) +#DEFINE SUBLANG_GERMAN_AUSTRIAN 0x0C00 && German (Austrian) +#DEFINE SUBLANG_GERMAN_LUXEMBOURG 0x1000 && German (Luxembourg) +#DEFINE SUBLANG_GERMAN_LIECHTENSTEIN 0x1400 && German (Liechtenstein) +#DEFINE SUBLANG_ITALIAN 0x0400 && Italian +#DEFINE SUBLANG_ITALIAN_SWISS 0x0800 && Italian (Swiss) +#DEFINE SUBLANG_KOREAN 0x0400 && Korean (Extended Wansung) +#DEFINE SUBLANG_KOREAN_JOHAB 0x0800 && Korean (Johab) +#DEFINE SUBLANG_NORWEGIAN_BOKMAL 0x0400 && Norwegian (Bokmal) +#DEFINE SUBLANG_NORWEGIAN_NYNORSK 0x0800 && Norwegian (Nynorsk) +#DEFINE SUBLANG_PORTUGUESE 0x0800 && Portuguese +#DEFINE SUBLANG_PORTUGUESE_BRAZILIAN 0x0400 && Portuguese (Brazilian) +#DEFINE SUBLANG_SERBIAN_LATIN 0x0800 && Serbian (Latin) +#DEFINE SUBLANG_SERBIAN_CYRILLIC 0x0C00 && Serbian (Cyrillic) +#DEFINE SUBLANG_SPANISH 0x0400 && Spanish (Castilian) +#DEFINE SUBLANG_SPANISH_MEXICAN 0x0800 && Spanish (Mexican) +#DEFINE SUBLANG_SPANISH_MODERN 0x0C00 && Spanish (Modern) +#DEFINE SUBLANG_SPANISH_GUATEMALA 0x1000 && Spanish (Guatemala) +#DEFINE SUBLANG_SPANISH_COSTA_RICA 0x1400 && Spanish (Costa Rica) +#DEFINE SUBLANG_SPANISH_PANAMA 0x1800 && Spanish (Panama) +#DEFINE SUBLANG_SPANISH_DOMINICAN_REPUBLIC 0x1C00 && Spanish (Dominican Republic) +#DEFINE SUBLANG_SPANISH_VENEZUELA 0x2000 && Spanish (Venezuela) +#DEFINE SUBLANG_SPANISH_COLOMBIA 0x2400 && Spanish (Colombia) +#DEFINE SUBLANG_SPANISH_PERU 0x2800 && Spanish (Peru) +#DEFINE SUBLANG_SPANISH_ARGENTINA 0x2C00 && Spanish (Argentina) +#DEFINE SUBLANG_SPANISH_ECUADOR 0x3000 && Spanish (Ecuador) +#DEFINE SUBLANG_SPANISH_CHILE 0x3400 && Spanish (Chile) +#DEFINE SUBLANG_SPANISH_URUGUAY 0x3800 && Spanish (Uruguay) +#DEFINE SUBLANG_SPANISH_PARAGUAY 0x3C00 && Spanish (Paraguay) +#DEFINE SUBLANG_SPANISH_BOLIVIA 0x4000 && Spanish (Bolivia) +#DEFINE SUBLANG_SPANISH_EL_SALVADOR 0x4400 && Spanish (El Salvador) +#DEFINE SUBLANG_SPANISH_HONDURAS 0x4800 && Spanish (Honduras) +#DEFINE SUBLANG_SPANISH_NICARAGUA 0x4C00 && Spanish (Nicaragua) +#DEFINE SUBLANG_SPANISH_PUERTO_RICO 0x5000 && Spanish (Puerto Rico) +#DEFINE SUBLANG_SWEDISH 0x0400 && Swedish +#DEFINE SUBLANG_SWEDISH_FINLAND 0x0800 && Swedish (Finland) + +*-- DBC Events constants +#DEFINE DBCEVENTS_NULLTYPE 0 +#DEFINE DBCEVENTS_DATABASE 1 +#DEFINE DBCEVENTS_TABLE 2 +#DEFINE DBCEVENTS_COLUMN 3 +#DEFINE DBCEVENTS_INDEX 4 +#DEFINE DBCEVENTS_TAG 4 +#DEFINE DBCEVENTS_RELATION 5 +#DEFINE DBCEVENTS_CONNECTION 6 +#DEFINE DBCEVENTS_VIEW 7 +#DEFINE DBCEVENTS_LASTTYPE 8 +#DEFINE DBCEVENTS_STPROCS 9 + +*-- AFields() Constants +#define AFIELDS_NAME 1 +#define AFIELDS_TYPE 2 +#define AFIELDS_WIDTH 3 +#define AFIELDS_PRECISION 4 +#define AFIELDS_NULL 5 +#define AFIELDS_CODEPAGE_XLATE 6 +#define AFIELDS_VALID_EXPRESSION 7 +#define AFIELDS_VALID_TEXT 8 +#define AFIELDS_DEFAULT 9 +#define AFIELDS_TABLE_VALID_EXPRESSION 10 +#define AFIELDS_TABLE_VALID_TEXT 11 +#define AFIELDS_TABLE_LONG_NAME 12 +#define AFIELDS_INSERT_TRIGGER 13 +#define AFIELDS_UPDATE_TRIGGER 14 +#define AFIELDS_DELETE_TRIGGER 15 +#define AFIELDS_TABLE_COMMENT 16 +#define AFIELDS_AUTOINC_NEXT_VALUE 17 +#define AFIELDS_AUTOINC_STEP 18 + +* UCS Transformation Format byte order marks. +#DEFINE ENCODE_UTF16 CHR(0xFF) + CHR(0xFE) +#DEFINE ENCODE_UTF8 "" + +* COM_Attrib flag settings for Type Library attributes support +#DEFINE COMATTRIB_RESTRICTED 0x1 && The property/method should not be accessible from macro languages. +#DEFINE COMATTRIB_HIDDEN 0x40 && The property/method should not be displayed to the user, although it exists and is bindable. +#DEFINE COMATTRIB_NONBROWSABLE 0x400 && The property/method appears in an object browser, but not in a properties browser. +#DEFINE COMATTRIB_READONLY 0x100000 && The property is read-only (applies only to Properties). +#DEFINE COMATTRIB_WRITEONLY 0x200000 && The property is write-only (applies only to Properties). diff --git a/include/mvc.h b/include/mvc.h new file mode 100644 index 0000000..70f9131 --- /dev/null +++ b/include/mvc.h @@ -0,0 +1,9 @@ +#IFNDEF ROARETAIL_H +#DEFINE ROARETAIL_H + +#DEFINE RR_TIPCURSOR 1 +#DEFINE RR_TIPARRAY 2 +#DEFINE RR_TIPCOLLECTION 3 + + +#ENDIF \ No newline at end of file diff --git a/include/security.h b/include/security.h new file mode 100644 index 0000000..84dfa74 --- /dev/null +++ b/include/security.h @@ -0,0 +1 @@ +#DEFINE ENCRYPTKEY "233!do*32Di3-o23\409" \ No newline at end of file diff --git a/meniuri/achi.mn2 b/meniuri/achi.mn2 new file mode 100644 index 0000000..697456c --- /dev/null +++ b/meniuri/achi.mn2 @@ -0,0 +1,82 @@ +*-------------------------------------------------------------------------------------------------------------------------------------------------------- +* (EN) AUTOGENERATED - ATTENTION!! - NOT INTENDED FOR EXECUTION!! USE ONLY FOR MERGING CHANGES AND STORING WITH SCM TOOLS!! +*-------------------------------------------------------------------------------------------------------------------------------------------------------- +*< FOXBIN2PRG: Version="1.21" SourceFile="achi.mnx" CPID="1252" /> (Solo para binarios VFP 9 / Only for VFP 9 binaries) +* +*4 +*REPLACE + +* +DEFINE POPUP Shortcut SHORTCUT RELATIVE FROM MROW(),MCOL() +DEFINE BAR 1 OF Shortcut PROMPT "Factura \ + +* +PROCEDURE BAR_1_OF_Shortcut_FB2P + LANS(46) +ENDPROC && BAR_1_OF_Shortcut_FB2P + +PROCEDURE BAR_2_OF_Shortcut_FB2P + LANS(44) +ENDPROC && BAR_2_OF_Shortcut_FB2P + +PROCEDURE BAR_3_OF_Shortcut_FB2P + lans(45) +ENDPROC && BAR_3_OF_Shortcut_FB2P + +PROCEDURE BAR_4_OF_Shortcut_FB2P + lans(47) +ENDPROC && BAR_4_OF_Shortcut_FB2P + +PROCEDURE BAR_5_OF_Shortcut_FB2P + lans(101) +ENDPROC && BAR_5_OF_Shortcut_FB2P + +PROCEDURE BAR_7_OF_Shortcut_FB2P + LANS(94) +ENDPROC && BAR_7_OF_Shortcut_FB2P + +PROCEDURE BAR_9_OF_Shortcut_FB2P + lans(85) +ENDPROC && BAR_9_OF_Shortcut_FB2P + +* diff --git a/meniuri/config.mn2 b/meniuri/config.mn2 new file mode 100644 index 0000000..19afcca --- /dev/null +++ b/meniuri/config.mn2 @@ -0,0 +1,140 @@ +*-------------------------------------------------------------------------------------------------------------------------------------------------------- +* (EN) AUTOGENERATED - ATTENTION!! - NOT INTENDED FOR EXECUTION!! USE ONLY FOR MERGING CHANGES AND STORING WITH SCM TOOLS!! +*-------------------------------------------------------------------------------------------------------------------------------------------------------- +*< FOXBIN2PRG: Version="1.21" SourceFile="config.mnx" CPID="1252" /> (Solo para binarios VFP 9 / Only for VFP 9 binaries) +* +*4 +*REPLACE + +* +DEFINE POPUP Shortcut SHORTCUT RELATIVE FROM MROW(),MCOL() +DEFINE BAR 1 OF Shortcut PROMPT "\ + +* +PROCEDURE BAR_1_OF_Gestiuni_FB2P + DO viz_config_grupe_gestiuni WITH 1 IN oproceduri_configurare.prg +ENDPROC && BAR_1_OF_Gestiuni_FB2P + +PROCEDURE BAR_2_OF_Gestiuni_FB2P + DO viz_config_grupe_gestiuni WITH 2 IN oproceduri_configurare.prg +ENDPROC && BAR_2_OF_Gestiuni_FB2P + +PROCEDURE BAR_3_OF_Gestiuni_FB2P + DO viz_config_grupe_gestiuni WITH 3 IN oproceduri_configurare.prg +ENDPROC && BAR_3_OF_Gestiuni_FB2P + +PROCEDURE BAR_4_OF_Gestiuni_FB2P + + DO viz_config_tipuri_gestiuni IN oproceduri_configurare.prg +ENDPROC && BAR_4_OF_Gestiuni_FB2P + +PROCEDURE BAR_3_OF_Shortcut_FB2P + DO viz_catalog_articole IN oproceduri_articole.prg + + +ENDPROC && BAR_3_OF_Shortcut_FB2P + +PROCEDURE BAR_4_OF_Shortcut_FB2P + + DO viz_grupe_subgr_articole IN oproceduri_articole +ENDPROC && BAR_4_OF_Shortcut_FB2P + +PROCEDURE BAR_1_OF_Generatoar_FB2P + DO config_codmat IN oproceduri_articole.prg +ENDPROC && BAR_1_OF_Generatoar_FB2P + +PROCEDURE BAR_2_OF_Generatoar_FB2P + DO config_codbare IN oproceduri_articole.prg +ENDPROC && BAR_2_OF_Generatoar_FB2P + +PROCEDURE BAR_7_OF_Shortcut_FB2P + DO vizualizeaza_curs IN oproceduri_curs.prg WITH Ttod(get_ora()) +ENDPROC && BAR_7_OF_Shortcut_FB2P + +PROCEDURE BAR_8_OF_Shortcut_FB2P + DO viz_config_serii_complet IN oserii_numere.prg +ENDPROC && BAR_8_OF_Shortcut_FB2P + +PROCEDURE BAR_1_OF_Configurar_FB2P + DO configurare_analitice IN omeniu_initializari.prg +ENDPROC && BAR_1_OF_Configurar_FB2P + +PROCEDURE BAR_2_OF_Configurar_FB2P + DO configurare_analitice_gruputil IN omeniu_initializari.prg +ENDPROC && BAR_2_OF_Configurar_FB2P + +PROCEDURE BAR_3_OF_Configurar_FB2P + DO configurare_analitice_tva IN omeniu_initializari.prg +ENDPROC && BAR_3_OF_Configurar_FB2P + +* diff --git a/meniuri/consum2.mn2 b/meniuri/consum2.mn2 new file mode 100644 index 0000000..6a5238e --- /dev/null +++ b/meniuri/consum2.mn2 @@ -0,0 +1,73 @@ +*-------------------------------------------------------------------------------------------------------------------------------------------------------- +* (EN) AUTOGENERATED - ATTENTION!! - NOT INTENDED FOR EXECUTION!! USE ONLY FOR MERGING CHANGES AND STORING WITH SCM TOOLS!! +*-------------------------------------------------------------------------------------------------------------------------------------------------------- +*< FOXBIN2PRG: Version="1.21" SourceFile="consum2.mnx" CPID="1252" /> (Solo para binarios VFP 9 / Only for VFP 9 binaries) +* +*4 +*REPLACE + +* +DEFINE POPUP Shortcut SHORTCUT RELATIVE FROM MROW(),MCOL() +DEFINE BAR 1 OF Shortcut PROMPT "\ ob. noi)" +ON SELECTION BAR 8 OF Shortcut LANS(71) + +DEFINE BAR 9 OF Shortcut PROMPT "Ca\ + +* +PROCEDURE BAR_4_OF_Shortcut_FB2P + LANS(274) + DO listare_casare +ENDPROC && BAR_4_OF_Shortcut_FB2P + +PROCEDURE BAR_10_OF_Shortcut_FB2P + LANS(104) + DO listare_casare +ENDPROC && BAR_10_OF_Shortcut_FB2P + +* diff --git a/meniuri/consum2_obinvfol.mn2 b/meniuri/consum2_obinvfol.mn2 new file mode 100644 index 0000000..f415801 --- /dev/null +++ b/meniuri/consum2_obinvfol.mn2 @@ -0,0 +1,31 @@ +*-------------------------------------------------------------------------------------------------------------------------------------------------------- +* (EN) AUTOGENERATED - ATTENTION!! - NOT INTENDED FOR EXECUTION!! USE ONLY FOR MERGING CHANGES AND STORING WITH SCM TOOLS!! +*-------------------------------------------------------------------------------------------------------------------------------------------------------- +*< FOXBIN2PRG: Version="1.21" SourceFile="consum2_obinvfol.mnx" CPID="1252" /> (Solo para binarios VFP 9 / Only for VFP 9 binaries) +* +*4 +*REPLACE + +* +DEFINE POPUP Shortcut SHORTCUT RELATIVE FROM MROW(),MCOL() +DEFINE BAR 1 OF Shortcut PROMPT "Casare (din folosinta)" +ON SELECTION BAR 1 OF Shortcut DO BAR_1_OF_Shortcut_FB2P + +DEFINE BAR 2 OF Shortcut PROMPT "Imputare" +ON SELECTION BAR 2 OF Shortcut DO BAR_2_OF_Shortcut_FB2P +ACTIVATE POPUP Shortcut + +* + +* +PROCEDURE BAR_1_OF_Shortcut_FB2P + LANS(70) + DO listare_casare +ENDPROC && BAR_1_OF_Shortcut_FB2P + +PROCEDURE BAR_2_OF_Shortcut_FB2P + LANS(104) + DO listare_casare +ENDPROC && BAR_2_OF_Shortcut_FB2P + +* diff --git a/meniuri/editscurt.mn2 b/meniuri/editscurt.mn2 new file mode 100644 index 0000000..cf3ee0d --- /dev/null +++ b/meniuri/editscurt.mn2 @@ -0,0 +1,16 @@ +*-------------------------------------------------------------------------------------------------------------------------------------------------------- +* (EN) AUTOGENERATED - ATTENTION!! - NOT INTENDED FOR EXECUTION!! USE ONLY FOR MERGING CHANGES AND STORING WITH SCM TOOLS!! +*-------------------------------------------------------------------------------------------------------------------------------------------------------- +*< FOXBIN2PRG: Version="1.21" SourceFile="editscurt.mnx" CPID="1252" /> (Solo para binarios VFP 9 / Only for VFP 9 binaries) +* +*4 +*REPLACE + +* +DEFINE POPUP Shortcut SHORTCUT RELATIVE FROM MROW(),MCOL() +DEFINE BAR _med_copy OF Shortcut PROMPT "\ \ No newline at end of file diff --git a/meniuri/introdgen.mn2 b/meniuri/introdgen.mn2 new file mode 100644 index 0000000..2aefd60 --- /dev/null +++ b/meniuri/introdgen.mn2 @@ -0,0 +1,114 @@ +*-------------------------------------------------------------------------------------------------------------------------------------------------------- +* (EN) AUTOGENERATED - ATTENTION!! - NOT INTENDED FOR EXECUTION!! USE ONLY FOR MERGING CHANGES AND STORING WITH SCM TOOLS!! +*-------------------------------------------------------------------------------------------------------------------------------------------------------- +*< FOXBIN2PRG: Version="1.21" SourceFile="introdgen.mnx" CPID="1252" /> (Solo para binarios VFP 9 / Only for VFP 9 binaries) +* +*4 +*REPLACE + +* +DEFINE POPUP Shortcut SHORTCUT RELATIVE FROM MROW(),MCOL() +DEFINE BAR 1 OF Shortcut PROMPT "LISTA INVENTAR" +ON SELECTION BAR 1 OF Shortcut DO BAR_1_OF_Shortcut_FB2P + +DEFINE BAR 2 OF Shortcut PROMPT "\ + +* +PROCEDURE BAR_1_OF_Shortcut_FB2P + Do lista_inventar In ointroduceri.prg +ENDPROC && BAR_1_OF_Shortcut_FB2P + +PROCEDURE BAR_2_OF_Shortcut_FB2P + DO nota_inventar IN ointroduceri.prg + + *!* buton=2 + *!* If File('&loc\&nfscurt\tempo\difstoc.DBF') + *!* Do danu With 'Doriti sa continuati nota inceputa?' + *!* Endif + + *!* If buton=1 + *!* Use &loc\&nfscurt\tempo\difstoc.Dbf In 0 Exclusive Alias difstoc + *!* Else + *!* Do stoc_data In PROCEDURI.PRG + + *!* Use &loc\&nfscurt\tempo\inloc In 0 Alias inloc + + *!* Select *,cants+cant-cante As stocf,cants-cants As Dif,pret*0 As valdif; + *!* FROM inloc Into Table &loc\&nfscurt\tempo\difstoc.Dbf Order By denumire + *!* Endif + + *!* Do sterge + *!* buton=2 + + *!* PRIVATE PcNrgrupa + *!* STORE '' TO PcNrgrupa + + *!* Select difstoc + *!* Do Form difinventar + + *!* If buton=2 + *!* IF USED('inloc') + *!* Use In inloc + *!* endif + *!* Use In difstoc + *!* Return + *!* Endif + + *!* Do codare + *!* m.id_set=90101 + *!* Select * From difstoc Where Dif#0 Into Table &loc\&nfscurt\tempo\aaa.Dbf + + *!* *SELECT aaa + *!* Replace All cante With Dif + + + *!* Select iesiri + *!* Zap + *!* Append From &loc\&nfscurt\tempo\aaa.Dbf + *!* m.nnir=ALLTRIM(STR(m.NRACT)) + + *!* Select iesiri + *!* Replace All nnir With m.nnir,cod With m.cod,dataact With m.dataact,dataout WITH m.dataact + *!* *BROWSE + + *!* *Do contabilizeaza_ana With m.scd,m.scc,m.ascd,m.ascc,m.suma + *!* IF USED('actactan') + *!* USE IN actactan + *!* ENDIF + + + *!* SELECT ACT + *!* COPY STRUCTURE TO &loc\&nfscurt\tempo\actactan WITH CDX + *!* USE &loc\&nfscurt\tempo\actactan IN 0 SHARED ALIAS ACTACTAN + + *!* SELECT ACTACTAN + *!* APPEND BLANK + *!* GATHER MEMVAR + + *!* DO FORM verificare + *!* IF buton = 1 + *!* SCRIE_IN_FISIERE('BON') + *!* ENDIF + + *!* Use In difstoc + *!* Use In aaa + *!* IF USED('inloc') + *!* Use In inloc + *!* ENDIF + *!* IF USED('actactan') + *!* USE IN actactan + *!* ENDIF +ENDPROC && BAR_2_OF_Shortcut_FB2P + +PROCEDURE BAR_3_OF_Shortcut_FB2P + DO nota_inventar WITH .T. IN ointroduceri.prg +ENDPROC && BAR_3_OF_Shortcut_FB2P + +* diff --git a/meniuri/list2.mn2 b/meniuri/list2.mn2 new file mode 100644 index 0000000..36af0b0 --- /dev/null +++ b/meniuri/list2.mn2 @@ -0,0 +1,407 @@ +*-------------------------------------------------------------------------------------------------------------------------------------------------------- +* (EN) AUTOGENERATED - ATTENTION!! - NOT INTENDED FOR EXECUTION!! USE ONLY FOR MERGING CHANGES AND STORING WITH SCM TOOLS!! +*-------------------------------------------------------------------------------------------------------------------------------------------------------- +*< FOXBIN2PRG: Version="1.21" SourceFile="list2.mnx" CPID="1252" /> (Solo para binarios VFP 9 / Only for VFP 9 binaries) +* +*4 +*REPLACE + +* +DEFINE POPUP Shortcut SHORTCUT RELATIVE FROM MROW(),MCOL() +DEFINE BAR 1 OF Shortcut PROMPT "N.I.R.-uri" +ON BAR 1 OF Shortcut ACTIVATE POPUP NIRuri + + *---------------------------------- + DEFINE POPUP NIRuri SHORTCUT RELATIVE + DEFINE BAR 1 OF NIRuri PROMPT "\ + +* +PROCEDURE BAR_1_OF_NIRuri_FB2P + *!* 13.01.2015 + *!* PRIVATE pnNr + *!* STORE 0 TO pnNr + + *!* DO FORM frm_cere_text WITH 'Numarul NIR-ului','pnNr','Numarul NIR-ului' TO lnNr + *!* IF gnButon = 1 + *!* lnTip = gnTipGest + *!* DO listare_nir WITH pnNr, lnTip + *!* ENDIF + + PRIVATE pnNr1, pnNr2 + LOCAL lnTip, lnNr1, lnNr2 + pnNr1 = 0 + pnNr2 = 0 + + lnTip = gnTipGest + DO FORM frm_cere_text WITH 'Numar NIR 1','pnNr1','Numar NIR 1' TO lnNr1 + IF gnButon = 1 + pnNr2 = m.pnNr1 + DO FORM frm_cere_text WITH 'Numar NIR 2','pnNr2','Numar NIR 2' TO lnNr2 + + *!* DO listare_bon_tot WITH m.pnNr1, m.pnNr2, m.lnTip + DO listare_nir_tot WITH m.pnNr1, m.pnNr2, m.lnTip + ENDIF + *!* 13.01.2015 ^ +ENDPROC && BAR_1_OF_NIRuri_FB2P + +PROCEDURE BAR_2_OF_NIRuri_FB2P + lnTip = gnTipGest + DO list_total_NIR WITH lnTip && in oproceduri_listari.prg +ENDPROC && BAR_2_OF_NIRuri_FB2P + +PROCEDURE BAR_1_OF__1790wcrcu_FB2P + PRIVATE pnNr1, pnNr2 + LOCAL lnTip, lnNr1, lnNr2 + pnNr1 = 0 + pnNr2 = 0 + + lnTip = gnTipGest + DO FORM frm_cere_text WITH 'Numar BON 1','pnNr1','Numar BON 1' TO lnNr1 + IF gnButon = 1 + pnNr2 = m.pnNr1 + DO FORM frm_cere_text WITH 'Numar BON 2','pnNr2','Numar BON 2' TO lnNr2 + + DO listare_bon_tot WITH m.pnNr1, m.pnNr2, m.lnTip + ENDIF +ENDPROC && BAR_1_OF__1790wcrcu_FB2P + +PROCEDURE BAR_2_OF__1790wcrcu_FB2P + DO list_bon_pe_lucrare WITH gnTipGest +ENDPROC && BAR_2_OF__1790wcrcu_FB2P + +PROCEDURE BAR_3_OF__1790wcrcu_FB2P + lnTip = gnTipGest + DO list_total_BON WITH lnTip && in oproceduri_listari.prg + + *!* PRIVATE M.T + *!* SET SAFETY OFF + *!* do caut_alfa_cursor with "NUMEGEST","NUMEGEST","NUMELE GESTIUNII","M.NUMEGEST" + *!* SELE NUMEGEST + *!* SCAN + *!* IF NUMEGEST==M.NUMEGEST + *!* SCATTER MEMVAR + *!* EXIT + *!* ENDIF + *!* ENDSCAN + + *!* M.T='BONURI' + + *!* select DISTINCT rull.denumire,rull.dataact,rull.um,rull.cant,rull.cante,rull.pret,rull.gest,rull.nnir,rull.codmat,; + *!* act.nume,act.fdoc,act.nract,act.dataireg; + *!* from act,rull; + *!* where act.cod=rull.cod; + *!* into cursor ra + + *!* SELE Ra + *!* SET FILTER TO GEST=M.GEST AND CANTE # 0 + *!* INDEX ON str(GEST,2)+NNIR TO &loc\&nfscurt\tempo\FFF + *!* REPORT FORMAT NIRRUL2.FRX TO PRINTER PROMPT PREVIEW + *!* USE IN RA +ENDPROC && BAR_3_OF__1790wcrcu_FB2P + +PROCEDURE BAR_1_OF_Casareobie_FB2P + PRIVATE pnNr1, pnNr2 + LOCAL lnTip, lnNr1, lnNr2, lcListaIdSet + pnNr1 = 0 + pnNr2 = 0 + lcListaIdSet = '72' + + lnTip = gnTipGest + DO FORM frm_cere_text WITH 'Numar BON 1','pnNr1','Numar BON 1' TO lnNr1 + IF gnButon = 1 + pnNr2 = m.pnNr1 + DO FORM frm_cere_text WITH 'Numar BON 2','pnNr2','Numar BON 2' TO lnNr2 + + DO listare_bon_tot WITH m.pnNr1, m.pnNr2, m.lnTip, m.lcListaIdSet + ENDIF +ENDPROC && BAR_1_OF_Casareobie_FB2P + +PROCEDURE BAR_5_OF_Shortcut_FB2P + PRIVATE pnNr + STORE 0 TO pnNr + + DO FORM frm_cere_text WITH 'Nr. nota:','pnNr','Numarul notei de retur' TO lnNr + IF gnButon = 1 + lnTip = gnTipGest + DO LISTARE_RETUR WITH pnNr, lnTip + ENDIF + + *!* PUBLIC M.T + *!* public m.nract1,m.nract2 + *!* store 0 to m.nract1,m.nract2 + + *!* Ointre=CREATEOBJECT("CAUTintre") + *!* WITH Ointre + *!* .CAPTION="Numarul actului" + *!* .label1.caption="Nr.retur:" + *!* .label2.visible=.f. + *!* .text1.controlsource="m.nract1" + *!* .text2.visible=.f. + *!* endwith + *!* ointre.show(1) + *!* + +ENDPROC && BAR_5_OF_Shortcut_FB2P + +PROCEDURE BAR_1_OF__13c0v6fki_FB2P + PRIVATE pnNr + STORE 0 TO pnNr + + DO FORM frm_cere_text WITH 'Nr. nota:','pnNr','Numarul notei de transfer' TO lnNr + IF gnButon = 1 + lnTip = gnTipGest + DO LISTARE_TRANSFER WITH pnNr, lnTip + ENDIF + + *!* store 0 to m.nract1 + *!* Ointre=CREATEOBJECT("CAUTintre") + *!* WITH Ointre + *!* .CAPTION="Numarul notei de transfer" + *!* .label1.caption="Nr. nota:" + *!* .label2.visible=.f. + *!* .text1.controlsource="m.nract1" + *!* .text2.visible=.f. + *!* endwith + *!* ointre.show(1) + + *!* DO LIST_TRANSFER WITH M.NRACT1,17 +ENDPROC && BAR_1_OF__13c0v6fki_FB2P + +PROCEDURE BAR_2_OF__13c0v6fki_FB2P + PRIVATE pnNr + STORE 0 TO pnNr + + DO FORM frm_cere_text WITH 'Nr. nota:','pnNr','Numarul notei de transfer' TO lnNr + IF gnButon = 1 + lnTip = 6 + DO LISTARE_TRANSFER WITH pnNr, lnTip + ENDIF + + *!* store 0 to m.nract1 + *!* Ointre=CREATEOBJECT("CAUTintre") + *!* WITH Ointre + *!* .CAPTION="Numarul notei de transfer" + *!* .label1.caption="Nr. nota:" + *!* .label2.visible=.f. + *!* .text1.controlsource="m.nract1" + *!* .text2.visible=.f. + *!* endwith + *!* ointre.show(1) + + *!* DO LIST_TRANSFER WITH M.NRACT1,18 + + +ENDPROC && BAR_2_OF__13c0v6fki_FB2P + +PROCEDURE BAR_4_OF__13c0v6fki_FB2P + PRIVATE pnNr + STORE 0 TO pnNr + + DO FORM frm_cere_text WITH 'Nr. nota:','pnNr','Numarul notei de transfer' TO lnNr + IF gnButon = 1 + lnTip = gnTipGest + DO LISTARE_TRANSFER WITH pnNr, lnTip, 'VRUL_OBINV' + ENDIF +ENDPROC && BAR_4_OF__13c0v6fki_FB2P + +PROCEDURE BAR_5_OF__13c0v6fki_FB2P + PRIVATE pnNr + STORE 0 TO pnNr + + DO FORM frm_cere_text WITH 'Nr. nota:','pnNr','Numarul notei de transfer' TO lnNr + IF gnButon = 1 + lnTip = gnTipGest + DO LISTARE_TRANSFER WITH pnNr, 10, 'VRUL_OBINV' + ENDIF +ENDPROC && BAR_5_OF__13c0v6fki_FB2P + +PROCEDURE BAR_8_OF_Shortcut_FB2P + ostoc=CREATEOBJECT('frm_raport_stoc') + ostoc.show(1) +ENDPROC && BAR_8_OF_Shortcut_FB2P + +PROCEDURE BAR_10_OF_Shortcut_FB2P + PRIVATE pnNr1, pnNr2 + LOCAL lnTip, lnNr1, lnNr2 + pnNr1 = 0 + pnNr2 = 0 + + lnTip = gnTipGest + DO FORM frm_cere_text WITH 'Numar BON 1','pnNr1','Numar BON 1' TO lnNr1 + IF gnButon = 1 + pnNr2 = m.pnNr1 + DO FORM frm_cere_text WITH 'Numar BON 2','pnNr2','Numar BON 2' TO lnNr2 + + DO listare_bon_tot WITH m.pnNr1, m.pnNr2, m.lnTip + ENDIF +ENDPROC && BAR_10_OF_Shortcut_FB2P + +PROCEDURE BAR_11_OF_Shortcut_FB2P + PRIVATE pnNr + STORE 0 TO pnNr + + DO FORM frm_cere_text WITH 'Nr. nota:','pnNr','Numarul notei de casare' TO lnNr + IF gnButon = 1 + DO listare_casare WITH pnNr + ENDIF + +ENDPROC && BAR_11_OF_Shortcut_FB2P + +PROCEDURE BAR_12_OF_Shortcut_FB2P + PRIVATE pnNr + STORE 0 TO pnNr + + DO FORM frm_cere_text WITH 'Nr. nota:','pnNr','Numarul notei' TO lnNr + IF gnButon = 1 + DO listare_casare WITH pnNr, 274 + ENDIF +ENDPROC && BAR_12_OF_Shortcut_FB2P + +* diff --git a/meniuri/list2_obinvfol.mn2 b/meniuri/list2_obinvfol.mn2 new file mode 100644 index 0000000..442a030 --- /dev/null +++ b/meniuri/list2_obinvfol.mn2 @@ -0,0 +1,194 @@ +*-------------------------------------------------------------------------------------------------------------------------------------------------------- +* (EN) AUTOGENERATED - ATTENTION!! - NOT INTENDED FOR EXECUTION!! USE ONLY FOR MERGING CHANGES AND STORING WITH SCM TOOLS!! +*-------------------------------------------------------------------------------------------------------------------------------------------------------- +*< FOXBIN2PRG: Version="1.21" SourceFile="list2_obinvfol.mnx" CPID="1252" /> (Solo para binarios VFP 9 / Only for VFP 9 binaries) +* +*4 +*REPLACE + +* +DEFINE POPUP Shortcut SHORTCUT RELATIVE FROM MROW(),MCOL() +DEFINE BAR 1 OF Shortcut PROMPT "Transferuri" +ON BAR 1 OF Shortcut ACTIVATE POPUP _13c0v6fki + + *---------------------------------- + DEFINE POPUP _13c0v6fki SHORTCUT RELATIVE + DEFINE BAR 1 OF _13c0v6fki PROMPT "Transfer obiecte inventar in folosinta dupa numar" + ON SELECTION BAR 1 OF _13c0v6fki DO BAR_1_OF__13c0v6fki_FB2P + + DEFINE BAR 2 OF _13c0v6fki PROMPT "Transfer obiecte inventar in folosinta dupa numar - durata ramasa" + ON SELECTION BAR 2 OF _13c0v6fki DO BAR_2_OF__13c0v6fki_FB2P + +DEFINE BAR 2 OF Shortcut PROMPT "\-" +ON SELECTION BAR 2 OF Shortcut + +DEFINE BAR 3 OF Shortcut PROMPT "Casare din folosinta" +ON SELECTION BAR 3 OF Shortcut DO BAR_3_OF_Shortcut_FB2P + +DEFINE BAR 4 OF Shortcut PROMPT "\-" +ON BAR 4 OF Shortcut ACTIVATE POPUP _34v0qkf04 + + *---------------------------------- + DEFINE POPUP _34v0qkf04 SHORTCUT RELATIVE +DEFINE BAR 5 OF Shortcut PROMPT "Fisa de \ + +* +PROCEDURE BAR_1_OF__13c0v6fki_FB2P + PRIVATE pnNr + STORE 0 TO pnNr + + DO FORM frm_cere_text WITH 'Nr. nota:','pnNr','Numarul notei de transfer' TO lnNr + IF gnButon = 1 + lnTip = gnTipGest + DO LISTARE_TRANSFER WITH pnNr, lnTip, 'VRUL_OBINV' + ENDIF +ENDPROC && BAR_1_OF__13c0v6fki_FB2P + +PROCEDURE BAR_2_OF__13c0v6fki_FB2P + PRIVATE pnNr + STORE 0 TO pnNr + + DO FORM frm_cere_text WITH 'Nr. nota:','pnNr','Numarul notei de transfer' TO lnNr + IF gnButon = 1 + lnTip = gnTipGest + DO LISTARE_TRANSFER WITH pnNr, 10, 'VRUL_OBINV' + ENDIF +ENDPROC && BAR_2_OF__13c0v6fki_FB2P + +PROCEDURE BAR_3_OF_Shortcut_FB2P + PRIVATE pnNr + STORE 0 TO pnNr + + DO FORM frm_cere_text WITH 'Nr. nota:','pnNr','Numarul notei de casare' TO lnNr + IF gnButon = 1 + DO listare_casare WITH pnNr + ENDIF + +ENDPROC && BAR_3_OF_Shortcut_FB2P + +PROCEDURE BAR_1_OF_Fisademaga_FB2P + LOCAL llExcel + llExcel = .F. + DO fisa_ob_inventar_gest WITH gnTipGest, llExcel IN orapoarte.prg +ENDPROC && BAR_1_OF_Fisademaga_FB2P + +PROCEDURE BAR_2_OF_Fisademaga_FB2P + LOCAL llExcel + llExcel = .T. + DO fisa_ob_inventar_gest WITH gnTipGest, llExcel IN orapoarte.prg +ENDPROC && BAR_2_OF_Fisademaga_FB2P + +PROCEDURE BAR_1_OF_Rulaje_FB2P + LOCAL llExcel + llExcel = .F. + DO fisa_ob_inventar_resp WITH llExcel IN orapoarte.prg +ENDPROC && BAR_1_OF_Rulaje_FB2P + +PROCEDURE BAR_2_OF_Rulaje_FB2P + LOCAL llExcel + llExcel = .T. + DO fisa_ob_inventar_resp WITH llExcel IN orapoarte.prg +ENDPROC && BAR_2_OF_Rulaje_FB2P + +PROCEDURE BAR_1_OF_Cantitatic_FB2P + LOCAL llExcel + llExcel = .F. + DO fisa_ob_inventar_resp_stoc WITH llExcel IN orapoarte.prg +ENDPROC && BAR_1_OF_Cantitatic_FB2P + +PROCEDURE BAR_2_OF_Cantitatic_FB2P + LOCAL llExcel + llExcel = .T. + DO fisa_ob_inventar_resp_stoc WITH llExcel IN orapoarte.prg +ENDPROC && BAR_2_OF_Cantitatic_FB2P + +PROCEDURE BAR_8_OF_Shortcut_FB2P + DO fisa_lichidare && IN oproceduri_obinv.prg +ENDPROC && BAR_8_OF_Shortcut_FB2P + +PROCEDURE BAR_1_OF_Fisadelich_FB2P + DO fisa_echip_uzat_pred_imputat WITH 1 && IN oproceduri_obinv.prg +ENDPROC && BAR_1_OF_Fisadelich_FB2P + +PROCEDURE BAR_2_OF_Fisadelich_FB2P + DO fisa_echip_uzat_pred_imputat WITH 2 && IN oproceduri_obinv.prg +ENDPROC && BAR_2_OF_Fisadelich_FB2P + +PROCEDURE BAR_3_OF_Fisadelich_FB2P + DO fisa_echip_uzat_pred_imputat WITH 3 && IN oproceduri_obinv.prg +ENDPROC && BAR_3_OF_Fisadelich_FB2P + +PROCEDURE BAR_11_OF_Shortcut_FB2P + DO necesar_echipamente IN orapoarte.prg +ENDPROC && BAR_11_OF_Shortcut_FB2P + +* diff --git a/meniuri/rap_listfactav_centr.mn2 b/meniuri/rap_listfactav_centr.mn2 new file mode 100644 index 0000000..feba1c0 --- /dev/null +++ b/meniuri/rap_listfactav_centr.mn2 @@ -0,0 +1,32 @@ +*-------------------------------------------------------------------------------------------------------------------------------------------------------- +* (EN) AUTOGENERATED - ATTENTION!! - NOT INTENDED FOR EXECUTION!! USE ONLY FOR MERGING CHANGES AND STORING WITH SCM TOOLS!! +*-------------------------------------------------------------------------------------------------------------------------------------------------------- +*< FOXBIN2PRG: Version="1.21" SourceFile="rap_listfactav_centr.mnx" CPID="1252" /> (Solo para binarios VFP 9 / Only for VFP 9 binaries) +* +*4 +*REPLACE + +* +DEFINE POPUP Shortcut SHORTCUT RELATIVE FROM MROW(),MCOL() +DEFINE BAR 1 OF Shortcut PROMPT "Centralizator documente" +ON SELECTION BAR 1 OF Shortcut do rap_factav_doc in oproceduri_rapoarte_fact.prg + +DEFINE BAR 2 OF Shortcut PROMPT "Centralizator documente grupate" +ON SELECTION BAR 2 OF Shortcut do rap_factav_grupate_doc in oproceduri_rapoarte_fact.prg + +DEFINE BAR 3 OF Shortcut PROMPT "Centralizator articole" +ON SELECTION BAR 3 OF Shortcut do rap_factav_art in oproceduri_rapoarte_fact.prg + +DEFINE BAR 4 OF Shortcut PROMPT "Centralizator transferuri articole pe gestiuni" +ON SELECTION BAR 4 OF Shortcut do rap_transf_art in oproceduri_rapoarte_fact.prg + +DEFINE BAR 5 OF Shortcut PROMPT "\-" +ON BAR 5 OF Shortcut ACTIVATE POPUP _3d60u211t + + *---------------------------------- + DEFINE POPUP _3d60u211t SHORTCUT RELATIVE +DEFINE BAR 6 OF Shortcut PROMPT "Borderou trimiteri recomandate cu AR" +ON SELECTION BAR 6 OF Shortcut do rap_borderou_ar in oproceduri_rapoarte_fact.prg +ACTIVATE POPUP Shortcut + +* \ No newline at end of file diff --git a/meniuri/transfer2.mn2 b/meniuri/transfer2.mn2 new file mode 100644 index 0000000..1d7c620 --- /dev/null +++ b/meniuri/transfer2.mn2 @@ -0,0 +1,35 @@ +*-------------------------------------------------------------------------------------------------------------------------------------------------------- +* (EN) AUTOGENERATED - ATTENTION!! - NOT INTENDED FOR EXECUTION!! USE ONLY FOR MERGING CHANGES AND STORING WITH SCM TOOLS!! +*-------------------------------------------------------------------------------------------------------------------------------------------------------- +*< FOXBIN2PRG: Version="1.21" SourceFile="transfer2.mnx" CPID="1252" /> (Solo para binarios VFP 9 / Only for VFP 9 binaries) +* +*4 +*REPLACE + +* +DEFINE POPUP Shortcut SHORTCUT RELATIVE FROM MROW(),MCOL() +DEFINE BAR 1 OF Shortcut PROMPT "Catre o gestiune la pret de \ \ No newline at end of file diff --git a/meniuri/transfer2_obinvfol.mn2 b/meniuri/transfer2_obinvfol.mn2 new file mode 100644 index 0000000..a468a91 --- /dev/null +++ b/meniuri/transfer2_obinvfol.mn2 @@ -0,0 +1,29 @@ +*-------------------------------------------------------------------------------------------------------------------------------------------------------- +* (EN) AUTOGENERATED - ATTENTION!! - NOT INTENDED FOR EXECUTION!! USE ONLY FOR MERGING CHANGES AND STORING WITH SCM TOOLS!! +*-------------------------------------------------------------------------------------------------------------------------------------------------------- +*< FOXBIN2PRG: Version="1.21" SourceFile="transfer2_obinvfol.mnx" CPID="1252" /> (Solo para binarios VFP 9 / Only for VFP 9 binaries) +* +*4 +*REPLACE + +* +DEFINE POPUP Shortcut SHORTCUT RELATIVE FROM MROW(),MCOL() +DEFINE BAR 1 OF Shortcut PROMPT "Transfer intre persoane" +ON SELECTION BAR 1 OF Shortcut lans(89) + +DEFINE BAR 2 OF Shortcut PROMPT "\-" +ON BAR 2 OF Shortcut ACTIVATE POPUP _1rf0xykoe + + *---------------------------------- + DEFINE POPUP _1rf0xykoe SHORTCUT RELATIVE +DEFINE BAR 3 OF Shortcut PROMPT "Transfer intre magazii ob. inv. in folosinta" +ON SELECTION BAR 3 OF Shortcut lans(212) + +DEFINE BAR 4 OF Shortcut PROMPT "Transfer din magazie ob. inv. in folosinta catre un responsabil" +ON SELECTION BAR 4 OF Shortcut lans(210) + +DEFINE BAR 5 OF Shortcut PROMPT "Transfer de pe un responsabil catre o magazie ob. inv. in folosinta" +ON SELECTION BAR 5 OF Shortcut lans(211) +ACTIVATE POPUP Shortcut + +* \ No newline at end of file diff --git a/programe/Procese.prg b/programe/Procese.prg new file mode 100644 index 0000000..74b4b18 --- /dev/null +++ b/programe/Procese.prg @@ -0,0 +1,137 @@ +FUNCTION Createprocess(lcExe,lcCommandLine,lnShowWindow,llWaitForCompletion) +LOCAL hProcess, cProcessInfo, cStartupInfo + +DECLARE INTEGER CreateProcess IN kernel32 as _CreateProcess; + STRING lpApplicationName,; + STRING lpCommandLine,; + INTEGER lpProcessAttributes,; + INTEGER lpThreadAttributes,; + INTEGER bInheritHandles,; + INTEGER dwCreationFlags,; + INTEGER lpEnvironment,; + STRING lpCurrentDirectory,; + STRING lpStartupInfo,; + STRING @ lpProcessInformation + +cProcessinfo = REPLICATE(CHR(0),128) +cStartupInfo = GetStartupInfo(lnShowWindow) + + + +IF !EMPTY(lcCommandLine) + lcCommandLine = ["] + lcExe + [" ]+ lcCommandLine +ELSE + lcCommandLine = "" +ENDIF +lnResult = _CreateProcess(lcExe,lcCommandLine,0,0,1,0,0,; + SYS(5)+CURDIR(),cStartupInfo,@cProcessInfo) +lhProcess = CHARTOBIN( SUBSTR(cProcessInfo,1,4) ) +IF llWaitForCompletion + #DEFINE WAIT_TIMEOUT 0x00000102 + DECLARE INTEGER WaitForSingleObject IN kernel32.DLL ; + INTEGER hHandle, INTEGER dwMilliseconds + DO WHILE .T. + *** Update every 100 milliseconds + IF WaitForSingleObject(lhProcess, 100) != WAIT_TIMEOUT + EXIT + ELSE + DOEVENTS + ENDIF + ENDDO +ENDIF + +DECLARE INTEGER CloseHandle IN kernel32.DLL ; + INTEGER hObject +CloseHandle(lhProcess) +RETURN IIF(lnResult=1,.t.,.f.) +ENDFUNC + + + + +FUNCTION getStartupInfo(lnShowWindow) +LOCAL lnFlags +* creates the STARTUP structure to specify main window +* properties if a new window is created for a new process +IF EMPTY(lnShowWindow) + lnShowWindow = 1 +ENDIF +*| typedef struct _STARTUPINFO { +*| DWORD cb; 4 +*| LPTSTR lpReserved; 4 +*| LPTSTR lpDesktop; 4 +*| LPTSTR lpTitle; 4 +*| DWORD dwX; 4 +*| DWORD dwY; 4 +*| DWORD dwXSize; 4 +*| DWORD dwYSize; 4 +*| DWORD dwXCountChars; 4 +*| DWORD dwYCountChars; 4 +*| DWORD dwFillAttribute; 4 +*| DWORD dwFlags; 4 +*| WORD wShowWindow; 2 +*| WORD cbReserved2; 2 +*| LPBYTE lpReserved2; 4 +*| HANDLE hStdInput; 4 +*| HANDLE hStdOutput; 4 +*| HANDLE hStdError; 4 +*| } STARTUPINFO, *LPSTARTUPINFO; total: 68 bytes + + +#DEFINE STARTF_USESTDHANDLES 0x0100 +#DEFINE STARTF_USESHOWWINDOW 1 +#DEFINE SW_HIDE 0 +#DEFINE SW_SHOWMAXIMIZED 3 +#DEFINE SW_SHOWNORMAL 1 +lnFlags = STARTF_USESHOWWINDOW +RETURN binToChar(80) +; + binToChar(0) + binToChar(0) + binToChar(0) +; + binToChar(0) + binToChar(0) + binToChar(0) + binToChar(0) +; + binToChar(0) + binToChar(0) + binToChar(0) +; + binToChar(lnFlags) +; + binToWordChar(lnShowWindow) +; + binToWordChar(0) + binToChar(0) +; + binToChar(0) + binToChar(0) + binToChar(0) + REPLICATE(CHR(0),30) + ENDFUNC + + + +FUNCTION CharToBin(lcBinString,llSigned) +LOCAL m.i, lnWord +lnWord = 0 +FOR m.i = 1 TO LEN(lcBinString) + lnWord = lnWord + (ASC(SUBSTR(lcBinString, m.i, 1)) * (2 ^ (8 * (m.i - 1)))) +ENDFOR + +IF llSigned AND lnWord > 0x80000000 + lnWord = lnWord - 1 - 0xFFFFFFFF +ENDIF +RETURN lnWord +* wwAPI :: CharToBin +ENDFUNC + +************************************************************************ +FUNCTION BinToChar(lnValue) +**************************************** +Local byte(4) +If lnValue < 0 + lnValue = lnValue + 4294967296 +EndIf +byte(1) = lnValue % 256 +byte(2) = BitRShift(lnValue, 8) % 256 +byte(3) = BitRShift(lnValue, 16) % 256 +byte(4) = BitRShift(lnValue, 24) % 256 +RETURN Chr(byte(1))+Chr(byte(2))+Chr(byte(3))+Chr(byte(4)) +* wwAPI :: BinToChar +ENDFUNC + +************************************************************************ +FUNCTION BinToWordChar(lnValue) +**************************************** +*** Function: Creates a DWORD value from a number +*** Pass: lnValue - VFP numeric integer (unsigned) +*** Return: binary string +************************************************************************ +RETURN Chr(MOD(m.lnValue,256)) + CHR(INT(m.lnValue/256)) +ENDFUNC + diff --git a/programe/Reports/DynamicFormatting.prg b/programe/Reports/DynamicFormatting.prg new file mode 100644 index 0000000..6bb552b --- /dev/null +++ b/programe/Reports/DynamicFormatting.prg @@ -0,0 +1,223 @@ +* Define a class that knows how to apply effects to objects in a report. + +DEFINE CLASS EffectsListener AS _ReportListener OF ; + HOME() + 'ffc\_ReportListener.vcx' + + oEffectHandlers = .NULL. +&& a collection of effect handlers + DIMENSION aRecords[1] +&& an array of information for each record in the FRX + +* Create a collection of effect handler objects and fill it with the handlers +* we know about. A subclass or instance could be filled with additional ones. + + FUNCTION INIT + DODEFAULT() + WITH THIS + .oEffectHandlers = CREATEOBJECT('Collection') + .oEffectHandlers.ADD(CREATEOBJECT('DynamicForeColorEffect')) + .oEffectHandlers.ADD(CREATEOBJECT('DynamicStyleEffect')) + ENDWITH + ENDFUNC + +* Dimension aRecords to as many records as there are in the FRX so we don't +* have to redimension it as the report runs. The first column indicates if +* we've processed that record in the FRX yet and the second column contains +* a collection of effect handlers used to process the record. + + FUNCTION BEFOREREPORT + DODEFAULT() + WITH THIS + .SetFRXDataSession() + DIMENSION .aRecords[reccount(), 2] + .ResetDataSession() + ENDWITH + ENDFUNC + + PROCEDURE ONPREVIEWCLOSE + PARAMETERS lPrint + LOCAL liRange + + THIS.COMMANDCLAUSES.PROMPT = .T. + DODEFAULT(lPrint) + ENDPROC && OnPrevieClose + +* Apply any effects that were requested to the field about to be rendered. + + FUNCTION EVALUATECONTENTS(tnFRXRecno, toObjProperties) + LOCAL loEffectObject, ; + loEffectHandler, ; + lcExpression + WITH THIS + +* If we haven't already checked if this field needs any effects, do so and +* flag that we have checked it so we don't do it again. + + IF NOT .aRecords[tnFRXRecno, 1] + .aRecords[tnFRXRecno, 1] = .T. + .aRecords[tnFRXRecno, 2] = .SetupEffectsForObject(tnFRXRecno) + ENDIF NOT .aRecords[tnFRXRecno, 1] + +* Go through the collection of effect handlers for the field (the collection +* may be empty if the field doesn't need any effects), letting each one do its +* thing. + + FOR EACH loEffectObject IN .aRecords[tnFRXRecno, 2] + loEffectHandler = loEffectObject.oEffectHandler + lcExpression = loEffectObject.cExpression + loEffectHandler.Execute(toObjProperties, lcExpression) + NEXT loEffect + ENDWITH + +* Do the normal behavior. + + DODEFAULT(tnFRXRecno, toObjProperties) + ENDFUNC + +* Go through each effect handler to see if it'll handle the current report +* object. If so, add it to a collection of handlers for the object, and return +* that collection. + + FUNCTION SetupEffectsForObject(tnFRXRecno) + LOCAL loFRX, ; + loHandlers, ; + loObject + WITH THIS + loFRX = .GetReportObject(tnFRXRecno) + loHandlers = CREATEOBJECT('Collection') + FOR EACH loEffectHandler IN .oEffectHandlers + loObject = loEffectHandler.GetEffect(loFRX) + IF VARTYPE(loObject) = 'O' + loHandlers.ADD(loObject) + ENDIF VARTYPE(loObject) = 'O' + NEXT loEffectHandler + ENDWITH + RETURN loHandlers + ENDFUNC + +* Return a SCATTER NAME object for the specified record in the FRX. + + PROCEDURE GetReportObject(tnFRXRecno) + LOCAL loObject + THIS.SetFRXDataSession() + GO tnFRXRecno + SCATTER MEMO NAME loObject + THIS.ResetDataSession() + RETURN loObject + ENDPROC +ENDDEFINE + +* Create a class that holds a reference to an effect handler and the expression +* the effect handler is supposed to act on for a particular record in the FRX. + +DEFINE CLASS EffectObject AS CUSTOM + oEffectHandler = .NULL. + cExpression = '' +ENDDEFINE + +* Define an abstract class for effect handler objects. + +DEFINE CLASS EffectHandler AS CUSTOM + +* Execute is called by the EvaluateContents method of EffectsListener to +* perform an effect. + + FUNCTION Execute(toObjProperties, tcExpression) + ENDFUNC + +* GetEffects is called to return an object containing a reference to the +* handler and the expression it's supposed to work on if the specified report +* object needs this effect, or return null if not. + + FUNCTION GetEffect(toFRX) + LOCAL loObject + loObject = .NULL. + RETURN loObject + ENDFUNC + +* EvaluateExpression may be called by Execute to evaluate the specified +* expression. + + FUNCTION EvaluateExpression(tcExpression) + RETURN EVALUATE(tcExpression) + ENDFUNC +ENDDEFINE + +* Define an abstract class for effect handlers that look for +* "*:EFFECTS = " in the USER memo. + +DEFINE CLASS UserEffectHandler AS EffectHandler + cEffectsDirective = '*:EFFECTS' +&& the directive that indicates an effect is needed + cEffectName = '' +&& the effect name to look for (filled in in a subclass) + + FUNCTION GetEffect(toFRX) + LOCAL lcEffect, ; + loObject + lcEffect = THIS.cEffectsDirective + ' ' + THIS.cEffectName + IF ATC(lcEffect, toFRX.USER) > 0 + loObject = CREATEOBJECT('EffectObject') + loObject.oEffectHandler = THIS + loObject.cExpression = STREXTRACT(toFRX.USER, lcEffect + ' = ', ; + CHR(13), 1, 3) + ELSE + loObject = .NULL. + ENDIF ATC(lcEffect, toFRX.USER) > 0 + RETURN loObject + ENDFUNC +ENDDEFINE + +* Define a class to provide dynamic forecolor effects. + +DEFINE CLASS DynamicForeColorEffect AS UserEffectHandler + cEffectName = 'FORECOLOR' + +* Evaluate the expression. If the result is a numeric value and doesn't match +* the existing color of the object, change the object's color and set the +* Reload flag to .T. + + FUNCTION Execute(toObjProperties, tcExpression) + LOCAL lnColor, ; + lnPenRed, ; + lnPenGreen, ; + lnPenBlue + lnColor = THIS.EvaluateExpression(tcExpression) + IF VARTYPE(lnColor) = 'N' + lnPenRed = BITAND(lnColor, 0x0000FF) + lnPenGreen = BITRSHIFT(BITAND(lnColor, 0x00FF00), 8) + lnPenBlue = BITRSHIFT(BITAND(lnColor, 0xFF0000), 16) + WITH toObjProperties + IF .PenRed <> lnPenRed OR ; + .PenGreen <> lnPenGreen OR ; + .PenBlue <> lnPenBlue + .PenRed = lnPenRed + .PenGreen = lnPenGreen + .PenBlue = lnPenBlue + .Reload = .T. + ENDIF .PenRed <> lnPenRed ... + ENDWITH + ENDIF VARTYPE(lnColor) = 'N' + ENDFUNC +ENDDEFINE + +* Define a class to provide dynamic style effects. + +DEFINE CLASS DynamicStyleEffect AS UserEffectHandler + cEffectName = 'STYLE' + +* Evaluate the expression. If the result is a numeric value and doesn't match +* the existing style of the object, change the object's style and set the +* Reload flag to .T. + + FUNCTION Execute(toObjProperties, tcExpression) + LOCAL lnStyle + lnStyle = THIS.EvaluateExpression(tcExpression) + WITH toObjProperties + IF VARTYPE(lnStyle) = 'N' AND .FontStyle <> lnStyle + .FontStyle = lnStyle + .Reload = .T. + ENDIF VARTYPE(lnStyle) = 'N' ... + ENDWITH + ENDFUNC +ENDDEFINE diff --git a/programe/acces_meniu.prg b/programe/acces_meniu.prg new file mode 100644 index 0000000..45dcbac --- /dev/null +++ b/programe/acces_meniu.prg @@ -0,0 +1,306 @@ +*!* 08.08.2011 +*!* marius.mutu +*!* dezactiveaza_imagini - am marit distanta dintre imagini - ca sa nu se ingramadeasca textul cu shortcut-ul + +*!* 09.12.2021 +*!* marius..mutu +*!* dezactiveaza_meniuri - adaugare meniu Verificare, Import +********************************************************************************************** +Procedure verifica_drepturi + Lparameters tcObiectFundal, tcPageFrame + citeste_drepturi(gnIdUtil) + dezactiveaza_obiecte_pageframe(65, tcObiectFundal + [.] + tcPageFrame) + dezactiveaza_imagini(tcObiectFundal) + dezactiveaza_meniuri(90) +Endproc +********************************************************************************************** +Procedure citeste_drepturi + Lparameters tnIdUtil + + If Used('crsdrepturi') + Select crsdrepturi + Locate For id_firma = gnIdFirma + If Found() + Return + Else + Use In crsdrepturi + Endif + Endif + lcSql = [select cheie,id_firma from contafin_oracle.vdef_util_obiecte ] + ; + [where id_util = ?gnIdUtil and id_program=?gnIdProgram and id_firma=?gnIdFirma] + lnSucces = goExecutor.oExecute(lcSql, 'crsdrepturi') + If lnSucces < 0 + aMESSAGEBOX(goExecutor.cEroare, 0 + 16, 'Eroare') + Return + Endif + +Endproc +********************************************************************************************** +Procedure dezactiveaza_imagini + Lparameters loObiect + Local i, k, j, l, lnMinLeft + Dimension laImaginiVizibile(20, 2) + k = 0 + && left=3 pentru prima imagine + With &loObiect + For i = 1 To .ControlCount + If Alltrim(Upper(.Objects(i).Class)) = 'IMAGINE' + lcCheie = .Objects(i).ccod + If Right(lcCheie, 1) # ';' + lcCheie = lcCheie + ';' + Endif + lnPozitieS = 1 + For j = 1 To Occurs([;], lcCheie) + lnPozitieF = At([;], lcCheie, j) + lcCheie2 = Substr(lcCheie, lnPozitieS, lnPozitieF - lnPozitieS) + lcAcces = [] + Select crsdrepturi + Locate For Substr(cheie, 1, Len(lcCheie2)) = lcCheie2 + If Found() + Set Filter To Substr(cheie, 1, Len(lcCheie2)) = lcCheie2 + Scan + lcAcces = lcAcces + Substr(cheie, Len(lcCheie2) + 1, 1) + [;] + Endscan + Set Filter To + k = k + 1 + If !Empty(lcAcces) And Alltrim(lcAcces) <> [;] + .Objects(i).coptiuni_active = lcAcces + Endif + .Objects(i).Visible = .T. + laImaginiVizibile(k, 1) = i + laImaginiVizibile(k, 2) = .Objects(i).Left + Exit + Else + .Objects(i).Visible = .F. + Endif + lnPozitieS = lnPozitieF + 1 + Endfor + Endif + Endfor + If k > 0 + lnLungime = .Objects(laImaginiVizibile(1, 1)).Width + For j = 1 To k - 1 + For l = j + 1 To k + If laImaginiVizibile(j, 2) > laImaginiVizibile(l, 2) + lnPozitie = laImaginiVizibile(l, 1) + lnLeft = laImaginiVizibile(l, 2) + laImaginiVizibile(l, 1) = laImaginiVizibile(j, 1) + laImaginiVizibile(l, 2) = laImaginiVizibile(j, 2) + laImaginiVizibile(j, 1) = lnPozitie + laImaginiVizibile(j, 2) = lnLeft + Endif + Endfor + Endfor + For j = 1 To k + *!* 08.08.2011 + .Objects(laImaginiVizibile(j, 1)).Left = 5 + (j - 1) * (lnLungime + 0) + *!* 08.08.2011 ^ + Endfor + Endif + Endwith +Endproc +********************************************************************************************** +Procedure dezactiveaza_obiecte_pageframe + Lparameters lnKey, lcPageFrame, lcTata + Local lcKey, lcProp, lcOptiune, lnPozitie, i, j, k, l, lnObiecteActive + Store [] To lcKey, lcProp, lcOptiune + Store 0 To lnNivel, lnPozitie, i, j, k, l + If Empty(lcTata) + lcTata = Null + Endif + Set Exact On + With &lcPageFrame + For i = 1 To .PageCount + For j = 1 To .PageCount + If .Pages(j).PageOrder = i + Exit + Endif + Endfor + With .Pages(j) + .Enabled = .T. + lnObiecteActive = 0 + lcKey = Nvl(lcTata, []) + Chr(lnKey) + If Used('crstotal') + Use In crstotal + Endif + Select Count(*) As Total From crsdrepturi Where Substr(cheie, 1, Len(lcKey)) = lcKey Into Cursor crstotal + Select crstotal + lnObiecteActive = Total + Use In crstotal + *!* If lnObiecteActive>0 + For l = 1 To .ControlCount + Do Case + Case Alltrim(Upper(.Objects(l).Class)) = 'PAGEFRAME' + lcNume = lcPageFrame + '.' + Alltrim(.Name) + '.' + Alltrim(Upper(.Objects(l).Name)) + dezactiveaza_obiecte_pageframe(65, lcNume, lcKey) + Case Left(Alltrim(Upper(.Objects(l).Class)), 2) = 'CW' + lcOptiune = .Objects(l).label_item1.Caption + lcCheie = lcKey + Padl(Alltrim(Str(.Objects(l).nid_cw)), 2, [0]) + lcAcces = [] + .Objects(l).ccheie = lcCheie + Select crsdrepturi + Locate For Substr(cheie, 1, Len(lcCheie)) = lcCheie + If Found() + Set Filter To Substr(cheie, 1, Len(lcCheie)) = lcCheie + Scan + lcAcces = lcAcces + Substr(cheie, Len(lcCheie) + 1, 1) + [;] + Endscan + Set Filter To + .Objects(l).coptiuni_active = lcAcces + .Objects(l).activeaza() + Else + .Objects(l).dezactiveaza() + Endif + Endcase + Endfor + *!* Else + If lnObiecteActive = 0 + .Enabled = .F. + Endif + Endwith + lnKey = lnKey + 1 + Endfor + Endwith + *!* Set Exact Off +Endproc +********************************************************************************************** +Procedure dezactiveaza_meniuri() + Lparameters lnKey + Local lcKey, lcKey2, i, j, k + Do Case + Case gnIdProgram = 2 && ROACONT + Dimension laPad[5] + laPad[1] = [initializa] + laPad[2] = [_1bs12qror] + laPad[3] = [verificari] + laPad[4] = [_5100zlkwx] + laPad[5] = [eFactura] + Case gnIdProgram = 5 && ROAGEST + Dimension laPad[1] + laPad[1] = [actualizar] + Case gnIdProgram = 8 && ROAAUTO + Return + Case gnIdProgram = 7 && ROAMANAGER + Dimension laPad[3] + laPad[1] = [optiuni] + laPad[2] = [vizualizar] + laPad[3] = [rapoartege] + Case gnIdProgram = 75 && ROASALSPEC modificare 16.10.2012 + Dimension laPad[2] + laPad[1] = [_3mm0vdyef] + laPad[2] = [_3mm0ve0rs] + Case gnIdProgram = 4 && ROARES + Dimension laPad[3] + laPad[1] = [initializa] + laPad[2] = [configurar] + laPad[3] = [migrare] + Otherwise && Restul + Return + Endcase + + lcKey = Chr(lnKey) + lnKey2 = 65 + For j = 1 To Alen(laPad) + k = 0 + Try + If Cntbar(laPad[j]) > 0 + lcKey2 = lcKey + Chr(lnKey2) + lnKey2 = lnKey2 + 1 + For i = 1 To Cntbar(laPad[j]) + lcOptiune = Prmbar(laPad[j], i) + If !Empty(lcOptiune) + k = k + 1 + lcCheie = lcKey2 + Padl(Alltrim(Str(k)), 2, [0]) + Select crsdrepturi + Locate For Substr(cheie, 1, Len(lcCheie)) = lcCheie + If Found() + *!* WAIT WINDOW laPad[j]+" "+lcCheie+" gasita" + Set Skip Of Bar i Of &laPad[j] .F. + Else + *!* WAIT WINDOW laPad[j]+" "+lcCheie+" negasita" + *!* messagebox(skpbar (laPad[j],i),48,laPad[j]+" "+alltrim(str(i))) + Set Skip Of Bar i Of &laPad[j] .T. + *!* messagebox(skpbar (laPad[j],i),48,laPad[j]+" "+alltrim(str(i))) + Endif + Endif + Endfor + Endif + Catch + Endtry + Endfor +Endproc + +********************************************************************************************** +*** Citeste accesul pentru o optiune dupa cod +*** Ex. pentru initializarea accesului la lansarea unui formular direct din meniu +Function GetAccesByCod + Lparameters tcCod, tcAccesDefault + * tcCod = codul optiunii din meniu (ex: ZA01/ZA02/ZB01) + * tcAccesDefault = codul de acces in caz ca nu sunt definite drepturi pe acel cod ("1;2;3;4") + + Local lcAcces, lcAccesDefault, lcCheie, lcCheie2, lcSelect, lnPozitieF, lnPozitieS, j, k + lcAccesDefault = Iif(!Empty(m.tcAccesDefault), m.tcAccesDefault, "") + lcAcces = "" + + lcSelect = Select() + + lcCheie = Upper(Alltrim(m.tcCod)) + k = 0 + If Right(lcCheie, 1) # ';' + lcCheie = lcCheie + ';' + Endif + lnPozitieS = 1 + For j = 1 To Occurs([;], lcCheie) + lnPozitieF = At([;], lcCheie, j) + lcCheie2 = Substr(lcCheie, lnPozitieS, lnPozitieF - lnPozitieS) + lcAcces = [] + Select crsdrepturi + Locate For Substr(cheie, 1, Len(lcCheie2)) = lcCheie2 + If Found() + Set Filter To Substr(cheie, 1, Len(lcCheie2)) = lcCheie2 + Scan + lcAcces = lcAcces + Substr(cheie, Len(lcCheie2) + 1, 1) + [;] + Endscan + Set Filter To + k = k + 1 + Exit + Endif && found + lnPozitieS = lnPozitieF + 1 + ENDFOR + IF EMPTY(m.lcAcces) AND !EMPTY(m.lcAccesDefault) + lcAcces = m.lcAccesDefault + ENDIF + + Select (m.lcSelect) + RETURN m.lcAcces +ENDFUNC && GetAccesByCod + +********************************************************************************************** +Procedure actualizeaza_acces_forma + Lparameters loObiect, tcAcces + Local lcProp + For i = 1 To Len(tcAcces) + lcProp = 'this.lactiv' + Alltrim(Substr(tcAcces, i, 1)) + &lcProp = .T. + Endfor +Endproc +********************************************************************************************** +*!* Procedure setari_grupuri +*!* Private pogrupuri,pcschema1,pcselect1 +*!* Store '' To pogrupuri +*!* *!* pcschema1=['id_util n(5),utilizator c(30)'] +*!* *!* pcselect1=['select id_util,utilizator from vutil_drept where 1=2'] +*!* *!* pcorder1=[utilizator] +*!* *!* pcfiltru1=[id_firma=?gnIdFirma and id_prog=?gnIdProgram] + +*!* pcschema1=['id_grup n(5),grup c(30)'] +*!* pcselect1=['select id_grup,grup from vdef_grup where 1=2'] +*!* pcorder1=[grup] +*!* pcfiltru1=[2=2] +*!* llAfiseaza=.F. +*!* gencursor('pogrupuri','crsgrupuri',pcselect1,pcfiltru1,pcschema1,pcorder1,llAfiseaza) +*!* pogrupuri.ca_baza1.afisare() +*!* ofrmgrupuri=Createobject('frm_grupuri') +*!* ofrmgrupuri.Show(1) +*!* Release pogrupuri +*!* Endproc \ No newline at end of file diff --git a/programe/acces_meniu2.prg b/programe/acces_meniu2.prg new file mode 100644 index 0000000..cfe949a --- /dev/null +++ b/programe/acces_meniu2.prg @@ -0,0 +1,103 @@ +&& este versiunea pentru programele care nu au definite obiecte +********************************************************************************************** +Procedure verifica_drepturi2 +Lparameters tcObiectFundal,tcPageFrame,tlImagini +dezactiveaza_obiecte_pageframe2(65,tcObiectFundal+[.]+tcPageFrame) +If Empty(tlImagini) Or tlImagini + dezactiveaza_imagini2(tcObiectFundal) +Endif +Endproc +********************************************************************************************** +Procedure dezactiveaza_imagini2 +Lparameters loObiect +Local i,k,j,l,lnMinLeft +Dimension laImaginiVizibile(20,2) +k=0 +&& left=3 pentru prima imagine +With &loObiect + For i=1 To .ControlCount + If Alltrim(Upper(.Objects(i).Class))='IMAGINE' + k=k+1 + lcCheie=.Objects(i).ccod + lcAcces=[1;2;3;4;5;7;] + .Objects(i).coptiuni_active=lcAcces + .Objects(i).Visible=.T. + laImaginiVizibile(k,1)=i + laImaginiVizibile(k,2)=.Objects(i).Left + Endif + Endfor + If k>0 + lnLungime=.Objects(laImaginiVizibile(1,1)).Width + For j=1 To k-1 + For l=j+1 To k + If laImaginiVizibile(j,2)>laImaginiVizibile(l,2) + lnPozitie=laImaginiVizibile(l,1) + lnLeft=laImaginiVizibile(l,2) + laImaginiVizibile(l,1)=laImaginiVizibile(j,1) + laImaginiVizibile(l,2)=laImaginiVizibile(j,2) + laImaginiVizibile(j,1)=lnPozitie + laImaginiVizibile(j,2)=lnLeft + Endif + Endfor + Endfor + For j=1 To k + .Objects(laImaginiVizibile(j,1)).Left=5+(j-1)*lnLungime + Endfor + Endif +Endwith +Endproc +********************************************************************************************** +Procedure dezactiveaza_obiecte_pageframe2 +Lparameters lnKey,lcPageFrame,lcTata +Local lcKey,lcProp,lcOptiune,lnPozitie,i,j,k,l,lnObiecteActive +Store [] To lcKey,lcProp,lcOptiune +Store 0 To lnNivel,lnPozitie,i,j,k,l +If Empty(lcTata) + lcTata=Null +ENDIF + +LOCAL lcSetExact +lcSetExact = SET("Exact") +Set Exact On +With &lcPageFrame + For i=1 To .PageCount + For j=1 To .PageCount + If .Pages(j).PageOrder=i + Exit + Endif + Endfor + With .Pages(j) + lcKey=Nvl(lcTata,[])+Chr(lnKey) + For l=1 To .ControlCount + Do Case + Case Alltrim(Upper(.Objects(l).Class))='PAGEFRAME' + lcNume=lcPageFrame+'.'+Alltrim(.Name)+'.'+Alltrim(Upper(.Objects(l).Name)) + dezactiveaza_obiecte_pageframe2(65,lcNume,lcKey) + Case Alltrim(Upper(.Objects(l).Class))='CW' + lcOptiune=.Objects(l).label_item1.Caption + lcCheie=lcKey+Padl(Alltrim(Str(.Objects(l).nid_cw)),2,[0]) + lcAcces=[1;2;3;4;7;] + .Objects(l).ccheie=lcCheie + .Objects(l).coptiuni_active=lcAcces + .Objects(l).activeaza() + Endcase + Endfor + Endwith + lnKey=lnKey+1 + Endfor +ENDWITH + +SET EXACT &lcSetExact +* Set Exact Off + +Endproc +********************************************************************************************** +Procedure actualizeaza_acces_forma +Lparameters loObiect,tcAcces +Local lcProp +For i=1 To Len(tcAcces) + lcProp='this.lactiv'+Alltrim(Substr(tcAcces,i,1)) + &lcProp=.T. +Endfor +Endproc +********************************************************************************************** \ No newline at end of file diff --git a/programe/actualizare_aplicatie.prg b/programe/actualizare_aplicatie.prg new file mode 100644 index 0000000..a797efa --- /dev/null +++ b/programe/actualizare_aplicatie.prg @@ -0,0 +1,134 @@ +LPARAMETERS tcProgram, tcVersiuneURL +*** IN LUCRU +* tcProgram: ROAEFACTURA +* tcVersiuneURL: https://www.romfast.ro/romfastsuport/files/suport.xml + +#DEFINE CRLF CHR(13) + CHR(10) + +lcProgram = IIF(!EMPTY(m.tcProgram), UPPER(ALLTRIM(m.tcProgram)), UPPER(ALLTRIM(SYS(16,0)))) +lcServer = IIF(!EMPTY(m.tcVersiuneURL), m.tcVersiuneURL, [https://www.romfast.ro/romfastsuport/files/suport.xml]) + +llSucces = .F. +Try + loHTTP = Createobject('winHTTP.winHTTPrequest.5.1') + llSucces = .T. +CATCH TO loEx + This.Log('Actualizare aplicatie - Eroare: ' + loEx.Message) +ENDTRY + +IF m.llSucces + llSucces = .F. + TRY + This.Log(m.lcServer) + loHTTP.Open('GET', lcServer, .F.) + loHTTP.setRequestHeader("Content-Type", "application/xml") + loHTTP.Send() + llSucces = .T. + Catch To loEx + This.Log('Actualizare aplicatie - Eroare: ' + loEx.Message) + Endtry + +ENDIF + +IF m.llSucces + If loHTTP.Status <> 200 + This.Log('Actualizare aplicatie ' + loHTTP.StatusText) + llSucces = .F. + ELSE + goApp.Log('Actualizare aplicatie - versiunexml: SUCCES') + Endif +ENDIF + + +IF m.llSucces + llSucces = .F. + * Versiunea programului + lcVersiuneClient = get_version(.F.,.T.) + + * Versiunea de pe server + TRY + lcVersiuneXML = loHTTP.ResponseText + XMLTOCURSOR(m.lcVersiuneXML, 'crsVersiuni') + + lcVersiuneServer = '' + lcServer = '' + SELECT crsVersiuni + LOCATE FOR UPPER(ALLTRIM(program)) = m.lcProgram + IF FOUND() + lcVersiuneServer = ALLTRIM(UPPER(versiune)) + lcServer = ALLTRIM(fisier) && url aplicatie.exe + llSucces = .T. + ENDIF + CATCH TO loEx + This.Log('Actualizare aplicatie - Eroare: ' + loEx.Message) + ENDTRY +ENDIF + +If m.llSucces AND m.lcVersiuneServer <> m.lcVersiuneClient AND !EMPTY(m.lcServer) + llSucces = .F. + TRY + This.Log(m.lcServer) + loHTTP.Open('GET', lcServer, .F.) + loHTTP.setRequestHeader("Content-Type", "application/vnd.microsoft.portable-executable") + loHTTP.Send() + llSucces = .T. + Catch To loEx + This.Log('Actualizare aplicatie - Eroare: ' + loEx.Message) + Endtry + IF m.llSucces + If loHTTP.Status <> 200 + This.Log('Actualizare aplicatie - Eroare: ' + loHTTP.StatusText) + llSucces = .F. + ELSE + + This.Log('Actualizare aplicatie - program.exe Succes') + ENDIF + ENDIF +Endif + + +If !llDownloaded + Return +ENDIF + +lcBatFile = Addbs(Justpath(m.lcDestinationFile)) + 'UPDATE.BAT' +Set Textmerge On To (m.lcBatFile) Noshow +*!* wait 5 seconds for the application to quit +\@ping 127.0.0.1 -n 10 -w 1000 > nul +*!* rename original application +\REN "<>" "<>" +*!* execute the new sfx archive - the sfx archive will start the application by itself +\START "" "<>" +\@ping 127.0.0.1 -n 5 -w 1000 > nul +*!* delete the archive +\DEL "<>" +Set Textmerge To + +*!* DEZARHIVEZ APLICATIA DESCARCATA +llSucces = .F. +Try + Cd (Justpath(m.lcApplicationFile)) + + loProcess=Createobject("api_apprun", m.lcBatFile) + + goApp.Log("EXECUTARE PROGRAM;"+ " " + Alltrim(m.lcBatFile)) + loProcess.launchapp() + llSucces = .T. + +Catch To loException + goApp.Log("EXECUTARE PROGRAM;"+ " " + Alltrim(m.lcBatFile) + " " + CRLF + loEx.Message) + Messagebox("EXECUTARE PROGRAM;"+ " " + Alltrim(m.lcBatFile) + " " + CRLF + loEx.Message,0+16, _Screen.Caption) +Endtry +If llSucces + On Error + On Shutdown + Set Procedure To + Set Library To + Set Classlib To + Clear Events + If _vfp.StartMode <> 0 + Quit + Else + Return .F. + Endif +Endif diff --git a/programe/adaugare_drepturi.prg b/programe/adaugare_drepturi.prg new file mode 100644 index 0000000..bab00a5 --- /dev/null +++ b/programe/adaugare_drepturi.prg @@ -0,0 +1,218 @@ +Procedure citeste_obiecte +Local lcMeniu,lcPageframe +lcMeniu=[roadef] +lcPageframe=[gofundal._pgfrmbase1] +Create Cursor CRSOBIECTE(ID_PROG N(1),CHEIE C(20),NIVEL N(2),EXPLICATIE C(100),TATA C(20),COD C(2),ID_OBIECT N(10),ID_TATA N(10)) +plCursor=.T. +citeste_meniu(90,lcmeniu,"Meniu") +citeste_pageframe(65,lcpageframe) +select * FROM crsobiecte INTO TABLE C:\crsobiecte.dbf +Endproc +************************************************************************ +Procedure citeste_meniu +Lparameters lnKey,lcNumeMeniu,lcOptiune +lcKey=Chr(lnKey) +*!* This.Nodes.Add(,1,lcKey,lcOptiune) +If plCursor + Insert Into CRSOBIECTE (CHEIE,NIVEL,EXPLICATIE,TATA) Values(lcKey,1,lcOptiune,[ ]) +Endif +lnKey2=65 +*!* k=0 +*!* Try +*!* lcKey2=lcKey+Chr(lnKey2) +*!* lnKey2=lnKey2+1 +*!* This.Nodes.Add(lcKey,4,lcKey2,'Utile') +*!* If plCursor +*!* Insert Into CRSOBIECTE (CHEIE,NIVEL,EXPLICATIE,TATA) Values(lcKey2,4,[Utile],lcKey) +*!* Endif +*!* For i=1 To Cntbar('utile') +*!* lcOptiune=Prmbar('utile',i) +*!* If !Empty(lcOptiune) +*!* k=k+1 +*!* This.Nodes.Add(lcKey2,4,lcKey2+Padl(Alltrim(Str(k)),2,[0]),lcOptiune) +*!* If plCursor +*!* Insert Into CRSOBIECTE (CHEIE,NIVEL,EXPLICATIE,TATA) Values(lcKey2+Padl(Alltrim(Str(k)),2,[0]),4,lcOptiune,lcKey2) +*!* Endif +*!* Endif +*!* Endfor +*!* Catch +*!* ENDTRY +k=0 +Try + lcKey2=lcKey+Chr(lnKey2) + lnKey2=lnKey2+1 +*!* This.Nodes.Add(lcKey,4,lcKey2,'Initializare') + If plCursor + Insert Into CRSOBIECTE (CHEIE,NIVEL,EXPLICATIE,TATA) Values(lcKey2,4,[Initializare],lcKey) + Endif + For i=1 To Cntbar('initializa') + lcOptiune=Prmbar('initializa',i) + If !Empty(lcOptiune) + k=k+1 +*!* This.Nodes.Add(lcKey2,4,lcKey2+Padl(Alltrim(Str(k)),2,[0]),lcOptiune) + If plCursor + Insert Into CRSOBIECTE (CHEIE,NIVEL,EXPLICATIE,TATA) Values(lcKey2+Padl(Alltrim(Str(k)),2,[0]),4,lcOptiune,lcKey2) + Endif + Endif + Endfor +Catch +Endtry +k=0 +Try + lcKey2=lcKey+Chr(lnKey2) +*!* This.Nodes.Add(lcKey,4,lcKey2,'Actualizari') + If plCursor + Insert Into CRSOBIECTE (CHEIE,NIVEL,EXPLICATIE,TATA) Values(lcKey2,4,[Actualizari],lcKey) + Endif + For i=1 To Cntbar('_1bs12qror') + lcOptiune=Prmbar('_1bs12qror',i) + If !Empty(lcOptiune) + k=k+1 +*!* This.Nodes.Add(lcKey2,4,lcKey2+Padl(Alltrim(Str(k)),2,[0]),lcOptiune) + If plCursor + Insert Into CRSOBIECTE (CHEIE,NIVEL,EXPLICATIE,TATA) Values(lcKey2+Padl(Alltrim(Str(k)),2,[0]),4,lcOptiune,lcKey2) + Endif + Endif + Endfor +Catch +Endtry +************************************************************************ +Procedure citeste_pageframe +Lparameters lnKey,lcPageframe,lcTata +Local lcKey,lcProp,lcOptiune,lnNivel,lnPozitie,i,j,k,l +Store [] To lcKey,lcProp,lcOptiune +Store 0 To lnNivel,lnPozitie,i,j,k,l +If Empty(lcTata) + lcTata=Null + lnNivel=1 +Else + lnNivel=4 +Endif +Set Exact On +With &lcPageframe + For i=1 To .PageCount + For j=1 To .PageCount + If .Pages(j).PageOrder=i + Exit + Endif + Endfor + With .Pages(j) + lcKey=Nvl(lcTata,[])+Chr(lnKey) +*!* This.Nodes.Add(lcTata,lnNivel,lcKey,.Caption) + lcProp="cnt"+lcKey +*!* This.AddProperty(lcProp,0) + If plCursor + Insert Into CRSOBIECTE (CHEIE,NIVEL,EXPLICATIE,TATA) Values(lcKey,lnNivel,.Caption,Nvl(lcTata,[ ])) + Endif + lcProp="cnt"+lcKey +*!* This.AddProperty(lcProp,0) + Dimension copii(128,3) + k=1 + For l=1 To .ControlCount + Do Case + Case Alltrim(Upper(.Objects(l).Class))='PAGEFRAME' + lcNume=lcPageframe+'.'+Alltrim(.Name)+'.'+Alltrim(Upper(.Objects(l).Name)) + citeste_pageframe(65,lcNume,lcKey) + Case Alltrim(Upper(.Objects(l).Class))='CW' And .Objects(l).nid_cw>0 + lcOptiune=.Objects(l).label_item1.Caption + lnPozitie=.Objects(l).nid_cw + copii(lnPozitie,1)=lcOptiune + copii(lnPozitie,2)=.Objects(l).ntip + copii(lnPozitie,3)=.Objects(l).cmeniu + k=k+1 + Endcase + Endfor + For l=1 To k-1 +*!* This.Nodes.Add(lcKey,4,lcKey+Padl(Alltrim(Str(l)),2,[0]),copii(l,1)) + If plCursor + Insert Into CRSOBIECTE (CHEIE,NIVEL,EXPLICATIE,TATA) Values(lcKey+Padl(Alltrim(Str(l)),2,[0]),4,copii(l,1),lcKey) + Endif +*!* If !Empty(copii(l,3)) +*!* This.adauga_meniuri(copii(l,3),copii(l,2),lcKey+Padl(Alltrim(Str(l)),2,[0])) +*!* Else + adauga_frunze(copii(l,2),lcKey+Padl(Alltrim(Str(l)),2,[0])) +*!* Endif + Endfor + Endwith + lnKey=lnKey+1 + Endfor +Endwith +Set Exact Off +Endproc +************************************************************************ +Procedure adauga_frunze +Lparameters lnTip,lcKey +Do Case +Case lnTip=0 && introducere +Case lnTip=1 && raport +*!* lcProp="cnt"+lcKey +*!* This.AddProperty(lcProp,0) +*!* This.Nodes.Add(lcKey,4,lcKey+"1","Export") +*!* This.Nodes.Add(lcKey,4,lcKey+"2","Listare") + If plCursor + Insert Into CRSOBIECTE (CHEIE,NIVEL,EXPLICATIE,TATA) Values(lcKey+"1",4,"Export",lcKey) + Insert Into CRSOBIECTE (CHEIE,NIVEL,EXPLICATIE,TATA) Values(lcKey+"2",4,"Listare",lcKey) + Endif +Case lnTip=2 && registru +*!* lcProp="cnt"+lcKey +*!* This.AddProperty(lcProp,0) +*!* This.Nodes.Add(lcKey,4,lcKey+"1","Export") +*!* This.Nodes.Add(lcKey,4,lcKey+"2","Listare") +*!* This.Nodes.Add(lcKey,4,lcKey+"3","Modificare") +*!* This.Nodes.Add(lcKey,4,lcKey+"4","Refacere") + If plCursor + Insert Into CRSOBIECTE (CHEIE,NIVEL,EXPLICATIE,TATA) Values(lcKey+"1",4,"Export",lcKey) + Insert Into CRSOBIECTE (CHEIE,NIVEL,EXPLICATIE,TATA) Values(lcKey+"2",4,"Listare",lcKey) + Insert Into CRSOBIECTE (CHEIE,NIVEL,EXPLICATIE,TATA) Values(lcKey+"3",4,"Modificare",lcKey) + Insert Into CRSOBIECTE (CHEIE,NIVEL,EXPLICATIE,TATA) Values(lcKey+"4",4,"Refacere",lcKey) + Endif +Case lnTip=3 && balanta\inreg. +*!* lcProp="cnt"+lcKey +*!* This.AddProperty(lcProp,0) +*!* This.Nodes.Add(lcKey,4,lcKey+"1","Export") +*!* This.Nodes.Add(lcKey,4,lcKey+"2","Listare") +*!* This.Nodes.Add(lcKey,4,lcKey+"3","Modificare") +*!* This.Nodes.Add(lcKey,4,lcKey+"4","Refacere") + If plCursor + Insert Into CRSOBIECTE (CHEIE,NIVEL,EXPLICATIE,TATA) Values(lcKey+"1",4,"Export",lcKey) + Insert Into CRSOBIECTE (CHEIE,NIVEL,EXPLICATIE,TATA) Values(lcKey+"2",4,"Listare",lcKey) + Insert Into CRSOBIECTE (CHEIE,NIVEL,EXPLICATIE,TATA) Values(lcKey+"3",4,"Modificare",lcKey) + Insert Into CRSOBIECTE (CHEIE,NIVEL,EXPLICATIE,TATA) Values(lcKey+"4",4,"Refacere",lcKey) + Endif +Case lnTip=4 && vizualizare +*!* lcProp="cnt"+lcKey +*!* This.AddProperty(lcProp,0) +*!* This.Nodes.Add(lcKey,4,lcKey+"1","Export") +*!* This.Nodes.Add(lcKey,4,lcKey+"2","Listare") +*!* This.Nodes.Add(lcKey,4,lcKey+"3","Modificare") +*!* This.Nodes.Add(lcKey,4,lcKey+"4","Stergere") +*!* This.Nodes.Add(lcKey,4,lcKey+"5","Vizualizare inreg. proprii") +*!* This.Nodes.Add(lcKey,4,lcKey+"6","Vizualizare toate inreg.") + If plCursor + Insert Into CRSOBIECTE (CHEIE,NIVEL,EXPLICATIE,TATA) Values(lcKey+"1",4,"Export",lcKey) + Insert Into CRSOBIECTE (CHEIE,NIVEL,EXPLICATIE,TATA) Values(lcKey+"2",4,"Listare",lcKey) + Insert Into CRSOBIECTE (CHEIE,NIVEL,EXPLICATIE,TATA) Values(lcKey+"3",4,"Modificare",lcKey) + Insert Into CRSOBIECTE (CHEIE,NIVEL,EXPLICATIE,TATA) Values(lcKey+"4",4,"Stergere",lcKey) + Insert Into CRSOBIECTE (CHEIE,NIVEL,EXPLICATIE,TATA) Values(lcKey+"5",4,"Vizualizare inreg.proprii",lcKey) + Insert Into CRSOBIECTE (CHEIE,NIVEL,EXPLICATIE,TATA) Values(lcKey+"6",4,"Vizualizare tot",lcKey) + ENDIF +Case lnTip=5 && personalizat +*!* lcProp="cnt"+lcKey +*!* This.AddProperty(lcProp,0) +*!* This.Nodes.Add(lcKey,4,lcKey+"1","Export") +*!* This.Nodes.Add(lcKey,4,lcKey+"2","Listare") +*!* This.Nodes.Add(lcKey,4,lcKey+"3","Modificare") +*!* This.Nodes.Add(lcKey,4,lcKey+"4","Stergere") +*!* This.Nodes.Add(lcKey,4,lcKey+"7","Altele...") +*!* This.Nodes.Add(lcKey,4,lcKey+"8","Altele...") + If plCursor + Insert Into CRSOBIECTE (CHEIE,NIVEL,EXPLICATIE,TATA) Values(lcKey+"1",4,"Export",lcKey) + Insert Into CRSOBIECTE (CHEIE,NIVEL,EXPLICATIE,TATA) Values(lcKey+"2",4,"Listare",lcKey) + Insert Into CRSOBIECTE (CHEIE,NIVEL,EXPLICATIE,TATA) Values(lcKey+"3",4,"Modificare",lcKey) + Insert Into CRSOBIECTE (CHEIE,NIVEL,EXPLICATIE,TATA) Values(lcKey+"4",4,"Stergere",lcKey) + Insert Into CRSOBIECTE (CHEIE,NIVEL,EXPLICATIE,TATA) Values(lcKey+"7",4,"Altele...",lcKey) + Insert Into CRSOBIECTE (CHEIE,NIVEL,EXPLICATIE,TATA) Values(lcKey+"8",4,"Altele...",lcKey) + Endif +Endcase +Endproc +************************************************************************ \ No newline at end of file diff --git a/programe/anaf_efactura.prg b/programe/anaf_efactura.prg new file mode 100644 index 0000000..78a768f --- /dev/null +++ b/programe/anaf_efactura.prg @@ -0,0 +1,4006 @@ +#DEFINE LF CHR(10) +#DEFINE CRLF CHR(13)+CHR(10) + +#DEFINE CT_SUCCES 1 +#DEFINE CT_INSUCCES -1 + + +*!* 12.08.2024 +*!* ParseEFactura - discount factura, discount linie + +*!* 21.08.2024 +*!* xml2PdfAnaf - tratare Invoice / CreditNote + +*!* 03.12.2024 +*!* AnafeFactura.RefreshToken, SaveToken apeleaza AnafeFacturaServer.RefreshToken, SaveToken +*!* AnafeFacturaServer.RefreshToken - automat daca data expirarii este mai mare sau egala, fara sa mai apara formularul de Actualizare +*!* astfel incat si pe server sa se apeleze automat daca expira tokenul + +*!* 07.01.2025 +*!* UpdateDbFactura - corectie double byte characters la mesaj_raspuns +*!* RefreshToken - tratare eroare cu Try Catch + +*!* 26.03.2025 +*!* SendEfactura - uploadb2c pentru persoane fizice len(codfiscal) = 13 + +*!* 20.05.2025 +*!* DescarcareRaspunsuri - se afiseaza eroare daca nu sunt drepturi in spv + +*!* 13.03.2026 +*!* Validarea si xml2pdfanaf se fac cu serviciul autentificat cu token efactura api.anaf.ro in loc de serviciul neautentificat https://webservicesp.anaf.ro/ +*!* serviciul neautentificat nu mai raspundea + +********************************* +* Se apeleaza din ROACONT > Borderou eFactura +* Intoarce .T. daca descarcarea zip efactura si actualizarea efactura in baza de date s-au realizat cu succes +********************************* +PROCEDURE efactura_client + LPARAMETERS tnZile, tlFortareRaspunsuri, tlTest + + LOCAL lnExitCode, lcHost, lcPassword, lcUser, lnIsServer, lnFortareRaspunsuri, lnZile, llSucces + Local loAnaf As 'AnafeFacturaServer' + Local lcErrorMessage, llFortareRaspunsuri, llServer, loEx, llTest + + lcHost = '' + lcUser = IIF(TYPE('gcS') = 'C', m.gcS, '') + lcPassword = '' + llServer = .F. + lnZile = IIF(EMPTY(m.tnZile), 60, m.tnZile) + llFortareRaspunsuri = m.tlFortareRaspunsuri + llTest = m.tlTest + llSucces = .F. + + TRY + loAnaf = Createobject('AnafeFacturaServer', m.llServer, m.lcHost, m.lcuser, m.lcPassword) + loAnaf.ltest = m.llTest + llSucces = loAnaf.Run(m.lnZile, m.llFortareRaspunsuri) + + IF loAnaf.lError + goLog.Log(loAnaf.cErrorMessage) + ENDIF + CATCH TO loEx + lnExitCode = 1 + lcErrorMessage = TTOC(DATETIME(),1) + ' Eroare: ' + TRANSFORM(loEx.ErrorNo) + ' ' + loEx.Message + ' Continut: ' + loEx.LineContents + + ' Linia: ' + TRANSFORM(loEx.LineNo) + ' Program: ' + loEx.Procedure + WAIT WINDOW m.lcErrorMessage NOWAIT + AMESSAGEBOX(m.lcErrorMessage) + This.Log(m.lcErrorMessage) + ENDTRY + + RETURN m.llSucces +ENDPROC && efactura_client + +Define Class AnafeFacturaServer As Custom + dLastRunDate1 = {} && dataora inceput pentru ultima citire a raspunsurilor + dLastRunDate2 = {} && dataora sfarsit pentru ultima citire a raspunsurilor + nLastRunDays = 0 && numarul de zile pentru citirea raspunsurilor + nLastRunSucces = 0 && succes la ultima citire a raspunsurilor + + cLogFile = '' + + cToken = '' + cRefreshToken = '' + dTokenGendate = {} + dTokenExpdate = {} + cTokenUrl = '' + + cCodFiscal = '' && cod fiscal contribuabil fara atribut fiscal + lTest = .F. && .T. = transmite eFactura TEST + + cResponsesPath = '' && Citire raspunsuri. Calea unde se salveaza fisierele xml primite, semnatura MFIN, pdf generat de ANAF: z:\e-factura\\ \\ 0) + IF m.llSucces + scrie_optiune('EFACTURA_LASTRUN_DATE1', ttoc(This.dLastRunDate1), 'Efactura data inceput cand au fost verificate raspunsurile SPV') + scrie_optiune('EFACTURA_LASTRUN_DATE2', ttoc(This.dLastRunDate2), 'Efactura data sfarsit cand au fost verificate raspunsurile SPV') + scrie_optiune('EFACTURA_LASTRUN_DAYS', ALLTRIM(STR(This.nLastRunDays)), 'Efactura cate zile de raspunsuri au fost verificate ultima data') + scrie_optiune('EFACTURA_LASTRUN_SUCCES', ALLTRIM(STR(This.nLastRunSucces)), 'Efactura succes la ultima verificare de raspunsuri SPV') + ENDIF + + ENDPROC && PreRun + + ***************************** + PROCEDURE PostRun + LPARAMETERS tlSucces + Local llSucces, lnHandle + + This.nLastRunSucces = IIF(m.llSucces, 1, 0) + This.dLastRunDate2 = DATETIME() + + lnHandle = This.ConnectROA() + llSucces = (m.lnHandle > 0) + IF m.llSucces + scrie_optiune('EFACTURA_LASTRUN_SUCCES', ALLTRIM(STR(This.nLastRunSucces)), 'Efactura succes la ultima verificare de raspunsuri SPV') + scrie_optiune('EFACTURA_LASTRUN_DATE2', ttoc(This.dLastRunDate2), 'Efactura data sfarsit cand au fost verificate raspunsurile SPV') + scrie_optiune('EFACTURA_LASTRUN_SUCCES', IIF(m.tlSucces, "1", "0"), 'Efactura succes la ultima verificare de raspunsuri SPV') + ENDIF + + ENDPROC && PostRun + + ******************************* + * Verifica daca programul este conectat la baza de date + ******************************* + PROCEDURE IsConnected + LOCAL lcSql, llSucces + LOCAL loEx as Exception + Local lcErrorMessage + + + llSucces = .F. + lcSql = "SELECT sysdate FROM dual" + + TRY + llSucces = goExecutor.oExecuta(m.lcSql) + CATCH TO loEx + lcErrorMessage = TTOC(DATETIME(),1) + ' Eroare: ' + TRANSFORM(loEx.ErrorNo) + ' ' + loEx.Message + ' Continut:' + loEx.LineContents + + ' Linia: ' + TRANSFORM(loEx.LineNo) + ' Program: ' + loEx.Procedure + This.cErrorMessage = m.lcErrorMessage + This.Log(m.lcErrorMessage) + ENDTRY + + RETURN m.llSucces + + ENDPROC && IsConnected + + PROCEDURE ReadSettingsFromDb + + Local lcSql, llSucces, lcCodFiscal + Local lcErrorMessage, lcFirma, lcLastRunDate1, lcLastRunDate2, lcPath, lnHandle, lnSucces + Local lnZipDatabase + *:Global gcFirma, gnAn, gnLuna + + llSucces = .F. + + TEXT TO lcSql TEXTMERGE NOSHOW +select MAX(cod_fiscal) as cod_fiscal, MAX(firma) AS firma from syn_v_nom_firme where UPPER(schema) = '<>' AND STERS = 0 AND (E_MAMA = 1 OR (E_MAMA = 0 AND ID_MAMA IS NULL)) + ENDTEXT + + lnHandle = This.ConnectROA() + llSucces = (m.lnHandle > 0) + IF m.llSucces + lnSucces = actualizeaza_optiuni() + llSucces = (lnSucces = CT_SUCCES) + + IF m.llSucces + lcCodFiscal = '' + lcFirma = '' + llSucces = goExecutor.oExecuta(m.lcSql, "cFirmaTemp") + IF m.llSucces + lcCodFiscal = ALLTRIM(NVL(cFirmaTemp.cod_fiscal, '')) + lcFirma = ALLTRIM(NVL(cFirmaTemp.firma, '')) + This.cCodFiscal = UPPER(ALLTRIM(GetNrFromString(NVL(m.lcCodFiscal,'')))) + IF TYPE('gcFirma') = 'C' AND EMPTY(m.gcFirma) + gcFirma = m.lcFirma + ENDIF + ENDIF + USE IN (SELECT('cFirmaTemp')) + ENDIF + IF m.llSucces + IF TYPE('gnAn') = 'N' AND EMPTY(m.gnAn) + lcSql = "SELECT AN, LUNA FROM CALENDAR WHERE AN*12 + LUNA = (SELECT MAX(AN*12+LUNA) FROM CALENDAR)" + llSucces = goExecutor.oExecuta(m.lcSql, 'cCalendarTemp') + IF m.llSucces + gnAn = cCalendarTemp.an + gnLuna = cCalendarTemp.luna + ENDIF + USE IN (SELECT('cCalendarTemp')) + ENDIF + ENDIF + lnSucces = This.DisconnectROA() + llSucces = (lnSucces = CT_SUCCES) + ENDIF + + IF m.llSucces + This.cResponsesPath = ADDBS(ALLTRIM(NVL(citeste_optiune("EFACTURA_RESPONSESPATH"), ''))) && RASPUNSURI && \\raspunsuri\ + This.cSendPath = ADDBS(ALLTRIM(NVL(citeste_optiune("EFACTURA_SENDPATH"),''))) && FACTURI DE TRIMIS && \\emise\ + + This.cSaveFurnizoriPath = ADDBS(ALLTRIM(NVL(citeste_optiune("EFACTURA_SAVE_FURNIZORI_PATH"), ''))) && \\furnizori\\ \\ + This.cSaveFurnizoriFile = ALLTRIM(citeste_optiune("EFACTURA_SAVE_FURNIZORI_FILE")) && __ + This.cSaveClientiPath = Addbs(ALLTRIM(NVL(citeste_optiune("EFACTURA_SAVE_CLIENTI_PATH"), ''))) && \\clienti\\ \\ + This.cSaveClientiFile = ALLTRIM(citeste_optiune("EFACTURA_SAVE_CLIENTI_FILE")) && ___ + This.nSaveFile = INT(VAL(ALLTRIM(citeste_optiune("EFACTURA_SAVE")))) && 1 + This.nSaveAnafPdfFile = INT(VAL(ALLTRIM(citeste_optiune("EFACTURA_SAVE_ANAF_PDF")))) && 1 + + This.cServerPath = ADDBS(ALLTRIM(NVL(citeste_optiune("EFACTURA_SERVER_PATH"),''))) && C:\ROA-EFACTURA\ + This.cNetworkPath = ADDBS(ALLTRIM(NVL(citeste_optiune("EFACTURA_NETWORK_PATH"),''))) && W:\ + + lcPath = IIF(This.lServer, this.cServerPath, this.cNetworkPath) + This.cSaveFurnizoriPath = STRTRAN(STRTRAN(This.cSaveFurnizoriPath, '', m.lcPath, 1, 1, 1), '\\', '\', 1, 10, 1) + This.cSaveClientiPath = STRTRAN(STRTRAN(This.cSaveClientiPath, '', m.lcPath, 1, 1, 1), '\\', '\', 1, 10, 1) + + This.cResponsesPath = ADDBS(ALLTRIM(NVL(citeste_optiune("EFACTURA_RESPONSESPATH"),''))) && RASPUNSURI && \raspunsuri\ + This.cSendPath = ADDBS(ALLTRIM(NVL(citeste_optiune("EFACTURA_SENDPATH"),''))) && FACTURI DE TRIMIS && \emise\ + + This.cResponsesPath = STRTRAN(STRTRAN(This.cResponsesPath, '', m.lcPath, 1, 1, 1), '\\', '\', 1, 10, 1) + This.cResponsesPath = STRTRAN(This.cResponsesPath,'', UPPER(This.cUser),1,1,1) + This.cResponsesPath = This.cResponsesPath + IIF(this.lTest, 'test\', '') + This.cSaveLogsPath = This.cResponsesPath + 'logs\' + + This.cSendPath = STRTRAN(STRTRAN(This.cSendPath, '', m.lcPath, 1, 1, 1), '\\', '\', 1, 10, 1) + This.cSendPath = STRTRAN(This.cSendPath,'', UPPER(This.cUser),1,1,1) + This.cSendPath = This.cSendPath + IIF(this.lTest, 'test\', '') + This.cSendInvalidPath = This.cSendPath + 'invalid\' + This.cSendOkPath = This.cSendPath + 'ok\' + + lnZipDatabase = INT(VAL(ALLTRIM(citeste_optiune("EFACTURA_ZIP_DATABASE")))) && 1 + This.lZipDatabase = (m.lnZipDatabase = 1) + + lcLastRunDate1 = ALLTRIM(NVL(citeste_optiune("EFACTURA_LASTRUN_DATE1"), '')) + This.dLastRunDate1 = Iif(!Empty(m.lcLastRunDate1), CTOT(m.lcLastRunDate1), {//::}) + lcLastRunDate2 = ALLTRIM(NVL(citeste_optiune("EFACTURA_LASTRUN_DATE2"), '')) + This.dLastRunDate2 = Iif(!Empty(m.lcLastRunDate2), CTOT(m.lcLastRunDate2), {//::}) + This.nLastRunDays = INT(VAL(ALLTRIM(NVL(citeste_optiune("EFACTURA_LASTRUN_DAYS"), '')))) + This.nLastRunSucces = INT(VAL(ALLTRIM(NVL(citeste_optiune("EFACTURA_LASTRUN_SUCCES"), '')))) + + ************ + * Actualizeaza Token automat si citeste Token din baza de date + * This.GetToken() + This.RefreshTokenAuto() + ELSE + lcErrorMessage = 'ReadSettingsFromDb Eroare la initializarea setarilor' + This.cErrorMessage = m.lcErrorMessage + This.lError = .T. + ENDIF + + This.Log('This.nSaveFile ' + TRANSFORM(This.nSaveFile) + CHR(13) + CHR(10) + ; + 'This.nSaveAnafPdfFile ' + TRANSFORM(This.nSaveAnafPdfFile ) + CHR(13) + CHR(10) + ; + 'This.cServerPath ' + ALLTRIM(This.cServerPath) + CHR(13) + CHR(10) + ; + 'This.cNetworkPath ' + ALLTRIM(This.cNetworkPath) + CHR(13) + CHR(10) + ; + 'This.cSaveFurnizoriPath ' + ALLTRIM(This.cSaveFurnizoriPath ) + CHR(13) + CHR(10) + ; + 'This.cSaveClientiPath ' + ALLTRIM(This.cSaveClientiPath ) + CHR(13) + CHR(10) + ; + 'This.cResponsesPath ' + ALLTRIM(This.cResponsesPath ) + CHR(13) + CHR(10) + ; + 'This.cSaveLogsPath ' + ALLTRIM(This.cSaveLogsPath )) + RETURN m.llSucces + + ENDPROC && ReadSettingsFromDb + ********************* + * + ********************* + PROCEDURE InitDB + LPARAMETERS tnZile + * tnZile: cate zile de raspunsuri se descarca, pentru a se verifica si cu baza de date cu tnZile de raspunsuri + LOCAL llSucces, lnZile + lnZile = IIF(EMPTY(m.tnZile), 60, m.tnZile) + 10 && adaug 10 zile pentru precautie + + lnHandle = This.ConnectROA() + llSucces = (m.lnHandle > 0) + IF m.llSucces + pdData2 = DATE()+1 + pdData1 = DATE() - m.lnZile + + TEXT TO lcSql NOSHOW +select a.*, cast(NULL as varchar2(1000)) as factura_detalii, 0 as modificat + from anaf_efactura a + where a.data_raspuns between ?pdData1 and ?pdData2 + ENDTEXT + + llSucces = goExecutor.oExecuta(m.lcSql,"anaf_efactura") + IF m.llSucces + SELECT anaf_efactura + INDEX on id_incarcare TAG id_inc + INDEX on id_descarcare TAG id_desc + ENDIF + + lnSucces = This.DisconnectROA() + ENDIF && lnSucces + + RETURN m.llSucces + ENDPROC && InitDB + + PROCEDURE ConnectROA + Local lnSucces + + IF This.lConnected + * Nu ma conectez la baza de date daca sunt deja conectat (ex: Daca se apeleaza programul din ROACONT si sunt deja conectat la baza de date) + lnSucces = CT_SUCCES + ELSE + lnSucces = IIF(goConn.Connect() > 0, CT_SUCCES, CT_INSUCCES) + ENDIF + Return lnSucces + ENDPROC + + PROCEDURE DisconnectROA + Local lnSucces + + IF This.lConnected + lnSucces = CT_SUCCES + ELSE + lnSucces = goConn.Disconnect() + ENDIF + RETURN m.lnSucces + ENDPROC && DisconnectROA + + Procedure Log + Lparameters tcText, tcProgram + + IF TYPE('goLog') = 'O' + goLog.Log(tcText, tcProgram) + ELSE + lcText = Ttoc(Datetime(),3) + ' ' + IIF(!EMPTY(m.tcProgram), m.tcProgram + ' ', '') + m.tcText + CRLF + Strtofile(m.lcText, This.cLogFile, 1) + ENDIF + Endproc && Log + + + ******************************************************************* + * Actualizare automata Token + ******************************************************************* + FUNCTION RefreshTokenAuto + + This.GetToken() + + IF (This.lTokenAutoRefresh AND !EMPTY(NVL(This.cToken,'')) AND !EMPTY(NVL(This.cRefreshToken, ''))) AND (This.dTokenExpdate <= DATE()) + This.RefreshToken() + ENDIF + + This.GetToken() + ENDFUNC + + ************************************************************************ + Function GetToken + Local lcRefreshToken, lcToken, lcTokenExpDate, lcTokenGenDate, ldTokenExpDate, ldTokenGenDate + + lnTokenAutoRefresh = INT(VAL(ALLTRIM(citeste_optiune("ANAF_TOKEN_AUTO_REFRESH")))) && 1 + This.lTokenAutoRefresh = (m.lnTokenAutoRefresh = 1) + + * TokenJWT are dimensiunea mai mare. Il salvez in optiuni.varvalue2 + lcToken = Alltrim(Nvl(citeste_optiune('ANAF_TOKEN', .T.), '')) + lcRefreshToken = Alltrim(Nvl(citeste_optiune('ANAF_REFRESH_TOKEN', .T.), '')) + + lcTokenGenDate = Alltrim(Nvl(citeste_optiune('ANAF_TOKEN_GENDATE'), '')) + ldTokenGenDate = Iif(!Empty(m.lcTokenGenDate), Ctod(m.lcTokenGenDate), {}) + lcTokenExpDate = Alltrim(Nvl(citeste_optiune('ANAF_TOKEN_EXPDATE'), '')) + ldTokenExpDate = Iif(!Empty(m.lcTokenExpDate), Ctod(m.lcTokenExpDate), {}) + ldTokenExpDate = Iif(!Empty(m.ldTokenExpDate), m.ldTokenExpDate, m.ldTokenGenDate + 90) + lcTokenURL = Alltrim(Nvl(citeste_optiune('ANAF_URL_TOKEN'), '')) + + This.cToken = m.lcToken + This.cRefreshToken = m.lcRefreshToken + This.dTokenGendate = m.ldTokenGenDate + This.dTokenExpdate = m.ldTokenExpDate + This.cTokenUrl = m.lcTokenURL + + Do Case + Case Empty(m.lcToken) + This.Log('Token nu este configurat.') + Case m.ldTokenExpDate <= Date() + This.Log('Token expirat.') + Endcase + + Return This.cToken + Endfunc + +*************************** +* Salveaza tokenul in baza de date optiuni firma +*************************** + Procedure SaveToken + scrie_optiune('ANAF_TOKEN', This.cToken, 'ANAF Token SPV eFactura', .T.) + scrie_optiune('ANAF_REFRESH_TOKEN', This.cRefreshToken, 'ANAF Refresh Token SPV eFactura', .T.) + scrie_optiune('ANAF_TOKEN_GENDATE', Dtoc(This.dTokenGendate), 'ANAF Token SPV eFactura data generare') + scrie_optiune('ANAF_TOKEN_EXPDATE', Dtoc(This.dTokenExpdate), 'ANAF Token SPV eFactura data expirare') + Endproc && SaveToken + + +*!* 07.07.2026 +*!* newToken - flux automat OAuth2: state + sesiune PHP + polling pick.php +*!* implementare unica in AnafeFacturaServer; ANAFeFactura deleaga +*!* kill switch ANAF_TOKEN_AUTOFLOW (1=automat, 0=vechi), garda headless + +* Intoarce tokenul de acces la ANAF (eFactura) daca este salvat sau obtine un nou token +* Se apeleaza din formularul anaf_token.do_executa (prin ANAFeFactura.newToken) + Function newToken + LOCAL lnAutoFlowVal, lcAutoFlowStr, lcTokenURL, lcState, lcStatePrefix + LOCAL lcBuf1, lcBuf2, lni, lnAscByte, lcHexChars + LOCAL lcBrowserUrl, lcPickUrl, lcExitCode + LOCAL loHTTP, lnStatus, lcResponse, loJson + LOCAL lnStartSec, lnElapsed, lnStep, lnKey + LOCAL loExHTTP, loExJson, loExSave + + * --- Garda headless: server/ROAEFACTURA (lServer=.T.) sau _SCREEN invizibil --- + * Pastreaza EXACT comportamentul vechi al AnafeFacturaServer.newToken + IF This.lServer OR !_SCREEN.Visible + This.Log('Introduceti in calculator tokenul USB cu semnatura electronica' + LF + ; + 'Se va deschide pagina ANAF de generare token. Introduceti PIN-ul pentru semnatura electronica.' + LF + ; + 'Copiati codurile "Token" si "Refresh Token" afisate si completati-le in ' + m.gcGeneralIniFile) + lcTokenURL = This.cTokenUrl + open_default_app(m.gcGeneralIniFile) + open_default_app(m.lcTokenURL) + RETURN + ENDIF + + * --- Kill switch: default 1 la NULL/inexistent/Oracle indisponibil --- + lnAutoFlowVal = 1 + TRY + lcAutoFlowStr = ALLTRIM(NVL(citeste_optiune("ANAF_TOKEN_AUTOFLOW"), '')) + IF !EMPTY(lcAutoFlowStr) + lnAutoFlowVal = INT(VAL(lcAutoFlowStr)) + ENDIF + CATCH + lnAutoFlowVal = 1 + ENDTRY + + lcTokenURL = ALLTRIM(NVL(This.cTokenUrl, '')) + IF EMPTY(lcTokenURL) + lcTokenURL = 'https://romfast.ro/oauth2/' + ENDIF + + * --- Kill switch OFF (0) -> comportament vechi nemodificat --- + IF lnAutoFlowVal <> 1 + AMESSAGEBOX('Introduceti in calculator tokenul USB cu semnatura electronica' + CHR(13) + CHR(10) + ; + 'Se va deschide pagina ANAF de generare token. Introduceti PIN-ul pentru semnatura electronica.' + CHR(13) + CHR(10) + ; + 'Copiati codurile "Token" si "Refresh Token" afisate si completati-le in ROA.', 0 + 64, _Screen.Caption) + open_default_app(m.lcTokenURL) + RETURN + ENDIF + + * --- Modal initial OK/Anulare --- + IF aMESSAGEBOX('Se va genera un token nou eFactura.' + CHR(13) + ; + '1. Introduceti tokenul USB cu semnatura electronica in calculator.' + CHR(13) + ; + '2. Se va deschide pagina ANAF in browser: selectati certificatul dvs. si introduceti PIN-ul.' + CHR(13) + ; + '3. Reveniti in aplicatie - tokenul se preia automat.' + CHR(13) + CHR(13) + ; + 'Continuati?', 1 + 64, _Screen.Caption) <> 1 + RETURN + ENDIF + + IF RIGHT(lcTokenURL, 1) <> '/' + lcTokenURL = lcTokenURL + '/' + ENDIF + + * --- State anti-CSRF: 2 GUID-uri CoCreateGuid -> 64 hex (SYS(2015) e predictibil) --- + TRY + DECLARE INTEGER CoCreateGuid IN ole32 STRING @pguid + CATCH + * deja declarata in aceasta sesiune VFP + ENDTRY + lcBuf1 = REPLICATE(CHR(0), 16) + lcBuf2 = REPLICATE(CHR(0), 16) + CoCreateGuid(@lcBuf1) + CoCreateGuid(@lcBuf2) + lcBuf1 = lcBuf1 + lcBuf2 && 32 octeti aleatori = 256 biti entropie + lcHexChars = '0123456789abcdef' + lcState = '' + FOR lni = 1 TO 32 + lnAscByte = ASC(SUBSTR(lcBuf1, lni, 1)) + lcState = lcState + SUBSTR(lcHexChars, INT(lnAscByte/16)+1, 1) + SUBSTR(lcHexChars, MOD(lnAscByte,16)+1, 1) + ENDFOR + lcStatePrefix = LEFT(lcState, 8) && doar prefixul apare in log, niciodata tokenuri + + lcBrowserUrl = lcTokenURL + '?state=' + lcState + lcPickUrl = lcTokenURL + 'pick.php' + This.Log('[' + lcStatePrefix + '] start flux automat token') + + * --- Lansare browser; open_default_app (oexport.prg) intoarce .T./.F. (ShellExecute > 32) --- + IF !open_default_app(lcBrowserUrl) + AMESSAGEBOX('Nu s-a putut deschide browserul. Se continua cu fluxul manual: se va deschide pagina care afiseaza codurile pentru copiere.', 0 + 64, _Screen.Caption) + This.Log('[' + lcStatePrefix + '] esec lansare browser -> fallback manual') + open_default_app(lcTokenURL) && fara ?state -> pagina afiseaza codurile (retro-compat) + RETURN + ENDIF + + * --- Polling pick.php la 2s: timeout 10 minute, Esc = anulare --- + lcExitCode = '' + lnStartSec = SECONDS() + DO WHILE .T. + lnElapsed = SECONDS() - lnStartSec + IF lnElapsed < 0 + lnElapsed = lnElapsed + 86400 && trecere miezul noptii + ENDIF + IF lnElapsed >= 600 + lcExitCode = 'timeout' + EXIT + ENDIF + WAIT WINDOW 'Asteptare autorizare ANAF... Continuati in fereastra browserului: selectati certificatul si introduceti PIN-ul. (Esc = anulare)' NOWAIT + + lnStatus = 0 + lcResponse = '' + TRY + loHTTP = CREATEOBJECT('WinHttp.WinHttpRequest.5.1') + loHTTP.SetTimeouts(5000, 5000, 5000, 5000) + loHTTP.Open('POST', lcPickUrl, .F.) + loHTTP.SetRequestHeader('Content-Type', 'application/x-www-form-urlencoded') + loHTTP.Send('state=' + lcState) + lnStatus = loHTTP.Status + lcResponse = loHTTP.ResponseText + CATCH TO loExHTTP + * eroare retea tranzitorie -> continuam polling pana la timeout + ENDTRY + + IF lnStatus = 200 + loJson = NULL + TRY + loJson = nfjsonread(lcResponse) + CATCH TO loExJson + This.Log('[' + lcStatePrefix + '] eroare parsare JSON: ' + loExJson.Message) + ENDTRY + IF TYPE('loJson') = 'O' AND !ISNULL(loJson) + IF TYPE('loJson.error') <> 'U' + lcExitCode = 'anaf_error' + EXIT + ENDIF + IF TYPE('loJson.access_token') <> 'U' AND TYPE('loJson.refresh_token') <> 'U' + * Tokenuri primite - populare proprietati (fara valori de tokenuri in log) + This.cToken = loJson.access_token + This.cRefreshToken = loJson.refresh_token + This.dTokenGendate = DATE() + IF TYPE('loJson.expires_in') <> 'U' + This.dTokenExpdate = DATE() + INT(VAL(TRANSFORM(loJson.expires_in)) / 86400) + ELSE + This.dTokenExpdate = DATE() + 90 + ENDIF + lcExitCode = 'success' + EXIT + ENDIF + * {"status":"pending"} sau alt continut -> continuam polling + ENDIF + ENDIF + + * asteptare 2s cu verificare Esc la fiecare 0.5s + lnStep = 0 + DO WHILE lnStep < 4 + lnKey = INKEY(0.5) + IF lnKey = 27 && Esc + lcExitCode = 'esc' + EXIT + ENDIF + lnStep = lnStep + 1 + ENDDO + IF lcExitCode = 'esc' + EXIT + ENDIF + ENDDO + WAIT CLEAR + This.Log('[' + lcStatePrefix + '] iesire: ' + lcExitCode) + + DO CASE + CASE lcExitCode = 'success' + TRY + This.SaveToken() + AMESSAGEBOX('S-a generat token-ul eFactura, valabil pana la ' + DTOC(This.dTokenExpdate), 0 + 64, _Screen.Caption) + CATCH TO loExSave + * tokenul ramane in This.cToken; la reluarea operatiei va fi necesar PIN-ul din nou + AMESSAGEBOX('Tokenul a fost generat, dar salvarea in baza de date a esuat: ' + loExSave.Message + CHR(13) + ; + 'Reluati operatia Token nou sau contactati suportul ROA.', 0 + 48, _Screen.Caption) + ENDTRY + + CASE lcExitCode = 'esc' + AMESSAGEBOX('Ati anulat asteptarea. Daca ati introdus deja PIN-ul, autorizarea respectiva va fi ignorata; la reluare va trebui sa introduceti PIN-ul din nou.', 0 + 64, _Screen.Caption) + + CASE lcExitCode = 'timeout' + AMESSAGEBOX('Nu s-a primit tokenul in 10 minute. Se deschide pagina pentru completare manuala; puteti si relua operatia Token nou.', 0 + 48, _Screen.Caption) + open_default_app(lcTokenURL) + + CASE lcExitCode = 'anaf_error' + AMESSAGEBOX('Eroare la autorizarea ANAF: ' + TRANSFORM(NVL(loJson.error, '')) + '. Reluati operatia sau folositi completarea manuala (se deschide pagina care afiseaza codurile).', 0 + 48, _Screen.Caption) + open_default_app(lcTokenURL) + ENDCASE + + Endfunc && newToken + +* Actualizeaza data expirarii tokenului ANAF eFactura +* Se apeleaza din formularul anaf_token.do_executa + Function refreshToken + LPARAMETERS tcMesaj + * tcMesaj (OUT) + + Local loHTTP As 'winHTTP.winHTTPrequest.5.1' + Local lcRefreshToken, lcResponse, lcURL, llSucces, loJson, loEx as Exception + llSucces = .T. + lcRefreshToken = Alltrim(This.cRefreshToken) + tcMesaj = '' + SET STEP ON + If Empty(m.lcRefreshToken) + tcMesaj = 'Completati Refresh Token' + This.Log(m.tcMesaj) + Else + lcURL = This.cTokenUrl + + TRY + loHTTP = Createobject('winHTTP.winHTTPrequest.5.1') + loHTTP.Open('POST', lcURL, .F.) + loHTTP.setRequestHeader("Content-Type", "application/x-www-form-urlencoded") + loHTTP.Send([refresh_token=] + m.lcRefreshToken) + + CATCH TO loEx + llSucces = .F. + ENDTRY + + IF !m.llSucces OR TYPE('loHTTP') <> 'O' + TRY + loHTTP = Createobject('MSXML2.XMLHTTP.6.0') + loHTTP.Open('POST', lcURL, .F.) + loHTTP.setRequestHeader("Content-Type", "application/x-www-form-urlencoded") + loHTTP.Send([refresh_token=] + m.lcRefreshToken) + CATCH TO loEx + llSucces = .F. + AMESSAGEBOX(loEx.Message,0,_screen.Caption) + ENDTRY + ENDIF + + llSucces = (TYPE('loHTTP') = 'O') + IF m.llSucces + lcResponse = loHTTP.ResponseText + llSucces = (loHTTP.Status = 200) + ENDIF + If !m.llSucces + lcResponse = loHTTP.StatusText + Endif + + If m.llSucces + TRY + loJson = nfjsonread(m.lcResponse) + CATCH TO loEx + llSucces = .F. + tcMesaj = 'Refresh token - eroare extragere raspuns json: ' + loEx.message + CRLF + m.lcResponse + this.Log(m.tcMesaj) + ENDTRY + If Type('loJson.expires_in') <> 'U' And Type('loJson.access_token') <> 'U' And Type('loJson.refresh_token') <> 'U' + This.dTokenExpdate = Date() + Int(Val(Transform(loJson.expires_in)) / 24 / 3600) && 90 zile + This.dTokenGendate = Date() + This.cToken = loJson.access_token + This.cRefreshToken = loJson.refresh_token + + This.SaveToken() + tcMesaj = 'S-a regenerat token-ul, cu valabilitate pana la ' + Dtoc(This.dTokenExpdate) + This.Log(m.tcMesaj) + ELSE + tcMesaj ='Nu s-a regenerat token-ul! Generati un token nou!' + LF + m.lcResponse + This.Log(m.tcMesaj) + Endif + ELSE + tcMesaj = 'Nu s-a regenerat token-ul! Status = ' + Transform(loHTTP.Status) + CRLF + m.lcResponse + This.Log(m.tcMesaj) + Endif + Endif + + Return m.llSucces + Endfunc + + + ********************* + * Trimite fisiere xml eFactura in SPV + ********************* + PROCEDURE VizeFacturaXml + + CREATE CURSOR cXmlFiles (ales N(1), filepath c(250), procesat N(1), stare c(100), mesaj c(250), extern N(1)) + + loXmlFiles = CREATEOBJECT("anaf_efactura_xml", This) + loXmlFiles.Show(1) + + USE IN (SELECT('cXmlFiles')) + + ENDPROC && VizeFacturaXml + + ******************************** + * Genereaza xml efactura, valideaza xml si trimite la API ANAF + * parseaza un director cu xml efactura si le trimite la API ANAF + ******************************** + Procedure TrimiteFacturaXML + LPARAMETERS tcFile, tlValidare, tlValidareOnline, tlNuTrimiteEFacturaANAF, tlExtern + + Local loXmlEFactura As 'ExportEFactura' + Local lcErrorMessage, lcExecutionStatus, lcFile, lcIndexIncarcare, lcMesaj, llSucces, llValid, loEx + Local loXML, lcMesajValidare, llExtern, lcToken + PRIVATE pcIdIncarcare, pcMesajTrimis, pnTrimis + + LOCAL loReturn + + lcFile = m.tcFile + lcMesaj = '' + lcMesajValidare = '' + + lcToken = This.cToken + + loReturn = Createobject("empty") + AddProperty(loReturn, "lSucces", .F.) + AddProperty(loReturn, "cFile", '') + AddProperty(loReturn, "cResponse", '') + AddProperty(loReturn, "nStatus", 0) + + llExtern = m.tlExtern + + llValid = .T. + IF m.tlValidare + llSilentios = .T. + loXmlEFactura = CREATEOBJECT('ExportEFactura', m.llSilentios, m.lcToken) + llValid = loXmlEFactura.ValidareEFactura(m.lcFile, @lcMesajValidare, m.tlValidareOnline) + ENDIF + + IF m.llValid AND !m.tlNuTrimiteEFacturaANAF + loReturn = This.SendEfactura(m.lcFile, m.llExtern) + llSucces = loReturn.lSucces + AddProperty(loReturn, "cIdIncarcare", '') + AddProperty(loReturn, "cMesaj", '') + + If m.llSucces + pcMesajTrimis = Iif(This.lTest, 'TEST ', '') + loXML = Null + Try + loXML = nfxmlread(loReturn.cResponse) + Catch To loEx + lcErrorMessage = loEx.Message + Endtry + + lcExecutionStatus = '' + lcIndexIncarcare = '' + lcErrorMessage = '' + If Type('loxml.header._attr_.executionstatus') <> 'U' + lcExecutionStatus = loXML.Header._attr_.executionstatus + Endif + If Type('loxml.header._attr_.index__incarcare') <> 'U' + lcIndexIncarcare = loXML.Header._attr_.index__incarcare + Endif + If Type('loxml.header.errors._attr_.errorMessage') <> 'U' + lcErrorMessage = loXML.Header.errors._attr_.ErrorMessage + Endif + + Do Case + Case lcExecutionStatus = "0" + pcIdIncarcare = m.lcIndexIncarcare + pnTrimis = 1 + pcMesajTrimis = m.pcMesajTrimis + 'Transmis cu succes. Index incarcare = ' + m.pcIdIncarcare + loReturn.cIdIncarcare = m.pcIdIncarcare + loReturn.lSucces = .T. + + Case !Empty(m.lcErrorMessage) + pcIdIncarcare = '' + pnTrimis = 1 + pcMesajTrimis = m.pcMesajTrimis + Iif(This.lTest, 'TEST ', '') + 'Eroare. ' + m.lcErrorMessage + + Case [VALID] $ Upper(loReturn.cResponse) + pcIdIncarcare = '' + pnTrimis = 0 + pcMesajTrimis = m.pcMesajTrimis + loReturn.cResponse + + Otherwise + pcMesajTrimis = m.pcMesajTrimis + Iif(This.lTest, 'TEST ', '') + 'Eroare. ' + m.lcErrorMessage + pcIdIncarcare = '' + pnTrimis = 1 + Endcase + + loReturn.cMesaj = m.pcMesajTrimis + ' ' + m.lcMesajValidare + Else + pcMesajTrimis = ' Eroare transmitere - Http Status: ' + Transform(loReturn.nStatus) + ' Http Response: ' + Alltrim(Transform(loReturn.cResponse)) + ' ' + loReturn.cResponse + loReturn.cResponse = pcMesajTrimis + loReturn.cMesaj = m.pcMesajTrimis + ' ' + m.lcMesajValidare + This.Log(loReturn.cResponse) + ENDIF + ELSE + AddProperty(loReturn, "cIdIncarcare", '') + AddProperty(loReturn, "cMesaj", '') + + pcMesajTrimis = '. Nu s-a trimis fisierul la ANAF.' + loReturn.cResponse = m.pcMesajTrimis + + IF m.llValid + loReturn.cMesaj = 'Nu s-a trimis fisierul. ' + m.lcMesajValidare + loReturn.lSucces = .T. + llSucces = .T. + ELSE + loReturn.cMesaj = 'Eroare validare. Nu s-a trimis fisierul: ' + m.lcMesajValidare + loReturn.lSucces = .F. + llSucces = .F. + ENDIF + ENDIF + + RETURN loReturn + + Endproc && TrimiteFacturaXML + +* Genereaza xml eFactura, valideaza xml si trimite la ANAF + Function SendEfactura + Lparameters tcFile, tlExtern, tlMesaj + * tcFile: calea catre fisierul xml efactura / sau xml mesaj + * tlExtern: daca se apeleaza cu parametrul Extern=DA (pentru clientii externi) + * tlMesaj: daca mesajul este o factura sau un mesaj catre furnizor + + Local loEx As Exception + Local loHTTP As 'winHTTP.winHTTPrequest.5.1' + Local loReturn As "empty" + Local lcCodFiscal, lcExtern, lcFile, lcSend, lcServer, lcToken, llOk, llTest, llB2C + LOCAL lcCustomer, lcPartyLegal, lcCodFiscalClient + + loReturn = Createobject("empty") + AddProperty(loReturn, "lSucces", .F.) + AddProperty(loReturn, "cFile", '') + AddProperty(loReturn, "cResponse", '') + AddProperty(loReturn, "nStatus", 0) + + lcToken = This.cToken + lcCodFiscal = ALLTRIM(This.cCodFiscal) + llTest = This.lTest + llOk = .F. + lcFile = '' + + lcFile = Iif(Type('tcFile') = 'C' and !Empty(m.tcFile), m.tcFile, '') + loReturn.cFile = m.lcFile + lcExtern = Iif(m.tlExtern, '&extern=DA', '') + This.Log('SendEFactura: ' + m.lcFile) + If File(m.lcFile) + lcSend = Filetostr(m.lcFile) + + * Verific daca clientul este persoana fizica si folosesc upload2bc in loc de upload + lcCustomer = STREXTRACT(lcSend, '', '',1,1) + lcPartyLegal = STREXTRACT(lcCustomer, '', '',1,1) + lcCodFiscalClient = ALLTRIM(STREXTRACT(m.lcPartyLegal, '','',1,1)) + llB2C = (LEN(m.lcCodFiscalClient) = 13) && persoane fizice + + TRY + IF !m.tlMesaj + lcServer = [https://api.anaf.ro/] + Iif(m.llTest, [test], [prod]) + [/FCTEL/rest/upload] + IIF(m.llB2C,'b2c','') + [?standard=UBL&cif=] + m.lcCodFiscal + m.lcExtern + ELSE + lcServer = [https://api.anaf.ro/] + Iif(m.llTest, [test], [prod]) + [/FCTEL/rest/upload] + IIF(m.llB2C,'b2c','') + [?standard=RASP&cif=] + m.lcCodFiscal + ENDIF + + loHTTP = Createobject('winHTTP.winHTTPrequest.5.1') + loHTTP.Open('POST', lcServer, .F.) + loHTTP.setRequestHeader("Content-Type", "application/xml;") + loHTTP.setRequestHeader('Authorization', 'Bearer ' + m.lcToken) && 9b1f44af738c16aa10c78347b9a064857f034b03a20704a03c131b99f019cee5 + poLog.Log(m.lcServer) + + loHTTP.Send(m.lcSend) + + loReturn.nStatus = loHTTP.Status + loReturn.cResponse = loHTTP.ResponseText + loReturn.lSucces = (loHTTP.Status = 200) + + CATCH TO loEx + loReturn.lSucces = .F. + loReturn.cResponse = '' + ENDTRY + Else + loReturn.cResponse = '' + loReturn.lSucces = .F. + ENDIF + + This.Log('SendEFactura: ' + Transform(loReturn.nStatus) + ' ' + Transform(loReturn.lSucces) + ' ' + loReturn.cResponse) + Return loReturn + Endfunc + + * Genereaza xml mesaj catre furnizor si trimite la ANAF + Function SendMesaj + Lparameters tnIdIncarcare, tcMesaj + + LOCAL lnIdIncarcare, lcMesaj, llMesaj, loReturn, lcFile + lcFile = ADDBS(SYS(2023)) + FORCEEXT(SYS(2015), 'xml') + llMesaj = .T. + lcMesaj = Alltrim(XmlSpecialCharacters(RemoveCharacters(m.tcMesaj, .T.))) + lnIdIncarcare = ALLTRIM(NVL(m.tnIdIncarcare,'')) + +TEXT TO lcText TEXTMERGE NOSHOW + +
    +ENDTEXT + STRTOFILE(m.lcText, m.lcFile) + + loReturn = This.SendEFactura(m.lcFile,,m.llMesaj) + IF FILE(m.lcFile) + DELETE FILE (m.lcFile) + ENDIF + RETURN loReturn + ENDFUNC + + ************************* + * Dezarhiveaza o arhiva si intoarce .T./.F. + ************************* + Procedure UnzipFile + Lparameters tcZipFile, tcDir, tcErrorMessage + * tcZipFile: arhiva zip cu detaliile raspunsului unei eFactura + * tcDir: IN/OUT directorul cu fisierele dezarhivate + * tcErrorMessage: OUT mesaj de eroare + + Local laZipTemp[1, 3], lcDir, lcFileName, llSucces, llSilent + tcErrorMessage = '' + llSilent = .T. + + IF TYPE('tcDir') <> 'C' OR EMPTY(NVL(m.tcDir, '')) + tcDir = ADDBS(JUSTPATH(m.tcZipFile)) + ENDIF + + This.Log('UnzipFile ' + m.tcZipFile) + llSucces = MyUnzip(m.tcZipFile, @tcDir, @tcErrorMessage, m.llSilent) + + Return m.llSucces + ENDPROC && UnzipFile + + ********************************* + * Proces ProcesCopiere: copiez arhiva zip intr-o structura de directoare, dezarhivez, transform xml in pdf + ********************************* + PROCEDURE ProcesareRaspunsuri + LPARAMETERS tlFortareRaspunsuri + + Local lcDir, lcDir2, lcErrorMessage, lcFile, lcFile2, lcFile2Semnatura, lcFilePdf, lcFileSemnatura + Local lcIdDescarcare, lcIdIncarcare, lcTipRaspuns, lcZipFile, llSucces, loEx, loFactura, llFortareRaspunsuri + + llFortareRaspunsuri = m.tlFortareRaspunsuri + + This.Log('Procesare Raspunsuri') + + * procesez server si nu este descarcat sau client (borderou eFactura ROACONT) si nu este procesat (completat detalii) + SELECT id_incarcare, id_descarcare, tip_mesaj_raspuns, filepath, procesat ; + FROM anaf_efactura WITH (BUFFERING = .T.) ; + WHERE ((This.lServer AND (procesat_server = 0 OR procesat = 0)) OR (!This.lServer AND (procesat = 0 OR modificat = 1))) AND ; + !EMPTY(NVL(filepath,'')) ; + ORDER BY id_incarcare ; + INTO CURSOR cRaspunsuriTemp + + This.Log('Procesare Raspunsuri ' + ALLTRIM(STR(RECCOUNT('cRaspunsuriTemp'))) + ' fisiere de procesat') + + llSucces = .T. + SELECT cRaspunsuriTemp + SCAN + lcIdIncarcare = ALLTRIM(id_incarcare) + lcIdDescarcare = ALLTRIM(id_descarcare) + lcZipFile = ALLTRIM(filepath) + lcTipRaspuns = UPPER(ALLTRIM(tip_mesaj_raspuns)) + + lcText = 'ProcesareRaspunsuri ' + ALLTRIM(STR(RECNO())) + '/' + ALLTRIM(STR(RECCOUNT())) + WAIT WINDOW m.lcText NOWAIT + This.Log(m.lcText) + + IF FILE(m.lcZipFile) + lcDir = '' + lcErrorMessage = '' + + llSucces = This.UnzipFile(m.lcZipFile, @lcDir, @lcErrorMessage) + + IF !m.llSucces + lcErrorMessage = 'ProcesareRaspunsuri Eroare dezarhivare detalii factura id_incarcare = ' + Alltrim(m.lcIdIncarcare) + '. ' + m.lcErrorMessage + This.cErrorMessage = m.lcErrorMessage + This.lError = .T. + WAIT WINDOW m.lcErrorMessage NOWAIT + This.Log(m.lcErrorMessage) + ELSE + TRY + lcFile = Addbs(m.lcDir) + m.lcIdIncarcare + '.xml' + lcFileSemnatura = Addbs(m.lcDir) + 'semnatura_' + m.lcIdIncarcare + '.xml' + + * Completez xml dezarhivat in anaf_efactura + lcDetalii = FILETOSTR(m.lcFile) + + llSucces = This.cUpdateDetalii(m.lcIdIncarcare, m.lcDetalii) + + IF !m.llSucces + lcErrorMessage = 'ProcesareRaspunsuri Eroare actualizare detalii id_incarcare ' + m.lcIdIncarcare + This.cErrorMessage = m.lcErrorMessage + This.lError = .T. + WAIT WINDOW m.lcErrorMessage NOWAIT + This.Log(m.lcErrorMessage) + ENDIF + + * Parsez doar FATURA PRIMITA/FACTURA TRIMISA + IF Inlist(m.lcTipRaspuns, 'FACTURA PRIMITA', 'FACTURA TRIMISA') AND FILE(m.lcFile) + loFactura = ParseEFactura(m.lcFile) + + ADDPROPERTY(loFactura, 'cIdIncarcare', m.lcIdIncarcare) + ADDPROPERTY(loFactura, 'cIdDescarcare', m.lcIdDescarcare) + ADDPROPERTY(loFactura, 'tip_mesaj_raspuns', m.lcTipRaspuns) + + llSucces = This.cUpdateFactura(loFactura) + + * Pe server, copiez arhiva zip, generez pdf in structura directoare custom + IF (This.nSaveFile = 1) AND ((This.lServer AND !EMPTY(NVL(This.cServerPath,''))) OR (!This.lServer AND !EMPTY(NVL(This.cNetworkPath,'')))) + lcFile2 = This.GetFacturaSavePath(loFactura, 'zip') + lcDir2 = ADDBS(JUSTPATH(m.lcFile2)) + lcFilePdf = m.lcDir2 + Juststem(m.lcFile2) + '.pdf' + If !File(m.lcFile2) + llSucces = This.SaveFile(m.lcZipFile, .F., m.lcDir2, JUSTFNAME(m.lcFile2)) + ENDIF + IF (this.nSaveAnafPdfFile = 1) AND !FILE(m.lcFilePdf) + lcFilePdf = This.xml2PdfAnaf(m.lcFile, m.lcFilePdf) + ENDIF + + This.cUpdateProcesatServer(m.lcIdIncarcare) + ELSE + * Marchez procesat server si daca nu trece prin procesul de procesare, pentru ca altfel il procesez din nou si urmatoarea data (dezarhivare, copiere) + This.cUpdateProcesatServer(m.lcIdIncarcare) + ENDIF && This.nSaveFile = 1 + ENDIF && lcTipRaspuns + + DELETE FILE(m.lcFile) + DELETE FILE(m.lcFileSemnatura) + + Catch To loEx + llSucces = .F. + + lcErrorMessage = 'ProcesareRaspunsuri Eroare la salvarea datelor extrase din xml eFactura. ' + 'Eroare: ' + TRANSFORM(loEx.ErrorNo) + ' ' + loEx.Message + ' Continut:' + loEx.LineContents + + ' Linia: ' + TRANSFORM(loEx.LineNo) + ' Program: ' + loEx.Procedure + This.cErrorMessage = m.lcErrorMessage + This.lError = .T. + WAIT WINDOW m.lcErrorMessage NOWAIT + This.Log(m.lcErrorMessage) + ENDTRY + ENDIF + ENDIF + ENDSCAN && cRaspunsuriTemp + + USE IN (SELECT('cRaspunsuriTemp')) + + RETURN m.llSucces + ENDPROC && ProcesareRaspunsuri + + ********************************* + * RASPUNSURI FACTURI + * Trebuie sa descarc ERORI FACTURI TRIMISE si FACTURI PRIMITE si sa citesc detalii (mesaj eroare, numar, data factura, detalii factura furnizor) + * Citesc lista de raspunsuri ANAF + * Descarc detaliile fiecarui raspuns neprocesat + * Salvez arhiva zip detalii in directorul zilei curente + ********************************* + Procedure DescarcareRaspunsuri + Lparameters tnZile, tlFortareRaspunsuri +* tnZile : Cate zile de raspunsuri de la ANAF +* tlFortareRaspunsuri: .T. = se proceseaza si mesajele + detaliile deja salvate si procesate, default .F. + + Local lcFile2, lcSelect, llSucces, lnMesaj, lnMesaje, lnRecno, lnZile, loAnafMesaj, loEx, loJson + Local loReturn, loMesaj, lnFortareRaspunsuri, loEx As Exception + + llFortareRaspunsuri = Iif(Type('tlFortareRaspunsuri') = 'L', m.tlFortareRaspunsuri, .F.) + + lcSelect = Select() + llSucces = .F. + + ************************************************* + Local loHTTP As 'winHTTP.winHTTPrequest.5.1' + Local loReturn As "empty" + Local lcServer, llTest, lcToken, lcCodFiscal, lnZile, lcText + + llTest = This.lTest + lcToken = This.cToken + lcCodFiscal = This.cCodfiscal + lnZile = Iif(!Empty(m.tnZile), Min(m.tnZile, 60), 60) + + ltEndTime = GetUtcTime(DATETIME()-60) && 60 de secunde in urma, ca sa fiu sigur? ca ceasul calculatorului nu este inainte fata de timpul serverului ANAF. Poate fi si cu mai mult de 1 minut + ltStartTime = ltEndTime - m.lnZile*24*60*60 + + lcStartTime = ALLTRIM(STR(Datetime2UnixTime(m.ltStartTime))) + '000' + lcEndTime = ALLTRIM(STR(Datetime2UnixTime(m.ltEndTime))) + '000' + + loHTTP = Createobject('winHTTP.winHTTPrequest.5.1') + + lnPagina = 1 + lnNumarTotalPagini = 99999 + + DO WHILE m.lnPagina <= m.lnNumarTotalPagini + TEXT TO lcServer TEXTMERGE NOSHOW +https://api.anaf.ro/<>/FCTEL/rest/listaMesajePaginatieFactura?startTime=<>&endTime=<>&cif=<>&pagina=<> + ENDTEXT + + lcText = 'Descarcare Raspunsuri ultimele ' + TRANSFORM(m.lnZile) + ' zile : ' + TTOC(m.ltStartTime,3) + '-' + TTOC(m.ltEndTime,3) + WAIT WINDOW m.lcText NOWAIT + This.Log(m.lcText + ' ' + m.lcServer) + + loHTTP.Open('GET', lcServer, .F.) + loHTTP.setRequestHeader("Content-Type", "application/xml;") + loHTTP.setRequestHeader('Authorization', 'Bearer ' + m.lcToken) + loHTTP.Send() + + llSucces = (loHttp.Status = 200) + IF !m.llSucces + lcErrorMessage = This.cUser + ' ' + 'DescarcareRaspunsuri Eroare la citirea raspunsurilor! Solutii: 1. Reincercati operatia cu o perioada mai mica. 2. Actualizati/Regenerati token-ul de acces daca este expirat.' + LF + loHTTP.ResponseText + This.cErrorMessage = m.lcErrorMessage + This.lError = .T. + This.Log(m.lcErrorMessage) + EXIT + ENDIF + + llSucces = This.SaveFile(loHttp.ResponseText, .T.,This.cSaveLogsPath,'response_json_' + TTOC(Datetime(),1) + '.txt') + + TRY + loJson = nfjsonread(loHTTP.ResponseText) + CATCH TO loEx + llSucces = .F. + lcErrorMessage = This.cUser + ' ' + 'DescarcareRaspunsuri ' + LF + ' Eroare: ' + TRANSFORM(loEx.ErrorNo) + ' ' + loEx.Message + ' Continut:' + loEx.LineContents + + ' Linia: ' + TRANSFORM(loEx.LineNo) + ' Program: ' + loEx.Procedure + This.cErrorMessage = m.lcErrorMessage + This.lError = .T. + This.Log(m.lcErrorMessage) + ENDTRY + + IF TYPE('loJson') <> 'O' + llSucces = .F. + lcErrorMessage = This.cUser + ' ' + 'DescarcareRaspunsuri ' + LF + ' Eroare: ' + TRANSFORM(loEx.ErrorNo) + ' ' + loEx.Message + ' Continut:' + loEx.LineContents + + ' Linia: ' + TRANSFORM(loEx.LineNo) + ' Program: ' + loEx.Procedure + This.cErrorMessage = m.lcErrorMessage + This.lError = .T. + This.Log(m.lcErrorMessage) + EXIT + ENDIF + + If Type('loJson.numar_total_pagini') = 'N' + lnNumarTotalPagini = loJson.numar_total_pagini + ENDIF + + If Type('loJson.eroare') = 'C' And !Empty(loJson.eroare) + llSucces = .F. + lcErrorMessage = This.cUser + LF + loJson.eroare + This.cErrorMessage = m.lcErrorMessage + ; + IIF(ATC('Nu exista mesaje in intervalul selectat', loJson.eroare) > 0, '', ; + LF + 'Posibile cauze/solutii: Token expirat (regenerati tokenul), semnatura electronica expirata (reinnoiti semnatura in SPV)' + ; + LF + ; + LF + 'Apasati pe butonul Chatbot (stanga) pentru alte solutii!') + This.lError = .T. + This.Log(m.lcErrorMessage) + EXIT + ENDIF + + If Type('loJson.mesaje') = 'U' + llSucces = .F. + lcErrorMessage = This.cUser + ' ' + 'DescarcareRaspunsuri Eroare: Nu exista informatia [mesaje] in raspuns.' + LF + loHttp.ResponseText + This.cErrorMessage = m.lcErrorMessage + This.lError = .T. + This.Log(m.lcErrorMessage) + EXIT + ENDIF + + lnMesaje = Alen(loJson.mesaje) + For lnMesaj = 1 To m.lnMesaje + lcText = This.cUser + ' ' + 'DescarcareRaspunsuri Raspuns ' + Alltrim(Str(m.lnMesaj)) + '/' + Alltrim(Str(m.lnMesaje)) + WAIT WINDOW m.lcText NOWAIT + This.Log(m.lcText) + + loMesaj = loJson.mesaje[m.lnMesaj] + AddProperty(loMesaj, 'recno', m.lnMesaj) + AddProperty(loMesaj, 'recc', m.lnMesaje) + + lcIdIncarcare = IIF(Type('loMesaj.id_solicitare') = 'C' And !Empty(Nvl(loMesaj.id_solicitare, '')), loMesaj.id_solicitare, '') + IF !EMPTY(m.lcIdIncarcare) + * Nu procesez mesajele deja descarcate, decat daca fortez procesarea tuturor mesajelor + IF m.llFortareRaspunsuri OR (This.lServer AND !This.cIsDescarcat(m.lcIdIncarcare)) OR (!This.lServer AND !This.cIsProcesat(m.lcIdIncarcare)) + loAnafMesaj = This.ProceseazaMesaj(loMesaj) + llSucces = !loAnafMesaj.lEroare + IF loAnafMesaj.lEroare + This.lError = .T. + This.cErrorMessage = loAnafMesaj.cEroare + ENDIF + ENDIF + ELSE + llSucces = .F. + lcErrorMessage = This.cUser + ' ' + 'DescarcareRaspunsuri Eroare: EMPTY(loMesaj.id_solicitare) Mesaj ' + Alltrim(Str(m.lnMesaj)) + '/' + Alltrim(Str(m.lnMesaje)) + This.cErrorMessage = m.lcErrorMessage + This.lError = .T. + This.Log(m.lcErrorMessage) + EXIT + ENDIF && empty + Endfor && lnMesaj + + lnPagina = m.lnPagina + 1 + ENDDO && .T. + + Select (m.lcSelect) + Return m.llSucces + Endproc && DescarcareRaspunsuri + +***************************** +* Dezarhiveaza mesajul, parseaza xml efactura trimisa/primita si salveaza pe disk si in baza de date +* Intoarce un obiect AnafMesaj (cEroare, lEroare) +**************************** + Procedure ProceseazaMesaj + Lparameters toMesaj + + Local loDate As "empty" + Local lcDirectory, lcFile, lcTip, lcTipRaspuns, llSucces, lnAn, lnLuna, lnMin, lnOra, lnSec, lnZi + Local loAnafMesaj, loDetalii, lcFilePath + + loAnafMesaj = This.NewMesaj() + + With toMesaj + loAnafMesaj.cIdIncarcare = .id_solicitare + + lnAn = Val(Substr(.data_creare, 1, 4)) + lnLuna = Val(Substr(.data_creare, 5, 2)) + lnZi = Val(Substr(.data_creare, 7, 2)) + lnOra = Val(Substr(.data_creare, 9, 2)) + lnMin = Val(Substr(.data_creare, 11, 2)) + lnSec = Val(Substr(.data_creare, 13, 2)) + loAnafMesaj.dDataRaspuns = Datetime(m.lnAn, m.lnLuna, m.lnZi, m.lnOra, m.lnMin, m.lnSec) + + loAnafMesaj.cMesajRaspuns = .detalii + loAnafMesaj.cTipMesajRaspuns = .tip + loAnafMesaj.cIdDescarcare = .Id + loAnafMesaj.cCodFiscalEmitent = Strextract(.detalii, [cif_emitent=], [ ],1,1+2) + loAnafMesaj.cCodFiscalBeneficiar = Strextract(.detalii, [cif_beneficiar=], [ ],1,1+2) + loAnafMesaj.nTest = Iif(This.lTest, 1, 0) && server TEST ANAF + loAnafMesaj.nFacturaEmisa = IIF(UPPER(ALLTRIM(.tip)) = 'FACTURA PRIMITA', 0, 1) + + lcTipRaspuns = Alltrim(Upper(loAnafMesaj.cTipMesajRaspuns)) + + + * Adaug mesajul in cRaspunsuri + This.cAddMesaj(loAnafMesaj) + + + lcTip = Iif('ERORI'$m.lcTipRaspuns, 'ERORI', Iif('PRIMIT'$m.lcTipRaspuns, 'PRIMITE', Iif('TRIMIS'$m.lcTipRaspuns, 'TRIMISE', IIF('MESAJ CUMPARATOR TRANSMIS'$m.lcTipRaspuns, 'MESAJE', 'ALTELE')))) + lcFile = loAnafMesaj.cIdIncarcare + '_' + loAnafMesaj.cIdDescarcare + '.zip' && C:\EFACTURA\PRIMITE\20240112\1234_1234\ + + IF this.lServer + lcDirectory = This.cResponsesPath + m.lcTip + '\' + Dtos(Date()) + '\' + ELSE + lcDirectory = GetPdfPath('EFACTURA', m.lcTip) + ENDIF + + lcFilePath = m.lcDirectory + m.lcFile + + * Daca nu exista fisierul zip descarcat de alt program + IF !FILE(m.lcFilePath) + * Descarca detalii raspuns + loDetalii = This.DownloadDetaliiEFactura(loAnafMesaj.cIdDescarcare, ' Descarcare detalii factura ID: ' + loAnafMesaj.cIdDescarcare) + llSucces = loDetalii.lSucces + + If !m.llSucces + loAnafMesaj.cEroare = 'Eroare descarcare detalii factura id_descarcare = ' + Alltrim(loAnafMesaj.cIdDescarcare) + ; + '. Cod eroare: ' + Alltrim(Transform(loDetalii.nStatus)) + ' ' + loDetalii.cErrorMessage + loAnafMesaj.lEroare = .T. + Else + If 'eroare' $ Lower(loDetalii.cResponse) + loAnafMesaj.cEroare = 'Eroare descarcare detalii raspuns id_descarcare = ' + Alltrim(loAnafMesaj.cIdDescarcare) + '. ' + loDetalii.cResponse + loAnafMesaj.lEroare = .T. + Endif && 'eroare' $ Lower(loDetalii.cResponse) + Endif && m.llSucces loDetalii.lSucces + + IF loAnafMesaj.lEroare + This.Log('Proceseaza Mesaj ' + loAnafMesaj.cEroare) + ELSE + llSucces = This.SaveFile(loDetalii.cResponse, .T., m.lcDirectory, m.lcFile) + This.Log('Proceseaza Mesaj salvare fisier: ' + Transform(m.llSucces) + ' ' + m.lcFilePath) + ENDIF && lEroare + + ENDIF && !file + ENDWITH && toMesaj + + * Salvez arhiva pe disk + IF FILE(m.lcFilePath) + This.Log('Proceseaza Mesaj. Exista fisierul: ' + m.lcFilePath) + loAnafMesaj.lEroare = .F. + llSucces = .T. + * Actualizez cRaspunsuri.descarcat, filepath + lnDescarcatServer = IIF(this.lServer, 1, 0) && marchez descarcat doar daca am descarcat pe server + This.cUpdateDescarcat(loAnafMesaj.cIdIncarcare, m.lnDescarcatServer, m.lcFilePath) + ENDIF + + Return loAnafMesaj + Endproc && ProceseazaMesaj + +* Salveaza fisiere/variabile pe disk + Procedure SaveFile + Lparameters tcFile, tlVariable, tcDirectory, tcFileName +* tcFile: calea catre fisierul sursa +* tlVariable: .T. daca tcFile este o variabila cu continutul fisierului +* tcFileName: numele fisierului destinatie + Local lcFile2, llSucces, loEx As Exception + + llSucces = .T. + lcFileName2 = Iif(!Empty(m.tcFileName), m.tcFileName, Justfname(m.tcFile)) + lcFile2 = Addbs(m.tcDirectory) + m.lcFileName2 + If !Empty(m.tcDirectory) And !Directory(m.tcDirectory) + Try + Md (m.tcDirectory) + Catch To loEx + llSucces = .F. + This.Log('SaveFile ' + 'Eroare: ' + TRANSFORM(loEx.ErrorNo) + ' ' + loEx.Message + ' Continut:' + loEx.LineContents + + ' Linia: ' + TRANSFORM(loEx.LineNo) + ' Program: ' + loEx.Procedure) + Endtry + Endif + If !Empty(m.tcDirectory) And Directory(m.tcDirectory) + Try + If m.tlVariable + Strtofile(m.tcFile, m.lcFile2) + Else + Copy File (m.tcFile) To (m.lcFile2) + ENDIF + This.Log('SaveFile ' + m.lcFile2) + llSucces = .T. + Catch To loEx + llSucces = .F. + This.Log('SaveFile ' + 'Eroare: ' + TRANSFORM(loEx.ErrorNo) + ' ' + loEx.Message + ' Continut:' + loEx.LineContents + + ' Linia: ' + TRANSFORM(loEx.LineNo) + ' Program: ' + loEx.Procedure) + Endtry + Endif + Return m.llSucces + Endproc && SaveFile + + ************ + * Intoarce calea de salvare xml intr-un director comun, definit in baza de date OPTIUNI + ************ + Procedure GetFacturaSavePath + Lparameters toFactura, tcExt + * tcExt: optional, default xml + + Local loReturn As "empty" + Local lcAn, lcDataAct, lcFile2, lcFile2Semnatura, lcFilePdf, lcFileSemnatura, lcFurnizor + Local lcIdDescarcare, lcIdIncarcare, lcLuna, lcLuna2, lcLuna3, lcNumarAct, lcSaveFile, lcSavePath + Local llSucces, lcExt, lcFirma + + llSucces = .F. + lcExt = IIF(!EMPTY(m.tcExt), m.tcExt, 'xml') + + lcTip = ALLTRIM(UPPER(toFactura.tip_mesaj_raspuns)) && FACTURI TRIMISE / FACTURI PRIMITE + llFurnizor = 'PRIMIT'$m.lcTip + + IF m.llFurnizor + lcPartener = WindowsSpecialCharacters(toFactura.Furnizor) + lcSavePath = This.cSaveFurnizoriPath + lcSaveFile = This.cSaveFurnizoriFile + ELSE + lcPartener = WindowsSpecialCharacters(toFactura.Client) + lcSavePath = This.cSaveClientiPath + lcSaveFile = This.cSaveClientiFile + ENDIF + lcFirma = This.cUser + lcPartener = Alltrim(Left(Strtran(m.lcPartener, '.', '',1,100,1), 50)) + + lcAn = Alltrim(Str(Year(toFactura.dataact))) + lcLuna = c_luna(Month(toFactura.dataact)) + lcLuna3 = cluna3(Month(toFactura.dataact)) + lcLuna2 = Padl(Month(toFactura.dataact), 2, '0') + lcDataAct = Dtos(toFactura.dataact) + lcIdIncarcare = toFactura.cIdIncarcare + lcIdDescarcare = toFactura.cIdDescarcare + lcNumarAct = Alltrim(WindowsSpecialCharacters(toFactura.numaract)) + + lcSavePath = Strtran(m.lcSavePath, '', m.lcAn, 1, 100, 1) + lcSavePath = Strtran(m.lcSavePath, '', m.lcAn, 1, 100, 1) + lcSavePath = Strtran(m.lcSavePath, '', m.lcIdIncarcare, 1, 100, 1) + lcSavePath = Strtran(m.lcSavePath, '', m.lcIdDescarcare, 1, 100, 1) + lcSavePath = Strtran(m.lcSavePath, '', m.lcLuna, 1, 100, 1) + lcSavePath = Strtran(m.lcSavePath, '', m.lcLuna3, 1, 100, 1) + lcSavePath = Strtran(m.lcSavePath, '', m.lcLuna2, 1, 100, 1) + lcSavePath = Strtran(m.lcSavePath, '', m.lcDataAct, 1, 100, 1) + lcSavePath = Strtran(m.lcSavePath, '', m.lcDataAct, 1, 100, 1) + lcSavePath = Strtran(m.lcSavePath, '', m.lcPartener, 1, 100, 1) + lcSavePath = Strtran(m.lcSavePath, '', m.lcPartener, 1, 100, 1) + lcSavePath = Strtran(m.lcSavePath, '', m.lcFirma, 1, 100, 1) + + lcSavePath = Addbs(m.lcSavePath) + + + If Empty(m.lcSaveFile) + lcFile2 = m.lcSavePath + m.lcIdIncarcare + '_' + m.lcIdDescarcare + '_' + m.lcDataAct + '_' + m.lcNumarAct + '.' + m.lcExt + Else + lcFile2 = m.lcSavePath + Strtran(m.lcSaveFile, '', m.lcIdIncarcare, 1, 100, 1) + lcFile2 = Strtran(m.lcFile2, '', m.lcIdDescarcare, 1, 100, 1) + lcFile2 = Strtran(m.lcFile2, '', m.lcDataAct, 1, 100, 1) + lcFile2 = Strtran(m.lcFile2, '', m.lcPartener, 1, 100, 1) + lcFile2 = Strtran(m.lcFile2, '', m.lcPartener, 1, 100, 1) + If EMPTY(Justext(Lower(m.lcFile2))) + lcFile2 = m.lcFile2 + '.' + m.lcExt + Endif + ENDIF + + RETURN m.lcFile2 + + Endproc && GetFacturaSavePath + + +************************************ +* Intoarce un obiect tip ANAF_EFACTURA, doar informatiile din mesajul ANAF, pentru salvarea in baza de date +************************************ + Function NewMesaj + Local loMesaj + loMesaj= Createobject("empty") + AddProperty(loMesaj, 'nId', Null) + AddProperty(loMesaj, 'cIdIncarcare', Null) + AddProperty(loMesaj, 'cMesajRaspuns', Null) + AddProperty(loMesaj, 'dDataRaspuns', Null) + AddProperty(loMesaj, 'cMesajRaspuns', Null) + AddProperty(loMesaj, 'cTipMesajRaspuns', Null) + AddProperty(loMesaj, 'cIdDescarcare', Null) + AddProperty(loMesaj, 'cCodFiscalEmitent', Null) + AddProperty(loMesaj, 'cCodFiscalBeneficiar', Null) + AddProperty(loMesaj, 'cDetalii', Null) + AddProperty(loMesaj, 'nFacturaEmisa', Null) + AddProperty(loMesaj, 'nTest', 0) + AddProperty(loMesaj, 'lEroare', .F.) + AddProperty(loMesaj, 'cEroare', '') + + Return loMesaj + Endfunc && NewMesaj + + +* Citeste raspunsuri eFactura de la ANAF + Function ReadResponseEFactura + Lparameters tnZile + + Local loHTTP As 'winHTTP.winHTTPrequest.5.1' + Local loReturn As "empty" + Local lcServer, llTest, lcToken, lcCodFiscal, lnZile + llTest = This.lTest + lcToken = This.cToken + lcCodFiscal = This.cCodFiscal + lnZile = Iif(!Empty(m.tnZile), Min(m.tnZile, 60), 60) + + This.Log('ReadResponseEfactura: Citire raspunsuri ANAF ultimele ' + Alltrim(Str(m.lnZile)) + '...') + + Try + lcServer = [https://api.anaf.ro/] + Iif(m.llTest, [test], [prod]) + [/FCTEL/rest/listaMesajeFactura?zile=] + Alltrim(Str(m.lnZile)) + [&cif=] + m.lcCodFiscal && 1879855 + This.Log(m.lcServer) + loHTTP = Createobject('winHTTP.winHTTPrequest.5.1') + loHTTP.Open('GET', lcServer, .F.) + loHTTP.setRequestHeader("Content-Type", "application/xml;") + loHTTP.setRequestHeader('Authorization', 'Bearer ' + m.lcToken) + + loHTTP.Send() + Catch To loEx + This.Log('ReadResponseEfactura ' + loEx.Message) + Endtry + + loReturn = Createobject("empty") + AddProperty(loReturn, "lSucces", (loHTTP.Status = 200)) + AddProperty(loReturn, "cResponse", loHTTP.ResponseText) + AddProperty(loReturn, "nStatus", loHTTP.Status) + If loHTTP.Status <> 200 + loReturn.cResponse = loHTTP.StatusText && 403 Forbidden + Endif + This.Log('ReadResponseEfactura ' + Transform(loHTTP.Status)) + + Return loReturn + + Endfunc + +****************** +* Citeste detalii factura eFactura de la ANAF +* Intoarce un obiect cu cResponse (continutul arhivei zip) +***************** + Function DownloadDetaliiEFactura + Lparameters tcIdDescarcare, tcWaitWindowText +* tcIdDescarcare: Id descarcare ANAF +* tcWaitWindowText: optional, text pentru wait window: + + Local loHTTP As 'winHTTP.winHTTPrequest.5.1' + Local loReturn As "empty", loEx As Exception + Local lcServer, llTest, lcToken, lcCodFiscal, lcIdDescarcare, lcErrorMessage, lcWaitWindowText + llTest = This.lTest + lcToken = This.cToken + lcIdDescarcare = m.tcIdDescarcare + lcErrorMessage = '' + lcWaitWindowText = Iif(!Empty(m.tcWaitWindowText), m.tcWaitWindowText, 'Descarcare detalii factura ID: ' + m.tcIdDescarcare) + + WAIT WINDOW m.lcWaitWindowText NOWAIT + + Try + lcServer = [https://api.anaf.ro/] + Iif(m.llTest, [test], [prod]) + [/FCTEL/rest/descarcare?id=] + m.lcIdDescarcare + This.Log('DownloadDetaliieFactura ' + m.lcServer) + loHTTP = Createobject('winHTTP.winHTTPrequest.5.1') + loHTTP.Open('GET', lcServer, .F.) + loHTTP.setRequestHeader("Content-Type", "application/xml;") + loHTTP.setRequestHeader('Authorization', 'Bearer ' + m.lcToken) + + loHTTP.Send() + Catch To loEx + This.Log('DownloadDetaliieFactura ' + loEx.Message) + Endtry + + loReturn = Createobject("empty") + AddProperty(loReturn, "lSucces", (loHTTP.Status = 200)) + If 'eroare' $ Lower(loHTTP.ResponseText) + lcResponse = loHTTP.ResponseText + lcErrorMessage = m.lcResponse + Else + lcResponse = loHTTP.ResponseBody + Endif + AddProperty(loReturn, "cResponse", m.lcResponse) && arhiva zip sau json cu text eroare {'eroare' : 'Factura cu id 1112 nu exista'} + AddProperty(loReturn, "nStatus", loHTTP.Status) + AddProperty(loReturn, "cErrorMessage", m.lcErrorMessage) + + This.Log('DownloadDetaliieFactura ' + Transform(loHTTP.Status) + ' ' + m.lcErrorMessage) + Return loReturn + + Endfunc + + +***************** +* Adauga/actualizeaza datele si detaliile facturii in baza de date ANAF_EFACTURA +* Foloseste obiect returnat din ParseEFactura +* Intoarce SUCCES = .T. +***************** + Procedure cUpdateFactura + Parameters toFactura, tcCursor + + *toFactura: obiect din ParseEFactura + * tcCursor: optional, anaf_efactura sau un cursor asemanator, temporar + + LOCAL llSucces, lcSql, lcCursor + lcCursor = IIF(EMPTY(m.tcCursor), 'anaf_efactura', m.tcCursor) + + UPDATE (m.lcCursor) ; + set xnumar_act = toFactura.NumarAct, ; + xdata_act = toFactura.DataAct, ; + xdata_scad = toFactura.DataScad, ; + xdescriere = toFactura.Detalii, ; + xdetalii_plata = Left(toFactura.Detaliiplata, 500), ; + xtotal_fara_tva = toFactura.TotalFaraTva, ; + xtotal_tva = toFactura.TotalTva, ; + xtotal_tva_ron = toFactura.TotalTvaRON, ; + xtotal_cu_tva = toFactura.TotalCuTva, ; + xdiscount_fara_tva = toFactura.DiscountFaraTVA, ; + xtaxe_fara_tva = toFactura.TaxeFaraTVA, ; + xvaloare_fara_tva = toFactura.ValoareFaraTVA, ; + xtotal_de_plata = toFactura.TotaldePlata, ; + xnume_valuta = toFactura.Valuta, ; + xfurnizor = toFactura.Furnizor, ; + xclient = toFactura.Client, ; + factura_detalii = toFactura.FacturaDetalii, ; + creditnote = toFactura.CreditNote, ; + cod_fiscal_emitent = IIF(EMPTY(NVL(cod_fiscal_emitent,'')), UPPER(ALLTRIM(GetNrFromString(NVL(toFactura.CodFiscalFurnizor,'')))), cod_fiscal_emitent), ; + cod_fiscal_beneficiar = IIF(EMPTY(NVL(cod_fiscal_beneficiar,'')), UPPER(ALLTRIM(GetNrFromString(NVL(toFactura.CodFiscalClient,'')))), cod_fiscal_beneficiar), ; + modificat = 1 ; + where id_incarcare = toFactura.cIdIncarcare + llSucces = .T. + + TABLEUPDATE(1,.F., m.lcCursor) + + RETURN m.llSucces + Endproc && cUpdateFactura + +***************** +* Adauga/actualizeaza un raspuns FACTURA PRIMITA/TRIMISA/EROARE in ANAF_EFACTURA +* Mesajul intoarce ANAF_EFACTURA.ID +* Intoarce SUCCES = .T. +***************** + Procedure UpdateRaspuns + Parameters toMesaj + Private pnId + pnId = 0 + + TEXT TO lcSql NOSHOW +BEGIN + pack_anaf.UpdateRaspuns(?.cIdIncarcare, + ?.dDataRaspuns, + ?.cMesajRaspuns, + ?.cTipMesajRaspuns, + ?.cIdDescarcare, + ?.cCodFiscalEmitent, + ?.cCodFiscalBeneficiar, + ?.cDetalii, + ?.nTest, + ?@pnId); +end; + ENDTEXT + With toMesaj + llSucces = goExecutor.oExecuta(m.lcSql) + Endwith + If m.llSucces + toMesaj.nId = m.pnId + Endif + + Return m.llSucces + Endproc && UpdateRaspuns + +***************** +* Actualizeaza un ANAF_EFACTURA.DETALII, DETALII_ZIP (arhiva xml efactura) dupa ce se descarca arhiva cu detaliile unui raspuns +* Intoarce SUCCES = .T. +***************** + Procedure UpdateRaspunsDetalii + Parameters pcIdDescarcare, pcDetalii, pcDetaliiZip + + Local lcSql, llSucces +* Fac update direct pe tabela in loc de pack_anaf.UpdateRaspunsDetalii, pentru ca da cateaodata eroare (BUG oracle) + llSucces = goExecutor.oExecuta('update anaf_efactura set detalii = ?pcDetalii, detalii_zip = ?pcDetaliiZip where id_descarcare = ?pcIdDescarcare') + + If .F. && am facut direct update pe tabela + lcSql = [BEGIN pack_anaf.UpdateRaspunsDetalii(?pcIdDescarcare, ?pcDetalii, ?pcDetaliiZip); end;] + llSucces = goExecutor.oExecuta(m.lcSql) + If !m.llSucces +* Da eroare cateodata, asa ca reincerc update direct pe tabela + If AMESSAGEBOX('Doriti sa reincercati actualizarea detaliilor?',4+32,_Screen.Caption) = 6 + llSucces = goExecutor.oExecuta('update anaf_efactura set detalii = ?pcDetalii, detalii_zip = ?pcDetaliiZip where id_descarcare = ?pcIdDescarcare') + Endif + Endif + Endif + + Return m.llSucces + Endproc && UpdateRaspunsDetalii + +***************** +* Marcheaza ANAF_EFACTURA.PROCESAT = 1 ca sa nu se mai descarce arhiva cu detaliile raspunsului, daca mesajul a fost procesat +***************** + Procedure UpdateProcesat + Parameters tcIdDescarcare, tnProcesat +* tnIdEfactura: ANAF_EFACTURA.ID_DESCARCARE +* tnProcesat: OPTIONAL, DEFAULT (1) + + Local lcSql, llSucces + Private pnProcesat + pnProcesat = Iif(!Empty(m.tnProcesat) And Type('tnProcesat') = 'N' And Inlist(m.tnProcesat,0,1), m.tnProcesat, 1) + + lcSql = [BEGIN pack_anaf.UpdateProcesat(?tcIdDescarcare, ?pnProcesat); END;] + + llSucces = goExecutor.oExecuta(m.lcSql) + Return m.llSucces + Endproc && UpdateProcesat + + ***************** + * Intoarce .T. daca un IdDescarcare a fost descarcat + ***************** + Function cIsDescarcat + Parameters tcIdIncarcare + Local llDescarcat + + IF SEEK(m.tcIdIncarcare, 'anaf_efactura', 'id_inc') + llDescarcat = (anaf_efactura.descarcat = 1) + ENDIF + + RETURN m.llDescarcat + Endfunc && cIsDescarcat + + ***************** + * Intoarce .T. daca un IdIncarcare a fost procesat + ***************** + Function cIsProcesat + Parameters tcIdIncarcare + Local llProcesat + + IF SEEK(m.tcIdIncarcare, 'anaf_efactura', 'id_inc') + llProcesat = (anaf_efactura.procesat = 1) + ENDIF + + RETURN m.llProcesat + Endfunc && cIsProcesat + + ***************** + * Completeaza raspunsuri.descarcat, filepath, dupa salvarea arhivei raspuns + ***************** + PROCEDURE cAddMesaj + PARAMETERS toMesaj + + LOCAL lcSql, llSucces + + + TEXT TO lcSql NOSHOW +merge into anaf_efactura a using dual b ON (a.id_incarcare = ?tcIdIncarcare) +when not matched then + INSERT (id_incarcare, id_descarcare) VALUES (?tcIdIncarcare, ?tcIdDescarcare) + ENDTEXT +*!* llSucces = goExecutor.oExecuta(m.lcSql) + +*!* IF m.llSucces + WITH toMesaj + IF !SEEK(.cIdIncarcare,'anaf_efactura', 'id_inc') + INSERT INTO anaf_efactura (id_incarcare, id_descarcare,tip_mesaj_raspuns,mesaj_raspuns,data_raspuns,cod_fiscal_emitent,cod_fiscal_beneficiar,factura_emisa,test) ; + VALUES (.cIdIncarcare, .cIdDescarcare, .cTipMesajRaspuns,.cMesajRaspuns,.dDataRaspuns,.cCodFiscalEmitent,.cCodFiscalBeneficiar,.nFacturaEmisa,.nTest) + + TABLEUPDATE(1,.F.,'ANAF_EFACTURA') + ENDIF + ENDWITH + llSucces = .T. +*!* ENDIF + RETURN m.llSucces + ENDPROC && AddMesaj + + ***************** + * Completeaza raspunsuri.descarcat, filepath, dupa salvarea arhivei raspuns + ***************** + PROCEDURE cUpdateDescarcat + PARAMETERS tcIdIncarcare, tnDescarcat, tcFilePath + + TEXT TO lcSql noshow +UPDATE anaf_efactura SET descarcat = ?tnDescarcat, filepath = ?tcFilePath WHERE id_incarcare = ?tcIdIncarcare + ENDTEXT + +*!* llSucces = goExecutor.oExecuta(m.lcSql) +*!* IF m.llSucces + UPDATE anaf_efactura SET descarcat = m.tnDescarcat, filepath = m.tcFilePath, modificat = 1 WHERE id_incarcare = m.tcIdIncarcare + + TABLEUPDATE(1,.F.,'ANAF_EFACTURA') + llSucces = .T. +*!* ENDIF + RETURN m.llSucces + ENDPROC + + ***************** + * Completeaza raspunsuri.descarcat, filepath, dupa salvarea arhivei raspuns + ***************** + PROCEDURE cUpdateProcesat + PARAMETERS tcIdIncarcare + + UPDATE anaf_efactura SET procesat = 1, modificat = 1 WHERE id_incarcare = m.tcIdIncarcare + + TABLEUPDATE(1,.F.,'ANAF_EFACTURA') + + llSucces = .T. + + RETURN m.llSucces + ENDPROC + + ***************** + * Completeaza anaf_efactura.procesat_server = 1, dupa procesarea arhivei pe servers sau in directorul din retea + ***************** + PROCEDURE cUpdateProcesatServer + PARAMETERS tcIdIncarcare + + UPDATE anaf_efactura SET procesat_server = 1, modificat = 1 WHERE id_incarcare = m.tcIdIncarcare + + TABLEUPDATE(1,.F.,'ANAF_EFACTURA') + llSucces = .T. + + RETURN m.llSucces + ENDPROC + + ***************** + * Completeaza anaf_efactura.detalii (continutul fisierului xml din raspuns) + ***************** + PROCEDURE cUpdateDetalii + PARAMETERS tcIdIncarcare, tcDetalii + + UPDATE anaf_efactura SET detalii = m.tcDetalii, modificat = 1 WHERE id_incarcare = m.tcIdIncarcare + + TABLEUPDATE(1,.F.,'ANAF_EFACTURA') + llSucces = .T. + + RETURN m.llSucces + ENDPROC + + + ***************** + * actualizeaza anaf_efactura + ***************** + PROCEDURE UpdateDb + LPARAMETERS tcCursor + + LOCAL lcSql, llSucces, lnSucces, lcSelect, lcCursor + + lcSelect = SELECT() + lcCursor = IIF(EMPTY(m.tcCursor), 'anaf_efactura', m.tcCursor) + + llSucces = .T. + + lnSucces = This.ConnectROA() + + IF m.lnSucces = CT_SUCCES + * Actualizez datele doar pentru facturile care nu au fost procesate (fie de catre server, fie de catre clienti) + SELECT * FROM (m.lcCursor) WITH (BUFFERING = .T.) WHERE modificat = 1 OR procesat = 0 INTO CURSOR crsUpdateTemp + + SELECT crsUpdateTemp + SCAN + SCATTER NAME loRec MEMO + lcText = 'Actualizare baza de date ' + ALLTRIM(STR(RECNO())) + '/' + ALLTRIM(STR(RECCOUNT())) + WAIT WINDOW m.lcText NOWAIT + This.Log(m.lcText) + llSucces = This.UpdateDbFactura(loRec) + + IF !m.llSucces + lcErrorMessage = This.cErrorMessage + IF LEN(m.lcErrorMessage) > 200 + IF This.lServer + WAIT WINDOW LEFT(m.lcErrorMessage,200) NOWAIT + ELSE + AMESSAGEBOX(m.lcErrorMessage,0+48,_Screen.Caption) + ENDIF + ELSE + WAIT WINDOW m.lcErrorMessage NOWAIT + ENDIF + + This.Log(m.lcErrorMessage) + IF !This.lServer + * daca imi da eroare la o factura, incerc sa le actualizez pe celelalte + IF AMESSAGEBOX('Continuati actualizarea celorlalte facturi in baza de date?',4+32,_screen.Caption) <> 6 + EXIT + ENDIF + ENDIF + ENDIF + ENDSCAN + + USE IN (SELECT('crsUpdateTemp')) + ENDIF && lnSucces + + lnSucces = This.DisConnectROA() + + SELECT (m.lcSelect) + RETURN m.llSucces + + ENDPROC && UpdateDb + + + ***************** + * actualizeaza o linie de factura in anaf_efactura + ***************** + PROCEDURE UpdateDbFactura + LPARAMETERS toFactura + * toFactura : obiect din anaf_efactura + + Local lcSql, llSucces, lcText + Local lcFacturaDetalii, lnIdEfactura, llZipDatabase + PRIVATE pcDetalii, pcDetaliiZip, pnId, pcDetaliiPlata + + lcText = StripNonAscii(NVL(toFactura.xdetalii_plata,''), '') + lcText = RemoveCharactersDB(m.lcText, .T.) + lcText = LEFT(ALLTRIM(m.lcText), 495) + toFactura.xdetalii_plata = m.lcText && LEFT(ALLTRIM(StripNonAscii(NVL(toFactura.xdetalii_plata,''), '')), 495) + + lcText = StripNonAscii(NVL(toFactura.xdescriere,''), '') + lcText = RemoveCharactersDB(m.lcText, .T.) + lcText = LEFT(ALLTRIM(m.lcText), 3995) + toFactura.xdescriere = m.lcText && LEFT(ALLTRIM(StripNonAscii(NVL(toFactura.xdescriere, ''), '')), 3995) + + lcText = StripNonAscii(NVL(toFactura.mesaj_raspuns,''), '') + lcText = RemoveCharactersDB(m.lcText, .T.) + lcText = LEFT(ALLTRIM(m.lcText), 250) + toFactura.mesaj_raspuns = m.lcText + + llZipDatabase = This.lZipDatabase && daca se salveaza zip efactura in baza de date + pnId = 0 + * Nu mai actualizez anaf_detalii in pack_anaf.UpdateFactura, pentru ca da eroare cateodata (cand sunt prea multe linii?) + * Actualizez separat liniile + pcDetalii = toFactura.Detalii + pcDetaliiZip = '' + + IF m.llZipDatabase AND TYPE('toFactura.filepath') = 'C' AND !EMPTY(NVL(toFactura.filepath,'')) AND FILE(NVL(toFactura.filepath,'')) + pcDetaliiZip = FILETOSTR(ALLTRIM(NVL(toFactura.filepath,''))) + ENDIF + lcFacturaDetalii = NVL(toFactura.factura_detalii, '') + toFactura.xnumar_act = RIGHT(ALLTRIM(toFactura.xnumar_act), 30) + toFactura.procesat = 1 && sa se actualizeze anaf_efactura.procesat + llSucces = .F. + + TEXT TO lcSql NOSHOW +begin + pack_anaf.AdaugaRaspunsFactura(v_id_incarcare => ?TRIM(.id_incarcare), + v_data_raspuns => ?.data_raspuns, + v_mesaj_raspuns => ?TRIM(.mesaj_raspuns), + v_tip_mesaj_raspuns => ?TRIM(.tip_mesaj_raspuns), + v_id_descarcare => ?TRIM(.id_descarcare), + v_cod_fiscal_emitent => ?TRIM(.cod_fiscal_emitent), + v_cod_fiscal_beneficiar => ?TRIM(.cod_fiscal_beneficiar), + v_detalii => ?.detalii, + v_test => ?.test, + v_numar_act => ?TRIM(.xnumar_act), + v_data_act => ?.xdata_act, + v_data_scad => ?.xdata_scad, + v_furnizor => ?TRIM(.xfurnizor), + v_client => ?TRIM(.xclient), + v_descriere => ?TRIM(LEFT(.xdescriere,3995)), + v_detalii_plata => ?.xdetalii_plata, + v_total_fara_tva => ?.xtotal_fara_tva, + v_total_tva => ?.xtotal_tva, + v_total_tva_ron => ?.xtotal_tva_ron, + v_total_cu_tva => ?.xtotal_cu_tva, + v_discount_fara_tva => ?.xdiscount_fara_tva, + v_taxe_fara_tva => ?.xtaxe_fara_tva, + v_valoare_fara_tva => ?.xvaloare_fara_tva, + v_total_de_plata => ?.xtotal_de_plata, + v_nume_valuta => ?TRIM(.xnume_valuta), + v_descarcat => ?.descarcat, + v_filepath => ?.filepath, + v_procesat_server => ?.procesat_server, + v_procesat => ?.procesat, + v_xmldetalii => ?.factura_detalii, + v_creditnote => ?.creditnote, + V_ID_EFACTURA => ?@pnId); +end; + ENDTEXT + + + * Daca len(FacturaDetalii) > 5000, da eroare si trebuie sa actualizez separat + IF LEN(m.lcFacturaDetalii) < 5000 AND LEN(m.pcDetalii) < 5000 + WITH toFactura + lnSucces = goExecutor.oExecute(m.lcSql) + llSucces = (m.lnSucces = CT_SUCCES) + ENDWITH + + IF !m.llSucces + SET STEP ON + This.lError = .T. + This.cErrorMessage = goExecutor.cEroare + ENDIF + + IF m.llSucces AND m.llZipDatabase AND !EMPTY(m.pcDetaliiZip) + * Fac update direct pe tabela in loc de pack_anaf.UpdateRaspunsDetalii, pentru ca da cateodata eroare (BUG oracle) + lcSql = 'update anaf_efactura set detalii_zip = ?pcDetaliiZip where id = ?pnId' + lnSucces = goExecutor.oExecute(m.lcSql) + llSucces = (m.lnSucces = CT_SUCCES) + IF !m.llSucces + + This.lError = .T. + This.cErrorMessage = goExecutor.cEroare + ENDIF + ENDIF + ENDIF && len + + ********************************************* + * Daca da eroare, mai incerc o data fara transmiterea detalii factura = lista articole. + * Articolele le salvez separat + IF !m.llSucces + * ORA-01460 + toFactura.factura_detalii = '' + toFactura.detalii = '' + + WITH toFactura + lnSucces = goExecutor.oExecute(m.lcSql) + llSucces = (m.lnSucces = CT_SUCCES) + ENDWITH + + IF !m.llSucces + SET STEP ON + This.lError = .T. + This.cErrorMessage = goExecutor.cEroare + ELSE + * Adaug fiecare linie in anaf_efactura_detalii pentru ca cateodata se blocheaza Oracle BUG, daca este > 4.000 caractere + llSucces = This.UpdateFacturaDetalii(m.pnId, m.lcFacturaDetalii) + ENDIF + + IF m.llSucces + * Fac update direct pe tabela in loc de pack_anaf.UpdateRaspunsDetalii, pentru ca da cateodata eroare (BUG oracle) + lcSql = 'update anaf_efactura set detalii = ?pcDetalii' + IIF(m.llZipDatabase and !EMPTY(m.pcDetaliiZip), ', detalii_zip = ?pcDetaliiZip', '') + ' where id = ?pnId' + lnSucces = goExecutor.oExecute(m.lcSql) + llSucces = (m.lnSucces = CT_SUCCES) + + IF !m.llSucces + SET STEP ON + This.lError = .T. + This.cErrorMessage = goExecutor.cEroare + ENDIF + ENDIF + ENDIF + + IF !m.llSucces + lcErrorMessage = 'UpdateDb Eroare la actualizarea datelor facturii pe server anaf_efactura.id = ' + TRANSFORM(m.pnId) + ' numar = ' + TRANSFORM(toFactura.xnumar_act) + CHR(13) + CHR(10) + ; + This.cErrorMessage + This.cErrorMessage = m.lcErrorMessage + This.lError = .T. + This.Log(m.lcErrorMessage) + ENDIF + + RETURN m.llSucces + + ENDPROC && UpdateDb + + ************************* + *** Adaug linii una cate una, din cauza ca uneori are eroare la UpdateFactura cu toate detaliile, cand sunt prea multe linii poate? + ************************* + Procedure UpdateFacturaDetalii + Parameters tnIdEfactura, tcFacturaDetalii + * tnIdEfactura: Id efactura + * tcFacturaDetalii: xml detalii factura + + Local lcSql, llSucces, lnCount, lnRec, lnRecs + Private poRec + + llSucces = .T. + lnCount = 0 + + * Verific daca exista deja introduse linii factura. Nu mai introduc + lcSql = "select count(*) from ANAF_EFACTURA_DETALII WHERE ID_EFACTURA = ?tnIdEfactura" + llSucces = goExecutor.oSelecteaza2Value(m.lcSql, @lnCount) + If Nvl(m.lnCount,0) > 0 + Return m.llSucces + Endif + + TEXT TO lcSql NOSHOW + INSERT INTO ANAF_EFACTURA_DETALII (ID_EFACTURA, NR, ARTICOL, DESCRIERE, DETALII, UM, CANTITATE, PRET, PROCTVA, TIPTVA, VALOAREFARATVA, DISCOUNTFARATVA) + VALUES (?tnIdEfactura, ?.NR, ?.ARTICOL, ?.DESCRIERE, ?.DETALII, ?.UM, ?.CANT, ?.PRET, ?.PROCTVA, ?.TIPTVA, ?.VALOAREFARATVA, ?.DISCOUNTFARATVA) + ENDTEXT + + + TRY + lnRecs = Xmltocursor(tcFacturaDetalii, "cFacturaDetaliiTemp") + + Select cFacturaDetaliiTemp + Scan + Scatter Name poRec Memo + Wait Window 'eFactura ID ' + Alltrim(Str(m.tnIdEfactura)) + ' Salvare articol ' + Alltrim(Str(Recno())) + '/' + Alltrim(Str(m.lnRecs)) + ' ...' Nowait + + With poRec + .descriere = RemoveCharactersDB(.descriere, .T.) + .descriere = LEFT(ALLTRIM(.descriere), 300) + .articol = RemoveCharactersDB(.articol, .T.) + .articol = LEFT(ALLTRIM(.articol), 300) + + lnSucces = goExecutor.oExecute(m.lcSql) + llSucces = (m.lnSucces = CT_SUCCES) + If !m.llSucces + This.cErrorMessage = goExecutor.cEroare + This.lError = .T. + Exit + Endif + Endwith + Endscan + + Use In (Select('cFacturaDetaliITemp')) + CATCH TO loEx + This.Log('tcFacturaDetalii ' + tcFacturaDetalii) + ENDTRY + + Return m.llSucces + + Endproc && UpdateFacturaDetalii + +**************** +* Genereaza pdf din xml eFactura pe serverul ANAF +**************** + Procedure xml2PdfAnaf + Lparameters tcFile, tcFisierPdf, tlVariable +* tcXml: xml eFactura +* tcFisierPdf : (optional) calea catre fisierul Pdf generat. Altfel, se intreaba utilizatorul +* tlVariable: .T. daca tcFile este o variabila cu continutul xml efactura + + Local loHTTP As 'winHTTP.winHTTPrequest.5.1' + Local loReturn As "empty" + Local lcMesaj, lcSend, lcServer, lcStare, llValid, lnBytes, lnMesaj, lnMesaje, loJson, loMessage, lcTip, lcToken + + loReturn = Createobject("empty") + AddProperty(loReturn, "lSucces", .F.) + AddProperty(loReturn, "cFile", '') + AddProperty(loReturn, "cResponse", '') + AddProperty(loReturn, "cResponseBody", '') + AddProperty(loReturn, "nStatus", 0) + AddProperty(loReturn, "cFilePdf", '') + If !Empty(m.tcFisierPdf) + loReturn.cFilePdf = m.tcFisierPdf + Endif + + lcSend = '' + If m.tlVariable + lcSend = m.tcFile + Else + If File(m.tcFile) + lcSend = Filetostr(m.tcFile) + Endif + ENDIF + lcTip = 'FACT1' + IF 'CreditNote'$m.lcSend + lcTip = 'FCN' + ENDIF + lcToken = This.cToken + +*!* lcServer = [https://webservicesp.anaf.ro/prod/FCTEL/rest/transformare/] + m.lcTip + [/DA] && serviciu neautentificat + lcServer = [https://api.anaf.ro/prod/FCTEL/rest/transformare/] + m.lcTip + [/DA] && serviciu autentificat + + loHTTP = Createobject('winHTTP.winHTTPrequest.5.1') + loHTTP.Open('POST', lcServer, .F.) + loHTTP.setRequestHeader("Content-Type", "text/plain") + loHTTP.setRequestHeader('Authorization', 'Bearer ' + m.lcToken) && 9b1f44af738c16aa10c78347b9a064857f034b03a20704a03c131b99f019cee5 + + Try + This.Log(m.lcServer) + Catch + Endtry + + + +* Elimin caracterele Chr(13), Chr(10) +* Da eroare la serviciul ANAF + lcSend = Strtran(m.lcSend, [ ], []) + +* Sterg xsi:schemaLocation pentru ca poate da request rejected +* xsi:schemaLocation="urn:oasis:names:specification:ubl:schema:xsd:Invoice-2 ../../UBL-2.1(1)/xsd/maindoc/UBL-Invoice-2.1.xsd" + lcXsi = Strextract(lcSend, [xsi:schemaLocation="], [.xsd"], 1, 1) + lcSend = Strtran(m.lcSend, m.lcXsi, '', 1, 1, 1) + loHTTP.Send(m.lcSend) + + loReturn.nStatus = loHTTP.Status + loReturn.cResponse = loHTTP.ResponseText + loReturn.cResponseBody = loHTTP.ResponseBody + loReturn.lSucces = (loHTTP.Status = 200) + lcMesaj = '' + + If loReturn.lSucces + Do Case + Case ["stare"] $ Lower(loReturn.cResponse) +* Daca nu este valid xml + loJson = nfjsonread(loReturn.cResponse) + If Type('loJson.stare') = 'C' And !Empty(loJson.stare) + lcStare = Alltrim(Lower(loJson.stare)) + llValid = (m.lcStare == 'ok') + If !m.llValid + If Type('loJson.messages_vfpsafe_') = 'U' + lcMesaj = 'Fisierul nu s-a validat. Nu exista informatia [messages] in raspuns. ' + Chr(13) + Chr(10) + loReturn.cResponse + Else + lnMesaje = Alen(loJson.messages_vfpsafe_) + lcMesaj = '' + For lnMesaj = 1 To m.lnMesaje + loMessage = loJson.messages_vfpsafe_[m.lnMesaj] + If Type('loMessage.message') = 'C' + lcMesaj = lcMesaj + loMessage.Message + Chr(13) + Chr(10) + Endif + Endfor + Endif && messages + Endif && llValid + Endif + If !Empty(m.lcMesaj) + lcErrorMessage = 'XML2PDFANAF ' + m.lcMesaj + This.cErrorMessage = m.lcErrorMessage + This.lError = .T. + This.Log(m.lcErrorMessage) + Endif + Case 'request rejected' $ Lower(loReturn.cResponse) + lcErrorMessage = 'XML2PDFANAF Fisierul nu s-a validat.' + CRLF + loReturn.cResponse + This.cErrorMessage = m.lcErrorMessage + This.lError = .T. + This.Log(m.lcErrorMessage) + + Otherwise +* Daca este valid xml + If Empty(loReturn.cFilePdf) + loReturn.cFilePdf = Putfile('Fisier pdf', 'efactura.pdf', 'pdf') + Endif + + Try + Delete File loReturn.cFilePdf + Endtry + lnBytes = Strtofile(loReturn.cResponseBody, loReturn.cFilePdf) + This.Log('XML2PDFANAF ' + loReturn.cFilePdf) + + Endcase + Endif && loReturn.lSucces + + Return loReturn.cFilePdf + Endproc && Xml2PdfAnaf + + ********************* + * Trimite fisiere xml eFactura in SPV + ********************* + PROCEDURE VizSPV + +* [{"id":"100000000","detalii":"recipisa pentru CIF 8000000000, tip D112, numar_inregistrare INTERNT-130000000-2017/20-12-2017, perioada raportare 11.2017","cif":"8000000000","data_creare":"20.12.2017 12:00:00","id_solicitare":null,"tip":"RECIPISA"}],"cnp":"1111111111118","cui":"8000000000,8000000001,8000000002","serial":"xxxxxxxxxxxxxxxxxxx"} + +*!* CREATE CURSOR cMesajeSPV (ales N(1), id V(32), detalii V(250) null, cif V(20) null, data_creare T null, id_solicitare V(32) null, tip V(50) null, atasament W null, descarcat N(1), citit N(1), arhivat N(1)) +*!* lcSql = [select id, cif, data_creare, detalii, id_solicitare, tip, '' as atasament, citit, arhivat, descarcat from anaf_spv ] + ; +*!* IIF(!EMPTY(m.tnArhivat) and m.tnArhivat = 1, "", "where arhivat=0") +*!* llSucces = goExecutor.oExecuta(m.lcSql, 'cMesajeSPVTemp') + +*!* SELECT cMesajeSPV +*!* APPEND FROM DBF('cMesajeSPVTemp') +*!* INDEX on ID TAG Id DESCENDING +*!* USE IN (SELECT('cMesajeSPVTemp')) + + Local loFrmSPV As "anaf_spv" + Local lcFiltru, lcFiltruOriginal, lcGroup, lcOrder, lcSchema, lcSelect, llAfisare, llModParam + PRIVATE poMesaje + + lcSelect=[select 0 as ales, id, detalii, cif, data_creare, id_solicitare, tip, '' as atasament, citit, arhivat, descarcat from anaf_spv] + lcFiltru=[arhivat=0] + lcSchema=[ales N(1), id V(32), detalii V(250) null, cif V(20) null, data_creare T null, id_solicitare V(32) null, tip V(50) null, atasament W null, citit N(1), arhivat N(1), descarcat N(1)] + lcOrder=[data_creare desc] + llAfisare=.F. + lcGroup = [] + llModParam = .T. + lcFiltruOriginal = [] + poMesaje = null + gencursor('poMesaje','cMesajeSPV', m.lcSelect, m.lcFiltru, m.lcSchema, m.lcOrder, m.llAfisare, m.lcGroup, m.llModParam, m.lcFiltruOriginal) + poMesaje.ca_baza1.afisare() + + SELECT cMesajeSPV + loFrmSPV = CREATEOBJECT("anaf_spv", This) + loFrmSPV.Show(1) + + USE IN (SELECT('cMesajeSPV ')) + ENDPROC && VizSPV + + ***************** + * Citeste lista de mesaje din SPV si salveaza in baza de date + ***************** + PROCEDURE GetSPV + + Local loHTTP As "MSXML2.XMLHTTP" + Local lcCIF, lcDetaliiMesaj, lcErrorMessage, lcIdMesaj, lcIdSolicitare, lcMesaj, lcResponse, lcTip + Local llSucces, loEx, loJson, loMesaj, ltDataCreare + LOCAL lcCodFiscal, lcURL, lnZile, lcZile, loEx as Exception + + DECLARE INTEGER InternetSetOption IN "wininet.dll" ; + INTEGER hInternet, INTEGER dwOption, STRING lpBuffer, INTEGER dwBufferLength + + #DEFINE INTERNET_OPTION_END_BROWSER_SESSION 42 + + * Clear SSL cache by ending the browser session + =InternetSetOption(0, INTERNET_OPTION_END_BROWSER_SESSION, 0, 0) + + lnZile = 1000 + lcZile = ALLTRIM(STR(m.lnZile)) + lcCodFiscal = ALLTRIM(NVL(This.cCodFiscal, '')) + lcURL = "https://webserviced.anaf.ro/SPVWS2/rest/listaMesaje?zile=" + m.lcZile + "&cif=" + m.lcCodFiscal + + llSucces = .F. + TRY + loHTTP = Createobject("MSXML2.XMLHTTP") + loHTTP.Open("GET", lcURL , .F.) + loHTTP.setRequestHeader("content-type", "text/plain") + loHTTP.Send() + llSucces = .T. + CATCH TO loEx + This.cErrorMessage = loEx.message + This.lError = .T. + ENDTRY + llSucces = .T. + lcMesaj = '' + * Verificam statusul raspunsului + IF TYPE('loHttp') = 'O' AND loHttp.Status <> 200 + * Daca cererea HTTP a esuat + lcMesaj = "Eroare la conectarea la server: " + TRANSFORM(loHttp.Status) + This.cErrorMessage = m.lcMesaj + This.lError = .T. + llSucces = .F. + ENDIF + + * Preluam raspunsul JSON + IF m.llSucces + lcResponse = loHttp.ResponseText + IF ATC('', m.lcResponse) > 0 + llSucces = .F. + DO CASE + CASE ATC('utilizator neautorizat', m.lcResponse) > 0 + lcMesaj = 'Utilizator neautorizat. Posibile cauze: parola eronata sau certificat fara drepturi.' + CASE ATC('certificatul nu a fost prezentat', m.lcResponse) > 0 + lcMesaj = 'Certificatul nu a fost prezentat.' + + OTHERWISE + lcMesaj = 'Eroare certificat' + ENDCASE + This.cErrorMessage = m.lcMesaj + This.lError = .T. + ENDIF + ENDIF + + IF m.llSucces + * Transformam raspunsul JSON intr-un obiect FoxPro + TRY + loJson = nfjsonread(m.lcResponse) + CATCH TO loEx + llSucces = .F. + lcErrorMessage = 'GetSPV ' + LF + ' Eroare: ' + TRANSFORM(loEx.ErrorNo) + ' ' + loEx.Message + ' Continut:' + loEx.LineContents + + ' Linia: ' + TRANSFORM(loEx.LineNo) + ' Program: ' + loEx.Procedure + This.cErrorMessage = m.lcErrorMessage + This.lError = .T. + This.Log(m.lcErrorMessage) + ENDTRY + + * Verificam daca exista mesaje disponibile + IF TYPE("loJson.mesaje") <> "U" + * Daca avem mesaje, le salvam intr-un array +*!* laMesaje = loJson.mesaje +*!* lnMesajeCount = ALEN(laMesaje, 1) + + * Iteram prin lista de mesaje si descarcam fiecare mesaj + lnMesaje = 0 + FOR EACH loMesaj IN loJson.mesaje + lnMesaje = lnMesaje + 1 + *i = 1 TO lnMesajeCount +*!* lcIdMesaj = laMesaje[i].id +*!* lcDetaliiMesaj = laMesaje[i].detalii + lcIdMesaj = loMesaj.id + lcDetaliiMesaj = loMesaj.detalii + lcTip = loMesaj.tip + lcCIF = loMesaj.cif + ltDataCreare = CTOT(loMesaj.data_creare) + lcIdSolicitare = loMesaj.id_solicitare + WAIT WINDOW 'Mesaj: ' + ALLTRIM(STR(m.lnMesaje)) + ' ' + m.lcTip NOWAIT + + llSucces = This.UpdateDbSPV(m.loMesaj) +*!* IF !SEEK(m.lcIdMesaj, 'cMesajeSPV', 'id') +*!* +*!* INSERT INTO cMesajeSPV (id, detalii, tip, cif, data_creare, id_solicitare) VALUES (m.lcIdMesaj, m.lcDetaliiMesaj, m.lcTip, m.lcCIF, m.ltDataCreare, m.lcIdSolicitare) +*!* SELECT cMesajeSPV +*!* IF SEEK(m.lcIdMesaj) +*!* SCATTER NAME loMesaj MEMO +*!* llSucces = This.UpdateDbSPV(m.loMesaj) +*!* ENDIF +*!* ENDIF + ENDFOR +*!* GO TOP IN cMesajeSPV + WAIT WINDOW ALLTRIM(STR(m.lnMesaje)) + ' mesaje verificate/adaugate' NOWAIT + ELSE + * Daca nu exista mesaje + lcMesaj = "Nu exista mesaje disponibile in ultimele " + lcZile + " zile." + ENDIF + ENDIF && llSucces + + IF !This.lServer AND !EMPTY(This.cErrorMessage) + AMESSAGEBOX(This.cErrorMessage, 0+48, _screen.Caption) + ENDIF + + RETURN m.llSucces + + ENDPROC && GetSPV + + *************************** + * Salveaza un mesaj SPV in baza de date anaf_spv + *************************** + PROCEDURE UpdateDbSPV + LPARAMETERS toMesaj + + Local lcSql, llSucces + PRIVATE pcCIF, pcDetalii, pcId, pcIdSolicitare, pcTip, ptDataCreare + + TEXT TO lcSql NOSHOW + merge into anaf_spv a using dual b ON (a.id = ?pcId) + when not matched then + INSERT (id, detalii, tip, cif, data_creare, id_solicitare) VALUES (?pcId, ?pcDetalii, ?pcTip, ?pcCIF, ?ptDataCreare, ?pcIdSolicitare) + ENDTEXT + WITH toMesaj + pcId = ALLTRIM(.id) + pcDetalii = ALLTRIM(.detalii) + pcTip = ALLTRIM(.tip) + pcCIF = ALLTRIM(.cif) + ptDataCreare = CTOT(.data_creare) + pcIdSolicitare = ALLTRIM(.id_solicitare) + ENDWITH + + llSucces = goExecutor.oExecuta(m.lcSql) + IF !m.llSucces + goLog.Log(NVL(pcId, '') + ' ' + NVL(pcTip, '') + ' ' + NVL(pcCIF, '') + ' ' + TRANSFORM(NVL(ptDataCreare, {})) + ' ' + NVL(pcIdSolicitare, '') + ' ' + NVL(pcDetalii, '')) + SET STEP ON + ENDIF + RETURN m.llSucces + ENDPROC && UpdateDbSPV + + *************************** + * Salveaza atasamentul pentru un mesaj SPV in baza de date anaf_spv + *************************** + PROCEDURE UpdateDbSPVFile + PARAMETERS tcIdMesaj, tcContinut, tcFileName + * tcIdMesaj: Id mesaj SPV + * tcContinut: continutul pdf/zip mesaj + + Local lcSql, llSucces + + lcSql = [UPDATE anaf_spv SET atasament = ?tcContinut, filename = ?tcFileName, descarcat = 1 WHERE id = ?tcIdMesaj] + + llSucces = goExecutor.oExecuta(m.lcSql) + IF !m.llSucces + goLog.Log(TRANSFORM(NVL(tcContinut, '')) + ' ' + TRANSFORM(NVL(tcIdMesaj, '')) + ' ' + TRANSFORM(m.tcFileName)) + SET STEP ON + ENDIF + RETURN m.llSucces + ENDPROC && UpdateDbSPVFile + + **************** + * Actualizeaza anaf_spv.citit, descarcat, arhivat + **************** + PROCEDURE UpdateSPV + LPARAMETERS tcIdMesaj, tcAtribut, tnValoare + + lcSql = [update anaf_spv set ] + m.tcAtribut + [ = ] + ALLTRIM(STR(m.tnValoare)) + [ where id = ] + ALLTRIM(m.tcIdMesaj) + llSucces = goExecutor.oExecuta(m.lcSql) + RETURN m.llSucces + ENDPROC + + ***************** + * Descarca atasamentul pdf al unui mesaj din SPV si il salveaza pe disc + ***************** + PROCEDURE DescarcaDetaliiSPV + LPARAMETERS tcIdMesaj + * tnIdMesaj (optional): Id mesaj, altfel se descarca mesajele cMesajeSPV.ales = 1 + * ttDataCreare, tcTip (optional): pentru numele fisierului + + Local loHTTP As "MSXML2.XMLHTTP" + Local lcDirectory, lcIdMesaj, lcPdfData, lcPdfFileName, lcRecc, lcUrlDescarcare + Local lcData, lcDataCreare, lcExtensie, lcFileName, lcFiltru, lcTip, llSucces, lcIdMesaj + + lcIdMesaj = IIF(!EMPTY(m.tcIdMesaj), ALLTRIM(m.tcIdMesaj), '') + + +*!* ****************** +*!* DECLARE INTEGER InternetSetOption IN "wininet.dll" ; +*!* INTEGER hInternet, INTEGER dwOption, STRING lpBuffer, INTEGER dwBufferLength + +*!* #DEFINE INTERNET_OPTION_END_BROWSER_SESSION 42 +*!* * Clear SSL cache by ending the browser session +*!* =InternetSetOption(0, INTERNET_OPTION_END_BROWSER_SESSION, 0, 0) +*!* ****************** + IF this.lServer + lcDirectory = This.cResponsesPath + 'SPV' + '\' + Dtos(Date()) + '\' + ELSE + lcDirectory = GetPdfPath('SPV') + ENDIF + + lcFiltru = 'descarcat = 0' + DO CASE + CASE !EMPTY(m.lcIdMesaj) + lcFiltru = 'id = lcIdMesaj' + OTHERWISE + SELECT * FROM cMesajeSPV WHERE ales = 1 INTO CURSOR cMesajeSelectateTemp + IF _tally > 0 + lcFiltru = 'ales = 1' + ENDIF + USE IN (SELECT('cMesajeSelectateTemp')) + ENDCASE + + SELECT * FROM cMesajeSPV WHERE &lcFiltru INTO CURSOR cMesajeTemp NOFILTER + + lcRecc = TRANSFORM(RECCOUNT('cMesajeTemp')) + + llSucces = .F. + TRY + loHTTP = Createobject("MSXML2.XMLHTTP") + llSucces = .T. + CATCH TO loEx + This.cErrorMessage = loEx.message + This.lError = .T. + IF !This.lServer + AMESSAGEBOX('Eroare ' + This.cErrorMessage,0+48, _Screen.Caption) + ENDIF + ENDTRY + + IF m.llSucces AND TYPE('loHttp') = 'O' + This.lError = .F. + SELECT cMesajeTemp + SCAN + lcIdMesaj = ALLTRIM(id) + lcDataCreare = TTOC(data_creare,1) + lcTip = ALLTRIM(tip) + lcDetalii = ALLTRIM(detalii) + llSucces = .T. + + WAIT WINDOW TRANSFORM(RECNO()) + '/' + m.lcRecc NOWAIT + + * Construim URL-ul pentru descarcarea mesajului + lcUrlDescarcare = "https://webserviced.anaf.ro/SPVWS2/rest/descarcare?id=" + m.lcIdMesaj + + * Facem cererea pentru descarcarea mesajului PDF + + llSucces = .F. + TRY + loHttp.Open("GET", m.lcUrlDescarcare, .F.) + loHttp.Send() + llSucces = .T. + CATCH TO loEx + This.cErrorMessage = loEx.message + This.lError = .T. + IF !This.lServer + AMESSAGEBOX('Eroare ' + This.cErrorMessage,0+48, _Screen.Caption) + ENDIF + ENDTRY + + * Verificam statusul descarcarii + IF m.llSucces AND loHttp.Status = 200 + + * Verific daca raspunsul contine un mesaj de eroare in html + lcResponse = loHttp.ResponseText + DO CASE + CASE ATC('', m.lcResponse) > 0 + llSucces = .F. + DO CASE + CASE ATC('utilizator neautorizat', m.lcResponse) > 0 + lcMesaj = 'Utilizator neautorizat. Posibile cauze: parola eronata sau certificat fara drepturi.' + CASE ATC('certificatul nu a fost prezentat', m.lcResponse) > 0 + lcMesaj = 'Certificatul nu a fost prezentat.' + + OTHERWISE + lcMesaj = 'Eroare certificat' + ENDCASE + This.cErrorMessage = m.lcMesaj + This.lError = .T. + WAIT WINDOW "Eroare la descarcarea mesajului " + m.lcIdMesaj + ' : ' + m.lcMesaj NOWAIT + IF !This.lServer + AMESSAGEBOX("Eroare la descarcarea mesajului " + m.lcIdMesaj + ' : ' + m.lcMesaj + '!',0+48,_Screen.Caption) + EXIT + ENDIF + CASE LEFT(m.lcResponse, 1) = "{" +*!* {"titlu":"Descarcare mesaj","eroare":"A aparut o eroare tehnica. Cod: 2000"} + lcMesaj = GetRegExp(m.lcResponse, '(?<="eroare":")[^"]+', 1) + This.cErrorMessage = m.lcMesaj + This.lError = .T. + WAIT WINDOW "Eroare la descarcarea mesajului " + m.lcIdMesaj + ' : ' + m.lcMesaj NOWAIT + IF !This.lServer + AMESSAGEBOX("Eroare la descarcarea mesajului " + m.lcIdMesaj + ' : ' + m.lcMesaj + '!',0+48,_Screen.Caption) + EXIT + ENDIF + OTHERWISE + * Obtinem continutul PDF/ZIP + lcResponse = loHttp.ResponseBody + ENDCASE + + + * Salvam fisierul PDF/zip pe disc + *detalii: recipisa pentru CIF 1879855, tip D300, numar_inregistrare INTERNT-767970463-2024/16-08-2024, perioada raportare 7.2024 + lcTipD = GetRegExp(m.lcDetalii, ", tip ([^,]+)", 1) && obtin Tip declaratie ",tip D300," + lcTipD = ALLTRIM(STRTRAN(m.lcTipD, ", tip", "",1,1,1)) + lcTipD = IIF(!EMPTY(m.lcTipD), '_' + ALLTRIM(m.lcTipD), '') + + lcPerioadaR = GetRegExp(m.lcDetalii, "perioada raportare (\d+\.\d+)", 1) && perioada raportare "7.2024" + lcPerioadaR = ALLTRIM(STRTRAN(m.lcPerioadaR, "perioada raportare", "",1,1,1)) + lcPerioadaR = IIF(!EMPTY(m.lcPerioadaR), '_' + ALLTRIM(m.lcPerioadaR), '') + + lcExtensie = IIF(This.lError, 'html', IIF(LOWER(LEFT(loHttp.responseText, 4)) = '%pdf', 'pdf', 'zip')) + lcFileName = m.lcDirectory + "mesaj_spv_" + m.lcIdMesaj + "_" + m.lcDataCreare + "_" + m.lcTip + m.lcTipD + m.lcPerioadaR + "." + m.lcExtensie + + STRTOFILE(m.lcResponse, m.lcFileName, 0) + IF m.llSucces + * Salvez atasamentul in baza de date + llSucces = This.UpdateDbSPVFile(m.lcIdMesaj, m.lcResponse, JUSTFNAME(m.lcFileName)) + ENDIF + IF m.llSucces + UPDATE cMesajeSPV SET descarcat = 1 WHERE id = m.lcIdMesaj + ENDIF + * Afisam un mesaj de succes + WAIT WINDOW "Mesajul " + m.lcIdMesaj + " descarcat cu succes: " + m.lcFileName NOWAIT + ELSE + * Daca apare o eroare la descarcare, afisam mesajul de eroare + WAIT WINDOW "Eroare la descarcarea mesajului " + m.lcIdMesaj NOWAIT + ENDIF + ENDSCAN && cMesajeTemp + ENDIF && llSucces + + USE IN (SELECT('cMesajeTemp')) + + IF !This.lServer + open_default_app(m.lcDirectory) + ENDIF + + ENDPROC && DescarcaDetaliiSPV + + ************* + * Deschide directorul cu atasamente SPV si atasamentul dorit, dupa id mesaj + ************* + PROCEDURE DeschideAtasamentSPV + LPARAMETERS tcIdMesaj + + PRIVATE pcIdMesaj + Local laFiles[1], lcDirectory, lcFile, lcFileSkeleton, lcFiltru, lcFiltruOriginal, lcFisier, lcId + Local lcOrder, lcSchema, lcSelect, lcgroup, llAfiseaza, llModParam, lnFile, lnFiles + + pcIdMesaj = tcIdMesaj + + IF this.lServer + lcDirectory = This.cResponsesPath + 'SPV' + '\' + Dtos(Date()) + '\' + ELSE + lcDirectory = GetPdfPath('SPV') + ENDIF + lcDirectory = ADDBS(m.lcDirectory) + + lcFileSkeleton = m.lcDirectory + '*' + ALLTRIM(m.tcIdMesaj) + '*.*' + lnFiles = ADIR(laFiles, m.lcFileSkeleton) + IF m.lnFiles > 0 + open_default_app(m.lcDirectory) + + FOR lnFile = 1 TO m.lnFiles + lcFile = m.lcDirectory + laFiles[m.lnFile,1] + IF FILE(m.lcFile) + open_default_app(m.lcFile) + ENDIF + ENDFOR + ELSE + * daca nu sunt fisiere pe disk, descarc din baza de date + PRIVATE poDetaliiZip + poDetaliiZip = null + + lcSchema = [id V(36), fisier W, filename V(100)] + lcSelect = [select id, atasament, filename from anaf_spv where id = ?pcIdMesaj] + lcOrder = [] + lcgroup = [] + lcFiltru = [] + lcFiltruOriginal = [] + llModParam = .T. + llAfiseaza = .F. + + gencursor('poDetaliiZip','cRegFisierTemp', lcSelect, lcFiltru, lcSchema, lcOrder, llAfiseaza, lcgroup, llModParam, lcFiltruOriginal) + poDetaliiZip.ca_baza1.afisare() + If Used('cRegFisierTemp') + lcId= ALLTRIM(NVL(id, '')) + lcFisier = fisier + lcFileName = IIF(!EMPTY(NVL(filename, '')), ALLTRIM(NVL(filename, '')), m.pcIdMesaj + '.pdf') + Use In (Select('cRegFisierTemp')) + + lcFile = PUTFILE('Fisier', m.lcFileName, JUSTEXT(m.lcFileName)) + IF !EMPTY(m.lcFile) + Strtofile(lcFisier, m.lcFile) + open_default_app(JUSTPATH(m.lcFile)) + open_default_app(m.lcFile) + ENDIF + Endif + ENDIF + + ENDPROC && DeschideAtasamentSPV + +Enddefine && ANAFeFacturaServer + +Procedure viz_borderou_efactura + LOCAL loAnafeFactura + If !m.glEfactura + AMESSAGEBOX('Trebuie activata functionalitatea eFactura!', 0 + 48, _Screen.Caption) + Return + Endif +* gcAcces = [1;2;3;4;5;6] + loAnafeFactura = Createobject("ANAFeFactura") + loAnafeFactura.vizeFactura() +ENDPROC + +***************************** +PROCEDURE viz_efactura_xml + LOCAL loAnafeFactura + + loAnafeFactura = CREATEOBJECT("AnafeFacturaServer") + loAnafeFactura.vizeFacturaXml() +ENDPROC && viz_efactura_xml + +***************************** +PROCEDURE viz_spv + + LOCAL loAnafeFactura + loAnafeFactura = CREATEOBJECT("AnafeFacturaServer") + loAnafeFactura.VizSPV() +ENDPROC && viz_spv + +Define Class ANAFeFactura As Custom + + AnafeFacturaServer = null + + token = '' + refresh_token = '' + token_gendate = {} + token_expdate = {} + codfiscal = '' && cod fiscal contribuabil fara atribut fiscal + lTest = .F. && .T. = transmite eFactura TEST + cResponsesPath = '' + + Procedure Init + this.AnafeFacturaServer = Createobject('AnafeFacturaServer') + + This.codfiscal = IIF(TYPE('goFirma') = 'O', gofirma.codfiscalfro, '') + This.cResponsesPath = GetPdfPath('EFACTURA') && ADDBS(m.gcEFACTURA_RESPONSESPATH) && RASPUNSURI daca se descarca automat cu ROAEFACTURA + + Endproc && Init + + Procedure vizeFactura + Local lcToken + Local loFrmBorderou As "frm_borderou_efactura" + Local lcFiltru, lcFiltruOriginal, lcOrder, lcSchema, lcSelect, lcgroup, llAfiseaza, llModParam, lcData1, lnInregistrariAfisare + Local lcSqlCount, llSucces + Private poFacturiEmise, poFacturiPrimite, poFacturiTrimise, poFacturiDetalii, pnRecCnt + poFacturiEmise = Null + poFacturiPrimite = Null + poFacturiTrimise = Null + poFacturiDetalii = Null + + lcToken = This.getToken() + If Empty(m.lcToken) + AMESSAGEBOX('Nu s-a obtinut token-ul eFactura!', 0 + 48, _Screen.Caption) + Endif + + * La facturi primite/trimise aduc 0 inregistrari. + * Afisez inregistrarile la prima activare a paginilor Trimise/Primite din Borderou + * Nu aduc coloana ANAF_EFACTURA.DETALII (xml efactura) pentru ca este prea mult trafic de date si merge greu pentru multe inregistrari. Aduc detalii doar pentru cate o factura + + * FACTURI PRIMITE + lcData1 = '01' + PADL(INT(m.gnLuna),2,'0') + ALLTRIM(STR(m.gnAn)) + Text To lcSchema Noshow +ales N(1), id N(20), id_fact N(20), data_act D, data_scad D, numar_act C(30), xfurnizor C(200), xclient C(200), id_incarcare C(36), id_descarcare c(36) null, tip_mesaj_raspuns C(50) null,mesaj_raspuns C(250) null, data_raspuns D null, trimis N(1) null, data_trimis T null, cod_fiscal_emitent C(30) null, cod_fiscal_beneficiar C(30) null, detalii M null, total_fara_tva N(16,4), total_tva N(16,4), total_tva_ron N(16,4), total_cu_tva N(16,4), discount_fara_tva N(16,4), taxe_fara_tva N(16,4), valoare_fara_tva N(16,4), total_de_plata N(16,4), nume_valuta C(5), test N(1) null, jtotctva N(16,4), descriere M null, detalii_plata M null, diferenta N(16,4), procesat N(1), tip_persoana N(1) null, descarcat N(1) null, filepath c(250) null, procesat_server N(1) null, creditnote N(1) + Endtext + Text To lcSelect Noshow +SELECT 0 as ales, id, id_fact, data_act, data_scad, numar_act, xfurnizor, xclient, id_incarcare, id_descarcare, tip_mesaj_raspuns, mesaj_raspuns, data_raspuns, NVL(trimis,0) as trimis, data_trimis, cod_fiscal_emitent, cod_fiscal_beneficiar, '' as detalii, total_fara_tva, total_tva, total_tva_ron, total_cu_tva, discount_fara_tva, taxe_fara_tva, valoare_fara_tva, total_de_plata, nume_valuta, test, jtotctva, descriere, detalii_plata, decode(creditnote,0,1,-1) * NVL(total_cu_tva, 0.00)-NVL(jtotctva, 0.00) as diferenta, procesat, tip_persoana, descarcat, filepath, procesat_server, creditnote FROM anaf_vefactura_primit + Endtext + lcOrder = [data_act,numar_act,data_raspuns] + lcgroup = [] + * Aduc inregistrarile cand se activeaza prima data pagina cu facturi primite + lcFiltru = [1=2] && [(extract(year from data_act) = ?gnAn and extract(month from data_act) = ?gnLuna) or (data_act is null and data_raspuns >= to_date('] + m.lcData1 + [','ddmmyyyy'))] + lcFiltruOriginal = [] + llModParam = .T. + llAfiseaza = .F. + + gencursor('poFacturiPrimite', 'crsFacturiPrimite', lcSelect, lcFiltru, lcSchema, lcOrder, llAfiseaza, lcgroup, llModParam, lcFiltruOriginal) + poFacturiPrimite.ca_baza1.afisare() + Select crsFacturiPrimite + Go Top + + * FACTURI TRIMISE + Text To lcSchema Noshow +ales N(1), id N(20), id_fact N(20), data_act D, data_scad D, numar_act C(30), xfurnizor C(200), xclient C(200), id_incarcare C(36), id_descarcare c(36) null, mesaj_trimis C(250) null, tip_mesaj_raspuns C(50) null,mesaj_raspuns C(250) null, data_raspuns D null, trimis N(1) null, data_trimis T null, cod_fiscal_emitent C(30) null, cod_fiscal_beneficiar C(30) null, detalii M null, total_fara_tva N(16,4), total_tva N(16,4), total_tva_ron N(16,4), total_cu_tva N(16,4), discount_fara_tva N(16,4), taxe_fara_tva N(16,4), valoare_fara_tva N(16,4), total_de_plata N(16,4), nume_valuta C(5), test N(1) null, jtotctva N(16,4), descriere M null, detalii_plata M null, diferenta N(16,4), procesat N(1), tip_persoana N(1) null, descarcat N(1) null, filepath c(250) null, procesat_server N(1) null, creditnote N(1) + Endtext + Text To lcSelect Noshow +SELECT 0 as ales, id, id_fact, data_act, data_scad, numar_act, xfurnizor, xclient, id_incarcare, id_descarcare, mesaj_trimis, tip_mesaj_raspuns, mesaj_raspuns, data_raspuns, NVL(trimis,0) as trimis, data_trimis, cod_fiscal_emitent, cod_fiscal_beneficiar, '' as detalii, total_fara_tva, total_tva, total_tva_ron, total_cu_tva, discount_fara_tva, taxe_fara_tva, valoare_fara_tva, total_de_plata, nume_valuta, test, jtotctva, descriere, detalii_plata, decode(creditnote,0,1,-1) * NVL(total_cu_tva, 0.00)-NVL(jtotctva, 0.00) as diferenta, procesat, tip_persoana, descarcat, filepath, procesat_server, creditnote FROM anaf_vefactura_trimis + Endtext + lcOrder = [data_act,numar_act,data_trimis,data_raspuns] + lcgroup = [] + * Aduc inregistrarile cand se activeaza prima data pagina cu facturi trimise + lcFiltru = [1=2] && [(extract(year from data_act) = ?gnAn and extract(month from data_act) = ?gnLuna) or (data_act is null and data_raspuns >= to_date('] + m.lcData1 + [','ddmmyyyy'))] + lcFiltruOriginal = [] + llModParam = .T. + llAfiseaza = .F. + + gencursor('poFacturiTrimise', 'crsFacturiTrimise', lcSelect, lcFiltru, lcSchema, lcOrder, llAfiseaza, lcgroup, llModParam, lcFiltruOriginal) + poFacturiTrimise.ca_baza1.afisare() + Select crsFacturiTrimise + Go Top + + * FACTURI EMISE + Text To lcSchema Noshow +ales N(1), id N(20), id_fact N(20), id_vanzare N(10), data_act D, numar_act N(14), in_valuta N(1) null, curs N(10,4) null, valval N(16,2), tvaval N(16,2),totval N(16,2), total_fara_tva N(16,2), total_tva N(16,2), total_cu_tva N(16,2), nume_valuta C(5) null, client C(100), id_client N(10), cod_fiscal C(30), tip_persoana N(1) null, trimis N(1) null, data_trimis T null, stare C(100) null, id_incarcare C(36) null, mesaj_trimis C(250) null, id_descarcare c(36) null, tip_mesaj_raspuns C(50) null,mesaj_raspuns C(250) null, data_raspuns D null, cod_fiscal_emitent C(30) null, cod_fiscal_beneficiar C(30) null, detalii M null, xfurnizor C(200), xclient C(200), xdata_act D, xnumar_act C(30), xtotal_fara_tva N(16,4), xtotal_tva N(16,4), xtotal_tva_ron N(16,4), xtotal_cu_tva N(16,4), xdiscount_fara_tva N(16,4), xtaxe_fara_tva N(16,4), xvaloare_fara_tva N(16,4), xtotal_de_plata N(16,4), xnume_valuta C(5), test N(1) null, id_util N(10), utilizator C(100), jtotctva N(16,4), diferenta N(16,4), procesat N(1), procesat_server N(1), creditnote N(1) + Endtext + Text To lcSelect Noshow +SELECT 0 as ales, id, id_fact, id_vanzare, data_act, numar_act, in_valuta, curs, valval, tvaval, totval, total_fara_tva, total_tva,total_cu_tva, nume_valuta, client, id_client, cod_fiscal, NVL(tip_persoana,1) as tip_persoana, NVL(trimis,0) as trimis, data_trimis, stare, id_incarcare, mesaj_trimis, id_descarcare, tip_mesaj_raspuns, mesaj_raspuns, data_raspuns, cod_fiscal_emitent, cod_fiscal_beneficiar, '' as detalii, xfurnizor, xclient, xdata_act, xnumar_act, xtotal_fara_tva, xtotal_tva, xtotal_tva_ron, xtotal_cu_tva, xdiscount_fara_tva, xtaxe_fara_tva, xvaloare_fara_tva, xtotal_de_plata, xnume_valuta, test, id_util, utilizator, jtotctva, decode(creditnote,0,1,-1) * ROUND(NVL(xtotal_cu_tva , 0.00) * decode(in_valuta,1,curs,1), 2)-NVL(jtotctva, 0.00) as diferenta, procesat, procesat_server,creditnote FROM anaf_vefactura_emis + Endtext + lcOrder = [data_act,numar_act] + lcgroup = [] + lcFiltru = [(extract(year from data_act)=?gnAn and extract(month from data_act)=?gnLuna) OR (trimis = 1 and tip_mesaj_raspuns is null and extract(year from data_act) >=2023)] + lcFiltruOriginal = [] + llModParam = .T. + llAfiseaza = .F. + + * Afisez toate facturile emise, ca sa le pot vizualiza pe cele netrimise sau trimise cu starea lor (trimis, eroare etc.) + gencursor('poFacturiEmise', 'crsFacturiEmise', lcSelect, lcFiltru, lcSchema, lcOrder, llAfiseaza, lcgroup, llModParam, lcFiltruOriginal) + poFacturiEmise.ca_baza1.afisare() + + +* DETALII FACTURI PRIMITE/TRIMISE/EMISE + Text To lcSchema Noshow +id N(20), id_efactura N(20), nr N(5), articol V(250), descriere V(250), detalii M, cantitate N(18,6), um V(20), pret N(20,6), proctva N(7,2), valoarefaratva N(20,6), discountfaratva N(20,6) + Endtext + Text To lcSelect Noshow +select id, id_efactura, nr, articol, descriere, detalii, cantitate, um, pret, proctva, valoarefaratva, discountfaratva from anaf_vefactura_detalii + Endtext + lcOrder = [nr] + lcgroup = [] + lcFiltru = [1=2] && IIF(!EMPTY(NVL(crsFacturiPrimite.id,0)), [id_efactura=] + ALLTRIM(STR(crsFacturiPrimite.id)), [1=2]) + lcFiltruOriginal = [] + llModParam = .T. + llAfiseaza = .F. + + gencursor('poFacturiDetalii', 'crsDetaliiFacturi', lcSelect, lcFiltru, lcSchema, lcOrder, llAfiseaza, lcgroup, llModParam, lcFiltruOriginal) + poFacturiDetalii.ca_baza1.afisare() + + + Select crsFacturiEmise + loFrmBorderou = Createobject("anaf_efactura", This) + * Do Form anaf_efactura Name loFrmBorderou Linked With this Noshow + + loFrmBorderou.Show(1) + + Use In (Select('crsFacturiEmise')) + Use In (Select('crsFacturiTrimise')) + Use In (Select('crsFacturiPrimite')) + Use In (Select('crsDetaliiFacturi')) + Endproc && vizeFactura + + Function getToken + Lparameters tlShow +* tlShow: .T. arata formularul chiar daca este generat Token si nu este expirat 90 zile + Private poToken + + Local loFrmToken As "anaf_token" + Local lcToken, lcRefreshToken, lcTokenGenDate, ldTokenGenDate, loServer + + loServer = This.AnafeFacturaServer + + * TokenJWT are dimensiunea mai mare. Il salvez in optiuni.varvalue2 + IF .F. + lcToken = Alltrim(Nvl(citeste_optiune('ANAF_TOKEN', .T.), '')) + lcRefreshToken = Alltrim(Nvl(citeste_optiune('ANAF_REFRESH_TOKEN', .T.), '')) + + lcTokenGenDate = Alltrim(Nvl(citeste_optiune('ANAF_TOKEN_GENDATE'), '')) + ldTokenGenDate = Iif(!Empty(m.lcTokenGenDate), Ctod(m.lcTokenGenDate), {}) + lcTokenExpDate = Alltrim(Nvl(citeste_optiune('ANAF_TOKEN_EXPDATE'), '')) + ldTokenExpDate = Iif(!Empty(m.lcTokenExpDate), Ctod(m.lcTokenExpDate), {}) + ldTokenExpDate = Iif(!Empty(m.ldTokenExpDate), m.ldTokenExpDate, m.ldTokenGenDate + 90) + ELSE + lcToken = loServer.cToken + lcRefreshToken = loServer.cRefreshToken + ldTokenGenDate = loServer.dTokenGendate + ldTokenExpDate = loServer.dTokenExpdate + ENDIF + + This.token = m.lcToken + This.refresh_token = m.lcRefreshToken + This.token_gendate = m.ldTokenGenDate + This.token_expdate = m.ldTokenExpDate + + If m.tlShow Or Empty(m.lcToken) Or m.ldTokenExpDate <= Date() + loFrmToken = Createobject("anaf_token", This) + loFrmToken.Show(1) + *!* 07.07.2026 + *!* dupa fluxul automat (newToken) datele sunt deja setate corect din expires_in + *!* (dTokenGendate = azi); suprascrierea cu +90 ramane doar pentru completarea manuala + If m.lcToken <> loServer.cToken And loServer.dTokenGendate <> Date() + loServer.dTokenGendate = Date() + loServer.dTokenExpdate = Date() + 90 + Endif + + This.SaveToken() + Endif + + Return loServer.cToken + Endfunc + +*************************** +* Salveaza tokenul in baza de date optiuni firma +*************************** + Procedure SaveToken + LOCAL loServer + + loServer = This.AnafeFacturaServer + loServer.SaveToken() + Endproc && SaveToken + + +*!* 07.07.2026 +*!* newToken - deleaga la AnafeFacturaServer.newToken (implementare unica FR-7) +*!* pattern identic cu refreshToken: loServer = This.AnafeFacturaServer + +* Intoarce tokenul de acces la ANAF (eFactura) daca este salvat sau obtine un nou token +* Se apeleaza din formularul anaf_token.do_executa + Function newToken + LOCAL loServer + loServer = This.AnafeFacturaServer + * Asigura cTokenUrl populat din optiunile firmei (citit de GetToken din citeste_optiune) + loServer.GetToken() + loServer.newToken() + * Propagare proprietati actualizate catre ANAFeFactura (consistent cu getToken) + This.token = loServer.cToken + This.refresh_token = loServer.cRefreshToken + This.token_gendate = loServer.dTokenGendate + This.token_expdate = loServer.dTokenExpdate + Endfunc + +* Actualizeaza data expirarii tokenului ANAF eFactura +* Se apeleaza din formularul anaf_token.do_executa + Function refreshToken + LOCAL loServer, lcMesaj, llSucces + llSucces = .F. + + loServer = This.AnafeFacturaServer + lcMesaj = '' + llSucces = loServer.RefreshToken(@lcMesaj) + + AMESSAGEBOX(m.lcMesaj, 0 + 48, _Screen.Caption) + + Return m.llSucces + Endfunc + +******************************** +* Bifeaza Trimis o factura trimisa manual la ANAF +******************************** + Procedure BifeazaTrimisManual + Lparameters tnIdFact, tnTrimis + Private pnIdFact, pnTrimis + pnIdFact = m.tnIdFact + pnTrimis = m.tnTrimis + pnTest = IIF(This.lTest, 1, 0) && server TEST ANAF + lcSql = 'begin pack_anaf.BifeazaEFactTrimisManual(?pnIdFact, ?pnTrimis, ?pnTest, ?gnIdUtil); end;' + llSucces = goExecutor.oExecuta(m.lcSql) + Return m.llSucces + Endproc && BifeazaTrimisManual + + + ******************************** + * Suprascrie Id Incarcare manual, in caz ca pe factura este un Id Incarcare al trimiterilor ulterioare care au primit raspuns Eroare factura duplicata + * Este posibil si ca la prima incarcare anaf.ro sa dea timeout si sa nu intoarca Id Incarcare si sa se trimita din nou factura. Se primeste id incarcare, dar mesajul de descarcare este EROARE factura duplicata. + ******************************** + Procedure SuprascrieIdIncarcare + Lparameters tnIdFact, tcIdIncarcare + Private pnIdFact, pcIdIncarcare + pnIdFact = m.tnIdFact + pcIdIncarcare = m.tcIdIncarcare + pnTest = IIF(This.lTest, 1, 0) && server TEST ANAF + lcSql = 'begin pack_anaf.SuprascrieIdIncarcare(?pnIdFact, ?pcIdIncarcare, ?pnTest, ?gnIdUtil); end;' + llSucces = goExecutor.oExecuta(m.lcSql) + Return m.llSucces + Endproc && SuprascrieIdIncarcare + + +******************************** +* Genereaza xml efactura, valideaza xml si trimite la API ANAF +******************************** + Procedure TrimiteFacturi + Lparameters tlNuTrimiteEFacturaANAF + + Local lcTip, llSucces, lnValoare, lnRecno, loEx as Exception + Local lcFilter, lcSql, lnIdVanzare + Local lcRecc, lcRecno, ldDataFact, lnNumarFact, loReturn, lnTrimis + Local lcMesaj + Local lcErrorMessage, lcExecutionStatus, lcIndexIncarcare, loXML + Private pnIdFact, pnValoare, pcMesajTrimis, pnTrimis, pcIdIncarcare, pnTest + + llSucces = .F. + pnIdFact = crsFacturiEmise.id_fact + pnTest = IIF(This.lTest, 1, 0) && server TEST ANAF + lnRecno = Recno('crsFacturiEmise') + lcFilter = "id_fact = " + Alltrim(Str(m.pnIdFact)) + + Select crsFacturiEmise + Locate For ales = 1 + If !Found() + Locate For id_fact = m.pnIdFact + Else + lcFilter = "ales = 1" + Endif + + If Empty(m.pnIdFact) + Return m.llSucces + Endif + + lcSql = 'begin pack_anaf.BifeazaEFactTrimis(?pnIdFact, ?pnTrimis, ?pcMesajTrimis, ?pcIdIncarcare, ?pnTest, ?gnIdUtil); end;' + + Select crsFacturiEmise + lcRecc = Alltrim(Str(Reccount())) + Scan For &lcFilter + pnIdFact = id_fact + lnIdVanzare = id_vanzare + lnNumarFact = crsFacturiEmise.numar_act + ldDataFact = crsFacturiEmise.data_act + pnTrimis = Nvl(trimis, 0) + lnTrimis = Nvl(trimis, 0) + pcIdIncarcare = Nvl(id_incarcare, '') + + lcRecno = Alltrim(Str(Recno())) + + Wait Window 'Factura ' + Alltrim(Str(m.lnNumarFact)) + ' / ' + Dtoc(m.ldDataFact) + ' ' + m.lcRecno + '/' + m.lcRecc Nowait + + loReturn = This.TrimiteEfactura(m.lnIdVanzare, m.tlNuTrimiteEFacturaANAF) + llSucces = loReturn.lSucces + + If m.llSucces + pcMesajTrimis = Iif(This.lTest, 'TEST ', '') + loXML = NULL + IF !m.tlNuTrimiteEFacturaANAF + TRY + loXML = nfxmlread(loReturn.cResponse) + CATCH TO loEx + lcErrorMessage = loEx.Message + ENDTRY + ENDIF + lcExecutionStatus = '' + lcIndexIncarcare = '' + lcErrorMessage = '' + IF TYPE('loxml.header._attr_.executionstatus') <> 'U' + lcExecutionStatus = loxml.header._attr_.executionstatus + ENDIF + IF TYPE('loxml.header._attr_.index__incarcare') <> 'U' + lcIndexIncarcare = loxml.header._attr_.index__incarcare + ENDIF + IF TYPE('loxml.header.errors._attr_.errorMessage') <> 'U' + lcErrorMessage = loxml.header.errors._attr_.errorMessage + ENDIF + + Do Case + Case lcExecutionStatus = "0" + pcIdIncarcare = m.lcIndexIncarcare + pnTrimis = 1 + pcMesajTrimis = m.pcMesajTrimis + 'Transmis cu succes. Index incarcare = ' + m.pcIdIncarcare + + Case !EMPTY(m.lcErrorMessage) + pcIdIncarcare = '' + pnTrimis = 1 + pcMesajTrimis = m.pcMesajTrimis + Iif(This.lTest, 'TEST ', '') + 'Eroare. ' + m.lcErrorMessage + + Case [VALID] $ Upper(loReturn.cResponse) + pcIdIncarcare = '' + pnTrimis = 0 + pcMesajTrimis = m.pcMesajTrimis + loReturn.cResponse + Otherwise + pcMesajTrimis = m.pcMesajTrimis + Iif(This.lTest, 'TEST ', '') + 'Eroare. ' + m.lcErrorMessage + pcIdIncarcare = '' + pnTrimis = 1 + Endcase + + * Completez doar cu raspunsul de la trimiterea la ANAF, nu si de la validare + If !m.tlNuTrimiteEFacturaANAF + pcMesajTrimis = LEFT(m.pcMesajTrimis,250) + llSucces = goExecutor.oExecuta(m.lcSql) + Endif + + If [VALID] $ Upper(loReturn.cResponse) And m.lnTrimis = 0 + Replace trimis With m.pnTrimis, id_incarcare With m.pcIdIncarcare, data_trimis With Datetime(), mesaj_trimis With m.pcMesajTrimis, ales With 0, ; + id_descarcare WITH '', data_raspuns WITH null, tip_mesaj_raspuns WITH '', mesaj_raspuns WITH null ; + In crsFacturiEmise + Else + Replace trimis With m.pnTrimis, id_incarcare With m.pcIdIncarcare, data_trimis With Datetime(), mesaj_trimis With m.pcMesajTrimis, ales With 0, ; + id_descarcare WITH '', data_raspuns WITH null, tip_mesaj_raspuns WITH '', mesaj_raspuns WITH null ; + In crsFacturiEmise + Endif + ELSE + + lcMesaj = 'Eroare transmitere factura ' + Alltrim(Str(m.lnNumarFact)) + ' / ' + Dtoc(m.ldDataFact) + Chr(13) + Chr(10) + ; + 'Fisier xml: ' + Alltrim(Transform(loReturn.cFile)) + Chr(13) + Chr(10) + ; + 'ANAF Http Status: ' + Transform(loReturn.nStatus) + Chr(13) + Chr(10) + ; + IIF(loReturn.nStatus = 403, 'Acces interzis. Token-ul a expirat si trebuie regenerat.' + Chr(13) + Chr(10), '') + ; + 'ANAF Http Response: ' + Alltrim(Transform(loReturn.cResponse)) + poLog.Log(m.lcMesaj) + + If AMESSAGEBOX(m.lcMesaj + Chr(10) + ; + 'Doriti sa continuati?', 4 + 32, _Screen.Caption) <> 6 + Exit + Endif + Endif + Endscan + + Select crsFacturiEmise + Try + If m.lnRecno > 0 + Goto m.lnRecno + Else + Go Top + Endif + Catch + Go Top + Endtry + Endproc && TrimiteFacturi + + * Genereaza xml eFactura, valideaza xml si trimite la ANAF + FUNCTION TrimiteEfactura + Lparameters tnIdVanzare, tlNuTrimiteEFacturaANAF + PRIVATE pcTokenEfactura + LOCAL loReturn + + loReturn = Createobject("empty") + AddProperty(loReturn, "lSucces", .F.) + AddProperty(loReturn, "cFile", '') + AddProperty(loReturn, "cResponse", '') + AddProperty(loReturn, "nStatus", 0) + + * Genereaza xml eFactura + llSilent = .T. + llJustPDF = .F. + lcTipDocument = 'FACTURA' + llEFactura = .T. + llOk = .F. + lcFile = '' + lcMesaj = '' + + pcTokenEfactura = This.Token && variabila privata pentru getxmlefactura > ValidareEFacturaAnaf + + loDate = listeaza_formular(m.tnIdVanzare, m.llSilent, m.llJustPDF, m.lcTipDocument, m.llEFactura) + loInfo = loDate.oInfoEFactura + If Type('loInfo.cFile') = 'C' + lcFile = Iif(Type('loInfo.cFile') = 'C', loInfo.cFile, '') + llOk = loInfo.lOk + lcMesaj = loInfo.cMesaj + Endif + + loReturn.cFile = m.lcFile + + lcCodTara = 'RO' + IF TYPE('loDate.oClient.cod_tara') <> 'U' + lcCodTara = ALLTRIM(NVL(loDate.oClient.cod_tara, '')) + IF EMPTY(m.lcCodTara) + lcCodTara = 'RO' + ENDIF + ENDIF + + llAtributFiscalRO = .F. + IF TYPE('loDate.oClient.cod_fiscal') <> 'U' + llAtributFiscalRO = 'RO'$UPPER(ALLTRIM(NVL(loDate.oClient.cod_fiscal, ''))) + ENDIF + + llExtern = (m.lcCodTara <> 'RO' AND !m.llAtributFiscalRO) && sa aiba sediul fiscal extern si sa nu fie inregistrat TVA in Romania + lcExtern = IIF(m.llExtern, '&extern=DA', '') + + If m.llOk And !Empty(m.lcFile) And Type('lcFile') = 'C' And File(m.lcFile) + If !m.tlNuTrimiteEFacturaANAF + loReturn = This.AnafeFacturaServer.SendEfactura(m.lcFile, m.llExtern) + Else + loReturn.cResponse = Iif(!Empty(m.lcMesaj), m.lcMesaj + Chr(13) + Chr(10), '') + 'VALID. Nu s-a trimis fisierul la ANAF.' + loReturn.lSucces = .T. + Endif + Else + loReturn.cResponse = m.lcMesaj + Chr(13) + Chr(10) + '' + loReturn.lSucces = .F. + Endif + + RETURN m.loReturn + + ENDFUNC && TrimiteEfactura + + + **************** + * Parseaza un xml efactura si actualizeaza ANAF_EFACTURA + **************** + PROCEDURE Detalii2UpdateFactura + LPARAMETERS tnId, tcDetalii + + LOCAL llVariable + llVariable = .T. + + TRY + loFactura = ParseEFactura(m.tcDetalii, m.llVariable) + loFactura.nId = m.tnId + + lcSql = [select a.*, 1 as modificat, to_clob(null) as factura_detalii from anaf_efactura a where id = ] + ALLTRIM(STR(m.tnId)) + llSucces = goExecutor.oExecuta(m.lcSql, 'cAnafEfacturaTemp') + IF m.llSucces + ADDPROPERTY(loFactura, 'cIdIncarcare', cAnafEfacturaTemp.id_incarcare) + ADDPROPERTY(loFactura, 'cIdDescarcare', cAnafEfacturaTemp.id_incarcare) + + llSucces = This.AnafeFacturaServer.cUpdateFactura(loFactura, 'cAnafEfacturaTemp') + + IF m.llSucces + llSucces = This.AnafeFacturaServer.UpdateDb('cAnafEfacturaTemp') + ENDIF + ENDIF + + USE IN (SELECT('cAnafEfacturaTemp')) + Catch To loEx + llSucces = .F. + ENDTRY + RETURN m.llSucces + ENDPROC && Detalii2UpdateFactura + + + + + * Salveaza pe disk arhiva cu detalii ANAF_EFACTURA.DETALII_ZIP + FUNCTION DownloadDetaliiZip + LPARAMETERS tnIdeFactura + + PRIVATE poDetaliiZip + poDetaliiZip = null + + lcSchema = [id_incarcare V(36), fisier W] + lcSelect = [select id_incarcare, detalii_zip from anaf_efactura where id = ] + Alltrim(Str(tnIdeFactura)) + lcOrder = [] + lcgroup = [] + lcFiltru = [] + lcFiltruOriginal = [] + llModParam = .T. + llAfiseaza = .F. + + gencursor('poDetaliiZip','cRegFisierTemp', lcSelect, lcFiltru, lcSchema, lcOrder, llAfiseaza, lcgroup, llModParam, lcFiltruOriginal) + poDetaliiZip.ca_baza1.afisare() + If Used('cRegFisierTemp') + lcIdIncarcare = ALLTRIM(NVL(id_incarcare, '')) + lcFisier = fisier + Use In (Select('cRegFisierTemp')) + + lcFile = PUTFILE('Fisier', m.lcIdIncarcare, 'zip') + IF !EMPTY(m.lcFile) + Strtofile(lcFisier, m.lcFile) + open_default_app(JUSTPATH(m.lcFile)) + ENDIF + Endif + ENDFUNC && DownloadDetaliiZip + +ENDDEFINE && ANAFeFactura + + + +********************* +* Parseaza xml efactura si intoarce obiect VFP cu datele facturii xml cu detaliile facturii +********************* +Procedure ParseEFactura + Lparameters tcFile, tlVariable +* tcFile: fisier sau variabila care contine xml eFactura +* tlVariable: .T. daca tcFile este o variabila care contine xml eFactura + + Local lcFileText, lcDetalii, lcFacturaDetalii, loEx As Exception, loReturn + Local laLinii[1], laLiniiDisc[1], laDetalii[1], laDetaliiLinie[1], laDetaliiPlata[1], laCommodityClassification[1] + Local lcDataFactura, lcDataScad, lcDetaliiLinie, lcUM, lcValuta, lnAn, lnCant, lnDetalii + Local lnDetaliiLinie, lnDetaliu, lnDetaliuLinie, lnLinie, lnLinii, lnLuna, lnNr, lnPret, lnProcTva + Local lnZi, loFactura, loLinie, lcArticol, lcDetaliu + Local lcArticolDescriere, lcBanca, lcCodClient, lcCodFurnizor, lcTip, lcCod, lcCodBare, lcCodCPV, lcCodNC8 + Local lcCodPlata, lcContBanca, lcPrefixInvoice, llCreditNote + Local lnCommodityClassification, lnCommodityClassifications, lnValoareFaraTVA + Local loCommodityClassification, loDetaliu, loItemClassificationCode + Local lnDiscount, lnDiscountLinie, lnValoareTVA, loTaxTotal + + + +*!* IF '4114569629'$lcfile +*!* SET STEP ON +*!* ENDIF + loReturn = Createobject("empty") + AddProperty(loReturn, "nId", "") && ANAF_EFACTURA.ID + AddProperty(loReturn, "NumarAct", "") + AddProperty(loReturn, "DataAct", {}) + AddProperty(loReturn, "DataScad", {}) + + AddProperty(loReturn, "Furnizor", "") + AddProperty(loReturn, "CodTaraFurnizor", "") + AddProperty(loReturn, "CodJudetFurnizor", "") + AddProperty(loReturn, "LocalitateFurnizor", "") + AddProperty(loReturn, "StradaFurnizor", "") + AddProperty(loReturn, "CodFiscalFurnizor", "") + + AddProperty(loReturn, "Client", "") + AddProperty(loReturn, "CodTaraClient", "") + AddProperty(loReturn, "CodJudetClient", "") + AddProperty(loReturn, "LocalitateClient", "") + AddProperty(loReturn, "StradaClient", "") + AddProperty(loReturn, "CodFiscalClient", "") + + AddProperty(loReturn, "TotalFaraTva", 0.00) + AddProperty(loReturn, "TotalTva", 0.00) + AddProperty(loReturn, "TotalTvaRON", 0.00) + AddProperty(loReturn, "TotalCuTva", 0.00) + AddProperty(loReturn, "TaxeFaraTVA", 0.00) + AddProperty(loReturn, "DiscountFaraTVA", 0.00) + AddProperty(loReturn, "ValoareFaraTVA", 0.00) && suma valoare articole + AddProperty(loReturn, "TotaldePlata", 0.00) + AddProperty(loReturn, "Valuta", "") + AddProperty(loReturn, "Detalii", "") && note factura + AddProperty(loReturn, "DetaliiPlata", "") && detalii plata (conturi bancare) + AddProperty(loReturn, "FacturaDetalii", "") && liniile facturii + AddProperty(loReturn, "FacturaDetaliiDisc", "") && linii discount la nivel de factura + AddProperty(loReturn, "Eroare", .F.) && daca a aparut o eroare la parsarea facturii + AddProperty(loReturn, "CreditNote", 0) && 1 = CreditNote, 0 = Invoice + + Create Cursor cFacturaDetaliiTemp(nr I, cant N(16, 6), um V(20), articol V(250), descriere V(250), detalii M, Pret N(16, 6), proctva N(10, 2), tiptva V(2), valoarefaratva N(16,4), discountfaratva N(16,4), codfurnizor V(100), codclient V(100), codbare V(50), codcpv V(50), codnc8 V(50)) + CREATE CURSOR cFacturaDetaliiDisc(valoare N(20,6), procentTVA N(5,2), tiptva V(10), discount N(1), motivdiscount V(200), motivdiscountcod V(50)) + + If m.tlVariable + lcFileText = m.tcFile + Else + lcFileText = Iif(File(m.tcFile), Filetostr(m.tcFile), '') + Endif + + If Empty(m.lcFileText) + loReturn.eroare = .T. + Return loReturn + Endif + + * CreditNote to Invoice + llCreditNote = 'CreditNote' $ lcFileText + loReturn.CreditNote = IIF(m.llCreditNote, 1, 0) + lcFileText = Strtran(lcFileText, 'CreditNote', 'Invoice', 1, 100000, 1) + lcFileText = Strtran(lcFileText, 'Credited', 'Invoiced', 1, 100000, 1) + + * Scot cbc: cac: + * Unele fisiere nu au, altele au. Le scot din toate + lcFileText = Strtran(lcFileText, 'cac:', '', 1, 1000000, 1) + lcFileText = Strtran(lcFileText, 'cbc:', '', 1, 1000000, 1) + + lcPrefixInvoice = STREXTRACT(m.lcFileText, [<], [Invoice],1,1) && un prefix custom la Invoice 10 && caut prefixul la a doua aparitie a < + lcPrefixInvoice = STREXTRACT(m.lcFileText, [<], [Invoice],2,1) && un prefix custom la Invoice ] && [] + lcPrefix = GetRegExp(m.lcFileText, m.lcPattern) + lcPrefix = STREXTRACT(NVL(m.lcPrefix, ''), [] + lcPrefix = GetRegExp(m.lcFileText, m.lcPattern) + lcPrefix = STREXTRACT(NVL(m.lcPrefix, ''), [ RON, atunci extrag valoare tva in RON + * Sunt 2 TaxTotal, una in valuta facturii si una in RON +*!* +*!* 0.00 +*!* + IF UPPER(ALLTRIM(loReturn.valuta)) <> 'RON' + If Type('loFactura.Invoice.TaxTotal') <> 'U' + If Type('loFactura.Invoice.TaxTotal', 1) = 'A' + FOR EACH loTaxTotal IN loFactura.Invoice.TaxTotal + IF TYPE('loTaxTotal.TaxAmount._attr_.CurrencyId') = 'C' AND TYPE('loTaxTotal.TaxAmount._nodetext_') = 'C' AND loTaxTotal.TaxAmount._attr_.CurrencyId = "RON" + loReturn.TotalTVARON = VAL(loTaxTotal.TaxAmount._nodetext_) + ENDIF + ENDFOR + ELSE + IF TYPE('loFactura.Invoice.TaxTotal') = 'O' + loTaxTotal = loFactura.Invoice.TaxTotal + IF TYPE('loTaxTotal.TaxAmount._attr_') = 'C' AND TYPE('loTaxTotal.TaxAmount._nodetext_') = 'C' AND loTaxTotal.TaxAmount._attr_.CurrencyId = "RON" + loReturn.TotalTVARON = VAL(loTaxTotal.TaxAmount._nodetext_) + ENDIF + ENDIF + ENDIF + ENDIF && <> U + ELSE + loReturn.TotalTVARON = loReturn.totaltva + ENDIF && <> RON + + + + loReturn.detalii = "" + If Type('loFactura.Invoice.note') <> 'U' + If Type('loFactura.Invoice.note', 1) = 'A' + Acopy(loFactura.Invoice.note, laDetalii) + ELSE + IF TYPE('loFactura.Invoice.note') = 'C' + laDetalii[1] = loFactura.Invoice.note + ELSE + IF TYPE('loFactura.Invoice.note._nodetext_') = 'C' + laDetalii[1] = loFactura.Invoice.note._nodetext_ + ENDIF + ENDIF + Endif + + lnDetalii = Alen(laDetalii) + For lnDetaliu = 1 To m.lnDetalii + lcDetaliu = '' + IF TYPE('laDetalii[m.lnDetaliu]') = 'C' + lcDetaliu = laDetalii[m.lnDetaliu] + ELSE + IF TYPE('laDetalii[m.lnDetaliu]._nodetext_') = 'C' + lcDetaliu = laDetalii[m.lnDetaliu]._nodetext_ + ENDIF + ENDIF + loReturn.detalii = loReturn.detalii + Iif(m.lnDetaliu > 1, " ", "") + m.lcDetaliu + Endfor + Endif + +* Detalii plata = conturi bancare plata + loReturn.detaliiplata = "" + If Type('loFactura.Invoice.paymentmeans') <> 'U' + If Type('loFactura.Invoice.paymentmeans', 1) = 'A' + Acopy(loFactura.Invoice.paymentmeans, laDetaliiPlata) + Else + laDetaliiPlata[1] = loFactura.Invoice.paymentmeans + Endif + + lnDetalii = Alen(laDetaliiPlata) + For lnDetaliu = 1 To m.lnDetalii + loDetaliu = laDetaliiPlata[m.lnDetaliu] + lcCodPlata = '' + lcContBanca = '' + lcBanca = '' + If Type('loDetaliu.paymentmeanscode') = 'C' + lcCodPlata = loDetaliu.paymentmeanscode + Else + If Type('loDetaliu.paymentmeanscode._nodetext_') = 'C' + lcCodPlata = loDetaliu.paymentmeanscode._nodetext_ + Endif + Endif + If !Empty(m.lcCodPlata) + Do Case + Case lcCodPlata = '10' + lcCodPlata = lcCodPlata + ' Numerar' + Case lcCodPlata = '20' + lcCodPlata = lcCodPlata + ' CEC' + Case lcCodPlata = '31' + lcCodPlata = lcCodPlata + ' Transfer' + Case lcCodPlata = '42' + lcCodPlata = lcCodPlata + ' OP' + Case lcCodPlata = '48' + lcCodPlata = lcCodPlata + ' Card' + Case lcCodPlata = '60' + lcCodPlata = lcCodPlata + ' BO' + Case lcCodPlata = '68' + lcCodPlata = lcCodPlata + ' Online' + Case lcCodPlata = '97' + lcCodPlata = lcCodPlata + ' Compensare' + Endcase + Endif + + If Type('loDetaliu.payeefinancialaccount.id') = 'C' + lcContBanca = loDetaliu.payeefinancialaccount.id + Else + If Type('loDetaliu.payeefinancialaccount.id._nodetext_') = 'C' + lcContBanca = loDetaliu.payeefinancialaccount.id._nodetext_ + Endif + Endif + If Type('loDetaliu.payeefinancialaccount.name') = 'C' + lcBanca = loDetaliu.payeefinancialaccount.name + Else + If Type('loDetaliu.payeefinancialaccount.name._nodetext_') = 'C' + lcBanca = loDetaliu.payeefinancialaccount.name._nodetext_ + Endif + Endif + loReturn.detaliiplata = loReturn.detaliiplata + Iif(m.lnDetaliu > 1, "; ", "") + ; + Iif(Empty(m.lcCodPlata), '', 'Tip: ' + m.lcCodPlata) + ; + Iif(Empty(m.lcContBanca), '', Iif(!Empty(m.lcCodPlata), ',', '') + ' IBAN: ' + m.lcContBanca) + ; + Iif(Empty(m.lcBanca), '', Iif(!Empty(m.lcContBanca), ',', '') + ' Banca: ' + m.lcBanca) + Endfor + Endif + + * Furnizor Denumire + If Type('lofactura.invoice.AccountingSupplierParty.Party.PartyLegalEntity.RegistrationName') = 'C' + loReturn.Furnizor = Alltrim(loFactura.Invoice.AccountingSupplierParty.Party.PartyLegalEntity.RegistrationName) + Else + If Type('lofactura.invoice.AccountingSupplierParty.Party.PartyLegalEntity.RegistrationName._nodetext_') = 'C' + loReturn.Furnizor = Alltrim(loFactura.Invoice.AccountingSupplierParty.Party.PartyLegalEntity.RegistrationName._nodetext_) + ELSE + If Type('lofactura.invoice.AccountingSupplierParty.Party.PartyLegalEntity[1].RegistrationName') = 'C' + loReturn.Furnizor = Alltrim(loFactura.Invoice.AccountingSupplierParty.Party.PartyLegalEntity[1].RegistrationName) + ELSE + If Type('lofactura.invoice.AccountingSupplierParty.Party.PartyLegalEntity[2].RegistrationName') = 'C' + loReturn.Furnizor = Alltrim(loFactura.Invoice.AccountingSupplierParty.Party.PartyLegalEntity[2].RegistrationName) + ENDIF + ENDIF + Endif + ENDIF + + * Cod fiscal Furnizor + If Type('lofactura.invoice.AccountingSupplierParty.Party.PartyTaxScheme.CompanyId') = 'C' + loReturn.CodFiscalFurnizor = Alltrim(lofactura.invoice.AccountingSupplierParty.Party.PartyTaxScheme.CompanyId) + Else + If Type('lofactura.invoice.AccountingSupplierParty.Party.PartyTaxScheme.CompanyId._nodetext_') = 'C' + loReturn.CodFiscalFurnizor = Alltrim(lofactura.invoice.AccountingSupplierParty.Party.PartyTaxScheme.CompanyId._nodetext_) + ELSE + If Type('lofactura.invoice.AccountingSupplierParty.Party.PartyLegalEntity.CompanyId') = 'C' + loReturn.CodFiscalFurnizor = Alltrim(lofactura.invoice.AccountingSupplierParty.Party.PartyLegalEntity.CompanyId) + Else + If Type('lofactura.invoice.AccountingSupplierParty.Party.PartyLegalEntity.CompanyId._nodetext_') = 'C' + loReturn.CodFiscalFurnizor = Alltrim(lofactura.invoice.AccountingSupplierParty.Party.PartyLegalEntity.CompanyId._nodetext_) + Endif + ENDIF + ENDIF + ENDIF + + + * Furnizor Cod Tara + If Type('lofactura.invoice.AccountingSupplierParty.Party.PostalAddress.Country.IdentificationCode') = 'C' + loReturn.CodTaraFurnizor = Alltrim(lofactura.invoice.AccountingSupplierParty.Party.PostalAddress.Country.IdentificationCode) + Else + If Type('lofactura.invoice.AccountingSupplierParty.Party.PostalAddress.Country.IdentificationCode._nodetext_') = 'C' + loReturn.CodTaraFurnizor = Alltrim(lofactura.invoice.AccountingSupplierParty.Party.PostalAddress.Country.IdentificationCode._nodetext_) + Endif + ENDIF + + * Furnizor Cod Judet + If Type('lofactura.invoice.AccountingSupplierParty.Party.PostalAddress.CountrySubentity') = 'C' + loReturn.CodJudetFurnizor = Alltrim(lofactura.invoice.AccountingSupplierParty.Party.PostalAddress.CountrySubentity) + Else + If Type('lofactura.invoice.AccountingSupplierParty.Party.PostalAddress.CountrySubentity._nodetext_') = 'C' + loReturn.CodJudetFurnizor = Alltrim(lofactura.invoice.AccountingSupplierParty.Party.PostalAddress.CountrySubentity._nodetext_) + Endif + Endif + + * Furnizor Localitate + If Type('lofactura.invoice.AccountingSupplierParty.Party.PostalAddress.CityName') = 'C' + loReturn.LocalitateFurnizor = Alltrim(lofactura.invoice.AccountingSupplierParty.Party.PostalAddress.CityName) + Else + If Type('lofactura.invoice.AccountingSupplierParty.Party.PostalAddress.CityName._nodetext_') = 'C' + loReturn.LocalitateFurnizor = Alltrim(lofactura.invoice.AccountingSupplierParty.Party.PostalAddress.CityName._nodetext_) + Endif + ENDIF + + * Furnizor Strada + If Type('lofactura.invoice.AccountingSupplierParty.Party.PostalAddress.StreetName') = 'C' + loReturn.StradaFurnizor = Alltrim(lofactura.invoice.AccountingSupplierParty.Party.PostalAddress.StreetName) + Else + If Type('lofactura.invoice.AccountingSupplierParty.Party.PostalAddress.StreetName._nodetext_') = 'C' + loReturn.StradaFurnizor = Alltrim(lofactura.invoice.AccountingSupplierParty.Party.PostalAddress.StreetName._nodetext_) + Endif + ENDIF + + * Client Denumire + If Type('lofactura.invoice.AccountingCustomerParty.Party.PartyLegalEntity.RegistrationName') = 'C' + loReturn.client = Alltrim(loFactura.Invoice.AccountingCustomerParty.Party.PartyLegalEntity.RegistrationName) + Else + If Type('lofactura.invoice.AccountingCustomerParty.Party.PartyLegalEntity.RegistrationName._nodetext_') = 'C' + loReturn.client = Alltrim(loFactura.Invoice.AccountingCustomerParty.Party.PartyLegalEntity.RegistrationName._nodetext_) + Endif + ENDIF + + * Cod fiscal Client + If Type('lofactura.invoice.AccountingCustomerParty.Party.PartyTaxScheme.CompanyId') = 'C' + loReturn.CodFiscalClient = Alltrim(lofactura.invoice.AccountingCustomerParty.Party.PartyTaxScheme.CompanyId) + Else + If Type('lofactura.invoice.AccountingCustomerParty.Party.PartyTaxScheme.CompanyId._nodetext_') = 'C' + loReturn.CodFiscalClient = Alltrim(lofactura.invoice.AccountingCustomerParty.Party.PartyTaxScheme.CompanyId._nodetext_) + ELSE + If Type('lofactura.invoice.AccountingCustomerParty.Party.PartyLegalEntity.CompanyId') = 'C' + loReturn.CodFiscalClient = Alltrim(lofactura.invoice.AccountingCustomerParty.Party.PartyLegalEntity.CompanyId) + Else + If Type('lofactura.invoice.AccountingCustomerParty.Party.PartyLegalEntity.CompanyId._nodetext_') = 'C' + loReturn.CodFiscalClient = Alltrim(lofactura.invoice.AccountingCustomerParty.Party.PartyLegalEntity.CompanyId._nodetext_) + Endif + ENDIF + ENDIF + ENDIF + + * Client Cod Tara + If Type('lofactura.invoice.AccountingCustomerParty.Party.PostalAddress.Country.IdentificationCode') = 'C' + loReturn.CodTaraClient = Alltrim(lofactura.invoice.AccountingCustomerParty.Party.PostalAddress.Country.IdentificationCode) + Else + If Type('lofactura.invoice.AccountingCustomerParty.Party.PostalAddress.Country.IdentificationCode._nodetext_') = 'C' + loReturn.CodTaraClient = Alltrim(lofactura.invoice.AccountingCustomerParty.Party.PostalAddress.Country.IdentificationCode._nodetext_) + Endif + ENDIF + + * Client Cod Judet + If Type('lofactura.invoice.AccountingCustomerParty.Party.PostalAddress.CountrySubentity') = 'C' + loReturn.CodJudetClient = Alltrim(lofactura.invoice.AccountingCustomerParty.Party.PostalAddress.CountrySubentity) + Else + If Type('lofactura.invoice.AccountingCustomerParty.Party.PostalAddress.CountrySubentity._nodetext_') = 'C' + loReturn.CodJudetClient = Alltrim(lofactura.invoice.AccountingCustomerParty.Party.PostalAddress.CountrySubentity._nodetext_) + Endif + Endif + + * Client Localitate + If Type('lofactura.invoice.AccountingCustomerParty.Party.PostalAddress.CityName') = 'C' + loReturn.LocalitateClient = Alltrim(lofactura.invoice.AccountingCustomerParty.Party.PostalAddress.CityName) + Else + If Type('lofactura.invoice.AccountingCustomerParty.Party.PostalAddress.CityName._nodetext_') = 'C' + loReturn.LocalitateClient = Alltrim(lofactura.invoice.AccountingCustomerParty.Party.PostalAddress.CityName._nodetext_) + Endif + ENDIF + + * Client Strada + If Type('lofactura.invoice.AccountingCustomerParty.Party.PostalAddress.StreetName') = 'C' + loReturn.StradaClient = Alltrim(lofactura.invoice.AccountingCustomerParty.Party.PostalAddress.StreetName) + Else + If Type('lofactura.invoice.AccountingCustomerParty.Party.PostalAddress.StreetName._nodetext_') = 'C' + loReturn.StradaClient = Alltrim(lofactura.invoice.AccountingCustomerParty.Party.PostalAddress.StreetName._nodetext_) + Endif + ENDIF + + + * Cursor linii factura + If Type('lofactura.invoice.invoiceline', 1) = 'A' + Acopy(loFactura.Invoice.invoiceline, laLinii) + Else + laLinii[1] = loFactura.Invoice.invoiceline + Endif + + Try + lnLinii = Alen(laLinii) + For lnLinie = 1 To m.lnLinii + loLinie = laLinii[m.lnLinie] + lnNr = 0 + If Type('loLinie.id') = 'C' + lnNr = Int(Val(loLinie.id)) + Else + If Type('loLinie.id._nodetext_') = 'C' + lnNr = Int(Val(loLinie.id._nodetext_)) + Endif + ENDIF + + lnValoareFaraTVA = 0 + If Type('loLinie.LineExtensionAmount._nodetext_') = 'C' + lnValoareFaraTVA = Val(loLinie.LineExtensionAmount._nodetext_) + Endif + + lcArticol = '' + If Type('loLinie.item.name') = 'C' + lcArticol = Alltrim(loLinie.item.name) + Else + If Type('loLinie.item.name._nodetext_') = 'C' + lcArticol = Alltrim(loLinie.item.name._nodetext_) + Endif + Endif + lcArticolDescriere = '' + If Type('loLinie.item.description') = 'C' + lcArticolDescriere = Alltrim(loLinie.item.description) + Else + If Type('loLinie.item.description._nodetext_') = 'C' + lcArticolDescriere = Alltrim(loLinie.item.description._nodetext_) + Endif + Endif + + lcDetaliiLinie = '' + If Type('loLinie.note') <> 'U' + If Type('loLinie.note', 1) = 'A' + Acopy(loLinie.note, laDetaliiLinie) + Else + If Type('loLinie.note') = 'C' + laDetaliiLinie[1] = loLinie.note + Else + If Type('loLinie.note._nodetext_') = 'C' + laDetaliiLinie[1] = loLinie.note._nodetext_ + Endif + Endif + Endif + + lnDetaliiLinie = Alen(laDetaliiLinie) + For lnDetaliuLinie = 1 To m.lnDetaliiLinie + lcDetaliiLinie = m.lcDetaliiLinie + Iif(m.lnDetaliuLinie > 1, " ", "") + laDetaliiLinie[m.lnDetaliuLinie] + Endfor + ENDIF + + * Cod articol cumparator/client + lcCodClient = '' + If Type('loLinie.item.BuyersItemIdentification.ID') = 'C' + lcCodClient = Alltrim(loLinie.item.BuyersItemIdentification.ID) + Else + If Type('loLinie.item.BuyersItemIdentification.ID._nodetext_') = 'C' + lcCodClient = Alltrim(loLinie.item.BuyersItemIdentification.ID._nodetext_) + Endif + ENDIF + + * Cod articol vanzator/furnizor + lcCodFurnizor = '' + If Type('loLinie.item.SellersItemIdentification.ID') = 'C' + lcCodFurnizor = Alltrim(loLinie.item.SellersItemIdentification.ID) + Else + If Type('loLinie.item.SellersItemIdentification.ID._nodetext_') = 'C' + lcCodFurnizor = Alltrim(loLinie.item.SellersItemIdentification.ID._nodetext_) + Endif + ENDIF + + * Cod de bare articol + lcCodBare = '' + If Type('loLinie.item.StandardItemIdentification.ID') = 'C' + lcCodBare = Alltrim(loLinie.item.StandardItemIdentification.ID) + Else + If Type('loLinie.item.StandardItemIdentification.ID._nodetext_') = 'C' + lcCodBare = Alltrim(loLinie.item.StandardItemIdentification.ID._nodetext_) + Endif + ENDIF + + lcCodCPV = '' + lcCodNC8 = '' + If Type('loLinie.item.CommodityClassification') <> 'U' + If Type('loLinie.item.CommodityClassification', 1) = 'A' + Acopy(loLinie.item.CommodityClassification, laCommodityClassification) + Else + If Type('loLinie.item.CommodityClassification') = 'O' + laCommodityClassification[1] = loLinie.item.CommodityClassification + Endif + Endif + + lnCommodityClassifications = Alen(laCommodityClassification) + For lnCommodityClassification = 1 To m.lnCommodityClassifications + loCommodityClassification = laCommodityClassification[lnCommodityClassification] + IF TYPE('loCommodityClassification.ItemClassificationCode') = 'O' + loItemClassificationCode = loCommodityClassification.ItemClassificationCode + IF TYPE('loItemClassificationCode._attr_.listid') = 'C' AND TYPE('loItemClassificationCode._nodetext_') = 'C' + lcTip = UPPER(ALLTRIM(loItemClassificationCode._attr_.listid)) + lcCod = ALLTRIM(loItemClassificationCode._nodetext_) + DO CASE + CASE m.lcTip = 'EN' AND EMPTY(m.lcCodBare)&& cod bare + lcCodBare = m.lcCod + CASE m.lcTip = 'STI' && cod CPV + lcCodCPV = m.lcCod + CASE m.lcTip = 'TSP' && cod NC8 + lcCodNC8 = m.lcCod + ENDCASE + ENDIF && type + ENDIF && type + Endfor + ENDIF + + lnCant = Val(loLinie.invoicedquantity._nodetext_) + lcUM = loLinie.invoicedquantity._attr_.unitcode + lnPret = Val(loLinie.price.priceamount._nodetext_) + lcValuta = loLinie.price.priceamount._attr_.currencyid + lnDiscountLinie = 0 + IF TYPE('loLinie.AllowanceCharge.Amount._nodetext_') = 'C' + lnDiscountLinie = Val(loLinie.AllowanceCharge.Amount._nodetext_) + ENDIF + + lnProcTva = 0 + If Type('loLinie.item.ClassifiedTaxCategory.percent') = 'C' + lnProcTva = Val(loLinie.item.ClassifiedTaxCategory.percent) + Else + If Type('loLinie.item.ClassifiedTaxCategory.percent._nodetext_') = 'C' + lnProcTva = Val(loLinie.item.ClassifiedTaxCategory.percent._nodetext_) + Endif + ENDIF + + lcTipTVA = "" && S standard/Z neplatitor TVA/AE taxare inversa + If Type('loLinie.item.ClassifiedTaxCategory.ID') = 'C' + lcTipTva = loLinie.item.ClassifiedTaxCategory.ID + Else + If Type('loLinie.item.ClassifiedTaxCategory.ID._nodetext_') = 'C' + lcTipTva = loLinie.item.ClassifiedTaxCategory.ID._nodetext_ + Endif + Endif + +* Tip CreditNote am vazut ca nu are cantitate si pret negative pe linie, dar are valoare fara tva negativ!!! + If m.llCreditNote And m.lnCant > 0 And m.lnPret > 0 And m.lnValoareFaraTVA< 0 + lnCant = -1 * m.lnCant + Endif + + Insert Into cFacturaDetaliiTemp(nr, cant, um, articol, descriere, detalii, Pret, proctva, tiptva, valoarefaratva, discountfaratva, codfurnizor, codclient, codbare, codcpv, codnc8) Values (m.lnNr, m.lnCant, m.lcUM, m.lcArticol, m.lcArticolDescriere, m.lcDetaliiLinie, m.lnPret, lnProcTva, m.lcTipTva, m.lnValoareFaraTVA, m.lnDiscountLinie, m.lcCodFurnizor, m.lcCodClient, m.lcCodBare, m.lcCodCPV, m.lcCodNC8) + Endfor + Catch To loEx + loReturn.eroare = .T. + goLog.Log('Eroare la salvarea datelor extrase din xml eFactura. ' + 'Eroare: ' + TRANSFORM(loEx.ErrorNo) + ' ' + loEx.Message + ' Continut:' + loEx.LineContents + + ' Linia: ' + TRANSFORM(loEx.LineNo) + ' Program: ' + loEx.Procedure) + Set Step On + Endtry + + Cursortoxml("cfacturadetaliitemp", "lcFacturaDetalii", 1, 0 + 8, 0, "1") + loReturn.facturadetalii = m.lcFacturaDetalii + + USE IN (SELECT('cFacturaDetaliiTemp')) + + * cursor linii discount/taxe la nivel de factura + IF TYPE('lofactura.invoice.AllowanceCharge') <> 'U' + + If Type('lofactura.invoice.AllowanceCharge', 1) = 'A' + Acopy(loFactura.Invoice.AllowanceCharge, laLiniiDisc) + Else + laLiniiDisc[1] = loFactura.Invoice.AllowanceCharge + Endif + + Try + lnLinii = Alen(laLiniiDisc) + For lnLinie = 1 To m.lnLinii + loLinie = laLiniiDisc[m.lnLinie] + lnDiscount = 1 + If Type('loLinie.ChargeIndicator') = 'C' + lnDiscount = IIF(LOWER(ALLTRIM(loLinie.ChargeIndicator)) = 'false', 1, 0) && discount = false, taxe = true + Else + If Type('loLinie.ChargeIndicator._nodetext_') = 'C' + lnDiscount = IIF(LOWER(ALLTRIM(loLinie.ChargeIndicator._nodetext_)) = 'false', 1, 0) + Endif + ENDIF + + lcMotivDiscount = '' + If Type('loLinie.AllowanceChargeReason') = 'C' + lcMotivDiscount = ALLTRIM(loLinie.AllowanceChargeReason) + Else + If Type('loLinie.AllowanceChargeReason._nodetext_') = 'C' + lcMotivDiscount = ALLTRIM(loLinie.AllowanceChargeReason._nodetext_) + Endif + ENDIF + + lcMotivDiscountCod = '' + If Type('loLinie.AllowanceChargeReasonCode') = 'C' + lcMotivDiscountCod = ALLTRIM(loLinie.AllowanceChargeReasonCode) + Else + If Type('loLinie.AllowanceChargeReasonCode._nodetext_') = 'C' + lcMotivDiscountCod = ALLTRIM(loLinie.AllowanceChargeReasonCode._nodetext_) + Endif + ENDIF + + lnValoare = 0 + If Type('loLinie.Amount._nodetext_') = 'C' + lnValoare = Val(loLinie.Amount._nodetext_) + ENDIF + + lnProcTva = 0 + If Type('loLinie.TaxCategory.Percent') = 'C' + lnProcTva = val(loLinie.TaxCategory.Percent) + Else + If Type('loLinie.TaxCategory.Percent._nodetext_') = 'C' + lnProcTva = val(loLinie.TaxCategory.Percent._nodetext_) + Endif + ENDIF + + lcTipTVA = "" && S standard/Z neplatitor TVA/AE taxare inversa + If Type('loLinie.item.ClassifiedTaxCategory.ID') = 'C' + lcTipTva = loLinie.item.ClassifiedTaxCategory.ID + Else + If Type('loLinie.item.ClassifiedTaxCategory.ID._nodetext_') = 'C' + lcTipTva = loLinie.item.ClassifiedTaxCategory.ID._nodetext_ + Endif + Endif + + Insert Into cFacturaDetaliiDisc(valoare, procenttva, tiptva, discount, motivdiscount, motivdiscountcod) Values (m.lnValoare, m.lnProcTva, m.lcTipTVA, m.lnDiscount, m.lcMotivDiscount, m.lcMotivDiscountCod) + Endfor + Catch To loEx + loReturn.eroare = .T. + goLog.Log('Eroare la salvarea datelor extrase din xml eFactura. ' + 'Eroare: ' + TRANSFORM(loEx.ErrorNo) + ' ' + loEx.Message + ' Continut:' + loEx.LineContents + + ' Linia: ' + TRANSFORM(loEx.LineNo) + ' Program: ' + loEx.Procedure) + Set Step On + Endtry + + Cursortoxml("cFacturaDetaliiDisc", "lcFacturaDetaliiDisc", 1, 0 + 8, 0, "") + loReturn.facturadetaliiDisc = m.lcFacturaDetaliiDisc + + USE IN (SELECT('cFacturaDetaliiTVA')) + ENDIF && TYPE('lofactura.invoice.AllowanceCharge') <> 'U' + + Catch To loEx + loReturn.eroare = .T. + AMESSAGEBOX(loEx.Message) + Set Step On + Endtry + + Return loReturn +Endproc && ParseEFactura + +****************************** +PROCEDURE TestParseEFactura + + Local loEfactura As "ExportEFactura" + Local lcFile, loFactura + *:Global pcDetaliiXML, pcFurnizorXML, pcNumarActXML, pcNumeValutaXML, pcXMLFacturaDetalii + *:Global pdDataActXML, pdDataScadXML, pnDiscountFaraTVAXML, pnTaxeFaraTVAXML, pnTotalCuTVAXML + *:Global pnTotalFaraTVAXML, pnTotalTVAXML, pnTotaldePlataXML, pnValoareFaraTVAXML + + lcSetProcedure = LOWER(SET("Procedure")) + lcSetClasslib = LOWER(SET("Classlib")) + + * json read + IF !'nfxmlread'$lcSetProcedure + SET PROCEDURE TO 'd:\roa\roacont\comun\utile\nfxml\nfxmlread.prg' ADDITIVE + ENDIF + + * amessagebox + IF !'oproceduri_comune'$lcSetProcedure + SET PROCEDURE TO 'd:\roa\roacont\comun\programe\oproceduri_comune.prg' ADDITIVE + ENDIF + SET STEP ON + + lcFile = GETFILE('xml','Fisier xml','Deschide', 0, "Fisier xml eFactura") + IF EMPTY(m.lcFile) + RETURN + ENDIF + + TRY + loFactura = ParseEfactura(m.lcFile) + + pcNumarActXML = loFactura.numaract + pdDataActXML = loFactura.dataact + pdDataScadXML = loFactura.datascad + pcFurnizorXML = loFactura.furnizor + pcDetaliiXML = loFactura.detalii + pcDetaliiPlataXML = loFactura.DetaliiPlata + pnTotalFaraTVAXML = loFactura.TotalFaraTva + pnTotalTVAXML = loFactura.TotalTva + pnTotalTVARONXML = loFactura.TotalTvaRON && daca factura este in valuta, se completeaza TotalTVARON + pnTotalCuTVAXML = loFactura.TotalCuTva + pnDiscountFaraTVAXML = loFactura.DiscountFaraTVA + pnTaxeFaraTVAXML = loFactura.TaxeFaraTVA + pnValoareFaraTVAXML = loFactura.ValoareFaraTVA && suma valoare fara tva articole + pnTotaldePlataXML = loFactura.TotaldePlata + pcNumeValutaXML = loFactura.valuta + pcXMLFacturaDetalii = loFactura.FacturaDetalii + + XMLTOCURSOR(m.pcXmlFacturaDetalii, "factura_detalii") + Catch To loEx + MESSAGEBOX(loEx.message) + ENDTRY + +ENDPROC && TestParseEFactura + \ No newline at end of file diff --git a/programe/ashowcursor.prg b/programe/ashowcursor.prg new file mode 100644 index 0000000..9447426 --- /dev/null +++ b/programe/ashowcursor.prg @@ -0,0 +1,921 @@ +** +** wwshowcursor.fxp +** + EXTERNAL ARRAY lvHeader +ENDPROC +* +DEFINE CLASS aShowCursor AS CUSTOM + DIMENSION afIeldlist[1] + nfIeldcount = 0 + ctAbletitle = "" + chEaderstring = "" + chEaderbgcolor = "DarkBlue" + chEadercolor = "White" + chEaderfont = "Verdana,Helvetica" + ctAblebgcolor = "#EEEEEE" + caLternatingbgcolor = "#B0DAFF" + laLternaterows = .F. + ctAblewidth = "98%" + ctAbleborder = "2" + ceXtratabletags = 'style="font:normal normal 10pt Verdana;border-collapse: collapse;border-color:black" bordercolor="darkgray"' + ccEllpadding = "3" + ccEllspacing = "0" + naSciileftcolumns = 20 + nmEmowidth = 25 + lcEntertable = .T. + lsUmnumerics = .F. + lsHowastable = .T. + lsOrtable = .F. + npAge_itemsperpage = 0 + npAge_showpage = 0 + npAge_totalpages = 0 + npAge_nextpage = 0 + npAge_prevpage = 0 + cpAge_pageurl = "" + cpAge_linkhtml = "" + cpAge_oldalias = "" + nfOrcetoprelist = 40000 + ohTml = .NULL. + cbAseurl = "" + ckEyfield = "" + ckEytype = "N" + ctAblefieldlist = "" + ctAbleeditfieldlist = "" + ctAblerecordfieldlist = "" + ctAblesortcolumn = "" + laLlowadd = .T. + laLlowdelete = .T. + coLdalias = "" + cnEwalias = "" + cSumLista= "" + lSumLista = .F. +* + PROCEDURE INIT + LPARAMETER loHtml + IF VARTYPE(loHtml)<>"O" + THIS.ohTml = CREATEOBJECT('wwResponseStringNoBuffer') + ELSE + THIS.ohTml = loHtml + ENDIF + THIS.nfIeldcount = AFIELDS(THIS.afIeldlist) + + + ENDPROC +* + PROCEDURE SetCursor + LPARAMETER lcDbf + lcDbf = IIF(TYPE("lcDBF")="C", lcDbf, "") + lcStem = JUSTSTEM(lcDbf) + IF .NOT. USED(lcStem) + THIS.coLdalias = ALIAS() + USE (lcDbf) IN 0 + ENDIF + SELECT (lcStem) + ENDPROC +* + PROCEDURE DESTROY + IF .NOT. EMPTY(THIS.coLdalias) .AND. USED(THIS.coLdalias) + USE IN (THIS.cnEwalias) + IF .NOT. EMPTY(THIS.coLdalias) + SELECT (THIS.coLdalias) + ENDIF + THIS.coLdalias = "" + THIS.cnEwalias = "" + ENDIF + ENDPROC +* + PROCEDURE BuildFieldListHeader + LPARAMETER lvHeader, llPrelist + LOCAL lcHeader, lnX + lcHeader = "" + IF .NOT. EMPTY(THIS.chEaderstring) + RETURN + ENDIF + IF THIS.lsOrtable .AND. EMPTY(THIS.cbAseurl) + THIS.cbAseurl = REQUEST.geTcurrenturl()+"&" + ENDIF + IF .NOT. llPrelist + IF TYPE("lvHeader[1]")<>"U" + lcHeader = "" + THIS.nfIeldcount = ALEN(lvHeader, 1) + FOR lnX = 1 TO THIS.nfIeldcount + lcHeader = lcHeader+''+lvHeader(lnX)+ ; + '' + ENDFOR + ELSE + FOR lnX = 1 TO THIS.nfIeldcount + IF THIS.afIeldlist(lnX,2)="M" + THIS.afIeldlist[lnX, 3] = THIS.nmEmowidth + ENDIF + IF THIS.afIeldlist(lnX,2)="T" + THIS.afIeldlist[lnX, 3] = 20 + ENDIF + IF THIS.afIeldlist(lnX,2)="I" + THIS.afIeldlist[lnX, 3] = 9 + ENDIF + IF THIS.lsOrtable .AND. THIS.afIeldlist(lnX,2)$"CNIL" + lcFieldName = PROPER(CHRTRAN(THIS.afIeldlist[lnX,1],"_"," ")) + " " + [] + CHR(0x35) +" " + [] + CHR(0x36) +" " + CHR(13)+CHR(10) + ELSE + lcFieldName = PROPER(CHRTRAN(THIS.afIeldlist(lnX, ; + 1), "_", " ")) + ENDIF + lcHeader = lcHeader+''+lcFieldName+ ; + '' + ENDFOR + ENDIF + THIS.chEaderstring = ''+ ; + lcHeader+'' + ELSE + IF TYPE("lvHeader[1]")="U" + lcHeader = "" + FOR lnX = 1 TO lnFields + IF LEN(TRIM(THIS.afIeldlist(lnX,1)))> ; + THIS.afIeldlist(lnX,3) + THIS.afIeldlist[lnX, 3] = ; + LEN(TRIM(THIS.afIeldlist(lnX,1))) + ENDIF + IF THIS.afIeldlist(lnX,2)="M" + THIS.afIeldlist[lnX, 3] = THIS.nmEmowidth + ENDIF + IF THIS.afIeldlist(lnX,2)="T" + THIS.afIeldlist[lnX, 3] = 20 + ENDIF + IF THIS.afIeldlist(lnX,2)="I" + THIS.afIeldlist[lnX, 3] = 9 + ENDIF + IF THIS.afIeldlist(lnX,2)$"NFBIY" + lcHeader = lcHeader+""+ ; + PADC(THIS.afIeldlist(lnX,1), ; + THIS.afIeldlist(lnX,3))+" " + ELSE + lcHeader = lcHeader+""+ ; + PADC(THIS.afIeldlist(lnX,1), ; + THIS.afIeldlist(lnX,3))+" " + ENDIF + ENDFOR + ELSE + lcHeader = "" + FOR lnX = 1 TO ALEN(lvHeader, 1) + IF LEN(TRIM(lvHeader(lnX)))>THIS.afIeldlist(lnX,3) + THIS.afIeldlist[lnX, 3] = ; + LEN(TRIM(THIS.afIeldlist(lnX,1))) + ENDIF + IF THIS.afIeldlist(lnX,2)="M" + THIS.afIeldlist[lnX, 3] = 20 + ENDIF + IF THIS.afIeldlist(lnX,2)="T" + THIS.afIeldlist[lnX, 3] = 20 + ENDIF + lnSizeloc = ATC(":", lvHeader(lnX)) + IF lnSizeloc>0 + lnSize = VAL(SUBSTR(ALLTRIM(lvHeader(lnX)), ; + lnSizeloc+1)) + lvHeader[lnX] = SUBSTR(lvHeader(lnX), 1, lnSizeloc-1) + ELSE + lnSize = THIS.afIeldlist(lnX,3) + ENDIF + IF THIS.afIeldlist(lnX,2)$"NFBIY" + lcHeader = lcHeader+""+PADC(lvHeader(lnX), ; + lnSize)+" " + ELSE + lcHeader = lcHeader+""+PADC(lvHeader(lnX), ; + lnSize)+" " + ENDIF + ENDFOR + ENDIF + THIS.chEaderstring = lcHeader + ENDIF + ENDPROC +* + FUNCTION ShowCursor + LOCAL lcHeader, lnX, laTotals, lcOutput, lnSizeloc, lnSize, lvValue + IF EMPTY(ALIAS()) + RETURN "" + ENDIF + IF THIS.lsOrtable + lnSort = VAL(REQUEST.quErystring("Sorted")) + IF lnSort>0 + THIS.ctAblesortcolumn = TRANSFORM(lnSort) + IF .NOT. EMPTY(REQUEST.quErystring("SortDescending")) + THIS.ctAblesortcolumn = THIS.ctAblesortcolumn+ ; + " DESCENDING" + ENDIF + ENDIF + ENDIF + IF .NOT. EMPTY(THIS.ctAblefieldlist) + lcFields = THIS.ctAblefieldlist + lcOrder = IIF( .NOT. EMPTY(THIS.ctAblesortcolumn), "ORDER BY "+ ; + THIS.ctAblesortcolumn, "") + SELECT &lcFields FROM ALIAS() &lcOrder INTO CURSOR __TQuery + THIS.nfIeldcount = AFIELDS(THIS.afIeldlist) + ELSE + IF .NOT. EMPTY(THIS.ctAblesortcolumn) + lcOrder = IIF( .NOT. EMPTY(THIS.ctAblesortcolumn), ; + "ORDER BY "+THIS.ctAblesortcolumn, "") + SELECT * FROM ( ALIAS() ) &lcOrder INTO CURSOR __TQuery + ENDIF + ENDIF + lcOutput = "" + lnFields = THIS.nfIeldcount + lnReccount = RECCOUNT() + IF THIS.npAge_itemsperpage<>0 + THIS.paGefilter() + lnReccount = RECCOUNT() + ENDIF +* IF thIs.lsUmnumerics + DIMENSION laTotals[1, lnFields] + laTotals = 0 +* ENDIF + + IF THIS.lSumLista + LOCAL lalistacol + DIMENSION lalistacol[1, lnFields] + + lista2array(THIS.cSumLista,@lalistacol) + + ENDIF + + IF THIS.lsHowastable .AND. lnReccount*lnFields<=THIS.nfOrcetoprelist+1 + IF .NOT. EMPTY(THIS.ctAbletitle) + lcTitle = '

    '+THIS.ctAbletitle+ ; + '

    ' + ELSE + lcTitle = "" + ENDIF + THIS.ohTml.WRITE(IIF(THIS.lcEntertable, '
    '+CHR(13)+ ; + CHR(10), '')+''+CHR(13)+CHR(10)+IIF( ; + .NOT. EMPTY(lcTitle), lcTitle+CHR(13)+CHR(10), "")) + THIS.BuildFieldListHeader() + THIS.ohTml.WRITE(THIS.chEaderstring) + llAlternate = .T. + SCAN + lcRow = "" + FOR lnX = 1 TO lnFields + lcFieldName = THIS.afIeldlist(lnX,1) + lcFieldtype = THIS.afIeldlist(lnX,2) + lvValue = EVALUATE(lcFieldName) + DO CASE + CASE ISNULL(lvValue) + lcRow = lcRow+"" + CASE lcFieldtype="C" + lcRow = lcRow+"" + CASE lcFieldtype="M" + lcRow = lcRow+"" + CASE lcFieldtype$"NFBIY" + lcRow = lcRow+'' + IF THIS.lsUmnumerics OR (THIS.lSumLista AND ASCAN(lalistacol,ALLTRIM(STR(lnX)))>0) + laTotals[1, lnX] = laTotals(1,lnX)+lvValue + ENDIF + + CASE lcFieldtype="L" + lcRow = lcRow+'' + CASE lcFieldtype="D" + lcRow = lcRow+'' + CASE lcFieldtype="T" + lcRow = lcRow+'' + ENDCASE + ENDFOR + IF THIS.laLternaterows .AND. llAlternate + lcRow = ''+ ; + lcRow+"" + ELSE + lcRow = ''+lcRow+"" + ENDIF + llAlternate = .NOT. llAlternate + THIS.ohTml.WRITE(lcRow+CHR(13)+CHR(10)) + ENDSCAN + IF THIS.lsUmnumerics OR THIS.lSumLista && + lcRow = "" + FOR lnX = 1 TO lnFields + lcFieldName = THIS.afIeldlist(lnX,1) + lcFieldtype = THIS.afIeldlist(lnX,2) + IF lcFieldtype$"NFBIY" + lnTotal = laTotals(1,lnX) + IF this.lsumlista AND ASCAN(lalistacol,ALLTRIM(STR(lnX)))<=0 + lcRow = lcRow+"" + ELSE + lcRow = lcRow+'' + ENDIF + ELSE + lcRow = lcRow+"" + ENDIF + + ENDFOR + THIS.ohTml.WRITE(''+lcRow+''+CHR(13)+CHR(10)) + ENDIF + IF THIS.npAge_itemsperpage<>0 + IF USED("_TXQuery") + USE IN _TXQuery + ENDIF + IF USED(THIS.cpAge_oldalias) + SELECT (THIS.cpAge_oldalias) + ENDIF + IF .NOT. EMPTY(THIS.cpAge_linkhtml) + THIS.ohTml.faStwrite('') + ENDIF + ENDIF + THIS.ohTml.WRITE("
    n/a"+IIF(EMPTY(lvValue), ; + "
    ", TRIM(lvValue))+"
    "+IIF(EMPTY(lvValue), ; + "
    ", ; + THIS.ohTml.wrItememo(lvValue,.T.))+ ; + "
    '+ ; + LTRIM(STR(lvValue, ; + THIS.afIeldlist(lnX,3), ; + THIS.afIeldlist(lnX,4)))+''+ ; + IIF(lvValue, "True", "False")+''+ ; + IIF(EMPTY(lvValue), "
    ", ; + DTOC(lvValue))+'
    '+ ; + IIF(EMPTY(lvValue), "
    ", ; + LOWER(TTOC(lvValue)))+'
    '+STR(lnTotal, ; + THIS.afIeldlist(lnX,3)+1, ; + THIS.afIeldlist(lnX,4))+'
    '+''+THIS.cpAge_linkhtml+ ; + '
    "+IIF(THIS.lcEntertable, '
    ', ; + '')+CHR(13)+CHR(10)) + ELSE + THIS.ohTml.WRITE('
    '+CHR(13)+CHR(10)+IIF(THIS.lcEntertable,  ;
    +				'
    '+CHR(13)+CHR(10), '')) + IF .NOT. EMPTY(THIS.ctAbletitle) + lcTitle = '

    '+THIS.ctAbletitle+'

    ' + ELSE + lcTitle = "" + ENDIF + THIS.chEaderstring = "" + THIS.BuildFieldListHeader( ,.T.) + THIS.ohTml.faStwrite(THIS.chEaderstring+CHR(13)+CHR(10)) + SCAN + lcRow = "" + FOR lnX = 1 TO lnFields + lcFieldName = THIS.afIeldlist(lnX,1) + lcFieldtype = THIS.afIeldlist(lnX,2) + lvValue = EVALUATE(lcFieldName) + DO CASE + CASE ISNULL(lvValue) + lcRow = lcRow+PADC("n/a", ; + THIS.afIeldlist(lnX,3)) + CASE lcFieldtype="C" + lcRow = lcRow+PADR(lvValue, ; + THIS.afIeldlist(lnX,3)) + CASE lcFieldtype="M" + lcRow = lcRow+PADR(MLINE(lvValue, 1), 25) + CASE lcFieldtype$"NFBIY" + lcRow = lcRow+STR(lvValue, ; + THIS.afIeldlist(lnX,3), ; + THIS.afIeldlist(lnX,4)) + IF THIS.lsUmnumerics OR (THIS.lSumLista AND ASCAN(lalistacol,ALLTRIM(STR(lnX)))>0) + laTotals[1, lnX] = laTotals(1,lnX)+lvValue + ENDIF + CASE lcFieldtype="L" + lcRow = lcRow+PADR(IIF(lvValue, "True ", ; + "False"), THIS.afIeldlist(lnX,3)) + CASE lcFieldtype="D" + lcRow = lcRow+DTOC(lvValue) + CASE lcFieldtype="T" + lcRow = lcRow+TTOC(lvValue) + ENDCASE + lcRow = lcRow+" | " + ENDFOR + THIS.ohTml.faStwrite(lcRow+CHR(13)+CHR(10)) + ENDSCAN + IF THIS.lsUmnumerics OR THIS.lSumLista + lcRow = "" + FOR lnX = 1 TO lnFields + lcFieldName = THIS.afIeldlist(lnX,1) + lcFieldtype = THIS.afIeldlist(lnX,2) + IF lcFieldtype$"NFBIY" + lnTotal = laTotals(1,lnX) && + IF this.lSumLista AND ASCAN(lalistacol,ALLTRIM(STR(lnX)))<=0 + lcRow = lcRow+SPACE(THIS.afIeldlist(lnX,3)+3) + ELSE + lcRow = lcRow+STR(lnTotal, THIS.afIeldlist(lnX, ; + 3), THIS.afIeldlist(lnX,4))+" " + ENDIF + ELSE + lcRow = lcRow+SPACE(THIS.afIeldlist(lnX,3)+3) + ENDIF + + ENDFOR + THIS.ohTml.faStwrite(''+lcRow+'') + ENDIF + THIS.ohTml.faStwrite(IIF(THIS.lcEntertable, '
    '+ ; + CHR(13)+CHR(10), '')+"
    ") + ENDIF + IF .NOT. EMPTY(THIS.ctAblefieldlist) + IF USED("__TQuery") + USE IN __TQuery + ENDIF + ENDIF + RETURN + ENDFUNC +* + PROCEDURE ShowASCIIRecord + LOCAL lnX, lcFieldcaption, lnFieldcount, lcFieldtype, lcFieldName + lcOutput = "" + lcFieldcaption = "" + IF .NOT. EMPTY(DBC()) .AND. INDBC(ALIAS()+'.'+THIS.afIeldlist(1,1), ; + 'Field') .AND. TYPE(ALIAS()+"."+THIS.afIeldlist(1,1))<>"U" + FOR lnX = 1 TO THIS.nfIeldcount + lcFieldcaption = PROPER(PADL(DBGETPROP(ALIAS()+"."+ ; + THIS.afIeldlist(lnX,1), "FIELD", ; + "Caption"), 25))+": " + THIS.afIeldlist[lnX, 11] = lcFieldcaption + ENDFOR + ELSE + FOR lnX = 1 TO THIS.nfIeldcount + THIS.afIeldlist[lnX, 11] = ; + PADL(PROPER(THIS.afIeldlist(lnX,1)), ; + THIS.naSciileftcolumns)+": " + ENDFOR + ENDIF + FOR lnX = 1 TO THIS.nfIeldcount + lcFieldName = THIS.afIeldlist(lnX,1) + lcFieldtype = THIS.afIeldlist(lnX,2) + lcFieldcaption = THIS.afIeldlist(lnX,11) + lvValue = EVALUATE(lcFieldName) + lcRow = lcFieldcaption + DO CASE + CASE ISNULL(lvValue) + lcRow = lcRow+"n/a" + CASE lcFieldtype="C" + lcRow = lcRow+TRIM(lvValue) + CASE lcFieldtype="M" + lcRow = lcRow+THIS.ohTml.wrItememo(TRIM(lvValue),.T.) + CASE lcFieldtype$"NFBIY" + lcRow = lcRow+LTRIM(STR(lvValue, THIS.afIeldlist(lnX, ; + 3), THIS.afIeldlist(lnX,4))) + CASE lcFieldtype="L" + lcRow = lcRow+IIF(lvValue, "True", "False") + CASE lcFieldtype="D" + lcRow = lcRow+DTOC(lvValue) + CASE lcFieldtype="T" + lcRow = lcRow+TTOC(lvValue) + ENDCASE + THIS.ohTml.WRITE(lcRow+CHR(13)+CHR(10)) + ENDFOR + ENDPROC +* + PROCEDURE ShowRecord + LOCAL lnX, lcFieldcaption, lnFieldcount, lcFieldtype, lcFieldName + lcOutput = "" + lcFieldcaption = "" + lcFieldlist = THIS.ctAblerecordfieldlist + IF .NOT. EMPTY(lcFieldlist) + lcFields = lcFieldlist + lnRecno = RECNO() + SELECT &lcFields FROM ALIAS() WHERE RECNO() = lnRecno INTO CURSOR __TQuery + THIS.nfIeldcount = AFIELDS(THIS.afIeldlist) + ENDIF + THIS.ohTml.WRITE(IIF(THIS.lcEntertable, '
    '+CHR(13)+CHR(10), ; + '')+'') + IF .NOT. EMPTY(DBC()) .AND. INDBC(ALIAS()+'.'+THIS.afIeldlist(1,1), ; + 'Field') .AND. TYPE(ALIAS()+"."+THIS.afIeldlist(1,1))<>"U" + FOR lnX = 1 TO THIS.nfIeldcount + lcCaption = DBGETPROP(ALIAS()+"."+THIS.afIeldlist(lnX,1), ; + "FIELD", "Caption") + lcCaption = IIF( .NOT. EMPTY(lcCaption), lcCaption, ; + PROPER(THIS.afIeldlist(lnX,1))) + lcCaption = PROPER(STRTRAN(lcCaption, "_", " ")) + lcFieldcaption = '' + THIS.afIeldlist[lnX, 11] = lcFieldcaption + ENDFOR + ELSE + FOR lnX = 1 TO THIS.nfIeldcount + THIS.afIeldlist[lnX, 11] = '' + ENDFOR + ENDIF + FOR lnX = 1 TO THIS.nfIeldcount + lcFieldName = THIS.afIeldlist(lnX,1) + lcFieldtype = THIS.afIeldlist(lnX,2) + lcFieldcaption = THIS.afIeldlist(lnX,11) + lvValue = EVALUATE(lcFieldName) + lcRow = lcFieldcaption + DO CASE + CASE ISNULL(lvValue) + lcRow = lcRow+"" + CASE lcFieldtype="C" .OR. lcFieldtype="M" + lcRow = lcRow+"" + CASE lcFieldtype$"NFBY" + lcRow = lcRow+'' + CASE lcFieldtype="I" + lcRow = lcRow+'' + CASE lcFieldtype="L" + lcRow = lcRow+'' + CASE lcFieldtype="D" + lcRow = lcRow+'' + CASE lcFieldtype="T" + lcRow = lcRow+'' + ENDCASE + THIS.ohTml.WRITE(lcRow+""+CHR(13)+CHR(10)) + ENDFOR + THIS.ohTml.WRITE("
    '+lcCaption+":"+ ; + '
    '+ ; + PROPER(STRTRAN(THIS.afIeldlist(lnX,1), "_", ; + " "))+'n/a"+IIF(EMPTY(lvValue), "
    ", ; + THIS.ohTml.wrItememo(lvValue,.T.))+"
    '+LTRIM(STR(lvValue, ; + THIS.afIeldlist(lnX,3), THIS.afIeldlist(lnX, ; + 4)))+''+TRANSFORM(lvValue)+''+IIF(lvValue, "True", "False")+''+IIF(EMPTY(lvValue), "
    ", ; + DTOC(lvValue))+'
    '+IIF(EMPTY(lvValue), "
    ", ; + TTOC(lvValue))+'
    "+CHR(13)+CHR(10)+IIF(THIS.lcEntertable, ; + '
    '+CHR(13)+CHR(10), "")) + ENDPROC +* + PROCEDURE ShowObject + LPARAMETER loObject + LOCAL lnX, lcFieldcaption, lnFieldcount, lcFieldtype, lcFieldName, lcRow + lcOutput = "" + THIS.ohTml.WRITE(IIF(THIS.lcEntertable, '
    '+CHR(13)+CHR(10), ; + '')+'') + lnFieldcount = AMEMBERS(laFields, loObject) + FOR lnX = 1 TO lnFieldcount + lcField = laFields(lnX) + lcRow = '' + lvValue = EVALUATE("loObject."+lcField) + lcType = VARTYPE(lvValue) + DO CASE + CASE ISNULL(lvValue) + lcValue = "null" + CASE lcType="C" + IF EMPTY(lvValue) + lcValue = " " + ELSE + lcValue = diSplaymemo(lvValue) + ENDIF + CASE lcType="D" + lcValue = TRANSFORM(lvValue) + CASE lcType="T" + lcValue = tiMetoc(lvValue) + CASE lcType="L" + lcValue = IIF(lvValue, "True", "False") + CASE lcType="O" + lcValue = "Object" + CASE lcType="U" + lcValue = "Undefined" + OTHERWISE + lcValue = TRANSFORM(lvValue) + ENDCASE + THIS.ohTml.WRITE(lcRow+""+CHR(13)+CHR(10)) + ENDFOR + THIS.ohTml.WRITE(IIF(THIS.lcEntertable, ''+CHR(13)+CHR(10), ; + "")+"
    '+ ; + PROPER(lcField)+":"+'"+lcValue+"
    "+CHR(13)+CHR(10)) + ENDPROC +* + PROCEDURE EditRecord + LOCAL lnX, lcFieldcaption, lnFieldcount, lcFieldtype, lcFieldName, ; + lcKeyvalue + lcOutput = "" + lcFieldcaption = "" + lcFieldlist = THIS.ctAbleeditfieldlist + IF .NOT. EMPTY(THIS.ckEyfield) + lcKeyvalue = EVALUATE(THIS.ckEyfield) + ELSE + lcKeyvalue = "" + ENDIF + IF .NOT. EMPTY(lcFieldlist) + lcFields = lcFieldlist + lnRecno = RECNO() + SELECT &lcFields FROM ALIAS() WHERE RECNO() = lnRecno INTO CURSOR __TQuery + THIS.nfIeldcount = AFIELDS(THIS.afIeldlist) + ENDIF + THIS.ohTml.WRITE(IIF(THIS.lcEntertable, '
    '+CHR(13)+CHR(10), ; + '')+''+CHR(13)+CHR(10)) + IF .NOT. EMPTY(DBC()) .AND. INDBC(ALIAS()+'.'+THIS.afIeldlist(1,1), ; + 'Field') .AND. TYPE(ALIAS()+"."+THIS.afIeldlist(1,1))<>"U" + FOR lnX = 1 TO THIS.nfIeldcount + lcCaption = DBGETPROP(ALIAS()+"."+THIS.afIeldlist(lnX,1), ; + "FIELD", "Caption") + lcCaption = IIF( .NOT. EMPTY(lcCaption), lcCaption, ; + PROPER(THIS.afIeldlist(lnX,1))) + lcCaption = PROPER(STRTRAN(lcCaption, "_", " ")) + lcFieldcaption = ''+CHR(13)+CHR(10) + THIS.afIeldlist[lnX, 11] = lcFieldcaption + ENDFOR + ELSE + FOR lnX = 1 TO THIS.nfIeldcount + THIS.afIeldlist[lnX, 11] = ''+CHR(13)+CHR(10) + ENDFOR + ENDIF + FOR lnX = 1 TO THIS.nfIeldcount + lcFieldName = THIS.afIeldlist(lnX,1) + lcFieldtype = THIS.afIeldlist(lnX,2) + lnFieldwidth = THIS.afIeldlist(lnX,3) + lcFieldcaption = THIS.afIeldlist(lnX,11) + lvValue = EVALUATE(lcFieldName) + lcRow = lcFieldcaption + DO CASE + CASE lcFieldtype="C" + lcRow = lcRow+'' + CASE lcFieldtype="M" + lcRow = lcRow+ ; + '' + CASE lcFieldtype$"NFBIY" + lcRow = lcRow+'' + CASE lcFieldtype="L" + lcRow = lcRow+'' + CASE lcFieldtype="D" + lcRow = lcRow+'' + CASE lcFieldtype="T" + lcRow = lcRow+'' + ENDCASE + THIS.ohTml.WRITE(lcRow+""+CHR(13)+CHR(10)) + ENDFOR + IF .NOT. EMPTY(lcKeyvalue) + THIS.ohTml.WRITE('') + ENDIF + THIS.ohTml.WRITE("
    '+lcCaption+":"+ ; + '
    '+ ; + PROPER(STRTRAN(THIS.afIeldlist(lnX,1), "_", ; + " "))+'
    "+IIF(THIS.lcEntertable, '
    '+ ; + CHR(13)+CHR(10), "")+CHR(13)+CHR(10)) + ENDPROC +* + PROCEDURE SaveRecord + LOCAL lnX, lcFieldcaption, lnFieldcount, lcFieldtype, lcFieldName + FOR lnX = 1 TO THIS.nfIeldcount + lcFieldName = THIS.afIeldlist(lnX,1) + lcFieldtype = THIS.afIeldlist(lnX,2) + IF .NOT. REQUEST.isFormvar(lcFieldName) + LOOP + ENDIF + lvValue = REQUEST.FORM(lcFieldName) + DO CASE + CASE lcFieldtype="C" .OR. lcFieldtype="M" + REPLACE &lcFieldName WITH lvValue + CASE lcFieldtype$"NFBIY" + REPLACE &lcFieldName WITH VAL(lvValue) + CASE lcFieldtype="L" + REPLACE &lcFieldName WITH IIF(lvValue="T",.T.,.F.) + CASE lcFieldtype="D" + REPLACE &lcFieldName WITH CTOD(lvValue) + CASE lcFieldtype="T" + REPLACE &lcFieldName WITH CTOT(lvValue) + ENDCASE + ENDFOR + ENDPROC +* + PROCEDURE EditTable + LOCAL lcFields + lcAction = UPPER(REQUEST.quErystring("Action")) + lcId = REQUEST.quErystring("ID") + DO CASE + CASE lcAction="EDIT" .OR. lcAction="ADD" + IF .NOT. THIS.laLlowadd + THIS.ohTml.WRITE( ; + "Sorry! Adding is not allowed at this time..." ; + ) + RETURN + ENDIF + IF lcAction="ADD" + llAdd = .T. + ELSE + llAdd = .F. + ENDIF + loResponse = THIS.ohTml + lcKeyfield = THIS.ckEyfield + IF llAdd + LOCATE FOR .F. + loResponse.WRITE([
    ] +CHR(13)+CHR(10)) + ELSE + IF THIS.ckEytype="N" + LOCATE FOR &lcKeyfield = VAL(lcId) + ELSE + LOCATE FOR &lcKeyfield = lcId + ENDIF + IF .NOT. FOUND() + loResponse.stAndardpage( ; + "Couldn't edit record. Invalid Key Field...", , ; + "NONE") + RETURN + ENDIF + loResponse.WRITE([] +CHR(13)+CHR(10)) + ENDIF + loResponse.WRITE([] +CHR(13)+CHR(10)) + loResponse.WRITE( ; + '

    ' ; + ) + THIS.EditRecord() + loResponse.WRITE( ; + '

    ' ; + ) + loResponse.WRITE('

    '+CHR(13)+CHR(10)) + CASE lcAction="SHOW" + loResponse = THIS.ohTml + lcKeyfield = THIS.ckEyfield + IF THIS.ckEytype="N" + LOCATE FOR &lcKeyfield = VAL(lcId) + ELSE + LOCATE FOR &lcKeyfield = lcId + ENDIF + IF .NOT. FOUND() + loResponse.stAndardpage( ; + "Couldn't edit record. Invalid Key Field...", ,"NONE") + RETURN + ENDIF + THIS.ShowRecord() + CASE lcAction="SAVE" + loResponse = THIS.ohTml + lcKeyfield = THIS.ckEyfield + IF lcAction="SAVENEW" + APPEND BLANK + ELSE + IF THIS.ckEytype="N" + LOCATE FOR &lcKeyfield = VAL(lcId) + ELSE + LOCATE FOR &lcKeyfield = lcId + ENDIF + IF .NOT. FOUND() + loResponse.erRormsg( ; + "Couldn't edit record. Invalid Key Field...") + RETURN + ENDIF + ENDIF + THIS.SaveRecord() + reSponse.reDirect(THIS.cbAseurl) + CASE lcAction="DELETE" + lcKeyfield = THIS.ckEyfield + IF .NOT. THIS.laLlowdelete + THIS.ohTml.WRITE( ; + "Sorry! Deleting is not allowed at this time..." ; + ) + RETURN + ENDIF + IF THIS.ckEytype="N" + LOCATE FOR &lcKeyfield = VAL(lcId) + ELSE + LOCATE FOR &lcKeyfield = lcId + ENDIF + IF .NOT. FOUND() + THIS.ohTml.stAndardpage( ; + "Couldn't delete record. Invalid Key Field...") + RETURN + ENDIF + DELETE + reSponse.reDirect(THIS.cbAseurl) + OTHERWISE + IF THIS.laLlowadd + THIS.ohTml.WRITE('Add a new record

    ') + ENDIF + lcKeyfield = THIS.ckEyfield + IF EMPTY(THIS.ctAblefieldlist) + lcFields = "*" + ELSE + lcFields = THIS.ctAblefieldlist + ENDIF + lcOrder = IIF( .NOT. EMPTY(THIS.ctAblesortcolumn), ; + "ORDER BY "+THIS.ctAblesortcolumn, "") + SELECT &lcFields, PADR([Show | Edit] + IIF(THIS.laLlowdelete,[ | Delete],[]), 254) AS Action FROM ALIAS() &lcOrder INTO CURSOR __TxQuery + THIS.nfIeldcount = AFIELDS(THIS.afIeldlist) + lcOldtablefieldlist = THIS.ctAblefieldlist + THIS.ctAblefieldlist = "" + THIS.ShowCursor() + THIS.ctAblefieldlist = lcOldtablefieldlist + USE IN __TxQuery + ENDCASE + ENDPROC +* + FUNCTION GetOutput + IF .NOT. ISNULL(THIS.ohTml) + RETURN THIS.ohTml.GetOutput() + ENDIF + RETURN "" + ENDFUNC +* + PROCEDURE paGefilter + LOCAL lnX, lcOutput, lcStyle, lnPages, lnReclow, lnHighrec, ; + lnEndpage, lnStartpage, lcNolinkstyle, lnReccount + IF EMPTY(THIS.npAge_showpage) + THIS.npAge_showpage = VAL(REQUEST.quErystring("PAGE")) + IF THIS.npAge_showpage<1 + THIS.npAge_showpage = 1 + ENDIF + ENDIF + lnReccount = RECCOUNT() + IF lnReccount<=THIS.npAge_itemsperpage + RETURN + ENDIF + THIS.cpAge_oldalias = ALIAS() + lnPages = lnReccount/THIS.npAge_itemsperpage + IF INT(lnPages)1 + THIS.npAge_prevpage = THIS.npAge_showpage-1 + ELSE + THIS.npAge_prevpage = 0 + ENDIF + IF THIS.npAge_showpage=0 + THIS.npAge_showpage = 1 + ENDIF + IF THIS.npAge_showpage<=lnPages + lnReclow = (THIS.npAge_showpage-1)*THIS.npAge_itemsperpage+1 + lnHighrec = THIS.npAge_showpage*THIS.npAge_itemsperpage + SELECT * FROM (THIS.cpAge_oldalias) WHERE RECNO()>=lnReclow ; + AND RECNO()<=lnHighrec INTO CURSOR _TXQuery + ENDIF + IF .NOT. EMPTY(THIS.cpAge_pageurl) + IF lnPages<=10 + lnStartpage = 1 + lnEndpage = lnPages + ELSE + lnStartpage = THIS.npAge_showpage-4 + IF lnStartpage<1 + lnStartpage = 1 + ENDIF + lnEndpage = THIS.npAge_showpage+5 + IF lnEndpage>lnPages + lnEndpage = lnPages + ENDIF + ENDIF + lcOutput="Pages:  " + lcStyle = ' STYLE="color:'+THIS.chEadercolor+ ; + ';text-decoration:none underline"' + lcNolinkstyle = ' STYLE="color:'+THIS.chEadercolor+';"' + FOR lnX = lnStartpage TO lnEndpage + IF lnX=THIS.npAge_showpage + lcOutput = lcOutput+' '+ ; + TRANSFORM(lnX)+' ' + ELSE + lcOutput = lcOutput+''+ ; + TRANSFORM(lnX)+' ' + ENDIF + ENDFOR + lcOutput=lcOutput + [     1] + lcOutput=lcOutput + [..] + TRANSFORM(lnPages) + [  ] + IF THIS.npAge_prevpage<>0 + lcOutput = lcOutput+' Prev' + ELSE + lcOutput=lcOutput + [   Prev] + ENDIF + IF THIS.npAge_nextpage<>0 + lcOutput=lcOutput + [  Next] + ELSE + lcOutput=lcOutput + [  Next] + ENDIF + THIS.cpAge_linkhtml=lcOutput + " " + ENDIF + RETURN + ENDPROC +* +ENDDEFINE +* diff --git a/programe/blat.prg b/programe/blat.prg new file mode 100644 index 0000000..6c06a2c --- /dev/null +++ b/programe/blat.prg @@ -0,0 +1,266 @@ +*!* 23.06.2014 +*!* marius.mutu +*!* SendViaBlat: Am pus calea copleta catre blat.dll + +******************************* +*!* Example of using SendViaBLAT +******************************* +#Define PRIORITYHIGH 1 +#Define PRIORITYLOW 0 + + +*!* SET PROCEDURE TO blat.prg ADDITIVE +#If .F. + Dimension aryAttach(2) + aryAttach(1) = "G:\conpress_ziare\PUBLICATIISERVER\log\server_PUBLICATIISERVER_20090810.log" && change to an actual file that exists on your computer + aryAttach(2) = "G:\conpress_ziare\PUBLICATIISERVER\log\serverupdate_PUBLICATIISERVER_20090810.log" && change to an actual file that exists on your computer + + Local lcFrom, lcTo, lcSubject, lcBody, lcCC, lcBCC, lcMailServer, lcUserName, lcPassword, lnPort, lnPriority, llHTMLFormat, lcErrReturn + + lcFrom = "publicatiiserver@conpressgroup.ro" + lcTo = "marius.mutu@romfast.ro" + lcSubject = "Hey Have You Tried VFP Email?" + *!* Sending the body in HTML format + llHTMLFormat = .T. && change to .F. to send plain text message + lcBody = "" + ; + "Hey Have You Tried VFP Email?" + ; + "" + lcCC = "mmarius28@yahoo.com" + lcBCC = "mmarius28@google.com" + lcMailServer = "romfast.ro" && my SMTP Server + lnPort = 25 && default SMTP Server port + lcUserName = "marius.mutu" && my SMTP username + lcPassword = "parola" && my SMTP password + lnPriority = PRIORITYHIGH + + SendViaBLAT(@lcErrReturn, lcFrom, lcTo, lcSubject, lcBody, @aryAttach, lcCC, lcBCC, lcMailServer, lnPort, lcUserName, lcPassword, lnPriority, llHTMLFormat) + + If Empty(lcErrReturn) + Messagebox("'" + lcSubject + "' sent successfullly.", 64, "Send email via BLAT") + Else + Messagebox("'" + lcSubject + "' failed to be sent. Reason:" + Chr(13) + lcErrReturn, 64, "Send email via BLAT") + Endif + + + *!* BlatEmail.SendViaBlat RETURNS .T. IF SUCCES + *!* BlatEmail.IsError + *!* BlatEmail.ErrorMessage + loBlatEmail = Createobject("BlatEmail") + + loBlatEmail.From = 'my@server.ro' + loBlatEmail.To = 'marius.mutu@romfast.ro' + loBlatEmail.Subject = 'Subject' + loBlatEmail.HtmlFormat = .T. + loBlatEmail.Body = 'Body' + loBlatEmail.CC = 'marius.mutu@yahoo.com' + loBlatEmail.BCC = '' + loBlatEmail.Files = "c:\file1.txt,c:\file2.txt" + loBlatEmail.MailServer = 'mail.romfast.ro' + loBlatEmail.Port = 25 + loBlatEmail.UserName = 'marius.mutu' + loBlatEmail.Password = 'parola' + + llReturn = loBlatEmail.SendViaBLAT() + If llReturn + Messagebox("'" + loBlatEmail.Subject + "' sent successfullly.", 64, "Send email via BLAT") + Else + Messagebox("'" + loBlatEmail.Subject + "' failed to be sent. Reason:" + Chr(13) + loBlatEmail.ErrorMessage, 64, "Send email via BLAT") + Endif + +#Endif + +Define Class BlatEmail As Custom + From = '' + To = '' + Subject = '' + HtmlFormat = .T. + Body = '' + CC = '' + BCC = '' + MailServer = '' + Port = 25 + UserName = '' + Password = '' + Priority = PRIORITYLOW + Files = '' + + ErrorMessage = '' + ISERROR = .F. + + + ******************************************* + Procedure SetAttachment + Lparameters tcFile + This.Files = This.Files + Iif(!Empty(This.Files), [,], []) + tcFile + Endproc && SetAttachment + + ******************************************* + Procedure ResetAttachments + This.Files = '' + Endproc && ResetAttachments + + Procedure SendViaBLAT + Local lcErrReturn, lcFrom, lcTo, lcSubject, lcBody, lcCC, lcBCC, lcMailServer, lnPort, lcUserName, lcPassword, lnPriority, llHTMLFormat + + lcErrReturn = '' + lcFrom = This.From + lcTo = This.To + lcSubject = This.Subject + lcBody = This.Body + lcCC = This.CC + lcBCC = This.BCC + lcMailServer= This.MailServer + lnPort = This.Port + lcUserName = This.UserName + lcPassword = This.Password + lnPriority = This.Priority + llHTMLFormat = This.HtmlFormat + lcFiles = This.Files + + SendViaBLAT(@lcErrReturn, lcFrom, lcTo, lcSubject, lcBody, lcFiles, lcCC, lcBCC, lcMailServer, lnPort, lcUserName, lcPassword, lnPriority, llHTMLFormat) + This.ISERROR = !Empty(lcErrReturn) + This.ErrorMessage = lcErrReturn + + Return !This.ISERROR + Endproc +Enddefine && BlatEmail + + +******************************************* +Procedure SendViaBLAT(tcReturn, tcFrom, tcTo, tcSubject, tcBody, tcFiles, tcCC, tcBCC, tcMailServer, tnPort, tcUserName, tcPassword, tnPriority, tlHtmlFormat) + ******************************************* + Local lcBlatParam, lcBodyFile, lnCountAttachments, lnResult, loError As Exception, lcFiles + lcBodyFile = "" + + Try + *!* Include full path in Declare, such as "C:\Blat240\full\blat.dll" + *!* or make sure that blat.dll is included in the system's PATH variable + lcBlatPath = ADDBS(m.dirgen) + [COMUNROA\blat.dll] + Declare Integer Send In (m.lcBlatPath) String cParam + + lcBodyFile = Addbs(Sys(2023)) + Sys(2015) + ".txt" + Strtofile(tcBody, lcBodyFile, 0) && body is placed in a text file to be sent by BLAT + + lcBlatParam = GetShortPath(lcBodyFile) + + If Type("tcTo") = "C" + lcBlatParam = lcBlatParam + " -to " + Alltrim(tcTo) + Endif + If Type("tcFrom") = "C" + lcBlatParam = lcBlatParam + " -f " + Alltrim(tcFrom) + Endif + If Type("tcCC") = "C" And !Empty(tcCC) + lcBlatParam = lcBlatParam + " -cc " + Alltrim(tcCC) + Endif + If Type("tcBCC") = "C" And !Empty(tcBCC) + lcBlatParam = lcBlatParam + " -bcc " + Alltrim(tcBCC) + Endif + If Type("tcSubject") = "C" And !Empty(tcSubject) + lcBlatParam = lcBlatParam + [ -s "] + Alltrim(tcSubject) + ["] + Endif + If Type("tcMailserver") = "C" And !Empty(tcMailServer) + lcBlatParam = lcBlatParam + " -server " + Alltrim(tcMailServer) + Endif + If Type("tnPort") = "N" And !Empty(tnPort) + lcBlatParam = lcBlatParam + ":" + Transform(tnPort) + Endif + If Type("tcUsername") = "C" And !Empty(tcUserName) + lcBlatParam = lcBlatParam + " -u " + Alltrim(tcUserName) + Endif + If Type("tcPassword") = "C" And !Empty(tcPassword) + lcBlatParam = lcBlatParam + " -pw " + Alltrim(tcPassword) + Endif + If Type("tnPriority") = "N" And Between(tnPriority, 0, 1) + lcBlatParam = lcBlatParam + " -priority " + Transform(tnPriority) + Endif + If Type("tlHTMLFormat") = "L" And tlHtmlFormat + lcBlatParam = lcBlatParam + " -html" + Endif + + *!* If Type("taFiles", 1) = "A" + *!* lcBlatParam = lcBlatParam + " -attach " + *!* For lnCountAttachments = 1 To Alen(taFiles) + *!* lcBlatParam = lcBlatParam + GetShortPath(Alltrim(taFiles(lnCountAttachments))) + "," + *!* Endfor + *!* lcBlatParam = Left(lcBlatParam, Len(lcBlatParam) - 1) && Remove Extra Comma + *!* Endif + + If Vartype(tcFiles) = "C" And !Empty(tcFiles) + tcFiles = Strtran(tcFiles, [;], [,]) + lcFiles = "" + For lnCountAttachments = 1 To Getwordcount(tcFiles,",") + lcFile = GetShortPath(Alltrim(Getwordnum(tcFiles,lnCountAttachments,","))) + If File(lcFile) + lcFiles = lcFiles + GetShortPath(Alltrim(Getwordnum(tcFiles,lnCountAttachments,","))) + "," + Endif + Endfor + If !Empty(lcFiles) + lcBlatParam = lcBlatParam + " -attach " + lcBlatParam = lcBlatParam + lcFiles + lcBlatParam = Left(lcBlatParam, Len(lcBlatParam) - 1) && Remove Extra Comma + Endif + Endif + + lnResult = Send(Alltrim(lcBlatParam)) + + If lnResult != 0 + Do Case + Case lnResult = -2 + Throw "The server actively denied our connection./The mail server doesn't like the sender name. " + Case lnResult = -1 + Throw "Unable to open SMTP socket" Or ; + "SMTP get line did not return 220" Or ; + "command unable to write to socket" Or ; + "Server does not like To: address" Or ; + "Mail server error accepting message data." + Case lnResult = 1 + Throw "File name (message text) not given" Or ; + "Bad argument given" + Case lnResult = 2 + Throw "File (message text) does not exist" + Case lnResult = 3 + Throw "Error reading the file (message text) or attached file" + Case lnResult = 4 + Throw "File (message text) not of type FILE_TYPE_DISK " + Case lnResult = 5 + Throw "Error Reading File (message text)" + Case lnResult = 12 + Throw "-server or -f options not specified and not found in registry" + Case lnResult = 13 + Throw "Error opening temporary file in temp directory" + Otherwise + Throw "Unknown Error" + Endcase + Endif + + Catch To loError + tcReturn = [Error: ] + Str(loError.ErrorNo) + Chr(13) + ; + [LineNo: ] + Str(loError.Lineno) + Chr(13) + ; + [Message: ] + loError.Message + Chr(13) + ; + [Procedure: ] + loError.Procedure + Chr(13) + ; + [Details: ] + loError.Details + Chr(13) + ; + [StackLevel: ] + Str(loError.StackLevel) + Chr(13) + ; + [LineContents: ] + loError.LineContents + Finally + Clear Dlls "Send" + If File(lcBodyFile) + Erase (lcBodyFile) + Endif + Endtry +Endproc + +**************************************** +Function GetShortPath + **************************************** + Lparameters lcFileName + Local lnReturn, lcBuffer + + Declare Integer GetShortPathNameA In Win32API As GetShortPathName String, String, Integer + + lcBuffer = Space(255) + lnReturn= GetShortPathName(lcFileName, @lcBuffer, 255) + + Clear Dlls "GetShortPathName" + + Return (Left(lcBuffer, lnReturn)) +Endfunc diff --git a/programe/cauta_alfa.prg b/programe/cauta_alfa.prg new file mode 100644 index 0000000..7a97c85 --- /dev/null +++ b/programe/cauta_alfa.prg @@ -0,0 +1,598 @@ +*!* 24.07.2009 +*!* marius.mutu +*!* cauta_alfa(tcStringCriterii pentru formularul cauta_alfa_form_plus) + +*------------------------------------------------------------ +* Description: cauta_alfa - cautare generica +* Parameters: tcselect,tcfiltru,tcschema,tcorder,tccoloana,tcTitlu,tcTitluColoana,tcNume_Proc,tl_AllInList,tcFiltruOriginal,tcPrimaColoana, tnPornire, tnTipReturn, tcIdColumn, tlDesktop, tcGroup, tcGridDynamiBackColor +* Return: tnTipReturn = 0 => object (scatter name pe inregistrarea curenta) ; tnTipReturn = 1 => xml (din inregistrarile selectate) +* Use: +*------------------------------------------------------------ +* Id Date By Description +* 1 23/06/2006 marius.mutu Initial Creation +* 2 23/06/2006 marius.mutu TipReturn - se presupune ca tcSelect contine o coloana +* 19/05.2021 liana.neagu adaugare tcLocate +*------------------------------------------------------------ +Procedure cauta_alfa + Parameters tcselect,tcfiltru,tcschema,tcorder,tccoloana,tcTitlu,tcTitluColoana, ; + tcNume_Proc,tl_AllInList,tcFiltruOriginal,tcPrimaColoana, tnPornire, tnTipReturn, ; + tcIdColumn, tlDesktop, tcGroup, tcGridDynamicBackColor, tcGridToolTip, tlModParam, tcStringCriterii, ; + tcProceduraVerifica, tcProceduraCopiaza,tcLocate + + && tcStringCriterii : pentru butonul de cautare but_Start_criterii (daca este completat parametrul se foloseste cauta_alfa_form_plus) + && tnPornire: 1-incepe cu..., 2..... 6-toate + Local llModParam, lnRecc, lcCursorXML, lcIdColumn, llDesktop, lcGroup,lorec + llModParam = .F. + If Empty(tnTipReturn) + tnTipReturn = 0 + Endif + + If !Empty(tcIdColumn) + lcIdColumn = tcIdColumn + Else + lcIdColumn = "id" + Endif + + llDesktop = tlDesktop + + Private pcAles + pcAles = "" + + Local lccoloana,lcTitlu,pnbuton,lcPrimaColoana + Private deca_baza1,oForm_cautare,oReturnScattObj + Store "" To deca_baza1 + Local lcCamp,lcCursor,lcCursort + Store "" To lccoloana,lcPrimaColoana,lcCamp,lcCursor,lcCursort + + lccoloana = tccoloana + lcTitluColoana = tcTitluColoana + lcTitlu = tcTitlu + lcSelect = Upper(Alltrim(tcselect)) + + If Empty(tcPrimaColoana) + lcPrimaColoana="" + Else + lcPrimaColoana=Alltrim(tcPrimaColoana) + Endif + + If Empty(tl_AllInList) Or Type('tl_AllInList') # 'L' + ll_AllInList = .F. + Else + ll_AllInList = tl_AllInList + Endif + If Empty(tcFiltruOriginal) Or Type('tcFiltruOriginal') # 'C' + lcFiltOriginal = '' + Else + lcFiltOriginal = tcFiltruOriginal + Endif + If Empty(tcNume_Proc) + lcNume_Proc = "" + Else + lcNume_Proc = Upper(Alltrim(tcNume_Proc)) + **caut tip partener daca sunt in cazul nom. de parteneri: + lnPosComma = At(';', lcNume_Proc) + If lnPosComma > 0 + lcNume_Proc = Left(lcNume_Proc, lnPosComma - 1) + [_nou with ] + ; + ALLTRIM(Substr(lcNume_Proc, lnPosComma + 1)) + Else + lcNume_Proc = lcNume_Proc + "_nou" + Endif + + If Left(lcNume_Proc,1) = 'V' + lcNume_Proc = Substr(lcNume_Proc,2) + Endif + Endif + + lnPos = At('WHERE',lcSelect) + lnpos2 = Max(Rat(['],lcSelect),Rat(["],lcSelect)) + If lnpos2 = 0 + lnpos2 = Len(lcSelect)+1 + Endif + + + If !Inlist(Left(lcSelect,1),['],["],"[") + llModParam = .T. + Endif + + If lnPos = 0 + lcFiltru = "" + *!* llModParam = .T. + Else + If llModParam + lcFiltru = "" + Else + lcFiltru = Alltrim(Substr(lcSelect,lnPos + 6,lnpos2-lnPos-6)) + *!* llModParam = .F. + Endif + Endif + lcGroup = Iif(Empty(tcGroup) Or Type('tcGroup') <> 'C', '', tcGroup) + + *!* 24.07.2009 + If Empty(tcStringCriterii) + lcStringCriterii = "" + Else + lcStringCriterii = Alltrim(tcStringCriterii) + ENDIF + *!* 24.07.2009 ^ + + lcCursor=Sys(2015) + lcCursort = Alltrim(lcCursor) + 't' + If ll_AllInList = .T. + && sa adauge "" in cursor + gencursor('deca_baza1',lcCursort,tcselect,tcfiltru,tcschema,tcorder,.F.,lcGroup, llModParam, lcFiltOriginal) + deca_baza1.ca_baza1.afisare() + Select *, 0 As ales From &lcCursort Where .F. Into Cursor &lcCursor Readwrite + Select (lcCursor) + If Occurs([,],tccoloana) > 0 + lcField = Left(tccoloana,At([,],tccoloana)-1) + + lcCamp = lcCursort + '.' + lcField + + *IF TYPE('cursor_temp.&lcField')# 'C' + If Type(lcCamp) # 'C' + lcField = Field(1) + Endif + Else + lcField = tccoloana + + lcCamp = lcCursort + '.' + lcField + + Endif + *IF (RECCOUNT(lccursort)>0) AND TYPE('cursor_temp.&lcField')= 'C' + If (Reccount(lcCursort)>0) And Type(lcCamp)= 'C' + Insert Into &lcCursor (&lcField) Values("") + Endif + Select (lcCursor) + *APPEND FROM DBF("cursor_temp") + Append From Dbf(lcCursort) + Go Top + Use In (lcCursort) + + Else + gencursor('deca_baza1',lcCursor,tcselect,tcfiltru,tcschema,tcorder,.F.,lcGroup, llModParam ,lcFiltOriginal) + deca_baza1.ca_baza1.afisare() + Endif + + *!* modificare 30.11.2006 + If Type("poRec") = "O" + lorec = poRec + Endif + *!* modificare 30.11.2006 ^ + + lnPornire = tnPornire + pnbuton=1 + Select (lcCursor) + lnRecc = Reccount() + ** v adaugare 19.05.2021 - Liana - Sa se pozitioneze pe o anumita inregistrare +IF !EMPTY(tcLocate) + Select (lcCursor) + LOCATE FOR &tcLocate + +ENDIF + *!* 24.07.2009 + DO CASE + CASE !EMPTY(lcStringCriterii) + oForm_cautare=Createobject('cauta_alfa_form_plus',lcCursor,lcNume_Proc,lcTitluColoana,; + lccoloana,ll_AllInList,lcPrimaColoana, lnPornire, tcGridDynamicBackColor, tcGridToolTip, lcStringCriterii) + + CASE llDesktop + oForm_cautare=Createobject('cauta_alfa_form_desktop',lcCursor,lcNume_Proc,lcTitluColoana,; + lccoloana,ll_AllInList,lcPrimaColoana, lnPornire, tcGridDynamicBackColor, tcGridToolTip, ; + tcProceduraVerifica, tcProceduraCopiaza) + OTHERWISE + oForm_cautare=Createobject('cauta_alfa_form',lcCursor,lcNume_Proc,lcTitluColoana,lccoloana,; + ll_AllInList,lcPrimaColoana, lnPornire, tcGridDynamicBackColor, tcGridToolTip, ; + tcProceduraVerifica, tcProceduraCopiaza) + ENDCASE +*!* IF llDesktop +*!* oForm_cautare=Createobject('cauta_alfa_form_desktop',lcCursor,lcNume_Proc,lcTitluColoana,; +*!* lccoloana,ll_AllInList,lcPrimaColoana, lnPornire, tcGridDynamicBackColor, tcGridToolTip) +*!* ELSE +*!* oForm_cautare=Createobject('cauta_alfa_form',lcCursor,lcNume_Proc,lcTitluColoana,lccoloana,; +*!* ll_AllInList,lcPrimaColoana, lnPornire, tcGridDynamicBackColor, tcGridToolTip) +*!* ENDIF + *!* 24.07.2009 ^ + + With oForm_cautare + .crs_cursor = lcCursor + .crs_cursort = lcCursort + If !Empty(lcFiltru) + .cfiltru_original = lcFiltru + Endif + + .Lb_titlu_alb_b121.Caption=lcTitlu + .lAles = Iif(tnTipReturn = 1, .T., .F.) + If .lAles + .cAles = Replicate(" ",lnRecc) + Endif + .cIdColumn = lcIdColumn + Endwith + oForm_cautare.Show() + + *!* modificare 30.11.2006 + If Type("lorec") = "O" + poRec = lorec + Endif + *!* modificare 30.11.2006 ^ + + lcCursorXML = "" + Select (lcCursor) + If gnbuton=1 + Do Case + Case tnTipReturn = 0 + Scatter Name oReturnScattObj Memo + Otherwise + Select * From (lcCursor) With (Buffering = .T.) Where Substr(pcAles,Recno(),1) = 'X' ; + INTO Cursor crsReturnAlfa + Cursortoxml("crsReturnAlfa", "lcCursorXML", 2, 0+2+8, 0, "1") + Use In crsReturnAlfa + Endcase + Else + Do Case + Case tnTipReturn = 0 + Scatter Name oReturnScattObj Blank + Otherwise + lcCursorXML = "" + Endcase + Endif + + Release oForm_cautare + + + Use In (lcCursor) + + Do Case + Case tnTipReturn = 0 + Return oReturnScattObj + Otherwise + Return lcCursorXML + Endcase + +Endproc && cauta_alfa +*********************************************************************************************************************** +Procedure cauta_alfa_vfp + Parameters tcselect,tcfiltru,tcschema,tcorder,tccoloana,tcTitlu,tcTitluColoana,tcNume_Proc,tl_AllInList,tcFiltruOriginal,tnCriteriu,tcFiltruAfisat + *!* modificare 04.08.2011 : am adaugat tnCriteriu, tcFiltruAfisat + Local llModParam + llModParam = .F. + + Private lccoloana,lcTitlu,pnbuton,lorec + Store "" To lccoloana + lccoloana = tccoloana + lcTitluColoana = tcTitluColoana + lcTitlu = tcTitlu + lcSelect = Upper(Alltrim(tcselect)) + + If Empty(tl_AllInList) Or Type('tl_AllInList') # 'L' + ll_AllInList = .F. + Else + ll_AllInList = tl_AllInList + Endif +*!* modificare 14.12.2011 +*!* If Empty(tcFiltruOriginal) Or Type('tcFiltruOriginal') # 'C' +*!* lcFiltOriginal = '' +*!* Else +*!* lcFiltOriginal = tcFiltruOriginal +*!* Endif +*!* modificare 14.12.2011 ^ + If Empty(tcNume_Proc) + lcNume_Proc = "" + Else + lcNume_Proc = Upper(Alltrim(tcNume_Proc)) + *!* **caut tip partener daca sunt in cazul nom. de parteneri: + *!* If (Occurs("ID_TIP_PART",lcSelect)>0) + *!* lnId_tip_part_gasit = Val( Substr(lcSelect,At("= ",lcSelect)+1) ) + *!* lcNume_Proc = lcNume_Proc + "_nou with " + Alltrim(Str(lnId_tip_part_gasit)) + *!* Else + *!* lcNume_Proc = lcNume_Proc + "_nou" + *!* Endif + + *!* If Left(lcNume_Proc,1) = 'V' + *!* lcNume_Proc = Substr(lcNume_Proc,2) + *!* Endif + Endif + + lnPos = At('WHERE',lcSelect) + lnpos2 = Max(Rat(['],lcSelect),Rat(["],lcSelect)) + If lnpos2 = 0 + lnpos2 = Len(lcSelect)+1 + Endif + + && 11.07.2007 + If !Inlist(Left(lcSelect,1),['],["],"[") + llModParam = .T. + Endif + + If lnPos = 0 + lcFiltru = "" + *!* llModParam = .T. + Else + If llModParam + lcFiltru = "" + Else + lcFiltru = Alltrim(Substr(lcSelect,lnPos + 6,lnpos2-lnPos-6)) + *!* llModParam = .F. + Endif + Endif + + *!* modificare 14.12.2011 + If !Empty(tcFiltruOriginal) And Type('tcFiltruOriginal') = 'C' + lcSelect = lcSelect + [ WHERE ] + tcFiltruOriginal + Endif + *!* modificare 14.12.2011 ^ + + If ll_AllInList = .T. && sa adauge "" in cursor + lcSelectTemp=lcSelect+[ into cursor cursor_temp] + &lcSelectTemp + Select * From cursor_temp Where .F. Into Cursor cursor_curent Readwrite + Select cursor_curent + If Occurs([,],tccoloana) > 0 + lcField = Left(tccoloana,At([,],tccoloana)-1) + If Type('cursor_temp.&lcField')# 'C' + lcField = Field(1) + Endif + Else + lcField = tccoloana + Endif + + If (Reccount('cursor_temp')>0) And Type('cursor_temp.&lcField')= 'C' + Insert Into cursor_curent(&lcField) Values("") + Endif + Select cursor_curent + Append From Dbf('cursor_temp') + Go Top + Use In cursor_temp + Select cursor_curent + Else + lcSelect=lcSelect+[ into cursor cursor_curent] + &lcSelect + Endif + + *!* modificare 30.11.2006 + If Type("poRec") = "O" + lorec = poRec + Endif + *!* modificare 30.11.2006 ^ + + Select cursor_curent + *!* modificare 04.08.2011 : am adaugat tnCriteriu, tcFiltruAfisat + oForm_cautare=Createobject('cauta_alfa_form_vfp',lcNume_Proc,lcTitluColoana,lccoloana,ll_AllInList,tnCriteriu,tcFiltruAfisat) + pnbuton=1 + oForm_cautare.Lb_titlu_alb_b121.Caption=lcTitlu + oForm_cautare.Show() + + *!* modificare 30.11.2006 + If Type("lorec") = "O" + poRec = lorec + Endif + *!* modificare 30.11.2006 ^ + + Select cursor_curent + If pnbuton=1 + Scatter Name oReturnScattObj Memo + Else + Scatter Name oReturnScattObj Blank + Endif + Release oForm_cautare + + **release + Use In cursor_curent + **Release deca_baza1 + Return oReturnScattObj +Endproc && cauta_alfa_vfp +*********************************************************************************************************************** +Procedure cauta_alfa_gs + Parameters tcselect,tcfiltru,tcschema,tcorder,tccoloana,tcTitlu,tcTitluColoana,tcNume_Proc,tl_AllInList,tcFiltruOriginal,tcPrimaColoana, tnPornire, tnTipReturn, tcIdColumn, tlDesktop, toValoarePropusa + && toValoarePropusa = valoarea cu care se completeaza textboxul de la cautare + && tnPornire: 1-incepe cu..., 2..... 6-toate + Local llModParam, lnRecc, lcCursorXML, lcIdColumn, llDesktop,lorec + llModParam = .F. + If Empty(tnTipReturn) + tnTipReturn = 0 + Endif + + If !Empty(tcIdColumn) + lcIdColumn = tcIdColumn + Else + lcIdColumn = "id" + Endif + + llDesktop = tlDesktop + + Private pcAles + pcAles = "" + + Local lccoloana,lcTitlu,pnbuton,lcPrimaColoana + Private oForm_cautare,oReturnScattObj,deca_baza1 + Store "" To deca_baza1 + Local lcCursor + Store "" To lccoloana,lcPrimaColoana,lcCamp,lcCursor,lcCursort + lcSchema = tcschema + lcNumeColoane = Strtran(tccoloana,[,],[;]) + lcTitluColoane = tcTitluColoana + lcTitlu = tcTitlu + lcSelect = Upper(Alltrim(tcselect)) + + If Empty(tcPrimaColoana) + lcPrimaColoana="" + Else + lcPrimaColoana=Alltrim(tcPrimaColoana) + Endif + + If Empty(tl_AllInList) Or Type('tl_AllInList') # 'L' + ll_AllInList = .F. + Else + ll_AllInList = tl_AllInList + Endif + If Empty(tcFiltruOriginal) Or Type('tcFiltruOriginal') # 'C' + lcFiltruOriginal = '' + Else + lcFiltruOriginal = tcFiltruOriginal + Endif + If Empty(tcNume_Proc) + lcNume_Proc = "" + Else + lcNume_Proc = Upper(Alltrim(tcNume_Proc)) + **caut tip partener daca sunt in cazul nom. de parteneri: + lnPosComma = At(';', lcNume_Proc) + If lnPosComma > 0 + lcNume_Proc = Left(lcNume_Proc, lnPosComma - 1) + [_nou with ] + Alltrim(Substr(lcNume_Proc, lnPosComma + 1)) + Else + lcNume_Proc = lcNume_Proc + "_nou" + Endif + + If Left(lcNume_Proc,1) = 'V' + lcNume_Proc = Substr(lcNume_Proc,2) + Endif + Endif + + lnPos = At('WHERE',lcSelect) + lnpos2 = Max(Rat(['],lcSelect),Rat(["],lcSelect)) + If lnpos2 = 0 + lnpos2 = Len(lcSelect)+1 + Endif + + && 11.07.2007 + If !Inlist(Left(lcSelect,1),['],["],"[") + llModParam = .T. + Endif + + If lnPos = 0 + lcFiltru = "" + *!* llModParam = .T. + Else + If llModParam + lcFiltru = "" + Else + lcFiltru = Alltrim(Substr(lcSelect,lnPos + 6,lnpos2-lnPos-6)) + *!* llModParam = .F. + Endif + Endif + + *!* modificare 30.11.2006 + If Type("poRec") = "O" + lorec = poRec + Endif + *!* modificare 30.11.2006 ^ + + lcCursor=Sys(2015) + lcCursort = Alltrim(lcCursor) + 't' + lnPornire = tnPornire + pnbuton=1 + *!* IF llDesktop + *!* oForm_cautare=Createobject('cauta_alfa_form_desktop', lcCursor, lcNume_Proc, lcTitlu , lcTitluColoane, lcNumeColoane, lcSelect, lcSchema, lcFiltru, lcFiltruOriginal, lcOrder, ll_AllInList, lnPornire) + *!* ELSE + oForm_cautare=Createobject('cauta_alfa_form_gs', lcCursor, lcNume_Proc, lcTitlu , lcTitluColoane, lcNumeColoane, lcSelect, lcSchema, lcFiltru, lcFiltruOriginal, lcOrder, ll_AllInList, lnPornire, toValoarePropusa) + *!* ENDIF + + With oForm_cautare + .lAles = Iif(tnTipReturn = 1, .T., .F.) + If .lAles + .cAles = Replicate(" ",lnRecc) + Endif + Endwith + oForm_cautare.Show() + + *!* modificare 30.11.2006 + If Type("lorec") = "O" + poRec = lorec + Endif + *!* modificare 30.11.2006 ^ + + lcCursorXML = "" + Select (lcCursor) + If gnbuton=1 + Do Case + Case tnTipReturn = 0 + Scatter Name oReturnScattObj Memo + Otherwise + Select * From (lcCursor) With (Buffering = .T.) Where Substr(pcAles,Recno(),1) = 'X' Into Cursor crsReturnAlfa + Cursortoxml("crsReturnAlfa", "lcCursorXML", 2, 0+2+8, 0, "1") + Use In crsReturnAlfa + Endcase + Else + Do Case + Case tnTipReturn = 0 + Scatter Name oReturnScattObj Blank + Otherwise + lcCursorXML = "" + Endcase + Endif + + Release oForm_cautare + + + Use In (lcCursor) + + Do Case + Case tnTipReturn = 0 + Return oReturnScattObj + Otherwise + Return lcCursorXML + Endcase + +Endproc && cauta_alfa_gs +*********************************************************************************************************************** + +Procedure cauta_alfa_hash + Parameters toHash + + Local lcSelect,lcFiltru, lcSchema, lcOrder, lccoloana,lcTitlu, lcTitluColoana, lcNumeProc, llAllInList,lcFiltruOriginal,lcPrimaColoana, lnPornire, lnTipReturn, lcIdColumn, llDesktop, lcGridToolTip, llModParam + Local loCauta + loCauta = Null + +*!* loHash = GetHash() +*!* loHash.SetValue("cSelect", lcSelect) +*!* loHash.SetValue("cFiltru", lcFiltru) +*!* loHash.SetValue("cSchema", lcSchema) +*!* loHash.SetValue("cOrder", lcOrder) +*!* loHash.SetValue("cColoana", lccoloane) +*!* loHash.SetValue("cTitlu", lcTitlu) +*!* loHash.SetValue("cTitluColoana", lcTitluColoane) +*!* loHash.SetValue("cNumeProc", lcNumeProc) +*!* loHash.SetValue("lToateIreg", llToateIreg) +*!* loHash.SetValue("cFiltruOriginal", lcFiltruOriginal) +*!* loHash.SetValue("cPrimaColoana", lcPrimaColoana) +*!* loHash.SetValue("nPornire", lnPornire) +*!* loHash.SetValue("nTipReturn", lnTipReturn) +*!* loHash.SetValue("cIdColumn", lcIdColumn) +*!* loHash.SetValue("cStringCriterii", lcStringCriterii) +*!* toHash.SetValue('lModParam', llModParam) +*!* toHash.SetValue('cProceduraVerifica', lcProceduraVerifica) +*!* toHash.SetValue('cProceduraCopiaza', lcProceduraCopiaza) + + + lcSelect = toHash.GetValue('cselect') + lcFiltru = toHash.GetValue('cFiltru') + lcSchema = toHash.GetValue('cSchema') + lcOrder = toHash.GetValue('cOrder') + lcGroup = toHash.GetValue('cGroup') + lccoloana = toHash.GetValue('cColoana') + lcTitlu = toHash.GetValue('cTitlu') + lcTitluColoana = toHash.GetValue('cTitluColoana') + lcNumeProc = toHash.GetValue('cNumeProc') + llAllInList = toHash.GetValue('lAllInList') + lcFiltruOriginal = toHash.GetValue('cFiltruOriginal') + lcPrimaColoana = toHash.GetValue('cPrimaColoana') + lnPornire = toHash.GetValue('nPornire') + lnTipReturn = toHash.GetValue('nTipReturn') + lcIdColumn = toHash.GetValue('cIdColumn') + llDesktop = toHash.GetValue('lDesktop') + lcGridDynamicBackColor = toHash.GetValue('cGridDynamicBackColor') + lcGridToolTip = toHash.GetValue('cGridToolTip') + lcStringCriterii = toHash.GetValue('cStringCriterii') + llModParam = toHash.GetValue('lModParam') + If !llModParam And !Inlist(Left(lcSelect,1),['],["],"[") + llModParam = .T. + ENDIF + lcProceduraVerifica = toHash.GetValue('cProceduraVerifica') + lcProceduraCopiaza = toHash.GetValue('cProceduraCopiaza') + + loCauta = cauta_alfa(lcSelect,lcFiltru, lcSchema, lcOrder, lccoloana,lcTitlu, lcTitluColoana, lcNumeProc, llAllInList,lcFiltruOriginal,lcPrimaColoana, lnPornire, lnTipReturn, lcIdColumn, llDesktop, lcGroup, lcGridDynamicBackColor, lcGridToolTip, llModParam, lcStringCriterii, lcProceduraVerifica, lcProceduraCopiaza) + + Return loCauta +Endproc && cauta_alfa_hash + + + + diff --git a/programe/cdo2000.prg b/programe/cdo2000.prg new file mode 100644 index 0000000..67c37e4 --- /dev/null +++ b/programe/cdo2000.prg @@ -0,0 +1,316 @@ +* https://www.berezniker.com/content/pages/visual-foxpro/cdo-2000-class-sending-emails + +#DEFINE cdoSendPassword "http://schemas.microsoft.com/cdo/configuration/sendpassword" +#DEFINE cdoSendUserName "http://schemas.microsoft.com/cdo/configuration/sendusername" +#DEFINE cdoSendUsingMethod "http://schemas.microsoft.com/cdo/configuration/sendusing" +#DEFINE cdoSMTPAuthenticate "http://schemas.microsoft.com/cdo/configuration/smtpauthenticate" +#DEFINE cdoSMTPConnectionTimeout "http://schemas.microsoft.com/cdo/configuration/smtpconnectiontimeout" +#DEFINE cdoSMTPServer "http://schemas.microsoft.com/cdo/configuration/smtpserver" +#DEFINE cdoSMTPServerPort "http://schemas.microsoft.com/cdo/configuration/smtpserverport" +#DEFINE cdoSMTPUseSSL "http://schemas.microsoft.com/cdo/configuration/smtpusessl" +#DEFINE cdoURLGetLatestVersion "http://schemas.microsoft.com/cdo/configuration/urlgetlatestversion" +#DEFINE cdoAnonymous 0 && Perform no authentication (anonymous) +#DEFINE cdoBasic 1 && Use the basic (clear text) authentication mechanism. +#DEFINE cdoSendUsingPort 2 && Send the message using the SMTP protocol over the network. +#DEFINE cdoXMailer "urn:schemas:mailheader:x-mailer" + +DEFINE CLASS cdo2000 AS Custom + + PROTECTED aErrors[1], nErrorCount, oMsg, oCfg, cXMailer + + nErrorCount = 0 + + * Message attributes + oMsg = Null + + cFrom = "" + cReplyTo = "" + cTo = "" + cCC = "" + cBCC = "" + cAttachment = "" + + cSubject = "" + cHtmlBody = "" + cTextBody = "" + cHtmlBodyUrl = "" + + cCharset = "" + + * Priority: Normal, High, Low or empty value (Default) + cPriority = "" + + * Configuration object fields values + oCfg = Null + cServer = "" + nServerPort = 25 + * Use SSL connection + lUseSSL = .F. + nConnectionTimeout = 30 && Default 30 sec's + nAuthenticate = cdoAnonymous + cUserName = "" + cPassword = "" + * Do not use cache for cHtmlBodyUrl + lURLGetLatestVersion = .T. + + * Optional. Creates your own X-MAILER field in the header + cXMailer = "VFP CDO 2000 mailer Ver 1.1.100 2010" + + PROTECTED PROCEDURE Init + This.ClearErrors() + ENDPROC + + * Send message + PROCEDURE Send + + IF This.GetErrorCount() > 0 + RETURN This.GetErrorCount() + ENDIF + + WITH This + .ClearErrors() + .oCfg = CREATEOBJECT("CDO.Configuration") + .oMsg = CREATEOBJECT("CDO.Message") + .oMsg.Configuration = This.oCfg + ENDWITH + + * Fill message attributes + LOCAL lnind, laList[1], loHeader, laDummy[1], lcMailHeader + + IF This.SetConfiguration() > 0 + RETURN This.GetErrorCount() + ENDIF + + IF EMPTY(This.cFrom) + This.AddError("ERROR : From is empty.") + ENDIF + IF EMPTY(This.cSubject) + This.AddError("ERROR : Subject is empty.") + ENDIF + + IF EMPTY(This.cTo) AND EMPTY(This.cCC) AND EMPTY(This.cBCC) + This.AddError("ERROR : To, CC and BCC are all empty.") + ENDIF + + IF This.GetErrorCount() > 0 + RETURN This.GetErrorCount() + ENDIF + + This.SetHeader() + + WITH This.oMsg + + .From = This.cFrom + .ReplyTo = This.cReplyTo + + .To = This.cTo + .CC = This.cCC + .BCC = This.cBCC + .Subject = This.cSubject + + * Create HTML body from external HTML (file, URL) + IF NOT EMPTY(This.cHtmlBodyUrl) + .CreateMHTMLBody(This.cHtmlBodyUrl) + ENDIF + + * Send HTML body. Creates TextBody as well + IF NOT EMPTY(This.cHtmlBody) + .HtmlBody = This.cHtmlBody + ENDIF + + * Send Text body. Could be different from HtmlBody, if any + IF NOT EMPTY(This.cTextBody) + .TextBody = This.cTextBody + ENDIF + + IF NOT EMPTY(This.cCharset) + IF NOT EMPTY(.HtmlBody) + .HtmlBodyPart.Charset = This.cCharset + ENDIF + + IF NOT EMPTY(.TextBody) + .TextBodyPart.Charset = This.cCharset + ENDIF + ENDIF + + * Process attachments + IF NOT EMPTY(This.cAttachment) + * Accepts comma or semicolon + * VFP 7.0 and later + *FOR lnind=1 TO ALINES(laList, This.cAttachment, [,], [;]) + * VFP 6.0 and later compatible + FOR lnind=1 TO ALINES(laList, CHRTRAN(This.cAttachment, [,;], CHR(13) + CHR(13))) + lcAttachment = ALLTRIM(laList[lnind]) + * Ignore empty values + IF EMPTY(laList[lnind]) + LOOP + ENDIF + + * Make sure that attachment exists + IF ADIR(laDummy, lcAttachment) = 0 + This.AddError("ERROR: Attachment not Found - " + lcAttachment) + ELSE + * The full path is required. + IF UPPER(lcAttachment) <> UPPER(FULLPATH(lcAttachment)) + lcAttachment = FULLPATH(lcAttachment) + ENDIF + .AddAttachment(lcAttachment) + ENDIF + ENDFOR + ENDIF + + IF NOT EMPTY(This.cCharset) + .BodyPart.Charset = This.cCharset + ENDIF + + * Priority + IF NOT EMPTY(This.cPriority) + lcMailHeader = "urn:schemas:mailheader:" + .Fields(lcMailHeader + "Priority") = LOWER(This.cPriority) + .Fields(lcMailHeader + "Importance") = LOWER(This.cPriority) + DO CASE + CASE This.cPriority = "High" + .Fields(lcMailHeader + "X-Priority") = 1 && 5=Low, 3=Normal, 1=High + CASE This.cPriority = "Normal" + .Fields(lcMailHeader + "X-Priority") = 3 && 5=Low, 3=Normal, 1=High + CASE This.cPriority = "Low" + .Fields(lcMailHeader + "X-Priority") = 5 && 5=Low, 3=Normal, 1=High + ENDCASE + .Fields.Update() + ENDIF + ENDWITH + + IF This.GetErrorCount() > 0 + RETURN This.GetErrorCount() + ENDIF + + This.oMsg.Send() + + RETURN This.GetErrorCount() + + ENDPROC + + * Clear errors collection + PROCEDURE ClearErrors() + This.nErrorCount = 0 + DIMENSION This.aErrors[1] + This.aErrors[1] = Null + RETURN This.nErrorCount + ENDPROC + + * Return # of errors in the error collection + PROCEDURE GetErrorCount + RETURN This.nErrorCount + ENDPROC + + * Return error by index + PROCEDURE GetError + LPARAMETERS tnErrorno + IF tnErrorno <= This.GetErrorCount() + RETURN This.aErrors[tnErrorno] + ELSE + RETURN Null + ENDIF + ENDPROC + + * Populate configuration object + PROTECTED PROCEDURE SetConfiguration + + * Validate supplied configuration values + IF EMPTY(This.cServer) + This.AddError("ERROR: SMTP Server isn't specified.") + ENDIF + IF NOT INLIST(This.nAuthenticate, cdoAnonymous, cdoBasic) + This.AddError("ERROR: Invalid Authentication protocol ") + ENDIF + IF This.nAuthenticate = cdoBasic ; + AND (EMPTY(This.cUserName) OR EMPTY(This.cPassword)) + This.AddError("ERROR: User name/Password is required for basic authentication") + ENDIF + + IF This.GetErrorCount() > 0 + RETURN This.GetErrorCount() + ENDIF + + WITH This.oCfg.Fields + + * Send using SMTP server + .Item(cdoSendUsingMethod) = cdoSendUsingPort + .Item(cdoSMTPServer) = This.cServer + .Item(cdoSMTPServerPort) = This.nServerPort + .Item(cdoSMTPConnectionTimeout) = This.nConnectionTimeout + + .Item(cdoSMTPAuthenticate) = This.nAuthenticate + IF This.nAuthenticate = cdoBasic + .Item(cdoSendUserName) = This.cUserName + .Item(cdoSendPassword) = This.cPassword + ENDIF + .Item(cdoURLGetLatestVersion) = This.lURLGetLatestVersion + .Item(cdoSMTPUseSSL) = This.lUseSSL + + .Update() + ENDWITH + + RETURN This.GetErrorCount() + + ENDPROC + + *---------------------------------------------------- + * Add message to the error collection + PROTECTED PROCEDURE AddError + LPARAMETERS tcErrorMsg + This.nErrorCount = This.nErrorCount + 1 + DIMENSION This.aErrors[This.nErrorCount] + This.aErrors[This.nErrorCount] = tcErrorMsg + RETURN This.nErrorCount + ENDPROC + + *---------------------------------------------------- + * Format an error message and add to the error collection + PROTECTED PROCEDURE AddOneError + LPARAMETERS tcPrefix, tnError, tcMethod, tnLine + LOCAL lcErrorMsg, laList[1] + IF INLIST(tnError, 1427,1429) + AERROR(laList) + lcErrorMsg = TRANSFORM(laList[7], "@0") + " " + laList[3] + ELSE + lcErrorMsg = MESSAGE() + ENDIF + This.AddError(tcPrefix + ":" + TRANSFORM(tnError) + " # " + ; + tcMethod + " # " + TRANSFORM(tnLine) + " # " + lcErrorMsg) + RETURN This.nErrorCount + ENDPROC + + *---------------------------------------------------- + * Simple Error handler. Adds VFP error to the objects error collection + PROTECTED PROCEDURE Error + LPARAMETERS tnError, tcMethod, tnLine + This.AddOneError("ERROR: ", tnError, tcMethod, tnLine ) + RETURN This.nErrorCount + ENDPROC + + *------------------------------------------------------- + * Set mail header fields, if necessary. For now sets X-MAILER, if specified + PROTECTED PROCEDURE SetHeader + LOCAL loHeader + IF NOT EMPTY(This.cXMailer) + loHeader = This.oMsg.Fields + WITH loHeader + .Item(cdoXMailer) = This.cXMailer + .Update() + ENDWITH + ENDIF + ENDPROC + + *---------------------------------------------------- + * + PROTECTED PROCEDURE cPriority_assign(tvVal) + * Check for incorrect values + IF INLIST("~" + PROPER(tvVal) + "~", "~High~", "~Normal~", "~Low~") OR EMPTY(tvVal) + This.cPriority = PROPER(ALLTRIM(tvVal)) + ELSE + This.AddError("ERROR: Invalid value for cPriority property.") + ENDIF + ENDPROC + +ENDDEFINE \ No newline at end of file diff --git a/programe/chatbot.prg b/programe/chatbot.prg new file mode 100644 index 0000000..90fcb6d --- /dev/null +++ b/programe/chatbot.prg @@ -0,0 +1,139 @@ +Lparameters tcQuestion, lcChatId, tlMarkDown2Html, tcChatBot + +* tlMarkDown2Html (optional, implicit .T.): converteste MarkDown in Html + +Local loHTTP As 'MSXML2.ServerXMLHTTP' + +Local lcChatId, lcQuestion, lcRaspuns, lcResponse, lcSampleReponse, lcURL, llSucces, loEx, loJson, llMarkDown2Html +LOCAL lcChatBot, lcChatBotId +lcRaspuns = '' + +llMarkDown2Html = Iif(Pcount() <= 3, .T., m.tlMarkDown2Html) + +tcQuestion = Strtran(m.tcQuestion, Chr(13), ' ',1,1000,1) +tcQuestion = Strtran(m.tcQuestion, '"', '\"',1,1000,1) + +lcChatId = Iif(!Empty(m.lcChatId), m.lcChatId, '') + +TEXT TO lcQuestion TEXTMERGE NOSHOW +{"question": "<>"<> +} +ENDTEXT + +*!* {"question": "Care este numele meu?", +*!* "chatId": "913bf69d-7838-4f55-9c6d-d7ca8645be15"} + +IF EMPTY(m.tcChatBot) + lcChatBot = 'maria' +ELSE + lcChatBot = ALLTRIM(LOWER(m.tcChatbot)) + IF !INLIST(LOWER(m.tcChatbot), 'maria', 'cezar') + lcChatBot = 'maria' + ENDIF +ENDIF + +DO CASE + CASE m.lcChatBot = 'cezar' + lcChatBotId = [462dabb9-6995-4f7e-ad8e-30624ae56be5] + CASE m.lcChatBot = 'maria' + lcChatBotId = [d4911620-07fe-41f8-adb4-f2f52d6ec766] + OTHERWISE + lcChatBotId = [462dabb9-6995-4f7e-ad8e-30624ae56be5] +ENDCASE + +lcURL = [https://mutual-special-koala.ngrok-free.app/api/v1/prediction/] + m.lcChatBotId + +TRY + loHTTP = Createobject('MSXML2.ServerXMLHTTP') + loHTTP.Open('POST', lcURL, .F.) + loHTTP.setRequestHeader("Content-Type", "application/json; charset=utf-8") + loHTTP.setRequestHeader("Accept-Charset", "UTF-8") + + loHTTP.Send(m.lcQuestion) + llSucces = (loHTTP.Status = 200) +CATCH TO loEx + llSucces = .F. + AMESSAGEBOX(loEx.message,48,_Screen.Caption) + lcRaspuns = loEx.message +ENDTRY + +If m.llSucces + lcResponse = loHTTP.ResponseText + Try + loJson = nfjsonread(m.lcResponse) + Catch To loEx + llSucces = .F. + lcRaspuns = loEx.message + AMESSAGEBOX(loEx.Message,48,_Screen.Caption) + Endtry + If Type('loJson.chatId') = 'C' + lcChatId = loJson.chatId + Endif + + If Type('loJson.text') = 'C' + lcRaspuns = loJson.Text + + If m.llMarkDown2Html + lcRaspuns = MarkdownToHtml(m.lcRaspuns) + Endif + Else + lcRaspuns = m.lcResponse + ENDIF +Endif + + TEXT TO lcSampleReponse + { + "chatId": "feec0271-7ab1-4f07-8953-3e3d9630a87e", + "chatMessageId": "2c076f7c-3097-4d38-99d5-24ad2d319b85", + "isStreamValid": true, + "memoryType": "Buffer Window Memory", + "question": "Care este procedura pentru borderoul efactura?", + "sessionId": "feec0271-7ab1-4f07-8953-3e3d9630a87e", + "text": "Procedura pentru Borderoul eFactura este urmatoarea:\n\n1. Dupa emiterea facturilor, la sfarsitul zilei, sau a doua zi, daca se poate, in Borderoul eFactura: \n * Se citesc periodic Raspunsurile din ultimele 1-60 zile (depinde de cate zile nu s-au citit raspunsurile).\n * Facturile validate de ANAF au Tip Mesaj Raspuns = \"FACTURA PRIMITA\".\n * Facturile invalide au Tip Mesaj Raspuns = \"ERORI FACTURA\" ?i fundal de culoare ro?ie.\n * Se trimit facturile netrimise (culoare fundal galben pai) ?i cu erori, daca s-au corectat erorile, (culoare fundal rosu) din ziua curenta (daca operatia se face la sfarsitul zilei) sau din ziua precedenta (daca se poate).\n2. Se citesc Raspunsurile ?i se retrimite eFactura doar daca s-a primit raspuns tip \"ERORI FACTURA\".\n3. Din Borderoul eFactura, în paginile Facturi Trimise ?i Primite se poate lista centralizatorul facturilor trimise/primite în SPV cu Id Descarcare/Id Încarcare, pe care îl pute?i ata?a la Registrele de TVA Vânzare/Cumparare." + } + ENDTEXT + +Return m.lcRaspuns + +* Markdown to HTML Converter in Visual FoxPro +Function MarkdownToHtml + Lparameters lcMarkdown + + Local lcHTML, laLines[1], lnI, lcLine, lcTemp + lcHTML = "" + + * Split the Markdown into lines + Alines(laLines, lcMarkdown) + + * Process each line + For lnI = 1 To Alen(laLines) + lcLine = Alltrim(laLines[lnI]) + + * Check for headers + Do Case + Case Left(lcLine, 2) == '# ' + lcHTML = lcHTML + '

    ' + Substr(lcLine, 3) + '

    ' + Chr(13) + Chr(10) + Case Left(lcLine, 3) == '## ' + lcHTML = lcHTML + '

    ' + Substr(lcLine, 4) + '

    ' + Chr(13) + Chr(10) + Case Left(lcLine, 4) == '### ' + lcHTML = lcHTML + '

    ' + Substr(lcLine, 5) + '

    ' + Chr(13) + Chr(10) + OTHERWISE + lcHtml = lcHtml + m.lcLine + Endcase + Endfor + + * Check for bold and italic + + lcHTML = Strtran(m.lcHTML , '**', '',1,1000,1) + lcHTML = Strtran(m.lcHTML , '**', '',1,1000,1) + lcHTML = Strtran(m.lcHTML , '*', '',1,1000,1) + lcHTML = Strtran(m.lcHTML , '*', '',1,1000,1) + + + lcHTML = Strtran(m.lcHTML , '\n', '
    ',1,1000,1) + lcHTML = Strtran(m.lcHTML , '\t', '    ',1,1000,1) + lcHTML = Strtran(m.lcHTML , '\"', '"',1,1000,1) + + Return m.lcHTML +Endfunc + diff --git a/programe/controllere/appbcontroller.prg b/programe/controllere/appbcontroller.prg new file mode 100644 index 0000000..f6c286a --- /dev/null +++ b/programe/controllere/appbcontroller.prg @@ -0,0 +1,70 @@ +#INCLUDE COMUN.H + +Define Class appBaseController As Custom + oSettings = Null + lError = .F. + cErrorMessage = '' + oLog = Null + * + Procedure Init + This.oSettings = Createobject("settingsBaseController") + This.oLog = Iif(Type('goLog') = 'O', goLog, Createobject("logBaseController")) + Endproc && INIT + * + Procedure ProcessError(toHash) + Declare laErrors[1] + + lnErrorLines = Aerror(laErrors) + + lnError = Iif(toHash.HasProperty("nError"), toHash.GetValue("nError"), Transform(laErrors(1)) + ' ' + Transform(laErrors(5))) + lcMethod = toHash.GetValue("cMethod") + lnLine = toHash.GetValue("nLine") + lcError = Iif(toHash.HasProperty("cError"), toHash.GetValue("cError"), Transform(laErrors(2))) + lcCode = Iif(toHash.HasProperty("cCode"), toHash.GetValue("cCode"), Message(1) ) + lcCallStack = GetCallStack() + lcUserMessage = toHash.GetValue("cUserMessage") + + This.cErrorMessage = lcUserMessage + CRLF + CRLF + ; + 'Eroarea nr: ' + Transform(lnError) + CRLF + ; + 'Eroarea: ' + Transform(lcError) + CRLF + ; + 'Procedura: ' + Transform(lcMethod) + CRLF + ; + 'Linia: ' + Transform(lnLine) + CRLF + ; + 'Codul: ' + Transform(lcCode) + CRLF + ; + lcCallStack + + This.lError = .T. + This.oLog.WriteLog(This.cErrorMessage) + + aMessagebox(This.cErrorMessage,0+16,'Eroare') + *!* IF MESSAGEBOX(THIS.cErrorMessage + CRLF + 'Doriti sa iesiti?',16+4,'Eroare') = 6 + *!* RETURN TO MASTER + *!* ENDIF + Endproc && ProcessError + * + Procedure Log + Lparameters tcMessage + This.oLog.WriteLog(tcMessage) + Endproc && Log + * + Function GetError + Return This.cErrorMessage + Endfunc && GetError + * + Function HasError + Return This.lError + Endfunc && HasError + + * + Function Gethost + Return "" + Endfunc && GetHost + * + Function GetUser + Return "" + Endfunc && GetUser + * + Function GetPassword + Return "" + Endfunc && GetPassword + +Enddefine \ No newline at end of file diff --git a/programe/controllere/dbaccesscontroller.prg b/programe/controllere/dbaccesscontroller.prg new file mode 100644 index 0000000..3c009b7 --- /dev/null +++ b/programe/controllere/dbaccesscontroller.prg @@ -0,0 +1,339 @@ +Define Class DBAccessController As Custom + + cServer = Null + cSchema = Null + cParola = Null + oExecutor = Null + oConn = Null + nHandle = Null + nSucces = 0 + lAfiseazaEroare = .T. + *********************************************************************** + Procedure Init + If Type('goConn') = 'O' + This.oConn = goConn + Else + This.oConn = Createobject("oConn") + Public goConn + goConn = This.oConn + Endif + If Type('goExecutor') = 'O' + This.oExecutor = goExecutor + Else + This.oExecutor = Createobject("oExecutor") + Public goExecutor + goExecutor = This.oExecutor + Endif + If Type('gnHandle') = 'N' + This.nHandle = gnHandle + Else + This.nHandle = -1 + Public gnHandle + gnHandle = -1 + Endif + Endproc + *********************************************************************** + PROCEDURE conecteaza + Lparameters tcSchema,tcParola + This.cSchema = tcSchema + This.cParola = tcParola + This.nHandle = This.oConn.Connect(This.cServer,This.cSchema,This.cParola) + ENDPROC + *********************************************************************** + PROCEDURE deconecteaza + This.oConn.Disconnect(This.nHandle) + This.cSchema = Null + This.cParola = Null + This.nHandle = -1 + ENDPROC + *********************************************************************** + Procedure setServer + Lparameters tcServer + This.cServer = tcServer + Endproc + *********************************************************************** + Procedure setSchemaParola + Lparameters tcSchema,tcParola + If This.nHandle <> -1 + This.oConn.Disconnect(This.nHandle) + Endif + This.conecteaza(tcSchema,tcParola) + Endproc + *********************************************************************** + Procedure copiaza_structura_cursor + Lparameters tcSursa,tcDestinatie + LOCAL lnIndex + If !Empty(tcSursa) And !Empty(tcDestinatie) + If Used(tcSursa) + Dimension laStructura(1,18) + If Used(tcDestinatie) + Use In (tcDestinatie) + Endif + Afields(laStructura,tcSursa) +*!* lnIndex = ALEN(laStructura,1)+1 +*!* DIMENSION laStructura(lnIndex,18) +*!* laStructura[lnIndex,1] = "RN" +*!* laStructura[lnIndex,2] = "N" +*!* laStructura[lnIndex,3] = 10 +*!* laStructura[lnIndex,4] = 0 +*!* laStructura[lnIndex,5] = .F. +*!* laStructura[lnIndex,6] = laStructura[lnIndex-1,6] +*!* laStructura[lnIndex,7] = [] +*!* laStructura[lnIndex,8] = [] +*!* laStructura[lnIndex,9] = [] +*!* laStructura[lnIndex,10] = laStructura[lnIndex-1,10] +*!* laStructura[lnIndex,11] = laStructura[lnIndex-1,11] +*!* laStructura[lnIndex,12] = laStructura[lnIndex-1,12] +*!* laStructura[lnIndex,13] = [] +*!* laStructura[lnIndex,14] = [] +*!* laStructura[lnIndex,15] = [] +*!* laStructura[lnIndex,16] = [] +*!* laStructura[lnIndex,17] = 1 +*!* laStructura[lnIndex,18] = 1 + Create Cursor (tcDestinatie) From Array laStructura + Release laStructura + Else + amessagebox("Eroare interna 2 - copiaza structura cursor",16,"Eroare") + Endif + Else + amessagebox("Eroare interna 1 - copiaza structura cursor",16,"Eroare") + Endif + Endproc + *********************************************************************** + Function apeleaza_sql_hash + Lparameters toHash,tcNumeCursor + LOCAL lcSql + lcSql = [select ] + toHash.getValue('cColumns') + ; + [ from ] + toHash.getValue('cTables') + ; + IIF(!Empty(toHash.getValue('cWhere')),[ where ] + toHash.getValue('cWhere'),[]) + ; + IIF(!Empty(toHash.getValue('cGroupBy')),[ group by ] + toHash.getValue('cGroupBy'),[]) + ; + IIF(!Empty(toHash.getValue('cOrderBy')),[ order by ] + toHash.getValue('cOrderBy'),[]) + RETURN This.apeleaza_sql(lcSql,tcNumeCursor) + endfunc + *********************************************************************** + Function apeleaza_sql + Lparameters tcSql,tcNumeCursor + Local lcNumeCursor,lcAlias,llSucces + llSucces = .F. + lcAlias = Alias() + lcNumeCursor = [codbctemp] + If Used(lcNumeCursor) + Use In (lcNumeCursor) + Endif + This.nSucces = This.oExecutor.oExecute(tcSql,lcNumeCursor) + llSucces = This.verificaSucces() + If llSucces + If !Used(tcNumeCursor) + This.copiaza_structura_cursor(lcNumeCursor,tcNumeCursor) + Endif + Select (tcNumeCursor) + Zap In (tcNumeCursor) + Append From Dbf(lcNumeCursor) + Go Top + If Used(lcNumeCursor) + Use In (lcNumeCursor) + Endif + If !Empty(lcAlias) + Select (lcAlias) + Endif + Endif + Return llSucces + Endfunc + *********************************************************************** + Function apeleaza_procedura + Lparameters tcApelProcedura,tcNumeCursor + Local lcNumeCursor,lcAlias,llSucces,lcDeclaratie + llSucces = .F. + lcAlias = Alias() + If !Empty(tcNumeCursor) + lcNumeCursor = [codbctemp] + lcSql = [{call ] + tcApelProcedura + [}] + If Used(lcNumeCursor) + Use In (lcNumeCursor) + Endif + Else + lcSql = [begin ] + tcApelProcedura + [; end;] + Endif + + This.nSucces = This.oExecutor.oExecute(lcSql,lcNumeCursor) + + llSucces = This.verificaSucces() + If llSucces And !Empty(tcNumeCursor) + If !Used(tcNumeCursor) + This.copiaza_structura_cursor(lcNumeCursor,tcNumeCursor) + Endif + Select (tcNumeCursor) + Zap In (tcNumeCursor) + Append From Dbf(lcNumeCursor) + Go Top + If Used(lcNumeCursor) + Use In (lcNumeCursor) + Endif + Endif + If !Empty(lcAlias) + Select (lcAlias) + Endif + Return llSucces + Endfunc + *********************************************************************** + Function apeleaza_procedura_o + Lparameters tcApelProcedura,tcSirTip + Local lcNumeCursor,lcAlias,llSucces,lcNumeVariabila,lnParametri, lcTip + Dimension laSir[1] + llSucces = .F. + lcAlias = Alias() + lnParametri = Getwordcount(tcSirTip,[|]) + Dimension laSir[lnParametri] + For i = 1 To lnParametri + lcTip = Getwordnum(tcSirTip,i,[|]) + lcNumeVariabila = [p] + lcTip + [Parametru] + Alltrim(Str(i)) + lcDeclaratie = [Private ] + lcNumeVariabila + &lcDeclaratie + DO case + CASE UPPER(lcTip) = 'N' + lcDeclaratie = lcNumeVariabila + [ = 0] + CASE UPPER(lcTip) = 'C' + lcDeclaratie = lcNumeVariabila + [ = ''] + Otherwise + lcDeclaratie = lcNumeVariabila + [ = Null] + endcase + &lcDeclaratie + tcApelProcedura = Strtran(tcApelProcedura,[@p]+Padl(Alltrim(Str(i)),2,[0]),[@]+lcNumeVariabila) + Endfor + lcSql = [{call ] + tcApelProcedura + [}] + This.nSucces = This.oExecutor.oExecute(lcSql) + llSucces = This.verificaSucces() + If llSucces + For i = 1 To lnParametri + lcNumeVariabila = [p] + Getwordnum(tcSirTip,i,[|]) + [Parametru] + Alltrim(Str(i)) + loVariabila = &lcNumeVariabila + laSir[i] = loVariabila + lcDeclaratie = [Release ] + lcNumeVariabila + &lcDeclaratie + Endfor + ELSE + For i = 1 To lnParametri + laSir[i] = Null + Endfor + Endif + If !Empty(lcAlias) + Select (lcAlias) + Endif + Return laSir + Endfunc + *********************************************************************** + Function apeleaza_functie + Lparameters tcApelFunctie,tcTip + Local lcCursor,luReturn + lcCursor = [crstaf010101] + lcSql = [select ] + tcApelFunctie + [ as valoare from dual] + This.nSucces = This.oExecutor.oExecute(lcSql,lcCursor) + If This.verificaSucces() + Select (lcCursor) + luReturn = valoare + If Used(lcCursor) + Use In (lcCursor) + Endif + Do Case + Case Isnull(luReturn) + Return Null + Case Type('luReturn') <> tcTip + Return Val(luReturn) + Otherwise + Return luReturn + Endcase + Else + Return Null + Endif + Endfunc + *********************************************************************** + Function getEroare + Return Iif(Between(This.oExecutor.nEroare,20000,21000),This.oExecutor.cEroare,[]) + Endfunc + *********************************************************************** + Function getSucces + Return This.nSucces + Endfunc + *********************************************************************** + Function getSchema + Return This.cSchema + Endfunc + *********************************************************************** + Procedure setAfiseazaEroare + Lparameters tlAfiseazaEroare + This.lAfiseazaEroare = tlAfiseazaEroare + Endproc + *********************************************************************** + Procedure getAfiseazaEroare + Return This.lAfiseazaEroare + Endproc + *********************************************************************** + Function verificaSucces + Local llReturn + llReturn = .T. + If This.nSucces < 0 + IF This.lAfiseazaEroare OR (!BETWEEN(This.oExecutor.nEroare,20000,21000)) + amessagebox(This.oExecutor.cEroare,16,"Eroare") + ENDIF + llReturn = .F. + Endif + Return llReturn + Endfunc + *********************************************************************** + Function setTranzactieManuala + Local lnSucces + lnSucces = SQLSetprop(This.nHandle,"Transactions",2) + If lnSucces < 0 + If This.lAfiseazaEroare + amessagebox("Programul nu a reusit sa treaca pe tranzactie manuala! Reintrati in program si incercati din nou!",16,"Eroare") + Endif + llReturn = .F. + Else + llReturn = .T. + Endif + Return llReturn + Endfunc + *********************************************************************** + Function setTranzactieAutomata + Local lnSucces,llReturn + lnSucces = SQLSetprop(This.nHandle,"Transactions",1) + If lnSucces < 0 + If This.lAfiseazaEroare + amessagebox("Programul nu a reusit sa treaca pe tranzactie automata! Iesiti din program si intrati din nou!",16,"Eroare") + Endif + llReturn = .F. + Else + llReturn = .T. + Endif + Return llReturn + Endfunc + *********************************************************************** + Function confirmaOperatii + Local lnSucces,llReturn + lnSucces = Sqlcommit(This.nHandle) + If lnSucces < 0 + If This.lAfiseazaEroare + amessagebox("Eroare la COMMIT!",16,"Eroare") + Endif + llReturn = .F. + Else + llReturn = .T. + Endif + Return llReturn + Endfunc + *********************************************************************** + Function revocaOperatii + Local lnSucces,llReturn + lnSucces = Sqlrollback(This.nHandle) + If lnSucces < 0 + If This.lAfiseazaEroare + amessagebox("Eroare la ROLLBACK!",16,"Eroare") + Endif + llReturn = .F. + Else + llReturn = .T. + Endif + Return llReturn + Endfunc + *********************************************************************** +Enddefine \ No newline at end of file diff --git a/programe/controllere/logbcontroller.prg b/programe/controllere/logbcontroller.prg new file mode 100644 index 0000000..49b4d94 --- /dev/null +++ b/programe/controllere/logbcontroller.prg @@ -0,0 +1,66 @@ +#INCLUDE COMUN.H + +Define Class logBaseController As Session + cLog = '' + cOutputFile = '' + lAdditive = .T. + + ******************************************************************** + Procedure Init + Lparameters tcOutputfile, tlAdditive + + If !Empty(tcOutputfile) And Type('tcOutputFile') = 'C' + This.cOutputFile = tcOutputfile + Endif + If Pcount() = 2 And Type('tlAdditive') = 'L' + This.lAdditive = tlAdditive + Endif + + This.Log() + Endproc + ******************************************************************** + Procedure Log + Lparameters tcMessage, tcProgram + Local lcLog + If Pcount() = 0 Or Type('tcMessage') # 'C' Or Empty(tcMessage) + lcLog = CRLF + Else + lcLog = Ttoc(Datetime()) + ' ' + Sys(0) + CRLF + tcMessage + CRLF + Endi + This.cLog = This.cLog + lcLog + This.WRITELOG() + Endproc + ******************************************************************** + Procedure ResetLog + This.cLog = '' + Endproc + ******************************************************************** + Procedure WRITELOG + Lparameters tcMessage, tcOutputfile, tlAdditive + Local lcOutputfile, llAdditive, lcLog + If !Empty(tcOutputfile) And Type('tcOutputFile') = 'C' + lcOutputfile = tcOutputfile + Else + lcOutputfile = This.cOutputFile + Endif + If Pcount() < 3 Or Type('tlAdditive') # 'L' + llAdditive = This.lAdditive + Else + llAdditive = tlAdditive + Endif + If Type('tcMessage') = 'C' + If Empty(tcMessage) + lcLog = CRLF + Else + lcLog = Ttoc(Datetime()) + ' ' + Sys(0) + CRLF + tcMessage + CRLF + Endif + Else + lcLog = This.cLog + Endif + If !Empty(lcOutputfile) + Strtofile(lcLog, lcOutputfile, llAdditive) + Endif + Endproc + ******************************************************************** +Enddefine +* diff --git a/programe/controllere/logincontroller.prg b/programe/controllere/logincontroller.prg new file mode 100644 index 0000000..3a3fea2 --- /dev/null +++ b/programe/controllere/logincontroller.prg @@ -0,0 +1,249 @@ +#INCLUDE COMUN.H +#INCLUDE MVC.H + +Define Class LoginController As Custom + oDBController = Null + oControllerSetari = Null + oUtilizator = Null +*!* oFirma = Null + oView = Null + nTipLogin = Null + cFormLogin = Null + cProcLogin = Null + nTipVerificare = 0 +*!* 0 = verificare utilizator si parola +*!* 1 = verificare utilizator si parola cu id-ul dat ca parametru +*!* 2 = verificare utilizator si parola cu nivelul dat ca parametru + nIdUtil = Null + nNivelAcces = Null + cExplicatie = "Autentificare" + cRestaurant = Null + *********************************************************************** + Procedure Init + Lparameters toDbController,toControllerSetari,tnTipVerificare,tnParametru,tcDenumire + This.oDBController = toDbController + This.oControllerSetari = toControllerSetari + This.oUtilizator = Createobject("UtilizatorModel") + *!* This.oFirma = CREATEOBJECT("FirmaModel") + This.nTipLogin = 2 + This.cFormLogin = [Login] + Iif(This.nTipLogin=2,[CodBare],[]) + This.cProcLogin = [Login] + Iif(This.nTipLogin=2,[CodBare],[]) + This.nTipVerificare = IIF(TYPE('tnTipVerificare')<>'N',0,tnTipVerificare) + Do Case + Case This.nTipVerificare = 1 + This.nIdUtil = tnParametru + This.nNivelAcces = Null + This.cExplicatie = This.cExplicatie + [ ] + ALLTRIM(tcDenumire) + Case This.nTipVerificare = 2 + This.nNivelAcces = tnParametru + This.nIdUtil = Null + This.cExplicatie = This.cExplicatie + [ nivel minim : ] + ALLTRIM(tcDenumire) + Otherwise + This.oDBController.setLoginController(This) + This.nIdUtil = Null + This.nNivelAcces = Null + Endcase + Endfunc && INIT + *********************************************************************** + Procedure conecteaza + Local lcParolaSchema,lcServer,lcSchema,lcParola + lcServer = This.oControllerSetari.getServerSetari() + This.oDBController.setServer(lcServer) + This.oDBController.setSchemaParola(This.oControllerSetari.getSchemaSecurity(lcServer),This.oControllerSetari.getParolaSecurity(lcServer)) + lnIdFirmaSetari = This.oControllerSetari.getIdFirmaSetari() + If !Empty(lnIdFirmaSetari) + lcParolaSchema = This.oDBController.getParolaSchema(lnIdFirmaSetari) + IF !EMPTY(lcParolaSchema) + lnPoz = AT('$',lcParolaSchema) + lcSchema = SUBSTR(lcParolaSchema,1,lnPoz-1) + lcParola = SUBSTR(lcParolaSchema,lnPoz+1) + This.oDBController.setSchemaParola(lcSchema,lcParola) + If This.nTipVerificare = 0 + This.oControllerSetari.verificaVersiuni() + Endif + ENDIF + Endif + Endproc + *********************************************************************** + PROCEDURE deconecteaza + This.oDBController.deconecteaza() + This.oUtilizator.reseteazaDate() + ENDPROC + *********************************************************************** + Function getIdUtil + Return This.oUtilizator.getIdUtil() + Endfunc + *********************************************************************** + Function getUtilizator + Return This.oUtilizator.getUtilizator() + Endfunc + *********************************************************************** + Function getSex + Return This.oUtilizator.getSex() + Endfunc + *********************************************************************** + Procedure setInTura + LPARAMETERS tlInTura + This.oUtilizator.setInTura(tlInTura) + Endproc + *********************************************************************** + Function getInTura + Return This.oUtilizator.getInTura() + Endfunc + *********************************************************************** + Function getNivelAcces + Return This.oUtilizator.getNivelAcces() + Endfunc + *********************************************************************** + Function getIdRestaurant + Return This.oControllerSetari.getIdRestaurant() + Endfunc + *********************************************************************** + FUNCTION setRestaurant + LPARAMETERS tcRestaurant + This.cRestaurant = tcRestaurant + _Screen.Caption = gcExplicatieProgram + [ * ] + tcRestaurant + ENDFUNC + *********************************************************************** + FUNCTION getRestaurant + RETURN This.cRestaurant + ENDFUNC + *********************************************************************** + Function getIdSucursala + Return This.oControllerSetari.getIdSucursala() + Endfunc + ********************************************************************* + Function getIdMama + Return This.oControllerSetari.getIdMama() + Endfunc + ********************************************************************* + Function getEMama + Return This.oControllerSetari.getEMama() + Endfunc + ********************************************************************* + FUNCTION getFirma + LOCAL loFirma + loFirma = This.oControllerSetari.getoFirma() + RETURN NVL(loFirma.firma,[ ]) + endfunc + *********************************************************************** + Procedure lanseazaLogin + If This.conecteaza() + Do Form (This.cFormLogin) With This,This.cExplicatie Name This.oView + Else + amessagebox("Nu s-a putut stabili conexiunea cu serverul!",16,"Eroare") + Endif + Endproc && List + *********************************************************************** + Procedure verificaUtilizator + Parameters tcParola,tcUtilizator + Local lcCod,lcUtilizator + This.oDBController.setAfiseazaEroare(.F.) + lcCod = This.oDBController.verifica_drepturi_utilizator(tcParola,; + This.oControllerSetari.getIdFirmaSetari(),This.oControllerSetari.getNumeProgram(),; + This.nTipVerificare,IIF(This.nTipVerificare=2,This.nNivelAcces,This.nIdUtil),tcUtilizator) + + If !ISNULL(lcCod) + This.oUtilizator.actualizeazaDate(tcParola,lcCod,tcUtilizator) + IF this.nTipVerificare = 0 + This.oControllerSetari.citesteSetariSchema(This.oUtilizator.getIdUtil()) + This.setRestaurant(This.oDBController.initializeaza_restaurant(This.oControllerSetari.getIdRestaurant())) + ENDIF + Else + This.oUtilizator.reseteazaDate() + Endif + + IF This.verificaSucces() + This.oView.Release() + Else + If This.nTipLogin = 1 +*!* lcErrorMessage = "Combinatie utilizator/parola invalida!" + This.oView.txtUtilizator.SetFocus() + Else +*!* lcErrorMessage = "Cod invalid!" + This.oView.txtParola.Value = [] + This.oView.txtParola.SetFocus() + Endif +*!* This.oView.lblMessage.Caption = lcErrorMessage + This.oView.lblMessage.Caption = This.oDBController.getEroare() + Endif + This.oDBController.setAfiseazaEroare(.T.) + Endproc + *********************************************************************** + FUNCTION verificaSucces + LOCAL llReturn + IF This.esteAutentificat() +*!* AND ((This.nTipVerificare = 0) OR ; +*!* (This.nTipVerificare = 1 AND This.oUtilizator.getIdUtil() = This.nIdUtil) OR ; +*!* (This.nTipVerificare = 2 AND This.oUtilizator.getNivelAcces() >= This.nNivelAcces)) + llReturn = .T. + ELSE + llReturn = .F. + ENDIF + RETURN llReturn + ENDFUNc + *********************************************************************** + Function esteAutentificat + Return This.oUtilizator.esteAutentificat() + Endfunc + *********************************************************************** + Procedure SetEventsHandlers + Bindevent(This.oView.cmdLogin, "CLICK", This, This.cProcLogin ) + Bindevent(This.oView.cmdCancel, "CLICK", This, This.cProcLogin ) + Endproc && SetEventsHandler + *********************************************************************** + Procedure Login + Local lnRows, lcCommand, lcErrorMessage, lcUtilizator, lcParola, loUtilizator + + Declare laEvents[3] + lcErrorMessage = "" + lnRows = Aevents(laEvents,0) + + If lnRows = 3 + lcCommand = Upper(laEvents(1).Name) + Else + lcCommand = "" + Endif + If lcCommand = 'CMDLOGIN' + lcUtilizator = Alltrim(This.oView.cboUtilizator.Value) + lcParola = Alltrim(This.oView.txtParola.Value) + + This.verificaUtilizator(lcParola,lcUtilizator) + Else + This.oView.Release() + Endif + + Endproc && Login + *********************************************************************** + Procedure LoginCodBare + Local lnRows, lcCommand, lcErrorMessage, lcUtilizator, lcParola, loUtilizator + Declare laEvents[3] + lcErrorMessage = "" + lnRows = Aevents(laEvents,0) + If lnRows = 3 + lcCommand = Upper(laEvents(1).Name) + Else + lcCommand = "" + Endif + + If Inlist(lcCommand, 'CMDLOGIN') + lcCodBare = Alltrim(This.oView.txtParola.Value) +*!* lcUtilizator = Left(lcCodBare,At("$", lcCodBare)-1) +*!* lcParola = Substr(lcCodBare,At("$", lcCodBare)+1) + lcParola = lcCodBare + This.verificaUtilizator(lcParola) + Else + This.oView.Release() + Endif + + Endproc && LoginCodBare + *********************************************************************** + PROCEDURE reinitializeazaDate + This.oControllerSetari.citesteSetariSchema(This.oUtilizator.getIdUtil()) + ENDPROC + *********************************************************************** + PROCEDURE release + This.oUtilizator.Release() + ENDPROC + *********************************************************************** +Enddefine \ No newline at end of file diff --git a/programe/controllere/orasettingscontroller.prg b/programe/controllere/orasettingscontroller.prg new file mode 100644 index 0000000..8a93ad1 --- /dev/null +++ b/programe/controllere/orasettingscontroller.prg @@ -0,0 +1,184 @@ +Define Class oraSettingsController As Custom + + oDBController = Null + oDateCalendar = Null + oDateFirma = Null + nIdSucursala = Null + nIdMama = Null + lEMama = Null + + Procedure Init + Lparameters toDBController + This.oDBController = toDBController + Endproc + ****************************************************************** + Procedure initializeaza_firma + Lparameters tnIdFirma,tnIdUtil + This.initializeaza_date_firma(tnIdFirma) + This.initializeaza_calendar() + This.initializeaza_optiuni() + This.initializeaza_utilizator(tnIdUtil) + Endproc + ****************************************************************** + Procedure initializeaza_utilizator + Lparameters tnIdUtil + This.initializeaza_optiuni_utilizator(tnIdUtil) + This.initializeaza_sesiune_server(tnIdUtil) + Endproc + ****************************************************************** + Procedure initializeaza_date_firma + Lparameters tnIdFirma + Local loFirma,lcCursor + This.oDateFirma = Null + lcCursor = [crsdatefirma] + If Used(lcCursor) + Use In (lcCursor) + Endif + If This.oDBController.apeleaza_sql_hash(getHash([cColumns=>*??cTables=>syn_nom_firme??cWhere=>id_firma=] + Alltrim(Str(tnIdFirma))),lcCursor) + Select (lcCursor) + Scatter Name loFirma + This.oDateFirma = loFirma + This.nIdSucursala = Iif(Nvl(loFirma.id_mama,0) <> 0, loFirma.Id_Firma, Null) && DACA ESTE SUCURSALA - ID-UL SUCURSALA PE CARE IL SCRIU IN TABELE + This.nIdMama = Iif(Nvl(loFirma.id_mama,0) <> 0, loFirma.id_mama, Null) + This.lEMama = Nvl(loFirma.e_mama,0) <> 0 + Endif + If Used(lcCursor) + Use In (lcCursor) + Endif + Endproc + ****************************************************************** + Procedure initializeaza_calendar + Local loCalendar,lcCursor + This.oDateCalendar = Null + lcCursor = [crscalendar] + If Used(lcCursor) + Use In (lcCursor) + Endif + If This.oDbController.apeleaza_sql_hash(getHash([cColumns=>*??cTables=>(select * from calendar order by id_calendar desc)??cWhere=>rownum = 1]),lcCursor) + If Reccount(lcCursor) = 0 + amessagebox("Nu exista luni deschise in calendar!",48,"Atentie") + Else + Select (lcCursor) + Scatter Name loCalendar + This.oDateCalendar = loCalendar + Endif + Endif + If Used(lcCursor) + Use In (lcCursor) + Endif + Endproc + ****************************************************************** + PROCEDURE initializeaza_optiuni_utilizator + LPARAMETERS tnIdUtil + LOCAL lcCursor + lcCursor = [crsOptiuniUtilizator] + If Used(lcCursor) + Use In (lcCursor) + Endif + This.oDbController.apeleaza_sql_hash(getHash([cColumns=>*??cTables=>optiuni_util??cWhere=>id_util=] +ALLTRIM(STR(tnIdUtil)) + [??cOrderBy=>varname]),lcCursor) + ENDPROC + ****************************************************************** + Procedure initializeaza_optiuni + Local lcNumeCursor + lcNumeCursor = [v_optiuni] + If This.citeste_optiuni(lcNumeCursor) + Select(lcNumeCursor) + Scan For !Empty(varname) And (Isnull(programe) Or gcNumeProgram$programe) + lcvarname = Alltrim(&lcNumeCursor..varname) + lcvartype = Upper(Alltrim(&lcNumeCursor..Vartype)) + Do Case + Case lcvartype = "CHARACTER" + Public gc&lcvarname. + luvarvalue = Alltrim(&lcNumeCursor..varvalue) + gc&lcvarname. = luvarvalue + Case lcvartype = "CURRENCY" + Public gy&lcvarname. + luvarvalue = Ntom(Val(&lcNumeCursor..varvalue)) + gy&lcvarname. = luvarvalue + Case lcvartype = "NUMERIC" + Public gn&lcvarname. + luvarvalue = Val(&lcNumeCursor..varvalue) + gn&lcvarname. = luvarvalue + Case lcvartype = "DATETIME" + Public gt&lcvarname. + luvarvalue = Ctot(&lcNumeCursor..varvalue) + gt&lcvarname. = luvarvalue + Case lcvartype = "DATE" + Public gd&lcvarname. + luvarvalue = Ctod(&lcNumeCursor..varvalue) + gd&lcvarname. = luvarvalue + Case lcvartype = "LOGICAL" + Public gl&lcvarname. + luvarvalue = Iif(Inlist(Upper(Left(&lcNumeCursor..varvalue, 1)), "T", "Y"), .T., .F.) + gl&lcvarname. = luvarvalue + Otherwise + pcmsgbuff = "Tip de variabila globala invalid!" + pcmsgbuff = pcmsgbuff + Chr(13) + Chr(13) + "Numele variabilei: " + lcvarname + pcmsgbuff = pcmsgbuff + Chr(13) + "Tipul variabilei: " + lcvartype + pcmsgbuff = pcmsgbuff + Chr(13) + Chr(13) + "Contactati suportul tehnic." + =aMessagebox(pcmsgbuff, 48) + pcmsgbuff = "" + Endcase + Endscan + + Endif + If Used(lcNumeCursor) + Use In (lcNumeCursor) + Endif + Endproc + ****************************************************************** + PROCEDURE initializeaza_sesiune_server + Lparameters tnIdUtil + Local lcProceduri + lcProceduri = [pack_sesiune.set_Id_Util(] + ALLTRIM(STR(tnIdUtil)) + [);] + ; + [pack_sesiune.setluna(] + ALLTRIM(STR(This.oDateCalendar.luna)) + [);] + ; + [pack_sesiune.setan(] + ALLTRIM(STR(This.oDateCalendar.anul)) + [);] + ; + [pack_sesiune.setlunabal(] + ALLTRIM(STR(This.oDateCalendar.luna)) + [);] + ; + [pack_sesiune.setanbal(] + ALLTRIM(STR(This.oDateCalendar.anul)) + [);] + ; + [pack_contafin.set_data_ron('] + ALLTRIM(This.oDateFirma.schema) + [');] + ; + [pack_sesiune.set_data_ron('] + ALLTRIM(This.oDateFirma.schema) + [');] + ; + [pack_contafin.set_id_sucursala(] + Iif(Nvl(This.oDateFirma.id_mama,0) <> 0, ALLTRIM(STR(This.oDateFirma.Id_Firma)), [NULL]) + [);] + ; + [pack_contafin.set_id_firma(] + ALLTRIM(STR(This.oDateFirma.id_firma)) + [)] + This.oDBController.apeleaza_procedura(lcProceduri) + ENDPROC + ****************************************************************** + Function scrie_optiuni + Local lcProcedura + lcProcedura = [scrie_optiuni(USER)] + Return This.oDBController.apeleaza_procedura(lcProcedura) + Endfunc + ****************************************************************** + FUNCTION verificaVersiuni + LPARAMETERS tcNumeProgram,tcVersiuneProgram,tcVersiuneDBTxt + LOCAL lcFunctie + lcFunctie = [pack_migrare.VerificaVersiune(']+tcNumeProgram+[', ']+tcVersiuneProgram+[',']+tcVersiuneDBTxt+[')] + Return This.oDBController.apeleaza_functie(lcFunctie,[C]) + ENDfunc + ****************************************************************** + Function citeste_optiuni + Lparameters tcNumeCursor + This.scrie_optiuni() + Return This.oDBController.apeleaza_sql_hash(getHash([cColumns=>*??cTables=>optiuni??cOrderBy=>varname]),tcNumeCursor) + Endfunc + ****************************************************************** + Function getoFirma + Return This.oDateFirma + Endfunc + ****************************************************************** + Function getoCalendar + Return This.oDateCalendar + Endfunc + ****************************************************************** + Function getIdSucursala + Return This.nIdSucursala + Endfunc + ****************************************************************** + Function getIdMama + Return This.nIdMama + Endfunc + ****************************************************************** + Function getEMama + Return This.lEMama + Endfunc + ****************************************************************** +Enddefine \ No newline at end of file diff --git a/programe/controllere/roabaseapplication.prg b/programe/controllere/roabaseapplication.prg new file mode 100644 index 0000000..8a83dd0 --- /dev/null +++ b/programe/controllere/roabaseapplication.prg @@ -0,0 +1,202 @@ +Define Class ROABaseApplication As Custom + cLastSetClassLib = Null + cLastSetTalk = Null + cLastSetPath = Null + + cNumeProgram = [ROA] + cCopyRight = [© ROA Romfast SRL] + cUserNameApp = Null + cExplicatieProgram = Null + + cROAPath = Null + cAppPath = Null + cSecurityPath = Null + cGeneralIniFile = Null + + oLog = Null + oExecutor = Null + oConn = Null + oExport = Null + oMyXmlHttp = Null + + Procedure Init + Lparameters tcNumeProgram + This.cNumeProgram = Upper(Alltrim(tcNumeProgram)) + _Screen.Icon = tcNumeProgram + [.ico] + _Screen.Visible=.F. + This.definesteConstante() + This.setMediu() + This.setClase() + This.setProceduri() + This.declaraDLL() + This.setVariabile() + This.setAlteProceduri() + This.initializeazaControllere() + This.setExplicatieProgram() + Endproc + + PROCEDURE setVariabile + This.cAppPath = Addbs(ShortPath(GetAppStartPath())) + This.cROAPath = Addbs(Left(This.cAppPath,Rat("\",This.cAppPath,2)-1)) + This.cSecurityPath = This.cROAPath + 'Security\' + This.cGeneralIniFile = This.cROAPath + "settings.ini" + ENDPROC + + PROCEDURE setAlteProceduri + Set Path To Addbs(Substr(This.cAppPath,1,Rat([\],This.cAppPath,2)))+[COMUNROA\] Additive + ENDPROC + + PROCEDURE setExplicatieProgram + Local laVersion + Dimension laVersion(12) + If Agetfileversion(laVersion, Sys(16,0)) > 0 + This.cExplicatieProgram = laVersion(10) + IF TYPE('gcExplicatieProgram') = 'C' + gcExplicatieProgram = This.cExplicatieProgram + ENDIF + Endif + Release laVersion + ENDPROC + + Procedure definesteConstante + Public LF,CR,CRLF,CTAB,CT_INSUCCES,CT_SUCCES + Store Chr(10) To LF + Store Chr(13) To CR + Store Chr(13) + Chr(10) To CRLF + Store Chr(9) To CTAB + Store -1 To CT_INSUCCES + Store 1 To CT_SUCCES + Endproc + + Procedure initializeazaControllere + This.oLog = Createobject("logBaseController",This.cAppPath + "log_" + This.cNumeProgram + "_" + DTOS(DATE()) + ".txt") + This.oExecutor = Createobject("oExecutor") + This.oConn = Createobject("oConn") + This.oExport = Createobject("oExportConfig") + This.oMyXmlHttp = Createobject("MyXMLHTTP", getini(gcGeneralIniFile,'errors','host')) + Endproc + + Procedure declaraDLL + Declare Integer Beep In kernel32; + INTEGER dwFreq,; + INTEGER dwDuration + Declare Integer CoCreateGuid In OLE32.Dll String @lcBuffer + Endproc + + Procedure setClase + Set Classlib To registry Additive + Set Classlib To Messagebox Additive + Endproc + + Procedure setProceduri + Set Procedure To wwxmlhttp.prg Additive + Set Procedure To wwutils.prg Additive + Set Procedure To wwApi.prg Additive + SET PROCEDURE TO oproceduri_comune.prg additive + SET PROCEDURE TO ini.prg additive + Endproc + + Procedure setMediu + This.backupMediu() + + Set Path To ;Date;Include;FERESTRE;GRAFICE;Help;CLASE;MENIURI;PROGRAME;RAPOARTE;PROGS;LIBS + Push Menu _Msysmenu + Set Century On + Set Date Dmy + Set Ansi On + Set Exact On + Set Talk Off + Set Console Off + Set Safety Off + Close Databases All + Set Deleted On + Set Point To '.' + Set Hours To 24 + Set NullDisplay To "*" + Set Mark To '/' + Set Exclusive Off + Set Cpdialog Off + Set Escape Off + Set Notify Off + Set Seconds Off + Set Decimals To 4 + Endproc + + Procedure backupMediu + This.cLastSetClassLib=Set("CLASSLIB") + This.cLastSetTalk=Set("TALK") + This.cLastSetPath=Set("PATH") + Endproc + + Procedure ResetMediu + If Cntbar("_msysmenu")<>7 + Pop Menu _Msysmenu + Endif + + On Error + On Shutdown + Set Classlib To + Set Path To + Close All + Clear Events + + If Inlist(Application.StartMode,4) && EXE + Quit + Endif + + This.restoreMediu() + Endproc + + Procedure restoreMediu + If Empty(Nvl(This.cLastSetPath,[])) + Set Path To + Else + Set Path To &(This.cLastSetPath) + Endif + If This.cLastSetTalk=="ON" + Set Talk On + Else + Set Talk Off + Endif + Endproc + + Function Shutdown + If Type("goApp")=="O" And Not Isnull(goApp) + If Pemstatus(goApp,"OnShutdown",5) + Return goApp.OnShutDown() + Endif + Endif + This.ResetMediu() + Endfunc + + Function ErrorHandler(nError,cMethod,nLine) + Local lcErrorMsg,lcCodeLineMsg,lcUserName + Wait Clear + lcErrorMsg=Message()+Chr(13)+Chr(13) + lcErrorMsg=lcErrorMsg+"Method: "+cMethod + lcCodeLineMsg=Message(1) + If Between(nLine,1,10000) And Not lcCodeLineMsg="..." + lcErrorMsg=lcErrorMsg+Chr(13)+"Line: "+Alltrim(Str(nLine)) + If Not Empty(lcCodeLineMsg) + lcErrorMsg=lcErrorMsg+Chr(13)+Chr(13)+lcCodeLineMsg + Endif + Endif + lcErrorMsg = Sys(0) + ":" + Iif(Type('GCS')='C'," " + gcS,"") + Chr(13) +Chr(10) + lcErrorMsg + lcUserName = This.cUserNameApp + lcProgram = Juststem(Sys(16,0)) + This.oMyXMLHTTP.postError(lcErrorMsg, lcUserName, lcProgram) + + If aMessagebox(lcErrorMsg,17,_Screen.Caption)#1 + On Error + Return .F. + Endif + Endfunc + + Function verificaAplicatie + If !Like(This.cNumeProgram + '*', Upper(Alltrim(Juststem(Sys(16,0))))) + aMessagebox("Nu puteti porni acest program!",0+16,"Atentie") + Return .F. + Endif + Endfunc + +Enddefine \ No newline at end of file diff --git a/programe/controllere/settingsbcontroller.prg b/programe/controllere/settingsbcontroller.prg new file mode 100644 index 0000000..b926309 --- /dev/null +++ b/programe/controllere/settingsbcontroller.prg @@ -0,0 +1,376 @@ +#include security.h +*!* #Define WINDOWHIDE 0x80 +*!* #Define WINDOWSHOW 0x40 +*!* #define TBAR_AUTOHIDE 1 +*!* #define TBAR_KEEPONTOP 2 +*!* #define ABM_GETSTATE 0x00000004 +*!* #define ABM_SETSTATE 0x0000000A + +Define Class settingsBaseController As Custom + cNumeProgram = '' + cAppName = '' + cAppPath = '' + cIniFile = '' + cVersiuneProgram = '' + cVersiuneDBTxt = '' + cROAClientPath = '' + cROAClientIniFile = '' + cIniText = '' + lLog = .F. + cHostErrors = '' + cCursorHost = [crshost] + nTipCriptare = 0 + oOraSettingsController = Null + + *!* 0 = fara + *!* 1 = vechi + *!* 2 = nou + + Procedure Init + Lparameters tcNumeProgram + Declare Long FindWindow In "user32" String lpClassName, String lpWindowName + Declare Long SetWindowPos In "user32" Long HWnd, Long hWndInsertAfter, Long x, Long Y, Long cx, Long cy, Long wFlags + Declare Long SHAppBarMessage In "shell32.dll" Long dwMessage,String @pData + + This.cNumeProgram = tcNumeProgram + This.cAppPath = Addbs(ShortPath(GetAppStartPath())) + This.cAppName = Allt(Uppe(Juststem(Sys(16,0)))) + This.cIniFile = This.cAppPath + 'settings.ini' + This.cROAClientPath = Addbs(Left(This.cAppPath,Rat("\",This.cAppPath,2)-1)) + This.cROAClientIniFile = This.cROAClientPath + 'settings.ini' + + If !File(This.cIniFile) + This.InitSettings() + Endif + + This.ReadSettings() + This.citesteVersiuneProgram() + This.citesteVersiuneDBTxt() + Endproc + ********************************************************************* + Procedure setDBController + Lparameters toDBController + This.oOraSettingsController = Createobject('orasettingscontroller',toDBController) + Endproc + ********************************************************************* + Procedure verificaVersiuni + Local lcMesaj,lcMesajVerificare + lcMesajVerificare = This.oOraSettingsController.verificaVersiuni(This.cNumeProgram,This.cVersiuneProgram,This.cVersiuneDBTxt) + If !Empty(Nvl(lcMesajVerificare,[])) + Do Case + Case This.cNumeProgram$Upper(lcMesajVerificare) + lcMesaj = "Trebuie actualizat " + This.cNumeProgram + " la versiunea " + Getwordnum(lcMesajVerificare, 2, ":") + Chr(13) + Chr(10) + ; + "Versiunea actuala este " + Getwordnum(lcMesajVerificare, 3, ":") + Case "DB"$Upper(lcMesajVerificare) + lcMesaj = "Trebuie actualizata baza de date la versiunea " + Getwordnum(lcMesajVerificare, 2, ":") + Chr(13) + Chr(10) + ; + "Versiunea actuala este " + Getwordnum(lcMesajVerificare, 3, ":") + Endcase + AMESSAGEBOX(lcMesaj,0+48, "Actualizare") + Endif + Release lcMesaj,lcMesajVerificare + Endproc + ********************************************************************* + Procedure citesteVersiuneProgram + Local lcFisierExe + lcFisierExe = This.cAppPath + This.cAppName + [.exe] + If Agetfileversion(aVersion, lcFisierExe) > 0 + This.cVersiuneProgram = Alltrim(aVersion(4)) + Else + This.cVersiuneProgram = [] + Endif + If Type('aVersion') <> 'U' + Release aVersion + Endif + Endproc + ********************************************************************* + Procedure citesteVersiuneDBTxt + Local lcFisierVersiuneDB + lcFisierVersiuneDB = This.cAppPath + 'versiune_db.txt' + If File(lcFisierVersiuneDB) + This.cVersiuneDBTxt = Alltrim(Filetostr(lcFisierVersiuneDB)) + Else + This.cVersiuneDBTxt = [] + Endif + Release lcFileVersiuneDB + Endproc + ********************************************************************* + Procedure InitSettings + If Empty(This.cIniText) + Return + Endif + Strtofile(This.cIniText, This.cIniFile) + Endproc && InitSettings + *!* ********************************************************************* + *!* Function HideTaskBar + *!* Local lnHandle,lcInfoBuffer + *!* lnHandle = FindWindow("Shell_TrayWnd", "") + *!* *!* SetWindowPos(lnHandle, 0, 0, 0, 0, 0, WINDOWHIDE) + *!* DEBUG + *!* SUSPEND + *!* lcInfoBuffer = This.num2dword(0) + ; + *!* This.num2dword(lnHandle) + ; + *!* This.num2dword(0) + ; + *!* This.num2dword(0) + ; + *!* This.num2dword(0) + ; + *!* This.num2dword(0) + *!* SHAppBarMessage(ABM_GETSTATE,@lcInfoBuffer) + *!* lcInfoBuffer = This.num2dword(50000) + ; + *!* This.num2dword(lnHandle) + ; + *!* This.num2dword(0) + ; + *!* This.num2dword(0) + ; + *!* This.num2dword(0) + ; + *!* This.num2dword(BITNOT(TBAR_KEEPONTOP)) + *!* SHAppBarMessage(ABM_SETSTATE,@lcInfoBuffer) + *!* Endfunc + *!* ********************************************************************* + *!* Function ShowTaskBar + *!* Local lnHandle + *!* lnHandle = FindWindow("Shell_TrayWnd", "") + *!* *!* SetWindowPos(lnHandle, 0, 0, 0, 0, 0, WINDOWSHOW) + *!* Endfunc + *!* ********************************************************************* + *!* FUNCTION num2dword + *!* LPARAMETERS tnValue + *!* #DEFINE m0 256 + *!* #DEFINE m1 65536 + *!* #DEFINE m2 16777216 + *!* LOCAL b0, b1, b2, b3 + *!* b3 = Int(tnValue/m2) + *!* b2 = Int((tnValue- b3*m2)/m1) + *!* b1 = Int((tnValue- b3*m2 - b2*m1)/m0) + *!* b0 = Mod(tnValue, m0) + *!* RETURN Chr(b0)+Chr(b1)+Chr(b2)+Chr(b3) + *!* endfunc + *!* ********************************************************************* + Procedure ReadSettings + This.cHostErrors = This.GetVariable([errors],[host]) + If Upper(Alltrim(This.GetVariable([errors],[log]))) = [TRUE] + This.lLog = .T. + Else + This.lLog = .F. + Endif + + *!* This.citesteSecurity() + Endproc + ********************************************************************* + Function getHostErrors + Return This.cHostErrors + Endfunc + ********************************************************************* + Function getlLog + Return This.lLog + Endfunc + ********************************************************************* + Function getLogPath + Return Iif(This.lLog,This.cAppPath + [log_]+ This.cNumeProgram + [_] + Dtos(Date()) + [.txt],[]) + Endfunc + ********************************************************************* + Function getUpdateServer + Return This.GetVariable([update],[server]) + Endfunc + ********************************************************************* + Function getNumeProgram + Return This.cNumeProgram + Endfunc + ********************************************************************* + Function getSchemaSecurity + Lparameters tcNumeServer + Local lcAliasVechi,lcSchema + lcSchema = [] + lcAliasVechi = Alias() + Select (This.cCursorHost) + Locate For Upper(Alltrim(Host)) = Upper(Alltrim(tcNumeServer)) + If Found() + lcSchema = Upper(Alltrim(schema)) + Endif + If Used(lcAliasVechi) + Select (lcAliasVechi) + Endif + Return lcSchema + Endfunc + ********************************************************************* + Function getParolaSecurity + Lparameters tcNumeServer + Local lcAliasVechi,lcParola + lcParola = [] + lcAliasVechi = Alias() + Select (This.cCursorHost) + Locate For Upper(Alltrim(Host)) = Upper(Alltrim(tcNumeServer)) + If Found() + lcParola = Alltrim(pwd) + lcParola = Iif(Alltrim(isEncrypted) = [1],EncryptDecrypt(lcParola,ENCRYPTKEY,"decrypt",Iif(This.nTipCriptare=2,"blowfish","old")),lcParola) + Endif + If Used(lcAliasVechi) + Select (lcAliasVechi) + Endif + Return lcParola + Endfunc + ********************************************************************* + Function citesteSecurity + Lparameters tcFileExt + Local lcSecurityFile,lcSecurityPath,lnValid,lcFileExt,lcSecurityText,llSucces + llSucces = .T. + lcFileExt = Iif(Empty(tcFileExt),[XML],tcFileExt) + + lcSecurityPath = This.cROAClientPath + [SECURITY\] + lcSecurityFile = lcSecurityPath + [roa_security.] + lcFileExt + lnValid = 0 + + If !File(lcSecurityFile) + AMESSAGEBOX('Nu exista fisierul ' + lcSecurityFile + ' !',0+16,'Atentie') + llSucces = .F. + Else + If Used(This.cCursorHost) + Use In (This.cCursorHost) + Endif + + Create Cursor (This.cCursorHost)(Host c(100), schema c(100), pwd v(100), isEncrypted c(1)) + lcSecurityText = Filetostr(lcSecurityFile) + If lcFileExt = [XML] + Try + Xmltocursor(lcSecurityFile, "cXML", 512) + Select cXml + Go Top + Scatter Name lofirstrecord + + If lofirstrecord.Host="ENCRYPTION" + This.nTipCriptare = 2 + Delete + Else + This.nTipCriptare = 1 + Endif + + Insert Into (This.cCursorHost) (Host, schema, pwd, isEncrypted) ; + SELECT Host, schema, pwd, "1" As isEncrypted ; + from cXml + lnValid = Reccount('cXML') + + Use In cXml + Catch To loex + *!* Local loEx As Exception + AMESSAGEBOX('Mesaj: ' + loex.Message + CRLF + ; + 'Eroare nr: ' + Alltrim(Transform(loex.ErrorNo)) + CRLF + ; + 'Cod: ' + loex.LineContents + CRLF + 'Procedura: ' + loex.Procedure + CRLF + ; + 'Linia nr: ' + Alltrim(Transform(loex.Lineno)),0+16,'Eroare') + llSucces = .F. + Finally + Use In (Select('cXML')) + Endtry + + Else + Local laHost + Dimension laHost[1] + + lnLen = Alines(laHost, lcSecurityText) + + If lnLen > 0 + For i = 1 To lnLen + lcLinie = laHost[i] + + lcHost = Getwordnum(lcLinie, 1, ';') + lcSchema = Getwordnum(lcLinie, 2, ';') + lcPassword = Getwordnum(lcLinie, 3, ';') + lcMode = "0" && necriptat - security.txt + + If Empty(lcHost) Or Empty(lcSchema) Or Empty(lcPassword) + Loop + Endif + + lnValid = lnValid + 1 + Insert Into (This.cCursorHost) (Host, schema, pwd, isEncrypted) Values (lcHost, lcSchema, lcPassword, Iif(Empty(lcMode), '0', lcMode)) + Endfor + This.nTipCriptare = 0 + Endif + Endif + Endif + + Return llSucces + Endfunc + ********************************************************************* + Procedure citesteSetariSchema + Lparameters tnIdUtil + This.oOraSettingsController.initializeaza_firma(This.nId,tnIdUtil) + Endproc + ****************************************************************** + Function getoFirma + Return This.oOraSettingsController.getoFirma() + Endfunc + ****************************************************************** + Function getAn + Return This.oOraSettingsController.getoCalendar().an + Endfunc + ****************************************************************** + Function getLuna + Return This.oOraSettingsController.getoCalendar().luna + Endfunc + ********************************************************************* + Function getIdSucursala + Return This.oOraSettingsController.getIdSucursala() + Endfunc + ********************************************************************* + Function getIdMama + Return This.oOraSettingsController.getIdMama() + Endfunc + ********************************************************************* + Function getEMama + Return This.oOraSettingsController.getEMama() + Endfunc + ********************************************************************* + Procedure SetVariable + Lparameters tcSection, tcVarname, tuValue + Local lcSection, lcVarname, lcValue + + lcSection = Lower(Alltrim(tcSection)) + lcVarname = Lower(Alltrim(tcVarname)) + lcValue = Transform(tuValue) + SetIni(This.cIniFile, lcSection, lcVarname, lcValue) + + Endproc && SetVariable + ********************************************************************* + Procedure GetVariable + Lparameters tcSection, tcVarname + + Local lcSection, lcVarname, lcValue + + lcSection = Lower(Alltrim(tcSection)) + lcVarname = Lower(Alltrim(tcVarname)) + lcValue = GetIni(This.cIniFile, lcSection, lcVarname) + lcValue = Nvl(lcValue, '') + If Empty(lcValue) And File(This.cROAClientIniFile) + lcValue = GetIni(This.cROAClientIniFile, lcSection, lcVarname) + lcValue = Nvl(lcValue, '') + Endif + + Return lcValue + Endproc && GetVariable + ********************************************************************* + Function getIniFilePath + Return This.cIniFile + Endfunc + ********************************************************************* + *!* FUNCTION GetValue + *!* LPARAMETERS tcSetting + *!* + *!* LOCAL lcSetting, luValue + *!* lcSetting = "THIS." + tcSetting + *!* luValue = '' + *!* IF TYPE(lcSetting) # 'U' + *!* luValue = &lcSetting + *!* ENDIF + *!* RETURN luValue + *!* + *!* ENDFUNC + *!* ********************************************************************* + *!* PROCEDURE SetValue + *!* LPARAMETERS tcSetting, tuValue + *!* + *!* LOCAL lcSetting, luValue + *!* lcSetting = "THIS." + tcSetting + *!* luValue = tuValue + *!* IF TYPE(lcSetting) # 'U' + *!* &lcSetting = luValue + *!* ENDIF + *!* + *!* ENDPROC + *!* ********************************************************************* +Enddefine && settingsBaseController diff --git a/programe/controllerecr.prg b/programe/controllerecr.prg new file mode 100644 index 0000000..4cbbf23 --- /dev/null +++ b/programe/controllerecr.prg @@ -0,0 +1,303 @@ + +*!* marius.mutu +*!* 12.07.2016 +*!* initializeaza_cai: citire cale bon din settings.ini [ecr]calebon, caleroaprint + +*!* 07.02.2024 +*!* bon2ecr : tratare discount, pret negativ/cantitate negativa = reducere valorica la casa de marcat + +*#INCLUDE COMUN.H +#IFNDEF COMUN_H + #DEFINE COMUN_H + + #DEFINE LF CHR(10) + #DEFINE CR CHR(10) + #DEFINE CRLF CHR(13) + CHR(10) + #DEFINE CTAB CHR(9) + + #DEFINE CT_INSUCCES -1 + #DEFINE CT_SUCCES 1 +#ENDIF + +* #INCLUDE MVC.H +#IFNDEF ROARETAIL_H + #DEFINE ROARETAIL_H + + #DEFINE RR_TIPCURSOR 1 + #DEFINE RR_TIPARRAY 2 + #DEFINE RR_TIPCOLLECTION 3 +#ENDIF + +Define Class oControllerEcr As Custom + cNrDispozitiv = [] + nNumarBon = 0 + nNumarTichete1 = 0 + nPretTichet1 = 0 + nNumarTichete2 = 0 + nPretTichet2 = 0 + nValoareTichete = 0 + nValoareCard = 0 + nValoareReducere= 0 + nProcentReducere= 0 + nValoareNumerar = 0 + nValoareTotal = 0 + cCursor = Null + cNumeFirma = Null + cFirma = Null + cUtilizator = Null + cNumeProgram = Null + cDescriere = Null + cCaleProgramIni = [C:\ROAPRINT\ROAPRINT.EXE] + cCaleFisierIni = [C:\ROA.BON] + cCaleProgram = Null + cCaleFisier = Null + tDataOra = {} + + cSchemaTip = [0;TIP N(2);DENUMIRE C(50);CANTITATE N(10,4);PRET N(10,4);UM C(10);COTATVA N(5,2);DEPARTAMENT N(2);] +********************************************************************************************************************************** + Procedure Init + This.cNumeProgram = gcNumeProgram + Endproc +********************************************************************************************************************************** + Procedure Reset + With This + .cNrDispozitiv = [] + .nNumarBon = 0 + .nNumarTichete1 = 0 + .nPretTichet1 = 0 + .nNumarTichete2 = 0 + .nPretTichet2 = 0 + .nValoareTichete = 0 + .nValoareCard = 0 + .nValoareReducere = 0 + .nProcentReducere = 0 + .nValoareNumerar = 0 + .nValoareTotal = 0 + .cCursor = Null + .cNumeFirma = Null + .tDataOra = {} + .cCaleProgram = .cCaleProgramIni + .cCaleFisier = .cCaleFisierIni + .cFirma = Null + .cUtilizator = Null + .cDescriere = Null + Endwith + Endproc +********************************************************************************************************************************** + Procedure initializeaza_util_firma + Lparameters tcUtilizator,tcNumeFirma,tcFirma,tcDescriere + This.cUtilizator = tcUtilizator + This.cNumeFirma = tcNumeFirma + This.cFirma = tcFirma + This.cDescriere = tcDescriere + Endproc +********************************************************************************************************************************** + Procedure initializeaza_date + Lparameters toHash + Local ltDataOra,lnNumarTichete1,lnNumarTichete2 + With This + lnNumarTichete1 = toHash.getValue("nNumarTichete1") + lnNumarTichete2 = toHash.getValue("nNumarTichete2") + ltDataOra = toHash.getValue("tDataOra") + + .cNrDispozitiv = toHash.getValue("cTip") + .cCursor = toHash.getValue("cCursor") + .nNumarBon = toHash.getValue("nNumarBon") + .nValoareNumerar = toHash.getValue("nValoareNumerar") + .nValoareCard = toHash.getValue("nValoareCard") + .nProcentReducere = toHash.getValue("nProcentReducere") + .nValoareReducere = toHash.getValue("nValoareReducere") + .nValoareTotal = toHash.getValue("nValoareTotal") + IF EMPTY(NVL(.cNumeFirma,[])) + .cNumeFirma = gcS + ENDIF + .tDataOra = Iif(Empty(Nvl(ltDataOra,{})),Datetime(),ltDataOra) + IF EMPTY(NVL(.cUtilizator,[])) + .cUtilizator = gcUsernameApp + ENDIF + IF EMPTY(NVL(.cFirma,[])) + .cFirma = gcFirma + ENDIF + If !Empty(Nvl(lnNumarTichete1,0)) + .nNumarTichete1 = lnNumarTichete1 + .nPretTichet1 = toHash.getValue("nPretTichet1") + Endif + If !Empty(Nvl(lnNumarTichete2,0)) + .nNumarTichete2 = lnNumarTichete2 + .nPretTichet2 = toHash.getValue("nPretTichet2") + Endif + If !Empty(Nvl(lnNumarTichete1,0)) Or !Empty(Nvl(lnNumarTichete2,0)) + .nValoareTichete = toHash.getValue("nValoareTichete") + Endif + + Endwith + Endproc +********************************************************************************************************************************** + Procedure initializeaza_cai + Local lcBonFile,lcRoaPrint, loEx + Store "" To lcBonFile,lcRoaPrint + DO case + CASE Type('goApp.oSettings') <> 'U' + lcBonFile = goApp.oSettings.GetValue("calebon") + lcRoaPrint = goApp.oSettings.GetValue("caleroaprint") + CASE TYPE('gcGeneralIniFile') = 'C' AND FILE(m.gcGeneralIniFile) + TRY + lcBonFile = getini(m.gcGeneralIniFile,"ecr","calebon") + lcRoaPrint = getini(m.gcGeneralIniFile,"ecr","caleroaprint") + + IF EMPTY(m.lcRoaPrint) + lcRoaPrint = Addbs(Left(gcAppPath,Rat("\",gcAppPath,2)-1)) + [ROAPRINT\ROAPRINT.EXE] + ENDIF + IF EMPTY(m.lcBonFile) AND DIRECTORY('C:\temp') + lcBonFile = [c:\temp\roa.bon] + ENDIF + CATCH TO loEx + lcRoaPrint = Addbs(Left(gcAppPath,Rat("\",gcAppPath,2)-1)) + [ROAPRINT\ROAPRINT.EXE] + ENDTRY + OTHERWISE + lcRoaPrint = Addbs(Left(gcAppPath,Rat("\",gcAppPath,2)-1)) + [ROAPRINT\ROAPRINT.EXE] + ENDCASE + + This.cCaleFisier = Iif(Empty(lcBonFile),This.cCaleFisierIni,lcBonFile) + This.cCaleProgram = Iif(Empty(lcRoaPrint),This.cCaleProgramIni,lcRoaPrint) + Endproc +********************************************************************************************************************************** + Procedure imprima + Lparameters toHash + Local lcCursor + lcCursor = toHash.GetValue("cCursor") + If !Empty(Nvl(lcCursor,[])) And Used(lcCursor) + With This + .initializeaza_date(toHash) + .initializeaza_cai() + .bon2ecr() + .Reset() + Endwith + Endif + Endproc +********************************************************************************************************************************** + Procedure bon2ecr + Local lcRun, lcCurentDir + Local lcSelect, lnSucces + Local loEx As Exception + Local lcBon, lcDirectoryCaleFisier + lcBon = "" + lnSucces = CT_INSUCCES + + lcSelect = Select() +*!* ROAX FIRMATEST 1;2;3; MARIUS A 12:00:00 AM 7/7/2006 +*!* 0;TIP N(2);DENUMIRE C(50);CANTITATE N(10,4);PRET N(10,4);UM C(10);COTATVA N(5,2);DEPARTAMENT N(2); + + lcBon = This.cNumeProgram + CTAB + Allt(This.cNumeFirma) + CTAB + Allt(this.cNrDispozitiv) + CTAB + Allt(This.cUtilizator) + CTAB + Ttoc(This.tDataOra) + ; + CTAB + allt(NVL(This.cFirma,[])) + CTAB + allt(NVL(This.cDescriere,[])) + CTAB + allt(str(NVL(This.nNumarBon,0))) + CRLF + lcBon = lcBon + This.cSchemaTip + CRLF +*!* modificare 15.07.2010 : am adaugat coloanele PROCENT si DISCOUNT +*!* (lcCursor) trebuie sa aiba coloanele : DENUMIRE C(100), UM C(10), CANT N(10,4), PRET N(18,4), DEPARTAMENT N(2), PROC_TVAV N(5,2), PROCENT N(5,2), DISCOUNT N(2) +*!* modificare 15.07.2010 +*!* Select (This.cCursor) +*!* Scan +*!* *!* 1;ARDEI GRAS CU LIPTAUER 120 GR;1;0.1;PORTIE;1.19;1; +*!* +*!* lcBon = lcBon + [1;] + Alltrim(DENUMIRE) + [;] + Alltrim(Transform(CANT)) + [;] + Alltrim(Transform(Pret)) + [;] + Alltrim(NVL(UM,[])) + [;] + Alltrim(Transform(PROC_TVAV)) + [;] + Alltrim(Transform(Nvl(DEPARTAMENT,1))) + [;] + CRLF +*!* *!* modificare 0.9.27 : NVL(um,[]) +*!* Endscan + lnCampuri = AFIELDS(laColoaneBon,This.cCursor) + If lnCampuri = 8 + Select (This.cCursor) + Scan + Do Case + Case discount = 1 && discount articol anterior + lcBon = lcBon + [3;] + Alltrim(DENUMIRE) + [;] + Alltrim(Transform(CANT)) + [;] + Alltrim(Transform(procent)) + [;] + Alltrim(Nvl(UM,[BUC])) + [;] + Alltrim(Transform(PROC_TVAV)) + [;] + Alltrim(Transform(Nvl(DEPARTAMENT,1))) + [;] + CRLF + Case discount = 2 && discount subtotal + lcBon = lcBon + [4;] + Alltrim(DENUMIRE) + [;] + Alltrim(Transform(CANT)) + [;] + Alltrim(Transform(procent)) + [;] + Alltrim(Nvl(UM,[BUC])) + [;] + Alltrim(Transform(PROC_TVAV)) + [;] + Alltrim(Transform(Nvl(DEPARTAMENT,1))) + [;] + CRLF + Case cant < 0 AND pret > 0 && discount valoric subtotal; cantitatea nu poate fi negativa la casa de marcat. o tratez ca o reducere valorica + lcBon = lcBon + [41;] + Alltrim(DENUMIRE) + [;] + [1] + [;] + Alltrim(Transform(ABS(cant*pret))) + [;] + Alltrim(Nvl(UM,[BUC])) + [;] + Alltrim(Transform(PROC_TVAV)) + [;] + Alltrim(Transform(Nvl(DEPARTAMENT,1))) + [;] + CRLF + Case pret < 0 AND cant > 0 && discount valoric subtotal; bon fiscal conform factura, se cumuleaza articolele, iar discount-ul global apare cu cantitate = 1 si sum(pret) negativ + lcBon = lcBon + [41;] + Alltrim(DENUMIRE) + [;] + [1] + [;] + Alltrim(Transform(ABS(cant*pret))) + [;] + Alltrim(Nvl(UM,[BUC])) + [;] + Alltrim(Transform(PROC_TVAV)) + [;] + Alltrim(Transform(Nvl(DEPARTAMENT,1))) + [;] + CRLF + Otherwise + lcBon = lcBon + [1;] + Alltrim(DENUMIRE) + [;] + Alltrim(Transform(CANT)) + [;] + Alltrim(Transform(Pret)) + [;] + Alltrim(Nvl(UM,[BUC])) + [;] + Alltrim(Transform(PROC_TVAV)) + [;] + Alltrim(Transform(Nvl(DEPARTAMENT,1))) + [;] + CRLF + Endcase + Endscan + Else + Select (This.cCursor) + Scan + *!* 1;ARDEI GRAS CU LIPTAUER 120 GR;1;0.1;PORTIE;1.19;1; + + lcBon = lcBon + [1;] + Alltrim(DENUMIRE) + [;] + Alltrim(Transform(CANT)) + [;] + Alltrim(Transform(Pret)) + [;] + Alltrim(Nvl(UM,[BUC])) + [;] + Alltrim(Transform(PROC_TVAV)) + [;] + Alltrim(Transform(Nvl(DEPARTAMENT,1))) + [;] + CRLF + *!* modificare 0.9.27 : NVL(um,[]) + Endscan + Endif + *!* modificare 15.07.2010 ^ +*!* 2;NUMERAR;0;0.5; +*!* 2;PROCENTDISCOUNT;0;10.50; + +*!* modificare ROARESTAURANT v 0.9.30 +*!* If This.nProcentReducere > 0 +*!* lcBon = lcBon + [2;PROCENTDISCOUNT;0;] + ALLTRIM(TRANSFORM(This.nProcentReducere)) + [;] + CRLF +*!* *!* lcBon = lcBon + [2;REDUCERE;0;] + Alltrim(Transform(This.nValoareReducere)) + [;] + CRLF +*!* Endif + IF This.nProcentReducere > 0 + lcBon = lcBon + [2;DISCOUNT;0;] + ALLTRIM(TRANSFORM(This.nValoareReducere)) + [;] + CRLF + lcBon = lcBon + [2;PROCENTDISCOUNT;0;] + ALLTRIM(TRANSFORM(This.nProcentReducere)) + [;] + CRLF + *!* lcBon = lcBon + [2;REDUCERE;0;] + Alltrim(Transform(This.nValoareReducere)) + [;] + CRLF + ENDIF +*!* modificare ROARESTAURANT v 0.9.30 ^ + + If This.nNumarTichete1 > 0 + lcBon = lcBon + [2;NUMARTICHETE1;0;] + Alltrim(Transform(This.nNumarTichete1)) + [;] + CRLF + lcBon = lcBon + [2;PRETTICHET1;0;] + Alltrim(Transform(This.nPretTichet1)) + [;] + CRLF + Endif + If This.nNumarTichete2 > 0 + lcBon = lcBon + [2;NUMARTICHETE2;0;] + Alltrim(Transform(This.nNumarTichete2)) + [;] + CRLF + lcBon = lcBon + [2;PRETTICHET2;0;] + Alltrim(Transform(This.nPretTichet2)) + [;] + CRLF + Endif + + If This.nValoareCard > 0 + lcBon = lcBon + [2;CARD;0;] + Alltrim(Transform(This.nValoareCard)) + [;] + CRLF + Endif + + If This.nValoareNumerar > 0 + lcBon = lcBon + [2;NUMERAR;0;] + Alltrim(Transform(This.nValoareNumerar)) + [;] + CRLF + Endif + + lcDirectoryCaleFisier = JUSTPATH(This.cCaleFisier) + IF !DIRECTORY(m.lcDirectoryCaleFisier) + TRY + MD (m.lcDirectoryCaleFisier) + CATCH + AMESSAGEBOX('Nu exista directorul ' + m.lcDirectoryCaleFisier + ' si nu s-a putut crea! Creati-l manual!',0+32,_screen.Caption) + ENDTRY + + ENDIF + Try + Strtofile(lcBon, This.cCaleFisier) + + If File(This.cCaleProgram) + lcCurentDir = Sys(5) + Curdir() + Cd Justpath(This.cCaleProgram) + + lcRun = Juststem(This.cCaleProgram) + [("] + This.cCaleFisier + [")] + llSucces = &lcRun + + Cd (lcCurentDir) + lnSucces = Iif(llSucces, CT_SUCCES, CT_INSUCCES) + Else + lnSucces = CT_INSUCCES + AMESSAGEBOX('Nu exista ' + This.cCaleProgram + ' !',16,'Eroare') + Endif + Catch To loEx + goLog.Log(m.lcBon) + goLog.log('Fisier bon this.cCaleFisier: ' + this.cCaleFisier + " exista: " + TRANSFORM(FILE(this.cCaleFisier))) + goLog.Log('This.cCaleProgram: ' + This.cCaleProgram) + + lnSucces = CT_INSUCCES + AMESSAGEBOX(loEx.Message + CRLF + loEx.Procedure + CRLF + loEx.LineContents + CRLF + loEx.LineContents + CRLF + ; + 'Fisier bon this.cCaleFisier: ' + this.cCaleFisier + " exista: " + TRANSFORM(FILE(this.cCaleFisier)),16,'Eroare') + Endtry + + Select (lcSelect) + + Return lnSucces + Endproc && bon2ecr +********************************************************************************************************************************** +Enddefine diff --git a/programe/email.prg b/programe/email.prg new file mode 100644 index 0000000..b305bc9 --- /dev/null +++ b/programe/email.prg @@ -0,0 +1,1556 @@ +* Clasa oEmail +* oEmail > oThunderbirdEmailCmd +* oEmail > oCDO +* oEmail > oOutlook +* oEmail > oMapi + +* getoEmail: citeste optiunile de email din ROA\settings.ini si intoarce obiectul oMail +* loMail = getoEmail() +* loMail.cTo = 'test@test.ro' +* loMail.EmailSetAttachment('c:\factura.pdf') +* lnErrors = loMail.Send() +* if lnErrors > 0 +* messageb(loMail.GetErrorMessage) +* end if + +*!* 07.04.2020 +*!* Am adaugat clasa trimiterea de email prin client Mapi + + +#Define oAnonymous 0 && Perform no authentication (anonymous) +#Define oBasic 1 && Use the basic (clear text) authentication mechanism. + +* https://www.berezniker.com/content/pages/visual-foxpro/cdo-2000-class-sending-emails + +#Define cdoSendPassword "http://schemas.microsoft.com/cdo/configuration/sendpassword" +#Define cdoSendUserName "http://schemas.microsoft.com/cdo/configuration/sendusername" +#Define cdoSendUsingMethod "http://schemas.microsoft.com/cdo/configuration/sendusing" +#Define cdoSMTPAuthenticate "http://schemas.microsoft.com/cdo/configuration/smtpauthenticate" +#Define cdoSMTPConnectionTimeout "http://schemas.microsoft.com/cdo/configuration/smtpconnectiontimeout" +#Define cdoSMTPServer "http://schemas.microsoft.com/cdo/configuration/smtpserver" +#Define cdoSMTPServerPort "http://schemas.microsoft.com/cdo/configuration/smtpserverport" +#Define cdoSMTPUseSSL "http://schemas.microsoft.com/cdo/configuration/smtpusessl" +#Define cdoURLGetLatestVersion "http://schemas.microsoft.com/cdo/configuration/urlgetlatestversion" +#Define cdoAnonymous 0 && Perform no authentication (anonymous) +#Define cdoBasic 1 && Use the basic (clear text) authentication mechanism. +#Define cdoSendUsingPort 2 && Send the message using the SMTP protocol over the network. +#Define cdoXMailer "urn:schemas:mailheader:x-mailer" + +#Define xlCellTypeVisible 12 +#Define xlSourceRange 4 +#Define xlHtmlStatic 0 + +#Define olFolderSentMail 5 +#Define olFormatHTML 2 + +#Define wdFormatOriginalFormatting 16 && Preserves original formatting of the pasted material + +#Define SUCCESS_SUCCESS 0 +#Define MAPI_DIALOG 8 +#Define MAPI_ORIG 0 +#Define MAPI_TO 1 +#Define MAPI_CC 2 +#Define MAPI_BCC 3 +*-------------------------------------------------------------------------------------------- +SET PATH to "D:\ROA\COMUNROA\;D:\ROA\ROAFACTURARE\COMUN\utile\email\;" ADDITIVE +TEXT TO lcExemplu NOSHOW +loEmail = getoEmail() +IF TYPE('loEmail') = 'O' + loEmail.cTo = 'mmarius28@gmail.com' + loEmail.cSubject = "Test email " + Ttoc(Datetime(), 3) + + loEmail.EmailSetAttachment('e:\2017-11-10-001.jpg') + loEmail.EmailSetAttachment('e:\3. fisa-voluntarului-lideri-de-unitate.docx') + lnErrors = loEmail.Send() + MESSAGEBOX(IIF(m.lnErrors > 0 , loEmail.GetErrorMessage(), 'Succes')) +ENDIF +ENDTEXT + +llThunderbirdCMD = .F. +llCDO = .T. +llOutlook = .F. +llMapi = .F. +Do Case + Case m.llThunderbirdCMD + loEmail = Createobject("oThunderbirdEmailCmd") + Case m.llCDO + loEmail = Createobject("oCDO") + Case m.llOutlook + loEmail = Createobject("oOutlook") + Case m.llMapi + loEmail = Createobject("oMapi") + Otherwise + Return +Endcase + +************************** +* CDO Specific +loEmail.cServer = "mail.romfast.ro" +loEmail.nServerPort = 25 +loEmail.cUserName = "" +loEmail.cPassword = "" +loEmail.lUseSSL = .F. +loEmail.nAuthenticate = Iif(Empty(loEmail.cUserName), oAnonymous, oBasic) +************************** + +************************** +* Thunderbird Specific +loEmail.EmailSetExePath('C:\Program Files (x86)\Mozilla Thunderbird\thunderbird.exe') +loEmail.EmailSetWait() +************************** + +************************** +* Outlook Specific +loEmail.EmailSetPreview(.T.) +loEmail.EmailSetDisplayWithoutInfo(.T.) +************************** + +loEmail.cFrom = "marius.mutu@romfast.ro" +loEmail.cTo = "mmarius28@gmail.com" +loEmail.cCC = "" +loEmail.cBCC = "" +loEmail.cSubject = "Test email " + Iif(m.llCDO, 'CDO', Iif(m.llOutlook, 'OUTLOOK', Iif(m.llThunderbirdCMD, 'THUNDERBIRDCMD', 'OTHERS'))) + " " + Ttoc(Datetime(), 3) +loEmail.cHtmlBody = "Test atasamente" && FILETOSTR('d:\roa\factura_emailbody_acn.html') + +loEmail.EmailSetAttachment('e:\2017-11-10-001.jpg') +loEmail.EmailSetAttachment('e:\3. fisa-voluntarului-lideri-de-unitate.docx') +loEmail.EmailSendWithoutAttachments(.F.) + +lnErrors = loEmail.Send() +Messagebox(Iif(m.lnErrors > 0, loEmail.GetErrorMessage(), 'Succes')) + + +* ----------------------------------- +* Citeste optiunile din settings.ini si intoarce un obiect oEmail configurat cu optiuni +Procedure getoEmail + + Local loMail As "oThunderbirdEmailCMD" Of "email.fxp" + Local lcBodyBorderouContent, lcBodyContent, lcBodyContentTemplate, lcBodyFile, lcBodyFileGeneral + Local lcBodyFileSchema, lcDisplayWithoutInfo, lcEmailBCC, lcEmailBCCGeneral, lcEmailBCCSchema + Local lcEmailCC, lcEmailCCGeneral, lcEmailCCSchema + Local lcEmailFrom, lcEmailFromGeneral, lcEmailFromSchema, lcEmailFromName, lcEmailFromNameGeneral, lcEmailFromNameSchema + Local lcEmailHtml, lcEmailMode, lcEmailPassword, lcEmailPort, lcEmailSSL + Local lcEmailServer, lcEmailUserName, lcExePath, lcPreview, lcSendWithoutAttachments + Local lcSettingsSample, lcSubjectBoderouTemplate, lcSubjectTemplate, lcSubjectTemplateGeneral + Local lcSubjectTemplateSchema, lcWait, llDisplayEmail, llDisplayWithoutInfo, llEmailSSL, llPreview + Local llSendWithoutAttachments, llWait, lnEmailPort + llDisplayEmail = .F. + lcBodyContent = "" + + TEXT To lcSettingsSample Noshow +[email] +mailserver=mail.server.ro +port=25 +username= +password= +emailapp=OUTLOOK +other_emailapp=OUTLOOK/CDO/THUNDERBIRDCMD/MAPI +ssl=0 + +[email_factura] +bodyfile=D:\ROA\factura_emailbody.html +bodyfile[_schema]=D:\ROA\factura_emailbody_schema.html +subject=Factura +from=office@server.ro +html=1 +cc= +bcc= +pdfsufix=factura +pdfpath=D:\ROA\PDF\ +pdfhasimage=0 +emailpreview=1 +displaysent=1 +cc= +bcc= + ENDTEXT + + lcEmailMode = goApp.ReadIni('email', 'emailapp') && THUNDERBIRDCMD/OUTLOOK/CDO/MAPI + If Empty(m.lcEmailMode) + lcEmailMode = 'CDO' + goApp.WriteIni('email', 'emailapp', m.lcEmailMode) + Endif + lcEmailMode = Upper(m.lcEmailMode) + + TEXT TO m.lcBodyContentTemplate TEXTMERGE noshow +Buna ziua, +
    +
    +Aveti atasata factura din pentru servicii prestate de <>. Va rugam sa o listati si sa o inregistrati in contabilitate. +
    +
    +Pentru sugestii de imbunatatire a raportarilor sau daca doriti sa le primiti pe alta adresa, dati un reply la acest email. +
    +
    + +
    +--
    +Cu stima, +
    +
    + ENDTEXT + + lcBodyFileSchema = goApp.ReadIni('email_factura', 'bodyfile_' + m.gcS) && bodyfile_ACN + lcBodyFileGeneral = goApp.ReadIni('email_factura', 'bodyfile') + lcBodyFile = Iif(!Empty(m.lcBodyFileSchema), m.lcBodyFileSchema, m.lcBodyFileGeneral) + + If Empty(m.lcBodyFile) Or !File(m.lcBodyFile) + If AMESSAGEBOX('Doriti sa creati un fisier pentru continutul emailului(DA) sau sa alegeti un fisier (NU)?', 4 + 32, _Screen.Caption) = 6 + lcBodyFile = Putfile('Fisier continut email', 'factura_emailbody.html', 'html') + If !Empty(m.lcBodyFile) + Strtofile(m.lcBodyContentTemplate, m.lcBodyFile) + Endif + Else + lcBodyFile = Getfile('HTML', 'Alegeti fisierul continut email:', 'Alege', 1, 'Continut email') + Endif + goApp.WriteIni('email_factura', 'bodyfile', m.lcBodyFile) + Endif + + If File(m.lcBodyFile) + lcBodyContent = Filetostr(m.lcBodyFile) + Endif + + If Empty(m.lcBodyContent) + lcBodyContent = m.lcBodyContentTemplate + Endif + + ********** + TEXT TO m.lcBodyContentTemplate TEXTMERGE noshow +Buna ziua, +
    +
    +Aveti atasat borderoul de facturi nr. din si documentele asociate pentru serviciile prestate de <>. +
    +Va rugam sa listati facturile si sa le inregistrati in contabilitate. +

    +De asemenea, va rugam sa dati un reply la acest email pentru confirmarea primirii facturilor. +
    +
    + +
    +--
    +Cu stima, +
    +
    + ENDTEXT + + lcBodyFileSchema = goApp.ReadIni('email_factura', 'bodyfile_borderou_' + m.gcS) && bodyfile_ACN + lcBodyFileGeneral = goApp.ReadIni('email_factura', 'bodyfile_borderou') + lcBodyFile = Iif(!Empty(m.lcBodyFileSchema), m.lcBodyFileSchema, m.lcBodyFileGeneral) + lcBodyBorderouContent = '' + If Empty(m.lcBodyFile) Or !File(m.lcBodyFile) + If AMESSAGEBOX('Doriti sa creati un fisier pentru continutul emailului borderou (DA) sau sa alegeti un fisier (NU)?', 4 + 32, _Screen.Caption) = 6 + lcBodyFile = Putfile('Fisier continut email', 'borderou_emailbody.html', 'html') + If !Empty(m.lcBodyFile) + Strtofile(m.lcBodyContentTemplate, m.lcBodyFile) + Endif + Else + lcBodyFile = Getfile('HTML', 'Alegeti fisierul continut email:', 'Alege', 1, 'Continut email') + Endif + goApp.WriteIni('email_factura', 'bodyfile_borderou', m.lcBodyFile) + Endif + + If File(m.lcBodyFile) + lcBodyBorderouContent = Filetostr(m.lcBodyFile) + Endif + + If Empty(m.lcBodyContent) + lcBodyBorderouContent = m.lcBodyContentTemplate + Endif + + ********** + + lcEmailFromSchema = goApp.ReadIni('email_factura', 'from_' + m.gcS) + lcEmailFromGeneral = goApp.ReadIni('email_factura', 'from') + lcEmailFrom = Iif(!Empty(m.lcEmailFromSchema), m.lcEmailFromSchema, m.lcEmailFromGeneral) + If Empty(m.lcEmailFrom ) + goApp.WriteIni('email_factura', 'from_' + m.gcS, 'test@server.ro') + Endif + + lcEmailFromNameSchema = goApp.ReadIni('email_factura', 'from_name_' + m.gcS) + lcEmailFromNameGeneral = goApp.ReadIni('email_factura', 'from_name') + lcEmailFromName = Iif(!Empty(m.lcEmailFromNameSchema), m.lcEmailFromNameSchema, m.lcEmailFromNameGeneral) + If Empty(m.lcEmailFromName) + goApp.WriteIni('email_factura', 'from_name_' + m.gcS, '') + Endif + + lcEmailCCSchema = goApp.ReadIni('email_factura', 'cc_' + m.gcS) + lcEmailCCGeneral = goApp.ReadIni('email_factura', 'cc') + lcEmailCC = Iif(!Empty(m.lcEmailCCSchema), m.lcEmailCCSchema, m.lcEmailCCGeneral) + If Empty(m.lcEmailCC ) + goApp.WriteIni('email_factura', 'cc_' + m.gcS, '') + Endif + + lcEmailBCCSchema = goApp.ReadIni('email_factura', 'bcc_' + m.gcS) + lcEmailBCCGeneral = goApp.ReadIni('email_factura', 'bcc') + lcEmailBCC = Iif(!Empty(m.lcEmailBCCSchema), m.lcEmailBCCSchema, m.lcEmailBCCGeneral) + If Empty(m.lcEmailBCC ) + goApp.WriteIni('email_factura', 'bcc_' + m.gcS, '') + Endif + + lcSubjectTemplateSchema = goApp.ReadIni('email_factura', 'subject_' + m.gcS) + lcSubjectTemplateGeneral = goApp.ReadIni('email_factura', 'subject') + lcSubjectTemplate = Iif(!Empty(m.lcSubjectTemplateSchema), m.lcSubjectTemplateSchema, m.lcSubjectTemplateGeneral) + If Empty(m.lcSubjectTemplate) + lcSubjectTemplate = 'Factura ' + goApp.WriteIni('email_factura', 'subject', m.lcSubjectTemplate) + Endif + *********** + lcSubjectTemplateSchema = goApp.ReadIni('email_factura', 'subject_boderou_' + m.gcS) + lcSubjectTemplateGeneral = goApp.ReadIni('email_factura', 'subject_borderou') + lcSubjectBorderouTemplate = Iif(!Empty(m.lcSubjectTemplateSchema), m.lcSubjectTemplateSchema, m.lcSubjectTemplateGeneral) + If Empty(m.lcSubjectBoderouTemplate) + lcSubjectBoderouTemplate = 'Borderou facturi nr. din - ' + goApp.WriteIni('email_factura', 'subject_borderou', m.lcSubjectBoderouTemplate) + Endif + *********** + + lcPreview = Alltrim(goApp.ReadIni('email_factura', 'preview')) + If Empty(m.lcPreview) + lcPreview = "1" + goApp.WriteIni('email_factura', 'preview', m.lcPreview) + Endif + llPreview = (m.lcPreview = "1") + + lcWait = Alltrim(goApp.ReadIni('email_factura', 'wait')) + If Empty(m.lcWait) + lcWait = "0" + goApp.WriteIni('email_factura', 'wait', m.lcWait) + Endif + llWait = (m.lcWait = "1") + + * Display the email window if empy(to, cc, subject) or return error + lcDisplayWithoutInfo = Alltrim(goApp.ReadIni('email_factura', 'display_without_info')) + If Empty(m.lcDisplayWithoutInfo) + lcDisplayWithoutInfo = "0" + goApp.WriteIni('email_factura', 'display_without_info', m.lcDisplayWithoutInfo) + Endif + llDisplayWithoutInfo = (m.lcDisplayWithoutInfo = "1") + + * Send email without attachments or return error + lcSendWithoutAttachments = Alltrim(goApp.ReadIni('email_factura', 'send_without_attachments')) + If Empty(m.lcSendWithoutAttachments) + lcSendWithoutAttachments = "0" + goApp.WriteIni('email_factura', 'send_without_attachments', m.lcSendWithoutAttachments) + Endif + llSendWithoutAttachments = (m.lcSendWithoutAttachments = "1") + + lcEmailHtml = goApp.ReadIni('email_factura', 'html') + If Empty(m.lcEmailHtml ) + goApp.WriteIni('email_factura', 'html', '1') + Endif + + lcEmailServer = goApp.ReadIni('email', 'mailserver') + If Empty(m.lcEmailServer) + goApp.WriteIni('email', 'mailserver', 'test.server.ro') + Endif + lcEmailPort = goApp.ReadIni('email', 'port') + If Empty(m.lcEmailPort) + goApp.WriteIni('email', 'port', '25') + Endif + lnEmailPort = Int(Val(m.lcEmailPort)) + + lcEmailUserName = goApp.ReadIni('email', 'username') + If Empty(m.lcEmailUserName) + goApp.WriteIni('email', 'username', 'test') + Endif + lcEmailPassword = goApp.ReadIni('email', 'password') + If Empty(m.lcEmailPassword ) + goApp.WriteIni('email', 'password', 'test') + Endif + lcEmailSSL = goApp.ReadIni('email', 'ssl') + If Empty(m.lcEmailSSL) + goApp.WriteIni('email', 'ssl', '0') + Endif + llEmailSSL = Int(Val(m.lcEmailSSL)) + + lcExePath = goApp.ReadIni('email', 'exepath') + If Empty(m.lcExePath) + goApp.WriteIni('email', 'exepath', '') + Endif + + Do Case + Case m.lcEmailMode = 'THUNDERBIRDCMD' + loMail = Newobject("oThunderbirdEmailCMD", "email.fxp") + Case m.lcEmailMode = 'OUTLOOK' + loMail = Newobject("oOutlook", "email.fxp") + Case m.lcEmailMode = 'MAPI' + loMail = Newobject("oMapi", "email.fxp") + Otherwise + loMail = Newobject("oCDO", "email.fxp") + Endcase + + ************************** + * CDO Specific + loMail.cServer = m.lcEmailServer + loMail.nServerPort = m.lnEmailPort + loMail.cUserName = m.lcEmailUserName + loMail.cPassword = m.lcEmailPassword + loMail.lUseSSL = m.llEmailSSL + loMail.nAuthenticate = Iif(Empty(loMail.cUserName), 0, 1) + + ************************** + * Thunderbird Specific + loMail.EmailSetExePath(m.lcExePath) + loMail.EmailSetWait(m.llWait) && wait and dont't advance to the next email until send is pressed + ************************** + + ************************** + * Outlook Specific + loMail.EmailSetPreview(m.llPreview) + loMail.EmailSetDisplayWithoutInfo(m.llDisplayWithoutInfo) + ************************** + + loMail.cFrom = m.lcEmailFrom + loMail.cFromName = m.lcEmailFromName + loMail.cCC = m.lcEmailCC + loMail.cBCC = m.lcEmailBCC + + loMail.cSubject = m.lcSubjectTemplate + loMail.cHtmlBody = m.lcBodyContent + + loMail.cBorderouSubject = m.lcSubjectBorderouTemplate + loMail.cBorderouBody = m.lcBodyBorderouContent + + loMail.EmailSendWithoutAttachments(m.llSendWithoutAttachments) + + Return loMail +Endproc && getoEmail + +* ----------------------------------- +* oEmail.Send +* > EmailSend +* >> EmailCreateCfg +* >> EmailSetConfiguration +* >> EmailSetHeader +* >> EmailSetParameters +Define Class oEmail As Custom + + Protected aErrors[1], nErrorCount, oMsg, oCfg, cXMailer + + nErrorCount = 0 + + * Message attributes + oMsg = Null + + cFrom = "" + cFromName = "" + cReplyTo = "" + cTo = "" + cCC = "" + cBCC = "" + cAttachment = "" && attachment file list separated by comma + nAttachments = 0 && number of attachment files + + cSubject = "" && subiect email factura + cHtmlBody = "" && continut email factura + cTextBody = "" + cHtmlBodyUrl = "" + + cBorderouSubject = "" && subiect email borderou + cBorderouBody = "" && continut email borderou + + cCharset = "" + + * Priority: Normal, High, Low or empty value (Default) + cPriority = "" + + * Configuration object fields values + oCfg = Null + cServer = "" + nServerPort = 25 + * Use SSL connection + lUseSSL = .F. + nConnectionTimeout = 30 && Default 30 sec's + nAuthenticate = oAnonymous + cUserName = "" + cPassword = "" + * Do not use cache for cHtmlBodyUrl + lURLGetLatestVersion = .T. + + * Optional. Creates your own X-MAILER field in the header + cXMailer = "" + + cEmailExePath = '' + cEmailProfile = '' + + lEmailWait = .F. && wait for the email to be sent, to advance to the next email + + lEmailPreview = .F. && preview each mail (default .F.) + lDisplayEmailWithoutInfo = .F. && display mail without from, to, subject, body, attachment + lCanDisplayEmailWithoutInfo = .T. && can the email without from, to, subject, body be displayed to user? (CDO does not display anything, for now) + + lFirstEmail = .T. && after the first email becomes .F., in case you want to do some things only the first time (eg: show the Sent folder in Outlook) + lSendWithoutAttachments = .F. && if email can be sent without attachment (Default = .F.) + + lReadReceipt = .T. && confirmare de citire + lPriority = .F. && prioritate + + Protected Procedure Init + This.ClearErrors() + Endproc + + + * Send message + * Return Number of Errors (0 = succes) + Procedure Send + + Local lnErrorCount + lnErrorCount = This.GetErrorCount() + If m.lnErrorCount > 0 + This.ClearMessage() + Return m.lnErrorCount + Endif + + With This + .ClearErrors() + .EmailCreateCfg() && abstract, to be implemented + Endwith + + * Check server, user, password + lnErrorCount = This.SetConfiguration() + + If m.lnErrorCount = 0 + * If email without info doesn't display to the user, add error + If !(This.lDisplayEmailWithoutInfo And This.lCanDisplayEmailWithoutInfo) + If Empty(This.cFrom) + This.AddError("ERROR : From is empty.") + Endif + If Empty(This.cSubject) + This.AddError("ERROR : Subject is empty.") + Endif + + If Empty(This.cTo) && And Empty(This.cCC) And Empty(This.cBCC) + * This.AddError("ERROR : To, CC and BCC are all empty.") + * Nu permit trimiterea de emailuri (cu facturi) fara TO. + * Altfel le trimite doar la CC/BCC, adica trimite copia inapoi. + * CC/BCC sunt fixe in settings.ini si nu ma intereseaza daca sunt sau nu completate + This.AddError("ERROR : To is empty.") + Endif + Endif + Endif && SetConfiguration + + lnErrorCount = This.GetErrorCount() + If m.lnErrorCount = 0 + This.EmailSetHeader() + This.EmailSetParameters() + Endif + + lnErrorCount = This.GetErrorCount() + If m.lnErrorCount = 0 + This.AddAttachments() + + * If email without attachment doesn't display to the user, add error + If !(This.lDisplayEmailWithoutInfo And This.lCanDisplayEmailWithoutInfo) + If !This.lSendWithoutAttachments And Empty(This.EmailGetAttachmentsNumber()) + This.AddError("ERROR : There are no attachments.") + Endif + Endif + Endif + + * Send Email + lnErrorCount = This.GetErrorCount() + If m.lnErrorCount = 0 + This.EmailSend() + lnErrorCount = This.GetErrorCount() + Endif + + This.lFirstEmail = .F. + This.ClearMessage() + + Return m.lnErrorCount + Endproc + + * Clear errors collection + Procedure ClearErrors() + This.nErrorCount = 0 + Dimension This.aErrors[1] + This.aErrors[1] = Null + Return This.nErrorCount + Endproc + + * Return # of errors in the error collection + Procedure GetErrorCount + Return This.nErrorCount + Endproc + + * Return error by index + Procedure Geterror + Lparameters tnErrorno + If tnErrorno <= This.GetErrorCount() + Return This.aErrors[tnErrorno] + Else + Return Null + Endif + Endproc + + * Return all error messages into one message + Procedure GetErrorMessage + Lparameters tlClearErrors + * tlClearErrors (optional): clear all error messages + + Local lcErrorMessage, lnError, lnErrors + lnErrors = This.GetErrorCount() + lcErrorMessage = '' + For lnError = 1 To m.lnErrors + lcErrorMessage = m.lcErrorMessage + This.Geterror(m.lnError) + '***' + Endfor + + * Clear errors + If m.tlClearErrors + This.ClearErrors() + Endif + + Return m.lcErrorMessage + Endproc && GetErrorMessage + + * Populate configuration object + Protected Procedure SetConfiguration + + * Validate supplied configuration values + If Empty(This.cServer) + This.AddError("ERROR: SMTP Server isn't specified.") + Endif + If Not Inlist(This.nAuthenticate, oAnonymous, oBasic) + This.AddError("ERROR: Invalid Authentication protocol ") + Endif + If This.nAuthenticate = oBasic ; + AND (Empty(This.cUserName) Or Empty(This.cPassword)) + This.AddError("ERROR: User name/Password is required for basic authentication") + Endif + + If This.GetErrorCount() > 0 + Return This.GetErrorCount() + Endif + + * Populate configuration objects + This.EmailSetConfiguration() + + Return This.GetErrorCount() + + Endproc + + *---------------------------------------------------- + * Add message to the error collection + Protected Procedure AddError + Lparameters tcErrorMsg + This.nErrorCount = This.nErrorCount + 1 + Dimension This.aErrors[This.nErrorCount] + This.aErrors[This.nErrorCount] = tcErrorMsg + Return This.nErrorCount + Endproc + + *---------------------------------------------------- + * Format an error message and add to the error collection + Protected Procedure AddOneError + Lparameters tcPrefix, tnError, tcMethod, tnLine + Local lcErrorMsg, laList[1] + If Inlist(tnError, 1427, 1429) + Aerror(laList) + lcErrorMsg = Transform(laList[7], "@0") + " " + laList[3] + Else + lcErrorMsg = Message() + Endif + This.AddError(tcPrefix + ":" + Transform(tnError) + " # " + ; + tcMethod + " # " + Transform(tnLine) + " # " + lcErrorMsg) + Return This.nErrorCount + Endproc + + *---------------------------------------------------- + * Simple Error handler. Adds VFP error to the objects error collection + Protected Procedure Error + Lparameters tnError, tcMethod, tnLine + This.AddOneError("ERROR: ", tnError, tcMethod, tnLine ) + Return This.nErrorCount + Endproc + + Procedure EmailSetProfile + Lparameters tcProfile + This.cEmailProfile = m.tcProfile + Endproc + + Procedure EmailSetExePath + Lparameters tcExePath + This.cEmailExePath = m.tcExePath + Endproc + + Procedure EmailSetWait + Lparameters tlWait + This.lEmailWait = m.tlWait + Endproc && EmailSetWait + + + *------------------------------------------------------- + * Add a file to the attachement list + Procedure EmailSetAttachment + Lparameters tcFile + If !Empty(m.tcFile) And Type('tcFile') = 'C' + This.cAttachment = This.cAttachment + Iif(!Empty(This.cAttachment), ",", "") + m.tcFile + Endif + Endproc && SetAttachment + + *------------------------------------------------------- + * Overwrite the attachement list with a list of files + Procedure EmailSetAttachments + Lparameters tcFiles + If !Empty(m.tcFiles) And Type('tcFiles') = 'C' + This.cAttachment = m.tcFiles + Endif + Endproc && SetAttachment + + *------------------------------------------------------- + * Empty the recipient list in subclass + Procedure EmailClearMessage + * To be implemented + Endproc && EmailClearMessage + + Procedure ClearMessage + This.EmailClearMessage() + This.cTo = "" + This.cHtmlBody = "" + This.cSubject = "" + This.cAttachment = "" + Endproc && ClearMessage + + Procedure EmailSendWithoutAttachments + Lparameters tlSendWithoutAttachments + This.lSendWithoutAttachments = m.tlSendWithoutAttachments + Endproc + + + Procedure AddAttachments + Local laList[1], laDummy[1] + Local lcAttachment, lnAttachment, lnAttachments + + * Process attachments + If Not Empty(This.cAttachment) + * Accepts comma or semicolon + lnAttachments = Alines(laList, This.cAttachment, [,], [;]) + For lnAttachment = 1 To m.lnAttachments + lcAttachment = Alltrim(laList[m.lnAttachment]) + * Ignore empty values + If Empty(laList[m.lnAttachment]) + Loop + Endif + + * Make sure that attachment exists + If Adir(laDummy, lcAttachment) = 0 + This.AddError("ERROR: Attachment not Found - " + lcAttachment) + Else + * The full path is required. + If Upper(lcAttachment) <> Upper(Fullpath(lcAttachment)) + lcAttachment = Fullpath(lcAttachment) + Endif + This.EmailAddAttachment(lcAttachment) + Endif + Endfor + Endif + Endproc && AddAttachments + + Procedure EmailAddAttachment + Lparameters tcAttachment + * To be implemented + Endproc && EmailAddAtachment + + Procedure EmailGetAttachmentsNumber + Return Getwordcount(This.cAttachment, [,]) + Endproc + + Procedure EmailSetPreview + Lparameters tlSetPreview + This.lEmailPreview = m.tlSetPreview + Endproc && EmailSetPreview + + Procedure EmailSetDisplayWithoutInfo + Lparameters tlSetDisplay + This.lDisplayEmailWithoutInfo = m.tlSetDisplay + Endproc && EmailSetDisplayWithoutInfo + + *------------------------------------------------------- + * Create configuration objects + Procedure EmailCreateCfg + * to be implemented + Endproc + + *------------------------------------------------------- + * Set mail header fields, if necessary. For now sets X-MAILER, if specified + Procedure EmailSetHeader + * to be implemented + Endproc + + *------------------------------------------------------- + * Set to, from, atachments.. + Procedure EmailSetParameters + * to be implemented + Endproc + + *------------------------------------------------------- + * Set server, username, password + * Return Number of Errors (0 = success) + Procedure EmailSetConfiguration() + * to be implemented + Return 0 + Endproc + + + *------------------------------------------------------- + * Send email + Procedure EmailSend + * to be implemented + Endproc + + *------------------------------------------------------- + * Add Error + Procedure EmailAddError + Lparameters tcErrorMessage + This.AddError("ERROR : " + Transform(m.tcErrorMessage)) + Endproc + + *---------------------------------------------------- + * + Protected Procedure cPriority_assign(tvVal) + * Check for incorrect values + If Inlist("~" + Proper(tvVal) + "~", "~High~", "~Normal~", "~Low~") Or Empty(tvVal) + This.cPriority = Proper(Alltrim(tvVal)) + Else + This.AddError("ERROR: Invalid value for cPriority property.") + Endif + Endproc + +Enddefine && oEmail + +*----------------------------------------------------------- +*!* oEmail.Send +*!* > EmailCreateCfg +*!* > EmailSetConfiguration +*!* > EmailSetHeader +*!* > EmailSetParameters +*!* > EmailSend +Define Class oThunderbirdEmailCmd As oEmail + Procedure EmailSend + + Local loRun As 'api_apprun' Of 'process.vcx' + Local lcBody, lcCommandLine, lcExePath, lcProfile + + lcProfile = This.cEmailProfile + lcExePath = This.cEmailExePath + lcBody = Iif(!Empty(This.cHtmlBody), This.cHtmlBody, This.cTextBody) + + If Empty(This.cHtmlBody) + lcBody = Strtran(m.lcBody, Chr(13) + Chr(10), [
    ], 1, 1000, 1) + lcBody = Strtran(m.lcBody, Chr(13), [
    ], 1, 1000, 1) + Else + lcBody = Strtran(m.lcBody, Chr(13) + Chr(10), [], 1, 1000, 1) + lcBody = Strtran(m.lcBody, Chr(13), [], 1, 1000, 1) + Endif + lcBody = Strtran(m.lcBody, [,], [,], 1, 1000, 1) + + lcCommandLine = ["] + m.lcExePath + ["] + ; + IIF(!Empty(m.lcProfile), [-profile "] + m.lcProfile + ["], []) + ; + [ -compose ] + ; + IIF(!Empty(This.cFrom), [from="] + This.cFrom + ["], []) + ; + IIF(!Empty(This.cTo), [,to="] + This.cTo + ["], []) + ; + IIF(!Empty(This.cCC), [,cc="] + This.cCC + ["], []) + ; + IIF(!Empty(This.cBCC), [,bcc="] + This.cBCC + ["], []) + ; + IIF(!Empty(This.cSubject), [,subject="] + This.cSubject + ["], []) + ; + IIF(!Empty(m.lcBody), [,body="] + m.lcBody + ["], []) + ; + IIF(!Empty(This.cAttachment), [,attachment='] + This.cAttachment + ['], []) + + If !'process.vcx' $ Lower(Set("Classlib")) + Set Classlib To 'D:\ROA\ROAACNPRO\COMUN\clase\process.vcx' Additive + Endif + + loRun = Createobject('api_apprun') + + If File (m.lcExePath) + loRun.iccommandline = m.lcCommandLine + If This.lEmailWait + loRun.launchappandwait() + Else + loRun.launchapp() + Endif + Else + This.EmailAddError('Thunderbird exe path ' + m.lcExePath + ' does not exist!') + Endif + + Endproc && EmailSend +Enddefine && ThunderbirdEmailCMD + +*----------------------------------------------------------- +*!* oEmail.Send +*!* > EmailCreateCfg +*!* > EmailSetConfiguration +*!* > EmailSetHeader +*!* > EmailSetParameters +*!* > EmailSend +Define Class oCDO As oEmail + + Protected oMsg, oCfg + + + * Message attributes + oMsg = Null + * Configuration object fields values + oCfg = Null + + Procedure Init + DoDefault() + Local loEx As Exception + + This.lCanDisplayEmailWithoutInfo = .T. + + * Optional. Creates your own X-MAILER field in the header + This.cXMailer = "VFP CDO 2000 mailer Ver 1.1.100 2010" + Endproc + *------------------------------------------------------- + Procedure EmailCreateCfg + Local loEx As Exception + Try + This.oMsg = Createobject("CDO.Message") + This.oCfg = Createobject("CDO.Configuration") + This.oMsg.Configuration = This.oCfg + Catch To loEx + This.AddError('ERROR: CDO Configuration could not be instantiated ' + Transform(loEx.ErrorNo) + ' ' + loEx.Message) + Endtry + Endproc + + *------------------------------------------------------- + * Populate configuration object + Procedure EmailSetConfiguration + With This.oCfg.Fields + * Send using SMTP server + .Item(cdoSendUsingMethod) = cdoSendUsingPort + .Item(cdoSMTPServer) = This.cServer + .Item(cdoSMTPServerPort) = This.nServerPort + .Item(cdoSMTPConnectionTimeout) = This.nConnectionTimeout + + .Item(cdoSMTPAuthenticate) = This.nAuthenticate + If This.nAuthenticate = cdoBasic + .Item(cdoSendUserName) = This.cUserName + .Item(cdoSendPassword) = This.cPassword + Endif + .Item(cdoURLGetLatestVersion) = This.lURLGetLatestVersion + .Item(cdoSMTPUseSSL) = This.lUseSSL + + .Update() + Endwith + Endproc + + *------------------------------------------------------- + * Set mail header fields, if necessary. For now sets X-MAILER, if specified + Procedure EmailSetHeader + Local loHeader + If Not Empty(This.cXMailer) + loHeader = This.oMsg.Fields + With loHeader + .Item(cdoXMailer) = This.cXMailer + .Update() + Endwith + Endif + Endproc + + *------------------------------------------------------- + Procedure EmailSetParameters + * Fill message attributes + Local lcMailHeader + With This.oMsg + + .From = This.cFrom + .ReplyTo = This.cReplyTo + + .To = This.cTo + .CC = This.cCC + .BCC = This.cBCC + .Subject = This.cSubject + + * Create HTML body from external HTML (file, URL) + If Not Empty(This.cHtmlBodyUrl) + .CreateMHTMLBody(This.cHtmlBodyUrl) + Endif + + * Send HTML body. Creates TextBody as well + If Not Empty(This.cHtmlBody) + .HtmlBody = This.cHtmlBody + Endif + + * Send Text body. Could be different from HtmlBody, if any + If Not Empty(This.cTextBody) + .TextBody = This.cTextBody + Endif + + If Not Empty(This.cCharset) + If Not Empty(.HtmlBody) + .HtmlBodyPart.Charset = This.cCharset + Endif + + If Not Empty(.TextBody) + .TextBodyPart.Charset = This.cCharset + Endif + Endif + + If Not Empty(This.cCharset) + .BodyPart.Charset = This.cCharset + Endif + + * Priority + If Not Empty(This.cPriority) + lcMailHeader = "urn:schemas:mailheader:" + .Fields(lcMailHeader + "Priority") = Lower(This.cPriority) + .Fields(lcMailHeader + "Importance") = Lower(This.cPriority) + Do Case + Case This.cPriority = "High" + .Fields(lcMailHeader + "X-Priority") = 1 && 5=Low, 3=Normal, 1=High + Case This.cPriority = "Normal" + .Fields(lcMailHeader + "X-Priority") = 3 && 5=Low, 3=Normal, 1=High + Case This.cPriority = "Low" + .Fields(lcMailHeader + "X-Priority") = 5 && 5=Low, 3=Normal, 1=High + Endcase + .Fields.Update() + ENDIF + + * by CChalom - Codes included to allow Receipt return and Priority + * http://support.microsoft.com/kb/302839 + IF This.lReadReceipt = .T. + This.oMsg.Fields("urn:schemas:mailheader:disposition-notification-to") = This.cTo + This.oMsg.Fields("urn:schemas:mailheader:return-receipt-to") = This.cTo + This.oMsg.Fields.Update() + ENDIF + + * Set priority if needed + IF This.lPriority + This.oMsg.Fields("Priority").Value = 1 && -1=Low, 0=Normal, 1=High + This.oMsg.Fields.Item("urn:schemas:mailheader:X-Priority") = 1 && -1=Low, 0=Normal, 1=High + This.oMsg.Fields.Item("urn:schemas:httpmail:importance") = 1 + This.oMsg.Fields.Update() + ENDIF + Endwith + Endproc + + Procedure EmailAddAttachment + Lparameters tcAttachment + + This.oMsg.AddAttachment(m.tcAttachment) + Endproc + + *------------------------------ + Procedure EmailClearMessage + This.oMsg = Null + This.oCfg = Null + Endproc && EmailClearMessage + + *---------------------------------------------------- + * Send message + Procedure EmailSend + SET STEP ON + * Daca nu sunt completate toate informatiile arat emailul utilizatorului + Local _goFP As "PreviewHelper" + Local llCancelled, llEmailDisplay, llEmailPreview, lnError, lcFoxy, lcDirMare, llCancelled + LOCAL loEx as Exception + + llEmailDisplay = This.lDisplayEmailWithoutInfo And (Empty(This.cTo) Or Empty(This.cSubject) Or (!This.lSendWithoutAttachments And Empty(This.EmailGetAttachmentsNumber()))) + llEmailPreview = This.lEmailPreview + + && Daca nu arat fiecare email, il trimit automat + If !(m.llEmailPreview Or m.llEmailDisplay) + If This.oMsg.Send() > 0 + For lnError = 1 To This.oMsg.GetErrorCount() + This.AddError(This.oMsg.Geterror(m.lnError)) + Endfor + Endif + Else + TRY + lcDirMare = Addbs(Left(m.gcAppPath, Rat("\", m.gcAppPath, 2) -1)) + lcFoxy = m.lcDirMare + 'COMUNROA\foxypreviewer.app' + IF FILE(m.lcFoxy) + Do (m.lcFoxy) + + _goFP = Createobject("PreviewHelper") + With This + *_goFP.cdestFile = m.lcImageFile + *!* m.loExHandler = Newobject('ExtensionHandler') + *!* _goFP._oExHandler = m.loExHandler + _goFP.lemailAUTO = .F. + _goFP.cemailTo = .cTO + _goFP.cemailCC = .cCC + _goFP.cemailBCC = .cBCC + _goFP.cemailSubject = .cSubject + _goFP.cEmailBody = .cHtmlBody + _goFP.cAttachments = This.cAttachment + ENDWITH + llCancelled = .F. + Do Form pr_sendmail2.scx To m.llCancelled Name _goFP._oEmailSheet + IF m.llCancelled + This.AddError('CDO Email Preview Utilizatorul a anulat emailul') + ELSE + With This + .cTo = _goFP.cemailTo && "vfpimaging@hotmail.com" && "somebody@otherdomain.com, somebodyelse@otherdomain.com" + .cCC = _goFP.cEmailCC + .cBCC = _goFP.cEmailBCC + .cSubject = _goFP.cemailSubject && "FOXYPREVIEWER email" + .cReplyTo = _goFP.cEmailReplyTo + + If Empty(_goFP.cEmailBody) + _goFP.cEmailBody = "
    " + Endif + + If Upper(Left(_goFP.cEmailBody, 6)) == "" + .cHtmlBody = _goFP.cEmailBody + Else + .cTextBody = _goFP.cEmailBody + Endif + + * Curat lista de atasamente anterioara si adaug atasamentele din formular + .cAttachment = _goFP._cAttachment + + .lReadReceipt = _goFP.lReadReceipt + .lPriority = _goFP.lPriority + Endwith + + This.EmailSetParameters() + This.oMsg.Attachments.DeleteAll() + This.AddAttachments() + + If This.oMsg.Send() > 0 + For lnError = 1 To This.oMsg.GetErrorCount() + This.AddError(This.oMsg.Geterror(m.lnError)) + Endfor + ENDIF + ENDIF && llCancelled + ELSE + This.AddError('CDO Email Preview ' + m.lcFoxy + ' nu exista' + ' ' + loEx.Message + ' Linia: ' + TRANSFORM(loEx.Lineno) + ' Cod: ' + loEx.LineContents) + ENDIF && FILE(m.lcFoxy) + Catch To loEx + This.AddError('CDO Email Preview ' + ' ' + loEx.Message + ' Linia: ' + TRANSFORM(loEx.Lineno) + ' Cod: ' + loEx.LineContents) + *Messagebox(loEx.Message, 0 + 48, _Screen.Caption) + Endtry + Endif && m.llEmailPreview Or m.llEmailDisplay + Endproc && EmailSend + +Enddefine && oCDO + +Define Class oOutlook As oEmail + oOutlook = Null + oMailItem = Null + + Procedure Init + DoDefault() + Local loEx As Exception + Try + This.oOutlook = Createobject('outlook.application') + Catch To loEx + This.AddError('ERROR: OUTLOOK could not be instantiated ' + Transform(loEx.ErrorNo) + ' ' + loEx.Message) + Endtry + + Endproc && Init + ************************************ + Procedure EmailCreateCfg + Local loEx As Exception + + If !Isnull(This.oOutlook) + Try + * Create Mail Item + This.oMailItem = This.oOutlook.CreateItem(0) + Catch To loEx + This.AddError('ERROR: OUTLOOK MailItem could not be instantiated ' + Transform(loEx.ErrorNo) + ' ' + loEx.Message) + Endtry + Endif + Endproc && EmailCreateCfg + + ************************************ + Procedure EmailSetParameters + Local lcAttachment, lnAttachment + With This.oMailItem + .To = This.cTo + .Subject = This.cSubject + .CC = This.cCC + .BCC = This.cBCC + .BodyFormat = olFormatHTML + .HtmlBody = This.cHtmlBody + Endwith + Endproc && EmailSetParameters + + Procedure EmailAddAttachment + Lparameters tcAttachment + + This.oMailItem.Attachments.Add(m.tcAttachment) + Endproc + + *------------------------------ + Procedure EmailClearMessage + This.oMailItem = Null + Endproc && EmailClearMessage + + *------------------------------ + Procedure EmailSend + Local llEmailDisplay, llEmailPreview, loDefaultFolder, loMailItem, loNameSpace + loMailItem = This.oMailItem + * Display Sent folder only for the first email, so that the emails will get send + If This.lFirstEmail + loNameSpace = This.oOutlook.getnamespace('MAPI') + loDefaultFolder = loNameSpace.GetDefaultFolder(olFolderSentMail) && SentMail + loDefaultFolder.Display() + Endif + + * Daca nu sunt completate toate informatiile arat emailul utilizatorului + llEmailDisplay = This.lDisplayEmailWithoutInfo And (Empty(This.cTo) Or Empty(This.cSubject) Or (!This.lSendWithoutAttachments And Empty(This.EmailGetAttachmentsNumber()))) + llEmailPreview = This.lEmailPreview + + && Daca nu arat fiecare email, il trimit automat + If m.llEmailPreview Or m.llEmailDisplay + loMailItem.Display + Else + loMailItem.Send + Endif + + This.oMailItem = Null + loMailItem = "" + Endproc && EmailSend + +Enddefine &&oOutlook + +*--------------------------------- +Define Class oMapi As oEmail + snd = .F. + rcp = .F. + att = .F. + + *------------------------------------------------------- + Procedure EmailCreateCfg + Local loEx As Exception + Try + This.snd = Createobject("TRecipients") + This.rcp = Createobject("TRecipients") + This.att = Createobject("TAttachments") + Catch To loEx + This.AddError('ERROR: Mapi Configuration could not be instantiated ' + Transform(loEx.ErrorNo) + ' ' + loEx.Message) + Endtry + Endproc + + *------------------------------------------------------- + Procedure EmailSetParameters + Local lcRecipient, lnRecipient, lnRecipients + + This.AddSender(This.cFromName, This.cFrom) + This.AddRecipient(This.cTo, MAPI_TO) + This.AddRecipient(This.cCC, MAPI_CC) + This.AddRecipient(This.cBCC, MAPI_BCC) + Endproc + + Procedure AddSender(lcSndName, lcSndAddr) + Local lnClass + lnClass = MAPI_ORIG + If Type("lcSndAddr") <> "C" + lcSndAddr = lcSndName + Endif + + This.snd.AppendItem(m.lnClass, lcSndName, lcSndAddr) + Endproc && AddSender + + * --------------------------- + * Fill To, CC, BCC + Procedure AddRecipient + Lparameters tcRecipientList, tnClass + * tcRecipientpList: comma delimited list of recipients + * tnClass: MAPI_TO, MAPI_CC, MAPI_BCC + + Local lcRecipientAddress, lcRecipientList, lcRecipientName, lnClass, lnRecipient, lnRecipients + lnClass = Iif(Type('tnClass') = 'N', m.tnClass, MAPI_TO) + lcRecipientList = Iif(Type('tcRecipientList') = 'C', m.tcRecipientList, '') + lnRecipients = Getwordcount(m.lcRecipientList, [,]) + For lnRecipient = 1 To m.lnRecipients + lcRecipientAddress = Getwordnum(m.lcRecipientList, m.lnRecipient, [,]) + lcRecipientName = m.lcRecipientAddress + This.rcp.AppendItem(m.lnClass, m.lcRecipientName, m.lcRecipientAddress) + Endfor + Endproc && AddRecipient + + Procedure EmailAddAttachment + Lparameters tcAttachment + Return This.att.AppendItem(m.tcAttachment) + Endproc + + Procedure EmailClearMessage + This.rcp.ClearItems + This.att.ClearItems + Endproc && EmailClearMessage + + + *---------------------------------------------------- + * Send message + Procedure EmailSend + + Local lcMapiMessage, loSubject, loBody, ii, lnResult, lcStoredPath + loSubject = Createobject("PChar", This.cSubject) + loBody = Createobject("PChar", This.cHtmlBody) + lcStoredPath = Sys(5) + Sys(2003) + + * assembling MapiMessage structure + lcMapiMessage = num2dword(0) + ; + num2dword(loSubject.getAddr()) + num2dword(loBody.getAddr()) + ; + num2dword(0) + num2dword(0) + num2dword(0) + num2dword(0) + ; + num2dword(This.snd.getAddr()) + ; + num2dword(This.rcp.ItemCount) + num2dword(This.rcp.getAddr()) + ; + num2dword(This.att.ItemCount) + ; + num2dword(Iif(This.att.ItemCount = 0, 0, This.att.getAddr())) + + Declare Integer MAPISendMail In mapi32; + INTEGER lhSession, Integer ulUIParam, String @lpMessage, ; + INTEGER flFlags, Integer ulReserved + + + * Daca nu sunt completate toate informatiile arat emailul utilizatorului + llEmailDisplay = This.lDisplayEmailWithoutInfo And (Empty(This.cTo) Or Empty(This.cSubject) Or (!This.lSendWithoutAttachments And Empty(This.EmailGetAttachmentsNumber()))) + llEmailPreview = This.lEmailPreview + Set Step On + && Daca nu arat fiecare email, il trimit automat + If m.llEmailPreview Or m.llEmailDisplay + lnResult = MAPISendMail(0, 0, @lcMapiMessage, MAPI_DIALOG, 0) + Else + lnResult = MAPISendMail(0, 0, @lcMapiMessage, 0, 0) + Endif + If (m.lnResult <> 0) + This.AddError("ERROR : Message not sent.") + Endif + + Set Default To (lcStoredPath) + Return (lnResult = 0) && sendmessage + Endproc + +Enddefine && oMapi + +*------------------------------------------------------ +* oMapi helper classes +Define Class TRecipients As Custom && array of recipients + ItemCount = 0 + Dimen arrRecip[1] + RcpsBuffer = .F. + + Procedure Destroy + This.UnlockData + This.ClearItems + + Procedure getAddr + This.LockData + Return This.RcpsBuffer.getAddr() + + Procedure LockData + This.UnlockData + + Local lcBuffer, ii + lcBuffer = "" + For ii = 1 To This.ItemCount + lcBuffer = lcBuffer + This.arrRecip[ii].GetValue() + Endfor + This.RcpsBuffer = Createobject("PChar", lcBuffer) + + Procedure UnlockData + If Type("THIS.RcpsBuffer") = "O" + This.RcpsBuffer.ReleaseString + This.RcpsBuffer = .F. + Endif + + Procedure AppendItem(lnClass, lcName, lcAddress) + This.ItemCount = This.ItemCount + 1 + Dimen This.arrRecip[THIS.ItemCount] + This.arrRecip[THIS.ItemCount] = Createobject("TRecipient", lnClass, lcName, lcAddress) + + Procedure ClearItems + Local ii + For ii = 1 To This.ItemCount + This.arrRecip[ii].ReleaseRecipient + This.arrRecip[ii] = .F. + Endfor + This.ItemCount = 0 + Dimen This.arrRecip[1] +Enddefine && trecipients + +Define Class TRecipient As Custom + RcpClass = 0 && 0-sender, 1-primary rec., 2-copy rec., 3-blind copy rec. + RcpName = .F. + RcpAddress = .F. + RcpBuffer = "" + + Procedure Init(lnClass, lcName, lcAddress) + This.InitRecipient(lnClass, lcName, lcAddress) + + Procedure Destroy + This.ReleaseRecipient + + Procedure ReleaseRecipient + If Type("THIS.RcpAddress") = "O" + This.RcpAddress.ReleaseString + This.RcpAddress = .F. + Endif + If Type("THIS.RcpName") = "O" + This.RcpName.ReleaseString + This.RcpName = .F. + Endif + + Procedure InitRecipient(lnClass, lcName, lcAddress) + This.ReleaseRecipient + This.RcpName = Createobject("PChar", lcName) + This.RcpAddress = Createobject("PChar", lcAddress) + + This.RcpBuffer = num2dword(0) + ; + num2dword(lnClass) + ; + num2dword(This.RcpName.getAddr()) + ; + num2dword(This.RcpAddress.getAddr()) + ; + num2dword(0) + num2dword(0) + + Function GetValue + Return This.RcpBuffer +Enddefine && trecipient + +Define Class TAttachments As Custom + ItemCount = 0 + Dimen arrAttach[1] + AttsBuffer = .F. + + Procedure Destroy + This.UnlockData + This.ClearItems + + Procedure getAddr + This.LockData + Return This.AttsBuffer.getAddr() + + Procedure LockData + This.UnlockData + + Local lcBuffer, ii + lcBuffer = "" + For ii = 1 To This.ItemCount + lcBuffer = lcBuffer + This.arrAttach[ii].GetValue() + Endfor + This.AttsBuffer = Createobject("PChar", lcBuffer) + + Procedure UnlockData + If Type("THIS.AttsBuffer") = "O" + This.AttsBuffer.ReleaseString + This.AttsBuffer = .F. + Endif + + Procedure AppendItem(lcFilename) + If File(lcFilename) + This.ItemCount = This.ItemCount + 1 + Dimen This.arrAttach[THIS.ItemCount] + + This.arrAttach[THIS.ItemCount] = ; + CREATEOBJECT("TAttachment", lcFilename, This.ItemCount) + + Return Type("THIS.arrAttach[THIS.ItemCount]") = "O" + Else + Return .F. + Endif + + Procedure ClearItems + Local ii + For ii = 1 To This.ItemCount + This.arrAttach[ii].ReleaseAttachment + This.arrAttach[ii] = .F. + Endfor + This.ItemCount = 0 + Dimen This.arrAttach[1] +Enddefine && tattachments + +Define Class TAttachment As Custom + AttBuffer = "" + AttFilename = .F. + + Procedure Init(lcFilename, nPosition) + This.InitAttachment(m.lcFilename, m.nPosition) + + Procedure Destroy + This.ReleaseAttachment + + Procedure InitAttachment(lcFilename, nPosition) + *!* typedef struct { + *!* ULONG ulReserved; + *!* ULONG flFlags; + *!* ULONG nPosition; + *!* LPTSTR lpszPathName; + *!* LPTSTR lpszFileName; + *!* LPVOID lpFileType; + *!* } MapiFileDesc, FAR *lpMapiFileDesc; + + This.ReleaseAttachment + This.AttFilename = Createobject("PChar", lcFilename) + + This.AttBuffer = num2dword(0) + num2dword(0) + ; + num2dword(m.nPosition) + ; + num2dword(This.AttFilename.getAddr()) + ; + num2dword(0) + num2dword(0) + + Procedure ReleaseAttachment + If Type("THIS.AttFilename") = "O" + This.AttFilename.ReleaseString + This.AttFilename = .F. + Endif + + Function GetValue + Return This.AttBuffer +Enddefine && tattachment + +Define Class PChar As Custom + Protected Hmem + + Procedure Init(lcString) + This.Hmem = 0 + This.setValue(lcString) + + Procedure Destroy + This.ReleaseString + + Function getAddr && returns a pointer to the string + Return This.Hmem + + Function GetValue && returns string value + Local lnSize, lcBuffer + lnSize = This.getAllocSize() + lcBuffer = Space(lnSize) + + If This.Hmem <> 0 + Declare RtlMoveMemory In kernel32 As MemToStr; + STRING @, Integer, Integer + = MemToStr(@lcBuffer, This.Hmem, lnSize) + Endif + Return lcBuffer + + Function getAllocSize && returns allocated memory size (string length) + Declare Integer GlobalSize In kernel32 Integer Hmem + Return Iif(This.Hmem = 0, 0, GlobalSize(This.Hmem)) + + Procedure setValue(lcString) && assigns new string value + #Define GMEM_FIXED 0 + This.ReleaseString + + Declare Integer GlobalAlloc In kernel32 Integer, Integer + Declare RtlMoveMemory In kernel32 As StrToMem; + INTEGER, String @, Integer + + Local lnSize + lcString = lcString + Chr(0) + lnSize = Len(lcString) + This.Hmem = GlobalAlloc(GMEM_FIXED, lnSize) + If This.Hmem <> 0 + = StrToMem(This.Hmem, @lcString, lnSize) + Endif + + Procedure ReleaseString && releases allocated memory + If This.Hmem <> 0 + Declare Integer GlobalFree In kernel32 Integer + = GlobalFree(This.Hmem) + This.Hmem = 0 + Endif +Enddefine && pchar + +Function num2dword(lnValue) + #Define m0 256 + #Define m1 65536 + #Define m2 16777216 + Local b0, b1, b2, b3 + b3 = Int(lnValue / m2) + b2 = Int((lnValue - b3 * m2) / m1) + b1 = Int((lnValue - b3 * m2 - b2 * m1) / m0) + b0 = Mod(lnValue, m0) + Return Chr(b0) + Chr(b1) + Chr(b2) + Chr(b3) +Endfunc && num2dword \ No newline at end of file diff --git a/programe/export_database.prg b/programe/export_database.prg new file mode 100644 index 0000000..24ec306 --- /dev/null +++ b/programe/export_database.prg @@ -0,0 +1,435 @@ +*-- Program pentru exportul listei de view-uri din Oracle in XLSX +*-- Foloseste ExcelXML pentru crearea fisierelor Excel fara automatizare +*-- Presupune ca exista gnHandle (connection handle) si goExecutor cu metoda oExecuta +Local lcOutputFile, lcOutputPath, llSucces + +llSucces = .F. +lcOutputPath = GETDIR("C:\","Alegeti directorul pentru salvarea exportului","Director salvare export",64) +IF EMPTY(m.lcOutputPath) + RETURN m.llSucces +ENDIF +lcOutputFile = m.lcOutputPath + "roa_export.xlsx" +llSucces = ExportOracleViewsToXLSX("vact,vbal,vbalana,vbalanta_parteneri,vireg_parteneri,vjv2013,vjc2013", m.lcOutputFile) + +RETURN m.llSucces +*----------------------------------------------------------- +*-- Export direct in XLSX folosind ExcelXML +*----------------------------------------------------------- +Procedure ExportOracleViewsToXLSX + Parameters pcCursorName, pcOutputFile + Local lcOutputFile, llSuccess, loExcelXML + Local lnRecCount, lcLog, lcLogLevel + + *-- Initializeaza log-ul + lcLog = "" + lcLogLevel = "INFO" + + *-- Verifica daca cursorul exista sau foloseste lista existenta + If Empty(pcCursorName) + pcCursorName = "curViews" && Presupune ca ai deja o lista de view-uri + Endif + + lcLog = lcLog + "[" + Time() + "] Verificare cursor: " + pcCursorName + Chr(13) + Chr(10) + + If !Used(pcCursorName) + lcLog = lcLog + "[" + Time() + "] EROARE: Cursorul '" + pcCursorName + "' nu exista!" + Chr(13) + Chr(10) + lcLog = lcLog + "[" + Time() + "] Asigura-te ca ai o lista de view-uri incarcata." + Chr(13) + Chr(10) + lcLogLevel = "ERROR" + MessageBox(lcLog, 16, "Log Export - Eroare") + Return .F. + Endif + + *-- Selecteaza cursorul si verifica datele + Select (pcCursorName) + lnRecCount = Reccount() + lcLog = lcLog + "[" + Time() + "] Cursor selectat. Inregistrari gasite: " + Transform(lnRecCount) + Chr(13) + Chr(10) + + If lnRecCount = 0 + lcLog = lcLog + "[" + Time() + "] AVERTISMENT: Nu exista inregistrari de exportat." + Chr(13) + Chr(10) + lcLogLevel = "WARNING" + AMessageBox(lcLog, 64, "Log Export - Avertisment") + Return .T. + Endif + + *-- Determina fisierul de iesire + If Empty(pcOutputFile) + lcOutputFile = Putfile("Salveaza lista view-urilor Oracle", "oracle_views.xlsx", "XLSX") + If Empty(lcOutputFile) + lcLog = lcLog + "[" + Time() + "] Export anulat de utilizator." + Chr(13) + Chr(10) + AMessageBox(lcLog, 64, "Log Export - Anulat") + Return .F. + Endif + Else + lcOutputFile = pcOutputFile + Endif + + *-- Asigura-te ca extensia este .xlsx + If Upper(Right(lcOutputFile, 4)) <> "XLSX" + lcOutputFile = Forceext(lcOutputFile, "xlsx") + Endif + + lcLog = lcLog + "[" + Time() + "] Fisier destinatie: " + lcOutputFile + Chr(13) + Chr(10) + + Try + lcLog = lcLog + "[" + Time() + "] Creare obiect ExcelXML..." + Chr(13) + Chr(10) + + *-- Creeaza obiectul ExcelXML + loExcelXML = Createobject("ExcelXML") + + If Type("loExcelXML") <> "O" + lcLog = lcLog + "[" + Time() + "] EROARE: Nu s-a putut crea obiectul ExcelXML!" + Chr(13) + Chr(10) + lcLog = lcLog + "[" + Time() + "] Verifica daca ExcelXML este inclus corect in proiect." + Chr(13) + Chr(10) + lcLogLevel = "ERROR" + AMessageBox(lcLog, 16, "Log Export - Eroare") + Return .F. + Endif + + lcLog = lcLog + "[" + Time() + "] Obiect ExcelXML creat cu succes." + Chr(13) + Chr(10) + + *-- Configureaza proprietatile pentru formatare + lcLog = lcLog + "[" + Time() + "] Configurare proprietati ExcelXML..." + Chr(13) + Chr(10) + + With loExcelXML + .ColumnHeaderBackgroundColor = "DDDDDD" && Gri deschis pentru header + .ColumnHeaderForeColor = "000000" && Text negru + .WorksheetName = "Oracle Views" && Numele foii de lucru + .Author = "Visual FoxPro Export" && Autorul documentului + Endwith + + *-- Exporta cursorul la Excel XML + Select (pcCursorName) + Go Top + + lcLog = lcLog + "[" + Time() + "] Incepere export la XML..." + Chr(13) + Chr(10) + + *-- Creeaza fisierul XML temporar + Local lcTempXmlFile + lcTempXmlFile = Forceext(lcOutputFile, "xml") + + *-- Exporta la XML cu header + loExcelXML.TableToExcel(lcTempXmlFile, "", .T.) && .T. pentru a include header-ul + + lcLog = lcLog + "[" + Time() + "] Export XML completat: " + lcTempXmlFile + Chr(13) + Chr(10) + + *-- Converteste XML la XLSX + lcLog = lcLog + "[" + Time() + "] Conversie XML la XLSX..." + Chr(13) + Chr(10) + + *-- Parametrii: (Filename, FileFormat, OpenAfterExporting) + *-- FileFormat: 51 = xlOpenXMLWorkbook (XLSX) + loExcelXML.ConvertXmlToXlsx(lcTempXmlFile, 51, .F.) + + *-- Muta fisierul XLSX la locatia dorita + Local lcGeneratedXlsx + lcGeneratedXlsx = Forceext(lcTempXmlFile, "xlsx") + + If File(lcGeneratedXlsx) And lcGeneratedXlsx <> lcOutputFile + lcLog = lcLog + "[" + Time() + "] Mutare fisier de la " + lcGeneratedXlsx + " la " + lcOutputFile + Chr(13) + Chr(10) + Copy File (lcGeneratedXlsx) To (lcOutputFile) + Delete File (lcGeneratedXlsx) + Endif + + *-- Sterge fisierul XML temporar + If File(lcTempXmlFile) + lcLog = lcLog + "[" + Time() + "] Stergere fisier temporar XML." + Chr(13) + Chr(10) + Delete File (lcTempXmlFile) + Endif + + lcLog = lcLog + "[" + Time() + "] Export XLSX completat cu succes!" + Chr(13) + Chr(10) + lcLog = lcLog + "[" + Time() + "] Fisier final: " + lcOutputFile + Chr(13) + Chr(10) + lcLog = lcLog + "[" + Time() + "] Total inregistrari exportate: " + Transform(lnRecCount) + Chr(13) + Chr(10) + + llSuccess = .T. + lcLogLevel = "SUCCESS" + + Catch To loError + lcLog = lcLog + "[" + Time() + "] EROARE CRITICA in export!" + Chr(13) + Chr(10) + lcLog = lcLog + "[" + Time() + "] Mesaj: " + loError.Message + Chr(13) + Chr(10) + lcLog = lcLog + "[" + Time() + "] Linia: " + Transform(loError.Lineno) + Chr(13) + Chr(10) + lcLog = lcLog + "[" + Time() + "] Procedura: " + loError.Procedure + Chr(13) + Chr(10) + llSuccess = .F. + lcLogLevel = "ERROR" + + Finally + *-- Cleanup + If Type("loExcelXML") = "O" + lcLog = lcLog + "[" + Time() + "] Cleanup obiect ExcelXML." + Chr(13) + Chr(10) + loExcelXML = Null + Endif + + Endtry + + *-- Afiseaza log-ul final + Local lnIcon + Do Case + Case lcLogLevel = "ERROR" + lnIcon = 16 + Case lcLogLevel = "WARNING" + lnIcon = 48 + Case lcLogLevel = "SUCCESS" + lnIcon = 64 + Otherwise + lnIcon = 64 + Endcase + + AMessageBox(lcLog, lnIcon, "Log Export Oracle Views - " + lcLogLevel) + + *-- Intreaba daca vrea sa deschida fisierul doar daca exportul a reusit + If llSuccess And File(lcOutputFile) + If AMessageBox("Vrei sa deschizi fisierul exportat?", 36, "Deschide fisierul") = 6 + Run /N EXPLORER "&lcOutputFile" + Endif + Endif + + Return llSuccess +Endproc + +*----------------------------------------------------------- +*-- Export direct in XML (daca nu vrei XLSX) +*----------------------------------------------------------- +Procedure ExportOracleViewsToXML + Parameters pcCursorName, pcOutputFile + Local lcOutputFile, llSuccess, loExcelXML + Local lcLog, lcLogLevel + + *-- Initializeaza log-ul + lcLog = "" + lcLogLevel = "INFO" + + If Empty(pcCursorName) + pcCursorName = "curViews" + Endif + + lcLog = lcLog + "[" + Time() + "] Verificare cursor pentru export XML: " + pcCursorName + Chr(13) + Chr(10) + + If !Used(pcCursorName) + lcLog = lcLog + "[" + Time() + "] EROARE: Cursorul '" + pcCursorName + "' nu exista!" + Chr(13) + Chr(10) + lcLogLevel = "ERROR" + AMessageBox(lcLog, 16, "Log Export XML - Eroare") + Return .F. + Endif + + Select (pcCursorName) + Local lnRecCount + lnRecCount = Reccount() + lcLog = lcLog + "[" + Time() + "] Inregistrari gasite: " + Transform(lnRecCount) + Chr(13) + Chr(10) + + If lnRecCount = 0 + lcLog = lcLog + "[" + Time() + "] AVERTISMENT: Nu exista inregistrari de exportat." + Chr(13) + Chr(10) + lcLogLevel = "WARNING" + AMessageBox(lcLog, 64, "Log Export XML - Avertisment") + Return .T. + Endif + + If Empty(pcOutputFile) + lcOutputFile = Putfile("Salveaza in Excel XML", "oracle_views.xml", "XML") + If Empty(lcOutputFile) + lcLog = lcLog + "[" + Time() + "] Export XML anulat de utilizator." + Chr(13) + Chr(10) + AMessageBox(lcLog, 64, "Log Export XML - Anulat") + Return .F. + Endif + Else + lcOutputFile = pcOutputFile + Endif + + lcLog = lcLog + "[" + Time() + "] Fisier destinatie XML: " + lcOutputFile + Chr(13) + Chr(10) + + Try + lcLog = lcLog + "[" + Time() + "] Creare obiect ExcelXML pentru export XML..." + Chr(13) + Chr(10) + + loExcelXML = Createobject("ExcelXML") + + If Type("loExcelXML") <> "O" + lcLog = lcLog + "[" + Time() + "] EROARE: Nu s-a putut crea obiectul ExcelXML!" + Chr(13) + Chr(10) + lcLogLevel = "ERROR" + AMessageBox(lcLog, 16, "Log Export XML - Eroare") + Return .F. + Endif + + *-- Configureaza proprietatile + lcLog = lcLog + "[" + Time() + "] Configurare proprietati pentru XML..." + Chr(13) + Chr(10) + + With loExcelXML + .ColumnHeaderBackgroundColor = "CCCCCC" + .ColumnHeaderForeColor = "000000" + .WorksheetName = "Oracle Views" + .Author = "Visual FoxPro Export" + Endwith + + *-- Exporta cursorul + Select (pcCursorName) + Go Top + + lcLog = lcLog + "[" + Time() + "] Incepere export la fisier XML..." + Chr(13) + Chr(10) + + loExcelXML.TableToExcel(lcOutputFile, "", .T.) && .T. pentru a include header-ul + + lcLog = lcLog + "[" + Time() + "] Export XML completat cu succes!" + Chr(13) + Chr(10) + lcLog = lcLog + "[" + Time() + "] Fisier creat: " + lcOutputFile + Chr(13) + Chr(10) + lcLog = lcLog + "[" + Time() + "] Total inregistrari exportate: " + Transform(lnRecCount) + Chr(13) + Chr(10) + + llSuccess = .T. + lcLogLevel = "SUCCESS" + + Catch To loError + lcLog = lcLog + "[" + Time() + "] EROARE la exportul XML!" + Chr(13) + Chr(10) + lcLog = lcLog + "[" + Time() + "] Mesaj: " + loError.Message + Chr(13) + Chr(10) + lcLog = lcLog + "[" + Time() + "] Linia: " + Transform(loError.Lineno) + Chr(13) + Chr(10) + llSuccess = .F. + lcLogLevel = "ERROR" + + Finally + If Type("loExcelXML") = "O" + lcLog = lcLog + "[" + Time() + "] Cleanup obiect ExcelXML." + Chr(13) + Chr(10) + loExcelXML = Null + Endif + + Endtry + + *-- Afiseaza log-ul final + Local lnIcon + Do Case + Case lcLogLevel = "ERROR" + lnIcon = 16 + Case lcLogLevel = "WARNING" + lnIcon = 48 + Case lcLogLevel = "SUCCESS" + lnIcon = 64 + Otherwise + lnIcon = 64 + Endcase + + AMessageBox(lcLog, lnIcon, "Log Export XML - " + lcLogLevel) + + Return llSuccess +Endproc + +*----------------------------------------------------------- +*-- Exemplu de utilizare cu lista ta existenta de view-uri +*----------------------------------------------------------- +Procedure TestExportViews + Local llSuccess + + *-- Presupune ca ai deja un cursor cu view-urile incarcat + *-- Exemplu: ai un cursor numit "myViews" cu campurile: + *-- owner, view_name, text_length, view_type, last_analyzed + + *-- Test export XLSX + llSuccess = ExportOracleViewsToXLSX("myViews", "C:\temp\test_views.xlsx") + If llSuccess + ? "Export XLSX reusit!" + Else + ? "Export XLSX esuat!" + Endif + + *-- Test export XML + llSuccess = ExportOracleViewsToXML("myViews", "C:\temp\test_views.xml") + If llSuccess + ? "Export XML reusit!" + Else + ? "Export XML esuat!" + Endif + +Endproc "O" +lcLog = lcLog + "[" + Time() + "] Cleanup obiect ExcelXML." + Chr(13) + Chr(10) +loExcelXML = Null +Endif + +Endtry + +*-- Afiseaza log-ul final +Local lnIcon +Do Case + Case lcLogLevel = "ERROR" + lnIcon = 16 + Case lcLogLevel = "WARNING" + lnIcon = 48 + Case lcLogLevel = "SUCCESS" + lnIcon = 64 + Otherwise + lnIcon = 64 +Endcase + +AMessageBox(lcLog, lnIcon, "Log Export XML - " + lcLogLevel) + +Return llSuccess +Endproc + +*----------------------------------------------------------- +*-- Exemplu de utilizare cu lista ta existenta de view-uri +*----------------------------------------------------------- +Procedure TestExportViews + Local llSuccess + + *-- Presupune ca ai deja un cursor cu view-urile incarcat + *-- Exemplu: ai un cursor numit "myViews" cu campurile: + *-- owner, view_name, text_length, view_type, last_analyzed + + *-- Test export XLSX + llSuccess = ExportOracleViewsToXLSX("myViews", "C:\temp\test_views.xlsx") + If llSuccess + ? "Export XLSX reusit!" + Else + ? "Export XLSX esuat!" + Endif + + *-- Test export XML + llSuccess = ExportOracleViewsToXML("myViews", "C:\temp\test_views.xml") + If llSuccess + ? "Export XML reusit!" + Else + ? "Export XML esuat!" + Endif + +Endproc "O" +lcLog = lcLog + "[" + Time() + "] Cleanup obiect ExcelXML." + Chr(13) + Chr(10) +loExcelXML = Null +Endif + +Endtry + +*-- Afi?eaza log-ul final +Local lnIcon +Do Case + Case lcLogLevel = "ERROR" + lnIcon = 16 + Case lcLogLevel = "WARNING" + lnIcon = 48 + Case lcLogLevel = "SUCCESS" + lnIcon = 64 + Otherwise + lnIcon = 64 +Endcase + +AMessageBox(lcLog, lnIcon, "Log Export XML - " + lcLogLevel) + +Return llSuccess +Endproc + +*----------------------------------------------------------- +*-- Exemplu de utilizare cu lista ta existenta de view-uri +*----------------------------------------------------------- +Procedure TestExportViews + Local llSuccess + + *-- Presupune ca ai deja un cursor cu view-urile încarcat + *-- Exemplu: ai un cursor numit "myViews" cu câmpurile: + *-- owner, view_name, text_length, view_type, last_analyzed + + *-- Test export XLSX + llSuccess = ExportOracleViewsToXLSX("myViews", "C:\temp\test_views.xlsx") + If llSuccess + ? "Export XLSX reu?it!" + Else + ? "Export XLSX e?uat!" + Endif + + *!* *-- Test export XML + *!* llSuccess = ExportOracleViewsToXML("myViews", "C:\temp\test_views.xml") + *!* If llSuccess + *!* ? "Export XML reusit!" + *!* Else + *!* ? "Export XML esuat!" + *!* Endif + +Endproc + \ No newline at end of file diff --git a/programe/exportare.prg b/programe/exportare.prg new file mode 100644 index 0000000..7a6d9d8 --- /dev/null +++ b/programe/exportare.prg @@ -0,0 +1,51 @@ +LPARAMETERS tabel, initial, final +LOCAL nrc, i, c +STORE 0 TO nrc, i +STORE '' TO c + +lcDir = ADDBS(gcTempPath) +CD (lcDir) + + +exista_excel=.F. + +initial = ','+initial+',' &&Pentru a recunoste coloanele' +final = ','+final+',' &&---||--- + +nrc = OCCURS(',', '&initial') +nrc=nrc-1 && scade vircula din fata + +LOCAL ARRAY c_initial(nrc) +LOCAL ARRAY c_final(nrc) + +FOR i = 1 TO nrc + n = AT(',', '&initial', i) + n2 =AT(',', '&initial', i+1) + c_Initial[i] = SUBSTR('&initial', n+1, n2-n-1) + *MESSAGEBOX(c_initial[i]) + n = AT(',', '&final', i) + n2 =AT(',', '&final', i+1) + c_final[i] = SUBSTR('&final', n+1, n2-n-1) + *MESSAGEBOX(c_final[i]) +ENDFOR + +FOR i=1 TO nrc + IF i=nrc + c=c+c_initial[i]+' as '+c_final[i] + ELSE + c=c+c_initial[i]+' as '+c_final[i]+',' + ENDIF +ENDFOR + +calea_fis = PUTFILE('Nume fisier:', 'Foaie_Excel', 'XLS') +IF EMPTY(calea_fis) && Esc pressed + RETURN +ENDIF + +SELECT &c FROM &tabel INTO CURSOR cur +SELECT cur +EXPORT TO (calea_fis) TYPE XL5 + +OPEN_default_app(calea_fis) +USE IN cur + diff --git a/programe/filebringer.prg b/programe/filebringer.prg new file mode 100644 index 0000000..2c5e448 --- /dev/null +++ b/programe/filebringer.prg @@ -0,0 +1,209 @@ +Function BringFile + Lparameters cFilePath,lcprogram,tcLocalFile + *!* modificare ROARESTAURANT v 1.0.0 + LOCAL lnTransferTotal + lnTransferTotal = -1 + *!* modificare ROARESTAURANT v 1.0.0 ^ + If !Empty(tcLocalFile) + lcLocalFile=tcLocalFile + Else + If At("_",lcprogram)#0 + lccurrentUR=Substr(lcprogram,At("_",lcprogram)+1) + * MESSAGEBOX(lccurrentUR) + Else + lccurrentUR=lcprogram + Endif + mypath=GetIniPath() + mypath=Substr(mypath,1,Rat("\",mypath,1)) + + Try + Md mypath+lccurrentUR+"\" + Catch To loex + Endtry + lcLocalFile=Alltrim(GetCurrentTempPath(lcprogram)) + Endif + * Do Form waitwindow Name frmwait + polog.Log("Fisierul care trebuie descarcat este "+cFilePath,Program()) + If (Occurs('/', cFilePath)>0) + *WAIT WINDOW AT 10,10 NOWAIT "Se downloadeaza fisierul..." + polog.Log([Createobject("wwCodeUpdate")],Program()) + + loUpdate=Createobject("wwCodeUpdate") + *!* loUpdate.cExeFile = lcprogram+".exe" + + If Isnull(loUpdate.oHTTP) + loIP = loUpdate.CreateHTTPClient() + Else + loIP = loUpdate.oHTTP + Endif + + loIP.lShowDialog = .T. + + loUrl = loIP.InternetCrackUrl(cFilePath) + + If Isnull(loUrl) + Return .F. + Endif + + myinihandler=Createobject("iniaccess") + loIP.nhttpport=Val(loUrl.cPort) + If loIP.HTTPConnect(loUrl.cServer,myinihandler.getUsername(),myinihandler.getPassword(),; + IIF(Lower(loUrl.cProtocol)="https",.T.,.F.)) # 0 + loUpdate.SetError(loIP.cErrorMsg) + Release myinihandler + polog.Log([loIP.HTTPConnect(] + loUrl.cServer + [)#0],Program()) + Return .F. + Else + Release myinihandler + + lcTFile = lcLocalFile + lcData = "" + lnSize = 0 + polog.Log([loIP.HTTPGetEx(] + Trim(loUrl.cPath) + [)],Program()) + If(loIP.HTTPGetEx( Trim(loUrl.cPath),@lcData,@lnSize,,lcTFile)=0) + + polog.Log([lnSize=] + alltrim(transform(m.lnSize)),Program()) + TransferHandlerResult=lnSize + else + polog.Log([loIp.cerrormsg=] + alltrim(transf(loIp.nerror)) + ' ' + alltrim(transform(nvl(loIp.cerrormsg,''))),Program()) + TransferHandlerResult=0 + endif + polog.Log([lnSize=] + alltrim(transform(m.lnSize)),Program()) + polog.Log([loIP.nContentSize=] + alltrim(transform(loIP.nContentSize)),Program()) + If lnSize#loIP.nContentSize + TransferHandlerResult=0 + Endif + + + Endif + + + + * TransferHandlerResult= DownLoadURL(cFilePath,cLocalFile,"FeedBack",1000,.T.) + polog.Log("TransferHandlerResult = "+Alltrim(Transform(TransferHandlerResult)),Program()) + Else + *WAIT WINDOW NOWAIT "Se copiaza fisierul..." + *!* If Left(cFilePath,1)="\" + *!* cFilePath=Right(cFilePath,Len(cFilePath)-1) + *!* Endif + *!* cFilePath=lcNetworkPath+cFilePath + If(PathFileExists(cFilePath)=1) + scomp=Set('comp') + Set Compatible On + nsize=Fsize(cFilePath) + Set Compatible &scomp + loProgressForm = Createobject("wwProgressForm") + loProgressForm.SetCaption("Se descarcã actualizarea...") + *!* loProgressForm.ShowCancelButton() + loProgressForm.Show() + *!* IF loProgressForm.lCancelled + loProgressForm.SetDescription("S-au primit de la "+Justpath(cFilePath)+":" +Chr(13)+; + "0 din "+Ltrim(Transform(nsize,"999,999,999"))+ " bytes") + *!* THIS.oProgressForm.SetDescription("Received from " + THIS.cServer + ":" +CHR(13) +; + *!* LTRIM( TRANSFORM(lnbytes,"999,999,999") ) + " of " +; + *!* LTRIM(TRANSFORM(THIS.nContentSize,"999,999,999"))+ " bytes") + *!* THIS.oProgressForm.SetProgress(lnbytes/THIS.nContentSize * 100) + loProgressForm.SetProgress(0) + loProgressForm.SetDescription("S-au primit de la "+Justpath(cFilePath)+":" +Chr(13)+; + LTRIM(Transform(nsize*0.05,"999,999,999"))+" din "+Ltrim(Transform(nsize,"999,999,999"))+ " bytes") + loProgressForm.SetProgress(5) + TransferHandlerResult= CopyFile(cFilePath, lcLocalFile, .F.) + loProgressForm.SetDescription("S-au primit de la "+Justpath(cFilePath)+":" +Chr(13)+; + LTRIM(Transform(nsize,"999,999,999"))+" din "+Ltrim(Transform(nsize,"999,999,999"))+ " bytes") + loProgressForm.SetProgress(100) + loProgressForm = .F. + Else + *MESSAGEBOX("Update-ul nu a fost gasit la locatia XML-ului") + polog.Log("A incercat cu CopyFile si nu a mers = ",Program()) + TransferHandlerResult=0 + Endif + + Endif + * frmwait.Release() + *WAIT CLEAR + If (TransferHandlerResult!=0 And TransferHandlerResult!=-1) +*!* modificare ROARESTAURANT v 1.0.0 +*!* If gTransferTotal!=-1 + IF lnTransferTotal != -1 + If TransferHandlerResult=gTransferTotal + lnTransferTotal = -1 +*!* gTransferTotal=-1 + Return .T. + Else + lnTransferTotal = -1 +*!* gTransferTotal=-1 + polog.Log("TransferHandlerresult != TransferTotal ",Program()) + Return .F. + Endif + Endif +*!* modificare ROARESTAURANT v 1.0.0 ^ + + Return .T. + Else + If TransferHandlerResult=0 + polog.Log("TransferHandlerresult = 0",Program()) + Endif + If TransferHandlerResult=-1 + polog.Log("TransferHandlerresult = -1",Program()) + Endif + + + Return .F. + Endif +Endfunc + +Function StripXmlFile + Lparameters cXmlString + Return Strextract(Alltrim(cXmlString),"(",")",1) +Endfunc + + +Function FeedBack + * if this function returned with .f., downloading would terminate + * it is called after each 100 byte downloaded. (You can alter this value!) + Lparameters tiAll, tiCount + gTransferTotal=tiAll + frmwait.label1.Caption = "Descãrcare " + Alltrim(Str(tiCount/1000)) + " kb din " + Alltrim(Str(tiAll/1000)) + " kb" + procent = (tiCount*100)/tiAll + frmwait._progressbar1.Update(procent) + + If !gcmdCancelDownload + Return .T. + Else + gcmdCancelDownload= .F. + Return .F. + Endif +Endfunc + +Function CheckProcess + Lparameters ProgramCheck + + ProgramtoCheck=Addbs(gcDirMare) + ProgramCheck + "\"+ProgramCheck + ".exe" + ProgramProba= Addbs(gcDirMare) + ProgramCheck + "\" + ProgramCheck + "Proba.exe" + + Local loex As Exception + err=.F. + If File("&ProgramtoCheck") + Copy File &ProgramtoCheck To &ProgramProba + Else + Return .F. + Endif + + + Try + Delete File &ProgramtoCheck + Catch To loex + If loex.ErrorNo=1705 + err= .T. + Endif + Endtry + + If err=.F. + Copy File &ProgramProba To &ProgramtoCheck + Delete File &ProgramProba + Endif + + + + Return err +Endfunc diff --git a/programe/gencursor.prg b/programe/gencursor.prg new file mode 100644 index 0000000..9f0f0c7 --- /dev/null +++ b/programe/gencursor.prg @@ -0,0 +1,132 @@ +PROCEDURE gencursor + PARAMETERS tcnume, tcalias, tcselect, tcfiltru, tcschema, tcorder, tlAfisare, tcgroup, tlModParam, tcFiltruOriginal + +&& lcSelect, lcFiltru, lcSchema, lcOrder, llAfisare, lcGroup, llModParam, lcFiltruOriginal +&& MODIFICAT 28.02.2005 +&& tlModParam = .T. daca gencursor functioneaza fara WHERE inclus in tcSelect original +&& tcFiltruOriginal : .T. daca conditia care urmeaza dupa where este salvata si adaugata la query-urile ulterioare + + LOCAL llModParam, lcFiltruOriginal + + IF EMPTY(tlModParam) OR TYPE('tlModParam') # 'L' + llModParam = .F. + ELSE + llModParam = tlModParam + ENDIF + + IF EMPTY(tcFiltruOriginal) OR TYPE('tcFiltruOriginal') # 'C' + lcFiltruOriginal = '' + ELSE + lcFiltruOriginal = ALLTRIM(tcFiltruOriginal) + ENDIF + + &tcnume=NEWOBJECT('deca_baza') + &tcnume..ADDOBJECT('ca_baza1','ca_baza') + + IF TYPE('goConn') = 'O' + &tcNume..datasource = goConn.nHandle + ELSE + IF TYPE('gnHandle') = 'N' + &tcNume..datasource = gnHandle + ENDIF + ENDIF + + *lcSelect = TRANSFORM(UPPER(ALLTRIM(tcSelect)),['] + + + + LOCAL laEroare + DECLARE laEroare[1] + + lnpCount = PCOUNT() + llAfisare = tlAfisare + + WITH &tcnume..ca_baza1 + IF lnpCount > 6 + .lAfisare = llAfisare + ENDIF + .ALIAS=ALLTRIM(UPPER(tcalias)) + IF !EMPTY(tcschema) + IF INLIST(LEFT(tcschema,1),['],["],'[') + .CURSORSCHEMA=&tcschema + ELSE + IF LEN(tcschema) > 250 + lngrupe = CEILING(LEN(tcschema)/250) + lcgrupa = tcschema + FOR i = 1 TO lngrupe + lcgrupat = LEFT(lcgrupa,250) + .CURSORSCHEMA = .CURSORSCHEMA + lcGrupat + lcgrupa = SUBSTR(lcgrupa,251) + ENDFOR + ELSE + .CURSORSCHEMA=tcschema + ENDIF + ENDIF + ENDIF + IF INLIST(LEFT(tcselect,1),['],["],'[') + .SELECTCMD = &tcselect + .cSelect = &tcselect + ELSE + IF LEN(tcselect) > 250 + lngrupe = CEILING(LEN(tcSelect)/250) + lcgrupa = tcSelect + FOR i = 1 TO lngrupe + lcgrupat = LEFT(lcgrupa,250) + .SELECTCMD = .SELECTCMD + lcGrupat + .cSelect = .cSelect + lcGrupat + lcgrupa = SUBSTR(lcgrupa,251) + ENDFOR + ELSE + .SELECTCMD = tcselect + .cSelect = tcselect + ENDIF + ENDIF +*!* STRTOFILE(.selectcmd,[c:\selectcmd.txt]) + + .cfiltru=ALLTRIM(UPPER(tcfiltru)) + IF !EMPTY(tcorder) + .cOrder=ALLTRIM(UPPER(tcorder)) + ENDIF + IF !EMPTY(tcgroup) + .cGroup=ALLTRIM(UPPER(tcgroup)) + ENDIF + .lModParam = llModParam + .cFiltruOriginal = lcFiltruOriginal + ENDWITH + + *!* IF !USED(tcAlias) + *!* AERROR(laEroare) + *!* IF TYPE('LAEROARE')!= 'U' + *!* IF ALEN(laEroare) > 1 + *!* IF TYPE('goLog')='O' + + *!* lcLog = laEroare(3) + CHR(13) + 'SELECT: ' + tcSelect + CHR(13) + 'SCHEMA: ' + tcSchema + CHR(13) + 'FILTRU: ' + tcFiltru + CHR(13) + 'ORDINE: ' + tcOrder + *!* goLog.Log(lcLog,PROGRAM()) + *!* ENDIF + *!* MESSAGEBOX(laEroare(3),0+16,"Eroare") + + *!* ENDIF + *!* ENDIF + *!* ENDIF + *!* RELEASE laEroare +ENDPROC + +PROCEDURE gencursor_hash + PARAMETERS toHash + + LOCAL lcNume, lcAlias, lcSelect, lcFiltru, lcSchema, lcOrder, llAfisare, lcGroup, llModParam, lcFiltruOriginal + + lcNume = toHash.GetValue('cNume') + lcAlias = toHash.GetValue('cAlias') + lcSelect = toHash.GetValue('cSelect') + lcFiltru = toHash.GetValue('cFiltru') + lcSchema = toHash.GetValue('cSchema') + lcOrder = toHash.GetValue('cOrder') + llAfisare = toHash.GetValue('lAfisare') + lcGroup = toHash.GetValue('cGroup') + llModParam = toHash.GetValue('lModParam') + lcFiltruOriginal = toHash.GetValue('cFiltruOriginal') + + = gencursor(lcnume, lcalias, lcselect, lcfiltru, lcschema, lcorder, llAfisare, lcgroup, llModParam, lcFiltruOriginal) + +ENDPROC && gencursor_hash \ No newline at end of file diff --git a/programe/get_schema.prg b/programe/get_schema.prg new file mode 100644 index 0000000..cf562da --- /dev/null +++ b/programe/get_schema.prg @@ -0,0 +1,177 @@ +LPARAMETERS tcConnection, tcTable, tlNull, tcFormat, tnMaxCharFormat, tcPrefix, tcSufix +*!* EX: +*!* Set Procedure To GET_SCHEMA.PRG Additive +*!* LOSCHEMA = GET_SCHEMA("JCSSERVER;MARIUSM_AUTO;123","VACT",.F.,"FOX", 100, "['", " '] + ;") +*!* DO GET_SCHEMA - PUNE IN _CLIPBOARD COLOANELE SI SCHEMA +#DEFINE CRLF CHR(13) + CHR(10) + +LOCAL lcTable, lcConnection, loReturn +LOCAL lcSelect, lcSchema, i, lcGrupat, lcGrupa +lcTable = '' +lcConnection = '' + +loReturn = CREATEOBJECT("empty") +ADDPROPERTY(loReturn,"cSelect", "") +ADDPROPERTY(loReturn,"cSchema", "") + + +IF !EMPTY(tcConnection) + lcConnection = tcConnection +ELSE + lcConnection = 'JCSSERVER;MARIUSM_AUTO;123' + lcConnection = INPUTBOX('Conexiune', 'Conexiune', lcConnection) +ENDIF +IF !(EMPTY(lcConnection) OR OCCURS(';', lcConnection) < 2) + IF !EMPTY(tcTable) + lcTable = tcTable + ELSE + lcTable = INPUTBOX('Tabel', 'Tabel', lcTable) + ENDIF + IF !EMPTY(lcTable) + lcTable = UPPER(lcTable) + IF PCOUNT() = 0 && am apelat functia fara parametri + tcFormat = INPUTBOX("Formatare","FOX","FOX") + ENDIF + IF PCOUNT() = 0 + tlNull = .T. + ENDIF + + lcCursor = 'cResult' + lcSelect = [select COLUMN_NAME, DATA_TYPE, DATA_PRECISION, DATA_SCALE, DATA_LENGTH, NULLABLE ] + ; + [ FROM user_tab_columns where table_name = '] + lcTable + [' order by column_id] + + *!* lcSelect = [SELECT stringagg(COLUMN_NAME) CSELECT,] + ; + *!* [ stringagg(COLUMN_NAME || ' ' ||] + ; + *!* [ DECODE(DATA_TYPE,] + ; + *!* [ 'NUMBER',] + ; + *!* [ 'N(' || LEAST(NVL(DATA_PRECISION,DATA_LENGTH), 20) ||] + ; + *!* [ (CASE NVL(DATA_SCALE,0)] + ; + *!* [ WHEN 0 THEN] + ; + *!* [ ')'] + ; + *!* [ ELSE] + ; + *!* [ ',' || DATA_SCALE || ')'] + ; + *!* [ END) || (CASE NULLABLE WHEN 'N' THEN ' NOT NULL' ELSE ' NULL' END),] + ; + *!* [ 'DATE',] + ; + *!* [ (CASE] + ; + *!* [ WHEN COLUMN_NAME LIKE 'DATAORA%' THEN] + ; + *!* [ 'T'] + ; + *!* [ ELSE] + ; + *!* [ 'D'] + ; + *!* [ END) || (CASE NULLABLE WHEN 'N' THEN ' NOT NULL' ELSE ' NULL' END),] + ; + *!* [ 'VARCHAR2',] + ; + *!* [ (CASE WHEN NVL(DATA_LENGTH,0) > 254 THEN 'M' ELSE ] + ; + *!* [ 'V(' || DATA_LENGTH || ')' END)|| (CASE NULLABLE WHEN 'N' THEN ' NOT NULL' ELSE ' NULL' END),] + ; + *!* [ 'CHAR',] + ; + *!* [ (CASE WHEN NVL(DATA_LENGTH,0) > 254 THEN 'M' ELSE ] + ; + *!* [ 'V(' || DATA_LENGTH || ')' END) || (CASE NULLABLE WHEN 'N' THEN ' NOT NULL' ELSE ' NULL' END),] + ; + *!* [ 'CLOB',] + ; + *!* [ 'M' || (CASE NULLABLE WHEN 'N' THEN ' NOT NULL' ELSE ' NULL' END),] + ; + *!* [ 'M' || (CASE NULLABLE WHEN 'N' THEN ' NOT NULL' ELSE ' NULL' END))) CSCHEMA] + ; + *!* [ FROM (select COLUMN_NAME,] + ; + *!* [ DATA_TYPE,] + ; + *!* [ DATA_PRECISION,] + ; + *!* [ DATA_SCALE,] + ; + *!* [ DATA_LENGTH,] + ; + *!* [ NULLABLE] + ; + *!* [ FROM user_tab_columns] + ; + *!* [ where table_name = '] + lcTable + ['] + ; + *!* [ order by column_id)] + + lcHost = GETWORDNUM(lcConnection,1,';') + lcUser = GETWORDNUM(lcConnection,2,';') + lcPassword = GETWORDNUM(lcConnection,3,';') + + X= SQLCONNECT(lcHost, lcUser, lcPassword) + IF X < 0 + AERROR(laErr) + MESSAGEBOX(laErr(3)) + RETURN + ENDIF + + lnSucces = SQLEXEC(X, lcSelect, lcCursor) + IF lnSucces < 0 + AERROR(laErr) + MESSAGEBOX(laErr(3)) + ELSE + lcSchema = "" + lcSelect = "" + + SELECT (lcCursor) + SCAN + DO CASE + CASE DATA_TYPE = 'NUMBER' + lcItemSchema = 'N(' + ALLTRIM(STR(MIN(NVL(DATA_PRECISION,DATA_LENGTH), 20))) + ; + IIF(NVL(DATA_SCALE,0) = 0, ')', ',' + ALLTRIM(STR(DATA_SCALE)) + ')') + CASE DATA_TYPE = 'DATE' + lcItemSchema = IIF('DATAORA'$COLUMN_NAME, 'T', 'D') + CASE DATA_TYPE = 'VARCHAR2' + lcItemSchema = IIF(NVL(DATA_LENGTH,0) > 254, 'M', 'V(' + ALLTRIM(STR(NVL(DATA_LENGTH,0))) + ')') + CASE DATA_TYPE = 'CHAR' + lcItemSchema = IIF(NVL(DATA_LENGTH,0) > 254, 'M', 'C(' + ALLTRIM(STR(NVL(DATA_LENGTH,0))) + ')') + OTHERWISE + lcItemSchema = 'M' + ENDCASE + lcSchema = lcSchema + ALLTRIM(COLUMN_NAME) + ' ' + lcItemSchema + IIF(tlNull, IIF(NULLABLE = 'N',' NOT NULL',' NULL'), '') + ',' + lcSelect = lcSelect + ALLTRIM(COLUMN_NAME) + ',' + ENDSCAN + IF !EMPTY(lcItemSchema) + lcSchema = LEFT(lcSchema , LEN(lcSchema )-1) + lcSelect = LEFT(lcSelect , LEN(lcSelect )-1) + ENDIF + + USE IN SELECT(lcCursor) + +&& FORMATARE TEXT - 250 CARACTERE PE RAND + IF UPPER(ALLTRIM(TRANSFORM(tcFormat))) = 'FOX' + lcSelect = format_fox(lcSelect, tnMaxCharFormat, tcPrefix, tcSufix) + lcSchema = format_fox(lcSchema, tnMaxCharFormat, tcPrefix, tcSufix) + ENDIF && UPPER(tcFormat) = 'FOX' + + _CLIPTEXT = ALLTRIM(lcSelect) + CHR(13) + CHR(10) + ALLTRIM(lcSchema) + loReturn.cSelect = ALLTRIM(lcSelect) + loReturn.cSchema = ALLTRIM(lcSchema) + + ENDIF + + SQLDISCONNECT(X) + WAIT WINDOW 'Schema este in Clipboard' NOWAIT + ENDIF +ENDIF + +RETURN loReturn + + +PROCEDURE format_fox + LPARAMETERS tcText, tnMaxCharFormat, tcPrefix, tcSufix + + LOCAL lcText, lcGrupa, lcRezultat + lcRezultat = "" + lcText = tcText + + IF PCOUNT() < 2 OR EMPTY(tnMaxCharFormat) OR TYPE('tnMaxCharFormat') <> 'N' + tnMaxCharFormat = 250 + ENDIF + + tnMaxCharFormat = MIN(tnMaxCharFormat, 250) + IF PCOUNT() < 3 OR TYPE('tcPrefix') <> 'C' OR EMPTY(tcPrefix) + tcPrefix = "[" + ENDIF + + IF PCOUNT() < 4 OR TYPE('tcSufix') <> 'C' OR EMPTY(tcSufix) + tcSufix = " ] + ;" + ENDIF + + + DO WHILE LEN(lcText) > tnMaxCharFormat + lcGrupa = LEFT(lcText, tnMaxCharFormat) + lnAt = RAT(',', lcGrupa) + lcGrupa = LEFT(lcGrupa, lnAt) + lcRezultat = lcRezultat + tcPrefix + lcGrupa + tcSufix + CRLF + lcText = SUBSTR(lcText, lnAt+1) + ENDDO + IF LEN(lcText) > 0 + lcRezultat = lcRezultat + tcPrefix + lcText + tcSufix + CRLF + ENDIF + + RETURN lcRezultat +ENDPROC && format_fox diff --git a/programe/gridproc.prg b/programe/gridproc.prg new file mode 100644 index 0000000..ef68dc6 --- /dev/null +++ b/programe/gridproc.prg @@ -0,0 +1,9 @@ +PROCEDURE ALL + SET FILTER TO +ENDPROC + +PROCEDURE custom_filter + RETURN + osearchform=CREATEOBJECT("searchform") + osearchform.SHOW() +ENDPROC diff --git a/programe/import_efactura.prg b/programe/import_efactura.prg new file mode 100644 index 0000000..30e81cc --- /dev/null +++ b/programe/import_efactura.prg @@ -0,0 +1,229 @@ +* ointroduceri_efactura.prg + +*!* 13.08.2024 +*!* vizImportEFactura + discountfaratva + +Procedure importEfacturaPrimite + DO vizImportEFactura WITH 'PRIMITE' +ENDPROC + +PROCEDURE importEfacturaTrimise + DO vizImportEFactura WITH 'TRIMISE' +ENDPROC + +PROCEDURE vizImportEFactura + LPARAMETERS tcTip + * tcTIP: PRIMITE/TRIMISE + + Private poFacturi, poFacturiDetalii + Local loFrmFacturi As "frm_efactura_import", lcTip, llPrimite + Local lcData1, lcFiltru, lcFiltruOriginal, lcOrder, lcSchema, lcgroup, llAfiseaza, llModParam + poFacturi = Null + poFacturiDetalii = Null + + lcTip = IIF(TYPE('tcTip') = 'C' and !EMPTY(m.tcTip), UPPER(ALLTRIM(m.tcTip)), 'PRIMITE') + llPrimite = (m.lcTip = 'PRIMITE') + + lcTabel = IIF(m.lcTip = 'PRIMITE', 'anaf_vefactura_primit', 'anaf_vefactura_trimis') + +* FACTURI PRIMITE/TRIMISE + lcData1 = '01' + Padl(Int(m.gnLuna),2,'0') + Alltrim(Str(m.gnAn)) + TEXT To lcSchema Noshow +ales N(1), id N(20), id_fact N(20), data_act D, data_scad D, numar_act C(30), xfurnizor C(200), xclient C(200), partener C(200), id_incarcare C(36), id_descarcare c(36) null, tip_mesaj_raspuns C(50) null,mesaj_raspuns C(250) null, data_raspuns D null, trimis N(1) null, data_trimis T null, cod_fiscal C(30) null, cod_fiscal_emitent C(30) null, cod_fiscal_beneficiar C(30) null, detalii M null, total_fara_tva N(16,4), total_tva N(16,4), total_tva_ron N(16,4), total_cu_tva N(16,4), discount_fara_tva N(16,4), taxe_fara_tva N(16,4), valoare_fara_tva N(16,4), total_de_plata N(16,4), nume_valuta C(5), test N(1) null, jtotctva N(16,4), descriere M null, detalii_plata M null, diferenta N(16,4), procesat N(1), SerieActRoa V(10) Null, NrActRoa N(14) Null, IdPartRoa N(10) Null, PartenerRoa V(100) null, codFiscalROA V(20), idValutaROA N(5) null,numeValutaROA V(5) null, cursROA N(16,6) null,Cont c(4) Null,ACont c(4) Null,TVAIncasare N(1),Fdoc V(20) null,Id_Fdoc N(5) Null,Nrord V(100) null,Id_Lucrare I Null,Contract V(100) Null,Id_Ctr I Null,Sectie V(100) null,Id_Sectie I Null,dst_chlt V(100) null, Id_venchelt I NUll, nresp V(100) null, Id_responsabil I NUll , completat N(1), completatdet N(1), creditnote N(1), explicatiaROA V(100) null + ENDTEXT + + TEXT To lcSelect TEXTMERGE Noshow +SELECT 0 as ales, id, id_fact, data_act, data_scad, numar_act, xfurnizor, xclient, partener, id_incarcare, id_descarcare, tip_mesaj_raspuns, mesaj_raspuns, data_raspuns, NVL(trimis,0) as trimis, data_trimis, cod_fiscal, cod_fiscal_emitent, cod_fiscal_beneficiar, '' as detalii, total_fara_tva, total_tva, total_tva_ron, total_cu_tva, discount_fara_tva, taxe_fara_tva, valoare_fara_tva, total_de_plata, nume_valuta, test, jtotctva, descriere, detalii_plata, NVL(total_cu_tva, 0.00)-NVL(jtotctva, 0.00) as diferenta, procesat, + '' as SerieActRoa, CAST(null as Number(14)) as NrActRoa, CAST(null as Number(20)) as idPartRoa, '' as PartenerRoa, '' as codFiscalROA, CAST(null as Number(10)) as idValutaROA, '' as numeValutaROA, CAST(null as Number(16,6)) as cursROA, + '' as Cont, '' as acont, 0 as TVAIncasare, '' as Fdoc, CAST(0 as Number(5)) as Id_Fdoc, '' as Nrord, CAST(0 as Number(10)) as id_Lucrare, '' as Contract, CAST(null as Number(10)) as id_ctr, + '' Sectie, CAST(0 as Number(10)) as id_Sectie, '' as dst_chlt, CAST(0 as Number(10)) as id_Venchelt, '' as nresp, CAST(0 as Number(10)) as id_responsabil, 0 as completat, 0 as completatdet, creditnote, '' as explicatiaROA + FROM <> + ENDTEXT + + lcOrder = [data_act,numar_act,data_raspuns] + lcgroup = [] + lcFiltru = [(extract(year from data_act) = ?gnAn and extract(month from data_act) = ?gnLuna) or (data_act is null and data_raspuns >= to_date('] + m.lcData1 + [','ddmmyyyy'))] + lcFiltruOriginal = [] + llModParam = .T. + llAfiseaza = .F. + + gencursor('poFacturi', 'crsFacturi', lcSelect, lcFiltru, lcSchema, lcOrder, llAfiseaza, lcgroup, llModParam, lcFiltruOriginal) + poFacturi.ca_baza1.afisare() + Select crsFacturi + Go Top + +* DETALII FACTURI PRIMITE/TRIMISE/EMISE + TEXT To lcSchema Noshow +distribuie N(1), id_tip N(10) null, id_articol N(20) null, id_gestiune N(20) null, cont C(4) null, acont C(4) null, id N(20), id_efactura N(20), nr N(5), articol V(250), descriere V(250), detalii M, cantitate N(18,6), um V(20), um_iso V(50), um_roa V(50), pret N(20,6), proctva N(7,2), tiptva V(2), valoarefaratva N(20,6), discountfaratva N(20,6), in_stoc N(1), articol_roa V(250), codmat_roa V(50), codbare V(50), codclient V(100), codfurnizor V(100), codcpv V(50), codnc8 V(50), nume_gestiune V(50), cgest V(20), tva N(20,6), pretv N(20,6), tvav N(20,6), pretvtva N(20,6) + ENDTEXT + TEXT To lcSelect Noshow +select 0 as distribuie, CAST(0 as number(10)) as id_tip, id_articol, id_gestiune, cont, acont, id, id_efactura, nr, articol, descriere, detalii, cantitate, um, um_iso, um_roa, pret, proctva, tiptva, valoarefaratva, discountfaratva, in_stoc, articol_roa, codmat_roa, codbare, codclient, codfurnizor, codcpv, codnc8, nume_gestiune, cgest, 0 as tva, 0 as pretv, 0 as tvav, 0 as pretvtva from anaf_vefactura_detalii + ENDTEXT + lcOrder = [nr] + lcgroup = [] + lcFiltru = [1=2] && IIF(!EMPTY(NVL(crsFacturiPrimite.id,0)), [id_efactura=] + ALLTRIM(STR(crsFacturiPrimite.id)), [1=2]) + lcFiltruOriginal = [] + llModParam = .T. + llAfiseaza = .F. + + * In acest cursor se iau doar detaliile pentru factura curenta + gencursor('poFacturiDetalii', 'crsDetaliiFacturiTemp', lcSelect, lcFiltru, lcSchema, lcOrder, llAfiseaza, lcgroup, llModParam, lcFiltruOriginal) + poFacturiDetalii.ca_baza1.afisare() + + * In acest cursor se vor adauga detaliile de la factura curenta, daca nu exista + * Acest cursor se foloseste in formular + SELECT * FROM crsDetaliiFacturiTemp INTO CURSOR crsDetaliiFacturi READWRITE + + * Cursoare helper + CREATE CURSOR cTipArticoleP (id I, in_stoc N(1), tip V(50), cont V(4), ordine I) + INSERT INTO cTipArticoleP (id, tip, cont, in_stoc, ordine) VALUES (0, 'Nedefinit','', 0, 0) + INSERT INTO cTipArticoleP (id, tip, cont, in_stoc, ordine) VALUES (1, 'Mat. nestoc.','604', 0, 1) + INSERT INTO cTipArticoleP (id, tip, cont, in_stoc, ordine) VALUES (2, 'Energie','6051', 0, 2) + INSERT INTO cTipArticoleP (id, tip, cont, in_stoc, ordine) VALUES (3, 'Apa','6052', 0, 3) + INSERT INTO cTipArticoleP (id, tip, cont, in_stoc, ordine) VALUES (4, 'Gaze','6053', 0, 4) + INSERT INTO cTipArticoleP (id, tip, cont, in_stoc, ordine) VALUES ( 5, 'Chirii','6123', 0, 5) + INSERT INTO cTipArticoleP (id, tip, cont, in_stoc, ordine) VALUES (6, 'Colaboratori','621', 0, 6) + INSERT INTO cTipArticoleP (id, tip, cont, in_stoc, ordine) VALUES (7, 'Comisioane','622', 0, 7) + INSERT INTO cTipArticoleP (id, tip, cont, in_stoc, ordine) VALUES (8, 'Protocol','623', 0, 8) + INSERT INTO cTipArticoleP (id, tip, cont, in_stoc, ordine) VALUES (9, 'Transp. bunuri/pers.','624', 0, 9) + INSERT INTO cTipArticoleP (id, tip, cont, in_stoc, ordine) VALUES (10, 'Deplasari','625', 0, 10) + INSERT INTO cTipArticoleP (id, tip, cont, in_stoc, ordine) VALUES (11, 'Posta/telecom.','626', 0, 11) + INSERT INTO cTipArticoleP (id, tip, cont, in_stoc, ordine) VALUES (12, 'Terti','628', 0, 12) + INSERT INTO cTipArticoleP (id, tip, cont, in_stoc, ordine) VALUES (13, 'Altele','461', 0, 13) + INSERT INTO cTipArticoleP (id, tip, cont, in_stoc, ordine) VALUES (14, '-----------------','', 0, 14) + INSERT INTO cTipArticoleP (id, tip, cont, in_stoc, ordine) VALUES (15, 'Marfuri','371', 1, 15) + INSERT INTO cTipArticoleP (id, tip, cont, in_stoc, ordine) VALUES (16, 'Materii prime','301', 1, 16) + INSERT INTO cTipArticoleP (id, tip, cont, in_stoc, ordine) VALUES (17, 'Materiale auxiliare','3021', 1, 17) + INSERT INTO cTipArticoleP (id, tip, cont, in_stoc, ordine) VALUES (18, 'Ambalaje','381', 1, 18) + INSERT INTO cTipArticoleP (id, tip, cont, in_stoc, ordine) VALUES (19, 'Obiecte de inventar','303', 1, 19) + INSERT INTO cTipArticoleP (id, tip, cont, in_stoc, ordine) VALUES (20, 'Amenajari provizorii','323', 1, 20) + INSERT INTO cTipArticoleP (id, tip, cont, in_stoc, ordine) VALUES (21, 'Mat. spre prelucrare','8032', 1, 21) + INSERT INTO cTipArticoleP (id, tip, cont, in_stoc, ordine) VALUES (22, 'Mat. in pastrare/consig.','8033', 1, 22) + INSERT INTO cTipArticoleP (id, tip, cont, in_stoc, ordine) VALUES (23, 'Discount financiar intrari','767', 0, 23) + INSERT INTO cTipArticoleP (id, tip, cont, in_stoc, ordine) VALUES (24, 'Combustibili','3022', 1, 24) + INSERT INTO cTipArticoleP (id, tip, cont, in_stoc, ordine) VALUES (25, 'Piese de schimb','3024', 1, 25) + INSERT INTO cTipArticoleP (id, tip, cont, in_stoc, ordine) VALUES (26, 'Alte mat. consumabile','3028', 1, 26) + INSERT INTO cTipArticoleP (id, tip, cont, in_stoc, ordine) VALUES (27, 'Discount comercial intrari','609', 0, 27) + INSERT INTO cTipArticoleP (id, tip, cont, in_stoc, ordine) VALUES (28, 'Ambalaje SGR','461', 0, 28) + + SELECT cTipArticoleP + GO TOP IN cTipArticoleP + INDEX on ordine TAG ordine + + CREATE CURSOR cTipArticoleE (id I, in_stoc N(1), tip V(50), cont V(4), ordine I) + INSERT INTO cTipArticoleE (id, tip, cont, in_stoc, ordine) VALUES (0, 'Nedefinit','', 0, 0) + INSERT INTO cTipArticoleE (id, tip, cont, in_stoc, ordine) VALUES (29, 'Marfuri','707', 1, 1) + INSERT INTO cTipArticoleE (id, tip, cont, in_stoc, ordine) VALUES (30, 'Produse finite','701', 1, 2) + INSERT INTO cTipArticoleE (id, tip, cont, in_stoc, ordine) VALUES (31, 'Produse reziduale','703', 1, 3) + INSERT INTO cTipArticoleE (id, tip, cont, in_stoc, ordine) VALUES (32, 'Semifabricate','702', 1, 4) + INSERT INTO cTipArticoleE (id, tip, cont, in_stoc, ordine) VALUES (33, 'Discount financiar iesiri','667', 0, 5) + INSERT INTO cTipArticoleE (id, tip, cont, in_stoc, ordine) VALUES (34, 'Servicii vandute','704', 0, 6) + INSERT INTO cTipArticoleE (id, tip, cont, in_stoc, ordine) VALUES (35, 'Discount comercial iesiri','709', 0, 7) + INSERT INTO cTipArticoleE (id, tip, cont, in_stoc, ordine) VALUES (36, 'Ambalaje SGR','461', 0, 8) + + SELECT cTipArticoleE + GO TOP IN cTipArticoleE + INDEX on ordine TAG ordine + + IF m.llPrimite + SELECT id, tip, cont, in_stoc, ordine FROM cTipArticoleP ORDER BY ordine INTO CURSOR cTip + ELSE + SELECT id, tip, cont, in_stoc, ordine FROM cTipArticoleE ORDER BY ordine INTO CURSOR cTip + ENDIF + SELECT cTip + INDEX on id TAG id + +*!* llSucces = goExecutor.oExecuta("select id_articol, denumire, codmat from vnom_articole where inactiv = 0", 'cArticole') + +*!* SELECT cArticole +*!* INDEX on id_articol TAG id_articol + + llSucces = goExecutor.oExecuta([select distinct nume_gestiune,cgest,id_gestiune,nr_pag,cont from vgest_gestiuni_util where inactiv = 0 and id_util = ] + Alltrim(Str(m.gnIdUtil)), 'cGestiuni') + SELECT cGestiuni + APPEND BLANK + INDEX on id_gestiune TAG id_gest + + select cast(alltrim(nume_gestiune) + '-' + alltrim(nvl(cgest, '')) as V(50)) as nume_gestiune, id_gestiune from cGestiuni order by nume_gestiune into cursor cGestiuni2 + + llSucces = goExecutor.oExecuta("select cod_um_iso, um_iso from syn_vnom_um_iso", 'cUMISO') + SELECT cUMISO + INDEX on cod_um_iso TAG cod_um_iso + + llSucces = goExecutor.oExecuta("select id, um, cod_um_iso, um_iso from vnom_um", 'cUM') + SELECT cUM + INDEX on id TAG id + + Select crsFacturi + loFrmFacturi = Createobject("frm_import_efactura", m.llPrimite) + * Do Form frm_import_efactura Name loFrmFacturi Linked With m.llPrimite Noshow + + loFrmFacturi.Show(1) + + Use In (Select('crsFacturi')) + Use In (Select('crsDetaliiFacturi')) + USE IN (SELECT('crsDetaliiFacturiTemp')) + Use In (Select('cTip')) + Use In (Select('cArticole')) + Use In (Select('cGestiuni')) + Use In (Select('cGestiuni2')) + Use In (Select('cTip')) + Use In (Select('cTipArticoleP')) + Use In (Select('cTipArticoleE')) +Endproc && vizFacturiPrimite + +********************** +* Completez anaf_efactura_detalii.id_articol la importul eFactura +********************** +PROCEDURE UpdateEFacturaArticolROA + LPARAMETERS tnIdEFactura + + Local lcSql, llSucces, lcSelect + PRIVATE pnIdArticol, pnId, pnIdGestiune, pcCont + + lcSelect = SELECT() + lcSql = "update anaf_efactura_detalii set id_articol = ?pnIdArticol, id_gestiune = ?pnIdGestiune, cont = ?pcCont, acont = ?pcAcont where id = ?pnId" + llSucces = .T. + + SELECT id, id_articol, id_gestiune, cont, acont FROM crsDetaliiFacturi INTO CURSOR cArticoleTemp + + SELECT cArticoleTemp + SCAN + pnId = id + pnIdArticol = IIF(EMPTY(NVL(id_articol, 0)), NULL, id_articol) + pnIdGestiune = IIF(EMPTY(NVL(id_gestiune, 0)), null, id_gestiune) + pcCont = ALLTRIM(NVL(cont, '')) + pcAcont = ALLTRIM(NVL(acont, '')) + + llSucces = goExecutor.oExecuta(m.lcSql) + IF !m.llSucces + EXIT + ENDIF + ENDSCAN + + USE IN (SELECT('cArticoleTemp')) + SELECT (m.lcSelect) + + RETURN m.llSucces +ENDPROC && UpdateEFacturaArticolROA + +********************** +* Completez anaf_efactura_detalii.id_fact la importul eFactura achizitie +********************** +PROCEDURE UpdateEFacturaIdFact + LPARAMETERS tnIdEFactura, tnIdFact + + Local lcSql, llSucces, lcSelect + PRIVATE pnId, pnIdFact + + lcSelect = SELECT() + lcSql = "update anaf_efactura set id_fact = ?pnIdFact where id = ?pnId and NVL(id_fact,0) = 0" + llSucces = .T. + pnId = m.tnIdEfactura + pnIdFact = m.tnIdFact + + llSucces = goExecutor.oExecuta(m.lcSql) + + SELECT (m.lcSelect) + + RETURN m.llSucces +ENDPROC && UpdateEFacturaIdFact \ No newline at end of file diff --git a/programe/importfromxlsx.prg b/programe/importfromxlsx.prg new file mode 100644 index 0000000..e1ee1a3 --- /dev/null +++ b/programe/importfromxlsx.prg @@ -0,0 +1,1393 @@ +* Version 5.0 +LPARAMETERS lcFileName,lnStartRows,lcSheet,llCursor,llEmptyCells,lnHeader,lcTableName +* Parameters +* lcFileName name of the xlsx + * nom de xlsx + * numele xlsx-ului +* lnStartRows starting row (the first lnStartRows - 1 rows are skipped) ; optional ; default 1 (all rows) + * a partir rangée (les premiers lnStartRows - 1 lignes sont passées) ; optionnel ; défaut 1 (tous les champs lignes) + * primul rand (primele lnStartRows - 1 randuri ale tabelului din docx sunt omise); optional; implicit 1 (toate randurile) +* lcSheet sheet name | number ; optional ; default '' + * nom | nomber de la feuille ; optionnel ; défaut '' + * numele |numarul foii ; optional ; implicit '' +* llCursor when .T., the result is a cursor instead of a DBF ; optional ; default .F. + * lorsque .T, le résultat est un cursor au lieu d'un DBF; optionnel; défaut .F. + * cand este .T., rezultatul este un cursor si nu un DBF; optional; implicit .F. +* llEmptyCells when .T., the source contains empty cells (slower import); optional ; default .F. + * lorsque .T., la source contient des cellules vides (d'importation plus lent); optionnel ; défaut .F. + * cand este .T., documentul sursa contine celule goale (importul este mai lent); optional; implicit .F. +* lnHeader the row that contains column headers (lnHeader < lnStartRows); optional ; default 0 + * nombre de la ligne d'en-tête (lnHeader < lnStartRows); optionnel ; défaut 0 + * linia care contine antetele coloanelor (lnHeader < lnStartRows); optional; implicit 0 +* lcTableName name of the dbf / cursor; optional ; default '' (? for SaveAs - only for table) + * nom de dbf / cursor ; optionnel ; défaut '' (? pour SaveAs) + * numele dbf-ului / cursor; optional ; implicit '' (? pentru SaveAs - doar pentru tabele) +DECLARE Sleep IN WIN32API INTEGER +DECLARE INTEGER ShellExecute IN shell32.dll INTEGER , STRING , STRING , STRING , STRING , INTEGER +#DEFINE ERRLANG "Ro" +#IF ERRLANG = "Ro" + #DEFINE ERRMESS0 "Eroare" + #DEFINE ERRMESS1 "Nimic de importat" + #DEFINE ERRMESS3 "Foaie inexistenta" + #DEFINE ERRMESS4 "Eroare la deschiderea" + #DEFINE ERRMESS5 "Prea multe coloane" +#ELIF ERRLANG = "Fr" + #DEFINE ERRMESS0 "Erreur" + #DEFINE ERRMESS1 "Rien a ajouter" + #DEFINE ERRMESS3 "Feuille introuvable" + #DEFINE ERRMESS4 "Erreur d'ouverture" + #DEFINE ERRMESS5 "Trop de collones" +#ELIF ERRLANG = "Nl" && Koen Piller + #DEFINE ERRMESS0 "Fout" + #DEFINE ERRMESS1 "Niets te importeren" + #DEFINE ERRMESS3 "Blad niet gevonden" + #DEFINE ERRMESS4 "Fout bij openen" + #DEFINE ERRMESS5 "Te veel kolommen" +#ELSE + #DEFINE ERRMESS0 "Error" + #DEFINE ERRMESS1 "Nothing to append" + #DEFINE ERRMESS3 "Sheet not found" + #DEFINE ERRMESS4 "Error opening" + #DEFINE ERRMESS5 "Too many columns" +#ENDIF +*************************************************************** +* If you prefer to extract files with Winrar, uncomment this +*************************************************************** +*#DEFINE archiveWinRar .T. + +LOCAL lcDir,cCurStr,lSetTalk,lnColsNo,laFields[1],laEmptyCells[1],llChars,lnSelect,lcDBF,laFiles[1],cCurStyle,lcCur,laDimRef[2,2],lcStrBad,llServer +lcStrBad = '' +llServer = OS(11) > '1' +FOR lni = 0 TO 31 + IF !INLIST(m.lni,9,10,13) + lcStrBad = m.lcStrBad + CHR(m.lni) + ENDIF +NEXT +lnSelect = SELECT(0) + +IF PCOUNT() < 1 + MESSAGEBOX(ERRMESS1,16,ERRMESS0) + RETURN +ELSE + IF VARTYPE(m.lcFileName) $ "CV" + lcFileName = FORCEEXT(m.lcFileName,"xlsx") + IF !FILE(m.lcFileName) + MESSAGEBOX(ERRMESS1,16,ERRMESS0) + RETURN + ENDIF + ELSE + MESSAGEBOX(ERRMESS1,16,ERRMESS0) + RETURN + ENDIF +ENDIF +IF PCOUNT() < 2 + lnStartRows = 1 +ELSE + IF VARTYPE(m.lnStartRows) <> "N" + lnStartRows = 1 + ENDIF +ENDIF +IF PCOUNT()<3 + lcSheet = "" +ELSE + IF NOT (VARTYPE(m.lcSheet) $ "CN") + lcSheet = "" + ENDIF +ENDIF +IF PCOUNT() < 4 + llCursor = .F. +ELSE + IF VARTYPE(m.llCursor) <> "L" + llCursor = .F. + ENDIF +ENDIF +IF PCOUNT() < 5 + llEmptyCells = .F. +ELSE + IF VARTYPE(m.llEmptyCells) <> "L" + llEmptyCells = .F. + ENDIF +ENDIF +IF PCOUNT() < 6 + lnHeader = 0 +ELSE + IF VARTYPE(m.lnHeader) <> "N" + lnHeader = 0 + ENDIF +ENDIF +IF m.lnHeader >= m.lnStartRows + lnHeader = 0 +ENDIF + +IF PCOUNT() < 7 + lcTableName = '' +ELSE + IF NOT VARTYPE(m.lcFileName) $ "CV" + lcTableName = '' + ENDIF +ENDIF + +lSetTalk = SET("Talk") +SET TALK OFF + +lcDir = extract(m.lcFileName,m.llServer) +lcDBF = "" + +lcSheet = get_sheet(ADDBS(m.lcDir) + "workbook.xml",m.lcSheet) +IF EMPTY(m.lcSheet) + MESSAGEBOX(ERRMESS3,16,'Error') + cleanup(m.lcDir,m.llServer) + SET TALK &lSetTalk + SELECT (m.lnSelect) + RETURN m.lcDBF +ENDIF + +llChars = ADIR(laFiles,ADDBS(m.lcDir) + "sharedStrings.xml") > 0 +IF m.llChars + cCurStr = get_strings(ADDBS(m.lcDir) + "sharedStrings.xml") + IF EMPTY(m.cCurStr) + cleanup(m.lcDir,m.llServer) + SET TALK &lSetTalk + SELECT (m.lnSelect) + RETURN m.lcDBF + ENDIF +ELSE + cCurStr = '' +ENDIF + +cCurStyle = get_styles(ADDBS(m.lcDir) + "styles.xml") +IF EMPTY(m.cCurStyle) + cleanup(m.lcDir,m.llServer) + IF USED(m.cCurStr) + USE IN (m.cCurStr) + ENDIF + SET TALK &lSetTalk + SELECT (m.lnSelect) + RETURN m.lcDBF +ENDIF + +IF m.llServer + lcCur = gen_table(ADDBS(ADDBS(m.lcDir) + 'worksheets') + FORCEEXT(m.lcSheet,"xml"),@lnStartRows,m.lcSheet,@lnColsNo,@laFields,m.cCurStyle,m.llEmptyCells,@laEmptyCells,m.lnHeader,m.cCurStr,m.llCursor,@laDimRef) +ELSE + lcCur = gen_table(ADDBS(m.lcDir) + FORCEEXT(m.lcSheet,"xml"),@lnStartRows,m.lcSheet,@lnColsNo,@laFields,m.cCurStyle,m.llEmptyCells,@laEmptyCells,m.lnHeader,m.cCurStr,m.llCursor,@laDimRef) +ENDIF + +IF EMPTY(m.lcCur) + cleanup(m.lcDir,m.llServer) + IF USED(m.cCurStr) + USE IN (m.cCurStr) + ENDIF + IF USED(m.cCurStyle) + USE IN (m.cCurStyle) + ENDIF + SET TALK &lSetTalk + SELECT (m.lnSelect) + RETURN m.lcDBF +ENDIF + +IF m.llServer + lcDBF = get_cells(ADDBS(ADDBS(m.lcDir) + 'worksheets') + FORCEEXT(m.lcSheet,"xml"),@lcCur,m.cCurStr,m.lnColsNo,@laFields,m.lnStartRows,m.lcFileName,m.llCursor,m.llEmptyCells,m.cCurStyle,@laEmptyCells,@laDimRef,m.lcTableName) +ELSE + lcDBF = get_cells(ADDBS(m.lcDir) + FORCEEXT(m.lcSheet,"xml"),@lcCur,m.cCurStr,m.lnColsNo,@laFields,m.lnStartRows,m.lcFileName,m.llCursor,m.llEmptyCells,m.cCurStyle,@laEmptyCells,@laDimRef,m.lcTableName) +ENDIF + +cleanup(m.lcDir,m.llServer) +SET TALK &lSetTalk +SELECT (m.lnSelect) +IF USED(m.cCurStr) + USE IN (m.cCurStr) +ENDIF +IF USED(m.cCurStyle) + USE IN (m.cCurStyle) +ENDIF +IF USED(m.lcCur) + USE IN (m.lcCur) +ENDIF +RETURN m.lcDBF + +********************* +* Extract xml files * +********************* +FUNCTION extract + LPARAMETERS lcFileName,llServer + LOCAL lcDir,lcZip,oShell,ofile,loErr as Exception,lcSetSaf,lni,lnFF,laDir[1],lnDir,lnDir0 + lcDir = ADDBS(SYS(2023)) + SYS(2015) + lcZip = FORCEEXT(m.lcDir,'.zip') + COPY FILE (m.lcFileName) TO (m.lcZip) + MD (m.lcDir) +*************************** +* Use Winrar +*************************** +#IFDEF archiveWinRar + ShellExecute(0,"open","WinRAR.exe","E " + m.lcZip + " xl\sharedStrings.xml " + m.lcDir,"",1) + IF ADIR(laDir,ADDBS(m.lcDir) + "sharedStrings*.xml") > 0 + lnFF = FOPEN(ADDBS(m.lcDir) + "sharedStrings.xml") + DO WHILE m.lnFF < 0 + sleep(50) + lnFF = FOPEN(ADDBS(m.lcDir) + "sharedStrings.xml") + ENDDO + FCLOSE(m.lnFF) + ENDIF + ShellExecute(0,"open","WinRAR.exe","E " + m.lcZip + " xl\workbook.xml " + m.lcDir,"",1) + lnFF = FOPEN(ADDBS(m.lcDir) + "workbook.xml") + DO WHILE m.lnFF < 0 + sleep(50) + lnFF = FOPEN(ADDBS(m.lcDir) + "workbook.xml") + ENDDO + FCLOSE(m.lnFF) + ShellExecute(0,"open","WinRAR.exe","E " + m.lcZip + " xl\styles.xml " + m.lcDir,"",1) + lnFF = FOPEN(ADDBS(m.lcDir) + "styles.xml") + DO WHILE m.lnFF < 0 + sleep(50) + lnFF = FOPEN(ADDBS(m.lcDir) + "styles.xml") + ENDDO + FCLOSE(m.lnFF) + ShellExecute(0,"open","WinRAR.exe","E " + m.lcZip + " xl\worksheets\sheet*.xml " + m.lcDir,"",1) + lnDir0 = 0 + lnDir = ADIR(laDir,ADDBS(m.lcDir ) + "sheet*.xml") + + DO WHILE (m.lnDir <> m.lnDir0) OR (m.lnDir = 0) + FOR lni = 1 TO m.lnDir + lnFF = FOPEN(ADDBS(m.lcDir) + m.laDir[m.lni,1]) + DO WHILE m.lnFF < 0 + sleep(50) + lnFF = FOPEN(ADDBS(m.lcDir) + m.laDir[m.lni,1]) + ENDDO + FCLOSE(m.lnFF) + NEXT + lnDir0 = m.lnDir + lnDir = ADIR(laDir,ADDBS(m.lcDir ) + "sheet*.xml") + ENDDO +*************************** +* Use Explorer +*************************** +#ELSE + oShell = CREATEOBJECT("shell.application") + TRY + FOR lni = 0 TO m.oShell.NameSpace(ADDBS(m.lcZip)+'xl').items.count - 1 + ofile = m.oShell.NameSpace(ADDBS(m.lcZip)+'xl').items.item(m.lni) + lcFileName = JUSTFNAME(m.ofile.path) + IF INLIST(LOWER(m.lcFileName),'sharedstrings.xml','workbook.xml','styles.xml') + oShell.NameSpace( m.lcDir).copyhere( m.ofile) + lnFF = FOPEN(ADDBS(m.lcDir) + m.lcFileName) + DO WHILE m.lnFF < 0 + sleep(50) + lnFF = FOPEN(ADDBS(m.lcDir) + m.lcFileName) + ENDDO + FCLOSE(m.lnFF) + ENDIF + ENDFOR + IF m.llServer + FOR lni = 0 TO m.oShell.NameSpace(ADDBS(m.lcZip)+'xl').items.count - 1 + ofile = m.oShell.NameSpace(ADDBS(m.lcZip)+'xl').items.item(m.lni) + lcFileName = JUSTFNAME(m.ofile.path) + IF INLIST(JUSTSTEM(m.lcFileName),'worksheets') + oShell.NameSpace( m.lcDir).copyhere( m.ofile) + sleep(500) + EXIT + ENDIF + ENDFOR + ELSE + FOR lni = 0 TO m.oShell.NameSpace(ADDBS(m.lcZip)+'xl\worksheets').items.count - 1 + ofile = m.oShell.NameSpace(ADDBS(m.lcZip)+'xl\worksheets').items.item(m.lni) + IF LOWER(LEFT(m.ofile.name,5)) == 'sheet' + oShell.NameSpace( m.lcDir).copyhere( m.ofile) + lcFileName = JUSTFNAME(m.ofile.path) + lnFF = FOPEN(ADDBS(m.lcDir) + m.lcFileName) + DO WHILE m.lnFF < 0 + sleep(50) + lnFF = FOPEN(ADDBS(m.lcDir) + m.lcFileName) + ENDDO + FCLOSE(m.lnFF) + ENDIF + ENDFOR + ENDIF + CATCH TO loErr + ENDTRY +#ENDIF +RETURN lcDir + +**************** +* Read strings * +**************** +FUNCTION get_strings + LPARAMETERS lcStr + LOCAL cCurStr,lnF,lnPosSiSeek,lcBuff,lnPosSi,lnPosSi2,lcMemo,lcReturn,lnTextPiece,lcTextPiece,lcVal + STORE SYS(2015) TO lcReturn, cCurStr + CREATE CURSOR (m.cCurStr) (cStr M) + lnF = FOPEN(m.lcStr) + IF m.lnF >= 0 + lnPosSiSeek = 0 + DO WHILE !FEOF(m.lnF) + lcBuff = FREAD(m.lnF,8192) + lnPosSi = AT('',m.lcBuff) + lnPosSiSeek = m.lnPosSiSeek + m.lnPosSi + 3 + = FSEEK(m.lnF,m.lnPosSiSeek) + lcBuff = FREAD(m.lnF,8192) + lnPosSi2 = AT('',m.lcBuff) + lcMemo = '' + DO WHILE !FEOF(m.lnF) AND m.lnPosSi2 = 0 + lcMemo = m.lcMemo + m.lcBuff + lcBuff = FREAD(m.lnF,8192) + lnPosSi2 = AT('',m.lcMemo) + ENDDO + IF m.lnPosSi2 != 0 + lcMemo = m.lcMemo + LEFT(m.lcBuff,m.lnPosSi2 - 1) + lnPosSiSeek = m.lnPosSiSeek + m.lnPosSi2 + 4 + lnPosSi = FSEEK(m.lnF,m.lnPosSiSeek) + lcVal = "" + STORE 1 TO lnTextPiece + lcTextPiece = STREXTRACT(m.lcMemo,'') + DO WHILE !EMPTY(m.lcTextPiece) + lcVal = m.lcVal + STREXTRACT(m.lcTextPiece,[>]) + lnTextPiece = m.lnTextPiece + 1 + lcTextPiece = STREXTRACT(m.lcMemo,'',m.lnTextPiece) + ENDDO + INSERT INTO (m.cCurStr) (cStr) VALUES (htmspec(m.lcVal)) + ELSE + lcMemo = m.lcMemo + m.lcBuff + EXIT + ENDIF + ENDDO + ELSE + lcReturn = '' + MESSAGEBOX(ERRMESS4 + ' sharedStrings.xml',16,'Error') + ENDIF + FCLOSE(m.lnF) +RETURN m.lcReturn + +*************** +* Read styles * +*************** +FUNCTION get_styles + LPARAMETERS lcStr + LOCAL cCurStr,lcBuff,lcMemo,lcReturn,lcTextPiece,lnTextPiece,lcVal,llDate,lcMemo2,lcTextPiece2,lnTextPiece2,lcVal2,lcVal3 + STORE SYS(2015) TO lcReturn, cCurStyle + CREATE CURSOR (m.cCurStyle) (iIndex I AUTOINC NEXTVALUE 0,iFmt I,lDate L) + INDEX on iIndex TAG iIndex + lcBuff = FILETOSTR(m.lcStr) + lcMemo = STREXTRACT(m.lcBuff,'') + lcMemo2 = STREXTRACT(m.lcBuff,'') + lnTextPiece = 1 + lcTextPiece = STREXTRACT(m.lcMemo,'= 164 + lnTextPiece2 = 1 + lcTextPiece2 = STREXTRACT(m.lcMemo2,'') + DO WHILE !EMPTY(m.lcTextPiece2) + lcVal2 = STREXTRACT(m.lcTextPiece2,'numFmtId="','"') + IF m.lcVal2 == m.lcVal + lcVal3 = STREXTRACT(m.lcTextPiece2,'formatCode="','"') + llDate = AT("0.",m.lcVal3) + AT(".0",m.lcVal3) + AT("0,",m.lcVal3) + AT(",0",m.lcVal3) + AT("#",m.lcVal3) = 0 and m.lcVal3<>[General] + EXIT + ENDIF + lnTextPiece2 = m.lnTextPiece2 + 1 + lcTextPiece2 = STREXTRACT(m.lcMemo2,'',m.lnTextPiece2) + ENDDO + ENDIF + + INSERT INTO (m.cCurStyle) (iFmt,lDate) VALUES (VAL(m.lcVal),m.llDate) + lnTextPiece = m.lnTextPiece + 1 + lcTextPiece = STREXTRACT(m.lcMemo,' 0 + lcDimRef1 = LEFT(m.lcDimRef, m.lnDimRef - 1) + laDimRef[1,1] = VAL(CHRTRAN(m.lcDimRef1,'ABCDEFGHIJKLMNOPQRSTUVWXYZ','')) + lcDimRef1 = CHRTRAN(m.lcDimRef1,'0123456789','') + IF LEN(m.lcDimRef1) = 1 + laDimRef[1,2] = ASC(m.lcDimRef1) - 64 + ELSE + IF LEN(m.lcDimRef1) = 2 + laDimRef[1,2] = ASC(RIGHT(m.lcDimRef1,1)) - 64 + 26 * (ASC(LEFT(m.lcDimRef1,1)) - 64) + ELSE && LEN(m.lcDimRef1) = 3 + laDimRef[1,2] = ASC(RIGHT(m.lcDimRef1,1)) - 64 + 26 * (ASC(SUBSTR(m.lcDimRef1,1,1)) - 64) + 676 * (ASC(LEFT(m.lcDimRef1,1)) - 64) + ENDIF + ENDIF + lcDimRef1 = SUBSTR(m.lcDimRef, m.lnDimRef + 1) + laDimRef[2,1] = VAL(CHRTRAN(m.lcDimRef1,'ABCDEFGHIJKLMNOPQRSTUVWXYZ','')) + lcDimRef1 = CHRTRAN(m.lcDimRef1,'0123456789','') + IF LEN(m.lcDimRef1) = 1 + laDimRef[2,2] = ASC(m.lcDimRef1) - 64 + ELSE + IF LEN(m.lcDimRef1) = 2 + laDimRef[2,2] = ASC(RIGHT(m.lcDimRef1,1)) - 64 + 26 * (ASC(LEFT(m.lcDimRef1,1)) - 64) + ELSE && LEN(m.lcDimRef1) = 3 + laDimRef[2,2] = ASC(RIGHT(m.lcDimRef1,1)) - 64 + 26 * (ASC(SUBSTR(m.lcDimRef1,1,1)) - 64) + 676 * (ASC(LEFT(m.lcDimRef1,1)) - 64) + ENDIF + ENDIF + ELSE + laDimRef[1,1] = VAL(CHRTRAN(m.lcDimRef1,'ABCDEFGHIJKLMNOPQRSTUVWXYZ','')) + lcDimRef1 = CHRTRAN(m.lcDimRef1,'0123456789','') + IF LEN(m.lcDimRef1) = 1 + laDimRef[1,2] = ASC(m.lcDimRef1) - 64 + ELSE + IF LEN(m.lcDimRef1) = 2 + laDimRef[1,2] = ASC(RIGHT(m.lcDimRef1,1)) - 64 + 26 * (ASC(LEFT(m.lcDimRef1,1)) - 64) + ELSE && LEN(m.lcDimRef1) = 3 + laDimRef[1,2] = ASC(RIGHT(m.lcDimRef1,1)) - 64 + 26 * (ASC(SUBSTR(m.lcDimRef1,1,1)) - 64) + 676 * (ASC(LEFT(m.lcDimRef1,1)) - 64) + ENDIF + ENDIF + ENDIF + ACTIVATE SCREEN + ******************* + lnCurRow = 1 &&m.lnStartRows + lnCurRow0 = 1 + lnStartRows0 = m.lnStartRows + lnFieldF = 0 + lnField = 1 + ************** + lcWholeRow = STREXTRACT(m.lcWholeTable,"") + IF EMPTY(m.lcWholeRow) + MESSAGEBOX(ERRMESS1,16,ERRMESS0) + RETURN '' + ENDIF + + ************** + IF m.lnHeader > 0 + lnCurRowF = 1 &&m.lnStartRows + lnCurRow0F = 1 + lnStartRows0F = m.lnHeader +* lnFieldF = 1 + lcCell = STREXTRACT(m.lcWholeRow,[],m.lnField) + IF "inlineStr" $ m.lcCell + llEmptyVal = EMPTY(STREXTRACT(m.lcCell,[])) + ELSE + llEmptyVal = EMPTY(STREXTRACT(m.lcCell,[],[])) + ENDIF + DO WHILE !EMPTY(m.lcWholeRow) AND (lnCurRowF < m.lnStartRows0F OR EMPTY(m.lcCell) OR m.llEmptyVal) && EMPTY(STREXTRACT(m.lcCell,[],[])) + lnCurRow0F = m.lnCurRow0F + 1 + IF !EMPTY(m.lcCell) AND !m.llEmptyVal && !EMPTY(STREXTRACT(m.lcCell,[],[])) + lnCurRowF = m.lnCurRowF + 1 + ENDIF + lcWholeRow = STREXTRACT(m.lcWholeTable,"",m.lnCurRow0F) + lcCell = STREXTRACT(m.lcWholeRow,[]) + IF "inlineStr" $ m.lcCell + llEmptyVal = EMPTY(STREXTRACT(m.lcCell,[])) + ELSE + llEmptyVal = EMPTY(STREXTRACT(m.lcCell,[],[])) + ENDIF + ENDDO + IF EMPTY(m.lcWholeRow) + MESSAGEBOX(ERRMESS1,16,ERRMESS0) + RETURN '' + ENDIF + DO WHILE !EMPTY(m.lcCell) + lcShCol = CHRTRAN(STREXTRACT(m.lcCell,'r="','"'),'0123456789','') + IF LEN(m.lcShCol) = 1 + lnShCol = ASC(m.lcShCol) - 64 + ELSE + IF LEN(m.lcShCol) = 2 + lnShCol = ASC(RIGHT(m.lcShCol,1)) - 64 + 26 * (ASC(LEFT(m.lcShCol,1)) - 64) + ELSE && LEN(m.lcShCol) = 3 + lnShCol = ASC(RIGHT(m.lcShCol,1)) - 64 + 26 * (ASC(SUBSTR(m.lcShCol,1,1)) - 64) + 676 * (ASC(LEFT(m.lcShCol,1)) - 64) + ENDIF + ENDIF + lnShCol = m.lnShCol - laDimRef[1,2] + 1 + DIMENSION laFieldGat[m.lnShCol,18],laEmptyCells[m.lnShCol] + FOR lnj = m.lnFieldF + 1 TO m.lnShCol + STORE 0 TO laFieldGat[m.lnj,17],laFieldGat[m.lnj,18],laFieldGat[m.lnj,4] + STORE .T. TO laFieldGat[m.lnj,5],laEmptyCells[m.lnj] + STORE .F. TO laFieldGat[m.lnj,6],laFieldGat[m.lnj,5] + STORE '' TO laFieldGat[m.lnj,7],laFieldGat[m.lnj,8],laFieldGat[m.lnj,9],laFieldGat[m.lnj,10],laFieldGat[m.lnj,11],laFieldGat[m.lnj,12],laFieldGat[m.lnj,13],laFieldGat[m.lnj,14],laFieldGat[m.lnj,15],laFieldGat[m.lnj,16] + laFieldGat[m.lnj,2] = "M" + laFieldGat[m.lnj,3] = 4 + IF m.lnj < m.lnShCol + laFieldGat[m.lnj,1] = "MFIELD"+TRANSFORM(m.lnj) + ELSE +* lcVal = STREXTRACT(m.lcCell,[],[]) + IF "inlineStr" $ m.lcCell + lcVal = STREXTRACT(m.lcCell,[],[]) + ELSE + lcVal = STREXTRACT(m.lcCell,[],[]) + ENDIF + llBool = 't="b"' $ m.lcCell + llMemo = 't="s"' $ m.lcCell or [t="inlineStr] $ m.lcCell + llNumber = !m.llBool AND !m.llMemo AND not ('s="' $ m.lcCell) + STORE .F. TO llDate, llTime + IF !llBool AND !llMemo AND !llNumber + lnStyle = VAL(STREXTRACT(m.lcCell,[s="],["])) + IF SEEK(m.lnStyle,m.cCurStyle,"iIndex") + llDate = &cCurStyle..lDate and VAL(STREXTRACT(m.lcCell,[],[])) = FLOOR(VAL(STREXTRACT(m.lcCell,[],[]))) + llTime = &cCurStyle..lDate and !m.llDate + llNumber = !m.llDate and !m.llTime + ENDIF + ENDIF + DO CASE + CASE m.llNumber + laFieldGat[m.lnShCol,1] = "_" + CHRTRAN(m.lcVal,'.,+-','') + CASE m.llDate + lnDat = VAL(m.lcVal) + IF m.lnDat >= 61 + laFieldGat[m.lnShCol,1] = "_" + DTOS(m.ldDat01 + m.lnDat) + ELSE + laFieldGat[m.lnShCol,1] = "_" + DTOS(m.ldDat02 + m.lnDat) + ENDIF + CASE m.llTime + lnTim = VAL(m.lcVal) + lnDat = FLOOR(m.lnTim) + laFieldGat[m.lnShCol,1] = "_" + TTOC(DTOT(m.ldDat01 + m.lnDat) + INT(86400.0 * (m.lnTim - m.lnDat)),1) + CASE m.llBool + laFieldGat[m.lnShCol,1] = IIF(m.lcVal == "1","TRUE","FALSE") + OTHERWISE + IF "inlineStr" $ m.lcCell + laFieldGat[m.lnShCol,1] = m.lcVal + ELSE + TRY + IF [t="s"] $ m.lcCell + SELECT (m.cCurStr) + GO VAL(m.lcVal) + 1 IN (m.cCurStr) + laFieldGat[m.lnShCol,1] = cStr + ELSE + laFieldGat[m.lnShCol,1] = m.lcVal + ENDIF + CATCH TO loErr + laFieldGat[m.lnShCol,1] = m.lcVal + ENDTRY + ENDIF + laFieldGat[m.lnShCol,1] = UPPER(ALLTRIM(laFieldGat[m.lnShCol,1])) + laFieldGat[m.lnShCol,1] = CHRTRAN(laFieldGat[m.lnShCol,1],CHRTRAN(laFieldGat[m.lnShCol,1],"_0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ",""),"") + IF !ISALPHA(laFieldGat[m.lnShCol,1]) + laFieldGat[m.lnShCol,1] = "_" + laFieldGat[m.lnShCol,1] + ENDIF + ENDCASE + laFieldGat[m.lnShCol,1] = LEFT(laFieldGat[m.lnShCol,1],IIF(m.llCursor,31,10)) && 31 + lnName = 0 + lcName = laFieldGat[m.lnShCol,1] + DO WHILE BETWEEN(ASCAN(laFieldGat,m.lcName,1,-1,1,1+2+4+8), 1, m.lnShCol - 1) + lnName = m.lnName + 1 + lcName = laFieldGat[m.lnShCol,1] + lnLeftName = MIN(LEN(laFieldGat[m.lnShCol,1]) , IIF(m.llCursor,31,10) - LEN(TRANSFORM(m.lnName))) && 31 + lcName = LEFT(laFieldGat[m.lnShCol,1], m.lnLeftName) + TRANSFORM(m.lnName) + ENDDO + laFieldGat[m.lnShCol,1] = m.lcName + ENDIF + NEXT + lnFieldF = m.lnShCol + lnField = m.lnField + 1 + lcCell = STREXTRACT(m.lcWholeRow,[],m.lnField) + ENDDO + lnField = m.lnField - 1 + ENDIF + ************** + IF !m.llEmptyCells && simple case : the sheet does not contain empty cells +* lnField = 1 + lcCell = STREXTRACT(m.lcWholeRow,[],m.lnField) + IF "inlineStr" $ m.lcCell + llEmptyVal = EMPTY(STREXTRACT(m.lcCell,[])) + ELSE + llEmptyVal = EMPTY(STREXTRACT(m.lcCell,[],[])) + ENDIF + DO WHILE !EMPTY(m.lcWholeRow) AND (lnCurRow < m.lnStartRows0 OR EMPTY(m.lcCell) OR m.llEmptyVal) && EMPTY(STREXTRACT(m.lcCell,[],[])) + lnCurRow0 = m.lnCurRow0 + 1 + IF !EMPTY(m.lcCell) AND !llEmptyVal && !EMPTY(STREXTRACT(m.lcCell,[],[])) + lnCurRow = m.lnCurRow + 1 + ENDIF + lcWholeRow = STREXTRACT(m.lcWholeTable,"",m.lnCurRow0) + lcCell = STREXTRACT(m.lcWholeRow,[]) + IF "inlineStr" $ m.lcCell + llEmptyVal = EMPTY(STREXTRACT(m.lcCell,[])) + ELSE + llEmptyVal = EMPTY(STREXTRACT(m.lcCell,[],[])) + ENDIF + ENDDO + lnStartRows = lnCurRow0 + IF EMPTY(m.lcWholeRow) + MESSAGEBOX(ERRMESS1,16,ERRMESS0) + RETURN '' + ENDIF + DO WHILE !EMPTY(m.lcCell) + IF m.lnFieldF < m.lnField + DIMENSION laFieldGat[m.lnField,18],laEmptyCells[m.lnField] + STORE 0 TO laFieldGat[m.lnField,17],laFieldGat[m.lnField,18],laFieldGat[m.lnField,4] + STORE .T. TO laFieldGat[m.lnField,5],laEmptyCells[m.lnField] + STORE .F. TO laFieldGat[m.lnField,6],laFieldGat[m.lnField,5] + STORE '' TO laFieldGat[m.lnField,7],laFieldGat[m.lnField,8],laFieldGat[m.lnField,9],laFieldGat[m.lnField,10],laFieldGat[m.lnField,11],laFieldGat[m.lnField,12],laFieldGat[m.lnField,13],laFieldGat[m.lnField,14],laFieldGat[m.lnField,15],laFieldGat[m.lnField,16] + ENDIF + llBool = 't="b"' $ m.lcCell + llMemo = 't="s"' $ m.lcCell or [t="inlineStr] $ m.lcCell + llNumber = !m.llBool AND !m.llMemo AND not ('s="' $ m.lcCell) + STORE .F. TO llDate, llTime + IF !llBool AND !llMemo AND !llNumber + lnStyle = VAL(STREXTRACT(m.lcCell,[s="],["])) + IF SEEK(m.lnStyle,m.cCurStyle,"iIndex") + llDate = &cCurStyle..lDate and VAL(STREXTRACT(m.lcCell,[],[])) = FLOOR(VAL(STREXTRACT(m.lcCell,[],[]))) + llTime = &cCurStyle..lDate and !m.llDate + llNumber = !m.llDate and !m.llTime + ENDIF + ENDIF + IF m.lnFieldF < m.lnField + laFieldGat[m.lnField,1] = "MFIELD"+TRANSFORM(m.lnField) + ENDIF + laEmptyCells[m.lnField] = !m.llDate AND !m.llTime AND !m.llMemo AND !m.llBool AND !m.llNumber + DO CASE + CASE m.llNumber + laFieldGat[m.lnField,2] = "B" + laFieldGat[m.lnField,3] = 8 + laFieldGat[m.lnField,4] = 15 + CASE m.llDate + laFieldGat[m.lnField,2] = "D" + laFieldGat[m.lnField,3] = 8 + CASE m.llTime + laFieldGat[m.lnField,2] = "T" + laFieldGat[m.lnField,3] = 8 + CASE m.llBool + laFieldGat[m.lnField,2] = "L" + laFieldGat[m.lnField,3] = 1 + OTHERWISE + laFieldGat[m.lnField,2] = "M" + laFieldGat[m.lnField,3] = 4 + ENDCASE + lnField = m.lnField + 1 + lcCell = STREXTRACT(m.lcWholeRow,[],m.lnField) + ENDDO + lnField = m.lnField - 1 + ELSE && complicated : check empty cells + lnField = 1 + lcCell = STREXTRACT(m.lcWholeRow,[],m.lnField) + IF AT([ 0 + lcCell = LEFT(m.lcCell , AT([])) + ELSE + llEmptyVal = EMPTY(STREXTRACT(m.lcCell,[],[])) + ENDIF + DO WHILE !EMPTY(m.lcWholeRow) AND (lnCurRow < m.lnStartRows0 OR EMPTY(m.lcCell) OR m.llEmptyVal) && EMPTY(STREXTRACT(m.lcCell,[],[]))) + lnCurRow0 = m.lnCurRow0 + 1 + IF !EMPTY(m.lcCell) AND !m.llEmptyVal &&!EMPTY(STREXTRACT(m.lcCell,[],[])) + lnCurRow = m.lnCurRow + 1 + ENDIF + lcWholeRow = STREXTRACT(m.lcWholeTable,"",m.lnCurRow0) + lcCell = STREXTRACT(m.lcWholeRow,[]) + IF AT([ 0 + lcCell = LEFT(m.lcCell , AT([])) + ELSE + llEmptyVal = EMPTY(STREXTRACT(m.lcCell,[],[])) + ENDIF + ENDDO + lnStartRows = lnCurRow0 + IF EMPTY(m.lcWholeRow) + MESSAGEBOX(ERRMESS1,16,ERRMESS0) + RETURN '' + ENDIF + lnShField = 0 + DO WHILE !EMPTY(m.lcCell) + lnShCol = lnShField + lcShCol = CHRTRAN(STREXTRACT(m.lcCell,'r="','"'),'0123456789','') + DO CASE + CASE LEN(m.lcShCol) = 1 + lnShCol = ASC(m.lcShCol) - 64 + CASE LEN(m.lcShCol) = 2 + lnShCol = ASC(RIGHT(m.lcShCol,1)) - 64 + 26 * (ASC(LEFT(m.lcShCol,1)) - 64) + CASE LEN(m.lcShCol) = 3 + lnShCol = ASC(RIGHT(m.lcShCol,1)) - 64 + 26 * (ASC(SUBSTR(m.lcShCol,1,1)) - 64) + 676 * (ASC(LEFT(m.lcShCol,1)) - 64) + ENDCASE + lnShCol = m.lnShCol - laDimRef[1,2] + 1 + + IF m.lnFieldF < m.lnShCol + DIMENSION laFieldGat[m.lnShCol,18],laEmptyCells[m.lnShCol] + FOR lnCurCol = MAX(m.lnShField,m.lnFieldF) + 1 TO m.lnShCol + STORE 0 TO laFieldGat[m.lnCurCol,17],laFieldGat[m.lnCurCol,18],laFieldGat[m.lnCurCol,4] + STORE .T. TO laFieldGat[m.lnCurCol,5],laEmptyCells[m.lnCurCol] + STORE .F. TO laFieldGat[m.lnCurCol,6],laFieldGat[m.lnCurCol,5] + STORE '' TO laFieldGat[m.lnCurCol,7],laFieldGat[m.lnCurCol,8],laFieldGat[m.lnCurCol,9],laFieldGat[m.lnCurCol,10],laFieldGat[m.lnCurCol,11],laFieldGat[m.lnCurCol,12],laFieldGat[m.lnCurCol,13],laFieldGat[m.lnCurCol,14],laFieldGat[m.lnCurCol,15],laFieldGat[m.lnCurCol,16] + laFieldGat[m.lnCurCol,1] = "MFIELD"+TRANSFORM(m.lnCurCol) + NEXT + FOR lnCurCol = MAX(m.lnShField,m.lnFieldF) + 1 TO m.lnShCol - 1 && empty cells + laFieldGat[m.lnCurCol,2] = "M" + laFieldGat[m.lnCurCol,3] = 4 + NEXT + ENDIF + IF AT([],m.lcCell) = 0 && empty cells + laFieldGat[m.lnShCol,2] = "M" + laFieldGat[m.lnShCol,3] = 4 + ELSE + llBool = 't="b"' $ m.lcCell + llMemo = 't="s"' $ m.lcCell or [t="inlineStr] $ m.lcCell + llNumber = !llBool AND !llMemo AND not ('s="' $ m.lcCell) + STORE .F. TO llDate, llTime + IF !llBool AND !llMemo AND !llNumber + lnStyle = VAL(STREXTRACT(m.lcCell,[s="],["])) + IF SEEK(m.lnStyle,m.cCurStyle,"iIndex") + llDate = &cCurStyle..lDate and VAL(STREXTRACT(m.lcCell,[],[])) = FLOOR(VAL(STREXTRACT(m.lcCell,[],[]))) + llTime = &cCurStyle..lDate and !llDate + llNumber = !llDate and !llTime + ENDIF + ENDIF +* laFieldGat[m.lnShCol,1] = "MFIELD"+TRANSFORM(m.lnShCol) + laEmptyCells[m.lnShCol] = !m.llDate AND !m.llTime AND !m.llMemo AND !m.llBool AND !m.llNumber + DO CASE + CASE m.llNumber + laFieldGat[m.lnShCol,2] = "B" + laFieldGat[m.lnShCol,3] = 8 + laFieldGat[m.lnShCol,4] = 15 + CASE m.llDate + laFieldGat[m.lnShCol,2] = "D" + laFieldGat[m.lnShCol,3] = 8 + CASE m.llTime + laFieldGat[m.lnShCol,2] = "T" + laFieldGat[m.lnShCol,3] = 8 + CASE m.llBool + laFieldGat[m.lnShCol,2] = "L" + laFieldGat[m.lnShCol,3] = 1 + OTHERWISE + laFieldGat[m.lnShCol,2] = "M" + laFieldGat[m.lnShCol,3] = 4 + ENDCASE + ENDIF + lnField = m.lnField + 1 + lcCell = STREXTRACT(m.lcWholeRow,[],m.lnField) + IF AT([ 0 + lcCell = LEFT(m.lcCell , AT([ 254 + MESSAGEBOX(ERRMESS5,16,ERRMESS0) + RETURN '' + ELSE + CREATE CURSOR (m.lcTable) FROM ARRAY laFieldGat + ENDIF +RETURN m.lcTable + +************** +* Read sheet * +************** +FUNCTION get_cells + LPARAMETERS lcStr,cCurSheet,cCurStr,lnField,laField,lnStartRows,lcFileName,llCursor,llEmptyCells,cCurStyle,laEmptyCells,laDimRef,lcTable + LOCAL lnField,ldDat01,ldDat02,lcSetDec,lnF,lnPosSiSeek,lcBuff,lnPosSi,lnPosSi2,lcMemo,laFieldGat[1],lni,lcCell,lcVal,lnDat,lnTim,lnCurRow,laFieldPrec[m.lnField,2],loErr as Exception,lcPoint + LOCAL lcShCol,lnShCol,llDate,llTime,llBool,llMemo,llNumber,lnStyle,lcAlterCol,lnCurCell,lnj,llExtend,cCurSheet1,lcMySql,lcMySql0 + IF m.llCursor + IF EMPTY(m.lcTable) OR m.lcTable == '?' + lcTable = SYS(2015) + ELSE + lcTable = CHRTRAN(m.lcTable,CHRTRAN(m.lcTable,'_1234567890abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXUZ',''),'') + IF ISDIGIT(m.lcTable) + lcTable = '_' + m.lcTable + ENDIF + ENDIF + ELSE + IF EMPTY(m.lcTable) + lcTable = FORCEEXT(m.lcFileName,"DBF") + ELSE + IF m.lcTable == '?' + lcTable = PUTFILE('',FORCEEXT(m.lcFileName,"DBF"),'DBF') + IF EMPTY(m.lcTable) + lcTable = FORCEEXT(m.lcFileName,"DBF") + ELSE + lcTable = FORCEEXT(m.lcTable,'DBF') + ENDIF + ELSE + lcTable = FORCEEXT(m.lcTable,'DBF') + ENDIF + ENDIF + lcTable = CHRTRAN(m.lcTable,[<>:"/\|?*],'') + ENDIF + lcTable = LEFT(m.lcTable,31) + lnField = ALEN(laField,1) + ldDat01 = DATE(1900,3,1) - 61 + ldDat02 = DATE(1900,1,1) - 1 + lcPoint = SET("Point") + lcSetDec = SET("Decimals") + laFieldPrec = 0 + SET DECIMALS TO 10 + lnF = FOPEN(m.lcStr) + lnCurRow = 0 + IF m.lnF >= 0 + IF !llEmptyCells && simple : table without empty celss + lnPosSiSeek = 0 + DO WHILE !FEOF(m.lnF) + lcBuff = FREAD(m.lnF,8192) + lnPosSi = AT('',m.lcBuff) + lcMemo = '' + DO WHILE !FEOF(m.lnF) AND m.lnPosSi2 = 0 + lcMemo = m.lcMemo + m.lcBuff + lcBuff = FREAD(m.lnF,8192) + lnPosSi2 = AT('',m.lcMemo) + ENDDO + IF m.lnPosSi2 != 0 + lcMemo = m.lcMemo + LEFT(m.lcBuff,m.lnPosSi2 - 1) + lnPosSiSeek = m.lnPosSiSeek + m.lnPosSi2 + 5 + lnPosSi = FSEEK(m.lnF,m.lnPosSiSeek) + lnCurRow = m.lnCurRow + 1 + IF m.lnStartRows > m.lnCurRow + LOOP + ENDIF + SELECT (m.cCurSheet) + APPEND BLANK + SCATTER MEMO TO laFieldGat + FOR lni = 1 TO lnField + lcCell = STREXTRACT(m.lcMemo,[],m.lni) +* lcVal = STREXTRACT(m.lcCell,[],[]) + IF "inlineStr" $ m.lcCell + lcVal = STREXTRACT(m.lcCell,[],[]) + ELSE + lcVal = STREXTRACT(m.lcCell,[],[]) + ENDIF + + IF EMPTY(m.lcVal) + LOOP + ENDIF + IF laField[m.lni,2] $ "CVM" + IF "inlineStr" $ m.lcCell + laFieldGat[m.lni] = m.lcVal + ELSE + TRY + IF [t="s"] $ m.lcCell + SELECT (m.cCurStr) + GO VAL(m.lcVal) + 1 IN (m.cCurStr) + laFieldGat[m.lni] = cStr + ELSE + laFieldGat[m.lni] = m.lcVal + ENDIF + CATCH TO loErr + laFieldGat[m.lni] = m.lcVal + ENDTRY + ENDIF + laFieldPrec[m.lni,1] = MAX(laFieldPrec[m.lni,1],LEN(laFieldGat[m.lni])) + laFieldPrec[m.lni,2] = MAX(laFieldPrec[m.lni,2],OCCURS(CHR(13),laFieldGat[m.lni])) + ELSE + IF laField[m.lni,2] $ "NFBYI" + laFieldGat[m.lni] = VAL(m.lcVal) + laFieldPrec[m.lni,1] = MAX(laFieldPrec[m.lni,1],LEN(ALLTRIM(m.lcVal))) + IF AT(m.lcPoint,ALLTRIM(m.lcVal)) > 0 + laFieldPrec[m.lni,2] = MAX(laFieldPrec[m.lni,2],LEN(ALLTRIM(m.lcVal)) - AT(m.lcPoint,ALLTRIM(m.lcVal))) + ENDIF + ELSE + IF laField[m.lni,2] $ "D" + lnDat = VAL(m.lcVal) + IF m.lnDat >= 61 + laFieldGat[m.lni] = m.ldDat01 + m.lnDat + ELSE + laFieldGat[m.lni] = m.ldDat02 + m.lnDat + ENDIF + ELSE + IF laField[m.lni,2] $ "T" + lnTim = VAL(m.lcVal) + lnDat = FLOOR(m.lnTim) + laFieldGat[m.lni] = DTOT(m.ldDat01 + m.lnDat) + INT(86400.0 * (m.lnTim - m.lnDat)) + ELSE + IF laField[m.lni,2] $ "L" + laFieldGat[m.lni] = m.lcVal == "1" + ENDIF + ENDIF + ENDIF + ENDIF + ENDIF + NEXT + SELECT (m.cCurSheet) + GATHER FROM laFieldGat MEMO + ELSE + lcMemo = m.lcMemo + m.lcBuff + EXIT + ENDIF + ENDDO + ELSE && complicated : column check + lnPosSiSeek = 0 + DO WHILE !FEOF(m.lnF) + lcBuff = FREAD(m.lnF,8192) + lnPosSi = AT('',m.lcBuff) + lcMemo = '' + DO WHILE !FEOF(m.lnF) AND m.lnPosSi2 = 0 + lcMemo = m.lcMemo + m.lcBuff + lcBuff = FREAD(m.lnF,8192) + lnPosSi2 = AT('',m.lcMemo) + ENDDO + IF m.lnPosSi2 != 0 + lcMemo = m.lcMemo + LEFT(m.lcBuff,m.lnPosSi2 - 1) + lnPosSiSeek = m.lnPosSiSeek + m.lnPosSi2 + 5 + lnPosSi = FSEEK(m.lnF,m.lnPosSiSeek) + lnCurRow = m.lnCurRow + 1 + IF m.lnStartRows > m.lnCurRow + LOOP + ENDIF + SELECT (m.cCurSheet) + APPEND BLANK + SCATTER MEMO TO laFieldGat + lnCurCell = 1 + lni = 1 + llExtend = .F. + DO WHILE m.lni <= m.lnField OR m.llExtend +* FOR lni=1 TO lnField + llExtend = .F. + lcCell = STREXTRACT(m.lcMemo,[],m.lnCurCell) + IF AT([ 0 + lcCell = LEFT(m.lcCell , AT([ m.lnField + llExtend = .T. + DIMENSION laField[m.lnShCol,ALEN(laField,2)],laEmptyCells[m.lnShCol],laFieldPrec[m.lnShCol,2],laFieldGat[m.lnShCol] + lcMySql = '' + FOR lnj = 1 TO m.lnField + lcMySql = m.lcMySql + laField[m.lnj,1] + ',' + NEXT + lcMySql = RTRIM(m.lcMySql,1,',') + + FOR lnj = m.lnField + 1 TO m.lnShCol + STORE 0 TO laField[m.lnj,17],laField[m.lnj,18],laField[m.lnj,4] + STORE .T. TO laField[m.lnj,5],laEmptyCells[m.lnj] + STORE .F. TO laField[m.lnj,6],laField[m.lnj,5] + STORE '' TO laField[m.lnj,7],laField[m.lnj,8],laField[m.lnj,9],laField[m.lnj,10],laField[m.lnj,11],laField[m.lnj,12],laField[m.lnj,13],laField[m.lnj,14],laField[m.lnj,15],laField[m.lnj,16] + laField[m.lnj,2] = "M" + laField[m.lnj,3] = 4 + laEmptyCells[m.lnj] = .T. + STORE 0 TO laFieldPrec[m.lnj,1],laFieldPrec[m.lnj,2] + lcAlterCol = "MFIELD"+TRANSFORM(m.lnj) + laField[m.lnj,1] = m.lcAlterCol + NEXT + lnField = m.lnShCol + + cCurSheet1 = SYS(2015) + CREATE CURSOR (m.cCurSheet1) FROM ARRAY laField + lcMySql = "INSERT INTO " + m.cCurSheet1 + "(" + m.lcMySql + ") SELECT " + m.lcMySql + " FROM " + m.cCurSheet + &lcMySql + USE IN (m.cCurSheet) + cCurSheet = m.cCurSheet1 + GO BOTTOM IN (m.cCurSheet) + + ENDIF + IF lni < m.lnShCol + lni = m.lnShCol + ENDIF + + lnCurCell = m.lnCurCell + 1 + +* lcVal = STREXTRACT(m.lcCell,[],[]) + IF "inlineStr" $ m.lcCell + lcVal = STREXTRACT(m.lcCell,[],[]) + ELSE + lcVal = STREXTRACT(m.lcCell,[],[]) + ENDIF + IF EMPTY(m.lcVal) + lni = m.lni + 1 + LOOP + ELSE + STORE .F. TO llBool,llMemo,llNumber,llDate,llTime + llBool = 't="b"' $ m.lcCell + llMemo = 't="s"' $ m.lcCell or [t="inlineStr] $ m.lcCell + llNumber = !llBool AND !llMemo AND not ('s="' $ m.lcCell) + STORE .F. TO llDate, llTime + IF !llBool AND !llMemo AND !llNumber + lnStyle = VAL(STREXTRACT(m.lcCell,[s="],["])) + IF SEEK(m.lnStyle,m.cCurStyle,"iIndex") + llDate = &cCurStyle..lDate and VAL(STREXTRACT(m.lcCell,[],[])) = FLOOR(VAL(STREXTRACT(m.lcCell,[],[]))) + llTime = &cCurStyle..lDate and !llDate + llNumber = !llDate and !llTime + ENDIF + ENDIF + ENDIF + + lcMySql0 = '' + FOR lnj = 1 TO m.lnField + lcMySql0 = m.lcMySql0 + laField[m.lnj,1] + ',' + NEXT + lcMySql0 = RTRIM(m.lcMySql0,1,',') + lcMySql = '' + FOR lnj = 1 TO m.lni - 1 + lcMySql = m.lcMySql + laField[m.lnj,1] + ',' + NEXT + lcAlterCol = laField[m.lni,1] + IF laField[m.lni,2] == "D" AND m.llTime OR laField[m.lni,2] == "M" AND m.llTime AND m.laEmptyCells[m.lni] + laField[m.lni,2] = "T" + laEmptyCells[m.lni] = .F. + + lcMySql = m.lcMySql + "CAST(" + m.laField[m.lni,1] + " AS T) AS " + m.laField[m.lni,1] + "," + FOR lnj = m.lni + 1 TO ALEN(laField,1) + lcMySql = m.lcMySql + laField[m.lnj,1] + ',' + NEXT + lcMySql = RTRIM(m.lcMySql,1,',') + cCurSheet1 = SYS(2015) + CREATE CURSOR (m.cCurSheet1) FROM ARRAY laField + lcMySql = "INSERT INTO " + m.cCurSheet1 + "(" + m.lcMySql0 + ") SELECT " + m.lcMySql + " FROM " + m.cCurSheet + &lcMySql + USE IN (m.cCurSheet) + cCurSheet = m.cCurSheet1 + GO BOTTOM IN (m.cCurSheet) + ELSE + IF laField[m.lni,2] == "M" AND m.llDate AND m.laEmptyCells[m.lni] + laField[m.lni,2] = "D" + laEmptyCells[m.lni] = .F. + + lcMySql = m.lcMySql + "CAST(" + m.laField[m.lni,1] + " AS D) AS " + m.laField[m.lni,1] + "," + FOR lnj = m.lni + 1 TO ALEN(laField,1) + lcMySql = m.lcMySql + laField[m.lnj,1] + ',' + NEXT + lcMySql = RTRIM(m.lcMySql,1,',') + cCurSheet1 = SYS(2015) + CREATE CURSOR (m.cCurSheet1) FROM ARRAY laField + lcMySql = "INSERT INTO " + m.cCurSheet1 + "(" + m.lcMySql0 + ") SELECT " + m.lcMySql + " FROM " + m.cCurSheet + &lcMySql + USE IN (m.cCurSheet) + cCurSheet = m.cCurSheet1 + GO BOTTOM IN (m.cCurSheet) + ELSE + IF laField[m.lni,2] == "M" AND m.llBool AND m.laEmptyCells[m.lni] + laField[m.lni,2] = "L" + laEmptyCells[m.lni] = .F. + + lcMySql = m.lcMySql + "CAST(" + m.laField[m.lni,1] + " AS L) AS " + m.laField[m.lni,1] + "," + FOR lnj = m.lni + 1 TO ALEN(laField,1) + lcMySql = m.lcMySql + laField[m.lnj,1] + ',' + NEXT + lcMySql = RTRIM(m.lcMySql,1,',') + cCurSheet1 = SYS(2015) + CREATE CURSOR (m.cCurSheet1) FROM ARRAY laField + lcMySql = "INSERT INTO " + m.cCurSheet1 + "(" + m.lcMySql0 + ") SELECT " + m.lcMySql + " FROM " + m.cCurSheet + &lcMySql + USE IN (m.cCurSheet) + cCurSheet = m.cCurSheet1 + GO BOTTOM IN (m.cCurSheet) + ELSE + IF laField[m.lni,2] == "M" AND m.llNumber AND m.laEmptyCells[m.lni] + laField[m.lni,2] = "B" + laField[m.lni,3] = 8 + laField[m.lni,4] = 15 + laEmptyCells[m.lni] = .F. + + lcMySql = m.lcMySql + "CAST(" + m.laField[m.lni,1] + " AS B(15)) AS " + m.laField[m.lni,1] + "," + FOR lnj = m.lni + 1 TO ALEN(laField,1) + lcMySql = m.lcMySql + laField[m.lnj,1] + ',' + NEXT + lcMySql = RTRIM(m.lcMySql,1,',') + cCurSheet1 = SYS(2015) + CREATE CURSOR (m.cCurSheet1) FROM ARRAY laField + lcMySql = "INSERT INTO " + m.cCurSheet1 + "(" + m.lcMySql0 + ") SELECT " + m.lcMySql + " FROM " + m.cCurSheet + &lcMySql + USE IN (m.cCurSheet) + cCurSheet = m.cCurSheet1 + GO BOTTOM IN (m.cCurSheet) + ELSE + IF laField[m.lni,2] $ "BDT" AND m.llBool OR ; + laField[m.lni,2] $ "BDTL" AND m.llMemo OR ; + laField[m.lni,2] $ "DTL" AND m.llNumber OR ; + laField[m.lni,2] $ "BL" AND m.llDate OR ; + laField[m.lni,2] $ "BLD" AND m.llTime + laField[m.lni,2] = "M" + laField[m.lni,3] = 4 + laField[m.lni,4] = 0 + + lcMySql = m.lcMySql + "CAST(" + m.laField[m.lni,1] + " AS M) AS " + m.laField[m.lni,1] + "," + FOR lnj = m.lni + 1 TO ALEN(laField,1) + lcMySql = m.lcMySql + laField[m.lnj,1] + ',' + NEXT + lcMySql = RTRIM(m.lcMySql,1,',') + cCurSheet1 = SYS(2015) + CREATE CURSOR (m.cCurSheet1) FROM ARRAY laField + lcMySql = "INSERT INTO " + m.cCurSheet1 + "(" + m.lcMySql0 + ") SELECT " + m.lcMySql + " FROM " + m.cCurSheet + &lcMySql + USE IN (m.cCurSheet) + cCurSheet = m.cCurSheet1 + GO TOP IN (m.cCurSheet) + CALCULATE MAX(LEN(ALLTRIM(&lcAlterCol))) TO m.laFieldPrec[m.lni,1] IN (m.cCurSheet) + GO TOP IN (m.cCurSheet) + CALCULATE MAX(OCCURS(CHR(13),&lcAlterCol)) TO m.laFieldPrec[m.lni,2] IN (m.cCurSheet) + GO BOTTOM IN (m.cCurSheet) + ENDIF + ENDIF + ENDIF + ENDIF + ENDIF + IF laField[m.lni,2] $ "CVM" + IF m.llMemo + IF "inlineStr" $ m.lcCell + laFieldGat[m.lni] = m.lcVal + ELSE + TRY + IF [t="s"] $ m.lcCell + SELECT (m.cCurStr) + GO VAL(m.lcVal) + 1 IN (m.cCurStr) + laFieldGat[m.lni] = cStr + ELSE + laFieldGat[m.lni] = m.lcVal + ENDIF + CATCH TO loErr + laFieldGat[m.lni] = m.lcVal + ENDTRY + ENDIF + ELSE + IF m.llNumber + laFieldGat[m.lni] = m.lcVal + ELSE + IF m.llDate + lnDat = VAL(m.lcVal) + IF m.lnDat >= 61 + laFieldGat[m.lni] = TRANSFORM(m.ldDat01 + m.lnDat) + ELSE + laFieldGat[m.lni] = TRANSFORM(m.ldDat02 + m.lnDat) + ENDIF + ELSE + IF m.llTime + lnTim = VAL(m.lcVal) + lnDat = FLOOR(m.lnTim) + laFieldGat[m.lni] = TRANSFORM(DTOT(m.ldDat01 + m.lnDat) + INT(86400.0 * (m.lnTim - m.lnDat))) + ELSE && m.llBool + laFieldGat[m.lni] = IIF(m.lcVal == "1",'.T.','.F.') + ENDIF + ENDIF + ENDIF + ENDIF + laFieldPrec[m.lni,1] = MAX(laFieldPrec[m.lni,1],LEN(laFieldGat[m.lni])) + laFieldPrec[m.lni,2] = MAX(laFieldPrec[m.lni,2],OCCURS(CHR(13),laFieldGat[m.lni])) + ELSE + IF laField[m.lni,2] $ "NFBYI" + laFieldGat[m.lni] = VAL(m.lcVal) + laFieldPrec[m.lni,1] = MAX(laFieldPrec[m.lni,1],LEN(ALLTRIM(m.lcVal))) + IF AT(m.lcPoint,ALLTRIM(m.lcVal)) > 0 + laFieldPrec[m.lni,2] = MAX(laFieldPrec[m.lni,2],LEN(ALLTRIM(m.lcVal)) - AT(m.lcPoint,ALLTRIM(m.lcVal))) + ENDIF + ELSE + IF laField[m.lni,2] == "D" + lnDat = VAL(m.lcVal) + IF m.lnDat >= 61 + laFieldGat[m.lni] = m.ldDat01 + m.lnDat + ELSE + laFieldGat[m.lni] = m.ldDat02 + m.lnDat + ENDIF + ELSE + IF laField[m.lni,2] == "T" + lnTim = VAL(m.lcVal) + lnDat = FLOOR(m.lnTim) + laFieldGat[m.lni] = DTOT(m.ldDat01 + m.lnDat) + INT(86400.0 * (m.lnTim - m.lnDat)) + ELSE + IF laField[m.lni,2] $ "L" + laFieldGat[m.lni] = m.lcVal == "1" + ENDIF + ENDIF + ENDIF + ENDIF + ENDIF +* NEXT + lni = m.lni + 1 + ENDDO + SELECT (m.cCurSheet) + GATHER FROM laFieldGat MEMO + ELSE + lcMemo = m.lcMemo + m.lcBuff + EXIT + ENDIF + ENDDO + ENDIF + ELSE + MESSAGEBOX(ERRMESS4,16,'Error') + ENDIF + FCLOSE(m.lnF) + SET DECIMALS TO &lcSetDec + lcSql = "LPARAMETERS lcTable" + CHR(13) + "INSERT INTO (m.lcTable) SELECT " + FOR lni = 1 TO lnField + IF laField[m.lni,2] == "M" AND BETWEEN(laFieldPrec[m.lni,1],1,254) AND laFieldPrec[m.lni,2] = 0 + laField[m.lni,2] = "C" + laField[m.lni,3] = laFieldPrec[m.lni,1] + lcSql = m.lcSql + "LEFT(" + laField[m.lni,1] + "," + TRANSFORM(laFieldPrec[m.lni,1]) + ") AS " + laField[m.lni,1] + "," + ELSE + lcSql = m.lcSql + laField[m.lni,1] + "," + IF laField[m.lni,2] == "B" AND BETWEEN(laFieldPrec[m.lni,1],1,20) + IF laFieldPrec[m.lni,2] = 0 AND BETWEEN(laFieldPrec[m.lni,1],1,9) + laField[m.lni,2] = "I" + laField[m.lni,3] = 4 + laField[m.lni,4] = 0 + ELSE + laField[m.lni,2] = "N" + laField[m.lni,3] = laFieldPrec[m.lni,1] + laField[m.lni,4] = laFieldPrec[m.lni,2] + ENDIF + ELSE + ENDIF + ENDIF + NEXT + IF m.llCursor + *lcTable = SYS(2015) && CHRTRAN(JUSTSTEM(m.lcTable)," ","_") + CREATE CURSOR (m.lcTable) FROM ARRAY laField + lcSql = LEFT(m.lcSql,LEN(m.lcSql) - 1) + " FROM " + m.cCurSheet + EXECSCRIPT(m.lcSql,m.lcTable) + ELSE + CREATE TABLE (m.lcTable) FREE FROM ARRAY laField + lcSql = LEFT(m.lcSql,LEN(m.lcSql) - 1) + " FROM " + m.cCurSheet + CHR(13) + "RETURN ALIAS()" + USE IN (EXECSCRIPT(m.lcSql,m.lcTable)) + ENDIF + USE IN (m.cCurSheet) +RETURN m.lcTable + +********************** +* Special characters * +********************** +FUNCTION htmspec + LPARAMETERS cStr + LOCAL lni,lcStrF,lcChar,lnChar + lcStrF = m.cStr + IF AT('>',m.lcStrF)>0 + lcStrF = STRTRAN(m.lcStrF,'>','>') + ENDIF + IF AT('<',m.lcStrF)>0 + lcStrF = STRTRAN(m.lcStrF,'<','<') + ENDIF + IF AT('"',m.lcStrF)>0 + lcStrF = STRTRAN(m.lcStrF,'"','"') + ENDIF + IF AT("'",m.lcStrF)>0 + lcStrF = STRTRAN(m.lcStrF,''',"'") + ENDIF + + IF AT([&#],m.lcStrF)>0 + FOR lnChar = 0 TO 255 + lcChar = [&#]+STR(m.lnChar,3)+[;] + IF AT(m.lcChar,m.lcStrF)>0 + lcStrF = STRTRAN(m.lcStrF,m.lcChar,CHR(lnChar)) + ENDIF + NEXT + ENDIF + IF AT([&#x],m.lcStrF)>0 + FOR lnChar = 0 TO 255 + lcChar = [&#x]+RIGHT(TRANSFORM(m.lnChar,"@0"),2)+[;] + IF AT(m.lcChar,m.lcStrF)>0 + lcStrF = STRTRAN(m.lcStrF,m.lcChar,CHR(lnChar)) + ENDIF + NEXT + ENDIF + IF AT('&',m.lcStrF)>0 + lcStrF = STRTRAN(m.lcStrF,'&',CHR(38)) + ENDIF + + * suggested by Koen Piller + lcStrF = STRCONV(m.lcStrF,11) + RETURN m.lcStrF +ENDFUNC + +***************** +* Cleanup +****************** +FUNCTION cleanup + LPARAMETERS lcDir,llServer + LOCAL lcZip,lcSetSaf,loErr as Exception + lcZip = FORCEEXT(m.lcDir,'zip') + lcSetSaf = SET("Safety") + SET SAFETY OFF + TRY + IF m.llServer + ERASE (ADDBS(ADDBS(m.lcDir)+'worksheets\_rels')+'*.*') + RD (ADDBS(m.lcDir)+'worksheets\_rels')) + ERASE (ADDBS(ADDBS(m.lcDir)+'worksheets')+'*.*') + RD (ADDBS(m.lcDir)+'worksheets')) + ENDIF + ERASE (ADDBS(m.lcDir)+'*.*') + RD (m.lcDir) + CATCH TO loErr + THROW m.loErr + ENDTRY + + ERASE (m.lcZip) + SET SAFETY &lcSetSaf +RETURN .T. + +***************** +* Read workbook * +***************** +FUNCTION get_sheet +LPARAMETERS lcStr,lcSheet + LOCAL lnF,lcRealSheet,lcBuff,lcMemo,lni,lcRealSheet,lcCurSheet + lnF = FOPEN(m.lcStr) + lcRealSheet = '' + IF m.lnF >= 0 + lcBuff = FREAD(m.lnf,8192) + lcMemo = STREXTRACT(m.lcBuff,[],[]) + IF VARTYPE(m.lcSheet) == "N" + IF BETWEEN(m.lcSheet,1,OCCURS([name="],m.lcMemo)) + lcRealSheet = 'sheet' + LTRIM(STR(m.lcSheet)) + ENDIF + ELSE + IF EMPTY(m.lcSheet) + lcRealSheet = 'sheet1' + ELSE + FOR lni = 1 TO OCCURS([name="],m.lcMemo) + lcCurSheet = STREXTRACT(m.lcMemo,[name="],["],m.lni) + IF LOWER(ALLTRIM(m.lcCurSheet)) == LOWER(ALLTRIM(m.lcSheet)) + lcRealSheet = 'sheet' + TRANSFORM(m.lni) + EXIT + ENDIF + NEXT + ENDIF + ENDIF + ELSE + MESSAGEBOX(ERRMESS4 + ' workbook.xml',16,'Error') + ENDIF + FCLOSE(m.lnF) +RETURN m.lcRealSheet diff --git a/programe/ini.prg b/programe/ini.prg new file mode 100644 index 0000000..017b610 --- /dev/null +++ b/programe/ini.prg @@ -0,0 +1,371 @@ +FUNCTION setini + PARAMETER pcinifile, pcsection, ; + pcvar, pcval + PRIVATE lasect + PRIVATE lavars + PRIVATE ALL LIKE j* + DIMENSION lasect[1], lavars[ 1,3] + jlsuccess = .T. + IF .NOT. EMPTY(pcinifile) + jcfilename = IIF(AT('.', ; + pcinifile) > 0, ; + pcinifile, ; + pcinifile + ; + '.INI') + pcsection = ALLTRIM(pcsection) + pcvar = ALLTRIM(pcvar) + pcval = ALLTRIM(pcval) + IF FILE(jcfilename) + jnhandle = FOPEN(jcfilename, ; + 2) + IF jnhandle < 0 + jlsuccess = .F. + = messagebox( ; + 'Unable to open file: ' + ; + jcfilename, ; + 'File Open Error', ; + 0) + RETURN jlsuccess + ENDIF + ELSE + jnhandle = -1 + ENDIF + = buildarray(jnhandle, ; + @lasect,@lavars) + IF jnhandle > -1 + = FCLOSE(jnhandle) + ENDIF + jsuccess = buildini(jcfilename, ; + pcsection,pcvar, ; + pcval,@lasect, ; + @lavars) + ELSE + jlsuccess = .F. + ENDIF + RETURN jlsuccess +ENDFUNC && setini +*!* +FUNCTION buildini + PARAMETER pcfilename, pcsection, ; + pcvar, pcval, pasect, ; + pavars + PRIVATE ALL LIKE j* + jlsuccess = .T. + jnfhandle = 0 + jlfoundvar = .F. + jnfound = 0 + IF .NOT. EMPTY(pasect) + FOR jncount = 1 TO ; + ALEN(pasect, 1) + IF UPPER(pasect(jncount)) == ; + UPPER(pcsection) + jnfound = jncount + EXIT + ENDIF + ENDFOR + ENDIF + IF jnfound > 0 + FOR jncount = 1 TO ; + ALEN(pavars, 1) + IF pavars(jncount,1) == ; + pcvar .AND. ; + pavars(jncount,3) == ; + jnfound + pavars[ jncount, ; + 2] = pcval + jlfoundvar = .T. + EXIT + ENDIF + ENDFOR + IF .NOT. jlfoundvar + IF .NOT. ; + EMPTY(pavars(1)) + jnlen2 = ALEN(pavars, ; + 1) + 1 + DIMENSION pavars[ ; + jnlen2, ; + 3] + ELSE + jnlen2 = 1 + ENDIF + pavars[ jnlen2, 1] = ; + pcvar + pavars[ jnlen2, 2] = ; + pcval + pavars[ jnlen2, 3] = ; + jnfound + ENDIF + ELSE + IF .NOT. EMPTY(pasect(1)) + jnlen = ALEN(pasect, 1) + ; + 1 + DIMENSION pasect[ ; + jnlen] + ELSE + jnlen = 1 + ENDIF + pasect[ jnlen] = pcsection + IF .NOT. EMPTY(pavars(1)) + jnlen2 = ALEN(pavars, ; + 1) + 1 + DIMENSION pavars[ ; + jnlen2, 3] + ELSE + jnlen2 = 1 + ENDIF + pavars[ jnlen2, 1] = pcvar + pavars[ jnlen2, 2] = pcval + pavars[ jnlen2, 3] = jnlen + ENDIF + IF FILE(pcfilename) + jcoldfile = SUBSTR(pcfilename, ; + 1, AT('.', ; + pcfilename) - 1) + ; + '.BAK' + IF FILE(jcoldfile) + DELETE FILE (jcoldfile) + ENDIF + RENAME (pcfilename) TO ; + (jcoldfile) + ENDIF + jnfhandle = FCREATE(pcfilename) + IF .NOT. jnfhandle == -1 .AND. ; + .NOT. EMPTY(pasect) + FOR ncount = 1 TO ; + ALEN(pasect, 1) + IF (';' $ ; + pasect(ncount)) .OR. ; + EMPTY(pasect(ncount)) + = FPUTS(jnfhandle, ; + pasect(ncount)) + ELSE + = FPUTS(jnfhandle, ; + '[' + ; + pasect(ncount) + ; + ']') + ENDIF + FOR ncount2 = 1 TO ; + ALEN(pavars, 1) + IF pavars(ncount2, ; + 3) == ncount + = FPUTS(jnfhandle, ; + pavars(ncount2, ; + 1) + ' = ' + ; + pavars(ncount2, ; + 2)) + ENDIF + ENDFOR + ENDFOR + = FCLOSE(jnfhandle) + ELSE + = messagebox( ; + 'Unable to create file: ' + ; + jcfilename, ; + 'File create error',0) + jlsuccess = .F. + ENDIF + RETURN jlsuccess +ENDFUNC && buildini +*!* +FUNCTION buildarray + PARAMETER pnfhandle, pasect, ; + pavars + PRIVATE ALL LIKE j* + jnalen = 1 + jnvarlen = 1 + IF pnfhandle > -1 + = FSEEK(pnfhandle, 0) + DO WHILE .NOT. ; + FEOF(pnfhandle) + jcline = FGETS(pnfhandle) + IF ';' $ jcline .OR. ; + EMPTY(jcline) + IF EMPTY(pasect(1)) + pasect[ 1] = ; + jcline + ELSE + jnalen = ALEN(pasect, ; + 1) + ; + 1 + DIMENSION pasect[ ; + jnalen] + pasect[ ; + jnalen] = ; + jcline + ENDIF + ELSE + jnfound1 = AT('[', jcline) + jnfound2 = AT(']', jcline) + IF jnfound1 > 0 .AND. jnfound2 > 0 + jcsection = SUBSTR(jcline, ; + jnfound1 + ; + 1, ; + jnfound2 - ; + 2) + IF EMPTY(pasect(1)) + pasect[ ; + 1] = ; + jcsection + ELSE + jnalen = ; + ALEN(pasect, ; + 1) + 1 + DIMENSION ; + pasect[ ; + jnalen] + pasect[ ; + jnalen] = ; + jcsection + ENDIF + jnalen = ALEN(pasect, ; + 1) + ELSE + IF AT('=', ; + jcline) > ; + 0 + IF EMPTY(pavars(1, ; + 1)) + pavars[ ; + 1, ; + 1] = ; + ALLTRIM(SUBSTR(jcline, ; + 1, ; + AT( ; + '=', ; + jcline) - ; + 1)) + pavars[ ; + 1, ; + 2] = ; + ALLTRIM(SUBSTR(jcline, ; + AT( ; + '=', ; + jcline) + ; + 1)) + pavars[ ; + 1, ; + 3] = ; + jnalen + ELSE + jnvarlen = ; + ALEN(pavars, ; + 1) + ; + 1 + DIMENSION ; + pavars[ ; + jnvarlen, ; + 3] + pavars[ ; + jnvarlen, ; + 1] = ; + ALLTRIM(SUBSTR(jcline, ; + 1, ; + AT( ; + '=', ; + jcline) - ; + 1)) + pavars[ ; + jnvarlen, ; + 2] = ; + ALLTRIM(SUBSTR(jcline, ; + AT( ; + '=', ; + jcline) + ; + 1)) + pavars[ ; + jnvarlen, ; + 3] = ; + jnalen + ENDIF + ENDIF + ENDIF + ENDIF + ENDDO + ENDIF + RETURN .T. +ENDFUNC && buildarray +*!* +FUNCTION getini + PARAMETER pcinifile, pcsection, ; + pcvar + PRIVATE ALL LIKE j* + jcretval = '' + IF .NOT. EMPTY(pcinifile) + jcfilename = IIF(AT('.', ; + pcinifile) > 0, ; + pcinifile, ; + pcinifile + ; + '.INI') + IF FILE(jcfilename) + jnhandle = FOPEN(jcfilename) + IF jnhandle < 0 + jlsuccess = .F. + = messagebox( ; + 'Unable to open file: ' + ; + jcfilename, ; + 'File Open Error', ; + 0) + ELSE + pcsection = ALLTRIM(UPPER(pcsection)) + pcvar = ALLTRIM(UPPER(pcvar)) + jcretval = readini(@jnhandle, ; + pcsection, ; + pcvar) + = FCLOSE(jnhandle) + ENDIF + ENDIF + ENDIF + RETURN jcretval +ENDFUNC && getini +*!* +FUNCTION readini + PARAMETER pnfhandle, pcsection, ; + pcvar + PRIVATE ALL LIKE j* + jcline = '' + jcsection = '' + jnfound1 = 0 + jnfound2 = 0 + jnfound3 = 0 + jnalen = 0 + jcretval = '' + IF .NOT. EMPTY(pnfhandle) + = FSEEK(pnfhandle, 0) + DO WHILE .NOT. ; + FEOF(pnfhandle) + jcline = FGETS(pnfhandle) + jnfound1 = AT('[', ; + jcline) + jnfound2 = AT(']', ; + jcline) + IF jnfound1 > 0 .AND. ; + jnfound2 > 0 + jcsection = UPPER(SUBSTR(jcline, ; + jnfound1 + ; + 1, ; + jnfound2 - ; + 2)) + ENDIF + IF jcsection == ; + pcsection + jnfound3 = AT('=', ; + jcline) + IF jnfound3 > 0 + IF ALLTRIM(UPPER(SUBSTR(jcline, ; + 1, ; + jnfound3 - ; + 1))) == ; + pcvar + jcretval = ; + ALLTRIM(SUBSTR(jcline, ; + jnfound3 + ; + 1)) + EXIT + ENDIF + ENDIF + ENDIF + ENDDO + ENDIF + RETURN jcretval +ENDFUNC && readini + diff --git a/programe/iniacces.prg b/programe/iniacces.prg new file mode 100644 index 0000000..8cae174 --- /dev/null +++ b/programe/iniacces.prg @@ -0,0 +1,148 @@ +#include comun\include\security.h + +Define Class iniaccess As Custom + cIniFile="" + + Function Init + This.cIniFile=shortpath(GetIniPath()) + Endfunc + + Function setCValue + Lparameters tcSection, tcSetting, tcValue + Local lcFisierIni + lcFisierIni = This.cIniFile + + DECLARE INTEGER WritePrivateProfileString ; + IN WIN32API ; + STRING cSection,STRING cEntry,STRING cEntry,; + STRING cFileName + + Return WritePrivateProfileString(tcSection,tcSetting,tcValue,lcFisierIni) + Endfunc + + Function getCValue As Character + Lparameters tcSection,tcSetting + Local lcFisierIni + lcFisierIni=This.cIniFile + lcBuffer=Space(255) + + DECLARE INTEGER GetPrivateProfileString ; + IN WIN32API ; + STRING cSection,; + STRING cEntry,; + STRING cDefault,; + STRING @cRetVal,; + INTEGER nSize,; + STRING cFileName + + GetPrivateProfileString(tcSection,tcSetting,"",@lcBuffer, Len(lcBuffer), lcFisierIni) + lcBuffer = Strtran(lcBuffer,Chr(0),"") + lcBuffer = Alltrim(lcBuffer) + Return lcBuffer + Endfunc + + Function setUF + Lparameters cUFvalue + Return This.setCValue("update","UpdateFrequency",cUFvalue) + Endfunc + + Function setNetworkPath + Lparameters cNPvalue + Return This.setCValue("update","NetworkPath",cNPvalue) + Endfunc + + Function setURL + Lparameters cURLvalue + Return This.setCValue("update","InternetPath",cURLvalue) + Endfunc + + Function setUsername + Lparameters cUsername + Return This.setCValue("update","Username",cUsername) + Endfunc + + Function setPassword + Lparameters cPassword + cPassword=EncryptDecrypt(cPassword, ENCRYPTKEY, "encrypt","blowfish") + cPassword=Strconv(cPassword,13) + Return This.setCValue("update","Password",cPassword) + Endfunc + + Function setPasswordDirect + Lparameters cPassword + Return This.setCValue("update","Password",cPassword) + Endfunc + + Function SetDefault + Lparameters cDefaultvalue + Return This.setCValue("update","DefaultPath",cDefaultvalue) + Endfunc + + Function setLocalExe + Lparameters cDefaultvalue + Return This.setCValue("update","exepath",cDefaultvalue) + Endfunc + + Function setAllowConfirm + Lparameters cDefaultvalue + Return This.setCValue("update","AllowConfirm",cDefaultvalue) + Endfunc + + Function setLastServer + Lparameters cLastServer + Return This.setCValue("server","last",cLastServer) + Endfunc + + Function getUF As Character + Return This.getCValue("update","UpdateFrequency") + Endfunc + + Function getNetworkPath As Character + Return This.getCValue("update","NetworkPath") + Endfunc + + Function getLocalExe As Character + Return This.getCValue("update","exepath") + Endfunc + + Function getURL As Character + Return This.getCValue("update","InternetPath") + Endfunc + + Function getDefault As Character + Return This.getCValue("update","DefaultPath") + Endfunc + + Function getUsername As Character + Return This.getCValue("update","Username") + Endfunc + + Function getPassword As Character + Local lcParola + lcParola = This.getCValue("update","Password") + If Len(lcParola)>0 + lcParola =Alltrim(Strconv(lcParola ,14)) + lcParola = EncryptDecrypt(lcParola, ENCRYPTKEY, "decrypt","blowfish") + Endif + Return lcParola + Endfunc + + Function getPasswordDirect As Character + Return This.getCValue("update","Password") + Endfunc + + Function getAllowConfirm As Boolean + Local lcValoare + lcValoare = This.getCValue( "update","AllowConfirm") + If Upper(lcValoare)=Upper("True") + Return .T. + Else + Return .F. + Endif + Endfunc + + Function getLastServer As Character + Return This.getCValue("server","last") + Endfunc + +Enddefine diff --git a/programe/init_program.prg b/programe/init_program.prg new file mode 100644 index 0000000..69a24c8 --- /dev/null +++ b/programe/init_program.prg @@ -0,0 +1,448 @@ +&& ------------------------------INCEPUT: Citeste_Cheie ------------------------------ +*!* Functie: Citeste_Cheie +*!* Parametri: tcKey, tcBranch, tcLeafe +*!* Data/Ora generarii: 16/02/2004 14:26:22 +*!* Autor: MARIUS.MUTU +FUNCTION Citeste_Cheie + LPARAMETERS tcKey, tnBranch, tcLeafe + + LOCAL lcRet,loApi, lcKey, lnBranch, lcLeafe + + lcKey = ALLTRIM(tcKey) + lnBranch = tnBranch + lcLeafe = ALLTRIM(tcLeafe) + lcRet = [] + + loApi = CREATE("registry") + + IF loApi.iskey(lcKey, lnBranch) + + loApi.openkey(lcKey, lnBranch,.F.) + lcRet = loApi.getkeyvalue(lcLeafe,) + ENDIF + + RELEASE loApi + RETURN lcRet + +ENDFUNC +&& ------------------------------SFARSIT: Citeste_Cheie ------------------------------ + +&& ------------------------------INCEPUT: Exista_Branch ------------------------------ +*!* Functie: Exista_Branch +*!* Parametri: tcKey +*!* Data/Ora generarii: 18/02/2004 14:01:29 +*!* Autor: MARIUS.MUTU +FUNCTION Exista_Branch + LPARAMETERS tcKey, tnBranch,tcCale + + + LOCAL lcRet,loApi, lcKey, lnBranch + + lccale="serverdate_"+STRTRAN(tcCale,"\","") + + IF EMPTY(tcKey) + lcKey = [contafin\] + lccale + [\util] + ELSE + lcKey = ALLTRIM(tcKey) + ENDIF + + IF EMPTY(tnBranch) + lnBranch = -2147483647 + ELSE + lnBranch = tnBranch + ENDIF + + + llRet = .F. + loApi = CREATE("registry") + IF loApi.iskey(lcKey, lnBranch) + llRet = .T. + ENDIF + + RELEASE loApi + + RETURN llRet + +ENDFUNC +&& ------------------------------SFARSIT: Exista_Branch ------------------------------ + +&& ------------------------------INCEPUT: Verific_Start ------------------------------ +*!* Functia: Verific_Start +*!* Parametri: tcParam +*!* Data/Ora generarii: 16/02/2004 13:32:11 +*!* Autor: MARIUS.MUTU +*!* returneza TRUE daca parametrul trimis codat in binar este egal cu variabila citita din registri +FUNCTION Verific_Start + LPARAMETERS tcSesiune,tcCale,tcAppName + + LOCAL llRet,loApi, lcKey, lnBranch, lcSesiune + + lccale="serverdate_"+STRTRAN(tcCale,"\","") + IF EMPTY(tcAppName) + lcAppName = JUSTSTEM(SYS(16,0)) + ELSE + lcAppName = ALLTRIM(tcAppName) + ENDIF + lcAppName = LOWER(lcAppName) + +*!* lcLog = '1 ' + tcSesiune + ', ' + tcCale +', ' + tcAppName +*!* poLog.Log(lcLog,PROGRAM()) + + llRet = .T. + lcKey = [contafin\]+lccale+[\util] + lnBranch = -2147483647 + lcLeafe = [session] + lcSesiune = [] + + IF EMPTY(tcSesiune) + llRet = .F. + + ELSE + lcSesiune = tcSesiune + + lcSesiune2 = VAL(Citeste_Cheie(lcKey, lnBranch, lcLeafe)) + + + + lcSesiune3 = BINTOC(lcSesiune2,4) + + lcsesiune1=SUBSTR(lcSesiune3,1,1)+SUBSTR(lcSesiune3,3,2) + + lcsesiune1 = STUFF(lcsesiune1,2,0,lcAppName) + + lcSesiune = ALLTRIM(UPPER(lcSesiune)) + lcSesiune1 = ALLTRIM(UPPER(lcSesiune1)) + + lnLen1 = LEN(lcSesiune) + lnLen2 = LEN(lcSesiune1) + + lcCar1 = '' + lcCar2 = '' + FOR i = 1 TO lnLen1 + lcCar = SUBSTR(lcSesiune,i,1) + lcCar1 = lcCar1 + TRANSFORM(ASC(lcCar)) + "_" + ENDFOR + FOR i = 1 TO lnLen2 + lcCar = SUBSTR(lcSesiune1,i,1) + lcCar2 = lcCar2 + TRANSFORM(ASC(lcCar)) + "_" + ENDFOR + +*!* lcLog = '1 ' + lcCar1 +*!* poLog.Log(lcLog,PROGRAM()) +*!* lcLog = '2 ' + lcCar2 +*!* poLog.Log(lcLog,PROGRAM()) + + IF LEN(lcSesiune1)>LEN(lcSesiune) + lcSesiune1 = LEFT(lcSesiune1,LEN(lcSesiune)) + ENDIF + + lnLen1 = LEN(lcSesiune) + lnLen2 = LEN(lcSesiune1) + + lcCar1 = '' + lcCar2 = '' + FOR i = 1 TO lnLen1 + lcCar = SUBSTR(lcSesiune,i,1) + lcCar1 = lcCar1 + TRANSFORM(ASC(lcCar)) + "_" + ENDFOR + FOR i = 1 TO lnLen2 + lcCar = SUBSTR(lcSesiune1,i,1) + lcCar2 = lcCar2 + TRANSFORM(ASC(lcCar)) + "_" + ENDFOR + +*!* lcLog = '3 ' + lcCar1 +*!* poLog.Log(lcLog,PROGRAM()) +*!* lcLog = '4 ' + lcCar2 +*!* poLog.Log(lcLog,PROGRAM()) + + IF SYS(2007,lcSesiune) # SYS(2007,lcSesiune1) + llRet = .F. + + ENDIF + ENDIF + +*!* lcLog = '4 llret ' + TRANSFORM(llRet) +*!* poLog.Log(lcLog,PROGRAM()) + + + RETURN llRet + +ENDFUNC +&& ------------------------------SFARSIT: Verific_Start ------------------------------ + +&& ------------------------------INCEPUT: Init_Cale_Temp------------------------------ +*!* Functia: Init_Cale_Temp +*!* Parametri: +*!* Data/Ora generarii: 16/02/2004 13:32:11 +*!* Autor: MARIUS.MUTU +*!* citeste directorul temporar din registrii si il creeaza +FUNCTION Init_Cale_Temp + PARAMETERS tcCale +* lccale="serverdate_"+STRTRAN(tccale,"\","") + + LOCAL lcTempPath,loApi, lcKey, lnBranch, lcSesiune + llRet = .T. + lcKey = [contafin\temporare] +* lcKey = [contafin\]+lccale+[\temporare] + lnBranch = -2147483647 + lcLeafe = [temp] + + + lcTempPath=Citeste_Cheie(lcKey, lnBranch, lcLeafe) + + RETURN lcTempPath + +ENDFUNC +&& ------------------------------SFARSIT: Init_Cale_Temp------------------------------ + +&& ------------------------------INCEPUT: Init_Cale_Server_Date ------------------------------ +*!* Functia: Init_Cale_Server_Date +*!* Parametri: +*!* Data/Ora generarii: 16/02/2004 13:32:11 +*!* Autor: MARIUS.MUTU +*!* citeste calea serverului de date din registri +FUNCTION Init_Cale_Server_Date + PARAMETERS tcCale + lccale="serverdate_"+STRTRAN(tcCale,"\","") + LOCAL lcCaleServerDate, loApi, lcKey, lnBranch, lcSesiune + lcCaleServerDate= [] + lcKey = [contafin\]+lccale + lnBranch = -2147483647 + lcLeafe = [cale] + + + lcCaleServerDate=Citeste_Cheie(lcKey, lnBranch, lcLeafe) + + + RETURN lcCaleServerDate + +ENDFUNC +&& ------------------------------SFARSIT: Init_Cale_Server_Date ------------------------------ + +&& ------------------------------INCEPUT: Init_Nume_Utilizator ------------------------------ +*!* Functia: Init_Nume_Utilizator +*!* Parametri: +*!* Data/Ora generarii: 16/02/2004 13:32:11 +*!* Autor: MARIUS.MUTU +*!* citeste numele utilizatorului logat la START din registri +FUNCTION Init_Nume_Utilizator + PARAMETERS tcCale + + LOCAL lcNumeUtilizator, loApi, lcKey, lnBranch, lcSesiune + + lccale="serverdate_"+STRTRAN(tcCale,"\","") + lcNumeUtilizator = [] + lcKey = [contafin\]+lccale+[\util] + lnBranch = -2147483647 + lcLeafe = [nume] + + + lcNumeUtilizator=Citeste_Cheie(lcKey, lnBranch, lcLeafe) + + + RETURN lcNumeUtilizator + +ENDFUNC +&& ------------------------------SFARSIT: Init_Nume_Utilizator------------------------------ +&& ------------------------------INCEPUT: Init_Id_Utilizator ------------------------------ +*!* Functia: Init_Id_Utilizator +*!* Parametri: +*!* Data/Ora generarii: 16/02/2004 13:32:11 +*!* Autor: MARIUS.MUTU +*!* citeste numele utilizatorului logat la START din registri +FUNCTION Init_Id_Utilizator + PARAMETERS tcCale + + LOCAL lnId_Utilizator, loApi, lcKey, lnBranch, lcSesiune + + lccale="serverdate_"+STRTRAN(tcCale,"\","") + lcNumeUtilizator = [] + lcKey = [contafin\]+lccale+[\util] + lnBranch = -2147483647 + lcLeafe = [id_util] + + + lnId_Utilizator=Citeste_Cheie(lcKey, lnBranch, lcLeafe) + + + RETURN lnId_Utilizator + +ENDFUNC +&& ------------------------------SFARSIT: Init_Id_Utilizator ------------------------------ +&& ------------------------------INCEPUT: Init_Nivel_Utilizator ------------------------------ +*!* Functia: Init_Nivel_Utilizator +*!* Parametri: +*!* Data/Ora generarii: 16/02/2004 13:32:11 +*!* Autor: MARIUS.MUTU +*!* citeste nivelul utilizatorului logat la START din registri +FUNCTION Init_Nivel_Utilizator + PARAMETERS tcCale + lccale="serverdate_"+STRTRAN(tcCale,"\","") + LOCAL lcNivelUtilizator, loApi, lcKey, lnBranch, lcSesiune + lcNumeUtilizator = [] + lcKey = [contafin\]+lccale+[\prog\]+gcAppName + lnBranch = -2147483647 + lcLeafe = [nivel] + + + lcNivelUtilizator=Citeste_Cheie(lcKey, lnBranch, lcLeafe) + + + RETURN lcNivelUtilizator + +ENDFUNC +&& ------------------------------SFARSIT: Init_Nume_Utilizator------------------------------ + +&& ------------------------------INCEPUT: Init_Nume_Statie------------------------------ +*!* Functia: Init_Nume_Statie +*!* Parametri: +*!* Data/Ora generarii: 16/02/2004 13:32:11 +*!* Autor: MARIUS.MUTU +*!* citeste numele statiei +FUNCTION Init_Nume_Statie + PARAMETERS tcCale + lccale="serverdate_"+STRTRAN(tcCale,"\","") + LOCAL lcNumeStatie, loApi, lcKey, lnBranch + lcNumeStatie= [] + lcKey = [contafin\]+lccale + lnBranch = -2147483647 + lcLeafe = [numestatie] + + + lcNumeStatie=Citeste_Cheie(lcKey, lnBranch, lcLeafe) + + + RETURN lcNumeStatie + +ENDFUNC +&& ------------------------------SFARSIT: Init_Nume_Statie + +&& ------------------------------INCEPUT: Init_NumeAlternativ------------------------------ +*!* Functia: Init_NumeAlternativ +*!* Parametri: +*!* Data/Ora generarii: 18/02/2004 16:29:11 +*!* Autor: MARIUS.MUTU +*!* citeste nume2 ex: (CONT2003) CASA +FUNCTION Init_NumeAlternativ + PARAMETERS tcCale,tcAppName + LOCAL lcNumeAlternativ, loApi, lcKey, lnBranch + lccale="serverdate_"+STRTRAN(tcCale,"\","") + IF EMPTY(tcAppName) + lcAppName = JUSTSTEM(SYS(16,0)) + ELSE + lcAppName = ALLTRIM(tcAppName) + ENDIF + + lcNumeAlternativ= [] +* lcKey = [contafin\prog\]+gcAppName + lcKey = [contafin\]+lccale+[\prog\]+lcAppName + lnBranch = -2147483647 + lcLeafe = [nume2] + + + lcNumeAlternativ = Citeste_Cheie(lcKey, lnBranch, lcLeafe) + + + RETURN lcNumeAlternativ + +ENDFUNC +&& ------------------------------SFARSIT: Init_NumeAlternativ + +&& ------------------------------INCEPUT: Start_Istoric ------------------------------ +*!* Functie: Start_Istoric +*!* Parametri: tcNumeUtilizator, tcNumeProgram, tcNumeStatie +*!* Data/Ora generarii: 08/03/2004 15:31:58 +*!* Autor: MARIUS.MUTU +FUNCTION Start_Istoric + LPARAMETERS tcNumeUtilizator, tcNumeProgram, tcNumeStatie, tcCaleIstoric, tcNumeIstoric, tcNumeIds + + lcNumeUtilizator = ALLTRIM(tcNumeUtilizator) + lcNumeProgram = ALLTRIM(tcNumeProgram) + lcNumeStatie = ALLTRIM(tcNumeStatie) + lcCaleIstoric = ADDBS(tcCaleIstoric) + lcNumeIstoric = ALLTRIM(tcNumeIstoric) + lcNumeIds = ALLTRIM(tcNumeIds) + + lcNume = ALLTRIM(lcNumeIstoric) + lcFile = ADDBS(lcCaleIstoric) + lcNumeIstoric + ".dbf" + + IF !FILE(lcFile) + RETURN + ENDIF + + llUsed = .T. + IF !USED('Istoric') + USE (lcFile) IN 0 SHARED AGAIN ALIAS Istoric + llUsed = .F. + ENDIF + + lcFile = ADDBS(lcCaleIstoric) + lcNumeIDS + ".dbf" + IF !FILE(lcFile) + RETURN + ENDIF + + llUsed2 = .T. + IF !USED('ids') + USE (lcFile) IN 0 SHARED AGAIN ALIAS Ids + llUsed2 = .F. + ENDIF + + lnNewId = new_id("istoric","id",.T.) + SELECT Istoric + IF FLOCK() + APPEND BLANK + REPLACE ID WITH lnNewId, statie WITH lcNUMESTATIE, PROGRAM WITH lcNumeProgram, utilizator WITH lcNumeUtilizator, dataoraint WITH DATETIME() + UNLOCK + ENDIF + + IF !llUsed + USE IN Istoric + ENDIF + + IF !llUsed2 + USE IN ids + ENDIF + + RETURN lnNewId + +ENDFUNC +&& ------------------------------SFARSIT: Start_Istoric ------------------------------ + +&& ------------------------------INCEPUT: End_Istoric ------------------------------ +*!* Functie: End_Istoric +*!* Parametri: tnIdIstoric +*!* Data/Ora generarii: 08/03/2004 15:51:32 +*!* Autor: MARIUS.MUTU +FUNCTION End_Istoric + LPARAMETERS tnIdIstoric, tcCaleIstoric, tcNumeIstoric + + lcCaleIstoric = ADDBS(tcCaleIstoric) + lcNumeIstoric = ALLTRIM(tcNumeIstoric) + + lcNume = ALLTRIM(lcNumeIstoric) + lcFile = ADDBS(lcCaleIstoric) + lcNume + ".dbf" + IF !FILE(lcFile) + RETURN + ENDIF + + llUsed = .T. + IF !USED('Istoric') + USE (lcFile) IN 0 SHARED AGAIN ALIAS Istoric + llUsed = .F. + ENDIF + + SELECT Istoric + LOCATE FOR ID = tnIdIstoric + IF FOUND() + IF FLOCK() + REPLACE dataoraies WITH DATETIME() + UNLOCK + ENDIF + ENDIF + + IF !llUsed + USE IN Istoric + ENDIF + +ENDFUNC +&& ------------------------------SFARSIT: End_Istoric ------------------------------ diff --git a/programe/lista2cursor.prg b/programe/lista2cursor.prg new file mode 100644 index 0000000..9409771 --- /dev/null +++ b/programe/lista2cursor.prg @@ -0,0 +1,38 @@ +PROCEDURE lista2cursor +PARAMETERS tcLISTA,tcAlias,tcCol1,tcSeparator +&& tcLista este un sir de caractere care contine elementele separate prin <;> default +&& tcAlias este cursorul care se completeaza - trebuie dat prin referinta +&& tcSeparator separatorul de elemente din tcLista - default este ";" - este optional +&& intoarce numarul de elemente gasite + +&& ex: lnNr = lista2array("ana;are;mere",@alista,";") + LOCAL Lclista,lcSeparator,lnNRF,lcF1,i + + lcLista=UPPER(ALLT(tcLISTA)) + IF PARAMETERS()<3 OR EMPTY(tcSeparator) + lcSeparator=";" + ELSE + lcSeparator=ALLTRIM(tcSeparator) + ENDIF + + IF RIGHT(Lclista,1)!=lcSeparator + Lclista=Lclista+lcSeparator + ENDIF + + lnNRF=OCCURS(lcSeparator,lcLista) + + + FOR i=1 TO lnNRF + lcF1=LEFT(lcLista,AT(lcSeparator,lcLista)-1) + + IF i!=lnNRF + lcLista=SUBSTR(lcLista,AT(lcSeparator,lcLista)+1) + ENDIF + + INSERT INTO (tcAlias) (&tcCol1) VALUES (lcF1) + + ENDFOR + + RETURN lnNrf + +ENDPROC && lista2cursor \ No newline at end of file diff --git a/programe/locale_genmenu.prg b/programe/locale_genmenu.prg new file mode 100644 index 0000000..adc9c79 --- /dev/null +++ b/programe/locale_genmenu.prg @@ -0,0 +1,108 @@ +* Program: _LOCALE_GENMENU.PRG +* Description: Loader to GenMenu.prg to adjust PROMPT and MESSAGE clauses for Localization. +* Created: 02/16/2004 +* Developer: Gregory L Reichert +* Copyright: Copyright (c) 2004 GLR software +*------------------------------------------------------------ + +*-------------------------------------------- +* Setup instructions. +* 1. From the main menu, Open the Options dialogs. +* 2. Click the "File Locations" tab. +* 3. Locate the "Menu Builder" item in the list. +* 4. Doble-Click the "Menu Builder" item. +* 5. Change the file reference to point to this file. +* 6. Click the "Save as Default" button. +* 7. Click the "Ok" button. +*-------------------------------------------- + + +PARAMETER m.projdbf, m.recno + +LOCAL cResult, cPath, cc +cPath = SET("Path") +cc = HOME()+";&cPath" +SET PATH TO &cc +cResult = GenMenu( (m.projdbf), (m.recno) ) +SET PATH TO &cPath + +LOCAL MenuName, cMenu +LOCAL lcLocaleObjName +lcLocaleObjName = [goLocale] + +*-------------------------------------------- +* Get menu name +*-------------------------------------------- + +USE IN (SELECT("qMenu")) +USE (m.projdbf) AGAIN IN 0 NOUPDATE ALIAS qMenu +SELECT qMenu +GOTO (m.recno) +m.MenuName = qMenu.NAME +USE IN qMenu + +*-------------------------------------------- +* If there is a "*:Locale=Yes" in the Procedure section of +* the "View->General Options", setup for translations. +*-------------------------------------------- +SELECT 0 +lcMenuFile = LEFT(m.projdbf, RAT('\', m.projdbf)) + m.MenuName +USE (m.lcMenuFile) AGAIN NOUPDATE ALIAS qMenu +GOTO TOP +m.Proc = ALLTRIM(qMenu.procedure) +USE +IF ATC("*:Locale=Yes",m.Proc)>0 + + lcMenuFile = STRTRAN(LOWER(lcMenuFile),".mnx",".mpr") + + CREATE CURSOR qMenu (LINE c(250)) + APPEND FROM (lcMenuFile) TYPE SDF + + LOCAL cLine, i, cMenu + cMenu = "" + SCAN ALL + cLine = ALLTRIM(qMenu.LINE) + + *%% Gregory L Reichert 02/16/2004 LOCALE_GENMENU.PRG : 800 : BUGBUG : Making direct reference to oLocale. It may be on Form or _SCREEN at runtime. + DO CASE + CASE ATCC([DEFINE PAD ],cLine)>0 AND ATCC([PROMPT "],cLine)>0 + i = ATCC([PROMPT "],cLine)+7 + cLine = STUFFC(cLine,i,1, lcLocaleObjName + [.getString("]) + i = RATC([" COLOR ],cLine,1) + cLine = STUFFC(cLine,i,1,[")]) + CASE ATCC([DEFINE BAR ],cLine)>0 AND ATCC([PROMPT "],cLine)>0 + i = ATCC([PROMPT "],cLine)+7 + cLine = STUFFC(cLine,i,1,lcLocaleObjName + [.getString("]) + i = RATC(["],cLine,1) + cLine = STUFFC(cLine,i,1,[")]) + CASE ATCC([MESSAGE "],cLine)>0 + i = ATCC([MESSAGE "],cLine)+8 + cLine = STUFFC(cLine,i,1,lcLocaleObjName + [.getString("]) + i = ratc(["],cLine,1) + cLine = STUFFC(cLine,i,1,[")]) + CASE ATCC([TITLE "],cLine)>0 + i = ATCC([TITLE "],cLine)+8 + cLine = STUFFC(cLine,i,1,lcLocaleObjName + [.getString("]) + i = ratc(["],cLine,1) + cLine = STUFFC(cLine,i,1,[")]) + CASE ATCC([FOOTER "],cLine)>0 + i = ATCC([FOOTER "],cLine)+8 + cLine = STUFFC(cLine,i,1,lcLocaleObjName + [.getString("]) + i = ratc(["],cLine,1) + cLine = STUFFC(cLine,i,1,[")]) + ENDCASE + + cLine = STRTRAN(cLine,"rat(","rat_c(") + cLine = STRTRAN(cLine,"ratc(","ratcc(") + cLine = STRTRAN(cLine,"at(","at_c(") + cLine = STRTRAN(cLine,"atc(","atcc(") + + cMenu = cMenu + cLine + CHR(13)+CHR(10) + ENDSCAN + STRTOFILE(cMenu, lcMenuFile, .F.) + USE IN qMenu +ENDIF + +RETURN m.cResult + + diff --git a/programe/log_mesaje.prg b/programe/log_mesaje.prg new file mode 100644 index 0000000..efbd8d5 --- /dev/null +++ b/programe/log_mesaje.prg @@ -0,0 +1,84 @@ +#DEFINE CRLF CHR(13) + CHR(10) + +DEFINE CLASS log_mesaje as Relation + +cLogFile = "" + +&& ------------------------------INCEPUT: Init ------------------------------ +*!* Procedura: Init +*!* Parametri: +*!* Data/Ora generarii: 20/02/2004 12:41:53 +*!* Autor: MARIUS.MUTU +PROCEDURE Init + LPARAMETERS tcLogFile, tlAdditive + + LOCAL lcLogFile, llAdditive + LOCAL loEx as Exception + lcLogFile = IIF(TYPE('tcLogFile') = 'C', m.tcLogFile, ADDBS(SHORTPATH(JUSTPATH(SYS(16,0)))) + "log.txt") + this.cLogFile = m.lcLogFile + + SET console off + SET TALK OFF + + + IF PARAMETERS() < 2 + llAdditive = .T. + ELSE + llAdditive = tlAdditive + ENDIF + + IF FILE(lcLogFile) + lcText = TTOC(DATETIME()) + " " + SYS(0) + IIF(TYPE('GCS')='C'," " + GCS,"") + CRLF + + TRY + STRTOFILE(lcText, lcLogFile, llAdditive) + CATCH TO loEx + * nu pot sa scriu in log + ENDTRY + ENDIF && file(lcLogFile) + +ENDPROC +&& ------------------------------SFARSIT: Init ------------------------------ + +&& ------------------------------INCEPUT: Log ------------------------------ +*!* Procedura: Log +*!* Parametri: tcText +*!* Data/Ora generarii: 20/02/2004 12:48:57 +*!* Autor: MARIUS.MUTU +PROCEDURE Log + LPARAMETERS tcText, tcProgram + + LOCAL lcText, lcLogFile + LOCAL loEx as Exception + lcLogFile = this.cLogFile + IF !FILE(lcLogFile) + RETURN + ENDIF + + SET console off + SET TALK OFF + + lcText = IIF(EMPTY(tcText),"",ALLTRIM(tcText)) + lcProgram = IIF(EMPTY(tcProgram),"",ALLTRIM(tcProgram)) + lcSpatiu = SPACE(10) + lcSeparator = " *** " + + IF FILE(lcLogFile) + lcText = TTOC(DATETIME()) + " " + SYS(0) + IIF(TYPE('GCS')='C'," " + GCS,"") + m.lcSeparator + ; + IIF(!EMPTY(lcProgram),lcProgram,"") + IIF(!EMPTY(lcText),lcSpatiu+lcText,"") + CRLF + + TRY + STRTOFILE(lcText, lcLogFile, .T.) + CATCH TO loEx + * nu pot sa scriu in log + ENDTRY + ENDIF && file(lcLogFile) + +ENDPROC +&& ------------------------------SFARSIT: Log ------------------------------ +Procedure WriteLog + Lparameters tcText, tcProgram + This.Log(m.tcText, m.tcProgram) + ENDPROC && WriteLog + +ENDDEFINE && log_mesaje \ No newline at end of file diff --git a/programe/makexmlfacturaelectronica.prg b/programe/makexmlfacturaelectronica.prg new file mode 100644 index 0000000..3f65b94 --- /dev/null +++ b/programe/makexmlfacturaelectronica.prg @@ -0,0 +1,1157 @@ +PROCEDURE makexmlfacturaelectronica + +LPARAMETERS plrectificativa, ; + mlnumefisier, ; + plcalefacturi +LOCAL mtipfactura, i, mlinii, ; + mliniireducere, ; + mliniistornare, mid, ; + maccize, mtotalcharges, ; + mtotalallowances, mmoneda, ; + minvoicetype, mcodfiscal, ; + mcomanda, mtara, mtiptert, ; + mtiptvacurent, mtvai, ; + mincasat, mindicetva, ; + mexpliesirilot +STORE 1 TO i +STORE 0 TO maccize, ; + mliniireducere, ; + mtotalcharges, ; + mtotalallowances, mtvai, ; + mincasat +STORE "" TO mexpliesirilot +IF EMPTY(pcodfiscal) + MESSAGEBOX( ; + "Completati codul fiscal al societatii, in ecranul 'Configurare societati'.", ; + 48, ; + "Date incomplete..." ; + ) + RETURN +ENDIF +IF .NOT. USED("SOC_SUPL") + myot("SOC_SUPL","SOC_SUPL", ; + 1) +ENDIF +UPDATE C_IES_FORM SET indice = ; + IIF(INLIST(cont, '667', ; + '709', '609'), -1, 0) +UPDATE C_IES_FORM SET protva = 0 ; + WHERE INLIST(tip, "U", ; + "H") +DELETE FROM C_IES_FORM WHERE ; + EMPTY(id_u) +mid = c_id_tip.id_iesire +IF pisfb + SQLEXEC(gnconnhandle, ; + "SELECT CONTRACTE.nr, CONTRACTE.data,CONTRACTE_TIP.recurenta FROM CONTRACTE INNER JOIN CONTR_DET ON CONTRACTE.id = CONTR_DET.id JOIN CONTRACTE_TIP ON CONTRACTE.cod_contr=CONTRACTE_TIP.cod WHERE id_fact=?mId", ; + "C_CONTRACT_FACTURA") +ELSE + SELECT contracte.nr, ; + contracte.data, ; + contracte_tip.recurenta ; + FROM CONTRACTE INNER ; + JOIN CONTR_DET ON ; + contracte.id = ; + contr_det.id INNER ; + JOIN CONTRACTE_TIP ON ; + contracte.cod_contr = ; + contracte_tip.cod ; + WHERE id_fact = mid ; + INTO CURSOR ; + C_CONTRACT_FACTURA +ENDIF +SELECT protva, ROUND(SUM(valoare) * ; + protva / 100, 2) AS tva, ; + SUM(valoare) AS valoare, ; + ' ' AS tip, REPLICATE(' ', ; + 30) AS explicatie, ; + REPLICATE(' ', 30) AS ; + motiv FROM C_IES_FORM ; + GROUP BY protva INTO ; + CURSOR C_TVA_FACTURA ; + READWRITE +SELECT c_tva_factura +SUM tva TO mtotaltva +INDEX ON protva TAG procent +IF pisfb + SQLEXEC(gnconnhandle, ; + "SELECT DISTINCT ies_det.id_u,com_m.nr,com_m.data FROM iesiri INNER JOIN ies_det ON iesiri.id_iesire=ies_det.id_iesire" + ; + " JOIN FACT_COMENZI ON ies_det.id_u=fact_comenzi.id_factura JOIN COMENZI ON FACT_COMENZI.id_comanda = comenzi.id_com JOIN com_m ON comenzi.id=com_m.id WHERE IESIRI.id_iesire=?mId", ; + "C_COMENZI_FACTURA") +ELSE + SELECT DISTINCT ies_det.id_u, ; + com_m.nr, com_m.data ; + FROM iesiri INNER ; + JOIN ies_det ON ; + iesiri.id_iesire = ; + ies_det.id_iesire ; + INNER JOIN ; + FACT_COMENZI ON ; + ies_det.id_u = ; + fact_comenzi.id_factura ; + INNER JOIN COMENZI ON ; + fact_comenzi.id_comanda = ; + comenzi.id_com INNER ; + JOIN com_m ON ; + comenzi.id = com_m.id ; + WHERE ; + iesiri.id_iesire = ; + mid INTO CURSOR ; + C_COMENZI_FACTURA +ENDIF +SELECT DISTINCT nr, data FROM ; + C_COMENZI_FACTURA INTO ; + CURSOR ; + C_COMENZI_INDIVIDUALE +IF RECCOUNT("C_COMENZI_INDIVIDUALE") = ; + 1 + mcomanda = ALLTRIM(c_comenzi_individuale.nr) + ; + "/" + ; + ALLTRIM(DTOC(c_comenzi_individuale.data)) +ELSE + mcomanda = "" +ENDIF +IF pisfb + SQLEXEC(gnconnhandle, ; + "SELECT SUM(suma) AS suma FROM NOTE_FACTURI WHERE id_factura=?mId", ; + "C_FB") + IF RECCOUNT("C_FB") > 0 ; + .AND. .NOT. ; + ISNULL(c_fb.suma) + mincasat = c_fb.suma + ENDIF +ELSE + SELECT SUM(suma) FROM ; + NOTE_FACTURI WHERE ; + id_factura = mid INTO ; + ARRAY ; + atestincasareefactura + IF _TALLY > 0 .AND. .NOT. ; + ISNULL(atestincasareefactura) + mincasat = atestincasareefactura(1) + ENDIF +ENDIF +SELECT c_ies_form +mmoneda = ALLTRIM(c_ies_form.moneda) +mcodfiscal = c_ies_form.cod_fiscal +mtipfactura = c_ies_form.tip +mtara = c_ies_form.tara +mtiptert = c_ies_form.tip_tert +mtiptvacurent = gettva(c_ies_form.data) +mtvai = c_ies_form.tvai +minf_suplm = c_ies_form.inf_suplm +IF .NOT. INLIST(mtipfactura, ' ', ; + 'S', 'M', 'U', 'H') + MESSAGEBOX( ; + "Pentru acest document nu se genereaza factura electronica momentan.", ; + 64, "Atentie...") + RETURN +ENDIF +COUNT TO mlinii +COUNT FOR indice = -1 TO ; + mliniireducere +COUNT FOR indice >= 0 .AND. ; + valoare < 0 TO ; + mliniistornare +COUNT FOR cont = '419' TO ; + mnrliniiavans +SUM ABS(valoare) TO mdiscounturi ; + FOR indice = -1 +mtotalallowances = mtotalallowances + ; + mdiscounturi +LOCATE +SELECT c_tva_factura +SCAN + DO CASE + CASE mtipfactura = 'T' ; + .OR. mtiptert = ; + 'I' + REPLACE tip WITH ; + 'AE', ; + explicatie ; + WITH ; + 'Taxare inversa', ; + motiv WITH ; + 'VATEX-EU-AE' + CASE mtipfactura = 'S' + REPLACE tip WITH ; + 'E', ; + explicatie ; + WITH ; + 'Scutit cu drept de deducere' + CASE EMPTY(mtipfactura) ; + .AND. ; + c_tva_factura.protva = ; + 0 + IF mtiptvacurent < ; + 3 + REPLACE tip ; + WITH ; + 'Z' + ELSE + REPLACE tip ; + WITH ; + 'Z' + ENDIF + CASE mtipfactura = 'H' + REPLACE tip WITH ; + 'E', ; + explicatie ; + WITH ; + 'Bunuri second-hand', ; + motiv WITH ; + 'VATEX-EU-F' + CASE mtipfactura = 'U' + REPLACE tip WITH ; + 'E', ; + explicatie ; + WITH ; + 'Regim special agentii de turism', ; + motiv WITH ; + 'VATEX-EU-D' + OTHERWISE + REPLACE tip WITH ; + 'S' + ENDCASE +ENDSCAN +IF c_ies_form.accize > 0 + maccize = c_ies_form.accize + mtotalcharges = mtotalcharges + ; + maccize + SELECT COUNT(*) FROM ; + C_TVA_FACTURA WHERE ; + tip = 'Z' INTO ARRAY ; + agetcotaz + IF _TALLY > 0 .AND. .NOT. ; + ISNULL(agetcotaz(1)) ; + .AND. agetcotaz(1) > 0 + UPDATE C_TVA_FACTURA ; + SET valoare = ; + valoare + ; + maccize WHERE ; + tip = 'Z' + ELSE + INSERT INTO ; + C_TVA_FACTURA ; + (protva, tva, ; + valoare, tip, ; + explicatie, ; + motiv) VALUES (0, ; + 0, maccize, 'Z', ; + 'Acciza', '') + ENDIF +ENDIF +SELECT c_ies_form +LOCATE +oxml = CREATEOBJECT("msxml2.DOMDocument") +oxml.appendchild(oxml.createnode("PROCESSINGINSTRUCTION", ; + "xml","")) +oinvoice = oxml.appendchild(oxml.createelement("Invoice")) +oinvoice.setattribute("xmlns:cbc", ; + "urn:oasis:names:specification:ubl:schema:xsd:CommonBasicComponents-2" ; + ) +oinvoice.setattribute("xmlns:udt", ; + "urn:oasis:names:specification:ubl:schema:xsd:UnqualifiedDataTypes-2" ; + ) +oinvoice.setattribute("xmlns:cac", ; + "urn:oasis:names:specification:ubl:schema:xsd:CommonAggregateComponents-2" ; + ) +oinvoice.setattribute("xmlns:ccts", ; + "urn:un:unece:uncefact:documentation:2") +oinvoice.setattribute("xmlns", ; + "urn:oasis:names:specification:ubl:schema:xsd:Invoice-2" ; + ) +oinvoice.setattribute("xmlns:qdt", ; + "urn:oasis:names:specification:ubl:schema:xsd:QualifiedDataTypes-2" ; + ) +oinvoice.setattribute("xsi:schemaLocation", ; + "urn:oasis:names:specification:ubl:schema:xsd:Invoice-2 ../../UBL-2.1(1)/xsd/maindoc/UBL-Invoice-2.1.xsd" ; + ) +oinvoice.setattribute("xmlns:xsi", ; + "http://www.w3.org/2001/XMLSchema-instance" ; + ) +oinvoice.appendchild(oxml.createelement("cbc:UBLVersionID")) +oinvoice.lastchild.text = "2.1" +oinvoice.appendchild(oxml.createelement("cbc:CustomizationID")) +oinvoice.lastchild.text = "urn:cen.eu:en16931:2017#compliant#urn:efactura.mfinante.ro:CIUS-RO:1.0.0" +oinvoice.appendchild(oxml.createelement("cbc:ID")) +oinvoice.lastchild.text = ALLTRIM(c_ies_form.nr) +oinvoice.appendchild(oxml.createelement("cbc:IssueDate")) +oinvoice.lastchild.text = ALLTRIM(STR(YEAR(c_ies_form.data))) + ; + "-" + ; + PADL(ALLTRIM(STR(MONTH(c_ies_form.data))), ; + 2, "0") + ; + "-" + ; + PADL(ALLTRIM(STR(DAY(c_ies_form.data))), ; + 2, ; + "0") +IF .NOT. ; + EMPTY(c_ies_form.scadent) ; + .AND. .NOT. ; + ISNULL(c_ies_form.scadent) ; + .AND. c_ies_form.scadent <> ; + {} + oinvoice.appendchild(oxml.createelement("cbc:DueDate")) + oinvoice.lastchild.text = ALLTRIM(STR(YEAR(c_ies_form.scadent))) + ; + "-" + ; + PADL(ALLTRIM(STR(MONTH(c_ies_form.scadent))), ; + 2, ; + "0") + ; + "-" + ; + PADL(ALLTRIM(STR(DAY(c_ies_form.scadent))), ; + 2, ; + "0") +ENDIF +minvoicetype = "" +DO CASE + CASE plrectificativa = 1 + minvoicetype = "384" + CASE ALLTRIM(getnrfromstring(mcodfiscal)) == ; + ALLTRIM(pcodfiscal) + minvoicetype = "389" + CASE mliniistornare = mlinii + minvoicetype = "381" + OTHERWISE + minvoicetype = "380" +ENDCASE +oinvoice.appendchild(oxml.createelement("cbc:InvoiceTypeCode")) +oinvoice.lastchild.text = minvoicetype +IF mtvai = 1 + oinvoice.appendchild(oxml.createelement("cbc:Note")) + oinvoice.lastchild.text = "TVA la incasare" +ENDIF +IF .NOT. EMPTY(mtipfactura = 'T' ; + .OR. mtiptert = 'I') + oinvoice.appendchild(oxml.createelement("cbc:Note")) + oinvoice.lastchild.text = "Taxare inversa" +ENDIF +IF .NOT. ; + EMPTY(c_ies_form.inf_suplm) + oinvoice.appendchild(oxml.createelement("cbc:Note")) + oinvoice.lastchild.text = ALLTRIM(minf_suplm) +ENDIF +oinvoice.appendchild(oxml.createelement("cbc:DocumentCurrencyCode")) +IF pisexport + oinvoice.lastchild.text = ALLTRIM(moneda) +ELSE + oinvoice.lastchild.text = "RON" +ENDIF +oinvoice.appendchild(oxml.createelement("cbc:TaxCurrencyCode")) +oinvoice.lastchild.text = "RON" +IF .NOT. EMPTY(mcomanda) + oorderreference = oinvoice.appendchild(oxml.createelement("cac:OrderReference")) + oorderreference.appendchild(oxml.createelement("cbc:ID")) + oorderreference.lastchild.text = ; + mcomanda +ENDIF +IF RECCOUNT("C_CONTRACT_FACTURA") > ; + 0 + ocontractreference = oinvoice.appendchild(oxml.createelement("cac:ContractDocumentReference")) + ocontractreference.appendchild(oxml.createelement("cbc:ID")) + ocontractreference.lastchild.text = ; + ALLTRIM(c_contract_factura.nr) + ; + "/" + ; + ALLTRIM(DTOC(c_contract_factura.data)) +ENDIF +osupplier = oinvoice.appendchild(oxml.createelement("cac:AccountingSupplierParty")) +oparty = osupplier.appendchild(oxml.createelement("cac:Party")) +IF EMPTY(pcs.email) + MESSAGEBOX( ; + "Completati adresa de email a societatii in ecranul 'Configurare societati'." + ; + CHR(13) + ; + "Aceasta este necesara pentru primirea raspunsului facturii electronice.", ; + 48, ; + "Date incomplete..." ; + ) + RETURN +ENDIF +oendpointid = oparty.appendchild(oxml.createelement("cbc:EndpointID")) +oendpointid.setattribute("schemeID", ; + "EM") +oendpointid.text = ALLTRIM(pcs.email) +IF .NOT. ; + EMPTY(c_ies_form.cod_fiscal) + opartyidentification = oparty.appendchild(oxml.createelement("cac:PartyIdentification")) + oidparty = opartyidentification.appendchild(oxml.createelement("cbc:ID")) + oidparty.text = pcodfiscal +ENDIF +oadresa = oparty.appendchild(oxml.createelement("cac:PostalAddress")) +IF EMPTY(pcs.strada) + MESSAGEBOX( ; + "Completati strada in ecranul 'Configurare societati'.", ; + 48, ; + "Date incomplete..." ; + ) + RETURN +ENDIF +oadresa.appendchild(oxml.createelement("cbc:StreetName")) +oadresa.lastchild.text = ALLTRIM(pcs.strada) +IF EMPTY(pcs.localitate) + MESSAGEBOX( ; + "Completati localitatea in ecranul 'Configurare societati'.", ; + 48, ; + "Date incomplete..." ; + ) + RETURN +ENDIF +IF EMPTY(pcs.judet) + MESSAGEBOX( ; + "Alegeti judetul in ecranul 'Configurare societati'.", ; + 48, ; + "Date incomplete..." ; + ) + RETURN +ELSE + IF pcs.judet = "BUCURESTI" ; + .AND. EMPTY(pcs.sect) + MESSAGEBOX( ; + "Completati sectorul in ecranul 'Configurare societati'.", ; + 48, ; + "Date incomplete..." ; + ) + RETURN + ENDIF +ENDIF +oadresa.appendchild(oxml.createelement("cbc:CityName")) +IF pcs.judet = "B " + oadresa.lastchild.text = "SECTOR " + ; + ALLTRIM(pcs.sect) +ELSE + oadresa.lastchild.text = ALLTRIM(UPPER(pcs.localitate)) +ENDIF +SELECT cod FROM FREETAB\JUDETE ; + WHERE denjud = pcs.judet ; + INTO ARRAY agetjudadresa +mcodjudet = "" +IF _TALLY > 0 .AND. .NOT. ; + ISNULL(agetjudadresa(1)) + mcodjudet = agetjudadresa(1) +ENDIF +oadresa.appendchild(oxml.createelement("cbc:CountrySubentity")) +oadresa.lastchild.text = "RO-" + ; + ALLTRIM(mcodjudet) +otara = oadresa.appendchild(oxml.createelement("cac:Country")) +otara.appendchild(oxml.createelement("cbc:IdentificationCode")) +otara.lastchild.text = "RO" +otaxe = oparty.appendchild(oxml.createelement("cac:PartyTaxScheme")) +otaxe.appendchild(oxml.createelement("cbc:CompanyID")) +otaxe.lastchild.text = "RO" + ; + pcodfiscal +oschemataxe = otaxe.appendchild(oxml.createelement("cac:TaxScheme")) +oschemataxe.appendchild(oxml.createelement("cbc:ID")) +oschemataxe.lastchild.text = "VAT" +oformalegala = oparty.appendchild(oxml.createelement("cac:PartyLegalEntity")) +oformalegala.appendchild(oxml.createelement("cbc:RegistrationName")) +oformalegala.lastchild.text = ALLTRIM(pdensoc) +IF .NOT. EMPTY(pregcom) + oidentificatorformalegala = oformalegala.appendchild(oxml.createelement("cbc:CompanyID")) + oidentificatorformalegala.text = ; + ALLTRIM(pregcom) +ENDIF +mdensoc = UPPER(pdensoc) + " " +mprefix = "" +msufix = "" +DO CASE + CASE mdensoc = "S.C. " .OR. ; + mdensoc = "SC " + mprefix = "Societate comerciala" + CASE mdensoc = "P.F. " .OR. ; + mdensoc = "PF " + mprefix = "Persoana fizica" + CASE mdensoc = "P.F.A. " ; + .OR. mdensoc = "PFA " + mprefix = "Persoana fizica autorizata" + CASE mdensoc = "A.F. " .OR. ; + mdensoc = "AF " + mprefix = "Asociatie familiala" +ENDCASE +DO CASE + CASE " S.R.L." $ mdensoc ; + .OR. " SRL " $ mdensoc + msufix = "Societate cu raspundere limitata" + CASE " S.A." $ mdensoc .OR. ; + " SA " $ mdensoc + msufix = "Societate pe actiuni" +ENDCASE +IF .NOT. EMPTY(mprefix) + oformalegala.appendchild(oxml.createelement("cbc:CompanyLegalForm")) + oformalegala.lastchild.text = ; + ALLTRIM(mprefix) +ENDIF +IF .NOT. EMPTY(pcs.numea) .OR. ; + .NOT. EMPTY(pcs.prea) .OR. ; + .NOT. EMPTY(pcs.email) .OR. ; + .NOT. EMPTY(pcs.telefon) + ocontact = oparty.appendchild(oxml.createelement("cac:Contact")) + IF .NOT. EMPTY(pcs.numea) ; + .OR. .NOT. ; + EMPTY(pcs.prea) + ocontact.appendchild(oxml.createelement("cbc:Name")) + ocontact.lastchild.text = ; + ALLTRIM(pcs.numea) + ; + " " + ; + ALLTRIM(pcs.prea) + ENDIF + IF .NOT. EMPTY(pcs.telefon) + ocontact.appendchild(oxml.createelement("cbc:Telephone")) + ocontact.lastchild.text = ; + ALLTRIM(pcs.telefon) + ENDIF + IF .NOT. EMPTY(pcs.email) + ocontact.appendchild(oxml.createelement("cbc:ElectronicMail")) + ocontact.lastchild.text = ; + ALLTRIM(pcs.email) + ENDIF +ENDIF +SELECT c_ies_form +LOCATE +ocustomer = oinvoice.appendchild(oxml.createelement("cac:AccountingCustomerParty")) +opartys = ocustomer.appendchild(oxml.createelement("cac:Party")) +IF .NOT. EMPTY(c_ies_form.email) + oendpointid = opartys.appendchild(oxml.createelement("cbc:EndpointID")) + oendpointid.setattribute("schemeID", ; + "EM") + oendpointid.text = ALLTRIM(c_ies_form.email) +ENDIF +IF .NOT. ; + EMPTY(c_ies_form.cod_fiscal) ; + .AND. ; + verifcf(ALLTRIM(c_ies_form.cod_fiscal)) + opartyidentifications = opartys.appendchild(oxml.createelement("cac:PartyIdentification")) + oidpartys = opartyidentifications.appendchild(oxml.createelement("cbc:ID")) + oidpartys.text = ALLTRIM(c_ies_form.cod_fiscal) +ENDIF +oadresas = opartys.appendchild(oxml.createelement("cac:PostalAddress")) +IF EMPTY(c_ies_form.adresa) + MESSAGEBOX( ; + "Completati adresa clientului.", ; + 48, ; + "Date incomplete..." ; + ) + RETURN +ENDIF +oadresas.appendchild(oxml.createelement("cbc:StreetName")) +oadresas.lastchild.text = ALLTRIM(c_ies_form.adresa) +IF EMPTY(c_ies_form.localitate) + MESSAGEBOX( ; + "Completati localitatea in adresa clientului.", ; + 48, ; + "Date incomplete..." ; + ) + RETURN +ENDIF +oadresas.appendchild(oxml.createelement("cbc:CityName")) +IF EMPTY(c_ies_form.judet) + MESSAGEBOX( ; + "Alegeti judetul clientului.", ; + 48, ; + "Date incomplete..." ; + ) + RETURN +ENDIF +IF c_ies_form.judet = "B " + msector = "" + IF .NOT. "SECTOR" $ ; + UPPER(c_ies_form.localitate) + MESSAGEBOX( ; + "Alegeti un sector valid pentru Bucuresti in adresa clientului.", ; + 48, ; + "Atentie...") + RETURN + ENDIF + oadresas.lastchild.text = "SECTOR " + ; + RIGHT(ALLTRIM(c_ies_form.localitate), ; + 1) +ELSE + oadresas.lastchild.text = ALLTRIM(c_ies_form.localitate) +ENDIF +oadresas.appendchild(oxml.createelement("cbc:CountrySubentity")) +oadresas.lastchild.text = ALLTRIM(c_ies_form.judet) +otaras = oadresas.appendchild(oxml.createelement("cac:Country")) +otaras.appendchild(oxml.createelement("cbc:IdentificationCode")) +otaras.lastchild.text = IIF( ; + .NOT. ; + EMPTY(c_ies_form.tara), ; + c_ies_form.tara, ; + "RO") +IF (EMPTY(c_ies_form.tara) .OR. ; + c_ies_form.tara = 'RO') .AND. ; + .NOT. ; + EMPTY(c_ies_form.cod_fiscal) ; + .AND. ; + verifcf(c_ies_form.cod_fiscal) + otaxes = opartys.appendchild(oxml.createelement("cac:PartyTaxScheme")) + otaxes.appendchild(oxml.createelement("cbc:CompanyID")) + otaxes.lastchild.text = "RO" + ; + getnrfromstring(c_ies_form.cod_fiscal) + oschemataxes = otaxes.appendchild(oxml.createelement("cac:TaxScheme")) + oschemataxes.appendchild(oxml.createelement("cbc:ID")) + oschemataxes.lastchild.text = ; + "VAT" +ENDIF +oformalegalas = opartys.appendchild(oxml.createelement("cac:PartyLegalEntity")) +oformalegalas.appendchild(oxml.createelement("cbc:RegistrationName")) +oformalegalas.lastchild.text = ALLTRIM(c_ies_form.den_cli) +IF .NOT. ; + EMPTY(c_ies_form.reg_com) + oidentificatorformalegalas = ; + oformalegalas.appendchild(oxml.createelement("cbc:CompanyID")) + oidentificatorformalegalas.text = ; + ALLTRIM(c_ies_form.reg_com) +ENDIF +mdensoc = ALLTRIM(c_ies_form.den_cli) + ; + " " +mprefix = "" +msufix = "" +DO CASE + CASE mdensoc = "S.C. " .OR. ; + mdensoc = "SC " + mprefix = "Societate comerciala" + CASE mdensoc = "P.F. " .OR. ; + mdensoc = "PF " + mprefix = "Persoana fizica" + CASE mdensoc = "P.F.A. " ; + .OR. mdensoc = "PFA " + mprefix = "Persoana fizica autorizata" + CASE mdensoc = "A.F. " .OR. ; + mdensoc = "AF " + mprefix = "Asociatie familiala" +ENDCASE +DO CASE + CASE " S.R.L." $ mdensoc ; + .OR. " SRL " $ mdensoc + msufix = "Societate cu raspundere limitata" + CASE " S.A." $ mdensoc .OR. ; + " SA " $ mdensoc + msufix = "Societate pe actiuni" +ENDCASE +IF .NOT. EMPTY(mprefix) + oformalegalas.appendchild(oxml.createelement("cbc:CompanyLegalForm")) + oformalegalas.lastchild.text = ; + mprefix +ENDIF +IF .NOT. EMPTY(c_ies_form.tel) ; + .OR. .NOT. ; + EMPTY(c_ies_form.email) .OR. ; + .NOT. ; + EMPTY(c_ies_form.delegat) + ocontacts = opartys.appendchild(oxml.createelement("cac:Contact")) + IF .NOT. ; + EMPTY(c_ies_form.delegat) + ocontacts.appendchild(oxml.createelement("cbc:Name")) + ocontacts.lastchild.text = ; + ALLTRIM(c_ies_form.delegat) + ENDIF + IF .NOT. ; + EMPTY(c_ies_form.tel) + ocontacts.appendchild(oxml.createelement("cbc:Telephone")) + ocontacts.lastchild.text = ; + ALLTRIM(c_ies_form.tel) + ENDIF + IF .NOT. ; + EMPTY(c_ies_form.email) + ocontacts.appendchild(oxml.createelement("cbc:ElectronicMail")) + ocontacts.lastchild.text = ; + ALLTRIM(c_ies_form.email) + ENDIF +ENDIF +IF USED("C_GET_ADRLIV") .AND. ; + RECCOUNT("C_GET_ADRLIV") > 0 + SELECT c_get_adrliv + odelivery = oinvoice.appendchild(oxml.createelement("cac:Delivery")) + odeliverylocation = odelivery.appendchild(oxml.createelement("cac:DeliveryLocation")) + oadresalivrare = odeliverylocation.appendchild(oxml.createelement("cac:Address")) + oadresalivrare.appendchild(oxml.createelement("cbc:StreetName")) + oadresalivrare.lastchild.text = ; + ALLTRIM(c_get_adrliv.adresa) + oadresalivrare.appendchild(oxml.createelement("cbc:CityName")) + IF EMPTY(c_get_adrliv.localitate) + MESSAGEBOX( ; + "Alegeti localitatea din adresa de livrare.", ; + 48, ; + "Atentie...") + RETURN + ENDIF + IF EMPTY(c_get_adrliv.judet) + MESSAGEBOX( ; + "Alegeti judetul din adresa de livrare.", ; + 48, ; + "Atentie...") + RETURN + ENDIF + IF c_get_adrliv.judet = "B " + msector = "" + IF .NOT. "SECTOR" $ ; + UPPER(c_get_adrliv.localitate) + MESSAGEBOX( ; + "Alegeti un sector valid pentru Bucuresti, in adresa de livrare.", ; + 48, ; + "Atentie...") + RETURN + ENDIF + oadresalivrare.lastchild.text = ; + "SECTOR " + ; + RIGHT(ALLTRIM(c_get_adrliv.localitate), ; + 1) + ELSE + oadresalivrare.lastchild.text = ; + ALLTRIM(c_get_adrliv.localitate) + ENDIF + oadresalivrare.appendchild(oxml.createelement("cbc:CountrySubentity")) + oadresalivrare.lastchild.text = ; + "RO-" + ; + ALLTRIM(c_get_adrliv.judet) + otaralivrare = oadresalivrare.appendchild(oxml.createelement("cac:Country")) + otaralivrare.appendchild(oxml.createelement("cbc:IdentificationCode")) + otaralivrare.lastchild.text = ; + "RO" +ENDIF +SELECT c_ies_form +IF mliniireducere > 0 + SELECT c_ies_form + SCAN FOR indice = -1 + oallowancecharge = oinvoice.appendchild(oxml.createelement("cac:AllowanceCharge")) + oallowancecharge.appendchild(oxml.createelement("cbc:ChargeIndicator")) + oallowancecharge.lastchild.text = ; + "false" + oallowancecharge.appendchild(oxml.createelement("cbc:AllowanceChargeReasonCode")) + oallowancecharge.lastchild.text = ; + "95" + oallowancecharge.appendchild(oxml.createelement("cbc:AllowanceChargeReason")) + oallowancecharge.lastchild.text = ; + IIF(c_ies_form.cont = ; + "667", "Scont", ; + IIF(c_ies_form.cont = ; + "709", ; + "Reducere comerciala", ; + "Discount")) + odocallowancecharge = oallowancecharge.appendchild(oxml.createelement("cbc:Amount")) + odocallowancecharge.setattribute("currencyID", ; + mmoneda) + odocallowancecharge.text = ; + ALLTRIM(STR(ABS(c_ies_form.valoare), ; + 15, 2)) + otaxcategoryallowance = ; + oallowancecharge.appendchild(oxml.createelement("cac:TaxCategory")) + otaxcategoryallowance.appendchild(oxml.createelement("cbc:ID")) + SELECT tip FROM ; + C_TVA_FACTURA ; + WHERE protva = ; + c_ies_form.protva ; + INTO ARRAY ; + agettipcota + otaxcategoryallowance.lastchild.text = ; + ALLTRIM(agettipcota(1)) + otaxcategoryallowance.appendchild(oxml.createelement("cbc:Percent")) + otaxcategoryallowance.lastchild.text = ; + ALLTRIM(STR(c_ies_form.protva, ; + 2, 0)) + otaxschemeallowance = otaxcategoryallowance.appendchild(oxml.createelement("cac:TaxScheme")) + otaxschemeallowance.appendchild(oxml.createelement("cbc:ID")) + otaxschemeallowance.lastchild.text = ; + "VAT" + ENDSCAN +ENDIF +IF maccize > 0 + oallowancecharge = oinvoice.appendchild(oxml.createelement("cac:AllowanceCharge")) + oallowancecharge.appendchild(oxml.createelement("cbc:ChargeIndicator")) + oallowancecharge.lastchild.text = ; + "true" + oallowancecharge.appendchild(oxml.createelement("cbc:AllowanceChargeReason")) + oallowancecharge.lastchild.text = ; + "Acciza" + odocallowancecharge = oallowancecharge.appendchild(oxml.createelement("cbc:Amount")) + odocallowancecharge.setattribute("currencyID", ; + mmoneda) + odocallowancecharge.text = ALLTRIM(STR(maccize, ; + 15, ; + 2)) + otaxcategorycharge = oallowancecharge.appendchild(oxml.createelement("cac:TaxCategory")) + otaxcategorycharge.appendchild(oxml.createelement("cbc:ID")) + otaxcategorycharge.lastchild.text = ; + "Z" + otaxcategorycharge.appendchild(oxml.createelement("cbc:Percent")) + otaxcategorycharge.lastchild.text = ; + "0" + otaxschemeallowance = otaxcategorycharge.appendchild(oxml.createelement("cac:TaxScheme")) + otaxschemeallowance.appendchild(oxml.createelement("cbc:ID")) + otaxschemeallowance.lastchild.text = ; + "VAT" +ENDIF +IF RECCOUNT("C_TVA_FACTURA") > 0 + otaxtotal = oinvoice.appendchild(oxml.createelement("cac:TaxTotal")) + mtvatotal = 000000000.00 + IF .NOT. INLIST(mtipfactura, ; + "U", "H") + SELECT ROUND(SUM(valoare * ; + protva / 100), ; + 2) AS tva FROM ; + C_TVA_FACTURA ; + GROUP BY protva ; + INTO CURSOR ; + C_COTE_T + SELECT c_cote_t + SUM (tva) TO mtvatotal + ELSE + SUM (tva) TO mtvatotal + ENDIF + ototal = otaxtotal.appendchild(oxml.createelement("cbc:TaxAmount")) + ototal.setattribute("currencyID", ; + mmoneda) + ototal.text = ALLTRIM(STR(mtvatotal, ; + 15, 2)) + SELECT c_tva_factura + SET ORDER TO procent + LOCATE + SCAN + otaxablesubtotal = otaxtotal.appendchild(oxml.createelement("cac:TaxSubtotal")) + osubtotal = otaxablesubtotal.appendchild(oxml.createelement("cbc:TaxableAmount")) + osubtotal.setattribute("currencyID", ; + mmoneda) + osubtotal.text = ALLTRIM(STR(c_tva_factura.valoare, ; + 15, ; + 2)) + osubtotaltaxa = otaxablesubtotal.appendchild(oxml.createelement("cbc:TaxAmount")) + osubtotaltaxa.setattribute("currencyID", ; + mmoneda) + osubtotaltaxa.text = ALLTRIM(STR(c_tva_factura.tva, ; + 15, ; + 2)) + otaxcategorytotals = otaxablesubtotal.appendchild(oxml.createelement("cac:TaxCategory")) + otaxcategorytotals.appendchild(oxml.createelement("cbc:ID")) + otaxcategorytotals.lastchild.text = ; + ALLTRIM(c_tva_factura.tip) + otaxcategorytotals.appendchild(oxml.createelement("cbc:Percent")) + otaxcategorytotals.lastchild.text = ; + ALLTRIM(STR(c_tva_factura.protva, ; + 2, 0)) + IF .NOT. ; + EMPTY(c_tva_factura.motiv) + otaxcategorytotals.appendchild(oxml.createelement("cbc:TaxExemptionReasonCode")) + otaxcategorytotals.lastchild.text = ; + ALLTRIM(c_tva_factura.motiv) + ENDIF + IF .NOT. ; + EMPTY(c_tva_factura.explicatie) + otaxcategorytotals.appendchild(oxml.createelement("cbc:TaxExemptionReason")) + otaxcategorytotals.lastchild.text = ; + ALLTRIM(c_tva_factura.explicatie) + ENDIF + otaxschemetotals = otaxcategorytotals.appendchild(oxml.createelement("cac:TaxScheme")) + otaxschemetotals.appendchild(oxml.createelement("cbc:ID")) + otaxschemetotals.lastchild.text = ; + "VAT" + ENDSCAN + SELECT c_ies_form + LOCATE + IF mmoneda <> "RON" + otaxtotal = oinvoice.appendchild(oxml.createelement("cac:TaxTotal")) + ototal = otaxtotal.appendchild(oxml.createelement("cbc:TaxAmount")) + ototal.setattribute("currencyID", ; + "RON") + ototal.text = ALLTRIM(STR(ROUND(mtvatotal * ; + c_ies_form.curs, ; + 2), 15, ; + 2)) + ENDIF +ENDIF +SELECT c_ies_form +LOCATE +SUM valoare TO mtotalnet FOR ; + indice >= 0 +LOCATE +mtotalnetliniifactura = mtotalnet +mtotalnet = mtotalnet + ; + mtotalcharges - ; + mtotalallowances +mtotalbrut = mtotalnet + ; + mtotaltva +omonetarytotal = oinvoice.appendchild(oxml.createelement("cac:LegalMonetaryTotal")) +ototalnet = omonetarytotal.appendchild(oxml.createelement("cbc:LineExtensionAmount")) +ototalnet.setattribute("currencyID", ; + mmoneda) +ototalnet.text = ALLTRIM(STR(mtotalnetliniifactura, ; + 15, 2)) +ototalnetfaratva = omonetarytotal.appendchild(oxml.createelement("cbc:TaxExclusiveAmount")) +ototalnetfaratva.setattribute("currencyID", ; + mmoneda) +ototalnetfaratva.text = ALLTRIM(STR(mtotalnet, ; + 15, 2)) +ototalbrut = omonetarytotal.appendchild(oxml.createelement("cbc:TaxInclusiveAmount")) +ototalbrut.setattribute("currencyID", ; + mmoneda) +ototalbrut.text = ALLTRIM(STR(mtotalbrut, ; + 15, 2)) +IF mtotalallowances > 0 + ototaldeduceri = omonetarytotal.appendchild(oxml.createelement("cbc:AllowanceTotalAmount")) + ototaldeduceri.setattribute("currencyID", ; + mmoneda) + ototaldeduceri.text = ALLTRIM(STR(mtotalallowances, ; + 15, ; + 2)) +ENDIF +IF mtotalcharges > 0 + ototaltaxe = omonetarytotal.appendchild(oxml.createelement("cbc:ChargeTotalAmount")) + ototaltaxe.setattribute("currencyID", ; + mmoneda) + ototaltaxe.text = ALLTRIM(STR(mtotalcharges, ; + 15, 2)) +ENDIF +IF mincasat > 0 + ototalincasat = omonetarytotal.appendchild(oxml.createelement("cbc:PrepaidAmount")) + ototalincasat.setattribute("currencyID", ; + mmoneda) + ototalincasat.text = ALLTRIM(STR(mincasat, ; + 15, ; + 2)) +ENDIF +ototalplata = omonetarytotal.appendchild(oxml.createelement("cbc:PayableAmount")) +ototalplata.setattribute("currencyID", ; + mmoneda) +ototalplata.text = ALLTRIM(STR(mtotalbrut - ; + mincasat, 15, ; + 2)) +SELECT c_ies_form +SCAN FOR indice = 0 + oinvoiceline = oinvoice.appendchild(oxml.createelement("cac:InvoiceLine")) + oinvoiceline.appendchild(oxml.createelement("cbc:ID")) + oinvoiceline.lastchild.text = ; + ALLTRIM(STR(i, 4, 0)) + IF .NOT. ; + EMPTY(ALLTRIM(c_ies_form.text_supl)) + oinvoiceline.appendchild(oxml.createelement("cbc:Note")) + oinvoiceline.lastchild.text = ; + ALLTRIM(c_ies_form.text_supl) + ENDIF + SELECT cod FROM FREETAB\um ; + WHERE cod_ro = ; + c_ies_form.um INTO ; + ARRAY agetumfact + mum = "H87" + IF _TALLY > 0 .AND. .NOT. ; + ISNULL(agetumfact(1)) + mum = ALLTRIM(agetumfact(1)) + ENDIF + oum = oinvoiceline.appendchild(oxml.createelement("cbc:InvoicedQuantity")) + oum.setattribute("unitCode", ; + mum) + oum.text = ALLTRIM(STR(c_ies_form.cantitate, ; + 15, 3)) + oamount = oinvoiceline.appendchild(oxml.createelement("cbc:LineExtensionAmount")) + oamount.setattribute("currencyID", ; + mmoneda) + oamount.text = ALLTRIM(STR(c_ies_form.valoare, ; + 15, 2)) + SELECT * FROM ; + C_COMENZI_FACTURA ; + WHERE id_u = ; + c_ies_form.id_u ; + INTO ARRAY ; + agetcomenzilinie + IF _TALLY > 0 .AND. .NOT. ; + ISNULL(agetcomenzilinie(1, ; + 2)) .AND. .NOT. ; + ISNULL(agetcomenzilinie(1, ; + 3)) + oorderlinereference = oinvoiceline.appendchild(oxml.createelement("cac:OrderLineReference")) + oorderlinereference.appendchild(oxml.createelement("cbc:LineID")) + oorderlinereference.lastchild.text = ; + ALLTRIM(agetcomenzilinie(1, ; + 2)) + "/" + ; + ALLTRIM(DTOC(agetcomenzilinie(1, ; + 3))) + ENDIF + oitem = oinvoiceline.appendchild(oxml.createelement("cac:Item")) + IF .NOT. ; + EMPTY(c_ies_form.is_a) + oitem.appendchild(oxml.createelement("cbc:Description")) + oitem.lastchild.text = ALLTRIM(c_ies_form.is_a) + ENDIF + IF .NOT. ; + EMPTY(c_ies_form.denumire) + oitem.appendchild(oxml.createelement("cbc:Name")) + oitem.lastchild.text = ALLTRIM(c_ies_form.denumire) + ENDIF + IF .NOT. ; + EMPTY(c_ies_form.cod_art_cl) + obuyeritem = oitem.appendchild(oxml.createelement("cac:BuyersItemIdentification")) + obuyeritem.appendchild(oxml.createelement("cbc:ID")) + obuyeritem.lastchild.text = ; + c_ies_form.cod_art_cl + ENDIF + IF .NOT. ; + EMPTY(c_ies_form.cod) + oselleritem = oitem.appendchild(oxml.createelement("cac:SellersItemIdentification")) + oselleritem.appendchild(oxml.createelement("cbc:ID")) + oselleritem.lastchild.text = ; + ALLTRIM(c_ies_form.cod) + ENDIF + IF isi + SELECT c_get_cbare + LOCATE FOR cod = ; + c_ies_form.cod ; + .AND. ; + c_get_cbare.cod_bare <> ; + 0 + IF FOUND() + ostandarditem = oitem.appendchild(oxml.createelement("cac:StandardItemIdentification")) + oidstandard = ostandarditem.appendchild(oxml.createelement("cbc:ID")) + oidstandard.setattribute("schemeID", ; + "0160") + oidstandard.text = ; + ALLTRIM(STR(c_get_cbare.cod_bare, ; + 13, 0)) + ENDIF + IF pcs.is_loturi + SELECT c_get_cbare + LOCATE FOR cod = ; + c_ies_form.cod ; + .AND. ; + is_lot = 1 + IF FOUND() + IF c_ies_form.cantitate >= ; + 0 + IF .NOT. ; + USED("TMPDESC1") + getdescarcari(c_ies_form.cod, ; + c_ies_form.gestiune, ; + c_id_tip.id_iesire, ; + 0, ; + 1, ; + .F.) + ENDIF + SELECT tmpdesc1 + mexpliesirilot = ; + "" + SCAN FOR ; + .NOT. ; + EMPTY(lot) + IF pisfb + SQLEXEC(gnconnhandle, "SELECT garantie,fabricatie,explicatie FROM LOTURI WHERE cod=?TMPDESC1.lot", "C_FB") + SELECT * FROM C_FB INTO ARRAY agetgarantie + ELSE + SELECT garantie, fabricatie, explicatie FROM LOTURI WHERE cod = tmpdesc1.lot INTO ARRAY agetgarantie + ENDIF + IF _TALLY > ; + 0 + mexpliesirilot = mexpliesirilot + IIF(EMPTY(mexpliesirilot), "Lot ", "." + " Lot ") + ALLTRIM(tmpdesc1.lot) + IIF( .NOT. EMPTY(agetgarantie(1,1)) .AND. .NOT. ISNULL(agetgarantie(1,1)), " exp. " + DTOC(agetgarantie(1,1)), "") + IIF( .NOT. EMPTY(agetgarantie(1,2)) .AND. .NOT. ISNULL(agetgarantie(1,2)), " fabr. " + DTOC(agetgarantie(1,2)), "") + ELSE + mexpliesirilot = IIF(EMPTY(mexpliesirilot), "Lot " + ALLTRIM(tmpdesc1.lot), mexpliesirilot + ", " + ALLTRIM(tmpdesc1.lot)) + ENDIF + ENDSCAN + ENDIF + ENDIF + IF .NOT. ; + EMPTY(mexpliesirilot) + oclassificationlot = ; + oitem.appendchild(oxml.createelement("cac:CommodityClassification")) + olot = oclassificationlot.appendchild(oxml.createelement("cbc:ItemClassificationCode")) + olot.setattribute("listID", ; + "BB") + olot.text = IIF(LEN(ALLTRIM(mexpliesirilot)) > ; + 50, ; + LEFT(ALLTRIM(mexpliesirilot), ; + 50), ; + ALLTRIM(mexpliesirilot)) + ENDIF + ENDIF + SELECT c_get_cbare + LOCATE FOR cod = ; + c_ies_form.cod ; + .AND. ; + c_get_cbare.cod_bare <> ; + 0 + IF FOUND() + oclassificationcodbare = ; + oitem.appendchild(oxml.createelement("cac:CommodityClassification")) + ocodbare = oclassificationcodbare.appendchild(oxml.createelement("cbc:ItemClassificationCode")) + ocodbare.setattribute("listID", ; + "EN") + ocodbare.text = ALLTRIM(STR(c_get_cbare.cod_bare, ; + 13, ; + 0)) + ENDIF + SELECT c_get_cbare + LOCATE FOR cod = ; + c_ies_form.cod ; + .AND. .NOT. ; + EMPTY(c_get_cbare.cod_fe) ; + .AND. .NOT. ; + ISNULL(c_get_cbare.cod_fe) + IF FOUND() + oclassificationnc = ; + oitem.appendchild(oxml.createelement("cac:CommodityClassification")) + oclassificationstandardidnc = ; + oclassificationnc.appendchild(oxml.createelement("cbc:ItemClassificationCode")) + oclassificationstandardidnc.setattribute("listID", ; + "TSP") + oclassificationstandardidnc.text = ; + ALLTRIM(c_get_cbare.cod_fe) + ENDIF + ENDIF + oitemtaxcategory = oitem.appendchild(oxml.createelement("cac:ClassifiedTaxCategory")) + SELECT tip FROM ; + C_TVA_FACTURA WHERE ; + protva = ; + c_ies_form.protva ; + INTO ARRAY ; + agettipcota + oitemtaxcategory.appendchild(oxml.createelement("cbc:ID")) + oitemtaxcategory.lastchild.text = ; + ALLTRIM(agettipcota(1)) + oitemtaxcategory.appendchild(oxml.createelement("cbc:Percent")) + oitemtaxcategory.lastchild.text = ; + ALLTRIM(STR(c_ies_form.protva, ; + 2, 0)) + oitemtaxscheme = oitemtaxcategory.appendchild(oxml.createelement("cac:TaxScheme")) + oitemtaxscheme.appendchild(oxml.createelement("cbc:ID")) + oitemtaxscheme.lastchild.text = ; + "VAT" + oitemprice = oinvoiceline.appendchild(oxml.createelement("cac:Price")) + oitemamount = oitemprice.appendchild(oxml.createelement("cbc:PriceAmount")) + oitemamount.setattribute("currencyID", ; + mmoneda) + oitemamount.text = ALLTRIM(STR(c_ies_form.pret_vanz, ; + 15, 4)) + i = i + 1 +ENDSCAN +mdencomplet = plcalefacturi + ; + mlnumefisier + ; + ".xml" +mdenfisierraspuns = plcalefacturi + ; + mlnumefisier + ; + '.txt' +oxml.save(mdencomplet) +IF FILE(mdenfisierraspuns) + DELETE FILE ; + (mdenfisierraspuns) +ENDIF +cfilename = 'FREETAB\dist\Efactura\DUKIntegrator.jar' +cparams = ' -c FREETAB\dist\Efactura\config -v FACT1 ' + ; + mdencomplet + ' ' + ; + mdenfisierraspuns +shellexecute(0,"open",cfilename, ; + cparams,"",1) +WAIT WINDOW TIMEOUT 2 "" +shellexecute(0,"open", ; + plcalefacturi,"","", ; + 1) +IF FILE(mdenfisierraspuns) + IF FILETOSTR(mdenfisierraspuns) = ; + "ok" + MESSAGEBOX( ; + "Factura este valida. O puteti încarca prin SPV, la sectiunea 'Factura electronica', cu optiunea de sintaxa XML - UBL sau cu programul 'Declaratii ANAF'.", ; + 64, ; + "Validare declaratie" ; + ) + DELETE FILE ; + (mdenfisierraspuns) + ELSE + MODIFY FILE ; + (mdenfisierraspuns) + ENDIF +ENDIF +ENDPROC + + + diff --git a/programe/matxtab.prg b/programe/matxtab.prg new file mode 100644 index 0000000..7736096 --- /dev/null +++ b/programe/matxtab.prg @@ -0,0 +1,439 @@ +*~ Program...........: MATXTAB.PRG +*~ Author............: Valdis Matison +*~ Version...........: 2.5 +*~} Project...........: +*~ Created...........: 11/01/93 +*~ Copyright.........: (c) Matison Consulting Group Inc., 1993 +*~ 187 Dunblaine Avenue +*~ Toronto, Ontario +*~ M5M 2S6 +*~ +*~ 416-256-4495 +*~ +*~) Description.......: Replacement for GENXTAB.prg that ships with FoxPro +*~] Dependencies......: +*~ Calling Samples...: do MATXTAB with "XTAB", 1, .t., .f., 1, 4, 5, .t., 2, 3, 0, 0, .t., .t., .t., .t. +*~ do MATXTAB with "XTAB", 1, .t., .f., 1, 2, 6, .t., 3, 4, 5, 0, .t., .t., .t., .t., la_fldlist, 2, 0, 1 +*~ Returns...........: If you initialize a variable named LN_RETURN in the calling program +*~ this program will return a value in that variable +*~ This functionality is incomplete +*~ +*~ 0 = Success! +*~ - 1 = Unique column count greater than 256 +*~ - 2 = Escape pressed, procedure cancelled +*~ - 3 = No dbf in current area +*~ - 4 = Less than three fields in input dbf +*~ - 5 = Too many fields in results table +*~ - 6 = Row field must be character +*~ - 7 = Column field must be character +*~ > 0 returns Foxpro's error code generated by error() +*~ +*~ Major change list.: +*~ Future............: Create a front end, DOS/Windows/MAC +*~ Notes:............: The error handling is incomplete, the user should decide what errors to trap. +*~ Naming convention: First letter "l" denotes local variable +*~ Second letter denotes type +*~ +*~ Parameter List....: lc_outfile : Name of the output file +*~ lu_struct : 1 means cursor, 2 means table, 3 means array, +*~ .t. means cursor, .f. means table +*~ if blank, same format as input +*~ ll_closein : .t. means close input file, else keep open +*~ ll_therm : Included for compatibility with GENXTAB, not used by MATXTAB +*~ ln_rowfld : Number of field used for rows - field number +*~ ln_cellfld : Column used for individual totals in results table field number +*~ ln_colhead : Field used for column headings in XTAB report field number +*~ ll_xtotal :.t. means create cross totals, else don't bother +*~ +*~ Differences from Genxtab begin here +*~ +*~ ln_extfld1 : First extra field to go into output +*~ ln_extfld2 : Second extra field to go into output +*~ ln_extfld3 : Third extra field to go into output +*~ ln_extfld4 : Fourth extra field to go into output +*~ ll_cnt : Display count for each unique row +*~ ll_avg : Display average +*~ ll_min : Display minimum +*~ ll_max : Display maximum +*~ la_uniqcol : name of array passed that has the uniqe column names already in list +*~ ln_rowcol : Number of dimensions in the array that's sent down +*~ ln_colsort : 0 means smallest to largest +*~ 1 means largest to smallest +*~ ln_rowsort : 0 means ascending +*~ 1 means descending +*~ + +Parameters lc_outfile, lu_struct, ll_closein, ll_therm, ln_rowfld, ; + ln_colhead, ln_cellfld, ll_xtotal, ln_extfld1, ln_extfld2, ; + ln_extfld3, ln_extfld4, ll_cnt, ll_avg, ll_min, ll_max, ; + la_uniqcol, ln_rowcol, ln_colsort, ln_rowsort + +External Array la_uniqcol + +Private lc_colsort, lc_dbfname, lc_colhead, lc_cellfld, ; + ln_dimens, lc_error, lc_escasta, lc_escape, lc_group, ; + ln_params, lc_program, lc_rowfld, lc_rowsort, lc_safesta, ; + lc_talksta, lc_type, lc_where, ln_uniqcnt + +lc_dbfname = Alias() && Source file taken from alias name +lc_error = On( "ERROR" ) +lc_escasta = Set( "ESCAPE" ) +lc_escape = On( "ESCAPE" ) +ln_params = Pcount() +lc_safesta = Set( "SAFETY" ) +lc_talksta = Set( "TALK" ) + +lcOutputDir = ADDBS(SYS(2023)) + +*On Error Do lo_exit With Error() +Set Escape On +On Escape Do lo_exit With -2 +Set Safety Off +Set Talk Off + +If Empty( Alias() ) && A file must be open in the selected area + Do lo_exit With -3 +Endif + +If Fcount() < 3 && At least three fields required + Do lo_exit With -4 +Endif + +If ln_params < 1 && Nothing sent down - Determine filename for output + lc_outfile = 'XTABX.DBF' +Endif + +If ln_params < 2 && No format given for output + + If Isdigit( Left( Justfname( Dbf() ) ,1 ) ) + lu_struct = 1 && Cursor + Else + lu_struct = 2 && Table + Endif + +Else + + If Type("lu_struct") = "L" && Logical value + If lu_struct && True means create a cursor + lu_struct = 1 + Else && False means table + lu_struct = 2 + Endif && + Endif && Logical or numeric value + +Endif && No format given for output + + +If ln_params < 3 && Close input defaults to yes + ll_closein = .T. +Endif + +If ln_params < 5 && Number of field for cross tab rows + ln_rowfld = 1 +Endif + +If Type( Field( ln_rowfld ) ) <> "C" + On Escape Do lo_exit With -6 +Endif + + +If ln_params < 6 && Number of field for columns + ln_colhead = 2 +Endif + +If Type( Field( ln_colhead ) ) <> "C" + On Escape Do lo_exit With -7 +Endif + +If ln_params < 7 && Number of field for cross tab cells + ln_cellfld = 3 +Endif + +If ln_params < 8 + ll_xtotal = .F. +Endif + +If ln_params < 17 + Private la_uniqcol + Dime la_uniqcol(1) +Endif + +If ln_params > 17 + ln_dimens = ln_rowcol +Else + ln_dimens = 1 +Endif + +If ln_params > 18 + Do Case + Case ln_colsort = 1 + lc_colsort = "DESC" + + Otherwise + lc_colsort = "ASC" + Endcase + +Else + lc_colsort = "ASC" +Endif + +If ln_params = 20 + Do Case + Case ln_rowsort = 1 + lc_rowsort = "DESC" + + Otherwise + lc_rowsort = "ASC" + Endcase + +Else + lc_rowsort = "ASC" +Endif + +lc_colhead = Field( ln_colhead ) +lc_cellfld = lc_dbfname + "." + Field( ln_cellfld ) +lc_group = lc_dbfname + "." + Field( ln_rowfld ) +lc_program = Program( 1 ) +ln_return = 0 +lc_rowfld = lc_group +lc_where = "ZZ" + "." + ; + lc_colhead + "=" + ; + lc_dbfname + "." + ; + lc_colhead + + +*do matshow + +If ln_params < 17 + + lc_type = Type( (lc_colhead) ) + Do Case + Case lc_type = "C" + + Select &lc_colhead ; + from ( lc_dbfname ) ; + order By 1 &lc_colsort ; + group By 1 ; + into Array la_uniqcol + + Case lc_type = "D" + + Select "D"+Dtoc( &lc_colhead, 1 ) ; + from (lc_dbfname) ; + order By 1 &lc_colsort ; + group By 1 ; + into Array la_uniqcol + + lc_where = "ZZ" + "." + ; + lc_colhead + "=" + ; + "'D' +dtoc(" + ; + lc_dbfname + "." + ; + "&lc_colhead, 1 )" + + Endcase + + ln_uniqcnt = Alen( la_uniqcol ) + * If empty cursor + IF RECCOUNT(lc_dbfname) = 0 + ln_uniqcnt = 0 + ENDIF + +Else + + ln_uniqcnt = Alen( la_uniqcol, ln_dimens ) + +Endif + +If ln_uniqcnt >256 + Do lo_exit With -1 +Endif + +Dime la_colname[ ln_uniqcnt + 1, 4 ] +la_colname[1,1] = lc_colhead +la_colname[1,2] = "C" + +If ln_params < 17 && no array sent down + la_colname[ 1,3 ] = Len( &lc_colhead ) +Else + la_colname[ 1,3 ] = Len( la_uniqcol[ 1,1 ] ) && What about width ? +Endif + +la_colname[1,4] = 0 + + +For ln_k = 2 To ln_uniqcnt + 1 + la_colname[ ln_k, 1 ] = la_uniqcol[ 1, ln_k-1 ] + la_colname[ ln_k, 2 ] = "N" + la_colname[ ln_k, 3 ] = 1 + la_colname[ ln_k, 4 ] = 0 +Endfor + +Create Cursor ZZ From Array la_colname + +*--Now populate the table with 1's +For ln_k = 2 To ln_uniqcnt + 1 + Insert Into ZZ ( (lc_colhead), (Field(ln_k)) ) ; + VALUES (la_colname[ ln_k, 1 ], 1 ) +Endfor + +*-- +*-- Now create the cross tab +*-- + +lc_sqlxtab = "SELECT " + lc_rowfld + + +If ln_params > 8 + If ln_extfld1 > 0 + lc_sqlxtab = lc_sqlxtab + ", " + lc_dbfname + "." + field( ln_extfld1, lc_dbfname ) + lc_group = lc_group + ", " + lc_dbfname + "." + field( ln_extfld1, lc_dbfname ) + Endif +Endif + +If ln_params > 9 + If ln_extfld2 > 0 + lc_sqlxtab = lc_sqlxtab + ", " + lc_dbfname + "." + field( ln_extfld2, lc_dbfname ) + lc_group = lc_group + ", " + lc_dbfname + "." + field( ln_extfld2, lc_dbfname ) + Endif +Endif + +If ln_params > 10 + If ln_extfld3 > 0 + lc_sqlxtab = lc_sqlxtab + ", " + lc_dbfname + "." + field( ln_extfld3, lc_dbfname ) + lc_group = lc_group + ", " + lc_dbfname + "." + field( ln_extfld3, lc_dbfname ) + Endif +Endif + +If ln_params > 11 + If ln_extfld4 > 0 + lc_sqlxtab = lc_sqlxtab + ", " + lc_dbfname + "." + field( ln_extfld4, lc_dbfname ) + lc_group = lc_group + ", " + lc_dbfname + "." + field( ln_extfld4, lc_dbfname ) + Endif +Endif + +For ln_k = 1 To ln_uniqcnt + lc_sqlxtab = lc_sqlxtab + ", " + ; + "SUM( " + lc_cellfld + ; + "*ZZ." + ; + la_uniqcol[ 1, ln_k ] + ") as " + ; + la_uniqcol[ ln_dimens, ln_k ] +Endfor + +*-- +*-- Add totals column if required. +*-- Add count, average, min, max functions as well +*-- + +If ll_cnt + lc_sqlxtab = lc_sqlxtab + ; + ", COUNT( " + lc_rowfld + " ) as 'XCNT' " +Endif + +If ll_avg + lc_sqlxtab = lc_sqlxtab + ; + ", AVG( " + lc_cellfld + " ) as 'XAVG' " +Endif + +If ll_min + lc_sqlxtab = lc_sqlxtab + ; + ", MIN( " + lc_cellfld + " ) as 'XMIN' " +Endif + +If ll_max + lc_sqlxtab = lc_sqlxtab + ; + ", MAX( " + lc_cellfld + " ) as 'XMAX' " +Endif + +If ll_xtotal + lc_sqlxtab = lc_sqlxtab + ; + ", SUM( " + lc_cellfld + " ) as 'XTOT' " +Endif + +lc_sqlxtab = lc_sqlxtab + ; + " FROM (lc_dbfname), ZZ " + ; + " WHERE &lc_where " + ; + " GROUP BY &lc_group " + ; + " Order by &lc_group &lc_rowsort " + ; + " INTO " + +Do Case + Case lu_struct = 2 && output to table + lc_sqlxtab = m.lc_sqlxtab + "TABLE " + m.lcOutputDir + lc_outfile + + Case lu_struct = 3 && output to array + lc_sqlxtab = lc_sqlxtab + "ARRAY _XTABX " + + Public _xtabx + Dime _xtabx[ 1,1 ] + + Otherwise && output to cursor DEFAULT + lc_sqlxtab = lc_sqlxtab + "CURSOR " + lc_outfile +Endcase + +*-- Run the query + +&lc_sqlxtab + +Do lo_exit With ln_return +*-- eop MATXTAB + + +*~!********************************************* +*~! +*~! Procedure: lo_exit +*~! +*~!********************************************* +Procedure lo_exit + *~ Author............: Valdis Matison + *~ Modified by.......: + *~} Project...........: + *~ Created...........: 11/01/93 + *~ Copyright.........: (c) Matison Consulting Group Inc., 1993 + *~) Description.......: Shutdown procedure for MATXTAB + *~) + *~] Dependencies......: + *~ Calling Samples...: + *~ Parameter List....: ln_ret : Error code + *~ Returns...........: + *~ Future ideas......: + *~ Major change list.: + + Parameters ln_ret + ln_return = ln_ret + + If lc_talksta = "ON" + Set Talk On + Endif + + If lc_safesta = "ON" + Set Safety On + Endif + + If lc_escasta = "OFF" + Set Escape Off + Endif + + *release windows lw_mat + Clear Typeahead + + *-- Close input files only if successful + If ln_ret = 0 + USE IN (SELECT('ZZ')) + + If ll_closein && close the input file + USE IN (Select(lc_dbfname)) + Endif + IF USED(JUSTSTEM(lc_outfile)) + Select (lc_outfile) + ENDIF + Endif + + * On Error &lc_error + On Escape &lc_escape + + Return ln_ret + + *-- + *-- eop lo_exit +ENDPROC && lo_exit + diff --git a/programe/mesaje.prg b/programe/mesaje.prg new file mode 100644 index 0000000..db77adf --- /dev/null +++ b/programe/mesaje.prg @@ -0,0 +1,43 @@ +*_________________________________________ +PROCEDURE anunta_rezultat + LPARAMETERS lcCategorie, lcSursa, lcMesaj, llEroare, llInTabel, lnId_ref + IF llInTabel + scrie_in_mesaje(lcCategorie, lcSursa, lcMesaj, llEroare, lnId_ref) + ELSE + DO mesaj With lcMesaj, '' + ENDIF +ENDPROC + +PROCEDURE scrie_in_mesaje + LPARAMETERS lcCategorie, lcSursa, lcMesaj, llEroare, lnId_ref + LOCAL lnOrdine + SELECT mesaje + CALCULATE MAX(ordine) TO m.lnOrdine + m.lnOrdine = m.lnOrdine + 1 + APPEND BLANK + replace ordine WITH m.lnOrdine, sursa WITH lcSursa, mesaj WITH lcMesaj, ; + eroare WITH llEroare, categorie WITH lcCategorie, id_ref WITH lnId_ref +ENDPROC + +PROCEDURE sterge_mesaje + ZAP IN mesaje +ENDPROC + +PROCEDURE raport_mesaje + PARAMETERS tcPerioada + PRIVATE pcTitlu,pcPerioada,pcDataOra +*!* PRIVATE toFirma +*!* SELECT FIRMA +*!* LOCATE FOR NFSCURT=FSCURT +*!* SCATTER NAME m.toFirma +*!* SELECT mesaje +*!* IF RECNO() > 0 +*!* SET ORDER TO ordine +*!* REPORT FORM mesaje TO PRINTER PROMPT PREVIEW +*!* ENDIF + pcTitlu=[VERIFICARE GLOBALA] + pcPerioada=[Perioada ] + pcdataora = get_ora(2) + SELECT crsverificari + REPORT FORM rap_mesaje TO PRINTER PROMPT preview +ENDPROC \ No newline at end of file diff --git a/programe/modele/utilizatormodel.prg b/programe/modele/utilizatormodel.prg new file mode 100644 index 0000000..bc1ea0a --- /dev/null +++ b/programe/modele/utilizatormodel.prg @@ -0,0 +1,74 @@ +#INCLUDE COMUN.H +#INCLUDE MVC.H + +Define Class UtilizatorModel As Custom + + cUtilizator = Null + cParola = Null + nIdUtil = Null + cSex = [] + lInTura = .F. + nNivelAcces = 0 && 1 - ospatar + && 2,3(1+2) - ospatar sef + + Procedure actualizeazaDate + Lparameters tcParola,tcCod,tcUtilizator + This.cParola = tcParola + This.nNivelAcces = Val(Substr(tcCod,1,1)) + This.cSex = Iif(VAL(Substr(tcCod,2,1))=2,[F],[M]) + This.lInTura = Iif(VAL(Substr(tcCod,3,1))=0,.F.,.T.) + If Empty(tcUtilizator) + This.nIdUtil = Val(Substr(tcCod,4,AT([$],tcCod)-4)) + This.cUtilizator = Substr(tcCod,At([$],tcCod)+1) + Else + This.nIdUtil = Val(Substr(tcCod,4)) + This.cUtilizator = tcUtilizator + Endif + Endproc + *********************************************************************** + Procedure reseteazaDate + WITH This + .cUtilizator = Null + .cParola = Null + .nIdUtil = Null + .cSex = Null + .lInTura = .F. + .nNivelAcces = 0 + ENDWITH + Endproc + *********************************************************************** + Function esteAutentificat + Return Iif(Isnull(This.nIdUtil),.F.,.T.) + Endfunc + *********************************************************************** + Function getUtilizator + Return This.cUtilizator + Endfunc + *********************************************************************** + Function getIdUtil + Return This.nIdUtil + Endfunc + *********************************************************************** + FUNCTION getSex + RETURN This.cSex + ENDFUNC + *********************************************************************** + FUNCTION getNivelAcces + RETURN This.nNivelAcces + ENDFUNC + *********************************************************************** + PROCEDURE setInTura + LPARAMETERS tlInTura + This.lInTura = tlInTura + ENDPROC + *********************************************************************** + FUNCTION getInTura + RETURN This.linTura + ENDFUNC + *********************************************************************** + PROCEDURE Release + RELEASE This + ENDPROC + *********************************************************************** + +Enddefine && UtilizatorModel diff --git a/programe/oHeader.prg b/programe/oHeader.prg new file mode 100644 index 0000000..6f3476e --- /dev/null +++ b/programe/oHeader.prg @@ -0,0 +1,58 @@ +Define Class PSHeader As Header + + cHOrder = "" + nOrderColor = Rgb(0,0,255) + nNotOrderColor = 0 + cCallMethod = 'Refresh()' + cPictureProp = '' + + Procedure Init + Lparameters tcOldCaption, tcFontName, tnOldForeColor, tllOldFontUnderline, tcMethodName, tcOrder, tlOldWordWrap, tcPictureProp + + DoDefault() + This.Alignment = 2 + This.Caption = tcOldCaption + This.ForeColor = tnOldForeColor + This.FontUnderline = tllOldFontUnderline + this.WordWrap = tlOldWordWrap + This.FontName = tcFontName + This.nNotOrderColor = tnOldForeColor + If !Empty(tcMethodName) + This.cCallMethod = Alltrim(tcMethodName) + ENDIF + If !Empty(tcPictureProp) + This.cPictureProp = Alltrim(tcPictureProp) + Endif + *This.cHOrder = Strextract(Lower(This.Name),'grh') + IF ([*] $ tcOrder) OR ([+] $ tcOrder) OR ([-] $ tcOrder) OR ([/] $ tcOrder) OR ([(] $ tcOrder) + this.cHOrder = [] + ELSE + this.cHOrder = ALLTRIM(tcOrder) + ENDIF + + Endproc + + + Procedure DblClick + lcOrder = This.cHOrder + + If !Empty(lcOrder) + This.Parent.Parent.SetAll("ForeColor", This.nNotOrderColor, "PSHeader") + This.Parent.Parent.SetAll("FontUnderline", .F., "PSHeader") + this.Parent.Parent.SetAll("Picture",'',"PSHeader") + This.ForeColor = This.nOrderColor + This.FontUnderline = .T. + lcCallMethod = [THIS.Parent.Parent.] + This.cCallMethod + [(lcOrder)] + &lcCallMethod + IF !EMPTY(This.cPictureProp) + lcPictureName = [THIS.Parent.Parent.] + This.cPictureProp + this.Picture = &lcPictureName + ENDIF + + Else + * Leave as is + Endif + + Endproc + +Enddefine diff --git a/programe/obj2arr.PRG b/programe/obj2arr.PRG new file mode 100644 index 0000000..5f5e1b5 --- /dev/null +++ b/programe/obj2arr.PRG @@ -0,0 +1,100 @@ +* Version....: 1.0 +* Author.....: Maurice de Beijer +* Date.......: January 29, 1998 +* Notice.....: Copyright (c) 1996-1998 ABL, All Rights Reserved. +* Compiler...: Visual FoxPro 05.00.00.0415 for Windows +* Abstract...: Creates a one dimensional array with a pointer +* to all object contained within the object +* +* Returns....: The number of selected objects +* +* Parameters.: taTarget +* Target array (passed by reference) +* taObject +* Container object reference +* +LPARAMETERS taTarget, taObject + +LOCAL lnCount +lnCount = 0 + +DIMENSION taTarget[1, 1] +taTarget = NULL + +* +* Make sure an object was passed +* +IF TYPE('taObject') = 'O' AND !ISNULL(taObject) + * + * Object passed into recursive call + * + object2array(@taTarget, taObject) + + IF TYPE('taTarget[1]') = 'O' + * + * Retun the number of objects + * + lnCount = ALEN(taTarget, 1) + ENDIF +ENDIF + +RETURN lnCount + + + + +*------------------------------------------------------- +* Function....: Object2Array +* Called by...: Obj2Arr +* +* Abstract....: Creates a one dimensional array with a pointer +* to all object contained within the object +* +* Returns.....: None +* +* Parameters..: taTarget +* Target array (passed by reference) +* taObject +* Container object reference +* +* Notes.......: +*------------------------------------------------------- +PROCEDURE Object2Array(taTarget, taObject) +LOCAL ARRAY laMembers[1, 1] +LOCAL lnCount, lnI + +* +* Make sure the second parameter is an object before adding it to the array +* +IF TYPE('taObject') = 'O' AND !ISNULL(taObject) + IF TYPE('taTarget[1]') = 'O' AND !ISNULL(taTarget[1]) + * + * Increase the array size + * + lnCount = ALEN(taTarget, 1) + 1 + DIMENSION taTarget[lnCount] + * + * Add the current object to the end + * + taTarget[lnCount] = taObject + ELSE + * + * First object in the array + * + taTarget[1] = taObject + ENDIF + + * + * Get all member names + * + lnCount = AMEMBERS(laMembers, taObject, 2) + + FOR lnI = 1 TO lnCount + * + * Get all contained objects from the member objects + * + object2array(@taTarget, EVAL('taObject.' + laMembers[lnI]) ) + ENDFOR +ENDIF + +RETURN diff --git a/programe/ocasabanca.prg b/programe/ocasabanca.prg new file mode 100644 index 0000000..526da2e --- /dev/null +++ b/programe/ocasabanca.prg @@ -0,0 +1,330 @@ +*!* ocasaban.prg +*!* 27.04.2009 +*!* marius.mutu +*!* am mutat viz_bancasa din roacont\programe\ocont2003.prg in comun\programe\ pentru folosire in ROACASA + +*!* 27.08.2018 +*!* marius.mutu +*!* viz_bancasa - test_casa si pentru 5314 reg. casa in valuta (trebuia atentionare pentru sold zilnic negativ + +********************************************************************************************* +* PROCEDURE viz_bancasa(tcCont) +* Date : 29/11/2005, 12:00:20 +* author : marius.mutu +* description: +******************************************* INCEPUT:viz_bancasa ******************************************* +Procedure viz_bancasa + Lparameters tcCont, tlArataInregOperator + + *!* adaugat 08.05.2009 + *!* alex.lepadatu + *!* tlArataInregOperator - daca = .t. atunci se arata doar inregistrarile operatorului + *!* 08.05.2009 ^^ + + Local lccSelect, lnPrecDeb, lnPrecCred, lnPrecDebval, lnPrecCredval, lnSold + Local lcCursor, lcSqlCount, llAfisareTot, llSucces, lnInregistrariAfisare, llValuta + Local lcExec, lcSelect, lcSchema, lcFiltru, lcOrder, lnSucces + Local lcClasa, lcTitlu, lcck_bancasa_caption, lcck_bancasa_titlu, lcTip + LOCAL oreg + PRIVATE pnRecCnt, pobancasa + Store 0 To lnPrecDeb, lnPrecCred, lnPrecDebval, lnPrecCredval + Store "" To pobancasa + lccSelect = SELECT() + + If Empty(tcCont) Or !Inlist(tcCont, '5311', '5121', '5314', '5124') + lcCont = '5311' + lcClasa = "frm_casaban" + lcTitlu = "REGISTRUL DE CASA" + lcck_bancasa_caption = "Casa" + lcck_bancasa_titlu = "Alegeti casa" + lcTip = "Casa" + Else + Local lcCont + lcCont = Alltrim(tcCont) + Endif + llValuta = Inlist(m.lcCont, '5314', '5124') + + *** SETARE CONTEXT BANCASA PENTRU VBANCASA SI VBANCASA_VAL + + *lcExec = [begin cbancasaproc('] + lcCont + [', ]+ALLTRIM(STR(gnluna+gnan*12))+[); end;] + lcExec = [begin pack_sesiune.setcont('] + lcCont + ['); end;] + + lnSucces = goExecutor.oExecute(lcExec) + If lnSucces < 0 + amessagebox(goExecutor.cEroare, 0 + 16, 'Eroare') + Return + Endif + + + *** VERIFICARI CU BALANTA DE VERIFICARE DUPA CONT + Wait Window 'VERIFICARE SOLDURI...' Nowait + Do inainte With "REGCASA", lcCont In oinainte_de.prg + + *** VERIFICARE SOLDURI CASA LEI + If Inlist(lcCont, '5311', '5314') + Wait Window 'TEST CASA...' Nowait + Do test_casa With lcCont In oinainte_de.prg + Endif + + * Calculez numarul de inregistrari. Daca numarul este mai mic de min(300, gnInregistrariAfisare) afisez toate inregistrarile in loc sa intru cu 1=2 + lnInregistrariAfisare = Iif(Type('gnInregistrariAfisare') = 'N', m.gnInregistrariAfisare, 300) + + lcSqlCount = [SELECT COUNT(*) as nr FROM balanta_parteneri where an=?gnAn and luna=?gnLuna and CONT in ('] + Alltrim(Strtran(m.lcCont, [,], [','])) + [') ] + pnRecCnt = 0 + llSucces = goExecutor.oSelecteaza2Value(m.lcSqlCount, @pnRecCnt) + llAfisareTot = (Nvl(m.pnRecCnt, 0) <= m.lnInregistrariAfisare) + + *** CALCULEZ PRECEDENTE DIN BALANTA DE PARTENERI PENTRU SOLDURI INITIALE + lcSelect = [select SUM(precdeb) as precdeb, SUM(preccred) as preccred, ] + ; + [SUM(precvaldeb) as precvaldeb, SUM(precvalcred) as precvalcred ] + ; + [from ] + gcs + [.balanta_parteneri where cont = '] + lcCont + [' ] + ; + [and an = ?gnAn and luna = ?gnLuna ] + gcCondSucursala + + lcCursor = [crsSold] + lnSucces = goExecutor.oExecute(lcSelect, lcCursor) + If lnSucces < 0 + amessagebox(goExecutor.cEroare, 0 + 16, 'Eroare') + Else + Select crsSold + Go Top + lnPrecDeb = precdeb + lnPrecCred = preccred + lnPrecDebval = precvaldeb + lnPrecCredval = precvalcred + Use In crsSold + Endif + + *!* modificare v 2.5.40 + creeaza_cursor_bancasa(m.lcCont, m.glBancasaCum) + creeaza_cursor_bancasalista(m.lcCont, .T.) + + Select casban + Do Case + Case lcCont = '5311' + lcClasa = "frm_casaban" + lcTitlu = "REGISTRUL DE CASA" + lcck_bancasa_caption = "Casa" + lcck_bancasa_titlu = "Alegeti casa" + lcTip = "Casa" + + Case lcCont = '5121' + lcClasa = "frm_casaban" + lcTitlu = "REGISTRUL DE BANCA" + lcck_bancasa_caption = "Banca" + lcck_bancasa_titlu = "Alegeti banca" + lcTip = "Banca" + + Case lcCont = '5314' + lcClasa = "frm_casaban_val" + lcTitlu = "REGISTRUL DE CASA IN VALUTA" + lcck_bancasa_caption = "Casa" + lcck_bancasa_titlu = "Alegeti casa" + lcTip = "Casa" + + Case lcCont = '5124' + lcClasa = "frm_casaban_val" + lcTitlu = "REGISTRUL DE BANCA IN VALUTA" + lcck_bancasa_caption = "Banca" + lcck_bancasa_titlu = "Alegeti banca" + lcTip = "Banca" + + Endcase + Clear Class (lcClasa) + + *oreg=Createobject(lcClasa,lcCont) + oreg = Createobject(lcClasa, lcCont, tlArataInregOperator, m.llAfisareTot) + + With oreg + .Lb_titlu_alb_b121.Caption = lcTitlu + .grid1.cbancasa.header1.Caption = lcck_bancasa_caption + .ck_bancasa.Caption = lcck_bancasa_caption + .ck_bancasa.titlu = lcck_bancasa_titlu + .nrcont = lcCont + .tip = lcTip + .nprecdebI = lnPrecDeb + .npreccredI = lnPrecCred + .nprecdebvalI = lnPrecDebval + .npreccredvalI = lnPrecCredval + Endwith + oreg.Show(1) + + Use In (SELECT('casban')) + USE IN (SELECT('cBancasaLista')) + +Endproc && viz_bancasa +******************************************* SFARSIT: viz_bancasa ******************************************* +********************************* INCEPUT: raport_regcasa_restrans **************************** +Function raport_regcasa_restrans + Lparameters tnTip, tlCasa, tcCursorSursa, tcCursorDest + Private pnDocAles, pnPartAles + Store 0 To pnDocAles, pnPartAles + Local llReturn + llReturn = .F. + + Select Distinct 0 As ales, fdoc As fel_document, id_fdoc From (tcCursorSursa) ; + Where id_fdoc <> 0 ; + Order By fel_document Into Cursor crsdocumente Readwrite + + Select Distinct 0 As ales, id_nume As id_part, nume As denumire, cod_fiscal From (tcCursorSursa) ; + Where Nvl(id_nume, 0) <> 0 ; + Order By denumire, cod_fiscal Into Cursor crsparteneri Readwrite + + If Reccount('crsdocumente') <> 0 And Reccount('crsparteneri') <> 0 + ofrmcriterii = Createobject('frm_casaban_restrans') + ofrmcriterii.Show(1) + Else + gnButon = 1 + Endif + If gnButon = 1 + llReturn = .T. + If pnDocAles = 0 And pnPartAles = 0 + If tnTip = 1 + If tlCasa + Select * From (tcCursorSursa) Where nrcrt = 2 Order By dataireg, dataact, cod Into Cursor (tcCursorDest) Readwrite + Else + Select * From (tcCursorSursa) Where nrcrt = 2 Order By dataact, cod Into Cursor (tcCursorDest) Readwrite + Endif + Else + Select * From (tcCursorSursa) Where nrcrt = 2 Order By dataireg, bancasa, dataact, cod Into Cursor (tcCursorDest) Readwrite + Endif + Else + If tnTip = 1 + If tlCasa + Select dataireg, [] As serie_act, 0 As nract, ; + nume, explicatia, nrord, Sum(incasari) As incasari, Sum(plati) As plati, ; + scd, ascd, scc, ascc, dataact, Min(cod) As cod, bancasa From (tcCursorSursa) ; + Where nrcrt = 2 And id_fdoc In (Select id_fdoc From crsdocumente Where ales = 1 ) And ; + id_nume In (Select id_part From crsparteneri Where ales = 1 ) ; + Group By 1, 2, 3, 4, 5, 6, 9, 10, 11, 12, 13, 15 ; + Union All ; + Select dataireg, serie_act, nract, ; + nume, explicatia, nrord, incasari, plati, ; + scd, ascd, scc, ascc, dataact, cod, bancasa From (tcCursorSursa) ; + Where nrcrt = 2 And Not (id_fdoc In (Select id_fdoc From crsdocumente Where ales = 1 ) And ; + id_nume In (Select id_part From crsparteneri Where ales = 1)) ; + Order By 1, 13, 14 Into Cursor (tcCursorDest) Readwrite + Else + Select dataireg, [] As serie_act, 0 As nract, ; + nume, explicatia, nrord, Sum(incasari) As incasari, Sum(plati) As plati, ; + scd, ascd, scc, ascc, dataact, Min(cod) As cod, bancasa From (tcCursorSursa) ; + Where nrcrt = 2 And id_fdoc In (Select id_fdoc From crsdocumente Where ales = 1 ) And ; + id_nume In (Select id_part From crsparteneri Where ales = 1 ) ; + Group By 1, 2, 3, 4, 5, 6, 9, 10, 11, 12, 13, 15 ; + Union All ; + Select dataireg, serie_act, nract, ; + nume, explicatia, nrord, incasari, plati, ; + scd, ascd, scc, ascc, dataact, cod, bancasa From (tcCursorSursa) ; + Where nrcrt = 2 And Not (id_fdoc In (Select id_fdoc From crsdocumente Where ales = 1 ) And ; + id_nume In (Select id_part From crsparteneri Where ales = 1)) ; + Order By 13, 14 Into Cursor (tcCursorDest) Readwrite + Endif + Else + Select dataireg, Iif(id_fdoc = gnID_FDOC_BONFISCAL, [], serie_act) As serie_act, ; + Iif(id_fdoc = gnID_FDOC_BONFISCAL, 0, nract) As nract, ; + nume, explicatia, nrord, Sum(incasari) As incasari, Sum(plati) As plati, ; + scd, ascd, scc, ascc, dataact, Min(cod) As cod, bancasa From (tcCursorSursa) ; + Where nrcrt = 2 And id_fdoc In (Select id_fdoc From crsdocumente Where ales = 1 ) And ; + id_nume In (Select id_part From crsparteneri Where ales = 1 ) ; + Group By 1, 2, 3, 4, 5, 6, 9, 10, 11, 12, 13, 15 ; + Union All ; + Select dataireg, serie_act, nract, ; + nume, explicatia, nrord, incasari, plati, ; + scd, ascd, scc, ascc, dataact, cod, bancasa From (tcCursorSursa) ; + Where nrcrt = 2 And Not (id_fdoc In (Select id_fdoc From crsdocumente Where ales = 1 ) And ; + id_nume In (Select id_part From crsparteneri Where ales = 1)) ; + Order By 1, 15, 13, 14 Into Cursor (tcCursorDest) Readwrite + Endif + Endif + Endif + If Used('crsdocumente') + Use In crsdocumente + Endif + + If Used('crsparteneri') + Use In crsparteneri + Endif + + Release ofrmcriterii, pnDocAles, pnPartAles + Return llReturn +Endfunc && raport_regcasa_restrans +********************************* SFARSIT: raport_regcasa_restrans **************************** +Procedure creeaza_cursor_bancasa + Lparameters tcCont, tlBancasaCum + Local lcCursor + + lcCursor = [casban] + *** SELECTIE SOLDURI DIN BALANTA PARTENERI SI INREGISTRARI DIN REGISTRUL JURNAL (VBANCASA SI VBANCASA_VAL) + lcSchema = [nrcrt n(1),fdoc c(30),dataact d,dataireg d,nract N(20),serie_act c(10),bancasa c(50), id_bancasa N(20), ] + ; + [nume c(50), cod_fiscal c(50), reg_comert c(50), explicatia c(100), ] + ; + [scd c(4),scc c(4),ascd c(4), ascc c(4),COD N(20),NRORD C(30),NRESP C(30),SUCURSALA C(100),id_nume N(20),id_fdoc N(20),] + ; + [incasari n(19,gnPa),plati n(19,gnPa)] + Iif(Inlist(m.tcCont, '5314', '5124'), [,incasval n(19,gnPa),platival n(19,gnPa),numeval C(10), ] + Iif(m.tlBancasaCum, [curs C(100)], [curs N(10,4)]), []) + [,soldcum N(19,gnPa)] + + lcSelect = [select nrcrt,fdoc,dataact,dataireg,nract,serie_act,bancasa,id_bancasa,nume,cod_fiscal,reg_comert,explicatia,] + ; + [scd,scc,ascd,ascc,COD,NRORD,NRESP,sucursala,id_nume,id_fdoc,] + ; + [incasari,plati] + Iif(Inlist(m.tcCont, '5314', '5124'), [,incasval,platival,numeval,curs], []) + [,CAST(0 as Number(20,4)) as soldcum] + ; + [ from vbancasa_] + Alltrim(m.tcCont) + Iif(m.tlBancasaCum, [_CUM], []) + + lcFiltru = [1 = 2] + lcOrder = [nrcrt,dataireg,bancasa,cod] + llAfisare = .F. + lcGroup = "" + llModParam = .T. + lcFiltruOriginal = "" + If Used(lcCursor) + Use In (lcCursor) + Endif + gencursor('pobancasa', lcCursor, lcSelect, lcFiltru, lcSchema, lcOrder, llAfisare, lcGroup, llModParam, lcFiltruOriginal) + pobancasa.ca_baza1.afisare() +Endproc + +* Cursor lista banci si solduri pentru filtrare in formular frm_casban +PROCEDURE creeaza_cursor_bancasalista + LPARAMETERS tcCont, tlEmpty + LOCAL lcSelect, lcSql, lnIdMax + Local llSucces, llValuta + lcSelect = SELECT() + + * Creez cursorul banci si solduri pentru filtrare + CREATE CURSOR cBancasaLista (bancasa C(250) null, id_bancasa N(20) null, numeval C(10) null, sold N(20,4) null, ord N(1) null) + * La prima apelare vreau doar cursorul gol + IF m.tlEmpty + SELECT (m.lcSelect) + RETURN + ENDIF + + llValuta = Inlist(m.tcCont, '5314', '5124') + lcSql = [select bancasa,id_bancasa,SUM(incasari) as incasari,SUM(plati) as plati,CAST(0 as Number(20,4)) as sold] + Iif(m.llValuta, [,SUM(incasval) as incasval,SUM(platival) as platival,numeval], []) + ; + [ from vbancasa_] + Alltrim(m.tcCont) + ; + [ group by bancasa,id_bancasa] + Iif(m.llValuta, [,numeval], []) + + llSucces = goExecutor.oExecuta(m.lcSql, 'cSoldTemp') + + IF m.llValuta + select 1 AS ord, PADR('TOATE', 250, ' ') as bancasa, 0 as id_bancasa, 'LEI' as numeval, sum(incasari-plati) as sold from cSoldTemp ; + UNION ALL ; + select 2 AS ord, PADR(numeval, 250, ' ') as bancasa, -1 as id_bancasa, numeval, sum(incasval-platival) as sold from cSoldTemp group by numeval ; + UNION ALL ; + select 3 AS ord, bancasa, id_bancasa, numeval, sum(incasval-platival) as sold from cSoldTemp group by bancasa, id_bancasa, numeval ; + order by 1,3 ; + INTO CURSOR cBancaTemp READWRITE + ELSE + select 1 AS ord, PADR('TOATE', 250, ' ') as bancasa, 0 as id_bancasa, 'LEI' as numeval, sum(incasari-plati) as sold from cSoldTemp ; + UNION ALL ; + select 3 AS ord, bancasa, id_bancasa, 'LEI' as numeval, sum(incasari-plati) as sold from cSoldTemp group by bancasa, id_bancasa ; + order by 1,2 ; + INTO CURSOR cBancaTemp READWRITE + ENDIF + + CALCULATE MAX(id_bancasa) TO lnIdMax IN cBancaTemp + + * creez un id_bancasa unic pentru fiecare valuta + UPDATE cBancaTemp SET id_bancasa = m.lnIdMax + RECNO() WHERE id_bancasa = -1 + + USE IN (SELECT('cSoldTemp')) + + SELECT cBancasaLista + APPEND FROM DBF('cBancaTemp') + USE IN (SELECT('cBancaTemp')) + + SELECT (m.lcSelect) +ENDPROC && creeaza_cursor_bancasalista \ No newline at end of file diff --git a/programe/ocautare.prg b/programe/ocautare.prg new file mode 100644 index 0000000..a5c9ffe --- /dev/null +++ b/programe/ocautare.prg @@ -0,0 +1,3027 @@ +*!* 24.07.2009 +*!* marius.mutu +*!* CAUT_ARTICOL (tlCautPlus - daca se foloseste formularul caut_alfa_form_plus cu butonul but_start_criterii) + +*!* 04.09.2009 +*!* marius.mutu +*!* caut_gestiune_xml ( + tnPornire) + +*!* 22.02.2010 +*!* marius.mutu +*!* caut_gestiune_xml gcCondSucursala + +*!* 06.07.2011 +*!* marius.mutu +*!* caut_politici_preturi +*!* cautare in vcrm_politici_preturi dupa drepturi utilizator + +*!* 19.12.2011 +*!* marius.mutu +*!* caut_parteneri_xml - selectie inclusiv parteneri vechi unificati si transformati in parteneri noi + +*!* 01.02.2013 +*!* marius.mutu +*!* caut_gestiune_xml - corectat c.id_sucursala in loc de a.id_sucursala + +*!* 06.01.2014 +*!* marius.mutu +*!* caut_gestiune_dest - am mutat conditia de la planul de conturi sintetic si analitic in join, in loc de where - nu mergea in unele cazuri + +*!* 28.09.2018 +*!* marius.mutu +*!* caut_parteneri + parametru tlInactiv: daca arat si partenerii inactivi (ex: la fisa de cont, cand un partener s-a unificat, partenerul vechi este inactiv) + +*!* 17.01.2020 +*!* marius.mutu +*!* caut_responsabil - include CNP, se foloseste in baza.vcx > item.gotfocus, ca sa se afiseza si marca responsabilului + +*!* 12.12.2024 +*!* marius.mutu +*!* caut_client_contract_activ - nu se iau contracte active de pe clienti inactivi + +*!* #DEFINE CRLF CHR(13) + CHR(10) +#INCLUDE COMUN\ROA.H + +************************************************************************************************************************ +* CautPartenerContabilitate(cTitlu, cTipuriParteneri) +* Date : 04/10/2006 +* author : marius.mutu +* se cauta un partener dupa o lista de tipuri partener in toti partenerii +* se ordoneaza lista de parteneri - intai partenerii cu tip in lista de tipuri, apoi restul +* se coloreaza partenerii care nu au tip in lista de tipuri +* se poate da un cont - se obtine lista de tipuri partener din coresp_tip_cont +* se pot adauga corespondentele daca aleg un partener care nu are tipurile asociate +* loCauta = CautPartenerContabilitate(GetHash([cTitlu=>Alegeti partenerul 401??lAdaugCorespondente=>1??cCont=>401]) +******************************************* INCEPUT:CautPartenerContabilitate******************************************* +Procedure CautPartenerContabilitate + Lparameters toHash + && ctitlu: Nume client/furnizor etc. + && cTipuriParteneri: lista de id-uri tipuri partener delimitata prin ',' + && cCont: contul pentru care se obtine lista de tipuri partener + && llAdaugCorespondente: daca se adauga corespondente partener - tipuri partener + + + + Local loHash As MyHash, lcSelect, lcTitlu, lcTipuriParteneri, lnSucces, llAllInList, lnPornire, lcFiltruOrig, lcNumeProcedura, llAdaugCorespondente + + *!* parametrii + lcTitlu = toHash.GetValue("cTitlu") + lcTipuriParteneri = toHash.GetValue("cTipuriParteneri") + lcCont = toHash.GetValue("cCont") + llAdaugCorespondente = toHash.GetValue("lAdaugCorespondente") + lcNumeProcedura = toHash.GetValue("cNumeProc") + lcFiltruOrig = toHash.GetValue("cFiltruOrig") + llAllInList = toHash.GetValue("lAllInList") + lnPornire = toHash.GetValue("nPornire") + + *!* parametrii + + If Empty(lcTitlu) + lcTitlu = 'Alegeti partenerul' + Endif + + && se obtine lista de tipuri parteneri asociata unui cont + If !Empty(lcCont) And Empty(lcTipuriParteneri) + lcSelect = [SELECT stringAgg(to_char(id_tip_part)) FROM coresp_tip_cont WHERE cont = '] + lcCont + ['] + lnSucces = goExecutor.oSelect2Value(lcSelect, @lcTipuriParteneri) + If lnSucces < 0 + AMESSAGEBOX(goExecutor.cEroare, 0 + 16, 'Eroare') + Endif + Endif + lcTipuriParteneri = Nvl(lcTipuriParteneri, '') + + If !Empty(lcTipuriParteneri) + *!* selectia se face din corespondente tipuri partener + lcSelect = [SELECT MIN(CASE WHEN A.ID_TIP_PART in (] + lcTipuriParteneri + [) THEN 0 ELSE 1 END) AS TIP,] + ; + [B.ID_PART, B.DENUMIRE AS NUME, B.COD_FISCAL, B.DENUMIRE ] + ; + [ FROM CORESP_TIP_PART A ] + ; + [ LEFT JOIN NOM_PARTENERI B ON A.ID_PART = B.ID_PART ] + Else + *!* selectia se face din parteneri + lcSelect = [SELECT 0 as TIP, B.ID_PART, B.DENUMIRE AS NUME, B.COD_FISCAL, B.DENUMIRE ] + ; + [ FROM NOM_PARTENERI B ] + Endif + + loHash = GetHash() + With loHash + .SetValue("cSelect", lcSelect) + .SetValue("cFiltru", "1=2") + .SetValue("cOrder", "1,NUME") + If !Empty(Nvl(lcTipuriParteneri, '')) + .SetValue("cGroup", "B.ID_PART, B.DENUMIRE, B.COD_FISCAL") + Endif + .SetValue("cColoana", "denumire,cod_fiscal,id_part") + .SetValue("cTitlu", lcTitlu) + .SetValue("cTitluColoana", "Nume,Cod fiscal,ID") + If !Empty(lcFiltruOrig) + lcFiltruOrig = [B.STERS = 0 AND B.INACTIV = 0 AND ] + lcFiltruOrig + Else + lcFiltruOrig = [B.STERS = 0 AND B.INACTIV = 0] + Endif + .SetValue("cFiltruOriginal", lcFiltruOrig) + *!* IF EMPTY(lcTipuriParteneri) + *!* && daca nu exista tipuri la un cont + *!* .SetValue("cFiltruOriginal", "1=2") + *!* ENDIF + .SetValue("cPrimaColoana", "denumire") + If Empty(lcNumeProcedura) + .SetValue("cNumeProc", [nom_parteneri;"] + lcTipuriParteneri + ["]) + Else + .SetValue("cNumeProc", lcNumeProcedura) + ENDIF + .SetValue("cProceduraVerifica", "nom_parteneri_verifica") + .SetValue("cProceduraCopiaza", "nom_parteneri_copiaza") + If !Empty(lcTipuriParteneri) + *!* daca partenerii sunt ordonati dupa tip - coloreaza partenerii care au tip = 1 + .SetValue("cGridDynamicBackColor", [IIF(TIP = 1, RGB(225,225,225), RGB(255,255,255))]) + .SetValue("cGridToolTip", "Partenerii de alt tip sunt colorati gri.") + Endif + .SetValue("lAllInList", llAllInList) + .SetValue("nPornire", lnPornire) + + Endwith + + + loCauta = cauta_alfa_hash(loHash) && 11.07.2007 + + *!* ADAUG TIPURI DE PARTENER - PARTENER DACA NU EXISTA + If llAdaugCorespondente And !Isnull(loCauta) And Type('loCauta.id_part') = 'N' And loCauta.id_part <> 0 And !Empty(lcTipuriParteneri) And loCauta.tip = 1 + Do ADAUGA_CORESP_TIP_PART With loCauta.id_part, lcTipuriParteneri In oproceduri_parteneri.prg + Endif + + Return loCauta + +Endproc && CautPartenerContabilitate +******************************************* SFARSIT: CautPartenerContabilitate******************************************* + +* PROCEDURE caut_parteneri( tcCont ) +* Date : 04/11/2004, 14:01:21 +* author : lavinia.viziru +******************************************* INCEPUT:caut_parteneri ******************************************* +Procedure caut_parteneri( tcCont, tcTitlu, tlToateIreg, tlNou, tlInactiv) + Local lcCont, loCauta, lcFiltruOriginal + Local lcTitlu, lcFiltru, lcSchema, lcOrder, lcNumeProc, lcTitluColoane + Store "" To loCauta + lcCont = tcCont + llInactiv = m.tlInactiv && daca arat si partenerii inactivi (ex: la fisa de cont, cand un partener s-a unificat, partenerul vechi este inactiv) + + lcSelect = [select distinct p.denumire, p.nume, p.cod_fiscal, p.id_part, p.inactiv FROM Vcoresp_tip_part p ] + ; + [ join vcoresp_tip_cont c on p.id_tip_part=c.id_tip_part ] + lcFiltru = [1=2] + lcSchema = [] + lcOrder = [P.denumire] + lccoloane = [denumire, nume, cod_fiscal, id_part, inactiv] + If Empty(lcCont) + lcFiltruOriginal = IIF(m.llInactiv, [1=1],[p.inactiv = 0]) + Else + lcFiltruOriginal = IIF(m.llInactiv, [1=1],[p.inactiv = 0]) + [ and c.cont='] + Alltrim(lcCont) + ['] + Endif + If Empty(tcTitlu) + lcTitlu = "Alegeti partenerul" + Else + lcTitlu = tcTitlu + Endif + If tlNou + lcNumeProc = [nom_parteneri] + Else + lcNumeProc = [] + ENDIF + + lcTitluColoane = [Denumire, Nume,Cod fiscal, Id, Inactiv] + loCauta = cauta_alfa(lcSelect, lcFiltru, lcSchema, lcOrder, lccoloane, lcTitlu, lcTitluColoane, lcNumeProc, tlToateIreg, lcFiltruOriginal) && 11.07.2007 + + Return loCauta + +Endproc +******************************************* SFARSIT: caut_parteneri ******************************************* +******************************************* INCEPUT:caut_parteneri_xml ******************************************* +*** se cauta inclusiv partenerii vechi care au fost unificati in parteneri noi +Procedure caut_parteneri_xml( tcCont, tcTitlu, tlToateIreg, tlNou) + Local lcCont, loCauta, lcFiltruOriginal + Local lcTitlu, lcFiltru, lcSchema, lcOrder, lcNumeProc, lcTitluColoane + Store "" To loCauta + lcCont = tcCont + + TEXT TO lcSelect NOSHOW +select distinct + case when p2.id_part <> p1.id_part then p1.denumire || ' <<< 'else '' end || nvl(p2.denumire, p1.denumire) as denumire, + p2.nume, + p2.cod_fiscal, + CASE WHEN NVL(p2.inactiv,0) <> 0 THEN 'INACTIV' ELSE ' ' END AS inactiv, + p2.id_part + FROM CORESP_TIP_PART p + JOIN CORESP_TIP_CONT c + on p.id_tip_part = c.id_tip_part + left join nom_parteneri_modificari pm + on p.id_part = pm.id_part_vechi + left JOIN NOM_PARTENERI p1 + on pm.id_part_NOU = p1.ID_PART + left join nom_parteneri p2 + on p.id_part = p2.ID_PART + ENDTEXT + +*!* lcSelect = [select distinct p.denumire, p.nume, p.cod_fiscal, p.id_part FROM Vcoresp_tip_part p ]+; +*!* [ join vcoresp_tip_cont c on p.id_tip_part=c.id_tip_part ] + lcFiltru = [1=2] + lcSchema = [] + lcOrder = [3] + lccoloane = [denumire, nume, cod_fiscal, inactiv, id_part] +*!* lcFiltruOriginal = [p.inactiv = 0] + lcFiltruOriginal = [] + If !Empty(lcCont) +*!* lcFiltruOriginal = [p.inactiv = 0 and c.cont=']+ Alltrim(lcCont) + ['] +*!* modificare ROACONT v 2.5.40 + lcFiltruOriginal = lcFiltruOriginal + [c.cont='] + Alltrim(lcCont) + ['] + Endif + If Empty(tcTitlu) + lcTitlu = "Alegeti partenerul (mouse-click pe nume sau apasati SPACE)" + Else + lcTitlu = tcTitlu + " (mouse-click pe nume sau apasati SPACE)" + Endif + If tlNou + lcNumeProc = [nom_parteneri] + Else + lcNumeProc = [] + Endif + lcTitluColoane = [Denumire, Nume, Cod fiscal, Inactiv, Id] + lnTipReturn = 1 && XML +*!* lcPrimaColoana = "denumire" + lcPrimaColoana = "nvl(p1.denumire, p2.denumire)" + lcIdColumn = "id_part" + lcNume_Proc = [] + lnPornire = 1 + lcXMLParteneri = cauta_alfa(lcSelect, lcFiltru, lcSchema, lcOrder, lccoloane, lcTitlu, lcTitluColoane, lcNume_Proc, tlToateIreg, lcFiltruOriginal, lcPrimaColoana, lnPornire, lnTipReturn, lcIdColumn) + Return lcXMLParteneri +Endfunc && caut_parteneri_xml +******************************************* SFARSIT: caut_parteneri_xml ******************************************* +* PROCEDURE caut_partener() +* author : paula.mutu +* -- SIR CU ID-URI TIP PARTENER PENTRU -1,-2 (CLIENT/FURNIZOR) +******************************************* INCEPUT:caut_partener ******************************************* +Procedure caut_partener(tcIdTipPart, tcTitlu, tlToateIreg, tlNou) + + Private pnIdTip, pcSir_Id_tip_part + Store '' To pcSir_Id_tip_part + pnIdTip = tcIdTipPart + && pnIdTip && -1 - Clienti; -2 - Furnizori + lcSql = [begin pack_def.get_conturi_tip_part(?pnIdTip, ?@pcSir_Id_tip_part); end;] + lnSucces = goExecutor.oExecute(lcSql) + If lnSucces < 0 + AMESSAGEBOX(goExecutor.cEroare, 0 + 16, 'Eroare') + Return + Endif + + Local lcCont, loCauta, lcFiltruOriginal + Local lcTitlu, lcFiltru, lcSchema, lcOrder, lcNumeProc, lcTitluColoane + Store "" To loCauta + + lcSelect = [select denumire, cod_fiscal, id_part from vnom_parteneri ] + lcFiltru = [1=2] + lcSchema = [] + lcOrder = [denumire] + lccoloane = [denumire, cod_fiscal, id_part] + If Empty(pcSir_Id_tip_part) Or Isnull(pcSir_Id_tip_part) + lcFiltruOriginal = [inactiv = 0] + Else + lcFiltruOriginal = [inactiv = 0 and id_part in (select distinct id_part from coresp_tip_part where id_tip_part in (] + pcSir_Id_tip_part + [))] + Endif + + If Empty(tcTitlu) + lcTitlu = "Alegeti partenerul" + Else + lcTitlu = tcTitlu + Endif + If tlNou + lcNumeProc = [nom_parteneri] + Else + lcNumeProc = [] + Endif + lcTitluColoane = [Denumire,Cod fiscal,Id] + loCauta = cauta_alfa(lcSelect, lcFiltru, lcSchema, lcOrder, lccoloane, lcTitlu, lcTitluColoane, lcNumeProc, tlToateIreg, lcFiltruOriginal) && 11.07.2007 + + Return loCauta + +Endproc +******************************************* SFARSIT: caut_partener ******************************************* + +******************************************* INCEPUT: caut_partener_dupa_tip ******************************************* +Procedure caut_partener_dupa_tip + Lparameters tnIdTipPart, tcTitlu, tnIdPart, tcNumePart, tcSirIdTipPart + Local loCauta, llReturn + Store "" To loCauta + Store .F. To llReturn + pcselect = [select id_part,denumire from vcoresp_tip_part] + pcFiltruOrig = [id_tip_part=] + Alltrim(Str(tnIdTipPart)) + lcProceduraNou = [nom_parteneri;] + Alltrim(Str(tnIdTipPart)) + [,'Entitate',1,2] + If !Empty(tcSirIdTipPart) + pcFiltruOrig = pcFiltruOrig + [and id_part not in (select id_part from coresp_tip_part where id_tip_part in (] + tcSirIdTipPart + [))] + Endif + pcfiltru = [1=2] + pcschema = [] + pcorder = [2] + pccoloane = [denumire] + pcTitlu = Iif(!Empty(tcTitlu), tcTitlu, [Alegeti partenerul]) + pcTitluColoane = [Nume] + loCauta = cauta_alfa(pcselect, pcfiltru, pcschema, pcorder, pccoloane, pcTitlu, pcTitluColoane, lcProceduraNou, .F., pcFiltruOrig) && 11.07.2007 + If !Empty(loCauta.id_part) + tnIdPart = loCauta.id_part + tcNumePart = Alltrim(loCauta.denumire) + llReturn = .T. + Endif + Return llReturn +Endproc +******************************************* SFARSIT: caut_partener_dupa_tip ******************************************* +******************************************* INCEPUT: caut_categorie_entitate ******************************************* +Procedure caut_categorie_entitate + Local loCauta, llReturn + Store "" To loCauta + Store .F. To llReturn + pcselect = [select id_categorie_entitate,categorie_entitate from vnom_categorii_entitati] + pcfiltru = [1=2] + pcschema = [] + pcorder = [2] + pccoloane = [categorie_entitate] + pcTitlu = [Alegeti categoria] + pcTitluColoane = [Categorie entitate] + loCauta = cauta_alfa(pcselect, pcfiltru, pcschema, pcorder, pccoloane, pcTitlu, pcTitluColoane, "") && 11.07.2007 + Return loCauta +Endproc +******************************************* SFARSIT: caut_categorie_entitate ******************************************* +******************************************* INCEPUT: caut_marca_masina ******************************************* +Procedure caut_marca_masina + Local loCauta, llReturn + Store "" To loCauta + Store .F. To llReturn + pcselect = [select id_marca_masina,marca_masina from vnom_marci_masini] + pcfiltru = [1=2] + pcschema = [] + pcorder = [2] + pccoloane = [marca_masina] + pcTitlu = [Alegeti marca masinii] + pcTitluColoane = [Marca] + loCauta = cauta_alfa(pcselect, pcfiltru, pcschema, pcorder, pccoloane, pcTitlu, pcTitluColoane, "") && 11.07.2007 + Return loCauta +Endproc +******************************************* SFARSIT: caut_marca_masina ******************************************* + +* PROCEDURE caut_lucrare +* Date : 31.07.2006 +* author : marius.mutu +******************************************* INCEPUT:caut_lucrare ******************************************* +Procedure caut_lucrare(tlToateIreg, tlNou, tcFiltruOriginal) + *!* modificare 30.06.2011 ( ROAAUTO v 2.0.28 ) : am adaugat tcFiltruOriginal + + Local loCauta, lcFiltruOriginal + Local lcTitlu, lcFiltru, lcSchema, lcOrder, lcNumeProc, lcTitluColoane + Store Null To loCauta + + lcSelect = [select nrord, id_lucrare from vnom_lucrari] + lcFiltru = [1=2] + lcSchema = [] + lcOrder = [nrord] + lccoloane = [nrord,id_lucrare] + lcFiltruOriginal = [inactiv = 0] + IIF(!EMPTY(tcfiltruOriginal), [ and ] + tcFiltruOriginal, []) + + lcTitlu = "Alegeti lucrarea" + If tlNou + lcNumeProc = [nom_lucrari] + Else + lcNumeProc = [] + Endif + lcTitluColoane = [Lucrare,Id] + loCauta = cauta_alfa(lcSelect, lcFiltru, lcSchema, lcOrder, lccoloane, lcTitlu, lcTitluColoane, lcNumeProc, tlToateIreg, lcFiltruOriginal) && 11.07.2007 + + Return loCauta + +Endproc +******************************************* SFARSIT: caut_lucrare ******************************************* + +******************************************* INCEPUT:caut_articol ******************************************* +Function caut_articol + Lparameters tntipg, tlToateIreg, tlMultipleArticles, tlCRM, tlCautPlus, tlFaraAdaugare, tnIdGrupa, tlInactive + Store "" To loCauta + *!* tlCautPlus - daca se foloseste formularul caut_alfa_form_plus cu butonul but_start_criterii + *!* 24.07.2009 + *!* 29.01.2013 : am adaugat um2 in selectie + *!* 19.07.2013 : am adaugat in_stoc in selectie + *!* 11.09.2013 : am adaugat tlInactive + Local lcStringCriterii + lcStringCriterii = "" + If tlCautPlus + lcStringCriterii = "Cod material\codmat\T\none\" + crlf + ; + "Denumire articol\denumire\T\id_articol\nom_articol" + crlf + ; + "Subgrupa articol\none\I\id_subgrupa\nom_subgrupa_articol" + crlf + lcTitluColoane = [Cod Material, Denumire,Subgrupa, Cod bare,U.M.,Cont,Id] + lccoloane = [codmat,denumire,subgrupa,codbare,um,cont,id_articol] + Else + lccoloane = [denumire,codmat,codbare,um,cont,id_articol] + lcTitluColoane = [Denumire,Cod Material,Cod bare,U.M.,Cont,Id] + Endif + *!* 24.07.2009 ^ + + lcFiltru = [1=2] + lcSchema = [] + lcOrder = [denumire] + lcNumeProc = [] + + If tlMultipleArticles + lcTitlu = [Alegeti articolele (mouse-click pe denumire sau apasati SPACE)] + Else + lcTitlu = [Alegeti articolul] + Endif + + llMultipleArticles = tlMultipleArticles + If tlCRM + lcSelect = [select distinct a.denumire,a.codmat,a.codbare,a.um,a.um2,a.cont, ] + ; + [ a.id_articol, 0 as id_tipgest,a.in_stoc, a.inactiv from vnom_articole_crm a ] + lcFiltruOriginal = IIF(tlInactive, [2=2], [a.inactiv=0]) + *lcNumeProc = [nom_articole2] + *!* modificare 03.02.2010 + *!* lcNumeProc = [nom_articole] + If !tlFaraAdaugare + lcNumeProc = [nom_articole] + Endif + *!* modificare 03.02.2010 ^ + Else + If Type('tnTipg') = 'N' And tntipg > 0 + lcSelect = [select distinct a.denumire,a.codmat,a.codbare,a.um,a.um2,a.cont,a.acont, ] + ; + [a.id_articol, a.grupa, a.subgrupa, a.id_grupa, a.id_subgrupa, a.dnf, b.id_tipgest, a.in_stoc, a.inactiv from vnom_articole a inner join coresp_cont_tipgest b on a.cont = b.cont] + lcFiltruOriginal = IIF(tlInactive, [], [ a.inactiv=0 and]) + [ b.id_tipgest = ] + Alltrim(Str(tntipg)) + Else + lcSelect = [select distinct a.denumire,a.codmat,a.codbare,a.um,a.um2,a.cont,a.acont,] + ; + [a.id_articol, a.grupa, a.subgrupa, a.id_grupa, a.id_subgrupa, a.dnf, 0 as id_tipgest, a.in_stoc, a.inactiv from vnom_articole a ] + lcFiltruOriginal = IIF(tlInactive, [2=2], [a.inactiv=0]) + Endif + *!* modificare 03.02.2010 + *!* lcNumeProc = [nom_articole] + If !tlFaraAdaugare + lcNumeProc = [nom_articole] + Endif + *!* modificare 03.02.2010 ^ + Endif + *!* modificare v 10.01.2011 + IF !EMPTY(tnIdGrupa) + lcFiltruOriginal = lcFiltruOriginal + [ and a.id_subgrupa in (select id_subgrupa from vgest_art_sbgr where id_grupa = ] + ALLTRIM(STR(tnIdGrupa)) + [)] + ENDIF + *!* modificare v 10.01.2011 ^ + llToateIreg = tlToateIreg + lcPrimaColoana = [denumire] + lnPornire = 1 + lnTipReturn = Iif(tlMultipleArticles, 1, 0) + lcIdColumn = "id_articol" + + *!* 24.07.2009 + loHash = GetHash() + With loHash + .SetValue("cSelect", lcSelect) + .SetValue("cFiltru", lcFiltru) + .SetValue("cSchema", lcSchema) + .SetValue("cOrder", lcOrder) + .SetValue("cColoana", lccoloane) + .SetValue("cTitlu", lcTitlu) + .SetValue("cTitluColoana", lcTitluColoane) + .SetValue("cNumeProc", lcNumeProc) + .SetValue("lToateIreg", llToateIreg) + .SetValue("cFiltruOriginal", lcFiltruOriginal) + .SetValue("cPrimaColoana", lcPrimaColoana) + .SetValue("nPornire", lnPornire) + .SetValue("nTipReturn", lnTipReturn) + .SetValue("cIdColumn", lcIdColumn) + .SetValue("cStringCriterii", lcStringCriterii) + If tlInactive + .SetValue("cGridDynamicBackColor", [IIF(inactiv = 1, RGB(225,225,225), RGB(255,255,255))]) + Endif + Endwith + *!* loCauta = cauta_alfa(lcSelect, lcFiltru, lcSchema, lcOrder, lccoloane, lcTitlu, lcTitluColoane, lcNumeProc, llToateIreg, lcFiltruOriginal, lcPrimaColoana, lnPornire, lnTipReturn , lcIdColumn, lcStringCriterii) && 11.07.2007 + loCauta = cauta_alfa_hash(loHash) + *!* 24.07.2009 ^ + + Return loCauta && caut_articol + + ******************************************* SFARSIT: caut_articol ******************************************* + +Function cauta_articole + Lparameters tcFiltruOriginal, tnPornire, tlLoud, tcListaId, tcListaDenumire + *** tnPornire: incepe cu...,1,este...,2,nu este...,3,contine...,4,nu contine...,5,toate,6 + *** tlLoud = .T. daca apare messagebox "Nu ati selectat nici o inregistare" pentru cautarea multipla. Default = .F. + *** tcListaId = parametru OUT - lista id-uri articole + *** tcListaDenumire = parametru OUT - lista denumiri articole + + Local lcFiltru, lcFiltruOriginal, lcIdColumn, lcNumeProc, lcOrder, lcPrimaColoana, lcSchema + Local lcSelect, lcTitlu, lcTitluColoane, lccoloane, llMultipleArticles, llToateIreg, lnPornire + Local lnTipReturn, loCauta, loLista + + Store "" To loCauta + + lcFiltru = [1=2] + lcSchema = [] + lcOrder = [denumire] + lccoloane = [denumire,codmat,codbare,um,grupa,subgrupa,cont,acont,dnf,id_articol] + lcTitlu = [Alegeti articolele (mouse-click pe denumire sau apasati SPACE)] + lcTitluColoane = [Denumire,Cod Material,Cod bare,UM,Grupa,Subgrupa,Cont,Analitic,DNF,Id] + llMultipleArticles = .T. + lcSelect = [select a.denumire,a.codmat,a.codbare,a.um, a.grupa, a.subgrupa, a.id_grupa, a.id_subgrupa,a.dnf,a.cont, a.acont, a.inactiv, a.id_articol from vnom_articole a ] + lcFiltruOriginal = Iif(!Empty(tcFiltruOriginal), Alltrim(tcFiltruOriginal), "") + lcNumeProc = [nom_articole] + llToateIreg = .F. + lcPrimaColoana = [denumire] + lnPornire = Iif(Empty(m.tnPornire), CA_PORNIRE_INCEPE, m.tnPornire) + lnTipReturn = Iif(llMultipleArticles, 1, 0) + lcIdColumn = "id_articol" + loCauta = cauta_alfa(lcSelect, lcFiltru, lcSchema, lcOrder, lccoloane, lcTitlu, lcTitluColoane, lcNumeProc, llToateIreg, lcFiltruOriginal, lcPrimaColoana, lnPornire, lnTipReturn, lcIdColumn) && 11.07.2007 + + *!* 24.08.2011 + IF m.llMultipleArticles + loLista = XML2ListaIDDescriere(loCauta, "id_articol", "denumire", tlLoud) + tcListaId = loLista.ListaId + tcListaDenumire = loLista.ListaDenumire + ENDIF + *!* 24.08.2011 + + Return loCauta && cauta_articole + +Endfunc && cauta_articole +******************************************* SFARSIT: cauta_articole ******************************************* +Function cauta_nom_articole + Lparameters tcFiltruOriginal, tnPornire, tlLoud, tcListaId, tcListaDenumire + *** tnPornire: incepe cu...,1,este...,2,nu este...,3,contine...,4,nu contine...,5,toate,6 + *** tlLoud = .T. daca apare messagebox "Nu ati selectat nici o inregistare" pentru cautarea multipla. Default = .F. + *** tcListaId = parametru OUT - lista id-uri articole + *** tcListaDenumire = parametru OUT - lista denumiri articole + Local lcFiltru, lcFiltruOriginal, lcIdColumn, lcNumeProc, lcOrder, lcPrimaColoana, lcSchema, lnPornire + Local lcSelect, lcTitlu, lcTitluColoane, lccoloane, llMultipleArticles, llToateIreg, lnTipReturn + Local loCauta, loLista + Store "" To loCauta + + lcFiltru = [1=2] + lcSchema = [] + lcOrder = [denumire] + lccoloane = [denumire,codmat,codbare,um,grupa,subgrupa,cont,acont,dnf,id_articol] + lcTitlu = [Alegeti articolele (mouse-click pe denumire sau apasati SPACE)] + lcTitluColoane = [Denumire,Cod Material,Cod bare,UM,Grupa,Subgrupa,Cont,Analitic,DNF,Id] + llMultipleArticles = .T. + lcSelect = [select a.denumire,a.codmat,a.codbare,a.um, a.grupa, a.subgrupa, a.id_grupa, a.id_subgrupa,a.dnf,a.cont, a.acont, a.inactiv, a.id_articol,] + ; + [ a.um2, a.um_iso, a.cod_um_iso, a.cant_bax, a.in_crm, a.in_stoc, a.codmatf, a.conditii_pastrare,] + ; + [ a.id_part, a.partener, a.indicativ, a.taxa_reconditionare, a.id_articol_general, a.articol_general,] + ; + [ a.listare_codbare, a.tip, a.timpn, a.codnc8, a.greutate, a.id_tara_origine, a.tara_origine, a.codcpv] + ; + [ from ] + gcS + [.vnom_articole_toate a ] + lcFiltruOriginal = Iif(!Empty(tcFiltruOriginal), Alltrim(tcFiltruOriginal) + [ and ], "") + [a.inactiv = 0] + lcNumeProc = [nom_articole] + llToateIreg = .F. + lcPrimaColoana = [denumire] + lnPornire = Iif(Empty(m.tnPornire), CA_PORNIRE_INCEPE, m.tnPornire) + lnTipReturn = Iif(llMultipleArticles, 1, 0) + lcIdColumn = "id_articol" + loCauta = cauta_alfa(lcSelect, lcFiltru, lcSchema, lcOrder, lccoloane, lcTitlu, lcTitluColoane, lcNumeProc, llToateIreg, lcFiltruOriginal, lcPrimaColoana, lnPornire, lnTipReturn, lcIdColumn) && 11.07.2007 + + *!* 24.08.2011 + IF m.llMultipleArticles + loLista = XML2ListaIDDescriere(loCauta, "id_articol", "denumire", tlLoud) + tcListaId = loLista.ListaId + tcListaDenumire = loLista.ListaDenumire + ENDIF + *!* 24.08.2011 + + Return loCauta && cauta_nom_articole + +Endfunc && cauta_nom_articole +******************************************* SFARSIT: cauta_nom_articole ******************************************* + +*** transforma un xml din cautare alfa multipla intr-o lista cu id-uri si o lista cu denumiri +*** ex: lista xml articole -> lista id-uri articole (100|101|102|) si lista denumiri articole (banana,morcov,telina) +*** intoarce un obiect cu 2 proprietati: ocautare.listaid, ocautare.listadenumire +FUNCTION XML2ListaIDDescriere + LPARAMETERS tcXML, tcCampId, tcCampDenumire, tlLoud + *** tcXML = xml cursor cautare alfa + *** tcCampId = nume camp ID din cursor. Ex: id_articol + *** tcCampDenumire = nume camp Denumire din cursor. Ex: denumire + *** tlLoud = .T. daca apare messagebox "Nu ati selectat nici o inregistare", Default = .F. + + LOCAL lcXML, llLoud, loCautare, lcSelect + + lcSelect = SELECT() + lcXML = IIF(TYPE('tcXML') <> 'C' or PCOUNT() < 1, "", m.tcXML) + lcCampId = IIF(TYPE('tcCampId') <> 'C' or PCOUNT() < 2, "", m.tcCampId) + lcCampDenumire = IIF(TYPE('tcCampDenumire') <> 'C' or PCOUNT() < 3, "", m.tcCampDenumire) + llLoud = IIF(TYPE('tlLoud') <> 'L' or PCOUNT() < 4, .F., m.tlLoud) + + loCautare = CREATEOBJECT("empty") + ADDPROPERTY(loCautare, "ListaId", "") + ADDPROPERTY(loCautare, "ListaDenumire", "") + + If Empty(m.lcXML) OR EMPTY(m.lcCampId) OR EMPTY(m.lcCampDenumire) + SELECT (lcSelect) + RETURN loCautare + ENDIF + + Xmltocursor(lcXML, "crsXMLTemp") + If Reccount('crsXMLTemp') = 0 AND m.llLoud + AMessageBox('Nu ati selectat nici o inregistrare!', 0 + 48, _screen.caption) + USE IN (SELECT("crsXMLTemp")) + SELECT (lcSelect) + RETURN loCautare + ENDIF + + Select crsXMLTemp + Locate For &lcCampId = 0 + If Found() And Reccount('crsXMLTemp') = 1 + loCautare.ListaId = [NULL] + loCautare.ListaDenumire = [TOATE INREGISTRARILE] + Else + loCautare.ListaId = ['] + cursor2lista("crsXMLTemp", lcCampId, "|") + loCautare.ListaDenumire = cursor2lista("crsXMLTemp", lcCampDenumire, ",") + Endif + Use In (SELECT('crsXMLTemp')) + If(Right(loCautare.ListaId, 1) # "|" And loCautare.ListaId # [NULL]) + loCautare.ListaId = loCautare.ListaId + "|" + Endif + If loCautare.ListaId <> [NULL] + loCautare.ListaId = loCautare.ListaId + "'" + Endif + + SELECT (lcSelect) + RETURN loCautare +ENDFUNC && XML2ListaIDDescriere +******************************************* INCEPUT: caut_articol_gs ******************************************* +Function caut_articol_gs + Lparameters tntipg, tlToateIreg, tlMultipleArticles, tcFiltruCont + Store "" To loCauta + + lcFiltru = [1=2] + lcSchema = [] + lcOrder = [denumire] + lccoloane = [denumire,codmat,codbare,id_articol] + lcTitlu = [Alegeti articolul] + lcTitluColoane = [Denumire,Cod Material,Cod bare,Id] + llMultipleArticles = tlMultipleArticles + If Type('tnTipg') = 'N' And tntipg > 0 + lcSelect = [select distinct a.denumire,a.codmat,a.codbare,a.um,a.cont,a.acont,] + ; + [a.id_articol, a.grupa, a.subgrupa, a.id_grupa, a.id_subgrupa, a.dnf, b.id_tipgest from vnom_articole a ] + ; + [inner join coresp_cont_tipgest b on a.cont = b.cont where 2=2 ] + lcFiltruOriginal = [ b.id_tipgest = ] + Alltrim(Str(tntipg)) + Else + lcSelect = [select distinct a.denumire,a.codmat,a.codbare,a.um,a.cont,a.acont,] + ; + [a.id_articol, a.grupa, a.subgrupa, a.id_grupa, a.id_subgrupa, a.dnf, 0 as id_tipgest ] + ; + [from vnom_articole a where 2=2 ] + lcFiltruOriginal = [ 2=2 ] + Endif + *!* modificare 10.02.2010 ROAGRESTAURANT v 0.0.17 + IF !EMPTY(tcFiltruCont) + *!* tcFiltruCont poate fi : 34% / 345 / 345,371 + Do Case + CASE AT([%], tcFiltruCont) > 0 + lcFiltruOriginal = lcFiltruOriginal + [ and a.cont like '] + Alltrim(tcFiltruCont) + ['] + CASE AT([,], tcFiltruCont) > 0 + lcFiltruOriginal = lcFiltruOriginal + [ and a.cont in ('] + Strtran(Alltrim(tcFiltruCont), [,], [',']) + [')] + Otherwise + lcFiltruOriginal = lcFiltruOriginal + [ and a.cont = '] + Alltrim(tcFiltruCont) + ['] + Endcase + ENDIF + *!* modificare 10.02.2010 ROAGRESTAURANT v 0.0.17 ^ + lcNumeProc = [nom_articole] + llToateIreg = tlToateIreg + lcPrimaColoana = [denumire] + lnPornire = 1 + lnTipReturn = Iif(tlMultipleArticles, 1, 0) + lcIdColumn = "id_articol" + loCauta = cauta_alfa_gs(lcSelect, lcFiltru, lcSchema, lcOrder, lccoloane, lcTitlu, lcTitluColoane, lcNumeProc, llToateIreg, lcFiltruOriginal, lcPrimaColoana, lnPornire, lnTipReturn, lcIdColumn) && 11.07.2007 + + Return loCauta && caut_articol_gs + +Endfunc && caut_articol_gs +******************************************* SFARSIT: caut_articol_gs ******************************************* + +******************************************* INCEPUT: cauta_articole_alege ******************************************* +*!* cautare dupa codmat, denumire, subgrupa si bifarea articolelor dorite +Function cauta_articole_alege + Private poArticole + poArticole = Null + gencursor('deca_baza1', lcCursor, tcselect, tcfiltru, tcschema, tcorder, .F., lcGroup, llModParam, lcFiltOriginal) + deca_baza1.ca_baza1.afisare() +Endfunc && cauta_articole_alege +******************************************* SFARSIT: cauta_articole_alege ******************************************* + +******************************************* INCEPUT: caut_cont ******************************************* +Function caut_cont + Lparameters tntipg, tcListaConturi, tlToateIreg, tlDoarConturi + + Store "" To loCauta + Local llToateIreg + llToateIreg = tlToateIreg + + pcfiltru = [1=2] + pcschema = [] + pcorder = [cont,acont] + pcTitlu = [Alegeti contul] + If tlDoarConturi + pccoloane = [cont,explicatie,tip_sold] + pcTitluColoane = [Cont,Explicatie,Tip sold] + Else + pccoloane = [cont,acont,explicatie,tip_sold] + pcTitluColoane = [Cont,Analitic,Explicatie,Tip sold] + Endif + + If Empty(tntipg) And Empty(tcListaConturi) + If llToateIreg + pcselect = [select a.explicatie,rpad(a.cont,22) as cont,] + ; + IIF(tlDoarConturi, [], [a.acont,]) + [a.id_plcont,a.tip_sold from vplcont_used a ] + Else + pcselect = [select a.explicatie,a.cont,] + ; + IIF(tlDoarConturi, [], [a.acont,]) + [a.id_plcont,a.tip_sold from vplcont_used a ] + Endif + pcFiltruOriginal = [ a.an=] + Alltrim(Str(gnan)) + IIF(tlDoarConturi, [ and a.acont is null], []) + Endif + + If !Empty(tcListaConturi) And Empty(tntipg) + pcselect = [select a.explicatie,a.cont,] + ; + IIF(tlDoarConturi, [], [a.acont,]) + [a.id_plcont,a.tip_sold from vplcont_used a ] + pcFiltruOriginal = [ a.an=] + Alltrim(Str(gnan)) + [ and a.cont in (] + Alltrim(tcListaConturi) + [)] + ; + IIF(tlDoarConturi, [ and a.acont is null], []) + Endif + + If !Empty(tntipg) And Empty(tcListaConturi) + pcselect = [select a.explicatie,a.cont,] + ; + IIF(tlDoarConturi, [], [a.acont,]) + [a.id_plcont,a.tip_sold,b.id_tipgest from vplcont_used a inner join coresp_cont_tipgest b on a.cont = b.cont ] + pcFiltruOriginal = [ b.id_tipgest = ] + Alltrim(Str(tntipg)) + [ and a.an=] + Alltrim(Str(gnan)) + ; + IIF(tlDoarConturi, [ and a.acont is null], []) + Endif + + If !Empty(tntipg) And !Empty(tcListaConturi) + pcselect = [select a.explicatie,a.cont,] + ; + IIF(tlDoarConturi, [], [a.acont,]) + [a.id_plcont,a.tip_sold,b.id_tipgest from vplcont_used a inner join coresp_cont_tipgest b on a.cont = b.cont ] + pcFiltruOriginal = [ b.id_tipgest = ] + Alltrim(Str(tntipg)) + [ and a.an=] + Alltrim(Str(gnan)) + ; + [ and a.cont in (] + Alltrim(tcListaConturi) + [)] + ; + IIF(tlDoarConturi, [ and a.acont is null], []) + Endif + + lcNumeProc = [] + lcPrimaColoana = [a.cont] + loCauta = cauta_alfa(pcselect, pcfiltru, pcschema, pcorder, pccoloane, pcTitlu, pcTitluColoane, lcNumeProc, llToateIreg, pcFiltruOriginal, lcPrimaColoana) && 11.07.2007 + + Return loCauta + ******************************************* SFARSIT: caut_cont ******************************************* + + + ******************************************* INCEPUT:caut_acont ******************************************* + +Function caut_acont + Lparameters tncont + + lcCont = tncont + Store "" To loCauta + pcselect = [select a.acont,a.explicatie,a.id_plcont,a.an FROM vplcont_used_analitic a ] + pcfiltru = [1=2] + pcschema = [] + pcorder = [acont] + pccoloane = [acont,explicatie] + If Pcount() < 1 + pcTitlu = [Alegeti contul analitic] + Else + pcTitlu = [Alegeti contul analitic pentru contul ] + Alltrim(lcCont) + Endif + pcTitluColoane = [Acont,Explicatie] + If Pcount() < 1 + pcFiltruOriginal = [1=2] + Else + pcFiltruOriginal = [ a.cont=] + Alltrim(lcCont) + [ and a.an=] + Alltrim(Str(gnan)) + Endif + lcNumeProc = [] + llToateIreg = .F. + lcPrimaColoana = [a.acont] + loCauta = cauta_alfa(pcselect, pcfiltru, pcschema, pcorder, pccoloane, pcTitlu, pcTitluColoane, lcNumeProc, llToateIreg, pcFiltruOriginal, lcPrimaColoana) && 11.07.2007 + + Return loCauta + + ******************************************* SFARSIT: caut_acont ******************************************* + + ******************************************* INCEPUT:caut_gestiune ******************************************* + +Function caut_gestiune + Lparameters tntipg, tnid_util, tlToateIreg, tcTitlu + + Store "" To loCauta + pcselect = [select distinct nume_gestiune,cgest,id_gestiune,nr_pag,cont from vgest_gestiuni_util ] + pcfiltru = [1=2] + pcschema = [] + pcorder = [nume_gestiune] + pccoloane = [nume_gestiune,cgest] + pcTitlu = Iif(Empty(tcTitlu), [Alegeti gestiunea], Alltrim(Upper(tcTitlu))) + pcTitluColoane = [Gestiune,Cgest] + lncount = Pcount() + + Do Case + Case Type('tnId_Util') = 'N' + If Empty(tntipg) + pcFiltruOriginal = [inactiv = 0 and id_util = ] + Alltrim(Str(tnid_util)) + Else + pcFiltruOriginal = [inactiv = 0 and nr_pag = ] + Alltrim(Str(tntipg)) + [ and id_util = ] + Alltrim(Str(tnid_util)) + Endif + Case Type('tnTipg') = 'N' + pcFiltruOriginal = [inactiv = 0] + Otherwise + pcselect = [select nume_gestiune,cgest,id_gestiune,nr_pag,cont from vnom_gestiuni ] + pcFiltruOriginal = [inactiv = 0] + Endcase + + lcNumeProc = [] + llToateIreg = tlToateIreg + loCauta = cauta_alfa(pcselect, pcfiltru, pcschema, pcorder, pccoloane, pcTitlu, pcTitluColoane, lcNumeProc, llToateIreg, pcFiltruOriginal) && 11.07.2007 + + Return loCauta + + ******************************************* SFARSIT: caut_gestiune ******************************************* + Function caut_gestiune_sectie + Lparameters tntipg, tnIdSectie, tnid_util, tcTitlu + + Store "" To loCauta + pcselect = [select distinct nume_gestiune,cgest,id_gestiune,nr_pag,cont from vgest_gestiuni_util ] + pcfiltru = [1=2] + pcschema = [] + pcorder = [nume_gestiune] + pccoloane = [nume_gestiune,cgest] + pcTitlu = Iif(Empty(tcTitlu), [Alegeti gestiunea], Alltrim(Upper(tcTitlu))) + pcTitluColoane = [Gestiune,Cgest] + + pcFiltruOriginal = [inactiv = 0] + if Type('tnTipg') = 'N' + pcFiltruOriginal = pcFiltruOriginal + [ and nr_pag = ] + Alltrim(Str(tntipg)) + endif + if Type('tnIdSectie') = 'N' + pcFiltruOriginal = pcFiltruOriginal + [ and id_sectie = ] + Alltrim(Str(tnIdSectie)) + Endif + if Type('tnId_Util') = 'N' + pcFiltruOriginal = pcFiltruOriginal + [ and id_util = ] + Alltrim(Str(tnid_util)) + Endif + lcNumeProc = [] + llToateIreg = .F. + loCauta = cauta_alfa(pcselect, pcfiltru, pcschema, pcorder, pccoloane, pcTitlu, pcTitluColoane, lcNumeProc, llToateIreg, pcFiltruOriginal) + + Return loCauta + + ******************************************* SFARSIT: caut_gestiune ******************************************* + ******************************************* INCEPUT: caut_gestiune_xml ******************************************* +Function caut_gestiune_xml + Lparameters tnTip, tlToateIreg, tnPornire, tlLoud, tcListaId, tcListaDenumire + && tnTip : 1 = toate gestiunile; 2 = gestiunile pe care are drept utilizatorul + *** tnPornire: incepe cu...,1,este...,2,nu este...,3,contine...,4,nu contine...,5,toate,6 + *** tlLoud = .T. daca apare messagebox "Nu ati selectat nici o inregistare" pentru cautarea multipla. Default = .F. + *** tcListaId = parametru OUT - lista id-uri articole + *** tcListaDenumire = parametru OUT - lista denumiri articole + + *!* 04.09.2009 + Local lnPornire + Local lcFiltru, lcIdColumn, lcNume_Proc, lcPrimaColoana, lcTitlu, lcXMLGestiuni, lnTipReturn + Local loLista + Local lnTip, llAllInList + Local lcSelect, lcSchema, lcOrder, llAfisare, lcGroup, llModParam, lcFiltruOriginal, lcCOloana, lcTitluColoana, lnPornire + + lnPornire = Iif(Empty(tnPornire), CA_PORNIRE_TOATE, tnPornire) + + If Empty(tnTip) Or Type('tnTip') <> 'N' + lnTip = 1 + Else + lnTip = tnTip + Endif + + If lnTip = 1 + lcSelect = [select distinct a.nume_gestiune,a.cgest,a.id_gestiune,a.nr_pag,a.cont from vgest_gestiuni_util a] + *!* 22.02.2010 +*!* lcFiltruOriginal = [] + *!* modificare ROAGEST v 2.2.4 + *!* lcFiltruOriginal = SUBSTR(gcCondSucursala, 6) + lcFiltruOriginal = SUBSTR(STRTRAN(gcCondSucursala, [id_sucursala], [a.id_sucursala]), 6) + *!* modificare ROAGEST v 2.2.4 ^ + *!* 22.02.2010 ^ + lcFiltruOriginal = lcFiltruOriginal + [ and a.inactiv = 0 ] && modificare ROAGEST v 2.2.4 + Else + lcSelect = [select distinct c.nume_gestiune,c.cgest,b.id_gestiune,c.nr_pag,c.cont ] + ; + [from gest_coresp_util_grupe a ] + ; + [left join gest_coresp_grupe_gestiuni b on a.id_grupe=b.id_grupe ] + ; + [left join nom_gestiuni c on b.id_gestiune=c.id_gestiune ] + + *!* 22.02.2010 + *!* lcFiltruOriginal = [a.id_util = ] + Alltrim(Str(gnIdUtil)) + *!* modificare ROAGEST v 2.2.4 + *!* lcFiltruOriginal = [a.id_util = ] + Alltrim(Str(gnIdUtil)) + gcCondSucursala + lcFiltruOriginal = [a.id_util = ] + Alltrim(Str(gnIdUtil)) + STRTRAN(gcCondSucursala, [id_sucursala], [c.id_sucursala]) + *!* modificare ROAGEST v 2.2.4 ^ + *!* 22.02.2010 ^ + lcFiltruOriginal = lcFiltruOriginal + [ and c.inactiv = 0 ] && modificare ROAGEST v 2.2.4 + Endif + + lcFiltru = [] + lcSchema = [nume_gestiune C(50),cgest C(20),id_gestiune N(5),nr_pag N(2),cont C(4)] + lcOrder = [nume_gestiune] + llAfisare = .F. + lcGroup = [] + llModParam = .T. + + + lcCOloana = "nume_gestiune,cgest,nr_pag,cont" + lcTitluColoana = "Nume, Cgest, Nr.pag, Cont" + llAllInList = tlToateIreg + lcPrimaColoana = "nume_gestiune" + lcNume_Proc = "" + lcTitlu = "Alegeti gestiunea (mouse-click pe nume sau apasati SPACE)" + lnTipReturn = 1 && XML + lcIdColumn = "id_gestiune" + lcXMLGestiuni = cauta_alfa(lcSelect, lcFiltru, lcSchema, lcOrder, lcCOloana, lcTitlu, lcTitluColoana, lcNume_Proc, llAllInList, lcFiltruOriginal, lcPrimaColoana, lnPornire, lnTipReturn, lcIdColumn) && 11.07.2007 + + *!* XMLTOCURSOR(lcXMLFacturi, "crsFacturi",0) + *!* 24.08.2011 + loLista = XML2ListaIDDescriere(lcXMLGestiuni, "id_gestiune", "nume_gestiune", m.tlLoud) + tcListaId = loLista.ListaId + tcListaDenumire = loLista.ListaDenumire + *!* 24.08.2011 + + Return lcXMLGestiuni +Endfunc && caut_gestiune_xml +******************************************* SFARSIT: caut_gestiune_xml ******************************************* +******************************************* INCEPUT:caut_responsabil ******************************************* +Function caut_responsabil + Lparameters tlToateIreg + + Local lcCont, loCauta + + Store "" To loCauta + + pcselect = [select id_responsabil, nume, marca, cnp, formatie, meserie FROM Vnom_responsabili ] + pcfiltru = [1=2] + pcschema = [] + pcorder = [NUME, marca] + pccoloane = [nume,marca,cnp,formatie,meserie,id_responsabil] + pcTitlu = [Alegeti responsabilul] + pcTitluColoane = [Nume,Marca,CNP,formatie,meserie,Id] + pcFiltruOriginal = [inactiv = 0] + lcNumeProc = [nom_parteneri;] + Alltrim(Str(gnIdTipResponsabili)) + [,'RESPONSABIL',1,2] + llToateIreg = tlToateIreg + + loCauta = cauta_alfa(pcselect, pcfiltru, pcschema, pcorder, pccoloane, pcTitlu, pcTitluColoane, lcNumeProc, llToateIreg, pcFiltruOriginal) && 11.07.2007 + + Return loCauta + ******************************************* SFARSIT: caut_responsabil ******************************************* + ******************************************* INCEPUT:caut_responsabil_stoc ******************************************* +Function caut_responsabil_stoc + Lparameters tlToateIreg + + Local lcCont, loCauta + + Store "" To loCauta + + pcselect = [select distinct s.id_responsabil, p.denumire, sp.marca ] + ; + [ from stoc_obinv s left join nom_parteneri p on s.id_responsabil = p.id_part ] + ; + [ left join sal_personal sp on s.id_responsabil = sp.id_part ] + pcfiltru = [1=2] + pcschema = [id_responsabil n(10), denumire c(50), marca n(10)] + pcorder = [denumire, marca] + pccoloane = [denumire, Marca, id_responsabil] + pcTitlu = [Alegeti responsabilul] + pcTitluColoane = [Nume,Marca,Id] + pcFiltruOriginal = [s.an = ?gnAn and s.luna = ?gnLuna] + Strtran(gcCondSucursala, [id_sucursala], [s.id_sucursala]) + lcNumeProc = [nom_parteneri;] + Alltrim(Str(gnIdTipResponsabili)) + [,'RESPONSABIL',1,2] + llToateIreg = tlToateIreg + + loCauta = cauta_alfa(pcselect, pcfiltru, pcschema, pcorder, pccoloane, pcTitlu, pcTitluColoane, lcNumeProc, llToateIreg, pcFiltruOriginal) && 11.07.2007 + + Return loCauta + ******************************************* SFARSIT: caut_responsabil_stoc ******************************************* + ******************************************* INCEPUT: caut_delegati ******************************************* +Procedure caut_delegati + Lparameters tnIdPart + Local loCauta, llReturn, lcSelect, lcProcedura + Store "" To loCauta + Store .F. To llReturn + If !Empty(tnIdPart) + lcSelect = [select id_responsabil,nume,bi,cnp,eliberatde from vnom_delegati_part] + lcFiltruOrig = [id_part=] + Alltrim(Str(tnIdPart)) + lcProcedura = [nom_parteneri;] + Alltrim(Str(gnIdTipDelegati)) + [,'DELEGAT',1,2,] + Alltrim(Str(tnIdPart)) + Else + lcSelect = [select id_responsabil,nume,bi,cnp,eliberatde from vnom_delegati] + lcProcedura = [nom_parteneri;] + Alltrim(Str(gnIdTipDelegati)) + [,'DELEGAT',1,2] + lcFiltruOrig = [] + Endif + lcFiltru = [1=2] + lcSchema = [] + lcOrder = [2] + lccoloane = [nume,bi,cnp] + lcTitlu = [Alegeti delegatul] + lcTitluColoane = [Nume,BI/CI,CNP] + loCauta = cauta_alfa(lcSelect, lcFiltru, lcSchema, lcOrder, lccoloane, lcTitlu, lcTitluColoane, lcProcedura, .F., lcFiltruOrig) && 11.07.2007 + Return loCauta +Endproc +******************************************* SFARSIT: caut_delegati ******************************************* +***************************************** INCEPUT: caut_delegati_hash ***************************************** +Procedure caut_delegati_hash + Lparameters tnIdPart, tlAdaugaCoresp + Local loCauta, llReturn, lcSelect, lcProcedura + Store "" To loCauta + Store .F. To llReturn + If Empty(tnIdPart) + loCauta = caut_delegati() + Else + lcSelect = [select MIN(case when c.id_part = ] + Alltrim(Str(tnIdPart)) + [ then 0 ] + ; + [when b.id_tip_part = ] + Alltrim(Str(gnIdTipDelegati)) + [ then 2 ] + ; + [else 1 end) as tip,] + ; + [a.id_part as id_responsabil,a.denumire as nume,a.reg_comert as bi,a.cod_fiscal as cnp,] + ; + [a.localitate_inreg as eliberatde,a.telefon as telefon1,a.telefon2 ] + ; + [from vnom_parteneri a ] + ; + [join coresp_tip_part b on a.ID_PART = b.id_part ] + ; + [left join coresp_delegati_part c on b.id_part = c.id_delegat and c.sters = 0 ] + lcFiltruOrig = [a.inactiv = 0] + lcProcedura = [nom_parteneri;] + Alltrim(Str(gnIdTipDelegati)) + [,'DELEGAT',1,2,] + Alltrim(Str(tnIdPart)) + lcFiltru = [1=2] + lcSchema = [] + lcGroup = [a.id_part, a.denumire, a.reg_comert, a.cod_fiscal, a.localitate_inreg, a.telefon, a.telefon2] + lcOrder = [min(case when c.id_part = ] + Alltrim(Str(tnIdPart)) + [ then 0 else 1 end),a.denumire] + lccoloane = [nume,bi,cnp] + lcTitlu = [Alegeti delegatul] + lcTitluColoane = [Nume,BI/CI,CNP] + loHash = GetHash() + With loHash + .SetValue("cSelect", lcSelect) + .SetValue("cFiltru", lcFiltru) + .SetValue("cGroup", lcGroup) + .SetValue("cOrder", lcOrder) + .SetValue("cColoana", lccoloane) + .SetValue("cTitlu", lcTitlu) + .SetValue("cTitluColoana", lcTitluColoane) + .SetValue("cFiltruOriginal", lcFiltruOrig) + .SetValue("cPrimaColoana", "nume") + .SetValue("cNumeProc", lcProcedura) + .SetValue("cGridDynamicBackColor", [IIF(TIP = 2, Rgb(180,180,180), Iif(TIP=1, RGB(225,225,225), RGB(255,255,255) ))]) + .SetValue("cGridToolTip", "Parteneri colorati in gri deschis nu sunt delegati ai acestui partener." + ; + Chr(13) + Chr(10) + "Partenerii colorati in gri inchis nu sunt delegati.") + Endwith + + loCauta = cauta_alfa_hash(loHash) + + If tlAdaugaCoresp And !Isnull(loCauta) And Type('loCauta.id_responsabil') = 'N' And loCauta.id_responsabil <> 0 And loCauta.tip <> 0 + If loCauta.tip = 1 + Do ADAUGA_CORESP_DELEGAT With loCauta.id_responsabil, tnIdPart In oproceduri_parteneri.prg + Else + Do Adauga_Delegat_Partener With loCauta.id_responsabil, tnIdPart In oproceduri_parteneri.prg + Endif + Endif + Endif + Return loCauta +Endproc && caut_delegati_hash +***************************************** SFARSIT: caut_delegati_hash ***************************************** +******************************************* INCEPUT: caut_grupa_articole ******************************************* +Procedure caut_grupa_articole + Lparameters tlToateIreg + Local loCauta, llReturn + Store "" To loCauta + Store .F. To llReturn + pcselect = [select id_grupa,grupa from vgest_art_gr] + pcfiltru = [1=2] + pcschema = [] + pcorder = [2] + pccoloane = [grupa] + pcTitlu = [Alegeti grupa de articole] + pcTitluColoane = [Grupa] + loCauta = cauta_alfa(pcselect, pcfiltru, pcschema, pcorder, pccoloane, pcTitlu, pcTitluColoane, "", tlToateIreg) && 11.07.2007 + Return loCauta +Endproc +****************************************** SFARSIT: caut_grupa_articole ******************************************* +******************************************* INCEPUT: caut_grupa_articole_xml ******************************************* +Procedure caut_grupa_articole_xml + Lparameters tlToateIreg + Local loCauta, llReturn + Store "" To loCauta + Store .F. To llReturn + pcselect = [select id_grupa,grupa from vgest_art_gr] + pcfiltru = [1=2] + pcschema = [] + pcorder = [2] + pccoloane = [grupa] + pcTitlu = [Alegeti grupele (mouse-click pe nume sau apasati SPACE)] + pcTitluColoane = [Grupa] + + lcFiltruOriginal = [2=2] + lcPrimaColoana = "grupa" + lnPornire = 5 + lnTipReturn = 1 && XML + lcIdColumn = "id_grupa" + lcXMLGrupe = cauta_alfa(pcselect, pcfiltru, pcschema, pcorder, pccoloane, pcTitlu, pcTitluColoane, "", tlToateIreg, lcFiltruOriginal, lcPrimaColoana, lnPornire, lnTipReturn, lcIdColumn) + + Return lcXMLGrupe +Endproc +****************************************** SFARSIT: caut_grupa_articole_xml ******************************************* +**************************************** INCEPUT: caut_subgrupa_articole ****************************************** +Procedure caut_subgrupa_articole + LPARAMETERS tcFiltruOriginal, tlToateIreg, tlMultipleArticles, tnPornire, tlLoud, tcListaId, tcListaDenumire + *** tnPornire: incepe cu...,1,este...,2,nu este...,3,contine...,4,nu contine...,5,toate,6 + *** tlLoud = .T. daca apare messagebox "Nu ati selectat nici o inregistare" pentru cautarea multipla. Default = .F. + *** tcListaId = parametru OUT - lista id-uri articole + *** tcListaDenumire = parametru OUT - lista denumiri articole + + Local loCauta, llReturn, loLista + Local lcFiltruOriginal, lcIdColumn, lcNumeProc, lcPrimaColoana, lcTitlu, lcTitluColoane, lccoloane + Local lcfiltru, lcorder, lcschema, lcselect, llMultipleArticles, llToateIreg, lnPornire, lnTipReturn + + loCauta = "" + llReturn = .F. + lcselect = [select id_subgrupa,subgrupa,grupa,indicativ from vgest_art_sbgr] + lcfiltru = [1=2] + lcschema = [] + lcorder = [2] + lccoloane = [subgrupa,grupa,indicativ] + lcIdColumn = "id_subgrupa" + lcPrimaColoana = "subgrupa" + + lcTitluColoane = [Subgrupa,Grupa,Indicativ] + llToateIreg = tlToateIreg + If tlMultipleArticles + lcTitlu = [Alegeti subgrupele (mouse-click pe denumire sau apasati SPACE)] + Else + lcTitlu = [Alegeti subgrupa de articole] + Endif + lcNumeProc = "" + lcFiltruOriginal = Iif(!Empty(tcFiltruOriginal), Alltrim(tcFiltruOriginal), "") + llMultipleArticles = tlMultipleArticles + llToateIreg = tlToateIreg + lnPornire = Iif(Empty(m.tnPornire), CA_PORNIRE_INCEPE, m.tnPornire) + lnTipReturn = Iif(tlMultipleArticles, 1, 0) + + loCauta = cauta_alfa(lcSelect, lcFiltru, lcSchema, lcOrder, lccoloane, lcTitlu, lcTitluColoane, lcNumeProc, llToateIreg, lcFiltruOriginal, lcPrimaColoana, lnPornire, lnTipReturn, lcIdColumn) && 11.07.2007 + + *!* 24.08.2011 + IF m.llMultipleArticles + loLista = XML2ListaIDDescriere(loCauta, "id_subgrupa", "subgrupa", tlLoud) + tcListaId = loLista.ListaId + tcListaDenumire = loLista.ListaDenumire + ENDIF + *!* 24.08.2011 + + Return loCauta +Endproc +******************************************* SFARSIT: caut_delegati ******************************************* +******************************************* INCEPUT:caut_grupa_gestiune ******************************************* +Function caut_grupa_gestiune + Lparameters tnIdGrupa, tlToateIreg + + ** tnIdGrupa = arat toate grupele in afara (eventual) de grupa pe care am selectat-o in cazul alegerii grupei parinte + Local lcCont, loCauta + + Store "" To loCauta + If Pcount() = 2 + llToateIreg = tlToateIreg + ELSE + llToateIreg = .T. + Endif + + pcselect = [select id_grupe, nume_grupa FROM vgest_nom_grupe] + pcfiltru = [] + pcschema = [] + pcorder = [nume_grupa] + pccoloane = [nume_grupa] + pcTitlu = [Grupa] + pcTitluColoane = [Grupa] + pcFiltruOriginal = [inactiv = 0 ] + Iif(!Empty(tnIdGrupa), [ and id_grupe <> ] + Transform(tnIdGrupa), []) + lcNumeProc = [] + loCauta = cauta_alfa(pcselect, pcfiltru, pcschema, pcorder, pccoloane, pcTitlu, pcTitluColoane, lcNumeProc, llToateIreg, pcFiltruOriginal) && 11.07.2007 + + Return loCauta +Endfunc && caut_grupa_gestiune +******************************************* SFARSIT: caut_grupa_gestiune ******************************************* + + +******************************************* INCEPUT:caut_valuta ******************************************* +Function caut_valuta + Parameters tnPornire, tlDesktop, tlFaraMonedaNationala + + Local lcCont, loCauta, lnPornire, llDesktop + lnPornire = tnPornire && 1-incepe cu...6-toate + llDesktop = tlDesktop + llFaraMonedaNationala = tlFaraMonedaNationala + Store "" To loCauta + + lcSelect = [select id_valuta, nume_val, nume_val2, moneda_nationala FROM vnom_valute] + lcFiltru = [1=2] + lcSchema = [] + lcOrder = [nume_val] + lccoloane = [nume_val,nume_val2] + lcTitlu = [Alegeti valuta] + lcTitluColoane = [Valuta,Simbol] + If llFaraMonedaNationala + lcFiltruOriginal = [inactiv = 0 and moneda_nationala = 0] + Else + lcFiltruOriginal = [inactiv = 0] + Endif + lcNumeProc = [] + llToateIreg = .F. + loCauta = cauta_alfa(lcSelect, lcFiltru, lcSchema, lcOrder, lccoloane, lcTitlu, lcTitluColoane, lcNumeProc, llToateIreg, lcFiltruOriginal, , lnPornire, , , llDesktop) && 11.07.2007 + + Return loCauta +Endfunc && caut_valuta +******************************************* SFARSIT: caut_valuta ******************************************* +******************************************* INCEPUT:caut_valuta_iso ******************************************* +Function cauta_valuta_iso + Lparameters tnTipCautare, tcParametru +*!* tnTipCautare +*!* 1 - arata pe toate +*!* 2 - arata pe toate in afara de cele care se afla deja in nom_valute si nu sunt sterse/inactive +*!* 3 - nu arata formularul de cautare, ci cauta direct in baza de date o valuta care sa aiba iso-ul ca tcParametru + Local lcValutaIso, loCauta, lcSelect, lcSchema, lcOrder, lcColoane, lcTitlu, lcTitluColoane, lcFiltruOriginal, lcNumeProc, llToateIreg, lnSucces, lcCursor, lnTipCautare + Store "" To loCauta + lcSelect = [select id_valuta_iso,nume_valuta,iso_valuta from syn_vnom_valute_iso] + lcFiltru = IIF(!EMPTY(tcParametru), [iso_valuta like '] + Upper(Alltrim(tcParametru)) + [%'], [1=2]) + lnTipCautare = IIF(EMPTY(tnTipCautare), 1, tnTipCautare) + If Inlist(lnTipCautare, 1, 2) + lcSchema = [] + lcOrder = [iso_valuta] + lcColoane = [nume_valuta,iso_valuta] + lcTitlu = [Alegeti simbolul ISO] + lcTitluColoane = [Denumire,Simbol ISO] + If lnTipCautare = 2 + lcFiltruOriginal = [id_valuta_iso not in (select id_valuta_iso from nom_valute where sters = 0 and inactiv = 0 and id_valuta_iso is not null)] + Else + lcFiltruOriginal = [2=2] + Endif + lcNumeProc = [] + llToateIreg = .F. + loCauta = cauta_alfa(lcSelect, lcFiltru, lcSchema, lcOrder, lcColoane, lcTitlu, lcTitluColoane, lcNumeProc, llToateIreg, lcFiltruOriginal) + Else + If lcFiltru <> [1=2] + lcSelect = lcSelect + [ where ] + lcFiltru + lcCursor = Sys(2015) + lnSucces = goExecutor.oExecute(lcSelect, lcCursor) + If lnSucces < 0 + amessagebox(goExecutor.cEroare, 64, "Eroare") + Else + If Reccount(lcCursor) = 1 + Select (lcCursor) + Scatter Name loCauta + Endif + Use In (lcCursor) + Endif + Endif + Endif + Release lcValutaIso, lcSelect, lcSchema, lcOrder, lcColoane, lcTitlu, lcTitluColoane, lcFiltruOriginal, lcNumeProc, llToateIreg, lnSucces, lcCursor + Return IIF(TYPE('loCauta') = 'C', NULL, loCauta) +Endfunc && caut_valuta_iso +******************************************* SFARSIT: caut_valuta_iso ******************************************* +******************************************* INCEPUT:caut_fdoc ******************************************* +Function caut_fdoc + Parameters llToateIreg, tlNou + Local lcCont, loCauta + + Store "" To loCauta + + lcSelect = [select id_fdoc, fel_document, tip_doc, descriere FROM vnom_fdoc] + lcFiltru = [1=2] + lcSchema = [] + lcOrder = [fel_document] + lccoloane = [fel_document, tip_doc, descriere] + lcTitlu = [Alegeti felul documentului] + lcTitluColoane = [Fel Document, Tip, Descriere] + lcFiltruOriginal = [inactiv = 0] + If tlNou + lcNumeProc = [nom_fdoc] + Else + lcNumeProc = [] + Endif + + llToateIreg = .F. + loCauta = cauta_alfa(lcSelect, lcFiltru, lcSchema, lcOrder, lccoloane, lcTitlu, lcTitluColoane, lcNumeProc, llToateIreg, lcFiltruOriginal) && 11.07.2007 + + Return loCauta + ******************************************* SFARSIT: caut_fdoc ******************************************* +Procedure caut_alfa_beta + Lparameters tcTabela, tcSuperCombo, tnvalueSC && tcSuperCombo = "nume_camp:tip_data;" + + + lcTabela = Alltrim(tcTabela) + lcSC = Alltrim(tcSuperCombo) + + lnLen = Getwordcount(lcSC, ';') + + Dimension taSC[lnLen, 5] &&1-camp,2-tip_data,3-nrzec,4-inputmask,5-rezervat filtru + + For i = 1 To lnLen + lcSc1 = Getwordnum(lcSC, i, ';') + taSC[i, 1] = Getwordnum(lcSc1, 1, ':') + taSC[i, 2] = Getwordnum(lcSc1, 2, ':') + taSC[i, 3] = Getwordnum(lcSc1, 3, ':') + taSC[i, 4] = Getwordnum(lcSc1, 4, ':') + Endfor + + Return @taSC + +Endproc + +***************************************************************************** +Procedure update_articole + If Used('v_articole') + Use In v_articole + Endif + lcSql = [select id_articol, codmat, denumire as nume_articol, um, cant_bax, um2,compus from vnom_articole_crm order by denumire ] + lnSucces = goExecutor.oExecute(lcSql, 'v_articole') + If lnSucces < 0 + AMESSAGEBOX(goExecutor.cEroare, 0 + 16, 'Eroare') + Endif + goExecutor.oReset() + Return lnSucces + +Endproc && update_articole +***************************************************************************** +******************************************* INCEPUT:caut_sectie ******************************************* +Function caut_sectie + Parameters tnPornire, tlDesktop, tlToateIreg, tlNou, tcFiltruOriginal + + Local lcCont, loCauta, lnPornire, llDesktop + lnPornire = tnPornire && 1-incepe cu...6-toate + llDesktop = tlDesktop + + Store "" To loCauta + + lcSelect = [select id_sectie, sectie, csectie FROM vnom_sectii] + lcFiltru = [1=2] + lcSchema = [] + lcOrder = [sectie] + lccoloane = [sectie, csectie] + lcTitlu = [Alegeti sectia] + lcTitluColoane = [Sectie, Indicativ] + lcFiltruOriginal = [inactiv = 0] + gcCondSucursala + IIF(!EMPTY(tcfiltruOriginal), [ and ] + tcFiltruOriginal, []) + lcNumeProc = IIF(m.tlNou, [nom_sectii], []) + llToateIreg = m.tlToateIreg + loCauta = cauta_alfa(lcSelect, lcFiltru, lcSchema, lcOrder, lccoloane, lcTitlu, lcTitluColoane, lcNumeProc, llToateIreg, lcFiltruOriginal, , lnPornire, , , llDesktop) && 11.07.2007 + + Return loCauta +Endfunc && caut_sectie +******************************************* SFARSIT: caut_sectie ******************************************* + +******************************************* INCEPUT:caut_venchelt ******************************************* +Function caut_venchelt + Parameters tnPornire, tlDesktop, tnTip, tnId, tlToateIreg, tlNou, tcFiltruOriginal + + Local lcCont, loCauta, lnPornire, llDesktop + lnPornire = Iif(!Empty(tnPornire), 1, tnPornire) && 1-incepe cu...6-toate + llDesktop = Iif(!Empty(tlDesktop), tlDesktop, .F.) && formulare desktop = .T. + && tnTip: 1 = cheltuieli, ,2 = venituri + + Store "" To loCauta + lcFiltruOriginal = [inactiv = 0] + IIF(!EMPTY(m.tcFiltruOriginal), [ and ] + m.tcFiltruOriginal, []) + If !Empty(tnId) + lcFiltruOriginal = lcFiltruOriginal + [ and id_venchelt <> ] + Alltrim(Str(tnId)) + Endif + If !Empty(tnTip) + lcFiltruOriginal = lcFiltruOriginal + [ and tip_venchelt = ] + Alltrim(Str(tnTip)) + Endif + + lcSelect = [select id_venchelt, explicatie, (case tip_venchelt when 1 then 'C' else 'V' end) as tip_venchelt FROM vnom_venchel ] + lcFiltru = [1=2] + lcSchema = [id_venchelt n(10),explicatie c(100),tip_venchelt c(1)] + lcOrder = [explicatie] + lccoloane = [explicatie,tip_venchelt] + lcTitlu = [Alegeti venitul/cheltuiala] + lcTitluColoane = [Explicatia, Tip] + lcNumeProc = IIF(m.tlNou, [nom_venchel], []) + llToateIreg = m.tlToateIreg + loCauta = cauta_alfa(lcSelect, lcFiltru, lcSchema, lcOrder, lccoloane, lcTitlu, lcTitluColoane, lcNumeProc, llToateIreg, lcFiltruOriginal, , lnPornire, , , llDesktop) && 11.07.2007 + + Return loCauta +Endfunc && caut_venchelt +******************************************* SFARSIT: caut_venchelt ******************************************* +******************************************* INCEPUT:caut_ven ******************************************* +Function caut_ven + Parameters tnPornire, tlDesktop + + Local lcCont, loCauta, lnPornire, llDesktop + lnPornire = tnPornire && 1-incepe cu...6-toate + llDesktop = tlDesktop + + Store "" To loCauta + + lcSelect = [select id_venchelt, explicatie FROM vnom_venchel ] + lcFiltru = [1=2] + lcSchema = [] + lcOrder = [explicatie] + lccoloane = [explicatie] + lcTitlu = [Alegeti venitul] + lcTitluColoane = [Explicatia] + lcFiltruOriginal = [inactiv = 0 and tip_venchelt <> 1] + lcNumeProc = [] + llToateIreg = .F. + loCauta = cauta_alfa(lcSelect, lcFiltru, lcSchema, lcOrder, lccoloane, lcTitlu, lcTitluColoane, lcNumeProc, llToateIreg, lcFiltruOriginal, , lnPornire, , , llDesktop) && 11.07.2007 + + Return loCauta +Endfunc && caut_ven +******************************************* SFARSIT: caut_ven ******************************************* + + + +*------------------------------------------------------------ +* Description: INTOARCE XML CU FACTURI ALESE DIN FACTURI EMISE IN PERIOADA +* Parameters: tcCont, tnIdPart, tdData1, tdData2 +* Return: lcXMLFacturi +* Use: lcXMLFacturi = Caut_Facturi(lcCont, lnIdPart, ldData1, ldData2) +*------------------------------------------------------------ +* Id Date By Description +* 1 23/06/2006 marius.mutu Initial Creation +*------------------------------------------------------------ +Function caut_facturi + Lparameters tcCont, tnIdPart, tdData1, tdData2 + + Local loCauta, ldData1, ldData2, lnTipCont + + Store Null To loCauta + ldData1 = tdData1 + ldData2 = tdData2 + + + Private pnNrLuna1, pnNrLuna2, pnIdPart, pcCont + pnNrLuna1 = Year(ldData1) * 12 + Month(ldData1) + pnNrLuna2 = Year(ldData2) * 12 + Month(ldData2) + pnIdPart = tnIdPart + pcCont = tcCont + + lnTipCont = GetTipContIreg(pcCont) + + lcSelect = [select i.id_ireg_part, i.an, i.luna, i.nume, i.cont, i.acont, i.id_fact, i.serie_act, i.nract, i.dataact, i.datascad, i.preccred + i.credit as totctva FROM VIREG_EMISE_IN_PERIOADA i] + lcFiltru = [] + lcSchema = [id_ireg_part N(20), AN N(4), LUNA N(2), NUME C(100), CONT C(4), ACONT C(4), ID_FACT N(20), SERIE_ACT C(10), NRACT N(20), DATAACT D, DATASCAD D, TOTCTVA N(20,4)] + lcOrder = [i.dataact, i.nract] + llAfisare = .F. + lcGroup = [] + llModParam = .T. + lcFiltruOriginal = [i.an * 12 + i.luna between ?pnNrLuna1 and ?pnNrLuna2 and i.id_part = ?pnIdPart AND i.cont in (SELECT x AS cont FROM table(charc2collection(?pcCont, ',')))] + + lcCOloana = "nume, serie_act, nract, dataact, datascad, totctva" + lcTitluColoana = "Nume, Serie act, Numar act, Data act, Data scad, Total factura" + llAllInList = .F. + lnPornire = 6 && TOATE + lcPrimaColoana = "NUME" + lcNume_Proc = "" + lcTitlu = "Alegeti facturile (mouse-click pe nume sau apasati SPACE)" + lnTipReturn = 1 && XML + lcIdColumn = "id_ireg_part" + lcXMLFacturi = cauta_alfa(lcSelect, lcFiltru, lcSchema, lcOrder, lcCOloana, lcTitlu, lcTitluColoana, lcNume_Proc, llAllInList, lcFiltruOriginal, lcPrimaColoana, lnPornire, lnTipReturn, lcIdColumn) && 11.07.2007 + + *!* XMLTOCURSOR(lcXMLFacturi, "crsFacturi",0) + + Return lcXMLFacturi +Endfunc && caut_facturi +******************************************* SFARSIT: caut_facturi ******************************************* + +*------------------------------------------------------------ +* caut factura in luna curenta dupa nume, numar si intorc id_fact +*------------------------------------------------------------ +Function caut_factura + Lparameters tcCont, tdData1, tdData2 + + Local loFactura, ldData1, ldData2 + + loFactura = NULL + ldData1 = tdData1 + ldData2 = tdData2 + + Private pnNrLuna1, pnNrLuna2, pcCont + pnNrLuna1 = Year(ldData1) * 12 + Month(ldData1) + pnNrLuna2 = Year(ldData2) * 12 + Month(ldData2) + pcCont = tcCont + + lcSelect = [select i.id_ireg_part, i.an, i.luna, i.nume, i.cont, i.acont, i.id_fact, i.serie_act, i.nract, i.dataact, i.datascad, i.preccred + i.credit as totctva FROM VIREG_EMISE_IN_PERIOADA i] + lcFiltru = [] + lcSchema = [id_ireg_part N(20), AN N(4), LUNA N(2), NUME C(100), CONT C(4), ACONT C(4), ID_FACT N(20), SERIE_ACT C(10), NRACT N(20), DATAACT D, DATASCAD D, TOTCTVA N(20,4)] + lcOrder = [i.dataact, i.nract] + llAfisare = .F. + lcGroup = [] + llModParam = .T. + lcFiltruOriginal = [i.an * 12 + i.luna between ?pnNrLuna1 and ?pnNrLuna2 AND i.cont in (SELECT x AS cont FROM table(charc2collection(?pcCont, ',')))] + + lcCOloana = "nume, serie_act, nract, dataact, datascad, totctva, id_fact" + lcTitluColoana = "Nume, Serie act, Numar act, Data act, Data scad, Total factura, Id Fact" + llAllInList = .F. + lnPornire = 1 && INCEPE CU + lcPrimaColoana = "NUME" + lcNume_Proc = "" + lcTitlu = "Alegeti factura" + lnTipReturn = 0 && object + lcIdColumn = "id_fact" + loFactura = cauta_alfa(lcSelect, lcFiltru, lcSchema, lcOrder, lcCOloana, lcTitlu, lcTitluColoana, lcNume_Proc, llAllInList, lcFiltruOriginal, lcPrimaColoana, lnPornire, lnTipReturn, lcIdColumn) && 11.07.2007 + + Return loFactura +Endfunc && caut_facturi +******************************************* SFARSIT: caut_facturi ******************************************* + +*------------------------------------------------------------ +* Description: INTOARCE TIPUL SOLDULUI CONTULUI (0 = ACTIV/DEBITOR, 1 = PASIV/CREDITOR) +* Parameters: +* Return: 0 (DEBITOR), 1 (CREDITOR) +* Use: lnTip = GetTipContIreg("401") +*------------------------------------------------------------ +* Id Date By Description +* 1 23/06/2006 marius.mutu Initial Creation +*------------------------------------------------------------ +Function GetTipContIreg + Parameters tcCont + + Local lcSql, lcCursor, lnSucces, lnTip + + lnTip = 0 + + lcSql = [select FEL_CONT from config_cont_ireg WHERE CONT = ?tcCont] + lcCursor = [crsTipContIreg] + lnSucces = goExecutor.oExecute(lcSql, lcCursor) + If lnSucces < 0 + AMESSAGEBOX(goExecutor.cEroare, 0 + 16, "Eroare") + Else + Select crsTipContIreg + If Reccount('crsTipContIreg') > 0 + Go Top + lnTip = FEL_CONT + Endif + Use In crsTipContIreg + Endif + + Return lnTip +Endfunc && GetTipContIreg + + +*!* 04.07.2006 +*!* marius.mutu +*!* adaugat cauta_utilizator si cauta_client din roaauto\programe\update_devize.prg +*********************************************************************** +Function cauta_utilizator + Lparameters tnIdUtil, tcUtilizator + Local loCauta, llReturn + Store "" To loCauta + Store .F. To llReturn + pcselect = [select id_util,utilizator from syn_vutilizatori] + pcfiltru = [1=2] + pcschema = [] + pcorder = [utilizator] + pccoloane = [Utilizator] + pcTitlu = [Alegeti utilizatorul] + pcTitluColoane = [Utilizator] + loCauta = cauta_alfa(pcselect, pcfiltru, pcschema, pcorder, pccoloane, pcTitlu, pcTitluColoane, "") && 11.07.2007 + If !Empty(loCauta.id_util) + tnIdUtil = loCauta.id_util + tcUtilizator = Alltrim(loCauta.utilizator) + llReturn = .T. + Endif + Return llReturn +Endfunc && cauta_utilizator +*********************************************************************** +Function cauta_utilizator_firma + Parameters tnPornire, tlDesktop + Local lcCont, loCauta, lnPornire, llDesktop + ***** 17.11.2008 ***** + + lnPornire = tnPornire && 1-incepe cu...6-toate + llDesktop = tlDesktop + Store "" To loCauta + + lcSelect = [select distinct b.utilizator,a.id_util from syn_vdef_util_firme a ] + ; + [left join syn_vutilizatori b on a.id_util = b.id_util ] + lcFiltru = [1=2] + lcSchema = [] + lcOrder = [b.utilizator] + lccoloane = [utilizator] + lcTitlu = [Alegeti utilizatorul] + lcTitluColoane = [Utilizator] + lcFiltruOriginal = [a.id_firma = ?gnIdFirma] + lcNumeProc = [] + llToateIreg = .F. + loCauta = cauta_alfa(lcSelect, lcFiltru, lcSchema, lcOrder, lccoloane, lcTitlu, lcTitluColoane, lcNumeProc, llToateIreg, lcFiltruOriginal, , lnPornire, , , llDesktop) && 11.07.2007 + + Return loCauta +Endfunc && cauta_utilizatori_firma +*********************************************************************** +Function cauta_client + Lparameters tnIdPartener, tcNume + Local loCauta, llReturn + Store "" To loCauta + Store .F. To llReturn + pcselect = [select p.id_part,p.nume,p.cod_fiscal from vcoresp_tip_part p ] + ; + [join vcoresp_tip_cont c on p.id_tip_part=c.id_tip_part] + pcFiltruOrig = [c.cont ='4111' and p.inactiv=0] + pcfiltru = [1=2] + pcschema = ['id_part n(10),nume c(100),cod_fiscal c(100)'] + pcorder = [nume] + pccoloane = [nume,cod_fiscal] + pcTitlu = [Alegeti clientul] + pcTitluColoane = [Client,Cod fiscal] + loCauta = cauta_alfa(pcselect, pcfiltru, pcschema, pcorder, pccoloane, pcTitlu, pcTitluColoane, "", .F., pcFiltruOrig) && 11.07.2007 + If !Empty(loCauta.id_part) + tnIdPartener = loCauta.id_part + tcNume = Alltrim(loCauta.nume) + llReturn = .T. + Endif + Return llReturn +Endfunc +*********************************************************************** + + +*------------------------------------------------------------ +* Description: INTOARCE PRIMUL ID_TIP_PART PENTRU UN CONT +* Parameters: +* Return: ID_TIP_PART +* Use: lnIdTipPart = GetContIdTipPart("4111") +*------------------------------------------------------------ +* Id Date By Description +* 1 14/07/2006 marius.mutu Initial Creation +*------------------------------------------------------------ +Function GetContIdTipPart + Parameters tcCont + + Local lcSql, lcCursor, lnSucces, lnIdTipPart + + lnIdTipPart = 0 + + lcSql = [select id_tip_part from coresp_tip_cont WHERE CONT = ?tcCont] + lcCursor = [crsTipPartTemp] + lnSucces = goExecutor.oExecute(lcSql, lcCursor) + If lnSucces < 0 + AMESSAGEBOX(goExecutor.cEroare, 0 + 16, "Eroare") + Else + If Reccount('crsTipPartTemp') > 0 + Select crsTipPartTemp + Go Top + lnIdTipPart = id_tip_part + Endif + Use In crsTipPartTemp + Endif + + Return lnIdTipPart +Endfunc && GetContIdTipPart + + + +*** modificare serii numere - 10.2007 +*!* Procedure getNirPlajaCMP +*!* Lparameters tnPlaja1, tnPlaja2 + +*!* && PLAJE NIR-URI CMP +*!* lnTip = 4 && NIR PT CMP +*!* lnSerie = 2 +*!* lnId_entitate = 0 +*!* tnPlaja1 = 0 +*!* tnPlaja2 = 0 +*!* lcSelect = [select id_plaja,pl_inf,pl_sup from vplaje_numere where ] +; +*!* [inactiv = 0 and tip = ] + Alltrim(Str(lnTip)) + [ and serie = ] + ; +*!* ALLTRIM(Str(lnSerie)) + [ and id_entitate = ] + Alltrim(Str(lnId_entitate)) +*!* lcCursor = [crsplaja] +*!* lnSucces = goExecutor.oExecute(lcSelect,lcCursor) +*!* If lnSucces < 0 +*!* AMESSAGEBOX(goExecutor.cEroare,0+16, 'Eroare') +*!* Else +*!* Select crsPlaja +*!* tnPlaja1= pl_inf +*!* tnPlaja2 = pl_sup +*!* Use In crsPlaja +*!* Endif + +*!* &&(NNIR NOT BETWEEN ] + TRANSFORM(lnNnir1) + [ AND ] + TRANSFORM(lnNnir2) + [)] +*!* && getNirPlajaCMP(@lnPlaja1, @lnPlaja2) + +*!* Endproc &&getNirPlajaCMP +*** modificare serii numere - 10.2007 ^ +******************************************************************************************************************* +Function GetTipGestiune + Lparameters tnIdGestiune + Local lnTipGestiune, lcCursor + lnTipGestiune = -1 + lcCursor = [crsTipGest] + If Used(lcCursor) + Use In (lcCursor) + Endif + + lcSql = [select nr_pag from ] + gcS + [.vnom_gestiuni where id_gestiune = ] + Alltrim(Str(tnIdGestiune)) + lnSucces = goExecutor.oExecute(lcSql, lcCursor) + If lnSucces < 0 + AMESSAGEBOX(goExecutor.cEroare, 16, "Eroare") + Else + If Reccount(lcCursor) > 0 + Select (lcCursor) + lnTipGestiune = nr_pag + Endif + Endif + + If Used(lcCursor) + Use In (lcCursor) + Endif + Return lnTipGestiune +Endfunc && GetTipGestiune +******************************************************************************************************************* + +* PROCEDURE caut_gruputilizatori +* Date : 18.09.2006 +* author : marius.mutu +******************************************* INCEPUT:caut_gruputilizatori ******************************************* +Procedure caut_gruputilizatori(tlToateIreg, tlNou) + + Local loCauta, lcFiltruOriginal + Local lcTitlu, lcFiltru, lcSchema, lcOrder, lcNumeProc, lcTitluColoane + Store Null To loCauta + + lcSelect = [select id_grup, id_tata, denumire_grup, inactiv, nume_parinte from vgrupuri_utilizatori] + lcFiltru = [1=2] + lcSchema = [] + lcOrder = [denumire_grup] + lccoloane = [denumire_grup,id_grup] + lcFiltruOriginal = [inactiv = 0] + + + lcTitlu = "Alegeti grupul" + If tlNou + lcNumeProc = [nom_gruputilizatori] + Else + lcNumeProc = [] + Endif + lcTitluColoane = [Grup, Id] + loCauta = cauta_alfa(lcSelect, lcFiltru, lcSchema, lcOrder, lccoloane, lcTitlu, lcTitluColoane, lcNumeProc, tlToateIreg, lcFiltruOriginal) && 11.07.2007 + + Return loCauta + +Endproc +******************************************* SFARSIT: caut_gruputilizatori ******************************************* + + + +* PROCEDURE caut_sucursala +* Date : 18.09.2006 +* author : marius.mutu +******************************************* INCEPUT:caut_sucursala ******************************************* +Procedure caut_sucursala(tlToateIreg, tlNou, tlBlank) + && tlBlank = .T. => arat o inregistrare goala (daca vreau sa aleg sucursala NULL pentru mama in initializari balante) + + Local loCauta, lcFiltruOriginal + Local lcTitlu, lcFiltru, lcSchema, lcOrder, lcNumeProc, lcTitluColoane + Store Null To loCauta + + lcSelect = [select id_sucursala, sucursala, inactiv from vnom_sucursale] + If tlBlank + lcSelect = [select cast (null as number(5)) as id_sucursala, rpad(' ',100, ' ') as sucursala, 0 as inactiv from dual ] + ; + [ UNION ] + ; + lcSelect + Endif + lcFiltru = [] + lcSchema = [] + lcOrder = [sucursala] + lccoloane = [sucursala,id_sucursala] + If glEMama && daca este mama - arat doar sucursalele ei + lcFiltruOriginal = [inactiv = 0 and id_mama = ?gnIdFirma] + Else && daca este sucursala nu arat nimic + lcFiltruOriginal = [1=2] + Endif + + + lcTitlu = "Alegeti sucursala" + If tlNou + lcNumeProc = [nom_sucursale] + Else + lcNumeProc = [] + Endif + lcTitluColoane = [Sucursala, Id] + loCauta = cauta_alfa(lcSelect, lcFiltru, lcSchema, lcOrder, lccoloane, lcTitlu, lcTitluColoane, lcNumeProc, tlToateIreg, lcFiltruOriginal) && 11.07.2007 + + Return loCauta + +Endproc +******************************************* SFARSIT: caut_gruputilizatori ******************************************* +******************************************* INCEPUT: caut_masina_gs ******************************************* +Function caut_masina_gs + Lparameters tlToateIreg, tlMaiMulteMasini + Store "" To loCauta + + lcFiltru = [1=2] + lcSchema = [id_masina n(20),nrinmat c(35),marca_masina c(24),model_masina c(20)] + lcOrder = [nrinmat] + lccoloane = [nrinmat,marca_masina,model_masina] + lcTitlu = [Alegeti maºina] + lcTitluColoane = [Nr.inmatriculare,Marca,Model] + llMaiMulteMasini = tlMaiMulteMasini + lcSelect = [select id_masina,nrinmat,marca_masina,model_masina from vnom_masini where 2=2] + lcFiltruOriginal = [2=2] + lcNumeProc = [nom_masini] + llToateIreg = tlToateIreg + lcPrimaColoana = [nrinmat] + lnPornire = 1 + lnTipReturn = Iif(tlMaiMulteMasini, 1, 0) + lcIdColumn = "id_masina" + loCauta = cauta_alfa_gs(lcSelect, lcFiltru, lcSchema, lcOrder, lccoloane, lcTitlu, lcTitluColoane, lcNumeProc, llToateIreg, lcFiltruOriginal, lcPrimaColoana, lnPornire, lnTipReturn, lcIdColumn) + + Return loCauta +Endfunc && caut_masina_gs +******************************************* SFARSIT: caut_masina_gs ******************************************* + +* primeste un hash cu parametri: cTitlu, cText, cTip, cEnums +* afiseaza un textbox/editbox/combobox initializat cu cText si intoarce textul modificat +* daca tipul este COMBO - trebuie si parametrul cEnums (sir separat prin virgula cu valorile de afisat in combo) +* lcText = GetText(GetHash("cTitlu=>titlul meu??cText=>text initial??cTip=>TEXT/COMBO/EDIT??cEnums=>DA,NU")) +Procedure GetText + Parameters toHash + + Local lcText, lcTitlu, lcTip + Private pcText + + lcTitlu = toHash.GetValue("cTitlu") + pcText = toHash.GetValue("cText") + lcTip = Upper(Alltrim(toHash.GetValue("cTip"))) && text/edit/combo + lcEnums = toHash.GetValue("cEnums") + + If Empty(lcTitlu) + lcTitlu = "Valoare" + Endif + If Empty(lcTip) + lcTip = "TEXT" + Endif + lcText = pcText + + Do Case + Case lcTip = 'TEXT' + loText = Newobject("frm_textbox", "cautare.vcx") + loText.ct_text.text_simplu1.ControlSource = "pcText" + loText.ct_text.lb_simplu1.Caption = lcTitlu + + Case lcTip = 'COMBO' + loText = Newobject("frm_combobox", "cautare.vcx") + With loText.ct_text._cbbase1 + .ControlSource = "pcText" + .RowSourceType = 1 && value + .RowSource = lcEnums && sir valori + .ColumnCount = 1 && sir valori + Endwith + loText.ct_text._lbbase1.Caption = lcTitlu + + Otherwise && EDIT + loText = Newobject("frm_editbox", "cautare.vcx") + loText.ct_text._edbase1.ControlSource = "pcText" + loText.ct_text._lbbase1.Caption = lcTitlu + + Endcase + + loText.lb_titlu_alb_b121.Caption = lcTitlu + + loText.Show(1) + If gnButon = 1 + lcText = pcText + Endif + + Return lcText +Endproc && GetText + +******************************************* INCEPUT:caut_politici_preturi ******************************************* +Function caut_politici_preturi + Local lcCont, loCauta + + Store "" To loCauta + + *!* 06.07.2011 +*!* lcSelect = [select NUME_LISTA_PRETURI,DATAI,DATAS,ID_POL FROM vcrm_politici_preturi ] + lcSelect = [select nume_lista_preturi, datai, datas, id_pol from crm_vpolpretcurutil] + *!* 06.07.2011 ^ + lcFiltru = [1=2] + lcSchema = [NUME_LISTA_PRETURI C(100),DATAI D,DATAS D,ID_POL N(10)] + lcOrder = [nume_lista_preturi] + lccoloane = [NUME_LISTA_PRETURI,DATAI,DATAS,ID_POL] + lcTitlu = [Alegeti lista de pre_uri] + lcTitluColoane = [LISTA PRETURI,DATA INCEPUT,DATA SFARSIT,ID] + *!* 06.07.2011 +*!* lcFiltruOriginal = [inactiv = 0] + lcFiltruOriginal = [id_util = ?gnIdUtil] + m.gcCondSucursala + *!* 06.07.2011 ^ + lcNumeProc = [] + llToateIreg = .F. + + loCauta = cauta_alfa(lcSelect, lcFiltru, lcSchema, lcOrder, lccoloane, lcTitlu, lcTitluColoane, lcNumeProc, llToateIreg, lcFiltruOriginal) && 11.07.2007 + + Return loCauta + ******************************************* SFARSIT:caut_politici_preturi ******************************************* + ******************************************* INCEPUT:caut_imprimanta ******************************************* +Function caut_imprimanta + Local loCauta + Store [] To loCauta + + Create Cursor crsprinters (imprimanta C(100), port C(20)) + Aprinters(laPrinters) + Insert Into crsprinters From Array laPrinters + lcSelect = [select imprimanta,port from crsprinters] + lcFiltru = [1=2] + lcSchema = [imprimanta c(100),port c(20)] + lcOrder = [imprimanta] + lccoloane = [imprimanta,port] + lcTitlu = [Alegeti imprimanta] + lcTitluColoane = [Imprimanta,Port de conectare] + lcFiltruOriginal = [] + lcNumeProc = [] + llToateIreg = .F. + + loCauta = cauta_alfa_vfp(lcSelect, lcFiltru, lcSchema, lcOrder, lccoloane, lcTitlu, lcTitluColoane, lcNumeProc, llToateIreg, lcFiltruOriginal) && 11.07.2007 + + Release laPrinters + Return loCauta +Endproc &&caut_imprimanta +******************************************* SFARSIT:caut_imprimanta ******************************************* +************************************** INCEPUT:caut_politici_curente_util ************************************* +Procedure caut_politici_curente_util + Local loCauta, llReturn + Store "" To loCauta + Store .F. To llReturn + lcSelect = [select id_pol,nume,datai,datas from crm_vpolpretcurutil] + lcFiltru = [1=2] + lcSchema = [id_pol n(5), nume c(100), datai d,datas d] + lcOrder = [2] + lccoloane = [nume,datai,datas] + lcTitlu = [Alegeti politica de pre_uri] + lcTitluColoane = [Nume,Data inceput,Data sfarsit] + lcNumeProc = [] + llToateIreg = .F. + lcFiltruOriginal = [id_util = ?gnIdUtil] + loCauta = cauta_alfa(lcSelect, lcFiltru, lcSchema, lcOrder, lccoloane, lcTitlu, lcTitluColoane, lcNumeProc, llToateIreg, lcFiltruOriginal) && 11.07.2007 + Return loCauta +Endproc && caut_politici_curente_util +************************************** SFARSIT: caut_politici_curente_util ************************************** +***************************************** INCEPUT:caut_explicatie_tva ******************************************* +Function caut_explicatie_tva + Parameters tnIdJtva, tnPornire, tlDesktop, tlTipEx + *!* tlTipEx = 0 - toate + *!* = 1 - doar TVA exigibil din JC + *!* = 2 - doar TVA neexigibil din JC + *!* = 3 - doar TVA exigibil din JV + *!* = 4 - doar TVA neexigibil din JV + *!* = 5 - doar TVA exigibil ( JC + JV ) + *!* = 6 - doar TVA neexigibil ( JC + JV ) + + Local lcCont, loCauta, lnPornire, llDesktop + lnPornire = tnPornire && 1-incepe cu...6-toate + llDesktop = tlDesktop + lnIdJtva = Iif(Empty(tnIdJtva), -1, tnIdJtva) + + Store "" To loCauta + + lcSelect = [select id_jtva_coloana, denumire, cota_tva FROM vjtva_coloane] + lcFiltru = [1=2] + lcSchema = [] + lcOrder = [denumire] + lccoloane = [denumire,cota_tva] + lcTitlu = [Alegeti explica_ia TVA] + lcTitluColoane = [Explicatie TVA,Cota TVA] + *!* modificare ROACONT v 2.4.4 + do case + case empty(tlTipEx) + lcFiltruOriginal = [id_jtva_coloana > 0] + case tlTipEx = 1 + lcFiltruOriginal = [id_jtva_coloana in (select id_tva from vjtva_coloane where ] + ; + [jc = 1 and id_jtva_neex is not null)] + case tlTipEx = 2 + lcFiltruOriginal = [id_jtva_coloana in (select id_tva from vjtva_coloane where ] + ; + [jc = 1 and id_jtva_ex is not null)] + case tlTipEx = 3 + lcFiltruOriginal = [id_jtva_coloana in (select id_tva from vjtva_coloane where ] + ; + [jv = 1 and id_jtva_neex is not null)] + case tlTipEx = 4 + lcFiltruOriginal = [id_jtva_coloana in (select id_tva from vjtva_coloane where ] + ; + [jv = 1 and id_jtva_ex is not null)] + case tlTipEx = 5 + lcFiltruOriginal = [id_jtva_coloana in (select id_tva from vjtva_coloane where ] + ; + [id_jtva_neex is not null)] + Otherwise + lcFiltruOriginal = [id_jtva_coloana in (select id_tva from vjtva_coloane where ] + ; + [id_jtva_ex is not null)] + Endcase +*!* *!* If tnIdJtva > 0 +*!* *!* lcFiltruOriginal = [jc * 4 + jv * 2 + decode(afisat,0,0,1) in ] + ; +*!* *!* [(select jc * 4 + jv * 2 + decode(afisat,0,0,1) from ] + gcS + [.vjtva_coloane ] + ; +*!* *!* [where id_jtva_coloana = ] + Alltrim(Str(lnIdJtva)) + [) and id_jtva_coloana > 0] +*!* *!* ELSE +*!* lcFiltruOriginal = [id_jtva_coloana > 0] +*!* *!* Endif + *!* modificare ROACONT v 2.4.4 ^ + lcNumeProc = [] + llToateIreg = .F. + loCauta = cauta_alfa(lcSelect, lcFiltru, lcSchema, lcOrder, lccoloane, lcTitlu, lcTitluColoane, lcNumeProc, llToateIreg, lcFiltruOriginal, , lnPornire, , , llDesktop) && 11.07.2007 + + Return loCauta +Endfunc && caut_explicatie_tva +***************************************** SFARSIT: caut_explicatie_tva ******************************************* + +* PROCEDURE caut_formatie +* Date : 26.03.2007 +* author : paula.mutu +******************************************* INCEPUT: caut_formatie ******************************************* +Procedure caut_formatie + Lparameters tlToateIreg, tlNou, tlTranse + Local lcSelect, lcFiltruInitial, lcFiltru, lcSchema, lcOrder, lcColoane, lcTitlu, lcTitluColoane, lcNumeProc, tlToateIreg + lcSelect = [select * from sal_vnom_formatii] + lcFiltruInitial = [inactiv = 0] + lcFiltru = [1=1] + lcSchema = [] + lcOrder = [denumire] + lcColoane = [denumire,sectie] + IIF(tlTranse, [,transa], []) + lcTitlu = [Alegeti forma_ia] + If tlNou + lcNumeProc = [sal_nom_formatii] && [nom_formatie] + Else + lcNumeProc = [] + Endif + lcTitluColoane = [Formatie,Sectia] + IIF(tlTranse, [,Transa], []) + loCauta = cauta_alfa(lcSelect, lcFiltru, lcSchema, lcOrder, lcColoane, lcTitlu, lcTitluColoane, lcNumeProc, tlToateIreg, lcFiltruInitial) && 11.07.2007 + Return Iif(gnButon = 2, Null, loCauta) +Endproc && caut_formatie +***************************************** SFARSIT: caut_formatie ******************************************* +******************************************* INCEPUT: caut_gestiune_dest ******************************************* +Function caut_gestiune_dest + Lparameters tnIdGestiune, tcTip, tnTip + *!* tnIdGestiune - daca e diferit de zero atunci exclude din rezultate gestiunea cu id-ul respectiv + *!* tcTip - lista cu tipurile de gestiuni + *!* tnTip - daca e 1 atunci arata doar gestiunile, fara conturi si analitice + Local lcTip, lnTip + Store "" To loCauta, lcTip + If Empty(tcTip) + lcTip = [2,4,5,6,7] + Else + lcTip = tcTip + Endif + If Empty(tnTip) + lnTip = 0 + Else + lnTip = tnTip + Endif + pcFiltruOriginal = [a.id_util=?gnIdUtil and a.sters=0 and b.sters=0 and c.sters=0 and c.nr_pag in (] + Alltrim(lcTip) + [)] + If !Empty(Nvl(tnIdGestiune, 0)) + pcFiltruOriginal = pcFiltruOriginal + [ and b.id_gestiune!=] + Alltrim(Str(tnIdGestiune)) + Endif + + If lnTip = 1 + pcselect = [select distinct c.nume_gestiune,c.cgest,b.id_gestiune ] + ; + [from gest_coresp_util_grupe a ] + ; + [left join gest_coresp_grupe_gestiuni b on a.id_grupe=b.id_grupe ] + ; + [left join nom_gestiuni c on b.id_gestiune=c.id_gestiune ] + pcorder = [nume_gestiune] + pccoloane = [nume_gestiune,cgest] + pcTitlu = [Alegeti gestiunea destina_ie] + pcTitluColoane = [Gestiune,Cgest] + Else + pcselect = [select distinct c.nume_gestiune,c.cgest,b.id_gestiune,d.id_tipgest,] + ; + [NVL(c.cont, d.cont) as cont,NVL(c.acont, p.acont) as acont ] + ; + [from gest_coresp_util_grupe a ] + ; + [left join gest_coresp_grupe_gestiuni b on a.id_grupe=b.id_grupe ] + ; + [left join nom_gestiuni c on b.id_gestiune=c.id_gestiune ] + ; + [left join coresp_cont_tipgest d on c.nr_pag=d.id_tipgest ] + ; + [left join vplcont_analitic p on NVL(c.cont, d.cont) = p.cont and p.an = ?gnAn and p.inactiv = 0 ] + ; + [left join vplcont_sintetic s on NVL(c.cont, d.cont) = s.cont and s.an = ?gnAn and s.inactiv = 0 ] + *!* modificare ROAFACTURARE v 2.0.19 ^ + pcorder = [nume_gestiune,cgest,cont,acont] + pccoloane = [nume_gestiune,cgest,cont,acont] + pcTitlu = [Alegeti gestiunea ºi contul de transfer] + pcTitluColoane = [Gestiune,Cgest,Cont,Analitic] +*!* pcFiltruOriginal = pcFiltruOriginal + [ and s.an=?gnAn and s.inactiv = 0 and NVL(p.an,?gnAn)=?gnAn and NVL(p.inactiv,0) = 0] && modificare v 2.2.25 + Endif + pcfiltru = [1=2] + pcschema = [] + lcNumeProc = [] + llToateIreg = .F. + loCauta = cauta_alfa(pcselect, pcfiltru, pcschema, pcorder, pccoloane, pcTitlu, pcTitluColoane, lcNumeProc, llToateIreg, pcFiltruOriginal) && 11.07.2007 + + Return loCauta +Endfunc +******************************************* SFARSIT: caut_gestiune_dest ******************************************* +******************************************* INCEPUT:caut_mediu_transmisie ******************************************* +Function caut_mediu_transmisie + Parameters llToateIreg, tlNou + Local lcCont, loCauta + + Store "" To loCauta + + lcSelect = [select id_mediu, mediu_transmisie FROM vnom_medii_transmisie] + lcFiltru = [1=2] + lcSchema = [] + lcOrder = [mediu_transmisie] + lccoloane = [mediu_transmisie] + lcTitlu = [Alegeti mediul de transmisie] + lcTitluColoane = [Mediu transmisie] + lcFiltruOriginal = [] + If tlNou + lcNumeProc = [nom_medii_transmisie] + Else + lcNumeProc = [] + Endif + + llToateIreg = .F. + loCauta = cauta_alfa(lcSelect, lcFiltru, lcSchema, lcOrder, lccoloane, lcTitlu, lcTitluColoane, lcNumeProc, llToateIreg, lcFiltruOriginal) && 11.07.2007 + + Return loCauta + ******************************************* SFARSIT: caut_mediu_transmisie ******************************************* + ******************************************* INCEPUT:caut_contract ******************************************* +Function caut_contract + Lparameters tnIdTipCtr, tnIdPart, tlToate + *!* 0 - toate + *!* -1 - clienti + *!* -2 - furnizori + Local loCauta, lcFiltru + lcFiltru = [] + Store "" To loCauta + If !Empty(tnIdPart) + lcFiltru = [ and id_part = ] + Alltrim(Str(tnIdPart)) + Endif + If !Empty(tnIdTipCtr) + lcFiltru = lcFiltru + [ and id_tip_ctr = ] + Alltrim(Str(tnIdTipCtr)) + Endif + If tlToate + pcselect = [select id_ctr,id_part,denumire,data,numar_aa,numar,data_inceput,data_sfarsit,id_responsabil,observatii,] + ; + [responsabil,contract,descriere from ] + gcS + [.vcontracte_toate ] + pcorder = [data,numar_aa] + pccoloane = [numar_aa,data,denumire,data_inceput,data_sfarsit,responsabil] + Else + pcselect = [select id_ctr,id_part,denumire,data,numar,data_inceput,data_sfarsit,id_responsabil,observatii,] + ; + [responsabil,contract,descriere from ] + gcS + [.vcontracte ] + pcorder = [data,numar] + pccoloane = [numar,data,denumire,data_inceput,data_sfarsit,responsabil] + Endif + pcfiltru = [1=2] + pcschema = [''] + pcTitlu = [Alegeti contractul] + pcTitluColoane = [Numar,Data,Denumire,Data inceput,Data sfarsit,Responsabil] + pcFiltruOriginal = Substr(lcFiltru, 5) + lcNumeProc = [contracte] + llToateIreg = .F. + loCauta = cauta_alfa(pcselect, pcfiltru, pcschema, pcorder, pccoloane, pcTitlu, pcTitluColoane, lcNumeProc, llToateIreg, pcFiltruOriginal) + + Return loCauta + ******************************************* SFARSIT: caut_contract ******************************************* + ******************************************* INCEPUT: caut_raport ******************************************* +Procedure caut_raport + Lparameters tnIdFormular, tlDrepturi + Local loCauta, lcSelect + loCauta = NULL + + IF m.tlDrepturi + lcSelect = [select r.id_raport,Substr(denumire,1,254) as denumire,titlu, dataora, utilizator from vrapoarte r join rapoarte_utilizatori ru on r.id_raport = ru.id_raport] + ELSE + lcSelect = [select r.id_raport,Substr(denumire,1,254) as denumire,titlu, dataora, utilizator from vrapoarte r] + ENDIF + + loHash = GetHash() + loHash.SetValue("cSelect", lcSelect) + loHash.SetValue("cFiltru", [1=2]) + loHash.SetValue("cSchema", [id_raport n(10),denumire c(254),titlu c(150),dataora t,utilizator c(100)]) + loHash.SetValue("cOrder", [denumire]) + loHash.SetValue("cColoana", [denumire,titlu,utilizator,dataora]) + loHash.SetValue("cTitlu", [Alegeti raportul]) + loHash.SetValue("cTitluColoana", [Denumire,Titlu,Utilizator,Dataora]) + loHash.SetValue("lToateIreg", .F.) + loHash.SetValue("cFiltruOriginal", [r.id_formular_raport = ] + Alltrim(Str(m.tnIdFormular)) + IIF(m.tlDrepturi, [ and ru.id_utilizator = ] + ALLTRIM(STR(m.gnIdUtil)), [])) + loHash.SetValue("cIdColumn", "id_raport") + loHash.SetValue('lModParam', .T.) + + loCauta = cauta_alfa_hash(loHash) + Return loCauta +Endproc && caut_raport +******************************************* SFARSIT: caut_raport ******************************************* +************************************************************************************************************ +Procedure caut_sectie_util + Lparameters tnIdUtil, tnIdSucursala + Local loCauta, lcFiltru + Store "" To loCauta + If Empty(tnIdSucursala) + lcFiltruOriginal = [ and id_sectie in (select a1.id_sectie from asociere_parteneri_sectii a1 ] + ; + [left join nom_sectii a2 on a1.id_sectie = a2.id_sectie ] + ; + [where a1.id_tip = 2 and a2.sters = 0 and a1.id_part in ] + ; + [(select id_partener from vutilizatori_rol_intern where id_util = ] + Alltrim(Str(tnIdUtil)) + [))] + Else + lcFiltruOriginal = [ and id_sectie in (select a1.id_sectie from asociere_parteneri_sectii a1 ] + ; + [left join nom_sectii a2 on a1.id_sectie = a2.id_sectie ] + ; + [where a1.id_tip = 2 and a2.sters = 0 and a1.id_part in ] + ; + [(select id_partener from vutilizatori_rol_intern where id_util = ] + Alltrim(Str(tnIdUtil)) + [) ] + ; + [and a2.id_sucursala = ] + Alltrim(Str(tnIdSucursala)) + [)] + Endif + lcFiltruOriginal = [inactiv = 0] + lcFiltruOriginal + lcSelect = [select id_sectie, sectie, csectie from ] + gcS + [.vnom_sectii ] + lcOrder = [sectie] + lccoloane = [sectie,csectie] + lcFiltru = [1=2] + lcSchema = ['id_sectie n(10),sectie c(254),csectie c(50)'] + lcTitlu = [Alegeti sec_ia] + lcTitluColoane = [Sectie, Indicativ] + llToateIreg = .T. + loCauta = cauta_alfa(lcSelect, lcFiltru, lcSchema, lcOrder, lccoloane, lcTitlu, lcTitluColoane, [], llToateIreg, lcFiltruOriginal) + Return loCauta +Endproc +************************************************************************************************************ +Procedure caut_lucrare_sectie + Lparameters tnIdUtil, tnIdSectie, tnIdSucursala + Local loCauta, lcFiltru + Store "" To loCauta + If !Empty(tnIdSectie) + lcFiltruOriginal = [ and id_sectie = ] + Alltrim(Str(tnIdSectie)) + Else + If Empty(tnIdSucursala) + lcFiltruOriginal = [ and id_sectie in (select a1.id_sectie from asociere_parteneri_sectii a1 ] + ; + [left join nom_sectii a2 on a1.id_sectie = a2.id_sectie ] + ; + [where a1.id_tip = 2 and a2.sters = 0 and a1.id_part in ] + ; + [(select id_partener from vutilizatori_rol_intern where id_util = ] + Alltrim(Str(tnIdUtil)) + [))] + Else + lcFiltruOriginal = [ and id_sectie in (select a1.id_sectie from asociere_parteneri_sectii a1 ] + ; + [left join nom_sectii a2 on a1.id_sectie = a2.id_sectie ] + ; + [where a1.id_tip = 2 and a2.sters = 0 and a1.id_part in ] + ; + [(select id_partener from vutilizatori_rol_intern where id_util = ] + Alltrim(Str(tnIdUtil)) + [) ] + ; + [and a2.id_sucursala = ] + Alltrim(Str(tnIdSucursala)) + [)] + Endif + Endif + lcFiltruOriginal = [inactiv = 0] + lcFiltruOriginal + lcSelect = [select id_lucrare,nrord from ] + gcS + [.vlucrari_sectii ] + lcOrder = [nrord] + lccoloane = [nrord] + lcFiltru = [1=2] + lcSchema = ['id_lucrare n(10),nrord c(200)'] + lcTitlu = [Alegeti lucrarea] + lcTitluColoane = [Lucrare] + llToateIreg = .T. + loCauta = cauta_alfa(lcSelect, lcFiltru, lcSchema, lcOrder, lccoloane, lcTitlu, lcTitluColoane, [], llToateIreg, lcFiltruOriginal) + Return loCauta +Endproc +************************************************************************************************************ +Procedure caut_sucursala_sectii + Lparameters tnIdUtil + Local loCauta, lcFiltru + Store "" To loCauta + lcFiltruOriginal = [inactiv = 0 and id_sucursala in (select id_sucursala from nom_sectii where id_sectie in (] + ; + [select id_sectie from asociere_parteneri_sectii where id_tip = 2 and id_part in ] + ; + [(select id_partener from vutilizatori_rol_intern where id_util = ] + Alltrim(Str(tnIdUtil)) + [)) and sters = 0)] + lcSelect = [select id_sucursala,sucursala from ] + gcS + [.vnom_sucursale ] + lcOrder = [sucursala] + lccoloane = [sucursala] + lcFiltru = [1=2] + lcSchema = ['id_sucursala n(10),sucursala c(200)'] + lcTitlu = [Alegeti sucursala] + lcTitluColoane = [Sucursale] + llToateIreg = .T. + loCauta = cauta_alfa(lcSelect, lcFiltru, lcSchema, lcOrder, lccoloane, lcTitlu, lcTitluColoane, [], llToateIreg, lcFiltruOriginal) + Return loCauta +Endproc +************************************************************************************************************ +*!* 11.11.2009 +Procedure caut_tipuri_imobilizare + Local loHash, loCauta + loHash = GetHash() + With loHash + .SetValue("cSelect", [select id_tip_imobilizare, denumire from imob_tipuri_imobilizare]) + *!* .SetValue("cFiltru", "sters = 0 and inactiv = 0") + .SetValue("cOrder", "id_tip_imobilizare") + .SetValue("cColoana", "denumire, id_tip_imobilizare") + .SetValue("cTitlu", "Tipuri imobilizari") + .SetValue("cTitluColoana", "Denumire,Id") + .SetValue("cFiltruOriginal", "sters = 0 and inactiv = 0") + + .SetValue("cPrimaColoana", "denumire") + *!* .SetValue("cNumeProc", lcNumeProcedura) + .SetValue("nPornire", 6) && TOATE + + Endwith + + loCauta = cauta_alfa_hash(loHash) + Return loCauta +Endproc && caut_tipuri_imobilizare +*!* 11.11.2009 ^ +************************************************************************************************************ +Function caut_cass + Lparameters tlNou + Local loHash, loCauta + loHash = GetHash() + With loHash + .SetValue("cSelect", [select numecasa,judet,id_caseasig,indicativ from sal_vcaseasig]) + .SetValue("cOrder", "numecasa,judet") + .SetValue("cColoana", "numecasa,judet") + .SetValue("cTitlu", "Alegeti casa de sanatate") + .SetValue("cTitluColoana", "Casa asigurari,Judet") + .SetValue("cFiltruOriginal", "2=2") + If tlNou + .SetValue("cNumeProc", "sal_caseasig") + Endif + Endwith + loCauta = cauta_alfa_hash(loHash) + Return Iif(gnButon = 2, Null, loCauta) +Endfunc +************************************************************************************************************ +Function caut_salariat + Local lcSelect, lcFiltru, lcSchema, lcOrder, lcColoane, lcTitlu, lcTitluColoane + lcSelect = [select nume,prenume,marca,id_stat,id_salariat from sal_vnom_pers ] + lcFiltru = [1=2] + lcSchema = [] + lcOrder = [nume,prenume] + lcColoane = [nume,prenume,marca,id_stat,id_salariat] + lcTitlu = [Angaja_i] + lcTitluColoane = [Nume,Prenume,Marca] + locauta = cauta_alfa(lcselect, lcfiltru, lcschema, lcorder, lccoloane, lcTitlu, lcTitluColoane,,,,[nume,prenume,marca]) +*!* +*!* tcselect,tcfiltru,tcschema,tcorder,tccoloana,tcTitlu,tcTitluColoana, ; +*!* tcNume_Proc,tl_AllInList,tcFiltruOriginal,tcPrimaColoana, + + + Return IIF(gnbuton = 2, Null, locauta) +Endfunc +************************************************************************************************************ +Function caut_salariat_spec + Lparameters tnTip, tlToti + Local lcSelect, lcFiltru, lcSchema, lcOrder, lcColoane, lcTitlu, lcTitluColoane + If tlToti + lcSelect = [select distinct id_part,nume,prenume,codpers from spec_vvenituri_tot] + Else + lcSelect = [select id_venit,codpers,nume,prenume,judet,sector,localitate,] + ; + [strada,numar,bloc,scara,etaj,apart,codpostal,id_colaborator,id_part from spec_vvenituri] + Endif + lcFiltru = [1=2] + lcSchema = [] + lcOrder = [nume,prenume] + lcColoane = [nume,prenume,codpers] + lcTitluColoane = [Nume,Prenume,CNP] + If tnTip = 0 + lcTitlu = [Alegeti persoana] + locauta = cauta_alfa(lcSelect, lcFiltru, lcSchema, lcOrder, lcColoane, lcTitlu, lcTitluColoane) + Return Iif(gnbuton = 2, Null, locauta) + Else + lcTitlu = [Alegeti persoanele (mouse-click pe nume sau apasati SPACE)] + lnTipReturn = 1 && XML + lcPrimaColoana = "nume" + lcIdColumn = "id_venit" + lnPornire = 1 + lcXMLParteneri = cauta_alfa(lcSelect, lcFiltru, lcSchema, lcOrder, lcColoane, lcTitlu, lcTitluColoane, [], .F., [2=2], lcPrimaColoana, lnPornire, lnTipReturn, lcIdColumn) + Return lcXMLParteneri + Endif +Endfunc +************************************************************************************************************ +FUNCTION caut_tip_cm + Local lcSelect, lcFiltru, lcSchema, lcOrder, lcColoane, lcTitlu, lcTitluColoane, lcFiltruOriginal + lcSelect = [select * from ] + gcS + [.sal_vnom_cm] + lcFiltru = [2=2] + lcSchema = [] + lcOrder = [ordine,cod_cm,conc_med] + lcColoane = [cod_cm,conc_med] + lcTitlu = [Cod CM,Concediu] + lcTitluColoane = [Cod CM,Concediu] + lcFiltruOriginal = [sters = 0 ] + locauta = cauta_alfa(lcselect, lcfiltru, lcschema, lcorder, lccoloane, lcTitlu, lcTitluColoane, [], .F., lcFiltruOriginal )&&30iul2007 + Return IIF(gnbuton = 2, Null, locauta) +Endfunc +************************************************************************************************************ +FUNCTION caut_loc_prescriere + Local lcSelect, lcFiltru, lcSchema, lcOrder, lcColoane, lcTitlu, lcTitluColoane, lcFiltruOriginal + lcSelect = [select * from sal_loc_prescriere] + lcFiltru = [2=2] + lcSchema = [] + lcOrder = [cod_pres] + lcColoane = [locPrescriere] + lcTitlu = [Loc Prescriere] + lcTitluColoane = [Loc Prescriere] + lcFiltruOriginal = [sters = 0 ] + locauta = cauta_alfa(lcselect, lcfiltru, lcschema, lcorder, lccoloane, lcTitlu, lcTitluColoane, [], .F., lcFiltruOriginal )&&30iul2007 + Return IIF(gnbuton = 2, Null, locauta) +endfunc +************************************************************************************************************ +FUNCTION caut_tip_spor + Local lcSelect, lcFiltru, lcSchema, lcOrder, lcColoane, lcTitlu, lcTitluColoane, lcFiltruOriginal + lcSelect = [select id_tip_spor,nume_tip_spor,cod_categorie from syn_sal_nom_tip_spor] + lcFiltru = [2=2] + lcSchema = [] + lcOrder = [cod_categorie desc,id_tip_spor] + lcColoane = [nume_tip_spor] + lcTitlu = [Tip sporuri] + lcTitluColoane = [Tip spor] + lcFiltruOriginal = [NVL(data_inactiv,to_date('20991231','YYYYMMDD')) > to_date('] + ALLTRIM(STR(gnAn)) + ALLTRIM(STR(gnLuna)) + [','YYYYMM')] + locauta = cauta_alfa(lcselect, lcfiltru, lcschema, lcorder, lccoloane, lcTitlu, lcTitluColoane, [], .F., lcFiltruOriginal )&&30iul2007 + Return IIF(gnbuton = 2, Null, locauta) +endfunc +*********************************************************************************************************** +Function caut_tara + Lparameters tnIdCetatenie + Local lcSelect, lcFiltruInitial, lcFiltru, lcSchema, lcOrder, lcColoane, lcTitlu, lcTitluColoane + lcSelect = [select * from syn_nom_tari] + lcFiltruInitial = [sters = 0] + If !Empty(tnIdCetatenie) + lcFiltruInitial = lcFiltruInitial + [ and id_cetatenie = ] + Alltrim(Str(tnIdCetatenie)) + Endif + lcFiltru = [2=2] + lcSchema = [] + lcOrder = [tara] + lcColoane = [tara,prescurtare] + lcTitlu = [Na_ionalitate] + lcTitluColoane = [Tara,Abreviere] + loCauta = cauta_alfa(lcSelect, lcFiltru, lcSchema, lcOrder, lcColoane, lcTitlu, lcTitluColoane, , , lcFiltruInitial) + Return Iif(gnButon = 2, Null, loCauta) +Endfunc +*********************************************************************************************************** +Function caut_judet + Local lcSelect, lcFiltruInitial, lcFiltru, lcSchema, lcOrder, lcColoane, lcTitlu, lcTitluColoane + lcSelect = [select * from syn_vnom_judete] + lcFiltruInitial = [inactiv=0] + lcFiltru = [2=2] + lcSchema = [] + lcOrder = [judet,indicativ] + lcColoane = [judet,indicativ] + lcTitlu = [Jude_] + lcTitluColoane = [Judet,Indicativ] + loCauta = cauta_alfa(lcSelect, lcFiltru, lcSchema, lcOrder, lcColoane, lcTitlu, lcTitluColoane, , , lcFiltruInitial) + Return Iif(gnButon = 2, Null, loCauta) +Endfunc +*********************************************************************************************************** +Function caut_localitate + Lparameters tnIdJudet, tnIdTara + Local lcSelect, lcFiltruInitial, lcFiltru, lcSchema, lcOrder, lcColoane, lcTitlu, lcTitluColoane + lcSelect = [select * from syn_vnom_localitati] + lcFiltruInitial = Iif(!Empty(Nvl(tnIdJudet, 0)), [id_judet = ] + Alltrim(Str(tnIdJudet)), IIF(!EMPTY(NVL(tnIdTara, 0)), [id_tara = ] + ALLTRIM(STR(tnIdTara)), [2=2])) + lcFiltru = [inactiv=0] + lcSchema = [] + lcOrder = [localitate] + lcColoane = [localitate,siruta,judet,tara] + lcTitlu = [Localita_i] + lcTitluColoane = [Localitate,Siruta,Judet,Tara] + loCauta = cauta_alfa(lcSelect, lcFiltru, lcSchema, lcOrder, lcColoane, lcTitlu, lcTitluColoane, [nom_localitati], , lcFiltruInitial) + Return Iif(gnButon = 2, Null, loCauta) +Endfunc +*********************************************************************************************************** +Function caut_tipautorizatie + Local lcSelect, lcFiltruInitial, lcFiltru, lcSchema, lcOrder, lcColoane, lcTitlu, lcTitluColoane + lcSelect = [select id_tipautorizatie,denumire from syn_sal_nom_tipautorizatie] + lcFiltruInitial = [sters=0 and inactiv = 0] + lcFiltru = [2=2] + lcSchema = [id_tipautorizatie n(10),denumire c(250)] + lcOrder = [denumire] + lcColoane = [denumire] + lcTitlu = [Tipuri de autoriza_ie] + lcTitluColoane = [Tip autorizatie] + loCauta = cauta_alfa(lcSelect, lcFiltru, lcSchema, lcOrder, lcColoane, lcTitlu, lcTitluColoane, , , lcFiltruInitial) + Return Iif(gnButon = 2, Null, loCauta) +Endfunc +*********************************************************************************************************** +Function caut_cetatenie + Local lcSelect, lcFiltruInitial, lcFiltru, lcSchema, lcOrder, lcColoane, lcTitlu, lcTitluColoane + lcSelect = [select * from syn_nom_cetatenii] + lcFiltruInitial = [sters=0] + lcFiltru = [2=2] + lcSchema = [] + lcOrder = [denumire] + lcColoane = [denumire] + lcTitlu = [Ceta_enie] + lcTitluColoane = [Cetatenie] + loCauta = cauta_alfa(lcSelect, lcFiltru, lcSchema, lcOrder, lcColoane, lcTitlu, lcTitluColoane, , , lcFiltruInitial) + Return Iif(gnButon = 2, Null, loCauta) +Endfunc +*********************************************************************************************************** +Function caut_tipact + Local lcSelect, lcFiltruInitial, lcFiltru, lcSchema, lcOrder, lcColoane, lcTitlu, lcTitluColoane + lcSelect = [select * from ] + gcS + [.sal_nom_tip_acte] + lcFiltruInitial = [sters=0] + lcFiltru = [2=2] + lcSchema = [] + lcOrder = [denumire] + lcColoane = [denumire] + lcTitlu = [Tip act identitate] + lcTitluColoane = [Act] + loCauta = cauta_alfa(lcSelect, lcFiltru, lcSchema, lcOrder, lcColoane, lcTitlu, lcTitluColoane, , , lcFiltruInitial) + Return Iif(gnButon = 2, Null, loCauta) +Endfunc +*********************************************************************************************************** +Function caut_tipcontract + Local lcSelect, lcFiltruInitial, lcFiltru, lcSchema, lcOrder, lcColoane, lcTitlu, lcTitluColoane + lcSelect = [select * from ] + gcS + [.sal_vnom_tipctr] + lcFiltruInitial = [sters=0] + lcFiltru = [2=2] + lcSchema = [] + lcOrder = [tip_contract] + lcColoane = [tip_contract] + lcTitlu = [Tip Contract] + lcTitluColoane = [Tip Contract] + loCauta = cauta_alfa(lcSelect, lcFiltru, lcSchema, lcOrder, lcColoane, lcTitlu, lcTitluColoane, , , lcFiltruInitial) + Return Iif(gnButon = 2, Null, loCauta) +Endfunc +*********************************************************************************************************** +Function caut_meserie + LPARAMETERS tnTip + *!* 1 = meseria ; 2 = profesia + Local lcSelect, lcFiltruInitial, lcFiltru, lcSchema, lcOrder, lcColoane, lcTitlu, lcTitluColoane + lcSelect = [select * from ] + gcS + [.sal_nom_mes] + lcFiltruInitial = [sters=0 and inactiv = 0] + lcFiltru = [2=2] + lcSchema = [] + lcOrder = [meserie] + If tnTip = 1 + lcColoane = [meserie,cod_meserie] + lcTitlu = [Meserii] + lcTitluColoane = [Meserie,Cod] + Else + lcColoane = [meserie] + lcTitlu = [Profesii] + lcTitluColoane = [Profesie] + Endif + loCauta = cauta_alfa(lcSelect, lcFiltru, lcSchema, lcOrder, lcColoane, lcTitlu, lcTitluColoane, 'sal_nom_mes', , lcFiltruInitial,[meserie,cod_meserie]) + Return Iif(gnButon = 2, Null, loCauta) +Endfunc +*********************************************************************************************************** +FUNCTION caut_grupamunca + Local lcSelect, lcFiltruInitial, lcFiltru, lcSchema, lcOrder, lcColoane, lcTitlu, lcTitluColoane + lcSelect = [select * from ] + gcS + [.sal_coef_cas] + lcFiltruInitial = [sters=0] + lcFiltru = [2=2] + lcSchema = [] + lcOrder = [dengrupa] + lcColoane = [dengrupa] + lcTitlu = [Grupa de munca] + lcTitluColoane = [Denumire] + loCauta = cauta_alfa(lcSelect, lcFiltru, lcSchema, lcOrder, lcColoane, lcTitlu, lcTitluColoane, , , lcFiltruInitial) + Return Iif(gnButon = 2, Null, loCauta) +ENDFUNC +*********************************************************************************************************** +Function caut_clasasal + Local lcSelect, lcFiltruInitial, lcFiltru, lcSchema, lcOrder, lcColoane, lcTitlu, lcTitluColoane + lcSelect = [select * from ] + gcS + [.sal_vnom_clasesal] + lcFiltruInitial = [sters=0] + lcFiltru = [2=2] + lcSchema = [] + lcOrder = [cod] + lcColoane = [cod,tarifar] + lcTitlu = [Clase salarizare] + lcTitluColoane = [Cod,Tarifar] + loCauta = cauta_alfa(lcSelect, lcFiltru, lcSchema, lcOrder, lcColoane, lcTitlu, lcTitluColoane, , , lcFiltruInitial) + Return Iif(gnButon = 2, Null, loCauta) +Endfunc +*********************************************************************************************************** +Function caut_bancasal + Lparameters tlNou + Local lcSelect, lcFiltruInitial, lcFiltru, lcSchema, lcOrder, lcColoane, lcTitlu, lcTitluColoane, lcNumeProc + lcSelect = [select id_banca,denumire from ] + gcS + [.sal_nom_banci] + lcFiltruInitial = [sters=0] + lcFiltru = [2=2] + lcSchema = [] + lcOrder = [denumire] + lcColoane = [denumire] + lcTitlu = [Banca] + lcTitluColoane = [Banca] + If tlNou + lcNumeProc = [sal_nom_banci] + Else + lcNumeProc = [] + Endif + loCauta = cauta_alfa(lcSelect, lcFiltru, lcSchema, lcOrder, lcColoane, lcTitlu, lcTitluColoane, lcNumeProc, , lcFiltruInitial) + Return Iif(gnButon = 2, Null, loCauta) +Endfunc +*********************************************************************************************************** +Function caut_contract_activ + Lparameters tnIdTipCtr, tnIdPart, tdActivLaData + *!* 0 - toate + *!* -1 - clienti + *!* -2 - furnizori + Local lcSelect, lcFiltruInitial, lcFiltru, lcSchema, lcOrder, lcColoane, lcTitlu, lcTitluColoane, lcNumeProc, lcPrimaColoana + Store "" To loCauta + lcSelect = [select id_ctr,id_part,denumire,data,numar,data_inceput,data_sfarsit,id_responsabil,observatii,] + ; + [responsabil,contract,descriere from ] + gcS + [.vcontracte ] + lcFiltru = [1=2] + lcSchema = [''] + lcOrder = [data,numar] + lcColoane = [numar,data,denumire,data_inceput,data_sfarsit,responsabil] + lcTitlu = [Alegeti contractul] + lcTitluColoane = [Numar,Data,Denumire,Data inceput,Data sfarsit,Responsabil] + lcFiltruInitial = [] + If !Empty(tnIdPart) + lcFiltruInitial = [ and id_part = ] + Alltrim(Str(tnIdPart)) + Endif + If !Empty(tdActivLaData) + lcFiltruInitial = lcFiltruInitial + [ and NVL(data_sfarsit,to_date('] + DTOC(tdActivLaData, 1) + [','YYYYMMDD')) >= to_date('] + DTOC(tdActivLaData, 1) + [','YYYYMMDD')] + Else + lcFiltruInitial = lcFiltruInitial + [ and data_sfarsit is null] + Endif + lcFiltruInitial = [incetat = 0] + gcCondSucursala + lcFiltruInitial + lcNumeProc = [contracte] + lcPrimaColoana = [numar,denumire] + loCauta = cauta_alfa(lcSelect, lcFiltru, lcSchema, lcOrder, lcColoane, lcTitlu, lcTitluColoane, lcNumeProc, , lcFiltruInitial, lcPrimaColoana) + + Return Iif(gnButon = 2, Null, loCauta) +Endfunc +*********************************************************************************************************** +FUNCTION caut_sporuri + Local lcSelect, lcFiltruInitial, lcFiltru, lcSchema, lcOrder, lcColoane, lcTitlu, lcTitluColoane + lcSelect = [select * from ] + gcS + [.sal_vnom_sporuri] + lcFiltruInitial = [sters=0 and inactiv = 0] + lcFiltru = [2=2] + lcSchema = [] + lcOrder = [nume_spor] + lcColoane = [nume_spor,nume_tip_spor] + lcTitlu = [Sporuri] + lcTitluColoane = [Nume spor,Tip spor] + loCauta = cauta_alfa(lcSelect, lcFiltru, lcSchema, lcOrder, lcColoane, lcTitlu, lcTitluColoane, , , lcFiltruInitial) + Return Iif(gnButon = 2, Null, loCauta) +ENDFUNC +*********************************************************************************************************** +Function caut_formatii_xml + Lparameters tlToateIreg, tlNou + Local loCauta, lcFiltruOriginal + Local lcTitlu, lcFiltru, lcSchema, lcOrder, lcNumeProc, lcTitluColoane + Store "" To loCauta + lcSelect = [select * from sal_vnom_formatii] + lcFiltru = [1=1] + lcSchema = [] + lcOrder = [denumire] + lccoloane = [denumire,sectie,semnatura,directie,transa,id_formatia] + lcFiltruOriginal = [inactiv = 0] + lcTitlu = [Alegeti forma_ia (mouse-click pe nume sau apasati SPACE)] + If tlNou + lcNumeProc = [sal_nom_formatii] + Else + lcNumeProc = [] + Endif + lcTitluColoane = [Formatia,Sectie,Semnatura,Directie,Transa,Id_formatia] + lnTipReturn = 1 && XML + lcPrimaColoana = "denumire" + lcIdColumn = "id_formatia" + lnPornire = 1 + lcXMLFormatii = cauta_alfa(lcSelect, lcFiltru, lcSchema, lcOrder, lccoloane, lcTitlu, lcTitluColoane, lcNumeProc, tlToateIreg, lcFiltruOriginal, lcPrimaColoana, lnPornire, lnTipReturn, lcIdColumn) + Return lcXMLFormatii +Endfunc && caut_formatii_xml +*********************************************************************************************************** +Procedure caut_transa + Lparameters tlToateIreg, tlNou + Local lcSelect, lcFiltruInitial, lcFiltru, lcSchema, lcOrder, lcColoane, lcTitlu, lcTitluColoane, lcNumeProc + lcSelect = [select * from sal_vnom_transe] + lcFiltruInitial = [inactiv = 0] + lcFiltru = [1=1] + lcSchema = [] + lcOrder = [transa] + lcColoane = [transa] + lcTitlu = [Alegeti tranºa] + If tlNou + lcNumeProc = [sal_nom_transe] + Else + lcNumeProc = [] + Endif + lcTitluColoane = [Transa] + loCauta = cauta_alfa(lcSelect, lcFiltru, lcSchema, lcOrder, lcColoane, lcTitlu, lcTitluColoane, lcNumeProc, tlToateIreg, lcFiltruInitial) && 11.07.2007 + Return Iif(gnButon = 2, Null, loCauta) +Endproc && caut_transa +*********************************************************************************************************** +Procedure caut_partener_adresa + Local lcSelect, lcFiltruInitial, lcFiltru, lcSchema, lcOrder, lcColoane, lcTitlu, lcTitluColoane, lcNumeProc, llToateIreg + lcSelect = [select id_part, nume, prenume, cod_fiscal, reg_comert, eliberatde, dataeliberat, judet, id_judet,] + ; + [ localitate, id_loc, strada, numar, bloc, scara, etaj, apart, cont_banca, banca from vnom_parteneri] + lcFiltruInitial = [inactiv = 0 and tip_persoana = 2] + lcFiltru = [1=1] + lcSchema = [] + lcOrder = [nume,prenume,cod_fiscal] + lcColoane = [nume,prenume,cod_fiscal] + lcTitlu = [Alegeti persoana] + lcNumeProc = [] + lcTitluColoane = [Nume,Prenume,CNP] + llToateIreg = .F. + loCauta = cauta_alfa(lcSelect, lcFiltru, lcSchema, lcOrder, lcColoane, lcTitlu, lcTitluColoane, lcNumeProc, llToateIreg, lcFiltruInitial) + Return Iif(gnButon = 2, Null, loCauta) +endproc +*********************************************************************************************************** +Procedure cauta_facturaTVAEx + Local lcSelect, lcFiltruInitial, lcFiltru, lcSchema, lcOrder, lcColoane, lcTitlu, lcTitluColoane, lcNumeProc + lcCursor = [crsfacturiTvaEx] + lcSql = [{call pack_contab.cauta_facturaTVAEx(?gnLuna,?gnAn)}] + if goExecutor.oExecuta(lcSql, lcCursor) + lcSelect = [select id_part,denumire,cod_fiscal,serie_act,nract,dataact,id_fact,tip from ] + lcCursor + lcFiltru = [1=2] + lcSchema = [id_part n(10),denumire c(100),cod_fiscal c(20),serie_act c(20),nract N(20),dataact d,id_fact n(20),tip c(30)] + lcOrder = [denumire] + lccoloane = [denumire,cod_fiscal,serie_act,nract,dataact,tip] + lcTitlu = [Alegeti factura] + lcTitluColoane = [Denumire,Cod fiscal,Serie,Nr.act,Data act,Tip] + lcFiltruOriginal = [] + lcNumeProc = [] + llToateIreg = .F. + loCauta = cauta_alfa_vfp(lcSelect, lcFiltru, lcSchema, lcOrder, lccoloane, lcTitlu, lcTitluColoane, lcNumeProc, llToateIreg, lcFiltruOriginal) + Use In (lcCursor) + else + gnButon = 2 + Endif + Return Iif(gnButon = 2, Null, loCauta) +endproc +*********************************************************************************************************** +Function cauta_tehnician_deviz + Lparameters tlInactivi + Local lcSelect, lcFiltruInitial, lcFiltru, lcSchema, lcOrder, lcColoane, lcTitlu, lcTitluColoane, lcNumeProc, llToateIreg + lcSelect = [select id_mecanic,denumire as nume,sectie from devize_vtehnicieni] + lcFiltruInitial = Iif(!Empty(tlInactivi), [2=2], [inactiv = 0]) + lcFiltru = [1=1] + lcSchema = [] + lcOrder = [decode(id_mecanic,1,0,1),denumire] + lcColoane = [nume,sectie] + lcTitlu = [Alegeti tehnicianul] + lcNumeProc = [] + lcTitluColoane = [Nume,Sectie] + llToateIreg = .F. + loCauta = cauta_alfa(lcSelect, lcFiltru, lcSchema, lcOrder, lcColoane, lcTitlu, lcTitluColoane, lcNumeProc, llToateIreg, lcFiltruInitial) + Return Iif(gnButon = 2, Null, loCauta) +Endfunc +*********************************************************************************************************** + + +******************************************* INCEPUT: caut_adresa ******************************************* +Function caut_adresa + Lparameters tnIdPartener + Local lcColoane, lcFiltru, lcFiltruInitial, lcNumeProc, lcOrder, lcSchema, lcSelect, lcTitlu + Local lcTitluColoane, llToateIreg, loCauta + loCauta = NULL + PRIVATE pnIdPartener + pnIdPartener = tnIdPartener + + + lcSelect = [select id_adresa, id_part, denumire_adresa, adresa, principala from vadrese_parteneri] + lcFiltruInitial = [id_part = ?pnIdPartener] + lcFiltru = [2=2] + lcSchema = [id_adresa n(20), id_part n(20), denumire_adresa c(100), adresa c(250), principala n(1)] + lcOrder = [principala desc, denumire_adresa] + lcColoane = [adresa, denumire_adresa, principala] + lcTitlu = [Alegeti adresa] + lcNumeProc = [] + lcTitluColoane = [Adresa,Denumire,Principala] + llToateIreg = .F. + loCauta = cauta_alfa(lcSelect, lcFiltru, lcSchema, lcOrder, lcColoane, lcTitlu, lcTitluColoane, lcNumeProc, llToateIreg, lcFiltruInitial) + Return Iif(gnButon = 2, Null, loCauta) + +Endfunc && caut_adresa +******************************************* SFARSIT: caut_adresa ******************************************* +* PROCEDURE caut_formatie_sal_salspec +* Date : 06.04.2016 +* author : liana.neagu +******************************************* INCEPUT: caut_formatie_sal_salspec ******************************************* +Procedure caut_formatie_sal_salspec + Lparameters tlToateIreg, tlNou, tlTranse + Local lcSelect, lcFiltruInitial, lcFiltru, lcSchema, lcOrder, lcColoane, lcTitlu, lcTitluColoane, lcNumeProc, tlToateIreg + lcSelect = [select id_formatia,id_sectie,id_transa,denumire,sectie,transa,inactiv,1 as dinSalarii from sal_vnom_formatii ]+; + [ union ]+; + [ select id_formatia,id_sectie,0 as id_transa,formatia as denumire, sectie,'' as transa,inactiv, 0 as dinSalarii from spec_vnom_formatii] + lcFiltruInitial = [inactiv = 0] + lcFiltru = [1=1] + lcSchema = [] + lcOrder = [denumire] + lcColoane = [denumire,sectie] + IIF(tlTranse, [,transa], []) + lcTitlu = [Alegeti forma_ia] + If tlNou + lcNumeProc = [sal_nom_formatii] && [nom_formatie] + Else + lcNumeProc = [] + Endif + lcTitluColoane = [Formatie,Sectia] + IIF(tlTranse, [,Transa], []) + loCauta = cauta_alfa(lcSelect, lcFiltru, lcSchema, lcOrder, lcColoane, lcTitlu, lcTitluColoane, lcNumeProc, tlToateIreg, lcFiltruInitial) && 11.07.2007 + Return Iif(gnButon = 2, Null, loCauta) +Endproc && caut_formatie +***************************************** SFARSIT: caut_formatie ******************************************* +Function caut_apatrid + Local lcSelect, lcFiltruInitial, lcFiltru, lcSchema, lcOrder, lcColoane, lcTitlu, lcTitluColoane + lcSelect = [select * from syn_nom_tipapatrid] + lcFiltruInitial = [sters=0] + lcFiltru = [2=2] + lcSchema = [] + lcOrder = [id_tipapatrid] + lcColoane = [denumire] + lcTitlu = [Apatrid] + lcTitluColoane = [Apatrid] + loCauta = cauta_alfa(lcSelect, lcFiltru, lcSchema, lcOrder, lcColoane, lcTitlu, lcTitluColoane, , , lcFiltruInitial) + Return Iif(gnButon = 2, Null, loCauta) +ENDFUNC +*********************************************************************************************************** +FUNCTION caut_scutireimpozit + Local lcSelect, lcFiltruInitial, lcFiltru, lcSchema, lcOrder, lcColoane, lcTitlu, lcTitluColoane + lcSelect = [select * from ] + gcS + [.SAL_NOM_SCUTIRIIMP] + lcFiltruInitial = [sters=0] + lcFiltru = [2=2] + lcSchema = [] + lcOrder = [tip_scutire] + lcColoane = [scutireimpozit] + lcTitlu = [Impozitare] + lcTitluColoane = [Denumire] + loCauta = cauta_alfa(lcSelect, lcFiltru, lcSchema, lcOrder, lcColoane, lcTitlu, lcTitluColoane, , , lcFiltruInitial) + Return Iif(gnButon = 2, Null, loCauta) +ENDFUNC + +*********************************************************************************************************** +Function caut_client_contract_activ + Lparameters tcCond, tnIdPart, tnIdCtr + *** tnIdCtr: daca dau id_ctr direct (facturile de penalitati) selectez numai acest contractul indiferent de iscontract_valid() + + Local lcSelect, lcFiltruInitial, lcFiltru, lcSchema, lcOrder, lcColoane, lcTitlu, lcTitluColoane, lcNumeProc, lcPrimaColoana + Local lcFiltruContract, lcFiltruPartener, lcFiltruContractActiv, lcFiltruConditie, lcAnLuna, lcSql, lcFiltruTipPart + PRIVATE pnIdTip, pcSir_Id_tip_part + pnIdTip = -1 && CLIENTI + pcSir_Id_tip_part = '' + + loCauta = NULL + lcFiltruContract = '' + lcFiltruPartener = '' + lcFiltruContractActiv = '' + lcFiltruConditie = '' + lcFiltruTipPart = '' + + If Type('tnIdCtr') = 'N' And !Empty(m.tnIdCtr) + lcFiltruContract = [ and (c.id_ctr = ] + Alltrim(Str(m.tnIdCtr)) + [)] + ENDIF + If Type('tnIdPart') = 'N' And !Empty(m.tnIdPart) + lcFiltruPartener = [ and p.id_part = ] + Alltrim(Str(m.tnIdPart)) + Endif + + lcSql = [begin pack_def.get_conturi_tip_part(?pnIdTip, ?@pcSir_Id_tip_part); end;] + llSucces = goExecutor.oExecuta(m.lcSql) + + If llSucces AND !Empty(NVL(m.pcSir_Id_tip_part,'')) + lcFiltruTipPart = [ and p.id_part in (select distinct id_part from coresp_tip_part where id_tip_part in (] + m.pcSir_Id_tip_part + [))] + ENDIF + + lcAnLuna = Alltrim(Str(m.gnAn)) + Padl(m.gnLuna, 2, '0') + lcFiltruContractActiv = [ and ] + Alltrim(Str(m.gnAn * 12 + m.gnLuna)) + [ between extract(year from data_inceput) * 12 + extract(month from data_inceput) and ] + ; + [extract(year from nvl(data_sfarsit, to_date('] + m.lcAnLuna + [', 'yyyymm'))) * 12 + extract(month from nvl(data_sfarsit, to_date('] + m.lcAnLuna + [', 'yyyymm')))] + + lcFiltruConditie = Iif(!Empty(m.tcCond), [ and (] + m.tcCond + [)], []) + + TEXT TO lcSelect TEXTMERGE NOSHOW +select id_ctr, id_part, denumire, cod_fiscal, data, numar, data_inceput, data_sfarsit, nr_zile_scadenta, tip_curs from +(select CAST (null as Number(10)) as id_ctr, id_part, denumire, cod_fiscal, CAST(null as date) as data, CAST(null as Varchar2(100)) as numar, CAST(null as date) as data_inceput, CAST(null as date) as data_sfarsit, CAST(null as number(5)) as nr_zile_scadenta, CAST(null as number(1)) as tip_curs from nom_parteneri p + WHERE STERS = 0 AND INACTIV = 0 <> <> +union +select c.id_ctr, c.id_part, p.denumire, p.cod_fiscal, c.data, c.numar, c.data_inceput, c.data_sfarsit, c.scadenta_incasare as nr_zile_scadenta, c.tip_curs from contracte c JOIN nom_parteneri p ON c.id_part = p.id_part + where c.sters = 0 and c.inactiv = 0 and p.sters = 0 and p.inactiv = 0 <> <> <> <> <> <>) + ENDTEXT + + lcFiltru = [1=2] + lcSchema = [id_ctr I, id_part I, denumire C(100), cod_fiscal C(50), data D, numar C(100), data_inceput D,data_sfarsit D, nr_zile_scadenta N(10), tip_curs N(10)] + lcOrder = [denumire, data_inceput] + lcColoane = [denumire,cod_fiscal,numar,data,data_inceput,data_sfarsit, id_part, id_ctr] + lcTitlu = [Alegeti contractul] + lcTitluColoane = [Denumire,Cod fiscal,Contract,Data,Data inceput,Data sfarsit,IdPart,IdCtr] + lcFiltruInitial = [] + + lcNumeProc = [] + lcPrimaColoana = [denumire,numar] + + loCauta = cauta_alfa(lcSelect, lcFiltru, lcSchema, lcOrder, lcColoane, lcTitlu, lcTitluColoane, lcNumeProc, , lcFiltruInitial, lcPrimaColoana) + + Return loCauta +ENDFUNC +*********************************************************************************************************** +Function caut_meserii_xml + Lparameters tlToateIreg, tlNou + Local loCauta, lcFiltruOriginal + Local lcTitlu, lcFiltru, lcSchema, lcOrder, lcNumeProc, lcTitluColoane + Store "" To loCauta + lcSelect = [select meserie,cod_meserie,id_meseria from sal_vnom_mes] + lcFiltru = [1=1] + lcSchema = [] + lcOrder = [meserie] + lccoloane = [meserie,cod_meserie,id_meseria] + lcFiltruOriginal = [inactiv = 0] + lcTitlu = [Alegeti meseriile (mouse-click pe nume sau apasati SPACE)] + If tlNou + lcNumeProc = [nom_meserii] + Else + lcNumeProc = [] + Endif + lcTitluColoane = [Meserie,Cod_meserie,Id_meseria] + lnTipReturn = 1 && XML + lcPrimaColoana = "meserie" + lcIdColumn = "id_meseria" + lnPornire = 1 + lcXMLFormatii = cauta_alfa(lcSelect, lcFiltru, lcSchema, lcOrder, lccoloane, lcTitlu, lcTitluColoane, lcNumeProc, tlToateIreg, lcFiltruOriginal, lcPrimaColoana, lnPornire, lnTipReturn, lcIdColumn) + Return lcXMLFormatii +Endfunc && caut_formatii_xml +*********************************************************************************************************** +******************************************* INCEPUT: caut_formatie ******************************************* +Procedure caut_locmunca + Lparameters tlToateIreg, tlNou, tlTranse,tcLocate + Local lcSelect, lcFiltruInitial, lcFiltru, lcSchema, lcOrder, lcColoane, lcTitlu, lcTitluColoane, lcNumeProc, tlToateIreg,lcLocate + lcSelect = [select * from sal_vnom_locmunca ] + lcFiltruInitial = [inactiv = 0 and sters = 0] + lcFiltru = [1=1] + lcSchema = [] + lcOrder = [denumire] + lcColoane = [denumire,sectie] + IIF(tlTranse, [,transa], []) + lcTitlu = [Alegeti locul de munca] + If tlNou + lcNumeProc = [sal_nom_locmunca] && [nom_formatie] + Else + lcNumeProc = [] + ENDIF + IF EMPTY(tcLocate) + lcLocate = [] + ELSE + lcLocate = tcLocate + ENDIF + lcTitluColoane = [Loc munca,Sectia] + IIF(tlTranse, [,Activitate], []) +*!* loCauta = cauta_alfa(lcSelect, lcFiltru, lcSchema, lcOrder, lcColoane, lcTitlu, lcTitluColoane, lcNumeProc, tlToateIreg, lcFiltruInitial) && 11.07.2007 + + loCauta = cauta_alfa(lcSelect,lcFiltru,lcSchema,lcOrder,lcColoane,lcTitlu,lcTitluColoane,lcNumeProc,tlToateIreg,lcFiltruInitial,,,,,,,,,,,,,lcLocate) && 19 mai 2021 +*!* loCauta = cauta_alfa(lcSelect, lcFiltru, lcSchema, lcOrder, lcColoane, lcTitlu, lcTitluColoane, 'sal_nom_mes', , lcFiltruInitial,[meserie,cod_meserie]) + + Return Iif(gnButon = 2, Null, loCauta) +Endproc && caut_formatie +***************************************** SFARSIT: caut_formatie ******************************************* + +*********************************************************************************************************** +Function caut_locmunca_xml + Lparameters tlToateIreg, tlNou + Local loCauta, lcFiltruOriginal + Local lcTitlu, lcFiltru, lcSchema, lcOrder, lcNumeProc, lcTitluColoane + Store "" To loCauta + lcSelect = [select * from sal_vnom_locmunca ] + lcFiltru = [1=1] + lcSchema = [] + lcOrder = [denumire] + lccoloane = [denumire,sectie,semnatura,directie,transa,id_locmunca] + lcFiltruOriginal = [inactiv = 0] + lcTitlu = [Alegeti forma_ia (mouse-click pe nume sau apasati SPACE)] + If tlNou + lcNumeProc = [sal_nom_formatii] + Else + lcNumeProc = [] + Endif + lcTitluColoane = [Loc Munca,Sectie,Semnatura,Directie,Activitate,Id_locmunca] + lnTipReturn = 1 && XML + lcPrimaColoana = "denumire" + lcIdColumn = "id_locmunca" + lnPornire = 1 + lcXMLFormatii = cauta_alfa(lcSelect, lcFiltru, lcSchema, lcOrder, lccoloane, lcTitlu, lcTitluColoane, lcNumeProc, tlToateIreg, lcFiltruOriginal, lcPrimaColoana, lnPornire, lnTipReturn, lcIdColumn) + Return lcXMLFormatii +Endfunc && caut_formatii_xml +*------------------------------------- +Function caut_tipsal + Local lcSelect, lcFiltruInitial, lcFiltru, lcSchema, lcOrder, lcColoane, lcTitlu, lcTitluColoane + lcSelect = [select id_tippontaj,(case when nume_tip = 'Z' and id_tippontaj = -100 then 'L' else 'O' end) as nume_tip, inactiv,sters from ] + gcS + [.sal_vnom_pont] + lcFiltruInitial = [sters=0] + lcFiltru = [2=2] + lcSchema = [] + lcOrder = [nume_tip] + lcColoane = [nume_tip] + lcTitlu = [Tip Salariu] + lcTitluColoane = [Tip Salariu] + loCauta = cauta_alfa(lcSelect, lcFiltru, lcSchema, lcOrder, lcColoane, lcTitlu, lcTitluColoane, , , lcFiltruInitial) + Return Iif(gnButon = 2, Null, loCauta) +ENDFUNC + +*------------------------------------------------------------ +* caut imobilizare si intorc obiect din imob_vsituatie_lunara +*------------------------------------------------------------ +Function caut_imobilizare + Lparameters tnTip + * tnTip: 1 = corporale, 2 = necorporale, 3 = in curs + + PRIVATE pdDataI + Local lcColoana, lcFiltru, lcFiltruOriginal, lcGroup, lcIdColumn, lcNume_Proc, lcOrder + Local lcPrimaColoana, lcSchema, lcSelect, lcTitlu, lcTitluColoana, llAfisare, llAllInList + Local llModParam, llSucces, lnPornire, lnTipReturn, loRec + + pdDataI = Date(gnAn, gnLuna, 1) + llSucces = goExecutor.oExecuta('begin pack_imob.setlunacurenta(?pdDataI); end;') + + lcSelect = [SELECT * FROM imob_vsituatie_lunara] + lcFiltru = [1=2] + lcSchema = [] + lcOrder = [nr_inventar, denumire,data_pif] + llAfisare = .F. + lcGroup = [] + llModParam = .T. + lcFiltruOriginal = [id_tip_imobilizare = ] + Alltrim(Str(m.tnTip)) + [ AND IESIT_DIN_GEST = 0 ] + m.gcCondSucursala + + lcColoana = "nr_inventar, denumire, data_pif" + lcTitluColoana = "Numar inventar, Denumire, Data PIF" + llAllInList = .F. + lnPornire = 1 && INCEPE CU + lcPrimaColoana = "nr_inventar" + lcNume_Proc = "" + lcTitlu = "Alegeti imobilizarea" + lnTipReturn = 0 && object + lcIdColumn = "id_mf" + loRec = cauta_alfa(lcSelect, lcFiltru, lcSchema, lcOrder, lcCOloana, lcTitlu, lcTitluColoana, lcNume_Proc, llAllInList, lcFiltruOriginal, lcPrimaColoana, lnPornire, lnTipReturn, lcIdColumn) + + Return loRec +Endfunc && caut_imobilizare +******************************************* SFARSIT: caut_imobilizare ******************************************* + +FUNCTION GetImobilizareById + Lparameters tnTip, tnIdMf, tlBlank, tcAlias + * tnTip: 1 = corporale, 2 = necorporale, 3 = in curs + * tnIdMf: imob_nom_mf.id_mf. Daca tlBlank = .T., nu este nevoie de tnIdMf + * tlBlank: .T. = intoarce un obiect cu inregistrare goala tip imobilizare + * tcAlias: completat = lasa deschis cursorul tcAlias cu imobilizarile, altfel il inchide + + PRIVATE pnIdMf, pdDataI + Local lcSql, llSucces, loImob, lcAlias + + loImob = NULL + lcAlias = IIF(!EMPTY(m.tcAlias), m.tcAlias, SYS(2015)) + pnIdMf = m.tnIdMf + + pdDataI = Date(gnAn, gnLuna, 1) + llSucces = goExecutor.oExecuta('begin pack_imob.setlunacurenta(?pdDataI); end;') + IF m.llSucces + IF m.tnTip = 3 && in curs + lcSql = [SELECT * FROM imob_vlista_curs where ] + IIF(m.tlBlank, [1=2], [id_mf=?pnIdMf]) + ELSE + lcSql = [SELECT * FROM imob_vsituatie_lunara where ] + IIF(m.tlBlank, [1=2], [id_mf=?pnIdMf]) + ENDIF + llSucces = goExecutor.oExecuta(m.lcSql, m.lcAlias) + IF m.llSucces + SELECT (m.lcAlias) + GO TOP + SCATTER NAME loImob MEMO + ENDIF + + IF EMPTY(m.tcAlias) + USE IN (SELECT(m.lcAlias)) + ENDIF + + ENDIF + + Return loImob +Endfunc && GetImobilizareById \ No newline at end of file diff --git a/programe/ocompensari.prg b/programe/ocompensari.prg new file mode 100644 index 0000000..c408482 --- /dev/null +++ b/programe/ocompensari.prg @@ -0,0 +1,603 @@ +*!* 27.09.2011 +*!* marius.mutu +*!* create cursor calculcompens in loc de create table +*!* #3146 Steaua Nordului + +*!* 31.01.2013 +*!* marius.mutu +*!* calculcompens - tratare facturi cu tva_incasare: calculcompens.tva_incasare_a, id_fact (ex: plata 401 = 542) + +*!* 19.04.2013 +*!* marius.mutu +*!* calculcompens - tva incasare pentru ambele facturi din compensare. ex: 401 = 4111 + +*** proceduri introducere in actactan, nu merge pentru sume negative !!!! + +*!* 25.12.2025 +*!* calculcompens - tratare compensare 5121 = 419 cu cote TVA diferite (proc_tva, id_jtvacol) + + +*!* 07.01.206 +*!* calculcompens_part - tratare compensare 419 lei 5121 = 419 cu cote TVA diferite (proc_tva, id_jtvacol) + +******************************************* INCEPUT: calculcompens ******************************************* +*** + +PROCEDURE calculcompens + PARAMETERS tcFisD, tcFisC, tnTipOrdonare, tnTipOprire + *!* modificare v 2.5.27 : tnTipOrdonare, tnTipOprire + *!* tnTipOrdonare - 0/implicit = ordonare descrescator dupa suma + *!* 1 = ordonare dupa data + *!* tnTipOprire - 0/implicit = cand sum(sumaachi) pentru ambele tabele este 0 ( initial, sum(sumaachi) dintr-un tabel este egala cu sum(sumaachi) din celalalt ) + *!* 1 = cand sum(sumaachi) pentru unul dintre tabele este 0 + + PRIVATE pcCont + STORE '' TO pcCont + + LOCAL max1, max2, nract1, nract2, lcFis1, lcFis2, id_fact1, id_fact2, llDefalcTVA, lnMaxTvai, lcOrdine + STORE 1 TO max1, max2 + STORE 0 TO nract1, nract2, id_fact1, id_fact2 + lnMaxTvai = 0 + + lcFisD = ALLTRIM(tcFisD) + lcFisC = ALLTRIM(tcFisC) + +*!* modificare v 2.5.26 +*!* modificare v 2.5.27 : am adaugat lcOrdine +*!* SELECT * FROM &lcFisD INTO CURSOR tperecheD READWRITE +*!* SELECT * FROM &lcFisC INTO CURSOR tperecheC READWRITE + lcOrdine = IIF(EVL(tnTipOrdonare,0)=1,[dataact,nract],[sumaachi desc]) + SELECT * FROM &lcFisD WHERE ales AND sumaachi <> 0 ORDER BY &lcOrdine INTO CURSOR tperecheD READWRITE + SELECT * FROM &lcFisC WHERE ales AND sumaachi <> 0 ORDER BY &lcOrdine INTO CURSOR tperecheC READWRITE +*!* modificare v 2.5.26 ^ + + *** Aflu daca exista bifa TVA_INCASARE_A intr-unul din fisiere (ex: 401 = 542) + *** pentru a putea pune in cursorul rezultat id_fact din fisierul corespunzator + *** in cazul compensarilor 401 = 4111, pot fi amandoua facturile cu TVA incasare + + llTvaIncasareD = .F. + llTvaIncasareC = .F. + select tPerecheD + locate for nvl(tva_incasare_a,0) = 1 + if found() + llTvaIncasareD = .T. + endif + + select tPerecheC + locate for nvl(tva_incasare_a,0) = 1 + if found() + llTvaIncasareC = .T. + endif + + llTVAIncasare = m.llTvaIncasareD or m.llTvaIncasareC + + CREATE cursor calculcompensare (nr_doc_d N(14), nr_doc_c N(14), id_factd N(14), id_factc N(14),; + ascc c(4), ascd c(4), sumaachi N(20,4), ales l, proc_tva N(5,2), id_jtvacol N(10), proc_tvaD N(5,2), id_jtvacolD N(10), proc_tvaC N(5,2), id_jtvacolC N(10), ; + tva_incasare_a N(1), tva_incasare_d N(1), tva_incasare_dtip C(1),tva_incasare_c N(1), tva_incasare_ctip C(1)) + + lnRecnoD = 1 + lnReccountD = Reccount("tPerecheD") + Select tperecheD + Go Top + lnSumaD = sumaachi + pcCont = Alltrim(Cont) + llDefalcTVAD = .F. + lcSelect = [select count(*) as defalcTVA from config_cont_ireg t where cont = ?pcCont and cu_proc_tva = 1] + If goExecutor.oExecuta(lcSelect, "crsDefalcTva") + Select crsDefalcTVA + llDefalcTVAD = defalcTVA >0 + Use In crsDefalcTVA + Endif + + lnRecnoC = 1 + lnReccountC = Reccount("tPerecheC") + Select tperecheC + Go Top + lnSumaC = sumaachi + pcCont = Alltrim(Cont) + llDefalcTVAC = .F. + lcSelect = [select count(*) as defalcTVA from config_cont_ireg t where cont = ?pcCont and cu_proc_tva = 1] + If goExecutor.oExecuta(lcSelect, "crsDefalcTva") + Select crsDefalcTVA + llDefalcTVAC = defalcTVA >0 + Use In crsDefalcTVA + Endif + + lnSumaCompensata = 0 + lcTipMaxUrm = [] + lnSemnSumaD = SIGN(tperecheD.sumaachi) + + *!* am ordonat documentele pereche de pe credit si de pe debit descrescator dupa sume + *!* pana ajung la 0 pe ultima inregistrare de pe una dintre tabele, aleg MIN + *!* cand am ajuns la 0 pe ultima inregistrare intr-una dintre tabele, iau doar valorile din tabelul celalalt + *!* modificare v 2.5.27 + *!* DO WHILE !(lnRecnoD = lnReccountD AND lnRecnoC = lnReccountC AND lnSumaC = 0 AND lnSumaD = 0) + DO WHILE (EVL(tnTipOprire,0) = 0 AND !(lnRecnoD = lnReccountD AND lnRecnoC = lnReccountC AND lnSumaC = 0 AND lnSumaD = 0)) ; + OR (EVL(tnTipOprire,0) = 1 AND EMPTY(lcTipMaxUrm)) + *!* modificare v 2.5.27 ^ + lcTipMax = lcTipMaxUrm + lnSumaCompensata = IIF(lcTipMax=[C],lnSumaD,IIF(lcTipMax=[D],lnSumaC,IIF(EVL(tnTipOprire,0)=1,MIN(ABS(lnSumaC),ABS(lnSumaD)),MIN(lnSumaC,lnSumaD)))) + lnProc_tva = 0.00 + lnIdJtvaColoana = 0 + lnProc_tvaD = 0.00 + lnIdJtvaColoanaD = 0 + lnProc_tvaC = 0.00 + lnIdJtvaColoanaC = 0 + ***------------------------- + SELECT tperecheD + STORE nract TO nract1 + id_fact1 = id_fact + lcascd = NVL(acont,'') + IF cu_tva = 1 AND TYPE('tPerecheD.proc_tva') # 'U' AND llDefalcTVAD + lnProc_tva = proc_tva + lnIdJtvaColoana = NVL(id_jtva_coloana,0) + lnProc_tvaD = proc_tva + lnIdJtvaColoanaD = NVL(id_jtva_coloana,0) + ENDIF + *!* cand tnTipOprire = 1, atunci trebuie sa diminuez sumaachi cu lnSumaCompensata + replace sumaachi WITH sumaachi - IIF(EVL(tnTipOprire,0)=1,lnSemnSumaD,1) * lnSumaCompensata + lnSumaD = sumaachi + Do Case + Case lnSumaD = 0 And lnRecNoD <> lnReccountD + Skip + lnSumaD = sumaachi + lnRecNoD = Recno() + Case lnSumaD = 0 And lnRecNoD = lnReccountD And EMPTY(lcTipMax) + *!* daca am ajuns la ultima inregistrare si am restul 0, atunci trebuie sa iau valorile doar din celalalt tabel + *!* pentru urmatoarele note, nu mai fac exigibilizarea de TVA pentru Debit + lcTipMaxUrm = [D] + Endcase + + ***------------------------- + SELECT tperecheC + STORE nract TO nract2 + id_fact2 = id_fact + lcascc = NVL(acont,'') + IF cu_tva = 1 AND TYPE('tPerecheC.proc_tva') # 'U' AND llDefalcTVAC + lnProc_tva = proc_tva + lnIdJtvaColoana = NVL(id_jtva_coloana,0) + lnProc_tvaC = proc_tva + lnIdJtvaColoanaC = NVL(id_jtva_coloana,0) + ENDIF + *!* cand tnTipOprire = 1, atunci trebuie sa diminuez sumaachi cu lnSumaCompensata + replace sumaachi WITH sumaachi - IIF(EVL(tnTipOprire,0)=1,lnSemnSumaD*(-1),1) * lnSumaCompensata + lnSumaC = sumaachi + Do Case + Case lnSumaC = 0 And lnRecNoC <> lnReccountC + Skip + lnSumaC = sumaachi + lnRecNoC = Recno() + Case lnSumaC = 0 And lnRecNoC = lnReccountC And EMPTY(lcTipMax) + *!* daca am ajuns la ultima inregistrare si am restul 0, atunci trebuie sa iau valorile doar din celalalt tabel + *!* pentru urmatoarele note, nu mai fac exigibilizarea de TVA pentru Credit + lcTipMaxUrm = [C] + Endcase + + SELECT calculcompensare + IF lnSumaCompensata <> 0 + APPEND BLANK + REPLACE nr_doc_c WITH nract2, ascc WITH lcascc, id_factc WITH id_fact2 + REPLACE nr_doc_d WITH nract1, ascd WITH lcascd, id_factd WITH id_fact1 + REPLACE proc_tva WITH lnProc_tva,id_jtvacol WITH lnIdJtvaColoana + REPLACE proc_tvaD WITH lnProc_tvaD,id_jtvacolD WITH lnIdJtvaColoanaD + REPLACE proc_tvaC WITH lnProc_tvaC,id_jtvacolC WITH lnIdJtvaColoanaC + REPLACE sumaachi WITH IIF(EVL(tnTipOprire,0)=1,lnSemnSumaD,1)*lnSumaCompensata + REPLACE ales WITH .T. + + if m.llTvaIncasare + replace tva_incasare_a with 1 + endif + if m.llTvaIncasareD && AND lcTipMax<>[D] : pusesem conditia ca sa nu mai genereze note de TVA la incasare cand ajungeam pe 0 la ultima inregistrare din cursor + replace tva_incasare_d with 1, tva_incasare_dtip with 'D' + endif + if m.llTvaIncasareC && AND lcTipMax<>[C] : pusesem conditia ca sa nu mai genereze note de TVA la incasare cand ajungeam pe 0 la ultima inregistrare din cursor + replace tva_incasare_c with 1, tva_incasare_ctip with 'C' + endif + ENDIF + + ENDDO +*!* modificare v 2.5.26 ^ + + USE IN tperecheD + USE IN tperecheC + RETURN + + *** + + ******************************************* SFARSIT: calculcompens in lei ******************************************* + + ******************************************* INCEPUT: calculcompens in valuta - fara sume negative ******************************************* + + *** + +PROCEDURE calculcompens_valuta + PARAMETERS tcFisD, tcFisC + + LOCAL max1, max2, nract1, nract2, lcFis1, lcFis2, id_fact1, id_fact2, llDefalcTVA + STORE 1 TO max1,max2 + STORE 0 TO nract1, nract2, id_fact1, id_fact2 + PRIVATE pcCont + pcCont = '' + + llDefalcTVA = .F. + + lcFisD = ALLTRIM(tcFisD) + lcFisC = ALLTRIM(tcFisC) + + SELECT * FROM &lcFisD INTO CURSOR tperecheD READWRITE + SELECT * FROM &lcFisC INTO CURSOR tperecheC READWRITE + + CREATE CURSOR calculcompensare (nr_doc_d N(14), nr_doc_c N(14),id_factd N(14), id_factc N(14),; + ascc c(4), ascd c(4), sumaachi2 N(20,4), achilei N(20,4), id_jtvacol N(10), proc_tva N(5,2), ; + sumaachid N(20,4), sumaachic N(20,4), cursd N(12,4), cursc N(12,4), difplus N(20,4), ; + difminus N(20,4), cursval N(12,4), cursdif N(12,4), ales l) + + DO WHILE max1!=0 AND max2!=0 + lnProc_tva = 0.00 + lnIdJtvaColoana = 0 + SELECT tperecheC + CALCULATE MAX(sumaachi2) FOR ales TO max2 + *WAIT WINDOW 'max2'+STR(max2) + SELECT tperecheD + CALCULATE MAX(sumaachi2) FOR ales TO max1 + *WAIT WINDOW 'max1'+STR(max1) + + ***------------------------- + + SELECT tperecheD + GO TOP + pcCont = ALLTRIM(CONT) + + llDefalcTVA = .F. + lcSelect = [select count(*) as defalcTVA from config_cont_ireg t where cont = ?pcCont and cu_proc_tva = 1] + lnSucces = goExecutor.oExecute(lcSelect, "crsDefalcTva") + IF lnSucces < 0 + AMESSAGEBOX(goExecutor.cEroare,0+16,'Eroare') + ELSE + SELECT crsDefalcTVA + llDefalcTVA = defalcTVA >0 + + IF USED('crsDefalcTVA') + USE IN crsDefalcTVA + ENDIF + ENDIF + + ***------------------------- + SELECT tperecheD + LOCATE FOR sumaachi2 = max1 AND ales + nract1 = nract + id_fact1 = id_fact + lcascd = NVL(acont,'') + lnCursD = cursschimb + IF TYPE('tPerecheD.proc_tva') # 'U' AND llDefalcTVA + lnProc_tva = proc_tva + lnIdJtvaColoana = NVL(id_jtva_coloana,0) + ENDIF + + IF max1 <= max2 + lnSumaleiD = sumaachi + REPLACE sumaachi2 WITH 0 + REPLACE ales WITH .F. + + ELSE + lnSumaleiD = ROUND(cursschimb * max2, gnPC) + IF lnSumaleiD > sumaachi + lnSumaleiD = sumaachi + ENDIF + REPLACE sumaachi2 WITH max1 - max2 + REPLACE sumaachi WITH sumaachi - lnSumaleiD + ENDIF + + ***------------------------- + + SELECT tperecheC + GO TOP + pcCont = ALLTRIM(CONT) + + llDefalcTVA = .F. + lcSelect = [select count(*) as defalcTVA from config_cont_ireg t where cont = ?pcCont and cu_proc_tva = 1] + lnSucces = goExecutor.oExecute(lcSelect, "crsDefalcTva") + IF lnSucces < 0 + AMESSAGEBOX(goExecutor.cEroare,0+16,'Eroare') + ELSE + SELECT crsDefalcTVA + llDefalcTVA = defalcTVA >0 + + IF USED('crsDefalcTVA') + USE IN crsDefalcTVA + ENDIF + ENDIF + ***------------------------- + + SELECT tperecheC + LOCATE FOR sumaachi2 = max2 AND ales + nract2 = nract + id_fact2 = id_fact + lcascc = NVL(acont,'') + lnCursC = cursschimb + + IF TYPE('tPerecheC.proc_tva') # 'U' AND llDefalcTVA + lnProc_tva = proc_tva + lnIdJtvaColoana = NVL(id_jtva_coloana,0) + ENDIF + + IF max2 <= max1 + lnSumaleiC = sumaachi + REPLACE sumaachi2 WITH 0 + REPLACE ales WITH .F. + + ELSE + lnSumaleiC = ROUND(cursschimb * max1, gnPC) + IF lnSumaleiC > sumaachi + lnSumaleiC = sumaachi + ENDIF + REPLACE sumaachi2 WITH max2 - max1 + REPLACE sumaachi WITH sumaachi - lnSumaleiC + ENDIF + + + + + SELECT calculcompensare + IF MIN(max1, max2) <> 0 + APPEND BLANK + REPLACE nr_doc_c WITH nract2, id_factc WITH id_fact2, ascc WITH lcascc, sumaachic WITH lnSumaleiC, cursc WITH lnCursC + REPLACE nr_doc_d WITH nract1, id_factd WITH id_fact1,ascd WITH lcascd, sumaachid WITH lnSumaleiD, cursd WITH lnCursD + REPLACE sumaachi2 WITH MIN(max1, max2),proc_tva WITH lnProc_tva,id_jtvacol WITH lnIdJtvaColoana + REPLACE ales WITH .T. + ENDIF + ENDDO + + SELECT calculcompensare + SCAN + IF sumaachid > sumaachic + REPLACE difplus WITH sumaachid - sumaachic, achilei WITH sumaachic, cursval WITH cursc, cursdif WITH cursd + ELSE + REPLACE difminus WITH sumaachic - sumaachid, achilei WITH sumaachid, cursval WITH cursd, cursdif WITH cursc + ENDIF + ENDSCAN + + USE IN tperecheD + USE IN tperecheC + + RETURN + ******************************************* SFARSIT: calculcompens - fara sume negative ******************************************* + + *** + + + + *!* PROCEDURE calculcompens_valuta + *!* PARAMETERS tcFisD, tcFisC + + *!* LOCAL max1, max2, nract1, nract2, lcFis1, lcFis2 + *!* STORE 1 TO max1,max2 + *!* STORE 0 TO nract1,nract2 + + *!* lcFisD = ALLTRIM(tcFisD) + *!* lcFisC = ALLTRIM(tcFisC) + + *!* SELECT * from &lcfisd INTO CURSOR tperecheD READWRITE + *!* SELECT * from &lcfisc INTO CURSOR tperecheC READWRITE + + *!* CREATE TABLE &gcTempPath\calculcompensare.dbf (nr_doc_d n(14), nr_doc_c n(14), ascc c(4), ascd c(4), sumaachi2 n(16,2), achilei n(16,2), ; + *!* sumaachid n(16,2), sumaachic n(16,2), cursd n(8,2), cursc n(8,2), difplus n(16,2), difminus n(16,2), cursval n(8,2), cursdif n(8,2), ales l) + *!* + *!* DO WHILE max1!=0 OR max2!=0 + *!* SELECT tperecheC + *!* CALCULATE MAX(sumaachi2) FOR ales AND sumaachi2 <> 0 TO max2 + *!* *WAIT WINDOW 'max2'+STR(max2) + *!* SELECT tperecheD + *!* CALCULATE MAX(sumaachi2) FOR ales AND sumaachi2 <> 0 TO max1 + *!* *WAIT WINDOW 'max1'+STR(max1) + + *!* SELECT tperecheD + *!* LOCATE FOR sumaachi2 = max1 AND ales + *!* nract1 = nract + *!* lcascd = acont + *!* lnCursD = cursschimb + + *!* if (max1 <= max2 OR max2 = 0) AND max1 <> 0 + *!* lnSumaleiD = sumaachi + *!* REPLACE sumaachi2 WITH 0 + *!* * REPLACE ales WITH .f. + *!* + *!* ELSE + *!* lnSumaLeiD = ROUND(cursschimb * max2, 0) + *!* IF lnSumaLeiD > sumaachi + *!* lnSumaLeiD = sumaachi + *!* ENDIF + *!* REPLACE sumaachi2 WITH max1 - max2 + *!* REPLACE sumaachi WITH sumaachi - lnSumaLeiD + *!* ENDIF + *!* + *!* SELECT tperecheC + *!* LOCATE FOR sumaachi2 = max2 AND ales + *!* nract2 = nract + *!* lcascc = acont + *!* lnCursC = cursschimb + *!* + *!* if (max2 <= max1 OR max1 = 0) AND max2 <> 0 + *!* lnSumaleiC = sumaachi + *!* REPLACE sumaachi2 WITH 0 + *!* * REPLACE ales WITH .f. + *!* + *!* ELSE + *!* lnSumaLeiC = ROUND(cursschimb * max1, 0) + *!* IF lnSumaLeiC > sumaachi + *!* lnSumaLeiC = sumaachi + *!* ENDIF + *!* REPLACE sumaachi2 WITH max2 - max1 + *!* REPLACE sumaachi WITH sumaachi - lnSumaLeiC + *!* ENDIF + *!* + *!* + *!* SELECT calculcompensare + *!* IF max1 <> 0 OR max2 <> 0 + *!* APPEND BLANK + *!* REPLACE nr_doc_c WITH nract2, ascc WITH lcAscc, sumaAchiC WITH lnSumaleiC, cursC WITH lnCursC + *!* REPLACE nr_doc_d WITH nract1, ascd WITH lcAscd, sumaAchiD WITH lnSumaleiD, cursD WITH lnCursD + *!* IF MIN(max1, max2) <> 0 + *!* REPLACE sumaachi2 WITH MIN(max1, max2) + *!* ELSE + *!* REPLACE sumaachi2 WITH MAX(max1, max2) + *!* ENDIF + *!* REPLACE ales WITH .t. + *!* ENDIF + *!* ENDDO + + *!* SELECT calculcompensare + *!* SCAN + *!* IF sumaAchiD > sumaAchiC + *!* REPLACE difplus WITH sumaAchiD - sumaAchiC, achilei WITH sumaAchiC, cursval WITH cursC, cursdif WITH cursD + *!* ELSE + *!* REPLACE difminus WITH sumaAchiC - sumaAchiD, achilei WITH sumaAchiD, cursval WITH cursD, cursdif WITH cursC + *!* ENDIF + *!* ENDSCAN + + *!* USE IN tperecheD + *!* USE IN tperecheC + + *!* RETURN + *********************************************** SFARSIT calculcompens in valuta ****************************************** +Function calculcompens_part + Lparameters tcCont, tnProcTva, tlValuta, tnIdValuta, tnIdValuta2, tcNumeVal2 + && partea in valuta nu este testata + Local llReturn, lnTip, lcCursorIregPart, lcCursorSumeNegative, lcCursorSumePozitive, lcCursorCalculCompensare, ; + lcCursorCalculCompensareTemp, lcCont, lcCond, lnIdPart, ; + lnFelCont, lnPozitie, lcSumaAchi, lcSelectie, lcSelectie1, lcSelectie2 + lcCursorIregPart = Sys(2015) + lcCursorSumeNegative = Sys(2015) + lcCursorSumePozitive = Sys(2015) + lcCursorCalculCompensare = [calculcompensare] + lcCursorCalculCompensareTemp = SYS(2015) + lcCont = Alltrim(tcCont) + lcCond = [ an = ] + Alltrim(Str(gnAn)) + [ and luna = ] + Alltrim(Str(gnluna))+ Iif(glEMama,' and NVL(id_sucursala,0) = 0 ',gcCondSucursala) + llReturn = .T. + + If tlValuta + lcCond= lcCond + [ and ABS(i.precvaldeb + i.valdebit - i.precvalcred - i.valcredit)>0 and i.id_valuta ] + ; + Iif(!EMPTY(tnIdValuta2), [in ( ] + Alltrim(Str(tnIdValuta)) + [,] + Alltrim(Str(Nvl(tnIdValuta2,0))) + [)], [ = ]+Alltrim(Str(tnIdValuta))) + Else + lcCond= lcCond + [ and (i.precvaldeb + i.valdebit - i.precvalcred - i.valcredit = 0) ] + Endif + + Select xcont + Locate For Val(contpart) = Val(lcCont) + lnIdPart = idpart + lnFelCont = fel_cont + lnPozitie = pozitie + + pcselect = ['select i.* FROM vireg_parteneri i where 2=2 '] + pcfiltru = [ i.id_part = ] + Alltrim(Str(lnIdPart)) + [ AND ABS(i.precdeb + i.debit - i.preccred - i.credit)<>0 AND i.cont = ']+ lcCont + [' and ] + lcCond + + Private podateintrod + Store '' To podateintrod + gencursor('podateintrod',lcCursorIregPart,pcselect,pcfiltru,[''],['']) + + Do Case + Case m.lnFelCont = 0 Or (m.lnFelCont = 2 And m.lnPozitie = 1) + lnTip = 1 + lcSumaAchi = [ROUND(precdeb + debit,gnPc) - ROUND(preccred+credit,gnPc)] + lcSelectie = [SELECT *, ACONT AS ASCC, nume_val as numeval, curs as cursschimb, precdeb + debit as totctva, preccred+credit as achitat, credit as achitatl, ] +; + [precvaldeb + valdebit AS sumaval, precVALcred+VALcredit as achitatval, ] + Iif(tnProcTva = 1, [1], [0]) + [ as cu_tva, ] +; + [.T. as ales, ] + lcSumaAchi + [ as sumaachi, 000000000000.0000 as sumaachi2, 00000000000000.0000 as achilei, 00000000000000.0000 as difplus, ]+; + [ 00000000000000.0000 as difminus, 000000.0000 as cursval, 000000.0000 as cursdif, id_jtva_coloana as id_jtvacol, ] +; + [CAST(0 as n(10)) as id_valuta2, CAST('' as c(30)) as nume_val2, CAST(0 as n(15,2)) as sumaachi22,tva_incasare ] + ; + [FROM ] + lcCursorIregPart + Otherwise + lnTip = 2 + lcSumaAchi = [ROUND(preccred + credit,gnPc) - ROUND(precdeb+debit,gnPc)] + lcSelectie = [SELECT *, ACONT AS ASCD, nume_val as numeval, curs as cursschimb, preccred + credit as totctva, precdeb+debit as achitat, debit as achitatl,] + ; + [precvalcred + valcredit as sumaval, precVALdeb+VALdebit as achitatval, ] + Iif(tnProcTva = 1, [1], [0]) + [ as cu_tva, ] +; + [.T. as ales, ] + lcSumaAchi + [ as sumaachi, 00000000000000.0000 as sumaachi2, 00000000000000.0000 as achilei, 00000000000000.0000 as difplus, ]+; + [ 00000000000000.0000 as difminus, 000000.0000 as cursval, 000000.0000 as cursdif, id_jtva_coloana as id_jtvacol, ] + ; + [CAST(0 as n(10)) as id_valuta2, CAST('' as c(30)) as nume_val2, CAST(0 as n(15,2)) as sumaachi22,tva_incasare ] + ; + [FROM ] + lcCursorIregPart + Endcase + lcSelectie1 = lcSelectie + [ WHERE ] + lcSumaAchi + [< 0 INTO CURSOR ] + lcCursorSumeNegative + [ READWRITE] + lcSelectie2 = lcSelectie + [ WHERE ] + lcSumaAchi + [> 0 INTO CURSOR ] + lcCursorSumePozitive + [ READWRITE] + &lcSelectie1 + &lcSelectie2 + + If !Empty(tcNumeVal2) And !Empty(Nvl(tnIdValuta2,0)) + Update (lcCursorSumeNegative) Set id_valuta2 = tnIdValuta2, nume_Val2 = tcNumeVal2 + Update (lcCursorSumePozitive) Set id_valuta2 = tnIdValuta2, nume_Val2 = tcNumeVal2 + ENDIF +*!* ROUND(sumaval-achitatval,gnPval) +*!* && sumaachi2 = valoarea in valuta facturii (euro) +*!* && sumaachi22 = valoarea in valuta de incasare(usd) +*!* && m.suma_32 = cursul usd +*!* && m.suma_3 = cursul euro +*!* Local lncurs +*!* If ales +*!* lncurs = Iif(id_valuta = id_valuta2, poact.suma_32, poact.suma_3) +*!* * lncurs = Iif(id_valuta = poact.id_valuta2, poact.suma_32, poact.suma_3) +*!* Repl sumaachi2 With Round(sumaval - achitatval,gnPval) +*!* IF poAct.suma_32 > 0 +*!* replace sumaachi22 WITH ROUND(sumaachi2 * m.lncurs / poact.suma_32,2) +*!* ENDIF +*!* If sumaachi2=0 +*!* Do mesaj With "Bifati doar inregistrarile","care au sold in valuta!" +*!* Replace ales With .F. +*!* Endif +*!* Else +*!* Repl sumaachi2 With 0, sumaachi22 With 0 +*!* Endif + + If Reccount(lcCursorSumeNegative)>0 And Reccount(lcCursorSumePozitive)>0 + Do calculcompens With lcCursorSumeNegative, lcCursorSumePozitive, 1,1 + *!* mut toate facturile pe coloana corecta si le cumulez dupa id_fact + copiaza_structura_cursor(lcCursorCalculCompensare,lcCursorCalculCompensareTemp) + INSERT INTO (lcCursorCalculCompensareTemp) SELECT * FROM (lcCursorCalculCompensare) + DELETE from (lcCursorCalculCompensare) + IF lnTip = 1 + Insert Into (lcCursorCalculCompensare) (nr_doc_d,nr_doc_c,id_factd,id_factc,ascd,ascc,sumaachi,ales,proc_tva,; + id_jtvacol,tva_incasare_a,tva_incasare_d,tva_incasare_dtip,tva_incasare_c,tva_incasare_ctip) ; + SELECT 0 As nr_doc_d, nr_doc_d As nr_doc_c, 0 As id_factd, id_factd As id_factc, '' As ascd,ascd As ascc,; + Sum(sumaachi) As sumaachi,ales,; + proc_tvaD as proc_tva,id_jtvacol as id_jtvacolC,; + tva_incasare_a,0 As tva_incasare_d,'' As tva_incasare_dtip,tva_incasare_d As tva_incasare_c,; + IIF(tva_incasare_dtip='D','C','') As tva_incasare_ctip ; + From (lcCursorCalculCompensareTemp) ; + Group By 1,2,3,4,5,6,8,9,10,11,12,13,14,15 ; + Union All ; + SELECT 0 As nr_doc_d,nr_doc_c,0 As id_factd,id_factc,'' As ascd,ascc,; + Sum(sumaachi)*(-1) As sumaachi,ales,; + proc_tvaC as proc_tva, id_jtvacolC as id_jtvacol,; + tva_incasare_a,0 As tva_incasare_d,'' As tva_incasare_dtip,tva_incasare_c,tva_incasare_ctip ; + From (lcCursorCalculCompensareTemp) ; + Group By 1,2,3,4,5,6,8,9,10,11,12,13,14,15 + ELSE + Insert Into (lcCursorCalculCompensare) (nr_doc_d,nr_doc_c,id_factd,id_factc,ascd,ascc,sumaachi,ales,proc_tva,; + id_jtvacol,tva_incasare_a,tva_incasare_d,tva_incasare_dtip,tva_incasare_c,tva_incasare_ctip) ; + SELECT nr_doc_c As nr_doc_d, 0 As nr_doc_c, id_factc As id_factd, 0 As id_factc, ascc As ascd, '' As ascc,; + Sum(sumaachi)*(-1) As sumaachi,ales,; + proc_tvaC as proc_tva, id_jtvacolC as id_jtvacol,; + tva_incasare_a,tva_incasare_c As tva_incasare_d,; + IIF(tva_incasare_ctip='C','D','') as tva_incasare_dtip,; + 0 As tva_incasare_c,'' As tva_incasare_ctip ; + From (lcCursorCalculCompensareTemp) ; + Group By 1,2,3,4,5,6,8,9,10,11,12,13,14,15 ; + Union All ; + SELECT nr_doc_d,0 As nr_doc_c,id_factd,0 As id_factc,ascd,'' As ascc,; + Sum(sumaachi) As sumaachi,ales,; + proc_tvaD as proc_tva, id_jtvacolD as id_jtvacol, ; + tva_incasare_a,tva_incasare_d,tva_incasare_dtip,0 As tva_incasare_c,'' As tva_incasare_ctip ; + From (lcCursorCalculCompensareTemp) ; + Group By 1,2,3,4,5,6,8,9,10,11,12,13,14,15 + ENDIF + USE IN (lcCursorCalculCompensareTemp) + Else + llReturn = .F. + amessagebox("Nu se pot face compensari intrucat nu exista facturi cu semn diferit!",48,"Atentie") + Endif + + Use In (lcCursorIregPart) + Use In (lcCursorSumeNegative) + Use In (lcCursorSumePozitive) + Release lnTip, lcCursorIregPart, lcCursorSumeNegative, lcCursorSumePozitive, lcCursorCalculCompensare, ; + lcCursorCalculCompensareTemp, lcCont, lcCond, lnIdPart, ; + lnFelCont, lnPozitie, lcSumaAchi, lcSelectie, lcSelectie1, lcSelectie2 + RETURN llReturn +Endproc \ No newline at end of file diff --git a/programe/odocumente.prg b/programe/odocumente.prg new file mode 100644 index 0000000..028be6d --- /dev/null +++ b/programe/odocumente.prg @@ -0,0 +1,46 @@ +*** odocumente + + +*!* parametri: cod, luna, an +*!* pentru codul respectiv din act si toate id_fact se verifica +*!* daca respectivul id_fact exista pe id_factd sau id_factc pe alt cod +*!* decat cel verificat +FUNCTION ReferinteDocumenteNota + PARAMETERS tnAn, tnLuna, tnCod + + LOCAL lnReferinte, lcFunctie + lnReferinte = 1 + + + lcFunctie = "pack_documente.ReferinteDocumenteNota(?tnAn, ?tnLuna, ?tnCod)" + lnSucces = goExecutor.oFunction2Value(lcFunctie, @lnReferinte) + IF lnSucces < 0 + AMESSAGEBOX(goExecutor.cEroare,0+16,"Eroare") + ENDIF + + RETURN IIF(lnReferinte > 0, .T., .F.) + +ENDFUNC && ReferinteDocumenteNota + + +*!* parametri: an, luna, cod, id_fact +*!* pentru codul respectiv din act si toate id_fact se verifica +*!* daca respectivul id_fact exista pe id_factd sau id_factc pe alt cod +*!* decat cel verificat +FUNCTION ReferinteDocument + PARAMETERS tnAn, tnLuna, tnCod, tnIdFact + + LOCAL lnReferinte, lcFunctie + lnReferinte = 1 + + + + lcFunctie = "pack_documente.ReferinteDocument(?tnAn, ?tnLuna, ?tnCod, ?tnIdFact)" + lnSucces = goExecutor.oFunction2Value(lcFunctie, @lnReferinte) + IF lnSucces < 0 + AMESSAGEBOX(goExecutor.cEroare,0+16,"Eroare") + ENDIF + + RETURN IIF(lnReferinte > 0, .T., .F.) + +ENDFUNC && ReferinteDocument diff --git a/programe/oexport.prg b/programe/oexport.prg new file mode 100644 index 0000000..ea3db9a --- /dev/null +++ b/programe/oexport.prg @@ -0,0 +1,3023 @@ +*!* 19.02.2009 marius.mutu +*!* + oExportConfig.getReportPath(tcRaport) : intoarce calea raportului utilizator din DIRGEN > USERREPORT > SCHEMA sau DIRGEN > USERREPORT > SCHEMA > PROGRAM sau EXECUTABIL +*!* oExportConfig.export2frx,export2pdf + +*!* 08.12.2010 +*!* *!* marius.mutu +*!* oExportConfig.export2frx +*!* listare cu export pdf, xls +*!* + foxypreview v 2.01c + +*!* 31.05.2011 +*!* marius.mutu +*!* update foxypreview v 2.41a (email, reparat eroare listare inventarul patrimoniului - se inchidea cursorul din grid) + +*!* 01.06.2011 +*!* marius.mutu +*!* am reparat in foxypreviewcaller detectarea existentei raportului pe disc + +*!* 07.06.2011 +*!* oExportConfig.getRepPath +*** daca raportul este deja intr-un director pe disc (ex: c:\temp\tutun\rap_incasari_plati.frx) las calea asa cum este + +*!* 06.01.2014 +*!* marius.mutu +*!* FoxyPreview - se verifica daca exista proprietatea _Screen.oFoxyPreviewer.cLanguage + +*!* 19.11.2018 +*!* marius.mutu +*!* oExportConfig.export2frx - definire gcLogoPath pentru folosirea in factura sau alte rapoarte +*!* Se cauta in logo.jpg in directorul ROA si USERREPORTS + +*!* 03.10.2019 +*!* marius.mutu +*!* rapoarte personalizate salvate in baza de date atas_atasamente! +*!* getLogoPath, getRepPath - se cauta logo.jpg, logo_orizontal.jpg, raport.frx pe disc +*!* se cauta si in baza de date atas_atasamente. daca exista, se creeaza fisierele pe disc + +*!* 06.07.2020 +*!* FoxyPreview - tratare lDirectPrint mod silentios trimite direct la imprimanta + +*!* 09.12.2020 +*!* getRepPath - suprascriu raportul din USERREPORTS cu raportul din baza de date in functie de optiunea gnRAP_SUPRASCRIERE_USR + +*!* 17.12.2020 +*!* getRepPath - chiar daca exista raportul USR_*.frx in directorul firmei, il cauta si in directorul programului +*!* eroare introdusa in versiunea anterioara + +*!* 10.01.2024 +*!* export2frx - se listeaza tcRaport_IdClient daca exista, altfel tcRaport (Vadeco listeaza cu alte conturi bancare pentru OMV Petrom) + +*!* 21.05.2026 +*!* export2xlsx - intoarce calea completa a fisierul xlsx salvat + +Define Class oExportConfig As wwConfig + Dimension aImprimante(1, 2) + nTip = 1 && 1 = registru ; 2 = settings.ini + cIniPath = "settings.ini" + cSectiune = "printers" + cRegPath = "SOFTWARE\ROMFAST" + cUserRepPath = [] + cTempPath = [] + cCursorCurent = [] + cCaleCurenta = [] + oApi = [] + cReportPreview = [] + cReportOutput = [] + Dimension aExplicatii(3, 2) + aExplicatii(1, 1) = [FRX] + aExplicatii(1, 2) = [listare] + aExplicatii(2, 1) = [XLS] + aExplicatii(2, 2) = [export] + aExplicatii(3, 1) = [PDF] + aExplicatii(3, 2) = [export in PDF] + **** Init + **** getUserRepPath + **** open_default_app(tcNumeFisier) + **** getExcelMask(tcInputMask) + **** citesteSetareRegistru(tcCheie) + **** modificaSetareRegistru(tcCheie,tcValoare) + **** setCursorCurent() + **** getCursorCurent() + **** setCaleCurenta() + **** repuneCaleCurenta() + **** repuneCursorCurent() + **** verificaDate(tcAlias,tnTip) + **** export2frx(tcAlias, tcRaport, tlCereTitlu, tcSetareVizualizare, tcSetareImprimanta, tcParametriListare, toListener) + **** export2xls(tcAlias, tcNumeFisier, tcListaColoane, tcFiltru) + **** export2pdf(tcAlias, tcRaport, tlPreview, tnTip) + **** + **** de sters dupa inlocuire in ROAFACTURARE + **** listareUserReport(tcAlias, tcTipExport, tcRaport, tnVizualizare, tcSetare, tcFiltru) + **** export_frx(tcAlias, tcRaport, tnVizualizare, tcSetare) + **** export_xls(tcAlias, tcNumeFisier, tnVizualizare, tcListaColoane, tcFiltru) + ************************************** INCEPUT : Init + Procedure Init + Set Classlib To wwxml Additive + Set Procedure To wwApi.prg Additive + Set Classlib To _gdiplus Additive + Set Classlib To Listener Additive + Set Procedure To _libpdf.prg Additive + Set Procedure To build_err_msgs.prg Additive + Set Procedure To pdflistener.prg Additive + Set Procedure To frxoutput.prg Additive + This.oApi = Createobject("wwApi") + *!* This.cUserRepPath = This.getUserRepPath() + This.cTempPath = gcTempPath + Endproc + ************************************** SFARSIT : Init + ************************************** INCEPUT : setTip + Procedure setTip + Lparameters tnTip + This.nTip = tnTip + Endproc + ************************************** SFARSIT : setTip + ************************************** INCEPUT : setPath + Procedure setPath + Lparameters tcPath + If This.nTip = 1 + This.cRegPath = tcPath + Else + This.cIniPath = tcPath + Endif + Endproc + ************************************** SFARSIT : setPath + ************************************** INCEPUT : setSectiune + Procedure setSectiune + Lparameters tcSectiune + This.cSectiune = tcSectiune + Endproc + ************************************** SFARSIT : setSectiune + ************************************** INCEPUT : setRegPath + Procedure setRegPath + Lparameters tcRegPath + This.cRegPath = tcRegPath + This.setTip(1) + Endproc + ************************************** SFARSIT : setRegPath + *!* ************************************** INCEPUT : getUserRepPath + *!* Function getUserRepPath + *!* Local lcAppPath, lcAppName, liAt, lcDirgen, lcUserRepPath + *!* lcAppPath = gcAppPath + *!* lcAppName=Allt(Uppe(Juststem(Sys(16,0)))) + *!* liAt=Rat("\",lcAppPath,2) + *!* lcDirgen=Addbs(Left(lcAppPath,liAt-1)) + *!* lcUserRepPath = lcDirgen + 'USERREPORTS\' + *!* If !Directory(lcUserRepPath) + *!* Try + *!* Md (lcUserRepPath) + *!* Catch To oException + *!* Wait Window "Nu se poate crea directorul " + lcUserRepPath Nowait + *!* Endtry + *!* Endif + *!* If !Empty(Nvl(gcS,[])) + *!* lcUserRepPath = lcUserRepPath + gcS + '\' + *!* If !Directory(lcUserRepPath) + *!* Try + *!* Md (lcUserRepPath) + *!* Catch To oException + *!* Wait Window "Nu se poate crea directorul " + lcUserRepPath Nowait + *!* Endtry + *!* Endif + *!* Endif + *!* lcUserRepPath = lcUserRepPath + lcAppName + '\' + *!* If !Directory(lcUserRepPath) + *!* Try + *!* Md (lcUserRepPath) + *!* Catch To oException + *!* Wait Window "Nu se poate crea directorul " + lcUserRepPath Nowait + *!* Endtry + *!* Endif + + *!* Return lcUserRepPath + + *!* Endfunc + *!* ************************************** SFARSIT : getUserRepPath + + *!* caut usr_raport in DIRGEN > USERREPORTS > SCHEMA, apoi in DIRGEN > USERREPORTS > SCHEMA > PROGRAM, altfel in executabil + ************************************** INCEPUT : getRepPath + Function getRepPath + Lparameters tcRaport + * tcRaport = numele raportului + + Local lcAppPath, lcAppName, liAt, lcDirgen, lcUserRepPath, llSuprascriereRaportUSR + lcAppPath = gcAppPath + lcAppName = Iif(Type('gcAppName') = 'C' And !Empty(gcAppName), gcAppName, Allt(Uppe(Juststem(Sys(16, 0))))) + + liAt = Rat("\", lcAppPath, 2) + lcDirgen = Addbs(Left(lcAppPath, liAt - 1)) + lcUserRepPath = lcDirgen + 'USERREPORTS\' + m.GCS + '\' + lcRaportPath = lcUserRepPath + [USR_] + Juststem(tcRaport) + [.FRX] + lcSchemaRaportFile = Lower(m.lcRaportPath) + poLog.Log('RepPath1: ' + TRANSFORM(File(lcRaportPath)) + ' ' + m.lcRaportPath, Program()) + + llSuprascriereRaportUSR = .F. + IF TYPE('gnRAP_SUPRASCRIERE_USR') = 'N' + llSuprascriereRaportUSR = (m.gnRAP_SUPRASCRIERE_USR = 1) + ENDIF + + If !File(m.lcRaportPath) OR m.llSuprascriereRaportUSR + IF !FILE(m.lcRaportPath) + lcRaportPath = lcUserRepPath + lcAppName + [\USR_] + Juststem(tcRaport) + [.FRX] + poLog.Log('RepPath2: ' + TRANSFORM(File(lcRaportPath)) + ' ' + m.lcRaportPath, Program()) + ENDIF + If !File(lcRaportPath) OR m.llSuprascriereRaportUSR + * Caut frx in atas_atasamente si il creez pe disc daca exista + llSucces = This.Report2File(Lower(Juststem(m.tcRaport)), m.lcSchemaRaportFile) + If m.llSucces And File(m.lcSchemaRaportFile) + lcRaportPath = m.lcSchemaRaportFile + poLog.Log('RepPath3: ' + TRANSFORM(File(lcRaportPath)) + ' ' + m.lcRaportPath, Program()) + Endif && llBytesWritten + Endif && file + + poLog.Log('RepPath4: ' + TRANSFORM(File(lcRaportPath)) + ' ' + m.lcRaportPath, Program()) + If !File(lcRaportPath) + lcRaportPath = Juststem(tcRaport) + [.FRX] + Endif + Endif + *!* 07.06.2011 + *** daca este calea completa pe disc, adica raportul este deja intr-un director pe disc (ex: c:\temp\tutun\rap_incasari_plati.frx), las calea asa cum este + If !Empty(Justpath(m.tcRaport)) + lcRaportPath = m.tcRaport + poLog.Log('RepPath5: ' + TRANSFORM(File(lcRaportPath)) + ' ' + m.lcRaportPath, Program()) + Endif + + *!* 07.06.2011 ^ + This.cUserRepPath = Addbs(Justpath(lcRaportPath)) + + Return lcRaportPath + + Endfunc && getRepPath + ************************************** SFARSIT : getRepPath + + *!* caut logo.jpg/logo_orizontal.jpg in DIRGEN > USERREPORTS > SCHEMA, apoi in DIRGEN > USERREPORTS > SCHEMA > PROGRAM, altfel in executabil + ************************************** INCEPUT : getLogoPath + Function getLogoPath + Lparameters tcLogoFileName + * tcLogoFileName : logo.jpg/logo_orizontal.jpg + + Local lcAppPath, lcAppName, liAt, lcDirgen, lcUserLogoPath, lcLogoPath, lcSchemaLogoFile, lcSchemaAppLogoFile, lcFileName, lnBytesWritten + Private puFisier + lcAppPath = gcAppPath + lcAppName = Iif(Type('gcAppName') = 'C' And !Empty(gcAppName), gcAppName, Allt(Uppe(Juststem(Sys(16, 0))))) + lcLogoPath = '' + + lcFileName = Lower(Justfname(m.tcLogoFileName)) + + liAt = Rat("\", lcAppPath, 2) + lcDirgen = Addbs(Left(lcAppPath, liAt - 1)) + lcUserLogoPath = lcDirgen + 'USERREPORTS\' + m.GCS + '\' + lcLogoPath = lcUserLogoPath + tcLogoFileName + lcSchemaLogoFile = m.lcLogoPath + If !File(lcLogoPath) + lcLogoPath = lcUserLogoPath + lcAppName + [\] + m.tcLogoFileName + lcSchemaAppLogoFile = m.lcLogoPath + If !File(lcLogoPath) + lcLogoPath = Fullpath(m.tcLogoFileName) + If !File(m.lcLogoPath) + * Caut logo in atas_atasamente si il creez pe disc daca exista + lnBytesWritten = Atasament2File(, m.lcFileName, m.lcSchemaLogoFile) + If m.lnBytesWritten > 0 And File(m.lcSchemaLogoFile) + lcLogoPath = m.lcSchemaLogoFile + Endif && llBytesWritten + Endif && file + Endif && file + Endif && file + + If !File(m.lcLogoPath) + lcLogoPath = '' + Endif + + Return m.lcLogoPath + + Endfunc && getLogoPath + ************************************** SFARSIT : getLogoPath + + ************************************** + *** Extrage raport.frx si raport.frt din atas_atasamente, daca exista, si le salveaza pe disc usr_raport.frx si usr_raport.frt + *** Se apeleaza din GetRepPath + ************************************** + Function Report2File + Lparameters tcFileName, tcOutputFile + * tcFileName: numele raportului salvat in atas_atasamente (factura/factura.frx) + * tcOutputFile: calea completa a raportului (d:\roa\userreports\schema\usr_factura.frx) + + Local lcFrtFileName, lcFrtOuputFile, lcFrxFileName, lcFrxOuputFile, llSucces, lnBytesWritten + + llSucces = .F. + lcFrxFileName = Forceext(Lower(Justfname(m.tcFileName)), 'frx') && factura.frx + lcFrtFileName = Forceext(Lower(Justfname(m.tcFileName)), 'frt') && factura.frt + lcFrxOuputFile = Forceext(Lower(m.tcOutputFile), 'frx') && d:\roa\userreports\schema\usr_factura.frx + lcFrtOuputFile = Forceext(Lower(m.tcOutputFile), 'frt') && d:\roa\userreports\schema\usr_factura.frt + + lnBytesWritten = Atasament2File(, m.lcFrxFileName, m.lcFrxOuputFile) + If m.lnBytesWritten > 0 And File(m.lcFrxOuputFile) + lnBytesWritten = Atasament2File(, m.lcFrtFileName, m.lcFrtOuputFile) + llSucces = (m.lnBytesWritten > 0) + Endif + Return m.llSucces + Endfunc && Report2File + + ************************************** INCEPUT : open_default_app + *!* 07.07.2026 + *!* open_default_app - intoarce .T./.F. dupa rezultatul ShellExecute (>32 = succes) + *!* apelantii existenti care ignora rezultatul nu sunt afectati + Procedure OPEN_DEFAULT_APP + Parameters tcNumeFisier + Local lcActiune, lnResult + + Declare Integer ShellExecute In shell32.Dll ; + Integer hndWin, ; + String cAction, ; + String cFileName, ; + String cParams, ; + String cDir, ; + Integer nShowWin + lcActiune = "open" + lnResult = ShellExecute(0, lcActiune, tcNumeFisier, "", "", 1) + + Return (m.lnResult > 32) + Endproc && open_default_app + ************************************** SFARSIT : open_default_app + ************************************** INCEPUT : getExcelMask + Function getExcelMask + Lparameters tcInputMask + Local lnint, lndec, lcInputMask + lcInputMask = Strtran(tcInputMask, ' ', '') + lnint = Iif(At('.', lcInputMask, 1) > 0, At('.', lcInputMask, 1) - 1, Len(lcInputMask)) + lndec = Iif(Rat('.', lcInputMask, 1) > 0, Len(lcInputMask) - Rat('.', lcInputMask, 1), 0) + lnrest = Mod(lnint, 3) + + lcString = Replicate("#", lnrest) + lnint_ramas = lnint - lnrest + Do While lnint_ramas > 0 + lcString = lcString + " " + Replicate("#", 3) + lnint_ramas = lnint_ramas - 3 + Enddo + lcString = Substr(lcString, 1, Len(lcString) - 1) + "0" + If lndec > 0 + lcString = lcString + "." + Replicate("0", lndec) + Endif + + Return lcString + Endfunc && get_excel_mask + ************************************** SFARSIT : getExcelMask + ************************************** INCEPUT : citesteSetare + Function citesteSetare + Lparameters tcCheie + Return Iif(This.nTip = 1, This.citesteSetareRegistru(tcCheie), This.citesteSetareIni(This.cSectiune, tcCheie)) + Endfunc + ************************************** SFARSIT : citesteSetare + ************************************** INCEPUT : modificaSetare + Procedure modificaSetare + Lparameters tcCheie, tcValoare + If This.nTip = 1 + This.modificaSetareRegistru(tcCheie, tcValoare) + Else + This.modificaSetareIni(This.cSectiune, tcCheie, tcValoare) + Endif + Endproc + ************************************** SFARSIT : modificaSetare + ************************************** INCEPUT : citesteSetareIni + Function citesteSetareIni + Lparameters tcSectiune, tcCheie + Return Alltrim(This.oApi.GetProfileString(This.cIniPath, tcSectiune, tcCheie)) + Endfunc + ************************************** SFARSIT : citesteSetareIni + ************************************** INCEPUT : modificaSetareIni + Procedure modificaSetareIni + Lparameters tcSectiune, tcCheie, tcValoare + This.oApi.WriteProfileString(This.cIniPath, tcSectiune, tcCheie, tcValoare) + Endproc + ************************************** SFARSIT : modificaSetareIni + ************************************** INCEPUT : citesteSetareRegistru + Function citesteSetareRegistru + Lparameters tcCheie + *!* This.cRegNode = tcCheie + Return Alltrim(This.oApi.ReadRegistryString(, This.cRegPath, tcCheie)) + Endfunc + ************************************** SFARSIT : citesteSetareRegistru + ************************************** INCEPUT : modificaSetareRegistru + Procedure modificaSetareRegistru + Lparameters tcCheie, tcValoare + This.oApi.WriteRegistryString(, This.cRegPath, tcCheie, tcValoare, .T.) + Endproc + ************************************** SFARSIT : modificaSetareRegistru + ************************************** INCEPUT : setCursorCurent + Procedure setCaleCurenta + *!* This.cCaleCurenta = Sys(5)+Sys(2003) + This.cCaleCurenta = Set("Path") + Endproc + ************************************** SFARSIT : setCursorCurent + ************************************** INCEPUT : repuneCursorCurent + Procedure repuneCaleCurenta + Set Path To (This.cCaleCurenta) + Endproc + ************************************** SFARSIT : repuneCursorCurent + ************************************** INCEPUT : setCursorCurent + Procedure setCursorCurent + This.cCursorCurent = Select() + Endproc + ************************************** SFARSIT : setCursorCurent + ************************************** INCEPUT : getCursorCurent + Function getCursorCurent + Return This.cCursorCurent + Endfunc + ************************************** SFARSIT : getCursorCurent + ************************************** INCEPUT : repuneCursorCurent + Procedure repuneCursorCurent + Select (This.cCursorCurent) + Endproc + ************************************** SFARSIT : repuneCursorCurent + ************************************** INCEPUT : verificaDate + Function verificaDate + Lparameters tcAlias, tnTip, tlSilentios + Local llReturn + llReturn = .T. + Do Case + Case Empty(tcAlias) + If !tlSilentios + amessagebox("Nu au fost configurate datele! (VFPEXP-001)", 16, "Eroare") + Endif + llReturn = .F. + Case !Used(tcAlias) + If !tlSilentios + amessagebox("Nu exista datele! (VFPEXP-002)", 16, "Eroare") + Endif + llReturn = .F. + Case Reccount(tcAlias) = 0 + If !tlSilentios + amessagebox("Nu exista inregistrari pentru " + This.aExplicatii(tnTip, 2) + " !", 0 + 48, "Atentie") + Endif + llReturn = .F. + Endcase + Return llReturn + Endfunc + ************************************** SFARSIT : verificaDate + ************************************** INCEPUT : export2frx_paginaregrup + Procedure export2frx_paginaregrup + Lparameters tcAlias, tcRaport, tlCereTitlu, tcSetareVizualizare, tcSetareImprimanta, tcParametriListare, toListener, tlMultiPreview, tcReportPreviewer, toPreviewerConfig + Private pcDataOra + pcDataOra = [] + Create Cursor crsPaginiRaportGrup(id_grup N(20), pagina N(10)) + Select (tcAlias) + Report Form (tcRaport) + Release pcDataOra + This.export2frx(tcAlias, tcRaport, tlCereTitlu, tcSetareVizualizare, tcSetareImprimanta, tcParametriListare, toListener, tlMultiPreview, tcReportPreviewer, toPreviewerConfig) + If Used('crsPaginiRaportGrup') + Use In crsPaginiRaportGrup + Endif + Endproc + ************************************** SFARSIT : export2frx_paginaregrup + ************************************** INCEPUT : frx_numeroteazapagtotalgrup + Procedure frx_numeroteazapagtotalgrup + Lparameters tnIdGrup, tnPagina + Local lcCursor + If Used('crsPaginiRaportGrup') + lcCursor = Select() + Select crsPaginiRaportGrup + Locate For Nvl(id_grup, 0) = Nvl(tnIdGrup, 0) + If Found() + Replace pagina With tnPagina + Else + Append Blank + Replace id_grup With Nvl(tnIdGrup, 0), pagina With tnPagina + Endif + Select (lcCursor) + Endif + Endproc + ************************************** SFARSIT : frx_numeroteazapagtotalgrup + ************************************** INCEPUT : frx_citestepagtotalgrup + Function frx_citestepagtotalgrup + Lparameters tnIdGrup + Local lcCursor, lnPagina + lnPagina = Null + If Used('crsPaginiRaportGrup') + lcCursor = Select() + Select crsPaginiRaportGrup + Locate For id_grup = tnIdGrup + If Found() + lnPagina = pagina + Endif + Select (lcCursor) + Endif + Return lnPagina + Endfunc + ************************************** SFARSIT : frx_citestepagtotalgrup + ************************************** INCEPUT : export2frx + Procedure export2frx + Lparameters tcAlias, tcRaport, tlCereTitlu, tcSetareVizualizare, tcSetareImprimanta, tcParametriListare, toListener, tlMultiPreview, tcReportPreviewer, toPreviewerConfig + ** modificare 23.12.2008 : tcParametriListare, toListener + *!* Lparameters tcAlias, tcRaport, tlCereTitlu, tnVizualizare, tcSetareImprimanta, tcParametriListare + *!* ** tnVizualizare + *!* ** 1 - cu vizualizare + *!* ** 2 - listare directa + ** tcSetareImprimanta = numele setarii care va fi citita din registri + ** (valoarea ei reprezinta numele imprimantei pe care se va face listarea ) + ** tcParametriListare + ** NOEJECT NORESET + *!* This.cUserRepPath = This.getUserRepPath() + *!* 08.12.2010 + *!* tlMultiPreview = daca se foloseste reportpreview-ul din VFP9 cu FoxyPreview (salvare pdf, xls, rtf etc.) + *!* tcReportPreviewer - procedura pentru preview rapoarte "FoxyPreview" (default gcReportPreviewer) + *!* toPreviewerConfig - obiect PreviewerConfig cu setari pentru tcReportPreviewer + *!* loPreviewerConfig.SetValue("cDestFile", m.lcDestinationFile) + *!* loPreviewerConfig.SetValue("lOpenDestFile", .F.) + *!* loPreviewerConfig.SetValue("lPDFasImage", .T.) + Local llMultiPreview, lcReportPreviewer, loPreviewerConfig + Local lcImprimanta, lcImprimantaTemp, lcCaleRaport, llDataOraLocal, lcReportOutput, lcParametri, lcObiect + Local llDeleteRaport, llDeleteLogo, lcRaportPath, lcLogoPathDest + Private gcLogoPath, gcLogoOrizontalPath, gcTextFooterFact, gcStampilaPath, gcIsoPath + gcTextFooterFact = '' + gcLogoPath = '' + gcLogoOrizontalPath = '' + gcStampilaPath = '' + gcIsoPath = '' + llDeleteRaport = .F. + llDeleteLogo = .F. + lcRaportPath = '' + lcLogoPathDest = '' + + llMultiPreview = Iif(Type('tlMultiPreview') <> 'L', .F., tlMultiPreview) + lcReportPreviewer = Iif(Type('tcReportPreviewer') <> 'C' Or Empty(m.tcReportPreviewer), Iif(Type('gcReportPreviewer') = 'C', m.gcReportPreviewer, ""), m.tcReportPreviewer) + loPreviewerConfig = Iif(Type('toPreviewerConfig') <> 'O', Createobject("PreviewerConfig"), m.toPreviewerConfig) && oexport.prg + *!* 08.12.2010 ^ + + If Type('tcSetareVizualizare') = 'C' + *!* modificare ROARESTAURANT v 1.0.0 + *!* lnVizualizare = Iif(Empty(Nvl(tcSetareVizualizare,[])),1,Val(Nvl(This.citesteSetareRegistru(tcSetareVizualizare),[1]))) + lnVizualizare = Iif(Empty(Nvl(tcSetareVizualizare, [])), 1, Val(Nvl(This.citesteSetare(tcSetareVizualizare), [1]))) + *!* modificare ROARESTAURANT v 1.0.0 ^ + Else + lnVizualizare = tcSetareVizualizare + Endif + + This.setCursorCurent() + If This.verificaDate(tcAlias, 1) + llDataOraLocal = .F. + + *!* modificare 23.12.2008 + If !Empty(tcParametriListare) + lcParametri = tcParametriListare + Else + lcParametri = [] + Endif + *!* modificare 23.12.2008 ^ + + Do Case + Case Empty(lnVizualizare) Or lnVizualizare = 1 + lnVizualizare = 1 + lcParametri = [PROMPT PREVIEW ] + lcParametri + Case !Inlist(lnVizualizare, 1, 2) + lnVizualizare = 1 + lcParametri = [PROMPT PREVIEW ] + lcParametri + Otherwise + lcParametri = [PROMPT ] + lcParametri + Endcase + + If Type('pcDataOra') = 'U' + Private pcDataOra + pcDataOra = get_ora(2) + llDataOraLocal = .T. + Endif + + Aprinters(This.aImprimante) + If !Empty(tcSetareImprimanta) And Alen(This.aImprimante, 1) > 0 + ** verificare ca imprimanta este instalata pe calculatorul respectiv + *!* modificare ROARESTAURANT v 1.0.0 + *!* lcImprimanta = This.citesteSetareRegistru(tcSetareImprimanta) + lcImprimanta = This.citesteSetare(tcSetareImprimanta) + *!* modificare ROARESTAURANT v 1.0.0 ^ + If Ascan(This.aImprimante, lcImprimanta, 1, Alen(This.aImprimante, 1), 1, 15) = 0 + lcImprimanta = [] + *!* modificare ROARESTAURANT v 1.0.0 + This.modificaSetare(tcSetareImprimanta, lcImprimanta) + *!* modificare ROARESTAURANT v 1.0.0 ^ + Endif + Endif + + * Obtin calea catre raport (tcRaport / usr_tcRaport / usr_tcRaport_id_client) + * Verific daca exista un raport pentru clientul respectiv + + lnIdClient = 0 + lcCaleRaportClient = '' + IF TYPE('poDate.id_client') = 'N' AND !EMPTY(NVL(poDate.id_client,0)) + lnIdClient = poDate.id_client + ENDIF + *!* lcCaleRaport = This.cUserRepPath + [USR_] + Juststem(tcRaport) + [.FRX] + IF !EMPTY(m.lnIdClient) + lcRaportClient = STRTRAN(m.tcRaport, JUSTFNAME(m.tcRaport), JUSTFNAME(m.tcRaport) + '_' + ALLTRIM(STR(m.lnIdClient))) + lcCaleRaportClient = This.getRepPath(m.lcRaportClient) + ENDIF + IF !FILE(m.lcCaleRaportClient) + lcCaleRaport = This.getRepPath(tcRaport) + ELSE + lcCaleRaport = m.lcCaleRaportClient + ENDIF + poLog.Log('RepPath: ' + m.lcCaleRaport, Program()) + + *** Logo + gcLogoPath = This.getLogoPath('logo.jpg') + poLog.Log('LogoPath: ' + m.gcLogoPath, Program()) + + gcLogoOrizontalPath = This.getLogoPath('logo_orizontal.jpg') + poLog.Log('LogoOrizontalPath: ' + m.gcLogoOrizontalPath, Program()) + + gcIsoPath = This.getLogoPath('iso.jpg') + poLog.Log('IsoPath: ' + m.gcIsoPath, Program()) + + gcStampilaPath = This.getLogoPath('stampila.jpg') + poLog.Log('StampilaPath: ' + m.gcStampilaPath, Program()) + + * QR Code + IF TYPE('gnFACTURA_QR') <> 'U' AND m.gnFACTURA_QR > 0 + SET PROCEDURE TO 'D:\ROA\ROAFACTURARE\COMUN\utile\barcode\foxbarcodeqr.prg' ADDITIVE + PRIVATE poFbc + poFbc = CREATEOBJECT("FoxBarcodeQR") + poFbc.nCorrectionLevel = 1 && Level_H + gnQRSize=3 + lcQRText = IIF(m.gnFactura_Qr = 1, 'serie#nr#cod fiscal#total_plata', '') + gcQRPath = poFbc.FullQRCodeImage("https://comunidadvfp.blogspot.com",,132) + ENDIF + + + *!* gcLogoPath = ADDBS(JUSTPATH(m.lcCaleRaport)) + 'logo.jpg' + *!* gcLogoPath = FULLPATH(m.gcLogoPath) && directorul ROA (pentru rapoartele din executoabil) sau USERREPORTS (pentru rapoartele din USERREPORTS) + *!* If !File(m.gcLogoPath) + *!* IF TYPE('gcDirMare') = 'C' + *!* gcLogoPath = ADDBS(m.gcDirMare) + 'logo.jpg' && directorul ROA + *!* ELSE + *!* gcLogoPath = Addbs(Left(m.gcAppPath, Rat("\", m.gcAppPath, 2) - 1)) + 'logo.jpg' + *!* ENDIF + *!* If !File(m.gcLogoPath) + *!* gcLogoPath = ADDBS(JUSTPATH(m.gcLogoPath)) + 'USERREPORTS\logo.jpg' && directorul USERREPORTS + *!* ENDIF + *!* If !File(m.gcLogoPath) + *!* gcLogoPath = '' + *!* ENDIF + *!* ENDIF + *** Logo ^ + + *!* * daca raportul este in executabil si exista logo.jpg in USERREPORTS + *!* * extrag raportul din executabil in gcTempPath\usr_raport.frx + *!* * copii logo.jpg din directorul USERREPORTS (daca exista) in directorul gcTempPath, langa usr_raport.frx + *!* If !File(m.lcCaleRaport) + *!* lcCaleRaport = m.tcRaport + *!* + *!* lcRaport = Juststem(m.tcRaport) + [.FRX] + *!* lcRaportPath = Addbs(m.gcTempPath) + [USRX_] + m.lcRaport + *!* lcLogoPathDest = Addbs(m.gcTempPath) + "logo.jpg" + *!* + *!* If Used(Juststem(m.lcRaportPath)) + *!* Use In (Select(Juststem(m.lcRaportPath))) + *!* Endif + + *!* Use (m.lcRaport) In 0 Alias tmpRaport + *!* Select tmpRaport + *!* Copy To (m.lcRaportPath) + *!* Use In (Select('tmpRaport')) + *!* Use In Select(Juststem(m.lcRaport)) + + *!* IF EMPTY(m.gcLogoPath) OR !FILE(m.gcLogoPath) + *!* TEXT TO lcLogoTxt + *!* /9j/4AAQSkZJRgABAQEAYABgAAD/4QBmRXhpZgAATU0AKgAAAAgABAEaAAUAAAABAAAAPgEbAAUAAAABAAAARgEoAAMAAAABAAMAAAExAAIAAAAQAAAATgAAAAAAAJOjAAAD6AAAk6MAAAPocGFpbnQubmV0IDQuMS40AP/bAEMAAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAf/bAEMBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAf/AABEIAAEAAQMBIgACEQEDEQH/xAAfAAABBQEBAQEBAQAAAAAAAAAAAQIDBAUGBwgJCgv/xAC1EAACAQMDAgQDBQUEBAAAAX0BAgMABBEFEiExQQYTUWEHInEUMoGRoQgjQrHBFVLR8CQzYnKCCQoWFxgZGiUmJygpKjQ1Njc4OTpDREVGR0hJSlNUVVZXWFlaY2RlZmdoaWpzdHV2d3h5eoOEhYaHiImKkpOUlZaXmJmaoqOkpaanqKmqsrO0tba3uLm6wsPExcbHyMnK0tPU1dbX2Nna4eLj5OXm5+jp6vHy8/T19vf4+fr/xAAfAQADAQEBAQEBAQEBAAAAAAAAAQIDBAUGBwgJCgv/xAC1EQACAQIEBAMEBwUEBAABAncAAQIDEQQFITEGEkFRB2FxEyIygQgUQpGhscEJIzNS8BVictEKFiQ04SXxFxgZGiYnKCkqNTY3ODk6Q0RFRkdISUpTVFVWV1hZWmNkZWZnaGlqc3R1dnd4eXqCg4SFhoeIiYqSk5SVlpeYmZqio6Slpqeoqaqys7S1tre4ubrCw8TFxsfIycrS09TV1tfY2dri4+Tl5ufo6ery8/T19vf4+fr/2gAMAwEAAhEDEQA/AP7+KKKKAP/Z + *!* ENDTEXT + *!* STRTOFILE(STRCONV(m.lcLogoTxt,14), m.lcLogoPathDest) + *!* ELSE + *!* COPY FILE (m.lcLogoPath) TO (m.lcLogoPathDest) + *!* ENDIF + *!* gcLogoPath = m.lcLogoPathDest + *!* goLog.Log(gcLogoPath, PROGRAM()) + *!* llDeleteRaport = .T. + *!* llDeleteLogo = .T. + *!* ENDIF && !File(m.lcCaleRaport) + gcTextFooterFact = Iif(Type('GCTEXTFOOTERFACT1') = 'C' And !Empty(Nvl(m.GCTEXTFOOTERFACT1, '')), Allt(m.GCTEXTFOOTERFACT1), '') + ; + Iif(Type('GCTEXTFOOTERFACT2') = 'C' And !Empty(Nvl(m.GCTEXTFOOTERFACT2, '')), Chr(13) + Chr(10) + Allt(m.GCTEXTFOOTERFACT2), '') + ; + Iif(Type('GCTEXTFOOTERFACT3') = 'C' And !Empty(Nvl(m.GCTEXTFOOTERFACT3, '')), Chr(13) + Chr(10) + Allt(m.GCTEXTFOOTERFACT3), '') + ; + Iif(Type('GCTEXTFOOTERFACT4') = 'C' And !Empty(Nvl(m.GCTEXTFOOTERFACT4, '')), Chr(13) + Chr(10) + Allt(m.GCTEXTFOOTERFACT4), '') + ; + Iif(Type('GCTEXTFOOTERFACT5') = 'C' And !Empty(Nvl(m.GCTEXTFOOTERFACT5, '')), Chr(13) + Chr(10) + Allt(m.GCTEXTFOOTERFACT5), '') + + + If tlCereTitlu + If Type('pcTitlu') = 'U' + Private pcTitlu + Store '' To pcTitlu + Endif + pcTitlu = ceretitlu_rap('Titlul Raportului', pcTitlu) + Endif + + *!* modificare 23.12.2008 + If Type('toListener') = 'O' + If Empty(This.cReportOutput) + This.cReportOutput = gcAppPath + "ReportOutput.app" + Endif + If Empty(This.cReportPreview) + This.cReportPreview = gcAppPath + "ReportPreview.app" + Endif + _ReportOutput = This.cReportOutput + _ReportPreview = This.cReportPreview + lcObiect = [OBJECT toListener] + lcParametri = Strtran(Strtran(tcParametriListare, [PREVIEW], []), [PROMPT], []) + Else + lcObiect = [TO PRINTER] + Endif + *!* modificare 23.12.2008 ^ + + *!* modificare 19.06.2013 + If Type('otool') = 'O' + otool.tool1.Visible = .F. + otool.tool1.Dock(-1) + Endif + *!* modificare 19.06.2013 ^ + + Select (tcAlias) + lnRaspuns = 6 + Do While lnRaspuns = 6 + Try + *!* modificare 23.12.2008 + *!* If lnVizualizare = 1 + *!* Keyboard "{ctrl+f10}" + *!* Report Form (lcCaleRaport) To Printer Prompt Preview + *!* Else + *!* If !Empty(lcImprimanta) + *!* lcImprimantaTemp = Sys(6) + *!* Set Printer To (lcImprimanta) + *!* Report Form (lcCaleRaport) To Printer + *!* If !Empty(Nvl(lcImprimantaTemp,[])) + *!* Set Printer To (lcImprimantaTemp) + *!* Else + *!* Set Printer To + *!* Endif + *!* Else + *!* Report Form (lcCaleRaport) To Printer Prompt + *!* Endif + *!* Endif + lcImprimantaTemp = [] + If lnVizualizare = 1 + If !Empty(lcImprimanta) + lcImprimantaTemp = Sys(6) + Set Printer To Name (lcImprimanta) + Endif + Keyboard "{ctrl+f10}" + Else + If !Empty(lcImprimanta) + lcImprimantaTemp = Sys(6) + Set Printer To Name (lcImprimanta) + lcParametri = Strtran(lcParametri, [PROMPT], []) + Endif + Endif + + loPreviewerConfig.SetValue("nDockType", 0) && modificare 18.06.2013 + *!* 08.12.2010 + *!* Report Form (lcCaleRaport) &lcObiect &lcParametri + Do Case + Case !m.llMultiPreview + Report Form (m.lcCaleRaport) &lcObiect &lcParametri + Case Empty(m.lcReportPreviewer) + Report Form (lcCaleRaport) &lcObiect &lcParametri + Case Version(5) < 800 + Report Form (m.lcCaleRaport) &lcObiect &lcParametri + Otherwise + Try + lcOldReportBehaviour = Set("ReportBehavior") + + If Type('toListener') = 'O' + loPreviewerConfig.oListener = m.toListener + Endif + *!* If !EMPTY(m.lcParametri) + *!* loPreviewerConfig.cClauses = m.lcParametri + *!* ENDIF + Do &lcReportPreviewer With m.lcCaleRaport, m.loPreviewerConfig + + Set REPORTBEHAVIOR &lcOldReportBehaviour + Catch To loEx + Messagebox('Eroare: ' + loEx.Message + CRLF + 'Procedura: ' + loEx.Procedure + CRLF + 'Cod: ' + loEx.LineContents + CRLF + 'Linia nr: ' + Transform(loEx.Lineno), 0 + 32, _Screen.Caption) + Try + Set REPORTBEHAVIOR 80 && disable FoxyPreviewer + Report Form (m.lcCaleRaport) &lcObiect &lcParametri + Set REPORTBEHAVIOR 90 + Catch To loEx + Messagebox('Eroare: ' + loEx.Message + CRLF + 'Procedura: ' + loEx.Procedure + CRLF + 'Cod: ' + loEx.LineContents + CRLF + 'Linia nr: ' + Transform(loEx.Lineno), 0 + 32, _Screen.Caption) + Set REPORTBEHAVIOR 80 && disable FoxyPreviewer + *!* 31.05.2011 + Select (tcAlias) + *!* 31.05.2011 ^ + Report Form (m.lcCaleRaport) To Printer Prompt Preview + Set REPORTBEHAVIOR 90 + Endtry + Endtry + Endcase + *!* 08.12.2010 ^ + + If !Empty(Nvl(lcImprimantaTemp, [])) + Set Printer To Name (lcImprimantaTemp) + Else + Set Printer To + Endif + *!* modificare 23.12.2008 ^ + lnRaspuns = 7 + Catch To oEroare + If oEroare.Message = 'Error loading driver error.' + lnRaspuns = amessagebox("Eroare la driverul imprimantei.Doriti sa reincercati listarea?", 4 + 32 + 256, "Confirmare relistare") + Else + amessagebox(oEroare.Message, 16, "Eroare") + lnRaspuns = 7 + Endif + Endtry + Enddo + + *!* modificare 19.06.2013 + If Type('otool') = 'O' + otool.tool1.Dock(0, 0, 0) + otool.tool1.Visible = .T. + Endif + If Type('ohelp') = 'O' + ohelp.tool_help1.Visible = .F. + If Type('otool') = 'O' + ohelp.tool_help1.Dock(0, otool.tool1.Width, 0) + Else + ohelp.tool_help1.Dock(0) + Endif + ohelp.tool_help1.Visible = .T. + Endif + *!* modificare 19.06.2013 ^ + + If m.llDeleteRaport And File(m.lcRaportPath) + Delete File Forceext(m.lcRaportPath, '*') + Endif + If m.llDeleteLogo And File(m.lcLogoPathDest) + Delete File (m.lcLogoPathDest) + Endif + + If llDataOraLocal + Release pcDataOra + Endif + Endif + This.repuneCursorCurent() + Endproc && export2frx + ************************************** SFARSIT : export2frx + ************************************** INCEPUT : export2xls + Procedure export2xls + Lparameters tcAlias, tcNumeFisier, tcListaColoane, tcFiltru + Local lcDir, lcFisier, lcCursorTempXls, lcSelectie + *!* This.cUserRepPath = This.getUserRepPath() + This.setCursorCurent() + If This.verificaDate(tcAlias, 2) + lcCursorTempXls = [crsxprtxls] + + If Empty(tcNumeFisier) + tcNumeFisier = 'Foaie_Excel' + Endif + + lcFisier = Putfile('Nume fisier:', tcNumeFisier, 'XLS') + If Empty(lcFisier) && Esc pressed + Return + Endif + + If Empty(tcListaColoane) + Select (tcAlias) + Export To (lcFisier) Type Xl5 + Else + If Used(lcCursorTempXls) + Use In (lcCursorTempXls) + Endif + + lcSelectie = [SELECT ] + tcListaColoane + [ FROM ] + tcAlias + ; + Iif(!Empty(tcFiltru), [ WHERE ] + tcFiltru, []) + [ INTO CURSOR ] + lcCursorTempXls + &lcSelectie + Select (lcCursorTempXls) + Export To (lcFisier) Type Xl5 + Use In (lcCursorTempXls) + Endif + This.OPEN_DEFAULT_APP(lcFisier) + + Endif + This.repuneCursorCurent() + Endproc && export2xls + ************************************** SFARSIT : export2xls + + ************************************** INCEPUT : export2xlsx + Procedure export2xlsx + Lparameters tcAlias, tcNumeFisier, tcListaColoane, tcFiltru + Local lcDir, lcFisier, lcPath, lcCursorTempXls, lcSelectie + Local llHead, llMemoAsComment, llOpen, lnCodePage, lnMaxIndexLen + *!* This.cUserRepPath = This.getUserRepPath() + lcFisier = '' + lcPath = '' + + This.setCursorCurent() + If This.verificaDate(tcAlias, 2) + lcCursorTempXls = [crsxprtxls] + + If Empty(tcNumeFisier) + tcNumeFisier = 'Foaie_Excel' + Endif + + * Daca fisierul nu are calea completa, intreb unde se salvaza + lcPath = JUSTPATH(m.tcNumeFisier) + IF EMPTY(m.lcPath) + lcFisier = Putfile('Nume fisier:', tcNumeFisier, 'XLSX') + ELSE + lcFisier = m.tcNumeFisier + ENDIF + + If Empty(lcFisier) && Esc pressed + Return + Endif + llHead = .T. + lnMaxIndexLen = 60 + llMemoAsComment = .F. + lnCodePage = 0 + llOpen = .T. + + If Empty(tcListaColoane) + copytoxlsx (m.tcAlias, m.lcFisier,llHead,lnMaxIndexLen,m.tcListaColoane,llMemoAsComment,lnCodePage,llOpen) + Else + Use In (SELECT(m.lcCursorTempXls)) + + lcSelectie = [SELECT ] + tcListaColoane + [ FROM ] + tcAlias + ; + Iif(!Empty(tcFiltru), [ WHERE ] + tcFiltru, []) + [ INTO CURSOR ] + lcCursorTempXls + &lcSelectie + + Select (lcCursorTempXls) + copytoxlsx (m.tcAlias, m.lcFisier,llHead,lnMaxIndexLen,m.tcListaColoane,llMemoAsComment,lnCodePage,llOpen) + Use In (SELECT(lcCursorTempXls)) + Endif + Endif + This.repuneCursorCurent() + + RETURN m.lcFisier + + Endproc && export2xlsx + ************************************** SFARSIT : export2xlsx + + ****************** + * Exporta coloanele unui grid in xlsxs + ****************** + Procedure export2xlsxGrid + Lparameters toGrid, tcNumeFisier, tcWhere, tcOrder + + If Type('toGrid') # 'O' + Return + Endif + + Local lcColumnList, lcHeaderList, lcSelect, llSelect, lcFrom, lcWhere, lcOrder, lcOutput, lcFisier + lcFisier = '' + + lcFrom = toGrid.RecordSource + lcWhere = Iif(!Empty(tcWhere) And Type('tcWhere') = 'C', tcWhere, Filter(lcFrom)) + lcOrder = Iif(Empty(tcOrder) Or Type('tcOrder') # 'C', "", tcOrder) + lcColumnList = '' + lcHeaderList = '' + lcSelect = '' + llSelect = .T. + lcType = 'CURSOR' + + lcOutput = Sys(2015) + + get_schema_grid(toGrid,@lcColumnList, @lcHeaderList, @lcSelect, m.llSelect, m.lcType, m.lcFrom, m.lcWhere, m.lcOrder, m.lcOutput) + &lcSelect + + If Used(m.lcOutput) + lcFisier = This.export2xlsx(m.lcOutput, m.tcNumeFisier) + Use In (m.lcOutput) + Endif + RETURN m.lcFisier + Endproc && export2xlsxGrid + + ************************************** INCEPUT : exportMultiTable2Xlsx + Procedure exportMultiTable2Xlsx + Lparameters tcTableList, tcFileName + + Local loExcel As "VFPxWorkbookXLSX" OF "VFPxWorkbookXLSX.vcx" + Local lcCursorTempXls, lcFisier, lcTable, llFreeze, llOpen, llSave, lnTable, lnTables + + This.setCursorCurent() + lcCursorTempXls = [crsxprtxls] + + If Empty(tcFileName) + tcFileName = 'Foaie_Excel' + Endif + + lcFisier = Putfile('Nume fisier:', m.tcFileName, 'xlsx') + If Empty(lcFisier) && Esc pressed + Return + Endif + llFreeze = .T. + llOpen = .T. + llSave = .T. + + loExcel = NEWOBJECT("VFPxWorkbookXLSX", "VFPxWorkbookXLSX.vcx") + lnTables = GETWORDCOUNT(m.tcTableList, ",") + FOR lnTable = 1 TO m.lnTables + lcTable = GETWORDNUM(m.tcTableList, m.lnTable, ",") + If USED(m.lcTable) + loExcel.SaveTableToWorkbook(m.lcTable, m.lcFisier, m.llFreeze, m.llSave) + ENDIF + * tcAlias, tnWB, tlFreeze, tlSaveWB, tcSheetName, tnSheet, tnBegRow, tnBegCol + ENDFOR + + This.open_default_app(m.lcFisier) + + This.repuneCursorCurent() + Endproc && export2xlsx2 + ************************************** SFARSIT : exportMultiTable2Xlsx + + ************************************** + * export xml cu extensia xls pentru a fi deschis de office + * poate exporta si grid + ************************************** + PROCEDURE Export2XmlXls + LPARAMETERS toGrid, tcFileName, tcSheetName, tlOpen + * toGrid (optional): referinta la grid sau numele unui cursor, default cursorul din zona curenta + * tcFileName (optional): numele fisierului + * tcSheetName (optional): numele sheet-ului, default 'Sheet 1' + * tlOpen (optional): se deschide xls dupa salvare, default .T. + + local loExcelXML, llOk, lcSelect + lcSelect = SELECT() + + lcFile = IIF(!EMPTY(m.tcFileName), m.tcFilename, SYS(2015) + '.xls') + lcFilePath = JUSTPATH(m.lcFile) + lcFileName = JUSTFNAME(m.lcFile) + IF EMPTY(m.lcFilePath) + lcFile = PUTFILE('XLS File', m.lcFileName, 'xls') + ENDIF + + + loExcelXML = CREATEOBJECT("ExcelXML") + loExcelXML.HasFilter = .t. + loExcelXML.LockHeader = .t. + loExcelXML.SheetName = IIF(!EMPTY(m.tcSheetName), m.tcSheetName, 'Sheet 1') + loExcelXML.OpenAfterSaving = IIF(PCOUNT()>=4, m.tlOpen, .T.) + + IF TYPE('toGrid') = 'O' + loExcelXML.GridObject = m.toGrid + ELSE + IF TYPE('toGrid') = 'C' AND USED(toGrid) + SELECT (m.toGrid) + ELSE + SELECT (m.lcSelect) + ENDIF + ENDIF + + llOk = loExcelXML.Save(m.lcFile) + SELECT (m.lcSelect) + RETURN m.llOk + ENDPROC && Export2XmlXls + + ************************************** INCEPUT : export2pdf + Procedure export2pdf + Lparameters tcAlias, tcRaport, tlPreview, tcCursorSalvare + Local llCaleModificata + llCaleModificata = .F. + This.setCursorCurent() + If This.verificaDate(tcAlias, 3, .T.) + *!* This.cUserRepPath = This.getUserRepPath() + *!* lcCaleRaport = This.cUserRepPath + [USR_] + Juststem(tcRaport) + [.FRX] + + lcCaleRaport = This.getRepPath(tcRaport) + + Local oL As pdflistener2 Of pdflistener.prg + oL = Newobject('pdflistener2', 'pdflistener.prg') + oL.enable_print = .T. + oL.enable_copy = .F. + *!* oL.user_passwd = Trim(Thisform.userpwd.Value) + Select (tcAlias) + If !Empty(This.cUserRepPath) + This.setCaleCurenta() + Set Path To (This.cUserRepPath) + llCaleModificata = .T. + Endif + + If tlPreview + Report Form (lcCaleRaport) Preview Object oL + Else + Report Form (lcCaleRaport) Object oL + Endif + If llCaleModificata + This.repuneCaleCurenta() + Endif + + If !Empty(tcCursorSalvare) + If Used(tcCursorSalvare) + Select (tcCursorSalvare) + Append Blank + Replace nume_frx With tcRaport, fisier With Filetostr(oL.pdfdoc) + Endif + Endif + If !tlPreview + Delete File(oL.pdfdoc) + Endif + Release oL + Endif + This.repuneCursorCurent() + Endproc && export2pdf + ************************************** SFARSIT : export2pdf + ************************************** INCEPUT : export2html + Procedure export2html + Lparameters tcTargetTables, tcNumeFisier, tcTableTitles, tlJustTables + *** tcTargetTables : lista cu tabelul/tabelele pentru export + *** tcNumeFisier: (optional) numele fisierului cu extensie (default "foaie_excel.xls") + *** tcTableTitles : (optional) titlurile tabelelor (default = tcTargetTables) + *** tlJustTables : (optional) doar codul pentru tabele, fara alte tag-uri + *** RETURN: creeaza un html cu extensia din tcNumeFisier si il deschide cu aplicatia implicita sau intoarce codul html pentru tabele in functie de tlJustTables + + Local lcOldError, lcTable, lcTextMergeFile, lcTextMergeFileFull, lcXLSName, lnField, lnTable + Local lnTables, lcTargetTables, lcXLS, lcTableTitles, llJustTables + Local lcExtensie, lcNumeFisier, lcReportTitle, lcTableTitle + lcXLS = "" + lcTargetTables = m.tcTargetTables + llJustTables = m.tlJustTables + + lcTableTitles = Iif(!Empty(m.tcTableTitles), m.tcTableTitles, m.lcTargetTables) + + lcNumeFisier = Iif(!Empty(m.tcNumeFisier), Lower(tcNumeFisier), "foaie_excel") + lcExtensie = Justext(tcNumeFisier) + lcExtensie = Iif(Empty(m.lcExtensie), 'html', m.lcExtensie) + + lcReportTitle = Strtran(Juststem(lcNumeFisier), "_", " ") && titlul raportului = numele fisierului + + lcTextMergeFileFull = Putfile('Nume fisier:', m.lcNumeFisier, m.lcExtensie) + If Empty(m.lcTextMergeFileFull) + Return + Endif + + This.setCursorCurent() + + Set Console Off + Set Textmerge On To Memvar lcXLS Noshow + + lnTables = Getwordcount(m.lcTargetTables, [,]) + + If !m.llJustTables +\ +\ +\ +\ +\ +\x +\ +\ +\ + Endif && llJustTables + + *** TITLU RAPORT + If !m.llJustTables + \

    <>

    + Endif + + For lnTable = 1 To m.lnTables + lcTable = Getwordnum(m.lcTargetTables, m.lnTable, [,]) + + lcTableTitle = Getwordnum(m.lcTableTitles, m.lnTable, [,]) + If Empty(m.lcTableTitle) + lcTableTitle = m.lcTable + Endif + + If !Used(m.lcTable) + Loop + Endif + Select (m.lcTable) + + *** TITLU TABEL + If !m.llJustTables + \

    <>

    + Endif + + *** TABEL +\ + *** CAP TABEL +\ + For lnField = 1 To Afields(laFields) &&headers + \ + Endfor +\ + *** DATE TABEL + Scan +\ + For lnField = 1 To Afields(laFields) + + Do Case &&Add Formats + Case (laFields(m.lnField, 2) = [N] Or laFields(m.lnField, 2) = [I] Or ; + laFields(m.lnField, 2) = [B]) And laFields(m.lnField, 3) <= 3&&Number/Decimal + \ + + Endfor +\ + Endscan +\
    <>
    >> + + Case (laFields(m.lnField, 2) = [N] Or laFields(m.lnField, 2) = [I] Or ; + laFields(m.lnField, 2) = [B]) And laFields(m.lnField, 3) > 3&&Commas/Decimal + \>> + + Case laFields(m.lnField, 2) = [D] Or laFields(m.lnField, 2) = [T]&&Date + \ + + Case laFields(m.lnField, 2) = [Y] &&Currency (US) + \ + + Otherwise &&Character + \ + + Endcase + &&STRTRAN allows html tags to work + \\<>
    + Endfor && lnTables + + If !m.llJustTables +\ + Endif + + Set Textmerge Off + Set Textmerge To + Set Console On + + If !m.llJustTables + Strtofile(m.lcXLS, m.lcTextMergeFileFull) + OPEN_DEFAULT_APP(m.lcTextMergeFileFull) + Else + Return m.lcXLS + Endif + Endproc && export2html + ************************************** SFARSIT : export2html + + ************************************** INCEPUT : listareUserReport + Procedure listareUserReport + Lparameters tcAlias, tcTipExport, tcRaport, tnVizualizare, tcSetare, tcFiltru + ** FRX >> + ** * tnVizualizare + ** 1 - cu vizualizare + ** 2 - listare directa + ** * tcSetare = numele setarii care va fi citita din registri + ** (valoarea ei reprezinta numele imprimantei pe care se va face listarea ) + ** XLS >> + ** * tnVizualizare + ** 1 - cursor + ** 2 - selectie din cursor dupa coloanele din tcSetare + ** * tcSetare = lista coloane selectie din tcAlias + Local lcTipExport, lnVizualizare + + If Type('tcTipExport') = 'C' + lcTipExport = Upper(Alltrim(tcTipExport)) + Else + amessagebox("Nu a fost configurat tipul exportului! (VFPEXP-001)", 16, "Eroare") + Return + Endif + If Empty(tcAlias) + amessagebox("Nu au fost configurate datele! (VFPEXP-002)", 16, "Eroare") + Return + Endif + If !Used(tcAlias) + amessagebox("Nu exista datele! (VFPEXP-003)", 16, "Eroare") + Return + Endif + If Empty(tnVizualizare) + lnVizualizare = 1 + Else + lnVizualizare = tnVizualizare + Endif + If Reccount(tcAlias) = 0 + amessagebox("Nu exista inregistrari pentru " + Iif(lcTipExport = [FRX], "listare", "export") + " !", 0 + 48, "Atentie") + Return + Endif + This.cCursorCurent = Select() + Do Case + Case lcTipExport = 'FRX' + This.export_frx(m.tcAlias, m.tcRaport, m.lnVizualizare, m.tcSetare) + Case lcTipExport = 'XLS' + This.export_xls(tcAlias, tcRaport, lnVizualizare, tcSetare, tcFiltru) + Endcase + Select (This.cCursorCurent) + Endproc + ************************************** SFARSIT : listareUserReport + ************************************** INCEPUT : export_frx + Procedure export_frx + Lparameters tcAlias, tcRaport, tnVizualizare, tcSetare + + Local lcImprimanta, lcImprimantaTemp, lcCaleRaport, llDataOraLocal + Local llDeleteRaport, lcRaportPath + Private gcLogoPath + gcLogoPath = '' + llDeleteRaport = .F. + llDeleteLogo = .F. + llDataOraLocal = .F. + lcRaportPath = '' + + If Type('pcDataOra') = 'U' + Private pcDataOra + pcDataOra = get_ora(2) + llDataOraLocal = .T. + Endif + + Aprinters(This.aImprimante) + If !Empty(tcSetare) And Alen(This.aImprimante, 1) > 0 + *!* verificare ca imprimanta este instalata pe calculatorul respectiv + *!* modificare ROARESTAURANT v 1.0.0 + *!* lcImprimanta = This.citesteSetareRegistru(tcSetare) + lcImprimanta = This.citesteSetare(tcSetare) + *!* modificare ROARESTAURANT v 1.0.0 ^ + If Ascan(This.aImprimante, lcImprimanta, 1, Alen(This.aImprimante, 1), 1, 15) = 0 + lcImprimanta = [] + *!* modificare ROARESTAURANT v 1.0.0 ^ + *!* This.modificaSetareRegistru(tcSetare,lcImprimanta) + This.modificaSetare(tcSetare, lcImprimanta) + *!* modificare ROARESTAURANT v 1.0.0 ^ + Endif + Endif + + *** Logo + lcLogoPath = This.cUserRepPath + 'logo.jpg' + If !File(lcLogoPath) + lcLogoPath = '' + Endif + *** Logo ^ + + lcCaleRaport = This.cUserRepPath + [USR_] + Juststem(tcRaport) + [.FRX] + *** Logo + gcLogoPath = Addbs(Justpath(m.lcCaleRaport)) + 'logo.jpg' + gcLogoPath = Fullpath(m.gcLogoPath) && directorul ROA (pentru rapoartele din executoabil) sau USERREPORTS (pentru rapoartele din USERREPORTS) + If !File(m.gcLogoPath) + If Type('gcDirMare') = 'C' + gcLogoPath = Addbs(m.gcDirMare) + 'logo.jpg' && directorul ROA + Else + gcLogoPath = Addbs(Left(m.gcAppPath, Rat("\", m.gcAppPath, 2) - 1)) + 'logo.jpg' + Endif + If !File(m.gcLogoPath) + gcLogoPath = Addbs(Justpath(m.gcLogoPath)) + 'USERREPORTS\logo.jpg' && directorul USERREPORTS + Endif + If !File(m.gcLogoPath) + gcLogoPath = '' + Endif + Endif + *** Logo ^ + + If !Empty(m.tcAlias) And Used(m.tcAlias) + Select (tcAlias) + Endif + + lnRaspuns = 6 + Do While m.lnRaspuns = 6 + Try + *!* If !Empty(toListener) + *!* Report Form (lcRaportPath) Object toListener + *!* Else + If tnVizualizare = 1 + Keyboard "{ctrl+f10}" + Report Form (m.lcCaleRaport) To Printer Prompt Preview + Else + If !Empty(lcImprimanta) + lcImprimantaTemp = Sys(6) + Set Printer To Name (lcImprimanta) + Report Form (lcCaleRaport) To Printer + If !Empty(Nvl(lcImprimantaTemp, [])) + Set Printer To Name (lcImprimantaTemp) + Else + Set Printer To + Endif + Else + Report Form (m.lcCaleRaport) To Printer Prompt + Endif + *!* Endif + Endif + lnRaspuns = 7 + Catch To oEroare + If oEroare.Message = 'Error loading driver error.' + lnRaspuns = amessagebox("Eroare la driverul imprimantei.Doriti sa reincercati listarea?", 4 + 32 + 256, "Confirmare relistare") + Else + amessagebox(oEroare.Message, 16, "Eroare") + lnRaspuns = 7 + Endif + Endtry + Enddo + + If m.llDeleteRaport And File(m.lcRaportPath) + Delete File Forceext(m.lcRaportPath, '*') + Endif + + + If m.llDataOraLocal + Release pcDataOra + Endif + Endproc && export_frx + ************************************** SFARSIT : export_frx + ************************************** INCEPUT : export_xls + Procedure export_xls + Lparameters tcAlias, tcNumeFisier, tnVizualizare, tcListaColoane, tcFiltru + Local lcDir, lcFisier, lcCursorTempXls, lcSelectie + lcCursorTempXls = [crsxprtxls] + + If Empty(tcNumeFisier) + tcNumeFisier = 'Foaie_Excel' + Endif + + If Used(tcAlias) + lcDir = Addbs(This.cTempPath) + + lcFisier = Putfile('Nume fisier:', tcNumeFisier, 'XLS') + If Empty(lcFisier) && Esc pressed + Return + Endif + + If tnVizualizare = 1 + Select (tcAlias) + Export To (lcFisier) Type Xl5 + Else + If Used(lcCursorTempXls) + Use In (lcCursorTempXls) + Endif + + lcSelectie = [SELECT ] + tcListaColoane + [ FROM ] + tcAlias + ; + Iif(!Empty(tcFiltru), [ WHERE ] + tcFiltru, []) + [ INTO CURSOR ] + lcCursorTempXls + &lcSelectie + Select (lcCursorTempXls) + Export To (lcFisier) Type Xl5 + Use In (lcCursorTempXls) + Endif + This.OPEN_DEFAULT_APP(lcFisier) + + Endif + Endproc && export_xls + ************************************** SFARSIT : export_xls + + * Intoarce un obiect oInfo.cFile, lOk, cMesaj + PROCEDURE export2xml_efactura + LPARAMETERS toDateFactura, tcCursorLiniiFactura, tlSilentios + * toDateFactura = obiect cu datele din capul de factura + * tcCursorLiniiFactura = numele cursorului cu liniile facturii, asa cum arata la listare + * tlSilentios .T. + LOCAL lcFile, loInfo + loInfo = getXmlEFactura(toDateFactura, tcCursorLiniiFactura, tlSilentios) && IN xmlEFactura.prg + RETURN loInfo + ENDPROC && export2xml_efactura +Enddefine + + +*!* Foxy Previewer mod simplificat FoxyPreviewer.app. Rapoartele trebuie sa existe fizic pe disc +Procedure FoxyPreview + Lparameters tcRaport, toPreviewerConfig && tcDestinationFile, tlDontOpenFile + + *** + Local loException As Exception + Local lcVersionFoxyPreview, lcWebsiteFoxyPreview, llDirectPrint + Local lRetVal, laProps[1], lcExtension, lcExtension2, lcFile, lcProperty, lnProperty, loDestinatie, loSursa, lcOldReportBehaviour + + lcVersionFoxyPreview = "v2.99z30-20130913" + lcWebsiteFoxyPreview = "http://foxypreviewer.codeplex.com/releases/view/49471" + *** + + Local lcRaport, lcFoxyPath, lcComunPath + Local llOpenDestinationFile, llPDFasImage, lcDestinationFile, lcExtension, lcObjType, lcPreview + + llOpenDestinationFile = .T. + llDirectPrint = .F. && trimite direct la imprimanta, fara preview + + If Type('toPreviewerConfig') <> 'O' + toPreviewerConfig = Createobject("PreviewerConfig") + Endif + + llOpenDestinationFile = Iif(Type('toPreviewerConfig.lOpenViewer') <> 'U', Nvl(toPreviewerConfig.lOpenViewer, .T.), .T.) + llDirectPrint = Iif(Type('toPreviewerConfig.lDirectPrint') <> 'U', Nvl(toPreviewerConfig.lDirectPrint, .F.), .F.) + lcDestinationFile = Iif(Type('toPreviewerConfig.cDestFile') <> 'U', Nvl(toPreviewerConfig.cDestFile, ''), '') + llPDFasImage = Iif(Type('toPreviewerConfig.lPDFasImage') <> 'U', Nvl(toPreviewerConfig.lPDFasImage, .F.), .F.) + + lcRaport = Forceext(tcRaport, 'frx') + + *goLog.Log('lcRaport ' + m.lcRaport, 'FoxyPreviewerSimple') + *goLog.Log('gcReportPreviewerPath ' + m.gcReportPreviewerPath, 'FoxyPreviewerSimple') + + lcFoxyPath = Iif(Type('gcReportPreviewerPath') = 'C', Addbs(gcReportPreviewerPath) + "FoxyPreviewer.App", "FoxyPreviewer.App") + *goLog.Log('lcFoxyPath ' + m.lcFoxyPath, 'FoxyPreviewerSimple') + + If !File(lcFoxyPath) + *goLog.Log('!FILE(lcFoxyPath)', 'FoxyPreviewerSimple') + + lcComunPath = Left(Addbs(gcAppPath), Rat('\', Addbs(gcAppPath), 2)) + 'COMUNCONTAFIN\' + If !Directory(m.lcComunPath) + lcComunPath = Left(Addbs(gcAppPath), Rat('\', Addbs(gcAppPath), 2)) + 'COMUNROA\' + Endif + lcFoxyPath = lcComunPath + "FoxyPreviewer.App" + *goLog.Log('lcFoxyPath ' + m.lcFoxyPath, 'FoxyPreviewerSimple') + If !File(lcFoxyPath) + lcFoxyPath = Addbs(Getfile("app", "FoxyPreviewer.App", "Open", 0, "Alegeti locatia " + m.lcFoxyPath)) + Endif + Endif + + If Empty(Nvl(lcFoxyPath, '')) + Report Form (m.tcRaport) To Printer Prompt Preview + Return + Endif + + If Type('_Screen.oFoxyPreviewer') <> 'O' + *goLog.Log([TYPE('_Screen.oFoxyPreviewer') <> 'O' ] + m.lcFoxyPath, 'FoxyPreviewerSimple') + Do (m.lcFoxyPath) + Else + If Isnull(_Screen.oFoxyPreviewer) + *goLog.Log([ISNULL(_Screen.oFoxyPreviewer) ] + m.lcFoxyPath, 'FoxyPreviewerSimple') + Do (m.lcFoxyPath) + Endif + Endif + + ********************************************** + * Optional available parameters + ********************************************** + If Type('_Screen.oFoxyPreviewer') = 'O' And Type('toPreviewerConfig') = 'O' And !Isnull(_Screen.oFoxyPreviewer) And !Isnull(toPreviewerConfig) + loSursa = m.toPreviewerConfig + loDestinatie = _Screen.oFoxyPreviewer + lRetVal = .T. + + = Amembers(laProps, m.loDestinatie) + + For m.lnProperty = 1 To Alen(laProps, 1) + lcProperty = laProps[m.lnProperty] + If Pemstatus(m.loSursa, m.lcProperty, 5) + Try + loDestinatie.&lcProperty = loSursa.&lcProperty + Catch To loException + If loException.ErrorNo = 1743 && property is read-only + * nu face nimic + Endif + Endtry + Endif && pemstatus + Endfor && lnProperty + Endif && type + + *!* modificare MA 03.12.2013 + If Type('_Screen.oFoxyPreviewer') = 'O' + ********************************* + * Agenda email + ********************************* + If Used('cparteneriemail') + _Screen.oFoxyPreviewer.cAdressTable = "cparteneriemail" + _Screen.oFoxyPreviewer.cAdressSearch = "denumire" + Endif + + * Limba + If Pemstatus(_Screen.oFoxyPreviewer, 'cLanguage', 5) + If Type('gcLocale') = 'C' + _Screen.oFoxyPreviewer.cLanguage = Upper(gcLocale) + Else + _Screen.oFoxyPreviewer.cLanguage = [ROMANA] + Endif + Endif + Endif + *!* modificare MA 03.12.2013 ^ + + If Empty(Justpath(m.lcRaport)) && raporte in executabil - trebuie create pe disc + + * Retrieve the FRX and FRT files from the EXE + lcFile = Addbs(Getenv("TEMP")) + 'tmp_fp_' + Juststem(m.lcRaport) + '_' + Sys(2) + "." + poLog.Log('lcFile ' + m.lcFile, Program()) + poLog.Log('lcRaport ' + m.lcRaport, Program()) + If Empty(Sys(2000, m.lcRaport)) + poLog.Log('Empty SYS(2000, lcRaport)', Program()) + Strtofile(Filetostr(Forceext(lcRaport, "FRX")), lcFile + "frx") + poLog.Log('Forceext(lcRaport,"FRX") ' + Forceext(lcRaport, "FRX") + ' lcFile + frx: ' + m.lcFile + "frx", Program()) + + Strtofile(Filetostr(Forceext(lcRaport, "FRT")), lcFile + "frt") + poLog.Log('Forceext(lcRaport,"FRT") ' + Forceext(lcRaport, "FRT") + ' lcFile + frt: ' + m.lcFile + "frt", Program()) + + lcFile = lcFile + "frx" + Else + lcFile = m.lcRaport + Endif + Else + lcFile = m.lcRaport + Endif + + *goLog.Log([lcFile ] + m.lcFile, 'FoxyPreviewerSimple') + + lcOldReportBehaviour = Set("ReportBehavior") + IF TYPE('gnReportBehaviour') = 'N' + SET REPORTBEHAVIOR (m.gnReportBehaviour) + ELSE + Set REPORTBEHAVIOR 90 + ENDIF + If !Empty(m.lcDestinationFile) + && OBJTYPE 10 = PDF , 11 = PDF AS IMAGE , 12 = RTF , 13 = XLS , 14 = HTML + lcExtension = Upper(Justext(m.lcDestinationFile)) + lcObjType = Iif(m.lcExtension = 'PDF' And m.llPDFasImage, '11', Iif(m.lcExtension = 'PDF', '10', Iif(m.lcExtension = 'RTF', '12', Iif(m.lcExtension = 'XLS', '13', '14')))) + lcPreview = Iif(m.llOpenDestinationFile, 'PREVIEW', '') + Report Form (m.lcFile) Object Type &lcObjType To File (m.lcDestinationFile) &lcPreview + ELSE + lcPreview = IIF(m.llDirectPrint, 'TO PRINTER', 'PREVIEW') + Report Form (m.lcFile) &lcPreview + Endif + Set REPORTBEHAVIOR &lcOldReportBehaviour + + *** DELETE TEMP FILES + If Left(Justfname(m.lcFile), 7) = "tmp_fp_" && We have a temp ??X, ??T files to delete + Try + Delete File (m.lcFile) + lcExtension = Justext(m.lcFile) + lcExtension2 = Stuff(m.lcExtension, Len(m.lcExtension), 1, [T]) + Delete File Forceext(m.lcFile, m.lcExtension2) + Catch + Endtry + Endif + +Endproc && FoxyPreviewSimple + +*!* Previewer rapoarte - foloseste gcReportPreviewerPath / gcAppPath pentru localizarea FoxyPreviewer.App +Procedure FoxyPreviewOld + Lparameters tcRaport, toPreviewerConfig && tcDestinationFile, tlDontOpenFile + + *** + Local lcVersionFoxyPreview, lcWebsiteFoxyPreview + lcVersionFoxyPreview = "2.41a" + lcWebsiteFoxyPreview = "http://foxypreviewer.codeplex.com/releases/view/49471" + *** + + Local lcRaport, lcFoxyPath, lcComunPath + Local llOpenDestinationFile + llOpenDestinationFile = .T. + + If Type('toPreviewerConfig') <> 'O' + toPreviewerConfig = Createobject("PreviewerConfig") + Endif + + lcRaport = Forceext(tcRaport, 'frx') + lcFoxyPath = Iif(Type('gcReportPreviewerPath') = 'C', Addbs(gcReportPreviewerPath) + "FoxyPreviewer.App", "FoxyPreviewer.App") + If !File(lcFoxyPath) + lcComunPath = Left(Addbs(gcAppPath), Rat('\', Addbs(gcAppPath), 2)) + 'COMUNCONTAFIN\' + If !Directory(m.lcComunPath) + lcComunPath = Left(Addbs(gcAppPath), Rat('\', Addbs(gcAppPath), 2)) + 'COMUNROA\' + Endif + lcFoxyPath = lcComunPath + "FoxyPreviewer.App" + If !File(lcFoxyPath) + lcFoxyPath = Addbs(Getfile("app", "FoxyPreviewer.App", "Open", 0, "Alegeti locatia " + m.lcFoxyPath)) + Endif + Endif + + If Empty(Nvl(lcFoxyPath, '')) + Report Form (m.tcRaport) To Printer Prompt Preview + Return + Endif + + If !'FOXYPREVIEWER' $ Upper(Set("Procedure")) + Set Procedure To (lcFoxyPath) Additive + Endif + + + If Empty(Justpath(m.lcRaport)) && raporte in executabil - trebuie create pe disc + Local loReport As "FoxyPreviewerCaller" && Of "FoxyPreviewerCaller.Prg" + loReport = Createobject("FoxyPreviewerCaller") + Else && rapoarte pe disc + Local loReport As "PreviewHelper" Of "FoxyPreviewer.App" + loReport = Createobject("PreviewHelper") + Endif + + If Type('loReport') <> 'O' + Report Form (m.tcRaport) To Printer Prompt Preview + Return + Endif + + With loReport As ReportHelper + .AddReport(m.lcRaport, toPreviewerConfig.GetValue("cClauses")) + + ********************************************** + * Optional available parameters + ********************************************** + Try + If Not Isnull(toPreviewerConfig.GetValue("cTitle")) + .cTitle = toPreviewerConfig.GetValue("cTitle") + Endif + + If Not Isnull(toPreviewerConfig.GetValue("lSendToEmail")) + .lSendToEmail = toPreviewerConfig.GetValue("lSendToEmail") + Endif + + If Not Isnull(toPreviewerConfig.GetValue("lSaveToFile")) + .lSaveToFile = toPreviewerConfig.GetValue("lSaveToFile") + Endif + + If Not Isnull(toPreviewerConfig.GetValue("lShowCopies")) + .lShowCopies = toPreviewerConfig.GetValue("lShowCopies") + Endif + + If Not Isnull(toPreviewerConfig.GetValue("lShowMiniatures")) + .lShowMiniatures = toPreviewerConfig.GetValue("lShowMiniatures") + Endif + + If Not Isnull(toPreviewerConfig.GetValue("lShowSetup")) + .lShowSetup = toPreviewerConfig.GetValue("lShowSetup") + Endif + + If Not Isnull(toPreviewerConfig.GetValue("lShowSearch")) + .lShowSearch = toPreviewerConfig.GetValue("lShowSearch") + Endif + + If Not Isnull(toPreviewerConfig.GetValue("lPrintVisible")) + .lPrintVisible = toPreviewerConfig.GetValue("lPrintVisible") + Endif + + If Not Isnull(toPreviewerConfig.GetValue("lPrinterPref")) + .lPrinterPref = toPreviewerConfig.GetValue("lPrinterPref") + Endif + + If Not Isnull(toPreviewerConfig.GetValue("nCopies")) + .nCopies = toPreviewerConfig.GetValue("nCopies") + Endif + + If Not Isnull(toPreviewerConfig.GetValue("lPrintVisible")) + .lPrintVisible = toPreviewerConfig.GetValue("lPrintVisible") + Endif + + If Not Isnull(toPreviewerConfig.GetValue("cDefaultListener")) + .cDefaultListener = toPreviewerConfig.GetValue("cDefaultListener") + Endif + + If Not Isnull(toPreviewerConfig.GetValue("cSuccessor")) + .cSuccessor = toPreviewerConfig.GetValue("cSuccessor") + Endif + + If Not Isnull(toPreviewerConfig.GetValue("lUseListener")) + .lUseListener = toPreviewerConfig.GetValue("lUseListener") + Endif + + If Not Isnull(toPreviewerConfig.GetValue("nCanvasCount")) + .nCanvasCount = toPreviewerConfig.GetValue("nCanvasCount") + Endif + + If Not Isnull(toPreviewerConfig.GetValue("nZoomLevel")) + .nZoomLevel = toPreviewerConfig.GetValue("nZoomLevel ") + Endif + + If Not Isnull(toPreviewerConfig.GetValue("oListener")) + .oListener = toPreviewerConfig.GetValue("oListener") + Endif + + If Not Isnull(toPreviewerConfig.GetValue("cPrinterName")) + .cPrinterName = toPreviewerConfig.GetValue("cPrinterName") + Endif + + If Not Isnull(toPreviewerConfig.GetValue("lSaveAsImage")) + .lSaveAsImage = toPreviewerConfig.GetValue("lSaveAsImage") + Endif + + If Not Isnull(toPreviewerConfig.GetValue("lSaveAsHTML")) + .lSaveAsHTML = toPreviewerConfig.GetValue("lSaveAsHTML") + Endif + + If Not Isnull(toPreviewerConfig.GetValue("lSaveAsRTF")) + .lSaveAsRTF = toPreviewerConfig.GetValue("lSaveAsRTF") + Endif + + If Not Isnull(toPreviewerConfig.GetValue("lSaveAsXLS")) + .lSaveAsXLS = toPreviewerConfig.GetValue("lSaveAsXLS") + Endif + + If Not Isnull(toPreviewerConfig.GetValue("lSaveAsPDF")) + .lSaveAsPDF = toPreviewerConfig.GetValue("lSaveAsPDF") + Endif + + If Not Isnull(toPreviewerConfig.GetValue("nWindowState")) + .nWindowState = toPreviewerConfig.GetValue("nWindowState") + Endif + + If Not Isnull(toPreviewerConfig.GetValue("nDockType")) + .nDockType = toPreviewerConfig.GetValue("nDockType") + Endif + + If Not Isnull(toPreviewerConfig.GetValue("nMaxMiniatureDisplay")) + .nMaxMiniatureDisplay = toPreviewerConfig.GetValue("nMaxMiniatureDisplay") + Endif + + If Not Isnull(toPreviewerConfig.GetValue("nPDFPageMode")) + .nPDFPageMode = toPreviewerConfig.GetValue("nPDFPageMode") + Endif + + If Not Isnull(toPreviewerConfig.GetValue("nShowToolBar")) + .nShowToolBar = toPreviewerConfig.GetValue("nShowToolBar") + Endif + + If Not Isnull(toPreviewerConfig.GetValue("lShowPrinters")) + .lShowPrinters = toPreviewerConfig.GetValue("lShowPrinters") + Endif + + If Not Isnull(toPreviewerConfig.GetValue("cFormIcon")) + .cFormIcon = toPreviewerConfig.GetValue("cFormIcon") + Endif + + If Not Isnull(toPreviewerConfig.GetValue("cLanguage")) + .cLanguage = toPreviewerConfig.GetValue("cLanguage") + Endif + + If Not Isnull(toPreviewerConfig.GetValue("lEmailAuto")) + .lEmailAuto = toPreviewerConfig.GetValue("lEmailAuto") + Endif + + If Not Isnull(toPreviewerConfig.GetValue("cEmailType")) + .cEmailType = toPreviewerConfig.GetValue("cEmailType") + Endif + + If Not Isnull(toPreviewerConfig.GetValue("cEmailPRG")) + .cEmailPRG = toPreviewerConfig.GetValue("cEmailPRG") + Endif + + If Not Isnull(toPreviewerConfig.GetValue("lEmailed")) + .lEmailed = toPreviewerConfig.GetValue("lEmailed") + Endif + + *!* 2010-09-17 - Jacques Parent - Add the cSaveDefName + If Not Isnull(toPreviewerConfig.GetValue("cSaveDefName")) + .cSaveDefName = toPreviewerConfig.GetValue("cSaveDefName") + Endif + + *!* IF NOT ISNULL(toPreviewerConfig.GetValue("cCodePage") + *!* .cCodePage = toPreviewerConfig.GetValue("cCodePage + *!* ENDIF + + If Not Isnull(toPreviewerConfig.GetValue("nEmailMode")) + .nEmailMode = toPreviewerConfig.GetValue("nEmailMode") + Endif + + If Not Isnull(toPreviewerConfig.GetValue("cSMTPServer")) + .cSMTPServer = toPreviewerConfig.GetValue("cSMTPServer") + Endif + + If Not Isnull(toPreviewerConfig.GetValue("nSMTPPort")) + .nSMTPPort = toPreviewerConfig.GetValue("nSMTPPort") + Endif + + If Not Isnull(toPreviewerConfig.GetValue("lSMTPUseSSL")) + .lSMTPUseSSL = toPreviewerConfig.GetValue("lSMTPUseSSL") + Endif + + If Not Isnull(toPreviewerConfig.GetValue("cSMTPUserName")) + .cSMTPUserName = toPreviewerConfig.GetValue("cSMTPUserName") + Endif + + If Not Isnull(toPreviewerConfig.GetValue("cSMTPPassword")) + .cSMTPPassword = toPreviewerConfig.GetValue("cSMTPPassword") + Endif + + If Not Isnull(toPreviewerConfig.GetValue("cEmailTo")) + .cEmailTo = toPreviewerConfig.GetValue("cEmailTo") + Endif + + If Not Isnull(toPreviewerConfig.GetValue("cEmailSubject")) + .cEmailSubject = toPreviewerConfig.GetValue("cEmailSubject") + Endif + + If Not Isnull(toPreviewerConfig.GetValue("cEmailBody")) + .cEmailBody = toPreviewerConfig.GetValue("cEmailBody") + Endif + + If Not Isnull(toPreviewerConfig.GetValue("cEmailFrom")) + .cEmailFrom = toPreviewerConfig.GetValue("cEmailFrom") + Endif + + If Not Isnull(toPreviewerConfig.GetValue("nButtonSize")) + .nButtonSize = toPreviewerConfig.GetValue("nButtonSize") + Endif + + If Not Isnull(toPreviewerConfig.GetValue("cDestFile")) + .cDestFile = toPreviewerConfig.GetValue("cDestFile") + Endif + + If Not Isnull(toPreviewerConfig.GetValue("cEmailCC")) + .cEmailCC = toPreviewerConfig.GetValue("cEmailCC") + Endif + + If Not Isnull(toPreviewerConfig.GetValue("cEmailBCC")) + .cEmailBCC = toPreviewerConfig.GetValue("cEmailBCC") + Endif + + If Not Isnull(toPreviewerConfig.GetValue("cEmailReplyTo")) + .cEmailReplyTo = toPreviewerConfig.GetValue("cEmailReplyTo") + Endif + + .lAutoSendMail = !Isnull(toPreviewerConfig.GetValue("cDestFile")) And toPreviewerConfig.GetValue("lAutoSendMail") + *!* *!* proprietatea exista in versiunea 2.01c + *!* If Type('lAutoSendMail') <> 'U' And Type('loReport.lAutoSendMail') <> 'U' And Not Isnull(This.lAutoSendMail) + *!* .lAutoSendMail = NOT ISNULL(This.cDestFile) AND This.lAutoSendMail + *!* ._lSendingEmail = .lAutoSendMail + *!* ENDIF + + If Not Isnull(toPreviewerConfig.GetValue("lSilent")) + .lSilent = toPreviewerConfig.GetValue("lSilent") + Endif + + If Not Isnull(toPreviewerConfig.GetValue("lDirectPrint")) And toPreviewerConfig.GetValue("lDirectPrint") + .lDirectPrint = .T. + Endif + + If Not Isnull(toPreviewerConfig.GetValue("lSaveAsTXT")) + .lSaveAsTXT = toPreviewerConfig.GetValue("lSaveAsTXT") + Endif + + If Not Isnull(toPreviewerConfig.GetValue("cOutputPath")) + .cOutputPath = toPreviewerConfig.GetValue("cOutputPath") + Endif + + If Not Isnull(toPreviewerConfig.GetValue("nPrinterProptype")) + .nPrinterProptype = toPreviewerConfig.GetValue("nPrinterProptype") + Endif + + If Not Isnull(toPreviewerConfig.GetValue("nThermType")) + .nThermType = toPreviewerConfig.GetValue("nThermType") + Endif + + If Not Isnull(toPreviewerConfig.GetValue("nSearchPages")) + .nSearchPages = toPreviewerConfig.GetValue("nSearchPages") + Endif + + If Not Isnull(toPreviewerConfig.GetValue("cDecryptProcedure")) + .cDecryptProcedure = toPreviewerConfig.GetValue("cDecryptProcedure") + Endif + + If Not Isnull(toPreviewerConfig.GetValue("cEncryptProcedure")) + .cEncryptProcedure = toPreviewerConfig.GetValue("cEncryptProcedure") + Endif + + If Not Isnull(toPreviewerConfig.GetValue("cCryptKey")) + .cCryptKey = toPreviewerConfig.GetValue("cCryptKey") + Endif + + If Not Isnull(toPreviewerConfig.GetValue("lReadReceipt")) + .lReadReceipt = toPreviewerConfig.GetValue("lReadReceipt") + Endif + + If Not Isnull(toPreviewerConfig.GetValue("lPriority")) + .lPriority = toPreviewerConfig.GetValue("lPriority") + Endif + + If Not Isnull(toPreviewerConfig.GetValue("cEmailBodyFile")) + .cEmailBodyFile = toPreviewerConfig.GetValue("cEmailBodyFile") + Endif + + If Not Isnull(toPreviewerConfig.GetValue("lPDFEmbedFonts")) + .lPDFEmbedFonts = toPreviewerConfig.GetValue("lPDFEmbedFonts") + Endif + + If Not Isnull(toPreviewerConfig.GetValue("lPDFCanPrint")) + .lPDFCanPrint = toPreviewerConfig.GetValue("lPDFCanPrint") + Endif + + If Not Isnull(toPreviewerConfig.GetValue("lPDFCanEdit")) + .lPDFCanEdit = toPreviewerConfig.GetValue("lPDFCanEdit") + Endif + + If Not Isnull(toPreviewerConfig.GetValue("lPDFCanCopy")) + .lPDFCanCopy = toPreviewerConfig.GetValue("lPDFCanCopy") + Endif + + If Not Isnull(toPreviewerConfig.GetValue("lPDFCanAddNotes")) + .lPDFCanAddNotes = toPreviewerConfig.GetValue("lPDFCanAddNotes") + Endif + + If Not Isnull(toPreviewerConfig.GetValue("lPDFEncryptDocument")) + .lPDFEncryptDocument = toPreviewerConfig.GetValue("lPDFEncryptDocument") + Endif + + If Not Isnull(toPreviewerConfig.GetValue("cPDFMasterPassword")) + .cPDFMasterPassword = toPreviewerConfig.GetValue("cPDFMasterPassword") + Endif + + If Not Isnull(toPreviewerConfig.GetValue("cPDFUserPassword")) + .cPDFUserPassword = toPreviewerConfig.GetValue("cPDFUserPassword") + Endif + + If Not Isnull(toPreviewerConfig.GetValue("lOpenViewer")) + .lOpenViewer = toPreviewerConfig.GetValue("lOpenViewer") + Endif + + If Not Isnull(toPreviewerConfig.GetValue("cPdfAuthor")) + .cPdfAuthor = toPreviewerConfig.GetValue("cPdfAuthor") + Endif + + If Not Isnull(toPreviewerConfig.GetValue("cPdfTitle")) + .cPdfTitle = toPreviewerConfig.GetValue("cPdfTitle") + Endif + + If Not Isnull(toPreviewerConfig.GetValue("cPdfSubject")) + .cPdfSubject = toPreviewerConfig.GetValue("cPdfSubject") + Endif + + If Not Isnull(toPreviewerConfig.GetValue("cPdfKeyWords")) + .cPdfKeyWords = toPreviewerConfig.GetValue("cPdfKeyWords") + Endif + + If Not Isnull(toPreviewerConfig.GetValue("cPdfCreator")) + .cPdfCreator = toPreviewerConfig.GetValue("cPdfCreator") + Endif + + If Not Isnull(toPreviewerConfig.GetValue("lPDFShowErrors")) + .lPDFShowErrors = toPreviewerConfig.GetValue("lPDFShowErrors") + Endif + + If Not Isnull(toPreviewerConfig.GetValue("cPDFSymbolFontsList")) + .cPDFSymbolFontsList = toPreviewerConfig.GetValue("cPDFSymbolFontsList") + Endif + + If Not Isnull(toPreviewerConfig.GetValue("cAdressTable")) + .cAdressTable = toPreviewerConfig.GetValue("cAdressTable") + Endif + + If Not Isnull(toPreviewerConfig.GetValue("cAdressSearch")) + .cAdressSearch = toPreviewerConfig.GetValue("cAdressSearch") + Endif + + If Not Isnull(toPreviewerConfig.GetValue("cAttachments")) + .cAttachments = toPreviewerConfig.GetValue("cAttachments") + Endif + + If Not Isnull(toPreviewerConfig.GetValue("lShowClose")) + .lShowClose = toPreviewerConfig.GetValue("lShowClose") + Endif + + If Not Isnull(toPreviewerConfig.GetValue("cPDFDefaultFont")) + .cPDFDefaultFont = toPreviewerConfig.GetValue("cPDFDefaultFont") + Endif + *!* 31.05.2011 + If Not Isnull(toPreviewerConfig.GetValue("lOpenDestFile")) + .lOpenViewer = toPreviewerConfig.GetValue("lOpenDestFile") + Endif + *!* 31.05.2011 ^ + Catch To loEx + Endtry + ********************************************** + loReport.RunReport() + + *!* llOpenDestinationFile = toPreviewerConfig.GetValue("lOpenDestFile") && automatically open the destination file after save + + *!* If m.llOpenDestinationFile + *!* Do Case + *!* Case .lPrinted + *!* *!* Messagebox("Report was printed !",64, "Report status") + *!* Case loReport.lSaved + *!* Messagebox("Raportul a fost salvat ca fisier: " + Chr(13) + .cDestFile, 64, _Screen.Caption) + *!* =OPEN_DEFAULT_APP(.cDestFile) + + *!* *!* Otherwise + *!* *!* Messagebox("Report Preview was closed without saving or printing",48, "Report status") + + *!* Endcase + *!* Endif + + Endwith + +Endproc && FoxyPreview + + +*!* clasa pentru preview frx din executabil - le salveaza pe disc si apoi le previzualizeaza +Define Class FoxyPreviewerCaller As Custom + *** + cVersionFoxyPreview = "2.41a" + cWebsiteFoxyPreview = "http://foxypreviewer.codeplex.com/releases/view/49471" + *** + cPrinterName = Null && SET("Printer",3) + + lSaveToFile = Null && = .T. && adds the save to file button + lSendToEmail = Null && = .T. && adds the send to email button + lPrintVisible = Null && = .T. && shows the print button in the toolbar + lShowCopies = Null && = .T. && shows the copies spinner + lShowMiniatures = Null && = .T. && shows the miniatures page + lShowSetup = Null && = .T. && shows the setup configuration form + lPrinterPref = Null && = .T. && shows the printer preferences button + lShowSearch = Null + lShowClose = Null + + lClearPrinterInfo = .T. && NULL && = .T. && clears the EXPR, TAG, TAG2 fields of the FRX + + * Output types allowed in the "Save as.." button from the toolbar + lSaveAsImage = Null && = .T. + lSaveAsHTML = Null && = .T. + lSaveAsRTF = Null && = .T. + lSaveAsXLS = Null && = .T. + lSaveAsPDF = Null && = .T. + lSaveAsTXT = Null + cOutputPath = Null + + nPageTotal = Null && = 0 && Total pages of the current report + nCopies = Null && = 1 && The quantity of copies to be printed + cTitle = Null && = "" && The preview window title + oListener = Null + cDefaultListener = Null && = "FOXYLISTENER" + cSuccessor = Null + lUseListener = Null && = .T. + + nCanvasCount = Null && = 1 && initial nr of pages rendered on the preview form. + && Valid values are 1 (default), 2, or 4. + + nZoomLevel = Null && = 5 && initial zoom level of the preview window. Possible values are: + && 1-10%, 2-25%, 3-50%, 4-75%, 5-100% default, 6-150% ; + && 7-200%, 8-300%, 9-500%, 10-whole page + + lExtended = Null && = .T. && Flag that tells if the report is being run automatically + && using the _REPORTPERVIEW global variable + + nWindowState = Null && = 0 && Normal + nDockType = Null && = .F. + + cDestFile = Null && = "" && the destination file (image, htm, pdf, etc) + lPrinted = Null && = .F. && knows if the user printed the report + lSaved = Null && = .F. && knows if the user saved the report to a file + nVersion = Null + cVersion = Null + + + cFormIcon = Null && = "" && "wwrite.ico" + lEmailAuto = Null && = .T. + cEmailType = Null && = "PDF" + cEmailPRG = Null && = "" + + cSaveDefName = Null && "" *!* 2010-09-17 - Jacques Parent - Add the cSaveDefName + + lEmailed = Null && = .F. + cCodePage = Null && = "CP1252" && CodePage, to be used by PDF Listener + && No more need to leave this property, because this is set automatically + && left for backwards compatibility + + nMaxMiniatureDisplay = Null && = 64 && Number of miniature proof + nPDFPageMode = Null && = 0 + cLanguage = Null && = "" + nShowToolBar = Null && = 1 && Visible + lShowPrinters = Null && = .T. && determines if the available printers combo will be shown + + + lAutoSendMail = Null + + nEmailMode = Null && = 1 && 1 = MAPI, 2 = CDOSYS, 3 = Custom procedure + cSMTPServer = Null && = "" + nSMTPPort = Null && = 25 + lSMTPUseSSL = Null && = .F. + cSMTPUserName = Null && = "" + cSMTPPassword = Null && = "" + + cEmailTo = Null && = "" + cEmailSubject = Null && = "" + cEmailCC = Null + cEmailBCC = Null + cEmailBody = Null && = "" + cEmailFrom = Null && = "" + cEmailReplyTo = Null + cEmailBodyFile = Null + nButtonSize = Null && = 1 && 1=16x16 pixels (default), 2=32x32 pixels + lSilent = Null && Tell Foxypreviewer to stay silent and to write message to the cErrors property + cErrors = "" + lDirectPrint = .F. + nPrinterProptype = Null + nThermType = Null + nSearchPages = Null + + cEncryptProcedure = Null + cDecryptProcedure = Null + cCryptKey = Null + lReadReceipt = Null + lPriority = Null + + + * PDF properties + lPDFEmbedFonts = Null + lPDFCanPrint = Null + lPDFCanEdit = Null + lPDFCanCopy = Null + lPDFCanAddNotes = Null + lPDFEncryptDocument = Null + cPDFMasterPassword = Null + cPDFUserPassword = Null + lOpenViewer = Null + + cPdfAuthor = Null + cPdfTitle = Null + cPdfSubject = Null + cPdfKeyWords = Null + cPdfCreator = Null + lPDFShowErrors = Null + cPDFSymbolFontsList = Null + cPDFDefaultFont = Null + + cAdressTable = Null + cAdressSearch = Null + cAttachments = Null + + + * Internal use properties + _oReports = "" && Internal use, collection that contains the report names to be used + _oClauses = "" + _oAliases = "" + _oNames = "" + _oFoxy = "" + + Procedure Init + Endproc + + Procedure AddReport(tcReport, tcClauses) + * populates a collection object with the report files and clauses + * This method can be called many times, providing an easy way to merge reports. + + Local lcReport, lcTempDir, lcFile + lcTempDir = Addbs(Getenv("TEMP")) + + * Retrieve the FRX and FRT files from the EXE + + *!* 01.06.2011 + *!* lcFile = lcTempDir + "TMP_FP_" + Sys(2015) + "." + lcFile = lcTempDir + Juststem(tcReport) + '_' + Sys(2) + "." + *!* 01.06.2011 ^ + + If Empty(Sys(2000, tcReport)) + Strtofile(Filetostr(Forceext(tcReport, "FRX")), lcFile + "FRX") + Strtofile(Filetostr(Forceext(tcReport, "FRT")), lcFile + "FRT") + Else + lcFile = tcReport + Endif + + If Vartype(This._oReports) <> "O" + This._oReports = Createobject("Collection") + This._oClauses = Createobject("Collection") + Endif + This._oReports.Add(Forceext(lcFile, "FRX")) + This._oClauses.Add(Evl(tcClauses, "")) + Endproc + + + Procedure RunReport + Local lcFoxyPath, lcComunPath + + If !'FOXYPREVIEWER' $ Upper(Set("Procedure")) + lcFoxyPath = Iif(Type('gcReportPreviewerPath') = 'C', Addbs(gcReportPreviewerPath) + "FoxyPreviewer.App", "FoxyPreviewer.App") + If !File(lcFoxyPath) + lcComunPath = Left(Addbs(gcAppPath), Rat('\', Addbs(gcAppPath), 2)) + 'COMUNCONTAFIN\' + If !Directory(m.lcComunPath) + lcComunPath = Left(Addbs(gcAppPath), Rat('\', Addbs(gcAppPath), 2)) + 'COMUNROA\' + Endif + lcFoxyPath = lcComunPath + "FoxyPreviewer.App" + If !File(lcFoxyPath) + lcFoxyPath = Addbs(Getfile("app", "FoxyPreviewer.App", "Open", 0, "Alegeti locatia " + m.lcFoxyPath)) + Endif + Endif + If Empty(Nvl(m.lcFoxyPath, '')) + Report Form (m.tcRaport) To Printer Prompt Preview + Return + Endif + + Set Procedure To (m.lcFoxyPath) Additive + Endif + + Local loReport As "PreviewHelper" Of "FoxyPreviewer.App" + loReport = Createobject("PreviewHelper") + * TRY + With loReport + + Local N, lnCount + lnCount = This._oReports.Count + For N = 1 To lnCount + loReport.AddReport(This._oReports(N), This._oClauses(N)) + *!* LPARAMETERS tcreport, tcclauses, tcalias, tcname + + Endfor + + + If Not Isnull(This.cTitle) + .cTitle = This.cTitle + Endif + + If Not Isnull(This.lSendToEmail ) + .lSendToEmail = This.lSendToEmail + Endif + + If Not Isnull(This.lSaveToFile ) + .lSaveToFile = This.lSaveToFile + Endif + + If Not Isnull(This.lShowCopies ) + .lShowCopies = This.lShowCopies + Endif + + If Not Isnull(This.lShowMiniatures ) + .lShowMiniatures = This.lShowMiniatures + Endif + + If Not Isnull(This.lShowSetup) + .lShowSetup = This.lShowSetup + Endif + + If Not Isnull(This.lShowSearch) + .lShowSearch = This.lShowSearch + Endif + + If Not Isnull(This.lPrintVisible) + .lPrintVisible = This.lPrintVisible + Endif + + If Not Isnull(This.lPrinterPref) + .lPrinterPref = This.lPrinterPref + Endif + + If Not Isnull(This.nCopies) + .nCopies = This.nCopies + Endif + + If Not Isnull(This.lPrintVisible) + .lPrintVisible = This.lPrintVisible + Endif + + If Not Isnull(This.cDefaultListener) + .cDefaultListener = This.cDefaultListener + Endif + + If Not Isnull(This.cSuccessor) + .cSuccessor = This.cSuccessor + Endif + + If Not Isnull(This.lUseListener) + .lUseListener = This.lUseListener + Endif + + If Not Isnull(This.nCanvasCount) + .nCanvasCount = This.nCanvasCount + Endif + + If Not Isnull(This.nZoomLevel) + .nZoomLevel = This.nZoomLevel + Endif + + If Not Isnull(This.oListener) + .oListener = This.oListener + Endif + + If Not Isnull(This.cPrinterName) + .cPrinterName = This.cPrinterName + Endif + + If Not Isnull(This.lSaveAsImage) + .lSaveAsImage = This.lSaveAsImage + Endif + + If Not Isnull(This.lSaveAsHTML) + .lSaveAsHTML = This.lSaveAsHTML + Endif + + If Not Isnull(This.lSaveAsRTF) + .lSaveAsRTF = This.lSaveAsRTF + Endif + + If Not Isnull(This.lSaveAsXLS) + .lSaveAsXLS = This.lSaveAsXLS + Endif + + If Not Isnull(This.lSaveAsPDF) + .lSaveAsPDF = This.lSaveAsPDF + Endif + + If Not Isnull(This.nWindowState) + .nWindowState = This.nWindowState + Endif + + If Not Isnull(This.nDockType) + .nDockType = This.nDockType + Endif + + If Not Isnull(This.nMaxMiniatureDisplay) + .nMaxMiniatureDisplay = This.nMaxMiniatureDisplay + Endif + + If Not Isnull(This.nPDFPageMode) + .nPDFPageMode = This.nPDFPageMode + Endif + + If Not Isnull(This.nShowToolBar) + .nShowToolBar = This.nShowToolBar + Endif + + If Not Isnull(This.lShowPrinters) + .lShowPrinters = This.lShowPrinters + Endif + + If Not Isnull(This.cFormIcon) + .cFormIcon = This.cFormIcon + Endif + + If Not Isnull(This.cLanguage) + .cLanguage = This.cLanguage + Endif + + If Not Isnull(This.lEmailAuto) + .lEmailAuto = This.lEmailAuto + Endif + + If Not Isnull(This.cEmailType) + .cEmailType = This.cEmailType + Endif + + If Not Isnull(This.cEmailPRG) + .cEmailPRG = This.cEmailPRG + Endif + + If Not Isnull(This.lEmailed) + .lEmailed = This.lEmailed + Endif + + *!* 2010-09-17 - Jacques Parent - Add the cSaveDefName + If Not Isnull(This.cSaveDefName) + .cSaveDefName = This.cSaveDefName + Endif + + *!* IF NOT ISNULL(This.cCodePage) + *!* .cCodePage = This.cCodePage + *!* ENDIF + + If Not Isnull(This.nEmailMode) + .nEmailMode = This.nEmailMode + Endif + + If Not Isnull(This.cSMTPServer) + .cSMTPServer = This.cSMTPServer + Endif + + If Not Isnull(This.nSMTPPort) + .nSMTPPort = This.nSMTPPort + Endif + + If Not Isnull(This.lSMTPUseSSL) + .lSMTPUseSSL = This.lSMTPUseSSL + Endif + + If Not Isnull(This.cSMTPUserName) + .cSMTPUserName = This.cSMTPUserName + Endif + + If Not Isnull(This.cSMTPPassword) + .cSMTPPassword = This.cSMTPPassword + Endif + + If Not Isnull(This.cEmailTo) + .cEmailTo = This.cEmailTo + Endif + + If Not Isnull(This.cEmailSubject) + .cEmailSubject = This.cEmailSubject + Endif + + If Not Isnull(This.cEmailBody) + .cEmailBody = This.cEmailBody + Endif + + If Not Isnull(This.cEmailFrom) + .cEmailFrom = This.cEmailFrom + Endif + + If Not Isnull(This.nButtonSize) + .nButtonSize = This.nButtonSize + Endif + + If Not Isnull(This.cDestFile) + .cDestFile = This.cDestFile + Endif + + + + If Not Isnull(This.cEmailCC) + .cEmailCC = This.cEmailCC + Endif + + If Not Isnull(This.cEmailBCC) + .cEmailBCC = This.cEmailBCC + Endif + + If Not Isnull(This.cEmailReplyTo) + .cEmailReplyTo = This.cEmailReplyTo + Endif + + *!* proprietatea exista in versiunea 2.01c + If Type('This.lAutoSendMail') <> 'U' And Type('loReport.lAutoSendMail') <> 'U' And Not Isnull(This.lAutoSendMail) + .lAutoSendMail = Not Isnull(This.cDestFile) And This.lAutoSendMail + ._lSendingEmail = .lAutoSendMail + Endif + + If Not Isnull(This.lSilent) + .lSilent = This.lSilent + Endif + + If Not Isnull(This.lDirectPrint) And This.lDirectPrint + .lDirectPrint = .T. + Endif + + If Not Isnull(This.lSaveAsTXT) + .lSaveAsTXT = This.lSaveAsTXT + Endif + + If Not Isnull(This.cOutputPath) + .cOutputPath = This.cOutputPath + Endif + + If Not Isnull(This.nPrinterProptype) + .nPrinterProptype = This.nPrinterProptype + Endif + + If Not Isnull(This.nThermType) + .nThermType = This.nThermType + Endif + + If Not Isnull(This.nSearchPages) + .nSearchPages = This.nSearchPages + Endif + + If Not Isnull(This.cDecryptProcedure) + .cDecryptProcedure = This.cDecryptProcedure + Endif + + If Not Isnull(This.cEncryptProcedure) + .cEncryptProcedure = This.cEncryptProcedure + Endif + + If Not Isnull(This.cCryptKey) + .cCryptKey = This.cCryptKey + Endif + + If Not Isnull(This.lReadReceipt) + .lReadReceipt = This.lReadReceipt + Endif + + If Not Isnull(This.lPriority) + .lPriority = This.lPriority + Endif + + If Not Isnull(This.cEmailBodyFile) + .cEmailBodyFile = This.cEmailBodyFile + Endif + + If Not Isnull(This.lPDFEmbedFonts) + .lPDFEmbedFonts = This.lPDFEmbedFonts + Endif + + If Not Isnull(This.lPDFCanPrint) + .lPDFCanPrint = This.lPDFCanPrint + Endif + + If Not Isnull(This.lPDFCanEdit) + .lPDFCanEdit = This.lPDFCanEdit + Endif + + If Not Isnull(This.lPDFCanCopy) + .lPDFCanCopy = This.lPDFCanCopy + Endif + + If Not Isnull(This.lPDFCanAddNotes) + .lPDFCanAddNotes = This.lPDFCanAddNotes + Endif + + If Not Isnull(This.lPDFEncryptDocument) + .lPDFEncryptDocument = This.lPDFEncryptDocument + Endif + + If Not Isnull(This.cPDFMasterPassword) + .cPDFMasterPassword = This.cPDFMasterPassword + Endif + + If Not Isnull(This.cPDFUserPassword) + .cPDFUserPassword = This.cPDFUserPassword + Endif + + If Not Isnull(This.lOpenViewer) + .lOpenViewer = This.lOpenViewer + Endif + + If Not Isnull(This.cPdfAuthor) + .cPdfAuthor = This.cPdfAuthor + Endif + + If Not Isnull(This.cPdfTitle) + .cPdfTitle = This.cPdfTitle + Endif + + If Not Isnull(This.cPdfSubject) + .cPdfSubject = This.cPdfSubject + Endif + + If Not Isnull(This.cPdfKeyWords) + .cPdfKeyWords = This.cPdfKeyWords + Endif + + If Not Isnull(This.cPdfCreator) + .cPdfCreator = This.cPdfCreator + Endif + + If Not Isnull(This.lPDFShowErrors) + .lPDFShowErrors = This.lPDFShowErrors + Endif + + If Not Isnull(This.cPDFSymbolFontsList) + .cPDFSymbolFontsList = This.cPDFSymbolFontsList + Endif + + If Not Isnull(This.cAdressTable) + .cAdressTable = This.cAdressTable + Endif + + If Not Isnull(This.cAdressSearch) + .cAdressSearch = This.cAdressSearch + Endif + + If Not Isnull(This.cAttachments) + .cAttachments = This.cAttachments + Endif + + If Not Isnull(This.lShowClose) + .lShowClose = This.lShowClose + Endif + + If Not Isnull(This.cPDFDefaultFont) + .cPDFDefaultFont = This.cPDFDefaultFont + Endif + + + *!* IF NOT ISNULL(THIS.) + *!* . = THIS. + *!* ENDIF + *!* 27.05.2011 + If Used('cparteneriemail') + .cAdressTable = "cparteneriemail" + .cAdressSearch = "denumire" + Endif + *!* 27.05.2011 + Endwith + *!* CATCH TO loEx + + *!* ENDTRY + loReport.RunReport(This) && This flag will tell FoxyPreviewer that it has a caller object in an EXE + && The main class will update the properties + && "lSaved", "lPrinted", "lEmailed", "nVersion", "cVersion", "cErrors" + + Endproc + + Procedure Destroy + */ [20100517]... Now supporting Labels also (LBX,LBT) by Nick Porfyris + * Clean up, delete the temporary FRX, FRT, LBX, LBT, ??X, ??T files... + Local N, lnCount, lcFile, lcExtension, lcExtension2 + lnCount = This._oReports.Count + For N = 1 To lnCount + lcFile = This._oReports(N) + If Left(Justfname(lcFile), 7) = "TMP_FP_" && We have a temp ??X, ??T files to delete + Try + Delete File (lcFile) + lcExtension = Justext(lcFile) + lcExtension2 = Stuff(lcExtension, Len(lcExtension), 1, [T]) + Delete File Forceext(lcFile, lcExtension2) + Catch + Endtry + Endif + Endfor + Endproc + +Enddefine + +Define Class PreviewerConfig As Custom + *** + cVersionFoxyPreview = "2.41a" + cWebsiteFoxyPreview = "http://foxypreviewer.codeplex.com/releases/view/49471" + *** + cClauses = "" + *** + cPrinterName = Null && SET("Printer",3) + + lSaveToFile = Null && = .T. && adds the save to file button + lSendToEmail = Null && = .T. && adds the send to email button + lPrintVisible = Null && = .T. && shows the print button in the toolbar + lShowCopies = Null && = .T. && shows the copies spinner + lShowMiniatures = Null && = .T. && shows the miniatures page + lShowSetup = Null && = .T. && shows the setup configuration form + lPrinterPref = Null && = .T. && shows the printer preferences button + lShowSearch = Null + lShowClose = Null + + lClearPrinterInfo = .T. && NULL && = .T. && clears the EXPR, TAG, TAG2 fields of the FRX + + * Output types allowed in the "Save as.." button from the toolbar + lSaveAsImage = Null && = .T. + lSaveAsHTML = Null && = .T. + lSaveAsRTF = Null && = .T. + lSaveAsXLS = Null && = .T. + lSaveAsPDF = Null && = .T. + lSaveAsTXT = Null + cOutputPath = Null + + nPageTotal = Null && = 0 && Total pages of the current report + nCopies = Null && = 1 && The quantity of copies to be printed + cTitle = Null && = "" && The preview window title + oListener = Null + cDefaultListener = "FOXYLISTENER" + cSuccessor = Null + lUseListener = Null && = .T. + + nCanvasCount = Null && = 1 && initial nr of pages rendered on the preview form. + && Valid values are 1 (default), 2, or 4. + + nZoomLevel = Null && = 5 && initial zoom level of the preview window. Possible values are: + && 1-10%, 2-25%, 3-50%, 4-75%, 5-100% default, 6-150% ; + && 7-200%, 8-300%, 9-500%, 10-whole page + + lExtended = Null && = .T. && Flag that tells if the report is being run automatically + && using the _REPORTPERVIEW global variable + + lOpenDestFile = Null && .T. && automatically open the destination file after save + + nWindowState = Null && = 0 && Normal + nDockType = Null && = .F. + + cDestFile = Null && = "" && the destination file (image, htm, pdf, etc) + lPrinted = Null && = .F. && knows if the user printed the report + lSaved = Null && = .F. && knows if the user saved the report to a file + nVersion = Null + cVersion = Null + + + cFormIcon = Null && = "" && "wwrite.ico" + lEmailAuto = Null && = .T. + cEmailType = Null && = "PDF" + cEmailPRG = Null && = "" + + cSaveDefName = Null && "" *!* 2010-09-17 - Jacques Parent - Add the cSaveDefName + + lEmailed = Null && = .F. + cCodePage = Null && = "CP1252" && CodePage, to be used by PDF Listener + && No more need to leave this property, because this is set automatically + && left for backwards compatibility + + nMaxMiniatureDisplay = Null && = 64 && Number of miniature proof + nPDFPageMode = Null && = 0 + cLanguage = Null && = "" + nShowToolBar = Null && = 1 && Visible + lShowPrinters = Null && = .T. && determines if the available printers combo will be shown + + + lAutoSendMail = Null + + nEmailMode = Null && = 1 && 1 = MAPI, 2 = CDOSYS, 3 = Custom procedure + cSMTPServer = Null && = "" + nSMTPPort = Null && = 25 + lSMTPUseSSL = Null && = .F. + cSMTPUserName = Null && = "" + cSMTPPassword = Null && = "" + + cEmailTo = Null && = "" + cEmailSubject = Null && = "" + cEmailCC = Null + cEmailBCC = Null + cEmailBody = Null && = "" + cEmailFrom = Null && = "" + cEmailReplyTo = Null + cEmailBodyFile = Null + nButtonSize = Null && = 1 && 1=16x16 pixels (default), 2=32x32 pixels + lSilent = Null && Tell Foxypreviewer to stay silent and to write message to the cErrors property + cErrors = "" + lDirectPrint = .F. + nPrinterProptype = Null + nThermType = Null + nSearchPages = Null + + cEncryptProcedure = Null + cDecryptProcedure = Null + cCryptKey = Null + lReadReceipt = Null + lPriority = Null + + + * PDF properties + lPDFEmbedFonts = Null + lPDFCanPrint = Null + lPDFCanEdit = Null + lPDFCanCopy = Null + lPDFCanAddNotes = Null + lPDFEncryptDocument = Null + cPDFMasterPassword = Null + cPDFUserPassword = Null + lOpenViewer = Null + + cPdfAuthor = Null + cPdfTitle = Null + cPdfSubject = Null + cPdfKeyWords = Null + cPdfCreator = Null + lPDFShowErrors = Null + cPDFSymbolFontsList = Null + cPDFDefaultFont = Null + + cAdressTable = Null + cAdressSearch = Null + cAttachments = Null + + Procedure Init + * + Endproc && Init + + *!* Seteaza valoarea unei proprietati daca exista sau adauga proprietatea, si intoarce valoarea + Procedure SetValue + Lparameters tcProperty, tuValue + + If Type('THIS.&tcProperty') <> 'U' + This.&tcProperty = tuValue + Else + This.AddProperty(tcProperty, tuValue) + Endif + + Return This.&tcProperty + + Endproc && SetValue + + *!* Intoarce valoarea unei proprietati daca exista, altfel valoarea empty() corespunzator tipului proprietatii + Function GetValue + Lparameters tcProperty + + Local lcProperty, luValue + lcProperty = 'THIS.' + tcProperty + + If Type('THIS.&tcProperty') <> 'U' + luValue = This.&tcProperty + Else + luValue = This.GetDefaultValue(tcProperty) + Endif + Return luValue + + Endfunc && GetValue + + *!* Intoarce valoarea empty() a unei proprietati dupa tip = prima litera din numele proprietatii daca nu primeste decat tcProperty + *!* Converteste tcValue la tipul variabilei tcProperty daca tcValue e primit ca parametru + Function GetDefaultValue + Lparameters tcProperty, tcValue + + Local lcType, luValue + luValue = "" + lcType = Upper(Left(tcProperty, 1)) + llEmptyValue = Iif(Pcount() = 1, .T., .F.) + + Do Case + Case lcType $ "CM" + luValue = Iif(llEmptyValue, '', tcValue) + Case lcType $ "NIF" + luValue = Iif(llEmptyValue, 0, Val(tcValue)) + Case lcType = "T" + luValue = Iif(llEmptyValue, Dtot({}), Ctot(tcValue)) + Case lcType = "D" + luValue = Iif(llEmptyValue, {}, Ctod(tcValue)) + Case lcType = "L" + luValue = Iif(llEmptyValue, .F., Iif(tcValue = "1" Or Upper(tcValue) = "T" Or Upper(tcValue) = '.T.' Or Upper(tcValue) = 'YES', .T., .F.)) + Otherwise + luValue = "" + Endcase + + Return luValue + Endfunc && GetDefaultValue + + *!* Intoarce .T. daca exista proprietatea + Function HasProperty + Lparameters tcProperty + + Local lcProperty, llReturn + lcProperty = 'THIS.' + tcProperty + llReturn = .F. + + If Type('THIS.&tcProperty') <> 'U' + llReturn = .T. + Endif + + Return llReturn + + Endfunc && HasProperty +Enddefine && PreviewerConfig \ No newline at end of file diff --git a/programe/ofacturare.prg b/programe/ofacturare.prg new file mode 100644 index 0000000..69b4132 --- /dev/null +++ b/programe/ofacturare.prg @@ -0,0 +1,2663 @@ +*!* 13.11.2014 +*!* marius.mutu +*!* listeaza_ofacturare - listare ROAAUTO - facturi tipizate - se listeaza A4 sau A5 dupa optiunea de tip formular netipizate + +*!* 19.01.2015 +*!* marius.mutu +*!* factureaza gnRF_ULTIMELE_DATE_COMPLETATE .completeaza_setari_document() completeaza datele de la un document anterior + +*!* 04.02.2015 +*!* marius.mutu +*!* factureaza - listare aviz de expeditie pentru bonul fiscal + +*!* 05.05.2015 +*!* marius.mutu +*!* listeaza_bon_fiscal - s-a corectat o problema la listare bon fiscal detaliat + +*!* 23.09.2015 +*!* marius.mutu +*!* listeaza_ofacturare - listare proforma (din comanda) - dadea eroare pentru ca nu existau toate coloanele necesare + +*!* 03.02.2016 +*!* marius.mutu +*!* listeaza_ofacturare: tip 41 (aviz retur subunitati) - se listeaza partenerul asociat gestiunii din care se face retur + +*!* 09.02.2016 +*!* marius.mutu +*!* listeaza_ofacturare: adaugat proprietate poDate.oClient pentru accesarea poDate.oClient.email_facturare la trimiterea emailurilor +*!* + poDate.nListareSilentioasa, poDate.nListareJustPDF + +*!* 14.07.2016 +*!* marius.mutu +*!* listeaza_ofacturare: dadea eroare la listare proforma - nu exista poDate.id_comanda_aviz si nici nu trebuia (nu exista proforme bazate pe aviz din comanda) + +*!* 21.11.2019 +*!* marius.mutu +*!* +listeaza_recapitulatie + +*!* 22.01.2020 +*!* marius.mutu +*!* listeaza_recapitulatie +poFirma.adresa + +*!* 28.01.2020 +*!* factureaza, factureaza2 - completare crsFactura.codmatc (cod material client) + +*!* 30.01.2020 +*!* marius.mutu +*!* listeaza_ofacturare - poDate.id_util in loc de gnIdUtil pentru numele celui care a introdus factura, in loc de cel care o (re)listeaza + +*!* 12.03.2021 +*!* marius.mutu +*!* factureaza +*!* daca este proforma, pun toate articolele negestionabile, ca sa nu mai arate stocul + +*!* 16.09.2021 +*!* marius.mutu +*!* listeaza_bon_fiscal: Daca bonul nu se listeaza detaliat, listez cumulat pe cote TVA +*!* lista toata suma cu cota TVA = 0 eronat!!! + +*!* factureaza: dezaloca numar chitanta, numar bon fiscal la renuntare + +*!* 17.11.2023 +*!* marius.mutu +*!* adaugare tip 52 factura fiscala in valuta contract + +*!* 15.01.2024 +*!* marius.mutu +*!* listeaza_bon_fiscal - se transmite la casa de marcat (pretctva-discountctva), in loc de pretctva + +*!* 23.01.2024 +*!* listeaza_ofacturare +*!* efactura. se listeaza valori in valuta pentru factura in valuta + +*************************************************************************************************************** +**** Proceduri: +**** factureaza +**** completeaza_date_aviz_retur +**** listeaza_ofacturare +**** listeaza_oconformitate +*************************************************************************************************************** +******************************************** INCEPUT: factureaza ********************************************** +Procedure factureaza + Lparameters tnTip, toFactura + + * toFactura - daca se doreste copierea unei facturi anterioare + + *** 08.06.2017 + *** Daca exista optiunea gnFacturareNou = 1 atunci lansez formularul frm_facturare_articole2 in loc de frm_facturare_articole + If Type('gnFacturareNou') = 'N' And m.gnFacturareNou = 1 + If AMESSAGEBOX('Facturare noua (DA) sau standard (NU)?', 4 + 32, _Screen.Caption) = 6 + factureaza2(m.tnTip) + Return + Endif + Endif + + Private pnButon, poDate, poDateGestiuneDest, pnTotalDiscountAvize, plVizibil, poGeneratorNumere + + *!* modificare v 2.0.67 + *!* PRIVATE pnTipFacturare + *!* pnTipFacturare = 0 + *!* modificare v 2.0.67 ^ + Local lcCursor, lcObiect, lcObject, lcSqlCursor, lnSucces, lnTipTemp, loArticole, ltDataOra + Local llCopiere + *:Global ofrmceredate, ofrmdetaliifactura + If glLunaInchisa + AMESSAGEBOX("Nu puteti emite documente, deoarece aceasta luna este închisa!", 0 + 48, "Luna închisa") + Return + Endif + + Local lnIdSet, lnRaspuns, loDateAnterior, loSoldClient + loDateAnterior = Null + llCopiere = (Type('toFactura') = 'O') + + pnTotalDiscountAvize = 0 + + **************************************************** + ** Valori pentru pnTipFacturare + ** 0 - facturare pe baza de lista de preturi,pe baza de comanda + ** 1 - facturare contracte in rate + ** 2 - facturare contracte in rate + ** 3 - facturare contracte (articole din contract) + ** 4 - facturare contracte (articole din lista de preturi) + **************************************************** + lnIdSet = 25000 + tnTip - 1 + gnScadereStoc * 10 + **************************************************** + ** Valori pentru (lnIdSet,tnTip) + ** Facturare + ** (25000,1) - pe baza de lista de preturi ( 25010 - daca e cu scadere din gestiune ) + ** (25001,2) - pe baza de contracte ( 25011 - daca e cu scadere din gestiune ) + ** (25002,3) - pe baza de comenzi ( 25012 - daca e cu scadere din gestiune ) + ** (25003,4) - pe baza de avize ( 25013 - daca e cu scadere din gestiune ) + ** (25004,5) - pe baza de lista de preturi in valuta ( 25014 - daca e cu scadere din gestiune ) + ** (25005,6) - pe baza de contract in valuta ( 25015 - daca e cu scadere din gestiune ) + ** (25006,7) - credit note + ** (25007,8) - retur factura in lei ( 25017 ) + ** (25008,9) - retur factura in valuta ( 25018 ) + ** (25009,10) - factura fiscala in valuta ( 25019 ) + ** (25043,44) - factura hotel + ** (25044,45) - factura restaurant ( 25054 ) + ** (25045,46) - nota de plata restaurant ( 25055 ) + ** (25047,48) - factura marfa custodie cu desc. k ( 25057 ) + ** (25048,49) - factura marfa custodie fara desc. k ( 25058 ) + ** (25051,52) - pe baza de contract factura fiscala in valuta ( 25061 - daca e cu scadere din gestiune ) + + ** Avize de expeditie + ** (25020,21) - catre clienti din comanda ( 25030 - daca e cu scadere din gestiune ) + ** (25021,22) - catre clienti din lista ( 25031 - daca e cu scadere din gestiune ) + ** (25022,23) - transfer catre subunitati din lista ( 25032 - daca e cu scadere din gestiune ) + ** (25023,24) - aviz de retur ( 25033 - daca e cu scadere din gestiune ) + ** (25024,25) - transfer catre subunitati din comanda ( 25034 - daca e cu scadere din gestiune ) + ** (25025,26) - catre clienti din contract ( 25035 - daca e cu scadere din gestiune ) + ** (25026,27) - transfer catre subunitati pe baza de lucrare( 25036 - daca e cu scadere din gestiune ) + ** (25027,28) - catre clienti debitori din comanda ( 25037 - daca e cu scadere din gestiune ) + ** (25028,29) - catre clienti debitori din lista ( 25038 - daca e cu scadere din gestiune ) + ** (25029,30) - transfer catre subunitati pe baza de NIR ( 25039 - daca e cu scadere din gestiune ) + ** (25040,41) - retur transfer catre subunitati lista pret ( 25050 - daca e cu scadere din gestiune ) + ** (25041,42) - catre clienti custodie pe baza de comanda ( 25051 - daca e cu scadere din gestiune ) + ** (25046,47) - catre clienti custodie pe baza de comanda ptr. descarcare cu K ( 25056 - daca e cu scadere din gestiune ) + ** (25049,50) - in lucru retur de la clienti custodie ( 25059 - daca e cu scadere din gestiune ) + ** + ** ROAGEST + ** (236/240/241/242,-6) - retur de la gestiune valorica + ** + ** ROARETAIL + ** (25042,43) - bonuri fiscale colectate de la magazine ( 25052 - daca e cu scadere din gestiune ) + ** ROAACNPRO + ** (50100,51) - factura ROAACNPRO ( 25060 - daca e cu scadere din gestiune ) + **************************************************** + *!* modificare v 2.2.0 + *!* update_jtva_coloane([JV]) + update_jtva_coloane([JV], [jtva_coloane_temp]) + update_saft_taxtable() + + *!* modificare v 2.2.0 ^ + lnRaspuns = 6 + Do While lnRaspuns = 6 + plVizibil = .T. + + If !actualizeaza_optiuni_program() + Release poDate, poGeneratorNumere + Return + Endif + + If Type('poDate') <> 'O' + poDate = Createobject("oDateFactura", lnIdSet, tnTip) + poGeneratorNumere = Createobject("oGeneratorNumere") + Endif + Do Case + Case tnTip = 27 + poDate.nIdTipDoc = 6 && AVIZ + Case tnTip = 30 + poDate.nIdTipDoc = 6 && AVIZ + Case tnTip < 21 Or Inlist(tnTip, 45, 48, 49, 51, 52) && modificare : 45 (v2.0.87), 48 (v2.0.93), 49 (v2.0.95) + poDate.nIdTipDoc = 5 && FACTURA + Otherwise + poDate.nIdTipDoc = 6 && AVIZ + Endcase + + + * Completare date + If Type('loDateAnterior') = 'O' + poDate.completeaza_setari_document(m.loDateAnterior) + Else + If m.llCopiere + poDate.completeaza_setari_document(m.toFactura, .T.) + Endif + Endif + + poGeneratorNumere.ResetNumere() + + + poDate.rezultat_serii = poGeneratorNumere.creeaza_cursor_serii(poDate.nIdTipDoc) + + If Type('poDateGestiuneDest') <> 'O' + poDateGestiuneDest = Createobject("oDateGestiune") + Endif + + Do Case + Case tnTip = 27 + lcObiect = [frm_date_aviz_lucrare] + Case tnTip = 30 + lcObiect = [frm_date_aviz_lucrare] + Case tnTip < 21 Or Inlist(tnTip, 45, 48, 49, 51, 52) && modificare : 45 (v2.0.87), 48 (v2.0.93), 49 (v2.0.95) + lcObiect = [frm_date_factura] + Otherwise + lcObiect = [frm_date_aviz] + Endcase + + pnButon = 1 + If Inlist(lcObiect, [frm_date_factura], [frm_date_aviz]) + ofrmceredate = Createobject(m.lcObiect, toFactura) + Else + ofrmceredate = Createobject(m.lcObiect) + Endif + ofrmceredate.ntip = tnTip + ofrmceredate.Show() + *!* modificare v 2.2.0 + Use In (Select('jtva_coloane')) + + * sterg regularizare taxa colectata pentru ca are procent TVA + * la adaugarea automata a tuturor articolelor factura/aviz din comanda arata formularul de adaugare articol pentru ca sunt mai mult explicatii TVA + + If poDate.tva_incasare = 0 + Select * From jtva_coloane_temp Where Isnull(id_jtva_ex) AND !'RORTC'$UPPER(coloana_jv) Into Cursor jtva_coloane + Else + Select * From jtva_coloane_temp Where Isnull(id_jtva_neex) AND !'RORTC'$UPPER(coloana_jv) Into Cursor jtva_coloane + Endif + *!* modificare v 2.2.0 ^ + Release ofrmceredate + If pnButon = 2 + poGeneratorNumere.dezaloca_numar(poDate.nIdTipDoc) + + *!* modificare v 2.0.67 + If Used('crsCtrTemp') + Use In ('crsCtrTemp') + Endif + *!* modificare v 2.0.67 ^ + Release poDate, poGeneratorNumere + Return + Else + poGeneratorNumere.verifica_numar(poDate.nIdTipDoc, poDate.nract) + Endif + + *!* modificare v 2.0.67 + *!* pnTipFacturare = 0 + *!* modificare v 2.0.67 ^ + Do Case + Case m.llCopiere + lcSqlCursor = [{call pack_facturare.cursor_retur_document(?poDate.in_valuta,?poDate.listaid,1,?poDate.eProforma,?gnIdUtil)}] + + *!* modificare v 2.0.93 ; modificare v 2.0.95 : am adaugat 49 + Case Inlist(tnTip, 48, 49) + lcSqlCursor = [{call ] + gcS + [.pack_facturare.cursor_articole_k(?poDate.zi_curs,?gnLuna,?gnAn,?gnIdUtil,?gnIdSucursala)}] + *!* modificare v 2.0.93 ^ + *!* modificare v 2.0.87 + Case tnTip = 45 + lcSqlCursor = [{call ] + gcS + [.pack_facturare.cursor_preturi(?poDate.zi_curs,?poDate.tip,?poDate.id_valuta,] + ; + [?poDate.listaid,?gnLuna,?gnAn,?gnIdUtil,?gnIdSucursala)}] + *!* modificare v 2.0.87 ^ + Case Inlist(tnTip, 1, 22, 5, 29, 7, 10, 23) && lista de preturi + && modificare v 2.0.56 : am adaugat 10 + lcSqlCursor = [{call ] + gcS + [.pack_facturare.cursor_preturi(?poDate.zi_curs,?poDate.tip,?poDate.id_valuta,] + ; + [?poDate.id_gestiune_init,?gnLuna,?gnAn,?gnIdUtil,?gnIdSucursala)}] + Case Inlist(tnTip, 2, 26, 6, 52) && contract + poDate.id_agent = 0 + *!* modificare v 2.0.67 + *!* lcSqlCursor = [{call ] + gcS + [.pack_facturare.cursor_contract(?poDate.zi_curs,?poDate.tip,?poDate.id_valuta,] + ; + *!* [?poDate.listaid,?poDate.id_gestiune_init,?gnLuna,?gnAn,?gnIdUtil,?gnIdSucursala,?@pnTipFacturare,] + ; + *!* [?@poDate.id_agent,?@poDate.nume_agent)}] + lcSqlCursor = [{call ] + gcS + [.pack_facturare.cursor_contract(?poDate.zi_curs,?poDate.tip,?poDate.id_valuta,] + ; + [?poDate.listaid,?poDate.id_gestiune_init,?gnLuna,?gnAn,?gnIdUtil,?gnIdSucursala,?@poDate.id_agent,?@poDate.nume_agent)}] + *!* modificare v 2.0.67 ^ + Case Inlist(tnTip, 3, 21, 25, 28, 42, 47) && comenzi + lcSqlCursor = [{call ] + gcS + [.pack_facturare.cursor_comanda(?poDate.zi_curs,?poDate.tip,?poDate.listaid,?gnIdUtil)}] + Case tnTip = 4 && din avize + lcSqlCursor = [{call ] + gcS + [.pack_facturare.cursor_avize(?poDate.listaid,?gnIdUtil,?@pnTotalDiscountAvize)}] + Case Inlist(tnTip, 41) && transfer intre subunitati pe baza de lista de preturi + retur transfer + lcSqlCursor = [{call ] + gcS + [.pack_facturare.cursor_gestiune(?poDate.zi_curs,?poDate.id_pol,] + ; + [?poDate.id_client,?gnLuna,?gnAn,?gnIdUtil,?gnIdSucursala)}] + Case tnTip = 30 && transfer intre subunitati pe baza de NIR + lcSqlCursor = [{call pack_facturare.cursor_aviz_nir(?poDate.id_client,?poDate.id_furnizor,?poDate.nrfactachi,?gnIdSucursala)}] + *!* modificare v 2.0.90 ^ + Case tnTip = 27 + lcSqlCursor = [{call ] + gcS + [.pack_facturare.cursor_lucrare(?poDate.zi_curs,?poDate.id_client,] + ; + [?poDate.id_lucrare,?gnLuna,?gnAn,?gnIdUtil,?gnIdSucursala)}] + *!* modificare v 2.0.56 + Case Inlist(tnTip, 8, 9, 24) && 8,9 = facturi de retur, 24 = aviz retur + lcSqlCursor = [{call ] + gcS + [.pack_facturare.cursor_retur(?poDate.in_valuta,?poDate.listaid,?gnIdUtil)}] + Endcase + + lcCursor = [crsarticole] + lnSucces = goExecutor.oExecute(lcSqlCursor, lcCursor) + + If lnSucces < 0 + AMESSAGEBOX(goExecutor.oPrelucrareEroare(), 16, "Eroare") + If goExecutor.nEroare = 20005 + vizualizeaza_curs(poDate.zi_curs) + ENDIF + *!* nu inchid crsCtrTemp + *!* modificare v 2.0.56 + *!* poGeneratorNumere.dezaloca_numar(pnIdTipDoc) + *!* modificare v 2.0.56 ^ + poGeneratorNumere.dezaloca_numar(poDate.nIdTipDoc) && 29.03.2021 deblochez numarul ca sa il pot reda pe acelasi cand se reincarca formularul + Else + If Reccount(lcCursor) = 0 And (!Used(lcCursor + '1') Or (Used(lcCursor + '1') And Reccount(lcCursor + '1') = 0)) + AMESSAGEBOX("Nu exista articole pentru optiunile alese!", 48, "Atentie") + poGeneratorNumere.dezaloca_numar(poDate.nIdTipDoc) + + Use In (SELECT('crsCtrTemp')) + ELSE + + * Daca este o proforma, consider toate articolele negestionabile, pentru a nu mai alege din stoc + * 12.03.2021 + IF poDate.eProforma = 1 + UPDATE (m.lcCursor) SET gestionabil = 0 + GO TOP IN (m.lcCursor) + ENDIF + + creeaza_facturacrs([crsfactura]) + + If tnTip = 30 && Aviz din NIR + * populez factura cu articolele din NIR + Local lcIdJtva + Select (lcCursor) + Scan + Scatter Name loArticole Memo + Select crsfactura + update_jtva_coloane([JV], 'CrsCotaTva', 0) + Select CrsCotaTva + Locate For cota_tva = (loArticole.proc_tvav * 100 - 100) + If Found() + lcIdJtva = id_jtva_coloana + Else + lcIdJtva = Null + Endif + Use In CrsCotaTva + + Insert Into crsfactura ; + (id_c, id_temp, id_articol, id_gestiune, Cont, um, ; + id_valuta, gestionabil, tip_valuta, Curs, multiplicator, id_jtva_coloana, codmat, ; + pret_achizitie, pretd, id_valuta_d, denumire, pretftva, pretctva, valftva, valtva, valctva, ; + cantitate, discountftva, discountctva, valdiscountftva, valdiscounttva, ; + valdiscountctva, valdiminuatftva, valdiminuattva, valdiminuatctva, proc_tvav, cu_tva, serie, ; + id_set_fact, explicatie, id_pol, id_ctr ) ; + Values (; + loArticole.id_c, loArticole.id_c, loArticole.id_articol, loArticole.id_gestiune, loArticole.Cont, loArticole.um, ; + loArticole.id_valuta, loArticole.gestionabil, loArticole.tip_valuta, loArticole.Curs, ; + loArticole.multiplicator, lcIdJtva, Nvl(loArticole.codmat, ' '), ; + loArticole.preta, loArticole.pretd, loArticole.id_valuta_d, loArticole.denumire, ; + loArticole.pretftva, loArticole.pretctva, ; + Round(loArticole.cantitate * loArticole.pretftva, gnpc), ; + Round(loArticole.cantitate * loArticole.tvav, gnpc), ; + Round(loArticole.cantitate * loArticole.pretctva, gnpc), ; + loArticole.cantitate, 0, 0, 0, 0, ; + 0, Round(loArticole.cantitate * loArticole.pretftva, gnpc), Round(loArticole.cantitate * loArticole.tvav, gnpc), ; + Round(loArticole.cantitate * loArticole.pretctva, gnpc), loArticole.proc_tvav, loArticole.preturi_cu_tva, '', ; + Null, '', Null, Null) + + Select (lcCursor) + Endscan + Release lcIdJtva + Select crsfactura + Release loArticole + + ENDIF && tnTip = 30 + + If tnTip = 27 + lcObject = [frm_avizare_lucrare] + Create Cursor crsgestiunidest(id_gestiune N(20), nume_gestiune c(100)) + Select crsgestiunidest + Append Blank + Replace id_gestiune With - 9999, nume_gestiune With '' + Insert Into crsgestiunidest(id_gestiune, nume_gestiune) ; + Select Distinct id_gestiune, nume_gestiune From (lcCursor) Order By nume_gestiune + Else + lcObject = [frm_facturare_articole] + Endif + *!* modificare v 2.0.67 + *!* Endif + *!* modificare v 2.0.67 ^ + *!* modificare v 2.0.56 + *!* If Type('crsarticole.curs')<>'U' + *!* Select Distinct Curs,nume_val From crsArticole With (Buffering = .T.) Where tip_valuta = 1 Into Cursor crscursuri + *!* If poDate.in_valuta = 1 + *!* Select crscursuri + *!* poDate.Curs = Curs + *!* Endif + If poDate.in_valuta = 1 + Select Distinct Curs, nume_val, id_valuta, multiplicator From (lcCursor) With (Buffering = .T.) Where tip_valuta = 1 Order By nume_val Into Cursor crscursuri + Select crscursuri + poDate.Curs = Curs + poDate.multiplicator = multiplicator + Else + citeste_cursuri_zi(poDate.zi_curs) + If Reccount('crscursuri') = 0 + Use In crscursuri + Endif + *!* modificare v 2.0.56 ^ + Endif + + If Type(lcCursor + '.nume_lista_preturi') <> 'U' + Create Cursor crspolitici (id_pol N(20), nume_lista_preturi c(100)) + Select crspolitici + *!* modificare v 2.0.77 + *!* Append Blank + *!* Replace id_pol With -9999,nume_lista_preturi With '' + Insert Into crspolitici(id_pol, nume_lista_preturi) Values (-9999, '') + *!* modificare v 2.0.77 ^ + Insert Into crspolitici(id_pol, nume_lista_preturi) ; + Select Distinct id_pol, nume_lista_preturi From (lcCursor) Order By nume_lista_preturi + Endif + + *!* modificare v 2.0.67 + If Inlist(tnTip, 2, 6, 26) + Create Cursor crscontracte(id_ctr N(20), numar_contract c(100), Data d Null, numar c(50) Null) + Select crscontracte + Append Blank + Replace id_ctr With - 9999, numar_contract With '' + Insert Into crscontracte(id_ctr, numar_contract, Data, numar) ; + Select Distinct id_ctr, numar_contract, Data, numar From (lcCursor + [1]) Order By Data, numar + Endif + *!* modificare v 2.0.67 ^ + ofrmdetaliifactura = Createobject(lcObject) + + IF tnTip = 30 && AVIZ DIN NIR + * CALCULEZ TOTALURILE SI FINALIZEZ FORMULARUL FARA SA IL ARAT + Private plreturn + Store .T. To plreturn + ofrmdetaliifactura.do_calculeaza_totaluri() + ofrmdetaliifactura.but_termin1.Click() + plVizibil = .F. + If !plreturn + Return + ENDIF + ELSE + IF m.llCopiere + * Modificare sau copiere factura + * Nu adaug automat articolele din factura originala, ca sa dau posibilitate de modificare a cantitatilor, pretului, explicatiei + * ofrmdetaliifactura.do_adauga_tot() + + * Sterg din cursorul cu articole inregistrarile adaugate in factura + *DELETE FROM crsArticole + + * Adaug in lista articolelor cursorul cu lista de preturi ca sa pot adauga si alte articole in factura copiata/modificata + lcSqlCursor = [{call pack_facturare.cursor_preturi(?poDate.zi_curs,?poDate.tip,?poDate.id_valuta,] + ; + [?poDate.id_gestiune_init,?gnLuna,?gnAn,?gnIdUtil,?gnIdSucursala)}] + + lcCursorTemp = [crsArticoleTemp] + llSucces = goExecutor.oExecuta(lcSqlCursor, lcCursorTemp) + IF m.llSucces + SELECT crsArticole + APPEND FROM DBF(m.lcCursorTemp) + ENDIF + USE IN (SELECT(m.lcCursorTemp)) + ENDIF && m.llCopiere + + If plVizibil + ofrmdetaliifactura.Show() + Else + ofrmdetaliifactura.Release() + pnButon = 2 + Endif + ENDIF && tnTip = 30 + + If Used('crspolitici') + Use In crspolitici + Endif + + If Used('crscursuri') + Use In crscursuri + Endif + + *!* modificare v 2.0.67 + If Used('crscontracte') + Use In crscontracte + Endif + If Used('crsCtrTemp') + Use In crsCtrTemp + Endif + *!* modificare v 2.0.67 ^ + + *!* modificare v 2.0.80 + If poDate.incasat <> 0 + poGeneratorNumere.verifica_numar(16, poDate.nr_incasare) + Endif + *!* modificare v 2.0.80 + + If pnButon = 1 + * Completez podate.institutie_publica + poDate.institutie_publica = GetInstitutiePublica(poDate.id_client) + + * Completare codmat client, codnc8, codcpv + Select crsfactura + Scan + Replace codmatc With GetCodmatC(poDate.id_client, crsfactura.id_articol) In crsfactura + + loCod = GetCodNC8CPV(crsfactura.id_articol) + Replace codnc8 WITH loCod.codnc8, codcpv WITH loCod.codcpv In crsfactura + Endscan + If poDate.tip <> 27 + If poDate.ntip_incasare = 2 && bon fiscal + If Type('gnListareAvizBonFiscal') = 'N' And m.gnListareAvizBonFiscal = 1 + lnTipTemp = poDate.tip + poDate.tip = 22 && La bonul fiscal listez AVIZ DE EXPEDITIE + listeaza_ofacturare() + poDate.tip = m.lnTipTemp + Endif + ltDataOra = Get_Ora() + listeaza_bon_fiscal(ltDataOra, poDate.nr_incasare, poDate.incasat, poDate.incasatCARD, poDate.proc_tva, poDate.nract, poDate.nBonDetaliat, "crsFactura") + ELSE + * Soldul pana la factura inclusiv + loSoldClient = GetSoldClient(poDate.id_client, IdVanzare2IdFact(podate.nid_vanzare)) + poDate.sold_lei = loSoldClient.sold_lei + poDate.sold_valuta = loSoldClient.sold_valuta + + listeaza_ofacturare() + ENDIF + + ENDIF && tip + Else + poGeneratorNumere.dezaloca_numar(poDate.nIdTipDoc) + + poGeneratorNumere.dezaloca_numar(16) && dezaloca numar chitanta + poGeneratorNumere.dezaloca_numar(3) && dezaloca numar bon fiscal + poGeneratorNumere.dezaloca_numar(26) && dezaloca numar POS/Card + + poDate.nr_incasare = 0 + poDate.incasat = 0 + ENDIF && pnButon + + Use In (SELECT('crsfactura')) + Use In (SELECT('crsfacturaset')) + Use In (SELECT('crsfacturafinala')) + Endif + + *!* lnRaspuns = amessagebox("Doriti sa continuati cu operatii de acest fel?", 4 + 32, "Confirmare") + lnRaspuns = AMESSAGEBOX([Doriti sa continuati cu operatii de acest fel?] + Chr(13) + Chr(10) + [DA=copiere date / NU=fara copiere date / Abandon], 3 + 32, "Confirmare") + If lnRaspuns = 6 && DA + loDateAnterior = CloneObj(m.poDate) && se retin informatiile pentru completarea pe factura urmatoare + Else + loDateAnterior = Null + If m.lnRaspuns = 7 && NU inseamna DA fara copierea datelor + lnRaspuns = 6 && DA + Endif + Endif + + poDate.Reset(7 - lnRaspuns) + poDateGestiuneDest.Reset() + Endif + *!* Endif + *!* Endif + Enddo + *!* modificare v 2.2.0 + Use In (Select('jtva_coloane_temp')) + Use In (Select('jtva_coloane')) + *!* modificare v 2.2.0 ^ + Release poDate, poGeneratorNumere +Endproc +******************************************** SFARSIT: factureaza ********************************************** + + +*** +******************************************** INCEPUT: factureaza2 ********************************************** +Procedure factureaza2 + Lparameters tnTip + Private pnButon, poDate, poDateGestiuneDest, pnTotalDiscountAvize, plVizibil, poGeneratorNumere + + *!* modificare v 2.0.67 + *!* PRIVATE pnTipFacturare + *!* pnTipFacturare = 0 + *!* modificare v 2.0.67 ^ + Local lcCursor, lcObiect, lcObject, lcSqlCursor, lnSucces, lnTipTemp, loArticole, ltDataOra + *:Global ofrmceredate, ofrmdetaliifactura + If glLunaInchisa + AMESSAGEBOX("Nu pute_i emite documente, deoarece aceasta luna este închisa!", 0 + 48, "Luna închisa") + Return + Endif + + Local lnIdSet, lnRaspuns, loDateAnterior + loDateAnterior = Null + + pnTotalDiscountAvize = 0 + + **************************************************** + ** Valori pentru pnTipFacturare + ** 0 - facturare pe baza de lista de preturi,pe baza de comanda + ** 1 - facturare contracte in rate + ** 2 - facturare contracte in rate + ** 3 - facturare contracte (articole din contract) + ** 4 - facturare contracte (articole din lista de preturi) + **************************************************** + lnIdSet = 25000 + tnTip - 1 + gnScadereStoc * 10 + **************************************************** + ** Valori pentru (lnIdSet,tnTip) + ** Facturare + ** (25000,1) - pe baza de lista de preturi ( 25010 - daca e cu scadere din gestiune ) + ** (25001,2) - pe baza de contracte ( 25011 - daca e cu scadere din gestiune ) + ** (25002,3) - pe baza de comenzi ( 25012 - daca e cu scadere din gestiune ) + ** (25003,4) - pe baza de avize ( 25013 - daca e cu scadere din gestiune ) + ** (25004,5) - pe baza de lista de preturi in valuta ( 25014 - daca e cu scadere din gestiune ) + ** (25005,6) - pe baza de contract in valuta ( 25015 - daca e cu scadere din gestiune ) + ** (25006,7) - credit note + ** (25007,8) - retur factura in lei ( 25017 ) + ** (25008,9) - retur factura in valuta ( 25018 ) + ** (25009,10) - factura fiscala in valuta ( 25019 ) + ** (25043,44) - factura hotel + ** (25044,45) - factura restaurant ( 25054 ) + ** (25045,46) - nota de plata restaurant ( 25055 ) + ** (25047,48) - factura marfa custodie cu desc. k ( 25057 ) + ** (25048,49) - factura marfa custodie fara desc. k ( 25058 ) + ** Avize de expeditie + ** (25020,21) - catre clienti din comanda ( 25030 - daca e cu scadere din gestiune ) + ** (25021,22) - catre clienti din lista ( 25031 - daca e cu scadere din gestiune ) + ** (25022,23) - transfer catre subunitati din lista ( 25032 - daca e cu scadere din gestiune ) + ** (25023,24) - aviz de retur ( 25033 - daca e cu scadere din gestiune ) + ** (25024,25) - transfer catre subunitati din comanda ( 25034 - daca e cu scadere din gestiune ) + ** (25025,26) - catre clienti din contract ( 25035 - daca e cu scadere din gestiune ) + ** (25026,27) - transfer catre subunitati pe baza de lucrare( 25036 - daca e cu scadere din gestiune ) + ** (25027,28) - catre clienti debitori din comanda ( 25037 - daca e cu scadere din gestiune ) + ** (25028,29) - catre clienti debitori din lista ( 25038 - daca e cu scadere din gestiune ) + ** (25029,30) - transfer catre subunitati pe baza de NIR ( 25039 - daca e cu scadere din gestiune ) + ** (25040,41) - retur transfer catre subunitati lista pret ( 25050 - daca e cu scadere din gestiune ) + ** (25041,42) - catre clienti custodie pe baza de comanda ( 25051 - daca e cu scadere din gestiune ) + ** (25046,47) - catre clienti custodie pe baza de comanda ptr. descarcare cu K ( 25056 - daca e cu scadere din gestiune ) + ** in lucru (25049,50) - retur de la clienti custodie ( 25059 - daca e cu scadere din gestiune ) + ** + ** ROAGEST + ** (236/240/241/242,-6) - retur de la gestiune valorica + ** + ** ROARETAIL + ** (25042,43) - bonuri fiscale colectate de la magazine ( 25052 - daca e cu scadere din gestiune ) + **************************************************** + *!* modificare v 2.2.0 + *!* update_jtva_coloane([JV]) + update_jtva_coloane([JV], [jtva_coloane_temp]) + *!* modificare v 2.2.0 ^ + lnRaspuns = 6 + Do While lnRaspuns = 6 + plVizibil = .T. + + If !actualizeaza_optiuni_program() + Release poDate, poGeneratorNumere + Return + Endif + + If Type('poDate') <> 'O' + poDate = Createobject("oDateFactura", lnIdSet, tnTip) + poGeneratorNumere = Createobject("oGeneratorNumere") + Endif + Do Case + Case tnTip = 27 + poDate.nIdTipDoc = 6 && AVIZ + Case tnTip = 30 + poDate.nIdTipDoc = 6 && AVIZ + Case tnTip < 21 Or Inlist(tnTip, 45, 48, 49) && modificare : 45 (v2.0.87), 48 (v2.0.93), 49 (v2.0.95) + poDate.nIdTipDoc = 5 && FACTURA + Otherwise + poDate.nIdTipDoc = 6 && AVIZ + Endcase + + + * Completare date + If Type('loDateAnterior') = 'O' + poDate.completeaza_setari_document(m.loDateAnterior) + Endif + + poGeneratorNumere.ResetNumere() + + + poDate.rezultat_serii = poGeneratorNumere.creeaza_cursor_serii(poDate.nIdTipDoc) + + If Type('poDateGestiuneDest') <> 'O' + poDateGestiuneDest = Createobject("oDateGestiune") + Endif + + Do Case + Case tnTip = 27 + lcObiect = [frm_date_aviz_lucrare] + Case tnTip = 30 + lcObiect = [frm_date_aviz_lucrare] + Case tnTip < 21 Or Inlist(tnTip, 45, 48, 49) && modificare : 45 (v2.0.87), 48 (v2.0.93), 49 (v2.0.95) + lcObiect = [frm_date_factura] + Otherwise + lcObiect = [frm_date_aviz] + Endcase + + pnButon = 1 + If .F. + ofrmceredate = Createobject(m.lcObiect) + ofrmceredate.ntip = tnTip + ofrmceredate.Show() + Endif && .F. + *!* modificare v 2.2.0 + Use In (Select('jtva_coloane')) + If poDate.tva_incasare = 0 + Select * From jtva_coloane_temp Where Isnull(id_jtva_ex) Into Cursor jtva_coloane + Else + Select * From jtva_coloane_temp Where Isnull(id_jtva_neex) Into Cursor jtva_coloane + Endif + *!* modificare v 2.2.0 ^ + Release ofrmceredate + If pnButon = 2 + poGeneratorNumere.dezaloca_numar(poDate.nIdTipDoc) + + poGeneratorNumere.dezaloca_numar(16) && dezaloca numar chitanta + poGeneratorNumere.dezaloca_numar(3) && dezaloca numar bon fiscal + + IF TYPE('poDate.nr_incasare') = 'N' + poDate.nr_incasare = 0 + ENDIF + IF TYPE('poDate.incasat') = 'N' + poDate.incasat = 0 + ENDIF + + *!* modificare v 2.0.67 + If Used('crsCtrTemp') + Use In ('crsCtrTemp') + Endif + *!* modificare v 2.0.67 ^ + Release poDate, poGeneratorNumere + Return + Else + poGeneratorNumere.verifica_numar(poDate.nIdTipDoc, poDate.nract) + Endif + + *!* modificare v 2.0.67 + *!* pnTipFacturare = 0 + *!* modificare v 2.0.67 ^ + Do Case + *!* modificare v 2.0.93 ; modificare v 2.0.95 : am adaugat 49 + Case Inlist(tnTip, 48, 49) + lcSqlCursor = [{call ] + gcS + [.pack_facturare.cursor_articole_k(?poDate.zi_curs,?gnLuna,?gnAn,?gnIdUtil,?gnIdSucursala)}] + *!* modificare v 2.0.93 ^ + *!* modificare v 2.0.87 + Case tnTip = 45 + lcSqlCursor = [{call ] + gcS + [.pack_facturare.cursor_preturi(?poDate.zi_curs,?poDate.tip,?poDate.id_valuta,] + ; + [?poDate.listaid,?gnLuna,?gnAn,?gnIdUtil,?gnIdSucursala)}] + *!* modificare v 2.0.87 ^ + Case Inlist(tnTip, 1, 22, 5, 29, 7, 10) && lista de preturi + && modificare v 2.0.56 : am adaugat 10 + lcSqlCursor = [{call ] + gcS + [.pack_facturare.cursor_preturi(?poDate.zi_curs,?poDate.tip,?poDate.id_valuta,] + ; + [?poDate.id_gestiune_init,?gnLuna,?gnAn,?gnIdUtil,?gnIdSucursala)}] + Case Inlist(tnTip, 2, 26, 6) && contract + poDate.id_agent = 0 + *!* modificare v 2.0.67 + *!* lcSqlCursor = [{call ] + gcS + [.pack_facturare.cursor_contract(?poDate.zi_curs,?poDate.tip,?poDate.id_valuta,] + ; + *!* [?poDate.listaid,?poDate.id_gestiune_init,?gnLuna,?gnAn,?gnIdUtil,?gnIdSucursala,?@pnTipFacturare,] + ; + *!* [?@poDate.id_agent,?@poDate.nume_agent)}] + lcSqlCursor = [{call ] + gcS + [.pack_facturare.cursor_contract(?poDate.zi_curs,?poDate.tip,?poDate.id_valuta,] + ; + [?poDate.listaid,?poDate.id_gestiune_init,?gnLuna,?gnAn,?gnIdUtil,?gnIdSucursala,?@poDate.id_agent,?@poDate.nume_agent)}] + *!* modificare v 2.0.67 ^ + Case Inlist(tnTip, 3, 21, 25, 28, 42, 47) && comenzi + lcSqlCursor = [{call ] + gcS + [.pack_facturare.cursor_comanda(?poDate.zi_curs,?poDate.tip,?poDate.listaid,] + ; + [?gnIdUtil)}] + Case tnTip = 4 && din avize + lcSqlCursor = [{call ] + gcS + [.pack_facturare.cursor_avize(?poDate.listaid,?gnIdUtil,?@pnTotalDiscountAvize)}] + Case Inlist(tnTip, 23, 41) && transfer intre subunitati pe baza de lista de preturi + retur transfer + lcSqlCursor = [{call ] + gcS + [.pack_facturare.cursor_gestiune(?poDate.zi_curs,?poDate.id_pol,] + ; + [?poDate.id_client,?gnLuna,?gnAn,?gnIdUtil,?gnIdSucursala)}] + Case tnTip = 30 && transfer intre subunitati pe baza de NIR + *!* modificare v 2.0.61 + *!* modificare v 2.0.56 + *!* lcSqlCursor = [select rownum as id_c, a.ID_ARTICOL,a.SERIE,a.ID_GESTIUNE,a.ID_VALUTA,]+; + *!* [ 0 as discount_unitar,a.CODMAT,a.DENUMIRE, Nvl(a.UM,Chr(32)) as um, 1 as gestionabil,]+; + *!* [ a.CANT as cantitate, a.PROC_TVAV,0 as preturi_cu_tva, a.CURS, a.PRET as preta, a.PRETv as pret,a.tvav as tvav, 0 as pret_val,a.nume_val,]+; + *!* [ 0 as discount_unitar_val, 0 as tip_valuta,cont ]+; + *!* [ from vrul A where a.cod in (select max(b.cod) ]+; + *!* [ from act b where b.id_partc = ?poDate.id_furnizor and b.scc = '401' and b.nract = ?poDate.nrfactachi)] + *!* lcSqlCursor = [select rownum as id_c,rownum as id_temp, a.ID_ARTICOL,a.SERIE,a.ID_GESTIUNE,b.ID_VALUTA,]+; + *!* [ 0 as discount_unitar,a.CODMAT,a.DENUMIRE, Nvl(a.UM,Chr(32)) as um, 1 as gestionabil,]+; + *!* [ a.CANT as cantitate, a.PROC_TVAV,0 as preturi_cu_tva, 1 as CURS, a.PRET as preta, a.PRETv as pret,a.tvav as tvav, 0 as pret_val,b.nume_val,]+; + *!* [ 0 as discount_unitar_val, 0 as tip_valuta,a.cont,a.pretd,a.id_valuta as id_valuta_d ]+; + *!* [ from vrul A left join ] + ; + *!* [ (select id_valuta, nume_val from vnom_valute where moneda_nationala = 1 and rownum = 1) b on 1 = 1 ] + ; + *!* [ where a.cod in (select max(b.cod) ]+; + *!* [ from act a1 where a1.sters = 0 and a1.id_partc = ?poDate.id_furnizor and a1.scc = '401' and a1.nract = ?poDate.nrfactachi)] + *!* *!* modificare v 2.0.56 ^ + *!* modificare v 2.0.90 + *!* modificare v 2.0.71 : 0 as curs; conditii gcCondSucursala si a.id_gestiune = ?poDate.id_client + *!* lcSqlCursor = [select rownum as id_c,rownum as id_temp, a.ID_ARTICOL,a.SERIE,a.ID_GESTIUNE,b.ID_VALUTA,]+; + *!* [ 0 as discount_unitar,c.CODMAT,c.DENUMIRE, Nvl(c.UM,Chr(32)) as um, 1 as gestionabil,]+; + *!* [ a.CANT as cantitate, a.PROC_TVAV,decode(d.nr_pag,6,1,7,1,0) as preturi_cu_tva, 0 as CURS,1 as multiplicator,a.PRET as preta,] + ; + *!* [a.pretv+a.tvav as pretctva,a.pretv as pretftva,] + ; + *!* [a.tvav,0 as pret_val,b.nume_val,]+; + *!* [ 0 as discount_unitar_val, 0 as tip_valuta,a.cont,a.pretd,a.id_valuta as id_valuta_d ]+; + *!* [ from rul A left join ] + ; + *!* [ (select id_valuta, nume_val from vnom_valute where moneda_nationala = 1 and rownum = 1) b on 1 = 1 ] + ; + *!* [ left join nom_articole c on a.id_articol = c.id_articol ] + ; + *!* [ left join nom_gestiuni d on a.id_gestiune = d.id_gestiune ] + ; + *!* [ where a.sters = 0 and a.id_gestiune = ?poDate.id_client and a.cod in (select max(a1.cod) ]+; + *!* [ from act a1 where a1.sters = 0 and a1.id_partc = ?poDate.id_furnizor and a1.scc = '401' and a1.nract = ?poDate.nrfactachi] + ; + *!* STRTRAN(gcCondSucursala,[id_sucursala],[a1.id_sucursala]) + [)] + *!* modificare v 2.0.61 ^ + lcSqlCursor = [{call pack_facturare.cursor_aviz_nir(?poDate.id_client,?poDate.id_furnizor,?poDate.nrfactachi,?gnIdSucursala)}] + *!* modificare v 2.0.90 ^ + Case tnTip = 27 + lcSqlCursor = [{call ] + gcS + [.pack_facturare.cursor_lucrare(?poDate.zi_curs,?poDate.id_client,] + ; + [?poDate.id_lucrare,?gnLuna,?gnAn,?gnIdUtil,?gnIdSucursala)}] + *!* modificare v 2.0.56 + Case Inlist(tnTip, 8, 9) && facturi de retur + lcSqlCursor = [{call ] + gcS + [.pack_facturare.cursor_retur(?poDate.in_valuta,?poDate.listaid,?gnIdUtil)}] + *!* modificare v 2.0.56 ^ + Endcase + If .F. + lcCursor = [crsarticole] + lnSucces = goExecutor.oExecute(lcSqlCursor, lcCursor) + Endif + lnSucces = 1 + If lnSucces < 0 + AMESSAGEBOX(goExecutor.oPrelucrareEroare(), 16, "Eroare") + If goExecutor.nEroare = 20005 + vizualizeaza_curs(poDate.zi_curs) + Endif + *!* nu inchid crsCtrTemp + *!* modificare v 2.0.56 + *!* poGeneratorNumere.dezaloca_numar(pnIdTipDoc) + *!* modificare v 2.0.56 ^ + Else + If .F. And Reccount(lcCursor) = 0 And (!Used(lcCursor + '1') Or (Used(lcCursor + '1') And Reccount(lcCursor + '1') = 0)) + AMESSAGEBOX("Nu exista articole pentru optiunile alese!", 48, "Atentie") + poGeneratorNumere.dezaloca_numar(poDate.nIdTipDoc) + *!* modificare v 2.0.67 + If Used('crsCtrTemp') + Use In ('crsCtrTemp') + Endif + *!* modificare v 2.0.67 ^ + Else + *!* modificare v 2.0.67 + *!* If Inlist(pnTipFacturare,1,2) + *!* *!* modificare v 2.0.56 : am mutat codul in procedura + *!* creeaza_crsfactura_rate() + *!* *!* modificare v 2.0.56 ^ + *!* lcObject = [frm_facturare_rate] + *!* Else + *!* modificare v 2.0.67 ^ + *!* modificare v 2.0.56 : am mutat codul in procedura + creeaza_facturacrs([crsfactura]) + *!* modificare v 2.0.56 ^ + If tnTip = 30 + Local lcIdJtva + Select (lcCursor) + Scan + Scatter Name loArticole Memo + Select crsfactura + update_jtva_coloane([JV], 'CrsCotaTva', 0) + Select CrsCotaTva + Locate For cota_tva = (loArticole.proc_tvav * 100 - 100) + If Found() + lcIdJtva = id_jtva_coloana + Else + lcIdJtva = Null + Endif + Use In CrsCotaTva + *!* modificare v 2.0.61 + *!* modificare v 2.0.56 : am adaugat pretd,id_valuta_d + *!* Insert Into crsfactura ; + *!* (id_c,id_temp,id_articol,id_gestiune,Cont,um,; + *!* id_valuta,gestionabil ,tip_valuta ,Curs ,id_jtva_coloana ,codmat ,; + *!* pret_achizitie,pretd,id_valuta_d,denumire ,pretftva ,pretctva ,valftva , valtva ,valctva ,; + *!* cantitate ,discountftva , discountctva , valdiscountftva ,valdiscounttva ,; + *!* valdiscountctva ,valdiminuatftva ,valdiminuattva , valdiminuatctva ,proc_tvav ,cu_tva ,serie ,; + *!* id_set_fact ,explicatie,id_pol ) ; + *!* values (; + *!* loArticole.id_c,loArticole.id_c,loArticole.id_articol,loArticole.id_gestiune,loArticole.Cont,loArticole.um,; + *!* loArticole.id_valuta,loArticole.gestionabil,loArticole.tip_valuta,loArticole.Curs,lcIdJtva ,Nvl(loArticole.codmat,' '),; + *!* loArticole.preta,loArticole.pretd,loArticole.id_valuta_d,loArticole.denumire,loArticole.Pret,loArticole.Pret+loArticole.tvav,Round(loArticole.cantitate*loArticole.Pret,gnpa),Round(loArticole.cantitate*loArticole.tvav,gnpa),Round((loArticole.cantitate*loArticole.Pret)+(loArticole.cantitate*loArticole.tvav),gnpa),; + *!* loArticole.cantitate,0,0,0,0,; + *!* 0,Round(loArticole.cantitate*loArticole.Pret,gnpa),Round(loArticole.cantitate*loArticole.tvav,gnpa),Round((loArticole.cantitate*loArticole.Pret)+(loArticole.cantitate*loArticole.tvav),gnpa),loArticole.proc_tvav,loArticole.preturi_cu_tva,'',; + *!* null,'',Null) + *!* modificare v 2.0.71 : am adaugat id_ctr = Null + *!* modificare v 2.0.90 : am adaugat multiplicator + Insert Into crsfactura ; + (id_c, id_temp, id_articol, id_gestiune, Cont, um, ; + id_valuta, gestionabil, tip_valuta, Curs, multiplicator, id_jtva_coloana, codmat, ; + pret_achizitie, pretd, id_valuta_d, denumire, pretftva, pretctva, valftva, valtva, valctva, ; + cantitate, discountftva, discountctva, valdiscountftva, valdiscounttva, ; + valdiscountctva, valdiminuatftva, valdiminuattva, valdiminuatctva, proc_tvav, cu_tva, serie, ; + id_set_fact, explicatie, id_pol, id_ctr ) ; + Values (; + loArticole.id_c, loArticole.id_c, loArticole.id_articol, loArticole.id_gestiune, loArticole.Cont, loArticole.um, ; + loArticole.id_valuta, loArticole.gestionabil, loArticole.tip_valuta, loArticole.Curs, ; + loArticole.multiplicator, lcIdJtva, Nvl(loArticole.codmat, ' '), ; + loArticole.preta, loArticole.pretd, loArticole.id_valuta_d, loArticole.denumire, ; + loArticole.pretftva, loArticole.pretctva, ; + Round(loArticole.cantitate * loArticole.pretftva, gnpc), ; + Round(loArticole.cantitate * loArticole.tvav, gnpc), ; + Round(loArticole.cantitate * loArticole.pretctva, gnpc), ; + loArticole.cantitate, 0, 0, 0, 0, ; + 0, Round(loArticole.cantitate * loArticole.pretftva, gnpc), Round(loArticole.cantitate * loArticole.tvav, gnpc), ; + Round(loArticole.cantitate * loArticole.pretctva, gnpc), loArticole.proc_tvav, loArticole.preturi_cu_tva, '', ; + Null, '', Null, Null) + *!* modificare v 2.0.61 ^ + &&25039 + Select (lcCursor) + Endscan + Release lcIdJtva + Select crsfactura + Release loArticole + Endif + + If tnTip = 27 + lcObject = [frm_avizare_lucrare] + Create Cursor crsgestiunidest(id_gestiune N(20), nume_gestiune c(100)) + Select crsgestiunidest + Append Blank + Replace id_gestiune With - 9999, nume_gestiune With '' + Insert Into crsgestiunidest(id_gestiune, nume_gestiune) ; + Select Distinct id_gestiune, nume_gestiune From (lcCursor) Order By nume_gestiune + Else + lcObject = [frm_facturare_articole2] + Endif + *!* modificare v 2.0.67 + *!* Endif + *!* modificare v 2.0.67 ^ + *!* modificare v 2.0.56 + *!* If Type('crsarticole.curs')<>'U' + *!* Select Distinct Curs,nume_val From crsArticole With (Buffering = .T.) Where tip_valuta = 1 Into Cursor crscursuri + *!* If poDate.in_valuta = 1 + *!* Select crscursuri + *!* poDate.Curs = Curs + *!* Endif + If poDate.in_valuta = 1 + Select Distinct Curs, nume_val, id_valuta, multiplicator From (lcCursor) With (Buffering = .T.) Where tip_valuta = 1 Order By nume_val Into Cursor crscursuri + Select crscursuri + poDate.Curs = Curs + poDate.multiplicator = multiplicator + Else + Do citeste_cursuri_zi With poDate.zi_curs In oproceduri_curs.prg + If Used('crscursuri') + If Reccount('crscursuri') = 0 + Use In (Select('crscursuri')) + Endif + Endif + *!* modificare v 2.0.56 ^ + Endif + + If .F. + If Type(lcCursor + '.nume_lista_preturi') <> 'U' + Create Cursor crspolitici (id_pol N(20), nume_lista_preturi c(100)) + Select crspolitici + *!* modificare v 2.0.77 + *!* Append Blank + *!* Replace id_pol With -9999,nume_lista_preturi With '' + Insert Into crspolitici(id_pol, nume_lista_preturi) Values (-9999, '') + *!* modificare v 2.0.77 ^ + Insert Into crspolitici(id_pol, nume_lista_preturi) ; + Select Distinct id_pol, nume_lista_preturi From (lcCursor) Order By nume_lista_preturi + Endif + Endif && .F. + If .F. + *!* modificare v 2.0.67 + If Inlist(tnTip, 2, 6, 26) + Create Cursor crscontracte(id_ctr N(20), numar_contract c(100), Data d Null, numar c(50) Null) + Select crscontracte + Append Blank + Replace id_ctr With - 9999, numar_contract With '' + Insert Into crscontracte(id_ctr, numar_contract, Data, numar) ; + Select Distinct id_ctr, numar_contract, Data, numar From (lcCursor + [1]) Order By Data, numar + Endif + Endif && .F. + *!* modificare v 2.0.67 ^ + ofrmdetaliifactura = Createobject(lcObject) + If tnTip = 30 + Private plreturn + Store .T. To plreturn + ofrmdetaliifactura.do_calculeaza_totaluri() + ofrmdetaliifactura.but_termin1.Click() + plVizibil = .F. + If !plreturn + Return + Endif + Else + If plVizibil + ofrmdetaliifactura.Show() + Else + ofrmdetaliifactura.Release() + pnButon = 2 + Endif + Endif + + If Used('crspolitici') + Use In crspolitici + Endif + + If Used('crscursuri') + Use In crscursuri + Endif + + *!* modificare v 2.0.67 + If Used('crscontracte') + Use In crscontracte + Endif + If Used('crsCtrTemp') + Use In crsCtrTemp + Endif + *!* modificare v 2.0.67 ^ + + *!* modificare v 2.0.80 + If poDate.incasat <> 0 + poGeneratorNumere.verifica_numar(16, poDate.nr_incasare) + Endif + *!* modificare v 2.0.80 + + If pnButon = 1 + * Completare codmat client + Select crsfactura + Scan + Replace codmatc With GetCodmatC(poDate.id_client, crsfactura.id_articol) In crsfactura + Endscan + + If poDate.tip <> 27 + If poDate.ntip_incasare = 2 && bon fiscal + If Type('gnListareAvizBonFiscal') = 'N' And m.gnListareAvizBonFiscal = 1 + lnTipTemp = poDate.tip + poDate.tip = 22 && La bonul fiscal listez AVIZ DE EXPEDITIE + listeaza_ofacturare() + poDate.tip = m.lnTipTemp + Endif + ltDataOra = Get_Ora() + listeaza_bon_fiscal(ltDataOra, poDate.nr_incasare, poDate.incasat, poDate.incasatCARD, poDate.proc_tva, poDate.nract, poDate.nBonDetaliat, "crsFactura") + Else + listeaza_ofacturare() + Endif + Endif + Else + poGeneratorNumere.dezaloca_numar(poDate.nIdTipDoc) + Endif + + If Used('crsfactura') + Use In crsfactura + Endif + If Used('crsfacturaset') + Use In crsfacturaset + Endif + If Used('crsfacturafinala') + Use In crsfacturafinala + Endif + Endif + + *!* lnRaspuns = amessagebox("Doriti sa continuati cu operatii de acest fel?", 4 + 32, "Confirmare") + lnRaspuns = AMESSAGEBOX([Doriti sa continuati cu operatii de acest fel?] + Chr(13) + Chr(10) + [DA=copiere date / NU=fara copiere date / Abandon], 3 + 32, "Confirmare") + If lnRaspuns = 6 && DA + loDateAnterior = CloneObj(m.poDate) && se retin informatiile pentru completarea pe factura urmatoare + Else + loDateAnterior = Null + If m.lnRaspuns = 7 && NU inseamna DA fara copierea datelor + lnRaspuns = 6 && DA + Endif + Endif + + poDate.Reset(7 - lnRaspuns) + poDateGestiuneDest.Reset() + Endif + *!* Endif + *!* Endif + Enddo + *!* modificare v 2.2.0 + Use In (Select('jtva_coloane_temp')) + Use In (Select('jtva_coloane')) + *!* modificare v 2.2.0 ^ + Release poDate, poGeneratorNumere +Endproc && factureaza2 +******************************************** SFARSIT: factureaza2 ********************************************** + +*** + +************************************ INCEPUT: completeaza_date_aviz_retur ************************************* +Function completeaza_date_aviz_retur + Local lnRezultatSerii + lnRezultatSerii = poGeneratorNumere.creeaza_cursor_serii(6) + ofrmdateavizretur = Createobject('frm_date_aviz_retur', lnRezultatSerii) + ofrmdateavizretur.Show(1) + Release ofrmdateavizretur, lnRezultatSerii + Return Iif(pnButon = 1, 1, -1) +Endfunc && completeaza_date_aviz_retur +************************************ SFARSIT: completeaza_date_aviz_retur ************************************* +******************************************** INCEPUT: listeaza_ofacturare ********************************************** +Procedure listeaza_ofacturare + Local loArticol, lcRaportVal, lnPretListAviz, lcRaport, llSilentios + Local loPreviewerConfig As "PreviewerConfig" + Local lcCursor, lcDestinationFile, lcDocument, lcExplicatieRaport, lcPdfHasImage, lcSetare + Local lcSetareVizualizare, lcSql, llPdfHasImage, lcSqlTVA + Local lcCursorFacturaTemp + *:Global poFirma + Private poClient, poBeneficiar, ptDataOra, pcExplicatieContract, pnTotalPozitii, pnIdUtil + poClient = Null + poBeneficiar = Null + ptDataOra = {//::} + pcExplicatieContract = '' + pnTotalPozitii = 0 + + lcRaportVal = [] + lnPretListAviz = 2 && fara TVA + pnIdUtil = Iif(!Empty(Nvl(poDate.id_util, 0)), poDate.id_util, m.gnIdUtil) + + ************************************************ + ** Date client, responsabil facturare si firma + ************************************************ + Do Case + Case poDate.eProforma = 1 + && Proforma + TEXT TO lcSql NOSHOW +select 1 as tip,(case when p.tip_persoana = 1 then prefix||' '|| p.denumire||' '|| p.sufix else p.denumire end) as denumire, + p.cod_fiscal, p.cod_fiscal2, p.adresa,p.telefon,'' as fax,p.reg_comert,p.banca,p.cont_banca, + '' as banca2,'' as cont_banca2,'' as banca3,'' as cont_banca3, + sysdate as dataora,p.tip_persoana,0 as capital_soc_var, + 0 as capital_soc_sub, b.comanda_externa,c.cod,d.adresa as adresa_facturare,NVL(d.email, p.email) as email_facturare,e.adresa as adresa_livrare, + d.denumire_adresa as denadrf,e.denumire_adresa as denadrl, + d.strada as stradaf, d.judet as judetf, d.indicativ as indicativ_judetf, d.localitate as localitatef, d.tara as taraf, d.prescurtare as cod_taraf, + e.strada as stradal, e.judet as judetl, e.indicativ as indicativ_judetl, e.localitate as localitatel, e.tara as taral, e.prescurtare as cod_taral, + f.numar as nr_ctr,f.data as data_ctr, + p.cod_tara, p.judet, p.indicativ_judet, p.cod_judet, p.localitate, p.id_cetatenie, p.strada, p.numar as strada_nr + from vnom_parteneri p + left join comenzi b on b.id_part=p.id_part and b.id_comanda=?poDate.listaid + left join parteneri_coduri c on c.id=b.id_codclient + left join vadrese_parteneri d on d.id_adresa=b.id_facturare + left join vadrese_parteneri e on e.id_adresa=b.id_livrare + left join contracte f on b.id_ctr = f.id_ctr + where p.id_part = ?poDate.id_client +union all +select 2 as tip,denumire,cod_fiscal,cod_fiscal2,'' as adresa,'' as telefon,'' as fax,reg_comert,'' as banca,'' as cont_banca, + '' as banca2,'' as cont_banca2,'' as banca3,'' as cont_banca3, + null as dataora,tip_persoana,0 as capital_soc_var,0 as capital_soc_sub ,'' as comanda_externa,'' as cod, + '' as adresa_facturare,''as email_facturare,'' as adresa_livrare,'' as denadrf,'' as denadrl, + '' as stradaf, '' as judetf, '' as indicativ_judetf, '' as localitatef, '' as taraf, '' as cod_taraf, + '' as stradal, '' as judetl, '' as indicativ_judetl, '' as localitatel, '' as taral, '' as cod_taral, + '' as nr_ctr,null as data_ctr, + '' as cod_tara, '' as judet, '' as indicativ_judet, '' as cod_judet, '' as localitate, 0 as id_cetatenie, '' as strada, '' as strada_nr + from nom_parteneri where sters = 0 and inactiv = 0 and id_part in + (select id_partener from utilizatori_rol_intern where sters = 0 and id_util = ?pnIdUtil) +union all +select 3 as tip,antet as denumire,cod_fiscal,'' as cod_fiscal2,adresa,telefon,fax,reg_comert,banca1 as banca, + cont_banca1 as cont_banca,banca2,cont_banca2,banca3,cont_banca3, + null as dataora,0 as tip_persoana,capital_soc_var,capital_soc_sub, + '' as comanda_externa,'' as cod,'' as adresa_facturare,'' as email_facturare,'' as adresa_livrare, + '' as denadrf,'' as denadrl, + '' as stradaf, '' as judetf, '' as indicativ_judetf, '' as localitatef, '' as taraf, '' as cod_taraf, + '' as stradal, '' as judetl, '' as indicativ_judetl, '' as localitatel, '' as taral, '' as cod_taral, + '' as nr_ctr,null as data_ctr, + '' as cod_tara, '' as judet, '' as indicativ_judet, '' as cod_judet, '' as localitate, 0 as id_cetatenie, '' as strada, '' as strada_nr + from syn_nom_firme where id_firma = ?gnIdFirma +union all +select 4 as tip,(case when p.tip_persoana = 1 then prefix||' '|| p.denumire||' '|| p.sufix else p.denumire end) as denumire, + p.cod_fiscal,p.cod_fiscal2,p.adresa,p.telefon,'' as fax,p.reg_comert,p.banca,p.cont_banca, + '' as banca2,'' as cont_banca2,'' as banca3,'' as cont_banca3, + sysdate as dataora,p.tip_persoana,0 as capital_soc_var, + 0 as capital_soc_sub, b.comanda_externa,c.cod,d.adresa as adresa_facturare,NVL(d.email, p.email) as email_facturare,e.adresa as adresa_livrare, + d.denumire_adresa as denadrf,e.denumire_adresa as denadrl, + d.strada as stradaf, d.judet as judetf, d.indicativ as indicativ_judetf, d.localitate as localitatef, d.tara as taraf, d.prescurtare as cod_taraf, + e.strada as stradal, e.judet as judetl, e.indicativ as indicativ_judetl, e.localitate as localitatel, e.tara as taral, e.prescurtare as cod_taral, + f.numar as nr_ctr,f.data as data_ctr, + p.cod_tara, p.judet, p.indicativ_judet, p.cod_judet, p.localitate, p.id_cetatenie, p.strada, p.numar as strada_nr + from vnom_parteneri p + left join comenzi b on b.id_part=p.id_part and b.id_comanda=?poDate.listaid + left join parteneri_coduri c on c.id=b.id_codclient + left join vadrese_parteneri d on d.id_adresa=b.id_facturare + left join vadrese_parteneri e on e.id_adresa=b.id_livrare + left join contracte f on b.id_ctr = f.id_ctr + where p.id_part = ?poDate.nIdBeneficiar + ENDTEXT + Case Inlist(poDate.tip, 23, 25, 27, 30) And Isnull(poDate.id_part_rez) && AVIZE SUBUNITATI PE BAZA DE LISTA DE PRETURI, COMANDA, LUCRARE, NIR + *!* 14.12.2015 - sesizare Printconcept 4171 - nu apareau datele clientului + lcSql = [select 1 as tip,Nvl(c.denumire,a.nume_gestiune) as denumire,nvl(c.cod_fiscal,a.cgest) as cod_fiscal,c.cod_fiscal2,] + ; + [Nvl(d.adresa,'') as adresa,NVL(d.email,'') as email,Nvl(d.telefon1,'') as telefon,Nvl(d.fax,'') as fax,] + ; + [Nvl(c.reg_comert,'') as reg_comert,Nvl(c.banca,'') as banca,Nvl(c.cont_banca,'') as cont_banca,] + ; + ['' as banca2,'' as cont_banca2,'' as banca3,'' as cont_banca3,] + ; + [sysdate as dataora,1 as tip_persoana,0 as capital_soc_var,] + ; + [0 as capital_soc_sub, ] + ; + ['' as comanda_externa,'' as cod,d.adresa as adresa_facturare,d.email as email_facturare, '' as adresa_livrare,] + ; + [d.denumire_adresa as denadrf,'' as denadrl,] + ; + [d.strada as stradaf, d.judet as judetf, d.indicativ as indicativ_judetf, d.localitate as localitatef, d.tara as taraf, d.prescurtare as cod_taraf,] + ; + ['' as stradal, '' as judetl, '' as indicativ_judetl, '' as localitatel, '' as taral, '' as cod_taral,] + ; + ['' as nr_ctr, '' as data_ctr,] + ; + [c.cod_tara, c.judet, c.indicativ_judet, c.cod_judet, c.localitate, c.id_cetatenie, c.strada, c.numar as strada_nr ] + ; + [from nom_gestiuni a ] + ; + [left join asociere_parteneri_gestiuni b on a.id_gestiune = b.id_gestiune ] + ; + [left join vnom_parteneri c on b.id_part = c.id_part ] + ; + [left join vadrese_parteneri d on c.id_part = d.id_part and d.principala = 1 ] + ; + [where a.id_gestiune = ?poDateGestiuneDest.id_gestiune ] + ; + [union all ] + ; + [select 2 as tip,denumire,cod_fiscal,'' as cod_fiscal2,'' as adresa,'' as email,'' as telefon,'' as fax,'' as reg_comert,'' as banca,] + ; + ['' as cont_banca,] + ; + ['' as banca2,'' as cont_banca2,'' as banca3,'' as cont_banca3,] + ; + [null as dataora,tip_persoana,0 as capital_soc_var,0 as capital_soc_sub, ] + ; + ['' as comanda_externa,'' as cod,] + ; + ['' as adresa_facturare,'' as email_facturare,'' as adresa_livrare,'' as denadrf,'' as denadrl,] + ; + ['' as stradaf, '' as judetf, '' as indicativ_judetf, '' as localitatef, '' as taraf, '' as cod_taraf, ] + ; + ['' as stradal, '' as judetl, '' as indicativ_judetl, '' as localitatel, '' as taral, '' as cod_taral, ] + ; + ['' as nr_ctr,null as data_ctr,] + ; + ['' as cod_tara, '' as judet, '' as indicativ_judet, '' as cod_judet, '' as localitate, 0 as id_cetatenie, '' as strada, '' as strada_nr ] + ; + [from nom_parteneri where sters = 0 and inactiv = 0 and id_part in ] + ; + [(select id_partener from utilizatori_rol_intern where sters = 0 and id_util = ?pnIdUtil)] + ; + [union all ] + ; + [select 3 as tip,antet as denumire,cod_fiscal,'' as cod_fiscal2,adresa,email,telefon,fax,reg_comert,] + ; + [banca1 as banca,cont_banca1 as cont_banca,] + ; + [banca2,cont_banca2,banca3,cont_banca3,] + ; + [null as dataora,0 as tip_persoana,capital_soc_var,capital_soc_sub, ] + ; + ['' as comanda_externa,'' as cod,] + ; + ['' as adresa_facturare,'' as email_facturare,'' as adresa_livrare,'' as denadrf,'' as denadrl,] + ; + ['' as stradaf, '' as judetf, '' as indicativ_judetf, '' as localitatef, '' as taraf, '' as cod_taraf, ] + ; + ['' as stradal, '' as judetl, '' as indicativ_judetl, '' as localitatel, '' as taral, '' as cod_taral, ] + ; + ['' as nr_ctr,null as data_ctr,] + ; + ['' as cod_tara, '' as judet, '' as indicativ_judet, '' as cod_judet, '' as localitate, 0 as id_cetatenie, '' as strada, '' as strada_nr ] + ; + [from syn_nom_firme where id_firma = ?gnIdFirma] + *!* 14.12.2015 ^ + Case Inlist(poDate.tip, 41, -6) && RETUR AVIZ SUBUNITATI(ROAFACTURARE), RETUR AVIZ DIN GESTIUNE VALORICA (ROAGEST) + lcSql = [select 1 as tip,Nvl(c.denumire,a.nume_gestiune) as denumire,nvl(c.cod_fiscal,a.cgest) as cod_fiscal,c.cod_fiscal2,] + ; + [Nvl(d.adresa,'') as adresa,NVL(d.email,'') as email,Nvl(d.telefon1,'') as telefon,Nvl(d.fax,'') as fax,] + ; + [Nvl(c.reg_comert,'') as reg_comert,Nvl(c.banca,'') as banca,Nvl(c.cont_banca,'') as cont_banca,] + ; + ['' as banca2,'' as cont_banca2,'' as banca3,'' as cont_banca3,] + ; + [sysdate as dataora,1 as tip_persoana,0 as capital_soc_var,0 as capital_soc_sub, ] + ; + ['' as comanda_externa,'' as cod,d.adresa as adresa_facturare,d.email as email_facturare, '' as adresa_livrare,] + ; + [d.denumire_adresa as denadrf,'' as denadrl,] + ; + [d.strada as stradaf, d.judet as judetf, d.indicativ as indicativ_judetf, d.localitate as localitatef, d.tara as taraf, d.prescurtare as cod_taraf,] + ; + ['' as stradal, '' as judetl, '' as indicativ_judetl, '' as localitatel, '' as taral, '' as cod_taral,] + ; + ['' as nr_ctr, '' as data_ctr,] + ; + [c.cod_tara, c.judet, c.indicativ_judet, c.cod_judet, c.localitate, c.id_cetatenie, c.strada, c.numar as strada_nr ] + ; + [from nom_gestiuni a ] + ; + [left join asociere_parteneri_gestiuni b on a.id_gestiune = b.id_gestiune ] + ; + [left join vnom_parteneri c on b.id_part = c.id_part ] + ; + [left join vadrese_parteneri d on c.id_part = d.id_part and d.principala = 1 ] + ; + [where a.id_gestiune = ?poDate.id_client ] + ; + [union all ] + ; + [select 2 as tip,denumire,cod_fiscal,cod_fiscal2,'' as adresa,'' as email,'' as telefon,'' as fax,'' as reg_comert,'' as banca,] + ; + ['' as cont_banca,] + ; + ['' as banca2,'' as cont_banca2,'' as banca3,'' as cont_banca3,] + ; + [null as dataora,tip_persoana,0 as capital_soc_var,0 as capital_soc_sub, ] + ; + ['' as comanda_externa,'' as cod,] + ; + ['' as adresa_facturare,'' as email_facturare,'' as adresa_livrare,'' as denadrf,'' as denadrl,] + ; + ['' as stradaf, '' as judetf, '' as indicativ_judetf, '' as localitatef, '' as taraf, '' as cod_taraf, ] + ; + ['' as stradal, '' as judetl, '' as indicativ_judetl, '' as localitatel, '' as taral, '' as cod_taral, ] + ; + ['' as nr_ctr,null as data_ctr,] + ; + ['' as cod_tara, '' as judet, '' as indicativ_judet, '' as cod_judet, '' as localitate, 0 as id_cetatenie, '' as strada, '' as strada_nr ] + ; + [from nom_parteneri where sters = 0 and inactiv = 0 and id_part in ] + ; + [(select id_partener from utilizatori_rol_intern where sters = 0 and id_util = ?pnIdUtil)] + ; + [union all ] + ; + [select 3 as tip,antet as denumire,cod_fiscal,'' as cod_fiscal2,adresa,email,telefon,fax,reg_comert,] + ; + [banca1 as banca,cont_banca1 as cont_banca,] + ; + [banca2,cont_banca2,banca3,cont_banca3,] + ; + [null as dataora,0 as tip_persoana,capital_soc_var,capital_soc_sub, ] + ; + ['' as comanda_externa,'' as cod,] + ; + ['' as adresa_facturare,'' as email_facturare,'' as adresa_livrare,'' as denadrf,'' as denadrl,] + ; + ['' as stradaf, '' as judetf, '' as indicativ_judetf, '' as localitatef, '' as taraf, '' as cod_taraf, ] + ; + ['' as stradal, '' as judetl, '' as indicativ_judetl, '' as localitatel, '' as taral, '' as cod_taral, ] + ; + ['' as nr_ctr,null as data_ctr,] + ; + ['' as cod_tara, '' as judet, '' as indicativ_judet, '' as cod_judet, '' as localitate, 0 as id_cetatenie, '' as strada, '' as strada_nr ] + ; + [from syn_nom_firme where id_firma = ?gnIdFirma] + *!* modificare v 2.0.16 ^ + Case Inlist(poDate.tip, 3, 21, 28, 42, 47) Or (poDate.tip = 4 And Not Empty(poDate.id_comanda_aviz)) + &&Factura pe baza de comanda/aviz din comanda sau factura din aviz si avizul este din comanda + *!* modificare v 2.0.99 : am adaugat data, nr_ctr + lcSql = [select 1 as tip,(case when p.tip_persoana = 1 then p.prefix||' '||p.denumire||' '||p.sufix else p.denumire end) as denumire,] + ; + [p.cod_fiscal,p.cod_fiscal2,p.adresa,p.telefon,'' as fax,p.reg_comert,p.banca,p.cont_banca,] + ; + ['' as banca2,'' as cont_banca2,'' as banca3,'' as cont_banca3,] + ; + [sysdate as dataora,p.tip_persoana,0 as capital_soc_var,0 as capital_soc_sub,] + ; + [b.comanda_externa,c.cod,] + ; + [d.adresa as adresa_facturare,d.email as email_facturare,e.adresa as adresa_livrare,] + ; + [d.denumire_adresa as denadrf,e.denumire_adresa as denadrl,] + ; + [d.strada as stradaf, d.judet as judetf, d.indicativ as indicativ_judetf, d.localitate as localitatef, d.tara as taraf, d.prescurtare as cod_taraf, ] + ; + [e.strada as stradal, e.judet as judetl, e.indicativ as indicativ_judetl, e.localitate as localitatel, e.tara as taral, e.prescurtare as cod_taral, ] + ; + [f.numar as nr_ctr,f.data as data_ctr, ] + ; + [p.cod_tara, p.judet, p.indicativ_judet, p.cod_judet, p.localitate, p.id_cetatenie, p.strada, p.numar as strada_nr ] + ; + [ from vnom_parteneri p ] + ; + [left join comenzi b on b.id_part=p.id_part and b.id_comanda=] + Iif(Inlist(poDate.tip, 3, 21, 28, 42, 47), [?poDate.listaid ], [?poDate.id_comanda_aviz ]) + ; + [left join parteneri_coduri c on c.id=b.id_codclient ] + ; + [left join vadrese_parteneri d on d.id_adresa=b.id_facturare ] + ; + [left join vadrese_parteneri e on e.id_adresa=b.id_livrare ] + ; + [left join contracte f on b.id_ctr = f.id_ctr ] + ; + [where p.id_part = ?poDate.id_client ] + ; + [union all ] + ; + [select 2 as tip,denumire,cod_fiscal,cod_fiscal2,'' as adresa,'' as telefon,'' as fax,reg_comert,'' as banca,'' as cont_banca,] + ; + ['' as banca2,'' as cont_banca2,'' as banca3,'' as cont_banca3,] + ; + [null as dataora,tip_persoana,0 as capital_soc_var,0 as capital_soc_sub ,] + ; + ['' as comanda_externa,'' as cod, ] + ; + ['' as adresa_facturare,'' as email_facturare,'' as adresa_livrare,'' as denadrf,'' as denadrl,] + ; + ['' as stradaf, '' as judetf, '' as indicativ_judetf, '' as localitatef, '' as taraf, '' as cod_taraf, ] + ; + ['' as stradal, '' as judetl, '' as indicativ_judetl, '' as localitatel, '' as taral, '' as cod_taral, ] + ; + ['' as nr_ctr,null as data_ctr,] + ; + ['' as cod_tara, '' as judet, '' as indicativ_judet, '' as cod_judet, '' as localitate, 0 as id_cetatenie, '' as strada, '' as strada_nr ] + ; + [from nom_parteneri ] + ; + [where sters = 0 and inactiv = 0 and id_part in ] + ; + [(select id_partener from utilizatori_rol_intern where sters = 0 and id_util = ?pnIdUtil)] + ; + [union all ] + ; + [select 3 as tip,antet as denumire,cod_fiscal,'' as cod_fiscal2,adresa,telefon,fax,reg_comert,banca1 as banca,] + ; + [cont_banca1 as cont_banca,] + ; + [banca2,cont_banca2,banca3,cont_banca3,] + ; + [null as dataora,0 as tip_persoana,capital_soc_var,capital_soc_sub,] + ; + ['' as comanda_externa,'' as cod,] + ; + ['' as adresa_facturare,'' as email_facturare,'' as adresa_livrare,'' as denadrf,'' as denadrl,] + ; + ['' as stradaf, '' as judetf, '' as indicativ_judetf, '' as localitatef, '' as taraf, '' as cod_taraf, ] + ; + ['' as stradal, '' as judetl, '' as indicativ_judetl, '' as localitatel, '' as taral, '' as cod_taral, ] + ; + ['' as nr_ctr,null as data_ctr,] + ; + ['' as cod_tara, '' as judet, '' as indicativ_judet, '' as cod_judet, '' as localitate, 0 as id_cetatenie, '' as strada, '' as strada_nr ] + ; + [from syn_nom_firme where id_firma = ?gnIdFirma] + *!* modificare ROAAUTO v 2.0.33 + Case poDate.tip = -12 And !Empty(Nvl(poDate.id_ordl, 0)) + lcSql = [select 1 as tip,(case when tip_persoana = 1 then prefix||' '||denumire||' '||sufix else denumire end) as denumire,] + ; + [cod_fiscal,cod_fiscal2,adresa,email,telefon,'' as fax,reg_comert,banca,cont_banca,] + ; + ['' as banca2,'' as cont_banca2,'' as banca3,'' as cont_banca3,] + ; + [sysdate as dataora,tip_persoana,0 as capital_soc_var, 0 as capital_soc_sub, ]+ ; + ['' as comanda_externa,'' as cod,] + ; + ['' as adresa_facturare,'' as email_facturare,'' as adresa_livrare,'' as denadrf,'' as denadrl,] + ; + ['' as stradaf, '' as judetf, '' as indicativ_judetf, '' as localitatef, '' as taraf, '' as cod_taraf, ] + ; + ['' as stradal, '' as judetl, '' as indicativ_judetl, '' as localitatel, '' as taral, '' as cod_taral, ] + ; + ['' as nr_ctr,null as data_ctr,] + ; + ['' as cod_tara, '' as judet, '' as indicativ_judet, '' as cod_judet, '' as localitate, 0 as id_cetatenie, strada, numar as strada_nr ] + ; + [from vnom_parteneri where id_part in ] + ; + [(select id_partener from dev_masiniclienti where id_masiniclient in ] + ; + [(select id_masiniclient from dev_ordl where id_ordl = ?poDate.id_ordl)) ] + ; + [union all ] + ; + [select 2 as tip,denumire,cod_fiscal,cod_fiscal2,'' as adresa,'' as email,'' as telefon,'' as fax,reg_comert,'' as banca,'' as cont_banca,] + ; + ['' as banca2,'' as cont_banca2,'' as banca3,'' as cont_banca3,] + ; + [null as dataora,tip_persoana,0 as capital_soc_var,0 as capital_soc_sub, ] + ; + ['' as comanda_externa,'' as cod,] + ; + ['' as adresa_facturare,'' as email_facturare,'' as adresa_livrare,'' as denadrf,'' as denadrl,] + ; + ['' as stradaf, '' as judetf, '' as indicativ_judetf, '' as localitatef, '' as taraf, '' as cod_taraf, ] + ; + ['' as stradal, '' as judetl, '' as indicativ_judetl, '' as localitatel, '' as taral, '' as cod_taral, ] + ; + ['' as nr_ctr,null as data_ctr,] + ; + ['' as cod_tara, '' as judet, '' as indicativ_judet, '' as cod_judet, '' as localitate, 0 as id_cetatenie, '' as strada, '' as strada_nr ] + ; + [from nom_parteneri ] + ; + [where sters = 0 and inactiv = 0 and id_part in ] + ; + [(select id_partener from utilizatori_rol_intern where sters = 0 and id_util = ?pnIdUtil)] + ; + [union all ] + ; + [select 3 as tip,antet as denumire,cod_fiscal,'' as cod_fiscal2,adresa,'' as email,telefon,fax,reg_comert,banca1 as banca,] + ; + [cont_banca1 as cont_banca,] + ; + [banca2,cont_banca2,banca3,cont_banca3,] + ; + [null as dataora,0 as tip_persoana,capital_soc_var,capital_soc_sub, ] + ; + ['' as comanda_externa,'' as cod,] + ; + ['' as adresa_facturare,'' as email_facturare,'' as adresa_livrare,'' as denadrf,'' as denadrl,] + ; + ['' as stradaf, '' as judetf, '' as indicativ_judetf, '' as localitatef, '' as taraf, '' as cod_taraf, ] + ; + ['' as stradal, '' as judetl, '' as indicativ_judetl, '' as localitatel, '' as taral, '' as cod_taral, ] + ; + ['' as nr_ctr,null as data_ctr,] + ; + ['' as cod_tara, '' as judet, '' as indicativ_judet, '' as cod_judet, '' as localitate, 0 as id_cetatenie, '' as strada, '' as strada_nr ] + ; + [from syn_nom_firme where id_firma = ?gnIdFirma] + *!* modificare ROAAUTO v 2.0.33 ^ + Otherwise + &&Factura + *!* modificare v 2.0.21 : Nvl(?poDate.id_part_rez,?poDate.id_client) in loc de ?poDate.id_client + TEXT TO lcSql NOSHOW +select 1 as tip,(case when tip_persoana = 1 then p.prefix||' '|| p.denumire||' '|| p.sufix else denumire end) as denumire, + p.cod_fiscal,p.cod_fiscal2,p.adresa,p.telefon,'' as fax,p.reg_comert,p.banca,p.cont_banca, + '' as banca2,'' as cont_banca2,'' as banca3,'' as cont_banca3, + '' as banca4,'' as cont_banca4,'' as banca5,'' as cont_banca5,'' as banca6,'' as cont_banca6,'' as banca7,'' as cont_banca7, + '' as banca8,'' as cont_banca8,'' as banca9,'' as cont_banca9,'' as banca10,'' as cont_banca10, + sysdate as dataora,p.tip_persoana,0 as capital_soc_var,0 as capital_soc_sub, + '' as comanda_externa,'' as cod, + d.adresa as adresa_facturare,d.email as email_facturare,'' as adresa_livrare,d.denumire_adresa as denadrf,'' as denadrl, + d.strada as stradaf, d.judet as judetf, d.indicativ as indicativ_judetf, d.localitate as localitatef, d.tara as taraf, d.prescurtare as cod_taraf, + '' as stradal, '' as judetl, '' as indicativ_judetl, '' as localitatel, '' as taral, '' as cod_taral, + p.cod_tara, p.judet, p.indicativ_judet, p.cod_judet, p.localitate, p.id_cetatenie, p.strada, p.numar as strada_nr + from vnom_parteneri p left join vanzari b on b.id_part=p.id_part and b.id_vanzare = ?poDate.nid_vanzare + left join vadrese_parteneri d on d.id_adresa=b.id_facturare + where p.id_part = Nvl(?poDate.id_part_rez,?poDate.id_client) +union all +select 2 as tip,denumire,cod_fiscal,cod_fiscal2,'' as adresa,'' as telefon,'' as fax,reg_comert,'' as banca,'' as cont_banca, + '' as banca2,'' as cont_banca2,'' as banca3,'' as cont_banca3, + '' as banca4,'' as cont_banca4,'' as banca5,'' as cont_banca5,'' as banca6,'' as cont_banca6,'' as banca7,'' as cont_banca7, + '' as banca8,'' as cont_banca8,'' as banca9,'' as cont_banca9,'' as banca10,'' as cont_banca10, + null as dataora,tip_persoana,0 as capital_soc_var,0 as capital_soc_sub, + '' as comanda_externa,'' as cod, + '' as adresa_facturare, '' as email_facturare,'' as adresa_livrare, '' as denadrf,'' as denadrl, + '' as stradaf, '' as judetf, '' as indicativ_judetf, '' as localitatef, '' as taraf, '' as cod_taraf, + '' as stradal, '' as judetl, '' as indicativ_judetl, '' as localitatel, '' as taral, '' as cod_taral, + '' as cod_tara, '' as judet, '' as indicativ_judet, '' as cod_judet, '' as localitate, 0 as id_cetatenie, '' as strada, '' as strada_nr + from nom_parteneri + where sters = 0 and inactiv = 0 and id_part in + (select id_partener from utilizatori_rol_intern where sters = 0 and id_util = ?pnIdUtil) +union all + select 3 as tip,antet as denumire,cod_fiscal,'' as cod_fiscal2,adresa,telefon,fax,reg_comert,banca1 as banca, + cont_banca1 as cont_banca,banca2,cont_banca2,banca3,cont_banca3, + banca4,cont_banca4,banca5,cont_banca5,banca6,cont_banca6,banca7,cont_banca7, + banca8,cont_banca8,banca9,cont_banca9,banca10,cont_banca10, + null as dataora,0 as tip_persoana,capital_soc_var,capital_soc_sub, + '' as comanda_externa,'' as cod, + '' as adresa_facturare,''as email_facturare,'' as adresa_livrare, '' as denadrf,'' as denadrl, + '' as stradaf, '' as judetf, '' as indicativ_judetf, '' as localitatef, '' as taraf, '' as cod_taraf, + '' as stradal, '' as judetl, '' as indicativ_judetl, '' as localitatel, '' as taral, '' as cod_taral, + '' as cod_tara, '' as judet, '' as indicativ_judet, '' as cod_judet, '' as localitate, 0 as id_cetatenie, '' as strada, '' as strada_nr + from syn_nom_firme where id_firma = ?gnIdFirma +union all +select 4 as tip,(case when tip_persoana = 1 then p.prefix||' '|| p.denumire||' '|| p.sufix else denumire end) as denumire, + p.cod_fiscal,p.cod_fiscal2,p.adresa,p.telefon,'' as fax,p.reg_comert,p.banca,p.cont_banca, + '' as banca2,'' as cont_banca2,'' as banca3,'' as cont_banca3, + '' as banca4,'' as cont_banca4,'' as banca5,'' as cont_banca5,'' as banca6,'' as cont_banca6,'' as banca7,'' as cont_banca7, + '' as banca8,'' as cont_banca8,'' as banca9,'' as cont_banca9,'' as banca10,'' as cont_banca10, + sysdate as dataora,p.tip_persoana,0 as capital_soc_var,0 as capital_soc_sub, + '' as comanda_externa,'' as cod, + d.adresa as adresa_facturare,d.email as email_facturare,'' as adresa_livrare,d.denumire_adresa as denadrf,'' as denadrl, + d.strada as stradaf, d.judet as judetf, d.indicativ as indicativ_judetf, d.localitate as localitatef, d.tara as taraf, d.prescurtare as cod_taraf, + '' as stradal, '' as judetl, '' as indicativ_judetl, '' as localitatel, '' as taral, '' as cod_taral, + p.cod_tara, p.judet, p.indicativ_judet, p.cod_judet, p.localitate, p.id_cetatenie, p.strada, p.numar as strada_nr + from vnom_parteneri p left join vanzari b on b.id_part=p.id_part and b.id_vanzare = ?poDate.nid_vanzare + left join vadrese_parteneri d on d.id_adresa=b.id_facturare + where p.id_part = ?poDate.nIdBeneficiar + ENDTEXT + Endcase + + If Used('crsdatefacturare') + Use In crsdatefacturare + Endif + lcCursor = [crsdatefacturare] + If !goExecutor.oExecuta(lcSql, lcCursor) + Return + Endif + + Select crsdatefacturare + Scan + Do Case + Case tip = 1 + Scatter Name poClient Memo + ptDataOra = poClient.dataora + Case tip = 2 + With poDate + .nume_responsabil = denumire + .BIresp = reg_comert + .CNPresp = cod_fiscal + Endwith + Case tip = 4 + Scatter Name poBeneficiar Memo + Otherwise + Scatter Name poFirma Memo + Endcase + Endscan + If Type('poBeneficiar') <> 'O' + Select crsdatefacturare + Scatter Name poBeneficiar Memo Blank + Endif + Use In crsdatefacturare + ************************************************ + ************************************************ + AddProperty(poClient, 'denumireClient', []) + AddProperty(poFirma, 'b_swift', []) + AddProperty(poFirma, 'b_adresa', []) + AddProperty(poFirma, 'b_swift2', []) + AddProperty(poFirma, 'b_adresa2', []) + AddProperty(poFirma, 'b_swift3', []) + AddProperty(poFirma, 'b_adresa3', []) + ************************************************ + ************************************************ + ** Date suplimentare contract + ************************************************ + poClient.denumireClient = poClient.denumire && salvez denumirea originala in denumireClient + Do Case + *!* modificare v 2.0.67 + *!* Case poDate.tip = 2 + *!* && facturare pe baza de contract + *!* Private pnIdContract + *!* pnIdContract=Iif(Type('poDate.listaid')='C',Val(poDate.listaid),poDate.listaid) + *!* lcSql = [select contract from ] + gcS + [.vcontracte where id_ctr = ?pnIdContract and text_standard = 1] + *!* If Used('crsdatesuplimentare') + *!* Use In crsdatesuplimentare + *!* Endif + *!* lcCursor = [crsdatesuplimentare] + *!* lnSucces = goExecutor.oExecute(lcSql,lcCursor) + *!* If lnSucces<0 + *!* amessagebox(goExecutor.oPrelucrareEroare(),16,"Eroare") + *!* Return + *!* Endif + *!* If Reccount('crsdatesuplimentare')>0 + *!* Select crsdatesuplimentare + *!* lcNumarCtr = Nvl(contract,[.........]) + *!* pcExplicatieContract = [Conform contractului nr. ] + lcNumarCtr + *!* Else + *!* pcExplicatieContract = [] + *!* Endif + *!* Use In crsdatesuplimentare + *!* Release pnIdContract + *!* modificare v 2.0.67 ^ + Case Inlist(poDate.tip, 3, 21, 28, 42, 47) Or (poDate.tip = 4 And Not Empty(poDate.id_comanda_aviz)) + && factura/aviz pe baza de comanda + *!* modificare v 2.0.99 : am adaugat nr_ctr si data_ctr + pcExplicatieContract = Iif(!Empty(Nvl(poClient.comanda_externa, [])), [Conform comanda nr. ] + poClient.comanda_externa, []) + ; + Iif(!Empty(Nvl(poClient.data_ctr, {})), Iif(!Empty(Nvl(poClient.comanda_externa, [])), CRLF, []) + ; + [Conform contract nr.] + Alltrim(poClient.nr_ctr) + [ din data de ] + ; + Padl(Alltrim(Str(Day(poClient.data_ctr))), 2, [0]) + [.] + ; + Padl(Alltrim(Str(Month(poClient.data_ctr))), 2, [0]) + [.] + ; + Alltrim(Str(Year(poClient.data_ctr))), []) + *!* modificare v 2.0.46 + *!* If poDate.tip = 3 Or (poDate.tip=4 And Not Empty(poDate.id_comanda_aviz)) + *!* poClient.adresa=Iif(Empty(poClient.adresa_facturare),poClient.adresa,poClient.adresa_facturare) + *!* Else + *!* poClient.adresa=Iif(Empty(poClient.adresa_livrare),poClient.adresa,poClient.adresa_livrare) + *!* Endif + + If poDate.tip = 3 Or (poDate.tip = 4 And Not Empty(poDate.id_comanda_aviz)) + poClient.adresa = Alltrim(Iif(Empty(Nvl(poClient.adresa_facturare, [])), poClient.adresa, poClient.adresa_facturare)) + poClient.denumire = poClient.denumire + Nvl(poClient.denadrf, []) + Else + poClient.adresa = Alltrim(Iif(Empty(Nvl(poClient.adresa_livrare, [])), poClient.adresa, poClient.adresa_livrare)) + poClient.denumire = poClient.denumire + Nvl(poClient.denadrl, []) + Endif + *!* modificare v 2.0.46 ^ + Case poDate.tip = 4 + && facturare conform aviz + pcExplicatieContract = [Conform aviz : ] + poDate.descriere + *!* modificare 11.02.2008 + *!* poClient.adresa=Iif(Empty(poClient.adresa_facturare),poClient.adresa,poClient.adresa_facturare) + *!* modificare 11.02.2008 ^ + Otherwise + pcExplicatieContract = [] + + If Type('poClient.adresa_facturare') = 'C' + poClient.adresa = Alltrim(Iif(Empty(Nvl(poClient.adresa_facturare, [])), poClient.adresa, poClient.adresa_facturare)) + poClient.denumire = poClient.denumire + Nvl(poClient.denadrf, []) + Endif + + Endcase + ************************************************ + ************************************************ + + * Salvez obiectul poClient in poDate sa pot accesa poDate.oClient.email_facturare la trimitere emailuri cu listare factura pdf + poDate.oClient = poClient + + *!* modificare v 2.0.58 + If poDate.nRelistare = 0 + poDate.nSalveazaAtasamente = Nvl(citeste_optiune_firma([ATASAMENTEFACT]), 0) + Endif + *!* modificare v 2.0.58 ^ + + *!* modificare v 2.0.46 + alege_optiuni_listare_facturare() + If m.glAlegeBanca + alege_banci_facturare() + Endif + *!* modificare v 2.0.46 ^ + Select crsfactura + Calculate Max(Round(Nvl(proc_tvav, 1), 2)) To poDate.proc_tva + poDate.proc_tva = poDate.proc_tva * 100 - 100 + + poDate.text_aditional = STRTRAN(poDate.text_aditional, CHR(170), CHR(13) + CHR(10), 1, 100, 1) + + poDate.text_aditional_en = poDate.text_aditional && modificare v 2.0.80 + + * Text TVA de afisat in partea de sus a facturii, daca este o singura explicatie de TVA pe toate liniile din crsDetalii + IF TYPE('poDate.cTextTVA') = 'U' + ADDPROPERTY(poDate, 'cTextTVA', '') + IF TYPE('gnTextTVAFactura') = 'N' AND m.gnTextTVAFactura = 1 AND !EMPTY(NVL(poDate.nid_vanzare,0)) + TEXT TO lcSqlTVA TEXTMERGE noshow + select distinct jt.denumire as jtva_coloana, + jte.explicatie as jtva_coloana_ex + from vanzari_detalii a + left join jtva_coloane_explicatii jte +on jte.id = a.id_jtva_coloana_ex + left join jtva_coloane jt +on jt.id_jtva_coloana = a.id_jtva_coloana + where a.id_vanzare = <> + ENDTEXT + llSucces = goExecutor.oExecuta(m.lcSqlTVA, 'cTextTVATemp') + IF m.llSucces AND RECCOUNT('cTextTVATemp') = 1 + SELECT cTextTVATemp + GO TOP + poDate.cTextTVA = IIF(!EMPTY(NVL(jtva_coloana_ex, '')), ALLTRIM(jtva_coloana_ex), ALLTRIM(NVL(jtva_coloana,''))) + ENDIF + USE IN (SELECT('cTextTVATemp')) + ENDIF + ENDIF && poDate.cTextTVA + + Do Case + CASE poDate.nEFactura = 1 + * do nothing + + Case INLIST(poDate.tip, 10, 52) And poDate.eProforma = 0 && factura fiscala in valuta lista de preturi, factura fiscala in valuta pe baza de contract + *!* modificare v 2.0.56 + lcSetare = [FACTURA] + lcExplicatieRaport = [factura] + lcSetareVizualizare = [PREVIZFACT] + Do Case + Case gnFormatFactura = 1 && format A4 + lcRaport = [FACTURA] + lcRaportVal = [FACTURA_VAL] + Case gnFormatFactura = 2 && format A5 + lcRaport = [FACTURA_A5] + lcRaportVal = [FACTURA_VAL_A5] + Case gnFormatFactura = 3 + If optiuni_format_listare(0) = 2 + lcRaport = [FACTURA_A5] + lcRaportVal = [FACTURA_VAL_A5] + Else + lcRaport = [FACTURA] + lcRaportVal = [FACTURA_VAL] + Endif + Endcase + poDate.text_aditional = Iif(!Empty(Nvl(poDate.text_aditional, [])), poDate.text_aditional + Chr(13) + Chr(10), []) + ; + [Curs valutar = ] + formateaza(poDate.Curs, 14, gnPCurs) + [ RON / ] + ; + Iif(poDate.multiplicator = 1, [], Alltrim(Str(poDate.multiplicator)) + [ ]) + Alltrim(poDate.nume_valuta) + poDate.text_aditional_en = Iif(!Empty(Nvl(poDate.text_aditional, [])), poDate.text_aditional + Chr(13) + Chr(10), []) + ; + [Exchange rate = ] + Alltrim(Str(poDate.Curs, 14, gnPCurs)) + [ RON / ] + ; + Iif(poDate.multiplicator = 1, [], Alltrim(Str(poDate.multiplicator)) + [ ]) + Alltrim(poDate.nume_valuta) + If poDate.incasat <> 0 + poDate.sumavorbe = suma_in_vorbe(poDate.incasat) + poDate.explicatie_chit = [facturii ] + Allt(Allt(Nvl(poDate.serie_act, [])) + [ ] + Alltrim(Transf(poDate.nract, get_mask(20, 0)))) + [ din ] + Dtoc(poDate.dataact) + *!* modificare ROAFACTURARE v 2.0.84 : lcDocument + lcDocument = Iif(poDate.ntip_incasare = 11, [chitanta], Iif(poDate.ntip_incasare = 2, [bon fiscal], Iif(poDate.ntip_incasare = 3, [POS/Card], [bon fiscal/chitanta]))) + *!* modificare ROAAUTO v 2.0.41 ( 06.03.2011 ) : daca e bon fiscal, atunci nu-i trec seria + poDate.text_aditional = Iif(!Empty(Nvl(poDate.text_aditional, [])), poDate.text_aditional + Chr(13) + Chr(10), []) + ; + [ Achitat cu ] + lcDocument + [ nr.] + Iif(poDate.ntip_incasare = 2, [], Alltrim(Nvl(poDate.serie_chit, []))) + [ ] + Alltrim(Str(poDate.nr_incasare)) + [ din ] + Dtoc(poDate.dataact) + [ .] + *!* modificare ROAAUTO v 2.0.41 ( 06.03.2011 ) : daca e bon fiscal, atunci nu-i trec seria + poDate.text_aditional_en = Iif(!Empty(Nvl(poDate.text_aditional_en, [])), poDate.text_aditional_en + Chr(13) + Chr(10), []) + ; + [ Paid with cash ( receipt no. ] + Iif(poDate.ntip_incasare = 2, [], Alltrim(Nvl(poDate.serie_chit, []))) + [ ] + Alltrim(Str(poDate.nr_incasare)) + [ from ] + Dtoc(poDate.dataact) + [ ).] + Endif + *!* modificare v 2.0.56 ^ + *!* modificare v 2.0.77 + *!* *!* modificare v 2.0.4 + *!* Case Inlist(poDate.tip,23,25,27,28,29,30,41,-6) + *!* If Nvl(gnPretListSubunitati,2)=2 + *!* lcRaport = [AVIZ_TRANSFER] + *!* Else + *!* lcRaport = [AVIZ_TRANSFER_CTVA] + *!* Endif + *!* lcSetare = [AVIZ] + *!* lcExplicatieRaport = [avizul de transfer] + *!* *!* modificare v 2.0.46 + *!* *!* lnVizualizare = Iif(Type('gnVizualAviz')='N',gnVizualAviz,1) + *!* lcSetareVizualizare = [PREVIZAVIZ] + *!* *!* modificare v 2.0.46 ^ + *!* *!* modificare v 2.0.4 ^ + *!* modificare v 2.0.77 ^ + *!* modificare v 2.0.93 + Case (Between(poDate.tip, 1, 20) Or Inlist(poDate.tip, -1, -2, -3, -4, -8, -11, 44, 45, 48, 49, 50, 51, 52)) And poDate.eProforma = 1 + *!* Case poDate.tip < 20 And poDate.eProforma = 1 && proforme + *!* modificare v 2.0.93 ^ + lcRaport = [PROFORMA] + lcRaportVal = [PROFORMA_VAL] + lcSetare = [PROFORMA] + lcExplicatieRaport = [proforma] + *!* modificare v 2.0.46 + *!* lnVizualizare = Iif(Type('gnVizualProf')='N',gnVizualProf,1) + lcSetareVizualizare = [PREVIZPROF] + *!* modificare v 2.0.46 ^ + *!* modificare v 2.0.70 + If Nvl(gnListCursVal, 1) = 1 And poDate.in_valuta = 0 + Local lcCurs, lcCursEn + lcCurs = [] + lcCursEn = [] + Create Cursor crsTempVal(nume_val c(100), Curs N(14, gnPCurs), multiplicator N(10)) + Insert Into crsTempVal(nume_val, Curs, multiplicator) ; + Select Distinct nume_val, Curs, multiplicator From crsfactura Where tip_valuta = 1 + Select crsTempVal + Scan + lcCurs = lcCurs + [;] + formateaza(Curs, 14, gnPCurs) + [ RON / ] + ; + Iif(multiplicator = 1, [], Alltrim(Str(multiplicator)) + [ ]) + Alltrim(nume_val) + [ ] + lcCursEn = lcCursEn + [;] + Alltrim(Str(Curs, 14, gnPCurs)) + [ RON / ] + ; + Iif(multiplicator = 1, [], Alltrim(Str(multiplicator)) + [ ]) + Alltrim(nume_val) + [ ] + Endscan + If !Empty(lcCurs) + poDate.text_aditional = Iif(!Empty(Nvl(poDate.text_aditional, [])), poDate.text_aditional + Chr(13) + Chr(10), []) + ; + [Curs valutar = ] + Substr(lcCurs, 2) + poDate.text_aditional_en = Iif(!Empty(Nvl(poDate.text_aditional, [])), poDate.text_aditional + Chr(13) + Chr(10), []) + ; + [Exchange rate = ] + Substr(lcCursEn, 2) + Endif + If Used('crsTempVal') + Use In crsTempVal + Endif + Release lcCurs, lcCursEn + Endif + *!* modificare v 2.0.70 ^ + *!* modificare v 2.0.41 + *!* Case poDate.tip < 20 + *!* modificare v 2.0.76 : am adaugat 44, 45 + *!* modificare v 2.0.93 : am adaugat 48 + Case Between(poDate.tip, 1, 20) Or Inlist(poDate.tip, -1, -2, -3, -4, -8, -11, 44, 45, 48, 49, 50, 51) && facturi lei + invoice + *!* modificare v 2.0.41 ^ + lcSetare = [FACTURA] + lcExplicatieRaport = [factura] + *!* modificare v 2.0.46 + *!* lnVizualizare = Iif(Type('gnVizualFact')='N',gnVizualFact,1) + lcSetareVizualizare = [PREVIZFACT] + *!* modificare v 2.0.46 ^ + Do Case + Case poDate.tip = 51 && ACN + lcRaport = [FACTURA_ACN] + lcRaportVal = [FACTURA_ACN] + + Case gnFormatFactura = 1 && format A4 + lcRaport = [FACTURA] + lcRaportVal = [INVOICE] + Case gnFormatFactura = 2 && format A5 + lcRaport = [FACTURA_A5] + lcRaportVal = [INVOICE_A5] + Case gnFormatFactura = 3 + *!* modificare v 2.0.46 + *!* If optiuni_format_factura() = 2 + If optiuni_format_listare(0) = 2 + *!* modificare v 2.0.46 + lcRaport = [FACTURA_A5] + lcRaportVal = [INVOICE_A5] + Else + lcRaport = [FACTURA] + lcRaportVal = [INVOICE] + Endif + Endcase + lcRaportVal = Iif(poDate.tip = 7, [CREDIT_NOTE], lcRaportVal) + If poDate.in_valuta = 1 + *!* modificare v 2.0.46 + poDate.text_aditional_invoice = poDate.text_aditional + *!* modificare v 2.0.46 ^ + poDate.text_aditional = Iif(!Empty(Nvl(poDate.text_aditional, [])), poDate.text_aditional + Chr(13) + Chr(10), []) + ; + [Curs valutar = ] + formateaza(poDate.Curs, 14, gnPCurs) + [ RON / ] + ; + Iif(poDate.multiplicator = 1, [], Alltrim(Str(poDate.multiplicator)) + [ ]) + Alltrim(poDate.nume_valuta) + poDate.text_aditional_en = Iif(!Empty(Nvl(poDate.text_aditional, [])), poDate.text_aditional + Chr(13) + Chr(10), []) + ; + [Exchange rate = ] + Alltrim(Str(poDate.Curs, 14, gnPCurs)) + [ RON / ] + ; + Iif(poDate.multiplicator = 1, [], Alltrim(Str(poDate.multiplicator)) + [ ]) + Alltrim(poDate.nume_valuta) + *!* modificare v 2.0.67 + Else + If Nvl(gnListCursVal, 1) = 1 + Local lcCurs, lcCursEn + lcCurs = [] + lcCursEn = [] + Create Cursor crsTempVal(nume_val c(100), Curs N(14, gnPCurs), multiplicator N(10)) + Insert Into crsTempVal(nume_val, Curs, multiplicator) ; + Select Distinct nume_val, Curs, multiplicator From crsfactura Where tip_valuta = 1 + Select crsTempVal + Scan + lcCurs = lcCurs + [;] + formateaza(Curs, 14, gnPCurs) + [ RON / ] + ; + Iif(multiplicator = 1, [], Alltrim(Str(multiplicator)) + [ ]) + Alltrim(nume_val) + [ ] + lcCursEn = lcCursEn + [;] + Alltrim(Str(Curs, 14, gnPCurs)) + [ RON / ] + ; + Iif(multiplicator = 1, [], Alltrim(Str(multiplicator)) + [ ]) + Alltrim(nume_val) + [ ] + Endscan + If !Empty(lcCurs) + poDate.text_aditional = Iif(!Empty(Nvl(poDate.text_aditional, [])), poDate.text_aditional + Chr(13) + Chr(10), []) + ; + [Curs valutar = ] + Substr(lcCurs, 2) + poDate.text_aditional_en = Iif(!Empty(Nvl(poDate.text_aditional, [])), poDate.text_aditional + Chr(13) + Chr(10), []) + ; + [Exchange rate = ] + Substr(lcCursEn, 2) + Endif + If Used('crsTempVal') + Use In crsTempVal + Endif + Release lcCurs + Endif + *!* modificare v 2.0.67 ^ + Endif + + If poDate.incasat <> 0 + poDate.sumavorbe = suma_in_vorbe(poDate.incasat) + poDate.explicatie_chit = [facturii ] + Allt(Allt(Nvl(poDate.serie_act, [])) + [ ] + Alltrim(Transf(poDate.nract, get_mask(20, 0)))) + [ din ] + Dtoc(poDate.dataact) + *!* modificare ROAFACTURARE v 2.0.84 : lcDocument + lcDocument = Iif(poDate.ntip_incasare = 11, [chitanta], Iif(poDate.ntip_incasare = 2, [bon fiscal], Iif(poDate.ntip_incasare = 3, [POS/Card], [bon fiscal/chitanta]))) + *!* modificare ROAAUTO v 2.0.41 ( 06.03.2011 ) : daca e bon fiscal, atunci nu-i trec seria + poDate.text_aditional = Iif(!Empty(Nvl(poDate.text_aditional, [])), poDate.text_aditional + Chr(13) + Chr(10), []) + ; + [ Achitat cu ] + lcDocument + [ nr.] + Iif(poDate.ntip_incasare = 2, [], Alltrim(Nvl(poDate.serie_chit, []))) + [ ] + Alltrim(Str(poDate.nr_incasare)) + [ din ] + Dtoc(poDate.dataact) + *!* modificare ROAAUTO v 2.0.41 ( 06.03.2011 ) : daca e bon fiscal, atunci nu-i trec seria + poDate.text_aditional_en = Iif(!Empty(Nvl(poDate.text_aditional_en, [])), poDate.text_aditional_en + Chr(13) + Chr(10), []) + ; + [ Paid with cash ( receipt no. ] + Iif(poDate.ntip_incasare = 2, [], Alltrim(Nvl(poDate.serie_chit, []))) + [ ] + Alltrim(Str(poDate.nr_incasare)) + [ from ] + Dtoc(poDate.dataact) + [ ).] + Endif + *!* modificare v 2.0.189 + *!* modificare ROAAUTO v 2.0.28 + Case Inlist(poDate.tip, -12) + lcSetare = [FACTURA] + lcExplicatieRaport = [factura] + lcSetareVizualizare = [PREVIZFACT] + Do Case + Case gnTIP_LFACTURA_LINII = 1 And (gnTIP_LFACTURA = 1 Or (gnTIP_LFACTURA = 3 And poDate.ntip_incasare = 11)) + lcRaport = [FACTURATIP_CUCHIT] + lcRaportVal = [INVOICE] + Case gnTIP_LFACTURA_LINII = 1 And Inlist(gnTIP_LFACTURA, 2, 3) + lcRaport = [FACTURATIP] && A5 + lcRaportVal = [INVOICE] + + If gnFormatFactura = 3 && A4 SAU A5 + If optiuni_format_listare(0) = 2 + lcRaport = [FACTURATIP_A5] + lcRaportVal = [INVOICE_A5] + Else + lcRaport = [FACTURATIP] + lcRaportVal = [INVOICE] + Endif + Endif + + Case gnTIP_LFACTURA_LINII = 2 And gnFormatFactura = 1 && format A4 + lcRaport = [FACTURA] + lcRaportVal = [INVOICE] + Case gnTIP_LFACTURA_LINII = 2 And gnFormatFactura = 2 && format A5 + lcRaport = [FACTURA_A5] + lcRaportVal = [INVOICE_A5] + Case gnTIP_LFACTURA_LINII = 2 And gnFormatFactura = 3 + If optiuni_format_listare(0) = 2 + lcRaport = [FACTURA_A5] + lcRaportVal = [INVOICE_A5] + Else + lcRaport = [FACTURA] + lcRaportVal = [INVOICE] + Endif + Endcase + lcRaportVal = Iif(poDate.tip = 7, [CREDIT_NOTE], lcRaportVal) + + If poDate.incasat <> 0 + poDate.sumavorbe = suma_in_vorbe(poDate.incasat) + poDate.explicatie_chit = [facturii ] + Allt(Allt(Nvl(poDate.serie_act, [])) + [ ] + Alltrim(Transf(poDate.nract, get_mask(20, 0)))) + [ din ] + Dtoc(poDate.dataact) + lcDocument = Iif(poDate.ntip_incasare = 11, [chitanta], Iif(poDate.ntip_incasare = 2, [bon fiscal], Iif(poDate.ntip_incasare = 3, [POS/Card], [bon fiscal/chitanta]))) + *!* modificare ROAAUTO v 2.0.41 ( 06.03.2011 ) : daca e bon fiscal, atunci nu-i trec seria + poDate.text_aditional = Iif(!Empty(Nvl(poDate.text_aditional, [])), poDate.text_aditional + Chr(13) + Chr(10), []) + ; + [ Achitat cu ] + lcDocument + [ nr.] + Iif(poDate.ntip_incasare = 2, [], Alltrim(Nvl(poDate.serie_chit, []))) + [ ] + Alltrim(Str(poDate.nr_incasare)) + [ din ] + Dtoc(poDate.dataact) + [ .] + Endif + *!* modificare ROAAUTO v 2.0.28 ^ + *!* modificare v 2.0.189 + Case Inlist(poDate.tip, -9, -10) + lcSetare = [AVIZ] + lcExplicatieRaport = [avizul] + lcSetareVizualizare = [PREVIZAVIZ] + lcRaport = [PROTOCOL2] + *!* modificare v 2.0.189 ^ + Otherwise && avize + lcSetare = [AVIZ] + lcExplicatieRaport = [avizul] + *!* modificare v 2.0.46 + *!* lnVizualizare = Iif(Type('gnVizualAviz')='N',gnVizualAviz,1) + lcSetareVizualizare = [PREVIZAVIZ] + *!* lcRaport = [AVIZ] + *!* modificare v 2.0.77 + *!* If Nvl(gnPretListSubunitati,2)=2 + *!* Do Case + *!* Case gnFormatAviz = 1 && format A4 + *!* lcRaport = [AVIZ] + *!* Case gnFormatAviz = 2 && format A5 + *!* lcRaport = [AVIZ_A5] + *!* Case gnFormatAviz = 3 + *!* If optiuni_format_listare(1) = 2 + *!* lcRaport = [AVIZ_A5] + *!* Else + *!* lcRaport = [AVIZ] + *!* Endif + *!* Endcase + *!* Else + *!* Do Case + *!* Case gnFormatAviz = 1 && format A4 + *!* lcRaport = [AVIZ_TRANSFER_CTVA] + *!* Case gnFormatAviz = 2 && format A5 + *!* lcRaport = [AVIZ_TRANSFER_CTVA_A5] + *!* Case gnFormatAviz = 3 + *!* If optiuni_format_listare(1) = 2 + *!* lcRaport = [AVIZ_TRANSFER_CTVA_A5] + *!* Else + *!* lcRaport = [AVIZ_TRANSFER_CTVA] + *!* Endif + *!* Endcase + *!* Endif + lcRaport = [AVIZ] + && transferuri intre subunitati : 23,25,27,28,29,30,41,-6 + If Nvl(gnPretListAviz, 2) = 1 + lcRaport = lcRaport + [_CTVA] + lnPretListAviz = 1 + Endif + If gnFormatAviz = 2 && format A5 + lcRaport = lcRaport + [_A5] + Else + If gnFormatAviz = 3 + If optiuni_format_listare(1) = 2 + lcRaport = lcRaport + [_A5] + Endif + Endif + Endif + *!* modificare v 2.0.77 ^ + *!* modificare v 2.0.46 ^ + Endcase + + * DECLARATIE CONFORMITATE + FOR lnLinie = 1 TO 8 + lcLinie = 'gcTEXTCONFORMFACT' + ALLTRIM(STR(m.lnLinie)) + &lcLinie = STRTRAN(&lcLinie, '', ALLTRIM(UPPER(NVL(poFirma.denumire,''))),1,10,1) + &lcLinie = STRTRAN(&lcLinie, '', ALLTRIM(NVL(poFirma.adresa,'')),1,10,1) + &lcLinie = STRTRAN(&lcLinie, '', ALLTRIM(NVL(poFirma.reg_comert,'')),1,10,1) + &lcLinie = STRTRAN(&lcLinie, '', ALLTRIM(NVL(poFirma.cod_fiscal,'')),1,10,1) + &lcLinie = STRTRAN(&lcLinie, '', ALLTRIM(STR(poDate.nract)),1,10,1) + &lcLinie = STRTRAN(&lcLinie, '', ALLTRIM(TRANSFORM(poDate.dataact)),1,10,1) + ENDFOR + + && prelucrare factura si aviz de retur + prelucreaza_factura([crsfactura], [crsfacturaset], [crsfacturafinala], poDate.discount_evidentiat, poDate.in_valuta, lnPretListAviz, poDate.nListareDetaliata) + If Used('crsavizretur') And poDate.nract_retur <> 0 + prelucreaza_aviz_retur(poDate.discount_evidentiat) && ofacturare_comun.prg + Endif + + lcCursorFacturaTemp = 'crsFacturaFinala' + If (poDate.tip = 51 And poDate.in_valuta = 1) + lcCursorFacturaTemp = 'crsfacturafinalaval' && la factura ACN este un singur formular pentru intern si extern. nu mai listez un formular suplimentar pentru extern + Endif + + Select (m.lcCursorFacturaTemp) + Calculate Cnt() To pnTotalPozitii For cantitate <> 0 + *!* modificare v 2.0.80 + If poDate.incasat <> 0 And poDate.eProforma = 0 AND poDate.nEFactura = 0 And poDate.in_valuta = 0 And pnTotalPozitii <= 10 And lcRaport = [FACTURA] ; + And Iif(Type('glFacturaCuChitanta') <> 'L', .F., glFacturaCuChitanta) ; + And poDate.ntip_incasare = 11 && modificare v 2.0.84 + lcRaport = [FACTURA_CHIT] + Endif + *!* modificare v 2.0.80 ^ + + Go Top + If poDate.listare_componenta_set = 0 + Select(m.lcCursorFacturaTemp) + Set Filter To cantitate <> 0 + Endif + + loPreviewerConfig = Createobject("PreviewerConfig") && rapoarte.prg + + * daca listez factura + If poDate.nListareJustPDF = 0 AND poDate.nEFactura = 0 + If poDate.nListareSilentioasa = 1 + m.loPreviewerConfig.SetValue("lDirectPrint", .T.) + Endif + && listare factura / aviz / proforma + + goExport.export2frx(m.lcCursorFacturaTemp, lcRaport, .F., lcSetareVizualizare, lcSetare, , , .T., , loPreviewerConfig) && modificare v 2.2.15 + ENDIF + + * Optiune daca se trimite factura pe email dupa generarea facturii + lnFacturaEmail = Nvl(citeste_optiune_firma([FACTURAEMAIL]), 0) && 0 = nu trimite, 1 = trimite fara confirmare, 2 = trimite cu confirmare + lnFacturaEmail = IIF(m.lnFacturaEmail >0 and poDate.nRelistare = 0, m.lnFacturaEmail, 0) + + llGenerarePDFDisk = .F. + * daca generez doar pdf pe disk sau vreau sa trimit factura pe email (trebuie sa generez pdf) + IF poDate.nListareJustPDF = 1 OR ; + (m.lnFacturaEmail = 1) OR ; + (m.lnFacturaEmail = 2 AND AMESSAGEBOX('Doriti sa trimiteti factura pe email (' + ALLTRIM(NVL(poDate.oClient.email_facturare,'')) + ')?',4+32,_screen.Caption) = 6) + lcDestinationFile = GetPDFFacturaFile(poDate.dataact, poDate.nract) + llGenerarePDFDisk = .T. + If !File(m.lcDestinationFile) Or (File(m.lcDestinationFile) And AMESSAGEBOX('Doriti sa suprascrieti ' + m.lcDestinationFile + '?', 4 + 32, _Screen.Caption) = 6) + m.loPreviewerConfig.SetValue("cDestFile", m.lcDestinationFile) + m.loPreviewerConfig.SetValue("lOpenDestFile", .F.) + m.loPreviewerConfig.SetValue("lDirectPrint", .T.) + m.loPreviewerConfig.SetValue("lOpenViewer", .F.) + + lcPdfHasImage = goApp.ReadIni([email_factura], "pdfhasimage") + llPdfHasImage = (m.lcPdfHasImage = "1") + If Empty(m.lcPdfHasImage) + goApp.WriteIni([email_factura], "pdfhasimage", "0") + llPdfHasImage = .F. + Endif + m.loPreviewerConfig.SetValue("lPDFasImage", m.llPdfHasImage) + + * tcAlias, tcRaport, tlCereTitlu, tcSetareVizualizare, tcSetareImprimanta, tcParametriListare, toListener, tlMultiPreview, tcReportPreviewer, toPreviewerConfig + goExport.export2frx(m.lcCursorFacturaTemp, lcRaport, .F., lcSetareVizualizare, lcSetare, , , .T., , loPreviewerConfig) + ENDIF + + If m.lnFacturaEmail > 0 AND File(m.lcDestinationFile) + wrap_email_facturi(null, "", 1, 1, 1, poDate.nid_vanzare) + ENDIF + ENDIF + + && salvare factura / aviz + If poDate.nRelistare = 0 And poDate.eProforma = 0 AND poDate.nEFactura = 0 And poDate.nSalveazaAtasamente = 1 + goExport.export2pdf(m.lcCursorFacturaTemp, lcRaport, .F., poDate.cDocAtasate) + Endif + If poDate.listare_componenta_set = 0 + Select (m.lcCursorFacturaTemp) + Set Filter To + Endif + + *!* modificare ROAAUTO v 2.0.28 + && certificat garantie ROAAUTO + If poDate.tip = -12 AND poDate.nEFactura = 0 + If gnTIP_LFACTURA_LINII = 2 And gnCGarantie = 1 + AMESSAGEBOX("Introduceti facturile pentru a se imprima certificatul de garantie pe verso!", 48, "Atentie") + If lcRaport = [FACTURA_A5] + goExport.export2frx('crsfacturafinala', [certificatg_a5], .F., , , , , .T.) && modificare ROAAUTO v 2.1.9 + Else + goExport.export2frx('crsfacturafinala', [certificatg_a4], .F., , , , , .T.) && modificare ROAAUTO v 2.1.9 + Endif + Endif + Endif + *!* modificare ROAAUTO v 2.0.28 ^ + + && listare si salvare aviz retur + If Used('crsfacturafinala2') AND poDate.nEFactura = 0 + Select crsfacturafinala2 + poDate.text_aditional = poDate.text_aditional_retur + poDate.nract = poDate.nract_retur + poDate.serie_act = poDate.serie_act_retur + + Calculate Cnt() To pnTotalPozitii For cantitate <> 0 + Go Top + + lcRaport = [AVIZ] + lcSetare = [AVIZ] + lcSetareVizualizare = [PREVIZAVIZ] + goExport.export2frx('crsfacturafinala2', lcRaport, .F., lcSetareVizualizare, lcSetare, , , .T.) && modificare v 2.2.15 + If poDate.nRelistare = 0 And poDate.eProforma = 0 And poDate.nSalveazaAtasamente = 1 + goExport.export2pdf('crsfacturafinala2', lcRaport, .F., poDate.cDocAtasate) + Endif + Use In crsfacturafinala2 + Endif + + && listare factura in valuta + If poDate.in_valuta = 1 And poDate.tip <> 51 AND poDate.nEFactura = 0 && la factura ACN este un singur formular pentru intern si extern. nu mai listez un formular suplimentar pentru extern + + Select crsfacturafinalaval + Calculate Cnt() To pnTotalPozitii For cantitate <> 0 + Go Top + If poDate.listare_componenta_set = 0 + Select crsfacturafinalaval + Set Filter To cantitate <> 0 + ENDIF + + * daca listez factura + If poDate.nListareJustPDF = 0 + If poDate.nListareSilentioasa = 1 + m.loPreviewerConfig.SetValue("lDirectPrint", .T.) + Endif + && listare factura / aviz / proforma + + goExport.export2frx('crsfacturafinalaval', lcRaportVal, .F., lcSetareVizualizare, lcSetare, , , .T., , loPreviewerConfig) && modificare v 2.2.15 + ENDIF + + * llGenerarePDFDisk + * Am verificat deja la listarea facturii in lei daca se doreste salvarea pdf pe disk pentru email + IF m.llGenerarePDFDisk + lcDestinationFile = GetPDFFacturaValutaFile(poDate.dataact, poDate.nract) + If !File(m.lcDestinationFile) Or (File(m.lcDestinationFile) And AMESSAGEBOX('Doriti sa suprascrieti ' + m.lcDestinationFile + '?', 4 + 32, _Screen.Caption) = 6) + m.loPreviewerConfig.SetValue("cDestFile", m.lcDestinationFile) + m.loPreviewerConfig.SetValue("lOpenDestFile", .F.) + m.loPreviewerConfig.SetValue("lDirectPrint", .T.) + m.loPreviewerConfig.SetValue("lOpenViewer", .F.) + + lcPdfHasImage = goApp.ReadIni([email_factura], "pdfhasimage") + llPdfHasImage = (m.lcPdfHasImage = "1") + If Empty(m.lcPdfHasImage) + goApp.WriteIni([email_factura], "pdfhasimage", "0") + llPdfHasImage = .F. + Endif + m.loPreviewerConfig.SetValue("lPDFasImage", m.llPdfHasImage) + + * tcAlias, tcRaport, tlCereTitlu, tcSetareVizualizare, tcSetareImprimanta, tcParametriListare, toListener, tlMultiPreview, tcReportPreviewer, toPreviewerConfig + goExport.export2frx('crsfacturafinalaval', lcRaportVal, .F., lcSetareVizualizare, lcSetare, , , .T., , loPreviewerConfig) + ENDIF + + If m.lnFacturaEmail > 0 AND File(m.lcDestinationFile) + wrap_email_facturi(null, "", 1, 1, 1, poDate.nid_vanzare) + ENDIF + ENDIF && llGenerarePDFDisk + + +*!* goExport.export2frx('crsfacturafinalaval', lcRaportVal, .F., lcSetareVizualizare, lcSetare, , , .T.) && modificare v 2.2.15 + If poDate.nRelistare = 0 And poDate.eProforma = 0 And poDate.nSalveazaAtasamente = 1 + goExport.export2pdf('crsfacturafinalaval', lcRaportVal, .F., poDate.cDocAtasate) + Endif + Use In crsfacturafinalaval + *!* modificare v 2.0.80 + *!* poDate.text_aditional = Strtran(poDate.text_aditional,[Exchange rate =],[Curs valutar =]) + poDate.text_aditional = poDate.text_aditional_en + *!* modificare v 2.0.80 ^ + Endif + + && salveaza recapitulatie + If poDate.nRelistare = 0 And poDate.eProforma = 0 AND poDate.nEFactura = 0 And Used('crsfacturaset') And poDate.nSalveazaAtasamente = 1 + prelucreaza_recapitulatie(poDate.discount_evidentiat) + Select crsrecapitulatie + Calculate Cnt() To pnTotalPozitii For cantitate <> 0 + Go Top + goExport.export2pdf('crsrecapitulatie', 'recapitulatie', .F., poDate.cDocAtasate) + Select crsrecapitulatie + Go Top + Endif + + && listare recapitulatie + If poDate.listare_recapitulatie = 1 AND poDate.nEFactura = 0 + If poDate.nRelistare = 1 ; + Or (poDate.nRelistare = 0 And poDate.eProforma = 0 And Used('crsfacturaset') And poDate.nSalveazaAtasamente = 0) && modificare v 2.0.67 + prelucreaza_recapitulatie(poDate.discount_evidentiat) + Select crsrecapitulatie + Calculate Cnt() To pnTotalPozitii For cantitate <> 0 + Go Top + Endif + goExport.export2frx('crsrecapitulatie', 'recapitulatie', , , , , , .T.) && modificare v 2.2.15 + Endif + If Used('crsrecapitulatie') + Use In crsrecapitulatie + Endif + + && listare lista livrare + If poDate.listare_lista_livrare = 1 AND poDate.nEFactura = 0 && pentru proforme e intotdeauna 0 ( vezi alege_optiuni_listare_facturare ) + prelucreaza_lista_livrare() + goExport.export2frx('crslistalivrare', 'lista_livrare', , , , , , .T.) && modificare v 2.2.15 + Use In crslistalivrare + Endif + + *!* modificare v 2.0.80 + If poDate.incasat <> 0 And poDate.eProforma = 0 AND poDate.nEFactura = 0 And poDate.in_valuta = 0 And !Inlist(lcRaport, [FACTURA_CHIT], [FACTURATIP_CUCHIT]) ; + And poDate.ntip_incasare = 11 && modificare ROAFACTURARE v 2.0.84 + goExport.export2frx('crsfacturafinala', 'chitanta', .F., lcSetareVizualizare, lcSetare, , , .T.) && modificare v 2.2.15 + Endif + *!* modificare v 2.0.80 ^ + + && salvare atasamente + If poDate.nRelistare = 0 And poDate.eProforma = 0 AND poDate.nEFactura = 0 And poDate.nSalveazaAtasamente = 1 + poDate.scrieAtasamente() + Endif + + * Listare eFactura + IF poDate.nEFactura = 1 + && listare factura in valuta + If poDate.in_valuta = 1 And poDate.tip <> 51 && la factura ACN este un singur formular pentru intern si extern. nu mai listez un formular suplimentar pentru extern + lcCursoreFactura = 'crsfacturafinalaval' + ELSE + lcCursoreFactura = m.lcCursorFacturaTemp + ENDIF + + SELECT (m.lcCursoreFactura) + Calculate Cnt() To pnTotalPozitii For cantitate <> 0 + Go Top + If poDate.listare_componenta_set = 0 + SELECT (m.lcCursoreFactura) + Set Filter To cantitate <> 0 + ENDIF + + + llSilentios = (poDate.nListareSilentioasa = 1) + poDate.oInfoEFactura = goExport.export2xml_efactura(poDate, m.lcCursoreFactura, m.llSilentios) && modificare v 2.2.15 + ENDIF + + Use In (SELECT('crsfacturafinala')) +Endproc +******************************************** SFARSIT: listeaza_ofacturare ********************************************** +Procedure listeaza_oconformitate + Local loArticol + Private poClient, poFirma&&,pcstring1,pcstring2,pcstring3 + + If Used('crsFirma') + Use In crsFirma + Endif + + lcSql = [select antet as denumire,cod_fiscal,localitate,reg_comert from syn_nom_firme ] + ; + [where id_firma = ?gnIdFirma] + lcCursor = "crsFirma" + If !goExecutor.oExecuta(lcSql, lcCursor) + Return + Endif + + Select crsFirma + Scatter Name poFirma + + *!* modificare v 2.0.46 + *!* If Used('crsConformitate') + *!* Use In crsConformitate + *!* Endif + lcCursorTemp = "crsConformitateT" + lcCursor = "crsConformitate" + If Used(lcCursorTemp) + Use In (lcCursorTemp) + Endif + *!* modificare v 2.0.46 ^ + + *!* modificare v 2.2.18 : am adaugat distinct si r.sters = 0 and r.id_tip_rulaj = 0 + lcSql = [select distinct r.id_articol,a.codmat,a.denumire,a.codmatf,a.conditii_pastrare,r.lot,r.adata_expirare,r.dataact ] + ; + [from rul r left join nom_articole a on r.id_articol = a.id_articol where r.cod = ?poDate.Cod and r.sters = 0 and r.id_tip_rulaj = 0] + *!* modificare v 2.0.46 + *!* lcCursor="crsConformitate" + *!* lnSucces = goExecutor.oExecute(lcSql,lcCursor) + If !goExecutor.oExecuta(lcSql, lcCursorTemp) + *!* modificare v 2.0.46 ^ + Return + Endif + lcRaport = "conformitate" + * loExport = Createobject("oExportConfig") + + *!* pcstring1="Noi " + NVL(ALLTRIM(poFirma.denumire),"") + "," + NVL(ALLTRIM(poFirma.Localitate),"") + "cu nr. de inregistrare la Registrul Comertului nr. " + NVL(ALLTRIM(poFirma.reg_comert),"")+ " Cod Fiscal "+NVL(ALLTRIM(poFirma.cod_fiscal),"") + *!* pcstring2=", declaram si garantam pe proprie raspundere ca produsele la care se refera aceasta declaratie nu pun in pericol" + *!* pcstring3= " viata sau sanatatea si sunt in conformitate cu legislatia sanitara, sanitar-veterinara si pentru siguranta alimentelor, in vigoare :" + *!* MESSAGEBOX(pcstring1 + pcstring2 + pcstring3) + + *!* listareUserReport('crsConformitate','FRX',lcRaport) + *!* Use In crsFirma + Select codmat, codmatf, denumire, lot, adata_expirare, dataact, conditii_pastrare, id_articol From (lcCursorTemp) ; + Into Cursor (lcCursor) Readwrite + Select (lcCursor) + Browse + goExport.export2frx(lcCursor, lcRaport, , , , , , .T.) && modificare v 2.2.15 + Use In crsFirma + Use In (lcCursorTemp) + Use In (lcCursor) + *!* modificare v 2.0.46 ^ +Endproc + + +******************************************************************************************************************* +Procedure listeaza_bon_fiscal + Lparameters ttDataOra, tnNrBon, tnSumaAchitNumerar, tnSumaAchitCARD, tnProcentTva, tnNrFact, tnBonDetaliat, tcCursorFactura + * ttDataOra: dataora listare + * tnNrBon: numar bon fiscal + * tnSumaAchitNumerar: Suma achitata numerar + * tnSumaAchitCARD: Suma achitata cu card la POS + * tnProcentTVA + * tnNrFact: Numar factura, daca NU se listeaza bonul detaliat pe articole + * tnBonDetaliat: 1 = se listeaza articolele individual; 0 = "contravaloarea factura nr..." + * tcCursorFactura: numele cursorului cu articole din factura pentru listarea detaliata a bonului fiscal + + Local lcCursor, lcCursorArticole, lcSelect, lnBonDetaliat, loHash, lnValoare, lnDiferenta + lcSelect = Select() + lnBonDetaliat = Iif(Type('tnBonDetaliat') = 'N', m.tnBonDetaliat, 0) + lcCursorFactura = Iif(Type('tcCursorFactura') = 'C' And !Empty(m.tcCursorFactura), m.tcCursorFactura, '') + + lcCursor = [crsDateBon] + Create Cursor (lcCursor) (denumire c(100), um c(10), CANT N(10, 4), Pret N(18, 4), DEPARTAMENT N(2), proc_tvav N(5, 2), PROCENT N(5, 2), DISCOUNT N(2) Default 0) + + + DO CASE + CASE m.lnBonDetaliat = 1 And !Empty(m.lcCursorFactura) And Used(m.lcCursorFactura) + Insert Into (lcCursor) (denumire, um, CANT, Pret, DEPARTAMENT, proc_tvav) ; + Select denumire, Nvl(um, 'BUC') As um, cantitate, (pretctva-discountctva), 1, proc_tvav From (m.lcCursorFactura) + + CASE m.lnBonDetaliat = 0 And !Empty(m.lcCursorFactura) And Used(m.lcCursorFactura) + * Daca bonul nu se listeaza detaliat, cumulez pe cote TVA + SELECT (lcCursorFactura) + SELECT proc_tvav, ROUND(SUM(cantitate*(pretctva-discountctva)), m.gnPC) as valoare FROM (lcCursorFactura) GROUP BY proc_tvav ORDER BY proc_tvav DESC INTO CURSOR cCoefTVATemp READWRITE + + * Pun diferenta dintre totalul incasat si totalul sumelor defalcate pe cote TVA pe prima cota TVA + CALCULATE SUM(valoare) TO lnValoare IN cCoefTVATemp + lnDiferenta = m.tnSumaAchitNumerar + m.tnSumaAchitCARD - m.lnValoare + SELECT cCoefTVATemp + LOCATE FOR !EMPTY(valoare) + IF !FOUND() + GO TOP + ENDIF + REPLACE valoare WITH valoare + m.lnDiferenta + + Insert Into (lcCursor) (denumire, um, CANT, Pret, DEPARTAMENT, proc_tvav) ; + SELECT [Fact.] + Alltrim(Str(tnNrFact)) as denumire, "" as um, 1 as cant, valoare as pret, 1 as departament, proc_tvav FROM cCoefTVATemp + + USE IN (SELECT('cCoefTVATemp')) + + OTHERWISE + Insert Into (lcCursor) (denumire, um, CANT, Pret, DEPARTAMENT, proc_tvav) ; + Values ([Fact.] + Alltrim(Str(tnNrFact)), "", 1, m.tnSumaAchitNumerar + m.tnSumaAchitCARD, 1, 1 + (tnProcentTva / 100)) + ENDCASE + + loHash = GetHash() + loHash.SetValue("cTip", "1;") + loHash.SetValue("nNumarBon", tnNrBon) + loHash.SetValue("nValoareNumerar", m.tnSumaAchitNumerar) + loHash.SetValue("nValoareCARD", m.tnSumaAchitCARD) + loHash.SetValue("nValoareTotal", m.tnSumaAchitNumerar + m.tnSumaAchitCARD) + loHash.SetValue("cCursor", lcCursor) + loHash.SetValue("tDataOra", ttDataOra) + goControllerEcr.imprima(loHash) + + Use In (lcCursor) + Release loHash + + Select (m.lcSelect) +Endproc && listeaza_bon_fiscal + + +*** Copiata din oproceduri_listari.prg ca sa nu se includa tot fisierul +Procedure listare_protocol + Lparameters tnNract, tnTip + + *!* tnTip: 1 (default) = protocol (pret cu tva); 2 = sponsorizare (pret fara tva) + Private pnNrAct, pnCod + Local lcCursor, lcCursor2, lnTip + lcCursor = [crsdateact] + lcCursor2 = [crsprotocol] + + If Type('tnTip') <> 'N' + lnTip = 1 + Else + lnTip = tnTip + Endif + pnNrAct = tnNract + *!* v 2.0.18 roagest (denumire partener, id_set 232, 233, 235) + lcSql = [Select distinct a.cod, a.dataact, p.id_part as id_client, p.denumire, b.nume_gestiune as gestiune from act a ] + ; + [ left join nom_gestiuni b on a.id_gestout = b.id_gestiune ] + ; + [ left join nom_parteneri p on a.id_partc = p.id_part ] + ; + [where a.an = ?gnAn and a.luna = ?gnLuna and a.nract = ?pnNrAct and a.scc = '401' and a.sters = 0 and a.id_set in (230,232,233,235,261) ] + ; + Strtran(gcCondSucursala, [id_sucursala], [a.id_sucursala]) + lnSucces = goExecutor.oExecute(lcSql, lcCursor) + If lnSucces < 0 + AMESSAGEBOX(goExecutor.cEroare, 0 + 16, "Eroare") + Return + Endif + + If Reccount(lcCursor) > 0 + Select (lcCursor) + Scatter Name poClient + *!* v 2.0.18 roagest (iau partenerul din jurnal) + *!* AddProperty(poClient,[id_client],[0]) + *!* AddProperty(poClient,[denumire],[]) + pnCod = cod + poDate = Createobject("oDateFactura", 0, 0) + poDate.nract = pnNrAct + poDate.dataact = Iif(Type('dataact') = 'T', Ttod(dataact), dataact) + poDate.dataora_exp = Get_Ora(2) && modificare ROAGEST v 2.0.150 + + *!* loCauta = caut_partener() + *!* If gnButon <> 2 + *!* poClient.id_client = loCauta.id_part + *!* poClient.denumire = loCauta.denumire + *!* Else + poDate.tip = 23 && artificiu ca sa nu mai caute doar in delegatii pentru partenerul respectiv + *!* EndIf + *!* v 2.0.18 roagest ^ + Use In (lcCursor) + + Private ofrmdatesupl + ofrmdatesupl = Createobject("frm_alte_date") + ofrmdatesupl.Show(1) + Release ofrmdatesupl + + *!* modificare ROAGEST v 2.0.150 + If gnButon = 1 + *!* modificare ROAGEST v 2.0.150 ^ + lcSql = [select denumire as nume_responsabil,cod_fiscal as CNPresp,reg_comert as BIresp from nom_parteneri ] + ; + [where sters = 0 and inactiv = 0 and id_part in ] + ; + [(select id_partener from utilizatori_rol_intern where sters = 0 and id_util = ?gnIdUtil)] + lnSucces = goExecutor.oExecute(lcSql, lcCursor2) + If lnSucces < 0 + AMESSAGEBOX(goExecutor.cEroare, 0 + 16, "Eroare") + Return + Endif + Select (lcCursor2) + poDate.nume_responsabil = nume_responsabil + poDate.BIresp = BIresp + poDate.CNPresp = CNPresp + Use In (lcCursor2) + + lcSql = [select a.cante as cantitate,] + ; + Iif(lnTip = 1, [a.pretv+a.tvav], [a.pretv]) + [ as pretctva, ] + ; + Iif(lnTip = 1, [Round(a.cante*(a.pretv+a.tvav),?gnPc)], [Round(a.cante*a.pretv,?gnPc)]) + [ as valctva,] + ; + [a.serie,b.codmat,b.denumire,b.um ] + ; + [from rul a left join nom_articole b on a.id_articol = b.id_articol ] + ; + [where a.sters = 0 and a.cod = ?pnCod] + lnSucces = goExecutor.oExecute(lcSql, lcCursor2) + If lnSucces < 0 + AMESSAGEBOX(goExecutor.cEroare, 0 + 16, "Eroare") + Return + Endif + goExport.export2frx(lcCursor2, [protocol]) + If Used(lcCursor2) + Use In (lcCursor2) + Endif + *!* modificare ROAGEST v 2.0.150 + Endif + *!* modificare ROAGEST v 2.0.150 ^ + Else + AMESSAGEBOX("Nu exista avizul cu acest numar in luna curenta!", 48, "Atentie") + Endif + Release lcCursor, lcCursor2, pnNrAct, pnCod +Endproc && listare_protocol + +******************************************************** +* apelez listarea Recapitulatiei cu numele unui cursor si numele unui raport +******************************************************** +Procedure listeaza_recapitulatie + Lparameters tcNumeCursor, tcRaport + + Local lcSql, lcCursorDetalii, lcSetareVizualizare, lcSetare, lcRaport, lcSelect, lnListareJustPDF, lnListareSilentioasa + Private poFirma, poClient, pnIdVanzare, pnIdClient + poFirma = Null + poClient = Null + lcSelect = Select() + + lnListareJustPDF = 0 + lnListareSilentioasa = 0 + pnIdVanzare = 0 + pnIdClient = 0 + + If Type('poDate') = 'O' + pnIdVanzare = Iif(Type('poDate.nid_vanzare') = 'N', poDate.nid_vanzare, 0) + pnIdClient = Iif(Type('poDate.id_client') = 'N', poDate.id_client, 0) + lnListareJustPDF = Iif(Type('poDate.nListareJustPDF') = 'N', poDate.nListareJustPDF, 0) + lnListareSilentioasa = Iif(Type('poDate.nListareSilentioasa') = 'N', poDate.nListareSilentioasa, 0) + Endif + + If Empty(m.tcNumeCursor) + Select (m.lcSelect) + Return + Endif + + TEXT TO lcSql NOSHOW +select 3 as tip,antet as denumire,cod_fiscal,'' as cod_fiscal2,adresa,telefon,fax,reg_comert,banca1 as banca, + cont_banca1 as cont_banca, + banca2,cont_banca2,banca3,cont_banca3, + null as dataora,0 as tip_persoana,capital_soc_var,capital_soc_sub, '' as adresa_facturare,''as email_facturare, '' as denadrf + from syn_nom_firme where id_firma = ?gnIdFirma + ENDTEXT + + If !goExecutor.oExecuta(lcSql, 'crsFirma') + Select (m.lcSelect) + Return + Endif + Select crsFirma + Go Top + Scatter Name poFirma Memo + Use In (Select('crsFirma')) + + TEXT TO lcSql NOSHOW +select 1 as tip,(case when tip_persoana = 1 then p.prefix||' '|| p.denumire||' '|| p.sufix else denumire end) as denumire, + p.cod_fiscal,p.cod_fiscal2,p.adresa,p.telefon,'' as fax,p.reg_comert,p.banca,p.cont_banca, + '' as banca2,'' as cont_banca2,'' as banca3,'' as cont_banca3, + sysdate as dataora,p.tip_persoana,0 as capital_soc_var, + 0 as capital_soc_sub,d.adresa as adresa_facturare,d.email as email_facturare,d.denumire_adresa as denadrf + from vnom_parteneri p left join vanzari b on b.id_part=p.id_part and b.id_vanzare = ?pnIdVanzare + left join vadrese_parteneri d on d.id_adresa=b.id_facturare + where p.id_part = ?pnIdClient + ENDTEXT + If !goExecutor.oExecuta(lcSql, 'crsClient') + Select (m.lcSelect) + Return + Endif + Select crsClient + Go Top + Scatter Name poClient Memo + Use In (Select('crsClient')) + + lcRaport = Iif(Type('tcRaport') = 'C' And !Empty(m.tcRaport), m.tcRaport, 'recapitulatie.frx') + + lcSetare = [RECAPITULATIE] + lcSetareVizualizare = [PREVIZRECAP] + loPreviewerConfig = Createobject("PreviewerConfig") && rapoarte.prg + If m.lnListareJustPDF = 0 + If m.lnListareSilentioasa = 1 + m.loPreviewerConfig.SetValue("lDirectPrint", .T.) + Endif + && listare factura / aviz / proforma + goExport.export2frx(m.tcNumeCursor, m.lcRaport, .F., m.lcSetareVizualizare, m.lcSetare, , , .T., , loPreviewerConfig) && modificare v 2.2.15 + Else + lcDestinationFile = GetPDFRecapitulatiaFile(poDate.dataact, poDate.nract) + If !File(m.lcDestinationFile) Or (File(m.lcDestinationFile) And AMESSAGEBOX('Doriti sa suprascrieti ' + m.lcDestinationFile + '?', 4 + 32, _Screen.Caption) = 6) + m.loPreviewerConfig.SetValue("cDestFile", m.lcDestinationFile) + m.loPreviewerConfig.SetValue("lOpenDestFile", .F.) + m.loPreviewerConfig.SetValue("lDirectPrint", .T.) + m.loPreviewerConfig.SetValue("lOpenViewer", .F.) + lcPdfHasImage = goApp.ReadIni([email_factura], "pdfhasimage") + llPdfHasImage = (m.lcPdfHasImage = "1") + If Empty(m.lcPdfHasImage) + goApp.WriteIni([email_factura], "pdfhasimage", "0") + llPdfHasImage = .F. + Endif + m.loPreviewerConfig.SetValue("lPDFasImage", m.llPdfHasImage) + + * tcAlias, tcRaport, tlCereTitlu, tcSetareVizualizare, tcSetareImprimanta, tcParametriListare, toListener, tlMultiPreview, tcReportPreviewer, toPreviewerConfig + goExport.export2frx(m.tcNumeCursor, m.lcRaport, .F., m.lcSetareVizualizare, m.lcSetare, , , .T., , loPreviewerConfig) + Endif + Endif +Endproc && listeaza_recapitulatie + +********************************************************************************* +*** intoarce calea catre fisierul pdf FACTURA +Function GetPDFFacturaFile + Lparameters tdDataFactura, tnNumarFactura + + Local lcDestinationFile, lcTip, lcFileName + Local lcDefaultPrefix, lcDefaultSufix + lcTip = 'factura' + lcFileName = Dtos(m.tdDataFactura) + "_" + Alltrim(Str(m.tnNumarFactura)) + lcDefaultPrefix = '' + lcDefaultSufix = m.lcTip + lcDestinationFile = GetPDFFile(m.lcTip, m.lcFileName, m.lcDefaultPrefix, m.lcDefaultSufix) + + Return m.lcDestinationFile +Endfunc && GetPDFFacturaFile + +********************************************************************************* +*** intoarce calea catre fisierul pdf FACTURA FISCALA VALUTA +Function GetPDFFacturaValutaFile + Lparameters tdDataFactura, tnNumarFactura + + Local lcDestinationFile, lcTip, lcFileName + Local lcDefaultPrefix, lcDefaultSufix + lcTip = 'factura_valuta' + lcFileName = Dtos(m.tdDataFactura) + "_" + Alltrim(Str(m.tnNumarFactura)) + lcDefaultPrefix = '' + lcDefaultSufix = m.lcTip + lcDestinationFile = GetPDFFile(m.lcTip, m.lcFileName, m.lcDefaultPrefix, m.lcDefaultSufix) + + Return m.lcDestinationFile +Endfunc && GetPDFFacturaValutaFile + +********************************************************************************* +*** intoarce calea catre fisierul pdf INVOICE +Function GetPDFInvoiceFile + Lparameters tdDataFactura, tnNumarFactura + + Local lcDestinationFile, lcTip, lcFileName + Local lcDefaultPrefix, lcDefaultSufix + lcTip = 'invoice' + lcFileName = Dtos(m.tdDataFactura) + "_" + Alltrim(Str(m.tnNumarFactura)) + lcDefaultPrefix = '' + lcDefaultSufix = m.lcTip + lcDestinationFile = GetPDFFile(m.lcTip, m.lcFileName, m.lcDefaultPrefix, m.lcDefaultSufix) + + Return m.lcDestinationFile +Endfunc && GetPDFInvoiceFile + +********************************************************************************* +*** intoarce calea catre fisierul pdf RECAPITULATIA +Function GetPDFRecapitulatiaFile + Lparameters tdDataFactura, tnNumarFactura + + Local lcDestinationFile, lcTip, lcFileName + Local lcDefaultPrefix, lcDefaultSufix + lcTip = 'recapitulatie' + lcFileName = Dtos(m.tdDataFactura) + "_" + Alltrim(Str(m.tnNumarFactura)) + lcDefaultPrefix = '' + lcDefaultSufix = m.lcTip + lcDestinationFile = GetPDFFile(m.lcTip, m.lcFileName, m.lcDefaultPrefix, m.lcDefaultSufix) + + Return m.lcDestinationFile +Endfunc && GetPDFRecapitulatiaFile + +********************************************************************************* +*** intoarce calea catre fisierul pdf BORDEROU: borderou_[aaaallzz]_[tnId].pdf +Function GetPDFBorderouFile + Lparameters tdDataBorderou, tnIdBorderou + + Local lcDestinationFile, lcTip, lcFileName + Local lcDefaultPrefix, lcDefaultSufix + lcTip = 'borderou' + lcFileName = Dtos(m.tdDataBorderou) + "_" + Alltrim(Str(m.tnIdBorderou)) + lcDefaultPrefix = '' + lcDefaultSufix = m.lcTip + lcDestinationFile = GetPDFFile(m.lcTip, m.lcFileName, m.lcDefaultPrefix, m.lcDefaultSufix) + + Return m.lcDestinationFile +Endfunc && GetPDFBorderouFile + + +************************************************* +*** Intoarce optiunea [pdf_factura_acn/recapitulatia][salvareautomata] +*** se foloseste dupa listare factura sau recapitulatie, sa se salveze automat pdf +************************************************* +Function GetPDFSalvareAutomata + Lparameters tcTip + Local lcTip, lcSection, lcPDFSalvareAutomata + + lcTip = Iif(!Empty(m.tcTip) And Type('tcTip') = 'C', Alltrim(Lower(m.tcTip)), 'factura') + lcSection = 'pdf_' + m.lcTip + '_' + m.gcS && [pdf_factura_acn] / [pdf_recapitulatia_acn] + lcPDFSalvareAutomata = goApp.ReadIni(m.lcSection, "salvareautomata") + If Empty(m.lcPDFSalvareAutomata) + lcPDFSalvareAutomata = "0" + goApp.WriteIni(m.lcSection, "salvareautomata", m.lcPDFSalvareAutomata) + Endif + + Return (lcPDFSalvareAutomata = "1") +Endfunc + +*------------------------------------------ +* Intoarce directorul catre un tip de document +* Ex: GetPdfPath(TIP_DOCUMENT) +* intoarce variabila "pdfpath" din sectiunea [pdf_TIP_DOCUMENT_SCHEMA] din settings.ini +* daca nu este completata variabila pdfpath, ofera completarea +* Ex: lcFacturaPath = GetDocumentPath('factura') +* Ex: lcRecapitulatiaPath = GetDocumentPath('recapitulatie') +Function GetDocumentPath + Lparameters tcTip + * tcTip (sectiunea de unde se citesc directorul pdf): factura/contract => email_factura/email_contract + + Local lcPdfPath, lcSection, lcTip + lcPdfPath = '' + lcTip = IIF(!EMPTY(m.tcTip), m.tcTip, 'factura') + lcSection = 'pdf_' + m.lcTip + '_' + m.gcS && [pdf_factura_acn] / [pdf_recapitulatie_acn] + lcPdfPath = goApp.ReadIni(m.lcSection, "pdfpath") + If Empty(m.lcPdfPath) + lcPdfPath = Getdir("", "Alege director pentru pdf-uri " + m.lcTip, "Director pdf " + m.lcTip, 64) + If !Empty(m.lcPdfPath) + goApp.WriteIni(m.lcSection, "pdfpath", m.lcPdfPath) + Endif + Endif + Return m.lcPdfPath +Endfunc + +*------------------------------------------ +*** intoarce calea catre fisierul pdf +Function GetPDFFile + Lparameters tcTip, tcFileName, tcDefaultPrefix, tcDefaultSufix + * tcTip (sectiunea de unde se citesc directorul pdf): factura/contract => email_factura/email_contract + * tcFileName (numele fisierului): 20160210_123456 + * tcDefaultPrefix: daca se ataseaza un prefix la tcFileName. Se suprascrie cu cel din din setting.ini + * tcDefaultSufix: daca se ataseaza un sufix la tcFileName. Se suprascrie cu cel din din setting.ini + + Local lcDestinationFile, lcFacturiPdfPath, lcSection, lcTip, lcFileName + Local lcPdfPath, lcPdfPrefix, lcPdfSufix + + lcTip = Iif(!Empty(m.tcTip) And Type('tcTip') = 'C', Alltrim(Lower(m.tcTip)), 'factura') + lcFileName = Iif(!Empty(m.tcFileName), Lower(Transform(m.tcFileName)), Sys(2015)) + lcSection = 'pdf_' + m.lcTip + '_' + m.gcS && [pdf_factura_acn] / [pdf_recapitulatia_acn] + lcPdfPath = goApp.ReadIni(m.lcSection, "pdfpath") + lcPdfPrefix = goApp.ReadIni(m.lcSection, "pdfprefix") + lcPdfSufix = goApp.ReadIni(m.lcSection, "pdfsufix") + If Empty(m.lcPdfPrefix) And !Empty(m.tcDefaultPrefix) + lcPdfPrefix = m.tcDefaultPrefix + goApp.WriteIni(m.lcSection, "pdfprefix", m.lcPdfPrefix) + Endif + If Empty(m.lcPdfSufix) And !Empty(m.tcDefaultSufix) + m.lcPdfSufix = m.tcDefaultSufix + goApp.WriteIni(m.lcSection, "pdfsufix", m.lcPdfSufix) + Endif + If Empty(m.lcPdfPrefix) And Empty(m.lcPdfSufix) + m.lcPdfSufix = m.lcTip + goApp.WriteIni(m.lcSection, "pdfsufix", m.lcPdfSufix) + Endif + + If Empty(m.lcPdfPath) + lcPdfPath = Getdir("", "Alege director pentru pdf-uri", "Director pdf", 64) + If Empty(m.lcPdfPath) + m.lcPdfPath = m.gcTempPath + Endif + goApp.WriteIni(m.lcSection, "pdfpath", m.lcPdfPath) + Endif + + lcDestinationFile = Addbs(m.lcPdfPath) + Iif(!Empty(m.lcPdfPrefix), m.lcPdfPrefix + '_', '') + m.lcFileName + Iif(!Empty(m.lcPdfSufix), "_" + Lower(Transform(m.lcPdfSufix)), '') + ".pdf" + Return m.lcDestinationFile +Endfunc && GetPDFFile + +* Intoarce codmat client din PARTENERI_ARTICOLE_CODURI pentru un (client, articol) +Function GetCodmatC + Parameters pnIdClient, pnIdArticol + Private pcCod + pcCod = '' + + llSucces = goExecutor.oSelecteaza2Value([select cod from parteneri_articole_coduri where id_part = ?pnIdClient and id_articol = ?pnIdArticol and sters = 0], @pcCod) + Return Nvl(m.pcCod, '') +Endfunc && GetCodmatC + +* Intoarce CODNC8, CODCPV din NOM_ARTICOLE pentru un articol +Function GetCodNC8CPV + Parameters pnIdArticol + LOCAL lcCursor, loRet, lcSelect + lcSelect = SELECT() + loRet = CREATEOBJECT("empty") + ADDPROPERTY(loRet, 'codnc8', '') + ADDPROPERTY(loRet, 'codcpv', '') + + lcCursor = SYS(2015) + llSucces = goExecutor.oExecuta([select codnc8, codcpv from nom_articole where id_articol = ?pnIdArticol and sters = 0], m.lcCursor) + IF m.llSucces + SELECT (m.lcCursor) + loRet.codnc8 = ALLTRIM(NVL(codnc8,'')) + loRet.codcpv = ALLTRIM(NVL(codcpv,'')) + ENDIF + USE IN (SELECT(m.lcCursor)) + SELECT (m.lcSelect) + Return loRet +Endfunc && GetCodmatC + +* intoarce nom_parteneri.institutie_publica pentru un id_part +function GetInstitutiePublica + LPARAMETERS tnIdClient + PRIVATE pnIdClient + LOCAL lnInstitutiePublica + pnIdClient = tnIdClient + lnInstitutiePublica = 0 + + llSucces = goExecutor.oSelecteaza2Value([select MAX(NVL(institutie_publica,0)) as institutie_publica from nom_parteneri where id_part = ?pnIdClient and sters = 0], @lnInstitutiePublica) + Return m.lnInstitutiePublica +ENDFUNC && GetInstitutiePublica \ No newline at end of file diff --git a/programe/ofacturare_comun.prg b/programe/ofacturare_comun.prg new file mode 100644 index 0000000..68f45f7 --- /dev/null +++ b/programe/ofacturare_comun.prg @@ -0,0 +1,2223 @@ +*!* 12.06.2014 +*!* marius.mutu +*!* adaugat proprietatea oDateFactura.incasatCARD = suma incasata prin CARD POS + +*!* 19.01.2015 +*!* marius.mutu +*!* + oDateFactura.completeaza_setari_document() completeaza datele de la un document anterior + +*!* 19.01.2015 +*!* marius.mutu +*!* + proprietati: nIdTipDocFactura, nIdTipDocProforma, nIdTipDocBonFiscal, nIdTipDocAvizExpeditie + +*!* 06.02.2015 +*!* marius.mutu +*!* la schimbarea poDate.nIdTipDoc se initializeaza poDate.eBonFiscal, .eProforma in nIdTipDoc_Assign + +*!* 16.06.2015 +*!* marius.mutu +*!* + proprietati: oDateFactura.id_facturare, nListareDetaliata + +*!* 30.03.2017 +*!* marius.mutu +*!* prelucreaza_factura +*!* Explicatia articolului a fost marita la 500 de caractere in baza de date, tip Memo si nu poate fi folosita intr-un select group by +*!* Am selectat doar primele 240 caractere apoi completez explicatia din cursorul original + +*!* 31.03.2017 +*!* marius.mutu +*!* prelucreaza_lista_livrare - explicatie M, nu mergea grupata + +*!* 30.01.2019 +*!* marius.mutu +*!* prelucreaza_factura, prelucreaza_recapitulatia - s-au tratat grupare dupa campul explicatie Memo - Cast(explicatie as C(254)) pentru facturare seturi + +*!* 06.11.2019 +*!* marius.mutu +*!* +oDateFactura.nIdBeneficiar, nTipFactura + +*!* 20.12.2019 +*!* marius.mutu +*!* +oDateFactura.nvalval, ntvaval, ntotval, cValuta, tip_factura - pentru listarea valorilor in valuta pe facturile in lei la ROAACNPRO + +*!* 22.01.2020 +*!* marius.mutu +*!* prelucreaza_factura, prelucreaza_factura_valuta + codmatc (codmat client) + +*!* 22.07.2020 +*!* marius.mutu +*!* prelucreaza_facturacrs, prelucreaza_factura_valuta: verificare camp codmatc + +*!* 12.07.2024 +*!* marius.mutu +*!* alege_optiuni_listare_facturare - se listeaza serii/lot? + +*!* 14.04.2026 +*!* + oDateFactura.cod_fiscal + +*************************************************************************************************************** +**** Clase: +**** oDateFactura +**** init +**** initializeaza_politica_pret +**** initializeaza_setari_document +**** completeaza_setari_document +**** genereaza_numar_act +**** Reset +**** scrieAtasamente +**** oDateGestiune +**** Reset +**** Functii: +**** actualizeaza_document +**** actualizeaza_partener_fact +**** actualizeaza_politica_pret +**** optiuni_format_listare && denumire veche : optiuni_format_factura +**** recalculeaza_pret_vanzare_lei +**** recalculeaza_pret_vanzare_compus +**** Proceduri: +**** modifica_pret_articol_compus +**** prelucreaza_aviz_cu_tva +**** prelucreaza_factura +**** prelucreaza_recapitulatie +**** prelucreaza_factura_valuta +**** prelucreaza_aviz_retur +**** prelucreaza_lista_livrare +**** creeaza_crsfactura +**** creeaza_crsfactura_rate && veche +**** copiaza_structura_cursor +**** creeaza_backup_cursoare_facturare +**** repune_backup_cursoare_facturare +**** sterge_backup_cursoare_facturare +**** alege_optiuni_listare_facturare +**** alege_banci_facturare +**** completeaza_explicatie_tva +**** completeaza_explicatie_contract +*************************************************************************************************************** +******************************************** INCEPUT: oDateFactura ******************************************** +#define precizie_max_pret_vz 6 + +Define Class oDateFactura As Custom + Data = {} + dataireg = {} + nIdTipDoc = 5 + nIdTipDocFactura = 5 + nIdTipDocProforma = 23 + nIdTipDocBonFiscal = 3 + nIdTipDocAvizExpeditie = 6 + id_fdoc = Null + fdoc = [] + dataact = {} + datascad = {} + nract = 0 + serie_act = [] + nract_retur = 0 + serie_act_retur = [] + id_client = Null + nume_client = [] + cod_fiscal = [] + listaid = [] && id_comanda sau lista id_aviz + descriere = [] && numar comanda sau numere avize + id_venchelt = Null && modificare ROAFACTURARE v 2.0.46 + venchelt = [] && modificare ROAFACTURARE v 2.0.46 + id_responsabil = Null + responsabil = [] + id_set = 0 + tip = 0 + id_pol = Null + nume_politica = [] + nume_responsabil= [] && alte date pentru facturare + BIresp = [] + CNPresp = [] + id_delegat = Null + nume_delegat = [] + BIdelegat = [] + CNPdelegat = [] + id_masina = Null + nrinmat = [] + dataora_exp = {} && modificare ROAFACTURARE v 2.0.80 + id_agent = Null + nume_agent = [] + proc_tva = 0 + explicatie_tva = [] && modificare ROAFACTURARE v 2.0.46 + zi_curs = {} + discount_evidentiat = 0 && daca se evidentiaza discount-ul sau este inclus in pret + afisare_scadenta = 1 && modificare ROACONTRACTE v 2.0.38 + text_aditional = [] + text_aditional_invoice = [] && modificare ROAFACTURARE v 2.0.46 + text_aditional_retur = [] + text_aditional_en = [] && modificare ROAFACTURARE v 2.0.80 + eProforma = 0 + nEFactura = 0 && xml eFactura + oInfoEFactura = Null && obiect cu infoe eFactura rezultat in urma listarii (cFile, lOk, cMesaj) + eBonFiscal = 0 + serie_chit = [] && modificare ROAFACTURARE v 2.0.80 + explicatie_chit = [] && modificare ROAFACTURARE v 2.0.80 + nr_incasare = 0 + id_fdoc_incasare= 0 + ntip_incasare = 0 && modificare ROAFACTURARE v 2.0.84 + id_casa = 0 + incasat = 0 && incasat numerar + incasatCARD = 0 && incasat prin CARD POS + nIncasatPos = 0 && 1 s-a ales bon fiscal prin CARD POS + nBonDetaliat = 0 && 1 se listeaza articole individuale; 0 se listeaza "contravaloare factura nr..." + incasatTichete = 0 && incasat tichete + totalctva = 0 + in_valuta = 0 + id_valuta = 0 + nume_valuta = [] + Curs = 0 + multiplicator = 1 && modificare ROAFACTURARE v 2.0.90 + id_lucrare = 0 + nrord = [] + id_sectie = 0 + sectie = [] + totctvaconv = 0 + totftvaconv = 0 + tottvaconv = 0 + nvalval = 0 + ntvaval = 0 + ntotval = 0 + cValuta = [] + rezultat_serii = 0 + listare_componenta_set = 1 + listare_componenta_set_ll = 1 && modificare ROAFACTURARE v 2.0.56 + listare_serii = 1 && modificare ROAFACTURARE v 2.0.46 + listare_recapitulatie = 1 && modificare ROAFACTURARE v 2.0.46 + listare_lista_livrare = 1 && modificare ROAFACTURARE v 2.0.46 + id_furnizor = 0 && id_furnizor - imi trebuie la aviz pe baza de NIR + furnizor = [] && nume furnizor - imi trebuie la aviz pe baza de NIR + nrfactachi = 0 && numar factura achizitie - imi trebuie la aviz pe baza de NIR + id_part_rez = Null + id_gestiune_init = Null && gestiunea aleasa in formularul de introducere a datelor facturii / avizului + cDocAtasate = [crsoDateDocAtasate]&& modificare ROAFACTURARE v 2.0.58 + nRelistare = 0 && modificare ROAFACTURARE v 2.0.58 + nSalveazaAtasamente = 0 && modificare ROAFACTURARE v 2.0.58 + nid_proforma = 9999999999 && modificare ROAFACTURARE v 2.0.58 + nid_vanzare = 9999999999 && modificare ROAFACTURARE v 2.0.58 + nid_vanzare_retur = 9999999999 && modificare ROAFACTURARE v 2.0.58 + sumavorbe = [] && modificare ROAFACTURARE v 2.0.78 + coeficient_k = 0 && modificare ROAFACTURARE v 2.0.93 + explicatia4 = [] && modificare ROACONTRACTE v 2.0.42 + id_ordl = NULL && modificare ROAAUTO v 2.0.33 + tva_incasare = 0 && modificare ROAGEST v 2.2.0 + id_facturare = NULL && id adresa facturare + adresa_facturare = '' && adresa factuare text + nListareDetaliata = 0 && articolele se listeaza cumulat dupa cantitate sau detaliat, asa cum au fost adaugate pe factura + nListareSilentioasa = 0 && listare fara previzualizare + nListareJustPDF = 0 && listare doar pdf + oClient = NULL + lCopiere = .F. && copiere factura/aviz + nIdBeneficiar = Null + nTipFactura = NULL && tip intern factura (ex: ACN 0=TRANZIT/1=CHEIAJ/3=CHIRII/5=APA/6=PENALITATI) + id_util = NULL && id utilizator + tip_doc_394 = 'F' && FACTURA pentru xml EFactura + nRectificativa = 0 && 0 = factura initiala, 1 = factura rectificativa + tip_saft = 380 && factura initiala + institutie_publica = 0 && 1 = clientul este institutie publica, pentru folosirea coduri articole CPV sau NC8 + id_ctr = NULL && ID CONTRACT + contract = NULL && CONTNRACT + eFactura = 0 && 0/1 = se transmite in borderoul eFactura + sold_lei = 0 && soldul total pe client la emiterea facturii in lei + sold_valuta = 0 && soldul total pe client la emiterea facturii in valuta (nediferentiat pe valuta) + + Procedure Init + Lparameters tnIdSet, tnTip + && 0,0 - la listare + && id_set,tip + + Local ldData + If !Empty(m.tnIdSet) + && modificare ROAFACTURARE v 2.0.58 + Use In (SELECT('crsoDateDocAtasate')) + + Create Cursor crsoDateDocAtasate (nume_frx c(50),fisier w) + && modificare ROAFACTURARE v 2.0.58 ^ + ldData = Ttod(get_ora()) + If Month(ldData)<>gnLuna Or Year(ldData)<>gnAn + ldData=Gomonth(Date(gnAn,gnLuna,1),1)-1 + Endif + With This + .Data = ldData + .dataireg = ldData + .dataact = ldData + .tva_incasare = goCalendar.tva_incasare && modificare ROAFACTURARE v 2.2.0 + If (tnTip<21) OR INLIST(tnTip,45,48,49,51,52) && modificare ROAFACTURARE v 2.0.87 ( 45 ), v 2.0.93 ( 48 ), v 2.0.95 ( 49 ) + .datascad = IIF(TYPE('gnZileScadentaFact') = 'N', Iif(gnZileScadentaFact=-1,Gomonth(ldData,1),ldData+gnZileScadentaFact), GOMONTH(m.ldData,1)) + Endif + .zi_curs = ldData + If Inlist(tnIdSet,223,225,226,227,271) OR INLIST(m.tnTip, 5,6,7,9,10,52) && ,25014,25015,25016,25018,25019,25004,25005,25006,25008,25009,25051,25061) + .in_valuta = 1 + Endif + .id_set = tnIdSet + .tip = tnTip + .initializeaza_setari_document() + If Inlist(tnTip,23,30,41) + .initializeaza_politica_pret() + Endif + *!* .genereaza_numar_act() + .discount_evidentiat = IIF(TYPE('gnDiscountEvidentiat') = 'N', m.gnDiscountEvidentiat, 1) + .nRelistare = 0 && modificare ROAFACTURARE v 2.0.58 + + If INLIST(m.tnTip, 2, 6, 52) And Type('goContract') <> 'U' && FACTURARE DIN ROACONTRACTE + .id_client = goContract.id_part + .nume_client = goContract.denumire + .listaid = goContract.id_ctr + .descriere = goContract.contract + .id_sectie = goContract.id_sectie + .sectie = goContract.sectie + .id_responsabil = goContract.id_responsabil + .responsabil = goContract.responsabil + .id_valuta = goContract.id_valuta + .nume_valuta = goContract.nume_val + + lcSql = [ select id_ctr, contract, numar, data, denumire, scadenta_incasare, opt_facturare, text_standard, afisare_scadenta ]+; + [ FROM fact_vcontracte ]+; + [ where id_ctr = ] + Alltrim(Str(goContract.id_ctr)) + lnSucces = goExecutor.oExecute(lcSql,'crsCtrTemp') + + If lnSucces < 0 + AMESSAGEBOX(goExecutor.cEroare,0+16,"Eroare") + Return + *!* modificare ROACONTRACTE v 2.0.35 + Else + lcAlias = SELECT() + Select crsctrtemp + Calculate Min(scadenta_incasare),MAX(afisare_scadenta) For Inlist(opt_facturare,3,4,0) To lnScadentaIncasare,lnAfisareScadenta + If lnScadentaIncasare <> 0 + .datascad = .dataact + lnScadentaIncasare + Endif + && modificare ROACONTRACTE v 2.0.38 + .afisare_scadenta = lnAfisareScadenta + && modificare ROACONTRACTE v 2.0.38 ^ + Go Top + Select (lcAlias) + *!* modificare ROACONTRACTE v 2.0.35 ^ + ENDIF && lnSucces < 0 + ENDIF && tnTip = 2 And Type('goContract') <> 'U' && FACTURARE DIN ROACONTRACTE + + + + If tnTip = 3 And Type('goComanda') = 'O' && FACTURARE DIN ROACOMENZI + .id_client = goComanda.id_part + .nume_client = ALLTRIM(goComanda.nume) + .cod_fiscal = ALLTRIM(NVL(goComanda.cod_fiscal, '')) + .listaid = goComanda.id_comanda + .descriere = goComanda.nr_comanda + .id_sectie = goComanda.id_sectie +*!* .sectie = goComanda.sectie +*!* .id_responsabil = goComanda.id_responsabil +*!* .responsabil = goComanda.responsabil + + lcSql = [ select sectie from nom_sectii where id_sectie = ] + ALLTRIM(STR(goComanda.id_sectie)) + lnSucces = goExecutor.oExecute(lcSql,'crsComTemp') + + If lnSucces < 0 + AMESSAGEBOX(goExecutor.cEroare,0+16,"Eroare") + Return + Else + lcAlias = SELECT() + IF RECCOUNT('crsComTemp') > 0 + GO TOP IN crsComTemp + .sectie = ALLTRIM(crsComTemp.sectie) + ENDIF + USE IN (SELECT('crsComTemp')) + + Select (lcAlias) + ENDIF && lnSucces < 0 + ENDIF && tnTip = 3 And Type('goComanda') = 'O' + + Endwith + Endif + Endproc + + Procedure initializeaza_politica_pret + Local lnIdPol,lcNumePol + lnIdPol = 0 + lcNumePol = [] + actualizeaza_politica_pret(This.tip,@lnIdPol,@lcNumePol) + With This + .id_pol = lnIdPol + .nume_politica = lcNumePol + Endwith + Endproc + + Procedure initializeaza_setari_document + LPARAMETERS tnTip + Local lnIdFdoc, lcFdoc, lnTip + lnIdFdoc = 0 + lcFdoc = [] + + * vreau sa ReInitializez id_fdoc, daca schimb tipul documentului FACTURA/PROFORMA/BON FISCAL + * BON FISCAL = -101, PROFORMA = -102 + lnTip = IIF(EMPTY(m.tnTip), This.tip, m.tnTip) + actualizeaza_document(m.lnTip,@lnIdFdoc,@lcFdoc) + With This + .id_fdoc = lnIdFdoc + .fdoc = lcFdoc + Endwith + Endproc + + *** Se apeleaza in functie de optiunea + Procedure completeaza_setari_document + LPARAMETERS toDateAnterior, tlFactura + * tlFactura: .T. daca copiez o factura si am nevoie de id-ul facturii anterioare, iar toDateAnterior = toFactura + + IF TYPE('toDateAnterior') = 'O' AND !ISNULL(toDateAnterior) AND PEMSTATUS(toDateAnterior,'id_lucrare', 5) + With This + IF m.tlFactura + .lCopiere = .T. + *.nIdTipDoc = toDateAnterior.nIdTipDoc + .id_lucrare = toDateAnterior.id_lucrare + .nrord = ALLTRIM(NVL(toDateAnterior.lucrare, '')) + *.id_responsabil = toDateAnterior.id_responsabil + *.responsabil = toDateAnterior.responsabil + .id_sectie = toDateAnterior.id_sectie + .sectie = ALLTRIM(NVL(toDateAnterior.sectie, '')) + *.id_venchelt = toDateAnterior.id_venchelt + *.venchelt = toDateAnterior.venchelt + .id_agent = toDateAnterior.id_agent + .nume_agent = ALLTRIM(NVL(toDateAnterior.nume_agent , '')) + .id_delegat = toDateAnterior.id_delegat + .nume_delegat = ALLTRIM(NVL(toDateAnterior.delegat, '')) + .BIdelegat = toDateAnterior.BIdelegat + .CNPdelegat = toDateAnterior.CNPdelegat + .nrinmat = ALLTRIM(NVL(toDateAnterior.nrinmat, '')) + .id_masina = toDateAnterior.id_masina + .listaid = toDateAnterior.id_vanzare + .descriere = Alltrim(Alltrim(Nvl(toDateAnterior.serie_act,[]))+[ ]+Alltrim(Str(toDateAnterior.numar_act,14,0))) + .id_client = toDateAnterior.id_part + .nume_client = toDateAnterior.client + ELSE + .nIdTipDoc = toDateAnterior.nIdTipDoc + .id_lucrare = toDateAnterior.id_lucrare + .nrord = toDateAnterior.nrord + .id_responsabil = toDateAnterior.id_responsabil + .responsabil = toDateAnterior.responsabil + .id_sectie = toDateAnterior.id_sectie + .sectie = toDateAnterior.sectie + .id_venchelt = toDateAnterior.id_venchelt + .venchelt = toDateAnterior.venchelt + .id_agent = toDateAnterior.id_agent + .nume_agent = toDateAnterior.nume_agent + .id_delegat = toDateAnterior.id_delegat + .nume_delegat = toDateAnterior.nume_delegat + .BIdelegat = toDateAnterior.BIdelegat + .CNPdelegat = toDateAnterior.CNPdelegat + .nrinmat = toDateAnterior.nrinmat + .id_masina = toDateAnterior.id_masina + ENDIF + ENDWITH + ENDIF + ENDPROC + + *!* Procedure genereaza_numar_act + *!* Private pnTip,pnNumarAct + *!* With This + *!* pnTip = .tip + *!* pnNumarAct = 0 + *!* lcSql = [begin ] + gcS + [.pack_facturare.genereaza_numar_act(?pnTip,?gnIdUtil,?@pnNumarAct);] + ; + *!* [end;] + *!* lnSucces = goExecutor.oExecute(lcSql) + *!* If lnSucces<0 + *!* amessagebox(goExecutor.oPrelucrareEroare(),16,"Eroare") + *!* Endif + *!* .nract = pnNumarAct + *!* Endwith + *!* Endproc + + Procedure scrieAtasamente + Private pnId,pnTip,pcFormat + If Used('crsoDateDocAtasate') And Nvl(poDate.nid_vanzare,9999999999)<>9999999999 + If Reccount('crsoDateDocAtasate') > 0 + Select crsoDateDocAtasate + Scan + *!* If poDate.tip = 4 And Like([AVIZ*],Upper(Alltrim(crsoDateDocAtasate.nume_frx))) + *!* lcSql = [begin pack_facturare.scrie_atasamente_factura(?poDate.nid_vanzare_retur,?crsoDateDocAtasate.nume_frx,?crsoDateDocAtasate.fisier); end;] + *!* Else + *!* lcSql = [begin pack_facturare.scrie_atasamente_factura(?poDate.nid_vanzare,?crsoDateDocAtasate.nume_frx,?crsoDateDocAtasate.fisier); end;] + *!* Endif + lcNume_Frx = crsoDateDocAtasate.nume_frx + If poDate.tip = 4 And Like([AVIZ*],Upper(Alltrim(lcNume_Frx))) + pnId = poDate.nid_vanzare_retur + Else + pnId = poDate.nid_vanzare + Endif + + Do Case + Case Like([FACTURA_VAL*],Upper(Alltrim(lcNume_Frx))) + pnTip= 2 + Case Like([FACTURA*],Upper(Alltrim(lcNume_Frx))) + pnTip = 1 + Case Like([INVOICE*],Upper(Alltrim(lcNume_Frx))) + pnTip = 3 + Case Like([RECAPITULATIE],Upper(Alltrim(lcNume_Frx))) + pnTip = 4 + Case Like([AVIZ*],Upper(Alltrim(lcNume_Frx))) + pnTip = 5 + Endcase + + If Like([*A5],Upper(Alltrim(lcNume_Frx))) + pcFormat = [A5] + Else + pcFormat = [A4] + Endif + + lcSql = [INSERT INTO ATASAMENTE_VANZARI(ID_VANZARE, TIP, FORMAT, DOCUMENT, ID_UTIL) VALUES (?pnId,?pnTip,?pcFormat,?crsoDateDocAtasate.fisier,?gnIdUtil);] + lnSucces = goExecutor.oExecute(lcSql) + If lnSucces < 0 + AMESSAGEBOX(goExecutor.cEroare,16,"Eroare") + Endif + Endscan + Endif + Use In crsoDateDocAtasate + Endif + Release pnId,pnTip,pcFormat + Endproc + + Procedure Reset + Lparameters tnTip + && modificare ROAFACTURARE v 2.0.58 + If Used('crsoDateDocAtasate') + Use In crsoDateDocAtasate + Endif + Create Cursor crsoDateDocAtasate (nume_frx c(50),fisier w) + && modificare ROAFACTURARE v 2.0.58 ^ + With This + .dataireg = .Data + .dataact = .Data + If (tnTip<21) OR INLIST(tnTip,45,48,49,51,52) && modificare ROAFACTURARE v 2.0.93 ; v 2.0.95 ( 49 ) +*!* modificare v 2.2.4 +*!* .datascad = Iif(gnScadentaAutomata=0,Gomonth(.Data,1),.Data+gnZileScadentaFact) + .datascad = Iif(gnZileScadentaFact=-1,Gomonth(.Data,1),.Data+gnZileScadentaFact) +*!* modificare v 2.2.4 ^ + ENDIF + .nIdTipDoc = 5 && FACTURA + .zi_curs = .Data + .id_client = Null + .nume_client = [] + .listaid = [] && id_comanda, id_contract sau lista id_aviz + .descriere = [] && numar comanda, numar contract sau numere avize + .id_venchelt = Null && modificare ROAFACTURARE v 2.0.46 + .venchelt = [] && modificare ROAFACTURARE v 2.0.46 + .id_responsabil = Null + .responsabil = [] + .id_pol = Null + .nume_politica = [] + .nume_responsabil= [] && alte date pentru facturare + .BIresp = [] + .CNPresp = [] + .id_delegat = Null + .nume_delegat = [] + .BIdelegat = [] + .CNPdelegat = [] + .id_masina = Null + .nrinmat = [] + .id_agent = Null + .dataora_exp = {} && modificare ROAFACTURARE v 2.0.80 + .nume_agent = [] + .proc_tva = 0 + .explicatie_tva = [] && modificare ROAFACTURARE v 2.0.46 + .discount_evidentiat = gnDiscountEvidentiat + .afisare_scadenta = 1 && modificare ROACONTRACTE v 2.0.38 + .text_aditional = [] + .text_aditional_invoice = [] && modificare ROAFACTURARE v 2.0.46 + .text_aditional_retur = [] + .text_aditional_en = [] && modificare ROAFACTURARE v 2.0.80 + .eProforma = 0 + .nEFactura = 0 + .oInfoEFactura = Null + .eBonFiscal = 0 + .serie_chit = [] && modificare ROAFACTURARE v 2.0.80 + .explicatie_chit = [] && modificare ROAFACTURARE v 2.0.80 + .nr_incasare = 0 + .id_casa = 0 + .ntip_incasare = 0 && modificare ROAFACTURARE v 2.0.84 + .incasat = 0 && incasat numerar + .incasatCARD = 0 && incasat prin CARD POS + .nIncasatPos = 0 && 1 s-a ales bon fiscal prin CARD POS + .nBonDetaliat = 0 && 1 se listeaza articole individuale; 0 se listeaza "contravaloare factura nr..." + .incasatTichete = 0 && incasat tichete + .totalctva = 0 + .nract = 0 + .serie_act = [] + .nract_retur = 0 + .serie_act_retur = [] + .id_valuta = 0 + .nume_valuta = [] + .Curs = 0 + .multiplicator = 1 + .id_lucrare = 0 + .nrord = [] + .id_sectie = 0 + .sectie = [] + .totctvaconv = 0 + .totftvaconv = 0 + .tottvaconv = 0 + .rezultat_serii = 0 + .listare_componenta_set = 1 + .listare_componenta_set_ll = 1 && modificare ROAFACTURARE v 2.0.56 + .id_part_rez = Null + .id_gestiune_init = Null + .listare_serii = 1 && modificare ROAFACTURARE v 2.0.46 + .listare_recapitulatie = 1 && modificare ROAFACTURARE v 2.0.46 + .listare_lista_livrare = 1 && modificare ROAFACTURARE v 2.0.46 + .nRelistare = 0 && modificare ROAFACTURARE v 2.0.58 + .nSalveazaAtasamente = 0 && modificare ROAFACTURARE v 2.0.58 + .nid_proforma = 9999999999 && modificare ROAFACTURARE v 2.0.58 + .nid_vanzare = 9999999999 && modificare ROAFACTURARE v 2.0.58 + .nid_vanzare_retur = 9999999999 && modificare ROAFACTURARE v 2.0.58 + .sumavorbe = [] && modificare ROAFACTURARE v 2.0.78 + .coeficient_k = 0 && modificare ROAFACTURARE v 2.0.93 + .explicatia4 = [] && modificare ROACONTRACTE v 2.0.42 + .id_ordl = NULL && modificare ROAAUTO v 2.0.33 + .id_facturare = NULL + .nListareDetaliata = 0 + .nListareSilentioasa = 0 && listare fara previzualizare + .nListareJustPDF = 0 && listare doar pdf + .oClient = NULL + .lCopiere = .F. && copiere factura/aviz + .nIdBeneficiar = Null + .nTipFactura = NULL && tip intern factura (ex: ACN 0=TRANZIT/1=CHEIAJ/3=CHIRII/5=APA/6=PENALITATI) + .id_util = NULL && id utilizator + .tip_doc_394 = 'F' && FACTURA pentru xml EFactura + .nRectificativa = 0 && 0 = factura initiala, 1 = factura rectificativa + .tip_saft = 380 && factura initiala + .institutie_publica = 0 && 1 = institutie publica + .eFactura = 0 && 1 = se transmite in borderoul eFactura + .id_ctr = NULL && ID CONTRACT + .contract = NULL && CONTRACT + Endwith + Endproc + + PROCEDURE nIdTipDoc_Assign + LPARAMETERS tnIdTipDoc + + This.eProforma = IIF(m.tnIdTipDoc = This.nIdTipDocProforma, 1, 0) + This.eBonFiscal = IIF(m.tnIdTipDoc = This.nIdTipDocBonFiscal, 1, 0) + + this.nIdTipDoc = m.tnIdTipDoc + ENDPROC && nIdTipDoc_Assign + +Enddefine +******************************************** SFARSIT: oDateFactura ******************************************** +******************************************** INCEPUT: oDateGestiune ******************************************** +Define Class oDateGestiune As Custom + id_gestiune = 0 + id_tipgest = 0 + Cont = [] + acont = [] + + Procedure Reset + With This + .id_gestiune = 0 + .id_tipgest = 0 + .Cont = [] + .acont = [] + Endwith +Enddefine +******************************************** SFARSIT: oDateGestiune ******************************************** +************************************** INCEPUT: actualizeaza_document ****************************************** +Function actualizeaza_document + Lparameters tnTip,tnIdFdoc,tcFdoc + Local llReturn + Private pnTip,pnIdFdoc,pcFdoc + Store .T. To llReturn + pnTip = tnTip + pnIdFdoc = tnIdFdoc + pcFdoc = tcFdoc + lcSql = [begin ] + gcS + [.pack_facturare.citeste_setari_document(?pnTip,?@pnIdFdoc,?@pcFdoc);] + ; + [end;] + lnSucces = goExecutor.oExecute(lcSql) + If lnSucces<0 + AMESSAGEBOX(goExecutor.oPrelucrareEroare(),16,"Eroare") + pnIdFdoc = Null + pcFdoc = [] + llReturn = .F. + Endif + tnIdFdoc = pnIdFdoc + tcFdoc = pcFdoc + Return llReturn +Endfunc +************************************** SFARSIT: actualizeaza_document ***************************************** +Function actualizeaza_partener_fact + Lparameters tnTip,tnIdPart,tcNumePart + Local llReturn + Private pnTip,pnIdPart,pcNumePart + Store .T. To llReturn + pnTip = tnTip + pnIdPart = tnIdPart + pcNumePart = tcNumePart + lcSql = [begin ] + gcS + [.pack_facturare.citeste_setari_partener(?pnTip,?@pnIdPart,?@pcNumePart);] + ; + [end;] + lnSucces = goExecutor.oExecute(lcSql) + If lnSucces<0 + AMESSAGEBOX(goExecutor.oPrelucrareEroare(),16,"Eroare") + pnIdPart = Null + pcNumePart = [] + llReturn = .F. + Endif + tnIdPart = pnIdPart + tcNumePart = pcNumePart + Return llReturn +Endfunc +************************************ SFARSIT: actualizeaza_partener_fact *************************************** +Function actualizeaza_politica_pret + Lparameters tnTip,tnIdPol,tcNumePol + Local llReturn + Private pnTip,pnIdPol,pcNumePol + Store .T. To llReturn + pnTip = tnTip + pnIdPol = tnIdPol + pcNumePol = tcNumePol + lcSql = [begin ] + gcS + [.pack_facturare.citeste_setari_pol_pret(?pnTip,?gnIdUtil,?@pnIdPol,?@pcNumePol);] + ; + [end;] + lnSucces = goExecutor.oExecute(lcSql) + If lnSucces<0 + AMESSAGEBOX(goExecutor.oPrelucrareEroare(),16,"Eroare") + pnIdPol = Null + pcNumePol = [] + llReturn = .F. + Endif + tnIdPol = pnIdPol + tcNumePol = pcNumePol + Return llReturn +Endfunc +************************************ SFARSIT: actualizeaza_politica_pret *************************************** +********************************************************************************************************* +Function recalculeaza_pret_vanzare_lei + Lparameters tcTabel,tnCurs + Private pcSirIdTemp,pcSirDiferenta + Store [] To pcSirIdTemp,pcSirDiferenta + Local llReturn + llReturn = .T. + lcSeparator = [|] + + Select (tcTabel) + Calculate Sum(Round(vpretftva*cantitate,gnPVal)),Sum(Round(pretftva*cantitate,gnPc)) To lnTotalVal,lnTotalLei + lnTotalVal = Round(lnTotalVal*tnCurs,gnPc) + + *!* modificare 09.11.2007 + *!* If lnTotalVal <> lnTotalLei + *!* lnDiferenta = lnTotalVal - lnTotalLei + *!* lnSemn = Sign(lnDiferenta) + *!* lnDiferenta = Abs(lnDiferenta) + *!* lnDiferentaPretU = Exp((-1)*gnPc*Log(10)) + *!* lnModificari = 1 + + *!* Do While lnModificari <> 0 + *!* lnModificari = 0 + *!* Select (tcTabel) + *!* Scan + *!* lnDiferentaPret = Round(lnDiferentaPretU*cantitate,gnPc) + *!* lnSemnPret = Sign(lnDiferentaPret) + *!* If Abs(lnDiferentaPret) <= Abs(lnDiferenta) + *!* lnDiferenta = lnDiferenta - lnSemn * lnDiferentaPret + If lnTotalVal <> lnTotalLei + lnDiferenta = lnTotalVal - lnTotalLei + lnSemn = Sign(lnDiferenta) + lnDiferentaMin = Abs(lnDiferenta) + lnDiferentaPretU = Exp((-1)*gnPPretV*Log(10)) + lnModificari = 1 + + Do While lnModificari <> 0 + lnModificari = 0 + Select (tcTabel) + Scan + lnDiferentaPret = Round(lnDiferentaPretU*cantitate,gnPC) + lnSemnPret = Sign(cantitate) + lnTestDiferenta = lnDiferenta - lnSemn * Abs(lnDiferentaPret) + *!* If Abs(lnDiferentaPret) <= Abs(lnDiferenta) And Abs(lnTestDiferenta) lnTotalLei +*!* lnDiferenta = lnTotalVal - lnTotalLei +*!* lnSemn = Sign(lnDiferenta) +*!* lnDiferentaMin = Abs(lnDiferenta) +*!* lnDiferentaPretU = Exp((-1)*gnPc*Log(10)) +*!* lnModificari = 1 + +*!* Do While lnModificari <> 0 +*!* lnModificari = 0 +*!* Select (tcTabel) +*!* Scan +*!* lnDiferentaPret = Round(lnDiferentaPretU*cantitate,gnPc) +*!* lnSemnPret = Sign(cantitate) +*!* lnTestDiferenta = lnDiferenta - lnSemn * Abs(lnDiferentaPret) +*!* *!* If Abs(lnDiferentaPret) <= Abs(lnDiferenta) And Abs(lnTestDiferenta)0 + lnPreciziePret = iif(poDate.in_valuta=0,gnPPretV,gnPVal) + lnPrecizieValoare = iif(poDate.in_valuta=0,gnPc,gnPVal) + lnDiferentaPretU = Exp((-1)*lnPreciziePret*Log(10)) + + Create Cursor crsxtemp(id_temp N(20),difunit N(18,max(lnPreciziePret,4)),tip_valuta N(1),Curs N(10,max(gnPCurs,4)),multiplicator N(10),; + cantitate N(18,max(gnPCant,4)),pret N(18,max(lnPreciziePret,4)),id_set_fact N(20)) + + *!* modificare ROAFACTURARE v 2.0.46 + *!* Insert Into crsxtemp (id_c, difunit, tip_valuta, Curs, cantitate, Pret, id_set_fact) ; + *!* Select id_c,Round(Round(lnDiferentaPretU*Iif(poDate.in_valuta=0,Iif(tip_valuta=0,1,Curs),1),gnPPret)*cantitate,gnPc) As difunit,; + *!* tip_valuta,Curs,cantitate,Iif(tip_valuta=0,pretftva,vpretftva) As Pret,id_set_fact ; + *!* FROM crsfactura Where id_set_fact <> 0 Order By 2 Desc + Insert Into crsxtemp (id_temp, difunit, tip_valuta, Curs, multiplicator, cantitate, Pret, id_set_fact) ; + Select id_temp,Round(round(lnDiferentaPretU*Iif(poDate.in_valuta=0,Iif(tip_valuta=0,1,Curs/multiplicator),1),lnPreciziePret)*cantitate,lnPrecizieValoare) As difunit,; + tip_valuta,Curs,multiplicator,cantitate,Iif(tip_valuta=0,pretftva,vpretftva) As Pret,id_set_fact ; + FROM crsfactura Where id_set_fact <> 0 Order By 2 Desc + *!* modificare ROAFACTURARE v 2.0.46 ^ + + Select crsfacturaset + Scan + lnIdSetFact = id_set_fact + lnTotalSet = Iif(poDate.in_valuta=0,Round(pretftva*cantitate,lnPrecizieValoare),Round(vpretftva*cantitate,lnPrecizieValoare)) + lnCantitateSet = cantitate + lcDenumire = Alltrim(denumire) + lnPretInitialSet = Iif(poDate.in_valuta=0,pretftva,vpretftva) + lnPretPropusSet = lnPretInitialSet + *!* lnDiferentaMin = Round(lnDiferentaPretU*cantitate,gnPc) + + Select crsfactura + Calculate Sum(Round(Iif(poDate.in_valuta=0,Iif(tip_valuta=0,pretftva,Round(vpretftva*Curs/multiplicator,gnPc)),vpretftva)*cantitate,lnPrecizieValoare)) ; + For id_set_fact = lnIdSetFact To lnTotal + + If lnTotalSet <> lnTotal + lnDiferenta = lnTotalSet - lnTotal + lnDiferentaInitiala = lnDiferenta + lnSemn = Sign(lnDiferenta) + lnDiferentaMin = Abs(lnDiferenta) + *!* lnDiferentaPretU = Exp((-1)*gnPc*Log(10)) + lnModificari = 1 + + Do While lnModificari <> 0 + lnModificari = 0 + Select crsxtemp + Scan For id_set_fact = lnIdSetFact + lnTipValuta = tip_valuta + lnCurs = Curs / multiplicator + lnDiferentaPret = difunit + lnSemnPret = Sign(cantitate) + lnTestDiferenta = lnDiferenta - lnSemn * Abs(lnDiferentaPret) + *!* STRTOFILE(ALLTRIM(STR(lnDiferenta,10,gnPc))+[ >> ]+ALLTRIM(STR(lnDiferentaPret,10,gnPc))+CHR(13)+CHR(10),[c:\testfact.txt],1) + *!* modificare ROAFACTURARE v 2.0.46 + *!* If Abs(lnDiferentaPret) <= Abs(lnDiferenta) And Abs(lnTestDiferenta)lnDiferentaMin + lnDiferentaMin = Abs(lnTestDiferenta) + lnDiferenta = lnTestDiferenta + Replace Pret With Pret + lnSemn * lnSemnPret * lnDiferentaPretU + *!* modificare ROAFACTURARE v 2.0.46 + *!* If Abs((lnDiferentaInitiala-lnDiferenta)/lnCantitateSet - Round((lnDiferentaInitiala-lnDiferenta)/lnCantitateSet,gnPc)) <= gnMarjaEroareRepartizare + If Round(Abs((lnDiferentaInitiala-lnDiferenta)/lnCantitateSet - Round((lnDiferentaInitiala-lnDiferenta)/lnCantitateSet,lnPreciziePret)),lnPreciziePret) <= gnMarjaEroareRepartizare + *!* modificare ROAFACTURARE v 2.0.46 ^ + lnPretPropusSet = lnPretInitialSet - lnSemn * lnSemnPret * ; + Floor((lnDiferentaInitiala-lnDiferenta)/lnCantitateSet*Exp(lnPreciziePret*Log(10)))*Exp((-1)*lnPreciziePret*Log(10)) + Endif + If lnDiferenta <> 0 + lnModificari = lnModificari + 1 + Else + lnModificari = 0 + Exit + Endif + + Endif + Endscan + Enddo + + *!* amessagebox(Alltrim(Str(lnDiferenta,10,gnPc))) + *!* modificare ROAFACTURARE v 2.0.46 + *!* If Abs(lnDiferenta)>gnMarjaEroareRepartizare + If Abs(Round(lnDiferenta,lnPrecizieValoare))>gnMarjaEroareRepartizare + *!* modificare ROAFACTURARE v 2.0.46 ^ + lnDiferentaUnitara = lnDiferenta/lnCantitateSet + *!* amessagebox(ALLTRIM(STR(lnDiferentaUnitara,10,gnPc))+[ ]+ALLTRIM(STR(lnDiferenta,10,gnPc))) + If Round(lnDiferentaUnitara,lnPreciziePret)=lnDiferentaUnitara + If AMESSAGEBOX("Nu s-a putut repartiza intreaga diferenta." + Chr(13) + Chr(10) + ; + "Doriti sa "+Iif(lnDiferentaUnitara>0,[diminuati],[cresteti]) + ; + " pretul unitar al articolului compus " + lcDenumire + ; + " cu " + formateaza(Abs(lnDiferentaUnitara),14,lnPreciziePret) + " ?"; + ,4+32,"Confirmare")==6 + Select crsfacturaset + && se scade pretul setului cu lnDiferentaUnitara + modifica_pret_articol_compus(1,lnDiferentaUnitara) + llReturn = .T. + Else + llReturn = .F. + Exit + Endif + Else + If lnPretPropusSet <> lnPretInitialSet + If AMESSAGEBOX("Doriti sa modificati pretul pentru " + ; + lcDenumire + " din " + formateaza(lnPretInitialSet,18,lnPreciziePret) + ; + " in " + formateaza(lnPretPropusSet,18,lnPreciziePret)+" ?",4+32,"Confirmare")=6 + modifica_pret_articol_compus(2,lnPretPropusSet) + llReturn = .F. + Else + AMESSAGEBOX("Nu se poate repartiza diferenta de pret pentru articolele din componenta " + ; + lcDenumire + " !",48,"Atentie") + llReturn = .F. + Exit + Endif + Else + AMESSAGEBOX("Nu se poate repartiza diferenta de pret pentru articolele din componenta " + ; + lcDenumire + " !",48,"Atentie") + llReturn = .F. + Exit + Endif + Endif + Endif + Endif + Endscan + Endif + + If Used('crsxtemp') And llReturn + Select crsxtemp + Scan + *!* modificare ROAFACTURARE v 2.0.46 + lnIdTemp = id_temp + *!* lnIdC = id_c + *!* modificare ROAFACTURARE v 2.0.46 ^ + lnPretNou = Pret + lnCurs = Curs / multiplicator + Select crsfactura + *!* modificare ROAFACTURARE v 2.0.46 + Locate For id_temp = lnIdTemp + *!* Locate For id_c = lnIdC + *!* modificare ROAFACTURARE v 2.0.46 ^ + If Found() + lnTipValuta = tip_valuta + If lnTipValuta = 0 + *!* modificare ROAFACTURARE v 2.0.46 + If pretftva <> lnPretNou + *!* modificare ROAFACTURARE v 2.0.46 ^ + Replace pretftva With lnPretNou,; + pretctva With lnPretNou + Round(lnPretNou*(proc_Tvav-1),lnPreciziePret),; + valftva With Round(lnPretNou * cantitate,lnPrecizieValoare),; + valtva With Round(Round(lnPretNou * cantitate,lnPrecizieValoare)*(proc_Tvav-1),lnPrecizieValoare),; + valctva With valftva + valtva,; + valdiminuatftva With Round((lnPretNou-discountftva)*cantitate,lnPrecizieValoare),; + valdiminuattva With Round(Round((lnPretNou-discountftva)*cantitate,lnPrecizieValoare)*(proc_Tvav-1),lnPrecizieValoare),; + valdiminuatctva With valdiminuatftva + valdiminuattva + *!* modificare ROAFACTURARE v 2.0.46 + Endif + *!* modificare ROAFACTURARE v 2.0.46 ^ + Else + *!* modificare ROAFACTURARE v 2.0.46 + If vpretftva <> lnPretNou + *!* modificare ROAFACTURARE v 2.0.46 ^ + Replace vpretftva With lnPretNou,; + vpretctva With lnPretNou + Round(lnPretNou*(proc_Tvav-1),lnPreciziePret),; + vvalftva With Round(lnPretNou * cantitate,lnPrecizieValoare),; + vvaltva With Round(Round(lnPretNou * cantitate,lnPrecizieValoare)*(proc_Tvav-1),lnPrecizieValoare),; + vvalctva With vvalftva + vvaltva,; + vvaldiminuatftva With Round((lnPretNou-vdiscountftva)*cantitate,lnPrecizieValoare),; + vvaldiminuattva With Round(Round((lnPretNou-vdiscountftva)*cantitate,lnPrecizieValoare)*(proc_Tvav-1),lnPrecizieValoare),; + vvaldiminuatctva With vvaldiminuatftva + vvaldiminuattva,; + pretftva With Round(lnPretNou * lnCurs,gnPPretV),; + pretctva With Round(lnPretNou * lnCurs,gnPPretV) + Round(Round(lnPretNou * lnCurs,gnPPretV)*(proc_Tvav-1),gnPPretV),; + valftva With Round(Round(lnPretNou * lnCurs,gnPPretV) * cantitate,gnPc),; + valtva With Round(Round(Round(lnPretNou * lnCurs,gnPPretV) * cantitate,gnPc)*(proc_Tvav-1),gnPc),; + valctva With valftva + valtva,; + valdiminuatftva With Round(Round((lnPretNou-vdiscountftva)*lnCurs,gnPPretV)*cantitate,gnPc),; + valdiminuattva With Round(Round(Round((lnPretNou-vdiscountftva)*lnCurs,gnPPretV)*cantitate,gnPc)*(proc_Tvav-1),gnPc),; + valdiminuatctva With valdiminuatftva + valdiminuattva + *!* modificare ROAFACTURARE v 2.0.46 + Endif + *!* modificare ROAFACTURARE v 2.0.46 ^ + Endif + Endif + Select crsxtemp + Endscan + + Use In crsxtemp + Endif + + Return llReturn +Endfunc && recalculeaza_pret_vanzare_compus +********************************************************************************************************* +Procedure modifica_pret_articol_compus + Lparameters tnTip,tnValoare + && tnTip = 1 - tnValoare este diferenta + && = 2 - tnValoare este pretul nou + Local lnPretNou + Select crsfacturaset + If poDate.in_valuta = 0 + lnPretNou = Iif(tnTip=1,pretftva + (-1) * tnValoare,tnValoare) + Replace pretftva With lnPretNou,; + pretctva With lnPretNou + Round(lnPretNou * (proc_Tvav - 1),gnPPretV),; + valftva With Round(lnPretNou * cantitate,gnPc),; + valtva With Round(Round(lnPretNou * cantitate,gnPc)*(proc_Tvav-1),gnPc),; + valctva With Round(lnPretNou * cantitate,gnPc) + Round(Round(lnPretNou * cantitate,gnPc)*(proc_Tvav-1),gnPc),; + valdiminuatftva With Round((lnPretNou - valdiscountftva)*cantitate,gnPc),; + valdiminuattva With Round(Round((lnPretNou - valdiscountftva)*cantitate,gnPc)*(proc_Tvav-1),gnPc),; + valdiminuatctva With Round((lnPretNou - valdiscountftva)*cantitate,gnPc) + Round(Round((lnPretNou - valdiscountftva)*cantitate,gnPc)*(proc_Tvav-1),gnPc) + + Else + lnPretNou = Iif(tnTip=1,vpretftva + (-1) * tnValoare,tnValoare) + Replace vpretftva With lnPretNou,; + vpretctva With lnPretNou + Round(lnPretNou * (proc_Tvav - 1), gnPVal),; + vvalftva With Round(lnPretNou * cantitate,gnPVal),; + vvaltva With Round(Round(lnPretNou * cantitate,gnPVal) * (proc_Tvav - 1),gnPVal),; + vvalctva With Round(lnPretNou * cantitate,gnPVal) + Round(Round(lnPretNou * cantitate,gnPVal) * (proc_Tvav - 1),gnPVal),; + vvaldiminuatftva With Round((lnPretNou - vdiscountftva) * cantitate,gnPVal),; + vvaldiminuattva With Round(Round((lnPretNou - vdiscountftva) * cantitate,gnPVal) * (proc_Tvav - 1),gnPVal),; + vvaldiminuatctva With Round((lnPretNou - vdiscountftva) * cantitate,gnPVal) + Round(Round((lnPretNou - vdiscountftva) * cantitate,gnPVal) * (proc_Tvav - 1),gnPVal),; + pretftva With Round(lnPretNou*Curs/multiplicator,gnPPretV),; + pretctva With Round(lnPretNou*Curs/multiplicator,gnPPretV) + Round(Round(lnPretNou*Curs/multiplicator,gnPPretV) * (proc_Tvav - 1), gnPPretV),; + valftva With Round(Round(lnPretNou * Curs/multiplicator,gnPPretV) * cantitate,gnPc),; + valtva With Round(Round(Round(lnPretNou * Curs/multiplicator,gnPPretV) * cantitate,gnPc) * (proc_Tvav - 1),gnPc),; + valctva With Round(Round(lnPretNou * Curs/multiplicator,gnPPretV) * cantitate,gnPc) + Round(Round(Round(lnPretNou * Curs/multiplicator,gnPPretV) * cantitate,gnPc) * (proc_Tvav - 1),gnPc),; + valdiminuatftva With Round(Round((lnPretNou - vdiscountftva)* Curs/multiplicator,gnPPretV) * cantitate,gnPc),; + valdiminuattva With Round(Round(Round((lnPretNou - vdiscountftva)* Curs/multiplicator,gnPPretV) * cantitate,gnPc) * (proc_Tvav - 1),gnPc),; + valdiminuatctva With Round(Round((lnPretNou - vdiscountftva)* Curs/multiplicator,gnPPretV) * cantitate,gnPc) + Round(Round(Round((lnPretNou - vdiscountftva)* Curs/multiplicator,gnPPretV) * cantitate,gnPc) * (proc_Tvav - 1),gnPc) + Endif + +Endproc && modifica_pret_articol_compus +********************************************************************************************************* +*!* Procedure prelucreaza_aviz_cu_tva +*!* Lparameters tnDiscountEvidentiat +*!* Create Cursor crsfacturafinala(denumire c(100),explicatie c(100),cantitate N(20,4),; +*!* pretctva N(20,4),valctva N(20,4),proc_tva N(20,4),um c(10),serie c(100)) +*!* Select Recno() As nrcrt,a.denumire,a.explicatie,a.cantitate,a.pretctva,a.valctva,; +*!* a.proc_tvav as proc_tva,Nvl(a.um,Space(10)) as um,Nvl(a.serie,' ') As serie From crsfactura a; +*!* into Cursor crsfacturafinala +*!* Endproc && prelucreaza_aviz_cu_tva +********************************************************************************************************* +Procedure prelucreaza_factura + *!* modificare ROAFACTURARE v 2.0.67 + *!* Lparameters tnDiscountEvidentiat,tnTipFacturare,tnInValuta,tnPretListSubunitati + *!* modificare ROAFACTURARE v 2.0.77 : am adaugat tcCursorSursa, tcCursorSursaSet,tcCursorDestinatie + Lparameters tcCursorSursa,tcCursorSursaSet,tcCursorDestinatie,tnDiscountEvidentiat,tnInValuta,tnPretListAviz, tnListareDetaliata + *!* modificare ROAFACTURARE v 2.0.67 ^ + *!* ii transmit tnPretListSubunitati ca parametru pentru ca sa nu mai testez si daca este vorba de o factura sau nu + *!* tnListareDetaliata: daca sa se listeze randurile asa cum sunt in loc de grupate dupa articol, pret. sa nu se cumuleze cantitatea pe articole + LOCAL llListareDetaliata, lnIdArticol + llListareDetaliata = (IIF(TYPE('tnListareDetaliata') = 'N', tnListareDetaliata, 0) = 1) + + Local lcCursor,lnPretListAviz,lnIdTemp + *!* modificare ROAFACTURARE v 2.0.67 : am adaugat id_ctr, numar_contract + *!* modificare v 2.0.77 + creeaza_facturafinala(tcCursorDestinatie) + *!* Create Cursor crsfacturafinala(denumire c(100),explicatie c(240),cantitate N(20,4),pretctva N(20,4),valctva N(20,4),; + *!* pretftva N(20,4),pretftvai N(20,4),pretctvai N(20,4),proc_disc N(10,4),valftva N(20,4),valtva N(20,4),; + *!* valftvai N(20,4),valctvai N(20,4),valdiscount N(20,4),; + *!* proc_tva N(20,4),um c(10),serie c(100),codmat c(50),codbare c(50),codmatf c(50),; + *!* id_jtva_coloana N(10),expltva c(100),id_ctr N(10) Null,numar_contract c(100) Null) + *!* modificare v 2.0.77 ^ + If Used('crsfacttemp') + Use In crsfacttemp + Endif + *!* modificare v 2.0.4 + If Empty(tnPretListAviz) + lnPretListAviz = 2 + Else + lnPretListAviz = Nvl(tnPretListAviz,2) + ENDIF + + *!* modificare v 2.0.4 ^ + If Empty(tcCursorSursaSet) + lcCursor = tcCursorSursa + Else + If !Used(tcCursorSursaSet) + lcCursor = tcCursorSursa + Else + Select (tcCursorSursaSet) + lcTab = Chr(9) + lcCrlf = Chr(13) + Chr(10) + *!* modificare v 2.0.4 + If Used('crsfactstemp') + Use In crsfactstemp + Endif + Select * From (tcCursorSursaSet) Into Cursor crsfactstemp + Delete From (tcCursorSursaSet) + Select crsfactstemp + *!* modificare v 2.0.4 ^ + Scan + lnIdSetFact = id_set_fact + lnCantitate = cantitate + lnIdTemp = id_temp && modificare ROAFACTURARE v 2.0.67 + + Insert Into (tcCursorSursaSet) Select * From crsfactstemp Where id_set_fact = lnIdSetFact + *!* modificare ROAFACTURARE v 2.0.67 : am pus lnIdTemp in loc de MIN(id_temp) +*!* Insert Into (tcCursorSursaSet) (id_temp,denumire) ; +*!* Select lnIdTemp As id_temp,lcTab+Alltrim(Alltrim(denumire)+lcTab+Alltrim(codmat)+lcTab+Alltrim(codmatf)+lcCrlf+Nvl(explicatie,[]))+Space(5)+; +*!* Alltrim(Str(Round(Sum(cantitate)/lnCantitate,gnPCant),9,gnPCant))+[ ]+Alltrim(Nvl(um,[])) As denumire ; +*!* From (tcCursorSursa) Where id_set_fact = lnIdSetFact Group By denumire,codmat,codmatf,explicatie,um +*!* Nu merge gruparea dupa campul explicatie Memo. Initial era tip caracter + select denumire,codmat,codmatc,codmatf,cast(explicatie as c(254)) as explicatie,um, Round(Sum(cantitate)/lnCantitate,gnPCant) as cant ; + From (tcCursorSursa) ; + Where id_set_fact = lnIdSetFact ; + Group By 1,2,3,4,5,6 ; + into cursor cSeturiTemporar + + Insert Into (tcCursorSursaSet) (id_temp,denumire) ; + Select lnIdTemp As id_temp,lcTab+Alltrim(Alltrim(denumire)+lcTab+Alltrim(codmat)+lcTab+Alltrim(codmatf)+lcCrlf+Nvl(explicatie,[]))+Space(5)+; + Alltrim(Str(cant,9,gnPCant))+[ ]+Alltrim(Nvl(um,[])) As denumire ; + From cSeturiTemporar + USE IN (SELECT('cSeturiTemporar')) + + Select crsfactstemp + *!* modificare v 2.0.4 ^ + Endscan + + Insert Into (tcCursorSursaSet) Select * From (tcCursorSursa) Where Nvl(id_set_fact,0) = 0 + *!* modificare v 2.0.4 + If Used('crsfactstemp') + Use In crsfactstemp + Endif + *!* modificare v 2.0.4 ^ + lcCursor = tcCursorSursaSet + Endif + Endif + + *!* modificare ROAFACTURARE v 2.0.31 + If gnOrdineElemDoc = 2 + Select a.* From (lcCursor) a Into Cursor (lcCursor) Order By a.denumire + *!* modificare ROAFACTURARE v 2.0.56 + Else + Select a.* From (lcCursor) a Into Cursor (lcCursor) Order By a.id_temp + *!* modificare ROAFACTURARE v 2.0.56 ^ + Endif + *!* modificare ROAFACTURARE v 2.0.31 ^ + + Select Recno() As nrcrt,IIF(m.llListareDetaliata, RECNO(), 1000) as grup, a.* From (lcCursor) a Into Cursor (lcCursor) Order By nrcrt + + creeaza_crsfacttemp() + + Do Case + Case tnDiscountEvidentiat = 1 And lnPretListAviz = 2 && pret fara tva + Insert Into crsfacttemp (nrcrt,denumire,explicatie,codmat,codmatc,codmatf,um,cod_um_iso,cantitate,; + pretftva,codbare,pretctva,pretftvai,pretctvai,proc_disc,valftvai,valctvai,; + valftva,valtva,discountftva,valdiscountftva,valdiscounttva, proc_Tvav,; + serie,id_jtva_coloana,id_jtva_coloana_ex,valctva,discountctva,valdiscountctva,id_ctr,numar_contract,grup, id_articol,lot) ; + Select Min(nrcrt) As nrcrt,denumire,LEFT(explicatie, 240) as explicatie,Nvl(codmat,Space(50)) As codmat,; + Nvl(codmatc,Space(50)) As codmatc,Nvl(codmatf,Space(50)) As codmatf,; + Nvl(um,Space(10)) As um,CAST(cod_um_iso as C(10)) As cod_um_iso,Sum(cantitate) As cantitate,; + pretftva,Nvl(codbare,Space(50)) As codbare,pretctva,; + pretftva As pretftvai,pretctva As pretctvai,0 As proc_disc,Sum(valftva) As valftvai,Sum(valftva+valtva) As valctvai,; + Sum(valftva) As valftva,Sum(valtva) As valtva, ; + discountftva,Sum(valdiscountftva) As valdiscountftva,Sum(valdiscounttva) As valdiscounttva, proc_Tvav,; + Min(Nvl(serie,Space(100))) As serie,id_jtva_coloana,id_jtva_coloana_ex, ; + SUM(valctva) As valctva,discountctva, Sum(discountctva) As valdiscountctva,id_ctr,numar_contract,grup,id_articol,Min(Nvl(lot,Space(20))) As lot ; + FROM (lcCursor) ; + group by 2,3,4,5,6,7,8,10,11,12,13,14,15,20,23,25,26,28,30,31,32,33 ; + ORDER By 1 && Into Cursor crsfacttemp + + * Group By denumire,codmat,codmatf,explicatie,um,codbare,pretftva,pretctva,proc_Tvav,id_jtva_coloana,discountftva,discountctva,id_ctr,numar_contract,grup + + Case tnDiscountEvidentiat = 0 And lnPretListAviz = 2 && pret fara tva + Insert Into crsfacttemp (denumire,explicatie,codmat,codmatc,codmatf,cantitate,pretftva,; + codbare,pretftvai,pretctvai,pretctva,proc_disc,valftva,valtva,; + valftvai,valctvai,discountftva,valdiscountftva,valdiscounttva,proc_Tvav,um,cod_um_iso,; + nrcrt,serie,id_jtva_coloana,id_jtva_coloana_ex,valctva,discountctva,valdiscountctva,id_ctr,numar_contract,grup,id_articol,lot) ; + Select denumire,LEFT(explicatie, 240) as explicatie,Nvl(codmat,Space(50)) As codmat,Nvl(codmatc,Space(50)) As codmatc,Nvl(codmatf,Space(50)) As codmatf,Sum(cantitate) As cantitate,pretftva-discountftva As pretftva,; + Nvl(codbare,Space(50)) As codbare,pretftva As pretftvai,pretctva As pretctvai,pretctva-discountctva As pretctva,; + Iif(cu_tva=0,Iif(pretftva<>0,Round(discountftva/pretftva*100,2),0),; + Iif(pretctva<>0,Round(discountctva/pretctva*100,2),0)) As proc_disc,; + Sum(valdiminuatftva) As valftva,Sum(valdiminuattva) As valtva,; + Sum(valftva) As valftvai,Sum(valftva+valtva) As valctvai,; + 0 As discountftva,0 As valdiscountftva,0 As valdiscounttva, proc_Tvav, Nvl(um,Space(10)) As um,CAST(cod_um_iso as C(10)) As cod_um_iso,; + Min(nrcrt) As nrcrt,Min(Nvl(serie,Space(100))) As serie,id_jtva_coloana,id_jtva_coloana_ex, ; + SUM(valdiminuatctva) As valctva,0 As discountctva, 0 As valdiscountctva,id_ctr,numar_contract,grup,id_articol,Min(Nvl(lot,Space(20))) As lot ; + FROM (lcCursor) Group By 1,2,3,4,5,7,8,9,10,11,12,20,21,22,25,26,28,29,30,31,32,33 Order By 23 + *!* UNION all + Insert Into crsfacttemp (denumire,explicatie,codmat,codmatc,codmatf,cantitate,pretftva,; + codbare,pretftvai,pretctvai,pretctva,proc_disc,valftva,valtva,; + valftvai,valctvai,discountftva,valdiscountftva,valdiscounttva,proc_Tvav,um,cod_um_iso,; + nrcrt,serie,id_jtva_coloana,id_jtva_coloana_ex,valctva,discountctva,valdiscountctva,grup,id_articol,lot) ; + Select denumire,explicatie,Nvl(codmat,Space(50)) As codmat,Nvl(codmatc,Space(50)) As codmatc,Nvl(codmatf,Space(50)) As codmatf,1 As cantitate,pretftva-discountftva as pretftva,; + Space(50) As codbare,pretftva As pretftvai,pretctva As pretctvai,pretctva-discountctva As pretctva,; + Iif(pretctva<>0,Round(discountctva/pretctva*100,2),0) As proc_disc,; + 0 As valftva,0 As valtva,0 As valftvai,0 As valctvai,discountftva,valdiscountftva,valdiscounttva,; + proc_Tvav, Nvl(um,Space(10)) As um,CAST(cod_um_iso as C(10)) As cod_um_iso, nrcrt, Nvl(serie,Space(100)) As serie,id_jtva_coloana,id_jtva_coloana_ex, ; + valdiminuatctva As valctva,0 As discountctva, 0 As valdiscountctva, grup,id_articol, Nvl(lot,Space(20)) As lot ; + from (lcCursor) Where denumire = Replicate('Z',20) Order By 22 && Into Cursor crsfacttemp + Case tnDiscountEvidentiat = 1 And lnPretListAviz = 1 && pret cu tva + Insert Into crsfacttemp(nrcrt,denumire,explicatie,codmat,codmatc,codmatf,um,cod_um_iso,cantitate,pretctva,; + valctva,valtva,pretftva,codbare,discountctva,valdiscountctva,valdiscounttva,proc_Tvav,serie,id_jtva_coloana,id_jtva_coloana_ex,; + pretftvai,pretctvai,proc_disc,valftva,valftvai,valctvai,id_ctr,numar_contract,grup,id_articol,lot) ; + Select Min(nrcrt) As nrcrt,denumire,LEFT(explicatie, 240) as explicatie,Nvl(codmat,Space(50)) As codmat,Nvl(codmatc,Space(50)) As codmatc,Nvl(codmatf,Space(50)) As codmatf,; + Nvl(um,Space(10)) As um,CAST(cod_um_iso as C(10)) As cod_um_iso,Sum(cantitate) As cantitate,pretctva,Sum(valctva) As valctva,Sum(valtva) As valtva, ; + pretftva,Nvl(codbare,Space(50)) As codbare,discountctva,Sum(valdiscountctva) As valdiscountctva,; + Sum(valdiscounttva) As valdiscounttva, proc_Tvav, Min(Nvl(serie,Space(100))) As serie,id_jtva_coloana,id_jtva_coloana_ex, ; + pretftva As pretftvai,pretctva As pretctvai,0 As proc_disc,Sum(valftva) As valftva,; + Sum(valftva) As valftvai,Sum(valctva) As valctvai,id_ctr,numar_contract,grup,id_articol, Min(Nvl(lot,Space(20))) As lot ; + FROM (lcCursor) ; + group by 2,3,4,5,6,7,8,10,13,14,15,18,20,21,22,23,24,28,29,30,31 ; + ORDER By 1 && Into Cursor crsfacttemp + + *Group By denumire,codmat,codmatf,explicatie,um,codbare,pretftva, pretctva,proc_Tvav,id_jtva_coloana,discountctva,id_ctr,numar_contract,grup ; + + Otherwise && pret cu tva + Insert Into crsfacttemp(denumire,explicatie,codmat,codmatc,codmatf,cantitate,pretctva,; + codbare,pretftvai,pretctvai,pretftva,proc_disc,valftva,valctva,valtva,; + valftvai,valctvai,discountctva,valdiscountctva,valdiscounttva,proc_Tvav,um,cod_um_iso,; + nrcrt,serie,id_jtva_coloana,id_jtva_coloana_ex,id_ctr,numar_contract,grup,id_articol,lot) ; + Select denumire,LEFT(explicatie, 240) as explicatie,Nvl(codmat,Space(50)) As codmat,Nvl(codmatc,Space(50)) As codmatc,Nvl(codmatf,Space(50)) As codmatf,; + Sum(cantitate) As cantitate,pretctva-discountctva As pretctva,; + Nvl(codbare,Space(50)) As codbare,pretftva As pretftvai,pretctva As pretctvai,pretftva-discountftva As pretftva,; + Iif(cu_tva=0,Iif(pretftva<>0,Round(discountftva/pretftva*100,2),0),; + Iif(pretctva<>0,Round(discountctva/pretctva*100,2),0)) As proc_disc,; + Sum(valdiminuatftva) As valftva,Sum(valdiminuatctva) As valctva,Sum(valdiminuattva) As valtva,; + Sum(valftva) As valftvai,Sum(valctva) As valctvai,; + 0 As discountctva,0 As valdiscountctva,0 As valdiscounttva, proc_Tvav, Nvl(um,Space(10)) As um,CAST(cod_um_iso as C(10)) As cod_um_iso,; + Min(nrcrt) As nrcrt, Min(Nvl(serie,Space(100))) As serie,id_jtva_coloana,id_jtva_coloana_ex,id_ctr,numar_contract,grup,id_articol, Min(Nvl(lot,Space(20))) As lot ; + FROM (lcCursor) Group By 1,2,3,4,5,7,8,9,10,11,12,21,22,23,26,27,28,29,30,31 Order By 24 + *!* UNION all + Insert Into crsfacttemp(denumire,explicatie,codmat,codmatc,codmatf,cantitate,pretctva,; + codbare,pretftvai,pretctvai,pretftva,proc_disc,valftva,valctva,valtva,; + valftvai,valctvai,discountctva,valdiscountctva,valdiscounttva,proc_Tvav,um,cod_um_iso,; + nrcrt,serie,id_jtva_coloana,id_jtva_coloana_ex,grup,id_articol,lot) ; + Select denumire,explicatie,Nvl(codmat,Space(50)) As codmat,Nvl(codmatc,Space(50)) As codmatc,Nvl(codmatf,Space(50)) As codmatf,; + 1 As cantitate,pretctva,; + Space(50) As codbare,pretftva As pretftvai,pretctva As pretctvai,pretftva,; + Iif(pretctva<>0,Round(discountctva/pretctva*100,2),0) As proc_disc,; + 0 As valftva,0 As valctva,0 As valtva,0 As valftvai,0 As valctvai,discountctva,; + valdiscountctva,valdiscounttva, proc_Tvav, Nvl(um,Space(10)) As um,CAST(cod_um_iso as C(10)) As cod_um_iso, nrcrt,; + Nvl(serie,Space(100)) As serie,id_jtva_coloana,id_jtva_coloana_ex,grup,id_articol,Nvl(lot,Space(20)) As lot ; + from (lcCursor) Where denumire = Replicate('Z',20) Order By 23 && Into Cursor crsfacttemp + ENDCASE + + ******************************** + *** Explicatia are 500 de caractere, tip Memo si nu poate fi folosita intr-un select group by + *** Am selectat doar primele 240 caractere apoi completez explicatia din cursorul original + ******************************** + SELECT (lcCursor) + SCAN + SCATTER NAME loRec MEMO + SELECT crsfacttemp + LOCATE FOR denumire = loRec.denumire AND Nvl(codmat,Space(50)) = Nvl(loRec.codmat,Space(50)) AND LEFT(explicatie, 240) = LEFT(loRec.explicatie, 240) + IF FOUND() + REPLACE explicatie WITH ALLTRIM(loRec.explicatie) + ENDIF + ENDSCAN + + *!* modificare ROAFACTURARE v 2.0.20 ^ + *!* crsfactura(id_temp N(20),id_articol N(20),id_pol N(20),id_gestiune N(20),Cont c(4),um c(10), ; + *!* denumire c(100),pretftva N(20,4),pretctva N(20,4),valftva N(20,4), valtva N(20,4), valctva N(20,4),; + *!* cantitate N(20,4),discountftva N(20,4), discountctva N(20,4),valdiscountftva N(20,4),valdiscounttva N(20,4),; + *!* valdiscountctva N(20,4),valdiminuatftva N(20,4),valdiminuattva N(20,4),; + *!* valdiminuatctva N(20,4),proc_tvav N(20,4),cu_tva N(1)) + *!* modificare ROAFACTURARE v 2.0.67 + *!* Endif + *!* modificare ROAFACTURARE v 2.0.67 ^ + Select crsfacttemp + Scan + Scatter Name loArticol Memo + Select (tcCursorDestinatie) + lcSerie = Nvl(loArticol.serie,'') && modificare ROAFACTURARE v 2.0.46 + lcLot = Nvl(loArticol.lot,'') && modificare ROAFACTURARE v 2.0.46 + If loArticol.denumire <> Replicate('Z',20) + Append Blank + *!* modificare v 2.0.4 + *!* If lnPretListSubunitati = 2 && pret fara tva + *!* *!* modificare v 2.0.4 ^ + *!* Replace denumire With Alltrim(loArticol.denumire),explicatie With Alltrim(Nvl(loArticol.explicatie,[ ])),; + *!* cantitate With loArticol.cantitate,codmat With Alltrim(NVL(loArticol.codmat,Space(50))),codmatf With Alltrim(loArticol.codmatf),; + *!* codbare With Alltrim(NVL(loArticol.codbare,Space(50))),; + *!* pretftvai with loArticol.pretftvai,pretctvai with loArticol.pretctvai,proc_disc with loArticol.proc_disc,; + *!* pretctva with loArticol.pretctva,pretftva With loArticol.pretftva,; + *!* valftva With loArticol.valftva,valtva With loArticol.valtva,; + *!* valftvai with loArticol.valftvai,valctvai with loArticol.valctvai,; + *!* pretctva With loArticol.pretctva,valctva With loArticol.valctva,valtva With loArticol.valtva,; + *!* proc_tva With loArticol.proc_Tvav,um With Alltrim(loArticol.um),serie With Alltrim(loArticol.serie),id_jtva_coloana With loArticol.id_jtva_coloana + *!* *!* modificare v 2.0.4 + *!* Else + Replace denumire With Alltrim(loArticol.denumire),explicatie With Alltrim(Nvl(loArticol.explicatie,[ ])),; + cantitate With loArticol.cantitate,codmat With Alltrim(Nvl(loArticol.codmat,Space(50))),codmatc With Alltrim(Nvl(loArticol.codmatc,Space(50))),codmatf With Alltrim(loArticol.codmatf),; + codbare With Alltrim(Nvl(loArticol.codbare,Space(50))),; + pretftvai With loArticol.pretftvai,pretctvai With loArticol.pretctvai,proc_disc With loArticol.proc_disc,; + pretctva With loArticol.pretctva,; + pretftva With loArticol.pretftva,valftva With loArticol.valftva,; + valftvai With loArticol.valftvai,valctvai With loArticol.valctvai,; + pretctva With loArticol.pretctva,valctva With loArticol.valctva,valtva With loArticol.valtva,; + proc_tva With loArticol.proc_Tvav,um With Alltrim(loArticol.um),cod_um_iso With Alltrim(loArticol.cod_um_iso),; + lot With Alltrim(loArticol.lot),serie With Alltrim(loArticol.serie),id_jtva_coloana With loArticol.id_jtva_coloana,id_jtva_coloana_ex With loArticol.id_jtva_coloana_ex,; + id_ctr With loArticol.id_ctr,numar_contract With loArticol.numar_contract, id_articol WITH loArticol.id_articol + *!* Endif + *!* modificare v 2.0.4 ^ + *!* modificare v 2.0.46 + lcSerie = [] + lcLot = [] + Select (tcCursorSursa) + *!* modificare v 2.0.47 + *!* Scan For Alltrim(denumire) = Alltrim(loArticol.denumire) ; + *!* And Alltrim(Nvl(explicatie,[x_x|])) = Alltrim(Nvl(loArticol.explicatie,[x_x|])) ; + *!* and Alltrim(Nvl(codmat,[x_x|])) = Alltrim(Nvl(loArticol.codmat,[x_x|])) ; + *!* And Alltrim(Nvl(codmatf,[x_x|])) = Alltrim(Nvl(loArticol.codmatf,[x_x|])) ; + *!* and Alltrim(Nvl(codbare,[x_x|])) = Alltrim(Nvl(loArticol.codbare,[x_x|])) ; + *!* and pretftva = loArticol.pretftva ; + *!* and Alltrim(Nvl(um,[x_x|])) = Alltrim(Nvl(loArticol.um,[x_x|])) ; + *!* and discountftva = loArticol.discountftva ; + *!* and proc_Tvav = loArticol.proc_Tvav + *!* lcSerie = lcSerie + Iif(!Empty(Nvl(serie,'')),[,]+Alltrim(serie),[]) + *!* Endscan + If lnPretListAviz = 2 + Scan For Alltrim(denumire) = Alltrim(loArticol.denumire) ; + And Alltrim(Nvl(explicatie,[x_x|])) = Alltrim(Nvl(loArticol.explicatie,[x_x|])) ; + and Alltrim(Nvl(codmat,[x_x|])) = Alltrim(Nvl(loArticol.codmat,[x_x|])) ; + And Alltrim(Nvl(codmatf,[x_x|])) = Alltrim(Nvl(loArticol.codmatf,[x_x|])) ; + and Alltrim(Nvl(codbare,[x_x|])) = Alltrim(Nvl(loArticol.codbare,[x_x|])) ; + and pretftva = loArticol.pretftva ; + and Alltrim(Nvl(um,[x_x|])) = Alltrim(Nvl(loArticol.um,[x_x|])) ; + and discountftva = loArticol.discountftva ; + and proc_Tvav = loArticol.proc_Tvav ; + and Nvl(id_ctr,-1) = Nvl(loArticol.id_ctr,-1) ; + and Nvl(numar_contract,'') = Nvl(loArticol.numar_contract,'') + lcSerie = lcSerie + Iif(!Empty(Nvl(serie,'')),[,]+Alltrim(serie),[]) + lcLot = lcLot + Iif(!Empty(Nvl(lot,'')),[,]+Alltrim(lot),[]) + Endscan + Else + Scan For Alltrim(denumire) = Alltrim(loArticol.denumire) ; + And Alltrim(Nvl(explicatie,[x_x|])) = Alltrim(Nvl(loArticol.explicatie,[x_x|])) ; + and Alltrim(Nvl(codmat,[x_x|])) = Alltrim(Nvl(loArticol.codmat,[x_x|])) ; + And Alltrim(Nvl(codmatf,[x_x|])) = Alltrim(Nvl(loArticol.codmatf,[x_x|])) ; + and Alltrim(Nvl(codbare,[x_x|])) = Alltrim(Nvl(loArticol.codbare,[x_x|])) ; + and pretctva = loArticol.pretctva ; + and Alltrim(Nvl(um,[x_x|])) = Alltrim(Nvl(loArticol.um,[x_x|])) ; + and discountctva = loArticol.discountctva ; + and proc_Tvav = loArticol.proc_Tvav ; + and Nvl(id_ctr,-1) = Nvl(loArticol.id_ctr,-1) ; + and Nvl(numar_contract,'') = Nvl(loArticol.numar_contract,'') + lcSerie = lcSerie + Iif(!Empty(Nvl(serie,'')),[,]+Alltrim(serie),[]) + lcLot = lcLot + Iif(!Empty(Nvl(lot,'')),[,]+Alltrim(lot),[]) + Endscan + Endif + *!* modificare v 2.0.47 ^ + Select (tcCursorDestinatie) + lcSerie = Iif(!Empty(lcSerie),Substr(lcSerie,2),Nvl(loArticol.serie,'')) + lcLot = Iif(!Empty(lcLot),Substr(lcLot,2),Nvl(loArticol.lot,'')) + Replace serie With m.lcSerie, lot WITH m.lcLot + *!* modificare v 2.0.46 ^ + Else + loArticol.denumire = [FACTURA] + Endif + *!* modificare v 2.0.4 + If lnPretListAviz = 2 && pret fara tva + *!* modificare v 2.0.4 ^ + If loArticol.discountftva <> 0 + Append Blank + lnProcentDiscount = loArticol.discountftva * 100 / loArticol.pretftva + Replace denumire With [Discount ]+Alltrim(Str(lnProcentDiscount,10,2))+[ % ]+Alltrim(Proper(loArticol.denumire)),; + lot With Iif(!Empty(Nvl(lcLot,[])),[],Alltrim(loArticol.lot)), serie With Iif(!Empty(Nvl(lcSerie,[])),[],Alltrim(loArticol.serie)),; + cantitate With loArticol.cantitate,um With Alltrim(loArticol.um),cod_um_iso WITH ALLTRIM(loArticol.cod_um_iso),; + codbare With Alltrim(Nvl(loArticol.codbare,Space(50))),; + pretftva With (-1) * loArticol.discountftva,valftva With (-1) * loArticol.valdiscountftva,codmat With Alltrim(Nvl(loArticol.codmat,Space(50))),; + codmatc With Alltrim(Nvl(loArticol.codmatc,Space(50))),codmatf With Alltrim(loArticol.codmatf),valtva With (-1) * loArticol.valdiscounttva,; + proc_tva With loArticol.proc_Tvav,id_jtva_coloana With loArticol.id_jtva_coloana,id_jtva_coloana_ex With loArticol.id_jtva_coloana_ex,; + id_ctr With loArticol.id_ctr,numar_contract With loArticol.numar_contract, id_articol WITH loArticol.id_articol + Endif + *!* modificare v 2.0.4 + Else + If loArticol.discountctva <> 0 + Append Blank + lnProcentDiscount = loArticol.discountctva * 100 / loArticol.pretctva + Replace denumire With [Discount ]+Alltrim(Str(lnProcentDiscount,10,2))+[ % ]+Alltrim(Proper(loArticol.denumire)),; + lot With Iif(!Empty(lcLot),[],Alltrim(loArticol.lot)), serie With Iif(!Empty(lcSerie),[],Alltrim(loArticol.serie)),; + cantitate With loArticol.cantitate,um With Alltrim(loArticol.um),cod_um_iso WITH ALLTRIM(loArticol.cod_um_iso),; + codmatc With Alltrim(Nvl(loArticol.codmatc,Space(50))),codmatf With Alltrim(loArticol.codmatf),codbare With Alltrim(Nvl(loArticol.codbare,Space(50))),; + pretctva With (-1) * loArticol.discountctva,valctva With (-1) * loArticol.valdiscountctva,codmat With Alltrim(Nvl(loArticol.codmat,Space(50))),; + valtva With (-1) * loArticol.valdiscounttva,proc_tva With loArticol.proc_Tvav,id_jtva_coloana With loArticol.id_jtva_coloana,id_jtva_coloana_ex With loArticol.id_jtva_coloana_ex,; + id_ctr With loArticol.id_ctr,numar_contract With loArticol.numar_contract, id_articol WITH loArticol.id_articol + Endif + Endif + *!* modificare v 2.0.4 ^ + Select crsfacttemp + Endscan + + Use In crsfacttemp + completeaza_explicatie_tva(tcCursorDestinatie) && modificare ROAFACTURARE v 2.0.46 + + *!* modificare ROAFACTURARE v 2.0.67 + If Inlist(poDate.tip,2,6,26,51,52) + completeaza_explicatie_contract(tcCursorDestinatie) + Endif + *!* modificare ROAFACTURARE v 2.0.67 ^ + + * Completez CODNC8/CODCPV + SELECT (m.tcCursorDestinatie) + SCAN + lnIdArticol = id_articol + loCod = GetCodNC8CPV(m.lnIdArticol) + SELECT (m.tcCursorDestinatie) + Replace codnc8 WITH loCod.codnc8, codcpv WITH loCod.codcpv + ENDSCAN + + If tnInValuta = 1 + *!* nu a fost modificata prelucreaza_factura_valuta pentru ca avizele se fac doar in lei + *!* iar optiunea de listare a pretului cu tva este valabila doar pentru RON + *!* modificare ROAFACTURARE v 2.0.67 + *!* prelucreaza_factura_valuta(tnDiscountEvidentiat,tnTipFacturare) + prelucreaza_factura_valuta(tcCursorSursa,tcCursorSursaSet,tnDiscountEvidentiat, tnListareDetaliata) + *!* modificare ROAFACTURARE v 2.0.67 ^ + Endif + +Endproc && prelucreaza_factura +********************************************************************************************************* +Procedure prelucreaza_lista_livrare + *!* modificare ROAFACTURARE v 2.0.67 + *!* Lparameters tnTipFacturare + *!* modificare ROAFACTURARE v 2.0.67 ^ + Local lcCursor + lcCursor = [crslltemp] + Create Cursor crslistalivrare(nrcrt N(10),denumire c(100),explicatie M,cantitate N(20,max(gnPCant,4)),um c(10),lot c(20) NULL, serie c(100) null,; + codmat c(50),codmatf c(50)) + + If !Used('crsfacturaset') + Select a.* From crsfactura a Where a.gestionabil = 1 Into Cursor (lcCursor) Order By 1 + Else + *!* modificare ROAFACTURARE v 2.0.56 + *!* Select a.* From crsfacturaset a Where !Isnull(a.id_set_fact) And Nvl(gestionabil,0) = 1 ; + *!* Into Cursor (lcCursor) Order By 1 + If poDate.listare_componenta_set_ll = 1 + Select a.* From crsfacturaset a Where Nvl(a.gestionabil,0) = 1 Or a.cantitate = 0 ; + Into Cursor (lcCursor) Order By 1 + Else + Select a.* From crsfacturaset a Where Nvl(a.id_set_fact,0)<>0 Or (Nvl(a.id_set_fact,0)=0 And Nvl(a.gestionabil,0) = 1) ; + Into Cursor (lcCursor) Order By 1 + Endif + *!* modificare ROAFACTURARE v 2.0.56 ^ + Endif + + If Reccount(lcCursor) > 0 + Select Min(nrcrt) As nrcrt,denumire,Nvl(codmat,Space(50)) As codmat,Nvl(codmatf,Space(50)) As codmatf,; + LEFT(explicatie,254) as explicatie,Nvl(um,Space(10)) As um,Sum(cantitate) As cantitate, ; + Nvl(lot,Space(20)) As lot, Nvl(serie,Space(100)) As serie ; + FROM (lcCursor) Group By 2,3,4,5,6,8,9 ; + ORDER By 1 Into Cursor crslistalivrare + * denumire,codmat,codmatf,explicatie,um,serie + Else + Select * From (lcCursor) Into Cursor crslistalivrare + Endif + + Use In (lcCursor) + +Endproc && prelucreaza_lista_livrare +********************************************************************************************************* +Procedure prelucreaza_recapitulatie + Lparameters tnDiscountEvidentiat + Local lcCursor + Create Cursor crsrecapitulatie(denumire c(100),explicatie M,cantitate N(20,max(gnPCant,4)),pretftva N(20,max(gnPPretV,4)),pret_achizitie N(20,max(gnPPret,4)),; + valftva N(20,max(gnPc,4)),valtva N(20,max(gnPc,4)),um c(10),lot m,serie m,codmat c(50),codmatf c(50),id_jtva_coloana N(10),expltva c(100)) + + If Used('crsfacttemp') + Use In crsfacttemp + Endif + + *!* modificare ROAFACTURARE v 2.0.31 + If gnOrdineElemDoc = 2 + Select a.* From crsfactura a Into Cursor crsfactura Order By a.denumire + *!* modificare ROAFACTURARE v 2.0.56 + Else + Select a.* From crsfactura a Into Cursor crsfactura Order By a.id_temp + *!* modificare ROAFACTURARE v 2.0.56 ^ + Endif + *!* modificare ROAFACTURARE v 2.0.31 ^ + Select Recno() As nrcrt,a.* From crsfactura a Into Cursor crsfactura Order By nrcrt + + If tnDiscountEvidentiat = 1 + Select Min(nrcrt) As nrcrt,denumire,Nvl(codmat,Space(50)) As codmat,Nvl(codmatf,Space(50)) As codmatf,; + CAST(explicatie as C(254)) as explicatie,Nvl(um,Space(10)) As um,Sum(cantitate) As cantitate,pretftva,Sum(valftva) As valftva,; + Sum(valtva) As valtva, discountftva,pret_achizitie,Sum(valdiscountftva) As valdiscountftva,; + Sum(valdiscounttva) As valdiscounttva, proc_Tvav, Nvl(serie,Space(100)) As serie,; + id_jtva_coloana, Nvl(lot,Space(20)) As lot ; + FROM crsfactura Group By 2,3,4,5,6,8,11,12,15,16,17,18 ; + ORDER By 1 Into Cursor crsfacttemp + Else + Select denumire,CAST(explicatie as C(254)) as explicatie,Nvl(codmat,Space(50)) As codmat, Sum(cantitate) As cantitate,pretftva-discountftva As pretftva,; + Sum(valdiminuatftva) As valftva,Sum(valdiminuattva) As valtva,pret_achizitie,; + 0 As discountftva,0 As valdiscountftva,0 As valdiscounttva, proc_Tvav, ; + Nvl(um,Space(10)) As um,Min(nrcrt) As nrcrt, Nvl(serie,Space(100)) As serie, ; + Nvl(codmatf,Space(50)) As codmatf,id_jtva_coloana, Nvl(lot,Space(20)) As lot ; + FROM crsfactura Group By 1,2,3,5,8,12,13,15,16,17,18 ; + UNION All ; + Select denumire,explicatie,Nvl(codmat,Space(50)) As codmat,1 As cantitate,pretftva,; + 0 As valftva,0 As valtva,0 As pret_achizitie,discountftva,valdiscountftva,valdiscounttva,; + proc_Tvav, Nvl(um,Space(10)) As um, nrcrt, Nvl(serie,Space(100)) As serie, ; + Nvl(codmatf,Space(50)) As codmatf,id_jtva_coloana, Nvl(lot,Space(20)) As lot ; + from crsfactura Where denumire = Replicate('Z',20) Order By 14 ; + Into Cursor crsfacttemp + Endif + Select crsfacttemp + Scan + Scatter Name loArticol Memo + Select crsrecapitulatie + If loArticol.denumire <> Replicate('Z',20) + Append Blank + Replace denumire With Alltrim(loArticol.denumire),explicatie With Alltrim(Nvl(loArticol.explicatie,[ ])),; + cantitate With loArticol.cantitate,codmat With Nvl(loArticol.codmat,Space(50)),codmatf With Alltrim(loArticol.codmatf),; + pretftva With loArticol.pretftva,valftva With loArticol.valftva,valtva With loArticol.valtva,; + um With Alltrim(loArticol.um),lot With Alltrim(loArticol.lot),serie With Alltrim(loArticol.serie),; + pret_achizitie With loArticol.pret_achizitie,id_jtva_coloana With loArticol.id_jtva_coloana + Else + loArticol.denumire = [FACTURA] + Endif + If loArticol.discountftva <> 0 + Append Blank + lnProcentDiscount = loArticol.discountftva * 100 / loArticol.pretftva + Replace denumire With [Discount ]+Alltrim(Str(lnProcentDiscount,10,2))+[ % ]+Alltrim(Proper(loArticol.denumire)),; + lot With Alltrim(loArticol.lot),serie With Alltrim(loArticol.serie),cantitate With loArticol.cantitate,um With Alltrim(loArticol.um),; + pretftva With (-1) * loArticol.discountftva,valftva With (-1) * loArticol.valdiscountftva,codmat With Nvl(loArticol.codmat,Space(50)),; + valtva With (-1) * loArticol.valdiscounttva,pret_achizitie With loArticol.pret_achizitie,codmatf With Nvl(loArticol.codmatf,Space(50)),; + id_jtva_coloana With loArticol.id_jtva_coloana + Endif + Select crsfacttemp + Endscan + + Use In crsfacttemp + +Endproc && prelucreaza_recapitulatie +********************************************************************************************************* +Procedure prelucreaza_factura_valuta + Lparameters tcCursorSursa,tcCursorSursaSet,tnDiscountEvidentiat, tnListareDetaliata + && ,tnTipFacturare *!* modificare ROAFACTURARE v 2.0.67 + *!* modificare v 2.0.77 + *!* tnListareDetaliata: daca sa se listeze randurile asa cum sunt in loc de grupate dupa articol, pret. sa nu se cumuleze cantitatea pe articole + + LOCAL llListareDetaliata, lnIdArticol + llListareDetaliata = (IIF(TYPE('tnListareDetaliata') = 'N', tnListareDetaliata, 0) = 1) + + creeaza_facturafinala([crsfacturafinalaval]) + *!* Create Cursor crsfacturafinalaval(denumire c(100),explicatie c(240),cantitate N(20,4),pretftva N(20,4),; + *!* valftva N(20,4),valtva N(20,4),proc_tva N(20,4),um c(10),serie m,codmat c(50),codmatf c(50),codbare c(50),; + *!* id_jtva_coloana N(10),expltva c(100),id_ctr N(10) Null,numar_contract c(100) Null) + *!* modificare v 2.0.77 ^ + If Used('crsfacttemp') + Use In crsfacttemp + Endif + + If !Used(tcCursorSursaSet) + lcCursor = tcCursorSursa + Else + lcCursor = tcCursorSursaSet + Endif + + *!* modificare ROAFACTURARE v 2.0.56 + If gnOrdineElemDoc = 2 + Select a.* From (lcCursor) a Into Cursor (lcCursor) Order By a.denumire + Else + Select a.* From (lcCursor) a Into Cursor (lcCursor) Order By a.id_temp + ENDIF + + *!* modificare ROAFACTURARE v 2.0.56 ^ + + creeaza_crsfacttemp() + If tnDiscountEvidentiat = 1 + Insert Into crsfacttemp (nrcrt,denumire,explicatie,um,cod_um_iso,cantitate,pretftva,valftva,valtva, ; + discountftva,valdiscountftva,valdiscounttva,proc_Tvav,serie,; + codmat,codmatc,codmatf,id_jtva_coloana,codbare,id_ctr,numar_contract,grup,id_articol,lot) ; + Select Min(nrcrt) As nrcrt,denumire,LEFT(explicatie, 240) as explicatie,Nvl(um,Space(10)) As um,CAST(cod_um_iso as C(10)) As cod_um_iso,Sum(cantitate) As cantitate,; + vpretftva As pretftva,Sum(vvalftva) As valftva,Sum(vvaltva) As valtva, ; + vdiscountftva As discountftva,Sum(vvaldiscountftva) As valdiscountftva,; + Sum(vvaldiscounttva) As valdiscounttva,proc_Tvav, Min(Nvl(serie,Space(100))) As serie,; + Nvl(codmat,Space(50)) As codmat,IIF(TYPE(m.lcCursor + '.codmatc') = 'C', Nvl(codmatc,Space(50)), SPACE(50)) As codmatc,Nvl(codmatf,Space(50)) As codmatf,id_jtva_coloana, ; + Nvl(codbare,Space(50)) As codbare,id_ctr,numar_contract,grup,id_articol, Min(Nvl(lot,Space(20))) As lot ; + FROM (lcCursor) Group By 2,3,4,5,7,10,13,15,16,17,18,19,20,21,22,23 ; + ORDER By 1 && Into Cursor crsfacttemp + Else + Insert Into crsfacttemp(denumire,explicatie,cantitate,pretftva,valftva,valtva,; + discountftva,valdiscountftva,valdiscounttva,proc_Tvav,um,cod_um_iso,nrcrt,serie,codmat, ; + codmatc,codmatf,id_jtva_coloana,codbare,id_ctr,numar_contract,grup,id_articol,lot) ; + Select denumire,LEFT(explicatie, 240) as explicatie,Sum(cantitate) As cantitate,vpretftva-vdiscountftva As pretftva,; + Sum(vvaldiminuatftva) As valftva,Sum(vvaldiminuattva) As valtva,; + 0 As discountftva,0 As valdiscountftva,0 As valdiscounttva, proc_Tvav,; + Nvl(um,Space(10)) As um,CAST(cod_um_iso as C(10)) As cod_um_iso,Min(nrcrt) As nrcrt, Min(Nvl(serie,Space(100))) As serie,Nvl(codmat,Space(50)) As codmat, ; + IIF(TYPE(m.lcCursor + '.codmatc') = 'C', Nvl(codmatc,Space(50)), SPACE(50)),Nvl(codmatf,Space(50)) As codmatf,id_jtva_coloana,Nvl(codbare,Space(50)) As codbare,id_ctr,numar_contract,grup,id_articol, Min(Nvl(lot,Space(20))) As lot ; + FROM (lcCursor) Group By 1,2,4,10,11,12,15,16,17,18,19,20,21,22,23 ; + UNION All ; + Select denumire,LEFT(explicatie, 240) as explicatie,1 As cantitate,vpretftva As pretftva,; + 0 As valftva,0 As valtva,vdiscountftva As discountftva,vvaldiscountftva As valdiscountftva,; + vvaldiscounttva As valdiscounttva, proc_Tvav,Nvl(um,Space(10)) As um,CAST(cod_um_iso as C(10)) As cod_um_iso, nrcrt,; + Nvl(serie,Space(100)) As serie,Nvl(codmat,Space(50)) As codmat,IIF(TYPE(m.lcCursor + '.codmatc') = 'C', Nvl(codmatc,Space(50)), SPACE(50)) As codmatc,Nvl(codmatf,Space(50)) As codmatf, ; + id_jtva_coloana,Nvl(codbare,Space(50)) As codbare,id_ctr,numar_contract,grup,id_articol,Nvl(lot,Space(20)) As lot ; + from (lcCursor) Where denumire = Replicate('Z',20) Order By 13 && Into Cursor crsfacttemp + Endif + *!* modificare ROAFACTURARE v 2.0.46 ^ + *!* modificare ROAFACTURARE v 2.0.67 + *!* Endif + *!* modificare ROAFACTURARE v 2.0.67 ^ + + ******************************** + *** Explicatia are 500 de caractere, tip Memo si nu poate fi folosita intr-un select group by + *** Am selectat doar primele 240 caractere apoi completez explicatia din cursorul original + ******************************** + SELECT (lcCursor) + SCAN + SCATTER NAME loRec MEMO + SELECT crsfacttemp + LOCATE FOR denumire = loRec.denumire AND Nvl(codmat,Space(50)) = Nvl(loRec.codmat,Space(50)) AND LEFT(explicatie, 240) = LEFT(loRec.explicatie, 240) + IF FOUND() + REPLACE explicatie WITH ALLTRIM(loRec.explicatie) + ENDIF + ENDSCAN + + Select crsfacttemp + Scan + Scatter Name loArticol Memo + Select crsfacturafinalaval + lcSerie = Nvl(loArticol.serie,'') && modificare ROAFACTURARE v 2.0.46 + lcLot = Nvl(loArticol.lot,'') + If loArticol.denumire <> Replicate('Z',20) + Append Blank + *!* modificare ROAFACTURARE v 2.0.46 + *!* Replace denumire With Alltrim(loArticol.denumire),cantitate With loArticol.cantitate,; + *!* explicatie With Alltrim(Nvl(loArticol.explicatie,[ ])),um With Alltrim(loArticol.um),; + *!* pretftva With loArticol.pretftva,valftva With loArticol.valftva,valtva With loArticol.valtva,; + *!* proc_tva With loArticol.proc_Tvav,serie With Alltrim(loArticol.serie),codmat With Alltrim(NVL(loArticol.codmat,Space(50))) + Replace denumire With Alltrim(loArticol.denumire),cantitate With loArticol.cantitate,; + explicatie With Alltrim(Nvl(loArticol.explicatie,[ ])),um With Alltrim(loArticol.um),cod_um_iso WITH ALLTRIM(loArticol.cod_um_iso),; + id_articol WITH loArticol.id_articol,; + pretftva With loArticol.pretftva,valftva With loArticol.valftva,valtva With loArticol.valtva,; + proc_tva With loArticol.proc_Tvav,codmat With Alltrim(Nvl(loArticol.codmat,Space(50))), ; + codmatc With Alltrim(Nvl(loArticol.codmatc,Space(50))),; + codmatf With Alltrim(Nvl(loArticol.codmatf,Space(50))),id_jtva_coloana With loArticol.id_jtva_coloana,; + id_ctr With loArticol.id_ctr,numar_contract With loArticol.numar_contract + lcSerie = [] + lcLot = [] + Select (tcCursorSursa) + Scan For Alltrim(denumire) = Alltrim(loArticol.denumire) ; + And Alltrim(Nvl(explicatie,[ ])) = Alltrim(Nvl(loArticol.explicatie,[ ])) ; + and Alltrim(codmat) = Alltrim(loArticol.codmat) ; + And Alltrim(codmatf) = Alltrim(loArticol.codmatf) ; + and vpretftva = loArticol.pretftva ; + and Alltrim(um) = Alltrim(loArticol.um) ; + and vdiscountftva = loArticol.discountftva ; + and proc_Tvav = loArticol.proc_Tvav ; + and Nvl(id_ctr,-1) = Nvl(loArticol.id_ctr,-1) ; + and Nvl(numar_contract,'') = Nvl(loArticol.numar_contract,'') + lcSerie = lcSerie + Iif(!Empty(Nvl(serie,'')),[,]+Alltrim(serie),[]) + lcLot = lcLot + Iif(!Empty(Nvl(lot,'')),[,]+Alltrim(lot),[]) + Select crsfactura + Endscan + Select crsfacturafinalaval + lcSerie = Iif(!Empty(lcSerie),Substr(lcSerie,2),Nvl(loArticol.serie,'')) + lcLot = Iif(!Empty(lcLot),Substr(lcLot,2),Nvl(loArticol.lot,'')) + Replace serie With m.lcSerie, lot WITH m.lcLot + *!* modificare ROAFACTURARE v 2.0.46 ^ + Else + loArticol.denumire = [INVOICE] + Endif + If loArticol.discountftva <> 0 + Append Blank + lnProcentDiscount = loArticol.discountftva * 100 / loArticol.pretftva + *!* modificare ROAFACTURARE v 2.0.46 + *!* Replace denumire With Alltrim(Proper(loArticol.denumire))+[ Discount ]+Alltrim(Str(lnProcentDiscount,10,2))+[ %],; + *!* cantitate With loArticol.cantitate,um With Alltrim(loArticol.um),serie With Alltrim(loArticol.serie),; + *!* pretftva With (-1) * loArticol.discountftva,valftva With (-1) * loArticol.valdiscountftva,; + *!* valtva With (-1) * loArticol.valdiscounttva,proc_tva With loArticol.proc_Tvav,; + *!* codmat With Alltrim(NVL(loArticol.codmat,Space(50))) + Replace denumire With Alltrim(Proper(loArticol.denumire))+[ Discount ]+Alltrim(Str(lnProcentDiscount,10,2))+[ %],; + id_articol WITH loArticol.id_articol,; + cantitate With loArticol.cantitate,um With Alltrim(loArticol.um),cod_um_iso WITH ALLTRIM(loArticol.cod_um_iso),lot WITH lcLot, serie With lcSerie,; + pretftva With (-1) * loArticol.discountftva,valftva With (-1) * loArticol.valdiscountftva,; + valtva With (-1) * loArticol.valdiscounttva,proc_tva With loArticol.proc_Tvav,; + codmatc With Alltrim(Nvl(loArticol.codmatc,Space(50))), ; + codmat With Alltrim(Nvl(loArticol.codmat,Space(50))),codmatf With Alltrim(Nvl(loArticol.codmatf,Space(50))),; + id_jtva_coloana With loArticol.id_jtva_coloana,id_ctr With loArticol.id_ctr,numar_contract With loArticol.numar_contract + *!* modificare ROAFACTURARE v 2.0.46 ^ + Endif + Select crsfacttemp + Endscan + + * Completez CODNC8/CODCPV + SELECT crsfacturafinalaval + SCAN + lnIdArticol = id_articol + loCod = GetCodNC8CPV(m.lnIdArticol) + SELECT crsfacturafinalaval + Replace codnc8 WITH loCod.codnc8, codcpv WITH loCod.codcpv + ENDSCAN + + Use In crsfacttemp + +Endproc && prelucreaza_factura_valuta +********************************************************************************************************* +Procedure prelucreaza_aviz_retur + Lparameters tnDiscountEvidentiat + *!* modificare v 2.0.77 + creeaza_facturacrs([crsavizretur2]) + prelucreaza_facturacrs([crsavizretur],[crsavizretur2],0,0,0) + prelucreaza_factura([crsavizretur2],[],[crsfacturafinala2],tnDiscountEvidentiat,0,2) + + If Used('crsavizretur') + Use In crsavizretur + Endif + If Used('crsavizretur2') + Use In crsavizretur2 + Endif + +Endproc && prelucreaza_aviz_retur +********************************************************************************************************* +*!* modificare ROAFACTURARE v 2.0.46 +*!* Function optiuni_format_factura +*!* Private pnOptiune +*!* pnOptiune = 1 +*!* pnButon = 1 +*!* lcTitlu = "LISTARE FACTURA" +*!* lcExplicatie = "Alegeti formatul facturii:" +*!* lcOptiuni = [A4;A5;] +*!* lnNrOptiuni = 2 +*!* llFaraRenuntare = .T. +*!* ofrmopt = Createobject("frm_optiune",lcTitlu,lcExplicatie,lnNrOptiuni,lcOptiuni,llFaraRenuntare) +*!* ofrmopt.Show(1) +*!* Release ofrmopt +*!* Return pnOptiune +*!* Endfunc && optiuni_format_factura +********************************************************************************************************* +Function optiuni_format_listare + Lparameters tnTip && 0 - factura ; 1 - aviz + Private pnOptiune + pnOptiune = 1 + pnButon = 1 + If Empty(tnTip) + lcTitlu = "LISTARE FACTURA" + lcExplicatie = "Alegeti formatul facturii:" + Else + lcTitlu = "LISTARE AVIZ" + lcExplicatie = "Alegeti formatul avizului:" + Endif + lcOptiuni = [A4;A5;] + lnNrOptiuni = 2 + llFaraRenuntare = .T. + ofrmopt = Createobject("frm_optiune",lcTitlu,lcExplicatie,lnNrOptiuni,lcOptiuni,llFaraRenuntare) + ofrmopt.Show(1) + Release ofrmopt + Return pnOptiune +Endfunc && optiuni_format_listare +*!* modificare ROAFACTURARE v 2.0.46 ^ +********************************************************************************************************* +Procedure creeaza_facturafinala + Lparameters tcNumeCursor + If Used(tcNumeCursor) + Use In (tcNumeCursor) + Endif + Create Cursor (tcNumeCursor) (denumire c(100),explicatie M,cantitate N(20,max(gnPCant,4)),pretctva N(20,max(gnPPretV,precizie_max_pret_vz)),valctva N(20,max(gnPc,4)),; + pretftva N(20,max(gnPPretV,precizie_max_pret_vz)),pretftvai N(20,max(gnPPretV,precizie_max_pret_vz)),pretctvai N(20,max(gnPPretV,precizie_max_pret_vz)),proc_disc N(10,4),valftva N(20,max(gnPc,4)),valtva N(20,max(gnPc,4)),; + valftvai N(20,max(gnPc,4)),valctvai N(20,max(gnPc,4)),valdiscount N(20,max(gnPc,4)),; + proc_tva N(20,4),um c(10),cod_um_iso C(10) null,lot C(20) null,serie c(100),codmat c(50),codmatc c(50), codbare c(50),codmatf c(50),; + id_jtva_coloana N(10),expltva c(100),id_jtva_coloana_ex N(10) null,expltva_ex c(100) null,id_ctr N(10) Null,numar_contract c(100) Null, taxcode N(6) null, id_articol N(10) null, codnc8 V(20) null, codcpv V(20) null) +Endproc && creeaza_crsfacturafinala +********************************************************************************************************* +Procedure creeaza_facturacrs + Lparameters tcNumeCursor + If Used(tcNumeCursor) + Use In (tcNumeCursor) + Endif + Create Cursor (tcNumeCursor) (id_c N(20),id_temp N(20),id_articol N(20) null,id_pol N(20) Null,id_gestiune N(20),Cont c(4),um c(10) Null, cod_um_iso c(5) null, ; + id_valuta N(10),gestionabil N(1),tip_valuta N(1),Curs N(20,4),multiplicator N(10),id_jtva_coloana N(20) Null,id_jtva_coloana_ex N(20) Null,codmat c(100),codmatc c(100),codmatf c(100),codbare c(50),; + pret_achizitie N(20,max(gnPPret,4)),denumire c(100),pretftva N(20,max(gnPPretV,precizie_max_pret_vz)),pretctva N(20,max(gnPPretV,precizie_max_pret_vz)),valftva N(20,max(gnPc,4)), valtva N(20,max(gnPc,4)),valctva N(20,max(gnPc,4)),; + cantitate N(20,max(gnPCant,4)),discountftva N(20,max(gnPPretV,4)), discountctva N(20,max(gnPPretV,precizie_max_pret_vz)), valdiscountftva N(20,max(gnPc,4)),valdiscounttva N(20,max(gnPc,4)),; + valdiscountctva N(20,max(gnPc,4)),valdiminuatftva N(20,max(gnPc,4)),valdiminuattva N(20,max(gnPc,4)),valdiminuatctva N(20,max(gnPc,4)),proc_Tvav N(20,4),cu_tva N(1), lot C(20) null, serie c(100) Null,; + vpretftva N(20,max(gnPVal,precizie_max_pret_vz)),vpretctva N(20,max(gnPVal,precizie_max_pret_vz)),vvalftva N(20,max(gnPVal,4)),vvaltva N(20,max(gnPVal,4)),vvalctva N(20,max(gnPVal,4)),; + vdiscountftva N(20,max(gnPVal,4)),vdiscountctva N(20,max(gnPVal,4)),vvaldiscountftva N(20,max(gnPVal,4)),vvaldiscounttva N(20,max(gnPVal,4)),; + vvaldiscountctva N(20,max(gnPVal,4)),vvaldiminuatftva N(20,max(gnPVal,4)),vvaldiminuattva N(20,max(gnPVal,4)),vvaldiminuatctva N(20,max(gnPVal,4)),id_set_fact N(20) Null,explicatie M Null,; + id_part_rez N(10) Null,id_lucrare_rez N(10) Null,pretv_orig N(20,max(gnPPretV,precizie_max_pret_vz)),pretd N(20,max(gnPPretVal,precizie_max_pret_vz)) Null,id_valuta_d N(15) Null,; + id_rata N(20) Null,data_rata d,data_scadenta d,nr_rata N(20),id_ctr N(20) Null,opt_facturare N(3),numar_contract c(100) Null,nume_val c(100),id_rul_aux n(10) null, ; + nume_gestiune c(100) null, cgest c(50) null, taxcode N(6) null, codnc8 V(20) null, codcpv V(20) null) +Endproc && creeaza_facturacrs +********************************************************************************************************* +Procedure creeaza_crsfacttemp + If Used('creeaza_crsfacttemp') + Use In creeaza_crsfacttemp + Endif + Create Cursor crsfacttemp(nrcrt N(10),id_articol N(20) null,denumire c(100),explicatie M Null,codmat c(50),codmatc c(50),codmatf c(50),codbare c(50),um c(10),cod_um_iso C(10) null, lot C(20) null, serie c(100) Null,; + id_ctr N(10) Null,numar_contract c(100) Null,cantitate N(20,max(gnPCant,4)),; + proc_Tvav N(20,4),id_jtva_coloana N(10),id_jtva_coloana_ex N(10) Null,; + pretftva N(20,max(gnPPretV,precizie_max_pret_vz)),pretftvai N(20,max(gnPPretV,precizie_max_pret_vz)),pretctva N(20,max(gnPPretV,precizie_max_pret_vz)),pretctvai N(20,max(gnPPretV,precizie_max_pret_vz)),; + valftva N(20,max(gnPc,4)),valftvai N(20,max(gnPc,4)),valtva N(20,max(gnPc,4)),valctva N(20,max(gnPc,4)),valctvai N(20,max(gnPc,4)),; + proc_disc N(10,4),discountftva N(20,max(gnPPretV,4)),discountctva N(20,max(gnPPretV,precizie_max_pret_vz)),; + valdiscountftva N(20,max(gnPC,4)),valdiscounttva N(20,max(gnPc,4)),valdiscountctva N(20,max(gnPc,4)), grup N(4), taxcode N(6) null, codnc8 V(20) null, codcpv V(20) null) +Endproc && creeaza_crsfacttemp +********************************************************************************************************* +Procedure prelucreaza_facturacrs + Lparameters tcCursorSursa,tcCursorDestinatie,tnProcTvav,tnDiscount,tnDiscountVal + Local lnTotalBaza,lnTotalBazaVal,lnIdTemp + *!* modificare ROAAUTO v 2.0.41 : am adaugat id_articol + + Insert Into (tcCursorDestinatie) (id_articol,id_temp,explicatie,denumire,lot,serie,codmat,codmatc,id_jtva_coloana,id_jtva_coloana_ex,taxcode,codmatf,codbare,pret_achizitie,cantitate,proc_Tvav,um,cod_um_iso,; + cu_tva,pretctva,discountctva,valctva,valdiscountctva,valdiminuatctva,pretftva,; + valftva,valtva,discountftva,valdiscountftva,valdiscounttva,valdiminuatftva,; + valdiminuattva,vpretftva,vvalftva,vvaltva,vdiscountftva,vvaldiscountftva,vvaldiscounttva,; + vvaldiminuatftva,vvaldiminuattva,id_set_fact,gestionabil,id_ctr,numar_contract,id_valuta,tip_valuta,Curs,multiplicator,nume_val,codnc8,codcpv) ; + SELECT CAST(IIF(TYPE(tcCursorSursa+".id_articol")='U',0,id_articol) as N(20)) as id_articol,id_vanzare_det As id_temp,; + explicatie,denumire,lot,serie,Nvl(codmat,Space(50)) As codmat,IIF(TYPE(tcCursorSursa + '.codmatc') = 'C', Nvl(codmatc,Space(50)), SPACE(50)) As codmatc,id_jtva_coloana,id_jtva_coloana_ex,taxcode,; + NVL(codmatf,Space(50)) As codmatf,; + Nvl(codbare,Space(50)) As codbare,Nvl(pret_achizitie,0.000) As pret_achizitie,Nvl(cantitate,1) As cantitate,proc_Tvav,Nvl(um,Space(50)) As um, ; + CAST(IIF(TYPE(tcCursorSursa+".cod_um_iso")='U','',cod_um_iso) as C(5)) as cod_um_iso, ; + pret_cu_tva As cu_tva,; + Iif(pret_cu_tva = 1,Round(Pret,gnPPretV),Round(Pret,gnPPretV)+Round(Round(Pret,gnPPretV)*(proc_Tvav-1),gnPPretV)) As pretctva,; + Iif(pret_cu_tva = 1,Round(discount_unitar,gnPPretV),0.000) As discountctva,; + Iif(pret_cu_tva = 1,Round(Round(Pret,gnPPretV)*Nvl(cantitate,1),gnPc),Round(Round(Pret,gnPPretV)*Nvl(cantitate,1),gnPc)+; + Round(Round(Round(Pret,gnPPretV)*Nvl(cantitate,1),gnPc)*(proc_Tvav-1),gnPc)) As valctva,; + Iif(pret_cu_tva = 1,Round(Round(discount_unitar,gnPPretV)*Nvl(cantitate,1),gnPc),; + ROUND((Round(discount_unitar,gnPPretV)-Round(Round(discount_unitar,gnPPretV)*(proc_Tvav-1),gnPPretV))*Nvl(cantitate,1),gnPc)) As valdiscountctva,; + IIF(pret_cu_tva = 1,; + ROUND((Round(Pret,gnPPretV)-Round(discount_unitar,gnPPretV))*Nvl(cantitate,1),gnPc),; + ROUND((Round(Pret,gnPPretV)+Round(Round(Pret,gnPPretV)*(proc_Tvav-1),gnPPretV)-Round(discount_unitar,gnPPretV)-Round(Round(discount_unitar,gnPPretV)*(proc_Tvav-1),gnPPretV))*Nvl(cantitate,1),gnPc)) As valdiminuatctva,; + IIF(pret_cu_tva = 0,; + Round(Pret,gnPPretV),; + Round(Round(Pret,gnPPretV)/proc_Tvav,gnPPretV)) As pretftva,; + IIF(pret_cu_tva = 0,; + Round(Round(Pret,gnPPretV)*Nvl(cantitate,1),gnPc),; + ROUND(Round(Pret,gnPPretV)*Nvl(cantitate,1),gnPc) - ; + Round(Round(Round(Pret,gnPPretV)*Nvl(cantitate,1),gnPc)*(proc_Tvav-1)/proc_Tvav, gnPc)) As valftva,; + IIF(pret_cu_tva = 0,; + Round(Round(Round(Pret,gnPPretV)*Nvl(cantitate,1),gnPc)*(proc_Tvav-1),gnPc),; + Round(Round(Round(Pret,gnPPretV)*Nvl(cantitate,1),gnPc)*(proc_Tvav-1)/proc_Tvav, gnPc)) As valtva,; + IIF(pret_cu_tva = 0,; + Round(discount_unitar,gnPPretV),; + Round(Round(discount_unitar,gnPPretV)/proc_Tvav,gnPPretV)) As discountftva,; + IIF(pret_cu_tva = 0,; + Round(Round(discount_unitar,gnPPretV)*Nvl(cantitate,1),gnPc),; + ROUND(Round(discount_unitar,gnPPretV)*Nvl(cantitate,1),gnPc) - ; + Round(Round(Round(discount_unitar,gnPPretV)*Nvl(cantitate,1),gnPc)*(proc_Tvav-1)/proc_Tvav, gnPc)) As valdiscountftva,; + IIF(pret_cu_tva = 0,; + ROUND(Round(Round(discount_unitar,gnPPretV)*Nvl(cantitate,1),gnPc)*(proc_Tvav-1),gnPc),; + Round(Round(Round(discount_unitar,gnPPretV)*Nvl(cantitate,1),gnPc)*(proc_Tvav-1)/proc_Tvav, gnPc)) As valdiscounttva,; + IIF(pret_cu_tva = 0,; + Round((Round(Pret,gnPPretV)-Round(discount_unitar,gnPPretV))*Nvl(cantitate,1),gnPc),; + ROUND((Round(Pret,gnPPretV)-Round(discount_unitar,gnPPretV))*Nvl(cantitate,1),gnPc) - ; + Round(Round((Round(Pret,gnPPretV)-Round(discount_unitar,gnPPretV))*Nvl(cantitate,1),gnPc)*(proc_Tvav-1)/proc_Tvav, gnPc)) As valdiminuatftva,; + IIF(pret_cu_tva = 0,; + Round(Round((Round(Pret,gnPPretV)-Round(discount_unitar,gnPPretV))*Nvl(cantitate,1),gnPc)*(proc_Tvav-1),gnPc),; + Round(Round((Round(Pret,gnPPretV)-Round(discount_unitar,gnPPretV))*Nvl(cantitate,1),gnPc)*(proc_Tvav-1)/proc_Tvav, gnPc)) As valdiminuattva, ; + IIF(pret_cu_tva = 0,; + Round(Pret_val,gnPVal),; + Round(Round(Pret_val,gnPVal)/proc_Tvav,gnPVal)) As vpretftva,; + IIF(pret_cu_tva = 0,; + Round(Round(Pret_val,gnPVal)*Nvl(cantitate,1),gnPVal),; + ROUND(Round(Pret_val,gnPVal)*Nvl(cantitate,1),gnPVal) - ; + Round(Round(Round(Pret_val,gnPVal)*Nvl(cantitate,1),gnPVal)*(proc_Tvav-1)/proc_Tvav, gnPVal)) As vvalftva,; + IIF(pret_cu_tva = 0,; + Round(Round(Round(Pret_val,gnPVal)*Nvl(cantitate,1),gnPVal)*(proc_Tvav-1),gnPVal),; + Round(Round(Round(Pret_val,gnPVal)*Nvl(cantitate,1),gnPVal)*(proc_Tvav-1)/proc_Tvav, gnPVal)) As vvaltva,; + IIF(pret_cu_tva = 0,; + Round(discount_unitar_val,gnPVal),; + Round(Round(discount_unitar_val,gnPVal)/proc_Tvav,gnPVal)) As vdiscountftva,; + IIF(pret_cu_tva = 0,; + Round(Round(discount_unitar_val,gnPVal)*Nvl(cantitate,1),gnPVal),; + ROUND(Round(discount_unitar_val,gnPVal)*Nvl(cantitate,1),gnPVal) - ; + Round(Round(Round(discount_unitar_val,gnPVal)*Nvl(cantitate,1),gnPVal)*(proc_Tvav-1)/proc_Tvav, gnPVal)) As vvaldiscountftva,; + IIF(pret_cu_tva = 0,; + ROUND(Round(Round(discount_unitar_val,gnPVal)*Nvl(cantitate,1),gnPVal)*(proc_Tvav-1),gnPVal),; + Round(Round(Round(discount_unitar_val,gnPVal)*Nvl(cantitate,1),gnPVal)*(proc_Tvav-1)/proc_Tvav, gnPVal)) As vvaldiscounttva,; + IIF(pret_cu_tva = 0,; + Round((Round(Pret_val,gnPVal)-Round(discount_unitar_val,gnPVal))*Nvl(cantitate,1),gnPVal),; + ROUND((Round(Pret_val,gnPVal)-Round(discount_unitar_val,gnPVal))*Nvl(cantitate,1),gnPVal) - ; + Round(Round((Round(Pret_val,gnPVal)-Round(discount_unitar_val,gnPVal))*Nvl(cantitate,1), gnPVal)*(proc_Tvav-1)/proc_Tvav, gnPVal)) As vvaldiminuatftva,; + IIF(pret_cu_tva = 0,; + Round(Round((Round(Pret_val,gnPVal)-Round(discount_unitar_val,gnPVal))*Nvl(cantitate,1),gnPVal)*(proc_Tvav-1),gnPVal),; + Round(Round((Round(Pret_val,gnPVal)-Round(discount_unitar_val,gnPVal))*Nvl(cantitate,1), gnPVal)*(proc_Tvav-1)/proc_Tvav, gnPVal)) As vvaldiminuattva, ; + Nvl(id_vanzare_set,00000000000000000) As id_set_fact,; + Iif(Nvl(id_gestiune,0)<>0,1,0) As gestionabil, ; + id_ctr,numar_contract,id_valuta,tip_valuta,Nvl(Curs,1.000) As Curs,NVL(multiplicator,1) as multiplicator,nume_val, ; + CAST(IIF(TYPE(tcCursorSursa+".codnc8")='U','',codnc8) as V(20)) as codnc8, ; + CAST(IIF(TYPE(tcCursorSursa+".codcpv")='U','',codcpv) as V(20)) as codcpv ; + From (tcCursorSursa) + If tnDiscount<> 0 + Select (tcCursorDestinatie) + Calculate Sum(valdiminuatftva),Sum(vvaldiminuatftva),Max(id_temp) To lnTotalBaza,lnTotalBazaVal,lnIdTemp + Select (tcCursorDestinatie) + Append Blank + Replace denumire With Replicate('Z',20),cantitate With 1,; + pretftva With lnTotalBaza,discountftva With tnDiscount,valdiscountftva With tnDiscount,; + valdiscounttva With Round(tnDiscount * (tnProcTvav - 1),gnPc),; + vpretftva With lnTotalBazaVal,vdiscountftva With tnDiscountVal,vvaldiscountftva With tnDiscountVal,; + vvaldiscounttva With Round(tnDiscountVal * (tnProcTvav - 1),gnPVal),; + proc_Tvav With tnProcTvav,id_temp With lnIdTemp+1 + Endif +Endproc && prelucreaza_facturacrs +********************************************************************************************************* +*!* modificare v 2.0.67 +*!* Procedure creeaza_crsfactura_rate +*!* If Used('crsfactura') +*!* Use in crsfactura +*!* EndIf +*!* Create Cursor crsfactura(id_rata N(20),id_temp N(20),den_rata c(100),data_rata d, data_scadenta d,um c(10),denumire c(100),codmat c(100),codmatf c(100),codbare c(50),; +*!* explicatie c(240),nr_rata N(20), valftva N(20,4), valtva N(20,4), valctva N(20,4),serie c(100),Curs N(20,4),id_jtva_coloana N(20),; +*!* proc_tvav N(20,4),cu_tva N(1),pretftva N(20,4),pretctva N(20,4),tip_valuta N(1),vpretftva N(20,4),vpretctva N(20,4),discountftva N(20,4)) +*!* Endproc && creeaza_crsfactura_rate +*!* modificare v 2.0.67 ^ +********************************************************************************************************* +Procedure creeaza_backup_cursoare_facturare +*!* modificare 03.06.2013 +*!* *!* modificare v 2.0.56 +*!* *!* Dimension laStructura(1,18),laStructura2(1,18) +*!* sterge_backup_cursoare_facturare() +*!* copiaza_structura_cursor([crsfactura],[bckpfactura]) +*!* *!* Afields(laStructura,[crsfactura]) +*!* *!* Create Cursor bckpfactura From Array laStructura +*!* *!* modificare v 2.0.56 ^ +*!* Select * From crsfactura Into Cursor bckpfactura +*!* *!* If Used('crsfacturaset') +*!* *!* Afields(laStructura2,[crsfacturaset]) +*!* *!* Create Cursor bckpfacturaset From Array laStructura2 +*!* *!* Select * From crsfacturaset Into Cursor bckpfacturaset +*!* *!* Endif +*!* Release laStructura,laStructura2 + creeaza_backup_cursoare([crsfactura]) && in oproceduri_comune.prg +*!* modificare 03.06.2013 ^ +Endproc && creeaza_backup_cursoare_facturare +********************************************************************************************************* +Procedure repune_backup_cursoare_facturare + *!* modificare ROAFACTURARE v 2.0.46 + *!* If Used('bckpfactura') + *!* Select * From bckpfactura Into Cursor crsfactura Readwrite + *!* Use In bckpfactura + *!* Endif + If Used('crsfacturaset') + Use In crsfacturaset + Endif +*!* modificare 03.06.2013 +*!* If Used('bckpfactura') +*!* Select crsfactura +*!* lnRecno = Recno() +*!* Select * From bckpfactura Into Cursor crsfactura Readwrite +*!* Use In bckpfactura +*!* Select crsfactura +*!* If Reccount('crsfactura') > 0 +*!* Go Min(lnRecno,Reccount('crsfactura')) +*!* Else +*!* Go Top +*!* Endif +*!* Endif +*!* *!* modificare ROAFACTURARE v 2.0.46 ^ +*!* *!* If Used('bckpfacturaset') +*!* *!* Select * From bckpfacturaset Into Cursor crsfacturaset Readwrite +*!* *!* Use In bckpfacturaset +*!* *!* Endif + repune_backup_cursoare([crsfactura]) && in oproceduri_comune.prg +*!* modificare 03.06.2013 ^ +Endproc && repune_backup_cursoare_facturare +********************************************************************************************************* +Procedure sterge_backup_cursoare_facturare +*!* modificare 03.06.2013 +*!* If Used('bckpfactura') +*!* Use In bckpfactura +*!* Endif +*!* *!* If Used('bckpfacturaset') +*!* *!* Use In bckpfacturaset +*!* *!* Endif + sterge_backup_cursoare([crsfactura]) +*!* modificare 03.06.2013 ^ +Endproc && sterge_backup_cursoare_facturare +********************************************************************************************************* +********************************************************************************************************* +Procedure alege_banci_facturare + Local ofrmbanca + lcSql = [select 0 as ales,Nvl(b.banca,b.denumire) as banca,b.cont_banca as cont,b.reg_comert as swift,] + ; + [c.adresa from coresp_tip_part a ] + ; + [join nom_parteneri b on a.id_part = b.id_part and b.sters = 0 and b.inactiv = 0 ] + ; + [left join vadrese_parteneri c on a.id_part = c.id_part and c.principala = 1 ] + ; + [where a.id_tip_part = ] + Iif(poDate.in_valuta=0,[24],[25]) + ; + [ and b.cont_banca is not null order by 2] + lnSucces = goExecutor.oExecute(lcSql,[crsbanci]) + If lnSucces < 0 + AMESSAGEBOX(goExecutor.cEroare,16,"Eroare") + Return + Endif + gnButon = 1 + If Reccount('crsbanci')>1 + Select crsbanci + Go Top + ofrmbanca = Createobject('frm_alege_banca') + ofrmbanca.Show(1) + Release ofrmbanca + Endif + If gnButon = 1 + Select banca,Cont,swift,adresa From crsbanci Where ales = 1 Into Array laArray + Dimension laArray(3,4) + poFirma.banca = Iif(!Empty(laArray(1,1)),laArray(1,1),Null) + poFirma.cont_banca = Iif(!Empty(laArray(1,2)),laArray(1,2),Null) + poFirma.b_swift = Iif(!Empty(laArray(1,3)),laArray(1,3),Null) + poFirma.b_adresa = Iif(!Empty(laArray(1,4)),laArray(1,4),Null) + poFirma.banca2 = Iif(!Empty(laArray(2,1)),laArray(2,1),Null) + poFirma.cont_banca2 = Iif(!Empty(laArray(2,2)),laArray(2,2),Null) + poFirma.b_swift2 = Iif(!Empty(laArray(2,3)),laArray(2,3),Null) + poFirma.b_adresa2 = Iif(!Empty(laArray(2,4)),laArray(2,4),Null) + poFirma.banca3 = Iif(!Empty(laArray(3,1)),laArray(3,1),Null) + poFirma.cont_banca3 = Iif(!Empty(laArray(3,2)),laArray(3,2),Null) + poFirma.b_swift3 = Iif(!Empty(laArray(3,3)),laArray(3,3),Null) + poFirma.b_adresa3 = Iif(!Empty(laArray(3,4)),laArray(3,4),Null) + Endif + Use In crsbanci +Endproc && alege_banci_facturare +********************************************************************************************************* +Procedure alege_optiuni_listare_facturare + Local loFrmOptiuniList,lcCursorSerii,lnVizibile + + lnVizibile = 5 + If Used('crsfactura') + lcCursorSerii = [crsverserartfact] + Select Recno() From crsfactura Where !Empty(Nvl(serie,'')) OR !EMPTY(NVL(lot, '')) Into Cursor (lcCursorSerii) + If Used(lcCursorSerii) + If Reccount(lcCursorSerii)=0 + poDate.listare_serii = 0 + lnVizibile = lnVizibile - 1 + Endif + Use In (lcCursorSerii) + Endif + Endif + + If !Used('crsfacturaset') + poDate.listare_componenta_set = 0 + poDate.listare_recapitulatie = 0 + lnVizibile = lnVizibile - 2 + Else + If poDate.eProforma = 1 + poDate.listare_recapitulatie = 0 + lnVizibile = lnVizibile - 1 + Endif + Endif + + *!* modificare ROAFACTURARE v 2.0.67 + *!* If !(Nvl(gnListaLivrare,0) = 1 And poDate.eProforma = 0 And !Inlist(pnTipFacturare,1,2) And !InList(poDate.tip,4,7)) + If !(Nvl(gnListaLivrare,0) = 1 And poDate.eProforma = 0 And !Inlist(poDate.tip,4,7)) + *!* modificare ROAFACTURARE v 2.0.67 ^ + poDate.listare_lista_livrare = 0 + poDate.listare_componenta_set_ll = 0 + lnVizibile = lnVizibile - 2 + Else + *!* modificare ROAFACTURARE v 2.0.61 : daca nu exista articole gestionabile,nu se mai listeaza + If Used('crsfactura') + lcCursorGest = [crsvergestartfact] + Select Recno() From crsfactura Where gestionabil = 1 Into Cursor (lcCursorGest) + If Used(lcCursorGest) + If Reccount(lcCursorGest)=0 + poDate.listare_lista_livrare = 0 + lnVizibile = lnVizibile - 1 + Endif + Use In (lcCursorGest) + Endif + Endif + *!* If !Used('crsfacturaset') + If !Used('crsfacturaset') Or poDate.listare_lista_livrare = 0 + *!* modificare ROAFACTURARE v 2.0.61 ^ + poDate.listare_componenta_set_ll = 0 + lnVizibile = lnVizibile - 1 + Endif + Endif + + If lnVizibile <> 0 + loFrmOptiuniList = Createobject('frm_alege_optlistfact') + loFrmOptiuniList.Show(1) + Endif + Release loFrmOptiuniList,lcCursorSerii,lnVizibile +Endproc && alege_optiuni_listare_facturare +********************************************************************************************************* +Procedure completeaza_explicatie_tva + Lparameters tcCursor + Local lnNrCote,lnNrCote0,lcListaId,lcListaIdEx,lcSql,lnSucces + + Use In (SELECT('crsproctvav')) + + IF TYPE(tcCursor + '.id_jtva_coloana_ex') = 'N' + Select Distinct id_jtva_coloana,id_jtva_coloana_ex, proc_tva From (tcCursor) Into Cursor crsproctvav + else + Select Distinct id_jtva_coloana, 0 as id_jtva_coloana_ex, proc_tva From (tcCursor) Into Cursor crsproctvav + ENDIF + If Reccount('crsproctvav')>0 + lnNrCote = Reccount('crsproctvav') + lnNrCote0 = 0 + lcListaId = [] + lcListaIdEx = [-9999] + Select crsproctvav + Scan For proc_tva = 1 And Nvl(id_jtva_coloana,-1)<>-1 + lcListaId = lcListaId + [,] + Alltrim(Str(id_jtva_coloana)) + IF !EMPTY(NVL(id_jtva_coloana_ex,0)) + lcListaIdEx = lcListaIdEx + [,] + Alltrim(Str(id_jtva_coloana_ex)) + ENDIF + lnNrCote0 = lnNrCote0 + 1 + ENDSCAN + lcListaId = IIF(!EMPTY(m.lcListaId), Substr(lcListaId,2), '') + *lcListaIdEx = IIF(!EMPTY(m.lcListaIdEx), Substr(lcListaIdEx,2), '') + + If lnNrCote0 > 0 + *!* modificare ROAFACTURARE 2.0.80 : am adaugat NVL(explicatie,denumire) in loc de denumire + TEXT TO lcSql TEXTMERGE noshow + SELECT j.id_jtva_coloana, jex.id_jtva_coloana_ex, NVL(jex.denumire, j.denumire) as denumire from + (select id_jtva_coloana,NVL(explicatie,denumire) as denumire from jtva_coloane where id_jtva_coloana in (<>)) j left join + (select id_jtva_coloana, id as id_jtva_coloana_ex, explicatie as denumire from jtva_coloane_explicatii where id in (<>)) jex on jex.id_jtva_coloana = j.id_jtva_coloana + ENDTEXT + lnSucces = goExecutor.oExecute(lcSql,[crsexpl]) + If lnSucces < 0 + AMESSAGEBOX(goExecutor.cEroare,16,"Eroare") + Else + If Reccount('crsexpl')=1 And lnNrCote = lnNrCote0 + Select crsexpl + poDate.explicatie_tva = Alltrim(denumire) + ENDIF + + Select crsexpl + Scan + lnIdJtva = NVL(id_jtva_coloana,0) + lnIdJtvaEx = NVL(id_jtva_coloana_ex,0) + lcDenumire = Alltrim(denumire) + Select (tcCursor) + IF TYPE(tcCursor + '.id_jtva_coloana_ex') = 'N' AND !EMPTY(m.lnIdJtvaEx) + Replace expltva With m.lcDenumire For NVL(id_jtva_coloana_ex,0) = m.lnIdJtvaEx + ELSE + Replace expltva With m.lcDenumire For NVL(id_jtva_coloana,0) = m.lnIdJtva + ENDIF + Select crsexpl + Endscan + + Use In crsexpl + Endif + Endif + Endif + + If Used('crsproctvav') + Use In crsproctvav + Endif +Endproc && completeaza_explicatie_tva +********************************************************************************************************* +Procedure completeaza_explicatie_contract + Lparameters tcCursor + Local lnPozI,lnPozF,lnIdCtr,lnIdCtrPrec,lnDimArray,lnIndex,lnIndexMax,lcNrContract,lnNrInreg + lnDimArray = 20 + Dimension laContracte[lnDimArray,3] && 1 - id_ctr; 2 - numar si data contract; 3 - pozitiile din factura coresp.ctr. + lnIndexMax = 1 + lnIdCtrPrec = Null + lcNrContract = [] + lnNrInreg = 0 + lnIndex = 1 + Select (tcCursor) + Scan For cantitate <> 0 + lnIdCtr = id_ctr + lnNrInreg = lnNrInreg+1 + Do Case + Case Isnull(lnIdCtrPrec) And Isnull(lnIdCtr) + *!* nimic + Case Nvl(lnIdCtr,-1) = Nvl(lnIdCtrPrec,-1) + lnPozF = lnNrInreg && Recno() + Otherwise + If !Isnull(lnIdCtrPrec) + lnIndex = Ascan(laContracte,lnIdCtrPrec,1,lnIndexMax*3,1,8) + If lnIndex = 0 + lnIndex = lnIndexMax + lnIndexMax = lnIndexMax + 1 + laContracte[lnIndex,1] = lnIdCtrPrec + laContracte[lnIndex,2] = lcNrContract + laContracte[lnIndex,3] = [] + Endif + If lnPozI = lnPozF + laContracte[lnIndex,3] = laContracte[lnIndex,3] + Alltrim(Str(lnPozI)) + [,] + Else + laContracte[lnIndex,3] = laContracte[lnIndex,3] + Alltrim(Str(lnPozI)) + [-] + Alltrim(Str(lnPozF)) + [,] + Endif + Endif + If !Isnull(lnIdCtr) + lnPozI = lnNrInreg && Recno() + lnPozF = lnNrInreg && Recno() + Else + lnPozI = 0 + lnPozF = 0 + Endif + Endcase + lnIdCtrPrec = lnIdCtr + lcNrContract = Alltrim(numar_contract) + Endscan + If !Isnull(lnIdCtrPrec) + lnIndex = Ascan(laContracte,lnIdCtrPrec,1,lnIndexMax*3,1,8) + If lnIndex = 0 + lnIndex = lnIndexMax + laContracte[lnIndex,1] = lnIdCtrPrec + laContracte[lnIndex,2] = lcNrContract + laContracte[lnIndex,3] = [] + Endif + If lnPozI = lnPozF + laContracte[lnIndex,3] = laContracte[lnIndex,3] + Alltrim(Str(lnPozI)) + [,] + Else + laContracte[lnIndex,3] = laContracte[lnIndex,3] + Alltrim(Str(lnPozI)) + [-] + Alltrim(Str(lnPozF)) + [,] + Endif + Endif + + *!* modificare ROAFACTURARE v 2.0.77 + && 1-3 : conditia !Empty(Nvl(laContracte[lnIndex,2],[])) a fost adaugata pentru ca daca + && pe contract nu e stipulat sa apara textul aditional, atunci pe factura nu aparea nr. contractului, ci doar + && "Conform contractului nr. " + pcExplicatieContract = [] + If lnIndexMax = 1 + If !Empty(Nvl(laContracte[lnIndex,2],[])) && 1 + pcExplicatieContract = [Conform contractului nr. ] + laContracte[lnIndex,2] + Endif && 2 + Else + For lnIndex = 1 To lnIndexMax + If !Empty(laContracte[lnIndex,1]) And !Empty(Nvl(laContracte[lnIndex,2],[])) && 3 + pcExplicatieContract = pcExplicatieContract + [;] + Substr(laContracte[lnIndex,3],1,Len(laContracte[lnIndex,3])-1) + [ cf. contractului nr. ] + laContracte[lnIndex,2] + Endif + Endfor + pcExplicatieContract = Substr(pcExplicatieContract,2) + Endif + Release lnPozI,lnPozF,lnIdCtr, lnIdCtrPrec, lnDimArray,lnIndex,lcNrContract,lnIndexMax +Endproc && completeaza_explicatie_contract +********************************************************************************************************* diff --git a/programe/ofacturare_stoc.prg b/programe/ofacturare_stoc.prg new file mode 100644 index 0000000..4823c70 --- /dev/null +++ b/programe/ofacturare_stoc.prg @@ -0,0 +1,1140 @@ +*************************************************************************************************************** +**** Proceduri: +**** initializeaza_vanzare_din_stoc +**** listeaza_ofacturare_stoc +**** relisteaza_ofacturare_stoc +**** Functii: +**** oscrie_vanzare_din_stoc +*************************************************************************************************************** +*!* 10.07.2009 +*!* marius.mutu +*!* cast(nvl(id_valuta,0) as N(5)) IN LOC DE nvl(id_valuta,0) - apareau **** daca primul id_valuta/id_valutad era NULL + + +*!* 15.05.2018 +*!* marius.mutu +*!* initializeaza_vanzare_din_stoc + id_set 271 vanzare produse pret achizitie + +*!* 29.06.2018 +*!* marius.mutu +*!* initializeaza_vanzare_din_stoc + id_set 272 vanzare produse valuta pret achizitie +*!* initializeaza_vanzare_din_stoc + parametru toActAnterior - pentru lansarea din modificare_articole_gestiune + +*!* 12.11.2019 +*!* marius.mutu +*!* initializeaza_vanzare_din_stoc + IdSet2TipFacturare + +*!* 03.05.2022 +*!* oscrie_vanzare_din_stoc - completeaza pack_facturare.adauga_articol_factura_stoc(taxcode) + +**************************************** INCEPUT: initializeaza_vanzare_din_stoc ****************************** +Procedure initializeaza_vanzare_din_stoc +Lparameters tnIdSet, toActAnterior +LOCAL lnTip +If glLunaInchisa + amessagebox("Nu puteti emite documente, deoarece aceasta luna este închisa!",0+48,"Luna închisa") + Return +Endif +Dimension taValori[5,4] +Private poDate && ,pnTipFacturare *!* modificare v ROAFACTURARE 2.0.67 +lnTip = IdSet2TipFacturare(m.tnIdSet) +poDate = CREATEOBJECT("oDateFactura",tnIdSet,lnTip) +*!* modificare v 2.0.67 +*!* pnTipFacturare = 0 +*!* modificare v 2.0.67 ^ +If gcNumeProgram = [ROAFACTURARE] + selecteaza_gestiuni() +Endif + +taValori[1,1]="poAct.dataireg" +taValori[1,2]= Dtoc(poDate.dataireg) +taValori[1,3]= .T. + +taValori[2,1]="poAct.dataact" +taValori[2,2]= Dtoc(poDate.dataact) +taValori[2,3]= .T. + +taValori[3,1]="poAct.datascad" +taValori[3,2]= Dtoc(poDate.datascad) +taValori[3,4]= Iif(gnScadentaAutomata=0,.F.,.T.) + +taValori[4,1]="poAct.id_fdoc" +taValori[4,2]=Alltrim(Str(Nvl(poDate.id_fdoc,0))) +taValori[4,4]= !Empty(Nvl(poDate.id_fdoc,0)) + +taValori[5,1]="poAct.fdoc" +taValori[5,2]= Alltrim(poDate.fdoc) +taValori[5,4]= !Empty(Nvl(poDate.fdoc,[])) + +lnRaspuns = 6 +Do While lnRaspuns = 6 + +*!* taValori[6,1]="poAct.nract" +*!* taValori[6,2]=Alltrim(Str(poDate.nract)) +*!* taValori[6,3]= !Empty(poDate.nract) + + If Inlist(tnIdSet,223,225,226,227,272) + Dimension taValori[6,4] + taValori[6,1]="poAct.v8" + taValori[6,2]= Dtoc(poDate.zi_curs) + taValori[6,4]= .F. + + poDate.in_valuta = 1 + Endif + + lnSucces=lans(tnIdSet,.F.,.T.,@taValori, .F., toActAnterior) +*!* If lnSucces = 2 +*!* Do dezaloca_numar_fact In oserii_numere.prg +*!* Endif + + lnRaspuns = amessagebox("Doriti sa continuati cu operatii de acest fel?",4+32,"Confirmare") + poDate.Reset(7-lnRaspuns) +Enddo +*!* modificare ROAGEST v 2.0.6 +*!* If Used('nom_gestiuni') +*!* Use In nom_gestiuni +*!* Endif +*!* modificare ROAGEST v 2.0.6 ^ +Release poDate && ,pnTipFacturare *!* modificare v 2.0.67 +Endproc +**************************************** SFARSIT: initializeaza_vanzare_din_stoc ****************************** +******************************************** INCEPUT: oscrie_vanzare_din_stoc ********************************* +*!* - facturarea din gestiuni; +*!* - intrare din gestiune valorica mf la pv - aviz expeditie +Function oscrie_vanzare_din_stoc +Lparameters toSet +*!* v 2.0.18 roagest +*!* in vanzari_detalii scriu pretul cu tva daca am marfa la pret de vanzare, daca nu scriu pretul de vanzare fara tva +*!* tip = -6, id_set = 236 intrare din gestiune valorica marfa la pv - aviz expeditie +*!* tip = -6, id_set = 240 intrare din gestiune valorica (cantitativ) marfa la pv - aviz expeditie +Local lnPretCuTva, lnSucces, llSucces, lcSql +lnPretCuTva = Iif(INLIST(gnTipGest , 6,7), 1, 0) +*!* v 2.0.18 roagest ^ +If Used('crsvanztemp') + Use In crsvanztemp +Endif +If Used('crsfactura') + Use In crsfactura +Endif + +poDate.nract = poAct.nract +poDate.serie_act = poAct.serie_act + +*!* modificare ROAFACTURARE v 2.0.68 +*!* Create Cursor crsfactura(id_temp N(15),um c(10), denumire c(100), explicatie c(240), pretftva N(20,4), pretctva N(20,4),; +*!* valftva N(20,4), valtva N(20,4), valctva N(20,4),; +*!* cantitate N(20,4),discountftva N(20,4), discountctva N(20,4),valdiscountftva N(20,4),valdiscounttva N(20,4),; +*!* valdiscountctva N(20,4),id_jtva_coloana N(10),; +*!* valdiminuatftva N(20,4),valdiminuattva N(20,4), valdiminuatctva N(20,4),proc_tvav N(20,4),serie c(100),; +*!* codmat c(50), codmatf c(50), codbare c(50),cu_tva N(1),; +*!* vpretftva N(20,4),vvalftva N(20,4),vvaltva N(20,4),vdiscountftva N(20,4),vvaldiscountftva N(20,4),vvaldiscounttva N(20,4),; +*!* vvaldiminuatftva N(20,4),vvaldiminuattva N(20,4),vvaldiminuatctva N(20,4),gestionabil N(1)) +creeaza_facturacrs([crsfactura]) +*!* modificare ROAFACTURARE v 2.0.68 ^ + +*!* modificare ROAFACTURARE v 2.0.56 : am adaugat pretd, id_valutad +*!* modificare ROAFACTURARE v 2.0.90 : am adaugat multiplicator +Create Cursor crsvanztemp(id_articol N(20),Pret N(20,max(gnPPretV,4)),proc_tvav N(7,3),id_jtva_coloana N(10),cantitate N(20,max(gnPCant,4)),discount_unitar N(20,max(gnPPretV,4)),; + id_gestiune N(20),Cont c(4),pret_cu_tva N(1),serie c(100),id_valuta N(10),codmat c(50),Curs N(20,max(gnPCurs,6)),multiplicator N(10),pret_achizitie N(20,max(gnPPret,4)),; + pretd N(20,max(gnPPretVal,4)),id_valuta_d N(10),id_rul_aux N(10) Null,taxcode N(6) null,lot C(20) null) +*!* modificare ROAGEST v 2.0.142 +completeaza_facturacrs([crsfactura]) +*!* *!* v 2.0.18 roagest - am calculat total cu tva, total tva, total fara tva = diferenta, adaos +*!* If !INLIST(gnTipGest,6,7) +*!* Insert Into crsfactura (id_temp,denumire,serie,cantitate,cu_tva,pretftva,pretctva,; +*!* valftva,valtva,valctva,discountftva,discountctva,valdiscountftva,; +*!* valdiscounttva, valdiscountctva, valdiminuatftva, valdiminuattva, valdiminuatctva, proc_tvav,id_jtva_coloana,um,codmat,codbare,; +*!* vpretftva,vvalftva,vvaltva,vdiscountftva,vvaldiscountftva,vvaldiscounttva,; +*!* vvaldiminuatftva,vvaldiminuattva,vvaldiminuatctva,gestionabil) ; +*!* Select Recno() As id_temp,denumire, Nvl(serie,Space(100)) As serie, cante As cantitate,m.lnPretCuTva As cu_tva,; +*!* Round(pretv,gnPc) As pretftva,; +*!* Round(pretv,gnPc) + Round(Round(pretv,gnPc) * (proc_tvav-1),gnPc) As pretctva,; +*!* Round(Round(pretv,gnPc)*cante,gnPc) As valftva,; +*!* ROUND(Round(pretv*cante,gnPc)*(proc_tvav-1),gnPc) As valtva, ; +*!* Round(Round(pretv,gnPc)*cante,gnPc) + Round(Round(pretv*cante,gnPc)*(proc_tvav-1),gnPc) As valctva, ; +*!* ROUND(discunitar,gnPc) As discountftva,; +*!* ROUND(discunitar,gnPc)+Round(Round(discunitar,gnPc)*(proc_tvav-1),gnPc) As discountctva,; +*!* Round(Round(discunitar,gnPc)*cante,gnPc) As valdiscountftva, ; +*!* ROUND(Round(discunitar*cante,gnPc)*(proc_tvav-1),gnPc) As valdiscounttva, ; +*!* Round(Round(discunitar,gnPc)*cante,gnPc) + Round(Round(discunitar*cante,gnPc)*(proc_tvav-1),gnPc) As valdiscountctva,; +*!* Round(Round(pretv-discunitar,gnPc)*cante,gnPc) As valdiminuatftva,; +*!* ROUND(Round((pretv-discunitar)*cante,gnPc)*(proc_tvav-1),gnPc) As valdiminuattva,; +*!* ROUND(Round(Round(pretv-discunitar,gnPc)*cante,gnPc)*proc_tvav,gnPc) As valdiminuatctva,; +*!* proc_tvav,id_jtva_coloana, Nvl(um,Space(50)) As um, Nvl(codmat,Space(50)) As codmat, Nvl(codbare,Space(50)) As codbare,; +*!* Round(pretvval,gnPVal) As vpretftva,; +*!* ROUND(Round(pretvval,gnPVal)*cante,gnPVal) As vvalftva,; +*!* ROUND(Round(Round(pretvval,gnPVal)*cante,gnPVal)*(proc_tvav-1),gnPVal) As vvaltva,; +*!* 0 As vdiscountftva,0 As vvaldiscountftva,0 As vvaldiscounttva,; +*!* Round(Round(pretvval-0,gnPc)*cante,gnPc) As vvaldiminuatftva,; +*!* ROUND(Round((pretvval-0)*cante,gnPc)*(proc_tvav-1),gnPc) As vvaldiminuattva,; +*!* ROUND(Round(Round(pretvval-0,gnPc)*cante,gnPc)*proc_tvav,gnPc) As vvaldiminuatctva,; +*!* 1 As gestionabil From rul_temp Where cante <> 0 +*!* Else +*!* Insert Into crsfactura (id_temp,denumire,serie,cantitate,cu_tva,pretftva,pretctva,; +*!* valftva,valtva,valctva,discountftva,discountctva,valdiscountftva,; +*!* valdiscounttva, valdiscountctva, valdiminuatftva, valdiminuattva, valdiminuatctva, proc_tvav,id_jtva_coloana,um,codmat,codbare,; +*!* vpretftva,vvalftva,vvaltva,vdiscountftva,vvaldiscountftva,vvaldiscounttva,; +*!* vvaldiminuatftva,vvaldiminuattva,vvaldiminuatctva,gestionabil) ; +*!* Select Recno() As id_temp,denumire, Nvl(serie,Space(100)) As serie, cante As cantitate,m.lnPretCuTva As cu_tva,Round(pretv,gnPc) As pretftva, ; +*!* Round(pretv+tvav,gnPc) As pretctva,; +*!* Round(Round((pretv+tvav),gnPc)*cante,gnPc) - Round(Round((pretv+tvav)*cante,gnPc)*(proc_tvav-1)/proc_tvav,gnPc) As valftva, ; +*!* Round(Round((pretv+tvav)*cante,gnPc)*(proc_tvav-1)/proc_tvav,gnPc) As valtva, ; +*!* Round(Round((pretv+tvav),gnPc)*cante,gnPc) As valctva, ; +*!* ROUND(discunitar,gnPc) As discountftva, ; +*!* ROUND(discunitar,gnPc)+Round(Round(discunitar,gnPc)*(proc_tvav-1),gnPc) As discountctva,; +*!* Round(Round(discunitar,gnPc)*cante,gnPc) As valdiscountftva, ; +*!* Round(Round(discunitar*cante,gnPc)*(proc_tvav-1),gnPc) As valdiscounttva, ; +*!* Round(Round(discunitar,gnPc)*cante,gnPc) + Round(Round(discunitar*cante,gnPc)*(proc_tvav-1),gnPc) As valdiscountctva, ; +*!* Round(Round((pretv+tvav),gnPc)*cante,gnPc) - Round(Round((pretv+tvav)*cante,gnPc)*(proc_tvav-1)/proc_tvav,gnPc) As valdiminuatftva, ; +*!* Round(Round((pretv+tvav)*cante,gnPc)*(proc_tvav-1)/proc_tvav,gnPc) As valdiminuattva, ; +*!* Round(Round((pretv+tvav),gnPc)*cante,gnPc) As valdiminuatctva, ; +*!* proc_tvav,id_jtva_coloana, Nvl(um,Space(50)) As um,Nvl(codmat,Space(50)) As codmat, Nvl(codbare,Space(50)) As codbare, Round(pretvval,gnPVal) As vpretftva,; +*!* ROUND(Round(pretvval,gnPVal)*cante,gnPVal) As vvalftva,; +*!* ROUND(Round(Round(pretvval,gnPVal)*cante,gnPVal)*(proc_tvav-1),gnPVal) As vvaltva,; +*!* 0 As vdiscountftva,0 As vvaldiscountftva,0 As vvaldiscounttva,; +*!* Round(Round(pretvval-0,gnPc)*cante,gnPc) As vvaldiminuatftva,; +*!* ROUND(Round((pretvval-0)*cante,gnPc)*(proc_tvav-1),gnPc) As vvaldiminuattva,; +*!* ROUND(Round(Round(pretvval-0,gnPc)*cante,gnPc)*proc_tvav,gnPc) As vvaldiminuatctva,; +*!* 1 As gestionabil From rul_temp Where cante <> 0 + +*!* *!* v 2.0.52 +*!* *!* nu am discount la vanzare - si era formula gresita - trebuia sa plece de la pretv+tvav +*!* *!* Round(Round(pretv-discunitar,gnPc)*cante,gnPc) As valdiminuatftva,; +*!* *!* ROUND(Round((pretv-discunitar)*cante,gnPc)*(proc_tvav-1),gnPc) As valdiminuattva,; +*!* *!* ROUND(Round(Round(pretv-discunitar,gnPc)*cante,gnPc)*proc_tvav,gnPc) As valdiminuatctva, +*!* *!* v 2.0.52 ^ +*!* Endif +*!* *!* v 2.0.18 roagest ^ +*!* modificare ROAGEST v 2.0.142 ^ +If poDate.in_valuta = 1 +&& se foloseste pretul in valuta +*!* modificare ROAFACTURARE v 2.0.56 : am adaugat pretd, id_valutad +*!* modificare ROAFACTURARE v 2.0.90 : am adaugat multiplicator + Insert Into crsvanztemp(id_articol,Pret,proc_tvav,id_jtva_coloana,cantitate,discount_unitar,id_gestiune,Cont,pret_cu_tva,; + serie,codmat,id_valuta,Curs,multiplicator,pret_achizitie,pretd,id_valuta_d,id_rul_aux,taxcode) ; + SELECT a.id_articol,Iif(!INLIST(gnTipGest,6,7), a.pretvval, Round(a.pretvval* proc_tva, gnPVal)),a.proc_tvav,; + a.id_jtva_coloana,; + a.cante As cantitate,a.discunitar As discount_unitar,a.id_gestiune,; + a.Cont, m.lnPretCuTva As pret_cu_tva,Nvl(a.serie,Space(100)) As serie,Nvl(a.codmat,Space(50)) As codmat,; + CAST(Nvl(a.id_valuta_vanz,0) as N(5)) As id_valuta, CAST(Nvl(b.Curs,0) as N(18,6)) As Curs,; + CAST(NVL(b.multiplicator,1) as N(10)) as multiplicator,; + a.Pret As pret_achizitie,a.pretd,CAST(Nvl(a.id_valuta,0) as N(5)) As id_valuta_d,a.id_rul_aux, a.taxcode ; + From rul_temp a left join crscursuri b on NVL(a.id_valuta_vanz,0) = b.id_valuta + Use In crscursuri + + Select crsvanztemp + poDate.Curs = Curs + poDate.multiplicator = multiplicator + If !INLIST(gnTipGest,6,7) + Calculate Sum(Round(Pret*cantitate,gnPVal)),Sum(Round(Round(Pret*cantitate,gnPVal)*(proc_tvav-1),gnPVal)) ; + To poDate.totftvaconv,poDate.tottvaconv + poDate.totftvaconv = Round(poDate.totftvaconv*poDate.Curs/poDate.multiplicator,gnPc) + poDate.tottvaconv = Round(poDate.tottvaconv*poDate.Curs/poDate.multiplicator,gnPc) + poDate.totctvaconv = poDate.totftvaconv+poDate.tottvaconv + Else + Calculate Sum(Round(Pret*cantitate,gnPVal)),Sum(Round(Round(Pret*cantitate,gnPVal)*(proc_tvav-1)/proc_tvav,gnPVal)) ; + To poDate.totctvaconv,poDate.tottvaconv + poDate.totctvaconv = Round(poDate.totctvaconv*poDate.Curs/poDate.multiplicator,gnPc) + poDate.tottvaconv = Round(poDate.totcvaconv*poDate.Curs/poDate.multiplicator,gnPc) + poDate.totftvaconv = poDate.totctvaconv - poDate.tottvaconv + Endif + +Else +*!* poDate.tip = -6 retur +*!* modificare ROAFACTURARE v 2.0.56 : am adaugat pretd, id_valutad + Insert Into crsvanztemp(id_articol,Pret,proc_tvav,id_jtva_coloana,cantitate,discount_unitar,id_gestiune,Cont,pret_cu_tva,; + serie,codmat,id_valuta,Curs,multiplicator,pret_achizitie,pretd,id_valuta_d,id_rul_aux,taxcode) ; + SELECT id_articol,Iif(!INLIST(gnTipGest,6,7), pretv, pretv+tvav) As Pret,proc_tvav,id_jtva_coloana,cante As cantitate,; + discunitar As discount_unitar,Iif(poDate.tip <> -6, id_gestiune, id_gestiunec) As id_gestiune,; + cont, m.lnPretCuTva As pret_cu_tva,Nvl(serie,Space(100)) As serie,Nvl(codmat,Space(50)) As codmat,; + 0 As id_valuta,0 As Curs,1 as multiplicator,Pret,pretd,CAST(Nvl(id_valuta,0) as N(5)) As id_valuta_d,id_rul_aux,taxcode From rul_temp Where cante <> 0 +Endif + +Do Case +Case poDate.tip = -10 + Select Distinct dataireg,id_fdoc,dataact,datascad,nract,id_partc As id_part,nume_val,id_valuta,id_lucrare ; + From ACTACTAN ; + WHERE Alltrim(scd) = '6582' And Alltrim(scc) = '401' ; + Into Cursor crstemp +Case poDate.tip = -9 + Select Distinct dataireg,id_fdoc,dataact,datascad,nract,id_partc As id_part,nume_val,id_valuta,id_lucrare ; + From ACTACTAN ; + WHERE Alltrim(scd) = '623' And Alltrim(scc) = '401' ; + Into Cursor crstemp +Case poDate.tip = -6 + Select Distinct dataireg,id_fdoc,dataact,datascad,nract,id_gestin As id_part,nume_val,id_valuta,id_lucrare ; + From ACTACTAN ; + Where Alltrim(scc) = '371' ; + Into Cursor crstemp +*!* modificare ROAGEST v 2.0.46 : am inlocuit id_gestout cu id_gestin +*!* modificare ROAGEST v 2.0.51 +Case poDate.tip = -7 + Select Distinct dataireg,id_fdoc,dataact,datascad,nract,id_partd As id_part,nume_val,id_valuta,id_lucrare ; + From ACTACTAN ; + Where id_partd <> 0 And scd = '418' ; + Into Cursor crstemp +*!* modificare ROAGEST v 2.0.51 ^ +*!* modificare ROAFACTURARE v 2.0.96 +CASE poDate.tip = -13 + Select Distinct dataireg,id_fdoc,dataact,datascad,nract,id_partd As id_part,nume_val,id_valuta,id_lucrare ; + From ACTACTAN ; + Where id_partd <> 0 And scd = '357' ; + Into Cursor crstemp +*!* modificare ROAFACTURARE v 2.0.96 ^ +Otherwise + Select Distinct dataireg,id_fdoc,dataact,datascad,nract,id_partd As id_part,nume_val,id_valuta,id_lucrare ; + From ACTACTAN ; + Where id_partd <> 0 And scd = '4111' ; + Into Cursor crstemp +Endcase + +Select crstemp +poDate.dataireg = dataireg +poDate.id_fdoc = id_fdoc +poDate.dataact = dataact +poDate.datascad = datascad +poDate.nract = nract +poDate.id_client = id_part +poDate.nume_valuta = nume_val +poDate.id_valuta = id_valuta +poDate.id_lucrare = id_lucrare +poDate.id_sectie = poAct.id_sectie +poDate.tva_incasare = poAct.tva_incasare && modificare ROAGEST v 2.2.0 +Use In crstemp +*!* + +Private ofrmdatesupl +*!* modificare ROAFACTURARE v 2.0.80 : creeaza cursor +poDate.dataora_exp = Get_Ora() && modificare ROAFACTURARE v 2.0.80 +ofrmdatesupl = Createobject("frm_alte_date") +ofrmdatesupl.Show(1) +Release ofrmdatesupl +If gnButon = 2 + lnSucces = -1 +Else + lnSucces = SQLSetprop(gnhandle,"Transactions",2) + If lnSucces >= 0 +*!* modificare ROAFACTURARE v 2.0.29 +*!* lcSql = [BEGIN ] + gcS + [.pack_facturare.initializeaza_date_factura(?poDate.dataireg,?poDate.id_fdoc,?poDate.dataact,] + ; +*!* [?poDate.datascad,?poDate.serie_act,?poDate.nract,?poDate.id_client,?poDate.id_lucrare,NULL,NULL,NULL,?ALLTRIM(poDate.descriere),] + ; +*!* [?poDate.Tip,?poDate.id_set,?poDate.zi_curs,?poDate.id_valuta,?poDate.in_valuta,?gnIdSucursala,?gnIdUtil); END;] + lcSql = [begin ] + gcS +[.pack_facturare.initializeaza_date_factura(] + ; + [to_date('] + Alltrim(Dtoc(poDate.dataireg,2)) + [','YYYYMMDD'),] + ; + Nvl(Alltrim(Str(poDate.id_fdoc)),[NULL]) + [,to_date('] + Alltrim(Dtoc(poDate.dataact,2)) + [','YYYYMMDD'),] + ; + [to_date('] + Alltrim(Dtoc(poDate.datascad,2)) + [','YYYYMMDD'),'] + Nvl(poDate.serie_act,[]) + [',] + ; + Alltrim(Str(poDate.nract,14,0)) + [,] + ; + Iif(Isnull(poDate.id_client),[NULL],Alltrim(Str(poDate.id_client))) + [,] + ; + Iif(Isnull(poDate.id_lucrare),[NULL],Alltrim(Str(poDate.id_lucrare))) + [,] + ; + Iif(Isnull(poDate.id_sectie),[NULL],Alltrim(Str(poDate.id_sectie))) + [,] + ; + Iif(Isnull(poDate.id_venchelt),[NULL],Alltrim(Str(poDate.id_venchelt))) + [,] + ; + Iif(Isnull(poDate.id_responsabil),[NULL],Alltrim(Str(poDate.id_responsabil))) + [,] + ; + IIF(EMPTY(nvl(poDate.explicatia4,[])),[NULL],['] + STRTRAN(ALLTRIM(poDate.explicatia4),['],['']) + [']) + [,] + ; && modificare ROAFACTURARE v 2.0.97 + [NULL,NULL,] + ; + ['] + Strtran(Alltrim(Nvl(poDate.descriere,[])),['],['']) + [',] + ; + Alltrim(Str(poDate.tip)) + [,] + Alltrim(Str(poDate.id_set)) + [,] + ; + [to_date('] + Dtoc(poDate.zi_curs,2) + [','YYYYMMDD'),] + Alltrim(Str(poDate.id_valuta)) + [,] + ; + Alltrim(Str(poDate.in_valuta)) + [,] + ; + alltrim(str(poDate.tva_incasare)) + [,] + ; && modificare ROAGEST v 2.2.0 + Iif(Isnull(gnIdSucursala),[NULL],Alltrim(Str(gnIdSucursala))) + [,] + ; + Alltrim(Str(gnIdUtil)) + [); end;] +*!* modificare ROAFACTURARE v 2.0.29 ^ + lnSucces = goExecutor.oexecute(lcSql) + If lnSucces < 0 + amessagebox(goExecutor.oPrelucrareEroare(),16,"Eroare") + ELSE + + Private poArticol + Select crsvanztemp + Scan + Scatter Name poArticol Memo +*!* modificare ROAFACTURARE v 2.0.29 +*!* lcSql = [BEGIN ] + gcS + [.pack_facturare.adauga_articol_factura_stoc(?poArticol.id_articol,?ALLTRIM(poArticol.serie),] + ; +*!* [?poArticol.pret_achizitie,?poArticol.pret,] + ; +*!* Iif(poDate.in_valuta=1,[?poArticol.id_valuta],[NULL]) + [,] + ; +*!* [?poArticol.curs,?poArticol.proc_tvav,?poArticol.cantitate,?poArticol.discount_unitar,?poArticol.id_gestiune,] + ; +*!* [?ALLTRIM(poArticol.Cont),?poArticol.pret_cu_tva); END;] +*!* modificare ROAFACTURARE v 2.0.56 : am adaugat pretd, id_valuta + lcSql = [begin ] + gcS + [.pack_facturare.adauga_articol_factura_stoc(] + ; + Alltrim(Str(poArticol.id_articol)) + [,] + ; + ['] + Strtran(Alltrim(Nvl(poArticol.serie,[])),['],['']) + [',] + ; + Alltrim(Str(poArticol.pret_achizitie,18,gnPPret)) + [,] + ; + Alltrim(Str(poArticol.pretd,18,gnPPretVal)) + [,] + ; + Alltrim(Str(poArticol.id_valuta_d)) + [,] + ; + Alltrim(Str(poArticol.Pret,18,Iif(poDate.in_valuta = 1,gnPVal,gnPPretV))) + [,] + ; + Iif(poDate.in_valuta=1,Alltrim(Str(poArticol.id_valuta)),[NULL]) + [,] + ; + Alltrim(Str(poArticol.Curs,18,6)) + [,] + ; + Alltrim(Str(poArticol.multiplicator)) + [,] + ; + Alltrim(Str(poArticol.proc_tvav,18,2)) + [,] + ; + Alltrim(Str(poArticol.id_jtva_coloana)) + [,] + ; + Alltrim(Str(poArticol.cantitate,18,gnPCant)) + [,] + ; + Alltrim(Str(poArticol.discount_unitar,18,Iif(poDate.in_valuta = 1,gnPVal,gnPPretV))) + [,] + ; + Alltrim(Str(poArticol.id_gestiune)) + [,] + ; + ['] + Alltrim(Nvl(poArticol.Cont,'')) + [',] + ; + Alltrim(Str(poArticol.pret_cu_tva)) + [,null,]+ ; + NVL(Alltrim(Str(poArticol.id_rul_aux)),[null])+ [,] + ; + IIF(EMPTY(NVL(poArticol.taxcode, '')), [null], Alltrim(Str(poArticol.taxcode)))+ [,] + ; + ['] + Strtran(Alltrim(Nvl(poArticol.lot,[])),['],['']) + ['] + ; + [); end;] +*!* modificare ROAFACTURARE v 2.0.29 ^ + lnSucces = goExecutor.oexecute(lcSql) + if lnSucces < 0 + amessagebox(goExecutor.oPrelucrareEroare(),16,"Eroare") + Exit + Endif + Endscan + If !Used('INFISIERE') + lcCaleDateMenu = gcAppPath+[\COMUN\DATEMENU\] + Use &lcCaleDateMenu.INFISIERE In 0 Alias INFISIERE + Endif +*!* modificare ROAFACTURARE v 2.0.44 + If lnSucces >= 0 +*!* modificare ROAFACTURARE v 2.0.44 ^ + lnSucces = oscrie_in_fisiere(0,.F.,.T.) && ? + If lnSucces >= 0 +*!* modificare ROAFACTURARE v 2.0.29 +*!* lcSql = [BEGIN ] + gcS + [.pack_facturare.scrie_in_vanzari(0,?poDate.id_delegat,?poDate.id_masina,] + ; +*!* [?poDate.id_agent,?poDate.text_aditional); END;] +*!* modificare ROAFACTURARE v 2.0.58 : am adaugat poDate.nid_vanzare +*!* modificare ROAFACTURARE v 2.0.80 : am adaugat poDate.dataora_exp + lcSql = [begin ] + gcS + [.pack_facturare.scrie_in_vanzari(0,] + ; + IIF(Isnull(poDate.id_delegat),[NULL],Alltrim(Str(poDate.id_delegat))) + [,] + ; + IIF(Isnull(poDate.id_masina),[NULL],Alltrim(Str(poDate.id_masina))) + [,] + ; + IIF(Isnull(poDate.id_facturare),[NULL],Alltrim(Str(poDate.id_facturare))) + [,] + ; + IIF(Isnull(poDate.nListareDetaliata),[0],Alltrim(Str(poDate.nListareDetaliata))) + [,] + ; + [?poDate.dataora_exp,] + ; + IIF(Isnull(poDate.id_agent),[NULL],Alltrim(Str(poDate.id_agent))) + [,] + ; + ['] + Strtran(Alltrim(Nvl(poDate.text_aditional,[])),['],['']) + [',?@poDate.nid_vanzare); end;] +*!* modificare ROAFACTURARE v 2.0.29 ^ + lnSucces = goExecutor.oexecute(lcSql) + If lnSucces < 0 + amessagebox(goExecutor.oPrelucrareEroare(),16,"Eroare") + ELSE + lcSql = [update vanzari set id_fact = pack_contafin.get_idFact() where id_vanzare = ?poDate.nid_vanzare] + llSucces = goExecutor.oexecuta(lcSql) + lnSucces = IIF(m.llSucces, 1, -1) + ENDIF + + Endif +*!* modificare ROAFACTURARE v 2.0.44 + Endif +*!* modificare ROAFACTURARE v 2.0.44 ^ + Endif + Endif + + If lnSucces < 0 + amessagebox(goExecutor.oPrelucrareEroare(),16,"Eroare") + lcSql = "ROLLBACK" + Else + lcSql = "COMMIT" + Endif + lnSucces2 = goExecutor.oexecute(lcSql) + + Do Case + Case lnSucces2 < 0 + amessagebox(lcSql + Chr(13) + goExecutor.cEroare,0+16,"Eroare") + Case lnSucces2 >=0 And lcSql = "COMMIT" + SELECT crsvanztemp + listeaza_ofacturare_stoc() + Endcase + + lnSucces2 = SQLSetprop(gnhandle,"Transactions",1) + If lnSucces2 < 0 + amessagebox('Programul nu a reusit sa treaca pe tranzactie automata. Iesiti din program si intrati din nou!',48,'Atentie!') + Endif +Endif + +If Used('crsvanztemp') + Use In crsvanztemp +Endif +If Used('crsfactura') + Use In crsfactura +Endif +Return lnSucces +Endfunc +******************************************** SFARSIT: oscrie_vanzare_din_stoc ********************************* +******************************************* INCEPUT: relisteaza_ofacturare_stoc ******************************************** +Procedure relisteaza_ofacturare_stoc +Lparameters tnNrAct, tcSerie, tnTip + +Private pnCod, poDate, pnNrAct, pcSerie +*!* modificare v 2.0.67 +*!* PRIVATE pnTipFacturare +*!* pnTipFacturare = 0 +*!* modificare v 2.0.67 ^ + +pnNrAct = tnNrAct +If !Inlist(tnTip ,-9,-10) + pcSerie = Iif(Empty(Nvl(tcSerie,'')),[+_],Alltrim(tcSerie)) +Else + pcSerie = Nvl(tcSerie,[+_]) +Endif +lcSql = [Select distinct cod,datascad,dataact from act ] + ; + [where an = ?gnAn and luna = ?gnLuna and sters = 0 and nract = ?pnNrAct and Nvl(serie_act,'+_') LIKE '%]+Alltrim(pcSerie)+[%' ] +Do Case +Case tnTip = 1 + lcSql = lcSql + [ and scd = '418'] +Case tnTip = -6 && aviz de retur de la o gestiune valorica + lcSql = lcSql + [ and scc = '371'] +Case tnTip = -10 + lcSql = lcSql + [ and scd = '6582' and scc = '401' ] +Case tnTip = -9 + lcSql = lcSql + [ and scd = '623' and scc = '401' ] +Otherwise + lcSql = lcSql + [ and scd = '4111'] +Endcase + +lcSql = lcSql + [ and sters = 0] + gcCondSucursala + [ order by datascad desc] +lcCursor=[crsact] +lnSucces = goExecutor.oexecute(lcSql,lcCursor) +If lnSucces < 0 + amessagebox(goExecutor.cEroare,0+16,"Eroare") + Return +Endif + +If Reccount(lcCursor) > 0 + Select (lcCursor) + pnCod = cod + poDate=Createobject("oDateFactura",0,0) + poDate.nract = pnNrAct + poDate.serie_act = pcSerie + poDate.dataact = Iif(Type('dataact')='T',Ttod(dataact),dataact) + poDate.datascad = Iif(Type('datascad')='T',Ttod(datascad),datascad) + Use In (lcCursor) + + lcSql = [select id_vanzare,id_comanda,dataora,dataora_exp,data_act,sters,dataoras,numar_act,serie_act,]+; + [tip,id_part,discount,disc_fara_tva,discount_evidentiat,text_aditional,facturat,data_facturat,]+; + [explicatie,altele,client,cod,utilizator,utils,utilfact,delegat,bidelegat,cnpdelegat,]+; + [nume_agent,nrinmat,total_fara_tva,total_tva,total_cu_tva,id_gestiune,serie_chit,nr_incasare,incasat,]+; + [in_valuta,sucursala,id_ruta,ruta,curs,multiplicator,nume_val,id_delegat,id_agent,id_masina,valoarea,]+; + [nume_gestiune,id_sectie,sectie,id_lucrare,lucrare,tip_incasare,afisare_scadenta,tva_incasare from fact_vfacturi where cod = ] + ALLTRIM(STR(pnCod)) + lnSucces = goExecutor.oexecute(lcSql,[crsfacturi]) + If lnSucces < 0 + amessagebox(goExecutor.cEroare,0+16,"Eroare") + Return + Endif + + Select crsfacturi + poDate.nRelistare = 1 && modificare ROAFACTURARE v 2.0.58 + poDate.nid_vanzare = id_vanzare + poDate.tip = tip + poDate.discount_evidentiat = discount_evidentiat + poDate.text_aditional = Nvl(text_aditional,[]) + poDate.nrinmat = nrinmat + poDate.nume_delegat = delegat + poDate.bidelegat = bidelegat + poDate.cnpdelegat = cnpdelegat + poDate.dataora_exp = dataora_exp && modificare ROAFACTURARE v 2.0.80 + poDate.afisare_scadenta = afisare_scadenta && modificare ROACONTRACTE v 2.0.38 +*!* modificare ROAFACTURARE v 2.0.68 +*!* poDate.listaid = Iif(poDate.tip = 2,Alltrim(Str(id_ctr)),Iif(poDate.tip = 3,Alltrim(Str(id_comanda)), [0])) + poDate.listaid = Iif(poDate.tip = 3,Alltrim(Str(id_comanda)), [0]) +*!* modificare ROAFACTURARE v 2.0.68 ^ + poDate.ntip_incasare = tip_incasare && modificare ROAFACTURARE v 2.0.84 + poDate.serie_chit = NVL(serie_chit,[]) && modificare ROAFACTURARE v 2.0.80 + poDate.nr_incasare = nr_incasare + poDate.incasat = incasat + poDate.tva_incasare = tva_incasare && modificare ROAGEST v 2.2.0 + IF tnTip = -6 && aviz de retur de la o gestiune valorica + IF tnTip <> poDate.tip + amessagebox("Nu exista " + Iif(tnTip = 1,[avizul],[factura]) + " cu acest numar in luna curenta!",48,"Atentie") + USE IN crsFacturi + RELEASE podate + RETURN + ENDIF + poDate.id_client = id_gestiune + ELSE + poDate.id_client = id_part + ENDIF + poDate.nume_client = client + poDate.in_valuta = in_valuta + If poDate.in_valuta = 1 + poDate.nume_valuta = nume_val + poDate.Curs = Curs + poDate.multiplicator = multiplicator + poDate.totftvaconv = total_fara_tva + poDate.tottvaconv = total_tva + poDate.totctvaconv = poDate.totftvaconv + poDate.tottvaconv + lnDiscountVal = discount + lnDiscount = Round(lnDiscountVal * poDate.Curs / poDate.multiplicator,gnPPretV) + Else + lnDiscount = discount + lnDiscountVal = 0 + Endif + Use In crsfacturi + +*!* modificare ROAFACTURARE v 2.0.46 +*!* *!* v 2.0.18 roagest (codmat) +*!* lcSql = [select explicatie,codmat,denumire,cantitate,proc_tvav,um,pret_cu_tva,pret,discount_unitar,serie,pret_val,nume_val,] + ; +*!* [discount_unitar_val,curs,codbare from fact_vfacturi_detalii where id_vanzare = ?pnIdVanzare] +*!* *!* v 2.0.18 roagest ^ +*!* modificare ROAFACTURARE v 2.0.56 : am adaugat id_temp +*!* modificare ROAFACTURARE v 2.0.68 : am adaugat id_ctr,numar_contract,id_valuta,tip_valuta,curs,nume_val + lcSql = [select * from fact_vfacturi_detalii where id_vanzare = ] + ALLTRIM(STR(poDate.nid_vanzare)) +*!* modificare ROAFACTURARE v 2.0.46 ^ + lnSucces = goExecutor.oexecute(lcSql,[crsdetalii]) + If lnSucces < 0 + amessagebox(goExecutor.cEroare,0+16,"Eroare") + Return + Endif + +*!* v 2.0.18 roagest (codmat, total cu tva, total tva, total fara tva = diferenta) + Select crsdetalii + Calculate Max(proc_tvav) To lnProcTvav +*!* Select explicatie,codmat,denumire,Nvl(serie,'') As serie,Nvl(cantitate,1) As cantitate,proc_tvav,Nvl(um,'') As um, ; +*!* IIF(pret_cu_tva = 0,; +*!* Round(Pret,gnPc),; +*!* Round(Round(Pret,gnPc)/proc_tvav,gnPc)) As pretftva,; +*!* IIF(pret_cu_tva = 0,; +*!* Round(Round(Pret,gnPc)*Nvl(cantitate,1),gnPc),; +*!* ROUND(Round(Round(Pret,gnPc)/proc_tvav,gnPc)*Nvl(cantitate,1),gnPc)) As valftva,; +*!* IIF(pret_cu_tva = 0,; +*!* Round(Round(Round(Pret,gnPc)*Nvl(cantitate,1),gnPc)*(proc_tvav-1),gnPc),; +*!* ROUND(Round(Pret,gnPc)*Nvl(cantitate,1),gnPc)-; +*!* Round(Round(Round(Pret,gnPc)/proc_tvav,gnPc)*Nvl(cantitate,1),gnPc)) As valtva,; +*!* IIF(pret_cu_tva = 0,; +*!* Round(discount_unitar,gnPc),; +*!* Round(Round(discount_unitar,gnPc)/proc_tvav,gnPc)) As discountftva,; +*!* IIF(pret_cu_tva = 0,; +*!* Round(Round(discount_unitar,gnPc)*Nvl(cantitate,1),gnPc),; +*!* ROUND(Round(Round(discount_unitar,gnPc)/proc_tvav,gnPc)*Nvl(cantitate,1),gnPc)) As valdiscountftva,; +*!* IIF(pret_cu_tva = 0,; +*!* ROUND(Round(Round(discount_unitar,gnPc)*Nvl(cantitate,1),gnPc)*(proc_tvav-1),gnPc),; +*!* ROUND(Round(discount_unitar,gnPc)*Nvl(cantitate,1),gnPc)-; +*!* Round(Round(Round(discount_unitar,gnPc)/proc_tvav,gnPc)*Nvl(cantitate,1),gnPc)) As valdiscounttva,; +*!* IIF(pret_cu_tva = 0,; +*!* Round((Round(Pret,gnPc)-Round(discount_unitar,gnPc))*Nvl(cantitate,1),gnPc),; +*!* ROUND(Round((Round(Pret,gnPc)-Round(discount_unitar,gnPc))/proc_tvav,gnPc)*Nvl(cantitate,1),gnPc)) As valdiminuatftva,; +*!* IIF(pret_cu_tva = 0,; +*!* Round(Round((Round(Pret,gnPc)-Round(discount_unitar,gnPc))*Nvl(cantitate,1),gnPc)*(proc_tvav-1),gnPc),; +*!* ROUND((Round(Pret,gnPc)-Round(discount_unitar,gnPc))*Nvl(cantitate,1),gnPc)-; +*!* Round(Round((Round(Pret,gnPc)-Round(discount_unitar,gnPc))/proc_tvav,gnPc)*Nvl(cantitate,1),gnPc)) As valdiminuattva,; +*!* IIF(pret_cu_tva = 0,; +*!* Round(pret_val,gnPVal),; +*!* Round(Round(pret_val,gnPVal)/proc_tvav,gnPVal)) As vpretftva,; +*!* IIF(pret_cu_tva = 0,; +*!* Round(Round(pret_val,gnPVal)*Nvl(cantitate,1),gnPVal),; +*!* ROUND(Round(Round(pret_val,gnPVal)/proc_tvav,gnPVal)*Nvl(cantitate,1),gnPVal)) As vvalftva,; +*!* IIF(pret_cu_tva = 0,; +*!* Round(Round(Round(pret_val,gnPVal)*Nvl(cantitate,1),gnPVal)*(proc_tvav-1),gnPVal),; +*!* ROUND(Round(pret_val,gnPVal)*Nvl(cantitate,1),gnPVal)-; +*!* Round(Round(Round(pret_val,gnPVal)/proc_tvav,gnPVal)*Nvl(cantitate,1),gnPVal)) As vvaltva,; +*!* IIF(pret_cu_tva = 0,; +*!* Round(discount_unitar_val,gnPc),; +*!* Round(Round(discount_unitar_val,gnPc)/proc_tvav,gnPc)) As vdiscountftva,; +*!* IIF(pret_cu_tva = 0,; +*!* Round(Round(discount_unitar_val,gnPc)*Nvl(cantitate,1),gnPc),; +*!* ROUND(Round(Round(discount_unitar_val,gnPc)/proc_tvav,gnPc)*Nvl(cantitate,1),gnPc)) As vvaldiscountftva,; +*!* IIF(pret_cu_tva = 0,; +*!* ROUND(Round(Round(discount_unitar_val,gnPc)*Nvl(cantitate,1),gnPc)*(proc_tvav-1),gnPc),; +*!* ROUND(Round(discount_unitar_val,gnPc)*Nvl(cantitate,1),gnPc)-; +*!* Round(Round(Round(discount_unitar_val,gnPc)/proc_tvav,gnPc)*Nvl(cantitate,1),gnPc)) As vvaldiscounttva,; +*!* IIF(pret_cu_tva = 0,; +*!* Round((Round(Pret_val,gnPc)-Round(discount_unitar_val,gnPc))*Nvl(cantitate,1),gnPc),; +*!* ROUND(Round((Round(Pret_val,gnPc)-Round(discount_unitar_val,gnPc))/proc_tvav,gnPc)*Nvl(cantitate,1),gnPc)) As vvaldiminuatftva,; +*!* IIF(pret_cu_tva = 0,; +*!* Round(Round((Round(Pret_val,gnPc)-Round(discount_unitar_val,gnPc))*Nvl(cantitate,1),gnPc)*(proc_tvav-1),gnPc),; +*!* ROUND((Round(Pret_val,gnPc)-Round(discount_unitar_val,gnPc))*Nvl(cantitate,1),gnPc)-; +*!* Round(Round((Round(Pret_val,gnPc)-Round(discount_unitar_val,gnPc))/proc_tvav,gnPc)*Nvl(cantitate,1),gnPc)) As vvaldiminuattva ; +*!* From crsdetalii Into Cursor crsfactura Readwrite + +*!* modificare ROAFACTURARE v 2.0.77 +*!* *!* modificare ROAFACTURARE v 2.0.56 : am adaugat id_temp +*!* Select id_temp,explicatie,Nvl(codmat,Space(50)) As codmat,Nvl(codmatf,Space(50)) As codmatf,Nvl(codbare,Space(50)) As codbare,; +*!* Iif(Nvl(id_gestiune,0)<>0,1,0) As gestionabil,denumire,Nvl(serie,Space(100)) As serie,Nvl(cantitate,1) As cantitate,; +*!* proc_tvav,id_jtva_coloana,Nvl(um,Space(10)) As um,pret_cu_tva As cu_tva,; +*!* Iif(pret_cu_tva = 1,Round(Pret,gnPc),Round(Pret,gnPc)+Round(Round(Pret,gnPc)*(proc_tvav-1),gnPc)) As pretctva,; +*!* Iif(pret_cu_tva = 1,Round(discount_unitar,gnPc),0) As discountctva,; +*!* Iif(pret_cu_tva = 1,Round(Round(Pret,gnPc)*Nvl(cantitate,1),gnPc),Round(Round(Pret,gnPc)*Nvl(cantitate,1),gnPc)+; +*!* Round(Round(Round(Pret,gnPc)*Nvl(cantitate,1),gnPc)*(proc_tvav-1),gnPc)) As valctva,; +*!* Iif(pret_cu_tva = 1,Round(Round(discount_unitar,gnPc)*Nvl(cantitate,1),gnPc),; +*!* ROUND((Round(discount_unitar,gnPc)-Round(Round(discount_unitar,gnPc)*(proc_tvav-1),gnPc))*Nvl(cantitate,1),gnPc)) As valdiscountctva,; +*!* IIF(pret_cu_tva = 1,; +*!* ROUND((Round(Pret,gnPc)-Round(discount_unitar,gnPc))*Nvl(cantitate,1),gnPc),; +*!* ROUND((Round(Pret,gnPc)+Round(Round(Pret,gnPc)*(proc_tvav-1),gnPc)-Round(discount_unitar,gnPc)-Round(Round(discount_unitar,gnPc)*(proc_tvav-1),gnPc))*Nvl(cantitate,1),gnPc)) As valdiminuatctva,; +*!* IIF(pret_cu_tva = 0,; +*!* Round(Pret,gnPc),; +*!* Round(Round(Pret,gnPc)/proc_tvav,gnPc)) As pretftva,; +*!* IIF(pret_cu_tva = 0,; +*!* Round(Round(Pret,gnPc)*Nvl(cantitate,1),gnPc),; +*!* ROUND(Round(Pret,gnPc)*Nvl(cantitate,1),gnPc) - ; +*!* Round(Round(Round(Pret,gnPc)*Nvl(cantitate,1),gnPc)*(proc_tvav-1)/proc_tvav, gnPc)) As valftva,; +*!* IIF(pret_cu_tva = 0,; +*!* Round(Round(Round(Pret,gnPc)*Nvl(cantitate,1),gnPc)*(proc_tvav-1),gnPc),; +*!* Round(Round(Round(Pret,gnPc)*Nvl(cantitate,1),gnPc)*(proc_tvav-1)/proc_tvav, gnPc)) As valtva,; +*!* IIF(pret_cu_tva = 0,; +*!* Round(discount_unitar,gnPc),; +*!* Round(Round(discount_unitar,gnPc)/proc_tvav,gnPc)) As discountftva,; +*!* IIF(pret_cu_tva = 0,; +*!* Round(Round(discount_unitar,gnPc)*Nvl(cantitate,1),gnPc),; +*!* ROUND(Round(discount_unitar,gnPc)*Nvl(cantitate,1),gnPc) - ; +*!* Round(Round(Round(discount_unitar,gnPc)*Nvl(cantitate,1),gnPc)*(proc_tvav-1)/proc_tvav, gnPc)) As valdiscountftva,; +*!* IIF(pret_cu_tva = 0,; +*!* ROUND(Round(Round(discount_unitar,gnPc)*Nvl(cantitate,1),gnPc)*(proc_tvav-1),gnPc),; +*!* Round(Round(Round(discount_unitar,gnPc)*Nvl(cantitate,1),gnPc)*(proc_tvav-1)/proc_tvav, gnPc)) As valdiscounttva,; +*!* IIF(pret_cu_tva = 0,; +*!* Round((Round(Pret,gnPc)-Round(discount_unitar,gnPc))*Nvl(cantitate,1),gnPc),; +*!* ROUND((Round(Pret,gnPc)-Round(discount_unitar,gnPc))*Nvl(cantitate,1),gnPc) - ; +*!* Round(Round((Round(Pret,gnPc)-Round(discount_unitar,gnPc))*Nvl(cantitate,1),gnPc)*(proc_tvav-1)/proc_tvav, gnPc)) As valdiminuatftva,; +*!* IIF(pret_cu_tva = 0,; +*!* Round(Round((Round(Pret,gnPc)-Round(discount_unitar,gnPc))*Nvl(cantitate,1),gnPc)*(proc_tvav-1),gnPc),; +*!* Round(Round((Round(Pret,gnPc)-Round(discount_unitar,gnPc))*Nvl(cantitate,1),gnPc)*(proc_tvav-1)/proc_tvav, gnPc)) As valdiminuattva,; +*!* IIF(pret_cu_tva = 0,; +*!* Round(pret_val,gnPVal),; +*!* Round(Round(pret_val,gnPVal)/proc_tvav,gnPVal)) As vpretftva,; +*!* IIF(pret_cu_tva = 0,; +*!* Round(Round(pret_val,gnPVal)*Nvl(cantitate,1),gnPVal),; +*!* ROUND(Round(pret_val,gnPVal)*Nvl(cantitate,1),gnPVal) - ; +*!* Round(Round(Round(pret_val,gnPVal)*Nvl(cantitate,1),gnPVal)*(proc_tvav-1)/proc_tvav, gnPVal)) As vvalftva,; +*!* IIF(pret_cu_tva = 0,; +*!* Round(Round(Round(pret_val,gnPVal)*Nvl(cantitate,1),gnPVal)*(proc_tvav-1),gnPVal),; +*!* Round(Round(Round(pret_val,gnPVal)*Nvl(cantitate,1),gnPVal)*(proc_tvav-1)/proc_tvav, gnPVal)) As vvaltva,; +*!* IIF(pret_cu_tva = 0,; +*!* Round(discount_unitar_val,gnPVal),; +*!* Round(Round(discount_unitar_val,gnPVal)/proc_tvav,gnPVal)) As vdiscountftva,; +*!* IIF(pret_cu_tva = 0,; +*!* Round(Round(discount_unitar_val,gnPVal)*Nvl(cantitate,1),gnPVal),; +*!* ROUND(Round(discount_unitar_val,gnPVal)*Nvl(cantitate,1),gnPVal) - ; +*!* Round(Round(Round(discount_unitar_val,gnPVal)*Nvl(cantitate,1),gnPVal)*(proc_tvav-1)/proc_tvav, gnPVal)) As vvaldiscountftva,; +*!* IIF(pret_cu_tva = 0,; +*!* ROUND(Round(Round(discount_unitar_val,gnPVal)*Nvl(cantitate,1),gnPVal)*(proc_tvav-1),gnPVal),; +*!* Round(Round(Round(discount_unitar_val,gnPVal)*Nvl(cantitate,1),gnPVal)*(proc_tvav-1)/proc_tvav, gnPVal)) As vvaldiscounttva,; +*!* IIF(pret_cu_tva = 0,; +*!* Round((Round(pret_val,gnPVal)-Round(discount_unitar_val,gnPVal))*Nvl(cantitate,1),gnPVal),; +*!* ROUND((Round(pret_val,gnPVal)-Round(discount_unitar_val,gnPVal))*Nvl(cantitate,1),gnPVal) - ; +*!* Round(Round((Round(pret_val,gnPVal)-Round(discount_unitar_val,gnPVal))*Nvl(cantitate,1), gnPVal)*(proc_tvav-1)/proc_tvav, gnPVal)) As vvaldiminuatftva,; +*!* IIF(pret_cu_tva = 0,; +*!* Round(Round((Round(pret_val,gnPVal)-Round(discount_unitar_val,gnPVal))*Nvl(cantitate,1),gnPVal)*(proc_tvav-1),gnPVal),; +*!* Round(Round((Round(pret_val,gnPVal)-Round(discount_unitar_val,gnPVal))*Nvl(cantitate,1), gnPVal)*(proc_tvav-1)/proc_tvav, gnPVal)) As vvaldiminuattva, ; +*!* id_ctr,numar_contract,id_valuta,tip_valuta,NVL(curs,1.000) as curs,nume_val ; && modificare ROAFACTURARE v 2.0.68 +*!* From crsdetalii Into Cursor crsfactura Readwrite +*!* *!* v 2.0.18 roagest ^ +*!* If lnDiscount<> 0 +*!* Select crsfactura +*!* *!* modificare ROAFACTURARE v 2.0.56 +*!* *!* Calculate Sum(valdiminuatftva),Sum(vvaldiminuatftva) To lnTotalBaza,lnTotalBazaVal +*!* Calculate Sum(valdiminuatftva),Sum(vvaldiminuatftva),Max(id_temp) To lnTotalBaza,lnTotalBazaVal,lnIdTemp +*!* *!* modificare ROAFACTURARE v 2.0.56 ^ +*!* Select crsfactura +*!* Append Blank +*!* *!* modificare ROAFACTURARE v 2.0.56 : am adaugat id_temp +*!* Replace denumire With Replicate('Z',20),cantitate With 1,; +*!* pretftva With lnTotalBaza,discountftva With lnDiscount,valdiscountftva With lnDiscount,; +*!* valdiscounttva With Round(lnDiscount * (lnProcTvav - 1),gnPc),; +*!* vpretftva With lnTotalBazaVal,vdiscountftva With lnDiscountVal,vvaldiscountftva With lnDiscountVal,; +*!* vvaldiscounttva With Round(lnDiscountVal * (lnProcTvav - 1),gnPc),; +*!* proc_tvav With lnProcTvav,id_temp With lnIdTemp + 1 +*!* Endif + creeaza_facturacrs([crsfactura]) + prelucreaza_facturacrs([crsdetalii],[crsfactura],lnProcTvav,lnDiscount,lnDiscountVal) + Use In crsdetalii +*!* modificare ROAFACTURARE v 2.0.77 ^ + listeaza_ofacturare_stoc() + + If Used('crsfactura') + Use In crsfactura + Endif + + Release poDate +Else + amessagebox("Nu exista " + Iif(tnTip = 1,[avizul],[factura]) + " cu acest numar in luna curenta!",48,"Atentie") +Endif + +Endproc && relisteaza_ofacturare_stoc +******************************************* SFARSIT: relisteaza_ofacturare_stoc ******************************************** +******************************************** INCEPUT: listeaza_ofacturare_stoc ********************************************* +Procedure listeaza_ofacturare_stoc +*!* modificare ROAFACTURARE v 2.0.77 +*!* Local loArticol +*!* Private poClient,ptDataOra,pcExplicatieContract,pnTotalPozitii + +*!* ************************************************ +*!* ** Date client, responsabil facturare si firma +*!* ************************************************ +*!* Do Case +*!* Case poDate.tip = 30 +*!* lcSql = [select 1 as tip,Nvl(c.denumire,a.nume_gestiune) as denumire,a.cgest as cod_fiscal,] + ; +*!* [Nvl(c.adresa,'') as adresa,'' as telefon,'' as fax,] + ; +*!* ['' as reg_comert,'' as banca,'' as cont_banca,] + ; +*!* ['' as banca2,'' as cont_banca2,'' as banca3,'' as cont_banca3,] + ; +*!* [sysdate as dataora,1 as tip_persoana,0 as capital_soc_var,] + ; +*!* [0 as capital_soc_sub from ] + gcS + [.nom_gestiuni a ] + ; +*!* [left join ] + gcS + [.asociere_parteneri_gestiuni b on a.id_gestiune = b.id_gestiune ] + ; +*!* [left join ] + gcS + [.nom_parteneri c on b.id_part = c.id_part ] + ; +*!* [where a.id_gestiune = ?poDateGestiuneDest.id_gestiune ] + ; +*!* [union all ] + ; +*!* [select 2 as tip,denumire,cod_fiscal,'' as adresa,'' as telefon,'' as fax,'' as reg_comert,'' as banca,] + ; +*!* ['' as cont_banca,] + ; +*!* ['' as banca2,'' as cont_banca2,'' as banca3,'' as cont_banca3,] + ; +*!* [null as dataora,tip_persoana,0 as capital_soc_var,0 as capital_soc_sub ] + ; +*!* [from ] + gcS + [.nom_parteneri where sters = 0 and inactiv = 0 and id_part in ] + ; +*!* [(select id_partener from ] + gcS + [.utilizatori_rol_intern where sters = 0 and id_util = ?gnIdUtil)] + ; +*!* [union all ] + ; +*!* [select 3 as tip,antet as denumire,cod_fiscal,adresa,telefon,fax,reg_comert,] + ; +*!* [banca1 as banca,cont_banca1 as cont_banca,] + ; +*!* [banca2,cont_banca2,banca3,cont_banca3,] + ; +*!* [null as dataora,0 as tip_persoana,capital_soc_var,capital_soc_sub ] + ; +*!* [from syn_nom_firme where id_firma = ?gnIdFirma] +*!* Case Inlist(poDate.tip , -6) && RETUR AVIZ DIN GESTIUNE VALORICA (ROAGEST) +*!* lcSql = [select 1 as tip,Nvl(c.denumire,a.nume_gestiune) as denumire,a.cgest as cod_fiscal,] + ; +*!* [Nvl(c.adresa,'') as adresa,'' as telefon,'' as fax,] + ; +*!* ['' as reg_comert,'' as banca,'' as cont_banca,] + ; +*!* ['' as banca2,'' as cont_banca2,'' as banca3,'' as cont_banca3,] + ; +*!* [sysdate as dataora,1 as tip_persoana,0 as capital_soc_var,] + ; +*!* [0 as capital_soc_sub from ] + gcS + [.nom_gestiuni a ] + ; +*!* [left join ] + gcS + [.asociere_parteneri_gestiuni b on a.id_gestiune = b.id_gestiune ] + ; +*!* [left join ] + gcS + [.nom_parteneri c on b.id_part = c.id_part ] + ; +*!* [where a.id_gestiune = ?poDate.id_client ] + ; +*!* [union all ] + ; +*!* [select 2 as tip,denumire,cod_fiscal,'' as adresa,'' as telefon,'' as fax,'' as reg_comert,'' as banca,] + ; +*!* ['' as cont_banca,] + ; +*!* ['' as banca2,'' as cont_banca2,'' as banca3,'' as cont_banca3,] + ; +*!* [null as dataora,tip_persoana,0 as capital_soc_var,0 as capital_soc_sub ] + ; +*!* [from ] + gcS + [.nom_parteneri where sters = 0 and inactiv = 0 and id_part in ] + ; +*!* [(select id_partener from ] + gcS + [.utilizatori_rol_intern where sters = 0 and id_util = ?gnIdUtil)] + ; +*!* [union all ] + ; +*!* [select 3 as tip,antet as denumire,cod_fiscal,adresa,telefon,fax,reg_comert,] + ; +*!* [banca1 as banca,cont_banca1 as cont_banca,] + ; +*!* [banca2,cont_banca2,banca3,cont_banca3,] + ; +*!* [null as dataora,0 as tip_persoana,capital_soc_var,capital_soc_sub ] + ; +*!* [from syn_nom_firme where id_firma = ?gnIdFirma] +*!* Otherwise +*!* lcSql = [select 1 as tip,(case when tip_persoana = 1 then prefix||' '||denumire||' '||sufix else denumire end) as denumire,]+; +*!* [cod_fiscal,adresa,telefon,'' as fax,reg_comert,banca,cont_banca,] + ; +*!* ['' as banca2,'' as cont_banca2,'' as banca3,'' as cont_banca3,] + ; +*!* [sysdate as dataora,tip_persoana,0 as capital_soc_var,] + ; +*!* [0 as capital_soc_sub from ] + gcS + [.vnom_parteneri where id_part = ?poDate.id_client ] + ; +*!* [union all ] + ; +*!* [select 2 as tip,denumire,cod_fiscal,'' as adresa,'' as telefon,'' as fax,reg_comert,'' as banca,'' as cont_banca,] + ; +*!* ['' as banca2,'' as cont_banca2,'' as banca3,'' as cont_banca3,] + ; +*!* [null as dataora,tip_persoana,0 as capital_soc_var,0 as capital_soc_sub from ] + gcS + [.nom_parteneri ] + ; +*!* [where sters = 0 and inactiv = 0 and id_part in ] + ; +*!* [(select id_partener from ] + gcS + [.utilizatori_rol_intern where sters = 0 and id_util = ?gnIdUtil)] + ; +*!* [union all ] + ; +*!* [select 3 as tip,antet as denumire,cod_fiscal,adresa,telefon,fax,reg_comert,banca1 as banca,] + ; +*!* [cont_banca1 as cont_banca,] + ; +*!* [banca2,cont_banca2,banca3,cont_banca3,] + ; +*!* [null as dataora,0 as tip_persoana,capital_soc_var,capital_soc_sub ] + ; +*!* [from syn_nom_firme where id_firma = ?gnIdFirma ] +*!* Endcase + +*!* If Used('crsdatefacturare') +*!* Use In crsdatefacturare +*!* Endif +*!* lcCursor = [crsdatefacturare] +*!* lnSucces = goExecutor.oexecute(lcSql,lcCursor) +*!* If lnSucces<0 +*!* amessagebox(goExecutor.oPrelucrareEroare(),16,"Eroare") +*!* Return +*!* Endif + +*!* Select crsdatefacturare +*!* Scan +*!* Do Case +*!* Case tip= 1 +*!* Scatter Name poClient Memo +*!* ptDataOra = poClient.dataora +*!* Case tip = 2 +*!* With poDate +*!* .nume_responsabil = denumire +*!* .BIresp = reg_comert +*!* .CNPresp = cod_fiscal +*!* Endwith +*!* Otherwise +*!* Scatter Name poFirma Memo +*!* Endcase +*!* Endscan +*!* Use In crsdatefacturare +*!* ************************************************ +*!* *!* modificare ROAFACTURARE v 2.0.46 +*!* *!* pcExplicatieContract = [] +*!* ************************************************ +*!* AddProperty(poClient,'denumireClient',[]) +*!* *!* AddProperty(poClient,'gestiune',[]) +*!* AddProperty(poFirma,'b_swift',[]) +*!* AddProperty(poFirma,'b_adresa',[]) +*!* AddProperty(poFirma,'b_swift2',[]) +*!* AddProperty(poFirma,'b_adresa2',[]) +*!* AddProperty(poFirma,'b_swift3',[]) +*!* AddProperty(poFirma,'b_adresa3',[]) +*!* ************************************************ +*!* pcExplicatieContract = [] +*!* *!* modificare ROAFACTURARE v 2.0.58 +*!* If poDate.nRelistare = 0 +*!* poDate.nSalveazaAtasamente = Nvl(citeste_optiune_firma([ATASAMENTEFACT]),0) +*!* Endif +*!* *!* modificare ROAFACTURARE v 2.0.58 ^ + +*!* alege_optiuni_listare_facturare() +*!* If glAlegeBanca +*!* alege_banci_facturare() +*!* Endif +*!* *!* modificare ROAFACTURARE v 2.0.46 ^ + +*!* Select crsfactura +*!* Calculate Max(Round(Nvl(proc_tvav,1),2)) To poDate.proc_tva +*!* poDate.proc_tva = poDate.proc_tva*100-100 + +*!* *!* modificare v 2.0.67 ^ +*!* *!* prelucreaza_factura(poDate.discount_evidentiat,pnTipFacturare,poDate.in_valuta,gnPretListSubunitati) && ofacturare_comun.prg +*!* prelucreaza_factura([crsfactura],[crsfacturaset],[crsfacturafinala],poDate.discount_evidentiat,poDate.in_valuta,gnPretListSubunitati) +*!* *!* modificare v 2.0.67 ^ + +*!* *!* modificare ROAFACTURARE v 2.0.46 +*!* *!* Local loExport +*!* *!* loExport = Createobject("oExportConfig") +*!* *!* lnVizualizare = Iif(Type('gnVizualFact')='N',gnVizualFact,1) +*!* *!* modificare ROAFACTURARE v 2.0.46 ^ +*!* lcSetare = [FACTURA] +*!* lnVizualizare = Iif(Type('gnVizualFact')='N',gnVizualFact,1) +*!* *!* 30 transfer catre subunitati pe baza de NIR +*!* *!* -6 intrare din gestiune valorica mf la pv - aviz expeditie +*!* Do Case +*!* Case Inlist(poDate.tip, 30, -6,-9) +*!* If Nvl(gnPretListSubunitati,2)=2 +*!* lcRaport = [AVIZ_TRANSFER] +*!* Else +*!* lcRaport = [AVIZ_TRANSFER_CTVA] +*!* Endif +*!* lcSetare = [AVIZ] +*!* lcExplicatieRaport = [avizul de transfer] +*!* *!* modificare ROAFACTURARE v 2.0.46 +*!* *!* lnVizualizare = Iif(Type('gnVizualAviz')='N',gnVizualAviz,1) +*!* lcSetareVizualizare = [PREVIZAVIZ] +*!* *!* modificare ROAFACTURARE v 2.0.46 ^ +*!* Case Inlist(poDate.tip,-10) + +*!* Select crsfacturafinala +*!* *!* REPLACE ALL pretctva WITH pretftva,valctva WITH valftva +*!* If Nvl(gnPretListSubunitati,2)=2 +*!* lcRaport = [AVIZ_TRANSFER] +*!* Else +*!* lcRaport = [AVIZ_TRANSFER_CTVA] +*!* Endif +*!* lcSetare = [AVIZ_TRANSFER] +*!* lcExplicatieRaport = [avizul de transfer] +*!* *!* modificare ROAFACTURARE v 2.0.46 +*!* *!* lnVizualizare = Iif(Type('gnVizualAviz')='N',gnVizualAviz,1) +*!* lcSetareVizualizare = [PREVIZAVIZ] +*!* *!* modificare ROAFACTURARE v 2.0.46 ^ +*!* Case poDate.tip = -7 +*!* lcRaport = [AVIZ] +*!* lcSetare = [AVIZ] +*!* lcExplicatieRaport = [avizul] +*!* lnVizualizare = Iif(Type('gnVizualAviz')='N',gnVizualAviz,1) +*!* lcSetareVizualizare = [PREVIZAVIZ] +*!* Otherwise +*!* lcExplicatieRaport = [factura] +*!* Do Case +*!* Case gnFormatFactura = 1 && format A4 +*!* lcRaport = [FACTURA] +*!* Case gnFormatFactura = 2 && format A5 +*!* lcRaport = [FACTURA_A5] +*!* Case gnFormatFactura = 3 +*!* If optiuni_format_listare(0) = 2 +*!* lcRaport = [FACTURA_A5] +*!* Else +*!* lcRaport = [FACTURA] +*!* Endif +*!* Endcase +*!* *!* modificare ROAFACTURARE v 2.0.46 +*!* lcSetareVizualizare = [PREVIZFACT] +*!* *!* modificare ROAFACTURARE v 2.0.46 ^ +*!* Endcase + + +*!* If poDate.in_valuta = 1 +*!* *!* modificare ROAFACTURARE v 2.0.46 +*!* poDate.text_aditional_invoice = poDate.text_aditional +*!* *!* modificare ROAFACTURARE v 2.0.46 ^ +*!* poDate.text_aditional = Iif(!Empty(Nvl(poDate.text_aditional,[])),poDate.text_aditional+Chr(13)+Chr(10),[])+; +*!* [Curs valutar = ]+Alltrim(Str(poDate.Curs,14,4))+[ RON / ] + Alltrim(poDate.nume_valuta) +*!* Endif + +*!* If poDate.incasat <> 0 +*!* poDate.text_aditional = Iif(!Empty(Nvl(poDate.text_aditional,[])),poDate.text_aditional+Chr(13)+Chr(10),[])+; +*!* [ Achitat cu numerar cu chitanta nr. ] + Alltrim(Str(poDate.nr_incasare)) + [ din ] + Dtoc(poDate.dataact) +*!* Endif + +*!* Select crsfacturafinala +*!* Calculate Cnt() To pnTotalPozitii For cantitate <> 0 +*!* Go Top +*!* *!* modificare ROAFACTURARE v 2.0.58 +*!* If poDate.nRelistare = 0 And poDate.eProforma = 0 And poDate.nSalveazaAtasamente = 1 +*!* goExport.export2pdf('crsfacturafinala', lcRaport,.F.,poDate.cDocAtasate) +*!* Endif +*!* *!* modificare ROAFACTURARE v 2.0.58 ^ +*!* lnRaspuns=6 +*!* Do While lnRaspuns=6 +*!* *!* modificare ROAFACTURARE v 2.0.46 +*!* goExport.export2frx('crsfacturafinala',lcRaport,.F.,lcSetareVizualizare,lcSetare) +*!* *!* loExport.listareUserReport('crsfacturafinala','FRX',lcRaport,lnVizualizare,lcSetare) +*!* *!* modificare ROAFACTURARE v 2.0.46 +*!* lnRaspuns=amessagebox("Doriti sa mai listati "+lcExplicatieRaport+"?",4+32+256,"Confirmare repetare listare") +*!* Enddo + +*!* If poDate.in_valuta = 1 +*!* *!* modificare ROAFACTURARE v 2.0.56 +*!* *!* lcRaportVal = lcRaport + [_VAL] +*!* *!* poDate.text_aditional = Strtran(poDate.text_aditional,[Curs valutar =],[Exchange rate =]) +*!* lcRaportVal = Strtran(lcRaport,[FACTURA],[INVOICE]) +*!* *!* modificare ROAFACTURARE v 2.0.56 ^ +*!* Select crsfacturafinalaval +*!* Calculate Cnt() To pnTotalPozitii For cantitate <> 0 +*!* Go Top +*!* *!* modificare ROAFACTURARE v 2.0.58 +*!* If poDate.nRelistare = 0 And poDate.eProforma = 0 And poDate.nSalveazaAtasamente = 1 +*!* goExport.export2pdf('crsfacturafinalaval', lcRaportVal,.F.,poDate.cDocAtasate) +*!* Endif +*!* *!* modificare ROAFACTURARE v 2.0.58 ^ + +*!* lnRaspuns=6 +*!* Do While lnRaspuns=6 +*!* *!* modificare ROAFACTURARE v 2.0.46 +*!* goExport.export2frx('crsfacturafinalaval',lcRaportVal,.F.,lcSetareVizualizare,lcSetare) +*!* *!* loExport.listareUserReport('crsfacturafinalaval','FRX',lcRaportVal,lnVizualizare,lcSetare) +*!* *!* modificare ROAFACTURARE v 2.0.46 ^ +*!* lnRaspuns=amessagebox("Doriti sa mai listati factura in valuta?",4+32+256,"Confirmare repetare listare") +*!* Enddo +*!* Use In crsfacturafinalaval +*!* Endif + +*!* *!* modificare ROAFACTURARE v 2.0.46 +*!* If poDate.listare_lista_livrare = 1 +*!* *!* modificare v 2.0.67 +*!* *!* prelucreaza_lista_livrare(pnTipFacturare) +*!* prelucreaza_lista_livrare() +*!* *!* modificare v 2.0.67 ^ +*!* If Reccount('crslistalivrare') > 0 +*!* goExport.export2frx('crslistalivrare','lista_livrare') +*!* Else +*!* amessagebox("Nu exista inregistrari pentru lista de livrare!",48,"Atentie") +*!* Endif +*!* Use In crslistalivrare +*!* Endif +*!* *!* Release loExport +*!* *!* modificare ROAFACTURARE v 2.0.46 ^ +*!* *!* modificare ROAFACTURARE v 2.0.58 +listeaza_ofacturare() +If poDate.nRelistare = 0 And poDate.eProforma = 0 And poDate.nSalveazaAtasamente = 1 +*!* poDate.scrieAtasamente() + lnSucces2 = goExecutor.oexecute([COMMIT]) +Endif +*!* *!* modificare ROAFACTURARE v 2.0.58 ^ +*!* modificare ROAFACTURARE v 2.0.77 ^ +Endproc +******************************************** SFARSIT: listeaza_ofacturare_stoc ********************************************** +Procedure completeaza_facturacrs + Lparameters tcCursor + Local lnPretCuTva + lnPretCuTva = Iif(Inlist(gnTipGest , 6,7), 1, 0) + If !Inlist(gnTipGest,6,7) + Insert Into (tcCursor) (id_temp,denumire,serie,cantitate,cu_tva,pretftva,pretctva,; + valftva,valtva,valctva,discountftva,discountctva,valdiscountftva,; + valdiscounttva, valdiscountctva, valdiminuatftva, valdiminuattva, valdiminuatctva, proc_tvav,id_jtva_coloana,um,codmat,codbare,; + vpretftva,vvalftva,vvaltva,vdiscountftva,vvaldiscountftva,vvaldiscounttva,; + vvaldiminuatftva,vvaldiminuattva,vvaldiminuatctva,gestionabil,id_rul_aux,explicatie,lot) ; + Select Recno() As id_temp,denumire, Nvl(serie,Space(100)) As serie, cante As cantitate,m.lnPretCuTva As cu_tva,; + Round(pretv,gnPPretV) As pretftva,; + Round(pretv,gnPPretV) + Round(Round(pretv,gnPPretV) * (proc_tvav-1),gnPPretV) As pretctva,; + Round(Round(pretv,gnPPretV)*cante,gnPc) As valftva,; + ROUND(Round(pretv*cante,gnPc)*(proc_tvav-1),gnPc) As valtva, ; + Round(Round(pretv,gnPPretV)*cante,gnPc) + Round(Round(pretv*cante,gnPc)*(proc_tvav-1),gnPc) As valctva, ; + ROUND(discunitar,gnPPretV) As discountftva,; + ROUND(discunitar,gnPPretV)+Round(Round(discunitar,gnPPretV)*(proc_tvav-1),gnPPretV) As discountctva,; + Round(Round(discunitar,gnPPretV)*cante,gnPc) As valdiscountftva, ; + ROUND(Round(discunitar*cante,gnPc)*(proc_tvav-1),gnPc) As valdiscounttva, ; + Round(Round(discunitar,gnPPretV)*cante,gnPc) + Round(Round(discunitar*cante,gnPc)*(proc_tvav-1),gnPc) As valdiscountctva,; + Round(Round(pretv-discunitar,gnPPretV)*cante,gnPc) As valdiminuatftva,; + ROUND(Round((pretv-discunitar)*cante,gnPc)*(proc_tvav-1),gnPc) As valdiminuattva,; + ROUND(Round(Round(pretv-discunitar,gnPPretV)*cante,gnPc)*proc_tvav,gnPc) As valdiminuatctva,; + proc_tvav,id_jtva_coloana, Nvl(um,Space(50)) As um, Nvl(codmat,Space(50)) As codmat, Nvl(codbare,Space(50)) As codbare,; + Round(pretvval,gnPVal) As vpretftva,; + ROUND(Round(pretvval,gnPVal)*cante,gnPVal) As vvalftva,; + ROUND(Round(Round(pretvval,gnPVal)*cante,gnPc)*(proc_tvav-1),gnPVal) As vvaltva,; + 0 As vdiscountftva,0 As vvaldiscountftva,0 As vvaldiscounttva,; + Round(Round(pretvval-0,gnPVal)*cante,gnPVal) As vvaldiminuatftva,; + ROUND(Round((pretvval-0)*cante,gnPVal)*(proc_tvav-1),gnPVal) As vvaldiminuattva,; + ROUND(Round(Round(pretvval-0,gnPVal)*cante,gnPVal)*proc_tvav,gnPVal) As vvaldiminuatctva,; + 1 As gestionabil,id_rul_aux,IIF(EMPTY(NVL(FIELD('explicatie',"rul_temp"),'')),'',explicatie), Nvl(lot,Space(20)) As lot From rul_temp Where cante <> 0 + Else + Insert Into (tcCursor) (id_temp,denumire,serie,cantitate,cu_tva,pretftva,pretctva,; + valftva,valtva,valctva,discountftva,discountctva,valdiscountftva,; + valdiscounttva, valdiscountctva, valdiminuatftva, valdiminuattva, valdiminuatctva, proc_tvav,id_jtva_coloana,um,codmat,codbare,; + vpretftva,vvalftva,vvaltva,vdiscountftva,vvaldiscountftva,vvaldiscounttva,; + vvaldiminuatftva,vvaldiminuattva,vvaldiminuatctva,gestionabil,id_rul_aux,explicatie,lot) ; + Select Recno() As id_temp,denumire, Nvl(serie,Space(100)) As serie, cante As cantitate,m.lnPretCuTva As cu_tva,; + Round(pretv,gnPPretV) As pretftva,; + Round(pretv+tvav,gnPPretV) As pretctva,; + Round(Round((pretv+tvav),gnPPretV)*cante,gnPc) - Round(Round((pretv+tvav)*cante,gnPc)*(proc_tvav-1)/proc_tvav,gnPc) As valftva, ; + Round(Round((pretv+tvav)*cante,gnPc)*(proc_tvav-1)/proc_tvav,gnPc) As valtva, ; + Round(Round((pretv+tvav),gnPPretV)*cante,gnPc) As valctva, ; + Round(Round(discunitar,gnPPretV)/proc_tvav,gnPPretV) As discountftva,; + ROUND(discunitar,gnPPretV) As discountctva, ; + ROUND(Round(discunitar,gnPPretV)*Nvl(cante,1),gnPc) - Round(Round(Round(discunitar,gnPPretV)*Nvl(cante,1),gnPc)*(proc_tvav-1)/proc_tvav, gnPc) As valdiscountftva,; + Round(Round(Round(discunitar,gnPPretV)*Nvl(cante,1),gnPc)*(proc_tvav-1)/proc_tvav, gnPc) As valdiscounttva,; + Round(Round(discunitar,gnPPretV)*cante,gnPc) As valdiscountctva, ; + ROUND((Round((pretv+tvav),gnPPretV)-Round(discunitar,gnPPretV))*Nvl(cante,1),gnPc) - ; + Round(Round((Round((pretv+tvav),gnPPretV)-Round(discunitar,gnPPretV))*Nvl(cante,1),gnPc)*(proc_tvav-1)/proc_tvav, gnPc) As valdiminuatftva,; + Round(Round((Round((pretv+tvav),gnPPretV)-Round(discunitar,gnPPretV))*Nvl(cante,1),gnPc)*(proc_tvav-1)/proc_tvav, gnPc) As valdiminuattva, ; + Round((Round((pretv+tvav),gnPPretV)-Round(discunitar,gnPPretV))*Nvl(cante,1),gnPc) As valdiminuatctva, ; + proc_tvav,id_jtva_coloana, Nvl(um,Space(50)) As um,Nvl(codmat,Space(50)) As codmat, Nvl(codbare,Space(50)) As codbare, Round(pretvval,gnPVal) As vpretftva,; + ROUND(Round(pretvval,gnPVal)*cante,gnPVal) As vvalftva,; + ROUND(Round(Round(pretvval,gnPVal)*cante,gnPVal)*(proc_tvav-1),gnPVal) As vvaltva,; + 0 As vdiscountftva,0 As vvaldiscountftva,0 As vvaldiscounttva,; + Round(Round(pretvval-0,gnPVal)*cante,gnPVal) As vvaldiminuatftva,; + ROUND(Round((pretvval-0)*cante,gnPVal)*(proc_tvav-1),gnPVal) As vvaldiminuattva,; + ROUND(Round(Round(pretvval-0,gnPVal)*cante,gnPVal)*proc_tvav,gnPVal) As vvaldiminuatctva,; + 1 As gestionabil,id_rul_aux,IIF(EMPTY(NVL(FIELD('explicatie',"rul_temp"),'')),'',explicatie), Nvl(lot,Space(20)) As lot From rul_temp Where cante <> 0 + *!* v 2.0.52 + *!* nu am discount la vanzare - si era formula gresita - trebuia sa plece de la pretv+tvav + *!* Round(Round(pretv-discunitar,gnPc)*cante,gnPc) As valdiminuatftva,; + *!* ROUND(Round((pretv-discunitar)*cante,gnPc)*(proc_tvav-1),gnPc) As valdiminuattva,; + *!* ROUND(Round(Round(pretv-discunitar,gnPc)*cante,gnPc)*proc_tvav,gnPc) As valdiminuatctva, + *!* v 2.0.52 ^ + Endif +Endproc +******************************************************************************************************************************* +PROCEDURE recalculeaza_cursuri + LPARAMETERS tcCursorCursuri + SELECT (tcCursorCursuri) + SCAN + + ENDSCAN +ENDPROC +******************************************************************************************************************************* + +FUNCTION IdSet2TipFacturare + LPARAMETERS tnIdSet + LOCAL lnTip + lnTip = -1 + + Do Case + Case Inlist(tnIdSet,73,222,223,224) + lnTip = -1 + Case Inlist(tnIdSet,79,83,206,225,271,272) + lnTip = -2 + Case Inlist(tnIdSet,61,62,63,102,103,226,227) + lnTip = -3 + Case Inlist(tnIdSet,64,65) + lnTip = -4 + Case Inlist(tnIdSet,236,240,241,242,255,256) + && 236 intrare din gestiune valorica - aviz expeditie, 240 + inregistrare cantitativ in chiosc + && 241 = 236, 242 = 240 pe pagina marfa la pret de achizitie + lnTip = -6 + Case INLIST(tnIdSet, 238,260) && aviz de retur - valoric + lnTip = -7 + Case INLIST(tnIdSet , 239,259) && factura de retur - valorica + lnTip = -8 + Case INLIST(tnIdSet, 243,261,233, 270) && Protocol cu TVA; 270 protocol marfa la pret de vanzare + lnTip = -9 + Case INLIST(tnIdSet, 244,262) && Sponsorizare + lnTip = -10 + Case InList(tnIdSet,252,258) && Marfa la pret de achizitie * + lnTip = -11 + CASE tnIdSet = 267 && aviz de retur - marfa in custodie + lnTip = -13 + Otherwise + lnTip = -5 + ENDCASE + RETURN m.lnTip +ENDFUNC && IdSet2TipFacturare \ No newline at end of file diff --git a/programe/oinainte_de.prg b/programe/oinainte_de.prg new file mode 100644 index 0000000..b70f06f --- /dev/null +++ b/programe/oinainte_de.prg @@ -0,0 +1,411 @@ +*!* 27.02.2012 +*!* marius.mutu +*!* verificare inainte_de in functie de optiune 0 = VERIFICARE, 1 = NU SE VERIFICA, 2 = INTREBARE UTILIZATOR + +*!* 14.07.2017 +*!* marius.mutu +*!* INAINTE_DE_STOC +*!* adaugat parametru tcListaIdGestiuni (optional) pentru verificarea unei liste de gestiuni la adaugare inventar + +******************************************* +* PROCEDURE INAINTE( tcProc, tcCont ) +* Data/ora : 10/27/04, 11:30:19 +* autor : liana.macinic +* descriere: + +****** PARAMETER BLOCK ************** +* Parametri : 2 +* Parameter 1: numele procedurii de pe server +* Parameter 2: contul +* +******************************************* + +*!* do inainte WITH "IREG_parteneri",lcContPart in oinainte_de.prg + +Procedure INAINTE( tcProc, tcCont, tcVMesaj, tcVTip, tcExceptii, tcCoresp, tnLuna, tnAn ) + Local lcProc, lcCont, lcMesaj, lcTip, llProgress, lnLuna, lnAn + + *!* 27.02.2012 + If Type('gnVerificareInainte') <> 'N' + Local gnVerificareInainte + gnVerificareInainte = 0 + Endif + + *** FARA VERIFICARE + If gnVerificareInainte = 1 + Wait Window 'Nu se verifica corelatiile...' Nowait + Return + Endif + + *** INTREBARE UTILIZATOR + If gnVerificareInainte = 2 + lnOptiune = xmenu("\ 'N' + Local gnVerificareInainte + gnVerificareInainte = 0 + Endif + + *** FARA VERIFICARE + If gnVerificareInainte = 1 + Wait Window 'Nu se verifica corelatiile...' Nowait + Return + Endif + + *** INTREBARE UTILIZATOR + If gnVerificareInainte = 2 + lnOptiune = xmenu("\ 'null', m.lcIdGestiune, 'toate gestiunile') + ; + IIF(m.tnTipGest = 2, ' tip materii prime/materiale', ; + IIF(m.tnTipGest = 3, ' tip obiecte inventar', ; + IIF(m.tnTipGest = 4, ' tip produse', ; + IIF(m.tnTipGest = 5, ' tip marfa pret achizitie', ; + IIF(m.tnTipGest = 6, ' tip marfa pret vanzare', ; + IIF(m.tnTipGest = 7, ' tip marfa pret achizitie*','')))))) NOWAIT + + lnIdGestiune = Iif(LOWER(m.lcIdGestiune) = 'null', Null, Int(Val(m.lcIdGestiune))) + + lcSql = "select pack_inainte_de.inainte_de_stoc(" + Alltrim(Str(tnAn)) + "," + Alltrim(Str(tnLuna)) + "," + ; + Alltrim(Str(tnTipGest)) + "," + Alltrim(Str(tnStocObinv)) + "," + Iif(Isnull(gnIdSucursala), "null", Alltrim(Str(gnIdSucursala))) + "," + Iif(Empty(Nvl(m.lnIdGestiune, '')), "null", Alltrim(Str(lnIdGestiune))) + ") as valoare from dual" + lcCursor = [crsRezultate] + lnSucces = goExecutor.oExecute(lcSql, lcCursor) + + If lnSucces < 0 + aMessagebox(goExecutor.cEroare, 0 + 16, "Eroare") + ELSE + Select crsRezultate + IF !EMPTY(ALLTRIM(Nvl(valoare, ''))) + lcValoare = lcValoare + ALLTRIM(Nvl(valoare, '')) + Chr(13) + Chr(10) + ENDIF + Endif + Use In (Select('crsRezultate')) + Endfor + + If !Empty(m.lcValoare) + aMessagebox(m.lcValoare, 0 + 48, "Verificare") + ENDIF + + Select (m.lcSelect) + Return m.lcValoare +Endproc && INAINTE_DE_STOC diff --git a/programe/oinit_optiuni.prg b/programe/oinit_optiuni.prg new file mode 100644 index 0000000..fac1122 --- /dev/null +++ b/programe/oinit_optiuni.prg @@ -0,0 +1,883 @@ +*!* citeste_optiune, scrie_optiune +parametru tValue2 + +*** OINIT_OPTIUNI.PRG + +glLuna_neplatita = .F. +glLunaInchisa = .F. + +*!* gnLuna = Round(Val(goCalendar.nl),0) +*!* gnAn = Round(Val(goCalendar.An),0) + +gnLuna = goCalendar.luna +gnAn = goCalendar.anul + +pcNl = Padl(Alltrim(Str(gnLuna)), 2, '0') +pcAn = Alltrim(Str(gnAn)) +m.nl = m.pcNl +m.an = m.pcAn +gcFirma = Upper(Alltrim(goFirma.firma)) +If Type('gnIdFirma') <> 'U' + gnIdFirma = goFirma.Id_Firma +Endif +gnIdFirma = goFirma.Id_Firma + + +*!* 08.02.2008 SUCURSALE +Public gnIdSucursala, gnIdMama, glEMama, gcCondSucursala +gnIdSucursala = Iif(Nvl(goFirma.id_mama, 0) <> 0, goFirma.Id_Firma, Null) && DACA ESTE SUCURSALA - ID-UL SUCURSALA PE CARE IL SCRIU IN TABELE +*gnIdSucursala = Iif(Nvl(goFirma.id_firma,0) <> 0, goFirma.Id_Firma, Null) +gnIdMama = Iif(Nvl(goFirma.id_mama, 0) <> 0, goFirma.id_mama, Null) +glEMama = Nvl(goFirma.e_mama, 0) <> 0 +gcCondSucursala = Iif(!Isnull(gnIdSucursala), ' AND id_sucursala = ?gnIdSucursala ', '') && CONDITIA FOLOSITA LA SELECTIILE DIN JURNAL, RULAJ, IREG_PARTENERI +*!* 08.02.2008 SUCURSALE ^ + +*!* gcSchemaPath = ADDBS(dirgen) + gcS + "\" +*!* m.calefirma = gcSchemaPath +*!* IF !DIRECTORY(gcSchemaPath) +*!* MD (gcSchemaPath) +*!* ENDIF + +*!* gnNivelUtilizator = getNivel(gnIdProgram,gnIdUtil,gnId_Firma) +*!* gcAcces = getAcces(gnIdProgram,gnIdUtil,gnId_Firma) + + +m.an = Alltrim(Str(gnAn)) +m.nl = Padl(Alltrim(Str(gnLuna)), 2, '0') +m.NumeFirma = gcFirma +m.flung = gcFirma +m.numeluna = m.nl +m.luna = m.nl +m.ctvam = goCalendar.ctvam +m.ctvai = goCalendar.ctvai +m.antet = goFirma.antet +gcAntet = goFirma.antet +*!* adaugat 25.02.2014 / liana neagu /ROARES +Public gcNumeUtilEnt +gcNumeUtilEnt = [] +lcSql = [begin pack_def.citesteNumeEnt(?gnIdUtil,?@gcNumeUtilEnt); end;] +If !goExecutor.oExecuta(lcSql) + gcNumeUtilEnt = gcUserNameApp +Endif +*!* adaugat 25.02.2014 ^ + +*!* adaugat 23.09.2011 / MARIUS ATANASIU / ROAAUTO +Public gnCotaTVAStandard +gnCotaTVAStandard = goCalendar.ctvam +*!* adaugat 23.09.2011 ^ +*** ADAUGAT 01.11.2005 +*** MARIUS MUTU +glLunaInchisa = is_luna_blocata(gcS, gnId_Prg_Owner, gnAn, gnLuna) + + +*!* 25.01.2012 +lcDeclarant = Alltrim(goFirma.declarant) +AddProperty(goFirma, 'nume_declarant', m.lcDeclarant) +AddProperty(goFirma, 'prenume_declarant', '') +lnNraparitie = At(" ", m.lcDeclarant) +If lnNraparitie > 0 + goFirma.nume_declarant = Substr(m.lcDeclarant, 1, m.lnNraparitie) + goFirma.prenume_declarant = Substr(m.lcDeclarant, m.lnNraparitie + 1) +Endif +*!* 25.01.2012 ^ + +verificare_versiune() +*---------------------- deschid lunilean , sa iau denumirea completa a lunii +Local lcNumeLuna +Store "" To lcNumeLuna +If Used("v_lunilean") + Use In v_lunilean +Endif +lcSelect = [select * from lunilean ] +lcCursor = [v_lunilean] +lnSucces = goExecutor.oExecute(lcSelect, lcCursor) +If lnSucces < 0 + AMESSAGEBOX('Eroare la selectie ' + goExecutor.cEroare) + Return +Endif +Select v_lunilean +Locate For nrluna = gnLuna +If Found() + lcNumeLuna = Alltrim(v_lunilean.numeluna) +Endif +*----------------------deschid lunilean , sa iau denumirea completa a lunii +If Type("NUMEPROGRAM") <> 'C' Or Empty(NUMEPROGRAM) + NUMEPROGRAM = gcAppName +Endif +capapl = NUMEPROGRAM + " Firma " + NumeFirma + "- Luna contabila: " + lcNumeLuna + " " + M.an + " " +*----------------------- +goApp.SetCaption(capapl) +Release lcNumeLuna + +If Used("v_lunilean") + Use In v_lunilean +Endif + +*!* 06.09.2012 / marius.atanasiu +*!* daca schimbam luna, nu se schimba gcTempPath si la BackupXML imi cauta xml-urile in firma anterioara +*!* *!* 07.06.2007 +*!* *!* marius.mutu +*!* *!* daca este definita gcTempPath in main.prg - goApi.GetTempPath() +*!* If Empty(gcTempPath) OR 'SITFIN'$UPPER(gcAppName) +*!* *!* gcTempPath = [c:\contafin\temp\] + gcS + [\] +*!* *!* IF !DIRECTORY(gcTempPath) +*!* *!* MD (gcTempPath) +*!* *!* ENDIF +&& obiectul public goApi trebuie creat in programul principal, daca nu, este creat in oinit_optiuni.prg +If Type('goApi') = 'U' + Public goApi + goApi = Newobject("wwAPI", "wwAPI.prg") +Endif +gcTempPath = Addbs(shortpath(goApi.GetTempPath())) + gcS + [\] && WWAPI.PRG +If !Directory(gcTempPath) + Md (gcTempPath) +Endif +*!* Endif +*!* 06.09.2012 ^ +m.NIVEL = 0 +m.UTILIZATOR = gcUserNameApp + + + +*!* STORE 0 TO gnPA && nr. de zecimale afisare +*!* STORE 0 TO gnPC && nr. de zecimale calcul + +If lnSucces > 0 + && setez variabilele de sesiune pe server + lnSucces = InitSesiune() && IN oInit_Optiuni.prg +Endif + +If lnSucces > 0 + Do optiuni_firma + Do coresp_cont_tipgest + Do actualizeaza_optiuni_utilizator + Do actualizeaza_optiuni +Endif + +If Type('gnTraducere') = 'N' + glTraducere = gnTraducere = 1 +Endif + +Return lnSucces + +************************************** INCEPUT: actualizeaza_optiuni_program *************************************** +Function actualizeaza_optiuni_program + Local llReturn + Store .F. To llReturn + lcSql = 'select * from ' + gcS + '.optiuni where program = ?gcNumeProgram order by varname' + lcCursor = 'v_optiuni' + + lnSucces = goExecutor.oExecute(lcSql, lcCursor) + + If lnSucces < 0 + AMESSAGEBOX('ACTUALIZEAZA_OPTIUNI_PROGRAM ' + goExecutor.cEroare, 0 + 16, "Eroare") + Return + Else + Select(lcCursor) + Scan For !Empty(varname) + lcvarname = Alltrim(&lcCursor..varname) + lcvartype = Upper(Alltrim(&lcCursor..Vartype)) + Do Case + Case lcvartype = "CHARACTER" + Public gc&lcvarname. + luvarvalue = Alltrim(&lcCursor..varvalue) + gc&lcvarname. = luvarvalue + Case lcvartype = "CURRENCY" + Public gy&lcvarname. + luvarvalue = Ntom(Val(&lcCursor..varvalue)) + gy&lcvarname. = luvarvalue + Case lcvartype = "NUMERIC" + Public gn&lcvarname. + luvarvalue = Val(&lcCursor..varvalue) + gn&lcvarname. = luvarvalue + Case lcvartype = "DATETIME" + Public gt&lcvarname. + luvarvalue = Ctot(&lcCursor..varvalue) + gt&lcvarname. = luvarvalue + Case lcvartype = "DATE" + Public gd&lcvarname. + luvarvalue = Ctod(&lcCursor..varvalue) + gd&lcvarname. = luvarvalue + Case lcvartype = "LOGICAL" + Public gl&lcvarname. + luvarvalue = Iif(Inlist(Upper(Left(&lcCursor..varvalue, 1)), "T", "Y"), .T., .F.) + gl&lcvarname. = luvarvalue + Otherwise + pcmsgbuff = "Tip de variabila globala invalid!" + pcmsgbuff = pcmsgbuff + Chr(13) + Chr(13) + "Numele variabilei: " + lcvarname + pcmsgbuff = pcmsgbuff + Chr(13) + "Tipul variabilei: " + lcvartype + pcmsgbuff = pcmsgbuff + Chr(13) + Chr(13) + "Contactati suportul tehnic." + = AMESSAGEBOX(pcmsgbuff, 48) + pcmsgbuff = "" + Endcase + Endscan + + llReturn = .T. + If Used('v_optiuni') + Use In v_optiuni + Endif + Endif + Return llReturn +Endfunc +******************************************* SFARSIT: actualizeaza_optiuni_program ******************************************* + + + +* PROCEDURE optiuni_firma( ) +* Date : 15.11.2004, 09:33:59 +* author : catalin.neagu +* description: + +****** PARAMETER BLOCK ************** +* Parameters : 0 +* +******************************************* INCEPUT:optiuni_f ******************************************* +Procedure optiuni_firma + + *!* modificat 22.03.2006 + *!* mutu.marius + *!* am folosit gcUserName in loc de gcS (adica "CONTAFIN_ORACLE") si am modificat procedura SCRIE_OPTIUNI + + lcSql = [begin SCRIE_OPTIUNI('] + gcUserName + ['); end;] + lnSucces = goExecutor.oExecute(lcSql) + + If lnSucces < 0 + AMESSAGEBOX('SCRIE_OPTIUNI ' + goExecutor.cEroare, 0 + 16, "Eroare") + Return + Endif + lnSucces = -1 + lnSucces = update_optiuni() + + If lnSucces > 0 + LCFIS = 'v_optiuni' + + *-- DECLAR VARIABILELE PUBLICE SI LE INITIALIZEZ ex: pcEroriPath,pcServerPath + + Select(LCFIS) + Scan For !Empty(varname) And (Isnull(programe) Or gcNumeProgram $ programe) + lcvarname = Alltrim(&LCFIS..varname) + lcvartype = Upper(Alltrim(&LCFIS..Vartype)) + Do Case + Case lcvartype = "CHARACTER" + Public gc&lcvarname. + luvarvalue = Alltrim(&LCFIS..varvalue) + luvarvalue2 = Alltrim(&LCFIS..varvalue2) + IF !EMPTY(NVL(luvarvalue,'')) OR (EMPTY(NVL(luvarvalue,'')) AND EMPTY(NVL(luvarvalue2,''))) + gc&lcvarname. = m.luvarvalue + ELSE + gc&lcvarname. = m.luvarvalue2 + ENDIF + Case lcvartype = "CURRENCY" + Public gy&lcvarname. + luvarvalue = Ntom(Val(&LCFIS..varvalue)) + gy&lcvarname. = luvarvalue + Case lcvartype = "NUMERIC" + Public gn&lcvarname. + luvarvalue = Val(&LCFIS..varvalue) + gn&lcvarname. = luvarvalue + Case lcvartype = "DATETIME" + Public gt&lcvarname. + luvarvalue = Ctot(&LCFIS..varvalue) + gt&lcvarname. = luvarvalue + Case lcvartype = "DATE" + Public gd&lcvarname. + luvarvalue = Ctod(&LCFIS..varvalue) + gd&lcvarname. = luvarvalue + Case lcvartype = "LOGICAL" + Public gl&lcvarname. + luvarvalue = Iif(Inlist(Upper(Left(&LCFIS..varvalue, 1)), "T", "Y"), .T., .F.) + gl&lcvarname. = luvarvalue + Otherwise + pcmsgbuff = "Tip de variabila globala invalid!" + pcmsgbuff = pcmsgbuff + Chr(13) + Chr(13) + "Numele variabilei: " + lcvarname + pcmsgbuff = pcmsgbuff + Chr(13) + "Tipul variabilei: " + lcvartype + pcmsgbuff = pcmsgbuff + Chr(13) + Chr(13) + "Contactati suportul tehnic." + = AMESSAGEBOX(pcmsgbuff, 48) + pcmsgbuff = "" + Endcase + Endscan + + If Used('v_optiuni') + Use In v_optiuni + Endif + Public gnZ + m.gnZ = 0 + If Type('gnPA') = 'N' + gnZ = m.gnPA + Endif + lnSucces = optiuni_speciale() + Endif + Return lnSucces +Endproc +******************************************* SFARSIT: optiuni_f ******************************************* + +* PROCEDURE viz_optiuni( ) +* Date : 15.11.2004, 12:31:24 +* author : catalin.neagu +* description: + +****** PARAMETER BLOCK ************** +* Parameters : 0 +* +******************************************* INCEPUT:viz_optiuni ******************************************* +Procedure viz_optiuni + Lparameters tcS, tnId_prg_owner + + Local lnSucces, lcS + If Empty(tcS) + lcS = "CONTAFIN_ORACLE" + Else + lcS = tcS + Endif + + Private popt + Store '' To popt + + Local lcschema, lcSelect + lcschema = [] + lcSelect = [select * from ] + lcS + [.optiuni ] + lcfiltru = [] + If !Empty(tnId_prg_owner) + lcFiltuOriginal = [id_prg_owner=] + Alltrim(Str(tnId_prg_owner)) + Else + lcFiltuOriginal = [] + Endif + lcOrder = [varname] + lcGroup = [] + llModParam = .T. + llAfisare = .F. + gencursor('popt', 'v_optiuni', lcSelect, lcfiltru, lcschema, lcOrder, llAfisare, lcGroup, llModParam, lcFiltuOriginal) + popt.ca_baza1.afisare() + + ofrmopt = Createobject('frm_optiuni') + ofrmopt.cSchema = lcS + ofrmopt.Show(1) + Release ofrmopt + +Endproc +******************************************* SFARSIT: viz_optiuni ******************************************* + +Procedure optiuni_cote_tva + + lcSql = [begin SCRIE_COTE_TVA('] + gcS + [',] + pcAn + [, ] + pcNl + [); end;] + lnSucces = goExecutor.oExecute(lcSql) + + If lnSucces < 0 + AMESSAGEBOX('SCRIE_COTE_TVA ' + goExecutor.cEroare, 0 + 16, "Eroare") + Return + Endif +Endproc + +* PROCEDURE viz_cote_tva( Tcs ) +* Date : 04/01/05, 11:22:25 +* author : catalin.neagu +* description: + +****** PARAMETER BLOCK ************** +* Parameters : 1 +* Parameter 1: +* +******************************************* INCEPUT:viz_cote_tva ******************************************* +Procedure viz_cote_tva + LPARAMETERS tcS, tnAn, tnLuna + + Local lnSucces, lcS + If Empty(tcS) + lcS = "CONTAFIN_ORACLE" + Else + lcS = tcS + Endif + lcAn = Alltrim(Str(tnAn)) + lcLuna = Alltrim(Str(tnLuna)) + Private pcot, pcschema1, pcselect1 + Store '' To pcot + pcschema1 = [''] + pcselect1 = ['select * from ] + lcS + [.cote_tva where 1=2'] + pcfiltru1 = [ an = ] + lcAn + [and luna = ] + lcLuna + pcOrder1 = [an, luna] + gencursor('pcot', 'v_cote_tva', pcselect1, pcfiltru1, pcschema1, pcOrder1) + pcot.ca_baza1.afisare() + ofrmcot = Createobject('frm_cote_tva') + ofrmcot.cSchema = lcS + ofrmcot.Show(1) + Release ofrmcot + +Endproc +******************************************* SFARSIT: viz_cote_tva ******************************************* + +* PROCEDURE optiuni_plcont( tcs ) +* Date : 04/01/05, 13:04:09 +* author : catalin.neagu +* description: + +****** PARAMETER BLOCK ************** +* Parameters : 1 +* Parameter 1: +* +******************************************* INCEPUT:optiuni_plcont ******************************************* +Procedure optiuni_plcont() + + lcSql = [begin SCRIE_PLCONT('] + gcS + [',] + gnAn + [); end;] + lnSucces = goExecutor.oExecute(lcSql) + + If lnSucces < 0 + AMESSAGEBOX('SCRIE_PLCONT ' + goExecutor.cEroare, 0 + 16, "Eroare") + Return + Endif +Endproc + + +******************************************* SFARSIT: optiuni_plcont ******************************************* +* PROCEDURE optiuni_notec( ) +* Date : 04/01/05, 13:05:32 +* author : catalin.neagu +* description: + +****** PARAMETER BLOCK ************** +* Parameters : 0 +* +******************************************* INCEPUT:optiuni_notec ******************************************* +Procedure optiuni_notec( ) + + lcSql = [begin SCRIE_notec('] + gcS + ['); end;] + lnSucces = goExecutor.oExecute(lcSql) + + If lnSucces < 0 + AMESSAGEBOX('SCRIE_notec ' + goExecutor.cEroare, 0 + 16, "Eroare") + Return + Endif +Endproc + +******************************************* SFARSIT: optiuni_notec ******************************************* + +* PROCEDURE viz_exceptii( ) +* Date : 04/01/05, 13:40:35 +* author : catalin.neagu +* description: + +****** PARAMETER BLOCK ************** +* Parameters : 0 +* +******************************************* INCEPUT:viz_exceptii ******************************************* +Procedure viz_exceptii( tcS ) + Local lnSucces, lcS + If Empty(tcS) + lcS = "CONTAFIN_ORACLE" + Else + lcS = tcS + Endif + Private pex, pcschema1, pcselect1 + Store '' To pex + pcschema1 = [''] + pcselect1 = ['select * from ] + lcS + [.exceptii_ireg where 1=2'] + pcfiltru1 = [2=2] + gencursor('pex', 'v_exceptii_ireg', pcselect1, pcfiltru1, pcschema1) + pex.ca_baza1.afisare() + ofrmex = Createobject('frm_exceptii_ireg') + ofrmex.cSchema = lcS + ofrmex.Show(1) + Release ofrmex + +Endproc +******************************************* SFARSIT: viz_exceptii ******************************************* + +Procedure coresp_cont_tipgest + + lcSql = [begin SCRIE_CORESP_CONT_TIPGEST('] + gcS + ['); end;] + lnSucces = goExecutor.oExecute(lcSql) + + If lnSucces < 0 + lcMesaj = 'SCRIE_CORESP_CONT_TIPGEST ' + goExecutor.cEroare + ofrm_er = Createobject([frm_mesaj], [Eroare], [exclam.ico], [Avertizare], lcMesaj) + ofrm_er.Show(1) + Release ofrm_er + Return + Endif + +Endproc + + + +********************* INCEPUT Optiuni_speciale ********************** +* PROCEDURE Optiuni_speciale +* Date : 03/31/05, 08:48:45 +* author : marius.mutu +* description: + +Procedure optiuni_speciale + Public gnLunaRon, gnAnRon, gl406, glEFactura + + gnLunaRon = Val(Substr(Alltrim(gcDataRon), 1, 2)) + gnAnRon = Val(Substr(Alltrim(gcDataRon), 4, 4)) + If gnAn * 12 + gnLuna < gnAnRon * 12 + gnLunaRon + Store 0 To gnPA && nr. de zecimale afisare + Store 0 To gnPC && nr. de zecimale calcul + Store 0 To gnPCurs && nr. de zecimale curs + Store 0 To gnPPretV && nr. de zecimale pret vanzare + Store 0 To gnZ && gnPA + *!* ELSE + *!* Store 2 To gnPA && nr. de zecimale afisare + *!* Store 2 To gnPC && nr. de zecimale calcul + *!* Store 4 To gnPCurs && nr. de zecimale curs + ENDIF + + * Firma are activata SAFT 406 + gl406 = (TYPE('gnD406') = 'N' and m.gnD406 = 1) + * Firma are activata Efactura + glEFactura = (TYPE('gnEFactura') = 'N' and m.gnEFactura = 1) + +Endproc +********************* SFARSIT Optiuni_speciale ********************** + +*!* marius.mutu +*!* 21.02.2006 +*!* Seteaza variabile de sesiune: pack_sesiune.id_util, pack_sesiune.Luna, pack_sesiune.An, pack_sesiune.data_ron, pack_contafin.data_ron +*** InitSesiune =========================================================================== +Procedure InitSesiune + + Local lnSucces + lnSucces = 1 + + && setez variabilele de sesiune pe server + If lnSucces > 0 + lcSql = [begin pack_sesiune.set_Id_Util(?gnIdUtil); end;] + lnSucces = goExecutor.oExecute(lcSql) + If lnSucces < 0 + AMESSAGEBOX(goExecutor.cEroare, 0 + 16, "Eroare") + Endif + Endif + + If lnSucces > 0 + lcSql = [begin pack_sesiune.setluna(?gnLuna); pack_sesiune.setan(?gnAn); end;] + lnSucces = goExecutor.oExecute(lcSql) + If lnSucces < 0 + AMESSAGEBOX(goExecutor.cEroare, 0 + 16, "Eroare") + Endif + Endif + + *!* 09.04.2008 + *!* setare lunabal si anbal pentru view-urile vbalmama si vbalanamama + If lnSucces > 0 + lcSql = [begin pack_sesiune.setlunabal(?gnLuna); pack_sesiune.setanbal(?gnAn); end;] + lnSucces = goExecutor.oExecute(lcSql) + If lnSucces < 0 + AMESSAGEBOX(goExecutor.cEroare, 0 + 16, "Eroare") + Endif + Endif + *!* 09.04.2008 ^ + + If lnSucces > 0 + lcSql = [begin pack_contafin.SET_DATA_RON(?gcS); end;] + lnSucces = goExecutor.oExecute(lcSql) + If lnSucces < 0 + AMESSAGEBOX(goExecutor.cEroare, 0 + 16, "Eroare") + Endif + Endif + If lnSucces > 0 + lcSql = [begin pack_sesiune.set_data_ron(?gcS); end;] + lnSucces = goExecutor.oExecute(lcSql) + If lnSucces < 0 + AMESSAGEBOX(goExecutor.cEroare, 0 + 16, "Eroare") + Endif + Endif + + llSucces = initializeaza_sucursala() + If llSucces + llSucces = initializeaza_firma() + Endif + + lnSucces = Iif(llSucces, 1, -1) + + Return lnSucces + +Endproc && InitSesiune +*** END InitSesiune =========================================================================== +Procedure actualizeazaSetare + Lparameters tcSetare, tdData + Private pcSetare, pdData, pcValoareSetare, pcTipSetare + pcSetare = tcSetare + pdData = Date() + pcValoareSetare = [-] + pcTipSetare = [-] + lcSql = [{call citeste_ora_optiune(?pcSetare,?@pdData,?@pcValoareSetare,?@pcTipSetare)}] + lnSucces = goExecutor.oExecute(lcSql) + If lnSucces < 0 + AMESSAGEBOX(goExecutor.oPrelucrareEroare(), 0 + 16, "Eroare") + Else + Do Case + Case pcTipSetare = "CHARACTER" + luvarvalue = Alltrim(pcValoareSetare) + gc&pcSetare. = luvarvalue + Case pcTipSetare = "CURRENCY" + luvarvalue = Ntom(Val(pcValoareSetare)) + gy&pcSetare. = luvarvalue + Case pcTipSetare = "NUMERIC" + luvarvalue = Val(pcValoareSetare) + gn&pcSetare. = luvarvalue + Case pcTipSetare = "DATETIME" + luvarvalue = Ctot(pcValoareSetare) + gt&pcSetare. = luvarvalue + Case pcTipSetare = "DATE" + luvarvalue = Ctod(pcValoareSetare) + gd&pcSetare. = luvarvalue + Case pcTipSetare = "LOGICAL" + luvarvalue = Iif(Inlist(Upper(Left(pcValoareSetare, 1)), "T", "Y"), .T., .F.) + gl&pcSetare. = luvarvalue + Otherwise + pcmsgbuff = "Tip de variabila globala invalid!" + pcmsgbuff = pcmsgbuff + Chr(13) + Chr(13) + "Numele variabilei: " + pcSetare + pcmsgbuff = pcmsgbuff + Chr(13) + "Tipul variabilei: " + pcTipSetare + pcmsgbuff = pcmsgbuff + Chr(13) + Chr(13) + "Contactati suportul tehnic." + = AMESSAGEBOX(pcmsgbuff, 48) + pcmsgbuff = "" + Endcase + tdData = pdData + Endif +Endproc && actualizeazaSetare +*********************************************************************** + +*!* 16.06.2007 +*!* marius.mutu +*!* verificare versiune program - versiune baza date +*!* procedura de pe server intoarce nume_program:versiune_program daca este nevoie de actualizarea programului la versiunea +*!* sau db:versiune_db daca este nevoie de actualizarea bazei de date la versiunea +Procedure verificare_versiune + Local lcFileVersiuneDB, llOk, lcMesaj + Private pcReturnValue, pcNumeProgram, pcVersiuneDB, pcVersiuneProgram + llOk = .T. + lcMesaj = "" + pcReturnValue = "" && roacont:1.0.25 sau db:2007_06_16_2 + pcNumeProgram = Upper(gcNumeProgram) + pcVersiuneDB = "" + + pcVersiuneProgram = Get_Version() + lcFileVersiuneDB = gcAppPath + "versiune_db.txt" + If File(lcFileVersiuneDB) + pcVersiuneDB = Alltrim(Filetostr(lcFileVersiuneDB)) && 2007_06_15_01 + Endif + + lnSucces = goExecutor.oFunction2Value("pack_migrare.VerificaVersiune('" + pcNumeProgram + "', '" + pcVersiuneProgram + "', '" + pcVersiuneDB + "')", @pcReturnValue) + If lnSucces < 0 + AMESSAGEBOX(goExecutor.cEroare, 0 + 16, "Eroare") + Else + *!* SELECT COUNT(*) AS nr FROM versiune WHERE SUBSTR(script_final,4,13) = lcVersiuneDB INTO CURSOR crsVersiuneTemp + Do Case + Case pcNumeProgram $ Upper(pcReturnValue) + llOk = .F. + lcMesaj = "Trebuie actualizat " + pcNumeProgram + " la versiunea " + Getwordnum(pcReturnValue, 2, ":") + Chr(13) + Chr(10) + ; + "Versiunea actuala este " + Getwordnum(pcReturnValue, 3, ":") + + Case "DB" $ Upper(pcReturnValue) + llOk = .F. + lcMesaj = "Trebuie actualizata baza de date la versiunea " + Getwordnum(pcReturnValue, 2, ":") + Chr(13) + Chr(10) + ; + "Versiunea actuala este " + Getwordnum(pcReturnValue, 3, ":") + Endcase + Endif + + *!* SELECT versiune_program, versiune_bd FROM versiune_programe WHERE UPPER(PROGRAM) = UPPER(gcNumeProgram) + If !Empty(lcMesaj) + AMESSAGEBOX(lcMesaj, 0 + 48, "Actualizare") + Endif + Return llOk +Endproc && verificare_versiune +****************************************************************************************** +Function initializeaza_sucursala() + Local lcSel, lnSucces, llReturn + llReturn = .T. + lcSel = [begin pack_contafin.set_id_sucursala(?gnIdSucursala); end;] + lnSucces = goExecutor.oExecute(lcSel) + If lnSucces < 0 + AMESSAGEBOX(goExecutor.cEroare, 0 + 16, "Eroare") + llReturn = .F. + Endif + Release lcSel, lnSucces + Return llReturn +Endfunc +****************************************************************************************** +Function initializeaza_firma() + Local lcSel, lnSucces, llReturn + llReturn = .T. + lcSel = [begin pack_contafin.set_id_firma(?gnIdFirma); end;] + lnSucces = goExecutor.oExecute(lcSel) + If lnSucces < 0 + AMESSAGEBOX(goExecutor.cEroare, 0 + 16, "Eroare") + llReturn = .F. + Endif + Release lcSel, lnSucces + Return llReturn +Endfunc +************************************* INCEPUT: actualizeaza_optiuni_utilizator *************************************** +Procedure actualizeaza_optiuni_utilizator + Local lnSucces + Store .F. To llReturn + lcSql = 'select * from optiuni_util where id_util = ?gnIdUtil order by varname' + lcCursor = 'crsOptiuniUtilizator' + + lnSucces = goExecutor.oExecute(lcSql, lcCursor) + + If lnSucces < 0 + AMESSAGEBOX(goExecutor.cEroare, 0 + 16, "Eroare") + Endif + + Return lnSucces +Endproc +******************************************* SFARSIT: actualizeaza_optiuni_utilizator ******************************************* +******************************************* INCEPUT: citeste_optiune_utilizator******************************************* +Function citeste_optiune_utilizator + Lparameters tcOptiune + + Local lcOptiune, lcValOptiune + lcOptiune = tcOptiune + lcValOptiune = '' + If Used('crsOptiuniUtilizator') + Select Nvl(varvalue, '') As varvalue ; + From crsOptiuniUtilizator ; + With (Buffering = .T.) ; + Where Upper(Alltrim(varname)) = Upper(Alltrim(tcOptiune)) ; + Into Cursor crsOptiuneUtilizator + + Select crsOptiuneUtilizator + lcValOptiune = varvalue + Endif + Return m.lcValOptiune +Endfunc && citeste_optiune_utilizator +******************************************* SFARSIT: citeste_optiune_utilizator ******************************************* +******************************************* INCEPUT: scrie_optiune_utilizator******************************************* +Procedure scrie_optiune_utilizator + Parameters tcOptiune, tcValOptiune, tcDescriereOptiune + + Private pcOptiune, pcValOptiune, pcDescriereOptiune + pcOptiune = Upper(tcOptiune) + pcValOptiune = tcValOptiune + pcDescriereOptiune = tcDescriereOptiune + + *lcSql='update optiuni_util set varvalue = ?pcValOptiune where varname=?pcOptiune and id_util = ?gnIdUtil' + + *!* lcSql=[MERGE INTO optiuni_util ]+; + *!* [USING dual ]+; + *!* [on (UPPER(varname) = ?pcOptiune and id_util = ?gnIdUtil) ]+; + *!* [WHEN MATCHED THEN ]+; + *!* [ UPDATE SET varvalue = ?pcValOptiune ]+; + *!* [WHEN NOT MATCHED THEN ]+; + *!* [INSERT (varname, id_util, varvalue) ]+; + *!* [VALUES (?pcOptiune, ?gnIdUtil, ?pcValOptiune);] + + lcSql = [begin PACK_SESIUNE.SetOptiuneUtilizator(?pcOptiune,?gnIdUtil, ?pcValOptiune, ?pcDescriereOptiune); end;] + lnSucces = goExecutor.oExecute(lcSql) + + If lnSucces < 0 + AMESSAGEBOX(goExecutor.cEroare, 0 + 16, "Eroare") + Else + Select crsOptiuniUtilizator + Locate For Upper(varname) = pcOptiune + If Found() + Replace varvalue With pcValOptiune + Else + Insert Into crsOptiuniUtilizator (varname, id_util, vardesc, varvalue) Values (m.pcOptiune, m.gnIdUtil, m.pcDescriereOptiune, m.pcValOptiune) + Endif + ENDIF + TABLEUPDATE( 1, .F., 'crsOptiuniUtilizator') + + Return lnSucces +Endproc && scrie_optiune_utilizator +******************************************* SFARSIT: scrie_optiune_utilizator ******************************************* + +Procedure actualizeaza_optiuni + Local lnSucces + llReturn = .F. + lcSql = 'select * from optiuni order by varname' + lcCursor = 'crsOptiuni' + + USE IN (SELECT('crsOptiuni')) + lnSucces = goExecutor.oExecute(lcSql, lcCursor) + + If m.lnSucces < 0 + AMESSAGEBOX(goExecutor.cEroare, 0 + 16, "Eroare") + Endif + + Return m.lnSucces +Endproc +******************************************* SFARSIT: actualizeaza_optiuni ******************************************* + +******************************************* INCEPUT: citeste_optiune ******************************************* +Function citeste_optiune + Parameters tcOptiune, tlValue2 + * tlValue2: .T. optiunea se citeste din optiuni.varvalue2, in loc de optiuni.varvalue + + Local lcOptiune, lcValOptiune, lcSelect + lcOptiune = tcOptiune + lcValOptiune = '' + lcSelect = Select() + + Select crsOptiuni + Locate For Upper(Alltrim(varname)) = Upper(Alltrim(m.tcOptiune)) + If Found() + If m.tlValue2 + lcValOptiune = varvalue2 + Else + lcValOptiune = varvalue + Endif + Endif + + Select (m.lcSelect) + Return lcValOptiune +Endfunc && citeste_optiune +******************************************* SFARSIT: citeste_optiune ******************************************* + +******************************************* INCEPUT: scrie_optiune ******************************************* +Procedure scrie_optiune + Lparameters tcOptiune, tcValOptiune, tcDescriereOptiune, tlValue2 + * tlValue2: .T. optiunea se scrie in optiuni.varvalue2, in loc de optiuni.varvalue + + Private pcOptiune, pcValOptiune, pcDescriereOptiune, pcTipOptiune + + Local lcSql, lcValOptiune, lnSucces + pcOptiune = Upper(tcOptiune) + pcValOptiune = m.tcValOptiune + lcValOptiune = m.tcValOptiune + pcDescriereOptiune = tcDescriereOptiune + Do Case + Case Type('tcValOptiune') = 'C' + pcTipOptiune = 'CHARACTER' + Case Type('tcValOptiune') = 'N' + pcTipOptiune = 'NUMERIC' + lcValOptiune = TRANSFORM(m.tcValOptiune) + Case Inlist(Type('tcValOptiune'), 'D', 'T') + pcTipOptiune = 'DATE' + lcValOptiune = DTOC(m.tcValOptiune) + Case Type('tcValOptiune') = 'L' + pcTipOptiune = 'LOGICAL' + lcValOptiune = TRANSFORM(m.tcValOptiune) + Otherwise + pcTipOptiune = 'CHARACTER' + Endcase + + If m.tlValue2 + lcSql = [begin PACK_SESIUNE.SetOptiune2(?pcOptiune, ?pcValOptiune, ?pcTipOptiune, ?pcDescriereOptiune); end;] + Else + lcSql = [begin PACK_SESIUNE.SetOptiune(?pcOptiune, ?pcValOptiune, ?pcTipOptiune, ?pcDescriereOptiune); end;] + Endif + lnSucces = goExecutor.oExecute(lcSql) + + If lnSucces < 0 + AMESSAGEBOX(goExecutor.cEroare, 0 + 16, "Eroare") + Else + Select crsOptiuni + Locate For Upper(varname) = pcOptiune + If Found() + If m.tlValue2 + Replace varvalue2 With m.lcValOptiune + Else + Replace varvalue With m.lcValOptiune + Endif + Else + If m.tlValue2 + Insert Into crsOptiuni (varname, vardesc, varvalue2) Values (m.pcOptiune, m.pcDescriereOptiune, m.lcValOptiune) + Else + Insert Into crsOptiuni (varname, vardesc, varvalue) Values (m.pcOptiune, m.pcDescriereOptiune, m.lcValOptiune) + Endif + ENDIF + TABLEUPDATE( 1, .F., 'crsOptiuni') + Endif + + Return lnSucces +Endproc && scrie_optiune \ No newline at end of file diff --git a/programe/ointroduceri.prg b/programe/ointroduceri.prg new file mode 100644 index 0000000..3ec3a5c --- /dev/null +++ b/programe/ointroduceri.prg @@ -0,0 +1,1952 @@ +*!* 19.02.2010 +*!* marius.mutu lans_nir_bon - crsconfigcvc (coresp_cont_venchelt) +*!* este nevoie de conturi corespondente si pentru operatiile 264,265 finalizare aprovizionare + +*!* 19.04.2010 +*!* marius.mutu +*!* vizualizeaza_inventar_magazin - creez cursor cote_tva + +*!* 29.05.2010 +*!* marius.mutu +*!* lans_nir_bon - id_set 266 - mf pret de achizitie * > facturi nesosite pret de lista + +*!* 07.09.2009 +*!* marius.mutu +*!* vizualizeaza_inventar_magazin - use in actactan + +*!* 31.01.2011 +*!* marius.mutu +*!* vizualizeaza_inventar +*!* completat select si schema (dadea eroare la adaugarea in crs_inventar NULL) +*!* #2876 + +*!* 26.10.2011 +*!* lans_nir_bon id_set 247 ( NIR cu lista de preturi) +*!* daca dau renunt la transferul articolelor din nir in alta gestiune, se in actbaza2007.release se dezaloca numarul de NIR + +*!* 21.12.2011 +*!* marius.mutu +*!* vizualizeaza_inventar, vizualizeaza_inventar_magazin +*!* parametru suplimentar inventar corectie + +*!* 19.03.2014 +*!* marius.mutu +*!* vizualizeaza_inventar - stoc_scriptic nu avea zecimale la selectia din baza de date #3953 + +*!* 14.08.2014 +*!* marius.mutu +*!* achizitie_import +*!* s-a tratat factura TVA Incasare - se schimba 4426>4428, explicatia_tva + +*!* 14.01.2015 +*!* marius.mutu +*!* NU se executa avizul de transfer automat llAvizTransferAutomat daca optiunea RG_AVIZ_TRANSFER_NIR6/RG_AVIZ_TRANSFER_NIR7 este 0 + +*!* 04.01.2016 +*!* marius.mutu +*!* achizitiile si livrarile pe 2015 trebuie sa propuna TVA 24%. +*!* In xsets s-a modificat 20% de la 01.01.2016 + +*!* 03.01.2017 +*!* achizitie_import: In 2016 lucrez cu TVA 20%. Transform TVA din 19% in 20% +*!* lans_nir_bon: achizitiile si livrarile pe 2016 trebuie sa propuna TVA 20%. In xsets s-a modificat 19% de la 01.01.2017 + +*!* 18.08.2017 +*!* lans_Nir_Bon +*!* adaugare parametru tcNumeObje = 'corectie,1234' pentru modificarea NIR/BON + +*!* 05.09.2017 +*!* vizualizeaza_inventar_magazin - se transmit in clar gnAn, gnLuna, pnIdFact - nu mai folosea indexul si facea full scan pe act + +*!* lans_Nir_Bon +*!* corectie NIR/Bon - stergere document original inainte de scrierea celui modificat + +*!* 05.01.2018 +*!* vizualizeaza_inventar + coloana dataora + +*!* 15.05.2018 +*!* marius.mutu +*!* lans_Nir_Bon - la modificare NIR/BON se sterge documentul original inainte de scrierea celui nou, doar daca s-a dat terminat la NIR/BON. Se stergea chiar daca se dadea renunt. + +*!* 12.11.2019 +*!* marius.mutu +*!* lans_nir_bon - se initializeaza poDate pentru oscrie_vanzare_din_stoc() + + +*!* 17.07.2025 +*!* marius.mutu +*!* lans_Nir_Bon = cota TVA 19%-21% pentru perioada de tranzitie +*!* achizitiile si livrarile < 08/2025 trebuie sa propuna TVA 19% +*!* In xsets s-a modificat 21% de la 01.08.2025 + + +#Define CRLF Chr(13) + Chr(10) + +********* INCEPUT: lans_Nir_Bon *********** +Procedure lans_Nir_Bon + Parameters tnIdSet, tcObj, tcNumeObj + Local llReturn,llGestin,llGestout, lnTip + Local lcSelect, lcCursor,lnPornire && modificare ROAPRODUCTIE v 2.0.0 : am adaugat lnPornire + llReturn = .T. + Store .F. To llGestin,llGestout + + Local lnNir + Store 0 To lnNir + + llCorectie = (TYPE('tcNumeObj') = 'C' AND LOWER(LEFT(m.tcNumeObj, 8)) = 'corectie') + lnCod = IIF(m.llCorectie, INT(VAL(GETWORDNUM(m.tcNumeObj,2, ','))), 0) + + *!* v 2.0.28 + *!* LA NIR BILETE RATC - CALCULUL, NOTELE CONTABILE, LISTAREA SE FAC: + *!* VALOAREA CU TVA + *!* VALOAREA TVA = VALOAREA CU TVA * (PROC_TVA - 1)/ PROC_TVA + *!* VALOAREA FARA TVA = VALOAREA CU TVA - VALOAREA TVA + Private plNIRBONPretCuTVA + plNIRBONPretCuTVA = IsNIRBONPretCuTVA(tnIdSet) && NIR BILETE RATC + *!* v 2.0.28 ^ + + Select xsets + Locate For id_set = tnIdSet + Scatter Name oSet + *!* modificare JC/JV 2007 + If gnNeplatitoare_tva = 1 + oSet.id_jtax = oSet.id_jtaxn + oSet.id_jnetax = oSet.id_jtaxn + Endif + *!* modificare JC/JV 2007 ^ + + DO CASE + CASE BETWEEN(m.gnAn*12+m.gnLuna,2018*12+1, 2025*12+7) + * achizitiile si livrarile inainte de 08/2025 trebuie sa propuna TVA 19%. + * In xsets s-a modificat 21% de la 01.08.2025 + DO case + CASE INLIST(oset.id_jtax, 208) + oset.id_jtax = 105 && ACH. INT. 19% + CASE INLIST(oset.id_jtax, 216) + oset.id_jtax = 141 && TX. INV. 19% + CASE INLIST(oset.id_jtax, 220) + oset.id_jtax = 118 && ACH. IMP. 19% + CASE oset.id_jtax = 35 + oset.id_jtax = 1 && LIVR.INTERN 19% + ENDCASE + + CASE BETWEEN(m.gnAn, 2016, 2017) + * achizitiile si livrarile pe 2016 trebuie sa propuna TVA 20%. + * In xsets s-a modificat 19% de la 01.01.2017 + DO case + CASE INLIST(oset.id_jtax, 101, 103, 105) + oset.id_jtax = 176 && ACH. INT. 20% + CASE INLIST(oset.id_jtax, 137, 139, 141) + oset.id_jtax = 186 && TX. INV. 20% + CASE INLIST(oset.id_jtax, 114, 116, 118) + oset.id_jtax = 180 && ACH. IMP. 20% + CASE oset.id_jtax = 1 + oset.id_jtax = 27 && LIVR.INTERN 20% + ENDCASE + CASE gnAn <= 2015 + * achizitiile si livrarile pe 2015 trebuie sa propuna TVA 24%. + * In xsets s-a modificat 20% de la 01.01.2016 + DO case + CASE oset.id_jtax = 176 + oset.id_jtax = 156 + CASE oset.id_jtax = 186 + oset.id_jtax = 162 + CASE oset.id_jtax = 180 + oset.id_jtax = 158 + CASE oset.id_jtax = 27 + oset.id_jtax = 15 + ENDCASE + ENDCASE + + + *!* 30.10.2008 NIR DEPOZIT + *!* NIR PE BAZA NIR DEPOZIT (CODURI DE BARE + CANTITATE CITITE DE GESTIONAR) + *!* CAUT NIR-UL DUPA NUMAR, DATA - DACA EXISTA - VERIFIC DACA EXISTA ARTICOLE NOI CARE TREBUIE ADAUGATE IN NOMENCLATOR + If oSet.model = 2 && NIR + Do COMPLETEAZA_ARTICOLE_DEP_NIR With poAct.nract, poAct.dataact In OINTRODUCERI.PRG + If gnButon = 2 && DACA AM ALES RENUNT - NU MERG MAI DEPARTE + Return gnButon + Endif + Endif + *!* 30.10.2008 ^ + + lFactura = oSet.factura + lFacturaVal = oSet.cursval && modificare 21.09.2007 + lAdaos = oSet.adaos + lDiscount = oSet.discount + lcTipFrm = Upper(oSet.explicatia) + lcFormCereDate = Alltrim(oSet.frm_date) + + lcObj = Alltrim(tcObj) + If !Inlist(Left(Alltrim(Upper(lcObj)),6), "WEBNIR","VALOAR","SCHIMB","INVENT","RESTNI") + pcObj = &tcObj + Endif + If oSet.model = 4 And oSet.factura && facturi retur + If Used('xcont') + Select xcont + Locate For Val(contpart) = 4111 + lnIdPart = idPart + lcTitlu = numepart + lcCursor = 'crs_facturi_emise' + + pcListaFacturi = aleg_facturi_pt_retur(lnIdPart,'4111',lcTitlu,lcCursor) + If Empty(pcListaFacturi) + Return 2 && renunt + Endif + Endif + Endif + + Select selectii + Locate For id_sel = oSet.id_selSt + If Found() + Scatter Name ost Memo + Else + amessagebox('NECONFIGURAT!',0+48,'Atentie!') + Return 2 && renunt + Endif + + ***--------------------- + *!* v 2.0.87 - gestselectii - coloane ordonate din optiuni utilizator + llElementeEgale = .F. + lcWidth_coloane = '' + lnPornire = 1 && v 2.0.90 + lcGestSelectii = citeste_optiune_utilizator('GEST_SELECTII') + If !Empty(lcGestSelectii) + Xmltocursor(lcGestSelectii, "crsGestSelectiiUtilizator") + + Select crsGestSelectiiUtilizator + Locate For id_sel = oSet.id_selSt + If Found() + **-- compara daca am aceleasi coloane (control source) pe server si in tabelul din proiect (gest_selectii) + Create Cursor crsLista1 (element C(100)) + Create Cursor crsLista2 (element C(100)) + + lista2cursor(crsGestSelectiiUtilizator.nume_col,"crsLista1","element",";") + lista2cursor(ost.nume_col,"crsLista2","element",";") + + Select * From crsLista1 ; + ORDER By element ; + INTO Cursor crsListaOrd1 + + Select * From crsLista2 ; + ORDER By element ; + INTO Cursor crsListaOrd2 + + lcSirOrdonat1 = cursor2lista("crsListaOrd1","element",";") + lcSirOrdonat2 = cursor2lista("crsListaOrd2","element",";") + + If Used('crsLista1') + Use In crsLista1 + Endif + If Used('crsLista2') + Use In crsLista2 + Endif + If Used('crsListaOrd1') + Use In crsListaOrd1 + Endif + If Used('crsListaOrd2') + Use In crsListaOrd2 + Endif + + If lcSirOrdonat1 = lcSirOrdonat2 + llElementeEgale = .T. + Endif + **-- + If llElementeEgale + Select crsGestSelectiiUtilizator + Locate For id_sel = oSet.id_selSt + + ost.titlu_col = titlu_col + ost.nume_col = nume_col + ost.ordine = ordine + lcWidth_coloane = width_col + If Type("pornire")<>"U" && ver. 2.0.90 + lnPornire = pornire + Endif + Endif + Endif + Else + Create Cursor crsGestSelectiiUtilizator (id_sel I, titlu_col M, nume_col M, ordine C(50), width_col M, pornire N(2)) + Endif + + *!* v 2.0.87 - gestselectii ^ + ***--------------------- + Select selectii + Locate For id_sel = oSet.id_selDr + If Found() + Scatter Name odr Memo + Else + amessagebox('NECONFIGURAT!',0+48,'Atentie!') + Return 2 && renunt + Endif + + lcFiltruOrig = Alltrim(ost.filtruOrig) + If Empty(lcFiltruOrig) + lcFiltruOrig = [2=2] + Else + lcFiltruOrig = &lcFiltruOrig + Endif + Local lcNrSt + Store 0 To lcNrSt + + Do While ("??"$ost.titlu_grid) + lcNrSt = lcNrSt + 1 + ost.titlu_grid = Stuff(ost.titlu_grid ,At("??",ost.titlu_grid ,1),At("??",ost.titlu_grid,2)-At("??",ost.titlu_grid ,1)+2,Alltrim(Evaluate(Substr(ost.titlu_grid ,At("??",ost.titlu_grid ,1)+2,At("??",ost.titlu_grid ,2)-At("??",ost.titlu_grid ,1)-2)))) + Enddo + Release lcNrSt +*!* modificare v 2.1.19 +*!* lcSelSt = Alltrim(ost.cselect) + [ from ] + gcs + [.] + Alltrim(ost.cfrom) + [ where ] + Iif(!Empty(ost.FILTRU),Alltrim(ost.FILTRU),[])+Iif(!Empty(ost.CWHERE),Iif(!Empty(ost.FILTRU),[ AND ],[ ])+Alltrim(ost.CWHERE),[]) + * 3 = BON CONSUM + IF oxset.model = 3 AND INLIST(gnFifoLifo,1,2) + lcOrdineSelectie = IIF(gnFifoLifo=1,[],[ desc]) + lcSelSt = STRTRAN(Alltrim(ost.cselect),[select ],; + [select row_number() over (partition by id_articol,id_gestiune order by denumire,id_articol,id_gestiune,datain] + lcOrdineSelectie + [) as nrordine,]) + ; + [ from ] + gcs + [.] + Alltrim(ost.cfrom) + [ where ] + Iif(!Empty(ost.FILTRU),Alltrim(ost.FILTRU),[])+Iif(!Empty(ost.CWHERE),Iif(!Empty(ost.FILTRU),[ AND ],[ ])+Alltrim(ost.CWHERE),[]) +*!* ost.ordine = [denumire,id_articol,id_gestiune,datain]+lcOrdineSelectie + else + lcSelSt = Alltrim(ost.cselect) + [ from ] + gcs + [.] + Alltrim(ost.cfrom) + [ where ] + Iif(!Empty(ost.FILTRU),Alltrim(ost.FILTRU),[])+Iif(!Empty(ost.CWHERE),Iif(!Empty(ost.FILTRU),[ AND ],[ ])+Alltrim(ost.CWHERE),[]) + ENDIF +*!* modificare v 2.1.19 ^ + lcSchemaSt = Alltrim(ost.cschema) + + *AMESSAGEBOX('lcFiltruOrig: '+lcFiltruOrig) + + odr.filtruOrig = Iif(Empty(odr.filtruOrig), [2=2], Alltrim(odr.filtruOrig)) +*!* modificare v 2.1.19 +*!* lcSelDr = Alltrim(odr.cselect) + [ from ] + gcs + [.] + Alltrim(odr.cfrom) + [ where ] + Alltrim(odr.FILTRU) + IF oxset.model = 3 AND INLIST(gnFifoLifo,1,2) + lcSelDr = Alltrim(odr.cselect) + [,0 as nrordine from ] + gcs + [.] + Alltrim(odr.cfrom) + [ where ] + Alltrim(odr.FILTRU) + ELSE + lcSelDr = Alltrim(odr.cselect) + [ from ] + gcs + [.] + Alltrim(odr.cfrom) + [ where ] + Alltrim(odr.FILTRU) + ENDIF +*!* modificare v 2.1.19 ^ + lcSchemaDr = Alltrim(odr.cschema) + + *!* modificare v 2.0.6 + *!* If Type('pcobj.id_gestout') # 'U' And !Empty(pcObj.id_gestout) + If Type('pcobj.id_gestout') # 'U' And !Empty(pcObj.id_gestout) And !Inlist(oSet.id_set,215,216,257) + *!* modificare v 2.0.6 ^ + llGestout = .T. + Endif + + If Type('pcobj.id_gestin') # 'U' And !Empty(pcObj.id_gestin) + llGestin = .T. + Endif + If Inlist(oSet.id_selSt, 1, 22) && selectie din vnom_articole + llAdMod = .T. + Else + llAdMod = .F. + Endif + + If Inlist(Left(Alltrim(Upper(lcObj)),6), 'WEBNIR',"RESTNI") + LcNumeObj = Alltrim(Upper(lcObj)) && 'WEBNIR' + + Private pnAdaosTotal + Store 0 To pnAdaosTotal + + Private pnId_lista, pdDataI, pdDataF, pcDataI, pcDataF, pcPerioada, pcDataOra + ltDataora = get_ora() + ldDataora = Ttod(ltDataora) + pnId_lista = 0 + pdDataI = DTOT(MIN(DATE(gnAn,gnLuna,1),ldDataora)) && DATE()-1 + pdDataF = Dtot(MIN(GOMONTH(DATE(gnAn,gnLuna,1),1)-1,ldDataora))+24*60*60-1 && DATE()-1 + pcDataI = '' + pcDataF = '' + pcPerioada = "" + pcDataOra = get_ora(2) + ***--------- combo liste preturi + Private pnId_lista, pnId_produs + Store 0 To pnId_lista, pnId_produs + + Private poListe_pret + Store '' To poListe_pret + + Local lcSchema1, lcSelect1, lcOrder1, lcFiltru1, llAfiseaza + lcSchema1 = [] + lcSelect1 = [select * from vcrm_politici_preturi] + lcOrder1 = [nume_lista_preturi] + lcgroup = [] + lcFiltru1 = [2=2] + lcFiltruOriginal = [] + llModParam = .T. + llAfiseaza = .F. + + gencursor('poListe_pret','cListePret', lcSelect1, lcFiltru1, lcSchema1, lcOrder1, llAfiseaza, lcgroup, llModParam, lcFiltruOriginal) + poListe_pret.ca_baza1.afisare() + + Select cListePret + ***------------------ + Private pnIdGest_InProd, pnIdGest_InMarf + Store 0 To pnIdGest_InProd, pnIdGest_InMarf + + Private poGestiuni + Store '' To poGestiuni + + Local lcSchema1, lcSelect1, lcOrder1, lcFiltru1, llAfiseaza + lcSchema1 = [] + lcSelect1 = [select id_gestiune, nume_gestiune, cgest, nr_pag, cont, acont, inactiv, nume_tip from vnom_gestiuni] + lcOrder1 = [cgest] + lcgroup = [] + lcFiltru1 = [2=2] + If Empty(gcGestPermis) + lcFiltruOriginal = [1=2] + Else + lcFiltruOriginal = [id_gestiune in (]+ gcGestPermis + [)] + Endif + llModParam = .T. + llAfiseaza = .F. + + gencursor('poGestiuni','crsGestiuni', lcSelect1, lcFiltru1, lcSchema1, lcOrder1, llAfiseaza, lcgroup, llModParam, lcFiltruOriginal) + poGestiuni.ca_baza1.afisare() + ***------------------ + Else + * IF oSet.id_set = 105 && NIR de marfa la pret de vanzare + Private pnId_lista, pnId_produs + Store 0 To pnId_lista, pnId_produs + + Private poListe_pret + Store '' To poListe_pret + + Local lcSchema1, lcSelect1, lcOrder1, lcFiltru1, llAfiseaza + lcSchema1 = [] + lcSelect1 = [select * from vcrm_politici_preturi] + lcOrder1 = [nume_lista_preturi] + lcgroup = [] + lcFiltru1 = [2=2] + lcFiltruOriginal = [] + llModParam = .T. + llAfiseaza = .F. + + gencursor('poListe_pret','cListePret', lcSelect1, lcFiltru1, lcSchema1, lcOrder1, llAfiseaza, lcgroup, llModParam, lcFiltruOriginal) + poListe_pret.ca_baza1.afisare() + * ENDIF + + If !Inlist(Left(Alltrim(Upper(lcObj)),6), "WEBNIR","VALOAR","SCHIMB","INVENT","RESTNI") + LcNumeObj = "nir" + Else + LcNumeObj = Alltrim(Upper(lcObj)) + Endif + Endif + + + *!* modificare 04.10.2007 + *!* 19.02.2010 + *!* If Inlist(oSet.model,3,4) + *!* 19.02.2010 ^ + If update_corespondente_cvc() < 0 + Return + Endif + *!* Endif + *!* modificare 04.10.2007 ^ + + + *!* modificare 21.02.2007 + If update_jtva_coloane([],[jtva_temp]) > 0 + *!* modificare ROAGEST v 2.2.0 +*!* Select * From jtva_temp Where JC = 1 Into Cursor jtva_achizitie +*!* Select * From jtva_temp Where JV = 1 Into Cursor jtva_vanzare + If type('pcObj') = 'O' and pemstatus(pcObj, "tva_incasare", 5) and Empty(pcObj.tva_incasare) + Select * From jtva_temp Where JC = 1 And Isnull(id_jtva_ex) Into Cursor jtva_achizitie + Select * From jtva_temp Where JV = 1 And Isnull(id_jtva_ex) Into Cursor jtva_vanzare + Else + Select * From jtva_temp Where JC = 1 And Isnull(id_jtva_neex) Into Cursor jtva_achizitie + Select * From jtva_temp Where JV = 1 And Isnull(id_jtva_neex) Into Cursor jtva_vanzare + Endif + *!* modificare ROAGEST v 2.2.0 ^ + If Used('jtva_temp') + Use In jtva_temp + Endif + Else && adaugare 04.10.2007 + Return && adaugare 04.10.2007 + Endif + *!* modificare 21.02.2007 ^ + + If oSet.productie And !Empty(oSet.formproduc) + *!* modificare ROAPRODUCTIE v 2.0.2 : am adaugat pnInStoc,pnInCrm,pcUm + Private pnId_articol, pcDenumire, pnCant, pnId_gestiune, pcGestiune, pcCont_articol,pnInStoc,pnInCrm,pcUm, pcLot, pcSerie + Store 0 To pnId_articol, pnId_gestiune,pnInCrm + Store 1 To pnCant,pnInStoc + Store '' To pcDenumire, pcGestiune, pcCont_articol,pcUm, pcLot, pcSerie + ***--------------------------------------------------------------------------------------- + Private pnId_sectie, pcSectie, pnId_comanda, pcNr_comanda, pnValoareDecontata, pnCheltuieliDirecte + Store 0 To pnId_sectie, pnId_comanda, pnValoareDecontata, pnCheltuieliDirecte + Store '' To pcSectie, pcNr_comanda + + lcFormProductie = Alltrim(Upper(oSet.formproduc)) + loap = Createobject(lcFormProductie) + *loap = Createobject('frm_alege_prod_cant') + loap.Show(1) + *!* modificare ROAPRODUCTIE v 2.0.0 + If gnButon = 2 + Return gnButon + Endif + *!* modificare ROAPRODUCTIE v 2.0.0 ^ + Endif + + If Alltrim(Upper(LcNumeObj)) <> 'INVENTAR_STOC' + onirbon = Createobject(LcNumeObj) + If Type('onirbon.cObj') # 'U' + onirbon.cObj = lcObj + Endif + If Type('onirbon.cTip_frm') # 'U' + onirbon.cTip_frm = lcTipFrm + Endif + If Type('onirbon.cFrm_cereDate') # 'U' + onirbon.cFrm_cereDate = lcFormCereDate + Endif + + If !Inlist(Left(Alltrim(Upper(lcObj)),6), "WEBNIR","VALOAR","SCHIMB","INVENT","RESTNI") + onirbon.ct_Factura1.Visible = lFactura + onirbon.ct_factura2.Visible = lFacturaVal + onirbon.ct_Adaos1.Visible = lAdaos + onirbon.ct_Discount1.Visible = lDiscount + && daca onirbon.ct_factura2 este vizibil il trec in fata + If lFacturaVal + onirbon.ct_factura2.ZOrder(0) + Endif + && daca onirbon.ct_Discount1 este vizibil il trec in fata ( ) + If lDiscount + onirbon.ct_Discount1.ZOrder(0) + Endif + + *** INITIALIZEZ PROPRIETATILE CONTAINER STANGA + With onirbon.ct_grid_search1 + .cselect = lcSelSt + .cschema = lcSchemaSt + .cTitlu_coloane = Alltrim(ost.titlu_col) + .cNume_coloane = Alltrim(ost.nume_col) + .cMask = Alltrim(ost.mask_col) + .cWidth_coloane = Alltrim(lcWidth_coloane) + .nPornire = lnPornire + + .cFiltruOriginal = lcFiltruOrig + .cFiltru = Alltrim(ost.FILTRU) + .cOrder = Alltrim(ost.ordine) + + .cTitlu = Alltrim(ost.titlu_grid) + .cb_tx_gestout.Visible = llGestout + .CWHERE = Alltrim(ost.CWHERE) + .but_nou1.Visible = llAdMod + * .but_modifica1.VISIBLE = llAdMod + *!* modificare 03.10.2007 + If Inlist(oxset.model,4,6) && Retur + .RemoveObject([Cb_tx_gestout]) + Endif + *!* modificare 03.10.2007 ^ + Endwith + + *** INITIALIZEZ PROPRIETATILE CONTAINER DREAPTA + With onirbon.ct_grid_order1 + .cselect = lcSelDr + .cTitlu_coloane = Alltrim(odr.titlu_col) + .cNume_coloane = Alltrim(odr.nume_col) + .cMask = Alltrim(odr.mask_col) + *!* modificare v 2.0.6 + *!* modificare 15.02.2008 + *!* .cFiltruOriginal = Alltrim(odr.filtruOrig) + *!* .cFiltru = Alltrim(odr.FILTRU) + *!* .cFiltruOriginal = Evaluate(Alltrim(odr.fpfiltruOr)) + *!* .cFiltru = Evaluate(Alltrim(odr.fpFILTRU)) + *!* modificare 15.02.2008 ^ + .cFiltruOriginal = Alltrim(odr.fpfiltruOr) + .cFiltru = Alltrim(odr.FILTRU) + *!* modificare v 2.0.6 ^ + .cOrder = Alltrim(odr.ordine) + .cTitlu = Alltrim(odr.titlu_grid) + .cb_tx_gestin.Visible = llGestin + Endwith + + onirbon.osel_dr = odr + Endif + + onirbon.addproperty('lCorectie', m.llCorectie) + onirbon.addproperty('nCod', m.lnCod) + + onirbon.Show() + Endif + + Clear Class (LcNumeObj) + + && modificare 06.03 + && casa de marcat + + If buton = 1 + + If Type('glListareBonFiscal')<>'U' And glListareBonFiscal + &&E500 + && lcSirBonFiscal (explicatii) : + && 1 (vanzare);nume articol;u.m.;departament;cota tva;pret*10^2;cantitate*10^3;0 (articolul va fi vandut) + + &&MP500 + && lcSirBonFiscal (explicatii) : + && S (vanzare),nr logic,zona rezervata;Parametrii + &&Parametrii : denumire c(22);pret 99999999;cantitate 99999.999;numar departament de la 1 la 8; + && numar grupa de articole de la 1 la 99;numar grupa tva de la 1 la 8 + + If pnTipCasaMarcat=1 + lcSirBonFiscal=[] + Else + lcSirBonFiscal=[H,1,______,_,__;]+CRLF + Endif + Local lnValMp500 + + lnValMp500 = 0 + + Select rul_temp + Scan + If pnTipCasaMarcat=1 + lcSirBonFiscal=lcSirBonFiscal+[1;]+Substr(Alltrim(denumire),1,14)+[;1;2;1;]+; + ALLTRIM(Str(Round(Round(pretv,gnPPretV)+Round(tvav,gnPPretV),2)*100))+[;]++Alltrim(Str(cante*1000))+[;0]+CRLF + Else + lnValMp500 = round(Round(pretv,gnPPretV)+Round(tvav,gnPPretV),2) + *!* pnSumamp500 = pnSumamp500 + lnValMp500*cante + lcSirBonFiscal=lcSirBonFiscal+[S,1,______,_,__;]+Left(Alltrim(denumire),22)+[;]+; + ALLTRIM(Str(lnValMp500*100,8))+[;]+Alltrim(Str(cante,9,3))+[;1;1;1;0;0;]+CRLF + Endif + + Endscan + + && lcSirBonFiscal (explicatii) : + && 5 (incasare);suma achitata;0(numerar);0(moneda);0(numar card credit) + + Select actactan + *!* modificare 23.02.2007 + *!* LOCATE FOR scd='5311' + *!* IF FOUND() + *!* lnNumarBonFiscal=nract + *!* IF pnTipCasaMarcat=1 + *!* lcSirBonFiscal=lcSirBonFiscal+[5;]+ALLTRIM(STR(suma*100))+[;0;0;0]+CRLF+CRLF + *!* ENDIF + *!* ldDataBonFiscal=get_ora() + *!* ENDIF + Calculate Sum(suma) For scd='5311' To lnSuma + If lnSuma > 0 + lnNumarBonFiscal=nract + If pnTipCasaMarcat=1 + lcSirBonFiscal=lcSirBonFiscal+[5;]+Alltrim(Str(lnSuma*100))+[;0;0;0]+CRLF+CRLF + Endif + ldDataBonFiscal=get_ora() + Endif + *!* modificare 23.02.2007 ^ + Endif + + If Alltrim(LcNumeObj) = 'WEBNIR' + Select actactan + Locate For scc='371' And id_set = oSet.id_set + If Found() + lnNir = nnir + Endif + Endif + + If INLIST(Alltrim(LcNumeObj),'WEBNIR_RETETAR',"RESTNIR_RETETAR","RESTNIR_RETETAR_CUM") Or poAct.id_set = 26002 + Select actactan + Locate For scc='301' And id_set = oSet.id_set + If Found() + lnNir = nnir + Endif + Endif + + + If Alltrim(LcNumeObj) = 'INVENTAR_STOC' + *!* modificare ROAPRODUCTIE v 2.0.0 + *!* Do nota_inventar With .F., .T. In OINTRODUCERI.PRG + Private pnIdCInventar + Store 0 To pnIdCInventar + lcSql = [begin pack_inventar.adauga_inventar(] + Alltrim(Str(gnLuna)) + [,] + Alltrim(Str(gnAn)) + [,] + ; + ['] + Alltrim(poAct.gestout) + [','] + Alltrim(Str(poAct.id_gestiune)) + [|',] + Alltrim(Str(gnIdUtil)) + [,] + ; + [3,?gnIdSucursala,?@pnIdCInventar); end;] + lnSucces = goExecutor.oExecute(lcSql) + If lnSucces < 0 + amessagebox(goExecutor.oPrelucrareEroare(),16,"Eroare") + Return 2 + Else + Do vizualizeaza_inventar With pnIdCInventar In OINTRODUCERI.PRG + Endif + *!* modificare ROAPRODUCTIE v 2.0.0 ^ + Endif + + *** Modificare NIR/BON - se sterger documentului original inainte de scrierea celui nou + IF m.llCorectie + lcSql = [begin pack_contafin.sterge_document(] + ALLTRIM(STR(m.lnCod)) + [,] + ALLTRIM(STR(m.gnAn)) + [,] + ALLTRIM(STR(m.gnLuna)) + [,] + ALLTRIM(STR(gnIdUtil)) + [); end;] + llSucces = goExecutor.oExecuta(lcSql) + + buton = IIF(m.llSucces, 1, 2) + IF buton = 2 + MESSAGEBOX('Nu s-a putut sterge documentul original! Nu se va scrie nici documentul modificat!',0+48,_screen.Caption) + ENDIF + ENDIF && m.llCorectie + + ENDIF && buton = 1 + && sfarsit modificare 06.03 + + + && modificare 25.10.2006 + *!* 236, 240 = marfa pv > transfer > retur din gestiune valorica - aviz expeditie - lista preturi + *!* 241, 242 = marfa pa > transfer > retur din gestiune valorica - aviz expeditie - lista preturi + *!* modificare v 2.0.188 : am adaugat 233 + If buton = 1 And (Inlist(oSet.id_set,73,79,83,206,61,62,63,64,65, 102, 103,222,223,224,225,226,227,236,238,239,240,241,242,243,244) Or Inlist(oSet.id_set,233,252,255,256,258,259,260,261,262,267,270,272)) And oSet.model > 1 + *!* modificare 13.08.2007 + If Used('rul_temp') + Select rul_temp + Replace nract With poAct.nract,serie_Act With poAct.serie_Act All + Endif + If Used('rul_temp_obinv') + Select rul_temp_obinv + Replace nract With poAct.nract,serie_Act With poAct.serie_Act All + Endif + *!* modificare 13.08.2007 ^ + *!* 12.11.2019 poDate se initializeaza doar in initializeaza_vanzare_din_stoc() pentru vanzarea din stoc + IF TYPE('poDate') = 'U' + Private poDate + lnTip = IdSet2TipFacturare(oSet.id_set) + poDate = CREATEOBJECT("oDateFactura",oSet.id_set, m.lnTip) + ENDIF + *!* 12.11.2019 ^ + lnButon = 1 + lnSucces = oscrie_vanzare_din_stoc(oSet) && ofacturare_stoc.prg + If lnSucces < 0 + lnButon = 2 + Endif + Else + && modificare 25.10.2006 ^ + If buton = 1 And oSet.model > 1 + *!* modificare 13.08.2007 + If Used('rul_temp') + Select rul_temp + Replace nract With poAct.nract,serie_Act With poAct.serie_Act All + Endif + If Used('rul_temp_obinv') + Select rul_temp_obinv + Replace nract With poAct.nract,serie_Act With poAct.serie_Act All + Endif + *!* modificare 13.08.2007 ^ + lnButon = 1 + lnSucces = oscrie_in_fisiere(0,.F.,.T.) + If lnSucces < 0 + lnButon = 2 + Endif + *!* modificare ROAPRODUCTIE v 2.0.0 + If poAct.id_set = 26000 + If lnSucces < 0 + lcSql = [update ] + gcs + [.GEST_CENTR_INVENTAR set sters = 1, dataoras = sysdate,id_utils=?gnIdUtil where id_c_inventar =?pnIdCInventar] + Else + lcSql = [update ] + gcs + [.GEST_CENTR_INVENTAR set validat = 1, dataorav = sysdate,id_utilv=?gnIdUtil where id_c_inventar =?pnIdCInventar] + Endif + lnSucces2 = goExecutor.oExecute(lcSql) + If lnSucces2 < 0 + amessagebox(goExecutor.cEroare,0+16,"Eroare") + Endif + Release pnIdCInventar + Endif + *!* modificare ROAPRODUCTIE v 2.0.0 ^ + *!* 29.05.2010 + *!* 231 mf pret de vanzare > facturi neplatite pret de lista + *!* 247 mf pret de achizitie * > facturi neplatite pret de lista + *!* 266 mf pret de achizitie * > facturi nesosite pret de lista + llAvizTransferAutomat = IIF(oSet.id_set = 231 and ((TYPE('gnRG_AVIZ_TRANSFER_NIR6') <> 'U' and m.gnRG_AVIZ_TRANSFER_NIR6 = 1) or TYPE('gnRG_AVIZ_TRANSFER_NIR6') = 'U'), .T., ; + IIF(INLIST(oSet.id_set, 247, 266) and ((TYPE('gnRG_AVIZ_TRANSFER_NIR7') <> 'U' and m.gnRG_AVIZ_TRANSFER_NIR7 = 1) or TYPE('gnRG_AVIZ_TRANSFER_NIR7') = 'U'), .T., .F.)) + + If buton = 1 And lnSucces > 0 And Inlist(oSet.id_set, 231, 247, 266) AND m.llAvizTransferAutomat + *!* 29.05.2010 ^ + *!* 26.10.2011 + *!* daca dau renunt la transferul articolelor din nir in alta gestiune, se in actbaza2007.release se dezaloca numarul de NIR + lnOldButon = buton + Do ofactureaza.PRG + buton = lnOldButon + pnButon = lnOldButon + gnButon = lnOldButon + *!* 26.10.2011 + Endif + Else + lnButon = 2 + Endif + + lnTipGest = gnTipGest + + If lnButon # 2 And !Empty(oSet.listare) + lcProcName = Alltrim(oSet.listare) + lcParametersList = Alltrim(oSet.param2) && pcObj.nnir,gnTipGest IN oproceduri_listari + If INLIST(Left(Alltrim(LcNumeObj),6),'WEBNIR',"RESTNI") + lnNr_pag = 0 + Do Case + Case LcNumeObj = 'WEBNIR' And (oSet.id_set = 91 Or oSet.id_set = 96 Or oSet.id_set = 97 OR oSet.id_set = 106) + lnNr_pag = 5 + Do &lcProcName With lnNir, lnNr_pag In oproceduri_listari + Case LcNumeObj = 'WEBNIR' And oSet.id_set = 95 + lnNr_pag = 6 + Do &lcProcName With lnNir, lnNr_pag In oproceduri_listari + Case INLIST(LcNumeObj,'WEBNIR_RETETAR',"RESTNIR_RETETAR","RESTNIR_RETETAR_CUM") + lnNr_pag = 2 + Do listare_descarcare_productie With lnNir, lnNr_pag In oproceduri_listari + Endcase + Else + Do Case + Case LcNumeObj = 'INVENTAR_STOC' + lnNr_pag = 0 && 4 + Do &lcProcName With poAct.nract, lnNr_pag In oproceduri_listari + + If poAct.id_set = 26000 && Bon de consum cu inventar + Private pnId_gestiune, pcNumeGestiune, pnNr + pnId_gestiune = poAct.id_gestiune + pcNumeGestiune = poAct.nume_gestiune + pnNr = poAct.nract + + lcSel = [{call pack_productie.get_stoc(?gnAn, ?gnLuna, ?pnId_gestiune, ?gnIdSucursala)}] + + lcCursor = 'cStoc' + lnSucces = goExecutor.oExecute(lcSel, lcCursor) + + If lnSucces < 0 + amessagebox(goExecutor.cEroare,0+16,"Eroare") + Return + Endif + + Private pcTitlu, pcDataOra + pcTitlu = "INVENTAR la data de "+Dtoc(poAct.dataact) + pcDataOra = get_ora(2) + + Select cStoc + Report Form rap_inventariere_bon.frx To Printer Prompt Preview + + If Used('cStoc') + Use In cStoc + Endif + Endif + *!* Case poact.id_set = 26002 && Inregistrare productie si consum de materii prime + *!* lnNr_pag = 2 + *!* Do listare_descarcare_productie With lnNir, lnNr_pag In oproceduri_listari + Otherwise + Do &lcProcName With &lcParametersList && IN oproceduri_listari + Endcase + Endif + Endif + && modificare 25.10.2006 + Endif + && modificare 25.10.2006 ^ + + + && modificare 06.03 + && casa de marcat + If lnButon#2 And Type('glListareBonFiscal')<>'U' And glListareBonFiscal + If pnTipCasaMarcat=1 + imprimare_bon_fiscal(lcSirBonFiscal,ldDataBonFiscal,lnNumarBonFiscal) + Else + If Type('lcStringmp500')='C' + lcSirBonFiscal=lcSirBonFiscal+lcStringmp500 + Else + lcSirBonFiscal=lcSirBonFiscal+[T,1,______,_,__;]+CRLF+[F,1,______,_,__;]+CRLF + Endif + imprimare_bon_mp500(lcSirBonFiscal,ldDataBonFiscal,lnNumarBonFiscal) + Endif + Endif + && sfarsit modificare 06.03 + + Use In (Select('actactan')) + Use In (Select('rul_temp')) + Use In (Select('rul_temp_obinv')) + Use In (Select('jtva_achizitie')) + Use In (Select('jtva_vanzare')) + Use In (Select('crsconfigcvc')) + Use In (Select('crsGestSelectiiUtilizator')) + + *!* modificare ROAPRODUCTIE v 2.0.2 + If oSet.productie And !Empty(oSet.formproduc) + Release pnId_articol, pcDenumire, pnCant, pnId_gestiune, pcGestiune, pcCont_articol,pnInStoc,pnInCrm,pcUm, pcLot, pcSerie + ENDIF + *!* modificare ROAPRODUCTIE v 2.0.2 ^ + + Release oSet + Release ost + Release odr + + Return lnButon + + ********* SFARSIT: lans_Nir_Bon *********** + + **************************************************************************************************** +Function IsNIRBONPretCuTVA + Lparameters tnIdSet + Local llNIRBONPretCuTVA + &&23.10.2008 adaugat 248 - bilete ratc in gestiunea hibrid + llNIRBONPretCuTVA = Iif(Inlist(tnIdSet, 234,248),.T.,.F.) && NIR BILETE RATC + + Return llNIRBONPretCuTVA +Endfunc && IsNIRBONPretCuTVA +**************************************************************************************************** + +********* INCEPUT: aleg_facturi_pt_retur *********** +Procedure aleg_facturi_pt_retur + Parameters tnIdPart,tcCont,tcTitlu,tcCursor + + If Empty(tcTitlu) + lcTitlu = [Facturi emise] + Else + lcTitlu = Upper(Alltrim(tcTitlu)) + Endif + + *** aflu numele partenerului + *!* lcNumePart='' + + *!* lcSel = [select nume from ] + gcs + [.vnom_parteneri where id_part = ?tnIdPart] + *!* lccursor = [crsNumePart] + *!* lnsucces = goExecutor.oExecute(lcSel,lccursor) + *!* IF lnsucces < 0 + *!* lcmesaj = goExecutor.cEroare + *!* ofrm_er = CREATEOBJECT('frm_mesaj','Eroare','exclam.ico','Avertizare',lcmesaj) + *!* ofrm_er.show(1) + *!* RELEASE ofrm_er + *!* ENDIF + *!* SELECT crsNumePart + *!* LOCATE + *!* lcNumePart = ALLTRIM(nume) + *!* USE IN crsNumePart + + *** perioada din luna curenta + pdDataI = Ctod('01/' + pcNl + '/' + pcAn) + pdDataF = ultimazi(pcAn,pcNl) + + lcSel = [{call facturi_emise(?gcS,?tcCont,?tnIdPart,?pdDataI,?pdDataF)}] + lcSchema = [''] &&['ceck n(1),totdebit n(16,gnPa),totcredit n(16,gnPa),id_fact n(10),id_part n(10),nume c(50),dataact D,dataireg D,nract n(14),datascad D,cont c(4),acont c(4)'] + lcCursor = Iif(!Empty(tcCursor),Alltrim(tcCursor),'crs_facturi_emise') + lnSucces = goExecutor.oExecute(lcSel,lcCursor) + + If lnSucces < 0 + amessagebox(goExecutor.cEroare,0+16,"Eroare") + Return + Endif + + ofact = Createobject('facturi_retur') + With ofact.ct_grid_order1 + .cselect = lcSel + .cschema = lcSchema + .cTitlu_coloane = [Alege,Serie factura,Nr.factura,Data factura,Data scadenta,Cont,Analitic,Total cu TVA,Achitat,Sold] + .cNume_coloane = [ceck;serie_act;nract;dataact;datascad;cont;acont;totdebit;totcredit;totdebit-totcredit] + .cFiltruOriginal = [] + .cFiltru = [] + .cOrder = [dataact] + .cTitlu = [Client: ] + lcTitlu + .cnrcoloane_check = [1] + .cnumeCursor = lcCursor + .lmodparam = .T. + Endwith + + ofact.Show(1) + + Select (lcCursor) + lcFacturiAlese = [] + Select (lcCursor) + Scan For ceck = 1 + lcFacturiAlese = lcFacturiAlese + [,] + Alltrim(Str(id_fact)) + Endscan + lcFacturiAlese = Substr(lcFacturiAlese,2) + If Used(lcCursor) + Use In (lcCursor) + Endif + + Return lcFacturiAlese +Endproc +********* SFARSIT: aleg_facturi_pt_retur *********** + +********* INCEPUT: lista_inventar *********** +Procedure lista_inventar + Lparameters tnTip + Local lcSelect, lcFiltru, lcSchema, lcOrder, llAfisare, lcgroup, llModParam, lcFiltruOriginal + Local llAfiseaza + Private poInventare + poInventare = Null + + lcSchema = [id_c_inventar n(20),data_inventar t,id_util n(10),an n(4),luna n(2), ] + ; + [descriere c(240),validat n(1),dataorav t,id_utilv n(10),util c(240),utilv c(240), tip n(2), ] + ; + [id_sucursala n(5), sucursala c(100), nract n(14), nnir n(14), id_fact n(20), ] + ; + [id_gestiuni M, id_subgrupe_articole M, id_articole M] + + lcSelect = [select id_c_inventar,data_inventar,id_util,an,luna, ] + ; + [descriere,validat,dataorav,id_utilv,util,utilv,tip,id_sucursala,sucursala, nract, nnir, id_fact, id_gestiuni, id_subgrupe_articole, id_articole ] + ; + [ from vgest_centr_inventar] + lcFiltru = [an*12+luna <= ] + ALLTRIM(STR(m.gnAn*12+m.gnLuna)) + lcOrder = [2 desc] + llAfisare=.F. + lcgroup = [] + llModParam = .T. + *!* modificare ROAVIN v 2.0.0 + *!* lcFiltruOriginal = Iif(!Empty(gcCondSucursala), Substr(gcCondSucursala,6), []) + lcFiltruOriginal = Substr(gcCondSucursala + Iif(!Empty(tnTip),[ and tip = ] + Alltrim(Str(tnTip)),[]),6) + *!* modificare ROAVIN v 2.0.0 ^ + gencursor('poInventare','crsinventare',lcSelect, lcFiltru, lcSchema, lcOrder, llAfisare, lcgroup, llModParam, lcFiltruOriginal) + poInventare.ca_baza1.afisare() + *!* modificare ROAVIN v 2.0.0 + *!* loFrmInventare = Createobject('frm_inventar_centralizator') + loFrmInventare = Createobject('frm_inventar_centralizator',tnTip) + *!* modificare ROAVIN v 2.0.0 ^ + loFrmInventare.Show(1) + Use In (Select('crsInventare')) + Release loFrmInventare,poInventare +Endproc && lista_inventar +********* SFARSIT: lista_inventar *********** + +********* INCEPUT: vizualizeaza_inventar *********** +Procedure vizualizeaza_inventar + Lparameters tnIdCInventar, tlCorectie + *** tlCorectie: .T. daca inventarul este validat si se doreste corectarea lui + + LOCAL llCorectie + llCorectie = IIF(PCOUNT() >=2, tlCorectie, .F.) + + Local llBonConsum, llObinvent, llInventarROAVin,llMagazin + Local lcSelect, lcFiltru, lcSchema, lcOrder, llAfisare, lcgroup, llModParam, lcFiltruOriginal + Local lnValidat, lnTip, ldDataInventar + lnValidat = 0 + lnTip = 1 + + Local llCreareGeneratorNumere + *!* 15.06.2010 + Private pdDataRef, pdDataInceputInventar, pdDataSfarsitInventar, pnNract, pnNnir, pdDataNotaInventar, pcTextLunaAn, pcChiosc, pcTextLunaAnNecompletat + PRIVATE pnIdFact, pnCod,pnIdInventar + pnCod = 0 + pnIdFact = 0 + pnNract = 0 + pnNnir = 0 + pdDataNotaInventar = {} + pcTextLunaAn = '' + pcTextLunaAnNecompletat = '' + pcChiosc = '' + + *!* 15.06.2010 ^ +*!* 12.01.2015 + pnIdInventar = tnIdCInventar +*!* 12.01.2015 ^ + + llCreareGeneratorNumere = .F. + If Type('poGeneratorNumere') = 'U' + Private poGeneratorNumere + poGeneratorNumere = Createobject('oGeneratorNumere') + llCreareGeneratorNumere = .T. + Endif + + *!* 16.06.2010 + lcSql = "select validat, dataorav, tip, id_gestiuni, descriere, optiuneinventar, numarluni, data_inventar, id_fact, nract, nnir, dataact from VGEST_CENTR_INVENTAR where id_c_inventar=?pnIdInventar" + lcCursor = 'crsGestCentrInventarTemp' + lnSucces = goExecutor.oExecute(m.lcSql, m.lcCursor) + If lnSucces < 0 + amessagebox(goExecutor.cEroare,0+16,"Eroare") + Return + ENDIF + + *!* 21.12.2011 + *** trebuie act.cod pentru nota de completare din inventarul de corectie + pnIdFact = NVL(crsGestCentrInventarTemp.id_fact, 0) + IF m.llCorectie +*!* lnSucces = goExecutor.oSelect2Value("SELECT MAX(cod) FROM act WHERE an = ?gnAn and luna = ?gnLuna and id_fact = ?pnIdFact", @pnCod) + lnSucces = goExecutor.oSelect2Value("SELECT MAX(cod) FROM act WHERE an = " + ALLTRIM(STR(m.gnAn)) + " and luna = " + ALLTRIM(STR(m.gnLuna)) + " and id_fact = " + ALLTRIM(STR(m.pnIdFact)), @pnCod) + IF m.lnSucces < 0 + amessagebox(goExecutor.cEroare,0+16,"Eroare") + Return + ENDIF + ENDIF + *!* 21.12.2011 ^ + + Select crsGestCentrInventarTemp + lnValidat = Validat + lnTip = tip + lcId_gestiuni = Alltrim(id_gestiuni) + lcDescriere = Alltrim(descriere) + lnOptiuneInventar = optiuneinventar + ldDataInventar = data_inventar + pdDataRef = data_inventar + pdDataInceputInventar = data_inventar + pdDataSfarsitInventar = dataorav + pnNract = nract + pnNnir = nnir + pdDataNotaInventar = dataact + pcChiosc = ALLTRIM(NVL(descriere,'')) + pcTextLunaAn = 'Luna contabila ' + PADL(allt(str(m.gnLuna)),2, '0') + '/' + allt(str(m.gnAn)) + ; + ' Inventar ' + transform(m.pdDataInceputInventar)+ ; + IIF(!EMPTY(NVL(m.pdDataSfarsitInventar,{})), ' - ' + transform(m.pdDataSfarsitInventar), '') + ; + IIF(!EMPTY(m.lcDescriere), ' | ' + m.lcDescriere , '') + ; + IIF(!EMPTY(NVL(m.pnNract, 0)), ' | Nr. doc. ' + alltrim(str(pnNract)),'') + ; + IIF(!EMPTY(NVL(m.pnNnir,0)), ' | Nr. bon ' + alltrim(str(pnNnir)),'') + ; + IIF(!EMPTY(NVL(m.pdDataNotaInventar,{})), ' | Data doc. ' + transform(m.pdDataNotaInventar), '') + + pcTextLunaAnNecompletat = 'Luna contabila ' + PADL(allt(str(m.gnLuna)),2, '0') + '/' + allt(str(m.gnAn)) + ; + IIF(!EMPTY(m.lcDescriere), ' | ' + m.lcDescriere , '') && fara data inceput inventar si numar/data bon, se poate lista si ulterior, la contabilitate si nu trebuie data generarii inventarului + + Use In (Select('crsGestCentrInventarTemp')) + *!* 16.06.2010 ^ + + llBonConsum = lnTip = 3 + llObinvent = lnTip = 2 + llInventarROAVin = lnTip = 4 + llMagazin = lnTip = 5 + + lcNumeCursor = 'crs_inventar' + *!* 31.01.2011 + IF llInventarROAVin + lcSelect = [SELECT ID_INVENTAR,ID_ARTICOL,ID_GESTIUNE,STOC_FAPTIC,PRET,PRETV,TVA,TVAV,CANTS,CANT,CANTE,CONT,PRETD,ACONT,DATAIN,DATAOUT,PROC_TVAV,ID_STOC,DATA_REFERINTA,ID_RESPONSABIL,DATAPIF,DNS_LUNI,DNS_LUNI_FAPTIC,UZURA_FAPTIC,DNS_RAMAS,STOC_SCRIPTIC,DEPRECIERE, ] + ; + [MOTIV_DEPRECIERE,ID_UTIL,SERIE,PRET_UNITAR,DENUMIRE,CODMAT,UM,DNF,ID_GRUPA,ID_SUBGRUPA,GRUPA,SUBGRUPA,CGEST,NUME_GESTIUNE,NR_PAG,UTILIZATOR,ID_MESERIA,ID_FORMATIA,DATAANG,DATALIC,DATA_EXPIRARE,ID_RUL_AUX,ID_PART_REZ,ID_LUCRARE_REZ,ID_CATEG_CALITATE, ] + ; + [ID_VIN_STADIU,ID_VENCHELT,CATEGORIE_CALITATE,CANT_ZAHAR,GRADE_ALCOOL,POTENTIAL,AN_PROD,ACRONIM,STADIU,EXPLICATIE,ID_VALUTA,VALUTA,LOT,ADATA_EXPIRARE,ID_C_INVENTAR,ID_SUCURSALA,PRETCTVAV, ] + ; + [VALIDAT, DATAORA_VALIDAT, ID_FURNIZOR, FURNIZOR, DATAORA ] + ; + [FROM vvin_gest_inventar] + + lcSchema = [ID_INVENTAR N(20) NOT NULL,ID_ARTICOL N(10) NOT NULL,ID_GESTIUNE N(5) NOT NULL,STOC_FAPTIC N(14,3) NOT NULL,PRET N(16,4) NOT NULL,PRETV N(16,4) NOT NULL,TVA N(16,4) NOT NULL,TVAV N(16,4) NOT NULL,CANTS N(14,3) NOT NULL,CANT N(14,3) NOT NULL, ] + ; + [CANTE N(14,3) NOT NULL,CONT V(4) NULL,PRETD N(16,4) NOT NULL,ACONT V(4) NULL,DATAIN T NULL,DATAOUT T NULL,PROC_TVAV N(5,2) NOT NULL,ID_STOC N(10) NOT NULL,DATA_REFERINTA T NULL,ID_RESPONSABIL N(10) NULL,DATAPIF T NULL,DNS_LUNI N(10) NOT NULL, ] + ; + [DNS_LUNI_FAPTIC N(10) NULL,UZURA_FAPTIC N(3) NULL,DNS_RAMAS N(10) NOT NULL,STOC_SCRIPTIC N(14,3) NULL,DEPRECIERE N(16,4) NOT NULL,MOTIV_DEPRECIERE V(50) NULL,ID_UTIL N(5) NOT NULL,SERIE V(100) NULL,PRET_UNITAR N(16, 4) NULL,DENUMIRE V(100) NULL, ] + ; + [CODMAT V(50) NULL,UM V(10) NULL,DNF N(5) NULL,ID_GRUPA N(5) NULL,ID_SUBGRUPA N(5) NULL,GRUPA V(100) NULL,SUBGRUPA V(100) NULL,CGEST V(20) NULL,NUME_GESTIUNE V(50) NULL,NR_PAG N(2) NULL,UTILIZATOR V(30) NULL,ID_MESERIA N(5) NULL,ID_FORMATIA N(5) NULL, ] + ; + [DATAANG T NULL,DATALIC T NULL,DATA_EXPIRARE T NULL,ID_RUL_AUX N(10) NULL,ID_PART_REZ N(10) NULL,ID_LUCRARE_REZ N(10) NULL,ID_CATEG_CALITATE N(10) NULL,ID_VIN_STADIU N(10) NULL,ID_VENCHELT N(10) NULL,CATEGORIE_CALITATE V(100) NULL,CANT_ZAHAR N(18, ] + ; + [4) NULL,GRADE_ALCOOL N(18,4) NULL,POTENTIAL N(18,4) NULL,AN_PROD N(4) NULL,ACRONIM V(15) NULL,STADIU V(50) NULL,EXPLICATIE V(200) NULL,ID_VALUTA N(5) NULL,VALUTA V(10) NULL,LOT V(20) NULL,ADATA_EXPIRARE T NULL,ID_C_INVENTAR N(20) NULL, ] + ; + [ID_SUCURSALA N(5) NULL,PRETCTVAV N(20,4) NULL, VALIDAT N(1) NULL, DATAORA_VALIDAT T NULL, ID_FURNIZOR I, FURNIZOR C(100), DATAORA T ] +* lcSchema = "" + ELSE + lcSelect = [SELECT ID_INVENTAR,ID_ARTICOL,ID_GESTIUNE,STOC_FAPTIC,STOC_FAPTIC1,STOC_FAPTIC2,STOC_FAPTIC3,STOC_FAPTIC4,STOC_FAPTIC5,PRET,PRETV,TVA,TVAV,CANTS,CANT,CANTE,CONT,PRETD,ACONT,DATAIN,DATAOUT,PROC_TVAV,ID_STOC,DATA_REFERINTA,ID_RESPONSABIL,DATAPIF,DNS_LUNI, ] + ; + [DNS_LUNI_FAPTIC,UZURA_FAPTIC,DNS_RAMAS,STOC_SCRIPTIC,DEPRECIERE,MOTIV_DEPRECIERE,PRET_UNITAR,DENUMIRE,CODMAT,CODBARE,UM,DNF,ID_GRUPA,ID_SUBGRUPA,GRUPA,SUBGRUPA,CGEST,NUME_GESTIUNE,ID_UTIL,NR_PAG,UTILIZATOR,RESPONSABIL,ID_MESERIA,MESERIE,ID_FORMATIA, ] + ; + [FORMATIA,DATAANG,DATALIC,DATA_EXPIRARE,ID_RUL_AUX,SERIE,ID_VALUTA,VALUTA,ID_PART_REZ,ID_LUCRARE_REZ,PART_REZ,NRORD_REZ,LOT,ADATA_EXPIRARE,ID_C_INVENTAR,ID_SUCURSALA,ID_SUCURSALA_GESTIUNE,PRETCTVAV,ID_SECTIE,SECTIE,FIRST_UPDATED_AT, ] + ; + [VALIDAT, DATAORA_VALIDAT, ID_FURNIZOR, FURNIZOR, DATAORA ] + ; + [FROM vgest_inventar] + + lcSchema = [ID_INVENTAR N(20) NOT NULL,ID_ARTICOL N(10) NOT NULL,ID_GESTIUNE N(5) NOT NULL,STOC_FAPTIC N(14,3) NOT NULL,STOC_FAPTIC1 N(14,3) NOT NULL,STOC_FAPTIC2 N(14,3) NOT NULL,STOC_FAPTIC3 N(14,3) NOT NULL,STOC_FAPTIC4 N(14,3) NOT NULL,STOC_FAPTIC5 N(14, ] + ; + [3) NOT NULL,PRET N(16,4) NOT NULL,PRETV N(16,4) NOT NULL,TVA N(16,4) NOT NULL,TVAV N(16,4) NOT NULL,CANTS N(14,3) NOT NULL,CANT N(14,3) NOT NULL,CANTE N(14,3) NOT NULL,CONT V(4) NULL,PRETD N(16,4) NOT NULL,ACONT V(4) NULL,DATAIN T NULL, ] + ; + [DATAOUT T NULL,PROC_TVAV N(5,2) NOT NULL,ID_STOC N(10) NOT NULL,DATA_REFERINTA T NULL,ID_RESPONSABIL N(10) NULL,DATAPIF T NULL,DNS_LUNI N(10) NOT NULL,DNS_LUNI_FAPTIC N(10) NULL,UZURA_FAPTIC N(3) NULL,DNS_RAMAS N(10) NOT NULL,STOC_SCRIPTIC N(14,3) NULL, ] + ; + [DEPRECIERE N(16,4) NOT NULL,MOTIV_DEPRECIERE V(50) NULL,PRET_UNITAR N(16,4) NULL,DENUMIRE V(100) NULL,CODMAT V(50) NULL,CODBARE V(50) NULL,UM V(10) NULL,DNF N(5) NULL,ID_GRUPA N(5) NULL,ID_SUBGRUPA N(5) NULL,GRUPA V(100) NULL,SUBGRUPA V(100) NULL, ] + ; + [CGEST V(20) NULL,NUME_GESTIUNE V(50) NULL,ID_UTIL N(5) NOT NULL,NR_PAG N(2) NULL,UTILIZATOR V(30) NULL,RESPONSABIL V(70) NULL,ID_MESERIA N(5) NULL,MESERIE V(64) NULL,ID_FORMATIA N(5) NULL,FORMATIA V(64) NULL,DATAANG T NULL,DATALIC T NULL, ] + ; + [DATA_EXPIRARE T NULL,ID_RUL_AUX N(10) NULL,SERIE V(100) NULL,ID_VALUTA N(5) NULL,VALUTA V(10) NULL,ID_PART_REZ N(10) NULL,ID_LUCRARE_REZ N(10) NULL,PART_REZ V(70) NULL,NRORD_REZ V(100) NULL,LOT V(20) NULL,ADATA_EXPIRARE T NULL, ] + ; + [ID_C_INVENTAR N(20) NULL,ID_SUCURSALA N(5) NULL,ID_SUCURSALA_GESTIUNE N(10) NULL,PRETCTVAV N(20,4) NULL,ID_SECTIE N(5) NULL,SECTIE V(50) NULL,FIRST_UPDATED_AT T NULL, VALIDAT N(1) NULL, DATAORA_VALIDAT T NULL, ID_FURNIZOR I, FURNIZOR C(100), DATAORA T ] +* lcSchema = "" + ENDIF + *!* 31.01.2011 ^ + lcFiltru= [] && + Iif(glEMama,[ and id_sucursala is null],gcCondSucursala) + lcOrder = [denumire] + llAfisare = .F. + llModParam = .T. + lcgroup = [] + lcFiltruOriginal = [id_c_inventar = ] + Alltrim(Str(tnIdCInventar)) + + If Used(lcNumeCursor) + Use In &lcNumeCursor + Endif + Private podecabaza + podecabaza = '' + gencursor('podecabaza',lcNumeCursor,lcSelect, lcFiltru, lcSchema, lcOrder, llAfisare, lcgroup, llModParam, lcFiltruOriginal) + podecabaza.ca_baza1.afisare() + gnButon = 2 + + +*!* lnData = 12*gnAn + gnLuna +*!* lcSel = [Select MAX(data_referinta) as data_referinta from ] + gcs + [.gest_inventar where 12*extract(YEAR from data_referinta) +extract(MONTH from data_referinta) <=?lnData] + +*!* lcSchema = [''] +*!* lcCursor = [crs_data] +*!* lnSucces = goExecutor.oExecute(lcSel,lcCursor) +*!* If lnSucces < 0 +*!* amessagebox(goExecutor.cEroare,0+16,"Eroare") +*!* Endif +*!* pdDataRef = data_referinta +*!* If Used('crs_data') +*!* Use In crs_data +*!* Endif +*!* modificare ROAVIN v 2.0.1 ( 19.05.2011 ) + If update_corespondente_cvc() < 0 + Return + Endif + +*!* modificare ROAVIN v 2.0.1 ( 19.05.2011 ) ^ + Select crs_inventar + lnid_c_inventar=id_c_inventar + oInventar = Createobject('inventar_stoc',tnIdCInventar) + oInventar.ocursor = podecabaza + oInventar.cnumeCursor = lcNumeCursor + *!* modificare v 2.2.6 + oInventar.cId_gestiuni = iif(!empty(nvl(lcId_gestiuni,'')),left(Strtran(lcId_gestiuni,[|],[,]),len(lcId_gestiuni)-1),'') + *!* modificare v 2.2.6 ^ + oInventar.cFiltruOriginal = lcFiltru + oInventar.lObinv = llObinvent + oInventar.lBonConsum = llBonConsum + oInventar.lInventarROAVin = llInventarROAVin + oInventar.lValidat = lnValidat = 1 + oInventar.lCorectie = m.llCorectie + oInventar.lMagazin = llMagazin + oInventar.dDataInventar = ldDataInventar + oInventar.nCod = m.pnCod + oInventar.nIdFact = m.pnIdFact + +*!* If lnValidat = 1 AND !m.llCorectie +*!* oInventar.but_nou1.Visible = .F. && adaugare +*!* oInventar.but_termin1.Visible = .F. +*!* oInventar.but_sterge1.Visible = .F. && stergere +*!* Endif + oInventar.Show() + + + If !llBonConsum And gnButon = 1 + lnSucces = oscrie_in_fisiere(0,.F.,.T.) + If lnSucces < 0 + If Type([_Screen.nId_tipdoc]) = 'N' And !Empty(_Screen.nid_tipdoc) + poGeneratorNumere.dezaloca_numar(_Screen.nid_tipdoc) + Endif + ELSE + *!* 15.06.2010 + pnIdFact = 0 + lnSucces = goExecutor.oFunction2Value("pack_contafin.GET_IDFACT()", @pnIdFact) + If lnSucces < 0 + amessagebox(goExecutor.cEroare,0+16,"Eroare") + Endif + + TEXT TO lcSql NOSHOW + begin + update GEST_CENTR_INVENTAR set validat = 1, id_fact = ?pnIdFact, dataorav = sysdate, id_utilv = ?gnIdUtil where id_c_inventar = ?lnid_c_inventar; + update gest_inventar set validat = 1, dataora_validat = sysdate where id_c_inventar = ?lnid_c_inventar AND validat = 0 ; + end; + ENDTEXT +*!* lcSql = [update GEST_CENTR_INVENTAR set validat = 1, id_fact = ?pnIdFact, dataorav = sysdate, id_utilv=?gnIdUtil where id_c_inventar = ] + ALLTRIM(STR(lnid_c_inventar)) + + lnSucces = goExecutor.oExecute(lcSql) + If lnSucces < 0 + amessagebox(goExecutor.cEroare,0+16,"Eroare") + Endif + Endif + Endif + If llCreareGeneratorNumere + Release poGeneratorNumere + Endif + *!* modificare 23.10.2012 + Use In (Select(lcNumeCursor)) + Use In (Select('rul_temp')) + Use In (Select('rul_temp_obinv')) + Use In (Select('actactan')) + *!* modificare 23.10.2012 ^ +*!* modificare ROAVIN v 2.0.1 ( 19.05.2011 ) + Use In (Select('crsconfigcvc')) +*!* modificare ROAVIN v 2.0.1 ( 19.05.2011 ) ^ +Endproc && vizualizeaza_inventar +********* SFARSIT: vizualizeaza_inventar *********** + +********* INCEPUT: nota_inventar *********** +Procedure nota_inventar + Parameters tlObinvent, tlBonConsum, tlInventarROAVin + + && tlBonConsum - RoaProductie - bon consum productie + + Private pdDataRef, tnRefacInventar + Local llCallProc,crsUtilNev + Store .F. To llCallProc + Store 0 To tnRefacInventar + + *!* modificare serii numere - 10.2007 + Local llCreareGeneratorNumere + llCreareGeneratorNumere = .F. + If Type('poGeneratorNumere') = 'U' + Private poGeneratorNumere + poGeneratorNumere = Createobject('oGeneratorNumere') + llCreareGeneratorNumere = .T. + Endif + *!* modificare serii numere - 10.2007 ^ + + If tlObinvent + lcCondSpec = [cont = ?gcContObInv ] + Iif(glEMama,[and id_sucursala is null],gcCondSucursala) + Else + lcCondSpec = [cont <> ?gcContObInv ] + Iif(glEMama,[and id_sucursala is null],gcCondSucursala) + Endif + + If !tlBonConsum + + lnData = 12*gnAn + gnLuna + lcSel = [Select MAX(data_referinta) as data_referinta from ] + gcs + [.gest_inventar ] + ; + [where 12*extract(YEAR from data_referinta) +extract(MONTH from data_referinta) <=?lnData ] + ; + [and validat = 0 and ] + lcCondSpec + lcSchema = [''] + lcCursor = [crs_data] + lnSucces = goExecutor.oExecute(lcSel,lcCursor) + If lnSucces < 0 + amessagebox(goExecutor.cEroare,0+16,"Eroare") + Endif + + If lnSucces > 0 + Select crs_data + Locate + pdDataRef = data_referinta + If Used('crs_data') + Use In crs_data + Endif + If !Isnull(pdDataRef) + + lcSel = [select distinct id_util,utilizator,validat from vgest_inventar ] + ; + [where id_util != 0 and validat = 0 ] + Iif(glEMama,[and id_sucursala is null],gcCondSucursala) + lcSchema = [''] + lccrsUtilizatori="crsUtilNev" + lnSucces = goExecutor.oExecute(lcSel,lccrsUtilizatori) + If lnSucces < 0 + amessagebox(goExecutor.cEroare,0+16,"Eroare") + Endif + lnNrUtilNev=0 + lcListaUtilNev="" + If Reccount("&lccrsUtilizatori")>0 + lnNrUtilNev = Reccount("&lccrsUtilizatori") + Select &lccrsUtilizatori + + Scan + lcListaUtilNev=lcListaUtilNev + Alltrim(&lccrsUtilizatori..utilizator) + "," + Endscan + + lcListaUtilNev=Substr(lcListaUtilNev,1,Len(lcListaUtilNev)-1) + + Endif + + If lnNrUtilNev =0 + lnRaspuns = amessagebox("Doriti sa continuati inventarierea stocului la " + Dtoc(pdDataRef) + "?" , 4+32, "Inventariere") + Else + lnRaspuns = amessagebox("Doriti sa continuati inventarierea stocului la " + Dtoc(pdDataRef) + "?" + CRLF + ; + "ATENTIE! Daca se incepe o inventariere noua se vor suprascrie modificarile nevalidate ale utilizatorilor : " + lcListaUtilNev + "!", 4+32, "Inventariere") + Endif + + *!* If buton = 2 && NU + If lnRaspuns # 6 + llCallProc = .T. + Endif + Else + llCallProc = .T. + Endif + Endif + Else + llCallProc = .T. + Endif + + If llCallProc And lnSucces > 0 + tnRefacInventar = 1 + pdDataRef = ultima_zi_din_luna(gnAn, gnLuna) + *oCere = CREATEOBJECT('frm_cere_titlu','Data de referinta:','pdDataRef') + *oCere.SHOW() + + Do While pdDataRef > ultima_zi_din_luna(gnAn, gnLuna) + amessagebox('Data trebuie sa fie din luna curenta!',0,'Atentie') + pdDataRef = ultima_zi_din_luna(gnAn, gnLuna) + * oCere = CREATEOBJECT('frm_cere_titlu','Data de referinta:','pdDataRef') + * oCere.SHOW() + Enddo + + Endif + + If lnSucces > 0 + If tlObinvent + pnObinv = 1 + Else + pnObinv = 0 + Endif + + lcSel = [{call inventar_stoc(?tnRefacInventar, ?gcS, TO_DATE(']+Dtos(pdDataRef)+[','YYYY-MM-DD'),] + ; + [?pnObinv, ?gnIdSucursala)}] + * lcSel = [{call inventar_stoc(?tnRefacInventar, ?gcS, ?pdDataRef, ?pnObinv)}] + lcSchema = [''] + *!* lcCursor ='crs_inventar' + *!* lnSucces = goExecutor.oExecute(lcSel,lcCursor) + lnSucces = goExecutor.oExecute(lcSel) + If lnSucces < 0 + amessagebox(goExecutor.cEroare,0+16,"Eroare") + Endif + Endif + + If lnSucces > 0 + lcNumeCursor = 'crs_inventar' + lcSelect = [select * from ] + Iif(tlInventarROAVin,[vvin_gest_inventar],[vgest_inventar]) + [ where 1=2] + If tlBonConsum + lcFiltru = [id_gestiune=]+Alltrim(Str(poAct.id_gestiune)) + [ and data_referinta = ?pdDataRef and ] + lcCondSpec + Else + lcFiltru = [data_referinta = ?pdDataRef and ] + lcCondSpec + Endif + lcSchema = [] + lcOrder = [denumire] + llAfisare = .F. + llModParam = .F. + + If Used(lcNumeCursor) + Use In &lcNumeCursor + Endif + Private podecabaza + podecabaza = '' + + gencursor('podecabaza',lcNumeCursor,lcSelect,[2=2],lcSchema,lcOrder,llAfisare,'',llModParam,lcFiltru) + podecabaza.ca_baza1.afisare() + + gnButon = 2 + + *!* modificare serii numere - 10.2007 + *!* If Pemstatus(_Screen,'nIdSerie',5) + *!* _Screen.nIdSerie = 0 + *!* Endif + *!* modificare serii numere - 10.2007 ^ + + Select crs_inventar + oInventar = Createobject('inventar_stoc') + oInventar.ocursor = podecabaza + oInventar.cnumeCursor = lcNumeCursor + oInventar.cFiltruOriginal = lcFiltru + oInventar.lObinv = tlObinvent + oInventar.lBonConsum = tlBonConsum + oInventar.lInventarROAVin = tlInventarROAVin + oInventar.Show() + If !tlBonConsum And gnButon = 1 + lnSucces = oscrie_in_fisiere(0,.F.,.T.) + If lnSucces < 0 + *!* modificare serii numere - 10.2007 + If Type([_Screen.nId_tipdoc]) = 'N' And !Empty(_Screen.nid_tipdoc) + poGeneratorNumere.dezaloca_numar(_Screen.nid_tipdoc) + Endif + *!* If Pemstatus(_Screen,'nIdSerie',5) + *!* lnIdSerieBon = Str(_Screen.nIdSerie) && il salvez in item.when + *!* If Type('lnIdSerieBon') = 'N' + *!* lcSql = [update ] + gcs + [.serii_numere set alocat = 0 where ] +; + *!* [ id_numar = ?lnIdSerieBon] + *!* lnSucces = goExecutor.oExecute(lcSql) + *!* If lnSucces < 0 + *!* lcTitlu = [Eroare] + *!* lcTip = [Avertizare] + *!* lcImagine = [exclam.ico] + *!* lcMesaj = goExecutor.cEroare + *!* ofrm_eroare = Createobject('frm_mesaj',lcTitlu,lcImagine,lcTip,lcMesaj) + *!* ofrm_eroare.Show(1) + *!* Release ofrm_eroare + *!* Endif + *!* Endif + *!* Endif + *!* modificare serii numere - 10.2007 ^ + Else + + lcSql = [update ] + gcs + [.gest_inventar set validat = 1, dataora_validat = pack_contafin.GET_DATAORA() ] + ; + [where data_referinta = ?pdDataRef and stoc_faptic <> cants+cant-cante and validat = 0 ] + ; + [AND id_util = ?gnIdUtil] + Iif(glEMama,[ and id_sucursala is null],gcCondSucursala) + lnSucces = goExecutor.oExecute(lcSql) + If lnSucces < 0 + amessagebox(goExecutor.cEroare,0+16,"Eroare") + Endif + Endif + endif + *!* modificare 23.10.2012 + Use In (lcNumeCursor) + *!* modificare 23.10.2012 ^ + Endif + + *!* modificare serii numere - 10.2007 + If llCreareGeneratorNumere + Release poGeneratorNumere + Endif + *!* modificare serii numere - 10.2007 ^ + +Endproc && nota_inventar +********* SFARSIT: nota_inventar *********** + +********* INCEPUT: achizitie_import *********** +Procedure achizitie_import + Parameters tnIdSet, tlIntern + + Local I + Private pnIdSet + pnIdSet = tnIdSet + If Empty(pnIdSet) + Return + Endif + If Type('poGeneratorNumere') = 'U' + Private poGeneratorNumere + poGeneratorNumere = Createobject('oGeneratorNumere') + llCreareGeneratorNumere = .T. + Endif + + lnButon = lans(pnIdSet) + + If lnButon = 2 + If Used('actactan') + Use In actactan + Endif + Return + Endif + + Select actactan + Locate + Scatter Name poAct + Zap + + If Used('introdc') + Use In introdc + Endif + lcSql = [select id_note, explicatie as explicatia, scd, ascd, scc, ascc, cu_tva, id_set, ordine, in_valuta, id_jtva_coloana, ptva, explicatie_tva, tipjurnal,taxcode,paymentcode from vnote_contabile ] + ; + [where id_set = ?pnIdSet] + lcCursor = [cnote_contabile] + lnSucces = goExecutor.oExecute(lcSql,lcCursor) + If lnSucces < 0 + amessagebox(goExecutor.cEroare,0+16,'Eroare') + Return + Endif + + DO CASE + CASE m.gnAn < 2017 + * In 2016 lucrez cu TVA 20%. Transform TVA din 19% in 20% + * Ach int 20% + update cnote_contabile set ptva = 20, id_jtva_coloana = 176, explicatie_tva = 'ACH. INT. 20%' where INLIST(id_jtva_coloana, 101, 103, 105) && 19% + update cnote_contabile set ptva = 20, id_jtva_coloana = 177, explicatie_tva = 'TVA ACH. INT. 20%' where INLIST(id_jtva_coloana, 102, 104, 106) && 19% + + update cnote_contabile set ptva = 20, id_jtva_coloana = 178, explicatie_tva = 'ACH. INT. NEEX. 20%' where id_jtva_coloana = 188 + update cnote_contabile set ptva = 20, id_jtva_coloana = 179, explicatie_tva = 'TVA ACH. INT. NEEX. 20%' where id_jtva_coloana = 189 + + * Ach. b. imp. 20% + update cnote_contabile set ptva = 20, id_jtva_coloana = 180, explicatie_tva = 'ACH. IMP. 20%' where INLIST(id_jtva_coloana, 114, 116, 118) + update cnote_contabile set ptva = 20, id_jtva_coloana = 181, explicatie_tva = 'TVA ACH. IMP. 20%' where INLIST(id_jtva_coloana, 115, 117, 119) + + * Ach b. CE 20% + update cnote_contabile set ptva = 20, id_jtva_coloana = 182, explicatie_tva = 'ACH. BUNURI CE. 20%' where INLIST(id_jtva_coloana, 127, 129, 133) + update cnote_contabile set ptva = 20, id_jtva_coloana = 183, explicatie_tva = 'TVA ACH. BUNURI CE. 20%' where INLIST(id_jtva_coloana, 128, 130, 134) + + * Ach Tx inversa 20% + update cnote_contabile set ptva = 20, id_jtva_coloana = 186, explicatie_tva = 'TX. INV. 20%' where INLIST(id_jtva_coloana, 137, 139, 141) + update cnote_contabile set ptva = 20, id_jtva_coloana = 187, explicatie_tva = 'TVA TX. INV. 20%' where INLIST(id_jtva_coloana, 138, 140, 142) + + * LIV INT 20% + update cnote_contabile set ptva = 20, id_jtva_coloana = 27, explicatie_tva = 'LIVR.INTERN 20%' where id_jtva_coloana = 1 + update cnote_contabile set ptva = 20, id_jtva_coloana = 28, explicatie_tva = 'TVA LIVR.INTERN 20%' where id_jtva_coloana = 2 + + update cnote_contabile set ptva = 20, id_jtva_coloana = 29, explicatie_tva = 'LIVR.INTERN NEEX. 20%' where id_jtva_coloana = 31 + update cnote_contabile set ptva = 20, id_jtva_coloana = 30, explicatie_tva = 'TVA LIVR.INTERN NEEX. 20%' where id_jtva_coloana = 32 + + CASE gnAn <= 2015 + * In 2015 lucrez cu TVA 24%. Transform TVA din 20% in 24% + * Ach int 24% - 20% + update cnote_contabile set ptva = 24, id_jtva_coloana = 156, explicatie_tva = 'ACH. INT. 24%' where id_jtva_coloana = 176 + update cnote_contabile set ptva = 24, id_jtva_coloana = 157, explicatie_tva = 'TVA ACH. INT. 24%' where id_jtva_coloana = 177 + + update cnote_contabile set ptva = 24, id_jtva_coloana = 170, explicatie_tva = 'ACH. INT. NEEX. 24%' where id_jtva_coloana = 178 + update cnote_contabile set ptva = 24, id_jtva_coloana = 171, explicatie_tva = 'TVA ACH. INT. NEEX. 24%' where id_jtva_coloana = 179 + + * Ach. b. imp. 24% + update cnote_contabile set ptva = 24, id_jtva_coloana = 158, explicatie_tva = 'ACH. IMP. 24%' where id_jtva_coloana = 180 + update cnote_contabile set ptva = 24, id_jtva_coloana = 159, explicatie_tva = 'TVA ACH. IMP. 24%' where id_jtva_coloana = 181 + + * Ach b. CE 24% + update cnote_contabile set ptva = 24, id_jtva_coloana = 160, explicatie_tva = 'ACH. BUNURI CE. 24%' where id_jtva_coloana = 182 + update cnote_contabile set ptva = 24, id_jtva_coloana = 161, explicatie_tva = 'TVA ACH. BUNURI CE. 24%' where id_jtva_coloana = 183 + + * Ach Tx inversa 24% + update cnote_contabile set ptva = 24, id_jtva_coloana = 162, explicatie_tva = 'TX. INV. 24%' where id_jtva_coloana = 186 + update cnote_contabile set ptva = 24, id_jtva_coloana = 163, explicatie_tva = 'TVA TX. INV. 24%' where id_jtva_coloana = 187 + + * LIV INT 24% + update cnote_contabile set ptva = 24, id_jtva_coloana = 15, explicatie_tva = 'LIVR.INTERN 24%' where id_jtva_coloana = 27 + update cnote_contabile set ptva = 24, id_jtva_coloana = 16, explicatie_tva = 'TVA LIVR.INTERN 24%' where id_jtva_coloana = 28 + + update cnote_contabile set ptva = 24, id_jtva_coloana = 21, explicatie_tva = 'LIVR.INTERN NEEX. 24%' where id_jtva_coloana = 29 + update cnote_contabile set ptva = 24, id_jtva_coloana = 22, explicatie_tva = 'TVA LIVR.INTERN NEEX. 24%' where id_jtva_coloana = 30 + ENDCASE && gnAn <= 2015 + + * La facturile cu TVA Incasare modific 4426 in 4428 si explicatiile de TVA + IF m.tlIntern AND poAct.tva_incasare = 1 + SELECT cnote_contabile + SCAN + IF scd = '4426' + REPLACE scd WITH '4428' + loTVA = GeTvaColoana(id_jtva_coloana, 1, 'JC') + ELSE + loTVA = GeJtvaColoana(id_jtva_coloana, 1, 'JC') + ENDIF + SELECT cnote_contabile + REPLACE id_jtva_coloana WITH loTVA.id_jtva_coloana, explicatie_tva WITH loTVA.denumire + ENDSCAN + ENDIF + + *!* 22.05.2008 + *!* id_valuta - dadea eroare la verificare_note_contabile + *!* modificare v 2.1.39 : am adaugat data_act, fdoc, id_fdoc, se_scrie + *!* modificare v 2.2.6 : am adaugat tva_incasare #3649 + Select N.*, ; + 00000000000000.0000 As suma, 00000000000000.0000 As SUMA_val, 00000000000000 As id_partd, 00000000000000 As id_partc, Space(100) As partd, Space(100) As partc, ; + 00000000000000 As id_fact, 00000000000000 As id_factd, 00000000000000 As id_factc, 00000000000000 As pereched, 00000000000000 As perechec, ; + 00000000000000 As nract, Space(10) As serie_Act,Space(50) As explicatia4, Space(50) As explicatia5, .T. As participa_valuta, ; + poAct.id_valuta As id_valuta, poAct.Curs As Curs, poAct.nume_val As nume_val, poAct.dataact as dataact, poAct.fdoc as fdoc, poAct.id_fdoc as id_fdoc, 0 as se_scrie, poAct.tva_incasare as tva_incasare, ; + 16777215 As doc_color, Space(10) As doc_label ; + FROM cnote_contabile N ; + WHERE N.id_set = poAct.id_set ; + INTO Cursor introdc Readwrite Order By ordine + *!* 22.05.2008 ^ + + *!* Directia A (11.07.2026): introdc porneste GOL; perechea-sablon (primele 2 linii, + *!* baza + TVA) se pastreaza in introdc_sablon ca sursa de clonare pentru "Adauga factura". + Select * From introdc Where Recno('introdc') <= 2 Into Cursor introdc_sablon Readwrite + Select introdc + Zap + + Use In (SELECT('cnote_contabile')) + + If !Used('saft_taxtable') + update_saft_taxtable() + ENDIF + If !Used('saft_mecanisme_plati') + update_saft_mecanisme_plati() + ENDIF + + * Actualizez taxcode SAFT in functie de furnizori RTVAI + IF m.gl406 + SELECT introdc + SCAN FOR INLIST(ALLTRIM(NVL(tipjurnal,'')), 'JC', 'JV') + lnIdJtva = introdc.id_jtva_coloana + lnIdPart = NVL(introdc.id_partc, introdc.id_partd) + lnTaxCode = GetTaxCodeIdPart(m.gnAn, m.gnLuna, poAct.DataAct, m.lnIdJtva, m.lnIdPart) + SELECT introdc + REPLACE taxcode WITH m.lnTaxCode + ENDSCAN + ENDIF + GO TOP IN introdc + + Select ordine, ID_JTVA_coloana, denumire, JC, JV, AFISAT, COLOANA_JC, COLOANA_JV, COTA_TVA, ID_TVA ; + FROM jtva_coloane ; + WHERE ID_JTVA_coloana > 0 ; + UNION ; + SELECT 0 As ordine, 0 As ID_JTVA_coloana, '' As denumire, 0 As JC, 0 As JV, 1 As AFISAT, '' As COLOANA_JC, '' As COLOANA_JV, 0 As COTA_TVA, 0 As ID_TVA ; + FROM jtva_coloane ; + WHERE Recno() = 1 ; + INTO Cursor jtva_coloane2 NOFILTER ; + ORDER By 1 + + gnZvama = 0 + gnButon = 1 + SELECT introdc + obj = Createobject('IMPORT_nota', tlIntern) + obj.oact = poAct + obj.Show() + + If gnButon=2 + If Type('poGeneratorNumere') <> 'U' + poGeneratorNumere.dezaloca_numere() + poGeneratorNumere.ResetAll() + Endif + ENDIF + + Use In (SELECT('introdc')) + Use In (SELECT('introdc_sablon')) + Use In (SELECT('cote_tva')) + Use In (SELECT('actactan')) + Use In (SELECT('rul_temp')) + USE IN (SELECT('rul_temp_obinv')) + Use In (SELECT('jtva_coloane2')) + +ENDPROC && achizitie_import + + + + +Procedure completare_parteneri_gestiune + + *!* 02.06.2008 + *!* completez partenerii corespondenti pentru cont-gestin, cont-gestout + lcSql = [Select cont, id_gestiune, id_part, denumire from vasociere_parteneri_gestiuni] + lnSucces = goExecutor.oExecute(lcSql, "crsGestiuniParteneri") + If lnSucces < 0 + amessagebox(goExecutor.oExecute,0+16,"Eroare") + Else + Select actactan + Scan For Empty(id_partd) Or Empty(id_partc) + Scatter Name loRec + If Empty(actactan.id_partd) + Select crsGestiuniParteneri + Locate For Alltrim(Cont) == Alltrim(loRec.scd) And id_gestiune = Iif(!Empty(loRec.id_gestin), loRec.id_gestin, loRec.id_gestout) + If Found() + Replace id_partd With crsGestiuniParteneri.id_part, partd With crsGestiuniParteneri.denumire In actactan + Endif + Endif + If Empty(actactan.id_partc) + Select crsGestiuniParteneri + Locate For Alltrim(Cont) == Alltrim(loRec.scc) And id_gestiune = Iif(!Empty(loRec.id_gestout), loRec.id_gestout, loRec.id_gestin) + If Found() + Replace id_partc With crsGestiuniParteneri.id_part, partc With crsGestiuniParteneri.denumire In actactan + Endif + Endif + + Endscan + Use In (Select('crsGestiuniParteneri')) + Endif + +Endproc && completare_parteneri_gestiune + +********* INCEPUT: lista_inventar_magazin *********** +Procedure lista_inventar_magazin + Local lcSelect, lcFiltru, lcSchema, lcOrder, llAfisare, lcgroup, llModParam, lcFiltruOriginal + Local llAfiseaza + Private poInventare + poInventare = Null + lcFiltru = [] + lcSchema = [id_c_inventar n(20),data_inventar t,id_util n(10),an n(4),luna n(2), ] + ; + [descriere c(240),validat n(1),dataorav t,id_utilv n(10),util c(240),utilv c(240), tip n(2), id_sucursala n(5), sucursala c(100)] + + lcSelect = [select id_c_inventar,data_inventar,id_util,an,luna, ] + ; + [descriere,validat,dataorav,id_utilv,util,utilv,tip,id_sucursala,sucursala] + ; + [ from vgest_centr_inventar] + lcOrder = [2 desc] + llAfisare=.F. + lcgroup = [] + llModParam = .T. + lcFiltruOriginal = Iif(!Empty(gcCondSucursala), Substr(gcCondSucursala,6)+[ and tip = 5 ], [ tip = 5 ]) + gencursor('poInventare','crsinventare',lcSelect, lcFiltru, lcSchema, lcOrder, llAfisare, lcgroup, llModParam, lcFiltruOriginal) + poInventare.ca_baza1.afisare() + loFrmInventare = Createobject('frm_inventar_magazin_centralizator') &&oinventar.vcx + loFrmInventare.Show(1) + Use In (Select('crsInventare')) + Release loFrmInventare,poInventare +Endproc && lista_inventar_magazin +********* SFARSIT: lista_inventar_magazin *********** +********* INCEPUT: vizualizeaza_inventar_magazin *********** +Procedure vizualizeaza_inventar_magazin + Lparameters tnIdCInventar, tlCorectie + *** tlCorectie: .T. daca inventarul este validat si se doreste corectarea lui + LOCAL llCorectie, llNuSuprascrieCod + llNuSuprascrieCod = .F. + llCorectie = IIF(PCOUNT() >=2, tlCorectie, .F.) + + Private pdDataRef, pdDataInceputInventar, pdDataSfarsitInventar, pnNract, pnNnir, pdDataNotaInventar, pcTextLunaAn, pcTextLunaAnNecompletat, pcChiosc + *!* 15.06.2010 + PRIVATE pnIdFact, pnCod,pnIdInventar + pnCod = 0 + pnIdFact = 0 + pnNract = 0 + pnNnir = 0 + pdDataNotaInventar = {} + pcTextLunaAn = '' + pcChiosc = '' + *!* 15.06.2010 ^ +*!* 12.01.2015 + pnIdInventar = tnIdCInventar +*!* 12.01.2015 ^ + pcTextLunaAnNecompletat = '' + + Local lcSelect, lcFiltru, lcSchema, lcOrder, llAfisare, lcgroup, llModParam, lcFiltruOriginal + Local lnValidat, lnTip,lcId_gestiuni,lcDescriere, lnOptiuneInventar, ldDataInventar + lnValidat = 0 + lnTip = 1 + + Local llCreareGeneratorNumere + Private pdDataRef + llCreareGeneratorNumere = .F. + If Type('poGeneratorNumere') = 'U' + Private poGeneratorNumere + poGeneratorNumere = Createobject('oGeneratorNumere') + llCreareGeneratorNumere = .T. + ENDIF + + + *!* 16.06.2010 + lcSql = "select validat, dataorav, tip, id_gestiuni, descriere, optiuneinventar, numarluni, data_inventar, id_fact, nract, nnir, dataact from VGEST_CENTR_INVENTAR where id_c_inventar=?pnIdInventar" + *!* 16.06.2010 ^ + lcCursor = 'crsGestCentrInventarTemp' + lnSucces = goExecutor.oExecute(m.lcSql, m.lcCursor) + If lnSucces < 0 + amessagebox(goExecutor.cEroare,0+16,"Eroare") + Return + ENDIF + + *!* 21.12.2011 + *** trebuie act.cod pentru nota de completare din inventarul de corectie + pnIdFact = NVL(crsGestCentrInventarTemp.id_fact, 0) + IF m.llCorectie + lnSucces = goExecutor.oSelect2Value("SELECT MAX(cod) FROM act WHERE an = " + ALLTRIM(STR(m.gnAn)) + " and luna = " + ALLTRIM(STR(m.gnLuna)) + " and id_fact = " + ALLTRIM(STR(m.pnIdFact)), @pnCod) + IF lnSucces < 0 + amessagebox(goExecutor.cEroare,0+16,"Eroare") + Return + ENDIF + ENDIF + *!* 21.12.2011 ^ + + Select crsGestCentrInventarTemp + lnValidat = Validat + lnTip = tip + lcId_gestiuni = Alltrim(id_gestiuni) + lcDescriere = Alltrim(descriere) + lnOptiuneInventar = optiuneinventar + ldDataInventar = data_inventar + pdDataRef = data_inventar + pdDataInceputInventar = data_inventar + pdDataSfarsitInventar = dataorav + pnNract = nract + pnNnir = nnir + pdDataNotaInventar = TTOD(NVL(dataact,{//::})) + pcChiosc = ALLTRIM(NVL(descriere,'')) + pcTextLunaAn = 'Luna contabila ' + PADL(allt(str(m.gnLuna)),2, '0') + '/' + allt(str(m.gnAn)) + ; + ' Inventar ' + transform(m.pdDataInceputInventar)+ ; + IIF(!EMPTY(NVL(m.pdDataSfarsitInventar,{})), ' - ' + transform(m.pdDataSfarsitInventar), '') + ; + IIF(!EMPTY(m.lcDescriere), ' | ' + m.lcDescriere , '') + ; + IIF(!EMPTY(NVL(m.pnNract, 0)), ' | Nr. doc. ' + alltrim(str(pnNract)),'') + ; + IIF(!EMPTY(NVL(m.pnNnir,0)), ' | Nr. bon ' + alltrim(str(pnNnir)),'') + ; + IIF(!EMPTY(NVL(m.pdDataNotaInventar,{})), ' | Data doc. ' + transform(m.pdDataNotaInventar), '') + Use In (Select('crsGestCentrInventarTemp')) + + pcTextLunaAnNecompletat = 'Luna contabila ' + PADL(allt(str(m.gnLuna)),2, '0') + '/' + allt(str(m.gnAn)) + ; + IIF(!EMPTY(m.lcDescriere), ' | ' + m.lcDescriere , '') && fara data inceput inventar si numar/data bon, se poate lista si ulterior, la contabilitate si nu trebuie data generarii inventarului + + + lcNumeCursor = 'crs_inventar' + lcSelect = [select * from vgest_inventar] + lcSchema = [] + lcFiltru= [] && + Iif(glEMama,[ and id_sucursala is null],gcCondSucursala) + lcOrder = [denumire] + llAfisare = .F. + llModParam = .T. + lcgroup = [] + lcFiltruOriginal = [id_c_inventar = ] + Alltrim(Str(tnIdCInventar)) + + If Used(lcNumeCursor) + Use In &lcNumeCursor + Endif + Private podecabaza + podecabaza = '' + gencursor('podecabaza',lcNumeCursor,lcSelect, lcFiltru, lcSchema, lcOrder, llAfisare, lcgroup, llModParam, lcFiltruOriginal) + podecabaza.ca_baza1.afisare() + gnButon = 2 + + + lcId_gestiuni = Strtran(lcId_gestiuni,[|],[,]) + If Right(Alltrim(lcId_gestiuni),1) = [,] + lcId_gestiuni = Left(Alltrim(lcId_gestiuni),Len(Alltrim(lcId_gestiuni))-1) + Endif + If Empty(Nvl(lcId_gestiuni,'')) + lcSel = [Select nume_gestiune,id_gestiune from vnom_gestiuni] + Else + lcSel = [Select nume_gestiune,id_gestiune from vnom_gestiuni where id_gestiune in (]+lcId_gestiuni +[)] + Endif + + lcSchema = [''] + lcCursor = [crs_gest] + lnSucces = goExecutor.oExecute(lcSel,lcCursor) + If lnSucces < 0 + amessagebox(goExecutor.cEroare,0+16,"Eroare") + Endif + Select crs_gest + lcNume_gest = crs_gest.nume_gestiune + lnId_gestiune = crs_gest.id_gestiune + If Used('crs_gest') + Use In crs_gest + ENDIF + + *!* 19.04.2010 + update_cote_TVA() && updateserver.prg -> cursorul cote_tva + *!* 19.04.2010 + + Select crs_inventar + lnid_c_inventar=id_c_inventar + + + Scatter Name oinv Blank + oInventar = Createobject('inventar_stoc_magazin',tnIdCInventar) + oInventar.ocursor = podecabaza + oInventar.cnumeCursor = lcNumeCursor + oInventar.cFiltruOriginal = lcFiltru + oInventar.lValidat = lnValidat = 1 + oInventar.lCorectie = m.llCorectie + oInventar.cId_gestiuni = lcId_gestiuni + oInventar.cNume_gest = lcNume_gest + oInventar.nId_gestiune = lnId_gestiune + oInventar.cdescriere = lcDescriere + oInventar.nOptiuneInventar = lnOptiuneInventar + oInventar.dDataInventar = ldDataInventar + oInventar.nCod = m.pnCod + oInventar.nIdFact = m.pnIdFact + If lnValidat = 1 AND !m.llCorectie + oInventar.but_nou1.Visible = .F. && adaugare + oInventar.but_termin1.Visible = .F. + oInventar.but_copiaza1.Visible = .F. && copiere + oInventar.but_stergex.Visible = .F. && stergere + oInventar.Ct_clb_gestiune.Visible = .F. + oInventar.Clb_tx_codbare.Visible = .F. +*!* oInventar.Ct_clb_articol.Visible = .F. + oInventar._shape3.Visible = .F. + Endif + oInventar.Show() + + + If gnButon = 1 + *!* 21.12.2011 +*!* daca rulajele din inventarul de corectie au acelasi cod ca rulajele initiale, nu se pot sterge rulajele daca se sterge nota +*!* llNuSuprascrieCod = !m.llCorectie + llNuSuprascrieCod = .F. + *!* 21.12.2011 ^ + lnSucces = oscrie_in_fisiere(0,.F., .T., m.llNuSuprascrieCod) + If lnSucces < 0 + If Type([_Screen.nId_tipdoc]) = 'N' And !Empty(_Screen.nid_tipdoc) + poGeneratorNumere.dezaloca_numar(_Screen.nid_tipdoc) + Endif + ELSE + IF EMPTY(m.pnIdFact) + *!* 15.06.2010 + pnIdFact = 0 + lnSucces = goExecutor.oFunction2Value("pack_contafin.GET_IDFACT()", @pnIdFact) + If lnSucces < 0 + amessagebox(goExecutor.cEroare,0+16,"Eroare") + Endif + ENDIF + + *!* 21.12.2011 + * lcSql = [update ] + gcs + [.gest_inventar set validat = 1, dataora_validat = pack_contafin.GET_DATAORA() where data_referinta = ?pdDataRef and stoc_faptic <> cants+cant-cante] + TEXT TO lcSql NOSHOW + begin + update GEST_CENTR_INVENTAR set validat = 1, id_fact = ?pnIdFact, dataorav = sysdate, id_utilv = ?gnIdUtil where id_c_inventar = ?lnid_c_inventar; + update gest_inventar set validat = 1, dataora_validat = sysdate where id_c_inventar = ?lnid_c_inventar AND validat = 0 ; + end; + ENDTEXT +*!* lcSql = [update ] + gcs + [.GEST_CENTR_INVENTAR set validat = 1, id_fact = ?pnIdFact, dataorav = sysdate,id_utilv=?gnIdUtil where id_c_inventar =?lnid_c_inventar] + *!* 21.12.2011 ^ + *!* 15.06.2010 ^ + lnSucces = goExecutor.oExecute(lcSql) + If lnSucces < 0 + amessagebox(goExecutor.cEroare,0+16,"Eroare") + ENDIF + Endif + + If llCreareGeneratorNumere + Release poGeneratorNumere + Endif + ENDIF + *!* modificare 23.10.2012 + Use In (Select(lcNumeCursor)) + Use In (Select('rul_temp_obinv')) + *!* modificare 23.10.2012 ^ + *!* 07.09.2009 + USE IN (SELECT('actactan')) + USE IN (SELECT('rul_temp')) + *!* 07.09.2009 ^ + *!* 19.04.2010 + USE IN (SELECT('cote_tva')) + *!* 19.04.2010 ^ +Endproc && vizualizeaza_inventar_magazin +********* SFARSIT: vizualizeaza_inventar_magazin *********** + +*!* 30.10.2008 NIR DEPOZIT +Procedure COMPLETEAZA_ARTICOLE_DEP_NIR + Parameters tnNract, tdDataact + + Local lcSelect, lcSql, lcCursor, lnSucces, llContinuare + llContinuare = .T. + + lcSelect = Select() + + lcSql = [SELECT ND.ID, ND.ID_ARTICOL, ND.CODBARE, ND.DENUMIRE, ND.CANTITATE FROM DEP_NIR_DETALII ND JOIN DEP_NIR N ON ND.ID_NIR = N.ID WHERE N.NUMARACT = ?tnNract AND trunc(N.DATAACT) = ?tdDataact AND NVL(ID_ARTICOL,0) = 0] + lcCursor = [crsArticoleNoiTemp] + lnSucces = goExecutor.oExecute(lcSql, lcCursor) + If lnSucces < 0 + amessagebox(goExecutor.cEroare,0+16,'Eroare') + Else + If Reccount(lcCursor) > 0 + loFrmArticoleNir = Createobject("frm_articole_noi") && ointroduceri_depozit.vcx + loFrmArticoleNir.lb_titlu_alb_b121.Caption = "FACTURA " + Alltrim(Str(tnNract)) + " / " + Alltrim(Transform(tdDataact)) + " - Articole noi" + loFrmArticoleNir.Show(1) + llContinuare = gnButon = 1 + Endif + Endif + + If llContinuare + lcSql = [SELECT COUNT(*) as nr FROM DEP_NIR N WHERE N.NUMARACT = ?tnNract AND trunc(N.DATAACT) = ?tdDataact] + lcCursor = [crsArticoleCount] + lnSucces = goExecutor.oExecute(lcSql, lcCursor) + If lnSucces < 0 + amessagebox(goExecutor.cEroare,0+16,'Eroare') + Else + *!* TEMPORAR - PANA II FAC UN SET DISTINCT ??? + If Nvl(crsArticoleCount.nr,0) > 0 + oSet.id_selSt = 30 && vnom_articole_dep_nir + Endif + *!* TEMPORAR ^ + Use In (Select(lcCursor)) + Endif + Endif && llcContinuare + Select (lcSelect) + +Endproc && COMPLETEAZA_ARTICOLE_DEP_NIR +*!* 30.10.2008 ^ diff --git a/programe/ointroduceri_efactura.prg b/programe/ointroduceri_efactura.prg new file mode 100644 index 0000000..6c5edbc --- /dev/null +++ b/programe/ointroduceri_efactura.prg @@ -0,0 +1,129 @@ +* ointroduceri_efactura.prg + +Procedure importEfacturaPrimite + DO vizImportEFactura WITH 'PRIMITE' +ENDPROC + +PROCEDURE importEfacturaTrimise + DO vizImportEFactura WITH 'TRIMISE' +ENDPROC + +PROCEDURE vizImportEFactura + LPARAMETERS tcTip + * tcTIP: PRIMITE/TRIMISE + + Private poFacturi, poFacturiDetalii + Local loFrmFacturi As "frm_efactura_import", lcTip, llPrimite + Local lcData1, lcFiltru, lcFiltruOriginal, lcOrder, lcSchema, lcgroup, llAfiseaza, llModParam + poFacturi = Null + poFacturiDetalii = Null + + lcTip = IIF(TYPE('tcTip') = 'C' and !EMPTY(m.tcTip), UPPER(ALLTRIM(m.tcTip)), 'PRIMITE') + llPrimite = (m.lcTip = 'PRIMITE') + + lcTabel = IIF(m.lcTip = 'PRIMITE', 'anaf_vefactura_primit', 'anaf_vefactura_trimis') + +* FACTURI PRIMITE/TRIMISE + lcData1 = '01' + Padl(Int(m.gnLuna),2,'0') + Alltrim(Str(m.gnAn)) + TEXT To lcSchema Noshow +ales N(1), id N(20), id_fact N(20), data_act D, data_scad D, numar_act C(30), xfurnizor C(200), xclient C(200), partener C(200), id_incarcare C(36), id_descarcare c(36) null, tip_mesaj_raspuns C(50) null,mesaj_raspuns C(250) null, data_raspuns D null, trimis N(1) null, data_trimis T null, cod_fiscal C(30) null, cod_fiscal_emitent C(30) null, cod_fiscal_beneficiar C(30) null, detalii M null, total_fara_tva N(16,4), total_tva N(16,4), total_cu_tva N(16,4), discount_fara_tva N(16,4), taxe_fara_tva N(16,4), valoare_fara_tva N(16,4), total_de_plata N(16,4), nume_valuta C(5), test N(1) null, jtotctva N(16,4), descriere M null, detalii_plata M null, diferenta N(16,4), procesat N(1) + ENDTEXT + + TEXT To lcSelect TEXTMERGE Noshow +SELECT 0 as ales, id, id_fact, data_act, data_scad, numar_act, xfurnizor, xclient, partener, id_incarcare, id_descarcare, tip_mesaj_raspuns, mesaj_raspuns, data_raspuns, NVL(trimis,0) as trimis, data_trimis, cod_fiscal, cod_fiscal_emitent, cod_fiscal_beneficiar, detalii, total_fara_tva, total_tva, total_cu_tva, discount_fara_tva, taxe_fara_tva, valoare_fara_tva, total_de_plata, nume_valuta, test, jtotctva, descriere, detalii_plata, NVL(total_cu_tva, 0.00)-NVL(jtotctva, 0.00) as diferenta, procesat FROM <> + ENDTEXT + lcOrder = [data_act,numar_act,data_raspuns] + lcgroup = [] + lcFiltru = [(extract(year from data_act) = ?gnAn and extract(month from data_act) = ?gnLuna) or (data_act is null and data_raspuns >= to_date('] + m.lcData1 + [','ddmmyyyy'))] + lcFiltruOriginal = [] + llModParam = .T. + llAfiseaza = .F. + + gencursor('poFacturi', 'crsFacturi', lcSelect, lcFiltru, lcSchema, lcOrder, llAfiseaza, lcgroup, llModParam, lcFiltruOriginal) + poFacturi.ca_baza1.afisare() + Select crsFacturi + Go Top + +* DETALII FACTURI PRIMITE/TRIMISE/EMISE + TEXT To lcSchema Noshow +id_tip N(10) null, cont c(4) null, id_articol N(20) null, id_gestiune N(20) null, id N(20), id_efactura N(20), nr N(5), articol V(250), descriere V(250), detalii M, cantitate N(18,6), um V(20), um_iso V(50), id_um I, um_roa V(50), pret N(20,6), proctva N(7,2), valoarefaratva N(20,6), in_stoc N(1), articol_roa V(250) + ENDTEXT + TEXT To lcSelect Noshow +select CAST(0 as number(10)) as id_tip, CAST('' as Varchar2(4)) as cont, CAST(null as Number(20)) as id_articol, CAST(null as Number(20)) as id_gestiune, id, id_efactura, nr, articol, descriere, detalii, cantitate, um, um_iso, id_um, um_roa, pret, proctva, valoarefaratva, 0 as in_stoc, CAST('' as Varchar2(250)) as articol_roa from anaf_vefactura_detalii + ENDTEXT + lcOrder = [nr] + lcgroup = [] + lcFiltru = [1=2] && IIF(!EMPTY(NVL(crsFacturiPrimite.id,0)), [id_efactura=] + ALLTRIM(STR(crsFacturiPrimite.id)), [1=2]) + lcFiltruOriginal = [] + llModParam = .T. + llAfiseaza = .F. + + gencursor('poFacturiDetalii', 'crsDetaliiFacturi', lcSelect, lcFiltru, lcSchema, lcOrder, llAfiseaza, lcgroup, llModParam, lcFiltruOriginal) + poFacturiDetalii.ca_baza1.afisare() + + * Cursoare helper + CREATE CURSOR cTip (id I, in_stoc N(1), tip V(50), cont V(4)) + INSERT INTO cTip (tip, cont, in_stoc) VALUES ('Nedefinit','', 0) + INSERT INTO cTip (tip, cont, in_stoc) VALUES ('Ch. mat. nestoc.','604', 0) + INSERT INTO cTip (tip, cont, in_stoc) VALUES ('Ch. Energie','6051', 0) + INSERT INTO cTip (tip, cont, in_stoc) VALUES ('Ch. Apa','6052', 0) + INSERT INTO cTip (tip, cont, in_stoc) VALUES ('Ch. Gaze','6053', 0) + INSERT INTO cTip (tip, cont, in_stoc) VALUES ('Ch. chirii','6123', 0) + INSERT INTO cTip (tip, cont, in_stoc) VALUES ('Ch. colaboratori','621', 0) + INSERT INTO cTip (tip, cont, in_stoc) VALUES ('Ch. comisioane','622', 0) + INSERT INTO cTip (tip, cont, in_stoc) VALUES ('Ch. protocol','623', 0) + INSERT INTO cTip (tip, cont, in_stoc) VALUES ('Ch. transp. bunuri/pers.','624', 0) + INSERT INTO cTip (tip, cont, in_stoc) VALUES ('Ch. deplasari','625', 0) + INSERT INTO cTip (tip, cont, in_stoc) VALUES ('Ch. posta/telecom.','626', 0) + INSERT INTO cTip (tip, cont, in_stoc) VALUES ('Ch. terti','628', 0) + INSERT INTO cTip (tip, cont, in_stoc) VALUES ('Altele','461', 0) + INSERT INTO cTip (tip, cont, in_stoc) VALUES ('-----------------','', 0) + INSERT INTO cTip (tip, cont, in_stoc) VALUES ('Marfuri','371', 1) + INSERT INTO cTip (tip, cont, in_stoc) VALUES ('Materii prime','301', 1) + INSERT INTO cTip (tip, cont, in_stoc) VALUES ('Materiale auxiliare','3021', 1) + INSERT INTO cTip (tip, cont, in_stoc) VALUES ('Ambalaje','381', 1) + INSERT INTO cTip (tip, cont, in_stoc) VALUES ('Obiecte de inventar','303', 1) + INSERT INTO cTip (tip, cont, in_stoc) VALUES ('Amenajari provizorii','323', 1) + INSERT INTO cTip (tip, cont, in_stoc) VALUES ('Mat. spre prelucrare','8032', 1) + INSERT INTO cTip (tip, cont, in_stoc) VALUES ('Mat. in pastrare/consig.','8033', 1) + INSERT INTO cTip (tip, cont, in_stoc) VALUES ('Discount financiar','767', 1) + INSERT INTO cTip (tip, cont, in_stoc) VALUES ('Combustibili','3022', 1) + INSERT INTO cTip (tip, cont, in_stoc) VALUES ('Piese de schimb','3024', 1) + INSERT INTO cTip (tip, cont, in_stoc) VALUES ('Alte mat. consumabile','3028', 1) + INSERT INTO cTip (tip, cont, in_stoc) VALUES ('Discount comercial','609', 1) + INSERT INTO cTip (tip, cont, in_stoc) VALUES ('Ambalaje SGR','461', 0) + + REPLACE ALL id WITH RECNO()-1 IN cTip + GO TOP IN cTip + INDEX on id TAG id + +*!* llSucces = goExecutor.oExecuta("select id_articol, denumire, codmat from vnom_articole where inactiv = 0", 'cArticole') + +*!* SELECT cArticole +*!* INDEX on id_articol TAG id_articol + + llSucces = goExecutor.oExecuta([select distinct nume_gestiune,cgest,id_gestiune,nr_pag,cont from vgest_gestiuni_util where inactiv = 0 and id_util = ] + Alltrim(Str(m.gnIdUtil)), 'cGestiuni') + SELECT cGestiuni + INDEX on id_gestiune TAG id_gest + + llSucces = goExecutor.oExecuta("select cod_um_iso, um_iso from syn_vnom_um_iso", 'cUMISO') + SELECT cUMISO + INDEX on cod_um_iso TAG cod_um_iso + + llSucces = goExecutor.oExecuta("select id, um, cod_um_iso, um_iso from vnom_um", 'cUM') + SELECT cUM + INDEX on id TAG id + + Select crsFacturi + loFrmFacturi = Createobject("frm_import_efactura", m.llPrimite) +* Do Form anaf_efactura Name loFrmBorderou Linked With this Noshow + + loFrmFacturi.Show(1) + + Use In (Select('crsFacturi')) + Use In (Select('crsDetaliiFacturi')) + Use In (Select('cTip')) + Use In (Select('cArticole')) + Use In (Select('cGestiuni')) +Endproc && vizFacturiPrimite + \ No newline at end of file diff --git a/programe/omeniu_initializari.prg b/programe/omeniu_initializari.prg new file mode 100644 index 0000000..983489f --- /dev/null +++ b/programe/omeniu_initializari.prg @@ -0,0 +1,414 @@ +********************************************************************** +* Program....: OMENIU_INITIALIZARI.PRG +* Version....: +* Author.....: MMUTU # marius.mutu +* Date.......: 15 June 2006, 15:21:31 +* Notice.....: Copyright © 2006, +* All Rights Reserved. +* Compiler...: Visual FoxPro 09.00.0000.2412 for Windows +* Abstract...: +* Changes....: marius.mutu, Created 15 June 2006 / 15:21:31 +* Parameters.: +* called by..: +* Purpose....: +********************************************************************** + + +*------------------------------------------------------------ +* Description: configurare_note +* Parameters: tlCRM +* Return: +* Use: +*------------------------------------------------------------ +* Id Date By Description +* 1 10/12/2004 lavinia.viziru Initial Creation +* +*------------------------------------------------------------ +Procedure configurare_note + Parameters tlCRM + + Local llCRM + Local ofrm_note As Form + Local lcCursor, lcCursor0, lcFiltru, lcForm, lcOrder, lcSchema, lcSelect, lcSelect0, lnSucces + Local lnSucces0 + llCRM = tlCRM && folosesc crm_note_vanzari de pe server + + ***----------------------------------------------------------------------------------------------------------------------------- + If llCRM + Private poNote_vanzari + Store '' To poNote_vanzari + + Local lcSchema1, lcSelect1, lcOrder1, lcFiltru1, llAfiseaza, lcgroup, llModParam, lcFiltruOriginal + lcSchema1 = [] + lcSelect1 = [select denumire as meniu, nv.* from vcrm_note_vanzari nv] + lcOrder1 = [denumire] + lcgroup = [] + lcFiltru1 = [] + lcFiltruOriginal = [] + llModParam = .T. + llAfiseaza = .F. + + gencursor('poNote_vanzari', 'nom_meniu', lcSelect1, lcFiltru1, lcSchema1, lcOrder1, llAfiseaza, lcgroup, llModParam, lcFiltruOriginal) + poNote_vanzari.ca_baza1.afisare() + + Else + + Select nom_meniu + Set Order To 3 && Meniu + Go Top + Endif + ***----------------------------------------------------------------------------------------------------------------------------- + lcSelect0 = [select cont, acont from ] + gcS + [.plcont where an = ] + Alltrim(Str(gnAn)) + lcCursor0 = [cplcont] + + lnSucces0 = goExecutor.oExecute(lcSelect0, lcCursor0) + If lnSucces0 < 0 + aMESSAGEBOX(goExecutor.cEroare, 0 + 16, 'Eroare') + Return + Endif + ***----------------------------------------------------------------------------------------------------------------------------- + Private ponote_contab, pcschema, pcselect + Store '' To ponote_contab + lcSchema1 = [] + lcSelect1 = [select * from ] + Iif(gnAn >= Iif(Type('gnAnFormNou') = 'U', 2007, gnAnFormNou), [vnote_contabile], [note_contabile]) + lcOrder1 = [id_set, ordine] + lcgroup = [] + lcFiltru1 = [] + lcFiltruOriginal = [] + llModParam = .T. + llAfiseaza = .F. + + gencursor('ponote_contab', 'cnote_contab', lcSelect1, lcFiltru1, lcSchema1, lcOrder1, llAfiseaza, lcgroup, llModParam, lcFiltruOriginal) + ponote_contab.ca_baza1.afisare() + + *************************************************************** + *** Note definite de utilizator + *************************************************************** + Private poCategorii + poCategorii = Null + lcSchema = [] + lcSelect = [select categorie, id_categorie, ordine from xSetsCategorii where sters = 0 union select 'FARA CATEGORIE' as categorie, 0 as id_categorie, 0 as ordine from dual] + lcOrder = [ordine] + lcgroup = [] + lcFiltru = [1=2] + lcFiltruOriginal = [] + llModParam = .T. + llAfiseaza = .F. + + gencursor('poCategorii', 'crsECategorii', lcSelect, lcFiltru, lcSchema, lcOrder, llAfiseaza, lcgroup, llModParam, lcFiltruOriginal) + poCategorii.ca_baza1.afisare() + + Private poSets + poSets = Null + lcSchema = [] + lcSelect = [select * from xSets] + lcOrder = [nume_set] + lcgroup = [] + lcFiltru = [1=2] + lcFiltruOriginal = [id_set >= 1000000] + llModParam = .T. + llAfiseaza = .F. + + gencursor('poSets', 'crsESets', lcSelect, lcFiltru, lcSchema, lcOrder, llAfiseaza, lcgroup, llModParam, lcFiltruOriginal) + poSets.ca_baza1.afisare() + + + Private poRequest + poRequest = Null + lcSchema = [] + lcOrder = [r.nr_item] + lcgroup = [] + lcFiltru = [1=2] + lcFiltruOriginal = [] + llModParam = .T. + llAfiseaza = .F. + + Text To lcSelect Textmerge Noshow + select i.label_item, + s.nume_set, + r.valoare_default, + r.nr_item, + r.id_item, + r.id_set, + i.fis_lista, + i.id_fisier, + i.camp_lista, + rpad(case + when i.fis_lista is not null then + pack_util.GetText(i.fis_lista, + i.id_fisier, + CASE WHEN LENGTH(TRIM(TRANSLATE(r.valoare_default, '0123456789+-.', ' '))) IS NULL + THEN to_number(r.valoare_default) + ELSE 0 + END, + replace(i.camp_lista, ',', ' || '' '' || ')) + ELSE + r.valoare_default + end, + 100, + ' ') as valoare_default_text + from xrequest r + join xsets s + on s.id_set = r.id_set + join xitems i + on i.id_item = r.id_item + Endtext + + gencursor('poRequest', 'crsERequest', lcSelect, lcFiltru, lcSchema, lcOrder, llAfiseaza, lcgroup, llModParam, lcFiltruOriginal) + poRequest.ca_baza1.afisare() + + + Private poNote + poNote = Null + lcSchema = [] + lcOrder = [a.nr_nota] + lcgroup = [] + lcFiltru = [1=2] + lcFiltruOriginal = [] + llModParam = .T. + llAfiseaza = .F. + + Text To lcSelect Textmerge Noshow + SELECT decode(NVL(a.id_jtva_coloana, 0), 0, 0, 1) As Cu_tva, + Cast(0 As Number(2)) As tipnota, + cast(0 as number(20)) as id_act, + cast(0 as number(2)) as luna, + cast(0 as number(4)) as an, + cast(0 as number(20)) as cod, + a.dataireg, + a.serie_act, + a.nract, + a.dataact, + a.explicatia, + a.xscd as scd, + a.xascd as ascd, + a.xscc as scc, + a.xascc as ascc, + a.suma, + a.pereched, + a.perechec, + a.suma_val, + a.id_valuta, + v.nume_val, + a.curs, + a.datascad, + 0 AS neimpozab, + a.nnir, + cast(0 as number(5)) as id_util, + '' AS util, + sysdate as dataora, + cast(0 as number(5)) as id_utils, + '' AS utils, + sysdate as dataoras, + a.id_responsabil, + resp.denumire AS nresp, + a.id_venchelt, + venchelt.explicatie AS dst_chlt, + a.id_lucrare, + lucr.nrord, + a.id_ctr, + (case when ctr.numar is not null then ctr.numar || '/' else '' end) || TO_CHAR(ctr.data,'DD.MM.YYYY') as contract, + a.id_sectie, + sectii.sectie, + a.proc_tva, + a.id_set, + NVL(a.id_fact, 0) as id_fact, + a.id_partd, + part1.denumire AS partd, + a.id_partc, + part.denumire AS partc, + cast(0 as number(5)) as id_sucursala, + '' as sucursala, + a.id_fdoc, + fdoc.fel_document AS fdoc, + a.explicatia4, + a.explicatia5, + cast(0 as number(5)) as id_gestin, + '' AS gestin, + cast(0 as number(5)) as id_gestout, + '' AS gestout, + NVL(a.id_factd, 0) as id_factd, + NVL(a.id_factc, 0) as id_factc, + a.id_jtva_coloana, + jtva.denumire as explicatie_tva, + cast(0 AS NUMBER(1)) AS validat, + cast(0 as number(5)) as id_utilv, + '' as utilv, + SYSDATE AS dataorav, + NVL(doc.tva_incasare,0) as tva_incasare + from xnote a + LEFT JOIN nom_fdoc fdoc ON a.id_fdoc = fdoc.id_fdoc + LEFT JOIN nom_parteneri part ON a.id_partc = part.id_part + LEFT JOIN nom_parteneri part1 ON a.id_partd = part1.id_part + LEFT JOIN vnom_venchel venchelt ON a.id_venchelt = venchelt.id_venchelt + LEFT JOIN nom_parteneri resp ON a.id_responsabil = resp.id_part + LEFT JOIN nom_sectii sectii ON a.id_sectie = sectii.id_sectie + LEFT JOIN vnom_lucrari lucr ON a.id_lucrare = lucr.id_lucrare + LEFT JOIN nom_valute v ON a.id_valuta = v.id_valuta + LEFT JOIN contracte ctr ON ctr.id_ctr = a.id_ctr + LEFT JOIN jtva_coloane jtva ON a.id_jtva_coloana = jtva.id_jtva_coloana + LEFT JOIN documente doc on a.id_fact = doc.id_doc + Endtext + gencursor('poNote', 'crsENote', lcSelect, lcFiltru, lcSchema, lcOrder, llAfiseaza, lcgroup, llModParam, lcFiltruOriginal) + poNote.ca_baza1.afisare() + *************************************************************** + + + lcCursor0 = [ctva] + lcCursor = [ccalendar] + If gnAn >= Iif(Type('gnAnFormNou') = 'U', 2007, gnAnFormNou) + lcForm = [frm_config_note_contabile2007] + Else + lcSelect0 = [select descriere as tva, procent as ptva from ] + gcS + [.cote_tva where an = ?gnAn and luna = ?gnLuna] + lnSucces0 = goExecutor.oExecute(lcSelect0, lcCursor0) + If lnSucces0 < 0 + aMESSAGEBOX(goExecutor.cEroare, 0 + 16, 'Eroare') + Return + Endif + + lcSelect = [select ctvam from ] + gcS + [.calendar where an = '] + Alltrim(Str(gnAn)) + ; + [' and nl = '] + Alltrim(Str(gnAn)) + ['] + lnSucces = goExecutor.oExecute(lcSelect, lcCursor) + If lnSucces < 0 + aMESSAGEBOX(goExecutor.cEroare, 0 + 16, 'Eroare') + Return + Endif + + Private pnctvam + Select ccalendar + pnctvam = ccalendar.ctvam + + lcForm = [frm_config_note_contabile] + Endif + *ofrm_note = CREATEOBJECT(lcForm,llCRM) + Do Form (lcForm) Name ofrm_note Linked With m.llCRM Noshow + ofrm_note.Show(1) + + + Release ponote_contab + Use In (select(lcCursor0)) + Use In (select(lcCursor)) + Use In (SELECT('cnote_contab')) + If m.llCRM + Use In (SELECT('nom_meniu')) + ENDIF + USE IN (select('crsECategorii')) + USE IN (select('crsESets')) +Endproc +******************************* SFARSIT: configurare_note ************************************ + + +*------------------------------------------------------------ +* Description: configurare analitice +* Parameters: +* Return: +* Use: +*------------------------------------------------------------ +* Id Date By Description +* 1 15/06/2006 marius.mutu Initial Creation +* +*------------------------------------------------------------ +Procedure configurare_analitice + + Private poConfig + Local lcSchema, lcSelect, lcOrder, lcgroup, lcFiltru, lcFiltruOriginal, llModParam, llAfiseaza + Store Null To poConfig + lcSchema = [] + lcSelect = [select * from config_analitice] + lcOrder = [cont] + lcgroup = [] + lcFiltru = [] + lcFiltruOriginal = [] + llModParam = .T. + llAfiseaza = .F. + + gencursor('poConfig', 'crsConfigAnalitice', lcSelect, lcFiltru, lcSchema, lcOrder, llAfiseaza, lcgroup, llModParam, lcFiltruOriginal) + poConfig.ca_baza1.afisare() + + loConfigFrm = Createobject("frm_config_analitice") + loConfigFrm.Show(1) +Endproc && configurare_analitice + +*------------------------------------------------------------ +Procedure configurare_analitice_gruputil + + Private poConfig + Local lcSchema, lcSelect, lcOrder, lcgroup, lcFiltru, lcFiltruOriginal, llModParam, llAfiseaza + Store Null To poConfig + lcSchema = [] + lcSelect = [select * from vconfig_gruputil_analitice] + lcOrder = [denumire_grup, cont] + lcgroup = [] + lcFiltru = [] + lcFiltruOriginal = [] + llModParam = .T. + llAfiseaza = .F. + + gencursor('poConfig', 'crsConfigAnalitice', lcSelect, lcFiltru, lcSchema, lcOrder, llAfiseaza, lcgroup, llModParam, lcFiltruOriginal) + poConfig.ca_baza1.afisare() + + loConfigFrm = Createobject("frm_config_analitice_gruputil") + loConfigFrm.Show(1) + + USE IN (SELECT('crsConfigAnalitice')) +Endproc && configurare_analitice_gruputil + +*------------------------------------------------------------ +Procedure configurare_analitice_tva + + Private poConfig + Local lcSchema, lcSelect, lcOrder, lcgroup, lcFiltru, lcFiltruOriginal, llModParam, llAfiseaza + Store Null To poConfig + lcSchema = [] + lcSelect = [select id, id_jtva_coloana, explicatie_tva, cont, acont, id_grup, denumire_grup, id_sucursala, sucursala, id_util, utilizator, dataora from vconfig_tva_analitice] + lcOrder = [sucursala, denumire_grup, cont, explicatie_tva] + lcgroup = [] + lcFiltru = [] + lcFiltruOriginal = [] + llModParam = .T. + llAfiseaza = .F. + + gencursor('poConfig', 'crsConfigAnalitice', lcSelect, lcFiltru, lcSchema, lcOrder, llAfiseaza, lcgroup, llModParam, lcFiltruOriginal) + poConfig.ca_baza1.afisare() + + loConfigFrm = Createobject("frm_config_analitice_tva") + loConfigFrm.Show(1) + + USE IN (SELECT('crsConfigAnalitice')) +Endproc && configurare_analitice_tva + +* Eof OMENIU_INITIALIZARI.PRG + + + +******************************************* +* PROCEDURE acces_liste( ) +* Date : 08/30/06, 11:37:08 +* author : liana.macinic +* description: + +****** PARAMETER BLOCK ************** +* Parameters : 0 +* +******************************************* +Procedure acces_liste( ) + Private poAccesListe + Local lcSchema, lcSelect, lcOrder, lcgroup, lcFiltru, lcFiltruOriginal, llModParam, llAfiseaza + Store Null To poAccesListe + lcSchema = [] + lcSelect = [select * from vpolitici_grupuri] + lcOrder = [nume_lista_preturi] + lcgroup = [] + lcFiltru = [1=1] + gcCondSucursala + lcFiltruOriginal = [] + llModParam = .T. + llAfiseaza = .F. + + gencursor('poAccesListe', 'crsPolGr', lcSelect, lcFiltru, lcSchema, lcOrder, llAfiseaza, lcgroup, llModParam, lcFiltruOriginal) + poAccesListe.ca_baza1.afisare() + + loAccesListeFrm = Createobject("frm_politiciGrupuri") + loAccesListeFrm.Show(1) + +Endproc +*----------------------------------sfarsit procedura acces_liste---------------------------------- \ No newline at end of file diff --git a/programe/onom_comenzi.prg b/programe/onom_comenzi.prg new file mode 100644 index 0000000..c751f2d --- /dev/null +++ b/programe/onom_comenzi.prg @@ -0,0 +1,310 @@ +*************************************************************************************************************** +**** Proceduri: +**** vizualizare_lucrari +**** vizualizare_comenzi +**** vizualizare_optiuni +**** extrage_optiuni - mutata in proceduri_comune.prg ( v 2.0.11 ) +**** recompune_optiuni - mutata in proceduri_comune.prg ( v 2.0.11 ) +**** make_sectii_utilizator - mutata in proceduri_comune.prg ( v 2.0.11 ) +**** verifica_lucrare +*************************************************************************************************************** +******************************************* INCEPUT: vizualizare_lucrari ******************************************* +Procedure vizualizare_lucrari +gcAcces=[1;2;3;4;] +Private polucrari,pocomenzi,polucrarielemente +Local lcSchema,lcSelect,lcOrder,lcFiltru,lcFiltruOriginal,llAfiseaza +Store '' To polucrari,pocomenzi,polucrarielemente +lcSchema=[id_lucrare n(20),nrord c(30),termen_executie t,id_lucrari_detalii n(20),explicatie c(100),data_lucrare t,]+; + [dataora t,utilizator c(30),inchisa n(1)] +lcSelect=[select id_lucrare,nrord,termen_executie,id_lucrari_detalii,explicatie,data_lucrare,]+; + [dataora,utilizator,inchisa from vlucrari_detalii] +lcOrder=[data_lucrare] +lcFiltru = [1=2] +lcFiltruOriginal = [id_sectie=]+ALLTRIM(STR(gnId_sectie)) +llAfiseaza = .F. +lcgroup = [] +llModParam = .T. +llAfiseaza = .F. +*gencursor('polucrari','crslucrari',lcSelect,lcFiltru,lcSchema,lcOrder,llAfiseaza) +gencursor('polucrari','crslucrari', lcSelect, lcFiltru, lcSchema, lcOrder, llAfiseaza, lcgroup, llModParam, lcFiltruOriginal) +polucrari.ca_baza1.afisare() + +lcSchema=[id_comanda n(20),COMANDA_EXTERNA c(20),id_codclient c(20),id_lucrare n(20),id_part n(20),id_gestiune n(20),]+; + [nr_comanda c(100),data_comanda t,nume c(70),data_livrare t,interna n(1),id_sectie n(5),id_sectie2 n(5),id_facturare n(5),id_livrare n(5),adresa_facturare c(50),adresa_livrare c(50)] +lcSelect=[select id_comanda,COMANDA_EXTERNA,id_codclient,id_lucrare,id_part,id_gestiune]+; + [nr_comanda,data_comanda,nume,data_livrare,interna,id_sectie,id_sectie2,id_facturare,id_livrare,b.denumire_adresa as adresa_facturare,c.denumire_adresa as adresa_livrare]+; + [from vcomenzi a left join adrese_parteneri b on b.id_adresa=a.id_facturare left join adrese_parteneri c on c.id_adresa=a.id_livrare] +lcOrder=[data_comanda] +lcFiltru = [1=2] +lcFiltruOriginal = [id_sectie=]+ALLTRIM(STR(gnId_sectie)) +llAfiseaza = .F. +lcgroup = [] +llModParam = .T. +llAfiseaza = .F. +*gencursor('pocomenzi','crscomenzi',lcSelect,lcFiltru,lcSchema,lcOrder,llAfiseaza) +gencursor('pocomenzi','crscomenzi', lcSelect, lcFiltru, lcSchema, lcOrder, llAfiseaza, lcgroup, llModParam, lcFiltruOriginal) +pocomenzi.ca_baza1.afisare() + +lcSchema=[id_lucrare n(20),denumire c(100),cantitate n(16,3),um c(10),cantitate2 n(16,3),um2 c(10)] +lcSelect=[select id_lucrare,denumire,cantitate,um,cantitate2,um2 from vlucrari_elemente] +lcOrder=[denumire] +lcFiltru = [1=2] +lcFiltruOriginal = [] && [id_sectie=]+ALLTRIM(STR(gnId_sectie)) +llAfiseaza = .F. +lcgroup = [] +llModParam = .T. +llAfiseaza = .F. +*gencursor('polucrarielemente','crslucrarielemente',lcSelect,lcFiltru,lcSchema,lcOrder,llAfiseaza) +gencursor('polucrarielemente','crslucrarielemente', lcSelect, lcFiltru, lcSchema, lcOrder, llAfiseaza, lcgroup, llModParam, lcFiltruOriginal) +polucrarielemente.ca_baza1.afisare() + +ofrmlucrari=Createobject('frm_lucrari_detalii') +ofrmlucrari.Show(1) +Release polucrari,pocomenzi,polucrarielemente,ofrmlucrari + +Endproc && vizualizare_lucrari +******************************************* SFARSIT: vizualizare_lucrari ******************************************* +******************************************* INCEPUT: vizualizare_comenzi ******************************************* +Procedure vizualizare_comenzi +gcAcces=[1;2;3;4;] +Private pocomenzi,pocomenzielemente +Local lcSchema,lcSelect,lcOrder,lcFiltru,llAfiseaza +Store '' To pocomenzi,pocomenzielemente +lcSchema=[selectat n(1),id_comanda n(20),COMANDA_EXTERNA c(20),id_codclient c(20),id_lucrare n(20),id_part n(20),id_agent n(20),id_delegat n(20),id_masina n(20),]+; + [nr_comanda c(100),data_comanda t,nume c(70),tip_comanda c(20),data_livrare t,nume_agent c(70),nume_delegat c(70),]+; + [nrinmat c(10),nrord c(30),facturat n(1),dataora t,utilizator c(40),data_livrat t,interna n(1),]+; + [nr_livrare c(50),inchisa n(1), id_sectie n(5),id_sectie2 n(5),id_facturare n(5),id_livrare n(5),adresa_facturare c(50),adresa_livrare c(50), cod_client c(50), id_ctr n(10),numar_contract c(100)] +lcSelect=[select 0 as selectat,a.id_comanda,a.COMANDA_EXTERNA,a.id_codclient,a.id_lucrare,a.id_part,a.id_agent,a.id_delegat,a.id_masina,]+; + [a.nr_comanda,a.data_comanda,a.nume,a.tip_comanda,a.data_livrare,a.nume_agent,a.nume_delegat,]+; + [a.nrinmat,a.nrord,a.facturat,a.dataora,a.utilizator,a.data_livrat,a.interna,a.nr_livrare,a.inchisa,a.id_sectie,a.id_sectie2,a.id_facturare,a.id_livrare,] + ; + [b.denumire_adresa as adresa_facturare,c.denumire_adresa as adresa_livrare, d.COD as cod_client,d.id_ctr,d.numar_contract ]+; + [from vcomenzi a left join adrese_parteneri b on b.id_adresa=a.id_facturare left join adrese_parteneri c on c.id_adresa=a.id_livrare left join parteneri_coduri d on d.id=a.id_codclient] +lcOrder=[data_comanda] +lcFiltru = [1=2] +lcFiltruOriginal = [] && [id_sectie=]+ALLTRIM(STR(gnId_sectie)) +llAfiseaza = .F. +*gencursor('pocomenzi','crscomenzi',lcSelect,lcFiltru,lcSchema,lcOrder,llAfiseaza) +gencursor('pocomenzi','crscomenzi', lcSelect, lcFiltru, lcSchema, lcOrder, llAfiseaza, lcgroup, llModParam, lcFiltruOriginal) +pocomenzi.ca_baza1.afisare() + +lcSchema=[id_comanda n(20),id_articol n(20),id_pol n(20),denumire c(100),pret n(16,] + alltrim(str(gnPPretV)) + [),cantitate n(16,] + alltrim(str(gnPCant)) + [),um c(10)] +lcSelect=[select id_comanda,id_articol,id_pol,denumire,pret,cantitate,um from vcomenzi_elemente] +lcOrder=[denumire] +lcFiltru = [1=2] +lcFiltruOriginal = [] && [id_sectie=]+ALLTRIM(STR(gnId_sectie)) +llAfiseaza = .F. +*gencursor('pocomenzielemente','crscomenzielemente',lcSelect,lcFiltru,lcSchema,lcOrder,llAfiseaza) +gencursor('pocomenzielemente','crscomenzielemente', lcSelect, lcFiltru, lcSchema, lcOrder, llAfiseaza, lcgroup, llModParam, lcFiltruOriginal) +pocomenzielemente.ca_baza1.afisare() + +ofrmcomenzi=Createobject('frm_comenzi') +ofrmcomenzi.Show(1) +Release pocomenzi,pocomenzielemente,ofrmcomenzi + +Endproc && vizualizare_comenzi +******************************************* SFARSIT: vizualizare_comenzi ******************************************* +******************************************* INCEPUT: vizualizare_optiuni ******************************************* +Procedure vizualizare_optiuni +If Used('crsoptiuni') + Use In crsoptiuni +Endif +lcSql=[SELECT VARTYPE,VARNAME,VARVALUE FROM ] + gcS + [.OPTIUNI WHERE PROGRAM='] + Upper(Alltrim(gcNumeProgram)) + ['] +lcCursor=[crsoptiuni] +lnSucces=goExecutor.oExecute(lcSql,lcCursor) +If lnSucces<0 + amessagebox(goExecutor.cEroare,0+48,"Eroare") +Else + Select crsoptiuni + Scan + lcvartype=Alltrim(Upper(Vartype)) + lcvarname=Alltrim(Upper(varname)) + Do Case + Case lcvartype = "CHARACTER" + luvarvalue = Alltrim(varvalue) + gc&lcvarname. = luvarvalue + Case lcvartype = "NUMERIC" + luvarvalue = Val(varvalue) + gn&lcvarname. = luvarvalue + Endcase + Endscan + Use In crsoptiuni + ofrmoptiune=Createobject('frm_optiuni_comenzi') + ofrmoptiune.Show(1) + Release ofrmoptiune +Endif +Endproc && vizualizare_optiuni +******************************************* SFARSIT: vizualizare_optiuni ******************************************* +******************************************************************************************************************** +*!* modificare v 2.0.11 +*!* Procedure extrage_optiuni +*!* Parameters tcLista, tnId + +*!* Local lcLista, lcReturn +*!* Store '' To lcReturn +*!* lcLista = Nvl(Alltrim(tcLista),'') +*!* lnNrOptiuni = Getwordcount(lcLista,";") +*!* For i=1 To lnNrOptiuni +*!* lcExtragOptId = Getwordnum(lcLista,i,";") +*!* lcId_extras = Getwordnum(lcExtragOptId,1,"::") +*!* If lcId_extras = Alltrim(Str(tnId)) +*!* lcReturn = Getwordnum(lcExtragOptId,2,"::") +*!* Endif +*!* Endfor + +*!* Return lcReturn + +*!* Endproc && extrage_optiune +******************************************************************************************************************** +******************************************************************************************************************** +*!* *!* lcLista = '1001::3;2::777;21001::5;' +*!* *!* lcId = 2 +*!* *!* lcValoareNoua = '9' +*!* *!* lcListaNoua = recompune_optiuni(lcLista,lcId,lcValoareNoua) + +*!* Procedure recompune_optiuni +*!* Parameters tcLista, tnId, tcValoareNoua + +*!* Local lcLista, lcListaNoua, lcId, lcValoareNoua, lnGrupuri, lcGrup, lcIdCautat, lnPoz, lnPozGrup, lcValoare +*!* lcLista = Nvl(Alltrim(tcLista),'') +*!* lcId = Alltrim(Str(tnId)) +*!* lcValoareNoua = Alltrim(tcValoareNoua) + +*!* llGasit = .F. +*!* lcListaNoua = '' +*!* lnGrupuri = Getwordcount(lcLista,';') +*!* For i = 1 To lnGrupuri +*!* lcGrup = Getwordnum(lcLista,i,";") +*!* If i=1 +*!* lcIdCautat = lcId + '::' +*!* Else +*!* lcIdCautat = ';'+ lcId + '::' +*!* lcGrup = ';' + lcGrup && ';id_sectie::optiune_veche' +*!* Endif +*!* lnPozGrup = At(lcIdCautat,lcGrup) +*!* If lnPozGrup > 0 +*!* llGasit = .T. +*!* lnPoz = At('::', lcGrup) +*!* If lnPoz > 0 +*!* lcValoare = Substr(lcGrup,lnPoz) && '::optiune_veche' +*!* lcGrup= Strtran(lcGrup,lcValoare,'::'+lcValoareNoua) +*!* Endif +*!* Endif +*!* lcListaNoua = lcListaNoua + lcGrup +*!* Endfor + +*!* If lnGrupuri = 0 +*!* lcListaNoua = lcId + '::' + lcValoareNoua +*!* Else +*!* If !llGasit +*!* lcListaNoua = lcListaNoua + ';' + lcId + '::' + lcValoareNoua +*!* Endif +*!* Endif + +*!* Return lcListaNoua + +*!* Endproc && recompune_optiuni +******************************************************************************************************************** +*!* Procedure make_sectii_utilizator +*!* lcSel = [{call PACK_COMENZI.sectii_utilizator(?gnIdUtil,?gnIdSucursala)}] +*!* lcCursor = 'crsSectii' +*!* lnSucces = goExecutor.oExecute(lcSel,lcCursor) +*!* If lnSucces < 0 +*!* amessagebox(goExecutor.cEroare,0+16,"Eroare") +*!* Return +*!* Endif +*!* Select crsSectii +*!* Go Top +*!* Endproc && make_sectii_utilizator +*!* modificare v 2.0.11 ^ +******************************************************************************************************************** +Function verifica_lucrare +Lparameters tnIdLucrare,tcNumeCursorVFP +Local llReturn,lcSql,lcNumeCursorOra,lcCursorV,lcMesaj +&&& (loCauta.id_lucrare,[crstempcomlucrare]) +llReturn = .T. +lcNumeCursorTempV = [crstempvluc] +lcCursorVerificare = [crsverificareluc] +lcMesaj = [] +If Used(lcCursorVerificare) + Use In (lcCursorVerificare) +Endif +If Used(lcNumeCursorTempV) + Use In (lcNumeCursorTempV) +Endif +Create Cursor (lcCursorVerificare) (Id N(14),nume c(100),nr_comanda M) +Create Cursor (lcNumeCursorTempV) (interna N(1),Id N(14),nume c(200),nr_comanda M,nr N(14)) +If !Empty(Nvl(tnIdLucrare,0)) + lcNumeCursorOra = [crstemporalucrare] + If Used(lcNumeCursorOra) + Use In (lcNumeCursorOra) + Endif + lcSql = [select a.interna,a.id,(case when a.interna in (2,5) then b.denumire ] + ; + [when interna = 3 then c.nume_gestiune ] + ; + [when interna = 4 then d.sectie ] + ; + [else null end) as nume,] + ; + [stringagg(a.nr_comanda) as nr_comanda,a.nr from ] + ; + [(select id_lucrare, interna,] + ; + [(case when interna in (2,5) then id_part ] + ; + [when interna = 3 then id_gestiune ] + ; + [when interna = 4 then id_sectie2 ] + ; + [else null end) as id,] + ; + [nr_comanda,] + ; + [count(*) over(partition by id_lucrare, interna,(case when interna = 2 then id_part when interna = 3 then id_gestiune ] + ; + [when interna = 4 then id_sectie2 else null end)) as nr ] + ; + [from ] + gcS + [.comenzi where sters = 0 and id_sectie = ?gnId_sectie and interna <> 1 and id_lucrare = ] + Alltrim(Str(tnIdLucrare)) + [) a ] + ; + [left join ] + gcS + [.nom_parteneri b on a.id = b.id_part and a.interna = 2 ] + ; + [left join ] + gcS + [.nom_gestiuni c on a.id = c.id_gestiune and a.interna = 3 ] + ; + [left join ] + gcS + [.nom_sectii d on a.id = d.id_sectie and a.interna = 4 ] + ; + [group by a.interna,a.id,(case when a.interna in (2,5) then b.denumire when a.interna = 3 then c.nume_gestiune when a.interna = 4 then d.sectie else null end),a.nr ] + ; + [order by 3,2] + lnSucces = goExecutor.oExecute(lcSql,lcNumeCursorOra) + If lnSucces < 0 + amessagebox(goExecutor.cEroare,16,"Eroare") + Return .F. + Else + Insert Into (lcNumeCursorTempV) Select interna,id,nume,Chr(44)+Alltrim(nr_comanda)+Chr(44) as nr_comanda,nr From (lcNumeCursorOra) + Use In (lcNumeCursorOra) + Endif +Endif + +If !Empty(tcNumeCursorVFP) + Local loDublura + Select (tcNumeCursorVFP) + Scan For interna <> 1 + Scatter Name loDublura + Select (lcNumeCursorTempV) + Locate For interna = loDublura.interna And Id = Iif(INLIST(loDublura.interna,2,5),loDublura.id_part,Iif(loDublura.interna=3,loDublura.id_gestiune,loDublura.id_sectie2)) && modificare v 2.0.20 + If Found() + If At([,] + Alltrim(loDublura.nr_comanda) + [,],Alltrim(nr_comanda)) = 0 +&& s-ar putea sa am comanda deja pe lucrare si sa o am si selectata in cursorul din VFP + Replace nr_comanda With Alltrim(nr_comanda) + Alltrim(loDublura.nr_comanda) + [,],nr With nr + 1 + Endif + Else + Append Blank + Replace interna With loDublura.interna,Id With Iif(INLIST(loDublura.interna,2,5),loDublura.id_part,Iif(loDublura.interna=3,loDublura.id_gestiune,loDublura.id_sectie2)),; && modificare v 2.0.20 + nume With loDublura.nume,nr_comanda With [,] + Alltrim(loDublura.nr_comanda) + [,],nr With 1 + Endif + Select (tcNumeCursorVFP) + Endscan + Release loDublura +Endif + +Insert Into (lcCursorVerificare) Select Id,nume,nr_comanda From (lcNumeCursorTempV) Where nr > 1 Order By nume,Id +If Reccount(lcCursorVerificare)>0 + lcMesaj = [Urmatorii beneficiari vor avea mai mult de o comanda pe lucrare : ] + Chr(13) + Chr(10) + Select (lcCursorVerificare) + Scan + lcMesaj = lcMesaj + Padr(Alltrim(nume),50,[ ]) + [ - ] + Substr(Alltrim(nr_comanda),2,Len(Alltrim(nr_comanda))-2) + Chr(13) + Chr(10) + Endscan + lcMesaj = lcMesaj + Chr(13) + Chr(10) + [Doriti sa continuati?] + If amessagebox(lcMesaj,4+32,"Comenzi multiple") = 7 + llReturn = .F. + Endif +Endif + +If Used(lcCursorVerificare) + Use In (lcCursorVerificare) +Endif +Return llReturn +Endfunc && verifica_lucrare +******************************************************************************************************************** \ No newline at end of file diff --git a/programe/onomenclatoare.prg b/programe/onomenclatoare.prg new file mode 100644 index 0000000..1d602c9 --- /dev/null +++ b/programe/onomenclatoare.prg @@ -0,0 +1,2580 @@ +*!* 22.03.2010 +*!* marius.mutu +*!* nom_Gestiuni_nou, nom_gestiuni_modifica (ccsectii - completare cursor sectii) + +*!* 31.01.2017 +*!* marius.mutu +*!* nom_gestiuni_nou + tnIdGestiune (optional): daca se doreste crearea unei gestiuni prin copierea unei alte gestiuni (tnIdGestiune) + +*!* 07.01.2020 +*!* marius.mutu +*!* contracte_nou, articole_nou + @tnId pentru returnarea id-ului inregistrarii nou create + +*!* 03.03.2026 +*!* marius.mutu +*!* nom_parteneri_nou - completare nume si prenume din denumire daca nu sunt completate, pentru persoana fizica + +* PROCEDURE viz_lucrari ( ) +* Date : 07.10.2004, 14:26:02 +* author : marius.mutu +* description: + +****** PARAMETER BLOCK ************** +* Parameters : 0 +* +******************************************* INCEPUT:viz_lucrari ******************************************* +Procedure viz_lucrari( ) + + Private polucrari, pcschema1, pcselect1 + Store '' To polucrari + pcschema1 = [''] + pcselect1 = ['select * from ] + gcS + [.vnom_lucrari where 1=2'] + pcorder1 = [nrord] + pcfiltru1 = [1=2] + llAfiseaza = .F. + gencursor('polucrari', 'v_nom_lucrari', pcselect1, pcfiltru1, pcschema1, pcorder1, llAfiseaza) + polucrari.ca_baza1.afisare() + ofrmsectii = Createobject('frm_lucrari') + ofrmsectii.Show(1) + Release polucrari + +Endproc +******************************************* SFARSIT: viz_lucrari******************************************* + +* PROCEDURE viz_sectii( ) +* Date : 07.10.2004, 14:26:02 +* author : catalin.neagu +* description: +******************************************* INCEPUT:viz_sectii ******************************************* +Procedure viz_sectii( ) + + Private posectii, pcschema1, pcselect1 + Store '' To posectii + pcschema1 = [''] + pcselect1 = ['select * from ] + gcS + [.vnom_sectii where 1=2'] + pcorder1 = [sectie] + pcfiltru1 = [2=2] + gcCondSucursala + llAfiseaza = .F. + gencursor('posectii', 'v_sectii', pcselect1, pcfiltru1, pcschema1, pcorder1, llAfiseaza) + posectii.ca_baza1.afisare() + ofrmsectii = Createobject('frm_sectii') + ofrmsectii.Show(1) + Release posectii + +Endproc +******************************************* SFARSIT: viz_sectii ******************************************* + +* PROCEDURE viz_sucursale( ) +* Date : 25.08.2005 +* author : marius.mutu +* description: +******************************************* INCEPUT:viz_sectii ******************************************* +Procedure viz_sucursale( ) + + Private posucursale, pcschema1, pcselect1 + Store '' To posucursale + pcschema1 = [''] + pcselect1 = ['select * from ] + gcS + [.vnom_sucursale where 1=2'] + pcorder1 = [sucursala] + pcfiltru1 = [2=2] + llAfiseaza = .F. + gencursor('posucursale', 'v_sucursale', pcselect1, pcfiltru1, pcschema1, pcorder1, llAfiseaza) + posucursale.ca_baza1.afisare() + ofrmsucursale = Createobject('frm_sucursale') + ofrmsucursale.Show(1) + Release posucursale + +Endproc +******************************************* SFARSIT: viz_sectii ******************************************* + +* PROCEDURE viz_gestiuni( ) +* Date : 07.10.2004, 16:07:41 +* author : catalin.neagu +* description: + +****** PARAMETER BLOCK ************** +* Parameters : 0 +* +******************************************* INCEPUT:viz_gestiuni ******************************************* +Procedure viz_gestiuni( ) + + Private pogestiuni, pcschema1, pcselect1 + Store '' To pogestiuni + *!* pcschema1=['id_gestiune n(5),nume_gestiune c(50),cgest c(4),cont_gestiune c(4),ngest c(10),nrg n(4),ascd c(4),nr_grupa n(4),gest n(3)'] + pcschema1 = [''] + pcselect1 = ['select * from ] + gcS + [.vnom_gestiuni where 1=2'] + pcorder1 = [nume_gestiune] + pcfiltru1 = [2=2] + llAfiseaza = .F. + gencursor('pogestiuni', 'v_gestiuni', pcselect1, pcfiltru1, pcschema1, pcorder1, llAfiseaza) + pogestiuni.ca_baza1.afisare() + ofrmgest = Createobject('frm_gestiuni') + ofrmgest.Show(1) + Release posectii + +Endproc +******************************************* SFARSIT: viz_gestiuni ******************************************* + +* PROCEDURE viz_responsabili( ) +* Date : 08.10.2004, 14:24:55 +* author : catalin.neagu +* description: + +****** PARAMETER BLOCK ************** +* Parameters : 0 +* +******************************************* INCEPUT:viz_responsabili ******************************************* +Procedure viz_responsabili( ) + + Private poresponsabili, pcschema1, pcselect1 + Store '' To poresponsabili + pcschema1 = [''] + pcselect1 = ['select * from ] + gcS + [.vnom_responsabili where 1=2'] + pcorder1 = [nume] + pcfiltru1 = [2=2] + llAfiseaza = .F. + gencursor('poresponsabili', 'v_responsabili', pcselect1, pcfiltru1, pcschema1, pcorder1, llAfiseaza) + poresponsabili.ca_baza1.afisare() + ofrmres = Createobject('frm_responsabili') + ofrmres.Show(1) + Release poresponsabili + + +Endproc +******************************************* SFARSIT: viz_responsabili ******************************************* + +* PROCEDURE viz_venchel( ) +* Date : 08.10.2004, 15:48:26 +* author : catalin.neagu +* description: + +****** PARAMETER BLOCK ************** +* Parameters : 0 +* +******************************************* INCEPUT:viz_venchel ******************************************* +Procedure viz_venchel( ) + + &&code goes here + Private povenchel, pcschema1, pcselect1 + Store '' To povenchel + pcschema1 = ['id_venchelt n(10),id_tata n(10),tip_venchelt n(1),explicatie c(200),'+] + ; + ['explicatie_fiu c(50),explicatie_tata c(50),inactiv n(1),id_mod n(20)'] + pcselect1 = ['select id_venchelt,id_tata,tip_venchelt,explicatie,'+] + ; + ['explicatie_fiu,explicatie_tata,inactiv,id_mod from ] + gcS + [.vnom_venchel where 1=2'] + pcorder1 = [explicatie,explicatie_fiu,explicatie_tata] + pcfiltru1 = [2=2] + llAfiseaza = .F. + gencursor('povenchel', 'v_venchel', pcselect1, pcfiltru1, pcschema1, pcorder1, llAfiseaza) + povenchel.ca_baza1.afisare() + ofrmvenchel = Createobject('frm_venchel') + ofrmvenchel.Show(1) + Release povenchel + +Endproc +******************************************* SFARSIT: viz_venchel ******************************************* + +* PROCEDURE viz_plcont( ) +* Date : 08.10.2004, 16:38:18 +* author : catalin.neagu +* description: + +****** PARAMETER BLOCK ************** +* Parameters : 0 +* +******************************************* INCEPUT:viz_plcont ******************************************* +Procedure viz_plcont( ) + + Private poplcont, pcschema1, pcselect1 + Store '' To poplcont + pcschema1 = [''] + pcselect1 = ['select * from ] + gcS + [.vnom_plcont where 1=2'] + pcorder1 = [AN,CONT,ACONT] + pcfiltru1 = [an=] + Alltrim(Str(gnan)) + llAfiseaza = .F. + gencursor('poplcont', 'v_plcont', pcselect1, pcfiltru1, pcschema1, pcorder1, llAfiseaza) + poplcont.ca_baza1.afisare() + ofrmplcont = Createobject('frm_plcont') + ofrmplcont.Show(1) + Release poplcont + + +Endproc +******************************************* SFARSIT: viz_plcont ******************************************* + +* PROCEDURE viz_fdoc( ) +* Date : 11.10.2004, 09:41:01 +* author : catalin.neagu +* description: + +****** PARAMETER BLOCK ************** +* Parameters : 0 +* +******************************************* INCEPUT:viz_fdoc ******************************************* +Procedure viz_fdoc( ) + + Private pofdoc, pcschema1, pcselect1 + Store '' To pofdoc + + lcSchema = [ID_FDOC I, ID_FDOC2 I, FEL_DOCUMENT C(30), ID_MOD I, INACTIV I, TIP_DOC C(10), DESCRIERE C(50), PAYMENTCODE C(9), METHODCODE C(9), PAYMENTMETHOD C(110), PAYMENTNAME C(250)] + lcSelect = [select id_fdoc, id_fdoc2, fel_document, id_mod, inactiv, tip_doc, descriere, paymentcode, methodcode, paymentmethod, paymentname from vnom_fdoc] + lcOrder = [fel_document] + lcFiltru = [2=2] + llAfiseaza = .F. + lcgroup = "" + llModParam = .T. + lcFiltruOriginal = [] + + gencursor('pofdoc', 'v_fdoc', lcSelect, lcFiltru, lcSchema, lcOrder, llAfiseaza, lcgroup, llModParam, lcFiltruOriginal) + + pofdoc.ca_baza1.afisare() + ofrmfdoc = Createobject('frm_fdoc') + ofrmfdoc.Show(1) + Release pofdoc + + Use In (Select('v_fdoc')) +Endproc +******************************************* SFARSIT: viz_fdoc ******************************************* + +* PROCEDURE viz_judete( ) +* Date : 11.10.2004, 13:40:46 +* author : catalin.neagu +* description: + +****** PARAMETER BLOCK ************** +* Parameters : 0 +* +******************************************* INCEPUT:viz_judete ******************************************* +Procedure viz_judete( ) + + Private pojud, pcschema1, pcselect1 + Store '' To pojud + + lnSucces = update_tip_doc() && updateserver.prg + If m.lnSucces < 0 + AMESSAGEBOX(goExecutor.cEroare, 0 + 16, _Screen.Caption) + Create Cursor crsTipDoc394 (Id I, tip C(50)) + Endif + + pcschema1 = [''] + pcselect1 = ['select * from syn_vnom_judete where 1=2'] + pcorder1 = [judet] + pcfiltru1 = [2=2] + llAfiseaza = .F. + gencursor('pojud', 'v_judet', pcselect1, pcfiltru1, pcschema1, pcorder1, llAfiseaza) + pojud.ca_baza1.afisare() + ofrmjud = Createobject('frm_judet') + ofrmjud.Show(1) + Release pojud + +Endproc +******************************************* SFARSIT: viz_judete ******************************************* + +* PROCEDURE viz_localitati( ) +* Date : 11.10.2004, 13:42:47 +* author : catalin.neagu +* description: + +****** PARAMETER BLOCK ************** +* Parameters : 0 +* +******************************************* INCEPUT:viz_localitati ******************************************* +Procedure viz_localitati( ) + + Private poloc, pcschema1, pcselect1 + Store '' To poloc + pcschema1 = [''] + pcselect1 = ['select * from syn_vnom_localitati where 1=2'] + pcorder1 = [localitate] + pcfiltru1 = [2=2] + llAfiseaza = .F. + gencursor('poloc', 'v_local', pcselect1, pcfiltru1, pcschema1, pcorder1, llAfiseaza) + poloc.ca_baza1.afisare() + ofrmloc = Createobject('frm_localitati') + ofrmloc.Show(1) + Release poloc + +Endproc +******************************************* SFARSIT: viz_localitati ******************************************* + + +*------------------------------------------------------------ +* Description: vizualizare parteneri +* Parameters: +* Return: +* Use: +*------------------------------------------------------------ +* Id Date By Description +* 1 26/06/2006 paula.mutu Initial Creation +* +*------------------------------------------------------------ +Procedure viz_parteneri + Lparameters tnIdTipPart, tnSpecial, tcMesaj, tcTitlu, tnTipPersoana + *!* tnIdTipPart: tip partener care este bifat implicit + *!* tnSpecial: tipul partener bifat nu se poate modifica de utilizator + *!* tcMesaj: + *!* tcTitlu: Titlu formular (Clienti/Furnizori/Agenti/Responsabili/Delegati) + *!* tnTipPersoana : tipul de persoana cu care intra implicit la adaugare ( 1 - juridica, 2 - fizica ) + + + PRIVATE poCoduri + LOCAL lcSchema, lcSelect, lcFiltru, lcOrder, llAfiseaza, lcGroup, llModParam, lcFiltruOriginal + Local lnIdTipPart, lnSpecial, lcMesaj, lcTitlu, lnTipPersoana + + poCoduri = NULL + + lnIdTipPart = Icase(!Empty(tnIdTipPart), tnIdTipPart, 0) + lnSpecial = Icase(!Empty(tnSpecial), tnSpecial, 0) + lcMesaj = Icase(!Empty(tcMesaj), tcMesaj, '') + lcTitlu = ICASE(!EMPTY(m.tcTitlu), m.tcTitlu, '') + lnTipPersoana = ICASE(!EMPTY(m.tnTipPersoana), m.tnTipPersoana, 1) + + ** load cursor crscoresp_tip_parteneri gol: + Private pocoresp_tip_parteneri, pcselect1, pcfiltru1, pcschema1, pcorder1 + Store "" To pcselect1, pcfiltru1, pcschema1, pcorder1, pocoresp_tip_parteneri + pcselect1 = ['SELECT * FROM VCORESP_TIP_PART where 1=2'] + pcfiltru1 = [1=2] + pcschema1 = [''] + pcorder1 = [TIP_PARTENER] + llAfisare1 = .F. + gencursor('pocoresp_tip_parteneri', 'crscoresp_tip_parteneri', pcselect1, pcfiltru1, pcschema1, pcorder1, llAfisare1) + pocoresp_tip_parteneri.ca_baza1.afisare() + + && adrese + Private poAdrese, pcselect2, pcfiltru2, pcschema2, pcorder2 + Store "" To poAdrese, pcselect2, pcfiltru2, pcschema2, pcorder2 + pcselect2 = ['SELECT id_adresa, id_part, denumire_adresa, da_apare, strada, numar, bloc, scara, etaj, apart, sector, '+] + ; + ['id_loc, localitate, id_regiune, id_judet, judet, codpostal, id_tara, tara, telefon1, telefon2, fax, email, web, '+] + ; + ['inactiv, principala FROM ] + gcS + [.vadrese_parteneri where 1=2'] + pcfiltru2 = [1=2] + pcschema2 = [''] + pcorder2 = [localitate,strada] && modificare adrese parteneri 12.2013 : am adaugat localitate + llAfisare2 = .F. + gencursor('poAdrese', 'crsAdrese', pcselect2, pcfiltru2, pcschema2, pcorder2, llAfisare2) + poAdrese.ca_baza1.afisare() + + && persoane de contact + Private poPers, pcselect3, pcfiltru3, pcschema3, pcorder3 + Store "" To poPers, pcselect, pcfiltru, pcschema, pcorder + pcselect3 = ['SELECT id_pers, id_part, nume, prenume, apelativ, functia, telefon, email, inactiv, principal FROM ] + gcS + [.vpers_contact where 1=2'] + pcfiltru3 = [1=2] + pcschema3 = [''] + pcorder3 = [nume] + llAfisare3 = .F. + gencursor('poPers', 'crsPers_contact', pcselect3, pcfiltru3, pcschema3, pcorder3, llAfisare3) + poPers.ca_baza1.afisare() + + && coduri + lcSchema = [] + lcSelect = [SELECT id,id_part, cod FROM vparteneri_coduri] + lcFiltru = [1=2] + lcOrder = [cod] + llAfiseaza = .F. + lcGroup = [] + llModParam = .T. + lcFiltruOriginal = [] + gencursor('poCoduri', 'crsCoduri', lcSelect, lcFiltru, lcSchema, lcOrder, llAfiseaza, lcGroup, llModParam, lcFiltruOriginal) + poCoduri.ca_baza1.afisare() + + && contracte + Private poContracte + LOCAL lcSelect4, lcFiltru4, lcSchema4, lcOrder4, llModParam4, lcFiltruOriginal4, lcGroup4 + Store NULL To poContracte + + TEXT TO lcSchema4 NOSHOW +id_ctr N(10), id_part N(12), denumire C(70), data D, numar C(100), id_tip_ctr N(6), inactiv N(3), denumire_tip C(100), tata C(200), valftva N(18,4), valctva N(18,4), id_valuta N(7), nume_val C(20), val_discount N(18,4), proc_tva N(8,2), incetat N(3), data_inceput D, data_sfarsit D, data_incetat D, motiv_incetat C(200), scadenta_incasare N(5), coef_penalitati N(8,2), id_responsabil N(12), id_sectie N(7), sectie C(50), durata N(7), semnat N(3), observatii M, sters N(3), id_util N(10), dataora D, id_utils N(10), dataoras D, opt_facturare N(6), text_standard N(3), id_agent N(20), responsabil C(70), nume_agent C(70), contract C(111), id_nota N(10), descriere C(250), id_selectie N(6), selectie C(100), grnt_proc_ret N(4), grnt_val_ret N(12,4), grnt_alerta1 N(6), grnt_proc_alerta1 N(5), grnt_pv_nr N(12), grnt_pv_data D, numar_intern C(20), data_intern D, ofertanti C(200), tip_istoric C(1), id_tata N(10), activ N(3), grnt_perioada N(4), afisare_scadenta N(3), id_sucursala N(7), tip_curs N(4), tip_curs_explicatie C(100), coef_penalitati2 N(8,2), zile_penalitati N(6), zile_penalitati2 N(6), zile_gratie_penalitati N(6) + ENDTEXT + TEXT TO lcSelect4 NOSHOW +Select id_ctr, id_part, denumire, data, numar, id_tip_ctr, inactiv, denumire_tip, tata, valftva, valctva, id_valuta, nume_val, val_discount, proc_tva, incetat, data_inceput, data_sfarsit, data_incetat, motiv_incetat, scadenta_incasare, coef_penalitati, id_responsabil, id_sectie, sectie, durata, semnat, observatii, sters, id_util, dataora, id_utils, dataoras, opt_facturare, text_standard, id_agent, responsabil, nume_agent, contract, id_nota, descriere, id_selectie, selectie, grnt_proc_ret, grnt_val_ret, grnt_alerta1, grnt_proc_alerta1, grnt_pv_nr, grnt_pv_data, numar_intern, data_intern, ofertanti, tip_istoric, id_tata, activ, grnt_perioada, afisare_scadenta, id_sucursala, tip_curs, tip_curs_explicatie, coef_penalitati2, zile_penalitati, zile_penalitati2, zile_gratie_penalitati From vContracte + ENDTEXT + + lcFiltru4 = [1=2] + lcOrder4 = [data desc] + llAfisare4 = .F. + lcGroup4 = [] + llModParam4 = .T. + lcFiltruOriginal4 = [] + gencursor('poContracte', 'crsContracte', lcselect4, lcfiltru4, lcSchema4, lcOrder4, llAfisare4, lcGroup4, llModParam4, lcFiltruOriginal4) + poContracte.ca_baza1.afisare() + + Private poparteneri + Store '' To poparteneri + + TEXT TO lcSchema1 NOSHOW +id_part N(12), denumire C(70), nume C(70), prenume C(70), cod_fiscal C(30), cod_fiscal2 C(30), reg_comert C(30), id_loc_inreg N(12), localitate C(100), tip_persoana N(3), prefix C(30), sufix C(30), banca C(40), cont_banca C(30), inactiv N(3), motiv_inactiv C(100), id_categorie_entitate N(12), categorie_entitate C(150), dataora T, utilizator C(100), adresa C(250), telefon C(50), email C(100), swift_banca C(11), adresa_banca C(150), institutie_publica N(1) + ENDTEXT + + Text To lcSelect1 Noshow +SELECT p.id_part, p.denumire, p.nume, p.prenume, p.cod_fiscal, p.cod_fiscal2, p.reg_comert, + p.id_loc_inreg, p.localitate_inreg, p.tip_persoana, p.prefix, p.sufix, p.banca, p.cont_banca, + p.inactiv, p.motiv_inactiv,p.id_categorie_entitate,p.categorie_entitate,p.dataora,p.utilizator, + p.adresa, p.telefon, p.email, p.swift_banca, p.adresa_banca, p.institutie_publica FROM VNOM_PARTENERI p + Endtext + + lcOrder1 = [p.denumire] + lcgroup = [] + lcFiltru1 = [1=2] + lcFiltruOriginal = [] + + * In programul de contracte selectez doar partenerii cu tipul -1 CLIENTI / -2 FURNIZORI + If Type('gnParametru_prog') <> 'U' And Inlist(gnParametru_prog, 1, 2) && contracte clienti/furnizori + Text To lcSelect1 ADDITIVE NOSHOW + left join CORESP_TIP_PART ctp on ctp.ID_PART = p.ID_PART + left join nom_tip_parteneri tp on (tp.id_tip_part = ctp.id_tip_part and tp.sters = 0) + Endtext + If gnParametru_prog = 1 && contracte clienti + lcFiltruOriginal = [tp.parent_id = -1] + Else && gnParametru_prog = 2 && contracte furnizori + lcFiltruOriginal = [tp.parent_id = -2] + Endif && gnParametru_prog + Endif + + llModParam = .T. + llAfiseaza = .F. + + gencursor('poparteneri', 'crsparteneri', lcSelect1, lcFiltru1, lcSchema1, lcOrder1, llAfiseaza, lcgroup, llModParam, lcFiltruOriginal) + poparteneri.ca_baza1.afisare() + + Select crsparteneri + oParteneri = Createobject('frm_parteneri', lnIdTipPart, lnSpecial, lcMesaj, lcTitlu, lnTipPersoana) + oParteneri.Show() + Release poparteneri + Release pocoresp_tip_parteneri + Release poAdrese + Release poContracte + = close_cctipuri() + USE IN (SELECT('crsContracte')) + USE IN (SELECT('crsparteneri')) + USE IN (SELECT('crsPers_contact')) + USE IN (SELECT('crsCoduri')) + USE IN (SELECT('crscoresp_tip_parteneri')) + USE IN (SELECT('crsAdrese')) +Endproc && viz_parteneri +************************************************************* +******************************************* INCEPUT:vizualizare_partener ******************************************* +Procedure vizualizare_partener + Lparameters tnIdTipPart, tcTitlu, tnTipPersoana + *!* tnTipPersoana : tipul de persoana cu care intra implicit la adaugare ( 1 - juridica, 2 - fizica ) + + Private poparteneri, poAdrese + Local lcSchema, lcSelect, lcOrder, lcFiltru, llAfiseaza + Store '' To poparteneri, poAdrese, poCoduri + lcSchema = [] + lcSelect = [SELECT distinct p.id_part, p.denumire, p.nume, p.prenume, p.cod_fiscal, p.reg_comert,] + ; + [p.id_loc_inreg, p.localitate_inreg, p.tip_persoana, p.prefix, p.sufix, p.banca, p.cont_banca,] + ; + [p.inactiv, p.motiv_inactiv, p.id_categorie_entitate, p.categorie_entitate, p.swift_banca, p.adresa_banca from vnom_parteneri p ] + ; + [left join coresp_tip_part ctp on ctp.id_part = p.id_part where 1=2] + lcOrder = [p.denumire] + lcFiltru = [1=2] + llAfiseaza = .F. + gencursor('poparteneri', 'crsparteneri', lcSelect, lcFiltru, lcSchema, lcOrder, llAfiseaza) + poparteneri.ca_baza1.afisare() + + lcSchema = [] + lcSelect = ['SELECT id_adresa, id_part, denumire_adresa, da_apare, strada, numar, bloc, scara, etaj, apart, sector,'+] + ; + ['id_loc, localitate, id_regiune, id_judet, judet, codpostal, id_tara, tara, telefon1, telefon2, fax, email, web, '+] + ; + ['inactiv, principala FROM ] + gcS + [.vadrese_parteneri where 1=2'] + lcFiltru = [1=2] + lcOrder = [strada] + llAfiseaza = .F. + gencursor('poAdrese', 'crsAdrese', lcSelect, lcFiltru, lcSchema, lcOrder, llAfiseaza) + poAdrese.ca_baza1.afisare() + + lcSchema = [] + lcSelect = ['SELECT id,id_part, cod FROM ] + gcS + [.vparteneri_coduri where 1=2'] + lcFiltru = [1=2] + lcOrder = [cod] + llAfiseaza = .F. + gencursor('poCoduri', 'crsCoduri', lcSelect, lcFiltru, lcSchema, lcOrder, llAfiseaza) + poCoduri.ca_baza1.afisare() + Select crsparteneri + ofrmpartener = Createobject('frm_partener', tnIdTipPart, tcTitlu, tnTipPersoana) + ofrmpartener.Show(1) + Release ofrmpartener, poAdrese, poparteneri, poCoduri + +Endproc +******************************************* SFARSIT: vizualizare_partener******************************************* +******************************************* INCEPUT: vizualizare_furnizori ******************************************* +Procedure vizualizare_furnizori + Local lnIdTipFurnizor + If Used('crsconttemp') + Use In crsconttemp + Endif + lcSql = [select id_tip_part from ] + gcS + [.coresp_tip_cont where cont='401'] + lcCursor = [crsconttemp] + lnSucces = goExecutor.oExecute(lcSql, lcCursor) + goExecutor.oReset() + If lnSucces < 0 + AMESSAGEBOX(goExecutor.cEroare, 0 + 16, "Eroare") + Return + Endif + If Reccount('crsconttemp') > 0 + Select crsconttemp + lnIdTipFurnizor = id_tip_part + Use In crsconttemp + + DO viz_parteneri with lnIdTipFurnizor , 1, "Alegeti tipul", "Furnizori" +*!* Do vizualizare_partener With lnIdTipFurnizor, "Furnizori" + + Else + Use In crsconttemp + AMESSAGEBOX("Nu au fost gasite configurarile de tipuri de parteneri pentru contul 401 !", 0 + 48, "Atentie") + Endif +Endproc +******************************************* SFARSIT: vizualizare_furnizori ******************************************* +******************************************* INCEPUT: vizualizare_clienti ******************************************* +Procedure vizualizare_clienti + LPARAMETERS tlVizualizareParteneri + * tlVizualizareParteneri: .F. frm_partener, .T. frm_parteneri + If Used('crsconttemp') + Use In crsconttemp + ENDIF + + lcSql = [select id_tip_part from ] + gcS + [.coresp_tip_cont where cont='] + gcCont411 + ['] + lcCursor = [crsconttemp] + lnSucces = goExecutor.oExecute(lcSql, lcCursor) + goExecutor.oReset() + If lnSucces < 0 + AMESSAGEBOX(goExecutor.cEroare, 0 + 16, "Eroare") + Return + Endif + If Reccount('crsconttemp') > 0 + Select crsconttemp + lnIdTipClient = id_tip_part + Use In crsconttemp + +*!* IF m.tlVizualizareParteneri + DO viz_parteneri with lnIdTipClient, 1, "Alegeti tipul", "Clienti" +*!* ELSE +*!* Do vizualizare_partener With lnIdTipClient, "Clienti" +*!* ENDIF + Else + Use In crsconttemp + AMESSAGEBOX("Nu au fost gasite configurarile de tipuri de parteneri pentru contul " + gcCont411 + " !", 0 + 48, "Atentie") + Endif +Endproc +******************************************* SFARSIT: vizualizare_clienti ******************************************* +******************************************* INCEPUT: vizualizare_responsabili ******************************************* +Procedure vizualizare_responsabili + Do vizualizare_partener With (gnIdTipResponsabili), ("Responsabili"), (2) +Endproc +******************************************* SFARSIT: vizualizare_delegati ******************************************* +******************************************* INCEPUT: vizualizare_delegati ******************************************* +Procedure vizualizare_delegati + Do vizualizare_partener With (gnIdTipDelegati), ("Delegati"), (2) +Endproc +******************************************* SFARSIT: vizualizare_delegati ******************************************* +******************************************* INCEPUT: vizualizare_agenti ******************************************* +Procedure vizualizare_agenti + Do vizualizare_partener With (gnIdTipAgenti), ("Agenti"), (2) +Endproc +******************************************* SFARSIT: vizualizare_agenti ******************************************* +Procedure viz_entitati_conturi + + ** load cursor crstipuriconturi gol: + + Private poconturi, pcselect4, pcfiltru4, pcschema4, pcorder4 + Store "" To pcselect4, pcfiltru4, pcschema4, pcorder4, poconturi + pcselect4 = ['SELECT * FROM ] + gcS + [.CONFIG_CONT_IREG where 1=2'] + pcfiltru4 = [1=2] + pcschema4 = [''] + pcorder4 = [CONT] + llAfisare4 = .F. + gencursor('poconturi', 'crsconturi', pcselect4, pcfiltru4, pcschema4, pcorder4, llAfisare4) + poconturi.ca_baza1.afisare() + + Private potipuri_conturi, pcselect3, pcfiltru3, pcschema3, pcorder3 + Store "" To pcselect3, pcfiltru3, pcschema3, pcorder3, potipuri_conturi + **pcselect2=['SELECT * FROM '+]+gcS+[+'CORESP_TIP_PART join NOM_TIP_PARTENERI on CORESP_TIP_PART.ID_TIP_PART=NOM_TIP_PARTENERI.ID_TIP_PART where 2=2'] + pcselect3 = ['SELECT * FROM ] + gcS + [.VCORESP_TIP_CONT where 1=2'] + pcfiltru3 = [1=2] + pcschema3 = [''] + pcorder3 = [CONT] + llAfisare3 = .F. + gencursor('potipuri_conturi', 'crstipuriconturi', pcselect3, pcfiltru3, pcschema3, pcorder3, llAfisare3) + potipuri_conturi.ca_baza1.afisare() + + ** load cursor crstipuriparteneri plin: + Private potipuri_parteneri, pcselect2, pcfiltru2, pcschema2, pcorder2 + Store "" To pcselect2, pcfiltru2, pcschema2, pcorder2, potipuri_parteneri + **pcselect2=['SELECT * FROM '+]+gcS+[+'CORESP_TIP_PART join NOM_TIP_PARTENERI on CORESP_TIP_PART.ID_TIP_PART=NOM_TIP_PARTENERI.ID_TIP_PART where 2=2'] + pcselect2 = ['SELECT * FROM ] + gcS + [.VNOM_TIP_PARTENERI where 1=2'] + pcfiltru2 = [2=2] + pcschema2 = [''] + pcorder2 = [TIP_PARTENER] + llAfisare2 = .F. + gencursor('potipuri_parteneri', 'crstipuriparteneri', pcselect2, pcfiltru2, pcschema2, pcorder2, llAfisare2) + potipuri_parteneri.ca_baza1.afisare() + + Select crstipuriparteneri + oEntitati_conturi = Createobject('frm_entitati_conturi') + oEntitati_conturi.Show() + Release poconturi + Release potipuri_conturi + Release potipuri_parteneri + +Endproc && viz_entitati_conturi +******************************************* SFARSIT: viz_entitati_conturi ******************************************* + +*!* 11.04.2012 : marius.atanasiu +Procedure lucrari_validat_nou + nom_lucrari_nou() +Endproc +************************************************************* +***proceduri lansare forme de insert nou pt. cauta_alfa:***** +************************************************************* +Procedure nom_lucrari_nou + Local loRec, lnSucces, lcSelect, lcCursor + + lcSelect = [select * from ] + gcS + [.nom_lucrari where 1=2] + lcCursor = [crsLucrariTemp] + lnSucces = goExecutor.oExecute(lcSelect, lcCursor) + If lnSucces < 0 + AMESSAGEBOX(goExecutor.cEroare, 0 + 16, 'Eroare') + Return Null + Endif + + Select (lcCursor) + Scatter Name loRec + AddProperty(loRec, "nume_parinte", "") + Do Adauga_Modifica_Inregistrare With 'lucrari', loRec, , "INSERT" + If Used(lcCursor) + Use In (lcCursor) + Endif + + If gnButon = 1 + Return loRec + Else + Return Null + Endif +Endproc +***====================================================================================== + +*!* 28.07.2006 +*!* MARIUS.MUTU +Procedure nom_lucrari_modifica + Parameters tnIdLucrare + + Local loRec, lnSucces, lcSelect + loRec = Null + + If Empty(tnIdLucrare) Or Type('tnIdLucrare') # 'N' Or Isnull(tnIdLucrare) + Return loRec + Endif + + + lcSelect = [select * from ] + gcS + [.nom_lucrari where id_lucrare = ?tnIdLucrare] + lcCursor = [crsLucrariTemp] + lnSucces = goExecutor.oExecute(lcSelect, lcCursor) + If lnSucces < 0 + AMESSAGEBOX(goExecutor.cEroare, 0 + 16, 'Eroare') + Return loRec + Endif + + Select (lcCursor) + Scatter Name loRec + Use In (lcCursor) + + AddProperty(loRec, "nume_parinte", "") + + If !Isnull(loRec.id_tata) + lcSelect = [select nrord from ] + gcS + [.nom_lucrari where sters = 0 and id_lucrare = ] + Transform(loRec.id_tata) + lcCursor = [crsLucrariTemp] + lnSucces = goExecutor.oExecute(lcSelect, lcCursor) + If lnSucces < 0 + AMESSAGEBOX(goExecutor.cEroare, 0 + 16, 'Eroare') + Else + loRec.nume_parinte = Alltrim(crsLucrariTemp.nrord) + Endif + If Used(lcCursor) + Use In (lcCursor) + Endif + Endif + + Do Adauga_Modifica_Inregistrare With 'lucrari', loRec, loRec.id_lucrare, "UPDATE" + + + If gnButon = 1 + Return loRec + Else + Return Null + Endif + +Endproc && nom_lucrari_modifica +***====================================================================================== + +Procedure nom_fdoc_nou + + Private pofdoc, pcschema1, pcselect1 + Store '' To pofdoc + pcschema1 = [''] + pcselect1 = ['select * from ] + gcS + [.vnom_fdoc where 1=2'] + pcorder1 = [fel_document] + pcfiltru1 = [2=2] + llAfiseaza = .F. + gencursor('pofdoc', 'v_fdoc_nou', pcselect1, pcfiltru1, pcschema1, pcorder1, llAfiseaza) + pofdoc.ca_baza1.afisare() + *** + Select v_fdoc_nou + Scatter Name loRec Blank + Do Adauga_Modifica_Inregistrare With 'fdoc', loRec, , "INSERT" + Use In v_fdoc_nou + +Endproc + + +Procedure nom_gestiuni_nou + Lparameters tnIdGestiune + * tnIdGestiune (optional): daca se doreste crearea unei gestiuni prin copierea unei alte gestiuni (tnIdGestiune) + + Private pogestiuni + Local lcSchema, lcSelect, lcFiltru, lcOrder, llAfiseaza, lcgroup, llModParam, lcFiltruOriginal, llBlank + Store '' To pogestiuni + + lcSchema = [] + lcSelect = [select * from vnom_gestiuni] + lcOrder = [nume_gestiune] + lcFiltru = Iif(!Empty(Nvl(tnIdGestiune, 0)), [id_gestiune = ] + Transform(tnIdGestiune), [1=2]) + llAfiseaza = .F. + lcgroup = "" + llModParam = .T. + lcFiltruOriginal = [] + + gencursor('pogestiuni', 'v_gestiuni_nou', lcSelect, lcFiltru, lcSchema, lcOrder, llAfiseaza, lcgroup, llModParam, lcFiltruOriginal) + pogestiuni.ca_baza1.afisare() + + *** + Select v_gestiuni_nou + If Empty(Nvl(tnIdGestiune, 0)) + Scatter Name loRec Memo Blank + loRec.id_responsabil = Null && modificare ROAGEST v 2.0.150 + loRec.id_sectie = Null && modificare ROAGEST v 2.1.2 + Else + Scatter Name loRec Memo + loRec.id_gestiune = Null + Endif + + Use In (Select('v_gestiuni_nou')) + + = ccsucursale() + = cctipuri_gestiuni() + llBlank = .T. + = ccsectii(m.llBlank) + + loRec.id_sucursala = gnIdSucursala + Do Adauga_Modifica_Inregistrare With 'gestiuni', loRec, , "INSERT" + + = close_ccsucursale() + = close_cctipuri_gestiuni() + = close_ccsectii() +Endproc + + +*!* 18.09.2006 +*!* MARIUS.MUTU +Procedure nom_gestiuni_modifica + Parameters tnIdGestiune + + Local loRec, lnSucces, lcSelect, llBlank + loRec = Null + + If Empty(tnIdGestiune) Or Type('tnIdGestiune') # 'N' Or Isnull(tnIdGestiune) + Return loRec + Endif + + + lcSelect = [select * from vnom_gestiuni where id_gestiune = ?tnIdGestiune] + lcCursor = [crsGestiuneTemp] + lnSucces = goExecutor.oExecute(lcSelect, lcCursor) + If lnSucces < 0 + AMESSAGEBOX(goExecutor.cEroare, 0 + 16, 'Eroare') + Return loRec + Endif + + Select (lcCursor) + Scatter Name loRec + Use In (lcCursor) + + = ccsucursale() + = cctipuri_gestiuni() + llBlank = .T. + = ccsectii(m.llBlank) + + Select vnom_sucursale + Locate For id_sucursala = loRec.id_sucursala + If Found() + loRec.sucursala = vnom_sucursale.sucursala + Endif + + Select vtipuri_gestiuni + Locate For id_tipgest = loRec.nr_pag + If Found() + loRec.nume_tip = vtipuri_gestiuni.nume_tip + Endif + + Do Adauga_Modifica_Inregistrare With 'gestiuni', loRec, loRec.id_gestiune, "UPDATE" + + = close_ccsucursale() + = close_cctipuri_gestiuni() + = close_ccsectii() + + If gnButon = 1 + Return loRec + Else + Return Null + Endif + +Endproc && nom_gestiuni_modifica +***====================================================================================== + + +************************************************************* +Procedure nom_judete_nou + + Private pojudete, pcschema1, pcselect1 + Store '' To pojudete + pcschema1 = [''] + pcselect1 = ['select * from syn_vnom_judete where 1=2'] + pcorder1 = [judet] + pcfiltru1 = [2=2] + llAfiseaza = .F. + gencursor('pojudete', 'v_judete_nou', pcselect1, pcfiltru1, pcschema1, pcorder1, llAfiseaza) + pojudete.ca_baza1.afisare() + *** + Select v_judete_nou + Scatter Name loRec Blank + Do Adauga_Modifica_Inregistrare With 'judet', loRec, , "INSERT" + Use In v_judete_nou + +Endproc +************************************************************* +Procedure nom_responsabili_nou + + Private poresponsabili, pcschema1, pcselect1 + Store '' To poresponsabili + pcschema1 = [''] + pcselect1 = ['select * from ] + gcS + [.vnom_responsabili where 1=2'] + pcorder1 = [nume] + pcfiltru1 = [2=2] + llAfiseaza = .F. + gencursor('poresponsabili', 'v_responsabili_nou', pcselect1, pcfiltru1, pcschema1, pcorder1, llAfiseaza) + poresponsabili.ca_baza1.afisare() + *** + Select v_responsabili_nou + Scatter Name loRec Blank + Do Adauga_Modifica_Inregistrare With 'responsabili', loRec, , "INSERT" + Use In v_responsabili_nou + +Endproc +************************************************************* +Procedure nom_sectii_nou + + Private posectii, pcschema1, pcselect1 + Store '' To posectii + pcschema1 = [''] + pcselect1 = ['select * from ] + gcS + [.vnom_sectii where 1=2'] + pcorder1 = [sectie] + pcfiltru1 = [2=2] + llAfiseaza = .F. + gencursor('posectii', 'v_sectii_nou', pcselect1, pcfiltru1, pcschema1, pcorder1, llAfiseaza) + posectii.ca_baza1.afisare() + *** + Select v_sectii_nou + Scatter Name loRec Blank + Do Adauga_Modifica_Inregistrare With 'sectii', loRec, , "INSERT" + Use In v_sectii_nou + +Endproc +************************************************************* +Procedure nom_venchel_nou + + Private posectii, pcschema1, pcselect1 + Store '' To povenchel + pcschema1 = [''] + pcselect1 = ['select * from ] + gcS + [.vnom_venchel where 1=2'] + pcorder1 = [tip_venchelt] + pcfiltru1 = [2=2] + llAfiseaza = .F. + gencursor('povenchel', 'v_venchel_nou', pcselect1, pcfiltru1, pcschema1, pcorder1, llAfiseaza) + povenchel.ca_baza1.afisare() + *** + Select v_venchel_nou + Scatter Name loRec Blank + Do Adauga_Modifica_Inregistrare With 'venchel', loRec, , "INSERT" + Use In v_venchel_nou + +Endproc +************************************************************* +Procedure nom_localitati_nou + + Private polocalitati, pcschema1, pcselect1 + Store '' To polocalitati + pcschema1 = [''] + pcselect1 = ['select * from syn_vnom_localitati where 1=2'] + pcorder1 = [localitate] + pcfiltru1 = [2=2] + llAfiseaza = .F. + gencursor('polocalitati', 'v_localitati_nou', pcselect1, pcfiltru1, pcschema1, pcorder1, llAfiseaza) + polocalitati.ca_baza1.afisare() + *** + update_judete() + Select v_localitati_nou + Scatter Name loRec Blank + Do Adauga_Modifica_Inregistrare With 'localitati', loRec, , "INSERT" + Use In v_localitati_nou + +Endproc +************************************************************* +Procedure nom_plcont_nou + + Private poplcont, pcschema1, pcselect1 + Store '' To poplcont + pcschema1 = [''] + pcselect1 = ['select * from ] + gcS + [.vnom_plcont where 1=2'] + pcorder1 = [cont] + pcfiltru1 = [2=2] + llAfiseaza = .F. + gencursor('poplcont', 'v_plcont_nou', pcselect1, pcfiltru1, pcschema1, pcorder1, llAfiseaza) + poplcont.ca_baza1.afisare() + *** + + Select v_plcont_nou + Scatter Name loRec Blank + loRec.an = gnan + Do Adauga_Modifica_Inregistrare With 'plcont', loRec, , "INSERT" + Use In v_plcont_nou + +Endproc + +************************************************************* + +************************************************************* +Procedure nom_parteneri_nou + Lparameters tnIdTipPart, tcTipPart, tnSpecial, tnTipPersoana, tnIdPartCoresp, toDate, tnIdPart + *!* tnSpecial = 1 => nu poate sa aleaga alt tip decat tnIdTipPart + *!* tnTipPersoana ( cu ce tip de persoana intra implicit ) + *!* = 1 => juridica + *!* = 2 => fizica + *!* tnIdPartCoresp = la adaugarea unui delegat, este id_part al clientului pentru care se adauga delegatul + *!* todate = contine proprietati completate pentru adaugarea silentioasa fara sa mai arate formularul nom_parteneri_nou + *!* tnId_Part = se populeaza formularul de adaugare partener cu datele partenerului dat (copiere partener) + + * Intoarce obiect cu partenerul creat si Id-ul partenerului completat sau NULL daca eroare + + Private poparteneri + Local lcSchema, lcSelect, lcFiltru, lcOrder, llAfiseaza, lcgroup, llModParam, lcFiltruOriginal, lnSpecial, llCopiere, llSilentios + LOCAL lnIdPartener, lcSelect2, lnTipPersFizica + lnTipPersFizica = 2 + lcSelect2 = SELECT() + lnIdPartener = 0 + Store '' To poparteneri + Private loRec + Private pnIdPart, pnIdTipPart + pnIdPart = 0 + pnIdTipPart = 0 + + If !Empty(tnSpecial) + lnSpecial = tnSpecial + Else + lnSpecial = 0 + Endif + + If !Empty(tnTipPersoana) + lnTipPersoana = tnTipPersoana + Else + lnTipPersoana = 1 + Endif + + llCopiere = Type('tnIdPart') = 'N' + pnIdPart = Iif(Empty(m.tnIdPart), 0, m.tnIdPart) + + lcSchema = [] + * lcSelect=[SELECT id_part, denumire, nume, prenume, cod_fiscal, reg_comert, categorie_entitate, id_categorie_entitate, id_loc_inreg, localitate_inreg, tip_persoana, prefix, sufix, banca, cont_banca, inactiv, motiv_inactiv FROM ]+gcS+[.VNOM_PARTENERI] + lcSelect = [select id_part, denumire, nume, prenume, cod_fiscal, cod_fiscal2, reg_comert, id_loc_inreg, id_categorie_entitate, localitate_inreg, prefix, sufix, ] + ; + [tip_persoana, banca, cont_banca, motiv_inactiv, inactiv, eliberatde, dataeliberat, email, web, fax, id_adresa, adresa, telefon, telefon2, id_loc, localitate, ] + ; + [judet, id_judet, sector, apart, etaj, scara, bloc, strada, numar, codpostal, id_tara, tara, categorie_entitate, dataora, utilizator, swift_banca, adresa_banca, institutie_publica from vnom_parteneri] + + lcOrder = [nume] + If !m.llCopiere + lcFiltru = [1=2] + Else + lcFiltru = [id_part = ] + Alltrim(Str(m.pnIdPart)) + Endif + llAfiseaza = .F. + lcgroup = "" + llModParam = .T. + lcFiltruOriginal = [] + gencursor('poparteneri', 'crsParteneriNou', lcSelect, lcFiltru, lcSchema, lcOrder, llAfiseaza, lcgroup, llModParam, lcFiltruOriginal) + poparteneri.ca_baza1.afisare() + *** + + If Pcount() > 0 + Do Case + Case Type('tnIdTipPart') = 'N' + pnIdTipPart = tnIdTipPart + Case Type('tnIdTipPart') = 'C' + pnIdTipPart = Round(Val(Getwordnum(tnIdTipPart, 1, ",")), 0) + Otherwise + pnIdTipPart = 0 + Endcase + Endif + + Select crsParteneriNou + If !m.llCopiere + Scatter Name loRec Blank + Else + Scatter Name loRec + ENDIF + loRec.tip_persoana = lnTipPersoana && juridica + + AddProperty(loRec, "id_tip_part", pnIdTipPart) + AddProperty(loRec, "tip_partener", "0") + AddProperty(loRec, "special", lnSpecial) + *!* modificare 10.01 + *!* ccorespdel : poate fi un id (id_part) sau o lista de id-uri (id_part) separate prin virgula,dar fara virgula la final + AddProperty(loRec, "ccorespdel", Iif(Empty(tnIdPartCoresp), [], Alltrim(Str(tnIdPartCoresp)))) + *!* ^ + + IF TYPE('toDate') = 'O' + IF TYPE('toDate.denumire')= 'C' AND !EMPTY(toDate.denumire) + loRec.denumire = toDate.denumire + ENDIF + IF TYPE('toDate.nume')= 'C' AND !EMPTY(toDate.nume) + loRec.nume = toDate.nume + ENDIF + IF TYPE('toDate.prenume')= 'C' AND !EMPTY(toDate.prenume) + loRec.prenume = toDate.prenume + ENDIF + IF TYPE('toDate.cod_fiscal')= 'C' AND !EMPTY(toDate.cod_fiscal) + loRec.cod_fiscal = toDate.cod_fiscal + ENDIF + + IF TYPE('toDate.tip_persoana ')= 'N' AND !EMPTY(toDate.tip_persoana ) + loRec.tip_persoana = toDate.tip_persoana + ENDIF + IF TYPE('toDate.id_tip_part')= 'N' AND !EMPTY(toDate.id_tip_part) + loRec.id_tip_part = toDate.id_tip_part + ENDIF + ENDIF + + * Persoana fizica cu denumire, fara nume, completez nume si prenume din denumire + IF loRec.tip_persoana = m.lnTipPersFizica AND !EMPTY(NVL(loRec.denumire,'')) AND EMPTY(NVL(loRec.nume,'')) + lnPos = AT(' ', loRec.denumire) + IF m.lnPos > 0 + loRec.nume = LEFT(loRec.denumire, m.lnPos) + loRec.prenume = SUBSTR(loRec.denumire, m.lnPos + 1) + ENDIF + ENDIF + + * Nu apare formularul daca toDate.lSilentios = .T. sau exista toDate + llSilentios = .F. + IF TYPE('toDate.lSilentios') = 'L' + llSilentios = toDate.lSilentios + ELSE + llSilentios = (TYPE('toDate') = 'O') + ENDIF + + + *!* =cclocalitati() + = cccateg_ent() + + If Type('gnParametru_prog') <> 'U' + Do Case + Case gnParametru_prog = 1 && contracte clienti + pnParent_id = -1 + Case gnParametru_prog = 2 && contracte furnizori + pnParent_id = -2 + Endcase + Else + pnParent_id = 0 + Endif + + If !m.llSilentios + lcSel = [{call pack_def.get_partener_tipuri(?pnIdPart, ?pnIdTipPart, ?pnParent_id)}] + lcCursor = 'v_nom_tip_parteneri' + lnSucces = goExecutor.oExecute(lcSel, lcCursor) + + If lnSucces < 0 + AMESSAGEBOX(goExecutor.cEroare, 0 + 16, "Eroare") + Return + Endif + + *!* modificare adrese parteneri 12.2013 + gnButon = 2 + lcSql = [SELECT id_adresa, id_part, denumire_adresa, da_apare, strada, numar, bloc, scara, etaj, apart, sector,] + ; + [id_loc, localitate, id_regiune, id_judet, judet, codpostal, id_tara, tara, telefon1, telefon2,] + ; + [fax, email, web, inactiv, principala,id_adresa as id_adresa_orig FROM vadrese_parteneri where 1=2] + lcCursor = [crsAdreseEnt] + If goExecutor.oExecuta(lcSql, lcCursor) + lcSql = [SELECT id_pers, id_part, nume, prenume, apelativ, functia, telefon, email, inactiv, principal, id_pers as id_pers_orig FROM vpers_contact where 1=2] + lcCursor2 = [crsPersContactEnt] + If goExecutor.oExecuta(lcSql, lcCursor2) + gnButon = Adauga_Modifica_Inregistrare("parteneri", loRec, @lnIdPartener, "INSERT") && In oproceduri_ams.prg + Endif + Use In (Select(lcCursor2)) + Endif + Use In (Select(lcCursor)) + + *!* Do Adauga_Modifica_Inregistrare With "parteneri",loRec,,"INSERT" In oproceduri_ams.prg + *!* modificare adrese parteneri 12.2013 ^ + *!* =close_cclocalitati() + = close_categ_ent() + + *!* modificare ROACONT 2.0.40 + = close_cctipuri() + *!* modificare ROACONT 2.0.40 ^ + + SELECT (m.lcSelect2) + If gnButon = 1 + loRec.id_part = m.pnIdPart + Return loRec + Else + Return Null + Endif + Else + AdaugarePartener = Createobject("cus_odata_parteneri") + lnIdPartener = 0 + AdaugarePartener.lSilent = .T. + AdaugarePartener.salvare(toDate, @lnIdPartener) + toDate.id_part = m.pnIdPart + + *!* modificare ROACONT 2.0.40 + = close_cctipuri() + *!* modificare ROACONT 2.0.40 ^ + + SELECT (m.lcSelect2) + If NVL(m.pnIdPart,0) <> 0 + Return toDate + Else + Return Null + Endif + Endif + +Endproc && nom_parteneri_nou + +************************************************************* +Procedure nom_parteneri_modifica + Lparameters tnId_Part, tnIdTipPart, tcTipPart, tnSpecial, tcMesaj + *!* tnSpecial = 1 => nu poate sa aleaga alt tip decat tnIdTipPart + Local lnIdTipPart, lcTipPart, lnSpecial + If !Empty(tnIdTipPart) + lnIdTipPart = tnIdTipPart + Else + lnIdTipPart = 0 + Endif + + If !Empty(tcTipPart) + lcTipPart = tcTipPart + Else + lcTipPart = [] + Endif + + If !Empty(tnSpecial) + lnSpecial = tnSpecial + Else + lnSpecial = 0 + Endif + + + + Private poparteneri + Local lcSchema, lcSelect, lcFiltru, lcOrder, llAfiseaza, lcgroup, llModParam, lcFiltruOriginal + Store '' To poparteneri + + Private pnId_part, pnIdPart + pnId_part = tnId_Part + pnIdPart = tnId_Part + lcSchema = [] + *lcSelect=[SELECT id_part, denumire, nume, prenume, cod_fiscal, reg_comert, id_loc_inreg, categorie_entitate, id_categorie_entitate, localitate_inreg, tip_persoana, prefix, sufix, banca, cont_banca, inactiv, motiv_inactiv FROM VNOM_PARTENERI] + lcSelect = [select id_part, denumire, nume, prenume, cod_fiscal, cod_fiscal2, reg_comert, id_loc_inreg, id_categorie_entitate, localitate_inreg, prefix, sufix, ] + ; + [tip_persoana, banca, cont_banca, motiv_inactiv, inactiv, eliberatde, dataeliberat, email, web, fax, id_adresa, adresa, telefon, telefon2, id_loc, localitate, ] + ; + [judet, id_judet, sector, apart, etaj, scara, bloc, strada, numar, codpostal, id_tara, tara, categorie_entitate, dataora, utilizator, swift_banca, adresa_banca, institutie_publica from vnom_parteneri] + lcOrder = [nume] + lcFiltru = [] + llAfiseaza = .F. + lcgroup = "" + llModParam = .T. + lcFiltruOriginal = [id_part = ] + Transform(pnId_part) + gencursor('poparteneri', 'crsParteneriModifica', lcSelect, lcFiltru, lcSchema, lcOrder, llAfiseaza, lcgroup, llModParam, lcFiltruOriginal) + poparteneri.ca_baza1.afisare() + + If !Used('crsParteneriModifica') + Return + Endif + + Select crsParteneriModifica + Scatter Name loRec + + AddProperty(loRec, "id_tip_part", lnIdTipPart) + AddProperty(loRec, "tip_partener", lcTipPart) + AddProperty(loRec, "special", lnSpecial) + AddProperty(loRec, "ccorespdel", []) + pccod_fiscal = loRec.cod_fiscal + pccontinua = .F. + *!* =cclocalitati() + = cccateg_ent() + + If Type('gnParametru_prog') <> 'U' + Do Case + Case gnParametru_prog = 1 && contracte clienti + pnParent_id = -1 + Case gnParametru_prog = 2 && contracte furnizori + pnParent_id = -2 + Otherwise + pnParent_id = 0 + Endcase + Else + pnParent_id = 0 + Endif + + lcSel = [{call pack_def.get_partener_tipuri(?pnId_Part, ?loRec.id_tip_part, ?pnParent_id)}] + lcCursor = 'v_nom_tip_parteneri' + lnSucces = goExecutor.oExecute(lcSel, lcCursor) + + If lnSucces < 0 + AMESSAGEBOX(goExecutor.cEroare, 0 + 16, "Eroare") + Return + Endif + + = cctipuri_selectate(loRec.id_part) + ****inceput exceptii*** +*!* If Reccount('v_nom_tip_parteneri_selectati') > 1 +*!* If lnIdTipPart <> 0 And lnSpecial <> 0 And !Empty(tcMesaj) +*!* AMESSAGEBOX(tcMesaj, 16, 'Atentie!') +*!* *!* modificare ROACONT 2.0.40 +*!* = close_cctipuri() +*!* = close_cctipuri_selectate() +*!* *!* modificare ROACONT 2.0.40 ^ +*!* Return Null +*!* Endif +*!* Endif + If gnId_prg_owner = 69 + If Reccount('v_nom_tip_parteneri_selectati') = 1 And v_nom_tip_parteneri_selectati.id_tip_part <> lnIdTipPart + AMESSAGEBOX(tcMesaj, 16, 'Atentie!') + *!* modificare ROACONT 2.0.40 + = close_cctipuri() + = close_cctipuri_selectate() + *!* modificare ROACONT 2.0.40 ^ + Return Null + Endif + Endif + ****sfarsit exceptii*** + + *!* modificare adrese parteneri 12.2013 + gnButon = 2 + lcSql = [SELECT id_adresa, id_part, denumire_adresa, da_apare, strada, numar, bloc, scara, etaj, apart, sector,] + ; + [id_loc, localitate, id_regiune, id_judet, judet, codpostal, id_tara, tara, telefon1, telefon2,] + ; + [fax, email, web, inactiv, principala, id_adresa as id_adresa_orig FROM vadrese_parteneri where id_part = ?pnId_part] + lcCursor = [crsAdreseEnt] + If goExecutor.oExecuta(lcSql, lcCursor) + lcSql = [SELECT id_pers, id_part, nume, prenume, apelativ, functia, telefon, email, inactiv, principal, id_pers as id_pers_orig ] + ; + [FROM vpers_contact where id_part = ?pnId_part] + lcCursor2 = [crsPersContactEnt] + If goExecutor.oExecuta(lcSql, lcCursor2) + *!* PRIVATE poRec + *!* poRec = CloneObj(loRec) + *DO FORM frm_parteneri_nou NAME loAdMod WITH poRec,poRec.id_part,"UPDATE" + Do Adauga_Modifica_Inregistrare With "parteneri", loRec, loRec.id_part, "UPDATE" In oproceduri_ams.prg + Endif + Use In (Select(lcCursor2)) + Endif + Use In (Select(lcCursor)) + *!* Do Adauga_Modifica_Inregistrare With "parteneri",loRec,loRec.id_part,"UPDATE" In oproceduri_ams.prg + *!* modificare adrese parteneri 12.2013 ^ + *!* =close_cclocalitati() + = close_cctipuri() + = close_cctipuri_selectate() + = close_categ_ent() + + If gnButon = 1 + Return loRec + Else + Return Null + Endif + +Endproc && nom_parteneri_modifica +************************************************************************************************************************** + +************************************************************************************************************************** +* local lnId +* lnId = 0 +* llSucces = nom_articole_nou(@lnId) +************************************************************************************************************************** +Procedure nom_articole_nou + LPARAMETERS tnId, toDate + * tnId: OUT id articol creat + * toDate: (optional) obiect cu date initiale (ex: denumire, um). are aceleasi atribute ca vnom_articole + + LOCAL llSucces, lnButon, loRec + tnId = 0 + llSucces = goExecutor.oExecuta('select * from vnom_articole where 1=2', 'vnom_articole_nou') + IF m.llSucces + Select vnom_articole_nou + Scatter Name loRec Blank Memo + + llSucces = goExecutor.oExecuta('SELECT id, id_part, partener, id_articol, articol, cod FROM VPARTENERI_ARTICOLE_CODURI WHERE 1=2', 'crsParteneriArticoleCoduri') + + * Initializez articolul cu date optionale + IF TYPE('toDate') = 'O' + CopyObjectProperties(toDate, loRec) + + * cod client + IF TYPE('toDate.id_client') = 'N' AND TYPE('toDate.client') = 'C' AND TYPE('toDate.cod_client') = 'C' AND !EMPTY(NVL(toDate.id_client, 0)) AND !EMPTY(NVL(toDate.cod_client, '')) + REPLACE id_part WITH toDate.id_client, partener WITH Alltrim(toDate.client), cod WITH ALLTRIM(toDate.cod_client) + ENDIF + + * cod furnizor + IF TYPE('toDate.id_furnizor') = 'N' AND TYPE('toDate.furnizor') = 'C' AND TYPE('toDate.cod_furnizor') = 'C' AND !EMPTY(NVL(toDate.id_furnizor, 0)) AND !EMPTY(NVL(toDate.cod_furnizor, '')) + loRec.id_part = toDate.id_furnizor + loRec.partener = toDate.furnizor + loRec.codmatf = ALLTRIM(toDate.cod_furnizor) + ENDIF + + ENDIF + ENDIF + * actualizez vnom_um de fiecare data, poate am facut modificari in asocierea um/cod_um_iso + IF m.llSucces + llSucces = update_um() + ENDIF + IF m.llSucces + IF !USED('vnom_um_iso') + llSucces = update_um_iso() + ENDIF + ENDIF + IF m.llSucces + DO CASE + CASE Type('gcNumeProgram') = 'C' And Inlist(Alltrim(Upper(gcNumeProgram)), 'ROAPRETURI', 'ROACONTRACTE') + loRec.in_crm = 1 + CASE Type('gcNumeProgram') = 'C' And Inlist(Alltrim(Upper(gcNumeProgram)), 'ROAACNPRO') + loRec.tip = 1 && manopera + loRec.in_crm = 0 + loRec.in_stoc = 0 + OTHERWISE + loRec.in_stoc = 1 + ENDCASE + + If m.gnCodMatAutomat = 2 + Private poGeneratorCodmat + + poGeneratorCodmat= Createobject("oGeneratorNumere") + lnRezultat = poGeneratorCodmat.creeaza_cursor_serii(14) + EndIf + If m.gnCodBareAutomat = 2 + Private poGeneratorCodBare + poGeneratorCodBare= Createobject("oGeneratorNumere") + lnRezultat2 = poGeneratorCodBare.creeaza_cursor_serii(15) + EndIf + + lnButon = Adauga_Modifica_Inregistrare('catalog_articole', loRec, @tnId , "INSERT") + llSucces = (m.lnButon = 1) + ENDIF + Use In (SELECT('vnom_articole_nou')) + USE IN (SELECT('crsParteneriArticoleCoduri')) + RETURN m.llSucces +Endproc +************************************************************************************************************************** +************************************************************************************************************************** +Procedure nom_articole2_nou + LOCAL llSucces, lnButon, loRec + * in contracte + + llSucces = goExecutor.oExecuta('select * from vnom_articole where 1=2', 'vnom_articole_nou') + IF m.llSucces + Select vnom_articole_nou + Scatter Name loRec Blank Memo + llSucces = goExecutor.oExecuta('SELECT id, id_part, partener, id_articol, articol, cod FROM VPARTENERI_ARTICOLE_CODURI WHERE 1=2', 'crsParteneriArticoleCoduri') + ENDIF + * actualizez vnom_um de fiecare data, poate am facut modificari in asocierea um/cod_um_iso + IF m.llSucces + llSucces = update_um() + ENDIF + IF m.llSucces + IF !USED('vnom_um_iso') + llSucces = update_um_iso() + ENDIF + ENDIF + IF m.llSucces + lnButon = Adauga_Modifica_Inregistrare('catalog_articole2', loRec, , "INSERT") + llSucces = (m.lnButon = 1) + ENDIF + Use In (SELECT('vnom_articole_nou')) + USE IN (SELECT('crsParteneriArticoleCoduri')) + RETURN m.llSucces +Endproc +************************************************************************************************************************** + +************************************************************************************************************************** +* llSucces = nom_articole_modifica(lnId) +************************************************************************************************************************** +Procedure nom_articole_modifica + LPARAMETERS tnId + + LOCAL llSucces, lnButon, loRec, lnId + lnId = tnId + llSucces = goExecutor.oExecuta('select * from vnom_articole where id_articol = ' + ALLTRIM(STR(m.lnId)), 'vnom_articole_nou') + IF m.llSucces + Select vnom_articole_nou + Scatter Name loRec Memo + llSucces = goExecutor.oExecuta('SELECT id, id_part, partener, id_articol, articol, cod FROM VPARTENERI_ARTICOLE_CODURI WHERE id_articol = ' + ALLTRIM(STR(m.lnId)) + ' order by partener', 'crsParteneriArticoleCoduri') + ENDIF + * actualizez vnom_um de fiecare data, poate am facut modificari in asocierea um/cod_um_iso + IF m.llSucces + llSucces = update_um() + ENDIF + IF m.llSucces + IF !USED('vnom_um_iso') + llSucces = update_um_iso() + ENDIF + ENDIF + IF m.llSucces + lorec.conditii_pastrare = Nvl(lorec.conditii_pastrare,'') + + If gnCodMatAutomat = 2 + Private poGeneratorCodmat + + poGeneratorCodmat= Createobject("oGeneratorNumere") + lnRezultat = poGeneratorCodmat.creeaza_cursor_serii(14) + Endif + If gnCodBareAutomat = 2 + Private poGeneratorCodBare + poGeneratorCodBare= Createobject("oGeneratorNumere") + lnRezultat2 = poGeneratorCodBare.creeaza_cursor_serii(15) + Endif + + lnButon = Adauga_Modifica_Inregistrare('catalog_articole', lorec, lnId, 'UPDATE') + llSucces = (m.lnButon = 1) + ENDIF + Use In (SELECT('vnom_articole_nou')) + USE IN (SELECT('crsParteneriArticoleCoduri')) + RETURN m.llSucces +Endproc +************************************************************************************************************************** + +Procedure viz_valute( ) + + Private povalute, pcschema1, pcselect1 + Store '' To povalute + pcschema1 = [''] + pcselect1 = ['select * from ] + gcS + [.vnom_valute where 1=2'] + pcorder1 = [nume_val] + pcfiltru1 = [inactiv=0] + llAfiseaza = .F. + gencursor('povalute', 'v_valute', pcselect1, pcfiltru1, pcschema1, pcorder1, llAfiseaza) + povalute.ca_baza1.afisare() + ofrmval = Createobject('frm_valute') + ofrmval.Show(1) + Release povalute + +Endproc +************************************************************************************************************************** +Procedure nom_valute_nou + + + Private povalute, pcschema1, pcselect1 + Store '' To povalute + pcschema1 = [''] + pcselect1 = ['select * from ] + gcS + [.vnom_valute where 1=2'] + pcorder1 = [ nume_val ] + pcfiltru1 = [2=2] + llAfiseaza = .F. + gencursor('povalute', 'valute_nou', pcselect1, pcfiltru1, pcschema1, pcorder1, llAfiseaza) + povalute.ca_baza1.afisare() + *** + + Select valute_nou + Scatter Name loRec Blank + + Do Adauga_Modifica_Inregistrare With 'valute', loRec, , "INSERT" + Use In valute_nou + +Endproc + + +************************************************************************************************************************** +Procedure sal_nom_mes_nou + *!* modificare 11.01.2012 + AddProperty(poRec, "tip_modificare", 1) + AddProperty(poRec, "dataconsemnare", {}) + *!* modificare 11.01.2012 ^ + Do Adauga_Modifica_Inregistrare With "meserii", poRec, , "INSERT", , "addmes" +Endproc +************************************************************************************************************************** +Procedure sal_nom_formatii_nou + Local loRec + Store '' To loRec + loRec = poRec + If Used('v_sectie') + Use In v_sectie + Endif + *cursor sectie v_sectie + lcSql = [select * from ] + gcS + [.vnom_sectii order by sectie]&& where inactiv = 0] + lcCursor = [v_sectie] + lnSucces = goExecutor.oExecute(lcSql, lcCursor) + If lnSucces < 0 + AMESSAGEBOX(goExecutor.cEroare, 0 + 16, "Eroare") + Endif + Select v_sectie + Scatter Name loRec Additive + *cursor semnaturi v_semnaturi + If Used('v_semnaturi') + Use In v_semnaturi + Endif + lcSql = [select * from ] + gcS + [.sal_semnaturi where sters = 0 and inactiv = 0 order by denumire ]&& where inactiv = 0] + lcCursor = [v_semnaturi] + lnSucces = goExecutor.oExecute(lcSql, lcCursor) + If lnSucces < 0 + AMESSAGEBOX(goExecutor.cEroare, 0 + 16, "Eroare") + Endif + Select v_semnaturi + Scatter Name loRec Additive + *cursor transa v_transe + If Used('v_transe') + Use In v_transe + Endif + lcSql = [select * from ] + gcS + [.SAL_vNOM_TRANSE where inactiv = 0 and sters = 0] + lcCursor = [v_transe] + lnSucces = goExecutor.oExecute(lcSql, lcCursor) + If lnSucces < 0 + AMESSAGEBOX(goExecutor.cEroare, 0 + 16, "Eroare") + Endif + Select v_transe + Scatter Name loRec Additive + + Do Adauga_Modifica_Inregistrare With "FORMATII", loRec, , "INSERT", , "addform" +Endproc +************************************************************************************************************************** +Procedure sal_nom_tipctr_nou + Local loRec + Store '' To loRec + loRec = poRec + *cursor ore/zi v_nomore + If Used('v_nomore') + Use In v_nomore + Endif + + lcSql = [select * from ] + gcS + [.SAL_vNOMORE where inactiv = 0 and sters = 0] + lcCursor = [v_nomore] + lnSucces = goExecutor.oExecute(lcSql, lcCursor) + If lnSucces < 0 + AMESSAGEBOX(goExecutor.cEroare, 0 + 16, "Eroare") + Endif + Select v_nomore + Scatter Name loRec Additive + + Do Adauga_Modifica_Inregistrare With "tipctr", loRec, , "INSERT", , "addtip" +Endproc +************************************************************************************************************************** +Procedure sal_nom_handicap_nou + Local loRec + Store '' To loRec + loRec = poRec + Do Adauga_Modifica_Inregistrare With "grdhand", loRec, , "INSERT", , "addhand" +Endproc +************************************************************************************************************************** +Procedure sal_nom_grmun_nou + Local loRec + Store '' To loRec + loRec = poRec + Do Adauga_Modifica_Inregistrare With "grpmun", loRec, , "INSERT", , "addgrp" +Endproc +************************************************************************************************************************** +Procedure sal_caseasig_nou + Local loRec + Store '' To loRec + loRec = poRec + *cursor judete v_jud + If Used('v_jud') + Use In v_jud + Endif + lcSql = [SELECT * from syn_vnom_judete where inactiv = 0] + lcCursor = [v_jud] + lnSucces = goExecutor.oExecute(lcSql, lcCursor) + If lnSucces < 0 + AMESSAGEBOX(goExecutor.cEroare, 0 + 16, "Eroare") + Endif + Select v_jud + Scatter Name loRec Additive + + Do Adauga_Modifica_Inregistrare With "caseasig", loRec, , "INSERT", , "addcasa" +Endproc +************************************************************************************************************************** +Procedure sal_nom_cm_nou + Local loRec + Store '' To loRec + loRec = poRec + lcSelect = [select * from ] + gcS + [.sal_vnom_cm where sters = 0] + lcCursor = [v_nomtipcm] + lnSucces = goExecutor.oExecute(lcSelect, lcCursor) + If lnSucces < 0 + AMESSAGEBOX(goExecutor.cEroare) + Return + Endif + Select v_nomtipcm + Scatter Name loRec Blank + *!* DEBUG + *!* SUSPEND + Do Adauga_Modifica_Inregistrare With "nomcm", loRec, , "INSERT", , "addcm" +Endproc + +************************************************************************************************************************** +Procedure adrese_parteneri_nou + Lparameters tnIdPartener, tcActiune, tcCursor + *!* modificare adrese parteneri 12.2013 : am adaugat tcActiune, tcCursor, lcActiune + Local lcSelect, lcCursor, lnSucces, loRec, lnidpartener, lnPrincipala, lcActiune + Private pnIdAdresa + pnIdAdresa = 0 + + If Pcount() = 0 Or Type('tnIdPartener') # 'N' + lnidpartener = 0 + Else + lnidpartener = tnIdPartener + Endif + *!* modificare adrese parteneri 12.2013 + gnButon = 1 + lcActiune = Evl(tcActiune, "INSERT") + lcCursor = "crsAdreseTemp" + If lcActiune = "LOCAL" + Select * From (tcCursor) With (Buffering = .T.) Where principala = 1 And !Deleted() Into Cursor (lcCursor) + Else + lcSelect = "SELECT * FROM vadrese_parteneri where principala = 1 and id_part = " + Transform(lnidpartener) + If !goExecutor.oExecuta(lcSelect, lcCursor) + gnButon = 2 + Endif + Endif + If gnButon = 1 + If Reccount(lcCursor) = 0 + lnPrincipala = 1 + Else + lnPrincipala = 0 + Endif + Select (lcCursor) + Scatter Name loRec Blank + Use In (lcCursor) + + loRec.id_part = tnIdPartener + loRec.principala = lnPrincipala + + Do Adauga_Modifica_Inregistrare With "parteneri_adrese", loRec, , lcActiune In oproceduri_ams.prg + Endif + *!* lcSelect = "SELECT * FROM vadrese_parteneri where principala = 1 and id_part = " + Transform(lnidpartener) + *!* lcCursor = "crsAdreseTemp" + *!* If goExecutor.oExecuta(lcSelect, lcCursor) + *!* If Reccount('crsAdreseTemp') = 0 + *!* lnPrincipala = 1 + *!* Else + *!* lnPrincipala = 0 + *!* Endif + *!* Select crsAdreseTemp + *!* Scatter Name loRec Blank + *!* Use In crsAdreseTemp + *!* loRec.id_part = tnIdPartener + *!* loRec.principala = lnPrincipala + *!* Do Adauga_Modifica_Inregistrare With "parteneri_adrese",loRec,,"INSERT" In oproceduri_ams.prg + *!* Else + *!* gnButon = 2 + *!* Endif + *!* modificare adrese parteneri 12.2013 ^ + + If gnButon = 1 + loRec.id_adresa = pnIdAdresa + Return loRec + Else + Return Null + Endif + +Endproc && adrese_parteneri_nou + +************************************************************************************************************************** +Procedure coduri_parteneri_nou + Lparameters tnIdPartener + + Local lcSelect, lcCursor, lnSucces, loRec, lnidpartener, lnPrincipala + Private pnIdAdresa + pnIdAdresa = 0 + + If Pcount() = 0 Or Type('tnIdPartener') # 'N' + lnidpartener = 0 + Else + lnidpartener = tnIdPartener + Endif + lcSelect = "SELECT * FROM parteneri_coduri where id_part = " + Transform(lnidpartener) + lcCursor = "crsCoduriTemp" + lnSucces = goExecutor.oExecute(lcSelect, lcCursor) + If lnSucces < 0 + AMESSAGEBOX(goExecutor.cEroare) + Return + Endif + + Select crsCoduriTemp + Scatter Name loRec Blank + Use In crsCoduriTemp + + loRec.id_part = tnIdPartener + + Do Adauga_Modifica_Inregistrare With "coduri", loRec, , "INSERT" In oproceduri_ams.prg + + If gnButon = 1 + Return loRec + Else + Return Null + Endif + +Endproc && coduri_parteneri_nou +************************************************************************************************************************** +Procedure coduri_parteneri_modifica + Lparameters tnIdCod + + Local lcSelect, lcCursor, lnSucces, loRec + + lcSelect = "SELECT * FROM parteneri_coduri where id = " + Transform(tnIdCod) + lcCursor = "crsCoduriTemp" + lnSucces = goExecutor.oExecute(lcSelect, lcCursor) + If lnSucces < 0 + AMESSAGEBOX(goExecutor.cEroare) + Return + Endif + Select crsCoduriTemp + Scatter Name loRec + Use In crsCoduriTemp + + Do Adauga_Modifica_Inregistrare With "coduri", loRec, tnIdCod, "UPDATE" In oproceduri_ams.prg + + If gnButon = 1 + Return loRec + Else + Return Null + Endif + +Endproc && coduri_parteneri_modifica +************************************************************* +************************************************************************************************************************** +Procedure adrese_parteneri_modifica + Lparameters tnIdAdresa, tcActiune, tcCursor + *!* modificare adrese parteneri 12.2013 : am adaugat tcActiune, tcCursor + Local lcSelect, lcCursor, lnSucces, loRec, lcActiune + + *!* modificare adrese parteneri 12.2013 + gnButon = 1 + lcActiune = Evl(tcActiune, "UPDATE") + lcCursor = Evl(tcCursor, "crsAdreseTemp") + If lcActiune = [UPDATE] + lcSelect = "SELECT * FROM vadrese_parteneri where id_adresa = " + Transform(tnIdAdresa) + If !goExecutor.oExecuta(lcSelect, lcCursor) + gnButon = 2 + Endif + Endif + + If gnButon = 1 + Select (lcCursor) + Scatter Name loRec + Do Adauga_Modifica_Inregistrare With "parteneri_adrese", loRec, tnIdAdresa, lcActiune In oproceduri_ams.prg + If lcActiune = [UPDATE] + Use In (Select(lcCursor)) + Endif + Endif + *!* lcSelect = "SELECT * FROM vadrese_parteneri where id_adresa = " + Transform(tnIdAdresa) + *!* lcCursor = "crsAdreseTemp" + *!* lnSucces = goExecutor.oExecute(lcSelect, lcCursor) + *!* If lnSucces < 0 + *!* amessagebox(goExecutor.cEroare) + *!* Return + *!* Endif + *!* Select crsAdreseTemp + *!* Scatter Name loRec + *!* Use In crsAdreseTemp + *!* =cclocalitati() + *!* =ccJudete() + *!* =ccTari() + *!* Do Adauga_Modifica_Inregistrare With "parteneri_adrese",loRec,tnIdAdresa,"UPDATE" In oproceduri_ams.prg + *!* =close_cclocalitati() + *!* =close_ccJudete() + *!* =close_ccTari() + *!* modificare adrese parteneri 12.2013 ^ + If gnButon = 1 + Return loRec + Else + Return Null + Endif +Endproc && adrese_parteneri_modifica +************************************************************* +Procedure contracte_nou + Parameters tnId_Part, tnIdTip, tnId + LOCAL lnButon, llSucces, lcSchema, lcSelect, lcOrder, lcFiltru, lcAfiseaza + + Private pnId_part, pnId_tip_ctr + If !Empty(tnId_Part) + pnId_part = tnId_Part + Else + pnId_part = 0 + ENDIF + + pnId_tip_ctr = IIF(!EMPTY(m.tnIdTip), m.tnIdTip, 0) + + Private poContracte, pcschema1, pcselect1 + Store '' To poContracte + lcschema = [''] + lcselect = ['select * from vcontracte where 1=2'] + lcorder = [denumire,data,numar] + lcfiltru = [1=2] + llAfiseaza = .F. + gencursor('poContracte', 'v_contracte_nou', m.lcSelect, m.lcFiltru, m.lcSchema, m.lcOrder, m.llAfiseaza) + poContracte.ca_baza1.afisare() + *** + Select v_contracte_nou + Scatter Name loRec Blank + AddProperty(loRec, "numar2", "") + If Type('loRec.curs') = 'U' + AddProperty(loRec, "curs", 0) + Endif + loRec.tip_istoric = [C] + loRec.Data = Date() + loRec.data_inceput = {} + loRec.data_sfarsit = {} + loRec.id_part = pnId_part && modificare 11.04.2012 + + lnButon = Adauga_Modifica_Inregistrare('contract', loRec, @tnId, "INSERT") && In oproceduri_ams.prg + llSucces = (m.lnButon = 1) + + Use In v_contracte_nou + RETURN m.llSucces +Endproc && contracte_nou +************************************************************* +Procedure nom_lucrari_detalii_nou + Private pniesire, pcNrOrd + Local loRec, lnSucces, lcSelect + Store [] To pcNrOrd + pniesire = 0 + + lcSelect = [select * from ] + gcS + [.vlucrari_detalii where 1=2] + lcCursor = [crsLucrariDetaliiTemp] + lnSucces = goExecutor.oExecute(lcSelect, lcCursor) + If lnSucces < 0 + AMESSAGEBOX(goExecutor.cEroare, 0 + 16, 'Eroare') + Return Null + Endif + + Select (lcCursor) + Scatter Name loRec + Use In (lcCursor) + goExecutor.oFunction2Value([pack_comenzi.genereaza_nr_lucrare], @pcNrOrd) + loRec.nrord = pcNrOrd + loRec.data_lucrare = get_ora() + Do Adauga_Modifica_Inregistrare With 'lucrari_detalii', loRec, , "INSERT" + + If gnButon = 1 + Return loRec + Else + Return Null + Endif +Endproc +************************************************************* +Procedure nom_masini_nou + Local loRec, lnSucces, lcSelect + + lcSelect = [select * from ] + gcS + [.vnom_masini where 1=2] + lcCursor = [crsMasiniTemp] + lnSucces = goExecutor.oExecute(lcSelect, lcCursor) + If lnSucces < 0 + AMESSAGEBOX(goExecutor.cEroare, 0 + 16, 'Eroare') + Return Null + Endif + + Select (lcCursor) + Scatter Name loRec + Do Adauga_Modifica_Inregistrare With 'masini', loRec, , "INSERT" + Use In (lcCursor) + + If gnButon = 1 + Return loRec + Else + Return Null + Endif +Endproc +************************************************************* +****************************************************************************************************************** +Procedure viz_tipuri_ctr + + Private poTipuri_ctr + Store '' To poTipuri_ctr + + Local lcSchema, lcSelect, lcOrder, lcgroup, lcFiltru, lcFiltruOriginal, llModParam, llAfiseaza + + lcSchema = [id_tip_ctr N(4), denumire_tip C(50), system N(1), id_tata N(4), tip_sup C(200)] + lcSelect = [select id_tip_ctr, denumire_tip, system, id_tata, TRIM(SUBSTR(tata,1,INSTR(tata,CHR(92),1,nivel)-1)) as tip_sup from vtipuri_contracte ] + lcOrder = [denumire_tip] + lcgroup = [] + lcFiltru = [1=2] + Do Case + Case gnParametru_prog = 1 + lcFiltruOriginal = [substr(tata,2,6)='CLIENT'] + Case gnParametru_prog = 2 + lcFiltruOriginal = [substr(tata,2,6)='FURNIZ'] + Endcase + + llModParam = .T. + llAfiseaza = .F. + + gencursor('poTipuri_ctr', 'cTipuri_ctr', lcSelect, lcFiltru, lcSchema, lcOrder, llAfiseaza, lcgroup, llModParam, lcFiltruOriginal) + poTipuri_ctr.ca_baza1.afisare() + + Select cTipuri_ctr + ofrm_t_ctr = Createobject('frm_tipuri_ctr') + ofrm_t_ctr.Show(1) + Release poTipuri_ctr + +Endproc && viz_tipuri_ctr +****************************************************************************************************************** + + +Procedure nom_calculatoare_nou + + Private poCalculatoare + Local lcSchema, lcSelect, lcFiltru, lcOrder, llAfiseaza, lcgroup, llModParam, lcFiltruOriginal + Store '' To poCalculatoare + + lcSchema = [] + lcSelect = [select * from vcalculatoare] + lcOrder = [sucursala, denumire] + lcFiltru = [] + llAfiseaza = .F. + lcgroup = "" + llModParam = .T. + lcFiltruOriginal = [] + + gencursor('poCalculatoare', 'crsCalcNou', lcSelect, lcFiltru, lcSchema, lcOrder, llAfiseaza, lcgroup, llModParam, lcFiltruOriginal) + poCalculatoare.ca_baza1.afisare() + + *** + Select crsCalcNou + Scatter Name loRec Blank + Use In crsCalcNou + + = ccsucursale() + + Do Adauga_Modifica_Inregistrare With 'calc', loRec, , "INSERT" + + = close_ccsucursale() +Endproc + + +*!* 18.09.2006 +*!* MARIUS.MUTU +Procedure nom_calculatoare_modifica + Parameters tnIdCalculator + + Local loRec, lnSucces, lcSelect + loRec = Null + + If Empty(tnIdCalculator) Or Type('tnIdCalculator') # 'N' Or Isnull(tnIdCalculator) + Return loRec + Endif + + + lcSelect = [select * from vcalculatoare where id_calc = ?tnIdCalculator] + lcCursor = [crsCalculatoareTemp] + lnSucces = goExecutor.oExecute(lcSelect, lcCursor) + If lnSucces < 0 + AMESSAGEBOX(goExecutor.cEroare, 0 + 16, 'Eroare') + Return loRec + Endif + + Select (lcCursor) + Scatter Name loRec + Use In (lcCursor) + + = ccsucursale() + + Select vnom_sucursale + Locate For id_sucursala = loRec.id_sucursala + If Found() + loRec.sucursala = vnom_sucursale.sucursala + Endif + + Do Adauga_Modifica_Inregistrare With 'calc', loRec, loRec.id_calc, "UPDATE" + + = close_ccsucursale() + + If gnButon = 1 + Return loRec + Else + Return Null + Endif + +Endproc && nom_calculatoare_modifica +***====================================================================================== + +***====================================================================================== +Procedure utilizatorintern_nou + + Private poUtilizatori + Local lcSchema, lcSelect, lcFiltru, lcOrder, llAfiseaza, lcgroup, llModParam, lcFiltruOriginal + Store '' To poUtilizatori + + lcSchema = [] + lcSelect = [select * from vutilizatori_rol_intern] + lcOrder = [sucursala, denumire_grup, utilizator] + lcFiltru = [1=2] + llAfiseaza = .F. + lcgroup = "" + llModParam = .T. + lcFiltruOriginal = [] + + gencursor('poUtilizatori', 'crsUtilNou', lcSelect, lcFiltru, lcSchema, lcOrder, llAfiseaza, lcgroup, llModParam, lcFiltruOriginal) + poUtilizatori.ca_baza1.afisare() + + *** + Select crsUtilNou + Scatter Name loRec Blank + Use In crsUtilNou + + = ccsucursale() + = ccutilizatori() + = ccgrupuri_utilizatori() + + Do Adauga_Modifica_Inregistrare With 'utilizatori', loRec, , "INSERT" + + = close_ccsucursale() + = close_ccgrupuri_utilizatori() + = close_ccutilizatori() + +Endproc && utilizatorintern_nou +***====================================================================================== + +*!* 18.09.2006 +*!* MARIUS.MUTU +Procedure utilizatorintern_modifica + Parameters tnIdUtil + + Local loRec, lnSucces, lcSelect, lcCursor + loRec = Null + + If Empty(tnIdUtil) Or Type('tnIdUtil') # 'N' Or Isnull(tnIdUtil) + Return loRec + Endif + + + lcSelect = [select * from vutilizatori_rol_intern where id_util = ?tnIdUtil] + lcCursor = [crsUtilizatoriTemp] + lnSucces = goExecutor.oExecute(lcSelect, lcCursor) + If lnSucces < 0 + AMESSAGEBOX(goExecutor.cEroare, 0 + 16, 'Eroare') + Return loRec + Endif + + Select (lcCursor) + Scatter Name loRec + Use In (lcCursor) + + = ccsucursale() + = ccutilizatori() + = ccgrupuri_utilizatori() + + Select vnom_sucursale + Locate For id_sucursala = loRec.id_sucursala + If Found() + loRec.sucursala = vnom_sucursale.sucursala + Endif + + Select vutilizatori + Locate For id_util = loRec.id_util + If Found() + loRec.utilizator = vutilizatori.utilizator + Endif + + Select vgrupuri_utilizatori + Locate For id_grup = loRec.id_grup + If Found() + loRec.denumire_grup = vgrupuri_utilizatori.denumire_grup + Endif + + Do Adauga_Modifica_Inregistrare With 'utilizatori', loRec, loRec.id_util, "UPDATE" + + = close_ccsucursale() + = close_ccgrupuri_utilizatori() + = close_ccutilizatori() + + If gnButon = 1 + Return loRec + Else + Return Null + Endif + +Endproc && utilizatorintern_modifica +***====================================================================================== + +Procedure sal_modlic_nou + + Private pomodlic, pcschema1, pcselect1 + Store '' To pomodlic + pcschema1 = [''] + pcselect1 = ['select * from ] + gcS + [.sal_nom_modlic where 1=2'] + pcorder1 = [modlic] + pcfiltru1 = [2=2] + llAfiseaza = .F. + gencursor('pomodlic', 'v_modlic_nou', pcselect1, pcfiltru1, pcschema1, pcorder1, llAfiseaza) + pomodlic.ca_baza1.afisare() + *** + Select v_modlic_nou + Scatter Name loRec Blank + Do Adauga_Modifica_Inregistrare With 'modlic', loRec, , "INSERT" + Use In v_modlic_nou + +Endproc +************************************************************* + + +* PROCEDURE viz_plafon_casa( Tcs ) +* Date : 04/04/06, 11:22:25 +* author : georgiana.voicu +* description: + +****** PARAMETER BLOCK ************** +* Parameters : 1 +* Parameter 1: +* +******************************************* INCEPUT: viz_plafon_casa ******************************************* +Procedure viz_plafon_casa(tcS, tnAn, tnLuna) + + Local lnSucces, lcS + If Empty(tcS) + lcS = "CONTAFIN_ORACLE" + Else + lcS = tcS + Endif + lnAn = Iif(Empty(tnAn), gnan, tnAn) + lnLuna = Iif(Empty(tnLuna), gnLuna, tnLuna) + + Private pcot, pcschema1, pcselect1 + Store '' To pcot + pcschema1 = [''] + pcselect1 = ['select id_calendar, luna, anul, plafon_casa, plafon_plati, plafon_furnizori from ] + lcS + [.calendar where 1=2'] + pcfiltru1 = [ anul = ?lnAn and luna = ?lnluna] + pcorder1 = [anul, luna] + gencursor('pcot', 'v_plafon', pcselect1, pcfiltru1, pcschema1, pcorder1) + pcot.ca_baza1.afisare() + ofrmpc = Createobject('frm_plafon_casa') + ofrmpc.ogencursor = pcot + ofrmpc.ctabel = 'v_plafon' + ofrmpc.Show(1) + Release ofrmpc + If Used('v_plafon') + Use In v_plafon + Endif + +Endproc +******************************************* SFARSIT: viz_plafon_casa ******************************************* +************************************************************* +Procedure nom_sallucrari_nou + Local loRec, lnSucces, lcSelect, lcCursor + + lcSelect = [select * from ] + gcS + [.sal_vnom_lucrari where 1=2] + lcCursor = [crsLucrariTemp] + lnSucces = goExecutor.oExecute(lcSelect, lcCursor) + If lnSucces < 0 + AMESSAGEBOX(goExecutor.cEroare, 0 + 16, 'Eroare') + Return Null + Endif + + Select (lcCursor) + Scatter Name loRec + AddProperty(loRec, "nume_parinte", "") + Do Adauga_Modifica_Inregistrare With "sal_lucrari", loRec, , "INSERT", , "addcluc" + If Used(lcCursor) + Use In (lcCursor) + Endif + + If gnButon = 1 + Return loRec + Else + Return Null + Endif +Endproc +***====================================================================================== +***====================================================================================== + +Procedure sal_tipctr_nou + + Private poctr, pcschema1, pcselect1 + + Store '' To poctr + pcschema1 = [''] + pcselect1 = ['select * from ] + gcS + [.sal_nom_tipctr where 1=2'] + pcorder1 = [tip_contract] + pcfiltru1 = [2=2] + llAfiseaza = .F. + gencursor('poctr', 'v_ctr_nou', pcselect1, pcfiltru1, pcschema1, pcorder1, llAfiseaza) + poctr.ca_baza1.afisare() + *** + + Do update_ore In update_roadef_sal.prg + Select v_ctr_nou + Scatter Name loRec Blank + AddProperty(loRec, 'ore', '') + Do Adauga_Modifica_Inregistrare With 'tipctr', loRec, , "INSERT" + Use In v_ctr_nou + Use In v_nomore + + +Endproc +***====================================================================================== + + +*!* 24.10.2006 +*!* MARIUS.MUTU +***====================================================================================== +Procedure calcsetare_nou + + Private poCalcSetare + Local lcSchema, lcSelect, lcFiltru, lcOrder, llAfiseaza, lcgroup, llModParam, lcFiltruOriginal + poCalcSetare = Null + + lcSchema = [] + lcSelect = [select id_calcsetare, id_calc, calculator, setare, explicatia, valoare, valoare_text, tip, tabel, coloane, titlucoloane, idcoloana, resultcoloana, titlu from vcalc_setari] + lcOrder = [] + lcFiltru = [1=2] + llAfiseaza = .F. + lcgroup = "" + llModParam = .T. + lcFiltruOriginal = [] + + gencursor('poCalcSetare', 'crsCalcSetareNou', lcSelect, lcFiltru, lcSchema, lcOrder, llAfiseaza, lcgroup, llModParam, lcFiltruOriginal) + poCalcSetare.ca_baza1.afisare() + + *** + Select crsCalcSetareNou + Scatter Name loRec Memo Blank + Use In crsCalcSetareNou + + = cccalculatoare() + = ccsetari() + + Do Adauga_Modifica_Inregistrare With 'calcsetari', loRec, , "INSERT" + + = close_cccalculatoare() + = close_ccsetari() + +Endproc && calcsetare_nou + +***====================================================================================== +Procedure calcsetare_modifica + Parameters tnIdCalcSetare + + Local loRec, lnSucces, lcSelect, lcCursor + loRec = Null + + If Empty(tnIdCalcSetare) Or Type('tnIdCalcSetare') # 'N' Or Isnull(tnIdCalcSetare) + Return loRec + Endif + + lcSelect = [select id_calcsetare, id_calc, calculator, setare, explicatia, valoare, valoare_text, tip, tabel, coloane, titlucoloane, idcoloana, resultcoloana, titlu from vcalc_setari where id_calcsetare = ?tnIdCalcSetare] + lcCursor = [crsCalcSetareTemp] + lnSucces = goExecutor.oExecute(lcSelect, lcCursor) + If lnSucces < 0 + AMESSAGEBOX(goExecutor.cEroare, 0 + 16, 'Eroare') + Return loRec + Endif + + Select (lcCursor) + Scatter Name loRec Memo + Use In (lcCursor) + + = cccalculatoare() + = ccsetari() + + Select vcalculatoare + Locate For id_calc = loRec.id_calc + If Found() + loRec.calculator = vcalculatoare.denumire + Endif + + Select vsetari + Locate For setare = loRec.setare + If Found() + loRec.setare = vsetari.setare + Endif + + Do Adauga_Modifica_Inregistrare With 'calcsetari', loRec, loRec.id_calcsetare, "UPDATE" + + = close_cccalculatoare() + = close_ccsetari() + + If gnButon = 1 + Return loRec + Else + Return Null + Endif + +Endproc && calcsetare_modifica +***====================================================================================== + +Procedure nom_medii_transmisie_nou + + Private poMediu_transmisie, pcschema1, pcselect1 + Store '' To poMediu_transmisie + pcschema1 = [''] + pcselect1 = ['select * from vnom_medii_transmisie where 1=2'] + pcorder1 = [mediu_transmisie] + pcfiltru1 = [2=2] + llAfiseaza = .F. + gencursor('poMediu_transmisie', 'v_mediu_transmisie_nou', pcselect1, pcfiltru1, pcschema1, pcorder1, llAfiseaza) + poMediu_transmisie.ca_baza1.afisare() + *** + Select v_mediu_transmisie_nou + Scatter Name loRec Blank + Do Adauga_Modifica_Inregistrare With 'medii_transmisie', loRec, , "INSERT" + Use In v_mediu_transmisie_nou + +Endproc +***====================================================================================== +******************************************* INCEPUT:viz_medii_transmisie ******************************************* +Procedure viz_medii_transmisie( ) + + Private poMediu_transmisie, pcschema1, pcselect1 + Store '' To poMediu_transmisie + pcschema1 = [] + pcselect1 = [select id_mediu, mediu_transmisie from vnom_medii_transmisie] + pcorder1 = [mediu_transmisie] + pcfiltru1 = [] + llAfiseaza = .F. + lcgroup = [] + lcFiltruOriginal = [] + llModParam = .T. + gencursor('poMediu_transmisie', 'v_medii_transmisie', pcselect1, pcfiltru1, pcschema1, pcorder1, llAfiseaza, lcgroup, llModParam, lcFiltruOriginal) + poMediu_transmisie.ca_baza1.afisare() + ofrmMT = Createobject('frm_medii_transmisie') + ofrmMT.Show(1) + Release poMediu_transmisie + +Endproc +******************************************* SFARSIT: viz_medii_transmisie ******************************************* + +Procedure viz_marci( ) + + Private pomarca, pcschema1, pcselect1 + Store '' To pomarca + pcschema1 = [''] + pcselect1 = ['select * from ] + gcS + [.vnom_marci_masini where 1=2'] + pcorder1 = [marca_masina] + pcfiltru1 = [2=2] + llAfiseaza = .F. + gencursor('pomarca', 'v_marci', pcselect1, pcfiltru1, pcschema1, pcorder1, llAfiseaza) + pomarca.ca_baza1.afisare() + ofrmmarca = Createobject('frm_marci') + ofrmmarca.Show(1) + Release pomarca + +Endproc + +Procedure viz_modele( ) + + Private pomodel, pcschema1, pcselect1 + Store '' To pomodel + pcschema1 = [''] + pcselect1 = ['select * from ] + gcS + [.vnom_modele_masini where 1=2'] + pcorder1 = [model_masina] + pcfiltru1 = [2=2] + llAfiseaza = .F. + gencursor('pomodel', 'v_modele', pcselect1, pcfiltru1, pcschema1, pcorder1, llAfiseaza) + pomodel.ca_baza1.afisare() + ofrmmodel = Createobject('frm_modele') + ofrmmodel.Show(1) + Release pomodel + +Endproc + +Procedure vizualizare_soferi + Do vizualizare_partener With gnIdTipSoferi, "Soferi", 2 +Endproc + + + + + +Procedure nom_nomrute_nou + + Private pofdoc, pcschema1, pcselect1 + Store '' To pofdoc + pcschema1 = [''] + pcselect1 = ['select * from ] + gcS + [.fact_vnom_rute where 1=2'] + pcorder1 = [ruta] + pcfiltru1 = [sters = 0 ] + llAfiseaza = .F. + gencursor('pofdoc', 'v_rute', pcselect1, pcfiltru1, pcschema1, pcorder1, llAfiseaza) + pofdoc.ca_baza1.afisare() + *** + Select v_rute + Scatter Name loRec Blank + Do Adauga_Modifica_Inregistrare With 'nomrute', loRec, , "INSERT" + Use In v_rute + +Endproc +************************************************************* +Procedure proiecte_nou + Parameters tnId_Part + + Local lcSelect, lcFiltru, lcSchema, lcOrder, llAfisare, lcgroup, llModParam, lcFiltruOriginal + Private poProiecte + Store '' To poProiecte + + Private pnId_part + If !Empty(tnId_Part) + pnId_part = tnId_Part + Else + pnId_part = 0 + Endif + + + lcSchema = [] + lcSelect = [select * from con_vproiecte] + lcOrder = [denumire] + lcFiltru = [1=2] + llAfisare = .F. + lcgroup = [] + llModParam = .T. + lcFiltruOriginal = [] + gencursor('poProiecte', 'v_proiecte_nou', lcSelect, lcFiltru, lcSchema, lcOrder, llAfisare, lcgroup, llModParam, lcFiltruOriginal) + poProiecte.ca_baza1.afisare() + *** + + Select v_proiecte_nou + Scatter Name loRec Blank Memo + loRec.Data_proiect = Date() + AddProperty(loRec, 'id_responsabil', 0) + AddProperty(loRec, 'responsabil', '') + AddProperty(loRec, 'id_modelproiect', 0) + AddProperty(loRec, 'modelproiect', '') + + Do Adauga_Modifica_Inregistrare With 'proiecte', loRec, , "INSERT" In oproceduri_ams.prg + Use In v_proiecte_nou + +Endproc && proiecte_nou +************************************************************* + + +************************************************************* +*** se apeleaza din cauta_alfa_form, butonul but_verifica +************************************************************* +Procedure nom_parteneri_verifica + Lparameters toPartener + + Local loDate As "empty" + Local lcCodFiscal, lcDenumire, ldDataAct, lnOptiune, lnRaspuns, loPartener + lcCodFiscal = Alltrim(Transform(toPartener.cod_fiscal)) + lcDenumire = Upper(Alltrim(Transform(toPartener.denumire))) + ldDataAct = Iif(Type('toPartener.dataact') = 'D', toPartener.dataact, Date()) + + lnOptiune = 0 + loPartener = Null + loDate = Createobject("empty") + AddProperty(loDate, "denumire", m.lcDenumire) + AddProperty(loDate, "cod_fiscal", m.lcCodFiscal) + AddProperty(loDate, "data", m.ldDataAct) + lnRaspuns = VerificaCodFiscal(loDate, @lnOptiune, @loPartener) +Endproc && nom_parteneri_verifica + + +*** se apeleaza din cauta_alfa_form, butonul but_verifica +Procedure nom_parteneri_verifica_old + Lparameters toPartener + *!* Lparameters tlValidare && execut doar validarea codului + + Local loVerificare As "verificarecod" + Local lcCod, lcDenumire, lcEroare, lcText, lcXml, llIsCIF, llPlatitorTva, llValid, llValidare + Local loPartener + llValidare = .F. + + loVerificare = Createobject("verificarecod") && validare.prg + + lcCod = Alltrim(Transform(toPartener.cod_fiscal)) + lcDenumire = Upper(Alltrim(Transform(toPartener.denumire))) + If Empty(m.lcCod) + Return + Endif + llIsCIF = loVerificare.ISCIF(m.lcCod) + + *!* VERIFIC VALIDITATEA CODULUI + If llIsCIF + llValid = loVerificare.Validare('CIF', m.lcCod) + Else + llValid = loVerificare.Validare('CNP', m.lcCod) + Endif + + If llValidare && se verifica doar validitatea codului + Return llValid + Endif + + If !m.llValid + AMESSAGEBOX('Codul ' + m.lcCod + ' este ' + Iif(llValid, 'valid.', 'invalid.'), 0 + 48, _Screen.Caption) + Else + *!* DOAR PENTRU CIF-URI VERIFIC DENUMIREA, REG_COMERT, CALITATEA DE PLATITOR TVA + If llIsCIF + lcXml = loVerificare.Verificare('CIF', m.lcCod, 'MFINVIES') + If Type('loVerificare.oEntitate') = 'O' + loPartener = loVerificare.oEntitate + llPlatitorTva = loPartener.platitortva + lcEroare = loPartener.eroare + If !Empty(loPartener.eroare) + AMESSAGEBOX(loPartener.eroare, 0 + 48, _Screen.Caption) + Else + lcText = 'VERIFICARE CIF: ' + m.lcCod + ' ' + m.lcDenumire + CRLF + CRLF + ; + Alltrim(loPartener.firma) + CRLF + ; + Iif((loPartener.platitortvamfin And Left(m.lcCod, 2) <> 'RO') Or (!loPartener.platitortvamfin And Left(m.lcCod, 2) = 'RO'), ' *** ATENTIE *** ', '') + ; + Iif(loPartener.platitortvamfin, "PLATITOR TVA (" + Alltrim(loPartener.datatvamfin) + ")", "NEPLATITOR TVA") + CRLF + ; + Iif(loPartener.VIES, Iif(loPartener.platitortva, 'PLATITOR TVA VIES', 'NEPLATITOR TVA VIES'), 'Nu s-a interogat VIES.') + CRLF + ; + 'Stare: ' + Alltrim(loPartener.stare) + CRLF + ; + '----------------------------------------------------' + CRLF + ; + '* Adresa: ' + Alltrim(loPartener.adresa) + CRLF + ; + '* Judet: ' + loPartener.judet + CRLF + ; + '* Nr. inregistrare la Registrul Comertului: ' + loPartener.regcom + CRLF + ; + '* Cod Postal: ' + loPartener.codpostal + CRLF + ; + '* Telefon: ' + loPartener.telefon + CRLF + ; + '* Fax: ' + loPartener.fax + CRLF + CRLF + CRLF + + AMESSAGEBOX(lcText, 0 + 64, _Screen.Caption) + Endif + Endif + Endif && llIsCIF + Endif && !llValid + + Return m.llValid +Endproc && nom_parteneri_verifica + +************************************************************* +*** se apeleaza din cauta_alfa_form, butonul but_copiaza +Procedure nom_parteneri_copiaza + Lparameters toPartener, tnIdTipPart, tnTipPersoana, tnSpecial, tcTipPart + + Local lcTipPart, lnIdPart, lnIdPartCoresp, lnIdTipPart, lnSpecial, lnTipPersoana, loDate + lnIdTipPart = Iif(Empty(tnIdTipPart), 0, tnIdTipPart) + lcTipPart = Iif(Empty(Nvl(tcTipPart, [])), '', tcTipPart) + lnSpecial = Iif(Empty(tnSpecial), 0, tnSpecial) + lnTipPersoana = Iif(Empty(tnTipPersoana), 0, tnTipPersoana) + lnIdPartCoresp = 0 + loDate = Null + lnIdPart = Nvl(toPartener.id_part, 0) + + If Empty(m.lnIdPart) + Return 2 + Endif + + Do nom_parteneri_nou With m.lnIdTipPart, m.lcTipPart, m.lnSpecial, m.lnTipPersoana, m.lnIdPartCoresp, m.loDate, m.lnIdPart + + Return gnButon +Endproc && nom_parteneri_copiaza +************************************************************************************************************************** +Procedure NOM_LIMBI_NOU + Local loRec + Store '' To loRec + loRec = poRec + + Do Adauga_Modifica_Inregistrare With "nom_limbi", loRec, , "INSERT", , "addlimba" +Endproc +************************************************************************************************************************** +************************************************************************************************************************** +Procedure NOM_cursuri_NOU + Local loRec + Store '' To loRec + loRec = poRec + + Do Adauga_Modifica_Inregistrare With "curscal", loRec, , "INSERT", , "addnomcurs" +Endproc +************************************************************************************************************************** \ No newline at end of file diff --git a/programe/onomenclatoare2.prg b/programe/onomenclatoare2.prg new file mode 100644 index 0000000..72c8463 --- /dev/null +++ b/programe/onomenclatoare2.prg @@ -0,0 +1,59 @@ +*************************************************************************************************************** +**** Proceduri: +**** vizualizare_masini +*************************************************************************************************************** +******************************************* INCEPUT: vizualizare_masini ******************************************* +Procedure vizualizare_masini +gcAcces=[1;2;3;4;] +Private pomasini +Local lcSchema,lcSelect,lcOrder,lcFiltru,llAfiseaza +Store '' To pomasini +lcSchema=[''] +lcSelect=['select * from ] + gcS + [.vnom_masini where 1=2'] +lcOrder=[nrinmat] +lcFiltru = [1=2] +llAfiseaza = .F. +gencursor('pomasini','crsmasini',lcSelect,lcFiltru,lcSchema,lcOrder,llAfiseaza) +pomasini.ca_baza1.afisare() +ofrmmasini=Createobject('frm_masini') +ofrmmasini.Show(1) +Release pomasini,ofrmmasini + +Endproc +******************************************* SFARSIT: vizualizare_masini ******************************************* + + +Procedure vizualizare_RUTE +Private pomasini +Local lcSchema,lcSelect,lcOrder,lcFiltru,llAfiseaza +Store '' To poRUTE +lcSchema=[''] +lcSelect=['select * from FACT_VNOM_RUTEgest where 2=2'] +lcOrder=[ruta,ORDINE] +lcFiltru = [2=2] +llAfiseaza = .F. +gencursor('poRUTE','crsRUTE',lcSelect,lcFiltru,lcSchema,lcOrder,llAfiseaza) +poRUTE.ca_baza1.afisare() +ofrmRUTE=Createobject('frm_RUTE') +ofrmRUTE.Show(1) +Release poRUTE,ofrmRUTE + +EndProc +*--------------------------------------------------------------------- + +Procedure vizualizare_nomRUTE +Private ponomrute +Local lcSchema,lcSelect,lcOrder,lcFiltru,llAfiseaza +Store '' To ponomrute +lcSchema=[''] +lcSelect=['select * from FACT_VNOM_RUTE where 2=2'] +lcOrder=[ruta] +lcFiltru = [2=2] +llAfiseaza = .F. +gencursor('ponomrute','crsnomRUTE',lcSelect,lcFiltru,lcSchema,lcOrder,llAfiseaza) +ponomrute.ca_baza1.afisare() +ofrmRUTE=Createobject('frm_nomRUTE') +ofrmRUTE.Show(1) +Release ponomrute,ofrmRUTE + +Endproc \ No newline at end of file diff --git a/programe/ooperatii_comune.prg b/programe/ooperatii_comune.prg new file mode 100644 index 0000000..ca6f332 --- /dev/null +++ b/programe/ooperatii_comune.prg @@ -0,0 +1,2017 @@ +*!* 24.01.2011 +*!* marius.mutu +*!* viz_balanta_contabilitate - balanta cumulata + +*!* 07.11.2011 +*!* marius.mutu +*!* aleg_document_pereche +*!* conditie sucursala si analitic + +*!* 22.04.2020 +*!* verificare_note_contabile - se repun documente.sters = 0 daca s-a folosit id_fact pentru pereche si este sters in documente +*!* din diferite motive in documente se marcheaza sters documente care exista inca??? + +*!* 26.01.2021 +*!* viz_act - am adaugat cont_bancad si cont_bancac + +*!* 15.09.2021 +*!* verific_analitic - acont_alt, explicatie_alt + +******************************** INCEPUT: viz_act ******************************** +Procedure viz_act + Lparameters tnCurs,tcValuta + + *** verificare INAINTE_DE + Do inainte With "ACT" In oinainte_de.prg + + *** creez cursorul actjur fara date + Private poactjur,ACTJUR,poact,act,porull,rull + Store '' To poactjur,poact,porull + + *!* 24.03.2008 + *!* If m.nivel=0 + *!* If At([6;],gcAcces)>0 + pcschema=['SERIE_ACT C(10),ID_ACT N(20),LUNA N(2),AN N(4),COD N(20),DATAIREG D,nract N(20),DATAACT D,'+]+; + ['EXPLICATIA C(100),SCD C(4),ASCD C(4),SCC C(4),ASCC C(4),SUMA N(20,gnPC),PERECHED N(14),DATAACTD D,'+]+; + ['PERECHEC N(14),DATAACTC D,SUMA_VAL N(20,gnPval),ID_VALUTA N(5),NUME_VAL C(5),CURS N(10,gnPcurs2),DATASCAD D,NEIMPOZAB N(20,gnPC),'+]+; + ['NNIR N(14),ID_UTIL N(5),UTIL C(30),DATAORA T,ID_UTILS N(5),UTILS C(30),DATAORAS T,'+]+; + ['ID_RESPONSABIL N(5),NRESP C(30),ID_VENCHELT N(5),DST_CHLT C(100),ID_LUCRARE N(5),NRORD C(50),ID_CTR N(5), CONTRACT C(30),'+]+; + ['ID_SECTIE N(5),SECTIE C(30),PROC_TVA N(5,2),ID_SET N(20),ID_FACT N(20),ID_PARTD N(10),PARTD C(50),COD_FISCALD C(30), ID_PARTC N(10),'+]+; + ['PARTC C(50), COD_FISCALC C(30),ID_SUCURSALA N(5),SUCURSALA C(50),STERS N(1),ID_FDOC N(5),FDOC C(30),EXPLICATIE_TVA C(100),ID_JTVA_COLOANA N(4),'+]+; + ['EXPLICATIA4 C(100),EXPLICATIA5 C(100),ID_GESTIN N(5),GESTIN C(50),ID_GESTOUT N(5),GESTOUT C(50),ID_FACTD N(20),ID_FACTC N(20),'+]+; + ['VALIDAT N(1),ID_UTILV N(5), UTILV C(30), DATAORAV T,CONT_BANCAD C(50),BANCAD C(5),CONT_BANCAC C(50), BANCAC C(50), '+]+; + ['TAXCODE N(6), TAXNAME C(250), SAFT_DESCRIERE C(250), SAFT_PROCENT N(6,2),PAYMENTCODE C(9),PAYMENTNAME C(250), REGISTRU C(20)'] + + pcselect=['select SERIE_ACT,ID_ACT, LUNA, AN, COD, DATAIREG, NRACT, DATAACT, '+]+; + ['EXPLICATIA, SCD, ASCD, SCC, ASCC, SUMA, PERECHED, DATAACTD,'+]+; + ['PERECHEC, DATAACTC, SUMA_VAL, ID_VALUTA, NUME_VAL, CURS, DATASCAD, NEIMPOZAB, '+]+; + ['NNIR, ID_UTIL, UTIL, DATAORA, ID_UTILS, UTILS, DATAORAS, '+]+; + ['ID_RESPONSABIL, NRESP, ID_VENCHELT, DST_CHLT, ID_LUCRARE, NRORD, ID_CTR, CONTRACT, '+]+; + ['ID_SECTIE, SECTIE, PROC_TVA, ID_SET, ID_FACT, ID_PARTD, PARTD, COD_FISCALD, ID_PARTC, '+]+; + ['PARTC, COD_FISCALC, ID_SUCURSALA, SUCURSALA, STERS, ID_FDOC, FDOC, EXPLICATIE_TVA ,ID_JTVA_COLOANA ,'+]+; + ['EXPLICATIA4, EXPLICATIA5, ID_GESTIN, GESTIN, ID_GESTOUT, GESTOUT, ID_FACTD, ID_FACTC, '+]+; + ['VALIDAT, ID_UTILV, UTILV, DATAORAV,CONT_BANCAD,BANCAD,CONT_BANCAC,BANCAC,TAXCODE,TAXNAME,SAFT_DESCRIERE,SAFT_PROCENT,PAYMENTCODE,PAYMENTNAME,REGISTRU'+]+; + [' from vact_tot where 2=2'] + pcfiltru=[sters=0 and luna=]+Alltrim(Str(gnluna))+[ and an=]+Alltrim(Str(gnan)) + *!* Else + *!* pcschema=['SERIE_ACT C(10),ID_ACT N(20),LUNA N(2),AN N(4),COD N(20),DATAIREG D,NRACT N(14),DATAACT D,'+]+; + *!* ['EXPLICATIA C(100),SCD C(4),ASCD C(4),SCC C(4),ASCC C(4),SUMA N(20,gnPA),PERECHED N(14),'+]+; + *!* ['PERECHEC N(14),SUMA_VAL N(20,gnPval),ID_VALUTA N(5),NUME_VAL C(5),CURS N(10,gnPcurs),DATASCAD D,NEIMPOZAB N(20,gnPA),'+]+; + *!* ['NNIR N(10),ID_UTIL N(5),UTIL C(30),DATAORA T,ID_UTILS N(5),UTILS C(30),DATAORAS T,'+]+; + *!* ['ID_RESPONSABIL N(5),NRESP C(30),ID_VENCHELT N(5),DST_CHLT C(100),ID_LUCRARE N(5),NRORD C(50),ID_CTR N(5),CONTRACT C(30),'+]+; + *!* ['ID_SECTIE N(5),SECTIE C(30),PROC_TVA N(5,2),ID_SET N(20),ID_FACT N(20),ID_PARTD N(10),PARTD C(50),ID_PARTC N(10),'+]+; + *!* ['PARTC C(50),ID_SUCURSALA N(5),SUCURSALA C(50),ID_FDOC N(5),FDOC C(30),EXPLICATIE_TVA C(100),ID_JTVA_COLOANA N(4),'+]+; + *!* ['EXPLICATIA4 C(100),EXPLICATIA5 C(100),ID_GESTIN N(5),GESTIN C(50),ID_GESTOUT N(5),GESTOUT C(50),ID_FACTD N(20),ID_FACTC N(20),sters n(1),'+]+; + *!* ['VALIDAT N(1),ID_UTILV N(5), UTILV C(30), DATAORAV T'] + + *!* pcselect=['select SERIE_ACT,ID_ACT, LUNA, AN, COD, DATAIREG, NRACT, DATAACT,'+]+; + *!* ['EXPLICATIA, SCD, ASCD, SCC, ASCC, SUMA, PERECHED,'+]+; + *!* ['PERECHEC, SUMA_VAL, ID_VALUTA, NUME_VAL, CURS, DATASCAD, NEIMPOZAB,'+]+; + *!* ['NNIR, ID_UTIL, UTIL, DATAORA, ID_UTILS, UTILS, DATAORAS, '+]+; + *!* ['ID_RESPONSABIL, NRESP, ID_VENCHELT, DST_CHLT, ID_LUCRARE, NRORD, ID_CTR, CONTRACT,'+]+; + *!* ['ID_SECTIE, SECTIE, PROC_TVA, ID_SET, ID_FACT, ID_PARTD, PARTD, ID_PARTC, '+]+; + *!* ['PARTC, ID_SUCURSALA, SUCURSALA, ID_FDOC, FDOC, EXPLICATIE_TVA ,ID_JTVA_COLOANA ,'+]+; + *!* ['EXPLICATIA4, EXPLICATIA5, ID_GESTIN, GESTIN, ID_GESTOUT, GESTOUT, ID_FACTD, ID_FACTC, 0 as sters, '+]+; + *!* ['VALIDAT, ID_UTILV, UTILV, DATAORAV '+] + ; + *!* [' from ] + gcS + [.vact_tot where 2=2'] + *!* pcfiltru=[luna=]+Alltrim(Str(gnluna))+[ and an=]+Alltrim(Str(gnan)) + + *!* Endif + *!* 24.03.2008 ^ + * din afisactual + *!* If m.nivel>1 + If At([6;],gcAcces)=0 + pcfiltru = pcfiltru + [ AND ID_UTIL=]+Alltrim(Str(gnidutil))+[ ] + Endif + + pcfiltru=[1=2] + + *!* pcschema=[''] + pcorder=[dataireg,id_act] + llAfisare=.F. + gencursor('poactjur','actjur',pcselect,pcfiltru,pcschema,pcorder,llAfisare) + poactjur.ca_baza1.afisare() + Select ACTJUR + *COPY TO c:\act.dbf + + pcselect=['select * from act where 1=2'] + pcfiltru=[1=2] + pcschema=[''] + pcorder=[dataireg] + llAfisare=.F. + gencursor('poact','act',pcselect,pcfiltru,pcschema,pcorder,llAfisare) + poact.ca_baza1.afisare() + + pcselect=['select * from rul where 1=2'] + pcfiltru=[1=2] + pcschema=[''] + pcorder=[] + llAfisare=.F. + gencursor('porull','rull',pcselect,pcfiltru,pcschema,pcorder,llAfisare) + porull.ca_baza1.afisare() + + update_jtva_coloane("", "crsJtvaTemp", 0) && baza si neimpozabile pentru modificare explicatie TVA in rulaje + + Clear Class "afisjurcom" + Select ACTJUR + OJUR=Createobject('AFISJURcom',tnCurs,tcValuta) + If .F. + If NNN>10000 + OJUR.EACTAN=.T. + Endif + Endif + + OJUR.Show(1) + Release OJUR + Use In (SELECT('ACTJUR')) + USE IN (SELECT('crsJtvaTemp')) + + Release poactjur,poact,porull + +Endproc +******************************** SFARSIT: viz_act ******************************** + +************************** INCEPUT: aleg_document_pereche ***************************** + +Procedure aleg_document_pereche + Parameters tnFel,toAct,tcTabel + Local lcSel,lcSelAct + + *** tnFel : tipul soldului + *** toAct : obiect cu varibilele din tabel + *** tcTabel : tabelul in care se varsa datele + + *lcControl = ALLTRIM(tcControl) + *lcSelAct = &lcControl..RecordSource + + lcSelAct = Alltrim(tcTabel) + Select (lcSelAct) + lnRand = Recno() + lnSucces=1 + + If tnFel = 0 && ACTIV + pcContul = Alltrim(Nvl(toAct.scc,[])) + pcContCoresp = Alltrim(Nvl(toAct.scd,[])) + pcACont = Alltrim(Nvl(toAct.ascc,[NULL])) + pnIdPart = Nvl(toAct.Id_partc,0) + pcNume = Alltrim(Nvl(toAct.partc,[])) + pnPereche = [perecheC] + pnIdPereche = [id_factC] + pnPozCont = 1 + Else && PASIV + pcContul = Alltrim(Nvl(toAct.scd,[])) + pcContCoresp = Alltrim(Nvl(toAct.scc,[])) + pcACont = Alltrim(Nvl(toAct.ascd,[NULL])) + pnIdPart = Nvl(toAct.Id_partd,0) + pcNume = Alltrim(Nvl(toAct.partd,[])) + pnPereche = [perecheD] + pnIdPereche = [id_factD] + pnPozCont = 0 + Endif + lcFis = 'actcv' + Alltrim(pcContul) + lcTitluSpec = [] + + *!* lcSelect = [select decode(tip_sold,'A',0,'P',1,-1) as tip_sold from ] + gcs + [.vplcont_sintetic where cont = ?pcContul and an = ?gnAn] + *!* lcCursor = [crsSold] + *!* lnSucces = goexecutor.oExecute(lcSelect,lcCursor) + *!* IF lnSucces < 0 + *!* MESSAGEBOX('Modificare:Tip Sold ' +goExecutor.cEroare,0+16,"Eroare") + *!* ENDIF + + *!* IF lnSucces > 0 + *!* SELECT crsSold + *!* LOCATE + *!* IF !EOF() + *!* pnFelCont = tip_sold + *!* ELSE + *!* pnFelCont = -1 + *!* ENDIF + + *!* IF pnFelCont = -1 && dc e bifunctional sau nu e definit + *!* PRIVATE eActiv + *!* STORE .T. TO eActiv + *!* PRIVATE loCont + *!* loCont = CREATEOBJECT("custom") + *!* ADDPROPERTY(loCont,'cont',pcContul) + *!* ADDPROPERTY(loCont,'acont',pcAcont) + + *!* Ol=CREATEOBJECT("frm_sel_cont") + *!* WITH Ol + *!* .titlufrumos1.CAPTION= 'Tipul soldului' + *!* .cboCont.visible = .f. + *!* .lblCont.Caption = loCont.cont + *!* .lblAcont.Caption = loCont.acont + *!* .terminat1.enabled = .t. + *!* .ocont=loCont + *!* .HEIGHT = 190 + *!* ENDWITH + *!* Ol.SHOW(1) + *!* RELEASE loCont + *!* + *!* IF buton = 2 + *!* lnSucces = -1 + *!* ELSE + *!* pnFelCont = IIF(eActiv,0,1) + *!* ENDIF + *!* ENDIF + + + *!* *!* lcSelect = [select count(*) as ePereche from ] + gcs + [.vcoresp_tip_cont where cont = ?pcContul and fel_cont = ?pnFelCont and cu_inregistrari = 1 ] + ; + *!* *!* [and ?pcContul not in (select cont from ] + gcs + [.exceptii_ireg where cont_c = ?pcContCoresp and invers = 1 and debit =?pnPozCont)] + *!* *!* lcCursor = [crsTest] + *!* *!* lnSucces = goexecutor.oExecute(lcSelect,lcCursor) + *!* *!* IF lnSucces < 0 + *!* *!* MESSAGEBOX('Modificare:Verific existenta pereche ' +goExecutor.cEroare,0+16,"Eroare") + *!* *!* ENDIF + *!* ENDIF + + *!* IF lnSucces > 0 + *!* SELECT crsTest + *!* LOCATE + *!* IF ePereche = 0 + *!* lnSucces = -1 + *!* toact.&pnPereche = 0 + *!* toact.&pnIdPereche = 0 + *!* MESSAGEBOX('Nu trebuie completat documentul pereche!',0,'Informare') + *!* ENDIF + *!* ENDIF + + If lnSucces > 0 + If Type('toAct.Suma_val')# 'U' And !Empty(toAct.Suma_val) + llval = .T. + pnSuma = toAct.Suma_val + lcFormular = [ocompensari_val] + If Type('toAct.Id_Valuta')# 'U' + pnIdValuta = toAct.Id_Valuta + Else + pnIdValuta = 0 + Endif + Else + llval = .F. + pnSuma = toAct.Suma + lcFormular = [ocompensari] + Endif + + pcDenumire = [Partener ] + pcContul + pcCond = [ an = ?gnAn and luna = ?gnluna] + + If llval + pcCond= pcCond + [ and ABS(i.precvaldeb + i.valdebit - i.precvalcred - i.valcredit)>0 and i.id_valuta = ?pnIdValuta ] + Else + pcCond= pcCond + [ and (i.precvaldeb + i.valdebit - i.precvalcred - i.valcredit = 0) ] + Endif + + pcselect = ['select i.* FROM Vireg_parteneri i where 2=2 '] + *!* 07.11.2011 + If Alltrim(pcACont) # [NULL] + pcfiltru = [ i.id_part = ?pnIdPart AND ABS(i.precdeb + i.debit - i.preccred - i.credit)<>0 AND i.cont = ?pcContul and NVL(acont,'x') = NVL(?pcACont,'x') and ] + pcCond + Else + pcfiltru = [ i.id_part = ?pnIdPart AND ABS(i.precdeb + i.debit - i.preccred - i.credit)<>0 AND i.cont = ?pcContul and acont is null and ] + pcCond + ENDIF + pcfiltru = m.pcfiltru + m.gcCondSucursala + *!* 07.11.2011 ^ + pcschema = [''] + pcorder = [''] + + Private podateintrod + Store '' To podateintrod + + gencursor('podateintrod','crs_actcv',pcselect,pcfiltru,[''],'') + If Type('podateintrod') # 'O' + lnSucces = -1 + Endif + Endif + + If lnSucces > 0 + If Used(lcFis) + Use In &lcFis + Endif + + If tnFel = 0 + lcSel = [SELECT *, ACONT AS ASCC, nume_val as numeval, curs as cursschimb, precdeb + debit as totctva, preccred+credit as achitat, ] +; + [precvaldeb + valdebit AS sumaval, precVALcred+VALcredit as achitatval, ] +; + [.f. as ales, 00000000000000.0000 as sumaachi, 000000000000.0000 as sumaachi2, 00000000000000.0000 as achilei, 00000000000000.0000 as difplus, 00000000000000.0000 as difminus, 000000.0000 as cursval, 000000.0000 as cursdif ] +; + [FROM crs_actcv order by dataact INTO CURSOR ] + lcFis + [ READWRITE ] + Else + lcSel = [SELECT *, ACONT AS ASCD, nume_val as numeval, curs as cursschimb, preccred + credit as totctva, precdeb+debit as achitat, ] + ; + [precvalcred + valcredit as sumaval, precVALdeb+VALdebit as achitatval, ] + ; + [.f. as ales, 00000000000000.0000 as sumaachi, 00000000000000.0000 as sumaachi2, 00000000000000.0000 as achilei, 00000000000000.0000 as difplus, 00000000000000.0000 as difminus, 000000.0000 as cursval, 000000.0000 as cursdif ] + ; + [FROM crs_actcv order by dataact INTO CURSOR ] + lcFis + [ READWRITE ] + Endif + &lcSel + If Used('crs_actcv') + Use In crs_actcv + Endif + + If pcACont # [NULL] + lcTitluSpec = [ / Analitic: ] + pcACont + Endif + + Select (lcFis) + Clear Class (lcFormular) + OPLATA=Createobject(lcFormular) + OPLATA.titlufrumos1.Caption = pcDenumire + [: ] + pcNume + lcTitluSpec + OPLATA.pcFis = lcFis + OPLATA.Suma = pnSuma + *OPLATA.pnFelCont = pnFelCont + OPLATA.Show(1) + Clear Class (lcFormular) + + If gnButon = 1 + Select (lcSelAct) + Delete + Select (lcFis) + Scan For ales + Scatter Name oper + Select (lcSelAct) + Append Blank + Gather Name toAct + Replace &pnIdPereche With oper.id_fact, &pnPereche With oper.nract, Suma With oper.sumaachi + If Type('toAct.Suma_val')# 'U' + Replace Suma_val With oper.sumaachi2 + Endif + Select (lcFis) + Endscan + Else + lnSucces = -1 + Endif + Endif + + If lnSucces < 0 + Select &lcSelAct + lcUpdate = [update ] + lcSelAct + [ set ] + pnPereche + [= ] + Alltrim(Str(toAct.&pnPereche)) + [ WHERE RECNO() = ] + Alltrim(Str(lnRand)) + &lcUpdate + *UPDATE (lcSelAct) SET &pnPereche = toact.&pnPereche WHERE RECNO() = lnRand + Else + Select (lcSelAct) + Do nrord With lcSelAct + Endif + + If Used(lcFis) + Use In (lcFis) + Endif + If Used('crsTest') + Use In crsTest + Endif + + Select (lcSelAct) + *&lcControl..SetFocus + +Endproc && aleg_document_pereche + +************************** SFARSIT: aleg_document_pereche ***************************** + +************************** INCEPUT: exista_cont_in_plan_conturi ***************************** +Function exista_cont_in_plan_conturi + Parameters tcCont + LOCAL lcSelect + + lcSelect = SELECT() + llExista = .F. + tcCont = Alltrim(tcCont) + + lcSql=[select count(*) as exista_cont FROM ] + gcS + [.vplcont_sintetic where cont=?tcCont and inactiv = 0 and an = ?gnAn ] + lcCursor = 'crs_cont' + lnSucces = goExecutor.oExecute(lcSql,lcCursor) + If lnSucces < 0 + aMESSAGEBOX('VERIFICARE CONT ' + Chr(13) + goExecutor.cEroare,0+16,"Eroare") + Endif + If lnSucces > 0 + Select crs_cont + Locate + llExista = NVL(exista_cont,0) > 0 + ENDIF + + If !llExista + aMESSAGEBOX('Acest cont nu este configurat in planul de conturi!',48,'Atentie!') + Endif + USE IN (SELECT('crs_cont')) + SELECT (lcSelect) + + Return llExista + ************************** SFARSIT: exista_cont_in_plan_conturi ***************************** + + ************************** INCEPUT: verific_partener ***************************** +Function verific_partener + Parameters tcCont, tcColNume, tcColId, tcTabel + + ll_l=.F. + + If Empty(tcCont) Or Type('tccont')#'C' + Return ll_l + Else + lcCont = Alltrim(tcCont) + Endif + + If Empty(tcColNume) Or Type('tcColNume')#'C' + Return ll_l + Else + lcColNume = Alltrim(tcColNume) + Endif + + If Empty(tcColId) Or Type('tcColId')#'C' + Return ll_l + Else + lcColID = Alltrim(tcColId) + Endif + + If Empty(tcTabel) Or Type('tcTabel')#'C' + lcTabel = Alias() + Else + lcTabel = Alltrim(tcTabel) + Endif + + + lnId_part = 0 + lcNume = '' + + lcSql=[select count(*) as valoare FROM ] + gcS + [.vconfig_cont_ireg where to_number(cont) = ] + lcCont + lcCursor = 'c_part' + lnSucces = goExecutor.oExecute(lcSql,lcCursor) + + If lnSucces < 0 + aMESSAGEBOX('VERIFICARE CONT ' + Chr(13) + goExecutor.cEroare,0+16,"Eroare") + Else + ll_l = .T. + Select c_part + If valoare > 0 + lcTitlu = 'Nume partener ' + lcCont + llNou = .T. + *!* modificare 10.12.2010 + loCauta = CautPartenerContabilitate(GetHash([cTitlu=>] + Alltrim(lcTitlu)+[??cCont=>] + Alltrim(lcCont) + [??] + ; + [lAdaugCorespondente=>1])) + *!* locauta = caut_parteneri(lcCont, lcTitlu,,llNou) + *!* modificare 10.12.2010 ^ + If !Empty(loCauta.id_part) + lnId_part=loCauta.id_part + lcNume=Alltrim(loCauta.denumire) + Endif + Endif + + Select (lcTabel) + Replace &lcColID With lnId_part, &lcColNume With lcNume + Endif + + If Used('c_part') + Use In c_part + Endif + + Return ll_l + ************************** SFARSIT: verific_partener ***************************** + + ************************** INCEPUT: verific_analitic ***************************** +Function verific_analitic + Parameters tlClick, tcCont, tcacont, tcColoana, tcTabel + Local lcTabel, ll_l, lcAcont, lcSql, lcCursor, lnSucces + + m.den='' + ll_l=.F. + lcAcont = [] + If Empty(tcCont) + Return ll_l + Else + pcCont = Alltrim(tcCont) + Endif + + If Empty(tcacont) Or Type('tcacont')#'C' + pcACont = [] + Else + pcACont = tcacont + Endif + + If Empty(tcTabel) Or Type('tcTabel')#'C' + lcTabel = Alias() + Else + lcTabel = Alltrim(tcTabel) + Endif + + If Used('TCEVA') + Use In tceva + Endif + + TEXT TO lcSql NOSHOW +select p.acont || nvl2(p.cont_alt, ' - ' || p.cont_alt, '') || nvl2(p.cod, ' - ' || p.cod, '') || ' - ' || nvl(p.explicatie, '') as den, p.CONT, p.ACONT FROM vplcont_ANALITIC p where cont = ?pcCont and inactiv = 0 and an = ?gnAn order by acont + ENDTEXT + + lcCursor = 'tceva' + lnSucces = goExecutor.oExecute(lcSql,lcCursor) + If lnSucces < 0 + aMESSAGEBOX('oOperatii_comune.VERIFIC_ANALITIC ' + Chr(13) + goExecutor.cEroare,0+16,"Eroare") + Endif + + If lnSucces > 0 + Select tceva + Locate + If Eof() + If !Empty(tcacont) And !Isnull(tcacont) + aMESSAGEBOX('Nu au fost definite simboluri analitice pentru contul ' + pcCont,48,"Atentie") + Endif + lnSucces = -1 + Else + If !tlClick + If Empty(tcacont) Or Isnull(tcacont) && exista analitic si nu e completat + tlClick = .T. + Endif + Endif + Endif + Endif + + If lnSucces > 0 + Select tceva + If tlClick + Do caut_alfa_cursor With 'tceva','den','Alegeti simbolul analitic','m.den' + Select tceva + Locate For Alltrim(den) = Alltrim(m.den) + pcACont = acont + Else + Locate For Alltrim(Cont) = pcCont And Alltrim(acont)=Alltrim(pcACont) + If !Found() + Do caut_alfa_cursor With 'tceva','den','Alegeti simbolul analitic','m.den' + Select tceva + Locate For Alltrim(den) = Alltrim(m.den) + pcACont = acont + Endif + Endif + Endif + + IF !EMPTY(m.lcTabel) AND !EMPTY(m.tcColoana) AND USED(m.lcTabel) + If lnSucces > 0 + Select (lcTabel) + Replace &tcColoana With pcACont + ll_l = .T. + Else + Select (lcTabel) + Replace &tcColoana With '' + ENDIF + ELSE + ll_l = (m.lnSucces > 0) + ENDIF + + Use In (SELECT('tceva')) + + Select (lcTabel) + Return ll_l + + ************************** SFARSIT: verific_analitic ***************************** + ************************** INCEPUT: verificare_note_contabile ***************************** +Procedure verificare_note_contabile + Parameters tcAct,tlVerificAnalitic,tlAlegPartener, tlNuVerificCont + + *!* 03.05.2013 : am adaugat lcIdFact, lcMesajIdFact + Local lcInMesaj, lcInMesajAcont, lcInMesajP, lcInMesajIreg, lcMesaj, lcInMesajPSters, lcAct, lnId_set, ll_return, lcIdFact, lcMesajIdFact + Store '' To lcInMesaj, lcInMesajAcont, lcInMesajP, lcInMesajIreg, lcMesaj, lcAct, lcInMesajPSters, lcIdFact, lcMesajIdFact + Store .T. To ll_return + + If Empty(tcAct) Or Type('tcAct') # 'C' + lcAct = Alias() + Else + lcAct = Alltrim(tcAct) + Endif + + Select (lcAct) + lnNrNota=1 + Scan For Suma <> 0 + lcScd = Alltrim(Nvl(scd,'')) + lcScc = Alltrim(Nvl(scc,'')) + *!* 07.05.2013 : verific id_fact de pe notele de TVA devenit exigibil ( 4426 - 4428 si 4428 - 4427 ), id_factc + *!* si id_factd sa nu fie marcate ca sterse in tabela "documente" + lcIdFact = Iif(id_fact>0 and tva_incasare=1 and ((scd = [4426] and scc = [4428]) or (scd = [4428] and scc = [4427])),Alltrim(Str(id_fact)),[]) + lcIdFact = lcIdFact + Iif(id_factc>0,Iif(!Empty(lcIdFact),[,],[]) + Alltrim(Str(id_factc)),[]) + lcIdFact = lcIdFact + Iif(id_factd>0,Iif(!Empty(lcIdFact),[,],[]) + Alltrim(Str(id_factd)),[]) + *!* 07.05.2013 ^ + *!* 11.03.2008 + *!* tlNuVerificCont - nu se verifica conturile + If !tlNuVerificCont + *!* la clasele 8 si 9 se poate sa nu fie contul corespondent completat + If Empty(lcScd) And !Inlist(Left(lcScc,1),'8','9') + ll_return = .F. + lcMesaj = lcMesaj + ',' + 'contul debitor' + Endif + If Empty(lcScc) And !Inlist(Left(lcScd,1),'8','9') + ll_return = .F. + lcMesaj = lcMesaj + ',' + 'contul creditor' + Endif + Endif + *!* 11.03.2008 ^ + If Empty(nract) + ll_return = .F. + lcMesaj = lcMesaj + ',' + 'nr.document' + Endif + If (!Empty(Suma_val) Or !Empty(Curs)) And Empty(Id_Valuta) + ll_return = .F. + lcMesaj = lcMesaj + ',' + 'nume valuta' + Endif + If Type('cu_tva')<>'U' + If cu_tva = 1 And Empty(Nvl(id_jtva_coloana,0)) + ll_return = .F. + lcMesaj = lcMesaj + ',' + 'explicatie TVA' + Endif + Endif + If !ll_return + *!* modificare ROAPRODUCTIE v 2.0.2 + *!* aMESSAGEBOX("La nota nr. "+Alltrim(Str(lnNrNota))+" nu ati completat campu"+ Iif(At([,],lcMesaj,2)>0,[rile],[l]) + ; + *!* ": "+Substr(lcMesaj,2,60)+"...",0+48,"Atentie") + lcMesaj = "La nota nr. "+Alltrim(Str(lnNrNota))+" nu ati completat campu"+ Iif(At([,],lcMesaj,2)>0,[rile],[l]) + ; + ": "+Substr(lcMesaj,2,60)+"..." + Chr(13) + Chr(10) + Chr(13)+ Chr(10) + *!* modificare ROAPRODUCTIE v 2.0.2 ^ + Exit + Endif + lnNrNota=lnNrNota+1 + Endscan + + If ll_return + lcMesaj = [] + + Select (lcAct) + Go Top + lnId_set=id_set + + *!* modificare migrare v 1.0 > v 2.0 (am si note cu suma 0) + *!* Select Distinct scd As Cont From (lcAct) ; + *!* WHERE Suma # 0 And !Empty(Nvl(scd,'')) ; + *!* UNION ; + *!* SELECT Distinct scc As Cont From (lcAct) ; + *!* WHERE Suma # 0 And !Empty(Nvl(scc,'')) ; + *!* INTO Cursor tcont + + *!* If _Tally = 0 + *!* Use In tcont + Select Distinct scd As Cont From (lcAct) ; + WHERE !Empty(Nvl(scd,'')) ; + UNION ; + SELECT Distinct scc As Cont From (lcAct) ; + WHERE !Empty(Nvl(scc,'')) ; + INTO Cursor tcont + *!* Endif + *!* modificare migrare v 1.0 > v 2.0 ^ + + lcLista = [-1] + + i = 0 + Select tcont + Scan + If Empty(Nvl(Cont,'')) + Loop + Endif + i = i + 1 + lcLista = lcLista + ',' + Alltrim(Cont) + Endscan + + lcSql = 'select distinct c.cont as contpart, c.fel_cont, c.cu_inregistrari, c.explicatie as explic_cont,e.cont_c as exceptie, e.debit as pozitie, e.invers, 0 as gasit ' + ; + 'from ' + gcS + '.vconfig_cont_ireg c left join ' + gcS + '.exceptii_ireg e on c.cont = e.cont and e.invers = 1 ' + ; + 'where to_number(c.cont) in (' + lcLista + ')' + lcCursor = 'verif_part' + + lnSucces = goExecutor.oExecute(lcSql,lcCursor) + If lnSucces < 0 + aMESSAGEBOX('Modificare:Verific completare id_part ' +goExecutor.cEroare,0+16,"Eroare") + Endif + + If lnSucces > 0 + If Reccount('verif_part') > 0 + Select (lcAct) + Scan For !Empty(Suma) + + Scatter Name loCont + Select verif_part + Locate For contpart=loCont.scd + If Found() + If Empty(loCont.Id_partd) And !(loCont.scd$lcInMesajP) + lcInMesajP=lcInMesajP+','+loCont.scd + Replace gasit With 1 + Endif + If Empty(loCont.pereched) And cu_inregistrari = 1 And fel_cont = 1 And !(loCont.scd$lcInMesajIreg) + Locate For contpart=loCont.scd And inlist(upper(exceptie), 'X', upper(loCont.scc)) And fel_cont = 1 And pozitie = 0 And invers = 1 + If !Found() + lcInMesajIreg = lcInMesajIreg + ',' + loCont.scd + Endif + Endif + *!* modificare 06.11.2007 + Else + If !Empty(loCont.Id_partd) + Select (lcAct) + lcInMesajPSters = lcInMesajPSters + ',' + loCont.scd + Replace Id_partd With 0,partd With '' + Endif + *!* modificare 06.11.2007 ^ + Endif + + Select verif_part + Locate For contpart=loCont.scc + If Found() + If Empty(loCont.Id_partc) And !(loCont.scc$lcInMesajP) + lcInMesajP=lcInMesajP+','+loCont.scc + Replace gasit With 1 + Endif + If cu_inregistrari = 1 And fel_cont = 0 And Empty(loCont.perechec) And !(loCont.scc$lcInMesajIreg) + Locate For contpart=loCont.scc And inlist(upper(exceptie), 'X', upper(loCont.scd)) And fel_cont = 0 And pozitie = 1 And invers = 1 + If !Found() + lcInMesajIreg = lcInMesajIreg + ',' + loCont.scc + Endif + Endif + *!* modificare 06.11.2007 + Else + If !Empty(loCont.Id_partc) + Select (lcAct) + lcInMesajPSters = lcInMesajPSters + ',' + loCont.scc + Replace Id_partc With 0,partc With '' + Endif + *!* modificare 06.11.2007 ^ + Endif + Select (lcAct) + Endscan + *!* modificare 06.11.2007 + Else + Select (lcAct) + Scan + If !Empty(Id_partd) + lcInMesajPSters = lcInMesajPSters + ',' + Alltrim(scd) + Replace Id_partd With 0,partd With '' + Endif + If !Empty(Id_partc) + lcInMesajPSters = lcInMesajPSters + ',' + Alltrim(scc) + Replace Id_partc With 0,partc With '' + Endif + Endscan + Endif + *!* modificare 06.11.2007 ^ + Endif + + *!* modificare 07.05.2013 + If lnSucces > 0 And !Empty(Nvl(lcIdFact,[])) + lcSql = [select pack_contafin.verifica_id_documente(']+lcIdFact+[') as rez from dual] + lcCursor = 'crsverifdoc' + lnSucces = goExecutor.oExecute(lcSql,lcCursor) + If lnSucces < 0 + aMESSAGEBOX('Modificare:Verific id documente ' +goExecutor.cEroare,0+16,"Eroare") + Else + select (lcCursor) + lcMesajIdFact = alltrim(nvl(rez,'')) + use in (lcCursor) + + if !empty(nvl(lcMesajIdFact,[])) + llDocumentePlus = (Occurs(',',lcMesajIdFact)>0) + IF AMESSAGEBOX('Document' + iif(m.llDocumentePlus,'ele','ul') + ' ' + lcMesajIdFact + ; + ' a fost marcat sters in lista de documente!' + + Chr(13) + Chr(10) + Chr(13) + Chr(10) + ; + 'Doriti sa ' + iif(m.llDocumentePlus,'le','il') + ' marcati activ?',4+32,_SCREEN.Caption) = 6 + lcSql = 'UPDATE DOCUMENTE SET STERS = 0 WHERE ID_DOC IN (' + m.lcIdFact + ')' + llSucces = goExecutor.oExecuta(m.lcSql) + IF m.llSucces + lcMesajIdFact = '' + ENDIF + ENDIF && messagebox + ENDIF && empty + ENDIF && lnSucces + ENDIF && lnSucces + *!* modificare 07.05.2013 ^ + + If lnSucces > 0 And tlVerificAnalitic + lcSql=[select CONT, ACONT FROM ] + gcS + [.vplcont_ANALITIC where inactiv = 0 and an = ?gnAn order by cont ] + lcCursor = 'plcontana' + lnSucces = goExecutor.oExecute(lcSql,lcCursor) + + If lnSucces < 0 + aMESSAGEBOX('Modificare:Verific completare analitic ' +goExecutor.cEroare,0+16,"Eroare") + Endif + + If lnSucces > 0 + Select (lcAct) + Scan For !Empty(Suma) + Scatter Name loCont + If Empty(Nvl(loCont.ascd, '')) + Select plcontana + Locate For Alltrim(Cont)=Alltrim(loCont.scd) + If Found() + If !(loCont.scd$lcInMesaj) + lcInMesaj=lcInMesaj+','+loCont.scd + Endif + Endif + Else + Select plcontana + Locate For Alltrim(Cont)=Alltrim(loCont.scd) And Alltrim(acont) = Alltrim(loCont.ascd) + If !Found() + If !(Alltrim(loCont.scd) + '.' + Alltrim(loCont.ascd)$lcInMesajAcont) + lcInMesajAcont = lcInMesajAcont + ',' + Alltrim(loCont.scd) + '.' + Alltrim(loCont.ascd) + Endif + Endif + Endif + If Empty(Nvl(loCont.ascc,'')) + Select plcontana + Locate For Cont=loCont.scc + If Found() + If !(loCont.scc$lcInMesaj) + lcInMesaj=lcInMesaj+','+loCont.scc + Endif + Endif + Else + Select plcontana + Locate For Alltrim(Cont)=Alltrim(loCont.scc) And Alltrim(acont) = Alltrim(loCont.ascc) + If !Found() + If !(Alltrim(loCont.scc) + '.' + Alltrim(loCont.ascc)$lcInMesajAcont) + lcInMesajAcont = lcInMesajAcont + ',' + Alltrim(loCont.scc) + '.' + Alltrim(loCont.ascc) + Endif + Endif + Endif + Select (lcAct) + Endscan + Release loCont + Endif + Endif + + *!* modificare 07.05.2013 + if !empty(nvl(lcMesajIdFact,[])) + lcMesaj = lcMesaj + 'Document' + iif(Occurs(',',lcMesajIdFact)>0,'ele','ul') + ' ' + lcMesajIdFact + ; + ' nu mai exista in baza de date!' + Chr(13) + Chr(10) + Chr(13) + Chr(10) + ll_return = .F. + Endif + *!* modificare 07.05.2013 ^ + + If !Empty(lcInMesaj) + lcInMesaj = Substr(lcInMesaj,2) + *!* modificare ROAPRODUCTIE v 2.0.2 + *!* If Occurs(',',lcInMesaj) > 0 + *!* lcMesaj = 'Nu ati completat simbolurile analitice pentru conturile:' + *!* Else + *!* lcMesaj = 'Nu ati completat simbolul analitic pentru contul' + *!* Endif + *!* aMESSAGEBOX(lcMesaj+ ' '+ lcInMesaj+' !',48,"Atentie") + If Occurs(',',lcInMesaj) > 0 + lcInMesaj = 'simbolurile analitice pentru conturile: '+ lcInMesaj + Else + lcInMesaj = 'simbolul analitic pentru contul '+ lcInMesaj + Endif + lcMesaj = lcMesaj + 'Nu ati completat ' + lcInMesaj + ' !' + Chr(13) + Chr(10) + Chr(13) + Chr(10) + *!* modificare ROAPRODUCTIE v 2.0.2 ^ + ll_return = .F. + Endif + + If !Empty(lcInMesajAcont) + lcInMesajAcont = Substr(lcInMesajAcont,2) + If Occurs(',',lcInMesajAcont) > 0 + *!* modificare ROAPRODUCTIE v 2.0.2 + *!* lcMesaj = 'Nu exista conturile analitice in planul de conturi: ' + *!* Else + *!* lcMesaj = 'Nu exista contul analitic in planul de conturi: ' + *!* Endif + *!* aMESSAGEBOX(lcMesaj + ' ' + lcInMesajAcont +' !',48,"Atentie") + lcInMesajAcont = 'conturile analitice in planul de conturi: ' + lcInMesajAcont + Else + lcInMesajAcont = 'contul analitic in planul de conturi: ' + lcInMesajAcont + Endif + lcMesaj = lcMesaj + 'Nu exista ' + lcInMesajAcont +' !' + Chr(13) + Chr(10) + Chr(13) + Chr(10) + *!* modificare ROAPRODUCTIE v 2.0.2 ^ + ll_return = .F. + Endif + + If !Empty(lcInMesajP) + lcInMesajP = Substr(lcInMesajP,2) + If Occurs(',',lcInMesajP) > 0 + *!* modificare ROAPRODUCTIE v 2.0.2 + *!* lcMesaj = 'Nu ati completat partenerii pentru conturile:' + *!* Else + *!* lcMesaj = 'Nu ati completat partenerul pentru contul ' + *!* Endif + *!* aMESSAGEBOX(lcMesaj+' '+ lcInMesajP+' !',48,"Atentie") + lcInMesajP = 'partenerii pentru conturile: ' + lcInMesajP + Else + lcInMesajP = 'partenerul pentru contul ' + lcInMesajP + Endif + *!* modificare ROAPRODUCTIE v 2.0.2 ^ + If tlAlegPartener && dc nu pot sa ma intorc sa completez partenerii + If Used('verif_part') + *!* modificare ROAPRODUCTIE v 2.0.2 + aMESSAGEBOX('Nu ati completat '+ lcInMesajP+' !',48,"Atentie") + *!* modificare ROAPRODUCTIE v 2.0.2 ^ + Select verif_part + Scan For gasit = 1 + lcCont = Alltrim(contpart) + lcTitlu = Alltrim(explic_cont) + *!* modificare 10.12.2010 + loPart = CautPartenerContabilitate(GetHash([cTitlu=>] + Alltrim(lcTitlu) + [??] + ; + [cCont=>] + Alltrim(lcCont) + [??] + ; + [lAdaugCorespondente=>1])) + *!* loPart = caut_parteneri(lcCont , lcTitlu) + *!* modificare 10.12.2010 ^ + Select (lcAct) + Replace All Id_partd With loPart.id_part, partd With loPart.denumire For Alltrim(scd) = lcCont And Id_partd = 0 + Replace All Id_partc With loPart.id_part, partc With loPart.denumire For Alltrim(scc) = lcCont And Id_partc = 0 + Release loPart + Select verif_part + Endscan + ll_return = .F. && modificare 02.07.2007 : ca sa apese din nou pe terminat si sa se reverifice notele + *!* modificare ROAPRODUCTIE v 2.0.2 + Else + lcMesaj = lcMesaj + 'Nu ati completat '+ lcInMesajP + ' !' + Chr(13) + Chr(10) + Chr(13) + Chr(10) + *!* modificare ROAPRODUCTIE v 2.0.2 ^ + Endif + Else + *!* modificare ROAPRODUCTIE v 2.0.2 + lcMesaj = lcMesaj + 'Nu ati completat '+ lcInMesajP + ' !' + Chr(13) + Chr(10) + Chr(13) + Chr(10) + *!* modificare ROAPRODUCTIE v 2.0.2 ^ + ll_return = .F. + Endif + Endif + + If !Empty(lcInMesajIreg) + lcInMesajIreg = Substr(lcInMesajIreg,2) + If Occurs(',',lcInMesajIreg) > 0 + *!* modificare ROAPRODUCTIE v 2.0.2 + *!* lcMesaj = 'Nu ati completat doc. pereche pentru conturile:' + *!* Else + *!* lcMesaj = 'Nu ati completat doc. pereche pentru contul ' + *!* Endif + *!* aMESSAGEBOX(lcMesaj+' '+lcInMesajIreg+' !',48,"Atentie") + lcInMesajIreg = 'doc. pereche pentru conturile: ' + lcInMesajIreg + Else + lcInMesajIreg = 'doc. pereche pentru contul ' + lcInMesajIreg + Endif + lcMesaj = lcMesaj + 'Nu ati completat '+ lcInMesajIreg + ' !' + Chr(13) + Chr(10) + Chr(13) + Chr(10) + *!* modificare ROAPRODUCTIE v 2.0.2 ^ + ll_return = .F. + Endif + + *!* modificare 06.11.2007 + If !Empty(lcInMesajPSters) + lcInMesajPSters = Substr(lcInMesajPSters,2) + If Occurs(',',lcInMesajPSters) > 0 + *!* modificare ROAPRODUCTIE v 2.0.2 + *!* lcMesaj = 'Au fost stersi partenerii corespunzatori conturilor:' + *!* Else + *!* lcMesaj = 'A fost sters partenerul corespunzator contului' + *!* Endif + *!* aMESSAGEBOX(lcMesaj+ ' '+ lcInMesajPSters+' !',48,"Atentie") + lcInMesajPSters = 'Au fost stersi partenerii corespunzatori conturilor: ' + lcInMesajPSters + Else + lcInMesajPSters = 'A fost sters partenerul corespunzator contului ' + lcInMesajPSters + Endif + lcMesaj = lcMesaj + lcInMesajPSters + ' !' + Chr(13) + Chr(10) + Chr(13) + Chr(10) + *!* modificare ROAPRODUCTIE v 2.0.2 ^ + ll_return = .F. + Endif + *!* modificare 06.11.2007 ^ + + *!* modificare 14.11.2007 + *!* Verificare mai multe nr act pe acelasi Id fact + Select Distinct id_fact,nract From &lcAct Where !Inlist(Nvl(id_fact,0),0,-1) ; + and !(tva_incasare=1 and ((scd = [4426] and scc = [4428]) or (scd = [4428] and scc = [4427]))) ; && modificare ROACONT v 2.4.4 + Into Cursor cduplicatetemp1 + Select id_fact, Count(*) As nr From cduplicatetemp1 ; + GROUP By id_fact ; + INTO Cursor cduplicatetemp + + Use In (Select("cduplicatetemp1")) + + + Select cduplicatetemp + Locate For nr>1 + If Found() + *!* modificare ROAPRODUCTIE v 2.0.2 + *!* lcMesaj = 'Nu este posibil ca pe acelasi document sa existe doua numere diferite.' + *!* aMESSAGEBOX(lcMesaj,0+48,"Atentie") + lcMesaj = lcMesaj + 'Nu este posibil ca pe acelasi document sa existe doua numere diferite.' + *!* modificare ROAPRODUCTIE v 2.0.2 ^ + ll_return = .F. + Endif + Use In (Select("cduplicatetemp")) + + *!* modificare ROAPRODUCTIE v 2.0.2 + If !Empty(lcMesaj) + aMESSAGEBOX(Space(45) + "REZULTATE VERIFICARI" + Chr(13)+ Chr(10) + Replicate([=],60) + Chr(13)+ Chr(10) + lcMesaj,48,"Atentie") + Endif + *!* modificare ROAPRODUCTIE v 2.0.2 ^ + + *!* modificare 14.11.2007 ^ + + If lnSucces < 0 + ll_return = .F. + Endif + + If Used('verif_part') + Use In verif_part + Endif + If Used('plcontana') + Use In plcontana + Endif + If Used('tcont') + Use In tcont + Endif + Else + If !Empty(lcMesaj) + aMESSAGEBOX(Space(45) + "REZULTATE VERIFICARI" + Chr(13)+ Chr(10) + Replicate([=],60) + Chr(13)+ Chr(10) + lcMesaj,48,"Atentie") + Endif + Endif + + Select (lcAct) + Return ll_return + +Endproc && verificare_note_contabile +************************** SFARSIT: verificare_note_contabile ***************************** + + +******************************************* +* PROCEDURE Sterge_Nota( tnCod, tnId_Set ) +* Date : 08/07/2005, 13:03:45 +* author : marius.mutu +* description: +******************************************* +Procedure sterge_nota + Lparameters tnCod, tnId_Set + Local lnSucces + lnSucces = -1 + + If Empty(tnCod) + tnCod = 0 + Endif + If Empty(tnId_Set) + tnId_Set = 0 + Endif + If tnCod + tnId_Set = 0 + Return + Endif + + Local lcWhere + lcWhere = [] + + If !Empty(tnCod) + lcWhere = [ and cod = ] + Transform(tnCod) + Endif + If !Empty(tnId_Set) + lcWhere = [ and id_set = ] + Transform(tnId_Set) + Endif + If !Empty(lcWhere) + lcWhere = Substr(lcWhere,6) + Endif + + lcSql = [select * from ] + gcS + [.vact where ] + lcWhere + [ and an = ?gnAn and luna = ?gnLuna]+gcCondSucursala + lcCursor = [actactan] + + lnSucces = goExecutor.oExecute(lcSql,lcCursor) + goExecutor.oReset() + If lnSucces < 0 + aMESSAGEBOX('Cautare Nota:' + Chr(13) + goExecutor.cEroare,0+16,"Eroare") + Return + Endif + + Select actactan + If Reccount() > 0 + Clear Class "verificare" + overif=Createobject('verificare') + overif.Show(1) + If buton#2 + lnSucces = OSCRIE_IN_FISIERE(2,.F.) + Else + lnSucces = -1 + Endif + Endif + + If Used('actactan') + Use In actactan + Endif + Release overif + + Return lnSucces +Endproc +*----------------------------------sfarsit procedura Sterge_Nota---------------------------------- +******************************************* +* PROCEDURE scrie_nota_import( tnId_Set, tcCursorImport ) +* Date : 08/07/2005, 14:04:32 +* author : marius.mutu +* description: +******************************************* +Procedure scrie_nota_import( tnId_Set, tlVerificAnalitic, tlCompletareParteneri, tcCursorImport,taValori ) + &&taValori -- parametru pentru lans + Local lnId_set, lcCursor, lnSucces + Local llVerificAnalitic, llCompletareParteneri + lnSucces = -1 + + lnId_set = tnId_Set + lcCursor = tcCursorImport + llVerificAnalitic = tlVerificAnalitic + llCompletareParteneri = tlCompletareParteneri + + If Type('taValori',1)#[A] + lnBut = lans(lnId_set) + Else + lnBut = lans(lnId_set,.F.,.T.,@taValori) + Endif + + If lnBut = 1 + lcListaCampuri = Lista_Campuri(lcCursor) + Select actactan + Scatter Name oact + Zap + *!* INSERT INTO actactan (scd,ascd,scc,ascc,suma, explicatia) SELECT scd, ascd, scc, ascc, suma, explicatia FROM crs_inchidere + lcInsert = [INSERT INTO ACTACTAN (] + lcListaCampuri + [) select ] + lcListaCampuri + [ from ] + lcCursor + &lcInsert + + + Select actactan + Scan + lcGather = [GATHER NAME oact FIELDS EXCEPT ] + lcListaCampuri + &lcGather + Endscan + + +*!* v2.5.51 - 15.09.2014 &&modificare facuta pentru a putea modifica nota de inchidere de salarii +*!* Select actactan +*!* LOCATE +*!* Do Form verificare With llVerificAnalitic, llCompletareParteneri +*!* If gnButon = 1 +*!* Select actactan +*!* lnSucces = OSCRIE_IN_FISIERE(0) +*!* Endif + lcJurnal = [] + update_jtva_coloane(m.lcJurnal, 'crsExplicatiiTVATemp', 1) + + Select .F. As ales, 0 As Cu_tva, Cast(0 As N(2)) As tipnota, a.*, b.denumire As explicatie_tva_2 ; + From actactan a Left Join crsExplicatiiTVATemp b On a.id_jtva_coloana = b.id_jtva_coloana ; + Into Cursor tact Readwrite + + Update tact Set explicatie_tva = explicatie_tva_2 + Use In (Select('crsExplicatiiTVATemp')) + + Select tact + Go Top + llNotaNoua = .T. + llMaximize = .T. + loForm = Createobject([frm_modific2007], m.lnId_Set, m.llNotaNoua) + loForm.lb_titlu_alb_b121.Caption = 'Nota' && 'Exigibilizare TVA Incasare' + Select tact + loForm.Show(1, m.llMaximize) + + If buton = 1 + Use In (Select('actactan')) + + Select tact + Replace id_jtva_coloana With Null, proc_tva With 0 For Cu_tva = 0 + Select * From tact Into Cursor actactan READWRITE WHERE suma <>0 + + Select actactan + Replace All id_util With gnIdUtil, id_set With m.lnId_Set + lnSucces = OSCRIE_IN_FISIERE(0) + Endif && buton = 1 +*!* v2.5.51 - 15.09.2014 ^ + + Endif + + If Used('actactan') + Use In actactan + Endif + + Return lnSucces + + +Endproc +*----------------------------------sfarsit procedura scrie_nota_import---------------------------------- + +&& ------- INCEPUT ------- ultima_zi_din_luna +Function ultima_zi_din_luna + Parameters tnAnul, tnLuna + + Local ldData, lnAn, lnLuna + If Type('tnAnul')='C' + tnAnul=Val(tnAnul) + Endif + + If Type('tnLuna')='C' + tnLuna=Val(tnLuna) + Endif + + If Empty(tnAnul) Or Type('tnAnul')#'N' + lnAn = gnan + Else + lnAn = tnAnul + Endif + If Empty(tnLuna) Or Type('tnLuna')#'N' + lnLuna = gnluna + Else + lnLuna = tnLuna + Endif + + ldData = Date(lnAn, lnLuna, 1) + ldData = Gomonth(ldData,1) + ldData = Date(Year(ldData), Month(ldData), 1) - 1 + + Return ldData +Endfunc +&& ------- SFARSIT ------- ultima_zi_din_luna + +&& -------------------------- INCEPUT do_assign_analitic ------------------------------ +Procedure do_assign_analitic + Parameters tcCont,pcAct,pcRul + + Private pcCont,pcAct,pcRul,pParamP,pParamS + Store 0 To pParamP,pParamS + lcAnalitic = '' + lcAlias = Alias() + + pcCont = Alltrim(tcCont) + + lcSel = [SELECT * from ] + gcS + [.config_analitice WHERE cont = ?pcCont] + lcCursor = 'crs_cfg_ana' + lnSucces = goExecutor.oExecute(lcSel,lcCursor) + If lnSucces < 0 + aMESSAGEBOX(goExecutor.cEroare,0+16,"Eroare") + Endif + + If lnSucces > 0 + If Reccount('crs_cfg_ana')=0 + Use In crs_cfg_ana + lnSucces = -1 + Endif + Endif + + If lnSucces > 0 + Select crs_cfg_ana + Scatter Name ocfg + lcCampPrefix = Nvl(Alltrim(ocfg.camp_leg_prefix),'') + lcCampSufix = Nvl(Alltrim(ocfg.camp_leg_sufix),'') + + If !Empty(lcCampPrefix) + If Type('&pcRul..'+lcCampPrefix) # 'U' + pParamP = &pcRul..&lcCampPrefix + Else + If Type('&pcAct..'+lcCampPrefix) # 'U' + pParamP = &pcAct..&lcCampPrefix + Endif + Endif + Endif + + If !Empty(lcCampSufix) + If Type('&pcRul..'+lcCampSufix) # 'U' + pParamS = &pcRul..&lcCampSufix + Else + If Type('&pcAct..'+lcCampSufix) # 'U' + pParamS = &pcAct..&lcCampSufix + Endif + Endif + Endif + + lcSel = [{call fconturi_analitice(?gcs,?pcCont,0,?pParamP,?pParamS)}] + lcCursor = 'crs_analitice' + lnSucces = goExecutor.oExecute(lcSel,lcCursor) + + If lnSucces < 0 + aMESSAGEBOX(goExecutor.cEroare,0+16,"Eroare") + Endif + Endif + + && iau Primul Simbol Analitic din Tabel - ordonat pt ca e selectat cu Distinct + If lnSucces > 0 + Select crs_analitice + Go Top + lcAnalitic = Alltrim(acont) + Endif + + && verificare analiticului cu Planul de Conturi + If lnSucces > 0 + *!* lcSel = [SELECT cont,acont from ] + gcs + [.vplcont_analitic WHERE cont = ?pcCont and acont = ?lcAnalitic and an = ?gnAn ] + *!* lcCursor = 'crs_verific' + *!* lnSucces = goExecutor.oExecute(lcSel,lcCursor) + *!* IF lnSucces < 0 + *!* MESSAGEBOX(goExecutor.cEroare,0+16,"Eroare") + *!* ENDIF + + lnSucces = verific_analitic_(pcCont, lcAnalitic, .T.) + Endif + + If lnSucces > 0 + If Reccount('crs_verific')=0 + lnSucces = -1 + Endif + Endif + + If Used('crs_cfg_ana') + Use In crs_cfg_ana + Endif + If Used('crs_verific') + Use In crs_verific + Endif + If Used('crs_analitice') + Use In crs_analitice + Endif + If Used('crs_verific') + Use In crs_verific + Endif + + If lnSucces < 0 + lcAnalitic = '' + Endif + + Select (lcAlias) + Return lcAnalitic + + && -------------------------- SFARSIT do_assign_analitic ------------------------------ + + && -------------------------- INCEPUT verific_cont ------------------------------ +Procedure verific_cont + Parameters tcCont, tlNoMessage + + Private pcCont + pcCont = Alltrim(tcCont) + + && verificarea contului cu Planul de Conturi + lcSel = [SELECT cont from ] + gcS + [.vplcont_sintetic WHERE TRIM(cont) = ?pcCont and an = ?gnAn ] + lcCursor = 'crs_verific' + lnSucces = goExecutor.oExecute(lcSel,lcCursor) + If lnSucces < 0 + aMESSAGEBOX(goExecutor.cEroare,0+16,"Eroare") + Endif + + If lnSucces > 0 + If Reccount('crs_verific')=0 + lnSucces = -1 + Endif + Endif + + If lnSucces < 0 And !tlNoMessage + aMESSAGEBOX('Acest cont nu este definit in planul de conturi!',0+48, 'Atentie') + Endif + + Return lnSucces + +Endproc + +&& -------------------------- SFARSIT verific_cont ------------------------------ + +&& -------------------------- INCEPUT verific_analitic ------------------------------ +Procedure verific_analitic_ + Parameters tcCont, tcacont, tlNoMessage + + Private pcCont, pcACont + pcCont = Alltrim(tcCont) + pcACont = Alltrim(tcacont) + + && verificare contului cu Planul de Conturi + lcSel = [SELECT cont, acont from ] + gcS + [.vplcont_analitic WHERE TRIM(cont) = ?pcCont and TRIM(acont) = ?pcAcont and an = ?gnAn ] + lcCursor = 'crs_verific' + lnSucces = goExecutor.oExecute(lcSel,lcCursor) + If lnSucces < 0 + aMESSAGEBOX(goExecutor.cEroare,0+16,"Eroare") + Endif + + + + If lnSucces > 0 + If Reccount('crs_verific')=0 + lnSucces = -1 + Endif + Endif + + If lnSucces < 0 And !tlNoMessage + aMESSAGEBOX('Acest analitic nu este definit in planul de conturi!',0+48, 'Atentie') + Endif + Return lnSucces + +Endproc + +&& -------------------------- SFARSIT verific_analitic ------------------------------ + +*!* vizualizare balanta, balanta c8, balanta c9 +Procedure viz_balanta_contabilitate + Lparameters tcBal, tlCumulat + + Local loFrmPerioada, lnAn1, lnLuna1, lnAn2, lnLuna2, lcPerioada, lnInit, lnFinal + Private pcondper + pcondper = "" + + If tlCumulat + loFrmPerioada=Createobject('frm_perioada_luni') + loFrmPerioada.Show(1) + + If gnButon=2 + Return + Endif + + If At('_',pcondper) > 0 + lnAn1 = Val(Substr(pcondper,3,4)) + lnLuna1 = Val(Substr(pcondper,1,2)) + lnAn2 = Val(Substr(pcondper,10,4)) + lnLuna2 = Val(Substr(pcondper,8,2)) + + lcPerioada = Substr(pcondper,1,2)+'/'+Substr(pcondper,3,4) + ' - ' + Substr(pcondper,8,2)+'/'+Substr(pcondper,10,4) + Else + lnAn1 = Val(Substr(pcondper,3,4)) + lnLuna1 = Val(Substr(pcondper,1,2)) + lnAn2 = Val(Substr(pcondper,3,4)) + lnLuna2 = Val(Substr(pcondper,1,2)) + + lcPerioada = Substr(pcondper,1,2)+'/'+Substr(pcondper,3,4) + ' - ' + Substr(pcondper,1,2)+'/'+Substr(pcondper,3,4) + Endif + lnInit = lnAn1 * 12 + lnLuna1 + lnFinal = lnAn2 * 12 + lnLuna2 + Do viz_balanta With , , , , , , m.lnLuna1, m.lnAn1, m.lnLuna2, m.lnAn2, m.tcBal + ELSE + Do viz_balanta With , , , , , , , , , , m.tcBal + Endif + + + +Endproc && viz_balanta_contabilitate + +********************************************************************************************* +* PROCEDURE viz_balanta( ) +* Date : 08/09/2004, 16:00:20 +* author : marius.mutu +* description: +* tnAn1, tnLuna1, tnAn2, tnLuna2 - luna initiala, luna finala sau luna curenta +******************************************* INCEPUT:viz_balanta ******************************************* +Procedure viz_balanta + Parameters tlFaraInainte_de, tnId_sectie, tlEval_valuta, tnCurs, tcValuta, tcFormular, tnLuna1, tnAn1, tnLuna2, tnAn2, tcBal + && tcBal = "bal/bal_c8/bal_c9" && balanta clasele 1-7/ balanta clasa 8 / balanta clasa 9 + + Local lnAn1, lnLuna1, lnAn2, lnLuna2, lcBal, lcProceduraInainte, lcCaption, lcAntetOriginal + lnAn1 = gnan + lnLuna1 = gnluna + lnAn2 = gnan + lnLuna2 = gnluna + Private m.sprecdeb1,m.spreccred1,m.ssoldideb, m.ssoldicred, m.sprecdeb,m.spreccred,m.sruldeb,m.srulcred,m.stotdeb,m.stotcred,m.ssolddeb,m.ssoldcred + Store 0 To m.sprecdeb1,m.spreccred1,m.ssoldideb, m.ssoldicred, m.sprecdeb,m.spreccred,m.sruldeb,m.srulcred,m.stotdeb,m.stotcred,m.ssolddeb,m.ssoldcred + + If Empty(tcBal) Or Pcount() < 11 + lcBal = "bal" + Else + lcBal = Iif(Lower(tcBal)$"bal/bal_c8/bal_c9", Lower(tcBal), "bal") + Endif + + lcCaption = "Balanta de verificare" + Do Case + Case lcBal = "bal" + lcProceduraInainte = "BALANTA" + lcCaption = "Balanta de verificare" + Case lcBal = "bal_c8" + lcProceduraInainte = "BALANTA_C8" + lcCaption = "Balanta de verificare clasa 8" + Case lcBal = "bal_c9" + lcProceduraInainte = "BALANTA_C9" + lcCaption = "Balanta de verificare clasa 9" + Endcase + + *** verificare INAINTE_DE + If !tlFaraInainte_de + Do inainte With lcProceduraInainte In oinainte_de.prg + Endif + + Private T, lccont1, lccont2 + Store '' To lccont1, lccont2 + T='.t.' + + Local lnId_sectie, llCentru, llEval_valuta, lnCurs, lcValuta + Store .F. To llCentru + If !Empty(tnId_sectie) + lnId_sectie = tnId_sectie + Endif + llEval_valuta = tlEval_valuta + lnCurs = tnCurs + lcValuta = tcValuta + + If Pcount() < 10 Or Empty(tnAn1) Or Empty(tnLuna1) Or Empty(tnAn2) Or Empty(tnLuna2) + lnAn1 = gnan + lnLuna1 = gnluna + lnAn2 = gnan + lnLuna2 = gnluna + Else + lnAn1 = tnAn1 + lnLuna1 = tnLuna1 + lnAn2 = tnAn2 + lnLuna2 = tnLuna2 + Endif + + If !Empty(lnId_sectie) + llCentru = .T. + If Used("tbalanta") + Use In tbalanta + Endif + + *!* lcSel = [{call pack_mg_sectie.make_balante_centru(]+Alltrim(Str(lnId_sectie))+[,]+Alltrim(Str(lnLuna1))+[,]+Alltrim(Str(lnAn1))+[,]+Alltrim(Str(lnLuna2))+[,]+Alltrim(Str(lnAn2))+[)}] + lcSel = [begin pack_mg_sectie.make_balante_centru(]+Alltrim(Str(lnId_sectie))+[,]+ ; + Alltrim(Str(lnLuna1))+[,]+Alltrim(Str(lnAn1))+[,]+Alltrim(Str(lnLuna2))+[,]+Alltrim(Str(lnAn2))+[); end;] + lnSucces = goExecutor.oExecute(lcSel) + + If lnSucces < 0 + aMESSAGEBOX(goExecutor.cEroare,0+16,"Eroare") + Return + Endif + Endif + + Do make_tbalanta With llCentru, tnLuna1, tnAn1, tnLuna2, tnAn2, lcBal + + + If llEval_valuta + lcProc_eval = 'eval_balanta' + Do &lcProc_eval With lnCurs + Endif + + && Adaugat 03.05.2006 - pt. Balanta in engleza Alfred Knight + Private pcSold1ian, pcPrec, pcRul, pcTotal, pcSolduri, pcCont, pcDenumire, plBal_alt + pcSI1 = 'Solduri initiale 1 Ian.' + pcSI = 'Solduri initiale' + pcTSP = 'Total sume precedente' + pcRLC = 'Rulajele lunii curente' + pcTS = 'Total Sume' + pcSF = 'Solduri finale' + pcTR = 'Total rulaje' + pcCont = "Cont" + pcDenumire = "Denumire" + plBal_alt = .F. + *** + + Sele tbalanta + * DO FORM afisbal_ana + If !Empty(tcFormular) And Type('tcFormular')= 'C' + loBal = Createobject(tcFormular) + Else + loBal = Createobject("frm_balanta") + Endif + + If llCentru Or llEval_valuta + lcAntetOriginal = gcAntet + Endif + + Do Case + Case llCentru + + lcSql=[select sectie from vnom_sectii where id_sectie= ]+Alltrim(Str(lnId_sectie)) + lnSucces=goExecutor.oExecute(lcSql,'crsSectie') + If lnSucces < 0 + aMESSAGEBOX(goExecutor.cEroare,0+16,'Eroare') + Endif + Select crsSectie + lcCentru_profit = sectie + If Used('crsSectie') + Use In crsSectie + Endif + + lcCaption = "BALANTA DE VERIFICARE - " + Alltrim(lcCentru_profit) + " " + Padl(Int(lnLuna1),2,'0') + '.' + Alltrim(Str(lnAn1,4,0)) + ' - ' + Padl(Int(lnLuna2),2,'0') + '.' + Alltrim(Str(lnAn2,4,0)) + gcAntet = Alltrim(gcAntet) + " - Centru: "+ lcCentru_profit + Case llEval_valuta + lcCaption = "Evaluarea Balantei in valuta 1 "+lcValuta+ "=" +Alltrim(Str(lnCurs,10,gnPCurs))+" LEI" + gcAntet = Alltrim(gcAntet) + " " + lcCaption + Otherwise + gcAntet = Alltrim(gcAntet) + Endcase + + *If llCentru Or llEval_valuta + With loBal + .lb_titlu_alb_b121.Caption = lcCaption + ; + IIF(!EMPTY(tnAn2), " " + ALLTRIM(PADL(ROUND(tnLuna1,0),2,'0')) + '/' + ALLTRIM(PADL(ROUND(tnAn1,0),4,'0')) + '-' + ALLTRIM(PADL(ROUND(tnLuna2,0),2,'0')) + '/' + ALLTRIM(PADL(ROUND(tnAn2,0),4,'0')), "") + *Endif + *!* modificare 23.02.2008 + .lCentru = llCentru + .nluna1 = IIF(EMPTY(tnLuna1), 0, ROUND(tnLuna1,0)) + .nan1 = IIF(EMPTY(tnAn1), 0, ROUND(tnAn1,0)) + .nluna2 = IIF(EMPTY(tnLuna2), 0, ROUND(tnLuna2,0)) + .nan2 = IIF(EMPTY(tnAn2), 0, ROUND(tnAn2,0)) + .cbal = lcBal + .cprocedurainainte = lcProceduraInainte + *!* modificare 23.02.2008 ^ + Endwith + loBal.Show(1) + + If llCentru Or llEval_valuta + gcAntet =lcAntetOriginal + Endif + + If Used("tbalanta") + Use In tbalanta + Endif + +Endproc && viz_balanta +******************************************* SFARSIT: viz_balanta ******************************************* +******************************************************************************************************************** +*** CREEAZA TBALANTA DIN BAL+BALANA+TOTALURI +Procedure make_tbalanta + Parameters tlCentru, tnLuna1, tnAn1, tnLuna2, tnAn2, tcBal, tlNuContAlternativ + * tcBal = "bal/bal_c8/bal_c9" && balanta clasele 1-7/ balanta clasa 8 / balanta clasa 9 + * tlNuContAlternativ: default (.F.) .T. nu se inlocuieste cont/acont cu cont_alt, acont_alt + + Local llCentru, lcBal, lcVbal, lcVBalana + llCentru = tlCentru + + && DACA SUNT PE O SUCURSALA - SELECTEZ DOAR INREGISTRARILE DE PE SUCURSALA CURENTA + Local lcFiltruSucursala + lcFiltruSucursala = "" + If !Isnull(gnIdSucursala) + lcFiltruSucursala = Substr(gcCondSucursala,6) + Endif + + If Empty(tcBal) Or Pcount() < 6 + lcBal = "bal" + Else + lcBal = Iif(Lower(tcBal)$"bal/bal_c8/bal_c9", Lower(tcBal), "bal") + Endif + lcVbal = "VBAL" + lcVBalana = "VBALANA" + + Do Case + Case lcBal = "bal" + lcVbal = "VBAL" + lcVBalana = "VBALANA" + Case lcBal = "bal_c8" + lcVbal = "VBAL_C8" + lcVBalana = "VBALANA_C8" + Case lcBal = "bal_c9" + lcVbal = "VBAL_C9" + lcVBalana = "VBALANA_C9" + Endcase + + If Used('TBALANTA') + Use In tbalanta + Endif + + Local lnAn1, lnLuna1, lnAn2, lnLuna2 + If Pcount() < 5 Or Empty(tnAn1) Or Empty(tnLuna1) Or Empty(tnAn2) Or Empty(tnLuna2) + lnAn1 = gnan + lnLuna1 = gnluna + lnAn2 = gnan + lnLuna2 = gnluna + Else + lnAn1 = tnAn1 + lnLuna1 = tnLuna1 + lnAn2 = tnAn2 + lnLuna2 = tnLuna2 + Endif + + LNPRECEDENT=0 + + + + Local lcSelect, lcFiltru, lcSchema1, lcOrder, llAfisare, lcGroup, llModParam, lcFiltruOriginal + Store '' To lcSelect, lcFiltru, lcSchema1, lcOrder, llAfisare, lcGroup, llModParam, lcFiltruOriginal + + Private potbal1, potbal2 + Store Null To potbal1, potbal2 + + && PARAMETERS tcnume, tcalias, tcselect, tcfiltru, tcschema, tcorder, tlAfisare, tcgroup, tlModParam, tcFiltruOriginal + If llCentru + Private pcselect1,pcfiltru1,pcschema1,potbal1,tbal1,pcselect2,pcfiltru2,pcschema2,potbal2,tbal2 + Store "" To potbal1,potbal2 + lcSelect = [select rpad(SUBSTR(cont,1,1),4,' ') as g1,rpad(SUBSTR(cont,1,2),4,' ') as g2,rpad(SUBSTR(cont,1,3),4,' ') as g3,]+; + [cont as g4,cont,rpad(' ',4,' ') acont, id_bal,denumire, '' as cont_alt, '' as cod,precdeb,preccred,ruldeb,rulcred,]+; + [totdeb,totcred,solddeb,soldcred,precdeb1,preccred1,4 as bnivel, difana, ]+; + [cast (null as number(5)) as id_sucursala, '' as sucursala ] + ; + [from mg_tmp_bal] + lcFiltru = [] + lcSchema = [] + lcOrder = [] + llAfisare = .F. + lcGroup = [] + llModParam = .T. + lcFiltruOriginal = [AN * 12 + LUNA BETWEEN ] +Alltrim(Str(lnAn1*12+lnLuna1)) + [ AND ] + Alltrim(Str(lnAn2*12+lnLuna2)) + + gencursor('potbal1','tbal1', lcSelect, lcFiltru, lcSchema1, lcOrder, llAfisare, lcGroup, llModParam, lcFiltruOriginal) + potbal1.ca_baza1.afisare() + + lcSelect = [select rpad(SUBSTR(cont,1,1),4,CHR(32)) as g1,rpad(SUBSTR(cont,1,2),4,CHR(32)) as g2,rpad(SUBSTR(cont,1,3),4,CHR(32)) as g3,]+; + [cont as g4,cont,acont, id_balana as id_bal,denumire, '' as cont_alt, '' as cod,precdeb,preccred,ruldeb,rulcred,]+; + [totdeb,totcred,solddeb,soldcred,precdeb1,preccred1, 5 as bnivel, 0 as difana, ]+; + [cast (null as number(5)) as id_sucursala, '' as sucursala ] + ; + [from mg_tmp_balana] + lcFiltru = [] + lcOrder = [] + lcSchema = [] + llAfisare=.F. + lcGroup = [] + llModParam = .T. + lcFiltruOriginal=[AN * 12 + LUNA BETWEEN ] +Alltrim(Str(lnAn1*12+lnLuna1)) + [ AND ] + Alltrim(Str(lnAn2*12+lnLuna2)) + + gencursor('potbal2','tbal2', lcSelect, lcFiltru, lcSchema1, lcOrder, llAfisare, lcGroup, llModParam, lcFiltruOriginal) + potbal2.ca_baza1.afisare() + Else + *** BALANTA SINTETICA CU TOATE INREGISTRARILE +*!* 25.01.2011 +*!* lcSelect = [select rpad(SUBSTR(cont,1,1),4,' ') as g1, rpad(SUBSTR(cont,1,2),4,' ') as g2, rpad(SUBSTR(cont,1,3),4,' ') as g3, ]+; +*!* [cont as g4, cont,rpad(' ',4,' ') acont, id_bal, denumire, precdeb, preccred, ruldeb, rulcred, ]+; +*!* [totdeb, totcred, solddeb, soldcred, precdeb1, preccred1, 4 as bnivel, difana, ]+; +*!* [id_sucursala, sucursala ] + ; +*!* [from ] + lcVbal + + lcSelect = [select rpad(SUBSTR(cont,1,1),4,' ') as g1, rpad(SUBSTR(cont,1,2),4,' ') as g2, rpad(SUBSTR(cont,1,3),4,' ') as g3, ]+; + [cont as g4, cont,rpad(' ',4,' ') acont, MAX(id_bal) as id_bal, denumire, ] + ; + [cont_alt, cod, ] + ; + [SUM(case when an*12+luna = ] +Alltrim(Str(lnAn1*12+lnLuna1)) + [ then precdeb else 0 end) as precdeb, ] + ; + [SUM(case when an*12+luna = ] +Alltrim(Str(lnAn1*12+lnLuna1)) + [ then preccred else 0 end) as preccred, ] + ; + [SUM(ruldeb) as ruldeb, SUM(rulcred) as rulcred, ]+; + [SUM(case when an*12+luna = ] +Alltrim(Str(lnAn2*12+lnLuna2)) + [ then totdeb else 0 end) as totdeb, ] + ; + [SUM(case when an*12+luna = ] +Alltrim(Str(lnAn2*12+lnLuna2)) + [ then totcred else 0 end ) as totcred, ] + ; + [SUM(case when an*12+luna = ] +Alltrim(Str(lnAn2*12+lnLuna2)) + [ then solddeb else 0 end) as solddeb, ] + ; + [SUM(case when an*12+luna = ] +Alltrim(Str(lnAn2*12+lnLuna2)) + [ then soldcred else 0 end ) as soldcred, ] + ; + [SUM(case when an*12+luna = ] +Alltrim(Str(lnAn1*12+lnLuna1)) + [ then precdeb1 else 0 end) as precdeb1, ] + ; + [SUM(case when an*12+luna = ] +Alltrim(Str(lnAn1*12+lnLuna1)) + [ then preccred1 else 0 end) as preccred1, ] + ; + [4 as bnivel, MAX(difana) as difana, id_sucursala, sucursala ] + ; + [from ] + lcVbal + + lcFiltru = [] + lcSchema = [] + lcOrder = [] + llAfisare = .F. + lcGroup = [cont, denumire, cont_alt, cod, id_sucursala, sucursala] + llModParam = .T. + lcFiltruOriginal = [AN * 12 + LUNA BETWEEN ] +Alltrim(Str(lnAn1*12+lnLuna1)) + [ AND ] + Alltrim(Str(lnAn2*12+lnLuna2)) + gcCondSucursala + + gencursor('potbal1','tbal1', lcSelect, lcFiltru, lcSchema1, lcOrder, llAfisare, lcGroup, llModParam, lcFiltruOriginal) + potbal1.ca_baza1.afisare() + + *** BALANTA ANALITICA CU TOATE INREGISTRARILE +*!* lcSelect = [select rpad(SUBSTR(cont,1,1), 4, CHR(32)) as g1, rpad(SUBSTR(cont,1,2), 4, CHR(32)) as g2, rpad(SUBSTR(cont,1,3),4,CHR(32)) as g3,]+; +*!* [cont as g4, cont, acont, id_balana as id_bal, denumire, precdeb, preccred, ruldeb, rulcred, ]+; +*!* [totdeb, totcred, solddeb, soldcred, precdeb1, preccred1, 5 as bnivel, 0 as difana, ]+; +*!* [id_sucursala, sucursala ] + ; +*!* [from ] + lcVBalana + + lcSelect = [select rpad(SUBSTR(cont,1,1), 4, CHR(32)) as g1, rpad(SUBSTR(cont,1,2), 4, CHR(32)) as g2, rpad(SUBSTR(cont,1,3),4,CHR(32)) as g3,]+; + [cont as g4, cont, acont, MAX(id_balana) as id_bal, denumire, ] + ; + [cont_alt, cod, ] + ; + [SUM(case when an*12+luna = ] +Alltrim(Str(lnAn1*12+lnLuna1)) + [ then precdeb else 0 end) as precdeb, ] + ; + [SUM(case when an*12+luna = ] +Alltrim(Str(lnAn1*12+lnLuna1)) + [ then preccred else 0 end) as preccred, ] + ; + [SUM(ruldeb) as ruldeb, SUM(rulcred) as rulcred, ]+; + [SUM(case when an*12+luna = ] +Alltrim(Str(lnAn2*12+lnLuna2)) + [ then totdeb else 0 end) as totdeb, ] + ; + [SUM(case when an*12+luna = ] +Alltrim(Str(lnAn2*12+lnLuna2)) + [ then totcred else 0 end ) as totcred, ] + ; + [SUM(case when an*12+luna = ] +Alltrim(Str(lnAn2*12+lnLuna2)) + [ then solddeb else 0 end) as solddeb, ] + ; + [SUM(case when an*12+luna = ] +Alltrim(Str(lnAn2*12+lnLuna2)) + [ then soldcred else 0 end ) as soldcred, ] + ; + [SUM(case when an*12+luna = ] +Alltrim(Str(lnAn1*12+lnLuna1)) + [ then precdeb1 else 0 end) as precdeb1, ] + ; + [SUM(case when an*12+luna = ] +Alltrim(Str(lnAn1*12+lnLuna1)) + [ then preccred1 else 0 end) as preccred1, ] + ; + [5 as bnivel, 0 as difana, id_sucursala, sucursala ] + ; + [from ] + lcVBalana + *!* 25.01.2011 ^ + lcFiltru = [] + lcOrder = [] + lcSchema = [] + llAfisare=.F. + lcGroup = [cont, acont, denumire, cont_alt, cod, id_sucursala, sucursala] + llModParam = .T. + lcFiltruOriginal=[AN * 12 + LUNA BETWEEN ] +Alltrim(Str(lnAn1*12+lnLuna1)) + [ AND ] + Alltrim(Str(lnAn2*12+lnLuna2)) + gcCondSucursala + + gencursor('potbal2','tbal2', lcSelect, lcFiltru, lcSchema1, lcOrder, llAfisare, lcGroup, llModParam, lcFiltruOriginal) + potbal2.ca_baza1.afisare() + Endif + + Local lcBal1 + lcBal1 = 'TBAL1' + + *!* 12.02.2008 + && daca sunt pe o mama - cumulez balantele de pe sucursale + && TOTALURILE PE CLASE, GRUPE LE FAC PE BALANTA CENTRALIZATA && TG01 in loc de TBAL1 + If glEMama + + *!* 07.03.2008 + *!* SELECTEZ CONT, PRECDEB, PRECCRED CENTRALIZATE + *!* SELECTEZ PRECDEB, PRECCRED DIN CURSOR SI RULAJELE DIN SUMA(SUCURSALE.RULAJE) + *!* DACA FAC DOAR SUMA(PRECDEB), SUMA(PRECCRED) DIN SUCURSALE PIERD SOLDAREA SUMELOR LA 1 IANUARIE + + *!* 01.04.2008 + *!* am luat sum(precdeb1) din luna curenta in loc de sum(precdeb) din luna ianuarie + TEXT to lcSql TEXTMERGE noshow +select nvl(a.cont, b.cont) as cont, +case when Nvl(a.precdeb,0) > Nvl(a.preccred,0) then abs(Nvl(a.precdeb,0)-Nvl(a.preccred,0)) else 0 end + nvl(b.debit,0) as precdeb, +case when Nvl(a.precdeb,0) < Nvl(a.preccred,0) then abs(Nvl(a.precdeb,0)-Nvl(a.preccred,0)) else 0 end + nvl(b.credit,0) as preccred +from +(select cont, sum(precdeb1) as precdeb, sum(preccred1) as preccred + from bal + where an = <> + and luna = <> + group by cont) a full join +(select cont, sum((case when 2005*12+7> an*12+luna + and 2005*12+7<=pack_sesiune.getan()*12+pack_sesiune.getluna() + then ROUND(ruldeb / 10000,2) else ruldeb end)) as debit, sum((case when 2005*12+7> an*12+luna + and 2005*12+7<=pack_sesiune.getan()*12+pack_sesiune.getluna() + then ROUND(rulcred / 10000,2) else rulcred end)) as credit + from bal + where an = <> + and luna between 1 and <> + group by cont) b on a.cont = b.cont + ENDTEXT + + lnSucces = goExecutor.oExecute(lcSql, "crsBalPrecedente") + If lnSucces < 0 + aMESSAGEBOX(goExecutor.cEroare) + Create Cursor crsBalPrecedente (Cont c(4), precdeb N(10,2), preccred N(10,2)) + Endif + + TEXT to lcSql TEXTMERGE noshow +select nvl(a.cont, b.cont) as cont, nvl(a.acont, b.acont) as acont, +case when Nvl(a.precdeb,0) > Nvl(a.preccred,0) then abs(Nvl(a.precdeb,0)-Nvl(a.preccred,0)) else 0 end + nvl(b.debit,0) as precdeb, +case when Nvl(a.precdeb,0) < Nvl(a.preccred,0) then abs(Nvl(a.precdeb,0)-Nvl(a.preccred,0)) else 0 end + nvl(b.credit,0) as preccred +from +(select cont, acont, sum(precdeb1) as precdeb, sum(preccred1) as preccred + from balana + where an = <> + and luna = <> + group by cont,acont) a full join +(select cont, acont, sum((case when 2005*12+7> an*12+luna + and 2005*12+7<=pack_sesiune.getan()*12+pack_sesiune.getluna() + then ROUND(ruldeb / 10000,2) else ruldeb end)) as debit, sum((case when 2005*12+7> an*12+luna + and 2005*12+7<=pack_sesiune.getan()*12+pack_sesiune.getluna() + then ROUND(rulcred / 10000,2) else rulcred end)) as credit + from balana + where an = <> + and luna between 1 and <> + group by cont,acont) b on a.cont = b.cont and a.acont = b.acont + ENDTEXT + + lnSucces = goExecutor.oExecute(lcSql, "crsBalanaPrecedente") + If lnSucces < 0 + aMESSAGEBOX(goExecutor.cEroare) + Create Cursor crsBalanaPrecedente (Cont c(4), acont c(4), precdeb N(10,2), preccred N(10,2)) + Endif + + + Sele G1, G2, G3, G4,; + Cont, acont, 0000000000000 As id_bal, denumire, ; + cont_alt, cod, ; + SUM(precdeb) As precdeb, Sum(preccred) As preccred,; + SUM(ruldeb) As ruldeb, Sum(rulcred) As rulcred, Sum(totdeb) As totdeb, Sum(totcred) As totcred,; + SUM(solddeb) As solddeb, Sum(soldcred)As soldcred, ; + SUM(precdeb1) As precdeb1, Sum(preccred1) As preccred1,; + 6 As bnivel, Max(difana) As difana, ; + 00000 As id_sucursala, Space(100) As sucursala ; + FROM tbal1 ; + GROUP By G1, G2, G3, G4, Cont, acont, denumire, cont_alt, cod ; + INTO Cursor TG01a Readwrite + + Sele G1, G2, G3, G4,; + Cont, acont, 0000000000000 As id_bal, denumire, ; + cont_alt, cod, ; + SUM(precdeb) As precdeb, Sum(preccred) As preccred,; + SUM(ruldeb) As ruldeb, Sum(rulcred) As rulcred, Sum(totdeb) As totdeb, Sum(totcred) As totcred,; + SUM(solddeb) As solddeb, Sum(soldcred)As soldcred, ; + SUM(precdeb1) As precdeb1, Sum(preccred1) As preccred1,; + 7 As bnivel, 0 As difana, ; + 00000 As id_sucursala, Space(100) As sucursala ; + FROM tbal2 ; + GROUP By G1, G2, G3, G4, Cont, acont, denumire, cont_alt, cod ; + INTO Cursor TG02a Readwrite + + *** BALANTA SINTETICA CENTRALIZATA + Sele a.G1, a.G2, a.G3, a.G4,; + a.Cont, a.acont, a.id_bal, a.denumire, ; + a.cont_alt, a.cod, ; + Nvl(b.precdeb, Cast(0 As N(16,4))) As precdeb, Nvl(b.preccred, Cast(0 As N(16,4))) As preccred,; + a.ruldeb, a.rulcred, Nvl(b.precdeb,0)+a.ruldeb As totdeb, Nvl(b.preccred,0)+a.rulcred As totcred,; + Iif(Nvl(b.precdeb,0)+a.ruldeb > Nvl(b.preccred,0)+a.rulcred, Abs(Nvl(b.precdeb,0)+a.ruldeb - Nvl(b.preccred,0) - a.rulcred), Cast(0 As N(16,4))) As solddeb, ; + Iif(Nvl(b.precdeb,0)+a.ruldeb < Nvl(b.preccred,0)+a.rulcred, Abs(Nvl(b.precdeb,0)+a.ruldeb - Nvl(b.preccred,0) - a.rulcred), Cast(0 As N(16,4))) As soldcred, ; + Iif(a.precdeb1 > a.preccred1, Abs(a.precdeb1-a.preccred1), Cast(0 As N(16,4))) As precdeb1, ; + Iif(a.precdeb1 < a.preccred1, Abs(a.precdeb1-a.preccred1), Cast(0 As N(16,4))) As preccred1, ; + a.bnivel, a.difana, ; + a.id_sucursala, a.sucursala ; + FROM TG01a a Left Join crsBalPrecedente b On a.Cont = b.Cont ; + INTO Cursor TG01 Readwrite + + *** BALANTA ANALITICA CENTRALIZATA + Sele a.G1, a.G2, a.G3, a.G4,; + a.Cont, a.acont, a.id_bal, a.denumire, ; + a.cont_alt, a.cod, ; + Nvl(b.precdeb, Cast(0 As N(16,4))) As precdeb, Nvl(b.preccred, Cast(0 As N(16,4))) As preccred,; + a.ruldeb, a.rulcred, Nvl(b.precdeb,0)+a.ruldeb As totdeb, Nvl(b.preccred,0)+a.rulcred As totcred,; + Iif(Nvl(b.precdeb,0)+a.ruldeb > Nvl(b.preccred,0)+a.rulcred, Abs(Nvl(b.precdeb,0)+a.ruldeb - Nvl(b.preccred,0) - a.rulcred), Cast(0 As N(16,4))) As solddeb, ; + Iif(Nvl(b.precdeb,0)+a.ruldeb < Nvl(b.preccred,0)+a.rulcred, Abs(Nvl(b.precdeb,0)+a.ruldeb - Nvl(b.preccred,0) - a.rulcred), Cast(0 As N(16,4))) As soldcred, ; + Iif(a.precdeb1 > a.preccred1, Abs(a.precdeb1-a.preccred1), Cast(0 As N(16,4))) As precdeb1, ; + Iif(a.precdeb1 < a.preccred1, Abs(a.precdeb1-a.preccred1), Cast(0 As N(16,4))) As preccred1, ; + a.bnivel, a.difana, ; + a.id_sucursala, a.sucursala ; + FROM TG02a a Left Join crsBalanaPrecedente b On a.Cont = b.Cont And a.acont = b.acont ; + INTO Cursor TG02 Readwrite + + *!* 07.03.2008 ^ + + lcBal1 = 'tg01' + Else + Sele G1, G2, G3, G4,; + Cont, acont, 0000000000000 As id_bal, denumire, ; + cont_alt, cod, ; + SUM(precdeb) As precdeb, Sum(preccred) As preccred,; + SUM(ruldeb) As ruldeb, Sum(rulcred) As rulcred, Sum(totdeb) As totdeb, Sum(totcred) As totcred,; + SUM(solddeb) As solddeb, Sum(soldcred)As soldcred, ; + SUM(precdeb1) As precdeb1, Sum(preccred1) As preccred1,; + 5 As bnivel, Max(difana) As difana, ; + 00000 As id_sucursala, Space(100) As sucursala ; + FROM tbal1 ; + WHERE .F. ; + GROUP By G1, G2, G3, G4, Cont, acont, denumire, cont_alt, cod ; + INTO Cursor TG01 + + Sele G1, G2, G3, G4,; + Cont, acont, 0000000000000 As id_bal, denumire, ; + cont_alt, cod, ; + SUM(precdeb) As precdeb, Sum(preccred) As preccred,; + SUM(ruldeb) As ruldeb, Sum(rulcred) As rulcred, Sum(totdeb) As totdeb, Sum(totcred) As totcred,; + SUM(solddeb) As solddeb, Sum(soldcred)As soldcred, ; + SUM(precdeb1) As precdeb1, Sum(preccred1) As preccred1,; + 5 As bnivel, 0 As difana, ; + 00000 As id_sucursala, Space(100) As sucursala ; + FROM tbal2 ; + WHERE .F. ; + GROUP By G1, G2, G3, G4, Cont, acont, denumire, cont_alt, cod ; + INTO Cursor TG02 + + lcBal1 = 'tbal1' + Endif + *!* 12.02.2008 ^ + + + Sele G1, Space(4) As G2, Space(4) As G3, Space(4) As G4,; + SPACE(4) As Cont, Space(4) As acont, 0000000000000 As id_bal, Padr("TOTAL "+Alltrim(G1),30," ") As denumire, ; + SPACE(20) As cont_alt, Space(20) As cod, ; + SUM(precdeb) As precdeb, Sum(preccred) As preccred,; + SUM(ruldeb) As ruldeb, Sum(rulcred) As rulcred, Sum(totdeb) As totdeb, Sum(totcred) As totcred,; + SUM(solddeb) As solddeb, Sum(soldcred)As soldcred, ; + SUM(precdeb1) As precdeb1, Sum(preccred1) As preccred1,; + 1 As bnivel, 0 As difana, ; + 00000 As id_sucursala, Space(100) As sucursala ; + FROM &lcBal1; + GROUP By G1 ; + INTO Cursor TG1 + + Sele G1, G2, Space(4) As G3, Space(4) As G4, ; + SPACE(4) As Cont, Space(4) As acont, 0000000000000 As id_bal, Padr("TOTAL "+Alltrim(G2),30," ")As denumire, ; + SPACE(20) As cont_alt, Space(20) As cod, ; + SUM(precdeb) As precdeb, Sum(preccred) As preccred, ; + SUM(ruldeb) As ruldeb, Sum(rulcred) As rulcred, Sum(totdeb) As totdeb, Sum(totcred) As totcred,; + SUM(solddeb) As solddeb, Sum(soldcred) As soldcred, ; + SUM(precdeb1) As precdeb1, Sum(preccred1) As preccred1, ; + 2 As bnivel, 0 As difana, ; + 00000 As id_sucursala, Space(100) As sucursala ; + FROM &lcBal1 ; + GROUP By G1, G2 ; + INTO Cursor TG2 + + Sele G1, G2, G3, Space(4) As G4,; + SPACE(4) As Cont, Space(4) As acont, 0000000000000 As id_bal, Padr("TOTAL "+Alltrim(G3),30," ") As denumire, ; + SPACE(20) As cont_alt, Space(20) As cod, ; + SUM(precdeb) As precdeb, Sum(preccred) As preccred,; + SUM(ruldeb) As ruldeb, Sum(rulcred) As rulcred, Sum(totdeb) As totdeb, Sum(totcred) As totcred,; + SUM(solddeb) As solddeb, Sum(soldcred) As soldcred, ; + SUM(precdeb1) As precdeb1, Sum(preccred1) As preccred1,; + 3 As bnivel, 0 As difana, ; + 00000 As id_sucursala, Space(100) As sucursala ; + FROM &lcBal1 ; + GROUP By G1, G2, G3 ; + INTO Cursor TG3 + + * 20 de caractere la cont, acont pentru ca completez ulterior cu cont_alt C(20) + Select g1,g2,g3,g4,PADR(cont,20, ' ') cont,PADR(acont, 20, ' ') acont,id_bal,denumire,cont_alt,cod,precdeb1,preccred1,precdeb,preccred,ruldeb,rulcred,totdeb,totcred,solddeb,soldcred,bnivel,difana,id_sucursala,sucursala, .F. As bifa, Space(8) As g5 From TG01 ; && BALANTA SINTETICA CENTRALIZATA / SAU CURSOR GOL + Union ; + Select g1,g2,g3,g4,PADR(cont,20, ' ') cont,PADR(acont, 20, ' ') acont,id_bal,denumire,cont_alt,cod,precdeb1,preccred1,precdeb,preccred,ruldeb,rulcred,totdeb,totcred,solddeb,soldcred,bnivel,difana,id_sucursala,sucursala, .F. As bifa, Space(8) As g5 From tbal1 ; && BALANTA SINTETICA CU TOATE INREGISTRARILE + Union ; + SELECT g1,g2,g3,g4,PADR(cont,20, ' ') cont,PADR(acont, 20, ' ') acont,id_bal,denumire,cont_alt,cod,precdeb1,preccred1,precdeb,preccred,ruldeb,rulcred,totdeb,totcred,solddeb,soldcred,bnivel,difana,id_sucursala,sucursala, .F. As bifa, Space(8) As g5 From TG3 ; && TOTALURI GRUPA 3 DIN BALANTA CENTRALIZATA / SUCURSALA / FIRMA INDEPENDENTA + Union ; + SELECT g1,g2,g3,g4,PADR(cont,20, ' ') cont,PADR(acont, 20, ' ') acont,id_bal,denumire,cont_alt,cod,precdeb1,preccred1,precdeb,preccred,ruldeb,rulcred,totdeb,totcred,solddeb,soldcred,bnivel,difana,id_sucursala,sucursala, .F. As bifa, Space(8) As g5 From TG2 ; && TOTALURI GRUPA 2 DIN BALANTA CENTRALIZATA / SUCURSALA / FIRMA INDEPENDENTA + Union ; + SELECT g1,g2,g3,g4,PADR(cont,20, ' ') cont,PADR(acont, 20, ' ') acont,id_bal,denumire,cont_alt,cod,precdeb1,preccred1,precdeb,preccred,ruldeb,rulcred,totdeb,totcred,solddeb,soldcred,bnivel,difana,id_sucursala,sucursala, .F. As bifa, Space(8) As g5 From TG1 ; && TOTALURI GRUPA 1 DIN BALANTA CENTRALIZATA / SUCURSALA / FIRMA INDEPENDENTA + Union ; + SELECT g1,g2,g3,g4,PADR(cont,20, ' ') cont,PADR(acont, 20, ' ') acont,id_bal,denumire,cont_alt,cod,precdeb1,preccred1,precdeb,preccred,ruldeb,rulcred,totdeb,totcred,solddeb,soldcred,bnivel,difana,id_sucursala,sucursala, .F. As bifa, Space(8) As g5 From tbal2 ; && BALANTA ANALITICA CU TOATE INREGISTRARILE + Union ; + SELECT g1,g2,g3,g4,PADR(cont,20, ' ') cont,PADR(acont, 20, ' ') acont,id_bal,denumire,cont_alt,cod,precdeb1,preccred1,precdeb,preccred,ruldeb,rulcred,totdeb,totcred,solddeb,soldcred,bnivel,difana,id_sucursala,sucursala, .F. As bifa, Space(8) As g5 From TG02 ; && BALANTA ANALITICA CENTRALIZATA / SAU CURSOR GOL + ORDER By G1,G2,G3,G4,sucursala ; + Into Cursor tbalanta Readwrite + + + Use In tbal1 + Use In tbal2 + Use In TG01 + Use In TG02 + Use In TG1 + Use In TG2 + Use In TG3 + + Select tbalanta + Replace All g5 With Left(G1,1)+Substr(G2,2,1)+Substr(G3,3,1) + Replace All g5 With Allt(g5)+Iif(bnivel<4,'z',Substr(G4,4,1)) + Replace All g5 With Left(Alltrim(g5)+'xxxx',4)+acont + Replace All g5 With Left(Alltrim(g5)+'zzzzzzzz',8) + + * Completez contul alternativ + IF !m.tlNuContAlternativ + REPLACE ALL cont WITH cont_alt FOR EMPTY(NVL(acont,'')) AND !EMPTY(NVL(cont_alt,'')) && cont sintetic alternativ + REPLACE ALL acont WITH cont_alt FOR !EMPTY(NVL(acont,'')) AND !EMPTY(NVL(cont_alt,'')) && cont analitic alternativ + ENDIF + + *lcIndex = ADDBS(gcTempPath) + 'tbalanta.cdx' + lcIndex = Addbs(gcTempPath) + 'tbalanta_'+Alltrim(Sys(2))+'.cdx' && ca sa pot deschid balanta din cont si manager in acelasi timp + Index On g5 Tag g5 Of (lcIndex) + Set Order To g5 + + Return "TBALANTA" +Endproc && MAKE_TBALANTA +****************************************************************************************** +Procedure Eval_balanta + Parameters tnCurs + + If tnCurs = 0 + tnCurs = 1 + Endif + + Select tbalanta + + Repl All precdeb1 With Round(precdeb1/tnCurs,gnPval) + Repl All preccred1 With Round(preccred1/tnCurs,gnPval) + Repl All precdeb With Round(precdeb/tnCurs,gnPval) + Repl All preccred With Round(preccred/tnCurs,gnPval) + Repl All solddeb With Round(solddeb/tnCurs,gnPval) + Repl All soldcred With Round(soldcred/tnCurs,gnPval) + Repl All ruldeb With Round(ruldeb/tnCurs,gnPval) + Repl All rulcred With Round(rulcred/tnCurs,gnPval) + Repl All totdeb With Round(totdeb/tnCurs,gnPval) + Repl All totcred With Round(totcred/tnCurs,gnPval) + +Endproc && eval_balanta diff --git a/programe/oparteneri.prg b/programe/oparteneri.prg new file mode 100644 index 0000000..50135e7 --- /dev/null +++ b/programe/oparteneri.prg @@ -0,0 +1,1108 @@ +*!* 29.04.2015 +*!* marius.mutu +*!* lans_ireg_parteneri - adaugare coloana RTVAI - pentru verificare RTVAI la cautare + +*!* 07.05.2018 +*!* lans_balanta_parteneri - includere cont 5081 depozite bancare la vizualizarea Solduri banci lei/valuta - acelasi cont si pentru lei si pentru valuta + +*!* 05.07.2018 +*!* marius.mutu +*!* lans_balanta_parteneri, IsCalendarInit - verificare inainte de pentru mai multe conturi (ex: solduri banci "5121,5081,5126") + +*!* 27.08.2018 +*!* marius.mutu +*!* lans_ireg_parteneri - corectare precvaldeb, precvalcred pentru cont de pasiv + +*!* 15.04.2020 +*!* marius.mutu +*!* lans_ireg_parteneri - adaugare coloane contvc, acontvc, id_mf pentru ratele de la 47x venituri/cheltuieli in avans + +*!* 24.10.2023 +*!* marius.mutu +*!* lans_ireg_parteneri, lans_balanta_parteneri: + categorie_entitate + +*!* APEL DE PROCEDURA +*!* DO lans_ireg_parteneri WITH tlTest,tcCont,tlActiv + +*----------------------------------------------------------- + +Procedure lans_ireg_parteneri + Parameters tlTest, tcCont, tlactiv, tlTitluTot, tcDenumire, tcDenDebit, tcDenCredit + *!* tlTitluTot = daca denumirea titlului este totala i.e.: Nu trebuie sa mai adaug Balanta parteneri + *!* tcDenumire = titlul balantei + *!* tcDenDebit = peste tot pe unde apare debit se va inlocui cu aceasta denumire + *!* tcDenCredit = peste tot pe unde apare credit se va inlocui cu aceasta denumire + Local lcCont, llActiv, llParametri, llTitluTot, lcDenumire, lcDenDebit, lcDenCredit, llAfisare + Local Ol As "frm_sel_cont" + Local Oreg As "FRM_IREG_PARTENERI" + Local lcFiltruOriginal, lcSqlCount, llAfisareTot, llSucces, lnInregistrariAfisare, lnsucces + Local loCont + *:Global buton, pcCont, tcFis2, tlVisible + Private pnRecCnt + + llParametri = .F. + + If Empty(tlTitluTot) + llTitluTot = .F. + Else + llTitluTot = tlTitluTot + Endif + + If Empty(tcDenumire) + lcDenumire = "" + Else + lcDenumire = tcDenumire + Endif + + If Empty(tcDenDebit) + lcDenDebit = "Debit" + Else + lcDenDebit = tcDenDebit + Endif + If Empty(tcDenCredit) + lcDenCredit = "Credit" + Else + lcDenCredit = tcDenCredit + Endif + + If !Empty(tcCont) + lcCont = Alltrim(tcCont) + Else + lcCont = '' + Endif + + If !Empty(tlactiv) + llActiv = tlactiv + Else + llActiv = .F. + Endif + + + llParametri = .F. + *If PCOUNT() = 3 + *!* IF !EMPTY(tlActiv) AND !EMPTY(tcCont) AND !EMPTY(tlActiv) + *!* llParametri = .T. + *!* Endif + If !Empty(tcCont) + llParametri = .T. + Endif + Local NOU, lnTdeb, lnTcred, lnSold, lcContPart, lclista + Store 0 To lnTdeb, lnTcred, lnSold + NOU = .T. + + If glPrimaLuna + NOU = .F. + Endif + + IF !USED('saft_tip_facturi') + update_saft_tip_facturi() + ENDIF + + Private plActiv + Store .T. To plActiv + Private eActiv + Store .T. To eActiv + If !llParametri + Private polista, pcschema1, pcselect1, pcfiltru1, pcorder1 + Store "" To polista + If Used('clista') + Use In clista + Endif + pcschema1 = ['cont c(4),acont c(4),explicatie c(50),fel_cont n(1)'] + pcselect1 = ['select cont,rpad(CHR(32),4,CHR(32)) as acont,explicatie,fel_cont from ] + gcS + [.config_cont_ireg where 1=2'] + pcfiltru1 = [cu_inregistrari=1] + pcorder1 = [cont] + llAfisare = .F. + gencursor('polista', 'clista', pcselect1, pcfiltru1, pcschema1, pcorder1, llAfisare) + polista.ca_baza1.afisare() + + Select clista + loCont = myscatter('blank') + + Ol = Createobject("frm_sel_cont") + With Ol + .Lb_titlu_alb_b121.Caption = 'Selectati contul' + If Empty(.cboCont.RowSource) + .cboCont.RowSource = "clista.cont,explicatie" + .cboCont.ColumnWidths = '40,150' + Endif + .ocont = loCont + If Empty(.cAlias) + .cAlias = Left(.cboCont.RowSource, At(".", .cboCont.RowSource) - 1) + Endif + .Height = 190 + .lHide = .T. + Endwith + Ol.Show(1) + eActiv = Iif(Ol.nFel_Cont = 0, .T., .F.) + Ol.Release + + If buton = 2 + Use In clista + Return + Endif + + lcContPart = loCont.Cont + If !llTitluTot And Empty(lcDenumire) + lcDenumire = "Inregistrari " + Alltrim(clista.explicatie) + "( " + lcContPart + " )" + Else + If !Empty(lcDenumire) And !llTitluTot + lcDenumire = "Inregistrari " + lcDenumire + "( " + lcContPart + " )" + Endif + Endif + Use In clista + plActiv = eActiv + llActiv = eActiv + Else + eActiv = llActiv + plActiv = llActiv + lcContPart = lcCont + If !llTitluTot And Empty(lcDenumire) + lcDenumire = "Inregistrari " + "( " + lcContPart + " )" + Else + If !Empty(lcDenumire) And !llTitluTot + lcDenumire = "Inregistrari " + lcDenumire + "( " + lcContPart + " )" + Endif + Endif + Endif + + + *** verificare INAINTE_DE + Do inainte With "IREG_PARTENERI", lcContPart In oinainte_de.prg + + If tlTest + Do test_ireg With lcContPart, llActiv + Endif + + pcCont = lcContPart + + Private poireg_parteneri + Local lcSelect, lcFiltru, lcSchema, lcOrder, lcGroup, llModParam, lcFiltruOrigina + poireg_parteneri = Null + Store '' To lcSelect, lcFiltru, lcSchema, lcOrder, llAfisare, lcGroup + + lcSchema = [id_ireg_part n(20),an n(4), luna n(2),ID_FACT N(20),id_part n(20),cont c(4),acont c(4), ID_VALUTA N(5), ID_VENCHELT N(5), PROC_TVA N(8,2),] + ; + [PRECDEB N(20,4),PRECCRED N(20,4),PRECVALDEB N(20,4),PRECVALCRED N(20,4),] + ; + [debit n(20,4),credit n(20,4),valdebit n(20,4), valcredit n(20,4),] + ; + [nract N(20),SERIE_ACT C(10),DATAACT D,DATAIREG D,DATASCAD D,CURS N(18,6),] + ; + [COD N(20),EXPLICATIA C(100),EXPLICATIA4 C(100),EXPLICATIA5 C(100),] + ; + [ID_RESPONSABIL N(10),ID_FDOC N(5),ID_LUCRARE N(10),ID_CTR N(5),ID_SET N(20),ID_ACT N(20),] + ; + [NUME C(100),COD_FISCAL C(30),FDOC C(50),NRESP C(50),NRORD C(50),CONTRACT C(30),NUME_VAL C(10),VENCHELT C(50),ID_JTVA_COLOANA N(4),EXPLICATIE_TVA C(100),] + ; + [ID_SUCURSALA N(5), SUCURSALA C(100), DATAREFPEN D, NRZILEPEN N(10), PROCPEN N(7,3), VALPEN N(20,4), DPRIMA_RATA D, DULTIMA_RATA D, RATA N(20,4), ] + ; + [CONTVC C(4), ACONTVC C(4), ID_MF I, DATA_OPERATIE D, TVAI N(1,0), COD_FISCALFRO C(30), ALES N(1), ] + ; + [CONT_BANCA C(30), BANCA C(100), SWIFT_BANCA C(11), ADRESA_BANCA C(150), TIP_SAFT N(3), TIP_SAFTNAME C(250),INSTITUTIE_PUBLICA N(1),ENTITATE_AFILIATA N(1),CATEGORIE_ENTITATE c(150)] + + lcSelect = [SELECT I.ID_IREG_PART, I.AN, I.LUNA, ID_FACT, I.ID_PART, I.CONT, I.ACONT, I.ID_VALUTA, I.ID_VENCHELT, I.PROC_TVA,] + ; + [I.PRECDEB, I.PRECCRED, I.PRECVALDEB, I.PRECVALCRED,] + ; + [I.DEBIT, I.CREDIT, I.VALDEBIT, I.VALCREDIT,] + ; + [I.NRACT, I.SERIE_ACT, I.DATAACT, I.DATAIREG, I.DATASCAD, I.CURS,] + ; + [I.COD, I.EXPLICATIA, I.EXPLICATIA4, I.EXPLICATIA5,] + ; + [I.ID_RESPONSABIL, I.ID_FDOC, I.ID_LUCRARE, I.ID_CTR,I.ID_SET, I.ID_ACT,] + ; + [I.NUME,I.COD_FISCAL,I.FDOC,I.NRESP,I.NRORD,I.CONTRACT,I.NUME_VAL,I.VENCHELT, I.ID_JTVA_COLOANA, I.EXPLICATIE_TVA,] + ; + [I.ID_SUCURSALA,I.SUCURSALA, ] + ; + [CAST(NULL AS DATE) AS DATAREFPEN, CAST(0 AS NUMBER(10)) AS NRZILEPEN, CAST(0.000 AS NUMBER(6,3)) AS PROCPEN, CAST(0.0000 AS NUMBER(20,4)) AS VALPEN, ] + ; + [DPRIMA_RATA, DULTIMA_RATA, RATA, CONTVC, ACONTVC, ID_MF, DATA_OPERATIE, ] + ; + "0 as TVAI, REGEXP_REPLACE(I.COD_FISCAL, '[^[:digit:]]', '') AS COD_FISCALFRO, 0 as ALES, " + ; + "I.CONT_BANCA, I.BANCA, I.SWIFT_BANCA, I.ADRESA_BANCA, I.TIP_SAFT, I.TIP_SAFTNAME,I.INSTITUTIE_PUBLICA,I.ENTITATE_AFILIATA,I.CATEGORIE_ENTITATE " + ; + [ FROM VIREG_PARTENERI I] + + * Calculez numarul de inregistrari. Daca numarul este mai mic de min(500, gnInregistrariAfisare) afisez toate inregistrarile in loc sa intru cu 1=2 + lnInregistrariAfisare = Iif(Type('gnInregistrariAfisare') = 'N', m.gnInregistrariAfisare, 500) + + lcSqlCount = [SELECT COUNT(*) as nr FROM ireg_parteneri where an=?gnAn and luna=?gnLuna and CONT in ('] + Alltrim(Strtran(m.lcContPart, [,], [','])) + [') ] + pnRecCnt = 0 + llSucces = goExecutor.oSelecteaza2Value(m.lcSqlCount, @pnRecCnt) + llAfisareTot = (Nvl(m.pnRecCnt, 0) <= m.lnInregistrariAfisare) + + lcFiltru = [1=2] + lcOrder = [dataact] + llAfisare = .F. + llModParam = .T. + lcFiltruOriginal = [] + && DACA SUNT PE O SUCURSALA - SELECTEZ DOAR INREGISTRARILE DE PE SUCURSALA CURENTA + If !Isnull(gnIdSucursala) + lcFiltruOriginal = Substr(gcCondSucursala, 6) + Endif + + *!* pcfiltru1 = [cont = '] + Alltrim(pcCont) + [' and luna = ] + Alltrim(Str(gnLuna)) + [ and an = ] + Alltrim(Str(gnAn)) + gencursor('poireg_parteneri', 'actcv', lcSelect, lcFiltru, lcSchema, lcOrder, llAfisare, lcGroup, llModParam, lcFiltruOriginal) + *!* PARAMETERS tcnume, tcalias, tcselect, tcfiltru, tcschema, tcorder, tlAfisare, tcgroup, tlModParam, tcFiltruOriginal + poireg_parteneri.ca_baza1.afisare() + + + Select actcv + tcFis2 = "ActCv" + tlVisible = .T. + + Local c + c = "nume+ALLTRIM(STR(YEAR(dataact)))+RIGHT('0'+ALLTRIM(STR(MONTH(dataact))),2)+RIGHT('0'+ALLTRIM(STR(DAY(dataact))),2)" + buton = 1 + + Sele actcv + + + Private pcAnalitic, pcLucrare + Store '' To pcAnalitic, pcLucrare + + lnsucces = update_jtva_coloane(, "jtva_temp") + + + Select actcv + Oreg = Createobject("FRM_IREG_PARTENERI", m.llAfisareTot) + *DO FORM frm_ireg_parteneri NAME oreg noshow + + Select actcv + With Oreg + .lActiv = plActiv + .cCont = lcContPart + *!* .LABEL10.Caption=Proper(tctitlu)&&& trebuie facut + .Lb_titlu_alb_b121.Caption = Proper(lcDenumire) + .grid1.cTotCred.Visible = .T. + .Cont = Allt(pcCont) + .fisier = Alltrim(tcFis2) + *.Ck_valuta.VISIBLE = tlVisible + *.CK_explicatia.VISIBLE = tlVisible + *.ck_scadente.VISIBLE = tlVisible + * .CHECK9.VISIBLE = tlVisible + .grid1.cDataScad.Visible = tlVisible + .grid1.cTotDebVal.Visible = tlVisible + .grid1.cTotCredVal.Visible = tlVisible + .grid1.cSoldVal.Visible = tlVisible + .grid1.cNume_val.Visible = tlVisible + .grid1.cCurs.Visible = tlVisible + .grid1.cExplicatia.Visible = tlVisible + .grid1.cCod_fiscal.Visible = tlVisible && 24.02.09 + If !tlVisible + .CHECK3.Caption = 'Regularizate' + .CHECK4.Caption = 'Neregularizate' + .check10.Caption = 'Regularizat' + .grid1.cTotCred.header1.Caption = 'Regularizat' + .grid1.cDataScad.Width = 0 + Endif + If !plActiv + + .grid1.cSoldFinal.ControlSource = "(Preccred+credit)-(precdeb+debit)" + .grid1.cSoldVal.ControlSource = "(precvalcred+valcredit)-(precvaldeb+valdebit)" + *.ck_sold.camp_nume = "credit+preccred-precdeb-debit" + .grid1.cTotDeb.ControlSource = "preccred+credit" + .grid1.cTotCred.ControlSource = "precdeb+debit" + .grid1.cTotDebVal.ControlSource = "precvalcred+valcredit" + .grid1.cTotCredVal.ControlSource = "precvaldeb+valdebit" + .grid1.cDebit.ControlSource = "credit" + .grid1.cCredit.ControlSource = "debit" + .grid1.cValDebit.ControlSource = "valcredit" + .grid1.cValCredit.ControlSource = "valdebit" + .grid1.cPrecDeb.ControlSource = "preccred" + .grid1.cPrecCred.ControlSource = "precdeb" + .grid1.cPrecValDeb.ControlSource = "precvalcred" + .grid1.cPrecValCred.ControlSource = "precvaldeb" + + .grid1.cTotDeb.header1.Caption = "Total " + lcDenCredit + .grid1.cTotCred.header1.Caption = "Total " + lcDenDebit + .grid1.cTotDebVal.header1.Caption = "Total " + lcDenCredit + " valuta" + .grid1.cTotCredVal.header1.Caption = "Total " + lcDenDebit + " valuta" + .grid1.cDebit.header1.Caption = lcDenCredit + .grid1.cCredit.header1.Caption = lcDenDebit + .grid1.cValDebit.header1.Caption = lcDenCredit + " valuta" + .grid1.cValCredit.header1.Caption = lcDenDebit + " valuta" + .grid1.cPrecDeb.header1.Caption = "Prec " + lcDenCredit + .grid1.cPrecCred.header1.Caption = "Prec " + lcDenDebit + .grid1.cPrecValDeb.header1.Caption = "Prec Valuta " + lcDenCredit + .grid1.cPrecValCred.header1.Caption = "Prec Valuta " + lcDenDebit + Else + .grid1.cSoldFinal.ControlSource = "(precdeb+debit)-(preccred+credit)" + .grid1.cSoldVal.ControlSource = "(precvaldeb+valdebit)-(precvalcred+valcredit)" + *.ck_sold.camp_nume = "precdeb+debit-credit-preccred" + .grid1.cTotDeb.header1.Caption = "Total " + lcDenDebit + .grid1.cTotCred.header1.Caption = "Total " + lcDenCredit + .grid1.cTotDebVal.header1.Caption = "Total " + lcDenDebit + " valuta" + .grid1.cTotCredVal.header1.Caption = "Total " + lcDenCredit + " valuta" + .grid1.cDebit.header1.Caption = lcDenDebit + .grid1.cCredit.header1.Caption = lcDenCredit + .grid1.cValDebit.header1.Caption = lcDenDebit + " valuta" + .grid1.cValCredit.header1.Caption = lcDenCredit + " valuta" + .grid1.cPrecDeb.header1.Caption = "Prec " + lcDenDebit + .grid1.cPrecCred.header1.Caption = "Prec " + lcDenCredit + .grid1.cPrecValDeb.header1.Caption = "Prec Valuta " + lcDenDebit + .grid1.cPrecValCred.header1.Caption = "Prec Valuta " + lcDenCredit + Endif + If Type('pcTotctva') # 'U' And Type('pcAchitat') # 'U' + .grid1.cTotCred.header1.Caption = pcAchitat + .grid1.cTotDeb.header1.Caption = pcTotctva + Endif + If Type('pcSumaTotal') # 'U' And Type('pcSumaAchi') # 'U' + .CHECK13.Caption = pcSumaTotal + .check10.Caption = pcSumaAchi + Endif + If Type('actcv.nresp') # 'U' + .grid1.cNresp.Visible = .T. + .grid1.cNresp.ControlSource = 'nresp' + *.Ck_responsabil.VISIBLE = .T. + Endif + *!* IF plActiv + *!* .grid1.SETALL("DynamicForeColor", "IIF(ABS((preccred+credit)-(precdeb+debit))=0,RGB(0,0,0), iif(((precdeb+debit) < (preccred+credit)),RGB(255,0,0),RGB(0,0,255)))", "Column") + *!* ELSE + *!* .grid1.SETALL("DynamicForeColor", "IIF(ABS((preccred+credit)-(precdeb+debit))=0,RGB(0,0,0), iif(((precdeb+debit) > (preccred+credit)),RGB(255,0,0),RGB(0,0,255)))", "Column") + *!* ENDIF + If plActiv + .grid1.SetAll("DynamicForeColor", "IIF(ABS((preccred+credit)-(precdeb+debit))=0,RGB(0,0,0), iif(((precdeb+debit) < (preccred+credit)), RGB(166,0,0), RGB(0,89,168)))", "Column") + Else + .grid1.SetAll("DynamicForeColor", "IIF(ABS((preccred+credit)-(precdeb+debit))=0,RGB(0,0,0), iif(((precdeb+debit) > (preccred+credit)), RGB(166,0,0), RGB(0,89,168)))", "Column") + Endif + + Endwith + Oreg.Show(1) + *!* Select actcv + *!* If Used('actcv') + *!* Use In actcv + *!* Endif + *!* Release ofis + Release Oreg + Use In actcv + Use In jtva_temp + +Endproc && lans_ireg_parteneri +*--------------------------------------------------------------------------------- + +Procedure lans_balanta_parteneri + Lparameters tcCont, tlactiv, tlTitluTot, tcDenumire, tcDenDebit, tcDenCredit, tnCurs, tcValuta &&initital cu 2 parametrii + *!* tcCont: "4111" sau "5121,5126,5081" + *!* tlTitluTot = daca denumirea titlului este totala i.e.: Nu trebuie sa mai adaug Balanta parteneri + *!* tcDenumire = titlul balantei + *!* tcDenDebit = peste tot pe unde apare debit se va inlocui cu aceasta denumire + *!* tcDenCredit = peste tot pe unde apare credit se va inlocui cu aceasta denumire + + Local llParametri, lcCont, llActiv, llTitluTot, lcDenumire, lcDenDebit, lcDenCredit, lnConturi, lnCont + Local OVIZ As "frm_bal_parteneri" + Local Ol As "frm_sel_cont" + Local lcFiltruOriginal, lcGroup, lcSchema, lcSqlCount, lcViz, llAfisare, llAfisareTot + Local llModParam, llSucces, lnInregistrariAfisare, lnSemn, loCont + *:Global gcAcces, i, + PRIVATE pnRecCnt + + llParametri = .F. + lcCont = '' + llActiv = .F. + If Empty(tlTitluTot) + llTitluTot = .F. + Else + llTitluTot = tlTitluTot + Endif + + If Empty(tcDenumire) + lcDenumire = "" + Else + lcDenumire = tcDenumire + Endif + + If Empty(tcDenDebit) + lcDenDebit = "Debit" + Else + lcDenDebit = tcDenDebit + Endif + If Empty(tcDenCredit) + lcDenCredit = "Credit" + Else + lcDenCredit = tcDenCredit + Endif + *!* IF PCOUNT() < 2 + If Empty(tcCont) And Empty(tlactiv) + llParametri = .F. + Else + llParametri = .T. + lcCont = Alltrim(tcCont) + llActiv = tlactiv + Endif + + Local NOU, lnTdeb, lnTcred, lnSold, lcContPart, lclista + Store 0 To lnTdeb, lnTcred, lnSold + NOU = .T. + + If .F. + Select calendar + Go Top + If an = pcAn And NL = pcNl + NOU = .F. + Endif + Endif + *!* IF glPrimaLuna + *!* nou = .F. + *!* ENDIF + + Private polista, pcschema1, pcselect1, pcfiltru1, pcorder1 + Store "" To polista + + + If !llParametri + + If Used('clista') + Use In clista + Endif + + pcschema1 = ['cont c(4),acont c(4),explicatie c(50),fel_cont n(1)'] + pcselect1 = ['select cont,rpad(CHR(32),4,CHR(32)) as acont,explicatie,fel_cont from ] + gcS + [.config_cont_ireg where 1=2'] + *!* pcschema1=['cont c(4),acont c(4),explicatie c(50)'] + *!* pcselect1=['select distinct cont,rpad(CHR(32),4,CHR(32)) as acont,explicatie from ]+gcS+[.vcoresp_tip_cont where 1=2'] + pcfiltru1 = [2=2] + pcorder1 = [cont] + llAfisare = .F. + gencursor('polista', 'clista', pcselect1, pcfiltru1, pcschema1, pcorder1, llAfisare) + polista.ca_baza1.afisare() + + *!* SELECT DISTINCT cont, '' as acont FROM coresp_tip_cont INTO CURSOR clista + Select clista + loCont = myscatter('blank') + + Private eActiv + Store .T. To eActiv + + Ol = Createobject("frm_sel_cont") + With Ol + .Lb_titlu_alb_b121.Caption = 'Selectati contul' + If Empty(.cboCont.RowSource) + .cboCont.RowSource = "clista.cont,explicatie" + .cboCont.ColumnWidths = '40,150' + Endif + .ocont = loCont + If Empty(.cAlias) + .cAlias = Left(.cboCont.RowSource, At(".", .cboCont.RowSource) - 1) + Endif + .Height = 190 + .lHide = .T. + Endwith + Ol.Show(1) + eActiv = Iif(Ol.nFel_Cont = 0, .T., .F.) + Ol.Release + + If buton = 2 + Use In clista + Return + Endif + + lcContPart = loCont.Cont + If !llTitluTot And Empty(lcDenumire) + lcDenumire = "Balanta " + Alltrim(clista.explicatie) + "( " + lcContPart + " )" + Else + If !Empty(lcDenumire) And !llTitluTot + lcDenumire = "Balanta " + lcDenumire + "( " + lcContPart + " )" + Endif + Endif + Use In clista + Else + lcContPart = lcCont + eActiv = llActiv + + If !llTitluTot And Empty(lcDenumire) + lcDenumire = "Balanta " + "( " + lcContPart + " )" + Else + If !Empty(lcDenumire) And !llTitluTot + lcDenumire = xc + Endif + Endif + Endif + + If eActiv + lnSemn = -1 + Else + lnSemn = 1 + Endif + + + *** verificare INAINTE_DE + lnConturi = Getwordcount(m.lcContPart, ",") && "4111" sau "5121,5126,5081" + For lnCont = 1 To lnConturi + Do inainte With "BALANTA_parteneri", Getwordnum(m.lcContPart, m.lnCont, ",") In oinainte_de.prg + Endfor + + Private pobalpartext, pobalparttot + Local lcSelect, lcSchemaTot, lcSchemaExt, lcFiltru, lcOrder + *!* PRIVATE pobalpartint,pcschema3,pcselect3,pcfiltru3,pcorder3,pcgroup3 + + Store Null To pobalpartext, pobalparttot + + lcSchema = [ID_BAL_PART N(20), PRECDEB1 N(19,2),PRECCRED1 N(19,2),PRECDEB N(19,2),PRECCRED N(19,2), ] + ; + [DEB N(19,2),CRED N(19,2),PRECVALDEB1 N(19,2),PRECVALCRED1 N(19,2),PRECVALDEB N(19,2), ] + ; + [PRECVALCRED N(19,2),VALDEBIT N(19,2),VALCREDIT N(19,2),NUME_VAL C(5),ID_PART N(10), ] + ; + [NUME C(50),COD_FISCAL C(30),REG_COMERT C(20),CONT C(4),ACONT C(4),AN N(4),LUNA N(2),TOTCRED N(19,2),TOTDEB N(19,2), ] + ; + [TOTVALCRED N(19,2),TOTVALDEB N(19,2),ID_VALUTA N(5),ID_SUCURSALA N(5),SUCURSALA C(100),] + ; + [SOLDPREC1 N(19,2),SOLDPREC N(19,2),SOLD N(19,2),SOLDFINAL N(19,2),RULANDEB N(19,2),RULANCRED N(19,2),RULANPDEB N(19,2),RULANPCRED N(19,2),SOLDPRECVAL N(19,2),SOLDFINALVAL N(19,2),] + ; + [CONT_BANCA C(32), BANCA C(100), SWIFT_BANCA C(100), ADRESA_BANCA C(250), CATEGORIE_ENTITATE C(150),] + ; + [ADRESA C(250), TELEFON C(250), EMAIL C(100)] + + lcSelect = [select p.ID_BAL_PART, p.PRECDEB1,p.PRECCRED1,p.PRECDEB,p.PRECCRED, ] + ; + [p.DEBIT as DEB,p.CREDIT as CRED,p.PRECVALDEB1,p.PRECVALCRED1,p.PRECVALDEB, ] + ; + [p.PRECVALCRED,p.VALDEBIT,p.VALCREDIT,p.NUME_VAL,p.ID_PART, ] + ; + [p.NUME,p.COD_FISCAL,p.reg_comert,p.CONT,p.ACONT,p.AN,p.LUNA, ] + ; + [p.PRECCRED+p.CREDIT as TOTCRED,p.PRECDEB+p.DEBIT as TOTDEB, ] + ; + [p.PRECVALCRED+p.VALCREDIT as TOTVALCRED,p.PRECVALDEB+p.VALDEBIT as TOTVALDEB,p.ID_VALUTA,p.ID_SUCURSALA,p.SUCURSALA ,] + ; + Iif(eActiv, [p.PRECDEB1-p.PRECCRED1], [p.PRECCRED1-p.PRECDEB1]) + [ AS SOLDPREC1,] + ; + Iif(eActiv, [p.PRECDEB-p.PRECCRED], [p.PRECCRED-p.PRECDEB]) + [ AS SOLDPREC,] + ; + Iif(eActiv, [p.DEBIT-p.CREDIT], [p.CREDIT-p.DEBIT]) + [ AS SOLD,] + ; + Iif(eActiv, [p.TOTDEB-p.TOTCRED], [p.TOTCRED-p.TOTDEB]) + [ AS SOLDFINAL,] + ; + [p.TOTDEB-p.PRECDEB1 AS RULANDEB,] + ; + [p.TOTCRED-p.PRECCRED1 AS RULANCRED,] + ; + [p.TOTDEB-p.PRECDEB1-p.debit AS RULANPDEB,] + ; + [p.TOTCRED-p.PRECCRED1-p.credit AS RULANPCRED,] + ; + Iif(eActiv, [p.PRECVALDEB-p.PRECVALCRED], [p.PRECVALCRED-p.PRECVALDEB]) + [ AS SOLDPRECVAL,] + ; + Iif(eActiv, [p.TOTVALDEB-p.TOTVALCRED], [p.TOTVALCRED-p.TOTVALDEB]) + [ AS SOLDFINALVAL,] + ; + [p.cont_banca, p.banca, p.swift_banca, p.adresa_banca, p.categorie_entitate, ] + ; + [(select stringagg(adresa) as adresa from vadrese_parteneri where id_part = p.id_part group by id_part) as ADRESA,] + ; + [(select stringagg(telefon1) as telefon from vadrese_parteneri where id_part = p.id_part group by id_part) as TELEFON,] + ; + [(select stringagg(email) as email from vadrese_parteneri where id_part = p.id_part group by id_part) as EMAIL] + ; + [ from vbalanta_parteneri p ] + + lcFiltru = [1=2] + lcOrder = [nume,acont] + llAfisare = .F. + lcGroup = [] + llModParam = .T. + * 5081 apare si la banca lei 5121 si la banca valuta 5124 si separ dupa valuta + Do Case + Case Type('tcCont') = 'C' And '5121' $ tcCont + lcFiltruOriginal = [(P.CONT in ('5121', '5126') OR (P.CONT = '5081' AND NVL(P.ID_VALUTA,0) IN (SELECT 0 FROM DUAL UNION SELECT ID_VALUTA FROM VNOM_VALUTE WHERE MONEDA_NATIONALA = 1)))] + Case Type('tcCont') = 'C' And '5124' $ tcCont + lcFiltruOriginal = [(P.CONT in ('5124', '5127') OR (P.CONT = '5081' AND NVL(P.ID_VALUTA,0) NOT IN (SELECT 0 FROM DUAL UNION SELECT ID_VALUTA FROM VNOM_VALUTE WHERE MONEDA_NATIONALA = 1)))] + Otherwise + lcFiltruOriginal = [] + Endcase + && DACA SUNT PE O SUCURSALA - SELECTEZ DOAR INREGISTRARILE DE PE SUCURSALA CURENTA + If !Isnull(gnIdSucursala) + lcFiltruOriginal = Substr(gcCondSucursala, 6) + Endif + + gencursor('pobalpartext', 'xtemp', lcSelect, lcFiltru, lcSchema, lcOrder, llAfisare, lcGroup, llModParam, lcFiltruOriginal) + pobalpartext.ca_baza1.afisare() + + lcSelect = [select 0 as ID_BAL_PART, SUM(p.PRECDEB1) AS PRECDEB1,SUM(p.PRECCRED1) AS PRECCRED1,SUM(p.PRECDEB) AS PRECDEB,SUM(p.PRECCRED) AS PRECCRED, ] + ; + [SUM(p.DEBIT) as DEB,SUM(p.CREDIT) as CRED,0 AS PRECVALDEB1,0 AS PRECVALCRED1,0 AS PRECVALDEB, ] + ; + [0 AS PRECVALCRED,0 AS VALDEBIT,0 AS VALCREDIT,'LEI' AS NUME_VAL,p.ID_PART, ] + ; + [p.NUME,p.COD_FISCAL,p.REG_COMERT,p.CONT,p.ACONT,p.AN,p.LUNA, ] + ; + [SUM(p.PRECCRED+p.CREDIT) as TOTCRED,SUM(p.PRECDEB+p.DEBIT) as TOTDEB, ] + ; + [SUM(p.PRECVALCRED+p.VALCREDIT) as TOTVALCRED,SUM(p.PRECVALDEB+p.VALDEBIT) as TOTVALDEB,0 AS ID_VALUTA,p.ID_SUCURSALA,p.SUCURSALA ,] + ; + [SUM(] + Iif(eActiv, [p.PRECDEB1-p.PRECCRED1], [p.PRECCRED1-p.PRECDEB1]) + [) AS SOLDPREC1,] + ; + [SUM(] + Iif(eActiv, [p.PRECDEB-p.PRECCRED], [p.PRECCRED-p.PRECDEB]) + [) AS SOLDPREC,] + ; + [SUM(] + Iif(eActiv, [p.DEBIT-p.CREDIT], [p.CREDIT-p.DEBIT]) + [) AS SOLD,] + ; + [SUM(] + Iif(eActiv, [p.TOTDEB-p.TOTCRED], [p.TOTCRED-p.TOTDEB]) + [) AS SOLDFINAL,] + ; + [SUM(p.TOTDEB-p.PRECDEB1) AS RULANDEB, ] + ; + [SUM(p.TOTCRED-p.PRECCRED1) AS RULANCRED, ] + ; + [SUM(p.TOTDEB-p.PRECDEB1-p.debit) AS RULANPDEB,] + ; + [SUM(p.TOTCRED-p.PRECCRED1-p.credit) AS RULANPCRED,] + ; + [0 as SOLDPRECVAL, 0 AS SOLDFINALVAL,] + ; + [p.cont_banca, p.banca, p.swift_banca, p.adresa_banca,p.categorie_entitate,] + ; + [(select stringagg(adresa) as adresa from vadrese_parteneri where id_part = p.id_part group by id_part) as ADRESA,] + ; + [(select stringagg(telefon1) as telefon from vadrese_parteneri where id_part = p.id_part group by id_part) as TELEFON,] + ; + [(select stringagg(email) as email from vadrese_parteneri where id_part = p.id_part group by id_part) as EMAIL] + ; + [ from vbalanta_parteneri p] + + * Calculez numarul de inregistrari. Daca numarul este mai mic de min(300, gnInregistrariAfisare) afisez toate inregistrarile in loc sa intru cu 1=2 + lnInregistrariAfisare = Iif(Type('gnInregistrariAfisare') = 'N', m.gnInregistrariAfisare, 300) + + lcSqlCount = [SELECT COUNT(*) as nr FROM balanta_parteneri where an=?gnAn and luna=?gnLuna and CONT in ('] + Alltrim(Strtran(lcContPart, [,], [','])) + [') ] + pnRecCnt = 0 + llSucces = goExecutor.oSelecteaza2Value(m.lcSqlCount, @pnRecCnt) + llAfisareTot = (Nvl(m.pnRecCnt, 0) <= m.lnInregistrariAfisare) + + lcFiltru = [1=2] + lcOrder = [p.nume,p.acont] + lcGroup = [p.CONT,p.ACONT,p.AN,p.LUNA,p.ID_PART,p.NUME,p.COD_FISCAL, p.REG_COMERT,p.ID_SUCURSALA,p.SUCURSALA, p.cont_banca, p.banca, p.swift_banca, p.adresa_banca, p.categorie_entitate] + llAfisare = .F. + llModParam = .T. + * 5081 apare si la banca lei 5121 si la banca valuta 5124 si separ dupa valuta + Do Case + Case Type('tcCont') = 'C' And '5121' $ tcCont + lcFiltruOriginal = [(P.CONT in ('5121', '5126') OR (P.CONT = '5081' AND NVL(P.ID_VALUTA,0) IN (SELECT 0 FROM DUAL UNION SELECT ID_VALUTA FROM VNOM_VALUTE WHERE MONEDA_NATIONALA = 1)))] + Case Type('tcCont') = 'C' And '5124' $ tcCont + lcFiltruOriginal = [(P.CONT in ('5124', '5127') OR (P.CONT = '5081' AND NVL(P.ID_VALUTA,0) NOT IN (SELECT 0 FROM DUAL UNION SELECT ID_VALUTA FROM VNOM_VALUTE WHERE MONEDA_NATIONALA = 1)))] + Otherwise + lcFiltruOriginal = [] + Endcase + && DACA SUNT PE O SUCURSALA - SELECTEZ DOAR INREGISTRARILE DE PE SUCURSALA CURENTA + If !Isnull(gnIdSucursala) + lcFiltruOriginal = Substr(gcCondSucursala, 6) + Endif + gencursor('pobalparttot', 'xtemp', lcSelect, lcFiltru, lcSchema, lcOrder, llAfisare, lcGroup, llModParam, lcFiltruOriginal) + pobalparttot.ca_baza1.afisare() + + + If gcNumeProgram = [ROAMANAGER] + *!* .but_reface1.Visible = .F. + *!* .but_modifica1.Visible = .F. + gcAcces = Strtran(Strtran(gcAcces, [3;], []), [4;], []) + Endif + + OVIZ = Createobject("frm_bal_parteneri", tnCurs, tcValuta, m.llAfisareTot) + With OVIZ + *!* .LABEL10.Caption='SITUATIA ANALITICA - BALANTA PARTENERI (' + Alltrim(lcContPart) + ')' + .Lb_titlu_alb_b121.Caption = Proper(lcDenumire) + + If !Empty(tcValuta) + .Lb_titlu_alb_b121.Caption = .Lb_titlu_alb_b121.Caption + ; + " Evaluarea in valuta 1 " + Alltrim(tcValuta) + "=" + Alltrim(Str(tnCurs, 10, gnPval)) + " LEI" + Endif + If eActiv + .grid1.cSold.ControlSource = 'sold' + .grid1.cSoldFinal.ControlSource = 'soldfinal' + .grid1.cSoldPrec.ControlSource = 'soldprec' + .grid1.cSoldPrec1.ControlSource = 'soldprec1' + + .grid1.cSoldFinalVal.ControlSource = 'soldfinalval' + .grid1.cSoldPrecVal.ControlSource = 'soldprecval' + *!* .grid1.column6.header1.Caption='Sold (deb-cred)' + *!* .grid1.COLUMN4.header1.Caption='Debit' + *!* .grid1.COLUMN5.header1.Caption='Credit' + .grid1.cSold.header1.Caption = "Sold(" + Alltrim(lcDenDebit) + "-" + Alltrim(lcDenCredit) + ")"&&'Sold (cred-deb)' + .grid1.cDeb.header1.Caption = lcDenDebit&&Debit' + .grid1.cCred.header1.Caption = lcDenCredit&&'Credit' + .grid1.cPrecDeb.header1.Caption = "Prec." + lcDenDebit&&Debit' + .grid1.cPrecCred.header1.Caption = "Prec." + lcDenCredit&&'Credit' + .grid1.cTotDeb.header1.Caption = "Total" + lcDenDebit&&Debit' + .grid1.cTotCred.header1.Caption = "Total" + lcDenCredit&&'Credit' + .pcfel = 'A' + Else + .grid1.cSold.ControlSource = 'sold' + .grid1.cSoldFinal.ControlSource = 'soldfinal' + .grid1.cSoldPrec.ControlSource = 'soldprec' + .grid1.cSoldPrec1.ControlSource = 'soldprec1' + + .grid1.cSoldFinalVal.ControlSource = 'soldfinalval' + .grid1.cSoldPrecVal.ControlSource = 'soldprecval' + .grid1.cSold.header1.Caption = "Sold(" + Alltrim(lcDenCredit) + "-" + Alltrim(lcDenDebit) + ")" &&'Sold (cred-deb)' + .grid1.cDeb.header1.Caption = lcDenDebit &&Debit' + .grid1.cCred.header1.Caption = lcDenCredit &&'Credit' + .grid1.cPrecCred.header1.Caption = "Prec." + lcDenCredit && 'Credit' + .grid1.cPrecDeb.header1.Caption = "Prec." + lcDenDebit && 'Debit' + *!* .grid1.column11.controlsource = "preccred" + *!* .grid1.column12.controlsource = "precdeb" + .grid1.cTotCred.header1.Caption = "Total" + lcDenCredit&&'Credit' + .grid1.cTotDeb.header1.Caption = "Total" + lcDenDebit&&'Debit' + *!* .grid1.COLUMN15.controlsource= "totCred" &&Credit' + *!* .grid1.COLUMN16.controlsource= "TotDeb" &&'Debit' + .pcfel = 'P' + + Endif + .grid1.cSoldPrecVal.Visible = .F. + .grid1.cValDebit.Visible = .F. + .grid1.cValCredit.Visible = .F. + .grid1.cSoldFinalVal.Visible = .F. + .grid1.cNume_val.Visible = .F. + .TABEL = 'BALANTA_PARTENER' + .pcCont = Alltrim(lcContPart) + .grid1.cAvans.Width = 0 + .grid1.cAvansPrec.Width = 0 + .grid1.cTotAvans.Width = 0 + .grid1.cAvans.Visible = .F. + .grid1.cAvansPrec.Visible = .F. + .grid1.cTotAvans.Visible = .F. + *!* .label7.VISIBLE = .F. + *!* .text4.VISIBLE = .F. + *!* .TEXT5.VISIBLE = .F. + *!* .text9.VISIBLE = .F. + Endwith + If !NOU + With OVIZ.grid1 + .column2.ColumnOrder = 2 + For i = 9 To 16 + lcViz = '.column' + Alltrim(Str(i)) + '.visible=.f.' + *lcWidth='.column'+ALLTRIM(STR(i))+'.width=0' + &lcViz + *&lcWidth + Endfor + Endwith + Endif + + *!* *!* arat coloana sucursala doar pe mama + *!* OVIZ.grid1.cSucursala.visible = glEMama + + + OVIZ.Show(1) + Use In xtemp + *!* ENDIF +Endproc && lans_balanta_parteneri +*---------------------------------------------------------------------------------------------- + + +*---------------------------------- Inceput lans_balanta_cumulata ---------------------------------- +Procedure lans_balanta_cumulata + + + pcselect = [select explicatie, id_coloana from ] + gcS + [.coloane] + pcfiltru = [2=2] + pcschema = [''] + pcorder = [explicatie] + pccoloane = [explicatie] + pcTitlu = [Alegeti Balanta] + pcFiltruOriginal = [camp is null and tabel is null and id_prg_owner = 2 and configurabil = 1] + locauta = cauta_alfa(pcselect, pcfiltru, pcschema, pcorder, pccoloane, pcTitlu, pcTitlu, "", .F., pcFiltruOriginal) + + If Empty(locauta.id_coloana) Or Isnull(locauta.id_coloana) + Return + Endif + + pnIdBal = locauta.id_coloana + + + pcTitluCol = [] + pcNumeCol = [] + lcSel = [{call pack_balante_cumulate.balante_cumulate(?@pcNumeCol,?@pcTitluCol,?gcS,?pnIdBal,?gnAn,?gnLuna)}] + lcSchema = [] + lcCursor = 'crs_bal' + lnsucces = goExecutor.oExecute(lcSel, lcCursor) + + If lnsucces < 0 + aMESSAGEBOX(goExecutor.cEroare, 0 + 16, "Eroare") + Return + Endif + + + pcNumeCol = [nume;cod_fiscal;acont;] + pcNumeCol + pcTitluCol = [Partener,Cod Fiscal,Analitic,] + pcTitluCol + Select (lcCursor) + Scatter Name loto Blank + + + obalp = Createobject('frm_bal_parteneri_cumulata') + obalp.ototal = loto + With obalp.ct_grid_order1 + .cselect = lcSel + .cschema = lcSchema + .cTitlu_coloane = pcTitluCol + .cNume_coloane = pcNumeCol + .cFiltruOriginal = [] + .cFiltru = [] + .cOrder = [] + .cTitlu = [] + .cnumeCursor = lcCursor + .lmodparam = .T. + Endwith + obalp.cTitlu = locauta.explicatie + obalp.Show() + + If Used(lcCursor) + Use In (lcCursor) + Endif + +Endproc && lans_balanta_cumulata +*---------------------------------- Sfarsit lans_balanta_cumulata ---------------------------------- + + +*---------------------------------- Inceput configurare_balanta_cumulata ---------------------------------- +Procedure configurare_balanta_cumulata + Private pnIdBalanta, pnIdColoana + Store 0 To pnIdBalanta, pnIdColoana + + pcselect1 = [select explicatie,explicatie2, id_coloana from ] + gcS + [.coloane ] + pcfiltru1 = [camp is null and tabel is null and id_prg_owner = 2 and configurabil = 1] + pcschema1 = [''] + pcorder1 = [explicatie] + pccoloane1 = [explicatie; explicatie2] + pcTitluCol1 = [Titlu Balanta,Conturi] + pcTitlu1 = [Lista Balante Configurate] + + pcselect2 = [select f.id_calcul, f.id_op_col , f.ordine, f.id_coloana, c.camp, c.explicatie from ] + gcS + [.sal_calcul f left join ] + ; + gcS + [.coloane c on f.id_op_col = c.id_coloana and f.coloana = 1] + pcfiltru2 = [f.id_coloana =?pnIdBalanta] + pcschema2 = [''] + pcorder2 = [f.ordine] + pccoloane2 = [explicatie; ordine] + pcMask2 = '[1]=;[2]=REPLICATE("9",3)' + pcTitluCol2 = [Titlu coloana, Ordine] + pcTitlu2 = [Coloane Balanta] + + pcselect3 = [select id_calcul, id_coloana, id_op_col, explicatie, camp, coloana, ordine from ] + gcS + [.cont_vformule_balante ] + pcfiltru3 = [id_coloana =?pnIdColoana] + pcschema3 = [''] + pcorder3 = [ordine] + pccoloane3 = [camp;explicatie;ordine] + pcMask3 = '[1]=;[2]=;[3]=REPLICATE("9",3)' + pcTitluCol3 = [Camp,Explicatie,Ordine] + pcTitlu3 = [Formula Coloane] + + + obalp = Createobject('config_balante_parteneri') + With obalp.Ct_grid_search1 + .cselect = pcselect1 + .cschema = pcschema1 + .cTitlu_coloane = pcTitluCol1 + .cNume_coloane = pccoloane1 + .cFiltruOriginal = pcfiltru1 + .cFiltru = [2=2] + .cOrder = pcorder1 + .cTitlu = pcTitlu1 + .cnumeCursor = 'crs_NumeBal' + .lmodparam = .T. + Endwith + With obalp.Ct_grid_search2 + .cselect = pcselect2 + .cschema = pcschema2 + .cTitlu_coloane = pcTitluCol2 + .cNume_coloane = pccoloane2 + .cFiltruOriginal = pcfiltru2 + .cFiltru = [2=2] + .cOrder = pcorder2 + .cTitlu = pcTitlu2 + .cMask = pcMask2 + .cnumeCursor = 'crs_ColoaneBal' + .lmodparam = .T. + Endwith + With obalp.Ct_grid_search3 + .cselect = pcselect3 + .cschema = pcschema3 + .cTitlu_coloane = pcTitluCol3 + .cNume_coloane = pccoloane3 + .cFiltruOriginal = pcfiltru3 + .cFiltru = [2=2] + .cOrder = pcorder3 + .cTitlu = pcTitlu3 + .cMask = pcMask3 + .cnumeCursor = 'crs_FormulaBal' + .lmodparam = .T. + Endwith + obalp.Show() + +Endproc && configurare_balanta_cumulata +*---------------------------------- Sfarsit configurare_balanta_cumulata ---------------------------------- + +*!* *---------------------------------- Inceput lans_balanta_cumulata_401_409 ---------------------------------- +*!* PROCEDURE lans_balanta_cumulata_401_409 + + +*!* pcTitluCol = [] +*!* pcNumeCol = [] +*!* lcSel = [select nume,cod_fiscal,acont,(preccred-precdeb-(bprecdeb-bpreccred)) as soldprec,] + ; +*!* [(bdebit-bcredit) as avanscur,debit as productie,credit as incasat,precdeb,preccred,] + ; +*!* [(credit-debit-(bdebit-bcredit)) as soldcur,(bprecdeb-bpreccred) as avansprec,] + ; +*!* [((bprecdeb-bpreccred)+(bdebit-bcredit)) as avanstot,(preccred+credit-(precdeb+debit)-(bprecdeb-bpreccred+bdebit-bcredit)) as soldfinal,] + ; +*!* [(precdeb+debit) as totdeb,(preccred+credit) as totcred from ] + GCS + [.vbalanta_401_409 where an = ]+; +*!* ALLTRIM(STR(gnan)) + [ and luna = ] + ALLTRIM(STR(gnluna)) +*!* lcSchema = [] +*!* lcCursor = 'crs_bal' +*!* lnSucces = goExecutor.oExecute(lcSel,lcCursor) + +*!* IF lnSucces < 0 +*!* MESSAGEBOX(goExecutor.cEroare,0+16,"Eroare") +*!* RETURN +*!* ENDIF + + +*!* pcNumeCol = [nume;cod_fiscal;acont;soldprec;avanscur;productie;incasat;precdeb;preccred;soldcur;avansprec;avanstot;soldfinal;totdeb;totcred] +*!* pcTitluCol = [Partener,Cod Fiscal,Analitic,Sold Precedent,Avans curent,Productie,Incasat,Precdeb,Preccred,Sold curent,Avans curent,Avans total,Sold final,Totdeb,Totcred] +*!* SELECT (lcCursor) +*!* SCATTER NAME loto BLANK + + +*!* obalp = CREATEOBJECT('frm_bal_parteneri_cumulata') +*!* obalp.ototal = loto +*!* WITH obalp.ct_grid_order1 +*!* .cselect = lcSel +*!* .cschema = lcSchema +*!* .cTitlu_coloane = pcTitluCol +*!* .cNume_coloane = pcNumeCol +*!* .cFiltruOriginal = [] +*!* .cFiltru = [] +*!* .cOrder = [] +*!* .cTitlu = [] +*!* .cnumeCursor = lcCursor +*!* .lmodparam = .T. +*!* ENDWITH +*!* obalp.ctitlu = "BALANTA FURNIZORI CUMULATA" +*!* obalp.show() + +*!* IF USED(lcCursor) +*!* USE IN (lcCursor) +*!* ENDIF + +*!* ENDPROC && lans_balanta_cumulata +*!* *---------------------------------- Sfarsit lans_balanta_cumulata ---------------------------------- + +*!* *---------------------------------- Inceput lans_balanta_cumulata_4111_419 ---------------------------------- +*!* PROCEDURE lans_balanta_cumulata_4111_419 + + +*!* pcTitluCol = [] +*!* pcNumeCol = [] +*!* lcSel = [select nume,cod_fiscal,acont,(precdeb-preccred-(bpreccred-bprecdeb)) as soldprec,] + ; +*!* [(bcredit-bdebit) as avanscur,debit as productie,credit as incasat,precdeb,preccred,] + ; +*!* [(debit-credit-(bcredit-bdebit)) as soldcur,(bpreccred-bprecdeb) as avansprec,] + ; +*!* [((bpreccred-bprecdeb)+(bcredit-bdebit)) as avanstot,(precdeb+debit-(preccred+credit)-(bpreccred-bprecdeb+bcredit-bdebit)) as soldfinal,] + ; +*!* [(preccred+credit) as totdeb,(precdeb+debit) as totcred from ] + GCS + [.vbalanta_4111_419 where an = ]+; +*!* ALLTRIM(STR(gnan)) + [ and luna = ] + ALLTRIM(STR(gnluna)) +*!* lcSchema = [] +*!* lcCursor = 'crs_bal' +*!* lnSucces = goExecutor.oExecute(lcSel,lcCursor) + +*!* IF lnSucces < 0 +*!* MESSAGEBOX(goExecutor.cEroare,0+16,"Eroare") +*!* RETURN +*!* ENDIF + + +*!* pcNumeCol = [nume;cod_fiscal;acont;soldprec;avanscur;productie;incasat;precdeb;preccred;soldcur;avansprec;avanstot;soldfinal;totdeb;totcred] +*!* pcTitluCol = [Partener,Cod Fiscal,Analitic,Sold Precedent,Avans curent,Productie,Incasat,Precdeb,Preccred,Sold curent,Avans curent,Avans total,Sold final,Totdeb,Totcred] +*!* SELECT (lcCursor) +*!* SCATTER NAME loto BLANK + + +*!* obalp = CREATEOBJECT('frm_bal_parteneri_cumulata') +*!* obalp.ototal = loto +*!* WITH obalp.ct_grid_order1 +*!* .cselect = lcSel +*!* .cschema = lcSchema +*!* .cTitlu_coloane = pcTitluCol +*!* .cNume_coloane = pcNumeCol +*!* .cFiltruOriginal = [] +*!* .cFiltru = [] +*!* .cOrder = [] +*!* .cTitlu = [] +*!* .cnumeCursor = lcCursor +*!* .lmodparam = .T. +*!* ENDWITH +*!* obalp.ctitlu = "BALANTA CLIENTI CUMULATA" +*!* obalp.show() + +*!* IF USED(lcCursor) +*!* USE IN (lcCursor) +*!* ENDIF + +*!* ENDPROC && lans_balanta_cumulata +*!* *---------------------------------- Sfarsit lans_balanta_cumulata ---------------------------------- + +*---------------------------------- Inceput lans_balanta_cumulata_401_409 ---------------------------------- +Procedure lans_balanta_cumulata_401_409 + + Private pobalpartfc + Store "" To pobalpartfc + Local lcSelect, lcFiltru, lcSchema, lcOrder, llAfisare, lcGroup, llModParam, lcFiltruOriginal + + lcSelect = [select id_part, nume,cod_fiscal,acont, id_valuta, nume_val, (preccred-precdeb-(bprecdeb-bpreccred)) as soldprec, ] + ; + [(bdebit-bcredit) as avanscur,debit,credit,precdeb,preccred, ] + ; + [(credit-debit-(bdebit-bcredit)) as soldcur,(bprecdeb-bpreccred) as avansprec, ] + ; + [((bprecdeb-bpreccred)+(bdebit-bcredit)) as avanstot,(preccred+credit-(precdeb+debit)-(bprecdeb-bpreccred+bdebit-bcredit)) as soldfinal, ] + ; + [(precvalcred-precvaldeb-(bprecvaldeb-bprecvalcred)) as soldprecval, valdebit, valcredit, ] + ; + [(precvalcred+valcredit-(precvaldeb+valdebit)-(bprecvaldeb-bprecvalcred+bvaldebit-bvalcredit)) as soldfinalval, ] + ; + [(precdeb+debit) as totdeb,(preccred+credit) as totcred, id_sucursala, sucursala from vbalanta_401_409 ] + + lcOrder = [nume,acont] + lcFiltru = [1=2] + llAfisare = .F. + llModParam = .T. + lcFiltruOriginal = [an = ] + Alltrim(Str(gnan)) + [ and luna = ] + Alltrim(Str(gnluna)) + && DACA SUNT PE O SUCURSALA - SELECTEZ DOAR INREGISTRARILE DE PE SUCURSALA CURENTA + If !Isnull(gnIdSucursala) + lcFiltruOriginal = lcFiltruOriginal + gcCondSucursala + Endif + + gencursor('pobalpartfc', 'balpartfc', lcSelect, lcFiltru, lcSchema, lcOrder, llAfisare, lcGroup, llModParam, lcFiltruOriginal) + + + obalp = Createobject('frm_balpart_fc') + obalp.Lb_titlu_alb_b121.Caption = "BALANTA FURNIZORI CUMULATA" + obalp.WindowState = 2 + obalp.Show() + + If Used('balpartfc') + Use In balpartfc + Endif + +Endproc && lans_balanta_cumulata_401_409 +*---------------------------------- Sfarsit lans_balanta_cumulata_401_409 ---------------------------------- + +*---------------------------------- Inceput lans_balanta_cumulata_4111_419 ---------------------------------- +Procedure lans_balanta_cumulata_4111_419 + + Private pobalpartfc + Store "" To pobalpartfc + Local lcSelect, lcFiltru, lcSchema, lcOrder, llAfisare, lcGroup, llModParam, lcFiltruOriginal + + lcSelect = [select id_part, nume,cod_fiscal,acont, id_valuta, nume_val, (precdeb-preccred-(bpreccred-bprecdeb)) as soldprec, ] + ; + [(bcredit-bdebit) as avanscur,debit,credit,precdeb,preccred, ] + ; + [(debit-credit-(bcredit-bdebit)) as soldcur,(bpreccred-bprecdeb) as avansprec, ] + ; + [((bpreccred-bprecdeb)+(bcredit-bdebit)) as avanstot,(precdeb+debit-(preccred+credit)-(bpreccred-bprecdeb+bcredit-bdebit)) as soldfinal, ] + ; + [(precvaldeb-precvalcred-(bprecvalcred-bprecvaldeb)) as soldprecval, valdebit, valcredit, ] + ; + [(precvaldeb+valdebit-(precvalcred+valcredit)-(bprecvalcred-bprecvaldeb+bvalcredit-bvaldebit)) as soldfinalval, ] + ; + [(preccred+credit) as totdeb,(precdeb+debit) as totcred, id_sucursala, sucursala from vbalanta_4111_419] + + lcOrder = [nume,acont] + lcFiltru = [1=2] + llAfisare = .F. + llModParam = .T. + lcFiltruOriginal = [an = ] + Alltrim(Str(gnan)) + [ and luna = ] + Alltrim(Str(gnluna)) + && DACA SUNT PE O SUCURSALA - SELECTEZ DOAR INREGISTRARILE DE PE SUCURSALA CURENTA + If !Isnull(gnIdSucursala) + lcFiltruOriginal = lcFiltruOriginal + gcCondSucursala + Endif + + gencursor('pobalpartfc', 'balpartfc', lcSelect, lcFiltru, lcSchema, lcOrder, llAfisare, lcGroup, llModParam, lcFiltruOriginal) + + + obalp = Createobject('frm_balpart_fc') + obalp.Lb_titlu_alb_b121.Caption = "BALANTA CLIENTI CUMULATA" + obalp.grid1.column5.header1.Caption = "Productie" + obalp.grid1.column6.header1.Caption = "Incasat" + obalp.WindowState = 2 + obalp.Show() + + If Used('balpartfc') + Use In balpartfc + Endif + +Endproc && lans_balanta_cumulata_4111_419 +*---------------------------------- Sfarsit lans_balanta_cumulata_4111_419 ---------------------------------- +Procedure raport_bal_parteneri + Local loFrm + loFrm = Createobject("frm_date_rap_balpart_temp") + loFrm.Show(1) +Endproc +************************************************************************************************************** + +********************************************* +*** marcheaza/verifica/sterge o luna de initializare pentru o entitate LI/BP/BV/BP/IP si un cont +*** LI (luna initializare), BP (balanta de parteneri), BV (balanta verificare sintetica), BA (balanta de verificare analitica), IP (inregistrari parteneri) +*** se foloseste pentru a nu se reface situatiile de initializare +*** lLunaInitializare = IsCalendarInit('SET', 'IP/BP', lcCont) +********************************************* +Procedure IsCalendarInit + Lparameters tcTip, tcEntitate, tcCont + *** tcTip: GET (DEFAULT): .T./.F. daca exista inregistrarea in calendar_init + *** SET: initializeaza calendar_init + *** DEL: sterge din calendar_init + + Private pcCont, pcEntitate, pcTip, pnRezultat + Local llInit + llInit = .F. + pcTip = Upper(Alltrim(m.tcTip)) && GET/SET/DEL + pcTip = Iif(!Inlist(m.pcTip, 'GET', 'SET', 'DEL'), 'GET', m.pcTip) + + pcEntitate = Upper(Alltrim(m.tcEntitate)) + pcCont = Iif(!Empty(m.tcCont), Alltrim(m.tcCont), '') + lcCont = m.pcCont + pnRezultat = 0 + + lnConturi = Getwordcount(m.lcCont, ",") && "4111" sau "5121,5126,5081" + For lnCont = 1 To lnConturi + pcCont = Getwordnum(m.lcCont, m.lnCont, ",") + goExecutor.oExecuta('begin pack_firma.LUNA_INITIALIZARE_CONT(?pcTip, ?gnAn, ?gnLuna, ?pcEntitate, ?pcCont, ?gnIdUtil, ?@pnRezultat); end;') + If m.pnRezultat <> 0 + llInit = .T. + Endif + Endfor + + Return (m.llInit) +Endproc && IsCalendarInit + +********************************************* +*** verifica daca o luna este blocata la refacere: luna initiala, luna inchisa, situatie blocata +*** .T. = nu se reface, .F. = se poate reface +********************************************* +Function IsBlocatRefacere + Lparameters tcEntitate, tcCont + + Private pcCont, pcEntitate, pnRezultat + + pcEntitate = Upper(Alltrim(m.tcEntitate)) + pcCont = Iif(!Empty(m.tcCont), Alltrim(m.tcCont), '') + + pnRezultat = 0 + goExecutor.oSelect2Value('select pack_firma.IS_BLOCAT_REFACERE(?gnAn, ?gnLuna, ?pcEntitate, ?pcCont) from dual', @pnRezultat) + + Return (m.pnRezultat <> 0) +Endfunc \ No newline at end of file diff --git a/programe/oproceduri_ams.prg b/programe/oproceduri_ams.prg new file mode 100644 index 0000000..1b1e5eb --- /dev/null +++ b/programe/oproceduri_ams.prg @@ -0,0 +1,511 @@ +*!* 19.12.2019 +*!* marius.mutu +*!* Adauga_modifica_inregistrare, sterge_inregistrare: Am adaugat variabila pnIdAMS pentru a fi completata cu id-ul generat la salvarea unei inregistrari noi in baza de date + +&& ------------------------------INCEPUT: Adauga_Modifica_Inregistrare------------------------------ +*!* Procedura: Adauga_Modifica_Inregistrare +*!* Parametri: tcForm, toRec, tnId +*!* Data/Ora generarii: 26/04/2004 11:21 +*!* Autor: MARIUS.MUTU +Procedure Adauga_Modifica_Inregistrare + Lparameters tcAlias, toRec, tnId, tcActiune,tlNoShow,tcObjName + + * parametrul @tnId se transmite optional prin referinta la INSERT pentru a fi completat cu Id-ul generat la adaugarea in baza de date + * trebuie modificate cus_odata_xxx.make_sql pentru a completa variabila pnIdAMS + Private pnIdAMS + pnIdAMS = m.tnId + + Local lcAlias,llNoShow,lcObjName + lcAlias = Upper(Alltrim(tcAlias)) + + lcForm = 'frm_' + lcAlias + '_nou' + llNoShow = tlNoShow + Private poRec + poRec = toRec + If Empty(tcObjName) + lcObjName = 'loAdMod' + lcAlias + Else + lcObjName = Alltrim(tcObjName) + Endif + *DO FORM &lcForm NAME loAdMod WITH toRec,tnId,tcActiune NOSHOW + + &lcObjName = Createobject(lcForm,poRec,tnId,tcActiune) + If !tlNoShow + &lcObjName..Show(1) + Endif + + tnId = m.pnIdAMS + + Return gnButon +Endproc +&& ------------------------------SFARSIT: Adauga_Modifica_Inregistrare------------------------------ + +&& ------------------------------INCEPUT: Sterge_Inregistrare ------------------------------ +*!* Procedura: Sterge_Inregistrare +*!* Parametri: tcAlias, tnId +*!* Data/Ora generarii: 26/04/2004 11:28 +*!* Autor: MARIUS.MUTU +Procedure Sterge_Inregistrare + Lparameters tcAlias, tnId, tlNoSave,tcObjName + + Private pnIdAMS + pnIdAMS = m.tnId + + lcAlias = Upper(Alltrim(tcAlias)) + lnId = tnId + + llNoSave = tlNoSave + If Empty(tcObjName) + lcObjName = 'loData' + Else + lcObjName = Alltrim(tcObjName) + Endif + + + lcData = 'cus_odata_' + lcAlias + &lcObjName = Createobject(lcData) + &lcObjName..cActiune = "DELETE" + + If !llNoSave + Return &lcObjName..salvare(,lnId) + Else + Return .T. + Endif + +Endproc +&& ------------------------------SFARSIT: Sterge_Inregistrare ------------------------------ + +Define Class BizDataObject As Custom + oObject = Null + cObjectName = '' + cSelect = '' + cSchema = '' + nId = NULL + + Procedure Init + Lparameters toHash + *nId: id inregistrare, doar daca se transmite si cObjectName + *cObjectName: identificator select, schema dintr-o colectie (optional) + *cSelect: instructiune [select a,b,c from tabel where id = ?pnId], in cazul in care nu exista cObjectName (optional) + *cSchema: schema pentru cSelect (optional) + * loBizDataObject = CreateObject("BizDataObject", GetHash([cSelect=>select a,b,c from tabel where id = ?pnId])) + * loBizDataObject.GetDataObject() + This.nId = toHash.GetValue("nId") + This.cObjectName = toHash.GetValue("cObjectName") + This.cSelect = toHash.GetValue("cSelect") + This.cSchema = toHash.GetValue("cSchema") + Endproc && Init + + *************************************************************** + *** Intoarce un obiect selectat din baza de date pe baza tnId + *************************************************************** + Procedure GetDataObject + LOCAL lcSelect, lcSelectV, llSucces + PRIVATE pnObjectId, poObject + lcSelectV = SELECT() + llSucces = .F. + poObject = NULL + pnObjectId = this.nId + + lcSelect = this.cSelect + lcSchema = this.cSchema && id_articol N(20), codmat V(50), denumire V(100), descriere V(200), um V(10), id_grupa N(5), grupa V(50), id_subgrupa N(5), subgrupa V(50), tip N(3) + IF !(Empty(This.cObjectName) OR EMPTY(This.nId)) + loDefObject = This.GetDefObject() + lcSelect = loDefObject.GetValue("cSelect") + lcSchema = loDefObject.GetValue("cSchema") + lcIdColumn = loDefObject.GetValue("cIdColoana") + lcSelect = lcSelect + " where " + m.lcIdColumn + " = ?pnObjectId" + This.cSelect = m.lcSelect + ENDIF + + IF !EMPTY(m.lcSelect) + IF EMPTY(m.lcSchema) + llSucces = goExecutor.oSelecteaza2Object(m.lcSelect, @poObject) + ELSE + poCursor = Null + gencursor_hash(gethash([cnume=>poCursor??cAlias=>crsDataObject??cselect=>] + m.lcSelect + [??cschema=>] + m.lcSchema + [??lModParam=>.T.??cwhere=>] + m.lcIdColumn + [=pnObjectId])) + IF USED('crsDataObject') + llSucces = .T. + SELECT crsDataObject + SCATTER NAME poObject MEMO + USE IN (SELECT('crsDataObject')) + ENDIF + ENDIF + ENDIF + IF !m.llSucces + poObject = NULL + ENDIF + SELECT (m.lcSelectV) + RETURN poObject + ENDPROC && GetDataObject + + ************************************************* + Function GetDefObject + lcObjectName = Lower(This.cObjectName) + loHash = GetHash() + Do Case + CASE EMPTY(m.lcObjectName) + * + Case lcObjectName = "nom_parteneri" + With loHash + .SetValue("cSelect", "select id_part, denumire, cod_fiscal from nom_parteneri") + .SetValue("cSchema", "") + .SetValue("cFiltru", "1=2") + .SetValue("cOrder", "denumire") + .SetValue("cColoana", "denumire,cod_fiscal,id_part") + .SetValue("cTitlu", "Alegeti partenerul") + .SetValue("cTitluColoana", "Nume,Cod fiscal,ID") + .SetValue("cFiltruOriginal", [STERS = 0 AND INACTIV = 0]) + .SetValue("cresultcoloana","denumire") + .SetValue("cidcoloana","id_Part") + Endwith + + Case lcObjectName = "nom_parteneri4111" + With loHash + .SetValue("cSelect", "SELECT B.ID_PART, B.DENUMIRE, B.COD_FISCAL " + ; + " FROM CORESP_TIP_PART A " + ; + " LEFT JOIN NOM_PARTENERI B ON A.ID_PART = B.ID_PART") + .SetValue("cSchema", "") + .SetValue("cFiltru", "1=2") + .SetValue("cOrder", "b.denumire") + .SetValue("cColoana", "b.denumire,b.cod_fiscal,b.id_part") + .SetValue("cTitlu", "Alegeti partenerul") + .SetValue("cTitluColoana", "Nume,Cod fiscal,ID") + .SetValue("cFiltruOriginal", [B.STERS = 0 AND B.INACTIV = 0 AND A.ID_TIP_PART IN (SELECT id_tip_part FROM coresp_tip_cont WHERE cont = '4111')]) + .SetValue("cresultcoloana","denumire") + .SetValue("cidcoloana","id_Part") + Endwith + + Case lcObjectName = "nom_responsabil" + With loHash + .SetValue("cSelect", "select id_responsabil, nume, marca, bi, cnp from vnom_responsabili") + .SetValue("cSchema", "") + .SetValue("cFiltru", "1=2") + .SetValue("cOrder", "nume") + .SetValue("cColoana", "nume, marca, bi, cnp, id_responsabil") + .SetValue("cTitlu", "Alegeti responsabilul") + .SetValue("cTitluColoana", "Nume, Marca, BI, CNP, Id") + .SetValue("cFiltruOriginal", []) + .SetValue("cresultcoloana","nume") + .SetValue("cidcoloana","id_responsabil") + Endwith + + + Case lcObjectName = "nom_feldoc" + With loHash + .SetValue("cSelect", "select id_fdoc, fel_document FROM vnom_fdoc") + .SetValue("cSchema", "") + .SetValue("cFiltru", "1=2") + .SetValue("cOrder", "fel_document") + .SetValue("cColoana", "fel_document,id_fdoc") + .SetValue("cTitlu", "Alegeti felul documentului") + .SetValue("cTitluColoana", "Document,ID") + .SetValue("cFiltruOriginal", [inactiv = 0]) + .SetValue("cresultcoloana","fel_document") + .SetValue("cidcoloana","id_fdoc") + Endwith + + + Case lcObjectName = "nom_gestiune" + With loHash + .SetValue("cSelect", "select nume_gestiune,cgest,id_gestiune,nr_pag,cont from vnom_gestiuni ") + .SetValue("cSchema", "") + .SetValue("cFiltru", "1=2") + .SetValue("cOrder", "nume_gestiune") + .SetValue("cColoana", "nume_gestiune,cgest") + .SetValue("cTitlu", "Alegeti Gestiunea") + .SetValue("cTitluColoana", "Gestiune,Cgest") + .SetValue("cFiltruOriginal", [inactiv = 0]) + .SetValue("cresultcoloana","nume_gestiune") + .SetValue("cidcoloana","id_gestiune") + Endwith + + Case lcObjectName = "nom_lucrare" + With loHash + .SetValue("cSelect", "select nrord, id_lucrare from vnom_lucrari") + .SetValue("cSchema", "") + .SetValue("cFiltru", "1=2") + .SetValue("cOrder", "nrord") + .SetValue("cColoana", "nrord,id_lucrare") + .SetValue("cTitlu", "Alegeti lucrarea") + .SetValue("cTitluColoana", "Lucrare,ID") + .SetValue("cFiltruOriginal", [inactiv = 0]) + .SetValue("cresultcoloana","nrord") + .SetValue("cidcoloana","id_lucrare ") + Endwith + + Case lcObjectName = "nom_sectie" + With loHash + .SetValue("cSelect", "select id_sectie, sectie, csectie FROM vnom_sectii") + .SetValue("cSchema", "") + .SetValue("cFiltru", "1=2") + .SetValue("cOrder", "sectie") + .SetValue("cColoana", "sectie, csectie") + .SetValue("cTitlu", "Alegeti sectia") + .SetValue("cTitluColoana", "Sectie, Indicativ") + .SetValue("cFiltruOriginal", [inactiv = 0]) + .SetValue("cresultcoloana","sectie") + .SetValue("cidcoloana","id_sectie") + Endwith + + Case lcObjectName = "nom_valuta" + With loHash + .SetValue("cSelect", "select id_valuta, nume_val FROM vnom_valute") + .SetValue("cSchema", "") + .SetValue("cFiltru", "1=2") + .SetValue("cOrder", "nume_val") + .SetValue("cColoana", "nume_val") + .SetValue("cTitlu", "Alegeti valuta") + .SetValue("cTitluColoana", "Valuta") + .SetValue("cFiltruOriginal", [inactiv = 0 and moneda_nationala = 0]) + .SetValue("cresultcoloana","nume_val") + .SetValue("cidcoloana","id_valuta") + Endwith + + Case lcObjectName = "nom_sucursala" + With loHash + .SetValue("cSelect", "select id_sucursala, sucursala, inactiv from vnom_sucursale") + .SetValue("cSchema", "") + .SetValue("cFiltru", "2=2") + .SetValue("cOrder", "sucursala") + .SetValue("cColoana", "sucursala,id_sucursala") + .SetValue("cTitlu", "Alegeti sucursala") + .SetValue("cTitluColoana", "Sucursala, Id") + If glEMama && DACA SUNT PE FIRMA MAMA ARAT DOAR SUCURSALELE EI + .SetValue("cFiltruOriginal", [inactiv = 0 AND id_mama = ?gnIdFirma]) + Else && DACA SUNT PE O SUCURSALA SAU PE FIRMA INDEPENDENTA NU ARAT NIMIC + .SetValue("cFiltruOriginal", [1=2]) + Endif + .SetValue("cresultcoloana","sucursala") + .SetValue("cidcoloana","id_sucursala") + Endwith + + Case lcObjectName = "nom_utilizator" + With loHash + .SetValue("cSelect", "select id_util,utilizator from syn_vutilizatori") + .SetValue("cSchema", "") + .SetValue("cFiltru", "1=2") + .SetValue("cOrder", "utilizator") + .SetValue("cColoana", "utilizator") + .SetValue("cTitlu", "Alegeti utilizatorul") + .SetValue("cTitluColoana", "Utilizator") + .SetValue("cFiltruOriginal", [inactiv = 0]) + .SetValue("cresultcoloana","utilizator") + .SetValue("cidcoloana","id_util") + Endwith + + Case lcObjectName = "nom_venchel" + With loHash + .SetValue("cSelect", "select id_venchelt, explicatie, (case tip_venchelt when 1 then 'Cheltuiala' else 'Venit' end) as tip_venchelt FROM vnom_venchel") + .SetValue("cSchema", "") + .SetValue("cFiltru", "1=2") + .SetValue("cOrder", "explicatie") + .SetValue("cColoana", "explicatie,tip_venchelt") + .SetValue("cTitlu", "Alegeti venitul/cheltuiala") + .SetValue("cTitluColoana", "Explicatia, Tip") + .SetValue("cFiltruOriginal", [inactiv = 0]) + .SetValue("cresultcoloana","explicatie") + .SetValue("cidcoloana","id_venchelt") + Endwith + + Case Inlist(lcObjectName, "nom_articol", "nom_articole") + With loHash + .SetValue("cSelect", "select denumire, codmat, um, grupa, subgrupa, id_grupa, id_subgrupa, descriere, dnf, cont, acont, inactiv, id_articol from vnom_articole") + .SetValue("cSchema", "") + .SetValue("cFiltru", "1=2") + .SetValue("cOrder", "denumire") + .SetValue("cColoana", "denumire,codmat,um,grupa,subgrupa,cont,acont,dnf,id_articol") + .SetValue("cTitlu", "Alegeti articolul") + .SetValue("cTitluColoana", "Denumire,Cod Material,UM,Grupa,Subgrupa,Cont,Analitic,DNF,Id") + .SetValue("cFiltruOriginal", [inactiv = 0]) + .SetValue("cresultcoloana","denumire") + .SetValue("cidcoloana","id_articol") + Endwith + + Case lcObjectName = "nom_grupa_articol" + With loHash + .SetValue("cSelect", "select grupa, id_grupa from vgest_art_gr") + .SetValue("cSchema", "") + .SetValue("cFiltru", "1=2") + .SetValue("cOrder", "grupa") + .SetValue("cColoana", "grupa,id_grupa") + .SetValue("cTitlu", "Alegeti grupa de articole") + .SetValue("cTitluColoana", "Grupa,Id") + .SetValue("cFiltruOriginal", []) + .SetValue("cresultcoloana","grupa") + .SetValue("cidcoloana","id_grupa") + Endwith + + Case lcObjectName = "nom_subgrupa_articol" + With loHash + .SetValue("cSelect", "select subgrupa, grupa, id_subgrupa from vgest_art_sbgr") + .SetValue("cSchema", "") + .SetValue("cFiltru", "1=2") + .SetValue("cOrder", "subgrupa") + .SetValue("cColoana", "subgrupa,grupa,id_subgrupa") + .SetValue("cTitlu", "Alegeti subgrupa de articole") + .SetValue("cTitluColoana", "Subgrupa,Grupa,Id") + .SetValue("cFiltruOriginal", []) + .SetValue("cresultcoloana","subgrupa") + .SetValue("cidcoloana","id_subgrupa") + Endwith + + Case lcObjectName = "nom_grupa_gestiune" + With loHash + .SetValue("cSelect", "select id_grupe, nume_grupa, nume_parinte, parent_id FROM vgest_nom_grupe") + .SetValue("cSchema", "") + .SetValue("cFiltru", "1=2") + .SetValue("cOrder", "nume_grupa") + .SetValue("cColoana", "nume_grupa,nume_parinte,id_grupe,parent_id") + .SetValue("cTitlu", "Alegeti grupa de gestiuni") + .SetValue("cTitluColoana", "Grupa,Grupa parinte,Id,Id parinte") + .SetValue("cFiltruOriginal", [inactiv = 0]) + .SetValue("cresultcoloana","nume_grupa") + .SetValue("cidcoloana","id_grupe") + Endwith + + Case lcObjectName = "nom_meserie" + With loHash + .SetValue("cSelect", "select id_meseria, meserie from SAL_VNOM_MES") + .SetValue("cSchema", "") + .SetValue("cFiltru", "1=2") + .SetValue("cOrder", "meserie") + .SetValue("cColoana", "id_meseria, meserie") + .SetValue("cTitlu", "Alegeti meseria") + .SetValue("cTitluColoana", "Meseria, Id") + .SetValue("cFiltruOriginal", []) + .SetValue("cresultcoloana","meserie") + .SetValue("cidcoloana","meseria") + Endwith + + Case lcObjectName = "nom_formatie" + With loHash + .SetValue("cSelect", "select id_formatia, denumire from sal_vnom_formatii") + .SetValue("cSchema", "") + .SetValue("cFiltru", "1=2") + .SetValue("cOrder", "denumire") + .SetValue("cColoana", "denumire, id_formatia") + .SetValue("cTitlu", "Alegeti formatia") + .SetValue("cTitluColoana", "Formatia, Id") + .SetValue("cFiltruOriginal", []) + .SetValue("cresultcoloana","denumire") + .SetValue("cidcoloana","id_formatia") + Endwith + + Case lcObjectName = "nom_tip_rulaj" + With loHash + .SetValue("cSelect", "select id_tip_rulaj,descriere from nom_tip_rulaj") + .SetValue("cSchema", "") + .SetValue("cFiltru", "2=2") + .SetValue("cOrder", "descriere") + .SetValue("cColoana", "descriere,id_tip_rulaj") + .SetValue("cTitlu", "Alegeti tipul de rulaj") + .SetValue("cTitluColoana", "Descriere,ID") + .SetValue("cFiltruOriginal", [STERS = 0]) + .SetValue("cresultcoloana","descriere") + .SetValue("cidcoloana","id_tip_rulaj") + Endwith + + Case lcObjectName = "nom_contracte" + With loHash + .SetValue("cSelect", "select id_ctr, id_part, denumire, contract, numar, data from vcontracte") + .SetValue("cSchema", "") + .SetValue("cFiltru", "1=2") + .SetValue("cOrder", "data desc, numar") + .SetValue("cColoana", "contract,denumire,id_ctr") + .SetValue("cTitlu", "Alegeti contractul") + .SetValue("cTitluColoana", "Contract,Partener,Id") + .SetValue("cFiltruOriginal", []) + .SetValue("cresultcoloana","contract") + .SetValue("cidcoloana","id_ctr") + Endwith + + Case lcObjectName = "tipuri_contracte" + With loHash + .SetValue("cSelect", "select id_tip_ctr,denumire from tipuri_contracte") + .SetValue("cSchema", "") + .SetValue("cFiltru", "2=2") + .SetValue("cOrder", "denumire") + .SetValue("cColoana", "denumire,id_tip_ctr") + .SetValue("cTitlu", "Alegeti tipul de contract") + .SetValue("cTitluColoana", "Denumire,ID") + .SetValue("cFiltruOriginal", []) + .SetValue("cresultcoloana","denumire") + .SetValue("cidcoloana","id_tip_ctr") + Endwith + + Case lcObjectName = "nom_transe" + With loHash + .SetValue("cSelect", "select id_transa, transa from sal_vnom_transe") + .SetValue("cSchema", "") + .SetValue("cFiltru", "1=2") + .SetValue("cOrder", "transa") + .SetValue("cColoana", "transa, id_transa") + .SetValue("cTitlu", "Alegeti transa") + .SetValue("cTitluColoana", "Transa, Id") + .SetValue("cFiltruOriginal", []) + .SetValue("cresultcoloana","transa") + .SetValue("cidcoloana","id_transa") + Endwith + + Case lcObjectName = "nom_tichete" + With loHash + .SetValue("cSelect", "select id, denumire,valoare from sal_vnom_tichete") + .SetValue("cSchema", "") + .SetValue("cFiltru", "1=2") + .SetValue("cOrder", "denumire") + .SetValue("cColoana", "denumire, valoare, id") + .SetValue("cTitlu", "Alegeti tipul tichetului") + .SetValue("cTitluColoana", "Tip tichet,Valoare, Id") + .SetValue("cFiltruOriginal", []) + .SetValue("cresultcoloana","denumire") + .SetValue("cidcoloana","id") + Endwith + + Case lcObjectName = "nom_locatii" + With loHash + .SetValue("cSelect", "select id, denumire, sters, inactiv, id_util, dataora, id_utils, dataoras from vnom_locatii") + .SetValue("cSchema", "") + .SetValue("cFiltru", "1=2") + .SetValue("cOrder", "denumire") + .SetValue("cColoana", "denumire,id") + .SetValue("cTitlu", "Alegeti locatia") + .SetValue("cTitluColoana", "Denumire,Id") + .SetValue("cFiltruOriginal", []) + .SetValue("cresultcoloana","denumire") + .SetValue("cidcoloana","id") + Endwith + + Case lcObjectName = "nom_tipfactura" + With loHash + .SetValue("cSelect", "select id, denumire from fact_tipuri") + .SetValue("cSchema", "") + .SetValue("cFiltru", "1=2") + .SetValue("cOrder", "denumire") + .SetValue("cColoana", "denumire,id") + .SetValue("cTitlu", "Alegeti tipul facturii") + .SetValue("cTitluColoana", "Denumire,Id") + .SetValue("cFiltruOriginal", []) + .SetValue("cresultcoloana","denumire") + .SetValue("cidcoloana","id") + Endwith + + Case lcObjectName = "nom_ruta" + With loHash + .SetValue("cSelect", "select id_ruta, ruta from fact_nom_rute") + .SetValue("cSchema", "") + .SetValue("cFiltru", "1=2") + .SetValue("cOrder", "ruta") + .SetValue("cColoana", "denumire,id") + .SetValue("cTitlu", "Alegeti ruta") + .SetValue("cTitluColoana", "Ruta,Id") + .SetValue("cFiltruOriginal", []) + .SetValue("cresultcoloana","ruta") + .SetValue("cidcoloana","id_ruta") + Endwith + ENDCASE + + RETURN loHash + ENDFUNC && GetDefObjectByName + +Enddefine && BizDataObject diff --git a/programe/oproceduri_articole.prg b/programe/oproceduri_articole.prg new file mode 100644 index 0000000..407aef2 --- /dev/null +++ b/programe/oproceduri_articole.prg @@ -0,0 +1,177 @@ +*!* 27.08.2009 +*!* marius.mutu +*!* viz_catalog_articole - taxa reconditionare + +*!* 07.11.2019 +*!* marius.mutu +*!* viz_catalog_articole - codnc8,greutate,tara origine + +********* Inceput: viz_grupe_subgr_articole +PROCEDURE viz_grupe_subgr_articole + +PRIVATE pnId_grupa +STORE 0 TO pnId_grupa +lcSelect1 = ['select id_grupa,grupa from ] + gcS + [.vgest_art_gr where 1=2'] +lcschema1 = [''] +lcorder1= [grupa] +lcnume_coloane1 = [grupa] +lctitlu_coloane1 = [Grupa] + +lcSelect2 = ['select id_subgrupa,subgrupa,id_grupa,grupa,indicativ from ] + gcS + [.vgest_art_sbgr where 1=2'] +lcschema2 = [''] +lcorder2= [subgrupa] +lcnume_coloane2 = [subgrupa;indicativ] +lctitlu_coloane2 = [Subgrupa,Indicativ] +lcFiltru2 = [id_grupa=?pnId_grupa] + +ofrm_gsa = CREATEOBJECT('frm_grupe_subgr_articole') +ofrm_gsa.Lb_titlu_alb_b121.caption = [Categorii de articole] +*** INITIALIZEZ PROPRIETATILE CONTAINER GRID STANGA +WITH ofrm_gsa.ct_grid_search1 + .cSelect = lcSelect1 + .cSchema = lcSchema1 + .cFiltruOriginal = [2=2] + .cFiltru = [2=2] + .cTitlu = 'GRUPE' + .corder = lcorder1 + .cnume_coloane = lcnume_coloane1 + .ctitlu_coloane = lctitlu_coloane1 + .cnumecursor = [crsgrupe_art] +ENDWITH + +WITH ofrm_gsa.ct_grid_search2 + .cSelect = lcSelect2 + .cSchema = lcSchema2 + .cFiltruOriginal = lcFiltru2 + .cFiltru = [2=2] + .cTitlu = 'SUBGRUPE' + .corder = lcorder2 + .cnume_coloane = lcnume_coloane2 + .ctitlu_coloane = lctitlu_coloane2 + .cnumecursor = [crssubgrupe_art] +ENDWITH + +ofrm_gsa.show(1) +RELEASE ofrm_gsa + +ENDPROC +********* Sfarsit: viz_grupe_subgr_articole + + +********* Inceput: viz_catalog_articole +PROCEDURE viz_catalog_articole + PARAMETERS tlMax,tlCuBifa,tcfiltru_init,tlCaut,tcTitlu,tlHide + + Local lcFiltru_init, lcNrColoane_check, lcSchema, lcTitlu, lcWidth_coloane, lcfiltru, lcnume_coloane + Local lcorder, lcselect, lctitlu_coloane, llCaut, llCuBifa, llHide, llMax, lnPornire, lnparam + Local loColoaneCatalogArticole + lnparam = pcount() + llMax = IIF(lnparam >= 1 and TYPE('tlMax')='L',tlMax,.t.) + llCuBifa = IIF(lnparam >=2 and TYPE('tlCuBifa')='L', tlCuBifa,.f.) + lcFiltru_init = IIF(lnparam >=3 and TYPE('tcFiltru_init')='C', tcFiltru_init,[1=1]) + llCaut = IIF(lnparam >=4 and TYPE('tlCaut')='L', tlCaut,.f.) + lcTitlu = IIF(lnparam >= 5 and TYPE('tcTitlu')='C',tcTitlu,[CATALOG DE MATERIALE SI MARFURI]) + llHide = IIF(lnparam >=6 and TYPE('tlHide')='L', tlHide,.f.) + + + PRIVATE pnpretvtva + STORE 0 TO pnpretvtva + + IF (llCuBifa) + lcselect = ['select 0 as bifa,0 as cant,'+] + lcNrColoane_check = [2] + lcSchema = ['bifa n(1),cant n(7,3),'+] + lcnume_coloane = [bifa;] + lctitlu_coloane =[Selectat,] + ELSE + lcselect = ['select ' +] + lcSchema= [] + lcnume_coloane = [] + lctitlu_coloane =[] + lcNrColoane_check = [11,12,15,21] && IN_STOC, IN_CRM, INACTIV, LISTARE_CODBARE + ENDIF + + lcselect = lcselect + ['inactiv, id_articol, codmat, denumire, um, um2, um_iso, cod_um_iso, id_subgrupa, subgrupa,' +] +; + ['id_grupa, grupa, cant_bax, cont, acont, dnf, in_crm, in_stoc, codbare, codmatf, conditii_pastrare,' + ] + ; + ['id_part,partener,indicativ,taxa_reconditionare,' + ] + ; + ['id_articol_general, articol_general, listare_codbare, tip, timpn, codnc8, greutate, id_tara_origine, tara_origine, codcpv from vnom_articole_toate where 1=2'] + + lcschema = lcschema + ['inactiv n(1),id_articol n(20),codmat c(50),denumire c(100),um c(6),um2 c(6),um_iso c(250),cod_um_iso c(6),id_subgrupa n(5),' +] +; + ['subgrupa c(100), id_grupa n(5), grupa c(100),' +] +; + ['cant_bax n(9,4),cont c(4),acont c(4), dnf n(5), in_crm N(1), in_stoc N(1), codbare C(50), codmatf c(50),' + ] + ; + ['conditii_pastrare M,id_part n(10), partener v(70),indicativ v(10),taxa_reconditionare N(18,4),' + ] + ; + ['id_articol_general n(20),articol_general c(100), listare_codbare n(1), tip n(1), timpn n(10,3), codnc8 C(20), greutate N(12,4), id_tara_origine I, tara_origine C(100), codcpv C(20)'] + lcorder = [denumire] + lcnume_coloane = lcnume_coloane + [codmat;denumire;um;um_iso;cod_um_iso;grupa;subgrupa;cant_bax;um2;cont;acont;in_stoc;in_crm;codbare;dnf;inactiv;codmatf;conditii_pastrare;partener;taxa_reconditionare;articol_general;listare_codbare;tip;timpn;codnc8;greutate;tara_origine;codcpv] + lctitlu_coloane = lctitlu_coloane + [Cod material,Denumire,UM,UM ISO,Cod UM ISO,Grupa,Subgrupa,] +; + [Cant/impachetare,UM2,Cont,Analitic,Gestionabil,Catalog,Cod bare,DNF,Inactiv,Cod Material Furnizor,Conditii Pastrare,Furnizor principal,Taxa reconditionare,Articol general, Listare CodBare,Tip,Timp Normat,Cod NC8, Greutate, Tara origine, Cod CPV] + lcfiltru = [1=2] + + *!* 18.04.2012 + lcWidth_coloane = "" + lnPornire = 1 + loColoaneCatalogArticole = CITESTE_SELECTII_OPTIUNI_UTILIZATOR("CATALOG_ARTICOLE", lcnume_coloane) + lcnume_coloane = IIF(!EMPTY(NVL(loColoaneCatalogArticole.nume_col,'')), loColoaneCatalogArticole.nume_col, m.lcnume_coloane) + lctitlu_coloane = IIF(!EMPTY(NVL(loColoaneCatalogArticole.titlu_col,'')), loColoaneCatalogArticole.titlu_col, m.lctitlu_coloane) + lcWidth_coloane = IIF(!EMPTY(NVL(loColoaneCatalogArticole.width_col,'')), loColoaneCatalogArticole.width_col, m.lcWidth_coloane) + lcOrder = IIF(!EMPTY(NVL(loColoaneCatalogArticole.ordine,'')), loColoaneCatalogArticole.ordine, m.lcorder) + lnPornire = IIF(!EMPTY(NVL(loColoaneCatalogArticole.pornire,'')), loColoaneCatalogArticole.pornire, m.lnPornire) + *!* 18.04.2012 ^ + + PRIVATE ofrm_cat + ofrm_cat = CREATEOBJECT('frm_catalog_articole') + ofrm_cat.Lb_titlu_alb_b121.Caption = lcTitlu + ofrm_cat.lCaut = llCaut + ofrm_cat.lCuBifa = llCuBifa + ofrm_cat.lHide = llHide + + IF !llMax + ofrm_cat.windowstate = 0 + ofrm_cat.height = 350 + ofrm_cat.width = 800 + ofrm_cat.resize + ofrm_cat.autocenter = .t. + ENDIF + + + WITH ofrm_cat.ct_grid_search1 + .cSelect = lcSelect + .cSchema = lcSchema + .cFiltruOriginal = lcFiltru_init + .cFiltru = lcFiltru + .cTitlu = '' + .corder = lcorder + .cnume_coloane = lcnume_coloane + .ctitlu_coloane = lctitlu_coloane + .cnumecursor = [crsnom_articole] + .cNrColoane_check = lcNrColoane_check + *!* 18.04.2012 + .cWidth_coloane = Alltrim(lcWidth_coloane) + .nPornire = lnPornire + *!* 18.04.2012 ^ + ENDWITH + ofrm_cat.Show(1) + + RETURN ofrm_cat + +*!* USE IN (lccursor1) +*!* USE IN (lccursor2) +ENDPROC +********* Sfarsit: viz_catalog_articole + +********* Inceput: config_codmat +Procedure config_codmat + + + +ofrm_configcodmat = CreateObject([frm_config_codmat]) +ofrm_configcodmat.show(1) +EndProc +********* Sfarsit: config_codmat + +********* Inceput: config_codbare +Procedure config_codbare +ofrm_configcodbare = CreateObject([frm_config_codbare]) +ofrm_configcodbare.show(1) +EndProc +********* Sfarsit: config_codbare \ No newline at end of file diff --git a/programe/oproceduri_atasamente.prg b/programe/oproceduri_atasamente.prg new file mode 100644 index 0000000..7a5200e --- /dev/null +++ b/programe/oproceduri_atasamente.prg @@ -0,0 +1,633 @@ +Procedure citeste_atasament_vanzari +Lparameters tnIdAtVanz,tcTip,tnNrAct +If !Empty(tnIdAtVanz) + Private poDocument + Store "" To poDocument + If Used('crsat') + Use In crsat + Endif + + Local loTherm + loTherm = Newobject("_thermometer","_therm","","Citire document din baza de date...") + loTherm.AlwaysOnTop = .T. + loTherm.Show() + + lcSelect = [select document from ] + gcS + [.atasamente_vanzari where ] + lcFiltru = [id_at_vanz=]+Alltrim(Str(tnIdAtVanz)) + lcSchema = [document W] + lcOrder = [] + llAfisare = .F. + GENCURSOR('poDocument','crsat',lcSelect,lcFiltru,lcSchema,lcOrder,llAfisare) + loTherm.Update(40, "Citire document din baza de date...") + poDocument.ca_baza1.afisare() + loTherm.Update(55, "Citire document din baza de date...") + + lcFisier = gcTempPath + Alltrim(Str(tnNrAct,14,0)) + [_] + Alltrim(tcTip) + [.pdf] + loTherm.Update(65, "Testare creare fisier...") + If File(lcFisier) + Try + Delete File (lcFisier) + Catch To oException + lcFisier = Strtran(lcFisier,[.pdf],Ttoc(Datetime(),1)+[.pdf]) + Endtry + Endif + Select crsat + loTherm.Update(85, "Creare fisier...") + Strtofile(Document,lcFisier) + loTherm.Update(95, "Deschidere fisier...") + open_default_app(lcFisier) + loTherm.Complete() + Use In crsat + Release poDocument,loTherm +Endif +Endproc && citeste_atasament_vanzari +***----------------------------------------------------------------------------------------------------------------------------- +Procedure arata_meniu_at_vanz +Lparameters tnCod,tcSerie,tnNrFactura,tcCampValoare +&& daca este completat si tcCampValoare, atunci apare in meniu si optiunea "Copiaza" +&& tcCampValoare trebuie sa fie de forma "cursor.coloana" +Local lnCod,lnNrAct,lcSerie +lnCod = tnCod +lnNrAct = tnNrFactura +lcSerie = Alltrim(Nvl(tcSerie,[])) +If Used('crsmeniu') + Use In crsmeniu +Endif +lcSql = [select a.id_at_vanz,a.tip,a.tip_doc from ] + gcS + [.vatasamente_vanzari a where a.cod = ] + Alltrim(Str(lnCod)) + [ order by a.tip] +lnSucces = goExecutor.oExecute(lcSql,[crsmeniu]) +If lnSucces < 0 + amessagebox(goExecutor.cEroare,16,"Eroare") +Else + Do Case + Case !Empty(tcCampValoare) + lcMeniu = [;\ 0 + lcMeniu = lcMeniu + [;\-] + Select crsmeniu + Scan + lcMeniu = lcMeniu + [;] + Alltrim(tip_doc) + Endscan + Endif + x = xmenu(Substr(lcMeniu,2)) + Do Case + Case x = 1 + _Cliptext = Transform(Evaluate(tcCampValoare)) + Case Between(x,3,2+Reccount('crsmeniu')) + Select crsmeniu + Go (x - 2) + citeste_atasament_vanzari(crsmeniu.id_at_vanz,crsmeniu.tip_doc,lnNrAct) + Endcase + Case Reccount('crsmeniu') = 1 + citeste_atasament_vanzari(crsmeniu.id_at_vanz,crsmeniu.tip_doc,lnNrAct) + Case Reccount('crsmeniu')>0 + lcMeniu = [] + Select crsmeniu + Scan + lcMeniu = lcMeniu + [;] + Alltrim(tip_doc) + Endscan + x = xmenu(Substr(lcMeniu,2)) + Select crsmeniu + Go x + citeste_atasament_vanzari(crsmeniu.id_at_vanz,crsmeniu.tip_doc,lnNrAct) + Otherwise + amessagebox("Nu exista documente salvate in baza de date pentru factura "+lcSerie+" "+Alltrim(Str(lnNrAct,14,0)) + " !",48,"Atentie") + Endcase + Use In crsmeniu +Endif +Endproc && arata_meniu_at_vanz +***----------------------------------------------------------------------------------------------------------------------------- +Procedure make_crsAtasamente +Parameters tlToate + +Private poLink +Store '' To poLink + +Local lcSchema, lcSelect, lcOrder, lcFiltru, lcFiltruOriginal, llAfiseaza, lcgroup, lcFiltruOriginal +lcSchema = [id_referinta N(5), id_atas N(5), descriere c(50), nume_fisier c(200), fisier w, dataora t, utilizator c(100) ] + +lcSelect = [select ar.id_referinta, ar.id_atas, ar.descriere, ar.nume_fisier, '' as fisier, dataora, utilizator ]+; + [ from VATAS_REFERINTE ar ] + +lcOrder = [ar.nume_fisier, ar.descriere] +lcgroup = [] +lcFiltru = [] + +*lcFiltruOriginal = [l.sters=0 and l.nume_fisier is not null and l.id_reg =]+Alltrim(Str(goRegistratura.id_reg)) +Do Case +Case Upper(Alltrim(gcNumeProgram)) = "ROAREGISTRATURA" + lcFiltruOriginal = [ ar.nume_fisier is not null and ar.id_program = 70 and ar.id_entitate=]+Alltrim(Str(goRegistratura.id_reg)) +Case Upper(Alltrim(gcNumeProgram)) = "ROACONTRACTE" + lcFiltruOriginal = [ ar.nume_fisier is not null and ar.id_program = 21 and ar.id_entitate=]+Alltrim(Str(goContract.id_ctr)) +Case Upper(Alltrim(gcNumeProgram)) = "ROALUCRARI" + lcFiltruOriginal = [ ar.nume_fisier is not null and ar.id_program = 13 and ar.id_entitate=]+Alltrim(Str(crsProiecte.id_proiect)) +Endcase + +llModParam = .T. +llAfiseaza = .F. + +GENCURSOR('poLink','crsAtasamenteI', lcSelect, lcFiltru, lcSchema, lcOrder, llAfiseaza, lcgroup, llModParam, lcFiltruOriginal) +poLink.ca_baza1.afisare() + +Select * From crsAtasamenteI With (Buffering = .T.); + into Cursor crsAtasamente Readwrite + +If Used('crsAtasamenteI') + Use In crsAtasamenteI +Endif + +Endproc && make_crsAtasamente +***----------------------------------------------------------------------------------------------------------------------------- +PROCEDURE inchide_crsAtasamente + +IF USED('crsAtasamente') + USE IN crsAtasamente +ENDIF + +ENDPROC && inchide_crsAtasamente +***----------------------------------------------------------------------------------------------------------------------------- +Procedure upload +Parameters tcTabel + +Private pnId_entitate, pcLink, pcDescriere, pcFis_name, pcFisier, pnId_atas &&,pntip_entitate modificare 30.05.2011 +Store 0 To pnTip_entitate, pnId_atas &&,pnTip_entitate modificare 30.05.2011 +Store "" To pcDescriere, pcFis_name, pcFisier, pcLink +* pcLink - private - folosit in frm_atas_nou + +Local llReturn,lcSql,lnSucces +llReturn = .T. + +Local lcTabelLinkuri +Store '' To lcTabelLinkuri + +If !Empty(tcTabel) + lcTabelLinkuri = Alltrim(tcTabel) && Thisform.grid_linkuri.RecordSource + Select (lcTabelLinkuri) + Scatter Name poLink Blank Memo +Else + Create Cursor crsAtasTemp (id_atas N(5), descriere c(50), nume_fisier c(200), fisier w) + Select crsAtasTemp + Scatter Name poLink Blank Memo + Use In crsAtasTemp +Endif + +If Upper(Alltrim(gcNumeProgram)) = "ROAREGISTRATURA" + AddProperty(poLink,'id_proiect',goRegistratura.id_proiect) + AddProperty(poLink,'proiect',Alltrim(goRegistratura.proiect)) +Else + AddProperty(poLink,'id_proiect',0) + AddProperty(poLink,'proiect','') +Endif +AddProperty(poLink,'id_ctr',0) +AddProperty(poLink,'contract','') + +lodn = Createobject("frm_atas_nou") +lodn.Show(1) +If gnButon = 2 + Return +Endif + +If Upper(Alltrim(gcNumeProgram)) = "ROAREGISTRATURA" + pnId_entitate = goRegistratura.id_reg +*!* pnTip_entitate = 1 modificare 30.05.2011 +Endif +If Upper(Alltrim(gcNumeProgram)) = "ROACONTRACTE" + pnId_entitate = goContract.id_ctr +*!* pnTip_entitate = 2 modificare 30.05.2011 +Endif +If Upper(Alltrim(gcNumeProgram)) = "ROALUCRARI" + pnId_entitate = Alltrim(Str(crsProiecte.id_proiect)) +*!* pnTip_entitate = 3 modificare 30.05.2011 +Endif +pcDescriere = Upper(Alltrim(poLink.descriere)) +pcFis_name = Upper(Alltrim(poLink.nume_fisier)) +If Empty(pcLink) + Return +Endif +pcFisier = Filetostr(pcLink) + + +lnSucces = SQLSetprop(gnhandle,"Transactions",2) +If lnSucces < 0 + amessagebox("Programul nu a reusit sa treaca pe tranzactie manuala! Reintrati in program si incercati din nou!",48,"Atentie") +Else + lcSql = [insert into atas_atasamente(fisier, nume_fisier, descriere, id_util) ]+; + [values (?pcFisier, ?pcFis_name, ?pcDescriere, ?gnIdUtil) ] + ; + [ returning id_atas into ?@pnId_atas] + lnSucces = goExecutor.oExecute(lcSql) + If lnSucces < 0 + aMessagebox(goExecutor.cEroare,0+16,'Eroare') + Else + If Upper(Alltrim(gcNumeProgram)) = "ROAREGISTRATURA" + lcSql = [update registratura set id_proiect = ?polink.id_proiect where id_reg = ?pnId_entitate] + lnSucces = goExecutor.oExecute(lcSql) + If lnSucces < 0 + aMessagebox(goExecutor.cEroare,0+16,'Eroare') + Else + lcSql = [insert into atas_referinte(id_atas, id_program, id_entitate, id_util) ]+; + [values (?pnId_atas, ?gnIdProgram, ?pnId_entitate, ?gnIdUtil) ] && registratura modificare 30.05.2011 : am inlocuit pnTip_Entitate cu gnIdProgram + lnSucces = goExecutor.oExecute(lcSql) + If lnSucces < 0 + aMessagebox(goExecutor.cEroare,0+16,'Eroare') + Else + If !Empty(Nvl(poLink.id_ctr,0)) And poLink.id_ctr<> -1 + lcSql = [insert into atas_referinte(id_atas, id_program, id_entitate, id_util) ]+; + [values (?pnId_atas, ?gnIdProgram, ?polink.id_ctr, ?gnIdUtil) ] && contracte modificare 30.05.2011 : am inlocuit pnTip_Entitate cu gnIdProgram + lnSucces = goExecutor.oExecute(lcSql) + If lnSucces < 0 + aMessagebox(goExecutor.cEroare,0+16,'Eroare') + Else + If !Empty(Nvl(poLink.id_proiect,0)) And poLink.id_proiect <> -1 + lcSql = [insert into atas_referinte(id_atas, id_program, id_entitate, id_util) ]+; + [values (?pnId_atas, ?gnIdProgram, ?polink.id_proiect, ?gnIdUtil) ] && lucrari modificare 30.05.2011 : am inlocuit pnTip_Entitate cu gnIdProgram + lnSucces = goExecutor.oExecute(lcSql) + If lnSucces < 0 + aMessagebox(goExecutor.cEroare,0+16,'Eroare') + Endif + Endif + Endif + Endif + Endif + Endif + Else && RoaContracte, RoaLucrari + lcSql = [insert into atas_referinte(id_atas, id_program, id_entitate, id_util) ]+; + [values (?pnId_atas, ?gnIdProgram, ?pnId_entitate, ?gnIdUtil) ] && modificare 30.05.2011 : am inlocuit pnTip_Entitate cu gnIdProgram + lnSucces = goExecutor.oExecute(lcSql) + If lnSucces < 0 + aMessagebox(goExecutor.cEroare,0+16,'Eroare') + Endif + Endif + Endif +Endif + +If lnSucces < 0 + lcSql = "ROLLBACK" +Else + lcSql = "COMMIT" +Endif +lnSucces2 = goExecutor.oExecute(lcSql) + +If lnSucces2 < 0 + amessagebox(lcSql + Chr(13) + goExecutor.cEroare,0+16,"Eroare") +Endif + +lnSucces2 = SQLSetprop(gnhandle,"Transactions",1) +If lnSucces2 < 0 + amessagebox('Programul nu a reusit sa treaca pe tranzactie automata. Iesiti din program si intrati din nou!',0+48,'Atentie!') +Else + If lcSql = "COMMIT" + If !Empty(lcTabelLinkuri) + Select (lcTabelLinkuri) + Append Blank + Gather Name poLink Memo + Replace fisier With pcFisier, id_atas With pnId_atas, nume_fisier With pcFis_name, descriere With pcDescriere, dataora With Datetime(), utilizator With gcUserNameApp + Endif + + Do Case + Case Upper(Alltrim(gcNumeProgram)) = "ROAREGISTRATURA" + goRegistratura.proiect = poLink.proiect + goRegistratura.id_proiect = poLink.id_proiect + + Replace are_link With 1 In cRegistratura + Replace id_proiect With poLink.id_proiect In cRegistratura + Replace proiect With poLink.proiect In cRegistratura + Case Upper(Alltrim(gcNumeProgram)) = "ROACONTRACTE" + Replace are_link With 1 In cContracte + Endcase + + Endif +Endif + + +Endproc && upload +***----------------------------------------------------------------------------------------------------------------------------- +Procedure import_atasamente +Parameters tnTipEntitate +&& completare campuri nume_fis si link_bd din link - la versiunea 2.0.7 - se salveaza atasamentele in bd +&& ver. 2.0.12 - preluare din ctr_linkuri (reg_linkuri) in atas_atasamente, atas_referinte +&& tnTipEntitate/gnIdProgram = 70-RoaRegistratura, 21-RoaContracte, 13-RoaLucrari + +Private poLink, pcFisier, pcNume_fis, pcDescriere, pnId_entitate, pnId_atas, pnId_link, pnTipEntitate +Store '' To poLink +Store 0 To pnId_entitate, pnId_atas, pnId_link +*!* modificare 31.05.2011 +*!* If Empty(tnTipEntitate) +*!* Return +*!* Endif +*!* pnTipEntitate= tnTipEntitate +pnTipEntitate = IIF(EMPTY(tnTipEntitate),gnIdProgram,tnTipEntitate) +*!* modificare 31.05.2011 ^ + +Local lcSchema, lcSelect, lcOrder, lcFiltru, lcFiltruOriginal, llAfiseaza, lcgroup, lcFiltruOriginal +lcSchema = [id_link N(5), id_entitate n(5), descriere c(50), link c(200) ] +Do Case +Case Upper(Alltrim(gcNumeProgram)) = "ROACONTRACTE" + lcSelect = [select id_link, id_ctr as id_entitate, DENUMIRE AS descriere, link ]+; + [from ctr_linkuri] +Case Upper(Alltrim(gcNumeProgram)) = "ROAREGISTRATURA" + lcSelect = [select id_link, id_reg as id_entitate, DENUMIRE AS descriere, link ]+; + [from reg_linkuri] +Case Upper(Alltrim(gcNumeProgram)) = "ROALUCRARI" + lcSelect = [select id_link, id_proiect as id_entitate, DENUMIRE AS descriere, link ]+; + [from con_linkuri] +Endcase + +lcOrder = [] +lcgroup = [] +lcFiltru = [STERS=0] +lcFiltruOriginal = [link is not null and id_link not in (select id_link from atas_atasamente where id_tip_ent_prel = ?pnTipEntitate)] +llModParam = .T. +llAfiseaza = .F. + +GENCURSOR('poLink','cCtrLink2', lcSelect, lcFiltru, lcSchema, lcOrder, llAfiseaza, lcgroup, llModParam, lcFiltruOriginal) +poLink.ca_baza1.afisare() + +Private pnId_link, pcNume_fis, pcLink_bd +Local lcMesaj +lcMesaj = '' + +Select cCtrLink2 +Calculate Cnt() To lnFisiere +lnIndex = 0 +Scan + pnId_link = id_link + pnId_entitate = id_entitate + lcLink = Alltrim(Link) + pcNume_fis = Justfname(lcLink) + pcDescriere = Upper(Alltrim(descriere)) + lnIndex = lnIndex + 1 + Wait Window Alltrim(Str(lnIndex)) + '/' + Alltrim(Str(lnFisiere)) + " " + pcNume_fis Nowait + If File(lcLink) + pcFisier = Filetostr(lcLink) +*lcSql = [update ctr_linkuri set nume_fis=?pcNume_fis, link_bd = ?pcLink_bd where id_link=?pnId_link] + lcSql = [insert into atas_atasamente (fisier, nume_fisier, id_util, descriere, id_link, id_tip_ent_prel) ]+; + [values (?pcFisier, ?pcNume_fis, ?gnIdUtil, ?pcDescriere, ?pnId_link, ?pnTipEntitate) ] +; + [returning id_atas into ?@pnId_atas] + lnSucces = goExecutor.oExecute(lcSql) + If lnSucces < 0 + If amessagebox(goExecutor.cEroare + Chr(13) + Chr(10) + 'Doriti sa continuati?',4+48,'Eroare') # 6 + Exit + Endif + Else + lcSql = [insert into atas_referinte (id_atas, id_program, id_entitate, id_util) ]+; + [values (?pnId_atas, ?pnTipEntitate, ?pnId_entitate, ?gnIdUtil)] + lnSucces = goExecutor.oExecute(lcSql) + If lnSucces < 0 + If amessagebox(goExecutor.cEroare + Chr(13) + Chr(10) + 'Doriti sa continuati?',4+48,'Eroare') # 6 + Exit + Endif + Endif + Endif + Else + lcMes = 'Nu exista fisierul '+lcLink+Chr(13) + lcMesaj = lcMesaj + lcMes + + Endif + + Select cCtrLink2 +Endscan + +If !Empty(lcMesaj) + amessagebox(lcMesaj) +Endif + +If Used('cCtrLink2') + Use In cCtrLink2 +Endif + +Endproc && import_atasamente +***----------------------------------------------------------------------------------------------------------------------------- +Procedure modifica_atasament +Parameters tcTabel + +Private pcDescriere, pnId_atas +Store 0 To pnId_atas +Store "" To pcDescriere +* pcLink - private - folosit in frm_atas_nou + +Local llReturn,lcSql,lnSucces +llReturn = .T. + +Local lcTabelLinkuri +If !Empty(tcTabel) + lcTabelLinkuri = Alltrim(tcTabel) && Thisform.grid_linkuri.RecordSource + Select (lcTabelLinkuri) + Scatter Name poLink Memo +Else + Return +Endif + +If Upper(Alltrim(gcNumeProgram)) = "ROAREGISTRATURA" + AddProperty(poLink,'id_proiect',goRegistratura.id_proiect) + AddProperty(poLink,'proiect',Alltrim(goRegistratura.proiect)) +Else + AddProperty(poLink,'id_proiect',0) + AddProperty(poLink,'proiect','') +Endif +AddProperty(poLink,'id_ctr',0) +AddProperty(poLink,'contract','') + +lodn = Createobject("frm_atas_nou") +lodn.Command3.Enabled=.F. +lodn.Show(1) +If gnButon = 2 + Return +Endif + +pnId_atas = poLink.id_atas +pcDescriere = Upper(Alltrim(poLink.descriere)) + +lcSql = [update atas_atasamente set descriere = ?pcDescriere ]+; + [where id_atas = ?pnId_atas] + +lnSucces = goExecutor.oExecute(lcSql) +If lnSucces < 0 + aMessagebox(goExecutor.cEroare,0+16,'Eroare') +Endif + +If !Empty(lcTabelLinkuri) + Select (lcTabelLinkuri) + Gather Name poLink Memo + Replace descriere With pcDescriere +Endif + +Endproc && modifica_atasament +***----------------------------------------------------------------------------------------------------------------------------- +Procedure salveaza_atasamente + Parameters tcTabel + + Local lcTabel + lcTabel = tcTabel + + lcSql = [select ar.id_referinta ]+; + [ from VATAS_REFERINTE ar ]+; + [ where ar.nume_fisier is not null and ar.id_program = ?gnIdProgram and ar.id_entitate=]+Alltrim(Str(goContract.id_ctr)) + lcCursor = 'crsAtasamente_server' + lnSucces = goExecutor.oExecute(lcSql, lcCursor) + If lnSucces < 0 + AMESSAGEBOX(goExecutor.cEroare,0+16,"Eroare") + Return lnSucces + Endif + + * daca exista id_referinta in plus in cursorul de pe local, adaug pe server + Private pnId_entitate, pcLink, pcDescriere, pcFis_name, pcFisier, pnId_atas + Store 0 To pnId_entitate, pnId_atas + Store "" To pcDescriere, pcFis_name, pcFisier, pcLink + + pnId_entitate = goContract.id_ctr + + Select * From (lcTabel) ; + Where (Empty(id_referinta) Or Isnull(id_referinta)) ; + INTO Cursor cAtasamente_nou + + Select cAtasamente_nou + Scan + pcDescriere = Upper(Alltrim(descriere)) + pcFis_name = Upper(Alltrim(nume_fisier)) + *!* If Empty(pcLink) + *!* Return + *!* Endif + * pcFisier = Filetostr(pcLink) + pcFisier = fisier + + lcSql = [insert into atas_atasamente(fisier, nume_fisier, descriere, id_util) ]+; + [values (?pcFisier, ?pcFis_name, ?pcDescriere, ?gnIdUtil) ] + ; + [ returning id_atas into ?@pnId_atas] + lnSucces = goExecutor.oExecute(lcSql) + If lnSucces < 0 + aMessagebox(goExecutor.cEroare,0+16,'Eroare') + Endif + + lcSql = [insert into atas_referinte(id_atas, id_program, id_entitate, id_util) ]+; + [values (?pnId_atas, ?gnIdProgram, ?pnId_entitate, ?gnIdUtil) ] + lnSucces = goExecutor.oExecute(lcSql) + If lnSucces < 0 + aMessagebox(goExecutor.cEroare,0+16,'Eroare') + Return lnSucces + Endif + Select cAtasamente_nou + Endscan + + If Used('cAtasamente_nou') + Use In cAtasamente_nou + Endif + + * daca exista id_referinta pe server, care nu mai sunt pe local, sterg + *!* Select id_referinta From crsAtasamente_server ; + *!* Where id_referinta Not In (Select id_referinta From cId_ref) ; + *!* INTO Cursor cAtasamente_sters + + lcDeleted = Set("Deleted") + + Set Deleted Off + Select * From (lcTabel) Where Deleted() And !Empty(id_referinta); + INTO Cursor cAtasamente_sters + + Select cAtasamente_sters + Scan + *pcId_atas = Alltrim(Str(id_atas)) + lcId_referinta = Alltrim(Str(id_referinta)) + lcSql = [update atas_referinte set sters = 1, dataoras = SYSDATE, id_utils = ] + Alltrim(Str(gnIdUtil)) + ; + [ WHERE id_referinta = ] + lcId_referinta + lnSucces = goExecutor.oExecute(lcSql) + + If lnSucces < 0 + AMESSAGEBOX(goExecutor.cEroare,0+16,"Eroare") + Return lnSucces + Endif + Select cAtasamente_sters + Endscan + + If Used('cAtasamente_sters') + Use In cAtasamente_sters + Endif + + Set Deleted &lcDeleted + + If Used('cAtasamente_sters') + Use In cAtasamente_sters + Endif + + If Used('crsAtasamente_server') + Use In crsAtasamente_server + Endif + + Return lnSucces +Endproc && salveaza_atasamente +***----------------------------------------------------------------------------------------------------------------------------- +Procedure arata_linkuri + +Private poLink +Store '' To poLink + +Local lcMenu, lnx, lcDocument,lnNrLinkuri, lnIdAtas +Local lcSchema, lcSelect, lcOrder, lcFiltru, lcFiltruOriginal, llAfiseaza, lcgroup, lcFiltruOriginal +Store '' To lcMenu +Store 0 To lnNrLinkuri, lnIdAtas + + +Do make_crsAtasamente In oproceduri_atasamente.prg + +lcMenu = lcMenu + "Ataseaza ...;\-;" +Select crsAtasamente +Scan + lcMenu = lcMenu + Alltrim(Nvl(descriere,''))+ ' - ' + Alltrim(Nvl(nume_fisier,'')) +';' + lnNrLinkuri = lnNrLinkuri + 1 + Select crsAtasamente +Endscan + +If Upper(Alltrim(gcNumeProgram)) = "ROALUCRARI" And lnNrLinkuri > 0 + lcMenu = lcMenu + '\-;'+ "Vizualizare atasamente ...;" +Endif + + +If !Empty(lcMenu) + lcMenu = Substr(lcMenu,1,Len(lcMenu)-1) + lnx = xmenu(lcMenu) + + Do Case + Case lnx = 1 && Ataseaza + Do upload In oproceduri_atasamente.prg + Case lnx = lnNrLinkuri + 4 + Select crsAtasamente + Go Top + + ofrmVizAtas = Createobject('frm_viz_atasamente') + ofrmVizAtas.Show(1) + Release ofrmVizAtas + Otherwise + + Select crsAtasamente + Locate For Recno() = lnx - 2 + If Found() + lnIdAtas = id_atas + lcNume_fisier = Alltrim(nume_fisier) + lcSchema = [fisier w ] + lcSelect = [select fisier from atas_atasamente where id_atas = ] + Alltrim(Str(lnIdAtas)) + lcOrder = [] + lcgroup = [] + lcFiltru = [] + lcFiltruOriginal = [] + llModParam = .T. + llAfiseaza = .F. + + GENCURSOR('poLink','cRegFisierTemp', lcSelect, lcFiltru, lcSchema, lcOrder, llAfiseaza, lcgroup, llModParam, lcFiltruOriginal) + poLink.ca_baza1.afisare() + If Used('cRegFisierTemp') + lcFisier = fisier + Use In (Select('cRegFisierTemp')) + lcFisSalvat = Addbs(gcTempPath)+lcNume_fisier + + Strtofile(lcFisier, lcFisSalvat) + open_default_app(lcFisSalvat) + + Endif + Endif + Endcase + + If Used('crsAtasamente') + Use In crsAtasamente + Endif +Endif + +Endproc && arata_linkuri +***----------------------------------------------------------------------------------------------------------------------------- diff --git a/programe/oproceduri_casa_marcat_e500.prg b/programe/oproceduri_casa_marcat_e500.prg new file mode 100644 index 0000000..9f1e792 --- /dev/null +++ b/programe/oproceduri_casa_marcat_e500.prg @@ -0,0 +1,103 @@ +********************************************************************************************************* +Procedure imprimare_bon_fiscal +Lparameters tcSir,tdDataOra,tnNrBon +Private pcCale,pcExec,pcFisierText +Store [] To pcCaleExec,pcExec,pcFisierText +Local lcSir +lcSir=tcSir +gaseste_fisier_ini() +If !Empty(pcCaleExec) + Set Safety Off + Strtofile(lcSir,pcCaleExec+pcFisierText,0) + Cd (pcCaleExec) + lcDirectorZi=Iif(Type('tdDataOra')='D',Dtos(tdDataOra),Dtos(Ttod(tdDataOra))) + ltDataOra=Iif(Type('tdDataOra')='T',tdDataOra,Datetime()) + lcNumeFisierBon=Alltrim(Str(tnNrBon))+[_]+Alltrim(Str(Hour(ltDataOra)))+[_]+; + ALLTRIM(Str(Minute(ltDataOra)))+[_]+Alltrim(Str(Sec(ltDataOra))) + lnRaspuns=6 + lnNrIncercare=0 + Do While lnRaspuns=6 + lcComanda=[RUN ]+pcCaleExec+pcExec + &lcComanda + If File(pcCaleExec+[ERR]) + lcString=Filetostr(pcCaleExec+[ERR]) + lcStringOk=Replicate([0]+Chr(13)+Chr(10),Occurs(Chr(13)+Chr(10),lcString)) + If lcString=lcStringOk + lcDirector=[Bonuri ok] + lnRaspuns=7 + Else + lcDirector=[Bonuri err] + lnRaspuns=aMessagebox("Eroare la listarea bonului! Doriti sa reincercati?",; + 4+16+256,"Eroare") + lnNrIncercare=lnNrIncercare+1 + Endif + If !Directory(pcCaleExec+lcDirector) + Md (lcDirector) + Endif + If !Directory(pcCaleExec+lcDirector+[\]+lcDirectorZi) + Md (pcCaleExec+lcDirector+[\]+lcDirectorZi) + Endif + lcNumeFisierBon=lcNumeFisierBon+; + IIF(lnNrIncercare>0,[_I]+Alltrim(Str(lnNrIncercare)),[]) + Copy File (pcCaleExec+pcFisierText) To ; + (pcCaleExec+lcDirector+[\]+lcDirectorZi+[\]+lcNumeFisierBon+[.txt]) + Copy File (pcCaleExec+[ERR]) To ; + (pcCaleExec+lcDirector+[\]+lcDirectorZi+[\]+lcNumeFisierBon+[.err]) + Delete File (pcCaleExec+[ERR]) + Else + lcDirectorErr=[Bonuri err] + If !Directory(pcCaleExec+lcDirectorErr) + Md (lcDirectorErr) + Endif + If !Directory(pcCaleExec+lcDirectorErr+[\]+lcDirectorZi) + Md (pcCaleExec+lcDirectorErr+[\]+lcDirectorZi) + Endif + Copy File (pcCaleExec+pcFisierText) To ; + (pcCaleExec+lcDirectorErr+[\]+lcDirectorZi+[\]+lcNumeFisierBon+[.txt]) + Endif + Enddo + Cd (gcAppPath) +Endif +Endproc && imprimare_bon_fiscal +********************************************************************************************************* +Procedure gaseste_fisier_ini +Local lnFileHandle,lcFisierConfigurare,lnRaspuns +lnRaspuns=6 +lcFisierConfigurare=gcAppPath+[\INITIALIZARI\]+Alltrim(gcNumeProgram)+[_bon.xml] +Do While lnRaspuns=6 + If File(lcFisierConfigurare) + lnFileHandle=Fopen(lcFisierConfigurare,12) + lnSize = Fseek(lnFileHandle,0,2) + If lnSize>0 + Fseek(lnFileHandle, 0, 0) + lcFisier = Fread(lnFileHandle,lnSize) + lcString = Strextract(Upper(lcFisier),; + [<]+Upper(Alltrim(gcS))+[>],[]) + If !Empty(lcString) + lcElement=[LAUNCH_PATH] + pcCaleExec=Strextract(lcString,[<]+lcElement+[>],[]) + lcElement=[LAUNCH_FILE] + pcExec=Strextract(lcString,[<]+lcElement+[>],[]) + lcElement=[LAUNCH_DATA] + pcFisierText=Strextract(lcString,[<]+lcElement+[>],[]) + Else + aMessagebox("Nu exista configurarile pentru listarea bonurilor fiscale pe aceasta firma!",0+48,"Atentie") + pcCaleExec=[] + Endif + Else + aMessagebox("Fisierul de configurari pentru bonurilor fiscale este gol!",0+48,"Atentie") + pcCaleExec=[] + Endif + Fclose(lnFileHandle) + Else + aMessagebox("Nu exista fisierul de configurare pentru listarea bonurilor fiscale!",0+48,"Atentie") + pcCaleExec=[] + Endif + If Empty(pcCaleExec) + lnRaspuns=aMessagebox("Doriti sa mai incercati listarea bonului?",4+32+256,"Confirmare") + Else + lnRaspuns=7 + Endif +Enddo +Endproc && gaseste_fisier_ini +********************************************************************************************************* \ No newline at end of file diff --git a/programe/oproceduri_casa_marcat_mp500.prg b/programe/oproceduri_casa_marcat_mp500.prg new file mode 100644 index 0000000..5a830d2 --- /dev/null +++ b/programe/oproceduri_casa_marcat_mp500.prg @@ -0,0 +1,116 @@ +********************************************************************************************************* +Procedure imprimare_bon_mp500 +Lparameters tcSir,tdDataOra,tnNrBon +Private pcCale,pcExec,pcFisierText +Store [] To pcCaleExec,pcExec,pcFisierText +Local lcSir,lcFisierRez,laCount,i,llOk +lcSir=tcSir +lcFisierRez = [] +laCount = 0 +i=0 +lcOk = .t. + +gaseste_fisier_ini_mp500() +If !Empty(pcCaleExec) + Set Safety Off + Strtofile(lcSir,pcCaleExec+pcFisierText,0) + + Cd (pcCaleExec) + lcDirectorZi=Iif(Type('tdDataOra')='D',Dtos(tdDataOra),Dtos(Ttod(tdDataOra))) + ltDataOra=Iif(Type('tdDataOra')='T',tdDataOra,Datetime()) + lcNumeFisierBon=Alltrim(Str(tnNrBon))+[_]+Alltrim(Str(Hour(ltDataOra)))+[_]+; + ALLTRIM(Str(Minute(ltDataOra)))+[_]+Alltrim(Str(Sec(ltDataOra))) + lnRaspuns=6 + lnNrIncercare=0 + Do While lnRaspuns=6 + + lcComanda=[RUN ]+pcCaleExec+pcExec + [ ] + pcCaleExec + pcFisierText + &lcComanda + + + lcFisierRez = pcCaleExec+[answer.txt] + laCount = ALINES(laFisierRez,FILETOSTR(lcFisierRez)) + + IF laCount#0 + FOR i=1 TO laCount + llOk = IIF(OCCURS('Er',STREXTRACT(laFisierRez[i],';',';',1))>0,.f.,.t.) + IF llOk = .f. + EXIT + ENDIF + ENDFOR + ELSE + llOk = .f. + ENDIF + + RELEASE laFisierRez + + IF llOk = .f. + + lcDirector=[Bonuri err] + lnRaspuns=aMessagebox("Eroare la listarea bonului! Doriti sa reincercati?",; + 4+16+256,"Eroare") + lnNrIncercare=lnNrIncercare+1 + ELSE + lcDirector=[Bonuri ok] + lnRaspuns=7 + + ENDIF + If !Directory(pcCaleExec+lcDirector) + Md (lcDirector) + Endif + If !Directory(pcCaleExec+lcDirector+[\]+lcDirectorZi) + Md (pcCaleExec+lcDirector+[\]+lcDirectorZi) + Endif + + lcNumeFisierBon=lcNumeFisierBon+; + IIF(lnNrIncercare>0,[_I]+Alltrim(Str(lnNrIncercare)),[]) + + Copy File (lcFisierRez) To ; + (pcCaleExec+[\]+lcDirector+[\]+lcDirectorZi+[\]+lcNumeFisierBon+[.txt]) + + Enddo + Cd (gcAppPath) +Endif +Endproc && imprimare_bon_fiscal +********************************************************************************************************* +Procedure gaseste_fisier_ini_mp500 +Local lnFileHandle,lcFisierConfigurare,lnRaspuns +lnRaspuns=6 +lcFisierConfigurare=gcAppPath+[\INITIALIZARI\]+Alltrim(gcNumeProgram)+[_mp500.xml] +Do While lnRaspuns=6 + If File(lcFisierConfigurare) + lnFileHandle=Fopen(lcFisierConfigurare,12) + lnSize = Fseek(lnFileHandle,0,2) + If lnSize>0 + Fseek(lnFileHandle, 0, 0) + lcFisier = Fread(lnFileHandle,lnSize) + lcString = Strextract(Upper(lcFisier),; + [<]+Upper(Alltrim(gcS))+[>],[]) + If !Empty(lcString) + lcElement=[LAUNCH_PATH] + pcCaleExec=Strextract(lcString,[<]+lcElement+[>],[]) + lcElement=[LAUNCH_FILE] + pcExec=Strextract(lcString,[<]+lcElement+[>],[]) + lcElement=[LAUNCH_DATA] + pcFisierText=Strextract(lcString,[<]+lcElement+[>],[]) + Else + aMessagebox("Nu exista configurarile pentru listarea bonurilor fiscale pe aceasta firma!",0+48,"Atentie") + pcCaleExec=[] + Endif + Else + aMessagebox("Fisierul de configurari pentru bonurilor fiscale este gol!",0+48,"Atentie") + pcCaleExec=[] + Endif + Fclose(lnFileHandle) + Else + aMessagebox("Nu exista fisierul de configurare pentru listarea bonurilor fiscale!",0+48,"Atentie") + pcCaleExec=[] + Endif + If Empty(pcCaleExec) + lnRaspuns=aMessagebox("Doriti sa mai incercati listarea bonului?",4+32+256,"Confirmare") + Else + lnRaspuns=7 + Endif +Enddo +Endproc && gaseste_fisier_ini +********************************************************************************************************* \ No newline at end of file diff --git a/programe/oproceduri_casademarcat.prg b/programe/oproceduri_casademarcat.prg new file mode 100644 index 0000000..326368e --- /dev/null +++ b/programe/oproceduri_casademarcat.prg @@ -0,0 +1,186 @@ +Procedure casademarcat +Local lnLungime,lnButon +lnLungime=14 +lnRaspuns=6 +Dimension taValori[lnLungime,3] +*!* modificare migrare v 1.0 > v 2.0 +*!* Do While lnRaspuns = 6 +*!* glListareBonFiscal=.T. +*!* modificare migrare v 1.0 > v 2.0 ^ + +taValori[1,1]="poAct.id_fdoc" +taValori[1,2]=Alltrim(Str(gnid_fdoc_bonfiscal)) +taValori[1,3]= !Empty(gnid_fdoc_bonfiscal) + +taValori[2,1]="poAct.fdoc" +*!* modificare migrare v 1.0 > v 2.0 +*!* taValori[2,2]=IIF(!EMPTY(gnid_fdoc_bonfiscal),[BON FISCAL],[]) +taValori[2,2]=Iif(!Empty(gnid_fdoc_bonfiscal),citeste_setari_casademarcat(1,gnid_fdoc_bonfiscal),[]) +*!* modificare migrare v 1.0 > v 2.0 +taValori[2,3]= !Empty(gnid_fdoc_bonfiscal) + +taValori[3,1]="poAct.id_gestout" +taValori[3,2]=Alltrim(Str(gnid_gestiune_bufet)) +taValori[3,3]= !Empty(gnid_gestiune_bufet) + +taValori[4,1]="poAct.gestout" +*!* modificare migrare v 1.0 > v 2.0 +*!* taValori[4,2]=IIF(!EMPTY(gnid_gestiune_bufet),[BUFET],[]) +taValori[4,2]=Iif(!Empty(gnid_gestiune_bufet),citeste_setari_casademarcat(2,gnid_gestiune_bufet),[]) +*!* modificare migrare v 1.0 > v 2.0 +taValori[4,3]=!Empty(gnid_gestiune_bufet) + +*!* lnNumarBon = aloca_numar_bf() && in oserii_numere.prg +*!* IF lnNumarBon = -1 +*!* Return +*!* Endif + +*!* taValori[5,1]="poAct.nract" +*!* taValori[5,2]=Alltrim(Str(lnNumarBon)) +*!* taValori[5,3]=.T. + +taValori[5,1]="poAct.id_vv4111" +taValori[5,2]=Alltrim(Str(gnid_part_diversi)) +taValori[5,3]=!Empty(gnid_part_diversi) + +taValori[6,1]="poAct.v4111" +*!* modificare migrare v 1.0 > v 2.0 +*!* taValori[6,2]= IIF(!EMPTY(gnid_part_diversi),[DIVERSI],[]) +taValori[6,2]= Iif(!Empty(gnid_part_diversi),citeste_setari_casademarcat(3,gnid_part_diversi),[]) +*!* modificare migrare v 1.0 > v 2.0 ^ +taValori[6,3]=!Empty(gnid_part_diversi) + +taValori[7,1]="poAct.id_lucrare" +taValori[7,2]=[0] +taValori[7,3]=.T. + +taValori[8,1]="poAct.nrord" +taValori[8,2]=[] +taValori[8,3]=.T. + +taValori[9,1]="poAct.id_responsabil" +taValori[9,2]=[0] +taValori[9,3]=.T. + +taValori[10,1]="poAct.nresp" +taValori[10,2]=[] +taValori[10,3]=.T. + +taValori[11,1]="poAct.id_sectie" +taValori[11,2]=Alltrim(Str(gnid_sectie_bufet)) +taValori[11,3]=!Empty(gnid_sectie_bufet) + +taValori[12,1]="poAct.sectie" +*!* modificare migrare v 1.0 > v 2.0 +*!* taValori[12,2]=IIF(!EMPTY(gnid_sectie_bufet),[BUFET],[]) +taValori[12,2]=Iif(!Empty(gnid_sectie_bufet),citeste_setari_casademarcat(4,gnid_sectie_bufet),[]) +*!* modificare migrare v 1.0 > v 2.0 ^ +taValori[12,3]=!Empty(gnid_sectie_bufet) + +taValori[13,1]="poAct.id_vv53110" +taValori[13,2]=Alltrim(Str(gnid_part_bufet)) +taValori[13,3]=!Empty(gnid_part_bufet) + +taValori[14,1]="poAct.v53110" +*!* modificare migrare v 1.0 > v 2.0 +*!* taValori[14,2]=IIF(!EMPTY(gnid_part_bufet),[BUFET],[]) +taValori[14,2]=Iif(!Empty(gnid_part_bufet),citeste_setari_casademarcat(5,gnid_part_bufet),[]) +*!* modificare migrare v 1.0 > v 2.0 ^ +taValori[14,3]=!Empty(gnid_part_bufet) + +*!* modificare migrare v 1.0 > v 2.0 +Do While lnRaspuns = 6 + glListareBonFiscal=.T. +*!* modificare migrare v 1.0 > v 2.0 ^ + lnSucces=lans(228,.F.,.T.,@taValori) + glListareBonFiscal=.F. + lnRaspuns = amessagebox("Doriti sa continuati cu operatii de acest fel?",4+32,"Confirmare") +Enddo +Endproc + +******************************************* +Procedure creare_bon_fiscal +Local lcSirBonFiscal,lnTip,lnIdCasa,lnTotalSuma,ldDataBonFiscal,lnNumarBonFiscal,lnTotalSuma +lnNumarBonFiscal=0 +lnTotalSuma=0 +lcSirBonFiscal=[] + +&& lcSirBonFiscal (explicatii) : +&& 5 (incasare);suma achitata;0(numerar);0(moneda);0(numar card credit) +ldDataBonFiscal=get_ora() +Select actactan +Set Filter To scd='5311' +Scan + lnNumarBonFiscal=nract + lnIdCasa=id_partd + Do Case + Case Type('gnId_casa_achit')<>'U' And lnIdCasa=gnId_casa_achit && optiune din Devize + lnTip=1 +*!* Case TYPE('gnId_Part_Bufet')<>'U' AND lnIdCasa=gnId_Part_Bufet && optiune din Gestiuni +*!* lnTip=2 + Otherwise + lnTip=3 + Endcase + lcSirBonFiscal=lcSirBonFiscal+[1;Fact.]+Alltrim(Str(perechec))+[;1;]+Alltrim(Str(lnTip))+[;1;]+Alltrim(Str(suma*100))+[;1000;0]+CRLF + lnTotalSuma=lnTotalSuma+suma +Endscan +Set Filter To +If !Empty(lcSirBonFiscal) + lcSirBonFiscal=lcSirBonFiscal+[5;]+Alltrim(Str(lnTotalSuma*100))+[;0;0;0]+CRLF+CRLF + imprimare_bon_fiscal(lcSirBonFiscal,ldDataBonFiscal,lnNumarBonFiscal) +Else + amessagebox("Bonul nu contine nici un element!",0+48,"Atentie") +Endif +Endproc +****************************************************************************************** +Function citeste_setari_casademarcat +Lparameters tnTip,tnId +Local lcValoare,lcCursor,llCautare +llCautare = .T. +lcCursor = [crssetaricasa] +Do Case +Case tnTip = 1 And !Empty(Nvl(tnId,0)) + lcValoare = [BON FISCAL] + lcSql = [select fel_document as valoare from nom_fdoc ] + ; + [where sters = 0 and inactiv = 0 and id_fdoc = ] + Alltrim(Str(tnId)) && gnid_fdoc_bonfiscal +Case tnTip = 2 And !Empty(Nvl(tnId,0)) + lcValoare = [BUFET] + lcSql = [select nume_gestiune as valoare from nom_gestiuni ] + ; + [where sters = 0 and inactiv = 0 and id_gestiune = ] + Alltrim(Str(tnId)) && gnid_gestiune_bufet +Case tnTip = 3 And !Empty(Nvl(tnId,0)) + lcValoare = [DIVERSI] + lcSql = [select denumire as valoare from nom_parteneri ] + ; + [where sters = 0 and inactiv = 0 and id_part = ] + Alltrim(Str(tnId)) && gnid_part_diversi +Case tnTip = 4 And !Empty(Nvl(tnId,0)) + lcValoare = [BUFET] + lcSql = [select sectie as valoare from nom_sectii ] + ; + [where sters = 0 and inactiv = 0 and id_sectie = ] + Alltrim(Str(tnId)) && gnid_sectie_bufet +Case tnTip = 5 And !Empty(Nvl(tnId,0)) + lcValoare = [BUFET] + lcSql = [select denumire as valoare from nom_parteneri ] + ; + [where sters = 0 and inactiv = 0 and id_part = ] + Alltrim(Str(tnId)) && gnid_part_bufet +Otherwise + lcValoare = [] + llCautare = .F. +Endcase + +If llCautare + If Used(lcCursor) + Use In (lcCursor) + Endif + lnSucces = goExecutor.oExecute(lcSql,lcCursor) + If lnSucces < 0 + amessagebox(goExecutor.oPrelucrareEroare(),16,"Eroare") + Else + If Reccount(lcCursor) > 0 + Select (lcCursor) + lcValoare = Alltrim(valoare) + Endif + Endif + If Used(lcCursor) + Use In (lcCursor) + Endif +Endif +Return lcValoare +Endfunc && citeste_setari_casademarcat +****************************************************************************************** \ No newline at end of file diff --git a/programe/oproceduri_comune.prg b/programe/oproceduri_comune.prg new file mode 100644 index 0000000..6a1fb8d --- /dev/null +++ b/programe/oproceduri_comune.prg @@ -0,0 +1,8335 @@ +*!* 07.09.2009 +*!* marius.mutu +*!* ROA.H + +*!* 04.08.2011 +*!* marius.mutu +*!* adaugare functia GetDataIreg + +*!* 01.04.2013 +*!* marius.mutu +*!* GET_SCHEMA_GRID - trateaza cazul 0.00 + +*!* 05.10.2016 +*!* marius.mutu +*!* Get_Ora - se intoarce dataora de pe server sau de pe calculatorul local in functie de settings.ini [general]tipdataora=server/local/nimic + +*!* 10.01.2018 +*!* marius.mutu +*!* VerificaCodFiscal: completare verificare ANAF cu stare TVA Incasare, Split TVA, Inactiv + +*!* 11.07.2018 +*!* marius.mutu +*!* + GetSemnatura - INTOCMIT/VERIFICAT/DIRECTOR/DIRECTOR ECONOMIC - listare balanta, registre tva, fisa cont, reg. jurnal + +*!* 03.10.2019 +*!* marius.mutu +*!* + Atasament2File + +*!* 10.01.2019 +*!* marius.mutu +*!* + VerificaFacturaClientiVanzari + +*!* 23.01.2020 +*!* marius.mutu +*!* File2Atasament - Citeste fisierul de pe disk si adauga atasament in baza de date atas_atasamente + +*!* 13.11.2020 +*!* +xdir((): Get Files in Directory (including subdirectories) +*!* +UpdatePageTotalGroup(): Functie pentru calculul _PAGETOTAL pentru grupuri care reseteaza pagina la 1 intr-un raport + +*!* 09.12.2020 +*!* Atasament2File +*!* Suprascriu fisierul din baza de date cu fisierul de pe disk doar daca dataora din baza de date > data fisierului de pe disk + +*!* 03.02.2021 +*!* xdir - declarat variabile locale +*!* la apelarea recursiva ramanea ultimul director parcurs, in loc sa se revina la directorul din iteratia corespunzatoare + +*!* 15.01.2024 +*!* GetSemnatura - + parametru prefix + +*!* 03.09.2024 +*!* ProcentTva2IdJtva - tratare procent TVA 0 si taxare inversa (eFactura) + +*!* 05.12.2024 +*!* GetArticolEFByPartDenumire - caut si articolele fara id_articol, in caz ca sunt servicii, nu articole gestionabile ROA + +*!* 15.01.2025 +*!* GetDocumentByContPartenerAct - se cauta comanda si in IREG_PARTENERI.EXPLICATIA + +*!* 17.07.2025 +*!* ProcentTva2IdJtva - cote TVA 21% si 11% + +*!* 22.07.2025 +*!* GetNamePermutations - limitare la 4 cuvinte si maxim 10 permutari + +#Include COMUN\ROA.H + +Define Class oexecutor As Custom + nHandle = 0 + cSql = '' + cCursor = '' + nSucces = 0 + cEroare = '' + nEroare = 0 + cTime = '' + lReconnect = .T. && cred ca trebuie setat pe .F. inainte de o serie de proceduri executate cu tranzactie manuala + lShowError = .F. + lQuitOnError = .F. + + Declare aEroare[1] + + + * PROCEDURE INIT( tnHandle, tcSql, tcCursor ) + * Date : 06/10/2004, 12:18:21 + * author : marius.mutu + * description: + + ****** PARAMETER BLOCK ************** + * Parameters : 3 + * Parameter 1: + * Parameter 2: + * Parameter 3: + * + ******************************************* INCEPUT:INIT ******************************************* + Procedure Init + Lparameters tnHandle, tcSql, tcCursor + + + If Empty(tnHandle) + This.nHandle = gnHandle + Else + This.nHandle = tnHandle + Endif + + Endproc + ******************************************* SFARSIT: INIT ******************************************* + + *--------------------------------------- + * Intoarce .T. daca goConn.nHandle > 0 + *--------------------------------------- + FUNCTION IsConnected + RETURN goConn.IsConnected() + ENDFUNC && IsConnected + + ******************************************* INCEPUT:oExecuta ******************************************* + Function oExecuta ( tcSql, tcCursor, tlProgress, tcTitluProgress, tnHandle, tlShowError, tlQuitOnError, tlReconnect ) + Local lnSucces, llOk + llOk = .T. + + *!* modificare 06.09.2012 + *!* lnSucces = This.oExecute(tcSql, tcCursor, tlProgress, tcTitluProgress, tnHandle, tlShowError, tlQuitOnError, tlReconnect) + Do Case + Case Pcount() < 6 + lnSucces = This.oExecute(Iif(Empty(tcSql), This.cSql, tcSql), ; + Iif(Empty(tcCursor), This.cCursor, tcCursor), ; + tlProgress, tcTitluProgress, ; + Iif(Empty(tnHandle), This.nHandle, tnHandle)) + Case Pcount() < 7 + lnSucces = This.oExecute(Iif(Empty(tcSql), This.cSql, tcSql), ; + Iif(Empty(tcCursor), This.cCursor, tcCursor), ; + tlProgress, tcTitluProgress, ; + Iif(Empty(tnHandle), This.nHandle, tnHandle), ; + tlShowError) + Case Pcount() < 8 + lnSucces = This.oExecute(Iif(Empty(tcSql), This.cSql, tcSql), ; + Iif(Empty(tcCursor), This.cCursor, tcCursor), ; + tlProgress, tcTitluProgress, ; + Iif(Empty(tnHandle), This.nHandle, tnHandle), ; + tlShowError, tlQuitOnError) + Otherwise + lnSucces = This.oExecute(Iif(Empty(tcSql), This.cSql, tcSql), ; + Iif(Empty(tcCursor), This.cCursor, tcCursor), ; + tlProgress, tcTitluProgress, ; + Iif(Empty(tnHandle), This.nHandle, tnHandle), ; + tlShowError, tlQuitOnError, tlReconnect) + Endcase + *!* modificare 06.09.2012 ^ + If lnSucces < 0 + amessagebox(This.oPrelucrareEroare(), 16, "Eroare") + llOk = .F. + Endif + Return llOk + Endfunc + ******************************************* SFARSIT:oExecuta ******************************************* + + * PROCEDURE oExecute( tcSql, tcCursor,tlProgress, tnHandle ) + * Date : 06/10/2004, 12:16:11 + * author : marius.mutu + * description: + + ****** PARAMETER BLOCK ************** + * Parameters : 3 + * Parameter 1: + * Parameter 2: + * Parameter 3: + * + ******************************************* INCEPUT:oExecute ******************************************* + Procedure oExecute( tcSql, tcCursor, tlProgress, tcTitluProgress, tnHandle, tlShowError, tlQuitOnError, tlReconnect ) + Local lnHandle, lcSql, lcCursor, llProgress, lnSucces, laEroare, lcEroare, llShowError, llQuitOnError, llReconnect + + && orice modificare aici trebuie facuta si in oExecuta + && tlQuitOnError : Daca face QUIT la eroare (daca vreau QUIT dau .T.) (default .F.) + && tlShowError : Daca arata mesajul de eroare (daca vreau sa il tratez in oexecute dau .T.) (default .F.) + && tlReconnect : Daca incearca sa se reconecteze (default .T.) + Local lcSeconds + lcSeconds = Set("Seconds") + Set Seconds On + + If .F. + Local This As oexecutor + Endif + This.Oreset() + + If Type('goLog') = 'O' + goLog.Log(tcSql, Program()) + Endif + + Local lnTip + lnTip = 0 + + *!* 29.06.2007 + *!* marius.mutu + *!* nu puneti upper(lcSql) - exista unele expresii in oracle care sunt case sensitive + If Empty(tcSql) + lcSql = This.cSql + Else + lcSql = tcSql + Endif + + If Empty(tcCursor) + lcCursor = This.cCursor + Else + lcCursor = tcCursor + Endif + + If Empty(tnHandle) + lnHandle = This.nHandle + Else + lnHandle = tnHandle + Endif + + IF (m.lnHandle <= 0) + This.nSucces = CT_INSUCCES + This.cEroare = 'Neconectat' + RETURN CT_INSUCCES + ENDIF + + && DACA AM TRANZACTIE MANUALA NU FAC RECONNECT + If SQLGetprop(lnHandle, "Transactions") = 2 && TRANZACTIE MANUALA + This.lReconnect = .F. + Else + This.lReconnect = .T. + Endif + + Do Case + Case Pcount() < 6 + llQuitOnError = This.lQuitOnError + llReconnect = This.lReconnect + llShowError = This.lShowError + Case Pcount() < 7 + llQuitOnError = This.lQuitOnError + llReconnect = This.lReconnect + *!* modificare 06.09.2012 + Case Pcount() < 8 + llReconnect = This.lReconnect + *!* modificare 06.09.2012 ^ + Otherwise + llShowError = tlShowError + llReconnect = tlReconnect + llQuitOnError = tlQuitOnError + Endcase + + lnSucces = This.nSucces + + llProgress = tlProgress && IIF(tlProgress or 'SELECT'$lcSql,.T.,.F.) + lcTitluProgress = Iif(Empty(tcTitluProgress), "", Alltrim(tcTitluProgress)) + + Declare laEroare[1] + lcEroare = '' + + + lnTip = Iif('ROLLBACK' $ lcSql Or 'COMMIT' $ lcSql, 1, 0) && daca ROLLBACK SAU COMMIT TIP = 1, ALTFEL 0 + + Do Case + Case lnTip = 0 + *!* If llProgress + *!* Local loTherm, lcTask, lnPercent, lnSeconds + *!* If !Empty(lcTitluProgress) + *!* lcTask = lcTitluProgress + *!* Else + *!* lcTask = "Se executa ... " + *!* Endif + *!* loTherm = Newobject("_thermometer","_therm","",lcTask) + + *!* lnPercent = 15 + + + *!* loTherm.Show() + *!* Endif + + *!* Do While .T. + + *!* If llProgress + *!* lnPercent = lnPercent + 5 + *!* If lnPercent > 90 + *!* lnPercent = 15 + *!* Endif + + *!* loTherm.Update(lnPercent, lcTask+" "+Trans(lnPercent)) + *!* Endif + + + *!* lnSucces = SQLExec(lnHandle,lcSql,lcCursor) + *!* If lnSucces = 0 + *!* * + *!* Else + *!* Exit + *!* Endif + *!* Enddo + + *!* If llProgress + *!* loTherm.Complete() + *!* Release loTherm + *!* Endif + + If llProgress + Local loTherm, lcTask, lnPercent, lnSeconds + If !Empty(lcTitluProgress) + lcTask = lcTitluProgress + Else + lcTask = "Se executa ... " + Endif + loTherm = Newobject("_thermometer", "_therm", "", lcTask) + + lnPercent = 15 + + + loTherm.Show() + Endif + + lnSucces = -1 + Do While .T. + Do While .T. + + If llProgress + lnPercent = lnPercent + 5 + If lnPercent > 90 + lnPercent = 15 + Endif + + loTherm.Update(lnPercent, lcTask + " " + Trans(lnPercent)) + Endif + + + lnSucces = SQLExec(lnHandle, lcSql, lcCursor) + If lnSucces = 0 + * + Else + Exit + Endif + Enddo + + If lnSucces > 0 + If Used(lcCursor) + lcTempCursor = Sys(2015) + Use Dbf(lcCursor) In 0 Again Shared Alias (lcTempCursor) + Use In (lcCursor) + Use Dbf(lcTempCursor) In 0 Again Alias (lcCursor) + Use In (lcTempCursor) + Endif + Exit + Endif + + If lnSucces < 0 + Release laEroare + Declare laEroare(1) + lnEroare1 = 0 + lnEroare2 = 0 + lcTextEroare = [] + lnHandle = 0 + llEroare = .F. + + Aerror(laEroare) + If Alen(laEroare) > 1 + lnEroare1 = laEroare[1] + lnEroare2 = laEroare[5] + lcTextEroare = laEroare[3] + lnHandle = laEroare[6] + llEroare = .T. + + Endif + + + Do Case + Case lnEroare1 <> 1526 && eroare <> ODBC + lcTextEroare = Program() + Chr(13) + Alltrim(Str(lnEroare1)) + ' ' + laEroare[2] + crlf + crlf + GETCALLSTACK() + If Type('goLog') = 'O' + goLog.Log(lcTextEroare, Program()) + Endif + If llShowError + amessagebox(lcTextEroare, 0, "Eroare") + Endif + If llQuitOnError + Quit + Retry + Else + Exit + Endif + + Case lnEroare1 = 1526 && eroare ODBC + Do Case + Case llReconnect And Inlist(lnEroare2, 12152, 3113, 3114, 12560, 4068, 28, 12) && 12512 = TNS: UNABLE TO SEND BREAK MESSAGE; 3114 = NOT CONNECTED TO ORACLE; 12560 = PROTOCOL ADAPTER ERROR + If Type('goLog') = 'O' + lcLog = laEroare(3) + crlf + crlf + GETCALLSTACK() + goLog.Log(lcLog, Program()) + Endif + + Do While .T. + lnRaspuns = amessagebox('Eroare de conectare.' + Chr(13) + lcTextEroare + Chr(13) + 'Doriti reconectare?', 4 + 32, 'Eroare') && retry = 4; cancel = 2 + If lnRaspuns = 6 + + lnHandle = goConn.Connect(goConn.cHost, goConn.cUser, goConn.cPassword, llReconnect) + + *!* gnHandle = SQLConnect(gcHost,gcUserName,gcPassword) + + If lnHandle < 0 + Declare laEroare2(1) + Aerror(laEroare2) + lcTextEroare = laEroare2(3) + If Type('goLog') = 'O' + goLog.Log(lcTextEroare, Program()) + Endif + + Release laEroare2 + Loop + Else + *!* goExecutor.nHandle = gnHandle + Exit + Endif + Else + Quit + Retry + Endif && lnRaspuns = 6 + Enddo && .T. + Loop && daca am iesit cu un handle valid intru din nou in loop si fac cursorfill + Otherwise + lcTextEroare = Program() + crlf + Alltrim(Str(lnEroare1)) + ' ' + crlf + Transform(laEroare[3]) + crlf + lcSql + crlf + crlf + GETCALLSTACK() + If llShowError + lnRaspuns = amessagebox('Eroare necunoscuta' + Chr(13) + lcTextEroare, 0, 'Eroare') && ok = 0 + Endif + If Type('goLog') = 'O' + goLog.Log(lcTextEroare, Program()) + Endif + If llQuitOnError + Quit + Retry + Else + Exit + Endif + Endcase && INLIST(lnEroare2,12152,3114) + Endcase + Endif && lnSucces < 0 + + Enddo && .T. + + If llProgress + loTherm.Complete() + Release loTherm + Endif + + Case lnTip = 1 + If 'ROLLBACK' $ lcSql + lnSucces = Sqlrollback(lnHandle) + Else + lnSucces = Sqlcommit(lnHandle) + Endif + Endcase + + If lnSucces < 0 + Aerror(laEroare) + + If laEroare[1] <> 1526 + lcEroare = laEroare[2] + Else + lcEroare = Alltrim(Transform(laEroare[1])) + crlf + + Alltrim(Transform(laEroare[3])) + crlf + lcSql + crlf + crlf + GETCALLSTACK() + *!* 07.02.2008 + This.cEroare = lcEroare + lcEroare = This.oPrelucrareEroare() + *!* 07.02.2008 ^ + Endif + + If Type('goMyXMLHTTP') = 'O' + lcLunaHTTP = Iif(Type('gnLuna') = 'N', Transform(gnLuna) + "/", "") + Iif(Type('GNAN') = 'N', Transform(gnAn), "") + lcErrorHTTP = Sys(0) + ":" + Iif(Type('GCS') = 'C', " " + GCS, "") + ": " + lcLunaHTTP + Chr(13) + Chr(10) + lcEroare + ; + Chr(13) + Chr(10) + Chr(13) + Chr(10) + GETCALLSTACK() + + lcUserName = gcUserNameApp + lcProgram = Juststem(Sys(16, 0)) + goMyXMLHTTP.postError(lcErrorHTTP, lcUserName, lcProgram) + Endif + + If llShowError + amessagebox(lcEroare, 0, "Eroare") + Endif + If llQuitOnError + Quit + Retry + Endif + + Endif + + + + This.aEroare = laEroare + This.nSucces = lnSucces + This.cEroare = lcEroare + This.nEroare = Iif(Alen(laEroare) >= 5, laEroare[5], 0) + + Set Seconds &lcSeconds + + *!* modificare ROAFACTURARE v 2.0.77 + *!* *!* 07.09.2009 + *!* *!* RETURN lnSucces + *!* Return IIF(lnSucces = 1, CT_SUCCES, CT_INSUCCES) + Return Iif(lnSucces >= 1, CT_SUCCES, CT_INSUCCES) + *!* *!* 07.09.2009 ^ + *!* modificare ROAFACTURARE v 2.0.77 ^ + Endproc + ******************************************* SFARSIT: oExecute ******************************************* + + *!* salveaza rezultatul unei functii in variabila data ca referinta + *!* intoarce SUCCES = (1,-1) + *!* lnSucces = oFunction2Value("MyFunction(MyParam1, MyParam2)", @pnReturnValue) + Function oFunction2Value + Lparameters tcFunction, tuRetValue + + lcSql = "select " + tcFunction + " as retvalue from dual" + lcCursor = Sys(2015) + lcField = lcCursor + ".retvalue" + + lnSucces = This.oExecute(lcSql, lcCursor) + + If lnSucces > 0 + tuRetValue = Evaluate(lcField) + If Used(lcCursor) + Use In (lcCursor) + Endif + Endif + + *!* 07.09.2009 + *!* RETURN lnSucces + Return Iif(lnSucces = 1, CT_SUCCES, CT_INSUCCES) + *!* 07.09.2009 ^ + + Endfunc && oFunction2Value + ******************************************* SFARSIT: oFunction2Value ******************************************* + + *!* salveaza rezultatul unui select in variabila data ca referinta + *!* daca se intorc mai multe randuri - eroare + *!* intoarce SUCCES = .T./.F. + *!* afiseaza mesajul de eroare, daca este cazul + *!* lnSucces = oSelecteaza2Value("Select sum(cantitate) from tabel where conditie", @pnReturnValue) + Function oSelecteaza2Value + Lparameters tcSql, tuRetValue + * tlShowError, daca afiseaza mesaje de eroare + Local lnSucces + lnSucces = This.oSelect2Value(m.tcSql, @m.tuRetValue) + + If m.lnSucces = CT_INSUCCES + amessagebox(This.oPrelucrareEroare(), 16, "Eroare") + Endif + + Return (m.lnSucces = CT_SUCCES) + + Endfunc &&oSelect2Value + ******************************************* SFARSIT: oFunction2Value ******************************************* + + *!* salveaza rezultatul unui select in variabila data ca referinta + *!* daca se intorc mai multe randuri - eroare + *!* intoarce SUCCES = (1,-1) + *!* lnSucces = oSelect2Value("Select sum(cantitate) from tabel where conditie", @pnReturnValue) + Function oSelect2Value + Lparameters tcSql, tuRetValue + + Local lcSelect, lcSql, lcCursor, lcField, lnSucces + + lcSelect = Select() + lcSql = tcSql + lcCursor = Sys(2015) + + lnSucces = This.oExecute(lcSql, lcCursor) + + If lnSucces > 0 + If Reccount(lcCursor) > 1 + This.nSucces = -1 + This.cEroare = 'Au rezultat mai multe valori. Se astepta o singura valoare.' + lnSucces = -1 + Else + lcField = lcCursor + '.' + Field(1) + tuRetValue = Evaluate(lcField) + Endif + If Used(lcCursor) + Use In (lcCursor) + Endif + Endif + + Select (lcSelect) + + *!* 07.09.2009 + *!* RETURN lnSucces + Return Iif(lnSucces = 1, CT_SUCCES, CT_INSUCCES) + *!* 07.09.2009 ^ + + Endfunc &&oSelect2Value + ******************************************* SFARSIT: oFunction2Value ******************************************* + + + *!* salveaza rezultatul unui select in variabila data ca referinta + *!* daca se intorc mai multe randuri - eroare + *!* intoarce SUCCES = T/F + *!* llSucces = goExecutor.oSelecteaza2Object("Select id, denumire from tabel where conditie", @poObject) + Function oSelecteaza2Object + Lparameters tcSql, toRetValue + + Local lcSelect, lcSql, lcCursor, lcField, llSucces + lcSelect = Select() + lcSql = tcSql + lcCursor = Sys(2015) + + llSucces = This.oExecuta(lcSql, lcCursor) + + If m.llSucces + If Reccount(m.lcCursor) > 1 + This.nSucces = -1 + This.cEroare = 'Au rezultat mai multe valori. Se astepta o singura valoare.' + llSucces = .F. + Else + Select (m.lcCursor) + Scatter Name toRetValue Memo + Endif + Use In (Select(m.lcCursor)) + Endif && llSucces + + Select (m.lcSelect) + Return m.llSucces + Endfunc &&oSelecteaza2Object + ******************************************* SFARSIT: oSelecteaza2Object ******************************************* + + ******************************************* INCEPUT: oPrelucrareEroare ******************************************* + && Prelucreaza mesajul de eroare : daca este intre ORA-20000 si ORA-20999 atunci afiseaza doar textul erorii + Function oPrelucrareEroare + Local lcTextEroare + lcTextEroare = This.cEroare + + If Like('*ORA-20???:*', lcTextEroare) + lnPozi = At("ORA-20", lcTextEroare) + 11 + lnPozf = At("ORA", lcTextEroare, 2) + lcTextEroare = Substr(lcTextEroare, lnPozi, lnPozf - lnPozi) + *!* ELSE + *!* lnPozf=At("ORA-",lcTextEroare,3) + *!* lcTextEroare=Substr(lcTextEroare,1,lnPozf-1)+[...] + Endif + Return lcTextEroare + Endfunc && oPrelucrareEroare + ******************************************* SFARSIT: oPrelucrareEroare ******************************************* + * PROCEDURE oReset( ) + * Date : 06/10/2004, 12:21:06 + * author : marius.mutu + * description: + + ****** PARAMETER BLOCK ************** + * Parameters : 0 + * + ******************************************* INCEPUT:oReset ******************************************* + Procedure Oreset( ) + With This + .aEroare = .F. + .nSucces = 0 + .cSql = '' + .cCursor = '' + Endwith + Endproc + ******************************************* SFARSIT: oReset ******************************************* + +Enddefine && oExecutor + + + + +*** oConn =========================================================================================== +Define Class oConn As Custom + + cHost = '' + cUser = '' + cPassword = '' + nHandle = 0 + cEroare = '' + Declare aEroare[7] + lShowError = .F. + lReconnect = .F. && Daca llReconnect = .T. se apeleaza InitSesiune din oInit_Optiuni.prg + + FUNCTION IsConnected + RETURN (This.nHandle > 0) + ENDFUNC && IsConnected + + *** Connect =========================================================================================== + Procedure Connect + Lparameters tcHost, tcUser, tcPassword, tlReconnect + + *!* tlReconnect = .T. daca se apeleaza connect la reconectare (atunci se apeleaza si InitSesiune()) + Local lnSucces, laEroare, lcString, lcHost, lcUser, lcPassword, lcSql + + If Pcount() < 3 Or Type('tcHost') # 'C' Or Type('tcUser') # 'C' Or Type('tcPassword') # 'C' + * + Else + This.cHost = tcHost + This.cUser = tcUser + This.cPassword = tcPassword + Endif + + lcHost = This.cHost + lcUser = This.cUser + lcPassword = This.cPassword + + If Pcount() < 4 Or Type('tlReconnect') # 'L' + llReconnect = This.lReconnect + Else + llReconnect = tlReconnect + Endif + + SQLSetprop(0, "DispLogin", 3) + lcString = "dsn=" + Alltrim(lcHost) + ";Uid=" + Alltrim(lcUser) + ";Pwd=" + Alltrim(lcPassword) + ";" + + This.nHandle = Sqlstringconnect(lcString) + + If Type('gnHandle') = 'N' + gnHandle = This.nHandle + Endif + + If Type('goExecutor') = 'O' + goExecutor.nHandle = This.nHandle + Endif + + If This.nHandle > 0 + lnSucces = 1 + + *** SETARI SESIUNE DUPA CONECTARE + This.postConn() + + If llReconnect + lnSucces = InitSesiune() && IN oInit_Optiuni.prg + Endif + Else + lnSucces = -1 + This.ProcessError() + Endif + + Return This.nHandle + + Endproc && Connect + *** END Connect =========================================================================================== + + *** Disconnect =========================================================================================== + Procedure Disconnect + Lparameters tnHandle + + Local lnSucces, lnHandle + + lnHandle = Iif(Empty(tnHandle) Or Type('tnHandle') # 'N', 0, tnHandle) + + lnSucces = SQLDisconnect(lnHandle) + + If lnSucces < 0 + This.ProcessError() + Endif + + *!* 07.09.2009 + *!* RETURN lnSucces + Return Iif(lnSucces = 1, CT_SUCCES, CT_INSUCCES) + *!* 07.09.2009 ^ + + Endproc && + *** END Disconnect =========================================================================================== + + *** ProcessError =========================================================================================== + Procedure ProcessError + + Local laEroare, lnEroare1, lnEroare2, lcTextEroare, lcEroareConectare + lcTextEroare = '' + lcEroareConectare = '' + Dimension laEroare[1] + + Aerror(laEroare) + If Alen(laEroare) > 1 + lnEroare1 = laEroare[1] + lnEroare2 = laEroare[5] + lcTextEroare = laEroare[3] + lnHandle = laEroare[6] + llEroare = .T. + + lcTextEroare = 'Conectarea nu a reusit ' + Chr(13) + Chr(10) + Alltrim(Transform(laEroare[1])) + ' ' + Chr(13) + Transform(laEroare[2]) + Chr(13) + Transform(laEroare[3]) + This.cEroare = lcTextEroare + This.aEroare = laEroare + + If Type('goLog') = 'O' + goLog.Log(lcTextEroare, Program()) + Endif + + If laEroare[1] = 1526 And Like('*ORA-20???:*', laEroare[2]) + lnPozi = At("ORA-20", laEroare[2]) + 11 + lnPozf = At("ORA", laEroare[2], 3) + lcEroareConectare = Substr(laEroare[2], lnPozi, lnPozf - lnPozi) + Else + lcEroareConectare = lcTextEroare + Endif + If Empty(lcEroareConectare) + lcEroareConectare = "Conectarea nu a reusit!" + Endif + + amessagebox(lcEroareConectare, 0 + 48, "Atentie") + Endif + + Return lcTextEroare + + Endproc && ProcessError + *** END ProcessError =========================================================================================== + + *** postConn =========================================================================================== + Procedure postConn + *** PUNCT ZECIMAL + lcSql = [ALTER SESSION SET NLS_NUMERIC_CHARACTERS = ".,"] + lnSucces = goExecutor.oExecute(lcSql) + If lnSucces < 0 + amessagebox(goExecutor.cEroare, 0 + 16, 'Eroare') + Endif + + Endproc && postConn + *** END postConn =========================================================================================== + + Procedure BeginManualTransaction + Local lnHandle, lnSucces, llSucces + + lnHandle = This.nHandle + llSucces = .T. + + If SQLGetprop(lnHandle, "Transactions") = 1 && TRANZACTIE AUTOMATA + lnSucces = SQLSetprop(m.lnHandle, "Transactions", 2) && TRANZACTIE MANUALA + llSucces = (m.lnSucces = 1) + Endif + Return m.llSucces + Endproc && BeginManualTransaction + + Procedure EndManualTransaction + Lparameters tcMode + *** tcMode: optional: COMMIT/ROLLBACK/EMPTY (DEFAULT) + + Local lnHandle, lcMode, lnSucces, llSucces + lcMode = Iif(!Empty(m.tcMode), Upper(m.tcMode), '') + lnHandle = This.nHandle + llSucces = .T. + If !Empty(m.lcMode) + llSucces = goExecutor.oExecuta(m.lcMode) + Endif + + If SQLGetprop(lnHandle, "Transactions") = 2 && TRANZACTIE MANUALA + lnSucces = SQLSetprop(m.lnHandle, "Transactions", 1) && TRANZACTIE AUTOMATA + llSucces = (m.lnSucces = 1) + Endif + Return m.llSucces + Endproc && BeginManualTransaction +Enddefine && oConn +*** END oConn =========================================================================================== + + + +* PROCEDURE Get_Ora( tnTip ) +* Date : 16/11/2004, 08:58:45 +* author : marius.mutu +* description: + +****** PARAMETER BLOCK ************** +* Parameters : 1 +* Parameter 1: +* +******************************************* INCEPUT:Get_Ora ******************************************* +Procedure Get_Ora( tnTip ) + * tnTip: 1 sau nimic = DATETIME ; 2 = CHARACTER + + Local lcRetVal, lnSucces + Local lcCursor, lcSql, lcSelect, lcTipDataOra + lcSelect = Select() + + If Pcount() = 0 Or Type('tnTip') <> 'N' + lnTip = 1 + Else + lnTip = tnTip + Endif + + lcTipDataOra = Lower(Nvl(goAPI.GetProfileString(m.gcSettingsFile, [general], "tipdataora"), '')) && local/server + + lcTipDataOra = Iif(!Inlist(m.lcTipDataOra, 'local', 'server', 'nimic'), 'server', m.lcTipDataOra) + Do Case + Case m.lcTipDataOra = 'server' + &&preluare ora de pe oracle server: + Store - 1 To lnSucces + lcSql = [select to_char(SYSdate,'dd/mm/yyyy hh24:mi:ss') as dataora from dual] + lcCursor = [dataora_cursor] + lnSucces = goExecutor.oExecute(lcSql, lcCursor) + If lnSucces < 0 + amessagebox(goExecutor.cEroare, 0 + 16, , 'Eroare') + lcRetVal = Ttoc(Datetime()) + Else + Select dataora_cursor + lcRetVal = dataora_cursor.dataora + Use In dataora_cursor + Endif + If lnTip = 1 + lcRetVal = Ctot(lcRetVal) + Endif + Case m.lcTipDataOra = 'local' + * local = ora de pe calculator + lcRetVal = Iif(lnTip = 1, Datetime(), '* ' + Ttoc(Datetime())) + Otherwise && nimic + lcRetVal = Iif(lnTip = 1, Datetime(), '*') + Endcase + + If !Empty(lcSelect) + Select (lcSelect) + Endif + + Return lcRetVal +Endproc +******************************************* SFARSIT: Get_Ora ******************************************* +*________________________________________________________ + +Function ULTIMAZI + Parameters tcAn, tcLuna + + Local lcAn, lcLuna + + If Empty(tcAn) + lcAn = pcAn + Else + lcAn = Alltrim(tcAn) + Endif + + If Empty(tcLuna) + lcLuna = pcNl + Else + lcLuna = Alltrim(tcLuna) + Endif + + If Val(lcAn) = Year(Date()) And Val(lcLuna) = Month(Date()) + Return Date() + Endif + + lcData = '01/' + lcLuna + '/' + lcAn + ldData = Gomonth(Ctod(lcData), 1) - 1 + + Return ldData + + **************************************************************** + +Function get_nivel_upf(tnid_util, tnid_prog, tnid_firma) + Private pnid_util, pnid_prog, pnid_firma + pnid_util = tnid_util + pnid_prog = tnid_prog + pnid_firma = tnid_firma + Local lnnivel + lcSql = [select ud.id_nivel,n.nivel from contafin_oracle.util_drept ud ] + ; + [join contafin_oracle.nivel n on ud.id_nivel = n.id_nivel ] + ; + [where ud.id_util = ?pnid_util and ud.id_prog = ?pnid_prog and ] + ; + [ud.id_firma = ?pnid_firma] + lcCursor = [crsUtilNivel] + lnSucces = goExecutor.oExecute(lcSql, lcCursor) + If lnSucces < 0 + lcTitlu = [Eroare] + lctip = [Avertizare] + lcImagine = [exclam.ico] + lcMesaj = goExecutor.cEroare + ofrm_eroare = Createobject('frm_mesaj', lcTitlu, lcImagine, lctip, lcMesaj) + ofrm_eroare.Show(1) + Release ofrm_eroare + Return + Endif + lnnivel = &lcCursor..nivel + Return lnnivel +Endfunc &&get_nivel_upf + +******************************************************************************************************* + +Function enumefis + Parameters tc_numefis + Private pn_len, pl_return, pc_numefis, pc_char + pn_len = 0 + pc_char = '' + pl_return = .T. + pc_numefis = Alltrim(tc_numefis) + pn_len = Len(pc_numefis) + If pn_len = 0 + pl_return = .F. + Endif + Do While pn_len > 0 + pc_char = Substr(pc_numefis, pn_len, 1) + If !Between(Asc(pc_char), 48, 57) And !Between(Asc(pc_char), 97, 122) And !Between(Asc(pc_char), 65, 90) And Asc(pc_char) <> 95 And Asc(pc_char) <> 46 + pl_return = .F. + Exit + Endif + pn_len = pn_len - 1 + Enddo + Return pl_return +Endfunc && enumefis +*********************************************************************************************** + + +******************************************* +* PROCEDURE ImportTable +* Date : 08/07/2005, 09:20:54 +* author : marius.mutu +* description: intoarce numele unui cursor cu datele importate dintr-un dbf +******************************************* +Procedure ImportTable + Local lcCursor + lcCursor = "" + loimport = Newobject("frm_import", "importdata") + loimport.Show(1) + If gnButon = 1 + lcCursor = "crsReturn" + Endif + + Return lcCursor + +Endproc +*----------------------------------sfarsit procedura ImportTable---------------------------------- + + +Function Lista_Campuri + Lparameters tcAlias + + Local lcSelect, i, lcAlias, lcLista + lcLista = [] + lcSelect = Select() + lcAlias = tcAlias + + Select (lcAlias) + lnFields = Fcount() + For i = 1 To lnFields + lcField = Field(i) + lcLista = lcLista + [,] + lcField + Endfor + If !Empty(lcLista) + lcLista = Substr(lcLista, 2) + Endif + + Select (lcSelect) + Return lcLista + +Endfunc && Lista_Campuri + + +***--------------------------------------------------------------------- +Procedure OPEN_DEFAULT_APP + Parameters tcfilename, tcParams + LOCAL cFileName, cAction, cParams + + Declare Integer ShellExecute In shell32.Dll ; + Integer hndWin, ; + String cAction, ; + String cFileName, ; + String cParams, ; + String cDir, ; + Integer nShowWin + cFileName = tcfilename + cAction = "open" + cParams = IIF(!EMPTY(m.tcParams), m.tcParams, "") + + ShellExecute(0, cAction, cFileName, cParams, "", 1) + +Endproc && OPEN_DEFAULT_APP + + +***--------------------------------------------------------------------- +Procedure GET_SCHEMA_GRID + Lparameters toGrid, tcColumnList, tcHeaderList, tcSchema, tlSelect, tnType, tcFrom, tcWhere, tcOrder, tcOutputName + + Local lcSelect, llSelect, lcAlias, lcWhere, lcOrder, lcColumn, lcHeader, lnOccurs + Local lnType, lcInto + && tnType : 0 CURSOR, 1 TABLE, 2 ARRAY + + If Type('tnType') # 'N' + lnType = 0 + Else + If !Between(tnType, 0, 2) + lnType = 0 + Else + lnType = tnType + Endif + Endif + Do Case + Case lnType = 0 + lcInto = ' INTO CURSOR ' + Case lnType = 1 + lcInto = ' INTO TABLE ' + Other lnType = 1 + lcInto = ' INTO ARRAY ' + Endcase + + + tcColumnList = '' + tcHeaderList = '' + tcSchema = '' + + lnNrCol = toGrid.ColumnCount + Dimension myArray[lnNrCol, 3] + + With toGrid + For lnCol = 1 To .ColumnCount + lnColumn = .Columns(lnCol).ColumnOrder + lcColumn = .Columns(lnCol).ControlSource + llVisible = .Columns(lnCol).Visible + lnWidth = .Columns(lnCol).Width + If !llVisible Or lnWidth = 0 Or Empty(Alltrim(lcColumn)) + Adel(myArray, lnCol) + Loop + Endif + lnPos = At('.', lcColumn) + lnOccurs = Occurs('.', m.lcColumn) + If m.lnOccurs = 1 And m.lnPos > 0 + lcColumn = Substr(lcColumn, lnPos + 1) + Endif + *tcColumnList = tcColumnList + lcColumn + ',' + myArray[lnCol, 1] = lnColumn + + For lnobjcol = 1 To .Columns(lnCol).Objects.Count + If Upper(.Columns(lnCol).Objects(lnobjcol).BaseClass) = 'HEADER' + lcHeader = .Columns(lnCol).Objects(lnobjcol).Caption + lcHeader = Strtran(Strtran(Strtran(Strtran(Strtran(Strtran(Strtran(Strtran(Strtran(lcHeader, Chr(32), '_'), '.', '_'), '/', '_'), '\', '_'), "&", "_"), "%", ""), "(", "_"), ")", "_"), "-", "_") + lcHeader = Strtran(lcHeader, '=', '_') + lcHeader = Strtran(lcHeader, ',', '_') + lcHeader = Strtran(lcHeader, '+', '_') + *tcHeaderList = tcHeaderList + lcHeader + ',' + *tcSchema = tcSchema + lcColumn + [ as ] + lcHeader + [,] + myArray[lnCol, 2] = lcColumn + myArray[lnCol, 3] = lcHeader + Exit + Endif + Endfor + Endfor + *!* tcColumnList = Substr(tcColumnList, 1, Len(tcColumnList)-1) + *!* tcHeaderList = Substr(tcHeaderList , 1, Len(tcHeaderList)-1) + *!* tcSchema = Substr(tcSchema , 1, Len(tcSchema)-1) + Endwith + For i = 1 To Alen(myArray, 1) + l1 = myArray[i, 1] + If Type('l1') # 'N' + myArray[i, 1] = -1 + Endif + Endfor + + Asort(myArray) + For i = 1 To Alen(myArray, 1) + If myArray[i, 1] <> -1 + tcColumnList = tcColumnList + Alltrim(myArray[i, 2]) + [,] + tcHeaderList = tcHeaderList + Alltrim(myArray[i, 3]) + [,] + tcSchema = tcSchema + Alltrim(myArray[i, 2]) + [ as ] + Alltrim(myArray[i, 3]) + [,] + Endif + Endfor + + tcColumnList = Substr(tcColumnList, 1, Len(tcColumnList) - 1) + tcHeaderList = Substr(tcHeaderList, 1, Len(tcHeaderList) - 1) + tcSchema = Substr(tcSchema, 1, Len(tcSchema) - 1) + + + If tlSelect + tcSchema = 'SELECT ' + tcSchema + Endif + If !Empty(tcFrom) + tcSchema = tcSchema + ' FROM ' + Alltrim(tcFrom) + Endif + If !Empty(tcWhere) + tcSchema = tcSchema + ' WHERE ' + Alltrim(tcWhere) + Endif + + If !Empty(tcOrder) + tcSchema = tcSchema + ' ORDER BY ' + Alltrim(tcOrder) + Endif + + If !Empty(tcOutputName) + tcSchema = tcSchema + lcInto + tcOutputName + Endif + +Endproc && GET_SCHEMA_GRID + +***--------------------------------- +Procedure amessage + Lparameters tcMessage, tnDialogBoxType, tcTitleBarText, tnTimeOut + Local lnResponse + lnResponse = 0 + lcMessage = Iif(Empty(tcMessage), [], tcMessage) + lnDialogBoxType = Iif(Empty(tnDialogBoxType), 0, tnDialogBoxType) + lcTitleBarText = Iif(Empty(tcTitleBarText), [], tcTitleBarText) + lnTimeOut = Iif(Empty(tnTimeOut), 0, tnTimeOut) + If lnTimeOut # 0 + lnResponse = amessagebox(lcMessage, lnDialogBoxType, lcTitleBarText, lnTimeOut) + Else + lnResponse = amessagebox(lcMessage, lnDialogBoxType, lcTitleBarText) + Endif + + Return lnResponse + +Endproc && amessage +***--------------------------------- + +DEFINE CLASS oChatBotLaunch as Custom + cMessage = '' + + FUNCTION Init + LPARAMETERS tcMessage + This.cMessage = m.tcMessage + ENDFUNC + + FUNCTION Launch + open_default_app('https://www.romfast.ro/chatbot_maria.html?message=' + ALLTRIM(This.cMessage)) + ENDFUNC +ENDDEFINE + +***--------------------------------- +Function amessagebox + Lparameters tcMessage, tnDialogBoxType, tcTitle, tcFont, tnTimeOut, tnTimeoutValue + + Local loMessage, lnReturn, lcMessageboxForm + PRIVATE oChatbot + oChatBot = CREATEOBJECT("oChatBotLaunch", m.tcMessage) + + *!* *!* LOGHEZ ERORILE + *!* IF TYPE('goLog') = 'O' AND 'ERROR'$UPPER(tcMessage) OR 'EROARE'$UPPER(tcMessage) OR 'ORA-'$UPPER(tcMessage) + *!* goLog.LOG(tcMessage,PROGRAM()) + *!* ENDIF + If Type('gcNumeProgram') = 'C' And gcNumeProgram = 'ROASTART' + lcMessageboxForm = "messagebox_form_desktop" && desktop .T. + Else + lcMessageboxForm = "messagebox_form" + Endif + If !'MESSAGEBOX' $ Upper(Set("Classlib")) + If Type('lnTimeOut') = 'N' And lnTimeOut # 0 + lnReturn = Messagebox(tcMessage, tnDialogBoxType, tcTitle, tnTimeOut) + Else + lnReturn = Messagebox(tcMessage, tnDialogBoxType, tcTitle) + Endif + Else + loMessage = Newobject(lcMessageboxForm, "MessageBox.vcx", "", tcMessage, tnDialogBoxType, tcTitle, tcFont, tnTimeOut, tnTimeoutValue) + loMessage.AlwaysOnTop = .T. + loMessage.Show(1) + lnReturn = loMessage.IDOpcion + Endif + + + Return lnReturn + +Endfunc && amessagebox +***--------------------------------- + +Procedure export_xls + Lparameters tcAlias, tcNumeFisier + + If Empty(tcNumeFisier) + tcNumeFisier = 'Foaie_Excel' + Endif + + Local lcSelect + lcSelect = Select() + + If Used(tcAlias) + lcDir = Addbs(gcTempPath) + + lcFile = Putfile('Nume fisier:', tcNumeFisier, 'XLS') + If Empty(lcFile) && Esc pressed + Return + Endif + + + Select (tcAlias) + Export To (lcFile) Type Xl5 + Select (lcSelect) + + OPEN_DEFAULT_APP(lcFile) + + Endif +Endproc && export_xls + +*__________________________________________________________ + +&& Folosesc un tabel (tabel,id) cu cate o linie pt fiecare tabel +&& aflu id-ul urmator si il scriu in tabela +&& returnez id-ul +&& EX1: LNEW_ID=NEW_ID("GRILA_SAL") --> urmatorul id din fara cautare in tabela originala +&& EX2: LNEW_ID=NEW_ID("GRILA_SAL","ID") --> urmatorul id din cu cautare in tabela originala dupa campul +&& ex3: LNEW_ID=NEW_ID("GRILA_SAL","ID",.T.) --> .T. INSEAMNA CA TABELUL ORIGINAL ESTE INDEXAT DUPA FAC SEEK IN LOC DE LOCATE +Procedure NEW_ID + Parameters TALIAS, TFIELD, TTAG + *WAIT WINDOW TALIAS + *ON error Errorh(ERROR(),PROGRAM(),LINENO()) + LLLOOKUP = Iif(Type("tfield") = "C", .T., .F.) + LLTAG = Iif(Type("TTAG") = "C", .T., .F.) + TALIAS = Upper(Alltrim(TALIAS)) + + + *** Save Stats + LCOLDALIAS = Alias() && keep current work area + LNOLDRECNO = Iif(!Eof(), Recno(), 0) && save record number + + LCSETDEL = Set("deleted") + && lnmaxval = (10^pcidsize)-1 && wrap around after this val + + *** + && PUN ORDINEA PE ID + If LLLOOKUP And LLTAG + Sele (TALIAS) + Set Order To &TTAG + Endif + *** + LCNEWID = 0 && our return result - NULL if failed + Select IDS + Locate For Upper(Alltrim(TABEL)) = TALIAS + If !Found() + If Flock() + Append Blank + Replace TABEL With TALIAS + Unlock + Endif + + Endif + + Set Deleted Off + && acum sunt pe inregistrarea corecta + + + *** lock counter table and update counter + Select IDS + If Rlock() + *** Avoid use of Macros - Convert to mem var & update it + LNCOUNTERVAL = NEW_ID + + *** VERIFY ID NUMBER - search 'til no match + Do While .T. + *** increase the counter - update field and var + LNCOUNTERVAL = LNCOUNTERVAL + 1 + + *!* *** check for wraparound + *!* IF lncounterval > lnmaxval + *!* lncounterval = 1 + *!* ENDIF + + Select (TALIAS) + If LLLOOKUP + If LLTAG + LCAUT = "SEEK " + Allt(Str(LNCOUNTERVAL)) + Else + LCAUT = "LOCATE FOR " + Allt(TFIELD) + "=" + Allt(Str(LNCOUNTERVAL)) + *** now see if it exists + &LCAUT + * LOCATE FOR &TFIELD=LNCOUNTERVAL + If !Found() + *** No match - DONE + Exit + Endif && !found() + Endif && lltag + Else + Exit + Endif && lllokup + + Enddo && done + + Sele IDS + Replace NEW_ID With LNCOUNTERVAL + LCNEWID = LNCOUNTERVAL + + Unlock In IDS + Endif && rlock() + + *** Reset record number on original file + + If !Empty(LCOLDALIAS) + Sele (LCOLDALIAS) + If LNOLDRECNO # 0 + Goto LNOLDRECNO + Endif + Endif + Set Deleted &LCSETDEL + + Return LCNEWID + +Endproc && NEW_ID + + +***------------------------------------------------------------------------------------------------------- + +* Foloseste comment de la coloane si tooltiptext de la grid pt a salva recordsource si controlsource din grid inainte de reconstructie +Procedure SAVE_GRID + Param toGrid + *wait wind 'save_grid' + Private pogrid + If Param() = 0 Or Type('togrid')!= "O" + Return .F. + Endif + + pogrid = toGrid + + * remember control sources in the column's comment field + With pogrid + Local nColumnIndex + For m.nColumnIndex = 1 To .ColumnCount + .Columns(m.nColumnIndex).Tag = .Columns(m.nColumnIndex).ControlSource + Endfor + .ToolTipText = .RecordSource + .RecordSource = "" + Endwith + + Return .T. +Endproc && SAVE_GRID +***-------------------------------------------------------------- +Procedure RESTORE_GRID + Param toGrid + + *wait wind 'restore_grid' + Private pogrid + If Param() = 0 Or Type('togrid')!= "O" + Return .F. + Endif + + pogrid = toGrid + + + With pogrid + * restore record source + .RecordSource = .ToolTipText + * restore control sources + For m.nColumnIndex = 1 To .ColumnCount + .Columns(m.nColumnIndex).ControlSource = .Columns(m.nColumnIndex).Tag + Endfor + .ToolTipText = "" + Endwith + Return .T. +Endproc && RESTORE_GRID +******************************************************************* +Procedure snr_grid && switch_and_restore_grid + Lparameters toGrid, tcRecordSourceNou + Private pogrid + If Param() = 0 Or Type('togrid')!= "O" + Return .F. + Endif + pogrid = toGrid + With pogrid + .RecordSource = Iif(Empty(tcRecordSourceNou), .ToolTipText, tcRecordSourceNou) + For m.nColumnIndex = 1 To .ColumnCount + .Columns(m.nColumnIndex).ControlSource = Iif(!Empty(tcRecordSourceNou) And !Empty(.Columns(m.nColumnIndex).Tag), ; + tcRecordSourceNou + [.] + Substr(.Columns(m.nColumnIndex).Tag, At([.], .Columns(m.nColumnIndex).Tag) + 1), ; + .Columns(m.nColumnIndex).Tag) + .Tag = "" + Endfor + .ToolTipText = "" + Endwith + Return .T. +Endproc && snr_grid +******************************************************************* + +* Foloseste comment de la coloane si tooltiptext de la grid pt a salva recordsource si controlsource din grid inainte de reconstructie +Procedure SAVE_GRID_COMMENT + Param toGrid + *wait wind 'save_grid' + Private pogrid + If Param() = 0 Or Type('togrid')!= "O" + Return .F. + Endif + + pogrid = toGrid + + * remember control sources in the column's comment field + With pogrid + Local nColumnIndex + For m.nColumnIndex = 1 To .ColumnCount + .Columns(m.nColumnIndex).Comment = .Columns(m.nColumnIndex).ControlSource + Endfor + .ToolTipText = .RecordSource + .RecordSource = "" + Endwith + + Return .T. +Endproc && SAVE_GRID_COMMENT +***-------------------------------------------------------------- +Procedure RESTORE_GRID_COMMENT + Param toGrid + + *wait wind 'restore_grid' + Private pogrid + If Param() = 0 Or Type('togrid')!= "O" + Return .F. + Endif + + pogrid = toGrid + + + With pogrid + * restore record source + .RecordSource = .ToolTipText + * restore control sources + For m.nColumnIndex = 1 To .ColumnCount + .Columns(m.nColumnIndex).ControlSource = .Columns(m.nColumnIndex).Comment + Endfor + .ToolTipText = "" + Endwith + Return .T. +Endproc && RESTORE_GRID_COMMENT + + +* Foloseste comment de la coloane si tooltiptext de la grid pt a salva recordsource si controlsource din grid inainte de reconstructie +Procedure SAVE_GRID_TAG + Param toGrid + *wait wind 'save_grid' + Private pogrid + If Param() = 0 Or Type('togrid')!= "O" + Return .F. + Endif + + pogrid = toGrid + + * remember control sources in the column's comment field + With pogrid + Local nColumnIndex + For m.nColumnIndex = 1 To .ColumnCount + .Columns(m.nColumnIndex).Tag = .Columns(m.nColumnIndex).ControlSource + Endfor + .ToolTipText = .RecordSource + .RecordSource = "" + Endwith + + Return .T. +Endproc && SAVE_GRID_TAG +***-------------------------------------------------------------- +Procedure RESTORE_GRID_TAG + Param toGrid + + *wait wind 'restore_grid' + Private pogrid + If Param() = 0 Or Type('togrid')!= "O" + Return .F. + Endif + + pogrid = toGrid + + + With pogrid + * restore record source + .RecordSource = .ToolTipText + * restore control sources + For m.nColumnIndex = 1 To .ColumnCount + .Columns(m.nColumnIndex).ControlSource = .Columns(m.nColumnIndex).Tag + Endfor + .ToolTipText = "" + Endwith + Return .T. +Endproc && RESTORE_GRID_TAG + + +*------------------------------------------- +* Function...: Xmenu +* Author.....: MARTIN +* Date.......: 04/06/1997 +* Notes......: Based on an idea from Steve Zimmelman for FoxPro 2.x +* Parameters.: tcItems = Semicolon-separated String with the various options +* ...........: tnBar = Initially selected item (default=1) +* Returns....: Selected item number +* See Also...: PROMPT() [FoxPro Native] +* +Procedure XMENU + Lparameters TCITEMS, TNBAR + + Local NITEMCOUNT, AITEMS, X, NROW, NCOL, CTITLE, NLASTPOS, CCOLOR, AITEMS + + Private CPOPMENU, NSELECT && They flow into the GetChoice internal procedure + + If Pcount() < 2 + TNBAR = 1 + Endif + + Activate Screen + + * Parse every item + * + m.NITEMCOUNT = Occurs( ';', TCITEMS ) + 1 + Dimen AITEMS[ m.nItemCount ] + m.NLASTPOS = 1 + + For m.X = 1 To m.NITEMCOUNT + + If m.X < m.NITEMCOUNT + + AITEMS[ m.x ] = Subs( m.TCITEMS, m.NLASTPOS, ; + ( At( ';', m.TCITEMS, m.X ) - 1 ) - m.NLASTPOS + 1 ) + Else + AITEMS[ m.x ] = Subs( m.TCITEMS, m.NLASTPOS, ; + ( Len( m.TCITEMS ) - m.NLASTPOS ) + 1 ) + Endif + + If AITEMS[ m.x ] # "\-" + + AITEMS[ m.x ] = Allt( AITEMS[ m.x ] ) + Endif + + m.NLASTPOS = At( ';', m.TCITEMS, m.X ) + 1 + Next + + * Calculates the mouse pointer position + * + m.NROW = Iif( Mrow() + m.NITEMCOUNT < Srow(), Mrow() - 1, Srow() - m.NITEMCOUNT ) + m.NCOL = Iif( Mcol() + 10 < Scol(), Mcol() - 3, Mcol() - 13 ) + + * Gets an unique name for the pop-up + * + m.CPOPMENU = 'M' + Sys(3) + "_" + + Define Popup ( m.CPOPMENU ) SHORTCUT Relative From NROW, NCOL + + For m.X = 1 To m.NITEMCOUNT + + Define Bar m.X Of ( m.CPOPMENU ) Prompt AITEMS[ m.x ] + Next + + m.CANS = "" + m.NSELECT = 0 + Clear Type + + On Selection Popup ( m.CPOPMENU ) Do GETCHOICE + + Activate Popup ( m.CPOPMENU ) Bar TNBAR + + Pop Key + Release Popup ( m.CPOPMENU ) + + Return Iif( Lastkey() = 27, 0, m.NSELECT ) + +Endproc && XMENU + + + +******************** +*** MENIU POPUP CREAT DINAMIC +******************** +PROCEDURE XMENUP + LPARAMETERS TCITEMS, TNBAR + + LOCAL NITEMCOUNT, AITEMS, X + LOCAL loMenu, lnOption + lnOption = 0 + loMenu = NEWOBJECT("popmenu", "menutool.vcx") + + NITEMCOUNT = OCCURS( ';', TCITEMS ) + 1 + DIMEN AITEMS[ m.nItemCount ] + NLASTPOS = 1 + + FOR X = 1 TO m.NITEMCOUNT + + IF m.X < m.NITEMCOUNT + + AITEMS[ m.x ] = SUBS( m.TCITEMS, m.NLASTPOS, ; + ( AT( ';', m.TCITEMS, m.X ) - 1 ) - m.NLASTPOS + 1 ) + ELSE + AITEMS[ m.x ] = SUBS( m.TCITEMS, m.NLASTPOS, ; + ( LEN( m.TCITEMS ) - m.NLASTPOS ) + 1 ) + ENDIF + + IF AITEMS[ m.x ] # "\-" + + AITEMS[ m.x ] = ALLT( AITEMS[ m.x ] ) + ENDIF + + NLASTPOS = AT( ';', m.TCITEMS, m.X ) + 1 + loMenu.ADDITEM(AITEMS[ m.x ], X, 1) + ENDFOR + lnOption = loMenu.SHOW() + RETURN m.lnOption +ENDPROC && XMENUP + +*-------------------- +Procedure GETCHOICE + + m.NSELECT = Bar() + + Deactivate Popup ( m.CPOPMENU ) + + Return + &&&&&&&&&&&&&&&&&&&&&&&&&&&&&& MENIU &&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&& + +Procedure lista2array + Parameters tcLISTA, taArray, tcSeparator + && tcLista este un sir de caractere care contine elementele separate prin <;> default + && tarray este vectorul care se completeaza - trebuie dat prin referinta + && tcSeparator separatorul de elemente din tcLista - default este ";" - este optional + && intoarce numarul de elemente gasite + + && ex: lnNr = lista2array("ana;are;mere",@alista,";") + External Array taArray + Local lcLista, lcSeparator, lnNRF, lcF1, i + + lnNRF = 0 + + lcLista = Allt(tcLISTA) + If Parameters() < 3 Or Empty(tcSeparator) + lcSeparator = ";" + Else + lcSeparator = Alltrim(tcSeparator) + Endif + + If Right(lcLista, 1)!= lcSeparator + lcLista = lcLista + lcSeparator + Endif + + lnNRF = Occurs(lcSeparator, lcLista) + + If lnNRF > 0 + Dimension taArray[lnNrf, 1] + + For i = 1 To lnNRF + lcF1 = Left(lcLista, At(lcSeparator, lcLista) - 1) + + If i!= lnNRF + lcLista = Substr(lcLista, At(lcSeparator, lcLista) + 1) + Endif + + taArray[i] = lcF1 + Endfor + Else + lnNRF = 0 + Endif + + Return lnNRF + +Endproc && lista2array + + +***------------------------------------------------------------------------------------------- +Procedure get_mask + Parameters tnint, tndec + + Local lnint, lndec + lnint = tnint + lndec = tndec + lnrest = Mod(lnint, 3) + + lcString = Replicate("9", lnrest) + lnint_ramas = lnint - lnrest + Do While lnint_ramas > 0 + lcString = lcString + " " + Replicate("9", 3) + lnint_ramas = lnint_ramas - 3 + Enddo + If lndec > 0 + lcString = lcString + "." + Replicate("9", tndec) + Endif + + Return lcString + +Endproc && get_mask +******************************************************************* +Function formateaza + Parameters tnValoare, tnNrCaractere, tnNrZecimale + Local lcValoare + lcValoare = Strtran(Alltrim(Transform(tnValoare, get_mask(tnNrCaractere, tnNrZecimale))), [.], [,]) + Return lcValoare +Endfunc && formateaza +******************************************************************* +Function tradu + Lparameters tcText + Local lcText + *!* lcText = CPCONVERT(CPCURRENT(1),1252,tcText) + lcText = tcText + If Type('glFontCharSet') <> 'U' + If !Nvl(glFontCharSet, .F.) + lcText = Strtran(Strtran(Strtran(Strtran(Strtran(lcText, Chr(227), [a]), Chr(238), [i]), Chr(226), [a]), Chr(186), [s]), Chr(254), [t]) + lcText = Strtran(Strtran(Strtran(Strtran(Strtran(lcText, Chr(195), [A]), Chr(206), [I]), Chr(194), [A]), Chr(170), [S]), Chr(222), [T]) + Endif + Endif + Return lcText +Endfunc +******************************************************************* +* PROCEDURE Get_Version( ) +* Date : 17/11/2004, 16:34:20 +* author : marius.mutu +* description: + +****** PARAMETER BLOCK ************** +* Parameters : 0 +* +******************************************* INCEPUT:Get_Version ******************************************* +Procedure Get_Version(tlNoRevision, tlInfo, tcfilename) + Local laVersion, lcVersion, lcFileName + + *-- Get Version Information + *-- Added 4-1-98 BDC + Local lcVersionText, lcFileName, llNoRevision, llInfo + + Dimension aVersion(12) + + If Empty(tcfilename) + lcFileName = Sys(16, 0) + Else + lcFileName = tcfilename + Endif + llNoRevision = tlNoRevision + llInfo = tlInfo + + + + *** EGL: 2002.1.2 17:06 - switched to AGETFILEVERSION(). + If Val(Substr(Version(), 15)) >= 6 + * The AGETFILEVERSION() function was introduced in VFP 6 + + *!* DECLARE STRING GetCommandLine IN Kernel32 + *!* lcFileName = GetCommandLine() + lcVersionText = "" + + *!* IF GetFileVersion(&lcFileName,@aVersion) = 0 + If Agetfileversion(aVersion, lcFileName) > 0 + If !llInfo + * daca vreau doar numarul versiunii + lcVersion = Allt(aVersion(4)) + If llNoRevision + * daca nu vreau si revizia + lnPos = Rat('.', lcVersion, 1) + Else + lnPos = Len(lcVersion) + Endif + lcVersionText = Left(lcVersion, lnPos) + Else + * vreau toata informatia despre fisier + If Not Empty(aVersion(1)) + lcVersionText = Allt(aVersion(1)) + Endif + + If Not Empty(aVersion(2)) + lcVersionText = lcVersionText + Chr(10) + "Produs de: " + Allt(aVersion(2)) + Endif + + If Not Empty(aVersion(3)) + lcVersionText = lcVersionText + Chr(10) + "Descriere: " + Allt(aVersion(3)) + Endif + + If Not Empty(aVersion(4)) + lcVersionText = lcVersionText + Chr(10) + "Versiune fisier: " + Allt(aVersion(4)) + Endif + + If Not Empty(aVersion(5)) + lcVersionText = lcVersionText + Chr(10) + "Nume intern: " + Allt(aVersion(5)) + Endif + + If Not Empty(aVersion(6)) + lcVersionText = lcVersionText + Chr(10) + "Copyright: " + Allt(aVersion(6)) + Endif + + If Not Empty(aVersion(7)) + lcVersionText = lcVersionText + Chr(10) + "Marca inregistrata: " + Allt(aVersion(7)) + Endif + + If Not Empty(aVersion(8)) + lcVersionText = lcVersionText + Chr(10) + "Nume fisier: " + Allt(aVersion(8)) + Endif + + If Not Empty(aVersion(9)) + lcVersionText = lcVersionText + Chr(10) + "Private Build: " + Allt(aVersion(9)) + Endif + + If Not Empty(aVersion(10)) + lcVersionText = lcVersionText + Chr(10) + "Nume produs: " + Allt(aVersion(10)) + Endif + + If Not Empty(aVersion(11)) + lcVersionText = lcVersionText + Chr(10) + "Versiune produs: " + Allt(aVersion(11)) + Endif + + If Not Empty(aVersion(12)) + lcVersionText = lcVersionText + Chr(10) + "Special Build: " + Allt(aVersion(12)) + Endif + + If Empty(lcVersionText) + lcVersionText = "" + Endif + Endif + Else + + lcVersionText = "" + + Endif + + Else + lcVersionText = "" + Endif + Return lcVersionText + +Endproc +******************************************* SFARSIT: Get_Version ******************************************* + + +* PROCEDURE Get_Hexa( tnDeca ) +* Date : 18/11/2004, 17:56:48 +* author : marius.mutu +* description: transforma un Deca in Hexa + +****** PARAMETER BLOCK ************** +* Parameters : 1 +* Parameter 1: Numarul in Deca +* +******************************************* INCEPUT:Get_Hexa ******************************************* +Procedure Get_Hexa( tnDeca ) + Local laHexa, lnHexa, lnDeca + + + If Empty(tnDeca) + lnDeca = 0 + Else + lnDeca = tnDeca + Endif + + Dimension laHexa[16] + laHexa[1] = '0' + laHexa[2] = '1' + laHexa[3] = '2' + laHexa[4] = '3' + laHexa[5] = '4' + laHexa[6] = '5' + laHexa[7] = '6' + laHexa[8] = '7' + laHexa[9] = '8' + laHexa[10] = '9' + laHexa[11] = 'A' + laHexa[12] = 'B' + laHexa[13] = 'C' + laHexa[14] = 'D' + laHexa[15] = 'E' + laHexa[16] = 'F' + + lnHexa = '' + + Do While lnDeca > 0 + lnrest = Mod(lnDeca, 16) + lcHexa = laHexa[lnRest + 1] + lnDeca = Int(lnDeca / 16) + + lnHexa = lcHexa + lnHexa + lnrest = Mod(lnDeca, 16) + + Enddo + + Return lnHexa + +Endproc +******************************************* SFARSIT: Get_Hexa ******************************************* +&& completeaza cu spatii si CRLF un mesaj a.i. pe fiecare linie sa fie lnLength caractere +Function format_msg + Parameters tcErrMsg, tnLength + Local lnLength, lcLinie, lcMesaj, lnPoz, lnCate, i, j + lcMesaj = "" + If Empty(tnLength) + lnLength = 50 && numarul de caractere pe linie + Else + lnLength = tnLength + Endif + i = 1 + If At(Chr(13) + Chr(10), tcErrMsg, i) > 0 + lnCate = At(Chr(13) + Chr(10), tcErrMsg, i) + 1 + i = i + 1 + Else + lnCate = Min(lnLength, Rat(' ', Substr(tcErrMsg, 1, lnLength)) - 1) + Endif + lnPoz = 1 + *!* lcLinie=Substr(tcErrMsg,1,lnCate) + + Do While lnPoz < Len(tcErrMsg) + lcLinie = Substr(tcErrMsg, lnPoz, lnCate) + + If Right(lcLinie, 2) = Chr(13) + Chr(10) + lcLinie = Alltrim(Substr(lcLinie, 1, Len(lcLinie) - 2)) + Else + lcLinie = Alltrim(lcLinie) + Endif + + j = Int((lnLength - Len(lcLinie)) / 2) + lcLinie = Iif(!Empty(lcLinie), Space(j) + lcLinie + Space(j), "") + lcMesaj = lcMesaj + lcLinie + Chr(13) + Chr(10) + + lnPoz = lnPoz + lnCate + + If At(Chr(13) + Chr(10), tcErrMsg, i) > 0 + lnCate = At(Chr(13) + Chr(10), tcErrMsg, i) + 2 - lnPoz + i = i + 1 + Else + lcNextChar = Substr(tcErrMsg, lnPoz + lnLength, 1) + lcLinieNoua = Substr(tcErrMsg, lnPoz, lnLength) + If lcNextChar!= ' ' And Len(lcLinieNoua) >= lnLength + lnCate = Min(lnLength, Rat(' ', lcLinieNoua) - 1) + Else + lnCate = lnLength + Endif + Endif + Enddo + Return lcMesaj +Endfunc && format_msg +***--------------------------------------------------------------------------------------------- +Procedure C_LUNA + Parameters tnnrluna + Do Case + Case tnnrluna = 1 + Return "IANUARIE" + Case tnnrluna = 2 + Return "FEBRUARIE" + Case tnnrluna = 3 + Return "MARTIE" + Case tnnrluna = 4 + Return "APRILIE" + Case tnnrluna = 5 + Return "MAI" + Case tnnrluna = 6 + Return "IUNIE" + Case tnnrluna = 7 + Return "IULIE" + Case tnnrluna = 8 + Return "AUGUST" + Case tnnrluna = 9 + Return "SEPTEMBRIE" + Case tnnrluna = 10 + Return "OCTOMBRIE" + Case tnnrluna = 11 + Return "NOIEMBRIE" + Case tnnrluna = 12 + Return "DECEMBRIE" + Otherwise + Return "" + Endcase +Endproc &&c_luna +***-------------------------------------------------------------------------------------- +***-------------------------------------------------------------------------------------- +Procedure CLUNA3 + Parameters tnnrluna + Do Case + Case tnnrluna = 1 + Return "Ian" + Case tnnrluna = 2 + Return "Feb" + Case tnnrluna = 3 + Return "Mar" + Case tnnrluna = 4 + Return "Apr" + Case tnnrluna = 5 + Return "Mai" + Case tnnrluna = 6 + Return "Iun" + Case tnnrluna = 7 + Return "Iul" + Case tnnrluna = 8 + Return "Aug" + Case tnnrluna = 9 + Return "Sep" + Case tnnrluna = 10 + Return "Oct" + Case tnnrluna = 11 + Return "Noi" + Case tnnrluna = 12 + Return "Dec" + Otherwise + Return Space(3) + Endcase +Endproc &&cluna3 +***-------------------------------------------------------------------------------------- +***------------------------------------------------------------------------------------ +Procedure cluna + Parameters tcGrup, tcTipCumul, tcAn + + lcTipCumul = Upper(Alltrim(tcTipCumul)) + lcAn = Alltrim(tcAn) + lcgrup = Alltrim(tcGrup) + lnGrup = Val(lcgrup) + Do Case + Case lcTipCumul = "T" + lcret = "Trim. " + lcgrup + " " + lcAn + Case lcTipCumul = "S" + lcret = "Sem. " + lcgrup + " " + lcAn + Case lcTipCumul = "A" + lcret = "Anul " + lcAn + Otherwise + Do Case + Case lnGrup = 1 + lcret = "Ian " + lcAn + Case lnGrup = 2 + lcret = "Feb " + lcAn + Case lnGrup = 3 + lcret = "Mar " + lcAn + Case lnGrup = 4 + lcret = "Apr " + lcAn + Case lnGrup = 5 + lcret = "Mai " + lcAn + Case lnGrup = 6 + lcret = "Iun " + lcAn + Case lnGrup = 7 + lcret = "Iul " + lcAn + Case lnGrup = 8 + lcret = "Aug " + lcAn + Case lnGrup = 9 + lcret = "Sep " + lcAn + Case lnGrup = 10 + lcret = "Oct " + lcAn + Case lnGrup = 11 + lcret = "Noi " + lcAn + Case lnGrup = 12 + lcret = "Dec " + lcAn + Otherwise + lcret = lcAn + Endcase + Endcase + Return lcret +Endproc &&cluna +***------------------------------------------------------------------------------------ +***------------------------------------------------------------------------------------ +Procedure get_trimestru + Parameters tnNrTrim + Do Case + Case tnNrTrim = 1 + Return "Trim. I" + Case tnNrTrim = 2 + Return "Trim. II" + Case tnNrTrim = 3 + Return "Trim. III" + Case tnNrTrim = 4 + Return "Trim. IV" + Otherwise + Return Space(7) + Endcase +Endproc && get_trimestru +***-------------------------------------------------------------------------------------- +Procedure get_semestru + Parameters tnNrSem + Do Case + Case tnNrSem = 1 + Return "Sem. I" + Case tnNrSem = 2 + Return "Sem. II" + Otherwise + Return Space(7) + Endcase +Endproc && get_semestru +***-------------------------------------------------------------------------------------- +Function Lista_Campuri + Lparameters tcAlias + + Local lcSelect, i, lcAlias, lcLista + lcLista = [] + lcSelect = Select() + lcAlias = tcAlias + + Select (lcAlias) + lnFields = Fcount() + For i = 1 To lnFields + lcField = Field(i) + lcLista = lcLista + [,] + lcField + Endfor + If !Empty(lcLista) + lcLista = Substr(lcLista, 2) + Endif + + Select (lcSelect) + Return lcLista + +Endfunc && Lista_Campuri +***---------------------------------------- + +Procedure NRORD + Parameters ALI + Sele &ALI + A = Reccount() + If A = 0 + Return + Endif + If A > 65000 + Return 0 + Endif + Declare NROR(A) + K = 0 + Scan + K = K + 1 + NROR(K) = Recno() + Endscan + Return + + ******************** +Function NRCRT + NR = Ascan(NROR, Recno()) + Return NR + ********************** + + ***---------------------------------------- +Function caps_first + Lparameters tcMesaj + Local lcMesaj + If !Empty(tcMesaj) And Len(tcMesaj) > 1 + lcMesaj = Upper(Substr(tcMesaj, 1, 1)) + Strtran(Lower(Substr(tcMesaj, 2)), [oracle], [Oracle]) + Else + lcMesaj = Upper(tcMesaj) + Endif + Return lcMesaj +Endfunc && caps_first +***---------------------------------------- + +*!* FUNCTION ultima_zi_din_luna +*!* PARAMETERS tcAnul, tcLuna +*!* +*!* LOCAL ldData +*!* ldData = DATE(VAL(tcAnul),VAL(tcLuna), 1) +*!* ldData = GOMONTH(ldData,1) +*!* ldData = DATE(YEAR(ldData),MONTH(ldData), 1) - 1 +*!* RETURN ldData +*!* ENDFUNC + +Function ultima_zi_din_luna + Parameters tcAnul, tcLuna + + Local ldData, lcAnul, lcLuna + + If Type('tcAnul') = 'N' + lcAnul = Transform(tcAnul) + Else + lcAnul = tcAnul + Endif + If Type('tcLuna') = 'N' + lcLuna = Transform(tcLuna) + Else + lcLuna = tcLuna + Endif + + ldData = Date(Val(lcAnul), Val(lcLuna), 1) + ldData = Gomonth(ldData, 1) + ldData = Date(Year(ldData), Month(ldData), 1) - 1 + Return ldData +Endfunc + + + +****************************************************************************** + +Procedure viz_prg_instalat + If Used('v_programe_instalate') + Use In v_programe_instalate + Endif + *!* lcSql = [select * from vdef_util_programe where id_util=]+Alltrim(Str(gnIdUtil))+; + *!* [ order by ordine] + lcSql = [{call contafin_oracle.pack_drepturi.programe_utilizator(] + Alltrim(Str(gnIdUtil)) + [)}] + lcCursor = [v_programe_instalate] + lnSucces = goExecutor.oExecute(lcSql, lcCursor) + goExecutor.Oreset() + +Endproc +****************************************************************************** +Procedure lansare_toolbar + + Do viz_prg_instalat In oproceduri_comune.prg + + If Used('v_programe_instalate') And Reccount('v_programe_instalate') > 0 + + + If Used('v_programe_favorite') + Use In v_programe_favorite + Endif + Select * From v_programe_instalate Where favorit = 1 And Upper(Alltrim(nume)) <> Iif(Type('gcNumeProgram') = 'U', '<>', gcNumeProgram) ; + Order By ordine_favorit Into Cursor v_programe_favorite + If Reccount('v_programe_favorite') > 0 + otool = Createobject('toolset') + With otool.tool1 + Local i + i = 0 + Select v_programe_favorite + Scan + i = i + 1 + *!* modificare 15.10.2007 + *!* If Type('gcappname')='C' + *!* If gcappname=Upper(Alltrim(nume)) + *!* Loop + *!* Endif + *!* Endif + *!* modificare 15.10.2007 ^ + + lnParametru_prog = parametru_prog && pt. programul de Contracte - clienti si furnizori + lcParametru_prog = Alltrim(Str(Nvl(lnParametru_prog, 0))) + + lnIdProgram = id_program + lcIdProgram = Alltrim(Str(lnIdProgram)) + lcNumeProgram = Proper(Alltrim(explicatie)) + + lcImagine = Upper(Alltrim(nume)) + ".png" &&nume poza + + lcCaleImagine = gcappPath + 'grafice\' + lcImagine &&cale imagine + If !File(lcCaleImagine) + lcImagine = 'na.png' + lcCaleImagine = gcappPath + 'grafice\na.png' + Endif + lnIdGrupProg = id_grup_prog + lnIdGrupProgFav = 0 + If Like([*.htm], Lower(Alltrim(nume))) Or Like([*.html], Lower(Alltrim(nume))) + lcComandaProgram = dirgen + Iif(Empty(Director), Alltrim(nume), Alltrim(Director)) + [\] + ; + Alltrim(nume) + Else + lcCaleProgram = dirgen + Iif(Empty(Director), Juststem(nume), Alltrim(Director)) + [\] + ; &&cale program + Juststem(Alltrim(nume)) + [.exe] + lcParametru = gcHost + [;] + gcuserName + [;] + gcPassword + [;] + Alltrim(Str(gnIdUtil)) + [;] + ; + lcIdProgram + [;] + lcParametru_prog + [;] &¶metri + lcComandaProgram = [run /n ] + lcCaleProgram + [ ] + lcParametru + Endif + + + lcImgNume = "img_" + lcIdProgram + "_" + lcParametru_prog + + If lnIdProgram > 0 + .AddObject(lcImgNume, 'img_program') + .&lcImgNume..comanda_program = lcComandaProgram &&adaug poza + .&lcImgNume..Picture = lcImagine + .&lcImgNume..ToolTipText = lcNumeProgram + .&lcImgNume..Visible = .T. + Endif + + Endscan + .Dock(0) + .Show + Endwith + Endif + Endif + + If Used('v_programe_instalate') + Use In v_programe_instalate + Endif + + If Used('v_programe_favorite') + Use In v_programe_favorite + Endif + +Endproc +***--------------------------------------------------------------------------------------------------------------------------------------- +***--------------------------------------------------------------------------------------------------------------------------------------- +Procedure ceretitlu_rap + Parameters tcMesaj, tctitlu + + Local lcTitlu + lcTitlu = tctitlu + obj1 = Createobject("frm_cere_titlu") + obj1.clb_tx_simplu1.lb_simplu1.Caption = tcMesaj + obj1.clb_tx_simplu1.text_simplu1.ControlSource = 'lctitlu' + obj1.Show(1) + Return lcTitlu + +Endproc +***--------------------------------------------------------------------------------------------------------------------------------------- +Procedure cursor2lista + Lparameters tcCursor, tcColumn, tcSeparator, tcFilter + && tcCursor - cursor + && tcColumn - coloana din cursor care va constitui lista + && tcSeparator separatorul de elemente din tcLista - default este ";" - este optional + && tcFilter - optional = filtru pentru tabel + && intoarce lista de valori separate prin separatori + && ex: lcLista = cursor2lista("cursor","id",";") + + Local lcLista, lcSeparator, lcSelect, lcFilter + + lcLista = "" + lcSeparator = Iif(!Empty(tcSeparator) And Type('tcSeparator') = 'C', tcSeparator, ";") + lcFilter = Iif(Empty(m.tcFilter), '.T.', m.tcFilter) + If Used(tcCursor) + lcSelect = Select() + lcColumn = tcCursor + "." + tcColumn + If Type(lcColumn) # 'U' + Select * From (tcCursor) Into Cursor crsListaTemp + + Select crsListaTemp + Scan For &lcFilter + lcLista = lcLista + Alltrim(Transform(Evaluate(tcColumn))) + lcSeparator + Endscan + Use In crsListaTemp + + If !Empty(lcLista) + lcLista = Left(lcLista, Len(lcLista) - 1) + Endif + Endif + + + Select (lcSelect) + Endif + + Return lcLista + +Endproc && cursor2lista + +***------------------------------------------------------------------------------------------- +***------------------------------------------------------------------------------------------- +Procedure GETCALLSTACK + Local nPos + nPos = Program(-1) - 2 + + + Local cCallStack, i + cCallStack = "" + For i = nPos To 1 Step - 1 + cCallStack = cCallStack + Program(i) + Chr(13) + Chr(10) + Endfor + + + Return cCallStack + +Endproc && GETCALLSTACK +***------------------------------------------------------------------------------------------- +&& -------------------------- INCEPUT verific_cont ------------------------------ +Procedure verific_cont + Parameters tcCont, tlNoMessage + + Private pcCont + pcCont = Alltrim(tcCont) + + && verificare contului cu Planul de Conturi + lcSel = [SELECT cont from ] + GCS + [.vplcont_sintetic WHERE TRIM(cont) = ?pcCont and an = ?gnAn ] + lcCursor = 'crs_verific' + lnSucces = goExecutor.oExecute(lcSel, lcCursor) + If lnSucces < 0 + amessagebox(goExecutor.cEroare, 0 + 16, "Eroare") + Endif + + If lnSucces > 0 + If Reccount('crs_verific') = 0 + lnSucces = -1 + Endif + Endif + + If lnSucces < 0 And !tlNoMessage + amessagebox('Acest cont nu este definit in planul de conturi!', 0 + 48, 'Atentie') + Endif + + Return lnSucces + +Endproc + +&& -------------------------- SFARSIT verific_cont ------------------------------ + +* ===================== GetHash ==================================== +* INTOARCE UN OBIECT DE TIP HASH CREAT DIN tcPropertyValueList +*!* loHash = GetHash([cselect=>select id, name from test??cwhere=>id=pnId??corder=>name]) +*!* lnMembers = AMEMBERS(laMembers, loHash) +*!* FOR i = 1 TO lnMembers +*!* MESSAGEBOX(loHash.&laMembers(i)) +*!* ENDFOR +* ================================================================== +Function GetHash + Lparameters tcPropertyValueList + + Local loHash + + loHash = Createobject("MyHash", tcPropertyValueList) + Return loHash + +Endfunc + + +* ===================== MyHash ==================================== +* OBIECT EMULARE HASH +* loHash = GetHash([cselect=>select id, name from test??cwhere=>id=pnId??corder=>name]) +* ================================================================== +Define Class MyHash As Custom + + + Procedure ReadMe + If .F. + Local loHash + loHash = Createobject("MyHash", [cselect=>select id, name from test??cwhere=>id=pnId??corder=>name]) + Endif + Endproc && readme + + *!* sir "proprietate1=>valoare1??proprietate2=>valoare2" + *!* genereaza proprietati si valori din sirul initial + Procedure Init + Lparameters tcPropertyValueList + + Local i, lnProperties, lcPropertyValue, lcValue, luValue + + && tcPropertyValueList = [cselect =>ala bala portocala??cfiltru=>un filtru - atentie la spatiile din stanga valorii] + If Type('tcPropertyValueList') = 'C' And !Empty(tcPropertyValueList) + lnProperties = Getwordcount(tcPropertyValueList, '??') + For i = 1 To lnProperties + lcPropertyValue = Alltrim(Getwordnum(tcPropertyValueList, i, '??')) + If At('=>', lcPropertyValue) > 0 + lcProperty = Getwordnum(Strtran(lcPropertyValue, '=>', Chr(18)), 1, Chr(18)) + lcValue = Getwordnum(Strtran(lcPropertyValue, '=>', Chr(18)), 2, Chr(18)) + luValue = This.GetDefaultValue(lcProperty, lcValue) + This.SetValue(lcProperty, luValue) + Endif + Endfor + Endif + Endproc && INIT + + *!* Seteaza valoarea unei proprietati daca exista sau adauga proprietatea, si intoarce valoarea + Procedure SetValue + Lparameters tcProperty, tuValue + + If Type('THIS.&tcProperty') <> 'U' + This.&tcProperty = tuValue + Else + This.AddProperty(tcProperty, tuValue) + Endif + + Return This.&tcProperty + + Endproc && SetValue + + *!* Intoarce valoarea unei proprietati daca exista, altfel valoarea empty() corespunzator tipului proprietatii + Function GetValue + Lparameters tcProperty + + Local lcProperty, luValue + lcProperty = 'THIS.' + tcProperty + + If Type('THIS.&tcProperty') <> 'U' + luValue = This.&tcProperty + Else + luValue = This.GetDefaultValue(tcProperty) + Endif + Return luValue + + Endfunc && GetValue + + *!* Intoarce valoarea empty() a unei proprietati dupa tip = prima litera din numele proprietatii daca nu primeste decat tcProperty + *!* Converteste tcValue la tipul variabilei tcProperty daca tcValue e primit ca parametru + Function GetDefaultValue + Lparameters tcProperty, tcValue + + Local lcType, luValue + luValue = "" + lcType = Upper(Left(tcProperty, 1)) + llEmptyValue = Iif(Pcount() = 1, .T., .F.) + + Do Case + Case lcType $ "CM" + luValue = Iif(llEmptyValue, '', tcValue) + Case lcType $ "NIF" + luValue = Iif(llEmptyValue, 0, Val(tcValue)) + Case lcType = "T" + luValue = Iif(llEmptyValue, Dtot({}), Ctot(tcValue)) + Case lcType = "D" + luValue = Iif(llEmptyValue, {}, Ctod(tcValue)) + Case lcType = "L" + luValue = Iif(llEmptyValue, .F., Iif(tcValue = "1" Or Upper(tcValue) = "T" Or Upper(tcValue) = '.T.' Or Upper(tcValue) = 'YES', .T., .F.)) + Otherwise + luValue = "" + Endcase + + Return luValue + Endfunc && GetDefaultValue + + *!* Intoarce .T. daca exista proprietatea + Function HasProperty + Lparameters tcProperty + + Local lcProperty, llReturn + lcProperty = 'THIS.' + tcProperty + llReturn = .F. + + If Type('THIS.&tcProperty') <> 'U' + llReturn = .T. + Endif + + Return llReturn + + Endfunc && HasProperty + +Enddefine && Hash + +Function get_zileluc( ) + + lnzileluc = 0 + lcSql = [select zileluc from ] + GCS + [.sal_calendar where an=?gnan and luna=?gnluna] + lcCursor = [v_zileluc] + lnSucces = goExecutor.oExecute(lcSql, lcCursor) + goExecutor.Oreset() + If lnSucces < 0 + amessagebox(goExecutor.cEroare, 0 + 16, "Eroare") + Return + Else + Select v_zileluc + lnzileluc = zileluc + Endif + Return lnzileluc + + ******************************************* + * PROCEDURE param_listari( tcraport, tcTitlu, tcSemnaturi ) + * Date : 07/28/05, 14:04:21 + * author : liana.macinic + * description: + + ****** PARAMETER BLOCK ************** + * Parameters : 3 + * Parameter 1: + * Parameter 2: + * Parameter 3: + * + ******************************************* +Procedure param_listari( tcraport, tctitlu, tcSemnaturi, tlFaraTab) + Store '' To tctitlu, tcSemnaturi + + Local lnIdRaport + If Used('v_raport') + Use In v_raport + Endif + + lcSql = [select id_raport,titlu from ] + GCS + [.sal_nom_rapoarte where UPPER(raport) = '] + Upper(Alltrim(tcraport)) + ['] + lcCursor = [v_raport] + lnSucces = goExecutor.oExecute(lcSql, lcCursor) + goExecutor.Oreset() + If lnSucces < 0 + amessagebox(goExecutor.cEroare, 0 + 16, "Eroare") + Return + Endif + Select v_raport + lnIdRaport = v_raport.id_raport + tctitlu = v_raport.titlu + Use + + + If Used('v_date') + Use In v_date + Endif + + lcSql = [select semnatura,NUME from ] + GCS + [.sal_semnaturi_rap where id_raport = ] + Alltrim(Str(lnIdRaport)) + [ and sters = 0 order by ordine] + lcCursor = [v_date] + lnSucces = goExecutor.oExecute(lcSql, lcCursor) + goExecutor.Oreset() + If lnSucces < 0 + amessagebox(goExecutor.cEroare, 0 + 16, "Eroare") + Return + Endif + + Local lcSemn, lcNumeRap, lcListaNumeRap + Store '' To lcSemn, lcNumeRap, lcListaNumeRap + + + Select v_date + Scan + Scatter Name lcDateRap Memo + lcSemn = Alltrim(Nvl(lcDateRap.semnatura, "")) + lcNumeRap = Alltrim(Nvl(lcDateRap.nume, '')) + If Len(lcSemn) => Len(lcNumeRap) + lcNumeRap = Padr(lcNumeRap, Len(lcSemn), " ") + Else + lcSemn = Padr(lcSemn, Len(lcNumeRap), " ") + Endif + If tlFaraTab + tcSemnaturi = tcSemnaturi + lcSemn + Else + tcSemnaturi = tcSemnaturi + Chr(9) + Chr(9) + lcSemn + Endif + + If tlFaraTab + lcListaNumeRap = lcListaNumeRap + lcNumeRap + Else + lcListaNumeRap = lcListaNumeRap + + Chr(9) + Chr(9) + lcNumeRap + Endif + Endscan + + tcSemnaturi = tcSemnaturi + Chr(13) + lcListaNumeRap + *!* SELECT v_date + *!* SCAN + *!* tcSemnaturi = tcSemnaturi+CHR(9)+CHR(9)+ALLTRIM(v_date.nume) + *!* ENDSCAN + *!* tcSemnaturi = tcSemnaturi+CHR(9)+CHR(9)+CHR(9)+CHR(9) + Select v_date + Use +Endproc +*----------------------------------sfarsit procedura param_listari---------------------------------- +** --------------------------------INCEPUT: facturi_duplicate ------------------------------ +Procedure facturi_duplicate + Parameters tcCont, tnId_Part, tcSerieAct, tnNract, tcMesajReturn + + Private pcCont, pnNract, pnId_part, pcSerieAct + Local lcMesaj, MesajReturn + lcMesaj = '' + pcCont = Alltrim(tcCont) + pnId_part = tnId_Part + pnNract = tnNract + pcSerieAct = Nvl(Iif(Empty(Alltrim(tcSerieAct)), Null, Alltrim(tcSerieAct)), '+_') + lcMesajReturn = tcMesajReturn + + If !(Alltrim(Nvl(Alltrim(tcSerieAct), []) + ' ' + Allt(Str(pnNract))) $ lcMesajReturn) + *!* modificare ROAFACTURARE v 2.0.46 + If Inlist(Allt(pcCont), '4111', '401', '404', '418', '408', '461', '462') + *!* If Inlist(Allt(pcCont),'4111','401','404') + *!* modificare ROAFACTURARE v 2.0.46 ^ + lnTotctva = 0 + Do Case + *!* modificare ROAFACTURARE v 2.0.46 + *!* Case Allt(pcCont) = '4111' + *!* lcSql = [select count(*) as nr_ireg, sum(debit) as debit from ireg_parteneri ]+; + *!* [ where an=?gnAn and luna=?gnLuna and cont = ?pcCont and nract = ?pnNract] + ; + *!* [ and NVL(serie_act,'+_') = ?pcSerieAct ]+; + *!* [ and extract(year from dataireg)*12+extract(month from dataireg) = ?gnAn*12+?gnLuna ] + *!* lcCursor = [crsFactDbl] + *!* lnSucces = goExecutor.oExecute(lcSql,lcCursor) + *!* goExecutor.Oreset() + *!* If lnSucces < 0 + *!* AMESSAGEBOX(goExecutor.cEroare,0+16,'Eroare') + *!* Return + *!* Endif + *!* Select crsFactDbl + *!* If nr_ireg > 0 + *!* lnTotctva = debit + *!* lcMesaj = 'Factura '+Alltrim(Alltrim(Nvl(tcSerieAct,[]))+' '+Allt(Str(pnNract))) + ", "+ Alltrim(Transform(lnTotctva, get_mask(14,GnPA)))+' lei, mai exista inregistrata in luna curenta.' + *!* Endif + Case Inlist(Allt(pcCont), '4111', '418', '461') + lcSql = [select count(*) as nr_ireg, sum(debit) as debit,] + ; + [TO_NUMBER(NVL(pack_sesiune.getoptiunefirma('NRLUNIVERIFICARENRDOC'),0)) as nrluni ] + ; + [from ireg_parteneri ] + ; + [where an*12+luna between ] + Alltrim(Str(gnAn)) + [*12+] + Alltrim(Str(gnLuna)) + ; + [-TO_NUMBER(NVL(pack_sesiune.getoptiunefirma('NRLUNIVERIFICARENRDOC'),0)) ] + ; + [and ] + Alltrim(Str(gnAn)) + [*12+] + Alltrim(Str(gnLuna)) + [ ] + ; + [and cont = '] + Alltrim(pcCont) + [' and nract = ] + Alltrim(Str(pnNract, 14, 0)) + [ ] + ; + [and NVL(serie_act,'+_') = '] + pcSerieAct + [' ] + ; + [and extract(year from dataireg)*12+extract(month from dataireg) between ] + ; + Alltrim(Str(gnAn)) + [*12+] + Alltrim(Str(gnLuna)) + ; + [-TO_NUMBER(NVL(pack_sesiune.getoptiunefirma('NRLUNIVERIFICARENRDOC'),0)) ] + ; + [and ] + Alltrim(Str(gnAn)) + [*12+] + Alltrim(Str(gnLuna)) + [ ] + gcCondSucursala + lcCursor = [crsFactDbl] + lnSucces = goExecutor.oExecute(lcSql, lcCursor) + goExecutor.Oreset() + If lnSucces < 0 + amessagebox(goExecutor.cEroare, 0 + 16, 'Eroare') + Return + Endif + + Select crsFactDbl + If nr_ireg > 0 + lnTotctva = debit + lcPerioadaVerificare = Dtoc(Gomonth(Date(gnAn, gnLuna, 1), (-1) * NrLuni)) + [ - ] + ; + Dtoc(Gomonth(Date(gnAn, gnLuna, 1), 1) - 1) + lcMesaj = Iif(INLIST(Alltrim(pcCont), '4111', '461'), 'Factura', 'Avizul') + ' ' + Alltrim(Alltrim(Nvl(tcSerieAct, [])) + ' ' + ; + Allt(Str(pnNract, 20, 0))) + ", " + Alltrim(Transform(lnTotctva, get_mask(14, GnPc))) + ; + ' lei, mai este inregistrat' + Iif(INLIST(Alltrim(pcCont), '4111', '461'), 'a', '') + ' in perioada ' + lcPerioadaVerificare + '.' + Endif + Release pnNrLuni + *!* modificare ROAFACTURARE v 2.0.46 ^ + Case Inlist(Allt(pcCont), '401', '404', '408', '462') + lcSql = [select count(*) as nr_ireg, sum(credit) as credit,] + ; + [TO_NUMBER(NVL(pack_sesiune.getoptiunefirma('NRLUNIVERIFICARENRDOC'),0)) as nrluni ] + ; + [ from ireg_parteneri ] + ; + [ where an*12+luna between ] + Alltrim(Str(gnAn)) + [*12+] + Alltrim(Str(gnLuna)) + ; + [-TO_NUMBER(NVL(pack_sesiune.getoptiunefirma('NRLUNIVERIFICARENRDOC'),0)) ] + ; + [ and ] + Alltrim(Str(gnAn)) + [*12+] + Alltrim(Str(gnLuna)) + ; + [ and cont = '] + Alltrim(pcCont) + [' and nract = ] + Alltrim(Str(pnNract, 14, 0)) + ; + [ and NVL(serie_act,'+_') = '] + pcSerieAct + [' ] + ; + [and extract(year from dataireg)*12+extract(month from dataireg) between ] + ; + Alltrim(Str(gnAn)) + [*12+] + Alltrim(Str(gnLuna)) + ; + [-TO_NUMBER(NVL(pack_sesiune.getoptiunefirma('NRLUNIVERIFICARENRDOC'),0)) ] + ; + [and ] + Alltrim(Str(gnAn)) + [*12+] + Alltrim(Str(gnLuna)) + ; + [ and id_part = ] + Alltrim(Str(m.pnId_part)) + [ ] + gcCondSucursala + lcCursor = [crsFactDbl] + lnSucces = goExecutor.oExecute(lcSql, lcCursor) + goExecutor.Oreset() + + If lnSucces < 0 + amessagebox(goExecutor.cEroare, 0 + 16, 'Eroare') + Return + Endif + + Select crsFactDbl + If nr_ireg > 0 + lnTotctva = credit + lcPerioadaVerificare = Dtoc(Gomonth(Date(gnAn, gnLuna, 1), (-1) * NrLuni)) + [ - ] + ; + Dtoc(Gomonth(Date(gnAn, gnLuna, 1), 1) - 1) + lcMesaj = 'Factura ' + Alltrim(Alltrim(Nvl(tcSerieAct, [])) + ' ' + Allt(Str(pnNract,20,0))) + ", " + Alltrim(Transform(lnTotctva, get_mask(14, GnPc))) + ' lei, mai exista inregistrata in perioada ' + lcPerioadaVerificare + '.' + Endif + *!* modificare v 2.0.132 + *!* Case Allt(pcCont) = '404' + *!* lcSql = [select count(*) as nr_ireg, sum(credit) as credit from vireg_parteneri ]+; + *!* [ where an=?gnAn and luna=?gnLuna and cont = ?pcCont and nract = ?pnNract]+; + *!* [ and NVL(serie_act,'+_') = ?pcSerieAct ]+; + *!* [ and extract(year from dataireg)*12+extract(month from dataireg) = ?gnAn*12+?gnLuna ]+; + *!* [ and id_part = ?pnId_part] + *!* lcCursor = [crsFactDbl] + *!* lnSucces = goExecutor.oExecute(lcSql,lcCursor) + *!* goExecutor.Oreset() + + *!* If lnSucces < 0 + *!* AMESSAGEBOX(goExecutor.cEroare,0+16,'Eroare') + *!* Return + *!* Endif + + *!* Select crsFactDbl + *!* If nr_ireg > 0 + *!* lnTotctva = credit + *!* lcMesaj = 'Factura '+Alltrim(Alltrim(Nvl(tcSerieAct,[]))+' '+Allt(Str(pnNract)))+ ", "+ Alltrim(Transform(lnTotctva, get_mask(14,GnPA)))+' lei, mai exista inregistrata in luna curenta.' + *!* Endif + *!* modificare v 2.0.132 ^ + Endcase + + Endif + Endif + + Return lcMesaj + +Endproc && facturi_duplicate +&& ------------------------------SFARSIT: facturi_duplicate ------------------------------ + +******************************************** +*** Verifica un numar si serie (optional) de factura clienti in vanzari in luna curenta +*** Intoarce .T. daca exista numarul de factura in luna curenta +******************************************** +Function VerificaFacturaClientiVanzari + Lparameters tnNrFactura, tcSerieFactura + * tcSerieFactura (optional) + + Private pnNrFactura, pcSerieFactura, pnCount + Local lcSql, llSucces, lcSelect, llExista + + lcSelect = Select() + pnNrFactura = tnNrFactura + pcSerieFactura = Iif(!Empty(Nvl(m.tcSerieFactura, '')), Alltrim(Transform(m.tcSerieFactura)), '') + pnCount = 0 + + lcSql = [SELECT COUNT(*) as nr FROM vanzari WHERE numar_act = ?pnNrFactura ] + Iif(!Empty(m.pcSerieFactura), [AND serie_act = ?pcSerieFactura ], []) + [AND extract(year FROM data_act) = ?gnAn AND extract(month FROM data_act) = ?gnLuna and sters = 0] + llSucces = goExecutor.oSelecteaza2Value(m.lcSql, @pnCount) + llExista = Nvl(m.pnCount, 0) > 0 + + Select (m.lcSelect) + Return m.llExista +Endfunc && VerificaNumarFacturaVanzari + +************************************ EncryptDecrypt **************************************** +*!* EncryptDecrypt +*!* EX: EncryptDecrypt("text to encrypt", "encrypt key", "encrypt") +*!* EX: EncryptDecrypt("text to decrypt", "decrypt key", "decrypt") +*!* EX: EncryptDecrypt("text to encrypt", "encrypt key", "encrypt","blowfish") +Function EncryptDecrypt + Lparameters tcText, tcPassword, tcMode, tcAlgorithm + && tcMode : ENCRYPT/DECRYPT + Local lcAlgorithm, lcReturn, lcString, lcPWD + Local loException As Exception + m.lcString = tcText + m.lcPWD = tcPassword + m.lcReturn = "" + lcAlgorithm = "" + If Type('tcAlgorithm') = 'C' + lcAlgorithm = tcAlgorithm + Endif + If lcAlgorithm = "blowfish" + If Upper(Alltrim(Transform(tcMode))) = "ENCRYPT" + lcReturn = Encrypt(m.lcString, m.lcPWD, 4, 0) + Else + Try + lcReturn = decrypt(m.lcString, Alltrim(m.lcPWD), 4, 0) + Catch To loException + If loException.ErrorNo = 2028 + polog.Log("S-a incercat decriptarea unui text care nu a fost generat cu algoritmul de criptare selectat.", Program()) + Else + polog.Log(loException.Message, Program()) + Endif + Endtry + Endif + Endif + *!* 18.03.2008 : am scos chr(0) de la sfarsitul textului decriptat + If At(Chr(0), m.lcReturn) > 0 And Upper(Alltrim(Transform(tcMode))) != "ENCRYPT" + m.lcReturn = Substr(m.lcReturn, 1, At(Chr(0), m.lcReturn) - 1) + Endif + *!* 18.03.2008 + Return m.lcReturn +Endfunc && EncryptDecrypt +*!* Function EncryptDecrypt +*!* Lparameters tcText, tcPassword, tcMode, tcAlgorithm +*!* && tcMode : ENCRYPT/DECRYPT +*!* *!* IF !'crypto'$LOWER(SET("Classlib")) +*!* *!* SET CLASSLIB TO CRYPTO.VCX ADDITIVE +*!* *!* ENDIF +*!* Local loCryptor, llNewCryptFll, lcAlgorithm +*!* loCryptor = Newobject("MyCrypt","crypto.vcx") +*!* Local loException As Exception +*!* Local lcReturn, lcString, lcPWD +*!* m.lcString = tcText +*!* m.lcPWD = tcPassword +*!* m.lcReturn = "" +*!* llNewCryptFll = .F. +*!* If Type('gnewcryptfll') <> 'U' +*!* llNewCryptFll = gnewcryptfll +*!* Endif +*!* lcAlgorithm = "" +*!* If Type('tcAlgorithm') = 'C' +*!* lcAlgorithm = tcAlgorithm +*!* Endif +*!* If !(lcAlgorithm = "blowfish" And llNewCryptFll) +*!* If Upper(Alltrim(Transform(tcMode))) = "ENCRYPT" +*!* loCryptor.EncryptSessionStreamString( m.lcString, m.lcPWD, @lcReturn) +*!* Else +*!* Try +*!* loCryptor.EncryptSessionStreamString( m.lcString, m.lcPWD, @lcReturn) +*!* Catch To loException +*!* If loException.ErrorNo=2028 +*!* polog.Log("S-a incercat decriptarea unui text care nu a fost generat cu algoritmul de criptare selectat.",Program()) +*!* Else +*!* polog.Log(loException.Message,Program()) +*!* Endif +*!* Endtry +*!* Endif +*!* Else +*!* If Upper(Alltrim(Transform(tcMode))) = "ENCRYPT" +*!* lcReturn=Encrypt(m.lcString, m.lcPWD,4,0) +*!* Else +*!* Try +*!* lcReturn=decrypt(m.lcString, Alltrim(m.lcPWD),4,0) +*!* Catch To loException +*!* If loException.ErrorNo=2028 +*!* polog.Log("S-a incercat decriptarea unui text care nu a fost generat cu algoritmul de criptare selectat.",Program()) +*!* Else +*!* polog.Log(loException.Message,Program()) +*!* Endif +*!* Endtry +*!* Endif +*!* Endif +*!* Release oCryptor +*!* *!* 18.03.2008 +*!* *!* am scos chr(0) de la sfarsitul textului decriptat +*!* If At(Chr(0),m.lcReturn) > 0 And Upper(Alltrim(Transform(tcMode))) != "ENCRYPT" +*!* m.lcReturn = Substr(m.lcReturn, 1, At(Chr(0),m.lcReturn)-1) +*!* Endif +*!* *!* 18.03.2008 +*!* Return m.lcReturn +*!* Endfunc && EncryptDecrypt +************************************ EncryptDecrypt **************************************** +Procedure lansare_help + + Do viz_prg_instalat In oproceduri_comune.prg + + If Used('v_programe_instalate') And Reccount('v_programe_instalate') > 0 + If Used('v_help') + Use In v_help + Endif + Select * From v_programe_instalate Where !Isnull(gruphelp) And nume == gcappname Into Cursor v_help + If Used('v_programe_instalate') + Use In v_programe_instalate + Endif + ohelp = Createobject('toolhelp') + + With ohelp.tool_help1 + lcImgNume = 'HELP' + .AddObject(lcImgNume, 'img_help') + If Used('v_help') And Reccount('v_help') > 0 And !Empty(gcCaleHelp) + + Select v_help + Local lcgrup, lcNume, lcIndex + lcgrup = Nvl(Alltrim(v_help.gruphelp), '') + lcNume = Nvl(Alltrim(v_help.numehelp), '') + lcIndex = Nvl(Alltrim(v_help.indexhelp), '') + lcComanda = dirgen + gcCaleHelp + '\' + lcgrup + '\' + lcNume + '\' + lcIndex + If File(lcComanda) + .&lcImgNume..Picture = '_active_help.ico' &&adaug poza + .&lcImgNume..comanda_program = lcComanda + Else + .&lcImgNume..comanda_program = 'INACTIV' + Endif + Else + .&lcImgNume..comanda_program = 'INACTIV' + Endif + .&lcImgNume..ToolTipText = 'Ajutor (F1)' + .&lcImgNume..Visible = .T. + + *!* modificare 17.11.2011 + .AddObject('stromfast', 'img_program') + With .stromfast + .Picture = 'romfast_suport.png' + .comanda_program = 'romfast_suport.exe' + .ToolTipText = 'ROMFAST suport tehnic (ALT+R)' + .Visible = .T. + Endwith + *!* modificare 17.11.2011 ^ + + *!* modificare 04.04.2016 + .AddObject('screenshot', 'img_program') + With .screenshot + .Picture = 'screenshot.png' + .comanda_program = 'roascreenshot.exe' + .ToolTipText = 'Captura ecran si email (ALT+S)' + .Visible = .T. + Endwith + *!* modificare 17.11.2011 + + .AddObject('chatbot', 'img_program') + With .chatbot + .Picture = 'chatbot.png' + .comanda_program = 'chatbot' + .ToolTipText = 'Chatbot Suport Tehnic (ALT+C)' + .Visible = .T. + Endwith + + .Dock(0) + .Show + Endwith + Endif + If Used('v_help') + Use In v_help + Endif + +Endproc +***************************************************** + +Procedure lansare_help_meniu + + If Type('ohelp.tool_help1') <> 'O' + Return + Endif + If !Empty(ohelp.tool_help1.Help.comanda_program) + If ohelp.tool_help1.Help.comanda_program <> 'INACTIV' + OPEN_DEFAULT_APP(ohelp.tool_help1.Help.comanda_program) + Else + amessagebox("Manualul de utilizare nu este configurat corect!", 0 + 48, "Atentie") + Endif + Else + amessagebox("Manualul de utilizare nu este instalat!", 0 + 48, "Atentie") + Endif + +Endproc +***************************************************** +Function getUserDocPath + Local lcAppPath, lcAppName, liAt, lcDirgen, lcUserDocPath + lcAppPath = Addbs(shortpath(Justpath(Sys(16, 0)))) + lcAppName = Allt(Uppe(Juststem(Sys(16, 0)))) + liAt = Rat("\", lcAppPath, 2) + lcDirgen = Addbs(Left(lcAppPath, liAt - 1)) + lcUserDocPath = lcDirgen + 'USERDOCSS\' + If !Directory(lcUserDocPath) + Md (lcUserDocPath) + Endif + lcUserDocPath = lcUserDocPath + lcAppName + '\' + If !Directory(lcUserDocPath) + Md (lcUserDocPath) + Endif + lcUserDocPath = lcUserDocPath + GCS + '\' + If !Directory(lcUserDocPath) + Md (lcUserDocPath) + Endif + + Return lcUserDocPath + +Endfunc +***************************************************** +Procedure copiaza_structura_cursor + Lparameters tcSursa, tcDestinatie + If !Empty(tcSursa) And !Empty(tcDestinatie) + If Used(tcSursa) + Dimension laStructura(1, 18) + If Used(tcDestinatie) + Use In (tcDestinatie) + Endif + Afields(laStructura, tcSursa) + Create Cursor (tcDestinatie) From Array laStructura + Release laStructura + Else + amessagebox("Eroare interna 2 - copiaza structura cursor", 16, "Eroare") + Endif + Else + amessagebox("Eroare interna 1 - copiaza structura cursor", 16, "Eroare") + Endif +Endproc && copiaza_structura_cursor +********************************************************************************************************* +Function citeste_optiune_firma + Lparameters tcOptiune, tlNumeProgram + Local lcCursor, lcVarType, luReturnValue + lcCursor = [crsoptiunefirma] + If Used(lcCursor) + Use In (lcCursor) + Endif + lcSql = [select varvalue,vartype from optiuni where varname = '] + Alltrim(tcOptiune) + ['] + ; + Iif(tlNumeProgram, [ and program = '] + Alltrim(gcNumeProgram) + ['], []) + lnSucces = goExecutor.oExecute(lcSql, lcCursor) + If lnSucces < 0 + amessagebox(goExecutor.cEroare, 16, "Eroare") + luReturnValue = Null + Else + If Reccount(lcCursor) > 0 + Select (lcCursor) + lcVarType = Upper(Alltrim(&lcCursor..Vartype)) + Do Case + Case lcVarType = "CHARACTER" + luReturnValue = Alltrim(&lcCursor..varvalue) + Case lcVarType = "CURRENCY" + luReturnValue = Ntom(Val(&lcCursor..varvalue)) + Case lcVarType = "NUMERIC" + luReturnValue = Val(&lcCursor..varvalue) + Case lcVarType = "DATETIME" + luReturnValue = Ctot(&lcCursor..varvalue) + Case lcVarType = "DATE" + luReturnValue = Ctod(&lcCursor..varvalue) + Case lcVarType = "LOGICAL" + luReturnValue = Iif(Inlist(Upper(Left(&lcCursor..varvalue, 1)), "T", "Y"), .T., .F.) + Otherwise + pcmsgbuff = "Tip de variabila globala invalid!" + pcmsgbuff = pcmsgbuff + Chr(13) + Chr(13) + "Numele variabilei: " + lcvarname + pcmsgbuff = pcmsgbuff + Chr(13) + "Tipul variabilei: " + lcVarType + pcmsgbuff = pcmsgbuff + Chr(13) + Chr(13) + "Contactati suportul tehnic." + = amessagebox(pcmsgbuff, 48) + pcmsgbuff = "" + luReturnValue = Null + Endcase + Else + amessagebox("Nu a fost gasita optiunea '" + tcOptiune + "' !", 16, "Eroare") + luReturnValue = Null + Endif + Use In (lcCursor) + Endif + + Return luReturnValue +Endfunc +********************************************************************************************************* +Procedure debug_dezvoltare + If Messagebox("Porniti debug?", 32 + 4 + 256, "Confirmare") = 6 + Debug + Suspend + Endif +Endproc && debug_dezvoltare +********************************************************************************************************* + + +**************************** inceput nvl2Default ***************************************************** +Procedure nvl2Default + Lparameters tcTableAlias, tcCampuriNull + * updatateaza cursorul si pune o valoare default pe toate coloanele, ; + cu exceptia celor din tcCampuriNull + * tcCampuriNull primeste lista de campuri separate prin ',' care nu vor fi modificate ; + de ex: "camp1,camp2," + + Local lnNrCol, i, lcSql, lctip, lcCampuriNull + + lctip = [] + lcSql = [update ] + tcTableAlias + [ set ] + lcCampuriNull = Iif(Type("tcCampuriNull") = "L", [], tcCampuriNull) + lcCampuriNull = Upper(Nvl(lcCampuriNull, [])) + If Right(lcCampuriNull, 1) # "," And Len(lcCampuriNull) > 0 + lcCampuriNull = lcCampuriNull + [,] + Endif + + Select(tcTableAlias) + lnNrCol = Afields(laCols) + + For i = 1 To lnNrCol + If (laCols(i, 1) + [,]) $ lcCampuriNull + Loop + Endif && daca este in lista, nu il adaugam + + If laCols(i, 2) = "C" Or laCols(i, 2) = "M" Or laCols(i, 2) = "V" + lctip = [''] && character, memo, varchar + Endif + If laCols(i, 2) = "B" Or laCols(i, 2) = "F" Or laCols(i, 2) = "I" Or laCols(i, 2) = "N" + lctip = [0] && double, float, integer, numeric + Endif + If laCols(i, 2) = "L" + lctip = [.f.] && logic + Endif + If laCols(i, 2) = "T" Or laCols(i, 2) = "D" + lctip = [{}] + Endif && date, datetime + + lcSql = lcSql + laCols(i, 1) + [ = NVL(] + laCols(i, 1) + [,] + lctip + [), ] + Endfor + + lcSql = Left(lcSql, Rat(',', lcSql) - 1) + &lcSql + Go Top && nu facea update in xitems pe coloanele xinputmask, filtru de pe ultima linie + +Endproc && nvl2Default ^ +************************************************************************************************* + +Procedure versiune + Lparameters lcvers + + External Array laVers + Local lcVersiune, lnNr + lcVersiune = [] + + lnNr = Alines(laVers, Nvl(lcvers, []), .T., ".") + If lnNr > 0 + For i = 1 To lnNr + laVers(i) = Replicate("0", 3 - Len(Alltrim(Nvl(laVers(i), [])))) + laVers(i) + lcVersiune = lcVersiune + laVers(i) + "." + Endfor + lcVersiune = Left(lcVersiune, Len(lcVersiune) - 1) + Else + lcVersiune = lcvers + Endif + Return lcVersiune + +Endproc && sfarsit versiune ^ +************************************************************************************************* +********************************************************************************************************* +Function sir2array + Lparameters tcSir, taArray, tcSeparator + + Local lcSeparator, lnValues, i, lcValue, luValue, lnPos + + External Array taArray + + If Empty(tcSeparator) + lcSeparator = ';' + Else + lcSeparator = tcSeparator + Endif + + lnValues = Alines(taArray, tcSir, 4, lcSeparator) + + Return lnValues + +Endfunc && sir2array +********************************************************************************************************* +*************************** +Function TooManyInstances(lnInstancesAllowed) + *************************** + #Define GW_CHILD 5 && 0x00000005 + #Define GW_HWNDNEXT 2 && 0x00000002 + #Define SW_MAXIMIZE 3 && 0x00000003 + #Define SW_NORMAL 1 && 0x00000001 + #Define WAIT_OBJECT_0 0 && 0x00000000 + #Define RF_MESAJ 0xA123 + + Local lcUniqueProperty, lcUniqueSemaphore, lnhSemaphore, lnHwnd, llReturn + If Pcount() = 0 + lnInstancesAllowed = 1 && default + Else + lnInstancesAllowed = Max(lnInstancesAllowed, 1) &&At least one + Endif + Do DeclareAPIs + lcUniqueSemaphore = Strtran(Justpath(Sys(16, 0)), "\", "") + *!* lcUniqueSemaphore = "968360BF-C7AD-4B62-A045-0A06D597EF18" + lcUniqueProperty = "E2429959-D873-4733-8182-7A3F14780A27" + &&& + *!* oTypeLib = CreateObject("scriptlet.typelib") + *!* lcUniqueSemaphore = substr(oTypeLib.GUID, 2, 36) + *!* oTypeLib1 = CreateObject("scriptlet.typelib") + *!* lcUniqueProperty = substr(oTypeLib1.GUID, 2, 36) + &&& + lnhSemaphore = CreateSemaphore(0, lnInstancesAllowed, lnInstancesAllowed, lcUniqueSemaphore) + If lnhSemaphore != 0 And WaitForSingleObject(lnhSemaphore, 0) != WAIT_OBJECT_0 + Do DeclareMoreAPIs + llReturn = .T. + lnHwnd = GetWindow(GetDesktopWindow(), GW_CHILD) + Do While lnHwnd != 0 && loop through all windows + If GetProp(lnHwnd, lcUniqueProperty) = 1 && does window have our unique property? + BringWindowToTop(lnHwnd) + *!* modificare v 2.0.23 + If IsIconic(lnHwnd) <> 0 + SendMessage(lnHwnd, RF_MESAJ, 0, 0) + Else + *!* modificare v 2.0.23 ^ + ShowWindow(lnHwnd, SW_NORMAL) + *!* modificare v 2.0.23 + Endif + *!* modificare v 2.0.23 ^ + llReturn = .T. + Exit + Endif + lnHwnd = GetWindow(lnHwnd, GW_HWNDNEXT) + Enddo + CloseHandle(lnHwnd) + CloseHandle(lnhSemaphore) + Clear Dlls "BringWindowToTop", "GetDesktopWindow", ; + "GetProp", "GetWindow", "ShowWindow", ; + "CloseHandle", "SendMessage", "IsIconic" + Else + = SetProp(_vfp.HWnd, lcUniqueProperty, 1) + _Screen.AddProperty("SemaphoreHandle", lnhSemaphore) + llReturn = .F. + Endif + Clear Dlls "CreateSemaphore", "GetLastError", ; + "SetProp" + Return (llReturn) +Endfunc +************************************************************************************************************************* +*************************** +Procedure DeclareAPIs() + *************************** + Declare Integer CloseHandle In Kernel32 Integer hObject + Declare Integer CreateSemaphore In Kernel32 Integer lpSemaphoreAttributes, Integer lInitialCount, Integer lMaximumCount, String lpName + Declare Integer SetProp In User32 Integer HWnd, String lpString, Integer hData + Declare Integer WaitForSingleObject In Kernel32 Integer hHandle, Integer dwMilliseconds +Endproc +************************************************************************************************************************* +*************************** +Procedure DeclareMoreAPIs() + *************************** + Declare Integer BringWindowToTop In Win32API Integer HWnd + Declare Integer GetDesktopWindow In User32 + Declare Integer GetProp In User32 Integer HWnd, String lpString + Declare Integer GetWindow In User32 Integer HWnd, Integer uCmd + Declare Integer ShowWindow In Win32API Integer HWnd, Integer nCmdShow + *!* modificare v 2.0.23 + Declare Integer SendMessage In User32 Integer HWnd, Integer Msg, Integer wParam, Integer Lparam + Declare Integer IsIconic In User32 Integer HWnd + *!* modificare v 2.0.23 ^ +Endproc +************************************************************************************************************************* + +************************************************************************************************** +*!* INTOARCE VALOAREA NOTNULL DACA EXPRESIA NU ESTE NULL SAU VALOAREA NULL DACA EXPRESIA ESTE NULL +************************************************************************************************** +Function nvl2 + Lparameters tcExpression, tuValueIfNotNull, tuValueIfNull + Local luReturn + luReturn = tuValueIfNotNull + + If Isnull(tcExpression) + luReturn = tuValueIfNull + Endif + + Return luReturn +Endfunc && nvl2 +************************************************************************************************************ +Procedure alege_vizualizare_raport + Lparameters tcCursorRaport, tcraport + Private pnButon, pnOptiune + If Reccount(tcCursorRaport) > 0 + pnButon = 1 + Do While pnButon = 1 + pnOptiune = 1 + ofrmaleg = Createobject('frm_aleg_vizualizare') + ofrmaleg.Show(1) + Do Case + Case pnButon <> 1 + Loop + Case pnOptiune = 1 + goExport.export2frx(tcCursorRaport, tcraport) + Case pnOptiune = 2 + goExport.export2xls(tcCursorRaport) + && tcAlias, tcNumeFisier, tcListaColoane, tcFiltru + Endcase + Release ofrmaleg + Enddo + Else + amessagebox("Nu exista inregistrari pentru listare!", 0 + 48, "Atentie") + Endif + Use In (tcCursorRaport) + Release pnButon, pnOptiune +Endproc +************************************************************************************************************ +**************************** +*!* Demonstrates the callback functionality +**************************** +*!* SET LIBRARY TO LOCFILE("vfpcompression.fll") +*!* ZipCallback("MyUnzipCallBack()") && Start Event Handling - Any Function/Procedure/Method (in scope of course) +*!* ?ZipOpen("MyZip.zip", "C:\", .F.) && create zip file +*!* ?ZipFile("C:\MyFile.txt", .F.) && compress file into zip +*!* ?ZipClose() && done zipping +*!* ?UnzipQuick("C:\MyZip.zip", "C:\") && unzip contents of Test.zip to C:\ +*!* ZipCallback("") && Stop Event Handling +*!* SET LIBRARY TO +Function MyUnzipCallBack + Lparameters tnBytesTotal + ***************************** + *!* Variables below are created on the fly + *!* by the FLL when the ZipCallback feature is used + + *!* Depends on the value of nZipEvent + *!* cZipObjectName && Name of Zip, File, or Folder being processed + + *!* Events that fire MyCallback + *!* 0 = Open Zip + *!* 1 = Start Zip/Unzip of File + *!* 2 = Read/Write File (nZipBytes will contain value of bytes read for event) + *!* 3 - End Zip/Unzip of File + *!* 4 - Folder Opened + *!* 5 - Close Zip + If nZipEvent = 2 + *!* Number of Bytes read (Event 3) + If !Empty(m.tnBytesTotal) + Wait Window cZipObjectName + ' ' + Transform(Int(m.nZipBytes / m.tnBytesTotal * 100)) + '% ...' Nowait + Else + Wait Window cZipObjectName + ' ' + Transform(m.nZipBytes) + ' bytes read' Nowait + Endif + Endif +Endfunc && MyUnzipCallBack +************************************************************************************************************ +*** Callback from the vfpconnection FLL - can be used to track operation progress +Procedure MyProgressHandler + Lparameters tcFile + Local lnProgress, lcFile + + lnProgress = 0 + lcFile = Iif(Empty(m.tcFile) Or Type('tcFile') <> 'C', '', m.tcFile) + If m.nConnectTotalBytes > 0 + m.lnProgress = Int(m.nConnectBytesSoFar / m.nConnectTotalBytes * 100) + Endif + + Wait Window m.lcFile + ' ' + Transform(m.lnProgress) + '% ...' Nowait +Endproc && MyProgressHandler +************************************************************************************************************ +Procedure apeleaza_calc + Do Case + Case File('C:\WINDOWS\CALC.EXE') + Run /N C:\Windows\Calc.Exe + Case File('C:\WINDOWS\SYSTEM32\CALC.EXE') + Run /N C:\Windows\SYSTEM32\Calc.Exe + Case File('C:\WINnt\system32\CALC.EXE') + Run /N C:\WINnt\SYSTEM32\Calc.Exe + Otherwise + lcMesaj = 'Aplicatia "Calculator" nu este instalata pe acest sistem!' + amessagebox(lcMesaj, 0 + 48, Iif(!Empty(Nvl(gcNumeProgram, [])), gcNumeProgram, "Atentie")) + Endcase +Endproc +************************************************************************* +Procedure apeleaza_notepad + Do Case + Case File('C:\WINDOWS\NOTEPAD.EXE') + Run /N C:\Windows\NOTEPAD.Exe + Case File('C:\WINnt\system32\NOTEPAD.EXE') + Run /N C:\WINnt\SYSTEM32\NOTEPAD.Exe + Otherwise + lcMesaj = 'Aplicatia "Notepad" nu este instalata pe acest sistem!' + amessagebox(lcMesaj, 0 + 48, Iif(!Empty(Nvl(gcNumeProgram, [])), gcNumeProgram, "Atentie")) + Endcase +Endproc +************************************************************************* +Procedure arata_modificari + Do Form frm_changelog +Endproc +************************************************************************* +Procedure arata_versiune + Do Form frm_about +Endproc +************************************************************************* +Procedure arata_manual + lansare_help_meniu() +Endproc +************************************************************************* + + +Function aInputBox + Lparameters tcPrompt, tcTitle, txDefaultValue, tnLeft, tnTop, ; + tcFormat, tcInputMask, tcPasswordChar + Private pcReturnValue + pcReturnValue = txDefaultValue + Local oInputBox + oInputBox = Createobject("aInputBox", tcPrompt, tcTitle, ; + txDefaultValue, tnLeft, tnTop, ; + tcFormat, tcInputMask, tcPasswordChar) + oInputBox.Show() + Return pcReturnValue +Endfunc && aInputBox + +************************************************** +Define Class aInputBox As Form + + + Height = 113 + Width = 318 + DoCreate = .T. + AutoCenter = .T. + Caption = "Input Box" + ControlBox = .F. + WindowType = 1 + Name = "frmInputBox" + + *-- empty value to return if Cancel is chosen; data type depends on data type of txValueIn + xemptyvalue = .F. + + *-- the default value (if any) + xdefaultvalue = .F. + + *-- the return value + xreturnvalue = .F. + + + Add Object lblinputbox As Label With ; + FontName = "Arial", ; + FontSize = 10, ; + FontCharSet = 238, ; + Alignment = 1, ; + Caption = "Introduceti valoarea ", ; + Height = 20, ; + Left = 6, ; + Top = 26, ; + Width = 190, ; + TabIndex = 1, ; + Name = "lblInputBox" + + + Add Object txtinputbox As TextBox With ; + FontName = "Arial", ; + FontSize = 10, ; + Century = 1, ; + Height = 24, ; + Left = 202, ; + SelectOnEntry = .T., ; + TabIndex = 2, ; + Top = 22, ; + Width = 110, ; + Name = "txtInputBox" + + + Add Object cmdok As CommandButton With ; + Top = 72, ; + Left = 84, ; + Height = 24, ; + Width = 72, ; + Caption = "Confirma", ; + FontCharSet = 238, ; + Default = .T., ; + TabIndex = 3, ; + Name = "cmdOK" + + + Add Object cmdcancel As CommandButton With ; + Top = 72, ; + Left = 172, ; + Height = 24, ; + Width = 72, ; + Cancel = .T., ; + Caption = "Renunta", ; + FontCharSet = 238, ; + TabIndex = 4, ; + Name = "cmdCancel" + + + Procedure Unload + With Thisform + If Type(".xReturnValue") = "C" + .xreturnvalue = Rtrim( .xreturnvalue) + Endif + pcReturnValue = .xreturnvalue + Endwith + Endproc + + + Procedure Init + Lparameters tcPrompt, tcTitle, txDefaultValue, tnLeft, tnTop, ; + tcFormat, tcInputMask, tcPasswordChar + If Type("tcPrompt") <> "C" + tcPrompt = "Introduceti valoarea " + Endif + If Type("tcTitle") <> "C" + tcTitle = "Input Box" + Endif + If !( Type("txDefaultValue") $ "CDNY") + * Valid input data types are C, D, N, and Y + txDefaultValue = "" && default to character data type + Endif + If Type("tcFormat") <> "C" + tcFormat = "" + Endif + If Type("tcInputMask") <> "C" + tcInputMask = "" + Endif + If Type("tcPasswordChar") <> "C" + tcPasswordChar = "" + Endif + If Len( Alltrim( tcPasswordChar)) > 1 + tcPasswordChar = Left( tcPasswordChar, 1) + Endif + Local llAutoCenter + If Pcount() < 5 && Top and Left parameters were not passed + tnLeft = 0 + tnTop = 0 + Else && Top and left parameters were passed but may not be numeric + If Type("tnTop") = "N" And Type("tnLeft") = "N" && both are numeric + llAutoCenter = .F. + Else && one or both is not numeric, so AutoCenter the form + tnLeft = 0 + tnTop = 0 + llAutoCenter = .T. + Endif + Endif + + With Thisform + .lblinputbox.Caption = Alltrim( tcPrompt) + .Caption = Alltrim( tcTitle) + .xdefaultvalue = txDefaultValue + .xreturnvalue = .xdefaultvalue + .txtinputbox.Value = .xdefaultvalue + .txtinputbox.Format = Alltrim( tcFormat) + .txtinputbox.InputMask = Alltrim( tcInputMask) + .txtinputbox.PasswordChar = tcPasswordChar + .Top = tnTop + .Left = tnLeft + .AutoCenter = llAutoCenter && Set AutoCenter last so it overrides Top and Left if .T. + + Do Case + Case Type("txDefaultValue") = "D" + .xemptyvalue = {} + Case Type("txDefaultValue") = "N" + .xemptyvalue = 0 + Case Type("txDefaultValue") = "Y" + .xemptyvalue = $ 0 + Otherwise + .xemptyvalue = "" + Endcase + Endwith + Endproc + + + Procedure cmdok.Click + With Thisform + .xreturnvalue = .txtinputbox.Value + .Release() + Endwith + Endproc + + + Procedure cmdcancel.Click + * + * If Cancel was chosen, return the empty value of the correct data type. + * + With Thisform + .xreturnvalue = .xemptyvalue + .Release() + Endwith + Endproc + + +Enddefine +* +*-- EndDefine: aInputBox +************************************************** + +************************************************** +*** intoarce ziua curenta daca luna contabila este egala cu luna calendaristica +*** intoarce ultima zi din luna contabila daca luna contabila nu este egala cu luna calendaristica +************************************************** +Function GetDataIreg + Local ldData + ldData = Ttod(Get_Ora()) + If Month(ldData) <> gnLuna Or Year(ldData) <> gnAn + ldData = ULTIMAZI() + Endif + Return m.ldData +Endfunc && GetDataIreg +************************************************** + +************************************************** +*** primeste tnNrluni = an*12+luna +*** intoarce anul si luna ca parametri prin referinta +*** ex: NrLuni2AnLuna(lnNrLuni, @lnAn, @lnLuna) +************************************************** +Procedure NrLuni2AnLuna + Lparameters tnNrLuni, tnAn, tnLuna + + tnLuna = INT(Mod(m.tnNrLuni, 12)) + tnAn = Int(m.tnNrLuni / 12) + If tnLuna = 0 + tnLuna = 12 + tnAn = m.tnAn - 1 + Endif +Endproc && NrLuni2AnLuna + +************************************************** +*** salveaza un cursor intr-un fisier XML in gcTempPath +*** intoarce calea fisierului xml daca s-a salvat cu succes +************************************************** +Function SaveCursor2XML + Lparameters tcAlias, tcXMLName + *** tcAlias: alias-ul cursorului (ex: tact) + *** tcXMLName: numele fisierului XML fara cale si extensie (ex: notafarapredefinire) + Local lcAlias, lcXMLFile, lcXMLName, lnBytes + + lcAlias = Iif(Empty(tcAlias), Alias(), m.tcAlias) + lcXMLName = Iif(Empty(tcXMLName), m.lcAlias, m.tcXMLName) + lcXMLFile = gcTempPath + Juststem(lcXMLName) + '.xml' + lnBytes = 0 + If Used(m.lcAlias) + lnBytes = Cursortoxml(m.lcAlias, m.lcXMLFile, 1, 2 + 512, 0, "1") + Endif + Return Iif(m.lnBytes > 0, m.lcXMLFile, '') +Endfunc && SaveCursor2XML + +************************************************** +*** transforma un xml salvat anterior in gcTempPath intr-un cursor +*** intoarce numele cursorului creat (alias), daca s-a gasit fisierul XML +************************************************** +Function RestoreXML2Cursor + Lparameters tcAlias, tcXMLName + *** tcAlias: alias-ul cursorului (ex: tact) + *** tcXMLName: numele fisierului XML fara cale si extensie (ex: notafarapredefinire) + Local lcAlias, lcXMLFile, lcXMLName, lnBytes + + lcAlias = Iif(Empty(tcAlias), Sys(2015), m.tcAlias) + lcXMLName = Iif(Empty(tcXMLName), m.lcAlias, m.tcXMLName) + lcXMLFile = gcTempPath + Juststem(lcXMLName) + '.xml' + If File(m.lcXMLFile) + Xmltocursor(m.lcXMLFile, m.lcAlias, 512) + Endif + + Return Iif(Used(m.lcAlias), m.lcAlias, '') +Endfunc && RestoreXML2Cursor + +************************************************** +*** verifica daca exista fisierul xml salvat prin SaveCursor2XML +*** intoarce +************************************************** +Function ExistsXML + Lparameters tcXMLName + *** tcXMLName: numele fisierului XML fara cale si extensie (ex: notafarapredefinire) + Local lcXMLFile, lcXMLName + + lcXMLName = Iif(Empty(tcXMLName), m.lcAlias, m.tcXMLName) + lcXMLFile = gcTempPath + Juststem(lcXMLName) + '.xml' + + Return Iif(File(m.lcXMLFile), m.lcXMLFile, '') +Endfunc && ExistsXML + +************************************************** +*** verifica daca exista fisierul xml salvat prin SaveCursor2XML +*** intoarce +************************************************** +Define Class BackupXML As Custom + + cBackupSet = "" && numele backupset-ului (un fisier xml in care se salveaza informatii despre fisierele xml, variabile etc. pentru acel backupset) + cBackupSetPath = "" && calea unde se salveaza backupset-ul (gcTempPath) + cBackupSetFile = "" && calea completa a fisierului backupset gcTempPath\backupset.xml + cBackupSetAlias = "" + lBackupSetExists = .F. && Se initializeaza in Init-ul clasei si la salvarea backupset-ului + lBackupSetLoaded = .F. + + Procedure Init + Lparameters tcBackupSet, tcBackupPath + Local lcBackupPath, lcBackupSet + + lcBackupSet = m.tcBackupSet + If Type('tcBackupPath') <> 'C' Or Empty(tcBackupPath) + lcBackupPath = m.gcTempPath + Else + lcBackupPath = m.tcBackupPath + Endif + If !(Empty(m.lcBackupSet) Or Empty(m.lcBackupPath)) + This.cBackupSetFile = Addbs(m.lcBackupPath) + Juststem(m.lcBackupSet) + '.xml' + Endif + Endproc && Init + + Procedure cBackupSetFile_ASSIGN + Lparameters tcBackupSetFile + + This.cBackupSetFile = m.tcBackupSetFile + If !Empty(m.tcBackupSetFile) + This.cBackupSetPath = Addbs(Justpath(m.tcBackupSetFile)) + This.cBackupSet = Juststem(m.tcBackupSetFile) + This.lBackupSetExists = File(This.cBackupSetFile) + This.LoadBackupSet() + Endif + Endproc && cBackupSetFile_ASSIGN + + Protected Procedure LoadBackupSet + + Local lcBackupSetAlias, lcBackupSetFile, lcSelect + lcSelect = Select() + lcBackupSetFile = This.cBackupSetFile + lcBackupSetAlias = This.cBackupSet + If File(m.lcBackupSetFile) + Xmltocursor(m.lcBackupSetFile, m.lcBackupSetAlias, 512) + *!* modificare ROACONT v 2.2.15 : pentru fisierele care aveau structura type/name/filename + If Type(lcBackupSetAlias + ".filename") <> "U" + Alter Table &lcBackupSetAlias Add Column Value M Null + Alter Table &lcBackupSetAlias Add Column valuetype C + Replace Value With filename All + Replace valuetype With "" All + Alter Table &lcBackupSetAlias Drop Column filename + Endif + *!* modificare ROACONT v 2.2.15 ^ + Else + Create Cursor &lcBackupSetAlias (Type v(20), Name v(100), Value M Null, valuetype C) + Endif + This.lBackupSetLoaded = Used(m.lcBackupSetAlias) + Select (m.lcSelect) + Endproc && LoadBackupSet + ************************************************** + *** + ************************************************** + Function ReadValue + Lparameters tcNumeVariabila + Local lcSelect, lcValue, lcValueType, luValue + lcSelect = Select() + Select (This.cBackupSet) + Locate For Alltrim(Type) = 'VARIABLE' And Upper(Alltrim(Name)) = Upper(Alltrim(tcNumeVariabila)) + If Found() + lcValue = Value + lcValueType = Upper(Alltrim(valuetype)) + Do Case + Case lcValueType $ "CM" + luValue = m.lcValue + Case lcValueType $ "NIF" + luValue = Val(m.lcValue) + Case lcValueType = "T" + luValue = Ctot(m.lcValue) + Case lcValueType = "D" + luValue = Ctod(m.lcValue) + Case lcValueType = "L" + luValue = Iif(m.lcValue = "1" Or Upper(m.lcValue) = "T" Or Upper(m.lcValue) = '.T.' Or Upper(m.lcValue) = 'YES', .T., .F.) + Otherwise + luValue = m.lcValue + Endcase + Else + luValue = Null + Endif + Select (lcSelect) + Return luValue + Endfunc + + ************************************************** + *** intoarce .T. daca exista fisierul backupset xml + ************************************************** + Function ExistsBackupSet + Return This.lBackupSetExists + Endfunc && ExistsBackupSet + + + ************************************************** + *** deschide backupset-ul si creeaza cursoarele si variabilele din definitia lui + *** intoarce .T. daca exista fisierul backupset + ************************************************** + Function RestoreBackupSet + Lparameters tcBackupSetFile + + *** tcBackupSetFile: calea completa a fisierului backupset XML, inclusiv extensie + Local lcBackupSetFile, llRestored, lcSelect + Local lcAlias, lcFile, loRec + Local lcName, lcType, lcValue, lcValueType, lcVariable, luValue + llRestored = .F. + lcSelect = Select() + + If !Empty(m.tcBackupSetFile) + This.cBackupSetFile = tcBackupSetFile + Endif + If !This.lBackupSetLoaded + Return m.llRestored + Endif + lcBackupSetFile = This.cBackupSetFile + + Select (This.cBackupSet) + Scan + Scatter Name loRec Memo + lcType = Upper(Alltrim(loRec.Type)) + lcName = loRec.Name + lcValue = loRec.Value + lcValueType = Upper(Alltrim(loRec.valuetype)) + + Do Case + *** recreare cursoare din xml-uri + Case m.lcType = 'TABLE' + lcFile = Addbs(Justpath(lcBackupSetFile)) + Juststem(Alltrim(m.lcValue)) + '.xml' + lcAlias = Alltrim(m.lcName) + If File(m.lcFile) + Xmltocursor(m.lcFile, m.lcAlias, 512) + Endif + + *** reinitializare variabile + Case loRec.Type = 'VARIABLE' + lcVariable = lcName + Do Case + Case lcValueType $ "CM" + luValue = m.lcValue + Case lcValueType $ "NIF" + luValue = Val(m.lcValue) + Case lcValueType = "T" + luValue = Ctot(m.lcValue) + Case lcValueType = "D" + luValue = Ctod(m.lcValue) + Case lcValueType = "L" + luValue = Iif(m.lcValue = "1" Or Upper(m.lcValue) = "T" Or Upper(m.lcValue) = '.T.' Or Upper(m.lcValue) = 'YES', .T., .F.) + Otherwise + luValue = m.lcValue + Endcase + &lcVariable = luValue && pcText = "abc" + Endcase + Endscan && m.lcBackupSetAlias + + llRestored = .T. + Select(m.lcSelect) + Return m.llRestored + Endfunc && RestoreBackupSet + + *********************************** + *** Saves all the private variables in the parameter list in the BackupSet + *********************************** + Procedure SavePrivateVariables + Lparameters tcPrivateVariables + + lnVariables = Getwordcount(m.tcPrivateVariables, ",") + For lnVariable = 1 To m.lnVariables + lcVariable = Alltrim(Getwordnum(m.tcPrivateVariables, m.lnVariable, ",")) + If !Empty(m.lcVariable) + This.SaveBackupSet(m.lcVariable, "VARIABLE", &lcVariable) + Endif + Endfor + Endproc && SavePrivateVariables + + ************************************************** + *** salveaza un cursor sau toate cursoarele din definitia backupset-ului in fisiere XML in gcTempPath + *** intoarce calea fisierului xml daca s-a salvat cu succes + ************************************************** + Procedure SaveBackupSet + Lparameters tcName, tcType, tuValue + *** tcName: numele cursorului sau variabilei (ex: crsAct, pcText) Daca este gol, se salveaza toate alias-urile + *** daca este completat, se adauga in definitia backupset-ului + *** tcType: TABLE/VARIABLE + *** tuValue: (optional) valoarea variabilei. Valoarea se salveaza direct in xml definitie backupset + *** tcValueType: (optional) tipul variabilei (C/N/D/T) pentru This.RestoreBackupset + + Local lcFile, lcName, lcType, lcWhere, llSaved, lnBytes, loRec, lnRecno, lcFilter + + lcName = "" + llSaved = .F. + If !This.lBackupSetLoaded + Return m.llSaved + Endif + If !Empty(tcName) + lcName = Alltrim(Transform(m.tcName)) + lcType = Iif(!Empty(m.tcType), m.tcType, "TABLE") + This.UpdateBackupSet(m.lcName, m.lcType, m.tuValue) && variabilele se salveaza direct in definitia backupset-ului + Endif + + Select (This.cBackupSet) + lcWhere = [.T.] + If !Empty(m.lcName) + lcWhere = [name = "] + m.lcName + ["] + Endif + + *** SALVARE CURSOARE IN XML + Scan For &lcWhere + Scatter Name loRec Memo + lcFile = Addbs(This.cBackupSetPath) + Alltrim(loRec.Value) && (c:\temp\backupsettest_actactan.xml) + lcName = Alltrim(loRec.Name) + + Do Case + Case loRec.Type = 'TABLE' + If Used(m.lcName) + lnRecno = Iif(Eof(m.lcName), 0, Recno(m.lcName)) + lcFilter = Filter(m.lcName) + Set Filter To In (m.lcName) + lnBytes = Cursortoxml(m.lcName, m.lcFile, 1, 2 + 512, 0, "1") + If !Empty(m.lcFilter) + lcFilterExpr = "set filter to " + m.lcFilter + " in " + m.lcName + &lcFilterExpr + Endif + If m.lnRecno > 0 + Goto m.lnRecno In (m.lcName) + Endif + Endif + Otherwise + *** + Endcase + Endscan && m.lcBackupSetAlias + + llSaved = .T. + + Return m.llSaved + Endfunc && SaveBackupSet + + Procedure DeleteBackupSet + Local lcFile, loRec, lcSelect + lcSelect = Select() + + If !File(This.cBackupSetFile) + Return + Endif + + *** sterg fisierele componenta backupset + Select (This.cBackupSet) + Scan For Upper(Alltrim(Type)) = 'TABLE' + Scatter Name loRec Memo + lcFile = Addbs(This.cBackupSetPath) + Alltrim(loRec.Value) && (c:\temp\backupsettest_actactan.xml) + + If File(m.lcFile) + Delete File (m.lcFile) + Endif + Endscan + + *** sterg inregistrarile din cursorul backupset + Delete All + + *** sterg fisierul backupset + Delete File (This.cBackupSetFile) + + Endproc && DeleteBackupSet + + + ************************************************************************* + *** actualizeaza definitia backupset-ului cu tabelele sau variabilele noi + *** UpdateBackupSet("crsAct", "TABLE") + *** UpdateBackupSet("pcText", "VARIABLE", m.pcText, "C") + ************************************************************************* + Procedure UpdateBackupSet + Lparameters tcName, tcType, tuValue + *** tcName: numele cursorului sau variabilei (ex: crsAct, pcText) + *** tcType: TABLE/VARIABLE + *** tuValue: (optional) valoarea variabilei. Valoarea se salveaza direct in xml definitie backupset + + Local lcFileName, lcName, lcType, lnBytes, lcSelect, lcValue, lcValueType + + If !This.lBackupSetLoaded + Return .F. + Endif + + lcSelect = Select() + + lcName = Iif(!Empty(m.tcName), Alltrim(Transform(m.tcName)), "") + lcType = Iif(!Empty(m.tcType), m.tcType, "TABLE") + lcValue = Transform(m.tuValue) + lcValueType = Iif(Pcount() >= 3, Type('tuValue'), "") + + Do Case + Case m.lcType = "TABLE" + lcValue = This.cBackupSet + "_" + m.lcName + ".xml" + Otherwise + * + Endcase + + If !Empty(m.lcName) + Select (This.cBackupSet) + Locate For Name = Alltrim(tcName) + If !Found() + Insert Into (This.cBackupSet) (Type, Name, Value, valuetype) Values (m.lcType, m.lcName, m.lcValue, m.lcValueType) + Else + Replace Type With m.lcType, Value With m.lcValue, valuetype With m.lcValueType + Endif + lnBytes = Cursortoxml(This.cBackupSet, This.cBackupSetFile, 1, 2 + 512, 0, "1") + Endif + Select (m.lcSelect) + + Endproc && UpdateBackupSet + + Procedure Destroy + Local lcSelect + + lcSelect = Select() + Use In (Select(This.cBackupSet)) + Select (m.lcSelect) + Endproc && Destroy + +Enddefine && BackupXML + +Procedure romfast_suport + Local lcFile, lcPath, llOpen + lcFile = "romfast_suport.exe" + lcPath = Addbs(m.gcBasePath) + llOpen = .T. + + Return DownloadSupportFile(m.lcFile, m.lcPath, m.llOpen) +Endproc && romfast_suport + +Procedure DownloadSupportFile + Lparameters tcFile, tcDownloadPath, tlOpen, tlNewVersion + + *** tlOpen: .T. daca se doreste deschiderea fisierului descarcat + *** tlNewVersion: OUT - .T. daca exista o versiune noua pe server + + Local loUpdater As "Updater" + Local lcCheckSum, lcDownloadFile, lcDownloadPath, lcErrorMessage, lcFile, lcProgressProcedure, lcURL + Local llCheckVersion, llOpen, llReturn, loUpdateRec, llError + Local lcDownloadFileTemp + llError = .F. + + Wait Window "Se cauta versiuni noi ale fisierului " + Justfname(m.tcFile) + " pe romfast.ro" Nowait + + lcFile = Alltrim(m.tcFile) && "romfast_suport.exe" + lcDownloadPath = Addbs(m.tcDownloadPath) + llOpen = m.tlOpen + lcDownloadFile = m.lcDownloadPath + m.lcFile && d:\roa\romfast_suport.exe + llCheckVersion = .F. + + loUpdater = Createobject("Updater", "", m.llCheckVersion) + If Type("loUpdater") = "O" + loUpdateRec = loUpdater.CheckNewVersion(m.lcFile, .T.) + tlNewVersion = loUpdateRec.NewVersion + If loUpdateRec.NewVersion Or !File(m.lcDownloadFile) + lcURL = Alltrim(loUpdateRec.fisier) + lcCheckSum = Alltrim(loUpdateRec.checksum) + lcProgressProcedure = "" + lcErrorMessage = "" + + lcDownloadFileTemp = loUpdater.cDownloadPath + m.lcFile && d:\contafin\_update\romfast_suport.exe + llReturn = loUpdater.DownloadFile(m.lcURL, m.lcDownloadFileTemp, m.lcProgressProcedure, @m.lcErrorMessage, m.lcCheckSum) + If !loUpdater.lError + loUpdater.UpdateVersion(m.loUpdateRec) + If File(m.lcDownloadFileTemp) + Copy File (m.lcDownloadFileTemp) To (m.lcDownloadFile) + Delete File (m.lcDownloadFileTemp) + Endif + Endif + If !Empty(m.lcErrorMessage) + amessagebox(m.lcErrorMessage, 0 + 48, _Screen.Caption) + Endif + Endif + Else + llReturn = .F. + Endif + + If m.llOpen And File(m.lcDownloadFile) + OPEN_DEFAULT_APP(m.lcDownloadFile) + Endif + + Return m.llReturn +Endproc && DownloadSupportFile + + + +Define Class Updater As Custom + cLicenta = "" && pentru CONTAFIN + cErrorMessage = "" + lError = .F. + cDownloadPath = "" + cFileVersionUrl = "" + cDownloadFileVersion = "" + + Procedure Init + Lparameters tcFileVersionUrl, tlCheckVersion, tcVersionType + + *** tcFileVersionUrl: URL fisier versiuni.xml (DEFAULT http://...contafin.xml) + *** tlCheckVersion: .T. = se verifica versiunile programelor din versiuni.xml + *** tcVersionType: CONTAFIN (DEFAULT); SUPORT + + Local lcCheie, lcConnectTimeout, lcDownloadFileVersion, lcFileLicenta, lcFileVersionUrl + Local lcLibraryPath, lcLicenta, lcResponseTimeout, lcSettingsFile, lcVersionFileName, lcVersionType + Local llReturn, loEx + lcLicenta = "" + lcFileLicenta = m.gcBasePath + 'licente.cnt' + If File(m.lcFileLicenta) + m.lcLicenta = Alltrim(Filetostr(m.lcFileLicenta)) + This.cLicenta = m.lcLicenta + Endif + + + lcLibraryPath = m.gcBasePath + Iif("ROA" $ Upper(gcBasePath), "COMUNROA", "COMUNCONTAFIN") + "\vfpconnection.fll" && CONTAFIN(ROA)\COMUNCONTAFIN(COMUNROA)\vfpconnection.fll + lcSettingsFile = m.gcBasePath + "settings.ini" && CONTAFIN(ROA)\settings.ini + + If File(m.lcLibraryPath) + Try + If !'vfpconnection' $ Set("Library") + Set Library To (lcLibraryPath) Additive + Endif + lcConnectTimeout = goAPI.GetProfileString(m.lcSettingsFile, "update", "ConnectTimeout") && timeout conectare in secunde / default 20 + lcConnectTimeout = Nvl(lcConnectTimeout, '') + lcResponseTimeout = goAPI.GetProfileString(m.lcSettingsFile, "update", "ResponseTimeout") && timeout raspuns in secunde / default 60 + lcResponseTimeout = Nvl(lcResponseTimeout, '') + If Empty(m.lcConnectTimeout) + goAPI.WriteProfileString(m.lcSettingsFile, "update", "ConnectTimeout", "20") && frecventa verificarii + lcConnectTimeout = "20" + Endif + If Empty(m.lcResponseTimeout) + goAPI.WriteProfileString(m.lcSettingsFile, "update", "ResponseTimeout", "60") && frecventa verificarii + lcResponseTimeout = "60" + Endif + + SetConnectTimeout(Val(lcConnectTimeout)) && Default is 10 seconds + SetResponseTimeout(Val(lcResponseTimeout)) && Default is 10 seconds + + + This.cDownloadPath = m.gcBasePath + '_UPDATE\' && D:\CONTAFIN\_UPDATE\ + + If !Directory(This.cDownloadPath) + Md (This.cDownloadPath) + Endif + + lcDownloadFileVersion = This.cDownloadPath + "versiune.xml" + This.cDownloadFileVersion = lcDownloadFileVersion + + lcLicenta = "" + lcFileLicenta = m.gcBasePath + 'licente.cnt' + If File(m.lcFileLicenta) + m.lcLicenta = Alltrim(Filetostr(m.lcFileLicenta)) + This.cLicenta = m.lcLicenta + Endif + + ********************************************************** + *** Citesc fileversionurl din CONTAFIN(ROA)\SETTINGS.INI + ********************************************************** + *** FileVersionUrl = http://83.103.197.79:3002/contafinupdate/default.aspx/update/download/|licenta|/contafin_local.xml + *** FileVersionUrl = http://10.0.20.122:81/contafinupdate/default.aspx/update/download/|licenta|/contafin_local.xml + lcVersionType = Upper(Alltrim(Transform(m.tcVersionType))) + lcCheie = Iif(lcVersionType = 'CONTAFIN', 'fileversionurl', 'suportversionurl') + lcVersionFileName = Iif(lcVersionType = 'CONTAFIN', 'contafin', 'suport') + + If !Empty(m.tcFileVersionUrl) + lcFileVersionUrl = m.tcFileVersionUrl + Else + lcFileVersionUrl = goAPI.GetProfileString(m.lcSettingsFile, [update], m.lcCheie) + lcFileVersionUrl = Nvl(m.lcFileVersionUrl, '') + If Empty(m.lcFileVersionUrl) + *!* 13.05.2014 cand s-a introdus taxa la dyndns, am pus ip-ul fix + *!* lcFileVersionUrl = [http://] + IIF(_vfp.StartMode = 0, [10.0.20.122:81] , [romfast.dyndns.biz:3002]) + [/contafinupdate/default.aspx/update/download/|licenta|/] + ; + *!* m.lcVersionFileName + [.xml] + lcFileVersionUrl = [http://] + Iif(_vfp.StartMode = 0, [10.0.20.122:81], [83.103.197.79:3002]) + [/contafinupdate/default.aspx/update/download/|licenta|/] + ; + M.lcVersionFileName + [.xml] + *!* 13.05.2014 ^ + goAPI.WriteProfileString(m.lcSettingsFile, [update], m.lcCheie, m.lcFileVersionUrl ) + Else + *!* 13.05.2014 cand s-a introdus taxa la dyndns, am pus ip-ul fix + + If [romfast.dyndns.biz] $ lcFileVersionUrl + lcFileVersionUrl = Strtran(lcFileVersionUrl, [romfast.dyndns.biz], [83.103.197.79]) + goAPI.WriteProfileString(m.lcSettingsFile, [update], m.lcCheie, m.lcFileVersionUrl ) + Endif + *!* 13.05.2014 ^ + + Endif + Endif + This.cFileVersionUrl = m.lcFileVersionUrl + + *!* DESCARCARE FISIER VERSIUNE + If File(m.lcDownloadFileVersion) + Delete File (m.lcDownloadFileVersion) + Endif + llReturn = This.DownloadVersionFile(m.tlCheckVersion) + + Catch To loEx + This.lError = .T. + This.cErrorMessage = loEx.Message + amessagebox(This.cErrorMessage, 0 + 16, _Screen.Caption) + Endtry + Else + This.lError = .T. + This.cErrorMessage = "Nu exista fisierul " + m.lcLibraryPath + "!" + amessagebox(This.cErrorMessage, 0 + 16, _Screen.Caption) + Endif + + Endproc && Init + + *!* verificare versiune diferita + Procedure CheckNewVersion + Lparameters tcAppName, tlCheckVersion + + Local lcSelect, lcAppName + Local loReturn + lcSelect = Select() + lcAppName = Upper(Juststem(Alltrim(m.tcAppName))) + + If Used('crsXML') + If m.tlCheckVersion + This.CheckVersion(m.lcAppName) + Endif + Select crsXMl + Locate For Upper(Alltrim(Program)) = lcAppName + If Found() + Scatter Name loReturn + AddProperty(loReturn, "newversion", Alltrim(versiune) <> Alltrim(versiuneact)) + Else + Scatter Name loReturn Blank + AddProperty(loReturn, "newversion", .F.) + Endif + Else + loReturn = Createobject("custom") + loReturn.AddProperty("newversion", .F.) + Endif + + Select (lcSelect) + + Return m.loReturn + Endproc && CheckNewVersion + + Procedure DownloadVersionFile + Lparameters tlCheckVersion + + Local llReturn, lcFileVersionUrl, lcDownloadFileVersion, lcTextXML + Local loEx As Exception + + lcFileVersionUrl = This.cFileVersionUrl + lcDownloadFileVersion = This.cDownloadFileVersion + + ****** DOWNLOAD FISIER CU ULTIMELE VERSIUNI ALE PROGRAMELOR EX:CONTAFIN.XML ******** ^ + llReturn = This.DownloadFile(m.lcFileVersionUrl, m.lcDownloadFileVersion) + llReturn = m.llReturn And File(m.lcDownloadFileVersion) + If This.lError + Messagebox(This.cErrorMessage, 0 + 64, _Screen.Caption) + Endif + ****** DOWNLOAD FISIER CU ULTIMELE VERSIUNI ALE PROGRAMELOR EX:CONTAFIN.XML ******** ^ + Create Cursor crsXMl (Program C(200), fisier C(200), Log C(200), checksum C(100), versiune C(200), versiuneact C(100), ales N(1), Terminat N(1)) + If m.llReturn + lcTextXML = Filetostr(m.lcDownloadFileVersion) + If Left(m.lcTextXML, 5) <> '= 4 + lcVersiune = aFiles(4) + Endif + Replace versiuneact With m.lcVersiune + Else + && verific daca exista versiune.txt (in cazul _alfa care nu are executabil) + If File(lcFileVersiuneText) + lcVersiune = Alltrim(Filetostr(m.lcFileVersiuneText)) + Replace versiuneact With m.lcVersiune + Else + lcVersiune = goAPI.GetProfileString(m.lcSettingsFile, [versiuni], m.lcProgram) + Replace versiuneact With Nvl(m.lcVersiune, '') + Endif + Endif + Endscan + *!* scanez cursorul cu ultimele versiuni ale programelor ^ + Select (m.lcSelect) + Endproc && CheckVersion + + Procedure UpdateVersion + Lparameters toUpdateRec + If Type('toUpdateRec') = 'O' And Type('toUpdateRec.versiune') <> 'U' + lcProgram = Alltrim(toUpdateRec.Program) + lcVersiune = Alltrim(toUpdateRec.versiune) + lcSettingsFile = m.gcBasePath + "settings.ini" && D:\CONTAFIN\settings.ini + + goAPI.WriteProfileString(m.lcSettingsFile, [versiuni], m.lcProgram, m.lcVersiune) + Endif + Endproc && UpdateVersion + + + Procedure DownloadFile + Lparameters tcUrl, tcDownloadFile, tcProgressProcedure, tcErrorMessage, tcCheckSum + Local lcURL, llReturn, lcDownloadFile, lcProgressProcedure, lcText, lcCheckSum, llDownload + Local lcCheckSumFile + + lcText = 'Nu s-a putut actualiza fisierul ' + Justfname(m.tcDownloadFile) + ' de pe serverul ROMFAST. Verificati conexiunea internet si/sau setarile de actualizare!' + If Empty(tcCheckSum) Or Type('tcCheckSum') <> 'C' + lcCheckSum = "" + Else + lcCheckSum = tcCheckSum + Endif + + goLog.WriteLog("DOWNLOAD START; " + Alltrim(m.tcUrl) + " | " + Alltrim(m.tcDownloadFile), Program()) + + lcURL = Alltrim(m.tcUrl) + lcURL = This.ReplaceLicentaTag(m.lcURL) + lcDownloadFile = Alltrim(m.tcDownloadFile) + lcProgressProcedure = Iif(Type('tcProgressProcedure') <> 'C', '', tcProgressProcedure) + + && daca am checksumul ca parametru, exista fisierul si checksumurile sunt egale nu mai downloadez + llDownload = .T. + If File(m.lcDownloadFile) && verific daca exista fisierul deja downloadat TODO: trebuie verificat hashul + If !Empty(m.lcCheckSum) + lcCheckSumFile = This.CalculateCheckSum(m.lcDownloadFile) + If m.lcCheckSum == m.lcCheckSumFile && checksumurile sunt egale + llDownload = .F. + goLog.WriteLog("FISIERUL " + Alltrim(m.tcDownloadFile) + " EXISTA DEJA IN DIRECTORUL DE DOWNLOAD SI ARE ACELASI CHECKSUM CA CEL DE PE SERVER.", Program()) + Else + goLog.WriteLog("FISIERUL " + Alltrim(m.tcDownloadFile) + " EXISTA DEJA IN DIRECTORUL DE DOWNLOAD, DAR NU ARE ACELASI CHECKSUM CA CEL DE PE SERVER.", Program()) + Endif + Endif + Endif + + llReturn = .F. + Do Case + Case !llDownload + llReturn = .T. + + Case Upper(Left(lcURL, 4)) = "FTP:" + m.llReturn = FTPGet(lcURL, m.lcDownloadFile, lcProgressProcedure) + + Case Upper(Left(lcURL, 5)) = "HTTP:" OR Upper(Left(lcURL, 6)) = "HTTPS:" + m.llReturn = HTTPDownloadFile(lcURL, m.lcDownloadFile) + + Otherwise + If Upper(Left(lcURL, 7)) != "FILE://" + lcURL = "File://" + lcURL + Endif + m.llReturn = FileGet(lcURL, m.lcDownloadFile, lcProgressProcedure) + + Endcase + + *!* verific ca exista fisierul + llReturn = m.llReturn And File(m.lcDownloadFile) + + *!* verific continutul fisierului + If m.llReturn + lcText = Filetostr(m.lcDownloadFile) + llReturn = Left(Lower(m.lcText), 3) <> 'err' And Left(Lower(m.lcText), 6) <> '' + Endif + + *!* verific checksum daca fisierul a fost downloadat + If llReturn And llDownload And !Empty(lcCheckSum) + lcCheckSumFile = This.CalculateCheckSum(m.lcDownloadFile) + If m.lcCheckSum <> m.lcCheckSumFile + m.lcText = 'Checksumul fisierului ' + m.lcDownloadFile + ' nu corespunde cu checksumul fisierului de pe server.' + llReturn = .F. + Endif + Endif + + If !llReturn + tcErrorMessage = Left(m.lcText, 100) + This.cErrorMessage = tcErrorMessage + This.lError = .T. + Else + This.cErrorMessage = "" + This.lError = .F. + Endif + + + goLog.WriteLog("DOWNLOAD END; " + + Alltrim(m.tcUrl) + " | " + Alltrim(m.tcDownloadFile) + Iif(m.llReturn, " SUCCES", " " + Left(lcText, 100) + " EROARE"), Program()) + + Return m.llReturn + + Endproc && DownloadFile + + *!* + *!* UPDATE STATUS FORMULAR + *!* APELAT DIN THIS.UPDATEFILE + *!* + Procedure UpdateStatus + Lparameters tcStatusVariable, tcStatus + Local lcStatusVariable, lcStatus, lcUpdateStatus + + lcStatusVariable = Iif(!Empty(tcStatusVariable) And Type('tcStatusVariable') = 'C', tcStatusVariable, '') + lcStatus = Iif(!Empty(tcStatus) And Type('tcStatus') = 'C', tcStatus, '') + + If !Empty(lcStatusVariable) + lcUpdateStatus = lcStatusVariable + [ = "] + lcStatus + ["] + &lcUpdateStatus + If Right(Upper(lcStatusVariable), 8) = '.CAPTION' + lcStatusObject = Left(lcStatusVariable, Len(lcStatusVariable) - 8) + loStatusObject = Evaluate(lcStatusObject) + If Pemstatus(loStatusObject, "refresh", 5) + loStatusObject.Refresh() + Endif + Endif + Endif + + Endproc && UpdateStatus + + Procedure ProgressHandler + Lparameters tcFile + Local lnProgress, lcFile + + lnProgress = 0 + lcFile = Iif(Empty(m.tcFile) Or Type('tcFile') <> 'C', '', m.tcFile) + If m.nConnectTotalBytes > 0 + m.lnProgress = Int(m.nConnectBytesSoFar / m.nConnectTotalBytes * 100) + Endif + + Wait Window m.lcFile + ' ' + Transform(m.lnProgress) + '% ...' Nowait + Endproc && ProgressHandler + + Function CalculateCheckSum + Lparameters tcFile + Local lcCheckSum, lcText + lcCheckSum = "" + If File(tcFile) + lcText = Filetostr( m.tcFile) + lcCheckSum = Sys(2007, m.lcText, 0, 1) + Endif + Return m.lcCheckSum + + Endfunc && CalculateCheckSum + + Function ReplaceLicentaTag + Lparameters tcText + Local lcText, lcReturn + + lcText = Iif(Empty(tcText) Or Type('tcText') <> 'C', "", tcText) + lcReturn = Iif(!Empty(This.cLicenta), Strtran(m.lcText, '|licenta|', This.cLicenta, 1, 1, 1), m.lcText) && inlocuiesc |licenta| + + Return m.lcReturn + + Endfunc && ReplaceLicentaTag + + Procedure Destroy + + Local lcSelect + lcSelect = Select() + + If File(This.cDownloadFileVersion) + Erase (This.cDownloadFileVersion) + Endif + + Use In (Select('crsXML')) + Select (lcSelect) + + Endproc && Destroy + +Enddefine && Updater + + +PROCEDURE verificare_iban + Lparameters tcXMLIBAN + *** tcXMLIBAN: un xml cu codurile IBAN care trebuie verificate, 2 sau 3 coloane: "denumire", "cod_fiscal", "iban" + + If Left(Lower(tcXMLIBAN), 5) = " 'O' Or Isnull(toDate) + Return m.lnRaspuns + Endif + If Pemstatus(toDate, 'cod_fiscal', 5 ) + lcCodFiscal = Alltrim(NVL(toDate.cod_fiscal,'')) + Endif + If Pemstatus(toDate, 'denumire', 5 ) + lcDenumire = Alltrim(NVL(toDate.denumire,'')) + Endif + If Pemstatus(toDate, 'data', 5 ) + ldData = NVL(toDate.Data, {}) + Endif + + If Pemstatus(toDate, 'cod_judet', 5 ) + lcCodJudet = Alltrim(NVL(toDate.cod_judet,'')) + Endif + + If Pemstatus(toDate, 'cod_auto', 5 ) + lcCodAuto = Alltrim(NVL(toDate.cod_auto, '')) + Endif + If Pemstatus(toDate, 'mesaj_intrebare', 5 ) + lcMesajIntrebare = Alltrim(toDate.mesaj_intrebare) + Endif + + If Pemstatus(toDate, 'optiuni_meniu_ante', 5 ) + lcOptiuniMeniuAnte = Alltrim(toDate.optiuni_meniu_ante) + Endif + + If Pemstatus(toDate, 'tip_verificare', 5 ) + lcTipVerificare = Alltrim(toDate.tip_verificare) + Endif + + If Empty(m.lcCodFiscal) + Return m.lnRaspuns + Endif + + If Empty(m.lcTipVerificare) + lcMenu = GetMeniuVerificareCodFiscal(m.lcCodFiscal, m.lcOptiuniMeniuAnte) + lnOptiune = XMENU(m.lcMenu) + lnOptiuneVerificare = m.lnOptiune + If !Empty(m.lcOptiuniMeniuAnte) + lnOptiuneVerificare = m.lnOptiuneVerificare - Occurs(';', m.lcOptiuniMeniuAnte) + Endif + lcTipVerificare = GetOptiuneVerificareCodFiscal(m.lnOptiuneVerificare) + Else + lnOptiune = 1 + lnOptiuneVerificare = 1 + Endif + + If Empty(m.lnOptiune) + Return m.lnRaspuns + Endif + + Do Case + Case m.lcTipVerificare = 'ISTORIC' + Do verificare_parteneri_istoric With m.lcCodFiscal && In proceduri_comune.prg + + Case m.lcTipVerificare = 'RTVAI_AUTO_COD' + loPartenerX = Createobject("empty") + loPartener = Createobject("empty") + AddProperty(loPartenerX, "cod_fiscal", m.lcCodFiscal) + AddProperty(loPartenerX, "denumire", m.lcDenumire) + AddProperty(loPartenerX, "dataact", m.ldData) + llValid = VERIFICA_RTVAI(loPartenerX, @loPartener) + If !m.llValid + amessagebox('Codul ' + m.lcCodFiscal + ' este invalid!', 0 + 48, _Screen.Caption) + Else + If Pemstatus(loPartener, "leinRtvai", 5) + If loPartener.leinRtvai + amessagebox('Partenerul ' + m.lcDenumire + ' cu codul fiscal: ' + m.lcCodFiscal + crlf + ' este in sistemul TVA la incasare!', 0 + 48, _Screen.Caption) + Else + amessagebox('Partenerul ' + m.lcDenumire + ' cu codul fiscal: ' + m.lcCodFiscal + crlf + ' NU este in sistemul TVA la incasare!', 0 + 48, _Screen.Caption) + Endif + Endif + ENDIF + + Case m.lcTipVerificare = 'VIES_AUTO' + loPartenerX = Createobject("empty") + loPartener = Createobject("empty") + AddProperty(loPartenerX, "cod_fiscal", m.lcCodFiscal) + AddProperty(loPartenerX, "denumire", m.lcDenumire) + AddProperty(loPartenerX, "dataact", m.ldData) + llValid = verifica_partener(m.lcTipVerificare, loPartenerX, @loPartener) + + If !m.llValid + amessagebox('Codul ' + m.lcCodFiscal + ' este invalid!', 0 + 48, _Screen.Caption) + ELSE + llPlatitorTVAVIES = loPartener.PlatitorTVA + llVIES = loPartener.VIES + + lcText = 'VERIFICARE CIF: ' + m.lcCodFiscal + ' ' + m.lcDenumire + crlf + crlf + ; + Alltrim(NVL(loPartener.firma,'')) + crlf + ; + Alltrim(NVL(loPartener.adresa,'')) + crlf + ; + Iif(m.llVIES, 'S-a interogat baza de date VIES: ' + Iif(m.llPlatitorTVAVIES, 'PLATITOR TVA VIES', 'NEPLATITOR TVA VIES'), 'Nu s-a interogat baza de date VIES!') + + AMESSAGEBOX(m.lcText, 0+64, _Screen.Caption) + ENDIF + + Otherwise + loPartenerX = Createobject("empty") + loPartener = Createobject("empty") + AddProperty(loPartenerX, "cod_fiscal", m.lcCodFiscal) + AddProperty(loPartenerX, "denumire", m.lcDenumire) + AddProperty(loPartenerX, "dataact", m.ldData) + llValid = verifica_partener(m.lcTipVerificare, loPartenerX, @loPartener) + + If !m.llValid + amessagebox('Codul ' + m.lcCodFiscal + ' este invalid!', 0 + 48, _Screen.Caption) + ELSE + If Pemstatus(loPartener, "platitortvamfin", 5) + lnRaspuns = verifica_partener_show_info(loPartener, m.lcCodFiscal, m.lcDenumire, m.lcMesajIntrebare) + ENDIF + Endif + Endcase + + Return m.lnRaspuns && raspunsul la intrebarea 'Doriti sa completati datele partenerului?' in formularul Adaugare partener + +Endproc && VerificaCodFiscal + +**************************************************************** +*** Verificare manuala platitor TVA pe mfinante.ro / registru inactivi anaf.ro / registru tva incasare anaf.ro +*** Lanseaza browserul cu adresa mfinante.ro, anaf.ro +**************************************************************** +Procedure VERIFICA_MANUAL_MFINANAF + Lparameters tcTip, tcCodFiscal, tcDenumire, tcCodJudet + *** tcTIP: MFIN/MFINCOD/MFINNUME/ANAF + *** tcCodFiscal: MFIN - se face verificarea dupa cod fiscal daca este completat, altfel verificare dupa nume, judet + + Local lcCodAuto, lcCodFiscal, lcDenumire, lcTipVerificare, lcURL, lcAtributFiscal + lcCodFiscal = UPPER(Alltrim(Transform(m.tcCodFiscal))) + lcDenumire = Alltrim(Transform(m.tcDenumire)) + lcCodJudet = Alltrim(Transform(m.tcCodJudet)) + lcURL = "" + lcAtributFiscal = '' + + If Isalpha(m.lcCodFiscal) + lcAtributFiscal = lcAtributFiscal + LEFT(m.lcCodFiscal,1) + lcCodFiscal = Alltrim(Substr(m.lcCodFiscal, 2)) + If Isalpha(lcCodFiscal) + lcAtributFiscal = lcAtributFiscal + LEFT(m.lcCodFiscal,1) + lcCodFiscal = Alltrim(Substr(m.lcCodFiscal, 2)) + Endif + Endif + + lctip = Iif(!Empty(m.tcTip), Upper(Alltrim(m.tcTip)), "MFIN") + + Do Case + Case "MFIN" $ m.lctip + lcTipVerificare = Iif("NUME" $ m.lctip, "NUME", "COD") + + If m.lcTipVerificare = "COD" + lcURL = "https://www.mfinante.gov.ro/apps/infocodfiscal.html?cod=" + m.lcCodFiscal + Else + lcURL = "https://www.mfinante.gov.ro/apps/numeCod.html?judet=" + m.lcCodJudet + "&name=" + m.lcDenumire + "&submit=VIZUALIZARE" + + Endif + Case "ANAF" $ m.lctip + Text To lcURL Noshow Textmerge +https://www.anaf.ro/inactivi?codFiscal=<>&judet=<>&inputdenumire=<> + Endtext + Case "RTVAI" $ m.lctip + Text To lcURL Noshow Textmerge +https://www.anaf.ro/IncasareTva/cautCodTvaIncasare.do?codFiscal=<> + Endtext + Case "VIES" $ m.lctip + Text To lcURL Noshow Textmerge +https://ec.europa.eu/taxation_customs/vies/viesquer.do?iso=<>&vat=<>&ms=<> + ENDTEXT + + Endcase + If !Empty(m.lcURL) + OPEN_DEFAULT_APP(m.lcURL) + Endif +Endproc && VERIFICA_MANUAL_MFINANAF + +************************************************************ +*** VERIFICA DACA PARTENERUL ESTE IN REGISTRUL TVA INCASARE +************************************************************ +Procedure VERIFICA_RTVAI + Lparameters toPartener, toPartenerOut + * toPartener datele partenerului: cod_fiscal,denumire,dataact + * toPartenerOut (OUT): denumire,leInRTVAI din AgentiRtvai + + Local lcCodFiscal, lcDenumire, ldDataAct, llIsCIF, llValid, lcSql, llSucces + Local loVerificare As "verificarecod" + Private pcDenumire, pdData, pnCodFiscal, pnRTVAI + + If Type('toPartener') = 'O' + lcCodFiscal = Iif(Pemstatus(toPartener, "cod_fiscal", 5), Alltrim(toPartener.cod_fiscal), '') + lcDenumire = Iif(Pemstatus(toPartener, "denumire", 5), Alltrim(Upper(toPartener.denumire)), '') + ldDataAct = Iif(Pemstatus(toPartener, "dataact", 5), toPartener.dataact, {}) + Else + lcCodFiscal = Transform(toPartener) + Endif + + + loVerificare = Createobject("verificarecod") && validare.prg + llIsCIF = loVerificare.IsCIF(m.lcCodFiscal) + + *!* VERIFIC VALIDITATEA CODULUI + If m.llIsCIF + llValid = loVerificare.Validare('CIF', m.lcCodFiscal) +*!* Else +*!* llValid = loVerificare.Validare('CNP', m.lcCodFiscal) + Endif + If !Pemstatus(toPartenerOut, "leinRtvai", 5) + AddProperty(toPartenerOut, "leinRtvai", .F.) + Endif + If !Pemstatus(toPartenerOut, "denumire", 5) + AddProperty(toPartenerOut, "denumire", "") + Endif + + If m.llIsCIF AND m.llValid + If Empty(m.ldDataAct) + ldDataAct = Date(m.gnAn, m.gnLuna, 1) + Endif + + If Isalpha(m.lcCodFiscal) + lcCodFiscal = Alltrim(Substr(m.lcCodFiscal, 2)) + If Isalpha(lcCodFiscal) + lcCodFiscal = Alltrim(Substr(m.lcCodFiscal, 2)) + Endif + Endif + pnCodFiscal = Int(Val(m.lcCodFiscal)) + pdData = ldDataAct + pcDenumire = '' + pnRTVAI = 0 + lcSql = [begin pack_roartvai.PartenerInRTVAI(?pnCodFiscal, ?pdData, ?@pcDenumire, ?@pnRTVAI); end;] + + llSucces = goExecutor.oExecuta(m.lcSql) + If m.llSucces + toPartenerOut.leinRtvai = (m.pnRTVAI = 1) + toPartenerOut.denumire = Alltrim(Nvl(pcDenumire, '')) + Endif + + Endif && m.llValid + + Return m.llValid +Endproc && VERIFICA_RTVAI + + +************************************************************ +*** Intoarce .T. daca codul fiscal exista in REGISTRUL TVA INCASARE la data +************************************************************ +Function VERIFICA_RTVAI_DATA + Lparameters tcCodFiscal, tdDataAct, tcDenumire + * tcCodFiscal: codul fiscal de verificat in RTVAI + * tdDataAct: data documentului (optional) / 1 ale lunii curente, daca nu este dat + * tcDenumire: OUT denumirea din RTVAI, daca exista + + Private pcDenumire, pdData, pnCodFiscal, pnRTVAI + Local lcCodFiscal, lcDenumire, lcSql, ldDataAct, leinRtvai, llSucces + + leinRtvai = .F. + tcDenumire = '' + + lcCodFiscal = Iif(Type('tcCodFiscal') = 'C', Alltrim(Nvl(m.tcCodFiscal, '')), '') + ldDataAct = Iif(!Empty(m.tdDataAct), m.tdDataAct, Date(m.gnAn, m.gnLuna, 1)) + + If Empty(m.lcCodFiscal) + Return m.leinRtvai + Endif + + If Isalpha(m.lcCodFiscal) + lcCodFiscal = Alltrim(Substr(m.lcCodFiscal, 2)) + If Isalpha(lcCodFiscal) + lcCodFiscal = Alltrim(Substr(m.lcCodFiscal, 2)) + Endif + Endif + + pnCodFiscal = Int(Val(m.lcCodFiscal)) + pdData = ldDataAct + pcDenumire = '' + pnRTVAI = 0 + lcSql = [begin pack_roartvai.PartenerInRTVAI(?pnCodFiscal, ?pdData, ?@pcDenumire, ?@pnRTVAI); end;] + + llSucces = goExecutor.oExecuta(m.lcSql) + If m.llSucces + leinRtvai = (m.pnRTVAI = 1) + tcDenumire = Alltrim(Nvl(m.pcDenumire, '')) + Endif + + Return m.leinRtvai +Endfunc && VERIFICA_RTVAI_DATA + + +********************************************* +*** inlocuieste caracterele speciale dintr-un text xml +*** ex: "&" devine "&" +Function XmlSpecialCharacters + Lparameters tcText + + Local lcText + lcText = tcText + lcText = Strtran(m.lcText, '&', '&') + lcText = Strtran(m.lcText, '"', '"') + lcText = Strtran(m.lcText, ['], ''') + lcText = Strtran(m.lcText, '<', '<') + lcText = Strtran(m.lcText, '>', '>') + + Return lcText +Endfunc && XmlSpecialCharacters + + +********************************************* +*** curata caracterele care nu sunt permise in nume de fisiere Windows +*** inlocuiesc cu tcReplaceCharacter +Function WindowsSpecialCharacters + Lparameters tcText, tcReplaceCharacter + * tcReplaceCharacter: caracterul cu care se inlocuiesc caracterele nepermise in numele fisierelor. Optional, default: '' + + Local lcText, lcRC + lcRC= IIF(!EMPTY(m.tcReplaceCharacter) and TYPE('tcReplaceCharacter') = 'C' and AT(m.tcReplaceCharacter, [/\?%*:|"<>.,;=]) = 0, m.tcReplaceCharacter, '') + + lcText = STRTRAN(STRTRAN(STRTRAN(STRTRAN(STRTRAN(STRTRAN(STRTRAN(STRTRAN(Strtran(TRANSFORM(m.tcText), [<], m.lcRC,1,10), [>], m.lcRC,1,10), [:], m.lcRC,1,10), ["], m.lcRC,1,10), ; + [/], m.lcRC,1,10), [\], m.lcRC,1,10), [|], m.lcRC,1,10), [?], m.lcRC,1,10), [*], m.lcRC,1,10) + + Return lcText +Endfunc && WindowsSpecialCharacters + +********************************************* +*** face conversia de la Double Byte la UTF8 +*** curata textul de diacritice, spatii, CR/LF, +*** lcMesaj = RemoveCharactersDB(lcMesaj, .T.) +********************************************* +FUNCTION RemoveCharactersDB + Lparameters tcText, tlDiacritics, tlSpaces, tlCR + LOCAL lcText + + lcText = STRCONV(tcText, 9) && conversie la UTF-8 + lcText = RemoveCharacters(tcText, tlDiacritics, tlSpaces, tlCR) + RETURN m.lcText +ENDFUNC +********************************************* +*** curata textul de diacritice, spatii, CR/LF +********************************************* +Function RemoveCharacters + Lparameters tcText, tlDiacritics, tlSpaces, tlCR + *** tcText: textul initial + *** tlDiacritics: inlocuieste diacriticele + *** tlSpaces: sterge spatiile + *** tlCR: sterge CR si LF + + Local lcText + lcText = IIF(TYPE('tcText') = 'C', Nvl(m.tcText, ''), '') + + IF EMPTY(m.lcText) + RETURN '' + ENDIF + + If m.tlDiacritics + lcText = STRTRAN(STRTRAN(Strtran(Nvl(m.lcText, ''), Chr(197) + CHR(162), 'T', 1,100,1), Chr(197) + CHR(63), 'S', 1,100,1), Chr(196) + CHR(63), 'A', 1,100,1) + lcText = Strtran(Nvl(m.lcText, ''), Chr(195) + CHR(63), 'I', 1,100,1) + lcText = Strtran(Strtran(Strtran(Strtran(Strtran(Nvl(m.lcText, ''), Chr(170), 'S', 1,100,1), Chr(222), 'T', 1,100,1), Chr(226), 'A', 1,100,1), Chr(227), 'A', 1,100,1), Chr(238), 'I', 1,100,1) + lcText = STRTRAN(Strtran(Strtran(Strtran(Nvl(m.lcText, ''), Chr(206), 'I', 1,100,1), Chr(194), 'A', 1,100,1), Chr(195), 'A', 1,100,1), Chr(196), 'A', 1,100,1) + lcText = STRTRAN(m.lcText, CHR(2), '',1,100,1) && caracter neprintabil + + * Inlocuiri pentru diacritice - minuscule + lcText = STRTRAN(lcText, "A„?", "a") && a + lcText = STRTRAN(lcText, "Ac??", "a") && â + lcText = STRTRAN(lcText, "A^?", "t") && ? + lcText = STRTRAN(lcText, "AfA®", "i") && î + lcText = STRTRAN(lcText, "A„", "a") && a (alta varianta) + lcText = STRTRAN(lcText, "Až", "s") && ? + + * Inlocuiri pentru diacritice - majuscule + lcText = STRTRAN(lcText, "A‚", "A") && A + lcText = STRTRAN(lcText, "A®", "I") && I + lcText = STRTRAN(lcText, "Až", "S") && ? + lcText = STRTRAN(lcText, "Ac", "T") && ? + lcText = STRTRAN(lcText, "Ä‚", "A") && A + ENDIF + + If m.tlSpaces + lcText = Strtran(m.lcText, ' ', '', 1, 100, 1) + Endif + If m.tlCR + lcText = Strtran(Strtran(m.lcText, Chr(13), ''), Chr(10), '') + Endif + + Return m.lcText +Endfunc + + +**************************************************** +Function OracleSpecialCharacters + Lparameters tcText + Local lcText + lcText = tcText + lcText = Strtran(m.lcText, "'", "''") + + Return lcText +Endfunc && OracleSpecialCharacters +**************************************************** +*** Citeste din optiuni utilizator ordinea coloanelor dintr-un grid de tipul ferestre_cere_date.vcx > ct_grid_search +*** ointroduceri.prg > lans_nir_bon > grid nomenclator articole +*** ointroduceri.prg > achizitie_import > fereastra cautare repere pentru adaugare +*** Intoarce obiectul loSelectie(titlu_col M, nume_col M, ordine C(50), width_col M, pornire N(2)) +*** Pentru salvarea ordinii coloanelor din grid, criteriului de sortare se apeleaza SCRIE_SELECTII_OPTIUNI_UTILIZATOR() +**************************************************** +Procedure CITESTE_SELECTII_OPTIUNI_UTILIZATOR + Lparameters tcOptiune, tcListaColoaneGrid, tcCursor, tcSearchColumn, tuSearchValue + *!* CITESTE_SELECTII_OPTIUNI_UTILIZATOR("GEST_SELECTII", ost.nume_col, "crsGestSelectiiUtilizator", "id_sel", oSet.id_selSt) + *!* tcOptiune: "GEST_SELECTII" + *!* tcListaColoaneGrid: lista coloanelor din grid: "codmat;denumire;um;serie;cantitate;pret;cant_bax;um2;grupa;subgrupa;cgest;cont;acont;datain;codmatf;lot;adata_expirare;nrord_rez;part_rez" + *!* tcCursor: "crsGestSelectiiUtilizator" (default = "crsSelectiiUtilizator") + *!* tcSearchColumn (optional): "ID_SEL" (daca in cursorul xml sunt mai multe inregistrari si doresc o anume inregistrare) + *!* tuSearchValue (optional): 1 (valoarea pentru tcSearchColumn) + *!* RETURN: loSelectie (titlu_col, nume_col, ordine, width_col, pornire) + + Local lcCursor, lcListaColoaneCursor, lcListaColoaneGrid, lcOptiune, lcSchemaCursor, lcSearchColumn + Local lcSelectii, lcSirOrdonatCursor, lcSirOrdonatGrid, loSelectie, luSearchValue + + lcOptiune = Upper(Alltrim(tcOptiune)) + lcListaColoaneGrid = m.tcListaColoaneGrid + lcCursor = Iif(!Empty(m.tcCursor), m.tcCursor, "crsSelectiiUtilizator") + lcSearchColumn = "" + luSearchValue = "" + If !Empty(tcSearchColumn) And !Empty(tuSearchValue) And Type('tcSearchColumn') = 'C' + lcSearchColumn = Upper(Alltrim(tcSearchColumn)) + luSearchValue = tuSearchValue + Endif + + lcSchemaCursor = "titlu_col M, nume_col M, ordine C(50), width_col M, pornire N(2)" + If !Empty(m.lcSearchColumn) + lcSchemaCursor = lcSearchColumn + " " + Type('tuSearchValue') + "(" + Len(tuSearchValue) + ")," + m.lcSchemaCursor + Endif + Create Cursor (m.lcCursor) (&lcSchemaCursor) + Select (m.lcCursor) + Scatter Name loSelectie Memo Blank + + lcSelectii = citeste_optiune_utilizator(m.lcOptiune) + If !Empty(m.lcSelectii) + Xmltocursor(m.lcSelectii, m.lcCursor) + + Select (m.lcCursor) + If !Empty(m.lcSearchColumn) + Locate For &lcSearchColumn = luSearchValue + If Found() + Scatter Name loSelectie Memo + Endif + Else + Go Top + Scatter Name loSelectie Memo + Endif + + **-- compara daca am aceleasi coloane (control source) pe server si in tabelul din proiect (gest_selectii) + Create Cursor crsListaCursor (element C(100)) + Create Cursor crsListaGrid (element C(100)) + + lcListaColoaneCursor = loSelectie.nume_col + lista2cursor(lcListaColoaneCursor, "crsListaCursor", "element", ";") + lista2cursor(lcListaColoaneGrid, "crsListaGrid", "element", ";") + + Select * From crsListaCursor ; + Order By element ; + Into Cursor crsListaCursorOrd + + Select * From crsListaGrid ; + Order By element ; + Into Cursor crsListaGridOrd + + lcSirOrdonatCursor = cursor2lista("crsListaCursorOrd", "element", ";") + lcSirOrdonatGrid = cursor2lista("crsListaGridOrd", "element", ";") + + Use In (Select('crsListaCursor')) + Use In (Select('crsListaGrid')) + Use In (Select('crsListaCursorOrd')) + Use In (Select('crsListaGridOrd')) + + If lcSirOrdonatCursor <> lcSirOrdonatGrid + Select (m.lcCursor) + Scatter Name loSelectie Memo Blank + Endif + + Endif + + Return loSelectie +Endproc && CITESTE_SELECTII_OPTIUNI_UTILIZATOR + +************************************************************************************************ +*** NIR.INAINTE_DE_DO_TERMIN +*** SCRIE_SELECTII_OPTIUNI_UTILIZATOR("GEST_SELECTII", toCtGridSearch, ["crsGestSelectiiUtilizator", "id_sel", oSet.id_selSt]) +*** tcOptiune: "GEST_SELECTII" +*** toCtGridSearch: referinta la containerul cu grid de tipul ct_grid_search +*** tcDescriere (optional): descriere optiune +*** tcCursor (optional): "crsGestSelectiiUtilizator" (default = "crsSelectiiUtilizator") +*** tcSearchColumn (optional): "ID_SEL" (daca in cursorul xml sunt mai multe inregistrari si doresc sa modific o anume inregistrare) +*** tuSearchValue (optional): 1 (valoarea pentru tcSearchColumn) +************************************************************************************************ +Procedure SCRIE_SELECTII_OPTIUNI_UTILIZATOR + Lparameters tcOptiune, toCtGridSearch, tcDescriere, tcCursor, tcSearchColumn, tuSearchValue + + Local lcDescriere, lcSearchColumn, luSearchValue + Local loCtGridSearch, lcOptiune, lcCursor, lcSelect + Local lcColOrd, lcControlSource, lcControlSource2, lcCursorXML, lcHeader, lcHeader2, lcNumeCol + Local lcOrd, lcOrdine, lcTitluCol, lcWidthCol, lcWidthColumn, lcWidthColumn2, llNrOrd, lnColOrd + Local lnNrCols, lnPornire, loSelectie, i + + lcSelect = Select() + loCtGridSearch = toCtGridSearch + lcOptiune = Upper(Alltrim(tcOptiune)) + lcCursor = Iif(!Empty(m.tcCursor), m.tcCursor, "crsSelectiiUtilizator") + lcDescriere = Iif(!Empty(m.tcDescriere), Alltrim(m.tcDescriere), Program(1)) + lcSearchColumn = Iif(!Empty(m.tcSearchColumn), Alltrim(m.tcSearchColumn), "") + luSearchValue = Iif(!Empty(m.luSearchValue), m.luSearchValue, "") + + Create Cursor crsGrid (ordine N(3), ctrSource C(100), titlu C(100), widthCol C(100)) + + lnNrCols = loCtGridSearch._GRID1.ColumnCount + llNrOrd = loCtGridSearch.lNumerotare + lnPornire = Val(loCtGridSearch.cb_tx_cautare1.criteriu.Value) + + For i = 1 To lnNrCols + If llNrOrd And i <> 1 && ce se intampla daca nu e llNrOrd ?????? + lcColOrd = [loCtGridSearch._grID1.column] + Alltrim(Str(i)) + [.columnorder] + lnColOrd = &lcColOrd + + *!* modificare v 2.1.19 + *!* lcHeader = [this.ct_grid_search1._grid1.column] + Alltrim(Str(I))+ [.grh]+Alltrim(Str(I))+[.]+[Caption] + lcHeader = [loCtGridSearch._GRID1.column] + Alltrim(Str(i)) + [.grh] + Alltrim(Str(i)) + If Type(lcHeader) = 'O' + lcHeader = lcHeader + [.Caption] + Else + *!* daca nu se poate ordona dupa coloana respectiva, atunci am Header1 in loc de grhI + lcHeader = [loCtGridSearch._GRID1.column] + Alltrim(Str(i)) + [.header1.Caption] + Endif + *!* modificare v 2.1.19 ^ + lcHeader2 = &lcHeader + + lcControlSource = [loCtGridSearch._grid1.column] + Alltrim(Str(i)) + [.ControlSource] + lcControlSource2 = &lcControlSource + + lcWidthColumn = [loCtGridSearch._grid1.column] + Alltrim(Str(i)) + [.width] + lcWidthColumn2 = Alltrim(Str(&lcWidthColumn)) + + Insert Into crsGrid (ordine, titlu, ctrSource, widthCol) Values (lnColOrd, lcHeader2, lcControlSource2, lcWidthColumn2) + Endif + Endfor + + + Select * From crsGrid Order By ordine Into Cursor crsGridOrd + Use In (Select('crsGrid')) + + lcTitluCol = "" + lcNumeCol = "" + lcWidthCol = "" + Select crsGridOrd + Scan + lcTitluCol = lcTitluCol + Alltrim(titlu) + "," + lcNumeCol = lcNumeCol + Alltrim(ctrSource) + ";" + lcWidthCol = lcWidthCol + Alltrim(widthCol) + ";" + + Select crsGridOrd + Endscan + + lcTitluCol = Substr(lcTitluCol, 1, Len(lcTitluCol) - 1) + lcNumeCol = Substr(lcNumeCol, 1, Len(lcNumeCol) - 1) + lcWidthCol = Substr(lcWidthCol, 1, Len(lcWidthCol) - 1) + + lcOrd = [loCtGridSearch.corder] + lcOrdine = &lcOrd + + + Select (m.lcCursor) + Scatter Name loSelectie Memo Blank + With loSelectie + .titlu_Col = m.lcTitluCol + .nume_col = m.lcNumeCol + .ordine = m.lcOrdine + .width_Col = m.lcWidthCol + .pornire = m.lnPornire + Endwith + + If !Empty(m.lcSearchColumn) + loSelectie.&lcSearchColumn = luSearchValue && loSelectii.id_sel = oSet.id_selSt + + Locate For &lcSearchColumn = luSearchValue + If Found() + Delete + Endif + Else + Go Top + Delete + Endif + + Insert Into (m.lcCursor) From Name loSelectie + + + lcCursorXML = '' + Cursortoxml(m.lcCursor, "lcCursorXML", 2, 0 + 2 + 8, 0, "1") + + scrie_optiune_utilizator(m.lcOptiune, lcCursorXML, "Ordinea coloanelor in tabelul din stanga in formularele de nir, bon, etc.") + + Select (m.lcSelect) +Endproc && SCRIE_SELECTII_OPTIUNI_UTILIZATOR + + +*---------------------------------------------------------------------- +* Function....: ExportToXMLExcel +* Author......: Core concepts presented at SW Fox 2009 by Cristof Wollenhaupt +* : Enhancements 11/21/2009 by Stein Goering +* Abstract....: Exports the current cursor to Excel (XMLSS format), optionally creates file +* Returns.....: XML string, or number of bytes written if file is specified +* Parameters..: Path and Filename of Excel file (optional) +* Notes.......: +*---------------------------------------------------------------------- +#If .F. + * Example of usage + Create Cursor Sample (cData C(30), nData N(9, 3), tData D, iData i, lData L) + Insert Into Sample Values("MadFox Rocks!", 0, {}, 5, .F.) + Insert Into Sample Values("abcdefghijklmnopqrstuvwxyz123", 34.987, Datetime(), -32760, .T.) + Insert Into Sample Values("1.23", 56, Datetime(), 6, .F.) + Browse + + If ExportToXMLExcel("Sample.xls") = 0 + Wait Window [Problem writing file] + Endif +#Endif + +Function ExportToXMLExcel(lcFileName) + Local lcWorksheet, lcPoint, lcData, lcRow, lnField, luValue, lcFieldName, lcType, lnWidth, lcColDef, lnCols + Local lcHeading, lnRows, lcStyles + *-------------------------------------------------------------------------------------- + * Set up environment + *-------------------------------------------------------------------------------------- + lcPoint = Set("Point") + Set Point To "." + + *-------------------------------------------------------------------------------------- + * Create the style string + *-------------------------------------------------------------------------------------- + Set Textmerge Delimiters + Text To lcStyles Noshow Pretext 3 + + + + + + + + + + Endtext + *-------------------------------------------------------------------------------------- + * Assemble the column width and heading strings + *-------------------------------------------------------------------------------------- + lcHeading = "" + lcColDef = [] + Dimension laFields[1] + lnCols = Afields(laFields) + For lnField = 1 To lnCols + lcFieldName = Proper(Strtran(laFields[m.lnField, 1], [_], [ ])) + lcHeading = m.lcHeading + ; + [] + Strconv(lcFieldName, 9) + [] + lcType = laFields[m.lnField, 2] + lnWidth = Icase(lcType = [C], laFields[m.lnField, 3] * 4.5, lcType = [N], laFields[m.lnField, 3] * 5, lcType = [I], 40, lcType = [D], 60, lcType = [T], 90, lcType = [L], 25, 50) + lnWidth = Max(lnWidth, Len(lcFieldName) * 6) && Make sure col is wide enough to show the heading + Text To lcColDef Additive Textmerge Noshow Pretext 3 + + Endtext + Endfor + lcHeading = m.lcHeading + "" + *-------------------------------------------------------------------------------------- + * Assemble the content string + *-------------------------------------------------------------------------------------- + lcData = "" + lnRows = 1 + Scan + lcRow = "" + For lnField = 1 To lnCols + luValue = Evaluate(Field(m.lnField)) + lcType = laFields[m.lnField, 2] + Do Case + Case lcType == "C" + luValue = Alltrim(Nvl(m.luValue, "")) + lcRow = m.lcRow + ; + [] + Strconv(m.luValue, 9) + [] + Case lcType == "L" + luValue = Iif(m.luValue, [True], [False]) + lcRow = m.lcRow + ; + [] + Strconv(m.luValue, 9) + [] + Case lcType == "N" + lcRow = m.lcRow + ; + [] + Transform(Nvl(m.luValue, 0)) + ; + [] + Case lcType == "I" + lcRow = m.lcRow + ; + [] + Transform(Nvl(m.luValue, 0)) + ; + [] + Case lcType == "D" + If Empty(m.luValue) + lcRow = m.lcRow + ; + [] + Else + lcRow = m.lcRow + ; + [] + Ttoc(Evl(m.luValue, Dtot(Date(1899, 1, 1))), 3) + ; + [] + Endif + Case lcType == "T" + If Empty(m.luValue) + lcRow = m.lcRow + ; + [] + Else + lcRow = m.lcRow + ; + [] + Ttoc(Evl(m.luValue, Dtot(Date(1899, 1, 1))), 3) + ; + [] + Endif + Otherwise + Assert .F. Message "Type not supported" + Endcase + lnRows = lnRows + 1 + Endfor + lcRow = m.lcRow + "" + lcData = m.lcData + m.lcRow + Endscan + + *-------------------------------------------------------------------------------------- + * Merge the results into the template + *-------------------------------------------------------------------------------------- + Text To m.lcWorksheet Textmerge Noshow Pretext 3 + + + + <> + + + + <> + <> + <> +
    +
    +
    + Endtext + + *-------------------------------------------------------------------------------------- + * Restore environment + *-------------------------------------------------------------------------------------- + Set Point To m.lcPoint + + If !Empty(lcFileName) + Return Strtofile(m.lcWorksheet, lcFileName) + Else + Return m.lcWorksheet + Endif + +Endfunc && ExportToXMLExcel + + +*-------------------------------------------------------------------------------------- +* calculeaza procentul de tva din tva/pret +*-------------------------------------------------------------------------------------- +Function TVA2PROCTVA + Lparameters tnTVA, tnPret + Local lnProcTVA + lnProcTVA = 1 + If tnPret = 0 Or tnTVA = 0 + lnProcTVA = 1 + Else + lnProcTVA = Round(tnTVA/tnPret, 2) + DO CASE + CASE gnAn*12+gnLuna >= 2025*12+8 + DO CASE + CASE Between(lnProcTVA, 0.10, 0.12) + lnProcTVA = 1.11 + CASE Between(lnProcTVA, 0.20, 0.22) + lnProcTVA = 1.21 + OTHERWISE + lnProcTVA = 1.21 + ENDCASE + + CASE BETWEEN(gnAn*12+gnLuna, 2024*12+1, 2025*12+7) + DO CASE + CASE Between(lnProcTVA, 0.08, 0.11) + lnProcTVA = 1.09 + CASE Between(lnProcTVA, 0.18, 0.20) + lnProcTVA = 1.19 + CASE Between(lnProcTVA, 0.04, 0.06) + lnProcTVA = 1.05 + OTHERWISE + lnProcTVA = 1.19 + ENDCASE + OTHERWISE + lnProcTVA = GetCoeficientTvaStandard() + ENDCASE + ENDIF + Return lnProcTVA +Endfunc && TVA2PROCTVA +*!* roagest v 2.0.24 ^ + +*!* INTOARCE IDJTVA PENTRU COTA STANDARD IN FUNCTIE DE LUNA +*!* 07/2010 S-A MODIFICAT TVA 24% +FUNCTION GetIdJtvaStandard(tcTip, tnProcTVA) + *!* tcRegistru: JC/JV + *!* tcTip: VANZARE/VANZARE_TI + *!* ACHIZITIE/ACHIZITIE_CAPITAL/ACHIZITIE_VANZARE/ACHIZITIE_MATERII/ + *!* ACHIZITIE_TI/ACHIZITIE_TI_CAPITAL/ACHIZITIE_TI_VANZARE/ACHIZITIE_TI_MATERII + + LOCAL lcTip, lnIdJtvaStandard, lnIdVanzareNepl + Local lnIdVanzare, lnIdVanzareTI, lnIdAchizitieCapital, lnIdAchizitieVanzare, lnIdAchizitieMaterii + Local lnIdAchizitieTICapital, lnIdAchizitieTIVanzare, lnIdAchizitieTIMaterii, lnIdAchizitie, lnIdAchizitieTI + + lcTip = IIF(EMPTY(tcTip) OR TYPE('tcTip') <> 'C', 'VANZARE', UPPER(ALLTRIM(m.tcTip))) + lnProcTVA = IIF(TYPE('tnProcTVA') = 'N', m.tnProcTVA, GetProcTvaStandard()) + + lnIdVanzareNepl = 8 + lnIdAchizitieNepl = 113 + DO CASE + CASE m.gnAn * 12 + m.gnLuna >= 2025 * 12 + 8 + * 21% + lnIdVanzare = IIF(lnProcTVA = 21, 35, IIF(lnProcTVA = 11, 39, 35)) + lnIdVanzareTI = 5 + + lnIdAchizitieCapital = IIF(lnProcTVA = 21, 208, IIF(lnProcTVA = 11, 212, 208)) + lnIdAchizitieVanzare = IIF(lnProcTVA = 21, 208, IIF(lnProcTVA = 11, 212, 208)) + lnIdAchizitieMaterii = IIF(lnProcTVA = 21, 208, IIF(lnProcTVA = 11, 212, 208)) + lnIdAchizitieTICapital = IIF(lnProcTVA = 21, 216, IIF(lnProcTVA = 11, 212, 218)) + lnIdAchizitieTIVanzare = IIF(lnProcTVA = 21, 216, IIF(lnProcTVA = 11, 212, 218)) + lnIdAchizitieTIMaterii = IIF(lnProcTVA = 21, 216, IIF(lnProcTVA = 11, 212, 218)) + + CASE m.gnAn * 12 + m.gnLuna <= 2010 * 12 + 6 + * 19% + lnIdVanzare = 1 + lnIdVanzareTI = 5 + lnIdAchizitieCapital = 101 + lnIdAchizitieVanzare = 103 + lnIdAchizitieMaterii = 105 + lnIdAchizitieTICapital = 137 + lnIdAchizitieTIVanzare = 139 + lnIdAchizitieTIMaterii = 141 + OTHERWISE + lnIdVanzare = IIF(lnProcTVA = 24, 15, IIF(lnProcTVA = 20, 27, IIF(lnProcTVA = 19, 1, IIF(lnProcTVA = 9, 3, 13)))) + lnIdVanzareTI = 5 + lnIdAchizitieCapital = IIF(lnProcTVA = 24, 156, IIF(lnProcTVA = 20, 176, IIF(lnProcTVA = 19, 101, IIF(lnProcTVA = 9, 107, 176)))) + lnIdAchizitieVanzare = IIF(lnProcTVA = 24, 156, IIF(lnProcTVA = 20, 176, IIF(lnProcTVA = 19, 103, IIF(lnProcTVA = 9, 109, 176)))) + lnIdAchizitieMaterii = IIF(lnProcTVA = 24, 156, IIF(lnProcTVA = 20, 176, IIF(lnProcTVA = 19, 105, IIF(lnProcTVA = 9, 111, 176)))) + lnIdAchizitieTICapital = IIF(lnProcTVA = 24, 162, IIF(lnProcTVA = 20, 186, IIF(lnProcTVA = 19, 137, IIF(lnProcTVA = 9, 143, 186)))) + lnIdAchizitieTIVanzare = IIF(lnProcTVA = 24, 162, IIF(lnProcTVA = 20, 186, IIF(lnProcTVA = 19, 139, IIF(lnProcTVA = 9, 143, 186)))) + lnIdAchizitieTIMaterii = IIF(lnProcTVA = 24, 162, IIF(lnProcTVA = 20, 186, IIF(lnProcTVA = 29, 141, IIF(lnProcTVA = 9, 145, 186)))) + ENDCASE + lnIdAchizitie = lnIdAchizitieMaterii + lnIdAchizitieTI = lnIdAchizitieTIMaterii + + lnIdJtvaStandard = lnIdVanzare + DO CASE + CASE 'VANZARE'$lcTip AND m.gnNEPLATITOARE_TVA = 1 + lnIdJtvaStandard = m.lnIdVanzareNepl + CASE 'ACHZITIE'$lcTip AND m.gnNEPLATITOARE_TVA = 1 + lnIdJtvaStandard = m.lnIdAchizitieNepl + CASE lcTip = 'VANZARE' + lnIdJtvaStandard = m.lnIdVanzare + CASE lcTip = 'VANZARE_TI' + lnIdJtvaStandard = lnIdVanzareTI + CASE lcTip = 'ACHIZITIE' + lnIdJtvaStandard = m.lnIdAchizitie + CASE lcTip = 'ACHIZITIE_CAPITAL' + lnIdJtvaStandard = lnIdAchizitieCapital + CASE lcTip = 'ACHIZITIE_VANZARE' + lnIdJtvaStandard = lnIdAchizitieVanzare + CASE lcTip = 'ACHIZITIE_MATERII' + lnIdJtvaStandard = lnIdAchizitieMaterii + CASE lcTip = 'ACHIZITIE_TI' + lnIdJtvaStandard = lnIdAchizitieTI + CASE lcTip = 'ACHIZITIE_TI_CAPITAL' + lnIdJtvaStandard = lnIdAchizitieTICapital + CASE lcTip = 'ACHIZITIE_TI_VANZARE' + lnIdJtvaStandard = lnIdAchizitieTIVanzare + CASE lcTip = 'ACHIZITIE_MATERII' + lnIdJtvaStandard = lnIdAchizitieTIMaterii + ENDCASE + RETURN lnIdJtvaStandard +ENDFUNC + + +*********************************************************************** +*!* INTOARCE PROCENTUL DE TVA STANDARD IN FUNCTIE DE LUNA 24 +*!* 07/2010 S-A MODIFICAT TVA 24% +*!* 01/2016 S-A MODIFICAT TVA 20% +*!* 01/2017 S-A MODIFICAT TVA 19%, 9%, 5% +*!* 08/2025 S-A MODIFICAT TVA 21% , 11% +FUNCTION GetProcTvaStandard + LOCAL lnAn, lnLuna, lnProcTva + + lnAn = m.gnAn + lnLuna = m.gnLuna + lnProcTva = 21 + + DO CASE + CASE m.lnAn * 12 + m.lnLuna >= 2025 * 12 + 8 + lnProcTva = 21 + CASE BETWEEN(m.lnAn * 12 + m.lnLuna, 2007*12+1, 2010 * 12 + 7) + lnProcTva = 19 + CASE BETWEEN(m.lnAn * 12 + m.lnLuna, 2010*12+8, 2015 * 12 + 12) + lnProcTva = 24 + CASE BETWEEN(m.lnAn * 12 + m.lnLuna, 2016*12+1, 2016 * 12 + 12) + lnProcTva = 20 + CASE BETWEEN(m.lnAn * 12 + m.lnLuna, 2017*12+1, 2025 * 12 + 7) + lnProcTva = 19 + ENDCASE + RETURN m.lnProcTva +ENDFUNC + +*********************************************************************** +*!* INTOARCE COEFICIENTUL DE TVA STANDARD IN FUNCTIE DE LUNA 1.24 +*!* 07/2010 S-A MODIFICAT TVA 24% +FUNCTION GetCoeficientTvaStandard + LOCAL lnAn, lnLuna, lnProcTva + + lnAn = m.gnAn + lnLuna = m.gnLuna + lnProcTva = 1.21 + + DO CASE + CASE m.lnAn * 12 + m.lnLuna >= 2025 * 12 + 8 + lnProcTva = 1.21 + CASE BETWEEN(m.lnAn * 12 + m.lnLuna, 2007*12+1, 2010 * 12 + 7) + lnProcTva = 1.19 + CASE BETWEEN(m.lnAn * 12 + m.lnLuna, 2010*12+8, 2015 * 12 + 12) + lnProcTva = 1.24 + CASE BETWEEN(m.lnAn * 12 + m.lnLuna, 2016*12+1, 2016 * 12 + 12) + lnProcTva = 1.20 + CASE BETWEEN(m.lnAn * 12 + m.lnLuna, 2017*12+1, 2025 * 12 + 7) + lnProcTva = 1.19 + ENDCASE + + RETURN m.lnProcTva +ENDFUNC + +*********************************************************************************** +*** Primeste un procent TVA si intoarce IdJTVA standard +*********************************************************************************** +FUNCTION ProcentTva2IdJtva + LPARAMETERS tnProcentTVA, tcTipJ, tlTaxareInversa, tnTvaIncasare + + * tnProcentTVA : procent TVA 0/5/9/19/11/21 + * tlTaxareInvesa : .T. daca este taxare inversa + * tnTvaIncasare : 1 daca este TVA incasare + * tcTipJ : Tip Jurnal JV/JC + + Local lcTipJ, lnIdJtva, lnIdJtvaNeex + lnIdJtva = 0 + + lcTipJ = IIF(INLIST(UPPER(m.tcTipJ), 'JV', 'JC'), UPPER(m.tcTipJ), 'JV') + + + DO CASE + CASE m.tnProcentTVA = 21 AND tcTipJ = 'JV' + lnIdJtva = IIF(!m.tlTaxareInversa, 35, 5) + CASE m.tnProcentTVA = 11 AND tcTipJ = 'JV' + lnIdJtva = IIF(!m.tlTaxareInversa, 39, 5) + CASE m.tnProcentTVA = 19 AND tcTipJ = 'JV' + lnIdJtva = IIF(!m.tlTaxareInversa, 1, 5) + CASE m.tnProcentTVA = 9 AND tcTipJ = 'JV' + lnIdJtva = IIF(!m.tlTaxareInversa, 3, 5) + CASE m.tnProcentTVA = 5 AND tcTipJ = 'JV' + lnIdJtva = IIF(!m.tlTaxareInversa, 13, 5) + CASE m.tnProcentTVA = 0 AND tcTipJ = 'JV' + lnIdJtva = IIF(!m.tlTaxareInversa, 8, 5) && ALTE LIVR. SCUTITE CU DREPT DE DEDUCERE + + CASE m.tnProcentTVA = 21 AND tcTipJ = 'JC' + lnIdJtva = IIF(!m.tlTaxareInversa, 208, 216) + CASE m.tnProcentTVA = 11 AND tcTipJ = 'JC' + lnIdJtva = IIF(!m.tlTaxareInversa, 212, 218) + CASE m.tnProcentTVA = 19 AND tcTipJ = 'JC' + lnIdJtva = IIF(!m.tlTaxareInversa, 105, 141) + CASE m.tnProcentTVA = 9 AND tcTipJ = 'JC' + lnIdJtva = IIF(!m.tlTaxareInversa, 111, 145) + CASE m.tnProcentTVA = 5 AND tcTipJ = 'JC' + lnIdJtva = IIF(!m.tlTaxareInversa, 154, 154) + CASE m.tnProcentTVA = 0 AND tcTipJ = 'JC' + lnIdJtva = IIF(!m.tlTaxareInversa, 113, 216) && ACH. INT. SCUTITE/NEIMPOZABILE + ENDCASE + + IF m.tnTvaIncasare = 1 AND !EMPTY(m.lnIdJtva) + lnIdJtvaNeex = getIdJtvaColoana(m.lnIdJtva, m.tnTvaIncasare) + If m.lnIdJtvaNeex <> 0 + lnIdJtva = m.lnIdJtvaNeex + Endif + ENDIF + + RETURN m.lnIdJtva + +ENDFUNC + +*********************************************************************************** +*** Apeleaza getIdJtvaColoana si intoarce un obiect din vjtva_coloane +*********************************************************************************** +Function GeJtvaColoana + Lparameters tnIdJtva, tnTvaIncasare, tcTipJ + + Local loRec + getIdJtvaColoana(tnIdJtva, tnTvaIncasare, tcTipJ, @loRec) + + Return loRec +Endfunc + +*********************************************************************************** +*** baza. id_jtva_coloana exigibil/neexigibil corespunzator id_jtva_coloana selectat +*********************************************************************************** +Function getIdJtvaColoana + Lparameters tnIdJtva, tnTvaIncasare, tcTipJ, toRec + + *** tnTVAIncasare = 0 > tnIdJtva este neexigibil + *** tcTipJ: JC, JV (default) + *** toRec (OUT) obiect din vjtva_coloane corespunzator IdJtva + + Local lnIdJtva, lcAlias, lcCursor, llCursorJTvaColoane, lcTipJ + If !Empty(m.tcTipJ) + lcTipJ = Upper(m.tcTipJ) + Else + lcTipJ = [JV] + Endif + + llCursorJTvaColoane = .T. + lcAlias = Select() + lcCursor = [crsjtvacoltemp] + lnIdJtva = tnIdJtva + If !Used('jtva_coloane') + llCursorJTvaColoane = .F. + update_jtva_coloane(m.lcTipJ) + Endif + *copiaza_structura_cursor([jtva_coloane],lcCursor) + Select * From jtva_coloane Into Cursor (lcCursor) + Select (lcCursor) + Scatter Name toRec Blank Memo + Locate For id_jtva_coloana = tnIdJtva + If Found() + If !Empty(tnTvaIncasare) + lnIdJtva = Nvl(id_jtva_neex, id_jtva_coloana) + Else + lnIdJtva = Nvl(id_jtva_ex, id_jtva_coloana) + Endif + + Locate For id_jtva_coloana = m.lnIdJtva + If Found() + Scatter Name toRec Memo + Endif + Endif + + Use In (Select(lcCursor)) + If !llCursorJTvaColoane + Use In jtva_coloane + Endif + Select (lcAlias) + Return lnIdJtva +Endfunc + +*********************************************************************************** +*** Apeleaza getIdTva si intoarce un obiect din vjtva_coloane +*********************************************************************************** +Function GeTvaColoana + Lparameters tnIdJtva, tnTvaIncasare, tcTipJ + + Local loRec + getIdTva(tnIdJtva, tnTvaIncasare, tcTipJ, @loRec) + + Return loRec +Endfunc + +*********************************************************************************** +*** tva.id_tva exigibil/neexigibil corespunzator id_tva selectat +*********************************************************************************** +Function getIdTva + Lparameters tnIdTva, tnTvaIncasare, tcTipJ, toRec + + *** tnTVAIncasare = 0 > tnIdTva este neexigibil + *** tcTipJ: JC, JV + *** toRec (OUT) obiect din vjtva_coloane corespunzator IdJtva + + Local lnIdTva, lnIdJTvaColoana, lcAlias, lcCursor, llCursorJTvaColoane, lcTipJ + + If !Empty(m.tcTipJ) + lcTipJ = Upper(m.tcTipJ) + Else + lcTipJ = [JV] + Endif + + llCursorJTvaColoane = .T. + lcAlias = Select() + lcCursor = [crsjtvacoltemp] + lnIdTva = tnIdTva + If !Used('jtva_coloane') + llCursorJTvaColoane = .F. + update_jtva_coloane(m.lcTipJ) + Endif + *copiaza_structura_cursor([jtva_coloane],lcCursor) + Select * From jtva_coloane Into Cursor (lcCursor) + Select (lcCursor) + Scatter Name toRec Blank Memo + Locate For id_tva = tnIdTva + If Found() + If !Empty(tnTvaIncasare) + lnIdJTvaColoana = Nvl(id_jtva_neex, id_jtva_coloana) + Else + lnIdJTvaColoana = Nvl(id_jtva_ex, id_jtva_coloana) + Endif + Locate For id_jtva_coloana = lnIdJTvaColoana + If Found() + lnIdTva = Nvl(id_tva, id_jtva_coloana) + + Locate For id_jtva_coloana = m.lnIdTva + If Found() + Scatter Name toRec Memo + Endif + Endif + Endif + + Use In (Select(lcCursor)) + If !llCursorJTvaColoane + Use In jtva_coloane + Endif + Select (lcAlias) + Return lnIdTva +Endfunc + +************************************ +*** creeaza cursorul cIsJTVACE la prima apelare a functiei si intoarce .T. daca tnIdJTVA este achizitie CE +************************************ +Function IsJCJtvaCE + Lparameters tnIdJtva + + Local llSucces, llReturn, lcSelect + llReturn = .F. + lcSelect = Select() + If !Used('cIsJTVACE') + llSucces = goExecutor.oExecuta([SELECT id_jtva_coloana as id_jtva FROM jtva_coloane WHERE denumire like 'TVA%' and denumire like '%CE%'], 'cIsJTVACE') + Endif + If Used('cIsJTVACE') + Select cIsJTVACE + Locate For id_jtva = m.tnIdJtva + llReturn = Found() + Endif + + Select (m.lcSelect) + Return m.llReturn +Endfunc + + +*********************** +*** Intoarce jtva_coloane.taxcode aferent unui id_jtva_coloana, Partener +FUNCTION GetTaxCodeIdPart + LPARAMETERS tnAn, tnLuna, tdDataAct, tnIdJTVA, tnIdPart, tlN50, tlN100, tlNeexigibil + * tnAn = anul curent + * tnLuna = luna curenta + * tdDataAct = data documentului, pentru facturi de regularizare inregistrate cu data din alta luna decat luna curenta + * tnIdJTVA = explicatia TVA + * tnIdPart = id partener pentru verificare furnizor TVA Incasare + * tlN50 = operatia are limitare deducere 50% (Taxa SAFT tip: Achizitie deductibil 50%) + * tlN100 = operatia are limitare deducere 100% (Taxa SAFT tip: Achizitie nedeductibil) + * tlNeexigibil = factura nesosita/neintocmita 408/418 + + * tlN50, tlN100 nu se mai folosesc + * baza facturii cu limitare deducere are codul ach. deductibile 100%, + * iar linia 6xx = 4426 limitare deducere are codul "ach. nedeductibile 50% cota TVA 19/9/5%" + * in loc de baza facturii "ach. nedeductibile 50%" + + Local loPartenerRTVAI As "empty" + Local loPartenerRTVAIX As "empty" + Local lcCodFiscal, lcNumePart, lcSelect, ldDataAct, llFurnizorRTVAI, llJC, llRegularizare + Local llUsedJtvaColoane, lnIdPart, lnTaxCode + + lcSelect = SELECT() + lnTaxCode = CAST(null as N(6)) + + IF !(TYPE('gl406') = 'L' AND m.gl406) + RETURN m.lnTaxCode + ENDIF + + lnIdPart = NVL(m.tnIdPart,0) + llFurnizorRTVAI = .F. + ldDataAct = IIF(!EMPTY(m.tdDataAct), m.tdDataAct, DATE(m.tnAn, m.tnLuna, 1)) + llRegularizare = YEAR(m.ldDataAct) * 12 + MONTH(m.ldDataAct) < m.tnAn*12+m.tnLuna + + llUsedJtvaColoane = Used('jtva_coloane') + If !m.llUsedJtvaColoane + update_jtva_coloane() + ENDIF + + llJC = .F. + IF SEEK(m.tnIdJTVA,'jtva_coloane','id_jtva') + llJC = (jtva_coloane.jc = 1) + ENDIF + If m.llJC AND !EMPTY(m.lnIdPart) + lnIdPart = Nvl(m.tnIdPart,0) + lcNumePart = "" + lcCodFiscal = GetCodFiscalPartenerById(m.lnIdPart) + + loPartenerRTVAIX = Createobject("empty") + loPartenerRTVAI = Createobject("empty") + AddProperty(loPartenerRTVAIX, "cod_fiscal", m.lcCodFiscal) + AddProperty(loPartenerRTVAIX, "denumire", m.lcNumePart) + AddProperty(loPartenerRTVAIX, "dataact", m.ldDataAct) + VERIFICA_RTVAI(loPartenerRTVAIX, @loPartenerRTVAI) + + llFurnizorRTVAI = loPartenerRTVAI.leinRtvai + Endif + + IF !m.llUsedJtvaColoane + USE IN (SELECT('jtva_coloane')) + ENDIF + + lnTaxCode = GetTaxCode(m.tnAn, m.tnLuna, m.tdDataAct, m.tnIdJTVA, m.llFurnizorRTVAI, tlN50, tlN100, tlNeexigibil) + + SELECT (m.lcSelect) + + RETURN m.lnTaxCode +ENDFUNC && GetTaxCodeIdPart + + +*********************** +*** Intoarce jtva_coloane.taxcode aferent unui id_jtva_coloana, furnizor tva incasare +FUNCTION GetTaxCode + LPARAMETERS tnAn, tnLuna, tdDataAct, tnIdJTVA, tlFurnizorRTVAI, tlN50, tlN100, tlNeexigibil + * tnAn = anul curent + * tnLuna = luna curenta + * tdDataAct = data documentului, pentru facturi de regularizare inregistrate cu data din alta luna decat luna curenta + * tnIdJTVA = explicatia TVA + * tlFurnizoriRTVAI = furnizor TVA Incasare + * tlN50 = inregistrarea corespunde explicatiei TVA Limitare deducere 50% (Taxa SAFT tip: Achizitie nedeductibil 50%) + * tlN100 = inregistrarea corespunde explicatiei TVA Limitare deducere 100% (Taxa SAFT tip: Achizitie nedeductibil) + * tlNeexigibil = factura nesosita/neintocmita 408/418 + + * tlN50, tlN100 se folosesc doar pentru nota contabila cu explicatie TVA Limitare deducere TVA, in pereche cu Explicatie TVA Ach. 19/9/5%, astfel incat sa intoarca codul Ach neded. 50%/100% 19/9/5% + * baza facturii cu limitare deducere are codul ach. deductibile 100%, + * iar linia 6xx = 4426 limitare deducere are codul "ach. nedeductibile 50% cota TVA 19/9/5%" + * tlN50, tlN100 sunt .T. doar pentru linia 6xx = 4426 limitare deducere TVA + + LOCAL lcSelect, llJtvaColoane, loTVA + Local llFurnizorRTVAI, llRegularizare, llUsedJtvaColoane, lnTaxCode, ldDataAct + lcSelect = SELECT() + lnTaxCode = CAST(null as N(6)) + + IF !(TYPE('gl406') = 'L' AND m.gl406) + RETURN m.lnTaxCode + ENDIF + llFurnizorRTVAI = m.tlFurnizorRTVAI + ldDataAct = IIF(!EMPTY(m.tdDataAct), m.tdDataAct, DATE(m.tnAn, m.tnLuna, 1)) + llRegularizare = YEAR(m.ldDataAct) * 12 + MONTH(m.ldDataAct) < m.tnAn*12+m.tnLuna + llUsedJtvaColoane = USED("jtva_coloane_taxcode") + + * Generez jtva_coloane_taxcode la prima utilizare si il las deschis + If !m.llUsedJtvaColoane + update_jtva_coloane("", "jtva_coloane_taxcode", 6) + ENDIF + + IF SEEK(m.tnIdJTVA, "jtva_coloane_taxcode", "id_jtva") + SELECT jtva_coloane_taxcode + SCATTER NAME loTVA + WITH loTVA + * codul taxa regularizare are prioritate fata de ach. furnizor tva incasare + lnTaxCode = .taxcode + DO CASE + CASE m.tlNeexigibil AND !EMPTY(NVL(.taxcode_neexigibil,0)) + lnTaxCode = .taxcode_neexigibil + CASE m.tlN50 AND m.llFurnizorRTVAI AND !EMPTY(NVL(.taxcode_n50_tvai,0)) + lnTaxCode = .taxcode_n50_tvai + CASE m.tlN50 + lnTaxCode = .taxcode_n50 + CASE m.tlN100 AND m.llFurnizorRTVAI AND !EMPTY(NVL(.taxcode_n100,0)) + lnTaxCode = .taxcode_n100 + CASE m.tlN100 + lnTaxCode = .taxcode_n100 + CASE m.llRegularizare AND !EMPTY(NVL(.taxcode_regularizare,0)) + lnTaxCode = .taxcode_regularizare + CASE m.llFurnizorRTVAI AND !EMPTY(NVL(.taxcode_tvai,0)) + lnTaxCode = .taxcode_tvai + ENDCASE + ENDWITH + ENDIF + + SELECT (m.lcSelect) + + RETURN m.lnTaxCode +ENDFUNC && GetTaxCode + +*********************** +*** Intoarce cod mecanism plata SAFT aferent unui fel document +FUNCTION GetPaymentCode + LPARAMETERS tnIdFdoc + LOCAL lcSelect, lnIdFdoc + Local llUsedFdoc, lnPaymentCode + lcSelect = SELECT() + lnPaymentCode = NULL + + lnIdFdoc = NVL(m.tnIdFdoc,0) + + llUsedFdoc = Used('crsFdoc') + If !m.llUsedFdoc + update_fdoc() + ENDIF + + select paymentcode FROM crsFdoc WHERE id_fdoc = m.lnIdFdoc INTO CURSOR crsFdocTemp + + SELECT crsFdocTemp + GO TOP + lnPaymentCode = ALLTRIM(NVL(paymentcode,'')) + + IF !m.llUsedFdoc + USE IN (SELECT('crsFdoc')) + ENDIF + + USE IN (SELECT('crsFdocTemp')) + SELECT (m.lcSelect) + + RETURN m.lnPaymentCode +ENDFUNC && GetPaymentCode + +******************************************************************************** +*** concateneaza valorile dintr-o coloana de pe mai multe randuri +*** tcAlias = cursorul din care se face concatenarea +*** tcAggColumn = coloana care se concateneaza +*** tlDontIgnoreEmptyValues Default .F., .T = concateneaza si valorile empty(tcAggColumn) +*** tcSeparator = separatorul valorilor concatenate. Default = [,] +*** tcFilterColumn1..tcFilterColumn20 = coloana pentru filtrare/grupare +*** tcFilterValue1..tcFilterValue20 = valoarea coloanei pentru filtrare/grupare +*** intoare un sir de caractere +*** ex: +*!* CREATE CURSOR crsInfo (nract I, dataact D, info c(10), suma n(16,2)) +*!* INSERT INTO crsInfo(nract, dataact, info, suma) values(1, DATE(), 'a',1.00) +*!* INSERT INTO crsInfo(nract, dataact, info, suma) values(1, DATE(), 'b',1.00) +*!* INSERT INTO crsInfo(nract, dataact, info, suma) values(1, DATE(), 'c',1.00) +*!* INSERT INTO crsInfo(nract, dataact, info, suma) values(2, DATE(), 'd',1.00) +*!* INSERT INTO crsInfo(nract, dataact, info, suma) values(2, DATE(), 'e',1.00) +*!* INSERT INTO crsInfo(nract, dataact, info, suma) values(2, DATE(), 'f',1.00) +*!* INSERT INTO crsInfo(nract, dataact, info, suma) values(2, DATE(), 'g',1.00) +*!* INSERT INTO crsInfo(nract, dataact, info, suma) values(3, DATE(), 'a',1.00) +*!* INSERT INTO crsInfo(nract, dataact, info, suma) values(3, DATE()-1, 'x',1.00) + +*!* SELECT nract, dataact, SUM(suma) as suma, ; +*!* StringAgg('crsInfo', 'info', .F., [ ], [nract], nract, [dataact], dataact) as infoagg ; +*!* FROM crsinfo ; +*!* group by nract, dataact ; +*!* INTO CURSOR crsRezultat +******************************************************************************** +Function StringAgg + Lparameters tcAlias, tcAggColumn, tlDontIgnoreEmptyValues, tcSeparator, ; + tcFilterColumn1, tcFilterValue1, tcFilterColumn2, tcFilterValue2, tcFilterColumn3, tcFilterValue3, tcFilterColumn4, tcFilterValue4, ; + tcFilterColumn5, tcFilterValue5, tcFilterColumn6, tcFilterValue6, tcFilterColumn7, tcFilterValue7, tcFilterColumn8, tcFilterValue8, ; + tcFilterColumn9, tcFilterValue9, tcFilterColumn10, tcFilterValue10, tcFilterColumn11, tcFilterValue11, tcFilterColumn12, tcFilterValue12, ; + tcFilterColumn13, tcFilterValue13, tcFilterColumn14, tcFilterValue14, tcFilterColumn15, tcFilterValue15, tcFilterColumn16, tcFilterValue16, ; + tcFilterColumn17, tcFilterValue17, tcFilterColumn18, tcFilterValue18, tcFilterColumn19, tcFilterValue19, tcFilterColumn20, tcFilterValue20 + + + Local lcCursor, lcRezultat, lcSelect, lcSql, lcSeparator, loEx As Exception + Local lcFilter, lcFilterColumn, lcFilterColumnEval, lcFilterValue, i + + lcRezultat = "" + lcSeparator = Iif(Type('tcSeparator') = 'C', tcSeparator, [,]) + lcSelect = Select() + lcCursor = Sys(2015) + lcFilter = "" + For i = 1 To 20 + lcFilterColumn = 'tcFilterColumn' + Alltrim(Str(i)) && tcFilterColumn1 + If Type(lcFilterColumn) <> 'C' + Exit + Endif + lcFilterColumnEval = Evaluate(m.lcFilterColumn) && [nract] + + lcFilterValue = 'tcFilterValue' + Alltrim(Str(i)) && tcFilterValue1 + + lcFilter = lcFilter + Iif(Type(m.lcFilterColumn) = 'C' And !Empty(lcFilterColumnEval), m.lcFilterColumnEval + [ = ] + lcFilterValue, "") + [ and ] + Endfor + If !Empty(m.lcFilter) + lcFilter = Left(m.lcFilter, Len(m.lcFilter) - 5) + Endif + lcFilter = Iif(!tlDontIgnoreEmptyValues, [!EMPTY(] + m.tcAggColumn + [)], []) + Iif(!Empty(m.lcFilter), [ and ], []) + m.lcFilter + + lcSql = [SELECT distinct ] + tcAggColumn + [ as aggcolumn] + ; + [ FROM ] + m.tcAlias + ; + Iif(!Empty(m.lcFilter), [ WHERE ] + m.lcFilter, []) + ; + [ INTO CURSOR ] + m.lcCursor + + &lcSql + + Select (m.lcCursor) + Scan + lcRezultat = m.lcRezultat + Alltrim(Transform(aggcolumn)) + lcSeparator + Endscan + Use In (Select(m.lcCursor)) + If !Empty(m.lcRezultat) + lcRezultat = Left(m.lcRezultat, Len(m.lcRezultat) - Len(m.lcSeparator)) + Endif + + Select (m.lcSelect) + Return m.lcRezultat +Endfunc && StringAgg + + +Function GetReportFooter + Lparameters tnPageTotal + + Local lcReportFooter, llRaportDataOra, lcDataOra + llRaportDataOra = Iif(Type('glRaportDataOra') = 'L', m.glRaportDataOra, .T.) + lcDataOra = Iif(Type('pcDataOra') = 'U', Get_Ora(2), m.pcDataOra) + + lcReportFooter = m.gcCopyRight + " - Pagina " + Allt(Str(_Pageno)) + "/" + Allt(Str(m.tnPageTotal)) + Iif(m.llRaportDataOra, " " + m.lcDataOra, "") + Return m.lcReportFooter +Endfunc +********************************************************************************************************* +Procedure creeaza_backup_cursoare + Lparameters tcOriginal + Local lcBackup + lcBackup = [bckp] + tcOriginal + sterge_backup_cursoare(tcOriginal) + copiaza_structura_cursor(tcOriginal, lcBackup) + Select * From (tcOriginal) Into Cursor (lcBackup) + Release lcBackup +Endproc && creeaza_backup_cursoare +********************************************************************************************************* +Procedure repune_backup_cursoare + Lparameters tcOriginal + Local lcBackup + lcBackup = [bckp] + tcOriginal + If Used(lcBackup) + Select (tcOriginal) + lnRecno = Recno() + Select * From (lcBackup) Into Cursor (tcOriginal) Readwrite + Use In (lcBackup) + Select (tcOriginal) + If Reccount(tcOriginal) > 0 + Go Min(lnRecno, Reccount(tcOriginal)) + Else + Go Top + Endif + Endif + Release lcBackup +Endproc && repune_backup_cursoare +********************************************************************************************************* +Procedure sterge_backup_cursoare + Lparameters tcOriginal + Local lcBackup + lcBackup = [bckp] + tcOriginal + If Used(lcBackup) + Use In (lcBackup) + Endif + Release lcBackup +Endproc && sterge_backup_cursoare +********************************************************************************************************* +Define Class oCursoareProcedura As Custom + cNumeProcedura = [] + Dimension aCursoareDeschiseI(1, 1) + Dimension aExceptiiCursoare(1) + + Procedure Init + Lparameters tcNumeProcedura + This.cNumeProcedura = tcNumeProcedura + Aused(This.aCursoareDeschiseI) + Endproc + + Function getNumeProcedura + Return This.cNumeProcedura + Endfunc + + Procedure setListaExceptii + Lparameters tcListaExceptii + Local Array laTemp(1) + lista2array(Upper(tcListaExceptii), @laTemp, [,]) + Acopy(laTemp, This.aExceptiiCursoare) + Endproc + + Procedure inchideCursoare + Local Array laCursoareDeschiseF[1, 1] + Local lnIndex + *!* cursoarele de la inceput + *!* CREATE CURSOR crs(nume c(200),nr n(10)) + *!* SELECT crs + *!* APPEND FROM array This.aCursoareDeschiseI + *!* BROWSE + *!* cursoarele de la final + *!* CREATE CURSOR crs2(nume c(200),nr n(10)) + *!* SELECT crs2 + *!* Aused(laCursoareDeschiseF) + *!* APPEND FROM array laCursoareDeschiseF + *!* BROWSE + For lnIndex = 1 To Aused(laCursoareDeschiseF) + If Ascan(This.aCursoareDeschiseI, laCursoareDeschiseF[lnIndex, 1]) = 0 And ; + Ascan(This.aExceptiiCursoare, laCursoareDeschiseF[lnIndex, 1]) = 0 + Use In (laCursoareDeschiseF[lnIndex, 1]) + Endif + Endfor + *!* exceptii + *!* CREATE CURSOR crs3(nume c(200),nr n(10)) + *!* SELECT crs3 + *!* APPEND FROM array This.aExceptiiCursoare + *!* BROWSE + *!* cursoare ramase + *!* CREATE CURSOR crs4(nume c(200),nr n(10)) + *!* SELECT crs4 + *!* Aused(laCursoareDeschiseF) + *!* APPEND FROM array laCursoareDeschiseF + *!* BROWSE + Endproc + +Enddefine +********************************************************************************************************* +Define Class oLogCursoare As Custom + && cursor in care tin numele tuturor cursoarelor deschise + oDetaliiProc = Null + lGlobal = .F. + + Procedure Init + Lparameters tlGlobal + This.oDetaliiProc = Createobject("collection") + This.lGlobal = tlGlobal + If !This.lGlobal + This.salveaza(Program(Program(-1) - 1)) + Endif + Endproc + + Procedure seteazaExceptii + Lparameters tcListaExceptii + *!* lista exceptii contine numele cursoarelor care nu se inchid la iesirea din procedura + Local lnIndex + lnIndex = This.cautaIndex(Iif(This.lGlobal, Program(Program(-1) - 1), "")) + This.oDetaliiProc.Item[lnIndex].setListaExceptii(tcListaExceptii) + Endproc + + Function cautaIndex + Lparameters tcNumeProcedura + Local lnIndexCautat, lnIndex + If !Empty(tcNumeProcedura) && sau If This.lGlobal + For lnIndex = 1 To This.oDetaliiProc.Count + If This.oDetaliiProc.Item[lnIndex].getNumeProcedura() == tcNumeProcedura + lnIndexCautat = lnIndex + Exit + Endif + Endfor + Else + lnIndexCautat = 1 + Endif + Return lnIndexCautat + Endfunc + + Procedure salveaza + *!* daca obiectul de tip oLogCursoare a fost definit global, atunci se apeleaza fara parametru, + *!* la inceputul fiecarei proceduri pentru care se doreste sa se tina istoricul cursoarelor deschise + Lparameters tcNumeProcedura + This.oDetaliiProc.Add(Createobject("oCursoareProcedura", Evl(tcNumeProcedura, Program(Program(-1) - 1)))) + Endproc + + Procedure inchideCursor + Lparameters tcNumeCursor + If Used(tcNumeCursor) + Use In (tcNumeCursor) + Endif + Endproc + + Procedure inchideCursoare + *!* daca obiectul de tip oLogCursoare a fost definit global, atunci se apeleaza + *!* inainte de fiecare RETURN din procedura respectiva + Local lcSelect, lnIndex + lcSelect = Select() + lnIndex = This.cautaIndex(Iif(This.lGlobal, Program(Program(-1) - 1), "")) + With This.oDetaliiProc + .Item[lnIndex].inchideCursoare() + .Remove(lnIndex) + Endwith + If Used(lcSelect) + Select (lcSelect) + Endif + Endproc + + Procedure Destroy + If !This.lGlobal + This.inchideCursoare() + Endif + Endproc + +Enddefine +********************************************************************************************************* + +******************************************* +*** Completare analitice pe baza de grupuri in Gestiune.NIR.inainte_de_do_termin, Contabilitate.actbaza2007.adunadate +******************************************* +Procedure completare_gruputil_analitice + *!* completez analiticele lipsa din tabelul config_gruputil_analitice + lnSucces = Update_GrupUtilAnalitice() && in updateserver.prg + If lnSucces > 0 + Select crsGrupUtilAnalitice + Scan + Scatter Name loRec Memo + Update actactan Set ascd = loRec.acont Where Empty(Nvl(ascd, '')) And Upper(Alltrim(scd)) = Upper(Alltrim(loRec.Cont)) + Update actactan Set ascc = loRec.acont Where Empty(Nvl(ascc, '')) And Upper(Alltrim(scc)) = Upper(Alltrim(loRec.Cont)) + Endscan + Use In (Select('crsGrupUtilAnalitice')) + Endif +Endproc && completare_gruputil_analitice + +******************************************* +*** Completare analitice pe baza de explicatii tva in Gestiune.NIR.inainte_de_do_termin, Contabilitate.actbaza2007.adunadate, ROAFACTURARE, ROACOMENZI, ROACONTRACTE pack_facturare +*** bun pentru analitice pe baza de cote TVA la 4426, 4428 (vezi AUTOHAUS, ABCVAL) +******************************************* +Procedure completare_tva_analitice + lnSucces = Update_TVAAnalitice() && in updateserver.prg + If lnSucces > 0 + Select crsTVAAnalitice + Scan + Scatter Name loRec Memo + Update actactan Set ascd = loRec.acont Where Empty(Nvl(ascd, '')) And Upper(Alltrim(scd)) = Upper(Alltrim(loRec.Cont)) And id_jtva_coloana = loRec.id_jtva_coloana + Update actactan Set ascc = loRec.acont Where Empty(Nvl(ascc, '')) And Upper(Alltrim(scc)) = Upper(Alltrim(loRec.Cont)) And id_jtva_coloana = loRec.id_jtva_coloana + Endscan + Use In (Select('crsTVAAnalitice')) + Endif +Endproc && completare_tva_analitice + +*** Completare taxname in actactan (frm_introd_compact.la_iesire) +PROCEDURE completare_taxname + LOCAL lcSelect + lcSelect = SELECT() + + IF USED('saft_taxtable') + UPDATE actactan SET taxname = Iif(Seek(actactan.taxcode,'saft_taxtable','taxcode'),saft_taxtable.taxname,'') + ENDIF + + SELECT (m.lcSelect) +ENDPROC && completare_taxname + +*** Completare paymentname in actactan (frm_introd_compact.la_iesire) +PROCEDURE completare_paymentname + LOCAL lcSelect + lcSelect = SELECT() + + IF USED('saft_mecanisme_plati') + UPDATE actactan SET paymentname = Iif(Seek(actactan.paymentcode,'saft_mecanisme_plati','mcode'),saft_mecanisme_plati.paymentname,'') + ENDIF + + SELECT (m.lcSelect) +ENDPROC && completare_taxname + + +*** Completare explicatie_tva in actactan (frm_introd_compact.la_iesire) +PROCEDURE completare_explicatie_tva + LOCAL lcSelect, lcCursor + lcSelect = SELECT() + + lcCursor = SYS(2015) + IF !USED(m.lcCursor) + update_jtva_coloane("", m.lcCursor,6) + ENDIF + + IF USED(m.lcCursor) + UPDATE actactan SET explicatie_tva = Iif(Seek(actactan.id_jtva_coloana, m.lcCursor,'id_jtva'), &lcCursor..denumire,'') + ENDIF + + USE IN (SELECT(m.lcCursor)) + + SELECT (m.lcSelect) +ENDPROC && completare_explicatie_tva + +************************************** +*** Cauta partenerul dupa cod fiscal si intoarce un obiect sau NULL +************************************** +Procedure GetPartenerByCodFiscal + Lparameters tcCodFiscal + Private pcCodFiscal + Local lcSql, lnSucces, lcSelect, loPartener + lcSelect = SELECT() + loPartener = NULL + + pcCodFiscal = Alltrim(Strtran(Strtran(Upper(Alltrim(m.tcCodFiscal)), ' ', ''), 'RO', '')) + + lcSql = [SELECT * from vnom_parteneri where id_part = (select MAX(id_part) as id_part from nom_parteneri where replace(replace(UPPER(cod_fiscal),' ', ''), 'RO', '') = ?pcCodFiscal and sters = 0 and inactiv = 0)] + llSucces = goExecutor.oExecuta(m.lcSql, "cPartenerTemp") + If m.llSucces + SELECT cPartenerTemp + SCATTER NAME loPartener + ENDIF + USE IN (SELECT('cPartenerTemp')) + + SELECT (m.lcSelect) + Return loPartener +Endproc + +************************************** +*** Cauta partenerul dupa denumire si intoarce un obiect sau NULL +************************************** +Procedure GetPartenerByDenumire + Lparameters tcDenumire + Private pcDenumire + Local lcSql, lnSucces, lcSelect, loPartener + lcSelect = SELECT() + loPartener = NULL + + pcDenumire = Alltrim(Upper(tcDenumire)) + + lcSql = [SELECT * from vnom_parteneri where id_part = (select MAX(id_part) as id_part from nom_parteneri where TRIM(UPPER(denumire)) = ?pcDenumire and sters = 0 and inactiv = 0)] + llSucces = goExecutor.oExecuta(m.lcSql, "cPartenerTemp") + If m.llSucces + SELECT cPartenerTemp + SCATTER NAME loPartener + ENDIF + USE IN (SELECT('cPartenerTemp')) + + SELECT (m.lcSelect) + Return loPartener +Endproc + +************************************** +*** Cauta partenerul dupa codul IBAN si intoarce un obiect sau NULL +************************************** +Procedure GetPartenerByContBanca + Lparameters tcContBanca + Private pcContBanca + Local lcSql, lnSucces, lcSelect, loPartener + lcSelect = SELECT() + loPartener = NULL + + pcContBanca = Alltrim(TRANSFORM(m.tcContBanca)) + + lcSql = [SELECT * from vnom_parteneri where id_part = (select MAX(id_part) as id_part from nom_parteneri where TRIM(UPPER(cont_banca)) = ?pcContBanca and sters = 0 and inactiv = 0)] + llSucces = goExecutor.oExecuta(m.lcSql, "cPartenerTemp") + If m.llSucces + SELECT cPartenerTemp + SCATTER NAME loPartener + ENDIF + USE IN (SELECT('cPartenerTemp')) + + SELECT (m.lcSelect) + Return loPartener +ENDPROC + +************************************** +*** Intoarce Id Partener din nomenclatorul de parteneri dupa codul fiscal +************************************** +Procedure GetIdPartenerByCodFiscal + Lparameters tcCodFiscal, tcDenumire + * tcCodFiscal: IN + * tcDenumire: OUT + Private pnIdPartener, pcCodFiscal + Local lcSql, lnSucces, lcSelect + lcSelect = SELECT() + pnIdPartener = 0 + pcCodFiscal = Alltrim(Strtran(Strtran(Upper(Alltrim(m.tcCodFiscal)), ' ', ''), 'RO', '')) + + lcSql = [select MAX(id_part) as id_part from nom_parteneri where replace(replace(UPPER(cod_fiscal),' ', ''), 'RO', '') = ?pcCodFiscal and sters = 0 and inactiv = 0] + lnSucces = goExecutor.oSelect2Value(m.lcSql, @pnIdPartener) + If m.lnSucces < 0 + amessagebox(goExecutor.cEroare, 0 + 48, _Screen.Caption) + ENDIF + + SELECT (m.lcSelect) + Return Nvl(m.pnIdPartener, 0) +Endproc + +************************************** +*** Intoarce Id Partener din nomenclatorul de parteneri dupa denumire +************************************** +Procedure GetIdPartenerByDenumire + Lparameters tcDenumire + Private pnIdPartener, pcDenumire + Local lcSql, lnSucces, lcSelect + lcSelect = SELECT() + pnIdPartener = 0 + pcDenumire = Alltrim(Upper(tcDenumire)) + + lcSql = [select MAX(id_part) as id_part from nom_parteneri where TRIM(UPPER(denumire)) = ?pcDenumire and sters = 0 and inactiv = 0] + lnSucces = goExecutor.oSelect2Value(m.lcSql, @pnIdPartener) + If m.lnSucces < 0 + amessagebox(goExecutor.cEroare, 0 + 48, _Screen.Caption) + ENDIF + SELECT (m.lcSelect) + Return Nvl(m.pnIdPartener, 0) +Endproc + +************************************** +*** Intoarce Id Partener din nomenclatorul de parteneri dupa contul bancar +************************************** +Procedure GetIdPartenerByContBanca + Lparameters tcCont + Private pnIdPartener, pcCont + Local lcSql, lnSucces + pnIdPartener = 0 + pcCont = Alltrim(Upper(tcCont)) + + lcSql = [select MAX(id_part) as id_part from nom_parteneri where TRIM(UPPER(cont_banca)) = ?pcCont and sters = 0 and inactiv = 0] + lnSucces = goExecutor.oSelect2Value(m.lcSql, @pnIdPartener) + If m.lnSucces < 0 + amessagebox(goExecutor.cEroare, 0 + 48, _Screen.Caption) + Endif + Return Nvl(m.pnIdPartener, 0) +Endproc + +************************************** +*** Intoarce denumire parteneri din nomenclatorul de parteneri dupa Id +************************************** +Procedure GetDenumirePartenerById + Lparameters tnIdPart + Private pnIdPartener, pcDenumire + Local lcSql, lnSucces, lcSelect + + lcSelect = SELECT() + pnIdPartener = tnIdPart + pcDenumire = '' + + lcSql = [select MAX(denumire) as denumire from nom_parteneri where id_part = ?pnIdPartener] + lnSucces = goExecutor.oSelect2Value(m.lcSql, @pcDenumire) + If m.lnSucces < 0 + amessagebox(goExecutor.cEroare, 0 + 48, _Screen.Caption) + ENDIF + SELECT (m.lcSelect) + Return Nvl(m.pcDenumire, '') +Endproc + +************************************** +*** Intoarce cod fiscal parteneri din nomenclatorul de parteneri dupa Id +************************************** +Procedure GetCodFiscalPartenerById + Lparameters tnIdPart + Private pnIdPartener, pcDenumire + Local lcSql, lnSucces, lcSelect + + lcSelect = SELECT() + pnIdPartener = tnIdPart + pcCodFiscal = '' + + lcSql = [select MAX(cod_fiscal) as cod_fiscal from nom_parteneri where id_part = ?pnIdPartener] + lnSucces = goExecutor.oSelect2Value(m.lcSql, @pcCodFiscal) + If m.lnSucces < 0 + amessagebox(goExecutor.cEroare, 0 + 48, _Screen.Caption) + ENDIF + SELECT (m.lcSelect) + Return Nvl(m.pcCodFiscal, '') +Endproc + + +************************************ +*** Intoarce un obiect cu (id_util, id_partener, partener) dupa id_util +************************************ +Procedure GetPartenerByUtil + Lparameters tnIdUtil + Private pnIdUtil + Local lcSql, llSucces, loPartener + pnIdUtil = m.tnIdUtil + loPartener = Createobject("empty") + AddProperty(loPartener, "id_util", m.pnIdUtil) + AddProperty(loPartener, "id_partener", 0) + AddProperty(loPartener, "partener", "") + + lcSql = [select id_util, id_partener, partener from vutilizatori_rol_intern where id_util = ?pnIdUtil] + llSucces = goExecutor.oExecuta(m.lcSql, 'cPartenerByUtilTemp') + If m.llSucces + Select cPartenerByUtilTemp + loPartener.id_partener = Nvl(id_partener, 0) + loPartener.partener = Alltrim(Nvl(partener, '')) + Use In (Select('cPartenerByUtilTemp')) + Endif + Return loPartener +Endproc + + +************************************** +* Genereaza toate variantele de [nume prenume1 prenume2] +* = GetNamePermutations("Popescu Ion Maria", .T.) && exclude varianta originala +* = GetNamePermutations("Popescu Ion Maria", .F.) && include toate variantele +************************************** +Function GetNamePermutations + Lparameters lcFullName, llExcludeOriginal + Local lcResult, lnWordCount, i + Local Array laWords[1] + PRIVATE pnMaxPerms, pnPermCount + pnMaxPerms = 10 && numarul maxim de permutari + pnPermCount = 0 + + * Separare cuvinte în array + lnWordCount = Getwordcount(lcFullName) + If lnWordCount < 2 + Return "" + Endif + + * LIMITARE LA MAXIM 4 CUVINTE 24 PERMUTARI + If lnWordCount > 4 + lnWordCount = 4 + * Reconstruim numele doar cu primele 4 cuvinte + lcFullName = Getwordnum(lcFullName, 1) + " " + ; + Getwordnum(lcFullName, 2) + " " + ; + Getwordnum(lcFullName, 3) + " " + ; + Getwordnum(lcFullName, 4) + + ENDIF + + Dimension laWords[lnWordCount] + For i = 1 To lnWordCount + laWords[i] = Getwordnum(lcFullName, i) + Endfor + + * Cazul special pentru 2 cuvinte + If lnWordCount = 2 + If llExcludeOriginal + Return laWords[2] + " " + laWords[1] + Endif + Return lcFullName + ";" + laWords[2] + " " + laWords[1] + Endif + + * Generam toate permutarile posibile în lcResult + lcResult = "" + Local Array laUsed[1], laCurrentPerm[1] + Dimension laUsed[lnWordCount], laCurrentPerm[lnWordCount] + Store .F. To laUsed + + pnPermCount = 0 && numarul de permutari + + * Primul cuvânt poate fi oricare + For i = 1 To lnWordCount + laUsed[i] = .T. + laCurrentPerm[1] = laWords[i] + GenerateWordPerms(1, @laWords, @laUsed, @laCurrentPerm, lnWordCount, @lcResult) + laUsed[i] = .F. + Endfor + + * Filtram rezultatele + Local lcFirstWord, lcLastWord, lcFiltered + lcFirstWord = laWords[1] + lcLastWord = laWords[lnWordCount] + lcFiltered = "" + + Local lnPos, lcLine + lnPos = At(";", lcResult) + Do While lnPos > 0 + lcLine = Left(lcResult, lnPos - 1) + lcResult = Substr(lcResult, lnPos + 1) + + * Verificam daca primul ?i ultimul cuvânt sunt corecte + If (Getwordnum(lcLine, 1) = lcFirstWord Or Getwordnum(lcLine, 1) = lcLastWord) And ; + (Getwordnum(lcLine, lnWordCount) = lcFirstWord Or Getwordnum(lcLine, lnWordCount) = lcLastWord) + If !llExcludeOriginal Or lcLine != lcFullName + lcFiltered = lcFiltered + lcLine + ";" + Endif + Endif + + lnPos = At(";", lcResult) + Enddo + + * Verificam ?i ultima linie + If !Empty(lcResult) + If (Getwordnum(lcResult, 1) = lcFirstWord Or Getwordnum(lcResult, 1) = lcLastWord) And ; + (Getwordnum(lcResult, lnWordCount) = lcFirstWord Or Getwordnum(lcResult, lnWordCount) = lcLastWord) + If !llExcludeOriginal Or lcResult != lcFullName + lcFiltered = lcFiltered + lcResult + ";" + Endif + Endif + Endif + + * Eliminam ultimul separator daca exista + If !Empty(lcFiltered) + lcFiltered = Left(lcFiltered, Len(lcFiltered)-1) + Endif + + Return lcFiltered +ENDPROC + +* Procedura recursiva pentru generarea permutarilor +Procedure GenerateWordPerms + Parameters lnLevel, laWords, laUsed, laCurrentPerm, lnWordCount, lcResult + + If m.pnPermCount >= m.pnMaxPerms + Return + ENDIF + + If lnLevel = lnWordCount + pnPermCount = m.pnPermCount + 1 + * Am completat toate pozitiile, adaugam permutarea la rezultat + Local i, lcPerm + lcPerm = laCurrentPerm[1] + For i = 2 To lnWordCount + lcPerm = lcPerm + " " + laCurrentPerm[i] + Endfor + lcResult = lcResult + lcPerm + ";" + Return + Endif + + * Pentru fiecare cuvânt neutilizat + Local i + For i = 1 To lnWordCount + If !laUsed[i] + laUsed[i] = .T. + laCurrentPerm[lnLevel + 1] = laWords[i] + GenerateWordPerms(lnLevel + 1, @laWords, @laUsed, @laCurrentPerm, lnWordCount, @lcResult) + laUsed[i] = .F. + Endif + Endfor +Endproc + + + +************************************** +*** Intoarce denumire fdoc din nomenclatorul de documente dupa Id +************************************** +Procedure GetFdocById + Lparameters tnId + Private pnId, pcDenumire + Local lcSql, lnSucces + pnId = tnId + pcDenumire = '' + + lcSql = [select MAX(fel_document) as fel_document from nom_fdoc where id_fdoc = ?pnId] + lnSucces = goExecutor.oSelect2Value(m.lcSql, @pcDenumire) + If m.lnSucces < 0 + amessagebox(goExecutor.cEroare, 0 + 48, _Screen.Caption) + Endif + Return Nvl(m.pcDenumire, '') +Endproc && GetFdocById + +************************************ +*** Intoarce un obiect cu (id_valuta, nume_val, moneda_nationala) dupa nume_val2/iso_valuta +************************************ +Procedure GetValutaByISO + Lparameters tcValutaISO + Private pcValutaISO + Local lcSelect, lcSql, llSucces, loValuta + lcSelect = SELECT() + pcValutaISO = m.tcValutaISO + loValuta = Createobject("empty") + AddProperty(loValuta, "id_valuta", 0) + AddProperty(loValuta, "nume_val", '') + AddProperty(loValuta, "moneda_nationala", 1) + + lcSql = [select id_valuta, nume_val, moneda_nationala from vnom_valute where nume_val2 = ?pcValutaISO] + llSucces = goExecutor.oExecuta(m.lcSql, 'cValutaTemp') + If m.llSucces + IF RECCOUNT('cValutaTemp') > 0 + Select cValutaTemp + GO TOP + loValuta.id_valuta = Nvl(id_valuta, 0) + loValuta.nume_val = Alltrim(Nvl(nume_val, '')) + loValuta.moneda_nationala = Nvl(moneda_nationala, 0) + ENDIF + Use In (Select('cValutaTemp')) + ENDIF + SELECT (m.lcSelect) + Return loValuta +ENDPROC + +************************************** +*** Cauta o factura in ireg_parteneri dupa cont, id_part, nr_act / comanda +*** Se foloseste la importul din extrasele bancare, deconturi curieri, procesatori plati +*** Intoarce un obiect (id_fact, cont, acont, nract) +************************************** +Procedure GetDocumentByContPartenerAct + Lparameters tcContPartener, tnIdPartener, tuDocument, tlComanda + * loAct id_fact, cont, acont, nract + + Local lcSql, lcSql1, lcSql2, lcWhere, lcWhere1, lcWhere2, llSucces, loAct, lcSelect + Private pnIdPartener, pcContPartener, pnNract, pnIdFact, pcComanda + + lcSelect = Select() + pnIdPartener = tnIdPartener + pcContPartener = Alltrim(Upper(tcContPartener)) + pnNract = IIF(!m.tlComanda and !EMPTY(m.tuDocument), m.tuDocument, 0) + pcComanda = ALLTRIM(UPPER(TRANSFORM(IIF(m.tlComanda and !EMPTY(m.tuDocument), m.tuDocument, '')))) +*!* pcComanda = IIF(!EMPTY(m.pcComanda), '%' + m.pcComanda + '%', '') + pnIdFact = 0 + + loAct = Createobject("Empty") + AddProperty(loAct, "id_fact", 0) + AddProperty(loAct, "cont", "") + AddProperty(loAct, "acont", "") + AddProperty(loAct, "nract", 0) + AddProperty(loAct, "solddeb", 0) + + * Daca nu am id-ul de partener -- sau nu am nici numarul, nici suma documentului, nu caut nimic + If Empty(m.pnIdPartener) && Or (Empty(m.pnNract) And Empty(m.pcComanda)) + Return loAct + Endif + + lcWhere2 = "i.an = ?gnAn and i.luna = ?gnLuna and i.id_part = ?pnIdPartener" + + DO CASE + CASE !Empty(m.pnNract) + lcWhere2 = m.lcWhere2 + " and (i.nract = ?pnNrAct)" && cautare fara cont, cu numaract + CASE !Empty(m.pcComanda) + lcWhere2 = m.lcWhere2 + " and (UPPER(l.nrord) like '%"+ m.pcComanda + "%'OR UPPER(i.explicatia) like '%" + m.pcComanda + "%' OR UPPER(i.explicatia4) like '%" + m.pcComanda + "%' OR UPPER(i.explicatia5) like '%" + pcComanda + "%')" && cautare fara cont, cu comanda + ENDCASE + + lcWhere1 = m.lcWhere2 + IIF(!Empty(m.pcContPartener), " and i.cont = ?pcContPartener", "") + + lcSql = [select i.id_fact, i.cont, i.acont, i.nract, (i.precdeb+i.debit-i.preccred-i.credit) as solddeb from ireg_parteneri i left join nom_lucrari l on i.id_lucrare = l.id_lucrare where ] + lcSql1 = m.lcSql + m.lcWhere1 + lcSql2 = m.lcSql + m.lcWhere2 + + llSucces = goExecutor.oExecuta(m.lcSql1, "cRezultatTemp") + If m.llSucces + If Reccount('cRezultatTemp') = 0 + If m.lcWhere2 <> m.lcWhere1 + Use In (Select('cRezultatTemp')) + llSucces = goExecutor.oExecuta(m.lcSql2, "cRezultatTemp") + Endif && m.lcWhere2 <> m.lcWhere1 + Endif && RECCOUNT('cRezultatTemp') = 0 + Endif && m.llSucces + + If Used('cRezultatTemp') + If Reccount('cRezultatTemp') > 1 + polog.Log('Sunt prea multe rezultate care se potrivesc', Program()) + Else + Select cRezultatTemp + Go Top + loAct.id_fact = id_fact + loAct.Cont = Alltrim(Cont) + loAct.acont = Nvl(acont, '') + loAct.nract = nract + loAct.solddeb = solddeb + Endif + Endif + + Use In (Select('cRezultatTemp')) + Select (m.lcSelect) + + Return loAct +Endproc && GetDocumentByContPartenerActSuma + +************************************** +*** Intoarce Id Sectie din nomenclatorul de sectii dupa numele sectiei +************************************** +Procedure GetIdSectie + Lparameters tcSectie + Private pnIdSectie, pcSectie + Local lcSql, lnSucces, lcSelect + lcSelect = SELECT() + pnIdSectie = 0 + pcSectie = Upper(Alltrim(Nvl(tcSectie, ''))) + + lcSql = [select MAX(id_sectie) as id_sectie from vnom_sectii where UPPER(TRIM(sectie)) = ?pcSectie and inactiv = 0] + lnSucces = goExecutor.oSelect2Value(m.lcSql, @pnIdSectie) + If m.lnSucces < 0 + amessagebox(goExecutor.cEroare, 0 + 48, _Screen.Caption) + ENDIF + SELECT (m.lcSelect) + Return Nvl(m.pnIdSectie, 0) +Endproc + +************************************** +*** Intoarce obiect(id_sectie, sectie, csectie) din nomenclatorul de sectii dupa indicativ sectie +************************************** +Procedure GetSectieByCsectie + Lparameters tcCSectie + Private pnIdSectie, pcCSectie + Local lcSql, lnSucces, lcSelect + Local loRec As "empty" + Local lcCursor, llSucces + lcSelect = SELECT() + + loRec = CREATEOBJECT("empty") + ADDPROPERTY(loRec, 'id_sectie', 0) + ADDPROPERTY(loRec, 'sectie', '') + ADDPROPERTY(loRec, 'csectie', '') + + pcCSectie = Upper(Alltrim(Nvl(tcCSectie, ''))) + + lcSql = [select id_sectie, sectie, csectie from vnom_sectii where UPPER(TRIM(csectie)) = ?pcCSectie and inactiv = 0] + lcCursor = SYS(2015) + llSucces = goExecutor.oExecuta(m.lcSql, m.lcCursor) + If m.llSucces + SELECT (m.lcCursor) + IF RECCOUNT() >= 1 + GO TOP + SCATTER NAME loRec + ENDIF + USE IN (SELECT(m.lcCursor)) + ENDIF + + SELECT (m.lcSelect) + Return loRec +Endproc + +************************************** +*** Intoarce obiect(id_sectie, sectie, csectie) din nomenclatorul de sectii dupa id sectie +************************************** +Procedure GetSectieById + Parameters tnIdSectie + + Local loRec As "empty" + Local lcSelect, llSucces + + lcSelect = SELECT() + + loRec = CREATEOBJECT("empty") + ADDPROPERTY(loRec, 'id_sectie', 0) + ADDPROPERTY(loRec, 'sectie', '') + ADDPROPERTY(loRec, 'csectie', '') + + llSucces = goExecutor.oSelecteaza2Object("select id_sectie, sectie, csectie from vnom_sectii where id_sectie = ?tnIdSectie", @loRec) + + SELECT (m.lcSelect) + Return loRec +ENDPROC + +************************************** +*** Intoarce obiect din nomenclatorul de gestiuni dupa id gestiune +************************************** +Procedure GetGestiuneById + Parameters tnIdGestiune + + Local loRec As "empty" + Local lcSelect, lcSql, llSucces + + lcSelect = SELECT() + + loRec = CREATEOBJECT("empty") + ADDPROPERTY(loRec, 'id_gestiune', 0) + ADDPROPERTY(loRec, 'nume_gestiune', '') + ADDPROPERTY(loRec, 'cgest', '') + + TEXT TO lcSql noshow +select id_gestiune, nume_gestiune, inactiv, cont, acont, nr_pag, cgest, id_sucursala, descriere, nume_tip, sucursala, id_responsabil, denumire, id_sectie, sectie, acont_adaos, acont_cheltuiala, id_lucrare, nrord, gestionar, comisie_receptie1, comisie_receptie2, comisie_receptie3 + from vnom_gestiuni + where id_gestiune = ?tnIdGestiune + ENDTEXT + + llSucces = goExecutor.oSelecteaza2Object(m.lcSql, @loRec) + + SELECT (m.lcSelect) + Return loRec +ENDPROC + +************************************** +*** Intoarce Id Lucrare din nomenclatorul de lucrari dupa numele lucrarii +************************************** +Procedure GetIdLucrare + Lparameters tcLucrare + Private pnIdLucrare, pcLucrare + Local lcSql, lnSucces, lcSelect + lcSelect = SELECT() + pnIdLucrare = 0 + pcLucrare = Upper(Alltrim(Nvl(tcLucrare, ''))) + + lcSql = [select MAX(id_lucrare) as id_lucrare from vnom_lucrari where UPPER(TRIM(nrord)) = ?pcLucrare and inactiv = 0] + lnSucces = goExecutor.oSelect2Value(m.lcSql, @pnIdLucrare) + If m.lnSucces < 0 + amessagebox(goExecutor.cEroare, 0 + 48, _Screen.Caption) + ENDIF + SELECT (m.lcSelect) + Return Nvl(m.pnIdLucrare, 0) +Endproc + +************************************** +*** Intoarce Id Venchelt din nomenclatorul de venchelt dupa numele venchelt +************************************** +Procedure GetIdVenchelt + Lparameters tcVenchelt + Private pnIdVenchelt, pcVenchelt + Local lcSql, lnSucces, lcSelect + lcSelect = SELECT() + pnIdVenchelt = 0 + pcVenchelt = Upper(Alltrim(Nvl(tcVenchelt, ''))) + + lcSql = [select MAX(id_Venchelt) as id_Venchelt from vnom_venchel where UPPER(TRIM(explicatie)) = ?pcVenchelt and inactiv = 0] + lnSucces = goExecutor.oSelect2Value(m.lcSql, @pnIdVenchelt) + If m.lnSucces < 0 + amessagebox(goExecutor.cEroare, 0 + 48, _Screen.Caption) + ENDIF + SELECT (m.lcSelect) + Return Nvl(m.pnIdVenchelt, 0) +Endproc + +************************************** +*** Intoarce obiect din nomenclatorul Venit/Cheltuiala dupa id +************************************** +Procedure GetVencheltById + Parameters tnIdVenChelt + + Local loRec As "empty" + Local lcSelect, llSucces + + lcSelect = SELECT() + + loRec = CREATEOBJECT("empty") + ADDPROPERTY(loRec, 'id_venchelt', 0) + ADDPROPERTY(loRec, 'tip_venchelt', 1) + ADDPROPERTY(loRec, 'explicatie', '') + ADDPROPERTY(loRec, 'explicatie_fiu', '') + ADDPROPERTY(loRec, 'explicatie_tata', '') + + llSucces = goExecutor.oSelecteaza2Object("select id_venchelt, id_tata, tip_venchelt, explicatie, explicatie_fiu, explicatie_tata, inactiv, id_mod from vnom_venchel where id_venchelt = ?tnIdVenChelt", @loRec) + + SELECT (m.lcSelect) + Return loRec +ENDPROC + +************************************** +*** Intoarce valoarea unei optiuni +************************************** +Procedure GetOptiuneFirma + Lparameters tcOptiune + Local lcReturn + Private pcOptiune + lcReturn = "" + If Empty(m.tcOptiune) Or Type('tcOptiune') <> 'C' + Return m.lcReturn + Endif + pcOptiune = Upper(Alltrim(m.tcOptiune)) + lnSucces = goExecutor.oSelect2Value("select pack_sesiune.getoptiunefirma(?pcOptiune) from dual", @lcReturn) + If m.lnSucces < 0 + amessagebox(goExecutor.cEroare, 0 + 48, _Screen.Caption) + Endif + + Return m.lcReturn +Endproc + +************************************** +*** Intoarce cod bare din nomenclatorul de articole +************************************** +Procedure GetCodBareByIdArticol + Lparameters tnIdArticol + Private pnIdArticol, pcCodBare + Local lcSql, lnSucces + pcCodBare = '' + pnIdArticol = m.tnIdArticol + + lcSql = [select codbare from nom_articole where id_articol = ?pnIdArticol] + llSucces = goExecutor.oSelecteaza2Value(m.lcSql, @pcCodBare) + Return NVL(m.pcCodBare, '') +Endproc + + +************************************** +*** Intoarce un obiect din vnom_articole/id_articol dupa denumire/codbare/cod client/cod furnizor +*** lnIdArticol = GetArticolByCodDenumire("articol", "cod bare", "cod furnizor", "cod client", IdPart, .T.) +*** loArticol = GetArticolByCodDenumire("articol", "cod bare", "cod furnizor", "cod client", IdPart, .F.) +************************************** +Procedure GetArticolByCodDenumire + lParameters tcDenumire, tcCodBare, tcCodMat, tcCodMatF, tcCodMatP, tnIdPart, tlReturnId + * tcDenumire: denumire articol + * tcCodBare: cod bare articol + * tcCodMat: primite = efactura.codClient, trimise = efactura.codFurnizor = nom_articole.codmat + * tcCodMatF: primite = efactura.codFurnizor = nom_articole.codmatf + * tcCodMatP: trimise = efactura.codClient = parteneri_articole_coduri.cod + * tnIdPart: id_part client + * tlReturnId: .T. = intoarce id_articol, .F. = intoarce obiect nom_articole + + Private pcDenumire, pcCodBare, pcCodFurnizor, pcCodCLient, pnIdPart + Local lcSql, lnSucces, lcSelect, loArticol, loReturn + lcSelect = SELECT() + loArticol = null + loReturn = Null + + pcDenumire = UPPER(Alltrim(NVL(m.tcDenumire, ''))) + pcCodBare = UPPER(ALLTRIM(NVL(m.tcCodBare, ''))) + pcCodMat = UPPER(ALLTRIM(NVL(m.tcCodMat, ''))) + pcCodMatF = UPPER(ALLTRIM(NVL(m.tcCodMatF, ''))) + pcCodMatP = UPPER(ALLTRIM(NVL(m.tcCodMatP, ''))) + pnIdPart = NVL(m.tnIdPart, 0) + + TEXT TO lcSql TEXTMERGE NOSHOW +SELECT * FROM vnom_articole a left join parteneri_articole_coduri c ON (a.id_part = c.id_part and c.id_part = ?pnIdPart and c.sters = 0) + where a.inactiv = 0 and rownum = 1 and (<><><><><>) + ENDTEXT + + * Daca nu exista denumire, codbare, codmat, codmatF, codmatP + lcSql = STRTRAN(m.lcSql, " and ()", " and (1=2)", 1, 1, 1) + lcSql = STRTRAN(m.lcSql, "( or ", "(", 1, 1, 1) + + llSucces = goExecutor.oSelecteaza2Object(m.lcSql, @loArticol) + + If m.llSucces + IF m.tlReturnId + loReturn = loArticol.id_articol + ELSE + loReturn = loArticol + ENDIF + ENDIF + + SELECT (m.lcSelect) + Return loReturn + +ENDPROC && GetArticolByCodDenumire + +************************************** +*** Intoarce un obiect din vnom_articole dupa id_articol +*** loArticol = GetArticolById(lnIdArticol) +************************************** +Procedure GetArticolById + lParameters tnId + * tnId: id_articol + + + lcSelect = SELECT() + loArticol = Null + pnId = NVL(m.tnId, 0) + + TEXT TO lcSql TEXTMERGE NOSHOW +SELECT * FROM vnom_articole a where id_articol = ?pnId + ENDTEXT + + llSucces = goExecutor.oSelecteaza2Object(m.lcSql, @loArticol) + + SELECT (m.lcSelect) + Return loArticol + +ENDPROC && GetArticolById + +************************************** +*** Intoarce un obiect din ANAF_VEFACTURA_DETALII/id_articol dupa cod fiscal furnizor/client si denumire +*** Cauta in articolele furnizorului/clientului, ultima aparitie a articolului respectiv +*** lnIdArticol = GetArticolEFByPartDenumire("cod fiscal", "articol", .T.) +*** loArticol = GetArticolByCodDenumire("articol", "cod bare", "cod furnizor", "cod client", IdPart, .F.) +************************************** +Procedure GetArticolEFByPartDenumire + lParameters tcCodFiscal, tlPrimite, tcDenumire, tlReturnId, tnIdEfactura + * tcCodFiscal : cod fiscal client/furnizor + * tlPrimite: facturi primite / emise + * tcDenumire: denumire articol + * tlReturnId: .T. = intoarce id_articol, .F. = intoarce obiect + * tnIdEfactura: id_efactura curenta. sa nu caut articolul in factura curenta, ci in facturile anterioare + + Private pcDenumire, pcCodBare, pcCodFurnizor, pcCodCLient, pnIdPart, pnIdEfactura + Local lcSql, lnSucces, lcSelect, loArticol, loReturn, lcColoanaCodFiscal + lcSelect = SELECT() + loArticol = null + loReturn = Null + + pcDenumire = UPPER(Alltrim(NVL(m.tcDenumire, ''))) + pcCodFiscal = UPPER(ALLTRIM(NVL(m.tcCodFiscal, ''))) + pnIdArticol = 0 + pnIdEfactura = IIF(!EMPTY(NVL(tnIdEfactura, 0)), m.tnIdEfactura, 0) + lcColoanaCodFiscal = IIF(m.tlPrimite, "e.cod_fiscal_emitent", "e.cod_fiscal_beneficiar") + + TEXT TO lcSql TEXTMERGE NOSHOW +SELECT * FROM (SELECT d.* FROM ANAF_VEFACTURA_DETALII d LEFT JOIN ANAF_EFACTURA e ON (e.id = d.id_efactura) + WHERE <> = ?pcCodFiscal AND TRIM(UPPER(d.articol)) = ?pcDenumire and id_articol is not null ORDER BY d.id desc) WHERE rownum = 1 + ENDTEXT + + llSucces = goExecutor.oSelecteaza2Object(m.lcSql, @loArticol) + + If m.llSucces + * Daca nu am gasit factura cu articol ROA (este posibil sa fie de servicii, fara articole gestionabile) + * Caut articolelele anterioare, fara id_articol + IF EMPTY(NVL(loArticol.id_articol,0)) AND !EMPTY(NVL(m.tnIdEfactura,0)) + TEXT TO lcSql TEXTMERGE NOSHOW +SELECT * FROM (SELECT d.* FROM ANAF_VEFACTURA_DETALII d LEFT JOIN ANAF_EFACTURA e ON (e.id = d.id_efactura) + WHERE <> = ?pcCodFiscal AND TRIM(UPPER(d.articol)) = ?pcDenumire and e.id <> ?pnIdEFactura ORDER BY d.id desc) WHERE rownum = 1 + ENDTEXT + + llSucces = goExecutor.oSelecteaza2Object(m.lcSql, @loArticol) + ENDIF + ENDIF + + IF m.llSucces + IF m.tlReturnId + loReturn = loArticol.id_articol + ELSE + loReturn = loArticol + ENDIF + ENDIF + + SELECT (m.lcSelect) + Return loReturn + +ENDPROC && GetArticolEFByPartDenumire + + +************************************** +*** Alege perioada +*** intoarce un obiect cu perioada aleasa +************************************** +Procedure AlegePerioada + + Local loFrmPerioada As 'frm_perioada_luni' + Local loRet As "empty" + Local lcPerioada, lnAn1, lnAn2, lnFinal, lnInit, lnLuna1, lnLuna2 + Private pcondper + pcondper = '' + + loFrmPerioada = Createobject('frm_perioada_luni') + loFrmPerioada.Show(1) + + If gnButon = 2 + Return + Endif + + If At('_', pcondper) > 0 + lnAn1 = Val(Substr(pcondper, 3, 4)) + lnLuna1 = Val(Substr(pcondper, 1, 2)) + lnAn2 = Val(Substr(pcondper, 10, 4)) + lnLuna2 = Val(Substr(pcondper, 8, 2)) + + lcPerioada = Substr(pcondper, 1, 2) + '/' + Substr(pcondper, 3, 4) + ' - ' + Substr(pcondper, 8, 2) + '/' + Substr(pcondper, 10, 4) + Else + lnAn1 = Val(Substr(pcondper, 3, 4)) + lnLuna1 = Val(Substr(pcondper, 1, 2)) + lnAn2 = Val(Substr(pcondper, 3, 4)) + lnLuna2 = Val(Substr(pcondper, 1, 2)) + + lcPerioada = Substr(pcondper, 1, 2) + '/' + Substr(pcondper, 3, 4) + ' - ' + Substr(pcondper, 1, 2) + '/' + Substr(pcondper, 3, 4) + Endif + lnInit = lnAn1 * 12 + lnLuna1 + lnFinal = lnAn2 * 12 + lnLuna2 + + loRet = Createobject("empty") + AddProperty(loRet, "an1", m.lnAn1) + AddProperty(loRet, "luna1", m.lnLuna1) + AddProperty(loRet, "an2", m.lnAn2) + AddProperty(loRet, "luna2", m.lnLuna2) + AddProperty(loRet, "perioada", m.lcPerioada) + + Return loRet + +Endproc && AlegePerioada + +*** Citeste optiunea pentru semnatura rapoarte "SEMN_CONT_INTOCMIT/SEMN_CONT_VERIFICAT/SEMN_CONT_DIRECTOR/SEMN_GEST_INTOCMIT/SEMN_INTOCMIT" +Procedure GetSemnatura + Lparameters tcModul, tcSemnatura, tcPrefix + * tcModul: CONTABILITATE/GESTIUNE... + * tcSemanatura: INTOCMIT/VERIFICAT/DIRECTOR/DIRECTOREC + * tcPrefix OPTIONAL, default 'SEMN': se poate completa cu SEMN/DEN + Local lcValue, lcOptiune, lcPrefix + lcValue = '' + + lcPrefix = IIF(TYPE('tcPrefix') = 'C' and !EMPTY(m.tcPrefix), UPPER(ALLTRIM(m.tcPrefix)), 'SEMN') + lcOptiune = lcPrefix + Iif(!Empty(m.tcModul), '_' + Upper(m.tcModul), '') + '_' + Upper(m.tcSemnatura) && 'SEMN_CONT_DIRECTOREC' / DEN_CONT_DEPFINCONT + lcValue = Strtran(Nvl(citeste_optiune(m.lcOptiune), ''), '\r', Chr(13) + Chr(10), 1, 10, 1) && INLOCUIESC /R CU LINIE NOUA + Return m.lcValue +Endproc + + +*************************************************** +* Citeste atasament din baza de date si scrie fisier pe disk (ex: logo.jpg) +* Se apeleaza fie cu id-ul atasamentului, fie cu numele fisierului +* Intoarce numarul de bytes scrisi pe disk sau 0 +*************************************************** +Function Atasament2File + Lparameters tnIdAtasament, tcfilename, tcFilePath + * tnIdAtasament (optional) : id atasament + * tcFileName (optional) : nume fisier atasament + * tcFilePath : calea completa unde se salveaza fisierul, inclusiv numele fisierului + Local lcFiltru, lcFiltruOriginal, lcFisier, lcOrder, lcSchema, lcSelect, lcgroup, llAfiseaza, lcFilePath + Local llModParam, lnIdAtas + Local lcFileName, lcNumeFisier, lnBytesWritten + Local laFiles[1], lcOraM, ldDataM, lnD, lnFiles, lnH, lnM, lnMin, lnS, lnY, ltDataOraBD, ltDataOraFile + Private poLink, pcFileName, pnIdAtasament + poLink = Null + lnBytesWritten = 0 + pnIdAtasament = Iif(!Empty(m.tnIdAtasament), m.tnIdAtasament, 0) + pcFileName = Iif(!Empty(m.tcfilename), Justfname(m.tcfilename), '') + lcFilePath = Iif(!Empty(m.tcFilePath), m.tcFilePath, '') + + If !(Empty(m.pnIdAtasament) And Empty(m.pcFileName)) + lcSchema = [fisier w, nume_fisier C(100), dataora T ] + lcSelect = [select fisier, nume_fisier, dataora from atas_atasamente where sters = 0 and ] + Iif(!Empty(m.pnIdAtasament), 'id_atas = ?pnIdAtasament', Iif(!Empty(m.pcFileName), 'nume_fisier=?pcFileName', '1=2')) + lcOrder = [] + lcgroup = [] + lcFiltru = [] + lcFiltruOriginal = [] + llModParam = .T. + llAfiseaza = .F. + + gencursor('poLink', 'cRegFisierTemp', lcSelect, lcFiltru, lcSchema, lcOrder, llAfiseaza, lcgroup, llModParam, lcFiltruOriginal) + poLink.ca_baza1.afisare() + If Used('cRegFisierTemp') + Select cRegFisierTemp + If Reccount('cRegFisierTemp') > 0 + Go Top + lcFisier = fisier + ltDataOraBD = dataora + ltDataOraFile = dataora - 1 + lcNumeFisier = Alltrim(Nvl(nume_fisier, '')) + lcFileName = Iif(!Empty(m.pcFileName), m.pcFileName, m.lcNumeFisier) + lcFilePath = Iif(!Empty(m.lcFilePath), m.lcFilePath, m.lcFileName) + + Use In (Select('cRegFisierTemp')) + If !Directory(Justpath(m.lcFilePath)) + Md (Justpath(m.lcFilePath)) + Endif + + * Verific daca data/ora modificarii din baza de date este mai mare decat cea de pe disk + * Nu suprascriu daca fisierul de pe disk este mai nou + polog.Log("Dataora fisier baza date: " + TRANSFORM(m.ltDataOraBD), Program()) + If File(m.lcFilePath) + lnFiles = Adir(laFiles, m.lcFilePath) + If m.lnFiles = 1 + ldDataM = laFiles[1, 3] + lcOraM = laFiles[1, 4] + lnY = Year(m.ldDataM) + lnM = Month(m.ldDataM) + lnD = Day(m.ldDataM) + lnH = INT(VAL(Substr(m.lcOraM, 1, 2))) + lnMin = INT(VAL(Substr(m.lcOraM, 4, 2))) + lnS = INT(VAL(Substr(m.lcOraM, 7, 2))) + Try + ltDataOraFile = Datetime(m.lnY, m.lnM, m.lnD, m.lnH, m.lnMin, m.lnS) + Catch + ltDataOraFile = m.ltDataOraBD + Endtry + ENDIF + polog.Log("Dataora fisier disk: " + TRANSFORM(m.ltDataOraFile), Program()) + Endif + + If m.ltDataOraBD > ltDataOraFile + lnBytesWritten = Strtofile(m.lcFisier, m.lcFilePath) + ELSE + lnBytesWritten = 1 + Endif + Endif && reccount + Endif && used + Endif && empty + + Return m.lnBytesWritten + +Endfunc && Atasament2File + +*************************************************** +* Citeste fisierul de pe disk si adauga atasament in baza de date atas_atasamente +* Se apeleaza cu calea completa a fisierului +* Intoarce id-ul atasamentului +*************************************************** +Function File2Atasament + Lparameters tcFile, tcDescriere + + Private pcFileName, pnId, pcFile, pcDescriere + + Local lcSql, lcSqlIns, lcSqlUpd, llSucces + pnId = 0 + If !File(m.tcFile) + tcFile = Getfile('', 'Alege un fisier', 'Alege', 0, 'Alege un fisier') + If Empty(m.tcFile) + Return m.pnId + Endif + Endif + + pcFile = Filetostr(m.tcFile) + pcFileName = Lower(Justfname(m.tcFile)) + pcDescriere = Iif(!Empty(m.tcDescriere), Alltrim(m.tcDescriere), '') + lcSql = [SELECT id_atas FROM atas_atasamente WHERE nume_fisier = ?pcFileName] + lcSqlIns = [insert into atas_atasamente (fisier, nume_fisier, descriere, id_util, dataora) values (?pcFile, ?pcFileName, ?pcDescriere, ?gnIdUtil, sysdate) returning id_atas into ?@pnId] + lcSqlUpd = [UPDATE atas_atasamente SET fisier = ?pcFile, descriere = ?pcDescriere, id_util = ?gnIdUtil, dataora = sysdate WHERE id_atas = ?pnId] + + llSucces = goExecutor.oExecuta(m.lcSql, 'crsAtasamenteTemp') + If m.llSucces + Do Case + Case Reccount('crsAtasamenteTemp') > 1 + amessagebox('Sunt mai multe inregistrari cu acelasi nume de fisier! Nu se salveaza!', 0 + 16, _Screen.Caption) + Case Reccount('crsAtasamenteTemp') = 1 + pnId = crsAtasamenteTemp.id_atas + Endcase + Use In (Select('crsAtasamenteTemp')) + + If Empty(m.pnId) + llSucces = goExecutor.oExecuta(m.lcSqlIns) + Else + llSucces = goExecutor.oExecuta(m.lcSqlUpd) + pnId = Iif(m.llSucces, m.pnId, 0) + Endif + Endif + + Return m.pnId + +Endfunc && File2Atasament + + +* ------------------------------------- +* Genereaza o comanda sql pentru totalizarea unui tabel dupa anumite coloane +* Echivalentul comenzii TOTAL TO, doar ca face group by dupa toate coloanele care nu sunt in lista de insumat +* lcSql = Cursor2Total('cAct', 'cActTVA', 'suma,suma_val,valtva,tvaval', .F.) +* &lcSql +* ------------------------------------- +Procedure Cursor2Total + Lparameters tcSource, tcDestination, tcFieldList, tcSumFieldList, tlGenerateCursor + * tcSource: source cursor name + * tcDestination: destination cursor name + * tcFieldList (optional, default empty = all fields): list of fields for group by + * tcSumFieldList: list of fields for sum() + * tlGenerateCursor (optional, default = .F.): execute the sql + Local lcField, lcFieldList, lcGroupBy, lcSql, lcSumFieldList, llField, lnColCount, lnColumn + lcSumFieldList = Alltrim(Lower(m.tcSumFieldList)) + lcFieldList = Iif(Empty(m.tcFieldList), '', Lower(m.tcFieldList)) + + lnColCount = Fcount(tcSource) + lcSql = [select ] + lcGroupBy = [] + For lnColumn = 1 To m.lnColCount + lcField = Lower(Field(m.lnColumn, m.tcSource)) + + If m.lcField $ m.lcSumFieldList + lcSql = m.lcSql + Iif(m.lnColumn > 1, [,], []) + [Sum(] + m.lcField + [) as ] + m.lcField + Else + llField = Empty(m.lcFieldList) Or m.lcField $ m.lcFieldList + If m.llField + lcSql = m.lcSql + Iif(m.lnColumn > 1, [,], []) + m.lcField + lcGroupBy = m.lcGroupBy + Iif(m.lnColumn > 1, [,], []) + m.lcField + Endif + Endif + Endfor + + lcSql = m.lcSql + [ from ] + m.tcSource + [ with (buffering=.t.) group by ] + m.lcGroupBy + [ into cursor ] + m.tcDestination + [ readwrite] + If m.tlGenerateCursor + &lcSql + Endif + Return m.lcSql +Endproc + +************************************ +* Functie pentru calculul _PAGETOTAL pentru grupuri care reseteaza pagina la 1 intr-un raport +* tcCrsAlias este optional, pentru a-l putea inchide la destroy in raport +************************************ +Function UpdatePageTotalGroup(tcGroupValue, tcCrsAlias) + Local lcAlias, lcSelect, lnPgCnt + lcSelect = Select() + lcAlias = Iif(!Empty(m.tcCrsAlias), tcCrsAlias, 'crsGrpPageCnt') + If !Used(m.lcAlias) + Create Cursor (m.lcAlias) (rptGrp C(100), pgCnt i) + Select (m.lcAlias) + Index On rptGrp Tag C_GrpPage + Endif + + Select (m.lcAlias) + If !Seek(Transform(m.tcGroupValue), m.lcAlias, 'C_GrpPage') + Insert Into (m.lcAlias) (rptGrp) Values (Transform(m.tcGroupValue)) + Endif + Replace pgCnt With Max(pgCnt, _Pageno) + lnPgCnt = pgCnt + + Select (m.lcSelect) + Return m.lnPgCnt +Endfunc && UpdatePageTotalGroup + +******************************************* +* Delete Directories and Files in Directory (including subdirectories) +* Returns the number of files +* +* lnFiles = xdelete('c:\temp') +******************************************* +FUNCTION xdelete + LPARAMETERS tcDirectory + + LOCAL laFiles[1], llDelete + llDelete = .T. + lnFiles = xdir(@laFiles, m.tcDirectory, '*.*', m.llDelete) + + TRY + RD (m.tcDirectory) + CATCH TO loEx + MESSAGEBOX(m.tcDirectory + ' ' + loEx.message) + ENDTRY + + RETURN m.lnFiles +ENDFUNC && xdelete + +******************************************* +* Get Files in Directory (including subdirectories) +* Returns the number of files +* +* ex: Dimension laFiles(1) +* =xdir(@laFiles, getdir(), '*.*') +* optional, delete the files and directories +* =xdir(@laFiles, getdir(), '*.*', .T.) +******************************************* +Function xdir + LPARAMETERS taryParam, tcDirectory, tcFileSkeleton, tlDelete + Local Array aryTemp(1, 5) + Local lnCount, lnMax, lnLen, lcFile, lcDirectory, lcFileSkeleton, lcDirFileSkeleton + + lcDirectory = Addbs(m.tcDirectory) + lcFileSkeleton = Iif(!Empty(m.tcFileSkeleton), m.tcFileSkeleton, '*.*') + lcDirFileSkeleton = Addbs(tcDirectory) + m.lcFileSkeleton + = Adir(aryTemp, m.lcDirFileSkeleton, "AHRSD", 1) + lnMax = Alen(aryTemp, 1) + + For lnCount = 1 To lnMax + lcFile = Alltrim(aryTemp(lnCount, 1)) + If !(m.lcFile == ".") And !(m.lcFile == "..") + If "D" $ aryTemp(lnCount, 5) + = xdir(@taryParam, Addbs(m.tcDirectory) + m.lcFile, m.lcFileSkeleton, m.tlDelete) + IF m.tlDelete + TRY + RD (Addbs(m.tcDirectory) + m.lcFile) + CATCH TO loEx + MESSAGEBOX(Addbs(m.tcDirectory) + m.lcFile + ' ' + loEx.message) + ENDTRY + ENDIF + Else + lnLen = Alen(taryParam) + If !Empty(taryParam(lnLen)) + Dimension taryParam(lnLen + 1) + lnLen = lnLen + 1 + Endif + taryParam(lnLen) = m.lcDirectory + m.lcFile + IF m.tlDelete + TRY + DELETE FILE (taryParam(lnLen)) + CATCH TO loEx + MESSAGEBOX(taryParam(lnLen) + ' ' + loEx.message) + ENDTRY + ENDIF + Endif + Endif + ENDFOR + + Return Alen(taryParam) +ENDFUNC + +*------------------------------------------------------------------------ +* syGetWordNum() +* An alternate version of VFP GetWordNum() that will not skip empty fields. +* e.g. +* syGetWordNum([A,,B,C],2,[,]) returns empty string instead of 'B' +* syGetWordNum([A,,B,C],3,[,]) returns 'B' instead of 'C' +* Default delimiters are space, tab, carriage return and linefeed. +* Vertical tab is used as a special token. +*------------------------------------------------------------------------ +function syGetWordNum(tcString, tnIndex, tcDelimiters) + local lcPatch, lcWord, i + if vartype(tcDelimiters)<>'C' + tcDelimiters = chr(32) + chr(9) + chr(13) + chr(10) + endif + lcPatch = tcString + for i = 1 to len(tcDelimiters) + lcPatch = strtran(lcPatch,substr(tcDelimiters,i,1),chr(11)+substr(tcDelimiters,i,1)+chr(11)) + endfor + lcWord = getwordnum(lcPatch, tnIndex, tcDelimiters) + lcWord = strtran(lcWord,chr(11)) + return lcWord +endfunc + +*------------------------------------------------------------------------ +* syGetWordCount() +* An alternate version of VFP GetWordCount() that will not skip empty fields. +* e.g. +* syGetWordCount([A,,B,C],[,]) returns 4 instead of 3 +* Default delimiters are space, tab, carriage return and linefeed. +* Vertical tab is used as a special token. +*------------------------------------------------------------------------ +function syGetWordCount(tcString, tcDelimiters) + local lcPatch, lnCount, i + if vartype(tcDelimiters)<>'C' + tcDelimiters = chr(32) + chr(9) + chr(13) + chr(10) + endif + lcPatch = tcString + for i = 1 to len(tcDelimiters) + lcPatch = strtran(lcPatch,substr(tcDelimiters,i,1),chr(11)+substr(tcDelimiters,i,1)+chr(11)) + endfor + lnCount = getwordcount(lcPatch, tcDelimiters) + return lnCount +ENDFUNC + +**************************** + +FUNCTION ValidCNP + LPARAMETERS nCnp + + LOCAL cCod + IF TYPE('nCnp') = 'N' + cCod=ALLTRIM(STR(m.nCnp,15,0)) + ELSE + cCod = ALLTRIM(m.nCnp) + ENDIF + + IF LEN(cCod)!=13 + RETURN .F. + ENDIF + LOCAL _X(13),_rest, j + FOR j=1 TO 13 + _X(j)=VAL(SUBSTR(cCod,j,1)) + ENDFOR + _rest=(_X(1)*2+_X(2)*7+_X(3)*9+_X(4)*1+_X(5)*4+_X(6)*6+_X(7)*3+_X(8)*5+_X(9)*8+_X(10)*2+_X(11)*7+_X(12)*9)%11 + RETURN IIF((_rest<10 and _rest=_X(13))or(_rest = 10 and _X(13)=1),.T.,.F.) +ENDFUNC && ValidCNP + + +FUNCTION cValidCNP + LPARAMETERS lpcnp + + IF TYPE('lpCNP') ='N' + lpCNP = ALLTRIM(STR(m.lpcnp)) + ENDIF + + IF LEN(ALLTRIM(lpcnp)) <> 13 + RETURN .F. + ENDIF + n1 = VAL(SUBSTR(lpcnp, 1, 1)) + n2 = VAL(SUBSTR(lpcnp, 2, 1)) + n3 = VAL(SUBSTR(lpcnp, 3, 1)) + n4 = VAL(SUBSTR(lpcnp, 4, 1)) + n5 = VAL(SUBSTR(lpcnp, 5, 1)) + n6 = VAL(SUBSTR(lpcnp, 6, 1)) + n7 = VAL(SUBSTR(lpcnp, 7, 1)) + n8 = VAL(SUBSTR(lpcnp, 8, 1)) + n9 = VAL(SUBSTR(lpcnp, 9, 1)) + n10 = VAL(SUBSTR(lpcnp, 10, 1)) + n11 = VAL(SUBSTR(lpcnp, 11, 1)) + n12 = VAL(SUBSTR(lpcnp, 12, 1)) + n13 = VAL(SUBSTR(lpcnp, 13, 1)) + c = MOD((n1 * 2 + n2 * 7 + n3 * 9 + ; + n4 * 1 + n5 * 4 + n6 * 6 + n7 * ; + 3 + n8 * 5 + n9 * 8 + n10 * 2 + ; + n11 * 7 + n12 * 9), 11) + IF c = 10 + c = 1 + ENDIF + IF c = n13 + RETURN .T. + ELSE + RETURN .F. + ENDIF +ENDFUNC + +* +FUNCTION GetDataCNP + LPARAMETERS plcnp + LOCAL mlan + mlan = SUBSTR(plcnp, 2, 2) + IF VAL(mlan) > 20 AND !INLIST(LEFT(plcnp, 1), "5", "6") + mlan = "19" + mlan + ELSE + mlan = "20" + mlan + ENDIF + RETURN CTOD(SUBSTR(plcnp, 6, 2) + "." + SUBSTR(plcnp, 4, 2) + "." + mlan) +ENDFUNC +* +FUNCTION VerifCF + LPARAMETERS plcfisc + LOCAL mlsuma, mlrest + plcfisc = getnrfromstring(plcfisc) + IF LEN(ALLTRIM(plcfisc)) = 13 + IF .NOT. cvalidcnp(plcfisc) + RETURN .F. + ELSE + RETURN .T. + ENDIF + ELSE + IF LEN(ALLTRIM(plcfisc)) < 2 OR LEN(ALLTRIM(plcfisc)) > 10 OR plcfisc = "0" + RETURN .F. + ENDIF + ENDIF + plcfisc = PADL(ALLTRIM(plcfisc), 10, "0") + mlsuma = 0 + FOR i = 1 TO 10 + mlsuma = mlsuma + VAL(SUBSTR(plcfisc, i, 1)) * VAL(SUBSTR("753217532", i, 1)) + ENDFOR + mlrest = MOD((mlsuma * 10), 11) + IF mlrest = 10 + mlrest = 0 + ENDIF + IF VAL(SUBSTR(plcfisc, 10, 1)) <> mlrest + RETURN .F. + ELSE + RETURN .T. + ENDIF +ENDFUNC +* +*verifiban('RO79FNNB000501041759RO01') +FUNCTION VerifIBAN + LPARAMETERS iban + iban = STRTRAN(iban, " ", "") + + IF LEN(ALLTRIM(iban)) <> 24 + RETURN .F. + ENDIF + mcontrol = SUBSTR(iban, 3, 2) + iban = SUBSTR(iban, 5, 20) + SUBSTR(iban, 1, 2) + "00" + miban = "" + FOR i = 1 TO 24 + IF ISALPHA(SUBSTR(iban, i, 1)) + miban = miban + ALLTRIM(STR(ASC(SUBSTR(iban, i, 1)) - 55)) + ELSE + miban = miban + SUBSTR(iban, i, 1) + ENDIF + ENDFOR + mibansec = miban + rest = "" + FOR i = 0 TO 7 + mibansec = rest + SUBSTR(miban, i * 5 + 1, 5) + dv = MOD(VAL(mibansec), 97) + rest = ALLTRIM(STR(dv)) + ENDFOR + IF PADL(ALLTRIM(STR(98 - VAL(rest))), 2, "0") <> mcontrol + RETURN .F. + ELSE + RETURN .T. + ENDIF +ENDFUNC +* +FUNCTION GetSumaControlIBAN +LPARAMETERS iban +IF LEN(ALLTRIM(iban)) <> 24 + RETURN "XX" +ENDIF +mcontrol = SUBSTR(iban, 3, 2) +iban = SUBSTR(iban, 5, 20) + ; + SUBSTR(iban, 1, 2) + "00" +miban = "" +FOR i = 1 TO 24 + IF ISALPHA(SUBSTR(iban, i, ; + 1)) + miban = miban + ; + ALLTRIM(STR(ASC(SUBSTR(iban, ; + i, 1)) - 55)) + ELSE + miban = miban + ; + SUBSTR(iban, i, ; + 1) + ENDIF +ENDFOR +mibansec = miban +rest = "" +FOR i = 0 TO 7 + mibansec = rest + ; + SUBSTR(miban, i * ; + 5 + 1, 5) + dv = MOD(VAL(mibansec), 97) + rest = ALLTRIM(STR(dv)) +ENDFOR +RETURN PADL(ALLTRIM(STR(98 - ; + VAL(rest))), 2, "0") +ENDFUNC +* +FUNCTION GetNrFromString + LPARAMETERS plstr + LOCAL mlenstr + mlenstr = LEN(ALLTRIM(plstr)) + + DO WHILE ISALPHA(plstr) .OR. LEFT(plstr, 1) == " "; + .OR. LEFT(plstr, 1) == "&" .OR. LEFT(plstr, 1) == "/"; + .OR. LEFT(plstr, 1) == "-" .OR. LEFT(plstr, 1) == "_"; + .OR. LEFT(plstr, 1) == "." .OR. LEFT(plstr, 1) == ":" + plstr = RTRIM(SUBSTR(plstr, 2, mlenstr)) + ENDDO + + RETURN plstr +ENDFUNC +* +FUNCTION GetDigitsFromString +LPARAMETERS plstr, plnrdigits, ; + pltip, plseparator +LOCAL mlenstr, ii, ; + mreturnnrintermed, ; + mreturnnrfinal +mlenstr = LEN(ALLTRIM(plstr)) +mreturnnrintermed = "" +mreturnnrfinal = "" +FOR ii = 1 TO mlenstr + mcurentchar = SUBSTR(plstr, ; + ii, 1) + IF ISDIGIT(mcurentchar) .OR. ; + (pltip = 3 .AND. ; + INLIST(mcurentchar, ".", ; + ",")) + mreturnnrintermed = mreturnnrintermed + ; + mcurentchar + ELSE + IF pltip = 1 .OR. pltip = ; + 2 + mreturnnrintermed = ; + "" + ENDIF + ENDIF + IF LEN(mreturnnrintermed) >= ; + plnrdigits + DO CASE + CASE pltip = 1 + IF LEN(mreturnnrintermed) <= ; + 12 .AND. ; + verifcf(mreturnnrintermed) ; + .AND. ; + .NOT. ; + ISDIGIT(SUBSTR(plstr, ; + ii + 1, ; + 1)) + mreturnnrfinal = ; + mreturnnrintermed + EXIT + ENDIF + CASE pltip = 2 + IF cvalidcnp(mreturnnrintermed) + mreturnnrfinal = ; + mreturnnrintermed + EXIT + ENDIF + CASE pltip = 3 + mreturnnrintermed = ; + STRTRAN(mreturnnrintermed, ; + plseparator, ; + "") + IF VAL(mreturnnrintermed) > ; + 0 + mreturnnrfinal = ; + mreturnnrintermed + EXIT + ENDIF + ENDCASE + ENDIF +ENDFOR +RETURN mreturnnrfinal +ENDFUNC +* +FUNCTION GetIBANFromString +LPARAMETERS plstr, plpoz +LOCAL mlenstr, ii, ; + mreturnnrintermed, ; + mreturnnrfinal +mlenstr = LEN(ALLTRIM(plstr)) +mreturnnrintermed = "" +mreturnnrfinal = "" +misok = .F. +FOR ii = 1 TO mlenstr + mcurentchar = SUBSTR(plstr, ; + ii, 1) + IF misok + IF LEN(mreturnnrintermed) < ; + 24 + mreturnnrintermed = ; + mreturnnrintermed + ; + mcurentchar + ELSE + EXIT + ENDIF + ELSE + IF mcurentchar == "R" ; + .AND. ; + mreturnnrintermed = ; + "" .AND. ; + SUBSTR(plstr, ii + 1, ; + 1) == "O" + mreturnnrintermed = ; + mreturnnrintermed + ; + mcurentchar + ELSE + IF mcurentchar == ; + "O" .AND. ; + mreturnnrintermed = ; + "R" + mreturnnrintermed = ; + mreturnnrintermed + ; + mcurentchar + ELSE + IF .NOT. ; + misok ; + .AND. ; + INLIST(mcurentchar, ; + "1", "2", ; + "3", "4", ; + "5", "6", ; + "7", "8", ; + "9", "0") ; + .AND. ; + mreturnnrintermed = ; + "RO" ; + .AND. ; + LEN(mreturnnrintermed) <= ; + 3 + mreturnnrintermed = ; + mreturnnrintermed + ; + mcurentchar + IF plpoz = ; + 1 + misok = ; + .T. + ELSE + mreturnnrintermed = ; + "" + plpoz = ; + plpoz - ; + 1 + ENDIF + ELSE + mreturnnrintermed = ; + "" + ENDIF + ENDIF + ENDIF + ENDIF +ENDFOR +IF verifiban(mreturnnrintermed) + RETURN mreturnnrintermed +ELSE + RETURN "" +ENDIF +ENDFUNC +* +FUNCTION ContainChar +LPARAMETERS plstr +DO WHILE .NOT. (ISALPHA(plstr) .OR. LEFT(plstr, 1); +== "&" .OR. LEFT(plstr, 1) == "/" .OR. LEFT(plstr,; +1) == "-" .OR. LEFT(plstr, 1) == "_") + IF EMPTY(plstr) + RETURN .F. + ENDIF + plstr = RTRIM(SUBSTR(plstr, ; + 2, 60)) +ENDDO +RETURN .T. +ENDFUNC +* +FUNCTION GetStrFromStr +LPARAMETERS plstr +LOCAL mstr +mstr = "" +DO WHILE ISALPHA(plstr) .OR. ; + LEFT(plstr, 1) == " " + mstr = mstr + LEFT(plstr, 1) + plstr = SUBSTR(plstr, 2, 20) +ENDDO +RETURN ALLTRIM(mstr) +ENDFUNC +* +FUNCTION CheckDigit +LPARAMETERS tcstring +LOCAL llsuccess +llsuccess = .F. +IF EMPTY(tcstring) + RETURN .F. +ENDIF +FOR lncharacter = 1 TO ; + LENC(tcstring) + lcchar = SUBSTRC(tcstring, ; + lncharacter, 1) + llsuccess = ISDIGIT(lcchar) + IF llsuccess + EXIT + ENDIF +ENDFOR +RETURN llsuccess +ENDFUNC +* +FUNCTION IsOnlyDigit +LPARAMETERS tcstring +LOCAL llsuccess +llsuccess = .F. +IF EMPTY(tcstring) + RETURN .F. +ENDIF +FOR lncharacter = 1 TO ; + LENC(tcstring) + lcchar = SUBSTRC(tcstring, ; + lncharacter, 1) + IF .NOT. ISDIGIT(lcchar) ; + .AND. .NOT. ; + INLIST(lcchar, ",", ".", ; + " ") + RETURN .F. + ENDIF +ENDFOR +RETURN .T. +ENDFUNC + +PROCEDURE TestExcesSerialNumber2Date +* Example +? ExcelSerialNumber2Date(39278) && 2007-07-15 +? ExcelSerialNumber2Datetime(39278.456777) && 2007-07-15 10:57:46 +? ExcelSerialNumber2Time(.456777) && 10:57:46 +ENDPROC +*-------------------------------------------------------------------- + +* Convert Excel serial number to a date +FUNCTION ExcelSerialNumber2Date(tnExcelSerialNumber) + RETURN {^1899/12/30} + tnExcelSerialNumber +ENDFUNC && ExcelSerialNumber2Date + +* Convert Excel serial number to a datetime +FUNCTION ExcelSerialNumber2Datetime(tnExcelSerialNumber) + RETURN DTOT({^1899/12/30} + INT(tnExcelSerialNumber)) + ; + ROUND(24*60*60 * (tnExcelSerialNumber % 1),0) +ENDFUNC && ExcelSerialNumber2Datetime + +* Convert Excel serial number to a time string +FUNCTION ExcelSerialNumber2Time(tnExcelSerialNumber) + RETURN SUBSTR(TTOC({^2000/01/10 00:00:00} + ROUND(24*60*60 * (tnExcelSerialNumber % 1),0),3), 12) +ENDFUNC && ExcelSerialNumber2Time + +*************************************************************** +* Unzip a zip file +* lcZipFile = 'c:\arhiva.zip' +* lcUnzipDir = '' +* lcErrrMessage = '' +* llSuccs = Unzip(m.lcZipFile, @lcUnzipDir, @lcErrrMessage) +*************************************************************** +PROCEDURE MyUnzip + LPARAMETERS tcFileName, tcUnzipDir, tcErrorMessage, tlSilent + * tcFileName: IN calea catre fisierul arhiva zip + * tcUnzipDir: IN/OUT director dezarhivare + * tcErrorMessage: OUT mesaj eroare daca RETURN = .F. + * tlSilent: .T. fara wait window la callback + * RETURN: Logical .T. daca dezarhivare cu succes + + Local lcFileName, lcLibraryPath, llSucces, loErr + + llSucces = .F. + lcFileName = m.tcFileName + tcErrorMessage = '' + If Empty(m.lcFileName) OR !FILE(m.lcFileName) + tcErrorMessage = 'Fisierul de dezarhivat nu exista!' + RETURN m.llSucces + ENDIF + + IF EMPTY(m.tcUnzipDir) + tcUnzipDir = Addbs(Sys(2023)) + Sys(2015) + ENDIF + + IF !DIRECTORY(m.tcUnzipDir ) + Md (m.tcUnzipDir ) + ENDIF + + Try + lcLibraryPath = ADDBS(m.gcBasePath) + Iif("ROA" $ Upper(gcBasePath), "COMUNROA", "COMUNCONTAFIN") + "\vfpcompression.fll" && CONTAFIN(ROA)\COMUNCONTAFIN(COMUNROA)\vfpcompression.fll + + If File(m.lcLibraryPath) + If !'vfpcompression' $ LOWER(Set("Library")) + Set Library To (m.lcLibraryPath) Additive + Endif + IF !m.tlSilent + ZipCallback("MyUnzipCallBack()") && Start Event Handling - Any Function/Procedure/Method (in scope of course) + ENDIF + llSucces = UnzipQuick(m.lcFileName, m.tcUnzipDir ) + ZipCallback("") && Stop Event Handling + ELSE + llSucces = .F. + tcErrorMessage = 'Nu exista libraria ' + m.lcLibraryPath + ENDIF + CATCH TO loErr + llSucces = .F. + tcErrorMessage = loErr.Message + ENDTRY + + RETURN m.llSucces +ENDPROC + + +Procedure UnzipQuickShell + Lparameters tcFileName, tcUnzipDir, tcErrorMessage, tlSilent + * tcFileName: IN calea catre fisierul arhiva zip + * tcUnzipDir: IN/OUT director dezarhivare + * tcErrorMessage: OUT mesaj eroare daca RETURN = .F. + * tlSilent: .T. fara wait window la callback && nu este implementat la shell + * RETURN: Logical .T. daca dezarhivare cu succes + + Local loShell As "shell.application", loEx as Exception + Local lcFileName, lcUnzipDir, llSucces, ofile + + tcErrorMessage = '' + llSucces = .F. + + Try + lcFileName = m.tcFileName && "C:\temp\D401001F.ZIP" + lcUnzipDir = m.tcUnzipDir + + IF EMPTY(m.tcUnzipDir) OR TYPE('tcUnzipDir') <> 'C' + lcUnzipDir = Addbs(Sys(2023)) + Sys(2015) + ENDIF + + If !Directory(m.lcUnzipDir) + Md (m.lcUnzipDir) + Endif + + loShell = Createobject("shell.application") + For Each ofile In loShell.NameSpace(m.lcFileName).items + loShell.NameSpace(m.lcUnzipDir).copyhere(ofile, 16) + Endfor + llSucces = .T. + Catch To loEx + tcErrorMessage = loEx.Message + llSucces = .F. + Endtry + + Return m.llSucces +Endproc && UnzipQuickShell + +******************************** +* Intoarce calea COMUNA pentru pdf-uri declaratii, efactura generate de program +* D:\ROA\[tcTip]\[AAAA_LL]\[FIRMA]\[tcTip2] +* lcFisierPDF = GetPdfPath('EFACTURA', 'PRIMITE') +******************************** +FUNCTION GetPdfPath + LPARAMETERS tcTip, tcTip2 + * tcTip: D300/D394/D390/eFactura + * tcTip2: (optional) Primite (eFactura) + + Local lcCaleFisier, lcMesaj, lcTip, llSucces, loEx, lcFirma + lcTip = IIF(!EMPTY(m.tcTip), UPPER(ALLTRIM(m.tcTip)), 'ALTE') + + *** Creez structura director export (caletemp\D390\aaaa_ll\firma\ + llSucces = .F. + Try + lcCaleFisier = Addbs(m.gcBasePath) + m.lcTip + "\" && d:\ROA\D390\ + If !Directory(m.lcCaleFisier) + Md (m.lcCaleFisier) + Endif + + lcCaleFisier = m.lcCaleFisier + Alltrim(Str(gnAn)) + "_" + Padl(Alltrim(Str(gnLuna)), 2, "0") + "\"&& d:\ROA\D390\2011_01\ + If !Directory(m.lcCaleFisier) + Md (m.lcCaleFisier) + Endif + + lcFirma = WindowsSpecialCharacters(m.gcFirma, "_") && Chrtran(m.gcFirma, [/\?%*:|"<>.,;=], Replicate('_', 14)) + lcFirma = Strtran(Alltrim(m.lcFirma), [ ], [_], 1, 100, 1) + lcFirma = LEFT(m.lcFirma,70) && daca este prea lunga calea, xml3.save nu poate salva fisiere + + lcCaleFisier = m.lcCaleFisier + m.lcFirma + "\" && Strtran(gcFirma, [ ], [_]) + "\" && d:\ROA\D390\2011_01\firma\ + + If !Directory(m.lcCaleFisier) + Md (m.lcCaleFisier) + Endif + + IF !EMPTY(m.tcTip2) + lcCaleFisier = m.lcCaleFisier + UPPER(ALLTRIM(m.tcTip2)) + '\' && d:\ROA\D390\2011_01\firma\primite\ + If !Directory(m.lcCaleFisier) + Md (m.lcCaleFisier) + ENDIF + ENDIF + + llSucces = .T. + Catch To loEx + lcCaleFisier = '' + lcMesaj = "Creare director " + lcCaleFisier + " " + loEx.Message + amessagebox(lcMesaj, 0 + 48) + Endtry + + RETURN m.lcCaleFisier +ENDFUNC && GetPdfPath + +FUNCTION DeleteFiles + lcName = SYS(2000, '*.TXT') + DO WHILE LEN (lcName) > 0 + DELETE FILE (lcName) + lcName = SYS (2000, '*.TXT') + ENDDO +ENDFUNC + +PROCEDURE HTTPDownloadFile + LPARAMETERS lcURL, m.lcDownloadFile + + Local loHTTP As "winhttp.winhttprequest.5.1" + Local lnBytes, lnStatus + + loHTTP = Createobject("winhttp.winhttprequest.5.1") + loHTTP.Open("GET", m.lcURL, .F.) + loHTTP.Send() + lnStatus = loHTTP.Status + lnBytes = 0 + If m.lnStatus = 200 && OK + lnBytes = STRTOFILE(loHTTP.ResponseBody, m.lcDownloadFile) + ENDIF + + RETURN m.lnBytes > 0 +ENDPROC \ No newline at end of file diff --git a/programe/oproceduri_comune_imob.prg b/programe/oproceduri_comune_imob.prg new file mode 100644 index 0000000..69917e1 --- /dev/null +++ b/programe/oproceduri_comune_imob.prg @@ -0,0 +1,202 @@ +*!* oproceduri_comune_imob +*!* 12.07.2006 +*!* marius.mutu + +*!* 27.03.2013 +*!* marius.mutu +*!* GET_CURSOR_INCHIDERE_AMORTIZARI +*!* DEFALCARE SUME CHELTUIELI IN DEDUCTIBILE, NEDEDUCTIBILE IN FUNCTIE DE AMORT_MAX_DEDUCTIBL + +*!* 09.04.2013 +*!* marius.mutu +*!* GET_CURSOR_INCHIDERE_AMORTIZARI +*!* s-au tratat imobilizarile fara cont + +*!* 24.06.2020 +*!* Inchiderea de amortizari se face folosind modul experimental, din view +*!* In ROACONT nu am mod experimental, asa ca implicit este .T. + +*!* 23.01.2024 +*!* GET_CURSOR_INCHIDERE_AMORTIZARI : defalcare pe lucrari + +*!* 18.05.2026 +*!* GET_CURSOR_INCHIDERE_AMORTIZARI - amort_max_deductibila = NULL,0,>0 pentru diferentierea cazurilor in care toata amort_max_deductibila=0 => amortizarea lunara este total nedeductibila + +*!* 25.05.2026 +*!* GET_CURSOR_INCHIDERE_AMORTIZARI = corectat suma nedeductibila pentru cazul in care rata < amort_max_deductibila. punea nedeductibil = rata + +*** tcCursor = GET_CURSOR_AMORTIZARI (tnFiscala, tnAn, tnLuna) +*** tcCursor = GET_CURSOR_INCHIDERE_AMORTIZARI (tnTip, tnSectie, tnAn, tnLuna, tcCursor) + +*---------------------------------------------------- +Procedure GET_CURSOR_AMORTIZARI + Lparameters tnFiscala, tnAn, tnLuna, tnIdTipImobilizare, tnIdMf + + Local lnSucces, lcSel, lcCursor, llExperimental + Local lcFiltru, llSucces + Private pdDataI, pdDataF, pcCond, pnFiscala + llExperimental = .T. + IF TYPE('goApp.nExperimental') = 'N' + llExperimental = .T. && 25.11.2021 llExperimental = (goApp.nExperimental = 1) + ENDIF + + pdDataI = Date(tnAn, tnLuna, 1) + pdDataF = pdDataI + *pcCond = [id_tip_imobilizare = ] + ALLTRIM(STR(tnTip)) && merge fffff greu + + pcCond = [2=2] + lcFiltru = IIF(!EMPTY(m.tnIdTipImobilizare), [id_tip_imobilizare = ] + Alltrim(Str(m.tnIdTipImobilizare)), [1=1]) + m.gcCondSucursala + IIF(!EMPTY(m.tnIdMf), [ and id_mf = ] + ALLTRIM(STR(m.tnIdMf)), []) && merge normal in mod experimental cu selectie din view imob_vsituatie_lunara + If Empty(tnFiscala) + pnFiscala = 0 + Else + pnFiscala = tnFiscala + Endif + lcCursor = 'crsAmortizareTemp' + WAIT WINDOW 'Selectie amortizari ' + PADL(INT(m.tnLuna), 2, '0') + '/' + ALLTRIM(STR(INT(m.tnAn))) + ' ...' NOWAIT + If m.llExperimental + * EXPERIMENTAL SELECTIE DIN IMOB_VSITUATIE_LUNARA IN LOC DE PACK_IMOB.CALCUL_SITUATIE_LUNARA() + * Setez luna pentru view + + llSucces = goExecutor.oExecuta('begin pack_imob.setlunacurenta(?pdDataI); end;') + If m.llSucces + lcSel = [SELECT * FROM ] + Iif(m.pnFiscala = 0, [imob_vsituatie_lunara], [imobf_vsituatie_lunara]) + [ WHERE ] + m.lcFiltru + llSucces = goExecutor.oExecuta(m.lcSel, m.lcCursor) + Endif + Else + lcSel = [{call pack_imob.CALCUL_SITUATIE_LUNARA(?pdDataI,?pdDataF,?pcCond,?pnFiscala,?gnIdSucursala)}] + llSucces = goExecutor.oExecuta(lcSel, lcCursor) + Endif + + If !m.llSucces + lcCursor = '' + Endif + Return m.lcCursor + +Endproc && GET_CURSOR_AMORTIZARI + +*---------------------------------------------------- +Procedure GET_CURSOR_INCHIDERE_AMORTIZARI + Lparameters tnTip, tnSectie, tnLucrare, tnAn, tnLuna, tcCursor + + Local lnFiscal, lcCursor, lcSqlSectie, lnAnLuna, lnSucces + Local lcCursorPlcont, lcCursorTemp, lcSql + lnFiscal = 0 && amortizare contabila + lcCursor = "" + + lcCursor = GET_CURSOR_AMORTIZARI(m.lnFiscal, m.tnAn, m.tnLuna, m.tnTip) + If Empty(lcCursor) + Return '' + Endif + + && CORESPONDENTE CONTURI INCHIDERE + && DACA NU SUNT COMPLETATE - SE FOLOSESC CONTURI DEFAULT + *** ADAUG LINIILE PENTRU SUME DEDUCTIBILE (TIP = 1) + Create Cursor crsConturi (TIP N(1), Id N(10), id_sectie I Null, Cont c(4), acont c(4) Null, scd c(4) Null, ascd c(4) Null, scc c(4) Null, ascc c(4) Null) + + lcSql = "select 1 as tip, id, id_sectie, cont, acont, scd, ascd, scc, ascc from imob_inchidere" + llSucces = goExecutor.oExecuta(lcSql, "crsConturiTemp") + If m.llSucces + Insert Into crsConturi (tip, id, id_sectie, cont, acont, scd, ascd, scc, ascc) ; + select tip, Id, id_sectie, cont, acont, scd, ascd, scc, ascc From crsConturiTemp + Endif + +*!* *** COMPLETEZ CONTURILE CARE NU SUNT CONFIGURATE IN IMOB_INCHIDERE +*!* Insert Into crsConturi (TIP, Cont, acont) ; +*!* select Distinct 1 As TIP, Cont, acont ; +*!* from (m.lcCursor) Where !Empty(Nvl(Cont, '')) And Padr(Nvl(Cont, ''), 4, ' ') + Padr(Nvl(acont, ''), 4, ' ') Not In ; +*!* (Select Padr(Nvl(Cont, ''), 4, ' ') + Padr(Nvl(acont, ''), 4, ' ') From crsConturi) + +*!* && COMPLETEZ SCD, SCC DEFAULT +*!* Update crsConturi Set scd = '6811' Where Empty(scd) +*!* Update crsConturi Set scc = Iif(tnTip = 1, '281', '280') + Substr(Cont, 3, 1) Where Empty(scc) + + *** ADAUG LINIILE PENTRU SUME NEDEDUCTIBILE (TIP = 2) + Insert Into crsConturi (tip, id_sectie, Cont, acont, scd, ascd, scc, ascc) ; + select 2 As tip, id_sectie, Cont, acont, scd, ascd, scc, ascc ; + from crsConturi + + lnAnLuna = tnAn * 12 + tnLuna; + + lcSql = [select cont, acont, explicatie from plcont where inactiv = 0 and an = ] + Transform(tnAn) + lcCursorPlcont = [crsPlcontTemp] + lnSucces = goExecutor.oExecute(lcSql, lcCursorPlcont) + If lnSucces < 0 + AMESSAGEBOX(goExecutor.cEroare, 0 + 16, 'Eroare') + Endif + If !Used("crsPlContTemp") + Create Cursor crsPlContTemp (Cont c(4), acont c(4), explicatie c (30)) + Endif + + *** CUMULARE PE SECTII sau pe lucrari + m.lcCursorTemp = 'crsAmortizariTemp' + + * amort_max_deductibil poate sa fie NULL, 0, > 0. daca = NULL, atunci toata suma este deductibila, daca = 0, atunci toata suma este nedeductibila + Select Sum(Cast(Iif(c.TIP = 1, ; + Iif(ISNULL(a.amort_max_deductibil), a.rata, ; + IIF(a.amort_max_deductibil > 0, ; + IIF(a.rata < a.amort_max_deductibil, a.rata, a.amort_max_deductibil), ; + 0)), ; + iif(ISNULL(a.amort_max_deductibil), 0, ; + IIF(a.amort_max_deductibil = 0, a.rata, ; + IIF(a.rata > a.amort_max_deductibil, a.rata - a.amort_max_deductibil, 0)))) ; + As N(20, 4))) As suma, ; + a.Cont, a.acont, Nvl(a.id_sectie, 00000) As id_sectie, Nvl(a.sectie, Space(50)) As sectie, ; + CAST(Nvl(a.id_lucrare, 0) as I) As id_lucrare, CAST(Nvl(a.nrord, '') as C(100)) As nrord, ; + IIF(!Empty(Nvl(c.Cont, "")), c.scd, Space(4)) As scd, ; + IIF(!Empty(Nvl(c.Cont, "")), c.ascd, Space(4)) As ascd, ; + IIF(!Empty(Nvl(c.Cont, "")), c.scc, Space(4)) As scc, ; + IIF(!Empty(Nvl(c.Cont, "")), c.ascc, Space(4)) As ascc, ; + padr(Alltrim(Nvl(a.Cont, '')) + Iif(!Empty(Nvl(a.acont, '')), '.' + Nvl(a.acont, ''), '') + ' ' + Alltrim(Nvl(p.explicatie, '')) + Iif(c.TIP = 1, ' - DEDUCTIBIL', ' - NEDEDUCTIBIL'), 200, ' ') As explicatie ; + from (m.lcCursor) a ; + left Join crsPlContTemp p On a.Cont = p.Cont And Nvl(a.acont, 'xxxx') = Nvl(p.acont, 'xxxx') ; + left Join crsConturi c On a.Cont = c.Cont And Nvl(a.acont, 'xxxx') = Nvl(c.acont, 'xxxx') AND NVL(a.id_sectie, 0) = NVL(c.id_sectie,0) ; + where id_tip_imobilizare = tnTip ; + group By a.Cont, a.acont, a.id_sectie, a.sectie, a.id_lucrare, a.nrord, p.explicatie, c.Cont, c.scd, c.ascd, c.scc, c.ascc, c.TIP ; + into Cursor crsAmortizariTemp Readwrite + + DO CASE + *** CUMULARE SUME PE SECTII SI LUCRARI + CASE tnSectie = 1 AND tnLucrare = 1 + Select Cont, acont, scd, ascd, scc, ascc, explicatie, id_sectie, sectie, id_lucrare, nrord, Sum(suma) As suma ; + from (m.lcCursorTemp) ; + group By Cont, acont, scd, ascd, scc, ascc, explicatie, id_sectie, sectie, id_lucrare, nrord ; + into Cursor (m.tcCursor) Readwrite + + *** CUMULARE SUME FARA SECTII, PE LUCRARI + CASE tnSectie <> 1 AND tnLucrare = 1 && nu pe sectii + Select Cont, acont, scd, ascd, scc, ascc, explicatie, 0 As id_sectie, '' As sectie, id_lucrare, nrord, Sum(suma) As suma ; + from (m.lcCursorTemp) ; + group By Cont, acont, scd, ascd, scc, ascc, explicatie, id_lucrare, nrord ; + into Cursor (m.tcCursor) Readwrite + + *** CUMULARE SUME PE SECTI, FARA LUCRARI + CASE tnSectie = 1 AND tnLucrare <> 1 && nu pe sectii + Select Cont, acont, scd, ascd, scc, ascc, explicatie, id_sectie, sectie, 0 as id_lucrare, '' as nrord, Sum(suma) As suma ; + from (m.lcCursorTemp) ; + group By Cont, acont, scd, ascd, scc, ascc, explicatie, id_sectie, sectie ; + into Cursor (m.tcCursor) Readwrite + + *** CUMULARE SUME FARA LUCRARI, FARA SECTI + CASE tnSectie <> 1 AND tnLucrare <> 1 && nu pe sectii + Select Cont, acont, scd, ascd, scc, ascc, explicatie, 0 AS id_sectie, '' AS sectie, 0 as id_lucrare, '' as nrord, Sum(suma) As suma ; + from (m.lcCursorTemp) ; + group By Cont, acont, scd, ascd, scc, ascc, explicatie ; + into Cursor (m.tcCursor) Readwrite + + ENDCASE + Use In (Select(m.lcCursorTemp)) + + + && sterg sumele 0 + Delete From (tcCursor) Where suma = 0 + + Use In (Select(m.lcCursor)) + Use In (Select(m.lcCursorPlcont)) + + If Used(m.tcCursor) + Return m.tcCursor + Else + Return '' + Endif + +Endproc && GET_CURSOR_INCHIDERE_AMORTIZARI diff --git a/programe/oproceduri_configurare.prg b/programe/oproceduri_configurare.prg new file mode 100644 index 0000000..401ffb5 --- /dev/null +++ b/programe/oproceduri_configurare.prg @@ -0,0 +1,229 @@ +*!* 22.02.2010 +*!* marius.mutu +*!* viz_config_grupe_gestiuni - arat doar gestiunile din sucursala curenta + +*!* 22.03.2010 +*!* marius.mutu +*!* viz_config_grupe_gestiuni - + ID_SECTIE, SECTIE + +*!* 31.12.2019 +*!* marius.mutu +*!* viz_config_grupe_gestiuni - GESTIUNI.GESTIONAR, COMISIE_RECEPTIE + +PROCEDURE viz_config_grupe_gestiuni +PARAMETERS tntip + + + lntip = tntip + PRIVATE poGestiuni + Local lcSchema, lcSelect, lcOrder, lcFiltru, lcFiltruOriginal, llAfiseaza, lcgroup, lcFiltruOriginal + PRIVATE poGrupe,pcschema2,pcselect2,pcfiltru2,pcorder2 + PRIVATE poUtilizatori + LOCAL lcschema3,lcselect3,lcfiltru3,lcorder3,lcgroup3, llModParam3, lcFiltruOriginal3 + PRIVATE poGrupe_Gestiuni,pcschema4,pcselect4,pcfiltru4,pcorder4 + PRIVATE poGrupe_Utilizatori,pcschema5,pcselect5,pcfiltru5,pcorder5 + STORE '' TO poGestiuni,poGrupe,poUtilizatori,poGrupe_Gestiuni,poGrupe_Utilizatori + + *********************** + PRIVATE aTipuriGestiuni + DIMENSION aTipuriGestiuni(7) + *EXTERNAL ARRAY taTipuriGestiuni + aTipuriGestiuni(1)=[] + aTipuriGestiuni(2)=[Materii Prime si Materiale] + aTipuriGestiuni(3)=[Obiecte de Inventar] + aTipuriGestiuni(4)=[Produse] + aTipuriGestiuni(5)=[Marfuri la Pret de Achizitie] + aTipuriGestiuni(6)=[Marfuri la Pret de Vanzare] + aTipuriGestiuni(5)=[Marfuri la Pret de Achizitie*] + *********************** + + lcsql = [select nume_tip,id_tipgest from vtipuri_gestiuni ] + lnSucces = goExecutor.oexecute(lcSql,[crsTipuri_gest]) + IF lnSucces < 0 + lcMesaj = goExecutor.cEroare + ofrm_er =CREATEOBJECT([frm_mesaj],[Eroare],[exclam.ico],[Avertizare],lcmesaj) + ofrm_er.show() + RELEASE ofrm_er + return + ENDIF + + lcSchema = [ID_GESTIUNE N(5), NUME_GESTIUNE V(50),INACTIV N(1),CONT V(4),ACONT V(4),] + ; + [NR_PAG N(2) ,CGEST V(20) ,ID_SUCURSALA N(10) ,DESCRIERE V(100) ,NUME_TIP V(30) ,SUCURSALA V(100) , ] + ; + [ID_RESPONSABIL N(10) ,DENUMIRE V(70), ID_SECTIE N(5), SECTIE V(50), ACONT_CHELTUIALA V(4), ACONT_ADAOS V(4),ID_LUCRARE N(10), NRORD V(100), ] + ; + [GESTIONAR V(50), COMISIE_RECEPTIE1 V(50), COMISIE_RECEPTIE2 V(50), COMISIE_RECEPTIE3 V(50)] + + lcSelect = [select ID_GESTIUNE,NUME_GESTIUNE,INACTIV,CONT,ACONT,NR_PAG,CGEST,ID_SUCURSALA,DESCRIERE,NUME_TIP,SUCURSALA,ID_RESPONSABIL,DENUMIRE, ] + ; + [ID_SECTIE, SECTIE, ACONT_CHELTUIALA, ACONT_ADAOS,ID_LUCRARE, NRORD, ] +; + [GESTIONAR, COMISIE_RECEPTIE1, COMISIE_RECEPTIE2, COMISIE_RECEPTIE3] + ; + [ from vnom_gestiuni] + + lcOrder = [nume_gestiune] + lcgroup = [] + lcFiltru = [] + *!* 22.02.2010 + lcFiltruOriginal = SUBSTR(gcCondSucursala,6) + *!* 22.02.2010 ^ + + pcschema2=['id_grupe n(5),nume_grupa c(100), nume_parinte c(100), parent_id n(5), inactiv n(1)'] + pcselect2=['select id_grupe,nume_grupa, nume_parinte, parent_id, inactiv'+]+; + [' from ]+gcS+[.vgest_nom_grupe where 1=2'] + pcorder2=[nume_grupa] + pcfiltru2=[2=2] + + lcschema3=[id_util n(5),utilizator c(30)] + lcselect3=[select distinct a.id_util,a.utilizator ]+; + [ from syn_vutilizatori a join syn_vdef_util_firme b on a.id_util = b.id_util ] + +*!* pcselect3=['select id_util,utilizator'+]+; +*!* [' from contafin_oracle.vutilizatori where 1=2'] + lcorder3=[utilizator] + lcfiltru3=[1=2] + lcgroup3 = [] + llModParam3 = .T. +*!* modificare 19.03.2007 + lcFiltruOriginal3 = [a.inactiv = 0 and b.id_firma = ?gnIdFirma] +*!* lcFiltruOriginal3 = [b.id_program = ]+ALLTRIM(STR(gnIdProgram))+[ and b.id_firma = ]+ALLTRIM(STR(gnIdFirma)) +*!* modificare 19.03.2007 ^ + + pcschema4=['id_cgg n(5),id_gestiune n(5),nume_gestiune c(50),cgest c(20),nr_pag n(2),'+]+; + ['cont c(4),acont c(4),inactiv_gest n(1),nume_tip_gest c(30),'+]+; + ['id_grupe n(5),nume_grupa c(100),inactiv_grupa n(1)'] + pcselect4=['select a.id_cgg,a.id_gestiune,b.nume_gestiune,b.cgest,b.nr_pag,'+]+; + ['b.cont,b.acont,b.inactiv as inactiv_gest,b.nume_tip as nume_tip_gest,'+]+; + ['a.id_grupe,c.nume_grupa,c.inactiv as inactiv_grupa'+]+; + [' from ]+ gcS+[.vgest_coresp_grupe_gestiuni a '+] + ; + [' join ]+ gcS + [.vnom_gestiuni b on a.id_gestiune=b.id_gestiune '+]+; + [' join ]+gcS+ [.vgest_nom_grupe c on a.id_grupe = c.id_grupe '+]+; + [' where 1=2'] + pcorder4=[c.nume_grupa] + pcfiltru4=[1=2] + + pcschema5=['id_cug n(5),id_util n(5),id_grupe n(5),nume_grupa c(100),inactiv n(1)'] + pcselect5=['select a.id_cug,a.id_util,a.id_grupe,b.nume_grupa,b.inactiv'+]+; + [' from ]+gcS+[.vgest_coresp_util_grupe a '+]+; + [' join ]+gcS+[.vgest_nom_grupe b on a.id_grupe = b.id_grupe'+]+; + [' where 1=2'] + pcorder5=[b.nume_grupa] + pcfiltru5=[1=2] + + llModParam = .T. + llAfiseaza = .F. + _screen.MousePointer= 11 + *gencursor('poGestiuni','crsGestiuni',pcselect1,pcfiltru1,pcschema1,pcorder1,llAfiseaza) + gencursor('poGestiuni','crsGestiuni', lcSelect, lcFiltru, lcSchema, lcOrder, llAfiseaza, lcgroup, llModParam, lcFiltruOriginal) + gencursor('poGrupe','crsGrupe',pcselect2,pcfiltru2,pcschema2,pcorder2,llAfiseaza) + gencursor('poUtilizatori','crsUtilizatori',lcselect3,lcfiltru3,lcschema3,lcorder3,llAfiseaza,lcgroup3, llModParam3, lcFiltruOriginal3) + gencursor('poGrupe_Gestiuni','crsGrupe_Gestiuni',pcselect4,pcfiltru4,pcschema4,pcorder4,llAfiseaza) + gencursor('poGrupe_Utilizatori','crsGrupe_Utilizatori',pcselect5,pcfiltru5,pcschema5,pcorder5,llAfiseaza) + + poGrupe.ca_baza1.afisare() + poGestiuni.ca_baza1.afisare() + poUtilizatori.ca_baza1.afisare() + SELECT crsUtilizatori + + GO top + lcId_util = ALLTRIM(STR(crsUtilizatori.id_util)) + poGrupe_Utilizatori.ca_baza1.cfiltru = [a.id_util=]+lcId_util + poGrupe_Utilizatori.ca_baza1.afisare() + + + DO case + CASE lntip = 1 + SELECT crsGrupe + GO top + lcId_grupe = ALLTRIM(STR(crsGrupe.id_grupe)) + poGrupe_Gestiuni.ca_baza1.cfiltru=[a.id_grupe=]+lcId_grupe + poGrupe_Gestiuni.ca_baza1.corder=[b.nume_gestiune] + poGrupe_Gestiuni.ca_baza1.afisare() + CASE lntip = 2 + SELECT crsGestiuni + GO top + lcId_gestiune = ALLTRIM(STR(crsGestiuni.id_gestiune)) + poGrupe_Gestiuni.ca_baza1.cfiltru=[a.id_gestiune=]+lcId_gestiune + poGrupe_Gestiuni.ca_baza1.corder=[c.nume_grupa] + poGrupe_Gestiuni.ca_baza1.afisare() + CASE lntip = 3 + poGrupe_Gestiuni.ca_baza1.cfiltru = [1=2] + poGrupe_Gestiuni.ca_baza1.afisare() + ENDCASE + +*!* DO FORM frm_grupe_gestiuni_utilizatori NOSHOW NAME ofrm_gest LINKED + ofrm_gest = CREATEOBJECT('frm_gestiuni_grupe_utilizatori') + _screen.MousePointer= 0 + ofrm_gest.pagefr_config.activepage = lntip + ofrm_gest.show(1) + RELEASE ofrm_gest + + RELEASE poGestiuni + RELEASE poGrupe + RELEASE poUtilizatori + RELEASE poGrupe_Gestiuni + RELEASE poGrupe_Utilizatori + +ENDPROC +*********************** + +*********************** +FUNCTION tip_gestiune +PARAMETERS tnpoz + + IF tnpoz = 0 + RETURN [] + ELSE + RETURN aTipuriGestiuni(tnpoz) + ENDIF +ENDFUNC +*********************** + +FUNCTION iif_inactiv + LOCAL lcrez + lcrez = IIF(inactiv=1,'DA','NU') + RETURN lcrez +ENDFUNC + + +********* INCEPUT: viz_config_tipuri_gestiuni *********** +PROCEDURE viz_config_tipuri_gestiuni + + PRIVATE pnId_tipgest + STORE 0 TO pnId_tipgest + + PRIVATE poCoresp,poPlcont + STORE '' TO poCoresp,poPlcont + + lcSql1 = [select nume_tip,id_tipgest from tipuri_gestiuni] + lccursor1 = [crsTipuri_gest] + lnsucces1 = goExecutor.oExecute(lcSql1,lccursor1) + IF lnsucces1 < 0 + lcmesaj = goExecutor.cEroare + ofrm_er = CREATEOBJECT('frm_mesaj','Eroare','exclam.ico','Avertizare',lcmesaj) + ofrm_er.show(1) + RELEASE ofrm_er + RETURN + ENDIF + + lcSelect1 = ['select cont from ] + gcS + [.vplcont_sintetic where 1=2'] + lcSchema1 = ['cont c(4)'] + lcorder1 = [cont] + lcfiltru1 = [ an = ] + ALLTRIM(STR(gnAn)) + [ and SUBSTR(cont,1,1) = '3' ] + ; + [ and cont not in (select cont from ] + gcs +; + [.vcoresp_cont_tipgest where id_tipgest = ?pnId_tipgest)] + + lcSelect2 = ['select cont,id_cct,id_tipgest from ] + gcS + [.vcoresp_cont_tipgest where 1=2'] + lcSchema2 = ['cont c(4),id_cct n(5),id_tipgest n(5)'] + lcorder2 = [cont] + lcfiltru2 = [id_tipgest = ?pnId_tipgest] + llAfiseaza = .t. + + gencursor('poPlcont','crsPlcont',lcselect1,lcfiltru1,lcschema1,lcorder1,llAfiseaza) + gencursor('poCoresp','crsCoresp',lcselect2,lcfiltru2,lcschema2,lcorder2,llAfiseaza) + + ofrm_tipgest = CREATEOBJECT('frm_config_tipuri_gestiuni') + ofrm_tipgest.show(1) + RELEASE ofrm_tipgest + + RELEASE poCoresp +ENDPROC +********* SFARSIT: viz_config_tipuri_gestiuni *********** + + diff --git a/programe/oproceduri_curs.prg b/programe/oproceduri_curs.prg new file mode 100644 index 0000000..d298c43 --- /dev/null +++ b/programe/oproceduri_curs.prg @@ -0,0 +1,125 @@ +*************************************************************************************************************** +**** Proceduri: +**** vizualizeaza_curs +**** citeste_cursuri_stoc +**** citeste_curs_zi +*************************************************************************************************************** +****************************************** INCEPUT: vizualizeaza_curs ***************************************** +Procedure vizualizeaza_curs +*!* modificare ROAFACTURARE v 2.0.46 +Lparameters tdDataCurs +*!* modificare ROAFACTURARE v 2.0.46 ^ +Private poCurs +Local lcSelect, lcFiltru, lcSchema, lcOrder, llAfiseaza, loFrmCurs +Store .F. To llAfiseaza +Store '' To poCurs +If Used('crscurs') + Use In crscurs +Endif + +lcSchema = ['id_curs n(10),id_valuta n(10),data d,data2 d,nume_val c(100),curs n(20,gnPCurs),multiplicator N(10),id_valuta_iso N(10),iso_valuta C(3),curs_bnr n(20,4)'] +lcSelect = ['select id_curs,id_valuta,data,data2,nume_val,curs,multiplicator,id_valuta_iso,iso_valuta,curs_bnr from ] + gcS + [.vcurs where 2=2'] +lcOrder = [data] +*!* modificare ROAFACTURARE v 2.0.46 +*!* lcFiltru = [1 = 2] +lcFiltru = Iif(Empty(tdDataCurs),[1 = 2],[data <= to_date('] + Dtoc(tdDataCurs,1) + [','YYYYMMDD') ] + ; + [and data2 >= to_date('] + Dtoc(tdDataCurs,1) + [','YYYYMMDD') ]) +*!* modificare ROAFACTURARE v 2.0.46 ^ +llAfiseaza = .F. +gencursor('poCurs', 'crscurs', lcSelect, lcFiltru, lcSchema, lcOrder, llAfiseaza) +poCurs.ca_baza1.afisare() + +*!* modificare ROAFACTURARE v 2.0.46 +*!* loFrmCurs = Createobject("frm_curs") +loFrmCurs = Createobject("frm_curs",tdDataCurs) +*!* modificare ROAFACTURARE v 2.0.46 ^ +loFrmCurs.Show(1) + +Release loFrmCurs, poCurs +If Used('crscurs') + Use In crscurs +Endif +Endproc +****************************************** SFARSIT: vizualizeaza_curs ***************************************** +***************************************** INCEPUT: citeste_cursuri_stoc **************************************** +Function citeste_cursuri_stoc +Lparameters tdData,tnIdValuta +Private pdDataCurs,pnIdValuta +Local lcCursor, llContinuare,lcListaValute +pdDataCurs = tdData +pnIdValuta = tnIdValuta +lcCursor = [crscursuri] +llVerificare = .T. +llContinuare = .T. +lnIncercari = 1 + +Do While llVerificare + If llContinuare + If Used(lcCursor) + Use In (lcCursor) + Endif + lcSql = [select a.id_valuta, b.curs, b.multiplicator, c.nume_val, c.moneda_nationala from ] + ; + [(select distinct id_valuta from ] + gcS + [.stoc where an = ?gnAn and luna = ?gnLuna ] + gcCondSucursala + ; + [and id_gestiune in (select distinct b.id_gestiune from ] + gcS + [.gest_coresp_util_grupe a ] + ; + [left join ] + gcS + [.gest_coresp_grupe_gestiuni b on a.id_grupe = b.id_grupe ] + ; + [left join ] + gcS + [.nom_gestiuni c on b.id_gestiune = c.id_gestiune ] + ; + [where a.id_util = ?gnIdUtil and a.sters = 0 and b.sters = 0 and c.nr_pag ] + IIF(gnTipGest=6,[=],[<>]) + [ 6) ] + ; + [union select ?pnIdValuta as id_valuta from dual) a ] + ; + [left join ] + gcS + [.curs b on a.id_valuta = b.id_valuta and b.data <= ?pdDataCurs and b.data2 >= ?pdDataCurs and b.sters = 0 ] + ; + [left join ] + gcS +[.nom_valute c on a.id_valuta = c.id_valuta ] + ; + [where c.moneda_nationala = 0 and a.id_valuta is not null] + lnSucces = goExecutor.oExecute(lcSql,lcCursor) + If lnSucces < 0 + amessagebox(goExecutor.oPrelucrareEroare(),16,"Eroare") + llVerificare = .F. + llContinuare = .F. + Else + If Reccount(lcCursor) > 0 + lcListaValute = [] + Select (lcCursor) + Scan For Isnull(Curs) + lcListaValute = lcListaValute + Alltrim(Upper(nume_val)) + [,] + Endscan + If !Empty(lcListaValute) + If Used(lcCursor) + Use In (lcCursor) + Endif + If lnIncercari >= 2 And aMessagebox("Doriti sa continuati introducerea datelor?",4+32,"Confirmare continuare")==7 + llVerificare = .F. + llContinuare = .F. + Else + lcListaValute = Substr(lcListaValute,1,Len(lcListaValute)-1) + [ !] + amessagebox("Pentru data de "+Dtoc(pdDataCurs)+" nu exista cursul pentru " + ; + IIF(Getwordcount(lcListaValute,[,])=1,"valuta ","valutele ")+lcListaValute,48,"Atentie") + vizualizeaza_curs() + Endif + Else + llVerificare = .F. + Endif + Else + amessagebox("Cautarea cursurilor pentru ziua de "+Dtoc(pdDataCurs)+" nu a intors rezultate!",16,"Eroare") + llVerificare = .F. + llContinuare = .F. + Endif + Endif + Endif + lnIncercari = lnIncercari + 1 +Enddo + +Return llContinuare +Endfunc && citeste_cursuri_stoc +***************************************** SFARSIT: citeste_cursuri_stoc **************************************** +***************************************** INCEPUT: citeste_curs_zi **************************************** +Procedure citeste_cursuri_zi +Lparameters tdDataCurs +Local lcCursor +lcCursor = [crscursuri] +lcSql = [select nume_val,curs,id_valuta,multiplicator from ] + gcS + [.vcurs where data <= to_date('] + Dtoc(tdDataCurs,1) + [','YYYYMMDD') ] + ; + [and data2 >= to_date('] + Dtoc(tdDataCurs,1) + [','YYYYMMDD') order by nume_val] +lnSucces = goExecutor.oExecute(lcSql,lcCursor) +If lnSucces < 0 + amessagebox(goExecutor.oPrelucrareEroare(),16,"Eroare") +EndIf +Release lcCursor +Endproc && citeste_curs_zi +***************************************** SFARSIT: citeste_curs_zi **************************************** diff --git a/programe/oproceduri_evolutie.prg b/programe/oproceduri_evolutie.prg new file mode 100644 index 0000000..2832cf3 --- /dev/null +++ b/programe/oproceduri_evolutie.prg @@ -0,0 +1,407 @@ +*!* 24.06.2011 +*!* marius.mutu +*!* calc_indicatori_randuri +*!* daca un indicator avea valoare negativa, formula dadea eroare +*!* am transformat +-valoare in +(-valoare) + +*!* 31.07.2012 +*!* marius.mutu +*!* evalueaza_randul +*** Nu reevaluez totalurile cu CASE/IIF (ex R15 = CASE WHEN R15A > 0 THEN R15A ELSE 0 END) +*** pentru ca doresc sa suprascriu R15 + +*!* 27.02.2019 +*!* marius.mutu +*!* evalueaza_randul - upper(allt(rand)) + +*!* 13.02.2026 +*!* calc_indicatori_randuri - lcRandEval = 0 daca nu exista randul + +Procedure viz_set_calc +Parameters tctable, tnId_set, tlFaraGrafic, tcNumeSet, tnId_sectie, tnId_venchelt + +Private pcDataOra +pcDataOra = Get_Ora(2) + +Local llFaraGrafic, lcTitlu +llFaraGrafic = tlFaraGrafic + +If !Empty(tcNumeSet) + lcTitlu = Alltrim(tcNumeSet) +Else + lcTitlu = '' +Endif + +*!* If !Empty(tcFCentru) +*!* If !("FIRMA"$Upper(Alltrim(tcFCentru))) +*!* lcTitlu = Proper(Alltrim(tcFCentru)) + ' - ' + lcTitlu +*!* Endif +*!* Endif + +If !Used(tctable) + Return +Endif + +Select (tctable) && id_ind, rand, nume_ind, comentariu -> ....date +frml = Createobject("frm_viz_set_calc", tnId_set, tlFaraGrafic, lcTitlu, tnId_sectie, tnId_venchelt) +frml.lb_titlu_alb_b121.Caption = "Set calculat - " + lcTitlu +frml.grid1.RecordSource = tctable +frml.grid1.DeleteColumn(1) && id_ind +frml.grid1.DeleteColumn(1) && ord_rand + + +frml.grid1.DeleteColumn(3) && comentariu +* frml.grid1.FontName = "Arial Narrow" +lnnrcoloane = frml.grid1.ColumnCount +frml.grid1.column4.Width = 300 && nume_ind + +For i = 6 To lnnrcoloane+3 + cformat = "frml.grid1.Column"+Alltrim(Str(i))+".format='rk'" + &cformat + cinputmask = "frml.grid1.Column"+Alltrim(Str(i))+".inputmask" + &cinputmask = "999 999 999 999.99" +Endfor + +*!* frml.grid1.Width = frml.edtcomentariu.Left + frml.edtcomentariu.Width +frml.edtComentariu.ControlSource = tctable + ".comentariu" + +*!* If tlcalculat +*!* frml.cb_save1.Visible = .F. +*!* frml.cb_print1.Left = frml.cb_print1.Left+frml.cb_print1.Width+1 +*!* frml.cb_excel1.Left=frml.cb_excel1.Left+frml.cb_excel1.Width+1 +*!* frml.cb_explorer1.Left=frml.cb_explorer1.Left+frml.cb_explorer1.Width+1 +*!* Endif + +*frml.lockscreen=.f. + +frml.Show(1) + + +If Used('gtemp') + Use In gtemp +Endif + +If Used('xtab') + Use In xtab +Endif +Endproc && viz_set_calc +***------------------------------------------------------------------------------------ +Procedure lanseaza_excel +Parameters tcalias, tcTitlu, tlfara_grafic + +Private pctitlu +Local llEsteExcel +llEsteExcel = .F. +llEsteExcel=isComobject("Excel.Application") +If !llEsteExcel + Do mesaj With "Instalati Microsoft Excel","" + Return +Endif + +If Empty(tcTitlu) + pctitlu="Indicatori" +Else + pctitlu=Alltrim(tcTitlu) +Endif + +Declare aranduri[1] +Declare acoloane[1] +Declare arand[1] + +Select (tcalias) +lcField2=Field(4) && campul cu descrierea indicatorilor +lcSelect = [select ] + lcField2 + " "+[from ] + tcalias +" "+[into cursor tdesc] +&lcSelect +lnCount = _Tally +Dimension aranduri[lnCount] + +&&& obtin array pt grafic +i=0 +Select tdesc +Scan + i=i+1 + aranduri[i]=tdesc.nume_ind +Endscan + +If Used("tdesc") + Use In tdesc +Endif + +*** +Select (tcalias) + +lcField1=Field(3) && campul cu numele randului (indicatorului) +lcSelect1 = [select ] + lcField1 + " "+[from ] + tcalias +" "+[into cursor trand] +&lcSelect1 +lnCount1 = _Tally +Dimension arand[lnCount1] + +j=0 + +Select trand +Scan + j=j+1 + arand[j]=Right(Alltrim(trand.Rand),2) +Endscan + +If Used("trand") + Use In trand +Endif + +Select (tcalias) +lnFields=Fcount() +Dimension acoloane[lnFields] + +Select (tcalias) +lcSelect = [select ] + +For i=5 To lnFields + lcField=Field(i) + lcSelect = lcSelect + lcField + [,] +Endfor +lcSelect=Left(lcSelect,Len(lcSelect)-1) +lcSelect = lcSelect +" "+[ from ]+tcalias+" "+[ into cursor tExcel] +&lcSelect +lnCount = _Tally + +&&& obtin d200331001 , 200304 +Select (tcalias) +For i=5 To lnFields + lcTipCumul=Left(Field(i),1) + lcan=Substr(Field(i),2,4) + lcgrup=Right(Field(i),2) + acoloane[i-4]=cluna(lcgrup,lcTipCumul,lcan) +Endfor + +lcfis = Alltrim(pctitlu) +For i=0 To Len(lcfis)-1 + lccar = Substr(lcfis,i,1) + If Inlist(lccar,":","*","/","\","<",">",'"',"|","?") + lcfis= Strtran(lcfis,lccar,"_") + Endif +Endfor + +lcexcel= Addbs(Strtran(gcTempPath,"\\","\"))+lcfis+"_"+Sys(2)+".XLS" + +lcClasa = "EXCELX" +x=Newobject("XL_Manager",lcClasa) && alternatively you can drop this class on a VFP form +x.SaveAs=lcexcel && PART.XLS to be created in your TEMP folder +Dimension x.oWorkSheet[1] && need one page +x.oWorkSheet[1] = "Page 1 (with chart)" +x.Go() && remember this calls .populate_pages(). +*WAIT WINDOW 'Check out! ' + x.SAVEAS && Presto! (the output XLS document) +Release x + +OLEAPP = Getobject("","Excel.Application") +If Type('OLEAPP')!='O' + OLEAPP = Createobject("Excel.Application") +Endif +OLEAPP.WorkBooks.Open(lcexcel) +OLEAPP.Visible=1 + +Use In texcel +Return +Endproc &&lanseaza_excel +***------------------------------------------------------------------------------------ +***------------------------------------------------------------------------------------ +Procedure lanseaza_html +Parameters tcFile, tcTitluHtml, tlFaraGrafic + +Local llFaraGrafic, lcTitluHtml +llFaraGrafic = tlFaraGrafic +lcTitluHtml = Alltrim(tcTitluHtml) + +Select (tcFile) +lcfisd = gcTempPath + "copie.dbf" +Copy To (lcfisd) +Use (lcfisd) In 0 Exclusive +Select Copie + +losc = Createobject("aShowCursor") +With losc + .lAlternateRows = .T. + .CTABLEWIDTH = '100%' + .cCellspacing = '3' + .cAlternatingBGColor = "white" + .cTableBorder = "1" + .nForceToPreList = 75000 + .ShowCursor() +Endwith + +****** +*!* DEBUG +*!* SUSPEND +lcBar = "" +loGraph = Createobject('wwWebGraphs') +*** Make sure you pick a directory that exists +*** and is accessible through the Web +If Type("loGraph") = "O" + loGraph.cPhysicalPath = gcTempPath + loGraph.cLogicalPath = gcTempPath + + loGraph.ShowGraphFromCursor() + lcBar = loGraph.GetOutput() +Endif +****** + +lcFile = Strtran(Addbs(gcTempPath),"\\","\")+"Indicatori.htm" +lchtml = [

    &lcTitluHtml

    ] +lchtml = lchtml + losc.ohtml.coutput + +If !llFaraGrafic &&daca am bifat optiunea "fara grafic" + lchtml = lchtml + [
    ] + lcBar +Endif + +lchtml = lchtml + [] +Strtofile(lchtml, lcFile) + +orep = Createobject("frm_webreporter") +orep.cReportFileName = lcFile +orep.displayreport + +Use In Copie +Endproc && lanseaza_html +***------------------------------------------------------------------------------------ +*!* ***------------------------------------------------------------------------------------ +*!* Procedure calc_indicatori_randuri +*!* Parameters tcFormula, tcTabel, tcColoana + +*!* lcFormula = ALLTRIM(tcFormula) +*!* lcColoana = ALLTRIM(tcColoana) +*!* lcTabel = tcTabel +*!* lcFormEvaluata = '' + +*!* Select * From (lcTabel) Into Cursor cLucru + +*!* Do While Len(lcFormula) > 0 +*!* lnRand = At('R',lcFormula) +*!* If lnRand > 0 Then +*!* lnNext = At(']',lcFormula) +*!* lcRand = ALLTRIM(Substr(lcFormula, lnRand + 1, (lnNext - lnRand - 1))) + +*!* Select cLucru +*!* Calculate Sum(&lcColoana) For ALLTRIM(Rand) = lcRand To lnSumaRand + +*!* lcFormEvaluata = lcFormEvaluata + Substr(lcFormula, 1, lnRand - 2) + '(' + Alltrim(Str(lnSumaRand,20,gnPA) + ')') + +*!* lcFormula = Substr(lcFormula, lnNext + 1) +*!* Else +*!* lcFormEvaluata = lcFormEvaluata + Substr(lcFormula, 1) +*!* lcFormula = '' +*!* Endif +*!* Enddo + +*!* If !Empty(lcFormEvaluata) And !Isnull(lcFormEvaluata) +*!* lcOldError = On("error") +*!* On Error lnret = 0 +*!* lnret = &lcFormEvaluata +*!* On Error &lcOldError +*!* Endif + +*!* Use In cLucru +*!* Return lnret + +*!* Endproc && calc_indicatori_randuri +*!* ***------------------------------------------------------------------------------------ +****------------------------------------------------------------------------------------ +Procedure calc_indicatori_randuri +Parameters tcFormula, tcTabel, tcColoana + +Local lnRet, lcFormula, lcColoana, lcTabel, lcFormEvaluata +Store 0 To lnRet +lcFormula = Alltrim(UPPER(tcFormula)) +lcFormula = Strtran(lcFormula,'CASE WHEN','IIF(') +lcFormula = Strtran(lcFormula,'THEN',',') +lcFormula = Strtran(lcFormula,'ELSE',',') +lcFormula = Strtran(lcFormula,'END',')') + +lcColoana = Alltrim(tcColoana) +lcTabel = tcTabel +lcFormEvaluata = '' + +Select * From (lcTabel) with (buffering = .T.) Into Cursor cLucru + +If Len(lcFormula) > 0 + Do While At('[R',lcFormula)>0 + lnRand = At('[R',lcFormula) + IF lnRand > 0 + lnRand = lnRand + 1 && pozitia R + ENDIF + lnNext = At(']',lcFormula) + + lcRandCompl = Substr(lcFormula, lnRand - 1, (lnNext - lnRand + 2)) + lcRand = Alltrim(Substr(lcFormula, lnRand + 1, (lnNext - lnRand - 1))) + *STRTOFILE(TRANSFORM(lcRand) + CHR(13) + CHR(10), 'e:\rand.txt',.T.) + lcRandEval = evalueaza_randul(lcRand, "cLucru", lcColoana) + IF EMPTY(NVL(m.lcRandEval, '')) + lcRandEval = '0' + ENDIF + + lnRandEval = At('[R',lcRandEval) + If lnRandEval > 0 + lnRandEval = lnRandEval + 1 && pozitia R + lcRandEval = '(' + ALLTRIM(lcRandEval) + ')' + ENDIF + + *!* 24.06.2011 + IF LEFT(lcRandEval,1) = [-] + lcRandEval = '(' + ALLTRIM(lcRandEval) + ')' + ENDIF + *!* 24.06.2011 ^ + + lcFormula = Strtran(lcFormula,lcRandCompl,lcRandEval) + + Enddo +Endif + +If !Empty(lcFormula) And !Isnull(lcFormula) + lcOldError = On("error") + On Error lnRet = 0 + lnRet = &lcFormula + On Error &lcOldError +Endif + +If Used("cLucru") + Use In cLucru +Endif + +Return lnRet + +Endproc && calc_indicatori_randuri +***------------------------------------------------------------------------------------ +Function evalueaza_randul +Parameters tcRand, tcTabel, tcColoana + +Local lcReturn, lcRand, lcTabel, lcColoana +Store "" To lcReturn +lcRand = tcRand +lcTabel = tcTabel +lcColoana = tcColoana + +Select (lcTabel) +Locate For UPPER(ALLTRIM(Rand)) = lcRand +If Found() + lnTip = tip + If tip = 5 + *** Nu reevaluez totalurile cu CASE/IIF (ex R15 = CASE WHEN R15A > 0 THEN R15A ELSE 0 END) + *** pentru ca doresc sa suprascriu R15 + IF !('CASE'$UPPER(NVL(formula,'')) OR 'IIF'$UPPER(NVL(formula,''))) + lcReturn = UPPER(formula) + lcReturn = Strtran(lcReturn,'CASE WHEN','IIF(') + lcReturn = Strtran(lcReturn,'THEN',',') + lcReturn = Strtran(lcReturn,'ELSE',',') + lcReturn = Strtran(lcReturn,'END',')') + ELSE + lcReturn = Alltrim(Str(NVL(&tcColoana,0),20,2)) + ENDIF + Else + lcReturn = Alltrim(Str(NVL(&tcColoana,0),20,2)) + Endif +Endif + +Return lcReturn +Endfunc && evalueaza_randul +***----------------------------------------------------- + + + diff --git a/programe/oproceduri_facturare.prg b/programe/oproceduri_facturare.prg new file mode 100644 index 0000000..2a80993 --- /dev/null +++ b/programe/oproceduri_facturare.prg @@ -0,0 +1,2394 @@ +*!* 20.02.2015 +*!* marius.mutu +*!* + caut_facturi_multiple_client_articol: alegere factura dupa client si articol in scop de retur articol pe o factura de vanzare normala + +*!* 16.06.2015 +*!* marius.mutu +*!* vizualizare_facturi + coloane:id_facturare, listare_detaliata + +*!* 11.05.2017 +*!* marius.mutu +*!* caut_contract_facturare: se poate adauga un contract din cautarea de contracte - parametru contracte_nou with tnIdPart + +*!* 16.12.2019 +*!* marius.mutu +*!* vizualizare_facturi, vizualizare_facturi2 crsDetalii.id_jtva_coloana_ex, jtva_coloana_ex + +*!* 29.12.2019 +*!* marius.mutu +*!* vizualizare_facturi, vizualizare_facturi2 crsFcturi.email_facturare, adresa_client, email_client, adresa_beneficiar, email_beneficiar pentru trimiterea facturii pe email la clienti + +*!* 20.01.2020 +*!* marius.mutu +*!* vizualizare_facturi, vizualizare_facturi2 crsFacturi.codmatc - codmat client + +*!* 30.01.2020 +*!* marius.mutu +*!* vizualizare_facturi, vizualizare_facturi2 + id_util pentru listarea facturii cu responsabilul care a introdus factura + +*!* 25.03.2020 +*!* marius.mutu +*!* vizualizare_facturi, vizualizare_facturi2 + tlShowRecords - arata facturile din luna la intrarea in formular + +*************************************************************************************************************** +**** Proceduri: +**** vizualizare_optiuni_facturare +**** configurare_serii_facturare +**** facturare_lista_de_preturi +**** facturare_contracte +**** facturare_comenzi +**** facturare_avize +**** facturare_articole_compuse +**** emitere_aviz_clienti +**** emitere_aviz_clienti_debitori +**** emitere_aviz_clienti_custodie +**** emitere_aviz_transfer +**** emitere_dispozitii_livrare +**** vizualizare_facturi +**** vizualizare_proforme +**** verifica_setari +**** vanzare_materii_prime +**** vanzare_produse +**** vanzare_marfa_pret_achi +**** vanzare_marfa_pret_vanz +**** vanzare_marfa_pret_achi_vanz +**** selecteaza_gestiuni +**** creeaza_cursor_seturi +**** creeaza_cursor_seturi_proforme +**** recreeaza_cursoare_retur +**** calculeaza_totaluri +**** Functii : +**** actualizeaza_optiuni_program - inlocuita de actualizeaza_optiuni_program din oinit_optiuni.prg +**** caut_comanda_client +**** caut_comanda_gestiune +**** caut_contract_facturare +**** caut_avize +**** caut_facturi_client +**** caut_facturi_multiple_client +**** caut_gestiune_sursa +**** caut_utilizator_facturare +**** caut_gestiune_dest - am mutat-o in ocautare.prg +**** caut_politici_curente_util - veche 26.01 +*************************************************************************************************************** +************************************ INCEPUT: vizualizare_optiuni_facturare *********************************** +Procedure vizualizare_optiuni_facturare + Lparameters tnTip + && 1 = optiuni de pe server + && 2 = optiuni din registrul Windows + Local lnTipOptiuni + If Used('crsoptiuni') + Use In crsoptiuni + Endif + If gcNumeProgram = 'ROACONTRACTE' + lnTipOptiuni = 2 + Else + lnTipOptiuni = 1 + Endif + Do Case + Case tnTip = 1 + If actualizeaza_optiuni_program() + ofrmoptiune = Createobject('frm_optiuni_facturare', lnTipOptiuni) + ofrmoptiune.Show(1) + Release ofrmoptiune + Endif + Case tnTip = 2 + ofrmoptiune = Createobject('frm_optiuni_facturare_local', lnTipOptiuni) + ofrmoptiune.Show(1) + Release ofrmoptiune + Otherwise + *!* amessagebox("Optiune invalida!",16,"Eroare") + lnTipOptiuni = 0 + Endcase + If Used('crsoptiuni') + Use In crsoptiuni + Endif + Release lnTipOptiuni +Endproc && vizualizare_optiuni_facturare +************************************ SFARSIT: vizualizare_optiuni_facturare *********************************** +*!* ************************************ INCEPUT: facturare_din_stoc ******************************************* +*!* Procedure facturare_din_stoc +*!* factureaza(7) +*!* Endproc && facturare_din_stoc +*!* ************************************ SFARSIT: facturare_din_stoc ******************************************* +************************************ INCEPUT: facturare_lista_de_preturi *********************************** +Procedure facturare_lista_de_preturi + Do politica.mpr +Endproc && facturare_lista_de_preturi +************************************ SFARSIT: facturare_lista_de_preturi *********************************** +************************************ INCEPUT: facturare_contracte ****************************************** +Procedure facturare_contracte + LPARAMETERS tcTip + + LOCAL lcTip + lcTip = UPPER(ALLTRIM(TRANSFORM(m.tcTip))) + + IF EMPTY(m.lcTip) OR !INLIST(m.lcTip, 'FACTURA LEI', 'INVOICE', 'FACTURA VALUTA') + lcTip = 'FACTURA LEI' + ENDIF + DO CASE + CASE m.lcTip = 'FACTURA LEI' + factureaza(2) + CASE m.lcTip = 'INVOICE' + factureaza(6) + CASE m.lcTip = 'FACTURA VALUTA' + factureaza(52) + ENDCASE +Endproc && facturare_contracte +************************************ SFARSIT: facturare_contracte ****************************************** +************************************ INCEPUT: facturare_comenzi ******************************************** +Procedure facturare_comenzi + factureaza(3) +Endproc && facturare_comenzi +************************************ SFARSIT: facturare_comenzi ******************************************** +************************************ INCEPUT: facturare_avize *********************************************** +Procedure facturare_avize + factureaza(4) +Endproc && facturare_avize +************************************ SFARSIT: facturare_avize *********************************************** + +************************************ INCEPUT: copiere_factura *********************************************** +PROCEDURE copiere_factura + LPARAMETERS toFactura + factureaza(toFactura.Tip, toFactura) +ENDPROC && copiere_factura +************************************ SFARSIT: copiere_factura *********************************************** + +********************************** INCEPUT: facturare_articole_compuse *************************************** +Function facturare_articole_compuse + Private ofrmfactseturi + Local lnNrInregRate + *!* modificare v 2.0.56 + *!* Dimension laStructura(1,18) + *!* Afields(laStructura,[crsfactura]) + *!* If Used('crsfacturaset') + *!* Use In crsfacturaset + *!* Endif + *!* Create Cursor crsfacturaset From Array laStructura + *!* modificare v 2.0.67 + *!* copiaza_structura_cursor([crsfactura],[crsfacturaset]) + *!* modificare v 2.0.67 ^ + *!* modificare v 2.0.56 ^ + gnButon = 1 + Select crsfactura + lnRecno = Recno() + Replace id_set_fact With 0 All + *!* modificare v 2.0.67 + Calculate Cnt() For Inlist(opt_facturare, 1, 2) To lnNrInregRate + Set Filter To !Inlist(opt_facturare, 1, 2) + If lnNrInregRate <> Reccount('crsfactura') + copiaza_structura_cursor([crsfactura], [crsfacturaset]) + Select crsfactura + *!* modificare v 2.0.67 ^ + Go Top + ofrmfactseturi = Createobject('frm_articole_compuse') + ofrmfactseturi.Show(1) + Release ofrmfactseturi + *!* modificare v 2.0.67 + Endif + Release lnNrInregRate + *!* modificare v 2.0.67 ^ + Select crsfactura + *!* modificare v 2.0.67 + Set Filter To + *!* modificare v 2.0.67 ^ + Go Min(lnRecno, Reccount('crsfactura')) + Return Iif(gnButon = 1, .T., .F.) +Endfunc +********************************** SFARSIT: facturare_articole_compuse *************************************** +************************************ INCEPUT: emitere_aviz_clienti ***************************************** +Procedure emitere_aviz_clienti + Lparameters tnTip + Do Case + Case tnTip = 1 + factureaza(21) && pe baza de comenzi + Case tnTip = 2 + factureaza(22) && pe baza de lista de preturi + Case tnTip = 3 + factureaza(26) && pe baza de lista de contract + + Case tnTip = 4 && Retur aviz \>) + ENDTEXT + lcCursor = SYS(2015) + llSucces = goExecutor.oExecuta(m.lcSql, m.lcCursor) + + *************** + * Suprascriere ctip_factura special pentru ACN, pentru ca voiau ENERGIE ELECTRICA in loc de CHIRII SI UTILITATI pe borderou + * si nu am adaugat un tip nou de prestatii ENERGIE ELECTRICA + *************** + IF !EMPTY(m.tcCursorFacturi) AND USED(m.tcCursorFacturi) + SELECT (m.tcCursorFacturi) + SCAN + lnIdVanzare = id_vanzare + lcTipFactura = ALLTRIM(NVL(ctip_factura,'')) + UPDATE (m.lcCursor) SET ctip_factura = m.lcTipFactura WHERE id_vanzare = m.lnIdVanzare + ENDSCAN + ENDIF + + Select distinct id_borderou, data_borderou, id_client, client, email_client, .F. As email_succes, Space(250) As email_mesaj ; + From (m.lcCursor) ; + ORDER BY id_borderou ; + Into Cursor cBorderouEmail READWRITE + + Select id_borderou, id_vanzare, data_act, numar_act, ctip_factura ; + From (m.lcCursor) ; + ORDER BY data_act, numar_act ; + Into Cursor cFacturiEmail Readwrite + + USE IN (SELECT(m.lcCursor)) + + loMail = getoEmail() && email.prg + + lcSubjectTemplate = loMail.cBorderouSubject + lcBodyTemplate = loMail.cBorderouBody + llCancel = .F. + Sele cBorderouEmail + Scan + lnIdBorderou = id_borderou + ldDataBorderou = Ttod(data_borderou) + lcClient = Upper(Alltrim(client)) + lnIdClient = id_client + lcEmailClient = Alltrim(NVL(email_client,'')) + loMail.cTo = m.lcEmailClient + llSucces = .T. + + Wait Window 'Email ' + Alltrim(Transform(Recno('cBorderouEmail'))) + '/' + Alltrim(Transform(Reccount('cBorderouEmail'))) + ' Client: ' + m.lcClient Nowait + + lcSubject = m.lcSubjectTemplate && Borderou facturi nr. din - ' + lcSubject = Strtran(m.lcSubject, '', Alltrim(Str(m.lnIdBorderou)), 1, 1, 1) + lcSubject = Strtran(m.lcSubject, '', Alltrim(Dtoc(m.ldDataBorderou)), 1, 1, 1) + lcSubject = Strtran(m.lcSubject, '', m.lcClient, 1, 1, 1) + loMail.cSubject = m.lcSubject + + lcBody = m.lcBodyTemplate && Aveti atasat borderoul de facturi nr. din si documentele asociate pentru serviciile prestate de <>. + lcBody = Strtran(m.lcBody, '', Alltrim(Str(m.lnIdBorderou)), 1, 10, 1) + lcBody = Strtran(m.lcBody, '', Alltrim(Dtoc(m.ldDataBorderou)), 1, 10, 1) + lcBody = Strtran(m.lcBody, '', m.lcClient, 1, 10, 1) + loMail.cHTMLBody = m.lcBody + + * Atasez borderoul si toate fisierele pdf care au aceeasi denumire ca aaaallzz_nrfact_[factura].pdf + lcFiles = "" + lcFile = GetPDFBorderouFile(m.ldDataBorderou, m.lnIdBorderou) && d:\roa\pdf\20200401_29_borderou.pdf + * Generez borderoul in caz ca nu era listat si salvat pdf + IF !FILE(m.lcFile) + llListare = .F. + llPdf = .T. + rap_borderou_clienti(m.lnIdBorderou, m.llPdf, m.llListare) && oproceduri_rapoarte_fact.prg + ENDIF + IF !FILE(m.lcFile) + lnRaspuns = MESSAGEBOX('Email ' + Alltrim(Transform(Recno('cBorderouEmail'))) + '/' + Alltrim(Transform(Reccount('cBorderouEmail'))) + ' Client: ' + m.lcClient + CHR(13) + CHR(10) + ; + 'Nu exista borderoul ' + m.lcFile + '!' + CHR(13) + CHR(10) + ; + 'Continuati fara borderou?', 3+32, _Screen.Caption) + DO CASE + CASE m.lnRaspuns = 6 && YES + * + CASE m.lnRaspuns = 7 && NO + llSucces = .F. + CASE m.lnRaspuns = 2 && CANCEL + llSucces = .F. + llCancel = .T. + EXIT + ENDCASE + ENDIF + IF m.llCancel + EXIT + ENDIF + + loMail.EmailSetAttachment(m.lcFile) + lcFiles = m.lcFiles + Iif(File(m.lcFile), m.lcFile, "") + + Select cFacturiEmail + Scan For id_borderou = m.lnIdBorderou + lnIdVanzare = id_vanzare + ldDataFactura = data_act + lnNumarFactura = numar_act + loDate = Null + lcFacturaFile = GetPDFFacturaFile(m.ldDataFactura, m.lnNumarFactura) && d:\roa\pdf\20200402_12346_factura.pdf + IF !FILE(m.lcFacturaFile) + lnRaspuns = MESSAGEBOX('Email ' + Alltrim(Transform(Recno('cBorderouEmail'))) + '/' + Alltrim(Transform(Reccount('cBorderouEmail'))) + ' Client: ' + m.lcClient + CHR(13) + CHR(10) + ; + 'Nu exista factura ' + m.lcFacturaFile + '!' + CHR(13) + CHR(10) + ; + 'Continuati fara factura?', 3+32, _Screen.Caption) + DO CASE + CASE m.lnRaspuns = 6 && YES + * + CASE m.lnRaspuns = 7 && NO + llSucces = .F. + EXIT + CASE m.lnRaspuns = 2 && CANCEL + llSucces = .F. + llCancel = .T. + EXIT + ENDCASE + ENDIF + lcScheletonFile = Strtran(lcFacturaFile, 'factura', '*', 1, 10, 1) && d:\roa\pdf\20200402_12346_*.pdf (_recapitulatia.pdf, _situatie_stationare.pdf, _declaratie_comandant.pdf) + lcDir = Addbs(Justpath(m.lcFacturaFile)) + lnFiles = Adir(laFiles, m.lcScheletonFile) + For lnFile = 1 To m.lnFiles + lcFile = m.lcDir + laFiles[m.lnFile, 1] + loMail.EmailSetAttachment(m.lcFile) + lcFiles = m.lcFiles + Iif(File(m.lcFile), m.lcFile, "") + Endfor + Endscan && cFacturiEmail + + IF m.llCancel + EXIT + ENDIF + + * Email + IF m.llSucces + lcErrorMessage = '' + If loMail.Send() > 0 + llClearErrors = .T. + lcErrorMessage = loMail.GetErrorMessage(m.llClearErrors) + llSucces = .F. + Endif + + Replace email_succes With m.llSucces, email_mesaj With Left(m.lcErrorMessage, 250) In cBorderouEmail + ENDIF && llSucces + + If Inkey(0.5) = 27 && 'ESC' + If AMESSAGEBOX('Doriti sa intrerupeti operatia?', 4 + 32, _Screen.Caption) = 6 + Exit + Endif + Endif + Endscan + + Select cBorderouEmail + Copy To (m.lcRaportEmail) Type Xl5 + OPEN_DEFAULT_APP(m.lcRaportEmail) + + Use In (Select('cBorderouEmail')) + Use In (Select('cFacturiEmail')) + + Select (m.lcSelect) +ENDPROC && email_borderou_facturi + +* ------------------------------------ +* Apeleaza email_facturi() cu parametri ListareFactura, ListareRecapitulatie, ListareAlteDocumente +PROCEDURE wrap_email_facturi + LPARAMETERS toFacturiForm, tcCursorFacturi, tnFactura, tnRecapitulatia, tnAlteDocumente, tnIdVanzare + * toFacturiForm (optional): referinta la formularul frm_facturi, pentru generare pdf factura, recapitulatie, in caz ca nu exista deja + * tcCursorFacturi: cursorul cu lista de facturi (id_vanzare, data_act, numar_act, serie_act, total_fara_tva, total_tva, total_cu_tva, client, email_facturare) + * tnFactura: 0 = nu se ataseaza factura, 1 = se ataseaza factura, 2 = se genereaza factura daca nu exista si se ataseaza + * tnRecapitulatia: 0 = nu se ataseaza recapitulatia, 1 = se ataseaza recapitulatia, 2 = se genereaza recapitulatia daca nu exista si se ataseaza + * tnAlteDocumente: 0 = nu se ataseaza alte documente, 1 = se ataseaza alte documente cu aceeasi structura denumire ca factura + * tnIdVanzare: (optional) vanzari.id_vanzare, daca se apeleaza din afara formularului de vizualizare facturi + + LOCAL loDate + loDate = CREATEOBJECT("empty") + ADDPROPERTY(loDate, 'cCursorFacturi', IIF(TYPE('tcCursorFacturi') = 'C' and !EMPTY(m.tcCursorFacturi) and USED(m.tcCursorFacturi), m.tcCursorFacturi, '')) + ADDPROPERTY(loDate, 'nListareFactura', m.tnFactura) + ADDPROPERTY(loDate, 'nListareRecapitulatia', m.tnRecapitulatia) + ADDPROPERTY(loDate, 'nListareAlteDocumente', m.tnAlteDocumente) + ADDPROPERTY(loDate, 'nIdVanzare', IIF(TYPE('tnIdVanzare') = 'N', m.tnIdVanzare, 0)) + + email_facturi(toFacturiForm, loDate) +ENDPROC && wrap_email_facturi + +* ------------------------------------ +* trimite email factura, recapitulatie si alte documente pdf cu aceeasi structura ca factura.pdf +* In formularul Vizualizare facturi se apasa butonul listare +PROCEDURE email_facturi + Lparameters toFacturiForm, toDate + * toFacturiForm (optional): referinta la formularul frm_facturi, pentru generare pdf factura, recapitulatie, in caz ca nu exista deja + + + *** Trimit email la facturile alese, sau la factura de pe inregistrarea curenta + + Local laFiles[1], lcBody, lcClient, lcDir, lcEmail, lcErrorMessage, lcFacturaFile, lcFile, lcSelect + Local lcFileName, lcFiles, lcNume, lcRaportEmail, lcRecapitulatiaFile, lcScheletonFile + Local lcSerieFactura, lcSubject, lcTipDocument, lcTo, lcWhere, ldDataFactura, llClearErrors + Local llJustPDF, llListareFactura, llListareRecapitulatia, llListareAlteDocumente, llSilent, llSucces, lnFile, lnFiles + Local lnIdVanzare, lnNumarFactura, lnRecno, loDate, loMail, lcSubjectTemplate, lcBodyTemplate, lnIdVanzare, lcCursorFacturi, llUsed + lcSelect = SELECT() + loMail = getoEmail() && email.prg + + lcWhere = "" + llListareFactura = .T. + llGenerareFactura = .F. + llListareRecapitulatia = .F. + llGenerareRecapitulatia = .F. + llListareAlteDocumente = .F. + lnIdVanzare = 0 + lcCursorFacturi = '' + If Type('toDate') = 'O' + lcCursorFacturi = IIF(TYPE('toDate.cCursorFacturi') = 'C', toDate.cCursorFacturi, '') + llListareFactura = IIF(Type('toDate.nListareFactura') = 'N', INLIST(toDate.nListareFactura, 1, 2), .T.) + llGenerareFactura = IIF(Type('toDate.nListareFactura') = 'N', toDate.nListareFactura = 2, .F.) + + llListareRecapitulatia = IIF(Type('toDate.nListareRecapitulatia') = 'N', INLIST(toDate.nListareRecapitulatia, 1, 2), .F.) + llGenerareRecapitulatia = IIF(Type('toDate.nListareRecapitulatia') = 'N', toDate.nListareRecapitulatia = 2, .F.) + + llListareAlteDocumente = IIF(Type('toDate.nListareAlteDocumente') = 'L', toDate.nListareAlteDocumente = 1, .F.) + lnIdVanzare = IIF(Type('toDate.nIdVanzare') = 'N', toDate.nIdVanzare, 0) + Endif + + lcRaportEmail = Addbs(gcTempPath) + "email_" + Ttoc(Datetime(), 1) + '.xls' + + CREATE CURSOR cEmail (id_vanzare I, data_act D null, numar_act N(14) null, serie_act C(20) null, client C(200) null, ; + total_fara_tva N(20,4) null, total_tva N(20,4) null, total_cu_tva N(20,4) null, ; + email_facturare C(200) null, email_succes L, email_mesaj C(250)) + + llUsed = .T. + IF !USED(m.lcCursorFacturi) AND !EMPTY(m.lnIdVanzare) + lcCursorFacturi = 'cEmailTemp' + lcSql = [SELECT id_vanzare, data_act, numar_act, serie_act, total_fara_tva, total_tva, total_cu_tva, client, email_facturare FROM fact_vfacturi2 WHERE id_vanzare = ] + ALLTRIM(STR(m.lnIdVanzare)) + llSucces = goExecutor.oExecuta(m.lcSql, m.lcCursorFacturi) + llUsed = .F. + ENDIF + IF USED(m.lcCursorFacturi) + SELECT cEmail + APPEND FROM DBF(m.lcCursorFacturi) + ENDIF + IF !m.llUsed + USE IN (SELECT(m.lcCursorFacturi)) + ENDIF + + lcSubjectTemplate = loMail.cSubject + lcBodyTemplate = loMail.cHtmlBody + + Sele cEmail + Scan + lcFiles = "" + ldDataFactura = data_act + lcSerieFactura = Alltrim(serie_act) + lnNumarFactura = numar_act + lcNume = Upper(Alltrim(NVL(client,''))) + lcClient = m.lcNume + lnIdVanzare = id_vanzare + loDate = Null + + lcSubject = m.lcSubjectTemplate + lcSubject = Strtran(m.lcSubject, '', Alltrim(Str(m.lnNumarFactura)), 1, 1, 1) + lcSubject = Strtran(m.lcSubject, '', Alltrim(Dtoc(m.ldDataFactura)), 1, 1, 1) + lcSubject = Strtran(m.lcSubject, '', m.lcClient, 1, 1, 1) + loMail.cSubject = m.lcSubject + + lcBody = m.lcBodyTemplate + lcBody = Strtran(m.lcBody, '', Alltrim(Str(m.lnNumarFactura)), 1, 10, 1) + lcBody = Strtran(m.lcBody, '', Alltrim(Dtoc(m.ldDataFactura)), 1, 10, 1) + lcBody = Strtran(m.lcBody, '', m.lcClient, 1, 10, 1) + loMail.cHtmlBody = m.lcBody + + * Generare PDF factura + lcFacturaFile = GetPDFFacturaFile(m.ldDataFactura, m.lnNumarFactura) + If m.llListareFactura + If !File(m.lcFacturaFile) AND m.llGenerareFactura AND TYPE('toFacturiForm') = 'O' + llSilent = .F. + llJustPDF = .T. + lcTipDocument = 'FACTURA' + loDate = toFacturiForm.do_listare_document(m.lnIdVanzare, m.llSilent, m.llJustPDF, m.lcTipDocument) && .ListareDocument(m.llSilent, m.llJustPDF, "cEmail") + ENDIF + IF FILE(m.lcFacturaFile) + loMail.EmailSetAttachment(m.lcFacturaFile) + lcFiles = m.lcFiles + Iif(File(m.lcFacturaFile), m.lcFacturaFile, "") + ENDIF + ENDIF && llListareFactura + + * Generare PDF recapitulatie + lcRecapitulatiaFile = GetPDFRecapitulatiaFile(ldDataFactura, m.lnNumarFactura) + If m.llListareRecapitulatia + If !File(m.lcRecapitulatiaFile) AND m.llGenerareRecapitulatia AND TYPE('toFacturiForm') = 'O' + llSilent = .F. + llJustPDF = .T. + lcTipDocument = 'RECAPITULATIE' + loDate = toFacturiForm.do_listare_document(m.lnIdVanzare, m.llSilent, m.llJustPDF, m.lcTipDocument) && .ListareDocument(m.llSilent, m.llJustPDF, "cEmail") + ENDIF + IF FILE(m.lcRecapitulatiaFile) + loMail.EmailSetAttachment(m.lcRecapitulatiaFile) + lcFiles = m.lcFiles + Iif(File(m.lcRecapitulatiaFile), "," + m.lcRecapitulatiaFile, "") + ENDIF + ENDIF && llListareRecapitulatia + + * Atasez alte documente cu aceeasi structura ca factura.pdf + IF m.llListareAlteDocumente + lcScheletonFile = Strtran(lcFacturaFile, 'factura', '*', 1, 10, 1) && d:\roa\pdf\20200402_12346_*.pdf (_recapitulatia.pdf, _situatie_stationare.pdf, _declaratie_comandant.pdf) + lcDir = Addbs(Justpath(m.lcFacturaFile)) + lnFiles = Adir(laFiles, m.lcScheletonFile) + For lnFile = 1 To m.lnFiles + lcFileName = laFiles[m.lnFile, 1] + * Nu mai atasez factura.pdf si recapitulatie.pdf + If Inlist(Lower(m.lcFileName), Lower(JUSTFNAME(m.lcFacturaFile)), Lower(JUSTFNAME(m.lcRecapitulatiaFile))) + Loop + Endif + lcFile = m.lcDir + m.lcFileName + loMail.EmailSetAttachment(m.lcFile) + lcFiles = m.lcFiles + Iif(File(m.lcFile), m.lcFile, "") + ENDFOR + ENDIF && llListareAlteDocumente + + * Email + Wait Window 'Email ' + Alltrim(Transform(Recno('cEmail'))) + '/' + Alltrim(Transform(Reccount('cEmail'))) + ' Client: ' + m.lcClient + ' Factura: ' + Alltrim(Str(m.lnNumarFactura)) Nowait + lcEmail = Alltrim(Nvl(cEmail.email_facturare, '')) && am adaugat direct in crsFacturi.email_facturare, ca sa nu mai folosesc loDate.oClient.email_facturare, daca fisierele pdf sunt deja listate + lcTo = Iif(!Empty(Nvl(m.lcEmail, '')), m.lcEmail, '') + loMail.cTo = m.lcTo + + llSucces = .T. + lcErrorMessage = '' + If loMail.Send() > 0 + llClearErrors = .T. + lcErrorMessage = loMail.GetErrorMessage(m.llClearErrors) + llSucces = .F. + Endif + Replace email_succes With m.llSucces, email_mesaj With Left(m.lcErrorMessage, 250) In cEmail + + If Inkey(0.5) = 27 && 'ESC' + If AMESSAGEBOX('Doriti sa intrerupeti operatia?', 4 + 32, _Screen.Caption) = 6 + Exit + Endif + Endif + Endscan + + lcMesaj = '' + SELECT cEmail + SCAN + lcMesaj = lcMesaj + 'Factura ' + TRANSFORM(numar_act) + ' din ' + TRANSFORM(data_act) + ' ' + ALLTRIM(NVL(client,'')) + ' : EMAIL ' + ; + IIF(email_succes, 'SUCCES', 'EROARE: ' + ' ' + ALLTRIM(NVL(email_mesaj,''))) + CHR(13) + CHR(10) + ENDSCAN + AMESSAGEBOX(m.lcMesaj,0+64,_screen.Caption) +*!* +*!* Copy To (m.lcRaportEmail) Type Xl5 +*!* OPEN_DEFAULT_APP(m.lcRaportEmail) + + Use In (Select('cEmail')) + + SELECT(m.lcSelect) + +ENDPROC && email_facturi + +*********************************************** +* Listeaza factura, aviz, proforma, recapitulatie +* Se apeleaza dupa scrierea in baza de date pe baza id_vanzare +* Exista si listarea dupa emiterea facturii, din cursoarele locale +* intoarce poDate pentru folosirea informatiilor despre factura (ex: poDate.email_factura in pluginul de trimitere email cu atasament factura) +PROCEDURE listeaza_formular + Lparameters lnIdVanzare, tlSilent, tlJustPDF, tcTipDocument, tlEFactura + * tlSilent: listare fara previzualizare + * tlJustPDF: listare doar pdf, fara previzualizare/imprimanta - pentru atasament la email + * tcTipDocument: FACTURA/RECAPITULATIE/EFACTURA + * tlEfactura: export xml eFactura + + + Local lcNumeCursor, lnIdVanzare, lcTipDocument, lnIdFact, lnIdPart, loSoldClient + Local lcCursor, lcProcedura, lcRaport, lcSql, lnSucces + LOCAL loEx as Exception + *:Global ocomanda + *lcNumeCursor = tcNumeCursor + Local lnTip + Private poDate, poDateGestiuneDest, pnCod, pnid_comanda_aviz, pnIdGestiuneRetur + Local lnDiscount, lnDiscountVal, lnProcTvav + lcTipDocument = Iif(Type('tcTipDocument') = 'C' And !Empty(m.tcTipDocument), Upper(Alltrim(m.tcTipDocument)), 'FACTURA') && FACTURA/RECAPITULATIE/EFACTURA + + +********************************************************** +* Creez cursoarele crsFacturaListare, crsDetaliiListare +********************************************************** +Create Cursor crsFacturaListare (ales N(1) null, id_vanzare N(20) null, id_fact N(20), id_comanda N(20) null, dataora T(8) null, dataora_exp T(8) null, ; + data_act D(8) null, sters N(1) null, dataoras T(8) null, numar_act N(14) null, serie_act C(10) null, tip N(5) null, ; + id_part N(10) null, discount N(17,4) null, disc_fara_tva N(17,4) null, discount_evidentiat N(1) null, text_aditional M(4) null, ; + facturat N(1) null, data_facturat T(8) null, explicatie C(240) null, altele C(200) null, client C(100) null, cod N(20) null, ; + id_util I(4) null, utilizator C(30) null, utils C(30) null, utilfact C(30) null, delegat C(70) null, bidelegat C(30) null, ; + cnpdelegat C(15) null, nume_agent C(70) null, nrinmat C(10) null, total_fara_tva N(20,4) null, total_tva N(20,4) null, total_cu_tva N(20,4) null, ; + id_gestiune N(10) null, serie_chit C(20) null, nr_incasare N(10) null, incasat N(17,4) null, in_valuta N(1) null, sucursala C(100) null, ; + id_ruta N(10) null, ruta C(100) null, curs N(20,4) null, multiplicator N(10) null, nume_val C(50) null, valuta C(50) null, id_valuta N(5) null, ; + valval N(20,4) null, tvaval N(20,4) null, totval N(20,4) null, id_delegat N(10) null, id_agent N(10) null, id_masina N(10) null, valoarea N(20,4) null, ; + nume_gestiune C(50) null, id_sectie N(5) null, sectie C(50) null, id_lucrare N(20) null, lucrare C(200) null, tip_incasare N(10) null, ; + afisare_scadenta N(1) null, id_ordl N(10) null, tva_incasare N(1) null, listare_detaliata N(1) null, id_facturare N(10) null, adresa_facturare C(250) null, ; + email_facturare C(100) null, adresa_client C(250) null, email_client C(100) null, adresa_beneficiar C(250) null, email_beneficiar C(100) null, ; + id_beneficiar N(20) null, beneficiar C(100) null, tip_factura N(5) null, ctip_factura C(100) null, id_ctr N(10) null, contract C(100) null, eproforma N(1) null,tip_saft N(3) null,institutie_publica N(1) null) + +Create Cursor crsDetaliiListare (id_vanzare N(20) null, id_vanzare_det N(10) null, id_articol N(10) null, lot c(100) null, serie C(100) null, pret N(20,6) null, pret_val N(20,6) null, sters N(1) null, dataoras D(8) null, ; +proc_tvav N(10,4) null, cantitate N(10,4) null, discount_unitar N(20,6) null, discount_unitar_val N(20,6) null, cont C(4) null, id_valuta N(10) null, id_gestiune N(20) null, ; +pret_achizitie N(20,6) null, pret_cu_tva N(1) null, denumire C(250) null, explicatie M(4) null, um C(10) null, cod_um_iso C(5) null, nume_lista_preturi C(100) null, nume_gestiune C(50) null, ; +utils C(30) null, curs N(20,4) null, multiplicator N(10) null, nume_val C(10) null, tip_valuta N(1) null, id_vanzare_set N(10) null, codmatf C(50) null, codmat C(50) null, ; +codmatc C(50) null, codbare C(50) null, id_subgrupa N(5) null, subgrupa C(100) null, client C(70) null, id_jtva_coloana N(10) null, jtva_coloana C(100) null, ; +id_jtva_coloana_ex N(10) null, jtva_coloana_ex C(100) null, id_ctr N(10) null, numar_contract C(50) null, taxcode N(6) null) + + + TEXT TO lcSqlFactura TEXTMERGE NOSHOW +select 0 as ales,id_vanzare,id_fact,id_comanda,dataora,dataora_exp,data_act,sters,dataoras,numar_act,serie_act,tip,id_part,discount,disc_fara_tva,discount_evidentiat,text_aditional,facturat,data_facturat, + explicatie,altele,client,cod,id_util,utilizator,utils,utilfact,delegat,bidelegat,cnpdelegat,nume_agent,nrinmat,total_fara_tva,total_tva,total_cu_tva,id_gestiune,serie_chit,nr_incasare,incasat, + in_valuta,sucursala,id_ruta,ruta,curs,multiplicator,nume_val,valuta,id_valuta,valval,tvaval,totval,id_delegat,id_agent,id_masina,valoarea, + nume_gestiune,id_sectie,sectie,id_lucrare,lucrare,tip_incasare,afisare_scadenta,id_ordl,tva_incasare,listare_detaliata, + id_facturare,adresa_facturare,email_facturare,adresa_client,email_client,adresa_beneficiar,email_beneficiar,id_beneficiar, beneficiar, tip_factura, ctip_factura, id_ctr, contract,eproforma,tip_saft,institutie_publica + from fact_vfacturi2 + where id_vanzare = <> + ENDTEXT + + TEXT TO lcSqlDetalii TEXTMERGE NOSHOW +select id_vanzare, id_vanzare_det, id_articol, lot, serie, pret, pret_val, sters, dataoras, + proc_tvav, cantitate, discount_unitar, discount_unitar_val, cont, + id_valuta, id_gestiune, pret_achizitie, pret_cu_tva, denumire, explicatie, + um, cod_um_iso, nume_lista_preturi, nume_gestiune, utils, curs, multiplicator, + nume_val, tip_valuta, id_vanzare_set, codmatf, codmat, codmatc, codbare, id_subgrupa, subgrupa, client, id_jtva_coloana, jtva_coloana, id_jtva_coloana_ex, jtva_coloana_ex, id_ctr, numar_contract, taxcode + from fact_vfacturi_detalii + where id_vanzare = <> + order by id_vanzare_det + ENDTEXT + + llSucces = goExecutor.oExecuta(m.lcSqlFactura, 'cFacturaTemp') + IF m.llSucces + SELECT crsFacturaListare + APPEND FROM DBF('cFacturaTemp') + USE IN (SELECT('cFacturaTemp')) + + llSucces = goExecutor.oExecuta(m.lcSqlDetalii, 'cDetaliiTemp') + IF m.llSucces + SELECT crsDetaliiListare + APPEND FROM DBF('cDetaliiTemp') + USE IN (SELECT('cDetaliiTemp')) + ENDIF && llSucces + ENDIF && llSucces + + +******************************************* + + Select crsFacturaListare + lnTip = tip + pnCod = cod + pnid_comanda_aviz = 0 + + poDate = Createobject("oDateFactura", 0, 0) + + Select crsFacturaListare + lnIdFact = id_fact + lnIdPart = id_part + poDate.nid_vanzare = id_vanzare + poDate.nRelistare = 1 + poDate.tip = lnTip + poDate.nract = numar_act + poDate.serie_act = Alltrim(serie_act) + poDate.dataact = Iif(Type('data_act') = 'T', Ttod(data_act), data_act) + poDate.discount_evidentiat = discount_evidentiat + poDate.text_aditional = Nvl(text_aditional, []) + poDate.text_aditional = Strtran(poDate.text_aditional, CHR(170),Chr(13)+Chr(10),1,100,1) + poDate.nrinmat = nrinmat + poDate.nume_delegat = delegat + poDate.bidelegat = bidelegat + poDate.cnpdelegat = cnpdelegat + poDate.dataora_exp = dataora_exp + *!* poDate.listaid = Iif(poDate.tip = 2,Alltrim(Str(id_ctr)),Iif(Inlist(poDate.tip, 3, 21, 28, 42),Alltrim(Str(id_comanda)), [0])) + poDate.listaid = Iif(Inlist(poDate.tip, 3, 21, 28, 42, 47), Alltrim(Str(id_comanda)), []) && id_comanda + poDate.ntip_incasare = tip_incasare && modificare v 2.0.84 + poDate.nr_incasare = nr_incasare + poDate.serie_chit = Nvl(serie_chit, []) && modificare v 2.0.80 + poDate.incasat = incasat + poDate.in_valuta = in_valuta + poDate.afisare_scadenta = afisare_scadenta && modificare ROACONTRACTE v 2.0.38 + poDate.descriere = altele && modificare v 2.0.44 nr comanda/aviz + poDate.id_ordl = id_ordl && modificare v 2.0.98 + poDate.tva_incasare = tva_incasare && modificare v 2.2.0 + poDate.id_facturare = id_facturare + poDate.nListareDetaliata = listare_detaliata + + poDate.nListareSilentioasa = Iif(m.tlSilent, 1, 0) + poDate.nListareJustPDF = Iif(m.tlJustPDF, 1, 0) + + poDate.nIdBeneficiar = id_beneficiar + poDate.nTipFactura = tip_factura + poDate.id_util = id_util + poDate.eProforma = eproforma + poDate.nEFactura = IIF(m.tlEFactura, 1, 0) && xml EFactura + poDate.id_ctr = id_ctr + poDate.contract = ALLTRIM(NVL(contract,'')) + + + If poDate.in_valuta = 1 + *!* modificare v 2.0.56 + poDate.nume_valuta = nume_val + poDate.Curs = Curs + poDate.multiplicator = multiplicator + poDate.totftvaconv = total_fara_tva + poDate.tottvaconv = total_tva + poDate.totctvaconv = poDate.totftvaconv + poDate.tottvaconv + lnDiscountVal = discount + lnDiscount = Round(lnDiscountVal * poDate.Curs / poDate.multiplicator, gnPc) + Else + lnDiscount = discount + lnDiscountVal = 0 + ENDIF + poDate.nValVal = valval + poDate.nTvaVal = tvaval + poDate.nTotVal = totval + poDate.cValuta = ALLTRIM(nume_val) + poDate.Curs = Curs + poDate.multiplicator = multiplicator + poDate.tip_saft = NVL(tip_saft, 380) && factura initiala + poDate.institutie_publica = NVL(institutie_publica, 0) + + Do Case + Case m.lcTipDocument = 'FACTURA' + If !Pemstatus(poDate, "id_comanda_aviz", 5) + AddProperty(poDate, "id_comanda_aviz", 0) + Endif + If Inlist(poDate.tip, 3, 21, 28, 42, 47) && factura / aviz din comanda && modificare v 2.0.93 : am adaugat 47 + Select crsFacturaListare + poDate.id_comanda_aviz = id_comanda + If Inlist(poDate.tip, 21, 28) + lcSql = [select nr_fact from fact_vdetalii_fact where id_vanzare_aviz = ] + Alltrim(Str(poDate.nid_vanzare)) + lnSucces = goExecutor.oExecute(lcSql, [crsnrfact]) + If lnSucces < 0 + amessagebox(goExecutor.oPrelucrareEroare(), 16, "Eroare") + Else + If Reccount('crsnrfact') > 0 + Select crsnrfact + AddProperty(poDate, [descriere2], Alltrim(nr_fact)) + Endif + Use In crsnrfact + Endif + Endif + Select crsFacturaListare + Else + If poDate.tip = 4 && factura din aviz + lcSql = [select max(v.id_comanda) as id_comanda from vanzari_coresp vc ] + ; + [join vanzari v on vc.id_vanzare_aviz = v.id_vanzare where vc.sters = 0 and v.sters = 0 and vc.id_vanzare_fact =] + Alltrim(Str(poDate.nid_vanzare)) + + lnSucces = goExecutor.oSelect2Value(lcSql, @pnid_comanda_aviz) + If lnSucces < 0 + amessagebox(goExecutor.oPrelucrareEroare(), 16, "Eroare") + poDate.id_comanda_aviz = 0 + Else + poDate.id_comanda_aviz = Nvl(pnid_comanda_aviz, 0) + Endif + Select crsFacturaListare + poDate.descriere = Alltrim(altele) + Endif + Endif + + + If Inlist(lnTip, 23, 25, 27, 30, 41, -6) && AVIZE SUBUNITATI 23,25,27,30; AVIZE SUBUNITATI RETUR 41, AVIZ RETUR VALORIC -6 + + poDateGestiuneDest = Createobject("oDateGestiune") + poDateGestiuneDest.id_gestiune = id_gestiune + + If Inlist(m.lnTip, 41, -6) && AVIZE SUBUNITATI RETUR (GESTIUNEA DESTINATIE ESTE DEPOZIT, TREBUIE GESTIUNEA SURSA DIN VANZARI_DETALII) + pnIdGestiuneRetur = 0 + lcSql = [select min(id_gestiune) from vanzari_detalii where id_vanzare = ] + + Alltrim(Str(poDate.nid_vanzare)) + lnSucces = goExecutor.oSelect2Value(lcSql, @pnIdGestiuneRetur) + If lnSucces < 0 + Messagebox(goExecutor.cEroare, 0 + 16, _Screen.Caption) + Else + poDateGestiuneDest.id_gestiune = m.pnIdGestiuneRetur + poDate.id_client = m.pnIdGestiuneRetur + Endif + Endif + + Select crsDetaliiListare + poDate.id_client = id_gestiune + poDate.nume_client = nume_gestiune + + If !Isnull(pnCod) + lcSql = [select r.id_responsabil, p.denumire as nresp from rul r left join nom_parteneri p on r.id_responsabil = p.id_part where r.cod = ] + Alltrim(Str(m.pnCod)) + [ and rownum = 1] + * lcSql = [select /*+ index(rul IDX_RUL_005) */ r.id_responsabil, p.denumire as nresp from rul r left join nom_parteneri p on r.id_responsabil = p.id_part where r.cod = ?pnCod and rownum = 1] + If Used('crsresp') + Use In crsresp + Endif + lcCursor = [crsresp] + lnSucces = goExecutor.oExecute(lcSql, lcCursor) + If lnSucces < 0 + amessagebox(goExecutor.oPrelucrareEroare(), 16, "Eroare") + Return + Else + Select (lcCursor) + poDate.id_responsabil = id_responsabil + poDate.responsabil = nresp + Use In (lcCursor) + Endif + + If Inlist(lnTip, 23, 25) + lcSql = [select id_partd from act where cod = ] + Alltrim(Str(m.pnCod)) + [ and scd = '357' ] + ; + [and id_gestin = ] + Alltrim(Str(poDateGestiuneDest.id_gestiune)) + [ and rownum = 1] + lnSucces = goExecutor.oExecute(lcSql, lcCursor) + If lnSucces < 0 + amessagebox(goExecutor.oPrelucrareEroare(), 16, "Eroare") + Return + Else + If Reccount(lcCursor) > 0 + Select (lcCursor) + poDate.id_part_rez = id_partd + Endif + Use In (lcCursor) + Endif + Endif + Endif + Else + poDate.id_client = id_part + poDate.nume_client = client + Endif + If !Isnull(pnCod) + If poDate.tip = -12 And !Isnull(poDate.id_ordl) + lcSql = [select a.datascad,b.nr_dosar,c1.denumire as asigurator,d.inspector from ] + ; + [(select MAX(id_lucrare) as id_lucrare,MAX(datascad) as datascad from act where cod = ] + Alltrim(Str(pnCod)) + [) a ] + ; + [left join dev_ordl b on a.id_lucrare = b.id_lucrare and b.sters = 0 ] + ; + [left join dev_nom_asiguratori c on b.id_asigurator = c.id_asigurator ] + ; + [left join nom_parteneri c1 on c.id_part = c1.id_part ] + ; + [left join dev_nom_inspectori d on b.id_inspector = d.id_inspector] + lcCursor = [crsdatascad] + If Used(lcCursor) + Use In (lcCursor) + Endif + lnSucces = goExecutor.oExecute(lcSql, lcCursor) + If lnSucces < 0 + amessagebox(goExecutor.oPrelucrareEroare(), 16, "Eroare") + Return + Else + Select (lcCursor) + Scatter Name ocomanda Memo + poDate.datascad = datascad + poDate.tip_doc_394 = 'F' && F = factura, M = factura simplificata + Use In (lcCursor) + Endif + Else + lcSql = [select MAX(a.datascad) as datascad, MAX(f.tip_doc) as tip_doc from act a left join nom_fdoc f on a.id_fdoc = f.id_fdoc where cod = ] + Alltrim(Str(m.pnCod)) + lcCursor = [crsdatascad] + Use In (SELECT(m.lcCursor)) + llSucces = goExecutor.oExecuta(lcSql, lcCursor) + If !m.llSucces + Return + Else + Select (m.lcCursor) + poDate.datascad = datascad + poDate.tip_doc_394 = NVL(tip_doc, 'F') && F = factura, M = factura simplificata + Use In (SELECT(m.lcCursor)) + ENDIF + Endif + Endif + + Use In (Select('crsfactura')) + + * Text TVA de afisat in partea de sus a facturii, daca este o singura explicatie de TVA pe toate liniile din crsDetaliiListare + ADDPROPERTY(poDate, 'cTextTVA', '') + SELECT distinct jtva_coloana_ex, jtva_coloana FROM crsDetaliiListare INTO CURSOR cTextTVATemp + IF RECCOUNT('cTextTVATemp') = 1 + SELECT cTextTVATemp + GO TOP + poDate.cTextTVA = IIF(!EMPTY(NVL(jtva_coloana_ex, '')), ALLTRIM(jtva_coloana_ex), ALLTRIM(NVL(jtva_coloana,''))) + ENDIF + USE IN (SELECT('cTextTVATemp')) + + + * Soldul pana la factura inclusiv + loSoldClient = GetSoldClient(m.lnIdPart, m.lnIdFact) + poDate.sold_lei = loSoldClient.sold_lei + poDate.sold_valuta = loSoldClient.sold_valuta + + Select crsDetaliiListare + Calculate Max(proc_tvav) To lnProcTvav + + creeaza_facturacrs([crsfactura]) + + prelucreaza_facturacrs([crsDetaliiListare], [crsfactura], lnProcTvav, lnDiscount, lnDiscountVal) + + creeaza_cursor_seturi(pnCod) + + listeaza_ofacturare() && ofacturare.prg + + Use In (Select('crsfactura')) + + Use In (Select('crsfacturaset')) + Case m.lcTipDocument = 'RECAPITULATIE' + Select crsFacturaListare + poDate.id_client = id_part + poDate.nume_client = client + + Do Case + Case poDate.tip = 51 && FACTURA ACN + *!* TRY + Do Case + Case poDate.nTipFactura = 0 && TRANZIT + do listeaza_recapitulatie_tranzit in proceduri_acnpro.prg + Case poDate.nTipFactura = 1 && CHEIAJ + do listeaza_recapitulatie_cheiaj in proceduri_acnpro.prg + Case poDate.nTipFactura = 6 && PENALITATI + do listeaza_recapitulatie_penalitati in proceduri_acnpro.prg + Otherwise && CHIRII / APA / ALTELE + do listeaza_recapitulatie_alte in proceduri_acnpro.prg + ENDCASE + *!* CATCH TO loEx + *!* AMESSAGEBOX('Listati recapitulatia din programul "ROAACNPRO"!' + CHR(13) + CHR(10) + loEx.Message,0+48,_SCREEN.Caption) + *!* ENDTRY + OTHERWISE + DO listeaza_recapitulatie WITH 'crsDetaliiListare', 'recapitulatie.frx' in ofacturare.prg + * am facu si o recapitulatie generica, pentru ca am pus recapitulatia in meniul de listare pentru ACN + ENDCASE + + Endcase + + Release pnCod, lnTip + USE IN (SELECT('crsFacturaListare')) + USE IN (SELECT('crsDetaliiListare')) + + Return poDate && intorc poDate pentru folosirea informatiilor despre factura (ex: poDate.email_factura in pluginul de trimitere email cu atasament factura) + +ENDPROC && listeaza_formular + +* Intoarce vanzari.id_fact pe baza vanzari.id_vanzare +* Folosesc la GetSoldClient +FUNCTION IdVanzare2IdFact + LPARAMETERS tnIdVanzare + PRIVATE pnIdVanzare + LOCAL lnIdFact + pnIdVanzare = m.tnIdVanzare + lnIdFact = 0 + + llSucces = goExecutor.oSelecteaza2Value("Select MIN(id_fact) from vanzari where id_vanzare = ?pnIdVanzare", @lnIdFact) + + RETURN m.lnIdFact +ENDFUNC +*********************************** +* Obtine sold client 4111 + 461 din balanta_parteneri sau din ireg_parteneri pana la numarul facturii +* Pentru afisarea in raportul factura +*********************************** +FUNCTION GetSoldClient + LPARAMETERS tnIdPart, tnIdFact + * tnIdPart: Id partener client + * tnIdFact : (optional) Id factura + + PRIVATE pnIdPart, pnIdFact + Local loSold As "empty" + Local lcSelect, lcSql, llSucces + + pnIdPart = tnIdPart + pnIdFact = tnIdFact + lcSelect = SELECT() + + loSold = CREATEOBJECT("empty") + ADDPROPERTY(loSold, 'sold_lei', 0) + ADDPROPERTY(loSold, 'sold_valuta', 0) + + lcSql = [{call pack_facturare.getSoldClient(?gnAn, ?gnLuna, ?pnIdPart, ?pnIdFact)}] + + If goExecutor.oExecuta(m.lcSql, 'cSoldClientTemp') + SELECT cSoldClientTemp + GO TOP + loSold.sold_lei = NVL(sold_lei, 0) + loSold.sold_valuta = NVL(sold_valuta, 0) + ENDIF + USE IN (SELECT('cSoldClientTemp')) + + SELECT (m.lcSelect) + RETURN loSold +ENDFUNC + +******************************** INCEPUT: verifica_setari ************************************* +Procedure verifica_setari + LPARAMETERS tlSilent + * tlSilent: .T. nu afiseaza mesajul, .F. (default) afiseaza mesajul + + Private pcMesaj + Store "" To pcMesaj + lcSql = [begin ] + gcS + [.pack_facturare.verificare_setari_program(?gnIdUtil,?@pcMesaj);] + ; + [end;] + lnSucces = goExecutor.oexecute(lcSql) + If lnSucces < 0 + amessagebox(goExecutor.oPrelucrareEroare(), 16, "Eroare") + Else + If !m.tlSilent AND !Isnull(m.pcMesaj) And !Empty(m.pcMesaj) + amessagebox(pcMesaj, 48, "Atentie") + Endif + ENDIF + RETURN m.pcMesaj +Endproc +******************************** SFARSIT: verifica_setari ************************************* +************************************ INCEPUT: vanzare_materii_prime **************************************** +Procedure vanzare_materii_prime + Local lnIdSet + gnTipGest = 2 + Do vanzare1.mpr +Endproc +************************************ SFARSIT: vanzare_materii_prime **************************************** +*************************************** INCEPUT: vanzare_produse ******************************************* +Procedure vanzare_produse + gnTipGest = 4 + Do vanzare2.mpr +Endproc +*************************************** SFARSIT: vanzare_produse ******************************************* +*********************************** INCEPUT: vanzare_marfa_pret_achi *************************************** +Procedure vanzare_marfa_pret_achi + gnTipGest = 5 + Do vanzare3.mpr +Endproc +*********************************** SFARSIT: vanzare_marfa_pret_achi *************************************** +*********************************** INCEPUT: vanzare_marfa_pret_vanz *************************************** +Procedure vanzare_marfa_pret_vanz + gnTipGest = 6 + Do vanzare4.mpr +Endproc +*********************************** SFARSIT: vanzare_marfa_pret_vanz *************************************** +*********************************** INCEPUT: vanzare_marfa_pret_achi_vanz *************************************** +Procedure vanzare_marfa_pret_achi_vanz + gnTipGest = 7 + Do vanzare5.mpr +Endproc +*********************************** SFARSIT: vanzare_marfa_pret_achi_vanz *************************************** +************************************* INCEPUT: selecteaza_gestiuni ***************************************** +Procedure selecteaza_gestiuni + If Used('nom_gestiuni') + Use In nom_gestiuni + Endif + Do Case + Case "-1" $ gcGestPermis + lcSql = [select * from ] + gcS + [.vnom_GESTIUNI where inactiv = 0 ] + ; + [and nr_pag = ?gnTipGest order by nume_gestiune] + lcCursor = [nom_gestiuni] + lnSucces = goExecutor.oexecute(lcSql, lcCursor) + If lnSucces < 0 + amessagebox(goExecutor.cEroare, 0 + 16, 'Eroare') + Quit + Endif + goExecutor.oReset() + Otherwise + lcSql = [select * from ] + gcS + [.vnom_GESTIUNI where inactiv = 0 and nr_pag = ?gnTipGest ] + ; + [ and id_gestiune in ] + ; + [(select g.id_gestiune from ] + gcS + [.vgest_coresp_grupe_gestiuni g join ] + ; + gcS + [.vgest_coresp_util_grupe u on g.id_grupe = u.id_grupe and u.id_util = ?gnIdUtil) order by nume_gestiune] + + lcCursor = [nom_gestiuni] + lnSucces = goExecutor.oexecute(lcSql, lcCursor) + If lnSucces < 0 + amessagebox(goExecutor.cEroare, 0 + 16, 'Eroare') + Quit + Endif + goExecutor.oReset() + Endcase +Endproc && selecteaza_gestiuni +************************************* SFARSIT: selecteaza_gestiuni ***************************************** +************************************* INCEPUT: creeaza_cursor_seturi ***************************************** +Procedure creeaza_cursor_seturi + Lparameters tnCod + *!* Dimension laStructura(1,18) + lcCursorTemp = [crsfacturasettemp] + lcCursor = [crsfacturaset] + If Used(lcCursorTemp) + Use In (lcCursorTemp) + Endif + If Used(lcCursor) + Use In (lcCursor) + Endif + *!* modificare v 2.0.84 + *!* lcSql = [select c.id_vanzare_set as id_set_fact,Min(b.id_vanzare_det) as id_temp,c.denumire,c.explicatie,c.cantitate,c.um,c.serie,c.pret,Nvl(c.discount_unitar,0) as discount_unitar,c.pret_cu_tva ] + ; + *!* [from ] + gcS + [.vanzari a ] + ; + *!* [left join ] + gcS + [.vanzari_detalii b on a.id_vanzare = b.id_vanzare and b.sters = 0 ] + ; + *!* [left join ] + gcS + [.vanzari_seturi c on b.id_vanzare_set = c.id_vanzare_set ] + ; + *!* [where a.cod = ] + Alltrim(Str(tnCod)) + [ and b.id_vanzare_set is not null ] + ; + *!* [group by c.id_vanzare_set,c.denumire,c.explicatie,c.cantitate,c.um,c.serie,c.pret,Nvl(c.discount_unitar,0),c.pret_cu_tva] + lcSql = [{call pack_facturare.citeste_vanzari_seturi(] + Alltrim(Str(tnCod)) + [)}] + *!* modificare v 2.0.84 ^ + lnSucces = goExecutor.oexecute(lcSql, lcCursorTemp) + Do Case + Case lnSucces < 0 + amessagebox(goExecutor.cEroare, 0 + 16, "Eroare") + Return + Case Reccount(lcCursorTemp) = 0 + Use In (lcCursorTemp) + Otherwise + *!* modificare v 2.0.56 + *!* Afields(laStructura,[crsfactura]) + *!* Create Cursor (lcCursor) From Array laStructura + copiaza_structura_cursor([crsfactura], lcCursor) + *!* modificare v 2.0.56 ^ + *!* *!* Insert Into (lcCursor) ; + *!* *!* Select a.id_set_fact,a.denumire,a.explicatie,a.cantitate,a.um,a.serie,; + *!* *!* Max(b.proc_tvav) As proc_tvav,; + *!* *!* Sum(b.valftva) As valftva,Sum(b.valtva) As valtva,; + *!* *!* Sum(b.valdiscountftva) As valdiscountftva,Sum(b.valdiscounttva) As valdiscounttva,; + *!* *!* Sum(b.valdiminuatftva) As valdiminuatftva,; + *!* *!* Sum(b.valdiminuattva) As valdiminuattva,Sum(b.valdiminuatctva) As valdiminuatctva,; + *!* *!* Sum(b.vvalftva) As vvalftva,Sum(b.vvaltva) As vvaltva,Sum(b.vvalctva) As vvalctva,; + *!* *!* Sum(b.vdiscountftva) As vdiscountftva,Sum(b.vdiscountctva) As vdiscountctva,; + *!* *!* Sum(b.vvaldiscountftva) As vvaldiscountftva,Sum(b.vvaldiscounttva) As vvaldiscounttva,; + *!* *!* Sum(b.vvaldiscountctva) As vvaldiscountctva,Sum(b.vvaldiminuatftva) As vvaldiminuatftva,; + *!* *!* Sum(b.vvaldiminuattva) As vvaldiminuattva,Sum(b.vvaldiminuatctva) As vvaldiminuatctva,; + *!* *!* Round(Sum(b.valftva)/a.cantitate,gnPc) As pretftva,Round(Sum(b.valtva)/a.cantitate,gnPc) As tva,; + *!* *!* Round(Sum(b.valdiscountftva)/a.cantitate,gnPc) As discountftva,; + *!* *!* Round(Sum(b.valdiscounttva)/a.cantitate,gnPc) As discounttva,; + *!* *!* Round(Sum(b.vvalftva)/a.cantitate,gnPc) As vpretftva,; + *!* *!* ROUND(Sum(b.vvaltva)/a.cantitate,gnPc) As vtva,; + *!* *!* Round(Sum(b.vvalctva) / a.cantitate,gnPc) As vpretctva,; + *!* *!* ROUND(Sum(b.vvaldiscountftva) / a.cantitate,gnPc) As vdiscountftva,; + *!* *!* Round(Sum(b.vvaldiscountctva) / a.cantitate,gnPc) As vdiscountctva,; + *!* *!* ROUND(Sum(b.vvaldiscountftva) / a.cantitate,gnPc) - Round(Sum(b.vvaldiscountctva) / a.cantitate,gnPc) As vdiscounttva ; + *!* *!* FROM (lcCursorTemp) a Left Join crsfactura b On a.id_set_fact = b.id_set_fact ; + *!* *!* Group By a.id_set_fact,a.denumire,a.explicatie,a.cantitate,a.um,a.serie + + *!* Insert Into (lcCursor) (id_set_fact,denumire,explicatie,cantitate,um,serie,; + *!* proc_tvav,pretftva,valftva,valtva,discountftva,valdiscountftva,; + *!* valdiscounttva,valdiminuatftva,valdiminuattva,vpretftva,; + *!* vvalftva,vvaltva,vdiscountftva,vvaldiscountftva,vvaldiscounttva,; + *!* vvaldiminuatftva,vvaldiminuattva) ; + *!* Select a.id_set_fact,a.denumire,a.explicatie,a.cantitate,a.um,a.serie,; + *!* b.proc_tvav,; + *!* Round(b.valftva/a.cantitate,gnPc) As pretftva,; + *!* b.valftva,b.valtva,; + *!* Round(b.valdiscountftva/a.cantitate,gnPc) As discountftva,; + *!* b.valdiscountftva,b.valdiscounttva,b.valdiminuatftva,b.valdiminuattva,; + *!* Round(b.vvalftva/a.cantitate,gnPc) As vpretftva,b.vvalftva,b.vvaltva,; + *!* b.vdiscountftva,b.vvaldiscountftva,b.vvaldiscounttva,b.vvaldiminuatftva,; + *!* b.vvaldiminuattva ; + *!* From (lcCursorTemp) a ; + *!* Left Join (Select Max(proc_tvav) As proc_tvav,; + *!* Sum(valftva) As valftva,Sum(valtva) As valtva,; + *!* Sum(valdiscountftva) As valdiscountftva,Sum(valdiscounttva) As valdiscounttva,; + *!* Sum(valdiminuatftva) As valdiminuatftva,; + *!* Sum(valdiminuattva) As valdiminuattva,; + *!* Sum(vvalftva) As vvalftva,Sum(vvaltva) As vvaltva,; + *!* Sum(vdiscountftva) As vdiscountftva,; + *!* Sum(vvaldiscountftva) As vvaldiscountftva,Sum(vvaldiscounttva) As vvaldiscounttva,; + *!* Sum(vvaldiminuatftva) As vvaldiminuatftva,; + *!* Sum(vvaldiminuattva) As vvaldiminuattva,id_set_fact From crsfactura Where id_set_fact <> 0 ; + *!* GROUP By id_set_fact) b On a.id_set_fact = b.id_set_fact + *!* modificare v 2.0.56 : am discount_unitar pe articolul din set + *!* Insert Into (lcCursor) (id_set_fact,id_temp,denumire,explicatie,cantitate,um,serie,; + *!* proc_tvav,id_jtva_coloana,gestionabil,pretftva,valftva,valtva,discountftva,valdiscountftva,; + *!* valdiscounttva,valdiminuatftva,valdiminuattva,vpretftva,; + *!* vvalftva,vvaltva,vdiscountftva,vvaldiscountftva,vvaldiscounttva,; + *!* vvaldiminuatftva,vvaldiminuattva) ; + *!* Select a.id_set_fact,a.id_temp,a.denumire,a.explicatie,a.cantitate,a.um,a.serie,; + *!* b.proc_tvav,b.id_jtva_coloana,b.gestionabil,IIF(poDate.in_valuta=0,a.pret,ROUND(a.pret*b.curs,gnPc)) As pretftva,; + *!* Round(Iif(poDate.in_valuta=0,a.Pret,Round(a.Pret*b.Curs,gnPc))*a.cantitate,gnPc) As valftva,; + *!* Round(Round(Iif(poDate.in_valuta=0,a.Pret,Round(a.Pret*b.Curs,gnPc))*a.cantitate,gnPc)*(b.proc_tvav-1),gnPc) As valtva,; + *!* Round(b.valdiscountftva/a.cantitate,gnPc) As discountftva,; + *!* b.valdiscountftva,b.valdiscounttva,; + *!* ROUND((Iif(poDate.in_valuta=0,a.Pret,Round(a.Pret*b.Curs,gnPc))-Round(b.valdiscountftva/a.cantitate,gnPc))*a.cantitate,gnPc) as valdiminuatftva,; + *!* ROUND(ROUND((Iif(poDate.in_valuta=0,a.Pret,Round(a.Pret*b.Curs,gnPc))-Round(b.valdiscountftva/a.cantitate,gnPc))*a.cantitate,gnPc)*(b.proc_tvav-1),gnPc) as valdiminuattva,; + *!* IIF(poDate.in_valuta=0,0,a.pret) as vpretftva,; + *!* IIF(poDate.in_valuta=0,0,ROUND(a.pret*a.cantitate,gnPc)) as vvalftva,; + *!* IIF(poDate.in_valuta=0,0,ROUND(ROUND(a.pret*a.cantitate,gnPc)*(b.proc_tvav-1),gnPc)) as vvaltva,; + *!* IIF(poDate.in_valuta=0,0,ROUND(b.vvaldiscountftva/a.cantitate,gnPc)) as vdiscountftva,; + *!* b.vvaldiscountftva,b.vvaldiscounttva,; + *!* ROUND(Iif(poDate.in_valuta=0,0,a.Pret-Round(b.vvaldiscountftva/a.cantitate,gnPc))*a.cantitate,gnPc) as vvaldiminuatftva,; + *!* ROUND(ROUND(Iif(poDate.in_valuta=0,0,a.Pret-Round(b.vvaldiscountftva/a.cantitate,gnPc))*a.cantitate,gnPc)*(b.proc_tvav-1),gnPc) as vvaldiminuattva ; + *!* From (lcCursorTemp) a ; + *!* Left Join (Select id_set_fact,IIF(poDate.in_valuta=0,1,poDate.curs) as curs,; + *!* Max(proc_tvav) As proc_tvav,Min(id_jtva_coloana) as id_jtva_coloana,Max(gestionabil) as gestionabil,; + *!* Sum(valdiscountftva) As valdiscountftva,Sum(valdiscounttva) As valdiscounttva,; + *!* Sum(vvaldiscountftva) As vvaldiscountftva,Sum(vvaldiscounttva) As vvaldiscounttva ; + *!* From crsfactura Where id_set_fact <> 0 ; + *!* GROUP By 1,2) b On a.id_set_fact = b.id_set_fact + *!* modificare v 2.0.67 : am adaugat id_ctr, numar_contract + *!* modificare v 2.0.84 + *!* Insert Into (lcCursor) (id_set_fact,id_temp,denumire,explicatie,cantitate,um,serie,; + *!* proc_tvav,id_jtva_coloana,gestionabil,pretftva,valftva,valtva,discountftva,valdiscountftva,; + *!* valdiscounttva,valdiminuatftva,valdiminuattva,vpretftva,; + *!* vvalftva,vvaltva,vdiscountftva,vvaldiscountftva,vvaldiscounttva,; + *!* vvaldiminuatftva,vvaldiminuattva,id_ctr,numar_contract) ; + *!* Select a.id_set_fact,a.id_temp,a.denumire,a.explicatie,a.cantitate,a.um,a.serie,; + *!* b.proc_tvav,b.id_jtva_coloana,b.gestionabil,; + *!* IIF(poDate.in_valuta=0,a.pret,ROUND(a.pret*b.curs,gnPc)) As pretftva,; + *!* Round(Iif(poDate.in_valuta=0,a.Pret,Round(a.Pret*b.Curs,gnPc))*a.cantitate,gnPc) As valftva,; + *!* Round(Round(Iif(poDate.in_valuta=0,a.Pret,Round(a.Pret*b.Curs,gnPc))*a.cantitate,gnPc)*(b.proc_tvav-1),gnPc) As valtva,; + *!* IIF(poDate.in_valuta=0,a.discount_unitar,ROUND(a.discount_unitar*b.curs,gnPc)) As discountftva,; + *!* Round(Iif(poDate.in_valuta=0,a.discount_unitar,Round(a.discount_unitar*b.Curs,gnPc))*a.cantitate,gnPc) As valdiscountftva,; + *!* Round(Round(Iif(poDate.in_valuta=0,a.discount_unitar,Round(a.discount_unitar*b.Curs,gnPc))*a.cantitate,gnPc)*(b.proc_tvav-1),gnPc) As valdiscounttva,; + *!* ROUND(Iif(poDate.in_valuta=0,a.Pret-a.discount_unitar,Round((a.Pret-a.discount_unitar)*b.Curs,gnPc))*a.cantitate,gnPc) as valdiminuatftva,; + *!* ROUND(ROUND(Iif(poDate.in_valuta=0,a.Pret-a.discount_unitar,Round((a.Pret-a.discount_unitar)*b.Curs,gnPc))*a.cantitate,gnPc)*(b.proc_tvav-1),gnPc) as valdiminuattva,; + *!* IIF(poDate.in_valuta=0,0,a.pret) as vpretftva,; + *!* IIF(poDate.in_valuta=0,0,ROUND(a.pret*a.cantitate,gnPc)) as vvalftva,; + *!* IIF(poDate.in_valuta=0,0,ROUND(ROUND(a.pret*a.cantitate,gnPc)*(b.proc_tvav-1),gnPc)) as vvaltva,; + *!* IIF(poDate.in_valuta=0,0,a.discount_unitar) as vdiscountftva,; + *!* IIF(poDate.in_valuta=0,0,ROUND(a.discount_unitar*a.cantitate,gnPc)) as vvaldiscountftva,; + *!* IIF(poDate.in_valuta=0,0,ROUND(ROUND(a.discount_unitar*a.cantitate,gnPc)*(b.proc_tvav-1),gnPc)) as vvaldiscounttva,; + *!* ROUND(Iif(poDate.in_valuta=0,0,a.Pret-a.discount_unitar)*a.cantitate,gnPc) as vvaldiminuatftva,; + *!* ROUND(ROUND(Iif(poDate.in_valuta=0,0,a.Pret-a.discount_unitar)*a.cantitate,gnPc)*(b.proc_tvav-1),gnPc) as vvaldiminuattva, ; + *!* b.id_ctr,b.numar_contract ; + *!* From (lcCursorTemp) a ; + *!* Left Join (Select id_set_fact,IIF(poDate.in_valuta=0,1,poDate.curs) as curs,id_ctr,numar_contract,; + *!* Max(proc_tvav) As proc_tvav,Min(id_jtva_coloana) as id_jtva_coloana,Max(gestionabil) as gestionabil ; + *!* From crsfactura Where id_set_fact <> 0 ; + *!* GROUP By 1,2,3,4) b On a.id_set_fact = b.id_set_fact + prelucreaza_facturacrs(lcCursorTemp, lcCursor, 0, 0, 0) + *!* modificare v 2.0.84 ^ + *!* modificare v 2.0.56 ^ + Endcase + If Used(lcCursorTemp) + Use In (lcCursorTemp) + Endif +Endproc && creeaza_cursor_seturi +************************************* SFARSIT: creeaza_cursor_seturi ***************************************** +********************************* INCEPUT: creeaza_cursor_seturi_proforme ************************************* +Procedure creeaza_cursor_seturi_proforme + Lparameters tnIdProforma + *!* Dimension laStructura(1,18) + lcCursorTemp = [crsfacturasettemp] + lcCursor = [crsfacturaset] + If Used(lcCursorTemp) + Use In (lcCursorTemp) + Endif + If Used(lcCursor) + Use In (lcCursor) + Endif + *!* modificare v 2.0.84 + *!* lcSql = [select Min(a.id_proforma_det) as id_temp,b.id_proforma_set as id_set_fact,b.denumire,b.explicatie,b.cantitate,b.um,b.serie,b.pret,Nvl(b.discount_unitar,0) as discount_unitar ] + ; + *!* [from ] + gcS + [.proforme_detalii a ] + ; + *!* [left join ] + gcS + [.proforme_seturi b on a.id_proforma_set = b.id_proforma_set ] + ; + *!* [where a.id_proforma = ] + Alltrim(Str(tnIdProforma)) + [ and a.id_proforma_set is not null ] + ; + *!* [and a.sters = 0 ] + ; + *!* [group by b.id_proforma_set,b.denumire,b.explicatie,b.cantitate,b.um,b.serie,b.pret,Nvl(b.discount_unitar,0)] + lcSql = [{call pack_facturare.citeste_proforme_seturi(] + Alltrim(Str(tnIdProforma)) + [)}] + *!* modificare v 2.0.84 ^ + lnSucces = goExecutor.oexecute(lcSql, lcCursorTemp) + Do Case + Case lnSucces < 0 + amessagebox(goExecutor.cEroare, 0 + 16, "Eroare") + Return + Case Reccount(lcCursorTemp) = 0 + Use In (lcCursorTemp) + Otherwise + *!* modificare v 2.0.56 + *!* Afields(laStructura,[crsfactura]) + *!* Create Cursor (lcCursor) From Array laStructura + copiaza_structura_cursor([crsfactura], lcCursor) + *!* modificare v 2.0.56 ^ + *!* Insert Into (lcCursor) (id_set_fact,denumire,explicatie,cantitate,um,serie,; + *!* proc_tvav,pretftva,valftva,valtva,discountftva,valdiscountftva,; + *!* valdiscounttva,valdiminuatftva,valdiminuattva,vpretftva,; + *!* vvalftva,vvaltva,vdiscountftva,vvaldiscountftva,vvaldiscounttva,; + *!* vvaldiminuatftva,vvaldiminuattva) ; + *!* Select a.id_set_fact,a.denumire,a.explicatie,a.cantitate,a.um,a.serie,; + *!* b.proc_tvav,; + *!* Round(b.valftva/a.cantitate,gnPc) As pretftva,; + *!* b.valftva,b.valtva,; + *!* Round(b.valdiscountftva/a.cantitate,gnPc) As discountftva,; + *!* b.valdiscountftva,b.valdiscounttva,b.valdiminuatftva,b.valdiminuattva,; + *!* Round(b.vvalftva/a.cantitate,gnPc) As vpretftva,b.vvalftva,b.vvaltva,; + *!* b.vdiscountftva,b.vvaldiscountftva,b.vvaldiscounttva,b.vvaldiminuatftva,; + *!* b.vvaldiminuattva ; + *!* FROM (lcCursorTemp) a ; + *!* Left Join (Select Max(proc_tvav) As proc_tvav,; + *!* Sum(valftva) As valftva,Sum(valtva) As valtva,; + *!* Sum(valdiscountftva) As valdiscountftva,Sum(valdiscounttva) As valdiscounttva,; + *!* Sum(valdiminuatftva) As valdiminuatftva,; + *!* Sum(valdiminuattva) As valdiminuattva,; + *!* Sum(vvalftva) As vvalftva,Sum(vvaltva) As vvaltva,; + *!* Sum(vdiscountftva) As vdiscountftva,; + *!* Sum(vvaldiscountftva) As vvaldiscountftva,Sum(vvaldiscounttva) As vvaldiscounttva,; + *!* Sum(vvaldiminuatftva) As vvaldiminuatftva,; + *!* Sum(vvaldiminuattva) As vvaldiminuattva,id_set_fact From crsfactura Where id_set_fact <> 0 ; + *!* GROUP By id_set_fact) b On a.id_set_fact = b.id_set_fact + *!* modificare v 2.0.56 : am discount_unitar pe articolul din set + *!* Insert Into (lcCursor) (id_temp,id_set_fact,denumire,explicatie,cantitate,um,serie,; + *!* proc_tvav,pretftva,valftva,valtva,discountftva,valdiscountftva,; + *!* valdiscounttva,valdiminuatftva,valdiminuattva,vpretftva,; + *!* vvalftva,vvaltva,vdiscountftva,vvaldiscountftva,vvaldiscounttva,; + *!* vvaldiminuatftva,vvaldiminuattva) ; + *!* Select a.id_temp,a.id_set_fact,a.denumire,a.explicatie,a.cantitate,a.um,a.serie,; + *!* b.proc_tvav,IIF(poDate.in_valuta=0,a.pret,ROUND(a.pret*b.curs,gnPc)) As pretftva,; + *!* Round(Iif(poDate.in_valuta=0,a.Pret,Round(a.Pret*b.Curs,gnPc))*a.cantitate,gnPc) As valftva,; + *!* Round(Round(Iif(poDate.in_valuta=0,a.Pret,Round(a.Pret*b.Curs,gnPc))*a.cantitate,gnPc)*(b.proc_tvav-1),gnPc) As valtva,; + *!* Round(b.valdiscountftva/a.cantitate,gnPc) As discountftva,; + *!* b.valdiscountftva,b.valdiscounttva,; + *!* ROUND((Iif(poDate.in_valuta=0,a.Pret,Round(a.Pret*b.Curs,gnPc))-Round(b.valdiscountftva/a.cantitate,gnPc))*a.cantitate,gnPc) as valdiminuatftva,; + *!* ROUND(ROUND((Iif(poDate.in_valuta=0,a.Pret,Round(a.Pret*b.Curs,gnPc))-Round(b.valdiscountftva/a.cantitate,gnPc))*a.cantitate,gnPc)*(b.proc_tvav-1),gnPc) as valdiminuattva,; + *!* IIF(poDate.in_valuta=0,0,a.pret) as vpretftva,; + *!* IIF(poDate.in_valuta=0,0,ROUND(a.pret*a.cantitate,gnPc)) as vvalftva,; + *!* IIF(poDate.in_valuta=0,0,ROUND(ROUND(a.pret*a.cantitate,gnPc)*(b.proc_tvav-1),gnPc)) as vvaltva,; + *!* IIF(poDate.in_valuta=0,0,ROUND(b.vvaldiscountftva/a.cantitate,gnPc)) as vdiscountftva,; + *!* b.vvaldiscountftva,b.vvaldiscounttva,; + *!* ROUND(Iif(poDate.in_valuta=0,0,a.Pret-Round(b.vvaldiscountftva/a.cantitate,gnPc))*a.cantitate,gnPc) as vvaldiminuatftva,; + *!* ROUND(ROUND(Iif(poDate.in_valuta=0,0,a.Pret-Round(b.vvaldiscountftva/a.cantitate,gnPc))*a.cantitate,gnPc)*(b.proc_tvav-1),gnPc) as vvaldiminuattva ; + *!* From (lcCursorTemp) a ; + *!* Left Join (Select id_set_fact,IIF(poDate.in_valuta=0,1,poDate.curs) as curs,; + *!* Max(proc_tvav) As proc_tvav,; + *!* Sum(valdiscountftva) As valdiscountftva,Sum(valdiscounttva) As valdiscounttva,; + *!* Sum(vvaldiscountftva) As vvaldiscountftva,Sum(vvaldiscounttva) As vvaldiscounttva ; + *!* From crsfactura Where id_set_fact <> 0 ; + *!* GROUP By 1,2) b On a.id_set_fact = b.id_set_fact + *!* modificare v 2.0.84 + *!* modificare v 2.0.84 + *!* Insert Into (lcCursor) (id_temp,id_set_fact,denumire,explicatie,cantitate,um,serie,; + *!* proc_tvav,pretftva,valftva,valtva,discountftva,valdiscountftva,; + *!* valdiscounttva,valdiminuatftva,valdiminuattva,vpretftva,; + *!* vvalftva,vvaltva,vdiscountftva,vvaldiscountftva,vvaldiscounttva,; + *!* vvaldiminuatftva,vvaldiminuattva) ; + *!* Select a.id_temp,a.id_set_fact,a.denumire,a.explicatie,a.cantitate,a.um,a.serie,; + *!* b.proc_tvav,; + *!* IIF(poDate.in_valuta=0,a.pret,ROUND(a.pret*b.curs,gnPc)) As pretftva,; + *!* Round(Iif(poDate.in_valuta=0,a.Pret,Round(a.Pret*b.Curs,gnPc))*a.cantitate,gnPc) As valftva,; + *!* Round(Round(Iif(poDate.in_valuta=0,a.Pret,Round(a.Pret*b.Curs,gnPc))*a.cantitate,gnPc)*(b.proc_tvav-1),gnPc) As valtva,; + *!* IIF(poDate.in_valuta=0,a.discount_unitar,ROUND(a.discount_unitar*b.curs,gnPc)) As discountftva,; + *!* Round(Iif(poDate.in_valuta=0,a.discount_unitar,Round(a.discount_unitar*b.Curs,gnPc))*a.cantitate,gnPc) As valdiscountftva,; + *!* Round(Round(Iif(poDate.in_valuta=0,a.discount_unitar,Round(a.discount_unitar*b.Curs,gnPc))*a.cantitate,gnPc)*(b.proc_tvav-1),gnPc) As valdiscounttva,; + *!* ROUND(Iif(poDate.in_valuta=0,a.Pret-a.discount_unitar,Round((a.Pret-a.discount_unitar)*b.Curs,gnPc))*a.cantitate,gnPc) as valdiminuatftva,; + *!* ROUND(ROUND(Iif(poDate.in_valuta=0,a.Pret-a.discount_unitar,Round((a.Pret-a.discount_unitar)*b.Curs,gnPc))*a.cantitate,gnPc)*(b.proc_tvav-1),gnPc) as valdiminuattva,; + *!* IIF(poDate.in_valuta=0,0,a.pret) as vpretftva,; + *!* IIF(poDate.in_valuta=0,0,ROUND(a.pret*a.cantitate,gnPc)) as vvalftva,; + *!* IIF(poDate.in_valuta=0,0,ROUND(ROUND(a.pret*a.cantitate,gnPc)*(b.proc_tvav-1),gnPc)) as vvaltva,; + *!* IIF(poDate.in_valuta=0,0,a.discount_unitar) as vdiscountftva,; + *!* IIF(poDate.in_valuta=0,0,ROUND(a.discount_unitar*a.cantitate,gnPc)) as vvaldiscountftva,; + *!* IIF(poDate.in_valuta=0,0,ROUND(ROUND(a.discount_unitar*a.cantitate,gnPc)*(b.proc_tvav-1),gnPc)) as vvaldiscounttva,; + *!* ROUND(Iif(poDate.in_valuta=0,0,a.Pret-a.discount_unitar)*a.cantitate,gnPc) as vvaldiminuatftva,; + *!* ROUND(ROUND(Iif(poDate.in_valuta=0,0,a.Pret-a.discount_unitar)*a.cantitate,gnPc)*(b.proc_tvav-1),gnPc) as vvaldiminuattva ; + *!* From (lcCursorTemp) a ; + *!* Left Join (Select id_set_fact,IIF(poDate.in_valuta=0,1,poDate.curs) as curs,; + *!* Max(proc_tvav) As proc_tvav ; + *!* From crsfactura Where id_set_fact <> 0 ; + *!* GROUP By 1,2) b On a.id_set_fact = b.id_set_fact + prelucreaza_facturacrs(lcCursorTemp, lcCursor, 0, 0, 0) + *!* modificare v 2.0.84 ^ + *!* modificare v 2.0.56 ^ + Endcase + If Used(lcCursorTemp) + Use In (lcCursorTemp) + Endif +Endproc && creeaza_cursor_seturi_proforme +********************************* SFARSIT: creeaza_cursor_seturi_proforme ************************************** +*!* ******************************** INCEPUT: actualizeaza_optiuni_program ************************************* +*!* Function actualizeaza_optiuni_program +*!* Lparameters tnTip +*!* && 0 - toate +*!* && 1 - fara id-uri +*!* Local llReturn +*!* Store .F. To llReturn +*!* If Empty(tnTip) +*!* lcFiltru = [] +*!* Else +*!* lcFiltru = [ and varname not like 'ID%'] +*!* Endif +*!* lcSql=[SELECT VARTYPE,VARNAME,VARVALUE FROM ] + gcS + [.OPTIUNI WHERE PROGRAM='] + Upper(Alltrim(gcNumeProgram)) + ['] + ; +*!* lcFiltru +*!* lcCursor=[crsoptiuni] +*!* lnSucces=goExecutor.oexecute(lcSql,lcCursor) +*!* If lnSucces<0 +*!* amessagebox(goExecutor.cEroare,0+48,"Eroare") +*!* Else +*!* Select crsoptiuni +*!* Scan +*!* lcvartype=Alltrim(Upper(Vartype)) +*!* lcvarname=Alltrim(Upper(varname)) +*!* Do Case +*!* Case lcvartype = "CHARACTER" +*!* luvarvalue = Alltrim(varvalue) +*!* gc&lcvarname. = luvarvalue +*!* Case lcvartype = "NUMERIC" +*!* luvarvalue = Val(varvalue) +*!* gn&lcvarname. = luvarvalue +*!* Endcase +*!* Endscan +*!* Use In crsoptiuni +*!* llReturn = .T. +*!* Endif +*!* Return llReturn +*!* Endfunc && actualizeaza_optiuni_program +*!* ******************************** SFARSIT: actualizeaza_optiuni_program ************************************* +******************************************* INCEPUT:caut_locatie_restaurant ******************************************* +Function caut_locatie_restaurant + Local loCauta + Store "" To loCauta + pcselect = [select id_rest_locatie,locatie FROM ] + gcS + [.rest_vcoresp_util_locatii] + pcfiltru = [1=2] + pcschema = [''] + pcorder = [locatie] + pccoloane = [locatie] + pcTitlu = [Alegeti locatia] + pcTitluColoane = [Locatie] + pcFiltruOriginal = [id_util_rest = ] + Alltrim(Str(gnIdUtil)) + lcNumeProc = [] + llToateIreg = .F. + loCauta = cauta_alfa(pcselect, pcfiltru, pcschema, pcorder, pccoloane, pcTitlu, pcTitluColoane, lcNumeProc, llToateIreg, pcFiltruOriginal) + Return loCauta +Endfunc +******************************************* SFARSIT: caut_locatie_restaurant ******************************************* +******************************************* INCEPUT:caut_comanda_client ******************************************* +Function caut_comanda_client + Lparameters tnIdPart + Local loCauta + Store "" To loCauta + If !Empty(tnIdPart) + lcFiltruClient = [ and id_part = ] + Alltrim(Str(tnIdPart)) + Else + lcFiltruClient = [] + Endif + pcselect = [select id_comanda, data_comanda, nr_comanda FROM vcomenzi ] + pcfiltru = [1=2] + pcschema = [''] + pcorder = [data_comanda,nr_comanda] + pccoloane = [nr_comanda,data_comanda] + pcTitlu = [Alegeti comanda] + pcTitluColoane = [Nr. comanda,Data comanda] + pcFiltruOriginal = [facturat = 0 and interna in (2,5) ] + lcFiltruClient + gcCondSucursala + lcNumeProc = [] + llToateIreg = .F. + loCauta = cauta_alfa(pcselect, pcfiltru, pcschema, pcorder, pccoloane, pcTitlu, pcTitluColoane, lcNumeProc, llToateIreg, pcFiltruOriginal) + + Return loCauta +Endfunc +******************************************* SFARSIT: caut_comanda_client ******************************************* +******************************************* INCEPUT:caut_comanda_clienti ******************************************* +* Afisez toate comenzile, indiferent de client +* Este posibil sa fac comanda pe un client si sa fac facturi pe persoana fizica si pe persoana juridica pentru acel client +* Arat comenzile ordonate dupa client si numar comanda +* Este folosita in ROAFACTURARE > frm_date_factura.do_cauta_comanda +Function caut_comanda_clienti + Lparameters tnIdPart + + PRIVATE pnIdPart + pnIdPart = IIF(!EMPTY(NVL(m.tnIdPart,0)), m.tnIdPart, 0) + + Local loCauta + Store "" To loCauta + If !Empty(tnIdPart) + lcFiltruClient = [ and id_part = ] + Alltrim(Str(tnIdPart)) + Else + lcFiltruClient = [] + Endif + pcselect = [select decode(id_part, ?pnIdpart, 1, 2) as ord, id_part, nume, id_comanda, data_comanda, nr_comanda FROM vcomenzi] + pcfiltru = [1=2] + pcschema = [''] + pcorder = [ord, nume,data_comanda,nr_comanda] + pccoloane = [nr_comanda,data_comanda,nume] + pcTitlu = [Alegeti comanda] + pcTitluColoane = [Nr. comanda,Data comanda,Client] + pcFiltruOriginal = [facturat = 0 and interna in (2,5) ] + gcCondSucursala + lcNumeProc = [] + llToateIreg = .F. + loCauta = cauta_alfa(pcselect, pcfiltru, pcschema, pcorder, pccoloane, pcTitlu, pcTitluColoane, lcNumeProc, llToateIreg, pcFiltruOriginal) + + Return loCauta +Endfunc +******************************************* SFARSIT: caut_comanda_clienti ******************************************* +******************************************* INCEPUT:caut_comanda_gestiune ******************************************* +Function caut_comanda_gestiune + Lparameters tnIdGestiune + Local loCauta + Store "" To loCauta + If !Empty(tnIdGestiune) + lcFiltruGestiune = [ and id_gestiune = ] + Alltrim(Str(tnIdGestiune)) + Else + lcFiltruGestiune = [] + Endif + pcselect = [select id_comanda, data_comanda, nr_comanda FROM ] + gcS + [.vcomenzi ] + pcfiltru = [1=2] + pcschema = [''] + pcorder = [data_comanda,nr_comanda] + pccoloane = [nr_comanda,data_comanda] + pcTitlu = [Alegeti comanda] + pcTitluColoane = [Nr. comanda,Data comanda] + pcFiltruOriginal = [facturat = 0 and interna = 3 ] + lcFiltruGestiune + gcCondSucursala + lcNumeProc = [] + llToateIreg = .F. + loCauta = cauta_alfa(pcselect, pcfiltru, pcschema, pcorder, pccoloane, pcTitlu, pcTitluColoane, lcNumeProc, llToateIreg, pcFiltruOriginal) + + Return loCauta +Endfunc +******************************************* SFARSIT: caut_comanda_gestiune ******************************************* +***************************************** INCEPUT:caut_contract_facturare ******************************************* +Function caut_contract_facturare + Lparameters tnIdPart, tcSirTipFacturare + Local loCauta, lcSelect, lcFiltru, lcSchema, lcColoane, lcTitlu, lcTitluColoane, lcFiltruOriginal, lcNumeProg, llToateInreg, lcOrder, lcFiltruSuplimentar, lcPrimaColoana, lnPornire, lnTipReturn, lcIdColumn + Store "" To loCauta + *!* modificare v 2.0.67 : am adaugat tcSirTipFacturare si lcFiltruSuplimentar + If !Empty(tcSirTipFacturare) + lcFiltruSuplimentar = [ and opt_facturare in (] + Alltrim(tcSirTipFacturare) + [)] + Else + lcFiltruSuplimentar = [] + Endif + If !Empty(tnIdPart) + lcFiltruSuplimentar = lcFiltruSuplimentar + [ and id_part = ] + Alltrim(Str(tnIdPart)) + Else + lcFiltruSuplimentar = [] + Endif + lcSelect = [select id_ctr, contract, numar, data, denumire, scadenta_incasare, opt_facturare, text_standard, afisare_scadenta FROM fact_vcontracte ] + lcFiltru = [1=2] + lcSchema = [''] + lcOrder = [data,numar] + lcColoane = [numar,data,denumire] + lcTitlu = [Alegeti contractul (mouse-click pe numar sau apasati SPACE)] + lcTitluColoane = [Numar,Data,Denumire] + lcFiltruOriginal = [2=2] + gcCondSucursala + lcFiltruSuplimentar + lcNumeProc = [contracte] + ';' + IIF(!EMPTY(m.tnIdPart), ALLTRIM(STR(m.tnIdPart)), '0') + ',-1' + llToateInreg = .F. + *!* modificare v 2.0.67 + *!* loCauta = cauta_alfa(pcselect,pcfiltru,pcschema,pcorder,pccoloane,pcTitlu,pcTitluColoane, lcNumeProc, llToateIreg, pcFiltruOriginal) + lcPrimaColoana = [numar] + lnPornire = 1 + lnTipReturn = 1 && 1 = Cursor XML + lcIdColumn = [id_ctr] + loCauta = cauta_alfa(lcSelect, lcFiltru, lcSchema, lcOrder, lcColoane, lcTitlu, lcTitluColoane, lcNumeProc, llToateInreg, lcFiltruOriginal, lcPrimaColoana, lnPornire, lnTipReturn, lcIdColumn) + *!* modificare v 2.0.67 ^ + Release lcSelect, lcFiltru, lcSchema, lcColoane, lcTitlu, lcTitluColoane, lcFiltruOriginal, lcNumeProg, llToateInreg, lcOrder, lcFiltruSuplimentar, lcPrimaColoana, lnPornire, lnTipReturn, lcIdColumn + Return loCauta +Endfunc +***************************************** SFARSIT: caut_contract_facturare ******************************************* +******************************************* INCEPUT: caut_avize ******************************************* +Function caut_avize + Lparameters tnIdPart + Store "" To loCauta + + lcFiltruPart = Iif(Empty(tnIdPart), [], [ and a.id_part = ] + Alltrim(Str(tnIdPart))) + lcFiltru = [1=2] + lcSchema = [serie_act C(50),numar_act N(20),data_act d,dataora t,id_vanzare N(20), id_comanda n(20)] + lcOrder = [dataora] + lcColoane = [serie_act,numar_act,data_act,dataora] + lcTitlu = [Alegeti avizele (mouse-click pe numar sau apasati SPACE)] + lcTitluColoane = [Serie act,Numar act,Data,Data inreg.] + llMultipleArticles = .T. + lcSelect = [select a.serie_act,a.numar_act,a.data_act,a.dataora,a.id_vanzare,] + ; + [(case when a.tip in (21,42) then a.id_comanda else 0 end) as id_comanda from ] + gcS + [.vanzari a ] + lcFiltruOriginal = [a.sters=0 and a.tip in (21,22,26,42) and a.facturat = 0] + Strtran(gcCondSucursala, [id_sucursala], [a.id_sucursala]) + ; + lcFiltruPart + ** 21 - catre clienti din comanda + ** 22 - catre clienti din lista + ** 23 - transfer catre subunitati din lista + ** 24 - aviz de retur + ** 25 - transfer catre subunitati din comanda + ** 26 - catre clienti din contract + ** 27 - transfer catre subunitati pe baza de lucrare + ** 28 - catre clienti debitori din comanda + ** 29 - catre clienti debitori din lista + ** 30 - transfer catre subunitati pe baza de NIR + ** 41 - retur transfer catre subunitati lista pret + ** 42 - catre clienti custodie pe baza de comanda + ** fara 47, deoarece acele avize le descarc prin alta optiune + lcNumeProc = [] + llToateIreg = .F. + lcPrimaColoana = [numar_act] + lnPornire = 1 + lnTipReturn = Iif(llMultipleArticles, 1, 0) + lcIdColumn = "id_vanzare" + loCauta = cauta_alfa(lcSelect, lcFiltru, lcSchema, lcOrder, lcColoane, lcTitlu, lcTitluColoane, lcNumeProc, llToateIreg, lcFiltruOriginal, lcPrimaColoana, lnPornire, lnTipReturn, lcIdColumn) + + Return loCauta +Endfunc && caut_avize +******************************************* SFARSIT: caut_avize ******************************************* +******************************************* INCEPUT: caut_facturi_client ******************************************* +Function caut_facturi_client + Lparameters tnIdPart + Local loCauta + Store "" To loCauta + If !Empty(tnIdPart) + lcFiltruClient = [ and id_part = ] + Alltrim(Str(tnIdPart)) + Else + lcFiltruClient = [] + Endif + pcselect = [select id_fact,dataact,serie_act,nract from ] + gcS + [.ireg_parteneri ] + pcfiltru = [1=2] + pcschema = [''] + pcorder = [dataact,serie_act,nract] + pccoloane = [dataact,serie_act,nract] + pcTitlu = [Alegeti factura] + pcTitluColoane = [Data factura,Serie act,Nr. factura] + pcFiltruOriginal = [an = ?gnAn and luna = ?gnLuna and cont = ?gcCont411 ] + ; + [and valdebit + precvaldeb <> precvalcred + valcredit and id_valuta <> 0 ] + lcFiltruClient + ; + + gcCondSucursala + lcNumeProc = [] + llToateIreg = .F. + loCauta = cauta_alfa(pcselect, pcfiltru, pcschema, pcorder, pccoloane, pcTitlu, pcTitluColoane, lcNumeProc, llToateIreg, pcFiltruOriginal) + + Return loCauta + ******************************************* SFARSIT: caut_facturi_client ******************************************* + *************************************** INCEPUT: caut_facturi_multiple_client *************************************** +Function caut_facturi_multiple_client + Lparameters tnIdPart, tnInValuta, tnIdValuta, tlFacturiMultiple + Local loCauta + Store "" To loCauta + lcFiltruPart = Iif(Empty(tnIdPart), [], [ and id_part = ] + Alltrim(Str(tnIdPart))) + lcFiltruValuta = Iif(Empty(tnInValuta), [ and in_valuta = 0], [ and in_valuta = 1 and id_valuta = ] + Alltrim(Str(tnIdValuta))) + lcFiltru = [1=2] + lcSchema = [serie_act C(50),numar_act N(20),data_act d,dataora t,id_vanzare N(20)] + lcOrder = [dataora] + lcColoane = [serie_act,numar_act,data_act,dataora] + If Empty(tlFacturiMultiple) + lcTitlu = [Alegeti factura] + Else + lcTitlu = [Alegeti facturile (mouse-click pe numar sau apasati SPACE)] + Endif + + lcTitluColoane = [Serie act,Numar act,Data,Data inreg.] + lcSelect = [select serie_act,numar_act,data_act,dataora,id_vanzare ] + ; + [from ] + gcS + [.fact_vfacturi ] + lcFiltruOriginal = [sters=0 and tip in (1,2,3,4,5,6,10,-1,-2,-3,-4,-11) ] + gcCondSucursala + ; + lcFiltruPart + lcFiltruValuta + lcNumeProc = [] + llToateIreg = .F. + lcPrimaColoana = [numar_act] + lnPornire = 1 + lnTipReturn = Iif(tlFacturiMultiple, 1, 0) + lcIdColumn = "id_vanzare" + loCauta = cauta_alfa(lcSelect, lcFiltru, lcSchema, lcOrder, lcColoane, lcTitlu, lcTitluColoane, lcNumeProc, llToateIreg, lcFiltruOriginal, lcPrimaColoana, lnPornire, lnTipReturn, lcIdColumn) + + Return loCauta + *************************************** SFARSIT: caut_facturi_multiple_client *************************************** + + *************************************** INCEPUT: caut_facturi_multiple_client_articol *************************************** +Function caut_facturi_multiple_client_articol + Lparameters tnIdPart, tnInValuta, tnIdValuta, tlFacturiMultiple, tnIdArticol + Local loCauta + loCauta = "" + PRIVATE pnIdArticol, pnIdPart, pnIdValuta + pnIdArticol = tnIdArticol + pnIdPart = tnIdPart + pnIdValuta = tnIdValuta + + lcFiltruPart = Iif(Empty(tnIdPart), [], [ and a.id_part = ?pnIdPart]) + lcFiltruValuta = Iif(Empty(tnInValuta), [ and a.in_valuta = 0], [ and a.in_valuta = 1 and b.id_valuta = ?pnIdValuta]) + lcFiltru = [1=2] + lcSchema = [serie_act C(50),numar_act N(20),data_act d,dataora t,id_vanzare N(20)] + lcOrder = [a.data_act desc, a.numar_act desc, a.dataora desc] + lcColoane = [serie_act,numar_act,data_act,dataora] + If Empty(tlFacturiMultiple) + lcTitlu = [Alegeti factura] + Else + lcTitlu = [Alegeti facturile (mouse-click pe numar sau apasati SPACE)] + Endif + + lcTitluColoane = [Serie act,Numar act,Data,Data inreg.] + lcSelect = [select a.serie_act,a.numar_act,a.data_act,a.dataora,a.id_vanzare ] + ; + [from vanzari a join vanzari_detalii b on a.id_vanzare = b.id_vanzare and b.id_articol = ?pnIdArticol ] + + lcFiltruOriginal = [a.sters=0 and a.tip in (1,2,3,4,5,6,10,-1,-2,-3,-4,-11) ] + gcCondSucursala + ; + lcFiltruPart + lcFiltruValuta + lcNumeProc = [] + llToateIreg = .F. + lcPrimaColoana = [numar_act] + lnPornire = 1 + lnTipReturn = Iif(tlFacturiMultiple, 1, 0) + lcIdColumn = "id_vanzare" + loCauta = cauta_alfa(lcSelect, lcFiltru, lcSchema, lcOrder, lcColoane, lcTitlu, lcTitluColoane, lcNumeProc, llToateIreg, lcFiltruOriginal, lcPrimaColoana, lnPornire, lnTipReturn, lcIdColumn) + + Return loCauta + *************************************** SFARSIT: caut_facturi_multiple_client *************************************** + + + ******************************************* INCEPUT: caut_gestiune_sursa ******************************************* +Function caut_gestiune_sursa + Lparameters tcListaTipGest + Store "" To loCauta + pcFiltruOriginal = [a.id_util = ?gnIdUtil and a.sters = 0 and b.sters = 0 and c.sters = 0] + If !Empty(tcListaTipGest) + pcFiltruOriginal = pcFiltruOriginal + [ and c.nr_pag in (] + Alltrim(tcListaTipGest) + [)] + Endif + pcselect = [select distinct c.nume_gestiune, b.id_gestiune, c.cont, c.acont ] + ; + [from ] + gcS + [.gest_coresp_util_grupe a ] + ; + [left join ] + gcS + [.gest_coresp_grupe_gestiuni b on a.id_grupe = b.id_grupe ] + ; + [left join ] + gcS + [.nom_gestiuni c on b.id_gestiune = c.id_gestiune ] + pcfiltru = [1=2] + pcschema = [] + pcorder = [nume_gestiune,cont,acont] + pccoloane = [nume_gestiune,cont,acont] + pcTitlu = [Alegeti gestiunea] + pcTitluColoane = [Gestiune,Cont,Acont] + lcNumeProc = [] + llToateIreg = .F. + loCauta = cauta_alfa(pcselect, pcfiltru, pcschema, pcorder, pccoloane, pcTitlu, pcTitluColoane, lcNumeProc, llToateIreg, pcFiltruOriginal) + + Return loCauta +Endfunc +******************************************* SFARSIT: caut_gestiune_sursa ******************************************* +**************************************** INCEPUT: caut_utilizator_facturare **************************************** +Function caut_utilizator_facturare + Store "" To loCauta + pcFiltruOriginal = [a.id_util in (select distinct id_util from ] + gcS + [.vanzari where sters = 0] + ; + gcCondSucursala + [)] + pcselect = [select a.id_util,a.utilizator from syn_vutilizatori a ] + pcfiltru = [1=2] + pcschema = [] + pcorder = [utilizator] + pccoloane = [utilizator] + pcTitlu = [Alegeti utilizatorul] + pcTitluColoane = [Utilizator] + lcNumeProc = [] + llToateIreg = .F. + loCauta = cauta_alfa(pcselect, pcfiltru, pcschema, pcorder, pccoloane, pcTitlu, pcTitluColoane, lcNumeProc, llToateIreg, pcFiltruOriginal) + + Return loCauta +Endfunc +**************************************** SFARSIT: caut_utilizator_facturare **************************************** +*!* ******************************************* INCEPUT: caut_gestiune_dest ******************************************* +*!* Function caut_gestiune_dest +*!* Lparameters tnIdGestiune +*!* Store "" To loCauta +*!* pcFiltruOriginal = [a.id_util=?gnIdUtil and a.sters=0 and b.sters=0 and c.sters=0 and c.nr_pag in (4,5,6)] +*!* If !Empty(tnIdGestiune) +*!* pcFiltruOriginal = pcFiltruOriginal + [ and b.id_gestiune!=] + Alltrim(Str(tnIdGestiune)) +*!* Endif + +*!* pcselect = [select distinct c.nume_gestiune,b.id_gestiune,d.id_tipgest,] + ; +*!* [(case when p.explicatie is null then s.explicatie else p.explicatie end) as explicatie,] + ; +*!* [d.cont,p.acont ] + ; +*!* [from ] + gcS + [.gest_coresp_util_grupe a ] + ; +*!* [left join ] + gcS + [.gest_coresp_grupe_gestiuni b on a.id_grupe=b.id_grupe ] + ; +*!* [left join ] + gcS + [.nom_gestiuni c on b.id_gestiune=c.id_gestiune ] + ; +*!* [left join ] + gcS + [.coresp_cont_tipgest d on c.nr_pag=d.id_tipgest ] + ; +*!* [left join ] + gcS + [.vplcont_analitic p on d.cont=p.cont and p.an=?gnAn ] + ; +*!* [left join ] + gcS + [.vplcont_sintetic s on d.cont=s.cont and s.an=?gnAn ] +*!* pcfiltru = [1=2] +*!* pcschema = [] +*!* pcorder = [nume_gestiune,cont,acont] +*!* pccoloane = [nume_gestiune,cont,acont,explicatie] +*!* pcTitlu = [Alegeti gestiunea si contul de transfer] +*!* pcTitluColoane = [Gestiune,Cont,Analitic,Explicatie] +*!* lcNumeProc = [] +*!* llToateIreg = .F. +*!* loCauta = cauta_alfa(pcselect,pcfiltru,pcschema,pcorder,pccoloane,pcTitlu,pcTitluColoane, lcNumeProc, llToateIreg, pcFiltruOriginal) + +*!* Return loCauta +*!* Endfunc +*!* ******************************************* SFARSIT: caut_gestiune_dest ******************************************* +*!* ******************************************* INCEPUT: caut_politici_curente_util ******************************************* +*!* Procedure caut_politici_curente_util +*!* Local loCauta,llReturn +*!* Store "" To loCauta +*!* Store .F. To llReturn +*!* lcSelect = ["select id_pol,nume,datai,datas from ] + gcS + [.fact_vpolitici_pret_curente"] +*!* lcFiltru = [1=2] +*!* lcSchema = [''] +*!* lcorder = [2] +*!* lccoloane = [nume,datai,datas] +*!* lcTitlu = [Alegeti politica de preturi] +*!* lcTitluColoane = [Nume,Data inceput,Data sfarsit] +*!* lcNumeProc = [] +*!* llToateIreg = .F. +*!* lcFiltruOriginal = [id_util = ] + Alltrim(Str(gnIdUtil)) +*!* loCauta = cauta_alfa(lcSelect, lcFiltru, lcSchema, lcorder, lccoloane, lcTitlu, lcTitluColoane, lcNumeProc, llToateIreg, lcFiltruOriginal) +*!* Return loCauta +*!* Endproc && caut_politici_curente_util +*!* ******************************************* SFARSIT: caut_politici_curente_util ******************************************* +******************************************* INCEPUT: calculeaza_totaluri ******************************************* +Function calculeaza_totaluri + Lparameters toArticol + *!* v 2.0.15 calcul valoare tva din valoare cu tva daca preturi_cu_tva = 1 + Local lnProcTvav_19_119 + lnProcTvav_19_119 = (toArticol.proc_tvav - 1) / toArticol.proc_tvav + *!* v 2.0.15 ^ + If Type('toArticol.cu_tva') <> 'U' + AddProperty(toArticol, 'preturi_cu_tva', toArticol.cu_tva) + AddProperty(toArticol, 'discount_unitar', toArticol.discountftva) + AddProperty(toArticol, 'discount_unitar_ctva', toArticol.discountctva) + AddProperty(toArticol, 'pretftva_val', toArticol.vpretftva) + AddProperty(toArticol, 'pretctva_val', toArticol.vpretctva) + AddProperty(toArticol, 'discount_unitar_val', toArticol.vdiscountftva) + AddProperty(toArticol, 'discount_unitar_ctva_val', toArticol.vdiscountctva) + Endif + + If toArticol.preturi_cu_tva = 0 + toArticol.vvalftva = Round(toArticol.Pretftva_val * toArticol.cantitate, gnPVal) + toArticol.vvaltva = Round(Round(toArticol.Pretftva_val * toArticol.cantitate, gnPVal) * (toArticol.proc_tvav - 1), gnPVal) + toArticol.vvalctva = toArticol.vvalftva + toArticol.vvaltva + + toArticol.vvaldiminuatftva = Round((toArticol.Pretftva_val - toArticol.discount_unitar_val) * toArticol.cantitate, gnPVal) + toArticol.vvaldiminuattva = Round(Round((toArticol.Pretftva_val - toArticol.discount_unitar_val) * toArticol.cantitate, gnPVal) * (toArticol.proc_tvav - 1), gnPVal) + toArticol.vvaldiminuatctva = toArticol.vvaldiminuatftva + toArticol.vvaldiminuattva + + toArticol.vvaldiscountftva = Round(toArticol.discount_unitar_val * toArticol.cantitate, gnPVal) + toArticol.vvaldiscounttva = Round(Round(toArticol.discount_unitar_val * toArticol.cantitate, gnPVal) * (toArticol.proc_tvav - 1), gnPVal) + toArticol.vvaldiscountctva = toArticol.vvaldiscountftva + toArticol.vvaldiscounttva + + If poDate.in_valuta = 0 + toArticol.valftva = Round(toArticol.Pretftva * toArticol.cantitate, gnPc) + toArticol.valtva = Round(Round(toArticol.Pretftva * toArticol.cantitate, gnPc) * (toArticol.proc_tvav - 1), gnPc) + toArticol.valctva = toArticol.valftva + toArticol.valtva + + toArticol.valdiscountftva = Round(toArticol.discount_unitar * toArticol.cantitate, gnPc) + toArticol.valdiscounttva = Round(Round(toArticol.discount_unitar * toArticol.cantitate, gnPc) * (toArticol.proc_tvav - 1), gnPc) + toArticol.valdiscountctva = toArticol.valdiscountftva + toArticol.valdiscounttva + + toArticol.valdiminuatftva = Round((toArticol.Pretftva - toArticol.discount_unitar) * toArticol.cantitate, gnPc) + toArticol.valdiminuattva = Round(Round((toArticol.Pretftva - toArticol.discount_unitar) * toArticol.cantitate, gnPc) * (toArticol.proc_tvav - 1), gnPc) + toArticol.valdiminuatctva = toArticol.valdiminuatftva + toArticol.valdiminuattva + + Else + toArticol.valftva = Round(Round(toArticol.Pretftva_val * toArticol.Curs / toArticol.multiplicator, gnPPretV) * toArticol.cantitate, gnPc) + toArticol.valtva = Round(Round(Round(toArticol.Pretftva_val * toArticol.Curs / toArticol.multiplicator, gnPPretV) * toArticol.cantitate, gnPc) * (toArticol.proc_tvav - 1), gnPc) + toArticol.valctva = toArticol.valftva + toArticol.valtva + + toArticol.valdiscountftva = Round(Round(toArticol.discount_unitar_val * toArticol.Curs / toArticol.multiplicator, gnPPretV) * toArticol.cantitate, gnPc) + toArticol.valdiscounttva = Round(Round(Round(toArticol.discount_unitar_val * toArticol.Curs / toArticol.multiplicator, gnPPretV) * toArticol.cantitate, gnPc) * (toArticol.proc_tvav - 1), gnPc) + toArticol.valdiscountctva = toArticol.valdiscountftva + toArticol.valdiscounttva + + toArticol.valdiminuatftva = Round((Round(toArticol.Pretftva_val * toArticol.Curs / toArticol.multiplicator, gnPPretV) - Round(toArticol.discount_unitar_val * toArticol.Curs / toArticol.multiplicator, gnPPretV)) * toArticol.cantitate, gnPc) + toArticol.valdiminuattva = Round(Round((Round(toArticol.Pretftva_val * toArticol.Curs / toArticol.multiplicator, gnPPretV) - Round(toArticol.discount_unitar_val * toArticol.Curs / toArticol.multiplicator, gnPPretV)) * toArticol.cantitate, gnPc) * (toArticol.proc_tvav - 1), gnPc) + toArticol.valdiminuatctva = toArticol.valdiminuatftva + toArticol.valdiminuattva + Endif + + Else + *!* v 2.0.15 calcul valoare tva din valoare cu tva daca preturi_cu_tva = 1 + toArticol.vvalctva = Round(toArticol.Pretctva_val * toArticol.cantitate, gnPVal) + *!* toArticol.vvalftva = Round(toArticol.Pretftva_val * toArticol.cantitate, gnPVal) + *!* toArticol.vvaltva = toArticol.vvalctva - toArticol.vvalftva + toArticol.vvaltva = Round(toArticol.vvalctva * m.lnProcTvav_19_119, gnPVal) + toArticol.vvalftva = toArticol.vvalctva - toArticol.vvaltva + + toArticol.vvaldiscountctva = Round(toArticol.discount_unitar_ctva_val * toArticol.cantitate, gnPVal) + *!* toArticol.vvaldiscountftva = Round(toArticol.discount_unitar_val * toArticol.cantitate, gnPVal) + *!* toArticol.vvaldiscounttva = toArticol.vvaldiscountctva - toArticol.vvaldiscountftva + toArticol.vvaldiscounttva = Round(toArticol.vvaldiscountctva * m.lnProcTvav_19_119, gnPVal) + toArticol.vvaldiscountftva = toArticol.vvaldiscountctva - toArticol.vvaldiscounttva + + + toArticol.vvaldiminuatctva = Round((toArticol.Pretctva_val - toArticol.discount_unitar_ctva_val) * toArticol.cantitate, gnPVal) + *!* toArticol.vvaldiminuatftva = Round(Round((toArticol.Pretctva_val - toArticol.discount_unitar_ctva) / toArticol.proc_tvav, gnPVal) * toArticol.cantitate, gnPVal) + *!* toArticol.vvaldiminuattva = toArticol.vvaldiminuatctva - toArticol.vvaldiminuatftva + toArticol.vvaldiminuattva = Round(toArticol.vvaldiminuatctva * m.lnProcTvav_19_119, gnPVal) + toArticol.vvaldiminuatftva = toArticol.vvaldiminuatctva - toArticol.vvaldiminuattva + + If poDate.in_valuta = 0 + toArticol.valctva = Round(toArticol.Pretctva * toArticol.cantitate, gnPc) + *!* toArticol.valftva = Round(toArticol.Pretftva * toArticol.cantitate,gnPc) + *!* toArticol.valtva = toArticol.valctva - toArticol.valftva + toArticol.valtva = Round(toArticol.valctva * m.lnProcTvav_19_119, gnPc) + toArticol.valftva = toArticol.valctva - toArticol.valtva + + toArticol.valdiscountctva = Round(toArticol.discount_unitar_ctva * toArticol.cantitate, gnPc) + *!* toArticol.valdiscountftva = Round(toArticol.discount_unitar * toArticol.cantitate,gnPc) + *!* toArticol.valdiscounttva = toArticol.valdiscountctva - toArticol.valdiscountftva + toArticol.valdiscounttva = Round(toArticol.valdiscountctva * m.lnProcTvav_19_119, gnPc) + toArticol.valdiscountftva = toArticol.valdiscountctva - toArticol.valdiscounttva + + toArticol.valdiminuatctva = Round((toArticol.Pretctva - toArticol.discount_unitar_ctva) * toArticol.cantitate, gnPc) + *!* toArticol.valdiminuatftva = Round(Round((toArticol.Pretctva - toArticol.discount_unitar_ctva) / toArticol.proc_tvav,gnPc) * toArticol.cantitate, gnPc) + *!* toArticol.valdiminuattva = toArticol.valdiminuatctva - toArticol.valdiminuatftva + toArticol.valdiminuattva = Round(toArticol.valdiminuatctva * m.lnProcTvav_19_119, gnPc) + toArticol.valdiminuatftva = toArticol.valdiminuatctva - toArticol.valdiminuattva + Else + toArticol.valctva = Round(Round(toArticol.Pretctva_val * toArticol.Curs / toArticol.multiplicator, gnPPretV) * toArticol.cantitate, gnPc) + *!* toArticol.valftva = Round(Round(toArticol.Pretftva_val * toArticol.Curs,gnPc) * toArticol.cantitate,gnPc) + *!* toArticol.valtva = toArticol.valctva - toArticol.valftva + toArticol.valtva = Round(toArticol.valctva * m.lnProcTvav_19_119, gnPc) + toArticol.valftva = toArticol.valctva - toArticol.valtva + + toArticol.valdiscountctva = Round(Round(toArticol.discount_unitar_ctva_val * toArticol.Curs / toArticol.multiplicator, gnPPretV) * toArticol.cantitate, gnPc) + *!* toArticol.valdiscountftva = Round(Round(toArticol.discount_unitar_val * toArticol.Curs,gnPc) * toArticol.cantitate,gnPc) + *!* toArticol.valdiscounttva = toArticol.valdiscountctva - toArticol.valdiscountftva + toArticol.valdiscounttva = Round(toArticol.valdiscountctva * m.lnProcTvav_19_119, gnPc) + toArticol.valdiscountftva = toArticol.valdiscountctva - toArticol.valdiscounttva + + toArticol.valdiminuatctva = Round((Round(toArticol.Pretctva_val * toArticol.Curs / toArticol.multiplicator, gnPPretV) - Round(toArticol.discount_unitar_ctva_val * toArticol.Curs / toArticol.multiplicator, gnPPretV)) * toArticol.cantitate, gnPc) + *!* toArticol.valdiminuatftva = Round(Round((Round(toArticol.Pretctva_val*toArticol.Curs,gnPc) - ROUND(toArticol.discount_unitar_ctva_val*toArticol.Curs,gnPc)) / toArticol.proc_tvav,gnPc) * toArticol.cantitate, gnPc) + *!* toArticol.valdiminuattva = toArticol.valdiminuatctva - toArticol.valdiminuatftva + toArticol.valdiminuattva = Round(toArticol.valdiminuatctva * m.lnProcTvav_19_119, gnPc) + toArticol.valdiminuatftva = toArticol.valdiminuatctva - toArticol.valdiminuattva + Endif + *!* v 2.0.15 ^ + Endif + + If Type('toArticol.cu_tva') <> 'U' + toArticol.cu_tva = toArticol.preturi_cu_tva + Removeproperty(toArticol, 'preturi_cu_tva') + toArticol.discountftva = toArticol.discount_unitar + Removeproperty(toArticol, 'discount_unitar') + toArticol.discountctva = toArticol.discount_unitar_ctva + Removeproperty(toArticol, 'discount_unitar_ctva') + toArticol.vpretftva = toArticol.Pretftva_val + Removeproperty(toArticol, 'pretftva_val') + toArticol.vpretctva = toArticol.Pretctva_val + Removeproperty(toArticol, 'pretctva_val') + toArticol.vdiscountftva = toArticol.discount_unitar_val + Removeproperty(toArticol, 'discount_unitar_val') + toArticol.vdiscountctva = toArticol.discount_unitar_ctva_val + Removeproperty(toArticol, 'discount_unitar_ctva_val') + Endif + Release lnProcTvav_19_119 + Return toArticol +Endfunc +******************************************* SFARSIT: calculeaza_totaluri ******************************************* \ No newline at end of file diff --git a/programe/oproceduri_flux.prg b/programe/oproceduri_flux.prg new file mode 100644 index 0000000..ed7ddcf --- /dev/null +++ b/programe/oproceduri_flux.prg @@ -0,0 +1,633 @@ +*!* 12.04.2011 +*!* marius.mtuu +*!* viz_flux +*!* salvez si refolosesc lista id act incasari/plati tip compensari de care trebuie sa se tina cont la flux + +*!* lcComentariu = FormulaFlux2Comentariu([substr(scd,1,3) in ('758','759', '760')],'D',1,"",0,"") +*!* MessageBox(lcComentariu) + +*!* 24.06.2011 +*!* marius.mutu +*!* viz_flux - se creeaza si coloanele defalcate pe luni pentru perioada precedenta +*!* dadea eroare cand se calcula defalcat pe luni + perioada precedenta + +PROCEDURE viz_flux + PARAMETERS tnLunaI, tnAnulI, tnLunaF, tnAnulF, tnModel, tlCompensari, tlPrecedent, tlDefalcat + && tnModel 1 = FORMULE FLUX MAI VECHI; 2 = FORMULE FLUX CONTAFIN CONPRESS + && tlCompensari daca se afiseaza compensarile din registrul jurnal pentru luarea in considerare in calcul + && tlDefalcat 1 = daca se creeaza cate o coloana pentru fiecare luna sau se cumuleaza lunile intr-o singura coloana + IF EMPTY(tnModel) + tnModel = 2 + ENDIF + LOCAL i, j, lcPrecedent, lcCurent + + PRIVATE pnLuna, pnAnul, pnLI, pnAI, pnLF, pnAF, pnSI, pnSF, pnModel, pnNuCalculeazaTotaluri, pcIdsAct + STORE 0 TO pnLuna, pnAnul, pnLI, pnAI, pnLF, pnAF, pnSI, pnSF + + LOCAL lcMesaje, lnDifSoldFPrecedent, lnDifSoldFCurent + lcMesaje = "" + lnDifSoldFPrecedent = 0 + lnDifSoldFCurent = 0 + + pnModel = tnModel + pnNuCalculeazaTotaluri = 0 + pcIdsAct = '' + llDefalcat = IIF(PCOUNT() = 8, tlDefalcat, .F.) + llPrecedent = tlPrecedent AND !m.llDefalcat && daca se defalca pe luni, nu mai am perioada precedenta, doar curenta + + IF !initializeaza_sucursala() && oinit_optiuni.prg + RETURN + ENDIF + + lcPrecedent = [] + lcCurent = PADL(INT(tnLunaI), 2, '0') + '/' + PADL(INT(tnAnulI), 4, '0') + ' - ' + PADL(INT(tnLunaF), 2, '0') + '/' + PADL(INT(tnAnulF), 4, '0') && pentru listare - precedent + + lnParcurgeri = 1 + IF m.llPrecedent + lnParcurgeri = 2 + lcPrecedent = PADL(INT(tnLunaI), 2, '0') + '/' + PADL(INT(tnAnulI) - 1, 4, '0') + ' - ' + PADL(INT(tnLunaF), 2, '0') + '/' + PADL(INT(tnAnulF) - 1, 4, '0') && pentru listare - precedent + ENDIF + + *!* 03.05.2011 + lcCursorFlux = [Select Rand, denumire, Cast(0 As N(14,2)) As precedent, Cast(0 As N(14,2)) As curent, ] + ; + [suma, formula, Total, tip, si, sf ] + + + FOR iLunaFlux = tnAnulI * 12 + tnLunaI TO tnAnulF * 12 + tnLunaF + lnLunaFlux = INT(MOD(m.iLunaFlux, 12)) + lnAnFlux = INT(FLOOR(iLunaFlux / 12)) + + IF m.lnLunaFlux = 0 + m.lnLunaFlux = 12 + m.lnAnFlux = m.lnAnFlux - 1 + ENDIF + + lcCursorFlux = m.lcCursorFlux + [, CAST(0 as N(14,2)) as l] + PADL(m.lnLunaFlux, 2, "0") + [_] + ALLTRIM(STR(m.lnAnFlux)) + *!* 24.06.2011 + IF m.llPrecedent + lnLunaFluxPrec = lnLunaFlux + lnAnFluxPrec = lnAnFlux - 1 + lcCursorFlux = m.lcCursorFlux + [, CAST(0 as N(14,2)) as l] + PADL(m.lnLunaFluxPrec, 2, "0") + [_] + ALLTRIM(STR(m.lnAnFluxPrec)) + ENDIF + *!* 24.06.2011 ^ + ENDFOR + lcCursorFlux = m.lcCursorFlux + [ From cIntermediar Into Cursor cFlux Readwrite] + *!* 03.05.2011 ^ + FOR j = 1 TO lnParcurgeri && 1 = precedent/curent 2 = curent/nimic + lnAnulI = tnAnulI + lnLunaI = tnLunaI + lnAnulF = tnAnulF + lnLunaF = tnLunaF + + IF j = 1 AND m.llPrecedent + lnAnulI = (lnAnulI - 1) + lnAnulF = (lnAnulF - 1) + ENDIF + + + pnLI = lnLunaI + pnAI = lnAnulI + pnLF = lnLunaF + pnAF = lnAnulF + pnSI = 0 + pnSF = 0 + + FOR i = lnAnulI * 12 + lnLunaI TO lnAnulF * 12 + lnLunaF + pnLuna = INT(MOD(i, 12)) + pnAnul = INT(FLOOR(i / 12)) + + IF pnLuna = 0 + pnLuna = 12 + pnAnul = pnAnul - 1 + ENDIF + *!* 03.05.2011 + lcColoanaLuna = "l" + PADL(m.pnLuna, 2, "0") + [_] + ALLTRIM(STR(m.pnAnul)) + *!* 03.05.2011 ^ + WAIT WINDOW 'Luna ' + PADL(ALLTRIM(STR(pnLuna)), 2, '0') + ' ' + ALLTRIM(STR(pnAnul)) NOWAIT + pcIdsAct = '' + *!* 12.04.2011 + lnSucces = goExecutor.oFunction2Value([pack_mg_flux.GetIdsActCompensari(] + ALLTRIM(STR(pnLuna)) + [, ] + ALLTRIM(STR(pnAnul)) + [)], @pcIdsAct) + IF lnSucces < 0 + AMESSAGEBOX(goExecutor.cEroare, 0 + 16, "Eroare") + RETURN + ELSE + pcIdsAct = NVL(pcIdsAct, '') + ENDIF + *!* 12.04.2011 ^ + + IF tlCompensari + lcSql = [{call PACK_MG_FLUX.GetCompensari(] + ALLTRIM(STR(pnLuna)) + [, ] + ALLTRIM(STR(pnAnul)) + [)}] + lnSucces = goExecutor.oExecute(lcSql, 'crsCompensariTemp') + IF lnSucces < 0 + AMESSAGEBOX(goExecutor.cEroare, 0 + 16, "Eroare") + RETURN + ELSE + IF RECCOUNT('crsCompensariTemp') > 0 + *!* 12.04.2011 + SELECT *, ALLTRIM(STR(id_act)) + ',' $ pcIdsAct + ',' AS ales FROM crsCompensariTemp INTO CURSOR crsCompensari READWRITE + *!* 12.04.2011 ^ + loFrmCompensari = CREATEOBJECT("frm_compensari") + loFrmCompensari.lb_titlu_alb_b121.CAPTION = 'Compensari ' + PADL(ALLTRIM(STR(pnLuna)), 2, '0') + ' ' + ALLTRIM(STR(pnAnul)) + loFrmCompensari.SHOW(1) + + pcIdsAct = '' + SELECT crsCompensari + SET FILTER TO + SCAN FOR ales + pcIdsAct = pcIdsAct + ',' + ALLTRIM(STR(id_act)) + ENDSCAN + IF !EMPTY(pcIdsAct) + pcIdsAct = SUBSTR(pcIdsAct, 2) + ENDIF + ENDIF + + USE IN (SELECT('crsCompensariTemp')) + USE IN (SELECT('crsCompensari')) + ENDIF + ENDIF && tlCompensari + + lcSql = [begin PACK_MG_FLUX.calc_flux(] + ALLTRIM(STR(pnLuna)) + [, ] + ALLTRIM(STR(pnAnul)) + [, ] + ALLTRIM(STR(pnNuCalculeazaTotaluri)) + [, ] + ALLTRIM(STR(pnModel)) + [, '] + ALLTRIM(pcIdsAct) + ['); end;] + lnSucces = goExecutor.oExecute(lcSql) + + IF lnSucces < 0 + AMESSAGEBOX(goExecutor.cEroare, 0 + 16, "Eroare") + RETURN + ENDIF + + + + * Set Textmerge On To Memvar lcMesaje Noshow + + lcSql = [select * from mg_flux_trezorerie where rand = 0 ] + lcCursor = 'cNerepartizate' + lnSucces = goExecutor.oExecute(lcSql, lcCursor) + IF lnSucces < 0 + AMESSAGEBOX(goExecutor.cEroare, 0 + 16, "Eroare") + ENDIF + + SELECT COUNT(*) AS CNT FROM cNerepartizate INTO CURSOR cNr + SELECT cNr + lnNr = CNT + + IF USED('cNr') + USE IN cNr + ENDIF + + SET TEXTMERGE ON TO MEMVAR lcMesaje ADDITIVE NOSHOW + + + IF lnNr > 0 + \*** Luna <>/<>, urmatoarele inregistrari nu au fost repartizate: <> + \ nract debit=credit suma + SELECT cNerepartizate + SCAN + \ <> <>=<> <> <> + SELECT cNerepartizate + ENDSCAN + \<> + ENDIF + USE IN cNerepartizate + + SET TEXTMERGE TO + ***-------------------- + + + lcSql = [select * FROM mg_flux order by rand] + lcCursor = 'cIntermediar' + lnSucces = goExecutor.oExecute(lcSql, lcCursor) + IF lnSucces < 0 + AMESSAGEBOX(goExecutor.cEroare, 0 + 16, "Eroare") + LOOP + ENDIF + + IF (i = lnAnulI * 12 + lnLunaI) AND (j = 1) && in prima luna creez cursorul cFLux + &lcCursorFlux + + + && completez sumele pe coloana precedent/curent cumulat + IF j = 1 AND m.llPrecedent + REPLACE ALL precedent WITH suma IN cFlux + ELSE + REPLACE ALL curent WITH suma IN cFlux + ENDIF + + && completez sumele defalcat pentru luna curenta + REPLACE ALL &lcColoanaLuna WITH suma IN cFlux + ELSE + && scanez si insumez + lnsuma = 0 + SELECT cFlux + SCAN + lcRand = RAND + SELECT cIntermediar + LOCATE FOR RAND = lcRand + IF FOUND() + lnsuma = suma + SELECT cFlux + IF j = 1 AND m.llPrecedent + REPLACE precedent WITH precedent + m.lnsuma + ELSE + REPLACE curent WITH curent + m.lnsuma + ENDIF + *!* 03.05.2011 + REPLACE &lcColoanaLuna WITH m.lnsuma + *!* 03.05.2011 ^ + ENDIF + SELECT cFlux + ENDSCAN + ENDIF && (i = lnAnulI*12 + lnLunaI) And (j = 1) && in prima luna creez cursorul cFLux + + USE IN (SELECT('cIntermediar')) + + *** solduri initiale, finale luna curenta + pnSI = 0 + pnSF = 0 + lcSql = [begin PACK_MG_FLUX.get_SI_balanta(?pnLuna, ?pnAnul, ?@pnSI); end;] + lnSucces = goExecutor.oExecute(lcSql) + + IF lnSucces < 0 + AMESSAGEBOX(goExecutor.cEroare, 0 + 16, "Eroare") + RETURN + ENDIF + + lcSql = [begin PACK_MG_FLUX.get_SF_balanta(?pnLuna, ?pnAnul, ?@pnSF); end;] + lnSucces = goExecutor.oExecute(lcSql) + + IF lnSucces < 0 + AMESSAGEBOX(goExecutor.cEroare, 0 + 16, "Eroare") + RETURN + ENDIF + + lnDifSoldF = 0 + + SELECT cFlux + REPLACE &lcColoanaLuna WITH pnSI FOR si = 1 + IF pnNuCalculeazaTotaluri = 0 && daca se calculeaza totalurile in baza de date compar soldul final calculat cu cel din balanta + LOCATE FOR sf = 1 + IF FOUND() + IF &lcColoanaLuna <> m.pnSF + lnDifSoldF = m.pnSF - (&lcColoanaLuna + m.pnSI) && soldul initial nu era inclus in randul calculat + ENDIF + ENDIF + ENDIF + REPLACE &lcColoanaLuna WITH m.pnSF FOR sf = 1 + + *!* Set Textmerge On To Memvar lcMesaje Additive Noshow + IF lnDifSoldF <> 0 + lcMesaje = lcMesaje + CHR(13) + CHR(10) + STRTRAN(SUBSTR(lcColoanaLuna, 2), "_", " ") + ' DIFERENTA INTRE SOLD FINAL TREZORERIE CALCULAT SI SOLD FINAL DIN BALANTA DE VERIFICARE: ' + ALLTRIM(TRANSFORM(lnDifSoldF, '999 999 999 999.99')) + ENDIF + *** solduri initiale, finale luna curenta ^ + ENDFOR && i = lnAnulI*12 + lnLunaI To lnAnulF*12 + lnLunaF + + *** solduri initiale, finale cumulat precedent/curent + lcSql = [begin PACK_MG_FLUX.get_SI_balanta(?pnLI, ?pnAI, ?@pnSI); end;] + lnSucces = goExecutor.oExecute(lcSql) + + IF lnSucces < 0 + AMESSAGEBOX(goExecutor.cEroare, 0 + 16, "Eroare") + RETURN + ENDIF + + lcSql = [begin PACK_MG_FLUX.get_SF_balanta(?pnLF, ?pnAF, ?@pnSF); end;] + lnSucces = goExecutor.oExecute(lcSql) + + IF lnSucces < 0 + AMESSAGEBOX(goExecutor.cEroare, 0 + 16, "Eroare") + RETURN + ENDIF + + lcDifSoldFPrecedent = 0 + lcDifSoldFCurent = 0 + + SELECT cFlux + IF j = 1 AND m.llPrecedent + REPLACE precedent WITH pnSI FOR si = 1 + IF pnNuCalculeazaTotaluri = 0 && daca se calculeaza totalurile in baza de date compar soldul final calculat cu cel din balanta + LOCATE FOR sf = 1 + IF FOUND() + IF precedent <> pnSF + lnDifSoldFPrecedent = pnSF - (precedent + pnSI) + ENDIF + ENDIF + ENDIF + REPLACE precedent WITH pnSF FOR sf = 1 + ELSE + REPLACE curent WITH pnSI FOR si = 1 + IF pnNuCalculeazaTotaluri = 0 && daca se calculeaza totalurile in baza de date compar soldul final calculat cu cel din balanta + LOCATE FOR sf = 1 + IF FOUND() + IF curent <> pnSF + lnDifSoldFCurent = pnSF - (curent + pnSI) && soldul initial nu era inclus in randul calculat + ENDIF + ENDIF + ENDIF + REPLACE curent WITH pnSF FOR sf = 1 + ENDIF + *!* Set Textmerge On To Memvar lcMesaje Additive Noshow + IF lnDifSoldFPrecedent <> 0 + lcMesaje = lcMesaje + CHR(13) + CHR(10) + 'DIFERENTA INTRE SOLD FINAL TREZORERIE CALCULAT SI SOLD FINAL DIN BALANTA DE VERIFICARE: ' + ALLTRIM(TRANSFORM(lnDifSoldFPrecedent, '999 999 999 999.99')) + ENDIF + IF lnDifSoldFCurent <> 0 + lcMesaje = lcMesaje + CHR(13) + CHR(10) + 'DIFERENTA INTRE SOLD FINAL TREZORERIE CALCULAT SI SOLD FINAL DIN BALANTA DE VERIFICARE: ' + ALLTRIM(TRANSFORM(lnDifSoldFCurent, '999 999 999 999.99')) + ENDIF + *** solduri initiale, finale cumulat precedent/curent ^ + ENDFOR && j + + lcFisier = gcTempPath + "mesaje.txt" + STRTOFILE(lcMesaje, lcFisier) + + IF !EMPTY(lcMesaje) + MODIFY FILE (lcFisier) + ENDIF + ***------------------------------------------------ + + SELECT cFlux + GO TOP + + SELECT cFlux + lovf = CREATEOBJECT('frm_flux', m.llPrecedent, lcPrecedent, lcCurent) + lovf.ADDPROPERTY("lDefalcat", tlDefalcat) + *!* 03.05.2011 + *** adaug coloane in grid pentru luni defalcat + IF m.llDefalcat + lnColumnOffset = lovf._grdrow1.COLUMNCOUNT + lovf._grdrow1.COLUMNCOUNT = m.lnColumnOffset + (tnAnulF * 12 + tnLunaF) - (tnAnulI * 12 + tnLunaI) + 1 + i = 0 + FOR iLunaFlux = tnAnulI * 12 + tnLunaI TO tnAnulF * 12 + tnLunaF + lnLunaFlux = INT(MOD(m.iLunaFlux, 12)) + lnAnFlux = INT(FLOOR(iLunaFlux / 12)) + i = i + 1 + IF m.lnLunaFlux = 0 + m.lnLunaFlux = 12 + m.lnAnFlux = m.lnAnFlux - 1 + ENDIF + lcColoanaLuna = "l" + PADL(m.lnLunaFlux, 2, "0") + [_] + ALLTRIM(STR(m.lnAnFlux)) + lnCurentColumnIndex = m.lnColumnOffset + i + WITH lovf._grdrow1 + .COLUMNS(m.lnCurentColumnIndex).NAME = lcColoanaLuna + .&lcColoanaLuna..CONTROLSOURCE = "cFlux." + m.lcColoanaLuna + .&lcColoanaLuna..FORMAT = "RK" + .&lcColoanaLuna..INPUTMASK = get_mask(14, gnPA) + .&lcColoanaLuna..Header1.CAPTION = STRTRAN(SUBSTR(m.lcColoanaLuna, 2), "_", "/") + .&lcColoanaLuna..Header1.ALIGNMENT = 2 + ENDWITH + ENDFOR && iLunaFlux = lnAnulI*12 + lnLunaI To lnAnulF*12 + lnLunaF + + lovf._grdrow1.cPrecedent.VISIBLE = .F. + lovf._grdrow1.cCurent.VISIBLE = .F. + *!* lovf._grdrow1.cCurent.Header1.Caption = PADL(INT(tnLunaI), 2, '0') + "/" + ALLTRIM(STR(INT(tnAnulI))) + " - " + PADL(INT(tnLunaF), 2, '0') + "/" + ALLTRIM(STR(INT(tnAnulF))) + ENDIF && m.llDefalcat + lovf.grid_column_bind() + *!* 03.05.2011 ^ + lovf.SHOW(1) + + IF USED('cFlux') + USE IN cFlux + ENDIF + + +ENDPROC && viz_flux +***------------------------------------------------------------------------------------- +PROCEDURE lanseaza_excel_flux + PARAMETERS tcalias, tlTip, toGridObject + + + LOCAL loExcelXML AS "ExcelXml" OF "ExcelXml.prg" + LOCAL x AS "XL_flux" OF "EXCELX" + LOCAL lcFile, lcexcel + *:Global OLEAPP + LOCAL llEsteExcel + llEsteExcel = isComobject("Excel.Application") + + IF !m.llEsteExcel + *CopyToExcelSimple("flux_trezorerie.xls", "", m.tcalias, "", "*", ".T.") + + loExcelXML = NEWOBJECT("ExcelXml", "ExcelXml.prg") + + WITH loExcelXML + .GridObject = toGridObject + .HasFilter = .F. + .LockHeader = .F. + .SheetName = "Flux Trezorerie" + .OpenAfterSaving = .T. + lcFile = PUTFILE("Flux trezorerie", "flux_trezorerie", "xls") + IF .SAVE(m.lcFile) + AMESSAGEBOX("Fisierul s-a salvat!", 64) + ELSE + AMESSAGEBOX("Fisierul nu s-a salvat!", 48) + ENDIF + ENDWITH + + RETURN + ENDIF + + + PRIVATE lcTabel + + *!* llEsteExcel = isComobject("Excel.Application") + *!* If !llEsteExcel + *!* Do mesaj With "Instalati Microsoft Excel","" + *!* Return + *!* Endif + + lcTabel = ALLTRIM(tcalias) + + *!* lcNumeDirExcel = Addbs(Strtran(CALEFIRMA,"\\","\"))+"Excel\" + *!* If !Directory(lcNumeDirExcel) + *!* Md (lcNumeDirExcel) + *!* ENDIF + *!* lcexcel = lcNumeDirExcel +"Flux de trezorerie_"+Sys(2)+".XLS" + + lcexcel = ADDBS(STRTRAN(gcTempPath, "\\", "\")) + "Flux de trezorerie_" + SYS(2) + ".XLS" + + x = NEWOBJECT("XL_flux", "EXCELX") && alternatively you can drop this class on a VFP form + x.SAVEAS = lcexcel && PART.XLS to be created in your TEMP folder + + SELECT (lcTabel) + + DIMENSION x.oWorkSheet[1] && need four pages + x.oWorkSheet[1] = "Flux" + ADDPROPERTY(x, "lTip", tlTip) + x.GO() && remember this calls .populate_pages(). + RELEASE x + + **************************8 + + OLEAPP = GETOBJECT("", "Excel.Application") + IF TYPE('OLEAPP')!= 'O' + OLEAPP = CREATEOBJECT("Excel.Application") + ENDIF + OLEAPP.WorkBooks.OPEN(lcexcel) + OLEAPP.VISIBLE = 1 + + RETURN +ENDPROC &&lanseaza_excel_flux +***------------------------------------------------------------------------------------ +PROCEDURE viz_formule_flux + LPARAMETERS tnModel + + LOCAL lcSql, lnSucces, lcCursor + PRIVATE pcDataOra, pnModel + lcCursor = 'cFormule' + + pcDataOra = Get_Ora(2) + && tnModel 1 = FORMULE FLUX MAI VECHI; 2 = FORMULE FLUX CONTAFIN CONPRESS + IF EMPTY(tnModel) + pnModel = 2 + ELSE + pnModel = tnModel + ENDIF + + + lcSql = [select * from mg_flux_formule where model = ?pnModel order by rand] + lnSucces = goExecutor.oExecute(lcSql, lcCursor) + IF lnSucces < 0 + AMESSAGEBOX(lcSql, 0 + 32, 'Eroare') + RETURN + ENDIF + + SELECT cFormule + REPLACE ALL comentariu WITH FormulaFlux2Comentariu(debit, 'D', tip, CONT, TOTAL, ftotal) + IIF(!EMPTY(credit), " " + FormulaFlux2Comentariu(credit, 'C', tip, CONT, 0, ""), "") + + SELECT DISTINCT RAND, denumire FROM cFormule INTO CURSOR cFluxParinte READWRITE + SELECT * FROM cFormule INTO CURSOR cFluxCopil READWRITE + + SELECT cFluxCopil + INDEX ON RAND TAG RAND + + SELECT cFluxParinte + SET RELATION TO RAND INTO cFluxCopil ADDITIVE + + poff = CREATEOBJECT("frm_formule") + poff.SHOW(1) + + + USE IN (SELECT('cFluxCopil')) + USE IN (SELECT('cFluxParinte')) + USE IN (SELECT('cFormule')) + + +ENDPROC && viz_formule_flux + +***--------------------------------------------------------------------------------------------- +PROCEDURE viz_conturi_flux + lcSql = [select cont from mg_flux_conturi order by cont] + lnSucces = goExecutor.oExecute(lcSql, "cConturiFlux") + IF lnSucces < 0 + AMESSAGEBOX(lcSql, 0 + 32, 'Eroare') + RETURN + ENDIF + + loFrmConturi = CREATEOBJECT("frm_conturi_flux") + loFrmConturi.SHOW(1) + USE IN (SELECT('cConturiFlux')) +ENDPROC && viz_conturi_flux + +***--------------------------------------------------------------------------------------------- +PROCEDURE FormulaFlux2Comentariu + LPARAMETERS tcFormula, tcDebit_credit, tnTip, tcContTip2, tnTotal, tcFTotal + + && cFormuleFlux.debit,'D',cFormuleFlux.tip,cFormuleFlux.cont,cFormuleFlux.total,cFormuleFlux.ftotal + + LOCAL lcFormula, lcDebit_credit, lcCautInc, lcListaConturi, lcListaContAfis, lnTip, lcContTip2, llTotal, lcFTotal + + IF !EMPTY(NVL(tcDebit_credit, '')) + lcDebit_credit = ALLTRIM(UPPER(NVL(tcDebit_credit, ''))) + ELSE + lcDebit_credit = '' + ENDIF + IF !EMPTY(NVL(tcFormula, '')) + lcFormula = ALLTRIM(NVL(tcFormula, '')) + ELSE + lcFormula = '' + ENDIF + IF !EMPTY(NVL(tnTip, 0)) + lnTip = tnTip + ELSE + lnTip = 0 + ENDIF + IF !EMPTY(NVL(tcContTip2, '')) + lcContTip2 = ALLTRIM(NVL(tcContTip2, '')) + ELSE + lcContTip2 = '' + ENDIF + STORE '' TO lcListaConturi, lcListaContAfis + llTotal = NVL(tnTotal, 0) = 1 + + IF !EMPTY(NVL(tcFTotal, '')) + lcFTotal = ALLTRIM(NVL(tcFTotal, '')) + ENDIF + + IF EMPTY(lcFormula) AND EMPTY(lcFTotal) + RETURN '' + ENDIF + + IF !llTotal + DO CASE + CASE lcDebit_credit = 'D' + lcCautInc = [substr(scd,1,3) in (] && [inlist(left(scd,3)] + CASE lcDebit_credit = 'C' + lcCautInc = [substr(scc,1,3) in (] && [inlist(left(scc,3)] + ENDCASE + + lnInc = AT(lcCautInc, lcFormula) + IF lnInc > 0 + lcCautSf = [')] + lnSF = AT(lcCautSf, lcFormula) + ENDIF + + lnLen = LEN(lcFormula) - LEN(lcCautInc) && 19 + lcListaConturi = SUBSTR(lcFormula, LEN(lcCautInc) + 1, lnLen - 1) + lcListaConturi = STRTRAN(lcListaConturi, ['], []) + + lnConturi = GETWORDCOUNT(lcListaConturi, [,]) + IF lnConturi = 1 + lcCont = GETWORDNUM(lcListaConturi, 1, [,]) + lcListaContAfis = lcListaContAfis + lcCont + ELSE + FOR i = 1 TO lnConturi + lcCont = GETWORDNUM(lcListaConturi, i, [,]) + DO CASE + CASE i = 1 + lcListaContAfis = lcListaContAfis + lcCont + [ ] + CASE i = 2 + lcListaContAfis = lcListaContAfis + [ (] + lcCont + [, ] + OTHERWISE + lcListaContAfis = lcListaContAfis + lcCont + [, ] + ENDCASE + ENDFOR + lcListaContAfis = SUBSTR(lcListaContAfis, 1, LEN(lcListaContAfis) - 2) + lcListaContAfis = lcListaContAfis + [)] + ENDIF + + DO CASE + CASE lnTip = 1 + DO CASE + CASE lcDebit_credit = 'D' + lcTraducere = [Platile din perioada selectata de tipul ] + lcListaContAfis + [ = 5xxx.] + CASE lcDebit_credit = 'C' + lcTraducere = [Incasarile din perioada selectata de tipul 5xxx = ] + lcListaContAfis + [.] + ENDCASE + CASE lnTip = 2 + DO CASE + CASE lcDebit_credit = 'D' + lcTraducere = [Platile din perioada selectata de tipul ] + lcContTip2 + [ = 5xxx, ] + lcTraducere = lcTraducere + [pentru care s-au gasit inregistrari de tipul ] + lcListaContAfis + [ = ] + lcContTip2 + [ in Registrul Jurnal Total.] + + CASE lcDebit_credit = 'C' + lcTraducere = [Incasarile din perioada selectata de tipul 5xxx = ] + lcContTip2 + [, ] + lcTraducere = lcTraducere + [pentru care s-au gasit inregistrari de tipul ] + lcContTip2 + [ = ] + lcListaContAfis + [ in Registrul Jurnal Total.] + ENDCASE + OTHERWISE + lcTraducere = '' + ENDCASE + ENDIF + + IF llTotal + lcTraducere = [Suma randurilor ] + STRTRAN(lcFTotal, 'R', '') + *lcTraducere = STRTRAN(lcTraducere, '0', ' ') + ENDIF + + RETURN lcTraducere + +ENDPROC && FormulaFlux2Comentariu diff --git a/programe/oproceduri_listari.prg b/programe/oproceduri_listari.prg new file mode 100644 index 0000000..cf01d1c --- /dev/null +++ b/programe/oproceduri_listari.prg @@ -0,0 +1,2792 @@ +*!* 27.08.2009 +*!* marius.mutu +*!* listare_transfer : taxa_reconditionare - rap_nirtransfer_achi2 (landscape + coloane durata ramasa, taxa reconditionare) +*!* taxa reconditionare apare doar daca se transfera de la un responsabil la magazie + +*!* 01.07.2010 +*!* marius.mutu +*!* listare_nir - id_jtva_coloana achizitie taxare inversa, nu stiu de ce era 1 + +*!* 13.08.2014 +*!* marius.mutu +*!* list_total_NIR - s-a eliminat join cu act dupa cont - puteau aparea duplicate, in act existau mai multe inregistrari cu acelasi cont + +*!* 05.02.2015 +*!* marius.mutu +*!* LISTARE_BON_TOT - se listeaza bonurile cu foxypreviewer + +*!* 13.06.2017 +*!* marius.mutu +*!* list_raport_gestiuni - export xls + +*!* 09.07.2018 +*!* marius.mutu +*!* listare_protocol - id_set 243 + +*!* 02.07.2020 +*!* marius.mutu +*!* LISTARE_TRANSFER +*!* 229 transfer rezervare - se listeaza si clientii/lucrarile corespondente + +*!* LISTARE_BON_TOT +*!* tratare id_Set = 274 iesire din ob inv in fol si inregistrare cheltuiala + +*!* 20.02.2024 +*!* LISTARE_BON_TOT +*!* adaugare sal_stat.formatia + +Procedure listare_protocol + Lparameters tnNract, tnTip + + *!* tnTip: 1 (default) = protocol (pret cu tva); 2 = sponsorizare (pret fara tva) + Private pnNrAct,pnCod + Local lcCursor,lcCursor2, lnTip + lcCursor=[crsdateact] + lcCursor2 = [crsprotocol] + + If Type('tnTip') <> 'N' + lnTip = 1 + Else + lnTip = tnTip + Endif + pnNrAct = tnNract + *!* v 2.0.18 roagest (denumire partener, id_set 232, 233, 235) + lcSql = [Select distinct a.cod, a.dataact, p.id_part as id_client, p.denumire, b.nume_gestiune as gestiune from act a ] + ; + [ left join nom_gestiuni b on a.id_gestout = b.id_gestiune ] + ; + [ left join nom_parteneri p on a.id_partc = p.id_part ] + ; + [where a.an = ?gnAn and a.luna = ?gnLuna and a.nract = ?pnNrAct and a.scc = '401' and a.sters = 0 and a.id_set in (230,232,233,235,261,270,243) ] + ; + Strtran(gcCondSucursala,[id_sucursala],[a.id_sucursala]) + lnSucces = goExecutor.oexecute(lcSql,lcCursor) + If lnSucces < 0 + amessagebox(goExecutor.cEroare,0+16,"Eroare") + Return + Endif + + If Reccount(lcCursor) > 0 + Select (lcCursor) + Scatter Name poClient + *!* v 2.0.18 roagest (iau partenerul din jurnal) + *!* AddProperty(poClient,[id_client],[0]) + *!* AddProperty(poClient,[denumire],[]) + pnCod = cod + poDate=Createobject("oDateFactura",0,0) + poDate.nract = pnNrAct + poDate.dataact = Iif(Type('dataact')='T',Ttod(dataact),dataact) + poDate.dataora_exp = get_ora() && modificare ROAGEST v 2.0.150 + + *!* loCauta = caut_partener() + *!* If gnButon <> 2 + *!* poClient.id_client = loCauta.id_part + *!* poClient.denumire = loCauta.denumire + *!* Else + poDate.tip = 23 && artificiu ca sa nu mai caute doar in delegatii pentru partenerul respectiv + *!* EndIf + *!* v 2.0.18 roagest ^ + Use In (lcCursor) + + Private ofrmdatesupl + ofrmdatesupl = Createobject("frm_alte_date") + ofrmdatesupl.Show(1) + Release ofrmdatesupl + + *!* modificare ROAGEST v 2.0.150 + If gnButon = 1 + *!* modificare ROAGEST v 2.0.150 ^ + lcSql = [select denumire as nume_responsabil,cod_fiscal as CNPresp,reg_comert as BIresp from nom_parteneri ] + ; + [where sters = 0 and inactiv = 0 and id_part in ] + ; + [(select id_partener from utilizatori_rol_intern where sters = 0 and id_util = ?gnIdUtil)] + lnSucces = goExecutor.oexecute(lcSql,lcCursor2) + If lnSucces < 0 + amessagebox(goExecutor.cEroare,0+16,"Eroare") + Return + Endif + Select (lcCursor2) + poDate.nume_responsabil = nume_responsabil + poDate.BIresp = BIresp + poDate.CNPresp = CNPresp + Use In (lcCursor2) + + lcSql = [select a.cante as cantitate,] + ; + Iif(lnTip = 1, [a.pretv+a.tvav], [a.pretv]) + [ as pretctva, ] + ; + Iif(lnTip = 1, [Round(a.cante*(a.pretv+a.tvav),?gnPc)], [Round(a.cante*a.pretv,?gnPc)]) + [ as valctva,] + ; + [a.serie,a.lot,b.codmat,b.denumire,b.um ] + ; + [from rul a left join nom_articole b on a.id_articol = b.id_articol ] + ; + [where a.sters = 0 and a.cod = ] + ALLTRIM(STR(m.pnCod)) + lnSucces = goExecutor.oexecute(lcSql,lcCursor2) + If lnSucces < 0 + amessagebox(goExecutor.cEroare,0+16,"Eroare") + Return + Endif + goExport.export2frx(lcCursor2,[protocol], , , , , , .T.) + If Used(lcCursor2) + Use In (lcCursor2) + Endif + *!* modificare ROAGEST v 2.0.150 + Endif + *!* modificare ROAGEST v 2.0.150 ^ + Else + amessagebox("Nu exista avizul cu acest numar in luna curenta!",48,"Atentie") + Endif + Release lcCursor,lcCursor2,pnNrAct,pnCod +Endproc && listare_protocol +***************************************************************************************************************** +Procedure listare_nir + Parameters tnNir, tnTip, tlProductie, tlBon_livrare,tnTipRulaj + DO listare_nir_TOT WITH tnNir,tnNir, tnTip, tlProductie, tlBon_livrare,tnTipRulaj +ENDPROC &&listare_nir +***************************************************************************************************************** + +Procedure listare_nir_TOT + Parameters tnNir1,tnNir2, tnTip, tlProductie, tlBon_livrare,tnTipRulaj + && nu merge pt baza de date din preluare (cauza id_fact); + && solutie : in loc de id_fact , cod - nu am pus cod pt ca nu e terminata modificarea din contabilitate + && tlProductie - pt. programul RoaProductie am raportul pv_prod.frx + && tnTipRulaj: NIR = 0 INTRARE REALA, 1 TRANSFER (DE LA O GESTIUNE VALORICA) + &&13.01.2015 - a fost adaugat pnNir1, pnNir2 + LOCAL lnTipRulaj + STORE 0 TO lnTipRulaj + Private lnCod,pnNir1,pnNir2,lnSuma1,lnSuma2,loact,pnTip,pnBazaDiscount,pnTvaDiscount,lcListaID,lcExceptii,lcContFact + Store "" To loact,lcListaID,lcExceptii,lcContFact + Store 0 To lnSuma1,lnSuma2,pnNir1,pnNir2,pnBazaDiscount,pnTvaDiscount + pnNir1=tnNir1 + pnNir2=tnNir2 + Private poact + Store Null To poact + + lcContFact = ['401','404','408'] + + If Empty(tnTip) + pnTip = 0 + Else + pnTip = tnTip + Endif + + *!* v 2.0.28 + *!* LA NIR BILETE RATC - CALCULUL, NOTELE CONTABILE, LISTAREA SE FAC: + *!* VALOAREA CU TVA + *!* VALOAREA TVA = VALOAREA CU TVA * (PROC_TVA - 1)/ PROC_TVA + *!* VALOAREA FARA TVA = VALOAREA CU TVA - VALOAREA TVA + Private plNIRBONPretCuTVA + plNIRBONPretCuTVA = Iif(Inlist(tnTip,17,27),.T.,.F.) && NIR BILETE RATC + pnTip = Iif(pnTip = 17, 6,Iif(pnTip = 27,7,pnTip)) + *!* v 2.0.28 ^ + + lnTipRulaj=IIF(EMPTY(tnTipRulaj),0,1) + + If Used('crsrul') + Use In crsrul + Endif + + *!* lcSql=[select cod,nnir,dataact,codmat,denumire,um,pret,tva,cant,pretv,tvav,cante,cgest,proc_tva,proc_tvav,id_fact,id_gestiune,procent, reteta ]+; + *!* [ from vrul ]+; + *!* [ where luna=?gnLuna and an=?gnAn and nnir=]+ALLTRIM(STR(pnNir))+[ and cant<>0 and cante=0 ] + ; + *!* [ and id_gestiune in (select distinct id_gestiune from ] + gcS + [.vnom_gestiuni where nr_pag = ?pnTip)] + + && 09.11.2006 - factura Metro - toate tipurile de gestiune, exc. M pret vanzare + If tlBon_livrare + lcSql=[select cod,nnir,dataact,codmat,denumire,serie,lot,um,cont,acont,pret,tva,cant,pretv,tvav,cante,cgest, nume_gestiune, gestionar, comisie_receptie1, comisie_receptie2, comisie_receptie3,] + ; + [proc_tva,proc_tvav,id_fact,id_gestiune,procent, reteta, pretd, curs, nume_val, id_rul ] + ; + [ from vrul ]+; + [ where an=] + ALLTRIM(STR(gnAn)) + [ and luna=] + ALLTRIM(STR(gnLuna)) + [ and nnir between ] + ALLTRIM(STR(pnNir1)) + [ and ] + ALLTRIM(STR(pnNir2)) + [ and cant=0 and cante<>0 and id_tip_rulaj = 0 ] + gcCondSucursala + Else + lcSql=[select cod,nnir,dataact,codmat,denumire,serie,lot,um,cont,acont,pret,tva,cant,pretv,tvav,cante,cgest, nume_gestiune, gestionar, comisie_receptie1, comisie_receptie2, comisie_receptie3,] + ; + [proc_tva,proc_tvav,id_fact,id_gestiune,procent, reteta,pretd, curs, nume_val, id_rul ] + ; + [from vrul ]+; + [ where an=] + ALLTRIM(STR(gnAn)) + [ and luna=] + ALLTRIM(STR(gnLuna)) + [ and nnir between ] + ALLTRIM(STR(pnNir1)) + [ and ] + ALLTRIM(STR(pnNir2)) + [ and cant<>0 and cante=0 and id_tip_rulaj =]+ALLTRIM(STR(lnTipRulaj)) + gcCondSucursala + Endif + lcCursor=[crsrul] + lnSucces = goExecutor.oexecute(lcSql,lcCursor) + If lnSucces < 0 + amessagebox(goExecutor.cEroare,0+16,"Eroare") + Endif + + If lnSucces > 0 + If Reccount('crsrul')=0 + amessagebox("Nu a fost inregistrat nici un NIR in luna curenta cu numarul intre "+Alltrim(Str(pnNir1))+" si "+ALLTRIM(STR(pnNir2))+" !",0+48,"Atentie") + lnSucces = -1 + Else + lcSql=[select cont_c from exceptii_ireg where cont in ('401','404','408') and invers = 1 and debit = 0 ] + lcCursor=[crsExceptii] + lnSucces = goExecutor.oexecute(lcSql,lcCursor) + If lnSucces < 0 && dc eroare nu ies, iau exceptie default + amessagebox(goExecutor.cEroare,0+16,"Eroare") + lcExceptii = ['767'] + Endif + If Used('crsExceptii') + Select crsExceptii + Scan + lcExceptii = lcExceptii + [,'] + Alltrim(cont_c) + ['] + Endscan + lcExceptii = Substr(lcExceptii ,2) + Use In crsExceptii + Endif + + If Empty(lcExceptii) + lcExceptii = ['767'] + Endif + +*** la emiterea de factura din ROAAUTO se completeaza ID_FACT-ul facturii de vanzare pe toate rulajele care au lucrarea din factura ??? +*** asa ca id_fact din rul nu mai corespunde cu cel din act +*** folosesc cod in schimb +*!* Select Distinct id_fact From crsrul Into Cursor tfacturi + Select Distinct cod as id_fact From crsrul Into Cursor tfacturi + Select tfacturi + Scan + lcListaID = lcListaID + [,] + Alltrim(Str(id_fact)) + Endscan + lcListaID = Substr(lcListaID,2) + + If tlProductie + If tlBon_livrare + lcSql=[SELECT nract, serie_act, dataact, dataireg, fdoc, nnir, nrord, sectie, ]+; + [ partd as nume, 0 as factura, 0 as discount, 0 as tvaDiscount ]+; + [from vact ]+; + [ where an=] + ALLTRIM(STR(gnAn)) + [ and luna=] + ALLTRIM(STR(gnLuna)) + [ and nnir between ] + ALLTRIM(STR(pnNir1)) + [ and ] + ALLTRIM(STR(pnNir2)) + [ and substr(scd,1,3) = '428' and substr(scc,1,3) = '758'] + Else + lcSql=[SELECT nract, serie_act, dataact, dataireg, fdoc, nnir, nrord, sectie, max(case when scc in (]+lcContFact+[) then partc else partd end) as nume,] +; + [sum(case when SUBSTR(scd,1,2) = '40' and scc in (]+lcExceptii+[) then suma else 0.0000 end) as discount,]+; + [sum(case when SUBSTR(scd,1,2) = '40' and scc in (]+lcExceptii+[) then ROUND(suma*(proc_tva-1),?gnPc) else 0.0000 end) as tvaDiscount,]+; + [sum(case when SUBSTR(scc,1,2) = '40' then suma else 0.0000 end) as factura ]+; + [from vact ] +; + [ where an=] + ALLTRIM(STR(gnAn)) + [ and luna=] + ALLTRIM(STR(gnLuna)) + [ and nnir between ] + ALLTRIM(STR(pnNir1)) + [ and ] + ALLTRIM(STR(pnNir2)) + ; + [ group by serie_act, nract, dataact, dataireg, fdoc, nnir, nrord, sectie] + Endif + Else + + && v 2.0.17 - nu prelua corect numele furnizorului la listarea nirului - facea max intre partc si partd, in loc de partd am pus null + *!* lcSql=[SELECT nract, serie_act, dataact, dataireg, fdoc, nnir, max(case when scc in (]+lcContFact+[) then partc else partd end) as nume,] + + && v 2.0.17 ^ + *!* modificare v 2.1.17 : am adaugat 170,171,172,173,174,175 + *!* modificare v 2.2.4 : am scos 170,171,172,173,174,175 + lcSql=[SELECT nract, serie_act, dataact, dataireg, fdoc, nnir, max(case when scc in (]+lcContFact+[) then partc else null end) as nume,] +; + [sum(case when SUBSTR(scd,1,2) = '40' and scc in (]+lcExceptii+[) then suma else 0.0000 end) as discount,]+; + [sum(case when SUBSTR(scd,1,2) = '40' and scc in (]+lcExceptii+[) then ROUND(suma*(proc_tva-1),?gnPc) else 0.0000 end) as tvaDiscount,]+; + [sum(case when SUBSTR(scc,1,2) = '40' then suma else 0.0000 end) as factura, ]+; + [MAX(case when id_jtva_coloana in (137,138,139,140,141,142,143,144,145,146,162,163) then 1 else 0 end) as id_jtva_coloana ]+; + [from vact ] +; + [ where an=] + ALLTRIM(STR(gnAn)) + [ and luna=] + ALLTRIM(STR(gnLuna)) + [ and nnir between ] + ALLTRIM(STR(pnNir1)) + [ and ] + ALLTRIM(STR(pnNir2)) + [ and scc in (]+lcContFact+[,]+lcExceptii+[) ]+ ; + [ and cod in (] + lcListaID + [)] + ; + [ group by serie_act, nract, dataact,dataireg, fdoc, nnir] + Endif + lcCursor=[crsdiscount] + lnSucces = goExecutor.oexecute(lcSql,lcCursor) + + If lnSucces < 0 + amessagebox(goExecutor.cEroare,0+16,"Eroare") + Endif + Endif + Endif + + If lnSucces > 0 + pcDataOra = get_ora(2) + + If Used('crslistare') + Use In crslistare + Endif + + *!* 19.06.2006 + *!* marius.mutu + *!* nir import - exista > 1 factura pe acelasi nnir si se dubleaza reperele + Select * From crsdiscount Into Cursor crsDiscountTemp1 Order By nnir,factura Desc + Select * From crsDiscountTemp1 Where 1 = 2 Into Cursor crsDiscountTemp Readwrite + + Select crsDiscountTemp1 + lnNnir = 0 + Scan + Scatter Name loDisc + If lnNnir <> loDisc.nnir + lnNnir = loDisc.nnir + Insert Into crsDiscountTemp From Name loDisc + Endif + Endscan + Use In crsDiscountTemp1 + + If tlProductie + Select Alltrim(Str(a.nnir))+a.cgest As cnir_gest,a.*, ; + b.fdoc,b.nract,b.serie_act,b.dataireg,b.nume,b.nrord,b.factura - b.discount As total_factura, b.discount, b.tvaDiscount; + FROM crsrul a With (Buffering=.T.); + LEFT Join crsDiscountTemp b On a.nnir = b.nnir ; + INTO Cursor crslistare Order By 1, id_rul + Else + Select Alltrim(Str(a.nnir))+a.cgest As cnir_gest,a.*, ; + b.fdoc,b.nract,b.serie_act,b.dataireg,b.nume,b.factura - b.discount As total_factura, b.discount, b.tvaDiscount, b.id_jtva_coloana; + FROM crsrul a With (Buffering=.T.) ; + LEFT Join crsDiscountTemp b On a.nnir = b.nnir ; + INTO Cursor crslistare Order By 1, id_rul + Endif + + Use In crsDiscountTemp + + *!* 30.08.2007 + *!* marius.mutu + *!* variabile pentru curs, numevaluta + *!* rap_nir_materiale.frx : sume in valuta + Select crslistare + Locate For Curs <> 0 Or pretd<>0 + If Found() + pnCursNir = Curs + pcNumeValuta = Alltrim(nume_val) + Else + pnCursNir = 0 + pcNumeValuta = "" + Endif + + + + If tlProductie + If tlBon_livrare + lcRaport = 'bon_livrare' + Else + lcRaport = 'pv_prod' + Endif +*!* modificare ROAPRODUCTIE v 2.0.2 +*!* Report Form &lcRaport To Printer Prompt Preview + goExport.export2frx([crslistare],lcRaport, , , , , , .T.) +*!* modificare ROAPRODUCTIE v 2.0.2 ^ + *REPORT FORM pv_prod.frx TO PRINTER PROMPT PREVIEW + Else +*!* modificare v 2.1.17 +*!* *!* 01.07.2010 +*!* *!* lnIdJtvaTI = 1 &&TAXARE INVERSA +*!* lnIdJtvaTI = GetIdJtvaStandard('ACHIZITIE_TI') && TAXARE INVERSA + lnIdJtvaTI = 1 +*!* *!* 01.07.2010 ^ +*!* modificare v 2.1.17 ^ + Private pcEtichetaTI &&TAXARE INVERSA + pcEtichetaTI = '' + Select crslistare + *!* BROWSE + Locate For id_jtva_coloana=lnIdJtvaTI + If Found() + pcEtichetaTI='TAXARE INVERSA' + Endif + + If gnNir_standard = 1 && este NIR standard + *!* Report Form rap_nir_standard.frx To Printer Prompt Preview + goExport.export2frx([crslistare],[rap_nir_standard], , , , , , .T.) + Else + If Inlist(pnTip, 6, 7) && NIR MF PRET VZ, NIR RATC + *!* Report Form rap_nir_marfuri.frx To Printer Prompt Preview + goExport.export2frx([crslistare],[rap_nir_marfuri], , , , , , .T.) + Else + Private pcSemnaturi + Store '' To pcSemnaturi + param_listari('nir_rap_materiale',,@pcSemnaturi,.T.) + + Select crslistare + *!* Report Form rap_nir_materiale.frx To Printer Prompt Preview + goExport.export2frx([crslistare],[rap_nir_materiale], , , , , , .T.) + Endif + Endif + Endif + Endif + + If Used('tfacturi') + Use In tfacturi + Endif + If Used('crsrul') + Use In crsrul + Endif + If Used('crslistare') + Use In crslistare + Endif + If Used('crsdiscount') + Use In crsdiscount + Endif + +Endproc && listare_nir_TOT +*-------------------------------------------------------------------- +*!* Procedure listare_nir_MODEL1 && NU FACE BINE IN SITUATIA : MAI MULTE NIRURI PE ACELASI NR. FACTURA(ID_FACT#) +*!* Parameters tnNir,tnTip + +*!* Private lnCod,pnNir,lnSuma1,lnSuma2,loact,pnTip,pnBazaDiscount,pnTvaDiscount,lcListaID +*!* Store "" To loact,lcListaID +*!* Store 0 To lnSuma1,lnSuma2,pnNir,pnBazaDiscount,pnTvaDiscount +*!* pnNir=tnNir + +*!* If Empty(tnTip) +*!* pnTip = 0 +*!* Else +*!* pnTip = tnTip +*!* Endif + +*!* If Used('crsrul') +*!* Use In crsrul +*!* Endif + +*!* lcSql=[select cod,nnir,dataact,codmat,denumire,um,pret,tva,cant,pretv,tvav,cante,cgest,proc_tva,proc_tvav,id_fact,id_gestiune,procent from ] + gcS + [.vrul where luna=?gnLuna and an=?gnAn and nnir=]+Alltrim(Str(pnNir))+[ and cant<>0 and cante=0 ] + ; +*!* [and id_gestiune in (select distinct id_gestiune from ] + gcS + [.vnom_gestiuni where nr_pag = ?pnTip)] +*!* lcCursor=[crsrul] +*!* lnSucces = goExecutor.oExecute(lcSql,lcCursor) +*!* If lnSucces < 0 +*!* aMESSAGEBOX(goExecutor.cEroare,0+16,"Eroare") +*!* Endif + +*!* If lnSucces > 0 +*!* If Reccount('crsrul')=0 +*!* aMESSAGEBOX("Nu a fost inregistrat nici un NIR in luna curenta cu numarul "+Alltrim(Str(pnNir))+" !",0+48,"Atentie") +*!* lnSucces = -1 +*!* Else +*!* Select Distinct id_fact From crsrul Into Cursor tfacturi +*!* Select tfacturi +*!* Scan +*!* lcListaID = lcListaID + [,] + Alltrim(Str(id_fact)) +*!* Endscan +*!* lcListaID = Substr(lcListaID,2) + +*!* If Used('crsireg') +*!* Use In crsireg +*!* Endif + +*!* lcSql=[select fdoc,nract,dataireg,cont,nume,id_fact,sum(credit) as total_factura from ] + gcS + [.vireg_parteneri where SUBSTR(cont,1,2) = '40' and id_fact in (] + lcListaID + [) ] + ; +*!* [group by fdoc,nract,dataireg,cont,nume,id_fact] +*!* lcCursor=[crsireg] +*!* lnSucces = goExecutor.oExecute(lcSql,lcCursor) +*!* If lnSucces < 0 +*!* aMESSAGEBOX(goExecutor.cEroare,0+16,"Eroare") +*!* Endif +*!* Endif +*!* Endif + +*!* If lnSucces > 0 And gnNir_standard = 0 +*!* lcSql=[select sum(suma) as discount,sum(ROUND(suma*(proc_tva-1),?gnPc)) as tvaDiscount,id_fact from ] + gcS + [.vact where luna=?gnLuna and an=?gnAn and SUBSTR(scd,1,2) = '40' and SUBSTR(scc,1,3) = '767' and id_fact in (] + lcListaID + [) ] +; +*!* [ group by id_fact] +*!* lcCursor=[crsdiscount] +*!* lnSucces = goExecutor.oExecute(lcSql,lcCursor) +*!* If lnSucces < 0 +*!* aMESSAGEBOX(goExecutor.cEroare,0+16,"Eroare") +*!* Endif +*!* Endif + +*!* If lnSucces > 0 +*!* *!* Select crsireg +*!* *!* If Reccount("crsireg")>0 +*!* pcDataOra = get_ora(2) + +*!* If Used('crslistare') +*!* Use In crslistare +*!* Endif +*!* If Used('crsdiscount') && dc gnNir_standard = 0 +*!* Select Alltrim(Str(a.nnir))+a.cgest As cnir_gest,a.*,b.fdoc,b.nract,b.dataireg,b.Cont,b.nume,b.total_factura, ; +*!* NVL(c.discount,000000000.0000) As discount, Nvl(c.tvaDiscount,000000000.0000) As tvaDiscount; +*!* FROM crsrul a ; +*!* LEFT Join crsireg b On b.id_fact=a.id_fact ; +*!* LEFT Join crsdiscount c On c.id_fact=a.id_fact ; +*!* INTO Cursor crslistare Order By 1 +*!* Else +*!* Select Alltrim(Str(a.nnir))+a.cgest As cnir_gest,a.*,b.fdoc,b.nract,b.dataireg,b.Cont,b.nume,b.total_factura ; +*!* FROM crsrul a ; +*!* LEFT Join crsireg b On b.id_fact=a.id_fact ; +*!* INTO Cursor crslistare Order By 1 +*!* Endif + +*!* Select crslistare +*!* If gnNir_standard = 1 && este NIR standard +*!* Report Form rap_nir_standard.frx To Printer Prompt Preview +*!* Else +*!* If pnTip = 6 +*!* Report Form rap_nir_marfuri.frx To Printer Prompt Preview +*!* Else +*!* Report Form rap_nir_materiale.frx To Printer Prompt Preview +*!* Endif +*!* Endif +*!* *!* Endif +*!* Endif + +*!* If Used('crsireg') +*!* Use In crsireg +*!* Endif +*!* If Used('crsrul') +*!* Use In crsrul +*!* Endif +*!* If Used('crslistare') +*!* Use In crslistare +*!* Endif +*!* If Used('crsdiscount') +*!* Use In crsdiscount +*!* Endif + +*!* Endproc && listare_nir +*!* *-------------------------------------------------------------------- +*!* Procedure listare_nir_model2 && NU FACE BINE IN SITUATIA : MAI MULTE FACTURI PE ACEEASI NR NIR +*!* Parameters tnNir,tnTip + +*!* Private lnCod,pnNir,lnSuma1,lnSuma2,loact,pnTip,pnBazaDiscount,pnTvaDiscount +*!* Store "" To loact +*!* Store 0 To lnSuma1,lnSuma2,pnNir,pnBazaDiscount,pnTvaDiscount +*!* pnNir=tnNir + +*!* If Empty(tnTip) +*!* pnTip = 0 +*!* Else +*!* pnTip = tnTip +*!* Endif + +*!* If Used('crsrul') +*!* Use In crsrul +*!* Endif + +*!* lcSql=[select cod,nnir,dataact,codmat,denumire,um,pret,tva,cant,pretv,tvav,cante,cgest,proc_tva,proc_tvav,id_fact,id_gestiune,procent from ] + gcS + [.vrul where luna=?gnLuna and an=?gnAn and nnir=]+Alltrim(Str(pnNir))+[ and cant<>0 and cante=0] +*!* lcCursor=[crsrul] +*!* lnSucces = goExecutor.oExecute(lcSql,lcCursor) +*!* If lnSucces < 0 +*!* aMESSAGEBOX(goExecutor.cEroare,0+16,"Eroare") +*!* Endif + +*!* If lnSucces > 0 +*!* If Reccount('crsrul')=0 +*!* aMESSAGEBOX("Nu a fost inregistrat nici un NIR in luna curenta cu numarul "+Alltrim(Str(pnNir))+" !",0+48,"Atentie") +*!* lnSucces = -1 +*!* Else +*!* Select crsrul +*!* lnCod=cod +*!* lnIdfact = id_fact + +*!* If Used('crsireg') +*!* Use In crsireg +*!* Endif + +*!* lcSql=[select fdoc,nract,dataireg,cont,acont,nume,id_fact from ] + gcS + [.vireg_parteneri where luna=?gnLuna and an=?gnAn and SUBSTR(cont,1,2) = '40' and id_fact=?lnIdFact ] +*!* lcCursor=[crsireg] +*!* lnSucces = goExecutor.oExecute(lcSql,lcCursor) +*!* If lnSucces < 0 +*!* aMESSAGEBOX(goExecutor.cEroare,0+16,"Eroare") +*!* Endif +*!* Endif +*!* Endif + + +*!* If lnSucces > 0 And gnNir_standard = 0 +*!* lcSql=[select sum(suma) as discount, proc_tva from ] + gcS + [.vact where luna=?gnLuna and an=?gnAn and SUBSTR(scd,1,2) = '40' and SUBSTR(scc,1,3) = '767' and id_fact=?lnIdFact ] +; +*!* [ group by proc_tva] +*!* lcCursor=[crsdiscount] +*!* lnSucces = goExecutor.oExecute(lcSql,lcCursor) +*!* If lnSucces < 0 +*!* aMESSAGEBOX(goExecutor.cEroare,0+16,"Eroare") +*!* Endif +*!* Endif + +*!* If lnSucces > 0 +*!* Select crsireg +*!* If Reccount("crsireg")>0 +*!* *ptDataOra=get_ora() +*!* pcDataOra = get_ora(2) + +*!* If Used('crsdiscount') && dc gnNir_standard = 0 +*!* Select crsdiscount +*!* Sum discount To pnBazaDiscount +*!* Sum Round((discount*(proc_tva-1)),gnPc) To pnTvaDiscount +*!* Endif + +*!* If Used('crslistare') +*!* Use In crslistare +*!* Endif + +*!* Select Alltrim(Str(a.nnir))+a.cgest As cnir_gest,a.*,b.* From crsrul a Left Join crsireg b On b.id_fact=a.id_fact Where ; +*!* a.nnir = pnNir And a.cante=0 And a.cant!=0 Into Cursor crslistare Order By 1 + +*!* Select crslistare +*!* If gnNir_standard = 1 && este NIR standard +*!* Report Form rap_nir_standard.frx To Printer Prompt Preview +*!* Else +*!* If pnTip = 6 +*!* Report Form rap_nir_marfuri.frx To Printer Prompt Preview +*!* Else +*!* Report Form rap_nir_materiale.frx To Printer Prompt Preview +*!* Endif +*!* Endif +*!* Endif +*!* Endif + +*!* If Used('crsireg') +*!* Use In crsireg +*!* Endif +*!* If Used('crsrul') +*!* Use In crsrul +*!* Endif +*!* If Used('crslistare') +*!* Use In crslistare +*!* Endif +*!* If Used('crsdiscount') +*!* Use In crsdiscount +*!* Endif + +*!* Endproc + + +*-------------------------- +Procedure listare_descarcare_productie + Parameters tnNir, tnTip + + Private pnNir, pnNr_pag, pcFelDoc + pnNir = tnNir + pnNr_pag = tnTip + pcFelDoc = 'Pv productie' + + If Used('crsrul') + Use In crsrul + Endif + + *!* lcSql=[select id_articol, pret, denumire, codmat, um, cont, SUM(cant) as cant, SUM(cante) as cante from vrul where luna=?gnLuna and an=?gnAn and nnir = ?pnNir and (SUBSTR(cont,1,3) = '301' or (SUBSTR(cont,1,3) = '371'))]+; + *!* [and id_gestiune in (select distinct id_gestiune from vnom_gestiuni where nr_pag = ?pnNr_pag) ] + ; + *!* [group by id_articol, pret, denumire, codmat, um, cont ]+; + *!* [ order by cont, denumire] + + If !Empty(pnNr_pag) + && or id_set = 268) -- adaugat pe 29mar2013 v2.2.7 - sa apara la descarcarea_productie si intrarea si iesirea mixului care e pe contul 345, nu numai a ingredientelor + lcCond = [ and ((SUBSTR(cont,1,3) = '301' or (SUBSTR(cont,1,3) = '371')) or id_set = 268)] + Else + lcCond = [] + Endif + +*!* lcSql=[select a.id_gestiune,a.nume_gestiune,a.id_articol,a.pret,a.denumire, a.codmat,a.um,a.cont,a.nnir, a.dataact,]+; +*!* [(case when b.lvl = 1 then a.cant else 0 end) as cant, (case when b.lvl = 1 then 0 else a.cante end) as cante,]+; +*!* [(case when b.lvl is null then 1 when b.lvl = 1 then 2 else 3 end) as ie ]+; +*!* [ from (select id_gestiune,id_articol,pret,cont,nnir,dataact, SUM(cant) as cant,SUM(cante) as cante,um,denumire,codmat,nume_gestiune from vrul where luna=?gnLuna and an=?gnAn and nnir = ?pnNir ]+; +*!* lcCond + gcCondSucursala + [ ] + ; +*!* [group by id_gestiune, id_articol, pret, cont, nnir, dataact,um,denumire,codmat,nume_gestiune) a left join (select level as lvl from dual connect by level < 3) b on a.cant <> 0 and a.cante <> 0 order by nume_gestiune, ie, denumire] + + * Am luat in considerare si cazul in care productia aparea doar ca intrare, nu si ca iesire ca la productia de mix vopsea auto + TEXT TO lcSql NOSHOW +select id_gestiune, + nume_Gestiune, + id_articol, + pret, + denumire, + codmat, + um, + lot, + serie, + cont, + nnir, + dataact, + cant, + cante, + ie + from (select a.id_gestiune, + a.nume_gestiune, + a.id_articol, + a.pret, + a.denumire, + a.codmat, + a.um, + a.lot, + a.serie, + a.cont, + a.nnir, + a.dataact, + (case + when b.lvl = 1 then + a.cant + else + 0 + end) as cant, + (case + when b.lvl = 1 then + 0 + else + a.cante + end) as cante, + (case + when b.lvl is null then + 1 + when b.lvl = 1 then + 2 + else + 3 + end) as ie + from (select id_gestiune, + id_articol, + pret, + cont, + nnir, + dataact, + SUM(cant) as cant, + SUM(cante) as cante, + um, + lot, + serie, + denumire, + codmat, + nume_gestiune + from vrul + where luna= ?gnLuna and an= ?gnAn and nnir = ?pnNir + group by id_gestiune, + id_articol, + pret, + cont, + nnir, + dataact, + um, + lot, + serie, + denumire, + codmat, + nume_gestiune) a + left join (select level as lvl from dual connect by level < 3) b + on a.cant <> 0 + order by nume_gestiune, ie, denumire) + where cant <> 0 or cante <> 0 + ENDTEXT + + lcCursor=[crsrul] + lnSucces = goExecutor.oexecute(lcSql,lcCursor) + If lnSucces < 0 + amessagebox(goExecutor.cEroare,0+16,"Eroare") + Return + Endif + + If Reccount('crsrul')=0 + amessagebox("Nu a fost inregistrat nici un BON in luna curenta cu numarul "+Alltrim(Str(pnNir))+" !",0+48,"Atentie") + If Used('crsrul') + Use In crsrul + Endif + Return + Endif + + goExport.export2frx([crsrul],[rap_descarcare_productie], , , , , , .T.) + + Use In (SELECT('crsrul')) +Endproc && listare_descarcare_productie +*-------------------------- + +Procedure LISTARE_BON + Parameters tnNir, tnTip, tcListaIdSet + DO LISTARE_BON_TOT WITH tnNir, tnNir, tnTip, tcListaIdSet +ENDPROC + +* FOMULAR CERERE DATE LISTARE BONURI IN LUCRU +* Trebuie facut un formular pentru completarea PERIOADA, NNIR1, NNIR2, GESTIUNE, LUCRARE +* Se apeleaza apoi LISTARE_BON_TOT +PROCEDURE LISTARE_INFO + pcNumeGestiune = Alltrim(Upper(locauta.nume_gestiune)) + pnIdGest = Iif(pcNumeGestiune # "", locauta.id_gestiune, -1) + + Release locauta + + If pnIdGest = -1 + lcCond = [ and r.id_gestiune in (select distinct id_gestiune from ] + gcS + [.vnom_gestiuni where nr_pag = ?pnTip) and id_gestiune in ] + ; + [(select g.id_gestiune from ] + gcS + [.vgest_coresp_grupe_gestiuni g join ] + ; + gcS + [.vgest_coresp_util_grupe u on g.id_grupe = u.id_grupe and u.id_util = ?gnIdUtil) ] + Else + lcCond = [ and r.id_gestiune = ?pnIdGest ] + ENDIF + + oper = Createobject('frm_perioada_luni') + oper._optiongrup1.Value=1 + oper.Show(1) + Release oper + + + If Occurs('_',pcondper)>0 + lpos = At('_',pcondper) + ldata1 = Substr(pcondper,1,lpos-1) + ldata2 = Substr(pcondper,lpos+1) + lcd1 = Substr(ldata1,1,2)+'.'+Substr(ldata1,3,4) + lcd2 = Substr(ldata2,1,2)+'.'+Substr(ldata2,3,4) + pcperioada='De la: '+lcd1+' pana la '+lcd2 + Else + ldata1 = pcondper + pcperioada='LUNA: '+Substr(ldata1,1,2)+'.'+Substr(ldata1,3,4) + ldata2 = ldata1 + Endif + lnLuna1 = Val(Substr(ldata1,1,2)) + lnAn1 = Val(Substr(ldata1,3,4)) + lnLuna2 = Val(Substr(ldata2,1,2)) + lnAn2 = Val(Substr(ldata2,3,4)) + + *pcselect = ['select * from ] + gcS + [.vLucrari_validat where 2=2'] + pcselect = [select * from vnom_Lucrari] + pcfiltru = [1=2] + pcschema = [] + pcorder = [nrord] + pccoloane = [nrord] + pcTitlu = [Lucrare/Comanda] + *pcFiltruOriginal = [validat = 0 and inactiv = 0] + pcFiltruOriginal = [] + locauta = cauta_alfa(pcselect,pcfiltru,pcschema,pcorder,pccoloane,pcTitlu,pcTitlu,'',.T.,pcFiltruOriginal) && 11.07.2007 + + If Empty(locauta.id_lucrare) And Empty(locauta.nrord) + Return + Endif + + lnIdLucrare = locauta.id_lucrare + + If Empty(tnTip) + pnTip = 0 + Else + pnTip = tnTip + Endif + + If Used('crsrul') + Use In crsrul + Endif + + lnInf = lnLuna1+ 12*lnAn1 + lnSup = lnLuna2+ 12*lnAn2 + +ENDPROC + +Procedure LISTARE_BON_TOT + *!* modificare ROADEVIZE 24.10.2013 : tcListaIdSet + Parameters tnNir1, tnNir2, tnTip, tcListaIdSet, tnIdGestiune, tnIdLucrare + + LOCAL llCasareObiecteNoi + Private lnCod,pnNir1,pnNir2,lnSuma1,lnSuma2,loact,pnTip + Store "" To loact + Store 0 To lnSuma1,lnSuma2,pnNir1, pnNir2 + pnNir1 = tnNir1 + pnNir2 = tnNir2 + + If Empty(tnTip) + pnTip = 0 + Else + pnTip = tnTip + Endif + + If Used('crsrul') + Use In crsrul + Endif + + * Listare BON CASARE obiecte inventar noi, din RUL in loc de RUL_OBINV + llCasareObiecteNoi = !EMPTY(m.tcListaIdSet) and TYPE('tcListaIdSet') = 'C' and m.tcListaIdSet = '72' + + *!* modificare 03.10.2007 + Do Case + Case Empty(tnTip) + lcCondTipGest = " " && bon de consum cu inventar + Case tnTip = 6 + lcCondTipGest = " where nr_pag = ?pnTip " + Otherwise + lcCondTipGest = " where nr_pag <> 6 " + ENDCASE + *!* modificare 29.03.2013 v 2.2.7: id_set <> 268 in lcCondTipGest - sa nu se listeze bonurile importate din xml cu productia de vopsea pentru ca n-ar fi corect sa apara produsul final pe bon + + lcCondIdSet = " and r.id_set <> 268 " + *!* modificare ROADEVIZE 24.10.2013 + If !Empty(tcListaIdSet) + lcCondIdSet = lcCondIdSet + " and r.id_set in (" + tcListaIdSet + ")" + Endif + *!* modificare ROADEVIZE 24.10.2013 ^ + *!* If !Empty(tnTip) + *!* lcCondTipGest = " where nr_pag = ?pnTip " + *!* Else + *!* lcCondTipGest = "" && bon de consum cu inventar + *!* Endif + *!* modificare 03.10.2007 ^ + +*!* 27.08.2009 + + +IF tnTip = 3 AND !m.llCasareObiecteNoi && obiecte de inventar in folosinta + *!* modificare v 2.2.4 : am pus select max(marca)... in loc de sal_personal.marca pentru ca s-ar putea sa am un salariat de mai multe ori in sal_personal + * id_set = 274 = iesire din folosinta si inregistrare cheltuiala, apare o iesire in rul_obinv.cante <> 0 + * id_set = 55 = bon consum si dare in folosinta, apare o iesire in rul si o intrare in rul_obinv.cant <> 0 +*!* lcSql=[select r.*,(select max(marca) from sal_personal where id_part = r.id_responsabil and id_salariat in ] + ; +*!* [(select id_persoana from sal_stat where an =?gnAn and luna = ?gnLuna and sters = 0)) as marca from vrul_obinv r ]+; +*!* [ where r.an=] + ALLTRIM(STR(gnAn)) + [ and r.luna=] + ALLTRIM(STR(gnLuna)) + [ and r.nnir between ] + ALLTRIM(STR(pnNir1)) + [ and ] + ALLTRIM(STR(pnNir2)) + ; +*!* [ and r.cant <> 0 and r.cante = 0 and r.id_tip_rulaj <> 3]+; +*!* STRTRAN(gcCondSucursala,[id_sucursala],[r.id_sucursala]) + [ ] + ; +*!* [and r.id_gestiune in (select distinct id_gestiune from vnom_gestiuni ]+ lcCondTipGest + [)] + lcCondIdSet +; +*!* [order by r.nnir, r.cgest, r.nrord, r.nresp, r.sectie, r.id_rul_obinv] + *!* modificare 21.06 : am adaugat id_rul la order by + + TEXT TO lcSql TEXTMERGE NOSHOW +select r.*, + (select max(p.marca) + from sal_personal p join sal_stat s on (p.id_salariat = s.id_persoana) + where p.id_part = r.id_responsabil + and s.an= <> and s.luna = <> and s.sters = 0) as marca, + (select max(f.denumire) + from sal_personal p join sal_stat s on (p.id_salariat = s.id_persoana) + left join sal_nom_formatii f on s.id_formatie = f.id_formatia + where p.id_part = r.id_responsabil + and s.an= <> and s.luna = <> and s.sters = 0) as formatie + from vrul_obinv r + where r.an = <> + and r.luna = <> + and r.nnir between <> and <> + and r.cant <> 0 and r.cante = 0 and r.id_tip_rulaj <> 3 + <> + and r.id_gestiune in (select distinct id_gestiune from vnom_gestiuni <>) + <> + order by r.nnir, r.cgest, r.nrord, r.nresp, r.sectie, r.id_rul_obinv + ENDTEXT +ELSE + *!* modificare v 2.2.4 : am pus select max(marca)... in loc de sal_personal.marca pentru ca s-ar putea sa am un salariat de mai multe ori in sal_personal +*!* lcSql=[select r.*,(select max(marca) from sal_personal where id_part = r.id_responsabil and id_salariat in ] + ; +*!* [(select id_persoana from sal_stat where an =?gnAn and luna = ?gnLuna and sters = 0)) as marca from vrul r ]+; +*!* [ where r.an=] + ALLTRIM(STR(gnAn)) + [ and r.luna=] + ALLTRIM(STR(gnLuna)) + [ and r.nnir between ] + ALLTRIM(STR(pnNir1)) + [ and ] + ALLTRIM(STR(pnNir2)) + ; +*!* [ and r.cant=0 and r.cante<>0 and r.id_tip_rulaj <> 3]+; +*!* STRTRAN(gcCondSucursala,[id_sucursala],[r.id_sucursala]) + [ ] + ; +*!* [and r.id_gestiune in (select distinct id_gestiune from vnom_gestiuni ]+ lcCondTipGest + [)] + lcCondIdSet +; +*!* [order by r.nnir, r.cgest, r.nrord, r.nresp, r.sectie, r.id_rul] + *!* modificare 21.06 : am adaugat id_rul la order by + TEXT TO lcSql TEXTMERGE NOSHOW +select r.*, + (select max(p.marca) + from sal_personal p join sal_stat s on (p.id_salariat = s.id_persoana) + where p.id_part = r.id_responsabil + and s.an= <> and s.luna = <> and s.sters = 0) as marca, + (select max(f.denumire) + from sal_personal p join sal_stat s on (p.id_salariat = s.id_persoana) + left join sal_nom_formatii f on s.id_formatie = f.id_formatia + where p.id_part = r.id_responsabil + and s.an= <> and s.luna = <> and s.sters = 0) as formatie + from vrul r + where r.an = <> + and r.luna = <> + and r.nnir between <> and <> + and r.cant = 0 and r.cante <> 0 and r.id_tip_rulaj <> 3 + <> + and r.id_gestiune in (select distinct id_gestiune from vnom_gestiuni <>) + <> + order by r.nnir, r.cgest, r.nrord, r.nresp, r.sectie, r.id_rul + ENDTEXT + +ENDIF && tnTip = 3 +*!* 27.08.2009 ^ + lcCursor=[crsrul] + lnSucces = goExecutor.oexecute(lcSql,lcCursor) + If lnSucces < 0 + amessagebox(goExecutor.cEroare,0+16,"Eroare") + Return + Endif + + If Reccount('crsrul')=0 + amessagebox("Nu a fost inregistrat nici un BON in luna curenta cu numere intre " +Alltrim(Str(m.pnNir1))+ " si " + +Alltrim(Str(m.pnNir2))+ " !",0+48,"Atentie") + Use In crsrul + Return + Endif + + *ptDataOra=get_ora() +*!* pcDataOra = get_ora(2) + + Private pcSemnaturi + Store '' To pcSemnaturi + param_listari('rap_bon_achi',,@pcSemnaturi,.T.) + + Select crsrul + *!* modificare ROAPRODUCTIE v 2.0.2 : goExport + If pnTip = 5 && marfa la pret de achizitie + If Type("gnList_bon_marfa") = "U" +*!* Report Form rap_bon_vanz To Printer Prompt Preview + lcRaport = [rap_bon_vanz] + Else + Do Case + Case gnList_bon_marfa = 0 +*!* Report Form rap_bon_achi To Printer Prompt Preview + lcRaport = [rap_bon_achi] + Case gnList_bon_marfa = 1 +*!* Report Form rap_bon_vanz To Printer Prompt Preview + lcRaport = [rap_bon_vanz] + Case gnList_bon_marfa = 2 +*!* Report Form rap_bon_achi_vanz To Printer Prompt Preview + lcRaport = [rap_bon_achi_vanz] + Otherwise +*!* Report Form rap_bon_vanz To Printer Prompt Preview + lcRaport = [rap_bon_vanz] + Endcase + Endif + Else +*!* Report Form rap_bon_achi To Printer Prompt Preview + *!* 27.08.2009 + + IF tnTip = 3 AND !m.llCasareObiecteNoi && obiecte de inventar + lcRaport = [rap_bon_achi_inv] + ELSE + lcRaport = [rap_bon_achi] + ENDIF + *!* 27.08.2009 ^ + Endif + + IF TYPE('goExport') = 'O' + *goExport.export2frx([crsrul],lcRaport) + goExport.export2frx([crsrul],lcRaport, , , , , , .T.) + ELSE + Report Form (lcRaport) To Printer Prompt Preview + ENDIF +*!* modificare ROAPRODUCTIE v 2.0.2 ^ + + If Used('crsrul') + Use In crsrul + Endif + +Endproc && LISTARE_BON + + +*------------------------------------------------------------------ +*!* Procedure LIST_BON +*!* Parameters M.NNIR + +*!* Sele act +*!* Loca For Val(nnir)==VAL(m.NNIR) AND INLIST(ID_SET,0,56,61,78,80,88,90) &&NUMAI BONURI (NOI SAU VECHI) +*!* If !Found() +*!* Do mesaj With 'Nu a fost inregistrat nici un bon','cu numarul '+M.NNIR +*!* Return +*!* ENDIF + +*!* M.COD=COD +*!* m.T='BONURI' + +*!* SELECT DISTINCT NUME_2 As RESPONS,COD; +*!* WHERE COD=M.COD; +*!* FROM ACT INTO CURSOR FF + + +*!* Select Distinct rull.*,FF.*; +*!* from FF,rull; +*!* where FF.cod=rull.cod And Val(rull.nnir)=VAL(m.NNIR) And rull.cante # 0 And rull.cant=0; +*!* into Table &loc\&nfscurt\tempo\ra +*!* Sele ra +*!* Index On Str(gest,2)+nnir To &loc\&nfscurt\tempo\ra +*!* If !BON_ACHI +*!* Report Format BONLI.FRX To Printer Prompt Preview +*!* Else +*!* Report Format BONCONS.FRX To Printer Prompt Preview +*!* Endif + +*!* Use In ra +*!* USE IN FF + +*!* DO STERGE +*!* RETURN + +*!* *------------------------------------------------------------- + +Procedure LISTARE_TRANSFER + Parameters tnNir,tnTip, tcRul + + Private lnCod,pnNir,lnSuma1,lnSuma2,pnTip,pcGestout + Store "" To pcGestout + Store 0 To lnSuma1,lnSuma2,pnNir + pnNir = tnNir + + Local lcRul + If Empty(tcRul) Or Type('tcRul') # 'C' Or Pcount() < 3 + lcRul = 'vrul' + Else + lcRul = Alltrim(tcRul) + Endif + + If Empty(tnTip) + pnTip = 0 + Else + pnTip = tnTip + Endif + + If Used('crsrul') + Use In crsrul + Endif + + *!* lcSql=[select distinct r.*, a.nract, a.gestin, a.id_gestin from ] + gcS + [.] + lcRul + [ r left join ] + gcS +[.vact a on r.cod=a.cod and a.luna=r.luna and a.an=r.an and a.id_gestin is not null ] + ; + *!* [where r.luna=?gnLuna and r.an=?gnAn and r.nnir = ?pnNir and r.cant=0 and r.cante<>0 order by r.nnir, r.cgest, r.sectie, r.nrord, r.nresp, r.cgestc, r.nrespc] + Do Case + Case pnTip = 7 + *!* lcSql = [select cod,nnir,dataact,cgest,nume_gestiune,cgestc,nume_gestiunec,nresp,nrespc,denumire,codmat,um,max(decode(cante, 0, 0, cante)) as cante,] + ; + *!* [max(decode(cante, 0, 0, pret)) as pret,max(decode(cant, 0, 0, pret)) as pret_nou,id_articol,id_gestiune,] + ; + *!* [id_responsabil, cont from ] + gcS + [.vrul where luna = ?gnLuna and an = ?gnAn and nnir = ?pnNir ] + ; + *!* [group by id_articol, id_gestiune, id_responsabil, cont, cod, nnir, dataact, cgest, nume_gestiune,] + ; + *!* [cgestc,nume_gestiunec, nresp, nrespc,] + ; + *!* [denumire, codmat, um order by nnir,cgest,nresp] + lcSql = [select a.cod, a.nnir, a.dataact, a.cgest, a.serie, a.lot, a.nume_gestiune, a.cgestc, a.nume_gestiunec, a.nresp, a.resp_marca, ] + ; + [a.nrespc, a.respc_marca, a.denumire, a.codmat, a.um, a.cante, a.pret, b.pret as pret_nou, a.id_articol, a.id_Gestiune, ] + ; + [a.id_responsabil, a.cont, a.id_rul from ] + gcS + [.vrul a ] + ; + [left join rul b on a.cod = b.cod and a.id_articol = b.id_articol ] + ; + [and a.id_gestiune = b.id_gestiunec and a.id_gestiunec = b.id_gestiune and a.cante = b.cant ] + ; + [and Nvl(a.id_rul_aux,-99) = Nvl(b.id_rul_aux,-99) ] + ; + [and NVL(a.id_sucursala,-99) = NVL(b.id_sucursala,-99) ] + ; + [where a.luna = ] + ALLTRIM(STR(gnLuna)) + [ and a.an = ] + ALLTRIM(STR(gnAn)) + [ and a.nnir = ] + ALLTRIM(STR(pnNir)) + [ and a.cante <> 0 ] + ; + STRTRAN(gcCondSucursala,[id_sucursala],[a.id_sucursala]) + [ ] + ; + [order by a.nnir, a.cgest, a.nresp, a.id_rul] + *!* modificare migrare v 1.0 > v 2.0 + Case pnTip = 8 + lcSql=[select distinct r.*, a.nract, p.cod_fiscal, p.reg_comert, p.adresa from ] + ; + lcRul + [ r left join act a on r.cod=a.cod and a.luna=r.luna and a.an=r.an ] + ; + [ left join vnom_parteneri p on p.id_part = r.id_part_rez ] + ; + [where r.luna=?gnLuna and r.an=?gnAn and r.nnir = ?pnNir and r.cant<>0 and r.cante=0 ] + ; + [and r.id_set = 229 ] + ; + STRTRAN(gcCondSucursala,[id_sucursala],[r.id_sucursala]) + [ ] + ; + [order by r.nnir, r.cgest, r.sectie, r.nrord, r.nresp, r.cgestc, r.nrespc, r.id_rul]+; + IIF('obinv'$Lower(lcRul), '_obinv', '') + *!* modificare migrare v 1.0 > v 2.0 ^ + *!* 27.08.2009 + CASE pnTip = 10 && transfer ob inv in folosinta - durata + *!* as fi vrut doar transferurile de ob inv in folosinta cu durata ramasa + **! trebuie sa iau de pe linia cu intrarile noua durata ramasa, nu de pe iesiri + lcSql=[select distinct r.*, a.nract from ] + lcRul + [ r left join ] + gcS +[.act a on r.cod=a.cod ] + ; + [and a.luna=r.luna and a.an=r.an and NVL(r.id_sucursala,-99) = NVL(a.id_sucursala,-99) ] + ; + [where r.luna=] + ALLTRIM(STR(gnLuna)) + [ and r.an=] + ALLTRIM(STR(gnAn)) + [ and r.nnir = ] + ALLTRIM(STR(pnNir)) + [ and r.cante=0 and r.cant<>0 and r.id_set<>229 ] + ; + STRTRAN(gcCondSucursala,[id_sucursala],[r.id_sucursala]) + [ ] + ; + [order by r.nnir, r.cgest, r.sectie, r.nrord, r.nresp, r.cgestc, r.nrespc, r.id_rul]+; + IIF('obinv'$Lower(lcRul), '_obinv', '') + *!* 27.08.2009 ^ + OTHERWISE + lcSql=[select distinct r.*, a.nract from ] + lcRul + [ r left join ] + gcS +[.act a on r.cod=a.cod ] + ; + [and a.luna=r.luna and a.an=r.an and NVL(r.id_sucursala,-99) = NVL(a.id_sucursala,-99) ] + ; + [where r.luna=] + ALLTRIM(STR(gnLuna)) + [ and r.an=] + ALLTRIM(STR(gnAn)) + [ and r.nnir = ] + ALLTRIM(STR(pnNir)) + [ and r.cant=0 and r.cante<>0 and r.id_set<>229 ] + ; + STRTRAN(gcCondSucursala,[id_sucursala],[r.id_sucursala]) + [ ] + ; + [order by r.nnir, r.cgest, r.sectie, r.nrord, r.nresp, r.cgestc, r.nrespc, r.id_rul]+; + IIF('obinv'$Lower(lcRul), '_obinv', '') + + ENDCASE + + lcCursor=[crsrul] + lnSucces = goExecutor.oexecute(lcSql,lcCursor) + If lnSucces < 0 + amessagebox(goExecutor.cEroare,0+16,"Eroare") + Return + Endif + + If Reccount('crsrul')=0 + amessagebox("Nu a fost inregistrata nici o nota de transfer in luna curenta cu numarul "+Alltrim(Str(pnNir))+" !",0+48,"Atentie") + Use In crsrul + Return + Endif + + + *!* SELECT DISTINCT id_gestiune, nume_gestiune FROM crsrul INTO CURSOR crs_gest_out + *!* SELECT crs_gest_out + *!* SCAN + *!* pcGestout = pcGestout + ',' + ALLTRIM(nume_gestiune) + *!* ENDSCAN + *!* USE IN crs_gest_out + + *!* pcGestout = SUBSTR(pcGestout,2) + *ptDataOra=get_ora() +*!* modificare ROAPRODUCTIE v 2.0.2 : goExport +*!* pcDataOra = get_ora(2) + Select crsrul + Do Case + Case pnTip = 7 + Private pcgestc, pcnume_gestiunec + Select crsrul + pcgestc = cgestc + pcnume_gestiunec = nume_gestiunec +*!* Report Form rap_dif_pret To Printer Prompt Preview + goExport.export2frx([crsrul],[rap_dif_pret]) + Release pcgestc, pcnume_gestiunec + *!* *!* modificare migrare v 1.0 > v 2.0 + Case pnTip = 8 + * partener/lucrare rezervare + Private pcPartRez, pcNrOrdRez, pcPartNrordRez, pcPartNrordRezC + Select crsrul + pcPartRez = Alltrim(Nvl(part_rez,[])) + pcNrOrdRez = Alltrim(Nvl(nrord_rez,[])) + pcPartNrordRez = ALLTRIM(nvl(part_rez,'')) + ; + iif(!empty(alltrim(nvl(nrord_rez,''))), iif(!empty(nvl(part_rez,'')), ' / ', '') + ALLTRIM(nrord_rez), '') + ; + IIF(!EMPTY(NVL(cod_fiscal, '')), ', CUI: ' + ALLTRIM(cod_fiscal) + IIF(!EMPTY(NVL(reg_comert, '')), ', Reg. Com.: ' + ALLTRIM(reg_comert), ''), '') + ; + iif(!empty(nvl(adresa,'')), CHR(13) + CHR(10) + 'Adresa: ' + alltrim(adresa), '') + + pcPartNrordRezC = '' + SET STEP ON + * articolele se transfera la un singur partener/lucrare, dar pot proveni de la mai multi parteneri/lucrari rezervate + * fac o lista partener/lucrare rezervare corespondenti + IF !EMPTY(NVL(crsRul.cod,0)) + lcSql=[select distinct part_rez, nrord_rez from ] + lcRul + ; + [ where luna=?gnLuna and an=?gnAn and cod = ] + ALLTRIM(STR(crsrul.cod)) + [ and nnir = ?pnNir and cant=0 and cante<>0 ] + ; + [ and id_set = 229 ] + m.gcCondSucursala + + llSucces = goExecutor.oexecuta(lcSql,"crsRulC") + If m.llSucces + SELECT crsRulC + SCAN + lcPartRezC = ALLTRIM(NVL(part_rez, '')) + lcNrordRezC = ALLTRIM(NVL(nrord_rez, '')) + pcPartNrordRezC = m.pcPartNrordRezC + IIF(RECNO() > 1, ', ', '') + m.lcPartRezC + ; + IIF(!EMPTY(m.lcNrordRezC), IIF(!EMPTY(m.lcPartRezC), '/', '') + m.lcNrordRezC, '') + ENDSCAN + USE IN (SELECT('crsRulC')) + ENDIF + ENDIF + + Select crsrul +*!* Report Form rap_nirrezervare To Printer Prompt Preview + goExport.export2frx([crsrul],[rap_nirrezervare], , , , , , .T.) + + Release pcPartRez,pcNrOrdRez,pcPartNrordRez,pcPartNrordRezC, pnIdSet + *!* *!* modificare migrare v 1.0 > v 2.0 ^ +*!* 27.08.2009 + Case pnTip = 10 && obiecte de inventar in folosinta - durata + goExport.export2frx([crsrul],[rap_nirtransfer_achi2_durata], , , , , , .T.) +*!* 27.08.2009 ^ + Case pnTip # 6 +*!* Report Form rap_nirtransfer_achi2 To Printer Prompt Preview + goExport.export2frx([crsrul],[rap_nirtransfer_achi2], , , , , , .T.) + Otherwise +*!* Report Form rap_nirtransfer_vanz To Printer Prompt Preview + goExport.export2frx([crsrul],[rap_nirtransfer_vanz], , , , , , .T.) + Endcase + + If Used('crsrul') + Use In crsrul + Endif +Endproc + +*------------------------------------------------------- + +Procedure LISTARE_RETUR + Parameters tnNir,tnTip + + Private lnCod,pnNir,lnSuma1,lnSuma2,pnTip,pcGestout,pcNrord + Store "" To pcGestout,pcNrord + Store 0 To lnSuma1,lnSuma2,pnNir + pnNir = tnNir + + If Empty(tnTip) + pnTip = 0 + Else + pnTip = tnTip + Endif + + If Used('crsrul') + Use In crsrul + Endif + + *!* modificare v 2.4.4 : am pus select max(marca) ... in loc de sal_personal.marca + lcSql=[select distinct r.cod,r.id_articol,r.denumire,r.codmat,r.um,r.dataact,r.pret,r.pretv,-r.cante as cante,]+; + [r.id_lucrare,r.nrord,r.id_gestiune,r.nume_gestiune,r.serie,r.lot,r.cgest,r.nnir,a.nract,r.serie_act,r.nresp,] + ; + [(select max(marca) from sal_personal where id_part = r.id_responsabil and id_salariat in ] + ; + [(select id_persoana from sal_stat where an =?gnAn and luna = ?gnLuna and sters = 0)) as marca, r.id_rul from vrul r ]+; + [ left join act a on a.sters=0 and r.cod=a.cod and a.luna=r.luna and a.an=r.an ] + ; + [where r.luna=?gnLuna and r.an=?gnAn and r.nnir = ?pnNir and r.cant=0 and r.cante<>0] + ; + STRTRAN(gcCondSucursala,[id_sucursala],[r.id_sucursala]) + [ ] + ; + [order by r.nnir,r.cgest,r.nrord,r.id_rul] + lcCursor=[crsrul] + lnSucces = goExecutor.oexecute(lcSql,lcCursor) + If lnSucces < 0 + amessagebox(goExecutor.cEroare,0+16,"Eroare") + Return + Endif + + If Reccount('crsrul')=0 + amessagebox("Nu a fost emisa nota cu numarul "+Alltrim(Str(pnNir))+" in luna curenta!",0+48,"Atentie") + Use In crsrul + Return + Endif + + Select Distinct id_gestiune, nume_gestiune, nrord From crsrul Into Cursor crs_gest_out + Select crs_gest_out + Scan + pcGestout = pcGestout + ',' + Alltrim(nume_gestiune) + pcNrord = pcNrord + ',' + Alltrim(nrord) + Endscan + Use In crs_gest_out + + pcGestout = Substr(pcGestout,2) + pcNrord = Substr(pcNrord,2) + *ptDataOra=get_ora() + *!* modificare ROAPRODUCTIE v 2.0.2 +*!* pcDataOra = get_ora(2) + + Private pcSemnaturi + Store '' To pcSemnaturi + + Select crsrul + If pnTip # 6 + param_listari('rap_retur_achi',,@pcSemnaturi,.T.) + Select crsrul +*!* Report Form rap_retur_achi To Printer Prompt Preview + goExport.export2frx([crsrul],[rap_retur_achi], , , , , , .T.) + Else +*!* Report Form rap_retur_vanz To Printer Prompt Preview + goExport.export2frx([crsrul],[rap_retur_vanz], , , , , , .T.) + Endif + + If Used('crsrul') + Use In crsrul + Endif + + Return +ENDPROC && listare_retur + *------------------------------------------------------- + + *!* Procedure listare_facturi + *!* Parameters tcSerieAct,tnNract + + *!* *!* && object goFirma + + *!* lcSql = [Select distinct cod, serie_act, nract,id_fact,id_partd,dataact from ] + gcS + [.vact ] + ; + *!* [where an = ?gnAn and luna = ?gnLuna and nract = ?tnNract and NVL(serie_act,'+_') = NVL(?tcSerieAct,'+_') ] + ; + *!* [and scd = '4111'] + *!* lcCursor=[crsact] + *!* lnSucces = goExecutor.oExecute(lcSql,lcCursor) + *!* If lnSucces < 0 + *!* aMESSAGEBOX(goExecutor.cEroare,0+16,"Eroare") + *!* Return + *!* Endif + + *!* Select crsact + *!* Scatter Name oAct + *!* lnIdPart = oAct.id_partd + *!* lnIdfact = oAct.id_fact + *!* lnCod = oAct.cod + *!* pdDataact = Ttod(oAct.dataact) + + *!* lcSql = [Select * from ] + gcS + [.vnom_parteneri where id_part = ?lnIdPart ] + *!* lcCursor=[crspart] + *!* lnSucces = goExecutor.oExecute(lcSql,lcCursor) + *!* If lnSucces < 0 + *!* aMESSAGEBOX(goExecutor.cEroare,0+16,"Eroare") + *!* Return + *!* Endif + + *!* Select crspart + *!* Scatter Name opart + + *!* lcSql = [Select * from ] + gcS + [.vrul where an = ?gnAn and luna = ?gnLuna and id_fact=?lnIdFact and cod=?lnCod and cante<>0] + *!* lcCursor=[crsrul] + *!* lnSucces = goExecutor.oExecute(lcSql,lcCursor) + *!* If lnSucces < 0 + *!* aMESSAGEBOX(goExecutor.cEroare,0+16,"Eroare") + *!* Return + *!* Endif + + *!* Store [] To pcdelegat, pcbi, pceliberatde, pcnrinmat + *!* Do Form DATEFACT + *!* *!* sele optiuni + *!* *!* loca for optiune='FORMAT A4' + *!* llA4 = .T. + + *!* *ptDataOra=get_ora() + *!* pcDataOra = get_ora(2) + + *!* Select crsrul + + *!* If llA4 + *!* Report Form rap_FACTURI_vanzari_A4 To Printer Prompt Preview + *!* Else + *!* Report Form rap_FACTURI_vanzari_A5 To Printer Prompt Preview + *!* Endif + + *!* If Used('crsact') + *!* Use In crsact + *!* Endif + *!* If Used('crsrul') + *!* Use In crsrul + *!* Endif + *!* If Used('crspart') + *!* Use In crspart + *!* Endif + + *!* Endproc && listare_facuri + ***************************************************************************************** + +Procedure fisa_magazie_FIFO_vechi + Parameters tcod,tfis1,tfis2,tdata1,tdata2 + + lcod=Alltrim(tcod) + ldata1 = Alltrim(tdata1) + If !Empty(tdata2) + ldata2 = Alltrim(tdata2) + Else + ldata2 = ldata1 + Endif + + If Used('fisa_stoc') + Use In fisa_stoc + Endif + Create Cursor fisa_stoc (ldata d,nrdoc c(15),cantin N(12,3),pretin N(12,3),valin N(14,2),; + cantout N(12,3),pretout N(12,3),valout N(14,2),cantf N(12,3),pretf N(12,3),valf N(14,2),idf N(3)) + + && -----------------------&tfis1 = stocul + + lcSql = [select cants as cantf,pret as pretf,cants*.pret as valf,datain from ] + gcS + [.]+tfis1+[ where id_articol=]+lcod+[ order by datain] + lcCursor = [cstoc] + lnSucces = goExecutor.oexecute(lcSql,lcCursor) + goExecutor.oReset() + + If lnSucces > 0 + Select cstoc + Delete All For cantf=0 + + Select fisa_stoc + Append From Dbf('CSTOC') For !Deleted() + Select fisa_stoc + + Go Top + If Eof() + Append Blank + Endif + + Sum cantf To lnCantf + Sum valf To lnValf + + Go Top + Replace cantin With lnCantf, valin With lnValf,nrdoc With 'Stoc initial' + Replace All idf With 1 + If lnCantf#0 + Replace pretin With lnValf/lnCantf + Endif + &&----------------------&tfis2 = rulajele + + lcSql = [select * from ] + gcS + [.] + tfis2 + [ where id_articol=]+lcod+; + [ and trunc(dataact) between to_date(']+ldata1+[','YYYY-MM-DD') AND TO_DATE(']+ldata2+[','YYYY-MM-DD')]+; + [ order by dataact] + lcCursor = [trulaj] + lnSucces = goExecutor.oexecute(lcSql,lcCursor) + goExecutor.oReset() + Endif + + If lnSucces > 0 + Select trulaj + Scan + Scatter Name xrul + + Select fisa_stoc + Calculate Max(idf) To lnMax + lnMax=lnMax+1 + Append From Dbf('cstoc') For !Deleted() + Replace All idf With lnMax For Empty(idf) + + Do Case + Case xrul.cant#0 &&AND !INLIST(xrul.pret,&lista) + Locate For pretf=xrul.Pret And idf=lnMax + If !Found() + Select fisa_stoc + Append Blank + Replace cantin With xrul.cant,pretin With xrul.Pret,valin With xrul.cant*xrul.Pret + Replace cantf With xrul.cant,pretf With xrul.Pret,valf With xrul.cant*xrul.Pret + Replace idf With lnMax,ldata With xrul.datain,nrdoc With xrul.nnir + + Select cstoc + Append Blank + Replace cantf With xrul.cant,pretf With xrul.Pret,valf With xrul.cant*xrul.Pret + Else + Replace cantin With xrul.cant,pretin With xrul.Pret,valin With xrul.cant*xrul.Pret + Replace cantf With cantf+cantin,valf With valf+valin + Replace ldata With xrul.datain,nrdoc With xrul.nnir + + Select cstoc + Locate For pretf=xrul.Pret + Replace cantf With cantf+xrul.cant,valf With valf+xrul.cant*xrul.Pret + Endif + Case xrul.cante#0 + Select fisa_stoc + Locate For pretf=xrul.Pret And idf=lnMax + If !Found() + *DO mesaj WITH 'Stoc negativ','' + Append Blank + Replace idf With lnMax + Endif + + Replace cantout With xrul.cante,pretout With xrul.Pret,valout With xrul.cante*xrul.Pret + Replace cantf With cantf-cantout,pretf With xrul.Pret,valf With valf-valout + Replace ldata With xrul.dataout,nrdoc With xrul.nnir + + Select cstoc + Locate For pretf=xrul.Pret + If !Found() + *DO mesaj WITH 'Stoc negativ','' + Append Blank + Endif + Replace cantf With cantf-xrul.cante,pretf With xrul.Pret,valf With valf-xrul.cante*xrul.Pret + + Endcase + Select cstoc + Delete All For cantf=0 + Release xrul + Select trulaj + Endscan + Endif + If Used('trulaj') + Use In trulaj + Endif + If Used('cstoc') + Use In cstoc + Endif + +Endproc &&fisa_magazie_FIFO + +*----------------------------------------------------------------- + +Procedure list_bon_pe_lucrare + Parameters tnTip + + Private lnCod,lnIdLucrare,lnSuma1,lnSuma2,loact,pnTip,lnLuna1,lnLuna2,lnAn1,lnAn2,pcondper,lnInf ,lnSup,lcCondIdSet + Store "" To loact,pcondper + Store 0 To lnSuma1,lnSuma2,lnIdLucrare,lnInf,lnSup + + oper = Createobject('frm_perioada_luni') + oper._optiongrup1.Value=1 + oper.Show(1) + Release oper + + + If Occurs('_',pcondper)>0 + lpos = At('_',pcondper) + ldata1 = Substr(pcondper,1,lpos-1) + ldata2 = Substr(pcondper,lpos+1) + lcd1 = Substr(ldata1,1,2)+'.'+Substr(ldata1,3,4) + lcd2 = Substr(ldata2,1,2)+'.'+Substr(ldata2,3,4) + pcperioada='De la: '+lcd1+' pana la '+lcd2 + Else + ldata1 = pcondper + pcperioada='LUNA: '+Substr(ldata1,1,2)+'.'+Substr(ldata1,3,4) + ldata2 = ldata1 + Endif + lnLuna1 = Val(Substr(ldata1,1,2)) + lnAn1 = Val(Substr(ldata1,3,4)) + lnLuna2 = Val(Substr(ldata2,1,2)) + lnAn2 = Val(Substr(ldata2,3,4)) + + *pcselect = ['select * from ] + gcS + [.vLucrari_validat where 2=2'] + pcselect = [select * from vnom_Lucrari] + pcfiltru = [1=2] + pcschema = [] + pcorder = [nrord] + pccoloane = [nrord] + pcTitlu = [Lucrare/Comanda] + *pcFiltruOriginal = [validat = 0 and inactiv = 0] + pcFiltruOriginal = [] + locauta = cauta_alfa(pcselect,pcfiltru,pcschema,pcorder,pccoloane,pcTitlu,pcTitlu,'',.T.,pcFiltruOriginal) && 11.07.2007 + + If Empty(locauta.id_lucrare) And Empty(locauta.nrord) + Return + Endif + + lnIdLucrare = locauta.id_lucrare + + If Empty(tnTip) + pnTip = 0 + Else + pnTip = tnTip + Endif + + If Used('crsrul') + Use In crsrul + Endif + + lnInf = lnLuna1+ 12*lnAn1 + lnSup = lnLuna2+ 12*lnAn2 + *!* modificare 29.03.2013 v 2.2.7: id_set <> 268 in lcCondTipGest - sa nu se listeze bonurile importate din xml cu productia de vopsea pentru ca n-ar fi corect sa apara produsul final pe bon + + lcCondIdSet = " and id_set <> 268 " + + lcSql=[select * from ] + gcS + [.vrul where (luna+12*an between ?lnInf and ?lnSup) and cant=0 and cante<>0 ] +; + IIF(Alltrim(locauta.nrord)="",[],[and id_lucrare=?lnIdLucrare ]) +; + [and id_gestiune in (select distinct id_gestiune from ] + gcS + [.vnom_gestiuni where nr_pag ] + ; + IIF(pnTip=6,[=],[<>])+[ 6) ] + gcCondSucursala + lcCondIdSet +; + [order by nrord,nnir,cgest,nresp,sectie,id_rul] + lcCursor=[crsrul] + lnSucces = goExecutor.oexecute(lcSql,lcCursor) + If lnSucces < 0 + amessagebox(goExecutor.cEroare,0+16,"Eroare") + Endif + + If Reccount('crsrul')=0 + amessagebox("Nu exista bonuri pe aceasta lucrare !",0+48,"Atentie") + lnSucces = -1 + Endif + + If lnSucces > 0 +*!* modificare ROAPRODUCTIE v 2.0.2 +*!* pcDataOra = get_ora(2) +*!* Select crsrul + If pnTip # 6 +*!* Report Form rap_bon_lucrare To Printer Prompt Preview + goExport.export2frx([crsrul],[rap_bon_lucrare], , , , , , .T.) +*!* modificare ROAPRODUCTIE v 2.0.2 ^ + Endif + Endif + + Release locauta + If Used('crsrul') + Use In crsrul + Endif + +Endproc && list_bon_pe_lucrare + +*------------------------------------------------------------- + +Procedure list_total_NIR + Parameters tnTip + + pnTip = tnTip + + *!* modificare ROAGEST v 2.0.6 + *!* Do Case + *!* Case "-1" $ gcGestPermis + *!* pcselect = [select * from vnom_GESTIUNI] + *!* pcFiltruOrig = [inactiv = 0 and nr_pag = ?pnTip] + *!* pcfiltru = [1=2] + *!* pcschema = [''] + *!* pcorder = [nume_gestiune] + *!* pccoloane = [nume_gestiune,cgest] + *!* pcTitlu = [Alegeti gestiunea] + *!* pcTitluColoane = [Gestiune,Indicativ] + *!* locauta = cauta_alfa(pcselect,pcfiltru,pcschema,pcorder,pccoloane,pcTitlu,pcTitluColoane,"",.T.,pcFiltruOrig) && 11.07.2007 + *!* Otherwise + pcselect = [select * from vnom_GESTIUNI] + pcFiltruOrig = [inactiv = 0 and nr_pag = ?pnTip and id_gestiune in ] + ; + [(select g.id_gestiune from vgest_coresp_grupe_gestiuni g join ] + ; + [vgest_coresp_util_grupe u on g.id_grupe = u.id_grupe and u.id_util = ?gnIdUtil)] + pcfiltru = [1=2] + pcschema = [''] + pcorder = [nume_gestiune] + pccoloane = [nume_gestiune,cgest] + pcTitlu = [Alegeti gestiunea] + pcTitluColoane = [Gestiune,Indicativ] + locauta = cauta_alfa(pcselect,pcfiltru,pcschema,pcorder,pccoloane,pcTitlu,pcTitluColoane,"",.T.,pcFiltruOrig ) && 11.07.2007 + *!* Endcase + *!* modificare ROAGEST v 2.0.6 ^ + If locauta.id_gestiune = 0 And Alltrim(Upper(locauta.nume_gestiune)) # "" + Release locauta + Return + Endif + + pcNumeGestiune = Alltrim(Upper(locauta.nume_gestiune)) + pnIdGest = Iif(pcNumeGestiune # "", locauta.id_gestiune, -1) + + Release locauta + + If pnIdGest = -1 + lcCond = [ and r.id_gestiune in (select distinct id_gestiune from ] + gcS + [.vnom_gestiuni where nr_pag = ?pnTip) and id_gestiune in ] + ; + [(select g.id_gestiune from ] + gcS + [.vgest_coresp_grupe_gestiuni g join ] + ; + gcS + [.vgest_coresp_util_grupe u on g.id_grupe = u.id_grupe and u.id_util = ?gnIdUtil) ] + Else + lcCond = [ and r.id_gestiune = ?pnIdGest ] + Endif + + lcSql = [SELECT r.serie,r.lot,r.codmat,r.denumire,r.um,r.cant,r.pret,r.pretd,r.tva,r.id_gestiune,r.cgest,r.nume_gestiune,r.nnir,r.proc_tva, ]+; + [r.gestionar,r.comisie_receptie1,r.comisie_receptie2,r.comisie_receptie3, ] + ; + [(select NVL(min(a.id_act), -1) from act a where r.cod = a.cod AND r.cont = a.scd and r.an = a.an and r.luna = a.luna and a.sters = 0 ]+; + [and NVL(r.id_sucursala, -99) = NVL(a.id_sucursala, -99)) as id_act, r.nume_val, r.curs ]+ ; + [FROM vrul r ] +; + [WHERE r.cant<>0 AND r.cante=0 and r.an = ?gnAn and r.luna = ?gnLuna ] + lcCond + + *STRTOFILE(lcSql, 'c:\Sql.txt') + lcCursor=[crsrul] + lnSucces = goExecutor.oexecute(lcSql,lcCursor) + If lnSucces < 0 + amessagebox(goExecutor.cEroare,0+16,"Eroare") + Endif + + If lnSucces > 0 + If Reccount('crsrul') > 0 + lcListaID = [-1] + Select Distinct id_act From crsrul Into Cursor tActuri + Select tActuri + Scan + lcListaID = lcListaID + [,] + Alltrim(Str(id_act)) + Endscan + *lcListaID = SUBSTR(lcListaID,2) + + lcSql = [SELECT id_act, partc as nume, serie_act, nract, dataact, dataireg, fdoc from vact where id_act in (] + lcListaID +[)] + lcCursor=[crsAct] + lnSucces = goExecutor.oexecute(lcSql,lcCursor) + If lnSucces < 0 + amessagebox(goExecutor.cEroare,0+16,"Eroare") + Endif + + Select r.*, a.*, 0 As discount, 0 As tvaDiscount From crsrul r ; + LEFT Join crsact a On r.id_act = a.id_act ; + INTO Cursor crslistare ; + ORDER By r.nnir + +*!* modificare ROAPRODUCTIE v 2.0.2 +*!* pcDataOra = get_ora(2) +*!* Select crslistare + *!* modificare 08.11.2007 +*!* Report Form rap_nir_toate.frx To Printer Prompt Preview + goExport.export2frx([crslistare],[rap_nir_toate], , , , , , .T.) +*!* modificare ROAPRODUCTIE v 2.0.2 ^ + *!* If pnTip = 6 + *!* Report Form rap_nir_toate.frx To Printer Prompt Preview + *!* Else + *!* Report Form rap_nir_toate.frx To Printer Prompt Preview + *!* Endif + *!* modificare 08.11.2007 ^ + Else + amessagebox('Nu a fost inregistrat nici un NIR in luna curenta' + Chr(13) + 'care sa indeplineasca conditiile!',0+48,'Atentie') + Endif + Endif + If Used('crsListare') + Use In crslistare + Endif + If Used('crsAct') + Use In crsact + Endif + If Used('crsRul') + Use In crsrul + Endif + +Endproc && list_total_NIR + +*------------------------------------------------------------- + +Procedure list_total_BON + Parameters tnTip + + pnTip = tnTip + + *!* modificare ROAGEST v 2.0.6 + *!* Do Case + *!* Case "-1" $ gcGestPermis + *!* pcselect = [select * from vnom_GESTIUNI] + *!* pcFiltruOrig = [inactiv = 0 and nr_pag = ?pnTip] + *!* pcfiltru = [1=2] + *!* pcschema = [''] + *!* pcorder = [nume_gestiune] + *!* pccoloane = [nume_gestiune,cgest] + *!* pcTitlu = [Alegeti gestiunea] + *!* pcTitluColoane = [Gestiune,Indicativ] + *!* locauta = cauta_alfa(pcselect,pcfiltru,pcschema,pcorder,pccoloane,pcTitlu,pcTitluColoane,"",.T.,pcFiltruOrig) && 11.07.2007 + *!* Otherwise + pcselect = [select * from vnom_GESTIUNI] + pcFiltruOrig = [inactiv = 0 and nr_pag = ?pnTip and id_gestiune in ] + ; + [(select g.id_gestiune from vgest_coresp_grupe_gestiuni g join ] + ; + [vgest_coresp_util_grupe u on g.id_grupe = u.id_grupe and u.id_util = ?gnIdUtil)] + pcfiltru = [1=2] + pcschema = [] + pcorder = [nume_gestiune] + pccoloane = [nume_gestiune,cgest] + pcTitlu = [Alegeti gestiunea] + pcTitluColoane = [Gestiune,Indicativ] + locauta = cauta_alfa(pcselect,pcfiltru,pcschema,pcorder,pccoloane,pcTitlu,pcTitluColoane,"",.T.,pcFiltruOrig ) && 11.07.2007 + *!* Endcase + *!* modificare ROAGEST v 2.0.6 ^ + If locauta.id_gestiune = 0 And Alltrim(Upper(locauta.nume_gestiune)) # "" + Release locauta + Return + Endif + + pcNumeGestiune = Alltrim(Upper(locauta.nume_gestiune)) + pnIdGest = Iif(pcNumeGestiune # "", locauta.id_gestiune, -1) + + Release locauta + + If pnIdGest = -1 + lcCond = [ and r.id_gestiune in (select distinct id_gestiune from ] + gcS + [.vnom_gestiuni where nr_pag = ?pnTip) and id_gestiune in ] + ; + [(select g.id_gestiune from ] + gcS + [.vgest_coresp_grupe_gestiuni g join ] + ; + gcS + [.vgest_coresp_util_grupe u on g.id_grupe = u.id_grupe and u.id_util = ?gnIdUtil) ] + Else + lcCond = [ and r.id_gestiune = ?pnIdGest ] + Endif + + *!* modificare 29.03.2013 v 2.2.7: id_set <> 268 in lcCondTipGest - sa nu se listeze bonurile importate din xml cu productia de vopsea pentru ca n-ar fi corect sa apara produsul final pe bon + + lcCondIdSet = " and r.id_set <> 268 " + + lcSql = [SELECT r.serie,r.lot,r.codmat,r.denumire,r.um,r.cantE,r.pret,r.id_gestiune,r.cgest,r.nume_gestiune,r.nnir,r.dataact, ]+ ; + [r.gestionar,r.comisie_receptie1,r.comisie_receptie2,r.comisie_receptie3 ] + ; + [FROM vrul r ] +; + [WHERE r.cantE<>0 AND r.cant=0 and r.an = ?gnAn and r.luna = ?gnLuna ] + lcCond + ; + STRTRAN(gcCondSucursala,[id_sucursala],[r.id_sucursala]) + [ ] +lcCondIdSet + ; + [ORDER BY r.nume_gestiune, r.nnir] + + * [group by r.codmat,r.denumire,r.um,r.cant,r.pret,r.id_gestiune,r.cgest,r.nume_gestiune,r.nnir,r.proc_tva ]+ + *STRTOFILE(lcSql, 'c:\Sql.txt') + + If Used('crsRul') + Use In crsrul + Endif + + lcCursor=[crsrul] + lnSucces = goExecutor.oexecute(lcSql,lcCursor) + If lnSucces < 0 + amessagebox(goExecutor.cEroare,0+16,"Eroare") + Endif + + If lnSucces > 0 + If Reccount('crsrul') > 0 + *!* modificare ROAPRODUCTIE v 2.0.2 +*!* pcDataOra = get_ora(2) +*!* Select crsrul +*!* Report Form rap_BONURI.frx To Printer Prompt Preview + goExport.export2frx([crsrul],[rap_bonuri], , , , , , .T.) + *!* modificare ROAPRODUCTIE v 2.0.2 ^ + Else + amessagebox('Nu a fost inregistrat nici un NIR in luna curenta' + Chr(13) + 'care sa indeplineasca conditiile!',0+48,'Atentie') + Endif + Endif + + If Used('crsRul') + Use In crsrul + Endif + +Endproc && list_total_BON + +*----------------------------------------------------- +Procedure ver_nir_facturi + Parameters tnFelFact, tlProductie + Local lcSchema, lcSelect, lcOrder, lcFiltru, lcFiltruOriginal, llAfiseaza + Local lcCondProductie, lcCondConturi + lcCondProductie = "" + lcCondConturi = "" + + Private pnCod, pcCont, pcAcont, pnFel + Store '' To pcCont, pcAcont + pnCod = 0 + + Local llProductie + llProductie = tlProductie + + Private poNirBon + Store '' To poNirBon + + If Empty(tnFelFact) + pnFel = 1 && de achizitie + Else + pnFel = tnFelFact + Endif + + + + *!* VERIFICARE FACTURI - NIR-URI + && SELECTEZ DIN ACT FACTURILE DE ACHIZITIE/VANZARE (BAZA, TVA, SUMA - INCLUSIV DISCOUNTUL 667, 767) + lcSchema = [] + *!* modificare ROAPRODUCTIE v 2.0.2 + If tlProductie + lcCondProductie = [a.id_set in (26000,26001)] + ELSE + *!* modificare ROAGEST v 2.0.120 : am adaugat conditia "not like '5%'" + lcCondProductie = [2=2] + lcCondConturi = Iif(pnFel = 1, [ and ((a.scc in ('401', '404', '408', '462') and a.scd not like '5%') OR (a.scd in ('401', '404', '408', '462') and a.scc not like '5%'))], ; + [ and ((a.scc in ('4111','4118','461') and a.scd not like '5%') OR (a.scd in ('4111','4118','461') and a.scc not like '5%'))]) + Endif + *!* lcCondProductie = Iif(tlProductie, [a.id_set in (26000, 26001) ], [2=2 ]) + *!* lcCondConturi = Iif(pnFel = 1, [ and (a.scc in ('401', '404', '408', '462') OR a.scd in ('401', '404', '408', '462'))], ; + *!* [ and (a.scc in ('4111','4118','461') OR a.scd in ('4111','4118','461'))]) + *!* modificare ROAPRODUCTIE v 2.0.2 ^ + TEXT to lcSelect textmerge noshow +select a1.cod, + a1.nract, + a1.serie_act, + a1.dataact, + b.denumire as part, + a1.nnir, + a1.id_sectie, + s.sectie, + a1.suma - a1.tva as baza, + a1.tva, + a1.suma, + a1.disc_baza, + a1.disc_tva, + a1.an, + a1.luna + from (select cod, + nract, + serie_act, + dataact, + an, + luna, + decode(exceptie, 1, id_partd, id_partc) as id_partc, + nnir, + id_sectie, + sum(DECODE(EXCEPTIE, 1, -suma, suma)) as suma, + sum(CASE + WHEN SCD IN ('4426', '4427', '4428') OR + SCC IN ('4426', '4427', '4428') then + DECODE(EXCEPTIE, 1, -suma, suma) + ELSE + 0 + END) as tva, + SUM(case when SCC = '767' THEN SUMA ELSE 0 END) AS disc_baza, + SUM(case when SCC = '767' THEN ROUND(SUMA*(proc_tva-1),<>) ELSE 0 END) AS disc_tva + from act a + LEFT JOIN (SELECT DISTINCT 1 AS EXCEPTIE, + DECODE(DEBIT, 1, CONT_C, CONT) AS ESCD, + DECODE(DEBIT, 1, CONT, CONT_C) AS ESCC + FROM EXCEPTII_IREG + WHERE INVERS = 1) E ON A.SCD = E.ESCD + AND A.SCC = E.ESCC + + WHERE <> <> <> + and sters = 0 + and cod in (select distinct cod + from vrul + where < 0], [cante <> 0])>> + <>) + GROUP BY COD, + SERIE_ACT, + NRACT, + DATAACT, + AN, + LUNA, + NNIR, + ID_SECTIE, + decode(exceptie, 1, id_partd, id_partc)) a1 + left join nom_parteneri b on a1.id_partc = b.id_part + left join nom_sectii s on a1.id_sectie = s.id_sectie + ENDTEXT + *!* WHERE NVL(A1.DATAACT,to_date('1900-01-01','YYYY-MM-DD')) + *!* between to_date('20080101 00:00:00','YYYY-MM-DD HH24:MI:SS') AND + *!* to_date('20080930 23:59:59','YYYY-MM-DD HH24:MI:SS') + + lcgroup = [] + lcFiltruOriginal = [] + lcOrder = [A1.DATAACT,A1.SERIE_ACT,A1.NRACT] + + lcFiltru = [a1.an=?gnAn and a1.luna=?gnLuna] + llModParam = .T. + llAfiseaza = .F. + + gencursor('poNirBon','crsAct', lcSelect, lcFiltru, lcSchema, lcOrder, llAfiseaza, lcgroup, llModParam, lcFiltruOriginal) + poNirBon.ca_baza1.afisare() + + && SELECTEZ DIN RUL ARTICOLELE DE PE FACTURA CURENTA DUPA COD + Private poRul + poRul = '' + + + lcSqlRul = [select cod, nnir, id_articol, codmat, denumire, serie, lot, um, pret, tva, proc_tva, pretv, tvav, proc_tvav, ] + ; + IIF(pnFel = 1, [cant], [cante]) + [ as cantitate,] + ; + [(case id_set when 234 then Round((PRET+TVA)*CANT, ?gnPC)- Round(Round((PRET+TVA)*CANT, ?gnPC)*(proc_tva-1)/proc_tva, ?gnPC) ] + ; + [ else ROUND(pret*] + Iif(pnFel = 1, [cant], [cante]) + [,?gnPc) end) as valoare,] + ; + [(case when nr_pag = 6 and proc_tvav <> 0 then + Round(] + Iif(pnFel = 1, [cant], [cante]) + [*(pretv + tvav), ?gnPC) - ] + ; + [ Round(Round(] + Iif(pnFel = 1, [cant], [cante]) + [*(pretv+tvav), ?gnPC)*(PROC_TVAV-1)/PROC_TVAV, ?gnPC) else ] + ; + [ Round(] + Iif(pnFel = 1, [cant], [cante]) + [*pretv, ?gnPC) end) as valoarev, ] + ; + [(case when nr_pag = 6 and proc_tvav <> 0 then Round(] + Iif(pnFel = 1, [cant], [cante]) + [*(pretv + tvav), ?gnPC) else ] + ; + [ Round(] + Iif(pnFel = 1, [cant], [cante]) + [*pretv, ?gnPC) + Round(Round(] + Iif(pnFel = 1, [cant], [cante]) + [*pretv, ?gnPC)*(PROC_TVAV-1), ?gnPC) end) as valoarevtva, ] + ; + [cont, acont from vrul] + +*!* pcfiltru = [ an = ?gnAn and luna = ?gnLuna and cod = ?pnCod ] + pcfiltru = [ 1=2 ] + + pcschema = [] + pcorder = [dataora] + lcFiltruOriginal = Iif(tlProductie,[id_set in (26000,26001) and ],[]) + [id_tip_rulaj = 0] + gcCondSucursala + [ and cod = ?pnCod] + llAfiseaza = .F. + llModParam = .T. + lcGrup = [] + gencursor('poRul','crsRul',lcSqlRul,pcfiltru,pcschema,pcorder,llAfiseaza,lcGrup,llModParam,lcFiltruOriginal) + poRul.ca_baza1.afisare() + + *!* VERIFICARE NIR-URI - FACTURI + && SELECTEZ DIN RUL NIR-URILE GRUPATE DUPA COD, NNIR, SECTIE, NRORD, DATAACT + lcSqlRulCont = [select cod, nnir, sectie, nrord, dataact, ] + ; + [SUM(case id_set when 234 then Round((PRET+TVA)*CANT, ?gnPC)- Round(Round((PRET+TVA)*CANT, ?gnPC)*(proc_tva-1)/proc_tva, ?gnPC) ] + ; + [ else ROUND(pret*] + Iif(pnFel = 1, [cant], [cante]) + [,?gnPc) end) as valoare,] + ; + [SUM(case id_set when 234 then Round(Round((PRET+TVA)*CANT, ?gnPC)*(proc_tva-1)/proc_tva, ?gnPC) ] + ; + [ else Round(ROUND(pret*] + Iif(pnFel = 1, [cant], [cante]) + [,?gnPc)*(proc_tva-1), ?gnPC) end) as valtva,] + ; + [SUM(case id_set when 234 then Round((PRET+TVA)*CANT, ?gnPC) ] + ; + [ else ROUND(pret*] + Iif(pnFel = 1, [cant], [cante]) + [,?gnPc) + Round(Round(] + Iif(pnFel = 1, [cant], [cante]) + [*pret, ?gnPC)*(PROC_TVA-1), ?gnPC) end) as valctva,] + ; + [SUM(case when nr_pag in (6,7) and proc_tvav <> 0 then + Round(] + Iif(pnFel = 1, [cant], [cante]) + [*(pretv + tvav), ?gnPC) - ] + ; + [ Round(Round(] + Iif(pnFel = 1, [cant], [cante]) + [*(pretv+tvav), ?gnPC)*(PROC_TVAV-1)/PROC_TVAV, ?gnPC) else ] + ; + [ Round(] + Iif(pnFel = 1, [cant], [cante]) + [*pretv, ?gnPC) end) as valoarev, ] + ; + [SUM(case when nr_pag in (6,7) and proc_tvav <> 0 then Round(] + Iif(pnFel = 1, [cant], [cante]) + [*(pretv + tvav), ?gnPC) else ] + ; + [ Round(] + Iif(pnFel = 1, [cant], [cante]) + [*pretv, ?gnPC) + Round(Round(] + Iif(pnFel = 1, [cant], [cante]) + [*pretv, ?gnPC)*(PROC_TVAV-1), ?gnPC) end) as valoarevtva ] + ; + [from vrul where an = ?gnAn and luna = ?gnLuna and ]+; + IIF(tlProductie, [(id_set=26000 or id_set=26001) and ],[]) + ; + [id_tip_rulaj = 0 ] + gcCondSucursala + [ and ] + ; + IIF(pnFel = 1, [cant], [cante]) + [ <> 0 ] + ; + [group by cod, nnir, dataact, nrord, sectie ORDER BY DATAACT, NNIR] + + lcCursor = [crsRulCont] + lnSucces = goExecutor.oexecute(lcSqlRulCont,lcCursor) + If lnSucces < 0 + lcmesaj = goExecutor.cEroare + ofrm_er = Createobject('frm_mesaj','Eroare','exclam.ico','Avertizare',lcmesaj) + ofrm_er.Show(1) + Release ofrm_er + Endif + + Private poact + poact = '' + + + && selectez din act factura corespunzatoare codului NIR-ului pe care sunt pozitionat + lcFiltru = [] + lcSchema = [] + lcOrder = [] + lcgroup = [] + llModParam = .T. + lcFiltruOriginal = [] + + TEXT to lcSelect textmerge noshow +select a1.cod, + a1.nract, + a1.serie_act, + a1.dataact, + b.denumire as part, + a1.nnir, + a1.id_sectie, + s.sectie, + a1.suma - a1.tva as baza, + a1.tva, + a1.suma, + a1.an, + a1.luna + from (select cod, + nract, + serie_act, + dataact, + an, + luna, + decode(exceptie, 1, id_partd, id_partc) as id_partc, + nnir, + id_sectie, + sum(DECODE(EXCEPTIE, 1, -suma, suma)) as suma, + sum(CASE + WHEN SCD IN ('4426', '4427', '4428') OR + SCC IN ('4426', '4427', '4428') then + DECODE(EXCEPTIE, 1, -suma, suma) + ELSE + 0 + END) as tva + from act a + LEFT JOIN (SELECT DISTINCT 1 AS EXCEPTIE, + DECODE(DEBIT, 1, CONT_C, CONT) AS ESCD, + DECODE(DEBIT, 1, CONT, CONT_C) AS ESCC + FROM EXCEPTII_IREG + WHERE INVERS = 1) E ON A.SCD = E.ESCD + AND A.SCC = E.ESCC + + WHERE <> <> <> + and sters = 0 + and cod=?pnCod + GROUP BY COD, + SERIE_ACT, + NRACT, + DATAACT, + AN, + LUNA, + NNIR, + ID_SECTIE, + decode(exceptie, 1, id_partd, id_partc)) a1 + left join nom_parteneri b on a1.id_partc = b.id_part + left join nom_sectii s on a1.id_sectie = s.id_sectie + + ENDTEXT + + gencursor('poAct','crsActCont', lcSelect, lcFiltru, lcSchema, lcOrder, llAfiseaza, lcgroup, llModParam, lcFiltruOriginal) + poact.ca_baza1.afisare() + + *** vizualizare + Select crsact + Do Form frm_verificare_rulaje With pnFel, llProductie + + If Used('crsAct') + Use In crsact + Endif + + If Used('crsRul') + Use In crsrul + Endif + + If Used('crsActCont') + Use In crsActCont + Endif + + If Used('crsRulCont') + Use In crsRulCont + Endif +Endproc && ver_nir_facturi + +***---------------------------------------------------------------------------------------------------------------------------------- +PROCEDURE listare_centralizator_nir_bon + LPARAMETERS tnTip, tlProductie, tcFiltruData + * tnTip: 1 = NIR (cant <> 0); 2 = BON CONSUM (cante <> 0) + * tlProductie: ROAPRODUCTIE + * tcFiltruData: dataact >= ... and dataact <=...., apelat din ver_nir_facturi > frm_verificare_rulaje.scx + Private poNirBon + Store '' To poNirBon + + Local lcFiltruData, lnTip + lcFiltruData=[] + lnTip = IIF(TYPE('tnTip') = 'N', m.tnTip, 1) + + If !EMPTY(m.tcFiltruData) + lcFiltruData = lcFiltruData + m.tcFiltruData + ENDIF + +**************************** + llUsedAct = USED('crsAct') + IF !m.llUsedAct + + && SELECTEZ DIN ACT FACTURILE DE ACHIZITIE/VANZARE (BAZA, TVA, SUMA - INCLUSIV DISCOUNTUL 667, 767) + lcSchema = [] + If tlProductie + lcCondProductie = [a.id_set in (26000,26001)] + ELSE + lcCondProductie = [2=2] + lcCondConturi = Iif(lnTip = 1, [ and ((a.scc in ('401', '404', '408', '462') and a.scd not like '5%') OR (a.scd in ('401', '404', '408', '462') and a.scc not like '5%'))], ; + [ and ((a.scc in ('4111','4118','461') and a.scd not like '5%') OR (a.scd in ('4111','4118','461') and a.scc not like '5%'))]) + Endif + + TEXT to lcSelect textmerge noshow + select a1.cod, + a1.nract, + a1.serie_act, + a1.dataact, + b.denumire as part, + a1.nnir, + a1.id_sectie, + s.sectie, + a1.suma - a1.tva as baza, + a1.tva, + a1.suma, + a1.disc_baza, + a1.disc_tva, + a1.an, + a1.luna + from (select cod, + nract, + serie_act, + dataact, + an, + luna, + decode(exceptie, 1, id_partd, id_partc) as id_partc, + nnir, + id_sectie, + sum(DECODE(EXCEPTIE, 1, -suma, suma)) as suma, + sum(CASE + WHEN SCD IN ('4426', '4427', '4428') OR + SCC IN ('4426', '4427', '4428') then + DECODE(EXCEPTIE, 1, -suma, suma) + ELSE + 0 + END) as tva, + SUM(case when SCC = '767' THEN SUMA ELSE 0 END) AS disc_baza, + SUM(case when SCC = '767' THEN ROUND(SUMA*(proc_tva-1),<>) ELSE 0 END) AS disc_tva + from act a + LEFT JOIN (SELECT DISTINCT 1 AS EXCEPTIE, + DECODE(DEBIT, 1, CONT_C, CONT) AS ESCD, + DECODE(DEBIT, 1, CONT, CONT_C) AS ESCC + FROM EXCEPTII_IREG + WHERE INVERS = 1) E ON A.SCD = E.ESCD + AND A.SCC = E.ESCC + + WHERE <> <> <> + and sters = 0 + and cod in (select distinct cod + from vrul + where < 0], [cante <> 0])>> + <>) + GROUP BY COD, + SERIE_ACT, + NRACT, + DATAACT, + AN, + LUNA, + NNIR, + ID_SECTIE, + decode(exceptie, 1, id_partd, id_partc)) a1 + left join nom_parteneri b on a1.id_partc = b.id_part + left join nom_sectii s on a1.id_sectie = s.id_sectie + ENDTEXT + *!* WHERE NVL(A1.DATAACT,to_date('1900-01-01','YYYY-MM-DD')) + *!* between to_date('20080101 00:00:00','YYYY-MM-DD HH24:MI:SS') AND + *!* to_date('20080930 23:59:59','YYYY-MM-DD HH24:MI:SS') + + lcgroup = [] + lcFiltruOriginal = [] + lcOrder = [A1.DATAACT,A1.SERIE_ACT,A1.NRACT] + + lcFiltru = [a1.an=?gnAn and a1.luna=?gnLuna] + llModParam = .T. + llAfiseaza = .F. + + gencursor('poNirBon','crsAct', lcSelect, lcFiltru, lcSchema, lcOrder, llAfiseaza, lcgroup, llModParam, lcFiltruOriginal) + poNirBon.ca_baza1.afisare() + ENDIF && llUsedAct +**************************** + *!* 11.06.2015 + *!* MARIUS.MUTU + *!* ID_SET = 268: bon consum pe lucrari in curs de executie cu import din fisier (pentru import consum vopsea 301 si creare si consum mix vopsea 345) + *!* nu am nevoie de iesirea de mix 345 pentru ca se dubleaza iesirea de pe bon. Iese deja 301 + + + + *!* 04.02.2009 + && SELECTEZ DIN RUL NIR-URILE GRUPATE DUPA COD, NNIR, SECTIE, NRORD, DATAACT + lcSqlRulListare = [select cod, nnir, sectie, nrord, dataact, ] + ; + [SUM(case id_set when 234 then Round((PRET+TVA)*CANT, ?gnPC)- Round(Round((PRET+TVA)*CANT, ?gnPC)*(proc_tva-1)/proc_tva, ?gnPC) ] + ; + [ else ROUND(pret*] + Iif(lnTip = 1, [cant], [cante]) + [,?gnPc) end) as valoare,] + ; + [SUM(case id_set when 234 then Round(Round((PRET+TVA)*CANT, ?gnPC)*(proc_tva-1)/proc_tva, ?gnPC) ] + ; + [ else Round(ROUND(pret*] + Iif(lnTip = 1, [cant], [cante]) + [,?gnPc)*(proc_tva-1), ?gnPC) end) as valtva,] + ; + [SUM(case id_set when 234 then Round((PRET+TVA)*CANT, ?gnPC) ] + ; + [ else ROUND(pret*] + Iif(lnTip = 1, [cant], [cante]) + [,?gnPc) + Round(Round(] + Iif(lnTip = 1, [cant], [cante]) + [*pret, ?gnPC)*(PROC_TVA-1), ?gnPC) end) as valctva,] + ; + [SUM(case when nr_pag in (6,7) and proc_tvav <> 0 then + Round(] + Iif(lnTip = 1, [cant], [cante]) + [*(pretv + tvav), ?gnPC) - ] + ; + [ Round(Round(] + Iif(lnTip = 1, [cant], [cante]) + [*(pretv+tvav), ?gnPC)*(PROC_TVAV-1)/PROC_TVAV, ?gnPC) else ] + ; + [ Round(] + Iif(lnTip = 1, [cant], [cante]) + [*pretv, ?gnPC) end) as valoarev, ] + ; + [SUM(case when nr_pag in (6,7) and proc_tvav <> 0 then Round(] + Iif(lnTip = 1, [cant], [cante]) + [*(pretv + tvav), ?gnPC) else ] + ; + [ Round(] + Iif(lnTip = 1, [cant], [cante]) + [*pretv, ?gnPC) + Round(Round(] + Iif(lnTip = 1, [cant], [cante]) + [*pretv, ?gnPC)*(PROC_TVAV-1), ?gnPC) end) as valoarevtva ] + ; + [from vrul where ] + Iif(!EMPTY(lcFiltruData),; + [(]+lcFiltruData+[ and ],; + [an = ?gnAn and luna = ?gnLuna and ]) +; + IIF(tlProductie, [(id_set=26000 or id_set=26001) and ],[]) + ; + [id_tip_rulaj = 0 ] + gcCondSucursala + [ and ] + ; + IIF(m.lnTip = 1, [cant], [cante]) + [ <> 0 ] + ; + IIF(m.lnTip = 2, [ and ((id_set = 268 and cont <> '345') or id_set <> 268)], []) + ; + [group by cod, nnir, dataact, nrord, sectie ORDER BY DATAACT, NNIR] + + * ID_SET = 268: bon consum pe lucrari in curs de executie cu import din fisier (pentru import consum vopsea 301 si creare si consum mix vopsea 345) + * nu am nevoie de iesirea de mix 345 pentru ca se dubleaza iesirea de pe bon. Iese deja 301 + + lcCursor = [crsRulListare] + lnSucces = goExecutor.oexecute(lcSqlRulListare,lcCursor) + If lnSucces < 0 + aMESSAGEBOX(goExecutor.cEroare,0+16,'Eroare') + Return + Endif + *!* 04.02.2009 ^ + Use In (SELECT('crsraport')) + + If m.lnTip = 2 && Bonuri + lcRaport=[centralizator_bon.frx] + Select nnir,dataact,nrord,sectie,Sum(valoare) As valoare,Sum(valoarev) As valoarev ; + FROM crsrullistare Group By nnir,dataact,nrord,sectie ; + ORDER By dataact,nnir Into Cursor crsraport + Else + lcRaport=[centralizator_nir.frx] + Use In (SELECT('crstoate')) + + If Type('crsact.part') <> 'U' + Select a.Part As nume,a.serie_act,a.nract,a.dataact,a.baza As valftvacont, a.suma As valctvacont, b.nnir,b.valoare As valftva,b.valtva As valtva,b.valctva As valctva, ; + a.disc_baza as valdiscb, a.disc_tva as valdisct, b.valoarev - b.valoare as valadaos ; + FROM crsact a Left Join crsrullistare b On a.cod=b.cod ; + ORDER By a.dataact,b.nnir Into Cursor crstoate + Else + Select '' As nume,a.serie_act,a.nract,a.dataact,a.baza As valftvacont, a.suma As valctvacont, b.nnir,b.valoare As valftva,b.valtva,b.valctva ; + FROM crsact a Left Join crsrullistare b On a.cod=b.cod ; + ORDER By a.dataact,b.nnir Into Cursor crstoate + Endif + + Select nume,nract,serie_act,dataact,nnir,valftvacont, valctvacont, Sum(valftva) As valftva,Sum(valtva) As valtva,Sum(valctva) As valctva ,SUM(valdiscb) as valdiscb,SUM(valdisct) as valdisct,SUM(valadaos) as valadaos; + FROM crstoate Group By nume,serie_act,nract,dataact,nnir,valftvacont, valctvacont ; + ORDER By dataact,nnir Into Cursor crsraport + + Use In (SELECT('crstoate')) + Endif + + If Reccount('crsraport')>0 + pcDataora=get_ora(2) + Select crsraport + Report Form (lcRaport) To Printer Prompt Preview + Else + AMESSAGEBOX("Nu exista inregistrari pentru listare!",0+48,"Atentie") + Endif + + Use In (SELECT('crsraport')) + IF m.llUsedAct + USE IN (SELECT('crsAct')) + ENDIF + +ENDPROC && listare_centralizator_nir_bon + +***---------------------------------------------------------------------------------------------------------------------------------- +Procedure list_raport_gestiuni + Lparameters tnNr_pag + + LOCAL lcFile + Private pdData1,pdData2,pnId_gestiune, pnNr_pag, pnSoldPrec, pcNumeGest, pcDataOra,pnId_gestiunec,pcNumeGestc,pnGrupezGestc,pcGrupare,pcTitlu,pcSubtitlu,pcSirIdSubgrupArt,pcSirNumeSubgrupArt,pcSirIdArticole,pcSirNumeArticole + Store 0 To pnId_gestiune, pnNr_pag, pnSoldPrec,pnId_gestiunec,pnGrupezGestc + Store '' To pcGrupare,pcSirIdSubgrupArt,pcSirNumeSubgrupArt,pcSirIdArticole,pcSirNumeArticole,pcSubtitlu + lcFile = '' + *!* locauta = caut_gestiune(tnNr_pag, gnIdUtil,.t.) + *!* pnId_gestiune = locauta.id_gestiune + *!* pcNumeGest = locauta.nume_gestiune + *!* IF gnbuton = 2 + *!* RETURN + *!* ENDIF + pdData1 = Date(gnAn, gnLuna, 1) + pdData2 = Gomonth(pdData1,1) - 1 + + *!* loid = Createobject("frm_interval_date") + *!* loid.Show(1) + *!* IF gnbuton = 2 + *!* RETURN + *!* ENDIF + pnNr_pag = tnNr_pag + + loid = Createobject("frm_raport_gestiuni") + loid.Show(1) + If gnbuton = 2 + Return + Endif + *!* pnNr_pag = locauta.nr_pag + If Empty(pdData1) Or Empty(pdData2) Or Empty(pnNr_pag) + Return + Endif + + If Empty(Nvl(pcSirIdSubgrupArt,[])) + pcSirIdSubgrupArt = [Null] + Else + pcSubtitlu = [Subgrupe : ] + pcSirNumeSubgrupArt + CHR(13) + CHR(10) + Endif + + If Empty(Nvl(pcSirIdArticole,[])) + pcSirIdArticole = [Null] + Else + pcSubtitlu = pcSubtitlu + [Articole : ] + pcSirNumeArticole + Endif + + If pnId_gestiunec = 0 + pnId_gestiunec = Null + Endif + + If pnGrupezGestc = 0 + pcGrupare = [EOF()] + Else + pcGrupare = [nume_gestiunec] + Endif + + If pnId_gestiune = 0 + pnId_gestiune = Null + Endif + pcTitlu = [RAPORT GESTIUNE] + lcSql = [{call pack_gest_rapoarte.raport_gestiune(?pnId_gestiune, ?pdData1, ?pdData2, ?pnNr_pag, ?gnIdSucursala,] + ; + [?pnGrupezGestc,?pnId_gestiunec,] + pcSirIdArticole + [,] + pcSirIdSubgrupArt + [,?@pnSoldPrec)}] + lcCursor = 'cRulaje' + If goExecutor.oExecuta(m.lcSql,m.lcCursor) + Select (lcCursor) + goExport.export2frx(lcCursor,[rap_gestiune], , , , , , .T.) + + IF AMESSAGEBOX('Doriti sa salvati raportul in format xls?',4+32,_screen.Caption) = 6 + lcFile = PUTFILE('Raport gestiune','raport_gestiune','xls') + IF !EMPTY(m.lcFile) + + SELECT *, CAST(0 as N(18,4)) as sold FROM cRulaje ; + WHERE .F. ; + INTO CURSOR cRaportXls READWRITE + + INSERT INTO cRaportXls (fdoc, sold) VALUES ('SOLD INITIAL', m.pnSoldPrec) + SELECT cRaportXLS + APPEND from DBF('cRulaje') + + SELECT cRaportXls + GO TOP + lnSold = sold + SCAN + lnSold = NVL(m.lnSold, 0) + NVL(deb, 0) - NVL(cred, 0) + REPLACE sold WITH m.lnSold + ENDSCAN + SELECT cRaportXls + COPY TO (m.lcFile) TYPE XL5 + USE IN (SELECT('cRaportXls')) + open_default_app(m.lcFile) + ENDIF + ENDIF + Use In (SELECT(m.lcCursor)) + Endif + + *!* modificare 18.02.2008 + *!* If Reccount('cRulaje')>0 + *!* pcDataOra = get_ora(2) + *!* Select cRulaje + *!* Report Form rap_gestiune To Printer Prompt Preview + *!* Else + *!* amessagebox("Nu exista inregistrari pentru listare!",48,"Atentie") + *!* Endif + *!* modificare 18.02.2008 ^ + +Endproc && list_raport_gestiuni +***---------------------------------------------------------------------------------------------------------------------------------- +Procedure list_raport_gestiuni_centralizator + *!* modificare v 2.0.81 + Lparameters tnNr_pag + Private pdDataI,pdDataF,pnNr_pag,pnSoldPrec + Store {} To pdDataI,pdDataF + Store 0 To pnSoldPrec + ofrmperioada = Createobject('frm_perioada_zzllaaaa') + ofrmperioada.Show(1) + If gnbuton = 1 + pnNr_pag = tnNr_pag + If !Empty(pdDataI) And !Empty(pdDataF) And !Empty(pnNr_pag) + lcSel = [{call pack_gest_rapoarte.raport_gestiune_centralizator(?pdDataI, ?pdDataF, ?pnNr_pag, ?gnIdSucursala,?@pnSoldPrec)}] + lcCursor = 'cRulaje' + lnSucces = goExecutor.oexecute(lcSel, lcCursor) + If lnSucces < 0 + amessagebox(goExecutor.cEroare,0+16,"Eroare") + Else + goExport.export2frx([cRulaje],[rap_gestiune_toate], , , , , , .T.) + Use In cRulaje + Endif + Endif + Endif + *!* modificare v 2.0.81 ^ +Endproc && list_raport_gestiuni_centralizator +***---------------------------------------------------------------------------------------------------------------------------------- +Procedure list_schimbPret + Parameters tnNir, tnTip + +*!* modificare ROAPRODUCTIE v 2.0.2 +*!* Private pcDataOra +*!* pcDataOra = get_ora(2) + + IF TYPE('schimbPret.partener_rezervare') = 'U' + Select *, '' as partener_rezervare ; + From schimbPret ; + Where schimb = 1 ; + Into Cursor cList + ELSE + Select * From schimbPret Where schimb = 1 Into Cursor cList + ENDIF + +*!* Select cList +*!* Keyboard "{ctrl+f10}" +*!* Report Form rap_schimbPret To Printer Prompt Preview + goExport.export2frx([clist],[rap_schimbPret], , , , , , .T.) +*!* modificare ROAPRODUCTIE v 2.0.2 ^ + + If Used("cList") + Use In cList + Endif + Use In (Select("schimbPret")) + +Endproc && list_schimbPret +***---------------------------------------------------------------------------------------------------------------------------------- +***---------------------------------------------------------------------------------------------------------------------------------- +Procedure raport_vanzari + + Private poVanzari, poDetalii + Local llAfiseaza + Store .F. To llAfiseaza + Store '' To poVanzari, poDetalii + If Used('crsVanzari') + Use In crsVanzari + Endif + If Used('crsDetalii') + Use In crsDetalii + Endif + + * pcschema1=['id_pol n(10), nume_lista_preturi c(100), datai d, datas d, id_valuta n(10), nume_val c(10), id_nota N(5), notaContab C(30), utilizator c(100),dataora t'] + pcschema1=[''] + pcselect1=['select * from vvanzari_tot where 2=2'] + pcorder1=[dataora] + pcfiltru1 = [1 = 2] + llAfiseaza = .F. + gencursor('poVanzari','crsVanzari',pcselect1,pcfiltru1,pcschema1,pcorder1,llAfiseaza) + poVanzari.ca_baza1.afisare() + + pcschema1=[''] + pcselect1=['select * from vvanzari_detalii_tot where 2=2'] + pcorder1=[nume_lista_preturi, denumire] + pcfiltru1 = [1 = 2] + llAfiseaza = .F. + gencursor('poDetalii','crsDetalii',pcselect1,pcfiltru1,pcschema1,pcorder1,llAfiseaza) + poDetalii.ca_baza1.afisare() + + lov = Createobject("frm_vanzari") + lov.Show(1) + + Release lov, poVanzari, poDetalii + +Endproc && raport_vanzari +***---------------------------------------------------------------------------------------------------------------------------------- +***----------------------------------------------------------------------------------------------------------- +Procedure listare_imputare + Parameters tnNir + + Private pnOperatie + pnOperatie = 3 + + Private pcTitlu, pcperioada, pcDataOra, pdDataI, pdDataF, pnId_responsabil && pt. raport + Store "" To pcTitlu, pcperioada + pcDataOra = get_ora(2) + Store {//} To pdDataI, pdDataF + pnId_responsabil = 0 + pcTitlu = "IMPUTARE" + + ***------------------------------- + lcSel = [{call pack_gest_rapoarte.fisa_echip_uzat_pred_imputat(?gnAn, ?gnLuna, ?tnNir, ?pdDataI, ?pdDataF, ?pnId_responsabil, ?pnOperatie, ?gnIdSucursala)}] + lcCursor = 'cFisa' + lnSucces = goExecutor.oexecute(lcSel,lcCursor) + + If lnSucces < 0 + amessagebox(goExecutor.cEroare,0+16,"Eroare") + Return + Endif + ***------------------------------- + + Private pcSemnaturi + Store '' To pcSemnaturi + + Local lcRaport + lcRaport = "RAP_ECHIP_IMPUTAT" + + param_listari(lcRaport,,@pcSemnaturi, .T.) +*!* modificare ROAPRODUCTIE v 2.0.2 + IF TYPE('goExport') = 'O' + goExport.export2frx([cFisa],lcRaport, , , , , , .T.) + ELSE + Select cFisa + Report Form &lcRaport To Printer Prompt Preview + ENDIF +*!* modificare ROAPRODUCTIE v 2.0.2 ^ + + If Used("cFisa") + Use In cFisa + Endif + +Endproc && listare_imputare +***----------------------------------------------------------------------------------------------------------- +***----------------------------------------------------------------------------------------------------------- +Procedure listare_casare + Parameters tnNir, tnIdSet + * tnIdSet default 70 +SET STEP ON + Private pnOperatie + pnOperatie = 1 + IF !EMPTY(m.tnIdSet) AND m.tnIdset = 274 + pnOperatie = 4 && iesire din gestiune ob. inv. in folosinta + ENDIF + + *!* 26.01.2011 + PRIVATE pnNnir + pnNnir = tnNir + *!* 26.01.2011 ^ + + Private pcTitlu, pcperioada, pcDataOra, pdDataI, pdDataF, pnId_responsabil && pt. raport + Store "" To pcTitlu, pcperioada + pcDataOra = get_ora(2) + Store {//} To pdDataI, pdDataF + pnId_responsabil = 0 + pcTitlu = "CASARE (din folosinta)" + + ***------------------------------- + lcSel = [{call pack_gest_rapoarte.fisa_echip_uzat_pred_imputat(?gnAn, ?gnLuna, ?tnNir, ?pdDataI, ?pdDataF, ?pnId_responsabil, ?pnOperatie, ?gnIdSucursala)}] + lcCursor = 'cFisa' + lnSucces = goExecutor.oexecute(lcSel,lcCursor) + + If lnSucces < 0 + amessagebox(goExecutor.cEroare,0+16,"Eroare") + Return + Endif + ***------------------------------- + + Private pcSemnaturi + Store '' To pcSemnaturi + + Local lcRaport + lcRaport = 'rap_echip_uzat' + + param_listari(lcRaport,,@pcSemnaturi, .T.) +*!* modificare ROAPRODUCTIE v 2.0.2 + IF TYPE('goExport') = 'O' + goExport.export2frx([cFisa],lcRaport, , , , , , .T.) + ELSE + Select cFisa + Report Form &lcRaport To Printer Prompt Preview + ENDIF +*!* modificare ROAPRODUCTIE v 2.0.2 ^ + If Used("cFisa") + Use In cFisa + Endif + +Endproc && listare_casare +***------------------------------------- inceput list_centr_valoric_subgr --------------------------------- +Procedure list_centr_valoric_subgr + Lparameters tnTip + + Local lnTip, lcRaport + If Type("tnTip")="N" + lnTip=tnTip + Else + lnTip = 1 + Endif + + Local lcSql,lnSucces,lcCursor + Private pcperioada,pdDataI,pdDataF,pcTitlu,pnIdGrupa,pcNumeGrupa,pcListaIdGestiuni,pcSeparator + Store '' To pcNumeGrupa,pcListaIdGestiuni + Store {} To pdDataI,pdDataF + lcCursor = [crscentrsubgr] + pcSeparator = [,] + + ofrmperioada=Createobject('frm_perioada_zzllaaaa') + ofrmperioada.Show(1) + If gnbuton=1 + pcperioada = [Perioada ] + Dtoc(pdDataI) + [ - ] + Dtoc(pdDataF) + Else + Return + Endif + + lcXMLGestiune = caut_gestiune_xml(2) + If !Empty(lcXMLGestiune) And gnbuton = 1 + Xmltocursor(lcXMLGestiune, "crsGestTemp") + If Reccount('crsGestTemp') = 0 + amessagebox('Nu ati selectat nici o gestiune!',0+48,'Inventar') + Return + Endif + pcListaIdGestiuni = cursor2lista("crsGestTemp", "id_gestiune", pcSeparator) + Use In crsGestTemp + Else + Return + Endif + + locauta = caut_grupa_gestiune() + If !Empty(locauta.id_grupe) And gnbuton = 1 + pnIdGrupa = locauta.id_grupe + pcNumeGrupa = locauta.nume_grupa + Else + Return + Endif + + pcTitlu = [CENTRALIZATOR VALORI PE SUBGRUPE DE ARTICOLE] + If Used(lcCursor) + Use In (lcCursor) + Endif + + If lnTip = 1 + + lcSql = [{call pack_gest_rapoarte.centr_valoric_subgr (?pcNumeGrupa,?pnIdGrupa,] + ; + [?pcListaIdGestiuni,?pcSeparator,?pdDataI,?pdDataF,?gnIdSucursala)}] + lcRaport = [rap_gest_val_subgrupe] + Else + lcSql = [{call pack_gest_rapoarte.centr_valoric_subgr_gestc (?pcNumeGrupa,?pnIdGrupa,] + ; + [?pcListaIdGestiuni,?pcSeparator,?pdDataI,?pdDataF,?gnIdSucursala)}] + lcRaport = [rap_gest_val_subgrupe_gestc] + Endif + lnSucces = goExecutor.oexecute(lcSql,lcCursor) + If lnSucces < 0 + amessagebox(goExecutor.cEroare,16,"Eroare") + Else + goExport.export2frx(lcCursor,lcRaport, , , , , , .T. ) + Endif + + If Used(lcCursor) + Use In (lcCursor) + Endif + + Release lcSql,lnSucces,pcperioada,pdDataI,pdDataF,pcTitlu,pnIdGrupa,pcNumeGrupa,pcListaIdGestiuni,pcSeparator +Endproc && list_centr_valoric_subgr +************************************************************************************************************** +Procedure list_centr_intrari +Lparameters tnTipGest +Private pnIdGestiune,pcNumeGestiune,pcDataOra,pnNrRapoarte +Local loCauta,loCauta2 +loCauta = caut_gestiune(tnTipGest,gnIdUtil) +If gnButon = 1 + pnIdGestiune = loCauta.id_gestiune + pcNumeGestiune = loCauta.nume_gestiune + lcSql = [select distinct a.id_subgrupa, b.subgrupa from ] + gcS + [.nom_articole a ] + ; + [left join ] + gcS + [.gest_art_sbgr b on a.id_subgrupa = b.id_subgrupa ] + ; + [where a.id_articol in (select distinct id_articol from ] + gcS + [.rul where sters = 0 ] + ; + [and an = ?gnAn and luna = ?gnLuna ] + gcCondSucursala + [ and cant <> 0 ] + ; + [and id_tip_rulaj = 0 and id_gestiune = ?pnIdGestiune) order by subgrupa] + lnSucces = goExecutor.oExecute(lcSql,[crssubgrupe]) + If lnSucces < 0 + amessagebox(goExecutor.cEroare,64,"Eroare") + Else + lcSql = [{call pack_gest_rapoarte.centr_intrari(?pnIdGestiune,?gnIdSucursala,?gnLuna,?gnAn)}] + lnSucces = goExecutor.oExecute(lcSql,[crsraport]) + If lnSucces < 0 + amessagebox(goExecutor.cEroare,64,"Eroare") + Else + If Reccount('crsraport') > 0 + pcDataOra = get_ora(2) + Select subgrupa From crssubgrupe Into Array laNumeColoane + If Alen(laNumeColoane) >= 10 + pnNrRapoarte = 2 + Local ox As ReportListener + ox = Createobject('ReportListener') + ox.DynamicLineHeight = .F. + ox.ListenerType = 1 + goExport.export2frx([crsraport],[rap_centralizator_intrari],.F.,2,[],[NOPAGEEJECT],ox) + goExport.export2frx([crsraport],[rap_centralizator_intrari2],.F.,2,[],[],ox) + Release ox + Else + pnNrRapoarte = 1 + goExport.export2frx([crsraport],[rap_centralizator_intrari], , , , , , .T.) + Endif + Release laNumeColoane + Else + amessagebox("Nu exista inregistrari pentru listare!",48,"Atentie") + Endif + Endif + If Used('crsraport') + Use In crsraport + Endif + Endif + If Used('crssubgrupe') + Use In crssubgrupe + Endif +Endif +Release pnIdGestiune,pcNumeGestiune,pcDataOra,pnNrRapoarte,loCauta,loCauta2 +Endproc && list_centr_intrari +************************************************************************************************************** +Procedure list_centr_iesiri +Lparameters tnTipGest,tnTipCentralizator +*!* tnTipCentralizator +*!* = 1 - transferuri +*!* = 2 - facturi clienti +*!* = 3 - protocol si sponsorizari +Private pnIdGestiune,pcNumeGestiune,pcDataOra,pnNrRapoarte,pnTipCentralizator,pcTitlu,pnIdGrupaGest,pcNumeGrupaGest,pnIdGestiune,pcNumeGestiune,pdDataI,pdDataF +Store {} To pdDataI,pdDataF +Local lofrmperioada,loCauta,lcSql,lnSucces +lofrmperioada = Createobject('frm_perioada_zzllaaaa') +lofrmperioada.Show(1) +If !Empty(Nvl(pdDataI,{})) And !Empty(Nvl(pdDataF,{})) + pnTipCentralizator = tnTipCentralizator + pnIdGrupaGest = Null + pcNumeGrupaGest = [] + Local loCauta,loCauta2,lcSql + loCauta = caut_gestiune(tnTipGest,gnIdUtil) + If gnButon = 1 + pnIdGestiune = loCauta.id_gestiune + pcNumeGestiune = loCauta.nume_gestiune + Do Case + Case pnTipCentralizator = 1 + loCauta = caut_grupa_gestiune() + If gnButon = 1 + pnIdGrupaGest = loCauta.id_grupe + pcNumeGrupaGest = loCauta.nume_grupa + Endif + pcTitlu = [CENTRALIZATOR IESIRI (TRANSFERURI CATRE ] + Iif(!Empty(pcNumeGrupaGest),[GRUPA ] + Alltrim(pcNumeGrupaGest),[GESTIUNI LA P.V.]) + [) ] + ; + [DIN GESTIUNEA ] + Alltrim(pcNumeGestiune) + [ ( ] + Alltrim(Dtoc(pdDataI) + [ - ] + Dtoc(pdDataF)) + [ )] + Case pnTipCentralizator = 2 + pcTitlu = [CENTRALIZATOR IESIRI (FACTURI) DIN GESTIUNEA ] + Alltrim(pcNumeGestiune) + [ ( ] + Alltrim(Dtoc(pdDataI) + [ - ] + Dtoc(pdDataF)) + [ )] + Case pnTipCentralizator = 3 + pcTitlu = [CENTRALIZATOR IESIRI (PROTOCOL, SPONSORIZARI) DIN GESTIUNEA ] + Alltrim(pcNumeGestiune) + [ ( ] + Alltrim(Dtoc(pdDataI) + [ - ] + Dtoc(pdDataF)) + [ )] + Endcase + If aMessagebox("Doriti ca raportul sa cuprinda si statistica privind stocul ( initial, total intrari , total iesiri, final ) ?",4+32,"Statistici stoc")=6 + _Screen.MousePointer = 11 + lcSql = [{call pack_gest_rapoarte.centralizator_stoc(?pnIdGestiune,?pdDataI,?pdDataF,?gnIdSucursala)}] + lnSucces = goExecutor.oExecute(lcSql,[crsStatisticiStoc]) + _Screen.MousePointer = 0 + If lnSucces < 0 + amessagebox(goExecutor.cEroare,64,"Eroare") + Endif + Endif + _Screen.MousePointer = 11 + lcSql = [{call pack_gest_rapoarte.cursor_subgrupe(?pnIdGestiune,?gnIdSucursala,?pdDataI,?pdDataF,?pnTipCentralizator,?pnIdGrupaGest)}] + lnSucces = goExecutor.oExecute(lcSql,[crssubgrupe]) + _Screen.MousePointer = 0 + If lnSucces < 0 + amessagebox(goExecutor.cEroare,64,"Eroare") + Else + _Screen.MousePointer = 11 + lcSql = [{call pack_gest_rapoarte.centr_iesiri(?pnIdGestiune,?gnIdSucursala,?pdDataI,?pdDataF,?pnTipCentralizator,?pnIdGrupaGest)}] + lnSucces = goExecutor.oExecute(lcSql,[crsraport]) + _Screen.MousePointer = 0 + If lnSucces < 0 + amessagebox(goExecutor.cEroare,64,"Eroare") + Else + If Reccount('crsraport') > 0 + pcDataOra = get_ora(2) + Select subgrupa From crssubgrupe Into Array laNumeColoane + If Alen(laNumeColoane) >= 11 + pnNrRapoarte = 2 + Local ox As ReportListener + ox = Createobject('ReportListener') + ox.DynamicLineHeight = .F. + ox.ListenerType = 1 + goExport.export2frx([crsraport],[rap_centralizator_iesiri],.F.,2,[],[NOPAGEEJECT],ox) + goExport.export2frx([crsraport],[rap_centralizator_iesiri2],.F.,2,[],[],ox) + Release ox + Else + pnNrRapoarte = 1 + goExport.export2frx([crsraport],[rap_centralizator_iesiri], , , , , , .T.) + Endif + Release laNumeColoane + Else + amessagebox("Nu exista inregistrari pentru listare!",48,"Atentie") + Endif + Endif + If Used('crsraport') + Use In crsraport + Endif + Endif + If Used('crssubgrupe') + Use In crssubgrupe + EndIf + If Used('crsStatisticiStoc') + Use in crsStatisticiStoc + EndIf + Endif +Endif +Release pnIdGestiune,pcNumeGestiune,pcDataOra,pnNrRapoarte,loCauta,lcSql,pcTitlu,pnIdGrupaGest,pcNumeGrupaGest,pdDataI,pdDataF,lofrmperioada +Endproc && list_centr_iesiri +************************************************************************************************************** \ No newline at end of file diff --git a/programe/oproceduri_maintenance.prg b/programe/oproceduri_maintenance.prg new file mode 100644 index 0000000..a93e726 --- /dev/null +++ b/programe/oproceduri_maintenance.prg @@ -0,0 +1,295 @@ + +gnHandle = SQLCONNECT('ROA_ARGENTA', 'ARGENTA', '123') + +SET PROCEDURE TO D:\CONTAFIN_ORACLE\COMUN\PROGRAME\OPROCEDURI_COMUNE.PRG ADDITIVE + +PRIVATE goExecutor, gcS +gcS = 'ARGENTA' +goExecutor = CREATEOBJECT("oExecutor") +goExecutor.nHandle = gnHandle + +LOCAL lcEroare, lnAn1, lnLuna1, lnAn2, lnLuna2 +LOCAL lnRecno, i, lnSucces + +lcEroare = '' +lnAn1 = 1995 +lnLuna1 = 1 +lnAn2 = 2006 +lnLuna2 = 2 + +SELECT crsPartenerDiferente +lnRecno = RECCOUNT() +i = 0 +SCAN + SCATTER NAME loPartener + i = i + 1 + WAIT WINDOW TRANSFORM(I) + '/' + TRANSFORM(LNRECNO) NOWAIT +* lcEroare = modifica_id_partener(loPartener.id_part1, loPartener.id_part, lnAn1, lnLuna1, lnAn2, lnLuna2) + lcSql = [update nom_parteneri set inactiv = 1 where id_part = ] + TRANSFORM(loPartener.id_part1) + lnSucces = goExecutor.oExecute(lcSql) + IF lnSucces < 0 + lcEroare = goExecutor.cEroare + ENDIF + + IF !EMPTY(lcEroare) + aMESSAGEBOX(lcEroare) + EXIT + ENDIF +ENDSCAN + + +IF !EMPTY(lcEroare) + aMESSAGEBOX(lcEroare) +ENDIF + +SQLDISCONNECT(0) + +*** =================================================================================== *** +*** MODIFICARE ID_PARTENER IN CAZUL IN CARE EXISTA ACELASI PARTENER DE MAI MULTE ORI *** +*** IN NOMENCLATORUL DE PARTENERI *** +*** MARIUS.MUTU *** +*** 15.02.2006 *** +*** =================================================================================== *** +PROCEDURE modifica_id_partener + LPARAMETERS tnIdPartProst, tnIdPartBun, tnAn1, tnLuna1, tnAn2, tnLuna2 + + + LOCAL lnAn1, lnLuna1, lnAn2, lnLuna2, lnSucces, lnSucces2, lcEroare + LOCAL lcSql, lcCursor + PRIVATE lnIdPartProst, tnIdPartBun, lnInit, lnFinal + + lcEroare = '' + + lnSucces = 1 + lnSucces2 = 1 + + lnIdPartProst = 0 + lnIdPartBun = 0 + lnInit = 0 + lnFinal = 0 + + IF EMPTY(tnIdPartProst) OR EMPTY(tnIdPartBun) OR EMPTY(tnAn1) OR EMPTY(tnLuna1) OR EMPTY(tnAn2) OR EMPTY(tnLuna2) + lcEroare = 'Completati parametrii' + lnSucces = -1 + ENDIF + + IF lnSucces > 0 + lnIdPartProst = tnIdPartProst + lnIdPartBun = tnIdPartBun + + lnInit = tnAn1 * 12 + tnLuna1 + lnFinal = tnAn2 * 12 + tnLuna2 + IF lnInit > lnFinal + lcEroare = 'Luna de sfarsit trebuie sa fie mai mare sau egala decat luna de inceput' + lnSucces = -1 + ENDIF + ENDIF + + IF lnSucces > 0 + +&& TRANZACTIE MANUALA + lnSucces = SQLSETPROP(gnhandle,"Transactions",2) + IF lnSucces < 0 + lcEroare = goExecutor.cEroare + ENDIF + ENDIF + +&& ACT : ID_PARTD + IF lnSucces > 0 + lcSql = [update ] + gcs + [.act set id_partd = ?lnIdPartBun where id_partd = ?lnIdPartProst and an*12+luna between ?lnInit and ?lnFinal] + lnSucces = goExecutor.oExecute(lcSql) + IF lnSucces < 0 + lcEroare = goExecutor.cEroare + ENDIF + ENDIF + +&& ACT : ID_PARTC + IF lnSucces > 0 + lcSql = [update ] + gcs + [.act set id_partc = ?lnIdPartBun where id_partc = ?lnIdPartProst and an*12+luna between ?lnInit and ?lnFinal] + lnSucces = goExecutor.oExecute(lcSql) + IF lnSucces < 0 + lcEroare = goExecutor.cEroare + ENDIF + ENDIF + +&& IREG_PARTENERI + IF lnSucces > 0 + lcSql = [update ] + gcs + [.ireg_parteneri set id_part = ?lnIdPartBun where id_part = ?lnIdPartProst and an*12+luna between ?lnInit and ?lnFinal] + lnSucces = goExecutor.oExecute(lcSql) + IF lnSucces < 0 + lcEroare = goExecutor.cEroare + ENDIF + ENDIF + + +&& BALANTA PARTENERI + IF lnSucces > 0 + FOR I = lnInit TO lnFinal + lnLuna=MOD(I,12) + lnAn=INT(I/12) + IF lnLuna=0 + lnLuna=12 + lnAn=lnAn-1 + ENDIF + + + lcSql = [SELECT ?lnIdPartBun as id_part, an, luna, NVL(cont,' ') as cont, NVL(acont,' ') as acont, id_valuta, ] +; + [sum(precdeb1) as precdeb1,sum(preccred1) as preccred1,sum(precdeb) as precdeb,sum(preccred) as preccred,] +; + [sum(precvaldeb1) as precvaldeb1,sum(precvalcred1) as precvalcred1,sum(precvaldeb) as precvaldeb,sum(precvalcred) as precvalcred,] +; + [sum(debit) as debit,sum(credit) as credit,sum(valdebit) as valdebit,sum(valcredit) as valcredit ]+; + [ FROM ] + gcs + [.BALANTA_PARTENERI WHERE ID_PART IN (?lnIdPartBun,?lnIdPartProst) AND ] +; + [ AN = ?lnAn and luna = ?lnLuna ] + ; + [ GROUP BY AN, LUNA, CONT, ACONT, ID_VALUTA ] + lcCursor = [crsBalanta] + + lnSucces = goExecutor.oExecute(lcSql,lcCursor) + IF lnSucces < 0 + lcEroare = goExecutor.cEroare + EXIT + ENDIF + + IF lnSucces > 0 + lcDel = [DELETE FROM ] + gcs + [.BALANTA_PARTENERI WHERE ID_PART IN (?lnIdPartBun,?lnIdPartProst) AND ] +; + [ AN = ?lnAn and luna = ?lnLuna] + lnSucces = goExecutor.oExecute(lcDel) + IF lnSucces < 0 + lcEroare = goExecutor.cEroare + EXIT + ENDIF + ENDIF + + IF lnSucces > 0 + SELECT crsBalanta + SCAN + SCATTER NAME loB + loB.CONT = ALLTRIM(loB.CONT) + loB.acont = ALLTRIM(loB.acont) + lcIns = [INSERT INTO ] + gcs + [.BALANTA_PARTENERI ] + ; + [(an,luna,cont,acont,id_part,id_valuta,] + ; + [precdeb1,preccred1,precdeb,preccred,] + ; + [precvaldeb1,precvalcred1,precvaldeb,precvalcred,] + ; + [debit,credit,valdebit,valcredit) VALUES ] + ; + [(?loB.an,?loB.luna,?loB.cont,?loB.acont,?loB.id_part,?loB.id_valuta,] + ; + [?loB.precdeb1,?loB.preccred1,?loB.precdeb,?loB.preccred,] + ; + [?loB.precvaldeb1,?loB.precvalcred1,?loB.precvaldeb,?loB.precvalcred,] + ; + [?loB.debit,?loB.credit,?loB.valdebit,?loB.valcredit) ] + lnSucces = goExecutor.oExecute(lcIns) + IF lnSucces < 0 + lcEroare = goExecutor.cEroare + EXIT + ENDIF + ENDSCAN + ENDIF + IF USED('crsBalanta') + USE IN crsBalanta + ENDIF + + ENDFOR + ENDIF + +&& MASINI_CLIENTI + IF lnSucces > 0 + lcSql = [update ] + gcs + [.dev_masiniclienti set id_partener = ?lnIdPartBun where id_partener = ?lnIdPartProst] + lnSucces = goExecutor.oExecute(lcSql) + IF lnSucces < 0 + lcEroare = goExecutor.cEroare + ENDIF + ENDIF + +&& CON_LUCRARI + IF lnSucces > 0 + lcSql = [update ] + gcs + [.con_lucrari set id_part = ?lnIdPartBun where id_part = ?lnIdPartProst] + lnSucces = goExecutor.oExecute(lcSql) + IF lnSucces < 0 + lcEroare = goExecutor.cEroare + ENDIF + ENDIF + + +&& RUL - id_responsabil + IF lnSucces > 0 + lcSql = [update ] + gcs + [.rul set id_responsabil = ?lnIdPartBun where id_responsabil = ?lnIdPartProst] + lnSucces = goExecutor.oExecute(lcSql) + IF lnSucces < 0 + lcEroare = goExecutor.cEroare + ENDIF + ENDIF + +&& RUL - id_responsabilc + IF lnSucces > 0 + lcSql = [update ] + gcs + [.rul set id_responsabilc = ?lnIdPartBun where id_responsabilc = ?lnIdPartProst] + lnSucces = goExecutor.oExecute(lcSql) + IF lnSucces < 0 + lcEroare = goExecutor.cEroare + ENDIF + ENDIF + +&& RUL_OBINV + IF lnSucces > 0 + lcSql = [update ] + gcs + [.rul_obinv set id_responsabil = ?lnIdPartBun where id_responsabil = ?lnIdPartProst] + lnSucces = goExecutor.oExecute(lcSql) + IF lnSucces < 0 + lcEroare = goExecutor.cEroare + ENDIF + ENDIF + +&& STOC_OBINV + IF lnSucces > 0 + lcSql = [update ] + gcs + [.stoc_obinv set id_responsabil = ?lnIdPartBun where id_responsabil = ?lnIdPartProst] + lnSucces = goExecutor.oExecute(lcSql) + IF lnSucces < 0 + lcEroare = goExecutor.cEroare + ENDIF + ENDIF + +&& CON_CONTRACTE + IF lnSucces > 0 + lcSql = [update ] + gcs + [.con_contracte set id_part = ?lnIdPartBun where id_part = ?lnIdPartProst] + lnSucces = goExecutor.oExecute(lcSql) + IF lnSucces < 0 + lcEroare = goExecutor.cEroare + ENDIF + ENDIF + + IF lnSucces > 0 + lnSucces2 = goExecutor.oExecute('COMMIT') + IF lnSucces2 < 0 + lcEroare = goExecutor.cEroare + ENDIF + ELSE + lnSucces2 = goExecutor.oExecute('ROLLBACK') + IF lnSucces2 < 0 + lcEroare = goExecutor.cEroare + ENDIF + ENDIF + +&& inactiv + IF lnSucces > 0 + lcSql = [update ] + gcs + [.nom_parteneri set inactiv = 1 where id_part = ?lnIdPartProst] + lnSucces = goExecutor.oExecute(lcSql) + IF lnSucces < 0 + lcEroare = goExecutor.cEroare + ENDIF + ENDIF + + IF lnSucces > 0 + lnSucces2 = goExecutor.oExecute('COMMIT') + IF lnSucces2 < 0 + lcEroare = goExecutor.cEroare + ENDIF + ELSE + lnSucces2 = goExecutor.oExecute('ROLLBACK') + IF lnSucces2 < 0 + lcEroare = goExecutor.cEroare + ENDIF + ENDIF + +&& TRANZACTIE AUTOMATA + lnSucces = SQLSETPROP(gnhandle,"Transactions",1) + IF lnSucces < 0 + lcEroare = goExecutor.cEroare + ENDIF + + RETURN lcEroare + +ENDPROC && modifica_id_partener diff --git a/programe/oproceduri_manager.prg b/programe/oproceduri_manager.prg new file mode 100644 index 0000000..51f2d0c --- /dev/null +++ b/programe/oproceduri_manager.prg @@ -0,0 +1,115 @@ +Procedure make_cFCentre + +*!* Create Cursor cFCentre (id_centru I(4) Null, csectie C(2) Null, centru C(30) Null) +*!* Insert Into cFCentre Values (0, '00','') + +Create Cursor cFCentre (id_sectie I(4) Null, sectie C(30) Null) +Insert Into cFCentre Values (0, '') + +Private poCentre, pcschema1, pcselect1 +Store '' To poCentre +pcschema1 = [''] + +*!* If gnId_centre_sectie = 1 Then +*!* pcselect1 = ['select ce.id_centru, ce.csectie, ce.sectie as centru ]+; +*!* [from mg_nom_centre_sectie ce ]+; +*!* [where 1=2'] +*!* pcorder1 = [ce.sectie] +*!* pcfiltru1 = [ce.sectie is not null and ce.societate = 0] +*!* Else +*!* pcselect1 = ['select ce.id_centru, ce.csectie, ce.centru ]+; +*!* [from mg_nom_centre_profit ce ]+; +*!* [where 1=2'] +*!* pcorder1 = [ce.centru] +*!* pcfiltru1 = [ce.centru is not null and ce.societate = 0] +*!* Endif + +Local lcSchema, lcSelect, lcOrder, lcgroup, lcFiltru, lcFiltruOriginal, llModParam, llAfiseaza + +lcSchema = [id_sectie N(5), sectie C(30)] +lcSelect = [select id_sectie, sectie from vnom_sectii] +lcOrder = [sectie] +lcgroup = [] +lcFiltru = [2=2] +llModParam = .T. +llAfiseaza = .F. + +gencursor('pocentre','cc', lcSelect, lcFiltru, lcSchema, lcOrder, llAfiseaza, lcgroup, llModParam, lcFiltruOriginal) +poCentre.ca_baza1.afisare() + +Select cFCentre +Append From Dbf("cc") +If Used('cc') + Use In cc +Endif + +Release poCentre + +Select cFCentre +Go Top + +Endproc && make_cFCentre +***--------------------------------------------------------------------------------------------- +Procedure make_cTipuri_seturi +Create Cursor cTipuri_seturi (id_tip_set N(5), nume_tip_set C(30)) +Insert Into cTipuri_seturi Values (0, '') + +Private poTipuri_seturi, pcschema1, pcselect1 +Store '' To poTipuri_seturi +pcschema1 = [''] +pcselect1 = ['select ts.id_tip_set, ts.nume_tip_set ]+; + [from mg_tipuri_seturi ts ]+; + [where 1=2'] +pcorder1 = [ts.nume_tip_set] +pcfiltru1 = [2=2] +llAfiseaza = .F. +gencursor('poTipuri_seturi','cc',pcselect1,pcfiltru1,pcschema1,pcorder1,llAfiseaza) +poTipuri_seturi.ca_baza1.afisare() + +Select cTipuri_seturi +Append From Dbf("cc") + +Release poTipuri_seturi + +Select cTipuri_seturi +Go Top + +Endproc && make_cTipuri_seturi +***--------------------------------------------------------------------------------------------- +Procedure make_venChelt +Create Cursor cVenChelt (id_venchelt I(4) Null, explicatie C(200) Null) +Insert Into cVenChelt Values (0, '') +Insert Into cVenChelt Values (99999, 'FARA TIP CHELTUIALA') + +Private poVenChelt, pcschema1, pcselect1 +Store '' To poVenChelt + +Local lcSchema, lcSelect, lcOrder, lcgroup, lcFiltru, lcFiltruOriginal, llModParam, llAfiseaza + + +lcSchema = [id_venchelt N(5), explicatie C(30)] +lcSelect = [select id_venchelt, explicatie from vnom_venchel] +lcOrder = [explicatie] +lcgroup = [] +lcFiltru = [2=2] +llModParam = .T. +llAfiseaza = .F. + +gencursor('poVenChelt','cc', lcSelect, lcFiltru, lcSchema, lcOrder, llAfiseaza, lcgroup, llModParam, lcFiltruOriginal) +poVenChelt.ca_baza1.afisare() + + +Select cVenChelt +Append From Dbf("cc") +If Used('cc') + Use In cc +Endif + +Release poVenChelt + +Select cVenChelt +Go Top + +Endproc && make_venChelt +***--------------------------------------------------------------------------------------------- + diff --git a/programe/oproceduri_obinv.prg b/programe/oproceduri_obinv.prg new file mode 100644 index 0000000..c121a28 --- /dev/null +++ b/programe/oproceduri_obinv.prg @@ -0,0 +1,176 @@ +***----------------------------------------------------------------------------------------------------------- +PROCEDURE fisa_lichidare + + PRIVATE pcTitlu &&, pcDataOra + STORE "" TO pcTitlu &&, pcDataOra + LOCAL lcOrder, lcOrderColumn, loColumnSort + lcOrder = "" + lcOrderColumn = "" + + PRIVATE pnId_responsabil + STORE 0 TO pnId_responsabil + + loResp = caut_responsabil(.T.) + pnId_responsabil = loResp.id_responsabil + + + lcTitlu = [FISA DE LICHIDARE] + + pcTitlu = ceretitlu_rap([Titlul raportului],lcTitlu) +*!* pcDataOra = get_ora(2) + + pcGrupGest = [nresp] + pcGrupCont = [EOF()] + pcGrupAcont = [EOF()] + pcHeaderGrup = [Responsabil ] + + lcOrder = "nresp,denumire,codmat" + + lcSql = [] + * SELECT * from crsStocuri INTO CURSOR crs_rap ORDER BY &lcOrder + ***------------------------------- + lcSel = [{call pack_gest_rapoarte.fisa_ob_inventar_resp_stoc(?gnAn, ?gnLuna, ?pnId_responsabil,?gnIdSucursala)}] + lcCursor = 'cFisa' + lnSucces = goExecutor.oExecute(lcSel,lcCursor) + + IF lnSucces < 0 + AMESSAGEBOX('Call pack_gest_rapoarte.fisa_ob_inventar_resp' + CHR(13) + goExecutor.cEroare,0+16,"Eroare") + RETURN + ENDIF + ***------------------------------- + ** raportul nu calcula bine totalurile + SELECT *, ; + IIF(dnf<>0,(dnf-(dns_luni-IIF(!EMPTY(datain) AND !ISNULL(datain),((gnAn*12+gnLuna)-(YEAR(datain)*12+MONTH(datain))),0)))/dnf*100,0000) AS uzura ; + FROM cFisa ; + INTO CURSOR sel1 READWRITE + + IF USED('cFisa') + USE IN cFisa + ENDIF + + SELECT *, ; + IIF(uzura <= 100,ROUND((cants+CANT-CANTE)*PRET - (cants+CANT-CANTE)*PRET* uzura/100,gnPC),0) AS val_ramas ; + FROM sel1 ; + INTO CURSOR cFisaLic + + IF USED('sel1') + USE IN sel1 + ENDIF + + +*!* SELECT cFisaLic +*!* REPORT FORMAT fisa_lichidare.FRX TO PRINTER PROMPT NOCONSOLE PREVIEW + goExport.export2frx([cFisaLic],[fisa_lichidare]) + + IF USED('cFisaLic') + USE IN cFisaLic + ENDIF + + +ENDPROC && fisa_lichidare +***----------------------------------------------------------------------------------------------------------- +PROCEDURE fisa_echip_uzat_pred_imputat +*!* comentarii : 19.02.2008 + PARAMETERS tnOperatie + + && tnOperatie: 1 - uzat; 2 - predat + + PRIVATE pnOperatie + pnOperatie = tnOperatie + + LOCAL lcRaport + lcRaport = [] + + PRIVATE pcTitlu, pcPerioada && , pcDataOra && pt. raport + STORE "" TO pcTitlu +*!* pcDataOra = get_ora(2) + + PRIVATE pnId_responsabil + STORE 0 TO pnId_responsabil + + loResp = caut_responsabil(.T.) + pnId_responsabil = loResp.id_responsabil + + ***------------------------------- + PRIVATE pdDataI, pdDataF + STORE {} TO pdDataI, pdDataF + + loLuna = get_oluna(gnAn, gnLuna) + lcLuna1 = PADL(loLuna.lunamin,2,'0') + PADL(loLuna.anmin,4,'0') + lcLuna2 = PADL(loLuna.lunamax,2,'0') + PADL(loLuna.anmax,4,'0') + + LOCAL lcData1 + lcData1 = '01/'+PADL(loLuna.lunamin,2,'0')+'/'+ALLTRIM(STR(loLuna.anmin)) + pdDataI = CTOD(lcData1) + pdDataF = ULTIMAZI(STR(loLuna.anmax), STR(loLuna.lunamax)) + + + ofrmperioada = CREATEOBJECT('frm_perioada_zzllaaaa') + ofrmperioada.pdDataI = pdDataI + ofrmperioada.pdDataF = pdDataF + ofrmperioada.SHOW(1) + IF gnButon=2 + RETURN + ENDIF + + pcPerioada = DTOC(pdDataI) + ' - ' + DTOC(pdDataF) + + PRIVATE pnNnir + pnNnir = 0 + + ***------------------------------- + lcSel = [{call pack_gest_rapoarte.fisa_echip_uzat_pred_imputat(?gnAn, ?gnLuna, ?pnNnir, ?pdDataI, ?pdDataF, ?pnId_responsabil, ?pnOperatie, ?gnIdSucursala)}] + lcCursor = 'cFisa' + lnSucces = goExecutor.oExecute(lcSel,lcCursor) + + IF lnSucces < 0 + AMESSAGEBOX(goExecutor.cEroare,0+16,"Eroare") + RETURN + ENDIF + ***------------------------------- +*!* DO CASE +*!* CASE pnOperatie = 1 +*!* pcTitlu = "FISA ECHIPAMENT UZAT" +*!* CASE pnOperatie = 2 +*!* pcTitlu = "FISA ECHIPAMENT PREDAT" +*!* CASE pnOperatie = 3 +*!* pcTitlu = "FISA ECHIPAMENT IMPUTAT" +*!* ENDCASE + + PRIVATE pcSemnaturi + STORE '' TO pcSemnaturi + + DO CASE + CASE pnOperatie = 1 + pcTitlu = [FISA ECHIPAMENT UZAT] + lcRaport = [rap_echip_uzat] + param_listari(lcRaport,,@pcSemnaturi) +*!* SELECT cFisa +*!* REPORT FORM rap_echip_uzat TO PRINTER PROMPT PREVIEW + CASE pnOperatie = 2 + pcTitlu = [FISA ECHIPAMENT PREDAT] + lcRaport = [rap_echip_predat] + param_listari(lcRaport,,@pcSemnaturi, .T.) +*!* SELECT cFisa +*!* REPORT FORM rap_echip_predat TO PRINTER PROMPT PREVIEW + CASE pnOperatie = 3 + pcTitlu = [FISA ECHIPAMENT IMPUTAT] + lcRaport = [rap_echip_imputat] + param_listari(lcRaport,,@pcSemnaturi, .T.) +*!* SELECT cFisa +*!* REPORT FORM rap_echip_imputat TO PRINTER PROMPT PREVIEW + ENDCASE + + goExport.export2frx([cFisa],lcRaport) + + IF USED("cFisa") + USE IN cFisa + ENDIF + + +ENDPROC && fisa_echip_uzat_pred_imputat +***----------------------------------------------------------------------------------------------------------- + + + + diff --git a/programe/oproceduri_parteneri.prg b/programe/oproceduri_parteneri.prg new file mode 100644 index 0000000..5a04e61 --- /dev/null +++ b/programe/oproceduri_parteneri.prg @@ -0,0 +1,276 @@ +************************************************************************************************************************* +* adauga corespondente intre partener si fiecare tip din lista de id-uri tip partener +* Date : 04/10/2006 +* author : marius.mutu +******************************************************* ADAUGA_CORESP_TIP_PART ****************************************** +PROCEDURE ADAUGA_CORESP_TIP_PART + LPARAMETERS tnIdPart, tcTipuriPartener + && tcTipuriParteneri: lista de id-uri tipuri parteneri delimitata prin ',' + *!* ADAUG TIPURI DE PARTENER - PARTENER DACA NU EXISTA + + LOCAL lcTipPart, lcSql, lnSucces, i + IF EMPTY(tcTipuriPartener) OR EMPTY(tnIdPart) + RETURN + ENDIF + FOR i = 1 TO GETWORDCOUNT(tcTipuriPartener,[,;]) + lcTipPart = GETWORDNUM(tcTipuriPartener,i,[,;]) + lcSql = [begin PACK_DEF.adauga_coresp_tip_part(] + ALLTRIM(TRANSFORM(tnIdPart)) + [,] + lcTipPart + [); END;] + lnSucces = goExecutor.oExecute(lcSql) + IF lnSucces < 0 + AMESSAGEBOX(goExecutor.cEroare,0+16,'Eroare') + ENDIF + ENDFOR +ENDPROC && ADAUGA_CORESP_TIP_PART +******************************************************* ADAUGA_CORESP_DELEGAT ****************************************** +Procedure ADAUGA_CORESP_DELEGAT +Lparameters tnIdDelegat, tnIdPart +Local lcSql,lnSucces +lcSql = [begin pack_def.adauga_coresp_delegat(] + Alltrim(Str(tnIdDelegat)) + [,] + Alltrim(Str(tnIdPart)) + [); end;] +lnSucces = goExecutor.oExecute(lcSql) +If lnSucces < 0 + AMESSAGEBOX(goExecutor.cEroare,0+16,'Eroare') +Endif +EndProc +************************************************************************************************************************* +Procedure Adauga_Delegat_Partener +Lparameters tnIdDelegat, tnIdPartener +Local lcTipPart, lcSql, lnSucces +If Empty(tnIdDelegat) Or Empty(tnIdPartener) + Return +Endif +lcSql = [begin pack_def.adauga_coresp_tip_part(]+Alltrim(Str(tnIdDelegat))+[,?gnIdTipDelegati);] + ; + [pack_def.actualizeaza_coresp_delegati(] + Alltrim(Str(tnIdDelegat)) + [,'] + ; + Alltrim(Str(tnIdPartener)) + [;'); END;] +lnSucces = goExecutor.oExecute(lcSql) +If lnSucces < 0 + AMESSAGEBOX(goExecutor.cEroare,0+16,'Eroare') +Endif +Endproc && Adauga_Delegat_Partener + + +PROCEDURE Adauga_partener + LPARAMETERS toPartener + + Local lcAdresa, lcApart, lcBanca, lcBloc, lcCod_fiscal, lcCodpostal, lcCont_Banca, lcCorespDel + Local lcDA_apare, lcDenumire, lcDenumire_adresa, lcEmail, lcEtaj, lcFax, lcIdPart, lcIdString + Local lcId_Judet, lcId_categ_ent, lcId_loc, lcId_loc_inreg, lcId_tara, lcId_util, lcItem, lcJudet + Local lcJudetBucuresti, lcLocalitate, lcMesaj, lcMotiv_inactiv, lcNumar, lcNume, lcPrefix, lcPrenume + Local lcPrincipala, lcReg_comert, lcScara, lcSql, lcSqlInsert, lcStrada, lcSufix, lcTara, lcTelefon1 + Local lcTelefon2, lcTip_persoana, lcWeb, lcinactiv, llSucces, lnIdJudet, lnIdJudetBucuresti + Local lnIdLocalitateBucuresti, lnIdTaraRO, lnItem, lnItems, lnSucces + *:Global pnIdAdresa, pnIdJudet + + lcDenumire = Nvl(Strtran(Alltrim(Upper(toPartener.denumire)), ['], ['']), "") + lcNume = '' + IF TYPE('toPartener.nume') = 'C' + lcNume = Nvl(Strtran(Alltrim(Upper(toPartener.nume)), ['], ['']), "") + ENDIF + If Empty(m.lcNume) + lcNume = m.lcDenumire + m.lcPrenume = '' + Endif + + lcPrenume = '' + IF TYPE('toPartener.prenume') = 'C' + lcPrenume = Nvl(Strtran(Alltrim(Upper(toPartener.prenume)), ['], ['']), "") + ENDIF + + lcCod_fiscal = '' + IF TYPE('toPartener.cod_fiscal') = 'C' + lcCod_fiscal = Upper(Alltrim(toPartener.cod_fiscal)) + ENDIF + + lcReg_comert = '' + IF TYPE('toPartener.reg_com') = 'C' + lcReg_comert = Nvl(Alltrim(Upper(toPartener.reg_com)), "") + ENDIF + + lcId_loc_inreg = 'NULL' + lcId_categ_ent = 'NULL' + lcPrefix = "" + lcSufix = "" + lcTip_persoana = IIF(!EMPTY(m.lcCod_fiscal) and LEN(m.lcCod_fiscal) < 13, "1", "2") + lcBanca = "" + lcCont_Banca = "" + lcinactiv = "0" + lcMotiv_inactiv = "" + lcTip = 'CLIENTI' + IF TYPE('toPartener.tip') = 'C' + lcTip = UPPER(ALLTRIM(toPartener.tip)) + ENDIF + lcIdString = IIF(m.lcTip = 'CLIENTI', "16", "17") && 16 = CLIENTI, 17 = FURNIZORI + lcCorespDel = "" + lcId_util = "-3" + lcSqlInsert = [begin pack_def.adauga_partener('] + lcDenumire + [','] + lcNume + [','] + lcPrenume + [','] + lcCod_fiscal + [','] + ; + lcReg_comert + [',] + lcId_loc_inreg + [,] + lcId_categ_ent + [,'] + lcPrefix + [','] + lcSufix + [',] + ; + lcTip_persoana + [,'] + lcBanca + [','] + lcCont_Banca + [',] + lcinactiv + [,'] + lcMotiv_inactiv + [',] + ; + lcId_util + [,'] + lcIdString + [','] + lcCorespDel + [',?@pnIdPart); end;] + + llSucces = goExecutor.oExecuta(m.lcSqlInsert) + + *********************************** + * Adresa partener + *********************************** + + lcIdPart = Alltrim(Str(m.pnIdPart)) + + lcAdresa = Nvl(Strtran(Alltrim(Upper(toPartener.adresa)), ['], ['']), "") + + lcDenumire_adresa = "" + lcDA_apare = "0" + lcStrada = "" + lcNumar = "" + + lcBloc = "" + lcScara = "" + lcApart = "" + lcEtaj = "" + lcId_loc = "NULL" + lcLocalitate = "" + lcId_Judet = "NULL" + lcCodpostal = "NULL" + lcId_tara = "NULL" + lcTelefon1 = "" + lcTelefon2 = "" + lcFax = "" + lcEmail = "" + lcWeb = "" + lcPrincipala = Iif(m.pnNrAdrese = 0, "1", "0") + lcinactiv = "0" + lcId_util = "-3" + + lnItems = Getwordcount(m.lcAdresa, ',') + For lnItem = 1 To m.lnItems + lcItem = Alltrim(Getwordnum(m.lcAdresa, m.lnItem, ',')) + Do Case + Case m.lnItem = 1 && strada + lcStrada = LEFT(Alltrim(m.lcItem), 150) + Case 'NR.' $ m.lcItem && nr strada + lcNumar = LEFT(Alltrim(Strtran(m.lcItem, 'NR.', '')), 10) + Case 'BL.' $ m.lcItem + lcBloc = LEFT(Alltrim(Strtran(m.lcItem, 'BL.', '')), 30) + Case 'SC.' $ m.lcItem + lcScara = LEFT(Alltrim(Strtran(m.lcItem, 'SC.', '')), 10) + Case 'ET.' $ m.lcItem + lcEtaj = LEFT(Alltrim(Strtran(m.lcItem, 'ET.', '')), 20) + Case 'AP.' $ m.lcItem + lcApart = LEFT(Alltrim(Strtran(m.lcItem, 'AP.', '')), 10) + Case 'COD POSTAL' $ m.lcItem + lcCodpostal = ALLTRIM(STR(INT(VAL(LEFT(Alltrim(Strtran(m.lcItem, 'COD POSTAL', '')), 20))))) + Case 'LOC.' $ m.lcItem + lcLocalitate = Alltrim(Strtran(m.lcItem, 'LOC.', '')) + Case 'JUD.' $ m.lcItem + lcJudet = Alltrim(Strtran(m.lcItem, 'JUD.', '')) + Case m.lnItem = m.lnItems - 1 And Empty(m.lcLocalitate) + lcLocalitate = m.lcItem + Case m.lnItem = m.lnItems + lcTara = m.lcItem + Endcase + Endfor + + lnIdJudetBucuresti = 10 + lcJudetBucuresti = "BUCURESTI" + lnIdLocalitateBucuresti = 1759 + lnIdTaraRO = 1 + + If m.lcLocalitate = 'BUCURESTI' + m.lcLocalitate = 'BUCURESTI SECTORUL 1' + Endif + If Empty(m.lcLocalitate) + lcLocalitate = 'BUCURESTI SECTORUL 1' + Endif + If Empty(m.lcJudet) + lcJudet = m.lcJudetBucuresti + ENDIF + + * caut adresa dupa localitate. daca nu o gasesc, o adaug + SELECT cAdrese + LOCATE FOR id_part = m.pnIdPart AND localitate = m.lcLocalitate + IF !FOUND() + pnIdJudet = 0 + lnSucces = goExecutor.oSelect2Value([select j.id_judet, j.id_tara from syn_nom_judete j where j.judet = '] + m.lcJudet + [' and j.inactiv = 0 and j.sters = 0], @pnIdJudet) + + If m.lnSucces > 0 + IF EMPTY(NVL(m.pnIdJudet,0)) + lnSucces = goExecutor.oSelect2Value([select j.id_judet, j.id_tara from syn_nom_judete j where j.judet like '%] + m.lcJudetBucuresti + [%' and j.inactiv = 0 and j.sters = 0], @pnIdJudet) + IF m.lnSucces > 0 + lnIdJudet = m.pnIdJudet + ELSE + lnIdJudet = m.lnIdJudetBucuresti + ENDIF + ELSE + lnIdJudet = m.pnIdJudet + ENDIF + ELSE + This.Trace(goExecutor.cEroare) + lnIdJudet = m.lnIdJudetBucuresti + ENDIF + + lcSql = [select l.id_loc, l.id_judet, j.id_tara from syn_nom_localitati l left join syn_nom_judete j on l.id_judet = j.id_judet where l.id_judet = ] + ALLTRIM(STR(m.lnIdJudet)) + [ and l.localitate = '] + m.lcLocalitate + [' and l.inactiv = 0 and l.sters = 0 order by l.localitate] + lnSucces = goExecutor.oExecute(m.lcSql, 'cLocalitateTemp') + If m.lnSucces > 0 + IF RECCOUNT('cLocalitateTemp') > 0 + Select cLocalitateTemp + Go Top + lcId_loc = Alltrim(Str(id_loc)) + lcId_Judet = Alltrim(Str(id_judet)) + lcId_tara = Alltrim(Str(id_tara)) + Use In (Select('cLocalitateTemp')) + ELSE + Use In (Select('cLocalitateTemp')) + lcSql = [select l.id_loc, l.id_judet, j.id_tara from syn_nom_localitati l left join syn_nom_judete j on l.id_judet = j.id_judet where l.id_judet = ] + ALLTRIM(STR(m.lnIdJudet)) + [ and l.inactiv = 0 and l.sters = 0 order by l.localitate] + lnSucces = goExecutor.oExecute(m.lcSql, 'cLocalitateTemp') + If m.lnSucces > 0 + Select cLocalitateTemp + Go Top + lcId_loc = Alltrim(Str(id_loc)) + lcId_Judet = Alltrim(Str(id_judet)) + lcId_tara = Alltrim(Str(id_tara)) + ELSE + This.Trace(goExecutor.cEroare) + ENDIF + Use In (Select('cLocalitateTemp')) + ENDIF + ELSE + This.Trace(goExecutor.cEroare) + ENDIF + + IF EMPTY(NVL(m.lcId_loc, '')) + lcId_loc = Alltrim(Str(m.lnIdLocalitateBucuresti)) + lcId_Judet = Alltrim(Str(m.lnIdJudetBucuresti)) + lcId_tara = Alltrim(Str(m.lnIdTaraRO)) + Endif && lnSucces + + If m.lcId_loc <> 'NULL' + pnIdAdresa = 0 +*!* * caut adresa dupa localitate. daca nu o gasesc, o adaug +*!* lcSql = [SELECT id_adresa FROM adrese_parteneri where sters = 0 and inactiv = 0 and id_loc = ] + m.lcId_loc + [ AND id_part = ] + m.lcIdPart +*!* lnSucces = goExecutor.oSelect2Value(m.lcSql, @pnIdAdresa) +*!* If m.lnSucces < 0 +*!* lcMesaj = goExecutor.cEroare +*!* Thisform.trace(m.lcMesaj) +*!* AMessagebox(m.lcMesaj, 0 + 48, _Screen.Caption ) +*!* Exit +*!* Endif + + If Empty(NVL(m.pnIdAdresa,0)) + lcSql = [begin pack_def.adauga_adresa_partener2(] + lcIdPart + [,'] + lcDenumire_adresa + [',] + lcDA_apare + [,] + ; + ['] + lcStrada + [','] + lcNumar + [','] + ; + lcBloc + [','] + lcScara + [','] + lcApart + [','] + lcEtaj + [',] + lcId_loc + [,'] + lcLocalitate + [',] + lcId_Judet + [,] + lcCodpostal + [,] + lcId_tara + [,'] + ; + lcTelefon1 + [','] + lcTelefon2 + [','] + lcFax + [','] + lcEmail + [','] + lcWeb + [',] + ; + lcPrincipala + [,] + lcinactiv + [,] + lcId_util + [,?@pnIdAdresa); end;] + + lnSucces = goExecutor.oExecute(m.lcSql) + If m.lnSucces < 0 + lcMesaj = goExecutor.cEroare + Thisform.trace(m.lcMesaj) + AMessagebox(m.lcMesaj, 0 + 48, _Screen.Caption ) + Exit + Endif + Endif && empty(m.pnIdAdresa) + + Endif && m.lcId_loc <> 'NULL' + ENDIF && !found() + +ENDPROC && Adauga_partener + \ No newline at end of file diff --git a/programe/oproceduri_rapoarte_fact.prg b/programe/oproceduri_rapoarte_fact.prg new file mode 100644 index 0000000..6376366 --- /dev/null +++ b/programe/oproceduri_rapoarte_fact.prg @@ -0,0 +1,850 @@ +*************************************************************************************************************** +**** Clasa: +**** oDateListare +**** Proceduri: +**** rap_avize +**** rap_facturi +**** rap_incasari +**** rap_articole +**** rap_articole_tr +**** rap_avize_transfer +**** rap_centralizator +**** rap_centr_subgrupe +*************************************************************************************************************** +Define Class oDateListare As Custom + datai = {} + dataf = {} + data_referinta = {} + csql = [] + id_client = Null + nume_client = [] + id_agent = Null + nume_agent = [] + id_delegat = Null + nume_delegat = [] + id_masina = Null + nrinmat = [] + categorie = [] + id_categorie_entitate = Null + denumire = [] + id_articol = Null + grupa = [] + id_grupa = Null + subgrupa = [] + id_subgrupa = Null + id_gestiune_sursa = Null + gestiune_sursa = [] + id_gestiune_dest = Null + gestiune_dest = [] + id_util = Null + utilizator = [] + id_gestiune = Null + nume_gestiune = [] + subgr_art = [] + id_furnart = Null + furnizor_art = [] + *!* tip_raport = 1 + *!* Dimension acoloane(30,4) && 1 - nume_camp + *!* && 2 - ordine la grupare + *!* && 3 - ordine la order by + *!* && 4 - sens la order by ( 1 - ASC, 2 - DESC ) + Procedure Init + With This + ldData = Ttod(get_ora()) + If Year(ldData) * 12 + Month(ldData) <> gnAn * 12 + gnLuna + .datai = Date(gnAn, gnLuna, 1) + .dataf = Gomonth(Date(gnAn, gnLuna, 1), 1) - 1 + .data_referinta = .dataf + Else + .dataf = ldData + .data_referinta = ldData + .datai = Date(Year(ldData), Month(ldData), 1) + Endif + Endwith + Endproc + +Enddefine +*************************************************************************************************************** +********************************************** INCEPUT: rap_avize ********************************************* +Procedure rap_avize + Private poListare + poListare = Createobject("oDateListare") + ofrmdatelistare = Createobject("frm_date_rapoarte_avize") + ofrmdatelistare.Show(1) + Release poListare, ofrmdatelistare +Endproc && rap_avize +********************************************** SFARSIT: rap_avize ********************************************* +********************************************* INCEPUT: rap_facturi ******************************************** +Procedure rap_facturi + Private poListare + poListare = Createobject("oDateListare") + ofrmdatelistare = Createobject("frm_date_rapoarte_facturi") + ofrmdatelistare.Show(1) + Release poListare, ofrmdatelistare +Endproc && rap_facturi +********************************************** SFARSIT: rap_facturi ******************************************* +******************************************** INCEPUT: rap_incasari ******************************************** +Procedure rap_incasari + Private poListare + poListare = Createobject("oDateListare") + ofrmdatelistare = Createobject("frm_date_rapoarte_incasari") + ofrmdatelistare.Show(1) + Release poListare, ofrmdatelistare +Endproc && rap_incasari +******************************************** SFARSIT: rap_incasari ******************************************** +******************************************** INCEPUT: rap_articole ******************************************** +Procedure rap_articole + Private poListare + poListare = Createobject("oDateListare") + ofrmdatelistare = Createobject("frm_date_rapoarte_articole") + ofrmdatelistare.Show(1) + Release poListare, ofrmdatelistare +Endproc && rap_articole +******************************************** SFARSIT: rap_articole ******************************************** +******************************************** INCEPUT: rap_articole_tr ******************************************** +Procedure rap_articole_tr + Private poListare + poListare = Createobject("oDateListare") + ofrmdatelistare = Createobject("frm_date_rapoarte_articole_tr") + ofrmdatelistare.Show(1) + Release poListare, ofrmdatelistare +Endproc && rap_articole_tr +******************************************** SFARSIT: rap_articole_tr ******************************************** +******************************************** INCEPUT: rap_articole_v ******************************************** +Procedure rap_articole_v + Private poListare + poListare = Createobject("oDateListare") + ofrmdatelistare = Createobject("frm_date_rapoarte_articole_v") + ofrmdatelistare.Show(1) + Release poListare, ofrmdatelistare +Endproc && rap_articole_tr +******************************************** SFARSIT: rap_articole_v ******************************************** +***************************************** INCEPUT: rap_avize_transfer ***************************************** +Procedure rap_avize_transfer + Private poListare + poListare = Createobject("oDateListare") + ofrmdatelistare = Createobject("frm_date_rapoarte_avize_tr") + ofrmdatelistare.Show(1) + Release poListare, ofrmdatelistare +Endproc && rap_avize_transfer +***************************************** SFARSIT: rap_avize_transfer ***************************************** +***************************************** INCEPUT: rap_centralizator ****************************************** +Procedure rap_centralizator + Private pcDataora, pcPerioada, pdDataI, pdDataF, pnTotalFTva1, pnTotalTva1, pnTotalFTva2, pnTotalTva2 + Store {} To pdDataI, pdDataF + Store 0 To pnTotalFaraTva1, pnTotalTva1, pnTotalFaraTva2, pnTotalTva2 + Local lcOrder, lcSql, lcFiltru, lnSucces, lnNefacturatFTva, lnNefacturatTva + + ofrmperioada = Createobject('frm_perioada_zzllaaaa') + ofrmperioada.Show(1) + If gnButon = 2 + Return + Endif + + pcPerioada = [Perioada ] + Dtoc(pdDataI) + [ - ] + Dtoc(pdDataF) + + Create Cursor crsCentralizator(tip N(2), categorie c(100), valftva N(20, Max(gnPC, 4)), valtva N(20, Max(gnPC, 4))) + *!* tip = 1 >> nu afiseaza sumele + pcDataora = get_ora(2) + + If Used('crsCentrTot') + Use In crsCentrTot + Endif + lcSql1 = [select 1 as crs,tip,SUM(suma_fara_tva) as valftva,SUM(suma_tva) as valtva from ] + ; + gcS + [.fact_vrap_centralizator_tipuri where data_act between ?pdDataI and ?pdDataF] + gcCondSucursala + ; + [ group by tip] + lcSql2 = [select 2 as crs,null as tip,SUM(suma_fara_tva) as valftva,SUM(suma_tva) as valtva from ] + ; + gcS + [.fact_vrap_centralizator_art where data_act between ?pdDataI and ?pdDataF] + gcCondSucursala + lcSql3 = [select 3 as crs,null as tip,SUM(suma_fara_tva) as valftva,SUM(suma_tva) as valtva from ] + ; + gcS + [.fact_vrap_centralizator_rate where data_act between ?pdDataI and ?pdDataF] + gcCondSucursala + lcSql4 = [select 4 as crs,null as tip,SUM(disc_fara_tva) as valftva,SUM(disc_tva) as valtva from ] + ; + gcS + [.fact_vrap_centralizator_fact where data_act between ?pdDataI and ?pdDataF] + gcCondSucursala + lcSql = lcSql1 + [ union all ] + lcSql2 + [ union all ] + lcSql3 + [ union all ] + lcSql4 + lcCursor = [crsCentrTot] + lnSucces = goExecutor.oexecute(lcSql, lcCursor) + If lnSucces < 0 + amessagebox(goExecutor.oPrelucrareEroare(), 16, "Eroare") + Use In crsCentrTot + Return + Endif + + *** prelucrare raport + *!* Facturi + Select crsCentralizator + Append Blank + Replace categorie With "1. FACTURI" + Select Sum(valftva) As valftva, Sum(valtva) As valtva From crsCentrTot Where tip < 20 And crs = 1 Into Cursor crsTemp + Select crsTemp + Scatter Name poCentr + Select crsCentralizator + Replace valftva With Nvl(poCentr.valftva, 0), valtva With Nvl(poCentr.valtva, 0) + pnTotalFTva1 = Nvl(poCentr.valftva, 0) + pnTotalTva1 = Nvl(poCentr.valtva, 0) + + *!* Avize catre clienti + Select crsCentralizator + Append Blank + Replace categorie With "2. AVIZE CATRE CLIENTI", tip With 1 + + *!* Valoare totala + Append Blank + Replace categorie With Space(5) + "a) Valoare totala" + Select Sum(valftva) As valftva, Sum(valtva) As valtva From crsCentrTot Where Inlist(tip, 21, 22) And crs = 1 Into Cursor crsTemp + Select crsTemp + Scatter Name poCentr + Select crsCentralizator + Replace valftva With Nvl(poCentr.valftva, 0), valtva With Nvl(poCentr.valtva, 0) + lnNefacturatFTva = Nvl(poCentr.valftva, 0) + lnNefacturatTva = Nvl(poCentr.valtva, 0) + + *!* Valoare facturata + Append Blank + Replace categorie With Space(5) + "b) Valoare facturata" + Select Sum(valftva) As valftva, Sum(valtva) As valtva From crsCentrTot Where tip = 4 And crs = 1 Into Cursor crsTemp + Select crsTemp + Scatter Name poCentr + Select crsCentralizator + Replace valftva With Nvl(poCentr.valftva, 0), valtva With Nvl(poCentr.valtva, 0) + lnNefacturatFTva = lnNefacturatFTva - Nvl(poCentr.valftva, 0) + lnNefacturatTva = lnNefacturatTva - Nvl(poCentr.valtva, 0) + + *!* Valoare retururi + Append Blank + Replace categorie With Space(5) + "c) Valoare retururi" + Select Sum(valftva) As valftva, Sum(valtva) As valtva From crsCentrTot Where tip = 24 And crs = 1 Into Cursor crsTemp + Select crsTemp + Scatter Name poCentr + Select crsCentralizator + Replace valftva With Nvl(poCentr.valftva, 0), valtva With Nvl(poCentr.valtva, 0) + lnNefacturatFTva = lnNefacturatFTva + Nvl(poCentr.valftva, 0) + lnNefacturatTva = lnNefacturatTva + Nvl(poCentr.valtva, 0) + + *!* Valoare nefacturata + Append Blank + Replace categorie With Space(5) + "d) Valoare nefacturata (a-b+c)" + Replace valftva With lnNefacturatFTva, valtva With lnNefacturatTva + pnTotalFTva1 = pnTotalFTva1 + lnNefacturatFTva + pnTotalTva1 = pnTotalTva1 + lnNefacturatTva + + *!* Transferuri intre subunitati + Select crsCentralizator + Append Blank + Replace categorie With "3. TRANSFERURI INTRE SUBUNITATI" + Select Sum(valftva) As valftva, Sum(valtva) As valtva From crsCentrTot Where tip = 23 And crs = 1 Into Cursor crsTemp + Select crsTemp + Scatter Name poCentr + Select crsCentralizator + Replace valftva With Nvl(poCentr.valftva, 0), valtva With Nvl(poCentr.valtva, 0) + pnTotalFTva1 = pnTotalFTva1 + Nvl(poCentr.valftva, 0) + pnTotalTva1 = pnTotalTva1 + Nvl(poCentr.valtva, 0) + + *!* Articole + Select crsCentralizator + Append Blank + Replace categorie With "4. TOTAL ARTICOLE VANDUTE" + Select crsCentrTot + Locate For crs = 2 + Scatter Name poCentr + Select crsCentralizator + Replace valftva With Nvl(poCentr.valftva, 0), valtva With Nvl(poCentr.valtva, 0) + pnTotalFTva2 = Nvl(poCentr.valftva, 0) + pnTotalTva2 = Nvl(poCentr.valtva, 0) + + *!* Articole + Select crsCentralizator + Append Blank + Replace categorie With "5. TOTAL RATE CONTRACTE" + Select crsCentrTot + Locate For crs = 3 + Scatter Name poCentr + Select crsCentralizator + Replace valftva With Nvl(poCentr.valftva, 0), valtva With Nvl(poCentr.valtva, 0) + pnTotalFTva2 = pnTotalFTva2 + Nvl(poCentr.valftva, 0) + pnTotalTva2 = pnTotalTva2 + Nvl(poCentr.valtva, 0) + + *!* Discount-uri globale + Select crsCentralizator + Append Blank + Replace categorie With "6. TOTAL DISCOUNT GLOBAL" + Select crsCentrTot + Locate For crs = 4 + Scatter Name poCentr + Select crsCentralizator + Replace valftva With Nvl(poCentr.valftva, 0), valtva With Nvl(poCentr.valtva, 0) + pnTotalFTva2 = pnTotalFTva2 - Nvl(poCentr.valftva, 0) + pnTotalTva2 = pnTotalTva2 - Nvl(poCentr.valtva, 0) + + Release poCentr + Use In crsTemp + + If Used('crsCentrTot') + Use In crsCentrTot + Endif + + If Reccount('crsCentralizator') > 0 + Keyboard "{ctrl+f10}" + Select crsCentralizator + Report Form raport_centralizator To Printer Prompt Preview + Else + amessagebox("Nu exista inregistrari pentru listare!", 0 + 48, "Atentie") + Endif + + If Used('crsCentralizator') + Use In crsCentralizator + Endif + + Release pcDataora, pcPerioada, pdDataI, pdDataF, pnTotalFTva1, pnTotalTva1, pnTotalFTva2, pnTotalTva2 +Endproc && rap_centralizator +***************************************** SFARSIT: rap_centralizator ****************************************** +***************************************** INCEPUT: rap_centr_subgrupe ***************************************** +Procedure rap_centr_subgrupe + Local lcSql, lnSucces, lcCursor + Private pcDataora, pcPerioada, pdDataI, pdDataF, pcTitlu + Store {} To pdDataI, pdDataF + lcCursor = [crscentrsubgr] + + ofrmperioada = Createobject('frm_perioada_zzllaaaa') + ofrmperioada.Show(1) + If gnButon = 1 + pcPerioada = [Perioada ] + Dtoc(pdDataI) + [ - ] + Dtoc(pdDataF) + Else + Return + Endif + + lcXMLGestiune = caut_gestiune_xml(2) + If !Empty(lcXMLGestiune) And gnButon = 1 + Xmltocursor(lcXMLGestiune, "crsGestTemp") + If Reccount('crsGestTemp') = 0 + amessagebox('Nu ati selectat nici o gestiune!', 0 + 48, 'Inventar') + Return + Endif + pcTitlu = [CENTRALIZATOR VALORI PE SUBGRUPE DE ARTICOLE] + lcListaIdGestiuni = cursor2lista("crsGestTemp", "id_gestiune", ",") + Use In crsGestTemp + Else + Return + Endif + + If Used(lcCursor) + Use In (lcCursor) + Endif + lcSql = [select subgrupa,nume_gestiune,id_gestiune,Sum(val_ach) as val_ach,Sum(val_vanz) as val_vanz from ] + gcS + [.fact_vcentr_val_subgrupe ] + ; + [where data_act between ?pdDataI and ?pdDataF and id_gestiune in (] + lcListaIdGestiuni + [) ] + ; + [group by id_gestiune,nume_gestiune,subgrupa ] + ; + [order by nume_gestiune,subgrupa] + lnSucces = goExecutor.oexecute(lcSql, lcCursor) + If lnSucces < 0 + amessagebox(goExecutor.cEroare, 16, "Eroare") + Else + goExport.export2frx(lcCursor, [rap_centr_val_subgrupe]) && , , , , , , .T.) + Endif + If Used(lcCursor) + Use In (lcCursor) + Endif + + Release lcSql, lnSucces, pcDataora, pcPerioada, pdDataI, pdDataF, pcTitlu +Endproc && rap_centr_subgrupe +***************************************** SFARSIT: rap_centr_subgrupe ***************************************** +Procedure centr_avize_ruta + + + lcFiltru = [2=2] + lcSchema = [id_lucrare n(10),nrord c(100)] + lcOrder = [nrord] + lccoloane = [nrord] + lcTitlu = [ALEGETI LUCRAREA] + lcTitluColoane = [Lucrare] + *!* llMaiMulteMasini = tlMaiMulteMasini + lcSelect = [select id_lucrare,nrord from vnom_lucrari] + lcFiltruOriginal = [inactiv = 0] + *!* lcNumeProc = [nom_nomrute] + llToateIreg = .F. + lcPrimaColoana = [nrord] + lnPornire = 1 + *!* lnTipReturn = Iif(tlMaiMulteMasini, 1, 0) + lcIdColumn = "id_lucrare" + loCauta = cauta_alfa(lcSelect, lcFiltru, lcSchema, lcOrder, lccoloane, lcTitlu, lcTitluColoane, , llToateIreg, lcFiltruOriginal)&&, lcPrimaColoana, lnPornire, , lcIdColumn) + *!* loCauta = cauta_alfa(lcSelect, lcFiltru, lcSchema, lcOrder, lccoloane, lcTitlu, lcTitluColoane, lcNumeProc, tlToateIreg, lcFiltruOriginal) && 11.07.2007 + + + If Empty(loCauta.id_lucrare) Or Isnull(loCauta.id_lucrare) + Return + Endif + + + + lcSql = [ select * from fact_vrap_avize_ruta where id_lucrare = ] + Alltrim(Str(loCauta.id_lucrare)) + [ order by ruta,data_act,numar_act] + lcCursor = [crsavizeruta] + lnSucces = goExecutor.oexecute(lcSql, lcCursor) + If lnSucces < 0 + amessagebox(goExecutor.oPrelucrareEroare(), 16, "Eroare") + Use In crsavizeruta + Return + Endif + Select crsavizeruta + If Reccount() < 1 + amessagebox('Nu exista date pentru comanda selectata!', 0 + 64, 'Atentie') + Use In crsavizeruta + + Return + Endif + Private pcDataora + pcDataora = get_ora(2) + Select crsavizeruta + Report Form rap_avizerute To Printer Prompt Preview + + Use In crsavizeruta +Endproc + + +*------------------------------------------------------------------------------- + +Procedure centr_art_ruta + + + lcFiltru = [2=2] + lcSchema = [id_lucrare n(10),nrord c(100)] + lcOrder = [nrord] + lccoloane = [nrord] + lcTitlu = [ALEGETI LUCRAREA] + lcTitluColoane = [Lucrare] + *!* llMaiMulteMasini = tlMaiMulteMasini + lcSelect = [select id_lucrare,nrord from vnom_lucrari] + lcFiltruOriginal = [inactiv = 0] + *!* lcNumeProc = [nom_nomrute] + llToateIreg = .F. + lcPrimaColoana = [nrord] + lnPornire = 1 + *!* lnTipReturn = Iif(tlMaiMulteMasini, 1, 0) + lcIdColumn = "id_lucrare" + loCauta = cauta_alfa(lcSelect, lcFiltru, lcSchema, lcOrder, lccoloane, lcTitlu, lcTitluColoane, , llToateIreg, lcFiltruOriginal)&&, lcPrimaColoana, lnPornire, , lcIdColumn) + *!* loCauta = cauta_alfa(lcSelect, lcFiltru, lcSchema, lcOrder, lccoloane, lcTitlu, lcTitluColoane, lcNumeProc, tlToateIreg, lcFiltruOriginal) && 11.07.2007 + + + If Empty(loCauta.id_lucrare) Or Isnull(loCauta.id_lucrare) + Return + Endif + + + + lcSql = [ select * from fact_vrap_art_ruta where id_lucrare = ] + Alltrim(Str(loCauta.id_lucrare)) + [ order by ruta,subgrupa,denumire] + lcCursor = [crsartruta] + lnSucces = goExecutor.oexecute(lcSql, lcCursor) + If lnSucces < 0 + amessagebox(goExecutor.oPrelucrareEroare(), 16, "Eroare") + Use In crsartruta + Return + Endif + Select crsartruta + If Reccount() < 1 + amessagebox('Nu exista date pentru comanda selectata!', 0 + 64, 'Atentie') + Use In crsartruta + + Return + Endif + Private pcDataora + pcDataora = get_ora(2) + Select crsartruta + Report Form rap_ARTrute To Printer Prompt Preview + + Use In crsartruta +Endproc + +*--------------------------------------------------------------------------- +Procedure rap_factav_doc && lansat din rap_listfactav_centr, lansat la randul lui din frm_facturi (ofacturare.vcx) + Local lnNrIreg, lcFiltruInit, lnRecSel + Store 0 To lnNrIreg, lnRecSel + Store '' To lcFiltruInit + + Select crsfacturi + lcFiltruInit = Set("Filter") + lnRecSel = Recno() + Set Filter To ales = 1 + + Count For ales = 1 To lnNrIreg + *!* modificare v 2.0.40 + *!* If Reccount() <1 + If lnNrIreg < 1 + *!* modificare v 2.0.40 ^ + amessagebox('Nu ati selectat vreun document!', 0 + 48, 'Atentie') + *!* modificare v 2.0.40 + *!* Return + *!* EndIf + Else + *!* modificare v 2.0.40 ^ + Private pcDataora + pcDataora = get_ora(2) + Select crsfacturi + Report Form rap_avizedoc To Printer Prompt Preview + *!* modificare v 2.0.40 + Endif + *!* modificare v 2.0.40 ^ + Select crsfacturi + Set Filter To &lcFiltruInit + If lnRecSel > 0 + Goto lnRecSel + Endif +Endproc +*--------------------------------------------------------------------------- +Procedure rap_factav_grupate_doc && lansat din rap_listfactav_centr, lansat la randul lui din frm_facturi (ofacturare.vcx) + Local lnNrIreg, lcFiltruInit, lnRecSel + Store 0 To lnNrIreg, lnRecSel + Store '' To lcFiltruInit + + Select crsfacturi + lcFiltruInit = Set("Filter") + lnRecSel = Recno() + Set Filter To ales = 1 + + Count For ales = 1 To lnNrIreg + *!* modificare v 2.0.40 + *!* If Reccount() <1 + If lnNrIreg < 1 + *!* modificare v 2.0.40 ^ + amessagebox('Nu ati selectat vreun document!', 0 + 48, 'Atentie') + *!* modificare v 2.0.40 + *!* Return + *!* EndIf + Else + *!* modificare v 2.0.40 ^ + Private pcDataora + pcDataora = get_ora(2) + Select crsfacturi + *!* modificare v 2.0.63 + If Used('crsdocgrup') + Use In crsdocgrup + Endif + Select client, numar_act, data_act, valoarea, total_cu_tva, ; + PADR(Iif(Inlist(tip, 1, 2, 3, 4, 5, 6, 8, 9, 10, -1, -2, -3, -4, -8, -11), 'FACTURI', ; + IIF(Inlist(tip, 21, 22, 24, 26, -7, -13), 'AVIZE CATRE CLIENTI', ; + IIF(Inlist(tip, 23, 25, 27, 30, 41, -6), 'TRANSFERURI', ; + IIF(Inlist(tip, 28, 29), 'AVIZE CATRE CLIENTI DEBITORI', ; + IIF(Inlist(tip, -9), 'AVIZE DE PROTOCOL', ; + IIF(Inlist(tip, -10), 'AVIZE DE SPONSORIZARI', ; + IIF(Inlist(tip, 7), 'CREDIT NOTE', ; + IIF(Inlist(tip, 42, 47), 'CLIENTI IN CUSTODIE - COMANDA', ; + IIF(Inlist(tip, 43), 'BONURI FISCALE MAGAZINE', ''))))))))), 70, ' ') As explicatie ; + FROM crsfacturi ; + ORDER By 6, 1, 3 ; + INTO Cursor crsdocgrup + + Report Form rap_avizedoc_grup To Printer Prompt Preview + Use In crsdocgrup + *!* modificare v 2.0.63 ^ + + *!* modificare v 2.0.40 + Endif + *!* modificare v 2.0.40 ^ + Select crsfacturi + Set Filter To &lcFiltruInit + If lnRecSel > 0 + Goto lnRecSel + Endif +Endproc +*--------------------------------------------------------------------------- +Procedure rap_factav_art && lansat din rap_listfactav_centr, lansat la randul lui din frm_facturi (ofacturare.vcx) + Local lcidvanzari, lcSql, lnSucces + Store '' To lcidvanzari + Local lnNrIreg, lcFiltruInit, lnRecSel + Store 0 To lnNrIreg, lnRecSel + Store '' To lcFiltruInit + + Select crsfacturi + lcFiltruInit = Set("Filter") + lnRecSel = Recno() + Set Filter To ales = 1 + + Count For ales = 1 To lnNrIreg + *!* modificare v 2.0.40 + *!* If Reccount() <1 + If lnNrIreg < 1 + *!* modificare v 2.0.40 ^ + amessagebox('Nu ati selectat vreun document!', 0 + 48, 'Atentie') + *!* modificare v 2.0.40 + *!* Return + *!* EndIf + Else + *!* modificare v 2.0.40 + Select crsfacturi + Scan + lcidvanzari = lcidvanzari + [, ] + Alltrim(Str(crsfacturi .id_vanzare)) + Select crsfacturi + Endscan + lcidvanzari = Substr(lcidvanzari, 2) + *!* modificare v 2.0.83 + *!* lcSql = [select a.codmat,a.denumire,a.pret_achizitie,a.pret,a.subgrupa,sum(cantitate) as cantitate from fact_vfacturi_detalii a ]+; + *!* [ where a.id_vanzare in (]+Alltrim(lcidvanzari)+[)]+; + *!* [ group by a.codmat,a.denumire,a.pret_achizitie,a.pret,a.subgrupa]+; + *!* [ order by a.codmat, a.denumire ] + lcSql = [select d.codmat,NVL(d.denumire, a.explicatie) as denumire,a.pret_achizitie,] + ; + [sum(round(a.cantitate*a.pret_achizitie,?gnPc)) as valoare_achizitie,] + ; + [pack_sesiune.calculeaza_pret_cu_tva(a.pret,nvl(c.curs,1)/NVL(c.multiplicator,1),a.id_valuta,a.proc_tvav,a.pret_cu_tva,2) as pretvtva,] + ; + [sum(pack_sesiune.calculeaza_total_cu_tva(a.pret,a.diferenta,nvl(c.curs,1)/NVL(c.multiplicator,1),a.discount_unitar,b.discount_evidentiat,a.cantitate,a.pret_cu_tva,a.proc_tvav,?gnPPretV,?gnPC)) as valoarevtva,] + ; + [e.subgrupa,sum(a.cantitate) as cantitate ] + ; + [from vanzari_detalii a ] + ; + [left join vanzari b on a.id_vanzare = b.id_vanzare ] + ; + [left join vanzari_cursuri c on a.id_vanzare = c.id_vanzare and a.id_valuta = c.id_valuta ] + ; + [left join nom_articole d on a.id_articol = d.id_articol ] + ; + [left join gest_art_sbgr e on d.id_subgrupa = e.id_subgrupa ] + ; + [where a.sters = 0 and a.id_vanzare in (] + Alltrim(lcidvanzari) + [) ] + ; + [group by NVL(d.denumire, a.explicatie),d.codmat,a.pret_achizitie,e.subgrupa,a.pret,nvl(c.curs,1),NVL(c.multiplicator,1),a.id_valuta,a.proc_tvav,a.pret_cu_Tva ] + ; + [order by e.subgrupa,NVL(d.denumire, a.explicatie) ] + *!* modificare v 2.0.83 ^ + lnSucces = goExecutor.oexecute(lcSql, 'crsfactdetaliiartrap') + If lnSucces < 0 + amessagebox(goExecutor.cEroare, 0 + 16, "Eroare") + *!* modificare v 2.0.40 + *!* Return + *!* Endif + Else + *!* modificare v 2.0.40 ^ + Private pcDataora + pcDataora = get_ora(2) + Select crsfactdetaliiartrap + Report Form rap_artdoc To Printer Prompt Preview + *!* modificare v 2.0.40 + Endif + Endif + *!* modificare v 2.0.40 ^ + Select crsfacturi + Set Filter To &lcFiltruInit + If lnRecSel > 0 + Goto lnRecSel + Endif +Endproc +*--------------------------------------------------------------------------- +Procedure rap_borderou_ar + Local lcCursor, lcCursorAdrese + lcCursor = [crsARClienti] + lcCursorAdrese = [crsARAdresePart] + lcCursorFirma = [crsARDateFirma] + Select a.client, a.id_part, Space(255) As loc_judet From crsfacturi a With (Buffering = .T.) ; + Where ales = 1 Order By 1 Into Cursor (lcCursor) NOFILTER Readwrite + If Reccount(lcCursor) < 1 + amessagebox('Nu ati selectat nici un document!', 0 + 48, 'Atentie') + Else + lcSql = [select antet as denumire,adresa,telefon from syn_nom_firme where id_firma = ?gnIdFirma] + If goExecutor.oExecuta(lcSql, lcCursorFirma) + Private poFirma + Select (lcCursorFirma) + Scatter Name poFirma + + Select (lcCursor) + lcListaId = [] + Scan For !Isnull(id_part) + lcListaId = lcListaId + [,] + Alltrim(Str(id_part)) + Endscan + + lcSql = [select distinct id_part,localitate||nvl2(judet,' ('||judet||')','') as loc_judet from vadrese_parteneri ] + ; + [where id_part in (] + Substr(lcListaId, 2) + [) and principala = 1] + If goExecutor.oExecuta(lcSql, lcCursorAdrese) + Select (lcCursorAdrese) + Scan For !Isnull(loc_judet) + lcLocJudet = loc_judet + lnIdPart = id_part + Update (lcCursor) Set loc_judet = lcLocJudet Where id_part = lnIdPart + Endscan + goExport.export2frx(lcCursor, [borderou_ar], , , , , , .T.) + Endif + Use In (Select(lcCursorAdrese)) + Endif + Use In (Select(lcCursorFirma)) + Endif + Use In (Select(lcCursor)) +Endproc +*--------------------------------------------------------------------------- +Procedure rap_factav_docart && lansat din rap_listfactav_centr, lansat la randul lui din frm_facturi (ofacturare.vcx) + + Select a.*, 1 As g1 From crsfacturi a With (Buffering = .T.) Where ales = 1 Into Cursor crsDocArt NOFILTER Readwrite + Select crsDocArt + If Reccount() < 1 + amessagebox('Nu ati selectat nici un document!', 0 + 48, 'Atentie') + *!* modificare v 2.0.40 + *!* Return + *!* EndIf + Else + *!* modificare v 2.0.40 ^ + + Local lcidvanzari, lcSql, lnSucces + Store '' To lcidvanzari + + Select crsDocArt + Scan + lcidvanzari = lcidvanzari + [, ] + Alltrim(Str(crsDocArt.id_vanzare)) + Select crsDocArt + Endscan + lcidvanzari = Substr(lcidvanzari, 2) + + lcSql = [select a.codmat,a.denumire,a.pret_achizitie,a.pret,a.subgrupa,sum(cantitate) as cantitate from fact_vfacturi_detalii a ] + ; + [ where a.id_vanzare in (] + Alltrim(lcidvanzari) + [)] + ; + [ group by a.codmat,a.denumire,a.pret_achizitie,a.pret,a.subgrupa] + ; + [ order by a.codmat, a.denumire ] + + lnSucces = goExecutor.oexecute(lcSql, 'crsfactdetaliiartrap') + If lnSucces < 0 + amessagebox(goExecutor.cEroare, 0 + 16, "Eroare") + *!* modificare v 2.0.40 + *!* Return + *!* EndIf + Else + *!* modificare v 2.0.40 ^ + Private pcDataora + pcDataora = get_ora(2) + Select crsfactdetaliiartrap + Report Form rap_artdoc To Printer Prompt Preview + *!* modificare v 2.0.40 + Endif + Endif + *!* modificare v 2.0.40 ^ + Select crsfacturi + Set Filter To &lcFiltruInit + If lnRecSel > 0 + Goto lnRecSel + Endif +Endproc +*---------------------------------------------------------------------------------------------- +Procedure rap_transf_art + Local lcidvanzari, lcSql, lnSucces + Store '' To lcidvanzari + + Select * From crsfacturi With (Buffering = .T.) Where ales = 1 Into Cursor crsTmp + If Reccount() < 1 + amessagebox('Nu ati selectat vreun document!', 0 + 48, 'Atentie') + *!* modificare v 2.0.40 + *!* Return + *!* EndIf + Else + *!* modificare v 2.0.40 ^ + Select crsTmp + Scan + lcidvanzari = lcidvanzari + [, ] + Alltrim(Str(crsTmp.id_vanzare)) + Select crsTmp + Endscan + Use In crsTmp + lcidvanzari = Substr(lcidvanzari, 2) + lcSql = [select a.codmat,a.denumire,a.pret_achizitie,a.pret,a.subgrupa,sum(cantitate) as cantitate,client from fact_vfacturi_detalii a ] + ; + [ where a.id_vanzare in (] + Alltrim(lcidvanzari) + [)] + ; + [ group by a.denumire,a.codmat,a.pret_achizitie,a.pret,a.subgrupa,client] + ; + [ order by a.subgrupa,a.denumire ] + lnSucces = goExecutor.oexecute(lcSql, 'crssitconsum') + If lnSucces < 0 + amessagebox(goExecutor.cEroare, 0 + 16, "Eroare") + *!* modificare v 2.0.40 + *!* Return + *!* Endif + Else + *!* modificare v 2.0.40 ^ + Private pcDataora + pcDataora = get_ora(2) + Select crssitconsum + Report Form rap_transferart To Printer Prompt Preview + *!* modificare v 2.0.40 + Endif + Endif + *!* modificare v 2.0.40 ^ + Select crsfacturi +Endproc &&rap_transf_art + + +*--------------------------------------------------------------------------- +* Borderou documente de trimis la clienti grupat pe clienti +* Salveaza borderouri individiuale pdf si listeaza la imprimanta un raport cu toate borderourile [borderou1-borderou2] +* Un borderou pentru toti clientii sau un borderou pentru un client, daca se transmite tnIdPart +Procedure rap_borderou_clienti && lansat din frm_facturi (ofacturare.vcx) + Lparameters tcIds, tlPDF, tlListare, tcCursorFacturi + * tlSilent, tlPDF: se apeleaza cu parametri din generare_borderou_facturi si email_borderou_facturi pentru generare pdf silentios pentru fiecare id_borderou + * tlListare: se apeleaza din frm_facturi.do_listare + * tcIds : lista id-uri borderou C; id_borderou N + * tcCursorFacturi: optional, pentru citirea ctip_factura suprascris de utilizator (ACN!) + + Private pcDataora + Local loPreviewerConfig As "PreviewerConfig" + Local lcDestinationFile, lcSelect, lcSetare, lcSetareVizualizare, lcSql, ldDataBorderou, llSucces + Local lnIdBorderou, lcIds, lcCursor, lcCursor2 + pcDataora = get_ora(2) + + lcSelect = Select() + lcIds = IIF(TYPE('tcIds') = 'C', m.tcIds, IIF(TYPE('tcIds') = 'N', ALLTRIM(STR(m.tcIds)), '')) + llSucces = !EMPTY(m.lcIds) + lcCursor = SYS(2015) + SET STEP ON + IF m.llSucces + TEXT TO lcSql TEXTMERGE NOSHOW + Select client, data_act, numar_act, total_fara_tva, total_tva, total_cu_tva, valval, tvaval, totval, ctip_factura, in_valuta, valuta, id_vanzare, id_client, id_borderou, data_borderou, email_client, adresa_client + FROM fact_vborderou_detalii + WHERE id_borderou in (<>) + ORDER By 1, 2, 3 + ENDTEXT + + llSucces = goExecutor.oExecuta(m.lcSql, m.lcCursor) + + *************** + * Suprascriere ctip_factura special pentru ACN, pentru ca voiau ENERGIE ELECTRICA in loc de CHIRII SI UTILITATI pe borderou + * si nu am adaugat un tip nou de prestatii ENERGIE ELECTRICA + *************** + IF !EMPTY(m.tcCursorFacturi) AND USED(m.tcCursorFacturi) + SELECT (m.tcCursorFacturi) + SCAN + lnIdVanzare = id_vanzare + lcTipFactura = ALLTRIM(NVL(ctip_factura,'')) + UPDATE (m.lcCursor) SET ctip_factura = m.lcTipFactura WHERE id_vanzare = m.lnIdVanzare + ENDSCAN + ENDIF + ENDIF + + If m.llSucces + *********************** + lcSetare = [BORDEROU] + lcSetareVizualizare = [PREVIZBORDEROU] + loPreviewerConfig = Createobject("PreviewerConfig") && rapoarte.prg + + * Listez toate borderourile intr-un singur raport + If m.tlListare + * m.loPreviewerConfig.SetValue("lDirectPrint", m.tlSilent) + goExport.export2frx(m.lcCursor, [rap_borderou_clienti], .F., m.lcSetareVizualizare, m.lcSetare, , , .T., , loPreviewerConfig) + Endif && tlListare + + * salvez pdf-uri cu borderouri individuale cu denumirea borderou_[aaaallzz]_[tnId].pdf + If m.tlPDF + SELECT distinct id_borderou FROM (m.lcCursor) INTO CURSOR cIdsBorderouListareTemp + SELECT cIdsBorderouListareTemp + lcRecc = ALLTRIM(STR(RECCOUNT())) + SCAN + lnIdBorderou = id_borderou + lcRecno = ALLTRIM(STR(RECNO())) + WAIT WINDOW 'Generare pdf borderou ' + m.lcRecno + '/' + m.lcRecc NOWAIT + lcCursor2 = SYS(2015) + SELECT * FROM (m.lcCursor) WHERE id_borderou = m.lnIdBorderou INTO CURSOR (m.lcCursor2) + SELECT (m.lcCursor2) + GO TOP + ldDataBorderou = data_borderou + lcDestinationFile = GetPDFBorderouFile(m.ldDataBorderou, m.lnIdBorderou) + If !File(m.lcDestinationFile) Or (File(m.lcDestinationFile) And amessagebox('Doriti sa suprascrieti ' + m.lcDestinationFile + '?', 4 + 32, _Screen.Caption) = 6) + m.loPreviewerConfig.SetValue("cDestFile", m.lcDestinationFile) + m.loPreviewerConfig.SetValue("lOpenDestFile", .F.) + m.loPreviewerConfig.SetValue("lDirectPrint", .T.) + m.loPreviewerConfig.SetValue("lOpenViewer", .F.) + *!* lcPdfHasImage = goApp.ReadIni([email_factura], "borderoupdfhasimage") + *!* llPdfHasImage = (m.lcPdfHasImage = "1") + *!* If Empty(m.lcPdfHasImage) + *!* goApp.WriteIni([email_factura], "borderoupdfhasimage", "0") + *!* llPdfHasImage = .F. + *!* Endif + *!* m.loPreviewerConfig.SetValue("lPDFasImage", m.llPdfHasImage) + + * tcAlias, tcRaport, tlCereTitlu, tcSetareVizualizare, tcSetareImprimanta, tcParametriListare, toListener, tlMultiPreview, tcReportPreviewer, toPreviewerConfig + goExport.export2frx(m.lcCursor2, [rap_borderou_clienti], .F., m.lcSetareVizualizare, m.lcSetare, , , .T., , loPreviewerConfig) + USE IN (SELECT(m.lcCursor2)) + Endif + + ENDSCAN && cIdsBorderouListareTemp + USE IN (SELECT('cIdsBorderouListareTemp')) + Endif && m.tlPDF + *********************** + *!* goExport.export2frx('crsBorderouFacturiTemp', [rap_borderou_clienti], , , , , , .T.) + Use In (Select(m.lcCursor)) + Endif && llSuccess + + Select (m.lcSelect) + Return m.llSucces +Endproc && rap_borderou_clienti \ No newline at end of file diff --git a/programe/oproceduri_retete.prg b/programe/oproceduri_retete.prg new file mode 100644 index 0000000..80db0b7 --- /dev/null +++ b/programe/oproceduri_retete.prg @@ -0,0 +1,62 @@ +********* INCEPUT: viz_retetar *********** +Procedure viz_retetar +Private pnIdReteta +Store 0 To pnIdReteta +ofrm_ret = Createobject('frm_retetar') +ofrm_ret.Show(1) +Release ofrm_ret +*!* && Produse +*!* lcSelect1 = ['select distinct id_produs,codmat_pr,denumire_pr,um_pr,cont_pr ] + ; +*!* [ from ] + gcS + [.vgest_retetar where 1=2'] +*!* lcCursor1 = [crsProduse] +*!* lcSchema1 = [''] +*!* lcOrder1 = [denumire_pr] +*!* lcFiltru1 = [1=1] +*!* lcNume_coloane1= [codmat_pr;denumire_pr;um_pr;cont_pr] +*!* lcTitlu_coloane1 = [Cod produs,Denumire,Unitate de masura,Cont] +*!* +*!* PRIVATE pnId_produs,pncant_veche,pncant_noua +*!* STORE 0 TO pnId_produs,pncant_veche,pncant_noua +*!* +*!* &&Materiale +*!* lcSelect2 = ['select id_retetar,id_produs,id_material,codmat_mat,denumire_mat,'+] +; +*!* ['um_mat,cont_mat,cant_mat from ] + gcS + [.vgest_retetar where 1=2'] +*!* lcCursor2 = [crsMateriale] +*!* lcSchema2 = ['id_retetar n(5),id_produs n(10),id_material n(10),codmat_mat c(50),' +] +; +*!* ['denumire_mat c(100),um_mat c(6),cont_mat c(4),cant_mat n(12,4)'] +*!* lcOrder2 = [denumire_mat] +*!* lcFiltru2 = [ id_produs = ?pnId_produs ] +*!* lcNume_coloane2= [codmat_mat;denumire_mat;um_mat;cont_mat;cant_mat] +*!* lcTitlu_coloane2 = [Cod material,Denumire,Unitate de masura,Cont,Cantitate] +*!* +*!* ofrm_ret = CREATEOBJECT('frm_retetar') +*!* +*!* WITH ofrm_ret.ct_grid_search1 +*!* .cSelect = lcSelect1 +*!* .cSchema = lcSchema1 +*!* .cFiltruOriginal = lcFiltru1 +*!* .cFiltru = lcFiltru1 +*!* .cTitlu = 'PRODUSE' +*!* .corder = lcorder1 +*!* .cnume_coloane = lcnume_coloane1 +*!* .ctitlu_coloane = lctitlu_coloane1 +*!* .cnumecursor = lccursor1 +*!* ENDWITH + +*!* WITH ofrm_ret.ct_grid_search2 +*!* .cSelect = lcSelect2 +*!* .cSchema = lcSchema2 +*!* .cFiltruOriginal = lcFiltru2 +*!* .cFiltru = [1=1] +*!* .cTitlu = 'MATERIALE' +*!* .corder = lcorder2 +*!* .cnume_coloane = lcnume_coloane2 +*!* .ctitlu_coloane = lctitlu_coloane2 +*!* .cnumecursor = lccursor2 +*!* ENDWITH +*!* +*!* ofrm_ret.show(1) +*!* RELEASE ofrm_ret + +Endproc +********* SFARSIT: viz_retetar *********** \ No newline at end of file diff --git a/programe/oproceduri_roadef.prg b/programe/oproceduri_roadef.prg new file mode 100644 index 0000000..cdf9d66 --- /dev/null +++ b/programe/oproceduri_roadef.prg @@ -0,0 +1,632 @@ +*!* 19.03.2015 +*!* marius.mutu +*!* VIZ_LUNI_BLOCATE - se afiseaza doar programele pe care are utilizatorul dreptul + +*** OPROCEDURI_ROADEF +**************************************** INCEPUT: viz_categorii_entitati ****************************** +Procedure viz_categorii_entitati +Private poCategorii_entitati,pcSchema,pcSelect +Store '' To poCategorii_entitati +If Used('crsCategorii_entitati') + Use In crsCategorii_entitati +Endif + +llAfisare=.F. +pcSchema = [''] +pcSelect=['select * from ] + gcS + [.vnom_categorii_entitati where 1=2'] +pcOrder=[categorie_entitate] +pcFiltru = [1=2] +gencursor('poCategorii_entitati','crsCategorii_entitati',pcSelect,pcFiltru,pcSchema,pcOrder,llAfisare) +poCategorii_entitati.ca_baza1.afisare() +ofrmcategorii=Createobject('frm_categorii_entitati') +ofrmcategorii.Show(1) +Release poCategorii_entitati,ofrmcategorii +Endproc +**************************************** SFARSIT: viz_categorii_entitati ****************************** +******************************************* +* PROCEDURE VIZ_LUNI_BLOCATE +* Date : 28/10/2005, 10:27:42 +* author : marius.mutu +* description: +******************************************* +Procedure VIZ_LUNI_BLOCATE + +Local lcObiect, lcCursor, lcSelect, lcFiltru, lcSchema, lcOrder, llAfisare, lcGroup, llModParam, lcFiltruOriginal, lcSeconds +lnSucces = 1 + +lcSeconds = SET("Seconds") +SET SECONDS ON +Private poPrograme +poPrograme = .F. +lcObiect = "poPrograme" +lcCursor = "crsPrograme" +*!* lcSelect = "select ide_program, explicatie as denumire from contafin_oracle.vdef_programe" + +TEXT TO lcSelect NOSHOW +select distinct p.ide_program, p.nume as denumire, p.instalat + from contafin_oracle.vDEF_UTIL_GRUP ug + join contafin_oracle.def_grup_drept gd on ug.id_grup = gd.id_grup + join contafin_oracle.vdef_programe p on gd.id_program = p.ide_program +ENDTEXT + +lcFiltru = "" +lcSchema = "" +lcOrder = "nume" +llAfisare = .F. +lcGroup = "" +llModParam = .T. +lcFiltruOriginal = "ug.id_util = ?gnIdUtil and ug.id_firma = ?gnIdFirma and gd.sters = 0 and p.instalat = 1 and p.nume not in ('INDEX.HTM', 'ROADEF', 'ROADEFSALARII', 'ROASUPORT', 'ROADECL', 'ROAMANAGER', 'ROASITFIN', 'ROAOFERTARE', 'ROAJURIDIC', 'ROAPRETURI')" +gencursor(lcObiect, lcCursor, lcSelect, lcFiltru, lcSchema, lcOrder, llAfisare, lcGroup, llModParam, lcFiltruOriginal) +poPrograme.ca_baza1.lAfisare = .T. +poPrograme.ca_baza1.afisare() +If !Used('crsPrograme') + lnSucces = -1 +Endif + + +If lnSucces > 0 + + Private poBlocat + poBlocat = .F. + lcObiect = "poBlocat" + lcCursor = "crsLuniAn" + lcSelect = "select * from blocatprogramluni" + +TEXT TO lcSelect NOSHOW +select an, luna, ide_program, blocat, id_util, utilizator, stare, dataora from + (select b.an, + b.luna, + b.ide_program, + b.blocat, + l1.id_log, + l1.id_util, + u.utilizator, + l1.stare, + l1.dataora, + max(l1.id_log) OVER(PARTITION BY l1.id_tabel) as idlogmax + from blocatprogramluni b + left join (select l.id_log, + l.tabel, + l.id_tabel, + l.camp, + l.ID_UTIL, + DECODE(VALOAREN, 1, 'BLOCAT', 'DEBLOCAT') AS STARE, + l.dataora + from LOG l) l1 + on l1.ID_TABEL = b.ide_program || b.an || lpad(b.luna, 2, '0') + and l1.tabel = 'BLOCATPROGRAMLUNI' + and l1.camp = 'BLOCAT' + and l1.id_util <> 2 + left join syn_utilizatori u + on l1.id_util = u.id_util) +ENDTEXT + lcFiltru = "1 = 2" + lcSchema = "" + lcOrder = "ide_program, an desc, luna desc" + llAfisare = .F. + lcGroup = "" + llModParam = .T. + lcFiltruOriginal = "nvl(id_log,0) = nvl(idlogmax,0)" + gencursor(lcObiect, lcCursor, lcSelect, lcFiltru, lcSchema, lcOrder, llAfisare, lcGroup, llModParam, lcFiltruOriginal) + poBlocat.ca_baza1.lAfisare = .T. + poBlocat.ca_baza1.afisare() + If !Used('crsLuniAn') + lnSucces = -1 + Endif +Endif + +If lnSucces > 0 + ovizblocate=Createobject('frm_viz_blocate') + ovizblocate.Show(1) +Endif + +If Used('crsPrograme') + Use In crsPrograme +Endif + +If Used('crsFirme') + Use In crsFirme +Endif + +If Used('crsLuniAn') + Use In crsLuniAn +Endif +SET SECONDS &lcSeconds +Endproc +*----------------------------------sfarsit procedura VIZ_LUNI_BLOCATE---------------------------------- + +Procedure viz_firme +Private pofirme,pcschema1,pcselect1 +Store '' To pofirme +If Used('v_firme') + Use In v_firme +Endif + +llAfisare=.F. +pcschema1 = [''] +pcselect1=['select * from syn_v_nom_firme where 1=2'] +pcorder1=[firma] +pcfiltru1 = [sters=0 and id_firma = ] + Alltrim(Str(gofirma.id_firma)) +gencursor('pofirme','v_firme',pcselect1,pcfiltru1,pcschema1,pcorder1,llAfisare) +pofirme.ca_baza1.afisare() + +*!* Select v_firme +*!* Scatter Name poRec +*!* ofrmfirme=Createobject("frm_firme") +*!* ofrmfirme.Show(1) + +If Reccount('v_firme')>0 + gnButon=1 + Select v_firme + Scatter Name loRec +*!* modificare 11.08 + AddProperty(loRec,"modificare_schema",0) +*!* modificare 11.08 ^ +*!* modificare ROADEF v 2.1.2 +*!* *!* modificare ROADEF v 2.0.23 +*!* lnCodSiruta = 0 +*!* If !Empty(Nvl(loRec.id_loc,0)) +*!* lcSql = [select siruta from syn_vnom_localitati where id_loc = ] + Alltrim(Str(loRec.id_loc)) +*!* lcCursor = [crstmpsiruta] +*!* If goExecutor.oExecuta(lcSql,lcCursor) +*!* Select (lcCursor) +*!* lnCodSiruta = siruta +*!* Use In (Select(lcCursor)) +*!* Endif +*!* Endif +*!* AddProperty(loRec,"siruta",lnCodSiruta) +*!* *!* modificare ROADEF v 2.0.23 ^ +*!* modificare ROADEF v 2.1.2 ^ +*!* 07.02.2008 +*!* Do Adauga_Modifica_Inregistrare With "firme",loRec,loRec.id_firma,"UPDATE" + Private poRec + poRec = loRec + loAdModFirme = Createobject("frm_firme_nou_desktopf",loRec,loRec.id_firma,"UPDATE") + loAdModFirme.Show(1) + llRet = gnButon +*!* 07.02.2008 ^ +Endif +*!* Release ofrmfirme +Release pofirme +Endproc && viz_firme + +******************************************* +* PROCEDURE def_calculatoare( ) +* Date : 08/24/06, 11:57:53 +* author : liana.macinic +* description: + +****** PARAMETER BLOCK ************** +* Parameters : 0 +* +******************************************* +Procedure def_calculatoare( ) + +Private pocalc,pcschema1,pcselect1 +Store '' To pocalc +*!* pcschema1=['id_gestiune n(5),nume_gestiune c(50),cgest c(4),cont_gestiune c(4),ngest c(10),nrg n(4),ascd c(4),nr_grupa n(4),gest n(3)'] +pcschema1 = [''] +pcselect1=['select * from ] + gcS + [.vcalculatoare where 1=2'] +pcorder1=[denumire] +pcfiltru1 = [2=2] +llAfiseaza = .F. +gencursor('pocalc','crsCalc',pcselect1,pcfiltru1,pcschema1,pcorder1,llAfiseaza) +pocalc.ca_baza1.afisare() +ofrmgest=Createobject('frm_calc') +ofrmgest.Show(1) +Release pocalc + +Endproc +*----------------------------------sfarsit procedura def_calculatoare---------------------------------- + +******************************************* +* PROCEDURE set_calculatoare( ) +* Date : 08/24/06, 12:01:59 +* author : liana.macinic +* description: + +****** PARAMETER BLOCK ************** +* Parameters : 0 +* +******************************************* +Procedure set_calculatoare( ) + +Private pocalc,pcschema1,pcselect1 +Store '' To pocalc +lcSchema = [SUCURSALA C(100), ID_SUCURSALA N(10), CALCULATOR C(100), COLOANE C(100), EXPLICATIA C(100), IDCOLOANA C(50), ] + [ID_CALC N(10), ID_CALCSETARE N(10), RESULTCOLOANA C(50), SETARE C(100), TABEL C(50), TIP C(10), TITLU C(100), TITLUCOLOANE C(100), VALOARE C(64), VALOARE_TEXT C(200)] +lcSelect=[SELECT SUCURSALA, ID_SUCURSALA, CALCULATOR, COLOANE, EXPLICATIA, IDCOLOANA, ID_CALC, ID_CALCSETARE, RESULTCOLOANA, SETARE, TABEL, TIP, TITLU, TITLUCOLOANE, VALOARE, VALOARE_TEXT FROM VCALC_SETARI] + +lcOrder=[sucursala,calculator,setare] +lcFiltru = [] +lcFiltruOriginal = [] +llAfiseaza = .F. +llModParam = .T. +lcGroup = [] +gencursor('pocalc','crsCalcsetari', lcSelect, lcFiltru, lcSchema, lcOrder, llAfiseaza, lcGroup, llModParam, lcFiltruOriginal) +pocalc.ca_baza1.afisare() +ofrmgest=Createobject('frm_calcsetari') +ofrmgest.Show(1) +Release pocalc + + +Endproc +*----------------------------------sfarsit procedura set_calculatoare---------------------------------- + +******************************************* +* PROCEDURE grupuri_util( ) +* Date : 08/24/06, 15:15:22 +* author : liana.macinic +* description: + +****** PARAMETER BLOCK ************** +* Parameters : 0 +* +******************************************* +Procedure grupuri_util( ) +Private pogrup,pcschema1,pcselect1 +Store '' To pogrup +*!* pcschema1=['id_gestiune n(5),nume_gestiune c(50),cgest c(4),cont_gestiune c(4),ngest c(10),nrg n(4),ascd c(4),nr_grupa n(4),gest n(3)'] +pcschema1 = [''] +pcselect1=['select * from ] + gcS + [.vgrupuri_utilizatori where 1=2'] +pcorder1=[denumire_grup] +pcfiltru1 = [2=2] +llAfiseaza = .F. +gencursor('pogrup','crsGrup',pcselect1,pcfiltru1,pcschema1,pcorder1,llAfiseaza) +pogrup.ca_baza1.afisare() +ofrmgest=Createobject('frm_grupUtil') +ofrmgest.Show(1) +Release pogrup + + +Endproc +*----------------------------------sfarsit procedura grupuri_util---------------------------------- + +******************************************* +* PROCEDURE util_rol_intern( ) +* Date : 08/24/06, 15:15:38 +* author : liana.macinic +* description: + +****** PARAMETER BLOCK ************** +* Parameters : 0 +* +******************************************* +Procedure util_rol_intern( ) + +Private poutil,pcschema1,pcselect1 +Store '' To poutil +*!* pcschema1=['id_gestiune n(5),nume_gestiune c(50),cgest c(4),cont_gestiune c(4),ngest c(10),nrg n(4),ascd c(4),nr_grupa n(4),gest n(3)'] +pcschema1 = [''] +pcselect1=['select * from ] + gcS + [.vutilizatori_rol_intern where 1=2'] +pcorder1=[sucursala, denumire_grup, utilizator, partener, contact] +pcfiltru1 = [2=2] +llAfiseaza = .F. +*!* modificare v 2.0.11 +lcFiltruOriginal = Substr(gcCondSucursala,5) +llModParam = .F. +lcGroup = [] +gencursor('poutil','crsUtil',pcselect1,pcfiltru1,pcschema1,pcorder1,llAfiseaza, lcgroup, llModParam, lcFiltruOriginal) +*!* gencursor('poutil','crsUtil',pcselect1,pcfiltru1,pcschema1,pcorder1,llAfiseaza) +*!* modificare v 2.0.11 ^ +poutil.ca_baza1.afisare() +ofrmgest=Createobject('frm_Utilizatori') +ofrmgest.Show(1) +Release poutil + +Endproc +*----------------------------------sfarsit procedura util_rol_intern---------------------------------- + +******************************************* +* PROCEDURE list_utilizatori( ) +* Date : 08/25/06, 13:41:16 +* author : liana.macinic +* description: + +****** PARAMETER BLOCK ************** +* Parameters : 0 +* +******************************************* +Procedure list_utilizatori( ) +Local lcSelect, lcFiltru, lcSchema, lcOrder, lccoloane, lcTitlu, lcTitluColoane, lcFiltruOriginal, lcNumeProc +lcSelect = [select * FROM vNOM_SUCURSALE] +lcFiltru = [1=2] +lcSchema = [] +lcOrder = [sucursala] +lccoloane = [sucursala] +lcTitlu = [Alegeti sucursala] +lcTitluColoane = [Sucursala] +lcFiltruOriginal = [] +lcNumeProc = "" +lnPornire = 6 +llDesktop = .T. +locauta = cauta_alfa(lcSelect, lcFiltru, lcSchema, lcOrder, lccoloane, lcTitlu, lcTitluColoane, lcNumeProc, .F., lcFiltruOriginal,,lnPornire,,,llDesktop) +If buton=2 + Return +Endif + +lcSelect = [select * from vutilizatori_rol_intern ]+; + IIF(!Empty(locauta.id_sucursala) And !Isnull(locauta.id_sucursala), [where id_sucursala = ]+Alltrim(Str(locauta.id_sucursala)),[]) +lcCursor = [crsUtilizatori] +lnSucces = goExecutor.oExecute(lcSelect,lcCursor) +If lnSucces < 0 + aMessagebox(goExecutor.cEroare,16,"Eroare") + Exit +Endif + +*!* MESSAGEBOX(locauta.id_sucursala) + +Select crsUtilizatori +Report Form util To Printer Prompt Preview + +Endproc +*----------------------------------sfarsit procedura list_utilizatori---------------------------------- + +******************************************* +* PROCEDURE list_calculatoare( ) +* Date : 08/25/06, 13:41:31 +* author : liana.macinic +* description: + +****** PARAMETER BLOCK ************** +* Parameters : 0 +* +******************************************* +Procedure list_calculatoare( ) +Local lcSelect, lcFiltru, lcSchema, lcOrder, lccoloane, lcTitlu, lcTitluColoane, lcFiltruOriginal, lcNumeProc +lcSelect = [select * FROM vNOM_SUCURSALE] +lcFiltru = [1=2] +lcSchema = [] +lcOrder = [sucursala] +lccoloane = [sucursala] +lcTitlu = [Alegeti sucursala] +lcTitluColoane = [Sucursala] +lcFiltruOriginal = [] +lcNumeProc = "" +lnPornire = 6 +llDesktop = .T. +locauta = cauta_alfa(lcSelect, lcFiltru, lcSchema, lcOrder, lccoloane, lcTitlu, lcTitluColoane, lcNumeProc, .F., lcFiltruOriginal,,lnPornire,,,llDesktop) +If buton=2 + Return +Endif + +lcSelect = [select * from vcalculatoare ]+; + IIF(!Empty(locauta.sucursala), [where id_sucursala = ]+Alltrim(Str(locauta.id_sucursala)),[])+[ order by sucursala] +lcCursor = [crsCalc] +lnSucces = goExecutor.oExecute(lcSelect,lcCursor) +If lnSucces < 0 + aMessagebox(goExecutor.cEroare,16,"Eroare") + Exit +Endif + + +Select crsCalc +Report Form calculatoare To Printer Prompt Preview +Endproc +*----------------------------------sfarsit procedura list_calculatoare---------------------------------- + +******************************************* +* PROCEDURE list_gestiuni( ) +* Date : 08/25/06, 13:42:03 +* author : liana.macinic +* description: + +****** PARAMETER BLOCK ************** +* Parameters : 0 +* +******************************************* +Procedure list_gestiuni( ) +Local lcSelect, lcFiltru, lcSchema, lcOrder, lccoloane, lcTitlu, lcTitluColoane, lcFiltruOriginal, lcNumeProc +lcSelect = [select * FROM vNOM_SUCURSALE] +lcFiltru = [1=2] +lcSchema = [] +lcOrder = [sucursala] +lccoloane = [sucursala] +lcTitlu = [Alegeti sucursala] +lcTitluColoane = [Sucursala] +lcFiltruOriginal = [] +lcNumeProc = "" +lnPornire = 6 +llDesktop = .T. +locauta = cauta_alfa(lcSelect, lcFiltru, lcSchema, lcOrder, lccoloane, lcTitlu, lcTitluColoane, lcNumeProc, .F., lcFiltruOriginal,,lnPornire,,,llDesktop) +If buton=2 + Return +Endif + +lcSelect = [select * from vnom_gestiuni order by sucursala,nume_gestiune] +*!* +; +*!* IIF(!EMPTY(locauta.sucursala), [where id_sucursala = ]+ALLTRIM(STR(locauta.id_sucursala)),[]) +lcCursor = [crsGest] +lnSucces = goExecutor.oExecute(lcSelect,lcCursor) +If lnSucces < 0 + aMessagebox(goExecutor.cEroare,16,"Eroare") + Exit +Endif + +Select crsGest +Report Form gestiuni To Printer Prompt Preview + +Endproc +*----------------------------------sfarsit procedura list_gestiuni---------------------------------- + +******************************************* +* PROCEDURE list_org_calc( ) +* Date : 08/25/06, 13:42:24 +* author : liana.macinic +* description: + +****** PARAMETER BLOCK ************** +* Parameters : 0 +* +******************************************* +Procedure list_org_calc( ) +&&code goes here + + +Endproc +*----------------------------------sfarsit procedura list_org_calc---------------------------------- + +******************************************* +* PROCEDURE list_org_gest( ) +* Date : 08/25/06, 13:42:41 +* author : liana.macinic +* description: + +****** PARAMETER BLOCK ************** +* Parameters : 0 +* +******************************************* +Procedure list_org_gest( ) +&&code goes here + + +Endproc +*----------------------------------sfarsit procedura list_org_gest---------------------------------- +******************************************* +* PROCEDURE list_org_util( ) +* Date : 08/25/06, 13:42:58 +* author : liana.macinic +* description: + +****** PARAMETER BLOCK ************** +* Parameters : 0 +* +******************************************* +Procedure list_org_util( ) +ofrmgest=Createobject('frm_listutil') +ofrmgest.Show(1) + +Endproc +*----------------------------------sfarsit procedura list_org_util---------------------------------- + +*!* iif(lower(pcPctLucru)='sucursala','Punct de lucru',IIF(LOWER(pcPctLucru) = 'partener',[Partener],'Grup')) + [: ]+ iif(allt(pcPctLucru) = 'sucursala',allt(sucursala),IIF(ALLT(pcPctLucru) = 'partener',ALLT(partener),allt(denumire_grup))) + +*---------------------------------- inceput procedura asociere_parteneri_sectii ---------------------------------- +Procedure asociere_parteneri_sectii +Parameters tnTip + +If Empty(tnTip) Or Isnull(tnTip) + Return +Endif + +Private pnTip_asociere +pnTip_asociere = tnTip + +Private poAsociere +Local lcSchema, lcSelect, lcFiltru, lcOrder, llAfiseaza, lcGroup, llModParam, lcFiltruOriginal +Store '' To poAsociere + +lcSchema = [] +lcSelect=[select * from vasociere_parteneri_sectii] +lcOrder=[denumire] +lcFiltru = [] +llAfiseaza = .F. +lcGroup = "" +llModParam = .T. +lcFiltruOriginal = [id_tip=]+Alltrim(Str(pnTip_asociere)) + +gencursor('poAsociere','crsAsociere',lcSelect,lcFiltru,lcSchema,lcOrder,llAfiseaza, lcGroup, llModParam, lcFiltruOriginal) +poAsociere.ca_baza1.afisare() + +lops = Createobject('frm_parteneri_sectii') +lops.Show(1) + +If Used('crsAsociere') + Use In crsAsociere +Endif + +Endproc && asociere_parteneri_sectii +*----------------------------------sfarsit procedura asociere_parteneri_sectii ---------------------------------- + +*---------------------------------- inceput procedura asociere_parteneri_gestiuni ---------------------------------- +Procedure asociere_parteneri_gestiuni +Parameters tnTip + +If Empty(tnTip) Or Isnull(tnTip) + Return +Endif + +Private pnTip_asociere +pnTip_asociere = tnTip + +Private poAsociere +Local lcSchema, lcSelect, lcFiltru, lcOrder, llAfiseaza, lcGroup, llModParam, lcFiltruOriginal +Store '' To poAsociere + +lcSchema = [] +lcSelect=[select id_asociere, id_part, denumire, id_gestiune, nume_gestiune, cont, id_util, dataora from vasociere_parteneri_gestiuni] +lcOrder=[cont,denumire,nume_gestiune] +lcFiltru = [] +llAfiseaza = .F. +lcGroup = "" +llModParam = .T. +lcFiltruOriginal = [id_tip=]+Alltrim(Str(pnTip_asociere)) + +gencursor('poAsociere','crsAsociere',lcSelect,lcFiltru,lcSchema,lcOrder,llAfiseaza, lcGroup, llModParam, lcFiltruOriginal) +poAsociere.ca_baza1.afisare() + +lops = Createobject('frm_parteneri_gestiuni') +lops.Show(1) + +If Used('crsAsociere') + Use In crsAsociere +Endif + +Endproc && asociere_parteneri_gestiuni +*----------------------------------sfarsit procedura asociere_parteneri_gestiuni ---------------------------------- +Procedure viz_log_redeschid + +*!* lcSelect = [select * from vlog_redeschid ] +*!* lcCursor = [crsLog_redeschid] +*!* lnSucces = goExecutor.oExecute(lcSelect,lcCursor) +*!* If lnSucces < 0 +*!* aMessagebox(goExecutor.cEroare,16,"Eroare") +*!* Endif + +PRIVATE poLog_redeschid +STORE '' TO poLog_redeschid + +Local lcSchema, lcSelect, lcOrder, lcFiltru, lcFiltruOriginal, llAfiseaza, lcGroup, lcFiltruOriginal +lcSchema = [] +lcSelect = [select * from vlog_redeschid] +lcOrder = [] +lcGroup = [] +lcFiltru = [] +lcFiltruOriginal = [] +llModParam = .T. +llAfiseaza = .F. + +gencursor('poLog_redeschid','crsLog_redeschid', lcSelect, lcFiltru, lcSchema, lcOrder, llAfiseaza, lcGroup, llModParam, lcFiltruOriginal) +poLog_redeschid.ca_baza1.afisare() + +Create Cursor crsLog_luni (perioada c(22), anul N(4), luna N(2)) +Insert Into crsLog_luni (perioada) Values ("") + +Select distinct Alltrim(Str(anul))+'-'+Alltrim(Str(luna)) As perioada, anul, luna ; + from crsLog_redeschid ; + into Cursor crsLog_luni2 ; + ORDER BY anul desc, luna desc + +Select crsLog_luni +Append From Dbf("crsLog_luni2") +If Used("crsLog_luni2") + Use In crsLog_luni2 +ENDIF + +SELECT crsLog_luni +GO TOP + +Select crsLog_redeschid + +lolr = Createobject('frm_log_redeschid') +lolr.Show(1) + +If Used('crsLog_redeschid') + Use In crsLog_redeschid +Endif + +If Used('crsLog_luni') + Use In crsLog_luni +Endif + +Endproc && viz_log_redeschid +*----------------------------------sfarsit procedura viz_log_redeschid ---------------------------------- diff --git a/programe/oproceduri_roadef_sal.prg b/programe/oproceduri_roadef_sal.prg new file mode 100644 index 0000000..a7e13dc --- /dev/null +++ b/programe/oproceduri_roadef_sal.prg @@ -0,0 +1,1218 @@ +******************************************* +* PROCEDURE inchidprog( ) +* Date : 05/23/05, 11:32:30 +* author : liana.macinic +* description: + +****** PARAMETER BLOCK ************** +* Parameters : 0 +* +******************************************* +PROCEDURE inchidprog( ) + +RETURN + +ENDPROC +*----------------------------------sfarsit procedura inchidprog---------------------------------- + +*___________________________________________ +Procedure nrord +Parameters ALI +Sele &ALI +A=Reccount() +If A=0 + Return +Endif +If A>65000 + Return 0 +Endif +Declare NROR(A) +K=0 +Scan + K=K+1 + NROR(K)=Recno() +Endscan +Return + +Function NRCRT +NR=Ascan(NROR,Recno()) +Return NR +********************** +*_____________________________________- +PROCEDURE IESIRE + +QUIT +RETURN +*___________________________________________ +Procedure mesaj +Parameters m1,m2 +ot=Create('text') +ot.label2.Caption=m1 +ot.label3.Caption=m2 +ot.Show(1) +Return +*___________________________________________ +Procedure danu +Parameters m1 +od=Create('danu') +od.label1.Caption=m1 +od.Show(1) +RETURN + +*_________________________________________________________ +PROCEDURE caut_alfa_cursor +PARAMETERS NUMEBAZA,NUMECIMP,CAPTEXT,VARMEM +LOCAL MC0,MC1,MC2, llVizibil +SET SAFETY OFF +llVizibil = .t. + +MC0='SELE '+NUMEBAZA +MC1='VARMEM=M.'+NUMECIMP +*MC2='SET order TO TAG '+NUMECIMP +MC2 = [INDEX ON ] +NUMECIMP+ [ TAG nume OF &loc\&nfscurt\tempo\xindex.idx COMPACT ASCENDING ] + + +*!* &MC0 +*!* &MC2 +*!* GO TOP + +LOCAL lcNumeCol2 +STORE '' TO lcNumeCol2 + +LcCol = ALLTRIM(NUMEBAZA) + '.cod_fiscal' +IF TYPE(LcCol) # 'U' + lcNumeCol2 = 'cod_fiscal' +ENDIF + +LcCol = ALLTRIM(NUMEBAZA) + '.gest' +IF TYPE(LcCol) # 'U' + lcNumeCol2 = 'gest' +ENDIF + +LcCol = ALLTRIM(NUMEBAZA) + '.id_sectie' +IF TYPE(LcCol) # 'U' + lcNumeCol2 = 'id_sectie' +ENDIF + +IF EMPTY(lcNumeCol2) + lcNumeCol2 = 'space(4)' + llVizibil = .f. +ENDIF + +LcCol = ALLTRIM(NUMEBAZA) + '.id' +IF TYPE(LcCol) # 'U' + lcNumeCol3 = 'id' +ELSE + lcNumeCol3 = 'space(4)' +ENDIF + +SELECT DISTINCT &NUMECIMP, &lcNumeCol2, &lcNumeCol3 FROM (numebaza) INTO CURSOR tnomenclator READWRITE ORDER BY &NUMECIMP + +OCA=CREATEOBJECT("CAUTALFa") +OCA.CAPTION=CAPTEXT +OCA.GRID1.RECORDSOURCE='tnomenclator' +OCA.GRID1.COLUMN1.CONTROLSOURCE = NUMECIMP +OCA.GRID1.COLUMN2.CONTROLSOURCE = lcNumeCol2 +OCA.GRID1.COLUMN2.visible = llVizibil +OCA.cmdrenunt1.visible=.t. +OCA.command1.visible=.f. +OCA.command2.visible=.f. +OCA.command3.visible=.f. +OCA.SHOW(1) + +*!* &MC0 +*!* SCATTER MEMVAR +*!* SET FILTER TO + +IF buton=2 + USE IN tnomenclator + RETURN +ENDIF + +lcFile = ADDBS(gcTempPath) + 'xindex.idx' +IF FILE(lcFile) + SET INDEX TO + DELETE FILE &lcFile +ENDIF +*!* &MC1 + +SELECT tnomenclator +SCATTER MEMVAR + +&MC1 + + +USE IN tnomenclator +RETURN + +*_________________________________________________________ +Procedure CAUT_ALF +Parameters NUMEBAZA,NUMECIMP,CAPTEXT,VARMEM +Local MC0,MC1,MC2 +Set Safety Off +MC0='SELE '+NUMEBAZA +MC1='VARMEM=M.'+NUMECIMP +MC2='SET order TO TAG '+NUMECIMP + +&MC0 +Go Top +If Eof() + Appe Blank +Endif +&MC2 +OCA=Createobject("CAUTALF") +OCA.Caption=CAPTEXT +OCA.GRID1.RecordSource=NUMEBAZA +OCA.GRID1.COLUMN1.ControlSource=NUMECIMP +OCA.Show(1) + +Scatter Memvar +&MC1 + +Return + + +*_________________________________________________________ + + +******************************************* +* PROCEDURE introd_respsal( ) +* Date : 05/23/05, 12:27:24 +* author : liana.macinic +* description: + +****** PARAMETER BLOCK ************** +* Parameters : 0 +* +******************************************* +PROCEDURE introd_respsal( ) + +Private poresp,pcschema1,pcselect1 +Store '' To poresp +If Used('v_resp') + Use In v_resp +Endif + +pcschema1=[''] +pcselect1=['select * from ] + gcS + [.sal_responsabil where 1=2'] +pcorder1=[nume,prenume] +pcfiltru1 = [sters = 0] +llAfiseaza = .F. +gencursor('poresp','v_resp',pcselect1,pcfiltru1,pcschema1,pcorder1,llAfiseaza) +poresp.ca_baza1.afisare() +ofrmresp=Createobject('frm_resp_sal') +ofrmresp.Show(1) +Release poresp + +ENDPROC +*----------------------------------sfarsit procedura introd_respsal---------------------------------- + +******************************************* +* PROCEDURE zile_lucr( ) +* Date : 05/23/05, 15:30:38 +* author : liana.macinic +* description: + +****** PARAMETER BLOCK ************** +* Parameters : 0 +* +******************************************* +PROCEDURE zile_lucr( ) + +*----------- sarbatori +Private posarbat,pcschema1,pcselect1 +Store '' To posarbat +If Used('v_sarbat') + Use In v_sarbat +Endif +pcschema1=['data d,sarbatoare c(50),id_sarbat n(10)'] +pcselect1=[select data,sarbatoare,id_sarbat from ] + gcS + [.sal_nom_sarbatori where sters = 0] +pcorder1=[data] +*!* modificare v 2.0.5 +*!* pcfiltru1 = [extract(year from data) = ] + ALLTRIM(STR(gnAN)) + [ and sters = 0] +IF gnLuna = 12 + pcfiltru1 = [extract(year from data) between ] + ALLTRIM(STR(gnAN)) + [ and ] + ALLTRIM(STR(gnAN+1)) + [ and sters = 0] +ELSE + pcfiltru1 = [extract(year from data) = ] + ALLTRIM(STR(gnAN)) + [ and sters = 0] +ENDIF +*!* modificare v 2.0.5 ^ +llAfiseaza = .F. +gencursor('posarbat','v_sarbat',pcselect1,pcfiltru1,pcschema1,pcorder1,llAfiseaza) +posarbat.ca_baza1.afisare() +SELECT v_sarbat + + +*----------- zile lucratoare +Private pozile,pcschema2,pcselect2 +Store '' To pozile +If Used('v_zile') + Use In v_zile +Endif +pcschema2=[''] +pcselect2=[select * from ] + gcS + [.sal_calendar where 1=2] +pcorder2=[luna,an] +*!* pcfiltru2 = [ 2 = 2 ] +pcfiltru2 = [ luna = ] + ALLTRIM(STR(gnLuna)) + [ and an = ]+ALLTRIM(STR(gnAn)) + +llAfiseaza = .F. +gencursor('pozile','v_zile',pcselect2,pcfiltru2,pcschema2,pcorder2,llAfiseaza) +pozile.ca_baza1.afisare() +SELECT v_sarbat + +*-------------- +PRIVATE pnIdSal,pnZileluc,pnOreluc,pnOrestas,pnORESUPLUNA +STORE 0 TO pnIdSal,pnZileluc,pnOreluc,pnOrestas,pnORESUPLUNA + +pnIdSal = v_zile.id_Calendar +pnZileluc = v_zile.zileluc +pnOreluc = v_zile.oreluc +pnOrestas = v_zile.orestas +pnORESUPLUNA = v_zile.ORESUPLUNA + +ofrmform=Createobject('frm_zileluc') +ofrmform.Show(1) + +IF gnButon == 1 + lcSql = [update ] + gcS +[.sal_calendar set zileluc = ] + ALLTRIM(STR(NVL(pnZileluc,0))) + [,] +; + [ oreluc = ] + ALLTRIM(STR(NVL(pnOreluc,0))) +; + [,orestas = ] + ALLTRIM(STR(NVL(pnOrestas,0))) +; + [,ORESUPLUNA = ] + ALLTRIM(STR(NVL(pnORESUPLUNA,0))) +; + [where id_calendar = ] + ALLTRIM(STR(NVL(pnIdSal,0))) + + lnSucces = goExecutor.oExecute(lcSql) + IF lnSucces < 0 + MESSAGEBOX(goExecutor.cEroare,0 +16,'Eroare') + ENDIF + goExecutor.oReset() + + RETURN lnSucces +ENDIF +Release posarbat,ofrmform + + +ENDPROC +*----------------------------------sfarsit procedura zile_lucr---------------------------------- + +******************************************* +* PROCEDURE nom_formatii( ) +* Date : 05/26/05, 16:37:20 +* author : liana.macinic +* description: + +****** PARAMETER BLOCK ************** +* Parameters : 0 +* +******************************************* +PROCEDURE nom_formatii( ) +Private poformatii,pcschema1,pcselect1 +Store '' To poformatii +If Used('v_formatii') + Use In v_formatii +Endif +*!* DEBUG +*!* SUSPEND +pcschema1=[''] +*!* pcselect1=[select f.*,s.SECTIE,t.TRANSA from ] + gcS +; +*!* [.sal_nom_formatii f left join ]+gcS; +*!* +[.vnom_sectii s on f.id_sectie = s.ID_SECTIE ]+; +*!* [ left join ]+gcS+[.sal_vnom_transe t on f.id_sectie = t.ID_TRANSA where 1=2] +IF gnSAL_SPECIAL = 4 AND gnIdProgram = 9 +pcselect1=[select f.*,S.SECTIE,T.TRANSA,semn.denumire as semnatura,semn.directie from ] + gcS + [.sal_nom_locmunca f ] + ; + [ LEFT JOIN ] + GCS + [.VNOM_SECTII S ON F.ID_SECTIE = S.ID_SECTIE ] +; + [ LEFT JOIN ] + GCS + [.SAL_VNOM_TRANSE T ON F.ID_TRANSA = T.ID_TRANSA ]+; + [left join sal_semnaturi semn on f.id_semnatura = semn.id_semnatura ]+; + [ where 1=2] +ELSE +pcselect1=[select f.*,S.SECTIE,T.TRANSA,semn.denumire as semnatura,semn.directie from ] + gcS + [.sal_nom_formatii f ] + ; + [ LEFT JOIN ] + GCS + [.VNOM_SECTII S ON F.ID_SECTIE = S.ID_SECTIE ] +; + [ LEFT JOIN ] + GCS + [.SAL_VNOM_TRANSE T ON F.ID_TRANSA = T.ID_TRANSA ]+; + [left join sal_semnaturi semn on f.id_semnatura = semn.id_semnatura ]+; + [ where 1=2] +ENDIF +pcorder1=[ordine] +pcfiltru1 = [f.sters = 0] +llAfiseaza = .F. +gencursor('poformatii','v_formatii',pcselect1,pcfiltru1,pcschema1,pcorder1,llAfiseaza) +poformatii.ca_baza1.afisare() +SELECT V_FORMATII +ofrmform=Createobject('frm_formatii') +ofrmform.Show(1) +Release poformatii + +ENDPROC +*----------------------------------sfarsit procedura nom_formatii---------------------------------- + +******************************************* +* PROCEDURE nom_meserii( ) +* Date : 05/23/05, 12:27:24 +* author : liana.macinic +* description: + +****** PARAMETER BLOCK ************** +* Parameters : 0 +* +******************************************* +Procedure nom_meserii( ) + + Private poresp,pcschema1,pcselect1 + Local lnDiferente,lcCursor + Store '' To poresp + lcCursor = [crsTemp] + If Used('v_meserii') + Use In v_meserii + Endif + + lcSql = [select pack_def_salarii.verifica_versiune_cor() as dif from dual] + If goExecutor.oExecuta(lcSql,lcCursor) + Select (lcCursor) + lnDiferente = Dif + Use In (Select(lcCursor)) + + pcschema1=[''] + pcselect1=['select * from ] + gcS + [.sal_nom_mes where 1=2'] + pcorder1=[meserie] + pcfiltru1 = [sters = 0] + llAfiseaza = .F. + gencursor('poresp','v_meserii',pcselect1,pcfiltru1,pcschema1,pcorder1,llAfiseaza) + poresp.ca_baza1.afisare() + ofrmresp=Createobject('frm_meserii',lnDiferente) + ofrmresp.Show(1) + Release poresp + Endif + +Endproc +*----------------------------------sfarsit procedura nom_meserii---------------------------------- + + +******************************************* +* PROCEDURE nom_transe( ) +* Date : 05/23/05, 12:27:24 +* author : liana.macinic +* description: + +****** PARAMETER BLOCK ************** +* Parameters : 0 +* +******************************************* +PROCEDURE nom_transe( ) + +Private potransa,pcschema1,pcselect1 +Store '' To potransa +If Used('v_transe') + Use In v_transe +Endif + +pcschema1=[''] +pcselect1=['select * from ] + gcS + [.sal_nom_transe where 1=2'] +pcorder1=[transa] +pcfiltru1 = [sters = 0] +llAfiseaza = .F. +gencursor('potransa','v_transe',pcselect1,pcfiltru1,pcschema1,pcorder1,llAfiseaza) +potransa.ca_baza1.afisare() +ofrmresp=Createobject('frm_transe') +ofrmresp.Show(1) +Release potransa + +ENDPROC +*----------------------------------sfarsit procedura nom_transe---------------------------------- +******************************************* +* PROCEDURE nom_clasesal( ) +* Date : 05/23/05, 12:27:24 +* author : liana.macinic +* description: + +****** PARAMETER BLOCK ************** +* Parameters : 0 +* +******************************************* +PROCEDURE nom_clasesal( ) + +Private poclasesal,pcschema1,pcselect1 +Store '' To poclasesal +If Used('v_clasesal') + Use In v_clasesal +Endif + +pcschema1=[''] +pcselect1=['select * from ] + gcS + [.sal_nom_clasesal where 1=2'] +pcorder1=[tarifar] +pcfiltru1 = [sters = 0] +llAfiseaza = .F. +gencursor('poclasesal','v_clasesal',pcselect1,pcfiltru1,pcschema1,pcorder1,llAfiseaza) +poclasesal.ca_baza1.afisare() +ofrmresp=Createobject('frm_clasesal') +ofrmresp.Show(1) +Release poclasesal + +ENDPROC +*----------------------------------sfarsit procedura nom_clasesal---------------------------------- + +******************************************* +* PROCEDURE nom_tipctr( ) +* Date : 05/23/05, 12:27:24 +* author : liana.macinic +* description: + +****** PARAMETER BLOCK ************** +* Parameters : 0 +* +******************************************* +PROCEDURE nom_tipctr + +Private potipctr,pcschema1,pcselect1 +Store '' To potipctr +If Used('v_tipctr') + Use In v_tipctr +Endif + +pcschema1=[''] +pcselect1=['select * from ] + gcS + [.sal_vnom_tipctr where 1=2'] +pcorder1=[] +pcfiltru1 = [sters = 0] +llAfiseaza = .F. +gencursor('potipctr','v_tipctr',pcselect1,pcfiltru1,pcschema1,pcorder1,llAfiseaza) +potipctr.ca_baza1.afisare() +ofrmresp=Createobject('frm_tipctr') +ofrmresp.Show(1) +Release poclasesal + +ENDPROC + +******************************************* +* PROCEDURE nom_sporuri( ) +* Date : 06/17/05, 09:04:27 +* author : liana.macinic +* description: + +****** PARAMETER BLOCK ************** +* Parameters : 0 +* +******************************************* +*!* modificare ROASAL v 2.0.0 +*!* PROCEDURE nom_sporuri( ) +*!* Private ponomspor,pcschema1,pcselect1 +*!* Store '' To ponomspor +*!* If Used('v_nomspor') +*!* Use In v_nomspor +*!* Endif +*!* pcschema1=[''] +*!* pcselect1=['select * from ] + gcS + [.sal_vnom_sporuri where 1=2'] +*!* pcorder1=[] +*!* pcfiltru1 = [sters = 0] +*!* llAfiseaza = .F. +*!* gencursor('ponomspor','v_nomspor',pcselect1,pcfiltru1,pcschema1,pcorder1,llAfiseaza) +*!* ponomspor.ca_baza1.afisare() +*!* ofrmresp=Createobject('frm_nomspor') +*!* ofrmresp.Show(1) +*!* Release poclasesal +*!* ENDPROC +*!* modificare ROASAL v 2.0.0 ^ +*----------------------------------sfarsit procedura nom_sporuri---------------------------------- + + +******************************************* +* PROCEDURE nom_popriri( ) +* Date : 06/17/05, 13:52:11 +* author : liana.macinic +* description: + +****** PARAMETER BLOCK ************** +* Parameters : 0 +* +******************************************* +PROCEDURE nom_popriri( ) +Private ponompop,pcschema1,pcselect1 +Store '' To ponompop +If Used('v_nompop') + Use In v_nompop +Endif + +pcschema1=[''] +pcselect1=['select * from ] + gcS + [.sal_vnom_popriri where 2=2'] +pcorder1=[] +pcfiltru1 = [sters = 0] +llAfiseaza = .F. +gencursor('ponompop','v_nompop',pcselect1,pcfiltru1,pcschema1,pcorder1,llAfiseaza) +ponompop.ca_baza1.afisare() +SELECT v_nompop +ofrmpop=Createobject('frm_nompopriri') +ofrmpop.Show(1) +Release ponompop + + +ENDPROC +*----------------------------------sfarsit procedura nom_popriri---------------------------------- + +******************************************* +* PROCEDURE nom_grpmun( ) +* Date : 06/17/05, 15:03:04 +* author : liana.macinic +* description: + +****** PARAMETER BLOCK ************** +* Parameters : 0 +* +******************************************* +PROCEDURE nom_grpmun( ) +Private ponomgrp,pcschema1,pcselect1 +Store '' To ponomgrp +If Used('v_nomgrp') + Use In v_nomgrp +Endif + +pcschema1=[''] +pcselect1=['select * from ] + gcS + [.sal_coef_cas where 2=2'] +pcorder1=[] +pcfiltru1 = [sters = 0] +llAfiseaza = .F. +gencursor('ponomgrp','v_nomgrp',pcselect1,pcfiltru1,pcschema1,pcorder1,llAfiseaza) +ponomgrp.ca_baza1.afisare() +SELECT v_nomgrp +ofrmpop=Createobject('frm_grpmun') +ofrmpop.Show(1) +Release ponomgrp +*!* SELECT v_nomgrp +*!* USE + +ENDPROC +*----------------------------------sfarsit procedura nom_grpmun---------------------------------- + +******************************************* +* PROCEDURE nom_grdhand( ) +* Date : 06/17/05, 15:10:33 +* author : liana.macinic +* description: + +****** PARAMETER BLOCK ************** +* Parameters : 0 +* +******************************************* +PROCEDURE nom_grdhand( ) + +Private ponomgrp,pcschema1,pcselect1 +Store '' To ponomgrp + +If Used('v_nomhand') + Use In v_nomhand +Endif + +pcschema1=[''] +pcselect1=['select * from ] + gcS + [.sal_nom_handicap where 2=2'] +pcorder1=[] +pcfiltru1 = [sters = 0] +llAfiseaza = .F. +gencursor('ponomgrp','v_nomhand',pcselect1,pcfiltru1,pcschema1,pcorder1,llAfiseaza) +ponomgrp.ca_baza1.afisare() +SELECT v_nomhand +ofrmpop=Createobject('frm_grdhand') +ofrmpop.Show(1) +Release ponompop + +*!* SELECT v_nomhand +*!* USE +ENDPROC +*----------------------------------sfarsit procedura nom_grdhand---------------------------------- + +******************************************* +* PROCEDURE nom_tipintret( ) +* Date : 06/17/05, 15:13:34 +* author : liana.macinic +* description: + +****** PARAMETER BLOCK ************** +* Parameters : 0 +* +******************************************* +PROCEDURE nom_tipintret( ) + +Private ponomgrp,pcschema1,pcselect1 +Store '' To ponomgrp +If Used('v_nomintret') + Use In v_nomintret +Endif + +pcschema1=[''] +pcselect1=['select * from ] + gcS + [.sal_nom_dedsupl where 2=2'] +pcorder1=[] +pcfiltru1 = [sters = 0] +llAfiseaza = .F. +gencursor('ponomgrp','v_nomintret',pcselect1,pcfiltru1,pcschema1,pcorder1,llAfiseaza) +ponomgrp.ca_baza1.afisare() +SELECT v_nomintret +ofrmpop=Createobject('frm_tipintret') +ofrmpop.Show(1) +Release ponompop + +ENDPROC +*----------------------------------sfarsit procedura nom_tipintret---------------------------------- + +******************************************* +* PROCEDURE caseasig( ) +* Date : 06/17/05, 15:20:20 +* author : liana.macinic +* description: + +****** PARAMETER BLOCK ************** +* Parameters : 0 +* +******************************************* +PROCEDURE caseasig( ) + +Private ponomgrp,pcschema1,pcselect1 +Store '' To ponomgrp +If Used('v_caseasig') + Use In v_caseasig +Endif + +pcschema1=[''] +pcselect1=['select * from ] + gcS + [.sal_vcaseasig where 2=2'] +pcorder1=[] +pcfiltru1 = [2=2] +llAfiseaza = .F. +gencursor('ponomgrp','v_caseasig',pcselect1,pcfiltru1,pcschema1,pcorder1,llAfiseaza) +ponomgrp.ca_baza1.afisare() +SELECT v_caseasig +ofrmpop=Createobject('frm_caseasig') +ofrmpop.Show(1) +Release ponompop + +ENDPROC +*----------------------------------sfarsit procedura caseasig---------------------------------- + +******************************************* +* PROCEDURE nom_tabvechimi( ) +* Date : 06/21/05, 09:54:04 +* author : liana.macinic +* description: + +****** PARAMETER BLOCK ************** +* Parameters : 0 +* +******************************************* +PROCEDURE nom_tabvechimi( ) + +Private ponomgrp,pcschema1,pcselect1 +Store '' To ponomgrp +If Used('v_tabvechimi') + Use In v_tabvechimi +Endif + +pcschema1=[''] +pcselect1=['select * from ] + gcS + [.sal_vtab_vechimi where 2=2'] +pcorder1=[] +pcfiltru1 = [sters = 0] +llAfiseaza = .F. +gencursor('ponomgrp','v_tabvechimi',pcselect1,pcfiltru1,pcschema1,pcorder1,llAfiseaza) +ponomgrp.ca_baza1.afisare() +SELECT v_tabvechimi +ofrmpop=Createobject('frm_tabvechimi') +ofrmpop.Show(1) +Release ponompop + +ENDPROC +*----------------------------------sfarsit procedura nom_tabvechimi---------------------------------- + +******************************************* +* PROCEDURE nom_grilaco( ) +* Date : 06/21/05, 10:54:08 +* author : liana.macinic +* description: + +****** PARAMETER BLOCK ************** +* Parameters : 0 +* +******************************************* +PROCEDURE nom_grilaco( ) +Private ponomgrp,pcschema1,pcselect1 +Store '' To ponomgrp +If Used('v_grilaco') + Use In v_grilaco +Endif + +pcschema1=['liminf n(3),limsup n(3),zile n(2),id_grilaco n(10),datai d,datas d'] +pcselect1=['select liminf,limsup,zile,id_grilaco,datai,datas from ] + gcS + [.sal_vnom_zileco where 2=2'] +pcorder1=[liminf,limsup,datai,datas] +pcfiltru1 = [1=1] +llAfiseaza = .F. +gencursor('ponomgrp','v_grilaco',pcselect1,pcfiltru1,pcschema1,pcorder1,llAfiseaza) +ponomgrp.ca_baza1.afisare() +SELECT v_grilaco +ofrmpop=Createobject('frm_grilaco') +ofrmpop.Show(1) +Release ponompop + +ENDPROC +*----------------------------------sfarsit procedura nom_grilaco---------------------------------- + +******************************************* +* PROCEDURE nom_ore( ) +* Date : 06/21/05, 11:41:51 +* author : liana.macinic +* description: + +****** PARAMETER BLOCK ************** +* Parameters : 0 +* +******************************************* +PROCEDURE nom_ore( ) +Private ponomgrp,pcschema1,pcselect1 +Store '' To ponomgrp +If Used('v_nomore') + Use In v_nomore +Endif + +pcschema1=[''] +pcselect1=['select * from ] + gcS + [.sal_vnomore where 2=2'] +pcorder1=[] +pcfiltru1 = [sters = 0] +llAfiseaza = .F. +pcorder1 = [ ordine ] +gencursor('ponomgrp','v_nomore',pcselect1,pcfiltru1,pcschema1,pcorder1,llAfiseaza) +ponomgrp.ca_baza1.afisare() +SELECT v_nomore +ofrmpop=Createobject('frm_nomore') +ofrmpop.Show(1) +Release ponompop + +ENDPROC +*----------------------------------sfarsit procedura nom_ore---------------------------------- + +******************************************* +* PROCEDURE nom_tipcm( ) +* Date : 06/22/05, 09:34:42 +* author : liana.macinic +* description: + +****** PARAMETER BLOCK ************** +* Parameters : 0 +* +******************************************* +PROCEDURE nom_tipcm( ) +Private ponomgrp,pcschema1,pcselect1 +Store '' To ponomgrp +If Used('v_nomtipcm') + Use In v_nomtipcm +Endif + +pcschema1=[''] +pcselect1=['select * from ] + gcS + [.sal_vnom_cm where 2=2'] +pcorder1=[] +pcfiltru1 = [sters = 0] +llAfiseaza = .F. +pcorder1 = [ ordine ] +gencursor('ponomgrp','v_nomtipcm',pcselect1,pcfiltru1,pcschema1,pcorder1,llAfiseaza) +ponomgrp.ca_baza1.afisare() +SELECT v_nomtipcm +ofrmpop=Createobject('frm_nomcm') +ofrmpop.Show(1) +Release ponompop + +ENDPROC +*----------------------------------sfarsit procedura nom_tipcm---------------------------------- + +******************************************* +* PROCEDURE impozit_luna( ) +* Date : 06/22/05, 11:36:42 +* author : liana.macinic +* description: + +****** PARAMETER BLOCK ************** +* Parameters : 0 +* +******************************************* +PROCEDURE impozit_luna(tlImpAn) + +Private ponomgrp,pcschema1,pcselect1,plImpAn +Store '' To ponomgrp + +IF EMPTY(tlImpAn) + STORE .f. TO plImpAn +ELSE + STORE tlImpAn TO plImpAn +ENDIF + +If Used('v_imp') + Use In v_imp +Endif + +pcschema1=[''] +pcselect1=['select * from ] + gcS + [.sal_impozitar where 2=2'] +pcorder1=[] +IF plImpAn + pcfiltru1 = [sters = 0 and luna = 0 and an = ]+ALLTRIM(STR(gnAn)) +ELSE + pcfiltru1 = [sters = 0 and luna = ]+ALLTRIM(STR(gnLuna))+[ and an = ]+ALLTRIM(STR(gnAn)) +ENDIF + +llAfiseaza = .F. +pcorder1 = [ inf ] +gencursor('ponomgrp','v_imp',pcselect1,pcfiltru1,pcschema1,pcorder1,llAfiseaza) +ponomgrp.ca_baza1.afisare() +SELECT v_imp +ofrmpop=Createobject('frm_imp') +ofrmpop.Show(1) +Release ponompop + +ENDPROC +*----------------------------------sfarsit procedura impozit_luna---------------------------------- + +******************************************* +* PROCEDURE nom_limded( ) +* Date : 06/22/05, 13:23:29 +* author : liana.macinic +* description: + +****** PARAMETER BLOCK ************** +* Parameters : 0 +* +******************************************* +PROCEDURE nom_limded( ) +Private ponomgrp,pcschema1,pcselect1 +Store '' To ponomgrp +If Used('v_deduceri') + Use In v_deduceri +ENDIF + +lcsql=[select NVL(id_calendar,0) as id_calendar,an,luna from ]+gcs+[.sal_calendar where an = ]+str(gnan)+[ and luna = ]+str(gnluna) +lnSucces = goExecutor.oExecute(lcSql,'crsCalendar') + IF lnSucces < 0 + MESSAGEBOX(goExecutor.cEroare,0 +16,'Eroare') + ENDIF + +pcschema1=[''] +pcselect1=['select * from ] + gcS + [.sal_vdeduceri where 2=2'] +pcorder1=[] +pcfiltru1 = [sters = 0] +llAfiseaza = .F. +pcorder1 = [ nrpers ] +gencursor('ponomgrp','v_deduceri',pcselect1,pcfiltru1,pcschema1,pcorder1,llAfiseaza) +ponomgrp.ca_baza1.afisare() +SELECT v_deduceri +ofrmpop=Createobject('frm_limded') +ofrmpop.Show(1) +Release ponompop + +IF USED('crsCalendar') + USE IN crsCalendar +ENDIF + +ENDPROC +*----------------------------------sfarsit procedura nom_limded---------------------------------- +******************************************* +* PROCEDURE nom_curscal( ) +* Date : 06/22/05, 14:01:51 +* author : liana.macinic +* description: + +****** PARAMETER BLOCK ************** +* Parameters : 0 +* +******************************************* +PROCEDURE nom_curscal( ) +Private ponomgrp,pcschema1,pcselect1 +Store '' To ponomgrp +If Used('v_curscal') + Use In v_curscal +Endif + + +pcschema1=[''] +pcselect1=['select * from ] + gcS + [.sal_vnom_curs where 2=2'] +pcorder1=[] +pcfiltru1 = [sters = 0] +llAfiseaza = .F. +pcorder1 = [ denumire ] +gencursor('ponomgrp','v_curscal',pcselect1,pcfiltru1,pcschema1,pcorder1,llAfiseaza) +ponomgrp.ca_baza1.afisare() +SELECT v_curscal +ofrmpop=Createobject('frm_curscal') +ofrmpop.Show(1) +Release ponompop + +ENDPROC +*----------------------------------sfarsit procedura nom_curscal---------------------------------- +******************************************* +* PROCEDURE sal_coef( ) +* Date : 06/22/05, 15:27:17 +* author : liana.macinic +* description: + +****** PARAMETER BLOCK ************** +* Parameters : 0 +* +******************************************* +Function modificare_coef_luna + Private pozile,pcschema2,pcselect2 + + lnSucces = goExecutor.oExecute('select MAX(coef) as coef from sal_impozitar where sters = 0 and '+[luna = ] + Alltrim(Str(gnLuna)) + [ and an = ]+Alltrim(Str(gnAn)),'crsImpozitar') + IF lnSucces < 0 + MESSAGEBOX(goExecutor.cEroare,0 +16,'Eroare') + RETURN + ENDIF + + SELECT crsImpozitar + + Store '' To pozile + If Used('v_coef') + Use In v_coef + Endif + pcschema2=[''] + pcselect2=[select * from ] + gcS + [.sal_calendar where 1=2] + pcorder2=[luna,an] + pcfiltru2 = [luna = ] + Alltrim(Str(gnLuna)) + [ and an = ]+Alltrim(Str(gnAn)) + llAfiseaza = .F. + gencursor('pozile','v_coef',pcselect2,pcfiltru2,pcschema2,pcorder2,llAfiseaza) + pozile.ca_baza1.afisare() + Select v_coef + Scatter Name pocoef + ADDPROPERTY(poCoef,'impozit',crsImpozitar.coef) + ofrmform=Createobject('frm_salcoef') + ofrmform.Show(1) +&& CURSORTOXML('v_coef','c:\coeficienti.xml',1,512) + If Used('v_coef') + Use In v_coef + ENDIF + USE IN crsImpozitar + Release posarbat,ofrmform + Return Iif(gnButon=1,pocoef,Null) +Endfunc +******************************************* +PROCEDURE sal_coef +PARAMETERS tlPreiauDinVariabile +*----------- zile lucratoare +*!* Private pozile,pcschema2,pcselect2 +*!* Store '' To pozile +*!* If Used('v_coef') +*!* Use In v_coef +*!* Endif +*!* pcschema2=[''] +*!* pcselect2=[select * from ] + gcS + [.sal_calendar where 1=2] +*!* pcorder2=[luna,an] +*!* pcfiltru2 = [ luna = ] + ALLTRIM(STR(gnLuna)) + [ and an = ]+ALLTRIM(STR(gnAn)) +*!* llAfiseaza = .F. +*!* *!* WAIT WINDOW ' Luna:'+STR(gnLuna) + ' an:'+STR(gnAn) +*!* gencursor('pozile','v_coef',pcselect2,pcfiltru2,pcschema2,pcorder2,llAfiseaza) +*!* pozile.ca_baza1.afisare() + +*!* SELECT v_coef +*!* *-------------- +*!* PRIVATE pnIdSal +*!* STORE 0 TO pnIdSal + +*!* pnIdSal = v_coef.id_Calendar +*!* SELECT v_coef +*!* SCATTER NAME pocoef + +*!* ofrmform=Createobject('frm_salcoef') +*!* ofrmform.Show(1) +IF PCOUNT() = 0 OR !tlPreiauDinVariabile + poCoef = modificare_coef_luna() +ENDIF +IF !ISNULL(poCoef) + lcSql = [begin pack_salarii.actualizeaza_calendar(] + ALLTRIM(STR(NVL(pocoef.id_Calendar,0))) + [,] + ; + ALLTRIM(STR(NVL(pocoef.c_meds,0),5,3)) + [,] +; + ALLTRIM(STR(NVL(pocoef.c_medp,0),5,3)) + [,] + ; + ALLTRIM(STR(NVL(pocoef.c_soms,0),11,8)) + [,] + ; + ALLTRIM(STR(NVL(pocoef.c_somp,0),7,5)) + [,] + ; + ALLTRIM(STR(NVL(pocoef.c_casp,0),7,5)) + [,] + ; + ALLTRIM(STR(NVL(pocoef.salmin,0),16,gnPa)) + [,] + ; + ALLTRIM(STR(NVL(pocoef.salmed,0),16,gnPa)) + [,] + ; + ALLTRIM(STR(NVL(pocoef.c_munca,0),8,6)) + [,] + ; + ALLTRIM(STR(NVL(pocoef.dedl1,0),16,gnPa)) + [,] + ; + ALLTRIM(STR(NVL(pocoef.dedl2,0),16,gnPa)) + [,] + ; + ALLTRIM(STR(NVL(pocoef.c_faambp,0),8,6)) + [,] + ; + ALLTRIM(STR(NVL(pocoef.zilecmplang,0))) + [,] + ; + ALLTRIM(STR(NVL(pocoef.zilecmplangf,0))) + [,] + ; + ALLTRIM(STR(NVL(pocoef.BAZA_INGR,0))) + [,] + ; + AllTRIM(STR(NVL(pocoef.c_cas1,0),6,4)) + [,] + ; + ALLTRIM(STR(NVL(pocoef.c_cas2,0),6,4)) + [,] + ; + ALLTRIM(STR(NVL(pocoef.c_cas3,0),6,4)) + [,] + ; + ALLTRIM(STR(NVL(pocoef.FD_FNUASS,0),6,4)) + [,] + ; + ALLTRIM(STR(NVL(pocoef.brutprimaco,0))) + [,] + ; + ALLTRIM(STR(NVL(pocoef.netprimaco,0))) + [,] + ; + ALLTRIM(STR(NVL(pocoef.coefavco,0),6,4)) + [,] + ; + ALLTRIM(STR(NVL(pocoef.C_FDGARANT,0),6,4)) + [,] + ; + ALLTRIM(STR(NVL(pocoef.fol_cstandard,0))) + [,] + ; + ALLTRIM(STR(NVL(pocoef.C_ORESUPL,0),6,3)) + [,] + ; + ALLTRIM(STR(NVL(pocoef.C_OREW,0),6,3)) + [,] + ; + ALLTRIM(STR(NVL(pocoef.C_ORENOAPTE,0),6,3)) + [,]+; + ALLTRIM(STR(NVL(pocoef.diurnaneimp,0),16,2))+ [,]+; + ALLTRIM(STR(NVL(pocoef.oug114_2018,0),1)) + [,]+; + ALLTRIM(STR(NVL(pocoef.impozit,0),6,4)) +[,]+; + ALLTRIM(STR(NVL(pocoef.salminstudii,0),16,gnPa)) + [,]+ ; + ALLTRIM(STR(NVL(pocoef.orestas,0),7,3)) +; + [); end;] +*!* lcSql = [update ] + gcS +[.sal_calendar set c_meds = ] + ALLTRIM(STR(NVL(pocoef.c_meds,0),5,3)) + [,] +; +*!* [ c_medp = ] + ALLTRIM(STR(NVL(pocoef.c_medp,0),5,3)) +; +*!* [,c_soms = ] + ALLTRIM(STR(NVL(pocoef.c_soms,0),5,3)) +; +*!* [,c_somp = ] + ALLTRIM(STR(NVL(pocoef.c_somp,0),5,3)) +; +*!* [,c_casp = ] + ALLTRIM(STR(NVL(pocoef.c_casp,0),5,3)) +; +*!* [,salmin = ] + ALLTRIM(STR(NVL(pocoef.salmin,0),16,gnPa)) +; +*!* [,salmed = ] + ALLTRIM(STR(NVL(pocoef.salmed,0),16,gnPa)) +; +*!* [,c_munca = ] + ALLTRIM(STR(NVL(pocoef.c_munca,0),8,6)) +; +*!* [,dedl1 = ] + ALLTRIM(STR(NVL(pocoef.dedl1,0),16,gnPa)) +; +*!* [,dedl2 = ] + ALLTRIM(STR(NVL(pocoef.dedl2,0),16,gnPa)) +; +*!* [,c_faambp = ] + ALLTRIM(STR(NVL(pocoef.c_faambp,0),8,6)) +; +*!* [,zilecmplang = ] + ALLTRIM(STR(NVL(pocoef.zilecmplang,0))) +; +*!* [,BAZA_INGR = ] + ALLTRIM(STR(NVL(pocoef.BAZA_INGR,0))) +; +*!* [,c_cas1 = ] + ALLTRIM(STR(NVL(pocoef.c_cas1,0),6,4)) +; +*!* [,c_cas2 = ] + ALLTRIM(STR(NVL(pocoef.c_cas2,0),6,4)) +; +*!* [,c_cas3 = ] + ALLTRIM(STR(NVL(pocoef.c_cas3,0),6,4)) +; +*!* [,FD_FNUASS = ] + ALLTRIM(STR(NVL(pocoef.FD_FNUASS,0),6,4)) +; +*!* [,brutprimaco = ] + ALLTRIM(STR(NVL(pocoef.brutprimaco,0))) +; +*!* [,netprimaco = ] + ALLTRIM(STR(NVL(pocoef.netprimaco,0))) +; +*!* [,coefavco = ] + ALLTRIM(STR(NVL(pocoef.coefavco,0),6,4)) +; +*!* [,C_FDGARANT = ] + ALLTRIM(STR(NVL(pocoef.C_FDGARANT,0),6,4)) +; +*!* [where id_calendar = ] + ALLTRIM(STR(NVL(pnIdSal,0))) + lnSucces = goExecutor.oExecute(lcSql) + IF lnSucces < 0 + MESSAGEBOX(goExecutor.cEroare,0 +16,'Eroare') + ELSE + IF USED('crsDeduceri') + SET STEP ON + LOCAL lcStringDeduceri + STORE [] TO lcStringDeduceri + SELECT crsDeduceri + SCAN + lcStringDeduceri = lcStringDeduceri +ALLTRIM(STR(crsDeduceri.nrpers))+[,]+ALLTRIM(STR(crsDeduceri.suma))+[|] + ENDSCAN + IF !EMPTY(lcStringDeduceri) + IF m.gnAn*12+m.gnLuna <=2018*12+1 + lcSql = [merge into sal_deduceri a ]+; + [ using ]+; + [(select to_number(substr(X,1,instr(X, ',') - 1)) as nrpers, ]+; + [ to_number(substr(X, instr(X, ',') + 1)) as suma, ]+; + ALLTRIM(STR(NVL(pocoef.id_Calendar,0))) + [ as id_calendar] +; + [ from table(charc2collection(']+lcStringDeduceri+[','|'))) b ]+; + [ on (a.nrpers = b.nrpers and a.id_calensal = b.id_calendar) ] +; + [ WHEN MATCHED THEN UPDATE SET ]+; + [ a.suma = b.suma ]+; + [ when not matched then ]+; + [ insert (nrpers,suma,id_calensal) values (b.nrpers,b.suma,b.id_calendar)] + ENDIF + lnSucces = goExecutor.oExecute(lcSql) + IF lnSucces < 0 + MESSAGEBOX(goExecutor.cEroare,0 +16,'Eroare') + ENDIF + ENDIF + + ENDIF + ENDIF + goExecutor.oReset() + + RETURN lnSucces +ENDIF +*!* Release posarbat,ofrmform + + +ENDPROC +*----------------------------------sfarsit procedura sal_coef---------------------------------- + +******************************************* +* PROCEDURE nom_tiptichetemasa( ) +* Date : 06/22/05, 09:34:42 +* author : liana.macinic +* description: + +****** PARAMETER BLOCK ************** +* Parameters : 0 +* +******************************************* +PROCEDURE nom_tiptichetemasa( ) +Private ponomtic,pcschema1,pcselect1 +Store '' To ponomtic +If Used('vnom_tichete') + Use In vnom_tichete +Endif + +pcschema1=[''] +pcselect1=['select * from ] + gcS + [.sal_vnom_tichete where 2=2'] +pcorder1=[] +pcfiltru1 = [sters = 0] +llAfiseaza = .F. +pcorder1 = [ denumire ] +gencursor('ponomtic','vnom_tichete',pcselect1,pcfiltru1,pcschema1,pcorder1,llAfiseaza) +ponomtic.ca_baza1.afisare() +SELECT vnom_tichete +ofrmpop=Createobject('frm_nomtichete') +ofrmpop.Show(1) +Release ponompop + +ENDPROC +*----------------------------------sfarsit procedura nom_tipcm---------------------------------- + +******************************************* +* PROCEDURE nom_turelucru( ) +* Date : 19/09/2017, 09:34:42 +* author : liana.neagu +* description: + +****** PARAMETER BLOCK ************** +* Parameters : 0 +* +******************************************* +PROCEDURE nom_turelucru( ) +Private ponomture,pcschema1,pcselect1 +Store '' To ponomture +If Used('vnom_ture') + Use In vnom_ture +Endif + +pcschema1=[''] +pcselect1=['select * from ] + gcS + [.sal_nom_ture where 2=2'] +pcorder1=[] +pcfiltru1 = [sters = 0] +llAfiseaza = .F. +pcorder1 = [ denumire ] +gencursor('ponomture','vnom_ture',pcselect1,pcfiltru1,pcschema1,pcorder1,llAfiseaza) +ponomture.ca_baza1.afisare() +SELECT vnom_ture +ofrmture=Createobject('frm_nomTure') +ofrmture.Show(1) +Release ponomture + +ENDPROC +*----------------------------------sfarsit procedura nom_turelucru---------------------------------- +******************************************* +* PROCEDURE nom_locmunca( ) +* Date : 03/09/21, 16:37:20 +* author : liana.neagu +* description: + +****** PARAMETER BLOCK ************** +* Parameters : 0 +* +******************************************* +PROCEDURE nom_locmunca( ) +Private poformatii,pcschema1,pcselect1 +Store '' To poformatii +If Used('v_formatii') + Use In v_formatii +Endif +*!* DEBUG +*!* SUSPEND +pcschema1=[''] +*!* pcselect1=[select f.*,s.SECTIE,t.TRANSA from ] + gcS +; +*!* [.sal_nom_formatii f left join ]+gcS; +*!* +[.vnom_sectii s on f.id_sectie = s.ID_SECTIE ]+; +*!* [ left join ]+gcS+[.sal_vnom_transe t on f.id_sectie = t.ID_TRANSA where 1=2] +pcselect1=[select f.*,S.SECTIE,T.TRANSA,semn.denumire as semnatura,semn.directie from ] + gcS + [.sal_nom_locmunca f ] + ; + [ LEFT JOIN ] + GCS + [.VNOM_SECTII S ON F.ID_SECTIE = S.ID_SECTIE ] +; + [ LEFT JOIN ] + GCS + [.SAL_VNOM_TRANSE T ON F.ID_TRANSA = T.ID_TRANSA ]+; + [left join sal_semnaturi semn on f.id_semnatura = semn.id_semnatura ]+; + [ where 1=2] +pcorder1=[ordine] +pcfiltru1 = [f.sters = 0] +llAfiseaza = .F. +gencursor('poformatii','v_formatii',pcselect1,pcfiltru1,pcschema1,pcorder1,llAfiseaza) +poformatii.ca_baza1.afisare() +SELECT V_FORMATII +ofrmform=Createobject('frm_formatii') +ofrmform.but_nou1.visible = .f. +ofrmform.but_modifica1.visible = .f. +ofrmform.but_sterge1.visible = .f. +ofrmform.Show(1) +Release poformatii + +ENDPROC +*----------------------------------sfarsit procedura nom_formatii---------------------------------- \ No newline at end of file diff --git a/programe/oproceduri_rulaje.prg b/programe/oproceduri_rulaje.prg new file mode 100644 index 0000000..e3ed132 --- /dev/null +++ b/programe/oproceduri_rulaje.prg @@ -0,0 +1,508 @@ +*!* 29.06.2018 +*!* marius.mutu +*!* modificare_articole_gestiune - tratare modificare nota produse > vanzare + + +*!* 31.12.2019 +*!* marius.mutu +*!* viz_rulaje, viz_rulaje_obinv - optimizat selectia pentru cursorul poBon, poNir + +Procedure viz_rulaje + Lparameters tnNrPag + Private pcselect, pcschema, pcfiltru, pcorder, llAfiseaza, porulaje, ponir, pobon, pcvrul + + Local ofrmrulaje As "frm_rulaje" + Local lcFiltruOriginal, lcgroup, llModParam + Store '' To porulaje, ponir, pobon + *!* IF m.nivel=1 + + pcschema = ['NRCRT n(10),ID_RUL n(20),AN n(4),LUNA n(2),COD n(20),NNIR n(20),SERIE_ACT C(10),NRACT n(14),UTILS c(50),DATAORAS t,ID_ARTICOL n(10),'+] + ; + ['DENUMIRE c(100),CODMAT c(50),SERIE c(100),UM c(6),ID_GESTIUNE n(5),CGEST c(20), nume_gestiune c(50), '+] + ; + ['PRET n(16,4),PRETV n(16,4),TVA n(16,4),TVAV n(16,4),CANT n(14,3),CANTE n(14,3),CONT c(4),'+] + ; + ['ADAOS n(14,4),ID_LUCRARE n(20),NRORD c(30),ID_RESPONSABIL n(5),NRESP c(30),DATAACT d,'+] + ; + ['PROCENT n(7,3),CURS n(14,4),PRETD n(14,4),ID_UTIL n(5),UTIL c(30),DATAORA t,'+] + ; + ['ID_SECTIE n(5),SECTIE c(30),ALCOOLTUTUN n(1),PRETVTVA n(14,4),'+] + ; + ['ACONT c(4),DATAIN d,DATAOUT d,PROC_DISC n(6,2),DISCUNITAR n(14,4),PROC_TVA n(5,2),PROC_TVAv n(5,2),ID_FACT n(20),STERS n(1), '+] + ; + ['ID_GESTIUNEC N(5), CGESTC C(20), ID_RESPONSABILC N(5), NRESPC C(30),ID_TIP_RULAJ N(10),TIP_RULAJ C(40),'+] + ; + ['um2 c(10),cant_bax n(9,4), id_grupa n(5), grupa c(100), id_subgrupa n(5), subgrupa c(100),'+] + ; + ['id_valuta n(5), nume_val c(4), codmatf c(50), lot c(50), adata_expirare T,'+] + ; + ['id_sucursala N(5),sucursala c(100),id_part_rez N(10),part_rez c(100),'+] + ; + ['id_lucrare_rez N(10),nrord_rez C(50), codbare c(100), id_set I, id_furnizor N(10), furnizor C(100), codnc8 C(20), greutate N(12,4), tara_origine C(100),'+] + ; + ['id_jtva_coloana N(20), explicatie_tva C(250), taxcode N(6), taxname C(250), fdoc C(30), id_fdoc I, ales N(1)'] + + pcselect = ['select row_number() over (order by a.dataact,a.nnir) as nrcrt, '+] + ; + ['A.ID_RUL,A.AN,A.LUNA,A.COD,A.NNIR,A.SERIE_ACT,A.NRACT,A.UTILS,A.DATAORAS,A.ID_ARTICOL,A.DENUMIRE,A.CODMAT,A.SERIE,'+] + ; + ['A.UM,A.ID_GESTIUNE,A.cgest, a.nume_gestiune,A.PRET,A.PRETv,A.tva,A.tvav, ' + ] + ; + ['A.CANT,A.CANTE,A.CONT,A.ADAOS,A.ID_LUCRARE,A.NRORD,A.ID_RESPONSABIL,A.NRESP,A.DATAACT,A.PROCENT,A.curs, '+] + ; + ['A.PRETD,A.ID_UTIL,A.UTIL,A.DATAORA,A.ID_SECTIE,A.SECTIE,A.ALCOOLTUTUN, '+] + ; + ['A.pretvtva,A.ACONT,A.DATAIN,A.DATAOUT,A.PROC_DISC,A.DISCUNITAR,A.PROC_TVA,A.PROC_TVAV,A.ID_FACT,a.sters, '+] + ; + ['A.ID_GESTIUNEC, A.CGESTC, A.ID_RESPONSABILC, A.NRESPC, A.ID_TIP_RULAJ, A.TIP_RULAJ, '+] + ; + ['a.um2, a.cant_bax, a.id_grupa, a.grupa, a.id_subgrupa, a.subgrupa, a.id_valuta, a.nume_val, a.codmatf,' + ] + ; + ['a.lot, a.adata_expirare, a.id_sucursala, a.sucursala,a.id_part_rez,a.part_rez,a.id_lucrare_rez,a.nrord_rez, a.codbare, a.id_set, '+] + ; + ['a.id_furnizor, a.furnizor, a.codnc8, a.greutate, a.tara_origine, a.id_jtva_coloana, a.explicatie_tva, a.taxcode, a.taxname,a.fdoc, a.id_fdoc,0 as ales '+] + ; + ['from vrul_tot a where 1=2'] + + pcvrul = '_tot' + + pcfiltru = [1=2] + pcorder = [1] + llAfiseaza = .F. + gencursor('porulaje', 'crsrulx', pcselect, pcfiltru, pcschema, pcorder, llAfiseaza) + porulaje.ca_baza1.afisare() + + pcschema = [NRCRT n(10),DENUMIRE c(100),CODMAT c(50),UM c(6),DATAACT D,PRET n(16,4),TVA n(16,4),PRETV n(16,4),TVAV n(16,4),CANT n(14,3),CANTE n(14,3),COD n(20),NNIR n(10), NRESP C(30),SERIE c(100)] + Text To pcselect Noshow + select row_number() over(order by b.denumire) as nrcrt, + b.denumire, + b.codmat, + b.um, + a.dataact, + a.pret, + a.tva, + a.pretv, + a.tvav, + a.cant, + a.cante, + a.cod, + a.nnir, + c.denumire as nresp, + a.serie + FROM rul a left join nom_articole b on a.id_articol = b.id_articol + left join nom_parteneri c on a.id_responsabil = c.id_part + Endtext + + pcfiltru = [1=2] + pcorder = [b.denumire] + llAfiseaza = .F. + lcgroup = [] + llModParam = .T. + lcFiltruOriginal = [a.sters=0] + gencursor('ponir', 'crsnir', m.pcselect, m.pcfiltru, m.pcschema, m.pcorder, m.llAfiseaza, m.lcgroup, m.llModParam, m.lcFiltruOriginal) + gencursor('pobon', 'crsbon', m.pcselect, m.pcfiltru, m.pcschema, m.pcorder, m.llAfiseaza, m.lcgroup, m.llModParam, m.lcFiltruOriginal) + + Select crsRulX + ofrmrulaje = Createobject("frm_rulaje", tnNrPag) + *DO FORM frm_rulaje NAME ofrmrulaje NOSHOW + ofrmrulaje.lb_titlu_alb_b121.Caption = ofrmrulaje.lb_titlu_alb_b121.Caption + " LUNA " + Alltrim(Str(gnLuna)) + "/" + Alltrim(Str(gnAn)) + ofrmrulaje.Show(1) + + Release porulaje + +Endproc && viz_rulaje + +*--------------------------------------------------------------------------------------------- + +Procedure viz_rulaje_obinv + Private pcselect, pcschema, pcfiltru, pcorder, llAfiseaza, porulaje, ponir, pobon, pcvrul + Local ofrmrulaje As "frm_rulaje_obinv" + Local lcFiltruOriginal, lcgroup, llModParam + Store '' To porulaje, ponir, pobon + + pcschema = [''] + pcselect = ['select row_number() over (order by a.dataact,a.nnir) as nrcrt,a.*,0 as ales from vrul_obinv_tot a where 1=2'] + pcvrul = '_tot' + + + pcfiltru = [1=2] + pcorder = [1] + llAfiseaza = .F. + gencursor('porulaje', 'crsrul', pcselect, pcfiltru, pcschema, pcorder, llAfiseaza) + porulaje.ca_baza1.afisare() + + *!* pcschema = ['NRCRT n(10),DENUMIRE c(100),CODMAT c(50),UM c(6),PRET n(16,4),'+] + ; + *!* ['TVA n(16,4),CANT n(14,3),COD n(20), NRESP C(30)'] + *!* pcselect = ['select row_number() over (order by denumire) as nrcrt,a.denumire,a.codmat,'+] + ; + *!* ['a.um,a.pret,a.tva,a.cant,a.cod, a.nresp from ] + gcS + [.vrul_obinv] + pcvrul + [ a '+] + ; + *!* ['where 1=2'] + *!* pcfiltru = [1=2] + *!* pcorder = [a.denumire] + *!* llAfiseaza = .F. + *!* gencursor('ponir', 'crsnir', pcselect, pcfiltru, pcschema, pcorder, llAfiseaza) + + *!* pcschema = ['NRCRT n(10),DATAACT d,DENUMIRE c(100),UM c(6),PRETV n(16,4),CANTE n(14,3),NNIR n(10), NRESP C(30)'] + *!* pcselect = ['select row_number() over (order by cod) as nrcrt,a.dataact,'+] + ; + *!* ['a.denumire,a.um,a.pretv,a.cante,a.nnir, a.nresp from ] + gcS + [.vrul_obinv] + pcvrul + [ a '+] + ; + *!* ['where 1=2'] + *!* pcfiltru = [1=2] + *!* pcorder = [cod] + *!* llAfiseaza = .F. + *!* gencursor('pobon', 'crsbon', pcselect, pcfiltru, pcschema, pcorder, llAfiseaza) + + pcschema = [NRCRT n(10),DENUMIRE c(100),CODMAT c(50),UM c(6),DATAACT D,PRET n(16,4),TVA n(16,4),PRETV n(16,4),TVAV n(16,4),CANT n(14,3),CANTE n(14,3),COD n(20),NNIR n(10), NRESP C(30),SERIE c(100)] + Text To pcselect Noshow + select row_number() over(order by b.denumire) as nrcrt, + b.denumire, + b.codmat, + b.um, + a.dataact, + a.pret, + a.tva, + a.pretv, + a.tvav, + a.cant, + a.cante, + a.cod, + a.nnir, + c.denumire as nresp, + a.serie + FROM rul_obinv a left join nom_articole b on a.id_articol = b.id_articol + left join nom_parteneri c on a.id_responsabil = c.id_part + Endtext + + pcfiltru = [1=2] + pcorder = [b.denumire] + llAfiseaza = .F. + lcgroup = [] + llModParam = .T. + lcFiltruOriginal = [a.sters=0] + gencursor('ponir', 'crsnir', m.pcselect, m.pcfiltru, m.pcschema, m.pcorder, m.llAfiseaza, m.lcgroup, m.llModParam, m.lcFiltruOriginal) + gencursor('pobon', 'crsbon', m.pcselect, m.pcfiltru, m.pcschema, m.pcorder, m.llAfiseaza, m.lcgroup, m.llModParam, m.lcFiltruOriginal) + + *DO FORM "frm_rulaje_obinv" NAME ofrmrulaje NOSHOW LINKED + ofrmrulaje = Createobject("frm_rulaje_obinv") + ofrmrulaje.lb_titlu_alb_b121.Caption = "RULAJE OBIECTE DE INVENTAR IN FOLOSINTA * LUNA " + Alltrim(Str(gnLuna)) + "/" + Alltrim(Str(gnAn)) + ofrmrulaje.Show(1) + + Release porulaje + +Endproc && viz_rulaje_obinv + + +****************************************************** +* +* Apelata din gestiuni_comun.vcx > afrulaje > but_modifica1 +* +****************************************************** +Procedure modificare_antet_gestiune + Lparameters toActNou + Local llSucces, lnCod, lnIdResp, lcSelect + Local lcCursor, lcSql, llRul, lnReturn, lnSucces + Local loActNou, loActOriginal + Private pnCod + Private pdDataOra + pdDataOra = Null + + llSucces = .F. + lcSelect = Select() + loActNou = toActNou + pnCod = loActNou.cod + llRul = .T. + + lcSql = [select * from vact_tot where an = ?gnAn and luna = ?gnLuna and cod = ?pnCod] + lcCursor = [actactan] + lnSucces = goExecutor.oExecute(lcSql, lcCursor) + If lnSucces < 0 + aMESSAGEBOX(goExecutor.cEroare, 0 + 16, "Eroare") + Else + Select actactan + Go Top + Scatter Name loActOriginal + + lcSql = [select * from vrul_tot where an = ?gnAn and luna = ?gnLuna and cod = ?pnCod] + lcCursor = [rul_temp] + + lnSucces = goExecutor.oExecute(lcSql, lcCursor) + If lnSucces < 0 + aMESSAGEBOX(goExecutor.cEroare, 0 + 16, "Eroare") + Else + lcSql = [select * from vrul_obinv_tot where an = ?gnAn and luna = ?gnLuna and cod = ?pnCod] + lcCursor = [RUL_TEMP_OBINV] + + lnSucces = goExecutor.oExecute(lcSql, lcCursor) + goExecutor.oReset() + If m.lnSucces < 0 + aMESSAGEBOX(goExecutor.cEroare, 0 + 16, "Eroare") + Endif && lnSucces + Endif && lnSucces + Endif && lnSucces + + If m.lnSucces > 0 + If loActNou.nract <> loActOriginal.nract + Update actactan Set nract = loActNou.nract Where nract = loActOriginal.nract + Update RUL_TEMP Set nract = loActNou.nract + Update RUL_TEMP_OBINV Set nract = loActNou.nract + Endif + If loActNou.NNIR <> loActOriginal.NNIR + Update actactan Set NNIR = loActNou.NNIR Where NNIR = loActOriginal.NNIR + Update RUL_TEMP Set NNIR = loActNou.NNIR + Update RUL_TEMP_OBINV Set NNIR = loActNou.NNIR + Endif + If loActNou.dataact <> Ttod(loActOriginal.dataact) + Update actactan Set dataact = loActNou.dataact Where dataact = loActOriginal.dataact And nract = loActOriginal.nract + Update RUL_TEMP Set dataact = loActNou.dataact + Update RUL_TEMP_OBINV Set dataact = loActNou.dataact + Endif + If loActNou.dataireg <> Ttod(loActOriginal.dataireg) + Update actactan Set dataireg = loActNou.dataireg Where dataireg = loActOriginal.dataireg + Endif + If Nvl(loActNou.id_sectie, 0) <> Nvl(loActOriginal.id_sectie, 0) + Update actactan Set id_sectie = loActNou.id_sectie Where Nvl(id_sectie, 0) = Nvl(loActOriginal.id_sectie, 0) + Update RUL_TEMP Set id_sectie = loActNou.id_sectie Where Nvl(id_sectie, 0) = Nvl(loActOriginal.id_sectie, 0) + Update RUL_TEMP_OBINV Set id_sectie = loActNou.id_sectie Where Nvl(id_sectie, 0) = Nvl(loActOriginal.id_sectie, 0) + Endif + If Nvl(loActNou.id_responsabil, 0) <> Nvl(loActOriginal.id_responsabil, 0) + Update actactan Set id_responsabil = loActNou.id_responsabil Where Nvl(id_responsabil, 0) = Nvl(loActOriginal.id_responsabil, 0) + Update RUL_TEMP Set id_responsabil = loActNou.id_responsabil Where Left(Cont, 1) <> '8' && nu modific obiectele de inventar in folosinta + Endif + If Nvl(loActNou.id_lucrare, 0) <> Nvl(loActOriginal.id_lucrare, 0) + Update actactan Set id_lucrare = loActNou.id_lucrare Where Nvl(id_lucrare, 0) = loActOriginal.id_lucrare + Update RUL_TEMP Set id_lucrare = loActNou.id_lucrare Where Nvl(id_lucrare, 0) = loActOriginal.id_lucrare + Update RUL_TEMP_OBINV Set id_lucrare = loActNou.id_lucrare Where Nvl(id_lucrare, 0) = loActOriginal.id_lucrare + Endif + + If Nvl(loActNou.id_partener, 0) <> Nvl(loActOriginal.id_partc, 0) + Update actactan Set id_partd = loActNou.id_partener Where Nvl(id_partd, 0) = Nvl(loActOriginal.id_partc, 0) + Update actactan Set id_partc = loActNou.id_partener Where Nvl(id_partc, 0) = Nvl(loActOriginal.id_partc, 0) + Endif + + If do_deschide_tranzactie() + Select actactan + lnSucces = oscrie_in_fisiere(2, .T., m.llRul) + + If m.lnSucces > 0 + lnSucces = oscrie_in_fisiere(0, .T., m.llRul) + Endif + + If m.lnSucces > 0 + lcSql = [begin pack_contafin.finalizeaza_modificare_nota(?gnLuna,?gnAn,?pdDataOra,] + Alltrim(Str(loActOriginal.id_set)) + [,] + ; + Alltrim(Str(m.pnCod)) + [,] + Alltrim(Str(loActOriginal.id_fact)) + [,] + Alltrim(Str(loActOriginal.id_fact)) + [,?gnIdUtil); end;] + lnSucces = Iif(goExecutor.oExecuta(m.lcSql), 1, -1) + Endif && lnSucces + + do_inchide_tranzactie(Iif(m.lnSucces < 0, 2, 1)) + Endif && deschide_Tranzactie + Endif && lnSucces + + Use In (Select('actactan')) + Use In (Select('RUL_TEMP')) + Use In (Select('RUL_TEMP_OBINV')) + + m.llSucces = (m.lnSucces > 0) + Select (m.lcSelect) + Return m.llSucces +Endproc && modificare_antet_gestiune + + +******************************************* +Procedure do_deschide_tranzactie + Local llReturn + If Type('goExecutor') = 'O' + goExecutor.oExecuta([select * from dual]) + Endif + lnSucces = SQLSetprop(gnHandle, "Transactions", 2) + If m.lnSucces < 0 + aMESSAGEBOX("Programul nu a reusit sa treaca pe tranzactie manuala! Reintrati in program si incercati din nou!", 48, "Atentie") + llReturn = .F. + Else + llReturn = .T. + Endif + Return m.llReturn +Endproc && do_deschide_tranzactie + +******************************************* +Procedure do_inchide_tranzactie + Lparameters tnTip + Local llReturn, lnSucces, lcExplicatie + If tnTip = 1 + lnSucces = Sqlcommit(gnHandle) + lcExplicatie = [COMMIT] + Else + lnSucces = Sqlrollback(gnHandle) + lcExplicatie = [ROLLBACK] + Endif + If lnSucces < 0 + aMESSAGEBOX("Eroare la " + lcExplicatie + "!", 48, "Atentie") + llReturn = .F. + Else + lnSucces = SQLSetprop(gnHandle, "Transactions", 1) + If lnSucces < 0 + aMESSAGEBOX('Programul nu a reusit sa treaca pe tranzactie automata. Iesiti din program si intrati din nou!', 0 + 48, 'Atentie!') + llReturn = .F. + Else + llReturn = .T. + Endif + Endif + Return llReturn +Endproc && do_inchide_tranzactie +****************************************************** +* +* Apelata din gestiuni_comun.vcx > afrulaje > but_modifica1 +* +****************************************************** +Procedure modificare_articole_gestiune + Lparameters tnCod, tnIdSet + + Private pnCod + Local lcColumnId, lcColumnValue, lcCont, lcFisLista, lcIdFisier, lcMemoryVarId, lcMemoryVarValue + Local lcSelect, lcSql, lcVarItem, lcWhere, llContinua, llPartener, llSucces, llVerificaAcont + Local lnButon, lnIdSet, lnIdValue, lnItem, lnSucces, lnVariabile, luValue, lcCgest, lnIdGestiune + Local loAct As "empty" + Local lcNumeGestiune, lcResponsabil, lnIdResponsabil + lnVariabile = 0 + llSucces = .F. + lcSelect = Select() + pnCod = m.tnCod + lnIdSet = m.tnIdSet + lcCgest = "" + lnIdGestiune = 0 + + *** Initializez variabilele din xrequest + lcSql = [select * From VACT a Where an = ] + Alltrim(Str(m.gnAn)) + [ and luna = ] + Alltrim(Str(m.gnLuna)) + [ and cod = ] + Alltrim(Str(m.pnCod)) + lnSucces = goExecutor.oExecute(m.lcSql, 'ACT_TEMP') + + If m.lnSucces < 0 + aMESSAGEBOX(goExecutor.cEroare, 0 + 48, _Screen.Caption) + Else + + lcSql = [select r.*, g.nume_gestiune, g.cgest, p.denumire as responsabil From rul r Left Join vnom_gestiuni g On r.id_gestiune = g.id_gestiune left join vnom_parteneri p on r.id_responsabil = p.id_part Where an = ] + Alltrim(Str(m.gnAn)) + [ and luna = ] + Alltrim(Str(m.gnLuna)) + [ and cod = ] + Alltrim(Str(m.pnCod)) + lnSucces = goExecutor.oExecute(m.lcSql, 'RUL_TEMP') + If m.lnSucces < 0 + aMESSAGEBOX(goExecutor.cEroare, 0 + 48, _Screen.Caption) + Endif + Endif && m.lnSucces < 0 + + If m.lnSucces < 0 + Use In (Select('ACT_TEMP')) + Use In (Select('RUL_TEMP')) + Return + Endif + + Select scd As Cont, id_partd As id_part, partd As partener ; + From ACT_TEMP ; + Where !Empty(Nvl(id_partd, 0)) ; + Union ; + Select scc As Cont, id_partc As id_part, partc As partener ; + From ACT_TEMP ; + Where !Empty(Nvl(id_partc, 0)) ; + Into Cursor cParteneriTemp + + Select a.Cont, a.id_part, b.partener ; + From (Select Cont, Max(id_part) As id_part From cParteneriTemp Group By Cont) a Left Join ; + (Select Distinct id_part, partener From cParteneriTemp) b On a.id_part = b.id_part ; + Into Cursor cParteneriAct + Use In (Select('cParteneriTemp')) + + Text To lcSql Noshow Textmerge + Select i.id_item, i.var_item, i.fis_lista, i.id_fisier + From xrequest r Join xitems i On r.id_item = i.id_item + Where r.id_set = <> + Union + Select id_item, var_item, fis_lista, id_fisier + From xitems + Where id_item = 16 + Endtext + lnSucces = goExecutor.oExecute(m.lcSql, 'crsVariabileTemp') + If lnSucces > 0 + Select Padr(Cont, 4) As var_item, 'parteneri' As fis_lista From cParteneriAct Into Cursor cVariabileParteneri + + Select crsVariabileTemp + Append From Dbf('cVariabileParteneri') + Use In (Select('cVariabileParteneri')) + Else + aMESSAGEBOX(goExecutor.cEroare) + Create Cursor crsVariabileTemp (id_item I, var_item C(20), fis_lista C(20), id_fisier C(20)) + Endif + + + loAct = Createobject("empty") + AddProperty(loAct, 'lCorectie', .T.) + AddProperty(loAct, 'nCod', m.pnCod) + + Select crsVariabileTemp + Scan + llPartener = Alltrim(Lower(Nvl(fis_lista, ''))) = 'parteneri' && variabila partener + lcVarItem = Lower(Alltrim(Nvl(var_item, ''))) + lcFisLista = Lower(Alltrim(Nvl(fis_lista, ''))) + lcIdFisier = Lower(Alltrim(Nvl(id_fisier, ''))) + lcColumnValue = 'act_temp.' + lcVarItem + lcColumnId = Iif(!Empty(m.lcIdFisier), 'act_temp.' + lcIdFisier, '') + + + Do Case + Case m.llPartener && parteneri + lcCont = Alltrim(Nvl(var_item, '')) + + Select cParteneriAct + Locate For Alltrim(Nvl(Cont, '')) = m.lcCont + If Found() + luValue = Alltrim(partener) + lnIdValue = id_part + AddProperty(loAct, 'v' + Lower(m.lcCont), m.luValue) && loAct.v4111 + AddProperty(loAct, 'id_vv' + Lower(m.lcCont), m.lnIdValue) && loAct.id_vv4111 + Endif + + + Case Inlist(m.lcVarItem, "gestin", "gestout") && numele gestiunii + * gestiunea o iau din rulaje, daca sunt mai multe gestiuni nu completez variabila + Select Distinct id_gestiune, nume_gestiune, cgest From RUL_TEMP Into Cursor crsGestiuniTemp + If _Tally = 1 + Go Top In crsGestiuniTemp + + lcNumeGestiune = Alltrim(crsGestiuniTemp.nume_gestiune) + lnIdGestiune = crsGestiuniTemp.id_gestiune + lcCgest = Alltrim(Nvl(crsGestiuniTemp.cgest, '')) + AddProperty(loAct, m.lcVarItem, m.lcNumeGestiune) && loAct.gestin + AddProperty(loAct, 'id_' + m.lcVarItem, m.lnIdGestiune) && loAct.id_gestin + AddProperty(loAct, "nume_gestiune", m.lcNumeGestiune) && loAct.nume_gestiune + AddProperty(loAct, "cgest", m.lcCgest) && loAct.cgest + AddProperty(loAct, 'id_gestiune', m.lnIdGestiune) && loAct.id_gestin + Endif + + Use In (Select('crsGestiuniTemp')) + Case m.lcVarItem = 'nresp' And m.lcFisLista = 'vnom_responsabili' && responsabil/respons sau achizitor/achit_542 + lcWhere = Iif(lnIdSet = 89, [cante <> 0], [1=1]) && la transfer intre persoane ma intereseaza persoana de la care se transfera + Select Distinct id_responsabil, responsabil From RUL_TEMP Where &lcWhere Into Cursor crsResponsabiliTemp + If _Tally = 1 + Go Top In crsResponsabiliTemp + lcResponsabil = Alltrim(crsResponsabiliTemp.responsabil) + lnIdResponsabil = crsResponsabiliTemp.id_responsabil + AddProperty(loAct, m.lcVarItem, m.lcResponsabil) && loAct.nresp + AddProperty(loAct, 'id_' + m.lcVarItem, m.lnIdResponsabil) && loAct.id_responsabil + Endif + Use In (Select('crsResponsabiliTemp')) + + Otherwise + If Type(m.lcColumnValue) <> 'U' + Select ACT_TEMP + Calculate Max(&lcVarItem) To luValue + If Inlist(m.lcVarItem, 'dataact', 'dataireg', 'datascad') And Type('luvalue') = 'T' + luValue = Ttod(m.luValue) + Endif + AddProperty(loAct, m.lcVarItem, m.luValue) && loAct.sectie/dataact/nract + + If !Empty(m.lcColumnId) And Type(m.lcColumnId) <> 'U' + Locate For &lcVarItem = luValue + If Found() + luValue = Evaluate(m.lcColumnId) + AddProperty(loAct, m.lcIdFisier, m.luValue) && loAct.id_sectie + Endif + Endif + Endif + Endcase + Endscan && crsVariabileTemp + + Use In (Select('crsVariabileTemp')) + Use In (Select('act_temp')) + Use In (Select('rul_temp')) + + *** UTILIZATORUL FACE MODIFICARI ASUPRA ARTICOLELOR IN INTRARI/IESIRI + llContinua = .F. + llVerificaAcont = .T. + If Inlist(m.tnIdSet, 79, 83, 271, 225, 272) && produse > vanzare en-gros, en-detail + llSucces = initializeaza_vanzare_din_stoc(m.tnIdSet, loAct) + lnButon = Iif(m.llSucces, 1, 2) + Else + lnButon = lans(m.tnIdSet, m.llContinua, m.llVerificaAcont, .F., .F., loAct) + Endif + *!* Do Case + *!* Case Inlist(m.lnIdSet, 92, 104) && NIR IMPORT MATERIALE/MARFA + *!* lnButon = importmat(m.lnIdSet, loDateSuplimentare) && procmenu.prg + *!* Otherwise + *!* lnButon = lans(m.tnIdSet, m.llContinua, m.llVerificaAcont, @laValori) + *!* Endcase + llSucces = (m.lnButon <> 2) + + + Select (m.lcSelect) + Return m.llSucces +Endproc &&modificare_antet_gestiune \ No newline at end of file diff --git a/programe/oproceduri_seturi_indicatori.prg b/programe/oproceduri_seturi_indicatori.prg new file mode 100644 index 0000000..b694e89 --- /dev/null +++ b/programe/oproceduri_seturi_indicatori.prg @@ -0,0 +1,748 @@ +***------------------------------------------------------------------------------------ +Procedure set_set + LParameters tnId_set + + && adauga in mg_indicatori inregistrarile din mg_tmp_indicatori + + Private pnId_set + Local lcSql, lnSucces + If Empty(tnId_set) + Return + Else + pnId_set = tnId_set + Endif + + lcSql = [begin PACK_MG_EVOLUTIE.SET_SET(?pnId_set); end;] + lnSucces = goExecutor.oExecute(lcSql) + + If lnSucces < 0 + AMESSAGEBOX(goExecutor.cEroare, 0 + 16, "Eroare") + Endif + Return m.lnSucces +Endproc && set_set +***------------------------------------------------------------------------------------ +Procedure viz_toate_seturile + + * DO make_cFCentre IN oproceduri_manager.prg + Create Cursor cTipuri_seturi (id_tip_set N(5), nume_tip_set C(30), ales N(1)) + Select cTipuri_seturi + + + Private poSeturi + Store '' To poSeturi + + Local lcSchema1, lcSelect1, lcOrder1, lcFiltru1, llAfiseaza + *!* lcSchema1 = [id_ctr N(5), id_part N(10), nume C(30), nr_ctr N(10), data_ctr D(8), obiect C(200), tip N(1), durata N(3), valftva N(20,4), proc_tva N(5,2), avans N(20,4), proc_avans N(5,2),]+; + *!* [val_finant N(20,4), proc_finant N(5,2), dobanda N(20,4), proc_dobanda N(5,2), val_rezid N(20,4), proc_rezid N(5,2), ]+; + *!* [rata N(20,4), comision N(20,4), proc_comision N(5,2), proc_asigurare N(5,2), val_asigurare N(20,4), val_ctr N(20,4), id_valuta N(5), nume_val C(4), curs N(10,4), zi_plata N(2), incetat N(1), sters N(1) ] + *!* + *!* lcSelect1 = [select c.id_ctr, c.id_part, p.nume, c.nr_ctr, c.data_ctr, c.obiect, c.tip, c.durata, c.valftva, c.proc_tva, c.avans, c.proc_avans, ]+; + *!* [c.val_finant, c.proc_finant, c.dobanda, c.proc_dobanda, c.val_rezid, c.proc_rezid, ]+; + *!* [c.rata, c.comision, c.proc_comision, c.proc_asigurare, c.val_asigurare, c.val_ctr, c.id_valuta, v.nume_val, c.curs, c.zi_plata, c.incetat, c.sters from ] + gcS + ; + *!* [.cf_contracte c join ] + gcS + [.nom_parteneri p on p.id_part = c.id_part]+; + *!* [ join ] + gcS + [.nom_valute v on c.id_valuta = v.id_valuta] + lcSelect1 = [select s1.*, nvl(s2.uzual,0) as uzual from (select s.* from mg_seturi s) s1 left join (select distinct id_set, 1 as uzual from mg_seturi_uzuale u where u.sters = 0) s2 on s1.id_set = s2.id_set] + lcOrder1 = [s1.nume_set] + lcgroup = [] + lcFiltru1 = [1=2] + lcFiltruOriginal = [] + llModParam = .T. + llAfiseaza = .F. + + gencursor('poSeturi', 'crsSeturi', lcSelect1, lcFiltru1, lcSchema1, lcOrder1, llAfiseaza, lcgroup, llModParam, lcFiltruOriginal) + poSeturi.ca_baza1.afisare() + + lots = Createobject("frm_toate_seturile") + lots.Show(1) + + *!* IF USED("cFCentre") + *!* USE IN cFCentre + *!* ENDIF + +Endproc && viz_toate_seturile +***------------------------------------------------------------------------------------ +Procedure modifica_parametri + Parameters tnTip, tcAlias, tlDinFormModi + && tnTip: 1 - toate seturile; 2 - seturi uzuale + + + Private pnTip, pnId_set, pnLunaI, pnAnulI, pnLunaF, pnAnulF, pnCumul, pnIndAct, pnIndBal, pnDinFormModi && le trimit pe server + Store 0 To pnIndAct, pnIndBal + + If !Empty(tnTip) + pnTip = tnTip + Else + pnTip = 0 + Endif + + Local lcalias, llDinFormModi + lcalias = Alltrim(tcAlias) + llDinFormModi = tlDinFormModi + If llDinFormModi + pnDinFormModi = 1 + Else + pnDinFormModi = 0 + Endif + + Select (lcalias) + Scatter Name poset + pnId_set = id_set + + ***---- + lcSql = [begin PACK_MG_EVOLUTIE.get_indicatori_nu_act(?pnId_set,?pnDinFormModi,?@pnIndAct,?@pnIndBal); end;] + lnSucces = goExecutor.oExecute(lcSql) + If lnSucces < 0 + AMESSAGEBOX(goExecutor.cEroare, 0 + 16, "Eroare") + Return + Endif + ***---- + + lopc = Createobject("frm_parametri_calcul", pnIndAct, pnIndBal) + If tnTip = 2 + *!* lcSql = [select nume_set from mg_seturi where id_set = ]+Alltrim(Str(pnId_set)) + *!* lcCursor = 'cNume_set' + *!* lnSucces = goExecutor.oExecute(lcSel, lcCursor) + *!* If lnSucces < 0 + *!* AMESSAGEBOX(goExecutor.cEroare,0+16,"Eroare") + *!* Return + *!* Endif + *!* Select cNume_set + *!* lopc.lb_titlu_alb_b121.Caption = cNume_set.nume_set + *!* If Used('cNume_set') + *!* Use In cNume_set + *!* Endif + lopc.lb_titlu_alb_b121.Caption = 'set' + Else + lopc.lb_titlu_alb_b121.Caption = Alltrim(poset.nume_set) + Endif + lopc.Show(1) + + If buton = 2 + Return + Endif + + Select (lcalias) + Gather Name poset + + *pnId_set = poset.id_set + pnLunaI = poset.lunaI + pnAnulI = poset.anulI + pnLunaF = poset.lunaF + pnAnulF = poset.anulF + pnCumul = poset.cumul + + lcSql = [begin PACK_MG_EVOLUTIE.set_parametri(?pnTip, ?pnId_set, ?pnLunaI, ?pnAnulI, ?pnLunaF, ?pnAnulF, ?pnCumul, ?gnIdutil); end;] + lnSucces = goExecutor.oExecute(lcSql) + + If lnSucces < 0 + AMESSAGEBOX(goExecutor.cEroare, 0 + 16, "Eroare") + Return + Endif + +Endproc && modifica_parametri +***------------------------------------------------------------------------------------ +Procedure adauga_indicator + Parameters tnId_set, tcAlias + + Local lcalias, lnInd, llSucces + Private pnId_set, pnId_ind + + If !Empty(tnId_set) + pnId_set = tnId_set + Else + pnId_set = 0 + Endif + pnId_ind = 0 + + lcalias = Alltrim(tcAlias) + lnInd = 0 + llSucces = .F. + + Select (lcalias) + Scatter Name poIndicator Blank Memo + + poIndicator.tip = 1 + + Calculate Max(Val(Rand)) To lnRandMax + lnRandMax = lnRandMax + 1 + lcRandUrm = Padl(Alltrim(Str(lnRandMax, 4, 0)), 4, '0') + + poIndicator.Rand = lcRandUrm + poIndicator.nume_ind = "INDICATOR_" + lcRandUrm + + Calculate Cnt() For !Deleted() To lnInd + poIndicator.ord_rand = m.lnInd + 1 + + loib = Createobject("frm_tip_nume_rand_indicator") + loib.Show(1) + + If buton = 2 + RETURN m.llSucces + Endif + + poIndicator.id_set = pnId_set + + lcSql = [begin PACK_MG_EVOLUTIE.next_id_ind(?@pnId_ind); end;] + llSucces = goExecutor.oExecuta(lcSql) + + If m.llSucces + poIndicator.id_ind = pnId_ind + lcSql = [begin PACK_MG_EVOLUTIE.adauga_indicator(?pnId_set, ?pnId_ind, ?ALLTRIM(poIndicator.Rand), ?ALLTRIM(poIndicator.nume_ind), ?poIndicator.tip, ?poindicator.ord_rand); end;] + llSucces = goExecutor.oExecuta(lcSql) + IF m.llSucces + Select (lcalias) + Append Blank + Gather Name poIndicator Memo + ENDIF + ENDIF + + RETURN m.llSucces +Endproc && adauga_indicator +***------------------------------------------------------------------------------------ +***------------------------------------------------------------------------------------ +Procedure modifica_indicator + Parameters tnId_set, tnId_ind, tcAlias + + Private pnId_set, pnId_ind + LOCAL lnTip, lcAlias, llSucces + pnId_set = tnId_set + pnId_ind = tnId_ind + + lcalias = Alltrim(tcAlias) + llSucces = .F. + + Select (lcalias) + Scatter Name poIndicator Memo + lnTip = poIndicator.tip + + loib = Createobject("frm_tip_nume_rand_indicator") + loib.Show(1) + + If buton = 2 + RETURN m.llSucces + ENDIF + lcSql = [begin PACK_MG_EVOLUTIE.modifica_indicator(?pnId_set, ?pnId_ind, ?Alltrim(poIndicator.Rand), ?Alltrim(poIndicator.nume_ind), ?poIndicator.tip, ?poindicator.ord_rand); end;] + llSucces = goExecutor.oExecuta(lcSql) + + If m.llSucces + IF poIndicator.tip <> m.lnTip + poIndicator.formula = "" + ENDIF + + Select (lcalias) + Gather Name poIndicator Memo + Endif + + RETURN m.llSucces +Endproc && modifica_indicator +***------------------------------------------------------------------------------------ +Procedure test + + loft = Createobject("frm_test") + loft.Show(1) + +Endproc && test +*------------------------------------------------------------------------------------ +Procedure test_List + + pcLista = "+T201 +T203 +T204+T205+T206+T207-T208+T209" + + lcLista = gcTempPath + "tLista.dbf" + Create Table (lcLista) (valoare C(11)) + + lnAparitiiP = 1 + lnAparitiiM = 1 + + For i = 1 To Len(pcLista) + lcSemn = Substr(pcLista, i, 1) + If lcSemn = "+" Or lcSemn = "-" + If lcSemn = "+" + lnAparitiiP = lnAparitiiP + 1 + Endif + If lcSemn = "-" + lnAparitiiM = lnAparitiiM + 1 + Endif + lnNextSemnP = At("+", pcLista, lnAparitiiP) + lnNextSemnM = At("-", pcLista, lnAparitiiM) + + If lnNextSemnP < lnNextSemnM And lnNextSemnP > 0 + lnNextSemn = lnNextSemnP + Else + If lnNextSemnM > 0 + lnNextSemn = lnNextSemnM + Else + lnNextSemn = lnNextSemnP + Endif + Endif + * ?'lnNextSemn = '+ALLTRIM(STR(lnNextSemn)) + lnLen = lnNextSemn - i + If lnNextSemn = 0 And i < Len(pcLista) && ultimul cont + lcCont = Substr(pcLista, i) + Else + lcCont = Substr(pcLista, i, lnLen) + Endif + Select (lcLista) + Insert Into (lcLista) (valoare) Values (lcCont) + * ?lcCont + Endif + Endfor + + + Select (lcLista) + loft = Createobject("frm_test_List") + loft.Show(1) + +Endproc && test_List +*------------------------------------------------------------------------------------ +Procedure editare_set + Lparameters tnId_set, tnId_ModiPara, tnId_ind + + Private pnId_set, pnCount, pcNume_set + pnId_set = Iif(!Empty(m.tnId_set), m.tnId_set, 0) + pnCount = 0 && cati indicatori are setul + pcNume_set = '' + llNou = Empty(m.tnId_set) + + * Nume Set + If m.llNou + pcNume_set = "Set nou_" + Ttoc(Datetime()) + lcSql = [begin PACK_MG_EVOLUTIE.next_id_set(?@pnId_set); end;] + lnSucces = goExecutor.oExecute(lcSql) + + If lnSucces < 0 + AMESSAGEBOX(goExecutor.cEroare, 0 + 16, "Eroare") + Return + Endif + Else + lcSql = [begin PACK_MG_EVOLUTIE.GET_NUME_SET(?ALLTRIM(STR(pnId_set)),?@pcNume_set);end;] + lnSucces = goExecutor.oExecute(lcSql) + If lnSucces < 0 + AMESSAGEBOX(goExecutor.cEroare, 0 + 16, "Eroare") + Return + Endif + Endif + + * Copii indicatori din mg_indicatori in temporarul mg_tmp_indicatori + * La editare lucrez cu mg_tmp_indicatori ca sa pot salva/renunta + lcSql = [begin PACK_MG_EVOLUTIE.GET_SET(?pnId_set,?@pnCount); end;] + lnSucces = goExecutor.oExecute(lcSql) + + If lnSucces < 0 + AMESSAGEBOX(goExecutor.cEroare, 0 + 16, "Eroare") + Return + Endif + + * Selectez din mg_tmp_indicatori + Private poset, pcschema1, pcselect1 + Store '' To poset + pcschema1 = [''] + pcselect1 = ['select id_ind, id_set, rand, ord_rand, nume_ind, formula, ales, tip, comentariu from mg_tmp_indicatori where 1=2'] + pcorder1 = [ord_rand, rand] + pcfiltru1 = [sters=0 and id_set = ] + Alltrim(Str(pnId_set)) + llAfiseaza = .F. + tcAlias = 'm_indicatori' + gencursor('poSet', 'm_indicatori', pcselect1, pcfiltru1, pcschema1, pcorder1, llAfiseaza) + poset.ca_baza1.afisare() + + * Selectez din planul de conturi + Private poPlcont, pcschema1, pcselect1 + Store '' To poPlcont + pcschema1 = [''] + pcschema1 = [cont C(4), acont C(4), explicatie C(100), an N(4) ] + pcselect1 = ['select distinct cont, acont, explicatie, an FROM plcont where 1=2'] + pcorder1 = [cont, acont] + pcfiltru1 = [] + pcfiltru1 = [AN = ] + Alltrim(Str(GNAN)) + llAfiseaza = .F. + gencursor('poPlcont', 'crsPlcont', pcselect1, pcfiltru1, pcschema1, pcorder1, llAfiseaza) + poPlcont.ca_baza1.afisare() + + * cursor temporar pentru indicatorii de tip jurnal + * lcTabelRJ = gcTempPath + "tLista_rj.dbf" + Create Cursor tLista_rj (camp_numeT C(30), camp_nume C(30), formula C(200), traducere C(200)) + + * DO make_cFCentre IN oproceduri_manager.prg && apelata in princ.set_uzual_requery + Select m_indicatori + If !Empty(tnId_ind) + Locate For id_ind = tnId_ind + If !Found() + Go Top + Endif + Else + Go Top + Endif + + poms = Createobject("frm_set", pnId_set, pcNume_set, m.llNou, tnId_ModiPara) + poms.Show(1) + + Use In (Select('tLista_rj')) + Use In (Select('m_indicatori')) + + Release poset + +Endproc && editare_set +*------------------------------------------------------------------------------------ +Procedure desparte_formula_bal + Parameters tcFormula + + Local lcFormula + lcFormula = Alltrim(tcFormula) + + Store '' To pcPD1, pcPC1, pcPD, pcPC, pcRD, pcRC, pcTD, pcTC, pcSD, pcSC + Dimension laSir(100) + lnElem = lista2array(lcFormula, @laSir, ";") + For i = 1 To lnElem + lnPD1 = At("", laSir(i)) + lnPC1 = At("", laSir(i)) + lnPD = At("", laSir(i)) + lnPC = At("", laSir(i)) + lnRD = At("", laSir(i)) + lnRC = At("", laSir(i)) + lnTD = At("", laSir(i)) + lnTC = At("", laSir(i)) + lnSD = At("", laSir(i)) + lnSC = At("", laSir(i)) + Do Case + Case lnPD1 > 0 + pcPD1 = Substr(laSir(i), 6) + Case lnPC1 > 0 + pcPC1 = Substr(laSir(i), 6) && -C1511 + Case lnPD > 0 + pcPD = Substr(laSir(i), 5) + Case lnPC > 0 + pcPC = Substr(laSir(i), 5) + Case lnRD > 0 + pcRD = Substr(laSir(i), 5) + Case lnRC > 0 + pcRC = Substr(laSir(i), 5) + Case lnTD > 0 + pcTD = Substr(laSir(i), 5) + Case lnTC > 0 + pcTC = Substr(laSir(i), 5) + Case lnSD > 0 + pcSD = Substr(laSir(i), 5) + Case lnSC > 0 + pcSC = Substr(laSir(i), 5) + Endcase + Endfor + +Endproc && desparte_formula_bal +*------------------------------------------------------------------------------------ +Procedure completeaza_lista_bal + Parameters tcLista, tcTabel + + Local lcLista, lcTabel, lnAparitiiP, lnAparitiiM + lcLista = Alltrim(tcLista) + lcTabel = Alltrim(tcTabel) + Store 1 To lnAparitiiP, lnAparitiiM + + For i = 1 To Len(lcLista) + lcSemn = Substr(lcLista, i, 1) + If lcSemn = "+" Or lcSemn = "-" + If lcSemn = "+" + lnAparitiiP = lnAparitiiP + 1 + Endif + If lcSemn = "-" + lnAparitiiM = lnAparitiiM + 1 + Endif + lnNextSemnP = At("+", lcLista, lnAparitiiP) + lnNextSemnM = At("-", lcLista, lnAparitiiM) + + If lnNextSemnP < lnNextSemnM And lnNextSemnP > 0 + lnNextSemn = lnNextSemnP + Else + If lnNextSemnM > 0 + lnNextSemn = lnNextSemnM + Else + lnNextSemn = lnNextSemnP + Endif + Endif + lnLen = lnNextSemn - i + If lnNextSemn = 0 And i < Len(lcLista) && ultimul cont + lcCont = Substr(lcLista, i) + Else + lcCont = Substr(lcLista, i, lnLen) + Endif + Select (lcTabel) + Insert Into (lcTabel) (valoare) Values (lcCont) + Endif + Endfor + + Select (lcTabel) + Insert Into (lcTabel) (valoare) Values ("") + +Endproc && completeaza_lista_bal +*------------------------------------------------------------------------------------ +*------------------------------------------------------------------------------------ +Procedure completeaza_lista_randuri + Parameters tcLista, tcTabel + + Local lcLista, lcTabel + lcLista = Alltrim(tcLista) + lcTabel = Alltrim(tcTabel) + + Do While Len(lcLista) > 0 && +[R01]+[R02] + lnRand = At("[R", lcLista) && 2 + If lnRand > 0 + + For i = 1 To lnRand - 2 + lcVal = Substr(lcLista, i, 1) + Select (lcTabel) + Insert Into (lcTabel) (valoare) Values (lcVal) + Endfor + + lnPI = At("]", lcLista) && paranteza inchisa = "]" + lcVal = Substr(lcLista, lnRand - 1, lnPI - (lnRand - 2)) && rand + Select (lcTabel) + Insert Into (lcTabel) (valoare) Values (lcVal) + lcLista = Substr(lcLista, lnPI + 1) + Else + For i = 1 To Len(lcLista) + lcVal = Substr(lcLista, i, 1) + Insert Into (lcTabel) (valoare) Values (lcVal) + Endfor + lcLista = "" + Endif + + Enddo + + Select (lcTabel) + Insert Into (lcTabel) (valoare) Values ("") + +Endproc && completeaza_lista_randuri +*------------------------------------------------------------------------------------ +Procedure desparte_formula_rj + Parameters tcFormula, tcTabel + + Local lcFormula, lcTabel + lcFormula = Alltrim(tcFormula) + lcTabel = Alltrim(tcTabel) + + Select (lcTabel) + Delete All + + If !Empty(lcFormula) + Dimension laSir(100), laSirCamp(100) + lnElem = lista2array(lcFormula, @laSir, ";") && pe cate campuri am definit formula + For i = 1 To lnElem && + lnCampuri = lista2array(laSir[i], @laSirCamp, "|") && intotdeauna am 4 chestii: + * + Select (lcTabel) + Append Blank + Replace camp_numeT With Substr(laSirCamp[1], 2, Len(laSirCamp[1]) - 2), ; + camp_nume With Substr(laSirCamp[2], 2, Len(laSirCamp[2]) - 2), ; + traducere With Substr(laSirCamp[3], 2, Len(laSirCamp[3]) - 2), ; + formula With Substr(laSirCamp[4], 2, Len(laSirCamp[4]) - 2) + Endfor + + Select (lcTabel) + Go Top + Endif + +Endproc && desparte_formula_rj +*------------------------------------------------------------------------------------ +***------------------------------------------------------------------------------------ +Procedure sterge_set_uzual + Parameters tnId_set + + Private pnId_set + + If !Empty(tnId_set) + pnId_set = tnId_set + Else + Return + Endif + + ** + lcSql = [begin pack_mg_evolutie.sterge_set_uzual(?pnId_set,?gnIdUtil); end;] + lnSucces = goExecutor.oExecute(lcSql) + + If lnSucces < 0 + AMESSAGEBOX(goExecutor.cEroare, 0 + 16, "Eroare") + Return + Endif + +Endproc && sterge_set_uzual +***------------------------------------------------------------------------------------ +Procedure calculeaza_set + Parameters tcFile, tcNumeSet + + Local lcNumeSet, lcFisExport + + + lcalias = Juststem(tcFile) + + Select Distinct id_set, ; + gnLuna As lunaI, GNAN As anulI, ; + gnLuna As lunaF, GNAN As anulF, ; + 00 As cumul, 0 As faraGrafic ; + From (lcalias) ; + Into Cursor cParametri + + Select cParametri + Scatter Name poset + + poset.cumul = 1 && luni + + loexport = Createobject("frm_parametri_calcul") + loexport.Show(1) + + If buton = 2 + Return + Endif + +Endproc && calculeaza_set +***------------------------------------------------------------------------------------ +***--------------------------------------------------------------------------------------------- +Procedure listare_set + Parameters tnId_set + + Private pcTitlu, pnId_set, pcNume_set && ,pcDataOra + Store '' To pcTitlu, pcNume_set + pnId_set = tnId_set + && pcDataOra = Get_Ora(2) + + Local aFormula, aImpart, lcSql, lnSucces, lcFormula + Declare aFormula[1], aImpart[1] + + lcSql = [begin PACK_MG_EVOLUTIE.GET_NUME_SET(?ALLTRIM(STR(pnId_set)),?@pcNume_set);end;] + lnSucces = goExecutor.oExecute(lcSql) + If lnSucces < 0 + AMESSAGEBOX(goExecutor.cEroare, 0 + 16, "Eroare") + Return + Endif + + pcTitlu = Alltrim(pcNume_set) + + Private poset + Store '' To poset + lcSchema1 = [rand C(4), nume_ind C(200), tip N(1), formula M(4), comentariu M(4)] + lcSelect1 = ['select rand, nume_ind, tip, formula, comentariu from mg_indicatori where 1=2'] + lcOrder1 = [ord_rand, rand] + lcFiltru1 = [id_set=] + Alltrim(Str(pnId_set)) + llAfiseaza = .F. + gencursor('poSet', 'cSet', lcSelect1, lcFiltru1, lcSchema1, lcOrder1, llAfiseaza) + poset.ca_baza1.afisare() + + + Select * From cSet Into Cursor cListSet Readwrite + + Select cListSet + If _Tally = 0 + AMESSAGEBOX("Setul nu contine indicatori", 0 + 48, "Atentie") + Return + Endif + + Select cListSet + Replace All formula With Strtran(formula, ";<", ";" + Chr(13) + "<") For tip = 1 + Replace All formula With Strtran(formula, "PD", "Precedent Debit") For tip = 1 + Replace All formula With Strtran(formula, "PC", "Precedent Credit") For tip = 1 + Replace All formula With Strtran(formula, "RD", "Rulaj Debit") For tip = 1 + Replace All formula With Strtran(formula, "RC", "Rulaj Credit") For tip = 1 + Replace All formula With Strtran(formula, "TD", "Total Debit") For tip = 1 + Replace All formula With Strtran(formula, "TC", "Total Credit") For tip = 1 + Replace All formula With Strtran(formula, "SD", "Sold Debit") For tip = 1 + Replace All formula With Strtran(formula, "SC", "Sold Credit") For tip = 1 + Replace All formula With Strtran(formula, ">", "> ") For tip = 1 + + Select cListSet + Scan For tip = 2 && registru jurnal + lcFormula = '' + lnCampuri = lista2array(formula, @aFormula, ";") + For i = 1 To lnCampuri + ln = lista2array(aFormula[i], @aImpart, "|") + lcFormula = lcFormula + aImpart[1] + ": " + Substr(aImpart[3], 2, Len(aImpart[3]) - 2) + Chr(13) + Replace formula With lcFormula + Endfor + Endscan + + + *!* Select cListSet + *!* Report Form rList_set To Printer Prompt Preview + goExport.export2frx([cListSet], [rList_set]) + If Used("cListSet") + Use In cListSet + Endif + + Release poset +Endproc && listare_set +***--------------------------------------------------------------------------------------------- +Procedure pre_listare_formule_set + Parameters tnId_set + + Local aFormula, aImpart, lcSql, lnSucces, lcFormula + Declare aFormula[1], aImpart[1] + + Private poset + Store '' To poset + + Local lcSchema1, lcSelect1, lcOrder1, lcFiltru1, llAfiseaza + lcSchema1 = [rand C(4), nume_ind C(200), tip N(1), formula M(4), comentariu M(4), ales N(1)] + lcSelect1 = [select rand, nume_ind, tip, formula, comentariu, ales from mg_indicatori] + lcOrder1 = [] + lcgroup = [] + lcFiltru1 = [] + lcFiltruOriginal = [id_set=] + Alltrim(Str(tnId_set)) + llModParam = .T. + llAfiseaza = .F. + + gencursor('poset', 'cSet', lcSelect1, lcFiltru1, lcSchema1, lcOrder1, llAfiseaza, lcgroup, llModParam, lcFiltruOriginal) + poset.ca_baza1.afisare() + + Release poset + + Select * From cSet Into Cursor cListSet Readwrite + If Used("cSet") + Use In cSet + Endif + + Select cListSet + If _Tally = 0 + AMESSAGEBOX("Setul nu contine indicatori", 0 + 48, "Atentie") + Return + Endif + + Select cListSet + Replace All formula With Strtran(formula, ";<", ";" + Chr(13) + "<") For tip = 1 + Replace All formula With Strtran(formula, "PD", "Precedent Debit") For tip = 1 + Replace All formula With Strtran(formula, "PC", "Precedent Credit") For tip = 1 + Replace All formula With Strtran(formula, "RD", "Rulaj Debit") For tip = 1 + Replace All formula With Strtran(formula, "RC", "Rulaj Credit") For tip = 1 + Replace All formula With Strtran(formula, "TD", "Total Debit") For tip = 1 + Replace All formula With Strtran(formula, "TC", "Total Credit") For tip = 1 + Replace All formula With Strtran(formula, "SD", "Sold Debit") For tip = 1 + Replace All formula With Strtran(formula, "SC", "Sold Credit") For tip = 1 + Replace All formula With Strtran(formula, ">", "> ") For tip = 1 + + Select cListSet + Scan For tip = 2 && registru jurnal + lcFormula = '' + lnCampuri = lista2array(formula, @aFormula, ";") + For i = 1 To lnCampuri + ln = lista2array(aFormula[i], @aImpart, "|") + lcFormula = lcFormula + aImpart[1] + ": " + Substr(aImpart[3], 2, Len(aImpart[3]) - 2) + Chr(13) + Replace formula With lcFormula + Endfor + Endscan + + Release poset + + Return "cListSet" + +Endproc && pre_listare_formule_set +***--------------------------------------------------------------------------------------------- + + + + + + + + + + + + + + + diff --git a/programe/oproceduri_stocuri.prg b/programe/oproceduri_stocuri.prg new file mode 100644 index 0000000..ac2ca10 --- /dev/null +++ b/programe/oproceduri_stocuri.prg @@ -0,0 +1,288 @@ +*!* 07.05.2010 +*!* marius.mutu +*!* viz_stocuri - + codbare + +PROCEDURE viz_stocuri +PARAMETERS tnTipGest,tcTipGest + +LOCAL lnTipGest, lcFiltruInitial,lcTipGest, lcFiltruPermis +lcFiltruTipGest = "" +lcFiltruPermis = "" +lnTipGest = tnTipGest +lcTipGest = "" +IF EMPTY(tcTipGest) + lcTipGest = [] +ELSE + lcTipGest = tcTipGest +ENDIF + +lcFiltruInitial = [a.an=]+ Alltrim(Str(gnAn))+[ and a.luna=]+ Alltrim(Str(gnLuna))+; + STRTRAN(gcCondSucursala,[id_sucursala],[a.id_sucursala]) +IF !EMPTY(lnTipGest) + lcFiltruTipGest = [ and a.nr_pag = ] + ALLTRIM(STR(lnTipGest)) +ENDIF + +IF EMPTY(gcGestPermis) + lcFiltruPermis = [ and 1=2] +else + lcFiltruPermis = [ and a.id_gestiune in (] + gcGestPermis + [)] +EndIf + +lcFiltruInitial = lcFiltruInitial + lcFiltruTipGest + lcFiltruPermis + +LOCAL lnStocObinv +lnStocObinv = 0 +DO INAINTE_DE_STOC WITH gnAn, gnLuna, tnTipGest, lnStocObinv in oinainte_de.prg + +PRIVATE postocuri,pcschema,pcselect,pcfiltru,pcorder +STORE '' TO postocuri + +*!* 07.05.2010 +pcschema=['nr_crt n(6),id_stoc n(20),an n(4),luna n(2),id_articol n(10),serie c(100),pret n(16,4),pretv n(16,4),'+]+; + ['tva n(16,4),tvav n(16,4),cants n(14,3),cant n(14,3),cante n(14,3),cont c(4),'+]+; + ['acont c(4),pretd n(16,4),dataora d,datain d,dataout d,proc_tvav n(5,2),'+]+; + ['id_gestiune n(5),codmat c(50),denumire c(100),um c(6),nr_pag n(2),nume_gestiune c(50),'+]+; + ['cgest c(20),um2 c(10),cant_bax n(9,4),grupa c(100),subgrupa c(100),id_valuta n(10), nume_val c(4),'+]+; + ['codmatf c(50), lot c(50), adata_expirare T,id_sucursala N(5),sucursala C(100),'+]+; + ['id_lucrare_rez N(10),nrord_rez C(50),id_part_rez N(10),part_rez C(100), codbare c(100),id_part N(10),furn_princ c(100), id_furnizor N(10), furnizor c(100), codnc8 C(20), greutate N(12,4), tara_origine C(100)'] + +pcselect=['select row_number() over (order by a.denumire) as nr_crt,a.id_stoc,a.an,a.luna,a.id_articol,a.serie,'+]+; + ['a.pret,a.pretv,a.tva,a.tvav,a.cants,a.cant,a.cante,a.cont,a.acont,a.pretd,a.dataora,'+]+; + ['a.datain,a.dataout,a.proc_tvav,'+]+; + ['a.id_gestiune,a.codmat,a.denumire,a.um,a.nr_pag,a.nume_gestiune,a.cgest,a.um2,a.cant_bax,a.grupa,a.subgrupa, a.id_valuta, a.nume_val, a.codmatf, a.lot, a.adata_expirare,'+]+; + ['a.id_sucursala,a.sucursala,'+]+; + ['a.id_lucrare_rez,a.nrord_rez,a.id_part_rez,a.part_rez, a.codbare,id_part,furn_princ, id_furnizor, furnizor, a.codnc8, a.greutate, a.tara_origine '+]+; + ['from vstoc a where 1=2'] +*!* 07.05.2010 ^ +pcfiltru = [1=2] +pcorder=[1] +llAfiseaza=.F. +_SCREEN.MOUSEPOINTER= 11 +gencursor('postocuri','crsStocuri',pcselect,pcfiltru,pcschema,pcorder,llAfiseaza) +postocuri.ca_baza1.afisare() + +LOCAL loStocuri +loStocuri=CREATEOBJECT('frm_stocuri') +_SCREEN.MOUSEPOINTER= 0 +loStocuri.ntipgest = lnTipGest +PRIVATE pcListTipGest +pcListTipGest = [] +lnOptgrValue = IIF(loStocuri.ntipgest<>0,IIF(loStocuri.ntipgest=6,2,IIF(loStocuri.ntipgest=7,4,1)),3) +WITH loStocuri + .Lb_titlu_alb_b121.CAPTION = [STOCURI] + IIF(!EMPTY(lcTipGest),[ / ] + lcTipGest,[]) + .cFiltruInitial = lcFiltruInitial + .optgrup.VALUE = lnOptgrValue + IF lnOptgrValue = 1 + .optgrup.option2.VISIBLE = .F. + .optgrup.option3.VISIBLE = .F. + .optgrup.option4.VISIBLE = .F. + ENDIF + IF lnOptgrValue = 2 + .optgrup.option1.VISIBLE = .F. + .optgrup.option3.VISIBLE = .F. + .optgrup.option4.VISIBLE = .F. + ENDIF + IF lnOptgrValue = 4 + .optgrup.option1.VISIBLE = .F. + .optgrup.option2.VISIBLE = .F. + .optgrup.option3.VISIBLE = .F. + ENDIF + .optgrup.ENABLED = IIF(.ntipgest<>0,.F.,.T.) + IF .But_modifica1.VISIBLE + .But_modifica1.VISIBLE = IIF(.ntipgest<>0,.T.,.F.) + ENDIF +ENDWITH +loStocuri.SHOW(1) +RELEASE postocuri + +ENDPROC && viz_stocuri +************************************************************************************************ +PROCEDURE viz_stocuri_pretv +PARAMETERS tnTipGest,tcTipGest + +LOCAL lnTipGest, lcFiltruInitial,lcTipGest, lcFiltruPermis +lcFiltruTipGest = "" +lcFiltruPermis = "" +lnTipGest = tnTipGest +lcTipGest = "" +IF EMPTY(tcTipGest) + lcTipGest = [] +ELSE + lcTipGest = tcTipGest +ENDIF + +lcFiltruInitial = [a.an=]+ Alltrim(Str(gnAn))+[ and a.luna=]+ Alltrim(Str(gnLuna))+; + STRTRAN(gcCondSucursala,[id_sucursala],[a.id_sucursala]) +IF !EMPTY(lnTipGest) + lcFiltruTipGest = [ and a.nr_pag = ] + ALLTRIM(STR(lnTipGest)) +ENDIF + +IF EMPTY(gcGestPermis) + lcFiltruPermis = [ and 1=2] +else + lcFiltruPermis = [ and a.id_gestiune in (] + gcGestPermis + [)] +EndIf + +lcFiltruInitial = lcFiltruInitial + lcFiltruTipGest + lcFiltruPermis + +LOCAL lnStocObinv +lnStocObinv = 0 +DO INAINTE_DE_STOC WITH gnAn, gnLuna, tnTipGest, lnStocObinv in oinainte_de.prg + +PRIVATE postocuri,pcschema,pcselect,pcfiltru,pcorder +STORE '' TO postocuri + +pcschema=['nr_crt n(6),an n(4),luna n(2),id_articol n(10),serie c(100),pretv n(16,4),'+]+; + ['tvav n(16,4),cants n(14,3),cant n(14,3),cante n(14,3),cont c(4),'+]+; + ['acont c(4),dataora d,datain d,dataout d,proc_tvav n(5,2),'+]+; + ['id_gestiune n(5),codmat c(50),denumire c(100),'+]+; + ['um c(6),nr_pag n(2),nume_gestiune c(50),cgest c(20),um2 c(10),cant_bax n(9,4),grupa c(100),'+]+; + ['subgrupa c(100), codmatf c(50), lot c(50), adata_expirare T,id_sucursala n(5),sucursala c(100),'+]+; + ['id_lucrare_rez N(10),nrord_rez C(50),id_part_rez N(10),part_rez C(100),id_part n(10),furn_princ c(100), id_furnizor N(10), furnizor c(100), codnc8 C(20), greutate N(12,4), tara_origine C(100)'] +pcselect=['select row_number() over (order by a.denumire) as nr_crt,a.an,a.luna,a.id_articol,a.serie,'+]+; + ['a.pretv,a.tvav,a.cants,'+]+; + ['a.cant,a.cante,a.cont,a.acont,a.dataora,'+]+; + ['a.datain,a.dataout,a.proc_tvav,'+]+; + ['a.id_gestiune,a.codmat,a.denumire,a.um,a.nr_pag,a.nume_gestiune,a.cgest,a.um2,a.cant_bax,a.grupa,'+]+; + ['a.subgrupa, a.codmatf, a.lot, a.adata_expirare,a.id_sucursala,a.sucursala,'+]+; + ['a.id_lucrare_rez,a.nrord_rez,a.id_part_rez,a.part_rez,a.id_part,a.furn_princ, a.id_furnizor, a.furnizor, a.codnc8, a.greutate, a.tara_origine '+]+; + [' from ]+ gcS+[.vstoc_pretv a where 1=2'] + +pcfiltru = [1=2] +pcorder=[1] +llAfiseaza=.F. +_SCREEN.MOUSEPOINTER= 11 +gencursor('postocuri','crsStocuri',pcselect,pcfiltru,pcschema,pcorder,llAfiseaza) +postocuri.ca_baza1.afisare() + +LOCAL loStocuri +loStocuri=CREATEOBJECT('frm_stocuri_pretv') +_SCREEN.MOUSEPOINTER= 0 +loStocuri.ntipgest = lnTipGest +PRIVATE pcListTipGest +pcListTipGest = [] +WITH loStocuri + .Lb_titlu_alb_b121.CAPTION = [STOCURI] + IIF(!EMPTY(lcTipGest),[ / ] + lcTipGest,[]) + .cFiltruInitial = lcFiltruInitial +ENDWITH +loStocuri.SHOW(1) +RELEASE postocuri + +ENDPROC && viz_stocuri_pretv +************************************************************************************************ +PROCEDURE viz_stocuri_obinv +PARAMETERS tnTipGest,tcTipGest, tlInFolosinta + +LOCAL lnTipGest, lcFiltruInitial,lcTipGest, lcFiltruPermis +lcFiltruTipGest = "" +lcFiltruPermis = "" +lnTipGest = tnTipGest +lcTipGest = "" + +IF EMPTY(tcTipGest) + lcTipGest = [] +ELSE + lcTipGest = tcTipGest +ENDIF + +lcFiltruInitial = [a.an=]+ Alltrim(Str(gnAn))+[ and a.luna=]+ Alltrim(Str(gnLuna))+; + STRTRAN(gcCondSucursala,[id_sucursala],[a.id_sucursala]) +*!* 05.06.2008 +*!* nu este nevoie de nr_pag in vstoc_obinv +*!* IF !EMPTY(lnTipGest) +*!* lcFiltruTipGest = [ and a.nr_pag = ] + ALLTRIM(STR(lnTipGest)) +*!* ENDIF +*!* 05.06.2008 ^ + +IF EMPTY(gcGestPermis) + lcFiltruPermis = [ and 1=2] +else + lcFiltruPermis = [ and a.id_gestiune in (] + gcGestPermis + [)] +EndIf + +lcFiltruInitial = lcFiltruInitial + lcFiltruTipGest + lcFiltruPermis + +LOCAL lnStocObinv +lnStocObinv = 1 +DO INAINTE_DE_STOC WITH gnAn, gnLuna, tnTipGest, lnStocObinv in oinainte_de.prg + + +PRIVATE postocuri +Local lcSelect, lcFiltru, lcSchema, lcOrder, llAfiseaza, lcGroup, llModParam, lcFiltruOriginal +STORE '' TO postocuri + +IF tlInFolosinta + lcSchema = [nr_crt n(6),id_stoc n(20),an n(4),luna n(2),id_articol n(10),serie c(100), lot c(20), pret n(16,4),cants n(14,3),cant n(14,3),cante n(14,3),cont c(4), ]+; + [acont c(4),pretd n(16,4),dataora d,datain d,dataout d, ]+; + [id_gestiune n(5),codmat c(50),denumire c(100),id_responsabil n(10),nresp c(30), ]+; + [um c(6),cgest c(20),datapif d,dnf N(5),dns_luni n(10),nume_gestiune c(50), ]+; + [marca N(10), id_meseria N(5), meserie C(64), id_formatia N(5), formatia C(64), dataang D, datalic D, ]+; + [id_grupa N(5), grupa C(100), id_subgrupa N(5), subgrupa C(100), ]+; + [um2 c(10),cant_bax n(9,4),id_sucursala N(5),sucursala C(100), furn_princ C(100), codnc8 C(20), greutate N(12,4), tara_origine C(100)] +ELSE + lcschema = [nr_crt n(6),id_stoc n(20),an n(4),luna n(2),id_articol n(10),serie c(100),lot c(20),pret n(16,4),cants n(14,3),cant n(14,3),cante n(14,3),cont c(4), ]+; + [acont c(4),pretd n(16,4),dataora d,datain d,dataout d, ]+; + [id_gestiune n(5),codmat c(50),denumire c(100),id_responsabil n(10),nresp c(30), ]+; + [um c(6),cgest c(20),datapif d,dns_luni n(10),nume_gestiune c(50), ]+; + [um2 c(10),cant_bax n(9,4),grupa c(100),subgrupa c(100),id_sucursala N(5),sucursala C(100), furn_princ C(100), codnc8 C(20), greutate N(12,4), tara_origine C(100)] +ENDIF + +IF tlInFolosinta + lcselect = [select row_number() over (order by denumire) as nr_crt, ]+; + [id_stoc, an, luna, id_articol, serie, lot,pret, cants, ]+; + [cant, cante, cont, acont, pretd, dataora, datain, dataout, id_gestiune, ]+; + [codmat, denumire, id_responsabil, nresp, ]+; + [um, cgest, datapif, dnf, dns_luni, nume_gestiune, ]+; + [marca, id_meseria, meseria, id_formatia, formatia, dataang, datalic, ]+; + [id_grupa, grupa, id_subgrupa, subgrupa, um2, cant_bax,id_sucursala,sucursala,furn_princ, codnc8, greutate, tara_origine ]+; + [ from vstoc_obinv_sal a] + +ELSE + lcselect = [select row_number() over (order by denumire) as nr_crt,id_stoc,an,luna,id_articol,serie,lot,pret,cants, ]+; + [cant,cante,cont,acont,pretd,dataora,datain,dataout,id_gestiune,codmat,denumire,id_responsabil,nresp, ]+; + [um,cgest,datapif,dns_luni,nume_gestiune,um2,cant_bax,grupa,subgrupa,id_sucursala,sucursala,furn_princ, codnc8, greutate, tara_origine ]+; + [ from vstoc_obinv a] +ENDIF + +lcFiltru = [1=2] +lcOrder = [1] +lcgroup = [] +llAfiseaza=.F. +lcFiltruOriginal = [] +llModParam = .T. +_SCREEN.MOUSEPOINTER= 11 + +gencursor('postocuri','crsStocuri', lcSelect, lcFiltru, lcSchema, lcOrder, llAfiseaza, lcGroup, llModParam, lcFiltruOriginal) +postocuri.ca_baza1.afisare() +_SCREEN.MOUSEPOINTER= 0 + +PRIVATE pcListTipGest +LOCAL loStocuri +pcListTipGest = [] +loStocuri=CREATEOBJECT('frm_stocuri_obinv',tlInFolosinta) +loStocuri.ntipgest = lnTipGest +lnOptgrValue = IIF(lnTipGest<>0,IIF(lnTipGest=6,2,1),3) +WITH loStocuri + .Lb_titlu_alb_b121.CAPTION = [STOCURI / OBIECTE DE INVENTAR AFLATE IN FOLOSINTA] + .cFiltruInitial = lcFiltruInitial + .optgrup.VALUE = lnOptgrValue + IF lnOptgrValue = 1 + .optgrup.option2.VISIBLE = .F. + .optgrup.option3.VISIBLE = .F. + ENDIF + IF lnOptgrValue = 2 + .optgrup.option1.VISIBLE = .F. + .optgrup.option3.VISIBLE = .F. + ENDIF + .optgrup.ENABLED = IIF(.ntipgest<>0,.F.,.T.) + IF .But_modifica1.VISIBLE + .But_modifica1.VISIBLE = IIF(.ntipgest<>0,.T.,.F.) + ENDIF +ENDWITH +loStocuri.SHOW(1) +RELEASE postocuri + +ENDPROC && viz_stocuri_obinv + + + diff --git a/programe/oproceduri_util.prg b/programe/oproceduri_util.prg new file mode 100644 index 0000000..c731b5b --- /dev/null +++ b/programe/oproceduri_util.prg @@ -0,0 +1,67 @@ +*!* 03.01.2017 +*!* GetProcTvaStandard TVA 19% + +*** proceduri utilitare + +*!* get_oluna() intoarce un obiect cu luna, anul de inceput, luna, anul de sfarsit din calendar +*!* tnAn, tnLuna - daca procedura da eroare se anul, luna inceput/sfarsit se intializeaza cu aceste valori +Function get_oluna + Lparameters tnAn, tnLuna + + Local loReturn + loReturn = Createobject("EMPTY") + Local lcSelect, lcCursor, lnSucces, lnMaxLuna, lnMinLuna, lnLunaMax, lnAnMax, lnLunaMin, lnAnMin + + lnLunaMin = tnAn + lnAnMin = tnLuna + lnLunaMax = tnAn + lnAnMax = tnLuna + + AddProperty(loReturn, 'lunamin',0) + AddProperty(loReturn, 'anmin',0) + AddProperty(loReturn, 'lunamax',0) + AddProperty(loReturn, 'anmax',0) + + + lcSelect = [select max(anul*12+luna) as maxluna, min(anul*12+luna) as minluna from calendar] + lcCursor = [crsCalendarTemp] + + lnSucces = goExecutor.oExecute(lcSelect,lcCursor) + If lnSucces > 0 + + Select crsCalendarTemp + lnMaxLuna = maxluna + lnMinLuna = minluna + + lnLunaMax = Round(Mod(lnMaxLuna,12),0) + lnAnMax = Int(lnMaxLuna/12) + If lnLunaMax = 0 And lnAnMax <> 0 + lnLunaMax = 12 + lnAnMax = lnAnMax - 1 + Endif + + lnLunaMin = Round(Mod(lnMinLuna,12),0) + lnAnMin = Int(lnMinLuna/12) + If lnLunaMin = 0 And lnAnMin <> 0 + lnLunaMin = 12 + lnAnMin = lnAnMin - 1 + Endif + + + + If Used(lcCursor) + Use In (lcCursor) + Endif + Else + aMESSAGEBOX(goExecutor.cEroare,0+16,'Eroare') + Endif + + loReturn.lunamin = lnLunaMin + loReturn.anmin = lnAnMin + loReturn.lunamax = lnLunaMax + loReturn.anmax = lnAnMax + + Return loReturn + +Endfunc && get_oluna + diff --git a/programe/orap_comenzi.prg b/programe/orap_comenzi.prg new file mode 100644 index 0000000..1f2db87 --- /dev/null +++ b/programe/orap_comenzi.prg @@ -0,0 +1,323 @@ +*************************************************************************************************************** +Procedure rap_marfa_comenzi_facturate_partial + Private pcDataOra + lcSql = [select * from ] + gcS + [.com_vrap_marfa_nelivrata] + lcCursor = [crsraport] + lnSucces = goExecutor.oExecute(lcSql, lcCursor) + If lnSucces < 0 + amessagebox(goExecutor.cEroare, 0 + 48, "Eroare") + Return + Endif + + *!* modificare v 2.0.11 + *!* If Reccount('crsraport')>0 + *!* pcDataOra=get_ora(2) + *!* Keyboard "{ctrl+f10}" + *!* Select crsraport + *!* Report Form rap_marfa_nelivrata To Printer Prompt Preview + *!* Else + *!* amessagebox("Nu exista date pentru listare!",0+64,"Listare") + *!* Endif + goExport.export2frx(lcCursor, [rap_marfa_nelivrata]) + *!* modificare v 2.0.11 ^ + If Used(lcCursor) + Use In (lcCursor) + Endif +Endproc && rap_marfa_comenzi_facturate_partial +*************************************************************************************************************** +Procedure rap_vanzari_perioada + Local lnOptiune + lnOptiune = xmenu("\ 0 + loFrm = Createobject("frm_rap_vanz_centr") + loFrm.Show(1) + If gnButon = 1 + lnIdComRapVanz = crsrapoarte.id_comrapvanz + Endif + Else + amessagebox("Nu exista rapoarte in luna curenta!", 48, "Atentie") + Endif + Endif + Use In (Select(lcCursor)) + Return m.lnIdComRapVanz +Endfunc && viz_rap_vanz_per + +*************************************************************************************************************** +Procedure genereaza_rap_vanz_per + Lparameters tnIdComRapVanz, ttDataI, ttDataS + * tnIdComRapVanz: optional = daca este completat se modifica raportul deja generat, altfel se genereaza un raport nou + + Private ptDataI, ptDataS, pnIdGrupaGest, pcGrupaGest, pnProcent, pnIdComRapVanz, llSucces + Local loFrm, lcSql, lcCursor, lnSucces, lcCursor2, llGenereaza + lcCursor = [crsraport] + lcCursor2 = [crscantitati] + ptDataS = IIF(!EMPTY(m.ttDataI), m.ttDataI, get_Ora()) + ptDataI = IIF(!EMPTY(m.ttDataS), m.ttDataS, m.ptDataS - 60 * 60 * 24) + pnIdGrupaGest = Null + pcGrupaGest = [] + + pnIdComRapVanz = tnIdComRapVanz + llGenereaza = !EMPTY(m.pnIdComRapVanz) + + If Empty(m.tnIdComRapVanz) + pnProcent = citeste_optiune_firma('PROCVANZPER') + loFrm = Createobject("frm_rap_vanz") + loFrm.Show(1) + If gnButon <> 1 + Return + Endif + + lcSql = [{call pack_comenzi.raport_proc_vanzari(?ptDataI,?ptDataS,?pnIdGrupaGest,?pnProcent,?gnId_sectie,?gnIdUtil,?gnIdSucursala)}] + Else + lcSql = [{call pack_comenzi.raport_proc_vanzari_viz(?pnIdComRapVanz)}] + Endif + + llSucces = goExecutor.oExecuta(lcSql, lcCursor) + + If m.llSucces + If Reccount(lcCursor) > 0 +* Select *, IIF(cantitate <> 0, 1, 0) as validat From (lcCursor) Into CURSOR (lcCursor2) Order By nume_gestiune, subgrupa, denumire READWRITE +*!* IF TYPE(lcCursor + '.validat') = 'U' +*!* Select *, IIF(cantitate <> 0, 1, 0) as validat From (lcCursor) Into CURSOR (lcCursor2) Order By nume_gestiune, subgrupa, denumire READWRITE +*!* ELSE + Select * From (lcCursor) Into CURSOR (lcCursor2) Order By nume_gestiune, subgrupa, denumire READWRITE + SELECT (lcCursor2) + INDEX on id_comrapvanzelem TAG id + SET ORDER TO + + Use In (Select(lcCursor)) +*!* ENDIF +*!* copiaza_structura_cursor(lcCursor, lcCursor2) +*!* lnSucces = -1 +*!* Insert Into (lcCursor2) Select * From (lcCursor) Order By nume_gestiune, subgrupa, denumire + Endif + Endif + + If Used(m.lcCursor2) + Select (m.lcCursor2) + Go Top + pnIdComRapVanz = id_comrapvanz +*!* Do While !llSucces + loFrm = Createobject("frm_rap_vanz_cant", ptDataI, ptDataS, pnIdComRapVanz) + loFrm.Show(1) + If gnButon = 1 + llSucces = .T. + IF m.llGenereaza + listeaza_rap_vanz_per(m.pnIdComRapVanz) + ENDIF +*!* Else +*!* llSucces = .F. +*!* Endif + ENDIF +*!* Enddo + Release pnIdComRapVanz + Else + amessagebox("Nu exista articole in perioada care sa aiba procentul de vanzari specificat!", 48, "Atentie") + Endif + + + + Use In (Select(lcCursor2)) + + Release loFrm, lcSql, lcCursor, lnSucces, ptDataI, ptDataS, pnIdGrupaGest, pcGrupaGest +Endproc +*************************************************************************************************************** +Function completeaza_rap_vanz_per + Lparameters tnIdComRapVanz, tcCursorArt, tcCursorGest, tcCursor + Local lcCursorTemp, lcCursorTemp2, lcIdArticole, lcIdGestiuni, llReturn, lnId, lcFiltru + llReturn = .F. + lcCursorTemp = Sys(2015) + lcCursorTemp2 = Sys(2015) + lcIdArticole = cursor2lista(tcCursorArt, "id_articol", ",") + lcIdGestiuni = cursor2lista(tcCursorGest, "id_gestiune", ",") + lcSql = [{call pack_comenzi.completeaza_raport(] + Alltrim(Str(tnIdComRapVanz)) + [,] + ; + ['] + Alltrim(lcIdArticole) + [','] + Alltrim(lcIdGestiuni) + [')}] + lnSucces = goExecutor.oExecute(lcSql, lcCursorTemp) + If lnSucces < 0 + amessagebox(goExecutor.cEroare, 0 + 48, "Eroare") + Else + Select (tcCursor) + lcFiltru = Set('Filter') + lnId = id_comrapvanzelem + copiaza_structura_cursor(tcCursor, lcCursorTemp2) + Insert Into (lcCursorTemp2) ; + Select * From (lcCursorTemp) ; + Union All ; + Select * From (tcCursor) + Use In (Select(tcCursor)) + copiaza_structura_cursor(lcCursorTemp2, tcCursor) + Insert Into (tcCursor) Select * From (lcCursorTemp2) Order By nume_gestiune, subgrupa, denumire + Use In (Select(lcCursorTemp)) + Use In (Select(lcCursorTemp2)) + Select (tcCursor) + Set Filter To &lcFiltru + Locate For id_comrapvanzelem = lnId + llReturn = .T. + Endif + Release lcCursorTemp, lcCursorTemp2, lcIdArticole, lcIdGestiuni, lnId, lcFiltru + Return llReturn +Endfunc +*************************************************************************************************************** + + + +*************************************************************************************************************** +* raport comenzi pe gestiuni bazat pe vanzarile dintr-o perioda +*************************************************************************************************************** +Procedure listeaza_rap_vanz_per + Lparameters tnIdComRapVanz, tnExportExcel + Private ptDataRaport, pnIdComRapVanz + Local lcSql, lcCursor, lnSucces, lnExportExcel + If Type('tnExportExcel') = 'L' + lnExportExcel = tnExportExcel + Else + lnExportExcel = .F. + Endif + ptDataRaport = Datetime() + pnIdComRapVanz = tnIdComRapVanz + lcSql = [{call pack_comenzi.listeaza_raport(?pnIdComRapVanz,?@ptDataRaport)}] + lcCursor = [crslistare] + lnSucces = goExecutor.oExecute(lcSql, lcCursor) + If lnSucces < 0 + amessagebox(goExecutor.cEroare, 0 + 48, "Eroare") + Else + If lnExportExcel + goExport.export2xls(lcCursor, [rap_comanda_vanz]) + Else + goExport.export2frx(lcCursor, [rap_comanda_vanz]) + Endif + Endif + If Used(lcCursor) + Use In (lcCursor) + Endif + Release ptDataRaport, pnIdComRapVanz, lcSql, lcCursor, lnSucces +Endproc + +*************************************************************************************************************** +* raport comenzi pe furnizori bazat pe vanzarile dintr-o perioda +*************************************************************************************************************** +Procedure listeaza_rap_vanz_fz_per + Lparameters tnIdComRapVanz, tlCantitate, tlExportExcel + Private ptDataRaport, ptDataI, ptDataS, pnIdComRapVanz, pnCantitate + Local lcSql, lcCursor, lnSucces, llExportExcel + pnCantitate = IIF(Type('tlCantitate') = 'L', IIF(m.tlCantitate, 1, 0), 0) && daca se foloseste coloana "cantitate" sau "vanzari" pentru cantitate + llExportExcel = IIF(Type('tlExportExcel') = 'L', m.tlExportExcel, .F.) + + ptDataRaport = Datetime() + ptDataI = Datetime() + ptDataS = Datetime() + pnIdComRapVanz = tnIdComRapVanz + lcSql = [{call pack_comenzi.listeaza_raport_vz_fz(?pnIdComRapVanz, ?pnCantitate, ?@ptDataRaport,?@ptDataI,?@ptDataS)}] + lcCursor = [crslistare] + llSucces = goExecutor.oExecuta(lcSql, lcCursor) + If m.llSucces + SET FILTER TO cantitate <> 0 OR stocdep <> 0 IN (m.lcCursor) + LOCATE FOR cantitate <> 0 OR stocdep <> 0 + IF !FOUND() + AMESSAGEBOX('Nu exista inregistrari pentru listare!', 0+64, _screen.Caption) + ELSE + If m.llExportExcel + goExport.export2xls(lcCursor, [rap_comanda_vanz_fz]) + Else + goExport.export2frx(lcCursor, [rap_comanda_vanz_fz]) + ENDIF + ENDIF + Endif + + Use In (SELECT(lcCursor)) + + Release ptDataRaport, pnIdComRapVanz, lcSql, lcCursor, llSucces +Endproc +*************************************************************************************************************** +*************************************************************************************************************** +Procedure listeaza_rap_vanz_fz_val_per + Lparameters tnIdComRapVanz, tlCantitate, tnExportExcel + Private ptDataRaport, ptDataI, ptDataS, pnIdComRapVanz, pnCantitate + Local lcSql, lcCursor, lnSucces, llExportExcel + pnCantitate = IIF(Type('tlCantitate') = 'L', IIF(m.tlCantitate, 1, 0), 0) && daca se foloseste coloana "cantitate" sau "vanzari" pentru cantitate + llExportExcel = IIF(Type('tlExportExcel') = 'L', m.tlExportExcel, .F.) + + ptDataRaport = Datetime() + ptDataI = Datetime() + ptDataS = Datetime() + pnIdComRapVanz = tnIdComRapVanz + lcSql = [{call pack_comenzi.listeaza_raport_vz_fz(?pnIdComRapVanz, ?pnCantitate, ?@ptDataRaport,?@ptDataI,?@ptDataS)}] + lcCursor = [crslistare] + llSucces = goExecutor.oExecuta(lcSql, lcCursor) + If m.llSucces + SET FILTER TO stoci<>0 OR stocf <> 0 OR cantitate <> 0 OR stocdep <> 0 IN (m.lcCursor) + LOCATE FOR stoci<>0 OR stocf <> 0 OR cantitate <> 0 OR stocdep <> 0 + IF !FOUND() + AMESSAGEBOX('Nu exista inregistrari pentru listare!', 0+64, _screen.Caption) + ELSE + If m.llExportExcel + goExport.export2xls(lcCursor, [rap_comanda_vanz_fz_val]) + Else + goExport.export2frx(lcCursor, [rap_comanda_vanz_fz_val]) + ENDIF + ENDIF + Endif + Use In (SELECT(lcCursor)) + Release ptDataRaport, pnIdComRapVanz, lcSql, lcCursor, llSucces +Endproc +*************************************************************************************************************** + +*************************************************************************************************************** +* Detaliu vanzari articol, gestiune pe o perioada +* Dbl Click pe coloana vanzari +*************************************************************************************************************** +Procedure rap_vanz_per_detaliu + Parameters tnIdComrapvanzElem + + lcCursor = [crsCantitatiDetaliu] + lcSql = [{call pack_comenzi.rap_vanz_per_detaliu(?tnIdComrapvanzElem)}] + llSucces = goExecutor.oExecuta(lcSql, lcCursor) + If m.llSucces + If Reccount(m.lcCursor) > 0 + loFrm = Createobject("frm_rap_vanz_cant_detaliu") + loFrm.Show(1) + Else + amessagebox("Nu exista articole in perioada care sa aiba procentul de vanzari specificat!", 48, "Atentie") + Endif + Endif +Endproc diff --git a/programe/orap_terti_comun.prg b/programe/orap_terti_comun.prg new file mode 100644 index 0000000..5630c8a --- /dev/null +++ b/programe/orap_terti_comun.prg @@ -0,0 +1,725 @@ +*!* 25.03.2022 +*!* viz_frm_facturi > situatie_facturi se afiseaza si facturile cu total cu tva = 0 + +*_________________________________________________________* +* * +* proceduri utilizate pentru generarea rapoartelor din: * +* Terti->Furnizori * +* ->Clienti * +* ->Alti * +*_________________________________________________________* + +* PROCEDURE viz_frm_facturi( tntip ) +* Date : 19/11/2004, 14:36:36 +* author : lavinia.viziru +* description: + +****** PARAMETER BLOCK ************** +* Parameters : 1 +* Parameter 1: +* +******************************************* INCEPUT:viz_frm_facturi ******************************************* +Procedure viz_frm_facturi + Parameters tntip, tccont, tnId_part, tcNume + + && tnId_part, tcNume - din programul de contracte, ca sa intru deja pe partenerul pe care sunt pozitionat in lista de contracte + + + Private pocauta, pnlunai, pnani, pnlunaf, pnanf, pccont, plemise, pcperioada, pctitlu, pcpartener + Store '' To pocauta, pcperioada, pctitlu, pcpartener + Store 0 To pnlunai, pnani, pnlunaf, pnanf + + plemise = Iif(tntip = 2, .T., .F.) + plActiv = .T. + pccont = Iif(!Empty(tccont), tccont, []) + If !Empty(pccont) + pcexec = [select NVL(fel_cont,0) as fel_cont from ] + gcs + [.vcoresp_tip_cont where cont=?pcCont] + pcCursor = [felCont_cursor] + pnsucces = goExecutor.oExecute(pcexec, pcCursor) + If pnsucces > 0 And _Tally > 0 + Select felCont_cursor + Locate + plActiv = Iif(felCont_cursor.fel_cont = 0, .T., .F.) + Use In felCont_cursor + Endif + Endif + + gnButon = 1 + Do While gnButon = 1 + ofrm = Createobject('frm_rap_facturi') + With ofrm + If !Empty(tnId_part) + .lnIdPart = tnId_part + .ncu_contract = 1 + .ckContract.Value = 1 + *.clb_tx_simplu3.text_simplu1.Value = [] + Endif + If !Empty(tcNume) + .clb_tx_simplu2.text_simplu1.Value = tcNume + Endif + .lcCont = pccont + .llActiv = plActiv + .clb_tx_simplu1.text_simplu1.Value = pccont + .lb_titlu_alb_b121.Caption = [Facturi ] + Iif(!Empty(pccont), pccont, []) + .opt_perioada.Value = tntip + .lhide = .T. + Endwith + ofrm.Show(1) + pccont = ofrm.lcCont + plemise = Iif(ofrm.opt_perioada.Value = 1, .F., .T.) + pnIdPart = ofrm.lnIdPart + plActiv = ofrm.llActiv + pnani = ofrm.Caut_anluna1.nan + pnanf = ofrm.Caut_anluna2.nan + pnlunai = ofrm.Caut_anluna1.nluna + pnlunaf = ofrm.Caut_anluna2.nluna + pnCuAnalitic = ofrm.ncu_analitic + pcAnalitic = ofrm.lcAcont + pnCuValuta = ofrm.ncu_valuta + pnIdValuta = ofrm.lnIdValuta + pnCuVechime = ofrm.ncu_vechime + pcValuta = ofrm.txt_valuta.Value + pnCuContract = ofrm.ncu_contract + pnIdCtr = ofrm.lnIdCtr + ofrm.Release + + If gnButon = 1 + pcperioada = [Perioada: ] + Alltrim(Str(pnlunai)) + [/] + Alltrim(Str(pnani)) + ; + [ - ] + Alltrim(Str(pnlunaf)) + [/] + Alltrim(Str(pnanf)) + + + * lcCursor = situatie_facturi(pccont,plActiv,plemise,pnIdPart,pnani,pnlunai,pnanf,pnlunaf,pnCuAnalitic,pcAnalitic,pnCuValuta,pnIdValuta,pnCuVechime) + lcCursor = situatie_facturi(Alltrim(pccont), plActiv, plemise, pnIdPart, pnani, pnlunai, pnanf, pnlunaf, pnCuAnalitic, pcAnalitic, pnCuValuta, pnIdValuta, pnCuVechime, pnCuContract, pnIdCtr) + + *!* Do Case + *!* Case Empty(lcCursor) + *!* amessagebox("Nu a fost generata selectia pentru listare!",0+48,"Atentie") + *!* Case Reccount(lcCursor) = 0 + *!* amessagebox("Nu exista inregistrari pentru listare!",0+48,"Atentie") + *!* Use In (lcCursor) + *!* Otherwise + If Alltrim(pccont) = [401] + pcpartener = [Furnizor: ] + lctitlu = [Situatia facturilor de cumparari] + Else && pccont = [411] + pcpartener = [Client: ] + lctitlu = [Situatia facturilor de vanzari] + Endif + If pnCuVechime = 0 + lcRaport = [rap_facturi] + Else + lcRaport = [rap_facturi_vechime] + Endif + + If pnCuAnalitic = 0 + pcGrupAcont = [EOF()] + Else + pcGrupAcont = [acont] + Endif + If !Empty(pnIdValuta) + lctitlu = lctitlu + Chr(13) + [Valuta ] + Alltrim(pcValuta) + Endif + *!* pctitlu = ceretitlu_rap('Titlul Raportului',lctitlu) + *!* pcDataOra = Get_Ora(2) + *!* Select (lcCursor) + *!* Report Form &lcRaport To Printer Prompt Preview + pctitlu = lctitlu + goExport.export2frx(lcCursor, lcRaport, .T., , , , , .T., , ) + + If Messagebox('Doriti sa exportati in XLS?', 4 + 32, _Screen.Caption) = 6 + lcFileXLS = Putfile("Salvati fisierul XLS", "Facturi.xls", "xls") + If !Empty(lcFileXLS) + Select (lcCursor) + Copy To (lcFileXLS) Type Xl5 + open_default_app(lcFileXLS) + Endif + Endif + Use In (lcCursor) + *!* Endcase + Endif + Enddo +Endproc +****************************************** SFARSIT: viz_frm_facturi **************************** +* PROCEDURE situatie_facturi +* Date : 10/04/2006, 16:10:03 +* author : georgiana.voicu +* description: preluare facturi pentru conturi cu inregistrari + +****** PARAMETER BLOCK ************** +* Parameters : 3 +* Parameter 1: tlemise +* Description: tipul facturilor preluate +* (.t.-facturi emise intr-o perioada determinata +* .f.-facturi cu sold dintr-o perioada determinata) +* Parameter 2: tccont +* Description: contul partenerului(411-client, 401- furnizor) +* Parameter 3: topartener +* Description: obiectul care contine datele partenerului(client/furnizor) selectat:nume + id_part +* (daca numele partenerului= atunci se iau in considerare +* toti partenerii- clienti sau furnizori) +* Parameter 4,5,6,7 : perioada +******************************************* INCEPUT:situatie_facturi ******************************************* +Procedure situatie_facturi + Parameters tccont, tlActiv, tlemise, tnIdPart, tnAnI, tnLunaI, tnAnF, tnLunaF, tnCuAnalitic, tcAnalitic, tnCuValuta, tnIdValuta, tnCuVechime, tnCuContract, tnIdCtr + + Private lnrlunii, lnrlunif, lnNrPrimaL + + Local lcAchitat, lcAcontIncPl, lcCondAnalitic, lcCondData, lcCondExclud, lcCondId_ctr, lcCondId_part + Local lcCondPerioada, lcCondPrimaLuna, lcConditieSupl, lcCondvaluta, lcContIncPl, lcCursor + Local lcCursor1, lcExceptii, lcIdPartener, lcIdPereche, lcOrder, lcPartener, lcPereche, lcSelect + Local lcSelect1, lcSoldPrec, lcSql, lcTotctva, lcTotctvaPrec, ldDataFactura, ldDataVechime, lnIdFact + Local lnIdPart, lnNrRand, lnNrZile, lnSoldFact, lnSoldPart, lnSucces, lnSucces1 + PRIVATE lnnrlunii, lnnrlunif + PRIVATE oComplet, oInc, objFactInc, osold, pcExplicatie + oComplet = NULL + oInc = NULL + objFactInc = NULL + osold = NULL + pcExplicatie = '' + lnnrlunii = tnLunaI + 12 * tnAnI + lnnrlunif = tnLunaF + 12 * tnAnF + + *!* IF tlemise + lnNrPrimaL = lnnrlunii + *!* ELSE + *!* lnNrPrimaL = lnnrlunii -1 + *!* ENDIF + + Local lnId_ctr, lcContract + Store 0 To lnId_ctr + Store '' To lcContract + + If tnIdPart = 0 + lcCondId_part = [1=1] + Else + lcCondId_part = [id_part = ] + Alltrim(Str(tnIdPart)) + Endif + + If tnIdCtr = 0 + lcCondId_ctr = [1=1] + Else + lcCondId_ctr = [id_ctr = ] + Alltrim(Str(tnIdCtr)) + Endif + + lcSql = [select * from ] + gcs + [.exceptii_ireg where invers = 1 and debit = ] + Iif(tlActiv, [1], [0]) + [ and cont = ] + tccont + lcCursor = [ex_debit] + lnSucces = goExecutor.oExecute(lcSql, lcCursor) + lcExceptii = [-1] + If lnSucces > 0 + Select ex_debit + Scan + lcExceptii = lcExceptii + ',' + Alltrim(cont_c) + Endscan + Use In ex_debit + Endif + + If !tlActiv && - furnizori + lcTotctva = Iif(tnCuValuta = 0, [credit + preccred], [valcredit + precvalcred]) + *!* modificare v 2.0.46 + lcTotctvaPrec = Iif(tnCuValuta = 0, [preccred], [precvalcred]) && am nevoie pentru calcularea soldului prec. + *!* modificare v 2.0.46 ^ + lcSoldPrec = Iif(tnCuValuta = 0, [preccred - precdeb], [precvalcred - precvaldeb]) + *lcAchitat = [debit + precdeb] + lcAchitat = Iif(tnCuValuta = 0, [precdeb], [precvaldeb]) + lcPereche = [pereched] + lcIdPereche = [id_factd] + lcPartener = [partd] + lcIdPartener = [id_partd] + lcContIncPl = [scd] + lcAcontIncPl = [ascd] + lcCondExclud = [(to_number(scc) not in (] + lcExceptii + [))] + Else && - clienti + lcTotctva = Iif(tnCuValuta = 0, [debit + precdeb], [valdebit + precvaldeb]) + *!* modificare v 2.0.46 + lcTotctvaPrec = Iif(tnCuValuta = 0, [precdeb], [precvaldeb]) + *!* modificare v 2.0.46 ^ + lcSoldPrec = Iif(tnCuValuta = 0, [precdeb - preccred], [precvaldeb - precvalcred]) + *lcAchitat = [credit + preccred] + lcAchitat = Iif(tnCuValuta = 0, [preccred], [precvalcred]) + lcPereche = [perechec] + lcIdPereche = [id_factc] + lcPartener = [partc] + lcIdPartener = [id_partc] + lcContIncPl = [scc] + lcAcontIncPl = [ascc] + lcCondExclud = [(to_number(scd) not in (] + lcExceptii + [))] + Endif + + lcCondPerioada = [((luna + 12*an) between ?lnNrPrimaL and ?lnnrlunif)] + lcCondData = [(to_number(to_char(dataireg,'MM'),'99') + 12*to_number(to_char(dataireg,'YYYY'),'9999'))] + lcCondPrimaLuna = [(luna + 12*an = ?lnNrPrimaL)] + If tnCuAnalitic = 1 + lcCondAnalitic = Iif(!Empty(tcAnalitic), [acont = ?tcAnalitic], [1=1]) + Else + lcCondAnalitic = [1=1] + Endif + If tnCuValuta = 1 + lcCondvaluta = Iif(!Empty(tnIdValuta), [id_valuta = ?tnIdValuta], [id_valuta<>0]) + Else + lcCondvaluta = [1=1] + Endif + pcExplicatie = [Din Precedent] + + + *!* lcSelect = [select an, luna, id_fact, id_part, nume, acont, dataact, nract,] + lcTotctva + [ as totctva,?pcExplicatie as fdoc,] + ; + *!* IIF(tlemise,[0],[(case when ] + lcCondPrimaLuna +[ then ] + lcAchitat + [ else 0 end)]) + [ as achitat] + ; + *!* [ from ] + gcS + [.vireg_parteneri ] + ; + *!* [where cont = ?tccont and ] + lcCondId_part + [ and ] + lcCondPerioada + ; + *!* [ and (luna + 12*an =] + IIF(tlemise,lcCondData,[(case when ] + lcCondPrimaLuna +; + *!* [ then luna + 12*an else ] + lcCondData + [ end)]) + [)] + ; + *!* [ order by an, luna, nume, dataact, nract] + + lcSelect = [select an, luna, id_fact, id_part, nume, cod_fiscal, ] + ; + Iif(tnCuContract = 1, [id_ctr], [0]) + [ as id_ctr, ] + ; + Iif(tnCuContract = 1, [contract], ['xxxxxxxxxxxxxxxxxxxx']) + [ as contract, ] + ; + Iif(tnCuAnalitic = 1, [acont], ['xxxx']) + [ as acont, serie_act, dataact, nract,] + ; + Iif(tnCuValuta = 1, [id_valuta,nume_val,], []) + ; + [(case when precdeb <> 0 or preccred <> 0 then 1 else 0 end) as precedent,SUM(] + lcTotctva + [) as totctva, SUM(] + m.lcSoldPrec + [) as soldprec, ?pcExplicatie as fdoc,] + ; + [SUM(] + Iif(tlemise, [0], [(case when ] + lcCondPrimaLuna + [ then ] + lcAchitat + [ else 0 end)]) + [) as achitat] + ; + [ from ] + gcs + [.vireg_parteneri ] + ; + [ where cont = ?tccont and ] + lcCondId_part + [ and ] + lcCondId_ctr + [ and ] + lcCondPerioada + [ and ] + lcCondAnalitic + [ and ] + lcCondvaluta + m.gcCondSucursala + ; + [ and (luna + 12*an =] + Iif(tlemise, lcCondData, [(case when ] + lcCondPrimaLuna + ; + [ then luna + 12*an else ] + lcCondData + [ end)]) + [)] + ; + [ group by an, luna, id_fact, id_part, nume, cod_fiscal, ] + Iif(tnCuContract = 1, [id_ctr, contract,], []) + Iif(tnCuAnalitic = 1, [acont,], []) + [ dataact, serie_act, nract] + Iif(tnCuValuta = 1, [,id_valuta,nume_val], []) + [,(case when precdeb <> 0 or preccred <> 0 then 1 else 0 end)] + ; + [ order by ] + Iif(tnCuContract = 1, [contract,], []) + [ an, luna, nume, cod_fiscal, ] + Iif(tnCuContract = 1, [contract,], []) + Iif(tnCuValuta = 1, [id_valuta,], []) + Iif(tnCuAnalitic = 1, [acont,], []) + [dataact, serie_act, nract] + + lcCursor = [cFacturi] + + If Used(lcCursor) + Use In (lcCursor) + Endif + + lnSucces = goExecutor.oExecute(lcSelect, lcCursor) + If lnSucces < 0 + amessagebox(goExecutor.cEroare, 0 + 16, 'Eroare') + Return '' + Endif + + Select (lcCursor) + Replace All dataact With {} For Isnull(dataact) + + && 27.05.2008 + && soldurile initiale pentru facturile emise in perioada nu se pot obtine din facturile din cFacturi (nu am precdeb/preccred <> 0) + && trebuie sa le selectez din ireg_parteneri separat + If tlemise + lcSelect = [select an, luna, id_part, cont, acont, Sum(] + lcSoldPrec + [) as soldprec ] + ; + [ from ireg_parteneri ] + ; + [ where cont = ?tccont and ] + lcCondId_part + [ and ] + lcCondAnalitic + ; + [ and ] + lcCondvaluta + gcCondSucursala + ; + [ and ] + lcCondPrimaLuna + ; + [ group by an, luna, id_part, cont, acont] + + lcCursor = [cSoldParteneri] + + If Used(lcCursor) + Use In (lcCursor) + Endif + + lnSucces = goExecutor.oExecute(lcSelect, lcCursor) + If lnSucces < 0 + amessagebox(goExecutor.cEroare, 0 + 16, 'Eroare') + Return '' + Endif + Endif + && soldurile initiale pentru facturile emise in perioada ^ + + && iau in considerare doar incasarile inregistrate in perioada data + + lcCondPerioada = [((luna + 12*an) between ?lnNrLuniI and ?lnNrLuniF)] + If tnIdPart = 0 + lcCondId_part = [1=1] + Else + lcCondId_part = lcIdPartener + [ = ] + Alltrim(Str(tnIdPart)) + Endif + If tnCuAnalitic = 1 + lcCondAnalitic = Iif(!Empty(tcAnalitic), lcAcontIncPl + [ = ?tcAnalitic], [1=1]) + Else + lcCondAnalitic = [1=1] + Endif + If tnCuValuta = 1 + lcCondvaluta = Iif(!Empty(tnIdValuta), [id_valuta = ?tnIdValuta and suma_val<>0], [id_valuta<>0 and suma_val<>0]) + Else + lcCondvaluta = [1=1] + Endif + + *!* modificare v 2.0.46 + If tccont = '4111' + lcConditieSupl = [ OR (SCD = '4111' ] + Iif(!Empty(tcAnalitic), [AND ASCD = ?tcAnalitic ], []) + ; + [AND SCC = '4427' ] + Iif(tnIdPart = 0, [], [AND ID_PARTD = ] + Alltrim(Str(tnIdPart)) + [ ]) + ; + [AND (NVL(PERECHED,0) <> 0 OR NVL(ID_FACTD,0)<>0))] + lcSelect1 = [Select (case when scc = '4427' then id_partd else id_partc end) as id_part,] + ; + [(case when scc = '4427' then partd else partc end) as nume,fdoc,dataact as datadoc,] + ; + [serie_act as serie_doc,nract as nrdoc,] + ; + Iif(tnCuAnalitic = 1, [(case when scc='4427' then ascd else ascc end)], ['xxxx']) + [ as acont,] + ; + [(case when scc = '4427' then pereched else perechec end) as pereche,] + ; + [(case when scc = '4427' then id_factd else id_factc end) as id_fact,] + ; + [(case when scc = '4427' then (-1)*] + Iif(tnCuValuta = 0, [suma else suma], [suma_val else suma_val]) + [ end) as suma,] + ; + [ id_valuta, luna as luna_inc, an as an_inc ] + ; + [ from ] + gcs + [.vact ] + ; + [ where ((] + lcContIncPl + [ = ] + tccont + [ and ] + lcCondId_part + [ and ] + lcCondAnalitic + [ and (] + lcPereche + [ <> 0 or ] + lcIdPereche + [ <>0))] + ; + lcConditieSupl + [)] + ; + [ and ] + lcCondExclud + [ and ] + lcCondPerioada + ; + [ and ] + lcCondvaluta + gcCondSucursala + ; + [ order by serie_act, nract, dataact] + Else + lcSelect1 = [select ] + lcIdPartener + [ as id_part,] + lcPartener + [ as nume,fdoc,dataact as datadoc,serie_act as serie_doc,nract as nrdoc,] + ; + Iif(tnCuAnalitic = 1, lcAcontIncPl, ['xxxx']) + [ as acont,] + lcPereche + [ as pereche,] + lcIdPereche + [ as id_fact,] + ; + Iif(tnCuValuta = 0, [suma], [suma_val]) + [ as suma,] + ; + [ id_valuta, luna as luna_inc, an as an_inc ] + ; + [ from ] + gcs + [.vact ] + ; + [ where ] + lcContIncPl + [ = ] + tccont + [ and ] + lcCondId_part + [ and ] + lcCondvaluta + [ and ] + lcCondAnalitic + ; + [ and ] + lcCondExclud + [ and (] + lcPereche + [ <> 0 or ] + lcIdPereche + [ <>0) and ] + lcCondPerioada + ; + gcCondSucursala + ; + [ order by serie_act, nract, dataact] + Endif + *!* modificare v 2.0.46 ^ + lcCursor1 = [cIncasari_temp] + + If Used(lcCursor1) + Use In (lcCursor1) + Endif + + lnSucces1 = goExecutor.oExecute(lcSelect1, lcCursor1) + If lnSucces1 < 0 + amessagebox(goExecutor.cEroare, 0 + 16, 'Eroare') + Return '' + Endif + + Select cIncasari_temp + Replace All datadoc With {} For Isnull(datadoc) + + Select an, luna, id_fact, id_part, nume, cod_fiscal, acont, Nvl(Ttod(dataact), {}) As datafact, Nvl(serie_act, []) As serie_fact, ; + id_ctr, contract, ; + nract As nrfact, totctva, ; + Padr(fdoc, 30, ' ') As fdoc, {//} As datadoc, 00000000000000 As nrdoc, precedent, ; + achitat As suma, 00000000000000000000.0000 As sold, ; + 00000000000000000000.0000 As soldcumulat, 0 As tip, 00 As luna_inc, 0000 As an_inc, 0 As sold_final, ; + 00000000000000000000.0000 As vechime_1, 00000000000000000000.0000 As vechime_2, 00000000000000000000.0000 As vechime_3, 00000000000000000000.0000 As vechime_4 ; + From cFacturi ; + Where totctva - achitat <> 0 OR totctva = 0 ; + Order By nume, id_part, acont, dataact, serie_act, nract ; + Into Cursor cFactInc Readwrite + + Select cIncasari_temp + Scan + Scatter Name oInc + Select cFactInc + Locate For id_fact = oInc.id_fact And id_part = oInc.id_part And Nvl(acont, [xxxx]) = Nvl(oInc.acont, [xxxx]) + Do Case + Case !Found() && nu exista factura pentru incasare + *!* modificare v 2.0.50 ^ + *!* modificare v 2.0.46 + *!* Append blank + *!* caut incasarea neimperecheata + If Used('crstempireg') + Use In crstempireg + Endif + lcSql = [select 1 as precedent,id_fact,id_part,serie_act as serie_fact,nract as nrfact,dataact as datafact,] + ; + [pack_sesiune.suma_ron((-1)*] + ; + Iif(!tlActiv, Iif(tnCuValuta = 0, [debit], [valdebit]), Iif(tnCuValuta = 0, [credit], [valcredit])) + ; + [,Nvl(dataact,to_date(an||luna,'YYYYMM'))) as totctvaprec ] + ; + [from ireg_parteneri ] + ; + [where id_fact = ] + Alltrim(Str(oInc.id_fact)) + [ and id_part = ] + Alltrim(Str(oInc.id_part)) + [ ] + ; + [and ] + Iif(tnCuValuta = 0, [precdeb=0 and preccred=0], [precvaldeb=0 and precvalcred=0]) + [ and ] + ; + Iif(!tlActiv, Iif(tnCuValuta = 0, [credit], [valcredit]), Iif(tnCuValuta = 0, [debit], [valdebit])) + [=0] + lnSucces = goExecutor.oExecute(lcSql, [crstempireg]) + If lnSucces < 0 + amessagebox(goExecutor.cEroare, 16, "Eroare") + Return + Else + If Reccount('crstempireg') > 0 + Select crstempireg + Scatter Name oComplet + AddProperty(oComplet, "totctva", oComplet.totctvaprec) + Use In crstempireg + Select cFacturi + Locate For id_fact = oComplet.id_fact && verificare daca mai exista deja + If !Found() + Append Blank + Gather Name oComplet Fields id_part, totctva, totctvaprec, precedent + Select cFactInc + Append Blank + Gather Name oComplet + Else + Select cFactInc + Append Blank + Endif + Else + Select cFactInc + Append Blank + Endif + Endif + *!* modificare v 2.0.50 + Case Found() And ((tip = 1) Or (tip = 0 And suma <> 0)) && daca mai exista deja o incasare pe factura sau are achitat din precedent + Scatter Name objFactInc + lnId_ctr = id_ctr + lcContract = contract + Append Blank + Gather Name objFactInc + Replace totctva With 0 + Case Found() And tip = 0 && daca nu mai exista incasare pe factura + && completez dupa case + lnId_ctr = id_ctr + lcContract = contract + Otherwise && adaug incasarea + Append Blank + Endcase + *!* Endif + *!* modificare v 2.0.50 ^ + *!* modificare v 2.0.46 ^ + Gather Name oInc + Replace id_ctr With lnId_ctr, contract With lcContract && las contractul de pe factura (f. probabil sa nu-l am in precedent pe incasare ) + Replace tip With 1 + Select cIncasari_temp + Endscan + + * calculez soldurile (initial, cumulat, pe factura) + * ordonez datele pentru grupare + *!* SELECT id_part, SUM(totctva-achitat) as soldi_part FROM cFacturi WHERE an*12 + luna = lnNrPrimaL INTO CURSOR cSoldiPart GROUP BY id_part + *!* SELECT id_part,acont, SUM(totctva-achitat) as soldi_ana FROM cFacturi WHERE an*12 + luna = lnNrPrimaL INTO CURSOR cSoldiAna GROUP BY id_part, acont + + && 27.05.2008 + && soldurile initiale pentru facturile emise in perioada nu se pot obtine din facturile din cFacturi (nu am precdeb/preccred <> 0) + If tlemise + Select id_part, Sum(soldprec) As soldi_part From cSoldParteneri Into Cursor cSoldiPart Group By id_part + Select id_part, Nvl(acont, Space(4)) As acont, Sum(soldprec) As soldi_ana From cSoldParteneri Into Cursor cSoldiAna Group By id_part, acont Readwrite + Else + *!* modificare v 2.0.46 + *!* Select id_part, Sum(totctva-achitat) As soldi_part From cFacturi Where precedent = 1 Into Cursor cSoldiPart Group By id_part + *!* Select id_part,Nvl(acont,Space(4)) As acont, Sum(totctva-achitat) As soldi_ana From cFacturi Where precedent = 1 Into Cursor cSoldiAna Group By id_part, acont Readwrite + Select id_part, Sum(soldprec) As soldi_part From cFacturi Where precedent = 1 Into Cursor cSoldiPart Group By id_part + Select id_part, Nvl(acont, Space(4)) As acont, Sum(soldprec) As soldi_ana From cFacturi Where precedent = 1 Into Cursor cSoldiAna Group By id_part, acont Readwrite + *!* modificare v 2.0.46 ^ + Endif + && 27.05.2008 ^ + + If tnCuContract = 1 + lcOrder = [c.nume, c.id_part, c.id_ctr, c.acont, c.datafact, c.serie_fact, c.nrfact, c.id_fact] + Else + lcOrder = [c.nume, c.id_part, c.acont, c.datafact, c.serie_fact, c.nrfact, c.id_fact] + Endif + + * SELECT * FROM cFactInc INTO TABLE c:\factinc.dbf + + Select c.*, p.soldi_part, a.soldi_ana ; + From cFactInc c ; + Left Join cSoldiPart p On c.id_part = p.id_part ; + Left Join cSoldiAna a On c.id_part = a.id_part And Nvl(c.acont, '') = Nvl(a.acont, '') ; + Into Cursor cFactIncO ; + Order By &lcOrder Readwrite + + If Used('cSoldiPart') + Use In cSoldiPart + Endif + If Used('cSoldiAna') + Use In cSoldiAna + Endif + * soldul cumulat + **** pt vechime (temporar) aflu ultima zi a perioadei , consider data de referinta + ldDataVechime = Gomonth(Date(tnAnF, tnLunaF, 1), 1) - 1 + **** + + Select cFactIncO + Locate + lnIdFact = id_fact + lnIdPart = id_part + lnSoldFact = Nvl(totctva, 0) + lnSoldPart = Nvl(soldi_part, 0) + *ldDataFactura = NVL(TTOD(datafact),{}) + ldDataFactura = Nvl(datafact, {}) + Scan + Scatter Name osold + lnNrRand = Recno() + If lnIdFact <> osold.id_fact + Select cFactIncO + If tnCuVechime = 1 + Go lnNrRand - 1 + Replace sold_final With 1 + lnNrZile = ldDataVechime - ldDataFactura + If Empty(ldDataFactura) + lnNrZile = 400 && peste 1 An + Else + lnNrZile = ldDataVechime - ldDataFactura + Endif + Do Case + Case Between(lnNrZile, 0, 30) + Replace vechime_1 With sold + Case Between(lnNrZile, 31, 90) + Replace vechime_2 With sold + Case Between(lnNrZile, 91, 365) + Replace vechime_3 With sold + Otherwise + Replace vechime_4 With sold + Endcase + + Select cFactIncO + Go lnNrRand + Endif + *ldDataFactura = NVL(TTOD(datafact),{}) + ldDataFactura = Nvl(datafact, {}) + lnIdFact = osold.id_fact + lnSoldFact = Nvl(osold.totctva, 0) + Endif + If lnIdPart <> osold.id_part + lnIdPart = osold.id_part + lnSoldPart = Nvl(osold.soldi_part, 0) + Endif + lnSoldFact = lnSoldFact - Nvl(osold.suma, 0) + * lnSoldPart = lnSoldPart + IIF(osold.an*12+osold.luna >=lnnrlunii, NVL(osold.totctva,0), 0) - IIF(osold.an_inc*12+osold.luna_inc >=lnnrlunii, NVL(osold.suma,0), 0) + lnSoldPart = lnSoldPart + Iif(osold.precedent = 0, Nvl(osold.totctva, 0), 0) - Iif(osold.an_inc * 12 + osold.luna_inc >= lnnrlunii, Nvl(osold.suma, 0), 0) + Replace sold With lnSoldFact, soldcumulat With lnSoldPart + Select cFactIncO + Endscan + + If tnCuVechime = 1 + Select cFactIncO + Go Bottom + Replace sold_final With 1 + *ldDataFactura = NVL(TTOD(datafact),{}) + ldDataFactura = Nvl(datafact, {}) + If Empty(ldDataFactura) + lnNrZile = 400 && peste 1 An + Else + lnNrZile = ldDataVechime - ldDataFactura + Endif + Do Case + Case Between(lnNrZile, 0, 30) + Replace vechime_1 With sold + Case Between(lnNrZile, 31, 90) + Replace vechime_2 With sold + Case Between(lnNrZile, 91, 365) + Replace vechime_3 With sold + Otherwise + Replace vechime_4 With sold + Endcase + Endif + + *!* SELECT cFactIncO + *!* DELETE from cFactIncO WHERE id_fact IN (select id_fact from cFactIncO where sold_final = 1 AND NVL(vechime_1,0) = 0 AND NVL(vechime_2,0) = 0 AND NVL(vechime_3,0) = 0 AND NVL(vechime_4,0) = 0) + + If Used('cFacturi') + Use In cFacturi + Endif + If Used('cIncasari_temp') + Use In cIncasari_temp + Endif + If Used('cFactInc') + Use In cFactInc + Endif + + Return "cFactIncO" +Endproc +******************************************* SFARSIT: situatie_facturi ******************************************* + +Procedure Alege_Cont + Lparameters tccont, tleActiv + + Private polista, pcschema1, pcselect1, pcfiltru1, pcorder1 + Store "" To polista + pcschema1 = ['cont c(4),acont c(4),explicatie c(50)'] + pcselect1 = ['select distinct cont,rpad(CHR(32),4,CHR(32)) as acont,explicatie from ] + gcs + [.vcoresp_tip_cont where 1=2'] + pcfiltru1 = [2=2] + pcorder1 = [cont] + llAfisare = .F. + gencursor('polista', 'clista', pcselect1, pcfiltru1, pcschema1, pcorder1, llAfisare) + polista.ca_baza1.afisare() + + + Select clista + loCont = myscatter('blank') + + Private eActiv + Store .T. To eActiv + + Ol = Createobject("frm_cere_cont") + With Ol + *.titlufrumos1.CAPTION= 'Selectati contul' + If Empty(.cboCont.RowSource) + .cboCont.RowSource = "clista.cont,acont" + Endif + .ocont = loCont + If Empty(.cAlias) + .cAlias = Left(.cboCont.RowSource, At(".", .cboCont.RowSource) - 1) + Endif + .Height = 190 + Endwith + Ol.Show(1) + + If buton = 2 + Use In clista + Return + Endif + + tccont = loCont.Cont + tleActiv = eActiv +Endproc + +******************************************************************************************** +********************************* INCEPUT:incasari_facturi_lunac **************************** +Procedure incasari_facturi_lunac + Parameters tlemitere + + Private pctitlu, pddata_incasi, pddata_incasf && pcDataOra, + Store '' To pctitlu && ,pcDataOra + + pddata_incasi = Ctod('01/' + Alltrim(Str(gnLuna)) + '/' + Alltrim(Str(gnAn))) + If Month(Date()) = gnLuna And Year(Date()) = gnAn + pddata_incasf = Date() + Else + pddata_incasf = Gomonth(pddata_incasi, 1) - 1 + Endif + + Do Form frm_filtru_numar Name ofrm_filtru Linked With [a.dataact], [Data incasarii], 1, 1, 'D', [], 0 To lcFiltruData Noshow + *ofrm_filtru.text1.ResetToDefault([lostfocus]) + *ofrm_filtru.text1.lostfocus() + ofrm_filtru.text2.SetFocus() + ofrm_filtru.text1.ControlSource = [pddata_incasi] + ofrm_filtru.text2.ControlSource = [pddata_incasf] + ofrm_filtru.Show(1) + + pcperioada = [Perioada: ] + Alltrim(Dtoc(pddata_incasi)) + [-] + Alltrim(Dtoc(pddata_incasf)) + + If tlemitere + lcOrdonare = [data_fact,data_incas] + Else + lcOrdonare = [data_incas,data_fact] + Endif + + lcSelect = [select a.dataact as data_incas,a.nract as nr_doc, a.serie_act, f.fel_document as fdoc, a.suma as incasat,] + ; + [a.scd as tip_incas, d.denumire as nume, c.nract as nr_fact, e.nrord, c.dataact as data_fact, ] + ; + [ c.datascad, c.debit + c.precdeb as total_fact] + Iif(glEMama, [,g.firma as sucursala], []) + [ ] + ; + [from ] + gcs + [.act a join ] + gcs + [.ireg_parteneri c on ] + ; + [a.perechec = c.nract and a.id_partc = c.id_part and NVL(a.id_sucursala,-99) = NVL(c.id_sucursala,-99) ] + ; + [left join ] + gcs + [.nom_parteneri d on c.id_part = d.id_part ] + ; + [left join ] + gcs + [.vnom_lucrari e on c.id_lucrare = e.id_lucrare ] + ; + [left join ] + gcs + [.nom_fdoc f on a.id_fdoc = f.id_fdoc ] + ; + Iif(glEMama, [left join syn_nom_firme g on a.id_sucursala = g.id_firma ], []) + ; + [where a.sters = 0 and SUBSTR(a.scc,1,4) = '4111' and SUBSTR(a.scd,1,1) = '5' and c.cont = '4111'] + ; + [ and a.an = ] + Alltrim(Str(gnAn)) + [ and a.luna = ] + Alltrim(Str(gnLuna)) + ; + [ and c.an = ] + Alltrim(Str(gnAn)) + [ and c.luna = ] + Alltrim(Str(gnLuna)) + ; + Strtran(gcCondSucursala, [id_sucursala], [a.id_sucursala]) + ; + [ ] + lcFiltruData + [ order by ] + lcOrdonare + lcCursor = [cIncasari] + + lnSucces = goExecutor.oExecute(lcSelect, lcCursor) + If lnSucces < 0 + amessagebox(goExecutor.cEroare, 0 + 16, 'Eroare') + Return + Endif + + *!* If Reccount(lcCursor)>0 + pctitlu = [Situatia incasarilor ] + goExport.export2frx(lcCursor, [rap_incasari_facturi], .T.) + *!* pctitlu = ceretitlu_rap('Titlul Raportului',lctitlu) + *!* pcDataOra= Get_Ora(2) + *!* Select (lcCursor) + *!* Report Form rap_incasari_facturi To Printer Prompt Preview + *!* Else + *!* amessagebox("Nu exista inregistrari pentru listare!",48,"Atentie") + *!* Endif + + Use In (lcCursor) + Release pctitlu, pddata_incasi, pddata_incasf +Endproc +********************************* SFARSIT:incasari_facturi_lunac **************************** + diff --git a/programe/orapoarte.prg b/programe/orapoarte.prg new file mode 100644 index 0000000..464ed1a --- /dev/null +++ b/programe/orapoarte.prg @@ -0,0 +1,1135 @@ +*!* 03.08.2022 +*!* rap_stocuri_pe_vechimi - includere datain in xls + +***----------------------------------------------------------------------------------------------------------- +Procedure fisa_ob_inventar_gest + Lparameters tnTipGest, tlExcel + && tlToate - se genereaza raportul pt. toate obiectele de inventar + + Set Safety Off + Private pcTitlu, pcPerioada && , pcDataOra && pt. raport + Store "" To pcTitlu + && pcDataOra = get_ora(2) + + Private pnId_gestiune, pcGestiune, pnId_articol + Store 0 To pnId_gestiune, pnId_articol + Store "" To pcGestiune + + loGest = caut_gestiune(tnTipGest, gnIdUtil) + + If buton = 2 + Return + Endif + + pcGestiune = loGest.nume_gestiune + pnId_gestiune = loGest.id_gestiune + ***------------------------------- + + *!* od=Createobject('frm_toate') + *!* od.label1.caption = "" + *!* od.label1.Caption='Sa se genereze situatia pentru:' + *!* *!* od.cmdrenunt1.Caption='\0 + *!* lpos = At('_',pcondper) + *!* ldata1 = Substr(pcondper,1,lpos-1) + *!* ldata2 = Substr(pcondper,lpos+1) + *!* lcd1 = Substr(ldata1,7,2)+'/'+Substr(ldata1,5,2)+'/'+Substr(ldata1,1,4) + *!* lcd2 = Substr(ldata2,7,2)+'/'+Substr(ldata2,5,2)+'/'+Substr(ldata2,1,4) + *!* pcPerioada='De la: '+lcd1+' pana la '+lcd2 + *!* Else + *!* ldata1 = pcondper+'01' + *!* ldData = Date(Val(Substr(ldata1,1,4)),Val(Substr(ldata1,5,2)),1) + *!* ldata2 = Dtos(Gomonth(ldData,1)-1) + *!* pcPerioada='LUNA: '+Substr(ldata1,5,2)+' '+Substr(ldata1,1,4) + *!* Endif + + + + *!* PRIVATE lnAn1, lnLuna1, lnAn2, lnLuna2 + *!* STORE 0 TO lnAn1, lnLuna1, lnAn2, lnLuna2 + + *!* loLuna = get_oluna(gnAn, gnLuna) + *!* lcLuna1 = PADL(loLuna.lunamin,2,'0') + PADL(loLuna.anmin,4,'0') + *!* lcLuna2 = PADL(loLuna.lunamax,2,'0') + PADL(loLuna.anmax,4,'0') + + *!* pcondper="" + *!* ofrmperioada=CREATEOBJECT('frm_perioada_luni') + *!* WITH ofrmperioada + *!* ._textbox1.VALUE=lcLuna1 + *!* ._textbox2.VALUE=lcLuna2 + *!* ._optiongrup1.VALUE = 2 + *!* ._optiongrup1.VALID() + *!* ENDWITH + *!* ofrmperioada.SHOW(1) + *!* IF gnButon=2 + *!* RETURN + *!* ENDIF + + *!* plPerioada=.F. + *!* lnPoz=AT('_',pcondper) + *!* IF lnPoz>0 + *!* plPerioada=.T. + *!* ENDIF + + + *!* IF plPerioada + *!* lnAn1 = VAL(SUBSTR(pcondper,3,4)) + *!* lnLuna1 = VAL(SUBSTR(pcondper,1,2)) + *!* lnAn2 = VAL(SUBSTR(pcondper,10,4)) + *!* lnLuna2 = VAL(SUBSTR(pcondper,8,2)) + + *!* lnInit = lnAn1 * 12 + lnLuna1 + *!* lnFinal = lnAn2 * 12 + lnLuna2 + *!* pcPerioada = SUBSTR(pcondper,1,2)+'/'+SUBSTR(pcondper,3,4) + ' - ' + SUBSTR(pcondper,8,2)+'/'+SUBSTR(pcondper,10,4) + *!* ELSE + *!* lnAn1 = VAL(SUBSTR(pcondper,3,4)) + *!* lnLuna1 = VAL(SUBSTR(pcondper,1,2)) + *!* lnAn2 = VAL(SUBSTR(pcondper,3,4)) + *!* lnLuna2 = VAL(SUBSTR(pcondper,1,2)) + + *!* lnInit = lnAn1 * 12 + lnLuna1 + *!* lnFinal = lnAn2 * 12 + lnLuna2 + *!* pcPerioada = SUBSTR(pcondper,1,2)+'/'+SUBSTR(pcondper,3,4) + ' - ' + SUBSTR(pcondper,1,2)+'/'+SUBSTR(pcondper,3,4) + *!* ENDIF + + ***------------------------------- + Private pdDataI, pdDataF + Store {} To pdDataI, pdDataF + + loLuna = get_oluna(gnAn, gnLuna) + lcLuna1 = Padl(loLuna.lunamin,2,'0') + Padl(loLuna.anmin,4,'0') + lcLuna2 = Padl(loLuna.lunamax,2,'0') + Padl(loLuna.anmax,4,'0') + + Local lcData1 + lcData1 = '01/'+Padl(loLuna.lunamin,2,'0')+'/'+Alltrim(Str(loLuna.anmin)) + pdDataI = Ctod(lcData1) + pdDataF = ULTIMAZI(Str(loLuna.anmax), Str(loLuna.lunamax)) + + + ofrmperioada = Createobject('frm_perioada_zzllaaaa') + ofrmperioada.pdDataI = pdDataI + ofrmperioada.pdDataF = pdDataF + ofrmperioada.Show(1) + If gnButon=2 + Return + Endif + + pcPerioada = Dtoc(pdDataI) + ' - ' + Dtoc(pdDataF) + ***------------------------------- + ***------------------------------- + lcSel = [{call pack_gest_rapoarte.fisa_ob_inventar_gest(?pdDataI, ?pdDataF, ?pnId_gestiune, ?pnId_articol, ?gnIdSucursala)}] + lcCursor = 'cFisa' + lnSucces = goExecutor.oExecute(lcSel,lcCursor) + + If lnSucces < 0 + amessage('Call pack_gest_rapoarte.fisa_ob_inventar_gest' + Chr(13) + goExecutor.cEroare,0+16,"Eroare") + Return + Endif + ***------------------------------- + pcTitlu = "FISA DE MAGAZIE" + + If tlExcel + goExport.export2xls([cFisa]) +*!* Do export_xls With 'cFisa' In oproceduri_comune.prg + Else + goExport.export2frx([cFisa],[fisa_obi_gest]) +*!* Select cFisa +*!* Report Form fisa_obi_gest To Printer Prompt Preview + Endif + + If Used("cFisa") + Use In cFisa + Endif + +Endproc && fisa_ob_inventar_gest + +***----------------------------------------------------------------------------------------------------------- +Procedure fisa_magazie + Lparameters tnTipGest + + Private pcTitlu, pcPerioada &&, pcDataOra && pt. raport + Store "" To pcTitlu +&& pcDataOra = get_ora(2) + + Private pnId_gestiune, pcGestiune, pnId_articol + Store 0 To pnId_gestiune, pnId_articol + Store "" To pcGestiune + + loGest = caut_gestiune(tnTipGest, gnIdUtil) + + If buton = 2 + Return + Endif + + pcGestiune = loGest.nume_gestiune + pnId_gestiune = loGest.id_gestiune + loArticol = caut_articol(tnTipGest, .T.) + pnId_articol = loArticol.id_articol + + If buton = 2 + Return + Endif + + Private lnAn1, lnLuna1, lnAn2, lnLuna2 + Store 0 To lnAn1, lnLuna1, lnAn2, lnLuna2 + + loLuna = get_oluna(gnAn, gnLuna) + lcLuna1 = Padl(loLuna.lunamin,2,'0') + Padl(loLuna.anmin,4,'0') + lcLuna2 = Padl(loLuna.lunamax,2,'0') + Padl(loLuna.anmax,4,'0') + + pcondper="" + ofrmperioada=Createobject('frm_perioada_luni') + With ofrmperioada + ._textbox1.Value=lcLuna1 + ._textbox2.Value=lcLuna2 + ._optiongrup1.Value = 2 + ._optiongrup1.Valid() + Endwith + ofrmperioada.Show(1) + If gnButon=2 + Return + Endif + + plPerioada=.F. + lnPoz=At('_',pcondper) + If lnPoz>0 + plPerioada=.T. + Endif + + + If plPerioada + lnAn1 = Val(Substr(pcondper,3,4)) + lnLuna1 = Val(Substr(pcondper,1,2)) + lnAn2 = Val(Substr(pcondper,10,4)) + lnLuna2 = Val(Substr(pcondper,8,2)) + + lnInit = lnAn1 * 12 + lnLuna1 + lnFinal = lnAn2 * 12 + lnLuna2 + pcPerioada = Substr(pcondper,1,2)+'/'+Substr(pcondper,3,4) + ' - ' + Substr(pcondper,8,2)+'/'+Substr(pcondper,10,4) + Else + lnAn1 = Val(Substr(pcondper,3,4)) + lnLuna1 = Val(Substr(pcondper,1,2)) + lnAn2 = Val(Substr(pcondper,3,4)) + lnLuna2 = Val(Substr(pcondper,1,2)) + + lnInit = lnAn1 * 12 + lnLuna1 + lnFinal = lnAn2 * 12 + lnLuna2 + pcPerioada = Substr(pcondper,1,2)+'/'+Substr(pcondper,3,4) + ' - ' + Substr(pcondper,1,2)+'/'+Substr(pcondper,3,4) + Endif + ***------------------------------- + lcSel = [{call pack_gest_rapoarte.fisa_magazie(?lnAn1, ?lnLuna1, ?lnAn2, ?lnLuna2, ?pnId_gestiune, ?pnId_articol, ?gnIdSucursala)}] + lcCursor = 'cFisa' + lnSucces = goExecutor.oExecute(lcSel,lcCursor) + + If lnSucces < 0 + amessage('Call pack_gest_rapoarte.fisa_magazie' + Chr(13) + goExecutor.cEroare,0+16,"Eroare") + Return + Endif + ***------------------------------- + pcTitlu = "FISA DE MAGAZIE" + + * SELECT * FROM cFisa INTO TABLE d:\fisa.dbf + goExport.export2frx([cFisa],[fisa_magazie]) +*!* Select cFisa +*!* Report Form fisa_magazie To Printer Prompt Preview + If Used("cFisa") + Use In cFisa + Endif + +Endproc && fisa_magazie + +***----------------------------------------------------------------------------------------------------------- +Procedure fisa_magazie_FIFO + Lparameters tnTipGest, tnIdGestiune, tcNumeGestiune, tnIdArticol, tcSerie + + Private pcTitlu, pcPerioada, pcDataOra && pt. raport + Store "" To pcTitlu + pcDataOra = get_ora(2) + + tcSerie = IIF(EMPTY(tcSerie), "", tcSerie) + + Private pnId_gestiune, pcGestiune, pnId_articol, pcSerie + Store 0 To pnId_gestiune, pnId_articol + Store '' To pcGestiune,pcSerie + + If Empty(tnIdGestiune) Or Type("tnIdGestiune")!="N" + loGest = caut_gestiune(tnTipGest, gnIdUtil) + If buton = 2 + Return + Endif + pcGestiune = loGest.nume_gestiune + pnId_gestiune = loGest.id_gestiune + Else + pnId_gestiune = tnIdGestiune + pcGestiune = tcNumeGestiune + Endif + If Empty(tnIdArticol) Or Type("tnIdArticol")!="N" + loArticol = caut_articol(tnTipGest, .T.) + If buton = 2 + Return + Endif + pnId_articol = loArticol.id_articol + + *!* modificare 20.08.2007 ( cere seria ) + pcSerie = [] + ofrmSerie = Null + ofrmSerie = Createobject("frm_cere_titlu",'Serie','pcSerie') + ofrmSerie.lb_titlu_alb_b121.Caption = Alltrim(loArticol.denumire) + ofrmSerie.Show(1) + pcSerie = Alltrim(pcSerie) + *!* modificare 20.08.2007 ^ + + Else + pnId_articol = tnIdArticol + pcSerie = tcSerie + Endif + + + Private lnAn1, lnLuna1, lnAn2, lnLuna2 + Store 0 To lnAn1, lnLuna1, lnAn2, lnLuna2 + + loLuna = get_oluna(gnAn, gnLuna) + lcLuna1 = Padl(loLuna.lunamin,2,'0') + Padl(loLuna.anmin,4,'0') + lcLuna2 = Padl(loLuna.lunamax,2,'0') + Padl(loLuna.anmax,4,'0') + + pcondper="" + ofrmperioada=Createobject('frm_perioada_luni') + With ofrmperioada + ._textbox1.Value=lcLuna1 + ._textbox2.Value=lcLuna2 + ._optiongrup1.Value = 2 + ._optiongrup1.Valid() + Endwith + ofrmperioada.Show(1) + If gnButon=2 + Return + Endif + + plPerioada=.F. + lnPoz=At('_',pcondper) + If lnPoz>0 + plPerioada=.T. + Endif + + + If plPerioada + lnAn1 = Val(Substr(pcondper,3,4)) + lnLuna1 = Val(Substr(pcondper,1,2)) + lnAn2 = Val(Substr(pcondper,10,4)) + lnLuna2 = Val(Substr(pcondper,8,2)) + + lnInit = lnAn1 * 12 + lnLuna1 + lnFinal = lnAn2 * 12 + lnLuna2 + pcPerioada = Substr(pcondper,1,2)+'/'+Substr(pcondper,3,4) + ' - ' + Substr(pcondper,8,2)+'/'+Substr(pcondper,10,4) + Else + lnAn1 = Val(Substr(pcondper,3,4)) + lnLuna1 = Val(Substr(pcondper,1,2)) + lnAn2 = Val(Substr(pcondper,3,4)) + lnLuna2 = Val(Substr(pcondper,1,2)) + + lnInit = lnAn1 * 12 + lnLuna1 + lnFinal = lnAn2 * 12 + lnLuna2 + pcPerioada = Substr(pcondper,1,2)+'/'+Substr(pcondper,3,4) + ' - ' + Substr(pcondper,1,2)+'/'+Substr(pcondper,3,4) + Endif + ***------------------------------- + *!* lcSel = [{call pack_gest_rapoarte.fisa_magazie(?lnAn1, ?lnLuna1, ?lnAn2, ?lnLuna2, ?pnId_gestiune, ?pnId_articol)}] + *!* lcCursor = 'cFisa' + *!* lnSucces = goExecutor.oExecute(lcSel,lcCursor) + + *!* If lnSucces < 0 + *!* amessage('Call pack_gest_rapoarte.fisa_magazie' + Chr(13) + goExecutor.cEroare,0+16,"Eroare") + *!* Return + *!* Endif + ***---------------------------- + *------------------------------ + + + If pnId_articol = 0 + lcCond = " and id_gestiune = " + Str(pnId_gestiune) + Else + lcCond = " and id_gestiune = " + Str(pnId_gestiune) + " and id_articol = " + Str(pnId_articol) + ; + IIF(!Empty(Alltrim(Nvl(pcSerie,'')))," and serie = ?pcSerie "," and TRIM(serie) IS NULL ") + Endif + If tnTipGest = 6 + lcPret = "pretv" + Else + lcPret = "pret" + Endif + lcStoc = 'crsStoc' + lcRulaje = 'crsRulaje' + + If Used(lcStoc) + Use In (lcStoc) + Endif + + If Used(lcRulaje) + Use In (lcRulaje) + Endif + lcCond = lcCond + gcCondSucursala + lcSqlStoc = "select id_articol,denumire,serie,"+ lcPret +" as pret,codmat,um,id_gestiune,cants,cante,cant,datain from vstoc where an = " + Str(lnAn1) + " and luna = " + Str(lnLuna1) + lcCond + lcSqlRulaje = "select cod,nnir,id_articol,denumire,serie,codmat,um,id_gestiune,cant,cante,"+ lcPret +" as pret,valoare,dataact,datain,dataout from vrul where an * 12 + luna between " + Str(lnAn1*12+lnLuna1) + " and " + Str(lnAn2*12+lnLuna2) + lcCond + lnSucces = goExecutor.oExecute(lcSqlStoc,lcStoc) + If lnSucces < 0 + amessage('SELECT stoc' + Chr(13) + goExecutor.cEroare,0+16,"Eroare") + Return + Endif + lnSucces = goExecutor.oExecute(lcSqlRulaje,lcRulaje) + If lnSucces < 0 + amessage('SELECT rulaje' + Chr(13) + goExecutor.cEroare,0+16,"Eroare") + Return + Endif + Select crsStoc + Replace All denumire With Nvl(denumire,''), serie With Nvl(serie,''),codmat With Nvl(codmat,''), um With Nvl(um,''), datain With Nvl(datain,{//::}) + Select crsRulaje + Replace All nnir With Nvl(nnir,0),denumire With Nvl(denumire,''), serie With Nvl(serie,''), codmat With Nvl(codmat,''), um With Nvl(um,''), datain With Nvl(datain,{//::}), dataout With Nvl(dataout,{//::}), dataact With Nvl(dataact,{//::}) + + + Select id_articol, codmat, denumire, um, serie From crsStoc ; + UNION ; + SELECT id_articol, codmat, denumire, um, serie From crsRulaje; + INTO Cursor crsArticole; + ORDER By 2, 3 + + *!* modificare 28.11.2006 + *!* CREATE TABLE &gcTempPath\fisa_stoc (id_articol N(20),denumire c(100),codmat c(50),um c(6),ldata d,nrdoc c(15),cantin N(12,3),; + *!* pretin N(12,3),valin N(14,2),cantout N(12,3),pretout N(12,3),valout N(14,2),cantf N(12,3),pretf N(12,3),; + *!* valf N(14,2),idf N(10)) + If Used('fisa_stoc') + Use In fisa_stoc + Endif + + Create Cursor fisa_stoc (id_articol N(20),denumire c(100),serie c(100),codmat c(50),um c(6),ldata d,nrdoc c(15),cantin N(12,3),; + pretin N(12,3),valin N(14,2),cantout N(12,3),pretout N(12,3),valout N(14,2),cantf N(12,3),pretf N(12,3),; + valf N(14,2),idf N(10)) + *!* modificare 28.11.2006 ^ + Select crsArticole + Scan + lnIdArticol = id_articol + lcDenumire = Alltrim(denumire) + lcCodMat = Alltrim(codmat) + lcUm = Alltrim(um) + lcSerie = Alltrim(serie) + *============================== + *!* modificare 28.11.2006 + *!* SELECT id_articol,cants AS cantf, PRET AS pretf,cants*PRET AS valf, datain AS ldata," " AS nrdoc,; + *!* denumire,codmat,um,000000000000.000 AS cantin,000000000000.000 AS pretin,00000000000000.00 AS valin,; + *!* 000000000000.000 AS cantout,000000000000.000 AS pretout,00000000000000.000 AS valout,0000000000 AS idf; + *!* FROM crsStoc WHERE id_articol = lnIdArticol AND cants <> 0; + *!* INTO TABLE &gcTempPath\cstoc ORDER BY datain READWRITE + Select id_articol,serie,cants As cantf, Pret As pretf,cants*Pret As valf, datain As ldata," " As nrdoc,; + denumire,codmat,um,000000000000.000 As cantin,000000000000.000 As pretin,00000000000000.00 As valin,; + 000000000000.000 As cantout,000000000000.000 As pretout,00000000000000.000 As valout,0000000000 As idf; + FROM crsStoc Where id_articol = lnIdArticol And cants <> 0 And Nvl(serie,'+_') = Nvl(lcSerie,'+_') ; + INTO Cursor cstoc Order By datain Readwrite + *!* modificare 28.11.2006 ^ + + Select cstoc + Sum cantf To lnCantf + Sum valf To lnValf + Locate For Empty(idf) + If Found() + Replace cantin With lnCantf, valin With lnValf,nrdoc With 'Stoc initial' + Replace denumire With lcDenumire, codmat With lcCodMat, um With lcUm, id_articol With lnIdArticol,serie With lcSerie + Replace All idf With 1 For Empty(idf) + Endif + + If _Tally > 0 + *!* modificare 28.11.2006 + *!* lcDbfStoc = DBF("cstoc") + *!* SELECT fisa_stoc + *!* APPEND FROM (lcDbfStoc) + Select fisa_stoc + Append From Dbf('cstoc') + *!* modificare 28.11.2006 ^ + Else + Select fisa_stoc + Append Blank + Replace cantin With lnCantf, valin With lnValf,nrdoc With 'Stoc initial' + Replace denumire With lcDenumire, codmat With lcCodMat, um With lcUm, id_articol With lnIdArticol,serie With lcSerie + Replace All idf With 1 For Empty(idf) + Endif + + If Used('crulaj') + Use In crulaj + Endif + Select * From crsRulaje Where id_articol = lnIdArticol And Nvl(serie,'+_') = Nvl(lcSerie,'+_'); + INTO Cursor crulaj Order By dataact, cod, nnir + + Select crulaj + + Scan + Scatter Name xrul + + Select fisa_stoc + Calculate Max(idf) To lnMax + lnMax = lnMax + 1 + + Select cstoc + Replace All idf With lnMax + + Do Case + Case xrul.CANT != 0 + Locate For pretf = xrul.Pret + If !Found() + Select cstoc + Append Blank + Replace cantin With xrul.CANT,pretin With xrul.Pret,valin With xrul.CANT*xrul.Pret + Replace cantout With 0 + Replace cantf With xrul.CANT, pretf With xrul.Pret,valf With xrul.CANT*xrul.Pret + Replace idf With lnMax,ldata With xrul.datain,nrdoc With Str(xrul.nnir) + Replace id_articol With lnIdArticol + Replace denumire With xrul.denumire, codmat With xrul.codmat, um With xrul.um, serie With xrul.serie + Else + Replace cantin With xrul.CANT,pretin With xrul.Pret,valin With xrul.CANT*xrul.Pret + Replace cantf With cantf+xrul.CANT,valf With valf+valin + Replace ldata With xrul.datain,nrdoc With Str(xrul.nnir) + Replace id_articol With lnIdArticol + Replace denumire With xrul.denumire, codmat With xrul.codmat, um With xrul.um, serie With xrul.serie + Endif + Case xrul.CANTE != 0 + Select cstoc + Locate For pretf=xrul.Pret + If !Found() + Append Blank + Replace idf With lnMax + Endif + Replace cantout With xrul.CANTE,pretout With xrul.Pret,valout With xrul.CANTE*xrul.Pret + Replace cantf With cantf-xrul.CANTE,pretf With xrul.Pret,valf With valf-valout + Replace ldata With xrul.dataout,nrdoc With Str(xrul.nnir) + Replace id_articol With lnIdArticol + Replace denumire With xrul.denumire, codmat With xrul.codmat, um With xrul.um, serie With xrul.serie + Endcase + Select fisa_stoc + *!* APPEND FROM &gcTempPath\cstoc + Append From Dbf('cstoc') + Select cstoc + Delete All For cantf=0 + Replace All cantin With 0, cantout With 0 + Release xrul + Select crulaj + Endscan &&crulaj + Endscan && crsArticole + *======================================================================================================= + pcTitlu = "FISA DE MAGAZIE" + Select fisa_stoc + replace ALL nrdoc WITH '' FOR cantin=0 AND cantout=0 AND alltrim(nrdoc)<>'Stoc initial' + If Reccount('fisa_stoc')>0 + *Keyboard '{CTRL+F10}' + *Report Form fisa_magazie_FIFO To Printer Prompt Preview + goExport.export2frx([fisa_stoc],[fisa_magazie_FIFO],.T., , , , , .T.) + Else + amessagebox("Nu exista inregistrari pentru listare!",0+48,"Atentie") + Endif + + If Used('crsstoc') + Use In crsStoc + Endif + + If Used('crsrulaje') + Use In crsRulaje + Endif + + If Used('crsarticole') + Use In crsArticole + Endif + + If Used('cstoc') + Use In cstoc + Endif + + If Used('crulaj') + Use In crulaj + Endif + + If Used("fisa_stoc") + Use In fisa_stoc + Endif + +Endproc && fisa_magazie_FIFO + + +***----------------------------------------------------------------------------------------------------------- +Procedure fisa_ob_inventar_resp + Parameters tlExcel + && tlToate - se genereaza raportul pt. toate obiectele de inventar + + Private pcTitlu, pcPerioada && , pcDataOra && pt. raport + Store "" To pcTitlu +&& pcDataOra = get_ora(2) + + Private pnId_responsabil + Store 0 To pnId_responsabil + + loResp = caut_responsabil(.T.) + pnId_responsabil = loResp.id_responsabil + + ***------------------------------- + Private pdDataI, pdDataF + Store {} To pdDataI, pdDataF + + loLuna = get_oluna(gnAn, gnLuna) + lcLuna1 = Padl(loLuna.lunamin,2,'0') + Padl(loLuna.anmin,4,'0') + lcLuna2 = Padl(loLuna.lunamax,2,'0') + Padl(loLuna.anmax,4,'0') + + Local lcData1 + lcData1 = '01/'+Padl(loLuna.lunamin,2,'0')+'/'+Alltrim(Str(loLuna.anmin)) + pdDataI = Ctod(lcData1) + pdDataF = ULTIMAZI(Str(loLuna.anmax), Str(loLuna.lunamax)) + + + ofrmperioada = Createobject('frm_perioada_zzllaaaa') + ofrmperioada.pdDataI = pdDataI + ofrmperioada.pdDataF = pdDataF + ofrmperioada.Show(1) + If gnButon=2 + Return + Endif + + pcPerioada = Dtoc(pdDataI) + ' - ' + Dtoc(pdDataF) + ***------------------------------- + lcSel = [{call pack_gest_rapoarte.fisa_ob_inventar_resp(?pdDataI, ?pdDataF, ?pnId_responsabil,?gnIdSucursala)}] + lcCursor = 'cFisa' + lnSucces = goExecutor.oExecute(lcSel,lcCursor) + + If lnSucces < 0 + amessagebox('Call pack_gest_rapoarte.fisa_ob_inventar_resp' + Chr(13) + goExecutor.cEroare,0+16,"Eroare") + Return + Endif + ***------------------------------- + pcTitlu = "FISA DE EVIDENTA A OBIECTELOR DE INVENTAR IN FOLOSINTA" + + If tlExcel + goExport.export2xls([cFisa]) +*!* Do export_xls With "cFisa" + Else + goExport.export2frx([cFisa],[fisa_obi_resp]) +*!* Select cFisa +*!* Report Form fisa_obi_resp To Printer Prompt Preview + Endif + If Used("cFisa") + Use In cFisa + Endif + +Endproc && fisa_ob_inventar_resp +***----------------------------------------------------------------------------------------------------------- +Procedure fisa_ob_inventar_resp_stoc + Parameters tlExcel + && tlToate - se genereaza raportul pt. toate obiectele de inventar + + Private pcTitlu &&, pcDataOra + Store "" To pcTitlu &&, pcDataOra + Local lcOrder, lcOrderColumn, loColumnSort + lcOrder = "" + lcOrderColumn = "" + + + Private pnId_responsabil + Store 0 To pnId_responsabil + lcTitlu = [CANTITATI CUMULATE] + pcTitlu = lcTitlu && ceretitlu_rap([Titlul raportului],lcTitlu) +*!* pcDataOra = get_ora(2) + pcGrupGest = [ALLTRIM(nresp) + ', NR. MATRICOL: ' + ALLTRIM(IIF(NVL(marca,0)=0,'',STR(NVL(marca,0))))] + pcGrupCont = [EOF()] + pcGrupAcont = [EOF()] + pcHeaderGrup = [Responsabil ] + lcOrder = "nresp,denumire,codmat" + lcSql = [] + N=0 + lcKeepTitle="" + gnButon=1 + Do While gnButon#2 + N=N+1 + loResp = caut_responsabil(.T.) + If gnButon=2 + Exit + Endif + pnId_responsabil = loResp.id_responsabil + If(N>1) + pcTitlu =lcKeepTitle + Else + pcTitlu = ceretitlu_rap([Titlul raportului],[SUBINVENTAR LA ]+Dtoc(Date())) + lcKeepTitle=pcTitlu + Endif + + lcSel = [{call pack_gest_rapoarte.fisa_ob_inventar_resp_stoc(?gnAn, ?gnLuna, ?pnId_responsabil, ?gnIdSucursala)}] + lcCursor = 'cFisa' + lnSucces = goExecutor.oExecute(lcSel,lcCursor) + + If lnSucces < 0 + amessagebox('Call pack_gest_rapoarte.fisa_ob_inventar_resp' + Chr(13) + goExecutor.cEroare,0+16,"Eroare") + Return + Endif + ***------------------------------- + + If tlExcel + goExport.export2xls([cFisa]) +*!* Do export_xls With "cFisa" + Else + goExport.export2frx([cFisa],[rap_stocachi_grup2]) +*!* Select cFisa +*!* Report Format rap_stocachi_grup2.FRX To Printer Prompt Noconsole Preview + Endif + Enddo + + If Used('cFisa') + Use In cFisa + Endif + +Endproc && fisa_ob_inventar_resp_stoc +***----------------------------------------------------------------------------------------------------------- +Procedure necesar_echipamente + + Private pdData + Store Date() To pdData + + Private pocond,pcschema1,pcselect1,pcfiltru1,pcorder1 &&Conditii din nomenclator + Store '' To pocond,pcschema1,pcselect1,pcfiltru1,pcorder1 + + pcschema1 = [''] + pcselect1 = ['select id_conditie,denumire,conditie from sal_vnom_cond where 1=1'] + lcCursor = [sCond] + pcorder1 = [denumire] + pcfiltru1 = [2=2] + llAfiseaza = .T. + gencursor('pocond',lcCursor,pcselect1,pcfiltru1,pcschema1,pcorder1,llAfiseaza) + pocond.ca_baza1.afisare() + + Select *, 1 As ales From sCond Into Cursor v_conditii Readwrite + Select v_conditii + + ***----------- + Private poper, pcschema3, pcselect3, pcfiltru3, pcorder3 &&Persoane + Store '' To poper,pcschema3,pcselect3,pcfiltru3,pcorder3 + pcschema3 = [''] + pcselect3 = ['select s.id_part,s.marca,s.nume,s.prenume, s.meserie, s.formatia, 0 as ales from sal_vstat s '+] + ; + [' where 1=2'] + pcfiltru3 = [1=2] + pcorder3 = [nume,prenume] + llAfiseaza = .T. + + gencursor('poper','v_pers',pcselect3,pcfiltru3,pcschema3,pcorder3,llAfiseaza) + poper.ca_baza1.afisare() + + lone = Createobject('frm_necesar_echipamente') + lone.Show(1) + + +Endproc && necesar_echipamente +***----------------------------------------------------------------------------------------------------------- + +*!* Procedure raport_rulaj +*!* Lparameters toHash + +*!* If Type('toHash') <> 'O' +*!* toHash = GetHash() +*!* Endif + +*!* Private poFiltru +*!* poFiltru = Createobject("custom") + +*!* With poFiltru +*!* .AddProperty("cSql","") +*!* .AddProperty("nrord","") +*!* .AddProperty("id_lucrare",0) +*!* .AddProperty("nume_gestiune","") +*!* .AddProperty("id_gestiune",0) +*!* .AddProperty("sectie","") +*!* .AddProperty("id_sectie",0) +*!* .AddProperty("nresp","") +*!* .AddProperty("id_responsabil",0) +*!* Endwith + +*!* *!* loRap = Createobject("frm_date_rapoarte_rulaje", toHash) +*!* loRap = Createobject("frm_date_rapoarte_rulaje") +*!* loRap.Show(1) + +*!* Endproc && raport_rulaj + +***----------------------------------------------------------------------------------------------------------- +*!* Procedure consum_lucrari_articole + +*!* Local loHash +*!* loHash = GetHash() +*!* With loHash +*!* .SetValue("cListaCampuri", "lucrare,articol,serie,cante,valoutach") +*!* .SetValue("cListaOrdonare", "1,2,3") +*!* .SetValue("cListaGrupare", "1,2,3") +*!* .SetValue("cTipRulaj", "IESIRI") +*!* .SetValue("cTitlu", "Consum materiale pe lucrari/articole") +*!* .SetValue("cRaport", "rap_rul_consum_lucrari_articole") +*!* .SetValue("lReadOnly", .T.) +*!* Endwith + +*!* Do raport_rulaj With loHash && "lucrare,articol,cante,valoutach", "1,2", "1,2", "IESIRI" +*!* Endproc && consum_lucrari_articole + +***----------------------------------------------------------------------------------------------------------- +*!* Procedure centralizator_consum_lucrari + +*!* Local loHash +*!* loHash = GetHash() +*!* With loHash +*!* .SetValue("cListaCampuri", "cont,lucrare,valoutach") +*!* .SetValue("cListaOrdonare", "1,2") +*!* .SetValue("cListaGrupare", "1,2") +*!* .SetValue("cTipRulaj", "IESIRI") +*!* .SetValue("cTitlu", "Centralizator consum pe lucrari") +*!* .SetValue("cRaport", "rap_rul_centralizator_consum_lucrari") +*!* .SetValue("lReadOnly", .T.) +*!* Endwith + +*!* Do raport_rulaj With loHash && "lucrare,articol,cante,valoutach", "1,2", "1,2", "IESIRI" + +*!* Endproc && centralizator_consum_lucrari +***----------------------------------------------------------------------------------------------------------- +Procedure rap_compar_stoc_bal + + Private pcLunaI, pcLunaF + pcLunaI = Padl(gnLuna,2,'0') + Alltrim(Str(gnAn)) + pcLunaF = Padl(gnLuna,2,'0') + Alltrim(Str(gnAn)) + + locsb = Createobject('frm_compar_stoc_bal') + locsb.Show(1) + +Endproc && rap_compar_stoc_bal +***----------------------------------------------------------------------------------------------------------- + +***----------------------------------------------------------------------------------------------------------- +PROCEDURE fisa_magazie_FIFO_valuta + Lparameters tnTipGest, tnIdGestiune, tcNumeGestiune, tnIdArticol, tcSerie,tnIdValuta,tcValuta + + Private pcTitlu, pcPerioada, pcDataOra && pt. raport + Store "" To pcTitlu + + + pcDataOra = get_ora(2) + + tcSerie = IIF(EMPTY(tcSerie), "", tcSerie) + + Private pnId_gestiune, pcGestiune, pnId_articol, pcSerie,pnIdValuta,pcValuta + Store 0 To pnId_gestiune, pnId_articol,pnIdValuta + Store '' To pcGestiune,pcSerie,pcValuta + + If Empty(tnIdGestiune) Or Type("tnIdGestiune")!="N" + loGest = caut_gestiune(tnTipGest, gnIdUtil) + If buton = 2 + Return + Endif + pcGestiune = loGest.nume_gestiune + pnId_gestiune = loGest.id_gestiune + pcNumeGestiune = Upper(Alltrim(loGest.nume_gestiune)) + Else + pnId_gestiune = tnIdGestiune + pcGestiune = tcNumeGestiune + pcNumeGestiune = tcNumeGestiune + Endif + If Empty(tnIdArticol) Or Type("tnIdArticol")!="N" + loArticol = caut_articol(tnTipGest, .T.) + If buton = 2 + Return + Endif + pnId_articol = loArticol.id_articol + + *!* modificare 20.08.2007 ( cere seria ) + pcSerie = [] + ofrmSerie = Null + ofrmSerie = Createobject("frm_cere_titlu",'Serie','pcSerie') + ofrmSerie.lb_titlu_alb_b121.Caption = Alltrim(loArticol.denumire) + ofrmSerie.Show(1) + pcSerie = Alltrim(pcSerie) + *!* modificare 20.08.2007 ^ + pcDenumire = Upper(Alltrim(loArticol.denumire)) + pcUm = Upper(Alltrim(loArticol.um)) + pcCodMaterial = Upper(Alltrim(loArticol.codmat)) + Else + pnId_articol = tnIdArticol + pcSerie = tcSerie + Endif + If Empty(tnIdValuta) Or Type("tnIdValuta")!="N" + loValuta = caut_valuta(.f.,.f., .T.) + If buton = 2 Or (Empty(loValuta.id_valuta) And Empty(loValuta.nume_val)) + Return + Endif + pnIdValuta = loValuta.id_valuta + pcValuta =ALLTRIM(loValuta.nume_val) + + Else + pnIdValuta = tnIdValuta + pcValuta = TcValuta + Endif +*!* Private pnIdArticol,pcDenumire,pnId_gestiune,pcNumeGestiune,pcSerie,pcUm,pcCodMaterial,pcTitlu, pcPerioada, pcDataOra,pnIdValuta +*!* Store '' To pcTitlu,pcNumeGestiune,pcSerie,pcUm,pcCodMaterial,pcDataOra + +*!* If Used('crstemp') +*!* Use In crstemp +*!* Endif + +*!* Select (lcCursor) && crsrul +*!* pnIdArticol = id_articol +*!* pnIdGestiune = id_gestiune +*!* pcDenumire = Upper(Alltrim(denumire)) +*!* pcUm = Upper(Alltrim(um)) +*!* pcCodMaterial = Upper(Alltrim(codmat)) +*!* pcSerie = Upper(Alltrim(serie)) +*!* pcNumeGestiune = Upper(Alltrim(nume_gestiune)) +*!* pnIdValuta = Nvl(id_valuta,0) + +*!* pcTitlu = [FISA MAGAZIE ( CU PRETURI IN VALUTA )] +*!* ofrmTitlu = Createobject("frm_cere_titlu",'Titlu','pcTitlu') +*!* ofrmTitlu.Show(1) +*!* pcTitlu = Alltrim(pcTitlu) +*!* Release ofrmTitlu + + +*!* perioada raport +Private pnAnI, pnLunaI, pnAnLunaI, pnAnLunaF +Store 0 To pnAnI, pnLunaI, pnAnLunaI, pnAnLunaF +loLuna = get_oluna(gnAn, gnLuna) +lcLuna1 = Padl(loLuna.lunamin,2,'0') + Padl(loLuna.anmin,4,'0') +lcLuna2 = Padl(loLuna.lunamax,2,'0') + Padl(loLuna.anmax,4,'0') + +pcondper="" +ofrmperioada=Createobject('frm_perioada_luni') +With ofrmperioada + ._textbox1.Value=lcLuna1 + ._textbox2.Value=lcLuna2 + ._optiongrup1.Value = 2 + ._optiongrup1.Valid() +Endwith +ofrmperioada.Show(1) +If gnButon=2 + Return +Endif +pcTitlu = [FISA MAGAZIE ( CU PRETURI IN ]+pcValuta + [ )] +ofrmTitlu = Createobject("frm_cere_titlu",'Titlu','pcTitlu') +ofrmTitlu.Show(1) +pcTitlu = Alltrim(pcTitlu) +Release ofrmTitlu + +plPerioada=.F. +lnPoz=At('_',pcondper) +If lnPoz>0 + plPerioada=.T. +Endif + + +If plPerioada + pnAnI = Val(Substr(pcondper,3,4)) + pnLunaI = Val(Substr(pcondper,1,2)) + pnAnF = Val(Substr(pcondper,10,4)) + pnLunaF = Val(Substr(pcondper,8,2)) + + pnAnLunaI = pnAnI * 12 + pnLunaI + pnAnLunaF = pnAnF * 12 + pnLunaF + pcPerioada = Substr(pcondper,1,2)+'/'+Substr(pcondper,3,4) + ' - ' + Substr(pcondper,8,2)+'/'+Substr(pcondper,10,4) +Else + pnAnI = Val(Substr(pcondper,3,4)) + pnLunaI = Val(Substr(pcondper,1,2)) + + pnAnLunaI = pnAnI * 12 + pnLunaI + pnAnLunaF = pnAnLunaI + pcPerioada = Substr(pcondper,1,2)+'/'+Substr(pcondper,3,4) + ' - ' + Substr(pcondper,1,2)+'/'+Substr(pcondper,3,4) +Endif + +*!* lcSql = [select a.dataact,a.nnir,a.pret,a.pretd,a.nume_valuta_a,a.cant,a.pretv,a.pretdv,a.nume_valuta_v,] + ; +*!* [a.cante,sum(nvl(a.cant, 0) - nvl(a.cante, 0)) over(order by a.dataact,a.dataora) as cants ] + ; +*!* [from (select last_day(to_date(a.an || a.luna, 'YYYYMM')) as dataact, ] + ; +*!* [null as nnir,a.pret,a.pretd,decode(b.moneda_nationala, 0, b.nume_val, null) as nume_valuta_a,] + ; +*!* [a.cants + a.cant - a.cante as cant,null as pretv,0 as pretdv,null as nume_valuta_v,null as cante,null as dataora ] + ; +*!* [from ] + gcS + [.stoc a ] + ; +*!* [left join ] + gcS + [.nom_valute b on a.id_valuta = b.id_valuta ] +; +*!* [where a.id_articol = ?pnId_Articol and NVL(a.id_valuta,0) = ?pnIdValuta and a.luna = ?pnLunaI and a.an = ?pnAnI ] + ; +*!* [and NVL(a.serie,'+_') = NVL(?pcSerie,'+_') and a.id_gestiune = ?pnId_gestiune ] + ; +*!* STRTRAN(gcCondSucursala,[id_sucursala],[a.id_sucursala]) + ; +*!* [union all ] + ; +*!* [select a.dataact,a.nnir,a.pret,] + ; +*!* [a.pretd,decode(d.moneda_nationala, 0, d.nume_val, null) as nume_valuta_a,] + ; +*!* [decode(a.cante, 0, a.cant, null) as cant,decode(a.cant, 0, a.pretv, null) as pretv,] + ; +*!* [decode(e.moneda_nationala,0,decode(c.pret_cu_tva,0,c.pret,1,round(c.pret / c.proc_tvav,] + ; +*!* [pack_sesiune.getoptiunefirma('PVAL'))),0) as pretdv,] + ; +*!* [decode(e.moneda_nationala, 0, e.nume_val, null) as nume_valuta_v,decode(a.cant, 0, a.cante, null) as cante,a.dataora ] + ; +*!* [from ] + gcS + [.rul a ] + ; +*!* [left join ] + gcS + [.vanzari b on a.cod = b.cod and b.sters = 0 and NVL(a.id_sucursala,-99) = NVL(b.id_sucursala,-99) ] + ; +*!* [left join ] + gcS + [.vanzari_Detalii c on a.id_articol = c.id_articol ] + ; +*!* [and a.id_gestiune = c.id_gestiune and a.cont = c.cont and nvl(a.serie, '+_') = nvl(c.serie, '+_') ] + ; +*!* [and b.id_vanzare = c.id_vanzare ] + ; +*!* [left join ] + gcS + [.nom_valute d on a.id_valuta = d.id_valuta ] + ; +*!* [left join ] + gcS + [.nom_valute e on c.id_valuta = e.id_valuta ] + ; +*!* [where a.id_articol = ?pnId_Articol and NVL(a.id_valuta,0) = ?pnIdValuta and a.sters = 0 ] + ; +*!* [and NVL(a.serie,'+_') = NVL(?pcSerie,'+_') and a.id_gestiune = ?pnId_gestiune ] + ; +*!* Strtran(gcCondSucursala,[id_sucursala],[a.id_sucursala]) + ; +*!* [and a.id_tip_rulaj <> 3 and a.luna + a.an * 12 between ?pnAnLunaI and ?pnAnLunaF order by 1) a ] + +lcSql = [select dataact,nnir,pret,pretd,nume_valuta_a,cant,pretv, pretdv, nume_valuta_v, cante, cants,dataora,] + ; + [sum(case when dataora is null then 0 when cants <> 0 Or ((cant Is Not Null Or cante Is Not Null) And cants = 0) then 1 else 0 end)] + ; + [ over(partition by dataact, dataora order by pretd) as ordine from ] + ; + [(select dataact,nnir,pret,pretd,nume_valuta_a,cant,pretv, pretdv,nume_valuta_v,cante,dataora,] + ; + [sum(nvl(cant, 0) - nvl(cante, 0)) over(partition by pretd order by dataact, dataora) as cants from ] +; + [(select last_day(to_date(a.an || a.luna, 'YYYYMM')) as dataact,null as nnir,] +; + [a.pret,a.pretd,decode(b.moneda_nationala, 0, b.nume_val, null) as nume_valuta_a, a.cants + a.cant - a.cante as cant,]+; + [null as pretv,null as pretdv, null as nume_valuta_v, null as cante, null as dataora ]+; + [from ] + gcS + [.stoc a ] + ; + [left join ] + gcS + [.nom_valute b on a.id_valuta = b.id_valuta ] +; + [where a.id_articol = ?pnId_Articol and NVL(a.id_valuta,0) = ?pnIdValuta and a.luna + a.an * 12 = ?pnAnLunaI-1 ] + ; + [and NVL(a.serie,'+_') = NVL(?pcSerie,'+_') and a.id_gestiune = ?pnId_gestiune ] + ; + STRTRAN(gcCondSucursala,[id_sucursala],[a.id_sucursala]) + ; + [ union all ] + ; + [(select a.dataact,a.nnir,f.pret, f.pretd,decode(d.moneda_nationala,0,d.nume_val,null) as nume_valuta_a,]+; + [decode(a.pretd,f.pretd,decode(a.cante, 0, a.cant, null),null) as cant,]+; + [decode(a.pretd,f.pretd,decode(a.cant, 0, a.pretv, null),null) as pretv,] +; + [decode(a.pretd,f.pretd,decode(e.moneda_nationala,0,decode(c.pret_cu_tva, 0,c.pret, 1,] +; + [round(c.pret / c.proc_tvav,pack_sesiune.getoptiunefirma('PVAL'))), null),null) as pretdv,] +; + [decode(a.pretd, f.pretd,decode(e.moneda_nationala,0, e.nume_val,null),null) as nume_valuta_v,] +; + [decode(a.pretd,f.pretd,decode(a.cant, 0, a.cante, null),null) as cante,a.dataora ] +; + [from ] + gcS + [.rul a ] +; + [left join ] + gcS + [.vanzari b on a.cod = b.cod and b.sters = 0 and NVL(a.id_sucursala,-99)=NVL(b.id_sucursala,-99) ] +; + [left join ] + gcS + [.vanzari_Detalii c on a.id_articol = c.id_articol and a.id_gestiune = c.id_gestiune and a.cont = c.cont and nvl(a.serie,'+_') = nvl(c.serie,'+_') and b.id_vanzare = c.id_vanzare ] +; + [left join ] + gcS + [.nom_valute d on a.id_valuta = d.id_valuta ] +; + [left join ] + gcS + [.nom_valute e on c.id_valuta = e.id_valuta ] +; + [left join (select a.pret, a.pretd, a.id_gestiune ] +; + [from ] + gcS + [.stoc a ] +; + [where a.id_articol = ?pnId_Articol and NVL(a.id_valuta, 0) = ?pnIdValuta and a.luna + a.an * 12 = ?pnAnLunaI-1 and NVL(a.serie, '+_') = NVL(?pcSerie, '+_') and a.id_gestiune = ?pnId_gestiune ] +; + STRTRAN(gcCondSucursala,[id_sucursala],[a.id_sucursala]) + ; + [ union select a.Pret, a.pretd, a.id_gestiune from ] + gcS + [.rul a ] + ; + [Where a.id_articol = ?pnId_Articol ] +; + [And Nvl(a.id_valuta, 0) = ?pnIdValuta ] +; + [And a.sters = 0 ] +; + [And Nvl(a.serie, '+_') = ] +; + [Nvl(?pcSerie, '+_') ] +; + [And a.id_gestiune = ?pnId_gestiune ] +; + STRTRAN(gcCondSucursala,[id_sucursala],[a.id_sucursala]) + ; + [ And a.id_tip_rulaj <> 3 And a.luna + a.an * 12 Between ?pnAnLunaI And ?pnAnLunaF) F On a.id_gestiune = F.id_gestiune ] +; + [Where a.id_articol = ?pnId_Articol And Nvl(a.id_valuta, 0) = ?pnIdValuta And a.sters = 0 ] +; + [And Nvl(a.serie, '+_') = Nvl(?pcSerie, '+_') And a.id_gestiune = ?pnId_gestiune ] +; + STRTRAN(gcCondSucursala,[id_sucursala],[a.id_sucursala]) + ; + [ And a.id_tip_rulaj <> 3 And a.luna + a.an * 12 Between ?pnAnLunaI And ?pnAnLunaF))) ] +; + [Where cants <> 0 Or ((cant Is Not Null Or cante Is Not Null) And cants = 0) ] +; + [Order By dataact, dataora, pretd ] + +lnSucces = goExecutor.oExecute(lcSql,[crstemp]) +If lnSucces < 0 + amessagebox(goExecutor.cEroare,16,"Eroare") +Else + If Reccount('crstemp')>0 + pcDataOra = get_ora(2) + *Keyboard '{CTRL+F10}' + Select crstemp + *Report Form fisa_magazie_fifo_val To Printer Prompt Preview + goExport.export2frx([crstemp],[fisa_magazie_fifo_val],.F., , , , , .T.) + Else + amessagebox("Nu exista inregistrari pentru perioada selectata!",0+48,"Atentie") + Endif +Endif + +If Used('crstemp') + Use In crstemp +Endif +ENDPROC + +***----------------------------------------------------------------------------------------------------------- +PROCEDURE rap_stocuri_pe_vechimi +PRIVATE pcCont,pcGestiune,pnid_gestiune,ofrmopt,pnOptiune,pnButon, pdDataReferinta +STORE '' TO pcCont,pcGestiune +STORE 0 TO pnid_gestiune +pdDataReferinta = DATE() +LOCAL lcFiltruInitial,lcTitlu,lcIntrebare,lnNrOptiuni,lcSql + +pofrmaleg = CREATEOBJECT('frm_cerere_cont_gestiune') +pofrmaleg.show(1) +IF gnButon = 2 + RETURN +ENDIF +*!* modificare ROAGEST v 2.0.103 + *!* pcTitlu = ceretitlu_rap([Titlul raportului],[RAPORT STOCURI PE VECHIMI LA ]+Dtoc(Date())) +*!* modificare ROAGEST v 2.0.103 ^ + +lcFiltruInitial = [a.an=]+ Alltrim(Str(gnAn))+[ and a.luna=]+ Alltrim(Str(gnLuna))+[ ]+; + Strtran(gcCondSucursala,[id_sucursala],[a.id_sucursala]) + +IF !EMPTY(pcCont) AND !ISNULL(pcCont) + lcFiltruInitial = lcFiltruInitial + [ and a.cont = ']+ALLTRIM(pcCont)+['] +ENDIF + +IF !EMPTY(pnid_gestiune) AND !ISNULL(pnid_gestiune) + lcFiltruInitial = lcFiltruInitial + [ and id_gestiune = ]+ALLTRIM(STR(pnid_gestiune)) +ENDIF + +lcSql = [select a.ID_ARTICOL,a.DATAIN,a.DENUMIRE,a.NUME_GESTIUNE,a.CONT,a.pret,a.CANTS+a.cant-a.cante as stoc,a.codmat,a.datain,]+; + [ NVL(trunc(last_day(to_date('] + DTOS(m.pdDataReferinta) + [','YYYYMMDD')))-trunc(a.DATAIN),400) as vechime ]+; + [ from vstoc a where ]+lcFiltruInitial +[ order by a.NUME_GESTIUNE,a.CONT,a.denumire] +lnSucces = goExecutor.oExecute(lcSql,[crsvechimestoc]) +If lnSucces < 0 + amessagebox(goExecutor.cEroare,16,"Eroare") +Else + If Reccount('crsvechimestoc')>0 + pnOptiune=1 + pnButon=1 + lcTitlu="STOCURI PE VECHIMI" + lcIntrebare=" Alegeti modul de vizualizare a datelor :" + lnNrOptiuni=2 + ofrmopt=Createobject("frm_optiune",lcTitlu,lcIntrebare,lnNrOptiuni) + ofrmopt.ogOptiuni.option1.Caption="Listare" + ofrmopt.ogOptiuni.option2.Caption="Export in Excel" + ofrmopt.Show(1) + +*!* modificare ROAGEST v 2.0.103 + IF pnButon=2 + RETURN + ENDIF +*!* pcDataOra = get_ora(2) +*!* Select crsvechimestoc + IF pnOptiune=1 + PRIVATE pcTitlu +*!* pcTitlu = ceretitlu_rap([Titlul raportului],[RAPORT STOCURI PE VECHIMI LA ]+Dtoc(Date())) +*!* Keyboard '{CTRL+F10}' +*!* Report Form rap_vechime_stocuri To Printer Prompt Preview + pcTitlu = [RAPORT STOCURI PE VECHIMI LA ]+DTOC(m.pdDataReferinta) + goExport.export2frx([crsvechimestoc],[rap_vechime_stocuri],.T.) + ELSE + SELECT nume_gestiune,cont,denumire,codmat,TTOD(datain) as datain,ROUND(pret,gnPPRET) as pret,ROUND(iif(vechime<31,stoc,0),gnPCANT) as cant_1_30,ROUND(iif(vechime<31,stoc,0)*pret,gnPA) as val_1_30,ROUND(iif(vechime>=31 and vechime<61,stoc,0),gnPCANT) as cant_31_60, ; + ROUND(iif(vechime>=31 and vechime<61,stoc,0)*pret,gnPA) as val_31_60,ROUND(iif(vechime>=61 and vechime<91,stoc,0),gnPCANT) as cant_61_90,ROUND(iif(vechime>=61 and vechime<91,stoc,0)*pret,gnPA) as val_61_90, ; + ROUND(iif(vechime>=91 and vechime<365,stoc,0),gnPCANT) as cant_91_1an,ROUND(iif(vechime>=91 and vechime<365,stoc,0),gnPA) as val_91_1an,ROUND(iif(vechime>=365,stoc,0),gnPCANT) as cant_Peste_1an, ; + ROUND(iif(vechime>=365,stoc,0)*pret,gnPA) as val_Peste_1an from crsvechimestoc ORDER BY nume_gestiune, cont, denumire into cursor crsvechimestocxls + goExport.export2xls([crsvechimestocxls]) + ENDIF + Else + amessagebox("Nu exista inregistrari pentru perioada selectata!",0+48,"Atentie") + ENDIF + +ENDIF +IF USED('crsvechimestoc') +USE IN crsvechimestoc +ENDIF +IF USED('crsvechimestocxls') +USE IN crsvechimestocxls +ENDIF +RELEASE pofrmaleg,ofrmopt +*!* modificare ROAGEST v 2.0.103 ^ + +ENDPROC + +***----------------------------------------------------------------------------------------------------------- diff --git a/programe/orapoarte_dinamice.prg b/programe/orapoarte_dinamice.prg new file mode 100644 index 0000000..ddca243 --- /dev/null +++ b/programe/orapoarte_dinamice.prg @@ -0,0 +1,251 @@ +*!* 04.03.2011 +*!* marius.mutu +*!* alege_raport - arat doar rapoartele pe care are drepturi utilizatorul curent + +Procedure alege_raport + Lparameters tnIdFormularRaport, tlDrepturi + + Private pnIdRaport + Local lcSql, lnSucces, loFrmAlegeRaport,loFrmRaport,lcForm + + pnIdRaport = 0 + + + lcForm = [frm_date_rapoarte_rulaje] + Do Case + Case tnIdFormularRaport = 1 && rapoarte bazate pe rulaje + lcForm = [frm_date_rapoarte_rulaje] + Case tnIdFormularRaport = 2 && rapoarte dinamice sql + lcForm = [frm_date_rapoarte_sql] + Case tnIdFormularRaport = 3 && rapoarte bazate pe balanta de parteneri + lcForm = [frm_date_rapoarte_balpart] + Otherwise + amessagebox("Nu exista configurari pentru acest tip de raport!",16,_screen.Caption) + Return + Endcase + + If Used('crsrapoarte') + Use In crsrapoarte + Endif + + IF tlDrepturi + lcSql = [select r.id_raport,Substr(denumire,1,254) as denumire,titlu from vrapoarte r join rapoarte_utilizatori ru on r.id_raport = ru.id_raport ] + ; + [where r.id_formular_raport = ] + Alltrim(Str(m.tnIdFormularRaport)) + [ and ru.id_utilizator = ] + ALLTRIM(STR(m.gnIdUtil)) + [ order by denumire] + ELSE + lcSql = [select r.id_raport,Substr(denumire,1,254) as denumire,titlu from vrapoarte r ] + ; + [where r.id_formular_raport = ] + Alltrim(Str(tnIdFormularRaport)) + [ order by denumire] + ENDIF + lnSucces = goExecutor.oExecute(lcSql,[crsrapoarte]) + If lnSucces < 0 + amessagebox(goExecutor.cEroare,16,"Eroare") + Return + ELSE + lcMenu = [Raport nou;\-] + SELECT crsRapoarte + SCAN + lcMenu = lcMenu + [;] + ALLTRIM(denumire) + ENDSCAN + lnMenu = xmenu(lcMenu) +*!* If Reccount('crsrapoarte') > 0 +*!* loFrmAlegeRaport = Createobject('frm_optiuni_rapoarte') +*!* loFrmAlegeRaport.Show(1) +*!* Else +*!* gnButon = 1 +*!* Endif + pnIdRaport = 0 + IF lnMenu > 0 + IF lnMenu = 1 && raport nou + pnIdRaport = 0 + ELSE + SELECT crsRapoarte + IF RECCOUNT()>= lnMenu-2 + GOTO lnMenu - 2 + pnIdRaport = id_raport + ENDIF + ENDIF + + + loFrmRaport = Createobject(lcForm, m.pnIdRaport, m.tlDrepturi) + loFrmRaport.Show(1) + + ENDIF && lnMenu > 0 + If Used('crsrapoarte') + Use In crsrapoarte + Endif + ENDIF && lnSucces < 0 + + + + Release loFrmAlegeRaport,loFrmRaport +Endproc + +*=========================================================== +* lanseaza formularul de editare raport cu un raport incarcat (fara sa aleg raportul) +* folosesc daca stiu ID-ul raportului (ex. rapoarte sql predefinite) +*=========================================================== +PROCEDURE executa_raport + LPARAMETERS tnIdFormularRaport, tnIdRaport + + llDrepturi = .T. + lcForm = [] + Do Case + Case tnIdFormularRaport = 1 && rapoarte bazate pe rulaje + lcForm = [frm_date_rapoarte_rulaje] + Case tnIdFormularRaport = 2 && rapoarte dinamice sql + lcForm = [frm_date_rapoarte_sql] + Case tnIdFormularRaport = 3 && rapoarte bazate pe balanta de parteneri + lcForm = [frm_date_rapoarte_balpart] + ENDCASE + IF EMPTY(m.lcForm) + amessagebox("Nu exista configurari pentru acest tip de raport!",16,_screen.Caption) + Return + ENDIF + + loFrmRaport = Createobject(m.lcForm, m.tnIdRaport, m.llDrepturi) + loFrmRaport.Show(1) +ENDPROC + +*=========================================================== +* creez cursorul cu parametri din tcSql, il completez cu definitiile salvate in rapoarte.csql_parametri +* salvez definitia parametrilor (titlu, tip ...) in rapoarte +* salvez filtrul cu parametri in rapoarte_filtre (titlu,camp,semn,valoare) +*=========================================================== +Procedure parametri_rapoarte_sql + Parameters tcSql, tnIdRaport + + Private pcParametriXML, pcFiltru + + Local lcParametriXML, lnSucces, lcText, lcValue, lnAtPos1, lnAtPos2, lcSelect + Local lcParametri, lcParametru, loFrmAlegeRaport, lcTitlu, lcCamp, lcTipCamp + Local lcPozitieSemn, lcValoare + + pcParametriXML = "" + pcFiltru = "" + + lcSelect = Select() + lcText = tcSql + lcParametri = "" + + + lnSucces = goExecutor.oSelect2Value([select csql_parametri from rapoarte where id_raport = ?tnIdRaport], @lcParametriXML) + + If lnSucces < 0 + amessagebox(goExecutor.cEroare,16,"Eroare") + Return + Endif + + Create Cursor crsParametriTemp(parametru C(250)) + + Create Cursor crsParametriXML(parametru C(250), titlu C(100), CAMP M, TIPCAMP C(10), CAMPID C(100), CAMPCAUTARE C(100)) + If !Empty(Nvl(m.lcParametriXML,'')) + Xmltocursor(m.lcParametriXML, "crsParametriXMLTemp") + Select crsParametriXML + Append From Dbf("crsParametriXMLTemp") + Use In (Select("crsParametriXMLTemp")) + Endif + + *** Lista de parametri din sql dupa separatori <%=...%> + *** ex: select * from act where an = <%=tnAn%> and luna = <%=tnLuna%> + + Do While Atcc('<%=', lcText) > 0 + * Get the start and end position of the next expression + lnAtPos1 = Atcc('<%=', lcText) + lnAtPos2 = Atcc('%>', lcText) + + * Extract the next expression + lcParametru = Substr(m.lcText, lnAtPos1 + 3, lnAtPos2 - lnAtPos1 - 3) + * Remove any cariage returns from the expression as they could be inserted by an HTML editor + lcParametru = Upper(Alltrim(Chrtran(m.lcParametru, Chr(13) + Chr(10), ''))) + * Adaug o singura aparitie a unui parametru (sa nu ii cer de mai multe ori data curenta, daca in sql este nevoie de ea de mai multe ori) + SELECT crsParametriTemp + LOCATE FOR parametru = lcParametru + IF !FOUND() + Insert Into crsParametriTemp (parametru) Values (m.lcParametru) + ENDIF + * Evaluate it + *!* lcValue = TRANSFORM(EVALUATE(lcEval)) + lcValue = 'x' + * Stuff the result back instead of the original expression + lcText = Stuffc(lcText, lnAtPos1, lnAtPos2 - lnAtPos1 + 2, lcValue) + Enddo + *** + + *!* completare parametri cu definitia salvata in baza de date + Select p.parametru, x.titlu, p.parametru as CAMP, x.TIPCAMP, x.CAMPID, x.CAMPCAUTARE ; + FROM crsParametriTemp p Left Join crsParametriXML x On p.parametru = x.parametru ; + INTO Cursor crsParametri Readwrite + Use In (Select('crsParametriTemp')) + Use In (Select('crsParametriXML')) + Select crsParametri + + loFrmAlegeRaport = Createobject('frm_optiuni_rapoarte_sql') + loFrmAlegeRaport.Show(1) + + If gnButon = 1 + Cursortoxml("crsParametri", "pcParametriXML",1,0+2,0,"") + lnSucces = goExecutor.oExecute("update rapoarte set csql_parametri = ?pcParametriXML where id_raport = ?tnIdRaport") + + If lnSucces < 0 + amessagebox(goExecutor.cEroare,16,"Eroare") + ELSE + *** salvez filtrul in rapoarte_filtre + pcFiltru = "" + Select crsParametri + Scan + lcTitlu = Alltrim(titlu) + lcCamp = Alltrim(parametru) + lcTipCamp = Upper(Alltrim(TIPCAMP)) + lcCamp = Iif(lcTipCamp = 'D1', 'AN*12+LUNA', lcCamp) + lcPozitieSemn = Iif(lcTipCamp = 'N', '1', Iif(lcTipCamp = 'C', '2', Iif(lcTipCamp = 'D', '1', Iif(lcTipCamp = 'D1', '1', '1')))) + lcValoare = Iif(lcTipCamp = 'N', '0', Iif(lcTipCamp = 'C', '', Iif(lcTipCamp = 'D', '{//}', Iif(lcTipCamp = 'D1', Padl(Alltrim(Str(gnLuna)),2,[0]) + [/] + Alltrim(Str(gnAn)), '0')))) + + pcFiltru = pcFiltru + lcTitlu + [;] + lcCamp + [;] + lcPozitieSemn + [;;] + lcValoare + [|] + *!* IESIRI;CANTE;2;;0.000|SI|TIP RULAJ;NONE;0;0;INTRARE/IESIRE REALA|SI|PERIOADA;AN*12+LUNA;1;;LUNA_CURENTA| + lnSucces = goExecutor.oExecute("begin pack_rapoarte.salveaza_filtru(?tnIdRaport, ?pcFiltru); end;") + + If lnSucces < 0 + amessagebox(goExecutor.cEroare,16,"Eroare") + ENDIF + Endscan + + + Endif + Endif + + + Use In (Select('crsParametri')) + Select (lcSelect) + RETURN gnButon + +Endproc + + +*=========================================================== +* creeaza cursorul crsParametriXML cu criteriile de selectie (an, luna etc.) +*=========================================================== +Procedure criterii_rapoarte_sql + Parameters tnIdRaport + + Local lcParametriXML, lnSucces, lcSelect + + + lcSelect = Select() + + + Create Cursor crsParametriXML(parametru C(250), titlu C(100), CAMP M, TIPCAMP C(10), CAMPID C(100), CAMPCAUTARE C(100) ) + + lnSucces = goExecutor.oSelect2Value([select csql_parametri from rapoarte where id_raport = ?tnIdRaport], @lcParametriXML) + + If lnSucces < 0 + amessagebox(goExecutor.cEroare,16,"Eroare") + Else + If !Empty(Nvl(m.lcParametriXML,'')) + Xmltocursor(m.lcParametriXML, "crsParametriXMLTemp") + Select crsParametriXML + Append From Dbf("crsParametriXMLTemp") + Use In (Select("crsParametriXMLTemp")) + Endif + Endif + + Select (lcSelect) +Endproc && criterii_rapoarte_sql diff --git a/programe/oredeschid.prg b/programe/oredeschid.prg new file mode 100644 index 0000000..182d256 --- /dev/null +++ b/programe/oredeschid.prg @@ -0,0 +1,300 @@ +*!* 12.01.2011 +*!* marius.mutu +*!* deschidluna + parametru: tlProgramat +*!* deschiderea / redeschiderea de luna se face automat de catre un job in baza de date noaptea + +******************************************* +* PROCEDURE deschiluna( ) +* Data/ora : 11/15/04, 17:13:14 +* autor : liana.macinic +* descriere: + +****** PARAMETER BLOCK ************** +* Parametri : 1 +* parametru: tdeschid = este .t. daca procedura se foloseste pentru deschidere de luna +* este .f. daca procedura se foloseste pentru redeschidere de luna +* parametru: tcTipRefacere: refacere_completa, refacere_precedente_rulaje +* refacere_completa - stergere si refacere +* parametru: tlProgramat: deschiderea / redeschiderea de luna se face automat de catre un job in baza de date noaptea +******************************************* +Procedure deschidluna + Lparameters tlDeschid,tcTipRefacere, tlProgramat + Local lcExplicatie,lcConfirmare,lcMesaj,loFrm + If tlDeschid + lcAn = Alltrim(Str(Year(Gomonth(Date(gnAn,gnLuna,1),1)))) + lcLuna = Alltrim(Str(Month(Gomonth(Date(gnAn,gnLuna,1),1)))) + lcExplicatie = [Deschidere de lunã] + lcConfirmare = [Doriti sã deschideti luna ] + lcLuna + [ / ] + lcAn + [ ?] + lcMesaj = [S-a deschis luna ] + lcLuna + [ / ] + lcAn + [ !] + Else + lcAn = Alltrim(Str(gnAn)) + lcLuna = Alltrim(Str(gnLuna)) + lcExplicatie = [Redeschidere de luna] + lcConfirmare = [Doriti sã redeschideti luna ] + lcLuna + [ / ] + lcAn + [ ?] + lcMesaj = [S-a redeschis luna ] + lcLuna + [ / ] + lcAn + [ !] + + IF m.glLunaInchisa + AMESSAGEBOX('Luna este inchisa! Nu se poate face redeschiderea de luna!',0+64,_screen.Caption) + RETURN + ENDIF + ENDIF + +*!* modificare v 2.4.0 + private pnTvaIncasare, pnImpozitProfit + pnTvaIncasare = goCalendar.tva_incasare + pnImpozitProfit = goCalendar.impozit_profit + + loFrm = createobject("frm_deschidere_luna_cont",lcExplicatie,lcConfirmare,tlDeschid) + loFrm.Show() + if gnButon = 1 +*!* If AMESSAGEBOX(lcConfirmare,4+32,lcExplicatie)=6 +*!* modificare v 2.4.0 ^ + _Screen.MousePointer = 11 + *!* modificare v 2.4.0 : am adaugat pnTvaIncasare + lcSql = [begin deschidere_luna(] + lcAn + [,] + lcLuna + [,] + Iif(tlDeschid,[1],[0]) + [,] + ; + IIF(EMPTY(tcTipRefacere),[1],IIF(UPPER(ALLTRIM(tcTipRefacere)) = [REFACERE_COMPLETA],[3],[1])) + [,?pnTvaIncasare,?gnIdUtil); end;] + lnSucces = goExecutor.oExecute(lcSql) + _Screen.MousePointer = 0 + If lnSucces < 0 + AMESSAGEBOX(goExecutor.cEroare,64,"Eroare") + Else + AMESSAGEBOX(lcMesaj,48,lcExplicatie) + If tlDeschid + lnSucces = update_calendar() + If lnSucces < 0 + AMESSAGEBOX('Eroare la actualizarea calendarului!' + CHR(13)+CHR(10) + goExecutor.cEroare, 16, "Eroare") + Return + Endif + + Select calendar + Locate For luna = VAL(lcLuna) And anul = VAL(lcAn) + If Found() + Scatter Name goCalendar + Else + AMESSAGEBOX('Eroare la citirea lunii in calendar!' + CHR(13)+CHR(10) + goExecutor.cEroare, 16, "Eroare") + Return + Endif + Do OINIT_OPTIUNI.prg + Endif + Endif + Endif + Release pnTvaIncasare && modificare v 2.4.0 +Endproc +******************************************* +*!* PROCEDURE deschidluna +*!* PARAMETERS tldeschid, tcTipRefacere +*!* +*!* LOCAL lnDuplicatTva +*!* lnDuplicatTva = 0 + +*!* PRIVATE plDeschid, pnDeschid +*!* IF !tlDeschid AND glLunaInchisa +*!* MESSAGEBOX('Luna este blocata! Nu se poate redeschide luna.', 0+64, _screen.Caption) +*!* RETURN +*!* ENDIF +*!* IF EMPTY(tldeschid) +*!* STORE .F. TO plDeschid +*!* pnDeschid = 0 +*!* ELSE +*!* plDeschid = tldeschid +*!* pnDeschid = 1 +*!* ENDIF + +*!* IF EMPTY(tcTipRefacere) OR TYPE('tcTipRefacere') <> 'C' +*!* tcTipRefacere = "REFACERE_PRECEDENTE_RULAJE" +*!* ELSE +*!* tcTipRefacere = UPPER(tcTipRefacere) +*!* ENDIF +*!* +*!* IF plDeschid +*!* ldData1 = GOMONTH(DATE(gnAn,gnLuna,1),1) +*!* lnAn = YEAR(ldData1) +*!* lnLuna = MONTH(ldData1) +*!* lcAn = ALLTRIM(STR(lnAn)) +*!* lcLuna = PADL(ALLTRIM(STR(lnLuna)),2,'0') + +*!* lnValoare = 12*lnAn + lnLuna +*!* lcSelect = [select COUNT(*) as duplicat from ] + gcS + [.CALENDAR where 12*anul + luna = ?lnValoare] +*!* lnSucces = goExecutor.oExecute(lcSelect,[crsTest]) +*!* IF lnSucces < 0 +*!* AMESSAGEBOX(goExecutor.cEroare) +*!* RETURN +*!* ENDIF + +*!* SELECT crsTest +*!* IF duplicat > 0 +*!* AMESSAGEBOX('Luna ' + lcLuna + ' / ' + lcAn + ' este deja deschisa! ') +*!* RETURN +*!* ENDIF +*!* USE IN crsTest + + + +*!* lnPlafonCasa = goCalendar.plafon_casa +*!* lnPlafonPlati = goCalendar.plafon_plati +*!* lnPlafonFurniz = goCalendar.plafon_furnizori +*!* IF AMESSAGEBOX('Doriti sa deschideti luna ' + lcLuna + ' / ' + lcAn + '?',4+32,"Deschidere de luna")!=6 +*!* RETURN +*!* ENDIF + +*!* *!* 10.07.2006 +*!* *!* FLORIN CIOCAN +*!* lcSelect = [select COUNT(*) as duplicatTVA from COTE_TVA ] + ; +*!* [ where an = ] + TRANSFORM(lnAn) + [ AND luna = ] + TRANSFORM(lnLuna) + [ AND sters = 0] +*!* lnSucces = goExecutor.oExecute(lcSelect,[crsTest]) +*!* IF lnSucces < 0 +*!* AMESSAGEBOX(goExecutor.cEroare) +*!* RETURN +*!* ENDIF + +*!* SELECT crsTest +*!* lnDuplicatTva = duplicatTva +*!* USE IN crsTest + +*!* IF lnDuplicatTva = 0 +*!* lcSql = [insert into cote_tva (proc_tva, descriere, procent, an, luna) ] + ; +*!* [ SELECT proc_tva, descriere, procent, ] + TRANSFORM(lnAn) + [,] + TRANSFORM(lnLuna) + [ from cote_tva where an = ?gnAn and luna = ?gnLuna and sters = 0 ] + +*!* lnSucces = goExecutor.oExecute(lcSql) +*!* IF lnSucces < 0 +*!* AMESSAGEBOX(goExecutor.cEroare) +*!* RETURN +*!* ENDIF +*!* ENDIF + +*!* lcInsert = [INSERT INTO ] + gcS + [.CALENDAR (NL,AN,CTVAI,CTVAM,PLAFON_casa,plafon_plati,plafon_furnizori,anul,luna) ] + ; +*!* [VALUES (?lcLuna ,?lcAn,] + ALLTRIM(STR(NVL(goCalendar.ctvai,0),5,3)) + [,] + ALLTRIM(STR(NVL(goCalendar.ctvam,0),5,3)) + [,?lnPlafonCasa,?lnPlafonPlati,?lnPlafonFurniz,?lnAn,?lnLuna)] + +*!* lnSucces = goExecutor.oExecute(lcInsert) +*!* IF lnSucces < 0 +*!* AMESSAGEBOX(goExecutor.cEroare) +*!* RETURN +*!* ENDIF + +*!* lnSucces = update_calendar() +*!* IF lnSucces < 0 +*!* AMESSAGEBOX('Eroare la actualizarea Calendarului ' + goExecutor.cEroare) +*!* RETURN +*!* ENDIF + +*!* SELECT calendar +*!* LOCATE FOR luna = lnLuna AND anul = lnAn +*!* IF FOUND() +*!* SCATTER NAME goCalendar +*!* ELSE +*!* AMESSAGEBOX('Eroare la citirea lunii in Calendar ' + goExecutor.cEroare) +*!* RETURN +*!* ENDIF + +*!* *!* 11.05.2007 +*!* *!* PAULA MUTU +*!* *** +*!* IF gnLuna = 12 +*!* lcSql = [insert into plcont (acont, explicatie, cont, tip_sold, an, tip_cont, id_mod, inactiv, nefolosit, explicatieS) ] + ; +*!* [ SELECT acont, explicatie, cont, tip_sold, ] +ALLTRIM(STR(gnAn+1)) + [ as an, tip_cont, id_mod, inactiv, nefolosit, explicatieS ]+; +*!* [ from plcont where an = ?gnAn ] + +*!* lnSucces = goExecutor.oExecute(lcSql) +*!* IF lnSucces < 0 +*!* AMESSAGEBOX(goExecutor.cEroare) +*!* RETURN +*!* ENDIF +*!* ENDIF +*!* *** + +*!* DO OINIT_OPTIUNI.prg +*!* * DO update_nomenclator IN updateserver.prg +*!* ELSE +*!* IF AMESSAGEBOX('Doriti sa redeschideti luna ' + ALLTRIM(STR(gnLuna)) + ' / ' + ALLTRIM(STR(gnAn)) + '?',4+32,"Redeschidere de luna")!=6 +*!* RETURN +*!* ENDIF +*!* ENDIF + +*!* *DO verificareGlobala WITH .F.,.T. IN overificari.prg +*!* lnLuna = goCalendar.luna +*!* lnAn = goCalendar.anul + +*!* DO VerificareLunaDeschisa WITH lnLuna, lnAn, .T., .T., .T. IN overificari.prg +*!* IF USED('crsverificari') +*!* lnNrInreg = 1 +*!* lnInreg = 1 +*!* lnNrInreg=lnNrInreg+RECCOUNT('crsconturi') +*!* loTherm = NEWOBJECT("_thermometer","_therm","","Generare situatie luna contabila "+ALLTRIM(STR(lnLuna))+"/"+ALLTRIM(STR(lnAn))+"...") +*!* WITH loTherm +*!* .SHOW() +*!* lnPercent = 0 + +*!* lcexplicatia="Generare situatie" +*!* .UPDATE(lnPercent,lcexplicatia) + +*!* SELECT crsverificari +*!* SCAN +*!* lcsursa = UPPER(ALLTRIM(sursa)) +*!* lccont = ALLTRIM(CONT) +*!* lctip = IIF(UPPER(tcTipRefacere) = 'REFACERE_COMPLETA', '3', '1') +*!* lcexplicatia = explicatia +*!* lnPercent =(lnInreg*100)/lnNrInreg + +*!* .UPDATE(lnPercent,'Generare '+lcexplicatia) + +*!* DO refacere WITH lcsursa,lctip,lccont IN orefaceri.prg +*!* lnInreg=lnInreg+1 +*!* SELECT crsverificari +*!* ENDSCAN +*!* .COMPLETE() +*!* ENDWITH +*!* RELEASE loTherm + +*!* IF plDeschid +*!* AMESSAGEBOX('S-a deschis luna '+ ALLTRIM(STR(gnLuna)) + ' / ' + ALLTRIM(STR(gnAn)) + '!',48,"Deschidere de luna") +*!* ELSE +*!* AMESSAGEBOX('S-a redeschis luna '+ ALLTRIM(STR(gnLuna)) + ' / ' + ALLTRIM(STR(gnAn))+ '!',48,"Redeschidere de luna") +*!* ENDIF +*!* +*!* lcSelect = [insert into log_redeschid (anul, luna, id_program, deschid, id_util) values (?gnAn, ?gnLuna, ?gnIdProgram, ?pnDeschid, ?gnIdUtil)] +*!* lnSucces = goExecutor.oExecute(lcSelect) +*!* IF lnSucces < 0 +*!* AMESSAGEBOX(goExecutor.cEroare) +*!* ENDIF +*!* +*!* ELSE +*!* AMESSAGEBOX('Nu s-au refacut situatiile! Verificati in meniul Actualizari / Verificare globala!',48, IIF(plDeschid,"Deschidere de luna","Redeschidere de luna")) +*!* ENDIF +*!* IF USED('crsverificari') +*!* USE IN crsverificari +*!* ENDIF + + +*!* ENDPROC && deschiluna + +*********************** SFARSIT procedura deschiluna ************************* + + +*********************** INCEPUT redeschidere_de_luna ************************* + + +*********************** SFARSIT redeschidere_de_luna ************************* + + +*********************** INCEPUT programare_deschidere_luna ************************* +PROCEDURE programare_deschidere_luna + PRIVATE poProgramare + LOCAL m.lcSelect, m.lcFiltru, m.lcSchema, m.lcOrder, m.llAfisare + + poProgramare = null + lcSchema=[] + lcSelect=[select id_redeschid, anul, luna, id_program, program, id_util, utilizator, dataora, deschid, programat, dataora_start, dataora_stop, id_utils, utilizators, dataoras, sters, SUBSTR(observatii,1,250) as observatii from vlog_redeschid] + lcFiltru=[STERS = 0 AND LUNA = ]+ALLTRIM(STR(m.gnluna))+[ AND ANUL = ]+ALLTRIM(STR(m.gnan)) + lcOrder=[anul desc, luna desc, dataora desc] + llAfisare=.F. + lcGroup = [] + llModParam = .T. + lcFiltruOriginal = "" + gencursor('poProgramare','cLogRedeschid', m.lcSelect, m.lcFiltru, m.lcSchema, m.lcOrder, m.llAfisare, m.lcgroup, m.llModParam, m.lcFiltruOriginal) + + poProgramare.ca_baza1.afisare() + + loProgramareForm = NEWOBJECT("frm_log_deschidereluna","odeschidereluna.vcx") + loProgramareForm.show(1) +ENDPROC && programare_deschidere_luna +*********************** SFARSIT programare_deschidere_luna ************************* \ No newline at end of file diff --git a/programe/orefaceri.prg b/programe/orefaceri.prg new file mode 100644 index 0000000..b23e308 --- /dev/null +++ b/programe/orefaceri.prg @@ -0,0 +1,112 @@ +Procedure refacere + Lparameters tcSursa,tcLunar,tcCont,tnLuna,tnAn + *!* 11.02.2008 + *!* TREBUIE SA FIE SETAT pack_contafin.SET_ID_SUCURSALA INAINTE DE REFACERE/SCRIERE + + LOCAL lcExecute, lcSql + + Private lcLunar,lcCont,lnSucces,lnLuna,lnAn + lnSucces = -1 + If Empty(tnLuna) + lnLuna=gnLuna + Else + lnLuna=tnLuna + Endif + + If Empty(tnAn) + lnAn=gnAn + Else + lnAn=tnAn + Endif + + lcProc = "REFAC_" + Upper(Alltrim(tcSursa)) + lcLunar=Alltrim(tcLunar) + If Empty(tcCont) + lcCont = "" + Else + lcCont = Alltrim(tcCont) + Endif + + Do Case + Case lcProc == 'REFAC_BALANTA' + lcSql = [begin PACK_REFACERI.] + lcProc + [('] + gcS +[',] + Alltrim(Str(lnAn)) + [,] +; + ALLTRIM(Str(lnLuna)) + [,] + lcLunar + [); end;] + + Case lcProc == 'REFAC_BALANTA_PARTENERI' + lcSql = [begin PACK_REFACERI.] + lcProc + [('] + gcS +[',] + Alltrim(Str(lnAn)) + [,] +; + ALLTRIM(Str(lnLuna)) + [,'] + lcCont + [',] + lcLunar + [); end;] + + Case lcProc == 'REFAC_IREG_PARTENERI' + + lcSql = [begin PACK_REFACERI.] + lcProc + [('] + gcS +[',] + Alltrim(Str(lnAn)) + [,] +; + ALLTRIM(Str(lnLuna)) + [,'] + lcCont + [',] + lcLunar + [,0); end;] + + Case lcProc == 'REFAC_TVA_2007' + lcSql = [begin ] + gcS + [.PACK_REFACERI.] + lcProc + [('] + lcCont + [',] + Alltrim(Str(lnAn)) + [,] + ; + ALLTRIM(Str(lnLuna)) + [); end;] + + Case lcProc == 'REFAC_TVA' + Select infisiere + If lcCont = '4426' + Locate For Cont = '4426' + lcCorespD = Alltrim(coresp_d) + lcCorespC = Alltrim(coresp_c) + lcCorespDtva = Alltrim(coresp_d) + [,4428] + lcCorespCtva = Alltrim(coresp_c) + *lcExceptii = [767] + lcExceptii = [-1] + lcTabel = [cump] + lcSql = [select distinct cont_c as exceptie from ] + gcS + [.exceptii_ireg where cont in (] + lcCorespD + [) and invers = 1] + Endif + If lcCont = '4427' + Select infisiere + Locate For Cont = '4427' + lcCorespD = Alltrim(coresp_d) + lcCorespC = Alltrim(coresp_c) + [,5121,5311] + lcCorespDtva = Alltrim(coresp_d) + lcCorespCtva = Alltrim(coresp_c) + [,4428] + lcExceptii = [419] + lcTabel = [vanz] + lcSql = [select distinct cont_c as exceptie from ] + gcS + [.exceptii_ireg where cont in (] + lcCorespC + [) and invers = 1] + Endif + + lnSucces = goExecutor.oExecute(lcSql,'cont_exceptii') + If lnSucces > 0 + Select cont_exceptii + Scan + lcExceptii = lcExceptii + ',' + Alltrim(exceptie) + Endscan + Use In cont_exceptii + Else + amessagebox(lcProc + CRLF + goExecutor.cEroare,0+16,"Eroare") + Endif + + lcListaCampuri = get_lista_Act() + lcSql = [begin pack_REFACERI.REFAC_TVA('] + gcS +[',?lcTabel, pack_contafin.getCotaTVAStandard(?gnLuna,?gnAn), 1.09, '] + lcCorespDtva +[', '] + lcCorespD +[', '] + lcCorespCtva +[', '] + lcCorespC +[',] + lcCont + [, '] + lcExceptii +[',?lnAn, ?lnLuna,1,'] + lcListaCampuri + [' ); end;] + + Case lcProc == 'REFAC_STOC' + lcSql = [begin pack_refaceri.refac_stoc(?gcS,?lnAn,?lnLuna,] + lcLunar + [); end;] + + Case lcProc == 'REFAC_STOC_OBINV' + lcSql = [begin pack_refaceri.refac_stoc_obinv(?gcS,?lnAn,?lnLuna,] + lcLunar + [); end;] + + Otherwise + lcSql = [] + Endcase + + If !Empty(lcSql) + *!* 11.02.2008 + lcExecute = [begin pack_contafin.SET_ID_SUCURSALA(?gnIdSucursala); end;] + lnSucces = goExecutor.oExecute(lcExecute) + If lnSucces < 0 + amessagebox(goExecutor.cEroare,0+16,"Eroare") + ELSE + lnSucces = goExecutor.oExecute(lcSql) + If lnSucces < 0 + amessagebox(lcProc + CRLF + goExecutor.cEroare,0+16,"Eroare") + ENDIF + ENDIF + *!* 11.02.2008 ^ + Endif + Return lnSucces +Endproc diff --git a/programe/osalarii_comun.prg b/programe/osalarii_comun.prg new file mode 100644 index 0000000..1163d12 --- /dev/null +++ b/programe/osalarii_comun.prg @@ -0,0 +1,2395 @@ + +FUNCTION zile_supl(tnIdMes) + LOCAL lnzilesupl,lnIdMes + lnzilesupl = 0 + lcIdMes = ALLTRIM(STR(tnIdMes)) + + lcSQl = [select s.zilesupl_co from ] + gcs + [.sal_vnom_mes s where s.id_meseria =] + lcIdMes + lcCursor = 'v_mes' + lnSucces = goExecutor.oExecute(lcSQl,lcCursor) + + IF lnSucces < 0 + MESSAGEBOX(goExecutor.cEroare,0+16,"Eroare") + RETURN lnzilecuv + ENDIF + SELECT v_mes + lnzilesupl = v_mes.zilesupl_co + + RETURN lnzilesupl + + + **************************************************************************************************** + + +PROCEDURE viz_pers + LOCAL llEroare + llEroare = .F. + PRIVATE poper,pcschema1,pcselect1,pcfiltru1,pcorder1 &&personal + STORE '' TO poper,pcschema1,pcselect1,pcfiltru1,pcorder1 + + pcschema1 =['nr n(10),id_salariat n(10),nume c(50),prenume c(50),marca n(10),codpers c(30),judet c(32),localitate c(32),sector n(2),'+] + ; + ['strada c(64),numar c(16),bloc c(16),scara c(16),etaj c(4),apart c(10),codpostal n(10),vechimei n(10),modincadr c(32),cmseria c(16),'+] + ; + ['cmnr c(16),locnastere c(32),id_nationalit n(5),cetatenie c(24),biserianr c(30),bieliberat c(32),bidata d,sitmil c(32),livretmil c(32),'+] +; + ['id_profesie n(5),specializ c(32),data_vech d,stareciv n(5),numesot c(32),numetata c(32),numemama c(32),starecivil c(16),id_stat n(10),'+] +; + ['id_meserie n(5),id_formatie n(5),profesia c(64),meseria c(64),formatia c(64),dataang d,datalic d,datasfctr d,'+]+; + ['id_tipctr n(5),tip_contract c(64),id_handicap n(10),handicap c(64),id_cas n(10),'+]+; + ['grupacas c(64),id_caseasig n(10), casaasig c(64),nrctrm n(10),datactrm d,nrctr n(10),datactr d,gradmil c(32),specmil c(32),tarifar n(16,4),'+]+; + ['SECTIE c(30),fractie n(1),orenorm n(1),plcas n(1),plsomaj n(1),pensionar n(1),plimpozit n(1),functiebaza n(1),cod c(10),'+]+; + ['id_clasasal n(5),contiban c(50),vechime n(10),id_banca n(5),banca c(64),c_vechime n(5,3),in_tura n(1),'+] + ; + ['id_judet n(10),id_loc n(10),id_part n(10),id_modlic n(2),modlic c(64),motivlic c(128),biseria c(2),binr c(8),'+]+; + ['nationalitate c(64),id_cetatenie n(3),id_tip_act n(3),tip_act c(64),id_sectie n(5),elev n(1),zilecofix n(3),somaj_tehnic n(1), datast1 d, datast2 d,stare_contract n(1),'+]+; + ['datainceputs d,datasfarsits d,dataincetares d,id_parts n(10),denumires c(250),id_taras n(10),taras c(250),codcetatenie c(50),'+] + ; + ['id_temeis n(10),explicaties c(250),id_tipautorizatie n(10),tipautorizatie c(250),datainceputautorizatie d,datasfarsitautorizatie d,id_stare_ctr n(10),'+]+; + ['id_tip_norma n(10),nume_tip_norma c(200),id_durata_munca n(10),nume_durata_munca c(200),'+]+; + ['id_repartizare_munca n(10),nume_repartizare_munca c(200),id_interval_munca n(10),nume_interval_munca c(200),id_sal_ctr n(10),id_tipapatrid n(3),apatrid c(48),codapatrid c(24),'+]+; + ['cassalmin n(1),scutireimpozit c(250),oug114 n(1),studiisup n(1), sc_general c(100),sc_prof c(100),licprofil c(100),licspec c(100),sc_maistri c(100),sc_post c(100),'+]+; + ['specializare c(100),codacc c(32),telefon c(32),codcod c(32),nrctrmchr c(64)'] + pcselect1 = ['select 0000000000,id_salariat,nume ,prenume ,marca ,codpers ,judet ,localitate ,sector,strada,numar,bloc,scara,etaj,'+] + ; + ['apart ,codpostal ,vechimei ,modincadr,cmseria ,cmnr ,locnastere ,id_nationalit ,cetatenie ,biserianr ,'+] + ; + ['bieliberat ,bidata ,sitmil ,livretmil ,id_profesie ,specializ ,data_vech ,stareciv,numesot,numetata,'+] + ; + ['numemama,starecivil,id_stat,id_meserie,id_formatie,profesia,meseria,formatia,dataang,datalic,datasfctr,'+]+; + ['id_tipctr,tip_Contract,id_handicap,handicap,id_cas,'+]+; + ['grupacas,id_caseasig,casaasig,nrctrm,datactrm,nrctr,datactr,gradmil,specmil,tarifar,sectie,fractie,orenorm,plcas,plsomaj,'+] +; + ['pensionar,plimpozit,functiebaza,cod,id_clasasal,contiban,vechime,id_banca,banca,c_vechime,in_tura,'+] +; + ['id_judet,id_loc,id_part,id_modlic,modlic,motivlic,biseria,binr,nationalitate,id_cetatenie,id_tip_act,tip_act,id_sectie,elev,zilecofix,'+]+; + ['somaj_tehnic,datast1,datast2,stare_contract,datainceputs,datasfarsits,dataincetares,id_parts,denumires,id_taras,taras,codcetatenie,id_temeis,explicaties,'+]+; + ['id_tipautorizatie,tipautorizatie,datainceputautorizatie,datasfarsitautorizatie,id_stare_ctr,'+]+; + ['id_tip_norma,nume_tip_norma,id_durata_munca,nume_durata_munca,'+]+; + ['id_repartizare_munca,nume_repartizare_munca,id_interval_munca,nume_interval_munca,id_sal_ctr,id_tipapatrid,apatrid,codapatrid,'+]+; + ['cassalmin ,scutireimpozit,oug114+1 as oug114,studiisup, sc_general,sc_prof,licprofil,licspec,sc_maistri,sc_post,specializare,codacc,telefon,codcod,nrctrmchr '+]+; + [' from ] + gcs + [.sal_vnom_pers where 1=2'] + + pcorder1=[nume,prenume] + pcfiltru1 = [1=2] + llAfiseaza = .F. + + gencursor('poper','v_personal',pcselect1,pcfiltru1,pcschema1,pcorder1,llAfiseaza) + poper.ca_baza1.afisare() + + SELECT v_personal + SCATTER NAME popers + SCATTER NAME popers_orig && modificare v 2.0.0 + ******************************************************* + *!* modificare v 2.0.8 + lcSQl = [select id_tip_norma,nume_tip_norma from syn_sal_nom_tip_norme] + lnSucces = goExecutor.oExecute(lcSQl,[crsnomtipn]) + IF lnSucces < 0 + amessagebox(goExecutor.cEroare,16,"Eroare") + llEroare = .T. + ENDIF + + lcSQl = [select id_durata_munca,nume_durata_munca,id_tip_norma from syn_sal_nom_durata_munca ] + ; + [where NVL(data_inactiv,to_date('209912','YYYYMM')) > to_date('] + ALLTRIM(STR(gnAn)) + ALLTRIM(STR(gnLuna)) + [','YYYYMM')] + lnSucces = goExecutor.oExecute(lcSQl,[crsnomduratam]) + IF lnSucces < 0 + amessagebox(goExecutor.cEroare,16,"Eroare") + llEroare = .T. + ENDIF + + lcSQl = [select id_repartizare_munca,nume_repartizare_munca from syn_sal_nom_repartizare_munca ] + ; + [where NVL(data_inactiv,to_date('209912','YYYYMM')) > to_date('] + ALLTRIM(STR(gnAn)) + ALLTRIM(STR(gnLuna)) + [','YYYYMM')] + lnSucces = goExecutor.oExecute(lcSQl,[crsnomrepartm]) + IF lnSucces < 0 + amessagebox(goExecutor.cEroare,16,"Eroare") + llEroare = .T. + ENDIF + + lcSQl = [select id_interval_munca,nume_interval_munca from syn_sal_nom_intervale_munca ] + ; + [where NVL(data_inactiv,to_date('209912','YYYYMM')) > to_date('] + ALLTRIM(STR(gnAn)) + ALLTRIM(STR(gnLuna)) + [','YYYYMM')] + lnSucces = goExecutor.oExecute(lcSQl,[crsnomintm]) + IF lnSucces < 0 + amessagebox(goExecutor.cEroare,16,"Eroare") + llEroare = .T. + ENDIF + *!* modificare v 2.0.8 ^ + ******************************************************* + + PRIVATE pointr,pcschema2,pcselect2,pcfiltru2,pcorder2 &&persoane in intretinere + STORE '' TO pointr,pcschema2,pcselect2,pcfiltru2,pcorder2 + + pcschema2 = [] + pcselect2 = ['select * from ] + gcs + [.sal_vintret where 1=2'] + pcfiltru2 = [id_persoana = ] + ALLTRIM(STR(popers.id_salariat)) + pcorder2=[nume,prenume] + llAfiseaza = .F. + + gencursor('pointr','v_nom_intret',pcselect2,pcfiltru2,pcschema2,pcorder2,llAfiseaza) + pointr.ca_baza1.afisare() + ******************************************************* + + PRIVATE pocop,pcschema3,pcselect3,pcfiltru3,pcorder3 &&copii + STORE '' TO pocop,pcschema3,pcselect3,pcfiltru3,pcorder3 + + pcschema3 = ['nume c(64),prenume c(64),codpers n(13),datanast d,id_copil n(5),id_persoana n(10)'] + pcselect3 = ['select nume,prenume,codpers,datanast,id_copil,id_persoana from ] + gcs + [.sal_vcopii where 1=2'] + pcfiltru3 = [id_persoana = ] + ALLTRIM(STR(popers.id_salariat)) + pcorder3=[nume,prenume] + llAfiseaza = .F. + + gencursor('pocop','v_copii',pcselect3,pcfiltru3,pcschema3,pcorder3,llAfiseaza) + pocop.ca_baza1.afisare() + + ******************************************************* + + PRIVATE pobazacm,pcschema4,pcselect4,pcfiltru4,pcorder4 &&baza_cm + STORE '' TO pobazacm,pcschema4,pcselet4,pcfiltru4,pcorder4 + + pcschema4 = [] + pcselect4 = ['select * from ] + gcs + [.sal_vbaze_cm where 1=2'] + pcfiltru4 = [id_stat = ] + ALLTRIM(STR(popers.id_stat)) + pcorder4 = [an*12+luna] + llAfiseaza = .f. + + gencursor('pobazacm','v_bazacm',pcselect4,pcfiltru4,pcschema4,pcorder4,llAfiseaza) + pobazacm.ca_baza1.afisare() + ******************************************************* + + PRIVATE pocalif,pcschema5,pcselect5,pcfiltru5,pcorder5 &&limbi straine + STORE '' TO pocalif,pcschema5,pcselect5,pcfiltru5,pcorder5 + pcschema5=[] + pcselect5=['select * from ] + gcs + [.sal_vnom_limbi where 1=2'] + pcfiltru5 = [id_persoana = ] + ALLTRIM(STR(popers.id_salariat)) + pcorder5 = [denumire] + llAfiseaza = .f. + + gencursor('pocalif','v_calif',pcselect5,pcfiltru5,pcschema5,pcorder5,llAfiseaza) + pocalif.ca_baza1.afisare() + ******************************************************* + + PRIVATE pocurs,pcschema6,pcselect6,pcfiltru6,pcorder6 &&cursuri calificare + STORE '' TO pocurs,pcschema6,pcselect6,pcfiltru6,pcorder6 + pcschema6 = ['id_curs n(5),data d,nota c(16),test c(64),id_persoana n(5),id_c n(5)'+] + ; + [',sters n(1), denumire c(64)'] + pcselect6 = ['select c.id_curs,c.data,c.nota,c.test,c.id_persoana,c.id_c'+] + ; + [',c.sters,c.denumire from ] + gcs + [.sal_vcurs c where 1=2'] + pcfiltru6 = [id_persoana = ] + ALLTRIM(STR(popers.id_salariat)) + pcorder6 = [denumire] + llAfiseaza = .f. + + gencursor('pocurs','v_curs_calif',pcselect6,pcfiltru6,pcschema6,pcorder6,llAfiseaza) + pocurs.ca_baza1.afisare() + + ******************************************************* + + PRIVATE postud,pcschema7,pcselect7,pcfiltru7,pcorder7 &&studii + STORE '' TO postud,pcschema7,pcselect7,pcfiltru7,pcorder7 + pcschema7=[] + pcselect7=['select * from ] + gcs + [.sal_studii where 1=2'] + pcfiltru7 = [id_persoana = ] + ALLTRIM(STR(popers.id_salariat)) + [ and sters=0] + pcorder7 = [scoala] + llAfiseaza = .f. + + gencursor('postud','v_studii',pcselect7,pcfiltru7,pcschema7,pcorder7,llAfiseaza) + postud.ca_baza1.afisare() + ******************************************************* + + PRIVATE poechip,pcschema8,pcselect8,pcfiltru8,pcorder8 &&echipament (optional) + STORE '' TO poechip,pcschema8,pcselect8,pcfiltru8,pcorder8 + pcschema8=[] + pcselect8=['select * from ] + gcs + [.sal_vechip where 1=2'] + pcfiltru8 = [id_part = ] + ALLTRIM(STR(popers.id_part)) + pcorder8 = [numar] + llAfiseaza = .f. + + gencursor('poechip','v_echip',pcselect8,pcfiltru8,pcschema8,pcorder8,llAfiseaza) + poechip.ca_baza1.afisare() + ******************************************************* + + + PRIVATE poact,pcschema9,pcselect9,pcfiltru9,pcorder9 &&acte aditionale + STORE '' TO poact,pcschema9,pcselect9,pcfiltru9,pcorder9 + pcschema9=[] + pcselect9=['select * from ] + gcs + [.sal_vjurnal_contracte where 1=2'] + pcfiltru9 = [angajatid = ] +ALLTRIM(STR(VAL(popers.codpers),13)) + pcorder9 = [] + llAfiseaza = .f. + + gencursor('poact','v_jurnal',pcselect9,pcfiltru9,pcschema9,pcorder9,llAfiseaza) + poact.ca_baza1.afisare() + ******************************************************* &&documente atasate + PRIVATE poatas,pcschema10,pcselect10,pcfiltru10,pcoreder10 + STORE '' TO poatas,pcschema10,pcselect10,pcfiltru10,pcoreder10 + pcschema10=[] + pcselect10=['select * from ]+ gcs + [.sal_vatasamente where 1=2'] + pcfiltru10=[id_persoana = ] + ALLTRIM(STR(popers.id_salariat)) + [ and sters=0] + pcorder10= [] + llAfiseaza=.f. + gencursor('poatas','v_atas',pcselect10,pcfiltru10,pcschema10,pcorder10,llAfiseaza) + poatas.ca_baza1.afisare() + ************************************************************ + ******************************************************* + + PRIVATE poavize,pcschema11,pcselect11,pcfiltru11,pcorder11 &&avize + STORE '' TO poavize,pcschema11,pcselet11,pcfiltru11,pcorder11 + + + pcschema11 = ['aviz c(64),data1 d,data2 d,id_aviz n(5),id_persoana n(5)'] + pcselect11 = ['select aviz,data1,data2,id_aviz,id_persoana from ] + gcs + [.sal_avize where 1=2'] + pcfiltru11 = [id_persoana = ] + ALLTRIM(STR(popers.id_salariat))+[ and sters = 0] + pcorder11 = [data2 desc] + llAfiseaza = .f. + + gencursor('poavize','v_avize',pcselect11,pcfiltru11,pcschema11,pcorder11,llAfiseaza) + poavize.ca_baza1.afisare() + ******************************************************* + ******************************************************* + + PRIVATE poCalendar,pcschema12,pcselect12,pcfiltru12,pcorder12,pnCalendarOug114 &&sal_calendar + STORE '' TO poCalendar,pcschema12,pcselect12,pcfiltru12,pcorder12 + + + pcschema12 = ['oug114_2018 n(1)'] + pcselect12 = ['select oug114_2018 from sal_calendar where 1=2'] + pcfiltru12 = [luna = pack_sesiune.getluna() and an = pack_sesiune.getan()] + pcorder12 = [] + llAfiseaza = .f. + + gencursor('poCalendar','v_calendar',pcselect12,pcfiltru12,pcschema12,pcorder12,llAfiseaza) + poCalendar.ca_baza1.afisare() + SELECT v_calendar + pnCalendarOug114 = NVL(v_calendar.oug114_2018,0) + pnCalendarOug114 = NVL(pnCalendarOug114,0) + ******************************************************* + update_hand() + EXTERNAL ARRAY tasc + DIMENSION tasc[1,1] + tasc = caut_alfa_beta('v_personal','nume:C;marca:N:0:999999999;formatia:C;codpers:C;tarifar:N:0:999999999;meseria:C',1) &&cautare noua + + EXTERNAL ARRAY taSqlReg &&array registru salariati + DIMENSION taSqlReg[7] + + SELECT v_personal + + ***********************************************variabile_registru************************************* + *!* modificare ROARES v 1.0.49 : am adaugat si campul datactr + SCATTER NAME poRegAms FIELDS id_meserie,; &&meserie + datalic,; &&incetare contract + dataang,datasfctr,fractie,id_tipctr,; &&Tipul Contractului + nrctr,datactr,nrctrm,datactrm,; &&Numar/Data Contract + id_sectie,; && Loc de munca + nume,prenume,id_cetatenie,id_nationalit,id_tip_act,; &&date personale + codpers,cmseria,cmnr,id_loc,strada,numar,bloc,scara,etaj,apart blank + + ***********************************************variabile_registru************************************* + If !llEroare + opers = Createobject('frm_opersonal') + opers.WindowState=2 + opers.clienttoptabs1._container1.lblHeader.Caption=Alltrim(Str(popers.marca)) + " - " + Alltr(popers.nume)+" " +Alltr(popers.prenume) + opers.Show(1) + Release opers + Endif + RELEASE pcschema1, pcselect1 + IF USED('v_hand') + USE IN v_hand + ENDIF + IF USED('v_personal') + USE IN v_personal + ENDIF + IF USED('v_copii') + USE IN v_copii + ENDIF + IF USED('v_nom_intret') + USE IN v_nom_intret + ENDIF + IF USED('v_bazacm') + USE IN v_bazacm + ENDIF + IF USED('v_calif') + USE IN v_calif + ENDIF + IF USED('v_studii') + USE IN v_studii + ENDIF + IF USED('v_curs_calif') + USE IN v_curs_calif + ENDIF + IF USED('v_dif_part') + USE IN v_dif_part + ENDIF + IF USED('v_echip') + USE IN v_echip + ENDIF + IF USED('v_jurnal') + USE IN v_jurnal + ENDIF + IF USED('crsModlic') + USE IN crsModlic + ENDIF + IF USED('crsTemei') + USE IN crsTemei + ENDIF + *!* modificare ROARES v 2.0.8 + IF USED('crsnomtipn') + USE IN crsnomtipn + ENDIF + IF USED('crsnomduratam') + USE IN crsnomduratam + ENDIF + IF USED('crsnomrepartm') + USE IN crsnomrepartm + ENDIF + IF USED('crsnomintm') + USE IN crsnomintm + ENDIF + *!* modificare ROARES v 2.0.8 ^ + IF USED('v_calendar') + USE IN v_calendar + ENDIF +ENDPROC + + +********************************************************** +PROCEDURE update_dedsupl + + If Used('v_dedsupl') + Use In v_dedsupl + Endif + + lcSQl = [select * from ] + gcs + [.sal_vnom_dedsupl] + lcCursor = [v_dedsupl] + lnSucces = goExecutor.oExecute(lcSQl,lcCursor) + goExecutor.oReset() + + Return lnSucces + +ENDPROC + +********************************************************** + + +*!* PROCEDURE update_hand + +*!* If Used('v_hand') +*!* Use In v_hand +*!* Endif + +*!* lcSql = [select * from ] + gcS + [.sal_vnom_handicap] +*!* lcCursor = [v_hand] +*!* lnSucces = goExecutor.oExecute(lcSql,lcCursor) +*!* goExecutor.oReset() + +*!* Return lnSucces + +*!* ENDPROC + +********************************************************** +PROCEDURE update_mes + + If Used('v_meseria') + Use In v_meseria + Endif + + lcSQl = [select * from ] + gcs + [.sal_vnom_mes] + lcCursor = [v_meseria] + lnSucces = goExecutor.oExecute(lcSQl,lcCursor) + goExecutor.oReset() + + Return lnSucces + +ENDPROC + +******************************************************** +PROCEDURE update_form + + If Used('v_formatia') + Use In v_formatia + Endif + + lcSQl = [select * from ] + gcs + [.sal_vnom_formatii] + lcCursor = [v_formatia] + lnSucces = goExecutor.oExecute(lcSQl,lcCursor) + goExecutor.oReset() + + Return lnSucces + +ENDPROC + +************************************************************** +PROCEDURE update_limbi + + If Used('v_limba') + Use In v_limba + Endif + + lcSQl = [select * from ] + gcs + [.sal_vnom_limb] + lcCursor = [v_limba] + lnSucces = goExecutor.oExecute(lcSQl,lcCursor) + goExecutor.oReset() + + Return lnSucces + +ENDPROC + +**************************************************** +******************************************* INCEPUT: caut_limba ******************************************* +Procedure caut_limba + Lparameters tlNou + Local loHash, loCauta + loHash = GetHash() + With loHash + .SetValue("cSelect", [select * from sal_vnom_limb]) + .SetValue("cOrder", "denumire") + .SetValue("cColoana", "denumire,id_limba") + .SetValue("cTitlu", "Alegeti limba straina") + .SetValue("cTitluColoana", "Denumire,Id_limba") + .SetValue("cFiltruOriginal", "2=2") + .SetValue("cFiltru", "2=2") + If tlNou + .SetValue("cNumeProc", "nom_limbi") + Endif + Endwith + loCauta = cauta_alfa_hash(loHash) + Return Iif(gnButon = 2, Null, loCauta) +Endproc && caut_limba +***************************************** SFARSIT: caut_limba******************************************* +******************************************* INCEPUT: caut_limba ******************************************* +Procedure caut_curs + Lparameters tlNou + Local loHash, loCauta + loHash = GetHash() + With loHash + .SetValue("cSelect", [select * from sal_vnom_curs]) + .SetValue("cOrder", "denumire") + .SetValue("cColoana", "denumire,id_c") + .SetValue("cTitlu", "Alegeti cursul") + .SetValue("cTitluColoana", "Denumire,Id_curs") + .SetValue("cFiltruOriginal", "2=2") + .SetValue("cFiltru", "2=2") + If tlNou + .SetValue("cNumeProc", "nom_cursuri") + Endif + Endwith + loCauta = cauta_alfa_hash(loHash) + Return Iif(gnButon = 2, Null, loCauta) +Endproc && caut_limba +***************************************** SFARSIT: caut_limba******************************************* + +PROCEDURE update_curs + + If Used('v_curs') + Use In v_curs + Endif + + lcSQl = [select * from ] + gcs + [.sal_vnom_curs] + lcCursor = [v_curs] + lnSucces = goExecutor.oExecute(lcSQl,lcCursor) + goExecutor.oReset() + + Return lnSucces + +ENDPROC + +**************************************************** + +PROCEDURE update_stud + + If Used('v_stud') + Use In v_stud + Endif + + lcSQl = [select * from ] + gcs + [.sal_vnom_stud] + lcCursor = [v_stud] + lnSucces = goExecutor.oExecute(lcSQl,lcCursor) + goExecutor.oReset() + + Return lnSucces + +ENDPROC + +******************************************* +* PROCEDURE proc_sitco( ) +* Date : 11/17/05, 15:00:59 +* author : liana.macinic +* description: + +****** PARAMETER BLOCK ************** +* Parameters : 0 +* +******************************************* +PROCEDURE proc_sitco( ) + ofrm_list_avans = CREATEOBJECT('frm_list_stat') + ofrm_list_avans.clistare = [sitco] + ofrm_list_avans.lb_titlu_alb_b121.caption = 'LISTARE PRIME' + ofrm_list_avans.show(1) + +ENDPROC +*----------------------------------sfarsit procedura proc_sitco---------------------------------- + + +*********************************INCEPUT REDESCHIDERE LUNA*********************************************** +PROCEDURE redeschidere_comun + + PRIVATE oredes + + buton = 2 + + + EXTERNAL ARRAY taOpt + DIMENSION taOpt[10] &&1 - tip redeschidere,2-state,3-pontaje,4-persintret,5-popriri,6-sporuri,7-co + taOpt[1]=1 + FOR i=2 TO 10 + taOpt[i]=1 + ENDFOR + + oredes = CREATEOBJECT('frm_redeschidere',@taOpt) + if gcAppName = "ROARES" + oredes.redOpt.option1.Enabled=.f. + oredes.page_detalii.page1.Enabled=.f. + ENDIF + oredes.show(1) + RELEASE oredes + + IF buton = 2 + RETURN + ENDIF + + IF amessagebox('Doriti sa redeschideti luna '+ALLTRIM(STR(gnLuna)) + '/'+ALLTRIM(STR(gnAn)) +' ?',4+32,'Confirmare')=7 + RETURN + ENDIF + + LOCAL lcOpt + lcOpt='' + FOR i=2 TO 10 + lcOpt = lcOpt+ALLTRIM(STR(taOpt[i]))+';' + ENDFOR + IF taOpt[1]=2 + taOpt[1]=0 + ENDIF + WAIT WINDOW "Asteptati, se redeschide luna... " NOWAIT + + *!* modificare v 2.0.22 : am modificat apelul din redeschidere_sal in redeschidere_sal_audit + lcSQl = [begin PACK_SALARII.redeschidere_sal_audit('] + gcs +[',]+ALLTRIM(STR(taOpt[1]))+[,']+lcOpt+[',]+; + ALLTRIM(STR(gnAn))+[,]+ALLTRIM(STR(gnLuna))+[); end;] + If goExecutor.oExecuta(lcSQl) + amessagebox('Redeschiderea s-a incheiat!',48,'Redeschidere luna') + Endif +ENDPROC +*********************************SFARSIT REDESCHIDERE LUNA*********************************************** +PROCEDURE sal_modlic_nou + + PRIVATE pomodlic,pcschema1,pcselect1 + STORE '' TO pomodlic + pcschema1 = [''] + pcselect1=['select * from ] + gcs + [.sal_nom_modlic where 1=2'] + pcorder1=[modlic] + pcfiltru1 = [2=2] + llAfiseaza = .F. + gencursor('pomodlic','v_modlic_nou',pcselect1,pcfiltru1,pcschema1,pcorder1,llAfiseaza) + pomodlic.ca_baza1.afisare() + *** + SELECT v_modlic_nou + SCATTER NAME loRec BLANK + DO Adauga_Modifica_Inregistrare WITH 'modlic',loRec,,"INSERT" + USE IN v_modlic_nou + +ENDPROC +************************************************************* +***====================================================================================== + +PROCEDURE sal_tipctr_nou + + PRIVATE poctr,pcschema1,pcselect1 + + STORE '' TO poctr + pcschema1 = [''] + pcselect1=['select * from ] + gcs + [.sal_nom_tipctr where 1=2'] + pcorder1=[tip_contract] + pcfiltru1 = [2=2] + llAfiseaza = .F. + gencursor('poctr','v_ctr_nou',pcselect1,pcfiltru1,pcschema1,pcorder1,llAfiseaza) + poctr.ca_baza1.afisare() + *** + + Do update_ore In update_roadef_sal.prg + SELECT v_ctr_nou + SCATTER NAME loRec BLANK + ADDPROPERTY(loRec,'ore','') + DO Adauga_Modifica_Inregistrare WITH 'tipctr',loRec,,"INSERT" + USE IN v_ctr_nou + USE IN v_nomore + + +ENDPROC +***====================================================================================== +FUNCTION verifica_adaugare_parteneri + LPARAMETERS tnTip &¶metru diferit de 1 = inchid cursor + LOCAL lflag + lflag=.f. + IF TYPE('podif')='U' &&verific variabila ( doar in cazul apelarii cu parametru) + PRIVATE podif + STORE '' TO podif + ENDIF + pcschema1 = [''] + pcselect1 = ['select * from ] + gcs + [.sal_vdif_part where 1=1'] + lcCursor = [v_dif_part] + pcorder1 = [nume,prenume] + pcfiltru1 = [nume is not null] + llAfiseaza = .f. + gencursor('podif','v_dif_part',pcselect1,pcfiltru1,pcschema1,pcorder1,llAfiseaza) + podif.ca_baza1.afisare() + IF RECCOUNT('v_dif_part')>0 + lflag=.t. + SELECT v_dif_part + replace ALL nr WITH RECNO() + GO TOP + ENDIF + IF PCOUNT()=1 + USE IN v_dif_part + RELEASE podif + ENDIF + + RETURN lflag + + **************************************************** + ***====================================================================================== +PROCEDURE res_adauga_parteneri + + pcschema1 = [''] + pcselect1 = ['select id_part,nume,cod_fiscal,reg_comert,prenume,strada,numar,bloc,scara,etaj,'+] +; + ['apart,id_loc,localitate,judet,id_judet,000000 as nr,id_adresa from ] + gcs + [.vnom_parteneri where 1=1'] + lcCursor = [v_dif_part] + pcorder1 = [nume,prenume] + pcfiltru1 = [1=2] + llAfiseaza = .t. + gencursor('podif','v_dif_part',pcselect1,pcfiltru1,pcschema1,pcorder1,llAfiseaza) + podif.ca_baza1.afisare() + +ENDPROC + +**************************************************** + +PROCEDURE update_echip + + If Used('v_echipament') + Use In v_echipament + Endif + + lcSQl = [select * from ] + gcs + [.sal_vnecesar] + lcCursor = [v_echipament] + lnSucces = goExecutor.oExecute(lcSQl,lcCursor) + goExecutor.oReset() + + Return lnSucces + +ENDPROC + +**************************************************** +PROCEDURE conditii_articole + + PRIVATE pocond,pcschema1,pcselect1,pcfiltru1,pcorder1 &&Conditii din nomenclator + STORE '' TO pocond,pcschema1,pcselect1,pcfiltru1,pcorder1 + + pcschema1 = [''] + pcselect1 = ['select id_conditie,denumire,conditie,00000 as nr from ] + gcs + [.sal_vnom_cond where 1=1'] + lcCursor = [v_conditii] + pcorder1 = [denumire] + pcfiltru1 = [2=2] + llAfiseaza = .t. + gencursor('pocond',lcCursor,pcselect1,pcfiltru1,pcschema1,pcorder1,llAfiseaza) + pocond.ca_baza1.afisare() + IF RECCOUNT('v_conditii')>0 + SELECT v_conditii + replace ALL nr WITH RECNO() + GO TOP + ENDIF + SELECT v_conditii + SCATTER NAME poconditii MEMO + + EXTERNAL ARRAY taCompun && pt compunere conditie + DIMENSION taCompun[1,3] + + EXTERNAL ARRAY taElemente + DIMENSION taElemente[4,5] &&1 - camp,2-Descriere camp,3-Camp Id,4-Valoare camp Id,5-Tabela + taElemente[1,1] = 'Sectia' + taElemente[1,2] = 'sectie' + taElemente[1,3] = 'id_sectie' + taElemente[1,5] = 'vnom_sectii' + + taElemente[2,1] = 'Formatia' + taElemente[2,2] = 'denumire' + taElemente[2,3] = 'id_formatia' + taElemente[2,5] = 'sal_vnom_formatii' + + taElemente[3,1] = 'Meseria' + taElemente[3,2] = 'meserie' + taElemente[3,3] = 'id_meseria' + taElemente[3,5] = 'sal_vnom_mes' + + taElemente[4,1] = 'Sex' + taElemente[4,2] = 'sex' + taElemente[4,3] = ':distinct' + taElemente[4,5] = 'sal_vstat' + + + + PRIVATE poart,pcschema2,pcselect2,pcfiltru2,pcorder2 &&Articole + STORE '' TO poart,pcschema2,pcselect2,pcfiltru2,pcorder2 + pcschema2 = [''] + pcselect2 = ['select c.id_nec,c.id_articol,c.id_conditie,c.denumire,c.articol,c.codmat,c.um,c.cantitate'+] + ; + [' from sal_vcond_echip c where 1=2'] + pcfiltru2 = [id_conditie = ] + ALLTRIM(STR(v_conditii.id_conditie)) + pcorder2 = [articol] + llAfiseaza = .t. + + gencursor('poart','v_articole',pcselect2,pcfiltru2,pcschema2,pcorder2,llAfiseaza) + poart.ca_baza1.afisare() + + + PRIVATE poper,pcschema3,pcselect3,pcfiltru3,pcorder3 &&Persoane + STORE '' TO poper,pcschema3,pcselect3,pcfiltru3,pcorder3 + pcschema3 = [''] + pcselect3 = ['select s.id_part,s.marca,s.nume,s.prenume from sal_vstat s '+] + ; + [' where 1=2'] + pcfiltru3 = [1=2] + pcorder3 = [nume,prenume] + llAfiseaza = .t. + + gencursor('poper','v_pers',pcselect3,pcfiltru3,pcschema3,pcorder3,llAfiseaza) + poper.ca_baza1.afisare() + + + PRIVATE poarticole,pcschema4,pcselect4,pcfiltru4,pcorder4 &&Articole + STORE '' TO poarticole,pcschema4,pcselect4,pcfiltru4,pcorder4 + pcschema4 = [''] + pcselect4 = ['select a.id_part,a.articol,a.id_articol from sal_vechip a '+] + ; + [' where 1=2'] + pcfiltru4 = [1=2] + pcorder4 = [articol] + llAfiseaza = .t. + + gencursor('poarticole','v_art_pers',pcselect4,pcfiltru4,pcschema4,pcorder4,llAfiseaza) + poarticole.ca_baza1.afisare() + + + SELECT v_conditii + + ocond = CREATEOBJECT('frm_conditii',@taElemente,@taCompun) + ocond.show(1) + RELEASE ocond,poconditii + + IF USED('v_conditii') + USE IN v_conditii + ENDIF + +ENDPROC + +************************************************* +*!* modificare v 2.0.3 : am mutat-o in registru.prg +*!* Procedure registru_unic +*!* Private pcschema1,pcselect1,pojur +*!* Store '' To pcschema1,pcselect1,pojur +*!* *!* pcschema1 =['dataschimbare d,obiectschimbare c(24),tipoperatie c(1),explicatie c(64),angajat c(128),numar c(12),'+] + ; +*!* *!* ['numaritm c(12),datacontract d,tipcontract n(1),norma n(1),ocupatie c(6),datainceput d,'+] + ; +*!* *!* ['datasfarsit d,dataincetarii d,temeiincetare c(128),datareactivare d,cnp c(13),'+] +; +*!* *!* ['cetatenie c(2),judetangajat c(32),'+] +; +*!* *!* ['localitateangajat c(32),adresaangajat c(255),angajator c(128),cui c(64),judetangajator c(32),'+]+; +*!* *!* ['localitateangajator c(64),adresaangajator c(128)'] +*!* pcschema1 = [''] +*!* pcselect1 = ['select ales,dataschimbare ,obiectschimbare ,tipoperatie ,explicatie ,angajat ,numar ,'+] + ; +*!* ['numaritm ,datacontract ,tipcontract ,norma ,ocupatie ,datainceput ,'+] + ; +*!* ['datasfirsit ,dataincetarii ,temeiincetare ,datareactivare ,cnp ,'+] + ; +*!* ['cetatenie ,judetangajat,'+]+; +*!* ['localitateangajat ,adresaangajat ,angajator ,cui ,judetangajator ,'+]+; +*!* ['localitateangajator ,adresaangajator,cheie_angajator,cheie_angajat,cheie_ctr from sal_vregistru_unic where 1=2'] +*!* pcorder1=[] +*!* pcfiltru1 = [2=2] +*!* llAfiseaza = .F. + +*!* gencursor('pojur','v_jurnal',pcselect1,pcfiltru1,pcschema1,pcorder1,llAfiseaza) +*!* pojur.ca_baza1.afisare() + + +*!* ojur = Createobject('frm_registru_unic') +*!* ojur.WindowState=2 +*!* ojur.Show(1) +*!* Release ojur,pcschema1,pcselect1 +*!* Endproc +*!* modificare v 2.0.3 ^ +******************************************* +* PROCEDURE calcul_sumaore( tnTarifOra, tnNrOre, tnprocent ) +* Date : 09/10/05, 10:47:38 +* author : liana.macinic +* description: + +****** PARAMETER BLOCK ************** +* Parameters : 3 +* Parameter 1: +* Parameter 2: +* Parameter 3: +* +******************************************* +PROCEDURE calcul_sumaore( tnTarifOra, tnNrOre, tnprocent) +*!* IF EMPTY(tnprocent) +*!* STORE 1 TO tnprocent +*!* ENDIF + + LOCAL lnSuma + + lnSuma = tnTarifOra * tnNrOre * tnprocent + + RETURN ROUND(lnSuma,2) + +ENDPROC +*----------------------------------sfarsit procedura calcul_sumaore---------------------------------- +*!* EndProc +*------------------------------------------------------------------- + + + ******************************************* + * PROCEDURE calcul_sumaore( tnTarifOra, tnNrOre, tnprocent ) + * Date : 09/10/05, 10:47:38 + * author : liana.macinic + * description: + + ****** PARAMETER BLOCK ************** + * Parameters : 3 + * Parameter 1: + * Parameter 2: + * Parameter 3: + * + ******************************************* + *!* PROCEDURE calcul_sumaore( tnTarifOra, tnNrOre, tnprocent) + *!* IF EMPTY(tnProcent) + *!* STORE 1 TO tnProcent + *!* ENDIF + + *!* LOCAL lnSuma + + *!* lnSuma = tnTarifOra * tnNrOre * tnProcent + + *!* RETURN ROUND(lnSuma,2) + + *!* ENDPROC + *----------------------------------sfarsit procedura calcul_sumaore---------------------------------- + +PROCEDURE template_configureaza + LOCAL loFrm + loFrm = CREATEOBJECT("frm_configurare_doc") + loFrm.show(1) + RELEASE loFrm +ENDPROC +****************************************************************************************************** +Procedure template_selecteaza + Lparameters tnTip,tcNume,tnId,tcCond + Local lcNume, lnId, loRec, lcExplicatie + If Empty(tcNume) Or Empty(tnId) + If gnIdProgram = 75 + loCauta = caut_salariat_spec(0) + If !Isnull(loCauta) + AddProperty(loCauta,"id_salariat",loCauta.id_colaborator) + Endif + lcExplicatie = [colaboratorul] + Else + loCauta = caut_salariat() + lcExplicatie = [salariatul] + Endif + Do Case + Case gnButon = 2 OR ISNULL(loCauta) + Return + Case Empty(Nvl(loCauta.id_salariat,0)) + amessagebox("Nu ati ales "+lcExplicatie+"!",16,"Eroare") + Return + Otherwise + lcNume=Alltrim(loCauta.nume)+'_'+Alltrim(loCauta.prenume) + lnId = loCauta.id_salariat + Endcase + Else + lcNume = tcNume + lnId = tnId + Endif + loRec = template_citeste(tnTip) + If !Isnull(loRec) + template_completeaza(loRec,lcNume,lnId,tcCond) + Endif + Release lnConf, lcNume, lnId, loRec +Endproc +****************************************************************************************************** +Function template_adauga + Lparameters tnTipDocument,tnTip,tnIdEntitate,tnIdReferinta,tcDescriere,tcNumeFisier,tcCaleFisier + Local llReturn + Private pnIdAtas, pcNumeFisier, pcDescriere, pcFisier, pnTipDocument, pnTip, pnIdEntitate, pnIdReferinta + llReturn = .T. + If !File(tcCaleFisier) + amessagebox("Nu exista fisierul "+tcCaleFisier+" !",48,"Atentie") + llReturn = .F. + Else + pnIdAtas = 0 + pcNumeFisier = ALLTRIM(tcNumeFisier) + pcDescriere = ALLTRIM(tcDescriere) + pcFisier = Filetostr(tcCaleFisier) + pnTipDocument = tnTipDocument + pnTip = tnTip + pnIdEntitate = tnIdEntitate + pnIdReferinta = tnIdReferinta + lnSucces2 = SQLSetprop(gnhandle,"Transactions",2) + If lnSucces2 < 0 + amessagebox('Programul nu a reusit sa treaca pe tranzactie manuala. Reincercati!',0+48,'Atentie!') + llReturn = .F. + Else + lcSql2 = [COMMIT] + lcSQl = [insert into atas_atasamente(nume_fisier,descriere,fisier,id_util) ] + ; + [values (?pcNumeFisier,?pcDescriere,?pcFisier,?gnIdUtil) ] + ; + [returning id_atas into ?@pnIdAtas] + lnSucces = goExecutor.oExecute(lcSQl) + If lnSucces < 0 + amessagebox(goExecutor.cEroare,16,"Eroare") + llReturn = .F. + lcSql2 = [ROLLBACK] + Else + lcSQl = [begin pack_def.actualizeaza_referinte(?pnTipDocument,?pnTip,?pnIdAtas,] + ; + [?pnIdEntitate,?pnIdReferinta,?gnIdProgram,?gnIdUtil); end;] + lnSucces = goExecutor.oExecute(lcSQl) + If lnSucces < 0 + amessagebox(goExecutor.cEroare,16,"Eroare") + llReturn = .F. + lcSql2 = [ROLLBACK] + Endif + Endif + lnSucces2 = goExecutor.oExecute(lcSql2) + If lnSucces2 < 0 + amessagebox(lcSql2 + Chr(13) + goExecutor.cEroare,0+16,"Eroare") + llReturn = .F. + Endif + lnSucces2 = SQLSetprop(gnhandle,"Transactions",1) + If lnSucces2 < 0 + amessagebox('Programul nu a reusit sa treaca pe tranzactie automata. Iesiti din program si intrati din nou!',0+48,'Atentie!') + llReturn = .F. + Endif + Endif + Endif + Release pnIdAtas, pcNumeFisier, pcDescriere, pcFisier, pnTipDocument, pnTip, pnIdEntitate, pnIdReferinta + Return llReturn +Endfunc +****************************************************************************************************** +Function template_citeste + Lparameters tnTip + ** citeste din b.d. + Private poDocument + Store "" To poDocument + Local loRec, lcSQl, lcCursor, lcFiltru, lcSchema, lcOrder, llAfisare, lcView + lcCursor = [crstemplatedoc] + If gnIdProgram = 75 + lcView = [sal_vdocumente_ss] && ROASALSPEC / 75 + Else + lcView = [sal_vdocumente_ru] && ROARES / 4 + Endif + lcSQl = [select NVL(c.fisier,e.fisier) as fisier,a.id_referinta,a.NUME_FISIER from ] + ; + [(select id_referinta,tip,NUME_FISIER from ] + lcView + [ where 1=2] + lcFiltru = [id_referinta = ] + ALLTRIM(STR(tnTip)) + [) a ] + ; + [left join syn_atas_referinte b on a.id_referinta = b.id_referinta and a.tip = 1 ] + ; + [left join syn_atas_atasamente c on b.id_atas = c.id_atas ] + ; + [left join atas_referinte d on a.id_referinta = d.id_referinta and a.tip = 2 ] + ; + [left join atas_atasamente e on d.id_atas = e.id_atas] + lcSchema = [fisier W,id_referinta N(10),NUME_FISIER c(200)] + *!* lcSql = [select b.descriere,b.nume_fisier,b.fisier,a.id_entitate,a.ordine,b.id_atas,a.id_referinta ] + ; + *!* [from (select * from syn_atas_referinte where 1=2 ] + *!* lcFiltru = [id_program = ?gnIdProgram and sters = 0 and id_referinta = ] + Alltrim(Str(tnTip)) + [) a ] + ; + *!* [left join syn_atas_atasamente b on a.id_atas = b.id_atas] + *!* lcSchema = [descriere C(200),nume_fisier C(200),fisier W,id_entitate N(10),ordine N(10),id_atas N(10),id_referinta N(10)] + lcOrder = [] + llAfisare = .F. + gencursor('poDocument',lcCursor,lcSQl,lcFiltru,lcSchema,lcOrder,llAfisare) + poDocument.ca_baza1.afisare() + If Used(lcCursor) + Select (lcCursor) + Scatter Name loRec MEMO + Use In (lcCursor) + Else + loRec = Null + Endif + Release poDocument, lcSQl, lcCursor, lcFiltru, lcSchema, lcOrder, llAfisare + Return loRec +Endfunc +****************************************************************************************************** +Procedure template_completeaza + Lparameters toObiect,tcNume,tnId,tcCond + SET STEP on + Local lcDocumentMarca,lcSQl,lcCursor,lnSucces + Private poWord + lcDocumentMarca = Addbs(gcTempPath) + Alltrim(tcNume) + If File(lcDocumentMarca) + Delete File (lcDocumentMarca) + ENDIF + *WAIT WINDOW 'pack_personal.contract_munca' +*!* IF toObiect.id_referinta <> -7 + lcSQl = [{call pack_personal.contract_munca(?gcS,]+Alltrim(Str(tnId))+[,?gnIdFirma,']+IIF(!EMPTY(tcCond),ALLTRIM(tcCond),[])+[')}] + lcCursor = [crs_test] + If !goExecutor.oExecuta(lcSQl,lcCursor) + Return + ENDIF +*!* ENDIF + SELECT (lcCursor) +*!* BROWSE + *WAIT WINDOW 'end pack_personal.contract_munca' + *!* modificare pentru contract + If toObiect.id_referinta = 20 + Local lcCursor1 + lcCursor1 = [crs_test1] + Select * From (lcCursor) Into Cursor (lcCursor1) Readwrite + Use In (lcCursor) + lcCursor = lcCursor1 + Select (lcCursor) + Locate For Alltrim(variabila)='S32' + *!* modificare v 2.0.25 + *!* If Found() + *!* If !Empty(Val(valoare)) + *!* Replace valoare With '0' For Inlist(Alltrim(variabila),'S21','S34') + *!* Replace valoare With Alltrim(Str(5*Val(valoare))) For Alltrim(variabila)='S33' + *!* Endif + *!* Else + *!* Locate For Alltrim(variabila)='S21' + *!* If Found() + *!* If !Empty(Val(valoare)) + *!* Replace valoare With '0' For Inlist(Alltrim(variabila),'S32','S33') + *!* Replace valoare With Alltrim(Str(5*Val(valoare))) For Alltrim(variabila)='S34' + *!* Endif + *!* Endif + *!* ENDIF + If Found() + lnNrOreNorma = Val(valoare) + Else + lnNrOreNorma = 0 + Endif + Locate For Alltrim(variabila) = 'S21' + If Found() + lnNrOreFractie = Val(valoare) + Else + lnNrOreFractie = 0 + ENDIF + Do Case + Case lnNrOreNorma <> 0 And lnNrOreNorma = lnNrOreFractie + Replace valoare With '0' For Inlist(Alltrim(variabila),'S21','S34') + Replace valoare With Alltrim(Str(5*Val(valoare))) For Alltrim(variabila)='S33' + Case lnNrOreNorma <> lnNrOreFractie + Replace valoare With '0' For Inlist(Alltrim(variabila),'S32','S33') + Replace valoare With Alltrim(Str(5*Val(valoare))) For Alltrim(variabila)='S34' + Otherwise + lnNrOreNorma = 0 + Endcase + *!* modificare v 2.0.25 ^ + ENDIF + IF toObiect.id_referinta = -2 + DO updateNrData112 + + WAIT WINDOW [Asteptati, se calculeaza datele...] NOWAIT + lcSQl = [{call pack_personal.adeverinta_somaj(]+Alltrim(Str(tnId))+[)}] + If !goExecutor.oExecuta(lcSQl,[crs_venituri]) + RETURN + ENDIF + WAIT CLEAR + lcSQl = [select a.datainceput as datainc, a.datasfarsit as datasf,upper(c.explicatie) as temei ]+; + [ from (select distinct id_sal_ctr,id_temei,datainceput, NVL(dataincetare, datasfarsit) as datasfarsit ]+; + [ from sal_reges_stari_ctr ]+; + [ where id_tip_stare = 3 and sters <> 2 and tip_modificare <> 1) a ]+; + [ left join (select nrctr, datactr, id_sal_ctr, id_salariat ]+; + [ from (select nrctr,datactr,id_sal_ctr, id_salariat, row_number() over(partition by id_sal_ctr order by dataconsemnare desc) as nr ]+; + [ from sal_reges_contracte where sters <> 2)]+; + [ where nr = 1) b ]+; + [ on a.id_sal_ctr = b.id_sal_ctr ]+; + [ left join syn_sal_nom_temei c on a.id_temei = c.id_temei ]+; + [ where b.id_salariat = ]+ALLTRIM(STR(tnId))+; + [ union ]+; + [ select a.datainc,a.datasf , b.conc_med as temei ]+; + [ from sal_concmed a ]+; + [ left join sal_nom_cm b on a.id_cm = b.id_cm ]+; + [ where a.id_stat in (select id_stat from sal_stat where id_persoana =]+ALLTRIM(STR(tnId))+[) and a.id_cm <> 9 and a.sters = 0]+; + [ order by datainc] + + + If !goExecutor.oExecuta(lcSQl,[crs_concediiSuspendari]) + RETURN + ENDIF + ENDIF + IF toObiect.id_referinta = -11 + DO updateNrData112 + SET STEP ON + WAIT WINDOW [Asteptati, se calculeaza datele...] NOWAIT + lcSQl = [{call pack_personal.adeverinta_somaj_2018(]+Alltrim(Str(tnId))+[)}] + If !goExecutor.oExecuta(lcSQl,[crs_venituri]) + RETURN + ENDIF + WAIT CLEAR + lcSQl = [select a.datainceput as datainc, a.datasfarsit as datasf,upper(c.explicatie) as temei ]+; + [ from (select distinct id_sal_ctr,id_temei,datainceput, NVL(dataincetare, datasfarsit) as datasfarsit ]+; + [ from sal_reges_stari_ctr ]+; + [ where id_tip_stare = 3 and sters <> 2 and tip_modificare <> 1) a ]+; + [ left join (select nrctr, datactr, id_sal_ctr, id_salariat ]+; + [ from (select nrctr,datactr,id_sal_ctr, id_salariat, row_number() over(partition by id_sal_ctr order by dataconsemnare desc) as nr ]+; + [ from sal_reges_contracte where sters <> 2)]+; + [ where nr = 1) b ]+; + [ on a.id_sal_ctr = b.id_sal_ctr ]+; + [ left join syn_sal_nom_temei c on a.id_temei = c.id_temei ]+; + [ where b.id_salariat = ]+ALLTRIM(STR(tnId))+; + [ union ]+; + [ select a.datainc,a.datasf , b.conc_med as temei ]+; + [ from sal_concmed a ]+; + [ left join sal_nom_cm b on a.id_cm = b.id_cm ]+; + [ where a.id_stat in (select id_stat from sal_stat where id_persoana =]+ALLTRIM(STR(tnId))+[) and a.id_cm <> 9 and a.sters = 0]+; + [ order by datainc] + + + If !goExecutor.oExecuta(lcSQl,[crs_concediiSuspendari]) + RETURN + ENDIF + ENDIF + IF INLIST(toObiect.id_referinta, -5,-12) + + lcSQl = [select a.orenoapte,b.an,b.luna, pack_normare.tarifar_ora_luna(b.id_persoana,b.luna,b.an) as tarif_ora,a.c_orenoapte,b.tarifar,b.totbrut ]+; + [ from sal_pontaje a ]+; + [ left join sal_stat b on a.id_stat = b.id_stat ]+; + [ left join sal_personal c on b.id_persoana = c.id_salariat ]+; + [ where a.sters = 0 and b.sters = 0 and b.id_persoana = ]+ALLTRIM(STR(tnId))+; + [ order by an*12+luna ] + If !goExecutor.oExecuta(lcSQl,[crs_venituri]) + RETURN + ENDIF + ENDIF + IF toObiect.id_referinta = -1 + lcSQl = [select a.an,a.luna,a.tarifar,a.totbrut,a.salnet as net,a.fractie from sal_vstattot a where an*12+luna >= 2011*12+1 and a.id_persoana = ]+ALLTRIM(STR(tnId))+[ order by an*12+luna ] + If !goExecutor.oExecuta(lcSQl,[crs_venituri]) + RETURN + ENDIF + ENDIF + IF toObiect.id_referinta = -13 + lcSQl = [select a.an,a.luna,a.totbrut,a.zileluc+a.zileco+a.zileces as zileluc,a.zilecm from sal_vstattot a ]+; + [ where an*12+luna between pack_sesiune.getan()*12+pack_sesiune.getluna()-11 and pack_sesiune.getan()*12+pack_sesiune.getluna() ]+; + [ and a.id_persoana = ]+ALLTRIM(STR(tnId))+[ order by an*12+luna ] + If !goExecutor.oExecuta(lcSQl,[crs_bazeCM]) + RETURN + ENDIF + ENDIF + IF toObiect.id_referinta = -6 + +*!* lcSQl = [{call pack_personal.reges_citeste_vechime(]+Alltrim(Str(tnId,10))+[)}] + lcSQl = [select contract,functie,tipdurata,dataang,dataincetare,nrCtr,]+; + [to_char((case ]+; + [ when nr = 1 then ]+; + [ greatest(dataang, to_date('01012011', 'DDMMYYYY')) ]+; + [ else dataconsemnare end), ]+; + [ 'DD.MM.YYYY') || ' - ' || ]+; + [ NVL(to_char(lead(dataconsemnare - 1)]+; + [ over(partition by id_sal_ctr order by dataconsemnare),'DD.MM.YYYY'),]+; + [ NVL(to_char(dataincetare, 'DD.MM.YYYY'),NVL(to_char(datasfctr, 'DD.MM.YYYY'), 'Prezent'))) as vechime,]+; + [ salariu,tipactualizare,nractmodif,dataactmodif,tipactmodif,meserie,temeiincetare ]+; + [ from (select nrCtr,id_sal_ctr,connect_by_root(nr) as nr,connect_by_root(dataconsemnare) as dc,contract,functie,tipdurata,]+; + [ dataconsemnare,dataang,datasfctr,dataincetare,salariu,(case when connect_by_root(nr) = 1 then 'Adaugare' else ]+; + [ decode(tip_modificare,3,'Modificare',2,'Corectie','Adaugare')end) as tipactualizare,nractmodif,dataactmodif,tipactmodif,meserie,temeiincetare ]+; + [from (select nrCtr,id_sal_ctr,nr,(case when nr - lag(nr) over(partition by id_sal_ctr,nrctr,datactr,dataang,functie,datasfctr,dataincetare,]+; + [ salariu,id_tip_norma order by dataconsemnare,dataora,nrctr,datactr,dataang,functie,datasfctr,dataincetare,salariu,id_tip_norma) = 1 then ]+; + [ lag(nr) over(partition by id_sal_ctr,nrctr,datactr,dataang,functie,datasfctr,dataincetare,salariu,id_tip_norma order by dataconsemnare,]+; + [ dataora,nrctr,datactr,dataang,functie,datasfctr,dataincetare,salariu,id_tip_norma) else null end) as tata,]+; + [nrctr || '/' || to_char(datactr, 'DD.MM.YYYY') as contract,functie,nvl2(datasfctr, 'Determinata', 'Nedeterminata') as tipdurata,]+; + [ dataconsemnare,dataang,datasfctr,dataincetare,salariu,tip_modificare,nractmodif,dataactmodif,tipactmodif,meserie,temeiincetare ]+; + [ from (select a.id_sal_ctr, ]+; + [ rank() over(partition by a.id_sal_ctr order by decode(a.tip_modificare, 4, to_date('01012011', 'DDMMYYYY'), a.dataconsemnare), a.dataora, ]+; + [ a.nrctr, a.datactr, a.dataang, c.cod || '( v' || c.versiune || ' ) - ' || c.denumire, a.datasfctr, d.dataincetare, a.tarifar, a.tip_modificare) as nr,]+; + [ a.nrctr,a.datactr,c.cod || '( v' || c.versiune || ' ) - ' ||c.denumire as functie,decode(a.tip_modificare,4,to_date('01012011', 'DDMMYYYY'),]+; + [ a.dataconsemnare) as dataconsemnare,a.dataang,a.datasfctr,d.dataincetare,a.dataora,a.tarifar as salariu,a.tip_modificare,a.nractmodif,a.dataactmodif,a.id_tip_norma,]+; + [ nom_acte.nume_act as tipactmodif,e.meserie,f.denumire as temeiincetare ]+; + [ from sal_reges_contracte a left join syn_sal_cor c on a.cor = c.cod and a.versiune_cor = c.versiune ]+; + [ left join (select id_sal_ctr, dataincetare,id_temei from sal_stare_ctr where id_tip_stare = 1 and sters = 0) d on a.id_sal_ctr = d.id_sal_ctr ]+; + [ left join syn_sal_nom_temei f on d.id_temei = f.id_temei ]+; + [ left join sal_nom_acte nom_acte on a.id_tipact = nom_acte.id_act ]+; + [ left join sal_nom_mes e on a.id_meserie = e.id_meseria ]+; + [ where a.id_salariat = ]+ALLTRIM(STR(tnId))+[ and a.tip_modificare <> 1 and a.sters <> 2 and a.tip_modificare <> 2) order by dataconsemnare,id_sal_ctr, nr) start with tata is null ]+; + [ connect by tata = prior nr) order by dataconsemnare, id_sal_ctr, nr] + + If !goExecutor.oExecuta(lcSQl,[crs_venituri]) + RETURN + ENDIF +*!* lcSQl = [{call pack_personal.reges_citeste_suspendari(]+Alltrim(Str(tnId,10))+[)}] +*!* If !goExecutor.oExecuta(lcSQl,[crsSuspendari]) +*!* RETURN +*!* ENDIF + ENDIF + IF toObiect.id_referinta = -14 + lcSQl = [select an,luna,id_colaborator,baza_cas,scas from spec_vtotvenituri a where a.scas >0 ]+; + [ and a.id_colaborator = ]+ALLTRIM(STR(tnId))+[ order by an*12+luna ] + If !goExecutor.oExecuta(lcSQl,[crs_bazeCAS]) + RETURN + ENDIF + ENDIF + IF UPPER(ALLTRIM(toObiect.nume_fisier)) = 'ADEVERINTA2.DOC' + lcSQl = [select a.cod_cm as cod ,(cm.datasf - cm.datainc + 1) as zilecm,]+; + [ to_char(cm.datainc, 'DD.MM.YYYY') || ' - ' ||to_char(cm.datasf, 'DD.MM.YYYY') as perioada,b.id_persoana,b.an,b.luna from SAL_CONCMED cm ]+; + [ left join sal_nom_cm a on cm.id_cm = a.id_cm ]+; + [ left join sal_stat b on cm.id_stat = b.id_stat ]+; + [ where cm.sters =0 ]+; + [ and cm.datainc between add_months(to_date(pack_sesiune.getan() ||pack_sesiune.getluna(),'YYYYMM'),-24) and ]+; + [ last_day(to_date(pack_sesiune.getan() || pack_sesiune.getluna(),'YYYYMM'))]+; + [ and a.cod_cm <> '00' and b.id_persoana = ]+ALLTRIM(STR(tnId)) +[ order by cm.datainc ] + If !goExecutor.oExecuta(lcSQl,[crsCmuri]) + RETURN + ENDIF + SELECT crsCmuri + ENDIF + *!* modificare pentru contract ^ + Strtofile(toObiect.fisier,lcDocumentMarca) + Local xeroare As Exception + TRY + SET STEP ON + poWord = Createobject('word.application') + APPLICATION.OLERequestPendingTimeout = 0 && v 2.0.21 + poWord.visible = .t. + loDocument = poWord.Documents.Open(lcDocumentMarca) + Catch To xeroare + If Type('poword')='O' + poWord.Quit + Release poWord + Endif + If xeroare.ErrorNo = 1429 + amessagebox('Fisierul ' + lcDocumentMarca+ ' este deja deschis!',16,"Eroare") + Endif + Finally + Endtry + + If Type('xeroare') = 'O' + Release xeroare + Return + Endif + + Local loSelection,lcVariabila,lcValoare,loDoc + lcValoare = [] + loTherm = Newobject("_thermometer","_therm","","Completare document ...") + lcTask = "Document ..." + loDoc = Createobject('empty') + With loTherm + .AlwaysOnTop=.T. + .Show() + lnPercent = 5 + .Update(lnPercent, lcTask) + + For i= poWord.ActiveDocument.Fields.Count To 1 Step -1 + lnPercent = 100 / i + .Update(lnPercent, lcTask) + poWord.ActiveDocument.Fields(i).Select + loSelection = poWord.Selection + lcVariabila = loSelection.Text + *!* modificare ROARES v 2.0.14 + *!* If Type('loDoc.&cVariabila')='U' + *!* Select (lcCursor) + *!* Locate For Upper(Alltrim(variabila))=Upper(lcVariabila) + *!* If Found() + *!* lcValoare = Alltrim(valoare) + *!* Endif + *!* If Empty(NVL(lcValoare,[])) + *!* lcValoare = Replicate(Chr(95),13) + *!* Endif + *!* =AddProperty(loDoc,lcVariabila,lcValoare) + *!* Endif + *!* loSelection.Cut + *!* loSelection.InsertBefore(loDoc.&lcVariabila) + If Type('loDoc.&cVariabila')='U' + Select (lcCursor) + Locate For Upper(Alltrim(variabila))=Upper(lcVariabila) + If Found() + lcValoare = Alltrim(valoare) + If Empty(Nvl(lcValoare,[])) + lcValoare = Replicate(Chr(95),13) + Endif + =AddProperty(loDoc,lcVariabila,lcValoare) + loSelection.Cut + loSelection.InsertBefore(loDoc.&lcVariabila) + ELSE + IF UPPER(lcVariabila)= 'TABLE' + DO CASE + CASE toObiect.id_referinta = -2 + + loselection.ConvertToTable(,1,7,,,,,,,,,,,2) + loselection.Tables(1).Style = 'Table grid' + loSelection.ParagraphFormat.Alignment = 2 + loselection.TypeText("An") +*!* loselection.InsertColumnsRight + loSelection.MoveRight + loselection.TypeText("Luna") + loSelection.MoveRight + loselection.TypeText("Baza de calcul") + loSelection.MoveRight + loselection.TypeText("Contrib. individuala") + loSelection.MoveRight + loselection.TypeText("Contrib. angajator") + loSelection.MoveRight + loselection.TypeText("Nr. ireg delc.lunara") + loSelection.MoveRight + loselection.TypeText("Nat venituri baza calcul") + + loselection.InsertRowsBelow(1) + loselection.TypeText("1") + loSelection.MoveRight(1) + loselection.TypeText("2") + loSelection.MoveRight(1) + loselection.TypeText("3") + loSelection.MoveRight(1) + loselection.TypeText("4") + loSelection.MoveRight(1) + loselection.TypeText("5") + loSelection.MoveRight(1) + loselection.TypeText("6") + loSelection.MoveRight(1) + loselection.TypeText("7") + + + SELECT crs_venituri + SCAN + SCATTER NAME lovenit + loselection.InsertRowsBelow(1) + loselection.TypeText(ALLTRIM(STR(loVenit.an))) + loSelection.MoveRight(1) + loselection.TypeText(ALLTRIM(STR(loVenit.luna))) + loSelection.MoveRight(1) + loselection.TypeText(ALLTRIM(STR(NVL(loVenit.baza,0)))) + loSelection.MoveRight(1) + loselection.TypeText(ALLTRIM(STR(NVL(loVenit.somaj,0)))) + loSelection.MoveRight(1) + loselection.TypeText(ALLTRIM(STR(NVL(loVenit.somsoc,0)))) + loSelection.MoveRight(1) + loselection.TypeText(ALLTRIM(NVL(loVenit.nrdata112,''))) + loSelection.MoveRight(1) + loselection.TypeText("Venituri din salarii") + ENDSCAN +*!* loSelection.Tables(1).AutoFitBehavior(1) + + CASE toObiect.id_referinta = -11 + + loselection.ConvertToTable(,1,6,,,,,,,,,,,2) + loselection.Tables(1).Style = 'Table grid' + loSelection.ParagraphFormat.Alignment = 2 + loselection.TypeText("Nr. Crt") + loSelection.MoveRight + loselection.TypeText("Luna si Anul") + loSelection.MoveRight + loselection.TypeText("Baza de calcul contributie asiguratorie pentru munca (BC)") + loSelection.MoveRight + loselection.TypeText("Baza de calcul al indemnizatiei de somaj (BCIS)") + loSelection.MoveRight + loselection.TypeText("Numarul de inregistrare a declaratiei lunare validate") + loSelection.MoveRight + loselection.TypeText("Natura veniturilor din care este constituita baza de calcul al indemnizatiei de somaj") + + loselection.InsertRowsBelow(1) + loselection.TypeText("1") + loSelection.MoveRight(1) + loselection.TypeText("2") + loSelection.MoveRight(1) + loselection.TypeText("3") + loSelection.MoveRight(1) + loselection.TypeText("4") + loSelection.MoveRight(1) + loselection.TypeText("5") + loSelection.MoveRight(1) + loselection.TypeText("6") + lnNr = 0 + + + + SELECT crs_venituri + SCAN + SCATTER NAME lovenit + lnNr = lnNr +1 + loselection.InsertRowsBelow(1) + loselection.TypeText(ALLTRIM(STR(lnNr))) + loSelection.MoveRight(1) + loselection.TypeText(ALLTRIM(STR(loVenit.luna))+"/ "+ALLTRIM(STR(loVenit.an))) + loSelection.MoveRight(1) +*!* loselection.TypeText(ALLTRIM(STR(NVL(loVenit.somsoc,0)))) + loselection.TypeText(ALLTRIM(STR(NVL(loVenit.baza,0)))) + loSelection.MoveRight(1) + loselection.TypeText(ALLTRIM(STR(NVL(loVenit.baza,0)))) + loSelection.MoveRight(1) + loselection.TypeText(ALLTRIM(NVL(loVenit.nrdata112,''))) + loSelection.MoveRight(1) + loselection.TypeText("Venituri din salarii") + ENDSCAN +*!* loSelection.Tables(1).AutoFitBehavior(1) + + CASE toObiect.id_referinta = -1 + + loselection.ConvertToTable(,1,6,,,,,,,,,,,2) + loselection.Tables(1).Style = 'Table grid' + loSelection.ParagraphFormat.Alignment = 2 + loselection.TypeText("An") + loSelection.MoveRight + loselection.TypeText("Luna") + loSelection.MoveRight + loselection.TypeText("Salariu incadrare") + loSelection.MoveRight + loselection.TypeText("Brut") + loSelection.MoveRight + loselection.TypeText("Net") + loSelection.MoveRight + loselection.TypeText("Norma zilnica") + SELECT crs_venituri + SCAN + SCATTER NAME lovenit + loselection.InsertRowsBelow(1) + loselection.TypeText(ALLTRIM(STR(loVenit.an))) + loSelection.MoveRight(1) + loselection.TypeText(ALLTRIM(STR(loVenit.luna))) + loSelection.MoveRight(1) + loselection.TypeText(ALLTRIM(STR(loVenit.tarifar))) + loSelection.MoveRight(1) + loselection.TypeText(ALLTRIM(STR(loVenit.totbrut))) + loSelection.MoveRight(1) + loselection.TypeText(ALLTRIM(STR(loVenit.net))) + loSelection.MoveRight(1) + loselection.TypeText(ALLTRIM(STR(IIF(EMPTY(NVL(loVenit.fractie,0)),8,loVenit.fractie)))) + ENDSCAN + loSelection.Tables(1).AutoFitBehavior(1) + CASE toObiect.id_referinta = -5 + + loselection.ConvertToTable(,1,4,,,,,,,,,,,2) + loselection.Tables(1).Style = 'Table grid' + loSelection.ParagraphFormat.Alignment = 2 + loselection.TypeText("An") + loSelection.MoveRight + loselection.TypeText("Luna") + loSelection.MoveRight + loselection.TypeText("Ore noapte") + loSelection.MoveRight + loselection.TypeText("Spor noapte") + SELECT crs_venituri + SCAN + SCATTER NAME lovenit + loselection.InsertRowsBelow(1) + loselection.TypeText(ALLTRIM(STR(loVenit.an))) + loSelection.MoveRight(1) + loselection.TypeText(ALLTRIM(STR(loVenit.luna))) + loSelection.MoveRight(1) + loselection.TypeText(ALLTRIM(STR(loVenit.orenoapte))) + loSelection.MoveRight(1) + loselection.TypeText(ALLTRIM(STR(ROUND(calcul_sumaore(loVenit.tarif_ora,loVenit.orenoapte,loVenit.c_orenoapte),2),16,2))) + ENDSCAN + loSelection.Tables(1).AutoFitBehavior(1) + CASE toObiect.id_referinta = -6 + + loselection.ConvertToTable(,1,6,,,,,,,,,,,2) + loselection.Tables(1).Style = 'Table grid' + + loselection.TypeText("Nr. Crt") + loSelection.MoveRight + loselection.TypeText("Mutatia Intervenita") + loSelection.MoveRight + loselection.TypeText("Zi/Luna/An") + loSelection.MoveRight + loselection.TypeText("Meseria / Functia") + loSelection.MoveRight + loSelection.ParagraphFormat.Alignment = 2 + loselection.TypeText("Salariu de baza, inclusiv sporurile care intra în calculul punctajului mediu anual") + loSelection.MoveRight + loselection.TypeText("Nr. si data actului pe baza caruia se face înscrierea si temeiul legal") + SELECT crs_venituri + lnNr = 0 + SCAN FOR tipactualizare <> 'Corectie' + lnNr = lnNr +1 + SCATTER NAME lovenit MEMO + loselection.InsertRowsBelow(1) + loselection.TypeText(ALLTRIM(STR(lnNr))) + loSelection.MoveRight(1) + lcMotivatie = [] +*!* v2.1.7 - nu punea corect "incheiere CIM" +*!* lcMotivatie = IIF(lnNr =1,IIF(YEAR(lovenit.dataang)*12+MONTH(lovenit.dataang)<=VAL(ALLTRIM(SUBSTR(lovenit.VECHIME,7,4)))*12+VAL(ALLTRIM(SUBSTR(lovenit.VECHIME,4,2))),'Continuare CIM','Incheiere CIM'),IIF(ALLTRIM(SUBSTR(lovenit.VECHIME,1,10)) = ALLTRIM(SUBSTR(lovenit.VECHIME,13,11)),'Incetare CIM','Modificare CIM')) + lcMotivatie = IIF(lnNr =1,IIF(YEAR(lovenit.dataang)*12+MONTH(lovenit.dataang)<=2011*12+1,'Continuare CIM','Incheiere CIM'),; + IIF(YEAR(lovenit.dataincetare)*12+MONTH(lovenit.dataincetare) = VAL(ALLTRIM(SUBSTR(lovenit.VECHIME,20,4)))*12+VAL(ALLTRIM(SUBSTR(lovenit.VECHIME,17,2))) and ; + DAY(lovenit.dataincetare) = VAL(ALLTRIM(SUBSTR(lovenit.VECHIME,14,2))),'Incetare CIM','Modificare CIM')) + + IF ALLTRIM(SUBSTR(lovenit.VECHIME,1,10)) = ALLTRIM(SUBSTR(lovenit.VECHIME,13,11)) + lcMotivatie = lcMotivatie + [ cf. ]+NVL(ALLTRIM(lovenit.temeiincetare) ,[ ]) +[ din Codul Muncii] + ENDIF + SELECT crs_venituri + loselection.TypeText(ALLTRIM(lcMotivatie)) + loSelection.MoveRight(1) + loselection.TypeText(IIF(YEAR(lovenit.dataincetare) = VAL(ALLTRIM(SUBSTR(lovenit.VECHIME,20,4))) and ; + MONTH(lovenit.dataincetare) = VAL(ALLTRIM(SUBSTR(lovenit.VECHIME,17,2))); + and DAY(lovenit.dataincetare) = VAL(ALLTRIM(SUBSTR(lovenit.VECHIME,14,2))),SUBSTR(lovenit.VECHIME,14,10),SUBSTR(lovenit.VECHIME,1,10))) + loSelection.MoveRight(1) + loselection.TypeText(PROPER(ALLTRIM(loVenit.meserie))) + loSelection.MoveRight(1) + loselection.TypeText(ALLTRIM(TRANSFORM(loVenit.salariu))) + loSelection.MoveRight(1) + IF lnNr = 1 + loselection.TypeText(NVL(ALLTRIM(loVenit.tipactmodif),[CONTRACT ])+[ nr: ]+; + IIF(!EMPTY(ALLTRIM(TRANSFORM(loVenit.nractmodif))),NVL(ALLTRIM(TRANSFORM(loVenit.nractmodif)),ALLTRIM(STR(NVL(loVenit.nrCtr,0)))),ALLTRIM(STR(NVL(loVenit.nrCtr,0))))+; + [ / ]+IIF(!EMPTY(ALLTRIM(TRANSFORM(TTOD(loVenit.dataactmodif)))),NVL(ALLTRIM(TRANSFORM(TTOD(loVenit.dataactmodif))),NVL(ALLTRIM(TRANSFORM(TTOD(loVenit.dataang))),[])),; + NVL(ALLTRIM(TRANSFORM(TTOD(loVenit.dataang))),[]))) + + ELSE + loselection.TypeText(NVL(ALLTRIM(loVenit.tipactmodif),[])+[ nr: ]+NVL(ALLTRIM(TRANSFORM(loVenit.nractmodif)),[])+[ / ]+NVL(ALLTRIM(TRANSFORM(TTOD(loVenit.dataactmodif))),[])) + ENDIF + ENDSCAN + loSelection.Tables(1).AutoFitBehavior(1) + CASE toObiect.id_referinta = -7 + loselection.Font.Color = -603914241 + SELECT crsmoditarifar + SCAN + SCATTER NAME lovenit + loselection.InsertRowsBelow(1) + loselection.TypeText(ALLTRIM(STR(RECNO()))) + loSelection.MoveRight(1) + loselection.TypeText(ALLTRIM(loVenit.nume)+[ ]+ALLTRIM(loVenit.prenume)) + loSelection.MoveRight(1) + loselection.TypeText(ALLTRIM(loVenit.codpers)) + loSelection.MoveRight(1) + loselection.TypeText(ALLTRIM(STR(NVL(loVenit.tarifar_nou,0)))) + ENDSCAN + CASE toObiect.id_referinta = -12 + + loselection.ConvertToTable(,1,4,,,,,,,,,,,2) + loselection.Tables(1).Style = 'Table grid' + loSelection.ParagraphFormat.Alignment = 2 + loselection.TypeText("An") + loSelection.MoveRight + loselection.TypeText("Luna") + loSelection.MoveRight + loselection.TypeText("Salariu de baza") + loSelection.MoveRight + loselection.TypeText("Total brut") + SELECT crs_venituri + SCAN + SCATTER NAME lovenit + loselection.InsertRowsBelow(1) + loselection.TypeText(ALLTRIM(STR(loVenit.an))) + loSelection.MoveRight(1) + loselection.TypeText(ALLTRIM(STR(loVenit.luna))) + loSelection.MoveRight(1) + loselection.TypeText(ALLTRIM(STR(loVenit.tarifar))) + loSelection.MoveRight(1) + loselection.TypeText(ALLTRIM(STR(loVenit.totbrut))) + ENDSCAN + loSelection.Tables(1).AutoFitBehavior(1) + CASE toObiect.id_referinta = -13 + + loselection.ConvertToTable(,1,5,,,,,,,,,,,2) + loselection.Tables(1).Style = 'Table grid' + loSelection.ParagraphFormat.Alignment = 2 + loselection.TypeText("An") + loSelection.MoveRight + loselection.TypeText("Luna") + loSelection.MoveRight + loselection.TypeText("Total brut") + loSelection.MoveRight + loselection.TypeText("Zile lucrate") + loSelection.MoveRight + loselection.TypeText("Zile CM") + SELECT crs_bazeCM + SCAN + SCATTER NAME lovenit + loselection.InsertRowsBelow(1) + loselection.TypeText(ALLTRIM(STR(loVenit.an))) + loSelection.MoveRight(1) + loselection.TypeText(ALLTRIM(STR(loVenit.luna))) + loSelection.MoveRight(1) + loselection.TypeText(ALLTRIM(STR(loVenit.totbrut))) + loSelection.MoveRight(1) + loselection.TypeText(ALLTRIM(STR(loVenit.zileluc))) + loSelection.MoveRight(1) + loselection.TypeText(ALLTRIM(STR(loVenit.zilecm))) + ENDSCAN + *loSelection.Tables(1).AutoFitBehavior(1) + CASE toObiect.id_referinta = -14 + + loselection.ConvertToTable(,1,4,,,,,,,,,,,2) + loselection.Tables(1).Style = 'Table grid' + loSelection.ParagraphFormat.Alignment = 2 + loselection.TypeText("An") + loSelection.MoveRight + loselection.TypeText("Luna") + loSelection.MoveRight + loselection.TypeText("Baza de calcul") + loSelection.MoveRight + loselection.TypeText("CAS") + + SELECT crs_bazeCas + SCAN + SCATTER NAME lovenit + loselection.InsertRowsBelow(1) + loselection.TypeText(ALLTRIM(STR(loVenit.an))) + loSelection.MoveRight(1) + loselection.TypeText(ALLTRIM(STR(loVenit.luna))) + loSelection.MoveRight(1) + loselection.TypeText(ALLTRIM(STR(loVenit.baza_cas))) + loSelection.MoveRight(1) + loselection.TypeText(ALLTRIM(STR(loVenit.scas))) + + ENDSCAN + loSelection.Tables(1).AutoFitBehavior(1) + CASE UPPER(ALLTRIM(toObiect.nume_fisier)) = 'ADEVERINTA2.DOC' + + loselection.ConvertToTable(,1,3,,,,,,,,,,,2) + loselection.Tables(1).Style = 'Table grid' + loSelection.ParagraphFormat.Alignment = 2 + loselection.TypeText("Cod de indemnizatie") + loSelection.MoveRight + loselection.TypeText("Numar zile concediu medical în ultimele 12/24 luni") + loSelection.MoveRight + loselection.TypeText("Seria si numarul certificatului de concediu medical anterior****), pentru codul de diagnostic . . . . . . . . , valabil pâna la . . . . . . . . . . ") + SELECT crsCmuri + SCAN + SCATTER NAME loCM + loselection.InsertRowsBelow(1) + loselection.TypeText(ALLTRIM(loCM.cod)) + loSelection.MoveRight(1) + loselection.TypeText(ALLTRIM(STR(loCM.zilecm))) + loSelection.MoveRight(1) +*!* loselection.TypeText(ALLTRIM(loCM.perioada)) + loselection.TypeText(" ") + + ENDSCAN + loSelection.Tables(1).AutoFitBehavior(1) + OTHERWISE + 1=1 + + + ENDCASE + + ENDIF + IF UPPER(lcVariabila)= 'TABLE2' + *---------- + DO CASE + CASE INLIST(toObiect.id_referinta ,-2,-11) + + loselection.ConvertToTable(,1,3,,,,,,,,,,,2) + loselection.Tables(1).Style = 'Table grid' + loSelection.ParagraphFormat.Alignment = 2 + loselection.TypeText("Data inceput") + *!* loselection.InsertColumnsRight + loSelection.MoveRight + loselection.TypeText("Data sfarsit") + loSelection.MoveRight + loSelection.ParagraphFormat.Alignment = 0 + loselection.TypeText("Motiv suspendare") + + + SELECT crs_concediiSuspendari + SCAN + SCATTER NAME loSuspendare MEMO + loselection.InsertRowsBelow(1) + loselection.TypeText(NVL(ALLTRIM(TRANSFORM(TTOD(loSuspendare.datainc))),[])) + loSelection.MoveRight(1) + loselection.TypeText(NVL(ALLTRIM(TRANSFORM(TTOD(loSuspendare.datasf))),[])) + loSelection.MoveRight(1) + loselection.TypeText(PROPER(ALLTRIM(loSuspendare.temei))) + ENDSCAN + RELEASE loSuspendare + USE IN crs_concediiSuspendari + *!* loSelection.Tables(1).AutoFitBehavior(1) + OTHERWISE + 1 = 1 + ENDCASE + + *----------- + ENDIF + Endif + ELSE + + loSelection.Cut + loSelection.InsertBefore(loDoc.&lcVariabila) + Endif + *!* modificare ROARES v 2.0.14 ^ + Endfor + If Used(lcCursor) + Use In (lcCursor) + ENDIF + lnPercent = 100 + .Update(lnPercent, lcTask) + .Complete() + .AlwaysOnTop=.F. + Endwith + Release loTherm + _Screen.MousePointer= 0 + + poWord.Visible =.T. + poWord = .Null. + Release poWord,lcVariabila,lcValoare,loSelection,lcDocumentMarca,lcSQl,lcCursor,lnSucces,loDoc +Endproc +****************************************************************************************************** +Procedure template_citeste_meniu + Lparameters tnTip + SET STEP ON + Local lcSQl, lnSucces, lcNumeCursor, lcMeniu, lnOptiune, lcView + lcNumeCursor = [crsmeniutempl] + If gnIdProgram = 75 + lcView = [sal_vdocumente_ss] && ROASALSPEC / 75 + Else + lcView = [sal_vdocumente_ru] && ROARES / 4 + Endif + lcSQl = [select row_number() over(order by ordine) as nr, id_referinta, descriere from ] + lcView + [ ] + ; + [where id_entitate = ] + ALLTRIM(STR(tnTip)) + [ order by ordine] + lnSucces = goExecutor.oExecute(lcSQl,lcNumeCursor) + If lnSucces < 0 + amessagebox(goExecutor.cEroare,16,"Eroare") + Else + If Reccount(lcNumeCursor) > 0 + lcMeniu = [] + Select (lcNumeCursor) + Scan + lcMeniu = lcMeniu + [;] + Alltrim(descriere) + Endscan + lnOptiune = xmenu(SUBSTR(lcMeniu,2)) + Select (lcNumeCursor) + Locate For nr = lnOptiune + If Found() + template_selecteaza(id_referinta) + Endif + Else + amessagebox("Nu ati definit alte formulare!",48,"Atentie") + Endif + Use In (lcNumeCursor) + Endif + Release lcSQl, lnSucces, lcNumeCursor, lcMeniu, lnOptiune +Endproc +****************************************************************************************************** +*!* && ------------------------------INCEPUT: Fise_personal------------------------------ +*!* *!* Procedura: Fise_personal +*!* *!* Parametri: tcFile,tcPath,tcFileName,tcSelect +*!* *!* Data/Ora generarii: 04/09/06 01:40:26 PM +*!* *!* Autor: NEAGU.CATALIN +*!* Procedure fise_personal +*!* Lparameters tcFile,tcPath,tcNume,tnid,tcCond +*!* +*!* IF TYPE('tcCond') <> 'C' +*!* tcCond = '' +*!* ENDIF +*!* +*!* Local lcDocument,lnid + +*!* Private oWord +*!* lcDocument = tcFile +*!* cDocument = tcPath +*!* lnid=tnid + +*!* cDocumMarca = Addbs(gcTempPath) + Alltrim(tcNume) +*!* If !File(cDocument) +*!* If File(lcDocument) +*!* Copy File (lcDocument) To (cDocument) +*!* Else +*!* aMessagebox("Nu exista fisierul "+lcDocument,16,"Eroare") +*!* Return +*!* Endif +*!* Endif + +*!* If File(cDocumMarca) +*!* Delete File (cDocumMarca) +*!* Endif +*!* Copy File (cDocument) To (cDocumMarca) && + + +*!* *!* STRTOFILE(gcs+';'+ALLTRIM(STR(lcid))+';'+ALLTRIM(STR(pnId_F_contract)),'c:\conpressh.txt') +*!* *!* RETURN +*!* lcSQl = [{call pack_personal.contract_munca(?gcS,]+ALLTRIM(STR(lnid))+[,?pnId_F_contract,']+ALLTRIM(tcCond)+[')}] + +*!* lcCursor = 'crs_test' +*!* lnSucces = goExecutor.oExecute(lcSQl,lcCursor) + +*!* If lnSucces < 0 +*!* aMessagebox(goExecutor.cEroare,0+16,"Eroare") +*!* ENDIF +*!* Local xeroare As Exception + +*!* Try +*!* oWord = Createobject('word.application') +*!* oDocument = oWord.Documents.Open(cDocumMarca) +*!* oWord.Caption = "Contract de munca" +*!* Catch To xeroare +*!* If Type('oword')='O' +*!* oWord.Quit +*!* Release oWord +*!* Endif +*!* If xeroare.ErrorNo = 1429 +*!* aMessagebox('Fisierul ' + cDocumMarca + ' este deja deschis!',16,"Eroare") +*!* Endif + +*!* Finally +*!* Endtry + + +*!* If Type('xeroare') = 'O' +*!* Release xeroare +*!* Return +*!* Endif + + +*!* Local lncount,lObj,lcValoare +*!* lcValoare='' +*!* lncount=0 +*!* Doc = Createobject('empty') + +*!* lncount = oWord.ActiveDocument.Fields.Count +*!* For i=lncount To 1 Step -1 +*!* oWord.ActiveDocument.Fields(i).Select +*!* loSelection=oWord.Selection +*!* lcVariabila=loSelection.Text +*!* If Type('Doc.&lcValoare')='U' +*!* Select crs_test +*!* Locate For Upper(Alltrim(variabila))=Upper(lcVariabila) +*!* If Found() +*!* lcValoare = Alltrim(valoare) +*!* Endif +*!* If Empty(lcValoare) Or Isnull(lcValoare) +*!* lcValoare = Replicate(Chr(95),13) +*!* Endif +*!* =AddProperty(Doc,lcVariabila,lcValoare) +*!* Endif +*!* loSelection.Cut +*!* loSelection.InsertBefore(Doc.&lcVariabila) + +*!* Endfor + + +*!* oWord.Visible =.T. + + +*!* *!* wordFindAndreplace("s1","Costica Popescu") && Exemplu +*!* *!* oWord.QUIT +*!* oWord = .Null. +*!* Release oWord +*!* Release Doc,loSelection + +*!* Return && de facut: scrie valoare de retur + +*!* Endproc +&& ------------------------------SFARSIT: Fise_personal------------------------------ + + +******************************************************** +PROCEDURE update_tichete + + If Used('v_tichetemasa') + Use In v_formatia + Endif + + lcSQl = [select * from ] + gcs + [.sal_vnom_tichete where inactiv = 0] + lcCursor = [v_tichete] + lnSucces = goExecutor.oExecute(lcSQl,lcCursor) + goExecutor.oReset() + + Return lnSucces + +ENDPROC +******************************************************** +Procedure config_campdoc + Private pcschema1,pcselect1 + Store '' To pcschema1,pcselect1 + pcschema1=[''] + pcselect1=['select * from ] + gcs + [.sal_v_contract where 1=2'] + ocon = Createobject('frm_campdoc') + With ocon.ct_grid_search1 + .cSelect = pcselect1 + .cSchema = pcschema1 + .cTitlu_coloane = 'Reper,Descriere,Valoare,Tabela,Camp_id,DinSchema' + .cNume_coloane = 'variabila;descriere;valoare;tabela;camp_id;dinschema' + .cMask = '[1]=;[2]=;[3]=;[4]=;[5]=;[6]=replicate([9],1)' + IF gnIdProgram = 75 + .cFiltruOriginal = "REGEXP_LIKE(variabila, '^N|SS')" && N, SS + ELSE + .cFiltruOriginal = "REGEXP_LIKE(variabila, '^[SN][0-9]')" && N, S + ENDIF + *!* .cFiltruOriginal = [2=2] + .cOrder = 'descriere' + .cTitlu = 'Configurare' + Endwith + ocon.Show(1) + Release ocon + +Endproc +*************************************************************** + +PROCEDURE actualizez_coeficienti_xml + PARAMETERS tlupdate + SET STEP ON + DO CASE + CASE m.GnAn * 12 + m.GnLuna >= 2019*12+1 + PRIVATE poCoef,pozile + LOCAL lnCaen,lnNr,llGasit,lnLungime,lcString,llCaenGasit + Store '' To pozile + pcschema2=[''] + pcselect2=[select * from ] + gcS + [.sal_calendar where 1=2] + pcorder2=[luna,an] + pcfiltru2 = [luna = ] + Alltrim(Str(GnLuna)) + [ and an = ]+Alltrim(Str(GnAn)) + llAfiseaza = .F. + gencursor('pozile','v_coef',pcselect2,pcfiltru2,pcschema2,pcorder2,llAfiseaza) + pozile.ca_baza1.afisare() + Select v_coef + Scatter Name poCoef + Use In (Select('v_coef')) + + LOCAL llUpdate,lcFisierXML,lnPos,lcComunPath ,llSucces ,lcPath ,llOpen ,lcXML ,lnLunaCoeficientiXml,lnc_faambp + Local loXMLRequest as "Msxml2.xmlhttp" + + IF PCOUNT() <> 1 + llUpdate = .t. + ELSE + llUpdate = tlupdate + ENDIF + + lnPos = Rat("\", Addbs(m.gcAppPath), 2) + If lnPos > 0 + lcComunPath = Left(m.gcAppPath, lnPos) + ENDIF + + + lcComunPath = lcComunPath + Iif(gcAppName = "CONSAL", "COMUNCONTAFIN\", "COMUNROA\") && d:\contafin\comuncontafin\ + + lcFisierXML= Alltrim(Transform(m.lcComunPath + "coeficienti.xml")) + + + lcPath = Addbs(Justpath(m.lcFisierXML)) + llOpen = .F. + llSucces = DownloadSupportFile("coeficienti.xml", m.lcPath, m.llOpen) && proceduri_comune.prg + + If m.llSucces + lcMesaj = m.lcFisierXML+ ' Actualizare cu succes.' + Else + lcMesaj = m.lcFisierXML+ ' ATENTIE: Nu s-a actualizat!' + Endif && m.llSucces + + IF !FILE(m.lcFisierXML) + RETURN + ENDIF + XMLTOCURSOR(m.lcFisierXML,"crsCoeficientiXML",512) + SELECT crsCoeficientiXML + *!* BROWSE + + select MAX(an*12+luna) as luna from crsCoeficientiXML WHERE an*12+luna <= m.GnAn*12+m.GnLuna INTO CURSOR crsCoeficientiDinLuna + SELECT crsCoeficientiDinLuna + lnLunaCoeficientiXml = crsCoeficientiDinLuna.luna + Use In (Select('crsCoeficientiDinLuna')) + + *!* loXMLRequest = CreateObject("Msxml2.xmlhttp") + Try + loXMLRequest = CreateObject("MSXML2.XMLHTTP.6.0") + Catch + loXMLRequest = CreateObject("MSXML2.XMLHTTP.3.0") + Endtry + loXMLRequest.open("GET", m.lcFisierXML, .F.) + loXMLRequest.send(.null.) + lcXML = loXMLRequest.responseText + lnNrCoeficienti = OCCURS([], lcXML) + + + FOR lnI = 1 TO lnNrCoeficienti + + + SELECT crsCoeficientiXML + GOTO lnI + IF an*12+luna = lnLunaCoeficientiXml + SCATTER NAME localen + IF GnAn*12+GnLuna > 2018*12+12 && incepand cu 2018 nu mai exista fond de risc si accidente, iar deducerile le actualizez prin script + lcExtract = [] + STREXTRACT(lcXML, '', '', lnI) + [] + XMLTOCURSOR(lcExtract, 'crsCoef_diferiti') + SELECT crsCoef_diferiti + IF ISNULL(poCoef.oug114_2018) + LOCATE FOR UPPER(ALLTRIM(constructii)) = "T" + IF FOUND() + *------------cauta caenul firmei in lista predefinita din xml + lnNr = OCCURS(",",crsCoef_diferiti.caen) + lnCaen = ALLTRIM(TRANSFORM(gofirma.caen)) + FOR i=0 TO lnNr-1 + IF i=0 + lcString=left(crsCoef_diferiti.caen,AT(',',crsCoef_diferiti.caen,1)-1) + ELSE + + lcString=SUBSTR(crsCoef_diferiti.caen,AT(',',crsCoef_diferiti.caen,i)+1,AT(',',crsCoef_diferiti.caen,i+1)-AT(',',crsCoef_diferiti.caen,i)-1) + ENDIF + lnLungime = LEN(lcString) + IF LEFT(lnCaen,lnLungime )= lcString + llCaenGasit = .t. + IF aMESSAGEBOX('Codului Caen: '+lnCaen +' i se pot aplica prevederile OUG 114/28.12.2018?',4,'Atentie!') = 6 + poCoef.oug114_2018 = 1 + ELSE + poCoef.oug114_2018 = 0 + ENDIF + EXIT + ENDIF + + ENDFOR + IF !llCaenGasit + poCoef.oug114_2018 = 0 + ENDIF + *------------cauta caenul firmei in lista predefinita din xml + + + ENDIF + + *!* 04.01.2016 - introducere deduceri in xml + +*!* Use In (Select('crsDeduceri')) +*!* lcExtract = [] + STREXTRACT(lcXML, '', '', lnI) + [] +*!* XMLTOCURSOR(lcExtract, 'crsDeduceri') +*!* SELECT crsDeduceri + *!* ^ 04.01.2016 - introducere deduceri in xml + lnc_faambp = 0 + ELSE + lnc_faambp = 0 + ENDIF + ADDPROPERTY(poCoef,'impozit',0.1) + + SELECT crsCoef_diferiti + LOCATE FOR UPPER(ALLTRIM(constructii)) = IIF(poCoef.oug114_2018=1,'T','F') + IF FOUND() + poCoef.c_soms = crsCoef_diferiti.c_soms + poCoef.salmin= crsCoef_diferiti.salmin + poCoef.c_casp = crsCoef_diferiti.c_casp + poCoef.c_medp= crsCoef_diferiti.c_medp + poCoef.impozit = crsCoef_diferiti.impozit + ENDIF + Use In (Select('crsCoef_diferiti')) + + EXIT + ENDIF + + ENDIF + ENDFOR + + Use In (Select('crsCoeficientiXML')) + IF llUpdate + poCoef.orestas = localen.orestas && nu se actualizeaza prin oproceduri_roadef_sal.prg , am pus-o sa fie &&v2.0.53 + poCoef.c_meds = localen.c_meds + poCoef.c_somp = localen.c_somp + poCoef.salmed = localen.salmed + poCoef.c_munca = IIF(TYPE('localen.c_munca')='L',IIF(localen.c_munca,1,0),localen.c_munca) + poCoef.dedl1 = localen.dedl1 + poCoef.dedl2 = localen.dedl2 + poCoef.dedper = localen.dedper && nu se foloseste in calcul salarii, nu se actualizeaza INCA &&v2.0.53 + poCoef.c_dedper = localen.c_dedper && nu se foloseste in calcul salarii, nu se actualizeaza INCA &&v2.0.53 + poCoef.c_cheltpro = localen.c_cheltpro && nu se foloseste in calcul salarii, nu se actualizeaza INCA &&v2.0.53 + poCoef.c_faambp = lnc_faambp + poCoef.zilecmplang = localen.zilecmplang + poCoef.zilecmplangf = localen.zilecmplangf + poCoef.BAZA_INGR = IIF(TYPE('localen.BAZA_INGR')='L',IIF(localen.BAZA_INGR,1,0),localen.BAZA_INGR) + poCoef.c_cas1 = localen.c_cas1 + poCoef.c_cas2 = localen.c_cas2 + poCoef.c_cas3 = localen.c_cas3 + poCoef.FD_FNUASS = localen.FD_FNUASS + poCoef.C_FDGARANT = localen.C_FDGARANT + poCoef.diurnaneimp = localen.diurnaneimp + poCoef. salminstudii = localen. salminstudii + DO sal_coef IN oproceduri_roadef_sal.prg WITH .t. + ENDIF + Use In (Select('crsDeduceri')) + + CASE m.GnAn * 12 + m.GnLuna >= 2013*12+7 && este prima luna cu coeficienti in xml si nu as vrea sa suprascriu coeficientii pentru lunile mai vechi + PRIVATE poCoef,pozile + Store '' To pozile + pcschema2=[''] + pcselect2=[select * from ] + gcS + [.sal_calendar where 1=2] + pcorder2=[luna,an] + pcfiltru2 = [luna = ] + Alltrim(Str(GnLuna)) + [ and an = ]+Alltrim(Str(GnAn)) + llAfiseaza = .F. + gencursor('pozile','v_coef',pcselect2,pcfiltru2,pcschema2,pcorder2,llAfiseaza) + pozile.ca_baza1.afisare() + Select v_coef + Scatter Name poCoef + Use In (Select('v_coef')) + + LOCAL llUpdate,lcFisierXML,lnPos,lcComunPath ,llSucces ,lcPath ,llOpen ,lcXML ,lnLunaCoeficientiXml,lnc_faambp + Local loXMLRequest as "Msxml2.xmlhttp" + + IF PCOUNT() <> 1 + llUpdate = .t. + ELSE + llUpdate = tlupdate + ENDIF + + lnPos = Rat("\", Addbs(m.gcAppPath), 2) + If lnPos > 0 + lcComunPath = Left(m.gcAppPath, lnPos) + ENDIF + + + lcComunPath = lcComunPath + Iif(gcAppName = "CONSAL", "COMUNCONTAFIN\", "COMUNROA\") && d:\contafin\comuncontafin\ + + lcFisierXML= Alltrim(Transform(m.lcComunPath + "coeficienti.xml")) + + + lcPath = Addbs(Justpath(m.lcFisierXML)) + llOpen = .F. + llSucces = DownloadSupportFile("coeficienti.xml", m.lcPath, m.llOpen) && proceduri_comune.prg + + If m.llSucces + lcMesaj = m.lcFisierXML+ ' Actualizare cu succes.' + Else + lcMesaj = m.lcFisierXML+ ' ATENTIE: Nu s-a actualizat!' + Endif && m.llSucces + + IF !FILE(m.lcFisierXML) + RETURN + ENDIF + XMLTOCURSOR(m.lcFisierXML,"crsCoeficientiXML",512) + SELECT crsCoeficientiXML + *!* BROWSE + + select MAX(an*12+luna) as luna from crsCoeficientiXML WHERE an*12+luna <= m.GnAn*12+m.GnLuna INTO CURSOR crsCoeficientiDinLuna + SELECT crsCoeficientiDinLuna + lnLunaCoeficientiXml = crsCoeficientiDinLuna.luna + Use In (Select('crsCoeficientiDinLuna')) + + *!* loXMLRequest = CreateObject("Msxml2.xmlhttp") + Try + loXMLRequest = CreateObject("MSXML2.XMLHTTP.6.0") + Catch + loXMLRequest = CreateObject("MSXML2.XMLHTTP.3.0") + Endtry + loXMLRequest.open("GET", m.lcFisierXML, .F.) + loXMLRequest.send(.null.) + lcXML = loXMLRequest.responseText + lnNrCoeficienti = OCCURS([], lcXML) + + + FOR lnI = 1 TO lnNrCoeficienti + + + SELECT crsCoeficientiXML + GOTO lnI + IF an*12+luna = lnLunaCoeficientiXml + SCATTER NAME localen + IF GnAn*12+GnLuna < 2018*12+1 && incepand cu 2018 nu mai exista fond de risc si accidente, iar deducerile le actualizez prin script + lcExtract = [] + STREXTRACT(lcXML, '', '', lnI) + [] + XMLTOCURSOR(lcExtract, 'crsfaambp') + SELECT crsFaambp + LOCATE FOR ALLTRIM(TRANSFORM(caen)) = ALLTRIM(TRANSFORM(gofirma.caen)) + IF FOUND() + lnc_faambp = coef + ELSE + lnc_faambp = 0 &&15.01.2015 - dadea eroare daca firma nu avea completat codul caen + ENDIF + Use In (Select('crsfaambp')) + + *!* 04.01.2016 - introducere deduceri in xml + + Use In (Select('crsDeduceri')) + lcExtract = [] + STREXTRACT(lcXML, '', '', lnI) + [] + XMLTOCURSOR(lcExtract, 'crsDeduceri') + SELECT crsDeduceri + *!* ^ 04.01.2016 - introducere deduceri in xml + EXIT + ELSE + lnc_faambp = 0 + ENDIF + + + ENDIF + + + ENDFOR + + Use In (Select('crsCoeficientiXML')) + IF llUpdate + poCoef.orestas = localen.orestas && nu se actualizeaza prin oproceduri_roadef_sal.prg , am pus-o sa fie &&v2.0.53 + poCoef.c_meds = localen.c_meds + poCoef.c_medp = localen.c_medp + poCoef.c_soms = localen.c_soms + poCoef.c_somp = localen.c_somp + poCoef.c_casp = localen.c_casp + poCoef.salmin = localen.salmin + poCoef.salmed = localen.salmed + poCoef.c_munca = IIF(TYPE('localen.c_munca')='L',IIF(localen.c_munca,1,0),localen.c_munca) + poCoef.dedl1 = localen.dedl1 + poCoef.dedl2 = localen.dedl2 + poCoef.dedper = localen.dedper && nu se foloseste in calcul salarii, nu se actualizeaza INCA &&v2.0.53 + poCoef.c_dedper = localen.c_dedper && nu se foloseste in calcul salarii, nu se actualizeaza INCA &&v2.0.53 + poCoef.c_cheltpro = localen.c_cheltpro && nu se foloseste in calcul salarii, nu se actualizeaza INCA &&v2.0.53 + poCoef.c_faambp = lnc_faambp + poCoef.zilecmplang = localen.zilecmplang + poCoef.zilecmplangf = localen.zilecmplangf + poCoef.BAZA_INGR = IIF(TYPE('localen.BAZA_INGR')='L',IIF(localen.BAZA_INGR,1,0),localen.BAZA_INGR) + poCoef.c_cas1 = localen.c_cas1 + poCoef.c_cas2 = localen.c_cas2 + poCoef.c_cas3 = localen.c_cas3 + poCoef.FD_FNUASS = localen.FD_FNUASS + poCoef.C_FDGARANT = localen.C_FDGARANT + poCoef.diurnaneimp = localen.diurnaneimp + ADDPROPERTY(poCoef,'impozit',0) + poCoef.impozit=0 + DO sal_coef IN oproceduri_roadef_sal.prg WITH .t. + ENDIF + Use In (Select('crsDeduceri')) + OTHERWISE + 1=1 + ENDCASE +ENDPROC &&actualizez_coeficienti_xml + +******************************************************** +PROCEDURE updateNrData112 + + If Used('crs112') + Use In crs112 + Endif + +*!* lcSQl = [select id_calendar,an,luna,nrdata112 from sal_calendar order by an desc,luna desc] +*!* lcCursor = [crs112] +*!* lnSucces = goExecutor.oExecuta(lcSQl,lcCursor) + Private pod112,pcschema1,pcselect1 + Store '' To pod112 + pcschema1=[''] + pcselect1=['select id_calendar,an,luna,nrdata112 from sal_calendar where 1=2'] + pcorder1=[an desc,luna desc] + pcfiltru1 = [2=2] + llAfiseaza = .F. + gencursor('pod112','crs112',pcselect1,pcfiltru1,pcschema1,pcorder1,llAfiseaza) + pod112.ca_baza1.afisare() + + oNrData112 = Createobject('frm_completeznrdata112') + oNrData112.show(1) + + + If Used('crs112') + Use In crs112 + ENDIF + RELEASE pod112 +ENDPROC + + +******************************************* +* PROCEDURE config_spor( ) +* Date : 08/15/05, 13:44:09 +* author : liana.macinic +* description: + +****** PARAMETER BLOCK ************** +* Parameters : 0 +* +******************************************* +PROCEDURE config_spor( ) +DO update_nom_sporuri IN update_salarii.prg +SELECT v_nomspor + +ofrm_spor = CREATEOBJECT('frm_conf_spor') +ofrm_spor.show(1) + + +ENDPROC +*----------------------------------sfarsit procedura config_spor---------------------------------- + +******************************************* +* PROCEDURE config_popr( ) +* Date : 08/15/05, 15:26:08 +* author : liana.macinic +* description: + +****** PARAMETER BLOCK ************** +* Parameters : 0 +* +******************************************* +PROCEDURE config_popr( ) +DO update_nom_popr IN update_salarii.prg +SELECT v_nompopr + +ofrm_spor = CREATEOBJECT('frm_conf_popr') +ofrm_spor.show(1) + +ENDPROC +*----------------------------------sfarsit procedura config_popr---------------------------------- +**************************************************** +PROCEDURE update_sal_sarbat + If Used('sal_sarbat') + Use In sal_sarbat + ENDIF + + + + lcSQl = [select data,sarbatoare,id_sarbat from ] + gcS + [.sal_nom_sarbatori where sters = 0 ] + lcCursor = [sal_sarbat] + lnSucces = goExecutor.oExecute(lcSQl,lcCursor) + goExecutor.oReset() + + Return lnSucces + +ENDPROC + +*------------------------ +Function GetPozaFile + Lparameters tcFileName + * tcTip (sectiunea de unde se citesc directorul pdf): factura/contract => email_factura/email_contract + * tcFileName (numele fisierului): 20160210_123456 + * tcDefaultPrefix: daca se ataseaza un prefix la tcFileName. Se suprascrie cu cel din din setting.ini + * tcDefaultSufix: daca se ataseaza un sufix la tcFileName. Se suprascrie cu cel din din setting.ini + + Local lcDestinationFile, lcSection, lcFileName + Local lcPicturePath + + lcFileName = Iif(!Empty(m.tcFileName), Lower(Transform(m.tcFileName)), Sys(2015)) + lcSection = 'cale_poza_legitimatie' && [cale_poza_legitimatie] / [pdf_recapitulatia_acn] + lcPicturePath = goApp.ReadIni(m.lcSection, "pozapath") + + + If Empty(m.lcPicturePath) + lcPicturePath = Getdir("", "Alege director pentru stocarea imaginilor de pe legitimatie", "Director imagini", 64) + If Empty(m.lcPicturePath) + m.lcPicturePath = m.gcTempPath + Endif + goApp.WriteIni(m.lcSection, "pozapath", m.lcPicturePath) + Endif + + lcDestinationFile = Addbs(m.lcPicturePath) + m.lcFileName && contine si extensia + Return m.lcDestinationFile +Endfunc && GetPDFFile +*------------------------------------ + + + +**************************************************************************** +* Salveaza o imagine (ex: logo.jpg) in baza de date pentru a fi folosita la rapoarte +**************************************************************************** +PROCEDURE Image2Database + PARAMETERS tnIdPersoana + lcInputFile = GETFILE('Images:jpg,jpeg,bmp,png,gif,tiff', 'Alege un fisier', 'Alege',0, 'Alege un fisier') + lnId = 0 + llSucces = .F. + IF !EMPTY(m.lcInputFile) + lnId = File2Atasament(m.lcInputFile,,m.tnIdPersoana) + llSucces = (m.lnId > 0) + ENDIF + AMESSAGEBOX(IIF(m.llSucces, 'Imaginea s-a salvat cu succes in baza de date.','Imaginea NU s-a salvat in baza de date!'),0+64,_screen.Caption) + RETURN m.llSucces +ENDPROC && Image2Database + + +*************************************************** +* Citeste fisierul de pe disk si adauga atasament in baza de date atas_atasamente +* Se apeleaza cu calea completa a fisierului +* Intoarce id-ul atasamentului +*************************************************** +Function File2Atasament + Lparameters tcFile, tcDescriere,tnIdPersoana + + Private pcFileName, pnId, pcFile, pcDescriere + + Local lcSql, lcSqlIns, lcSqlUpd, llSucces + pnId = 0 + If !File(m.tcFile) + tcFile = GETFILE('','Alege un fisier','Alege',0,'Alege un fisier') + IF EMPTY(m.tcFile) + Return m.pnId + ENDIF + Endif + + pcFile = Filetostr(m.tcFile) + pcFileName = Lower(Justfname(m.tcFile)) + pcDescriere = Iif(!Empty(m.tcDescriere), Alltrim(m.tcDescriere), '') + + + lcSql = [SELECT id_legitimatie FROM sal_legitimatii WHERE id_salariat = ]+ALLTRIM(STR(tnIdPersoana))+[ and sters = 0] + lcSqlIns = [insert into sal_legitimatii (id_salariat ,fisier) values (?pcFile, ]+ALLTRIM(STR(tnIdPersoana))+[) returning id_legitimatie into ?@pnId] + lcSqlUpd = [UPDATE sal_legitimatii SET fisier = ?pcFile, id_salariat = ]+ALLTRIM(STR(tnIdPersoana))+[ WHERE id_legitimatie = ?pnId] + + llSucces = goExecutor.oExecuta(m.lcSql, 'crsAtasamenteTemp') + If m.llSucces + Do Case + Case Reccount('crsAtasamenteTemp') > 1 + amessagebox('Sunt mai multe inregistrari cu acelasi nume de fisier! Nu se salveaza!', 0 + 16, _Screen.Caption) + Case Reccount('crsAtasamenteTemp') = 1 + pnId = crsAtasamenteTemp.id_atas + Endcase + Use In (Select('crsAtasamenteTemp')) + + If Empty(m.pnId) + llSucces = goExecutor.oExecuta(m.lcSqlIns) + Else + llSucces = goExecutor.oExecuta(m.lcSqlUpd) + pnId = IIF(m.llSucces, m.pnId, 0) + Endif + Endif + + Return m.pnId + +Endfunc && File2Atasament diff --git a/programe/oschimbare_pret.prg b/programe/oschimbare_pret.prg new file mode 100644 index 0000000..8614fbe --- /dev/null +++ b/programe/oschimbare_pret.prg @@ -0,0 +1,1194 @@ +*!* 11.01.2012 +*!* marius.mutu +*!* salvare proces verbal temporar in caz ca se da renunt sau programul iese cu eroare +*!* schimba_pret - proces verbal simplu (se repeta lans(52) + se face backup doar la cursorul crsschimb final) +*!* schimba_pret_grupa_gestiuni - proces verbal grupa de gestiuni cu/fara stoc actualizat (nu se repeta lans. se face backup la actactan, schimbpretstoc, crsschimb) + +*!* 12.01.2012 +*!* marius.mutu +*!* schimba_pret_grupa_gestiuni - proces verbal grupa de gestiuni cu/fara stoc actualizat +*!* pretvtva_orig = pretvtva din stoc +*!* pretvtva = pretul precedent introdus in formularul precedent schimbpret_grupa +*!* se facea comparatie intre pretvtva si pretvtva_orig pentru a se recalcula pretv si tvav + +*!* 12.07.2013 +*!* marius.mutu +*!* arata_stoc_schimbare - am repus selectia cumulata pentru gestiuni cu stoc neactualizat + +*!* 17.07.2013 +*!* marius.mutu +*!* relisteaza_schimbare_pret +*!* adaugat id_set 269 (pv schimbare pret pe baza de lista preturi) +*!* schimba_pret_grupa_gestiuni +*!* adaugat TIP = 4 instiintare de schimbare de pret * ( gestiuni cu stoc neactualizat ) + +*!* 10.06.2015 +*!* marius mutu +*!* relisteaza_schimbare_pret +*!* adaugat id_set 999 pv schimbare pret cu schimbare cota tva +*!* am grupat liniile sa nu mai apara separat iesirea si intrarea +*!* am pus listare cu plaja de numere in loc de un singur numar + +*!* 26.08.2015 +*!* marius.mutu +*!* listeaza_schimbare_pret +*!* corectie eroare - nu exista nract in unele cursoare +*!* #4201 + +*!* 04.08.2025 +*!* marius.mutu +*!* schimbare pret vanzare pe baza de lista de preturi +*!* arata_stoc_schimbare = se ia contul din stoc in loc de nom_articole + +PROCEDURE schimba_pret + lans(52) + *** sterg salvarea backupset-ului daca operatia se incheie cu Terminat + LOCAL loBackupXML + loBackupXML = CREATEOBJECT("BackupXML", "schimba_pret") && oproceduri_comune.prg + IF gnButon = 1 + loBackupXML.DeleteBackupSet() + ENDIF +ENDPROC && schimba_pret + +Procedure schimba_pret_grupa_gestiuni + Lparameters tnTip + *!* 1 - lista de preturi + *!* 2 - lista de preturi * ( gestiuni cu stoc neactualizat ) + *!* 3 - instiintare de schimbare de pret + *!* 4 - instiintare de schimbare de pret * ( gestiuni cu stoc neactualizat ) + + Local loIm, llPoliticaPreturi + LOCAL loBackupXML, lnReturn + Private poGeneratorNumere + poGeneratorNumere = Createobject('oGeneratorNumere') + llPoliticaPreturi = inlist(m.tnTip, 1, 2) + + *** REINCARCARE STARE PROCES VERBAL SCHIMBARE PRET SALVAT ANTERIOR IN FORMAT XML SI NETERMINAT (FATAL ERROR) + loBackupXML = CREATEOBJECT("BackupXML", "schimba_pret_grupa_gestiuni" + ALLTRIM(STR(tnTip))) && oproceduri_comune.prg + *** daca exista deja un backupset + IF loBackupXML.ExistsBackupSet() AND AMESSAGEBOX('Exista un proces verbal de schimbare de pret nesalvat. Doriti sa il continuati?', 4+32, _screen.Caption) = 6 + lnReturn = arata_stoc_schimbare(m.tnTip,.T.) + If m.lnReturn = 2 + poGeneratorNumere.dezaloca_numere() + Endif + ELSE + lnIdSet = iif(m.llPoliticaPreturi, 245, 269) && 245 = lista de preturi; 269 = instiintare schimbare pret + If lans(m.lnIdSet) = 1 + + if m.llPoliticaPreturi + *** Politica de preturi + Select actactan + Go Top + lnIdPol = id_pol + + *!* modificare ROAGEST v 2.0.105 : am adaugat 9999999 as ordine + text to lcSql textmerge noshow + select row_number() over(order by a.nume_articol) as nrcrt, + a.id_articol, + a.nume_articol, + a.codmat, + a.pret, + a.proc_tvav, + a.pret as pretnou, + 0 as schimb, + a.preturi_cu_tva, + a.id_pol, + a.id_pol_art, + a.id_venchelt, + 9999999 as ordine + from vcrm_politici_pret_art a + where a.id_pol = <> + endtext + else + *** Instiintare schimbare pret + Select actactan + Go Top + lnIdInstiintare = id_instiintare + + text to lcSql textmerge noshow + select row_number() over(order by a.denumire) as nrcrt, + id.id_articol, + a.denumire as nume_articol, + a.codmat, + id.pret_vechi as pret, + id.proc_tvav, + id.pret_nou as pretnou, + 1 as schimb, + ppa.preturi_cu_tva, + ppa.id_pol, + ppa.id_pol_art, + ppa.id_venchelt, + 9999999 as ordine + from instiintaripret_detalii id + join instiintaripret i on id.id_instiintare = i.id + join nom_articole a on id.id_articol = a.id_articol + join vcrm_politici_pret_art ppa on id.ID_ARTICOL = ppa.id_articol and i.id_pold = ppa.id_pol + where id.id_instiintare = <> + endtext + + endif + + Use In (Select("schimbPret")) + lcCursor = [schimbpret] + lnSucces = goExecutor.oExecute(lcSql,lcCursor) + If lnSucces < 0 + AMESSAGEBOX(goExecutor.cEroare,0+16, 'Eroare') + endif + + loIm = Createobject('schimbpret_grupa',tnTip) + loIm.Show(1) + If gnButon = 2 + poGeneratorNumere.dezaloca_numere() + Endif + + ENDIF + ENDIF + + Use In (Select("rul_temp")) + Use In (Select("actactan")) + Use In (Select("schimbpret")) + Release loIm + Release poGeneratorNumere +Endproc +***************************************************************************************************************************************************** +Function arata_stoc_schimbare +Lparameters tnTip, tlLoadBackup + +PRIVATE pnIdGrupa +Local lnReturn, lcSirIdArticol, loFrm +LOCAL loBackupXML +Local lcCursor, lcSql, lnIdGestiune, lnIdTipDoc, lnNnir, lnSucces, loCauta, llStocActualizat, llPoliticaPreturi, llInstiintare + +lcSirIdArticol = [] +Use In (Select("crsschimb")) +Use In (Select("schimbpretstoc")) +Use In (Select("schimbpretstoctemp")) + +llStocActualizat = INLIST(m.tnTip, 1, 3) && 1,3 stoc actualizat; 2,4 stoc neactualizat +llPoliticaPreturi = INLIST(m.tnTip, 1, 2) && 1,2 politica preturi +llInstiintare = INLIST(m.tnTip, 3, 4) && 3,4 instiintare schimbare pret + +loBackupXML = CREATEOBJECT("BackupXML", "schimba_pret_grupa_gestiuni" + ALLTRIM(STR(tnTip))) && oproceduri_comune.prg +IF m.tlLoadBackup + IF loBackupXML.ExistsBackupSet() + loBackupXML.RestoreBackupSet() + *** aloc un numar nou de bon + lnIdGestiune = actactan.id_gestin + lnIdTipDoc = 2 && bon consum + poGeneratorNumere.creeaza_cursor_serii(m.lnIdTipDoc) + lnNnir = poGeneratorNumere.aloca_numar(m.lnIdTipDoc, m.lnIdGestiune) + Select actactan + Replace All nnir With lnNnir, nract WITH lnNnir + Select schimbpretstoc + Go Top + loFrm = Createobject('schimbpret_stoc_gest', tnTip) + loFrm.oBackupXML = m.loBackupXML + loFrm.Show(1) + lnReturn = gnButon + IF lnReturn = 1 + loBackupXML.DeleteBackupSet() + ELSE + loBackupXML.SaveBackupSet() + ENDIF + lnReturn = gnButon + ELSE + MESSAGEBOX('Nu exista nici un proces verbal de schimbare de pret nesalvat',0+48, _screen.Caption) + lnReturn = 2 + ENDIF +ELSE + *!* modificare ROAGEST v 2.0.105 : ordine + Select id_pol,id_pol_art,id_articol,pret,pretnou,preturi_cu_tva,proc_tvav,id_venchelt,ordine From schimbpret With (Buffering = .T.) Where schimb = 1 Into Cursor crsschimb + Select crsschimb + Scan + lcSirIdArticol = lcSirIdArticol + [,] + Alltrim(Str(id_articol,14,0)) + Endscan + lcSirIdArticol = Substr(lcSirIdArticol,2) + + loCauta = caut_grupa_gestiune() + If gnButon = 1 + pnIdGrupa = loCauta.id_grupe + + *!* modificare v 2.0.99 + If m.llStocActualizat && stoc actualizat + TEXT TO lcSql TEXTMERGE NOSHOW +select row_number() over(order by s.nume_gestiune, s.serie, nvl(s.pretv, 0)) as nrcrt, + s.*, + NVL(s.pretv + s.tvav, 0) as pretvtva, + cast(0 as number(20, 4)) AS stoc, + s.cants + s.cant - s.cante AS stoc_original, + 0 as schimb + FROM (select c.id_stoc, + a.id_articol, + ?gnAn as an, + ?gnLuna as luna, + nvl(c.pret, 0.0000) AS pret, + nvl(c.pretv, 0.0000) AS pretv, + a.denumire, + a.codmat, + a.um, + a.dnf, + a.um2, + a.cant_bax, + b.id_gestiune, + b.nume_gestiune, + b.cgest, + b.nr_pag, + NVL(c.tva, 0.0000) as tva, + NVL(c.tvav, 0.0000) as tvav, + NVL(c.cants, 0.0000) AS cants, + NVL(c.cant, 0.0000) AS cant, + NVL(c.cante, 0.0000) AS cante, + c.cont, + c.acont, + nvl(c.pretd, 0.0000) as pretd, + NVL(c.dataora, SYSDATE) AS dataora, + c.datain, + c.dataout, + nvl(c.proc_tvav, 0.0000) AS proc_tvav, + c.serie, + c.id_rul_aux, + c.id_valuta, + c.lot, + c.adata_expirare, + ?gnIdSucursala as id_sucursala, + c.id_lucrare_rez, + c.id_part_rez + FROM (SELECT id_articol, + denumire, + codmat, + um, + dnf, + um2, + cant_bax, + cont + FROM nom_articole + WHERE id_articol in (<>)) a + JOIN (SELECT id_gestiune, nume_gestiune, cgest, nr_pag, acont + FROM nom_gestiuni + WHERE sters = 0 + AND inactiv = 0 + AND id_gestiune in + (SELECT A1.ID_GESTIUNE + FROM GEST_CORESP_GRUPE_GESTIUNI A1 + WHERE A1.STERS = 0 + AND A1.ID_GRUPE IN + (SELECT ID_GRUPE + FROM GEST_NOM_GRUPE + WHERE STERS = 0 + START WITH ID_GRUPE = ?pnIdGrupa + CONNECT BY PRIOR ID_GRUPE = PARENT_ID))) b + ON 1 = 1 + LEFT JOIN (SELECT id_articol, + id_gestiune, + id_stoc, + cont, + acont, + pret, + pretv, + tva, + tvav, + cants, + cant, + cante, + pretd, + dataora, + datain, + dataout, + proc_tvav, + serie, + id_rul_aux, + id_valuta, + lot, + adata_expirare, + id_lucrare_rez, + id_part_rez + FROM stoc + WHERE an = ?gnAn + AND luna = ?gnLuna + AND cants + cant - cante <> 0 + and id_gestiune in + (SELECT A1.ID_GESTIUNE + FROM GEST_CORESP_GRUPE_GESTIUNI A1 + WHERE A1.STERS = 0 + AND A1.ID_GRUPE IN + (SELECT ID_GRUPE + FROM GEST_NOM_GRUPE + WHERE STERS = 0 + START WITH ID_GRUPE = ?pnIdGrupa + CONNECT BY PRIOR ID_GRUPE = PARENT_ID)) + <>) c + ON a.id_articol = c.id_articol + AND b.id_gestiune = c.id_gestiune + where a.id_articol in (<>)) s + ENDTEXT + ELSE && stoc neactualizat + lcSql=[select row_number() over(order by s.nume_gestiune,s.serie,nvl(s.pretv,0)) as nrcrt,] +; + [ s.*, NVL(s.pretv + s.tvav,0) as pretvtva, cast(0 as number(20,4)) AS stoc, s.cants + s.cant - s.cante AS stoc_original, 0 as schimb] +; + [ FROM (select c.id_stoc, a.id_articol, ?gnAn as an, ?gnLuna as luna, nvl(c.pret,0) AS pret, nvl(c.pretv,0) AS pretv,] +; + [ a.denumire, a.codmat, a.um, a.dnf, a.um2, a.cant_bax, b.id_gestiune, b.nume_gestiune, b.cgest, b.nr_pag, NVL(c.tva,0) as tva, NVL(c.tvav,0) as tvav,] +; + [ NVL(c.cants, 0) AS cants, NVL(c.cant, 0) AS cant, NVL(c.cante, 0) AS cante, a.cont, nvl(c.pretd,0) as pretd,] +; + [ NVL(c.dataora, SYSDATE) AS dataora, b.acont, c.datain, c.dataout, nvl(c.proc_tvav,0) AS proc_tvav, c.serie,] +; + [ c.id_rul_aux, c.id_valuta, c.lot, c.adata_expirare, ?gnIdSucursala as id_sucursala, c.id_lucrare_rez, c.id_part_rez] +; + [ FROM (SELECT id_articol, denumire, codmat, um, dnf, um2, cant_bax, cont FROM ] + gcS + [.nom_articole WHERE id_articol in (] + lcSirIdArticol + [)) a] +; + [ JOIN (SELECT id_gestiune, nume_gestiune, cgest, nr_pag, acont FROM ] + gcS + [.nom_gestiuni WHERE sters = 0 AND inactiv = 0 AND id_gestiune in (SELECT A1.ID_GESTIUNE ] + ; + [FROM ] +gcS + [.GEST_CORESP_GRUPE_GESTIUNI A1 WHERE A1.STERS = 0 AND A1.ID_GRUPE IN (SELECT ID_GRUPE FROM ] + gcS + [.GEST_NOM_GRUPE WHERE STERS = 0 ] + ; + [START WITH ID_GRUPE = ] + Alltrim(Str(pnIdGrupa,14,0)) + [ CONNECT BY PRIOR ID_GRUPE = PARENT_ID))) b ON 1 = 1] +; + [ LEFT JOIN (select id_stoc,id_articol,id_gestiune,pret,pretv,tva,tvav,cants,cant,cante,pretd,dataora,datain,dataout,proc_tvav,] + ; + [serie,id_rul_aux,id_valuta,lot,adata_expirare,id_lucrare_rez,id_part_rez from (SELECT id_stoc,id_articol,id_gestiune,pretv,tvav,] + ; + [sum(cants) over(partition by id_gestiune, id_articol) as cants,sum(cant) over(partition by id_gestiune, id_articol) as cant,] + ; + [sum(cante) over(partition by id_gestiune, id_articol) as cante,row_number() over(partition by id_gestiune, id_articol order by pretv desc) as ales,] + ; + [pret,tva,pretd,dataora,datain,dataout,proc_tvav,serie,id_rul_aux,id_valuta,lot,adata_expirare,id_lucrare_rez,id_part_rez from ] + gcS + [.stoc ] + ; + [where an =] + Alltrim(Str(gnAn)) + [ AND luna =] + Alltrim(Str(gnLuna)) + [ AND cants + cant - cante > 0] + gcCondSucursala + [ and id_gestiune in (SELECT A1.ID_GESTIUNE ] + ; + [FROM ] +gcS + [.GEST_CORESP_GRUPE_GESTIUNI A1 WHERE A1.STERS = 0 AND A1.ID_GRUPE IN (SELECT ID_GRUPE FROM ] + gcS + [.GEST_NOM_GRUPE WHERE STERS = 0 ] + ; + [START WITH ID_GRUPE = ] + Alltrim(Str(pnIdGrupa,14,0)) + [ CONNECT BY PRIOR ID_GRUPE = PARENT_ID))) where ales = 1) c] +; + [ ON a.id_articol =c.id_articol AND b.id_gestiune =c.id_gestiune where a.id_articol in (] + lcSirIdArticol + [)) s] + ENDIF + *!* modificare ROAGEST v 2.0.105 ^ + lcCursor = [schimbpretstoctemp] + lnSucces = goExecutor.oExecute(lcSql,lcCursor) + If lnSucces < 0 + AMESSAGEBOX(goExecutor.cEroare,0+16, 'Eroare') + lnReturn = 2 + Else + *!* modificare ROAGEST v 2.0.105 : am modificat ordinea si am adaugat pretvtva_orig + *!* Select a.*,Iif(b.preturi_cu_tva=0,b.pretnou+Round(b.pretnou*(b.proc_tvav-1),gnPc),b.pretnou) As pretvtvanou,b.proc_tvav As proc_tva From schimbpretstoctemp a Left Join crsschimb b On a.id_articol = b.id_articol ; + *!* WHERE a.pretvtva<>Iif(b.preturi_cu_tva=0,b.pretnou+Round(b.pretnou*(b.proc_tvav-1),gnPc),b.pretnou) ; + *!* Order By a.nrcrt ; + *!* Into Cursor schimbpretstoc Readwrite + *!* modificare v 2.0.111 + If !m.llStocActualizat + Select a.*,b.ordine,Iif(b.preturi_cu_tva=0,b.pretnou+Round(b.pretnou*(b.proc_tvav-1),gnPPretV),b.pretnou) As pretvtvanou,b.proc_tvav As proc_tva,; + a.pretvtva As pretvtva_orig, ; + Iif(b.preturi_cu_tva=0,b.pret+Round(b.pret*(b.proc_tvav-1),gnPPretV),b.pret) As pretvtva_prec From schimbpretstoctemp a ; + Left Join crsschimb b On a.id_articol = b.id_articol ; + Order By b.ordine,a.nrcrt ; + Into Cursor schimbpretstoc Readwrite + *** completez pretvtva precedent cu cel completat in formularul precedent + + *!* 12.01.2012 + *!* pretvtva = pretul de vanzare precedent se completeaza cu pretul precedent introdus in formularul schimbpret_grupa (crsschimb.pret) + UPDATE schimbpretstoc SET pretvtva = pretvtva_prec + *!* 12.01.2012 ^ + ELSE && stoc actualizat + *!* modificare v 2.0.111 ^ + Select a.*,b.ordine,Iif(b.preturi_cu_tva=0,b.pretnou+Round(b.pretnou*(b.proc_tvav-1),gnPPretV),b.pretnou) As pretvtvanou,b.proc_tvav As proc_tva,; + a.pretvtva As pretvtva_orig From schimbpretstoctemp a ; + Left Join crsschimb b On a.id_articol = b.id_articol ; + WHERE a.pretvtva<>Iif(b.preturi_cu_tva=0,b.pretnou+Round(b.pretnou*(b.proc_tvav-1),gnPPretV),b.pretnou) ; + Order By b.ordine,a.nrcrt ; + Into Cursor schimbpretstoc Readwrite + Select schimbpretstoc + Replace nrcrt With Recno() All + + if m.llInstiintare && instiintare schimbare pret : stoc = stoc_original + delete from schimbpretstoc where stoc_original = 0 + update schimbpretstoc set stoc = stoc_original + endif + *!* modificare v 2.0.111 + Endif + *!* modificare v 2.0.111 ^ + *!* modificare ROAGEST v 2.0.105 ^ + *!* modificare v 2.0.99 ^ + + loBackupXML.SaveBackupSet("crsschimb") + loBackupXML.SaveBackupSet("schimbpretstoc") + loBackupXML.SaveBackupSet("actactan") + Select schimbpretstoc + Go Top + + loFrm = Createobject('schimbpret_stoc_gest', tnTip) + loFrm.oBackupXML = m.loBackupXML + loFrm.Show(1) + lnReturn = gnButon + IF lnReturn = 1 + loBackupXML.DeleteBackupSet() + ELSE + loBackupXML.SaveBackupSet() + ENDIF + Endif + Else + lnReturn = 2 + ENDIF +ENDIF && m.tlLoadBackup + +Use In (Select("crsschimb")) +Use In (Select("schimbpretstoc")) +Use In (Select("schimbpretstoctemp")) +Release lcSirIdArticol, loFrm, pnIdGrupa +Return lnReturn +Endfunc && arata_stoc_schimbare +***************************************************************************************************************************************************** +Function creeaza_note_schimbare_pret +Local lnReturn,lcCursorSchimb,lnNrDoc,lnIdTipDoc,lnTipBuffer +*!* modificare ROAGEST v 2.0.105 +lnIdTipDoc = 2 && bon de consum +lnTipBuffer = 2 && se dezaloca toate numerele in afara de primul +Select * From actactan Into Cursor crsaatemp +*!* modificare ROAGEST v 2.0.105 ^ + +lnReturn = 2 +lcCursorSchimb = [schimbpretstoc] +If Used('rul_temp') + Use In rul_temp +Endif + +lcSql = [select v.*, v.id_gestiune as id_gestin, v.nume_gestiune as gestin, v.id_gestiune as id_gestout, v.nume_gestiune as gestout,] + ; + [0 as nuInConturiX from ] + gcS + [.vrul v where 1=2] +lcCursor = [rul_temp] +lnSucces = goExecutor.oExecute(lcSql,lcCursor) +If lnSucces < 0 + AMESSAGEBOX(goExecutor.cEroare,0+16, 'Eroare') + lnReturn = 2 +Else + Select actactan + Locate For Alltrim(Upper(SCD))='X' And Alltrim(SCC)='378' + If Found() + Scatter Name loAct + Delete + Endif + + Select actactan + Locate For Alltrim(Upper(SCD))='X' And Alltrim(SCC)='4428' + If Found() + Scatter Name loActTva + Delete + Endif + + lnIdSet = loAct.id_set + + Select (lcCursorSchimb) +*!* Scan For stoc <> 0 && modificare v 2.0.99 : stoc <> 0 + Scan For stoc <> 0 AND pretvtva <> pretvtvanou && modificare v 2.0.111 : pretvtva <> pretvtvanou +*!* modificare ROAGEST v 2.0.105 + If pretvtva_orig <> pretvtva + Replace pretv With Round(pretvtva/Iif(Nvl(proc_tva,1) = 0, 1, Nvl(proc_tva,1)),gnPPretV),; + tvav With pretvtva - Round(pretvtva/Iif(Nvl(proc_tva,1) = 0, 1, Nvl(proc_tva,1)),gnPPretV),; + proc_tvav With Iif(Nvl(proc_tvav,1) = 0,Iif(Nvl(proc_tva,1) = 0, 1, Nvl(proc_tva,1)),Nvl(proc_tvav,1)) +*!* completez proc_tvav ( daca pretvtva_original este 0, atunci proc_tvav este 0 si trebuie sa-l completez ) + Endif +*!* modificare ROAGEST v 2.0.105 ^ + Scatter Name poSchimb + lnPretvtva = pretvtva + lnStocOriginal=stoc_original + lnPretvtvanou = Round(pretvtvanou, gnPPretV) + lnCant = stoc +*!* modificare v 2.0.99 + lnProcTvav = Iif(Nvl(proc_tva,1) = 0, 1, Nvl(proc_tva,1)) +*!* modificare v 2.0.99 ^ + If Type(lcCursorSchimb+'.pretvnou') = 'N' + lnPretvNou = pretvnou + ELSE + lnPretvNou = Round(lnPretvtvanou / lnProcTvav, gnPPretV) + Endif + If Type(lcCursorSchimb+'.tvavnou') = 'N' + lntvav = tvavnou + Else + lntvav = lnPretvtvanou - lnPretvNou + Endif + + Select rul_temp +&& iesiri +*!* modificare v 2.0.105 +*!* modificare v 2.0.99 +*!* If lnStocOriginal>0 +*!* modificare v 2.0.99 ^ + If lnStocOriginal > 0 Or poSchimb.pretvtva <> 0 +*!* modificare v 2.0.105 ^ + Append Blank + Gather Name poSchimb + Replace cant With 0, cante With lnCant, id_tip_rulaj With 3,id_set With lnIdSet +*!* modificare v 2.0.99 + Endif +*!* modificare v 2.0.99 ^ +&& intrari + Append Blank + Gather Name poSchimb + Replace pretv With lnPretvNou, pretvtva With lnPretvtvanou, tvav With lntvav, proc_tvav With lnProcTvav,; + cant With lnCant, cante With 0, id_tip_rulaj With 3,id_set With lnIdSet + + Select (lcCursorSchimb) + Endscan + + Update (lcCursorSchimb) Set proc_tvav = 1 Where Empty(Nvl(proc_tvav,0)) + + && modificare v 2.0.111 : pretvtva <> pretvtvanou + Select Distinct Cont, acont, proc_tvav, id_gestiune,nume_gestiune From (lcCursorSchimb) With (Buffering = .T.) ; + Where stoc <> 0 AND pretvtva <> pretvtvanou Into Cursor SCDURI ; + Order By nume_gestiune, id_gestiune, Cont, acont NOFILTER + + lnNrDoc = loAct.nract + lnNnir = loAct.nnir + +*!* modificare ROAGEST v 2.0.105 + Select Count(Distinct id_gestiune) As nrgestiuni From SCDURI Into Cursor crsgstscd + Select crsgstscd + If nrgestiuni > 1 + poGeneratorNumere.activeazaBuffer(lnIdTipDoc,lnTipBuffer) + Endif + If Used('crsgstscd') + Use In crsgstscd + Endif +*!* modificare ROAGEST v 2.0.105 ^ + Select SCDURI + Go Top + lnIdGestPrec = id_gestiune + Scan + lnValdif = 0 + lnValdiftva = 0 + lcCont = Cont + lcAcont = Nvl(acont,'') + lnProc_tvav = proc_tvav + lnIdGestIn = id_gestiune + lcGestiune = nume_gestiune + If lnIdGestPrec <> lnIdGestIn +*!* modificare ROAGEST v 2.0.105 +*!* lnNrDoc = lnNrDoc + 1 +*!* lnNnir = 0 + lnNnir = poGeneratorNumere.aloca_numar(lnIdTipDoc,lnIdGestIn) + lnNrDoc = lnNnir +*!* modificare ROAGEST v 2.0.105 ^ + Endif + + Select (lcCursorSchimb) + Sum Round((pretvtvanou-pretvtva)/proc_tvav*stoc,gnPc) To lnValdif For Cont = lcCont And Nvl(acont,'') = lcAcont And proc_tvav = lnProc_tvav And id_gestiune = lnIdGestIn + Sum Round((pretvtvanou-pretvtva)*(proc_tvav-1)/proc_tvav*stoc,gnPc) To lnValdiftva For Cont = lcCont And Nvl(acont,'') = lcAcont And proc_tvav = lnProc_tvav And id_gestiune = lnIdGestIn + loAct.suma = lnValdif + loAct.SCD = lcCont + loAct.ascd = lcAcont + loAct.proc_tva = lnProc_tvav + loAct.id_gestin = lnIdGestIn + loAct.gestin = lcGestiune + loAct.nract = lnNrDoc + loAct.nnir = lnNnir + + loActTva.suma = lnValdiftva + loActTva.SCD = lcCont + loActTva.ascd = lcAcont + loActTva.proc_tva = lnProc_tvav + loActTva.id_gestin = lnIdGestIn + loActTva.gestin = lcGestiune + loActTva.nract = lnNrDoc + loActTva.nnir = lnNnir + + Select actactan + Append Blank + Gather Name loAct + Append Blank + Gather Name loActTva + + Select rul_temp + Replace dataact With loAct.dataact, nnir With loAct.nnir, proc_tva With loAct.proc_tva,nract With loAct.nract For id_gestiune = lnIdGestIn + + lnIdGestPrec = lnIdGestIn + Select SCDURI + Endscan + + Delete From actactan Where suma = 0 + + Do completare_parteneri_gestiune In ointroduceri.prg + Do completare_gruputil_analitice In oproceduri_comune.prg + Do completare_tva_analitice In oproceduri_comune.prg + + Use In (Select("crsDocumente")) +*!* Select Distinct a.nract,a.nnir,a.dataact,b.id_gestiune,b.nume_gestiune From actactan a Left Join rul_temp b On a.nract = b.nract Order By a.nract Into Cursor crsDocumente + + Select Distinct a.nract,a.nnir,a.dataact,a.id_gestin As id_gestiune,a.gestin From actactan a Where Alltrim(a.SCC) <> '4428' Order By a.nract Into Cursor crsDocumente + Select actactan + Go Top + Do Form verificare With .T.,.T.,3 && cu buton de precedent + lnReturn = gnButon + If lnReturn = 1 + lnReturn = scrie_note_schimbare_pret() + If lnReturn = 1 +*!* modificare ROAGEST v 2.0.105 + poGeneratorNumere.dezactiveazaBuffer(lnIdTipDoc) +*!* modificare ROAGEST v 2.0.105 ^ + listeaza_schimbare_pret() +*!* modificare ROAGEST v 2.0.105 + Else + poGeneratorNumere.dezaloca_buffer(lnIdTipDoc,.T.) + Select actactan + Delete All + Insert Into actactan Select * From crsaatemp +*!* modificare ROAGEST v 2.0.105 ^ + Endif +*!* modificare ROAGEST v 2.0.105 + Else + poGeneratorNumere.dezaloca_buffer(lnIdTipDoc,.T.) + Select actactan + Delete All + Insert Into actactan Select * From crsaatemp +*!* modificare ROAGEST v 2.0.105 ^ + Endif + Use In (Select("crsDocumente")) +Endif +Use In (Select("crsaatemp")) +Return lnReturn +Endfunc && creeaza_note_schimbare_pret +***************************************************************************************************************************************************** +Function scrie_note_schimbare_pret +Local lcSql, lcSelect,lnReturn +lcSelect = Select() + +lnSucces = SQLSetprop(gnHandle,"Transactions",2) +If lnSucces < 0 + AMESSAGEBOX("Programul nu a trecut pe tranzactie manuala",4+48,'Lista preturi') + lnReturn = 2 +Else + lcSqlTranzactie = [COMMIT] + Use In (Select("crsActIntermediar")) + Use In (Select("crsRulIntermediar")) + + Select * From actactan Into Cursor crsActIntermediar + Select * From rul_temp Into Cursor crsRulIntermediar + Select actactan + Delete All + Select rul_temp + Delete All + + Select crsDocumente + Scan + lnNrAct = nract + lnNnir = nnir + Select actactan + Append From Dbf('crsActIntermediar') For (nract = lnNrAct) + + Select rul_temp + Append From Dbf('crsRulIntermediar') For (nract = lnNrAct) + + If lnNnir = 0 + Select rul_temp + lnIdGestiune = id_gestiune +*!* modificare ROAGEST v 2.0.105 +*!* poGeneratorNumere.resetNumere() +*!* modificare ROAGEST v 2.0.105 ^ + lnNnir = poGeneratorNumere.aloca_numar(2,lnIdGestiune) + Select actactan + Replace All nnir With lnNnir + + Select rul_temp + Replace All nnir With lnNnir + Endif + + Select actactan + lnSuccesScriere = oscrie_in_fisiere(0,.F.,.T.) + If lnSuccesScriere < 0 + lcSqlTranzactie = [ROLLBACK] +*!* modificare ROAGEST v 2.0.105 +*!* poGeneratorNumere.dezaloca_numar(2) +*!* modificare ROAGEST v 2.0.105 ^ + Exit + Else + lcSqlS = [begin delete from act_temp; delete from rul_temp; end;] + lnSuccesScriere = goExecutor.oExecute(lcSqlS) + If lnSuccesScriere < 0 + AMESSAGEBOX(goExecutor.cEroare,64,"Eroare") + lcSqlTranzactie = [ROLLBACK] +*!* modificare ROAGEST v 2.0.105 +*!* poGeneratorNumere.dezaloca_numar(2) +*!* modificare ROAGEST v 2.0.105 ^ + Exit + Endif + Endif + + Select actactan + Delete All + Select rul_temp + Delete All + Select crsDocumente + Endscan + + Use In (Select("crsActIntermediar")) + Use In (Select("crsRulIntermediar")) + +*!* modifica preturi politica + Select crsschimb + lnIdPol = id_pol + Scan + lnIdPolArt = id_pol_art + lnIdVenchelt = id_venchelt + lnProc_tvav = proc_tvav + lnPret = pretnou + lnPretftva = Iif(preturi_cu_tva=0,lnPret,Iif(!Isnull(lnProc_tvav),Round(Round(lnPret,gnPPretV)/lnProc_tvav,gnPPretV),lnPret)) + lnPretctva = Iif(preturi_cu_tva=0,Iif(!Isnull(lnProc_tvav),Round(Round(lnPret,gnPPretV) + Round(lnPret,gnPPretV) *(lnProc_tvav -1),gnPPretV),lnPretftva),lnPret) + + lcSql = [begin ] + gcS + [.pack_preturi.modifica_pret_pol_pret_art(] + ; + ALLTRIM(Str(lnIdPolArt)) + [,] + ; && id_pol_art + Alltrim(Str(lnPret,20,4)) + [,] + ; && pret + Alltrim(Str(lnPretftva,20,4)) + [,] + ; && pretftva + Alltrim(Str(lnPretctva ,20,4)) + [,] + ; && pretctva + Iif(Isnull(lnIdVenchelt), 'NULL',Alltrim(Str(lnIdVenchelt))) + [,] + ; && id_venchelt + Iif(Isnull(lnProc_tvav), 'NULL', Alltrim(Str(lnProc_tvav,20,4))) + ; && proc_tvav + [); end;] + lnSucces = goExecutor.oExecute(lcSql) + If lnSucces < 0 + AMESSAGEBOX(goExecutor.cEroare,0+16, 'Eroare') + Exit + Endif + Endscan + + If lnSucces > 0 +*!* MODIFICARE DATAORA, UTIL in CRM_POLITICI_PRETURI + lcSql = [begin pack_preturi.modifica_politica_dataora(] + ; + ALLTRIM(Str(lnIdPol)) + [,] + ; && id_pol + Alltrim(Str(gnIdUtil)) + ; && id_util + [); end;] + lnSucces = goExecutor.oExecute(lcSql) + If lnSucces < 0 + AMESSAGEBOX(goExecutor.cEroare,0+16, 'Eroare') + lcSqlTranzactie = [ROLLBACK] + Else + lcSqlTranzactie = [COMMIT] + Endif + Else + lcSqlTranzactie = [ROLLBACK] + Endif + +*!* COMMIT / ROLLBACK + If lcSqlTranzactie = [ROLLBACK] + lnReturn = 2 + Else + lnReturn = 1 + Endif + + lnSucces2 = goExecutor.oExecute(lcSqlTranzactie) + If lnSucces2 < 0 + AMESSAGEBOX(lcSql + Chr(13) + goExecutor.cEroare,0+16,"Eroare") + Endif + + lnSucces2 = SQLSetprop(gnHandle,"Transactions",1) + If lnSucces2 < 0 + AMESSAGEBOX('Programul nu a reusit sa treaca pe tranzactie automata. Iesiti din program si intrati din nou!',0+48,'Atentie!') + Endif + +Endif +Select (lcSelect) +Return lnReturn +Endfunc && scrie_note_schimbare_pret +***************************************************************************************************************************************************** +Procedure listeaza_schimbare_pret + Private pcDataOra, poAct + Local lnNrInreg,lnTotalDocumente,lcCursorListareTemp,lcCursorListare + pcDataOra = get_ora(2) + poAct = Createobject('Custom') + AddProperty(poAct,'id_gestiune',0) + AddProperty(poAct,'nract',0) + AddProperty(poAct,'dataact',{}) + AddProperty(poAct,'gestin',[]) + + lcCursorSchimb = [schimbpretstoc] + lcCursorListare = [cList] + Use In (Select(lcCursorListare)) + *!* modificare v 2.0.110 + Local ox As ReportListener + ox = Createobject('ReportListener') + ox.DynamicLineHeight = .F. + ox.ListenerType = 1 + lnTotalDocumente = Reccount('crsDocumente') + + *!* lcCursorTemp = lcCursorSchimb + *!* IF TYPE(lcCursorSchimb + '.tvavnou') <> 'N' + *!* lcCursorTemp = SYS(2015) + *!* Select *, CAST(0 as N(16,4)) as tvavnou From (lcCursorSchimb) Into Cursor (lcCursorTemp) + *!* ENDIF + + *!* lnPretvtvanou - lnPretvNou + *!* pretvtvanou - pretvnou + + lcCursorListareTemp = m.lcCursorSchimb + * La operatiile de schimbare de pret la care nu se schimba procentul de TVA, ca nu exista coloana TVAVNOU. O adaug + IF TYPE(lcCursorSchimb + '.tvavnou') <> 'N' + lcCursorListareTemp = SYS(2015) + Select *, ; + ROUND(pretvtvanou * (Iif(Nvl(proc_tva,1) = 0, 1, Nvl(proc_tva,1)) - 1) / Iif(Nvl(proc_tva,1) = 0, 1, Nvl(proc_tva,1)), m.gnPPretV) as tvavnou ; + From (lcCursorSchimb) ; + Into Cursor (lcCursorListareTemp) + ENDIF + + IF TYPE(lcCursorListareTemp + '.partener_rezervare') = 'U' + lcCursorListareTempX = SYS(2015) + Select *, '' as partener_rezervare ; + From (m.lcCursorListareTemp) ; + Into Cursor (lcCursorListareTempX) + + IF m.lcCursorListareTemp <> m.lcCursorSchimb + USE IN (SELECT(m.lcCursorSchimb)) + ENDIF + + lcCursorListareTemp = m.lcCursorListareTempX + ENDIF + SET STEP ON + *!* modificare v 2.0.110 ^ + Select crsDocumente + Scan + *!* modificare v 2.0.110 + lnNrInreg = Recno() + *!* modificare v 2.0.110 ^ + poAct.id_gestiune = id_gestiune + poAct.nract = nract + poAct.dataact = dataact + poAct.gestin = gestin + + WAIT WINDOW 'Pregatire raport - proces verbal ' + ALLTRIM(STR(poAct.nract)) + ' - ' + ALLTRIM(STR(lnNrInreg)) + '/' + ALLTRIM(STR(lnTotalDocumente)) NOWAIT + + *!* modificare v 2.0.99: and stoc<>0 + IF TYPE(lcCursorSchimb + '.nract') = 'N' + Select * From (lcCursorListareTemp) Where id_gestiune = poAct.id_gestiune AND nract = poAct.nract And stoc<>0 order by partener_rezervare, DENUMIRE Into Cursor (lcCursorListare) + ELSE + Select * From (lcCursorListareTemp) Where id_gestiune = poAct.id_gestiune And stoc<>0 order by partener_rezervare, DENUMIRE Into Cursor (lcCursorListare) + ENDIF + *!* modificare v 2.0.99 ^ + Select (lcCursorListare) + *!* modificare v 2.0.110 + *!* Keyboard "{ctrl+f10}" + *!* Report Form rap_schimbPret To Printer Prompt Preview + If lnNrInreg <> lnTotalDocumente + goExport.export2frx(lcCursorListare,[rap_schimbPret],.F.,2,[],[NOPAGEEJECT],ox) + Else + goExport.export2frx(lcCursorListare,[rap_schimbPret],.F.,1,[],[],ox) + Endif + *!* modificare v 2.0.110 ^ + Use In (Select(lcCursorListare)) + + Select crsDocumente + Endscan + *!* modificare v 2.0.110 + Release ox + *!* modificare v 2.0.110 ^ + + IF m.lcCursorListareTemp <> m.lcCursorSchimb + USE IN (SELECT(lcCursorListareTemp)) + ENDIF + + Release poAct +Endproc && listeaza_schimbare_pret +***************************************************************************************************************************************************** +Procedure relisteaza_schimbare_pret + Private pnNrAct1, pnNrAct2 + Local lcCursorSchimb, lnNr + lcCursorSchimb = [schimbpretstoc] + Store 0 To pnNrAct1, pnNrAct2 + Do Form frm_cere_text With 'Numar','pnNrAct1','Numarul procesului verbal - inceput' To lnNr + pnNrAct2 = m.pnNrAct1 + Do Form frm_cere_text With 'Numar','pnNrAct2','Numarul procesului verbal - sfarsit' To lnNr + + If pnNrAct1 <> 0 AND pnNrAct2 <> 0 + *!* TEXT TO lcSql TEXTMERGE NOSHOW + *!* select a.id_set, + *!* a.id_rul, + *!* a.dataact, + *!* a.nract, + *!* a.id_gestiune, + *!* c.nume_gestiune, + *!* b.denumire, + *!* b.codmat, + *!* a.serie, + *!* a.stoc, + *!* a.pretvtva, + *!* a.pretvtvanou, + *!* a.pretv, + *!* a.pretvnou, + *!* a.tvav, + *!* a.tvavnou, + *!* a.proc_tvav, + *!* a.proc_tvavnou, + *!* round(a.stoc*(a.pretvnou - a.pretv), 2) as difvalv, + *!* round(a.stoc*(a.tvavnou - a.tvav), 2) as difvaltva, + *!* round(a.stoc*(a.pretvtvanou - a.pretvtva), 2) as difvalvvtva + *!* from (select MIN(id_set) as id_set, + *!* 0 as id_rul, + *!* dataact, + *!* nract, + *!* id_gestiune, + *!* id_articol, + *!* serie, + *!* sum(decode(cant, 0, cante, 0)) as stoc, + *!* max(decode(cant, 0, proc_tvav, 0)) as proc_tvav, + *!* max(decode(cante, 0, proc_tvav, 0)) as proc_tvavnou, + *!* max(decode(cant, 0, pretv, 0)) as pretv, + *!* max(decode(cante, 0, pretv, 0)) as pretvnou, + *!* max(decode(cant, 0, tvav, 0)) as tvav, + *!* max(decode(cante, 0, tvav, 0)) as tvavnou, + *!* max(decode(cant, 0, pretv + tvav, 0)) as pretvtva, + *!* max(decode(cante, 0, pretv + tvav, 0)) as pretvtvanou + *!* from rul + *!* where nract between ?pnNrAct1 and ?pnNrAct2 + *!* and sters = 0 + *!* and luna = ?gnLuna + *!* and an = ?gnAn + *!* and id_set in (245, 52, 269) + *!* group by dataact, + *!* nract, + *!* id_gestiune, + *!* id_articol, + *!* serie) a + *!* left join nom_articole b + *!* on a.id_articol = b.id_articol + *!* left join nom_gestiuni c + *!* on a.id_gestiune = c.id_gestiune + *!* union all + *!* select 999 as id_set, + *!* 0 as id_rul, + *!* a.dataact, + *!* a.nract, + *!* a.id_gestiune, + *!* c.nume_gestiune, + *!* b.denumire, + *!* b.codmat, + *!* a.serie, + *!* a.stoc, + *!* a.pretvtva, + *!* a.pretvtvanou, + *!* a.pretv, + *!* a.pretvnou, + *!* a.tvav, + *!* a.tvavnou, + *!* a.proc_tvav, + *!* a.proc_tvavnou, + *!* round(a.stoc*(a.pretvnou - a.pretv), 2) as difvalv, + *!* round(a.stoc*(a.tvavnou - a.tvav), 2) as difvaltva, + *!* round(a.stoc*(a.pretvtvanou - a.pretvtva), 2) as difvalvvtva + *!* from (select dataact, + *!* nract, + *!* id_gestiune, + *!* id_articol, + *!* serie, + *!* sum(decode(cant, 0, cante, 0)) as stoc, + *!* max(decode(cant, 0, proc_tvav, 0)) as proc_tvav, + *!* max(decode(cante, 0, proc_tvav, 0)) as proc_tvavnou, + *!* max(decode(cant, 0, pretv, 0)) as pretv, + *!* max(decode(cante, 0, pretv, 0)) as pretvnou, + *!* max(decode(cant, 0, tvav, 0)) as tvav, + *!* max(decode(cante, 0, tvav, 0)) as tvavnou, + *!* max(decode(cant, 0, pretv + tvav, 0)) as pretvtva, + *!* max(decode(cante, 0, pretv + tvav, 0)) as pretvtvanou + *!* from rul + *!* where nract between ?pnNrAct1 and ?pnNrAct2 + *!* and sters = 0 + *!* and luna = ?gnLuna + *!* and an = ?gnAn + *!* and id_set = 999 + *!* group by dataact, nract, id_gestiune, id_articol, serie) a + *!* left join nom_articole b + *!* on a.id_articol = b.id_articol + *!* left join nom_gestiuni c + *!* on a.id_gestiune = c.id_gestiune + *!* ENDTEXT + SET STEP ON + TEXT TO lcSql TEXTMERGE NOSHOW + select a.id_set, + a.id_rul, + a.id_part_rez, + p.denumire as partener_rezervare, + a.dataact, + a.nract, + a.id_gestiune, + c.nume_gestiune, + b.denumire, + b.codmat, + a.serie, + a.stoc, + a.pretvtva, + a.pretvtvanou, + a.pretv, + a.pretvnou, + a.tvav, + a.tvavnou, + a.proc_tvav, + a.proc_tvavnou, + round(a.stoc*(a.pretvnou - a.pretv), 2) as difvalv, + round(a.stoc*(a.tvavnou - a.tvav), 2) as difvaltva, + round(a.stoc*(a.pretvtvanou - a.pretvtva), 2) as difvalvvtva + from (select MIN(id_set) as id_set, + id_part_rez, + 0 as id_rul, + dataact, + nract, + id_gestiune, + id_articol, + serie, + sum(decode(cant, 0, cante, 0)) as stoc, + max(decode(cant, 0, proc_tvav, 0)) as proc_tvav, + max(decode(cante, 0, proc_tvav, 0)) as proc_tvavnou, + max(decode(cant, 0, pretv, 0)) as pretv, + max(decode(cante, 0, pretv, 0)) as pretvnou, + max(decode(cant, 0, tvav, 0)) as tvav, + max(decode(cante, 0, tvav, 0)) as tvavnou, + max(decode(cant, 0, pretv + tvav, 0)) as pretvtva, + max(decode(cante, 0, pretv + tvav, 0)) as pretvtvanou + from rul + where nract between ?pnNrAct1 and ?pnNrAct2 + and sters = 0 + and luna = ?gnLuna + and an = ?gnAn + and id_set in (245, 52, 269, 999) + group by id_part_rez, + dataact, + nract, + id_gestiune, + id_articol, + serie) a + left join nom_articole b + on a.id_articol = b.id_articol + left join nom_gestiuni c + on a.id_gestiune = c.id_gestiune + left join nom_parteneri p + ON a.id_part_rez = p.id_part + ENDTEXT + + WAIT WINDOW 'Selectie date din rulaje...' NOWAIT + lnSucces = goExecutor.oExecute(lcSql,lcCursorSchimb) + If lnSucces < 0 + AMESSAGEBOX(goExecutor.cEroare,16,"Eroare") + Else + If Reccount(lcCursorSchimb) > 0 + Use In (Select("crsDocumente")) + Select Distinct nract,id_gestiune,dataact,nume_gestiune As gestin From (lcCursorSchimb) ORDER BY nract, dataact, nume_gestiune Into Cursor crsDocumente + listeaza_schimbare_pret() + + IF AMESSAGEBOX('Doriti export in format XLS?',4+32,_Screen.Caption) = 6 + Select * From (lcCursorSchimb) order by partener_rezervare, nract, dataact, nume_gestiune, denumire Into Cursor crsCentralizatorSchimbPretTemp + goExport.export2xls('crsCentralizatorSchimbPretTemp', [centralizator_schimbpret]) + USE IN (SELECT('crsCentralizatorSchimbPretTemp')) + ENDIF + + Use In (Select("crsDocumente")) + Else + AMESSAGEBOX("Nu exista procese verbale din aceasta plaja de numere in luna curenta!",48,"Atentie") + Endif + Endif + Use In (Select(lcCursorSchimb)) + Else + AMESSAGEBOX("Numarul procesului verbal trebuie sa fie diferit de 0!",48,"Atentie") + Endif + +Endproc && listeaza_schimbare_pret +***************************************************************************************************************************************************** +Procedure listeaza_centralizator_schimbpret +Lparameters tnTipGest +Private pcTitlu,pdDataI,pdDataF,plGrupe,pnOptiune +Store {} To pdDataI,pdDataF +Local lofrmperioada,loCauta,lcSql,lnSucces,lcCursor,lcExplicatie,lcTitlu,lcIntrebare,lnNrOptiuni +lofrmperioada = Createobject('frm_perioada_zzllaaaa') +lofrmperioada.Show(1) +If !Empty(Nvl(pdDataI,{})) And !Empty(Nvl(pdDataF,{})) + Local loCauta + loCauta = caut_grupa_articole(.T.) + If gnButon = 1 + lcCursor = [crscentrschpret] + If loCauta.id_grupa = 0 And Alltrim(loCauta.grupa) = [] + lcExplicatie = [] + pnOptiune = 1 + lcTitlu = [P.V.SCHIMBARE PRET] + lcIntrebare="Doriti ca centralizatorul sa fie grupat dupa :" + lnNrOptiuni=2 + Local loFrmOpt + loFrmOpt=Createobject("frm_optiune",lcTitlu,lcIntrebare,lnNrOptiuni,[grupele de articole;numarul de document (nedefalcate dupa gestiune);],.T.) + loFrmOpt.Show(1) + Release loFrmOpt + If pnOptiune = 1 + plGrupe = .T. + Else + plGrupe = .F. + Endif + Else + lcExplicatie = [ - GRUPA ] + Alltrim(loCauta.grupa) + plGrupe = .F. + Endif + *!* modificare 07.11.2012 : la total, am pus gnPc in loc de gnPa + lcSql = [select a.nract,a.dataact,NVL(d.denumire,c.nume_gestiune) as denumire,] + ; + IIF(plGrupe,[NVL(g.grupa,'')],['']) + [ as grupa, ] + ; + [MAX(d.id_part) as id_part, MAX(c.id_gestiune) as id_gestiune, ] + ; + [sum(round(a.pretvtva*decode(a.cant,0,(-1)*a.cante,a.cant),] + Alltrim(Str(gnPc)) + [)) as total,] + ; + [sum(round(a.pretvtva*a.cante,] + Alltrim(Str(gnPc)) + [)) as valoare_ctva_vechi,] + ; + [sum(round(a.pretvtva*a.cant,] + Alltrim(Str(gnPc)) + [)) as valoare_ctva_nou,] + ; + [sum(round(a.pretv*a.cante,] + Alltrim(Str(gnPc)) + [)) as valoare_ftva_vechi,] + ; + [sum(round(a.pretv*a.cant,] + Alltrim(Str(gnPc)) + [)) as valoare_ftva_nou,] + ; + [sum(round(a.tva*a.cante,] + Alltrim(Str(gnPc)) + [)) as valoare_tva_vechi,] + ; + [sum(round(a.tva*a.cant,] + Alltrim(Str(gnPc)) + [)) as valoare_tva_nou ] + ; + [from rul a ] + ; + [left join asociere_parteneri_gestiuni b on a.id_gestiune = b.id_gestiune ] + ; + [left join nom_gestiuni c on b.id_gestiune = c.id_gestiune ] + ; + [left join nom_parteneri d on b.id_part = d.id_part ] + ; + [left join nom_articole e on a.id_articol = e.id_articol ] + ; + [left join gest_art_sbgr f on e.id_subgrupa = f.id_subgrupa and f.sters = 0 ] + ; + [left join gest_art_gr g on f.id_grupa = g.id_grupa and g.sters = 0 ] + ; + [where a.dataact between to_date('] + Dtoc(pdDataI,1) + [', 'YYYYMMDD') and to_date('] + Dtoc(pdDataF,1) + [', 'YYYYMMDD') ] + ; + [and a.id_set in (52, 245, 269, 999) and a.sters = 0] + Strtran(gcCondSucursala,[id_sucursala],[a.id_sucursala]) + [ ] + ; + IIF(loCauta.id_grupa = 0 And Alltrim(loCauta.grupa) = [],[],[and NVL(g.id_grupa,0) = ] + Alltrim(Str(loCauta.id_grupa)) + [ ]) + ; + [group by a.nract,a.dataact,NVL(d.denumire,c.nume_gestiune)] + ; + IIF(plGrupe,[,NVL(g.grupa,'')],[]) + [ ] + ; + [order by ] + Iif(plGrupe,[4,],[]) + [2, 1, 3 ] + lnSucces = goExecutor.oExecute(lcSql,lcCursor) + If lnSucces < 0 + AMESSAGEBOX(goExecutor.cEroare,16,"Eroare") + Else + pcTitlu = [CENTRALIZATOR PROCESE VERBALE DE SCHIMBARE PRET DE VANZARE ( ] + Dtoc(pdDataI) + [ - ] + Dtoc(pdDataF) + [ )] + lcExplicatie + goExport.export2frx(lcCursor,[centralizator_schimbpret]) + IF AMESSAGEBOX('Doriti export in format XLS?',4+32,_Screen.Caption) = 6 + goExport.export2xls(lcCursor, [centralizator_schimbpret]) + ENDIF + Endif + If Used(lcCursor) + Use In (lcCursor) + Endif + Endif +Endif +Release lofrmperioada,loCauta,lcSql,lnSucces,lcCursor,pcTitlu,pdDataI,pdDataF,plGrupe,pnOptiune +Endproc && listeaza_centralizator_schimbpret +***************************************************************************************************************************************************** +Procedure centralizator_articole_schimbpret +Local loFrmPret +loFrmPret=Createobject('frm_centralizator_schimbare_pret') +loFrmPret.Show(1) +Release loFrmPret +Endproc && centralizator_articole_schimbpret +***************************************************************************************************************************************************** + + +PROCEDURE instiintaripret + PRIVATE poInstiintarepret, poInstiintarepret_det + LOCAL lcSchema,lcSelect,lcOrder,lcGroup,lcFiltru,lcFiltruOriginal,llModParam,llAfiseaza,lcSelect1,lcOrder1,lcFiltru1,; + lcFiltruOriginal1 + STORE NULL TO poInstiintaripret, poInstiintaripret_det + lcSchema = [] + lcSelect = [select * from vinstiintaripret ] + lcOrder = [ dataora desc ] + lcgroup = [] + lcFiltru = [] + lcFiltruOriginal = [ sters=0 ] + llModParam = .T. + llAfiseaza = .F. + + gencursor('poInstiintaripret','cInstiintaripret', lcSelect, lcFiltru, lcSchema, lcOrder, llAfiseaza, lcgroup, llModParam, lcFiltruOriginal) + poInstiintaripret.ca_baza1.afisare() + + lcSelect1 = [select * from instiintaripret_vdetalii ] + lcOrder1 = [ denumire ] + lcFiltru1 = [] + lcFiltruOriginal1 = [ 1=2 ] + gencursor('poInstiintaripret_det ','cInstiintaripret_det', lcSelect1,lcFiltru1,lcSchema,lcOrder1,llAfiseaza,lcgroup, llModParam,lcFiltruOriginal1) + poInstiintaripret_det.ca_baza1.afisare() + + SELECT cInstiintaripret + GO TOP + loFrm = CREATEOBJECT("instiintaripret") + loFrm.show(1) +ENDPROC && instiintaripret + +******************************************************************* +*** Modificare preturi la schimbarea de TVA +*** Actualizare liste de preturi +*** Procese verbale schimbare de pret pe baza de lista de preturi (optional), pentru anumite gestiuni/toate, pentru anumite subgrupe articole/toate +*** 01.07.2010 19%-24% +*** 01.06.2010 24%-9% alimente +******************************************************************* +PROCEDURE schimba_pret_tva + LOCAL loFrmSchimbarePret + + * createobject da eroare (check1???) + DO FORM frm_schimbare_pret_tva + +*!* loFrmSchimbarePret = CREATEOBJECT("schimbpret_masa_tva") +*!* loFrmSchimbarePret.show(1) +ENDPROC && schimba_pret \ No newline at end of file diff --git a/programe/oscrie_in_fisiere.prg b/programe/oscrie_in_fisiere.prg new file mode 100644 index 0000000..c9c9429 --- /dev/null +++ b/programe/oscrie_in_fisiere.prg @@ -0,0 +1,357 @@ +*!* 21.12.2011 +*!* marius.mutu +*!* tlNuSuprascrieCod default .F. se foloseste codul generat din pack_contafin, .T. se foloseste codul din act_temp +*!* folosit in inventare de corectie. se foloseste acelasi cod, id_fact ca la inventarul original + +*!* 11.01.2012 +*!* marius.mutu +*!* tlLoadBackup - apelare oscrie_in_fisiere cu restaurarea actactan, rul_temp, rul_temp_obinv din backupset + +*!* 24.03.2026 +*!* marius.mutu +*!* stergere_import_note_contabile - se stergea doar prima nota cu succes, apoi iesea din scan + +Parameters tnScrie_Sterge, tlModificare, tlRul, tlNuSuprascrieCod, tlLoadBackup +*!* tnScrie_Sterge: 0 = scriere, 2 = stergere, 1 = refacere (nu se foloseste de oscrie_in_fisiere) +*!* tlModificare: .F. = nota noua, .T. modificare nota (scriere + stergere) +*!* tlNuSuprascrieCod default .F. se foloseste codul generat din pack_contafin, .T. se foloseste codul din act_temp +*!* tlLoadBackup: default .F. - nu restaurez actactan, rul_temp, rul_temp_obinv din backupset, .T. restaurez actactan, rul_temp, rul_temp_obinv din backupset + +Private pcMesajRefacereNota, pdData +Local lnSucces, lnCod, lcSql, llManualTransactions, lnSucces2 + +*!* 11.01.2012 +Local loBackupXML +pcMesajRefacereNota = "" +loBackupXML = Createobject("backupxml", "oscrie_in_fisiere") && oproceduri_comune.prg +If m.tlLoadBackup + If loBackupXML.ExistsBackupSet() + loBackupXML.RestoreBackupSet() + If Used('actactan') + Select ACTACTAN + Browse + Endif + If Used('rul_temp') + Select RUL_TEMP + Browse + Endif + If Used('rul_temp_obinv') + Select RUL_TEMP_OBINV + Browse + Endif + If AMESSAGEBOX('Doriti sa continuati scrierea notelor din backup?', 4 + 32, _Screen.Caption) <> 6 + lnSucces = -1 + Return m.lnSucces + Endif + Else + AMESSAGEBOX('Nu Exista backupset-ul "oscrie_in_fisiere"!', 0 + 48, _Screen.Caption) + lnSucces = -1 + Return m.lnSucces + Endif +Else + If loBackupXML.ExistsBackupSet() + loBackupXML.DeleteBackupSet() + Endif + + If Used('actactan') + loBackupXML.SaveBackupSet("actactan") + Endif + If Used('rul_temp') + loBackupXML.SaveBackupSet("rul_temp") + Endif + If Used('rul_temp_obinv') + loBackupXML.SaveBackupSet("rul_temp_obinv") + Endif +Endif +*!* 11.01.2012 ^ + +lnSucces = -1 +If Reccount('actactan') = 0 + AMESSAGEBOX('Nu s-a inregistrat nota contabila.') + Return lnSucces +Endif + +If Empty(tnScrie_Sterge) Or Isnull(tnScrie_Sterge) + tnScrie_Sterge = 0 +Endif + +If !Used('ACTACTAN') + AMESSAGEBOX('Nu exista fisierul .') + Return lnSucces +Endif + +If tnScrie_Sterge = 2 + Select ACTACTAN + Locate + lnCod = cod +Else + lnCod = Null +Endif + +*!* modificare 18.09.2007 +If tnScrie_Sterge = 2 And !tlModificare And Used('rul_temp') And Reccount('rul_temp') > 0 + Private pcMesaj + Store '' To pcMesaj + lcSql = [begin ] + gcS + [.verifica_stoc(] + Alltrim(Str(lnCod)) + [,?@pcMesaj); end;] + lnSucces = goExecutor.oExecute(lcSql) + If lnSucces < 0 + AMESSAGEBOX(goExecutor.oPrelucrareEroare(), 16, "Eroare") + Return lnSucces + Endif + If !Isnull(pcMesaj) + AMESSAGEBOX(pcMesaj, 48, "Atentie") + Release pcMesaj + Return - 5 + Endif + Release pcMesaj +Else + lnSucces = 1 +Endif + +llManualTransactions = Iif(SQLGetprop(gnhandle, "Transactions") = 2, .T., .F.) + +If lnSucces > 0 + If !tlModificare And !llManualTransactions + lnSucces = SQLSetprop(gnhandle, "Transactions", 2) + Endif +Endif + +If lnSucces > 0 + pdData = {} + lcSql = [begin pack_contafin.init_scriere_act_rul_local(?gnIdUtil,?gnAn,?gnLuna,] + ; + Iif(m.tlNuSuprascrieCod, "0", "1") + [,] + Alltrim(Str(tnScrie_Sterge)) + [,?gnIdSucursala); end;] + lnSucces = Iif(goExecutor.oExecuta(lcSql), 1, -1) +Endif + +If lnSucces > 0 + lnSucces = sql_temp_insert('actactan', 'ACT_TEMP') + + If lnSucces > 0 And tlRul + If Used('rul_temp') And Reccount('rul_temp') > 0 + lnSucces = sql_temp_insert('rul_temp', 'RUL_TEMP') + Endif + If Used('RUL_TEMP_OBINV') And Reccount('RUL_TEMP_OBINV') > 0 + lnSucces = sql_temp_insert('rul_temp_obinv', 'RUL_TEMP_OBINV') + Endif + Endif +Endif + +If lnSucces > 0 + pcMesajRefacereNota = "" + lcSql = [begin pack_contafin.final_scriere_act_rul_local(?gnIdUtil,?gnAn,?gnLuna,] + Iif(tnScrie_Sterge == 2, Alltrim(Str(lnCod)), [NULL]) + [,] + ; + Alltrim(Str(tnScrie_Sterge)) + [,] + Iif(tlModificare, [0], [1]) + [,?@pcMesajRefacereNota); end;] + lnSucces = Iif(goExecutor.oExecuta(lcSql), 1, -1) + If !Empty(Nvl(pcMesajRefacereNota, '')) + AMESSAGEBOX(pcMesajRefacereNota, 0 + 48, 'Atentie') + Endif +Endif + +If !tlModificare And !llManualTransactions + If lnSucces < 0 + lcSql = "ROLLBACK" + Else + lcSql = "COMMIT" + Endif + lnSucces2 = goExecutor.oExecute(lcSql) + + If lnSucces2 < 0 + AMESSAGEBOX(lcSql + Chr(13) + goExecutor.cEroare, 0 + 16, "Eroare") + Endif + + lnSucces2 = SQLSetprop(gnhandle, "Transactions", 1) + If lnSucces2 < 0 + AMESSAGEBOX('Programul nu a reusit sa treaca pe tranzactie automata. Iesiti din program si intrati din nou!', 0 + 48, 'Atentie!') + Endif +Endif + +Return lnSucces + + + +&& ------------------------------------------------------------------------------------ +Procedure sql_temp_insert + Lparameters tcAlias, tcTableName + + Local lcAlias, lcCursor, lnSucces + Private poIreg + Local lcVariable + + If Empty(tcAlias) + lcAlias = 'ACTACTAN' + Else + lcAlias = Upper(Alltrim(tcAlias)) + Endif + If Empty(tcTableName) + lcTableName = 'ACT_TEMP' + Else + lcTableName = Upper(Alltrim(tcTableName)) + Endif + + lcCursor = 'crs_Coloane' + lcSql = [SELECT COLUMN_NAME AS COLOANA from user_tab_columns WHERE table_name = ?lcTableName] + lnSucces = goExecutor.oExecute(lcSql, lcCursor) + If lnSucces < 0 + AMESSAGEBOX('Eroare la selectare coloane din ' + lcTableName + Chr(13) + goExecutor.cEroare, 0 + 16, 'Eroare') + Endif + + If lnSucces > 0 + *** + Select (lcAlias) + lnCount = Fcount() + Scan + lcFields = [] + lcValues = [] + lcInsert = [] + Scatter Name poIreg + + For i = 1 To lnCount + Select (lcAlias) + lcFieldName = Upper(Alltrim(Field(i))) + lcFieldType = Type(lcFieldName) + lcFieldValue = Evaluate(lcFieldName) + If lcFieldType = 'C' + lcVariable = '?ALLTRIM(poIreg.' + lcFieldName + ')' + Else + lcVariable = '?poIreg.' + lcFieldName + Endif + + Select CRS_COLOANE + Locate For Upper(Alltrim(COLOANA)) == lcFieldName + If !Found() + Loop + Endif + lcFields = lcFields + [,] + lcFieldName + lcNumber = '0' + lcDate = '' + lcString = '' + + lcValues = lcValues + [,] + lcVariable + + *!* DO CASE + *!* CASE lcFieldType = 'N' + *!* IF EMPTY(lcFieldValue) OR ISNULL(lcFieldValue) + *!* lcNumber = '0' + *!* ELSE + *!* lcNumber = ALLTRIM(STR(lcFieldValue,24,4)) + *!* ENDIF + + *!* lcValues = lcValues + [,] + lcNumber + *!* CASE lcFieldType = 'C' + *!* IF EMPTY(lcFieldValue) OR ISNULL(lcFieldValue) + *!* lcString = '' + *!* ELSE + *!* lcString = ALLTRIM(lcFieldValue) + *!* ENDIF + + *!* lcValues = lcValues + [,] + ['] + lcString + ['] + *!* CASE INLIST(lcFieldType,'D','T') + *!* IF EMPTY(lcFieldValue) OR ISNULL(lcFieldValue) + *!* lcDate = '' + *!* ELSE + *!* lcDate = DTOS(lcFieldValue) + *!* ENDIF + *!* lcValues = lcValues + [,] + [TO_DATE('] + lcDate + [','YYYY-MM-DD')] + *!* ENDCASE + + Endfor + * FAC NULL ID-URILE CU VALOARE 0 + poIreg.id_sucursala = IIF(!EMPTY(NVL(poIreg.id_sucursala,0)), poIreg.id_sucursala, NULL) + IF TYPE('poIreg.taxcode') <> 'U' + poIreg.taxcode = IIF(!EMPTY(NVL(poIreg.taxcode,0)), poIreg.taxcode, NULL) + ENDIF + IF TYPE('poIreg.paymentcode') <> 'U' + poIreg.paymentcode = IIF(!EMPTY(NVL(poIreg.paymentcode,'')), poIreg.paymentcode, NULL) + ENDIF + IF TYPE('poIreg.id_jtva_coloana') <> 'U' + poIreg.id_jtva_coloana = IIF(!EMPTY(NVL(poIreg.id_jtva_coloana,0)), poIreg.id_jtva_coloana, NULL) + ENDIF + + lcFields = Substr(lcFields, 2) + lcValues = Substr(lcValues, 2) + + && INSERT INTO ACT_TEMP + lcInsert = [INSERT INTO ] + lcTableName + [ (] + lcFields + [) VALUES (] + lcValues + [)] + lnSucces = goExecutor.oExecute(lcInsert) + If lnSucces < 0 + + AMESSAGEBOX(goExecutor.cEroare, 0 + 16, 'Eroare') + Exit + Endif + + Endscan + Endif + If Used('crs_coloane') + Use In CRS_COLOANE + Endif + + Return lnSucces + +Endproc && sql_temp_insert + + +****************** +* Sterge importuri dupa act.explicatia5 sau un cod, cate un calup de note (cod) +****************** +PROCEDURE stergere_import_note_contabile + LPARAMETERS tcExplicatia, tnCod, tcColoana + * tcExplicatia = valoarea din coloana act.explicatia5 + * tcColoana (optional) default = 'explicatia5' + * tnCod (optional) daca doresc sa sterg un singur cod + + PRIVATE pcExplicatia + Local lcColoana, lcCursor, lcSql, llSucces, lnSucces, lcSelect + LOCAL lnPercent, lcTask + lcselect = SELECT() + lcColoana = IIF(EMPTY(m.tcColoana), 'explicatia5', m.tcColoana) + pcExplicatia = ALLTRIM(NVL(m.tcExplicatia, '')) + pnCod = NVL(m.tnCod, 0) + IF EMPTY(m.pcExplicatia) AND EMPTY(m.pnCod) + llSucces = .F. + SELECT (m.lcSelect) + RETURN m.llSucces + ENDIF + lcTask = 'Stergere...' + + lcSql = [select distinct cod from act where an=?gnAn and Luna=?gnLuna and sters=0 ] + ; + IIF(!EMPTY(m.pcExplicatia), [ and ] + m.lcColoana + [ = ?pcExplicatia], '') + ; + IIF(!EMPTY(m.pnCod), [ and cod = ?pnCod], '') + lcCursor = [cCoduri] + llSucces = goExecutor.oExecuta(m.lcSql, m.lcCursor) + + IF !m.llSucces + SELECT (m.lcSelect) + RETURN m.llSucces + ENDIF + + lnSucces = SQLSetprop(m.gnhandle, "Transactions", 2) + lcSql = [begin pack_contafin.init_scriere_act_rul_local(?gnIdUtil,?gnAn,?gnLuna, 1,0,?gnIdSucursala); end;] + llSucces = goExecutor.oExecuta(lcSql) + If m.llSucces + Select cCoduri + Scan + pnCod = cod + If Mod(Recno(), 10) = 0 + lnPercent = Round(Recno() / Reccount() * 100, 0) + WAIT WINDOW m.lcTask + Alltrim(Str(m.lnPercent)) + '%' NOWAIT + Endif + lcSql = [begin pack_contafin.sterge_document(?pnCod); end;] + llSucces = goExecutor.oExecuta(lcSql) + If !m.llSucces + Exit + Endif + ENDSCAN + Endif + + If m.llSucces + llSucces2 = goExecutor.oExecuta('COMMIT') + Else + llSucces2 = goExecutor.oExecuta('ROLLBACK') + Endif + + SQLSetprop(m.gnhandle, "Transactions", 1) + + SELECT (m.lcSelect) + + RETURN m.llSucces +ENDPROC && stergere_import_note_contabile + \ No newline at end of file diff --git a/programe/osecurity.prg b/programe/osecurity.prg new file mode 100644 index 0000000..7458a33 --- /dev/null +++ b/programe/osecurity.prg @@ -0,0 +1,268 @@ +*!* 19.05.2009 +*!* marius.mutu +*!* gnewcryptxml = .T. nu mai exista fisiere roa_security.xml cu criptarea veche (windows api) + +*!* 21.06.2012 +*!* marius.mutu +*!* VERIFICA_UTILIZATOR +*!* tratare utilizatori ADMIN -1, SUPER -2 + +#DEFINE CRLF CHR(13) + CHR(10) +*** osecurity + +********************* INCEPUT Getcrssecurity ********************** +* PROCEDURE Getcrssecurity( ) +* Date : 04/05/05, 11:25:56 +* author : marius.mutu +* description: + +PROCEDURE GetcrsSecurity + LPARAMETERS tcSecurityFile + + *!* SECURITY.TXT - NECRIPTAT + *!* SECURITY.XML - CRIPTAT + *!* DACA EXISTA SECURITY.XML - PARSEZ XML, ALTFEL PARSEZ TXT + *!* gnewcryptxml - daca roa_security.xml are criptare noua(blowfish) + *!* gnewcryptfll - daca exista vfpencryption.fll + + IF TYPE("gnewcryptxml")="U" + PUBLIC gnewcryptxml + ENDIF +*!* 19.05.2009 +*!* nu mai exista fisiere roa_security.xml cu criptarea veche (windows api) +*!* gnewcryptxml=.F. + gnewcryptxml = .T. + + IF TYPE("gnewcryptfll")="U" + PUBLIC gnewcryptfll + ENDIF + gnewcryptfll=.T. + LOCAL lnAt,lcDirMare + IF TYPE("gcComunPath")="U" + PUBLIC gcComunPath + lnAt=RAT("\",gcAppPath,2) + lcDirMare=LEFT(gcAppPath,lnAt) + gcComunPath=ADDBS(lcDirMare)+"COMUNROA\" + ENDIF + + LOCAL loex AS EXCEPTION + TRY + lcEncryptionFile = gcComunPath+"vfpencryption.fll" + IF !"vfpencryption"$LOWER(SET("Library")) + SET LIBRARY TO (lcEncryptionFile) ADDITIVE + ENDIF + CATCH TO loex + gnewcryptfll=.F. + ENDTRY + + + + LOCAL lcSecurityFile,lcSecurityPath, lcCursor, lcLinie, lcMode + LOCAL lcSecurityFileXML + + lcSecurityFileXML = FORCEEXT(tcSecurityFile,'xml') + + lcCursor = "crsHost" + lcSecurityFile = tcSecurityFile + lcSecurityPath = ADDBS(JUSTPATH(lcSecurityFile)) + + lnValid = 0 + llSucces = .T. + IF !DIRECTORY(lcSecurityPath) + TRY + MD (lcSecurityPath) + CATCH + aMESSAGEBOX('Nu se poate crea directorul ' + lcSecurityPath + '!',0+16,'Atentie') + ENDTRY + ENDIF + + IF !(FILE(lcSecurityFile) OR FILE(lcSecurityFileXML)) + CD (lcSecurityPath) + IF !FILE(lcSecurityFileXML) + lcSecurityText = 'ROA;CONTAFIN_ORACLE;123;' + lcSecurityText = INPUTBOX('Host(DSN);SCHEMA;SCHEMA_PASSWORD;1;','Server',lcSecurityText) + lcSecurityText = ALLTRIM(lcSecurityText) + IF !EMPTY(lcSecurityText) + IF RIGHT(lcSecurityText,1) # ';' + lcSecurityText = lcSecurityText + ';' + ENDIF + ELSE + llSucces = .F. + ENDIF + ENDIF + + IF llSucces + TRY + IF !(FILE(lcSecurityFileXML) OR FILE(lcSecurityFile)) + *!* SECURITY.TXT + STRTOFILE(lcSecurityText, lcSecurityFile) + *!* SECURITY.TXT ^ + ENDIF + + + *!* SECURITY.XML + IF !FILE(lcSecurityFileXML) + CREATE CURSOR cXML (HOST c(50), schema c(50), pwd c(50)) + INSERT INTO cXML (HOST, schema, pwd) VALUES("ROA","CONTAFIN_ORACLE","ENCRYPTED PWD") + + CURSORTOXML("cXML",lcSecurityFileXML, 1, 512, 0, "1") + USE IN cXML + ENDIF + *!* SECURITY.XML ^ + CATCH + aMESSAGEBOX('Nu s-a putut crea fisierul ' + lcSecurityFile,0+16,'Atentie') + llSucces = .F. + ENDTRY + ENDIF + ENDIF + + IF llSucces + IF !FILE(lcSecurityFile) AND !FILE(lcSecurityFileXML) + aMESSAGEBOX('Nu exista fisierul ' + lcSecurityFile,0+16,'Atentie') + llSucces = .F. + ENDIF + ENDIF + + IF llSucces + IF USED(lcCursor) + USE IN (lcCursor) + ENDIF + + + && daca exista security.xml - il transform in cursorul cXML si completez crsHost + CREATE CURSOR (lcCursor)(HOST c(100), schema c(100), pwd v(100), IsEncrypted c(1)) + IF FILE(lcSecurityFileXML) + TRY + lcSecurityText = FILETOSTR(lcSecurityFileXML) + XMLTOCURSOR(lcSecurityFileXML, "cXML", 512) + SELECT cXML + GO TOP + SCATTER NAME lofirstrecord + + IF lofirstrecord.HOST="ENCRYPTION" + gnewcryptxml=.T. + DELETE + ENDIF + + + INSERT INTO (lcCursor) (HOST, schema, pwd, IsEncrypted) ; + SELECT HOST, schema, pwd, "1" AS IsEncrypted ; + FROM cXML + lnValid = RECCOUNT('cXML') + + USE IN cXML + CATCH TO loex + *!* Local loEx As Exception + aMESSAGEBOX('Mesaj: ' + loex.MESSAGE + CRLF + ; + 'Eroare nr: ' + ALLTRIM(TRANSFORM(loex.ERRORNO)) + CRLF + ; + 'Cod: ' + loex.LINECONTENTS + CRLF + 'Procedura: ' + loex.PROCEDURE + CRLF + ; + 'Linia nr: ' + ALLTRIM(TRANSFORM(loex.LINENO)),0+16,'Eroare') + FINALLY + USE IN (SELECT('cXML')) + ENDTRY + + ELSE + * CREATE CURSOR (lcCursor)(HOST c(100), Schema c(100), Pwd v(100), IsEncrypted c(1)) + lcSecurityText = FILETOSTR(lcSecurityFile) + LOCAL laHost + DIMENSION laHost[1] + + lnLen = ALINES(laHost, lcSecurityText) + + IF lnLen > 0 + FOR i = 1 TO lnLen + lcLinie = laHost[i] + + lcHost = GETWORDNUM(lcLinie, 1, ';') + lcSchema = GETWORDNUM(lcLinie, 2, ';') + lcPassword = GETWORDNUM(lcLinie, 3, ';') + lcMode = "0" && necriptat - security.txt + + IF EMPTY(lcHost) OR EMPTY(lcSchema) OR EMPTY(lcPassword) + LOOP + ENDIF + + lnValid = lnValid + 1 + INSERT INTO &lcCursor (HOST, schema, pwd, IsEncrypted) VALUES (lcHost, lcSchema, lcPassword, IIF(EMPTY(lcMode), '0', lcMode)) + ENDFOR + ENDIF + ENDIF + ENDIF + + RETURN lnValid +ENDPROC +********************* SFARSIT Getcrssecurity ********************** +************************************************************************************************************* +FUNCTION verifica_utilizator + LPARAMETERS tcNumeUtilizator,tcParola + LOCAL lnVerificare,lnRezultat,lnSuma,lnCkSum + glAdministrator = .F. + glSupervizor = .F. + + lnRezultat = -1 + TRY + lcSql = [SELECT pack_drepturi.verificautilizator(']+ALLTRIM(tcNumeUtilizator)+[',']+; + ALLTRIM(tcParola)+[') as id_util from dual] + lcCursor = [v_verificare] + lnSucces = goExecutor.oExecute(lcSql,lcCursor) + goExecutor.oReset() + IF USED('v_verificare') AND RECCOUNT('v_verificare')>0 + SELECT v_verificare + lnVerificare = id_util + USE IN v_verificare + ENDIF + IF m.lnVerificare = -1 + glAdministrator = .F. + glSupervizor = .F. + RETURN m.lnRezultat + ENDIF + IF lnVerificare < -1000000 && ADMIN, SUPER, SERVER + lnRezultat = lnVerificare + 1000000 + DO case + CASE lnRezultat = -1 && ADMIN + glAdministrator = .T. + CASE lnRezultat = -2 && SUPER + glSupervizor = .T. + ENDCASE + ELSE + lnSuma = 0 + lnRezultat = INT(lnVerificare/100) && id_util + lnVerificare = ABS(m.lnVerificare) && pentru cazul in care am id_util (-1,-2,-3) + i = lnRezultat + lnCkSum = MOD(lnVerificare,100) + DO WHILE i > 0 + lnSuma = lnSuma+MOD(i,10) + i = INT(i/10) + ENDDO + IF MOD(lnSuma+lnCkSum, 13) = 0 + glAdministrator = .T. && GRUP ADMINISTRARE ID = 0 + ELSE + IF MOD(lnSuma+lnCkSum, 11) = 0 + glSupervizor = .T. && GRUP SUPERVIZARE ID = -1 + ENDIF + ENDIF + ENDIF + CATCH + lnRezultat = -1 + ENDTRY + + RETURN lnRezultat +ENDFUNC +************************************************************************************************************* +FUNCTION verifica_id_util + LPARAMETERS tnIdUtil + LOCAL lcRezultat + lcRezultat=[] + lcSql = [SELECT pack_drepturi.verificaidutil(]+; + ALLTRIM(STR(tnIdUtil))+[) as utilizator from dual] + lcCursor = [v_cursor_verif] + lnSucces = goExecutor.oExecute(lcSql,lcCursor) + goExecutor.oReset() + IF USED('v_cursor_verif') AND RECCOUNT('v_cursor_verif')>0 + SELECT v_cursor_verif + lcRezultat=utilizator + USE IN v_cursor_verif + ENDIF + RETURN lcRezultat +ENDFUNC +************************************************************************************************************* diff --git a/programe/oserii_numere.prg b/programe/oserii_numere.prg new file mode 100644 index 0000000..c8c82f3 --- /dev/null +++ b/programe/oserii_numere.prg @@ -0,0 +1,448 @@ +************************************************************************************************************** +** Clase: +** oGeneratorNumere +** Proceduri: +** viz_config_serii_complet +** creeaza_cursor_serii +** Functii: +** caut_serii_fact +** caut_tipentitate_permis +************************************************************************************************************** +*********************************** Obiect oNumereDocumente ********************************* +Define Class oGeneratorNumere As Custom + cAliasVechi = Null + lInitializare = .F. && modificare 14.07.2010 + nTipuriDocument = 30 + Declare paPlaje (30,8) +** 1 - numar +** 2 - nume cursor +** 3 - cu_serie +** 4 - cu_plaja +** 5 - id_serie +** 6 - cu buffer .T. daca se genereaza mai multe numere in cadrul aceleiasi operatii +** 7 - tip buffer 1 - in caz de renuntare, se dezaloca toate numerele din buffer ( implicit ) +** 2 - in caz de renuntare, se dezaloca toate numerele din buffer, cu exceptia primului, care este repus in array +** 8 - nume cursor buffer +****************************** + Procedure Init +*!* modificare 14.07.2010 +*!* This.ResetAll() + This.lInitializare = .T. + This.ResetAll() + This.lInitializare = .F. +*!* modificare 14.07.2010 ^ + Endproc +****************************** + Procedure Reset + Lparameters tnIdTipDoc + With This + .paPlaje(tnIdTipDoc,1) = 0 + .paPlaje(tnIdTipDoc,2) = Null + .paPlaje(tnIdTipDoc,3) = .F. + .paPlaje(tnIdTipDoc,4) = .F. + .paPlaje(tnIdTipDoc,5) = Null + .dezactiveazaBuffer(tnIdTipDoc) + Endwith + Endproc +****************************** + Procedure ResetAll + With This + For i = 1 To This.nTipuriDocument + .Reset(i) + Endfor + Endwith + Endproc +****************************** + Procedure ResetNumar + Lparameters tnIdTipDoc + With This + .paPlaje(tnIdTipDoc,1) = 0 + .paPlaje(tnIdTipDoc,5) = Null + Endwith + Endproc +****************************** + Procedure ResetNumere + With This + For i = 1 To This.nTipuriDocument + .ResetNumar(i) + Endfor + Endwith + Endproc +****************************** + Procedure activeazaBuffer + Lparameters tnIdTipDoc,tnTipBuffer + Local lnTipBuffer + lcSql = [begin pack_serii_numere.seteazaNumereMultiple(1); end;] + If goExecutor.oExecuta(lcSql) + If Empty(tnTipBuffer) Or !Between(tnTipBuffer,1,2) + lnTipBuffer = 1 + Else + lnTipBuffer = tnTipBuffer + Endif + lcCursor = [crsbufsertemp]+Alltrim(Str(tnIdTipDoc)) + Create Cursor (lcCursor) (numar N(14)) +*!* If !Empty(This.paPlaje(tnIdTipDoc,1)) +*!* Select (lcCursor) +*!* Append Blank +*!* Replace numar With This.paPlaje(tnIdTipDoc,1) +*!* This.ResetNumar(tnIdTipDoc) +*!* Endif + This.paPlaje(tnIdTipDoc,6) = .T. + This.paPlaje(tnIdTipDoc,7) = lnTipBuffer + This.paPlaje(tnIdTipDoc,8) = lcCursor + Endif + Endproc +****************************** + Procedure dezactiveazaBuffer + Lparameters tnIdTipDoc + lcSql = [begin pack_serii_numere.seteazaNumereMultiple(0); end;] +*!* modificare 14.07.2010 : imi apeleaza de 20 de ori procedura la fiecare initializare a obiectului +*!* lnSucces = goExecutor.oExecute(lcSql) + If (This.lInitializare And tnIdTipDoc = 1) Or !This.lInitializare + llSucces = goExecutor.oExecuta(lcSql) + Else + llSucces = .T. + Endif +*!* modificare 14.07.2010 ^ + If llSucces + lcCursor = This.paPlaje(tnIdTipDoc,8) + If !Empty(Nvl(lcCursor,[])) + Use In (lcCursor) + Endif + This.paPlaje(tnIdTipDoc,6) = .F. + This.paPlaje(tnIdTipDoc,7) = 1 + This.paPlaje(tnIdTipDoc,8) = Null + Endif + Endproc +****************************** + Procedure salveazaAliasVechi + This.cAliasVechi = Alias() + Endproc +****************************** + Procedure selecteazaAliasVechi + If !Empty(Nvl(This.cAliasVechi,[])) + Select (This.cAliasVechi) + Endif + Endproc +****************************** + Function creeaza_cursor_serii + Lparameters tnIdTipDoc + Local lcSql,lcCursor,llSucces + Private pnIdTipDoc,pnRezultat + pnIdTipDoc = tnIdTipDoc + pnRezultat = 0 + This.salveazaAliasVechi() + lcCursor = [crsseriitemp]+Alltrim(Str(tnIdTipDoc)) + If Used(lcCursor) + Use In (lcCursor) + Endif + lcSql = [{call ] + gcS + [.pack_serii_numere.verifica_cursor_serii(?pnIdTipDoc,?gnIdUtil,?gnIdSucursala,?@pnRezultat)}] + llSucces = goExecutor.oExecuta(lcSql,lcCursor) + With This +*!* modificare 04.09.2012 + If !llSucces OR pnRezultat = -1 +*!* If !llSucces +*!* modificare 04.09.2012 ^ + *!* modificare ROAGEST v 2.0.138 + lcSql = [{call ] + gcs + [.pack_serii_numere.verifica_tipdoc(?pnIdTipDoc,?@pnRezultat)}] + IF !goExecutor.oExecuta(lcSql,lcCursor) + *!* modificare ROAGEST v 2.0.138 ^ + pnRezultat = 1 + .paPlaje(tnIdTipDoc,2) = Null + .paPlaje(tnIdTipDoc,3) = .F. + .paPlaje(tnIdTipDoc,4) = .F. + *!* modificare ROAGEST v 2.0.138 + Else + .paPlaje(tnIdTipDoc,2) = Null + .paPlaje(tnIdTipDoc,3) = Iif(Mod(pnRezultat,2)=1,.T.,.F.) + .paPlaje(tnIdTipDoc,4) = .F. + Endif + *!* modificare ROAGEST v 2.0.138 ^ + Else + If Reccount(lcCursor) > 0 + .paPlaje(tnIdTipDoc,2) = lcCursor + .paPlaje(tnIdTipDoc,3) = Iif(Mod(pnRezultat,2)=1,.T.,.F.) + .paPlaje(tnIdTipDoc,4) = Iif(pnRezultat>=2,.T.,.F.) + Else + pnRezultat = 1 + .paPlaje(tnIdTipDoc,2) = Null + .paPlaje(tnIdTipDoc,3) = .F. + .paPlaje(tnIdTipDoc,4) = .F. + Endif + Endif + Endwith + This.selecteazaAliasVechi() + Release pnIdTipDoc + Return pnRezultat + Endfunc && creeaza_cursor_serii +****************************** + Function aloca_numar + Lparameters tnIdTipDoc,tnIdGestiune + Private pnIdTipDoc,pnIdGestiune,pnNumar,pnIdSerie + Do Case + Case Isnull(This.paPlaje(tnIdTipDoc,2)) + pnNumar = 0 +*!* modificare ROAGEST v 2.0.105 +*!* Case This.paPlaje(tnIdTipDoc,1) <> 0 +*!* modificare ROAGEST v 2.0.105 ^ + Case This.paPlaje(tnIdTipDoc,1) <> 0 And !This.paPlaje(tnIdTipDoc,6) + pnNumar = This.paPlaje(tnIdTipDoc,1) + Otherwise + pnNumar = -1 + pnIdTipDoc = tnIdTipDoc + pnIdGestiune = Iif(Isnull(tnIdGestiune) Or Pcount()=1,Null,tnIdGestiune) + This.salveazaAliasVechi() + lcCursor = This.paPlaje(tnIdTipDoc,2) + If Used(lcCursor) + Select (lcCursor) + pnIdSerie = id_serie + Else + pnIdSerie = Null + Endif + lcSql=[begin ] + gcS + [.pack_serii_numere.aloca_numar(?pnIdTipDoc,?pnIdSerie,?pnIdGestiune,?gnIdUtil,?gnIdSucursala,?@pnNumar); end;] + IF !goExecutor.oExecuta(lcSql) + pnNumar = 0 + Endif + Release pnIdTipDoc,pnIdGestiune,pnIdEntitate + With This +*!* modificare ROAGEST v 2.0.105 : daca e activat buffer-ul, atunci pun fiecare numar generat in cursor,nu in array ( in afara de primul, care ramane in array ) + If This.paPlaje(tnIdTipDoc,6) + lcCursor = This.paPlaje(tnIdTipDoc,8) + Select (lcCursor) + Append Blank + Replace numar With pnNumar + Else +*!* modificare ROAGEST v 2.0.105^ + .paPlaje(tnIdTipDoc,1) = pnNumar +*!* modificare ROAGEST v 2.0.105 + Endif +*!* modificare ROAGEST v 2.0.105 ^ + .paPlaje(tnIdTipDoc,5) = pnIdSerie + Endwith + This.selecteazaAliasVechi() + Endcase + Return pnNumar + Endfunc && aloca_numar +****************************** + Procedure verifica_numar + Lparameters tnIdTipDoc,tnNumar + With This + If tnNumar <> .paPlaje(tnIdTipDoc,1) And .paPlaje(tnIdTipDoc,1) <> 0 + .dezaloca_numar(tnIdTipDoc) + Endif + Endwith + Endproc +****************************** + Function verifica_serie + Lparameters tnIdTipDoc + Local lcCursor,llReturn + llReturn = .F. + With This + If !Isnull(This.paPlaje(tnIdTipDoc,2)) + .salveazaAliasVechi() + lcCursor = Alltrim(.paPlaje(tnIdTipDoc,2)) + If Used(lcCursor) + Select (lcCursor) + If Nvl(.paPlaje(tnIdTipDoc,5),-99)<>Nvl(id_serie,-99) + .dezaloca_numar(tnIdTipDoc) + llReturn = .T. + Endif + Endif + .selecteazaAliasVechi() + Else + llReturn = .T. + Endif + Endwith + Return llReturn + Endfunc +****************************** + Procedure dezaloca_numar + Lparameters tnIdTipDoc + Private pnIdTipDoc + pnIdTipDoc = tnIdTipDoc + With This + If !Isnull(This.paPlaje(tnIdTipDoc,2)) + .salveazaAliasVechi() + If .paPlaje(tnIdTipDoc,1) <> 0 + * Cateodata dadea eroare la executia in Oracle wrong type, desi pnIdTipDoc era numeric +*!* lcSql=[begin ] + gcS + [.pack_serii_numere.dezaloca_numar(?pnIdTipDoc); end;] + lcSql=[begin pack_serii_numere.dezaloca_numar(] + ALLTRIM(TRANSFORM(m.pnIdTipDoc)) + [); end;] + If goExecutor.oExecuta(lcSql) + .paPlaje(tnIdTipDoc,1) = 0 + Endif + Endif + .selecteazaAliasVechi() + Endif + Endwith + Release pnIdTipDoc + Endproc && dezaloca_numar +****************************** + Procedure dezaloca_buffer + Lparameters tnIdTipDoc,tlDezactiveazaBuffer + Private pnIdTipDoc + pnIdTipDoc = tnIdTipDoc + With This + pnTip = .paPlaje(tnIdTipDoc,7) + .salveazaAliasVechi() + lcSql=[begin ] + gcS + [.pack_serii_numere.dezaloca_numere(?pnIdTipDoc,?pnTip); end;] + If goExecutor.oExecuta(lcSql) + If pnTip = 1 + .paPlaje(tnIdTipDoc,1) = 0 + Endif + If tlDezactiveazaBuffer + .dezactiveazaBuffer(tnIdTipDoc) + Endif + Endif + .selecteazaAliasVechi() + Endwith + Release pnIdTipDoc,pnTip + Endproc && dezaloca_numere +******************************* + Procedure dezaloca_numere + With This + For i = 1 To This.nTipuriDocument + If .paPlaje(i,1)<>0 + .dezaloca_numar(i) + Endif + Endfor + Endwith + Endproc && dezaloca_numere +****************************** + Function getNumeCursor + Lparameters tnIdTipDoc + Return This.paPlaje(tnIdTipDoc,2) + Endfunc && getNumeCursor +****************************** + Function getSerieCursor + Lparameters tnIdTipDoc + Local lcSerie + With This + If Reccount(.paPlaje(tnIdTipDoc,2))>0 + .salveazaAliasVechi() + Select (.paPlaje(tnIdTipDoc,2)) + lcSerie = Alltrim(serie) + .selecteazaAliasVechi() + Else + lcSerie = [] + Endif + Endwith + Return lcSerie + Endfunc && getNumeCursor +****************************** + Function getLungimeSerie + Lparameters tnIdTipDoc + Local lnLungime + With This + If Reccount(.paPlaje(tnIdTipDoc,2))>0 + .salveazaAliasVechi() + Select (.paPlaje(tnIdTipDoc,2)) + lnLungime = lungime + .selecteazaAliasVechi() + Else + lnLungime = Null + Endif + Endwith + Return lnLungime + Endfunc && getLungimeSerie +****************************** + Function getIdSerie + Lparameters tnIdTipDoc + Return This.paPlaje(tnIdTipDoc,5) + Endfunc && getIdSerie +****************************** +Enddefine +************************************ INCEPUT : viz_config_serii_complet ********************************** +Procedure viz_config_serii_complet +Lparameters tnIdTipDoc +Private pcSchema,pcSelect,pcFiltru,pcOrder,poDocumente,poPlaje,poSerii +Local llAfiseaza +Store [] To pcSchema,pcSelect,pcFiltru,pcOrder,poDocumente,poPlaje,poSerii +Store .F. To llAfiseaza +pcSchema = [] +pcSelect = [select id_tipdoc, id_tipentitate, tipdoc, descriere, maxlen, cu_serie, cu_plaje, tipentitate, plajepeentitate, an, luna, an2caractere from vserii_tipdoc where] +If Empty(tnIdTipDoc) + pcFiltru = [2=2] +Else + pcFiltru = [id_tipdoc=] + Alltrim(Str(tnIdTipDoc)) +Endif +pcOrder = [tipdoc] +llAfiseaza = .F. +gencursor('poDocumente','crsTipdoc',pcSelect,pcFiltru,pcSchema,pcOrder,llAfiseaza) +poDocumente.ca_baza1.afisare() + +pcSchema = [id_serie N(10),serie C(10),an N(1),luna N(1),lungime N(10),inactiv N(1),resetare C(50),exemplu C(50), isautofactura N(1), isbeneficiari N(1), isterti N(1), isfurnizori N(1), prefix N(5), an2caractere N(1)] +pcSelect = [select id_serie, serie, an, luna, lungime, inactiv, resetare, exemplu, isautofactura, isbeneficiari, isterti, isfurnizori, prefix, an2caractere from vserii where] +pcFiltru = [2=2] +pcOrder = [serie] +llAfiseaza = .F. +gencursor('poSerii','crsSerii',pcSelect,pcFiltru,pcSchema,pcOrder,llAfiseaza) +poSerii.ca_baza1.afisare() + +pcSchema = [id_plaja N(10),id_tipdoc N(10),id_tipentitate N(10),id_entitate N(10),pl_inf N(18),pl_sup N(18),] + ; + [inactiv N(1),id_serie N(10),datai d,datas d,tipentitate C(100),entitate C(100),serie C(10),urmval C(100),valabil N(1)] +pcSelect = [select id_plaja, id_tipdoc, id_tipentitate, id_entitate, pl_inf, pl_sup, inactiv, id_serie,] + ; + [datai, datas, tipentitate, entitate, serie, urmval, valabil from vplaje_numere where] +pcFiltru = [1=2] +pcOrder = [id_tipdoc] +llAfiseaza = .F. +lcFiltruOriginal = [NVL(id_sucursala,-99) = NVL(?gnIdSucursala,-99)] +gencursor('poPlaje','crsPlaje',pcSelect,pcFiltru,pcSchema,pcOrder,llAfiseaza,[],.F.,lcFiltruOriginal) + +ofrmseriicomplet = Createobject('frm_plaje_numere') +ofrmseriicomplet.Show(1) + +Use In (Select('crsTipdoc')) +Use In (Select('crsSerii')) +Use In (Select('crsPlaje')) +Release ofrmseriicomplet, poDocumente, poSerii, poPlaje +Endproc && viz_config_serii_complet +************************************ SFARSIT : viz_config_serii_complet ********************************** +*********************************** INCEPUT : caut_tipentitate_permis ******************************** +Function caut_tipentitate_permis +Parameters tnTipDoc,tnPornire, tlDesktop +Private pnTipDoc +pnTipDoc = tnTipDoc +Local lcCont,loCauta, lnPornire, llDesktop +lnPornire = tnPornire && 1-incepe cu...6-toate +llDesktop = tlDesktop +Store "" To loCauta + +lcSelect = [select id_tipentitate, descriere from ] + gcS + [.vserii_tipentpermis] +lcFiltru = [1=2] +lcSchema = [] +lcOrder = [descriere] +lccoloane = [descriere] +lcTitlu = [Alegeti tipul entitatii] +lcTitluColoane = [Tip entitate] +lcFiltruOriginal = [id_tipdoc = ?pnTipDoc] +lcNumeProc = [] +llToateIreg = .F. +loCauta = cauta_alfa(lcSelect,lcFiltru,lcSchema,lcOrder,lccoloane,lcTitlu,lcTitluColoane, lcNumeProc, llToateIreg, lcFiltruOriginal,,lnPornire,,,llDesktop) && 11.07.2007 + +Return loCauta +Endfunc && caut_tipentitate_permis +********************************** SFARSIT : caut_tipentitate_permis ******************************** +************************************** INCEPUT : caut_serii_fact ************************************ +Function caut_serii_fact +Parameters tnPornire, tlDesktop + +Local lcCont,loCauta, lnPornire, llDesktop +lnPornire = tnPornire && 1-incepe cu...6-toate +llDesktop = tlDesktop +Store "" To loCauta + +lcSelect = [select id_serie,serie,resetare,lungime,exemplu,an,luna from ] + gcS + [.vserii] +lcFiltru = [1=2] +lcSchema = [id_serie N(10),serie C(50),resetare C(50),lungime N(10),exemplu C(50),an N(1),luna N(1)] +lcOrder = [serie,luna,an] +lccoloane = [serie,resetare,lungime,exemplu] +lcTitlu = [Alegeti seria] +lcTitluColoane = [Serie,Resetare,Lungime,Exemplu] +lcFiltruOriginal = [inactiv = 0] +lcNumeProc = [] +llToateIreg = .F. +loCauta = cauta_alfa(lcSelect,lcFiltru,lcSchema,lcOrder,lccoloane,lcTitlu,lcTitluColoane, lcNumeProc, llToateIreg, lcFiltruOriginal,,lnPornire,,,llDesktop) && 11.07.2007 + +Return loCauta +Endfunc && caut_serii_fact +************************************** SFARSIT : caut_serii_fact ************************************ \ No newline at end of file diff --git a/programe/ostartfirma.prg b/programe/ostartfirma.prg new file mode 100644 index 0000000..16d9eb6 --- /dev/null +++ b/programe/ostartfirma.prg @@ -0,0 +1,337 @@ +*!* 09.07.2020 +*!* marius.mutu +*!* start_firma - initializare pack_sesiune.set_an, set_luna, pack_sesiune.set_sucursala, pack_sesiune.set_id_util + +* PROCEDURE Start_Firma( ) +* Date : 06/10/2004, 12:27:00 +* author : marius.mutu +* description: +* creeaza cursorul v_firme; +* alege firma, anul, luna; +* initializeaza = schema firmei +* creeaza cursorul si verifica luna aleasa +* apeleaza +* apeleaza + +****** PARAMETER BLOCK ************** +* Parameters : 0 +* +******************************************* INCEPUT:Start_Firma ******************************************* +Procedure Start_Firma + + + *** selectez firmele + Do update_firme_util_prog With gnIdProgram,gnIdUtil In updateserver.prg + + Select v_Firme + If Reccount() = 0 + aMessagebox('Nu aveti drepturi pe nici o firma!',0+16,'Atentie') + Quit + Endif + Go Top + If Type('goFirma') = 'O' And Type('goFirma.id_firma') = 'N' + If !Empty(goFirma.id_firma) And !Isnull(goFirma.id_firma) + Locate For id_firma = goFirma.id_firma + If !Found() + Go Top + Endif + Endif + Endif + + Do While .T. + + + *--------------------- + Private polunilean + + lcSelect = [select * from syn_lunilean ] + lcCursor = [v_lunilean] + lnSucces = goExecutor.oExecute(lcSelect,lcCursor) + If lnSucces < 0 + aMessagebox('Eroare la selectie ' + goExecutor.cEroare) + Return + Endif + + + + *--------------------- + If Type('loStart_Firma')!='O' Or Isnull(loStart_Firma) + *!* DO FORM frm_start_firma NAME loStart_Firma LINKED NOSHOW + Select v_Firme + Do Form frm_start_firma_nou Name loStart_Firma Linked Noshow + Endif + + Select v_Firme + If gnLuna*gnAn <> 0 + Select v_lunilean + Locate For nrluna = gnLuna + + loStart_Firma.cLuna = Alltrim(v_lunilean.numeluna) + loStart_Firma.cAn = Alltrim(Str(gnAn)) + Endif + loStart_Firma.cFirma = Alltrim(v_Firme.firma) + *****************************Inceput Lansare toolbar***************************** + If !(gnLuna*gnAn <> 0 And primadata=.T.) + loStart_Firma.Show(1) + Else + *!* 05.03.2007 + *!* la lansarea din toolbar formularul este invizibil si gnbuton = 2 -> (ca si cum as da renunt - iese din program) + gnbuton = 1 + *!* 05.03.2007 ^ + + Select v_Firme +*!* 11.02.2008 +*!* Locate For Upper(Alltrim(schema))== gcs + Locate For id_firma = gnIdFirma +*!* 11.02.2008 ^ + lcschemaParola=Alltrim(v_Firme.parola) + loStart_Firma.nnrluna = gnLuna + loStart_Firma.cAn = Alltrim(Str(gnAn)) + lnschema_noua = schema_noua + lnIdFirma = v_firme.id_firma + + lnSucces = schimba_firma(gnHandle,gcs,lnIdFirma,lcschemaParola,lnschema_noua) + If lnSucces<0 + aMessagebox(goExecutor.cEroare, 0+16, 'Eroare') + Return + Endif + *--- &&lansare + Endif + + *****************************Sfarsit Lansare toolbar***************************** + *!* modificare 01.03.2007 + *!* am pus conditia TYPE("loStart_Firma") # "O" pentru cazul in care utilizatorul apasa "X" + *!* atunci cand este vizibila fereastra de alegere a firmei/lunii/anului >> apare "Doriti sa iesiti din program" + *!* si daca apasa da,atunci gnButon = 1 din fereastra de confirmare si nu de la fereastra de alegere a firmei + If Type("loStart_Firma.nnrluna") = "U" And gnbuton = 1 + Return To Master + Endif + *!* modificare 01.03.2007 ^ + If gnbuton <> 1 + * QUIT + Cancel + *RETRY + *RETURN + If Buton = 2 + Do Start_Firma + Endif + Endif + + Select v_Firme + *!* modificare 17.12.2008 + Locate for id_firma = gnIdFirma + *!* modificare 17.12.2008 ^ + Scatter Name goFirma && variabila globala + + If Type('gofirma.codfiscalfro') = 'U' + AddProperty(gofirma, 'codfiscalfro', ALLTRIM(Strtran(Alltrim(gofirma.cod_fiscal), 'RO',''))) + Endif + + lnId_Firma = v_Firme.id_firma + *lnLuna = ROUND(VAL(loStart_Firma.cLuna),0) + lnLuna = loStart_Firma.nnrluna + lnAn = Round(Val(loStart_Firma.cAn),0) + lcFirma = Upper(Alltrim(v_Firme.firma)) + lcSchema = Upper(Alltrim(v_Firme.schema)) + lcschemaParola = Upper(Alltrim(v_Firme.parola)) + lnschema_noua = v_Firme.schema_noua + + *!* IF USED('v_ancalendar') + *!* USE IN v_ancalendar + *!* ENDIF + *!* IF USED('crs_ani') + *!* USE IN crs_ani + *!* ENDIF + + + + If Empty(lcSchema) Or Isnull(lcSchema) + *!* DO mesaj WITH "Firma "+ lcFirma + " nu are definita schema in ","" + lcMesaj="Firma "+ lcFirma + " nu are definita schema in !" + aMessagebox(lcMesaj,0+48,"Atentie") + Loop + Endif + +*!* 11.02.2008 +*!* If gcs <> lcSchema + IF lnId_Firma <> goFirma.id_firma + LLSCHIMB = .T. + Else + LLSCHIMB = .F. + Endif +*!* 11.02.2008 ^ + + gcs = lcSchema + lnSucces = 1 + If LLSCHIMB + lnSucces = schimba_firma(gnHandle,gcS,lnId_Firma,lcSchema,lnschema_noua) + *DO schimba_firma WITH gnHandle,GCS,lcschemaParola + If lnSucces < 0 + aMessagebox('Firma nu s-a putut schimba!'+Chr(13)+Chr(13)+'ostartfirma.prg',0+16) + Return + Endif + + Endif + + If lnSucces > 0 + lnSucces = update_calendar() + Endif + + + + llLunaBuna = .F. + If !Used('calendar') + *!* DO mesaj WITH 'Nu s-a putut deschide calendarul firmei ' + lcFirma,'' + lcMesaj="Nu s-a putut deschide calendarul firmei "+ lcFirma + "!" + aMessagebox(lcMesaj,0+48,"Atentie") + Loop + Endif + *** verific daca luna aleasa e deschisa in calendar + Select Min(Val(an)*12 + Val(nl)) As minluna,Max(Val(an)*12 + Val(nl)) As maxluna From calendar Into Cursor crsCalendar + Select crsCalendar + lnMaxLuna = maxluna + lnMinLuna = minluna + lnAnLuna = lnAn * 12+ lnLuna + Use In crsCalendar + + lnLunaMax = Mod(lnMaxLuna,12) + lnAnMax = Int(lnMaxLuna/12) + If lnLunaMax = 0 And lnAnMax <> 0 + lnLunaMax = 12 + lnAnMax = lnAnMax - 1 + Endif + + lnLunaMin = Mod(lnMinLuna,12) + lnAnMin = Int(lnMinLuna/12) + If lnLunaMin = 0 And lnAnMin <> 0 + lnLunaMin = 12 + lnAnMin = lnAnMin - 1 + Endif + + Select calendar + Locate For Val(nl) = lnLuna And Val(an) = lnAn + If Found() + llLunaBuna = .T. + Scatter Name goCalendar + + If lnMaxLuna = lnAnLuna + glUltimaLuna = .T. + Endif + If lnMinLuna = lnAnLuna + glPrimaLuna = .T. + Endif + + glLunaBuna = llLunaBuna + + + lnSucces = OINIT_OPTIUNI() + If lnSucces > 0 + Do update_nomenclator.prg + Do ovariabile_globale.prg + lcSql = [begin pack_contafin.set_idutil(?gnIdUtil); pack_contafin.set_id_sucursala(?gnIdSucursala); pack_sesiune.setan(?gnAn); pack_sesiune.setluna(?gnLuna);end;] + lnSucces = goExecutor.oExecute(m.lcSql) + Endif + + Return lnSucces + + Else + + + Do Case + Case lnAnLuna > lnMaxLuna And lnMaxLuna <> 0 + lcMesaj = [Ultima luna deschisa este ] + Alltrim(Str(lnLunaMax)) + [/] + Alltrim(Str(lnAnMax)) + gnLuna = lnLunaMax + gnAn = lnAnMax + pcNl = Padl(Alltrim(Str(gnLuna)),2,'0') + pcAn = Alltrim(Str(gnAn)) + m.nl = m.pcnl + m.an = m.pcAn + Case lnAnLuna < lnMinLuna And lnMinLuna <>0 + lcMesaj = [Prima luna deschisa este ] + Alltrim(Str(lnLunaMin)) + [/] + Alltrim(Str(lnAnMin)) + gnLuna = lnLunaMin + gnAn = lnAnMin + pcNl = Padl(Alltrim(Str(gnLuna)),2,'0') + pcAn = Alltrim(Str(gnAn)) + m.nl = m.pcnl + m.an = m.pcAn + Otherwise + lcMesaj = [Luna ] + Alltrim(Str(lnLuna)) + [ / ] + Alltrim(Str(lnAn)) + [ nu este deschisa in calendar] + Endcase + *!* DO mesaj WITH lcMesaj,'' + aMessagebox(lcMesaj,0+48,"Atentie") + Loop + Endif + Enddo +Endproc +******************************************* SFARSIT: Start_Firma ******************************************* + + +* PROCEDURE login( ) +* Date : 18/10/2004, 13:14:01 +* author : marius.mutu +* description: + +****** PARAMETER BLOCK ************** +* Parameters : 0 +* +******************************************* INCEPUT:login ******************************************* +Procedure login( ) + *LPARAMETERS tcHost,tcUserName,tcPassword,tcUserNameApp,tcPasswordApp,tnIdUtil,tnIdProgram + + Do Form frm_login + +Endproc +******************************************* SFARSIT: login ******************************************* + + +******************************************* INCEPUT:schimba_firma ************************************* +Procedure schimba_firma + Lparameters tnHandle,tcSchema, tnIdFirma,tcschemaParola,tnschema_noua + Local llDeconectez,lcuser, lnSucces, lnIdFirma + LOCAL lnSucces + lnSucces = 1 + + IF TYPE('goFirma') = 'O' + lnIdFirma = goFirma.id_firma + ELSE + lnIdFirma = -1 + ENDIF +*!* 16.02.2009 +*!* aveam probleme :) +*!* ma deconectez/conectez la fiecare apel +*!* IF tnIdFirma <> lnIdFirma +*!* llDeconectez = .T. +*!* ENDIF + llDeconectez = .T. +*!* 16.02.2009 ^ + + If llDeconectez + goConn.Disconnect(tnHandle) + + If tnschema_noua = 0 + lcHost = gcHost + lcuser = gcUserName + lcPassword = gcPassword + Else + lcHost = gcHost + lcuser = tcSchema + lcPassword = tcschemaParola + Endif + + lnHandle = goConn.Connect(lcHost, lcuser, lcPassword) + goLog.Log('CONECTARE ' + lcHost + ' ' + lcUser + ' ID_FIRMA ' + STR(lnIdFirma) + ' HANDLE = ' + TRANSFORM(lnHandle), PROGRAM()) + + If lnHandle < 0 + lnSucces = -1 + Else + lnSucces = 1 + Endif + gcs = tcSchema + + Endif && llDeconectez + + + Return lnSucces + +Endproc +******************************************* SFARSIT:schimba_firma ************************************* diff --git a/programe/oupdate.prg b/programe/oupdate.prg new file mode 100644 index 0000000..a3fe0d1 --- /dev/null +++ b/programe/oupdate.prg @@ -0,0 +1,515 @@ +*!* 21.07.2009 +*!* marius.mutu +*!* set library to inainte de dezarhivarea arhivelor (vezi comunroa care are vfpencryption si da conflict) + +*!* 19.03.2024 +*!* marius.mutu +*!* updatecheck: s-a inlocuit dezarhivarea cu vfpcompression cu shell.copyhere + +*!* comun\programe\ +*!* oupdate.prg +*!* iniacces.prg +*!* procese.prg +*!* version.prg +*!* xmlaccess.prg +*!* xmlparser.prg +*!* filebringer.prg +*!* wwcodeupdate.prg +*!* wwhttp.prg +*!* wwapi.prg + +*!* comun\include\ +*!* security.h + +*!* comun\clase\ +*!* wwdialogs.vcx + +*!* main.prg +*!* PRIVATE gcDirMare +*!* gcDirMare=Left(gcAppPath,liat) + +*!* SET CLASSLIB TO wwdialogs ADDITIVE + +#Define crlf Chr(13)+Chr(10) +Define Class oUpdate As Custom + oInterfataXml = Null + oContainerAfisare = Null + cFisier = Null + cExtensieFisier = [.zip] + cExtensieFisierExe = [.exe] && pentru romfast_suport + + Procedure Init + Lparameters tcFisier,toContainerAfisare,tcProgram + Declare ExitProcess In WIN32API Integer + + Return This.initializeazaDate(tcFisier,toContainerAfisare,tcProgram) + Endproc + + Function reinitializeazaDate + Lparameters tcFisier,toContainerAfisare,tcProgram + This.oInterfataXml = Null + Return This.initializeazaDate(tcFisier,toContainerAfisare,tcProgram) + Endfunc + + Function initializeazaDate + Lparameters tcFisier,toContainerAfisare,tcProgram + Local llReturn + llReturn = .T. + This.oContainerAfisare = toContainerAfisare + If Empty(tcFisier) + This.cFisier= This.getServer() + Else + This.cFisier = tcFisier + Endif + This.oInterfataXml = Createobject("xmlAccess",This.cFisier) + If Type('This.oInterfataXml') <> 'O' + This.actualizeazaContainerAfisare("Nu se pot face actualizãri!") + If !Empty(tcProgram) + lcVersiune = Iif(Left(tcProgram,3)='ROA',Getversion(tcProgram),GetTxtVersion(tcProgram)) + lcVersiune = Iif(lcVersiune = [0.0.0],[...],[ ] + lcVersiune) + This.actualizeazaContainerAfisare("Se lanseazã " + tcProgram + lcVersiune) + Endif + llReturn = .F. + Endif + Return llReturn + Endfunc + + Procedure actualizeazaContainerAfisare + Lparameters tcMesaj &&,tlSelStart modificare ROASTART v 2.0.23 + If Type('this.oContainerAfisare') = 'O' + This.oContainerAfisare.Value = This.oContainerAfisare.Value + tcMesaj + crlf +*!* modificare ROASTART v 2.0.23 +*!* If tlSelStart +*!* This.oContainerAfisare.SelStart = Len(This.oContainerAfisare.Value) +*!* Endif +*!* modificare ROASTART v 2.0.23 ^ + This.oContainerAfisare.Refresh() + Endif + Endproc + + Function getServer + Local lcnumeserver + + lcnumeserver=[] + If Type('goFirma') = 'O' And Type('goFirma.nume_server') <> 'U' + lcnumeserver = Alltrim(goFirma.nume_server) + Else + lcSql = [select nume_server from syn_nom_firme where id_firma=?gnIdFirma] + lnSucces = goExecutor.oExecute(lcSql,[crsnf]) + If lnSucces < 0 + aMessagebox(goExecutor.ceroare,64,'Eroare') + Else + Select crsnf + lcnumeserver = Alltrim(nume_server) + Endif + If Used('crsnf') + Use In crsnf + Endif + Endif + Return lcnumeserver + Endfunc + Procedure createUpdateCursor + Lparameters tcNumeCursor + This.oInterfataXml.getXmlItems(tcNumeCursor) + Endproc + + Function Getversion + Lparameters tcProgram + Return This.oInterfataXml.Getversion(tcProgram) + Endfunc + + Function updatecheckTxt + Lparameters tcCurrentProg, tlSilent, tlLocalFileExist + * tlLocalFileExist: daca exista fisierul pe calculator. se descarca chiar daca versiunile din fisierul de setari si cel de pe internet sunt la fel, dar nu exista fisierul pe local + + Local lcCaleActualizari, lcVersiuneLocal, lcVersiuneInternet, lcFisier, lcFisierVersiuniInternet, lcSectiune, lcExtensieFisier + Local lcLibraryPath, loEx As Exception + lcLibraryPath = gcDirMare + [COMUNROA\vfpconnection.fll] +*!* modificare 06.03.2014 : am adaugat lcExtensieFisier in loc de This.cExtensieFisier + lcExtensieFisier = IIF(INLIST(tcCurrentProg, [romfast_suport], [roascreenshot]),This.cExtensieFisierExe,This.cExtensieFisier) + If File(lcLibraryPath) + Try + Set Library To (lcLibraryPath) Additive + lcCaleActualizari = [http://www.romfast.ro/romfastsuport/files/] + lcFisierVersiuniInternet = [versiune_aplicatii.txt] + lcSectiune = [versiuni] + lcFisier = lcCaleActualizari + lcFisierVersiuniInternet + If !HTTPGet(lcFisier, gcTempPath+lcFisierVersiuniInternet, [MyProgressHandler("] + lcFisier + [")]) + IF !m.tlSilent + polog.Log("Nu se poate descarca fisierul cu versiuni! " + m.lcFisier, Program()) + Messagebox("Nu se poate descarca fisierul cu versiuni!",16,"Eroare") + ENDIF + Else + lcBuffer=Space(255) + + DECLARE INTEGER GetPrivateProfileString ; + IN WIN32API ; + STRING cSection,; + STRING cEntry,; + STRING cDefault,; + STRING @cRetVal,; + INTEGER nSize,; + STRING cFileName + + GetPrivateProfileString(lcSectiune,tcCurrentProg,"",@lcBuffer, Len(lcBuffer), gcTempPath+lcFisierVersiuniInternet) + lcVersiuneInternet = Alltrim(Strtran(lcBuffer,Chr(0),"")) + Delete File (gcTempPath+lcFisierVersiuniInternet) + loIniHandler = Createobject("iniaccess") + lcVersiuneLocal = loIniHandler.getCValue(lcSectiune,tcCurrentProg) + polog.Log("Program: " + tcCurrentProg + " VersiuneLocal: " + lcVersiuneLocal + " VersiuneInternet: " + lcVersiuneInternet + " LocalFileExist: " + TRANSFORM(m.tlLocalFileExist), Program()) + If ((Empty(lcVersiuneLocal) Or lcVersiuneLocal < lcVersiuneInternet) And !Empty(lcVersiuneInternet)) OR !m.tlLocalFileExist +*!* modificare 28.06.2012 : am adaugat This.cExtensieFisier in loc de .exe +*!* modificare 06.03.2014 : am adaugat lcExtensieFisier in loc de This.cExtensieFisier + lcFisier = lcCaleActualizari + tcCurrentProg + lcExtensieFisier + If (Bringfile(lcFisier,tcCurrentProg,gcDirMare+tcCurrentProg+lcExtensieFisier )=.F.) + IF !m.tlSilent + polog.Log("Eroare la copierea "+tcCurrentProg + ", versiunea "+lcVersiuneInternet+"!", Program()) + Messagebox("Eroare la copierea "+tcCurrentProg + ", versiunea "+lcVersiuneInternet+"!",16,"Eroare") + ENDIF + Else + loIniHandler.setCValue(lcSectiune,tcCurrentProg,lcVersiuneInternet) + Endif + Endif + Release loIniHandler + Endif + Catch To loEx + IF !m.tlSilent + polog.Log('vfpconnection ' + loEx.Message, Program()) + Messagebox('vfpconnection ' + loEx.Message) + ENDIF + Endtry + Endif + Return .T. + Endfunc + + Function updatecheck + Lparameters tccurrentprog,tlmsgshow,tnTipActualizare,tcDefaultDir + * tccurrentprog este programul care trebuie actualizat + * lcmsgshow - daca e true,atunci se citeste din ini daca apare mesajul de confirmare sau nu + * tnTipActualizare - 0 = este din numeserver.xml ; + 1 = este din roastart.xml ; + 2 = programul se actualizeaza singur la pornire + * tcDefaultDir - directorul in care se copiaza actualizarile pentru configurarile USER... ; + ( de ex.: DEV_USERREPORTS e tccurrentprog,dar trebuie sa fie copiat in USERREPORTS ) + + Local iniHandler As Object,lnTipFisier,lnTipActualizare && modificare v 2.0.14 : am adaugat lnTipFisier + LOCAL lcOldLibrary + + lnTipActualizare = Iif(!Empty(tnTipActualizare),tnTipActualizare,0) + *!* modificare v 2.0.6 + *!* If Used("SERVER_INFO") + *!* Use In SERVER_INFO + *!* Endif + *!* modificare v 2.0.6 ^ + If lnTipActualizare<>2 + If At("_",tccurrentprog)#0 + lccurrentUR=Substr(tccurrentprog,At("_",tccurrentprog)+1) + Else + lccurrentUR=tccurrentprog + Endif + + ******************************************** + * Rularea procedurii de update pentru + * toate programele in afara de ROASTART + ******************************************** + + + lbrun=.T. + Local lraspuns + lraspuns=4 + Local loex1,loex2,loex As Exception + *!* Verifica daca trebuie rulate + *!* procedurile de update + This.actualizeazaContainerAfisare(tccurrentprog + " se verificã ultima versiune") + iniHandler=Createobject("iniaccess") + If lnTipActualizare = 0 + lnTipFisier = 0 + If Empty(This.cFisier) Or This.cFisier = "ROASTART" + XmlData="nu s-a putut conecta" + Else + polog.Log("S-a gasit serverul "+This.cFisier,Program()) + polog.Log("Se cauta pentru "+This.cFisier+".XML",Program()) + XmlData=This.oInterfataXml.ReadXmlFile(tccurrentprog) + Endif + Else + If Left(tccurrentprog,3)="ROA" + lnTipFisier = 0 + Else + lnTipFisier = 1 + Endif + polog.Log("Se cauta xml-ul pentru "+tccurrentprog,Program()) + XmlData=This.oInterfataXml.ReadXmlFile(tccurrentprog) + Endif + Do Case + Case XmlData$"<>(){}" + polog.Log("Nu s-au gasit in fisierul Xml inregistrari pentru "+tccurrentprog,Program()) + Case XmlData$"nu s-a putut conecta" + If iniHandler.getURL()!="" + This.actualizeazaContainerAfisare("Nu s-a gãsit actualizare pe internet.") + else + This.actualizeazaContainerAfisare("Nu s-a gãsit actualizare în reþea/local.") &&,.T. modificare ROASTART v 2.0.23 + Endif + Otherwise + + If tlmsgshow=.F. + lcallowconfirm=.T. + Else + lcallowconfirm=.F. + If(iniHandler.getAllowConfirm()) + lcallowconfirm=.T. + Endif + Endif + + If Compareversion(stripXmlVersion(XmlData),XmlData,; + IIF(Empty(tcDefaultDir),tccurrentprog,tcDefaultDir),lcallowconfirm,lnTipFisier) + polog.Log("S-a gasit versiunea " + stripXmlVersion(XmlData) + " pentru "+tccurrentprog + " (" + Getversion(tccurrentprog) + ")",Program()) + lcconfirm=0 + If iniHandler.getAllowConfirm() + lcconfirm = aMessagebox(stripXmlMsg(XmlData)+crlf+"Doriþi sã-l încãrcaþi?",36,"Confirmare actualizare") + Else + lcconfirm = 6 + Endif + If lcconfirm = 6 + This.actualizeazaContainerAfisare(tccurrentprog + " se actualizeazã versiunea "+stripXmlVersion(XmlData))&&,.T. modificare ROASTART v 2.0.23 + polog.Log("Se incepe actualizarea "+tccurrentprog+" la versiunea "+stripXmlVersion(XmlData),Program()) + *!* Verifica daca nu cumva programul este in procese + *This.oContainerAfisare.value = This.oContainerAfisare.value+"Se verfica daca se poate face updateul" + crlf + polog.Log("Se verifica daca nu cumva programul este in procese ",Program()) + lnWinHandle=1 + Do While lnWinHandle=1 And lraspuns=4 + lnWinHandle=0 + + If CheckProcess(tccurrentprog) + lnWinHandle=1 + *This.oContainerAfisare.value = This.oContainerAfisare.value+"Nu se poate face updateul(fisier in uz)" + crlf + polog.Log("Programul s-a gasit printre procesele care ruleaza",Program()) + Endif + + If lnWinHandle =1 + lraspuns=aMessagebox("Închideti toate instantele " + tccurrentprog + " ºi apãsaþi pe Repetã pentru a actualiza programul!",21,"Actualizare") + Else + Exit + Endif + Enddo + If lraspuns=2 + polog.Log("S-a respins actualizarea",Program()) + This.actualizeazaContainerAfisare("S-a respins actualizarea " + tccurrentprog)&&,.T. modificare ROASTART v 2.0.23 + Endif + + If lnWinHandle =0 + ************review ..CV + ************03.oct.2007 + polog.Log("Se aduce fisierul",Program()) + myfilestr=StripXmlFile(XmlData) + If iniHandler.getDefault()="URL" + If Occurs("http",myfilestr)>0 + lcFileToBeBrought=myfilestr + Else + If Left(myfilestr,1)="\" + lcFileToBeBrought=Right(myfilestr,Len(myfilestr)-1) + Else + lcFileToBeBrought=myfilestr + Endif + lcFileToBeBrought=iniHandler.getURL()+"/"+lcFileToBeBrought + Endif + lcFileToBeBrought = strtran(lcFileToBeBrought,[\],[/]) && modificare ROASTART v 2.1.3 + Else + If Left(myfilestr,1)="\" + lcFileToBeBrought=Right(myfilestr,Len(myfilestr)-1) + Else + lcFileToBeBrought=myfilestr + Endif + lcFileToBeBrought=Addbs(ShortPath(iniHandler.getNetworkPath()))+lcFileToBeBrought + Endif + ****************review***Cristian Vasile*** + ****************cale relativa URL********** + ******************************03.10.2007*** + If(Bringfile(lcFileToBeBrought,tccurrentprog)=.F.) + aMessagebox("A intervenit o eroare la copierea fisierului!",16,"Copiere") + polog.Log("A intervenit o eroare la copierea fisierului",Program()) + *This.oContainerAfisare.txt_Mesaj.Caption = This.oContainerAfisare.txt_Mesaj.Caption+"A intervenit o eroare la copierea fisierului" + crlf + Else + tempfile = GetCurrentTempPath(tccurrentprog) + Cd Addbs(Justpath(tempfile)) + +*!* lcEncryptionFile = gcComunPath+"vfpcompression.fll" +*!* IF !"vfpcompression"$LOWER(SET("Library")) +*!* SET LIBRARY TO (lcEncryptionFile) ADDITIVE +*!* ENDIF +*!* UnzipQuick(tempfile) + + lcErrorMessage = '' + lcUnzipDir = JUSTPATH(m.tempfile) + llSucces = UnzipQuickShell(m.tempfile, @lcUnzipDir, @lcErrorMessage) + IF m.llSucces + polog.Log("S-a actualizat "+ tccurrentprog + " la versiunea "+stripXmlVersion(XmlData),Program()) + This.actualizeazaContainerAfisare(tccurrentprog + " s-a actualizat la versiunea "+stripXmlVersion(XmlData))&&,.T. modificare ROASTART v 2.0.23 + ELSE + + polog.Log("Nu s-a actualizat "+ tccurrentprog + " la versiunea "+stripXmlVersion(XmlData),Program()) + This.actualizeazaContainerAfisare(tccurrentprog + " NU s-a actualizat la versiunea "+stripXmlVersion(XmlData) + " " + m.lcErrorMessage)&&,.T. modificare ROASTART v 2.0.23 + ENDIF + lcDir=Addbs(Justpath(Sys(16,0))) + *!* Stergere temporar + *!* + Try +*!* modificare 28.06.2012 +*!* Delete File "&tempfile" + DELETE FILE (tempfile) +*!* modificare 28.06.2012 ^ + Catch To loex2 + If loex2.ErrorNo=1705 + This.actualizeazaContainerAfisare("NU s-a putut sterge fisierul temporar!")&&,.T. modificare ROASTART v 2.0.23 + Endif + Endtry + + *!* + + If Atc("PROCEDURE",lcDir) > 0 + lcDir = Substr(lcDir,Rat(":",lcDir)-1) + Endif + Cd (lcDir) + + Endif + Else + * MESSAGEBOX("Inchideti toate instantele de ale ROA - Financiar contabilitate pentru a actualiza programul.",16,"Actualizare !") + lbrun=.F. + Endif + Else + *!* Strtofile(Dtoc(Date())+" "+Time()+" > S-a respins de utillizator updateul programului "+tccurrentprog+Chr(13)+Chr(10),gcDirMare + "updates.log",1) + polog.Log("S-a respins de utilizator actualizarea programului "+tccurrentprog,Program()) + + Endif + + Else + polog.Log(tccurrentprog + " " + stripXmlVersion(XmlData)+" este cea mai noua versiune.",Program()) + This.actualizeazaContainerAfisare(tccurrentprog + " " + stripXmlVersion(XmlData)+" este cea mai nouã versiune.")&&,.T. modificare ROASTART v 2.0.23 + Endif + Endcase + + + *!* Release InterfataXml + Release iniHandler + + + Return lbrun + + ******************************************** + * Rularea procedurii de update pentru + * toate programele in afara de ROASTART + ******************************************** + Else + Try +*!* modificare 28.06.2012 +*!* Delete file "temporar.exe" + Delete File "temporar"+This.cExtensieFisier +*!* modificare 28.06.2012 ^ + Delete File "test.vbs" + Endtry + *MESSAGEBOX("Verificare") + *!* InterfataXml=Createobject("xmlAccess") + iniHandler=Createobject("iniaccess") + + XmlData=This.oInterfataXml.ReadXmlFile(tccurrentprog) + Do Case + Case XmlData$"<>(){}" + polog.Log("Nu s-au gasit in fisierul Xml inregistrari pentru "+tccurrentprog,Program()) + Case XmlData$"nu s-a putut conecta" + If iniHandler.getURL()!="" + This.actualizeazaContainerAfisare("Nu s-a gãsit actualizare pe internet.") + ELSE + This.actualizeazaContainerAfisare("Nu s-a gãsit actualizare în reþea/local.")&&,.T. modificare ROASTART v 2.0.23 + Endif + Otherwise + polog.Log("Am inceput update "+tccurrentprog+" !",Program()) + polog.Log("Versiunea din xml este " + stripXmlVersion(XmlData)) + If Compareversion(stripXmlVersion(XmlData),XmlData,tccurrentprog,iniHandler.getAllowConfirm()) + polog.Log("Am detectat versiuni diferite",Program()) + lcconfirm=0 + If iniHandler.getAllowConfirm() + lcconfirm = aMessagebox(stripXmlMsg(XmlData)+crlf+"Doriþi sã-l încãrcaþi?",292,"Confirmare actualizare") + Else + lcconfirm = 6 + Endif + + If lcconfirm = 6 + polog.Log("Trebuie sa aduca programul",Program()) + ************review ..CV + ************03.oct.2007 + myfilestr=StripXmlFile(XmlData) + If iniHandler.getDefault()="URL" + If Occurs("http",myfilestr)>0 + lcFileToBeBrought=myfilestr + Else + If Left(myfilestr,1)="\" + lcFileToBeBrought=Right(myfilestr,Len(myfilestr)-1) + Else + lcFileToBeBrought=myfilestr + Endif + lcFileToBeBrought=iniHandler.getURL()+"/"+lcFileToBeBrought + Endif + + Else + If Left(myfilestr,1)="\" + lcFileToBeBrought=Right(myfilestr,Len(myfilestr)-1) + Else + lcFileToBeBrought=myfilestr + Endif + lcFileToBeBrought=Addbs(ShortPath(iniHandler.getNetworkPath()))+lcFileToBeBrought + Endif + ****************review***Cristian Vasile*** + ****************cale relativa URL********** + ******************************03.10.2007*** + If(Bringfile(lcFileToBeBrought,tccurrentprog)=.F.) + aMessagebox("A intervenit o eroare la încercarea copierii fiºierului de actualizare!",16,"Actualizare") + Else + polog.Log("Am adus programul",Program()) +*!* tempfile = GetCurrentTempPath(tccurrentprog) && modificare 28.06.2012 +*!* modificare v 2.0.29 +*!* lcrunvbs=[Run /N7 ]+Addbs(Substr(gcAppPath,1,Rat([\],gcAppPath,2)))+[COMUNROA\updater.exe ] + ; +*!* STRTRAN(Addbs(Justpath(Sys(16,0))),[ ],[~])+tccurrentprog+[.EXE] + lcrunvbs=[Run /N7 ]+shortpath(Addbs(Substr(gcAppPath,1,Rat([\],gcAppPath,2))))+[COMUNROA\updater.exe |] + ; + shortpath(Addbs(Justpath(Sys(16,0))))+tccurrentprog+[.EXE] +*!* modificare v 2.0.29 ^ + &lcrunvbs + polog.Log("Am executat updater.exe",Program()) + ExitProcess(0) + + Endif + Endif + Endif + Endcase + Return .T. + Endif + Endfunc +Enddefine + +Function updatecheckfiles +*!* (07.09.09) tlSilent = .T. - daca nu apare mesajul de eroare in caz ca nu poate copia fisierul + Lparameters lcFisier,tlSilent + Local loUpdate,cLocalFile,cFilePath + *************************************** + * + *************************************** + iniHandler = Createobject("iniaccess") + If lcFisier="ROA_SECURITY.XML" + cLocalFile = gcDirMare + "Security\" + lcFisier + Else + cLocalFile = gcDirMare + lcFisier + Endif + + If (iniHandler.getNetworkPath()#"" And iniHandler.getDefault()="NetworkPath") && Or iniHandler.getNetworkPath()#"" And iniHandler.getURL()="") + cFilePath = Addbs(ShortPath(iniHandler.getNetworkPath())) + lcFisier + Else + If(iniHandler.getURL()#"" And iniHandler.getDefault()="URL") && Or iniHandler.getURL()#"" And iniHandler.getNetworkPath()="") + cFilePath =iniHandler.getURL() +"/"+ lcFisier + Else + Return .F. + Endif + Endif + + If(Bringfile(cFilePath,lcFisier,cLocalFile)=.F.) and !tlSilent + aMessagebox("A intervenit o eroare la copierea fisierului de actualizare! " + CHR(10) + ; + TRANSFORM(cFilePath) + CHR(10) + TRANSFORM(lcFisier) + CHR(10) + TRANSFORM(cLocalFile),16,"Actualizare") + Endif +Endfunc \ No newline at end of file diff --git a/programe/outile.prg b/programe/outile.prg new file mode 100644 index 0000000..558d4f0 --- /dev/null +++ b/programe/outile.prg @@ -0,0 +1,91 @@ +Define Class oUtile As Custom + + Procedure Init + Declare Integer GetShortPathName In Win32API; + STRING @lpszLongPath, String @lpszShortPath,; + INTEGER cchBuffer + Endproc + + Function ShortPath + Lparameter tcPath + Local lcPath, lcShortName, lnLength, lnResult + lcPath = tcPath + lcShortName = Space(260) + lnLength = Len(lcShortName) + lnResult = GetShortPathName(@lcPath, @lcShortName, lnLength) + If lnResult = 0 + Return "" + Endif + Return Left(lcShortName,lnResult) + Endfunc + + Function GetAppStartPath + Local lcPath + Do Case +*** VFP 6 provides ServerName property for COM servers EXE/DLL/MTDLL + Case Inlist(Application.StartMode,2,3,5) + lcPath = Justpath(Application.ServerName) +*!* *** Interactive +*!* CASE (Application.StartMode) = 0 +*!* lcPath = SYS(5) + CURDIR() +*** Active Document + Case Atc(".APP",Sys(16,0)) > 0 + lcPath = Justpath(Sys(16,0)) +*** Standalone EXE or VFP Development + Otherwise + lcPath = Justpath(Sys(16,0)) + If Atc("PROCEDURE",lcPath) > 0 + lcPath = Substr(lcPath,Rat(":",lcPath)-1) + Endif + Endcase + Return Addbs(lcPath) + Endfunc + + Procedure lista2array + Lparameters tcLISTA,taArray,tcSeparator +&& tcLista este un sir de caractere care contine elementele separate prin <;> default +&& tarray este vectorul care se completeaza - trebuie dat prin referinta +&& tcSeparator separatorul de elemente din tcLista - default este ";" - este optional +&& intoarce numarul de elemente gasite +&& ex: lnNr = lista2array("ana;are;mere",@alista,";") + External Array taArray + Local Lclista,lcSeparator,lnNRF,lcF1,i + lnNRF = 0 + Lclista=Allt(tcLISTA) + If Parameters()<3 Or Empty(tcSeparator) + lcSeparator=";" + Else + lcSeparator=Alltrim(tcSeparator) + Endif + + If Right(Lclista,1)!=lcSeparator + Lclista=Lclista+lcSeparator + Endif + + lnNRF=Occurs(lcSeparator,Lclista) + + If lnNRF>0 + Dimension taArray[lnNrf,1] + + For i=1 To lnNRF + lcF1=Left(Lclista,At(lcSeparator,Lclista)-1) + + If i!=lnNRF + Lclista=Substr(Lclista,At(lcSeparator,Lclista)+1) + Endif + + taArray[i]=lcF1 + Endfor + Else + lnNRF = 0 + Endif + + Return lnNRF + + Endproc && lista2array + + Procedure decripteazaParola + + Endproc + +Enddefine \ No newline at end of file diff --git a/programe/overificari.prg b/programe/overificari.prg new file mode 100644 index 0000000..3c533b0 --- /dev/null +++ b/programe/overificari.prg @@ -0,0 +1,363 @@ +************************************** +* Intoarce .T. daca luna are situatii contabile invalidate +************************************** +PROCEDURE VerificaInvalidat + LPARAMETERS tnAn, tnLuna + LOCAL llInvalidat, lnRec, llInvalidat, lcSql + PRIVATE pnRec + llInvalidat = .F. + + lcSql = [select count(*) as nr from tabele_validare where dinvalidat is not null] + IF !(EMPTY(m.tnAn) OR EMPTY(m.tnLuna)) + lcSql = lcSql + [ and an = ] + ALLTRIM(STR(m.tnAn)) + [ and luna = ] + ALLTRIM(STR(m.tnLuna)) + ENDIF + pnRec = 0 + llSucces = goExecutor.oSelecteaza2Value(m.lcSql, @pnRec) + IF m.llSucces + llInvalidat = (m.pnRec > 0) + ENDIF + RETURN m.llInvalidat +ENDPROC + + +*!* Arata situatii contabile invalidate in luna curenta +Procedure SituatiiInvalidate + + Private poSituatii + Local loSituatiiInvalide As 'frm_situatii_invalidate' + Local lcFiltru, lcFiltruOriginal, lcGroup, lcOrder, lcSelect, llAfiseaza, llModParam + poSituatii = null + + Text To lcSelect Noshow + select tabel, + situatie, + an, + luna, + cont, + id_gestiune, + cgest, + nume_gestiune, + dultima_operatie, + dultima_refacere, + dinvalidat, + id_util_invalidare, + util_invalidare, + explicatie, + tip_validare, + ctip_validare, + blocat, + id_util_validare, + util_validare, + dataora_validare + from vtabele_validare + Endtext + lcSchema = [] + lcOrder = [tabel, cont, cgest, an, luna] + lcGroup = [] + lcFiltru = [1=2] + lcFiltruOriginal = [] + llModParam = .T. + llAfiseaza = .F. + + gencursor('poSituatii', 'cSituatiiInvalidate', lcSelect, lcFiltru, lcSchema, lcOrder, llAfiseaza, lcGroup, llModParam, lcFiltruOriginal) + poSituatii.ca_baza1.afisare() + + If Used('cSituatiiInvalidate') + loSituatiiInvalide = Createobject('frm_situatii_invalidate') + loSituatiiInvalide.Show(1) + Endif + +Endproc && SituatiiInvalide + +Procedure verificareGlobala + Parameters tlArat, tlFaraPeriada + Private plArat, pcondper, plPerioada, plFaraPeriada + + Local lnPoz + Store .F. To plPerioada + + If Empty(tlArat) + Store .F. To plArat + Else + plArat = tlArat + Endif + + If Empty(tlFaraPeriada) + Store .F. To plFaraPeriada + Else + plFaraPeriada = tlFaraPeriada + Endif + + pcondper = "" + If !plFaraPeriada + ofrmperioada = Createobject('frm_perioada_luni') + ofrmperioada.Show(1) + + If gnButon = 2 + Return + Endif + + lnPoz = At('_', pcondper) + If lnPoz > 0 + plPerioada = .T. + Endif + Endif + + Private pcmesaj_refacere + Store "" To pcmesaj_refacere + If Used('crsverificari') + Use In crsverificari + Endif + Create Cursor crsverificari (sursa c(20), Cont c(20), tip c(1), mesaj c(200), selectat N(1), explicatia c(50), luna N(2), an N(4)) + + If !plArat + If plPerioada + lnInit = Val(Substr(pcondper, 1, 2)) + Val(Substr(pcondper, 3, 4)) * 12 + lnFinal = Val(Substr(pcondper, 8, 2)) + Val(Substr(pcondper, 10, 4)) * 12 + For k = lnInit To lnFinal + lnLuna = Mod(k, 12) + lnAn = Int(k / 12) + If lnLuna = 0 + lnLuna = 12 + lnAn = lnAn - 1 + Endif + Do VerificareLunaDeschisa With lnLuna, lnAn, .F. + Endfor + Select crsverificari + Set Filter To !Empty(mesaj) + Go Top + obj = Createobject('frm_verificare_globala_per') + obj.lb_titlu_alb_b121.Caption = "VERIFICARE GLOBALA PENTRU PERIOADA " + Substr(pcondper, 1, 2) + "/" + Substr(pcondper, 3, 4) + " - " + Substr(pcondper, 8, 2) + "/" + Substr(pcondper, 10, 4) + obj.ninit = lnInit + obj.nfinal = lnFinal + obj.Show(1) + Else + Do VerificareLunaDeschisa + If Empty(pcmesaj_refacere) + obj = Createobject('frm_verificare_globala') + obj.Show(1) + Endif + Endif + Else + Do VerificareLunaDeschisa + Select crsverificari + Replace All selectat With 1 + If Used('crsrefaceri') + Use In crsrefaceri + Endif + Select sursa, Cont, tip From crsverificari Where selectat = 1 Into Cursor crsrefaceri + If Reccount('crsrefaceri') > 0 + Local lcsursa, lccont, lctip + Select crsrefaceri + Scan + lcsursa = Upper(Alltrim(sursa)) + lccont = Alltrim(Cont) + * lctip=tip + lctip = '1' + Do refacere With lcsursa, lctip, lccont In orefaceri.prg + Select crsrefaceri + Endscan + + If Used('crsverificari') + Use In crsverificari + Endif + Create Cursor crsverificari (sursa c(20), Cont c(20), tip c(1), mesaj c(200), selectat N(1), explicatia c(50), luna N(2), an N(4)) + Do VerificareLunaDeschisa + Select crsverificari + Go Top + *!* MESSAGEBOX("Refacerea s-a incheiat!",0+64,"Info refacere") + Endif + + Use In crsrefaceri + Endif + + Use In crsverificari +Endproc +********************************************************************************************************************************** + +********************************************************************************************************************************** +Procedure VerificareLunaDeschisa + Lparameters tnLuna, tnAn, tlRefaceri, tlFaraTest, tlExtraCont + && tlRefaceri = .T. cu refaceri ; .F. fara refaceri + && tlTest = .T. face inainte_de + && llExtraCont = .T. : + STOC, STOC_OBINV + + Private pcmesaj, pctip + Local lnselectat, lcsursa, lccont, lnNrInreg, loTherm, lcTask, lnPercent, lcexplicatia, lnInregAct, lnLuna, lnAn, llRefaceri + Store "" To pcmesaj, pctip, lcsursa, lccont, loTherm, lcTask, lcexplicatia + Store 0 To lnselectat, lnNrInreg, lnPercent, lnInregAct + lnNrInreg = 6 + + If !Used('crsverificari') + Create Cursor crsverificari (sursa c(20), Cont c(20), tip c(1), mesaj c(200), selectat N(1), explicatia c(50), luna N(2), an N(4)) + Endif + + + If Empty(tnLuna) + lnLuna = gnLuna + Else + lnLuna = tnLuna + Endif + + If Empty(tnAn) + lnAn = gnAn + Else + lnAn = tnAn + Endif + + If Pcount() = 3 + llRefaceri = tlRefaceri + Else + llRefaceri = .T. + Endif + llCuTest = !tlFaraTest + + lcsursa = "BALANTA" + If llCuTest + Do inainte With lcsursa, '', "pcmesaj", "pctip", '', '', lnLuna, lnAn In oinainte_de.prg + Else + pcmesaj = "" + Endif + If !Empty(pcmesaj) And llRefaceri + pcmesaj_refacere = pcmesaj + Chr(10) + Chr(13) + Chr(10) + Chr(13) + "Doriti sa refaceti balanta?" + If Empty(plArat) Or !plArat + If aMessagebox(pcmesaj_refacere, 4 + 32, "Diferente la balanta") == 6 + aMessagebox("Se apeleaza refacerea", 64, "Info refacere") + lccont = "" + Do refacere With lcsursa, pctip, lccont, lnLuna, lnAn In orefaceri.prg + pcmesaj_refacere = "" + Do inainte With lcsursa, '', "pcmesaj", "pctip", '', '', lnLuna, lnAn In oinainte_de.prg + Else + *Return + pcmesaj_refacere = "" + Endif + Else + Do refacere With lcsursa, pctip, lnLuna, lnAn In orefaceri.prg + pcmesaj_refacere = "" + Do inainte With lcsursa, '', "pcmesaj", "pctip", '', '', lnLuna, lnAn In oinainte_de.prg + Endif + + Endif + + lnselectat = Iif(Empty(pcmesaj), 0, 1) + Insert Into crsverificari (sursa, tip, mesaj, selectat, explicatia, luna, an) Values (lcsursa, pctip, pcmesaj, lnselectat, 'Balanta', lnLuna, lnAn) + + lcSql = [select distinct 1 as nrcrt,cont from ] + Alltrim(gcS) + [.config_cont_ireg ] + lcSql = lcSql + [ union ] + lcSql = lcSql + [select distinct 2 as nrcrt,cont from ] + Alltrim(gcS) + [.config_Cont_ireg ] + ; + [where cu_Inregistrari = 1] + lcSql = lcSql + [ order by cont] + lcCursor = [crsConturi] + lnSucces = goExecutor.oExecute(lcSql, lcCursor) + If lnSucces < 0 + aMessagebox(goExecutor.cEroare, 0 + 16, "Eroare") + Endif + + If Used('crsconturi') + lnNrInreg = lnNrInreg + Reccount('crsconturi') + Endif + + loTherm = Newobject("_thermometer", "_therm", "", "Verificare globala " + Alltrim(Str(lnLuna)) + "/" + Alltrim(Str(lnAn)) + "...") + With loTherm + .Show() + lnPercent = 0 + + *!* modificare 2007 + If gnAn < 2007 + lcexplicatia = "Registrul de vanzari" + .Update(lnPercent, 'Verificare ' + lcexplicatia) + + lcCoresp = ['4111'] + lcExceptii = ['667,622'] + lcsursa = "VANZ" + If llCuTest + Do inainte With lcsursa, , "pcmesaj", "pctip", lcExceptii, lcCoresp, lnLuna, lnAn In oinainte_de.prg + Endif + lnselectat = Iif(Empty(pcmesaj), 0, 1) + Insert Into crsverificari (sursa, Cont, tip, mesaj, selectat, explicatia, luna, an) Values ('TVA', '4427', pctip, pcmesaj, lnselectat, lcexplicatia, lnLuna, lnAn) + + + lnPercent = (1 * 100) / lnNrInreg + lcexplicatia = 'Registrul de cumparari' + .Update(lnPercent, 'Verificare ' + lcexplicatia) + lcsursa = "CUMP" + If llCuTest + Do inainte With lcsursa, '', "pcmesaj", "pctip", '', '', lnLuna, lnAn In oinainte_de.prg + Endif + lnselectat = Iif(Empty(pcmesaj), 0, 1) + Insert Into crsverificari (sursa, Cont, tip, mesaj, selectat, explicatia, luna, an) Values ('TVA', '4426', pctip, pcmesaj, lnselectat, lcexplicatia, lnLuna, lnAn) + Else + + lcexplicatia = "Registrul de vanzari" + .Update(lnPercent, 'Verificare ' + lcexplicatia) + + lcCoresp = [] + lcExceptii = [] + lcsursa = "TVA_2007" + pcmesaj = "" + If llCuTest + Do inainte With "VANZ2007", , "pcmesaj", "pctip", lcExceptii, lcCoresp, lnLuna, lnAn In oinainte_de.prg + Endif + lnselectat = Iif(Empty(pcmesaj), 0, 1) + Insert Into crsverificari (sursa, Cont, tip, mesaj, selectat, explicatia, luna, an) Values (lcsursa, 'JV', pctip, pcmesaj, lnselectat, lcexplicatia, lnLuna, lnAn) + + + lnPercent = (1 * 100) / lnNrInreg + lcexplicatia = 'Registrul de cumparari' + pcmesaj = "" + .Update(lnPercent, 'Verificare ' + lcexplicatia) + lcsursa = "TVA_2007" + If llCuTest + Do inainte With "CUMP2007", '', "pcmesaj", "pctip", '', '', lnLuna, lnAn In oinainte_de.prg + Endif + lnselectat = Iif(Empty(pcmesaj), 0, 1) + Insert Into crsverificari (sursa, Cont, tip, mesaj, selectat, explicatia, luna, an) Values (lcsursa, 'JC', pctip, pcmesaj, lnselectat, lcexplicatia, lnLuna, lnAn) + + Endif + + + If Used('crsconturi') And Reccount('crsconturi') > 0 + lnInreg = 6 + Select crsconturi + Scan + lnnrcrt = nrcrt + lccont = Cont + Do Case + Case lnnrcrt = 1 + lnPercent = (lnInreg * 100) / lnNrInreg + lcexplicatia = 'Balanta analitica - cont ' + lccont + .Update(lnPercent, 'Verificare ' + lcexplicatia) + lcsursa = "BALANTA_PARTENERI" + pcmesaj = "" + If llCuTest + Do inainte With lcsursa, lccont, "pcmesaj", "pctip", '', '', lnLuna, lnAn In oinainte_de.prg + Endif + lnselectat = Iif(Empty(pcmesaj), 0, 1) + Insert Into crsverificari (sursa, Cont, tip, mesaj, selectat, explicatia, luna, an) Values (lcsursa, lccont, pctip, pcmesaj, lnselectat, lcexplicatia, lnLuna, lnAn) + lnInreg = lnInreg + 1 + + Case lnnrcrt = 2 + lnPercent = (lnInreg * 100) / lnNrInreg + lcexplicatia = 'Inregistrari - cont ' + lccont + .Update(lnPercent, 'Verificare ' + lcexplicatia) + lcsursa = "IREG_PARTENERI" + pcmesaj = "" + If llCuTest + Do inainte With lcsursa, lccont, "pcmesaj", "pctip", '', '', lnLuna, lnAn In oinainte_de.prg + Endif + lnselectat = Iif(Empty(pcmesaj), 0, 1) + Insert Into crsverificari (sursa, Cont, tip, mesaj, selectat, explicatia, luna, an) Values (lcsursa, lccont, pctip, pcmesaj, lnselectat, lcexplicatia, lnLuna, lnAn) + lnInreg = lnInreg + 1 + + Endcase + Endscan + If tlExtraCont + Insert Into crsverificari (sursa, Cont, tip, mesaj, selectat, explicatia, luna, an) Values ('STOC', '', '', '', 0, 'Stocuri', lnLuna, lnAn) + Insert Into crsverificari (sursa, Cont, tip, mesaj, selectat, explicatia, luna, an) Values ('STOC_OBINV', '', '', '', 0, 'Stocuri obiecte de inventar', lnLuna, lnAn) + Endif + Endif + .Complete() + Endwith + Release loTherm + +Endproc diff --git a/programe/pmenu.prg b/programe/pmenu.prg new file mode 100644 index 0000000..ec781e7 --- /dev/null +++ b/programe/pmenu.prg @@ -0,0 +1,1164 @@ +*!* 27.03.2009 +*!* Alex.lepadatu +*!* modificari pentru mutare xsets.... in baza de date + +*!* 14.04.2009 +*!* Alex.lepadatu +*!* dupa cererea de date din lans se apeleaza 'procedura_lans'; vezi setul 50505 + +*!* 29.05.2009 +*!* marius.mutu +*!* id_set: 10600 - 10603 - banca valuta/lei > incasare/plata facturi in valuta +*!* poAct.suma_22 (banca in valuta > incasare/plata > suma in valuta de incasare) +*!* daca apare itemul 81 (suma_22), nu mai pun in xrequest itemul 11 (suma_2) si nu mai exista poAct.suma_2, deci trebuie sa adaug proprietatea +*!* poAct.suma_22a = suma in valuta incasata si convertita in valuta facturii +*!* poAct.suma_32 = curs valutei in care se incaseaza + +*!* 18.02.2010 +*!* marius.mutu +*!* + lans_generic - suport pentru note X = Y + +*!* 14.01.2015 +*!* marius.mutu +*!* LANS: se transmite poActAnterior, daca se alege continuarea cu aceeasi operatie. Se completeaza automat valorile din operatia precedenta. +*!* doar pentru contabilitate. +*!* La gestiune nu se copiaza numarul facturii si partenerul + +*!* 16.01.2015 +*!* marius.mutu +*!* LANS: se poate opta cu DA continuare operatie cu copiere date / NU continuare operatie fara copiere date / Renuntare +*!* nu se mai sare peste numar act, dataact, suma valuta + +*!* 04.03.2015 +*!* marius.mutu +*!* LANS: Completare informatii din documentul anterior +*!* Nu mai copiez partenerul, in afara de banca/casa (ex: 5311 = 4111, se retine doar casa, nu si clientul) +*!* Nu mai completez nract (nu se mai genera un numar nou la tipurilede documente cu serii, ex. chitante,facturi) + +*!* 04.01.2015 +*!* marius.mutu +*!* lans - oxset.id_jtax pentru documentele din 2015 introduse in 2016 - nu mai afisau explicatia de TVA initiala cu 24% + +*!* 06.01.2015 +*!* marius.mutu +*!* introducere_compacta +*!* In 2015 lucrez cu TVA 24%. Transform TVA din 20% in 24% + +*!* 18.08.2017 +*!* marius.mutu +*!* lans - corectie NIR/BON + +*!* 22.08.2025 +*!* marius.mutu +* introducere_compacta +* Am introdus Calendar.impozit_profit +* ID_SET = 10609 Platitorii impozit venit, pentru limitare deducere 50% nu le trebuie 2 note CHELTUIELI DEDUCTIBILE si NEDEDUCTIBILE + +*-------------------------------------------- +Function deschide_menu + Parameters tabela, cc1, cc2, mnrtata, stinga, sus, ONT + + Public nt, no, m + nt = Alltrim(tabela) + '_' + Alltrim(Str(mnrtata)) + + If Upper(Left(tabela, 6)) = '_MENU1' + no = 'o' + nt + zz = 'SELECT ' + cc1 + ' AS C1, ' + cc2 + ' AS C2,nrnod,PROCEDURA,TATAFIU,ID_SET,LISTA_NOTE FROM ' + ; + tabela + ' WHERE NRTATA=' + Alltrim(Str(mnrtata)) + ' INTO CURSOR ' + nt + Else + no = 'o_' + nt + zz = 'SELECT ' + cc1 + ' AS C1, ' + cc2 + ' AS C2,nrnod,PROCEDURA,TATAFIU,ID_SET FROM ' + ; + tabela + ' WHERE NRTATA=' + Alltrim(Str(mnrtata)) + ' INTO CURSOR ' + nt + Endif + &zz + m = 0 + + Select &nt + Scan + mm = Len(Alltrim(c1)) + m = Iif(m > mm, m, mm) + Endscan + + ta = _Tally + If ta = 0 + Return '0' + Endif + + If Type("&no")!= 'O' + Public &no + zz = no + '=crea("menuclasic")' + &zz + + With &no + wm = m * 7 + .NUME = no + .ONUMETATA = ONT + .Left = stinga + .Top = sus + .tabela = tabela + .camp1 = cc1 + .camp2 = cc2 + .sursa = nt + .Width = wm + 2 * .margine + .NRFII = ta + .rh = .container1.cwm1.Height + .Height = (.rh + 1) * .NRFII + 2 * .margine + 2 + *.show() + Endwith + Endif + + Release nt, m + Return no + + + + *------------------------------------------------------------------------------------------ +Procedure deschide_menuuri + *!* If !Used('menu1') + *!* Use &DIRGEN\CONTAB\Date\menu1 In 0 Alias menu1 Order Tag 'nrnod' + *!* Endif + *!* If !Used('menu2') + *!* Use &DIRGEN\CONTAB\Date\menu2 In 0 Alias menu2 Order Tag 'nrnod' + *!* Endif + *!* If !Used('menu3') + *!* Use &DIRGEN\CONTAB\Date\menu3 In 0 Alias menu3 Order Tag 'nrnod' + *!* Endif + *!* If !Used('menu4') + *!* Use &DIRGEN\CONTAB\Date\menu4 In 0 Alias menu4 Order Tag 'nrnod' + *!* Endif + + *!* If PRIMADATA + *!* Do CE_WINDOWS + *!* omenuvertical=Crea('menuvertical') + *!* omenuvertical.Show() + *!* Endif + *deschide_menu(tabela, cc1,cc2,mnrtata,stinga,sus,ONT + Return + + + + + *-------------------------------------- +Procedure CE_WINDOWS + Local vermajor, verminor + Public TIP_MENU, COL_MENU, cewin + Store '' To cewin + Store 0 To vermajor, verminor, TIP_MENU + + vermajor = Val(Os(3)) + verminor = Val(Os(4)) + Do Case + Case vermajor < 4 + cewin = '95' + Case vermajor = 4 + cewin = '98' + Case vermajor >= 5 + Do Case + Case verminor = 0 + cewin = '2000' + Case verminor = 1 + cewin = 'XP' + Otherwise + cewin = 'MAINOU' + Endcase + Endcase + + + *IF INLIST(CEWIN,'95','98','2000') + TIP_MENU = 0&&'RAISED' + *ELSE + *TIP_MENU=2&&'FLAT' + *ENDIF + + *!* Do Case + *!* Case Inlist(cewin,'95','98') + *!* COL_MENU=Rgb(192,192,192)&&GRI + *!* Case cewin='2000' + *!* COL_MENU=Rgb(212,208,200)&&NISIP GRI + *!* Case cewin='XP' + *!* COL_MENU=Rgb(236,233,216)&&NISIP BEJ + *!* Otherwise + COL_MENU = Rgb(255, 255, 255)&&ALB + *!* Endcase + + + Return + + + *!* 18.02.2010 + *** LANSEAZA LANS CU UN ID_SET SI CONTURILE X (CN), Y (CNY) +Procedure lans_generic + Lparameters tnIds, tcContX, tcAcontX, tcContY, tcAcontY + *!* X = Y + *!* 4426 = Y + Private pcACN, CNY, pcACNY + pcACN = "" + CNY = "" + pcACNY = "" + + If Type('tcContX') = 'C' And !Empty(tcContX) + *** CN E VARIABILA GLOBALA IN PROGRAMUL PRINCIPAL + CN = tcContX + Endif + + If Type('tcAcontX') = 'C' And !Empty(tcAcontX) + pcACN = tcAcontX + Endif + + If Type('tcContY') = 'C' And !Empty(tcContY) + CNY = tcContY + Endif + + If Type('tcaContY') = 'C' And !Empty(tcAcontY) + pcACNY = tcContY + Endif + + lans(tnIds) + +Endproc +*!* 18.02.2010 ^ + +*-------------------------------------------------------- +Function lans + Lparameters IDS, tlContinua, tlVerificaAcont, taValori, tnDeducere, poActAnterior + *!* modificare v 2.2.20 : tnDeducere + + * poActAnterior: obiectul poAct completat la un LANS din operatia anterioara. Este completat daca se doreste acelasi tip de operatie + * parametrul poActAnterior poate sa aiba si valorile: "corectie,1234" = modificare NIR/BON din ROAGEST, codul 1234 + + Local lcACT, lcForm, lcMesaj, lcNOM_CONTRACTE, lcNOM_FDOC, lcNOM_GESTIUNI, lcNOM_LUCRARI + Local lcNOM_PARTENERI, lcNOM_RESPONSABILI, lcNOM_SECTII, lcNOM_SUCURSALE, lcNOM_VALUTE + Local lcNOM_VENIT_CHELTUIELI, lcProcedura, lcSql, lcTip, lcUTILIZATORI, lcValoareDefault + Local lcVariabila, llAfiseaza, llContinua, llCreareGeneratorNumere, llEnabled, llLunaInchisa + Local llSucces, llTabStop, llVerificaAcont, lnIndexVariabile, lnLengthVariabile, lnNumarParametri + Local lnRandVariabila, lnRaspuns, lnSucces + Local lcProprietateAnt, lcValoareAnt, lnProprietate, lnProprietati, llCorectie, lnCod + *:Global pcSirFacturi, taActAnterior[1] + *:Global ID_SET, OXSET, buton, i, oitem, pcSelect, poAct + Store .T. To llContinua, llVerificaAcont + llCorectie = .F. + lnCod = 0 + IF TYPE('poActAnterior') = 'O' + llCorectie = IIF(PEMSTATUS(poActAnterior, 'lCorectie', 5), poActAnterior.lCorectie, .F.) + lnCod = IIF(m.llCorectie, poActAnterior.nCod, 0) + ENDIF + + lnRaspuns = 6 + *!* MODIFICAT 03.11.2005 + *!* MARIUS.MUTU + + llLunaInchisa = is_luna_blocata(gcS, gnId_Prg_Owner, gnAn, gnLuna) + If llLunaInchisa + aMESSAGEBOX("Aceasta luna este închisa!", 0 + 48, "Luna închisa") + Return 2 + Endif + lnNumarParametri = Pcount() && modificare v 2.2.20 + + Do Case + Case lnNumarParametri = 2 + llContinua = tlContinua + Case lnNumarParametri >= 3 + llContinua = tlContinua + llVerificaAcont = tlVerificaAcont + Endcase + + * gcS = variabila globala care imi tine minte schema (diferita in functie de firma) + lcNOM_FDOC = gcS + '.NOM_FDOC' + lcNOM_SUCURSALE = gcS + 'NOM_SUCURSALE' + lcNOM_PARTENERI = gcS + '.NOM_PARTENERI' + lcNOM_VENIT_CHELTUIELI = gcS + '.NOM_VENIT_CHELTUIELI' + lcNOM_RESPONSABILI = gcS + '.VNOM_RESPONSABILI' + lcUTILIZATORI = 'syn_UTILIZATORI' + lcNOM_SECTII = gcS + '.NOM_SECTII' + lcNOM_SUCURSALE = gcS + '.NOM_SUCURSALE' + lcNOM_LUCRARI = gcS + '.NOM_LUCRARI' + lcNOM_GESTIUNI = gcS + '.NOM_GESTIUNI' + lcNOM_VALUTE = gcS + '.NOM_VALUTE' + lcACT = gcS + '.ACT' + lcNOM_CONTRACTE = gcS + '.VCONTRACTE' + + If gnAn >= Iif(Type('gnAnFormNou') = 'U', 2007, gnAnFormNou) + pcSelect = ["SELECT A.SERIE_ACT,A.ID_ACT,A.LUNA,A.AN,A.COD, A.DATAIREG as datairegt,A.NRACT,] + ; + [A.DATAACT as dataactt,A.suma, A.EXPLICATIA,A.SCD,A.ASCD,A.SCC,A.ASCC, A.PERECHED,A.PERECHEC,"+] + ; + ["A.SUMA_VAL,A.EXPLICATIA4,A.EXPLICATIA5,A.CURS,A.DATASCAD as datascadt,A.NEIMPOZAB,A.NNIR,] + ; + [A.ID_UTIL,UTIL2.UTILIZATOR AS UTIL,A.DATAORA,A.ID_UTILS,UTIL1.UTILIZATOR AS UTILS,A.DATAORAS,"+] + ; + ['A.ID_RESPONSABIL,RESP.NUME AS NRESP,A.ID_VENCHELT,VENCHELT.EXPLICATIE AS DST_CHLT,A.ID_LUCRARE,] + ; + [LUCR.NRORD,A.ID_CTR,CTR.CONTRACT,A.ID_SECTIE,SECTII.SECTIE,A.PROC_TVA,A.ID_SET,A.ID_FACT,] + ; + [ A.ID_FACTD, A.ID_FACTC,'+] + ; + ['A.ID_PARTD,PART1.NUME AS PARTD,A.ID_PARTC,PART.NUME AS PARTC,A.ID_SUCURSALA,S.SUCURSALA,A.ID_FDOC,FDOC.FEL_DOCUMENT AS FDOC, ' +] + ; + ["A.ID_GESTIN,A.ID_JTVA_COLOANA,G1.NUME_GESTIUNE AS GESTIN,A.ID_GESTOUT,G2.NUME_GESTIUNE AS GESTOUT,A.ID_VALUTA,V.NUME_VAL," + ] + ; + ["0000000000 as id_pol, lpad(' ',30,' ') as nume_lista_preturi,0 as tva_incasare, "+] + ; + ["cast(0 as Number(20)) as id_instiintare, cast(0 as Number(14)) as numar_instiintare, CAST(null as number(6)) as taxcode, CAST(null as varchar2(9)) as paymentcode, "+] + ; + ["cast(null as varchar2(250)) as taxname, cast(null as varchar2(250)) as paymentname, cast(null as varchar2(250)) as explicatie_tva "+] + ; + ['FROM &lcACT A '+] + ; + ['LEFT JOIN &lcNOM_FDOC FDOC ON A.ID_FDOC=FDOC.ID_FDOC '+] + ; + ['LEFT JOIN &lcNOM_SUCURSALE S ON A.ID_SUCURSALA = S.ID_SUCURSALA '+] + ; + ['LEFT JOIN &lcNOM_PARTENERI PART ON A.ID_PARTC=PART.ID_PART '+] + ; + ['LEFT JOIN &lcNOM_PARTENERI PART1 ON A.ID_PARTD=PART1.ID_PART '+] + ; + ['LEFT JOIN &lcNOM_VENIT_CHELTUIELI VENCHELT ON A.ID_VENCHELT=VENCHELT.ID_VENCHELT '+] + ; + ['LEFT JOIN &lcNOM_RESPONSABILI RESP ON A.ID_RESPONSABIL=RESP.ID_RESPONSABIL '+] + ; + ['LEFT JOIN &lcUTILIZATORI UTIL1 ON A.ID_UTILS=UTIL1.ID_UTIL '+] + ; + ['LEFT JOIN &lcUTILIZATORI UTIL2 ON A.ID_UTIL=UTIL2.ID_UTIL '+] + ; + ['LEFT JOIN &lcNOM_LUCRARI LUCR ON A.ID_LUCRARE=LUCR.ID_LUCRARE '+] + ; + ['LEFT JOIN &lcNOM_CONTRACTE CTR ON A.ID_CTR=CTR.ID_CTR '+] + ; + ['LEFT JOIN &lcNOM_GESTIUNI G1 ON A.ID_GESTIN=G1.ID_GESTIUNE '+] + ; + ['LEFT JOIN &lcNOM_GESTIUNI G2 ON A.ID_GESTOUT=G2.ID_GESTIUNE '+] + ; + ['LEFT JOIN &lcNOM_VALUTE V ON A.ID_VALUTA=V.ID_VALUTA '+] + ; + ['LEFT JOIN &lcNOM_SECTII SECTII ON A.ID_SECTIE=SECTII.ID_SECTIE where 1=2'] + Else + pcSelect = ["SELECT A.SERIE_ACT,A.ID_ACT,A.LUNA,A.AN,A.COD, A.DATAIREG as datairegt,A.NRACT, ] + ; + [A.DATAACT as dataactt,A.suma, A.EXPLICATIA,A.SCD,A.ASCD,A.SCC,A.ASCC, A.PERECHED,A.PERECHEC,"+] + ; + ["A.SUMA_VAL,A.EXPLICATIA4,A.EXPLICATIA5,A.CURS,A.DATASCAD as datascadt,A.NEIMPOZAB,A.NNIR,] + ; + [A.ID_UTIL,UTIL2.UTILIZATOR AS UTIL,A.DATAORA,A.ID_UTILS,UTIL1.UTILIZATOR AS UTILS,A.DATAORAS,"+] + ; + ['A.ID_RESPONSABIL,RESP.NUME AS NRESP,A.ID_VENCHELT,VENCHELT.EXPLICATIE AS DST_CHLT,A.ID_LUCRARE,] + ; + [LUCR.NRORD,A.ID_CTR,CTR.CONTRACT,A.ID_SECTIE,SECTII.SECTIE,A.PROC_TVA,A.ID_SET,A.ID_FACT, A.ID_FACTD, A.ID_FACTC,'+] + ; + ['A.ID_PARTD,PART1.NUME AS PARTD,A.ID_PARTC,PART.NUME AS PARTC,A.ID_SUCURSALA,S.SUCURSALA, ] + ; + [A.ID_FDOC,FDOC.FEL_DOCUMENT AS FDOC, ' +] + ; + ["A.ID_GESTIN,G1.NUME_GESTIUNE AS GESTIN,A.ID_GESTOUT,G2.NUME_GESTIUNE AS GESTOUT,A.ID_VALUTA,V.NUME_VAL," +] + ; + ["0000000000 as id_pol, lpad(' ',30,' ') as nume_lista_preturi,0 as tva_incasare, "+] + ; + ["cast(0 as Number(20)) as id_instiintare, cast(0 as Number(14)) as nr_instiintare, CAST(null as number(6)) as taxcode, CAST(null as varchar2(9)) as paymentcode, "+] + ; + ["cast(null as varchar2(250)) as taxname, cast(null as varchar2(250)) as paymentname, cast(null as varchar2(250)) as explicatie_tva "+] + ; + ['FROM &lcACT A '+] + ; + ['LEFT JOIN &lcNOM_FDOC FDOC ON A.ID_FDOC=FDOC.ID_FDOC '+] + ; + ['LEFT JOIN &lcNOM_SUCURSALE S ON A.ID_SUCURSALA = S.ID_SUCURSALA '+] + ; + ['LEFT JOIN &lcNOM_PARTENERI PART ON A.ID_PARTC=PART.ID_PART '+] + ; + ['LEFT JOIN &lcNOM_PARTENERI PART1 ON A.ID_PARTD=PART1.ID_PART '+] + ; + ['LEFT JOIN &lcNOM_VENIT_CHELTUIELI VENCHELT ON A.ID_VENCHELT=VENCHELT.ID_VENCHELT '+] + ; + ['LEFT JOIN &lcNOM_RESPONSABILI RESP ON A.ID_RESPONSABIL=RESP.ID_RESPONSABIL '+] + ; + ['LEFT JOIN &lcUTILIZATORI UTIL1 ON A.ID_UTILS=UTIL1.ID_UTIL '+] + ; + ['LEFT JOIN &lcUTILIZATORI UTIL2 ON A.ID_UTIL=UTIL2.ID_UTIL '+] + ; + ['LEFT JOIN &lcNOM_LUCRARI LUCR ON A.ID_LUCRARE=LUCR.ID_LUCRARE '+] + ; + ['LEFT JOIN &lcNOM_CONTRACTE CTR ON A.ID_CTR=CTR.ID_CTR '+] + ; + ['LEFT JOIN &lcNOM_GESTIUNI G1 ON A.ID_GESTIN=G1.ID_GESTIUNE '+] + ; + ['LEFT JOIN &lcNOM_GESTIUNI G2 ON A.ID_GESTOUT=G2.ID_GESTIUNE '+] + ; + ['LEFT JOIN &lcNOM_VALUTE V ON A.ID_VALUTA=V.ID_VALUTA '+] + ; + ['LEFT JOIN &lcNOM_SECTII SECTII ON A.ID_SECTIE=SECTII.ID_SECTIE where 1=2'] + Endif + *!* modificare serii numere - 10.2007 + llCreareGeneratorNumere = .F. + If Type('poGeneratorNumere') = 'U' + Private poGeneratorNumere + poGeneratorNumere = Createobject('oGeneratorNumere') + llCreareGeneratorNumere = .T. + Endif + *!* modificare serii numere - 10.2007 ^ + + Private podateintrod + Store '' To podateintrod + llAfiseaza = .F. + lnSucces = gencursor('podateintrod', 'crsact', pcSelect, [1=2], [''], '', llAfiseaza) + podateintrod.ca_baza1.afisare() + + If Used('actactan') + Use In actactan + Endif + + Select 0000 As nr_nota, c.*, c.SUMA As TOTFTVA, c.SUMA As TOTTVA, Ttod(c.dataactt) As dataact, ; + Ttod(c.datairegt) As dataireg, Ttod(c.datascadt) As datascad, 0 As POZITIE_1, 0 As POZITIE_2 ; + From crsact c Into Cursor actactan Readwrite + + Use In crsact + Release podateintrod + + Select actactan + Scatter Name poAct + *!* 29.05.2009 + *!* marius.mutu + *!* poAct.suma_22 (banca in valuta > incasare/plata > suma in valuta de incasare) + *!* daca apare itemul 81 (suma_22), nu mai pun in xrequest itemul 11 (suma_2) si nu mai exista poAct.suma_2, deci trebuie sa adaug proprietatea + *!* poAct.suma_22a = suma in valuta incasata si convertita in valuta facturii + *!* poAct.suma_32 = cursul valutei in care se incaseaza + AddProperty(poAct, "suma_2", 0.0000) + AddProperty(poAct, "suma_22", 0.0000) + AddProperty(poAct, "suma_22a", 0.0000) + AddProperty(poAct, "suma_32", 0.0000) + AddProperty(poAct, "nume_val2", "") + AddProperty(poAct, "id_valuta2", Cast(0 As I)) + AddProperty(poAct, "deducere", 0) && modificare v 2.2.20 + AddProperty(poAct, "id_gestiune", 0) + AddProperty(poAct, "cgest", "") + AddProperty(poAct, "nume_gestiune", "") + AddProperty(poAct, "nume_val3", "") + AddProperty(poAct, "id_valuta3", Cast(0 As I)) + + m.ID_SET = IDS + poAct.ID_SET = IDS + + Select XSETS + Seek IDS && trebuie sa raman pozitionat in xsets pe setul curent pentru ca ma bazez in alte proceduri pe setul curent + If Found() + Scatter Name OXSET + *!* modificare JC/JV 2007 + If gnNeplatitoare_tva = 1 + OXSET.id_jtax = OXSET.id_jtaxn + OXSET.id_jnetax = OXSET.id_jtaxn + ELSE + + DO CASE + CASE BETWEEN(m.gnAn*12+m.gnLuna, 2016*12+1, 2025*12+7) + * 08/2025: 19 > 21 + DO case + CASE oxset.id_jtax = 208 + oxset.id_jtax = 105 + CASE oxset.id_jtax = 216 + oxset.id_jtax = 141 + CASE oxset.id_jtax = 220 + oxset.id_jtax = 118 + CASE oxset.id_jtax = 35 + oxset.id_jtax = 1 + ENDCASE + + CASE gnAn <= 2015 + * achizitiile si livrarile pe 2015 trebuie sa propuna TVA 24%. + * In xsets s-a modificat 20% de la 01.01.2016 + + DO case + CASE oxset.id_jtax = 176 + oxset.id_jtax = 156 + CASE oxset.id_jtax = 186 + oxset.id_jtax = 162 + CASE oxset.id_jtax = 180 + oxset.id_jtax = 158 + CASE oxset.id_jtax = 27 + oxset.id_jtax = 15 + ENDCASE + ENDCASE + ENDIF + Else + Scatter Name OXSET Blank + Endif + + + *!* modificare JC/JV 2007 ^ + If gnAn >= Iif(Type('gnAnFormNou') = 'U', 2007, gnAnFormNou) + If Inlist(OXSET.ID_SET, 208, 209, 220, 221) && achizitie import/intern cu recalculare pret achizitie din ROAGEST + Do update_jtva_coloane With (OXSET.tipjurnal), [], 1 + Else + Do update_jtva_coloane With (OXSET.tipjurnal) + Endif + lcForm = [actbaza2007] + Else + Do update_cote_TVA + lcForm = [actbaza] + Endif + + *!* modificare JC/JV 2007 ^ + oitem = Createobject(lcForm) + oitem.ID_SET = IDS + oitem.formgest = OXSET.formgest + oitem.lVerificaAcont = llVerificaAcont + oitem.pcobj = 'poAct' + IF TYPE('oitem.lCorectie') = 'L' + oitem.lCorectie = m.llCorectie && daca este corectie de NIR/BON din ROAGEST + oitem.nCod = m.lnCod && codul operatiei la care se face corectie, pentru a o putea-o sterge + ENDIF + + lnIndexVariabile = 0 + If Pcount() >= 4 And Type('taValori', 1) = 'A' + External Array taValori + With oitem + For I = 1 To Alen(taValori, 1) + .variabile[i, 1] = Upper(taValori[i, 1]) && numele variabilei : poAct.* sau poAct.id_v* + && (ptr. campurile care ar fi trebuit completate din nomenclatoare) + && exemplu: poAct.nume sau poAct.id_vnume + .variabile[i, 2] = taValori[i, 2] && valoarea variabilei + .variabile[i, 3] = taValori[i, 3] && .T. => tabstop = .F. + .variabile[i, 4] = Iif(Type("taValori[i,4]") = "L", taValori[i, 4], .F.) && .T. => enabled = .F. + lnIndexVariabile = I + Endfor + Endwith + + Endif && pcount + + *** VALORI DEFAULT XITEMS (ID_FDOC...) + Text To lcSql Noshow Textmerge + select r.valoare_default, + r.id_item, + i.camp_lista, + i.id_fisier, + CASE + WHEN i.id_fisier is not null then + pack_util.GetText(i.fis_lista, + i.id_fisier, + to_number(r.valoare_default), + replace(i.camp_lista, ',', ' || '' '' || ')) + ELSE + r.valoare_default + end as valoare_default_text, + i.var_item + from xrequest r join xitems i on i.id_item = r.id_item + where r.id_set = <> and r.valoare_default is not null + Endtext + + llSucces = goExecutor.oExecuta(lcSql, [crsRequest]) + + If m.llSucces + *** VALORI DEFAULT XNOTE (ID_PART...) + Text To m.lcSql Noshow Textmerge + select n.cont, n.id_part, n.id_set, p.nume, n.tip + from (select n1.xscd as cont, + n1.id_partd as id_part, + n1.id_set, + 'D' as tip + from xnote n1 + where nvl(n1.id_partd, 0) <> 0 + and n1.id_set = <> + union + select n2.xscc as cont, + n2.id_partc as id_part, + n2.id_set, + 'C' as tip + from xnote n2 + where nvl(n2.id_partc, 0) <> 0 + and n2.id_set = <>) n + join nom_parteneri p + on n.id_part = p.id_part + Endtext + + llSucces = goExecutor.oExecuta(lcSql, [crsNumePartener]) + Endif + + If !Used('crsNumePartener') + Create Cursor crsNumePartener (Cont c(4), id_part I, ID_SET I, NUME c(100), tip c(1)) + Endif + + If !Used('crsRequest') + Create Cursor crsRequest(valoare_default c(100), id_item I, camp_lista c(100), id_fisier c(100), valoare_default_text c(100), var_item c(100)) + ENDIF + + * Completare valori din documentul anterior + Create Cursor crsActAnterior (variabila c(100), valoare c(250), ltabstop L, lenabled L) + If Type('poActAnterior') = 'O' + lnProprietati = Amembers(taActAnterior, poActAnterior) + For lnProprietate = 1 To lnProprietati + lcProprietateAnt = Upper(taActAnterior[lnProprietate]) + + llLoop = !(lcProprietateAnt + ',' $ [FDOC,ID_FDOC,DATAIREG,DATAACT,DATASCAD,SERIE_ACT,DST_CHLT,ID_VENCHELT,NRESP,ID_RESPONSABIL,] + ; + [NRORD,ID_LUCRARE,SECTIE,ID_SECTIE,CONTRACT,ID_CONTRACT,NUME_VAL,ID_VALUTA,NUME_VAL2,ID_VALUTA2,NUME_LISTA_PRETURI,ID_POL,] + ; + [SUMA_3,SUMA_32,] Or Left(m.lcProprietateAnt, 1) = 'V' Or Left(m.lcProprietateAnt, 5) = 'ID_VV') + + IF !m.llLoop + * Nu copiez partenerul, in afara de banca/casa (ex: 5311 = 4111, se retine doar casa, nu si clientul) + llLoop = (Left(m.lcProprietateAnt, 1) = 'V' Or Left(m.lcProprietateAnt, 5) = 'ID_VV') AND !(Left(m.lcProprietateAnt, 2) = 'V5' Or Left(m.lcProprietateAnt, 6) = 'ID_VV5') + ENDIF + IF !m.llLoop + * La gestiune nu se copiaza numarul facturii si partenerul + llLoop = Type('gcNumeProgram') = 'C' And m.gcNumeProgram = 'ROAGEST' And (lcProprietateAnt + ',' $ [NRACT,SERIE_ACT,] Or Left(m.lcProprietateAnt, 1) = 'V' Or Left(m.lcProprietateAnt, 5) = 'ID_VV') + ENDIF + + * Copiez toate proprietatile daca este corectie de NIR/Bon + llLoop = m.llLoop and !m.llCorectie + IF m.llLoop + LOOP + ENDIF + + lcValoareAnt = Transform(Evaluate('poActAnterior.' + m.lcProprietateAnt)) + llTabStop = !lcProprietateAnt + ',' $ [DATAIREG,DATAACT,DATASCAD,NRACT,SERIE_ACT,SUMA_3,SUMA_32,] && sa nu fie tabstop = .t. la nract,... + llEnabled = .F. + Insert Into crsActAnterior (variabila, valoare, ltabstop, lenabled) Values ('poAct.' + m.lcProprietateAnt, m.lcValoareAnt, m.llTabStop, m.llEnabled) + Endfor + Endif + + Create Cursor crsValori (variabila c(100), valoare c(250), ltabstop L, lenabled L) + + Insert Into crsValori (variabila, valoare, ltabstop, lenabled) ; + Select "poact." + Upper(Alltrim(Nvl(crsRequest.id_fisier, []))) As variabila, ; + Allt(Nvl(crsRequest.valoare_default, [])) As valoare, ; + .T. As ltabstop, ; + .F. As lenabled ; + From crsRequest ; + Where !Empty(Nvl(crsRequest.id_fisier, [])) ; + Union All ; + Select "poAct." + Allt(Nvl(crsRequest.var_item, [])) As variabila, ; + Alltrim(Nvl(crsRequest.valoare_default_text, [])) As valoare, ; + .T. As ltabstop, ; + .F. As lenabled ; + From crsRequest ; + Union All ; + Select "poact.id_vv" + Alltrim(Nvl(crsNumePartener.Cont, [])) + Iif(Inlist(Left(Cont, 2), '51', '53'), Iif(tip = 'D', '0', '1'), '') As variabila, ; + Alltrim(Str(Nvl(crsNumePartener.id_part, 0))) As valoare, ; + .T. As ltabstop, ; + .F. As lenabled ; + From crsNumePartener ; + Union All ; + Select "poact.v" + Alltrim(crsNumePartener.Cont) + Iif(Inlist(Left(Cont, 2), '51', '53'), Iif(tip = 'D', '0', '1'), '') As variabila, ; + Alltrim(Nvl(crsNumePartener.NUME, [])) As valoare, ; + .T. As ltabstop, ; + .F. As lenabled ; + From crsNumePartener ; + Union All ; + Select variabila, valoare, ltabstop, lenabled ; + From crsActAnterior + + Use In (Select('crsActAnterior')) + + lnLengthVariabile = Alen(oitem.variabile, 1) + Select crsValori + Scan + lcVariabila = Alltrim(variabila) + lcValoareDefault = Alltrim(valoare) + llTabStop = ltabstop + llEnabled = lenabled + *** caut randul pe care se gaseste poact.id_fdoc Case Insensitive; Return row number; Exact ON + *** daca nu il gasesc il adaug in array + lnRandVariabila = Ascan(oitem.variabile, m.lcVariabila, 1, m.lnLengthVariabile, 1, 15) + If m.lnRandVariabila = 0 + lnIndexVariabile = m.lnIndexVariabile + 1 + oitem.variabile(m.lnIndexVariabile, 1) = m.lcVariabila + oitem.variabile(m.lnIndexVariabile, 2) = m.lcValoareDefault + oitem.variabile(m.lnIndexVariabile, 3) = m.llTabStop + oitem.variabile(m.lnIndexVariabile, 4) = m.llEnabled + Endif + Endscan + + Use In (Select('crsValori')) + + oitem.Show(1) + *!* adaugat 14.04.2009 + *!* modificare v 2.2.20 + If lnNumarParametri >= 5 And Type('tnDeducere') = 'N' + tnDeducere = poAct.deducere + Endif + *!* modificare v 2.2.20 ^ + + *!* alex.lepadatu + Release oitem + If pl_verificat + lcProcedura = Alltrim(Nvl(OXSET.procedura_lans, "")) + If !Empty(lcProcedura) + Do &lcProcedura + Endif + + ENDIF + + *!* 14.04.2009 + If Type("OXSET.nu_sterg") = "N" + OXSET.nu_sterg = Iif(OXSET.nu_sterg = 1, .T., .F.) + Endif + If OXSET.nu_sterg = .F. And buton!= 2 And llContinua + lcTip = [Confirmare] + lcMesaj = [Doriti sa continuati cu operatii de acest fel?] + Chr(13) + Chr(10) + [DA=copiere date / NU=fara copiere date / Abandon] + lnRaspuns = aMESSAGEBOX(lcMesaj, 3 + 32, lcTip) + If Used('cote_tva') + Use In cote_tva + Endif + If Used('jtva_coloane') + Use In jtva_coloane + Endif + *!* modificare v 2.5.16 : ar trebui resetate toate variabilele initializate inainte de lans + If Type('pcSirFacturi') <> 'U' + Store [] To pcSirFacturi + Endif + *!* modificare v 2.5.16 ^ + *!* If buton=1 + If Inlist(lnRaspuns, 6, 7) && 6=DA=copiere date;7=NU=fara copiere date + If Type('poGeneratorNumere') <> 'U' + poGeneratorNumere.ResetAll() + Endif + If Type('taValori', 1) = 'A' + lans(m.IDS, m.llContinua, m.llVerificaAcont, @taValori) + Else + If lnRaspuns = 6 && DA cu copiere date + lans(m.IDS, m.llContinua, m.llVerificaAcont, .F., .F., m.poAct) + Else + lans(m.IDS, m.llContinua, m.llVerificaAcont) + Endif + Endif + Endif + Else + lnRaspuns = Iif(buton = 1, 6, 2) + Endif + Release OXSET + + If Inlist(lnRaspuns, 6, 7) && DA + buton = 1 + Else && NU + buton = 2 + Endif + + *!* modificare serii numere - 10.2007 + If llCreareGeneratorNumere + Release poGeneratorNumere + Endif + *!* modificare serii numere - 10.2007 ^ + Return buton + + + *---------------------------------------------- +Procedure introducere_compacta + Parameters tcFis, tcscd, tcscc, tl_calcTVA, tl_plata, tctitlu, tctva, tn_idset, tl_acont, tnDeducere, tlCursorCreat, tnTotcTVA + Local llVerificaAcont, llSucces, llN50, llN100, llNeexigibil, llCursorCreat + llCursorCreat = .F. + llVerificaAcont = .T. + + *!* tcfis = fisierul din calefirma (achi_mat.dbf) + *!* tcscd = simbol cont debitor + *!* tcscc = simbol cont creditor + *!* tl_calctva = daca se calculeaza TVA-ul per total + *!* tl_plata = daca se achita factura respectiva + *!* tctitlu = titlul formularului frm_introd_compact + *!* tctva = contul de TVA (daca tl_calctva=.t.) + *!* tn_idset = parametrul functiei lans() + *!* tl_acont = daca se verifica analiticele + *!* tnDeducere = 0/1 - daca se scriu notele pentru cheltuieli deductibile 50% + *!* tlCursorCreat (optional) = .T. daca cursorul cnote_contabile este creat anterior (Ex: import din eFactura) + *!* tnTotcTVA (optional) = Valoarea cu TVA import eFactura + + If Pcount() >= 9 + llVerificaAcont = tl_acont + ENDIF + + If Pcount() >= 11 + llCursorCreat = m.tlCursorCreat + ENDIF + + Select actactan + Locate + Scatter Name poAct + AddProperty(poAct, "deducere", Iif(Empty(tnDeducere), 0, tnDeducere)) && modificare v 2.2.20 + + If Used('introdc') + Use In introdc + ENDIF + + *!* modificare JC/JV 2007 + If gnAn >= Iif(Type('gnAnFormNou') = 'U', 2007, gnAnFormNou) + *!* modificare ROACONT v 2.4.0 + Select actactan + Calculate Max(tva_incasare) To lnTvaIncasare + *!* modificare ROACONT v 2.4.0 ^ + + IF !m.llCursorCreat + lcSql = [select id_note,explicatie,scd,ascd,scc,ascc,cu_tva,id_set,ordine,in_valuta,ptva,] + ; + Iif(lnTvaIncasare = 1, [nvl(id_jtva_coloana_neex,id_jtva_coloana)], [id_jtva_coloana]) + [ as id_jtax,] + ; + Iif(lnTvaIncasare = 1, [nvl(explicatie_tva_neex,explicatie_tva)], [explicatie_tva]) + [ as denumiretax,] + ; + [CAST(0 as Number(16,4)) as suma, CAST(0 as Number(16,4)) as suma_val, CAST(0 as Number(5)) as id_valuta, CAST(null as Varchar2(5)) as nume_val,] + ; + [CAST(0 as Number(16,4)) as curs, ] + ; + [tipjurnal, taxcode, paymentcode from vnote_contabile where id_set = ] + Alltrim(Str(tn_idset)) + lcCursor = [cnote_contabile] + llSucces = goExecutor.oExecuta(lcSql, lcCursor) + If !m.llSucces + Return + ENDIF + + * 22.08.2025 + * Am introdus Calendar.impozit_profit + * Platitorii impozit venit, pentru limitare deducere 50% nu le trebuie 2 note CHELTUIELI DEDUCTIBILE si NEDEDUCTIBILE + IF m.tn_idset = 10609 AND EMPTY(NVL(goCalendar.impozit_profit,0)) AND RECCOUNT('cnote_contabile') = 2 + * STERG LINIA 2 + SELECT cnote_contabile + GO BOTTOM + DELETE + ENDIF + + ELSE + IF !USED('cnote_contabile') + AMESSAGEBOX('Nu exista cursorul cnote_contabile!',48, _screen.Caption) + RETURN + ENDIF + ENDIF + + DO CASE + CASE BETWEEN(m.gnAn*12+m.gnLuna,2018*12+1, 2025*12+7) + * achizitiile si livrarile inainte de 08/2025 trebuie sa propuna TVA 19%. + * In xsets s-a modificat 21% de la 01.08.2025 + + * Ach int 19% + IF m.lnTvaIncasare = 1 + update cnote_contabile set ptva = 19, id_jtax = 188, denumiretax = 'ACH. INT. NEEX. 19%' where INLIST(id_jtax, 208, 210) && 21% + update cnote_contabile set ptva = 19, id_jtax = 189, denumiretax = 'TVA ACH. INT. NEEX. 19%' where INLIST(id_jtax, 209, 211) && 21% + ELSE + update cnote_contabile set ptva = 19, id_jtax = 105, denumiretax = 'ACH. INT. 19%' where INLIST(id_jtax, 208, 210) && 21% + update cnote_contabile set ptva = 19, id_jtax = 106, denumiretax = 'TVA ACH. INT. 19%' where INLIST(id_jtax, 209, 211) && 21% + ENDIF + + * Ach. b. imp. 19% + update cnote_contabile set ptva = 19, id_jtax = 118, denumiretax = 'ACH. IMP. 19%' where id_jtax = 220 + update cnote_contabile set ptva = 19, id_jtax = 119, denumiretax = 'TVA ACH. IMP. 19%' WHERE id_jtax = 221 + + * Ach b. CE 19% + update cnote_contabile set ptva = 19, id_jtax = 133, denumiretax = 'ACH. BUNURI CE. 19%' where id_jtax = 226 + update cnote_contabile set ptva = 19, id_jtax = 134, denumiretax = 'TVA ACH. BUNURI CE. 19%' where id_jtax = 227 + + * Ach s. CE 19% + update cnote_contabile set ptva = 19, id_jtax = 190, denumiretax = 'ACH. SERVICII CE. 19%' where id_jtax = 222 + update cnote_contabile set ptva = 19, id_jtax = 191, denumiretax = 'TVA ACH. SERVICII CE. 19%' where id_jtax = 223 + + * Ach Tx inversa 19% + update cnote_contabile set ptva = 19, id_jtax = 141, denumiretax = 'TX. INV. 19%' where id_jtax = 216 + update cnote_contabile set ptva = 19, id_jtax = 142, denumiretax = 'TVA TX. INV. 19%' where id_jtax = 217 + + * LIV INT 19% + IF m.lnTvaIncasare = 1 + update cnote_contabile set ptva = 19, id_jtax = 31, denumiretax = 'LIVR.INTERN NEEX. 19%' where INLIST(id_jtax, 35, 37) + update cnote_contabile set ptva = 19, id_jtax = 32, denumiretax = 'TVA LIVR.INTERN NEEX. 19%' where INLIST(id_jtax, 36, 38) + ELSE + update cnote_contabile set ptva = 19, id_jtax = 1, denumiretax = 'LIVR.INTERN 19%' where INLIST(id_jtax, 35, 37) + update cnote_contabile set ptva = 19, id_jtax = 2, denumiretax = 'TVA LIVR.INTERN 19%' where INLIST(id_jtax, 36, 38) + ENDIF + + CASE BETWEEN(m.gnAn, 2016, 2017) + * achizitiile si livrarile pe 2016 trebuie sa propuna TVA 20%. + * In xsets s-a modificat 19% de la 01.01.2017 + + CASE m.gnAn = 2016 + * In 2016 lucrez cu TVA 20%. Transform TVA din 19% in 20% + * Ach int 20% + IF m.lnTvaIncasare = 1 + update cnote_contabile set ptva = 20, id_jtax = 178, denumiretax = 'ACH. INT. NEEX. 20%' where INLIST(id_jtax, 101, 103, 105, 188) && 19% + update cnote_contabile set ptva = 20, id_jtax = 179, denumiretax = 'TVA ACH. INT. NEEX. 20%' where INLIST(id_jtax, 102, 104, 106, 189) && 19% + ELSE + update cnote_contabile set ptva = 20, id_jtax = 176, denumiretax = 'ACH. INT. 20%' where INLIST(id_jtax, 101, 103, 105, 188) && 19% + update cnote_contabile set ptva = 20, id_jtax = 177, denumiretax = 'TVA ACH. INT. 20%' where INLIST(id_jtax, 102, 104, 106, 189) && 19% + ENDIF + + + * Ach. b. imp. 20% + update cnote_contabile set ptva = 20, id_jtax = 180, denumiretax = 'ACH. IMP. 20%' where INLIST(id_jtax, 114, 116, 118) + update cnote_contabile set ptva = 20, id_jtax = 181, denumiretax = 'TVA ACH. IMP. 20%' where INLIST(id_jtax, 115, 117, 119) + + * Ach b. CE 20% + update cnote_contabile set ptva = 20, id_jtax = 182, denumiretax = 'ACH. BUNURI CE. 20%' where INLIST(id_jtax, 127, 129, 133) + update cnote_contabile set ptva = 20, id_jtax = 183, denumiretax = 'TVA ACH. BUNURI CE. 20%' where INLIST(id_jtax, 128, 130, 134) + + * Ach Tx inversa 20% + update cnote_contabile set ptva = 20, id_jtax = 186, denumiretax = 'TX. INV. 20%' where INLIST(id_jtax, 137, 139, 141) + update cnote_contabile set ptva = 20, id_jtax = 187, denumiretax = 'TVA TX. INV. 20%' where INLIST(id_jtax, 138, 140, 142) + + * LIV INT 20% + IF m.lnTvaIncasare = 1 + update cnote_contabile set ptva = 20, id_jtax = 29, denumiretax = 'LIVR.INTERN NEEX. 20%' where INLIST(id_jtax, 1, 31) + update cnote_contabile set ptva = 20, id_jtax = 30, denumiretax = 'TVA LIVR.INTERN NEEX. 20%' where INLIST(id_jtax, 2, 32) + ELSE + update cnote_contabile set ptva = 20, id_jtax = 27, denumiretax = 'LIVR.INTERN 20%' where INLIST(id_jtax, 1, 31) + update cnote_contabile set ptva = 20, id_jtax = 28, denumiretax = 'TVA LIVR.INTERN 20%' where INLIST(id_jtax, 2, 32) + ENDIF + + CASE gnAn <= 2015 + * In 2015 lucrez cu TVA 24%. Transform TVA din 20% in 24% + IF m.lnTvaIncasare = 1 + update cnote_contabile set ptva = 24, id_jtax = 170, denumiretax = 'ACH. INT. NEEX. 24%' where INLIST(id_jtax, 176, 178) + update cnote_contabile set ptva = 24, id_jtax = 171, denumiretax = 'TVA ACH. INT. NEEX. 24%' where INLIST(id_jtax, 177, 179) + ELSE + * Ach int 24% - 20% + update cnote_contabile set ptva = 24, id_jtax = 156, denumiretax = 'ACH. INT. 24%' where INLIST(id_jtax, 176, 178) + update cnote_contabile set ptva = 24, id_jtax = 157, denumiretax = 'TVA ACH. INT. 24%' where INLIST(id_jtax, 177, 179) + ENDIF + + + * Ach. b. imp. 24% + update cnote_contabile set ptva = 24, id_jtax = 158, denumiretax = 'ACH. IMP. 24%' where id_jtax = 180 + update cnote_contabile set ptva = 24, id_jtax = 159, denumiretax = 'TVA ACH. IMP. 24%' where id_jtax = 181 + + * Ach b. CE 24% + update cnote_contabile set ptva = 24, id_jtax = 160, denumiretax = 'ACH. BUNURI CE. 24%' where id_jtax = 182 + update cnote_contabile set ptva = 24, id_jtax = 161, denumiretax = 'TVA ACH. BUNURI CE. 24%' where id_jtax = 183 + + * Ach Tx inversa 24% + update cnote_contabile set ptva = 24, id_jtax = 162, denumiretax = 'TX. INV. 24%' where id_jtax = 186 + update cnote_contabile set ptva = 24, id_jtax = 163, denumiretax = 'TVA TX. INV. 24%' where id_jtax = 187 + + * LIV INT 24% + IF m.lnTvaIncasare = 1 + update cnote_contabile set ptva = 24, id_jtax = 21, denumiretax = 'LIVR.INTERN NEEX. 24%' where INLIST(id_jtax, 27, 29) + update cnote_contabile set ptva = 24, id_jtax = 22, denumiretax = 'TVA LIVR.INTERN NEEX. 24%' where INLIST(id_jtax, 28, 30) + ELSE + update cnote_contabile set ptva = 24, id_jtax = 15, denumiretax = 'LIVR.INTERN 24%' where INLIST(id_jtax, 27, 29) + update cnote_contabile set ptva = 24, id_jtax = 16, denumiretax = 'TVA LIVR.INTERN 24%' where INLIST(id_jtax, 28, 30) + ENDIF + + ENDCASE && gnAn <= 2015 + + lcForm = [FRM_INTROD_COMPACT2007] + + *!* modificare ROACONT v 2.4.0 : am adaugat lnTvaIncasare + Select N.*, A.id_responsabil, A.id_partd, A.id_partc, A.partd, A.partc, ; + A.nresp, A.id_sectie, A.sectie, A.id_venchelt, A.dst_chlt, N.id_jtax As id_jtva_coloana, ; + 00000000000000 As id_factd, 00000000000000 As id_factc, 00000000000000 As pereched, 00000000000000 As perechec, ; + a.nrord, a.id_lucrare ; + From cnote_contabile N Join actactan A On N.ID_SET = A.ID_SET ; + Where N.ID_SET = tn_idset ; + Into Cursor introdc Readwrite Order By ordine + + If !Used('saft_taxtable') + update_saft_taxtable() + ENDIF + If !Used('saft_mecanisme_plati') + update_saft_mecanisme_plati() + ENDIF + + * Actualizez taxcode SAFT in functie de furnizori RTVAI + IF m.gl406 + * llN50/llN100 = .T. doar pentru linia cu Explicatie TVA = "Limitare deducere TVA" + llN50 = .F. && (tn_idset = 10609) or (poAct.deducere = 1) && deducere 50% + llN100 = .F. && (tn_idset = 10647) && deducere 100% + + SELECT distinct id_jtva_coloana, NVL(id_partc, id_partd) as id_part, (LEFT(scd,3) = '418' OR LEFT(scc,3) = '408') as neexigibil ; + FROM introdc ; + WHERE INLIST(ALLTRIM(NVL(tipjurnal,'')), 'JC', 'JV') ; + INTO CURSOR cIntrodcTemp + SELECT cIntrodcTemp + SCAN + lnIdJtva = id_jtva_coloana + lnIdPart = id_part + llNeexigibil = neexigibil + + lnTaxCode = GetTaxCodeIdPart(m.gnAn, m.gnLuna, poAct.DataAct, m.lnIdJtva, m.lnIdPart, m.llN50, m.llN100, m.llNeexigibil) + UPDATE introdc SET taxcode = m.lnTaxcode WHERE id_jtva_coloana = m.lnIdJtva AND NVL(id_partc, id_partd) = m.lnIdPart + ENDSCAN + ENDIF + + Use In (SELECT('crsjtva')) + Use In (SELECT('crstemp')) + + Select Distinct tipjurnal From cnote_contabile Where !Isnull(tipjurnal) Into Cursor crstemp + If Reccount('crstemp') = 1 + Select crstemp + lcTipJurnal = Upper(Alltrim(tipjurnal)) + [ = 1] + *!* modificare ROACONT v 2.4.0 + *!* Select denumire As denumiretax,id_jtva_coloana,cota_tva From jtva_coloane Where &lcTipJurnal Into Cursor crsjtva + If lnTvaIncasare = 0 + Select denumire As denumiretax, id_jtva_coloana, cota_tva From jtva_coloane Where &lcTipJurnal And Isnull(id_jtva_ex) Into Cursor crsjtva + Else + Select denumire As denumiretax, id_jtva_coloana, cota_tva From jtva_coloane Where &lcTipJurnal And Isnull(id_jtva_neex) Into Cursor crsjtva + Endif + *!* modificare ROACONT v 2.4.0 ^ + Else + *!* modificare ROACONT v 2.4.0 + *!* Select denumire As denumiretax,id_jtva_coloana,cota_tva From jtva_coloane Into Cursor crsjtva + If lnTvaIncasare = 0 + Select denumire As denumiretax, id_jtva_coloana, cota_tva From jtva_coloane Where Isnull(id_jtva_ex) Into Cursor crsjtva + Else + Select denumire As denumiretax, id_jtva_coloana, cota_tva From jtva_coloane Where Isnull(id_jtva_neex) Into Cursor crsjtva + Endif + *!* modificare ROACONT v 2.4.0 ^ + Endif + + If Used('crstemp') + Use In crstemp + Endif + Else + lcSql = [select * from ] + gcS + [.note_contabile where id_set = ] + Alltrim(Str(tn_idset)) + lcCursor = [cnote_contabile] + lnSucces = goExecutor.oExecute(lcSql, lcCursor) + If lnSucces < 0 + Return + Endif + + lcForm = [FRM_INTROD_COMPACT] + Select N.*, 00000000000000.0000 As SUMA, A.id_responsabil, A.id_partd, A.id_partc, A.partd, A.partc, ; + A.nresp, A.id_sectie, A.sectie, A.id_venchelt, A.dst_chlt, ; + 00000000000000 As id_factd, 00000000000000 As id_factc, 00000000000000 As pereched, 00000000000000 As perechec ; + From cnote_contabile N Join actactan A On N.ID_SET = A.ID_SET ; + Where N.ID_SET = tn_idset ; + Into Cursor introdc Readwrite Order By ordine + + lcSql = [SELECT descriere as tva, procent as ptva FROM ] + gcS + [.cote_tva where sters = 0 and an = ] + pcAn + [ and luna = ] + pcNl + lcCursor = [ttva] + lnSucces = goExecutor.oExecute(lcSql, lcCursor) + If lnSucces < 0 + Return + Endif + + Select ttva + Replace All tva With Alltrim(Str(ptva)) + ' %' + Endif + *!* modificare JC/JV 2007 ^ + + Use In cnote_contabile + + Select introdc + If Flock() + + If !Empty(tcscd) + Replace All SCD With tcscd For Empty(SCD) Or Upper(SCD) = 'X' + Endif + + If !Empty(tcscc) + Replace All SCC With tcscc For Empty(SCC) Or Upper(SCC) = 'X' + Endif + + *!* If m.ctva-1 = 0 + *!* Replace All ptva With 0 + *!* Endif + + Replace All id_partd With 0, partd With '' FOR EMPTY(NVL(id_partd,0)) + Replace All id_partc With 0, partc With '' FOR EMPTY(NVL(id_partc,0)) + + Replace All ascd With '' For Isnull(ascd) + Replace All ascc With '' For Isnull(ascc) + + If Used('xcont') + Select Xcont + Scan + pcContPart = contPart + lnIdPart = idpart + lcNumePart = numePart + Select introdc + Scan For SCD = pcContPart + Replace id_partd With lnIdPart + Replace partd With lcNumePart + Endscan + + Scan For SCC = pcContPart + Replace id_partc With lnIdPart + Replace partc With lcNumePart + Endscan + Select Xcont + Endscan + Endif + + Endif + Unlock + + Select actactan + Zap + + + *Create Table &gcTempPath\ttva (tva c(11), ptva N(3)) + + + lcExceptii_scc = '0' + lcExceptii_scd = '0' + + If !Empty(tcscd) + lcSql = [select * from ] + gcS + [.exceptii_ireg where invers = 1 and debit = 1 and cont = ] + tcscd + lcCursor = [ex_debit] + lnSucces = goExecutor.oExecute(lcSql, lcCursor) + If lnSucces < 0 + Return + Endif + Select ex_debit + Scan + lcExceptii_scd = lcExceptii_scd + ',' + Alltrim(cont_c) + Endscan + Use In ex_debit + Endif + + If !Empty(tcscc) + lcSql = [select * from ] + gcS + [.exceptii_ireg where invers = 1 and debit = 0 and cont = ] + tcscc + lcCursor = [ex_credit] + lnSucces = goExecutor.oExecute(lcSql, lcCursor) + If lnSucces < 0 + Return + Endif + Select ex_credit + Scan + lcExceptii_scc = lcExceptii_scc + ',' + Alltrim(cont_c) + Endscan + Use In ex_credit + Endif + + Select introdc + Go Top + + obj = Createobject(lcForm) + obj.cSCD = tcscd + obj.cSCC = tcscc + obj.gridb1.column3.BackColor = Rgb(255, 255, 255) + obj.gridb1.column4.BackColor = Rgb(255, 255, 255) + obj.pcobj = 'poAct' + obj.pcExceptii_scd = lcExceptii_scd + obj.pcExceptii_scc = lcExceptii_scc + obj.lVerificaAcont = llVerificaAcont + + + obj.titlufrumos1.Caption = tctitlu + obj.Show(1) + + USE IN (SELECT('crsTaxTable')) + USE IN (SELECT('crsjtva')) + + If buton = 2 + Do deschid_actc + Return + Endif + + *!* IF tn_idset=10455 && rate leasing + *!* lans(10411) + *!* ENDIF + + Select actactan + Replace All ID_SET With tn_idset + + Select actactan + Do oscrie_in_fisiere.prg + + Do deschid_actc + +Endproc &&introducere_compacta + +*--------------------------------------------------------------------------------------- + +Procedure deschid_actc + + If Used('actactan') + Use In actactan + Endif + + If Used('xcont') + Use In 'xcont' + Endif + + If Used('introdc') + Use In 'introdc' + Endif + + If Used('ttva') + Use In ttva + Endif +Endproc && deschid_actc + +*____________________________________________________ +Procedure inchid_actcv + + If Used('actcv') + Use In actcv + Endif + + If Used('ACTcv1') + Use In 'ACTcv1' + Endif + +Endproc && inchid_actcv + + +*_____________________________________________________________________________________________________________________ + + + +*-------------------------------------------------------------------- +Procedure umple_log + Parameters textul, textmare + Local datatext + datatext = "" + *----------------FACE INREGISTRARI IN LOG_TEXT. + datatext = CALEFIRMA + "\logs\contab\log_" + Alltrim(Str(Day(Date()))) + "_" + Alltrim(Str(Month(Date()))) + "_" + Alltrim(Str(Year(Date()))) + ".txt" + Cd &CALEFIRMA + If !Directory("LOGS") + Md logs + Endif + Cd &CALEFIRMA\logs + If !Directory("contab") + Md contab + Endif + Set Textmerge On + Set Textmerge Noshow + Set Textmerge To &datatext Additive +\\<>,<>,<>,<> +\ + Set Textmerge To + Cd &dirgen + + Return &&-------UMPLE_LOG + + + *!* *______________________________________________________ + + + +Procedure introducere_monetar + + + +Endproc diff --git a/programe/prg2vcx.prg b/programe/prg2vcx.prg new file mode 100644 index 0000000..70e0b51 --- /dev/null +++ b/programe/prg2vcx.prg @@ -0,0 +1,44 @@ +* Prg2Vcx.prg +* By CarlKarsten +* converts a procedure file to a vcx class. + +* Uses VfpDiff's .aProcs to break the prg into methods, but... +* it expects it to be "properly formated" with ENDPROC at the end of each proc +* and Parameter ilnes, no F(x) declarations. +* and last I checked it didn't do FUNCTIONs. + +* I tried to make aProcs smarter and found it was easier to just clean up the PRG: +* search/replace all FUNCTION with PROCEDURE, fix any f(x)'s, etc. +* it took me about 10 attemtps to get it working right. + +* Don't forget you will have to convert all internal calls from f(x) to this.f(x) + + +Local ; + loForm as Form + +Local ; + laProc[1], ; + laX[1], ; + loIU as Custom + +lcPrgName = "P:\html\temp\SaveClipImage.PRG" +lcPrg = FileToStr( lcPrgName ) + +Do Form vfpdiff name loForm +loForm.Visible = .f. && get it out of the way +Activate Screen + +Create Class "iImageUtils" as custom of d:\vfe\ilibs\iimage.VCX nowait +? ASelObj( laX ) +loIU = laX[1] + +For lnProc = 1 to loform.aProcs( laProc, lcPrg ) + lcMethodName = laProc[ lnProc, 1 ] + lcMethodText = "* " + laProc[ lnProc, 2 ] + loIU.WriteMethod( lcMethodName, lcMethodText, .t. ) +endfor + +loForm.Release() + +return \ No newline at end of file diff --git a/programe/printsettingscontroller.prg b/programe/printsettingscontroller.prg new file mode 100644 index 0000000..0c2dd1c --- /dev/null +++ b/programe/printsettingscontroller.prg @@ -0,0 +1,243 @@ +Define Class printSettingsController As wwConfig + cMode = "XML" + nNrMaxDispozitiv = 0 + nBonFiscal = 1 + nNotaPlata = 2 + nNotaMasa = 3 + ******************************************************************************* + Procedure Init + Dimension laListaDispozitive[1] + AddProperty(This,'aListaDispozitive',CREATEOBJECT('Collection')) + *!* trebuie adaugate toate proprietatile obiectului care nu trebuie sa apara in fisierul xml (scrise fara majuscule) + This.cPropertyExclusionList = This.cPropertyExclusionList + [,nnrmaxdispozitiv,alistadispozitive,nbonfiscal,nnotaplata,nnotamasa] + Endproc + ******************************************************************************* + Procedure seteazaFisier + Lparameters tcCaleROA,tcNumeProgram,tcSchema + Local lcCaleXML,lcBuffer,lcGeneralIniFile,lcIniPath + lcGeneralIniFile = Alltrim(tcCaleROA) + [ROAPRINT\settings.ini] + If !File(lcGeneralIniFile) + lcCaleXML = Alltrim(tcCaleROA) + [USERCONFIG\] + Alltrim(tcNumeProgram) + [_] + Alltrim(tcSchema) + [.XML] + Else + lcBuffer = Space(255) + GetPrivateProfileString( "initializari","Path","",@lcBuffer, Len(lcBuffer), lcGeneralIniFile) + lcBuffer = Addbs(Alltrim(Strtran(lcBuffer,Chr(0),""))) + If !Empty(lcBuffer) + lcIniPath = lcBuffer + Else + lcIniPath = Alltrim(tcCaleROA) + [USERCONFIG\] + Endif + lcCaleXML = lcIniPath + Alltrim(tcNumeProgram) + [_] + Alltrim(tcSchema) + [.XML] + Endif + This.seteazaConfigurari(lcCaleXML) + Endproc + ******************************************************************************* + Procedure seteazaConfigurari + Lparameters tcFisierConfigurare + Local lcCursorTemp,lcNrD,lnNrDMax,i && ,loObiect + This.cFileName = tcFisierConfigurare + lcCursorTemp = [TMP] + Sys(2015) + If !File(This.cFileName) +*!* This.adauga_dispozitiv() + This.Save() + Else + Xmltocursor(This.cFileName,lcCursorTemp,512) + lnNrDMax = 0 + For i = 1 To Fcount(lcCursorTemp) + lnNrD = VAL(Strtran(Lower(Field(i)),'device','')) + This.adauga_dispozitiv(lnNrD) + If lnNrD > lnNrDMax + lnNrDMax = lnNrD + Endif + Endfor + This.nNrMaxDispozitiv = lnNrDMax + Use In (lcCursorTemp) + Endif + This.Load() + Endproc + ******************************************************************************* + Function citeste_nr_dispozitiv + Lparameters tnTipListare, tcDescriere + *!* caut dupa tip listare si descriere ( ex : [NOTA MASA ]+ tcDescriere ) + Local lnNrDispozitiv, loObiect, i + lnNrDispozitiv = 0 + With This.aListaDispozitive + For i = 1 To .Count + If .Item(i).nTipListare = tnTipListare AND UPPER(.Item(i).cDescription) = This.getDescription(tnTipListare,tcDescriere) + lnNrDispozitiv = .Item(i).nNrDispozitiv + Exit + Endif + Endfor + Endwith + IF lnNrDispozitiv = 0 + loObiect = This.adauga_dispozitiv() + loObiect.nTipListare = tnTipListare + loObiect.cDescription = This.getDescription(tnTipListare,tcDescriere) + loObiect.cDeviceType = This.getDeviceType(tnTipListare) + lnNrDispozitiv = loObiect.nNrDispozitiv + ENDIF + RETURN lnNrDispozitiv + Endfunc + ******************************************************************************* + Function adauga_dispozitiv + Lparameters tnNrDispozitiv + Local lcNumeObiect,lnNrDispozitiv, loObiect + If Empty(tnNrDispozitiv) + This.nNrMaxDispozitiv = This.nNrMaxDispozitiv + 1 + lnNrDispozitiv = This.nNrMaxDispozitiv + Else + lnNrDispozitiv = tnNrDispozitiv + Endif + lcNumeObiect = 'oDevice'+Alltrim(Str(lnNrDispozitiv)) + AddProperty(This,lcNumeObiect,Createobject("cDevice")) + lcNumeObiect = [This.] + lcNumeObiect + loObiect = &lcNumeObiect + This.aListaDispozitive.Add(loObiect) + loObiect.nNrDispozitiv = lnNrDispozitiv + Return loObiect + Endfunc + ******************************************************************************* + Function citeste_imprimanta_dispozitiv + Lparameters tnNrDispozitiv + Local lcImprimanta, i + lcImprimanta = [] + With This.aListaDispozitive + For i = 1 To .Count + If .Item(i).nNrDispozitiv = tnNrDispozitiv + lcImprimanta = .Item(i).cDeviceName + Exit + Endif + Endfor + Endwith + Return lcImprimanta + Endfunc + ******************************************************************************* + Function scrie_imprimanta_dispozitiv + Lparameters tnNrDispozitiv,tcImprimanta,tnTipListare,tcDescriere + *!* scrie imprimanta si dispozitivul ( daca nu exista, atunci il creeaza; daca exista, atunci doar inlocuieste imprimanta) + Local llNou, i, loObiect + llNou = .T. + With This.aListaDispozitive + For i = 1 To .Count + If .Item(i).nNrDispozitiv = tnNrDispozitiv + .Item(i).cDeviceName = tcImprimanta + .Item(i).cDescription = This.getDescription(tnTipListare,tcDescriere) + llNou = .F. + Exit + Endif + Endfor + Endwith + If llNou + loObiect = This.adauga_dispozitiv() + loObiect.nTipListare = tnTipListare + loObiect.cDescription = This.getDescription(tnTipListare,tcDescriere) + loObiect.cDeviceName = tcImprimanta + loObiect.cDeviceType = This.getDeviceType(tnTipListare) + Endif + Return .T. + Endfunc + ******************************************************************************* + Function getDescription + Lparameters tnTipListare,tcDescriere + Local lcDescriere + Do Case + Case tnTipListare = This.nBonFiscal + lcDescriere = Alltrim([BON FISCAL ] + tcDescriere) + Case tnTipListare = This.nNotaPlata + lcDescriere = Alltrim([NOTA PLATA ] + tcDescriere) + Case tnTipListare = This.nNotaMasa + lcDescriere = Alltrim([NOTA MASA ] + tcDescriere) + Otherwise + lcDescriere = Alltrim(tcDescriere) + Endcase + Return lcDescriere + Endfunc + ******************************************************************************* + Function getDeviceType + Lparameters tnTipListare + Local lcTipDispozitiv + Do Case + Case tnTipListare = This.nBonFiscal + lcTipDispozitiv = [ECR] + Case tnTipListare = This.nNotaPlata + lcTipDispozitiv = [PRINTER] + Case tnTipListare = This.nNotaMasa + lcTipDispozitiv = [PRINTER] + Otherwise + lcTipDispozitiv = [] + Endcase + Return lcTipDispozitiv + Endfunc + ******************************************************************************* + Procedure salveaza + This.Save() +*!* Release This + Endproc + ******************************************************************************* +Enddefine +******************************************************************************* +Define Class cDevice As Relation + nNrDispozitiv = 0 + nTiplistare = 0 + cDescription = "" + cDeviceType="" + cDeviceName = "" + cDeviceDriver= "" + cDeviceTemplate = "" + cNetwork = "0" + cExePath = "" + cExeParams = "" + cPrintPath = "" + cErrorFileProcedure = "" + cErrorFile = "" + nErrorFileType = 0 && 1=se apeleaza procedura de eroare cu calea completa a fisierului de eroare, din tagul errorfile, in loc de tagul exepath + nTimeOut = 0 + cTVAGrupe = "" && 19|9|5|0|N + nNeplatitorTVA = 0 && 0=Platitor TVA, 1=Neplatitor TVA +Enddefine +********************************************************************************* +*!* Define Class cDevice1 As Relation +*!* nTiplistare = 1 && 1 = BON FISCAL +*!* cDescription = "Bon Fiscal" +*!* cDeviceType="ECR" +*!* cDeviceName = "EURO500" +*!* cDeviceDriver= "COMM2A" +*!* cDeviceTemplate = "EURO500_WIN.TMPL" +*!* cNetwork = "0" +*!* cExePath = "C:\COMM2A\COMM2A.EXE" +*!* cExeParams = "/RO /T /com:1 /speed:38400 /ECR:10 /num:1 /o:18 /data_file:items.txt /err_file:Online.err /LEN:??numar_linii_bon??" +*!* cPrintPath = "C:\COMM2A\ITEMS.TXT" +*!* cErrorFileProcedure = "euro500_win.err" +*!* cErrorFile = "C:\COMM2A\ONLINE.ERR" +*!* Enddefine +*!* ******************************************************************************* +*!* Define Class cDevice2 As Relation +*!* nTiplistare = 2 && nota plata +*!* cDescription = "Nota Plata" +*!* cDeviceType = "PRINTER" +*!* cDeviceName = "EPSONTM220" +*!* cDeviceDriver = "EPSONTM220" +*!* cDeviceTemplate = "NOTA.TMPL" +*!* cNetwork = "0" +*!* cExePath = "" +*!* cExeParams = "" +*!* cPrintPath = "C:\ITEMS.TXT" +*!* cErrorFileProcedure = "" +*!* cErrorFile = "" +*!* Enddefine +*!* ******************************************************************************* +*!* Define Class cDevice3 As Relation +*!* nTiplistare = 3 && nota masa +*!* cDescription = "Nota Masa" +*!* cDeviceType = "PRINTER" +*!* cDeviceName = "EPSONTM220" +*!* cDeviceDriver = "EPSONTM220" +*!* cDeviceTemplate = "NOTA.TMPL" +*!* cNetwork = "0" +*!* cExePath = "" +*!* cExeParams = "" +*!* cPrintPath = "C:\ITEMS.TXT" +*!* cErrorFileProcedure = "" +*!* cErrorFile = "" +*!* Enddefine +*!* ******************************************************************************* \ No newline at end of file diff --git a/programe/proc_calcule_salarii.prg b/programe/proc_calcule_salarii.prg new file mode 100644 index 0000000..a03dbfb --- /dev/null +++ b/programe/proc_calcule_salarii.prg @@ -0,0 +1,65 @@ +******************************************* +* PROCEDURE calcul_brutcm( tnbazaCalcul, tnIdConc, tnziang, tnZicas, tnbrutAng, tnBrutCas ) +* Date : 07/18/05, 10:36:57 +* author : liana.macinic +* description: calcul brut concedii medicale + +****** PARAMETER BLOCK ************** +* Parameters : 6 +* Parameter 1: baza de calcul +* Parameter 2: id-ul concediului din nomenclator, pentru a gasi formula de calcul +* Parameter 3: zile platite de angajator +* Parameter 4: zile platite din bass +* Parameter 5: +* Parameter 6: +* +******************************************* +PROCEDURE calcul_brutcm( tnbazaCalcul, tnIdConc, tnziang, tnZicas,tnC_vechime, tnbrutAng, tnBrutCas ) +*!* IF !USED('v_nomcm') +*!* DO update_nomcm IN update_salarii.prg +*!* ENDIF + +SELECT v_nomcm +LOCATE FOR id_cm = tnIdConc +SCATTER NAME ocm +*!* IF ocm.ingrijire = 0 +tnbrutAng = ROUND(ocm.coef * tnbazaCalcul * (IIF(ocm.cuvechime = 1,1 + tnC_vechime,1))*tnziang,gnPs) +tnBrutCas = ROUND(ocm.coef * tnbazaCalcul * (IIF(ocm.cuvechime = 1,1 + tnC_vechime,1))*tnZicas,gnPs) +*!* ENDIF +ENDPROC +*----------------------------------sfarsit procedura calcul_brutcm---------------------------------- + + + +******************************************* +* PROCEDURE calcul_brutco( tnbazaCO, tnZile, tnCvechime, ) +* Date : 07/19/05, 11:47:27 +* author : liana.macinic +* description: tnbazaco + +****** PARAMETER BLOCK ************** +* Parameters : +* Parameter 1: +* Parameter 2: +* Parameter 3: +* Parameter 4: +* +******************************************* +PROCEDURE calcul_brutco( tnbazaCO, tnZile,tnZileTot, tnC_vechime,tnBrutCo,tnBrutCoTot ) +IF INLIST(gnSAL_TIPINDCO,1 ,3) + tnBrutCo = ROUND(tnbazaCO *tnZile,gnPs) + tnBrutCoTot = ROUND(tnbazaCO * tnZileTot,gnPs) +ELSE + IF gnSAL_TIPINDCO = 2 + tnBrutCo = ROUND(1 * tnbazaCO *tnZile,gnPs) + tnBrutCoTot = ROUND(1 * tnbazaCO *tnZileTot,gnPs) + ELSE +*!* (porec.bazaco,porec.ZILECOLUNA,porec.ZILECOTOT,porec.C_vechime,@pnBrutCO,@pnBrutCOtot + tnBrutCo = ROUND(1 * tnbazaCO * (1 + tnC_vechime)*tnZile,gnPs) + tnBrutCoTot = ROUND(1 * tnbazaCO * (1 + tnC_vechime)*tnZileTot,gnPs) + ENDIF +ENDIF +ENDPROC +*----------------------------------sfarsit procedura calcul_brutco---------------------------------- + + diff --git a/programe/proceduri.prg b/programe/proceduri.prg new file mode 100644 index 0000000..b7da698 --- /dev/null +++ b/programe/proceduri.prg @@ -0,0 +1,227 @@ +*!* *_________________________________________________________ +PROCEDURE caut_alfa_cursor +PARAMETERS NUMEBAZA,NUMECIMP,CAPTEXT,VARMEM +LOCAL MC0,MC1,MC2, llVizibil +SET SAFETY OFF +llVizibil = .t. + +MC0='SELE '+NUMEBAZA +MC1='VARMEM=M.'+NUMECIMP +MC2 = [INDEX ON ] +NUMECIMP+ [ TAG nume OF &loc\&nfscurt\tempo\xindex.idx COMPACT ASCENDING ] + + +LOCAL lcNumeCol2 +STORE '' TO lcNumeCol2 + +LcCol = ALLTRIM(NUMEBAZA) + '.cod_fiscal' +IF TYPE(LcCol) # 'U' + lcNumeCol2 = 'cod_fiscal' +ENDIF + +LcCol = ALLTRIM(NUMEBAZA) + '.gest' +IF TYPE(LcCol) # 'U' + lcNumeCol2 = 'gest' +ENDIF + +LcCol = ALLTRIM(NUMEBAZA) + '.id_sectie' +IF TYPE(LcCol) # 'U' + lcNumeCol2 = 'id_sectie' +ENDIF + +IF EMPTY(lcNumeCol2) + lcNumeCol2 = 'space(4)' + llVizibil = .f. +ENDIF + +LcCol = ALLTRIM(NUMEBAZA) + '.id' +IF TYPE(LcCol) # 'U' + lcNumeCol3 = 'id' +ELSE + lcNumeCol3 = 'space(4)' +ENDIF + +SELECT DISTINCT &NUMECIMP, &lcNumeCol2, &lcNumeCol3 FROM (numebaza) INTO CURSOR tnomenclator READWRITE ORDER BY &NUMECIMP + +OCA=CREATEOBJECT("CAUTALFa") +OCA.CAPTION=CAPTEXT +OCA.GRID1.RECORDSOURCE='tnomenclator' +OCA.GRID1.COLUMN1.CONTROLSOURCE = NUMECIMP +OCA.GRID1.COLUMN2.CONTROLSOURCE = lcNumeCol2 +OCA.GRID1.COLUMN2.visible = llVizibil +OCA.cmdrenunt1.visible=.t. +OCA.command1.visible=.f. +OCA.command2.visible=.f. +OCA.command3.visible=.f. +OCA.SHOW(1) + +IF buton=2 + USE IN tnomenclator + RETURN +ENDIF + +lcFile = ADDBS(gcTempPath) + 'xindex.idx' +IF FILE(lcFile) + SET INDEX TO + DELETE FILE &lcFile +ENDIF +*!* &MC1 + +SELECT tnomenclator +SCATTER MEMVAR + +&MC1 + + +USE IN tnomenclator +RETURN + + +*!* *___________________________________________ +PROCEDURE MESAJ +PARAMETERS m1,m2 +ot=create('text') +ot.label2.caption=m1 +ot.label3.caption=m2 +ot.show(1) +RETURN + + +*!* *___________________________________________ +*!* PROCEDURE mesajmare +*!* PARAMETERS m1 +*!* ot=create('textmare') +*!* ot.label2.caption=m1 +*!* ot.show(1) +*!* RETURN + +*!* *___________________________________________ +*!* PROCEDURE mesajval +*!* PARAMETERS m1,m2 +*!* ot=create('textval') +*!* ot.label2.caption=m1 +*!* ot.valoare=m2 +*!* ot.show(1) +*!* RETURN + +*!* *___________________________________________ +PROCEDURE mesajatent +PARAMETERS m1,m2 +ot=create('atentie') +ot.label2.caption=m1 +ot.label3.caption=m2 +ot.show(1) +RETURN + +*!* *___________________________________________ +*!* PROCEDURE mesajrosu +*!* PARAMETERS m1,m2 +*!* ot=create('atentierosu') +*!* ot.label2.caption=m1 +*!* ot.label3.caption=m2 +*!* ot.show(1) +*!* RETURN + + +*!* *_____________________________________- +*!* PROCEDURE mesajm +*!* PARAM txt,i + +*!* LOCAL t,p +*!* p=iif(i<10,str(i,1),str(i,2)) +*!* T='orm.label'+p+'.caption="'+txt+'"' +*!* &t +*!* IF i<20 +*!* i=i+1 +*!* ENDIF +*!* p=iif(i<10,str(i,1),str(i,2)) +*!* T='orm.IMAGE'+p+'.VISIBLE=.T.' +*!* &t + +*!* RETURN + + + + +*!* *___________________________________________ +PROCEDURE danu +PARAMETERS m1 +od=create('danu') +od.label1.caption=m1 +od.show(1) +RETURN +*!* *___________________________________________ +*!* *____________________________________ +*!* PROC PR +*!* PARAM J +*!* IF J>M +*!* op.release +*!* op=crea('progresbar') +*!* J=0 +*!* op.show() +*!* ENDIF +*!* op.PRBAR.VALUE=J +*!* op.p=ROUND(100*op.PRBAR.VALUE/op.PRBAR.MAX,2) +*!* op.REFRESH +*!* J=J+1 +*!* RETURN + + +*!* *_________________________ +*!* PROC MESAJT +*!* PARAM M.denumire +*!* OTEXT.oleTreeview.NODES.add(,,,M.denumire,) +*!* STARE=STARE+1 +*!* RETURN + + + + + + + +*!* *!* ***------------------------------------------------------------------------------------ + +*!* *!* Procedure lanseaza_excel_standard +*!* *!* Parameters tcalias + +*!* *!* Private lcTabelSectii +*!* *!* lcTabelSectii = Alltrim(tcalias) + +*!* *!* Select (lcTabelSectii) + +*!* *!* lcexcel=Addbs(pccaletempo)+"Fisa de calcul a eficientei"+".XLS" +*!* *!* x=Newobject("XL_Sectie_standard","EXCELX") && alternatively you can drop this class on a VFP form +*!* *!* x.SaveAs=lcexcel && PART.XLS to be created in your TEMP folder + +*!* *!* Select centre_profit +*!* *!* Set Filter To + +*!* *!* Count For ((!virtual And contribuie) Or SOCIETATE) And ales To lnNrSectii +*!* *!* If !lnNrSectii>0 +*!* *!* Return +*!* *!* Endif + +*!* *!* Dimension x.oWorkSheet[lnNrSectii] && need four pages + +*!* *!* I=0 +*!* *!* Select centre_profit +*!* *!* Scan For ((!virtual And contribuie) Or SOCIETATE) And ales +*!* *!* lccentru = Alltrim(centru) +*!* *!* I=I+1 +*!* *!* x.oWorkSheet[I] = lccentru +*!* *!* Endscan + +*!* *!* x.Go() && remember this calls .populate_pages(). +*!* *!* Release x + +*!* *!* **************************8 + +*!* *!* OLEAPP = Getobject("","Excel.Application") +*!* *!* If Type('OLEAPP')!='O' +*!* *!* OLEAPP = Createobject("Excel.Application") +*!* *!* Endif +*!* *!* OLEAPP.WorkBooks.Open(lcexcel) +*!* *!* OLEAPP.Visible=1 + +*!* *!* Return +*!* *!* Endproc &&lanseaza_excel_standard diff --git a/programe/proceduri_comune.prg b/programe/proceduri_comune.prg new file mode 100644 index 0000000..1b342eb --- /dev/null +++ b/programe/proceduri_comune.prg @@ -0,0 +1,1675 @@ +*!* 22.07.2016 +*!* marius.mutu +*!* cursor2lista - adaugare parametru tcFilter + +Function caut_nume_politica +Lparameters tnIdPol +Local lcNume +Store "" To lcNume +If !Empty(Nvl(tnIdPol,0)) + If Used('crstemppol') + Use In crstemppol + Endif + lcSql = [select nume from ] + gcS + [.crm_vpolitici_pret_curente where id_pol = ] + Alltrim(Str(tnIdPol)) + lnSucces = goExecutor.oExecute(lcSql,[crstemppol]) + If lnSucces < 0 + amessagebox(goExecutor.oPrelucrareEroare(),16,"Eroare") + Else + Select crstemppol + lcNume = Alltrim(Upper(nume)) + Endif + If Used('crstemppol') + Use In crstemppol + Endif +Endif +Return lcNume +Endfunc && caut_nume_politica +***************************************************************************************** +Function caut_nume_grupa_art +Lparameters tnIdGrupaArt +Local lcNume +Store "" To lcNume +If !Empty(Nvl(tnIdGrupaArt,0)) + If Used('crstempgrupart') + Use In crstempgrupart + Endif + lcSql = [select grupa from ] + gcS + [.vgest_art_gr where id_grupa = ] + Alltrim(Str(tnIdGrupaArt)) + lnSucces = goExecutor.oExecute(lcSql,[crstempgrupart]) + If lnSucces < 0 + amessagebox(goExecutor.oPrelucrareEroare(),16,"Eroare") + Else + Select crstempgrupart + lcNume = Alltrim(Upper(grupa)) + Endif + If Used('crstempgrupart') + Use IN crstempgrupart + Endif +Endif +Return lcNume +ENDFUNC + +***************************************************************************************** +* Cautare nume gestiuni depozit/sectie (roacomenzi) +***************************************************************************************** +Function caut_nume_gest_dep + parameters tcLISTA_GESTIUNI_DEPOZIT + * tcLISTA_GESTIUNI_DEPOZIT: lista id-uri gestiuni tip depozit corespunzatoare unei sectii, separate prin | + + Local lcNume + Store "" To lcNume + If !Empty(Nvl(tcLISTA_GESTIUNI_DEPOZIT,'')) + Use In (SELECT('crstempgest')) + lcSql = [select stringagg(cgest) as cgest from vnom_gestiuni where id_gestiune in (SELECT X FROM table(charn2collection(?tcLISTA_GESTIUNI_DEPOZIT, ',')))] + llSucces = goExecutor.oExecuta(lcSql,[crstempgest]) + If llSucces + Select crstempgest + lcNume = Alltrim(Upper(cgest)) + Endif + Use In (SELECT('crstempgest')) + Endif + Return lcNume +ENDFUNC + +***************************************************************************************** +Procedure make_sectii_utilizator + lcSel = [{call PACK_COMENZI.sectii_utilizator(?gnIdUtil,?gnIdSucursala)}] + lcCursor = 'crsSectii' + lnSucces = goExecutor.oExecute(lcSel,lcCursor) + If lnSucces < 0 + amessagebox(goExecutor.cEroare,0+16,"Eroare") + Return + Endif + Select crsSectii + Go Top +Endproc && make_sectii_utilizator +***************************************************************************************** +Procedure extrage_optiuni +Parameters tcLista, tnId + +Local lcLista, lcReturn +Store '' To lcReturn +lcLista = Nvl(Alltrim(tcLista),'') +lnNrOptiuni = Getwordcount(lcLista,";") +For i=1 To lnNrOptiuni + lcExtragOptId = Getwordnum(lcLista,i,";") + lcId_extras = Getwordnum(lcExtragOptId,1,[:]) + If lcId_extras = Alltrim(Str(tnId)) + lcReturn = Getwordnum(lcExtragOptId,2,[:]) + Endif +Endfor + +Return lcReturn + +Endproc && extrage_optiune +******************************************************************************************************************** +*!* lcLista = '1001::3;2::777;21001::5;' +*!* lcId = 2 +*!* lcValoareNoua = '9' +*!* lcListaNoua = recompune_optiuni(lcLista,lcId,lcValoareNoua) +Procedure recompune_optiuni +Parameters tcLista, tnId, tcValoareNoua + +Local lcLista, lcListaNoua, lcId, lcValoareNoua, lnGrupuri, lcGrup, lcIdCautat, lnPoz, lnPozGrup, lcValoare +lcLista = Nvl(Alltrim(tcLista),'') +lcId = Alltrim(Str(tnId)) +lcValoareNoua = Alltrim(tcValoareNoua) + +llGasit = .F. +lcListaNoua = '' +lnGrupuri = Getwordcount(lcLista,';') +For i = 1 To lnGrupuri + lcGrup = Getwordnum(lcLista,i,";") + If i=1 + lcIdCautat = lcId + [:] + Else + lcIdCautat = ';'+ lcId + [:] + lcGrup = ';' + lcGrup && ';id_sectie::optiune_veche' + Endif + lnPozGrup = At(lcIdCautat,lcGrup) + If lnPozGrup > 0 + llGasit = .T. + lnPoz = At([:], lcGrup) + If lnPoz > 0 + lcValoare = Substr(lcGrup,lnPoz) && '::optiune_veche' + lcGrup= Strtran(lcGrup,lcValoare,[:]+lcValoareNoua) + Endif + Endif + lcListaNoua = lcListaNoua + lcGrup +Endfor + +If lnGrupuri = 0 + lcListaNoua = lcId + [:] + lcValoareNoua +Else + If !llGasit + lcListaNoua = lcListaNoua + ';' + lcId + [:] + lcValoareNoua + Endif +Endif + +Return lcListaNoua + +Endproc && recompune_optiuni +***************************************************************************************** +Function cere_perioada_luni +Lparameters tlIanMar,tnOptiuneStart +*** tnOptiuneStart - pe ce e setat +*** 0 = luna +*** 1 = perioada +Local lcAn1,lcAn2,lcLuna1,lcLuna2,loPerioada,lofrmperioada +Private pcondper +Store "" To loPerioada,lofrmperioada +pcondper = "" +lofrmperioada = Createobject('frm_perioada_luni',.T.,tnOptiuneStart) +lofrmperioada.Show(1) +If gnButon=2 + loPerioada = Null +Else + loPerioada = Createobject("Session") + loPerioada.AddProperty([cPerioada],[]) + loPerioada.AddProperty([nInit],0) + loPerioada.AddProperty([nFinal],0) + + lnPoz=At('_',pcondper) + lcAn1 = Substr(pcondper,3,4) + lcLuna1 = Substr(pcondper,1,2) + If lnPoz>0 + lcAn2 = Substr(pcondper,10,4) + lcLuna2 = Substr(pcondper,8,2) + Else + lcAn2 = Substr(pcondper,3,4) + lcLuna2 = Substr(pcondper,1,2) + Endif + + loPerioada.nInit = Val(lcAn1) * 12 + Val(lcLuna1) + loPerioada.nFinal = Val(lcAn2) * 12 + Val(lcLuna2) + loPerioada.cPerioada = lcLuna1 + '/' + lcAn1 + ' - ' + lcLuna2 + '/' + lcAn2 +Endif +Release pcondper,lcAn1,lcAn2,lcLuna1,lcLuna2,lofrmperioada +Return loPerioada +Endfunc + +*!* SET CLASSLIB TO d:\contafin\contab\clase\caut.vcx ADDITIVE +*!* oo=ret_luna("Luna de inceput") +*** scattered = MYSCATTER() && This is instead of SCATTER NAME... +Procedure myScatter + Parameters tcBlank + Local llBlank, loScatter + + llBlank=.F. + If Type('tcBlank')='C' + If 'BLANK'$UPPER(tcBlank) + llBlank=.T. + Endif + Endif + + myScatterObject = Createobject("myScatterObject") + If !Empty(Alias()) + If llBlank + Scatter Name loScatter Memo Blank + Else + Scatter Name loScatter Memo + Endif + lnFields = Fcount(Alias()) + For N =1 To lnFields + lcField=Field(N) + lcvalue=loScatter.&lcField + myScatterObject.AddProperty(lcField, lcvalue) + Endfor + Release loScatter + Endif + Return myScatterObject && Always return an object, so GATHER command could not choke. +Endproc + +Define Class myScatterObject As Session + * You may use any VFP class directly like myScatterObject = CREATEOBJECT("Session") + * But you may optionally use this DEFINE CLASS + * and declare the native PEMs here as HIDDEN if you want, so they are not exposed + * in case you are using class other than Session or work with VFP version prior to VFP 7.0 +Enddefine +PROCEDURE lista2cursor +PARAMETERS tcLISTA,tcAlias,tcCol1,tcSeparator +&& tcLista este un sir de caractere care contine elementele separate prin <;> default +&& tcAlias este cursorul care se completeaza - trebuie dat prin referinta +&& tcSeparator separatorul de elemente din tcLista - default este ";" - este optional +&& intoarce numarul de elemente gasite + +&& ex: lnNr = lista2array("ana;are;mere",@alista,";") + LOCAL Lclista,lcSeparator,lnNRF,lcF1,i + + lcLista=UPPER(ALLT(tcLISTA)) + IF PARAMETERS()<3 OR EMPTY(tcSeparator) + lcSeparator=";" + ELSE + lcSeparator=ALLTRIM(tcSeparator) + ENDIF + + IF RIGHT(Lclista,1)!=lcSeparator + Lclista=Lclista+lcSeparator + ENDIF + + lnNRF=OCCURS(lcSeparator,lcLista) + + + FOR i=1 TO lnNRF + lcF1=LEFT(lcLista,AT(lcSeparator,lcLista)-1) + + IF i!=lnNRF + lcLista=SUBSTR(lcLista,AT(lcSeparator,lcLista)+1) + ENDIF + + INSERT INTO (tcAlias) (&tcCol1) VALUES (lcF1) + + ENDFOR + + RETURN lnNrf + +ENDPROC && lista2cursor +*____________________________________________________________________________________________ + +*** returneaza un obiect cu proprietatile cont si acont (doar conturile din 'tcListaConturi' existente in planul de conturi) +Function ret_cont + Parameters tcTitlu, tcListaConturi + + Private loCont + + Local Ol As "frm_sel_cont" + Local lcLista, lcSel, lnSucces, lcSelect + lcSelect = SELECT() + + Create Cursor tCont (conturi c(5)) + lcLista = IIF(!EMPTY(m.tcListaConturi), Alltrim(m.tcListaConturi), '') + lista2cursor(m.lcLista, 'tCont', 'conturi', ',') + + Select tCont + Replace All conturi With Alltrim(conturi) + '*' + + lcSel = [select cont, acont, tip_sold from plcont where an = ] + Alltrim(Str(gnAn)) + [ and inactiv = 0 and nefolosit = 0 ] + lnSucces = goExecutor.oExecute(lcSel, 'tplcont') + + If lnSucces < 0 + amessagebox(goExecutor.cEroare, 0 + 16, 'Eroare') + Use In (Select('tCont')) + Return .F. + Endif + + Use In (Select('tsel_cont')) + + Select * From tplcont p Join tCont T On Like(Alltrim(T.conturi), p.Cont) ; + Into Cursor tsel_cont Readwrite ; + Order By p.Cont, p.acont + + Use In (Select('tCont')) + Use In (Select('tPlCont')) + + Select tsel_cont + Delete All For acont = '0000' + loCont = myScatter('blank') + + Ol = Createobject("frm_sel_cont") + With Ol + .lb_titlu_alb_b121.Caption = tcTitlu + If Empty(.cboCont.RowSource) + .cboCont.RowSource = "tsel_cont.cont,acont" + Endif + .ocont = loCont + If Empty(.cAlias) + .cAlias = Left(.cboCont.RowSource, At(".", .cboCont.RowSource) - 1) + Endif + Endwith + Ol.Show(1) + + Use In (Select('tsel_Cont')) + Select (m.lcSelect) + + Return loCont +Endfunc && ret_cont +*------------------------------------------------------------------------------------------- + +*** returneaza un obiect cu proprietatile an si nl (de fapt cu toate coloanele din calendar) +Function ret_luna + Parameters tcTitlu + + PRIVATE loLuna + + Select calendar + USE DBF('calendar') IN 0 AGAIN ALIAS tsel_luna share + SELECT tsel_luna + loLuna=myscatter('blank') + + Ol=Createobject("frm_sel_luna") + WITH Ol + .lblTitlu.Caption=tcTitlu + IF EMPTY(.cboLuna.rowsource) + .cboLuna.rowsource="tsel_luna.nl,an" + ENDIF + .oLuna=loLuna + IF EMPTY(.cAlias) + .cAlias=LEFT(.cboLuna.RowSource,AT(".",.cboLuna.RowSource)-1) + ENDIF + ENDWITH + Ol.Show(1) + + USE IN tsel_luna + + Return loLuna +ENDFUNC && ret_oluna +*___________________________________________________________________________________________ + +PROCEDURE ceretitlu_rap +PARAMETERS tcmesaj,tctitlu + +LOCAL lctitlu +lctitlu = tctitlu +obj1=CREATEOBJECT("frm_cere_titlu") +obj1.clb_tx_simplu1.lb_simplu1.caption = tcmesaj +obj1.clb_tx_simplu1.text_simplu1.controlsource = 'lctitlu' +obj1.show(1) +RETURN lctitlu + +ENDPROC + + +*____________________________________________________________________________________________ + +PROCEDURE cerestring +PARAMETERS tit,nvar + OLIT=CREATEOBJECT("CAUTLITERE") + WITH OLIT + .CAPTION=tit + .label1.visible=.f. + .text1.controlsource=nvar + endwith + olit.show(1) +RETURN + +*----------------------------------------- +PROCEDURE cerenumar +PARAMETERS tit,nvar + Ointre=CREATEOBJECT("CAUTintre") + WITH Ointre + .CAPTION='' + .label1.caption=tit + .label2.visible=.f. + .text1.controlsource=nvar + .text2.visible=.f. + endwith + ointre.show(1) +RETURN + + +*----------------------------------------- +PROCEDURE cereDATE +PARAMETERS tit,nvar1,NVAR2,L1,L2 + Ointre=CREATEOBJECT("CAUTintre") + WITH Ointre + .CAPTION=TIT + .text1.controlsource=nvar1 + .text2.controlsource=nvar2 + .label1.caption=L1 + .label2.caption=L2 + endwith + ointre.show(1) +RETURN + + + +*---------------------------------------------- +FUNCTION get_date_prec +Sele calendar +Locate For nl=m.nl And an=m.an +Skip -1 +If !Bof() + nla=nl + ana=an + dateA=calefirma+'\an'+ana+'\date'+nla &&DATE PREC +Else + dateA=dirgen+'\_alfa\an0000\date00\' +Endif +RETURN datea + +*-------------------------------------------------------------------------------- + +function existacimp +param numet,numec +for i=1 to fcount() +if upper(allt(field(i)))=upper(allt(numec)) + return .t. +endif +next +return .f. + +*--------------------------------------------------------------------------------- + +function compartabele +PARAMETERS nume + +SET EXACT on +SELECT fistotv +LOCATE FOR numef=UPPER(nume) +IF !FOUND() + RETURN +ENDIF +SCATTER memv +c1=ALLTRIM(m.calealfa)+'\' +c2=ALLTRIM(m.cale)+'\' +SELECT &nume +nrcol1=FCOUNT() +dat=c1+m.numef + +USE &dat IN 0 ALIAS aliasmf + +SELECT aliasmf +nrcol2=FCOUNT() +USE IN aliasmf + +IF nrcol1<>nrcol2 +RETURN .f. + ELSE +RETURN .t. +ENDIF + +ENDPROC +*----------------------------------------- +function cereluna +PARAMETERS tit +LOCAL lz,az +lz=luna +az=anul +SELECT calendar +SET FILTER TO + Ox=CREATEOBJECT("seleluna") + ox.label1.caption=tit + ox.show(1) + nlun=luna + nan=anul +luna=lz +anul=az +SELECT calendar +SET FILTER TO +RETURN nlun+nan + +*__________________________________________________________ + +&& Folosesc un tabel (tabel,id) cu cate o linie pt fiecare tabel +&& aflu id-ul urmator si il scriu in tabela +&& returnez id-ul +&& EX1: LNEW_ID=NEW_ID("GRILA_SAL") --> urmatorul id din fara cautare in tabela originala +&& EX2: LNEW_ID=NEW_ID("GRILA_SAL","ID") --> urmatorul id din cu cautare in tabela originala dupa campul +&& ex3: LNEW_ID=NEW_ID("GRILA_SAL","ID",.T.) --> .T. INSEAMNA CA TABELUL ORIGINAL ESTE INDEXAT DUPA FAC SEEK IN LOC DE LOCATE +PROCEDURE NEW_ID + PARAMETERS TALIAS,TFIELD,TTAG + *WAIT WINDOW TALIAS + *ON error Errorh(ERROR(),PROGRAM(),LINENO()) + LLLOOKUP=IIF(TYPE("tfield")="C",.T.,.F.) + LLTAG=IIF(TYPE("TTAG")="C",.T.,.F.) + TALIAS=UPPER(ALLTRIM(TALIAS)) + + + *** Save Stats + LCOLDALIAS = ALIAS() && keep current work area + LNOLDRECNO = IIF(!EOF(),RECNO(),0) && save record number + + LCSETDEL=SET("deleted") +&& lnmaxval = (10^pcidsize)-1 && wrap around after this val + + *** +&& PUN ORDINEA PE ID + IF LLLOOKUP AND LLTAG + SELE (TALIAS) + SET ORDER TO &TTAG + ENDIF + *** + LCNEWID = 0 && our return result - NULL if failed + SELECT IDS + LOCATE FOR UPPER(ALLTRIM(TABEL))=TALIAS + IF !FOUND() + IF FLOCK() + APPEND BLANK + REPLACE TABEL WITH TALIAS + UNLOCK + ENDIF + + ENDIF + + SET DELETED OFF +&& acum sunt pe inregistrarea corecta + + + *** lock counter table and update counter + SELECT IDS + IF RLOCK() + *** Avoid use of Macros - Convert to mem var & update it + LNCOUNTERVAL = NEW_ID + + *** VERIFY ID NUMBER - search 'til no match + DO WHILE .T. + *** increase the counter - update field and var + LNCOUNTERVAL = LNCOUNTERVAL+1 + + *!* *** check for wraparound + *!* IF lncounterval > lnmaxval + *!* lncounterval = 1 + *!* ENDIF + + SELECT (TALIAS) + IF LLLOOKUP + IF LLTAG + LCAUT="SEEK "+ALLT(STR(LNCOUNTERVAL)) + ELSE + LCAUT="LOCATE FOR "+ALLT(TFIELD)+"="+ALLT(STR(LNCOUNTERVAL)) + *** now see if it exists + &LCAUT + * LOCATE FOR &TFIELD=LNCOUNTERVAL + IF !FOUND() + *** No match - DONE + EXIT + ENDIF && !found() + ENDIF && lltag + ELSE + EXIT + ENDIF && lllokup + + ENDDO && done + + SELE IDS + REPLACE NEW_ID WITH LNCOUNTERVAL + LCNEWID=LNCOUNTERVAL + + UNLOCK IN IDS + ENDIF && rlock() + + *** Reset record number on original file + + IF !EMPTY(lcoldAlias) + SELE (LCOLDALIAS) + IF LNOLDRECNO#0 + GOTO LNOLDRECNO + ENDIF + ENDIF + SET DELETED &LCSETDEL + + RETURN LCNEWID + +ENDPROC && NEW_ID + + +***------------------------------------------------------------------------------------------------------- + +* Foloseste comment de la coloane si tooltiptext de la grid pt a salva recordsource si controlsource din grid inainte de reconstructie +PROCEDURE SAVE_GRID +PARAM toGrid +*wait wind 'save_grid' +private pogrid +if param()=0 or type('togrid')!="O" + return .F. +endif + +poGrid=togrid + +* remember control sources in the column's comment field +with pogrid + local nColumnIndex + for m.nColumnIndex = 1 to .ColumnCount + .Columns(m.nColumnIndex).Tag = .Columns(m.nColumnIndex).ControlSource + endfor + .ToolTipText=.RecordSource + .RecordSource="" +endwith + +return .T. +endproc && SAVE_GRID +***-------------------------------------------------------------- +PROCEDURE RESTORE_GRID +PARAM toGrid + +*wait wind 'restore_grid' +private pogrid +if param()=0 or type('togrid')!="O" + return .F. +endif + +poGrid=togrid + + +with poGrid +* restore record source + .RecordSource = .ToolTipText +* restore control sources + for m.nColumnIndex = 1 to .ColumnCount + .Columns(m.nColumnIndex).ControlSource = .Columns(m.nColumnIndex).Tag + endfor + .ToolTipText="" +endwith +return .T. +endproc && RESTORE_GRID + +****** + +* Foloseste comment de la coloane si tooltiptext de la grid pt a salva recordsource si controlsource din grid inainte de reconstructie +PROCEDURE SAVE_GRID_COMMENT +PARAM toGrid +*wait wind 'save_grid' +private pogrid +if param()=0 or type('togrid')!="O" + return .F. +endif + +poGrid=togrid + +* remember control sources in the column's comment field +with pogrid + local nColumnIndex + for m.nColumnIndex = 1 to .ColumnCount + .Columns(m.nColumnIndex).Comment = .Columns(m.nColumnIndex).ControlSource + endfor + .ToolTipText=.RecordSource + .RecordSource="" +endwith + +return .T. +endproc && SAVE_GRID_COMMENT +***-------------------------------------------------------------- +PROCEDURE RESTORE_GRID_COMMENT +PARAM toGrid + +*wait wind 'restore_grid' +private pogrid +if param()=0 or type('togrid')!="O" + return .F. +endif + +poGrid=togrid + + +with poGrid +* restore record source + .RecordSource = .ToolTipText +* restore control sources + for m.nColumnIndex = 1 to .ColumnCount + .Columns(m.nColumnIndex).ControlSource = .Columns(m.nColumnIndex).Comment + endfor + .ToolTipText="" +endwith +return .T. +endproc && RESTORE_GRID_COMMENT + + +* Foloseste comment de la coloane si tooltiptext de la grid pt a salva recordsource si controlsource din grid inainte de reconstructie +PROCEDURE SAVE_GRID_TAG +PARAM toGrid +*wait wind 'save_grid' +private pogrid +if param()=0 or type('togrid')!="O" + return .F. +endif + +poGrid=togrid + +* remember control sources in the column's comment field +with pogrid + local nColumnIndex + for m.nColumnIndex = 1 to .ColumnCount + .Columns(m.nColumnIndex).Tag = .Columns(m.nColumnIndex).ControlSource + endfor + .ToolTipText=.RecordSource + .RecordSource="" +endwith + +return .T. +endproc && SAVE_GRID_TAG +***-------------------------------------------------------------- +PROCEDURE RESTORE_GRID_TAG +PARAM toGrid + +*wait wind 'restore_grid' +private pogrid +if param()=0 or type('togrid')!="O" + return .F. +endif + +poGrid=togrid + + +with poGrid +* restore record source + .RecordSource = .ToolTipText +* restore control sources + for m.nColumnIndex = 1 to .ColumnCount + .Columns(m.nColumnIndex).ControlSource = .Columns(m.nColumnIndex).Tag + endfor + .ToolTipText="" +endwith +return .T. +endproc && RESTORE_GRID_TAG + + +*------------------------------------------- +* Function...: Xmenu +* Author.....: MARTIN +* Date.......: 04/06/1997 +* Notes......: Based on an idea from Steve Zimmelman for FoxPro 2.x +* Parameters.: tcItems = Semicolon-separated String with the various options +* ...........: tnBar = Initially selected item (default=1) +* Returns....: Selected item number +* See Also...: PROMPT() [FoxPro Native] +* +PROCEDURE XMENU + LPARAMETERS TCITEMS, TNBAR + + LOCAL NITEMCOUNT, AITEMS, X, NROW, NCOL, CTITLE, NLASTPOS, CCOLOR, AITEMS + + PRIVATE CPOPMENU, NSELECT && They flow into the GetChoice internal procedure + + IF PCOUNT() < 2 + TNBAR = 1 + ENDIF + + ACTIVATE SCREEN + + * Parse every item + * + M.NITEMCOUNT = OCCURS( ';', TCITEMS ) + 1 + DIMEN AITEMS[ m.nItemCount ] + M.NLASTPOS = 1 + + FOR m.X = 1 TO m.NITEMCOUNT + + IF m.X < m.NITEMCOUNT + + AITEMS[ m.x ] = SUBS( m.TCITEMS, m.NLASTPOS, ; + ( AT( ';', m.TCITEMS, m.X ) - 1 ) - m.NLASTPOS + 1 ) + ELSE + AITEMS[ m.x ] = SUBS( m.TCITEMS, m.NLASTPOS, ; + ( LEN( m.TCITEMS ) - m.NLASTPOS ) + 1 ) + ENDIF + + IF AITEMS[ m.x ] # "\-" + + AITEMS[ m.x ] = ALLT( AITEMS[ m.x ] ) + ENDIF + + M.NLASTPOS=AT( ';', m.TCITEMS, m.X ) + 1 + NEXT + + * Calculates the mouse pointer position + * + M.NROW = IIF( MROW() + m.NITEMCOUNT < SROW(), MROW() - 1, SROW() - m.NITEMCOUNT ) + M.NCOL = IIF( MCOL() + 10 < SCOL(), MCOL() - 3, MCOL() - 13 ) + + * Gets an unique name for the pop-up + * + M.CPOPMENU = 'M' + SYS(3) + "_" + +DEFINE POPUP ( m.CPOPMENU ) SHORTCUT RELATIVE FROM NROW, NCOL + +FOR m.X = 1 TO m.NITEMCOUNT + +DEFINE BAR m.X OF ( m.CPOPMENU ) PROMPT AITEMS[ m.x ] +NEXT + +M.CANS = "" +M.NSELECT = 0 +CLEAR TYPE + +ON SELECTION POPUP ( m.CPOPMENU ) DO GETCHOICE + +ACTIVATE POPUP ( m.CPOPMENU ) BAR TNBAR + +POP KEY +RELEASE POPUP ( m.CPOPMENU ) + +RETURN IIF( LASTKEY()=27, 0, m.NSELECT ) + +ENDPROC && XMENU + +*-------------------- + PROCEDURE GETCHOICE + + M.NSELECT = BAR() + + DEACTIVATE POPUP ( m.CPOPMENU ) + + RETURN +&&&&&&&&&&&&&&&&&&&&&&&&&&&&&& MENIU &&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&& + +*--------------------------------------------------------------------------------- +*** compara 2 tabele ca structura si ca tag-uri de indexare +FUNCTION compara_tabele +PARAMETERS tcAliasC,tcFisS + +lcExact=SET("Exact") +SET EXACT ON +*** tcAliasC = Alias-ul tabelului comparat ; trebuie sa fie deschis +*** tcFisS = calea completa catre fisierul standard + +LOCAL lnOK,lnFileSDoesntexist,lnDifferentColumnCount,lnDifferentColumns,lnDifferentTags + +lnOK = 0 +lnFileSDoesntexist = 1 +lnDifferentColumns = 2 +lnDifferentTags = 3 + +PRIVATE lcOldAlias +lcOldAlias=ALIAS() +IF EMPTY(lcOldAlias) + lcOldAlias=SELECT(0) +ENDIF + +lcAliasC=ALLTRIM(tcAliasC) +lcFisS=ALLTRIM(tcFisS) + +IF !FILE('&lcFisS') + SELECT (lcOldAlias) + RETURN lnFileSDoesntexist +ENDIF + + +USE ('&lcFisS') IN 0 SHARED ALIAS FisierSursa + + +*** verific numarul de coloane +SELECT (lcAliasC) +lnnrcolC=FCOUNT() +lnNrTagC=TAGCOUNT() + +SELECT FisierSursa +lnNrColS=FCOUNT() +lnNrTagS=TAGCOUNT() + +IF lnNrcolC!=lnNrcolS + USE IN FisierSursa + RETURN lnDifferentColumns +ENDIF + +*** verific daca am aceleasi coloane + +SELECT FisierSursa +FOR i=1 TO lnNrColS + + lcFieldName=FIELD(i) + lcFieldTypeS=TYPE(lcFieldName) + lcFieldC=lcAliasC+"."+lcFieldName + lcFieldTypeC=TYPE(lcFieldC) + + lnSizeS = FSIZE(lcFieldName) + lnSizeC = FSIZE(lcFieldName,lcAliasC) + + IF lcFieldTypeC="U" OR lcFieldTypeC!=lcFieldTypeS OR lnSizeS!=lnSizeC&& nu exista campul sau exista dar au tipuri diferite sau au dimensiune diferita + USE IN FisierSursa + SELECT (lcOldAlias) + RETURN lnDifferentColumns + ENDIF + + SELECT FisierSursa +ENDFOR + +*** verific daca am acelasi nr de taguri +IF lnNrTagC!=lnNrTagS + USE IN FisierSursa + SELECT (lcOldAlias) + RETURN lnDifferentTags +ENDIF + +*** verific daca am aceleasi taguri +SELECT FisierSursa +FOR i=1 TO lnNrTagS + lcTagS=TAG(i) + + SELECT (lcAliasC) + lcTagC=TAG(i) + IF lcTagC!=lcTagS + USE IN FisierSursa + SELECT (lcOldAlias) + RETURN lnDifferentTags + ENDIF + SELECT FisierSursa +ENDFOR + + +USE IN FisierSursa +SELECT (lcOldAlias) +RETURN lnOK + + +ENDPROC && compara_tabele + +***---------------------------------------------------------------- +*!* get_text("parteneri","id","partener",id_partD) +FUNCTION get_text +PARAMETERS tcAlias1,tcField1,tcField2,tcField3 + +PRIVATE lcOldAlias,lcField3,lcret +lcRet="" +lcoldalias=ALIAS() +*!* IF !EMPTY(tcAlias2) +*!* SELECT (tcalias2) +*!* ENDIF +lcfield3=tcfield3 +*WAIT WINDOW tcfield3+STR(lcfield3) +SELECT (tcAlias1) +*LOCATE FOR &tcField1=lcField3 +IF SEEK(lcfield3,tcalias1,tcField1) + lcret=&tcField2 +ENDIF +SELECT (lcOldAlias) +RETURN lcRet + +ENDFUNC && get_text + +*----------------------------------- + + +PROCEDURE lista2array +PARAMETERS tcLISTA,taArray,tcSeparator +&& tcLista este un sir de caractere care contine elementele separate prin <;> default +&& tarray este vectorul care se completeaza - trebuie dat prin referinta +&& tcSeparator separatorul de elemente din tcLista - default este ";" - este optional +&& intoarce numarul de elemente gasite + +&& ex: lnNr = lista2array("ana;are;mere",@alista,";") +EXTERNAL ARRAY taArray + LOCAL Lclista,lcSeparator,lnNRF,lcF1,i + + lnNRF = 0 + + lcLista=ALLT(tcLISTA) + IF PARAMETERS()<3 OR EMPTY(tcSeparator) + lcSeparator=";" + ELSE + lcSeparator=ALLTRIM(tcSeparator) + ENDIF + + IF RIGHT(Lclista,1)!=lcSeparator + Lclista=Lclista+lcSeparator + ENDIF + + lnNRF=OCCURS(lcSeparator,lcLista) + + IF lnNRF>0 + DIMENSION taArray[lnNrf,1] + + FOR i=1 TO lnNRF + lcF1=LEFT(lcLista,AT(lcSeparator,lcLista)-1) + + IF i!=lnNRF + lcLista=SUBSTR(lcLista,AT(lcSeparator,lcLista)+1) + ENDIF + + taArray[i]=lcF1 + ENDFOR + ELSE + lnNRF = 0 + ENDIF + + RETURN lnNrf + +ENDPROC && lista2array + +***------------------------------------------------------------------------------------------- +PROCEDURE cursor2lista + LPARAMETERS tcCursor, tcColumn,tcSeparator, tcFilter + && tcCursor - cursor + && tcColumn - coloana din cursor care va constitui lista + && tcSeparator separatorul de elemente din tcLista - default este ";" - este optional + && tcFilter - optional = filtru pentru tabel + && intoarce lista de valori separate prin separatori + && ex: lcLista = cursor2lista("cursor","id",";") + + LOCAL lclista,lcSeparator, lcSelect, lcFilter + + lcLista = "" + lcSeparator = IIF(!EMPTY(tcSeparator) and TYPE('tcSeparator') = 'C', tcSeparator, ";") + lcFilter = IIF(EMPTY(m.tcFilter), '.T.', m.tcFilter) + IF USED(tcCursor) + lcSelect = SELECT() + lcColumn = tcCursor + "." + tcColumn + IF TYPE(lcColumn) # 'U' + SELECT * FROM (tcCursor) INTO CURSOR crsListaTemp + + SELECT crsListaTemp + SCAN FOR &lcFilter + lcLista = lcLista + ALLTRIM(TRANSFORM(EVALUATE(tcColumn))) + lcSeparator + ENDSCAN + USE IN crsListaTemp + + IF !EMPTY(lcLista) + lcLista = LEFT(lcLista, LEN(lcLista) - 1) + ENDIF + ENDIF + + + SELECT (lcSelect) + ENDIF + + RETURN lcLista + +ENDPROC && cursor2lista + +***------------------------------------------------------------------------------------------- +*** Creeaza o lista dintr-un cursor, la coloane de tip caracter, incadreaza itemii cu apostrof +PROCEDURE cursor2listac + LPARAMETERS tcCursor, tcColumn,tcSeparator, tcFilter + && tcCursor - cursor + && tcColumn - coloana din cursor care va constitui lista + && tcSeparator separatorul de elemente din tcLista - default este ";" - este optional + && tcFilter - optional = filtru pentru tabel + && intoarce lista de valori separate prin separatori + && ex: lcLista = cursor2lista("cursor","id",";") + + LOCAL lclista,lcSeparator, lcSelect, lcFilter, llChar + + lcLista = "" + lcSeparator = IIF(!EMPTY(tcSeparator) and TYPE('tcSeparator') = 'C', tcSeparator, ";") + lcFilter = IIF(EMPTY(m.tcFilter), '.T.', m.tcFilter) + IF USED(tcCursor) + lcSelect = SELECT() + lcColumn = tcCursor + "." + tcColumn + llChar = (TYPE(lcColumn) = 'C') + IF TYPE(lcColumn) # 'U' + SELECT * FROM (tcCursor) INTO CURSOR crsListaTemp + + SELECT crsListaTemp + SCAN FOR &lcFilter + lcLista = m.lcLista + IIF(m.llChar, ['], []) + ALLTRIM(TRANSFORM(EVALUATE(tcColumn))) + IIF(m.llChar, ['], []) + m.lcSeparator + ENDSCAN + USE IN crsListaTemp + + IF !EMPTY(lcLista) + lcLista = LEFT(lcLista, LEN(lcLista) - 1) + ENDIF + ENDIF + + + SELECT (lcSelect) + ENDIF + + RETURN lcLista + +ENDPROC && cursor2listac + +***------------------------------------------------------------------------------------------- +PROCEDURE get_mask +PARAMETERS tnint, tndec + +LOCAL lnint, lndec +lnint = tnint +lndec = tndec +lnrest = MOD(lnint,3) + +lcString = REPLICATE("9",lnrest) +lnint_ramas = lnint - lnrest +DO WHILE lnint_ramas > 0 +lcString = lcString + " "+ REPLICATE("9",3) +lnint_ramas = lnint_ramas - 3 +ENDDO +IF lndec > 0 +lcString = lcString +"."+REPLICATE("9",tndec) +ENDIF + +RETURN lcString + +ENDPROC && get_mask +***----------------------------------------------------------- + + +******************************************************************* +* PROCEDURE Get_Version( ) +* Date : 17/11/2004, 16:34:20 +* author : marius.mutu +* description: + +****** PARAMETER BLOCK ************** +* Parameters : 0 +* +******************************************* INCEPUT:Get_Version ******************************************* +PROCEDURE Get_Version(tlNoRevision,tlInfo,tcFileName) + LOCAL laVersion,lcVersion,lcFileName + + *-- Get Version Information + *-- Added 4-1-98 BDC + LOCAL lcVersionText, lcFileName,llNoRevision,llInfo + + DIMENSION aVersion(12) + + IF EMPTY(tcFileName) + lcFileName = SYS(16,0) + ELSE + lcFileName = tcFileName + ENDIF + llNoRevision = tlNoRevision + llInfo = tlInfo + + + + *** EGL: 2002.1.2 17:06 - switched to AGETFILEVERSION(). + IF VAL(SUBSTR(VERSION(), 15)) >= 6 + * The AGETFILEVERSION() function was introduced in VFP 6 + + *!* DECLARE STRING GetCommandLine IN Kernel32 + *!* lcFileName = GetCommandLine() + lcVersionText = "" + + *!* IF GetFileVersion(&lcFileName,@aVersion) = 0 + IF AGETFILEVERSION(aVersion, lcFileName) > 0 + IF !llInfo + * daca vreau doar numarul versiunii + lcVersion = ALLT(aVersion(4)) + IF llNoRevision + * daca nu vreau si revizia + lnPos = RAT('.',lcVersion,1) + ELSE + lnPos = LEN(lcVersion) + ENDIF + lcVersionText = LEFT(lcVersion,lnPos) + ELSE + * vreau toata informatia despre fisier + IF NOT EMPTY(aVersion(1)) + lcVersionText = ALLT(aVersion(1)) + ENDIF + + IF NOT EMPTY(aVersion(2)) + lcVersionText = lcVersionText+CHR(10)+"Produs de: "+ ALLT(aVersion(2)) + ENDIF + + IF NOT EMPTY(aVersion(3)) + lcVersionText = lcVersionText+CHR(10)+"Descriere: "+ ALLT(aVersion(3)) + ENDIF + + IF NOT EMPTY(aVersion(4)) + lcVersionText = lcVersionText+CHR(10)+"Versiune fisier: "+ ALLT(aVersion(4)) + ENDIF + + IF NOT EMPTY(aVersion(5)) + lcVersionText = lcVersionText+CHR(10)+"Nume intern: "+ ALLT(aVersion(5)) + ENDIF + + IF NOT EMPTY(aVersion(6)) + lcVersionText = lcVersionText+CHR(10)+"Copyright: "+ ALLT(aVersion(6)) + ENDIF + + IF NOT EMPTY(aVersion(7)) + lcVersionText = lcVersionText+CHR(10)+"Marca inregistrata: "+ ALLT(aVersion(7)) + ENDIF + + IF NOT EMPTY(aVersion(8)) + lcVersionText = lcVersionText+CHR(10)+"Nume fisier: "+ ALLT(aVersion(8)) + ENDIF + + IF NOT EMPTY(aVersion(9)) + lcVersionText = lcVersionText+CHR(10)+"Private Build: "+ ALLT(aVersion(9)) + ENDIF + + IF NOT EMPTY(aVersion(10)) + lcVersionText = lcVersionText+CHR(10)+"Nume produs: "+ ALLT(aVersion(10)) + ENDIF + + IF NOT EMPTY(aVersion(11)) + lcVersionText = lcVersionText+CHR(10)+"Versiune produs: "+ ALLT(aVersion(11)) + ENDIF + + IF NOT EMPTY(aVersion(12)) + lcVersionText = lcVersionText+CHR(10)+"Special Build: "+ ALLT(aVersion(12)) + ENDIF + + IF EMPTY(lcVersionText) + lcVersionText = "" + ENDIF + ENDIF + ELSE + + lcVersionText = "" + + ENDIF + + ELSE + lcVersionText = "" + ENDIF + RETURN lcVersionText + +ENDPROC +******************************************* SFARSIT: Get_Version ******************************************* + + +* PROCEDURE Get_Hexa( tnDeca ) +* Date : 18/11/2004, 17:56:48 +* author : marius.mutu +* description: transforma un Deca in Hexa + +****** PARAMETER BLOCK ************** +* Parameters : 1 +* Parameter 1: Numarul in Deca +* +******************************************* INCEPUT:Get_Hexa ******************************************* +PROCEDURE Get_Hexa( tnDeca ) + LOCAL laHexa,lnHexa,lnDeca + + + IF EMPTY(tnDeca) + lnDeca = 0 + ELSE + lnDeca = tnDeca + ENDIF + + DIMENSION laHexa[16] + laHexa[1] = '0' + laHexa[2] = '1' + laHexa[3] = '2' + laHexa[4] = '3' + laHexa[5] = '4' + laHexa[6] = '5' + laHexa[7] = '6' + laHexa[8] = '7' + laHexa[9] = '8' + laHexa[10] = '9' + laHexa[11] = 'A' + laHexa[12] = 'B' + laHexa[13] = 'C' + laHexa[14] = 'D' + laHexa[15] = 'E' + laHexa[16] = 'F' + + lnHexa = '' + + DO WHILE lnDeca > 0 + lnRest = MOD(lnDeca,16) + lcHexa = laHexa[lnRest+1] + lnDeca = INT(lnDeca/16) + + lnHexa = lcHexa + lnHexa + lnRest = MOD(lnDeca,16) + + ENDDO + + RETURN lnHexa + +ENDPROC +******************************************* SFARSIT: Get_Hexa ******************************************* +&& completeaza cu spatii si CRLF un mesaj a.i. pe fiecare linie sa fie lnLength caractere +Function format_msg +Parameters tcErrMsg,tnLength +Local lnLength,lcLinie,lcMesaj,lnPoz,lnCate,i,j +lcMesaj="" +If Empty(tnLength) + lnLength=50 && numarul de caractere pe linie +Else + lnLength=tnLength +Endif +i=1 +If At(Chr(13)+Chr(10),tcErrMsg,i)>0 + lnCate=At(Chr(13)+Chr(10),tcErrMsg,i)+1 + i=i+1 +Else + lnCate=Min(lnLength,Rat(' ',Substr(tcErrMsg,1,lnLength))-1) +Endif +lnPoz=1 +*!* lcLinie=Substr(tcErrMsg,1,lnCate) + +Do While lnPoz0 + lnCate=At(Chr(13)+Chr(10),tcErrMsg,i)+2-lnPoz + i=i+1 + Else + lcNextChar=Substr(tcErrMsg,lnPoz+lnLength,1) + lcLinieNoua=Substr(tcErrMsg,lnPoz,lnLength) + If lcNextChar!=' ' And Len(lcLinieNoua)>=lnLength + lnCate=Min(lnLength,Rat(' ',lcLinieNoua)-1) + Else + lnCate=lnLength + Endif + Endif +Enddo +Return lcMesaj +Endfunc && format_msg +***--------------------------------------------------------------------------------------------- +PROCEDURE C_LUNA + PARAMETERS tnnrluna + DO CASE + CASE tnnrluna=1 + RETURN "IANUARIE" + CASE tnnrluna=2 + RETURN "FEBRUARIE" + CASE tnnrluna=3 + RETURN "MARTIE" + CASE tnnrluna=4 + RETURN "APRILIE" + CASE tnnrluna=5 + RETURN "MAI" + CASE tnnrluna=6 + RETURN "IUNIE" + CASE tnnrluna=7 + RETURN "IULIE" + CASE tnnrluna=8 + RETURN "AUGUST" + CASE tnnrluna=9 + RETURN "SEPTEMBRIE" + CASE tnnrluna=10 + RETURN "OCTOMBRIE" + CASE tnnrluna=11 + RETURN "NOIEMBRIE" + CASE tnnrluna=12 + RETURN "DECEMBRIE" + OTHERWISE + RETURN "" + ENDCASE + ENDPROC &&c_luna +***-------------------------------------------------------------------------------------- +***-------------------------------------------------------------------------------------- + PROCEDURE CLUNA3 + PARAMETERS tnnrluna + DO CASE + CASE tnnrluna=1 + RETURN "Ian" + CASE tnnrluna=2 + RETURN "Feb" + CASE tnnrluna=3 + RETURN "Mar" + CASE tnnrluna=4 + RETURN "Apr" + CASE tnnrluna=5 + RETURN "Mai" + CASE tnnrluna=6 + RETURN "Iun" + CASE tnnrluna=7 + RETURN "Iul" + CASE tnnrluna=8 + RETURN "Aug" + CASE tnnrluna=9 + RETURN "Sep" + CASE tnnrluna=10 + RETURN "Oct" + CASE tnnrluna=11 + RETURN "Noi" + CASE tnnrluna=12 + RETURN "Dec" + OTHERWISE + RETURN SPACE(3) + ENDCASE + ENDPROC &&cluna3 +***-------------------------------------------------------------------------------------- +***------------------------------------------------------------------------------------ +Procedure cluna +Parameters tcGrup,tcTipCumul,tcAn + +lcTipCumul=Upper(Alltrim(tcTipCumul)) +lcan=Alltrim(tcAn) +lcgrup=Alltrim(tcGrup) +lnGrup=Val(lcgrup) +Do Case +Case lcTipCumul="T" + lcret="Trim. "+lcgrup+" "+lcan +Case lcTipCumul="S" + lcret="Sem. "+lcgrup+" "+lcan +Case lcTipCumul="A" + lcret="Anul "+lcan +Otherwise + Do Case + Case lnGrup=1 + lcret="Ian "+lcan + Case lnGrup=2 + lcret="Feb "+lcan + Case lnGrup=3 + lcret="Mar "+lcan + Case lnGrup=4 + lcret="Apr "+lcan + Case lnGrup=5 + lcret="Mai "+lcan + Case lnGrup=6 + lcret="Iun "+lcan + Case lnGrup=7 + lcret="Iul "+lcan + Case lnGrup=8 + lcret="Aug "+lcan + Case lnGrup=9 + lcret="Sep "+lcan + Case lnGrup=10 + lcret="Oct "+lcan + Case lnGrup=11 + lcret="Noi "+lcan + Case lnGrup=12 + lcret="Dec "+lcan + Otherwise + lcret=lcan + Endcase +Endcase +Return lcret +Endproc &&cluna +***------------------------------------------------------------------------------------ +***------------------------------------------------------------------------------------ +PROCEDURE get_trimestru +PARAMETERS tnNrTrim + DO CASE + CASE tnNrTrim = 1 + RETURN "Trim. I" + CASE tnNrTrim = 2 + RETURN "Trim. II" + CASE tnNrTrim = 3 + RETURN "Trim. III" + CASE tnNrTrim = 4 + RETURN "Trim. IV" + OTHERWISE + RETURN SPACE(7) + ENDCASE + ENDPROC && get_trimestru +***-------------------------------------------------------------------------------------- +PROCEDURE get_semestru +PARAMETERS tnNrSem + DO CASE + CASE tnNrSem = 1 + RETURN "Sem. I" + CASE tnNrSem = 2 + RETURN "Sem. II" + OTHERWISE + RETURN SPACE(7) + ENDCASE + ENDPROC && get_semestru +***-------------------------------------------------------------------------------------- +FUNCTION Lista_Campuri + LPARAMETERS tcCursorSource, tcCursorDest + + LOCAL lcSelect, i, lcAlias, lcLista + lcLista = [] + lcSelect = SELECT() + lcAlias = m.tcCursorSource + + SELECT (lcAlias) + lnFields = FCOUNT() + FOR i = 1 TO lnFields + lcField = FIELD(i) + * lista doar cu campurile comune + IF !EMPTY(m.tcCursorDest) AND TYPE(m.tcCursorDest + '.' + m.lcField) = 'U' + LOOP + ENDIF + lcLista = m.lcLista + [,] + m.lcField + ENDFOR + IF !EMPTY(m.lcLista) + lcLista = SUBSTR(m.lcLista,2) + ENDIF + + SELECT (m.lcSelect) + RETURN m.lcLista + +ENDFUNC && Lista_Campuri +***---------------------------------------- + +PROCEDURE GETCALLSTACK + local nPos + nPos=program(-1) - 2 + + + local cCallStack,i + cCallStack="" + for i=nPos to 1 step -1 + cCallStack=cCallStack + program(i) + chr(13)+chr(10) + endfor + + + return cCallStack + +ENDPROC && GETCALLSTACK +***------------------------------------------------------ + +PROCEDURE findCriteriu +PARAMETERS tacriterii,nCriteriu +EXTERNAL ARRAY tacriterii + +FOR n = 1 TO ALEN(tacriterii,0) + IF tacriterii(n,6)=nCriteriu + lnNumar=n + ENDIF +ENDFOR + RETURN lnNumar +ENDPROC + + + +#IF .F. + *!* VERIFICARE CloneObj + Local loRecS, loRecD + Local loRecS As Custom + loRecS = Createobject("custom") + loRecS.Tag = 'TEST S' + + loRecD = CloneObj(loRecS) + loRecD.Tag = 'TEST D' + + Messagebox(loRecS.Tag + ' ' + loRecD.Tag) + + *!* VERIFICARE CopyProps + loRecS = Createobject("empty") + ADDPROPERTY(loRecS,"myProperty", "CUSTOMPROPERTY") + + loRecD = Createobject("custom") + loRecD.Tag = 'TAG D' + ADDPROPERTY(loRecD,"myProperty", "") + + + CopyProps (loRecS, loRecD, .F.) + Messagebox(loRecD.Tag + ' ' + loRecD.myProperty) +#ENDIF + +*!* COPIAZA PROPRIETATILE UNUI OBIECT SURSA IN OBIECTUL DESTINATIE +*!* OBIECTUL SURSA ESTE CREAT +*!* NU COPIAZA PROPRIETATILE/VALORILE DE TIP OBIECT (EX: COLLECTION) +Procedure CloneObj (toSource) + Local laProps[1],lnPropCount,loDest,i, lcProperty, luValue + Local loEx As Exception + + If Type('toSource.Class')='C' And Type('toSource.ClassLibrary')='C' + loDest = Newobject(toSource.Class,toSource.ClassLibrary) + Else + loDest = Createobject('EMPTY') + Endif + + lnPropCount = Amembers(laProps,toSource,0) + For i = 1 To m.lnPropCount + lcProperty = laProps[m.i] + luValue = Null + + Try + luValue = Getpem(toSource, lcProperty) + Catch To loEx When loEx.ErrorNo = 1924 && "name" is not an object (Error 1924) + * + Endtry + If !Pemstatus(loDest, lcProperty, 5) + AddProperty(loDest, lcProperty, luValue) + Else + Try + loDest.&lcProperty = luValue + Catch To loEx When loEx.ErrorNo = 1743 && Property "name" is read-only (Error 1743) + * + Endtry + Endif + Endfor + + Return loDest +ENDPROC && CloneObj + +*!* COPIAZA PROPRIETATILE UNUI OBIECT SURSA IN OBIECTUL DESTINATIE +*!* tlAddProperty : T daca se adauga proprietatile noi din sursa in destinatie, .F. se copie doar proprietatile existente (Default .F.) +Procedure CopyProps (toSource, toDest, tlAddProperty) + Local laProps[1],lnPropCount,loDest,i, lcProperty, luValue + Local loEx As Exception + LOCAL llAddProperty + + IF TYPE('toSource') <> 'O' OR TYPE('toDest') <> 'O' + RETURN + ENDIF + + IF PCOUNT() < 3 OR TYPE('tlAddProperty') <> 'L' + llAddProperty = .F. + ELSE + llAddProperty = tlAddProperty + ENDIF + + lnPropCount = Amembers(laProps,toSource, 0) + For i = 1 To m.lnPropCount + lcProperty = laProps[m.i] + luValue = Null + + Try + luValue = Getpem(toSource, lcProperty) + Catch To loEx When loEx.ErrorNo = 1924 && "name" is not an object (Error 1924) + LOOP && NU MAI SETEZ PROPRIETATEA DACA IMI DA EROARE + ENDTRY + + If !Pemstatus(toDest, lcProperty, 5) + IF llAddProperty + AddProperty(toDest, lcProperty, luValue) + ENDIF + Else + Try + toDest.&lcProperty = luValue + Catch To loEx When loEx.ErrorNo = 1743 && Property "name" is read-only (Error 1743) + * + Endtry + Endif + Endfor +ENDPROC && CopyProps + +PROCEDURE debug_start_eventtracking + LOCAL lcDebug_eventlog + lcDebug_eventlog = gcAppPath + FORCEEXT("event_" + TTOC(DATETIME(),1),"log") + + + *-- load the events to track + SET EVENTLIST TO AfterRowColChange,; + BeforeRowColChange,; + Click,; + DblClick,; + Delete,; + Deleted,; + Destroy,; + Error,; + ErrorMessage,; + GotFocus,; + Init,; + InteractiveChange,; + keyPress,; + Load,; + LostFocus,; + ProgrammaticChange,; + Valid,; + When + + SET EVENTTRACKING TO (lcDebug_eventlog) + SET EVENTTRACKING ON + +ENDPROC && debug_start_eventtracking + +PROCEDURE debug_end_eventtracking + SET EVENTTRACKING TO && Closes the log file! + SET EVENTTRACKING OFF +ENDPROC && debug_end_eventtracking diff --git a/programe/proceduri_excel.prg b/programe/proceduri_excel.prg new file mode 100644 index 0000000..05c6fc1 --- /dev/null +++ b/programe/proceduri_excel.prg @@ -0,0 +1,358 @@ +***----------------------------------------------------------- +Procedure get_excel_mask + Lparameters tcInputMask + Local lnint, lndec, lcInputMask + lcInputMask=Strtran(tcInputMask,' ','') + lnint = Iif(At('.',lcInputMask,1)>0,At('.',lcInputMask,1)-1,Len(lcInputMask)) + lndec = Iif(Rat('.',lcInputMask,1)>0,Len(lcInputMask)-Rat('.',lcInputMask,1),0) + lnrest = Mod(lnint,3) + + lcString = Replicate("#",lnrest) + lnint_ramas = lnint - lnrest + Do While lnint_ramas > 0 + lcString = lcString + " " + Replicate("#",3) + lnint_ramas = lnint_ramas - 3 + Enddo + lcString=Substr(lcString,1,Len(lcString)-1)+"0" + If lndec > 0 + lcString = lcString +"."+Replicate("0",lndec) + Endif + + Return lcString + +Endproc && get_excel_mask +***----------------------------------------------------------- +Procedure export_excel + Lparameters toGrid,tcTitlu,tcCursor + Local loXLSheet,loXLApp,poExcel + Local i,k,lnCol,lnRow,lnColumn,lnObjCol + Local lcCursor,lcNume,lcSirNume,lcSirColoane,lcInputMask + Local llexista_Excel,llexista_invizibile + + Store '' To lcSirNume,lcSirColoane,lcInputMask + Store .T. To llexista_Excel + + If Empty(tcCursor) + lcCursor=toGrid.RecordSource + Else + lcCursor=tcCursor + Endif + + k=0 + With toGrid + For i=1 To .ColumnCount + lnCol=1 + Do While i!=.Columns(lnCol).ColumnOrder + lnCol=lnCol+1 + Enddo + lnColumn=.Columns(lnCol).ColumnOrder + If .Columns(lnCol).Visible + lcSirColoane=lcSirColoane+.Columns(lnCol).ControlSource+',' + For lnObjCol=1 To .Columns(lnCol).Objects.Count + If Upper(.Columns(lnCol).Objects(lnObjCol).BaseClass)='HEADER' + lcNume=.Columns(lnCol).Objects(lnObjCol).Caption + lcSirNume=lcSirNume+Strtran(Strtran(lcNume,Chr(32),'_'),'.','_')+',' + Exit + Endif + Endfor + Else + k=k+1 + Endif + Endfor + lcSirColoane=Substr(lcSirColoane,1,Len(lcSirColoane)-1) + lcSirNume=Substr(lcSirNume,1,Len(lcSirNume)-1) + Endwith + + Try + *!* On Error Do exportare With lcCursor,lcSirColoane,lcSirNume + loXLSheet = Getobject('','excel.sheet') + *!* On Error + llexista_invizibile=.F. + *!* If llexista_Excel + Wait Window "Se transmit datele catre Excel..." Nowait + + If k>0 + Dimension laInvizibile(k) + llexista_invizibile=.T. + Endif + + loXLApp = loXLSheet.Application + + loXLApp.workbooks.Close() + loXLApp.workbooks.Add() + poExcel = loXLApp.ActiveSheet + + Select &lcCursor + Go Top + poExcel.Cells(1,1).Font.Size=16 + poExcel.Cells(1,1).Font.Bold=.T. + poExcel.Cells(1,1)=tcTitlu+" Luna "+Alltrim(Str(gnLuna))+"/"+Alltrim(Str(gnAn)) + lnRow = 3 + k=1 + With toGrid + For lnCol = 1 To .ColumnCount + lnColumn = .Columns(lnCol).ColumnOrder + If .Columns(lnCol).Visible + poExcel.Columns(lnColumn).ColumnWidth = .Columns(lnCol).Width/5 + lcInputMask=.Columns(lnCol).InputMask + If At('9',lcInputMask)>0 + poExcel.Columns(Chr(64+lnColumn)).EntireColumn.NumberFormat=get_excel_mask(lcInputMask) + Endif + For lnObjCol=1 To .Columns(lnCol).Objects.Count + If Upper(.Columns(lnCol).Objects(lnObjCol).BaseClass)='HEADER' + poExcel.Cells(lnRow,lnColumn) = .Columns(lnCol).Objects(lnObjCol).Caption + Exit + Endif + Endfor + poExcel.Cells(lnRow,lnColumn).Font.Bold = .T. + poExcel.Cells(lnRow,lnColumn).Interior.ColorIndex = 16 + Else + laInvizibile(k)=lnColumn + k=k+1 + Endif + Endfor + + Select &lcCursor + Scan + lnRow = lnRow + 1 + For lnCol = 1 To .ColumnCount + If .Columns(lnCol).Visible + lnColumn = .Columns(lnCol).ColumnOrder + If At('CHECK',Upper(.Columns(lnCol).CurrentControl))>0 + poExcel.Cells(lnRow,lnColumn)=Iif(Eval(.Columns(lnCol).ControlSource)==0,'NU','DA') + Else + poExcel.Cells(lnRow,lnColumn) = Iif(Isnull(Eval(.Columns(lnCol).ControlSource)),'',Eval(.Columns(lnCol).ControlSource)) + Endif + Endif + Endfor + Endscan + + If llexista_invizibile + Asort(laInvizibile) + For i = 1 To Alen(laInvizibile) + poExcel.Columns(Chr(65+laInvizibile(i)-i)).Delete + Endfor + Endif + Endwith + + loXLApp.Visible = .T. + *!* Endif + Catch + Do exportare With lcCursor,lcSirColoane,lcSirNume + Finally + + Endtry + + +Endproc && export_excel +***----------------------------------------------------------- +Procedure exportare + Lparameters tabel, Initial, Final + Local nrc, i, c + Store 0 To nrc, i + Store '' To c + + A='C:\MY DOCUMENTS' + B='C:\DOCUMENTS AND SETTINGS' + Do Case + Case Directory('&A') + Set Default To '&A' + Case Directory('&B') + Set Default To '&B' + Otherwise + Md &A + Set Default To '&A' + Endcase + + exista_excel=.F. + + Initial = ','+Initial+',' &&Pentru a recunoaste coloanele' +Final = ','+Final+',' &&---||--- + + nrc = Occurs(',', '&initial') + nrc=nrc-1 && scade virgula din fata + + Local Array c_initial(nrc) + Local Array c_final(nrc) + + For i = 1 To nrc + N = At(',', '&initial', i) + n2 =At(',', '&initial', i+1) + c_initial[i] = Substr('&initial', N+1, n2-N-1) + N = At(',', '&final', i) + n2 =At(',', '&final', i+1) + c_final[i] = Substr('&final', N+1, n2-N-1) + Endfor + + For i=1 To nrc + If i=nrc + c=c+c_initial[i]+' as '+c_final[i] + Else + c=c+c_initial[i]+' as '+c_final[i]+',' + Endif + Endfor + + calea_fis = Putfile('Nume fisier:', 'Foaie_Excel', 'XLS') + If Empty(calea_fis) && Esc pressed + Return + Endif + + If Used('crsexport') + Use In crsexport + Endif + + Select &tabel + lcFiltru=Filter() + + Select &c From &tabel Where &lcFiltru Into Cursor crsexport + Select crsexport + Export To (calea_fis) Type Xl5 + + Set Default To &DIRGEN + + Use In crsexport +Endproc + + + +*!* 12.05.2006 +*!* MARIUS MUTU +******************************************************************************************************** +Procedure export_excel_grid + Lparameters toGrid, tcOrder, tcWhere, tcTitlu + + If Type('toGrid') # 'O' + Return + Endif + + Local lcColumnList, lcHeaderList, lcSelect, llSelect, lcFrom, lcWhere, lcOrder, lcOutput + + lcFrom = toGrid.RecordSource + lcWhere = Iif(!Empty(tcWhere) And Type('tcWhere') = 'C', tcWhere, Filter(lcFrom)) + + lcColumnList = '' + lcHeaderList = '' + lcSelect = '' + llSelect = .T. + lcType = 'CURSOR' + lcOrder = Iif(Empty(tcOrder) Or Type('tcOrder') # 'C', "", tcOrder) + lcOutput = Sys(2015) + + get_schema_grid(toGrid,@lcColumnList, @lcHeaderList, @lcSelect, llSelect, lcType, lcFrom, lcWhere, lcOrder, lcOutput) + &lcSelect + + If Used(lcOutput) + Do export_xls With lcOutput, tcTitlu In oproceduri_comune.prg + Use In (lcOutput) + Endif + + +Endproc && export_excel_grid + +***------------------------------------------------------------------------------------------- +Procedure LIST_EXCEL + Param TTABEL,TTITLU,TAHEADER + + External Array TAHEADER + A='C:\MY DOCUMENTS' + B='C:\DOCUMENTS AND SETTINGS' + Do Case + Case Directory('&A') + Set Default To '&A' + Case Directory('&B') + Set Default To '&B' + Otherwise + Md &A + Set Default To '&A' + Endcase + lcNumeDirExcel = Putfile('Nume fisier:', 'Foaie_Excel', 'XLS') + If Empty(lcNumeDirExcel) && Esc pressed + Return + Endif + + + *!* lcNumeDirExcel = ADDBS(calefirma)+"Excel\" + *!* IF !DIRECTORY(lcNumeDirExcel) + *!* MD (lcNumeDirExcel) + *!* ENDIF + + *!* lcdata = STRTRAN(DTOC(DATETIME()),"/","_") + lcfis = lcNumeDirExcel +"LIST_"+Sys(2)+".XLS" + + + lcfis=Strtran(lcfis,'\\','\') + + Set Textmerge On To (lcfis) Noshow + LCANTET=Uppe(Allt(TTITLU))+crlf +\ +\\<> +\ + If Parameters()<3 + LCHEADER="" + Sele (TTABEL) + For i=1 To Fcount() + LCHEADER=LCHEADER+Upper(Allt(Field(i)))+Tab + Endfor + LCHEADER=LCHEADER+crlf +\\<> + + Sele (TTABEL) + Scan + LDATE="" + For i=1 To Fcount() + F=Field(i) + T=&F + LDATE=LDATE+Transform(T,Iif(Type(F)="N","999999999999999.99",''))+Tab + Endfor + LDATE=LDATE+crlf + \\<> + Endscan + Set Textmerge To + Else + LCHEADER="" + NRCOL=Alen(TAHEADER,1) + Sele (TTABEL) + For i=1 To NRCOL + + If Empty(TAHEADER[I,1]) + LCHEADER=LCHEADER+Upper(Allt(TAHEADER[I,2]))+Tab + Else + LCHEADER=LCHEADER+Upper(Allt(TAHEADER[I,1]))+Tab + Endif + + Endfor + LCHEADER=LCHEADER+crlf + +\\<> + + Sele (TTABEL) + Scan + LDATE="" + For i=1 To NRCOL + * F=Field(TAHEADER[I,2]) + F=TAHEADER[I,2] + * IF EXISTACAMP(,F) + T=&F + LDATE=LDATE+Alltrim(Transform(T,Iif(Type(F)="N","999999999999999.99",'')))+Tab + * ELSE + * LDATE=LDATE+" "+Tab + * ENDIF + Endfor + LDATE=LDATE+crlf + \\<> + Endscan + Set Textmerge To + Endif + * WAIT WINDOW "Se deschide Excel..." NOWAIT + + + + OEXCEL = Createobject("Excel.Application") + OEXCEL.workbooks.Open(lcfis) + OEXCEL.Visible=1 + *!* IF TYPE(OEXCEL)='0' + *!* OEXCEL="" + *!* ENDIF + +Endproc && list_excel +***------------------------------------------------------------------------------------------- diff --git a/programe/proceduri_rapoarte.prg b/programe/proceduri_rapoarte.prg new file mode 100644 index 0000000..ef747e3 --- /dev/null +++ b/programe/proceduri_rapoarte.prg @@ -0,0 +1,315 @@ +*!* PROCEDURI_RAPOARTE.PRG +*!* 19.02.2009 marius.mutu +*!* LISTAREUSERREPORT - calea se citeste din goExport.GetRepPath + +*!* 23.01.2020 +*!* marius.mutu +*!* Salveaza un raport de pe disk in baza de date + +PROCEDURE LISTAREUSERREPORT_HASH + LPARAMETERS toHash + + LOCAL lcAlias, lcTipExport, lcRaport, loListener, lnPreview, lcImprimanta, lcCommandClauses + + lcAlias = toHash.GetValue("cAlias") + lcTipExport = toHash.GetValue("cTipExport") + lcRaport = toHash.GetValue("cRaport") + loListener = toHash.GetValue("oListener") + lnPreview = toHash.GetValue("nPreview") + lcImprimanta = toHash.GetValue("cImprimanta") + lcCommandClauses = toHash.GetValue("cCommandClauses") + IF EMPTY(lcTipExport) + lcTipExport = 'FRX' + ENDIF + IF EMPTY(lcAlias) + lcAlias = ALIAS() + ENDIF + + DO LISTAREUSERREPORT WITH lcAlias, lcTipExport, lcRaport, loListener, lnPreview, lcImprimanta, lcCommandClauses +ENDPROC && LISTAREUSERREPORT_HASH + + +*!* LISTARE RAPORT UTILIZATOR +*!* PARAMETRI : tcAlias - alias-ul cursorului; tcTipExport - FRX/XLS; tcRaport - numele raportului +*!* Se listeaza raportul USR_ din directorul \\SERVER\ROA\USERREPORTS\\\ daca exista +*!* Daca nu exista raporturl USR_ se listeaza raportul default +PROCEDURE LISTAREUSERREPORT + LPARAMETERS tcAlias, tcTipExport, tcRaport, toListener, tnPreview, tcImprimanta, tcCommandClauses + ** Valori pentru tnPreview + ** 1 - cu vizualizare + ** 2 - listare directa + ** tcCommandClauses: PROMPT PREVIEW NOEJECT NORESET + + LOCAL lcSelect, lcRaportPath, lcTipExport, lnPreview, lcImprimanta, lcCommandClauses + STORE [] TO lcImprimanta + + LOCAL loExport + IF TYPE('goExport') = 'U' + IF !'oexport'$LOWER(SET("Procedure")) + SET PROCEDURE TO oexport.prg ADDITIVE + ENDIF + loExport = Createobject("oExportConfig") + ELSE + loExport = goExport + ENDIF + + IF TYPE('tcCommandClauses') = 'C' + lcCommandClauses = tcCommandClauses + ELSE + lcCommandClauses = "" + ENDIF + + IF TYPE('tcTipExport') = 'C' + lcTipExport = UPPER(ALLTRIM(tcTipExport)) + ELSE + IF EMPTY(tcRaport) + lcTipExport = 'XLS' + ELSE + lcTipExport = 'FRX' + ENDIF + ENDIF + IF EMPTY(tcAlias) + RETURN + ENDIF + IF !USED(tcAlias) + RETURN + ENDIF + IF EMPTY(tnPreview) + lnPreview = 1 + ELSE + lnPreview = tnPreview + ENDIF + + DO CASE + CASE lcTipExport = 'FRX' + IF !EMPTY(tcImprimanta) + *!* verificare ca tcImprimanta este instalata pe calculatorul respectiv + IF APRINTERS(laPrinters) > 0 AND ASCAN(laPrinters,tcImprimanta,1,ALEN(laPrinters,1),1,15) > 0 + lcImprimanta = tcImprimanta + ENDIF + ENDIF + + RELEASE laPrinters + + lcRaportPath = loExport.GetRepPath(tcRaport) +*!* lcRaportPath = getUserRepPath() + [USR_] + JUSTSTEM(tcRaport) + [.FRX] + +*!* IF !FILE(lcRaportPath) +*!* lcRaportPath = tcRaport +*!* ENDIF + + lcSelect = SELECT() + IF !EMPTY(tcAlias) AND USED(tcAlias) + SELECT (tcAlias) + ENDIF + + lnRaspuns = 6 + DO WHILE lnRaspuns = 6 + TRY + IF TYPE('toListener') = 'O' + IF TYPE('gcReportOutput') = 'U' + PUBLIC gcReportOutput + gcReportOutput = "" + ENDIF + + IF EMPTY(gcReportOutput) + gcReportOutput = gcAppPath + "ReportOutput.app" + ENDIF + + IF TYPE('gcReportPreview') = 'U' + PUBLIC gcReportPreview + gcReportPreview = "" + ENDIF + + IF EMPTY(gcReportPreview) + gcReportPreview = gcAppPath + "ReportPreview.app" + IF !FILE(m.gcReportPreview) + AMESSAGEBOX('Nu exista fisierul ' + gcReportPreview, 0+48,_screen.Caption) + ENDIF + ENDIF + + _REPORTOUTPUT = gcReportOutput + _REPORTPREVIEW = gcReportPreview +* LCREPORT = 'REPORT FORM (' + lcRaportPath + ') OBJECT toListener ' + lcCommandClauses +* WAIT WINDOW LCREPORT + REPORT FORM (lcRaportPath) OBJECT toListener &lcCommandClauses + ELSE + IF lnPreview = 1 + KEYBOARD '{CTRL+F10}' + REPORT FORM (lcRaportPath) TO PRINTER PROMPT PREVIEW + ELSE + IF !EMPTY(lcImprimanta) + lcImprimantaTemp = SYS(6) + SET PRINTER TO NAME (lcImprimanta) + REPORT FORM (lcRaportPath) TO PRINTER + IF !EMPTY(NVL(lcImprimantaTemp,[])) + SET PRINTER TO (lcImprimantaTemp) + ELSE + SET PRINTER TO + ENDIF + ELSE + REPORT FORM (lcRaportPath) TO PRINTER PROMPT + ENDIF + ENDIF + ENDIF + lnRaspuns = 7 + CATCH TO oEroare + IF oEroare.MESSAGE='Error loading driver error.' + lnRaspuns = aMESSAGEBOX("Eroare la driverul imprimantei.Doriti sa reincercati listarea?",4+32+256,"Confirmare relistare") + ELSE + aMESSAGEBOX(oEroare.MESSAGE,16,"Eroare") + lnRaspuns = 7 + ENDIF + ENDTRY + ENDDO + + SELECT (lcSelect) + + CASE lcTipExport = 'XLS' + export_xls(tcAlias) + ENDCASE + + +ENDPROC && LISTAREUSERREPORT + +********************* INCEPUT Modifica_raport_utilizator ********************** +* PROCEDURE Modifica_raport_utilizator +* Date : 26.07.2006, 17:44:33 +* author : marius.mutu +PROCEDURE Modifica_raport_utilizator + + lcUserRepPath = getUserRepPath() + CD (lcUserRepPath) + lcFile = GETFILE("frx","Alegeti un raport","Alege") + IF FILE(lcFile) AND UPPER(JUSTEXT(lcFile)) = "FRX" + MODIFY REPORT (lcFile) + ENDIF + +ENDPROC && Modifica_raport_utilizator +********************* SFARSIT Modifica_raport_utilizator ********************** + +*!* INTOARCE DIRECTORUL CU RAPOARTE UTILIZATOR PENTRU APLICATIA, SCHEMA CURENTA +FUNCTION getUserRepPath + LOCAL lcAppPath, lcAppName, liAt, lcDirgen, lcUserRepPath + *!* lcAppPath=ADDBS(JUSTPATH(SYS(16,0))) + lcAppPath = gcAppPath + lcAppName=ALLT(UPPE(JUSTSTEM(SYS(16,0)))) + liAt=RAT("\",lcAppPath,2) + lcDirgen=ADDBS(LEFT(lcAppPath,liAt-1)) + lcUserRepPath = lcDirgen + 'USERREPORTS\' + IF !DIRECTORY(lcUserRepPath) + MD (lcUserRepPath) + ENDIF + lcUserRepPath = lcUserRepPath + gcS + '\' + IF !DIRECTORY(lcUserRepPath) + MD (lcUserRepPath) + ENDIF + lcUserRepPath = lcUserRepPath + lcAppName + '\' + IF !DIRECTORY(lcUserRepPath) + MD (lcUserRepPath) + ENDIF + + RETURN lcUserRepPath + +ENDFUNC + +**************************************************************************** +*!* extrage frx din executabil pe disc in directorul USERREPORTS +PROCEDURE UserReport2File + LPARAMETERS tcRaport + + LOCAL lcRaport, lcFile + IF EMPTY(tcRaport) + lcRaport= INPUTBOX("Raport","Scrieti numele raportului","raport.frx") + ELSE + lcRaport = tcRaport + ENDIF + + IF EMPTY(lcRaport) + RETURN + ENDIF + + LOCAL loExport + IF TYPE('goExport') = 'U' + IF !'oexport'$LOWER(SET("Procedure")) + SET PROCEDURE TO oexport.prg ADDITIVE + ENDIF + loExport = Createobject("oExportConfig") + ELSE + loExport = goExport + ENDIF + + + lcRaport = JUSTSTEM(lcRaport) + '.frx' + +*!* lcFile = getUserRepPath() + "USR_" + lcRaport + lcFile = loExport.GetRepPath(lcRaport) + + IF FILE(lcFile) + AMESSAGEBOX('Raportul ' + lcFile + ' exista deja!', 0+48, _screen.Caption) + RETURN + ENDIF + + *!* TRY + *!* USE (lcRaport) IN 0 again SHARED ALIAS crsRaportTemp + *!* ENDTRY + + IF !FILE(lcRaport) + aMESSAGEBOX('Nu exista raportul ' + lcRaport, 0+48, _screen.Caption) + ELSE + USE (lcRaport) IN 0 AGAIN SHARED ALIAS crsRaportTemp + SELECT crsRaportTemp + COPY TO (lcFile) + USE IN crsRaportTemp + AMESSAGEBOX('S-a creat raportul ' + lcFile, 0+48, _screen.Caption) + ENDIF + +ENDPROC && UserReport2File + +**************************************************************************** +* Salveaza un raport de pe disk in baza de date +**************************************************************************** +PROCEDURE Report2Database + Local lcFrtFileName, lcFrtInputFile, lcFrxFileName, lcFrxInputFile, llSucces, lnId + llSucces = .F. + lcInputFile = GETFILE('FRX', 'Alege un fisier FRX', 'Alege',0, 'Alege un fisier FRX') + + IF !EMPTY(m.lcInputFile) + lcFrxFileName = Forceext(Lower(Justfname(m.lcInputFile)), 'frx') && factura.frx + lcFrtFileName = Forceext(Lower(Justfname(m.lcInputFile)), 'frt') && factura.frt + + lcFrxInputFile = Forceext(Lower(m.lcInputFile), 'frx') && d:\roa\userreports\schema\usr_factura.frx + lcFrtInputFile = Forceext(Lower(m.lcInputFile), 'frt') && d:\roa\userreports\schema\usr_factura.frt + + llSucces = (FILE(m.lcFrxInputFile) AND FILE(m.lcFrtInputFile)) + IF m.llSucces + lnId = File2Atasament(m.lcFrxInputFile) + llSucces = (m.lnId > 0) + ELSE + AMESSAGEBOX('Nu exista fisierul ' + m.lcFrxFileName + ' sau ' + m.lcFrtFileName,0+48,_screen.Caption) + ENDIF + + If m.llSucces + lnId = File2Atasament(m.lcFrtInputFile) + llSucces = (m.lnId > 0) + Endif + ENDIF + AMESSAGEBOX(IIF(m.llSucces, 'Raportul s-a salvat cu succes in baza de date.','Raportul NU s-a salvat in baza de date!'),0+64,_screen.Caption) + + Return m.llSucces +ENDPROC && Report2Database + +**************************************************************************** +* Salveaza o imagine (ex: logo.jpg) in baza de date pentru a fi folosita la rapoarte +**************************************************************************** +PROCEDURE Image2Database + lcInputFile = GETFILE('Images:jpg,jpeg,bmp,png,gif,tiff', 'Alege un fisier', 'Alege',0, 'Alege un fisier') + lnId = 0 + llSucces = .F. + IF !EMPTY(m.lcInputFile) + lnId = File2Atasament(m.lcInputFile) + llSucces = (m.lnId > 0) + ENDIF + AMESSAGEBOX(IIF(m.llSucces, 'Imaginea s-a salvat cu succes in baza de date.','Imaginea NU s-a salvat in baza de date!'),0+64,_screen.Caption) + RETURN m.llSucces +ENDPROC && Image2Database \ No newline at end of file diff --git a/programe/quitapp.prg b/programe/quitapp.prg new file mode 100644 index 0000000..bd26e33 --- /dev/null +++ b/programe/quitapp.prg @@ -0,0 +1,340 @@ +* Program: QUITAPP.PRG +* Description: Client-side of remote termination of applications. +* Created: 07/11/2003 +* Developer: Gregory L Reichert +* Copyright: Copyright (c) 2003 GLR software +*------------------------------------------------------------ +* Id Date By Description +* 1 07/11/2003 Gregory L Reichert Initial Creation +* +*------------------------------------------------------------ + +*!* Overview + +*!* The component is the client-side portion of a Remote Application Killer. +*!* With the use of a shared table, an network administrator can determine +*!* what workstation has what application running, and instruct that application +*!* to quit. + +*!* An administrator can monitor which applications are running, and instruct them +*!* termination themselves. + +*!* Instructions + +*!* This component is based on a Timer class with a one minute interval. Each minute +*!* the application check to see if the administrator wishs the application to +*!* quit. If discovered so, the countdown begins (default 10 minutes). During the +*!* Countdown, a message is displayed notifing the user that the automatic termination of +*!* the application is underway. They can manual exit the application, or wait for the +*!* automatic. Either way, it is intended for the user to complete their current task. +*!* At the end of the countdown, the application issues a QUIT command. + +*!* Call this routine, and a object reference is returned. This object should +*!* remain active throughout the life of the application. + +*!* PRIVATE oQuitApp +*!* oQuitApp = QuitApp( "\\MyServer\MyDrive\CommonFiles\" ) +*!* +*!* When the administrator wish to terminate one or more application, they place +*!* a True (.T.) in the "lQuit" field of the QuitApp.dbf table. As the Application continues +*!* countdown to automated termination, the "Remain" field indicates the number of minutes +*!* remaining. If the Admin changes the value of "Remain", the countdown continues from +*!* that new value. If a value less then zero (0) is entered, the application terminates +*!* the next time the QuitApp timer is fired. + + +*!* Two exposed method are provided to inform the routine that the application +*!* is performing critical operations and can not be interupted. These are called +*!* EnterCritical() and LeaveCritical(). The EnterCritical() should be called when the +*!* critical section begins, and the LeaveCritical() should be called when the section +*!* ends. + +*!* The administrator can check to see a application is running, or if it crashed before hand, +*!* by set the "aLiveTest" field of the QuitApp.dbf to False (.F.). After a couple of minutes, +*!* if the application is still alive, the field will revert to True (.T.). + +*!* The form called Admin_QuitApp.scx is used by the administrator to monitor and control the +*!* remote applications. + +*!* ===================================================================================== + +LPARAMETERS tcPath, tcQuitName + +RETURN CREATEOBJECT("QuitApp", tcPath, tcQuitName) + + +#DEFINE kQuitMax 10 && Wait 10 minutes before auto-quit + +*------------------------------------------------------------ +* Description: QuitApp class +*------------------------------------------------------------ +* Id Date By Description +* 1 07/11/2003 Gregory L Reichert Initial Creation +* +*------------------------------------------------------------ +DEFINE CLASS QuitApp AS TIMER + + INTERVAL = (60*1000) && check once a minute. + ENABLE = .T. + cPath = tcPath + cQuitName ="QuitApp" + cQFile ="QuitApp" + cAlias = "QuitApp" + && Full URN to QuitApp.dbf. Must be at a shared network location for all running application to gain access. + + *------------------------------------------------------------ + * Description: Error Trap + * Parameters: internal + * Return: n/a + * Use: internal + *------------------------------------------------------------ + * Id Date By Description + * 1 07/11/2003 Gregory L Reichert Initial Creation + * + *------------------------------------------------------------ + PROCEDURE ERROR( a,b,c ) + *-- ignore all error from this class + RETURN + ENDPROC + + *------------------------------------------------------------ + * Description: Initializes the timer + * Parameters: cPath: path to the shared QuitApp.dbf - path only + * Return: N/A + * Use: ox = CreateObject( "QuitApp","\\myserver\shared\CommonFiles\" ) + *------------------------------------------------------------ + * Id Date By Description + * 1 07/11/2003 Gregory L Reichert Initial Creation + * + *------------------------------------------------------------ + PROCEDURE INIT( cPath, cQuitName ) + LOCAL lc + lc = SELECT() + + + cPath = ADDBS(IIF(EMPTY(cPath),"", cPath)) + cQuitName = IIF(EMPTY(cQuitName),"QuitApp",JUSTSTEM(cQuitName)) + cQFile = cPath+cQuitName+".dbf" + cAlias = "QuitApp" + + this.cPath = cPath + this.cQuitName = cQuitName + this.cQFile = cQFile + this.cAlias = cAlias + *------------------------------------- + * create QuitApp table if missing. + *------------------------------------- + IF NOT FILE(this.cQFile) + SELECT 0 + CREATE TABLE (this.cQFile) (ws c(40),ID N(10,0), cCaption c(100),lQuit L, remain N(3), Critical L, aLiveTest L) + USE + ENDIF + + SELECT(lc) + ENDPROC + + *------------------------------------------------------------ + * Description: Timer routine + * Parameters: n/a + * Return: n/a + * Use: internal + *------------------------------------------------------------ + * Id Date By Description + * 1 07/11/2003 Gregory L Reichert Initial Creation + * + *------------------------------------------------------------ + PROCEDURE TIMER + + + LOCAL lc + lc = SELECT() + USE (this.cQFile) IN 0 SHARED ALIAS (this.cAlias) + SELECT (this.cAlias) + + LOCATE FOR ID=_VFP.HWND AND cCaption=_VFP.CAPTION AND NOT DELETED() + IF NOT FOUND() + + *------------------------------------- + * Add an instence for this workstation / application + INSERT INTO (this.cQFile) (ws,ID,cCaption,lQuit,remain, Critical, aLiveTest) ; + VALUES ( UPPER(SYS(0)),_VFP.HWND, _VFP.CAPTION, .F., kQuitMax, .F., .T.) + ENDIF + + *- Each time, reset the aLiveTest field. + REPLACE aLiveTest WITH .T. + + IF NOT Critical AND TXNLEVEL()=0 + *- do only if not in Critical Section of the code, + * and not in a Transaction block + IF lQuit + *------------------------------------- + * if still timing out, display remaining time. + *------------------------------------- + IF remain>0 + IF remain=kQuitMax + * - if first time displaying the warning, force application on top. + _SCREEN.ALWAYSONTOP=.T. + _SCREEN.ALWAYSONTOP=.F. + ENDIF + *- decrement the counter, and display warning. + REPLACE remain WITH remain -1 + osh=CREATEOBJECT('shell.application') + osh.minimazeall + _screen.windowstate=2 + WAIT WINDOW NOCLEAR NOWAIT "Programul se va inchide automat in " +ALLTRIM(STR(remain,10))+" minute." + ?? CHR(7) + osh.undominimazeall + RELEASE osh + ELSE + *------------------------------------- + * otherwise, quit the application. + *------------------------------------- + USE IN (this.cAlias) + CLEAR EVENTS + glQuit = .T. + QUIT + ENDIF + ELSE + *------------------------------------- + * if nolonger quiing, reset counter. + *------------------------------------- + REPLACE remain WITH kQuitMax + WAIT CLEAR + ENDIF + ENDIF + + USE IN (this.cAlias) + THIS.RESET + SELECT(lc) + ENDPROC + + *------------------------------------------------------------ + * Description: Called when entering a Critical Section of the code. + * Parameters: n/a + * Return: True + * Use: .EnterCritical + *------------------------------------------------------------ + * Id Date By Description + * 1 07/11/2003 Gregory L Reichert Initial Creation + * + *------------------------------------------------------------ + PROCEDURE EnterCritical() + LOCAL lc + lc = SELECT() + USE (this.cQFile) IN 0 SHARED ALIAS (this.cAlias) + SELECT (this.cAlias) + + UPDATE (this.cQFile) SET Critical=.T. WHERE ID=_VFP.HWND AND cCaption=_VFP.CAPTION + + USE IN (this.cAlias) + SELECT(lc) + ENDPROC + + *------------------------------------------------------------ + * Description: Called when exitting a Critical Section of the code. + * Parameters: n/a + * Return: True + * Use: .LeaveCritical + *------------------------------------------------------------ + * Id Date By Description + * 1 07/11/2003 Gregory L Reichert Initial Creation + * + *------------------------------------------------------------ + PROCEDURE LeaveCritical() + LOCAL lc + lc = SELECT() + USE (this.cQFile) IN 0 SHARED ALIAS (this.cAlias) + SELECT (this.cAlias) + + UPDATE (this.cQFile) SET Critical=.F. WHERE ID=_VFP.HWND AND cCaption=_VFP.CAPTION + + USE IN (this.cAlias) + SELECT(lc) + ENDPROC + + *------------------------------------------------------------ + * Description: Destroy this object + * Parameters: n/a + * Return: n/a + * Use: internal + *------------------------------------------------------------ + * Id Date By Description + * 1 07/11/2003 Gregory L Reichert Initial Creation + * + *------------------------------------------------------------ + PROCEDURE DESTROY + *----------------------------------------------- + * On destroy, remove the application reference from the QuitApp table. + *----------------------------------------------- + LOCAL lc + lc = SELECT() + USE (this.cQFile) IN 0 SHARED ALIAS (this.cAlias) + SELECT (this.cAlias) + + DELETE FROM (this.cQFile) WHERE ID=_VFP.HWND AND cCaption=_VFP.CAPTION + + USE IN (this.cAlias) + SELECT(lc) + ENDPROC + +ENDDEFINE + + + +&& ------------------------------INCEPUT: Quit_Automat ------------------------------ +*!* Procedura: Quit_Automat +*!* Parametri: tlQuit +*!* Data/Ora generarii: 19/02/2004 12:48 +*!* Autor: MARIUS.MUTU +PROCEDURE Quit_Automat +LPARAMETERS tlQuit + +IF tlQuit + QUIT +ENDIF + +ENDPROC +&& ------------------------------SFARSIT: Quit_Automat ------------------------------ + +* Eof QUITAPP.PRG +*************************** +*!* FUNCTION AppInstance +*!* PARAMETERS WindowName + +*!* #DEFINE GW_OWNER 4 +*!* #DEFINE GW_HWNDFIRST 0 +*!* #DEFINE GW_HWNDNEXT 2 +*!* #DEFINE SW_MAXIMIZE 3 +*!* #DEFINE SW_NORMAL 1 + +*!* DECLARE integer SetForegroundWindow in win32api long lnhWnd +*!* DECLARE integer GetWindowText in win32api integer, string, integer +*!* DECLARE integer GetWindow in win32api integer,INTEGER +*!* DECLARE integer IsWindowVisible in win32api integer +*!* DECLARE integer GetActiveWindow in win32api +*!* DECLARE integer ShowWindow in user32 INTEGER lnhWnd, INTEGER lnCmdShow + +*!* IsWindEx = .F. +*!* if len(WindowName) < 1 +*!* return .t. +*!* endif + +*!* foxhwnd = GetActiveWindow() +*!* hwndNext = GetWindow(foxhwnd,GW_HWNDFIRST) + +*!* DO WHILE hwndNext <> 0 +*!* IF (hwndnext <> foxhwnd .AND. GetWindow(hwndnext,GW_OWNER) = 0) +*!* Stuffer = SPACE(64) +*!* x = GetWindowText(hwndnext,@Stuffer,64) +*!* IF WindowName $ Stuffer +*!* IsWindEx = .T. +*!* =SetForegroundWindow(hwndnext) +*!* =ShowWindow(hwndNext,SW_MAXIMIZE) +*!* EXIT +*!* ENDIF +*!* ENDIF +*!* hwndNext = GetWindow(hwndnext,GW_HWNDNEXT) +*!* ENDDO + +*!* RETURN IsWindEx +*!* ENDFUNC \ No newline at end of file diff --git a/programe/regex.prg b/programe/regex.prg new file mode 100644 index 0000000..1087ecb --- /dev/null +++ b/programe/regex.prg @@ -0,0 +1,268 @@ +*!* CLEAR +*!* ?strtranx([ana are 1234567890.1234 lei], [\s\d+\.\d\s], [=TRANSFORM($1, "999 999 999 999.99")]) +*?strtranx([ana are <<1234567890.1234>> lei], [<<], [=TRANSFORM($1, "AA")]) +*!* RETURN +CLEAR + + +*-- http://www.cornerstonenw.com/article_id_parsing3.htm +SET STEP ON + +lcSourceString = [ana are mere 123,345 678 ad] +LOCAL laItems[10] + +lnResults = GetRegExpAll(lcSourceString, '\d+', @laItems) + +SET STEP ON +RETURN +strTest = [ab cd2""$$£] +?strTest +?StripNonAscii(strTest) + +*-- replace non a-z09 with "" case-insensitive +? strtranx([Ab ra /ca\d&abr'a],"[^a-z0-9]",[],1,,1) +RETURN + +*-- count words +? OccursRegExp("\b(\w+)\b", [the then quick quick brown fox fox]) +&& prints 7 + +*-- count repeatedwords +? OccursRegExp("\b(\w+)\s\1\b", [the then quick quick brown fox fox]) +&& prints 2 + + +*-- replace first and second lower-case "a" +? strtranx([Abracadabra],[a],[*],1,2) +&& prints Abr*c*dabra + +*-- replace first and second "a" case-insensitive +? strtranx([Abracadabra],[a],[*],1,2,1) +&& prints *br*cadabra + +*-- locate the replacement targets +? strtranx([Abracadabra],[^a|a$],[*],1,2,0) +&& Abracadabr* +? strtranx([Abracadabra],[^a|a$],[*],1,2,1) +&& *bracadabr* + + +lcText = "The cost, is $123,345.75. " +*-- convert the commas +lcText = strtranx( m.lcText, "(\d{1,3})\,(\d{1,}) ","$1 $2" ) + +*-- convert the decimals +? strtranx( m.lcText, "(\d{1,3})\.(\d{1,})", "$1,$2" ) + +** prints "The cost, is $123 345,75." + +*-- add 1 to all digits +? strtranx( [ABC123], "(\d)", [=TRANSFORM(VAL($1)+1)] ) +** prints "ABC234" + +*-- convert all dates to long format +? strtranx( [the date is: 7/18/2004 ] , [(\d{1,2}/\d{1,2}/\d{4})], [=TRANSFORM(CTOD($1),"@YL")]) +** prints "the date is: Sunday, July 18, 2004" + + +*---------------------------------------------------------- +FUNCTION StrtranRegExp( tcSourceString, tcPattern, tcReplace ) + LOCAL loRE + loRE = CREATEOBJECT("vbscript.regexp") + WITH loRE + .PATTERN = tcPattern + .GLOBAL = .T. + .multiline = .T. + RETURN .REPLACE( tcSourceString , tcReplace ) + ENDWITH +ENDFUNC + +*---------------------------------------------------------- +FUNCTION OccursRegExp(tcPattern, tcText) + LOCAL loRE, loMatches, lnResult + loRE = CREATEOBJECT("vbscript.regexp") + WITH loRE + .PATTERN = m.tcPattern + .GLOBAL = .T. + .multiline = .T. + loMatches = loRE.Execute( m.tcText ) + lnResult = loMatches.COUNT + loMatches = NULL + ENDWITH + RETURN m.lnResult +ENDFUNC + + + +*---------------------------------------------------------- +FUNCTION strtranx(tcSearched, ; + tcSearchFor, ; + tcReplacement, ; + tnStart, tnNumber, ; + tnFlag ) + + *-- the final version of the UDF + LOCAL loRE, lcText, lnShift, lcCommand,; + loMatch, loMatches, lnI, lnK, lcSubMatch,; + llevaluate, lcMatchDelim, lcReplaceText, lcReplacement,; + lnStart, lnNumber, loCol, lcKey + + IF EMPTY(NVL(tcSearched, '')) + RETURN NVL(tcSearched, '') + ENDIF + + loRE = CREATEOBJECT("vbscript.regexp") + + WITH loRE + .PATTERN = m.tcSearchFor + .GLOBAL = .T. + .multiline = .T. + .ignorecase = IIF(VARTYPE(m.tnFlag)=[N],m.tnFlag = 1,.F.) + ENDWITH + + lcReplacement = m.tcReplacement + + *--- are we evaluating? + IF m.lcReplacement = [=] + llevaluate = .T. + lcReplacement = SUBSTR( m.lcReplacement, 2 ) + ENDIF + + IF VARTYPE( m.tnStart )=[N] + lnStart = m.tnStart + ELSE + lnStart = 1 + ENDIF + + IF VARTYPE( m.tnNumber) =[N] + lnNumber = m.tnNumber + ELSE + lnNumber = -1 + ENDIF + + IF m.lnStart>1 OR m.lnNumber#-1 OR m.llevaluate + + lcText = m.tcSearched + lnShift = 1 + loMatches = loRE.execute( m.lcText ) + loCol = CREATEOBJECT([collection]) + lnNumber = IIF( lnNumber=-1,loMatches.COUNT,MIN(lnNumber,loMatches.COUNT)) + + FOR lnK = m.lnStart TO m.lnNumber + loMatch = loMatches.ITEM(m.lnK-1) && zero based + lcCommand = m.lcReplacement + FOR lnI= 1 TO loMatch.submatches.COUNT + lcSubMatch = loMatch.submatches(m.lnI-1) && zero based + IF m.llevaluate + * "escape" the string we are about to use in an evaluation. + * it is important to escape due to possible delim chars (like ", ' etc) + * malicious content, or VFP line-length violations. + lcKey = ALLTRIM(TRANSFORM(m.lnK)+[_]+TRANSFORM(m.lnI)) + loCol.ADD( m.lcSubMatch, m.lcKey ) + lcSubMatch = [loCol.item(']+m.lcKey+[')] + ENDIF + lcCommand = STRTRAN( m.lcCommand, "$" + ALLTRIM( STR( m.lnI ) ) , m.lcSubMatch) + ENDFOR + + IF m.llevaluate + TRY + lcReplaceText = EVALUATE( m.lcCommand ) + CATCH TO loErr + lcReplaceText="[[ERROR #"+TRANSFORM(loErr.ERRORNO)+[ ]+loErr.MESSAGE+"]]" + ENDTRY + ELSE + lcReplaceText = m.lcCommand + ENDIF + lcText = STUFF( m.lcText, loMatch.FirstIndex + m.lnShift, m.loMatch.LENGTH, m.lcReplaceText ) + lnShift = m.lnShift + LEN( m.lcReplaceText ) - m.loMatch.LENGTH + ENDFOR + ELSE + lcText = loRE.REPLACE( m.tcSearched, m.tcReplacement ) + ENDIF + RETURN m.lcText +ENDFUNC + +*===================== +FUNCTION StripNonAscii + LPARAMETERS tcSourceString, tcReplaceString + +TEXT TO lcPattern NOSHOW +[^A-Za-z 0-9 \.,\?'""!@#\$%\^&\*\(\)-_=\+;:<>\/\\\|\}\{\[\]`~] +ENDTEXT + lcReplace = IIF(TYPE('tcReplaceString') <> 'C', "", tcReplaceString) + lcReturn = strtranx( m.tcSourceString, m.lcPattern, m.lcReplace,1,,1) + + RETURN m.lcReturn +ENDFUNC && StripNonAscii + +*===================== +* Intoarce un text care se potriveste cu pattern-ul +* Ex. Localitatea din textul: STRADA NR LOCALITATE +*===================== +FUNCTION GetRegExp + LPARAMETERS tcSourceString, tcPattern, tnOccurence + + * tcSourceString: Bld. Stefan cel Mare 14 Tirgu Neamt + * tcPattern: [A-Za-z\s]+$ = (caracter sau spatiu) de cel putin o data la sfarsitul liniei = Tirgu Neamt + * tcPattern: \d+[A-Za-z\s]+$ = oricate cifre (caracter sau spatiu) de cel putin o data la sfarsitul liniei = 14 Tirgu Neamt + + LOCAL loRE, loMatches, lcResult, lnOccurence + lcResult = '' + lnOccurence = IIF(!EMPTY(m.tnOccurence) and TYPE('tnOccurence') = 'N', m.tnOccurence, 1) + + loRE = CREATEOBJECT("vbscript.regexp") + WITH loRE + .PATTERN = m.tcPattern + .GLOBAL = .T. + .multiline = .T. + loMatches = loRE.Execute( m.tcSourceString) + IF loMatches.COUNT >= m.lnOccurence + lcResult = loMatches.Item(m.lnOccurence - 1).Value + ENDIF + loMatches = NULL + ENDWITH + + RETURN m.lcResult +ENDFUNC && GetRegExp + +*===================== +* Intoarce numarul potrivirilor si un parametru OUT array sau lista de numere facturi separate prin "," +* Ex. Toate numerele dintr-un text lnMatches = GetRegExpAll(lcSourceString, '\d+', @loMatches) +*===================== +FUNCTION GetRegExpAll + LPARAMETERS tcSourceString, tcPattern, taItems + + * tcSourceString: Bld. Stefan cel Mare 14 Tirgu Neamt + * tcPattern: [A-Za-z\s]+$ = (caracter sau spatiu) de cel putin o data la sfarsitul liniei = Tirgu Neamt + * tcPattern: \d+[A-Za-z\s]+$ = oricate cifre (caracter sau spatiu) de cel putin o data la sfarsitul liniei = 14 Tirgu Neamt + * taItems "A">taItems : array cu rezultatele (OUT) taItems[1..Result] sau taItems "C" lista facturi separate prin virgula + LOCAL loRE, loMatches, lnResults, lnItem + IF TYPE('taItems') = "A" + EXTERNAL ARRAY taItems + ELSE + taItems = "" + ENDIF + lnResult = 0 + + loRE = CREATEOBJECT("vbscript.regexp") + WITH loRE + .PATTERN = m.tcPattern + .GLOBAL = .T. + .multiline = .T. + loMatches = loRE.Execute( m.tcSourceString) + lnResults = loMatches.COUNT + IF TYPE('taItems') = "A" + DIMENSION taItems[m.lnResult] + FOR lnItem = 1 TO m.lnResult + taItems[m.lnItem] = loMatches.Item(m.lnItem-1).Value + ENDFOR + ELSE + FOR lnItem = 1 TO m.lnResults + taItems = taItems + IIF(m.lnItem > 1, ",", "") + loMatches.Item(m.lnItem-1).Value + ENDFOR + ENDIF + loMatches = NULL + ENDWITH + + RETURN m.lnResults +ENDFUNC && GetRegExp \ No newline at end of file diff --git a/programe/reglari_denominare2005.prg b/programe/reglari_denominare2005.prg new file mode 100644 index 0000000..9bf081c --- /dev/null +++ b/programe/reglari_denominare2005.prg @@ -0,0 +1,148 @@ +*** Note contabile pentru reglarea diferentelor provenite din denominare 01-07-2005 + +IF gnAn * 12 + gnLuna # 2005*12 + 7 + aMESSAGEBOX('Notele de reglare denominare se pot face doar in luna 07-2005',0+48,'Atentie') + RETURN +ENDIF + +lnButon = lans(77770) +IF lnButon <> 1 + IF USED('actactan') + USE IN actactan + ENDIF + RETURN +ENDIF + +lcContDenominare = gcCont_Denominare +lcAcontDenominare = gcAnalitic_Denominare + +SELECT actactan +SCATTER NAME loact +ZAP +*** REGLARE FACTURI-BALANTA PARTENERI *** +lcSel = [{call pack_denominare_reglari.ireg_vs_bal_parteneri(?gcS,?gnAn,?gnLuna)}] +lcCursor = 'crsDifParteneri' +lnSucces = goExecutor.oExecute(lcSel,lcCursor) + +IF lnSucces < 0 + amessagebox(goExecutor.cEroare,0+16,"Eroare") + RETURN +ENDIF + +SELECT actactan +APPEND FROM DBF(lcCursor) +IF USED(lcCursor) + USE IN (lcCursor) +ENDIF +SELECT actactan +REPLACE ALL id_set WITH 77771, explicatia WITH loact.explicatia, explicatia4 WITH 'REGLARE FACTURI-BALANTA PARTENERI' +REPLACE ALL id_fdoc WITH loact.id_fdoc, nract WITH loact.nract, dataact WITH loact.dataact, dataireg WITH loact.dataireg +REPLACE ALL scd WITH lcContDenominare, ascd WITH lcAcontDenominare FOR EMPTY(scd) OR ISNULL(scd) +REPLACE ALL scc WITH lcContDenominare, ascc WITH lcAcontDenominare FOR EMPTY(scc) OR ISNULL(scc) + +IF RECCOUNT('actactan') <> 0 + oscrie_in_fisiere(0) +ELSE + amessagebox('REGLARE FACTURI cu BALANTA PARTENERI' + Chr(10)+Chr(13)+Chr(10)+Chr(13) + 'Nu sunt diferente.' + CHR(13) + 'Nu s-a inregistrat nota contabila.',0+64,'Info') +ENDIF + + +*** REGLARE BALANTA PARTENERI-BALANTA ANALITICA *** +lcSel = [{call pack_denominare_reglari.bal_part_vs_bal_ana(?gcS,?gnAn,?gnLuna)}] +lcCursor = 'crsDifBalante' +lnSucces = goExecutor.oExecute(lcSel,lcCursor) + +IF lnSucces < 0 + amessagebox(goExecutor.cEroare,0+16,"Eroare") + RETURN +ENDIF + +SELECT actactan +ZAP +APPEND FROM DBF(lcCursor) +IF USED(lcCursor) + USE IN (lcCursor) +ENDIF +SELECT actactan +REPLACE ALL id_set WITH 77772, explicatia WITH loact.explicatia, explicatia4 WITH 'REGLARE BALANTA PARTENERI-BALANTA ANALITICA' +REPLACE ALL id_fdoc WITH loact.id_fdoc, nract WITH loact.nract, dataact WITH loact.dataact, dataireg WITH loact.dataireg +REPLACE ALL scd WITH lcContDenominare, ascd WITH lcAcontDenominare FOR EMPTY(scd) OR ISNULL(scd) +REPLACE ALL scc WITH lcContDenominare, ascc WITH lcAcontDenominare FOR EMPTY(scc) OR ISNULL(scc) + +IF RECCOUNT('actactan') <> 0 + oscrie_in_fisiere(0) +ELSE + amessagebox('REGLARE BALANTA PARTENERI cu BALANTA DE VERIFICARE ANALITICA' + Chr(10)+Chr(13)+Chr(10)+Chr(13) +'Nu sunt diferente.' + CHR(13) + 'Nu s-a inregistrat nota contabila.',0+64,'Info') +ENDIF + + +*** REGLARE BALANTA ANALITICA-SINTETICA *** +lcSel = [{call pack_denominare_reglari.bal_ana_vs_bal_sint(?gcS,?gnAn,?gnLuna)}] +lcCursor = 'crsDifBal' +lnSucces = goExecutor.oExecute(lcSel,lcCursor) + +IF lnSucces < 0 + amessagebox(goExecutor.cEroare,0+16,"Eroare") + RETURN +ENDIF + +SELECT actactan +ZAP +APPEND FROM DBF(lcCursor) +IF USED(lcCursor) + USE IN (lcCursor) +ENDIF +SELECT actactan +REPLACE ALL id_set WITH 77773, explicatia WITH loact.explicatia, explicatia4 WITH 'REGLARE BALANTA ANALITICA-SINTETICA' +REPLACE ALL id_fdoc WITH loact.id_fdoc, nract WITH loact.nract, dataact WITH loact.dataact, dataireg WITH loact.dataireg +REPLACE ALL scd WITH lcContDenominare, ascd WITH lcAcontDenominare FOR EMPTY(scd) OR ISNULL(scd) +REPLACE ALL scc WITH lcContDenominare, ascc WITH lcAcontDenominare FOR EMPTY(scc) OR ISNULL(scc) + +IF RECCOUNT('actactan') <> 0 + oscrie_in_fisiere(0) +ELSE + amessagebox('REGLARE BALANTA ANALITICA cu BALANTA SINTETICA' + Chr(10)+Chr(13)+Chr(10)+Chr(13) + 'Nu sunt diferente.' + CHR(13) + 'Nu s-a inregistrat nota contabila.',0+64,'Info') +ENDIF + + +*** REGLARE SOLDURI BALANTA SINTETICA *** +lcSel = [{call pack_denominare_reglari.bal_sintetica_total(?gcS,?gnAn,?gnLuna)}] +lcCursor = 'crsDifBal' +lnSucces = goExecutor.oExecute(lcSel,lcCursor) + +IF lnSucces < 0 + amessagebox(goExecutor.cEroare,0+16,"Eroare") + RETURN +ENDIF + +SELECT (lcCursor) +lnSumaD = debit +lnSumaC = credit + +IF USED(lcCursor) + USE IN (lcCursor) +ENDIF + +SELECT actactan +ZAP +IF lnSumaD <> 0 + APPEND BLANK + REPLACE scd WITH lcContDenominare, ascd WITH lcAcontDenominare, suma WITH lnSumaD +ENDIF +IF lnSumaC <> 0 + APPEND BLANK + REPLACE scc WITH lcContDenominare, ascc WITH lcAcontDenominare, suma WITH lnSumaC +ENDIF + +REPLACE ALL id_set WITH 77774, explicatia WITH loact.explicatia, explicatia4 WITH 'REGLARE SOLDURI BALANTA SINTETICA' +REPLACE ALL id_fdoc WITH loact.id_fdoc, nract WITH loact.nract, dataact WITH loact.dataact, dataireg WITH loact.dataireg + +IF RECCOUNT('actactan') <> 0 + oscrie_in_fisiere(0) +ELSE + amessagebox('REGLARE SOLDURI BALANTA SINTETICA' + Chr(10)+Chr(13)+Chr(10)+Chr(13) + 'Nu sunt diferente.' + CHR(13) + 'Nu s-a inregistrat nota contabila.',0+64,'Info') +ENDIF + +IF USED('actactan') + USE IN actactan +ENDIF \ No newline at end of file diff --git a/programe/roa.prg b/programe/roa.prg new file mode 100644 index 0000000..8650e51 --- /dev/null +++ b/programe/roa.prg @@ -0,0 +1,1229 @@ +Define Class RoaApp As Custom + + Dimension aVersiune[12] + Dimension aforms[1] && Forms collection for application object. + Dimension aformnames[1] && Form name collection for application object. + + lParametri = .F. + cHost = Null + cUserName = Null + cPassword = Null + nIdUtil = 0 + nIdProgram = 0 + nAn = 0 + nLuna = 0 + cSchema = Null + nIdFirma = 0 + cLastSetTalk = Null + cLastSetPath = Null + cLastSetClassLib = Null + cMainClassLib = Null + + cNumeProgram = Null + cAppName = Null + cAppPath = Null + cUtilizatoriPath = Null + cDirMare = Null + + cLocalePath = Null + lTraducere = .F. + oLocale = Null + + cGeneralIniFile = Null + cSecurityFile = Null + lnewcryptxml = .T. + lnewcryptfll = .T. + + lQuit = .F. + + oLog = Null + oExecutor = Null + oConn = Null + oMyXMLHTTP = Null + oBaraFavorite = Null + oBaraManual = Null + oCalendar = Null + oExport = Null + + lFontCharSet = .F. + + cStartUpForm = "" + cStartUpMenu = "" && Menu (MPR) which is executed when the application object is shown. + Protected ccaption + ccaption = "" && Caption of the application object. + Protected cicon + cicon = "" && Icon of the application object. + Protected clasticon + clasticon = "" && Last icon setting of _screen before application object was intantiated. + Protected clastcaption + clastcaption = "" && Last caption setting of _screen before application object was intantiated. + nformcount = 0 && Forms collection count for application object. + npixeloffset = 22 && Number of pixels which offset multiple instances of the same form. + lcascadeforms = .T. && Specifies whether forms are cascaded if multiple instances of the same form are opened in the same top and left positions of the desktop. + lreadevents = .T. && Enable READ EVENTS within ReadEvents method. + Name = "roaapplication" + cReportPreviewer = "" + cReportPreviewerPath = "" + + + Function initializeaza + Lparameters tParametri,tcNumeProgram,tcMainClassLib + Local llReturn + llReturn = .F. + This.ResetFormsCollection() + This.cNumeProgram = tcNumeProgram + This.cMainClassLib = tcMainClassLib + If This.verificaProgram() + If This.citesteParametri(tParametri) + This.initializeazaFunctiiWin() + This.initializeazaEnv() + This.initializeazaCai() + This.initializeazaClassLib() + This.initializeazaProceduri() + This.initializeazaSettingsIni() + This.initializeazaSecurity() + This.initializeazaReportPreviewer() + This.initializeazaLocale() + This.initializeazaVariabile() + This.initializeazaVariabileGlobale() + This.initializeazaObiecte() + This.initializeazaObiecteGlobale() + llReturn = .T. + Endif + Endif + Return llReturn + Endfunc + + Function verificaProgram + Local llReturn + llReturn = .T. + If !Like(This.cNumeProgram + '*', Upper(Alltrim(Juststem(Sys(16,0))))) AND _VFP.StartMode <> 0 + Messagebox("Nu puteti porni acest program!",0+16,"Atentie") + llReturn = .F. + Else + _Screen.Icon=This.cNumeProgram + [.ICO] + Endif + Return llReturn + Endfunc + + Procedure initializeazaFunctiiWin + Declare Integer GetShortPathName In Win32API; + STRING @lpszLongPath, String @lpszShortPath,; + INTEGER cchBuffer + + Declare Integer GetPrivateProfileString In Kernel32 ; + string, String, String, String @, Integer, String + + Declare Integer WritePrivateProfileString In Kernel32 string, String, String, String + + Declare Integer CopyFile In kernel32 STRING lpExistingFileName, STRING lpNewFileName, INTEGER bFailIfExists + + Declare Integer MoveFile In Win32API String @cSource, String @cTarget + + Declare Integer DeleteFile In kernel32 String @pFileName + + Declare Integer URLDownloadToFile In urlmon.Dll; + INTEGER pCaller, String szURL, String szFileName,; + INTEGER dwReserved, Integer lpfnCB + + Declare Integer PathFileExists In shlwapi; + STRING pszPath + Endproc + + Function ShortPath + Lparameter tcPath + Local lcPath, lcShortName, lnLength, lnResult + lcPath = tcPath + lcShortName = Space(260) + lnLength = Len(lcShortName) + lnResult = GetShortPathName(@lcPath, @lcShortName, lnLength) + If lnResult = 0 + Return "" + Endif + Return Left(lcShortName,lnResult) + Endfunc + + Function GetAppStartPath + Local lcPath + Do Case +*** VFP 6 provides ServerName property for COM servers EXE/DLL/MTDLL + Case Inlist(Application.StartMode,2,3,5) + lcPath = Justpath(Application.ServerName) +*!* *** Interactive +*!* CASE (Application.StartMode) = 0 +*!* lcPath = SYS(5) + CURDIR() +*** Active Document + Case Atc(".APP",Sys(16,0)) > 0 + lcPath = Justpath(Sys(16,0)) +*** Standalone EXE or VFP Development + Otherwise + lcPath = Justpath(Sys(16,0)) + If Atc("PROCEDURE",lcPath) > 0 + lcPath = Substr(lcPath,Rat(":",lcPath)-1) + Endif + Endcase + Return Addbs(lcPath) + Endfunc + + ************************************************************************ + * wwAPI :: CopyFile + ********************************* + *** Function: Copies File. Faster than Fox Copy and handles + *** errors internally. + *** Pass: tcSource - Source File + *** tcTarget - Target File + *** tnFlag - 0* override, 1 don't + *** Return: .T. or .F. + ************************************************************************ + Function CopyFile + Lparameters lcSource, lcTarget, lnFlag + Local lnRetVal + + *** Copy File and overwrite + lnFlag = Iif(Type("nFlag") = "N", nFlag, 0) + lnRetVal = CopyFile(m.lcSource, m.lcTarget, m.lnFlag) + + Return Iif(m.lnRetVal = 0, .F., .T.) + Endproc + + ************************************************************************ + * wwAPI :: MoveFile + ********************************* + *** Function: Rename/Moves a file + *** Pass: tcSource - Source File + *** tcTarget - Target File + *** Return: .T. or .F. + ************************************************************************ + Function MoveFile + Lparameters lcSource, lcTarget + Local lnRetVal + + lnRetVal = MoveFile(m.lcSource, m.lcTarget) + + Return Iif(m.lnRetVal = 0, .F., .T.) + Endfunc + + ************************************************************************ + * wwAPI :: MoveFile + ********************************* + *** Function: Deletes a file + *** Pass: tcFile - File path + *** Return: .T. or .F. + ************************************************************************ + Function DeleteFile + Lparameters tcFile + Local lnRetVal + + lnRetVal = DeleteFile(m.tcFile) + + Return Iif(m.lnRetVal = 0, .F., .T.) + ENDFUNC + + *-------------------------------------------- + * Check file exist + * Return .T. / .F. + FUNCTION FileExist + LPARAMETERS tcFileName + LOCAL ARRAY laDirFiles[1,5] + LOCAL llExist + llExist = .F. + IF !EMPTY(m.tcFileName) + IF ADIR(laDirFiles, m.tcFileName) > 0 + llExist = .T. + ENDIF + ENDIF + RETURN m.llExist + ENDFUNC && FileExist + + *-------------------------------------------- + Function ShowErrorEx + Lparameters toEx, tcMesaj + * tcMesaj (optional): mesaj suplimentar + Local loEx as Exception, lcMesaj + loEx = m.toEx + lcMesaj = IIF(!EMPTY(m.tcMesaj), ALLTRIM(TRANSFORM(m.tcMesaj)) + CHR(13) + CHR(10), '') + + amessagebox(lcMesaj + ; + loEx.Message + Chr(13) + Chr(10) + ; + 'Eroare #' + Alltrim(Str(loEx.ErrorNo)) + Chr(13) + Chr(10) + ; + 'Linia #' + Alltrim(Str(loEx.Lineno)) + Chr(13) + Chr(10) + ; + 'Procedura ' + loEx.Procedure + Chr(13) + Chr(10) + ; + 'Cod ' + loEx.LineContents + CHR(13) + CHR(10) + ; + GETCALLSTACK(), 0 + 16, _Screen.Caption) + ENDFUNC + + ************************************************************************ + Procedure Lista2Array + Lparameters tcLista,taArray,tcSeparator +&& tcLista este un sir de caractere care contine elementele separate prin <;> default +&& tarray este vectorul care se completeaza - trebuie dat prin referinta +&& tcSeparator separatorul de elemente din tcLista - default este ";" - este optional +&& intoarce numarul de elemente gasite +&& ex: lnNr = lista2array("ana;are;mere",@alista,";") + External Array taArray + Local Lclista,lcSeparator,lnNRF,lcF1,i + lnNRF = 0 + + Lclista=Allt(tcLISTA) + If Parameters()<3 Or Empty(tcSeparator) + lcSeparator=";" + Else + lcSeparator=Alltrim(tcSeparator) + Endif + + If Right(Lclista,1)!=lcSeparator + Lclista=Lclista+lcSeparator + Endif + + lnNRF=Occurs(lcSeparator,Lclista) + + If lnNRF>0 + Dimension taArray[lnNrf,1] + + For i=1 To lnNRF + lcF1=Left(Lclista,At(lcSeparator,Lclista)-1) + + If i!=lnNRF + Lclista=Substr(Lclista,At(lcSeparator,Lclista)+1) + Endif + + taArray[i]=lcF1 + Endfor + Else + lnNRF = 0 + Endif + + Return lnNRF + + Endproc && lista2array + + Function citesteParametri + Lparameters tParametri + Local llReturn, lcParametri, lnNr + Private paParametri + Declare paParametri[1] + llReturn = .T. + If Type('tParametri') = 'C' + This.lParametri = .T. + lcParametri = Alltrim(tParametri) + lnNr = This.lista2array(lcParametri,@paParametri,";") + Do Case + Case lnNr < 5 + aMessagebox('Numar incorect de parametri',0+16,'Eroare') + llReturn = .F. + Case Type('paParametri',1)<>"A" + llReturn = .F. + Otherwise + This.cHost = paParametri[1] + This.cUserName = paParametri[2] + This.cPassword = paParametri[3] + This.nIdUtil = Round(Val(paParametri[4]),0) + This.nIdProgram = Round(Val(paParametri[5]),0) + If Alen(paParametri,1)=10 + This.nAn = Val(paParametri[7]) + This.nLuna = Val(paParametri[8]) + This.cSchema = paParametri[9] + This.nIdFirma = Val(paParametri[10]) + Endif + Endcase + Else + This.lParametri = .F. + This.cHost = '' + This.cUserName = '' + This.cPassword = '' + This.nIdUtil = 0 + This.nIdProgram = 0 + This.nAn = 0 + This.nLuna = 0 + This.cSchema = '' + This.nIdFirma = -1 + Endif + Release paParametri, lcParametri, lnNr + Return llReturn + Endfunc + + Procedure initializeazaEnv + This.cLastSetTalk = Set("TALK") + This.clastcaption=_Screen.Caption + This.clasticon=_Screen.Icon + This.lFontCharSet = AFONT(laFontCharSet,"Arial Narrow",238) + + Push Menu _Msysmenu + Set Century On + Set Deleted On + Set Date To Dmy + Set Exclusive Off + Set Cpdialog Off + Set Talk Off + Set Safety Off + Set Escape Off + Set Exact On + Set Mark To '/' + Set Ansi On + Set Console Off + Set Notify Off + Set Seconds Off + Set NullDisplay To '' + Set Decimals To 4 + Set Point To '.' + SET HOURS TO 24 + Set SQLBUFFERING On + _Screen.Visible=.F. + _Screen.AutoCenter=.T. + +* On Shutdown do onShutDown() + On Error goApp.ErrorHandler(Error(),Program(),Lineno()) + Endproc + + Procedure restaureazaEnv + On Error + On Shutdown + If Not Empty(This.clastcaption) And Not _Screen.Caption==This.clastcaption + _Screen.Caption=This.clastcaption + Endif + If Not Empty(This.clasticon) And Not _Screen.Icon==This.clasticon + _Screen.Icon=This.clasticon + Endif + If Not This.cLastSetClassLib==Set("classlib") AND !EMPTY(This.cMainClassLib) + Release Classlib (This.cMainClassLib) + Endif + If Empty(NVL(This.cLastSetPath, '')) + Set Path To + Else + Set Path To (This.cLastSetPath) + Endif + If This.cLastSetTalk=="ON" + Set Talk On + Else + Set Talk Off + Endif + + If Cntbar("_msysmenu")=7 + Return + Endif + Set Classlib To + Set Path To + * Clear All + + * Close All + Pop Menu _Msysmenu + Endproc + + Procedure initializeazaCai + This.cLastSetPath=Set("PATH") + This.cAppPath = Addbs(This.ShortPath(This.GetAppStartPath())) + If Right(This.cAppPath ,9)="PROGRAME\" + This.cAppPath = Substr(This.cAppPath ,1,Len(This.cAppPath )-9) + Endif + This.cAppName=Allt(Uppe(Juststem(Sys(16,0)))) + This.cUtilizatoriPath = This.cAppPath + "UTILIZATORI\" + This.cDirMare = Addbs(Left(This.cAppPath,Rat("\",This.cAppPath,2)-1)) + + Set Default To (This.cAppPath) + lcPath = This.cAppPath + 'Date;' + ; + This.cAppPath + 'Include;' + ; + This.cAppPath + 'FERESTRE;' + ; + This.cAppPath + 'GRAFICE;' + ; + This.cAppPath + 'CLASE;' + ; + This.cAppPath + 'MENIURI;' + ; + This.cAppPath + 'PROGRAME;' + ; + This.cAppPath + 'RAPOARTE;' + ; + This.cAppPath + 'COMUN\CLASE;' + ; + This.cAppPath + 'COMUN\FERESTRE;' + ; + This.cAppPath + 'COMUN\PROGRAME;' + ; + This.cAppPath + 'COMUN\GRAFICE;' + ; + This.cAppPath + 'COMUN\RAPOARTE;' + ; + This.cAppPath + 'COMUN\UTILE\CTL32;' + ; + This.cAppPath + 'COMUN\UTILE\HPDF;' + ; + This.cAppPath + 'COMUN\UTILE\HPDF\REPORTOUTPUT;' + ; + This.cAppPath + 'COMUN\UTILE\WEB;' + ; + This.cAppPath + 'COMUN\UTILE\CALENDAR;' + ; + This.cAppPath + 'COMUN\UTILE\GridExtras;' + ; + This.cAppPath + 'COMUN\UTILE\nfjson;' + ; + This.cAppPath + 'COMUN\UTILE\tooltip;' + ; + This.cAppPath + 'COMUN\UTILE\excel;' + ; + This.cAppPath + 'COMUN\UTILE\Menu;' + ; + This.cAppPath + 'COMUN\UTILE\email;' + ; + This.cDirMare + 'COMUNROA\' + + Set Path To &lcPath Additive + This.initializeazaAlteCai() + Endproc + + Procedure initializeazaAlteCai +*!* suprascrisa in fiecare aplicatie care are cai suplimentare +*!* la sfarsit trebuie sa aiba SET PATH TO ... ADDITIVE + Endproc + + Procedure initializeazaClassLib + This.cLastSetClassLib=Set("CLASSLIB") + If !Empty(Nvl(This.cMainClassLib,[])) + Set Classlib To (This.cMainClassLib) Additive + Endif +*!* _ + Set Classlib To _calendar.vcx Additive +*!* A + Set Classlib To appwiz Additive + Set Classlib To accessibility Additive +*!* B + Set Classlib To baza Additive +*!* C + Set Classlib To CAUT Additive + Set Classlib To caut_ora Additive + Set Classlib To cauta_alfa_forms Additive +*!* D + Set Classlib To decabaza Additive +*!* F + Set Classlib To ferestre_cere_date Additive + Set Classlib To ferestre_oracle Additive +*!* L + Set Classlib To locale Additive +*!* M + Set Classlib To Messagebox Additive +*!* O + Set Classlib To ofirma Additive + *Set Classlib To onom_sal Additive + Set Classlib To onomenclatoare Additive + Set Classlib To ooptiuni Additive + *Set Classlib To opersonal Additive + Set Classlib To otoolbar Additive + SET CLASSLIB TO ocriterii ADDITIVE +*!* R + Set Classlib To registry Additive +*!* V + SET CLASSLIB TO vfpxworkbookxlsx ADDITIVE +*!* W + Set Classlib To wwdialogs Additive + + + This.initializeazaAlteClassLib() + + Set Library To (This.cDirMare+[COMUNROA\vfpencryption.fll]) Additive + Endproc + + + Procedure initializeazaAlteClassLib +*!* suprascrisa in fiecare aplicatie care are clase suplimentare + Endproc + + Procedure initializeazaProceduri +*!* _ + Set Procedure To _libpdf Additive +*!* A + Set Procedure To acces_meniu Additive + Set Procedure To acces_meniu2 Additive +*!* B + Set Procedure To build_err_msgs Additive +*!* C + Set Procedure To cauta_alfa Additive +*!* F + Set Procedure To filebringer Additive + Set Procedure To frxoutput Additive +*!* G + Set Procedure To gencursor Additive +*!* I + Set Procedure To ini Additive + Set Procedure To iniacces Additive + Set Procedure To init_program Additive +*!* O + Set Procedure To ocautare Additive + Set Procedure To oExport Additive + Set Procedure To oinit_optiuni Additive + Set Procedure To onomenclatoare Additive + Set Procedure To ooperatii_comune Additive + Set Procedure To oproceduri_ams Additive + Set Procedure To oproceduri_comune Additive + Set Procedure To oproceduri_maintenance Additive + Set Procedure To osecurity Additive + Set Procedure To oupdate Additive +*!* P + Set Procedure To pdflistener Additive + Set Procedure To proceduri_comune Additive + Set Procedure To proceduri_Excel Additive + Set Procedure To procese.prg Additive +*!* R + SET PROCEDURE TO regex.prg ADDITIVE +*!* Q + Set Procedure To quitapp Additive + Set Procedure To updateserver Additive +*!* V + Set Procedure To validare Additive + Set Procedure To Version Additive +*!* W + Set Procedure To This.cAppPath + "\COMUN\UTILE\web\WWAPI.PRG" Additive + Set Procedure To wwconfig Additive + Set Procedure To wwcodeupdate Additive + Set Procedure To wwhttp Additive + Set Procedure To This.cAppPath + "\COMUN\UTILE\web\WWUTILS.PRG" Additive + Set Procedure To wwxmlhttp Additive +*!* X + Set Procedure To xmlaccess Additive + Set Procedure To xmlparser Additive + + This.initializeazaAlteProceduri() + Endproc + + Procedure initializeazaAlteProceduri +*!* suprascrisa in fiecare aplicatie care are proceduri suplimentare + Endproc + + Procedure initializeazaLocale + Local lcObjLocale, lcLanguage, llLocale, lcLocale, lcLocalePath + lcLocalePath = This.cAppPath + "Locale\" + If Directory(lcLocalePath) + This.cLocalePath = lcLocalePath + This.lTraducere = .F. + Endif + lcLanguage = getini(This.cGeneralIniFile,"locale","lang") + llLocale = getini(This.cGeneralIniFile,"locale","llocale") + If Empty(lcLanguage) OR UPPER(m.lcLanguage) = 'ROMANA' + lcLocale = 'Romana' + lcObjLocale = [Locale_dummy] + Else + lcLocale = lcLanguage + lcObjLocale = [Locale] + Endif + This.oLocale=Newobject(lcObjLocale,"Locale.vcx") + If !Empty(llLocale) And llLocale<>'0' + This.oLocale.llocale=.T. + Endif + This.oLocale.locale = lcLocale + Release lcObjLocale, lcLanguage, llLocale, lcLocale, lcLocalePath + Endproc + + Procedure initializeazaReportPreviewer + This.cReportPreviewer = "FoxyPreview" + This.cReportPreviewerPath = This.cDirMare + "COMUNROA\" + Endproc + + Procedure initializeazaSettingsIni + Local lcSettings + This.cGeneralIniFile = This.cDirMare + "settings.ini" + If !File(This.cGeneralIniFile) + TEXT TO lcSettings NOSHOW +[errors] +host=http://83.103.197.79:3000/errors/create_xml + ENDTEXT + + Strtofile(lcSettings, This.cGeneralIniFile) + Endif + Release lcSettings + Endproc + + Procedure initializeazaSecurity + Local lnValid + This.cSecurityFile = This.cDirMare + 'Security\ROA_SECURITY.TXT' + If !This.lParametri + lnValid = This.getcrsSecurity() + If lnValid > 0 + If Used('crsHost') + Select crsHost + Go Top + This.cHost = Alltrim(Host) + This.cUserName = Alltrim(schema) + This.cPassword = Alltrim(pwd) + Use In crsHost + Endif + Endif + Endif + Release lnValid + Endproc + + Procedure initializeazaObiecte + This.oLog = Newobject("Log_Mesaje","Log_Mesaje.prg") + This.oExecutor = Createobject("oExecutor") + This.oConn = Createobject("oConn") + This.oExport = Createobject("oExportConfig") + This.oMyXMLHTTP = Createobject("MyXMLHTTP", getini(This.cGeneralIniFile,'errors','host')) + This.oBaraFavorite = Null + This.oBaraManual = Null + This.oCalendar = Null + Endproc + + Procedure initializeazaVariabile +*!* Public CRLF,CR,LF,Tab + CR=Chr(13) + LF=Chr(10) + CRLF = CR + LF + Tab=Chr(9) + Agetfileversion(This.aVersiune,Sys(16,0)) + This.SetCaption(Iif(Alen(This.aVersiune,1)<10,This.cNumeProgram,This.aVersiune(10))) + This.cStartUpMenu = This.cAppPath + "meniuri\" + This.cNumeProgram + '.mpr' + This.cStartUpForm = This.cAppPath + "comun\ferestre\frm_login.scx" + Endproc + + Procedure initializeazaVariabileGlobale +*!* Public gcNumeProgram, NUMEPROGRAM, MENIUPROGRAM, FUNDALPROGRAM + gcNumeProgram = This.cNumeProgram + _program = This.cNumeProgram + NUMEPROGRAM = This.ccaption + MENIUPROGRAM = This.cStartUpMenu + +*!* Public pcNl, pcAn, gcAcces, gcAppPath, gcAppName, gcUtilizatoriPath, gcDirMare, DIRGEN, gcTempPath, ; +*!* glParametri, gcHost, gcUsername, gcPassword, gcUserNameApp, gcPasswordApp, gnIdUtil, gnIdProgram, ; +*!* gnAn, gnLuna, gcS, gnIdFirma, gcGeneralIniFile, gcSecurityFile, gnHandle, gnButon, BUTON, gcFirma, gcBasePath + Store "" To pcNl,pcAn && se initializeaza in start00 + gcAcces = [] + gcAppPath = This.cAppPath + gcAppName = This.cAppName + gcUtilizatoriPath = This.cUtilizatoriPath + gcDirMare = This.cDirMare + gcComunPath = This.cDirMare+[COMUNROA\] + DIRGEN = This.cDirMare + gcBasePath = This.cDirMare + gcTempPath = [] && o citesc in oinit_optiuni.prg + glParametri = This.lParametri + gcHost = This.cHost + gcUsername = This.cUserName + gcPassword = This.cPassword + gcUserNameApp = [] && le citesc in frm_login + gcPasswordApp = [] && + gnIdUtil = This.nIdUtil + gnIdProgram = This.nIdProgram + gnAn = This.nAn + gnLuna = This.nLuna + gcS = This.cSchema + gnIdFirma = This.nIdFirma + If !Empty(Nvl(This.cLocalePath,[])) + Private gcLocalePath, goLocale, glTraducere + gcLocalePath = This.cLocalePath + glTraducere = This.lTraducere + goLocale = This.oLocale + Endif + gcLocale = This.oLocale.locale + gcGeneralIniFile = This.cGeneralIniFile + gcSettingsFile = This.cGeneralIniFile + gcSecurityFile = This.cSecurityFile + gnHandle = -1 + gnButon = 2 + BUTON = 2 + gcFirma = [] + glFontCharSet = This.lFontCharSet + gcReportPreviewer = This.cReportPreviewer + gcReportPreviewerPath = This.cReportPreviewerPath + +*!* Private gcCopyRight, pcTitlu + pcTitlu = [] + gcCopyRight = '© ROA Romfast SRL' + +*!* Private glUltimaLuna, glPrimaLuna, glLunaBuna, glLuna_neplatita, glLunaInchisa +*!* Private glQuit, pl_verificat + Store .F. To glUltimaLuna, glPrimaLuna, glLunaBuna, glLuna_neplatita, glLunaInchisa + Store .F. To glQuit, pl_verificat + +*!* Public gnewcryptfll, gnewcryptxml, gTransferTotal + Store -1 To gTransferTotal + gnewcryptfll = This.lnewcryptfll + gnewcryptxml = This.lnewcryptxml +&& ALTELE +*!* Declare nror[65000] +*!* Declare RTVA[22,2] +*!* Public luna_inchisa, luna_neplatita, PRIMADATA, m.ctva, m.ctvam, m.ctvai, antet, m.nivel +*!* Public OStart,OSETVIZ,OSETTULBAR,OSETINSTRUM,orm,OTEXT,OJUR,osetgest,tlbr_INSTR,tlbr_VIZ,oprinc +*!* Public pcapsocsub,pcapsocvar + pcapsocsub=0 + pcapsocvar=0 +*!* Public a4 + a4=.T. + m.nrgrup=999 + + Store .F. To luna_inchisa,tlbr_INSTRum,tlbr_VIZ + Store 1 To col_menu + Store .T. To PRIMADATA,luna_neplatita + + This.initializeazaAlteVariabileGlobale() + Endproc + + Procedure initializeazaAlteVariabileGlobale +*!* suprascrisa in fiecare aplicatie care are variabile globale suplimentare + Endproc + + Procedure initializeazaObiecteGlobale +*!* Private poLog, goLog, oTool, oHelp, goExecutor, goConn, goMyXMLHTTP, goCalendar, goExport, goUtilizator, goFundal, goFirma + poLog = This.oLog + goLog = This.oLog + oTool = This.oBaraFavorite + oHelp = This.oBaraManual + goExecutor = This.oExecutor + goConn = This.oConn + goMyXMLHTTP = This.oMyXMLHTTP + goCalendar = This.oCalendar + goExport = This.oExport + goUtilizator = Null + goFundal = Null + goFirma = Null + + This.initializeazaAlteObiecteGlobale() + Endproc + + Procedure initializeazaAlteObiecteGlobale +*!* suprascrisa in fiecare aplicatie care are obiecte globale suplimentare + Endproc + + Procedure lanseazaAplicatie + _Screen.Visible = .T. + _Screen.WindowState=2 + + This.DoMenu(This.cStartUpMenu) + This.DoForm(This.cStartUpForm) + This.ReadEvents() + Endproc + + Procedure getcrsSecurity + Lparameters tcSecurityFile +*!* SECURITY.TXT - NECRIPTAT +*!* SECURITY.XML - CRIPTAT +*!* DACA EXISTA SECURITY.XML - PARSEZ XML, ALTFEL PARSEZ TXT +*!* gnewcryptxml - daca roa_security.xml are criptare noua(blowfish) +*!* gnewcryptfll - daca exista vfpencryption.fll +*!* 19.05.2009 +*!* nu mai exista fisiere roa_security.xml cu criptarea veche (windows api) +*!* gnewcryptxml=.F. + + Local lcSecurityFile, lcSecurityPath, lcCursor, lnValid, llSucces, lcSecurityFileXML + lcCursor = "crsHost" + If !Empty(tcSecurityFile) + lcSecurityFile = tcSecurityFile + Else + lcSecurityFile = This.cSecurityFile + Endif + lcSecurityFileXML = Forceext(lcSecurityFile,'xml') + lcSecurityPath = Addbs(Justpath(lcSecurityFile)) + lnValid = 0 + llSucces = .T. + If !Directory(lcSecurityPath) + Try + Md (lcSecurityPath) + Catch + aMessagebox('Nu se poate crea directorul ' + lcSecurityPath + '!',0+16,'Atentie') + Endtry + Endif + + If !(File(lcSecurityFile) Or File(lcSecurityFileXML)) + Cd (lcSecurityPath) + If !File(lcSecurityFileXML) + lcSecurityText = 'ROA;CONTAFIN_ORACLE;123;' + lcSecurityText = Inputbox('Host(DSN);SCHEMA;SCHEMA_PASSWORD;1;','Server',lcSecurityText) + lcSecurityText = Alltrim(lcSecurityText) + If !Empty(lcSecurityText) + If Right(lcSecurityText,1) # ';' + lcSecurityText = lcSecurityText + ';' + Endif + Else + llSucces = .F. + Endif + Endif + + If llSucces + Try + If !(File(lcSecurityFileXML) Or File(lcSecurityFile)) +*!* SECURITY.TXT + Strtofile(lcSecurityText, lcSecurityFile) +*!* SECURITY.TXT ^ + Endif +*!* SECURITY.XML + If !File(lcSecurityFileXML) + Create Cursor cXML (Host c(50), schema c(50), pwd c(50)) + Insert Into cXML (Host, schema, pwd) Values("ROA","CONTAFIN_ORACLE","ENCRYPTED PWD") + Cursortoxml("cXML",lcSecurityFileXML, 1, 512, 0, "1") + Use In cXML + Endif +*!* SECURITY.XML ^ + Catch + aMessagebox('Nu s-a putut crea fisierul ' + lcSecurityFile,0+16,'Atentie') + llSucces = .F. + Endtry + Endif + Endif + + If llSucces + If !File(lcSecurityFile) And !File(lcSecurityFileXML) + aMessagebox('Nu exista fisierul ' + lcSecurityFile,0+16,'Atentie') + llSucces = .F. + Endif + Endif + + If llSucces + If Used(lcCursor) + Use In (lcCursor) + Endif + +&& daca exista security.xml - il transform in cursorul cXML si completez crsHost + Create Cursor (lcCursor)(Host c(100), schema c(100), pwd v(100), IsEncrypted c(1)) + If File(lcSecurityFileXML) + Try + lcSecurityText = Filetostr(lcSecurityFileXML) + Xmltocursor(lcSecurityFileXML, "cXML", 512) + Select cXML + Go Top + Scatter Name lofirstrecord + + If lofirstrecord.Host="ENCRYPTION" + This.lnewcryptxml=.T. + Delete + Else + This.lnewcryptxml=.F. + Endif + + Insert Into (lcCursor) (Host, schema, pwd, IsEncrypted) ; + SELECT Host, schema, pwd, "1" As IsEncrypted ; + FROM cXML + lnValid = Reccount('cXML') + + Use In cXML + Catch To loex + goApp.ErrorHandler(loex.ErrorNo,loex.Procedure,loex.Lineno) + Finally + Use In (Select('cXML')) + Endtry + + Else +* CREATE CURSOR (lcCursor)(HOST c(100), Schema c(100), Pwd v(100), IsEncrypted c(1)) + lcSecurityText = Filetostr(lcSecurityFile) + Local laHost + Dimension laHost[1] + + lnLen = Alines(laHost, lcSecurityText) + + If lnLen > 0 + For i = 1 To lnLen + lcLinie = laHost[i] + + lcHost = Getwordnum(lcLinie, 1, ';') + lcSchema = Getwordnum(lcLinie, 2, ';') + lcPassword = Getwordnum(lcLinie, 3, ';') + lcMode = "0" && necriptat - security.txt + + If Empty(lcHost) Or Empty(lcSchema) Or Empty(lcPassword) + Loop + Endif + + lnValid = lnValid + 1 + Insert Into &lcCursor (Host, schema, pwd, IsEncrypted) Values (lcHost, lcSchema, lcPassword, Iif(Empty(lcMode), '0', lcMode)) + Endfor + Endif + Endif + Endif + + Return lnValid + Endproc + + Procedure Release + RETURN + If Not This.ReleaseForms() + Return .F. + Endif + This.ClearEvents() + Release This + Endproc + +*-- Executes an SCX form. + Procedure DoForm + Lparameters tcFileName,tcClass,tlNoMultipleInstances,tlNoShow + Local lcFileName,lcClass,oForm,oForm2,lcName,lnCount,lnTop,lnLeft + Local lcFormName,lnFormCount + _Screen.Visible=.T. + lcFileName=Alltrim(tcFileName) + If Empty(lcFileName) + Return .F. + Endif + lcClass=Iif(Type("tcClass")=="C",Lower(Alltrim(tcClass)),"") + lcFileName=Lower(Fullpath(lcFileName)) + If Not "."$lcFileName + lcFileName=lcFileName+Iif(Empty(lcClass),".scx",".vcx") + Endif + If Not File(lcFileName) + This.FileNotFoundMsgBox(lcFileName) + Return .F. + Endif + lcFormName=Iif(Empty(lcClass),lcFileName,lcFileName+","+lcClass) + If tlNoMultipleInstances + For lnCount = 1 To This.nformcount + If This.aformnames[lnCount]==lcFormName And ; + TYPE("this.aForms[lnCount]")=="O" And ; + NOT Isnull(This.aforms[lnCount]) + This.aforms[lnCount].Show + Return .F. + Endif + Endfor + Endif + This.RefreshFormsCollection + This.nformcount=This.nformcount+1 + Dimension This.aforms[this.nFormCount],This.aformnames[this.nFormCount] + This.aformnames[this.nFormCount]=lcFormName + If Not Empty(lcClass) + Set Classlib To (lcFileName) Additive + This.aforms[this.nFormCount]=Createobject(lcClass) + If Not tlNoShow And Type("this.aForms[this.nFormCount]")=="O" And ; + NOT Isnull(This.aforms[this.nFormCount]) + This.aforms[this.nFormCount].Show + Endif + Else + Do Form (lcFileName) Name This.aforms[this.nFormCount] Linked Noshow + Endif + lnFormCount=This.nformcount + This.RefreshFormsCollection + If This.lcascadeforms And This.nformcount>=lnFormCount + oForm=This.aforms[this.nFormCount] + lnTop=oForm.Top + lnLeft=oForm.Left + lcName=oForm.Name + If Wexist(lcName) And oForm.WindowState#2 + For lnCount = 1 To (This.nformcount-1) + oForm2=This.aforms[lnCount] + If Type("oForm2")#"O" Or Isnull(oForm2) + Loop + Endif + If lcName==oForm2.Name And Wlrow(lcName)=Wlrow(oForm2.Name) And ; + WLCOL(lcName)=Wlcol(oForm2.Name) + lnTop=lnTop+This.npixeloffset + lnLeft=lnLeft+This.npixeloffset + Endif + Endfor + If oForm.Top#lnTop + oForm.Top=lnTop + Endif + If oForm.Left#lnLeft + oForm.Left=lnLeft + Endif + Endif + Endif + + If !(tlNoShow Or ('LOGIN'$Upper(lcFileName) And This.lParametri)) + This.aforms[this.nFormCount].Show + Endif + Endproc + + Procedure DoMenu + Lparameters tcFileName + Local lcFileName + lcFileName=Alltrim(tcFileName) + If Empty(lcFileName) + Return .F. + Endif + If At('.', lcFileName) = 0 + lcFileName = lcFileName + '.mpr' + ENDIF + + If File(lcFileName) + If Type('This.oLocale') = '0' + This.oLocale.SetMenu(lcFileName,"menu", Null) + Endif + Do &lcFileName + Endif + Endproc + + Procedure ClearEvents + Clear Events + Endproc + +*-- Starts read events mode. + Procedure ReadEvents + This.BeforeReadEvents() + + RETURN + + If This.lreadevents + Read Events + Endif + Endproc + +*-- Sets the caption of the application. + Procedure SetCaption + Lparameters tcCaption + + If Type("tcCaption")#"C" + Return .F. + Endif + This.ccaption=tcCaption + _Screen.Caption=tcCaption + Endproc + + +*-- Sets the icon of the application. + Procedure seticon + Lparameters tcIcon + If Type("tcIcon")#"C" + Return .F. + Endif + This.cicon=tcIcon + _Screen.Icon=tcIcon + Endproc + +*-- Returns the caption of the application. + Procedure getcaption + Return This.ccaption + Endproc + +*-- Returns the icon of the application. + Procedure geticon + Return This.cicon + Endproc + +*-- Occurs when the user attempts to exit Visual FoxPro. + Procedure onShutDown + Local loMesaj + + If This.lQuit + Quit + Endif + + loMesaj=Createobject('frm_mesaj', This.cNumeProgram ,'intreb.ico','INTREBARE','Doriþi sã ieºiþi din program?') + loMesaj.lbl_mesaj1.FontBold=.T. + loMesaj.lbl_mesaj1.FontSize=12 + loMesaj.lbl_mesaj1.Top=55 + loMesaj.Show(1) + If BUTON=1 + On Shutdown + On Error + *Clear Events + If _vfp.StartMode <> 0 + Quit + Endif + Endif + Endproc + +*-- Release all application forms from memory. + Procedure ReleaseForms + Local lnFormCount + + This.RefreshFormsCollection + Do While This.nformcount>0 + lnFormCount=This.nformcount + If Not This.ReleaseForm(This.aforms[lnFormCount]) Or This.nformcount=lnFormCount + Return .F. + Endif + Enddo + Endproc + + +*-- Release specifc or active form from memory. + Procedure ReleaseForm + Lparameters toForm + + If Parameters()=0 + If Type("_screen.ActiveForm")#"O" Or Isnull(_Screen.ActiveForm) + Return .F. + Endif + _Screen.ActiveForm.Release + Else + If Type("toForm")#"O" Or Isnull(toForm) + Return .F. + Endif + toForm.Release + Endif + This.RefreshFormsCollection + Endproc + + +*-- Reset arrays and counters of forms collection. + Protected Procedure ResetFormsCollection + This.nformcount=0 + Dimension This.aforms[1],This.aformnames[1] + This.aforms=.Null. + This.aformnames="" + Endproc + + +*-- Refresh forms collection arrays and counters. + Procedure RefreshFormsCollection + Local lnCount,lnCount2 + + lnCount=1 + Do While lnCount<=This.nformcount + If Type("this.aForms[lnCount]")=="O" And Not Isnull(This.aforms[lnCount]) + lnCount=lnCount+1 + Loop + Endif + For lnCount2 = lnCount To (This.nformcount-1) + This.aforms[lnCount2]=This.aforms[lnCount2+1] + This.aforms[lnCount2+1]=.Null. + This.aformnames[lnCount2]=This.aformnames[lnCount2+1] + This.aformnames[lnCount2+1]="" + Endfor + This.nformcount=This.nformcount-1 + If This.nformcount=0 + Exit + Endif + Dimension This.aforms[this.nFormCount],This.aformnames[this.nFormCount] + Enddo + If This.nformcount=0 + This.ResetFormsCollection + Endif + Endproc + + Protected Procedure Destroy +* Clear Events +* This.restaureazaEnv() + Endproc + +*-- Method executed before READ EVENTS is executed when ReadEvents is called. + Protected Procedure BeforeReadEvents + Endproc + + Function ErrorHandler + *!* de modificat variabilele globale cu proprietati ale obiectului atunci cand + *!* o sa si actualizez proprietatile coresp. obiectului din schimba_firma, etc. + Lparameters nError,cMethod,nLine + Local lcErrorMsg,lcCodeLineMsg + + Wait Clear + lcErrorMsg=Message()+Chr(13)+Chr(13) + lcErrorMsg=lcErrorMsg+"Metoda: "+cMethod + lcCodeLineMsg=Message(1) + If Between(nLine,1,10000) And Not lcCodeLineMsg="..." + lcErrorMsg=lcErrorMsg+Chr(13)+"Linia: "+Alltrim(Str(nLine)) + If Not Empty(lcCodeLineMsg) + lcErrorMsg=lcErrorMsg+Chr(13)+Chr(13)+lcCodeLineMsg + Endif + ENDIF + lcErrorMsg = m.lcErrorMsg + CHR(13) + CHR(13) + GETCALLSTACK() + + +*!* If Type('This.oMyXMLHTTP') = 'O' +*!* lcLunaHTTP = Iif(Type('gnLuna') = 'N', Transform(gnLuna) + "/","") + Iif(Type('GNAN') = 'N', Transform(gnAn),"") +*!* lcErrorMsgHTTP = Sys(0) + ":" + Iif(Type('GCS')='C'," " + gcS,"") + ": " + lcLunaHTTP + Chr(13) +Chr(10) + lcErrorMsg + ; +*!* CHR(13) +Chr(10) + Chr(13) + Chr(10) + GETCALLSTACK() +*!* lcUserName = gcUserNameApp +*!* lcProgram = Juststem(Sys(16,0)) +*!* This.oMyXMLHTTP.postError(lcErrorMsgHTTP, lcUserName, lcProgram) +*!* Endif + + If aMessagebox(lcErrorMsg,17,_Screen.Caption)#1 + If _vfp.StartMode = 0 + Set Step On + ELSE + ON SHUTDOWN + ON ERROR + Quit + Endif + Endif + Endfunc + + FUNCTION ReadIni + LPARAMETERS tcSection, tcVariable + + lcSection = IIF(!EMPTY(m.tcSection), ALLTRIM(LOWER(m.tcSection)), '') + lcVariable = IIF(!EMPTY(m.tcVariable), ALLTRIM(LOWER(m.tcVariable)), '') + lcValue = '' + + IF TYPE('goApi') = 'O' AND !EMPTY(m.lcSection) AND !EMPTY(m.lcVariable) + lcValue = goAPI.GetProfileString(m.gcSettingsFile, m.lcSection, m.lcVariable) + ENDIF + + RETURN NVL(m.lcValue,'') + ENDFUNC + + PROCEDURE WriteIni + LPARAMETERS tcSection, tcVariable, tcValue + + lcSection = IIF(!EMPTY(m.tcSection), ALLTRIM(LOWER(m.tcSection)), '') + lcVariable = IIF(!EMPTY(m.tcVariable), ALLTRIM(LOWER(m.tcVariable)), '') + lcValue = IIF(!EMPTY(m.tcValue), ALLTRIM(TRANSFORM(m.tcValue)), '') + + IF TYPE('goApi') = 'O' AND !EMPTY(m.lcSection) AND !EMPTY(m.lcVariable) + goAPI.WriteProfileString(m.gcSettingsFile, m.lcSection, m.lcVariable, m.lcValue) + ENDIF + ENDPROC + +ENDDEFINE diff --git a/programe/roa/roa.prg b/programe/roa/roa.prg new file mode 100644 index 0000000..10a714e --- /dev/null +++ b/programe/roa/roa.prg @@ -0,0 +1,1082 @@ +Define Class RoaApp As Custom + + Dimension aVersiune[12] + Dimension aforms[1] && Forms collection for application object. + Dimension aformnames[1] && Form name collection for application object. + + lParametri = .F. + cHost = Null + cUserName = Null + cPassword = Null + nIdUtil = 0 + nIdProgram = 0 + nAn = 0 + nLuna = 0 + cSchema = Null + nIdFirma = 0 + cLastSetTalk = Null + cLastSetPath = Null + cLastSetClassLib = Null + cMainClassLib = Null + + cNumeProgram = Null + cAppName = Null + cAppPath = Null + cUtilizatoriPath = Null + cDirMare = Null + + cLocalePath = Null + lTraducere = .F. + oLocale = Null + + cGeneralIniFile = Null + cSecurityFile = Null + lnewcryptxml = .T. + lnewcryptfll = .T. + + lQuit = .F. + + oLog = Null + oExecutor = Null + oConn = Null + oMyXMLHTTP = Null + oBaraFavorite = Null + oBaraManual = Null + oCalendar = Null + oExport = Null + + lFontCharSet = .F. + + cStartUpForm = "" + cStartUpMenu = "" && Menu (MPR) which is executed when the application object is shown. + Protected ccaption + ccaption = "" && Caption of the application object. + Protected cicon + cicon = "" && Icon of the application object. + Protected clasticon + clasticon = "" && Last icon setting of _screen before application object was intantiated. + Protected clastcaption + clastcaption = "" && Last caption setting of _screen before application object was intantiated. + nformcount = 0 && Forms collection count for application object. + npixeloffset = 22 && Number of pixels which offset multiple instances of the same form. + lcascadeforms = .T. && Specifies whether forms are cascaded if multiple instances of the same form are opened in the same top and left positions of the desktop. + lreadevents = .T. && Enable READ EVENTS within ReadEvents method. + Name = "roaapplication" + + Function initializeaza + Lparameters tParametri,tcNumeProgram,tcMainClassLib + Local llReturn + llReturn = .F. + This.ResetFormsCollection() + This.cNumeProgram = tcNumeProgram + This.cMainClassLib = tcMainClassLib + If This.verificaProgram() + If This.citesteParametri(tParametri) + This.initializeazaFunctiiWin() + This.initializeazaEnv() + This.initializeazaCai() + This.initializeazaClassLib() + This.initializeazaProceduri() + This.initializeazaSettingsIni() + This.initializeazaSecurity() + This.initializeazaReportPreviewer() + This.initializeazaLocale() + This.initializeazaVariabile() + This.initializeazaVariabileGlobale() + This.initializeazaObiecte() + This.initializeazaObiecteGlobale() + llReturn = .T. + Endif + Endif + Return llReturn + Endfunc + + Function verificaProgram + Local llReturn + llReturn = .T. + If !Like(This.cNumeProgram + '*', Upper(Alltrim(Juststem(Sys(16,0))))) + Messagebox("Nu puteti porni acest program!",0+16,"Atentie") + llReturn = .F. + Else + _Screen.Icon=This.cNumeProgram + [.ICO] + Endif + Return llReturn + Endfunc + + Procedure initializeazaFunctiiWin + Declare Integer GetShortPathName In Win32API; + STRING @lpszLongPath, String @lpszShortPath,; + INTEGER cchBuffer + Declare Integer GetPrivateProfileString In Kernel32 ; + string, String, String, String @, Integer, String + Declare Integer WritePrivateProfileString In Kernel32 ; + string, String, String, String + Declare Integer CopyFile In kernel32; + STRING lpExistingFileName,; + STRING lpNewFileName,; + INTEGER bFailIfExists + Declare Integer URLDownloadToFile In urlmon.Dll; + INTEGER pCaller, String szURL, String szFileName,; + INTEGER dwReserved, Integer lpfnCB + Declare Integer PathFileExists In shlwapi; + STRING pszPath + Endproc + + Function ShortPath + Lparameter tcPath + Local lcPath, lcShortName, lnLength, lnResult + lcPath = tcPath + lcShortName = Space(260) + lnLength = Len(lcShortName) + lnResult = GetShortPathName(@lcPath, @lcShortName, lnLength) + If lnResult = 0 + Return "" + Endif + Return Left(lcShortName,lnResult) + Endfunc + + Function GetAppStartPath + Local lcPath + Do Case +*** VFP 6 provides ServerName property for COM servers EXE/DLL/MTDLL + Case Inlist(Application.StartMode,2,3,5) + lcPath = Justpath(Application.ServerName) +*!* *** Interactive +*!* CASE (Application.StartMode) = 0 +*!* lcPath = SYS(5) + CURDIR() +*** Active Document + Case Atc(".APP",Sys(16,0)) > 0 + lcPath = Justpath(Sys(16,0)) +*** Standalone EXE or VFP Development + Otherwise + lcPath = Justpath(Sys(16,0)) + If Atc("PROCEDURE",lcPath) > 0 + lcPath = Substr(lcPath,Rat(":",lcPath)-1) + Endif + Endcase + Return Addbs(lcPath) + Endfunc + + Procedure lista2array + Lparameters tcLISTA,taArray,tcSeparator +&& tcLista este un sir de caractere care contine elementele separate prin <;> default +&& tarray este vectorul care se completeaza - trebuie dat prin referinta +&& tcSeparator separatorul de elemente din tcLista - default este ";" - este optional +&& intoarce numarul de elemente gasite +&& ex: lnNr = lista2array("ana;are;mere",@alista,";") + External Array taArray + Local Lclista,lcSeparator,lnNRF,lcF1,i + lnNRF = 0 + + Lclista=Allt(tcLISTA) + If Parameters()<3 Or Empty(tcSeparator) + lcSeparator=";" + Else + lcSeparator=Alltrim(tcSeparator) + Endif + + If Right(Lclista,1)!=lcSeparator + Lclista=Lclista+lcSeparator + Endif + + lnNRF=Occurs(lcSeparator,Lclista) + + If lnNRF>0 + Dimension taArray[lnNrf,1] + + For i=1 To lnNRF + lcF1=Left(Lclista,At(lcSeparator,Lclista)-1) + + If i!=lnNRF + Lclista=Substr(Lclista,At(lcSeparator,Lclista)+1) + Endif + + taArray[i]=lcF1 + Endfor + Else + lnNRF = 0 + Endif + + Return lnNRF + + Endproc && lista2array + + Function citesteParametri + Lparameters tParametri + Local llReturn, lcParametri, lnNr + Private paParametri + Declare paParametri[1] + llReturn = .T. + If Type('tParametri') = 'C' + This.lParametri = .T. + lcParametri = Alltrim(tParametri) + lnNr = This.lista2array(lcParametri,@paParametri,";") + Do Case + Case lnNr < 5 + aMessagebox('Numar incorect de parametri',0+16,'Eroare') + llReturn = .F. + Case Type('paParametri',1)<>"A" + llReturn = .F. + Otherwise + This.cHost = paParametri[1] + This.cUserName = paParametri[2] + This.cPassword = paParametri[3] + This.nIdUtil = Round(Val(paParametri[4]),0) + This.nIdProgram = Round(Val(paParametri[5]),0) + If Alen(paParametri,1)=10 + This.nAn = Val(paParametri[7]) + This.nLuna = Val(paParametri[8]) + This.cSchema = paParametri[9] + This.nIdFirma = Val(paParametri[10]) + Endif + Endcase + Else + This.lParametri = .F. + This.cHost = '' + This.cUserName = '' + This.cPassword = '' + This.nIdUtil = 0 + This.nIdProgram = 0 + This.nAn = 0 + This.nLuna = 0 + This.cSchema = '' + This.nIdFirma = -1 + Endif + Release paParametri, lcParametri, lnNr + Return llReturn + Endfunc + + Procedure initializeazaEnv + This.cLastSetTalk = Set("TALK") + This.clastcaption=_Screen.Caption + This.clasticon=_Screen.Icon + This.lFontCharSet = AFONT(laFontCharSet,"Arial Narrow",238) + + Push Menu _Msysmenu + Set Century On + Set Deleted On + Set Date To Dmy + Set Exclusive Off + Set Cpdialog Off + Set Talk Off + Set Safety Off + Set Escape Off + Set Exact On + Set Mark To '/' + Set Ansi On + Set Console Off + Set Notify Off + Set Seconds Off + Set NullDisplay To '' + Set Decimals To 4 + Set Point To '.' + SET HOURS TO 24 + Set SQLBUFFERING On + _Screen.Visible=.F. + _Screen.AutoCenter=.T. + + On Shutdown do goRoa.onShutDown() + On Error goRoa.ErrorHandler(Error(),Program(),Lineno()) + Endproc + + Procedure restaureazaEnv + On Error + On Shutdown + If Not Empty(This.clastcaption) And Not _Screen.Caption==This.clastcaption + _Screen.Caption=This.clastcaption + Endif + If Not Empty(This.clasticon) And Not _Screen.Icon==This.clasticon + _Screen.Icon=This.clasticon + Endif + If Not This.cLastSetClassLib==Set("classlib") + Release Classlib (This.cMainClassLib) + Endif + If Empty(This.cLastSetPath) + Set Path To + Else + Set Path To (This.cLastSetPath) + Endif + If This.cLastSetTalk=="ON" + Set Talk On + Else + Set Talk Off + Endif + + If Cntbar("_msysmenu")=7 + Return + Endif + Set Classlib To + Set Path To + Clear All +* Close All + Pop Menu _Msysmenu + Endproc + + Procedure initializeazaCai + This.cLastSetPath=Set("PATH") + This.cAppPath = Addbs(This.ShortPath(This.GetAppStartPath())) + If Right(This.cAppPath ,9)="PROGRAME\" + This.cAppPath = Substr(This.cAppPath ,1,Len(This.cAppPath )-9) + Endif + This.cAppName=Allt(Uppe(Juststem(Sys(16,0)))) + This.cUtilizatoriPath = This.cAppPath + "UTILIZATORI\" + This.cDirMare = Addbs(Left(This.cAppPath,Rat("\",This.cAppPath,2)-1)) + + Set Default To (This.cAppPath) + lcPath = This.cAppPath + 'Date;' + ; + This.cAppPath + 'Include;' + ; + This.cAppPath + 'FERESTRE;' + ; + This.cAppPath + 'GRAFICE;' + ; + This.cAppPath + 'CLASE;' + ; + This.cAppPath + 'MENIURI;' + ; + This.cAppPath + 'PROGRAME;' + ; + This.cAppPath + 'RAPOARTE;' + ; + This.cAppPath + 'COMUN\CLASE;' + ; + This.cAppPath + 'COMUN\FERESTRE;' + ; + This.cAppPath + 'COMUN\PROGRAME;' + ; + This.cAppPath + 'COMUN\GRAFICE;' + ; + This.cAppPath + 'COMUN\RAPOARTE;' + ; + This.cAppPath + 'COMUN\UTILE\CTL32;' + ; + This.cAppPath + 'COMUN\UTILE\HPDF;' + ; + This.cAppPath + 'COMUN\UTILE\HPDF\REPORTOUTPUT;' + ; + This.cAppPath + 'COMUN\UTILE\WEB;' + ; + This.cDirMare + 'COMUNROA\' + + Set Path To &lcPath Additive + This.initializeazaAlteCai() + Endproc + + Procedure initializeazaAlteCai +*!* suprascrisa in fiecare aplicatie care are cai suplimentare +*!* la sfarsit trebuie sa aiba SET PATH TO ... ADDITIVE + Endproc + + Procedure initializeazaClassLib + This.cLastSetClassLib=Set("CLASSLIB") + If !Empty(Nvl(This.cMainClassLib,[])) + Set Classlib To (This.cMainClassLib) Additive + Endif +*!* _ + Set Classlib To _calendar.vcx Additive +*!* A + Set Classlib To appwiz Additive + Set Classlib To accessibility Additive +*!* B + Set Classlib To baza Additive +*!* C + Set Classlib To CAUT Additive + Set Classlib To caut_ora Additive + Set Classlib To cauta_alfa_forms Additive +*!* D + Set Classlib To decabaza Additive +*!* F + Set Classlib To ferestre_cere_date Additive + Set Classlib To ferestre_oracle Additive +*!* L + Set Classlib To locale Additive +*!* M + Set Classlib To Messagebox Additive +*!* O + Set Classlib To ofirma Additive + Set Classlib To onom_sal Additive + Set Classlib To onomenclatoare Additive + Set Classlib To ooptiuni Additive + Set Classlib To opersonal Additive + Set Classlib To otoolbar Additive +*!* R + Set Classlib To registry Additive +*!* W + Set Classlib To wwdialogs Additive + + This.initializeazaAlteClassLib() + + Set Library To (This.cDirMare+[COMUNROA\vfpencryption.fll]) Additive + Endproc + + + Procedure initializeazaAlteClassLib +*!* suprascrisa in fiecare aplicatie care are clase suplimentare + Endproc + + Procedure initializeazaProceduri +*!* _ + Set Procedure To _libpdf Additive +*!* A + Set Procedure To acces_meniu Additive +*!* B + Set Procedure To build_err_msgs Additive +*!* C + Set Procedure To cauta_alfa Additive +*!* F + Set Procedure To filebringer Additive + Set Procedure To frxoutput Additive +*!* G + Set Procedure To gencursor Additive +*!* I + Set Procedure To ini Additive + Set Procedure To iniacces Additive + Set Procedure To init_program Additive +*!* O + Set Procedure To ocautare Additive + Set Procedure To oExport Additive + Set Procedure To oinit_optiuni Additive + Set Procedure To onomenclatoare Additive + Set Procedure To ooperatii_comune Additive + Set Procedure To oproceduri_ams Additive + Set Procedure To oproceduri_comune Additive + Set Procedure To oproceduri_maintenance Additive + Set Procedure To osecurity Additive + Set Procedure To oupdate Additive +*!* P + Set Procedure To pdflistener Additive + Set Procedure To proceduri_comune Additive + Set Procedure To proceduri_Excel Additive + Set Procedure To procese.prg Additive +*!* Q + Set Procedure To quitapp Additive + Set Procedure To updateserver Additive +*!* V + Set Procedure To validare Additive + Set Procedure To Version Additive +*!* W + Set Procedure To This.cAppPath + "\COMUN\UTILE\web\WWAPI.PRG" Additive + Set Procedure To wwconfig Additive + Set Procedure To wwcodeupdate Additive + Set Procedure To wwhttp Additive + Set Procedure To This.cAppPath + "\COMUN\UTILE\web\WWUTILS.PRG" Additive + Set Procedure To wwxmlhttp Additive +*!* X + Set Procedure To xmlaccess Additive + Set Procedure To xmlparser Additive + + This.initializeazaAlteProceduri() + Endproc + + Procedure initializeazaAlteProceduri +*!* suprascrisa in fiecare aplicatie care are proceduri suplimentare + Endproc + + Procedure initializeazaLocale + Local lcObjLocale, lcLanguage, llLocale, lcLocale, lcLocalePath + lcLocalePath = This.cAppPath + "Locale\" + If Directory(lcLocalePath) + This.cLocalePath = lcLocalePath + This.lTraducere = .F. + Endif + lcLanguage = getini(This.cGeneralIniFile,"locale","lang") + llLocale = getini(This.cGeneralIniFile,"locale","llocale") + If Empty(lcLanguage) + lcLocale = 'Romana' + lcObjLocale = [Locale_dummy] + Else + lcLocale = lcLanguage + lcObjLocale = [Locale] + Endif + This.oLocale=Newobject(lcObjLocale,"Locale.vcx") + If !Empty(llLocale) And llLocale<>'0' + This.oLocale.llocale=.T. + Endif + This.oLocale.locale = lcLocale + Release lcObjLocale, lcLanguage, llLocale, lcLocale, lcLocalePath + Endproc + + Procedure initializeazaReportPreviewer + This.cReportPreviewer = "FoxyPreview" + This.cReportPreviewerPath = This.cDirMare + "COMUNROA\" + Endproc + + Procedure initializeazaSettingsIni + Local lcSettings + This.cGeneralIniFile = This.cDirMare + "settings.ini" + If !File(This.cGeneralIniFile) + TEXT TO lcSettings NOSHOW +[errors] +host=http://83.103.197.79:3000/errors/create_xml + ENDTEXT + + Strtofile(lcSettings, This.cGeneralIniFile) + Endif + Release lcSettings + Endproc + + Procedure initializeazaSecurity + Local lnValid + This.cSecurityFile = This.cDirMare + 'Security\ROA_SECURITY.TXT' + If !This.lParametri + lnValid = This.getcrsSecurity() + If lnValid > 0 + If Used('crsHost') + Select crsHost + Go Top + This.cHost = Alltrim(Host) + This.cUserName = Alltrim(schema) + This.cPassword = Alltrim(pwd) + Use In crsHost + Endif + Endif + Endif + Release lnValid + Endproc + + Procedure initializeazaObiecte + This.oLog = Newobject("Log_Mesaje","Log_Mesaje.prg") + This.oExecutor = Createobject("oExecutor") + This.oConn = Createobject("oConn") + This.oExport = Createobject("oExportConfig") + This.oMyXMLHTTP = Createobject("MyXMLHTTP", getini(This.cGeneralIniFile,'errors','host')) + This.oBaraFavorite = Null + This.oBaraManual = Null + This.oCalendar = Null + Endproc + + Procedure initializeazaVariabile +*!* Public CRLF,CR,LF,Tab + CR=Chr(13) + LF=Chr(10) + CRLF = CR + LF + Tab=Chr(9) + Agetfileversion(This.aVersiune,Sys(16,0)) + This.SetCaption(Iif(Alen(This.aVersiune,1)<10,This.cNumeProgram,This.aVersiune(10))) + This.cStartUpMenu = This.cAppPath + "meniu\" + This.cNumeProgram + This.cStartUpForm = This.cAppPath + "comun\ferestre\frm_login.scx" + Endproc + + Procedure initializeazaVariabileGlobale +*!* Public gcNumeProgram, NUMEPROGRAM, MENIUPROGRAM, FUNDALPROGRAM + gcNumeProgram = This.cNumeProgram + _program = This.cNumeProgram + NUMEPROGRAM = This.ccaption + MENIUPROGRAM = This.cStartUpMenu + +*!* Public pcNl, pcAn, gcAcces, gcAppPath, gcAppName, gcUtilizatoriPath, gcDirMare, DIRGEN, gcTempPath, ; +*!* glParametri, gcHost, gcUsername, gcPassword, gcUserNameApp, gcPasswordApp, gnIdUtil, gnIdProgram, ; +*!* gnAn, gnLuna, gcS, gnIdFirma, gcGeneralIniFile, gcSecurityFile, gnHandle, gnButon, BUTON, gcFirma, gcBasePath + Store "" To pcNl,pcAn && se initializeaza in start00 + gcAcces = [] + gcAppPath = This.cAppPath + gcAppName = This.cAppName + gcUtilizatoriPath = This.cUtilizatoriPath + gcDirMare = This.cDirMare + gcComunPath = This.cDirMare+[COMUNROA\] + DIRGEN = This.cDirMare + gcBasePath = This.cDirMare + gcTempPath = [] && o citesc in oinit_optiuni.prg + glParametri = This.lParametri + gcHost = This.cHost + gcUsername = This.cUserName + gcPassword = This.cPassword + gcUserNameApp = [] && le citesc in frm_login + gcPasswordApp = [] && + gnIdUtil = This.nIdUtil + gnIdProgram = This.nIdProgram + gnAn = This.nAn + gnLuna = This.nLuna + gcS = This.cSchema + gnIdFirma = This.nIdFirma + If !Empty(Nvl(This.cLocalePath,[])) + Private gcLocalePath, goLocale, glTraducere + gcLocalePath = This.cLocalePath + glTraducere = This.lTraducere + goLocale = This.oLocale + Endif + gcLocale = This.oLocale.locale + gcGeneralIniFile = This.cGeneralIniFile + gcSettingsFile = This.cGeneralIniFile + gcSecurityFile = This.cSecurityFile + gnHandle = -1 + gnButon = 2 + BUTON = 2 + gcFirma = [] + glFontCharSet = This.lFontCharSet + gcReportPreviewer = This.cReportPreviewer + gcReportPreviewerPath = This.cReportPreviewerPath + +*!* Private gcCopyRight, pcTitlu + pcTitlu = [] + gcCopyRight = '© ROA Romfast SRL' + +*!* Private glUltimaLuna, glPrimaLuna, glLunaBuna, glLuna_neplatita, glLunaInchisa +*!* Private glQuit, pl_verificat + Store .F. To glUltimaLuna, glPrimaLuna, glLunaBuna, glLuna_neplatita, glLunaInchisa + Store .F. To glQuit, pl_verificat + +*!* Public gnewcryptfll, gnewcryptxml, gTransferTotal + Store -1 To gTransferTotal + gnewcryptfll = This.lnewcryptfll + gnewcryptxml = This.lnewcryptxml +&& ALTELE +*!* Declare nror[65000] +*!* Declare RTVA[22,2] +*!* Public luna_inchisa, luna_neplatita, PRIMADATA, m.ctva, m.ctvam, m.ctvai, antet, m.nivel +*!* Public OStart,OSETVIZ,OSETTULBAR,OSETINSTRUM,orm,OTEXT,OJUR,osetgest,tlbr_INSTR,tlbr_VIZ,oprinc +*!* Public pcapsocsub,pcapsocvar + pcapsocsub=0 + pcapsocvar=0 +*!* Public a4 + a4=.T. + m.nrgrup=999 + + Store .F. To luna_inchisa,tlbr_INSTRum,tlbr_VIZ + Store 1 To col_menu + Store .T. To PRIMADATA,luna_neplatita + + This.initializeazaAlteVariabileGlobale() + Endproc + + Procedure initializeazaAlteVariabileGlobale +*!* suprascrisa in fiecare aplicatie care are variabile globale suplimentare + Endproc + + Procedure initializeazaObiecteGlobale +*!* Private poLog, goLog, oTool, oHelp, goExecutor, goConn, goMyXMLHTTP, goCalendar, goExport, goUtilizator, goFundal, goFirma + poLog = This.oLog + goLog = This.oLog + oTool = This.oBaraFavorite + oHelp = This.oBaraManual + goExecutor = This.oExecutor + goConn = This.oConn + goMyXMLHTTP = This.oMyXMLHTTP + goCalendar = This.oCalendar + goExport = This.oExport + goUtilizator = Null + goFundal = Null + goFirma = Null + + This.initializeazaAlteObiecteGlobale() + Endproc + + Procedure initializeazaAlteObiecteGlobale +*!* suprascrisa in fiecare aplicatie care are obiecte globale suplimentare + Endproc + + Procedure lanseazaAplicatie + _Screen.Visible = .T. + _Screen.WindowState=2 + This.DoMenu(This.cStartUpMenu) + This.DoForm(This.cStartUpForm) + This.ReadEvents() + Endproc + + Procedure getcrsSecurity + Lparameters tcSecurityFile +*!* SECURITY.TXT - NECRIPTAT +*!* SECURITY.XML - CRIPTAT +*!* DACA EXISTA SECURITY.XML - PARSEZ XML, ALTFEL PARSEZ TXT +*!* gnewcryptxml - daca roa_security.xml are criptare noua(blowfish) +*!* gnewcryptfll - daca exista vfpencryption.fll +*!* 19.05.2009 +*!* nu mai exista fisiere roa_security.xml cu criptarea veche (windows api) +*!* gnewcryptxml=.F. + + Local lcSecurityFile, lcSecurityPath, lcCursor, lnValid, llSucces, lcSecurityFileXML + lcCursor = "crsHost" + If !Empty(tcSecurityFile) + lcSecurityFile = tcSecurityFile + Else + lcSecurityFile = This.cSecurityFile + Endif + lcSecurityFileXML = Forceext(lcSecurityFile,'xml') + lcSecurityPath = Addbs(Justpath(lcSecurityFile)) + lnValid = 0 + llSucces = .T. + If !Directory(lcSecurityPath) + Try + Md (lcSecurityPath) + Catch + aMessagebox('Nu se poate crea directorul ' + lcSecurityPath + '!',0+16,'Atentie') + Endtry + Endif + + If !(File(lcSecurityFile) Or File(lcSecurityFileXML)) + Cd (lcSecurityPath) + If !File(lcSecurityFileXML) + lcSecurityText = 'ROA;CONTAFIN_ORACLE;123;' + lcSecurityText = Inputbox('Host(DSN);SCHEMA;SCHEMA_PASSWORD;1;','Server',lcSecurityText) + lcSecurityText = Alltrim(lcSecurityText) + If !Empty(lcSecurityText) + If Right(lcSecurityText,1) # ';' + lcSecurityText = lcSecurityText + ';' + Endif + Else + llSucces = .F. + Endif + Endif + + If llSucces + Try + If !(File(lcSecurityFileXML) Or File(lcSecurityFile)) +*!* SECURITY.TXT + Strtofile(lcSecurityText, lcSecurityFile) +*!* SECURITY.TXT ^ + Endif +*!* SECURITY.XML + If !File(lcSecurityFileXML) + Create Cursor cXML (Host c(50), schema c(50), pwd c(50)) + Insert Into cXML (Host, schema, pwd) Values("ROA","CONTAFIN_ORACLE","ENCRYPTED PWD") + Cursortoxml("cXML",lcSecurityFileXML, 1, 512, 0, "1") + Use In cXML + Endif +*!* SECURITY.XML ^ + Catch + aMessagebox('Nu s-a putut crea fisierul ' + lcSecurityFile,0+16,'Atentie') + llSucces = .F. + Endtry + Endif + Endif + + If llSucces + If !File(lcSecurityFile) And !File(lcSecurityFileXML) + aMessagebox('Nu exista fisierul ' + lcSecurityFile,0+16,'Atentie') + llSucces = .F. + Endif + Endif + + If llSucces + If Used(lcCursor) + Use In (lcCursor) + Endif + +&& daca exista security.xml - il transform in cursorul cXML si completez crsHost + Create Cursor (lcCursor)(Host c(100), schema c(100), pwd v(100), IsEncrypted c(1)) + If File(lcSecurityFileXML) + Try + lcSecurityText = Filetostr(lcSecurityFileXML) + Xmltocursor(lcSecurityFileXML, "cXML", 512) + Select cXML + Go Top + Scatter Name lofirstrecord + + If lofirstrecord.Host="ENCRYPTION" + This.lnewcryptxml=.T. + Delete + Else + This.lnewcryptxml=.F. + Endif + + Insert Into (lcCursor) (Host, schema, pwd, IsEncrypted) ; + SELECT Host, schema, pwd, "1" As IsEncrypted ; + FROM cXML + lnValid = Reccount('cXML') + + Use In cXML + Catch To loex + This.ErrorHandler(loex.ErrorNo,loex.Procedure,loex.Lineno) + Finally + Use In (Select('cXML')) + Endtry + + Else +* CREATE CURSOR (lcCursor)(HOST c(100), Schema c(100), Pwd v(100), IsEncrypted c(1)) + lcSecurityText = Filetostr(lcSecurityFile) + Local laHost + Dimension laHost[1] + + lnLen = Alines(laHost, lcSecurityText) + + If lnLen > 0 + For i = 1 To lnLen + lcLinie = laHost[i] + + lcHost = Getwordnum(lcLinie, 1, ';') + lcSchema = Getwordnum(lcLinie, 2, ';') + lcPassword = Getwordnum(lcLinie, 3, ';') + lcMode = "0" && necriptat - security.txt + + If Empty(lcHost) Or Empty(lcSchema) Or Empty(lcPassword) + Loop + Endif + + lnValid = lnValid + 1 + Insert Into &lcCursor (Host, schema, pwd, IsEncrypted) Values (lcHost, lcSchema, lcPassword, Iif(Empty(lcMode), '0', lcMode)) + Endfor + Endif + Endif + Endif + + Return lnValid + Endproc + + Procedure Release + If Not This.ReleaseForms() + Return .F. + Endif + This.ClearEvents() + Release This + Endproc + +*-- Executes an SCX form. + Procedure DoForm + Lparameters tcFileName,tcClass,tlNoMultipleInstances,tlNoShow + Local lcFileName,lcClass,oForm,oForm2,lcName,lnCount,lnTop,lnLeft + Local lcFormName,lnFormCount + _Screen.Visible=.T. + lcFileName=Alltrim(tcFileName) + If Empty(lcFileName) + Return .F. + Endif + lcClass=Iif(Type("tcClass")=="C",Lower(Alltrim(tcClass)),"") + lcFileName=Lower(Fullpath(lcFileName)) + If Not "."$lcFileName + lcFileName=lcFileName+Iif(Empty(lcClass),".scx",".vcx") + Endif + If Not File(lcFileName) + This.FileNotFoundMsgBox(lcFileName) + Return .F. + Endif + lcFormName=Iif(Empty(lcClass),lcFileName,lcFileName+","+lcClass) + If tlNoMultipleInstances + For lnCount = 1 To This.nformcount + If This.aformnames[lnCount]==lcFormName And ; + TYPE("this.aForms[lnCount]")=="O" And ; + NOT Isnull(This.aforms[lnCount]) + This.aforms[lnCount].Show + Return .F. + Endif + Endfor + Endif + This.RefreshFormsCollection + This.nformcount=This.nformcount+1 + Dimension This.aforms[this.nFormCount],This.aformnames[this.nFormCount] + This.aformnames[this.nFormCount]=lcFormName + If Not Empty(lcClass) + Set Classlib To (lcFileName) Additive + This.aforms[this.nFormCount]=Createobject(lcClass) + If Not tlNoShow And Type("this.aForms[this.nFormCount]")=="O" And ; + NOT Isnull(This.aforms[this.nFormCount]) + This.aforms[this.nFormCount].Show + Endif + Else + Do Form (lcFileName) Name This.aforms[this.nFormCount] Linked Noshow + Endif + lnFormCount=This.nformcount + This.RefreshFormsCollection + If This.lcascadeforms And This.nformcount>=lnFormCount + oForm=This.aforms[this.nFormCount] + lnTop=oForm.Top + lnLeft=oForm.Left + lcName=oForm.Name + If Wexist(lcName) And oForm.WindowState#2 + For lnCount = 1 To (This.nformcount-1) + oForm2=This.aforms[lnCount] + If Type("oForm2")#"O" Or Isnull(oForm2) + Loop + Endif + If lcName==oForm2.Name And Wlrow(lcName)=Wlrow(oForm2.Name) And ; + WLCOL(lcName)=Wlcol(oForm2.Name) + lnTop=lnTop+This.npixeloffset + lnLeft=lnLeft+This.npixeloffset + Endif + Endfor + If oForm.Top#lnTop + oForm.Top=lnTop + Endif + If oForm.Left#lnLeft + oForm.Left=lnLeft + Endif + Endif + Endif + + If !(tlNoShow Or ('LOGIN'$Upper(lcFileName) And This.lParametri)) + This.aforms[this.nFormCount].Show + Endif + Endproc + + Procedure DoMenu + Lparameters tcFileName + Local lcFileName + lcFileName=Alltrim(tcFileName) + If Empty(lcFileName) + Return .F. + Endif + If At('.', lcFileName) = 0 + lcFileName = lcFileName + '.mpr' + Endif + If File(lcFileName) + If Type('This.oLocale') = '0' + This.oLocale.SetMenu(lcFileName,"menu", Null) + Endif + Do &lcFileName + Endif + Endproc + + Procedure ClearEvents + Clear Events + Endproc + +*-- Starts read events mode. + Procedure ReadEvents + This.BeforeReadEvents() + If This.lreadevents + Read Events + Endif + Endproc + +*-- Sets the caption of the application. + Procedure SetCaption + Lparameters tcCaption + + If Type("tcCaption")#"C" + Return .F. + Endif + This.ccaption=tcCaption + _Screen.Caption=tcCaption + Endproc + + +*-- Sets the icon of the application. + Procedure seticon + Lparameters tcIcon + If Type("tcIcon")#"C" + Return .F. + Endif + This.cicon=tcIcon + _Screen.Icon=tcIcon + Endproc + +*-- Returns the caption of the application. + Procedure getcaption + Return This.ccaption + Endproc + +*-- Returns the icon of the application. + Procedure geticon + Return This.cicon + Endproc + +*-- Occurs when the user attempts to exit Visual FoxPro. + Procedure onShutDown + Local loMesaj + + If This.lQuit + Quit + Endif + + loMesaj=Createobject('frm_mesaj', This.cNumeProgram ,'intreb.ico','INTREBARE','Doriþi sã ieºiþi din program?') + loMesaj.lbl_mesaj1.FontBold=.T. + loMesaj.lbl_mesaj1.FontSize=12 + loMesaj.lbl_mesaj1.Top=55 + loMesaj.Show(1) + If BUTON=1 + On Shutdown + On Error + Clear Events + If _vfp.StartMode <> 0 + Quit + Endif + Endif + Endproc + +*-- Release all application forms from memory. + Procedure ReleaseForms + Local lnFormCount + + This.RefreshFormsCollection + Do While This.nformcount>0 + lnFormCount=This.nformcount + If Not This.ReleaseForm(This.aforms[lnFormCount]) Or This.nformcount=lnFormCount + Return .F. + Endif + Enddo + Endproc + + +*-- Release specifc or active form from memory. + Procedure ReleaseForm + Lparameters toForm + + If Parameters()=0 + If Type("_screen.ActiveForm")#"O" Or Isnull(_Screen.ActiveForm) + Return .F. + Endif + _Screen.ActiveForm.Release + Else + If Type("toForm")#"O" Or Isnull(toForm) + Return .F. + Endif + toForm.Release + Endif + This.RefreshFormsCollection + Endproc + + +*-- Reset arrays and counters of forms collection. + Protected Procedure ResetFormsCollection + This.nformcount=0 + Dimension This.aforms[1],This.aformnames[1] + This.aforms=.Null. + This.aformnames="" + Endproc + + +*-- Refresh forms collection arrays and counters. + Procedure RefreshFormsCollection + Local lnCount,lnCount2 + + lnCount=1 + Do While lnCount<=This.nformcount + If Type("this.aForms[lnCount]")=="O" And Not Isnull(This.aforms[lnCount]) + lnCount=lnCount+1 + Loop + Endif + For lnCount2 = lnCount To (This.nformcount-1) + This.aforms[lnCount2]=This.aforms[lnCount2+1] + This.aforms[lnCount2+1]=.Null. + This.aformnames[lnCount2]=This.aformnames[lnCount2+1] + This.aformnames[lnCount2+1]="" + Endfor + This.nformcount=This.nformcount-1 + If This.nformcount=0 + Exit + Endif + Dimension This.aforms[this.nFormCount],This.aformnames[this.nFormCount] + Enddo + If This.nformcount=0 + This.ResetFormsCollection + Endif + Endproc + + Protected Procedure Destroy + Clear Events + This.restaureazaEnv() + Endproc + +*-- Method executed before READ EVENTS is executed when ReadEvents is called. + Protected Procedure BeforeReadEvents + Endproc + + Function ErrorHandler + *!* de modificat variabilele globale cu proprietati ale obiectului atunci cand + *!* o sa si actualizez proprietatile coresp. obiectului din schimba_firma, etc. + Lparameters nError,cMethod,nLine + Local lcErrorMsg,lcCodeLineMsg + + Wait Clear + lcErrorMsg=Message()+Chr(13)+Chr(13) + lcErrorMsg=lcErrorMsg+"Metoda: "+cMethod + lcCodeLineMsg=Message(1) + If Between(nLine,1,10000) And Not lcCodeLineMsg="..." + lcErrorMsg=lcErrorMsg+Chr(13)+"Linia: "+Alltrim(Str(nLine)) + If Not Empty(lcCodeLineMsg) + lcErrorMsg=lcErrorMsg+Chr(13)+Chr(13)+lcCodeLineMsg + Endif + Endif + + If Type('This.oMyXMLHTTP') = 'O' + lcLunaHTTP = Iif(Type('gnLuna') = 'N', Transform(gnLuna) + "/","") + Iif(Type('GNAN') = 'N', Transform(gnAn),"") + lcErrorMsgHTTP = Sys(0) + ":" + Iif(Type('GCS')='C'," " + gcS,"") + ": " + lcLunaHTTP + Chr(13) +Chr(10) + lcErrorMsg + ; + CHR(13) +Chr(10) + Chr(13) + Chr(10) + GETCALLSTACK() + lcUserName = gcUserNameApp + lcProgram = Juststem(Sys(16,0)) + This.oMyXMLHTTP.postError(lcErrorMsgHTTP, lcUserName, lcProgram) + Endif + + If aMessagebox(lcErrorMsg,17,_Screen.Caption)#1 + If _vfp.StartMode = 0 + Set Step On + Else + Quit + Endif + Endif + Endfunc + +Enddefine \ No newline at end of file diff --git a/programe/roa/roaapp.prg.tmpl b/programe/roa/roaapp.prg.tmpl new file mode 100644 index 0000000..c891928 --- /dev/null +++ b/programe/roa/roaapp.prg.tmpl @@ -0,0 +1,64 @@ +Parameters tParametri +*!* obiecte globale +Private poLog, goLog, oTool, oHelp, goExecutor, goConn, goMyXMLHTTP, goCalendar, goExport, goUtilizator, goFundal, goFirma, goApp +Store "" To poLog, goLog, oTool, oHelp, goExecutor, goConn, goMyXMLHTTP, goCalendar, goExport, goUtilizator, goFundal, goFirma, goApp + +Private gcLocalePath, goLocale, gcLocale +STORE "" TO gcLocalePath, goLocale, gcLocale + +*!* variabile globale +Public CRLF,CR,LF,Tab +Public gcNumeProgram, NUMEPROGRAM, MENIUPROGRAM, FUNDALPROGRAM +Public pcNl, pcAn, gcAcces, gcAppPath, gcAppName, gcUtilizatoriPath, gcDirMare, DIRGEN, gcTempPath, ; + glParametri, gcHost, gcUsername, gcPassword, gcUserNameApp, gcPasswordApp, gnIdUtil, gnIdProgram, ; + gnAn, gnLuna, gcS, gnIdFirma, gcGeneralIniFile, gcSecurityFile, gnHandle, gnButon, BUTON, gcFirma, gcBasePath, gcComunPath, ; + gnTipGest, gcGestPermis, glFontCharSet, gcReportPreviewer, gcReportPreviewerPath, gcLocale, gcSettingsFile +Public gcCopyRight, pcTitlu +Public glUltimaLuna, glPrimaLuna, glLunaBuna, glLuna_neplatita, glLunaInchisa +Public glQuit, pl_verificat +Public gnewcryptfll, gnewcryptxml, gTransferTotal +Private gnId_Prg_Owner +*!* altele +Declare nror[65000] +Declare RTVA[22,2] +Public luna_inchisa, luna_neplatita, PRIMADATA, m.ctva, m.ctvam, m.ctvai, antet, m.nivel +Public OStart,OSETVIZ,OSETTULBAR,OSETINSTRUM,orm,OTEXT,OJUR,osetgest,tlbr_INSTR,tlbr_VIZ,oprinc +Public pcapsocsub,pcapsocvar +Public a4 + +Set Default To (Addbs(Justpath(Sys(16,0)))) +Set Procedure To roa.prg Additive +Private goRoa +goRoa = Createobject("oApp") +If goRoa.initializeaza(tParametri,[ROAAPP]) + goRoa.lanseazaAplicatie() +Endif + +Define Class oApp As RoaApp + + Procedure initializeazaAlteCai + Endproc + + Procedure initializeazaAlteClassLib + Endproc + + Procedure initializeazaAlteProceduri + Endproc + + Procedure initializeazaAlteVariabileGlobale + STORE 0 TO gnTipGest + STORE '' TO gcGestPermis + Endproc + + Procedure initializeazaAlteObiecteGlobale + Endproc + +ENDDEFINE + +*!* Function Shutdown +*!* If Type("goApp")=="O" And Not Isnull(goApp) +*!* Return goApp.OnShutDown() +*!* Endif +*!* Cleanup() +*!* Quit +*!* Endfunc diff --git a/programe/sendmail.prg b/programe/sendmail.prg new file mode 100644 index 0000000..a31b414 --- /dev/null +++ b/programe/sendmail.prg @@ -0,0 +1,175 @@ +PROCEDURE lansez_salvare_mail +LPARAMETERS aryAttach,lcSubiect,lcBody + +PRIVATE pcAdresa,pcServer,pcUser,pcPass,pnPort,pcAdresad,pcBody,pcSubiect +STORE [] to pcAdresa,pcServer,pcUser,pcPass,pcAdresad,pcBody,pcSubiect +IF !EMPTY(lcSubiect) + pcSubiect = lcSubiect +ENDIF + +STORE 25 TO pnPort +lcSql = [select adresa_expeditor,server_mail,user_mail,pass_mail,port from sal_nom_expeditori] +lcCursor = [v_exp] +lnSucces = goExecutor.oExecute(lcSql,lcCursor) +goExecutor.oReset() +IF lnSucces < 0 + MESSAGEBOX(goExecutor.cEroare,0+16,"Eroare") + RETURN +ENDIF +lcSql=[select adresa_destinatar from sal_nom_destinatari] +lcCursor=[v_dest] +lnSucces=goExecutor.oExecute(lcSql,lcCursor) +goExecutor.oReset() +IF lnSucces < 0 + MESSAGEBOX(goExecutor.cEroare,0+16,"Eroare") + RETURN +ENDIF +lotrimitmail = CREATEOBJECT('frm_trimit_mail') +lotrimitmail.show(1) +ENDPROC +************************************************ +PROCEDURE adauga_expeditor +LPARAMETERS tcadresa_expeditor,tcserver_mail,tcuser_mail,tcpass_mail,tnPort + +lcSql = [begin pack_sal_declaratii.adaugare_expeditor(']+ALLTRIM(tcadresa_expeditor)+[',']+ALLTRIM(tcserver_mail)+[',']+ALLTRIM(tcuser_mail)+[',']+ALLTRIM(tcpass_mail)+[',]+ALLTRIM(STR(tnport))+[); end;] +lnSucces = goExecutor.oExecute(lcSql) +goExecutor.oReset() +IF lnSucces < 0 + MESSAGEBOX(goExecutor.cEroare,0+16,"Eroare") + RETURN +ENDIF +ENDPROC +******************************************* +PROCEDURE adauga_destinatar +LPARAMETERS tcadresa_destinatar + +lcSql = [begin pack_sal_declaratii.adaugare_destinatar(']+ALLTRIM(tcadresa_destinatar)+['); end;] +lnSucces = goExecutor.oExecute(lcSql) +goExecutor.oReset() +IF lnSucces < 0 + MESSAGEBOX(goExecutor.cEroare,0+16,"Eroare") + RETURN +ENDIF +ENDPROC +**************************************** +PROCEDURE SendViaBLAT(tcReturn, tcFrom, tcTo, tcSubject, tcBody, taFiles, tcCC, tcBCC, tcMailServer, tnPort, tcUserName, tcPassword, tnPriority, tlHTMLFormat) +******************************************* + LOCAL lcBlatParam, lcBodyFile, lnCountAttachments, lnResult, loError as Exception + + lcBodyFile = "" + + TRY + *!* Include full path in Declare, such as "C:\Blat240\full\blat.dll" + *!* or make sure that blat.dll is included in the system's PATH variable + DECLARE INTEGER Send IN "D:\ROA_TRUNK\ROADECL\blat.dll" STRING cParam + + lcBodyFile = ADDBS(SYS(2023)) + SYS(2015) + ".txt" + STRTOFILE(tcBody, lcBodyFile, 0) && body is placed in a text file to be sent by BLAT + + lcBlatParam = GetShortPath(lcBodyFile) + lcBlatParam = lcBodyFile + IF TYPE("tcTo") = "C" + lcBlatParam = lcBlatParam + " -to " + ALLTRIM(tcTo) + ENDIF + IF TYPE("tcFrom") = "C" + lcBlatParam = lcBlatParam + " -f " + ALLTRIM(tcFrom) + ENDIF + IF TYPE("tcCC") = "C" + lcBlatParam = lcBlatParam + " -cc " + ALLTRIM(tcCC) + ENDIF + IF TYPE("tcBCC") = "C" and !empty(tcBCC) + lcBlatParam = lcBlatParam + " -bcc " + ALLTRIM(tcBCC) + ENDIF + IF TYPE("tcSubject") = "C" + lcBlatParam = lcBlatParam + [ -s "] + ALLTRIM(tcSubject) + ["] + ENDIF + IF TYPE("tcMailserver") = "C" + lcBlatParam = lcBlatParam + " -server " + ALLTRIM(tcMailserver) + ENDIF + IF TYPE("tnPort") = "N" + lcBlatParam = lcBlatParam + ":" + TRANSFORM(tnPort) + ENDIF + IF TYPE("tcUsername") = "C" + lcBlatParam = lcBlatParam + " -u " + ALLTRIM(tcUsername) + ENDIF + IF TYPE("tcPassword") = "C" + lcBlatParam = lcBlatParam + " -pw " + ALLTRIM(tcPassword) + ENDIF + IF TYPE("tnPriority") = "N" AND BETWEEN(tnPriority, 0, 1) + lcBlatParam = lcBlatParam + " -priority " + TRANSFORM(tnPriority) + ENDIF + IF TYPE("tlHTMLFormat") = "L" AND tlHTMLFormat + lcBlatParam = lcBlatParam + " -html" + ENDIF + + IF TYPE("taFiles", 1) = "A" + lcBlatParam = lcBlatParam + " -attach " + FOR lnCountAttachments = 1 TO ALEN(taFiles) + lcBlatParam = lcBlatParam + GetShortPath(ALLTRIM(taFiles(lnCountAttachments))) + "," + ENDFOR + lcBlatParam = LEFT(lcBlatParam, LEN(lcBlatParam) - 1) && Remove Extra Comma + ENDIF + + lnResult = Send(ALLTRIM(lcBlatParam)) + + IF lnResult != 0 + DO CASE + CASE lnResult = -2 + THROW "The server actively denied our connection./The mail server doesn't like the sender name. " + CASE lnResult = -1 + THROW "Unable to open SMTP socket" OR ; + "SMTP get line did not return 220" OR ; + "command unable to write to socket" OR ; + "Server does not like To: address" OR ; + "Mail server error accepting message data." + CASE lnResult = 1 + THROW "File name (message text) not given" OR ; + "Bad argument given" + CASE lnResult = 2 + THROW "File (message text) does not exist" + CASE lnResult = 3 + THROW "Error reading the file (message text) or attached file" + CASE lnResult = 4 + THROW "File (message text) not of type FILE_TYPE_DISK " + CASE lnResult = 5 + THROW "Error Reading File (message text)" + CASE lnResult = 12 + THROW "-server or -f options not specified and not found in registry" + CASE lnResult = 13 + THROW "Error opening temporary file in temp directory" + OTHERWISE + THROW "Unknown Error" + ENDCASE + ENDIF + + CATCH TO loError + tcReturn = [Error: ] + STR(loError.ERRORNO) + CHR(13) + ; + [LineNo: ] + STR(loError.LINENO) + CHR(13) + ; + [Message: ] + loError.MESSAGE + CHR(13) + ; + [Procedure: ] + loError.PROCEDURE + CHR(13) + ; + [Details: ] + loError.DETAILS + CHR(13) + ; + [StackLevel: ] + STR(loError.STACKLEVEL) + CHR(13) + ; + [LineContents: ] + loError.LINECONTENTS + FINALLY + CLEAR DLLS "Send" + IF FILE(lcBodyFile) + ERASE (lcBodyFile) + ENDIF + ENDTRY +ENDPROC + +**************************************** +Function GetShortPath +**************************************** + LPARAMETERS lcFileName + LOCAL lnReturn, lcBuffer + + Declare Integer GetShortPathNameA In Win32API As GetShortPathName String, String, Integer + + lcBuffer = SPACE(255) + lnReturn= GetShortPathName(lcFileName, @lcBuffer, 255) + + Clear Dlls "GetShortPathName" + + Return (Left(lcBuffer, lnReturn)) +ENDFUNC \ No newline at end of file diff --git a/programe/setobjrf.prg b/programe/setobjrf.prg new file mode 100644 index 0000000..851540d --- /dev/null +++ b/programe/setobjrf.prg @@ -0,0 +1,119 @@ +* SetObjRf.PRG - Set Object Referece. +* +* Copyright (c) 1997 Microsoft Corp. +* 1 Microsoft Way +* Redmond, WA 98052 +* +* Description: +* Set an object reference to a specified property based on a specified class. +* Return new instance of specified class if name is an empty string. + +LPARAMETERS toObject,tcName,tvClass,tvClassLibrary +LOCAL lcName,lcClass,lcClassLibrary,oObject,lnCount +LOCAL lnObjectRefIndex,lnObjectRefCount,oExistingObject + +IF TYPE("toObject")#"O" OR ISNULL(toObject) + RETURN .NULL. +ENDIF +lcName=IIF(TYPE("tcName")=="C",ALLTRIM(tcName),LOWER(SYS(2015))) +oExistingObject=.NULL. +oObject=.NULL. +lcClassLibrary="" +DO CASE + CASE TYPE("tvClass")=="O" + oObject=tvClass + lcClass=LOWER(oObject.Class) + lcClassLibrary=LOWER(oObject.ClassLibrary) + IF NOT ISNULL(oExistingObject) AND LOWER(oExistingObject.Class)==lcClass AND ; + LOWER(oExistingObject.ClassLibrary)==lcClassLibrary + toObject.vResult=oExistingObject + RETURN toObject.vResult + ENDIF + CASE EMPTY(tvClass) + oObject=toObject + lcClass=LOWER(oObject.Class) + lcClassLibrary=LOWER(oObject.ClassLibrary) + IF NOT ISNULL(oExistingObject) AND LOWER(oExistingObject.Class)==lcClass AND ; + LOWER(oExistingObject.ClassLibrary)==lcClassLibrary + toObject.vResult=oExistingObject + RETURN toObject.vResult + ENDIF + OTHERWISE + lcClass=LOWER(ALLTRIM(tvClass)) + DO CASE + CASE TYPE("tvClassLibrary")=="O" + lcClassLibrary=LOWER(tvClassLibrary.ClassLibrary) + CASE TYPE("tvClassLibrary")=="C" + IF EMPTY(tvClassLibrary) + lcClassLibrary=LOWER(toObject.ClassLibrary) + ELSE + lcClassLibrary=LOWER(ALLTRIM(tvClassLibrary)) + IF EMPTY(JUSTEXT(lcClassLibrary)) + lcClassLibrary=LOWER(FORCEEXT(lcClassLibrary,"vcx")) + ENDIF + llClassLib=(JUSTEXT(lcClassLibrary)=="vcx") + IF NOT "\"$lcClassLibrary + lcClassLibrary=LOWER(FORCEPATH(lcClassLibrary,JUSTPATH(toObject.ClassLibrary))) + IF NOT FILE(lcClassLibrary) AND VERSION(2)#0 + lcClassLibrary=LOWER(FORCEPATH(lcClassLibrary,HOME()+"ffc\")) + IF NOT FILE(lcClassLibrary) + lcClassLibrary=LOWER(FULLPATH(JUSTFNAME(lcClassLibrary))) + ENDIF + ENDIF + ENDIF + IF NOT FILE(lcClassLibrary) + toObject.vResult=.NULL. + RETURN toObject.vResult + ENDIF + ENDIF + OTHERWISE + lcClassLibrary="" + ENDCASE + IF NOT ISNULL(oExistingObject) AND LOWER(oExistingObject.Class)==lcClass AND ; + LOWER(oExistingObject.ClassLibrary)==lcClassLibrary + toObject.vResult=oExistingObject + RETURN toObject.vResult + ENDIF + oObject=NEWOBJECT(lcClass,lcClassLibrary) + IF TYPE("oObject")#"O" OR ISNULL(oObject) + toObject.vResult=.NULL. + RETURN toObject.vResult + ENDIF +ENDCASE +DO CASE + CASE EMPTY(lcName) + toObject.vResult=oObject + RETURN toObject.vResult + OTHERWISE + IF NOT toObject.AddProperty(lcName,oObject) + oObject=.NULL. + ENDIF +ENDCASE +IF ISNULL(oObject) + toObject.vResult=.NULL. + RETURN toObject.vResult +ENDIF +IF PEMSTATUS(oObject,"oHost",5) + oObject.oHost=toObject.oHost +ELSE + oObject.AddProperty("oHost",toObject.oHost) +ENDIF +IF EMPTY(lcClassLibrary) + lcClassLibrary=LOWER(oObject.ClassLibrary) +ENDIF +lnObjectRefCount=toObject.nObjectRefCount +lnObjectRefIndex=lnObjectRefCount+1 +FOR lnCount = 1 TO lnObjectRefCount + IF toObject.aObjectRefs[lnCount,1]==LOWER(lcName) + lnObjectRefIndex=lnCount + EXIT + ENDIF +ENDFOR +IF lnObjectRefIndex>lnObjectRefCount + DIMENSION toObject.aObjectRefs[lnObjectRefIndex,3] +ENDIF +toObject.aObjectRefs[lnObjectRefIndex,1]=LOWER(lcName) +toObject.aObjectRefs[lnObjectRefIndex,2]=lcClass +toObject.aObjectRefs[lnObjectRefIndex,3]=lcClassLibrary +toObject.vResult=oObject +RETURN toObject.vResult diff --git a/programe/suma_in_vorbe.prg b/programe/suma_in_vorbe.prg new file mode 100644 index 0000000..2d394f9 --- /dev/null +++ b/programe/suma_in_vorbe.prg @@ -0,0 +1,267 @@ +*!* 30.06.2017 +*!* marius.mutu +*!* adaugat parametru tcValuta + +*!* MESSAGEBOX(suma_in_vorbe(1)) +*!* MESSAGEBOX(suma_in_vorbe(10)) +*!* MESSAGEBOX(suma_in_vorbe(100)) +*!* MESSAGEBOX(suma_in_vorbe(1000)) +*!* MESSAGEBOX(suma_in_vorbe(10000)) +*!* MESSAGEBOX(suma_in_vorbe(100000)) +*!* MESSAGEBOX(suma_in_vorbe(1000000)) +*!* MESSAGEBOX(suma_in_vorbe(10000000)) +*!* MESSAGEBOX(suma_in_vorbe(100000000)) +*!* MESSAGEBOX(suma_in_vorbe(1000000000)) +*!* MESSAGEBOX(suma_in_vorbe(10000000000)) +*!* MESSAGEBOX(suma_in_vorbe(11000000000)) +*!* MESSAGEBOX(suma_in_vorbe(11100000000)) +*!* MESSAGEBOX(suma_in_vorbe(11110000000)) +*!* MESSAGEBOX(suma_in_vorbe(11111000000)) +*!* MESSAGEBOX(suma_in_vorbe(11111100000)) +*!* MESSAGEBOX(suma_in_vorbe(11111110000)) +*!* MESSAGEBOX(suma_in_vorbe(11111111000)) +*!* MESSAGEBOX(suma_in_vorbe(11111111100)) +*!* MESSAGEBOX(suma_in_vorbe(11111111110)) +*!* MESSAGEBOX(suma_in_vorbe(11111111111)) + +*!* Function SUMA_IN_VORBE +Parameter tnSuma, tcValuta + +LOCAL lcValuta, lcLei, lcLeu, lcBani, lcBan + +lcValuta = IIF(EMPTY(m.tcValuta), 'RON', ALLTRIM(UPPER(tcValuta))) +lcLei = IIF(INLIST(m.lcValuta,'LEI','RON'), 'lei', IIF('EUR'$m.lcValuta, 'euro', IIF(m.lcValuta = 'USD', 'dolari', IIF(m.lcValuta = 'GBP', 'lire', 'lei')))) +lcLeu = IIF(INLIST(m.lcValuta,'LEI','RON'), 'un leu', IIF('EUR'$m.lcValuta, 'un euro', IIF(m.lcValuta = 'USD', 'un dolar', IIF(m.lcValuta = 'GBP', 'o lira', 'un leu')))) +lcBani = IIF(INLIST(m.lcValuta,'LEI','RON'), 'bani', IIF('EUR'$m.lcValuta, 'centi', IIF(m.lcValuta = 'USD', 'centi', IIF(m.lcValuta = 'GBP', 'pence', 'bani')))) +lcBan = IIF(INLIST(m.lcValuta,'LEI','RON'), 'un ban', IIF('EUR'$m.lcValuta, 'un cent', IIF(m.lcValuta = 'USD', 'un cent', IIF(m.lcValuta = 'GBP', 'un peny', 'un ban')))) + +Local i,j, putere, lit,numar1,numar2 +Local lnSuma, lnSuma2 +Local A[1], B[1] + +Store 0 To i,j,lnSuma,lnSuma2 +Store 1 To putere +Store '' To lit,numar1,numar2 + +lnSuma=Round(tnSuma,2) +lnSuma2=(lnSuma-Int(lnSuma))*100 +lnSuma=Int(lnSuma) + +*!* lnSuma=ROUND(lnSuma,gnPa) +*!* FOR j=1 TO gnPa +*!* putere=10*putere +*!* ENDFOR +*!* lnSuma2=(lnSuma-Int(lnSuma))*putere + +numar1=Space(12) +*!* numar2=Space(gnPa) +numar2=Space(2) + +numar1=Str(lnSuma,12) +*!* numar2=Str(lnSuma2,gnPa) +numar2=Str(lnSuma2,2) + +Dimension A(12) +A(1)=Subs(numar1,12,1) +A(2)=Subs(numar1,11,1) +A(3)=Subs(numar1,10,1) +A(4)=Subs(numar1,9,1) +A(5)=Subs(numar1,8,1) +A(6)=Subs(numar1,7,1) +A(7)=Subs(numar1,6,1) +A(8)=Subs(numar1,5,1) +A(9)=Subs(numar1,4,1) +A(10)=Subs(numar1,3,1) +A(11)=Subs(numar1,2,1) +A(12)=Subs(numar1,1,1) +Sele mila1 +********************* +Loca For NR=Val(A(12)) +lit=lit+Alltri(cr1) + +If Val(A(11))=1 + If Val(A(10))=0 + Loca For NR=Val(A(11)) + lit=lit+Alltri(cr5) + Else + Loca For NR=Val(A(10)) + *!* modificare ROAAUTO v 2.0.5 + *!* lit=lit+Alltri(cr4) + lit=lit+Alltri(Strtran(cr4,[doi],[doua])) + *!* modificare ROAAUTO v 2.0.5 ^ + Endif +Else + If Val(A(10))=0 + Loca For NR=Val(A(11)) + lit=lit+Alltrim(cr5) + Else + Loca For NR=Val(A(11)) + lit=lit+Alltrim(cr2) + Loca For NR=Val(A(10)) + *!* modificare ROAAUTO v 2.0.5 + *!* lit=lit+Alltri(cr3) + *!* modificare ROAAUTO v 2.1.12 + lit=lit+Alltri(Strtran(Strtran(cr3,[unu],[un]),[doi],[doua])) + *!* modificare ROAAUTO v 2.0.5 ^ + Endif +Endif +Do Case + CASE Val(A(10)) = 1 AND VAL(a(11)) = 0 AND VAL(a(12)) = 0 && modificare ROAAUTO v 2.1.12 + lit=lit+' miliard' + Case Val(A(12)) # 0 + lit=lit+' miliarde' + Case Val(A(11)) # 0 + lit=lit+' miliarde' + Case Val(A(10)) # 0 + lit=lit+' miliarde' +Endcase +*********************** +Loca For NR=Val(A(9)) +lit=lit+Alltri(cr1) + +If Val(A(8))=1 + If Val(A(7))=0 + Loca For NR=Val(A(8)) + lit=lit+Alltri(cr5) + Else + Loca For NR=Val(A(7)) + *!* modificare ROAAUTO v 2.0.5 + *!* lit=lit+Alltri(cr4) + lit=lit+Alltri(Strtran(cr4,[doi],[doua])) + *!* modificare ROAAUTO v 2.0.5 ^ + Endif +Else + If Val(A(7))=0 + Loca For NR=Val(A(8)) + lit=lit+Alltrim(cr5) + Else + Loca For NR=Val(A(8)) + lit=lit+Alltrim(cr2) + Loca For NR=Val(A(7)) + *!* modificare ROAAUTO v 2.0.5 + *!* lit=lit+Alltri(cr3) + *!* modificare ROAAUTO v 2.1.12 + lit=lit+Alltri(Strtran(Strtran(cr3,[unu],[un]),[doi],[doua])) + *!* modificare ROAAUTO v 2.0.5 ^ + Endif +Endif +Do Case + CASE Val(A(7)) = 1 AND VAL(a(8)) = 0 AND VAL(a(9)) = 0 && modificare ROAAUTO v 2.1.12 + lit=lit+' milion' + Case Val(A(9)) # 0 + lit=lit+' milioane' + Case Val(A(8)) # 0 + lit=lit+' milioane' + Case Val(A(7)) # 0 + lit=lit+' milioane' +Endcase +*********************** +Loca For NR=Val(A(6)) +lit=lit+Alltri(cr1) + +If Val(A(5))=1 + If Val(A(4))=0 + Loca For NR=Val(A(5)) + lit=lit+Alltri(cr5) + Else + Loca For NR=Val(A(4)) + *!* modificare ROAAUTO v 2.0.5 + *!* lit=lit+Alltri(cr4) + lit=lit+Alltri(Strtran(cr4,[doi],[doua])) + *!* modificare ROAAUTO v 2.0.5 ^ + Endif +Else + If Val(A(4))=0 + Loca For NR=Val(A(5)) + lit=lit+Alltrim(cr5) + Else + Loca For NR=Val(A(5)) + lit=lit+Alltrim(cr2) + Loca For NR=Val(A(4)) + *!* modificare ROAAUTO v 2.0.5 + *!* lit=lit+Alltri(cr3) + *!* modificare ROAAUTO v 2.1.12 + lit=lit+Alltri(STRTRAN(Strtran(cr3,[unu],[una]),[doi],[doua])) + *!* modificare ROAAUTO v 2.0.5 ^ + Endif +Endif +Do Case + CASE Val(A(4)) = 1 AND VAL(a(5)) = 0 AND VAL(a(6)) = 0 && modificare ROAAUTO v 2.1.12 + lit=lit+' mie' + Case Val(A(6)) # 0 + lit=lit+' mii' + Case Val(A(5)) # 0 + lit=lit+' mii' + Case Val(A(4)) # 0 + lit=lit+' mii' +Endcase + +********************* +Loca For NR=Val(A(3)) +lit=lit+Alltri(cr1) + +If Val(A(2))=1 + If Val(A(1))=0 + Loca For NR=Val(A(2)) + lit=lit+Alltri(cr5) + Else + Loca For NR=Val(A(1)) + lit=lit+Alltri(cr4) + Endif +Else + If Val(A(1))=0 + Loca For NR=Val(A(2)) + lit=lit+Alltrim(cr5) + Else + Loca For NR=Val(A(2)) + lit=lit+Alltrim(cr2) + Loca For NR=Val(A(1)) + lit=lit+Alltrim(cr3) + Endif +Endif +*!* modificare ROAAUTO v 2.1.12 +*!* lit=lit+' lei' +IF lnSuma # 0 + IF lnSuma = 1 + lit = m.lcLeu && 'un leu' + Else + lit=lit+' ' + m.lcLei && 'lei' + Endif +Endif +*!* modificare ROAAUTO v 2.1.12 ^ +********************* +Do Case + Case lnSuma2>1 + lit=lit+' si' + Dimension B(2) + B(1)=Subs(numar2,2,1) + B(2)=Subs(numar2,1,1) + + Do Case + Case Val(B(2))=1 And Val(B(1))!=0 + Loca For NR=Val(B(1)) + lit=lit+Alltri(cr4) + Case Val(B(2))=0 + Loca For NR=Val(B(1)) + lit=lit+Alltrim(cr3) + Case Val(B(1))=0 + Loca For NR=Val(B(2)) + lit=lit+Alltrim(cr5) + Otherwise + Loca For NR=Val(B(2)) + lit=lit+Alltrim(cr2) + Loca For NR=Val(B(1)) + lit=lit+Alltrim(cr3) + Endcase + lit=lit+' ' + m.lcBani &&& 'bani' + Case lnSuma2=1 + lit=lit+'si ' + m.lcBan && 'un ban' +Endcase + +Sele mila1 +*!* use + +lit=Strtran(lit,' ','') + +Return lit + \ No newline at end of file diff --git a/programe/test_init_env.prg b/programe/test_init_env.prg new file mode 100644 index 0000000..e1c1146 --- /dev/null +++ b/programe/test_init_env.prg @@ -0,0 +1,351 @@ +SET DELETED ON +SET ANSI ON +SET EXACT ON +SET SAFETY OFF +CLOSE DATABASES +SET CENTURY ON +SET DATE DMY +SET NULLDISPLAY TO '' + +CT_SUCCES = 1 +CT_INSUCCES = -1 +crlf = CHR(13) + CHR(10) +gnAn = 2022 +gnLuna = 6 +gnIdUtil = -3 +glEMama = .T. +gnIdFirma = 110 +gcCondSucursala = [] +gnIdSucursala = m.gnIdFirma +gcS = 'ROMFAST' +gcFirma = 'ROMFAST' +gcUserName = m.gcS +gcNumeProgram=[ROACONT] +gcAppName = [ROACONT] +glLunaInchisa = .F. +glEMama = .F. + +Declare nror[65000] +buton = 1 +gnButon = 1 +pnButon = 1 + +LOCAL lcPath +PRIVATE gcAppPath + +gcAppPath = [D:\ROA\ROACONT\] +Set Default To (gcAppPath) +lcPath = gcAppPath + 'Date;' + ; + gcAppPath + 'Include;' + ; + gcAppPath + 'FERESTRE;' + ; + gcAppPath + 'GRAFICE;' + ; + gcAppPath + 'CLASE;' + ; + gcAppPath + 'MENIURI;' + ; + gcAppPath + 'PROGRAME;' + ; + gcAppPath + 'RAPOARTE;' + ; + gcAppPath + 'COMUN\CLASE;' + ; + gcAppPath + 'COMUN\FERESTRE;' + ; + gcAppPath + 'COMUN\PROGRAME;' + ; + gcAppPath + 'COMUN\GRAFICE;' + ; + gcAppPath + 'COMUN\RAPOARTE;' + ; + gcAppPath + 'COMUN\UTILE\CALENDAR;' + ; + gcAppPath + 'COMUN\UTILE\CTL32;' + ; + gcAppPath + 'COMUN\UTILE\HPDF;' + ; + gcAppPath + 'COMUN\UTILE\HPDF\REPORTOUTPUT;' + ; + gcAppPath + 'COMUN\UTILE\WEB;' + ; + gcAppPath + 'COMUN\UTILE\NFJSON;' + ; + gcAppPath + 'COMUN\UTILE\NFXML;' + ; + gcAppPath + 'COMUN\UTILE\EXCEL;' + ; + Addbs(Substr(gcAppPath,1,Rat([\],gcAppPath,2)))+[COMUNROA\] + +SET PATH TO &lcPath ADDITIVE + +lcLastSetClassLib=Set("CLASSLIB") +lcMainClassLib="clase\cont2000" + + + +*CLASE__________________________________________________________ +Set Classlib To (lcMainClassLib) Additive +Set Classlib To appwiz Additive +Set Classlib To CAUT Additive +* SET CLASSLIB TO FERESTREBAZA ADDITIVE +Set Classlib To BAZA Additive +Set Classlib To contab Additive +Set Classlib To comun Additive +Set Classlib To registry Additive +Set Classlib To cauta_alfa_forms.vcx Additive +Set Classlib To obalanta Additive +Set Classlib To ocriterii.vcx Additive +Set Classlib To ctl32_statusbar.vcx Additive +Set Classlib To ctl32_common.vcx Additive +Set Classlib To ctl32_structs.vcx Additive +Set Classlib To ctl32_progressbar.vcx Additive +*!* SET CLASSLIB TO ctl32_scontainer.vcx additive + + +*PROCEDURI______________________________________________________ +Set Procedure To PROCEDURI Additive +Set Procedure To pmenu Additive +Set Procedure To proceduri_comune Additive +Set Procedure To mesaje Additive +Set Procedure To acces_meniu Additive +Set Procedure To quitapp Additive +Set Procedure To init_program Additive +Set Procedure To oproceduri_maintenance.PRG Additive +Set Procedure To gridproc Additive +Set Procedure To proceduri_excel Additive +Set Procedure To oserii_numere.PRG Additive +Set Procedure To cauta_alfa Additive +Set Procedure To oproceduri_parteneri Additive +Set Procedure To oproceduri_incasari Additive +Set Procedure To oserii_numere Additive +Set Procedure To wwconfig Additive +Set Procedure To oexport Additive +SET PROCEDURE TO ocasabanca ADDITIVE +SET PROCEDURE TO importfromxlsx ADDITIVE +SET PROCEDURE TO appendfromxlsx.prg ADDITIVE +SET PROCEDURE TO overificari.prg ADDITIVE +SET PROCEDURE TO onomenclatoare.prg ADDITIVE +SET PROCEDURE TO excelxml.prg ADDITIVE + + +SET PROCEDURE TO saft_d406.prg ADDITIVE + +&& CLASE ORACLE +Set Classlib To DECABAZA Additive +Set Classlib To onomenclatoare Additive +Set Classlib To oparteneri Additive +Set Classlib To OCASABANCA Additive +Set Classlib To OVANZCUMP Additive +Set Classlib To oCompensari Additive +Set Classlib To oRapoarte_cont Additive +Set Classlib To oSit_Op Additive +Set Classlib To overificari Additive +Set Classlib To oteste Additive +Set Classlib To omodificari Additive +Set Classlib To ooptiuni Additive +Set Classlib To ointroduceri_cont Additive +Set Classlib To onote_contabile Additive +Set Classlib To odebcred Additive +Set Classlib To ferestre_oracle Additive +Set Classlib To caut_ora Additive +Set Classlib To otoolbar Additive +Set Classlib To inchideri_sal Additive +Set Classlib To serii_numere Additive +Set Classlib To contabilitate_rapoarte Additive +Set Classlib To oconversii Additive +Set Classlib To oactualizari Additive +Set Classlib To anaf_efactura Additive + +&& CLASE UTILITARE +Set Classlib To Messagebox Additive +SET CLASSLIB TO wwdialogs ADDITIVE +SET CLASSLIB TO orapoarte.vcx additive +SET CLASSLIB TO orapoarte_contabilitate.vcx additive +SET CLASSLIB TO accessibility.vcx ADDITIVE +SET CLASSLIB TO _calendar.vcx ADDITIVE +SET CLASSLIB TO orapoarte_comun.vcx ADDITIVE +SET CLASSLIB TO saft_d406.vcx ADDITIVE + +&& PROCEDURI ORACLE +Set Procedure To GENCURSOR.PRG Additive +Set Procedure To OPROCEDURI_COMUNE.PRG Additive +Set Procedure To OINIT_OPTIUNI.PRG Additive +Set Procedure To updateserver.PRG Additive +Set Procedure To oCompensari.PRG Additive +Set Procedure To oSituatii_Operative.PRG Additive +Set Procedure To oOperatii_comune.PRG Additive + +Set Procedure To OCONT2003.PRG Additive +Set Procedure To OPROCEDURI_aMS.PRG Additive +Set Procedure To oparteneri.PRG Additive +Set Procedure To orapoarte.PRG Additive +Set Procedure To orap_trezorerie Additive +Set Procedure To ocautare Additive +Set Procedure To omeniu_initializari Additive +Set Procedure To osecurity Additive +Set Procedure To oheader Additive +Set Procedure To orefaceri Additive +Set Procedure To oproceduri_casademarcat Additive +Set Procedure To controllerecr Additive +Set Procedure To oproceduri_comune_imob.PRG Additive +Set Procedure To oproceduri_conversie.PRG Additive +Set Procedure To odocumente.PRG Additive +Set Procedure To oproceduri_actualizari.PRG Additive +SET PROCEDURE TO orapoarte_dinamice.prg additive +SET PROCEDURE TO update_imob.prg ADDITIVE +SET PROCEDURE TO oproceduri_import.prg ADDITIVE +Set Procedure To wwutils.PRG Additive +Set Procedure To wwxmlhttp.PRG Additive +Set Procedure To ini.PRG Additive +Set Procedure To regex.PRG Additive +Set Procedure To validare.PRG Additive && validare cif +Set Procedure To oproceduri_evolutie Additive +Set Procedure To oproceduri_decont Additive + +Set Procedure To proceduri_rapoarte.PRG Additive +SET PROCEDURE TO anaf_efactura.prg ADDITIVE + + +*!* modificare v 2.0.95 +SET PROCEDURE TO iniacces.prg ADDITIVE +SET PROCEDURE TO oupdate.prg additive +SET PROCEDURE TO procese.prg additive +SET PROCEDURE TO version.prg additive +SET PROCEDURE TO xmlaccess.prg additive +SET PROCEDURE TO xmlparser.prg additive +SET PROCEDURE TO filebringer.prg additive +SET PROCEDURE TO wwcodeupdate.prg additive +SET PROCEDURE TO wwhttp.prg ADDITIVE +SET PROCEDURE TO wwapi.prg ADDITIVE +*!* modificare v 2.0.95^ + +*!* modificare v 2.5.28 +Declare Integer GetPrivateProfileString In WIN32API ; + string, String, String, String @, Integer, String +Declare Integer WritePrivateProfileString In Win32Api ; + string, String, String, String +Declare Integer CopyFile In WIN32API ; + STRING lpExistingFileName,; + STRING lpNewFileName,; + INTEGER bFailIfExists +Declare Integer URLDownloadToFile In urlmon.Dll; + INTEGER pCaller, String szURL, String szFileName,; + INTEGER dwReserved, Integer lpfnCB +Declare Integer PathFileExists In shlwapi; + STRING pszPath +*!* modificare v 2.5.28 ^ + +If Type('goApi') = 'U' + Public goApi + goApi = Newobject("wwAPI", "wwAPI.prg") +ENDIF + +set procedure to oinit_optiuni.prg additive +set procedure to oproceduri_comune.prg additive + +PRIVATE gnHandle, goExecutor, goConn, goFirma, goCalendar, gcAcces, goApp, DIRGEN, gcBasePath, gcTempPath +Private gcGeneralIniFile +DIRGEN = [D:\ROA\] +gcBasePath = dirgen +gcGeneralIniFile = DIRGEN + "settings.ini" +gcSettingsFile = m.gcGeneralIniFile +gcTempPath = Addbs(shortpath(goApi.GetTempPath())) + gcS + [\] && WWAPI.PRG +If !Directory(gcTempPath) + Md (gcTempPath) +Endif + +Private poLog,goLog && obiect pt logarea mesajelor sistemului +poLog = Newobject("Log_Mesaje","Log_Mesaje.prg") +goLog = poLog + +goApp=Createobject("wzApplication") + +gnHandle = 0 + +goExecutor = createobject("oExecutor") +goConn = createobject("oConn") +lcHost = INPUTBOX('Host','Host','ROA_ROMFAST') +lcSchema = INPUTBOX('Schema','Schema', m.gcS) +lcPassword = INPUTBOX('Password','Password','ROMFASTSOFT') +gcS = ALLTRIM(m.lcSchema) +gcUserName = m.gcS +goConn.Connect(m.lcHost, m.lcSchema, m.lcPassword) + +gcAcces=[1;2;3;4;5;6;7;8;] + +goFirma = null +llSucces = goExecutor.oExecuta("select * from syn_v_nom_firme where schema = ?gcS", "cFirma") + +SELECT cFirma +gnIdFirma = id_firma +gnIdSucursala = null +gcFirma = ALLTRIM(firma) + +IF m.llSucces + SELECT cFirma + SCATTER NAME goFirma +ELSE + goFirma = CREATEOBJECT('custom') + goFirma.addproperty('cod_fiscal', 'RO1879855') + goFirma.addproperty('schema', m.gcS) + goFirma.addproperty('firma', m.gcS) +ENDIF +lcDeclarant = Alltrim(goFirma.declarant) +AddProperty(goFirma, 'nume_declarant', m.lcDeclarant) +AddProperty(goFirma, 'prenume_declarant', '') +lnNraparitie = At(" ", m.lcDeclarant) +If lnNraparitie > 0 + goFirma.nume_declarant = Substr(m.lcDeclarant, 1, m.lnNraparitie) + goFirma.prenume_declarant = Substr(m.lcDeclarant, m.lnNraparitie + 1) +Endif + +USE IN (SELECT('cFirma')) + +goCalendar = null +llSucces = goExecutor.oExecuta('SELECT anul, luna, tva_incasare FROM calendar WHERE an*12+luna = (select MAX(an*12+luna) FROM calendar)', 'cCalendar') +IF m.llSucces + SELECT cCalendar + GO TOP + gnAn = anul + gnLuna = luna + SCATTER NAME goCalendar +ENDIF +USE IN (SELECT('cCalendar')) + +_SCREEN.Caption = ALLTRIM(goFirma.firma) + " " + PADL(m.gnLuna,2, "0") + "/" + PADL(gnAn,4,"0") + +CREATE CURSOR dual (dummy c(10)) +INSERT INTO dual (dummy) VALUES ("") + +actualizeaza_optiuni() +Do optiuni_firma IN oinit_optiuni.prg + +&& setez variabilele de sesiune pe server + +lcSql = [begin pack_sesiune.set_Id_Util(?gnIdUtil); end;] +llSucces = goExecutor.oExecuta(lcSql) + +lcSql = [begin pack_sesiune.setluna(?gnLuna); pack_sesiune.setan(?gnAn); end;] +llSucces = goExecutor.oExecuta(lcSql) + +lcSql = [begin pack_sesiune.setlunabal(?gnLuna); pack_sesiune.setanbal(?gnAn); end;] +llSucces = goExecutor.oExecuta(lcSql) + +lcSql = [begin pack_contafin.SET_DATA_RON(?gcS); end;] +llSucces = goExecutor.oExecuta(lcSql) + +lcSql = [begin pack_sesiune.set_data_ron(?gcS); end;] +llSucces = goExecutor.oExecuta(lcSql) + +lcSql = [begin pack_contafin.set_id_sucursala(?gnIdSucursala); end;] +llSucces = goExecutor.oExecuta(lcSql) + +lcSql = [begin pack_contafin.set_id_firma(?gnIdFirma); end;] +llSucces = goExecutor.oExecuta(lcSql) + + +* lcCommand = INPUTBOX('Command', 'Command', 'DO FORM d:\roa\roacont\ferestre\frm_import_note_a4200.scx') +lnOptiune = xmenu('SAFT;Import extrase;XML eFactura;Import eFactura;SPV;Chatbot') +lcCommand = '' +DO CASE + CASE m.lnOptiune = 1 + CD [D:\ROA\COMUNROA\dist406] + lcCommand = INPUTBOX('Command', 'Command', 'do viz_saft_d406 in saft_d406.prg') + CASE m.lnOptiune = 2 + lcCommand = INPUTBOX('Command', 'Command', 'do form frm_import_extrase_banca.scx') + CASE m.lnOptiune = 3 + lcCommand = INPUTBOX('Command', 'Command', 'do xmlefactura.prg') + CASE m.lnOptiune = 4 + lcCommand = INPUTBOX('Command', 'Command', 'do vizImportEFactura in import_efactura.prg') + CASE m.lnOptiune = 5 + lcCommand = INPUTBOX('Command', 'Command', 'do viz_spv in anaf_efactura.prg') + CASE m.lnOptiune = 6 + lcCommand = INPUTBOX('Command', 'Command', 'do form frm_chatbot.scx') +*!* lcCommand = INPUTBOX('Command', 'Command', 'do chatbot.prg') + +ENDCASE +IF !EMPTY(m.lcCommand) + &lcCommand +ENDIF diff --git a/programe/update_comenzi.prg b/programe/update_comenzi.prg new file mode 100644 index 0000000..c876680 --- /dev/null +++ b/programe/update_comenzi.prg @@ -0,0 +1,202 @@ +*!* 20.01.2026 +*!* update_articole_politica, update_articole_politica_comenzi + codbare + +*************************************************************************************************************** +**** Proceduri +**** update_articole_politica ( tnIdPol ) +**** update_articole_politica_utilizator - veche 26.01 +**** update_articole_politica_comenzi +**** caut_politici_curente - veche 26.01 +**** caut_politici_curente_utilizator +**** caut_lucrari_curente - veche 26.01 +**** caut_lucrari_curente_gs +**** Functii +**** caut_nume_politica - mutata in proceduri_comune.prg ( v 2.0.11 ) +*************************************************************************************************************** +PROCEDURE extrage_optiuni_firma && adaugata v 2.0.15 + gnIdGrupaArtSectie = Val(extrage_optiuni(gcGrupaArtSectie, gnId_sectie)) + gnTipUzualComanda = Val(extrage_optiuni(gcTipUzualComanda, gnId_sectie)) + gnComenziInitial = Val(extrage_optiuni(gcComenziInitial, gnId_sectie)) + gnOre_inchidere = Val(extrage_optiuni(gcOre_inchidere, gnId_sectie)) + gnOre_livrare = Val(extrage_optiuni(gcOre_livrare, gnId_sectie)) + gnOre_executie = Val(extrage_optiuni(gcOre_executie, gnId_sectie)) + gnCopiereCantitate = Val(extrage_optiuni(gcCopiereCantitate, gnId_sectie)) + gnIdPoliticaPretC = Val(extrage_optiuni(gcIdPoliticaPretC, gnId_sectie)) + gnIdPoliticaPret = Val(extrage_optiuni(gcIdPoliticaPret, gnId_sectie)) + gnId_lista_preturi_PV = Val(extrage_optiuni(gcId_lista_preturi_PV, gnId_sectie)) + gnSuprascriePretComanda = Val(extrage_optiuni(gcSuprascriePretComanda, gnId_sectie)) + gnRF_ORDONARECOMENZI = Val(extrage_optiuni(gcRF_ORDONARECOMENZI, gnId_sectie)) +ENDPROC +*************************************************************************************************************** +Procedure update_articole_politica +Lparameters tnIdPol +If Used('v_articole') + Use In v_articole +Endif + +TEXT TO lcSql TEXTMERGE NOSHOW +select p.id_articol,p.id_pol,p.pret,p.um,p.nume_articol,p.codmat,p.codbare,p.preturi_cu_tva as pret_cu_tva, s.stoc + from com_vpreturi_utilizator p + left join (select id_articol, + sum(cants + cant - cante) as stoc + from stoc + where an = <> + and luna = <> + and id_gestiune in + (SELECT X + FROM table(charn2collection((select pack_comenzi.extrage_optiuni(varvalue, <>) as id_pol from optiuni where varname = 'LISTA_GESTIUNI_STOC'), + ','))) + group by id_articol) s + on p.id_articol = s.id_articol + where p.id_util = <> and p.id_pol= <> +ENDTEXT + + +lcCursor = [v_articole] +lnSucces = goExecutor.oExecute(lcSql,lcCursor) +goExecutor.oReset() + +Return lnSucces +Endproc && update_articole_politica +*************************************************************************************************************** +*!* Procedure update_articole_politica_utilizator +*!* If Used('v_articole') +*!* Use In v_articole +*!* Endif +*!* lcSql = [select id_articol,id_pol,pret,um,nume_articol,codmat ] + ; +*!* [from ] + gcS + [.com_vpreturi_utilizator where id_util = ?gnIdUtil order by nume_articol] +*!* lcCursor = [v_articole] +*!* lnSucces = goExecutor.oExecute(lcSql,lcCursor) +*!* goExecutor.oReset() + +*!* Return lnSucces +*!* Endproc && update_articole_politica_utilizator +*************************************************************************************************************** +Procedure update_articole_politica_comenzi +Lparameters tcOptiune + +PRIVATE pcOptiune +If Used('v_articole') + Use In v_articole +Endif +pcOptiune = NVL(tcOptiune,[]) + +TEXT TO lcSql TEXTMERGE NOSHOW +select p.id_articol,p.id_pol,p.pret,p.um,p.nume_articol,p.codmat,p.codbare,p.preturi_cu_tva as pret_cu_tva, s.stoc + from com_vpreturi_utilizator p + left join (select id_articol, + sum(cants + cant - cante) as stoc + from stoc + where an = <> + and luna = <> + and id_gestiune in + (SELECT X + FROM table(charn2collection((select pack_comenzi.extrage_optiuni(varvalue, <>) as id_pol from optiuni where varname = 'LISTA_GESTIUNI_STOC'), + ','))) + group by id_articol) s + on p.id_articol = s.id_articol + where p.id_util = ?gnIdUtil and p.id_pol in + (select to_number(pack_comenzi.extrage_optiuni(varvalue,<>)) as id_pol from optiuni where varname = '<>') + order by p.nume_articol +ENDTEXT +lcCursor = [v_articole] +lnSucces = goExecutor.oExecute(lcSql,lcCursor) +goExecutor.oReset() +RELEASE pcOptiune +Return lnSucces +Endproc && update_articole_politica_comenzi +*************************************************************************************************************** +*!* Procedure caut_politici_curente +*!* Local locauta,llReturn +*!* Store "" To locauta +*!* Store .F. To llReturn +*!* lcSelect = ["select id_pol,nume,datai,datas from ] + gcS + [.crm_vpolitici_pret_curente"] +*!* lcFiltru = [1=2] +*!* lcSchema = [''] +*!* lcOrder = [2] +*!* lcColoane = [nume,datai,datas] +*!* lcTitlu = [ALEGETI POLITICA DE PRETURI] +*!* lcTitluColoane = [Nume,Data inceput,Data sfarsit] +*!* locauta = cauta_alfa(lcSelect,lcFiltru,lcSchema,lcOrder,lcColoane,lcTitlu,lcTitluColoane,"") +*!* Return locauta +*!* Endproc && caut_politici_curente +*************************************************************************************************************** +PROCEDURE caut_politici_curente_utilizator +Local locauta,llReturn +Store "" To locauta +Store .F. To llReturn +lcSelect = [select id_pol,nume,datai,datas from ] + gcS + [.crm_vpolpretcurutil] +lcFiltru = [] +lcFiltruOriginal = [id_util = ?gnIdUtil] +lcSchema = [] +lcOrder = [2] +lcColoane = [nume,datai,datas] +lcTitlu = [ALEGETI POLITICA DE PRETURI] +lcTitluColoane = [Nume,Data inceput,Data sfarsit] +locauta = cauta_alfa(lcSelect,lcFiltru,lcSchema,lcOrder,lcColoane,lcTitlu,lcTitluColoane,"",.F.,lcFiltruOriginal) +Return locauta +Endproc && caut_politici_curente_utilizator +*************************************************************************************************************** +*!* Procedure caut_lucrari_curente +*!* Local locauta,llReturn +*!* Store "" To locauta +*!* Store .F. To llReturn +*!* lcSelect = ["select id_lucrare,nrord,data_lucrare,termen_executie from ] + gcS + [.vlucrari_curente"] +*!* lcFiltru = [1=2] +*!* lcSchema = [''] +*!* lcOrder = [2] +*!* lcColoane = [nrord,data_lucrare,termen_executie] +*!* lcTitlu = [ALEGETI LUCRAREA] +*!* lcTitluColoane = [Numar lucrare,Data lucrare,Termen] +*!* locauta = cauta_alfa(lcSelect,lcFiltru,lcSchema,lcOrder,lcColoane,lcTitlu,lcTitluColoane,"") +*!* Return locauta +*!* Endproc +*************************************************************************************************************** +Function caut_lucrari_curente_gs +Lparameters tlToateIreg, tlMaiMulteLucrari +Store "" To locauta + +lcFiltru = [1=2] +lcSchema = [id_lucrare n(20),nrord c(30),data_lucrare t,termen_executie t] +lcOrder = [termen_executie] +lcColoane = [nrord,data_lucrare,termen_executie] +lcTitlu = [ALEGETI LUCRAREA] +lcTitluColoane = [Numar lucrare,Data lucrare,Termen] +llMaiMulteLucrari = tlMaiMulteLucrari +lcSelect = [select id_lucrare,nrord,data_lucrare,termen_executie from vlucrari_curente where] +lcFiltruOriginal = [2=2] +lcNumeProc = [nom_lucrari_detalii] +llToateIreg = tlToateIreg +lcPrimaColoana = [termen_executie] +lnPornire = 1 +lnTipReturn = Iif(tlMaiMulteLucrari, 1, 0) +lcIdColumn = "id_lucrare" +locauta = cauta_alfa_gs(lcSelect, lcFiltru, lcSchema, lcOrder, lcColoane, lcTitlu, lcTitluColoane, lcNumeProc, llToateIreg, lcFiltruOriginal, lcPrimaColoana, lnPornire, lnTipReturn , lcIdColumn, .F. , get_ora()) + +Return locauta +Endfunc && caut_lucrari_curente_gs +***************************************************************************************************************** +*!* Function caut_nume_politica +*!* Lparameters tnIdPol +*!* Local lcNume +*!* Store "" To lcNume +*!* If !Empty(Nvl(tnIdPol,0)) +*!* If Used('crstemppol') +*!* Use In crstemppol +*!* Endif +*!* lcSql = [select nume from ] + gcS + [.crm_vpolitici_pret_curente where id_pol = ] + Alltrim(Str(tnIdPol)) +*!* lnSucces = goExecutor.oExecute(lcSql,[crstemppol]) +*!* If lnSucces < 0 +*!* amessagebox(goExecutor.oPrelucrareEroare(),16,"Eroare") +*!* Else +*!* Select crstemppol +*!* lcNume = Alltrim(Upper(nume)) +*!* Endif +*!* If Used('crstemppol') +*!* Use In crstemppol +*!* Endif +*!* Endif + +*!* Return lcNume +*!* Endfunc && caut_nume_politica +*************************************************************************************************************** \ No newline at end of file diff --git a/programe/update_imob.prg b/programe/update_imob.prg new file mode 100644 index 0000000..55b9db3 --- /dev/null +++ b/programe/update_imob.prg @@ -0,0 +1,71 @@ +Procedure cctipuri_imob() + +If Used('v_tipuri_imob') + Use In v_tipuri_imob +Endif + +lcSql = [select id_tip_imobilizare,TRIM(denumire) as denumire,]+; + [inactiv from ] + gcS + [.imob_vtipuri_imobilizare] +lcCursor = [v_tipuri_imob] +lnSucces = goExecutor.oExecute(lcSql,lcCursor) +If lnSucces < 0 + aMessagebox(goExecutor.cEroare,0+16,"Eroare") +Endif +goExecutor.oReset() +Return lnSucces + +Endproc +********************************************************************** +Procedure cctipuri_amort() + +If Used('v_tipuri_amort') + Use In v_tipuri_amort +Endif + +lcSql = [select id_tip_amortizare,TRIM(denumire) as denumire,]+; + [inactiv from ] + gcS + [.imob_vtipuri_amortizare] +lcCursor = [v_tipuri_amort] +lnSucces = goExecutor.oExecute(lcSql,lcCursor) +If lnSucces < 0 + aMessagebox(goExecutor.cEroare,0+16,"Eroare") +Endif +goExecutor.oReset() +Return lnSucces + +Endproc +********************************************************************** +Procedure cctipuri_operatie() + +If Used('v_tipuri_operatie') + Use In v_tipuri_operatie +Endif + +lcSql = [select id_tip_operatie,TRIM(denumire) as denumire,]+; + [inactiv from ] + gcS + [.imob_vtipuri_operatie where inactiv = 0 order by Id_tip_operatie] +lcCursor = [v_tipuri_operatie] +lnSucces = goExecutor.oExecute(lcSql,lcCursor) +If lnSucces < 0 + aMessagebox(goExecutor.cEroare,0+16,"Eroare") +Endif +goExecutor.oReset() +Return lnSucces + +Endproc +********************************************************************** +Procedure ccnorme() + +If Used('v_norme') + Use In v_norme +Endif + +lcSql = [select * from ] + gcS + [.imob_vnorme] +lcCursor = [v_norme] +lnSucces = goExecutor.oExecute(lcSql,lcCursor) +If lnSucces < 0 + aMessagebox(goExecutor.cEroare,0+16,"Eroare") +Endif +goExecutor.oReset() +Return lnSucces + +Endproc +********************************************************************** \ No newline at end of file diff --git a/programe/update_nomenclator_salarii.prg b/programe/update_nomenclator_salarii.prg new file mode 100644 index 0000000..f1245c4 --- /dev/null +++ b/programe/update_nomenclator_salarii.prg @@ -0,0 +1,123 @@ +********************************************************** +PROCEDURE update_dedsupl + +If Used('v_dedsupl') + Use In v_dedsupl +Endif + +lcSql = [select * from ] + gcS + [.sal_vnom_dedsupl] +lcCursor = [v_dedsupl] +lnSucces = goExecutor.oExecute(lcSql,lcCursor) +goExecutor.oReset() + +Return lnSucces + +ENDPROC + +********************************************************** + + +PROCEDURE update_hand +LPARAMETERS tnAlias + +*!* If Used('v_hand') +*!* Use In v_hand +*!* Endif + +lcSql = [select * from ] + gcS + [.sal_vnom_handicap] +IF PCOUNT()=1 + lcCursor = [v_hand]+ALLTRIM(STR(tnAlias)) +ELSE + lcCursor = [v_hand] +ENDIF +lnSucces = goExecutor.oExecute(lcSql,lcCursor) +goExecutor.oReset() + +Return lnSucces + +ENDPROC + +********************************************************** +PROCEDURE update_mes + +If Used('v_meseria') + Use In v_meseria +Endif + +lcSql = [select * from ] + gcS + [.sal_vnom_mes] +lcCursor = [v_meseria] +lnSucces = goExecutor.oExecute(lcSql,lcCursor) +goExecutor.oReset() + +Return lnSucces + +ENDPROC + +******************************************************** +PROCEDURE update_form + +If Used('v_formatia') + Use In v_formatia +Endif + +lcSql = [select * from ] + gcS + [.sal_vnom_formatii] +lcCursor = [v_formatia] +lnSucces = goExecutor.oExecute(lcSql,lcCursor) +goExecutor.oReset() + +Return lnSucces + +ENDPROC + +************************************************************** +PROCEDURE update_limbi + +If Used('v_limba') + Use In v_limba +Endif + +lcSql = [select * from ] + gcS + [.sal_vnom_limb] +lcCursor = [v_limba] +lnSucces = goExecutor.oExecute(lcSql,lcCursor) +goExecutor.oReset() + +Return lnSucces + +ENDPROC + +**************************************************** +PROCEDURE update_curs + +If Used('v_curs') + Use In v_curs +Endif + +lcSql = [select * from ] + gcS + [.sal_vnom_curs] +lcCursor = [v_curs] +lnSucces = goExecutor.oExecute(lcSql,lcCursor) +goExecutor.oReset() + +Return lnSucces + +ENDPROC + +**************************************************** + +PROCEDURE update_stud + +If Used('v_stud') + Use In v_stud +Endif + +lcSql = [select * from ] + gcS + [.sal_vnom_stud] +lcCursor = [v_stud] +lnSucces = goExecutor.oExecute(lcSql,lcCursor) +goExecutor.oReset() + +Return lnSucces + +ENDPROC +**************************************************** + + + diff --git a/programe/update_roadef_sal.prg b/programe/update_roadef_sal.prg new file mode 100644 index 0000000..45f56bf --- /dev/null +++ b/programe/update_roadef_sal.prg @@ -0,0 +1,143 @@ + +******************************************* +* PROCEDURE update_responsabil( ) +* Date : 05/23/05, 12:25:08 +* author : liana.macinic +* description: + +****** PARAMETER BLOCK ************** +* Parameters : 0 +* +******************************************* +PROCEDURE update_responsabil( ) +If Used('v_resp') + Use In v_resp +Endif + +lcSql = [select * from ] + gcS + [.sal_responsabil where ales_decl = 1 and sters = 0 and inactiv = 0] +lcCursor = [v_resp] +lnSucces = goExecutor.oExecute(lcSql,lcCursor) +goExecutor.oReset() + +ENDPROC +*----------------------------------sfarsit procedura update_responsabil---------------------------------- + +******************************************* +* PROCEDURE update_sectie( ) +* Data/ora : 12/16/04, 14:26:22 +* autor : liana.macinic +* descriere: + +****** PARAMETER BLOCK ************** +* Parametri : 0 +* +******************************************* +Procedure update_sectie( ) +If Used('v_sectie') + Use In v_sectie +Endif + +lcSql = [select * from ] + gcS + [.vnom_sectii order by sectie]&& where inactiv = 0] +lcCursor = [v_sectie] +lnSucces = goExecutor.oExecute(lcSql,lcCursor) +goExecutor.oReset() + +Return lnSucces + +Endproc +******************************************* +* PROCEDURE update_transe( ) +* Date : 05/26/05, 16:25:42 +* author : liana.macinic +* description: + +****** PARAMETER BLOCK ************** +* Parameters : 0 +* +******************************************* +PROCEDURE update_transe( ) +If Used('v_transe') + Use In v_sectie +Endif + +lcSql = [select * from ] + gcS + [.SAL_NOM_TRANSE where inactiv = 0 and sters = 0] +lcCursor = [v_transe] +lnSucces = goExecutor.oExecute(lcSql,lcCursor) +goExecutor.oReset() + +Return lnSucces + +ENDPROC +*----------------------------------sfarsit procedura update_transa---------------------------------- +******************************************* +* PROCEDURE update_semnaturi( ) +* Date : 05/26/05, 16:25:42 +* author : liana.macinic +* description: + +****** PARAMETER BLOCK ************** +* Parameters : 0 +* +******************************************* +PROCEDURE update_semnaturi( ) +If Used('v_semnaturi') + Use In v_semnaturi +Endif + +lcSql = [select a.*,a.denumire as semnatura from SAL_semnaturi a where a.inactiv = 0 and a.sters = 0] +lcCursor = [v_semnaturi] +lnSucces = goExecutor.oExecute(lcSql,lcCursor) +goExecutor.oReset() + +Return lnSucces + +ENDPROC +*----------------------------------sfarsit procedura update_transa---------------------------------- +******************************************* +* PROCEDURE update_ore( ) +* Date : 05/26/05, 16:25:42 +* author : liana.macinic +* description: + +****** PARAMETER BLOCK ************** +* Parameters : 0 +* +******************************************* +PROCEDURE update_ore( ) +If Used('v_nomore') + Use In v_nomore +Endif + +lcSql = [select * from ] + gcS + [.SAL_NOMORE where inactiv = 0 and sters = 0] +lcCursor = [v_nomore] +lnSucces = goExecutor.oExecute(lcSql,lcCursor) +goExecutor.oReset() + +Return lnSucces + +ENDPROC +*----------------------------------sfarsit procedura update_ore---------------------------------- +******************************************* +* PROCEDURE update_calcdin( ) +* Date : 06/17/05, 12:52:29 +* author : liana.macinic +* description: + +****** PARAMETER BLOCK ************** +* Parameters : 0 +* +******************************************* +PROCEDURE update_calcdin( ) +If Used('v_calcdin') + Use In v_calcdin +Endif + +lcSql = [select id_calcdin,camp,denumire as nume_camp,tabel from ] + gcS + [.sal_nom_calcdin where 2=2] +lcCursor = [v_calcdin] +lnSucces = goExecutor.oExecute(lcSql,lcCursor) +goExecutor.oReset() + +Return lnSucces + +ENDPROC +*----------------------------------sfarsit procedura update_calcdin---------------------------------- \ No newline at end of file diff --git a/programe/updateserver.prg b/programe/updateserver.prg new file mode 100644 index 0000000..bb8e391 --- /dev/null +++ b/programe/updateserver.prg @@ -0,0 +1,1458 @@ +*!* 19.02.2010 +*!* marius.mutu +*!* update_corespondente_cvc - finalizare aprovizionare - corespondenta cont_aprovizionare +*!* 3xx = 401 -> 3xx = 32x + +*!* 22.03.2010 +*!* marius.mutu +*!* ccsectii, close_ccsectii + +*!* 27.05.2011 +*!* marius.mutu +*!* update_parteneriemail + +*!* 07.10.2016 +*!* marius.mutu +*!* ccsectii - corectie sql + +* PROCEDURE update_lunilean( ) +* Date : 06/10/2004, 13:27:54 +* author : marius.mutu +* description: + +****** PARAMETER BLOCK ************** +* Parameters : 0 +* +******************************************* INCEPUT:update_lunilean******************************************* +PROCEDURE update_lunilean( ) + LOCAL lcSql, lcCursor, lnSucces + lcSql = [select * from contafin_oracle.lunilean] + lcCursor = [lunilean] + lnSucces = goExecutor.oExecute(lcSql,lcCursor) + goExecutor.oReset() + + RETURN lnSucces + +ENDPROC +******************************************* SFARSIT: update_lunilean ******************************************* + + +* PROCEDURE update_calendar( ) +* Date : 06/10/2004, 13:27:54 +* author : marius.mutu +* description: + +****** PARAMETER BLOCK ************** +* Parameters : 0 +* +******************************************* INCEPUT:update_calendar ******************************************* +PROCEDURE update_calendar( ) + + LOCAL lcNumeCal + STORE '' TO lcNumeCal + lcSelect = [select varvalue, col_an, col_luna, tip_col_an, tip_col_luna from syn_optiuni_programe WHERE id_prg_owner = ]+ALLTRIM(STR(gnIdProgram)) +[ and UPPER(varname) = 'CALENDAR'] + lcCursor = [crsNumeCal] + lnsucces = goExecutor.oExecute(lcSelect,lcCursor) + IF lnsucces < 0 + aMESSAGEBOX('Eroare la selectie ' + goExecutor.cEroare,0+16,"Eroare") + RETURN + ENDIF + + SELECT crsNumeCal + IF RECCOUNT() = 0 + lcNumeCal = 'CALENDAR' + lcCol_an = 'an' + lcCol_luna = 'luna' + lcSel_Col_an = 'an' + lcSel_Col_luna = ' to_char(' + lcCol_luna + ') ' + ELSE + lcNumeCal = ALLTRIM(crsNumeCal.varvalue) + lcCol_an = ALLTRIM(col_an) && an + lcCol_luna = ALLTRIM(col_luna) && luna + lctip_col_an = UPPER(ALLTRIM(tip_col_an)) && roaCont = C, roaSal = N + lctip_col_luna = UPPER(ALLTRIM(tip_col_luna)) + + DO case + CASE lctip_col_an = 'N' + lcSel_Col_an = ' to_char(' + lcCol_an + ') ' + CASE lctip_col_an = 'C' + lcSel_Col_an = lcCol_an + ENDCASE + + DO CASE + CASE lctip_col_luna = 'N' + lcSel_Col_luna = ' to_char(' + lcCol_luna + ') ' + CASE lctip_col_luna = 'C' + lcSel_Col_luna = lcCol_luna + ENDCASE + ENDIF + + If lcNumeCal = 'CALENDAR' + lcSelect = [select * from ] + gcS + [.calendar order by anul, luna] + Else + lcSelect = [select ] + lcSel_Col_an + [ as an, ] + lcSel_Col_luna + [ as nl ] + ; + [,0 as ctvai,0 as ctvam,0 as plafon_casa,0 as plafon_furnizori,0 as plafon_plati,]+; + lcCol_an+[ as anul,]+lcCol_luna+; + [ as luna from ] + lcSchema + [.] + lcNumeCal +; + [ order by ] + lcCol_an + [ * 12 + ] + lcCol_luna + EndIf + + lcCursor = [calendar] + lnsucces = goExecutor.oExecute(lcSelect,lcCursor) + goExecutor.oReset() + + RETURN lnSucces + + +ENDPROC +******************************************* SFARSIT: update_calendar ******************************************* + + +* PROCEDURE update_firme( ) +* Date : 06/10/2004, 13:27:08 +* author : marius.mutu +* description: +******************************************* INCEPUT:update_firme ******************************************* +PROCEDURE update_firme( ) + + *** selectez firmele + LOCAL lcSql, llSucces + lcSql = [select * from syn_nom_firme order by firma] + + llSucces = goExecutor.oExecuta(lcSql,'crsFirmeTemp') + IF llSucces + SET TEXTMERGE ON TO memvar lcSql NOSHOW + SELECT v_firme_temp + SCAN + \select CAST(<> as varchar2(50)) as schema, + \CAST(0 as Number(4)) as an1, CAST(0 as Number(2)) as luna1, min(anul*12+luna) as minanluna, + \CAST(0 as Number(4)) as an1, CAST(0 as Number(2)) as luna1, max(anul*12+luna) as maxanluna + \from <>.calendar + \union + ENDSCAN + SET TEXTMERGE TO + llSucces = goExecutor.oExecuta(lcSql,'crsFirmeLunaTemp') + IF llSucces + UPDATE crsFirmeLunaTemp SET an2 = INT(maxanluna/12), luna2 = MOD(maxanluna,12), an1 = INT(minanluna/12), luna2 = MOD(minanluna,12) + UPDATE crsFirmeLunaTemp SET an2 = an2 - 1, luna2 = 12 WHERE luna2 = 0 + UPDATE crsFirmeLunaTemp SET an1 = an1 - 1, luna1 = 12 WHERE luna1 = 0 + + SELECT a.*, b.an1, b.luna1, b.an2, b.luna2 from crsFirmeTemp a JOIN crsFirmeLunaTemp b ON PADR(UPPER(a.schema), 50, ' ') = PADR(UPPER(b.schema), 50, ' ') ; + INTO CURSOR v_firme + + USE IN (SELECT('crsFirmeLunaTemp')) + ENDIF + USE IN (SELECT('crsFirmeLunaTemp')) + ENDIF + + RETURN IIF(m.llSucces, 1, -1) +ENDPROC +******************************************* SFARSIT: update_firme ******************************************* + +* PROCEDURE update_firme_util_prog +* Date : 01/04/2005, 08:53:08 +* author : marius.mutu +* description: +******************************************* INCEPUT:update_firme_util_prog ******************************************* +PROCEDURE update_firme_util_prog +LPARAMETERS tnIdProgram, tnIdUtil + +LOCAL lnSucces + +PRIVATE pnIdProgram, pnIdUtil +pnIdProgram = tnIdProgram +pnIdUtil = tnIdUtil + +*!* lcSql = [select * from v_nom_firme where id_firma in ] + ; +*!* [(select id_firma from vdef_util_firme where id_program = ?pnIdProgram and id_util = ?pnIdUtil) ] + ; +*!* [order by firma] + lcSql = [{call syn_pack_drepturi.citeste_firme_program(?pnIdProgram,?pnIdUtil)}] + lcCursor = [v_firme] + + lnSucces = goExecutor.oExecute(lcSql,lcCursor) + IF lnSucces < 0 + aMESSAGEBOX(goExecutor.cEroare,0 +16,'Eroare') + ENDIF + goExecutor.oReset() + + RETURN lnSucces + +ENDPROC +******************************************* SFARSIT: update_firme_util_prog ******************************************* + + +* PROCEDURE update_utilizatori( ) +* Date : 06/10/2004, 13:26:23 +* author : marius.mutu +* description: + +****** PARAMETER BLOCK ************** +* Parameters : 0 +* +******************************************* INCEPUT:update_utilizatori ******************************************* +PROCEDURE update_utilizatori( ) + LOCAL lcSql, lcCursor, lnSucces + lcSql = [SELECT * from utilizatori] + lcCursor = [v_utilizatori] + lnSucces = goExecutor.oExecute(lcSql,lcCursor) + goExecutor.oReset() + + RETURN lnSucces + +ENDPROC +******************************************* SFARSIT: update_utilizatori ******************************************* + +* PROCEDURE update_judete( ) +* Date : 11.10.2004, 15:24:02 +* author : catalin.neagu +* description: + +****** PARAMETER BLOCK ************** +* Parameters : 0 +* +******************************************* INCEPUT:update_judete ******************************************* +PROCEDURE update_judete( ) + LOCAL lcSql, lcCursor, lnSucces + lcSql = [SELECT * from syn_vnom_judete order by judet] + lcCursor = [v_jud] + lnSucces = goExecutor.oExecute(lcSql,lcCursor) + goExecutor.oReset() + + RETURN lnSucces +ENDPROC +******************************************* SFARSIT: update_judete ******************************************* +********************************************************************** +PROCEDURE cccateg_ent + LOCAL lcSql, lcCursor, lnSucces + + TEXT TO lcSql NOSHOW +select 1 as ordine, + CAST(null as number(10)) as id_categorie_entitate, + CAST(null as varchar2(150)) as categorie_entitate + from dual +union +select 2 as ordine, id_categorie_entitate, categorie_entitate + from vnom_categorii_entitati + where inactiv = 0 + order by ordine, categorie_entitate + ENDTEXT + lcCursor = 'v_nom_categ_ent' + lnSucces = goExecutor.oExecute(lcSql,lcCursor) + RETURN lnSucces + +ENDPROC +***********************************************************************PROCEDURE close_categ_ent +PROCEDURE close_categ_ent + IF USED('v_nom_categ_ent') + USE IN v_nom_categ_ent + ENDIF +ENDPROC && close_categ_ent +********************************************************************** +PROCEDURE cclocalitati + LOCAL lcSql, lcCursor, lnSucces + lcSql = [select id_loc, localitate, id_judet, judet, id_tara, tara from syn_vnom_localitati where inactiv = 0 order by judet nulls last,tara,localitate] + lcCursor = 'v_nom_localitati' + lnSucces = goExecutor.oExecute(lcSql,lcCursor) + RETURN lnSucces + +ENDPROC +***********************************************************************PROCEDURE close_cclocalitati +PROCEDURE close_cclocalitati + IF USED('v_nom_localitati') + USE IN v_nom_localitati + ENDIF +ENDPROC && close_cclocalitati +*********************************************************************** +PROCEDURE ccJudete + LOCAL lcSql, lcCursor, lnSucces + lcSql = 'select id_judet, judet, indicativ from '+gcS+'.vnom_judete order by judet' + lcCursor = 'v_nom_judete' + lnSucces = goExecutor.oExecute(lcSql,lcCursor) + RETURN lnSucces + +ENDPROC && ccJudete +*********************************************************************** +PROCEDURE close_ccJudete + IF USED('v_nom_judete') + USE IN v_nom_judete + ENDIF +ENDPROC && close_ccJudete +*********************************************************************** +PROCEDURE ccTari + LOCAL lcSql, lcCursor, lnSucces + lcSql = [select null as id_tara, '' as tara, '' as prescurtare from dual union all] +; + [ select id_tara, tara, prescurtare from syn_nom_tari order by tara nulls first] + lcCursor = 'v_nom_tari' + lnSucces = goExecutor.oExecute(lcSql,lcCursor) + RETURN lnSucces + +ENDPROC && ccTari +*********************************************************************** +PROCEDURE close_ccTari + IF USED('v_nom_tari') + USE IN v_nom_tari + ENDIF +ENDPROC && close_ccTari +*********************************************************************** +PROCEDURE cctipuri + LOCAL lcSql, lcCursor, lnSucces + lcSql='select id_tip_part,tip_partener from '+gcS+'.vnom_tip_parteneri order by tip_partener' &&id_tip_part' + lcCursor = 'v_nom_tip_parteneri' + + lnSucces = goExecutor.oExecute(lcSql,lcCursor) + RETURN lnSucces + +ENDPROC +*********************************************************************** +PROCEDURE close_cctipuri + IF USED('v_nom_tip_parteneri') + USE IN v_nom_tip_parteneri + ENDIF +ENDPROC && close_cctipuri + +*********************************************************************** +PROCEDURE config_ireg + LOCAL lcSql, lcCursor, lnSucces + lcSql='select * from '+gcS+'.vconfig_cont_ireg order by cont' + lcCursor = 'v_config_cont_ireg' + + lnSucces = goExecutor.oExecute(lcSql,lcCursor) + IF lnSucces < 0 + aMESSAGEBOX(goExecutor.cEroare,0+16,"Eroare") + ENDIF + + RETURN lnSucces + +ENDPROC && config_ireg +*********************************************************************** +PROCEDURE close_config_ireg + IF USED('v_config_cont_ireg') + USE IN v_config_cont_ireg + ENDIF +ENDPROC && close_config_ireg + +*********************************************************************** +* PROCEDURE update_coresp_tip_part( ) +* Date : 13/10/2004, 10:46:59 +* author : marius.mutu +* description: + +****** PARAMETER BLOCK ************** +* Parameters : 0 +* +******************************************* INCEPUT:update_coresp_tip_part******************************************* +PROCEDURE update_coresp_tip_part( ) + + *** deschid corespondentele parteneri + lcSql = [select * from ] + gcS + [.coresp_tip_part] + lcCursor = [coresp_tip_part] + lnSucces = goExecutor.oExecute(lcSql,lcCursor) + RETURN lnSucces + +ENDPROC +******************************************* SFARSIT: update_coresp_tip_part******************************************* + + +* PROCEDURE update_coresp_tip_cont( ) +* Date : 13/10/2004, 10:49:03 +* author : marius.mutu +* description: + +****** PARAMETER BLOCK ************** +* Parameters : 0 +* +******************************************* INCEPUT:update_coresp_tip_cont ******************************************* +PROCEDURE update_coresp_tip_cont( ) + + lcSql = [select * from ] + gcS + [.vcoresp_tip_cont] + lcCursor = [coresp_tip_cont] + lnSucces = goExecutor.oExecute(lcSql,lcCursor) + RETURN lnSucces + +ENDPROC +******************************************* SFARSIT: update_coresp_tip_cont ******************************************* + +PROCEDURE cctipuri_selectate + LPARAMETERS tnId_part + lnId_part = tnId_part + + lcSql='select id_tip_part,tip_partener from '+gcS+'.VCORESP_TIP_PART where id_part = '+ALLTRIM(STR(lnId_part))+ 'order by tip_partener ' + lcCursor = 'v_nom_tip_parteneri_selectati' + + lnSucces = goExecutor.oExecute(lcSql,lcCursor) + RETURN lnSucces + +ENDPROC + +*********************************************************************** +PROCEDURE close_cctipuri_selectate + IF USED('v_nom_tip_parteneri_selectati') + USE IN v_nom_tip_parteneri_selectati + ENDIF +ENDPROC && close_cctipuri_selectate + +*********************************************************************** + +PROCEDURE cctipuri_selectate_NOU + LPARAMETERS tnId_TIP_part + + IF PCOUNT()<1 OR TYPE('tnId_TIP_part')#'N' + RETURN -1 + ENDIF + + lnId_TIP_part = tnId_TIP_part + + lcSql='select id_tip_part,tip_partener from '+gcS+'.VNOM_TIP_PARTENERI where id_TIP_part = '+ALLTRIM(STR(lnId_TIP_part))+ 'order by tip_partener ' + lcCursor = 'v_nom_tip_parteneri_selectati' + + lnSucces = goExecutor.oExecute(lcSql,lcCursor) + RETURN lnSucces + +ENDPROC + + +*********************************************************************** +PROCEDURE close_cctipuri_selectate_NOU + IF USED('v_nom_tip_parteneri_selectati') + USE IN v_nom_tip_parteneri_selectati + ENDIF +ENDPROC && close_cctipuri_selectate_NOU + +*********************************************************************** + +PROCEDURE ccvalute + + lcSql='select id_valuta,nume_val from '+gcS+'.vnom_valute order by nume_val' + lcCursor = 'v_nom_valute' + + lnSucces = goExecutor.oExecute(lcSql,lcCursor) + RETURN lnSucces + +ENDPROC + + + + +******************************************* SFARSIT: update_parteneri ******************************************* +* PROCEDURE update_actper( ) +* Date : 09.11.2004, 09:33:32 +* author : catalin.neagu +* description: + +****** PARAMETER BLOCK ************** +* Parameters : 0 +* +******************************************* INCEPUT:update_actper ******************************************* +PROCEDURE update_actper(tnCod) + + lcCod = ALLTRIM(STR(tnCod)) + lcSql = [SELECT * from ] + gcS + [.vact where cod = ] + lcCod + lcCursor = [ACTACT] + lnSucces = goExecutor.oExecute(lcSql,lcCursor) + goExecutor.oReset() + + IF lnSucces>0 + SELECT * FROM actact INTO CURSOR actactan READWRITE + ENDIF + IF USED('actact') + USE IN actact + ENDIF + RETURN lnSucces + +ENDPROC +******************************************* SFARSIT: update_actper ******************************************* + + +* PROCEDURE Get_Lista_Act +* Date : 09/11/2004, 15:05:42 +* author : marius.mutu +* description: creeaza o lista cu campurile din act + +****** PARAMETER BLOCK ************** +* Parameters : 0 +* +******************************************* INCEPUT:Get_Lista_Act******************************************* +PROCEDURE Get_Lista_Act + LOCAL lcLista + lcLista = [] + + lcSql = [select * from ] + gcS + [.ACT WHERE 1=2] + lcCursor = [CRS_ACT] + lnSucces = goExecutor.oExecute(lcSql,lcCursor) + goExecutor.oReset() + IF lnSucces < 0 + aMESSAGEBOX(goExecutor.cEroare,0+16,"Eroare") + ENDIF + IF lnSucces > 0 + SELECT CRS_ACT + lnCount = FCOUNT() + FOR i = 1 TO lnCount + SELECT CRS_ACT + lcFieldName = UPPER(ALLTRIM(FIELD(i))) + lcLista = lcLista + [,] + lcFieldName + ENDFOR + lcLista = SUBSTR(lcLista,2) + ENDIF + IF USED('crs_Act') + USE IN CRS_ACT + ENDIF + + RETURN lcLista +ENDPROC +******************************************* SFARSIT: Get_Lista_Act ******************************************* + + +* PROCEDURE update_optiuni( ) +* Date : 15.11.2004, 10:08:49 +* author : catalin.neagu +* description: + +****** PARAMETER BLOCK ************** +* Parameters : 0 +* +******************************************* INCEPUT:update_optiuni ******************************************* +PROCEDURE update_optiuni( ) + + lcSql='select * from '+gcS+'.optiuni order by varname' + lcCursor = 'v_optiuni' + + lnSucces = goExecutor.oExecute(lcSql,lcCursor) + RETURN lnSucces + +ENDPROC +******************************************* SFARSIT: update_optiuni ******************************************* + +******************************************* INCEPUT:update_exceptii_ireg ************************************** +PROCEDURE update_exceptii_ireg( ) + + lcSql = [select * from ] + gcS + [.exceptii_ireg] + lcCursor = [exceptii_ireg] + lnSucces = goExecutor.oExecute(lcSql,lcCursor) + RETURN lnSucces + +ENDPROC +******************************************* SFARSIT:update_exceptii_ireg *************************************** + +******************************************* INCEPUT:update_cote_TVA ************************************** +PROCEDURE update_cote_TVA( ) + + IF USED('cote_TVA') + USE IN cote_TVA + ENDIF + + lcSql = [select * from ] + gcS + [.cote_TVA where an =?gnAn and luna = ?gnLuna] + + lcCursor = [cote_TVA] + lnSucces = goExecutor.oExecute(lcSql,lcCursor) + RETURN lnSucces + +ENDPROC +******************************************* SFARSIT:update_cote_TVA *************************************** + +******************************************* INCEPUT:update_jtva_coloane ************************************** +Procedure update_jtva_coloane + Lparameters tcTipJ,tcNumeCursor,tnTip + *!* tcTipJ > [JC] + *!* > [JV] + *!* tnTip > 0 - arata doar baza si neimpozabile + *!* > 1 - arata baza,tva si neimpozabile + *!* > 2 - arata doar baza si neimpozabile - fara neexigibile + *!* > 3 - arata baza,tva si neimpozabile - fara neexigibile + *!* > 4 - arata doar baza si neimpozabile - fara exigibile + *!* > 5 - arata baza,tva si neimpozabile - fara exigibile + *!* > 6 - arata tot + Local lcFiltru, lcNumeCursor, lnTip + If Empty(tcNumeCursor) + lcNumeCursor = [jtva_coloane] + Else + lcNumeCursor = tcNumeCursor + Endif + If Used(lcNumeCursor) + Use In (lcNumeCursor) + Endif + *!* modificare ROAFACTURARE v 2.2.0 + lnTip = iif(empty(tnTip),0,tnTip) + If inlist(lnTip,0,2,4) + *!* If Empty(tnTip) + *!* modificare ROAFACTURARE v 2.2.0 ^ + lcFiltru = [where afisat > 0 and id_jtva_coloana > 0] + ELSE + IF m.lnTip = 6 + lcFiltru = [where 1=1] + ELSE + lcFiltru = [where id_jtva_coloana > 0] + ENDIF + Endif + *!* modificare ROAFACTURARE v 2.2.0 + do case + case inlist(lnTip,2,3) + lcFiltru = lcFiltru + [ and id_jtva_ex is null] + case inlist(lnTip,4,5) + lcFiltru = lcFiltru + [ and id_jtva_neex is null] + otherwise + lcFiltru = lcFiltru + endcase + *!* modificare ROAFACTURARE v 2.2.0 ^ + *!* modificare 12.07.2010 + lcFiltru = lcFiltru + [ and cota_tva in (select procent from cote_tva where sters = 0 and an = ?gnAn and luna = ?gnLuna)] + *!* modificare 12.07.2010 ^ + If !Empty(tcTipJ) + lcFiltru = lcFiltru + [ and ] + Alltrim(tcTipJ) + [ = 1] + Endif + + lcSql = [select * from vjtva_coloane ] + lcFiltru + [ order by ordine] + lnSucces = goExecutor.oExecute(lcSql,lcNumeCursor) + If lnSucces < 0 + amessagebox(goExecutor.cEroare,16,"Eroare") + ELSE + SELECT (m.lcNumeCursor) + INDEX on id_jtva_coloana TAG id_jtva + Endif + goExecutor.oReset() + Return lnSucces + +Endproc +******************************************* SFARSIT:update_jtva_coloane *************************************** + +PROCEDURE update_saft_taxtable + LPARAMETERS tcNumeCursor + + Local lcSelect, lcNumeCursor, lcNumeCursorTemp, lcSql, llSucces + lcSelect = SELECT() + + lcNumeCursor = IIF(!EMPTY(m.tcNumeCursor), m.tcNumeCursor, 'saft_taxtable') + lcNumeCursorTemp = SYS(2015) + CREATE cursor (m.lcNumeCursor) (taxname C(250) null, typename C(250) null, taxcode N(6) null, taxtype N(3) null, descriere C(250) null, tip C(100) null, descriere_tip C(250) null, ; + procent_taxa N(7,2) null, procent_prorata N(7,2) null, inactiv N(1) null, tva N(1) null, wht N(1) null, tva_achizitii N(1) null, tva_livrari N(1) null) + + * adaug o inregistrare goala pentru a putea alege fara taxcode + INSERT INTO (m.lcNumeCursor) (taxname, taxcode, descriere, procent_taxa, tva, wht, tva_achizitii, tva_livrari) VALUES ('', 0, '', 0, 1, 1, 1, 1) + + lcSql = [select * from vsaft_taxtable order by tva, tva_livrari, tva_achizitii, wht, taxcode] + llSucces = goExecutor.oExecuta(m.lcSql, m.lcNumeCursorTemp) + + SELECT (m.lcNumeCursor) + APPEND FROM DBF(m.lcNumeCursorTemp) + INDEX on taxcode TAG taxcode + + USE IN (SELECT(m.lcNumeCursorTemp)) + + SELECT (m.lcSelect) + RETURN m.llSucces +ENDPROC + +PROCEDURE update_saft_mecanisme_plati + LPARAMETERS tcNumeCursor + + Local lcSelect, lcNumeCursor, lcSql, llSucces + lcSelect = SELECT() + lcNumeCursor = IIF(!EMPTY(m.tcNumeCursor), m.tcNumeCursor, 'saft_mecanisme_plati') + lcNumeCursorTemp = SYS(2015) + + CREATE cursor (m.lcNumeCursor) (mechanismcode C(9) null, name C(250) null, methodcode C(9) null, methodname C(250) null, paymentname C(250) null, afisat N(1) null, ordine N(3) null) + * adaug o inregistrare goala pentru a putea alege fara mechanismcode + INSERT INTO (m.lcNumeCursor) (mechanismcode, name, methodcode,methodname,afisat,ordine) VALUES ('','','','',1,0) + + lcSql = [select * from vsaft_mecanisme_plati order by ordine] + llSucces = goExecutor.oExecuta(m.lcSql, m.lcNumeCursorTemp) + + SELECT (m.lcNumeCursor) + APPEND FROM DBF(m.lcNumeCursorTemp) + INDEX on mechanismcode TAG mcode + + USE IN (SELECT(m.lcNumeCursorTemp)) + + SELECT (m.lcSelect) + RETURN m.llSucces +ENDPROC && update_saft_mecanisme_plati + +PROCEDURE update_saft_tip_facturi + LPARAMETERS tcNumeCursor + + Local lcSelect, lcNumeCursor, lcSql, llSucces + lcSelect = SELECT() + lcNumeCursor = IIF(!EMPTY(m.tcNumeCursor), m.tcNumeCursor, 'saft_tip_facturi') + lcNumeCursorTemp = SYS(2015) + + CREATE cursor (m.lcNumeCursor) (cod N(3) null, tip_saftname C(200) null) + * adaug o inregistrare goala pentru a putea alege fara mechanismcode + INSERT INTO (m.lcNumeCursor) (cod, tip_saftname) VALUES (null,'') + + lcSql = [select * from vsaft_tip_facturi order by tip_saftname] + llSucces = goExecutor.oExecuta(m.lcSql, m.lcNumeCursorTemp) + + SELECT (m.lcNumeCursor) + APPEND FROM DBF(m.lcNumeCursorTemp) + INDEX on cod TAG cod + + USE IN (SELECT(m.lcNumeCursorTemp)) + + SELECT (m.lcSelect) + RETURN m.llSucces +ENDPROC && update_saft_tip_facturi + +PROCEDURE update_um + LPARAMETERS tcNumeCursor + + Local lcSelect, lcNumeCursor, lcSql, llSucces + lcSelect = SELECT() + lcNumeCursor = IIF(!EMPTY(m.tcNumeCursor), m.tcNumeCursor, 'vnom_um') + lcSql = [select * from vnom_um] + llSucces = goExecutor.oExecuta(m.lcSql, m.lcNumeCursor) + + SELECT (m.lcNumeCursor) + INDEX on UM TAG UM + + SELECT (m.lcSelect) + RETURN m.llSucces +ENDPROC && update_um + +PROCEDURE update_um_iso + LPARAMETERS tcNumeCursor + + Local lcSelect, lcNumeCursor, lcSql, llSucces + lcSelect = SELECT() + lcNumeCursor = IIF(!EMPTY(m.tcNumeCursor), m.tcNumeCursor, 'vnom_um_iso') + lcSql = [select * from syn_vnom_um_iso ORDER BY um_iso] + llSucces = goExecutor.oExecuta(m.lcSql, m.lcNumeCursor) + + SELECT (m.lcNumeCursor) + INDEX on cod_um_iso TAG cod_um_iso + SET ORDER TO + SELECT (m.lcSelect) + RETURN m.llSucces +ENDPROC && update_um_iso + + +***************************************** INCEPUT:update_corespondente_cvc ************************************ +Procedure update_corespondente_cvc + If Used('crsconfigcvc') + Use In crsconfigcvc + Endif + *!* 19.02.2010 + lcSql = [select cont,cont_chelt,cont_venit, cont_aprovizionare, cont_diferente from vcoresp_cont_venchelt order by cont] + *!* 19.02.2010 ^ + lnSucces = goExecutor.oExecute(lcSql,[crsconfigcvc]) + If lnSucces < 0 + amessagebox(goExecutor.cEroare,16,"Eroare") + Endif + goExecutor.oReset() + Return lnSucces + +Endproc +***************************************** SFARSIT:update_corespondente_cvc ************************************* +******************************************* INCEPUT:update_modele_masini ************************************** +Procedure update_modele_masini +Lparameters tnIdMarcaMasina +If Used('crsmodelemasini') + Use In crsmodelemasini +Endif +If Empty(tnIdMarcaMasina) + lcConditie=[] +Else + lcConditie=[where id_marca_masina=]+Alltrim(Str(tnIdMarcaMasina)) +Endif +lcSql = [select * from ] + gcS + [.vnom_modele_masini ]+lcConditie+[ order by model_masina] +lcCursor = [crsmodelemasini] +lnSucces = goExecutor.oExecute(lcSql,lcCursor) +If lnSucces < 0 + amessagebox(goExecutor.cEroare,16,"Eroare") +Endif +goExecutor.oReset() + +Return lnSucces +Endproc && update_modele_masini +******************************************* SFARSIT:update_modele_masini ************************************** + +********************* INCEPUT Get_programid ********************** +* PROCEDURE Get_programid( tcProgramName ) +* Date : 04/01/05, 10:02:08 +* author : marius.mutu +* description: +PROCEDURE Get_programId +LPARAMETERS tcProgramName +LOCAL lnProgramId +lnProgramId = -1 + +PRIVATE lcProgramName +lcProgramName = UPPER(ALLTRIM(tcProgramName)) + +lnSucces = goExecutor.oExecute('SELECT IDE_PROGRAM FROM vdef_programe WHERE UPPER(NUME) = ?lcProgramName','crsProgram') +IF lnSucces < 0 + aMESSAGEBOX(goExecutor.cEroare,0+16,'Eroare') +ENDIF +SELECT crsProgram +IF RECCOUNT() > 0 + GO top + lnProgramId = ide_program +ENDIF +IF USED('crsProgram') + USE IN crsProgram +ENDIF +RETURN lnProgramId + +ENDPROC +********************* SFARSIT Get_programid ********************** + + +********************* INCEPUT Acces_program_util ********************** +* PROCEDURE Acces_program_util( tnProgramId, tnUtilId ) +* Date : 04/01/05, 10:18:14 +* author : marius.mutu +* description: +PROCEDURE acces_program_util( tnProgramId, tnUtilId ) +*!* tnProgramId = identificatorul de program +*!* tnUtilId = id utilizator + +LOCAL llAcces +llAcces = .F. + +Private lnProgramId,lnUtilId +lnProgramId = tnProgramId +lnUtilId = tnUtilId +*!* MODIFICAT 03.11.2005 +*!* MARIUS.MUTU +lnSucces = goExecutor.oExecute('SELECT count(*) as acces FROM vdef_util_programe WHERE ID_UTIL = ?lnUtilId and ID_PROGRAM = ?lnProgramId','crsAcces') +IF lnSucces < 0 + aMESSAGEBOX(goExecutor.cEroare,0+16,'Eroare') +ENDIF +SELECT crsAcces +IF RECCOUNT() > 0 + GO top + IF acces >= 1 + llAcces = .T. + ENDIF +ENDIF +IF USED('crsAcces') + USE IN crsAcces +ENDIF +RETURN llAcces + +ENDPROC +********************* SFARSIT Acces_program_util ********************** + + +********************* INCEPUT GetAcces ********************** +* PROCEDURE GetAcces( tnIdProgram, tnIdUtil, tnIdFirma ) +* Date : 04/01/05, 10:18:14 +* author : marius.mutu +* description: +PROCEDURE GetAcces(tnIdProgram, tnIdUtil, tnIdFirma) + +LOCAL lnAcces +lnAcces = -1 + +Private lnIdProgram, lnIdUtil, lnIdFirma +lnIdProgram = tnIdProgram +lnIdUtil = tnIdUtil +lnIdFirma = tnIdFirma + +lnSucces = goExecutor.oExecute('SELECT acces FROM vutil_drept WHERE ID_UTIL = ?lnIdUtil and ID_PROG = ?lnIdProgram and id_firma = ?lnIdFirma','crsAcces') +IF lnSucces < 0 + aMESSAGEBOX(goExecutor.cEroare,0+16,'Eroare') +ENDIF +SELECT crsAcces +IF RECCOUNT() > 0 + GO top + lnAcces = acces +ENDIF +IF USED('crsAcces') + USE IN crsAcces +ENDIF +RETURN lnAcces + +ENDPROC +********************* SFARSIT GetAcces ********************** + +********************* INCEPUT GetNivel ********************** +* PROCEDURE GetNivel(tnIdProgram, tnIdUtil, tnIdFirma) +* Date : 04/01/05, 10:18:14 +* author : marius.mutu +* description: +PROCEDURE GetNivel(tnIdProgram, tnIdUtil, tnIdFirma) + +LOCAL lnNivel +lnNivel = -1 + +Private lnIdProgram, lnIdUtil, lnIdFirma +lnIdProgram = tnIdProgram +lnIdUtil = tnIdUtil +lnIdFirma = tnIdFirma + +lnSucces = goExecutor.oExecute('SELECT nivel FROM vutil_drept WHERE ID_UTIL = ?lnIdUtil and ID_PROG = ?lnIdProgram and id_firma = ?lnIdFirma','crsNivel') +IF lnSucces < 0 + aMESSAGEBOX(goExecutor.cEroare,0+16,'Eroare') +ENDIF +SELECT crsNivel +IF RECCOUNT() > 0 + GO top + lnNivel = nivel +ENDIF +IF USED('crsNivel') + USE IN crsNivel +ENDIF +RETURN lnNivel + +ENDPROC +********************* SFARSIT GetNivel ********************** + +********************* INCEPUT Get_id_prg_owner ********************** +PROCEDURE Get_id_prg_owner(tnId_program) + +PRIVATE pnId_program +pnId_program = tnId_program + +LOCAL lnIde_program +lnIde_program = -1 + +lnSucces = goExecutor.oExecute('SELECT IDE_PROGRAM FROM vprograme WHERE ID_PROG = ?pnId_program','crsProgram') +IF lnSucces < 0 + aMESSAGEBOX(goExecutor.cEroare,0+16,'Eroare') +ENDIF +SELECT crsProgram +IF RECCOUNT() > 0 + GO top + lnIde_program = ide_program +ENDIF +IF USED('crsProgram') + USE IN crsProgram +ENDIF +RETURN lnIde_program + +ENDPROC && Get_id_prg_owner +********************* SFARSIT Get_id_prg_owner ********************** + +******************************************* +* PROCEDURE IS_LUNA_BLOCATA( ) +* Date : 01/11/2005, 14:34:03 +* author : marius.mutu +* description: +******************************************* +PROCEDURE IS_LUNA_BLOCATA +PARAMETERS tcS, tnIdePrg, tnAn, tnLuna + + +PRIVATE pcS, pnIdePrg, pnAn, pnLuna, pnLunaBlocata +pcS = tcS +pnIdePrg = tnIdePrg +pnAn = tnAn +pnLuna = tnLuna +pnLunaBlocata = 0 + + +lcSql = [begin PACK_FIRMA.IS_LUNA_BLOCATA(?pcS, ?pnIdePrg, ?pnAn, ?pnLuna, ?@pnLunaBlocata); end;] +*!*lcSql = [begin PACK_FIRMA.IS_LUNA_BLOCATA(?gcS, ?gnId_prg_owner, ?gnAn, ?gnLuna, ?@pnLunaBlocata); end;] +lnSucces = goExecutor.oexecute(lcSql) +IF lnSucces < 0 + aMESSAGEBOX(goExecutor.cEroare,0+16,"Eroare") +ENDIF + +RETURN IIF(pnLunaBlocata = 1, .T., .F.) + +ENDPROC +*----------------------------------sfarsit procedura IS_LUNA_BLOCATA---------------------------------- + + + + +*----------------------------------inceput procedura update_placont---------------------------------- +*!* PARAMETRII: CONT SINTETIC / NIMIC, ANUL +*!* CREEAZA UN CURSOR CU CONTUL / CONTURILE SINTETICE DIN PLANUL DE CONTURI +*!* RETURN - NUMELE CURSORULUI + +PROCEDURE update_plcont +LPARAMETERS tcCont, tnAn + + LOCAL lcCont, lcReturn, lnSucces, lnAn, lcCursor + lcCont = ALLTRIM(tcCont) + lcReturn = "" + lnAn = tnAn + + IF !EMPTY(lcCont) + lcSql=[select id_plcont,cont,tip_sold from ] + gcS + [.Vplcont_sintetic where cont = '] + lcCont + [' and an = ] + ALLTRIM(STR(tnAn)) + [ order by cont] + ELSE + lcSql=[select id_plcont,cont,tip_sold from ] + gcS + [.Vplcont_sintetic WHERE an = ] + ALLTRIM(STR(gnan)) + [ order by cont] + ENDIF + + lcCursor = 'v_nom_cont' + IF USED(lcCursor) + USE IN (lcCursor) + ENDIF + lnSucces = goExecutor.oExecute(lcSql,lcCursor) + + IF lnSucces < 0 + aMESSAGEBOX(goExecutor.cEroare,0+16,"Eroare") + ENDIF + + && INTORC NUMELE CURSORULUI DACA SUCCES + IF lnSucces > 0 + lcReturn = "v_nom_cont" + ENDIF + + RETURN lcReturn + +ENDPROC && get_cont +*----------------------------------sfarsit procedura update_placont---------------------------------- + +*----------------------------------inceput procedura update_placont---------------------------------- +*!* PARAMETRII: CONT SINTETIC, ANUL +*!* CREEAZA UN CURSOR CU CONTUL / CONTURILE SINTETICE DIN PLANUL DE CONTURI +*!* RETURN - NUMELE CURSORULUI + +PROCEDURE update_placont + LPARAMETERS tcCont, tnAn + + LOCAL lcCont, lcReturn, lnSucces, lnAn, lcCursor + + lcCont = ALLTRIM(tcCont) + lnAn = tnAn + lcReturn = "" + + lcSql = [select acont, acont || ' - ' || explicatie as denumire from ] + gcs + [.vplcont_analitic where cont = ']+; + lcCont + [' and an = ] + ALLTRIM(STR(lnAn)) + [ order by acont] + lcCursor = 'v_nom_acont' + + IF USED(lcCursor) + USE IN (lcCursor) + ENDIF + + lnSucces = goExecutor.oExecute(lcSql,lcCursor) + + IF lnSucces < 0 + aMESSAGEBOX(goExecutor.cEroare,16,'Eroare') + ENDIF + + + IF USED('v_acont_tot') + USE IN v_acont_tot + ENDIF + + CREATE CURSOR v_acont_tot (acont c(4), denumire c(100)) + INSERT INTO v_acont_tot (acont, denumire) values('-1', "") + + IF USED('v_nom_acont') + SELECT v_acont_tot + APPEND FROM DBF('v_nom_acont') + USE IN v_nom_acont + ENDIF + + && INTORC NUMELE CURSORULUI DACA SUCCES + IF lnSucces > 0 + lcReturn = "v_acont_tot" + ENDIF + + RETURN lcReturn + +ENDPROC && update_placont +*---------------------------------- sfarsit procedura update_placont---------------------------------- + +PROCEDURE ccsucursale_mama + + LOCAL lcSql, lcCursor, lnSucces + lcSql = 'select id_sucursala,sucursala from vnom_sucursale where id_mama = ?gnIdFirma order by sucursala' + lcCursor = 'vnom_sucursale_mama' + lnSucces = goExecutor.oExecute(lcSql,lcCursor) + IF lnSucces < 0 + AMESSAGEBOX(goExecutor.oPrelucrareEroare(),0+16,'Eroare') + ENDIF + RETURN lnSucces +ENDPROC && ccsucursale_mama +********************************************************************** +PROCEDURE close_ccsucursale_mama + USE IN (SELECT('vnom_sucursale_mama')) +ENDPROC && close_ccsucursale_mama + +********************************************************************** +PROCEDURE ccsucursale + + LOCAL lcSql, lcCursor, lnSucces + *!* modificare ROADEF v 2.0.11 : am adaugat e_mama + *!* modificare ROADEF v 2.0.16 : am adaugat filtrul inactiv = 0 + lcSql = 'select id_sucursala,sucursala,e_mama from vnom_sucursale where inactiv=0 order by sucursala' + lcCursor = 'vnom_sucursale' + lnSucces = goExecutor.oExecute(lcSql,lcCursor) + IF lnSucces < 0 + AMESSAGEBOX(goExecutor.oPrelucrareEroare(),0+16,'Eroare') + ENDIF + RETURN lnSucces + +ENDPROC && ccsucursale +***********************************************************************PROCEDURE close_cclocalitati +PROCEDURE close_ccsucursale + IF USED('vnom_sucursale') + USE IN vnom_sucursale + ENDIF +ENDPROC && close_ccsucursale + + +********************************************************************** +PROCEDURE cctipuri_gestiuni + LOCAL lcSql, lcCursor, lnSucces + lcSql = 'select nume_tip,id_tipgest from vtipuri_gestiuni where id_tipgest <> 0 order by id_tipgest' + lcCursor = 'vtipuri_gestiuni' + lnSucces = goExecutor.oExecute(lcSql,lcCursor) + IF lnSucces < 0 + AMESSAGEBOX(goExecutor.oPrelucrareEroare(),0+16,'Eroare') + ENDIF + RETURN lnSucces + +ENDPROC && cctipuri_gestiuni + +*********************************************************************** +PROCEDURE close_cctipuri_gestiuni + IF USED('vtipuri_gestiuni') + USE IN vtipuri_gestiuni + ENDIF +ENDPROC && close_cctipuri_gestiuni + + +********************************************************************** +PROCEDURE ccgrupuri_utilizatori + + LOCAL lcSql, lcCursor, lnSucces + lcSql = 'select id_grup, id_tata, denumire_grup, inactiv, nume_parinte from vgrupuri_utilizatori where inactiv = 0 order by denumire_grup' + lcCursor = 'vgrupuri_utilizatori' + lnSucces = goExecutor.oExecute(lcSql,lcCursor) + IF lnSucces < 0 + AMESSAGEBOX(goExecutor.oPrelucrareEroare(),0+16,'Eroare') + ENDIF + RETURN lnSucces + +ENDPROC && ccgrupuri_utilizatori + +*********************************************************************** +PROCEDURE close_ccgrupuri_utilizatori + IF USED('vgrupuri_utilizatori') + USE IN vgrupuri_utilizatori + ENDIF +ENDPROC && close_ccgrupuri_utilizatori + + +********************************************************************** +*!* utilizatorii cu acces pe firma curenta +PROCEDURE ccutilizatori + + LOCAL lcSql, lcCursor, lnSucces +*!* modificare ROADEF v 2.0.16 : am adaugat filtrul inactiv = 0 + lcSql = [select distinct a.id_util,a.utilizator from syn_vutilizatori a join syn_vdef_util_firme b on a.id_util = b.id_util ] + ; + [WHERE b.id_firma = ?gnIdFirma and a.inactiv = 0 order by a.utilizator] + lcCursor = 'vutilizatori' + lnSucces = goExecutor.oExecute(lcSql,lcCursor) + IF lnSucces < 0 + AMESSAGEBOX(goExecutor.oPrelucrareEroare(),0+16,'Eroare') + ENDIF + RETURN lnSucces + +ENDPROC && ccutilizatori +*********************************************************************** +PROCEDURE close_ccutilizatori + IF USED('vutilizatori') + USE IN vutilizatori + ENDIF +ENDPROC && close_ccutilizatori + +*********************************************************************** +*** intoarce loMonedaNationala.id_valuta, .nume_valuta +PROCEDURE GetMonedaNationala + LOCAL lcSelect, lcSql, lcCursor, lnSucces + + lcSelect = SELECT() + + lcSql = [SELECT id_valuta, nume_val FROM nom_valute WHERE sters = 0 AND inactiv = 0 AND (id_valuta = 0 or moneda_nationala = 1) AND rownum = 1] + lcCursor = SYS(2015) + lnSucces = goExecutor.oExecute(lcSql, lcCursor) + IF lnSucces < 0 + AMESSAGEBOX(goExecutor.oPrelucrareEroare(),0+16,'Eroare') + + loValuta = GetHash() + loValuta.SetValue("id_valuta",0) + loValuta.SetValue("nume_val","LEI") + ELSE + IF RECCOUNT(lcCursor) < 1 + loValuta = GetHash() + loValuta.SetValue("id_valuta",0) + loValuta.SetValue("nume_val","LEI") + ELSE + SELECT (lcCursor) + SCATTER NAME loValuta + ENDIF + ENDIF + IF USED(lcCursor) + USE IN (lcCursor) + ENDIF + + SELECT (lcSelect) + RETURN loValuta +ENDPROC && GetMonedaNationala + + +********************************************************************** +PROCEDURE cccalculatoare + + LOCAL lcSql, lcCursor, lnSucces + lcSql = 'select id_calc, id_sucursala, denumire, inactiv, descriere, sucursala from vcalculatoare where inactiv = 0 order by denumire' + lcCursor = 'vcalculatoare' + lnSucces = goExecutor.oExecute(lcSql,lcCursor) + IF lnSucces < 0 + AMESSAGEBOX(goExecutor.oPrelucrareEroare(),0+16,'Eroare') + ENDIF + RETURN lnSucces + +ENDPROC && cccalculatoare + +*********************************************************************** +PROCEDURE close_cccalculatoare + IF USED('vcalculatoare') + USE IN vcalculatoare + ENDIF +ENDPROC && close_cccalculatoare + +********************************************************************** +PROCEDURE ccsetari + + LOCAL lcSql, lcCursor, lnSucces + lcSql = 'select id, setare, descriere, tip, enums, tabel, coloane, schema, titlucoloane, idcoloana, resultcoloana, titlu, filtru, filtruoriginal, ordine from setari order by setare' + lcCursor = 'vsetari' + lnSucces = goExecutor.oExecute(lcSql,lcCursor) + IF lnSucces < 0 + AMESSAGEBOX(goExecutor.oPrelucrareEroare(),0+16,'Eroare') + ENDIF + RETURN lnSucces + +ENDPROC && ccsetari + +*********************************************************************** +PROCEDURE close_ccsetari + IF USED('vsetari') + USE IN vsetari + ENDIF +ENDPROC && close_ccsetari + +*********************************************************************** +&&Cod Ocupatie +PROCEDURE update_cor + +If Used('v_cor') + Use In v_cor +Endif + +lcSql = [select a.*,row_number() over(order by cod) as rown from sal_vcor a order by cod] +lcCursor = [v_cor] +lnSucces = goExecutor.oExecute(lcSql,lcCursor) +goExecutor.oReset() + +Return lnSucces + +ENDPROC + +PROCEDURE update_marci + + lcSql = [SELECT * from ] + gcS + [.vnom_marci_masini] + lcCursor = [v_marci] + lnSucces = goExecutor.oExecute(lcSql,lcCursor) + goExecutor.oReset() + + RETURN lnSucces +ENDPROC + +Procedure Update_GrupUtilAnalitice + LOCAL lcSql, lcCursor, lnSucces + + lcSql = "select ga.cont, ga.acont ; + from config_gruputil_analitice ga join utilizatori_rol_intern u on ga.id_grup = u.id_grup ; + where u.id_util = ?gnIdUtil" + + lcCursor = 'crsGrupUtilAnalitice' + lnSucces = goExecutor.oExecute(lcSql,lcCursor) + IF lnSucces < 0 + AMESSAGEBOX(goExecutor.cEroare,0+16,'Eroare') + ENDIF + + RETURN lnSucces +EndProc && Update_GrupUtilAnalitice + +******************************************* +Procedure Update_TVAAnalitice + LOCAL lcSql, lcCursor, lnSucces + +TEXT TO lcSql NOSHOW +select c.id_jtva_coloana, + c.explicatie_tva, + c.cont, + c.acont, + c.id_grup, + c.denumire_grup, + c.id_sucursala, + c.sucursala, + c.id_util, + c.utilizator, + c.dataora + from vconfig_tva_analitice c + left join utilizatori_rol_intern u on (c.id_grup = u.id_grup and u.sters = 0) + where c.id_grup is null or u.id_util = ?gnIdUtil or c.id_sucursala is null or c.id_sucursala = ?gnIdSucursala +ENDTEXT + + lcCursor = 'crsTVAAnalitice' + lnSucces = goExecutor.oExecute(lcSql,lcCursor) + IF lnSucces < 0 + AMESSAGEBOX(goExecutor.cEroare,0+16,'Eroare') + ENDIF + + RETURN lnSucces +EndProc && Update_TVAAnalitice + +******************************************* +PROCEDURE update_optiuni_util( ) + IF USED('v_optiuni_util') + USE IN v_optiuni_util + ENDIF + + lcSql='select * from optiuni_util where id_util = '+ALLTRIM(STR(gnIdUtil)) + [ or id_util = 0 order by varname] + lcCursor = 'v_optiuni_util' + + lnSucces = goExecutor.oExecute(lcSql,lcCursor) +*!* MESSAGEBOX('v_optiuni_util') + RETURN lnSucces + +ENDPROC + +********************************************************************** +PROCEDURE ccsectii + lparameters tlBlank + *** tlBlank: .T. daca se adauga o inregistrare goala la inceputul cursorului pentru cazul in care nu este obligatorie completarea sectiei (ex: nom_gestiuni.id_sectie) + + LOCAL lcSql, lcCursor, llSucces, lcSqlBlank + + text to lcSqlBlank noshow +select cast(NULL AS NUMBER(5)) as id_sectie, + rpad(' ', 50, ' ') as sectie, + cast(0 as NUMBER(20)) as id_mod, + 0 as inactiv, + 0 as nsectie, + rpad(' ', 10, ' ') as csectie, + cast(0 as NUMBER(5)) as id_sucursala, + rpad(' ', 100, ' ') as sucursala, + rpad(' ', 10, ' ') as caen + from dual + endtext + + lcSql = ' select id_sectie, sectie, id_mod, inactiv, nsectie, csectie, id_sucursala, sucursala, caen from vnom_sectii where inactiv=0 order by sectie' + lcSql = iif(m.tlBlank, m.lcSqlBlank + ' UNION ALL ', '') + m.lcSql + + lcCursor = 'vnom_sectii' + llSucces = goExecutor.oExecuta(lcSql,lcCursor) + + RETURN iif(m.llSucces, 1, -1) + +ENDPROC && ccsectii +***********************************************************************PROCEDURE close_cclocalitati +PROCEDURE close_ccsectii + USE IN (SELECT('vnom_sectii')) +ENDPROC && close_ccsucursale + +***********************************************************************PROCEDURE close_cclocalitati +PROCEDURE update_parteneriemail + LOCAL lcSql, lcCursor, lnSucces + + lcSql='select p.denumire, a.email, substr(a.adresa,1,250) as adresa from nom_parteneri p join vadrese_parteneri a on p.id_part = a.id_part where p.sters = 0 and p.inactiv = 0 and a.email is not null' + lcCursor = 'cparteneriemail' + + lnSucces = goExecutor.oExecute(lcSql,lcCursor) + RETURN lnSucces +ENDPROC && update_parteneriemail + +*********************************************************************** +PROCEDURE close_parteneriemail + IF USED('cparteneriemail') + USE IN (SELECT('cparteneriemail')) + ENDIF +ENDPROC && close_parteneriemail + +*********************************************************************** +procedure update_grupe_art + Local lcCursor, lcSel, lnsucces + Use In (select('crs_grupe_art')) + + lcSel = [select grupa,id_grupa from vgest_art_gr order by grupa] + lcCursor = [crs_grupe_art] + lnsucces = goExecutor.oExecuta(m.lcSel, m.lccursor) +endproc && update_grupe_art + +*********************************************************************** +PROCEDURE close_grupe_art + USE IN (SELECT('crs_grupe_art')) +ENDPROC && close_grupe_art + +*********************************************************************** +procedure update_subgrupe_art + Local lccursor, lcsel, lnsucces + Use In (select('crs_subgrupe_art')) + + lcsel = [select subgrupa,id_subgrupa,id_grupa,indicativ from vgest_art_sbgr order by subgrupa] + lccursor = [crs_subgrupe_art] + lnsucces = goExecutor.oExecute(m.lcsel, m.lccursor) +endproc && update_subgrupe_art + +*********************************************************************** +PROCEDURE close_subgrupe_art + USE IN (SELECT('crs_subgrupe_art')) +ENDPROC && close_subgrupe_art + +*********************************************************************** +procedure update_tip_doc + LPARAMETERS tlBlank + * tlBlank - se adauga o inregistrare goala + + Local lccursor, lcsel, llsucces + Use In (select('crsTipDoc')) + + lcsel = IIF(m.tlBlank, [select '' as tip, '--' as descriere from dual UNION ALL ], []) + [select tip, descriere from nom_tip_doc order by descriere] + lccursor = [crsTipDoc] + llsucces = goExecutor.oExecuta(m.lcsel, m.lccursor) + RETURN llSucces +endproc && update_tip_doc + +*********************************************************************** +PROCEDURE close_tip_doc + USE IN (SELECT('crsTipDoc')) +ENDPROC && close_tip_doc + +*********************************************************************** +procedure update_fdoc + LPARAMETERS tcFilter, tcAlias + Local lccursor, lcsel, llsucces + lccursor = IIF(!EMPTY(tcAlias), m.tcAlias, [crsFDoc]) + Use In (select(m.lccursor)) + + lcsel = [select id_fdoc, fel_document, tip_doc, descriere, paymentcode from vnom_fdoc ] + IIF(!EMPTY(m.tcFilter), [where ] + m.tcFilter , []) + [ order by fel_document] + llsucces = goExecutor.oExecuta(m.lcsel, m.lccursor) + RETURN llSucces +endproc && update_fdoc + +*********************************************************************** +PROCEDURE close_fdoc + USE IN (SELECT('crsFDoc')) +ENDPROC && close_fdoc + + +*********************************************************************** +procedure update_serii + LPARAMETERS tlBlank, tcFilter, tcAlias + * tlBlank - se adauga o inregistrare goala + + Local lccursor, lcsel, llsucces + + lccursor = IIF(!EMPTY(tcAlias), m.tcAlias, [crsSerii]) + Use In (select(m.lccursor)) + + lcsel = IIF(m.tlBlank, [select 0 as id_serie, '--' as serie, 0 as an, 0 as luna, 0 as lungime, 0 as inactiv, '' as resetare, '' as exemplu, 0 as isautofactura, 0 as isbeneficiari, 0 as isterti, 0 as isfurnizori from dual UNION ALL ], []) + ; + [select id_serie, serie, an, luna, lungime, inactiv, resetare, exemplu, isautofactura, isbeneficiari, isterti, isfurnizori from vserii ] + IIF(!EMPTY(m.tcFilter), [where ] + m.tcFilter , []) + [ order by serie] + llsucces = goExecutor.oExecuta(m.lcsel, m.lccursor) + RETURN llSucces +endproc && update_serii + +*********************************************************************** +PROCEDURE close_serii + USE IN (SELECT('crsSerii')) +ENDPROC && close_serii + \ No newline at end of file diff --git a/programe/validare.prg b/programe/validare.prg new file mode 100644 index 0000000..4a0820a --- /dev/null +++ b/programe/validare.prg @@ -0,0 +1,2226 @@ +*!* 15.03.2010 +*!* marius.mutu +*!* VerificareCod.Vies - iau direct din pagina web in loc de serviciu web (nu mai merge) + +*!* 07.04.2011 +*!* marius.mutu +*!* adaugare verificarecod.InfoMfin2Array, ParseTable +*!* modificat Verificarecod.MFIN - alta aranjare in pagina a tabelului cu date de la mfinante.ro +*!* s-a modificat adresa de la mfinante.ro + +*!* 12.04.2011 +*!* marius.mutu +*!* verificarecod.validare_cif - intorc .T. pentru CIF-urile <> RO (nu am algoritm) +*!* tratare VIES alte tari din UE in afara de RO + +*!* 20.01.2012 +*!* marius.mutu +*!* VERIFICARE_CIF, MFIN - Taxa pe valoarea adaugata (data luarii in evidenta) + datatvamfin, platitortvamfin + +*!* 27.01.2012 +*!* marius.mutu +*!* VerificareCod.Init - nu mai este nevoie de tlMFINROMFAST, tlVIESROMFAST ca parametri - se citesc din settings.ini + +*!* 28.11.2012 +*!* marius.mutu +*!* verificare_cif, mfin - Se verifica si starea pentru un cod fiscal de pe mfinante.ro +*!* s-au adaugat proprietati pentru captcha, si o singura sesiune xmlhttp + +*!* 04.12.2014 +*!* marius.mutu +*!* MFIN - se foloseste GET in loc de POST - restrictii puse de MF + +*!* 27.02.2017 +*!* marius.mutu +*!* ANAF_SincronWebService_PlatitorTva +*!* se incearca prima oara cu inHTTP.winHTTPrequest.5.1 + +*!* 10.01.2018 +*!* marius.mutu +*!* VerificareANAF - completare stare TVA Incasare, Split TVA, Inactiv + +*!* 20.07.2020 +*!* marius.mutu +*!* ANAF_SincronWebService_PlatitorTva api v4 + +*!* 06.01.2021 +*!* marius.mutu +*!* ANAF_SincronWebService_PlatitorTva api v5 +nrRegCom + +*!* 24.04.2023 +*!* marius.mutu +*!* ANAF_SincronWebService_PlatitorTva api v8 + +*!* 19.05.2025 +*!* marius.mutu +*!* ANAF_SincronWebService_PlatitorTva api v9 + +*!* http://ec.europa.eu/taxation_customs/vies/viesquer.do +*!* http://localhost/contafinupdate/verificarecod.aspx/verificarecod/verificare/CIF/1879855/MFIN +*!* http://localhost/contafinupdate/verificarecod.aspx/verificarecod/verificare/CNP/1810228134187 + +*!* http://localhost:1512/WebRoot/codfiscaldebug.aspx/verificarecod/verificare/CIF/1879855/1 + +*!* http://localhost/update/codfiscal.aspx/verificarecod/validare/CIF/1879855 +*!* http://localhost/update/codfiscal.aspx/verificarecod/validare/CNP/1810228134187 + +#Define TIP_CNP 1 +#Define TIP_CIF 2 +#Define TIP_IBAN 3 +#Define TIP_CC 4 +#Define TIP_ISBN 5 +#Define TIP_NIF 6 +#Define CRLF Chr(13) + Chr(10) +#Define CR Chr(13) + +Clear +Local lcDir, lcPath, llVIESURL, lcRomfastURL, loVerificare +Local llMFINURL, lcMfinanteURL, lcMfinanteParams, I +Local llValid, lcRegCom, llPlatitorTVA + +lcDir = Addbs(Justpath(Sys(16, 0))) +lcDir = Left(lcDir, Rat('\', lcDir, 2) ) +*!* MESSAGEBOX(lcDir) +Set Default To (lcDir) +lcPath = lcDir + 'controllers;' + ; + lcDir + 'programe;' + ; + lcDir + 'utility;' + +Set Path To (lcPath) +Set Procedure To regex.prg Additive + +*!* strPattern = "[^A-Za-z 0-9 \.,\?'""!@#\$%\^&\*\(\)-_=\+;:<>\/\\\|\}\{\[\]`~]*" +Create Cursor cTeste (test c(200), rezultat L, mesaj c(250)) + +If .T. + *!* TREBUIE OPTIUNI - VARIABILE PUBLICE gcVIESDotNet, gcVIESURL + + lcRomfastURL = "http://localhost/update/verificarecod.aspx/verificarecod/verificare/CIF/|CIF|/|TIP|" + *!* lcMfinanteURL = "http://www.mfinante.ro/contribuabili/link.jsp?body=/cod.do" + *!* lcMfinanteURL = "http://apt1.mfinante.ro/site/contribuabili/link.jsp?body=/cod.do" + *!* lcMfinanteParams = "cod=|CIF|" + lcMfinanteURL = "http://www.mfinante.ro/infocodfiscal.html" + lcMfinanteParams = "cod=|CIF|&captcha=|CAPTCHA|&B1=VIZUALIZARE" + + For I = 1 To 2 + + llVIESURL = I = 1 + llMFINURL = I = 1 + ? + ?'------------------------------------------' + If I = 1 + ?'* VERIFICARE CIF PE ROMFAST' + Else + ?'* VERIFICARE PE MFINANTE SI CU DLL DIRECT PE VIES' + Endif + + ? + ?'* ROMFAST SRL - VALIDARE', I + llValid = .T. + lcRegCom = '' + llPlatitorTVA = .F. + test_verificare_cif('1879855', '', llVIESURL, llMFINURL, lcRomfastURL, lcMfinanteURL, lcMfinanteParams, llValid, lcRegCom, llPlatitorTVA) + + ? + ?'* ROMFAST SRL - VIES', I + llValid = .T. + lcRegCom = '' + llPlatitorTVA = .T. + test_verificare_cif('1879855', 'VIES', llVIESURL, llMFINURL, lcRomfastURL, lcMfinanteURL, lcMfinanteParams, llValid, lcRegCom, llPlatitorTVA) + + ? + ?'* ROMFAST SRL - MFIN', I + llValid = .T. + lcRegCom = 'J13/626/1991' + llPlatitorTVA = .F. + test_verificare_cif('1879855', 'MFIN', llVIESURL, llMFINURL, lcRomfastURL, lcMfinanteURL, lcMfinanteParams, llValid, lcRegCom, llPlatitorTVA) + + ? + ?'* ROMFAST SRL - MFINVIES', I + llValid = .T. + lcRegCom = 'J13/626/1991' + llPlatitorTVA = .T. + test_verificare_cif('1879855', 'MFINVIES', llVIESURL, llMFINURL, lcRomfastURL, lcMfinanteURL, lcMfinanteParams, llValid, lcRegCom, llPlatitorTVA) + + ? + ?'* COD INVALID - VALIDARE', I + llValid = .F. + lcRegCom = '' + llPlatitorTVA = .F. + test_verificare_cif('187985X', 'MFINVIES', llVIESURL, llMFINURL, lcRomfastURL, lcMfinanteURL, lcMfinanteParams, llValid, lcRegCom, llPlatitorTVA) + Endfor && i +Endif + +? +?'------------------------------------------' +?'* VALIDARE CIF' +loVerificare = Createobject("verificarecod") +test_cif('7320118', .T.) +test_cif('RO7320118', .T.) +test_cif('RO 7320118', .T.) +test_cif('R 7320118', .T.) +test_cif('R7320118', .T.) +test_cif('7320117', .F.) +test_cif('RO7320117', .F.) +test_cif('', .F.) +test_cif('3654392', .F.) +test_cif('14699589', .T.) +test_cif('11071295', .T.) + +? +?'------------------------------------------' +?'VALIDARE CNP' +? +test_cnp('1810228134187', .T.) +test_cnp('181022813418', .F.) + +Select cTeste +Browse + +*!* TESTEAZA FUNCTIA DE VALIDARE CIF +Function test_cif + Lparameters tcCIF, tuValoareCorect + Local luRezultat, lcMesaj + Local luReturn + luReturn = .F. + + luRezultat = VALIDARE_CIF(tcCIF) + lcMesaj = 'VALIDARE_CIF(' + tcCIF + ') ' + Transform(luRezultat) + ' (' + Transform(tuValoareCorect) + ')' + + If luRezultat <> tuValoareCorect + lcMesaj = 'ERR ' + m.lcMesaj + luReturn = .F. + Else + lcMesaj = 'OK ' + m.lcMesaj + luReturn = .T. + Endif + ?m.lcMesaj + If Used('cTeste') + Insert Into cTeste (test, rezultat, mesaj) Values('VALIDARE CIF', luReturn, lcMesaj) + Endif + + Return luReturn + +Endfunc && TEST_CIF + +*!* TESTEAZA FUNCTIA DE VALIDARE CNP +Function test_cnp + Lparameters tcCNP, tuValoareCorect + Local luRezultat, lcMesaj + Local luReturn + luReturn = .F. + + luRezultat = VALIDARE_CNP(tcCNP) + + lcMesaj = 'VALIDARE_CNP(' + tcCNP + ') ' + Transform(luRezultat) + ' (' + Transform(tuValoareCorect) + ')' + + If luRezultat <> tuValoareCorect + lcMesaj = 'ERR ' + m.lcMesaj + luReturn = .F. + Else + lcMesaj = 'OK ' + m.lcMesaj + luReturn = .T. + Endif + ?m.lcMesaj + + If Used('cTeste') + Insert Into cTeste (test, rezultat, mesaj) Values('VALIDARE CNP', luReturn, lcMesaj) + Endif + + Return luReturn + +Endfunc && TEST_CNP + +*!* TESTEAZA FUNCTIA DE VERIFICARE CIF +Function test_verificare_cif + Lparameters tcCIF, tcTipInterogare, tlVIESURL, tlMFINURL, tcRomfastURL, tcMfinanteURL, tcMfinanteParams, tlValid, tcRegCom, tlPlatitorTVA + + + + Local lcMesaj, llSucces, lcEroare + Local loVerificare, llValid, lcRegCom, llPlatitorTVA + Local lcXML, loEx As Exception + Local luReturn + luReturn = .F. + + llSucces = .F. + Try + loVerificare = Createobject("verificarecod", tlVIESURL, tlMFINURL, tcRomfastURL, tcMfinanteURL, tcMfinanteParams) + lcXML = loVerificare.verificare('CIF', tcCIF, tcTipInterogare) + llValid = loVerificare.oEntitate.Valid + lcRegCom = loVerificare.oEntitate.regcom + llPlatitorTVA = loVerificare.oEntitate.PlatitorTVA + llSucces = .T. + Catch To loEx + lcEroare = loEx.Message + Endtry + + If llSucces + lcMesaj = 'VERIFICARE_CIF ' + tcCIF + ' VALID: ' + Transform(llValid) + '(' + Transform(tlValid) + ')' + ; + ' REGCOM: ' + Alltrim(Transform(lcRegCom)) + '(' + Transform(tcRegCom) + ')' + ; + ' PLATITOR TVA: ' + Transform(llPlatitorTVA) + '(' + Transform(tlPlatitorTVA) + ')' + Else + lcMesaj = 'VERIFICARE_CIF ' + tcCIF + ' ' + lcEroare + Endif + + If !llSucces Or (tlValid <> llValid Or tcRegCom <> lcRegCom Or tlPlatitorTVA <> tlPlatitorTVA) + lcMesaj = 'ERR ' + m.lcMesaj + luReturn = .F. + Else + lcMesaj = 'OK ' + m.lcMesaj + luReturn = .T. + Endif + ?m.lcMesaj + + If Used('cTeste') + Insert Into cTeste (test, rezultat, mesaj) Values('VERIFICARE CIF', luReturn, lcMesaj) + Endif + Return luReturn + +Endfunc && TEST_VERIFICARE_CIF + + +*============================= +*!* verifica lungimea <= 10 caractere + + +*============================= +*!* VALIDARE CIF +*!* tcCIF - codul fiscal +*!* toVerificare - optional in cazul in care am multe verificari sa nu se se instantiatieze obiectul la fiecare verificare +Function VALIDARE_CIF + Lparameters tcCIF, toVerificare + Local loVerificare, lcCod, llReturn + + If Type('tcCIF') <> 'C' + lcCod = '' + Else + lcCod = tcCIF + Endif + If Type('toVerificare') = 'O' And Pemstatus(toVerificare, 'VALIDARE', 5) + loVerificare = toVerificare + Else + loVerificare = Createobject("verificarecod") + Endif + + + llReturn = loVerificare.validare('CIF', lcCod) + Return llReturn +Endfunc && VALIDARE_CIF + + +*============================= +*!* VERIFICARE_PLATITORTVA +*!* tcCIF - codul fiscal +*!* toVerificare - optional in cazul in care am multe verificari sa nu se se instantiatieze obiectul la fiecare verificare +Function VERIFICARE_PLATITORTVA + Lparameters tcCIF, toVerificare + Local loVerificare, lcCod, llReturn + Local llReturn + + If Type('tcCIF') <> 'C' + lcCod = '' + Else + lcCod = tcCIF + Endif + If Type('toVerificare') = 'O' And Pemstatus(toVerificare, 'VALIDARE', 5) + loVerificare = toVerificare + Else + loVerificare = Createobject("verificarecod") + Endif + + + llReturn = loVerificare.verificare('CIF', lcCod) + Return llReturn +Endfunc && VALIDARE_CIF + +*============================= +*!* VALIDARE CNP +*!* tcCIF - CNP +*!* toVerificare - optional in cazul in care am multe verificari sa nu se se instantiatieze obiectul la fiecare verificare +Function VALIDARE_CNP + Lparameters tcCNP, toVerificare + Local loVerificare, lcCod, llReturn + + If Type('tcCNP') <> 'C' + lcCod = '' + Else + lcCod = tcCNP + Endif + + If Type('toVerificare') = 'O' And Pemstatus(toVerificare, 'VALIDARE', 5) + loVerificare = toVerificare + Else + loVerificare = Createobject("verificarecod") + Endif + + llReturn = loVerificare.validare('CNP', lcCod) + Return llReturn +Endfunc && VALIDARE_CNP + +*==================================== +Define Class VerificareCod As Custom + lVIESURL = .F. && .T. ROMFAST URL, .F. DOT NET DIRECT VIES + lMFINURL = .F. && .T. ROMFAST URL, .F. www.mfinante.ro + cRomfastURL = "http://83.103.197.79:3002/contafinupdate/verificarecod.aspx/verificarecod/verificare/CIF/|CIF|/|TIP|" && url catre Romfast pentru verificare MFIN, VIES + + *!* cMfinanteURL = "http://www.mfinante.ro/contribuabili/link.jsp?body=/cod.do" && url catre www.mfinante.ro + *!* cMfinanteParams = "cod=|CIF|" + + cMfinanteURL = "" && "http://voes.mfinante.ro/codfiscal/codfiscal.html" && url catre www.mfinante.ro + cMfinanteParams = "" && [cod=|CIF|&cap=null&B1=VIZUALIZARE] + + cMFINURL = '' && url catre Romfast pentru verificare informatii cod fiscal + oEntitate = Null + + cMfinCaptcha = "" && codul CAPTCHA pentru verificarea codurilor fiscale pe mfinante + oHTTP = Null + + *** se pare ca mfinante.ro are un bug - nu mai cere kaptcha la interogare directa si nu da mesajul "serverul este ocupat" la interogare rapida daca sunt sesiuni diferite + lOneSession = .T. && oHTTP se retine pe instanta sau se creeaza oHTTP la fiecare interogare + lCaptcha = .T. && se apeleaza Captcha de la mfinante, valabil doar pentru apelarea din program, nu de pe serverul romfast + + + cMfinAnchorString = "AGENTUL ECONOMIC CU CODUL UNIC" && textul dupa care apare tabelul cu informatii MFIN + cMfinNuExistaString = "NU EXISTA AGENT ECONOMIC CU ACEST COD FISCAL" + lXMLHTTP = .F. && daca se foloseste xmlhttp pentru interogarea MFINANTE sau InternetExplorer.Application din luna 02/2017 nu mai merge apelul prin xmlhttp + + dDataAct = DATE() + + *================================= + Procedure Init + Lparameters tlVIESURL, tlMFINURL, tcRomfastURL, tcMfinanteURL, tcMfinanteParams + + This.cMfinanteURL = "http://www.mfinante.gov.ro/infocodfiscal.html" && url catre www.mfinante.ro + This.cMfinanteParams = "cod=|CIF|&captcha=|CAPTCHA|&B1=VIZUALIZARE" + + *!* 27.01.2012 + If Pcount() >= 2 And Type('goApi') = 'O' And Type('gcSettingsFile') = 'C' And !Empty(m.gcSettingsFile) + lcMFINROMFAST = goAPI.GetProfileString(m.gcSettingsFile, [validare], "mfinromfast") + lcVIESROMFAST = goAPI.GetProfileString(m.gcSettingsFile, [validare], "viesromfast") + lcMFINROMFAST = Nvl(m.lcMFINROMFAST, '') + lcVIESROMFAST = Nvl(m.lcVIESROMFAST, '') + If !Inlist(m.lcMFINROMFAST, '.T.', '.F.') + tlMFINURL = .T. + Else + tlMFINURL = &lcMFINROMFAST + Endif + If !Inlist(m.lcVIESROMFAST, '.T.', '.F.') + tlVIESURL = .T. + Else + tlVIESURL = &lcVIESROMFAST + Endif + Endif && PCOUNT + *!* 27.01.2012 ^ + + If Type('goApi') = 'O' And Type('gcSettingsFile') = 'C' And !Empty(m.gcSettingsFile) + lcXMLHTTP = goAPI.GetProfileString(m.gcSettingsFile, [validare], "xmlhttp") + lcXMLHTTP = Nvl(m.lcXMLHTTP, '') + If !Inlist(m.lcXMLHTTP, '.T.', '.F.') + llXMLHTTP = .F. + Else + llXMLHTTP = &lcXMLHTTP + Endif + This.lXMLHTTP = m.llXMLHTTP + Endif + + This.lVIESURL = Iif(Type('tlVIESURL') = 'L', tlVIESURL, .F.) && default .F. pentru dll + This.lMFINURL = Iif(Type('tlMFINURL') = 'L', tlMFINURL, .F.) && default .F. pentru www.mfinante.ro + If Type('tcRomfastUrl') = 'C' And !Empty(tcRomfastURL) + This.cRomfastURL = tcRomfastURL + Endif + If Type('tcMfinanteUrl') = 'C' And !Empty(tcMfinanteURL) + This.cMfinanteURL = tcMfinanteURL + Endif + If Type('tcMfinanteParams') = 'C' And !Empty(tcMfinanteParams) + This.cMfinanteParams = tcMfinanteParams + Endif + *!* 13.01.2012 + If _vfp.StartMode = 0 + This.cRomfastURL = Strtran(This.cRomfastURL, '83.103.197.79:3002', '10.0.20.122:81') + Endif + *!* 13.01.2012 ^ + This.cMfinCaptcha = "" + Endproc && Init + + Function Destroy + Local loEx As Exception + If Type('This.oHTTP') = 'O' And Pemstatus(This.oHTTP, 'visible', 5) + Try + This.oHTTP.Visible = .F. + This.oHTTP.Quit + This.oHTTP = Null + Catch To loEx + * + Endtry + Endif + Endfunc && Destroy + + *================================= + Function verificare + Lparameters tcTip, tcCod, tcExtraParam1, tcExtraParam2, tcExtraParam3, tcExtraParam4, tcExtraParam5 + Local lcTip, lcXML + lcXML = '' + lcTip = Iif(Type('tcTip') = 'C' And !Empty(tcTip), Upper(tcTip), 'CIF') + + This.Log('VERIFICARE ' + lcTip + ' ' + tcCod + ' ' + Transform(tcExtraParam1) + ' ' + Transform(tcExtraParam2) + ' ' + Transform(tcExtraParam3) + ' ' + Transform(tcExtraParam4) + ' ' + Transform(tcExtraParam5) ) + + Do Case + Case lcTip = 'CNP' + lcXML = This.VERIFICARE_CNP(tcCod) + Case lcTip = 'CIF' + lcXML = This.VERIFICARE_CIF(tcCod, tcExtraParam1, tcExtraParam2, tcExtraParam3, tcExtraParam4, tcExtraParam5) + Otherwise + lcXML = '' + Endcase + + Return lcXML + Endfunc && VERIFICARE + + + *================================= + Function XMLCursorToOBj + Lparameters tcXML + Local lcCursor, lcSelect, loReturn + Local lcEroare, loEx + + loReturn = Null + lcCursor = Sys(2015) + lcSelect = Select() + Try + Xmltocursor(tcXML, lcCursor) + Select (lcCursor) + Scatter Name loReturn + Catch To loEx + lcEroare = 'XMLCursorToOBj ' + loEx.Message + " " + loEx.LineContents + " " + Transform(loEx.Lineno) + This.Log(m.lcEroare) + Endtry + + Use In (Select(lcSelect)) + Select (lcSelect) + Return loReturn + Endfunc && XMLCursorToOBj + + *================================= + Function ISCIF + Lparameters tcCod + Local lcCod, llIsCIF + llIsCIF = .F. + lcCod = Iif(Type('tcCod') <> 'C', '', Alltrim(tcCod)) + + Do Case + Case !Isdigit(lcCod) && Daca incepe cu o litera il consider COD FISCAL && ROXXX + llIsCIF = .T. + Case Len(lcCod) <= 10 + llIsCIF = .T. + Endcase + + Return llIsCIF + + Endfunc && IsCIF + + *================================= + * VERIFICARE_CNP('1810228134187') + Procedure VERIFICARE_CNP + Lparameters tcCNP + + + Local lcSelect, lcCNP, llSucces, loEx As Exception, lcEroare, llValid, lcXML + + lcXML = '' + lcSelect = Select() + lcCNP = Iif(Empty(tcCNP) Or Type('tcCNP') <> 'C', '', Alltrim(tcCNP)) + lcEroare = '' + + + Create Cursor cVerificareCod (Valid L, eroare c(250), cod c(100) Null) + Cursortoxml("cVerificareCod", "lcXML", 1, 0, 0, "1") + Select cVerificareCod + Scatter Name This.oEntitate + + llSucces = .F. + llValid = .F. + Try + llValid = This.validare('CNP', lcCNP) + llSucces = .T. + Catch To loEx + lcEroare = 'VERIFICARE_CNP VALIDARE ' + loEx.Message + " " + loEx.LineContents + " " + Transform(loEx.Lineno) + This.Log(m.lcEroare) + Endtry + + Try + Insert Into cVerificareCod(Valid, eroare, cod) ; + Values (llValid, lcEroare, lcCNP) + + Cursortoxml("cVerificareCod", "lcXML", 1, 0, 0, "1") + Catch To loEx + lcEroare = 'VERIFICARE_CNP XML ' + loEx.Message + " " + loEx.LineContents + " " + Transform(loEx.Lineno) + This.Log(m.lcEroare) + Endtry + + Select cVerificareCod + Go Top + Scatter Name This.oEntitate + + Use In (Select('cVerificareCod')) + Select (lcSelect) + + Return m.lcXML + + Endproc && VERIFICARE_CNP + + + *================================= + * VERIFICARE_CIF('1879855', ['VIES' | 'MFIN' | 'MFINVIES']) + * valideaza CIF + aduna informatii de pe www.mfinante.ro + platitor tva de pe vies + Procedure VERIFICARE_CIF + Lparameters tcVerificareCod, tcTipInterogare, tdData, tcExtraParam3, tcExtraParam4, tcExtraParam5 + + Local lcVerificareCod, lcFirma, lcAdresa, lcJudet, lcRegCom, lcCodpostal, lcTelefon, lcFax, lcSelect, lcXML, llVies, llPlatitorTVA, llValid, lcCodTara, llRO, lcStare + Local loEx As Exception + Local lcMfinanteURL, lcMfinanteParams, lcRomfastURL, llMFINURL, loMFIN, loVIES, lcProcedura, llInterogareAnaf + Local lStare, lcApart, lcBloc, lcDataTVAMFIN, lcEtaj, lcLocalitate, lcNr, lcScara, lcStrada + Local llPlatitorTVAMFIN, lnSucces, llTVAIncasare, llSplitTVA, llInactiv, ldData + + Local lcTipInterogare, llInterogareVies, llInterogareMfin + If Empty(tcTipInterogare) Or Type('tcTipInterogare') <> 'C' + lcTipInterogare = '' + Else + lcTipInterogare = Upper(tcTipInterogare) + ENDIF + ldData = IIF(EMPTY(m.tdData) or TYPE('tdData') <> 'D', {}, m.tdData) + + llInterogareVies = 'VIES' $ lcTipInterogare + llInterogareMfin = 'MFIN' $ lcTipInterogare + llInterogareAnaf = 'ANAF' $ lcTipInterogare + lcMfinanteURL = This.cMfinanteURL + lcMfinanteParams = This.cMfinanteParams + lcRomfastURL = This.cRomfastURL + llMFINURL = This.lMFINURL + *!* This.Log(Alltrim(Transform(tcVerificareCod))) + + + + Local llSucces, lcEroare + + lcXML = '' + lcSelect = Select() + lcVerificareCod = Iif(Empty(tcVerificareCod) Or Type('tcVerificareCod') <> 'C', '', UPPER(Alltrim(tcVerificareCod))) + *!* 12.04.2011 + lcCodTara = This.GetCodTara(m.lcVerificareCod) + llRO = lcCodTara = 'RO' + lcVerificareCod = Strtran(lcVerificareCod, m.lcCodTara, '') + lcVerificareCod = Strtran(Strtran(Strtran(lcVerificareCod, ' ', ''), 'RO', ''), 'R', '') + *!* 12.04.2011 ^ + lcFirma = '' + lcAdresa = '' + lcJudet = '' + lcRegCom = '' + lcCodpostal = '' + lcTelefon = '' + lcFax = '' + llPlatitorTVA = .F. + llVies = .F. + lcEroare = '' + lcDataTVAMFIN = "" + llPlatitorTVAMFIN = .F. + lcStare = '' + lcStrada = '' + lcNr = '' + lcLocalitate = '' + lcBloc = '' + lcScara = '' + lcEtaj = '' + lcApart = '' + llTVAIncasare = .F. + llSplitTVA = .F. + llInactiv = .F. + + Create Cursor cVerificareCod (Valid L, eroare c(250), cod V(100) Null, firma V(100), adresa V(250), judet V(100), ; + regcom V(30), codpostal V(20), telefon V(30), fax V(30), datatvamfin V(30), platitortvamfin L, VIES L, PlatitorTVA L, ; + stare V(100), strada V(100), nr V(25), localitate V(100), Bloc V(30), Scara V(10), Etaj V(10), Apart V(20), ; + tvaincasare L, splittva L, inactiv L) + + Cursortoxml("cVerificareCod", "lcXML", 1, 0, 0, "1") + Select cVerificareCod + Scatter Name This.oEntitate + + llSucces = .F. + llValid = .F. + Try + llValid = This.validare('CIF', m.tcVerificareCod) + llSucces = .T. + Catch To loEx + lcEroare = 'VERIFICARE_CIF VALIDARE ' + loEx.Message + " " + loEx.LineContents + " " + Transform(loEx.Lineno) + This.Log(m.lcEroare) + Endtry + + If m.llValid And m.llRO And m.llInterogareAnaf + + loMFIN = This.ANAF(m.lcVerificareCod, m.ldData) + + lcFirma = loMFIN.firma + lcAdresa = loMFIN.adresa + lcJudet = loMFIN.judet + lcRegCom = loMFIN.regcom + lcCodpostal = loMFIN.codpostal + lcTelefon = loMFIN.telefon + lcFax = loMFIN.fax + lcEroare = loMFIN.eroare + lcDataTVAMFIN = TRANSFORM(loMFIN.datatvamfin) + llPlatitorTVAMFIN = loMFIN.platitortvamfin + lcStare = loMFIN.stare + lcStrada = loMFIN.strada + lcNr = loMFIN.nr + lcLocalitate = loMFIN.localitate + lcBloc = EVALUATE('loMFIN.Bloc') + lcScara = loMFIN.scara + lcEtaj = loMFIN.etaj + lcApart = loMFIN.apart + llTvaIncasare = loMFIN.tvaIncasare + llSplitTVA = loMFIN.SplitTVA + llInactiv = loMFIN.Inactiv + Endif && llValid AND llInterogareMfin + + If m.llValid And m.llRO And m.llInterogareMfin + loMFIN = This.MFIN(lcVerificareCod) + + lcFirma = loMFIN.firma + lcAdresa = loMFIN.adresa + lcJudet = loMFIN.judet + lcRegCom = loMFIN.regcom + lcCodpostal = loMFIN.codpostal + lcTelefon = loMFIN.telefon + lcFax = loMFIN.fax + lcEroare = loMFIN.eroare + lcDataTVAMFIN = loMFIN.datatvamfin + llPlatitorTVAMFIN = loMFIN.platitortvamfin + lcStare = loMFIN.stare + lcStrada = loMFIN.strada + lcNr = loMFIN.nr + lcLocalitate = loMFIN.localitate + lcBloc = EVALUATE('loMFIN.Bloc') + lcScara = loMFIN.scara + lcEtaj = loMFIN.etaj + lcApart = loMFIN.apart + llTvaIncasare = loMFIN.tvaIncasare + llSplitTVA = loMFIN.SplitTVA + llInactiv = loMFIN.Inactiv + Endif && llValid AND llInterogareMfin + + *!* VERIFICARE VIES pentru platitori TVA + If llValid And llInterogareVies + loVIES = This.VIES(m.lcVerificareCod, m.lcCodTara) + llPlatitorTVA = loVIES.PlatitorTVA + If !llInterogareMfin Or Empty(lcFirma) + lcFirma = loVIES.firma + lcAdresa = loVIES.adresa + Endif + llVies = loVIES.VIES + lcEroare = lcEroare + ' ' + loVIES.eroare + Endif && llValid AND llInterogareVies + * lcAdresa = StripNonAscii(lcAdresa, ' ') && regex.prg + + lcFirma = This.RemoveCharacters(m.lcFirma) && Strtran(Strtran(Upper(Alltrim(Nvl(m.lcFirma, ''))), Chr(170), 'S'), Chr(222), 'T') + lcAdresa = This.RemoveCharacters(m.lcAdresa) && Strtran(Strtran(Upper(Alltrim(Nvl(m.lcAdresa, ''))), Chr(170), 'S'), Chr(222), 'T') + lcJudet = This.RemoveCharacters(m.lcJudet) && Strtran(Strtran(Upper(Alltrim(Nvl(m.lcJudet, ''))), Chr(170), 'S'), Chr(222), 'T') + lcRegCom = This.RemoveCharacters(m.lcRegCom) && Strtran(Strtran(Upper(Alltrim(Nvl(m.lcRegCom, ''))), Chr(170), 'S'), Chr(222), 'T') + lcLocalitate = This.RemoveCharacters(m.lcLocalitate) + lcStrada = This.RemoveCharacters(m.lcStrada) + + TRY + Insert Into cVerificareCod(Valid, eroare, cod, firma, adresa, judet, regcom, codpostal, telefon, fax, datatvamfin, platitortvamfin, VIES, PlatitorTVA, stare, strada, nr, localitate, bloc, scara, etaj, apart, tvaincasare, splittva, inactiv) ; + Values (m.llValid, Left(m.lcEroare, 250), m.lcVerificareCod, m.lcFirma, m.lcAdresa, m.lcJudet, m.lcRegCom, m.lcCodpostal, m.lcTelefon, m.lcFax, m.lcDataTVAMFIN, m.llPlatitorTVAMFIN, m.llVies, m.llPlatitorTVA, m.lcStare, m.lcStrada, m.lcNr, m.lcLocalitate, m.lcBloc, m.lcscara, m.lcetaj, m.lcapart, m.llTVAIncasare, m.llSplitTVA, m.llInactiv) + + Select cVerificareCod + Go Top + Scatter Name This.oEntitate + Cursortoxml("cVerificareCod", "lcXML", 1, 0, 0, "1") + + *** ROA salvez datele in istoric_coduri_fiscale + If Type('goExecutor') = 'O' + Private pcCodFiscal, pcFirma, pcAdresa, pcJudet, pcRegCom, pcCodPostal, pcTelefon, pcFax, pcDataTvamfin, pnPlatitorTvaMfin, pcStare, pnPlatitorTvaVies, pnInterogareVies + pcCodFiscal = m.lcVerificareCod + pcFirma = m.lcFirma && Strtran(Strtran(Upper(Alltrim(Nvl(m.lcFirma, ''))), Chr(170), 'S'), Chr(222), 'T') + pcAdresa = m.lcAdresa && Strtran(Strtran(Upper(Alltrim(Nvl(m.lcAdresa, ''))), Chr(170), 'S'), Chr(222), 'T') + pcJudet = m.lcJudet && Strtran(Strtran(Upper(Alltrim(Nvl(m.lcJudet, ''))), Chr(170), 'S'), Chr(222), 'T') + pcRegCom = m.lcRegCom && Strtran(Strtran(Upper(Alltrim(Nvl(m.lcRegCom, ''))), Chr(170), 'S'), Chr(222), 'T') + pcCodPostal = Upper(Alltrim(Nvl(m.lcCodpostal, ''))) + pcTelefon = Upper(Alltrim(Nvl(m.lcTelefon, ''))) + pcFax = Upper(Alltrim(Nvl(m.lcFax, ''))) + pcDataTvamfin = Upper(Alltrim(Nvl(m.lcDataTVAMFIN, ''))) + pnPlatitorTvaMfin = Iif(m.llPlatitorTVAMFIN, 1, 0) + pcStare = Upper(Alltrim(Nvl(m.lcStare, ''))) + pnPlatitorTvaVies = Iif(m.llPlatitorTVA, 1, 0) + pnInterogareVies = Iif(m.llVies, 1, 0) + If !Empty(m.pcFirma) + lnSucces = goExecutor.oExecuta("begin pack_parteneri.save_istoric_cod_fiscal(?pcCodFiscal,?pcFirma,?pcAdresa,?pcJudet,?pcRegCom,?pcCodPostal,?pcTelefon,?pcFax,?pcDataTvamfin,?pnPlatitorTvaMfin,?pcStare,?pnPlatitorTvaVies,?pnInterogareVies,?gnIdUtil); end;") + Endif + Endif + *** CONTAFIN salvez datele in istoric_coduri_fiscale + If Used('ISTORIC_CODURI_FISCALE') + lcProcedura = [SAVE_ISTORIC_COD_FISCAL] && sa nu dea eroarea ROACONT la compilare ca nu gaseste procedura din CONCONT + Do &lcProcedura With This.oEntitate In proceduri_comune.prg + Endif + + Catch To loEx + lcEroare = 'VERIFICARE_CIF INSERT XML' + loEx.Message + " " + loEx.LineContents + " " + Transform(loEx.Lineno) + This.Log(m.lcEroare) + Endtry + + Use In (Select('cVerificareCod')) + Select (lcSelect) + + Return m.lcXML + Endproc && VERIFICARE_CIF + + + *================================================== + *!* Aduce informatii despre starea de platitor TVA si adresa prin SERVICIU WEB ANAF + *================================================== + Procedure ANAF + Lparameters tcCodFiscal, tdData + * tcCodFiscal + * optional tdData + + Local loVerificareANAF As "VerificareANAF" + Local lcCodFiscal, lcCursorVerificareANAF, lcSelect, loMFIN, ldData + lcCodFiscal = Iif(!Empty(m.tcCodFiscal) And Type('tcCodFiscal') = 'C', Alltrim(m.tcCodFiscal), '') + lcSelect = Select() + ldData = IIF(TYPE('tdData') = 'D' and !EMPTY(m.tdData), m.tdData, DATE(m.gnAn, m.gnLuna, 1)) + loMFIN = This.GetEmptyMfinObj() + + && verificare serviciu web ANAF + loVerificareANAF = Createobject("VerificareANAF") && validare.prg + lcCursorVerificareANAF = loVerificareANAF.VerificaListaCIF(m.lcCodFiscal, m.ldData) + If Used(m.lcCursorVerificareANAF) + If Reccount(m.lcCursorVerificareANAF) >= 1 + Select (m.lcCursorVerificareANAF) + Go Top + loMFIN.firma = firma + loMFIN.adresa = adresa + loMFIN.judet = judet + loMFIN.regcom = nrregcom + loMFIN.codpostal = '' + loMFIN.telefon = '' + loMFIN.fax = '' + loMFIN.eroare = '' + loMFIN.datatvamfin = Data + loMFIN.platitortvamfin = tva + loMFIN.stare = mesaj + loMFIN.strada = strada + loMFIN.nr = nr + loMFIN.localitate = localitate + loMFIN.Bloc = Bloc + loMFIN.scara = scara + loMFIN.etaj = etaj + loMFIN.apart = apart + loMFIN.TVAIncasare = tvaincasare + loMFIN.SplitTVA = splittva + loMFIN.Inactiv = inactiv + Endif + Endif + + Select (lcSelect) + Return loMFIN + + Endproc && ANAF + + *================================================== + *!* VERIFICARE INFORMATII MFINANTE + *!* DIRECT PE MFINANTE.RO PE URL ROMFAST + Procedure MFIN + Lparameters tcCodFiscal + Local llMFINURL, lcMfinanteURL, lcMfinanteParams, lcRomfastURL, lcSelect, loHTTP + Local llPlatitorTVA, lcFirma, lcAdresa, lcEroare, llVies, lcStrada, lcNr, lcLocalitate + + Local loMFIN + Local lnStatus, lcXML, lcJudet, lcRegCom, lcCodpostal, lcDataTVAMFIN, llPlatitorTVAMFIN, lcStare + Local lcTelefon, lcFax, lcValues, lcResponse, loEx + Local Array laMfin[100, 2] + Local loFormIntroducereCod + loFormIntroducereCod = Null + + llPlatitorTVA = .F. + lcFirma = '' + lcAdresa = '' + lcEroare = '' + llVies = .F. + lcStare = '' + lcStrada = '' + lcNr = '' + lcLocalitate = '' + + lcSelect = Select() + llMFINURL = This.lMFINURL + lcMfinanteURL = This.cMfinanteURL + lcMfinanteParams = This.cMfinanteParams + lcMfinanteParams = Strtran(lcMfinanteParams, '|CIF|', tcCodFiscal, 1, 1, 1) + + lcRomfastURL = This.cRomfastURL + lcRomfastURL = Strtran(lcRomfastURL, '|CIF|', tcCodFiscal, 1, 1, 1) && http://localhost/update/verificarecod.aspx/verificarecod/verificare/CIF/|CIF|/|TIP| + lcRomfastURL = Strtran(lcRomfastURL, '|TIP|', 'MFIN', 1, 1, 1) + + loMFIN = This.GetEmptyMfinObj() + + *!* if This.lOneSession + If Type("This.oHTTP") <> "O" && la prima apelare a verificarii MFIN + If This.lXMLHTTP + This.oHTTP = Createobject("winhttp.winhttprequest.5.1") + Else + This.oHTTP = Createobject("InternetExplorer.Application") + This.oHTTP.Visible = .F. + Endif + Endif + loHTTP = This.oHTTP + *!* ELSE + *!* IF This.lXMLHTTP + *!* loHTTP = Createobject("winhttp.winhttprequest.5.1") + *!* ELSE + *!* loHTTP = Createobject("InternetExplorer.Application") + *!* loHTTP.visible = .T. + *!* ENDIF + *!* endif + + *** INTRODUCERE CAPTCHA DACA NU ESTE INTRODUS DEJA + *** Daca exista proprietatea VerificareCod.UserHostAddress, atunci clasa este instantiata din DISPATCHREQUEST de pe serverul ROMFAST + If This.lXMLHTTP And !Pemstatus(This, "UserHostAddress", 5) And Empty(This.cMfinCaptcha) And This.lCaptcha + lcCodFile = Addbs(Getenv("TEMP")) + "captcha_" + Sys(2015) + ".jpg" + loHTTP.Open('GET', "http://www.mfinante.ro/kaptcha.jpg", .F.) + loHTTP.Send() + + = Strtofile(loHTTP.ResponseBody, m.lcCodFile) + This.cMfinCaptcha = "" + Clear Class "IntroducereCod" + loFormIntroducereCod = Createobject("IntroducereCod", m.lcCodFile) + loFormIntroducereCod.Show(1) + If File(m.lcCodFile) + Delete File (m.lcCodFile) + Endif + If Type('loFormIntroducereCod') = 'O' And Type('loFormIntroducereCod.cCod') = 'C' + This.cMfinCaptcha = loFormIntroducereCod.cCod + Release loFormIntroducereCod + Endif + Endif && !PEMSTATUS + + + Do Case + Case This.lMFINURL + Try + + *!* loHttp.SetTimeouts(ResolveTimeout, ConnectTimeout, SendTimeout, ReceiveTimeout) + * loHttp.SetTimeouts(60000, 60000, 60000, 60000) + loHTTP.Open("GET", lcRomfastURL, .F.) + loHTTP.Send() + lnStatus = loHTTP.Status + If lnStatus = 200 && OK + lcXML = loHTTP.responseText + + Xmltocursor(lcXML, 'cMFINTemp') + + lcFirma = Alltrim(cMFINTemp.firma) + lcAdresa = Alltrim(cMFINTemp.adresa) + lcJudet = Alltrim(cMFINTemp.judet) + lcRegCom = Alltrim(cMFINTemp.regcom) + lcCodpostal = Alltrim(cMFINTemp.codpostal) + lcTelefon = Alltrim(cMFINTemp.telefon) + lcFax = Alltrim(cMFINTemp.fax) + lcEroare = Alltrim(cMFINTemp.eroare) + lcDataTVAMFIN = cMFINTemp.datatvamfin + llPlatitorTVAMFIN = cMFINTemp.platitortvamfin + lcStare = cMFINTemp.stare + lcStrada = Alltrim(cMFINTemp.strada) + lcNr = Alltrim(cMFINTemp.nr) + lcLocalitate = Alltrim(cMFINTemp.localitate) + + Use In (Select('cMFINTemp')) + Else + lcEroare = 'VERIFICARE_CIF MFIN - ' + Alltrim(Transform(lcRomfastURL)) + ' eroare ' + Alltrim(Str(lnStatus)) + Endif && lnStatus + Catch To loEx + lcEroare = 'VERIFICARE_CIF MFIN ' + CRLF + loEx.Message + " " + loEx.LineContents + " " + Transform(loEx.Lineno) + This.Log(m.lcEroare) + Endtry + Otherwise + Try + If !Empty(This.cMfinCaptcha) + lcMfinanteParams = Strtran(lcMfinanteParams, '|CAPTCHA|', This.cMfinCaptcha, 1, 1, 1) + Else + && daca nu introduc CAPTCHA prima oara, nu il mai cer ulterior. sa vad daca merge ??? + lcMfinanteParams = Strtran(lcMfinanteParams, '&captcha=|CAPTCHA|', '', 1, 1, 1) + This.lCaptcha = .F. + Endif + + Do Case + Case .F. + loHTTP.Open("POST", lcMfinanteURL, .F.) + loHTTP.setRequestHeader('Content-Type', 'application/x-www-form-urlencoded') + lcValues = lcMfinanteParams + loHTTP.Send(lcValues) + lnStatus = loHTTP.Status + Case This.lXMLHTTP + lcValues = lcMfinanteParams + loHTTP.Open("GET", m.lcMfinanteURL + '?' + m.lcValues, .F.) + loHTTP.setRequestHeader ("Content-Type", "multipart/form-data; ") + loHTTP.setRequestHeader ("User-Agent", "Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.0)") + loHTTP.Send(Null) + lnStatus = loHTTP.Status + Otherwise + * Internet.Application din cauza ca nu mai merge interogarea cu xmlhttp + lcValues = lcMfinanteParams + loHTTP.Navigate(m.lcMfinanteURL + '?' + m.lcValues) + * Astept maxim 10 secunde sa se incarce documentul si verific daca exista tag-ul + lnSeconds = Seconds() + lnStatus = -200 + Do While .T. + Inkey(1) + lnSecondsPassed = Seconds() - lnSeconds + Wait Window 'Astept incarcarea paginii mfinante.ro ' + Alltrim(Str(m.lnSecondsPassed)) + '/20 sec.' Nowait + + If (loHTTP.ReadyState = 4 And !loHTTP.Busy) Or m.lnSecondsPassed > 20 + If This.cMfinAnchorString $ Upper(loHTTP.Document.body.innerhtml) Or This.cMfinNuExistaString $ Upper(loHTTP.Document.body.innerhtml) + lnStatus = 200 + Exit + Else + If m.lnSecondsPassed > 20 + Exit + Endif + Endif + Endif + Enddo + Endcase + + If lnStatus = 200 && OK + If This.lXMLHTTP + lcResponse = Upper(loHTTP.responseText) + Else + lcResponse = loHTTP.Document.body.innerhtml + Endif + *STRTOFILE(m.lcResponse, "c:\info_" + m.tcCodFiscal + ".html") + This.InfoMfin2Array(m.lcResponse, @laMfin) + + lcFirma = This.RemoveCharacters(laMfin(1, 2), .T.) && Strtran(Strtran(Upper(Alltrim(Nvl(aMfin(1, 2), ''))), Chr(170), 'S'), Chr(222), 'T') + lcAdresa = This.RemoveCharacters(laMfin(2, 2), .T., .F., .T.) && Strtran(Strtran(Upper(Alltrim(Nvl(laMfin(2, 2), ''))), Chr(170), 'S'), Chr(222), 'T') + lcJudet = This.RemoveCharacters(laMfin(3, 2), .T.) && Strtran(Strtran(Upper(Alltrim(Nvl(laMfin(3, 2), ''))), Chr(170), 'S'), Chr(222), 'T') + lcRegCom = This.RemoveCharacters(laMfin(4, 2), .T., .T., .T.) && Strtran(Strtran(Upper(Alltrim(Nvl(STRTRAN(laMfin(4, 2), ' ',''), ''))), Chr(170), 'S'), Chr(222), 'T') + lcCodpostal = This.RemoveCharacters(laMfin(6, 2), .T., .T., .T.) && laMfin(6, 2) + lcTelefon = This.RemoveCharacters(laMfin(7, 2), .T., .T., .T.) && laMfin(7, 2) + lcFax = This.RemoveCharacters(laMfin(8, 2), .T., .T., .T.) && laMfin(8, 2) + lcStare = This.RemoveCharacters(laMfin(9, 2), .T., .F., .T.) && Strtran(Strtran(Upper(Alltrim(Nvl(laMfin(9, 2), ''))), Chr(170), 'S'), Chr(222), 'T') + lcDataTVAMFIN = Nvl(laMfin(16, 2), '') + llPlatitorTVAMFIN = !(Empty(m.lcDataTVAMFIN) Or Isalpha(m.lcDataTVAMFIN)) + + loAdresa = This.ParseAdresaMFin(m.lcAdresa) + lcStrada = loAdresa.strada + lcNr = loAdresa.nr + lcLocalitate = loAdresa.localitate + Else + lcEroare = 'VERIFICARE_CIF MFIN - ' + Alltrim(Transform(lcMfinanteURL)) + ' eroare ' + Alltrim(Str(lnStatus)) + Endif + Catch To loEx + lcEroare = 'VERIFICARE_CIF MFIN ' + CRLF + loEx.Message + " " + loEx.LineContents + " " + Transform(loEx.Lineno) + This.Log(m.lcEroare) + Endtry + Endcase + + loMFIN.firma = m.lcFirma + loMFIN.adresa = m.lcAdresa + loMFIN.judet = m.lcJudet + loMFIN.regcom = m.lcRegCom + loMFIN.codpostal = m.lcCodpostal + loMFIN.telefon = m.lcTelefon + loMFIN.fax = m.lcFax + loMFIN.eroare = m.lcEroare + loMFIN.datatvamfin = m.lcDataTVAMFIN + loMFIN.platitortvamfin = m.llPlatitorTVAMFIN + loMFIN.stare = m.lcStare + loMFIN.strada = m.lcStrada + loMFIN.nr = m.lcNr + loMFIN.localitate = m.lcLocalitate + + Select (lcSelect) + Return loMFIN + + Endproc && MFIN + + *================================================== + *!* VERIFICARE CALITATE PLATITOR TVA + *!* DIRECT PE VIES CU DLL DOTNET SAU PE URL ROMFAST + Procedure VIES + Lparameters tcCodFiscal, tcCodTara + + Local ws, loVIES, llVIESURL, lcRomfastURL, lcSelect, loHTTP + Local llPlatitorTVA, lcFirma, lcAdresa, lcEroare, llVies, lcCodTara + Local lnStatus, lcXML, loEx, lcViesURL + + llPlatitorTVA = .F. + lcFirma = '' + lcAdresa = '' + lcEroare = '' + llVies = .F. + + lcSelect = Select() + *!* 12.04.2011 + lcCodTara = Iif(!Empty(m.tcCodTara), Alltrim(Upper(Transform(m.tcCodTara))), 'RO') + *!* 12.04.2011 ^ + + llVIESURL = This.lVIESURL + lcRomfastURL = This.cRomfastURL + *!* 12.04.2011 + lcRomfastURL = Strtran(lcRomfastURL, '|CIF|', m.lcCodTara + m.tcCodFiscal, 1, 1, 1) && http://localhost/update/verificarecod.aspx/verificarecod/verificare/CIF/|CIF|/|TIP| + *!* 12.04.2011 ^ + lcRomfastURL = Strtran(lcRomfastURL, '|TIP|', 'VIES', 1, 1, 1) + + loVIES = Createobject("empty") + AddProperty(loVIES, "Vies", .F.) + AddProperty(loVIES, "Eroare", '') + AddProperty(loVIES, "Cod", tcCodFiscal) + AddProperty(loVIES, "PlatitorTVA", .F.) + AddProperty(loVIES, "Firma", "") + AddProperty(loVIES, "Adresa", "") + + If This.lVIESURL + Try + *!* loHTTP = Createobject("MSXML2.ServerXMLHTTP") + loHTTP = Createobject("winhttp.winhttprequest.5.1") + loHTTP.Open("GET", lcRomfastURL, .F.) + loHTTP.Send() + lnStatus = loHTTP.Status + If lnStatus = 200 && OK + lcXML = loHTTP.responseText + + Xmltocursor(lcXML, 'cVIESTemp') + llPlatitorTVA = cVIESTemp.PlatitorTVA + lcFirma = Alltrim(cVIESTemp.firma) + lcAdresa = Alltrim(cVIESTemp.adresa) + lcEroare = Alltrim(cVIESTemp.eroare) + llVies = cVIESTemp.VIES + Use In (Select('cVIESTemp')) + Else + lcEroare = 'VERIFICARE_CIF VIES - ' + Alltrim(Transform(lcRomfastURL)) + ' eroare ' + Alltrim(Str(lnStatus)) + Endif && lnStatus + Catch To loEx + lcEroare = 'VERIFICARE_CIF VIES ' + CRLF + loEx.Message + " " + loEx.LineContents + " " + Transform(loEx.Lineno) + This.Log(m.lcEroare) + Endtry + Else + If .F. + Try + llVies = .F. + ws = Createobject('DotNetCom.VerificareCIF') + llPlatitorTVA = ws.VerifCIF(tcCodFiscal) &&returneza .T. sau .F., in functie de existenta CIF in baza de date EU + lcFirma = ws.firma + lcAdresa = Strtran(Strtran(ws.adresa, Chr(13), ''), Chr(10), '') + llVies = .T. + Catch To loEx + lcEroare = 'VERIFICARE_CIF VIES ' + CRLF + loEx.Message + " " + loEx.LineContents + " " + Transform(loEx.Lineno) + This.Log(m.lcEroare) + Endtry + ELSE + + *!* 15.03.2010 + IF .F. + Try + *!* loHTTP = Createobject("MSXML2.ServerXMLHTTP") && ("Microsoft.XMLHTTP") + loHTTP = Createobject("winhttp.winhttprequest.5.1") + *!* 12.04.2011 + lcViesURL = "http://ec.europa.eu/taxation_customs/vies/viesquer.do?ms=" + m.lcCodTara + "&iso=" + m.lcCodTara + "&vat=" + m.tcCodFiscal + *!* 12.04.2011 ^ + loHTTP.Open("GET", m.lcViesURL, .F.) + loHTTP.Send() + lnStatus = loHTTP.Status + If lnStatus = 200 && OK + lcXML = loHTTP.responseText + llPlatitorTVA = 'YES, VALID VAT NUMBER' $ Upper(lcXML) + lcFirma = '' + lcAdresa = '' + llVies = .T. + Else + lcEroare = 'VERIFICARE_CIF VIES - ' + m.lcViesURL + ' eroare ' + Alltrim(Str(lnStatus)) + Endif && lnStatus + Catch To loEx + lcEroare = 'VERIFICARE_CIF VIES ' + CRLF + loEx.Message + " " + loEx.LineContents + " " + Transform(loEx.Lineno) + This.Log(m.lcEroare) + Endtry + *!* 15.03.2010 ^ + ENDIF && .F. + Try + loHTTP = Createobject("winhttp.winhttprequest.5.1") + loHTTP.Open("POST", "http://ec.europa.eu/taxation_customs/vies/services/checkVatService", .F.) + loHTTP.setRequestHeader('Content-Type', 'application/x-www-form-urlencoded') + + TEXT TO lcValues NOSHOW TEXTMERGE + + + + <> + <> + + + + ENDTEXT + + loHTTP.Send(lcValues) + lnStatus = loHTTP.Status + If lnStatus = 200 && OK + lcXML = loHTTP.responseText + llPlatitorTVA = (STREXTRACT(m.lcXML, [],[],1,1) = 'true') && true/false + lcFirma = STRTRAN(STREXTRACT(m.lcXML, [],[],1,1), '-','',1,10,1) + lcAdresa = STRTRAN(STREXTRACT(m.lcXML, [
    ],[
    ],1,1), '-','',1,10,1) + lcAdresa = Strtran(m.lcAdresa, Chr(13) + CHR(10), ' ') + llVies = .T. + Else + lcEroare = 'VERIFICARE_CIF VIES - ' + m.lcViesURL + ' eroare ' + Alltrim(Str(lnStatus)) + Endif && lnStatus + Catch To loEx + lcEroare = 'VERIFICARE_CIF VIES ' + CRLF + loEx.Message + " " + loEx.LineContents + " " + Transform(loEx.Lineno) + This.Log(m.lcEroare) + Endtry + Endif + Endif + loVIES.PlatitorTVA = llPlatitorTVA + loVIES.firma = lcFirma + loVIES.adresa = lcAdresa + loVIES.eroare = lcEroare + loVIES.VIES = llVies + + Select (lcSelect) + Return loVIES + + Endproc && VIES + + *================================= + Function validare + Lparameters tcTip, tcCod + Local lcTip, llReturn + + llReturn = .F. + + lcTip = Iif(Type('tcTip') = 'C' And !Empty(tcTip), Upper(tcTip), 'CIF') + + Do Case + Case lcTip = 'CNP' + llReturn = This.VALIDARE_CNP(tcCod) + Case lcTip = 'CIF' + llReturn = This.VALIDARE_CIF(tcCod) + Otherwise + llReturn = .F. + Endcase + + Return llReturn + Endfunc && VALIDARE + + *================================= + *!* VALIDEAZA CIF + *!* RETURN .T. / .F. + Function VALIDARE_CIF + Lparameters tcCIF + + Local lcCIFinv, I + Local llCorect, lcCif, cheieinv, lnSuma, lnRest, lnCifraVerificare, lcCifraControl, lnCifraControl + + If Type('tcCIF') <> 'C' + tcCIF = '' + Endif + + *!* 12.04.2011 + lcCif = Alltrim(Nvl(tcCIF, '')) + lcCodTara = This.GetCodTara(m.lcCif) + *!* daca primele 2 caractere sunt coduri de tara le elimin + If !Substr(M.lcCif, 1, 1) $ '0123456789' + m.lcCif = Alltrim(Substr(m.lcCif, 2)) + Endif + If !Substr(M.lcCif, 1, 1) $ '0123456789' + m.lcCif = Alltrim(Substr(m.lcCif, 2)) + Endif + llCorect = .T. + + If !(Empty(m.lcCodTara) Or m.lcCodTara = 'RO') + Return m.llCorect + Endif + *!* 12.04.2011 ^ + + *!* lcCIF = '7320118' + *!* Pas preliminar: Se testeaza daca codul respecta formatul unui cod CIF. Adica lungimea maxima sa fie de 10 cifre si sa contina doar caractere numerice. + If Len(m.lcCif) > 10 Or Empty(m.lcCif) + llCorect = .F. + Else + For I = 1 To Len(m.lcCif) + If !Substr(m.lcCif, I, 1) $ '0123456789' + llCorect = .F. + Endif + Endfor + Endif + + *!* Pas 1: Se foloseste cheia de testare "753217532". Se inverseaza ordinea cifrelor codului CIF precum si a cheii de testare. + *!* Pas 2: Se ignora prima cifra din codul CIF inversat (aceasta este cifra de control) si se inmulteste fiecare cifra cu cifra corespunzatoare din cheia de testare inversata. + *!* Pas 3: Se aduna toate produsele obtinute. Suma rezultata se inmulteste cu 10 si produsul este impartit la 11. Cifra obtinuta, in urma operatiei MODULO 11 reprezita cifra de verificare. Daca in urma impartirii s-a obtinut restul 10 atunci cifra de verificare va fi 0. + *!* Pas 4: Pentru un CIF valid cifra de verificare va trebui sa corespunda cu cifra de control a codului CIF initial. + cheieinv = '235712357' + If llCorect + lcCIFinv = '' + lnSuma = 0 + For I = Len(m.lcCif) - 1 To 1 Step - 1 + lcCIFinv = m.lcCIFinv + Substr(m.lcCif, I, 1) + Endfor + + For I = 1 To Len(m.lcCIFinv) + lnSuma = lnSuma + Val(Substr(m.lcCIFinv, I, 1)) * Val(Substr(m.cheieinv, I, 1)) + Endfor + lnRest = Mod(m.lnSuma * 10, 11) + lnCifraVerificare = Iif(m.lnRest = 10, 0, lnRest) + lcCifraControl = Substr(m.lcCif, Len(m.lcCif), 1) + lnCifraControl = Val(lcCifraControl) + + If m.lnCifraVerificare <> m.lnCifraControl + llCorect = .F. + Endif + Endif + *!* ?IIF(llCorect, 'CORECT', 'INCORECT') + Return llCorect + + Endfunc && VALIDARE_CIF + + *================================= + *!* VALIDEAZA CNP + *!* RETURN .T. / .F. + Function VALIDARE_CNP + Lparameters cCnp + Local cCod + cCod = Alltrim(cCnp) + If Len(cCod)!= 13 + Return .F. + Endif + Local _X(13), _rest, j + For j = 1 To 13 + _X(j) = Val(Substr(cCod, j, 1)) + Endfor + _rest = (_X(1) * 2 + _X(2) * 7 + _X(3) * 9 + _X(4) * 1 + _X(5) * 4 + _X(6) * 6 + _X(7) * 3 + _X(8) * 5 + _X(9) * 8 + _X(10) * 2 + _X(11) * 7 + _X(12) * 9) % 11 + Return Iif((_rest < 10 And _rest = _X(13))Or(_rest = 10 And _X(13) = 1), .T., .F.) + Endfunc && VALIDARE_CNP + + *================================= + Function GetError + Local lcReturn, lnLines + Local Array laEroare(1) + + lcReturn = "" + + lnLines = Aerror(laEroare) + If lnLines = 7 + lcReturn = Alltrim(Transform(laEroare(1))) + ' ' + Alltrim(Transform(laEroare(2))) &&+ ALLTRIM(TRANSFORM(laEroare(3))) + Endif + Return lcReturn + Endfunc + + *============================ + Procedure Log + Lparameters tcText + If Type('goLog') = 'O' + goLog.Log(tcText) + Else + Local lcText + lcText = Transform(Datetime()) + " " + Iif(Empty(tcText), "", tcText) + Chr(13) + Chr(10) + + Strtofile(m.lcText, "log.txt", .T.) + Endif + + Endproc && Log + + Function GetInfoMfin(lcResponse, lnRand) + Local cAnchorString, cTable, lcRand, lcReturn + + m.cAnchorString = "AGENTUL ECONOMIC CU CODUL UNIC" + m.cTable = Upper(Strextract( Substr(lcResponse, Atc( m.cAnchorString, lcResponse)), '')) + + lcRand = Strextract( cTable, "", lnRand ) + lcReturn = Strextract( lcRand, [SIZE="2">], "", 2) + Return lcReturn + Endfunc && GetInfoMfin + + *** Parseaza html-ul de la mfinante.ro si transforma tabelul intr-un array cu 2 coloane (descriere, valoare) + Procedure InfoMfin2Array(lcResponse, laInfo) + Local lcList, lcTable, lnLinii, I + + If Atc('NU ATI INTRODUS CODUL DE VALIDARE CORECT', m.lcResponse, 1) > 0 + Dimension laInfo(100, 2) + laInfo = "" + laInfo(2, 2) = "Nu ati introdus codul de validare corect!" + Else + lcString = This.cMfinAnchorString && "AGENTUL ECONOMIC CU CODUL UNIC" + lcTable = Strextract(Substr(m.lcResponse, Atc(m.lcString, m.lcResponse)), '', 1, 1) + + If Empty(m.lcTable) + Dimension laInfo(100, 2) + laInfo = "" + laInfo(2, 2) = "Nu s-a gasit tabelul!" + Else + * Elimin CR LF TAB NBSP si "reglez" & + lcTable = Transform(m.lcTable) + lcTable = Strtran(m.lcTable, Chr(10), '', 1, 1000, 1) + * lcTable = Strtran(m.lcTable, Chr(9), '',1,1000,1) + lcTable = Strtran(m.lcTable, Chr(13), '', 1, 1000, 1) + lcTable = Strtran(m.lcTable, ' ', ' ', 1, 1000, 1) + lcTable = Strtran(m.lcTable, '&', '&', 1, 1000, 1) + + *!* lcTable = STREXTRACT(m.lcResponse,'',1,5) + *** functia parsetable transforma tabelul html intr-o lista fara tag-uri + lcList = This.ParseTable(m.lcTable) + *** se trece lista intr-un vector + lnLinii = Alines(laInfo, lcList, 1) + If lnLinii > 1 + *** vectorul laInfo se redimensioneaza la 2 coloane. Prima coloana contine explicatia, a doua valoarea + Dimension laInfo (Ceiling(lnLinii / 2), 2) + For I = 1 To Alen(laInfo, 1) + laInfo(I, 1) = Alltrim(Strtran(Alltrim(Strtran(laInfo(I, 1), " ", "", 1, 1000, 1)), Chr(9), "")) + laInfo(I, 2) = Alltrim(Strtran(Alltrim(Strtran(laInfo(I, 2), " ", "", 1, 1000, 1)), Chr(9), "")) + Endfor + Else + Dimension laInfo(100, 2) + laInfo = "" + laInfo(2, 2) = "Tabelul are dimensiunea < 2!" + Endif && lnLinii > 1 + Endif && EMPTY(m.lcTable) + Endif && NU ATI INTRODUS CODUL DE VALIDARE CORECT + Endproc && InfoMfin2Array + + *** Parseaza html-ul de la vies si transforma tabelul intr-un array cu 2 coloane (descriere, valoare) + Procedure InfoVIES2Array(lcResponse, laInfo) + + Local lcList, lcTable, lnLinii, I + + lcTable = Strextract(m.lcResponse, '', 5, 5) + *** functia parsetable transforma tabelul html intr-o lista fara tag-uri + lcList = This.ParseTable(m.lcTable) + *** se trece lista intr-un vector + lnLinii = Alines(laInfo, lcList, 1) + *** vectorul laInfo se redimensioneaza la 2 coloane. Prima coloana contine explicatia, a doua valoarea + Dimension laInfo (lnLinii / 2, 2) + For I = 1 To Alen(laInfo, 1) + laInfo(I, 1) = Alltrim(Strtran(Alltrim(Strtran(laInfo(I, 1), " ", "", 1, 10, 1)), Chr(9), "")) + laInfo(I, 2) = Alltrim(Strtran(Alltrim(Strtran(laInfo(I, 2), " ", "", 1, 10, 1)), Chr(9), "")) + Endfor + Endproc && InfoMfin2Array + + *** creaza o lista caracter cu valorile dintr-un tabel html + *** rand 1: cell_1_1, rand 2: cell_1_2, rand 3: cell_2_1, rand 4: cell_2_2 etc. + Function ParseTable + Lparameters tcTable + + Local lcList, lcCell, lcData, lnCell, lnTag + lcList = '' + For lnCell = 1 To Occurs('', lnCell, 3) + lcData = '' + For lnTag = 1 To Occurs('>', lcCell) + lcData = lcData + Strextract(lcCell, '>', '<', lnTag, 3) + Next lnTag + lcData = Alltrim(Chrtran(lcData, Chr(10) + Chr(13), Space(1))) + Do While At(Space(2), lcData) > 0 + lcData = Strtran(lcData, Space(2), Space(1)) + Enddo + lcList = lcList + lcData + CR + Endfor + Return lcList + Endfunc && ParseTable + + *** Extrage codul de tara din codul fiscal (primele 2 caractere) + Function GetCodTara + Lparameters tcCodFiscal + + Local lcCodTara, lcCodFiscal + Local lcChar1, lcChar2 + lcCodTara = "" + lcCodFiscal = Alltrim(Strtran(Upper(Transform(tcCodFiscal)), ' ', '')) + lcChar1 = Substr(m.lcCodFiscal, 1, 1) + + If Isalpha(m.lcChar1) + m.lcCodTara = m.lcCodTara + m.lcChar1 + lcChar2 = Substr(m.lcCodFiscal, 2, 1) + If Isalpha(m.lcChar2) + m.lcCodTara = m.lcCodTara + m.lcChar2 + Endif + Endif + + If m.lcCodTara = 'R' Or Empty(m.lcCodTara) + m.lcCodTara = 'RO' + Endif + + Return m.lcCodTara + Endfunc && GetCodTara + + *** curata textul de diacritice, spatii, CR/LF + Function RemoveCharacters + Lparameters tcText, tlDiacritics, tlSpaces, tlCR + *** tcText: textul initial + *** tlDiacritics: inlocuieste diacriticele + *** tlSpaces: sterge spatiile + *** tlCR: sterge CR si LF + + If Pcount() = 1 + tlDiacritics = .T. + Endif + + Local lcText + lcText = Nvl(m.tcText, '') + If m.tlDiacritics + lcText = STRTRAN(STRTRAN(Strtran(Nvl(m.lcText, ''), Chr(197) + CHR(162), 'T', 1,100,1), Chr(197) + CHR(63), 'S', 1,100,1), Chr(196) + CHR(63), 'A', 1,100,1) + lcText = Strtran(Nvl(m.lcText, ''), Chr(195) + CHR(63), 'I', 1,100,1) + lcText = Strtran(Strtran(Strtran(Strtran(Strtran(Nvl(m.lcText, ''), Chr(170), 'S', 1,100,1), Chr(222), 'T', 1,100,1), Chr(226), 'A', 1,100,1), Chr(227), 'A', 1,100,1), Chr(238), 'I', 1,100,1) + lcText = STRTRAN(Strtran(Strtran(Strtran(Nvl(m.lcText, ''), Chr(206), 'I', 1,100,1), Chr(194), 'A', 1,100,1), Chr(195), 'A', 1,100,1), Chr(196), 'A', 1,100,1) + lcText = STRTRAN(m.lcText, CHR(2), '',1,100,1) && caracter neprintabil + ENDIF + + + If m.tlSpaces + lcText = Strtran(m.lcText, ' ', '', 1, 100, 1) + Endif + If m.tlCR + lcText = Strtran(Strtran(m.lcText, Chr(13), ''), Chr(10), '') + Endif + + Return m.lcText + Endfunc + + ****************************************************** + *** Primeste o adresa de forma Strada NR LOCALITATE + *** Intoarce un obiect cu proprietatile: STRADA, NR, LOCALITATE + ****************************************************** + Procedure ParseAdresaMFin + Lparameters tcAdresa + * tcAdresa: Bld. Stefan cel Mare 14 Tirgu Neamt + Local lcAdresa, loAdresa + loAdresa = Createobject("empty") + AddProperty(loAdresa, "strada", "") + AddProperty(loAdresa, "nr", "") + AddProperty(loAdresa, "localitate", "") + + lcAdresa = Iif(!Empty(m.tcAdresa) And Type('tcAdresa') = 'C', m.tcAdresa, '') + If !Empty(m.lcAdresa) + lcPatternNrLocalitate = "\d+[A-Za-z\s]+$" && 14 Tirgu Neamt + lcNrLocalitate = GetRegexp(m.lcAdresa, m.lcPatternNrLocalitate, 1) && 14 Tirgu Neamt + + lcPatternLocalitate = "[A-Za-z\s]+$" && Tirgu Neamt + loAdresa.localitate = GetRegexp(m.lcAdresa, m.lcPatternLocalitate, 1) && Tirgu Neamt + + loAdresa.nr = Alltrim(Strtran(m.lcNrLocalitate, loAdresa.localitate, '')) && 14 + + If !Empty(m.lcNrLocalitate) + loAdresa.strada = Alltrim(Strtran(m.lcAdresa, m.lcNrLocalitate, '')) && Bld. Stefan cel Mare + Endif + Endif && !EMPTY() + + Return loAdresa + Endproc && ParseAdresaMfin + + *************************************************************** + *** Intoarce un obiect Mfin cu atribute goale, pentru uz intern + *************************************************************** + Function GetEmptyMfinObj + Local loMFIN + + loMFIN = Createobject("empty") + AddProperty(loMFIN, "Eroare", '') + AddProperty(loMFIN, "Cod", "") + AddProperty(loMFIN, "Firma", "") + AddProperty(loMFIN, "Adresa", "") + AddProperty(loMFIN, "Judet", "") + AddProperty(loMFIN, "Regcom", "") + AddProperty(loMFIN, "codpostal", "") + AddProperty(loMFIN, "telefon", "") + AddProperty(loMFIN, "fax", "") + AddProperty(loMFIN, "DataTVAMFIN", "") + AddProperty(loMFIN, "PlatitorTVAMFIN", .F.) + AddProperty(loMFIN, "Stare", "") + AddProperty(loMFIN, "Strada", "") + AddProperty(loMFIN, "Nr", "") + AddProperty(loMFIN, "Localitate", "") + AddProperty(loMFIN, "Bloc", "") + AddProperty(loMFIN, "Scara", "") + AddProperty(loMFIN, "Etaj", "") + AddProperty(loMFIN, "Apart", "") + AddProperty(loMFIN, "TvaIncasare", .F.) + AddProperty(loMFIN, "SplitTVA", .F.) + AddProperty(loMFIN, "Inactiv", .F.) + Return loMFIN + Endfunc && GetEmptyMfinObj +Enddefine + +********************************************* +*** Verificare coduri fiscale folosind serviciul web ANAF, cate 500 de coduri per interogare +********************************************* +Define Class VerificareANAF As Custom + + Procedure Init + If !'nfjsonread' $ Lower(Set("Procedure")) + Set Procedure To nfjsonread.prg Additive + Endif + If !'nfjsoncreate' $ Lower(Set("Procedure")) + Set Procedure To nfjsoncreate.prg Additive + Endif + Endproc && Init + + ************************************* + *** VerificaListaCIF("31103995,1879855", Date(), "crsANAF") + *** Verifica codurile fiscale din lista, la data + *** Intoarce un cursor crsANAF (cui N(13), Data d, denumire c(60), adresa c(244), tva L, data_sfarsit d, data_anul_imp d, mesaj c(100)) + ************************************* + Function VerificaListaCIF + Lparameters tcListaCIF, tdData, tcAlias + * tcListaCIF: lista coduri fiscale sau numele unui cursor cu coduri fiscale + + Local llUsed, lcCursorListaCIF, lnRec, lnRecs, lcAlias + + lcCursorListaCIF = "" + llUsed = .F. + lcAlias = "" + + goLog.Log('tcListaCIF: ' + tcListaCIF, 'VerificaListaCIF') + If Used(tcListaCIF) + * cursor + lcCursorListaCIF = m.tcListaCIF + llUsed = .T. + Else + * lista + lcCursorListaCIF = "cListaCIFTemp" + lnRecs = Getwordcount(m.tcListaCIF, ',') + Create Cursor (lcCursorListaCIF) (cod_fiscal c(30) Null, data D null) + For lnRec = 1 To m.lnRecs + lcCodFiscal = Getwordnum(m.tcListaCIF, m.lnRec, ',') + Insert Into (lcCursorListaCIF) (cod_fiscal, data) Values (m.lcCodFiscal, m.tdData) + Endfor + Endif + + lcAlias = This.ANAF_SincronWebService_PlatitorTva(m.lcCursorListaCIF, m.tdData, m.tcAlias) + If !m.llUsed + Use In (Select(lcCursorListaCIF)) + Endif + + Return m.lcAlias + Endfunc && AnafPlatitorTVA + + * + Function ANAF_SincronWebService_PlatitorTva + Lparameters tcCursorListaCIF, tdData, tcAlias + + Local loCol As "empty" + Local loHTTP As 'Microsoft.XMLHTTP' + Local laCoduri[1], lcAlias, lcData, lcDataFormatted, lcJsonString, lcListaCIF, lcSend, lcServer, lcCodFiscal, llDataCursor + Local ldData, lnRec, lnRecords, loJsonObject, lnIdx, lnRec1, lnRec2, lnGrup, lnGrupuri, loEx As Exception + Local loVerificareCod As "VerificareCod" + Local lcCodFiscalFRO, lcCodTara, lcMesaj, llRO, lnReqNo, lnWaitSeconds, laFound, lcCodJudet + + lcJsonString = "" + + lcAlias = Iif(!Empty(m.tcAlias) And Type('tcAlias') = "C", m.tcAlias, "crsANAF") + USE IN (SELECT(m.lcAlias)) + + ldData = Iif(!Empty(m.tdData) And Type('tdData') = "D", m.tdData, Date()) + + lcData = Dtos(m.ldData) + *lcDataFormatted = Left(m.lcData, 4) + "-" + Substr(m.lcData, 5, 2) + "-" + Substr(m.lcData, 7, 2) + lnRecords = Reccount(tcCursorListaCIF) + + IF m.lnRecords = 0 + Return m.lcAlias + ENDIF + + llDataCursor = (TYPE(tcCursorListaCIF + '.data') = 'D') && daca exista coloana data in cursor, folosesc data din cursor, daca este completata + + goLog.Log('lnRecords: ' + Transform(m.lnRecords), 'ANAF_SincronWebService_PlatitorTva') + Try + loHTTP = Createobject('winHTTP.winHTTPrequest.5.1') + Catch To loEx + ENDTRY + + If Type('loHTTP') <> 'O' + Try + loHTTP = Createobject('Microsoft.XMLHTTP') && 04.07.2016 + Catch To loEx + AMESSAGEBOX(loEx.Message, 0 + 16, _Screen.Caption) + Endtry + Endif + If Type('loHTTP') <> 'O' + goLog.Log("TYPE('loHTTP') <> 'O'", 'ANAF_SincronWebService_PlatitorTva') + Return m.lcAlias + Endif + + * lcServer = 'https://webservicesp.anaf.ro:/PlatitorTvaRest/api/v1/ws/tva' && api v1 + * lcServer = 'https://webservicesp.anaf.ro/PlatitorTvaRest/api/v3/ws/tva' +*!* lcServer = 'https://webservicesp.anaf.ro/PlatitorTvaRest/api/v5/ws/tva' +*!* lcServer = 'https://webservicesp.anaf.ro/PlatitorTvaRest/api/v6/ws/tva' + lcServer = 'https://webservicesp.anaf.ro/api/PlatitorTvaRest/v9/tva' + + loVerificareCod = Createobject("VerificareCod") + lnReqNo = 100 && maxim 100 CUI-uri pe verificare + lnWaitSeconds = 1 && minim 1 secunda intre interogari + lnGrupuri = Max(CEILING(m.lnRecords / m.lnReqNo), 1) && grupuri de cate 500 de coduri maxim per interogare + For lnGrup = 1 To m.lnGrupuri + lnRec1 = m.lnReqNo * (m.lnGrup - 1) + 1 + lnRec2 = Min(m.lnReqNo * m.lnGrup, m.lnRecords) + Wait Window 'Verific codurile fiscale ' + Alltrim(Str(m.lnRec1)) + '..' + Alltrim(Str(m.lnRec2)) + ' / ' + Alltrim(Str(m.lnRecords)) Nowait + + Release laCoduri + Dimension laCoduri(m.lnRec2 - lnRec1 + 1) + lnIdx = 0 + Select (m.tcCursorListaCIF) + Scan For Between(Recno(), lnRec1, lnRec2) + lcCodFiscal = Alltrim(cod_fiscal) + IF m.llDataCursor AND !EMPTY(data) + lcData = DTOS(data) + ELSE + lcData = DTOS(m.ldData) + ENDIF + lcDataFormatted = Left(m.lcData, 4) + "-" + Substr(m.lcData, 5, 2) + "-" + Substr(m.lcData, 7, 2) + + lcCodTara = loVerificareCod.GetCodTara(m.lcCodFiscal) + llRO = (m.lcCodTara = 'RO') + + lcCodFiscalFRO = Strtran(m.lcCodFiscal, m.lcCodTara, '') + lcCodFiscalFRO = Strtran(Strtran(Strtran(m.lcCodFiscalFRO, ' ', ''), 'RO', ''), 'R', '') + + If m.llRO AND (Isdigit(m.lcCodFiscalFRO) and Len(m.lcCodFiscalFRO) <= 10) + loCol = Createobject("empty") + AddProperty(loCol, "cui", Int(Val(m.lcCodFiscalFRO))) + AddProperty(loCol, "data", m.lcDataFormatted) + lnIdx = lnIdx + 1 + laCoduri[lnIdx] = loCol + ENDIF + Endscan && tcCursorListaCIF + IF m.lnIdx > 0 + Dimension laCoduri(lnIdx) + ENDIF + + lcSend = nfjsoncreate(@laCoduri) + goLog.Log('lcSend: ' + m.lcSend, 'ANAF_SincronWebService_PlatitorTva') + + lcJsonString = '' + Try + loHTTP.Open('POST', lcServer, .F.) && !!! POST e blocat de furnizor + loHTTP.setRequestHeader("Content-Type", "application/json;") + loHTTP.Send(lcSend) + If loHTTP.Status = 200 + lcJsonString = ALLTRIM(loHTTP.responseText) + IF LEFT(m.lcJsonString,1) <> '{' + IF 'mentenanta'$LOWER(m.lcJsonString) + AMESSAGEBOX('Serviciul web ANAF este in mentenanta!',0+48,_screen.Caption) + ELSE + AMESSAGEBOX('Serviciul web ANAF nu a intors un raspuns corespunzator.!' + CHR(13) + CHR(10) + m.lcJsonString,0+48,_screen.Caption) + ENDIF + lcJsonString = '' + ENDIF + ENDIF + Catch To loEx + AMESSAGEBOX(loEx.Message, 0 + 16, _Screen.Caption) + Endtry + * + goLog.Log('lcJsonString: ' + m.lcJsonString, 'ANAF_SincronWebService_PlatitorTva') + + * + SET STEP ON + If Not Empty(m.lcJsonString) + TRY + loJsonObject = nfjsonread(m.lcJsonString) && nfJson from http://vfpx.codeplex.com/ + lcCodJudet = "" + IF TYPE('loJsonObject.found_vfpsafe_[1].adresa_domiciliu_fiscal.dcod_judet') <> 'U' + lcCodJudet = loJsonObject.found_vfpsafe_[1].adresa_domiciliu_fiscal.dcod_judet + ENDIF + IF !EMPTY(m.lcCodJudet) + lcAlias = This.ParseJsonANAFv8(loJsonObject, m.tcAlias) + ELSE + lcMesaj = 'Serviciul web ANAF intors mesaj de eroare: ' + IIF(TYPE('loJsonObject.message') = 'C', loJsonObject.message, '') + AMESSAGEBOX(m.lcMesaj, 0+48, _screen.Caption) + ENDIF + CATCH TO loEx + AMESSAGEBOX(loEx.Message, 0 + 16, _Screen.Caption) + ENDTRY + Endif + If m.lnGrup < m.lnGrupuri + INKEY(m.lnWaitSeconds)&& astept o secunda intre interogari + ENDIF + Endfor && lnGrup + * + Return m.lcAlias + Endfunc && ANAF_SincronWebService_PlatitorTva + + ************************************* + *** Parseaza obiectul cu raspunsul de la ANAF si creeaza cursorul crsANAF + *** intoarce numele cursorului creat + ************************************* + Procedure ParseJsonANAFv8 + Lparameters toJsonObject, m.tcAlias + + Local lcSave_SetDate, lnRec, loRec, loAdresa + Local lcAlias, lnCUI, lnRecords, loDate, loDateGenerale, loEx, loInregistrareRTVAI + Local loInregistrareSplitTVA, loInregistrareTVA, loJsonObject, loStareInactiv + + loJsonObject = Iif(Type('toJsonObject') = "O" And Pemstatus(toJsonObject, "found_vfpsafe_", 5), toJsonObject, Null) + + lcAlias = Iif(!Empty(m.tcAlias) And Type('tcAlias') = "C", m.tcAlias, "crsANAF") + If !Used(m.lcAlias) + Create Cursor (m.lcAlias) (cui N(13), data D, denumire V(100), firma V(100), adresa C(244), nrRegCom C(30), scpTVA L, data_inceput_ScpTVA D, data_sfarsit_ScpTVA D, data_anul_imp_ScpTVA D, mesaj_ScpTVA C(244), ; + dataInceputTvaInc D, dataSfarsitTvaInc D, dataActualizareTvaInc D, dataPublicareTvaInc D, tipActTvaInc C(100), statusTvaIncasare L, dataInactivare D, dataReactivare D, dataPublicare D, dataRadiere D, statusInactivi L, ; + dataInceputSplitTVA D, dataAnulareSplitTVA D, statusSplitTVA L, ; + tva L, tvaincasare L, splittva L, inactiv L, ; + mesaj V(100), judet V(100), strada V(100), nr V(20), localitate V(100), Bloc V(20), scara V(20), etaj V(20), apart V(20)) + Endif + + If !Isnull(loJsonObject) + goLog.Log('JsonObject ' + Transform(Alen(loJsonObject.found_vfpsafe_, 1)) + ' found ' + Transform(Alen(loJsonObject.notfound, 1)) + ' not found', 'ParseJsonANAF') + + lcSave_SetDate = Set("Date") + Set Date To YMD + * + lnRecords = Alen(loJsonObject.found_vfpsafe_, 1) + For lnRec = 1 To m.lnRecords + loRec = loJsonObject.found_vfpsafe_(m.lnRec) + If Type('loRec') <> 'O' + LOOP + ENDIF + SELECT (m.lcAlias) + SCATTER NAME loDate MEMO BLANK + + IF TYPE('loRec.date_generale') = 'O' + loDateGenerale = loRec.date_generale + + loDateGenerale.adresa = This.RemoveCharacters(loDateGenerale.adresa) + loAdresa = This.ParseAdresaAnaf(loDateGenerale.adresa) + + loDate.cui = loDateGenerale.Cui + loDate.data = CTOD(loDateGenerale.data) + + loDate.denumire = This.RemoveCharacters(loDateGenerale.denumire) + loDate.firma = loDateGenerale.denumire + + loDate.adresa = loDateGenerale.adresa + loDate.judet = loAdresa.judet + loDate.strada = loAdresa.strada + loDate.nr = loAdresa.nr + loDate.localitate = loAdresa.localitate + loDate.bloc = loAdresa.Bloc + loDate.scara = loAdresa.scara + loDate.etaj = loAdresa.etaj + loDate.apart = loAdresa.apart + + loDate.nrRegCom = IIF(TYPE('loDateGenerale.nrRegCom') <> 'U', loDateGenerale.nrRegCom, '') + ENDIF + + IF TYPE('loRec.inregistrare_scop_tva') = 'O' + loInregistrareTVA = loRec.inregistrare_scop_tva + + loDate.scpTVA = loInregistrareTVA.scpTVA + IF TYPE('loInregistrareTVA.perioade_tva',1) <> "U" + TRY + loDate.data_inceput_ScpTVA = CTOD(loInregistrareTVA.perioade_tva[1].data_inceput_ScpTVA) + loDate.data_sfarsit_ScpTVA = CTOD(loInregistrareTVA.perioade_tva[1].data_sfarsit_ScpTVA) + loDate.data_anul_imp_ScpTVA = CTOD(loInregistrareTVA.perioade_tva[1].data_anul_imp_ScpTVA) + loDate.mesaj_ScpTVA = loInregistrareTVA.perioade_tva[1].mesaj_ScpTVA + CATCH TO loEx + ENDTRY + ENDIF + ENDIF + + IF TYPE('loRec.inregistrare_RTVAI') = 'O' + loInregistrareRTVAI = loRec.inregistrare_RTVAI + + loDate.dataInceputTvaInc = CTOD(loInregistrareRTVAI.dataInceputTvaInc) + loDate.dataSfarsitTvaInc = CTOD(loInregistrareRTVAI.dataSfarsitTvaInc) + loDate.dataActualizareTvaInc = CTOD(loInregistrareRTVAI.dataActualizareTvaInc) + loDate.dataPublicareTvaInc = CTOD(loInregistrareRTVAI.dataPublicareTvaInc) + loDate.tipActTvaInc = loInregistrareRTVAI.tipActTvaInc + loDate.statusTvaIncasare = loInregistrareRTVAI.statusTvaIncasare + ENDIF + + IF TYPE('loRec.stare_inactiv') = 'O' + loStareInactiv = loRec.stare_inactiv + + loDate.dataInactivare = CTOD(loStareInactiv.dataInactivare) + loDate.dataReactivare = CTOD(loStareInactiv.dataReactivare) + loDate.dataPublicare = CTOD(loStareInactiv.dataPublicare) + loDate.dataRadiere = CTOD(loStareInactiv.dataRadiere) + loDate.statusInactivi = loStareInactiv.statusInactivi + ENDIF + + IF TYPE('loRec.inregistrare_SplitTVA') = 'O' + loInregistrareSplitTVA = loRec.inregistrare_SplitTVA + + loDate.dataInceputSplitTVA = CTOD(loInregistrareSplitTVA.dataInceputSplitTVA) + loDate.dataAnulareSplitTVA = CTOD(loInregistrareSplitTVA.dataAnulareSplitTVA) + loDate.statusSplitTVA = loInregistrareSplitTVA.statusSplitTVA + loDate.statusSplitTVA = loInregistrareSplitTVA.statusSplitTVA + ENDIF + + loDate.tva = loDate.scpTVA + loDate.tvaincasare = loDate.statusTvaIncasare + loDate.splittva = loDate.statusSplitTVA + loDate.inactiv = loDate.statusInactivi + loDate.mesaj = loDate.mesaj_ScpTVA + + IF !EMPTY(NVL(loDate.cui, 0)) + Insert Into (m.lcAlias) FROM NAME loDate + ENDIF + Endfor + + For lnRec = 1 To Alen(loJsonObject.notfound, 1) + lnCUI = loJsonObject.notfound(m.lnRec) + If Type('lnCUI') = 'N' + SELECT (m.lcAlias) + SCATTER NAME loDate MEMO BLANK + + loDate.cui = m.lnCUI + + IF !EMPTY(NVL(loDate.cui, 0)) + Insert Into (m.lcAlias) FROM NAME loDate + ENDIF + Endif + Endfor + * + Set Date To &lcSave_SetDate + Else + goLog.Log('JsonObject is null', 'ParseJsonANAF') + Endif + Return m.lcAlias + ENDPROC + + ************************************* + *** Parseaza obiectul cu raspunsul de la ANAF si creeaza cursorul crsANAF + *** intoarce numele cursorului creat + ************************************* + Procedure ParseJsonANAFv3 + Lparameters toJsonObject, m.tcAlias + + Local lcSave_SetDate, lnRec, loRec, loAdresa + loJsonObject = Iif(Type('toJsonObject') = "O" And Pemstatus(toJsonObject, "found_vfpsafe_", 5), toJsonObject, Null) + + lcAlias = Iif(!Empty(m.tcAlias) And Type('tcAlias') = "C", m.tcAlias, "crsANAF") + If !Used(m.lcAlias) + Create Cursor (m.lcAlias) (cui N(13), data D, denumire V(100), firma V(100), adresa C(244), nrRegCom C(30), scpTVA L, data_inceput_ScpTVA D, data_sfarsit_ScpTVA D, data_anul_imp_ScpTVA D, mesaj_ScpTVA C(244), ; + dataInceputTvaInc D, dataSfarsitTvaInc D, dataActualizareTvaInc D, dataPublicareTvaInc D, tipActTvaInc C(100), statusTvaIncasare L, dataInactivare D, dataReactivare D, dataPublicare D, dataRadiere D, statusInactivi L, ; + dataInceputSplitTVA D, dataAnulareSplitTVA D, statusSplitTVA L, ; + tva L, tvaincasare L, splittva L, inactiv L, ; + mesaj V(100), judet V(100), strada V(100), nr V(20), localitate V(100), Bloc V(20), scara V(20), etaj V(20), apart V(20)) + Endif + + If !Isnull(loJsonObject) + goLog.Log('JsonObject ' + Transform(Alen(loJsonObject.found_vfpsafe_, 1)) + ' found ' + Transform(Alen(loJsonObject.notfound, 1)) + ' not found', 'ParseJsonANAF') + + lcSave_SetDate = Set("Date") + Set Date To YMD + * + For lnRec = 1 To Alen(loJsonObject.found_vfpsafe_, 1) + loRec = loJsonObject.found_vfpsafe_(m.lnRec) + If Type('loRec') = 'O' + loRec.adresa = This.RemoveCharacters(loRec.adresa) + loAdresa = This.ParseAdresaAnaf(loRec.adresa) + lcNrRegCom = IIF(TYPE('loRec.nrRegCom') <> 'U', loRec.nrRegCom, '') + + Insert Into (m.lcAlias) (cui, data, denumire, firma, adresa, nrRegCom, ; + scpTVA, data_inceput_ScpTVA, data_sfarsit_ScpTVA, data_anul_imp_ScpTVA, mesaj_ScpTVA, ; + dataInceputTvaInc, dataSfarsitTvaInc, dataActualizareTvaInc, dataPublicareTvaInc, tipActTvaInc, statusTvaIncasare, ; + dataInactivare, dataReactivare, dataPublicare, dataRadiere, statusInactivi, ; + dataInceputSplitTVA, dataAnulareSplitTVA, statusSplitTVA, ; + tva, tvaincasare, splittva, inactiv, ; + mesaj, judet, strada, nr, localitate, Bloc, scara, etaj, apart) VALUES ; + (loRec.cui, CTOD(loRec.data), loRec.denumire, loRec.denumire, loRec.adresa, m.lcNrRegCom, ; + loRec.scpTVA, CTOD(loRec.data_inceput_ScpTVA), CTOD(loRec.data_sfarsit_ScpTVA), CTOD(loRec.data_anul_imp_ScpTVA), loRec.mesaj_ScpTVA, ; + CTOD(loRec.dataInceputTvaInc), CTOD(loRec.dataSfarsitTvaInc), CTOD(loRec.dataActualizareTvaInc), CTOD(loRec.dataPublicareTvaInc), loRec.tipActTvaInc, loRec.statusTvaIncasare, ; + CTOD(loRec.dataInactivare), CTOD(loRec.dataReactivare), CTOD(loRec.dataPublicare), CTOD(loRec.dataRadiere), loRec.statusInactivi, ; + CTOD(loRec.dataInceputSplitTVA), CTOD(loRec.dataAnulareSplitTVA), loRec.statusSplitTVA, ; + loRec.scpTVA, loRec.statusTvaIncasare, loRec.statusSplitTVA, loRec.statusInactivi, ; + loRec.mesaj_ScpTVA, loAdresa.judet, loAdresa.strada, loAdresa.nr, loAdresa.localitate, loAdresa.Bloc, loAdresa.scara, loAdresa.etaj, loAdresa.apart) + Endif + Endfor + + For lnRec = 1 To Alen(loJsonObject.notfound, 1) + loRec = loJsonObject.notfound(m.lnRec) + If Type('loRec') = 'O' + loRec.adresa = This.RemoveCharacters(loRec.adresa) + loAdresa = This.ParseAdresaAnaf(loRec.adresa) + lcNrRegCom = IIF(TYPE('loRec.nrRegCom') <> 'U', loRec.nrRegCom, '') + + Insert Into (m.lcAlias) (cui, data, denumire, firma, adresa, nrRegCom, ; + scpTVA, data_inceput_ScpTVA, data_sfarsit_ScpTVA, data_anul_imp_ScpTVA, mesaj_ScpTVA, ; + dataInceputTvaInc, dataSfarsitTvaInc, dataActualizareTvaInc, dataPublicareTvaInc, tipActTvaInc, statusTvaIncasare, ; + dataInactivare, dataReactivare, dataPublicare, dataRadiere, statusInactivi, ; + dataInceputSplitTVA, dataAnulareSplitTVA, statusSplitTVA, ; + tva, tvaincasare, splittva, inactiv, ; + mesaj, judet, strada, nr, localitate, Bloc, scara, etaj, apart) VALUES ; + (loRec.cui, CTOD(loRec.data), loRec.denumire, loRec.denumire, loRec.adresa, m.lcNrRegCom, ; + loRec.scpTVA, CTOD(loRec.data_inceput_ScpTVA), CTOD(loRec.data_sfarsit_ScpTVA), CTOD(loRec.data_anul_imp_ScpTVA), loRec.mesaj_ScpTVA, ; + CTOD(loRec.dataInceputTvaInc), CTOD(loRec.dataSfarsitTvaInc), CTOD(loRec.dataActualizareTvaInc), CTOD(loRec.dataPublicareTvaInc), loRec.tipActTvaInc, loRec.statusTvaIncasare, ; + CTOD(loRec.dataInactivare), CTOD(loRec.dataReactivare), CTOD(loRec.dataPublicare), CTOD(loRec.dataRadiere), loRec.statusInactivi, ; + CTOD(loRec.dataInceputSplitTVA), CTOD(loRec.dataAnulareSplitTVA), loRec.statusSplitTVA, ; + loRec.scpTVA, loRec.statusTvaIncasare, loRec.statusSplitTVA, loRec.statusInactivi, ; + loRec.mesaj_ScpTVA, loAdresa.judet, loAdresa.strada, loAdresa.nr, loAdresa.localitate, loAdresa.Bloc, loAdresa.scara, loAdresa.etaj, loAdresa.apart) + + Endif + Endfor + * + Set Date To &lcSave_SetDate + Else + goLog.Log('JsonObject is null', 'ParseJsonANAF') + Endif + Return m.lcAlias + ENDPROC + + ************************************* + *** Parseaza obiectul cu raspunsul de la ANAF si creeaza cursorul crsANAF + *** intoarce numele cursorului creat + ************************************* + Procedure ParseJsonANAFv1 + Lparameters toJsonObject, m.tcAlias + + Local lcSave_SetDate, lnRec, loRec, loAdresa + loJsonObject = Iif(Type('toJsonObject') = "O" And Pemstatus(toJsonObject, "found_vfpsafe_", 5), toJsonObject, Null) + + lcAlias = Iif(!Empty(m.tcAlias) And Type('tcAlias') = "C", m.tcAlias, "crsANAF") + If !Used(m.lcAlias) + Create Cursor (m.lcAlias)(cui N(13), Data D, denumire V(100), firma V(100), adresa V(244), tva L, data_sfarsit D, data_anul_imp D, mesaj V(100), judet V(100), strada V(100), nr V(20), localitate V(100), Bloc V(20), scara V(20), etaj V(20), apart V(20)) + Endif + + If !Isnull(loJsonObject) + goLog.Log('JsonObject ' + Transform(Alen(loJsonObject.found_vfpsafe_, 1)) + ' found ' + Transform(Alen(loJsonObject.notfound, 1)) + ' not found', 'ParseJsonANAF') + + lcSave_SetDate = Set("Date") + Set Date To YMD + * + For lnRec = 1 To Alen(loJsonObject.found_vfpsafe_, 1) + loRec = loJsonObject.found_vfpsafe_(m.lnRec) + If Type('loRec') = 'O' + loRec.adresa = This.RemoveCharacters(loRec.adresa) + loAdresa = This.ParseAdresaAnaf(loRec.adresa) + Insert Into (m.lcAlias) (cui, Data, denumire, firma, adresa, tva, data_sfarsit, data_anul_imp, mesaj, judet, strada, nr, localitate, Bloc, scara, etaj, apart) Values; + (loRec.cui, Ctod(loRec.Data), loRec.denumire, loRec.denumire, loRec.adresa, loRec.tva, Ctod(loRec.data_sfarsit), Ctod(loRec.data_anul_imp), loRec.mesaj, loAdresa.judet, loAdresa.strada, loAdresa.nr, loAdresa.localitate, loAdresa.Bloc, loAdresa.scara, loAdresa.etaj, loAdresa.apart) + Endif + Endfor + + For lnRec = 1 To Alen(loJsonObject.notfound, 1) + loRec = loJsonObject.notfound(m.lnRec) + If Type('loRec') = 'O' + loRec.adresa = This.RemoveCharacters(loRec.adresa) + loAdresa = This.ParseAdresaAnaf(loRec.adresa) + Insert Into (m.lcAlias) (cui, Data, denumire, firma, adresa, tva, data_sfarsit, data_anul_imp, mesaj, judet, strada, nr, localitate, Bloc, scara, etaj, apart) Values; + (loRec.cui, Ctod(loRec.Data), loRec.denumire, loRec.denumire, loRec.adresa, loRec.tva, Ctod(loRec.data_sfarsit), Ctod(loRec.data_anul_imp), loRec.mesaj, loAdresa.judet, loAdresa.strada, loAdresa.nr, loAdresa.localitate, loAdresa.Bloc, loAdresa.scara, loAdresa.etaj, loAdresa.apart) + Endif + Endfor + * + Set Date To &lcSave_SetDate + Else + goLog.Log('JsonObject is null', 'ParseJsonANAF') + Endif + Return m.lcAlias + Endproc + + *** curata textul de diacritice, spatii, CR/LF + Function RemoveCharacters + Lparameters tcText, tlDiacritics, tlSpaces, tlCR + *** tcText: textul initial + *** tlDiacritics: inlocuieste diacriticele + *** tlSpaces: sterge spatiile + *** tlCR: sterge CR si LF + + If Pcount() = 1 + tlDiacritics = .T. + Endif + + Local lcText + lcText = Nvl(m.tcText, '') + If m.tlDiacritics + lcText = STRTRAN(STRTRAN(Strtran(Nvl(m.lcText, ''), Chr(197) + CHR(162), 'T', 1,100,1), Chr(197) + CHR(63), 'S', 1,100,1), Chr(196) + CHR(63), 'A', 1,100,1) + lcText = Strtran(Nvl(m.lcText, ''), Chr(195) + CHR(63), 'I', 1,100,1) + lcText = Strtran(Strtran(Strtran(Strtran(Strtran(Nvl(m.lcText, ''), Chr(170), 'S', 1,100,1), Chr(222), 'T', 1,100,1), Chr(226), 'A', 1,100,1), Chr(227), 'A', 1,100,1), Chr(238), 'I', 1,100,1) + lcText = STRTRAN(Strtran(Strtran(Strtran(Nvl(m.lcText, ''), Chr(206), 'I', 1,100,1), Chr(194), 'A', 1,100,1), Chr(195), 'A', 1,100,1), Chr(196), 'A', 1,100,1) + Endif + + If m.tlSpaces + lcText = Strtran(m.lcText, ' ', '', 1, 100, 1) + Endif + If m.tlCR + lcText = Strtran(Strtran(m.lcText, Chr(13), ''), Chr(10), '') + Endif + + Return m.lcText + ENDFUNC + + ****************************************************** + *** Primeste o adresa de forma * JUD. CONSTANTA, MUN. CONSTANTA, ALEEA CRIZANTEMELOR, NR.6, CAMERA 2, BL.H1, SC.F, ET.2, AP.109 + *** Intoarce un obiect cu proprietatile: STRADA, NR, LOCALITATE + ****************************************************** + Procedure ParseAdresaAnaf + Lparameters tcAdresa + * JUD. CONSTANTA, MUN. CONSTANTA, ALEEA CRIZANTEMELOR, NR.6, CAMERA 2, BL.H1, SC.F, ET.2, AP.109 + Local lcAdresa, loAdresa, lcCamera, lcItem, lnItem, lnItems, lcPrefix + lcAdresa = Iif(!Empty(m.tcAdresa) And Type('tcAdresa') = 'C', Alltrim(m.tcAdresa), "") + + lcCamera = "" + loAdresa = Createobject("empty") + AddProperty(loAdresa, "judet", "") + AddProperty(loAdresa, "strada", "") + AddProperty(loAdresa, "nr", "") + AddProperty(loAdresa, "localitate", "") + AddProperty(loAdresa, "bloc", "") + AddProperty(loAdresa, "scara", "") + AddProperty(loAdresa, "etaj", "") + AddProperty(loAdresa, "apart", "") + + If !Empty(m.lcAdresa) + lnItems = Getwordcount(m.lcAdresa) + For lnItem = 1 To m.lnItems + lcItem = Alltrim(Getwordnum(m.lcAdresa, m.lnItem, ',')) + Do Case + Case m.lnItem = 1 && 'JUD.'$UPPER(lcItem) + *!* lcJudet = ALLTRIM(STRTRAN(m.lcItem, 'JUD.', '',1,1,1)) + loAdresa.judet = Getwordnum(m.lcItem, 2, ' ') && CONSTANTA + Case m.lnItem = 2 && 'MUN.'$UPPER(lcItem) + *!* lcLocalitate = ALLTRIM(STRTRAN(m.lcItem, 'MUN.', '',1,1,1)) + IF LEFT(m.lcItem, 7) = "SECTOR " + loAdresa.localitate = STRTRAN(m.lcItem, "SECTOR ", "BUCURESTI SECTORUL ") + ELSE + loAdresa.localitate = Getwordnum(m.lcItem, 2, ' ') && CONSTANTA + ENDIF + Case m.lnItem = 3 + lcPrefix = Getwordnum(m.lcItem, 1, ' ') && STR. / BD. + loAdresa.strada = ALLTRIM(STRTRAN(m.lcItem, m.lcPrefix, '',1,1,1)) && Getwordnum(m.lcItem, 2, ' ') && CRIZANTEMELOR + Case m.lnItem = 4 + loAdresa.nr = Alltrim(Strtran(m.lcItem, 'NR.', '', 1, 1, 1)) && 6 + ENDCASE + IF Left(Upper(m.lcItem), 3) = 'BL.' + loAdresa.Bloc = Alltrim(Strtran(m.lcItem, 'BL.', '', 1, 1, 1)) && H1 + ENDIF + IF Left(Upper(m.lcItem), 3) = 'SC.' + loAdresa.scara = Alltrim(Strtran(m.lcItem, 'SC.', '', 1, 1, 1)) && F + ENDIF + IF Left(Upper(m.lcItem), 3) = 'ET.' + loAdresa.etaj = Alltrim(Strtran(m.lcItem, 'ET.', '', 1, 1, 1)) && 2 + ENDIF + IF Left(Upper(m.lcItem), 3) = 'AP.' + loAdresa.apart = Alltrim(Strtran(m.lcItem, 'AP.', '', 1, 1, 1)) && 109 + ENDIF + IF Left(Upper(m.lcItem), 6) = 'CAMERA' + lcCamera = Alltrim(Strtran(m.lcItem, 'CAMERA', '', 1, 1, 1)) && 2 + ENDIF + ENDFOR + If !Empty(m.lcCamera) And !Empty(loAdresa.apart) + loAdresa.apart = loAdresa.apart + ' C. ' + m.lcCamera + Endif + Endif && !empty + + Return loAdresa + Endproc + + +Enddefine && VerificareANAF + +*** WEBSITE ALTERNATIV PENTRU VERIFICARE PLATITOR TVA VIES +Procedure VIES_VAT + Lparameters tara, vat_id + + Local lResult + lResult = .F. + + #Define HTTPSTATUS_OK 200 + #Define HTTPSTATUS_CREATED 201 + #Define HTTPSTATUS_ACCEPTED 202 + #Define HTTPSTATUS_MULTISTATUS 207 + #Define HTTPSTATUS_BADREQUEST 400 + #Define HTTPSTATUS_UNAUTHORIZED 401 + #Define HTTPSTATUS_FORBIDDEN 403 + #Define HTTPSTATUS_NOTFOUND 404 + #Define HTTPSTATUS_INTERNALSERVERERROR 500 + Local oHTTP As "Microsoft.XMLHTTP", cURL + oHTTP = Createobject("Microsoft.XMLHTTP") + cURL = 'http://isvat.appspot.com/' + Upper(Trim(tara)) + '/' + Upper(Trim(vat_id)) + '/' + Try + oHTTP.Open("GET", cURL, .F.) + oHTTP.Send() + If oHTTP.Status = HTTPSTATUS_OK + lResult = Iif(oHTTP.responseText = 'true', .T., .F.) + Endif + Catch + lResult = .F. + * error handling code here. + Endtry + + Return lResult +Endproc && VIES_VAT + +Procedure ONRC + cCui = '1879855' + + oHTTP = Createobject('winhttp.winhttprequest.5.1') + oHTTP.Open('POST', 'http://recom1-ssl.onrc.ro/cgi-bin/intguest.cgi', .F.) + oHTTP.setRequestHeader("Content-Type", "application/x-www-form-urlencoded") + oHTTP.setRequestHeader("Referrer", "http://recom1-ssl.onrc.ro/cgi-bin/recom.cgi?o7=1&l=R") + oHTTP.setRequestHeader("Authorization", "Basic Z3Vlc3Q6Z3Vlc3Q") + oHTTP.setRequestHeader("credentials", "guest:guest") + oHTTP.Send("l=R&o=7&jud=99&cfiscalf=" + cCui + "&cauta=Selectie") + + cTable = Strextract(oHTTP.responseText, '', 5, 4) + Messagebox(cTable) +Endproc && ONRC + + +*** FORMULAR INTRODUCERE COD KAPTCH MFINANTE +Define Class IntroducereCod As Form + Height = 140 + Width = 393 + DoCreate = .T. + AutoCenter = .T. + Caption = "Cod Siguranta Ministerul de Finante" + WindowType = 1 + cCod = "" + _MemberData = [] + ccodfile = "" + Name = "Form1" + ControlBox = .F. + + + Add Object label1 As Label With ; + BackStyle = 0, ; + Caption = "Introduceti codul din imaginea de mai sus" + CRLF + "si apasati ENTER", ; + Height = 40, ; + Left = 39, ; + Top = 84, ; + Width = 234, ; + Name = "Label1" + + + Add Object text1 As TextBox With ; + FontBold = .T., ; + FontSize = 12, ; + Height = 30, ; + Left = 283, ; + Top = 76, ; + Width = 54, ; + Name = "Text1" + + + Add Object imagine As Image With ; + Height = 53, ; + Left = 83, ; + Top = 12, ; + Width = 200, ; + Name = "Imagine" + + + Procedure Init + Lparameters tcCodFile + This.ccodfile = m.tcCodFile + Thisform.imagine.Picture = m.tcCodFile + This.Icon = _Screen.Icon + Endproc + + + Procedure Unload + Return This.cCod + Endproc + + + Procedure text1.Valid + Thisform.cCod = Alltrim(This.Value) + Thisform.Hide() + Endproc + + +Enddefine && IntroducereCod + \ No newline at end of file diff --git a/programe/version.prg b/programe/version.prg new file mode 100644 index 0000000..4592511 --- /dev/null +++ b/programe/version.prg @@ -0,0 +1,127 @@ +Function Getversion + Lparameters lcprogram + Dimension versionarray[1] + clocalexe=GetCurrentAppPath(lcprogram) + *MESSAGEBOX("&clocalexe") + Agetfileversion(versionarray,"&clocalexe") + If Alen(versionarray)>3 + Return versionarray[4] + Else + Return "0.0.0" + Endif + +EndFunc +******************************************************************************************* +Function GetTxtVersion + Lparameters lcprogram + lcFisierVersiune = gcDirMare + [\] + lcProgram + [\versiune.txt] + If File(lcFisierVersiune) + lcVersiune = FileToStr(lcFisierVersiune) + If Empty(lcVersiune) + Return "0.0.0" + Else + Return lcVersiune + EndIf + Else + Return "0.0.0" + Endif +Endfunc +******************************************************************************************* +Function CompareVersion + Lparameters xmlVersion,xmlData,lcprogram,msg,tnTip + *!* modificare v 2.0.14 + && tnTip = 0 sau nu este dat ca parametru : versiunea se citeste din executabil + && tnTip = 1 : versiunea se citeste din fisierul versiune.txt + cVersionCurrent = Iif(Empty(tnTip),Getversion(lcprogram),GetTxtVersion(lcprogram)) + *!* cVersionCurrent=Getversion(lcprogram) + *!* modificare v 2.0.14 ^ + cXmlVersion=xmlVersion + *MESSAGEBOX(cVersionCurrent + " " +cXmlVersion) + If cVersionCurrent="0" + cVersionCurrent="0.0.0" + Endif + + If cVersionCurrent="0" + Return .F. + Else + lnTmpLen=Len(cVersionCurrent) +*!* modificare v 2.0.13 : daca am cVersionCurrent = '1.0.10' si cXmlVersion = '1.0.100' nu mai face actualizarea +*!* If (Alltrim(cVersionCurrent)=Left(Alltrim(cXmlVersion),lnTmpLen)) + If Alltrim(cVersionCurrent)=Alltrim(cXmlVersion) +*!* modificare v 2.0.13 ^ + Return .F. + Else + lcmesaj1=stripXmlMsg(xmlData) + If lcmesaj1#"NO_MESSAGE" And !msg + AMessagebox(lcmesaj1,48,"Actualizare") + Endif + Return .T. + Endif + Endif + +Endfunc +******************************************************************************************* +Function StripXmlVersion + Lparameters cXmlVersion + Return Strextract(Alltrim(cXmlVersion),"<",">",1) +Endfunc +******************************************************************************************* +Function stripXmlMsg + Lparameters cXmlVersion + Return Strextract(Alltrim(cXmlVersion),"{","}",1) +Endfunc +******************************************************************************************* +Function GetCurrentAppPath + Lparameters lcprogram + + If At("_",lcprogram)#0 + lccurrentUR=Substr(lcprogram,At("_",lcprogram)+1) + * MESSAGEBOX(lccurrentUR) + Else + lccurrentUR=lcprogram + Endif + + cAppPath=Addbs(Justpath(Sys(16,0))) + If Atc("PROCEDURE",cAppPath) > 0 + cAppPath = Substr(cAppPath,Rat(":",cAppPath)-1) + Endif + liat=Rat("\",cAppPath,2) + Return Addbs(Left(cAppPath,liat-1))+lccurrentUR+"\"+lcprogram+".exe" + +Endfunc +******************************************************************************************* +Function GetIniPath + Local lcAppPath + + lcAppPath=Addbs(GetAppStartPath()) + lcAppPath = STRTRAN(lcAppPath, 'PROGRAME\','',1,1,1) + lcAppPath = STRTRAN(lcAppPath, 'PROGRAMS\','',1,1,1) + liat=Rat("\",lcAppPath,2) + lcAppPath=Addbs(Left(lcAppPath,liat-1))+"settings.ini" + Return lcAppPath +Endfunc +******************************************************************************************* +Function GetCurrentTempPath + Lparameters lcprogram + + If At("_",lcprogram)#0 + lccurrentUR=Substr(lcprogram,At("_",lcprogram)+1) + * MESSAGEBOX(lccurrentUR) + Else + lccurrentUR=lcprogram + Endif + cAppPath=Addbs(Justpath(Sys(16,0))) + If Atc("PROCEDURE",cAppPath) > 0 + cAppPath = Substr(cAppPath,Rat(":",cAppPath)-1) + Endif + liat=Rat("\",cAppPath,2) + Return Addbs(Left(cAppPath,liat-1))+lccurrentUR+"\temporar.zip" +Endfunc +******************************************************************************************* +Function GetProg + Lparameters cAppPath + cAppPath = Substr(cAppPath,Rat("\",cAppPath)+1) + cAppPath = Left(cAppPath,At("exe",cAppPath)-2) + Return cAppPath +Endfunc +******************************************************************************************* \ No newline at end of file diff --git a/programe/xdate.prg b/programe/xdate.prg new file mode 100644 index 0000000..a6dab53 --- /dev/null +++ b/programe/xdate.prg @@ -0,0 +1,163 @@ +*!* 07.04.2009 +*!* creez cursoarele xsets_standard doar la prima intrare +*!* creez cursoarele xsets_utilizator la fiecare intrare si le combin cu xsets_standard in xsets + +*!* 13.07.2020 +*!* cursorul xnote contine si sectie, nresp, nrord, dst_chlt pentru folosirea la adun_date + +Local lnSucces, i, lcWhere, lcXsets, lcXrequest, lcXnote +lnSucces = 1 + +For i = 1 To 2 + If i = 1 + lcWhere = "id_set < 1000000" && seturi standard + lcXsets = 'xsets_standard' + lcXrequest = 'xrequest_standard' + lcXnote = 'xnote_standard' + Else + lcWhere = "id_set >= 1000000"&& seturi utilizator + lcXsets = 'xsets_utilizator' + lcXrequest = 'xrequest_utilizator' + lcXnote = 'xnote_utilizator' + Endif + + + + If i = 1 And Used(lcXsets) + Loop + Endif + + If i = 1 +* WAIT WINDOW 'xAct...' NOWAIT + lnSucces = goExecutor.oExecute([select * from xact], [XAct]) + If lnSucces < 0 + Messagebox(goExecutor.cEroare,0+16,_Screen.Caption) + Endif + + If lnSucces > 0 +* WAIT WINDOW 'xItems...' NOWAIT + lnSucces = goExecutor.oExecute([select * from xitems], [XItems]) + If lnSucces < 0 + Messagebox(goExecutor.cEroare,0+16,_Screen.Caption) + Endif + Endif + + + If lnSucces > 0 +* WAIT WINDOW 'xSetsCategorii...' NOWAIT + lnSucces = goExecutor.oExecute([select * from xsetscategorii], [Xsetscategorii]) + If lnSucces < 0 + Messagebox(goExecutor.cEroare,0+16,_Screen.Caption) + Endif + Endif + + If lnSucces > 0 +* WAIT WINDOW 'xSetsUtilizatori...' NOWAIT + lnSucces = goExecutor.oExecute([select * from xsets_utilizatori], [xsets_utilizatori]) + If lnSucces < 0 + Messagebox(goExecutor.cEroare,0+16,_Screen.Caption) + Endif + Endif + + nvl2Default("xact") + nvl2Default("XItems") + + Endif && i = 1 + + lcSqlxSets = [select id_set, nr_set, nume_set, fix as fixTemp, lista_note, explicatia, model, ] + ; + [formgest, nu_sterg as nu_stergTemp, param1, listare, param2, frm_date, discount as discountTemp, ] + ; + [adaos as adaosTemp, factura as facturaTemp,id_selst,] + ; + [id_seldr, tip_doc, tip_ctr, expl_fixa,aleg_cont as aleg_contTemp, frm_plata,valuta as valutatemp, compens, ] + ; + [id_tip_rul, id_jnetax, id_jtax, tipjurnal, id_jtaxn, productie as productieTemp, ] + ; + [formproduc, cursval as cursvaltemp, procedura_lans, wht as whttemp, plata as platatemp, ] + ; + [nu_jtva as nu_jtvatemp, nu_doc_pereche as nu_doc_perechetemp ] + ; + [from xsets where ] + lcWhere + + lcSqlXrequest = [select * from xrequest where ] + lcWhere + +*!* lcSqlXnote = [select * from xnote where ] + lcWhere + TEXT TO lcSqlXnote TEXTMERGE NOSHOW +select n.*, s.sectie, l.nrord, p.denumire as nresp, v.tip_venchelt as dst_chlt, c.numar as contract +from xnote n left join nom_sectii s on n.id_sectie = s.Id_Sectie +left join nom_lucrari l on n.id_lucrare = l.id_lucrare +left join nom_parteneri p on n.id_responsabil = p.id_part +left join nom_venit_cheltuieli v on n.id_venchelt = v.id_venchelt +left join contracte c on n.id_ctr = c.id_ctr +where <> + endtext + + Use In (Select(lcXsets)) + Use In (Select(lcXrequest)) + Use In (Select(lcXnote)) + + lnSucces = goExecutor.oExecute(lcSqlxSets, [XSetsTemp]) && are valuta si aleg_cont cu valori 1,0 care vor fi transf in .t., .f. + If lnSucces < 0 + Messagebox(goExecutor.cEroare,0+16,_Screen.Caption) + Else + Select *,Iif(valutaTemp = 1, .T., .F.) As valuta,; + IIF(aleg_contTemp = 1,.T.,.F.) As aleg_cont,; + IIF(cursvalTemp = 1,.T.,.F.) As cursval,; + IIF(productieTemp = 1,.T.,.F.) As productie,; + IIF(discountTemp = 1,.T.,.F.) As discount,; + IIF(fixTemp = 1,.T.,.F.) As fix,; + IIF(nu_stergTemp = 1,.T.,.F.) As nu_sterg,; + IIF(adaosTemp = 1,.T., .F.) As adaos,; + IIF(facturaTemp = 1,.T.,.F.) As factura, ; + IIF(whtTemp = 1,.T.,.F.) As wht, ; + IIF(plataTemp = 1,.T.,.F.) As plata, ; + (nu_jtvatemp = 1) As nu_jtva, ; + (nu_doc_perechetemp = 1) As nu_doc_pereche ; + From XSetsTemp ; + Into Cursor (lcXsets) Readwrite + + USE IN (SELECT('xSetsTemp')) + Endif + + If lnSucces > 0 + lnSucces = goExecutor.oExecute(lcSqlXrequest , lcXrequest) + If lnSucces < 0 + Messagebox(goExecutor.cEroare,0+16,_Screen.Caption) + Endif + Endif + + If lnSucces > 0 + lnSucces = goExecutor.oExecute(lcSqlXnote , lcXnote) + If lnSucces < 0 + Messagebox(goExecutor.cEroare,0+16,_Screen.Caption) + Endif + Endif + + nvl2Default(lcXsets) + nvl2Default(lcXrequest, "id_tipdoc") + nvl2Default(lcXnote) + +Endfor && i + +Use In (Select('xsets')) +Select * From xsets_standard Into Cursor xsets READWRITE +If Used('xsets_utilizator') + Append From Dbf('xsets_utilizator') + Use In (Select('xsets_utilizator')) +Endif + +Use In (Select('xrequest')) +Select * From xrequest_standard Into Cursor xrequest READWRITE +If Used('xrequest_utilizator') + Append From Dbf('xrequest_utilizator') + Use In (Select('xrequest_utilizator')) +Endif + +Use In (Select('xnote')) +Select * From xnote_standard Into Cursor xnote READWRITE +If Used('xnote_utilizator') + Append From Dbf('xnote_utilizator') + Use In (Select('xnote_utilizator')) +Endif + +Select xsets +Index On nume_set Tag nume_set +Index On nr_Set Tag nr_Set +Index On id_set Tag id_set +Set Order To id_set + +Return lnSucces diff --git a/programe/xmlaccess.prg b/programe/xmlaccess.prg new file mode 100644 index 0000000..4216aaf --- /dev/null +++ b/programe/xmlaccess.prg @@ -0,0 +1,148 @@ +#Define CRLF Chr(13) + Chr(10) + +Define Class xmlAccess As Custom + + oXml = Null + ** init : din connecttoXml doar partea care citeste fisierul XML de pe url/network path + ** destroy : release This.oXml + + Procedure getXmlItems + Lparameters tcNumeCursor + This.oXml.getCursorItems(tcNumeCursor) + Endproc + + Function getVersion + Lparameters tcProgram + Return This.oXml.selectnodes(tcProgram) + Endfunc + + Procedure Init + Lparameters tcFisier + Local loex As Exception + myinihandler=Createobject("iniaccess") + clocal=myinihandler.getNetworkPath() + curlstring=myinihandler.getURL() + cdefault=myinihandler.getDefault() + + This.oXml = Createobject('xmlparserclass') + lcsucces="" + + loUpdate=Createobject("wwCodeUpdate") + If Isnull(loUpdate.oHTTP) + loIP = loUpdate.CreateHTTPClient() + Else + loIP = loUpdate.oHTTP + Endif + If cdefault="NetworkPath" + cconnectlocation=Addbs(ShortPath(clocal))+tcFisier+".xml" + polog.Log("Locatia "+cconnectlocation,Program()) + *!* crets=This.connecttoXml(cconnectlocation,"network") + Else + If Right(curlstring,1)#"/" + curlstring=curlstring +"/" + Endif + cconnectlocation=curlstring+tcFisier+".xml" + polog.Log("Locatia "+cconnectlocation,Program()) + *!* crets=This.connecttoXml(cconnectlocation,"URL") + Endif + + *!* IF cdefault="NetworkPath" + *!* cconnectlocation=curlstring+"/"+lcprogram+".xml" + *!* polog.Log("Locatia "+cconnectlocation,Program()) + *!* *!* crets=This.connecttoXml(cconnectlocation,"URL") + *!* Endif + *!* Release myinihandler + If cdefault="URL" + loIP.lShowDialog = .F. + loUrl = loIP.InternetCrackUrl(cconnectlocation) + If Isnull(loUrl) + polog.Log("informatii despre server invalide :" + cconnectlocation ,Program()) + Return .F. + Endif + loIP.nhttpport=Val(loUrl.cPort) + If loIP.HTTPConnect(loUrl.cServer,myinihandler.getUsername(),myinihandler.getPassword(),; + IIF(Lower(loUrl.cProtocol)="https",.T.,.F.)) # 0 + loUpdate.SetError(loIP.cErrorMsg) + Release myinihanler + polog.Log("Nu s-a putut conecta la "+loUrl.cServer + " cu "+loUrl.cProtocol,Program()) + Return .F. + Else + polog.Log("S-a conectat la "+loUrl.cServer ,Program()) + Release myinihanler + lcTFile = "temporary.xml" + lcData = "" + lnSize = 0 + polog.Log("Se descarca "+loUrl.cpath,Program()) + If(loIP.HTTPGetEx( Trim(loUrl.cpath),@lcData,@lnSize,,lcTFile)=0) + TransferHandlerResult=lnSize + Endif + + If(loIP.cErrorMsg <>'') + If(loIP.cErrorMsg="Not found") + polog.Log("NU s-a gasit fisierul la locatia respectiva",Program()) + Else + polog.Log(loIP.cErrorMsg,Program()) + Endif + lcsucces="false" + amessagebox("Nu s-a putut descarca fisierul xml.Verificati 'Configurare actualizari'!",0+48,"Atentie") + Endif + + Endif + Else + Try + Delete File temporary.XML + polog.Log("Se copiaza" + cconnectlocation + " in temporar",Program()) + Copy File (cconnectlocation) To temporary.XML + Catch + polog.Log("NU s-a putut descarca " + cconnectlocation + " in temporar",Program()) + lcsucces="false" + amessagebox("Nu s-a putut descarca fisierul xml.Verificati 'Configurare actualizari'!",0+48,"Atentie") + Endtry + Endif + *!* LOCAL LOeX as Exception + If lcsucces<>"false" + loex = This.oXml.Load("temporary.xml") + If !Isnull(loex) + + lcMesaj = 'Eroarea nr. ' + Alltrim(Transform(loex.ErrorNo)) + CRLF + ; + ALLTRIM(loex.Message) + CRLF + ; + 'Linia ' + Alltrim(Transform(loex.Lineno)) + CRLF + ; + 'Codul ' + Alltrim(loex.LineContents) + CRLF + ; + 'Metoda ' + Alltrim(loex.Procedure) + + *!* Strtofile(Dtoc(Date())+" "+Time()+" " + m.lcMesaj, gcDirMare + "updates.log",1) + polog.Log(m.lcMesaj, Program()) + lcsucces="false" + Endif + + If !Empty(Alltrim(This.oXml.ParseError)) + polog.Log("Eroare la parsarea xml-ului",Program()) + Endif + Endif + If lcsucces="false" + Return .F. + Endif + Endproc + + Procedure Destroy + This.oXml = Null + Try + Delete File "temporary.xml" + Endtry + Endproc + + + Function ReadXmlFile As Character + Lparameters lcprogram + Local lcversiune + lcversiune = This.oXml.selectnodes(lcprogram) + If Empty(lcversiune) + polog.Log("nu s-a putut conecta",Program()) + Return "nu s-a putut conecta" + Else + polog.Log(lcversiune,Program()) + Return lcversiune + Endif + Endfunc + +Enddefine diff --git a/programe/xmlefactura-preview-utils.txt b/programe/xmlefactura-preview-utils.txt new file mode 100644 index 0000000..62b7fe2 --- /dev/null +++ b/programe/xmlefactura-preview-utils.txt @@ -0,0 +1,237 @@ +TEXT TO lcReceiver NOSHOW +// receiver.php + + $error->level, + 'code' => $error->code, + 'column' => $error->column, + 'message' => $error->message, + 'line' => $error->line + ]; + } + + libxml_clear_errors(); + + return [ + 'valid' => false, + 'errors' => $errorMessages + ]; + } + + // Verifica namespace-urile necesare + $namespaces = $xml->getNamespaces(true); + $requiredNamespaces = [ + 'urn:oasis:names:specification:ubl:schema:xsd:Invoice-2', + 'urn:oasis:names:specification:ubl:schema:xsd:CommonBasicComponents-2', + 'urn:oasis:names:specification:ubl:schema:xsd:CommonAggregateComponents-2' + ]; + + foreach ($requiredNamespaces as $ns) { + $found = false; + foreach ($namespaces as $namespace) { + if ($namespace === $ns) { + $found = true; + break; + } + } + + if (!$found) { + return [ + 'valid' => false, + 'errors' => [ + ['message' => "Namespace lipsa: $ns"] + ] + ]; + } + } + + return [ + 'valid' => true, + 'errors' => [] + ]; +} + +// Verificare IP +function checkIP() { + global $config; + $clientIP = $_SERVER['REMOTE_ADDR']; + return in_array($clientIP, $config['allowed_ips']); +} + +// Verificare token +function validateToken() { + global $config; + $headers = getallheaders(); + $token = isset($headers['X-Api-Key']) ? $headers['X-Api-Key'] : ''; + return hash_equals($config['api_key'], $token); +} + +// Verificare origine request +if (!checkIP()) { + header('HTTP/1.1 403 Forbidden'); + error_log("Acces interzis pentru IP: " . $_SERVER['REMOTE_ADDR']); + die(json_encode([ + 'success' => false, + 'error' => 'Acces interzis', + 'details' => 'IP-ul nu este autorizat' + ])); +} + +// Verificare token +if (!validateToken()) { + header('HTTP/1.1 401 Unauthorized'); + error_log("Token invalid de la IP: " . $_SERVER['REMOTE_ADDR']); + die(json_encode([ + 'success' => false, + 'error' => 'Token invalid', + 'details' => 'Autentificare e?uata' + ])); +} + +// Configurare director pentru fi?iere temporare +$uploadDir = dirname(__FILE__) . '/temp/'; +if (!file_exists($uploadDir)) { + mkdir($uploadDir, 0777, true); +} + +// Procesare request POST (primire XML) +if ($_SERVER['REQUEST_METHOD'] === 'POST') { + try { + // Cite?te con?inutul XML din request + $xmlContent = file_get_contents('php://input'); + + // Validare XML + $validationResult = validateXML($xmlContent); + + if (!$validationResult['valid']) { + header('Content-Type: application/json'); + http_response_code(400); + echo json_encode([ + 'success' => false, + 'error' => 'XML invalid', + 'details' => $validationResult['errors'] + ]); + error_log("Validare XML e?uata: " . json_encode($validationResult['errors'])); + exit; + } + + // Genereaza nume unic pentru fi?ier + $fileName = uniqid('xml_') . '.xml'; + $filePath = $uploadDir . $fileName; + + // Salveaza fi?ierul + if (file_put_contents($filePath, $xmlContent)) { + // Raspuns succes + header('Content-Type: application/json'); + echo json_encode([ + 'success' => true, + 'fileName' => $fileName + ]); + } else { + throw new Exception('Eroare la salvarea fi?ierului'); + } + } catch (Exception $e) { + header('Content-Type: application/json'); + http_response_code(500); + error_log("Eroare procesare XML: " . $e->getMessage()); + echo json_encode([ + 'success' => false, + 'error' => $e->getMessage() + ]); + } +} + +// Procesare request GET (cura?are fi?iere temporare) +if ($_SERVER['REQUEST_METHOD'] === 'GET' && isset($_GET['cleanup'])) { + $fileName = basename($_GET['cleanup']); // Sanitizare nume fi?ier + if (preg_match('/^xml_[a-f0-9]+\.xml$/', $fileName)) { // Verifica formatul numelui + $filePath = $uploadDir . $fileName; + + if (file_exists($filePath)) { + if (unlink($filePath)) { + header('Content-Type: application/json'); + echo json_encode(['success' => true]); + } else { + header('Content-Type: application/json'); + http_response_code(500); + error_log("Nu s-a putut ?terge fi?ierul: " . $filePath); + echo json_encode([ + 'success' => false, + 'error' => 'Nu s-a putut ?terge fi?ierul' + ]); + } + } else { + header('Content-Type: application/json'); + http_response_code(404); + echo json_encode([ + 'success' => false, + 'error' => 'Fi?ierul nu exista' + ]); + } + } else { + header('Content-Type: application/json'); + http_response_code(400); + error_log("Nume fi?ier invalid solicitat: " . $fileName); + echo json_encode([ + 'success' => false, + 'error' => 'Nume fi?ier invalid' + ]); + } +} + +// Cura?are automata a fi?ierelor vechi +$files = glob($uploadDir . 'xml_*.xml'); +$now = time(); +$maxAge = $config['temp_file_lifetime'] * 3600; // Conversie ore în secunde + +foreach ($files as $file) { + if ($now - filemtime($file) > $maxAge) { + @unlink($file); + error_log("Fi?ier vechi ?ters: " . basename($file)); + } +} +?> +ENDTEXT + +TEXT TO lcJson noshow +//config.json +{ + "api_key": "d3a46a47f844dcb5c34cafac19d678c4", + "allowed_ips": [ + "127.0.0.1", + "::1", + "localhost", + "5.14.199.44", + "83.103.197.79" + ], + "temp_file_lifetime": 1 +} +ENDTEXT + diff --git a/programe/xmlefactura-preview.prg b/programe/xmlefactura-preview.prg new file mode 100644 index 0000000..cef71af --- /dev/null +++ b/programe/xmlefactura-preview.prg @@ -0,0 +1,222 @@ +* VFP -> POST XML -> PHP -> Salveaza în fixier /temp/xml_xxx.xml -> BROWSER Afiseaza date + +* trimite un fisier xml eFactura la romfast.ro/efactura-generator/receier.php +* receiver.php salveaza fisierul xml pe server in directul /temp si intoarce json cu numele fierului xml +* se deschide browserul cu romfast.ro/efactura-generator/index.html?xml=fisier.xml pentru editare fisier xml + +* Program principal +Local loSender +loSender = Createobject("eFacturaXmlPreview") +loSender.webURL = "https://romfast.ro/efactura-generator/" +loSender.SendXML("C:\temp\factura.xml") + +*** Program pentru trimitere XML pe server romfast.ro si previzualizare web +Define Class eFacturaXmlPreview As Custom + * Configurari + webURL = "https://romfast.ro/efactura-generator/" + apiKey = "d3a46a47f844dcb5c34cafac19d678c4" + debugMode = .F. && Mod depanare pentru înregistrari detaliate + + * Procedura principala pentru trimitere XML + Procedure SendXML + Parameters tcXMLFile, tlVariable + + * tcXMLFile: calea catre fisier xml sau continutul unui fisier xml (tlVariable = .T.) + * tlVariable: .T. daca tcXMLFile este continutul unui fisier, in loc de calea catre fisier + + Local loXMLHTTP, lcResponse, lcFileName, lcXML, llSucces, loXMLDoc + llSucces = .T. + lcResponse = '' + lcFileName = '' + lcXML = '' + loXMLDoc = Null + Set Step On + * Curata fisierele debug anterioare + If This.debugMode + Try + Erase "debug_xml_sent.txt" + Erase "debug_response.txt" + Erase "debug_headers.txt" + Erase "debug_status.txt" + Catch + Endtry + Endif + + Try + * Verifica existenta fisierului + If !m.tlVariable AND !File(tcXMLFile) + Messagebox("Fisierul XML nu exista: " + tcXMLFile, 16, "Eroare") + llSucces = .F. + Endif + + * Citeste XML-ul cu codare UTF-8 explicita + If m.llSucces + IF m.tlVariable + lcXML = m.tcXMLFile + ELSE + lcXML = Strconv(Filetostr(tcXMLFile), 9) + ENDIF + + * Elimina potentialul BOM (Byte Order Mark) + If Substr(lcXML, 1, 3) = Chr(239) + Chr(187) + Chr(191) + lcXML = Substr(lcXML, 4) + Endif + + * Validare structura XML înainte de trimitere + If Empty(Alltrim(lcXML)) + Messagebox("Fisierul XML este gol!", 16, "Eroare") + llSucces = .F. + Endif + Endif + + * Validare XML folosind MSXML + If m.llSucces + Try + loXMLDoc = Createobject("MSXML2.DOMDocument.6.0") + loXMLDoc.Async = .F. + loXMLDoc.LoadXML(lcXML) + + If loXMLDoc.ParseError.Errorcode <> 0 + Messagebox("Eroare parsare XML: " + loXMLDoc.ParseError.Reason, 16, "Eroare XML") + llSucces = .F. + Endif + Catch To loXMLException + Messagebox("Eroare validare structura XML: " + loXMLException.Message, 16, "Eroare Validare") + llSucces = .F. + Endtry + Endif + + * Salveaza XML-ul pentru depanare + If This.debugMode + Strtofile(lcXML, "debug_xml_sent.txt") + Endif + + If m.llSucces + * Creeaza obiectul XMLHTTP pentru trimitere + loXMLHTTP = Createobject("MSXML2.ServerXMLHTTP.6.0") + + * Configureaza timeout si alti parametri + loXMLHTTP.SetTimeouts(30000, 30000, 30000, 30000) + + * Deschide conexiunea + loXMLHTTP.Open("POST", This.webURL + "receiver.php", .F.) + + * Seteaza headere + loXMLHTTP.setRequestHeader("Content-Type", "application/xml; charset=UTF-8") + loXMLHTTP.setRequestHeader("X-Api-Key", This.apiKey) + + * Trimite XML-ul + loXMLHTTP.Send(m.lcXML) + + * Salveaza antetele si statusul pentru depanare + If This.debugMode + Strtofile(loXMLHTTP.getAllResponseHeaders(), "debug_headers.txt") + Strtofile(Transform(loXMLHTTP.Status), "debug_status.txt") + Strtofile(loXMLHTTP.responseText, "debug_response.txt") + Endif + + * Proceseaza raspunsul serverului + Do Case + Case loXMLHTTP.Status = 200 + lcResponse = loXMLHTTP.responseText + lcFileName = This.GetJSONValue(lcResponse, "fileName") + + If !Empty(lcFileName) + This.OpenBrowser(This.webURL + "index.html?xml=" + lcFileName) + llSucces = .T. + Messagebox("XML trimis cu succes!", 64, "Succes") + Else + Messagebox("Nu s-a primit numele fisierului în raspuns." + Chr(13) + ; + "Raspuns server: " + loXMLHTTP.responseText, 16, "Eroare") + Endif + + Case loXMLHTTP.Status = 400 + * Eroare de validare XML + Messagebox("XML invalid! Detalii:" + Chr(13) + ; + loXMLHTTP.responseText, 16, "Eroare Validare XML") + llSucces = .F. + + Case loXMLHTTP.Status = 401 + Messagebox("Token invalid!", 16, "Eroare Autentificare") + llSucces = .F. + + Case loXMLHTTP.Status = 403 + Messagebox("Acces interzis! IP-ul nu este autorizat.", 16, "Eroare Acces") + llSucces = .F. + + Otherwise + Messagebox("Eroare la trimiterea XML-ului: " + loXMLHTTP.responseText + ; + CHR(13) + "Status: " + Transform(loXMLHTTP.Status), ; + 16, "Eroare") + llSucces = .F. + Endcase + + Endif && llSucces + + Catch To loException + llSucces = .F. + Messagebox("Eroare generala: " + loException.Message + ; + CHR(13) + "Detalii în fisierele debug", ; + 16, "Eroare") + + * Salveaza XML-ul de eroare + If This.debugMode + Strtofile(lcXML, "debug_xml_error.txt") + Endif + Endtry + + Return llSucces + Endproc + + * Extrage valoarea dintr-un JSON simplu + Function GetJSONValue + Lparameters tcJSON, tcKey + Local lcPattern, lnPosStart, lnPosEnd, lcValue + + * Creeaza un pattern pentru cheia JSON + lcPattern = '"' + tcKey + '":' + + * Gase?te pozi?ia de start a valorii + lnPosStart = At(lcPattern, tcJSON) + If lnPosStart = 0 + Return "" + Endif + + lnPosStart = lnPosStart + Len(lcPattern) + + * Gaseste pozitia delimitatorului de sfarsit + lnPosEnd = At(",", tcJSON, lnPosStart) + If lnPosEnd = 0 + lnPosEnd = At("}", tcJSON, 1) && Daca nu gaseste virgula, cauta acolada de închidere + Endif + + If lnPosEnd = 0 + Return "" && Daca nici acum nu gaseste delimitator, JSON-ul este invalid + Endif + + * Extrage valoarea + lcValue = Substr(tcJSON, lnPosStart, lnPosEnd - lnPosStart) + lcValue = Alltrim(Strtran(lcValue, '"', "")) + + Return lcValue + Endfunc + + + + * Deschide browser-ul + Procedure OpenBrowser + Parameters tcURL + + Declare Integer ShellExecute In shell32.Dll ; + INTEGER hndWin, ; + STRING cOperation, ; + STRING cFileName, ; + STRING cParams, ; + STRING cDir, ; + INTEGER nShowWin + + ShellExecute(0, "open", tcURL, "", "", 1) + Endproc +Enddefine + + diff --git a/programe/xmlefactura.prg b/programe/xmlefactura.prg new file mode 100644 index 0000000..18f706e --- /dev/null +++ b/programe/xmlefactura.prg @@ -0,0 +1,1364 @@ +*!* 16.10.2023 +*!* ExportEFactura.xmlEFactura : se pare ca la ultima versiune de verificare, cota 0 trebuie sa aiba cod de scutire sau text scutire + +*!* 31.10.2023 +*!* ExportEFactura.xmlEFactura : corectat eroare articol codbare + +*!* 13.11.2023 +*!* ParseEFactura - tratare xml CreditNote + +*!* 28.11.2023 +*!* TrimiteFacturi - se trateaza ExecutionStatus cu sau fara spatii + +*!* 04.01.2024 +*!* ExportEFactura.xmlEFactura : limitare strada adresa client la 150 caractere +*!* getXmlEFactura : nu validez xmlefactura daca plFaraValidareEFactura = .T. (din borderou efactura) + +*!* 10.01.2024 +*!* ExportEFactura.xmlEFactura: corectie completare strada si denumire client. S-au completat in poDate +*!* ExportEFactura.xmlEFactura: am pus la loc "adresa" in loc de "strada" la +*!* AnafEFactura.SendEfactura: am pus parametrul "EXTERN=DA" pentru trimiterea facturilor cu clienti externi + +*!* 15.01.2024 +*!* ExportEFactura.xmlEFactura: explicatia de pe articol se sparge in primele 200 caractere pe Item.descrition si urmatoarele 300 pe InvoiceLine.note + +*!* 19.01.2024 +*!* ParseEFactura : am tratat fisierele fara cbc, cac; am tratat invoice.note._nodetext_ + +*!* 23.01.2024 +*!* RaspunsuriFactura : se apeleza endpoint-ul cu paginatie, in caz ca sunt mai mult de 500 de raspunsuri + +*!* 26.01.2024 +*!* ExportEFactura.xmlEFactura: limitare la 300 caractere invoice.note + +*!* 30.01.2024 +*!* ExportEFactura.xmlEFactura: cumulare discount pe cote TVA + +*!* 06.03.2024 +*!* ParseEFactura: extragere TotalTVARON, articol (codCPV, codNC8, codBare, codFurnizor, codClient) + + +*!* 08.03.2024 +*!* ExportEFactura.xmlEFactura: se completeaza AllowanceCharge la nivel de Invoice.InvoiceLine si Invoice.InvoiceLine.Item.Price +*!* daca optiunile gnEFACTURA_XML_DISC_PLISTA_LINIE si gnEFACTURA_XML_DISC_PLISTA_ART = 1 + +*!* 08.03.2024 +*!* ExportEFactura.xmlEFactura: se completeaza Invoice.Id cu seria + nr factura, Invoice.Note cu cursul valutar + +*!* 29.03.2024 +*!* ExportEFactura.xmlEFactura: Se completeaza corect codul taxa pentru operatiile scutite + +*!* 10.04.2024 +*!* ExportEFactura.xmlEFactura - nu este permis pret negativ. se shimba semnul intre cantitate si pret + +*!* 02.07.2024 +*!* xmlEFactura - limitare detalii la 4000 caractere + +*!* 04.07.2024 +*!* xmlEFactura - salvare raspunsuri facturi primite/trimise intr-un director comun + +*!* 15.07.2024 +*!* xmlEFactura - 10 conturi bancare din datele firmei la modalitati de plata, in loc de 3 conturi bancare + +*!* 07.08.2024 +*!* xmlEFactura - Atasamente inglobate in xml +*!* xmlEFactura - completare registrul comertului in BT-46 (client si furnizor) +*!* xmlEFactura - completare capital social subscris si varsat in BT-33 + +*!* 08.08.2024 +*!* xmlEFactura - Furnizor.StreetName = strada si numar + +*!* 28.10.2024 +*!* xmlEFactura - GetTipTaxa - completare explicatia TVA la motivul scutirii TVA, cota 0% + +*!* 06.12.2024 +*!* getXmlEFactura - xml efactura clienti persoane fizice fara cod fiscal - se completeaza Customer.Party.PartyLegalEntity.CompanyId cu 13 zero + +*!* 13.03.2026 +*!* ValidareEFacturaANAF - folosire validare oauth daca exista token + +*!* 14.04.2026 +*!* getXmlEFactura - corecta adresa de livrare loClient.cod_judetL, in loc de loClient.cod_judet + + +* DO TestValidareEFactura +#define precizie_max_pret_vz 6 +#define precizie_max_pret_ach 6 + +Do TestParseEFactura + +Procedure getXmlEFactura + Lparameters toDateFactura, tcCursorLiniiFactura, tlSilentios, tcFisierXML, tcMesaj +* tcFisierXML OUT +* tcMesaj OUT pentru cazu in care generarea xml este silentioasa + + Local loEFactura As "ExportEFactura" + Local lcFisierXML, llOk, loInfo, llValidareOnline, lcToken + + llOk = .F. + lcMesaj = '' + lcFisierXML = '' + lcToken = '' + + loInfo = Createobject("empty") + AddProperty(loInfo, 'lOk', m.llOk) + AddProperty(loInfo, 'cFile', m.lcFisierXML) + AddProperty(loInfo, 'cMesaj', m.lcMesaj) + + IF TYPE('pcTokenEfactura') = 'C' AND !EMPTY(m.pcTokenEfactura) + lcToken = m.pcTokenEfactura + ENDIF + + loEFactura = Createobject("ExportEFactura", m.tlSilentios, m.lcToken) + lcFisierXML = loEFactura.xmlEFactura(toDateFactura, tcCursorLiniiFactura) + loInfo.cFile = Iif(Type('lcFisierXml') = 'C', m.lcFisierXML, '') + + * Daca nu validez eFactura + llFaraValidare = .F. + If Type('plFaraValidareEFactura') = 'L' + * Definesc plFaraValidareEFactura pentru a suprascrie parametrul la momentul listarii (in borderoul eFactura) + llFaraValidare = m.plFaraValidareEFactura + ENDIF + + + If !m.llFaraValidare AND !Empty(m.lcFisierXML) And File(m.lcFisierXML) + + * gnEFACTURA_VALIDARE_ONLINE optiune globala + llValidareOnline = Iif(Type('gnEFACTURA_VALIDARE_ONLINE') = 'N', (m.gnEFACTURA_VALIDARE_ONLINE = 1), .F.) + + * Definesc plValidareEfacturaOnline pentru a suprascrie parametrul la momentul listarii (in borderoul eFactura) + If Type('plValidareEfacturaOnline') = 'L' + llValidareOnline = m.plValidareEfacturaOnline + Endif + llOk = loEFactura.ValidareEFactura(m.lcFisierXML, @lcMesaj, m.llValidareOnline) + loInfo.lOk = m.llOk + loInfo.cMesaj = m.lcMesaj + ENDIF + + * Daca nu trebuie sa validez, intorc SUCCES + IF m.llFaraValidare + loInfo.lOk = .T. + ENDIF + + Return m.loInfo +Endproc && xmlEFactura + +Define Class ExportEFactura As Custom + lSilentios = .F. + cToken = '' && token eFactura, din anaf_efactura.prg + + Procedure Init + Lparameters tlSilentios, tcToken + This.lSilentios = m.tlSilentios + + IF TYPE('tcToken') = 'C' AND !EMPTY(m.tcToken) + This.cToken = m.tcToken + ENDIF + Endproc && Init +* + Procedure xmlEFactura + Lparameters toDateFactura, tcCursorLiniiFactura +* toDateFactura = obiect cu capul facturii +* tcCursorLiniiFactura = cursor cu liniile facturii, asa cum sunt la listare + + Local oxml As "msxml2.DOMDocument" + Local lcBanca, lcCaleFisier, lcCodBare, lcCont, lcFileName, lcNumeClient, lcNumeFirma, lcNumeFisier + Local lcText, lcTextAditional, lcTipTVA, llSucces, llTaxareInversaSauIntracomunitar, lnCont + Local lnSucces, loClient, lFurnizorPlatitorTVA, lClientPlatitorTVA, llExtern + Local lcExplicatie, lcLocalitateBuc, lcMotiv, lcTextDescriere, lcTextNota, lcTip, lnDiscftva + Local lnPretftva, lnPretftvai, lnProcDisc, lnProcTva, lnValDisc, lnValftva, lnValftvai, loRec + Local laFiles[1], lcDir, lcExtensie, lcFacturaFile, lcFile, lcMimeType, lcScheletonFile, lcSerieAct + Local ldDataFactura, lnFile, lnFiles, lnNumarFactura, lcText +*:Global oAdditionalDocumentReference, oAttachment + + *:Global oAllowance, oBaseAmount + +*:Global agettipcota[1], maccize, mcodfiscal, mcodjudet, mcomanda, mdensoc, mdiscounturi, mincasat +*:Global minf_suplm, minvoicetype, mlinii, mliniireducere, mliniistornare, mmoneda, mnrliniiavans +*:Global mprefix, msector, msufix, mtara, mtipfactura, mtiptert, mtiptvacurent, mtotalallowances +*:Global mtotalbrut, mtotalcharges, mtotalnet, mtotalnetliniifactura, mtotaltva, mtvai, mtvatotal +*:Global mum, oPayeeFinancialAccount, oPayeeFinancialAccountId, oPayeeFinancialAccountName +*:Global oPaymentMeans, oPaymentMeansCode, oadresa, oadresalivrare, oadresas, oallowancecharge +*:Global oamount, obuyeritem, oclassificationcodbare, oclassificationlot, oclassificationnc +*:Global oclassificationstandardidnc, ocodbare, ocontact, ocontacts, ocontractreference, ocustomer +*:Global odelivery, odeliverylocation, odocallowancecharge, oendpointid, oformalegala, oformalegalas +*:Global oidentificatorformalegala, oidentificatorformalegalas, oidparty, oidpartys, oidstandard +*:Global oinvoice, oinvoiceline, oitem, oitemamount, oitemprice, oitemtaxcategory, oitemtaxscheme +*:Global olot, omonetarytotal, oorderreference, oparty, opartyidentification, opartyidentifications +*:Global opartys, oschemataxe, oschemataxes, oselleritem, ostandarditem, osubtotal, osubtotaltaxa +*:Global osupplier, otara, otaralivrare, otaras, otaxablesubtotal, otaxcategoryallowance +*:Global otaxcategorycharge, otaxcategorytotals, otaxe, otaxes, otaxschemeallowance +*:Global otaxschemetotals, otaxtotal, ototal, ototalbrut, ototaldeduceri, ototalincasat, ototalnet +*:Global ototalnetfaratva, ototalplata, ototaltaxe, oum + + If !(Type('toDateFactura.nract') = 'N' And Type('tcCursorLiniiFactura') = 'C' And !Empty(m.tcCursorLiniiFactura) And Used(m.tcCursorLiniiFactura)) + AMESSAGEBOX('Apelati exportul xml EFactura cu parametrii (DateFactura, CursorFactura)!', 0 + 48, _Screen.Caption) + Return '' + Endif + + Local lcSelect, llRectificativa, tcNumeFisier, tcCaleFacturi, loDate, llInstitutiePublica + lcSelect = Select() + + loDate = toDateFactura +*!* lcTipTVA = Upper(Nvl(citeste_optiune('D394_TIP'), 'LUNAR')) +*!* lcTipTVA = Iif(!Inlist(m.lcTipTVA, 'LUNAR', 'TRIMESTRIAL', 'SEMESTRIAL', 'ANUAL'), 'LUNAR', m.lcTipTVA) + +* Factura rectificativa + llRectificativa = Iif(Type('loDate.nRectificativa') = 'N', (loDate.nRectificativa = 1), .F.) + llRectificativa = m.llRectificativa Or Iif(Type('loDate.tip_saft') = 'N', (loDate.tip_saft = 384), .F.) + +* Institutie publica - se folosesc coduri articole CPV sau NC8 + llInstitutiePublica = Iif(Type('loDate.institutie_publica') = 'N', (loDate.institutie_publica = 1), .F.) + + maccize = 0 + mliniireducere = 0 + mtotalcharges = 0 + mtotalallowances = 0 + mtvai = 0 + mincasat = 0 + + If Type('gofirma.codfiscalfro') = 'U' + AddProperty(gofirma, 'codfiscalfro', getnrfromstring(gofirma.cod_fiscal)) + Endif + lnSucces = update_jtva_coloane("JV", "cJTVAVanzariTemp", 0) + llSucces = update_um() && vnom_um + + Select a.*, b.coloana_jv, ; + Iif(Left(b.coloana_jv, 2) = 'CE', 1, 0) As intracomunitar, ; + Iif(b.coloana_jv = 'ROTI', 1, 0) As taxare_inversa, ; + Iif(Inlist(b.coloana_jv, 'WRSCDD', 'WRSCFDD', 'WRN', 'FODD', 'WRSCDDAB', 'WRSCDDCD'), 1, 0) As scutit, ; + Iif('DISCOUNT' $ Upper(a.denumire) And a.pretftva < 0, 1, 0) As discount ; + From (m.tcCursorLiniiFactura) a Left Join cJTVAVanzariTemp b On a.id_jtva_coloana = b.id_jtva_coloana ; + Into Cursor C_IES_FORM Readwrite + + + * Nu este permis pret unitar negativ. Schimb semnul intre cantitate si pret unitar + SELECT c_ies_form + SCAN FOR pretftva < 0 + REPLACE cantitate WITH -cantitate, pretftva WITH -pretftva, pretctva WITH -pretctva, pretctvai WITH -pretctvai, pretftvai WITH -pretftvai + ENDSCAN + + + Select(proc_tva - 1) * 100 As proc_tva, intracomunitar, taxare_inversa, scutit, expltva, ; + Sum(valtva) As tva, ; + Sum(valftva) As valoare, CAST('F' as C(5)) As tip, Replicate(' ', 100) As explicatie, Replicate(' ', 100) As motiv ; + From C_IES_FORM ; + Group By proc_tva, intracomunitar, taxare_inversa, scutit, expltva ; + Into Cursor C_TVA_FACTURA ; + Readwrite + + Select C_TVA_FACTURA + Sum tva To mtotaltva + Index On proc_tva Tag procent + + loClient = loDate.oClient + loClient.cod_tara = ALLTRIM(NVL(loClient.cod_tara,'')) + IF EMPTY(loClient.cod_tara) + loClient.cod_tara = 'RO' + ENDIF + + llExtern = (loClient.cod_tara <> 'RO') + lFurnizorPlatitorTVA = (LEFT(UPPER(ALLTRIM(goFirma.cod_fiscal)),2) = 'RO') + lClientPlatitorTVA = (LEFT(UPPER(ALLTRIM(loClient.cod_fiscal)),2) = 'RO') + + mcomanda = "" + mincasat = 0 + mmoneda = Iif(loDate.in_valuta = 0, 'RON', Iif(!Empty(Nvl(loDate.cValuta, '')), Upper(Alltrim(loDate.cValuta)), 'RON')) + mmoneda = Iif(mmoneda = 'EURO', 'EUR', mmoneda) + +*!* mcodfiscal = Alltrim(Nvl(loClient.cod_fiscal, '')) + mtipfactura = loDate.tip_doc_394 && 'F', 'S', 'M', 'U', 'H' +*!* mtara = Alltrim(Nvl(loClient.cod_tara, 'RO')) +*!* mtiptert = Iif(loClient.id_cetatenie = 1, '', Iif(loClient.id_cetatenie = 2, 'I', 'E')) && 1 = RO, 2 = UE, 3 = NON-UE +*!* mtiptvacurent = Iif(m.lcTipTVA = 'LUNAR', 1, Iif(m.lcTipTVA = 'TRIMESTRIAL', 2, 1)) && 1 = lunar, 2 = trimestrial, 3 = anulare TVA + mtvai = loDate.tva_incasare + minf_suplm = '' + If !Inlist(mtipfactura, 'F', 'S', 'M', 'U', 'H') + AMESSAGEBOX( "Pentru acest document nu se genereaza factura electronica momentan.", 64, "Atentie...") + Return '' + Endif +* discount-ul are valoare negativa, il inmultesc cu -1 + Select C_IES_FORM + Calculate Cnt(), Sum(-1 * valftva) For discount = 1 To mliniireducere, mdiscounturi + Calculate Cnt() For cantitate < 0 To mliniistornare + mlinii = Reccount('C_IES_FORM') + mnrliniiavans = 0 && 419 + mtotalallowances = 0 + mtotalallowances = mtotalallowances + mdiscounturi + Select C_IES_FORM + Locate For taxare_inversa = 1 Or intracomunitar = 1 + llTaxareInversaSauIntracomunitar = Found() + +* nomenclator 5305: S=Standard rate,Z=Zero rated goods,E=Exempt from tax,AE=VAT Reverse charge,K=VAT exempt for EEA intra-community supply of goods and services,G=Free export item, tax not charged,O=Service outside scope of tax,L=Canary Islands general indirect tax,M=Tax for production, services and importation in Ceuta and Melilla + Select C_TVA_FACTURA + SCAN + SCATTER NAME loRec + lcExplicatie = '' + lcMotiv = '' + lcTip = This.GetTipTaxa(mtipfactura, loRec.intracomunitar, loRec.taxare_inversa, loRec.scutit, loRec.proc_tva, @lcExplicatie, @lcMotiv, loRec.expltva) + REPLACE tip WITH m.lcTip, explicatie WITH m.lcExplicatie, motiv WITH m.lcMotiv + +*!* Do Case +*!* Case intracomunitar = 1 +*!* Replace tip With 'K', explicatie With 'Livrare intracomunitara', motiv With 'VATEX-EU-IC' +*!* Case taxare_inversa = 1 +*!* Replace tip With 'AE', explicatie With 'Taxare inversa', motiv With 'VATEX-EU-AE' +*!* Case scutit = 1 +*!* Replace tip With 'E', explicatie With 'Scutit cu drept de deducere' +*!* Case mtipfactura = 'F' And proc_tva = 0 +*!* Replace tip With 'Z' +*!* Case mtipfactura = 'H' +*!* Replace tip With 'E', explicatie With 'Bunuri second-hand', motiv With 'VATEX-EU-F' +*!* Case mtipfactura = 'U' +*!* Replace tip With 'E', explicatie With 'Regim special agentii de turism', motiv With 'VATEX-EU-D' +*!* Otherwise +*!* Replace tip With 'S' +*!* Endcase + Endscan + +* Nu am accize. Introduc o linie cu valoare 0 +* Nu mai introduc o linie cu cota TVA = 0, pentru ca daca am penalitati cu cota TVA = 0, se duplica liniile cu cota TVA = 0 +*Insert Into C_TVA_FACTURA (proc_tva, tva, valoare, tip, explicatie, motiv) Values (0, 0, maccize, 'Z', 'Acciza', '') + + oxml = Createobject("msxml2.DOMDocument") + oxml.appendchild(oxml.createnode("PROCESSINGINSTRUCTION", "xml", "")) + oinvoice = oxml.appendchild(oxml.createelement("Invoice")) + oinvoice.setattribute("xmlns:cbc", "urn:oasis:names:specification:ubl:schema:xsd:CommonBasicComponents-2") + oinvoice.setattribute("xmlns:udt", "urn:oasis:names:specification:ubl:schema:xsd:UnqualifiedDataTypes-2") + oinvoice.setattribute("xmlns:cac", "urn:oasis:names:specification:ubl:schema:xsd:CommonAggregateComponents-2") + oinvoice.setattribute("xmlns:ccts", "urn:un:unece:uncefact:documentation:2") + oinvoice.setattribute("xmlns", "urn:oasis:names:specification:ubl:schema:xsd:Invoice-2") + oinvoice.setattribute("xmlns:qdt", "urn:oasis:names:specification:ubl:schema:xsd:QualifiedDataTypes-2") + oinvoice.setattribute("xsi:schemaLocation", "urn:oasis:names:specification:ubl:schema:xsd:Invoice-2 http://docs.oasis-open.org/ubl/os-UBL-2.1/xsd/maindoc/UBL-Invoice-2.1.xsd") + oinvoice.setattribute("xmlns:xsi", "http://www.w3.org/2001/XMLSchema-instance") + oinvoice.appendchild(oxml.createelement("cbc:UBLVersionID")) + oinvoice.lastchild.Text = "2.1" + oinvoice.appendchild(oxml.createelement("cbc:CustomizationID")) + oinvoice.lastchild.Text = "urn:cen.eu:en16931:2017#compliant#urn:efactura.mfinante.ro:CIUS-RO:1.0.1" + oinvoice.appendchild(oxml.createelement("cbc:ID")) + lcSerieAct = UPPER(Alltrim(XmlSpecialCharacters(RemoveCharacters(loDate.serie_act, .T.)))) + oinvoice.lastchild.Text = m.lcSerieAct + IIF(!EMPTY(m.lcSerieAct), ' ', '') + Alltrim(Str(loDate.nract, 30, 0)) + oinvoice.appendchild(oxml.createelement("cbc:IssueDate")) + oinvoice.lastchild.Text = Alltrim(Str(Year(loDate.dataact))) + "-" + Padl(Alltrim(Str(Month(loDate.dataact))), 2, "0") + "-" + Padl(Alltrim(Str(Day(loDate.dataact))), 2, "0") + If !Empty(Nvl(loDate.datascad, {})) + oinvoice.appendchild(oxml.createelement("cbc:DueDate")) + oinvoice.lastchild.Text = Alltrim(Str(Year(loDate.datascad))) + "-" + Padl(Alltrim(Str(Month(loDate.datascad))), 2, "0") + "-" + Padl(Alltrim(Str(Day(loDate.datascad))), 2, "0") + Endif + minvoicetype = "" + + If Type('loDate.tip_saft') = 'N' And !Empty(Nvl(loDate.tip_saft, 0)) + minvoicetype = Alltrim(Str(loDate.tip_saft)) + Else + Do Case + Case m.llRectificativa + minvoicetype = "384" + Case Alltrim(getnrfromstring(loClient.cod_fiscal)) == Alltrim(gofirma.codfiscalfro) + minvoicetype = "389" + Case mliniistornare = mlinii + minvoicetype = "380" + Otherwise + minvoicetype = "380" + Endcase + Endif + oinvoice.appendchild(oxml.createelement("cbc:InvoiceTypeCode")) + oinvoice.lastchild.Text = minvoicetype + + lcTextAditional = Alltrim(Nvl(loDate.text_aditional, '')) + If mtvai = 1 + lcTextAditional = m.lcTextAditional + Iif(!Empty(m.lcTextAditional), ' # ', '') + "TVA la incasare" + Endif + If m.llTaxareInversaSauIntracomunitar + lcTextAditional = m.lcTextAditional + Iif(!Empty(m.lcTextAditional), ' # ', '') + "Taxare inversa" + ENDIF + + IF !EMPTY(NVL(loDate.curs,0)) AND ATC('curs', m.lcTextAditional) = 0 + lcTextAditional = m.lcTextAditional + Iif(!Empty(m.lcTextAditional), ' # ', '') + "Curs: " + ALLTRIM(STR(loDate.curs, 10,4)) + " RON/" + STRTRAN(ALLTRIM(Nvl(loDate.cValuta, '')),'EURO', 'EUR',1,1,1) + ENDIF + + If !Empty(m.lcTextAditional) + oinvoice.appendchild(oxml.createelement("cbc:Note")) + lcText = Alltrim(Left(XmlSpecialCharacters(RemoveCharacters(m.lcTextAditional, .T.)), 300)) + oinvoice.lastchild.Text = m.lcText + Endif + oinvoice.appendchild(oxml.createelement("cbc:DocumentCurrencyCode")) + If loDate.in_valuta = 1 + oinvoice.lastchild.Text = m.mmoneda + Else + oinvoice.lastchild.Text = "RON" + Endif + oinvoice.appendchild(oxml.createelement("cbc:TaxCurrencyCode")) + oinvoice.lastchild.Text = "RON" + If loDate.tip = 3 And !Empty(Nvl(loDate.descriere, '')) + oorderreference = oinvoice.appendchild(oxml.createelement("cac:OrderReference")) + oorderreference.appendchild(oxml.createelement("cbc:ID")) + oorderreference.lastchild.Text = Alltrim(Left(XmlSpecialCharacters(RemoveCharacters(loDate.descriere, .T.)), 100)) + + Endif + If !Empty(Nvl(loDate.contract, '')) + ocontractreference = oinvoice.appendchild(oxml.createelement("cac:ContractDocumentReference")) + ocontractreference.appendchild(oxml.createelement("cbc:ID")) + ocontractreference.lastchild.Text = Alltrim(Left(XmlSpecialCharacters(RemoveCharacters(loDate.contract, .T.)), 100)) + ENDIF + + * Atasamente inglobate in xml + IF TYPE('pnAtasamenteEfactura') = 'N' AND m.pnAtasamenteEfactura > 0 + * pnAtasamente = 0: nimic, 1 : factura, 2: toate inclusiv factura, 3: toate fara factura + ldDataFactura = loDate.dataact + lnNumarFactura = loDate.nract + lcFacturaFile = GetPDFFacturaFile(m.ldDataFactura, m.lnNumarFactura) && d:\roa\pdf\20200402_12346_factura.pdf + lcScheletonFile = Strtran(lcFacturaFile, 'factura', '*', 1, 10, 1) && d:\roa\pdf\20200402_12346_*.pdf (_recapitulatia.pdf, _situatie_stationare.pdf, _declaratie_comandant.pdf) + lcDir = Addbs(Justpath(m.lcFacturaFile)) + lnFiles = Adir(laFiles, m.lcScheletonFile) + For lnFile = 1 To m.lnFiles + lcFileName = laFiles[m.lnFile, 1] + lcFile = m.lcDir + laFiles[m.lnFile, 1] + IF !FILE(m.lcFile) + LOOP + ENDIF + IF (m.pnAtasamenteEfactura = 1 AND '_factura'$ LOWER(m.lcFileName)) OR m.pnAtasamenteEfactura = 2 OR (m.pnAtasamenteEfactura = 3 AND !'_factura'$ LOWER(m.lcFileName)) + oAdditionalDocumentReference = oinvoice.appendchild(oxml.createelement("cac:AdditionalDocumentReference")) + oAdditionalDocumentReference.appendchild(oxml.createelement("cbc:ID")) + oAdditionalDocumentReference.lastchild.Text = Alltrim(Left(XmlSpecialCharacters(RemoveCharacters(m.lcFileName, .T.)), 50)) + oAdditionalDocumentReference.appendchild(oxml.createelement("cbc:DocumentDescription")) + oAdditionalDocumentReference.lastchild.Text = Alltrim(Left(XmlSpecialCharacters(RemoveCharacters(m.lcFileName, .T.)), 50)) + oAttachment = oAdditionalDocumentReference.appendchild(oxml.createelement("cac:Attachment")) + oEmbeddedDocumentBinaryObject = oAttachment.appendchild(oxml.createelement("cbc:EmbeddedDocumentBinaryObject")) + lcExtensie = LOWER(JUSTEXT(m.lcFileName)) + lcMimeType = GetMimeType(m.lcExtensie) && wwutils.prg + oEmbeddedDocumentBinaryObject.setattribute("mimeCode", m.lcMimeType) + oEmbeddedDocumentBinaryObject.setattribute("filename", m.lcFileName) + oEmbeddedDocumentBinaryObject.Text = STRCONV(FILETOSTR(m.lcFile),13) + ENDIF + Endfor + ENDIF && Type(pnAtasamenteEfactura) + + + osupplier = oinvoice.appendchild(oxml.createelement("cac:AccountingSupplierParty")) + oparty = osupplier.appendchild(oxml.createelement("cac:Party")) + If Empty(Nvl(gofirma.email, '')) + AMESSAGEBOX( ; + "Completati adresa de email a societatii in datele firmei." + ; + Chr(13) + ; + "Aceasta este necesara pentru primirea raspunsului facturii electronice.", ; + 48, ; + "Date incomplete..." ; + ) + Return '' + Endif + + oendpointid = oparty.appendchild(oxml.createelement("cbc:EndpointID")) + oendpointid.setattribute("schemeID", ; + "EM") + oendpointid.Text = Alltrim(gofirma.email) + + lcPartyIdentification = ALLTRIM(NVL(goFirma.reg_comert, '')) + If !Empty(m.lcPartyIdentification) + opartyidentification = oparty.appendchild(oxml.createelement("cac:PartyIdentification")) + oidparty = opartyidentification.appendchild(oxml.createelement("cbc:ID")) && BT-29 + oidparty.Text = m.lcPartyIdentification + Endif + oadresa = oparty.appendchild(oxml.createelement("cac:PostalAddress")) + If Empty(Nvl(gofirma.strada, '')) + AMESSAGEBOX( "Completati strada in datele firmei.", 48, "Date incomplete..." ) + Return '' + Endif + + oadresa.appendchild(oxml.createelement("cbc:StreetName")) + oadresa.lastchild.Text = Alltrim(Nvl(gofirma.strada, '')) + ' ' + Alltrim(Nvl(gofirma.numar, '')) + + If Empty(Nvl(gofirma.localitate, '')) + AMESSAGEBOX( "Completati localitatea in datele firmei.", 48, "Date incomplete..." ) + Return '' + Endif + If Empty(Nvl(gofirma.judet, '')) + AMESSAGEBOX( "Alegeti judetul in datele firmei.", 48, "Date incomplete..." ) + Return '' + * Nu mai completez sectorul, doar localitatea "BUCURESTI SECTORUL 1" +*!* Else +*!* If gofirma.judet = "BUCURESTI" And Empty(Nvl(gofirma.sector, '')) +*!* AMESSAGEBOX( "Completati sectorul in datele firmei.", 48, "Date incomplete..." ) +*!* Return '' +*!* Endif + Endif + oadresa.appendchild(oxml.createelement("cbc:CityName")) + If gofirma.judet = "BUCURESTI" + oadresa.lastchild.Text = ALLTRIM(STRTRAN(Upper(gofirma.localitate), "BUCURESTI SECTORUL ", "SECTOR")) + Else + oadresa.lastchild.Text = Alltrim(Upper(gofirma.localitate)) + Endif + mcodjudet = gofirma.indicativ_judet + + oadresa.appendchild(oxml.createelement("cbc:CountrySubentity")) + + oadresa.lastchild.Text = "RO-" + Alltrim(mcodjudet) + otara = oadresa.appendchild(oxml.createelement("cac:Country")) + otara.appendchild(oxml.createelement("cbc:IdentificationCode")) + otara.lastchild.Text = "RO" + + otaxe = oparty.appendchild(oxml.createelement("cac:PartyTaxScheme")) + otaxe.appendchild(oxml.createelement("cbc:CompanyID")) && BT-31 + otaxe.lastchild.Text = IIF(m.lFurnizorPlatitorTVA, "RO", "") + Alltrim(gofirma.codfiscalfro) + oschemataxe = otaxe.appendchild(oxml.createelement("cac:TaxScheme")) + IF m.lFurnizorPlatitorTVA + oschemataxe.appendchild(oxml.createelement("cbc:ID")) + oschemataxe.lastchild.Text = "VAT" + ENDIF + + oformalegala = oparty.appendchild(oxml.createelement("cac:PartyLegalEntity")) + oformalegala.appendchild(oxml.createelement("cbc:RegistrationName")) + lcText = Alltrim(Left(XmlSpecialCharacters(RemoveCharacters(gofirma.firma, .T.)), 200)) + oformalegala.lastchild.Text = m.lcText + + oidentificatorformalegala = oformalegala.appendchild(oxml.createelement("cbc:CompanyID")) && BT-30 + * Furnizor platitor TVA : Reg Comert, Furnizor neplatitor TVA : CIF + IF !Empty(Nvl(gofirma.reg_comert, '')) + oidentificatorformalegala.Text = Alltrim(gofirma.reg_comert) + ELSE + oidentificatorformalegala.Text = Alltrim(gofirma.codfiscalfro) + Endif + mdensoc = Upper(Alltrim(gofirma.firma)) + " " + + lcText = IIF(!EMPTY(NVL(gofirma.forma_juridica,'')), Alltrim(NVL(gofirma.forma_juridica,'')), '') + lcText = m.lcText + IIF(!EMPTY(m.lcText), " # ", "") + IIF(!EMPTY(NVL(gofirma.capital_soc_sub, 0)), "Capital social subscris: " + Alltrim(STR(gofirma.capital_soc_sub)), '') + lcText = m.lcText + IIF(!EMPTY(m.lcText), " # ", "") + IIF(!EMPTY(NVL(gofirma.capital_soc_var, 0)), "Capital social varsat: " + Alltrim(STR(gofirma.capital_soc_var)), '') + If !Empty(Nvl(gofirma.forma_juridica, '')) + oformalegala.appendchild(oxml.createelement("cbc:CompanyLegalForm")) && BT-33 + oformalegala.lastchild.Text = m.lcText + + ENDIF + + If !Empty(Nvl(gofirma.nume, '')) Or !Empty(Nvl(gofirma.prenume, '')) Or !Empty(Nvl(gofirma.email, '')) Or !Empty(Nvl(gofirma.telefon, '')) + ocontact = oparty.appendchild(oxml.createelement("cac:Contact")) + If !Empty(Nvl(gofirma.nume, '')) Or !Empty(Nvl(gofirma.prenume, '')) + ocontact.appendchild(oxml.createelement("cbc:Name")) + ocontact.lastchild.Text = Alltrim(Nvl(gofirma.nume, '')) + " " + Alltrim(Nvl(gofirma.prenume, '')) + Endif + If !Empty(Nvl(gofirma.telefon, '')) + ocontact.appendchild(oxml.createelement("cbc:Telephone")) + ocontact.lastchild.Text = Alltrim(gofirma.telefon) + Endif + If !Empty(Nvl(gofirma.email, '')) + ocontact.appendchild(oxml.createelement("cbc:ElectronicMail")) + ocontact.lastchild.Text = Alltrim(gofirma.email) + Endif + Endif + + ocustomer = oinvoice.appendchild(oxml.createelement("cac:AccountingCustomerParty")) + opartys = ocustomer.appendchild(oxml.createelement("cac:Party")) + If !Empty(Nvl(loClient.email_facturare, '')) + oendpointid = opartys.appendchild(oxml.createelement("cbc:EndpointID")) + oendpointid.setattribute("schemeID", "EM") + oendpointid.Text = Alltrim(loClient.email_facturare) + ENDIF + + * Registrul Comertului + lcPartyIdentification = IIF(!EMPTY(NVL(loClient.reg_comert,'')), ALLTRIM(NVL(loClient.reg_comert,'')), '') + If !Empty(m.lcPartyIdentification) + opartyidentifications = opartys.appendchild(oxml.createelement("cac:PartyIdentification")) + oidpartys = opartyidentifications.appendchild(oxml.createelement("cbc:ID")) && BT-46 + oidpartys.Text = m.lcPartyIdentification + Endif + oadresas = opartys.appendchild(oxml.createelement("cac:PostalAddress")) + + If Empty(Nvl(loClient.adresa, '')) + AMESSAGEBOX("Completati adresa clientului.", 48, "Date incomplete..." ) + Return '' + Endif + oadresas.appendchild(oxml.createelement("cbc:StreetName")) && adresa linia 1 + oadresas.lastchild.Text = Alltrim(Left(XmlSpecialCharacters(RemoveCharacters(loClient.adresa, .T.)), 150)) + + If Empty(Nvl(loClient.localitate, '')) + AMESSAGEBOX("Completati localitatea in adresa clientului.", 48, "Date incomplete..." ) + Return '' + Endif + oadresas.appendchild(oxml.createelement("cbc:CityName")) + If !m.llExtern AND Empty(Nvl(loClient.judet, '')) + AMESSAGEBOX("Alegeti judetul clientului.", 48, "Date incomplete..." ) + Return '' + Endif + If loClient.judet = "BUCURESTI" + msector = "" + lcLocalitateBuc = Upper(loClient.localitate) + lcLocalitateBuc = Alltrim(Strtran(m.lcLocalitateBuc, 'BUCURESTI', '')) + lcLocalitateBuc = Alltrim(Strtran(m.lcLocalitateBuc, 'SECTORUL ', 'SECTOR', 1, 1, 1)) && TREBUIE SA FIE "SECTOR1" in loc de "SECTORUL 1" + + If !"SECTOR" $ m.lcLocalitateBuc + AMESSAGEBOX("Alegeti un sector valid pentru Bucuresti in adresa clientului.", 48, "Atentie...") + Return '' + Endif + oadresas.lastchild.Text = m.lcLocalitateBuc + Else + oadresas.lastchild.Text = Alltrim(loClient.localitate) + ENDIF + IF !m.llExtern + oadresas.appendchild(oxml.createelement("cbc:CountrySubentity")) + oadresas.lastchild.Text = IIF(!m.llExtern, "RO-" + Alltrim(loClient.indicativ_judet), '') + ENDIF + otaras = oadresas.appendchild(oxml.createelement("cac:Country")) + otaras.appendchild(oxml.createelement("cbc:IdentificationCode")) + otaras.lastchild.Text = Iif(!Empty(Nvl(loClient.cod_tara, '')), Alltrim(loClient.cod_tara), "RO") + + If Alltrim(loClient.cod_tara) = 'RO' And !Empty(Nvl(loClient.cod_fiscal, '')) AND 'RO'$UPPER(loClient.cod_fiscal) And verifcf(loClient.cod_fiscal) + * clienti RO, platitori TVA, cu cod fiscal cu RO + otaxes = opartys.appendchild(oxml.createelement("cac:PartyTaxScheme")) + otaxes.appendchild(oxml.createelement("cbc:CompanyID")) + otaxes.lastchild.Text = "RO" + Alltrim(getnrfromstring(Nvl(loClient.cod_fiscal, ''))) && BT-48 + oschemataxes = otaxes.appendchild(oxml.createelement("cac:TaxScheme")) + oschemataxes.appendchild(oxml.createelement("cbc:ID")) + oschemataxes.lastchild.Text = "VAT" + ELSE + * clienti non-RO, cu cod fiscal + otaxes = opartys.appendchild(oxml.createelement("cac:PartyTaxScheme")) + IF !Empty(Nvl(loClient.cod_tara, '')) AND Alltrim(loClient.cod_tara) <> 'RO' AND !Empty(Nvl(loClient.cod_fiscal, '')) + otaxes.appendchild(oxml.createelement("cbc:CompanyID")) + otaxes.lastchild.Text = loClient.cod_tara + Alltrim(getnrfromstring(Nvl(loClient.cod_fiscal, ''))) + ENDIF + oschemataxes = otaxes.appendchild(oxml.createelement("cac:TaxScheme")) + oschemataxes.appendchild(oxml.createelement("cbc:ID")) + oschemataxes.lastchild.Text = "VAT" + Endif + oformalegalas = opartys.appendchild(oxml.createelement("cac:PartyLegalEntity")) + oformalegalas.appendchild(oxml.createelement("cbc:RegistrationName")) + oformalegalas.lastchild.Text = Alltrim(Nvl(loClient.denumireclient, '')) + + If !Empty(Nvl(loClient.cod_fiscal, '')) + oidentificatorformalegalas = oformalegalas.appendchild(oxml.createelement("cbc:CompanyID")) && BT-47 + IF Alltrim(loClient.cod_tara) = 'RO' + IF 'RO'$UPPER(NVL(loClient.cod_fiscal,'')) + * clienti RO, platitori TVA, pot sa pun Reg. Comert sau codul fiscal + oidentificatorformalegalas.Text = ALLTRIM(NVL(loClient.reg_comert,'')) + ELSE + * clienti RO, neplatitori TVA, se pune codul fiscal + oidentificatorformalegalas.Text = Alltrim(getnrfromstring(Nvl(loClient.cod_fiscal, ''))) + ENDIF + ELSE + oidentificatorformalegalas.setattribute("schemeID", "0028") && International Standard ISO 6523 https://docs.peppol.eu/poacc/billing/3.0/codelist/ICD/ + oidentificatorformalegalas.text = loClient.cod_tara + Alltrim(getnrfromstring(Nvl(loClient.cod_fiscal, ''))) + ENDIF + ELSE + IF EMPTY(NVL(loClient.cod_fiscal,'')) AND NVL(loClient.tip_persoana,0) = 2 + * clienti RO, persoane fizice, fara cod fiscal. se pune 0 de 13 ori + oidentificatorformalegalas = oformalegalas.appendchild(oxml.createelement("cbc:CompanyID")) + oidentificatorformalegalas.Text = REPLICATE('0',13) + ELSE + IF m.llExtern && Alltrim(loClient.cod_tara) = 'RO' + IF EMPTY(NVL(loClient.reg_comert, '')) + AMESSAGEBOX("Completati identificatorul clientului (Reg. Comert)!", 48, "Date incomplete..." ) + Return '' + ENDIF + oidentificatorformalegalas = oformalegalas.appendchild(oxml.createelement("cbc:CompanyID")) + oidentificatorformalegalas.text = ALLTRIM(NVL(loClient.reg_comert,'')) + ENDIF + ENDIF + Endif + mdensoc = Alltrim(Nvl(loClient.denumireclient, '')) + " " + mprefix = "" + msufix = "" + Do Case + Case mdensoc = "S.C. " Or mdensoc = "SC " + mprefix = "Societate comerciala" + Case mdensoc = "P.F. " Or mdensoc = "PF " + mprefix = "Persoana fizica" + Case mdensoc = "P.F.A. " Or mdensoc = "PFA " + mprefix = "Persoana fizica autorizata" + Case mdensoc = "A.F. " Or mdensoc = "AF " + mprefix = "Asociatie familiala" + Endcase + Do Case + Case " S.R.L." $ mdensoc ; + .Or. " SRL " $ mdensoc + msufix = "Societate cu raspundere limitata" + Case " S.A." $ mdensoc .Or. ; + " SA " $ mdensoc + msufix = "Societate pe actiuni" + Endcase + If !Empty(mprefix) + oformalegalas.appendchild(oxml.createelement("cbc:CompanyLegalForm")) + oformalegalas.lastchild.Text = mprefix + Endif + If !Empty(Nvl(loClient.telefon, '')) Or !Empty(Nvl(loClient.email_facturare, '')) + ocontacts = opartys.appendchild(oxml.createelement("cac:Contact")) +*!* If !EMPTY(C_IES_FORM.delegat) +*!* ocontacts.appendchild(oxml.createelement("cbc:Name")) +*!* ocontacts.lastchild.Text = ALLTRIM(C_IES_FORM.delegat) +*!* Endif + If !Empty(Nvl(loClient.telefon, '')) + ocontacts.appendchild(oxml.createelement("cbc:Telephone")) + ocontacts.lastchild.Text = Alltrim(loClient.telefon) + Endif + If !Empty(Nvl(loClient.email_facturare, '')) + ocontacts.appendchild(oxml.createelement("cbc:ElectronicMail")) + ocontacts.lastchild.Text = Alltrim(loClient.email_facturare) + Endif + Endif + + * la adresa de livrare, daca exista in xml, trebuie completata neaparat strada, nu numai judetul si localitatea + If !Empty(Nvl(loClient.adresa_livrare, '')) + odelivery = oinvoice.appendchild(oxml.createelement("cac:Delivery")) + odeliverylocation = odelivery.appendchild(oxml.createelement("cac:DeliveryLocation")) + oadresalivrare = odeliverylocation.appendchild(oxml.createelement("cac:Address")) + IF EMPTY(Nvl(loClient.stradal, '')) + AMESSAGEBOX( "Completati strada in adresa de livrare a clientului!", 48, "Atentie...") + Return '' + ENDIF + oadresalivrare.appendchild(oxml.createelement("cbc:StreetName")) + oadresalivrare.lastchild.Text = Alltrim(Nvl(loClient.stradal, '')) + + oadresalivrare.appendchild(oxml.createelement("cbc:CityName")) + If Empty(Nvl(loClient.localitatel, '')) + AMESSAGEBOX( "Alegeti localitatea din adresa de livrare.", 48, "Atentie...") + Return '' + Endif + If Empty(Nvl(loClient.indicativ_judetl, '')) + AMESSAGEBOX( "Alegeti judetul din adresa de livrare.", 48, "Atentie...") + Return '' + Endif + If loClient.judetl = "BUCURESTI" + msector = "" + lcLocalitateBuc = Upper(loClient.localitatel) + lcLocalitateBuc = Alltrim(Strtran(m.lcLocalitateBuc, 'BUCURESTI', '')) + lcLocalitateBuc = Alltrim(Strtran(m.lcLocalitateBuc, 'SECTORUL ', 'SECTOR', 1, 1, 1)) && TREBUIE SA FIE "SECTOR1" in loc de "SECTORUL 1" + + If !"SECTOR" $ m.lcLocalitateBuc + AMESSAGEBOX( "Alegeti un sector valid pentru Bucuresti, in adresa de livrare.", 48, "Atentie...") + Return '' + Endif + + oadresalivrare.lastchild.Text = m.lcLocalitateBuc + Else + oadresalivrare.lastchild.Text = Alltrim(loClient.localitatel) + Endif + oadresalivrare.appendchild(oxml.createelement("cbc:CountrySubentity")) + oadresalivrare.lastchild.Text = "RO-" + Alltrim(loClient.indicativ_judetl) + otaralivrare = oadresalivrare.appendchild(oxml.createelement("cac:Country")) + otaralivrare.appendchild(oxml.createelement("cbc:IdentificationCode")) + otaralivrare.lastchild.Text = "RO" + Endif && adresa_livrare + + +* Conturi IBAN instructiune plata + For lnCont = 1 To 10 + lcCont = Alltrim(Nvl(Evaluate('goFirma.cont_banca' + Alltrim(Str(m.lnCont))), '')) + lcBanca = Alltrim(Nvl(Evaluate('goFirma.banca' + Alltrim(Str(m.lnCont))), '')) + + If !Empty(Nvl(m.lcCont, '')) + oPaymentMeans = oinvoice.appendchild(oxml.createelement("cac:PaymentMeans")) + oPaymentMeansCode = oPaymentMeans.appendchild(oxml.createelement("cbc:PaymentMeansCode")) + oPaymentMeansCode.Text = '42' && virament bancar + oPayeeFinancialAccount = oPaymentMeans.appendchild(oxml.createelement("cac:PayeeFinancialAccount")) + oPayeeFinancialAccountId = oPayeeFinancialAccount.appendchild(oxml.createelement("cbc:ID")) + oPayeeFinancialAccountId.Text = m.lcCont && cont IBAN + oPayeeFinancialAccountName = oPayeeFinancialAccount.appendchild(oxml.createelement("cbc:Name")) + oPayeeFinancialAccountName.Text = m.lcBanca && nume cont + Endif + Endfor + + Select C_IES_FORM + If mliniireducere > 0 + SELECT SUM(-1*valftva) as valftva, proc_tva ; + FROM C_IES_FORM ; + WHERE discount = 1 ; + GROUP BY proc_tva ; + ORDER BY proc_tva ; + INTO CURSOR cDiscounturiTemp + + Select cDiscounturiTemp + SCAN + lnValftva = cDiscounturiTemp.valftva + lnProcTva = cDiscounturiTemp.proc_tva + + oallowancecharge = oinvoice.appendchild(oxml.createelement("cac:AllowanceCharge")) + oallowancecharge.appendchild(oxml.createelement("cbc:ChargeIndicator")) + oallowancecharge.lastchild.Text = "false" + oallowancecharge.appendchild(oxml.createelement("cbc:AllowanceChargeReasonCode")) + oallowancecharge.lastchild.Text = "95" + oallowancecharge.appendchild(oxml.createelement("cbc:AllowanceChargeReason")) + oallowancecharge.lastchild.Text = "Discount" + odocallowancecharge = oallowancecharge.appendchild(oxml.createelement("cbc:Amount")) && BT-92 + odocallowancecharge.setattribute("currencyID", "RON") + odocallowancecharge.Text = Alltrim(Str(m.lnValftva, 15, 2)) + otaxcategoryallowance = oallowancecharge.appendchild(oxml.createelement("cac:TaxCategory")) + otaxcategoryallowance.appendchild(oxml.createelement("cbc:ID")) + Select tip From ; + C_TVA_FACTURA ; + Where proc_tva = (m.lnProcTva - 1) * 100 ; + Into Array agettipcota + otaxcategoryallowance.lastchild.Text = Alltrim(agettipcota(1)) + otaxcategoryallowance.appendchild(oxml.createelement("cbc:Percent")) + otaxcategoryallowance.lastchild.Text = Alltrim(Str((m.lnProcTva - 1) * 100, 2, 0)) + otaxschemeallowance = otaxcategoryallowance.appendchild(oxml.createelement("cac:TaxScheme")) + otaxschemeallowance.appendchild(oxml.createelement("cbc:ID")) + otaxschemeallowance.lastchild.Text = "VAT" + ENDSCAN + + USE IN (SELECT('cDiscounturiTemp')) + Endif + If maccize <> 0 + oallowancecharge = oinvoice.appendchild(oxml.createelement("cac:AllowanceCharge")) + oallowancecharge.appendchild(oxml.createelement("cbc:ChargeIndicator")) + oallowancecharge.lastchild.Text = "true" + oallowancecharge.appendchild(oxml.createelement("cbc:AllowanceChargeReason")) + oallowancecharge.lastchild.Text = "Acciza" + odocallowancecharge = oallowancecharge.appendchild(oxml.createelement("cbc:Amount")) + odocallowancecharge.setattribute("currencyID", "RON") + odocallowancecharge.Text = Alltrim(Str(maccize, 15, 2)) + otaxcategorycharge = oallowancecharge.appendchild(oxml.createelement("cac:TaxCategory")) + otaxcategorycharge.appendchild(oxml.createelement("cbc:ID")) + otaxcategorycharge.lastchild.Text = "Z" + otaxcategorycharge.appendchild(oxml.createelement("cbc:Percent")) + otaxcategorycharge.lastchild.Text = "0" + otaxschemeallowance = otaxcategorycharge.appendchild(oxml.createelement("cac:TaxScheme")) + otaxschemeallowance.appendchild(oxml.createelement("cbc:ID")) + otaxschemeallowance.lastchild.Text = "VAT" + ENDIF + + If Reccount("C_TVA_FACTURA") > 0 + otaxtotal = oinvoice.appendchild(oxml.createelement("cac:TaxTotal")) + Calculate Sum(tva) To mtvatotal In C_TVA_FACTURA + + ototal = otaxtotal.appendchild(oxml.createelement("cbc:TaxAmount")) + ototal.setattribute("currencyID", mmoneda) + ototal.Text = Alltrim(Str(mtvatotal, 15, 2)) + Select C_TVA_FACTURA + Set Order To procent + Scan + otaxablesubtotal = otaxtotal.appendchild(oxml.createelement("cac:TaxSubtotal")) + osubtotal = otaxablesubtotal.appendchild(oxml.createelement("cbc:TaxableAmount")) + osubtotal.setattribute("currencyID", mmoneda) + osubtotal.Text = Alltrim(Str(C_TVA_FACTURA.valoare, 15, 2)) + osubtotaltaxa = otaxablesubtotal.appendchild(oxml.createelement("cbc:TaxAmount")) + osubtotaltaxa.setattribute("currencyID", mmoneda) + osubtotaltaxa.Text = Alltrim(Str(C_TVA_FACTURA.tva, 15, 2)) + otaxcategorytotals = otaxablesubtotal.appendchild(oxml.createelement("cac:TaxCategory")) + otaxcategorytotals.appendchild(oxml.createelement("cbc:ID")) + otaxcategorytotals.lastchild.Text = Alltrim(C_TVA_FACTURA.tip) + otaxcategorytotals.appendchild(oxml.createelement("cbc:Percent")) + otaxcategorytotals.lastchild.Text = Alltrim(Str(C_TVA_FACTURA.proc_tva, 2, 0)) +* eroare regula: BR_Z_10: O detaliere a TVA (BG-23) cu codul categoriei de TVA (BT-118) Cota zero trebuie sa nu aiba un cod al motivului de exceptare de la TVA (BT-121) sau un text cu motivul exceptarii de la TVA (BT-120). + + If !Empty(C_TVA_FACTURA.motiv) AND (INLIST(Alltrim(C_TVA_FACTURA.tip), 'K', 'AE') OR C_TVA_FACTURA.proc_tva <> 0) + * BT 121 CODUL MOTIVULUI SCUTIRII PENTRU LIVRARI INTRACOMUNITARE K (vatex-eu-k) SAU TAXARE INVERSA AE (vatex-eu-ae) + otaxcategorytotals.appendchild(oxml.createelement("cbc:TaxExemptionReasonCode")) + otaxcategorytotals.lastchild.Text = Alltrim(C_TVA_FACTURA.motiv) + Endif + If !Empty(C_TVA_FACTURA.explicatie) && And C_TVA_FACTURA.proc_tva <> 0 && se pare ca la ultima versiune de verificare, cota 0 trebuie sa aiba cod de scutire sau text scutire + otaxcategorytotals.appendchild(oxml.createelement("cbc:TaxExemptionReason")) + otaxcategorytotals.lastchild.Text = Alltrim(C_TVA_FACTURA.explicatie) + Endif + otaxschemetotals = otaxcategorytotals.appendchild(oxml.createelement("cac:TaxScheme")) + otaxschemetotals.appendchild(oxml.createelement("cbc:ID")) + otaxschemetotals.lastchild.Text = "VAT" + Endscan + + Select C_IES_FORM + Locate + If mmoneda <> "RON" + otaxtotal = oinvoice.appendchild(oxml.createelement("cac:TaxTotal")) + ototal = otaxtotal.appendchild(oxml.createelement("cbc:TaxAmount")) + ototal.setattribute("currencyID", "RON") + ototal.Text = Alltrim(Str(Round(mtvatotal * loDate.Curs, 2), 15, 2)) + Endif + Endif && Reccount("C_TVA_FACTURA") > 0 + + Select C_IES_FORM + Sum valftva To mtotalnet For discount = 0 + + Locate + mtotalnetliniifactura = mtotalnet + + mtotalnet = mtotalnet + mtotalcharges - mtotalallowances + mtotalbrut = mtotalnet + mtotaltva + omonetarytotal = oinvoice.appendchild(oxml.createelement("cac:LegalMonetaryTotal")) + ototalnet = omonetarytotal.appendchild(oxml.createelement("cbc:LineExtensionAmount")) && BT-106 + ototalnet.setattribute("currencyID", mmoneda) + ototalnet.Text = Alltrim(Str(mtotalnetliniifactura, 15, 2)) + ototalnetfaratva = omonetarytotal.appendchild(oxml.createelement("cbc:TaxExclusiveAmount")) && BT-109 + ototalnetfaratva.setattribute("currencyID", mmoneda) + ototalnetfaratva.Text = Alltrim(Str(mtotalnet, 15, 2)) + ototalbrut = omonetarytotal.appendchild(oxml.createelement("cbc:TaxInclusiveAmount")) && BT-112 + ototalbrut.setattribute("currencyID", mmoneda) + ototalbrut.Text = Alltrim(Str(mtotalbrut, 15, 2)) + If mtotalallowances <> 0 + ototaldeduceri = omonetarytotal.appendchild(oxml.createelement("cbc:AllowanceTotalAmount")) && BT-107 + ototaldeduceri.setattribute("currencyID", mmoneda) + ototaldeduceri.Text = Alltrim(Str(mtotalallowances, 15, 2)) + Endif + If mtotalcharges <> 0 + ototaltaxe = omonetarytotal.appendchild(oxml.createelement("cbc:ChargeTotalAmount")) && BT-108 + ototaltaxe.setattribute("currencyID", mmoneda) + ototaltaxe.Text = Alltrim(Str(mtotalcharges, 15, 2)) + Endif + If mincasat <> 0 + ototalincasat = omonetarytotal.appendchild(oxml.createelement("cbc:PrepaidAmount")) + ototalincasat.setattribute("currencyID", mmoneda) + ototalincasat.Text = Alltrim(Str(mincasat, 15, 2)) + Endif + ototalplata = omonetarytotal.appendchild(oxml.createelement("cbc:PayableAmount")) + ototalplata.setattribute("currencyID", mmoneda) + ototalplata.Text = Alltrim(Str(mtotalbrut - mincasat, 15, 2)) + + Select C_IES_FORM + Scan For discount = 0 + SCATTER NAME loRec + + * Discount + lnValftva = valftva + lnValftvai = valftvai + lnValDisc = valftvai-valftva + lnPretftva = pretftva + lnPretftvai = pretftvai + lnDiscftva = pretftvai-pretftva + lnProcDisc = proc_disc + + oinvoiceline = oinvoice.appendchild(oxml.createelement("cac:InvoiceLine")) + oinvoiceline.appendchild(oxml.createelement("cbc:ID")) + oinvoiceline.lastchild.Text = Alltrim(Str(Recno(), 4, 0)) + + lcText = '' + lcTextDescriere = '' + lcTextNota = '' + IF !EMPTY(ALLTRIM(NVL(C_IES_FORM.explicatie,''))) + lcText = XmlSpecialCharacters(RemoveCharacters(Alltrim(C_IES_FORM.explicatie), .T.)) + lcTextDescriere = SUBSTR(m.lcText, 1, 200) && item.description, maxim 200 caractere + lcTextNota = ALLTRIM(SUBSTR(m.lcText, 201, 300)) && line.note, maxim 300 caractere + ENDIF + + If !EMPTY(m.lcTextNota) + oinvoiceline.appendchild(oxml.createelement("cbc:Note")) + oinvoiceline.lastchild.Text = m.lcTextNota + ENDIF + + mum = Iif(Empty(Nvl(cod_um_iso, "")), "H87", Alltrim(cod_um_iso)) + oum = oinvoiceline.appendchild(oxml.createelement("cbc:InvoicedQuantity")) + oum.setattribute("unitCode", mum) + oum.Text = Alltrim(Str(C_IES_FORM.cantitate, 15, 3)) + oamount = oinvoiceline.appendchild(oxml.createelement("cbc:LineExtensionAmount")) && BT-131 + oamount.setattribute("currencyID", mmoneda) + oamount.Text = Alltrim(Str(C_IES_FORM.valftva, 15, 2)) +*!* If _Tally > 0 +*!* oorderlinereference = oinvoiceline.appendchild(oxml.createelement("cac:OrderLineReference")) +*!* oorderlinereference.appendchild(oxml.createelement("cbc:LineID")) +*!* oorderlinereference.lastchild.Text = ALLTRIM(agetcomenzilinie(1, 2)) + "/" + ALLTRIM(Dtoc(agetcomenzilinie(1, 3))) +*!* Endif + + * Daca am discount (valftvai valoare de lista <> valftva valoare factura) +*!* +*!* false +*!* 95 +*!* 35.00 +*!* 17.33 +*!* 49.52 +*!* + IF TYPE('gnEFACTURA_XML_DISC_PLISTA_LINIE') = 'N' AND m.gnEFACTURA_XML_DISC_PLISTA_LINIE = 1 AND m.lnPretftvai > m.lnPretftva + oAllowance = oinvoiceline.appendchild(oxml.createelement("cac:AllowanceCharge")) + + oAllowance.appendchild(oxml.createelement("cbc:ChargeIndicator")) + oAllowance.lastchild.Text = 'false' + + oAllowance.appendchild(oxml.createelement("cbc:AllowanceChargeReasonCode")) + oAllowance.lastchild.Text = '95' + + oAllowance.appendchild(oxml.createelement("cbc:MultiplierFactorNumeric")) + oAllowance.lastchild.Text = ALLTRIM(STR(m.lnProcDisc,5,2)) + + oAmount = oAllowance.appendchild(oxml.createelement("cbc:Amount")) + oAmount.setattribute("currencyID", mmoneda) + oAmount.Text = Alltrim(Str(m.lnValDisc, 15, 2)) + + oBaseAmount = oAllowance.appendchild(oxml.createelement("cbc:BaseAmount")) + oBaseAmount.setattribute("currencyID", mmoneda) + oBaseAmount.Text = Alltrim(Str(m.lnValftvai, 15, 2)) + ENDIF + + oitem = oinvoiceline.appendchild(oxml.createelement("cac:Item")) + If !Empty(m.lcTextDescriere) + oitem.appendchild(oxml.createelement("cbc:Description")) + oitem.lastchild.Text = m.lcTextDescriere + Endif + If !Empty(C_IES_FORM.denumire) + oitem.appendchild(oxml.createelement("cbc:Name")) + lcText = LEFT(XmlSpecialCharacters(RemoveCharacters(Alltrim(C_IES_FORM.denumire), .T.)),100) && maxim 100 caractere + oitem.lastchild.Text = m.lcText + Endif + If !Empty(Nvl(C_IES_FORM.codmatc, '')) + obuyeritem = oitem.appendchild(oxml.createelement("cac:BuyersItemIdentification")) + obuyeritem.appendchild(oxml.createelement("cbc:ID")) + obuyeritem.lastchild.Text = Alltrim(C_IES_FORM.codmatc) + Endif + If !Empty(Nvl(C_IES_FORM.codmat, '')) + oselleritem = oitem.appendchild(oxml.createelement("cac:SellersItemIdentification")) + oselleritem.appendchild(oxml.createelement("cbc:ID")) + oselleritem.lastchild.Text = Alltrim(C_IES_FORM.codmat) + Endif + + lcCodBare = GetCodBareByIdArticol(C_IES_FORM.id_articol) + If !Empty(m.lcCodBare) + ostandarditem = oitem.appendchild(oxml.createelement("cac:StandardItemIdentification")) + oidstandard = ostandarditem.appendchild(oxml.createelement("cbc:ID")) + oidstandard.setattribute("schemeID", "0160") + oidstandard.Text = Alltrim(m.lcCodBare) + + oclassificationcodbare = oitem.appendchild(oxml.createelement("cac:CommodityClassification")) + ocodbare = oclassificationcodbare.appendchild(oxml.createelement("cbc:ItemClassificationCode")) + ocodbare.setattribute("listID", "EN") + ocodbare.Text = Left(Alltrim(m.lcCodBare), 13) + Endif + + If !Empty(Nvl(C_IES_FORM.serie, '')) + oclassificationlot = oitem.appendchild(oxml.createelement("cac:CommodityClassification")) + olot = oclassificationlot.appendchild(oxml.createelement("cbc:ItemClassificationCode")) + olot.setattribute("listID", "BB") + olot.Text = Alltrim(Left(XmlSpecialCharacters(RemoveCharacters(C_IES_FORM.serie, .T.)), 50)) + Endif + + If !Empty(Nvl(C_IES_FORM.codcpv, '')) + oclassificationnc = oitem.appendchild(oxml.createelement("cac:CommodityClassification")) + oclassificationstandardidnc = oclassificationnc.appendchild(oxml.createelement("cbc:ItemClassificationCode")) + oclassificationstandardidnc.setattribute("listID", "STI") + oclassificationstandardidnc.Text = Alltrim(C_IES_FORM.codcpv) + Endif + + If !Empty(Nvl(C_IES_FORM.codnc8, '')) + oclassificationnc = oitem.appendchild(oxml.createelement("cac:CommodityClassification")) + oclassificationstandardidnc = oclassificationnc.appendchild(oxml.createelement("cbc:ItemClassificationCode")) + oclassificationstandardidnc.setattribute("listID", "TSP") + oclassificationstandardidnc.Text = Alltrim(C_IES_FORM.codnc8) + Endif + + oitemtaxcategory = oitem.appendchild(oxml.createelement("cac:ClassifiedTaxCategory")) +*!* Select tip From C_TVA_FACTURA ; +*!* Where proc_tva = (C_IES_FORM.proc_tva - 1) * 100 ; +*!* Into Array agettipcota +*!* lcTip = Alltrim(agettipcota(1)) + + lcTip = This.GetTipTaxa(mtipfactura, loRec.intracomunitar, loRec.taxare_inversa, loRec.scutit, (loRec.proc_tva -1)*100) + + oitemtaxcategory.appendchild(oxml.createelement("cbc:ID")) + oitemtaxcategory.lastchild.Text = m.lcTip + oitemtaxcategory.appendchild(oxml.createelement("cbc:Percent")) + oitemtaxcategory.lastchild.Text = Alltrim(Str((C_IES_FORM.proc_tva - 1) * 100, 2, 0)) + oitemtaxscheme = oitemtaxcategory.appendchild(oxml.createelement("cac:TaxScheme")) + oitemtaxscheme.appendchild(oxml.createelement("cbc:ID")) + oitemtaxscheme.lastchild.Text = "VAT" + oitemprice = oinvoiceline.appendchild(oxml.createelement("cac:Price")) + oitemamount = oitemprice.appendchild(oxml.createelement("cbc:PriceAmount")) + oitemamount.setattribute("currencyID", mmoneda) + oitemamount.Text = Alltrim(Str(C_IES_FORM.pretftva, 15, precizie_max_pret_vz)) + + * Discount unitar pret +*!* +*!* false +*!* 8.67 +*!* 24.76 +*!* + IF TYPE('gnEFACTURA_XML_DISC_PLISTA_ART') = 'N' AND m.gnEFACTURA_XML_DISC_PLISTA_ART = 1 AND m.lnPretftvai > m.lnPretftva + oAllowance = oitemprice.appendchild(oxml.createelement("cac:AllowanceCharge")) + + oAllowance.appendchild(oxml.createelement("cbc:ChargeIndicator")) + oAllowance.lastchild.Text = 'false' + + oAmount = oAllowance.appendchild(oxml.createelement("cbc:Amount")) + oAmount.setattribute("currencyID", mmoneda) + oAmount.Text = Alltrim(Str(ABS(m.lnDiscftva), 15, 4)) + + oBaseAmount = oAllowance.appendchild(oxml.createelement("cbc:BaseAmount")) + oBaseAmount.setattribute("currencyID", mmoneda) + oBaseAmount.Text = Alltrim(Str(ABS(m.lnPretftvai), 15, 4)) + ENDIF + + Endscan + + + Wait Window 'Salvare fisier XML...' Nowait + + lcCaleFisier = GetPdfPath("Efactura") + + lcNumeClient = WindowsSpecialCharacters(Nvl(loClient.denumireclient, ''), "_") + lcNumeClient = Strtran(Alltrim(m.lcNumeClient), [ ], [_], 1, 100, 1) + lcNumeClient = ALLTRIM(LEFT(WindowsSpecialCharacters(m.lcNumeClient, "_"), 70)) + + lcNumeFisier = 'efactura_' + Dtos(loDate.dataact) + '_' + Alltrim(Str(loDate.nract)) + '_' + m.lcNumeClient + + lcFileName = m.lcCaleFisier + lcNumeFisier + '.xml' + + If File(m.lcFileName) + Delete File (m.lcFileName) + Endif + +* scriu fisierul xml + oxml.Save(m.lcFileName) + If File(m.lcFileName) + Return m.lcFileName + Else + AMESSAGEBOX('Nu s-a putut salva fisierul ' + m.lcFileName, 0 + 48, _Screen.Caption) + Return '' + Endif + + Endproc && XMLEFactura + + + * GetTipTaxa: intoarce Tip Taxa + * tcExplicatie, tcMotiv pentru tip E scutit: optional OUT + * lcTip = This.GetTipTaxa('F', 1, 0, 0, 0, @lcExplicatie, @lcMotiv, lcExplicatieTVA) + PROCEDURE GetTipTaxa + LPARAMETERS tcTipFactura, tnIntracomunitar, tnTaxareInversa, tnScutit, tnProcTva, tcExplicatie, tcMotiv, tcExplicatieTVA + * tcExplicatieTVA (optional): pentru completarea tcExplicatie pentru Scutit, ca sa nu mai fie la toate "scutit cu drept de deducere" + + lcTip = '' + tcExplicatie = '' + tcMotiv = '' + lcTipFactura = UPPER(ALLTRIM(NVL(m.tcTipFactura, ''))) + llIntracomunitar = (tnIntracomunitar = 1) + llTaxareInversa = (tnTaxareInversa = 1) + llScutit = (tnScutit = 1) + lnProcTva = m.tnProcTva + + Do Case + Case m.llIntracomunitar + lcTip = 'K' + tcExplicatie = 'Livrare intracomunitara' + tcMotiv = 'VATEX-EU-IC' + Case m.llTaxareInversa + lcTip = 'AE' + tcExplicatie = 'Taxare inversa' + tcMotiv = 'VATEX-EU-AE' + Case m.llScutit + lcTip = 'E' + tcExplicatie = IIF(!EMPTY(m.tcExplicatieTVA) and TYPE('tcExplicatieTVA') = 'C', m.tcExplicatieTVA, 'Scutit cu drept de deducere') + Case m.lcTipFactura = 'F' And m.lnProcTva = 0 + lcTip = 'Z' + Case m.lcTipFactura = 'H' + lcTip = 'E' + tcExplicatie = 'Bunuri second-hand' + tcMotiv = 'VATEX-EU-F' + Case m.lcTipFactura = 'U' + lcTip = 'E' + tcExplicatie = 'Regim special agentii de turism' + tcMotiv = 'VATEX-EU-D' + Otherwise + lcTip = 'S' + Endcase + + RETURN m.lcTip + ENDPROC && GetTipTaxa +********* +******************************* +* Validare eFactura online ANAF sau offline DukIntegrator +* OUT PARAMETER: mesaj eroare +* RETURN: .T. VALID, .F. INVALID +******************************* + Procedure ValidareEFactura + Lparameters tcFileName, tcMesaj, tlValidareEFacturaOnline + + Local llValid + + llValid = .F. + +* tlOnline: (implicit .F.) .T. daca se valideaza xml eFactura Online + If Pcount() < 3 Or !m.tlValidareEFacturaOnline + llValid = This.ValidareEFacturaDUK(tcFileName, @tcMesaj) + Else + llValid = This.ValidareEFacturaANAF(tcFileName, @tcMesaj) + Endif + Return m.llValid + Endproc + + Procedure ValidareEFacturaDUK + Lparameters tcFileName, tcMesaj +* tcMesaj: OUT mesaj daca validarea este silentioasa + + Local lcFileName, lcFisierRaspuns, lnTimes + Local lcComunPath, lcConfigDir, lcParams, lcValidator, llOk, lcMesaj + lcMesaj = '' + lcFileName = m.tcFileName + llOk = .F. + llSilentios = This.lSilentios + + Wait Window 'Validare fisier ' + m.lcFileName Nowait + lcFisierRaspuns = Forceext(m.lcFileName, 'txt') + If File(m.lcFisierRaspuns) + Delete File (m.lcFisierRaspuns) + Endif + +* validez xml + lcComunPath = m.gcBasePath + Iif(gcAppName = "CONCONT", "COMUNCONTAFIN\", "COMUNROA\") + lcValidator = m.lcComunPath + [dist_efactura\DUKIntegrator.jar] && ROA\COMUNROA\DIST_EFACTURA\DUKIntegrator.jar + If !File(m.lcValidator) + open_default_app('https://mfinante.gov.ro/web/efactura/informatii-tehnice') + AMESSAGEBOX('Nu exista fisierul: "' + m.lcValidator + '"!' + Chr(13) + Chr(10) + ; + 'Pentru validare xml Efactura, instalati validatorul Efactura in directorul: "' + Justpath(m.lcValidator) + '"', 0 + 48, _Screen.Caption) + Else + lcConfigDir = m.lcComunPath + [dist_efactura\config] + lcParams = ' -c "' + m.lcConfigDir + '" -v FACT1 "' + m.lcFileName + '" "' + m.lcFisierRaspuns + '"' + + open_default_app(m.lcValidator, m.lcParams) + + lnTimes = 0 + Do While lnTimes <= 10 And !File(m.lcFisierRaspuns) + lnTimes = lnTimes + 1 + Wait Window Timeout 1 "" + Enddo + If File(m.lcFisierRaspuns) + If Lower(Filetostr(m.lcFisierRaspuns)) = "ok" + lcMesaj = "Factura este valida. O puteti încarca prin SPV, la sectiunea 'Factura electronica', cu optiunea de sintaxa XML - UBL" + Chr(13) + Chr(10) + m.lcFileName + If !m.llSilentios + AMESSAGEBOX(m.lcMesaj, 0 + 48, _Screen.Caption) + Endif + Delete File(m.lcFisierRaspuns) + llOk = .T. + Else + lcMesaj = 'Validare cu erori fisier: ' + m.lcFileName + + If !m.llSilentios + AMESSAGEBOX(m.lcMesaj, 0 + 48, _Screen.Caption) + open_default_app(m.lcFisierRaspuns) + Endif + lcMesaj = m.lcMesaj + + Chr(13) + Chr(10) + ; + 'Fisier raspuns: ' + m.lcFisierRaspuns + Chr(13) + Chr(10) + Chr(13) + Chr(10) ; + + Filetostr(m.lcFisierRaspuns) + Chr(13) + Chr(10) + Chr(13) + Chr(10) + Endif + Else + lcMesaj = 'Nu s-a creat fisierul raspuns ' + m.lcFisierRaspuns + ' dupa validare!' + If !m.llSilentios + AMESSAGEBOX(m.lcMesaj, 0 + 48, _Screen.Caption) + Endif + Endif + Endif + +*** deschid explorer in directorul de export + If !m.llSilentios + open_default_app(Justpath(m.lcFileName)) + Endif + + tcMesaj = m.lcMesaj + Return m.llOk + Endproc && ValidareEFacturaDUK + + Procedure ValidareEFacturaANAF + Lparameters tcFileName, tcMesaj +* tcMesaj: OUT mesaj daca validarea este silentioasa +* lReturn: .T. valid, .F. invalid + Local loReturn, llValid + Local loHTTP As 'winHTTP.winHTTPrequest.5.1' + Local lcFileName, lcFisierRaspuns, lcMesaj, lcSend, lcServer, lcStare, llOk, llSilentios, llSucces + Local lnMesaj, lnMesaje, loJson, loMessage, loEx as Exception, lcToken + + llValid = .F. + lcMesaj = '' + lcFileName = m.tcFileName + llOk = .F. + llSilentios = This.lSilentios + lcMesaj = '' + lcToken = This.cToken + + loReturn = Createobject("empty") + AddProperty(loReturn, "lSucces", .F.) + AddProperty(loReturn, "cFile", '') + AddProperty(loReturn, "cResponse", '') + AddProperty(loReturn, "nStatus", 0) + + Wait Window 'Validare fisier ' + m.lcFileName Nowait + lcFisierRaspuns = Forceext(m.lcFileName, 'txt') + If File(m.lcFisierRaspuns) + Delete File (m.lcFisierRaspuns) + Endif + +* validez xml + + If !Empty(m.lcFileName) And Type('lcFileName') = 'C' And File(m.lcFileName) + TRY + lcSend = Filetostr(m.lcFileName) + + IF !EMPTY(m.lcToken) + * validare oauth + lcServer = [https://api.anaf.ro/prod/FCTEL/rest/validare/FACT1] + ELSE + * validare fara autentificare + lcServer = [https://webservicesp.anaf.ro/prod/FCTEL/rest/validare/FACT1] + ENDIF + + loHTTP = Createobject('winHTTP.winHTTPrequest.5.1') + loHTTP.Open('POST', lcServer, .F.) + loHTTP.setRequestHeader("Content-Type", "text/plain") + IF !EMPTY(m.lcToken) && validare oauth + loHTTP.setRequestHeader('Authorization', 'Bearer ' + m.lcToken) + ENDIF + Try + poLog.Log(m.lcServer) + Catch + Endtry + loHTTP.Send(m.lcSend) + + loReturn.nStatus = loHTTP.Status + loReturn.cResponse = loHTTP.ResponseText + loReturn.lSucces = (loHTTP.Status = 200) + CATCH TO loEx + loReturn.cResponse = m.lcMesaj + Chr(13) + Chr(10) + '' + loReturn.lSucces = .F. + ENDTRY + + Else + loReturn.cResponse = m.lcMesaj + Chr(13) + Chr(10) + '' + loReturn.lSucces = .F. + Endif + + If loReturn.lSucces + loJson = nfjsonread(loReturn.cResponse) + If Type('loJson.stare') = 'C' And !Empty(loJson.stare) + lcStare = Alltrim(Lower(loJson.stare)) + llValid = (m.lcStare == 'ok') + If !m.llValid + If Type('loJson.messages_vfpsafe_') = 'U' + llSucces = .F. + lcMesaj = 'Nu exista informatia [messages] in raspuns.' + Chr(13) + Chr(10) + loReturn.cResponse + Else + lnMesaje = Alen(loJson.messages_vfpsafe_) + lcMesaj = '' + For lnMesaj = 1 To m.lnMesaje + loMessage = loJson.messages_vfpsafe_[m.lnMesaj] + If Type('loMessage.message') = 'C' + lcMesaj = lcMesaj + loMessage.Message + Chr(13) + Chr(10) + Endif + Endfor + Endif && messages + + If !m.llSilentios And !Empty(m.lcMesaj) + AMESSAGEBOX(m.lcMesaj, 0 + 48, _Screen.Caption) + Endif + + Else + lcMesaj = "Factura este valida. O puteti încarca prin SPV, la sectiunea 'Factura electronica', cu optiunea de sintaxa XML - UBL" + Chr(13) + Chr(10) + m.lcFileName + If !m.llSilentios + AMESSAGEBOX(m.lcMesaj, 0 + 48, _Screen.Caption) + Endif + Endif && llValid + Endif && loJson.stare + Endif && loReturn.lSucces + +*** deschid explorer in directorul de export + If !m.llSilentios + open_default_app(Justpath(m.lcFileName)) + Endif + + tcMesaj = m.lcMesaj + Return m.llValid + Endproc && ValidareEFacturaANAF + +Enddefine && ExportEFactura + + + + + +PROCEDURE TestValidareEFactura + + Local loExport As 'ExportEFactura' + Local lcFile, llValid, lcMesaj, llOnline + lcMesaj = '' + llOnline = .T. + lcFile = 'f:\efactura_rompetrol.xml' + loExport = CREATEOBJECT('ExportEFactura') + SET STEP ON + llValid = loExport.ValidareEFactura(m.lcFile, @lcMesaj, m.llOnline) + +ENDPROC && TestValidareEFactura \ No newline at end of file diff --git a/programe/xmlparser.prg b/programe/xmlparser.prg new file mode 100644 index 0000000..3abc8ee --- /dev/null +++ b/programe/xmlparser.prg @@ -0,0 +1,50 @@ +Define Class xmlparserclass As Custom + cXmlCursor = [crsXmlCrs] + ParseError="" + + Function Load + Lparameters lcFile + LOCAL loex as Exception + loex=null + If Used(This.cXmlCursor) + Use In (This.cXmlCursor) + Endif + Try + Xmltocursor(lcFile,This.cXmlCursor,512) + Catch To loex + Messagebox("Structura fisierului Xml nu este corecta!",0+16, 'Eroare') + ENDTRY + RETURN loex + Endfunc + + Procedure getCursorItems + Lparameters tcNumeCursor + If Used(tcNumeCursor) + Use In (tcNumeCursor) + Endif + Select Item From (This.cXmlCursor) Into Cursor (tcNumeCursor) Readwrite + Endproc + + Function SelectNodes + Lparameters lcItem + Local lcVersiune,lcCursorVechi + lcCursorVechi = Alias() + Select (This.cXmlCursor) + Locate For Upper(Alltrim(Item)) = Upper(Alltrim(lcItem)) + If Found() + lcUsermsg = Iif(Empty(Alltrim(usermsg)),[S-a gasit ] + Upper(Alltrim(lcItem)) +[ versiunea ] + Alltrim(Version) + [.] + ; + [Programul va incepe procedurile de actualizare!],Alltrim(usermsg)) + lcVersiune = "<" + Alltrim(Version) + ">(" + Alltrim(fileURL) + "){" + lcUsermsg + "}" + Else + lcVersiune = [<>(){}] + Endif + Select (lcCursorVechi) + Return lcVersiune + Endfunc + + Procedure Destroy + If Used(This.cXmlCursor) + Use In (This.cXmlCursor) + Endif + Endproc +Enddefine diff --git a/rapoarte_coduri.txt b/rapoarte_coduri.txt new file mode 100644 index 0000000..989accd --- /dev/null +++ b/rapoarte_coduri.txt @@ -0,0 +1,171 @@ +PROGRAM:COD:RAPORT:CALE +ROACONT:RC-0001:sit_oper_multi_gr_rpt1:Terti > Clienti > Rapoarte > Situatia operativa +ROACONT:RC-0002:sit_oper_multi_negr_rpt1:Terti > Clienti > Rapoarte > Situatia operativa +ROACONT:RC-0003:rap_facturi:Terti > Clienti > Rapoarte > Situatii facturi > Facturi vanzari > Toate facturile (pe clienti) > Cu sold in perioada/Emise in perioada +ROACONT:RC-0004:rap_facturi_vechime:Terti > Clienti > Rapoarte > Situatii facturi > Facturi vanzari > Toate facturile (pe clienti) > Cu sold in perioada/Emise in perioada +ROACONT:RC-0005:rap_facturi_neachit:Terti > Clienti > Rapoarte > Situatii facturi > Facturi vanzari > Facturi neincasate (pe clienti) > Solduri pe facturi/analitic +ROACONT:RC-0005:rap_facturi_neachit:Terti > Clienti > Rapoarte > Situatii facturi > Facturi vanzari > Facturi neincasate (in ordinea emiterii) +ROACONT:RC-0005:rap_facturi_neachit:Terti > Clienti > Rapoarte > Situatii facturi > Facturi scadente +ROACONT:RC-0006:rap_facturi_emise:Terti > Clienti > Rapoarte > Situatii facturi > Facturi vanzari > Situatia facturilor emise pe zile +ROACONT:RC-0007:ireg_parteneri_rpt4:Terti > Clienti > Rapoarte > Situatii facturi > Facturi vanzari > Facturi pe contracte +ROACONT:RC-0008:rap_facturi_furncli:Terti > Clienti > Rapoarte > Situatii facturi > Facturi furnizor-client +ROACONT:RC-0009:rap_incasari_facturi:Terti > Clienti > Rapoarte > Situatii facturi > Facturi incasate in luna curenta > Grupate dupa luna emiterii/data incasarii +ROACONT:RC-0010:rap_vechime_clienti:Terti > Clienti > Rapoarte > Situatie clienti pe vechimi +ROACONT:RC-0011:rap_vechime_furnizori:Terti > Furnizori > Rapoarte > Situatie furnizori pe vechimi +ROACONT:RC-0012:balanta_parteneri_rpt3:Terti > Alti > Rapoarte > Balanta analitica +ROACONT:RC-0013:balanta_parteneri_rpt1: +ROACONT:RC-0014:balanta_parteneri_rpt2: +ROACONT:RC-0015:balanta_parteneri_rpt2_ext: +ROACONT:RC-0016:balanta_parteneri_rpt4: +ROACONT:RC-0017:rap_scadentar: Terti > Clienti (Furnizori) > Rapoarte > Raport scadentar +ROACONT:RC-0018:jurnal_plati_incasari: Trezorerie > Alte > Rapoarte > Jurnal incasari pe parteneri +ROACONT:RC-0019:fisegrup3:* > Situatii Contabile > Fisa de cont / Fisa de cont in valuta +ROACONT:RC-0020:registru_banca_rpt1:Trezorerie > Banca > Registru de banca > Listare registru +ROACONT:RC-0021:registru_casabanca_valuta_rpt1:Trezorerie > Banca > Registru de banca in valuta > Listare registru +ROACONT:RC-0022:registru_casa_rpt1:Trezorerie > Banca > Registru de casa > Listare registru +ROACONT:RC-0023:registru_casabanca_rpt2:Trezorerie > Banca > Registru de banca/casa > Listare selectie +ROACONT:RC-0024:registru_casa_rpt3:Trezorerie > Banca > Registru de casa > Listare registru - case cumulate +ROACONT:RC-0025:rap_inventar_patrimoniu:* > Inventarul patrimoniului +ROACONT:RC-0026:rap_inventar_patrimoniu_valuta:* > Inventarul patrimoniului +ROACONT:RC-0027:ireg_parteneri_rpt1: +ROACONT:RC-0028:ireg_parteneri_rpt2:Terti > Furnizori/Clienti/Alti > Rapoarte > Inregistrari Furnizori/Clienti/Alti cu sold final in luna +ROACONT:RC-0029:ireg_parteneri_rpt2lei:Terti > Furnizori/Clienti/Alti > Rapoarte > Inregistrari Furnizori/Clienti/Alti cu sold final in luna +ROACONT:RC-0030:ireg_parteneri_rpt3: +ROACONT:RC-0031:ireg_parteneri_rpt5: +ROACONT:RC-0032:ireg_parteneri_rpt6: +ROACONT:RC-0033:rapbal_a3_5_14_6_30_a +ROACONT:RC-0034:rapbal_a3_6_14_6_30_b: +ROACONT:RC-0035:rapbal_a4_4_14_6_30: +ROACONT:RC-0036:rapbal_a4_4_14_6_30_a: +ROACONT:RC-0037:rapbal_a4_4_14_6_30_a1: +ROACONT:RC-0038:ireg_parteneri_penalitati_evaluare: +ROACONT:RC-0039:ireg_parteneri_rpt2lei_cum: +ROACONT:RC-0040:notificare: +ROACONT:RC-0041:rap_regjurnal_val +ROACONT:RC-0042:rap_pondere_clienti_furnizori +ROACONT:RC-0043:registrul_inventar +ROACONT:RC-0044:rap_regjurnal +ROACONT:RC-0045:rap_reg_incaspl +ROACONT:RC-0046:balanta_parteneri_rpt5: balanta parteneri rulaje anuale + +ROAFACTURARE:RF-0001:borderou_incasari: +ROAFACTURARE:RF-0002:raport_articole: +ROAFACTURARE:RF-0003:raport_avize: +ROAFACTURARE:RF-0004:raport_avize_transfer: +ROAFACTURARE:RF-0005:raport_centralizator: +ROAFACTURARE:RF-0006:raport_facturat: +ROAFACTURARE:RF-0007:raport_incasat: +ROAFACTURARE:RF-0008:rap_artdoc: +ROAFACTURARE:RF-0009:rap_artrute: +ROAFACTURARE:RF-0010:rap_avizedoc: +ROAFACTURARE:RF-0011:rap_avizerute: +ROAFACTURARE:RF-0012:rap_rute: +ROAFACTURARE:RF-0013:rap_transferart:Rapoarte > Lista facturi si avize > Listare centralizatoare > Centralizar transferuri articole pe gestiuni +ROAFACTURARE:RF-0014:lista_aviz_lucrare: +ROAFACTURARE:RF-0015:rap_centr_val_subgrupe: +ROAFACTURARE:RF-0016:raport_articole_transfer: +ROAFACTURARE:RF-0017:raport_comision_incasari_agenti:Rapoarte > Incasari + +ROACOMENZI:RCM-0001:centralizatori_comenzi: +ROACOMENZI:RCM-0002:centralizator_lucrari: +ROACOMENZI:RCM-0003:detalii_comanda: +ROACOMENZI:RCM-0004:detalii_lucrare: +ROACOMENZI:RCM-0005:dispozitie_livrare: +ROACOMENZI:RCM-0006:rap_marfa_nelivrata: +ROACOMENZI:RCM-0007:rap_comanda_vanz: comenzi pe baza vanzarilor +ROACOMENZI:RCM-0008:rap_comanda_vanz_fz: comenzi furnizori pe baza vanzarilor +ROACOMENZI:RCM-0009:rap_comanda_vanz_fz_val: comenzi furnizori pe baza vanzarilor cu valori + +ROAPRETURI:RPP-0001:rap_liste: +ROAPRETURI:RPP-0002:rap_liste_subgrupe: + + +ROAGEST:RG-0001:rap_nir_transfer_achi: +ROAGEST:RG-0002:rap_nir_transfer_achi2: +ROAGEST:RG-0003:rap_nir_transfer_vanz: +ROAGEST:RG-0004:rap_nir_marfuri: +ROAGEST:RG-0005:rap_nir_materiale: +ROAGEST:RG-0006:rap_nir_standard: +ROAGEST:RG-0007:rap_nir_toate: +ROAGEST:RG-0008:rap_stocachi_grup: +ROAGEST:RG-0009:rap_stocvanz_grup: +ROAGEST:RG-0010:rap_stocvanzachi_grup: +ROAGEST:RG-0011:rap_stocvanzachi_simplu_grup: +ROAGEST:RG-0012:centralizator_nir: +ROAGEST:RG-0013:centralizator_bon: +ROAGEST:RG-0014:rap_gest_val_subgrupe: +ROAGEST:RG-0015:rap_gestiune: +ROAGEST:RG-0016:rap_nota_invmagazin: +ROAGEST:RG-0017:rap_nota_inv2005_mag: +ROAGEST:RG-0018:rap_recap_inv2005_mag: +ROAGEST:RG-0019:fisa_explicativa: +ROAGEST:RG-0020:fisa_magazie_fifo_val: +ROAGEST:RG-0021:fisa_magazie_fifo: +ROAGEST:RG-0022:rap_gestiune_toate: +ROAGEST:RG-0023:rap_vechime_stocuri: +ROAGEST:RG-0024:rap_sch_pret.frx: +ROAGEST:RG-0025:rap_centralizator_intrari.frx: +ROAGEST:RG-0025:rap_centralizator_intrari2.frx: +ROAGEST:RG-0026:rap_centralizator_iesiri.frx: +ROAGEST:RG-0026:rap_centralizator_iesiri2.frx: +ROAGEST:RG-0027:centralizator_schimbpret.frx: +ROAGEST:RG-0028:rap_bon_achi: +ROAGEST:RG-0029:rap_bon_achi_inv: +ROAGEST:RG-0030:rap_articolecodbare: +ROAGEST:RG-0031:rap_recap_inv2005_mag_necompletat:inventar magazin +ROAGEST:RG-0032:rap_recap_inv2005_mag_necompletat_redus:inventar magazin +ROAGEST:RG-0033:rap_nota_inv2005:inventar materiale/marfa +ROAGEST:RG-0034:rap_bonuri +ROAGEST:RG-0035:rap_bon_achi +ROAGEST:RG-0036:rap_bon_achi_vanz +ROAGEST:RG-0037:rap_bon_lucrare +ROAGEST:RG-0038:rap_bon_vanz + +ROAVIN:RV-0001:proces_verbal.frx: +ROAVIN:RV-0002:proces_verbal_ferma.frx: +ROAVIN:RV-0003:proces_verbal_tr.frx: +ROAVIN:RV-0004:rap_rulaje_vin.frx: +ROAVIN:RV-0005:rap_vin_nota_inv.frx: +ROAVIN:RV-0006:rap_vin_nota_inv_necompletat.frx: +ROAVIN:RV-0007:stoc_crama.frx: +ROAVIN:RV-0008:stoc_ferma.frx: +ROAVIN:RV-0009:transfer.frx: +ROAVIN:RV-0010:transfer_crama.frx: +ROAVIN:RV-0011:transfer_pret.frx: +ROAVIN:RV-0012:vin_centralizator_intrari.frx: +ROAVIN:RV-0013:vin_fabricatie_must.frx: +ROAVIN:RV-0014:vin_intrare_articol.frx: +ROAVIN:RV-0015:vin_intrare_gestiune.frx: +ROAVIN:RV-0016:vin_intrari_art_soi.frx: + +ROAPRODUCTIE:RPD-0001:ana_chelt_dir.frx: +ROAPRODUCTIE:RPD-0002:ana_cost1.frx: +ROAPRODUCTIE:RPD-0003:ana_cost_cu_retetar.frx: +ROAPRODUCTIE:RPD-0004:ana_mat_prime.frx: +ROAPRODUCTIE:RPD-0005:ana_mat_prime_2.frx: +ROAPRODUCTIE:RPD-0006:ana_produse.frx: +ROAPRODUCTIE:RPD-0007:rap_livrari_1_15.frx: +ROAPRODUCTIE:RPD-0008:rap_livrari_16_31.frx: + +ROAAUTO:RA-0001:preco.frx: +ROAAUTO:RA-0002:precog.frx: +ROAAUTO:RA-0003:centralizator_devize.frx: + +ROADEVIZE:RDEV-0001:dev_comanda.frx: +ROADEVIZE:RDEV-0002:dev_comandaverif.frx: +ROADEVIZE:RDEV-0003:dev_produse.frx: +ROADEVIZE:RDEV-0004:rap_devizest.frx: +ROADEVIZE:RDEV-0005:rap_rapproductie.frx: +ROADEVIZE:RDEV-0006:dev_detalii_manopera.frx: +ROADEVIZE:RDEV-0007:salarii.frx: +ROADEVIZE:RDEV-0008:centralizator_devize.frx: +ROADEVIZE:RDEV-0009:operal.frx: +ROADEVIZE:RDEV-0010:opersalcom.frx: +ROADEVIZE:RDEV-0011:rap_manopera_sectii.frx: + +FACTURA: factura A4 pe mai multe pagini +FACTURATIP: factura A4 pe mai multe pagini (acelasi raport ca FACTURA) +FACTURA_A5: factura A5 pe mai multe pagini +FACTURATIP_A5: factura A5 pe o singura pagina, aranjata cat mai condensat +FACTURA_CHIT: factura A4 pe mai multe pagini + chitanta in footer +FACTURATIP_CUCHIT: factura A4 pe mai multe pagini + chitanta in footer (acelasi raport ca FACTURA_CHIT) \ No newline at end of file diff --git a/roa.h b/roa.h new file mode 100644 index 0000000..4431999 --- /dev/null +++ b/roa.h @@ -0,0 +1,25 @@ +#DEFINE CRLF CHR(13)+CHR(10) + +#DEFINE CT_SUCCES 1 +#DEFINE CT_INSUCCES -1 + +*** CAUTA_ALFA +#DEFINE CA_PORNIRE_INCEPE 1 +#DEFINE CA_PORNIRE_ESTE 2 +#DEFINE CA_PORNIRE_NUESTE 3 +#DEFINE CA_PORNIRE_CONTINE 4 +#DEFINE CA_PORNIRE_NUCONTINE 5 +#DEFINE CA_PORNIRE_TOATE 6 + +*** INVENTAR +#DEFINE RG_INV_TIP_STOC 1 +#DEFINE RG_INV_TIP_OBINVFOL 2 +#DEFINE RG_INV_TIP_ROAVIN 3 +#DEFINE RG_INV_TIP_BONCONSUM 4 +#DEFINE RG_INV_TIP_MAGAZIN 5 + +#DEFINE RG_INV_OPT_STOC 1 +#DEFINE RG_INV_OPT_FARAARTICOLE 2 +#DEFINE RG_INV_OPT_ARTICOLELUNI 3 + + diff --git a/scripts/git-menu.bat b/scripts/git-menu.bat new file mode 100644 index 0000000..38f2756 --- /dev/null +++ b/scripts/git-menu.bat @@ -0,0 +1,188 @@ +@echo off +setlocal enabledelayedexpansion + +rem Script generic de git add/commit/push cu meniu interactiv. +rem Functioneaza neschimbat in orice produs unde e copiat COMUN +rem (ROACONT, ROAGEST, ROACASA, ...), pentru ca detecteaza dinamic +rem folderul COMUN si folderul proiectului (parintele lui COMUN) +rem din locatia proprie (COMUN\scripts\git-menu.bat). + +set "SCRIPT_DIR=%~dp0" +for %%I in ("%SCRIPT_DIR%..") do set "COMUN_DIR=%%~fI" +for %%I in ("%COMUN_DIR%\..") do set "PROIECT_DIR=%%~fI" + +rem culori ANSI (suportate nativ de consola Windows 10/11) +for /F "delims=" %%E in ('echo prompt $E^|cmd') do set "ESC=%%E" +set "C_RESET=%ESC%[0m" +set "C_TITLE=%ESC%[1;96m" +set "C_SECTION=%ESC%[96m" +set "C_WARN=%ESC%[1;93m" +set "C_ERR=%ESC%[1;91m" +set "C_OK=%ESC%[1;92m" +set "C_PROMPT=%ESC%[93m" + +:MENIU +cls +echo %C_SECTION%============================================%C_RESET% +echo %C_TITLE% Git helper - add / commit / push%C_RESET% +echo %C_SECTION%============================================%C_RESET% +echo 1. COMUN ( %COMUN_DIR% ) +echo 2. Proiect ( %PROIECT_DIR% ) +echo 3. Iesire +echo %C_SECTION%============================================%C_RESET% +set "ALEGERE=" +set /p ALEGERE="Alege optiune (1-3): " + +if "%ALEGERE%"=="1" ( + set "TARGET=%COMUN_DIR%" + goto VERIFICA +) +if "%ALEGERE%"=="2" ( + set "TARGET=%PROIECT_DIR%" + goto VERIFICA +) +if "%ALEGERE%"=="3" goto SFARSIT + +echo Optiune invalida. +pause +goto MENIU + +:VERIFICA +pushd "%TARGET%" +git rev-parse --is-inside-work-tree >nul 2>&1 +if errorlevel 1 ( + echo. + echo %C_ERR%[EROARE] "%TARGET%" nu este un repository git.%C_RESET% + echo. + popd + pause + goto MENIU +) + +rem verifica daca branch-ul local e in urma fata de upstream +set "BEHIND=0" +for /f %%N in ('git rev-list --count HEAD..@{u} 2^>nul') do set "BEHIND=%%N" +if not "%BEHIND%"=="0" ( + echo. + echo %C_WARN%[ATENTIE] Branch-ul local e in urma cu %BEHIND% commit-uri fata de upstream.%C_RESET% +) +if not "%BEHIND%"=="0" ( + set "CONFIRM_PULL=" +) +if not "%BEHIND%"=="0" set /p CONFIRM_PULL="Faci 'git pull' acum? (D/N): " +if not "%BEHIND%"=="0" if /I "%CONFIRM_PULL%"=="D" ( + echo. + git pull + if errorlevel 1 ( + echo %C_ERR%[EROARE] git pull a esuat - rezolva manual inainte sa continui.%C_RESET% + popd + pause + goto MENIU + ) + echo. + echo %C_OK%git pull finalizat.%C_RESET% + pause +) + +goto STATUS + +:STATUS +cls +echo %C_SECTION%============================================%C_RESET% +echo %C_TITLE% Repository: %TARGET%%C_RESET% +echo %C_SECTION%============================================%C_RESET% +git status +echo %C_SECTION%============================================%C_RESET% +echo. + +set "HASCHANGES=0" +for /f "delims=" %%S in ('git status --porcelain 2^>nul') do set "HASCHANGES=1" +if "%HASCHANGES%"=="0" ( + echo %C_OK%Nu sunt modificari - nimic de adaugat.%C_RESET% + popd + pause + goto MENIU +) + +set "CONFIRM_ADD=" +set /p CONFIRM_ADD="%C_PROMPT%Faci 'git add -A' cu fisierele de mai sus? (D/N): %C_RESET%" +if /I not "%CONFIRM_ADD%"=="D" ( + echo Anulat - nu s-a facut git add. + popd + pause + goto MENIU +) + +git add -A +if errorlevel 1 ( + echo %C_ERR%[EROARE] git add a esuat.%C_RESET% + popd + pause + goto MENIU +) +echo. +echo %C_OK%git add -A finalizat.%C_RESET% +pause + +cls +echo %C_SECTION%============================================%C_RESET% +echo %C_TITLE% Fisiere puse in staging ^(git add -A^)%C_RESET% +echo %C_SECTION%============================================%C_RESET% +git status +echo %C_SECTION%============================================%C_RESET% +echo. +set "CONFIRM_COMMIT=" +set /p CONFIRM_COMMIT="%C_PROMPT%Faci commit cu fisierele de mai sus? (D/N): %C_RESET%" +if /I not "%CONFIRM_COMMIT%"=="D" ( + echo Anulat - fisierele raman in staging ^(git add^), nu s-a facut commit. + popd + pause + goto MENIU +) + +set "MESAJ=" +set /p MESAJ="%C_PROMPT%Mesaj commit: %C_RESET%" +if "%MESAJ%"=="" ( + echo %C_ERR%Mesajul de commit nu poate fi gol. Commit anulat.%C_RESET% + popd + pause + goto MENIU +) + +git commit -m "%MESAJ%" +if errorlevel 1 ( + echo %C_ERR%[EROARE] Commit-ul a esuat.%C_RESET% + popd + pause + goto MENIU +) + +for /f "tokens=*" %%B in ('git branch --show-current') do set "BRANCH=%%B" + +echo. +set "CONFIRM_PUSH=" +set /p CONFIRM_PUSH="%C_PROMPT%Faci push pe branch-ul '%BRANCH%' catre origin? (D/N): %C_RESET%" +if /I not "%CONFIRM_PUSH%"=="D" ( + echo Commit facut local, push omis. + popd + pause + goto MENIU +) + +git push origin %BRANCH% +if errorlevel 1 ( + echo %C_ERR%[EROARE] Push-ul a esuat.%C_RESET% + popd + pause + goto MENIU +) + +echo. +echo %C_OK%Gata - add, commit si push finalizate.%C_RESET% +popd +pause +goto MENIU + +:SFARSIT +endlocal +exit /b 0 diff --git a/update_readme.txt b/update_readme.txt new file mode 100644 index 0000000..fd5cc63 --- /dev/null +++ b/update_readme.txt @@ -0,0 +1,40 @@ +*!* Exemplu apel din program care se actualizeaza singur +*!* gcDirMare, gcNumeProgram, gcTempPath, gcAppPath, gcAppName, poLog = D:\ROA + +*!* lcServer = setare care se citeste din settings.ini al programului +loUpdate=CREATEOBJECT("oUpdate",lcServer) +loUpdate.updatecheck(gcNumeProgram,.T.,2) +RELEASE loUpdate + +*!* trebuie adaugate in fiecare proiect +*!* trebuie sa existe variabila gcDirMare +SET PROCEDURE TO filebringer.prg additive +SET PROCEDURE TO iniacces.prg ADDITIVE +SET PROCEDURE TO oupdate.prg additive +SET PROCEDURE TO procese.prg additive +SET PROCEDURE TO version.prg additive +SET PROCEDURE TO wwapi.prg ADDITIVE +SET PROCEDURE TO wwcodeupdate.prg additive +SET PROCEDURE TO wwhttp.prg ADDITIVE +SET PROCEDURE TO xmlaccess.prg additive +SET PROCEDURE TO xmlparser.prg additive + +SET CLASSLIB TO wwdialogs.vcx ADDITIVE + +Declare Integer GetPrivateProfileString In Kernel32 ; + string, String, String, String @, Integer, String +Declare Integer WritePrivateProfileString In Kernel32 ; + string, String, String, String +Declare Integer CopyFile In kernel32; + STRING lpExistingFileName,; + STRING lpNewFileName,; + INTEGER bFailIfExists +Declare Integer URLDownloadToFile In urlmon.Dll; + INTEGER pCaller, String szURL, String szFileName,; + INTEGER dwReserved, Integer lpfnCB +Declare Integer PathFileExists In shlwapi; + STRING pszPath +*!* trebuie adaugat security.h + +*!* in caz ca da eroare encryptkey not found, trebuie scos din proiect iniacces.prg(din comun/programe) si adaugat / sau sterse fxp-urile + diff --git a/utile/Google Translator/google.prg b/utile/Google Translator/google.prg new file mode 100644 index 0000000..fa18ad2 --- /dev/null +++ b/utile/Google Translator/google.prg @@ -0,0 +1,73 @@ +CLOSE DATABASES +SET DELETED ON +SET CENTURY on +SET ANSI ON +SET EXACT ON +*!* SET DEFAULT TO "d:\roa_trunk\roastart\locale" +USE locale IN 0 SHARED + +*Use test +oGt = Createobje("ugt") && ,"google.prg") + +SELECT locale +Scan For Language='English' AND !translated + *!* ?oGt.translate("ro","en",cuvant) + lcPhrase = ALLTRIM(phrase) + IF RIGHT(lcPhrase,1) = '*' + lcPhrase = LEFT(lcPhrase, LEN(lcPhrase) - 1) + ENDIF + lcTranslated = oGt.translate("ro","en",lcPhrase) + IF !EMPTY(lcTranslated) + Replace phrase With lcTranslated , translated WITH .T. + ENDIF +ENDSCAN + +Select locale +Browse +Define Class ugt As Custom + * apiUrl = "http://translate.google.com/translate_t?&"+"hl=en&"+"ie=UTF8" + apiUrl = "http://translate.google.com/translate_t?" + *!* apiStartTags = "<"+"div id=result_box dir=ltr>" + apiStartTags = [
    ] + apiEndTags = "<"+"/div>" + Function translate(lcFrom,lcTo,lcText) + Local lcHttp As MSXML2.XMLHTTP + Local lcRequest As String + lcRequest = This.apiUrl+"langpair="+This.urlEncode(lcFrom+"|"+lcTo)+"&"+"text="+This.urlEncode(lcText) + lcHttp = Createobject("MSXML2.XMLHTTP") + *!-- lcHttp.open("GET",this.apiUrl,.f.) + lcHttp.Open("GET",lcRequest,.F.) + lcHttp.Send() + *!* DEBUG + *!* SUSPEND + If lcHttp.Status == 200 + lcText = Strextract(lcHttp.responseText,This.apiStartTags,This.apiEndTags) + Endif + Return lcText + Endfunc + + Function urlEncode + Parameters tcValue, llNoPlus + Local lcResult, lcChar, lnSize, lnX + + *** Do it in VFP Code + lcResult="" + + For lnX=1 To Len(tcValue) + lcChar = Substr(tcValue,lnX,1) + If Atc(lcChar,"ABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789") > 0 + lcResult=lcResult + lcChar + Loop + Endif + If lcChar=" " And !llNoPlus + lcResult = lcResult + "+" + Loop + Endif + *** Convert others to Hex equivalents + lcResult = lcResult + "%" + Right(Transform(Asc(lcChar),"@0"),2) + Endfor + + Return lcResult + Endfunc +Enddefine + diff --git a/utile/GridExtras/adauga.png b/utile/GridExtras/adauga.png new file mode 100644 index 0000000..4a7ea12 Binary files /dev/null and b/utile/GridExtras/adauga.png differ diff --git a/utile/GridExtras/add16.png b/utile/GridExtras/add16.png new file mode 100644 index 0000000..4a7ea12 Binary files /dev/null and b/utile/GridExtras/add16.png differ diff --git a/utile/GridExtras/addfilter16.bmp b/utile/GridExtras/addfilter16.bmp new file mode 100644 index 0000000..8c0aabb Binary files /dev/null and b/utile/GridExtras/addfilter16.bmp differ diff --git a/utile/GridExtras/ascendingsort12.bmp b/utile/GridExtras/ascendingsort12.bmp new file mode 100644 index 0000000..ea211d0 Binary files /dev/null and b/utile/GridExtras/ascendingsort12.bmp differ diff --git a/utile/GridExtras/cauta.png b/utile/GridExtras/cauta.png new file mode 100644 index 0000000..e6969c5 Binary files /dev/null and b/utile/GridExtras/cauta.png differ diff --git a/utile/GridExtras/clearfilter16.bmp b/utile/GridExtras/clearfilter16.bmp new file mode 100644 index 0000000..2823623 Binary files /dev/null and b/utile/GridExtras/clearfilter16.bmp differ diff --git a/utile/GridExtras/close16.bmp b/utile/GridExtras/close16.bmp new file mode 100644 index 0000000..b0a1934 Binary files /dev/null and b/utile/GridExtras/close16.bmp differ diff --git a/utile/GridExtras/config.fpw b/utile/GridExtras/config.fpw new file mode 100644 index 0000000..db4a499 --- /dev/null +++ b/utile/GridExtras/config.fpw @@ -0,0 +1 @@ +RESOURCE=OFF \ No newline at end of file diff --git a/utile/GridExtras/delete16.png b/utile/GridExtras/delete16.png new file mode 100644 index 0000000..1294132 Binary files /dev/null and b/utile/GridExtras/delete16.png differ diff --git a/utile/GridExtras/descendingsort12.bmp b/utile/GridExtras/descendingsort12.bmp new file mode 100644 index 0000000..d73caed Binary files /dev/null and b/utile/GridExtras/descendingsort12.bmp differ diff --git a/utile/GridExtras/excel.jpg b/utile/GridExtras/excel.jpg new file mode 100644 index 0000000..7cdfda6 Binary files /dev/null and b/utile/GridExtras/excel.jpg differ diff --git a/utile/GridExtras/excel24.jpg b/utile/GridExtras/excel24.jpg new file mode 100644 index 0000000..f54e6fe Binary files /dev/null and b/utile/GridExtras/excel24.jpg differ diff --git a/utile/GridExtras/exit.png b/utile/GridExtras/exit.png new file mode 100644 index 0000000..36b9c58 Binary files /dev/null and b/utile/GridExtras/exit.png differ diff --git a/utile/GridExtras/filter12.bmp b/utile/GridExtras/filter12.bmp new file mode 100644 index 0000000..1c59153 Binary files /dev/null and b/utile/GridExtras/filter12.bmp differ diff --git a/utile/GridExtras/find.BMP b/utile/GridExtras/find.BMP new file mode 100644 index 0000000..c29fbce Binary files /dev/null and b/utile/GridExtras/find.BMP differ diff --git a/utile/GridExtras/gridextras.FPT b/utile/GridExtras/gridextras.FPT new file mode 100644 index 0000000..0139651 Binary files /dev/null and b/utile/GridExtras/gridextras.FPT differ diff --git a/utile/GridExtras/gridextras.dbf b/utile/GridExtras/gridextras.dbf new file mode 100644 index 0000000..3fa5285 Binary files /dev/null and b/utile/GridExtras/gridextras.dbf differ diff --git a/utile/GridExtras/gridextras.vc2 b/utile/GridExtras/gridextras.vc2 new file mode 100644 index 0000000..1d28263 --- /dev/null +++ b/utile/GridExtras/gridextras.vc2 @@ -0,0 +1,2571 @@ +*-------------------------------------------------------------------------------------------------------------------------------------------------------- +* (EN) AUTOGENERATED - ATTENTION!! - NOT INTENDED FOR EXECUTION!! USE ONLY FOR MERGING CHANGES AND STORING WITH SCM TOOLS!! +*-------------------------------------------------------------------------------------------------------------------------------------------------------- +*< FOXBIN2PRG: Version="1.21" SourceFile="gridextras.vcx" CPID="1252" /> (Solo para binarios VFP 9 / Only for VFP 9 binaries) +* +* +DEFINE CLASS checkform AS timer + *< CLASSDATA: Baseclass="timer" Timestamp="" Scale="Pixels" Uniqueid="" /> + + * + Height = 23 + Name = "checkform" + Width = 23 + * + + PROCEDURE Timer + IF MROW(ThisForm.Name,3) = -1 OR MCOL(ThisForm.Name,3) = -1 + IF This.Parent._InForm + This.Parent._InForm = .F. + This.Parent.tmrFadeForm.Interval = 50 + This.Parent._Fade = 255 + ENDIF + ELSE + IF NOT This.Parent._InForm + This.Parent._InForm = .T. + This.Parent.tmrFadeForm.Interval = 50 + ENDIF + ENDIF + + ENDPROC + +ENDDEFINE + +DEFINE CLASS fadeform AS timer + *< CLASSDATA: Baseclass="timer" Timestamp="" Scale="Pixels" Uniqueid="" /> + + * + Height = 23 + Name = "fadeform" + Width = 23 + * + + PROCEDURE Timer + IF This.Parent._InForm + This.Parent._Fade = MIN(This.Parent._Fade + 60,255) + ELSE + This.Parent._Fade = MAX(This.Parent._Fade - 20,100) + ENDIF + + _Sol_SetLayeredWindowAttributes(THISFORM.hWnd, 0, This.Parent._Fade, 2) + + IF NOT BETWEEN(This.Parent._Fade,101,254) + This.Interval = 0 + ENDIF + + ENDPROC + +ENDDEFINE + +DEFINE CLASS gridcustomfilter AS container + *< CLASSDATA: Baseclass="container" Timestamp="" Scale="Pixels" Uniqueid="" /> + + *-- OBJECTDATA items order determines ZOrder / El orden de los items OBJECTDATA determina el ZOrder + *< OBJECTDATA: ObjPath="Combo1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="Text1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="Text2" UniqueID="" Timestamp="" /> + + * + *m: clearfiltersettings + *m: controlsourcetype_assign + *m: filterstring_access + *m: operatorchanged + *m: selectall + *m: setup + *p: columncontrolsource + *p: controlsourcetype + *p: filterstring + *p: interactivechangecombofiring + *p: uniquecursorname + * + + * + BackStyle = 0 + BorderWidth = 0 + columncontrolsource = + controlsourcetype = C + filterstring = + Height = 76 + interactivechangecombofiring = .F. + Name = "gridcustomfilter" + uniquecursorname = + Width = 192 + * + + ADD OBJECT 'Combo1' AS combobox WITH ; + Height = 24, ; + Left = 1, ; + Name = "Combo1", ; + RowSourceType = 1, ; + Style = 2, ; + Top = 1, ; + Width = 190 + *< END OBJECT: BaseClass="combobox" /> + + ADD OBJECT 'Text1' AS textbox WITH ; + Format = "K", ; + Height = 23, ; + Left = 1, ; + Name = "Text1", ; + SelectOnEntry = .T., ; + Top = 27, ; + Visible = .F., ; + Width = 190 + *< END OBJECT: BaseClass="textbox" /> + + ADD OBJECT 'Text2' AS textbox WITH ; + Format = "K", ; + Height = 23, ; + Left = 1, ; + Name = "Text2", ; + SelectOnEntry = .T., ; + Top = 52, ; + Visible = .F., ; + Width = 190 + *< END OBJECT: BaseClass="textbox" /> + + PROCEDURE clearfiltersettings + this.combo1.ListIndex = 1 + this.controlsourcetype = this.controlsourcetype + ENDPROC + + PROCEDURE controlsourcetype_assign + LPARAMETERS vNewVal + LOCAL lvDefaultValue + DO CASE + *!* MARIUS + CASE INLIST(m.vNewVal, "C", "M", "V") + m.lvDefaultValue = "" + *!* MARIUS ^ + CASE INLIST(m.vNewVal, "N", "Y") + m.lvDefaultValue = 0.00 + CASE m.vNewVal = "D" + m.lvDefaultValue = {} + CASE m.vNewVal = "T" + m.lvDefaultValue = {/:} + CASE m.vNewVal = "L" + m.lvDefaultValue = .T. + ENDCASE + this.text1.Value = m.lvDefaultValue + this.text2.Value = m.lvDefaultValue + this.text1.refresh() + this.text2.refresh() + THIS.ControlSourceType = m.vNewVal + + ENDPROC + + PROCEDURE Destroy + USE IN Select(This.UniqueCursorName) + DODEFAULT() + ENDPROC + + PROCEDURE filterstring_access + LOCAL lcFilterString, lnFilterType, lcAtCommand + m.lcFilterString = "" + IF thisform.casesensitive + m.lcAtCommand = "AT(" + ELSE + m.lcAtCommand = "ATC(" + ENDIF + + IF !EOF(this.uniquecursorname) AND this.combo1.ListIndex != 1 + m.lnFilterType = EVALUATE(this.uniquecursorname + ".criteria") + DO case + CASE m.lnFilterType = 1 + m.lcFilterString = m.lcAtCommand + "[" + ALLTRIM(this.text1.Value) + "], LEFT(" + this.columncontrolsource + "," + TRANSFORM(LEN(ALLTRIM(this.text1.Value))) + ")) > 0" + CASE m.lnFilterType = 2 + m.lcFilterString = m.lcAtCommand + "[" + ALLTRIM(this.text1.Value) + "], " + this.columncontrolsource + ") > 0" + CASE m.lnFilterType = 3 + DO case + CASE INLIST(this.controlsourcetype, "C", "M") + m.lcFilterString = this.columncontrolsource + "=[" + ALLTRIM(TRANSFORM(this.text1.Value)) + "]" + CASE INLIST(this.controlsourcetype, "D", "T") + m.lcFilterString = this.columncontrolsource + "={" + ALLTRIM(TRANSFORM(this.text1.Value)) + "}" + OTHERWISE + m.lcFilterString = this.columncontrolsource + "=" + ALLTRIM(TRANSFORM(this.text1.Value)) + ENDCASE + CASE m.lnFilterType = 4 + IF INLIST(this.controlsourcetype, "D", "T") + m.lcFilterString = this.columncontrolsource + ">{" + ALLTRIM(TRANSFORM(this.text1.Value)) + "}" + ELSE + m.lcFilterString = this.columncontrolsource + ">" + ALLTRIM(TRANSFORM(this.text1.Value)) + ENDIF + CASE m.lnFilterType = 5 + IF INLIST(this.controlsourcetype, "D", "T") + m.lcFilterString = this.columncontrolsource + "<{" + ALLTRIM(TRANSFORM(this.text1.Value)) + "}" + ELSE + m.lcFilterString = this.columncontrolsource + "<" + ALLTRIM(TRANSFORM(this.text1.Value)) + ENDIF + CASE m.lnFilterType = 6 + IF INLIST(this.controlsourcetype, "D", "T") + m.lcFilterString = "Between(" + this.columncontrolsource + ",{" + ALLTRIM(TRANSFORM(this.text1.Value)) + "},{" + ALLTRIM(TRANSFORM(this.text2.Value)) + "})" + ELSE + m.lcFilterString = "Between(" + this.columncontrolsource + "," + ALLTRIM(TRANSFORM(this.text1.Value)) + "," + ALLTRIM(TRANSFORM(this.text2.Value)) + ")" + ENDIF + ENDCASE + ENDIF + + *!* IF INLIST(m.tcFieldType, "C", "M") + *!* INSERT INTO (m.lcUniqueCursorName) VALUES ("Begins with", "CM", "Text1", "", 1) + *!* ENDIF + *!* IF INLIST(m.tcFieldType, "C", "M") + *!* INSERT INTO (m.lcUniqueCursorName) VALUES ("Contains", "CM", "Text1", "", 2) + *!* ENDIF + *!* IF INLIST(m.tcFieldType, "C", "M", "N", "Y", "L", "D", "T") + *!* INSERT INTO (m.lcUniqueCursorName) VALUES ("Equals", "CMNYLDT", "Text1", "", 3) + *!* ENDIF + *!* IF INLIST(m.tcFieldType, "N", "Y", "D", "T") + *!* INSERT INTO (m.lcUniqueCursorName) VALUES ("Greater than", "NYDT", "Text1", "", 4) + *!* ENDIF + *!* IF INLIST(m.tcFieldType, "N", "Y", "D", "T") + *!* INSERT INTO (m.lcUniqueCursorName) VALUES ("Less than", "NYDT", "Text1", "", 5) + *!* ENDIF + *!* IF INLIST(m.tcFieldType, "N", "Y", "D", "T") + *!* INSERT INTO (m.lcUniqueCursorName) VALUES ("Between", "NYDT", "Text1", "Text2", 6) + *!* ENDIF + + RETURN m.lcFilterString + ENDPROC + + PROCEDURE operatorchanged + LOCAL lcControlOne, lcControlTwo + IF !EOF(this.uniquecursorname) AND this.combo1.ListIndex != 1 + m.lcControlOne = EVALUATE(this.uniquecursorname + ".ctrlone") + m.lcControlTwo = EVALUATE(this.uniquecursorname + ".ctrlTwo") + this.text1.Visible = !Empty(m.lcControlOne) + this.text2.Visible = !Empty(m.lcControlTwo) + ELSE + this.text1.Visible = .F. + this.text2.Visible = .F. + ENDIF + ENDPROC + + PROCEDURE selectall + IF !thisform.check1.value ; + AND this.combo1.listindex > 1 + thisform.check1.value = .T. + thisform.check1.valid() + ENDIF + ENDPROC + + PROCEDURE setup + LPARAMETERS tcFieldCaption, tcFieldType, tcColumnControlSource + LOCAL lcUniqueCursorName + this.columncontrolsource = m.tcColumnControlSource + m.lcUniqueCursorName = SYS(2015) + THIS.uniquecursorname = m.lcUniqueCursorName + CREATE CURSOR (m.lcUniqueCursorName) (usrcaption C(30), datatypes C(30), ctrlone C(30), ctrltwo C(30), criteria I) + m.tcFieldType = UPPER(m.tcFieldType) + INSERT INTO (m.lcUniqueCursorName) VALUES ("", "", "", "", 0) + *!* MARIUS + *!* IF INLIST(m.tcFieldType, "C", "M") + *!* INSERT INTO (m.lcUniqueCursorName) VALUES ("Begins with", "CM", "Text1", "", 1) + *!* ENDIF + *!* IF INLIST(m.tcFieldType, "C", "M") + *!* INSERT INTO (m.lcUniqueCursorName) VALUES ("Contains", "CM", "Text1", "", 2) + *!* ENDIF + *!* IF INLIST(m.tcFieldType, "C", "M", "N", "Y", "L", "D", "T") + *!* INSERT INTO (m.lcUniqueCursorName) VALUES ("Equals", "CMNYLDT", "Text1", "", 3) + *!* ENDIF + *!* IF INLIST(m.tcFieldType, "N", "Y", "D", "T") + *!* INSERT INTO (m.lcUniqueCursorName) VALUES ("Greater than", "NYDT", "Text1", "", 4) + *!* ENDIF + *!* IF INLIST(m.tcFieldType, "N", "Y", "D", "T") + *!* INSERT INTO (m.lcUniqueCursorName) VALUES ("Less than", "NYDT", "Text1", "", 5) + *!* ENDIF + *!* IF INLIST(m.tcFieldType, "N", "Y", "D", "T") + *!* INSERT INTO (m.lcUniqueCursorName) VALUES ("Between", "NYDT", "Text1", "Text2", 6) + *!* ENDIF + IF INLIST(m.tcFieldType, "C", "M", "V") + INSERT INTO (m.lcUniqueCursorName) VALUES ("Incepe cu", "CMV", "Text1", "", 1) + ENDIF + IF INLIST(m.tcFieldType, "C", "M", "V") + INSERT INTO (m.lcUniqueCursorName) VALUES ("Contine", "CMV", "Text1", "", 2) + ENDIF + IF INLIST(m.tcFieldType, "C", "M", "V", "N", "Y", "L", "D", "T") + INSERT INTO (m.lcUniqueCursorName) VALUES ("Egal cu", "CMVNYLDT", "Text1", "", 3) + ENDIF + IF INLIST(m.tcFieldType, "N", "Y", "D", "T") + INSERT INTO (m.lcUniqueCursorName) VALUES ("Mai mare decat", "NYDT", "Text1", "", 4) + ENDIF + IF INLIST(m.tcFieldType, "N", "Y", "D", "T") + INSERT INTO (m.lcUniqueCursorName) VALUES ("Mai mic decat", "NYDT", "Text1", "", 5) + ENDIF + IF INLIST(m.tcFieldType, "N", "Y", "D", "T") + INSERT INTO (m.lcUniqueCursorName) VALUES ("Intre", "NYDT", "Text1", "Text2", 6) + ENDIF + *!* MARIUS ^ + GO TOP IN (m.lcUniqueCursorName) + this.controlsourcetype = m.tcFieldType + this.combo1.RowSourceType = 2 + this.combo1.RowSource = m.lcUniqueCursorName + *!* this.combo1.ColumnCount = 5 + *!* this.combo1.ColumnWidths = TRANSFORM(this.Width) + ",0,0,0,0" + this.combo1.ListIndex = 1 + + ENDPROC + + PROCEDURE Combo1.InteractiveChange + LOCAL lnListIndexWas + IF this.parent.InteractiveChangeComboFiring + RETURN + ENDIF + this.parent.InteractiveChangeComboFiring = .T. + m.lnListIndexWas = this.listindex + This.Parent.OperatorChanged() + this.parent.SelectAll() + this.listindex = m.lnListIndexWas + this.refresh() + this.parent.InteractiveChangeComboFiring = .F. + + ENDPROC + + PROCEDURE Combo1.ProgrammaticChange + this.InteractiveChange() + ENDPROC + + PROCEDURE Text1.InteractiveChange + this.Parent.SelectAll() + ENDPROC + + PROCEDURE Text2.InteractiveChange + This.Parent.selectall() + ENDPROC + +ENDDEFINE + +DEFINE CLASS gridextra AS custom + * + *Completeaza proprietatea gridextra.gridexpression cu Thisform.Nume_Grid + * + *In Form.Init apeleaza this.gridextra1.setup() + * + *< CLASSDATA: Baseclass="custom" Timestamp="" Scale="Pixels" Uniqueid="" /> + + * + *m: addjoiner + *m: applyfilter + *m: applysort + *m: ascending_assign + *m: bindcolumnevents + *m: bindheaderevents + *m: clearfilter + *m: clearheadersortimages + *m: columnmoved + *m: columnresize + *m: createcombocursor + *m: createscreenreference + *m: exportgrid + *m: getcolumnobject + *m: getcombocursorname + *m: getheaderobject + *m: getsortexpression + *m: getuserapplicationdatapath + *m: getwindowproc + *m: headerclick + *m: headerrightclick + *m: positionform + *m: restorecolumnfilters + *m: restorecolumnsort + *m: restorecustomcolumnfilters + *m: restoregridpreferences + *m: saveacolumnfilters + *m: savecolumnsort + *m: savecustomcolumnfilters + *m: savegridpreferences + *m: search + *m: setheaderimages + *m: setup + *m: templateapply + *m: templatedelete + *m: templatelocate + *m: templatesave + *p: allowgridexport + *p: allowgridfilter + *p: allowgridpreferences + *p: allowgridsort + *p: ascending + *p: casesensitive + *p: columnobject + *p: combocursorcollection + *p: companyname + *p: currentcolumn + *p: currentcombocursorname + *p: delimiter + *p: globalarrayname + *p: gridexportobject + *p: gridexpression + *p: gridobject + *p: gridpreferencefile + *p: headerascendingimage + *p: headerdescendingimage + *p: headerfilterimage + *p: headernosortimage + *p: indexfile + *p: indextag + *p: originalfilter + *p: parentfield + *p: parenttable && Reference to the parent XMLTable object (only one XMLAdapter or ParentTable property can be set). + *p: productname + *p: searchandfilterform + *p: templatetable + *a: acolumnfilters[1,3] + *a: customcolumnfilters[1,5] + * + + * + allowgridexport = .T. + allowgridfilter = .T. + allowgridpreferences = .T. + allowgridsort = .T. + ascending = .F. + casesensitive = .F. + columnobject = .NULL. + combocursorcollection = .NULL. + companyname = MyCompany + currentcolumn = .NULL. + currentcombocursorname = + delimiter = || + globalarrayname = + gridexportobject = .NULL. + gridexpression = Thisform.Grid1 + gridobject = .NULL. + gridpreferencefile = gridprefs.tmp + headerascendingimage = ascendingsort12.bmp + headerdescendingimage = descendingsort12.bmp + headerfilterimage = filter12.bmp + headernosortimage = nosort12.bmp + Height = 17 + indexfile = + indextag = + Name = "gridextra" + originalfilter = + parentfield = + parenttable = + productname = MyProduct + searchandfilterform = .NULL. + templatetable = ["] + FullPath("gridextras.dbf") + ["] + Width = 20 + * + + PROCEDURE addjoiner + LPARAMETERS tcCurrentFilter, tcFilterNewPart + LOCAL lcReturn, lcCurrentFilterPart + m.lcReturn = "" + IF !EMPTY(m.tcFilterNewPart) + m.tcFilterNewPart = ALLTRIM(m.tcFilterNewPart) + m.tcCurrentFilter = ALLTRIM(m.tcCurrentFilter) + m.lcCurrentFilterPart = RIGHT(m.tcCurrentFilter,1) + IF m.lcCurrentFilterPart != "(" AND m.tcFilterNewPart != ")" + DO CASE + CASE m.tcFilterNewPart = "(" AND EMPTY(m.tcCurrentFilter) + m.lcReturn = m.tcFilterNewPart + CASE m.tcFilterNewPart = "(" AND !EMPTY(m.tcCurrentFilter) + m.lcReturn = " AND " + m.tcFilterNewPart + CASE m.lcCurrentFilterPart = ")" + m.lcReturn = " AND " + m.tcFilterNewPart + OTHERWISE + m.lcReturn = " OR " + m.tcFilterNewPart + ENDCASE + ELSE + m.lcReturn = m.tcFilterNewPart + ENDIF + ENDIF + + RETURN m.lcReturn + ENDPROC + + PROCEDURE applyfilter + LOCAL lcFilter, lnFilterCounter, lcColumnFilter, lcCurrentFilter, lcCustomFilterString + IF TYPE("this.gridobject.Name") = "C" + m.lcCurrentFilter = FILTER(this.gridobject.recordsource) + *!* Need 8 paranthesis on the right side to handle between() filters correctly + DO WHILE !EMPTY(STREXTRACT(m.lcCurrentFilter,".AND.(((((((","))))))))",1,4)) + m.lcCurrentFilter = STRTRAN(m.lcCurrentFilter, STREXTRACT(m.lcCurrentFilter,".AND.(((((((","))))))))",1,4),"",-1,-1,1) + ENDDO + *!* Need 8 paranthesis on the right side to handle between() filters correctly + DO WHILE !EMPTY(STREXTRACT(m.lcCurrentFilter,"(((((((","))))))))",1,4)) + m.lcCurrentFilter = STRTRAN(m.lcCurrentFilter, STREXTRACT(m.lcCurrentFilter,"(((((((","))))))))",1,4),"",-1,-1,1) + ENDDO + *!* Now 7 paranthesis + DO WHILE !EMPTY(STREXTRACT(m.lcCurrentFilter,".AND.(((((((",")))))))",1,4)) + m.lcCurrentFilter = STRTRAN(m.lcCurrentFilter, STREXTRACT(m.lcCurrentFilter,".AND.(((((((",")))))))",1,4),"",-1,-1,1) + ENDDO + *!* Now 7 paranthesis + DO WHILE !EMPTY(STREXTRACT(m.lcCurrentFilter,"(((((((",")))))))",1,4)) + m.lcCurrentFilter = STRTRAN(m.lcCurrentFilter, STREXTRACT(m.lcCurrentFilter,"(((((((",")))))))",1,4),"",-1,-1,1) + ENDDO + m.lcCurrentFilter = IIF(!EMPTY(m.lcCurrentFilter) and (LEFT(ALLTRIM(m.lcCurrentFilter),1) != "(" or RIGHT(ALLTRIM(m.lcCurrentFilter),1) != ")"), ; + "(" + m.lcCurrentFilter + ")", m.lcCurrentFilter) + + IF ATC(this.globalarrayname,m.lcCurrentFilter) = 0 + this.originalfilter = m.lcCurrentFilter + ENDIF + + m.lcCustomFilterString = "" + FOR m.lnFilterCounter = 1 TO ALEN(this.customcolumnfilters,1) + IF !EMPTY(this.customcolumnfilters(m.lnFilterCounter,5)) + m.lcCustomFilterString = m.lcCustomFilterString + IIF(!EMPTY(m.lcCustomFilterString)," AND ", " ") + this.customcolumnfilters(m.lnFilterCounter,5) + ENDIF + ENDFOR + + this.originalfilter = IIF(!EMPTY(this.originalfilter) and (LEFT(ALLTRIM(this.originalfilter),1) != "(" or RIGHT(ALLTRIM(this.originalfilter),1) != ")"), ; + "(" + this.originalfilter + ")", this.originalfilter) + + IF !EMPTY(m.lcCustomFilterString) + m.lcFilter = IIF(!EMPTY(this.originalfilter), this.originalfilter + ".AND.(((((((", "(((((((") + m.lcCustomFilterString + ")))))))" + ELSE + m.lcFilter = This.originalfilter + ENDIF + FOR m.lnFilterCounter = 1 TO ALEN(this.aColumnFilters,1) + m.lcColumnFilter = this.aColumnFilters(m.lnFilterCounter, 1) + IF TYPE("m.lcColumnFilter") = "C" AND !EMPTY(m.lcColumnFilter) + m.lcFilter = m.lcFilter + This.AddJoiner(m.lcFilter, m.lcColumnFilter) + ENDIF + ENDFOR + + SET FILTER TO &lcFilter IN (this.gridobject.recordsource) + + GO TOP IN (this.gridobject.recordsource) + this.gridobject.refresh() + ENDIF + ENDPROC + + PROCEDURE applysort + LPARAMETERS tlIsCombobox, toColumnObject, tlTemplateAscending + LOCAL lcAliasWas, lcSafetyWas, lcSortExpression, ; + lcControlSource, lcParentField, loColumn, ; + lnTagNo, llNewColumn, loHeaderObject, ; + loExc AS EXCEPTION, lnChangedBufferFrom + + IF PCOUNT() < 3 + m.tlTemplateAscending = .F. + ENDIF + WITH THIS + IF TYPE("m.toColumnObject") = "O" + m.loColumn = m.toColumnObject + ELSE + m.loColumn = This.GetColumnObject() + ENDIF + IF TYPE("m.loColumn.PARENT.RECORDSOURCE") != "C" + RETURN .F. + ENDIF + IF !ISNULL(.currentcolumn) AND m.loColumn.NAME = .currentcolumn.NAME AND VARTYPE(m.toColumnObject) != "O" + m.llNewColumn = .F. + ELSE + m.llNewColumn = .T. + .currentcolumn = m.loColumn + RELEASE m.loColumn + m.loColumn = NULL + ENDIF + IF TYPE([This.CurrentColumn]) != "O" OR TYPE([This.CurrentColumn.ControlSource]) != "C" + m.loHeaderObject = .currentcolumn.CONTROLS(1) + THIS.ClearHeaderSortImages() + m.loHeaderObject.PICTURE = THIS.HeaderNoSortImage &&"navigate_no.png" + .currentcolumn = NULL + IF !EMPTY(m.lcAliasWas) AND ALIAS() != m.lcAliasWas + SELECT (m.lcAliasWas) + ENDIF + RETURN .F. + ENDIF + .currentcolumn.SETFOCUS() + m.lcControlSource = EVALUATE([This.CurrentColumn.ControlSource]) && EVALUATE([.CurrentColumn.] + .currentcolumn.CURRENTCONTROL + [.ControlSource]) + m.lcParentField = JUSTEXT(m.lcControlSource) && IIF(AT("(",m.lcControlSource) = 0, JUSTEXT(m.lcControlSource), "") + m.lcAliasWas = ALIAS() + IF m.tlIsCombobox OR EMPTY(FIELD(m.lcParentField,.currentcolumn.PARENT.RECORDSOURCE))&& EMPTY(m.lcParentField) OR LOWER(ALLTRIM(.currentcolumn.PARENT.RECORDSOURCE)) != LOWER(ALLTRIM(JUSTSTEM(m.lcControlSource))) + m.lcParentField = m.lcControlSource + .PARENTTABLE = .currentcolumn.PARENT.RECORDSOURCE + SELECT (.PARENTTABLE) + m.lnTagNo = 0 + ELSE + .PARENTTABLE = JUSTSTEM(m.lcControlSource) + SELECT (.PARENTTABLE) + m.lnTagNo = TAGNO(m.lcParentField) + ENDIF + IF !m.llNewColumn OR m.lnTagNo > 0 &&OR ORDER(.PARENTTABLE) == UPPER(m.lcParentField) OR (!EMPTY(.INDEXFILE) AND ORDER(.PARENTTABLE) == UPPER(JUSTSTEM(.INDEXFILE))) + IF !m.llNewColumn + .ASCENDING = !.ASCENDING + ELSE + .ASCENDING = m.tlTemplateAscending && set to .F. so field is indexed in Ascending Order + ENDIF + IF m.lnTagNo = 0 && we're dealing with an idx + m.lcParentField = JUSTSTEM(.INDEXFILE) + ENDIF + + * In unele formulare am select din oracle dupa ordonare si se pierde index-ul. trebuie refacut + IF TAGCOUNT(.INDEXFILE) > 0 + IF .ASCENDING + SET ORDER TO (m.lcParentField) IN (.PARENTTABLE) DESCENDING + ELSE + SET ORDER TO (m.lcParentField) IN (.PARENTTABLE) ASCENDING + ENDIF + ENDIF + ELSE + .ASCENDING = m.tlTemplateAscending && set to .F. so field is indexed in Ascending Order + m.lcSortExpression = THIS.GetSortExpression(m.lcParentField, m.tlIsCombobox) + IF !EMPTY(m.lcSortExpression) + m.lcSafetyWas = SET("Safety") + SET SAFETY OFF && If idx already exists, overwrite it silently + TRY + m.lnChangedBufferFrom = CURSORGETPROP("Buffering", .PARENTTABLE) + IF BETWEEN(m.lnChangedBufferFrom, 4, 5) + IF GETNEXTMODIFIED(0, .PARENTTABLE, .T.) = 0 + CURSORSETPROP("Buffering", 3, .PARENTTABLE) && Must set tables and views to optimistic row buffering in order to create a temp index + ELSE + MESSAGEBOX("The system was unable to sort the selected column due to unsaved changes." + CHR(13) ; + + "Save your changes and try again.", 64, "Unsaved Changes Detected - Save Required") + EXIT + ENDIF + ENDIF + INDEX ON &lcSortExpression TO (.INDEXFILE) + + IF .ASCENDING + SET ORDER TO (ORDER(.PARENTTABLE)) DESCENDING + ELSE + SET ORDER TO (ORDER(.PARENTTABLE)) ASCENDING + ENDIF + + CATCH TO m.loExc + *!* MESSAGEBOX(TRANSFORM(m.loExc.lineno) + " " + m.loExc.Message) + m.loHeaderObject = .currentcolumn.CONTROLS(1) + m.loHeaderObject.PICTURE = THIS.HeaderNoSortImage && "navigate_no.png" + .currentcolumn = NULL + FINALLY + IF USED(.PARENTTABLE) + IF BETWEEN(m.lnChangedBufferFrom, 4, 5) AND !BETWEEN(CURSORGETPROP("Buffering", .PARENTTABLE),4,5) + CURSORSETPROP("Buffering", m.lnChangedBufferFrom, .PARENTTABLE) + ENDIF + ENDIF + ENDTRY + SET SAFETY &lcSafetyWas && set it back the way we found it + ENDIF + ENDIF + IF !ISNULL(.currentcolumn) + GO BOTTOM IN (.PARENTTABLE) + GO TOP IN (.PARENTTABLE) + .GridObject.REFRESH() + .currentcolumn.SETFOCUS() + ENDIF + .GridObject.REFRESH() + ENDWITH + IF !EMPTY(m.lcAliasWas) + SELECT (m.lcAliasWas) + ENDIF + + ENDPROC + + PROCEDURE ascending_assign + LPARAMETERS vNewVal + DIMENSION aryShapePoints(3,2) + + IF PCOUNT() = 0 OR TYPE("m.vNewVal") != "L" + m.vNewVal = this.ascending + ENDIF + + This.ClearHeaderSortImages() + + m.loHeaderObject = THIS.GetHeaderObject() + IF !ISNULL(m.loHeaderObject) + IF m.vNewVal && Descending + m.loHeaderObject.picture = This.HeaderDescendingImage && "navigate_open.png" + ELSE && Ascending + m.loHeaderObject.picture = This.HeaderAscendingImage && "navigate_close.png" + ENDIF + ENDIF + THIS.ASCENDING = m.vNewVal + + ENDPROC + + PROCEDURE bindcolumnevents + LPARAMETERS toColumnObject + BINDEVENT(m.toColumnObject,"Moved",This,"ColumnMoved") + BINDEVENT(m.toColumnObject,"Resize",This,"ColumnResize") + ENDPROC + + PROCEDURE bindheaderevents + LPARAMETERS toHeaderObject + BINDEVENT(m.toHeaderObject,"DblClick",This,"HeaderClick") + BINDEVENT(m.toHeaderObject,"RightClick",This,"HeaderRightClick") + ENDPROC + + PROCEDURE clearfilter + LOCAL lcFilter + m.lcFilter = This.originalfilter + IF USED(this.gridobject.recordsource) + SET FILTER TO &lcFilter IN (this.gridobject.recordsource) + GO TOP IN (this.gridobject.recordsource) + ENDIF + this.gridobject.refresh() + + ENDPROC + + PROCEDURE clearheadersortimages + LOCAL loHeaderObject, lnCounter, loColumn, lcHeaderImage + IF TYPE("THIS.currentcolumn") = "O" + FOR m.lnCounter = 1 TO THIS.currentcolumn.parent.columncount + m.loColumn = THIS.currentcolumn.parent.columns(m.lnCounter) + m.loHeaderObject = m.loColumn.controls(1) + m.lcHeaderImage = UPPER(JUSTFNAME(m.loHeaderObject.picture)) + IF !EMPTY(m.lcHeaderImage) AND INLIST(m.lcHeaderImage, UPPER(this.HeaderAscendingImage), UPPER(This.HeaderDescendingImage), UPPER(This.HeaderNoSortImage)) + m.loHeaderObject.picture = "" + ENDIF + ENDFOR + ENDIF + + ENDPROC + + PROCEDURE columnmoved + This.savegridpreferences(this.GridObject) + + ENDPROC + + PROCEDURE columnresize + This.savegridpreferences(this.GridObject) + + ENDPROC + + PROCEDURE createcombocursor + LPARAMETERS tcTempCursorName, toComboBox + LOCAL lnCounter, lcControlSourceType, lcAliasWas + m.lcAliasWas = ALIAS() + CREATE CURSOR (m.tcTempCursorName) (disptext V(99), fkid V(99)) + FOR m.lnCounter = 1 TO m.toComboBox.listcount + IF this.casesensitive + INSERT INTO (m.tcTempCursorName) ; + VALUES (m.toComboBox.list(m.lnCounter,1), m.toComboBox.list(m.lnCounter, m.toComboBox.boundcolumn)) + ELSE + INSERT INTO (m.tcTempCursorName) ; + VALUES (UPPER(m.toComboBox.list(m.lnCounter,1)), m.toComboBox.list(m.lnCounter, m.toComboBox.boundcolumn)) + ENDIF + ENDFOR + m.lcControlSourceType = TYPE(m.toComboBox.controlsource) + IF !INLIST(m.lcControlSourceType, "C", "M") + IF m.lcControlSourceType = "N" + m.lcControlSourceType = m.lcControlSourceType + "(16,4)" + ENDIF + ALTER table (m.tcTempCursorName) ALTER COLUMN fkid &lcControlSourceType + ENDIF + SELECT(m.tcTempCursorName) + INDEX on fkid TAG fkid + + IF m.lcAliasWas != ALIAS() AND USED(m.lcAliasWas) + SELECT (m.lcAliasWas) + ENDIF + + ENDPROC + + PROCEDURE createscreenreference + IF TYPE("_GEScr") = "U" + PUBLIC _GEScr + ENDIF + IF VARTYPE(_GEScr) != "O" + _GEScr = _Screen + ENDIF + + ENDPROC + + PROCEDURE Destroy + Local lcAliasWas, lcCursorName + Try + Unbindevents(This) + If Vartype(This.gridobject)="O" + Unbindevents(This.gridobject) + Endif + Removeproperty(_Screen, This.GlobalArrayName) + Use In Select(This.GlobalArrayName) + Unbindevents(0) + If File(This.IndexFile) + m.lcAliasWas = Alias() + Select (This.ParentTable) + Set Index To + If !Empty(m.lcAliasWas) + Select (m.lcAliasWas) + Endif + Erase (This.IndexFile) + If Used(m.lcAliasWas) + Select (m.lcAliasWas) + Endif + Endif + If Vartype(This.combocursorcollection) = "O" + For Each m.lcCursorName In This.combocursorcollection + If Vartype(m.lcCursorName) = "C" And Used(m.lcCursorName) + Use In Select(m.lcCursorName) + Endif + Next + Endif + Store Null To This.gridobject, This.currentcolumn, This.columnobject, This.GridExportObject, This.combocursorcollection + Catch + Endtry + + ENDPROC + + PROCEDURE exportgrid + ENDPROC + + PROCEDURE getcolumnobject + LOCAL ARRAY laObject(1,4) + LOCAL loObject, lcBaseClass + =AMOUSEOBJ(m.laObject) + m.loObject = m.laObject(1,1) + IF TYPE("m.loObject.baseclass") = "C" + m.lcBaseClass = UPPER(m.loObject.baseclass) + DO case + CASE m.lcBaseClass = "COLUMN" + *!* Do nothing as m.loObject is the column + CASE m.lcBaseClass = "HEADER" + m.loObject = m.loObject.Parent + OTHERWISE + m.loObject = NULL + ENDCASE + ELSE + m.loObject = NULL + ENDIF + This.columnobject = m.loObject + RETURN m.loObject + ENDPROC + + PROCEDURE getcombocursorname + LPARAMETERS toComboBox + LOCAL lnKeyIndex, lcTempCursorName + IF VARTYPE(this.combocursorcollection) != "O" + This.combocursorcollection = CREATEOBJECT("collection") + ENDIF + m.lcTempCursorName = "" + m.lnKeyIndex = This.combocursorcollection.getkey(m.toComboBox.parent.name) + IF m.lnKeyIndex = 0 + m.lcTempCursorName = SYS(2015) + This.combocursorcollection.add(m.lcTempCursorName, m.toComboBox.parent.name) + ELSE + m.lcTempCursorName = This.combocursorcollection.Item(m.lnKeyIndex) + ENDIF + IF !USED(m.lcTempCursorName) AND !EMPTY(m.lcTempCursorName) + this.createcombocursor(m.lcTempCursorName, m.toComboBox) + ENDIF + This.currentcombocursorname = m.lcTempCursorName + RETURN m.lcTempCursorName + ENDPROC + + PROCEDURE getheaderobject + LOCAL loObject + m.loObject = this.GetColumnObject() + IF !ISNULL(m.loObject) AND TYPE("m.loObject.baseclass") = "C" AND UPPER(m.loObject.baseclass) = "COLUMN" + m.loObject = m.loObject.Controls(1) && Get header control + ENDIF + RETURN m.loObject + ENDPROC + + PROCEDURE getsortexpression + LPARAMETERS tcFieldName, tlIsCombobox + LOCAL lcType, lcSortExpression + m.lcType = TYPE(m.tcFieldName) + IF PCOUNT() < 2 + m.tlIsCombobox = .F. + ENDIF + IF m.tlIsCombobox + m.lcSortExpression = this.currentcombocursorname + [.disptext FOR SEEK(&tcFieldName, "] + this.currentcombocursorname + [","fkid")] + ELSE + DO CASE + CASE m.lcType $ "CM" + m.lcSortExpression = [UPPER(LEFT(NVL(] + m.tcFieldName + [,""), 99))] + CASE lcType = "N" + m.lcSortExpression = [NVL(] + m.tcFieldName + [, 0)] + CASE m.lcType $ "D" + m.lcSortExpression = [NVL(] + m.tcFieldName + [, {})] + CASE m.lcType $ "T" + m.lcSortExpression = [NVL(] + m.tcFieldName + [, {/:})] + CASE m.lcType == "L" + m.lcSortExpression = [NVL(] + m.tcFieldName + [, .F.)] + CASE m.lcType == "Y" + m.lcSortExpression = [NVL(] + m.tcFieldName + [, $0.00)] + OTHERWISE + m.lcSortExpression = "" + ENDCASE + ENDIF + + RETURN m.lcSortExpression + ENDPROC + + PROCEDURE getuserapplicationdatapath + #Define CSIDL_APPDATA 0x001a + + Local m.lcSpecialFolderPath, m.lcApplicationDataPath + m.lcSpecialFolderPath = Space(255) + + Declare SHGetSpecialFolderPath In SHELL32.Dll ; + LONG hwndOwner, ; + STRING @cSpecialFolderPath, ; + LONG nWhichFolder + + SHGetSpecialFolderPath(0, @m.lcSpecialFolderPath, CSIDL_APPDATA) + m.lcApplicationDataPath = Alltrim(m.lcSpecialFolderPath) + m.lcApplicationDataPath = Substr(m.lcApplicationDataPath,1, Len(m.lcApplicationDataPath)-1) + m.lcApplicationDataPath = Addbs(m.lcApplicationDataPath) + This.CompanyName + If !Directory(m.lcApplicationDataPath) + Mkdir (m.lcApplicationDataPath) + Endif + m.lcApplicationDataPath = Addbs(m.lcApplicationDataPath) + This.ProductName + If !Directory(m.lcApplicationDataPath) + Mkdir (m.lcApplicationDataPath) + Endif + Return Addbs(m.lcApplicationDataPath) + ENDPROC + + PROCEDURE getwindowproc + LPARAMETERS tnHWND + #DEFINE GWL_WNDPROC -4 + LOCAL lnReturn + DECLARE INTEGER GetWindowLong IN Win32API ; + INTEGER HWND, INTEGER nIndex + m.lnReturn = GetWindowLong(m.tnHWND, GWL_WNDPROC) + + ENDPROC + + PROCEDURE headerclick + LOCAL loObject, lnLeft, lnTop, loActiveControlInColumn, lcColumnCursorName, llIsCombobox + this.currentcombocursorname = "" + m.llIsCombobox = .F. + IF this.allowgridsort + m.loObject = This.GetHeaderObject() + IF !ISNULL(m.loObject) + m.loActiveControlInColumn = EVALUATE("m.loObject.parent." + m.loObject.parent.currentcontrol) + IF LOWER(ALLTRIM(m.loActiveControlInColumn.Baseclass)) = "combobox" + m.lcColumnCursorName = this.getcombocursorname(m.loActiveControlInColumn) + m.llIsCombobox = .T. + ENDIF + this.applysort(m.llIsCombobox) + this.setheaderimages() + ENDIF + ENDIF + + ENDPROC + + PROCEDURE headerrightclick + LOCAL loObject, lnLeft, lnTop + this.currentcombocursorname = "" + IF this.Allowgridfilter + m.loObject = This.GetHeaderObject() + IF !ISNULL(m.loObject) + This.searchandfilterform = CREATEOBJECT("gridextraform", m.loObject.parent, this) + IF TYPE("This.searchandfilterform.Caption") = "C" + this.positionform(This.searchandfilterform, m.loObject) + This.searchandfilterform.Show() + ENDIF + ENDIF + ENDIF + + ENDPROC + + PROCEDURE Init + This.GlobalArrayName = SYS(2015) + ADDPROPERTY(_screen, this.GlobalArrayName+"[1,1]",.F.) + THIS.indexfile = ADDBS(SYS(2023)) + This.GlobalArrayName + ".IDX" + ENDPROC + + PROCEDURE positionform + LPARAMETERS toSearchAndFilterForm, toHeader + LOCAL lnTop + IF TYPE("m.toSearchAndFilterForm.name") = "C" AND TYPE("m.toHeader.caption") = "C" + WITH m.toSearchAndFilterForm + m.lnTop = OBJTOCLIENT(m.toHeader, 1 ) + IIF(THISFORM.TITLEBAR=1,SYSMETRIC(9),0) + m.toHeader.PARENT.PARENT.HEADERHEIGHT + ; + IIF(THISFORM.BORDERSTYLE = 3, SYSMETRIC(4), SYSMETRIC(13)) + ; + IIF(THISFORM.SHOWWINDOW = 2, THISFORM.TOP, OBJTOCLIENT(THISFORM, 1 )) + 1 && thanks to Vassilis Aggelakos for the Titlebar=1 fix/idea + .LEFT = OBJTOCLIENT(m.toHeader, 2) + IIF(THISFORM.BORDERSTYLE = 3, SYSMETRIC(3), ; + SYSMETRIC(12)) + IIF(THISFORM.SHOWWINDOW = 2, THISFORM.LEFT, OBJTOCLIENT( THISFORM, 2 )) - 1 + IF ((m.lnTop + .HEIGHT) > SYSMETRIC(2)) + m.lnTop = m.lnTop - .HEIGHT - m.toHeader.PARENT.PARENT.HEADERHEIGHT - (2 * SYSMETRIC(13)) + 4 + ENDIF + .TOP = m.lnTop - 2 + ENDWITH + ENDIF + + ENDPROC + + PROCEDURE restorecolumnfilters + LPARAMETERS tnTemplatePkID + LOCAL lcAliasWas, lnCounter, lcGlobalArrayNameWas, lcGlobalArrayNameIs, lcGlobalArray + LOCAL ARRAY _GEAColumn(1) + LOCAL ARRAY _GEAGlobal(1) + m.lcAliasWas = ALIAS() + m.lcGlobalArray = [_GEScr.] + this.GlobalArrayName + IF This.TemplateLocate(m.tnTemplatePkID) + RESTORE From Memo FilterCol ADDITIVE + RESTORE From Memo FilterGlob ADDITIVE + m.lcGlobalArrayNameWas = ALLTRIM(globala) + m.lcGlobalArrayNameIs = this.globalarrayname + FOR m.lnCounter = 1 TO ALEN(_GEAColumn, 1) + IF TYPE("_GEAColumn(m.lnCounter, 1)") = "C" + _GEAColumn(m.lnCounter, 1) = STRTRAN(_GEAColumn(m.lnCounter, 1), m.lcGlobalArrayNameWas, m.lcGlobalArrayNameIs, -1, -1, 1) + ENDIF + ENDFOR + this.clearfilter() + IF (ALEN(_GEAGlobal,1) > 0 AND ALEN(_GEAGlobal,2) > 0) + DIMENSION &lcGlobalArray(ALEN(_GEAGlobal,1), ALEN(_GEAGlobal,2)) + =ACOPY(_GEAGlobal, &lcGlobalArray) + IF (ALEN(_GEAColumn,1) > 0 AND ALEN(_GEAColumn,2) > 0) + DIMENSION this.acolumnfilters(ALEN(_GEAColumn,1), ALEN(_GEAColumn,2)) + =ACOPY(_GEAColumn, this.acolumnfilters) + ENDIF + ELSE + DIMENSION this.acolumnfilters(1, 3) + STORE .F. TO this.acolumnfilters + ENDIF + ENDIF + IF ALIAS() != m.lcAliasWas AND USED(m.lcAliasWas) + SELECT (m.lcAliasWas) + ENDIF + + ENDPROC + + PROCEDURE restorecolumnsort + LPARAMETERS tnTemplatePkID, tlSortAscending + LOCAL lcAliasWas, loColumnObject + m.lcAliasWas = ALIAS() + IF This.TemplateLocate(m.tnTemplatePkID) AND !EMPTY(colname) + This.currentcolumn = EVALUATE("this.GridObject." + ALLTRIM(colname)) + m.tlSortAscending = sortasc + ENDIF + IF ALIAS() != m.lcAliasWas AND USED(m.lcAliasWas) + SELECT (m.lcAliasWas) + ENDIF + + ENDPROC + + PROCEDURE restorecustomcolumnfilters + LPARAMETERS tnTemplatePkID + LOCAL lcAliasWas + LOCAL ARRAY _GEACustom(1) + m.lcAliasWas = ALIAS() + IF This.TemplateLocate(m.tnTemplatePkID) + RESTORE From Memo FilterCusT ADDITIVE + IF (ALEN(_GEACustom,1) > 0 AND ALEN(_GEACustom,2) > 0) + DIMENSION this.customcolumnfilters(ALEN(_GEACustom,1),ALEN(_GEACustom,2)) + =ACOPY(_GEACustom, this.customcolumnfilters) + ENDIF + ENDIF + IF ALIAS() != m.lcAliasWas AND USED(m.lcAliasWas) + SELECT (m.lcAliasWas) + ENDIF + + ENDPROC + + PROCEDURE restoregridpreferences + LPARAMETERS toGridObject + Local lcGridHierarchy, lcString, lcPrefs, lcPrefFileContents, lcBeginPrefs, lcEndPrefs, lcPrefFile, ; + loColumn, lnCounter, lnMax, loExc as Exception + IF this.allowgridpreferences + m.lcPrefFile = This.GetUserApplicationDataPath() + This.GridPreferenceFile + m.lcPrefFileContents = "" + If File(m.lcPrefFile) + Try + m.lcPrefFileContents = Filetostr(m.lcPrefFile) + m.lcGridHierarchy = Sys(1272, m.toGridObject) + m.lcBeginPrefs = m.lcGridHierarchy + "(" + m.lcEndPrefs = ")" + m.lcPrefs = Strextract(m.lcPrefFileContents,m.lcBeginPrefs,m.lcEndPrefs,1,1) + If !Empty(m.lcPrefs) + =Alines(laPrefs, m.lcPrefs, 7, ",") + m.lnMax = Min(m.toGridObject.ColumnCount * 2, Alen(laPrefs)) + For m.lnCounter = 1 To m.lnMax Step 2 + m.loColumn = m.toGridObject.Columns((m.lnCounter + 1)/2) + If Type("m.loColumn.columnorder") = "N" + m.loColumn.ColumnOrder = Val(laPrefs(m.lnCounter)) + m.loColumn.Width = Val(laPrefs(m.lnCounter + 1)) + Endif + Endfor + Endif + CATCH TO m.loExc + Endtry + ENDIF + ENDIF + ENDPROC + + PROCEDURE saveacolumnfilters + LPARAMETERS tnTemplatePkID + LOCAL lcAliasWas, lcGlobalArray + LOCAL ARRAY _GEAColumn(1) + LOCAL ARRAY _GEAGlobal(1) + m.lcAliasWas = ALIAS() + m.lcGlobalArray = [_GEScr.] + this.GlobalArrayName + IF This.TemplateLocate(m.tnTemplatePkID) + =ACOPY(this.acolumnfilters, _GEAColumn) + SAVE to Memo FilterCol ALL LIKE _GEAColumn + =ACOPY(&lcGlobalArray, _GEAGlobal) + SAVE to Memo FilterGlob ALL LIKE _GEAGlobal + replace globala WITH this.globalarrayname + ENDIF + IF ALIAS() != m.lcAliasWas AND USED(m.lcAliasWas) + SELECT (m.lcAliasWas) + ENDIF + + ENDPROC + + PROCEDURE savecolumnsort + LPARAMETERS tnTemplatePkID + LOCAL lcAliasWas + m.lcAliasWas = ALIAS() + IF TYPE("this.currentcolumn.name") = "C" AND This.TemplateLocate(m.tnTemplatePkID) + replace colname WITH this.currentcolumn.name, sortasc WITH this.ascending + ENDIF + IF ALIAS() != m.lcAliasWas AND USED(m.lcAliasWas) + SELECT (m.lcAliasWas) + ENDIF + + ENDPROC + + PROCEDURE savecustomcolumnfilters + LPARAMETERS tnTemplatePkID + LOCAL lcAliasWas + LOCAL ARRAY _GEACustom(1) + m.lcAliasWas = ALIAS() + IF This.TemplateLocate(m.tnTemplatePkID) + =ACOPY(this.customcolumnfilters, _GEACustom) + SAVE to Memo FilterCust ALL LIKE _GEACustom + ENDIF + IF ALIAS() != m.lcAliasWas AND USED(m.lcAliasWas) + SELECT (m.lcAliasWas) + ENDIF + + ENDPROC + + PROCEDURE savegridpreferences + LPARAMETERS toGridObject + Local lcGridHierarchy, lcString, lcPrefs, lcPrefFileContents, ; + lcBeginPrefs, lcEndPrefs, lcPrefFile, loColumn, lnCounter, loExc as Exception + IF this.allowgridpreferences + m.lcGridHierarchy = Sys(1272, m.toGridObject) + m.lcBeginPrefs = m.lcGridHierarchy + "(" + m.lcEndPrefs = ")" + m.lcPrefFile = This.GetUserApplicationDataPath() + This.GridPreferenceFile + m.lcPrefFileContents = "" + If File(m.lcPrefFile) + m.lcPrefFileContents = Filetostr(m.lcPrefFile) + Endif + m.lcPrefs = Strextract(m.lcPrefFileContents,m.lcBeginPrefs,m.lcEndPrefs,1,5) + m.lcString = "" + Try + For m.lnCounter = 1 To m.toGridObject.ColumnCount + m.loColumn = m.toGridObject.Columns(m.lnCounter) + m.lcString = m.lcString + Transform(m.loColumn.ColumnOrder) + "," + m.lcString = m.lcString + Transform(m.loColumn.Width) + "," + Endfor + CATCH TO m.loExc + ENDTRY + If !Empty(m.lcString) + m.lcString = m.lcBeginPrefs + m.lcString + m.lcEndPrefs + If Empty(m.lcPrefs) Or m.lcString != m.lcPrefs + If Empty(m.lcPrefs) + m.lcPrefFileContents = m.lcPrefFileContents + m.lcString + Chr(13) + Chr(10) + Else + m.lcPrefFileContents = Strtran(m.lcPrefFileContents, m.lcPrefs, m.lcString, 1, 1, 1) + Endif + Set Safety Off + =Strtofile(m.lcPrefFileContents, m.lcPrefFile, 0) + Endif + ENDIF + ENDIF + ENDPROC + + PROCEDURE search + LPARAMETERS tcSearchPhrase, tlFindNext, lcSearchCommand + LOCAL lcRecordSource, lcAliasWas, lcControlSource, lcSearchValue, llLockScreenWas, loActiveControlInColumn, lcCurrentComboCursorName + LOCAL ARRAY aTemp(1) + aTemp(1) = Null + m.lcRecordSource = This.gridobject.recordsource + If Used(m.lcRecordSource) AND TYPE("This.ColumnObject.Name") = "C" + m.lcAliasWas = Alias() + m.lcControlSource = This.ColumnObject.ControlSource + m.loActiveControlInColumn = EVALUATE("This.ColumnObject." + This.ColumnObject.CurrentControl) + IF LOWER(m.loActiveControlInColumn.BaseClass) = "combobox" and m.loActiveControlInColumn.BoundColumn != 1 + If This.casesensitive + m.lcSearchCommand = [At(] && m.lcSearchValue, Transform(&lcControlSource)) > 0] + ELSE + m.lcSearchCommand = [Atc(] + ENDIF + m.lcSearchCommand = m.lcSearchCommand + [Alltrim(Transform(m.tcSearchPhrase)), disptext)>0] + m.lcCurrentComboCursorName = this.currentcombocursorname + SELECT fkid FROM (m.lcCurrentComboCursorName) WHERE &lcSearchCommand INTO ARRAY aTemp + IF ISNULL(aTemp(1)) OR _tally < 1 + m.lcSearchCommand = [.F.] + ELSE + IF _tally > 1 + m.lcSearchCommand = [Ascan(aTemp, &lcControlSource)>0] + ELSE + m.lcSearchCommand = [&lcControlSource = aTemp(1)] + ENDIF + ENDIF + ELSE + m.lcSearchValue = Alltrim(Transform(m.tcSearchPhrase)) + If This.casesensitive + m.lcSearchCommand = [At(] && m.lcSearchValue, Transform(&lcControlSource)) > 0] + ELSE + m.lcSearchCommand = [Atc(] + ENDIF + m.lcSearchCommand = m.lcSearchCommand + [m.lcSearchValue,Transform(&lcControlSource))>0] + ENDIF + + Select (m.lcRecordSource) + If m.tlFindNext + If !Eof(m.lcRecordSource) + Skip 1 In (m.lcRecordSource) + ELSE + GO TOP IN (m.lcRecordSource) + ENDIF + ELSE + GO TOP IN (m.lcRecordSource) + ENDIF + Locate Rest For &lcSearchCommand + If !Found() + Go Top In (m.lcRecordSource) + IF m.tlFindNext + IF MESSAGEBOX("Search has reached the last record without finding another match. Do you want to continue searching from the first record?",36,"Continue Searching from the Beginning?") = 6 + Locate Rest For &lcSearchCommand + IF !FOUND() + MESSAGEBOX("A matching record could not be found.",64,"Unable to Locate Search Phrase") + ENDIF + ENDIF + ELSE + MESSAGEBOX("A matching record could not be found.",64,"Unable to Locate Search Phrase") + ENDIF + ENDIF + *!* work around to allow highlighting/row update to show correctly in grid being searched as record pointer is moved + m.llLockScreenWas = thisform.lockscreen + thisform.lockscreen = .T. + this.gridobject.setfocus() + this.gridobject.refresh() + this.searchandfilterform.cmdSearch.setfocus() + thisform.lockscreen = m.llLockScreenWas + If m.lcAliasWas != Alias() And Used(m.lcAliasWas) + Select (m.lcAliasWas) + Endif + Endif + + + ENDPROC + + PROCEDURE setheaderimages + LOCAL loColumnObject, loHeaderObject, lcHeaderImage, llCustomFilterEnforced, lnCustomFilterIndex + FOR EACH m.loColumnObject IN This.GridObject.Columns + m.llCustomFilterEnforced = .F. + m.loHeaderObject = m.loColumnObject.Controls(1) + m.lcHeaderImage = UPPER(JUSTFNAME(m.loHeaderObject.picture)) + m.lnCustomFilterIndex = ASCAN(this.customcolumnfilters,ALLTRIM(m.loColumnObject.Name),-1,-1,1,15) + IF m.lnCustomFilterIndex > 0 AND !EMPTY(this.customcolumnfilters(m.lnCustomFilterIndex,5)) + m.llCustomFilterEnforced = .T. + ENDIF + IF m.llCustomFilterEnforced OR ASCAN(this.acolumnfilters,ALLTRIM(m.loColumnObject.name),-1,-1,2,15) > 0 + IF !INLIST(m.lcHeaderImage, UPPER(this.HeaderAscendingImage), UPPER(This.HeaderDescendingImage), UPPER(This.HeaderNoSortImage)) + m.loHeaderObject.picture = this.headerfilterimage + ENDIF + ELSE + IF !EMPTY(m.lcHeaderImage) AND !INLIST(m.lcHeaderImage, UPPER(this.HeaderAscendingImage), UPPER(This.HeaderDescendingImage), UPPER(This.HeaderNoSortImage)) + m.loHeaderObject.picture = "" + ENDIF + ENDIF + ENDFOR + + ENDPROC + + PROCEDURE setup + LOCAL loGridObject, loColumnObject, loHeaderObject, lcClassLib, lcGlobalArray, lcGridExportObjectName, lnGridExportAnchorValue + STORE Null TO This.GridObject, m.loColumnObject, m.loHeaderObject + UNBINDEVENTS(this) + this.CreateScreenReference() + m.lcGlobalArray = [_GEScr.] + this.GlobalArrayName + DIMENSION &lcGlobalArray.(1,1) + STORE .F. TO &lcGlobalArray + m.lcClassLib = LOWER(JUSTFNAME(this.ClassLibrary)) + IF OCCURS(JUSTSTEM(m.lcClassLib),LOWER(SET("Classlib"))) = 0 + IF FILE(this.ClassLibrary) + SET CLASSLIB TO (this.ClassLibrary) ADDITIVE + ELSE + SET CLASSLIB TO (LOCFILE(m.lcClassLib)) ADDITIVE + ENDIF + ENDIF + This.GridObject = EVALUATE(this.gridexpression) + IF TYPE("This.GridObject.Name") = "C" + this.restoregridpreferences(This.GridObject) + FOR EACH m.loColumnObject IN This.GridObject.Columns + This.BindColumnEvents(m.loColumnObject) + This.BindHeaderEvents(m.loColumnObject.Controls(1)) + ENDFOR + this.originalfilter = FILTER(this.gridobject.recordsource) + this.originalfilter = IIF(!EMPTY(this.originalfilter), "(" + this.originalfilter + ")", "") + IF this.allowgridexport + m.lcGridExportObjectName = SYS(2015) + This.GridObject.parent.AddObject(m.lcGridExportObjectName,"GridExtraExport",this) + this.GridExportObject = EVALUATE("This.GridObject.parent." + m.lcGridExportObjectName) + this.GridExportObject.GridObject = this.gridobject + BINDEVENT(this.gridobject,"zorder",this.GridExportObject,"zorderupdate",1) + BINDEVENT(this.gridobject,"resize",this.GridExportObject,"resizeupdate",1) + IF TYPE("this.GridExportObject.Name") = "C" + m.lnGridExportAnchorValue = 0 + IF BITTEST(This.GridObject.anchor,3) + m.lnGridExportAnchorValue = BITSET(m.lnGridExportAnchorValue, 3) + ELSE + IF BITTEST(This.GridObject.anchor,7) + m.lnGridExportAnchorValue = BITSET(m.lnGridExportAnchorValue, 7) + ENDIF + ENDIF + + IF BITTEST(This.GridObject.anchor,2) + m.lnGridExportAnchorValue = BITSET(m.lnGridExportAnchorValue, 2) + ELSE + IF BITTEST(This.GridObject.anchor,6) + m.lnGridExportAnchorValue = BITSET(m.lnGridExportAnchorValue, 6) + ENDIF + ENDIF + this.GridExportObject.GridRecordSource = ALLTRIM(SYS(1272, this.GridObject)) + this.GridExportObject.GridRecordSource = "Thisform" + SUBSTR(this.GridExportObject.GridRecordSource,AT(".", this.GridExportObject.GridRecordSource,1)) + ".RecordSource" + this.GridExportObject.Anchor = 0 + this.GridExportObject.Left = (This.GridObject.Left + This.GridObject.Width - 19) + this.GridExportObject.Top = (This.GridObject.Top + This.GridObject.Height - 18) + this.GridExportObject.Anchor = m.lnGridExportAnchorValue + this.GridExportObject.visible = .T. + ENDIF + ENDIF + ENDIF + + ENDPROC + + PROCEDURE templateapply + LPARAMETERS tnTemplatePkID + LOCAL lcAliasWas, loActiveControlInColumn, llIsCombobox, llLockScreenWas, loHeaderObject, llAscendingSort + m.lcAliasWas = ALIAS() + + IF This.TemplateLocate(m.tnTemplatePkID) + m.llLockScreenWas = thisform.LockScreen + thisform.LockScreen = .T. + This.RestoreColumnFilters(m.tnTemplatePkID) + this.RestoreCustomColumnFilters(m.tnTemplatePkID) + this.RestoreColumnSort(m.tnTemplatePkID, @m.llAscendingSort) + this.applyfilter() + m.llIsCombobox = .F. + IF TYPE("this.currentcolumn") = "O" AND TYPE("this.currentcolumn.currentcontrol") = "C" AND !EMPTY(this.currentcolumn.currentcontrol) + m.loActiveControlInColumn = EVALUATE("this.currentcolumn." + this.currentcolumn.currentcontrol) + IF LOWER(ALLTRIM(m.loActiveControlInColumn.Baseclass)) = "combobox" + m.llIsCombobox = .T. + ENDIF + this.applysort(m.llIsCombobox, this.currentcolumn, m.llAscendingSort) + ENDIF + this.setheaderimages() + IF TYPE("this.currentcolumn") = "O" AND TYPE("this.currentcolumn.currentcontrol") = "C" AND !EMPTY(this.currentcolumn.currentcontrol) + m.loHeaderObject = this.currentcolumn.Controls(1) + IF m.llAscendingSort && Descending + m.loHeaderObject.picture = This.HeaderDescendingImage && "navigate_open.png" + ELSE && Ascending + m.loHeaderObject.picture = This.HeaderAscendingImage && "navigate_close.png" + ENDIF + ENDIF + thisform.LockScreen = m.llLockScreenWas + ENDIF + IF ALIAS() != m.lcAliasWas AND USED(m.lcAliasWas) + SELECT (m.lcAliasWas) + ENDIF + + ENDPROC + + PROCEDURE templatedelete + LPARAMETERS tnTemplatePkID + LOCAL lcAliasWas + m.lcAliasWas = ALIAS() + IF This.TemplateLocate(m.tnTemplatePkID) + DELETE + ENDIF + IF ALIAS() != m.lcAliasWas AND USED(m.lcAliasWas) + SELECT (m.lcAliasWas) + ENDIF + + ENDPROC + + PROCEDURE templatelocate + LPARAMETERS tnTemplatePkID + LOCAL lcTemplateTable, lcTemplateTableJustStem, lcTemplateGrid, lcTemplateName, llReturn + m.llReturn = .F. + m.lcTemplateTable = EVALUATE(this.templatetable) + m.lcTemplateTableJustStem = JUSTSTEM(m.lcTemplateTable) + IF TYPE("m.lcTemplateTable") = "C" AND FILE(m.lcTemplateTable) + IF !USED(m.lcTemplateTableJustStem) + USE (m.lcTemplateTable) IN 0 SHARED + ENDIF + SELECT (m.lcTemplateTableJustStem) + IF TYPE("m.tnTemplatePkID") = "N" + m.llReturn = (m.tnTemplatePkID = EVALUATE( m.lcTemplateTableJustStem + ".pkid") OR SEEK(m.tnTemplatePkID, m.lcTemplateTableJustStem, "pkid")) + ELSE + IF TYPE("m.tnTemplatePkID") = "C" + m.tnTemplatePkID = UPPER(ALLTRIM(m.tnTemplatePkID)) + m.lcTemplateGrid = GETWORDNUM(m.tnTemplatePkID, 1, ":") + m.lcTemplateName = GETWORDNUM(m.tnTemplatePkID, 2, ":") + m.llReturn = (UPPER(ALLTRIM(m.lcTemplateGrid)) == UPPER(ALLTRIM(gridname)) and ; + UPPER(ALLTRIM(m.lcTemplateName)) == UPPER(ALLTRIM(template))) + IF !m.llReturn + LOCATE FOR m.lcTemplateGrid == UPPER(ALLTRIM(gridname)) AND m.lcTemplateName == UPPER(ALLTRIM(template)) + m.llReturn = FOUND(m.lcTemplateTableJustStem) + ENDIF + ENDIF + ENDIF + ENDIF + RETURN m.llReturn + ENDPROC + + PROCEDURE templatesave + LPARAMETERS tcGridName, tcTemplateName + LOCAL lcAliasWas, lnTemplatePkID + m.lcAliasWas = ALIAS() + IF !This.TemplateLocate(m.tcGridName + ":" + m.tcTemplateName) + APPEND BLANK + replace template WITH m.tcTemplateName, gridname WITH m.tcGridName + m.lnTemplatePkID = pkid + this.saveacolumnfilters(m.lnTemplatePkID) + this.savecustomcolumnfilters(m.lnTemplatePkID) + this.savecolumnsort(m.lnTemplatePkID) + ELSE + m.lnTemplatePkID = pkid + this.saveacolumnfilters(m.lnTemplatePkID) + this.savecustomcolumnfilters(m.lnTemplatePkID) + this.savecolumnsort(m.lnTemplatePkID) + ENDIF + IF ALIAS() != m.lcAliasWas AND USED(m.lcAliasWas) + SELECT (m.lcAliasWas) + ENDIF + + ENDPROC + +ENDDEFINE + +DEFINE CLASS gridextraexport AS image + *< CLASSDATA: Baseclass="image" Timestamp="" Scale="Pixels" Uniqueid="" /> + + * + *m: resizeupdate + *m: zorderupdate + *p: gridextrasobject + *p: gridobject + *p: gridrecordsource + * + + * + Anchor = 12 + gridextrasobject = .NULL. + gridobject = .NULL. + gridrecordsource = this.parent.grid1.recordsource + Height = 16 + Name = "gridextraexport" + Picture = ..\graphics\table_sql_view16.png + Stretch = 1 + Visible = .F. + Width = 18 + * + + PROCEDURE Click + LOCAL loGridUtils + m.loGridUtils = CREATEOBJECT("gridutils", thisform, this.gridobject, this.gridextrasobject) + m.loGridUtils.Show(1) + + *!* Local lcGridSource, lcAliasWas, lcXLSFile, lcAction, lcFileName, lcPath + *!* lcGridSource = Evaluate(This.gridrecordsource) + *!* If Used(lcGridSource) + *!* lcAliasWas = Alias() + *!* Select (lcGridSource) + *!* lcXLSFile = Putfile("Excel Filename",Sys(2015) + ".xls", "XLS") + *!* If !Empty(lcXLSFile) + *!* Copy To (lcXLSFile) Type Xls + *!* GO TOP IN (m.lcGridSource) + *!* If File(lcXLSFile) + *!* lcFileName = Justfname(lcXLSFile) + *!* If Messagebox("The File " + lcFileName + Chr(13) + "was successfully exported." + Chr(13) +; + *!* "Would you like to open it now?",36,"EXCEL EXPORT SUCCESSFUL") = 6 + *!* Declare Integer ShellExecute In shell32.Dll ; + *!* INTEGER hndWin, ; + *!* STRING cAction, ; + *!* STRING cFileName, ; + *!* STRING cParams, ; + *!* STRING cDir, ; + *!* INTEGER nShowWin + *!* lcAction = "open" + *!* lcPath=Justpath(lcXLSFile) + *!* ShellExecute(0,lcAction,lcFileName,lcPath,"",1) + *!* Endif + *!* Endif + *!* ENDIF + *!* IF USED(m.lcAliasWas) + *!* SELECT(m.lcAliasWas) + *!* ENDIF + *!* Else + *!* Messagebox("Record source for grid does not appear to be open or a table",16,"Unable to Export") + *!* Endif + + ENDPROC + + PROCEDURE Init + LPARAMETERS toGridExtras + this.gridextrasobject = m.toGridExtras + this.ZOrder(0) + ENDPROC + + PROCEDURE resizeupdate + LOCAL lnAnchorWas + m.lnAnchorWas = this.Anchor + this.Anchor = 0 + this.Left = (This.GridObject.Left + This.GridObject.Width - 19) + this.Top = (This.GridObject.Top + This.GridObject.Height - 18) + this.Anchor = m.lnAnchorWas + this.ZOrder(0) + ENDPROC + + PROCEDURE zorderupdate + LPARAMETERS tnzOrder + + this.zorder(0) + *!* this.zorder(Max(0, This.GridObject.zOrder - 1)) + ENDPROC + +ENDDEFINE + +DEFINE CLASS gridextraform AS form + *< CLASSDATA: Baseclass="form" Timestamp="" Scale="Pixels" Uniqueid="" /> + + *-- OBJECTDATA items order determines ZOrder / El orden de los items OBJECTDATA determina el ZOrder + *< OBJECTDATA: ObjPath="shpSplitter" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="cmdFilter" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="Check1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="Grid1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="Grid1.Column1.Header1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="Grid1.Column1.Check1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="Grid1.Column2.Header1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="Grid1.Column2.Text1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="Gridcustomfilter1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="Image1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="lblMore" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="cmdExit" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="txtSearch" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="cmdSearch" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="cmdClearFilter" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="tmrCheckform" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="tmrFadeform" UniqueID="" Timestamp="" /> + + * + *m: buildfilter + *m: clearfilter + *m: retrievepreviouschecks + *m: retrievepreviouscustomfilter + *m: search + *m: setup + *m: showfilteroptions + *p: casesensitive + *p: columncontrolsource + *p: columnobject + *p: delimiter + *p: findnext + *p: globalarrayname + *p: gridextraobject + *p: gridrecordsource + *p: indexcustomcolumnfilter + *p: rundeactivaterelease + *p: uniquecursorname + *p: _fade + *p: _infademode + *p: _inform + * + + * + AlwaysOnTop = .T. + BackColor = 255,255,255 + BorderStyle = 3 + Caption = "" + casesensitive = .T. + columncontrolsource = + columnobject = NULL + delimiter = || + Desktop = .T. + DoCreate = .T. + findnext = .F. + globalarrayname = .F. + gridextraobject = NULL + gridrecordsource = + Height = 382 + indexcustomcolumnfilter = 0 + Left = 0 + Name = "gridextraform" + rundeactivaterelease = .T. + ShowTips = .T. + TitleBar = 0 + Top = 0 + uniquecursorname = + Width = 228 + WindowType = 0 + _fade = 255 + _infademode = .T. + _inform = .T. + * + + ADD OBJECT 'Check1' AS checkbox WITH ; + Alignment = 0, ; + Anchor = 3, ; + AutoSize = .T., ; + BackStyle = 0, ; + Caption = " Selecteaza tot", ; + ForeColor = 128,128,255, ; + Height = 17, ; + Left = 5, ; + Name = "Check1", ; + TabIndex = 6, ; + Top = 147, ; + Value = .T., ; + Width = 97 + *< END OBJECT: BaseClass="checkbox" /> + + ADD OBJECT 'cmdClearFilter' AS commandbutton WITH ; + Anchor = 3, ; + Caption = "", ; + Height = 26, ; + Left = 168, ; + Name = "cmdClearFilter", ; + Picture = clearfilter16.bmp, ; + PicturePosition = 4, ; + TabIndex = 3, ; + ToolTipText = "Sterge filtrul existent", ; + Top = 4, ; + Width = 28 + *< END OBJECT: BaseClass="commandbutton" /> + + ADD OBJECT 'cmdExit' AS commandbutton WITH ; + Anchor = 3, ; + Caption = "", ; + Height = 26, ; + Left = 196, ; + Name = "cmdExit", ; + Picture = close16.bmp, ; + PicturePosition = 4, ; + TabIndex = 4, ; + ToolTipText = "Renunta si inchide", ; + Top = 4, ; + Width = 28 + *< END OBJECT: BaseClass="commandbutton" /> + + ADD OBJECT 'cmdFilter' AS commandbutton WITH ; + Caption = "Filtreaza", ; + Height = 26, ; + Left = 144, ; + Name = "cmdFilter", ; + Picture = addfilter16.bmp, ; + PicturePosition = 4, ; + TabIndex = 8, ; + ToolTipText = "Aplica filtrul si inchide", ; + Top = 352, ; + Width = 80 + *< END OBJECT: BaseClass="commandbutton" /> + + ADD OBJECT 'cmdSearch' AS commandbutton WITH ; + Anchor = 3, ; + Caption = "", ; + Height = 25, ; + Left = 140, ; + Name = "cmdSearch", ; + Picture = search16.bmp, ; + TabIndex = 2, ; + ToolTipText = "Cauta", ; + Top = 4, ; + Width = 28 + *< END OBJECT: BaseClass="commandbutton" /> + + ADD OBJECT 'Grid1' AS grid WITH ; + AllowHeaderSizing = .F., ; + AllowRowSizing = .F., ; + ColumnCount = 2, ; + DeleteMark = .F., ; + GridLines = 0, ; + HeaderHeight = 0, ; + Height = 182, ; + Highlight = .F., ; + HighlightRow = .F., ; + HighlightRowLineWidth = 0, ; + Left = -1, ; + Name = "Grid1", ; + RecordMark = .F., ; + ScrollBars = 2, ; + SplitBar = .F., ; + TabIndex = 7, ; + Top = 165, ; + Width = 230, ; + Column1.Name = "Column1", ; + Column1.Resizable = .F., ; + Column1.Sparse = .F., ; + Column1.Width = 23, ; + Column2.Name = "Column2", ; + Column2.ReadOnly = .T., ; + Column2.Resizable = .F., ; + Column2.Width = 183 + *< END OBJECT: BaseClass="grid" /> + + ADD OBJECT 'Grid1.Column1.Check1' AS checkbox WITH ; + Alignment = 0, ; + Caption = "", ; + Centered = .T., ; + Height = 17, ; + Left = 12, ; + Name = "Check1", ; + Top = 11, ; + Width = 60 + *< END OBJECT: BaseClass="checkbox" /> + + ADD OBJECT 'Grid1.Column1.Header1' AS header WITH ; + Caption = "Header1", ; + Name = "Header1" + *< END OBJECT: BaseClass="header" /> + + ADD OBJECT 'Grid1.Column2.Header1' AS header WITH ; + Caption = "Header1", ; + Name = "Header1" + *< END OBJECT: BaseClass="header" /> + + ADD OBJECT 'Grid1.Column2.Text1' AS textbox WITH ; + BackColor = 255,255,255, ; + BorderStyle = 0, ; + ForeColor = 0,0,0, ; + Margin = 0, ; + Name = "Text1", ; + ReadOnly = .T. + *< END OBJECT: BaseClass="textbox" /> + + ADD OBJECT 'Gridcustomfilter1' AS gridcustomfilter WITH ; + Anchor = 3, ; + Left = 4, ; + Name = "Gridcustomfilter1", ; + TabIndex = 5, ; + Top = 60, ; + Combo1.Left = 1, ; + Combo1.Name = "Combo1", ; + Text1.Height = 23, ; + Text1.Left = 21, ; + Text1.Name = "Text1", ; + Text1.Top = 27, ; + Text1.Width = 170, ; + Text2.Height = 23, ; + Text2.Left = 21, ; + Text2.Name = "Text2", ; + Text2.Top = 52, ; + Text2.Width = 170 + *< END OBJECT: ClassLib="gridextras.vcx" BaseClass="container" /> + + ADD OBJECT 'Image1' AS image WITH ; + Anchor = 3, ; + Height = 16, ; + Left = 5, ; + Name = "Image1", ; + Picture = showfilters16.bmp, ; + Top = 33, ; + Width = 16 + *< END OBJECT: BaseClass="image" /> + + ADD OBJECT 'lblMore' AS label WITH ; + Anchor = 3, ; + AutoSize = .F., ; + BackStyle = 0, ; + Caption = "Mai mult...", ; + ForeColor = 128,128,255, ; + Height = 17, ; + Left = 24, ; + Name = "lblMore", ; + TabIndex = 10, ; + Top = 33, ; + Width = 72 + *< END OBJECT: BaseClass="label" /> + + ADD OBJECT 'shpSplitter' AS shape WITH ; + Anchor = 11, ; + Height = 1, ; + Left = -4, ; + Name = "shpSplitter", ; + SpecialEffect = 0, ; + Top = 54, ; + Width = 235 + *< END OBJECT: BaseClass="shape" /> + + ADD OBJECT 'tmrCheckform' AS checkform WITH ; + Left = 42, ; + Name = "tmrCheckform", ; + Top = 355 + *< END OBJECT: ClassLib="gridextras.vcx" BaseClass="timer" /> + + ADD OBJECT 'tmrFadeform' AS fadeform WITH ; + Left = 72, ; + Name = "tmrFadeform", ; + Top = 355 + *< END OBJECT: ClassLib="gridextras.vcx" BaseClass="timer" /> + + ADD OBJECT 'txtSearch' AS textbox WITH ; + Anchor = 3, ; + FontItalic = .T., ; + ForeColor = 128,128,255, ; + Format = "K", ; + Height = 23, ; + Left = 5, ; + Name = "txtSearch", ; + SelectOnEntry = .T., ; + TabIndex = 1, ; + Top = 5, ; + Value = Cauta, ; + Width = 135 + *< END OBJECT: BaseClass="textbox" /> + + PROCEDURE buildfilter + LOCAL llAllChecked, lnFilterCounter, lnOriginalLen, ; + lcColumnName, llNoneChecked, lcAtCommand, lcGlobalArray, ; + lnIndexCustomColumnFilter + IF this.casesensitive + m.lcAtCommand= "AT" + else + m.lcAtCommand= "ATC" + ENDIF + this.clearfilter() + m.llAllChecked = .T. + m.llNoneChecked = .T. + m.lnOriginalLen = ALEN(This.gridextraobject.acolumnfilters, 1) + IF TYPE("This.gridextraobject.acolumnfilters(1,2)") != "C" AND m.lnOriginalLen = 1 + m.lnOriginalLen = 0 + ENDIF + + *!* This.GridExtraObject.CustomFilterString = this.gridcustomfilter1.filterstring + + **************************************** + *!* Save custom filter settings so they can be restored + IF thisform.indexcustomcolumnfilter < 1 + thisform.indexcustomcolumnfilter = ALEN(this.GridExtraObject.CustomColumnFilters,1) + 1 + DIMENSION this.GridExtraObject.CustomColumnFilters (thisform.indexcustomcolumnfilter,5) + ENDIF + WITH this.GridExtraObject + .CustomColumnFilters(thisform.indexcustomcolumnfilter,1) = this.columnobject.name + .CustomColumnFilters(thisform.indexcustomcolumnfilter,2) = this.gridcustomfilter1.combo1.ListIndex + .CustomColumnFilters(thisform.indexcustomcolumnfilter,3) = this.gridcustomfilter1.text1.Value + .CustomColumnFilters(thisform.indexcustomcolumnfilter,4) = this.gridcustomfilter1.text2.Value + .CustomColumnFilters(thisform.indexcustomcolumnfilter,5) = this.gridcustomfilter1.filterstring + ENDWITH + **************************************** + + m.lcGlobalArray = [_GEScr.]+This.GlobalArrayname + m.lnFilterCounter = m.lnOriginalLen + IF !This.check1.Value + GO TOP IN (This.uniquecursorname) + m.lcColumnName = ALLTRIM(this.columnobject.name) + DO WHILE !EOF(This.uniquecursorname) + IF EVALUATE(This.uniquecursorname + ".checked") + m.llNoneChecked = .F. + IF m.lnFilterCounter = m.lnOriginalLen + m.lnFilterCounter = m.lnFilterCounter + 1 + DIMENSION &lcGlobalArray.(m.lnFilterCounter,1) + DIMENSION This.gridextraobject.acolumnfilters(m.lnFilterCounter,3) + This.gridextraobject.acolumnfilters(m.lnFilterCounter,1) = "(" + This.gridextraobject.acolumnfilters(m.lnFilterCounter,2) = m.lcColumnName + m.lnFilterCounter = m.lnFilterCounter + 1 + DIMENSION &lcGlobalArray.(m.lnFilterCounter,1) + DIMENSION This.gridextraobject.acolumnfilters(m.lnFilterCounter,3) + This.gridextraobject.acolumnfilters(m.lnFilterCounter,1) = m.lcAtCommand + "([" + this.delimiter + "]+TRANSFORM(" + This.columncontrolsource + ")+[" + this.delimiter + "],"+; + [ _GEScr.]+This.GlobalArrayname+[(]+ALLTRIM(STR(m.lnFilterCounter))+[,1)] + This.gridextraobject.acolumnfilters(m.lnFilterCounter,2) = m.lcColumnName + This.gridextraobject.acolumnfilters(m.lnFilterCounter,3) = ; + this.delimiter + TRANSFORM(EVALUATE(This.uniquecursorname + ".actvalues")) + this.delimiter + ELSE + This.gridextraobject.acolumnfilters(m.lnFilterCounter,3) = ; + This.gridextraobject.acolumnfilters(m.lnFilterCounter,3) + ; + TRANSFORM(EVALUATE(This.uniquecursorname + ".actvalues")) + this.delimiter + ENDIF + ELSE + m.llAllChecked = .F. + ENDIF + SKIP 1 IN (This.uniquecursorname) + ENDDO + ENDIF + IF m.lnFilterCounter = 0 + DIMENSION This.gridextraobject.acolumnfilters(1,3) + STORE .F. TO This.gridextraobject.acolumnfilters + DIMENSION &lcGlobalArray.(1,1) + STORE .F. TO &lcGlobalArray + ELSE + IF m.llAllChecked OR m.llNoneChecked + *!* DIMENSION This.gridextraobject.acolumnfilters(1,3) + *!* This.gridextraobject.acolumnfilters(1,1) = "" + *!* This.gridextraobject.acolumnfilters(1,2) = "" + ELSE + &lcGlobalArray.(m.lnFilterCounter,1) = This.gridextraobject.acolumnfilters(m.lnFilterCounter,3) + This.gridextraobject.acolumnfilters(m.lnFilterCounter,1) = ; + This.gridextraobject.acolumnfilters(m.lnFilterCounter,1) + ")>0" + m.lnFilterCounter = m.lnFilterCounter + 1 + DIMENSION &lcGlobalArray.(m.lnFilterCounter,1) + DIMENSION This.gridextraobject.acolumnfilters(m.lnFilterCounter,3) + This.gridextraobject.acolumnfilters(m.lnFilterCounter,1) = ")" + This.gridextraobject.acolumnfilters(m.lnFilterCounter,2) = m.lcColumnName + &lcGlobalArray.(m.lnFilterCounter,1) = "" + ENDIF + ENDIF + ENDPROC + + PROCEDURE clearfilter + LOCAL lnCounter, lcColumnName, lnIndex, lcGlobalArray, lcFilter + LOCAL ARRAY aTemp(ALEN(This.gridextraobject.acolumnfilters, 1),3) + =ACOPY(This.gridextraobject.acolumnfilters, aTemp) + DIMENSION This.gridextraobject.acolumnfilters(1,3) + STORE .F. TO This.gridextraobject.acolumnfilters + m.lcGlobalArray = [_GEScr.]+This.GlobalArrayname + m.lnIndex = 0 + m.lcColumnName = UPPER(ALLTRIM(this.columnobject.name)) + FOR m.lnCounter = 1 TO ALEN(aTemp, 1) + IF TYPE("aTemp(m.lnCounter,2)") = "C" + IF UPPER(ALLTRIM(aTemp(m.lnCounter,2))) == m.lcColumnName + *!* =ADEL(This.gridextraobject.acolumnfilters, m.lnCounter) + ELSE + m.lnIndex = m.lnIndex + 1 + DIMENSION This.gridextraobject.acolumnfilters(m.lnIndex,3) + DIMENSION &lcGlobalArray.(m.lnIndex,1) + m.lcFilter = aTemp(m.lnCounter,1) + m.lcFilter = STRTRAN(m.lcFilter, m.lcGlobalArray+"("+ALLTRIM(STR(m.lnCounter))+",1)", m.lcGlobalArray+"("+ALLTRIM(STR(m.lnIndex))+",1)") + This.gridextraobject.acolumnfilters(m.lnIndex,1) = m.lcFilter + This.gridextraobject.acolumnfilters(m.lnIndex,2) = aTemp(m.lnCounter,2) + This.gridextraobject.acolumnfilters(m.lnIndex,3) = aTemp(m.lnCounter,3) + &lcGlobalArray.(m.lnIndex,1) = aTemp(m.lnCounter,3) + ENDIF + ENDIF + ENDFOR + IF thisform.indexcustomcolumnfilter > 0 + thisform.gridextraobject.CustomColumnFilters(thisform.indexcustomcolumnfilter,5) = "" + ENDIF + + ENDPROC + + PROCEDURE Deactivate + IF !thisform.RunDeactivateRelease + RETURN + ENDIF + thisform.Release() + ENDPROC + + PROCEDURE Init + LPARAMETERS toColumnObject, toGridExtraObject + This.ColumnObject = m.toColumnObject + This.GridExtraObject = m.toGridExtraObject + IF TYPE("This.ColumnObject.Name") != "C" OR TYPE("This.GridExtraObject.Name") != "C" + RETURN .F. + ENDIF + m.toGridExtraObject.CreateScreenReference() + this.casesensitive = This.GridExtraObject.casesensitive + this.UniqueCursorName = m.toGridExtraObject.GlobalArrayName + This.GlobalArrayName = m.toGridExtraObject.GlobalArrayName + this.Height = this.shpSplitter.Top + this.MinHeight = this.Height + this.MaxHeight = this.Height + this.MaxWidth = this.width + this.MinWidth = this.Width + This.Setup() + IF OS() < "Windows 5.00" + RETURN + ENDIF + + DECLARE SetWindowLong In Win32Api AS _Sol_SetWindowLong Integer, Integer, Integer + DECLARE SetLayeredWindowAttributes In Win32Api AS _Sol_SetLayeredWindowAttributes Integer, String, Integer, Integer + _Sol_SetWindowLong(THISFORM.hWnd, -20, 0x00080000) + _Sol_SetLayeredWindowAttributes(THISFORM.hWnd, 0, 255, 2) + + This.tmrCheckForm.Interval = 200 + + ENDPROC + + PROCEDURE retrievepreviouschecks + LOCAL lnCounter, lcColumnName, llFoundOne, lcIndexOneValue, lcIndexTwoValue, lcAtCommand + IF this.casesensitive + m.lcAtCommand= "AT" + else + m.lcAtCommand= "ATC" + ENDIF + m.lcColumnName = ALLTRIM(this.columnobject.name) + m.llFoundOne = .F. + m.llDoInitialUpdateToFalse = .T. + FOR m.lnCounter = 1 TO ALEN(This.gridextraobject.acolumnfilters,1) + m.lcIndexTwoValue = This.gridextraobject.acolumnfilters(m.lnCounter,2) + IF TYPE("m.lcIndexTwoValue") = "C" + m.lcIndexOneValue = This.gridextraobject.acolumnfilters(m.lnCounter,3) + IF m.lcIndexTwoValue == m.lcColumnName ; + AND NOT EMPTY(m.lcIndexOneValue) + IF m.llDoInitialUpdateToFalse + m.llDoInitialUpdateToFalse = .F. + UPDATE (this.uniquecursorname) SET checked = .F. WHERE .T. + ENDIF + GO TOP IN (this.uniquecursorname) + DO WHILE !EOF(this.uniquecursorname) + IF &lcAtCommand.(this.delimiter + TRANSFORM(EVALUATE(This.uniquecursorname + ".actvalues")) + this.delimiter, m.lcIndexOneValue) > 0 + m.llFoundOne = .T. + replace checked WITH .T. IN (this.uniquecursorname) + ENDIF + SKIP 1 IN (this.uniquecursorname) + ENDDO + ENDIF + ENDIF + ENDFOR + IF m.llFoundOne + this.check1.Value = .F. + GO TOP IN (this.uniquecursorname) + this.grid1.Refresh() + ENDIF + ENDPROC + + PROCEDURE retrievepreviouscustomfilter + LOCAL lnIndexCustomColumnFilter + m.lnIndexCustomColumnFilter = ASCAN(this.GridExtraObject.CustomColumnFilters, this.columnobject.name, -1, -1, 1, 15) + IF m.lnIndexCustomColumnFilter > 0 + this.gridcustomfilter1.combo1.ListIndex = this.GridExtraObject.CustomColumnFilters(m.lnIndexCustomColumnFilter,2) + this.gridcustomfilter1.text1.Value = this.GridExtraObject.CustomColumnFilters(m.lnIndexCustomColumnFilter,3) + this.gridcustomfilter1.text2.Value = this.GridExtraObject.CustomColumnFilters(m.lnIndexCustomColumnFilter,4) + this.gridcustomfilter1.combo1.refresh() + this.gridcustomfilter1.text1.refresh() + this.gridcustomfilter1.text2.refresh() + ENDIF + thisform.indexcustomcolumnfilter = m.lnIndexCustomColumnFilter + ENDPROC + + PROCEDURE search + Local lcControlSource, lcRecordSource, lcAliasWas, lcSearchValue + If Thisform.txtSearch.FontItalic + Thisform.txtSearch.SetFocus() + ELSE + this.gridextraobject.Search(this.txtSearch.Value, this.findnext) + this.findnext = .T. + Endif + + ENDPROC + + PROCEDURE setup + *!* 14.08.2009 + *!* marius.mutu + LOCAL lcType, lcColumn + + LOCAL lcRecordSource, lcControlSource, lcCursorName, ; + lcControlSourceJustStem, loActiveControlInColumn, ; + lcColumnCursorName, llActiveControlIsCombobox, lcOrderByClause + m.lcRecordSource = ALLTRIM(this.columnobject.parent.recordsource) + m.lcControlSource = ALLTRIM(this.columnobject.controlsource) && ALLTRIM(IIF(AT(".",this.columnobject.controlsource) > 0, JUSTEXT(this.columnobject.controlsource), this.columnobject.controlsource)) + this.gridrecordsource = m.lcRecordSource + this.columncontrolsource = m.lcControlSource + m.lcCursorName = This.UniqueCursorName + IF AT(".",m.lcControlSource) > 0 + m.lcControlSourceJustStem = JUSTSTEM(m.lcControlSource) + IF UPPER(ALLTRIM(m.lcControlSourceJustStem)) != UPPER(ALLTRIM(m.lcRecordSource)) AND USED(m.lcControlSourceJustStem) + m.lcRecordSource = m.lcControlSourceJustStem + ENDIF + ENDIF + m.loActiveControlInColumn = EVALUATE("this.columnobject." + this.columnobject.currentcontrol) + m.llActiveControlIsCombobox = (LOWER(m.loActiveControlInColumn.BaseClass) = "combobox" AND m.loActiveControlInColumn.BoundColumn > 1) + IF m.llActiveControlIsCombobox + this.gridcustomfilter1.Visible = .F. + ENDIF + m.lcOrderByClause = "" + m.lcDistinct = "" + IF TYPE(m.lcControlSource) != "M" + m.lcOrderByClause = "ORDER BY 2" + m.lcDistinct = "Distinct" + ENDIF + IF !this.casesensitive AND TYPE(m.lcControlSource) = "C" + IF m.llActiveControlIsCombobox + m.lcColumnCursorName = this.gridextraobject.GetComboCursorName(m.loActiveControlInColumn) + IF USED(m.lcColumnCursorName) + SELECT &lcDistinct .T. as checked, UPPER(disptext) as fldvalues, TRANSFORM(fkid) as actvalues; + FROM (m.lcRecordSource) WITH (Buffering = .T.) INNER JOIN &lcColumnCursorName ON &lcControlSource = &lcColumnCursorName..fkid ; + &lcOrderByClause ; + INTO CURSOR &lcCursorName READWRITE + ENDIF + ELSE + SELECT &lcDistinct .T. as checked, UPPER(&lcControlSource) as fldvalues, UPPER(&lcControlSource) as actvalues ; + FROM (m.lcRecordSource) WITH (Buffering = .T.) ; + &lcOrderByClause ; + INTO CURSOR &lcCursorName READWRITE + ENDIF + ELSE + IF m.llActiveControlIsCombobox + m.lcColumnCursorName = this.gridextraobject.GetComboCursorName(m.loActiveControlInColumn) + IF USED(m.lcColumnCursorName) + SELECT &lcDistinct .T. as checked, disptext as fldvalues, TRANSFORM(fkid) as actvalues ; + FROM (m.lcRecordSource) WITH (Buffering = .T.) INNER JOIN &lcColumnCursorName ON &lcControlSource = &lcColumnCursorName..fkid ; + &lcOrderByClause ; + INTO CURSOR &lcCursorName READWRITE + ENDIF + ELSE + SELECT &lcDistinct .T. as checked, &lcControlSource as fldvalues, &lcControlSource as actvalues ; + FROM (m.lcRecordSource) WITH (Buffering = .T.) ; + &lcOrderByClause ; + INTO CURSOR &lcCursorName READWRITE + ENDIF + ENDIF + This.RetrievePreviousChecks() + Go TOP IN (m.lcCursorName) + this.grid1.RecordSource = m.lcCursorName + IF this.grid1.ColumnCount != 2 + this.grid1.ColumnCount = 2 + ENDIF + this.grid1.column1.ControlSource = "checked" + this.grid1.column2.ControlSource = "fldvalues" + + *!* 14.08.2009 + lcColumn = IIF('.'$m.lcControlSource, m.lcControlSource, m.lcRecordSource + '.' + m.lcControlSource) + lcType = TYPE(m.lcColumn) + this.gridcustomfilter1.Setup(this.columnobject.controls(1).caption, m.lcType, m.lcControlSource) + *!* 14.08.2009 ^ + this.retrievepreviouscustomfilter() + + ENDPROC + + PROCEDURE showfilteroptions + LPARAMETERS tlShowFilterOptions + IF m.tlShowFilterOptions + this.MaxHeight = -1 + this.MaxWidth = -1 + this.Width = this.cmdFilter.Left + this.cmdFilter.Width + 4 + this.Height = this.cmdFilter.Top + this.cmdFilter.Height + 4 + this.grid1.Anchor = 15 + this.cmdFilter.Anchor = 12 + ELSE + this.grid1.Anchor = 0 + this.cmdFilter.Anchor = 0 + this.Width = this.cmdExit.Left + this.cmdExit.Width + 4 + this.Height = this.shpSplitter.Top + this.MaxHeight = this.Height + this.MaxWidth = this.width + ENDIF + + ENDPROC + + PROCEDURE Check1.Valid + LOCAL llValue + IF USED(thisform.uniquecursorname) + m.llValue = this.Value + replace ALL checked WITH m.llValue IN (thisform.uniquecursorname) + GO TOP IN (thisform.uniquecursorname) + thisform.grid1.Refresh() + ENDIF + thisform.gridcustomfilter1.clearfiltersettings() + + ENDPROC + + PROCEDURE cmdClearFilter.Click + IF !thisform.check1.Value + thisform.check1.Value = .T. + thisform.check1.Refresh() + thisform.check1.Valid() + ENDIF + IF thisform.gridcustomfilter1.combo1.ListIndex != 1 + thisform.gridcustomfilter1.combo1.ListIndex = 1 + thisform.gridcustomfilter1.combo1.InteractiveChange() + ENDIF + thisform.BuildFilter() + thisform.gridextraobject.applyfilter() + thisform.gridextraobject.setheaderimages() + + ENDPROC + + PROCEDURE cmdExit.Click + thisform.Release() + ENDPROC + + PROCEDURE cmdFilter.Click + Thisform.RunDeactivateRelease = .F. + thisform.BuildFilter() + thisform.gridextraobject.applyfilter() + thisform.gridextraobject.setheaderimages() + thisform.Release() + ENDPROC + + PROCEDURE cmdSearch.Click + thisform.RunDeactivateRelease = .F. + thisform.Search() + thisform.RunDeactivateRelease = .T. + ENDPROC + + PROCEDURE Grid1.Column1.Check1.Valid + LOCAL ARRAY aTemp(1) + IF !this.Value AND thisform.check1.Value + thisform.check1.Value = .F. + thisform.check1.Refresh() + ELSE + IF this.Value + SELECT checked FROM (Thisform.uniquecursorname) WHERE !checked INTO ARRAY aTemp + IF _tally < 1 + thisform.check1.Value = .T. + thisform.check1.Refresh() + ELSE + IF thisform.check1.Value + thisform.check1.Value = .F. + thisform.check1.Refresh() + ENDIF + ENDIF + ENDIF + ENDIF + thisform.gridcustomfilter1.clearfiltersettings() + + ENDPROC + + PROCEDURE Grid1.Resize + this.column2.Width = MAX(this.Width - 45, 20) && JIC we'll make sure this column doesn't get too small or throw error for negative numbers + ENDPROC + + PROCEDURE Image1.MouseEnter + LPARAMETERS nButton, nShift, nXCoord, nYCoord + this.Parent.lblMore.MouseEnter(nButton, nShift, nXCoord, nYCoord) + ENDPROC + + PROCEDURE Image1.MouseLeave + LPARAMETERS nButton, nShift, nXCoord, nYCoord + this.Parent.lblMore.MouseLeave(nButton, nShift, nXCoord, nYCoord) + ENDPROC + + PROCEDURE lblMore.Click + IF this.Caption = "Mai mult..." + this.Caption = "Mai putin..." + Thisform.ShowFilterOptions(.T.) + ELSE + this.Caption = "Mai mult..." + Thisform.ShowFilterOptions(.F.) + ENDIF + + ENDPROC + + PROCEDURE lblMore.MouseEnter + LPARAMETERS nButton, nShift, nXCoord, nYCoord + this.FontUnderline = .T. + this.ForeColor = RGB(0,0,255) + ENDPROC + + PROCEDURE lblMore.MouseLeave + LPARAMETERS nButton, nShift, nXCoord, nYCoord + this.FontUnderline = .F. + this.ForeColor = RGB(128,128,255) + ENDPROC + + PROCEDURE txtSearch.GotFocus + IF this.FontItalic = .T. + this.Value = "" + this.Refresh() + this.FontItalic = .F. + this.ForeColor = RGB(0,0,0) + ENDIF + ENDPROC + + PROCEDURE txtSearch.InteractiveChange + thisform.findnext = .F. + ENDPROC + + PROCEDURE txtSearch.KeyPress + LPARAMETERS nKeyCode, nShiftAltCtrl + IF m.nKeyCode = 13 + NODEFAULT + this.Parent.cmdSearch.Click() + ENDIF + + ENDPROC + + PROCEDURE txtSearch.LostFocus + IF EMPTY(this.Value) + this.Value = "Cauta" + this.FontItalic = .T. + this.ForeColor = RGB(128,128,255) + this.Refresh() + ENDIF + + ENDPROC + +ENDDEFINE + +DEFINE CLASS gridutils AS form + *< CLASSDATA: Baseclass="form" Timestamp="" Scale="Pixels" Uniqueid="" /> + + *-- OBJECTDATA items order determines ZOrder / El orden de los items OBJECTDATA determina el ZOrder + *< OBJECTDATA: ObjPath="Shape5" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="Image1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="Combo1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="Command3" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="Label1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="Command4" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="Command2" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="Command1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="Shape6" UniqueID="" Timestamp="" /> + + * + *m: addtemplate + *m: copytoexcel + *m: deletetemplate + *m: gettemplates + *p: gridextrasobject + *p: gridhierarchy + *p: gridobject + *p: parentform + *p: templatecursorname + * + + * + AlwaysOnTop = .T. + AutoCenter = .T. + Caption = "Sabloane Filtre si Sortari & Export" + DoCreate = .T. + gridextrasobject = .NULL. + gridhierarchy = + gridobject = .NULL. + Height = 250 + Name = "gridutils" + parentform = .NULL. + templatecursorname = + Width = 434 + * + + ADD OBJECT 'Combo1' AS combobox WITH ; + Anchor = 3, ; + Height = 24, ; + Left = 109, ; + Name = "Combo1", ; + Style = 2, ; + TabIndex = 2, ; + Top = 74, ; + Width = 260 + *< END OBJECT: BaseClass="combobox" /> + + ADD OBJECT 'Command1' AS commandbutton WITH ; + Anchor = 6, ; + Caption = "Exporta ", ; + Height = 32, ; + Left = 12, ; + Name = "Command1", ; + Picture = excel24.jpg, ; + PicturePosition = 4, ; + TabIndex = 5, ; + Top = 208, ; + Width = 84 + *< END OBJECT: BaseClass="commandbutton" /> + + ADD OBJECT 'Command2' AS commandbutton WITH ; + Anchor = 12, ; + Caption = "Inchide ", ; + Height = 32, ; + Left = 336, ; + Name = "Command2", ; + Picture = exit.png, ; + PicturePosition = 4, ; + TabIndex = 6, ; + Top = 208, ; + Width = 84 + *< END OBJECT: BaseClass="commandbutton" /> + + ADD OBJECT 'Command3' AS commandbutton WITH ; + Anchor = 3, ; + Caption = "", ; + Height = 26, ; + Left = 369, ; + Name = "Command3", ; + Picture = add16.png, ; + TabIndex = 3, ; + Top = 73, ; + Width = 26 + *< END OBJECT: BaseClass="commandbutton" /> + + ADD OBJECT 'Command4' AS commandbutton WITH ; + Anchor = 3, ; + Caption = "", ; + Height = 26, ; + Left = 394, ; + Name = "Command4", ; + Picture = delete16.png, ; + TabIndex = 4, ; + Top = 73, ; + Width = 26 + *< END OBJECT: BaseClass="commandbutton" /> + + ADD OBJECT 'Image1' AS image WITH ; + Height = 48, ; + Left = 18, ; + Name = "Image1", ; + Picture = table_sql_view.png, ; + Top = 16, ; + Width = 48, ; + ZOrderSet = 16 + *< END OBJECT: BaseClass="image" /> + + ADD OBJECT 'Label1' AS label WITH ; + Anchor = 3, ; + AutoSize = .T., ; + BackStyle = 0, ; + Caption = "Sabloane Filtre si Sortari", ; + Height = 17, ; + Left = 109, ; + Name = "Label1", ; + TabIndex = 1, ; + Top = 57, ; + Width = 137 + *< END OBJECT: BaseClass="label" /> + + ADD OBJECT 'Shape5' AS shape WITH ; + Anchor = 7, ; + BackColor = 255,255,255, ; + Height = 201, ; + Left = -2, ; + Name = "Shape5", ; + SpecialEffect = 0, ; + Top = -2, ; + Width = 89, ; + ZOrderSet = 15 + *< END OBJECT: BaseClass="shape" /> + + ADD OBJECT 'Shape6' AS shape WITH ; + Anchor = 14, ; + BackStyle = 0, ; + Height = 56, ; + Left = -3, ; + Name = "Shape6", ; + SpecialEffect = 0, ; + Top = 197, ; + Width = 441, ; + ZOrderSet = 8 + *< END OBJECT: BaseClass="shape" /> + + PROCEDURE addtemplate + LOCAL llReturn, lcTemplateName + m.llReturn = .F. + m.lcTemplateName = INPUTBOX("Numele sablonului", "Sablon nou Filtru & Export", "") + IF !EMPTY(m.lcTemplateName) + thisform.gridextrasobject.templatesave(thisform.gridhierarchy, m.lcTemplateName) + m.llReturn = .T. + ENDIF + RETURN m.llReturn + + ENDPROC + + PROCEDURE copytoexcel + *!* LPARAMETERS tcXLSFile, tcSheet, tvWorkArea, tcExcelFieldList, tcTableFieldList, tcTableForExpr + #DEFINE ALPHANUMERICCHR "ABCDEFGHIJKLMNOPQRSTUVWXYZ abcdefghijklmnopqrstuvwxyz1234567890" + LOCAL lnCounter, loColumn, lcXLSFile, lcSheetName, lcAliasWas, lcGridAlias, ; + lcExcelFieldList, lcTableFieldList, lcTableForExpression, loHeaderObject, ; + lcFileName, lcAction, lcPath, loExcelApp, loWorkBook, lcKeyName + m.lcXLSFile = "C:\" + SYS(2015) + ".xls" + m.lcXLSFile = PUTFILE("Exporta in Excel:", m.lcXLSFile, "XLS;XLSX;XLSM;XLSB") + IF !EMPTY(m.lcXLSFile) + m.lcAliasWas = ALIAS() + m.lcGridAlias = THIS.gridobject.RECORDSOURCE + *!* m.lcTableForExpression = FILTER(this.gridobject.recordsource) + m.lcSheetName = "Sheet1" + STORE "" TO m.lcExcelFieldList, m.lcTableFieldList + FOR m.lnCounter = 1 TO THIS.gridobject.COLUMNCOUNT + m.loColumn = THIS.gridobject.COLUMNS(m.lnCounter) + IF m.loColumn.VISIBLE AND m.loColumn.WIDTH > 0 + m.loHeaderObject = m.loColumn.CONTROLS(1) + m.lcExcelFieldList = m.lcExcelFieldList + IIF(!EMPTY(m.lcExcelFieldList), ',', '') ; + + ALLTRIM(CHRTRAN(m.loHeaderObject.CAPTION,CHRTRAN(m.loHeaderObject.CAPTION,ALPHANUMERICCHR,""),"")) + m.lcTableFieldList = m.lcTableFieldList + IIF(!EMPTY(m.lcTableFieldList), ',', '') ; + + m.loColumn.CONTROLSOURCE + ENDIF + ENDFOR + *!* MARIUS + CopyToExcelSimple(m.lcXLSFile, m.lcSheetName, m.lcGridAlias, m.lcExcelFieldList, m.lcTableFieldList, FILTER(m.lcGridAlias)) + *!* CopyToExcel(m.lcXLSFile, m.lcSheetName, m.lcGridAlias, m.lcExcelFieldList, m.lcTableFieldList, FILTER(m.lcGridAlias)) + *!* MARIUS ^ + IF FILE(m.lcXLSFile) + m.lcFileName = JUSTFNAME(m.lcXLSFile) + IF MESSAGEBOX('Fisierul ' + m.lcFileName + CHR(13) + 'a fos exportat cu succes.' + CHR(13) +; + 'Doriti sa il deschideti?',36,'SUCCES EXPORT EXCEL') = 6 + TRY + *!* MARIUS + *!* m.loExcelApp = CREATEOBJECT("EXCEL.APPLICATION") + *!* m.loWorkBook = m.loExcelApp.Workbooks.OPEN(m.lcXLSFile) + *!* m.loExcelApp.VISIBLE = .T. + OPEN_DEFAULT_APP(m.lcXLSFile) + *!* MARIUS ^ + CATCH + MESSAGEBOX("Nu s-a putut deschide documentul XLS.",64,"Eroare") + ENDTRY + ENDIF + ENDIF + IF m.lcAliasWas != ALIAS() AND USED(m.lcAliasWas) + SELECT (m.lcAliasWas) + ENDIF + ENDIF + + ENDPROC + + PROCEDURE deletetemplate + LOCAL lcTemplateName + IF !EMPTY(thisform.combo1.DisplayValue) + IF MESSAGEBOX("Doriti sa stergeti sablonul '" + ALLTRIM(thisform.combo1.DisplayValue) + "'?",36,_screen.caption) = 6 + m.lcTemplateName = UPPER(ALLTRIM(thisform.gridhierarchy)) + ":" + ALLTRIM(thisform.combo1.DisplayValue) + thisform.gridextrasobject.templatedelete(m.lcTemplateName) + ENDIF + thisform.gettemplates() + ENDIF + + ENDPROC + + PROCEDURE gettemplates + LOCAL lcTemplateTable, lcTemplateTableJustStem + m.lcTemplateTable = EVALUATE(this.gridextrasobject.templatetable) + m.lcTemplateTableJustStem = JUSTSTEM(m.lcTemplateTable) + IF TYPE("m.lcTemplateTable") = "C" AND FILE(m.lcTemplateTable) + IF !USED(m.lcTemplateTableJustStem) + USE (m.lcTemplateTable) IN 0 SHARED + ENDIF + thisform.combo1.RowSource = "" + SELECT Template FROM (m.lcTemplateTableJustStem) WHERE .F. INTO CURSOR (thisform.templatecursorname) READWRITE + INSERT INTO (thisform.templatecursorname) VALUES ("") + INSERT INTO (thisform.templatecursorname) ; + SELECT Template FROM (m.lcTemplateTableJustStem) ; + WHERE !DELETED() AND UPPER(ALLTRIM(gridname)) == UPPER(ALLTRIM(thisform.gridhierarchy)) ; + ORDER BY 1 + GO TOP IN (thisform.templatecursorname) + thisform.combo1.RowSource = thisform.templatecursorname + thisform.combo1.RowSourceType = 2 + thisform.combo1.DisplayValue = "" + thisform.combo1.Refresh() + ENDIF + ENDPROC + + PROCEDURE Init + LPARAMETERS toParentForm, toGridObject, toGridExtrasObject + thisform.TemplateCursorName = SYS(2015) + thisform.Icon = _screen.icon + thisform.parentform = m.toParentForm + thisform.gridobject = m.toGridObject + thisform.gridhierarchy = Sys(1272, m.toGridObject) + thisform.gridextrasobject = m.toGridExtrasObject + thisform.GetTemplates() + thisform.shape5.ZOrder(1) + thisform.shape6.ZOrder(1) + ENDPROC + + PROCEDURE Load + SET PROCEDURE TO gridextrasprocs.prg ADDITIVE + ENDPROC + + PROCEDURE Unload + USE IN SELECT(this.templatecursorname) + ENDPROC + + PROCEDURE Combo1.InteractiveChange + IF !EMPTY(this.DisplayValue) + *SET STEP ON + thisform.gridextrasobject.templateapply(UPPER(ALLTRIM(thisform.gridhierarchy)) + ":" + ALLTRIM(this.DisplayValue)) + this.SetFocus() + ENDIF + + ENDPROC + + PROCEDURE Command1.Click + thisform.copytoexcel() + ENDPROC + + PROCEDURE Command2.Click + thisform.Release() + ENDPROC + + PROCEDURE Command3.Click + IF thisform.addtemplate() + thisform.getTemplates() + ENDIF + + ENDPROC + + PROCEDURE Command4.Click + IF thisform.combo1.ListIndex > 1 + thisform.deletetemplate() + ENDIF + ENDPROC + +ENDDEFINE diff --git a/utile/GridExtras/gridextrasprocs.prg b/utile/GridExtras/gridextrasprocs.prg new file mode 100644 index 0000000..f9f9abf --- /dev/null +++ b/utile/GridExtras/gridextrasprocs.prg @@ -0,0 +1,712 @@ +******************************** +*!* Simple Sample Usage +******************************** +*!* DIMENSION aWrkSht(1), aCols(1) +*!* m.lcXlsFile = GETFILE("Excel:XLS,XLSX,XLSB,XLSM") +*!* IF FILE(m.lcXlsFile) +*!* CLEAR +*!* ?AWorkSheets(@aWrkSht,m.lcXlsFile,.T.) +*!* ?AWorkSheetColumns(@aCols,m.lcXlsFile,"Sheet1") +*!* AppendFromExcel(m.lcXlsFile, "Sheet1", "MyTable", "column1,column2,column3", "Recnum Is Not Null", "field1,field2,field3", "field1 > 14000") +*!* SELECT MyTable +*!* GO TOP IN "MyTable" +*!* BROWSE LAST NOWAIT +*!* ENDIF +*!* CopyToExcel("C:\Test.xlsx", "Sheet1", "MyTable") && try xls, xlsb, and xlsm as well + +********************************** +FUNCTION AppendFromExcel(tcXLSFile, tcSheet, tvWorkarea, tcExcelFieldList, tcExcelWhereExpr, tcTableFieldList, tcTableForExpr, tlNoHeaderRow) + ********************************** + * PARAMETER Information + * tcXLSFile := a string specifying an excel file (*.xls, *.xlsx, *.xlsm, *.xlsb) on disk + * tcSheet := a string specifying the name of a worksheet within the excel workbook (can also be a range Sheet1$A1:C20 for instance) + * tvWorkarea [optional] := the Alias, Work Area, or File Name of the table you want the worksheet result set appended to (default is currently selected Alias) + * tcExcelFieldList [optional] := a comma delimited list of columns you want from the worksheet (default is '*' - all columns) + * tcExcelWhereExpr [optional] := a valid SQL Where clause to be used when querying the worksheet (default is '1=1') + * tcTableFieldList [optional] := a comma delimited list of fields you want the worksheet result set inserted into (default is '*' - all fields) + * tcTableForExpr [optional] := a valid VFP Where clause to be used when querying the worksheet result set (cursor) (default is '.T.') + * tlNoHeaderRow [optional] := pass .T. if the worksheet does not contain a header row, .F. is the default which specifies that a header row does exist + * + * RETURN Information + * returns numeric, the number of records inserted into tvWorkArea + * + * Provider Information + * the default provider being used in the SQLStringConnect function can be downloaded and installed from: + * http://www.microsoft.com/downloads/details.aspx?FamilyID=7554F536-8C28-4598-9B72-EF94E038C891&displaylang=en + ********************************** + LOCAL lnSelect, laErr[1], laTableFields[1], laExcelFields[1], lnFieldCounter, ; + lcSQLAlias, lnResult, lcInsertValues, lcFieldList, lcNvlFieldList, ; + lcFieldType, lcExcelFieldType, lcNvlFieldName, lcTempAlias, loExc, lnReturn, ; + lcHeaderRow, llOpenedtvWorkArea + m.lnSelect = SELECT(0) + m.lnReturn = 0 + IF NOT FILE(m.tcXLSFile) + ERROR 1, m.tcXLSFile + ENDIF + + IF !USED(m.tvWorkarea) AND TYPE("m.tvWorkArea") = "C" AND FILE(DEFAULTEXT(m.tvWorkarea,"DBF")) + SELECT 0 + USE (DEFAULTEXT(m.tvWorkarea,"DBF")) SHARED AGAIN + m.tvWorkarea = ALIAS() + m.llOpenedtvWorkArea = .T. + ELSE + IF !USED(m.tvWorkarea) + m.tvWorkarea = ALIAS() + ENDIF + ENDIF + IF TYPE("m.tvWorkArea") = "N" + m.tvWorkArea = ALIAS(m.tvWorkArea) + ENDIF + + m.tcSheet = ALLTRIM(EVL(m.tcSheet,"Sheet1$")) + IF AT("$",m.tcSheet) = 0 + m.tcSheet = m.tcSheet + "$" + ENDIF + m.tcExcelFieldList = EVL(m.tcExcelFieldList,"*") + m.tcExcelWhereExpr = EVL(m.tcExcelWhereExpr,"1=1") + m.tcTableFieldList = EVL(m.tcTableFieldList,"*") + m.tcTableForExpr = EVL(m.tcTableForExpr,".T.") + m.lcSQLAlias = SYS(2015) + m.lcTempAlias = SYS(2015) + m.lnSQL = 0 + m.lcHeaderRow = IIF(EMPTY(m.tlNoHeaderRow), "Yes", "No") + TRY + SELECT (m.tvWorkarea) + + m.lnSQL = SQLSTRINGCONNECT([Provider=Microsoft.ACE.OLEDB.12.0;Data Source="] + m.tcXLSFile + [";Extended Properties="Excel 12.0 Xml;HDR=] + m.lcHeaderRow + [;";]) + + *!* Alternate using DSN that comes with Office install (MSDASQL = OLEDB wrapper for ODBC) + *!* m.lnSQL = SQLSTRINGCONNECT("Provider=MSDASQL.1;" ; + *!* +"Persist Security Info=False;" ; + *!* +"DSN=Excel Files;" ; + *!* +"DBQ="+FULLPATH(m.tcXLSFile)+";" ; + *!* +"DriverId=790;" ; + *!* +"MaxBufferSize=2048;" ; + *!* +"PageTimeout=5;") + + *!* Try a few other drivers that may be on the user's machine + IF m.lnSQL < 0 + m.lnSQL = SQLSTRINGCONNECT("Driver={Microsoft Excel Driver (*.xls, *.xlsx, *.xlsm, *.xlsb)};" ; + + "DBQ="+FULLPATH(m.tcXLSFile)+";") + IF m.lnSQL < 0 AND UPPER(ALLTRIM(JUSTEXT(m.tcXLSFile))) == "XLS" && can we try using the older driver? + IF m.lnSQL < 0 + m.lnSQL = SQLSTRINGCONNECT("Driver={Microsoft Excel Driver (*.xls)};" ; + + "DBQ="+FULLPATH(m.tcXLSFile)+";") + ENDIF + ENDIF + IF m.lnSQL < 0 + AERROR(m.laErr) + ERROR m.laErr[2] + ENDIF + ENDIF + + m.lnResult = SQLEXEC(m.lnSQL,[SELECT ] + m.tcExcelFieldList + [ FROM "] + m.tcSheet + [" Where ] + m.tcExcelWhereExpr, m.lcSQLAlias) + IF m.lnResult < 0 + AERROR(m.laErr) + ERROR m.laErr[2] + ENDIF + + IF USED(m.lcSQLAlias) + m.lcFieldList = "" + m.lcNvlFieldList = "" + m.lnTotalExcelFields = AFIELDS(m.laExcelFields, m.lcSQLAlias) + SELECT &tcTableFieldList FROM (m.tvWorkarea) WHERE .F. INTO CURSOR (m.lcTempAlias) + FOR m.lnFieldCounter = 1 TO MIN(AFIELDS(m.laTableFields, m.lcTempAlias), m.lnTotalExcelFields) + m.lcFieldList = m.lcFieldList + IIF(!EMPTY(m.lcFieldList),",","")+m.laTableFields[m.lnFieldCounter,1] + m.lcFieldType = CHRTRAN(m.laTableFields[m.lnFieldCounter,2],"NIFYD","BBBBT") + m.lcExcelFieldType = CHRTRAN(m.laExcelFields[m.lnFieldCounter,2],"CVNIFYD","MMBBBBT") + m.lcNvlFieldName = m.laExcelFields[m.lnFieldCounter,1] + IF !m.laTableFields[m.lnFieldCounter,5] + m.lcNvlFieldName = [NVL(]+m.lcNvlFieldName+[,]+; + ICASE(m.lcExcelFieldType="B", "0", ; + m.lcExcelFieldType="M", "''", ; + m.lcExcelFieldType="T", "{//}", ; + m.lcExcelFieldType="L", ".F.", ; + "''")+[)] + ENDIF + IF INLIST(m.lcFieldType, "C", "V") + m.lcNvlFieldName = [CAST(]+m.lcNvlFieldName+[ AS ]+m.lcFieldType+[(] + TRANSFORM(m.laTableFields[m.lnFieldCounter,3]) + [))] + ELSE + m.lcNvlFieldName = [CAST(]+m.lcNvlFieldName+[ AS ]+m.lcFieldType+[)] + ENDIF + m.lcNvlFieldList = m.lcNvlFieldList + IIF(!EMPTY(m.lcNvlFieldList),",","") + m.lcNvlFieldName + ENDFOR + INSERT INTO (m.tvWorkarea) (&lcFieldList) SELECT &lcNvlFieldList FROM (m.lcSQLAlias) WHERE &tcTableForExpr + m.lnReturn = _TALLY + ENDIF + + CATCH TO m.loExc + *!* MESSAGEBOX(m.loExc.MESSAGE + " : " + TRANSFORM(m.loExc.LINENO)) + FINALLY + IF m.llOpenedtvWorkArea + USE IN SELECT(m.tvWorkArea) + ENDIF + IF m.lnSQL > 0 + SQLDISCONNECT(m.lnSQL) + ENDIF + USE IN SELECT(m.lcTempAlias) + USE IN SELECT(m.lcSQLAlias) + SELECT (m.lnSelect) + ENDTRY + RETURN m.lnReturn +ENDFUNC + +********************************** +FUNCTION AWorkSheets(taArray, tcXLSFile, tlAllTables) + ********************************** + * PARAMETER Information + * taArray := an array sent in by reference to fill with Worksheet/Table information + * tcXLSFile := a string specifying an excel file (*.xls, *.xlsx, *.xlsm, *.xlsb) on disk + * tlAllTables := if .T., array will contain information regarding all tables in workbook; .F. returns only worksheets + * + * RETURN Information + * returns numeric, the number of tables found in the workbook + ********************************** + + LOCAL lnSQL, laErr[1], lcSQLAlias, lnResult, lnReturn, loExc + m.lnReturn = 0 + m.lnSQL = SQLSTRINGCONNECT("Driver={Microsoft Excel Driver (*.xls, *.xlsx, *.xlsm, *.xlsb)};" ; + +"DBQ="+FULLPATH(m.tcXLSFile)+";") + + *!* Alternate using DSN that comes with Office install (MSDASQL = OLEDB wrapper for ODBC) + *!* m.lnSQL = SQLSTRINGCONNECT("Provider=MSDASQL.1;" ; + *!* +"Persist Security Info=False;" ; + *!* +"DSN=Excel Files;" ; + *!* +"DBQ="+FULLPATH(m.tcXLSFile)+";" ; + *!* +"DriverId=790;" ; + *!* +"MaxBufferSize=2048;" ; + *!* +"PageTimeout=5;") + + *!* Try a few other drivers that may be on the user's machine + IF m.lnSQL < 0 + IF UPPER(ALLTRIM(JUSTEXT(m.tcXLSFile))) == "XLS" && can we try using the older driver? + m.lnSQL = SQLSTRINGCONNECT("Driver={Microsoft Excel Driver (*.xls, *.xlsx, *.xlsm, *.xlsb)};" ; + + "DBQ="+FULLPATH(m.tcXLSFile)+";") + IF m.lnSQL < 0 + m.lnSQL = SQLSTRINGCONNECT("Driver={Microsoft Excel Driver (*.xls)};" ; + + "DBQ="+FULLPATH(m.tcXLSFile)+";") + ENDIF + ELSE + m.lnSQL = SQLSTRINGCONNECT("Driver={Microsoft Excel Driver (*.xls, *.xlsx, *.xlsm, *.xlsb)};" ; + + "DBQ="+FULLPATH(m.tcXLSFile)+";") + ENDIF + IF m.lnSQL < 0 + AERROR(m.laErr) + ERROR m.laErr[2] + ENDIF + ENDIF + + m.lcSQLAlias = SYS(2015) + m.lnResult = SQLTABLES(m.lnSQL,"VIEW,TABLE,SYSTEM TABLE",m.lcSQLAlias) + + IF m.lnSQL > 0 + SQLDISCONNECT(m.lnSQL) + ENDIF + + IF m.lnResult < 0 + AERROR(m.laErr) + ERROR m.laErr[2] + ENDIF + + IF USED(m.lcSQLAlias) + TRY + IF tlAllTables + SELECT CAST(ALLTRIM(table_name) AS V(100)), ; + CAST(ALLTRIM(table_type) AS V(12)) ; + FROM (m.lcSQLAlias) ; + INTO ARRAY taArray + ELSE + SELECT CAST(ALLTRIM(table_name) AS V(100)), ; + CAST(ALLTRIM(table_type) AS V(12)) ; + FROM (m.lcSQLAlias) ; + WHERE table_type = "SYSTEM TABLE" ; + INTO ARRAY taArray + ENDIF + m.lnReturn = _TALLY + CATCH TO m.loExc + THROW + FINALLY + *!* USE IN SELECT(m.lcSQLAlias) + ENDTRY + ENDIF + + RETURN m.lnReturn +ENDFUNC + +********************************** +FUNCTION AWorkSheetColumns(taArray, tcXLSFile, tcSheet) + ********************************** + * PARAMETER Information + * taArray := an array sent in by reference to fill with the specified worksheet's column information + * tcXLSFile := a string specifying an excel file (*.xls, *.xlsx, *.xlsm, *.xlsb) on disk + * tcSheet := a string specifying the worksheet or table to use when retrieving column information + * + * RETURN Information + * returns numeric, the number of columns found in the worksheet/table + ********************************** + LOCAL lnSQL, laErr[1], lnResult, lnReturn, lcSQLAlias, loExc + m.lnReturn = 0 + m.lnSQL = SQLSTRINGCONNECT("Driver={Microsoft Excel Driver (*.xls, *.xlsx, *.xlsm, *.xlsb)};" ; + +"DBQ="+FULLPATH(m.tcXLSFile)+";") + *!* Alternate using DSN that comes with Office install (MSDASQL = OLEDB wrapper for ODBC) + *!* m.lnSQL = SQLSTRINGCONNECT("Provider=MSDASQL.1;" ; + *!* +"Persist Security Info=False;" ; + *!* +"DSN=Excel Files;" ; + *!* +"DBQ="+FULLPATH(m.tcXLSFile)+";" ; + *!* +"DriverId=790;" ; + *!* +"MaxBufferSize=2048;" ; + *!* +"PageTimeout=5;") + + *!* Try a few other drivers that may be on the user's machine + IF m.lnSQL < 0 + IF UPPER(ALLTRIM(JUSTEXT(m.tcXLSFile))) == "XLS" && can we try using the older driver? + m.lnSQL = SQLSTRINGCONNECT("Driver={Microsoft Excel Driver (*.xls, *.xlsx, *.xlsm, *.xlsb)};" ; + + "DBQ="+FULLPATH(m.tcXLSFile)+";") + IF m.lnSQL < 0 + m.lnSQL = SQLSTRINGCONNECT("Driver={Microsoft Excel Driver (*.xls)};" ; + + "DBQ="+FULLPATH(m.tcXLSFile)+";") + ENDIF + ELSE + m.lnSQL = SQLSTRINGCONNECT("Driver={Microsoft Excel Driver (*.xls, *.xlsx, *.xlsm, *.xlsb)};" ; + + "DBQ="+FULLPATH(m.tcXLSFile)+";") + ENDIF + IF m.lnSQL < 0 + AERROR(m.laErr) + ERROR m.laErr[2] + ENDIF + ENDIF + + m.lcSQLAlias = SYS(2015) + m.lnResult = SQLEXEC(m.lnSQL,[SELECT * FROM "] + m.tcSheet + [$" Where 1=0], m.lcSQLAlias) + + IF m.lnSQL > 0 + SQLDISCONNECT(m.lnSQL) + ENDIF + + IF m.lnResult < 0 + AERROR(m.laErr) + ERROR m.laErr[2] + ENDIF + + IF USED(m.lcSQLAlias) + TRY + m.lnReturn = AFIELDS(m.taArray, m.lcSQLAlias) + CATCH TO m.loExc + THROW + FINALLY + USE IN SELECT(m.lcSQLAlias) + ENDTRY + ENDIF + + RETURN m.lnReturn +ENDFUNC + +*********************************** +FUNCTION CopyToExcel(tcXLSFile, tcSheet, tvWorkArea, tcExcelFieldList, tcTableFieldList, tcTableForExpr) + *********************************** + * PARAMETER Information + * tcXLSFile := a string specifying an excel file (*.xls, *.xlsx, *.xlsm, *.xlsb) on disk + * tcSheet := a string specifying the name of the worksheet to create within the excel workbook + * tvWorkarea [optional] := the Alias, Work Area, or File Name of the table you want to be copied to the worksheet (default is currently selected Alias) + * tcExcelFieldList [optional] := a comma delimited list of columns you want to create in the worksheet (default is '*' - columns will match table field list) + * tcTableFieldList [optional] := a comma delimited list of fields you want this function to copy from tvWorkArea + * tcTableForExpr [optional] := a valid VFP Where/For clause to be used when querying tvWorkArea for data to be copied to the worksheet + * + * RETURN Information + * returns numeric, the number of records inserted into the worksheet + * + * Provider Information + * the default provider being used in the SQLStringConnect function can be downloaded and installed from: + * http://www.microsoft.com/downloads/details.aspx?FamilyID=7554F536-8C28-4598-9B72-EF94E038C891&displaylang=en + ********************************** + #DEFINE adOpenStatic 3 + #DEFINE adOpenKeyset 1 + #DEFINE adLockOptimistic 3 + #DEFINE adUseClient 3 + #DEFINE adUseServer 2 + #DEFINE adCmdText 0x0001 + LOCAL loConnection as ADODB.Connection, lcCreateTableCommand, llOpenedtvWorkArea, loExc as Exception, ; + lnReturn, lnResult, lnFieldCounter, lnSQL, loCursorAdapter as CursorAdapter, ; + lcFieldName, lcFieldType, lcSelectFields, lcUpdateNameListFields, lcUpdatableFieldList, ; + loRecordSet as ADODB.Recordset, lcConversionFunc, lcVFPFieldName, laTableFields[1], laErr[1] + + m.lnSelect = SELECT(0) + m.lnReturn = 0 + + m.llOpenedtvWorkArea = .F. + IF !USED(m.tvWorkarea) AND TYPE("m.tvWorkArea") = "C" AND FILE(DEFAULTEXT(m.tvWorkarea,"DBF")) + SELECT 0 + USE (DEFAULTEXT(m.tvWorkarea,"DBF")) SHARED AGAIN + m.tvWorkarea = ALIAS() + m.llOpenedtvWorkArea = .T. + ELSE + IF !USED(m.tvWorkarea) + m.tvWorkarea = ALIAS() + ENDIF + ENDIF + IF TYPE("m.tvWorkArea") = "N" + m.tvWorkArea = ALIAS(m.tvWorkArea) + ENDIF + + m.tcSheet = ALLTRIM(EVL(m.tcSheet,"Sheet1$")) + IF AT("$",m.tcSheet) = 0 + m.tcSheet = m.tcSheet + "$" + ENDIF + m.tcExcelFieldList = EVL(m.tcExcelFieldList,"") + m.tcTableFieldList = EVL(m.tcTableFieldList,"*") + m.tcTableForExpr = EVL(m.tcTableForExpr,".T.") + m.lnSQL = 0 + m.lcTempAlias = SYS(2015) + + TRY + CreateExcelTemplate(m.tcXLSFile) + IF !FILE(m.tcXLSFile) + m.lnReturn + ENDIF + m.loConnection = CreateObject ( "ADODB.Connection") + *!* This is the only provider/driver that appears to work without showing Select Data Source dialog + *!* or throwing a weird error about the excel Database being readonly. + m.loConnection.ConnectionString = [Provider=Microsoft.ACE.OLEDB.12.0;Data Source="] + m.tcXLSFile + [";Extended Properties="Excel 12.0 Xml;HDR=Yes;";] + m.loConnection.Open() + m.loConnection.Execute("DROP TABLE [Sheet1$]") + SELECT &tcTableFieldList FROM (m.tvWorkarea) WHERE &tcTableForExpr INTO CURSOR (m.lcTempAlias) NOFILTER + GO TOP IN (m.lcTempAlias) + m.lnReturn = RECCOUNT(m.lcTempAlias) + m.lcCreateTableCommand = "" + m.lcSelectFields = "" + m.lcUpdateNameListFields = "" + m.lcUpdatableFieldList = "" + m.lcConversionFunc = "" + FOR m.lnFieldCounter = 1 TO AFIELDS(m.laTableFields, m.lcTempAlias) + m.lcVFPFieldName = m.laTableFields(m.lnFieldCounter, 1) + m.lcFieldName = ALLTRIM(GETWORDNUM(m.tcExcelFieldList, m.lnFieldCounter, ",")) + IF EMPTY(m.lcFieldName) + m.lcFieldName = m.laTableFields(m.lnFieldCounter, 1) + ENDIF + m.lcSelectFields = m.lcSelectFields + "[" + m.lcFieldName + "] " + " AS " + m.lcVFPFieldName + m.lcUpdateNameListFields = m.lcUpdateNameListFields + m.lcVFPFieldName + " [" + m.tcSheet + "].[" + m.lcFieldName + "]" + m.lcUpdatableFieldList = m.lcUpdatableFieldList + m.lcVFPFieldName + m.lcCreateTableCommand = m.lcCreateTableCommand + "[" + m.lcFieldName + "] " + m.lcFieldType = m.laTableFields(m.lnFieldCounter, 2) + m.lcCreateTableCommand = m.lcCreateTableCommand + ; + ICASE(m.lcFieldType = 'C', 'Char(' + TRANSFORM(m.laTableFields(m.lnFieldCounter, 3)) + ')', ; + m.lcFieldType = 'Y', 'Currency', ; + m.lcFieldType = 'D', 'Date', ; + m.lcFieldType = 'T', 'DateTime', ; + m.lcFieldType = 'B', 'Double', ; + m.lcFieldType = 'F', 'Double', ; + m.lcFieldType = 'G', 'Binary', ; + m.lcFieldType = 'I', 'Integer', ; + m.lcFieldType = 'L', 'Logical', ; + m.lcFieldType = 'M', 'Text', ; + m.lcFieldType = 'N', 'Numeric(' + TRANSFORM(m.laTableFields(m.lnFieldCounter, 3)) + ',' + TRANSFORM(m.laTableFields(m.lnFieldCounter, 4)) + ')', ; + m.lcFieldType = 'Q', 'Binary', ; + m.lcFieldType = 'V', 'VarChar(' + TRANSFORM(m.laTableFields(m.lnFieldCounter, 3)) + ')', ; + m.lcFieldType = 'W', 'Blob', ; + 'Char(' + TRANSFORM(m.laTableFields(m.lnFieldCounter, 3)) + ')') + IF INLIST(m.lcFieldType,"T","D") + m.lcConversionFunc = m.lcConversionFunc + IIF(!EMPTY(m.lcConversionFunc), ", ", "") + m.lcVFPFieldName + " EmptyFieldToNull" + ENDIF + IF m.lnFieldCounter != ALEN(m.laTableFields,1) + m.lcCreateTableCommand = m.lcCreateTableCommand + ',' + m.lcSelectFields = m.lcSelectFields + ',' + m.lcUpdateNameListFields = m.lcUpdateNameListFields + ',' + m.lcUpdatableFieldList = m.lcUpdatableFieldList + ',' + ENDIF + ENDFOR + IF !EMPTY(m.lcCreateTableCommand) + IF m.tcSheet != [Sheet1$] + m.tcSheet = STRTRAN(m.tcSheet,"$","") + ENDIF + m.lcCreateTableCommand = "CREATE TABLE [" + m.tcSheet + "](" + m.lcCreateTableCommand + ")" + m.loConnection.Errors.Clear() + m.loConnection.Execute(m.lcCreateTableCommand) + IF m.loConnection.Errors.Count>0 + ERROR m.loConnection.Errors(0).Description + ENDIF + m.loRecordSet = CreateObject("ADODB.Recordset") + With m.loRecordSet + .ActiveConnection = m.loConnection + .CursorLocation = adUseClient + .CursorType = adOpenStatic + .LockType = adLockOptimistic + ENDWITH + m.loCursorAdapter = CREATEOBJECT("CursorAdapter") + m.loCursorAdapter.Alias = SYS(2015) + m.loCursorAdapter.DataSourceType = "ADO" + m.loCursorAdapter.DataSource = m.loRecordSet + m.loCursorAdapter.SelectCmd = "Select " + m.lcSelectFields + " From [" + m.tcSheet + "]" + IF m.loCursorAdapter.CursorFill(.F.,.T.) + m.loCursorAdapter.Tables = "[" + m.tcSheet + "]" + m.loCursorAdapter.BufferModeOverride = 3 && faster than 5 when dealing with larger record sets + m.loCursorAdapter.UpdateNameList = m.lcUpdateNameListFields + m.loCursorAdapter.UpdatableFieldList = m.lcUpdatableFieldList + IF !EMPTY(m.lcConversionFunc) + m.loCursorAdapter.ConversionFunc = m.lcConversionFunc + ENDIF + INSERT INTO (m.loCursorAdapter.Alias) SELECT * FROM (m.lcTempAlias) + m.lnReturn = TABLEUPDATE(.T.,.T.,m.loCursorAdapter.Alias) + ELSE + AERROR(m.laErr) + ERROR m.laErr(2) + ENDIF + ENDIF + m.loConnection.Close() + CATCH TO m.loExc + SET STEP ON + m.lnReturn = 0 + FINALLY + m.loCursorAdapter = Null + m.loConnection = Null + RELEASE loCursorAdapter, loConnection + IF m.llOpenedtvWorkArea + USE IN SELECT(m.tvWorkarea) + ENDIF + USE IN SELECT(m.lcTempAlias) + SELECT (m.lnSelect) + ENDTRY + RETURN m.lnReturn +ENDFUNC + +*********************************** +FUNCTION CopyToExcelSimple(tcXLSFile, tcSheet, tvWorkArea, tcExcelFieldList, tcTableFieldList, tcTableForExpr) + *********************************** + * PARAMETER Information + * tcXLSFile := a string specifying an excel file (*.xls, *.xlsx, *.xlsm, *.xlsb) on disk + * tcSheet := a string specifying the name of the worksheet to create within the excel workbook + * tvWorkarea [optional] := the Alias, Work Area, or File Name of the table you want to be copied to the worksheet (default is currently selected Alias) + * tcExcelFieldList [optional] := a comma delimited list of columns you want to create in the worksheet (default is '*' - columns will match table field list) + * tcTableFieldList [optional] := a comma delimited list of fields you want this function to copy from tvWorkArea + * tcTableForExpr [optional] := a valid VFP Where/For clause to be used when querying tvWorkArea for data to be copied to the worksheet + * + * RETURN Information + * returns numeric, the number of records inserted into the worksheet + * + ********************************** + + LOCAL llOpenedtvWorkArea, loExc as Exception, ; + lnReturn, lnResult, lnFieldCounter, lnSQL, ; + lcFieldName, lcFieldType, lcSelectFields, ; + laErr[1] + + m.lnSelect = SELECT(0) + m.lnReturn = 0 + + m.llOpenedtvWorkArea = .F. + IF !USED(m.tvWorkarea) AND TYPE("m.tvWorkArea") = "C" AND FILE(DEFAULTEXT(m.tvWorkarea,"DBF")) + SELECT 0 + USE (DEFAULTEXT(m.tvWorkarea,"DBF")) SHARED AGAIN + m.tvWorkarea = ALIAS() + m.llOpenedtvWorkArea = .T. + ELSE + IF !USED(m.tvWorkarea) + m.tvWorkarea = ALIAS() + ENDIF + ENDIF + IF TYPE("m.tvWorkArea") = "N" + m.tvWorkArea = ALIAS(m.tvWorkArea) + ENDIF + + m.tcSheet = ALLTRIM(EVL(m.tcSheet,"Sheet1$")) + IF AT("$",m.tcSheet) = 0 + m.tcSheet = m.tcSheet + "$" + ENDIF + m.tcExcelFieldList = EVL(m.tcExcelFieldList,"") + m.tcTableFieldList = EVL(m.tcTableFieldList,"*") + m.tcTableForExpr = EVL(m.tcTableForExpr,".T.") + m.lnSQL = 0 + m.lcTempAlias = SYS(2015) + + TRY + SELECT &tcTableFieldList FROM (m.tvWorkarea) WHERE &tcTableForExpr INTO CURSOR (m.lcTempAlias) NOFILTER + COPY TO (m.tcXLSFile) TYPE XL5 + CATCH TO m.loExc + SET STEP ON + m.lnReturn = 0 + FINALLY + IF m.llOpenedtvWorkArea + USE IN SELECT(m.tvWorkarea) + ENDIF + USE IN SELECT(m.lcTempAlias) + SELECT (m.lnSelect) + ENDTRY + RETURN m.lnReturn +ENDFUNC + + +******************* +FUNCTION EmptyFieldToNull(tdFieldValue) +******************* + RETURN EVL(m.tdFieldValue,NULL) +ENDFUNC + +******************* +FUNCTION CreateExcelTemplate(tcExcelFile) +******************* + LOCAL lcExcelFileExtension, lcFileBinary + m.llReturn = .F. + IF FILE(m.tcExcelFile) + m.llReturn = .T. + ELSE + m.lcExcelFileExtension = UPPER(JUSTEXT(m.tcExcelFile)) + DO case + CASE m.lcExcelFileExtension = "XLSX" + m.lcFileBinary = 0h504B030414000600080000002100CC7EE6A14E010000080400001300DF015B436F6E74656E745F54797065735D2E786D6C20A2DB0128A00002000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 + m.lcFileBinary = m.lcFileBinary + 0h000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 + m.lcFileBinary = m.lcFileBinary + 0h000000000000000000000000000000000000AC93CB4EC3301045F748FC83E52D8ADDB2400835ED82C712BA281F60EC4963D52F79DCD2FE3D938422814A455536B1226BEE9D39733D996DBD631BC86863A8F9588C3883A0A3B16159F3D7C55375CB1916158C723140CD77807C36BDBC982C7609905175C09AB7A5A43B2951B7E0158A9820D04D13B357857EF35226A5576A09F27A34BA913A8602A154A5D3E0D3C90B3590AD013657B93C2B4F3E72EB64213518BE63417A9CDD0F859D77CD554ACE6A55A873B909E6876B159BC66A3051AF3D79895EECAA5391BF1A62D939C0B3AD306550065B80E29D1844F7CE0FD0A8B52BEC714B0406E8191C9E36DA274C + m.lcFileBinary = m.lcFileBinary + 0h4195FDF8D8DA84471C8EB33BCEE43DE6D55B8CABFFA6D2D1115ED9B0EFFB5008687BF31C134ADAF5D90D4087DC80A91249422E16BE981DF2A60076B3F76B44D91FE7A7F07B34BEF4FFC440C70CA743D867A5AB3E30B9ECDFF1F4030000FFFF0300504B030414000600080000002100B5553023F50000004C0200000B00CE015F72656C732F2E72656C7320A2CA0128A0000200000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 + m.lcFileBinary = m.lcFileBinary + 0h000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 + m.lcFileBinary = m.lcFileBinary + 0h0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000008C92CF4EC3300CC6EF48BC43E4FBEA6E4808A1A5BB4C48BB21541EC024EE1FB58DA32440F7F68403824A63DBD1F6E7CF3F5BDEEEE669541F1C622F4EC3BA2841B133627BD76A78AD9F560FA06222676914C71A8E1C6157DDDE6C5F78A4949B62D7FBA8B28B8B1ABA94FC2362341D4F140BF1EC72A5913051CA6168D19319A865DC94E53D86BF1E502D3CD5C16A08077B07AA3EFA3CF9B2B7344D6F782FE67D62974E8C409E + m.lcFileBinary = m.lcFileBinary + 0h133BCB76E543660BA9CFDBA89A42CB498315F39CD311C9FB2263039E26DA5C4FF4FFB63871224B89D048E0F33CDF8A7340EBEB812E9F68A9F8BDCE3CE2A784E14D64F861C1C50F545F000000FFFF0300504B0304140006000800000021008D87DA70E00000002D0200001A000801786C2F5F72656C732F776F726B626F6F6B2E786D6C2E72656C7320A2040128A00001000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 + m.lcFileBinary = m.lcFileBinary + 0h00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000AC91CB6AC3301045F785FE83987D3D760AA594C8D99442B6C5FD00218F1FC496846692D67F5FE182DD404836D908AE06DD73246D773FE3A04E14B9F74E4391E5A0C8595FF7AED5F0557D3CBD826231AE368377A46122865DF9F8B0FDA4C1483AC45D1F58A516C71A3A91F086C8B6 + m.lcFileBinary = m.lcFileBinary + 0hA3D170E603B934697C1C8DA4185B0CC61E4C4BB8C9F3178CFF3BA03CEB54FB5A43DCD7CFA0AA2924F2ED6EDF34BDA5776F8F2339B98040966948175095892D8986BF9C2547C0CBF8CD3DF1929E8556FA1C715E8B6B0EC53D1DBE7D3C704724ABC7B2C5384F16193CFBE4F2170000FFFF0300504B030414000600080000002100A460FAFF52010000270200000F000000786C2F776F726B626F6F6B2E786D6C8C915D6FC2201486EF97EC3F10EE272DA9CE185B93655BE6CD6232A7D7AC9C5A228506A8D57FBF534CE776B72BCE073CE7BC2FCBD5B9D1E404CE2B6B729A4E124AC094562A73C8E9E7F6F5614E890FC248A1AD819C5EC0D355717FB7ECAD3B7E + m.lcFileBinary = m.lcFileBinary + 0h597B2408303EA77508ED82315FD6D0083FB12D18EC54D6352260EA0ECCB70E84F435406834E34932638D50865E090BF71F86AD2A55C2B32DBB064CB8421C6811707D5FABD6D36259290DBBAB2222DAF65D34B8F75953A2850F2F52059039CD30B53DFC29B8AE7DEA941EBAD3644A59F12372E3085203B88D5327515ED0294A2454A2D3618B82C77958E719E7B3E1ED60CE4E41EF6F982125E7BD32D2F639E5199A7D19B31427923EB6F64A861A51D9FC567B0375A8434EE7499A0C74F60B1F2DC531F12426EAFD186CC625636D8D9230760B85815BCB3412C667A5D0250A1C8E78914F1F7954CFC63F2EBE010000FFFF0300504B0304140006000800000021 + m.lcFileBinary = m.lcFileBinary + 0h00A083C4AEA3010000640300000D000000786C2F7374796C65732E786D6CA453C16ADC3010BD17F20F42F746BB0B0D6DB19D436121909440B6D0AB6CC95EC16864A4F1B2EED767643BDEDD530EBD584F4F336F9E66E4E2F1EC419C6C4C2E6029B7F71B292C36C138EC4AF9E7B0FFFA5D8A441A8D8680B694A34DF2B1BAFB52241AC1BE1DAD25C112984A7924EA7F2A959AA3F53ADD87DE229FB4217A4DBC8D9D4A7DB4DAA49CE441ED369B07E5B54359156D404AA2090312BB5888AA48FFC44903335BA9AAA20910A2209667231383DADB39E29706574797C35AED1D8C33BDCBC4E46889F30E43CCA4CA259725719203580DECB20126AAA2D74436E29E3762 + m.lcFileBinary = m.lcFileBinary + 0hC187B1E7F2C8DD9865A6B84FA2BBA8C7EDEEDB55829A0A56451DA2E1EE5F5F7DA6AA026C4B6C34BAEE98570A3D7FEB40143C03E37417500343F591B100BE4E6301DEF284FEB637DAE756E0E0F79E9E4C2979D6B9091F902FB2C0596FDE64FD6BB559FBBF65C5B9BDD567C52BDB37A6D7F222CFBB94BFF39302B94A887A70400E6F05A7EBB3A6395F5AB0C913205DF3CBCDCD59AB70278C6DF50074580F4B79C12FD6B8C1FF58A35EDD29D02451CA0B7ECE93DA3E4C534EEBEF51BD030000FFFF0300504B030414000600080000002100E9A625B882060000531B000013000000786C2F7468656D652F7468656D65312E786D6CEC594F6FDB3614BF0FD87720 + m.lcFileBinary = m.lcFileBinary + 0h746F6D27B61B07758AD8B19BAD4D1BC46E871E6999965853A240D2497D1BDAE38001C3BA619701BBED306C2BD002BB749F265B87AD03FA15F6484AB218CB4BD2061BD6D58744227F7CFFDFE32375F5DA8388A1432224E571DBAB5DAE7A88C43E1FD338687B7786FD4B1B1E920AC763CC784CDADE9C48EFDAD6FBEF5DC59B2A241141B03E969BB8ED854A259B958AF46118CBCB3C2131CC4DB888B082571154C6021F01DD8855D6AAD56625C234F6508C23207B7B32A13E41434DD2DBCA88F718BCC64AEA019F8981264D9C15063B9ED63442CE659709748859DB033E637E34240F948718960A26DA5ED5FCBCCAD6D50ADE4C1731B5626D615DDFFCD275E982 + m.lcFileBinary = m.lcFileBinary + 0hF174CDF014C128675AEBD75B577672FA06C0D432AED7EB757BB59C9E0160DF074DAD2C459AF5FE46AD93D12C80ECE332ED6EB551ADBBF802FDF525995B9D4EA7D14A65B1440DC83ED697F01BD5667D7BCDC11B90C53796F0F5CE76B7DB74F00664F1CD257CFF4AAB5977F10614321A4F97D0DAA1FD7E4A3D874C38DB2D856F007CA39AC2172888863CBA348B098FD5AA588BF07D2EFA00D04086158D919A2764827D88E22E8E468262CD006F125C98B143BE5C1AD2BC90F4054D54DBFB30C190110B7AAF9E7FFFEAF953F4EAF993E387CF8E1FFE74FCE8D1F1C31F2D2D67E12E8E83E2C297DF7EF6E7D71FA33F9E7EF3F2F117E57859C4FFFAC327BFFCFC79 + m.lcFileBinary = m.lcFileBinary + 0h3910326821D18B2F9FFCF6ECC98BAF3EFDFDBBC725F06D814745F8904644A25BE4081DF0087433867125272371BE15C3105367050E817609E99E0A1DE0AD396665B80E718D775740F128035E9FDD77641D8462A66809E71B61E400F738671D2E4A0D7043F32A5878388B8372E66256C41D607C58C6BB8B63C7B5BD590255330B4AC7F6DD903862EE331C2B1C909828A4E7F8949012EDEE51EAD8758FFA824B3E51E81E451D4C4B4D32A4232790168B7669047E9997E90CAE766CB3771775382BD37A871CBA484808CC4A841F12E698F13A9E291C95911CE288150D7E13ABB04CC8C15CF8455C4F2AF074401847BD3191B26CCD6D01FA169C7E0343BD2A75FB + m.lcFileBinary = m.lcFileBinary + 0h1E9B472E52283A2DA37913735E44EEF06937C45152861DD0382C623F905308518CF6B92A83EF713743F43BF801C72BDD7D9712C7DDA717823B3470445A04889E9909ED4B28D44EFD8D68FC77C59851A8C63606DE15E3B6B70D5B53594AEC9E28C1AB70FFC1C2BB8367F13E81585FDE78DED5DD7775D77BEBEBEEAA5C3E6BB55D1458A8BDBA79B07DB1E992A3954DF28432365073466E4AD3274BD82CC67D18D4EBCC0191E487A62484C7B4B83BB84060B30609AE3EA22A1C8438811EBBE66922814C490712255CC2D9CE0C97D2D678E8D3953D1936F499C1D60389D51E1FDBE1753D9C1D0D723266CB09CCF93363B4AE099C95D9FA959428A8FD3ACC6A5AA8 + m.lcFileBinary = m.lcFileBinary + 0h3373AB19D14CA973B8E52A830F975583C1DC9AD08520E85DC0CA4D38A26BD67036C18C8CB5DDED069CB9C578E1225D24433C26A98FB4DECB3EAA192765B1622E0320764A7CA4CF79A758ADC0ADA5C9BE01B7B338A9C8AEBE825DE6BD37F15216C10B2FE9BC3D918E2C2E26278BD151DB6B35D61A1EF271D2F62670AC85C72801AF4BDDF86116C0DD90AF840DFB5393D964F9C29BAD4C3137096A705361EDBEA4B053071221D50E96A10D0D339586008B35272BFF5A03CC7A510AD8487F0D29D6372018FE3529C08EAE6BC964427C5574766144DBCEBEA6A594CF141183707C84466C260E30B85F872AE833A6126E274C45D02F7095A6AD6DA6DCE29C265DF1 + m.lcFileBinary = m.lcFileBinary + 0h02CBE0EC38664988D372AB5334CB640B37799CCB60DE0AE2816EA5B21BE5CEAF8A49F90B52A518C6FF3355F47E02D705EB63ED011F6E7205463A5FDB1E172AE450859290FA7D018D83A91D102D701D0BD31054709F6CFE0B72A8FFDB9CB3344C5AC3A94F1DD000090AFB910A0521FB50964CF49D42AC96EE5D96244B0999882A882B132BF6881C1236D435B0A9F7760F8510EAA69AA465C0E04EC69FFB9E66D028D04D4E31DF9C1A92EFBD3607FEE9CEC7263328E5D661D3D064F6CF452CD955ED7AB33CDB7B8B8AE889459B55CFB2029815B682569AF6AF29C239B75A5BB196345E6B64C28117973586C1BC214AE0D207E93FB0FF51E133FB71426FA8437E + m.lcFileBinary = m.lcFileBinary + 0h00B515C1B7064D0CC206A2FA926D3C902E907670048D931DB4C1A44959D3A6AD93B65AB6595F70A79BF33D616C2DD959FC7D4E63E7CD99CBCEC9C58B34766A61C7D6766CA5A9C1B32753148626D941C638C67CD52A7E78E2A3FBE0E81DB8E29F31254D30C1672581A1F51C983C80E4B71CCDD2ADBF000000FFFF0300504B030414000600080000002100075F38D31E010000C701000018000000786C2F776F726B7368656574732F7368656574312E786D6C8C514D6BC3300CBD0FF61F8CEE8BD38D6EA324298352B6C360ECEBEE2472626A5BC156D7EDDFCF496819F4B29B3EDE7BD2938AF5B7B3E20B4334E44B58643908F40DB5C677257CBC6FAFEE4144 + m.lcFileBinary = m.lcFileBinary + 0h56BE55963C96F08311D6D5E54571A0B08B3D228BA4E063093DF3B09232363D3A15331AD0A78EA6E014A73474320E01553B919C95D7797E2B9D321E668555F88F06696D1ADC50B377E87916096815A7FD636F860855D19AD41B0D8980BA848705C8AA98C67E1A3CC43FB16055BFA1C586B14DEE418CAE6AA2DD087C4AA57CA4CA33EE7672F512448B5AED2DBFD2E1114DD77312599EA66D14AB441F5487CF2A74C6476151274C9EDD8108337E8A9986A9BA04511333B963D6A783613A4C9EDD80D0447C4CC6B54E2FA87E010000FFFF0300504B030414000600080000002100A6A453EB3E0100005102000011000801646F6350726F70732F636F72652E786D + m.lcFileBinary = m.lcFileBinary + 0h6C20A2040128A00001000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 + m.lcFileBinary = m.lcFileBinary + 0h000000000000000000007C92516BC3201485DF07FB0FC1F7449342DB4992C236FAB4C260191B7B13BD6D65D188BAA5FDF733499BA65006BE78CFB9DF3D5ECC57075547BF609D6C7481D284A008346F84D4BB02BD57EB788922E79916AC6E3414E8080EADCAFBBB9C1BCA1B0BAFB63160BD0417059276949B02EDBD371463C7F7A0984B82430771DB58C57CB8DA1D368C7FB31DE08C903956E099609EE10E189B91884E48C147A4F9B1750F101C430D0AB477384D527CF17AB0CADD6CE8958953497F34E14DA7B853B6E08338BA0F4E8EC6B66D9376D6C708F953FCB97979EB9F1A4BDDED8A032A73C129B7C07C63CB1C4F2F617135737E1376BC95201E8F41 + m.lcFileBinary = m.lcFileBinary + 0hBF5113BC8F3B40404421001DE29E958FD9D373B54665B7C3983CC4E9BC2284F6E7AB1B79D5DF051A0AEA34F87FE2B223924595113A5BD02C9B10CF8021F7F52728FF000000FFFF0300504B03041400060008000000210027388BC4880100001103000010000801646F6350726F70732F6170702E786D6C20A2040128A000010000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 + m.lcFileBinary = m.lcFileBinary + 0h00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000009C92C16EDB300C86EF03F60E86EE8D9C601886405651A41D7AD8B00049BBB326D3B150591244D648F6F4A36DA471BA9DA613C99FF8F58994BA3D76BEE821A38BA112CB45290A0836D62E1C2AF1B4FF7AF345144826D4C6C7009538018A5BFDF183DAE6982093032CD82260255AA2B496126D0B9DC105CB819526E6CE10A7F9 + m.lcFileBinary = m.lcFileBinary + 0h2063D3380BF7D1BE761048AECAF2B3842341A8A1BE496F8662725CF7F4BFA675B4031F3EEF4F8981B5BA4BC93B6B885FA9BF3B9B23C6868A87A305AFE45C544CB703FB9A1D9D74A9E43C553B6B3C6CD85837C623287929A84730C3D0B6C665D4AAA7750F96622ED0FDE6B1AD44F1CB200C3895E84D762610630D6D5332C63E2165FD33E6176C010895E486A93886F3DE79EC3EE9E5D8C0C175E3603081B0708DB877E4017F345B93E91FC4CB39F1C830F14E38BB816FBA73CE373E996F7AE7BD895D32E1C4C25BF4CD85177C4AFB786F08CEE3BC2EAA5D6B32D4BC81B37E29A8479E64F683C9A635E100F5B9E76F6158FEF3F4C3F572B528F98C3B3FD794BC + m.lcFileBinary = m.lcFileBinary + 0hFC65FD070000FFFF0300504B01022D0014000600080000002100CC7EE6A14E010000080400001300000000000000000000000000000000005B436F6E74656E745F54797065735D2E786D6C504B01022D0014000600080000002100B5553023F50000004C0200000B000000000000000000000000005E0300005F72656C732F2E72656C73504B01022D00140006000800000021008D87DA70E00000002D0200001A000000000000000000000000004A060000786C2F5F72656C732F776F726B626F6F6B2E786D6C2E72656C73504B01022D0014000600080000002100A460FAFF52010000270200000F000000000000000000000000006A080000786C2F776F + m.lcFileBinary = m.lcFileBinary + 0h726B626F6F6B2E786D6C504B01022D0014000600080000002100A083C4AEA3010000640300000D00000000000000000000000000E9090000786C2F7374796C65732E786D6C504B01022D0014000600080000002100E9A625B882060000531B00001300000000000000000000000000B70B0000786C2F7468656D652F7468656D65312E786D6C504B01022D0014000600080000002100075F38D31E010000C701000018000000000000000000000000006A120000786C2F776F726B7368656574732F7368656574312E786D6C504B01022D0014000600080000002100A6A453EB3E010000510200001100000000000000000000000000BE130000646F635072 + m.lcFileBinary = m.lcFileBinary + 0h6F70732F636F72652E786D6C504B01022D001400060008000000210027388BC48801000011030000100000000000000000000000000033160000646F6350726F70732F6170702E786D6C504B050600000000090009003E020000F11800000000 + CASE m.lcExcelFileExtension = "XLSB" + m.lcFileBinary = 0h504B030414000600080000002100558086C16D010000020400001300DD015B436F6E74656E745F54797065735D2E786D6C20A2D90128A00002000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 + m.lcFileBinary = m.lcFileBinary + 0h000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 + m.lcFileBinary = m.lcFileBinary + 0h00000000000000000000000000000000A453CD4BC33014BF0BFE0F255769B2791091B53BE8042FBAC3C47396BEAE616912F2B2D9FEF7BEB6ACA0EC83E1A5A16D7E9F2F99CD9BDA247B08A89DCDD8944F580256B942DB4DC63E57AFE9234B304A5B48E32C64AC0564F3FCF666B66A3D6042688B19AB62F44F42A0AAA096C89D074B7F4A176A19E9356C84976A2B3720EE279307A19C8D60631A3B0E96CF5EA0943B139345439F07276B6D59F23CECEBA43226BD375AC94846C5DE16BCC6141A058663051039016468792D55700B2BD706688B241691CF3E2860D005244B19E2BBAC894D344644720BC373CAC9EF05C1DFA95257965A41E1D4AEA62CBC27BBEB + m.lcFileBinary = m.lcFileBinary + 0h584E0B7EBBB0EDDDA2E89769E7FA82EA1873047702471A0B60F002D79F047E980927645F2B56DAE321C21185F3159D894E252D83F3286886FF2E1ABA435240917AA28410358C9E4FCC796C0EC5704ADE08DF5C553EE17AD0179E192FC6D6005E33D301718A72AC4DB900D7F776186F873E5296E86F70FE030000FFFF0300504B0304140006000800000021004382E3C5F70000004C0200000B00CE015F72656C732F2E72656C7320A2CA0128A000020000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 + m.lcFileBinary = m.lcFileBinary + 0h000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 + m.lcFileBinary = m.lcFileBinary + 0h00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000008C92CF4EC3300CC6EF48BC43E4FBEA6E4808A1B5BB20A4DD102A0FE0256E1BB58DA32440F7F66427A834B61DFDEFF3CF9FBCDDCDD3A8BE38442BAE8275518262A7C558D755F0D1BCAE9E40C544CED0288E2B3872845D7D7FB77DE791521E8ABDF5516515172BE853F2CF8851F73C512CC4B3CB9556C2442987A1434F7AA08E7153968F18FE6A40BD + m.lcFileBinary = m.lcFileBinary + 0hD0547B5341D89B0750CDD1E7CDD7B5A56DADE617D19F13BB746605F29CD819362B1F325B48365FA31A0A1DA70A8CE8B79C8E48DE17191BF03CD1E676A2FFAFC58913194A845A025FE639755C025ADF0E74DDA265C7AF3BF388DF128683C8501CAC3B99838B1FA87F000000FFFF0300504B03041400060008000000210006332055E50000002D0200001A000801786C2F5F72656C732F776F726B626F6F6B2E62696E2E72656C7320A2040128A000010000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 + m.lcFileBinary = m.lcFileBinary + 0h0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000AC91C16AC3301044EF85FE83D87BBD760AA594C8B98442AEC1FD00555EDB22B624B4DB36FEFB0A97360DA4F4928B60B468DEEC68BD394EA37AA7C42E780D555182226F43EB7CAFE1A579BE7B04C562 + m.lcFileBinary = m.lcFileBinary + 0h7C6BC6E049C34C0C9BFAF666BDA7D1487EC4838BACB28B670D83487C42643BD064B808917C9E74214D46B24C3D46630FA6275C95E503A6DF1E509F79AA5DAB21EDDA7B50CD1C33F97FEFD075CED236D8B789BC5C4020CB3CE6055463524FA2E14B17AFCE035EC6AFAE89975C0B9DE88BC4E5AC8ADCD35F19AA6B66F808E9C003919C72FC5C312E93EABB103CFBE4FA130000FFFF0300504B030414000600080000002100A76734B792000000C00000000F000000786C2F776F726B626F6F6B2E62696E6A66646860346040034C407E05430E0323903681922C60B62983018329C34C461E0DA0B0D35390020686764686798CB21F80AC4C20BE6AC9C0E025CF + m.lcFileBinary = m.lcFileBinary + 0hC0100132050A2A3A1819FA1919E630AA800440BA40C615317832A4301832B001D9C10C190CA9405802E44F606498CB2825FB9A11AC320528FB67E5C74BBE4901F6209D590CB31819196603710B2303000000FFFF0300504B030414000600080000002100F98F44D4E0000000CA0100000D000000786C2F7374796C65732E62696EA4904F4B424114C57FBEB9E8F6B9EB1BB410FF1104EE8C5CA608F60514438522100DFA16ADEAC3E52E15FCB3D255923CCFBC47E2D26860CE9C7BCF993B73EF7BC097590AC85D4E846F9E0690F127444146784B9B470674180AA7C6A7993CE46BDEE3AA1E89DC8D402B8EFE00F95A56EEFF569918B3A491C295CAA58E1F38 + m.lcFileBinary = m.lcFileBinary + 0h8FCD8D4D72BD189EB61086B03516BFDAB1AC88D796C62AD14A175ED36B515A6783670DEB291EDCDAF876E6D59DE3C7353DCB6ADF4BED68B00FB418F11AB3BAA2AE863CD6DD4AEC6A2A7A51B5D189EB4EB91E7DE5CA5CB3777C041C000000FFFF0300504B030414000600080000002100E9A625B882060000531B000013000000786C2F7468656D652F7468656D65312E786D6CEC594F6FDB3614BF0FD87720746F6D27B61B07758AD8B19BAD4D1BC46E871E6999965853A240D2497D1BDAE38001C3BA619701BBED306C2BD002BB749F265B87AD03FA15F6484AB218CB4BD2061BD6D58744227F7CFFDFE32375F5DA8388A1432224E571DBAB5DAE7A88C43E + m.lcFileBinary = m.lcFileBinary + 0h1FD338687B7786FD4B1B1E920AC763CC784CDADE9C48EFDAD6FBEF5DC59B2A241141B03E969BB8ED854A259B958AF46118CBCB3C2131CC4DB888B082571154C6021F01DD8855D6AAD56625C234F6508C23207B7B32A13E41434DD2DBCA88F718BCC64AEA019F8981264D9C15063B9ED63442CE659709748859DB033E637E34240F948718960A26DA5ED5FCBCCAD6D50ADE4C1731B5626D615DDFFCD275E982F174CDF014C128675AEBD75B577672FA06C0D432AED7EB757BB59C9E0160DF074DAD2C459AF5FE46AD93D12C80ECE332ED6EB551ADBBF802FDF525995B9D4EA7D14A65B1440DC83ED697F01BD5667D7BCDC11B90C53796F0F5CE76B7DB74F006 + m.lcFileBinary = m.lcFileBinary + 0h64F1CD257CFF4AAB5977F10614321A4F97D0DAA1FD7E4A3D874C38DB2D856F007CA39AC2172888863CBA348B098FD5AA588BF07D2EFA00D04086158D919A2764827D88E22E8E468262CD006F125C98B143BE5C1AD2BC90F4054D54DBFB30C190110B7AAF9E7FFFEAF953F4EAF993E387CF8E1FFE74FCE8D1F1C31F2D2D67E12E8E83E2C297DF7EF6E7D71FA33F9E7EF3F2F117E57859C4FFFAC327BFFCFC793910326821D18B2F9FFCF6ECC98BAF3EFDFDBBC725F06D814745F8904644A25BE4081DF0087433867125272371BE15C3105367050E817609E99E0A1DE0AD396665B80E718D775740F128035E9FDD77641D8462A66809E71B61E400F738671D2E + m.lcFileBinary = m.lcFileBinary + 0h4A0D7043F32A5878388B8372E66256C41D607C58C6BB8B63C7B5BD590255330B4AC7F6DD903862EE331C2B1C909828A4E7F8949012EDEE51EAD8758FFA824B3E51E81E451D4C4B4D32A4232790168B7669047E9997E90CAE766CB3771775382BD37A871CBA484808CC4A841F12E698F13A9E291C95911CE288150D7E13ABB04CC8C15CF8455C4F2AF074401847BD3191B26CCD6D01FA169C7E0343BD2A75FB1E9B472E52283A2DA37913735E44EEF06937C45152861DD0382C623F905308518CF6B92A83EF713743F43BF801C72BDD7D9712C7DDA717823B3470445A04889E9909ED4B28D44EFD8D68FC77C59851A8C63606DE15E3B6B70D5B53594AEC9E28 + m.lcFileBinary = m.lcFileBinary + 0hC1AB70FFC1C2BB8367F13E81585FDE78DED5DD7775D77BEBEBEEAA5C3E6BB55D1458A8BDBA79B07DB1E992A3954DF28432365073466E4AD3274BD82CC67D18D4EBCC0191E487A62484C7B4B83BB84060B30609AE3EA22A1C8438811EBBE66922814C490712255CC2D9CE0C97D2D678E8D3953D1936F499C1D60389D51E1FDBE1753D9C1D0D723266CB09CCF93363B4AE099C95D9FA959428A8FD3ACC6A5AA83373AB19D14CA973B8E52A830F975583C1DC9AD08520E85DC0CA4D38A26BD67036C18C8CB5DDED069CB9C578E1225D24433C26A98FB4DECB3EAA192765B1622E0320764A7CA4CF79A758ADC0ADA5C9BE01B7B338A9C8AEBE825DE6BD37F15216 + m.lcFileBinary = m.lcFileBinary + 0hC10B2FE9BC3D918E2C2E26278BD151DB6B35D61A1EF271D2F62670AC85C72801AF4BDDF86116C0DD90AF840DFB5393D964F9C29BAD4C3137096A705361EDBEA4B053071221D50E96A10D0D339586008B35272BFF5A03CC7A510AD8487F0D29D6372018FE3529C08EAE6BC964427C5574766144DBCEBEA6A594CF141183707C84466C260E30B85F872AE833A6126E274C45D02F7095A6AD6DA6DCE29C265DF102CBE0EC38664988D372AB5334CB640B37799CCB60DE0AE2816EA5B21BE5CEAF8A49F90B52A518C6FF3355F47E02D705EB63ED011F6E7205463A5FDB1E172AE450859290FA7D018D83A91D102D701D0BD31054709F6CFE0B72A8FFDB9CB3344C + m.lcFileBinary = m.lcFileBinary + 0h5AC3A94F1DD000090AFB910A0521FB50964CF49D42AC96EE5D96244B0999882A882B132BF6881C1236D435B0A9F7760F8510EAA69AA465C0E04EC69FFB9E66D028D04D4E31DF9C1A92EFBD3607FEE9CEC7263328E5D661D3D064F6CF452CD955ED7AB33CDB7B8B8AE889459B55CFB2029815B682569AF6AF29C239B75A5BB196345E6B64C28117973586C1BC214AE0D207E93FB0FF51E133FB71426FA8437E00B515C1B7064D0CC206A2FA926D3C902E907670048D931DB4C1A44959D3A6AD93B65AB6595F70A79BF33D616C2DD959FC7D4E63E7CD99CBCEC9C58B34766A61C7D6766CA5A9C1B32753148626D941C638C67CD52A7E78E2A3FBE0E81DB8E29F + m.lcFileBinary = m.lcFileBinary + 0h31254D30C1672581A1F51C983C80E4B71CCDD2ADBF000000FFFF0300504B030414000600080000002100A1512698C10000001C01000023000000786C2F776F726B7368656574732F5F72656C732F7368656574312E62696E2E72656C736CCFC16AC3300C06E0FBA0EF60745F9CF430C68853D861906BE91E40B395C434968D654AF2F6F56DEDD8F197F83FA1FEB48555DD288B8F6CA06B5A50C4363ACFB381EFCBD7EB3B2829C80ED7C864602781D37078E9CFB462A925597C12551516034B29E9436BB10B05942626E2BA99620E586ACCB34E68AF38933EB6ED9BCE8F060C4FA61A9D813CBA0ED4654FF5F21F3B789BA3C4A93436061DA7C9DBFF54BDAD9F + m.lcFileBinary = m.lcFileBinary + 0h9E31EF233BDAAA8579A662E0E777D83535801E7AFDF4D370070000FFFF0300504B030414000600080000002100A273D38D810000001601000018000000786C2F776F726B7368656574732F7368656574312E62696E6A646498CC287E928589C181010CFE430188338551002C8644B432327432CADD61461202EB4C411298C1A882220F946244928631BB1819DA18199E32F3806CE460D001AB99C8C8308991613A8B134415480C9B5E9819301A5D0D887F97994980E10EB3411A183CB387D1103D2FEC61B431185CB687D14D8C0C00000000FFFF0300504B0304140006000800000021001E06781015000000200000001E000000786C2F776F726B73686565 + m.lcFileBinary = m.lcFileBinary + 0h74732F62696E617279496E646578312E62696ED29260000205108106A632310011000000FFFF0300504B0304140006000800000021004B7C9F083E0100005102000011000801646F6350726F70732F636F72652E786D6C20A2040128A0000100000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 + m.lcFileBinary = m.lcFileBinary + 0h0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000007C925F4BC33014C5DF05BF43C97B9B74835943DB81CA9E1C085614DF4272D7159B3F24D16EDFDEB4DD6A0743C84BEE39F7774F2EC9D707D9463F605DA35581D284A00814D7A2517581DEAA4D9CA1C879A6046BB582021DC1A175797B937343B9B6F062B501EB1B7051202947B929D0DE7B4331767C0F92B92438541077DA4AE6C3D5D6D830FEC56AC00B42565882678279867B606C26223A21059F90E6DBB6 + m.lcFileBinary = m.lcFileBinary + 0h0340700C2D4850DEE13449F19FD78395EE6AC3A0CC9CB2F14713DE748A3B670B3E8A93FBE09AC9D8755DD22D8718217F8A3FB6CFAFC353E346F5BBE280CA5C70CA2D30AF6D99E3F9252CAE65CE6FC38E770D888763D0AFD4041FE28E1010510840C7B867E57DF9F8546D50D9EF3026F771BAAA08A1C3F9EC475EF4F781C6823C0DFE9F98F54472572D085D66946433E21930E6BEFC04E52F000000FFFF0300504B0304140006000800000021006F7E771280010000FE02000010000801646F6350726F70732F6170702E786D6C20A2040128A00001000000000000000000000000000000000000000000000000000000000000000000000000000000000000 + m.lcFileBinary = m.lcFileBinary + 0h000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000009C92416BE3301085EF85FD0F46F7464E589625C82AA569E9614B0349B367551EC7228A64345393F4D7 + m.lcFileBinary = m.lcFileBinary + 0h776C93C6D9EDA93A8DE63D9E3E8DA46E0E7B9FB590D0C55088E9241719041B4B17B68578593F5CFF16199209A5F13140218E80E246FFB852CB141B48E400338E0858889AA8994B89B686BDC109CB81952AA6BD21DEA6AD8C55E52C2CA27DDB432039CBF35F120E04A184F2BAF90C1443E2BCA5EF8696D1767CB8591F1B06D6EAB669BCB386F896FAC9D914315694DD1F2C7825C7A262BA15D8B7E4E8A87325C75BB5B2C6C31D07EBCA780425CF0DF508A61BDAD2B8845AB5346FC1524C19BA771EDB4C64AF06A1C329446B92338118ABB30D9BBEF60D52D27F63DA610D40A8241B86665F8EBDE3DAFDD4D3DEC0C5A5B10B184058B8445C3BF280CFD5D224FA + m.lcFileBinary = m.lcFileBinary + 0h82783A26EE1906DE0167D5F10D678EF9FA2BF349FF64FF7161872FCD3A2E0CC16976974DB5AA4D8292C77DD2CF0DF5C8634BBE0BB9AB4DD84279F2FC2F742FBD19BEB39ECE2639AFFE814F3D25CF1F577F000000FFFF0300504B01022D0014000600080000002100558086C16D010000020400001300000000000000000000000000000000005B436F6E74656E745F54797065735D2E786D6C504B01022D00140006000800000021004382E3C5F70000004C0200000B000000000000000000000000007B0300005F72656C732F2E72656C73504B01022D001400060008000000210006332055E50000002D0200001A00000000000000000000000000690600 + m.lcFileBinary = m.lcFileBinary + 0h00786C2F5F72656C732F776F726B626F6F6B2E62696E2E72656C73504B01022D0014000600080000002100A76734B792000000C00000000F000000000000000000000000008E080000786C2F776F726B626F6F6B2E62696E504B01022D0014000600080000002100F98F44D4E0000000CA0100000D000000000000000000000000004D090000786C2F7374796C65732E62696E504B01022D0014000600080000002100E9A625B882060000531B00001300000000000000000000000000580A0000786C2F7468656D652F7468656D65312E786D6C504B01022D0014000600080000002100A1512698C10000001C01000023000000000000000000000000000B + m.lcFileBinary = m.lcFileBinary + 0h110000786C2F776F726B7368656574732F5F72656C732F7368656574312E62696E2E72656C73504B01022D0014000600080000002100A273D38D810000001601000018000000000000000000000000000D120000786C2F776F726B7368656574732F7368656574312E62696E504B01022D00140006000800000021001E06781015000000200000001E00000000000000000000000000C4120000786C2F776F726B7368656574732F62696E617279496E646578312E62696E504B01022D00140006000800000021004B7C9F083E01000051020000110000000000000000000000000015130000646F6350726F70732F636F72652E786D6C504B01022D001400 + m.lcFileBinary = m.lcFileBinary + 0h06000800000021006F7E771280010000FE02000010000000000000000000000000008A150000646F6350726F70732F6170702E786D6C504B0506000000000B000B00DB020000401800000000 + CASE m.lcExcelFileExtension = "XLSM" + m.lcFileBinary = 0h504B03041400060008000000210038088E4F60010000F20300001300DB015B436F6E74656E745F54797065735D2E786D6C20A2D70128A00002000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 + m.lcFileBinary = m.lcFileBinary + 0h000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 + m.lcFileBinary = m.lcFileBinary + 0h0000000000000000000000000000A4934D6EC2301085F7957A87C8DB2A31745155158105A5CB96053D80B127C4C27FF2181A6EDF495290401481D838B2A279DFBC37E3D1A4B126DB4244ED5DC986C58065E0A457DAAD4AF6BDF8C85F59864938258C7750B21D209B8C1F1F468B5D00CCA8DA61C9EA94C21BE7286BB0020B1FC0D19FCA472B125DE38A0721D76205FC793078E1D2BB042EE5A9D560E3D1173510B5826C2E62FA149638BC313C911AF4E7B0203D964DFBC2965D321182D15224EA9C6F9D3AA1E6BEAAB404E5E5C612ABE8C49E5A15FE2F10D3CE00DE8DC2104128AC019235452FBA27BF4325362665B38612E8438F60F0366B7F611654D9D9C7 + m.lcFileBinary = m.lcFileBinary + 0h5A07BC40B89CDDE54C7E7C5C2FBD5F5F918AC51C1A0964B9B55E5821A39F39B134A0E8A2DDBEC373E3A639CDA30FC869AA57A08E37EC74D6D086AB40E5812421260D8774CEB169D55A975DD7C8BBCFFDFB76BC0407FDAB32903EC2ED21ECB7A2AD3EE39C772F76FC0B0000FFFF0300504B030414000600080000002100B5553023F50000004C0200000B00CE015F72656C732F2E72656C7320A2CA0128A000020000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 + m.lcFileBinary = m.lcFileBinary + 0h000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 + m.lcFileBinary = m.lcFileBinary + 0h00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000008C92CF4EC3300CC6EF48BC43E4FBEA6E4808A1A5BB4C48BB21541EC024EE1FB58DA32440F7F68403824A63DBD1F6E7CF3F5BDEEEE669541F1C622F4EC3BA2841B133627BD76A78AD9F560FA06222676914C71A8E1C6157DDDE6C5F78A4949B62D7FBA8B28B8B1ABA94FC2362341D4F140BF1EC72A5913051CA6168D19319A865DC94E53D86BF1E502D3CD5C16A08077B07AA3EFA3CF9B2 + m.lcFileBinary = m.lcFileBinary + 0hB7344D6F782FE67D62974E8C409E133BCB76E543660BA9CFDBA89A42CB498315F39CD311C9FB2263039E26DA5C4FF4FFB63871224B89D048E0F33CDF8A7340EBEB812E9F68A9F8BDCE3CE2A784E14D64F861C1C50F545F000000FFFF0300504B0304140006000800000021008D87DA70E00000002D0200001A000801786C2F5F72656C732F776F726B626F6F6B2E786D6C2E72656C7320A2040128A0000100000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 + m.lcFileBinary = m.lcFileBinary + 0h000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000AC91CB6AC3301045F785FE83987D3D760AA594C8D99442B6C5FD00218F1FC496846692D67F5FE182DD404836D908AE06DD73246D773FE3A04E14B9F74E4391E5A0C8595FF7AED5F0557D3CBD826231AE368377A46122865DF9F8B0FDA4C1483A + m.lcFileBinary = m.lcFileBinary + 0hC45D1F58A516C71A3A91F086C8B6A3D170E603B934697C1C8DA4185B0CC61E4C4BB8C9F3178CFF3BA03CEB54FB5A43DCD7CFA0AA2924F2ED6EDF34BDA5776F8F2339B98040966948175095892D8986BF9C2547C0CBF8CD3DF1929E8556FA1C715E8B6B0EC53D1DBE7D3C704724ABC7B2C5384F16193CFBE4F2170000FFFF0300504B030414000600080000002100A460FAFF52010000270200000F000000786C2F776F726B626F6F6B2E786D6C8C915D6FC2201486EF97EC3F10EE272DA9CE185B93655BE6CD6232A7D7AC9C5A228506A8D57FBF534CE776B72BCE073CE7BC2FCBD5B9D1E404CE2B6B729A4E124AC094562A73C8E9E7F6F5614E890FC248A1 + m.lcFileBinary = m.lcFileBinary + 0hAD819C5EC0D355717FB7ECAD3B7E597B2408303EA77508ED82315FD6D0083FB12D18EC54D6352260EA0ECCB70E84F435406834E34932638D50865E090BF71F86AD2A55C2B32DBB064CB8421C6811707D5FABD6D36259290DBBAB2222DAF65D34B8F75953A2850F2F52059039CD30B53DFC29B8AE7DEA941EBAD3644A59F12372E3085203B88D5327515ED0294A2454A2D3618B82C77958E719E7B3E1ED60CE4E41EF6F982125E7BD32D2F639E5199A7D19B31427923EB6F64A861A51D9FC567B0375A8434EE7499A0C74F60B1F2DC531F12426EAFD186CC625636D8D9230760B85815BCB3412C667A5D0250A1C8E78914F1F7954CFC63F2EBE010000FFFF03 + m.lcFileBinary = m.lcFileBinary + 0h00504B030414000600080000002100A083C4AEA3010000640300000D000000786C2F7374796C65732E786D6CA453C16ADC3010BD17F20F42F746BB0B0D6DB19D436121909440B6D0AB6CC95EC16864A4F1B2EED767643BDEDD530EBD584F4F336F9E66E4E2F1EC419C6C4C2E6029B7F71B292C36C138EC4AF9E7B0FFFA5D8A441A8D8680B694A34DF2B1BAFB52241AC1BE1DAD25C112984A7924EA7F2A959AA3F53ADD87DE229FB4217A4DBC8D9D4A7DB4DAA49CE441ED369B07E5B54359156D404AA2090312BB5888AA48FFC44903335BA9AAA20910A2209667231383DADB39E29706574797C35AED1D8C33BDCBC4E46889F30E43CCA4CA25972571920358 + m.lcFileBinary = m.lcFileBinary + 0h0DECB20126AAA2D74436E29E3762C187B1E7F2C8DD9865A6B84FA2BBA8C7EDEEDB55829A0A56451DA2E1EE5F5F7DA6AA026C4B6C34BAEE98570A3D7FEB40143C03E37417500343F591B100BE4E6301DEF284FEB637DAE756E0E0F79E9E4C2979D6B9091F902FB2C0596FDE64FD6BB559FBBF65C5B9BDD567C52BDB37A6D7F222CFBB94BFF39302B94A887A70400E6F05A7EBB3A6395F5AB0C913205DF3CBCDCD59AB70278C6DF50074580F4B79C12FD6B8C1FF58A35EDD29D02451CA0B7ECE93DA3E4C534EEBEF51BD030000FFFF0300504B030414000600080000002100E9A625B882060000531B000013000000786C2F7468656D652F7468656D65312E78 + m.lcFileBinary = m.lcFileBinary + 0h6D6CEC594F6FDB3614BF0FD87720746F6D27B61B07758AD8B19BAD4D1BC46E871E6999965853A240D2497D1BDAE38001C3BA619701BBED306C2BD002BB749F265B87AD03FA15F6484AB218CB4BD2061BD6D58744227F7CFFDFE32375F5DA8388A1432224E571DBAB5DAE7A88C43E1FD338687B7786FD4B1B1E920AC763CC784CDADE9C48EFDAD6FBEF5DC59B2A241141B03E969BB8ED854A259B958AF46118CBCB3C2131CC4DB888B082571154C6021F01DD8855D6AAD56625C234F6508C23207B7B32A13E41434DD2DBCA88F718BCC64AEA019F8981264D9C15063B9ED63442CE659709748859DB033E637E34240F948718960A26DA5ED5FCBCCAD6D50ADE + m.lcFileBinary = m.lcFileBinary + 0h4C1731B5626D615DDFFCD275E982F174CDF014C128675AEBD75B577672FA06C0D432AED7EB757BB59C9E0160DF074DAD2C459AF5FE46AD93D12C80ECE332ED6EB551ADBBF802FDF525995B9D4EA7D14A65B1440DC83ED697F01BD5667D7BCDC11B90C53796F0F5CE76B7DB74F00664F1CD257CFF4AAB5977F10614321A4F97D0DAA1FD7E4A3D874C38DB2D856F007CA39AC2172888863CBA348B098FD5AA588BF07D2EFA00D04086158D919A2764827D88E22E8E468262CD006F125C98B143BE5C1AD2BC90F4054D54DBFB30C190110B7AAF9E7FFFEAF953F4EAF993E387CF8E1FFE74FCE8D1F1C31F2D2D67E12E8E83E2C297DF7EF6E7D71FA33F9E7EF3F2 + m.lcFileBinary = m.lcFileBinary + 0hF117E57859C4FFFAC327BFFCFC793910326821D18B2F9FFCF6ECC98BAF3EFDFDBBC725F06D814745F8904644A25BE4081DF0087433867125272371BE15C3105367050E817609E99E0A1DE0AD396665B80E718D775740F128035E9FDD77641D8462A66809E71B61E400F738671D2E4A0D7043F32A5878388B8372E66256C41D607C58C6BB8B63C7B5BD590255330B4AC7F6DD903862EE331C2B1C909828A4E7F8949012EDEE51EAD8758FFA824B3E51E81E451D4C4B4D32A4232790168B7669047E9997E90CAE766CB3771775382BD37A871CBA484808CC4A841F12E698F13A9E291C95911CE288150D7E13ABB04CC8C15CF8455C4F2AF074401847BD3191B2 + m.lcFileBinary = m.lcFileBinary + 0h6CCD6D01FA169C7E0343BD2A75FB1E9B472E52283A2DA37913735E44EEF06937C45152861DD0382C623F905308518CF6B92A83EF713743F43BF801C72BDD7D9712C7DDA717823B3470445A04889E9909ED4B28D44EFD8D68FC77C59851A8C63606DE15E3B6B70D5B53594AEC9E28C1AB70FFC1C2BB8367F13E81585FDE78DED5DD7775D77BEBEBEEAA5C3E6BB55D1458A8BDBA79B07DB1E992A3954DF28432365073466E4AD3274BD82CC67D18D4EBCC0191E487A62484C7B4B83BB84060B30609AE3EA22A1C8438811EBBE66922814C490712255CC2D9CE0C97D2D678E8D3953D1936F499C1D60389D51E1FDBE1753D9C1D0D723266CB09CCF93363B4AE09 + m.lcFileBinary = m.lcFileBinary + 0h9C95D9FA959428A8FD3ACC6A5AA83373AB19D14CA973B8E52A830F975583C1DC9AD08520E85DC0CA4D38A26BD67036C18C8CB5DDED069CB9C578E1225D24433C26A98FB4DECB3EAA192765B1622E0320764A7CA4CF79A758ADC0ADA5C9BE01B7B338A9C8AEBE825DE6BD37F15216C10B2FE9BC3D918E2C2E26278BD151DB6B35D61A1EF271D2F62670AC85C72801AF4BDDF86116C0DD90AF840DFB5393D964F9C29BAD4C3137096A705361EDBEA4B053071221D50E96A10D0D339586008B35272BFF5A03CC7A510AD8487F0D29D6372018FE3529C08EAE6BC964427C5574766144DBCEBEA6A594CF141183707C84466C260E30B85F872AE833A6126E274C45 + m.lcFileBinary = m.lcFileBinary + 0hD02F7095A6AD6DA6DCE29C265DF102CBE0EC38664988D372AB5334CB640B37799CCB60DE0AE2816EA5B21BE5CEAF8A49F90B52A518C6FF3355F47E02D705EB63ED011F6E7205463A5FDB1E172AE450859290FA7D018D83A91D102D701D0BD31054709F6CFE0B72A8FFDB9CB3344C5AC3A94F1DD000090AFB910A0521FB50964CF49D42AC96EE5D96244B0999882A882B132BF6881C1236D435B0A9F7760F8510EAA69AA465C0E04EC69FFB9E66D028D04D4E31DF9C1A92EFBD3607FEE9CEC7263328E5D661D3D064F6CF452CD955ED7AB33CDB7B8B8AE889459B55CFB2029815B682569AF6AF29C239B75A5BB196345E6B64C28117973586C1BC214AE0D207 + m.lcFileBinary = m.lcFileBinary + 0hE93FB0FF51E133FB71426FA8437E00B515C1B7064D0CC206A2FA926D3C902E907670048D931DB4C1A44959D3A6AD93B65AB6595F70A79BF33D616C2DD959FC7D4E63E7CD99CBCEC9C58B34766A61C7D6766CA5A9C1B32753148626D941C638C67CD52A7E78E2A3FBE0E81DB8E29F31254D30C1672581A1F51C983C80E4B71CCDD2ADBF000000FFFF0300504B030414000600080000002100075F38D31E010000C701000018000000786C2F776F726B7368656574732F7368656574312E786D6C8C514D6BC3300CBD0FF61F8CEE8BD38D6EA324298352B6C360ECEBEE2472626A5BC156D7EDDFCF496819F4B29B3EDE7BD2938AF5B7B3E20B4334E44B586439 + m.lcFileBinary = m.lcFileBinary + 0h08F40DB5C677257CBC6FAFEE414456BE55963C96F08311D6D5E54571A0B08B3D228BA4E063093DF3B09232363D3A15331AD0A78EA6E014A73474320E01553B919C95D7797E2B9D321E668555F88F06696D1ADC50B377E87916096815A7FD636F860855D19AD41B0D8980BA848705C8AA98C67E1A3CC43FB16055BFA1C586B14DEE418CAE6AA2DD087C4AA57CA4CA33EE7672F512448B5AED2DBFD2E1114DD77312599EA66D14AB441F5487CF2A74C6476151274C9EDD8108337E8A9986A9BA04511333B963D6A783613A4C9EDD80D0447C4CC6B54E2FA87E010000FFFF0300504B0304140006000800000021000ACFE8CF3F0100005102000011000801646F + m.lcFileBinary = m.lcFileBinary + 0h6350726F70732F636F72652E786D6C20A2040128A0000100000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 + m.lcFileBinary = m.lcFileBinary + 0h0000000000000000000000000000000000000000000000007C92CB6AC3301045F785FE83D1DE969C904785ED405BB26AA0509794EE8434494CAD07925A277F5FD94E5C0742411BCDBD73E66A50B63ACA3AFA01EB2AAD7294260445A0B81695DAE7E8BD5CC74B1439CF9460B55690A31338B42AEEEF326E28D7165EAD36607D052E0A24E52837393A786F28C68E1F40329704870AE24E5BC97CB8DA3D368C7FB13DE00921732CC133C13CC32D303603119D91820F48F36DEB0E2038861A2428EF709AA4F8CFEBC14A77B3A153464E59F993096F3AC71DB305EFC5C17D74D5606C9A2669A65D8C903FC51F9B97B7EEA971A5DA5D7140452638E51698D7B6C8F0 + m.lcFileBinary = m.lcFileBinary + 0hF812165733E73761C7BB0AC4E329E8376A8277717B08882804A07DDC8BB29D3E3D976B54B43B8CC9439CCE4B4268773EDB9157FD6DA0BE20CF83FF272E5B2259941342A70B3A9B8D8817409FFBFA1314BF000000FFFF0300504B0304140006000800000021006F7E771280010000FE02000010000801646F6350726F70732F6170702E786D6C20A2040128A000010000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 + m.lcFileBinary = m.lcFileBinary + 0h00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000009C92416BE3301085EF85FD0F46F7464E589625C82AA569E9614B0349B367551EC7228A64345393F4D7776C93C6D9EDA93A8DE63D9E3E8DA46E0E7B9FB590D0C55088E9241719041B4B17B68578593F5CFF16199209A5F13140218E80E246FFB852CB141B48E400338E0858889AA8994B + m.lcFileBinary = m.lcFileBinary + 0h89B686BDC109CB81952AA6BD21DEA6AD8C55E52C2CA27DDB432039CBF35F120E04A184F2BAF90C1443E2BCA5EF8696D1767CB8591F1B06D6EAB669BCB386F896FAC9D914315694DD1F2C7825C7A262BA15D8B7E4E8A87325C75BB5B2C6C31D07EBCA780425CF0DF508A61BDAD2B8845AB5346FC1524C19BA771EDB4C64AF06A1C329446B92338118ABB30D9BBEF60D52D27F63DA610D40A8241B86665F8EBDE3DAFDD4D3DEC0C5A5B10B184058B8445C3BF280CFD5D224FA82783A26EE1906DE0167D5F10D678EF9FA2BF349FF64FF7161872FCD3A2E0CC16976974DB5AA4D8292C77DD2CF0DF5C8634BBE0BB9AB4DD84279F2FC2F742FBD19BEB39ECE2639 + m.lcFileBinary = m.lcFileBinary + 0hAFFE814F3D25CF1F577F000000FFFF0300504B01022D001400060008000000210038088E4F60010000F20300001300000000000000000000000000000000005B436F6E74656E745F54797065735D2E786D6C504B01022D0014000600080000002100B5553023F50000004C0200000B000000000000000000000000006C0300005F72656C732F2E72656C73504B01022D00140006000800000021008D87DA70E00000002D0200001A0000000000000000000000000058060000786C2F5F72656C732F776F726B626F6F6B2E786D6C2E72656C73504B01022D0014000600080000002100A460FAFF52010000270200000F000000000000000000000000007808 + m.lcFileBinary = m.lcFileBinary + 0h0000786C2F776F726B626F6F6B2E786D6C504B01022D0014000600080000002100A083C4AEA3010000640300000D00000000000000000000000000F7090000786C2F7374796C65732E786D6C504B01022D0014000600080000002100E9A625B882060000531B00001300000000000000000000000000C50B0000786C2F7468656D652F7468656D65312E786D6C504B01022D0014000600080000002100075F38D31E010000C7010000180000000000000000000000000078120000786C2F776F726B7368656574732F7368656574312E786D6C504B01022D00140006000800000021000ACFE8CF3F010000510200001100000000000000000000000000CC13 + m.lcFileBinary = m.lcFileBinary + 0h0000646F6350726F70732F636F72652E786D6C504B01022D00140006000800000021006F7E771280010000FE020000100000000000000000000000000042160000646F6350726F70732F6170702E786D6C504B050600000000090009003E020000F81800000000 + OTHERWISE && XLS + m.lcFileBinary = 0hD0CF11E0A1B11AE1000000000000000000000000000000003E000300FEFF0900060000000000000000000000010000000100000000000000001000001A00000001000000FEFFFFFF0000000000000000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF + m.lcFileBinary = m.lcFileBinary + 0hFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF + m.lcFileBinary = m.lcFileBinary + 0hFFFFFDFFFFFF1C000000030000000400000005000000060000000700000008000000090000000A0000000B0000000C0000000D0000000E0000000F00000010000000110000001200000013000000140000001500000016000000170000001800000019000000FEFFFFFFFEFFFFFF1D000000FEFFFFFFFEFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF + m.lcFileBinary = m.lcFileBinary + 0hFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF + m.lcFileBinary = m.lcFileBinary + 0hFFFFFFFF52006F006F007400200045006E00740072007900000000000000000000000000000000000000000000000000000000000000000000000000000000000000000016000500FFFFFFFFFFFFFFFF020000002008020000000000C00000000000004600000000000000000000000030C843AA2911C9011B000000800200000000000057006F0072006B0062006F006F006B000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001200020104000000FFFFFFFFFFFFFFFF00000000000000000000000000000000000000000000000000000000000000000000000002000000892F00 + m.lcFileBinary = m.lcFileBinary + 0h00000000000500530075006D006D0061007200790049006E0066006F0072006D006100740069006F006E000000000000000000000000000000000000000000000000000000280002010100000003000000FFFFFFFF00000000000000000000000000000000000000000000000000000000000000000000000000000000C800000000000000050044006F00630075006D0065006E007400530075006D006D0061007200790049006E0066006F0072006D006100740069006F006E000000000000000000000038000201FFFFFFFFFFFFFFFFFFFFFFFF00000000000000000000000000000000000000000000000000000000000000000000000004000000E000 + m.lcFileBinary = m.lcFileBinary + 0h0000000000000908100000060500A91FCD07C100010006040000E1000200B004C10002000000E20000005C0070000200002020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202042000200B004610102000000C00100003D01020001009C0002001000190002000000120002000000130002000000AF0102000000BC01020000003D001200F0006900D5394A1F380000000000010058024000020000008D00020000002200020000 + m.lcFileBinary = m.lcFileBinary + 0h000E0002000100B70102000000DA000200000031001E00DC000000080090010000000200AA0701430061006C00690062007200690031001E00DC000000080090010000000200AA0701430061006C00690062007200690031001E00DC000000080090010000000200AA0701430061006C00690062007200690031001E00DC000000080090010000000200AA0701430061006C00690062007200690031001E00DC000000080090010000000200AA0701430061006C00690062007200690031001E00680101003800BC020000000200AA0701430061006D00620072006900610031001E002C0101003800BC020000000200AA0701430061006C00690062007200 + m.lcFileBinary = m.lcFileBinary + 0h690031001E00040101003800BC020000000200AA0701430061006C00690062007200690031001E00DC0001003800BC020000000200AA0701430061006C00690062007200690031001E00DC000000110090010000000200AA0701430061006C00690062007200690031001E00DC000000140090010000000200AA0701430061006C00690062007200690031001E00DC0000003C0090010000000200AA0701430061006C00690062007200690031001E00DC0000003E0090010000000200AA0701430061006C00690062007200690031001E00DC0001003F00BC020000000200AA0701430061006C00690062007200690031001E00DC0001003400BC02000000 + m.lcFileBinary = m.lcFileBinary + 0h0200AA0701430061006C00690062007200690031001E00DC000000340090010000000200AA0701430061006C00690062007200690031001E00DC0001000900BC020000000200AA0701430061006C00690062007200690031001E00DC0000000A0090010000000200AA0701430061006C00690062007200690031001E00DC000200170090010000000200AA0701430061006C00690062007200690031001E00DC0001000800BC020000000200AA0701430061006C00690062007200690031001E00DC000000090090010000000200AA0701430061006C0069006200720069001E041C000500170000222422232C2323305F293B5C28222422232C2323305C29 + m.lcFileBinary = m.lcFileBinary + 0h1E04210006001C0000222422232C2323305F293B5B5265645D5C28222422232C2323305C291E04220007001D0000222422232C2323302E30305F293B5C28222422232C2323302E30305C291E0427000800220000222422232C2323302E30305F293B5B5265645D5C28222422232C2323302E30305C291E0437002A003200005F282224222A20232C2323305F293B5F282224222A205C28232C2323305C293B5F282224222A20222D225F293B5F28405F291E042E0029002900005F282A20232C2323305F293B5F282A205C28232C2323305C293B5F282A20222D225F293B5F28405F291E043F002C003A00005F282224222A20232C2323302E30305F293B5F + m.lcFileBinary = m.lcFileBinary + 0h282224222A205C28232C2323302E30305C293B5F282224222A20222D223F3F5F293B5F28405F291E0436002B003100005F282A20232C2323302E30305F293B5F282A205C28232C2323302E30305C293B5F282A20222D223F3F5F293B5F28405F29E000140000000000F5FF200000000000000000000000C020E000140000000000F5FF200000000000000000000000C020E000140000000000F5FF200000000000000000000000C020E000140000000000F5FF200000000000000000000000C020E000140000000000F5FF200000000000000000000000C020E000140000000000F5FF200000000000000000000000C020E000140000000000F5FF20000000 + m.lcFileBinary = m.lcFileBinary + 0h0000000000000000C020E000140000000000F5FF200000000000000000000000C020E000140000000000F5FF200000000000000000000000C020E000140000000000F5FF200000000000000000000000C020E000140000000000F5FF200000000000000000000000C020E000140000000000F5FF200000000000000000000000C020E000140000000000F5FF200000000000000000000000C020E000140000000000F5FF200000000000000000000000C020E000140000000000F5FF200000000000000000000000C020E0001400000000000100200000000000000000000002C020E000140005000000F5FF200000B400000000000000049F20E000140005 + m.lcFileBinary = m.lcFileBinary + 0h000000F5FF200000B40000000000000004AD20E000140005000000F5FF200000B40000000000000004AA20E000140005000000F5FF200000B40000000000000004AE20E000140005000000F5FF200000B400000000000000049B20E000140005000000F5FF200000B40000000000000004AF20E000140005000000F5FF200000B40000000000000004AC20E000140005000000F5FF200000B400000000000000049D20E000140005000000F5FF200000B400000000000000048B20E000140005000000F5FF200000B40000000000000004AE20E000140005000000F5FF200000B40000000000000004AC20E000140005000000F5FF200000B4000000000000 + m.lcFileBinary = m.lcFileBinary + 0h0004B320E000140015000000F5FF200000B400000000000000049E20E000140015000000F5FF200000B400000000000000049D20E000140015000000F5FF200000B400000000000000048B20E000140015000000F5FF200000B40000000000000004A420E000140015000000F5FF200000B40000000000000004B120E000140015000000F5FF200000B40000000000000004B420E000140015000000F5FF200000B40000000000000004BE20E000140015000000F5FF200000B400000000000000048A20E000140015000000F5FF200000B40000000000000004B920E000140015000000F5FF200000B40000000000000004A420E000140015000000F5FF20 + m.lcFileBinary = m.lcFileBinary + 0h0000B40000000000000004B120E000140015000000F5FF200000B40000000000000004B520E00014000B000000F5FF200000B40000000000000004AD20E00014000F000000F5FF200000941111970B970B00049620E000140011000000F5FF200000946666BF1FBF1F0004B720E000140005002B00F5FF200000F80000000000000000C020E000140005002900F5FF200000F80000000000000000C020E000140005002C00F5FF200000F80000000000000000C020E000140005002A00F5FF200000F80000000000000000C020E000140013000000F5FF200000F40000000000000000C020E00014000A000000F5FF200000B40000000000000004AA20E000 + m.lcFileBinary = m.lcFileBinary + 0h140007000000F5FF200000D400500000001F0000C020E000140008000000F5FF200000D400500000000B0000C020E000140009000000F5FF200000D400200000000F0000C020E000140009000000F5FF200000F40000000000000000C020E00014000D000000F5FF200000941111970B970B0004AF20E000140010000000F5FF200000D400600000001A0000C020E00014000C000000F5FF200000B40000000000000004AB20E000140005000000F5FF2000009C1111160B160B00049A20E00014000E000000F5FF200000941111BF1FBF1F00049620E000140005000900F5FF200000F80000000000000000C020E000140006000000F5FF200000F4000000 + m.lcFileBinary = m.lcFileBinary + 0h0000000000C020E000140014000000F5FF200000D4006100003E1F0000C020E000140012000000F5FF200000F40000000000000000C0207C0814007C080000000000000000000000003E00DED9EE787D082D007D080000000000000000000000000000000002000D001400030000000100000030305C293B5F282A0E000500027D082D007D080000000000000000000000000100000002000D001400030000000100000030305C293B5F282A0E000500027D082D007D080000000000000000000000000200000002000D001400030000000100000030305C293B5F282A0E000500027D082D007D080000000000000000000000000300000002000D00140003 + m.lcFileBinary = m.lcFileBinary + 0h0000000100000030305C293B5F282A0E000500027D082D007D080000000000000000000000000400000002000D001400030000000100000030305C293B5F282A0E000500027D082D007D080000000000000000000000000500000002000D001400030000000100000030305C293B5F282A0E000500027D082D007D080000000000000000000000000600000002000D001400030000000100000030305C293B5F282A0E000500027D082D007D080000000000000000000000000700000002000D001400030000000100000030305C293B5F282A0E000500027D082D007D080000000000000000000000000800000002000D001400030000000100000030305C + m.lcFileBinary = m.lcFileBinary + 0h293B5F282A0E000500027D082D007D080000000000000000000000000900000002000D001400030000000100000030305C293B5F282A0E000500027D082D007D080000000000000000000000000A00000002000D001400030000000100000030305C293B5F282A0E000500027D082D007D080000000000000000000000000B00000002000D001400030000000100000030305C293B5F282A0E000500027D082D007D080000000000000000000000000C00000002000D001400030000000100000030305C293B5F282A0E000500027D082D007D080000000000000000000000000D00000002000D001400030000000100000030305C293B5F282A0E00050002 + m.lcFileBinary = m.lcFileBinary + 0h7D082D007D080000000000000000000000000E00000002000D001400030000000100000030305C293B5F282A0E000500027D082D007D080000000000000000000000000F00000002000D001400030000000100000030305C293B5F282A0E000500027D082D007D080000000000000000000000002B00000002000D001400030000000100000030305C293B5F282A0E000500027D082D007D080000000000000000000000002C00000002000D001400030000000100000030305C293B5F282A0E000500027D082D007D080000000000000000000000002D00000002000D001400030000000100000030305C293B5F282A0E000500027D082D007D0800000000 + m.lcFileBinary = m.lcFileBinary + 0h00000000000000002E00000002000D001400030000000100000030305C293B5F282A0E000500027D082D007D080000000000000000000000003A00000002000D001400030000000100000030305C293B5F282A0E000500027D082D007D080000000000000000000000003B00000002000D001400030000000300000030305C293B5F282A0E000500017D0841007D080000000000000000000000003100000003000D001400030000000300000030305C293B5F282A0E000500020800140003000000040000003B5F28405F2920207D0841007D080000000000000000000000003200000003000D001400030000000300000030305C293B5F282A0E00050002 + m.lcFileBinary = m.lcFileBinary + 0h080014000300FF3F040000003B5F28405F2920207D0841007D080000000000000000000000003300000003000D001400030000000300000030305C293B5F282A0E000500020800140003003233040000003B5F28405F2920207D082D007D080000000000000000000000003400000002000D001400030000000300000030305C293B5F282A0E000500027D0841007D080000000000000000000000003000000003000D00140002000000006100FF30305C293B5F282A0E000500020400140002000000C6EFCEFF3B5F28405F2920207D0841007D080000000000000000000000002800000003000D001400020000009C0006FF30305C293B5F282A0E000500 + m.lcFileBinary = m.lcFileBinary + 0h020400140002000000FFC7CEFF3B5F28405F2920207D0841007D080000000000000000000000003700000003000D001400020000009C6500FF30305C293B5F282A0E000500020400140002000000FFEB9CFF3B5F28405F2920207D0891007D080000000000000000000000003500000007000D001400020000003F3F76FF30305C293B5F282A0E000500020400140002000000FFCC99FF3B5F28405F29202007001400020000007F7F7FFF202020202020202008001400020000007F7F7FFF202020202020202009001400020000007F7F7FFF00000000000000000A001400020000007F7F7FFF00000000000000007D0891007D0800000000000000000000 + m.lcFileBinary = m.lcFileBinary + 0h00003900000007000D001400020000003F3F3FFF30305C293B5F282A0E000500020400140002000000F2F2F2FF3B5F28405F29202007001400020000003F3F3FFF202020202020202008001400020000003F3F3FFF202020202020202009001400020000003F3F3FFF00000000000000000A001400020000003F3F3FFF00000000000000007D0891007D080000000000000000000000002900000007000D00140002000000FA7D00FF30305C293B5F282A0E000500020400140002000000F2F2F2FF3B5F28405F29202007001400020000007F7F7FFF202020202020202008001400020000007F7F7FFF202020202020202009001400020000007F7F7FFF00 + m.lcFileBinary = m.lcFileBinary + 0h000000000000000A001400020000007F7F7FFF00000000000000007D0841007D080000000000000000000000003600000003000D00140002000000FA7D00FF30305C293B5F282A0E000500020800140002000000FF8001FF3B5F28405F2920207D0891007D080000000000000000000000002A00000007000D001400030000000000000030305C293B5F282A0E000500020400140002000000A5A5A5FF3B5F28405F29202007001400020000003F3F3FFF202020202020202008001400020000003F3F3FFF202020202020202009001400020000003F3F3FFF00000000000000000A001400020000003F3F3FFF00000000000000007D082D007D0800000000 + m.lcFileBinary = m.lcFileBinary + 0h00000000000000003D00000002000D00140002000000FF0000FF30305C293B5F282A0E000500027D0891007D080000000000000000000000003800000007000D001400030000000100000030305C293B5F282A0E000500020400140002000000FFFFCCFF3B5F28405F2920200700140002000000B2B2B2FF20202020202020200800140002000000B2B2B2FF20202020202020200900140002000000B2B2B2FF00000000000000000A00140002000000B2B2B2FF00000000000000007D082D007D080000000000000000000000002F00000002000D001400020000007F7F7FFF30305C293B5F282A0E000500027D0855007D08000000000000000000000000 + m.lcFileBinary = m.lcFileBinary + 0h3C00000004000D001400030000000100000030305C293B5F282A0E000500020700140003000000040000003B5F28405F29202008001400030000000400000020202020202020207D0841007D080000000000000000000000002200000003000D001400030000000000000030305C293B5F282A0E000500020400140003000000040000003B5F28405F2920207D0841007D080000000000000000000000001000000003000D001400030000000100000030305C293B5F282A0E000500020400140003006566040000003B5F28405F2920207D0841007D080000000000000000000000001600000003000D001400030000000100000030305C293B5F282A0E00 + m.lcFileBinary = m.lcFileBinary + 0h050002040014000300CC4C040000003B5F28405F2920207D0841007D080000000000000000000000001C00000003000D001400030000000000000030305C293B5F282A0E000500020400140003003233040000003B5F28405F2920207D0841007D080000000000000000000000002300000003000D001400030000000000000030305C293B5F282A0E000500020400140003000000050000003B5F28405F2920207D0841007D080000000000000000000000001100000003000D001400030000000100000030305C293B5F282A0E000500020400140003006566050000003B5F28405F2920207D0841007D080000000000000000000000001700000003000D + m.lcFileBinary = m.lcFileBinary + 0h001400030000000100000030305C293B5F282A0E00050002040014000300CC4C050000003B5F28405F2920207D0841007D080000000000000000000000001D00000003000D001400030000000000000030305C293B5F282A0E000500020400140003003233050000003B5F28405F2920207D0841007D080000000000000000000000002400000003000D001400030000000000000030305C293B5F282A0E000500020400140003000000060000003B5F28405F2920207D0841007D080000000000000000000000001200000003000D001400030000000100000030305C293B5F282A0E000500020400140003006566060000003B5F28405F2920207D084100 + m.lcFileBinary = m.lcFileBinary + 0h7D080000000000000000000000001800000003000D001400030000000100000030305C293B5F282A0E00050002040014000300CC4C060000003B5F28405F2920207D0841007D080000000000000000000000001E00000003000D001400030000000000000030305C293B5F282A0E000500020400140003003233060000003B5F28405F2920207D0841007D080000000000000000000000002500000003000D001400030000000000000030305C293B5F282A0E000500020400140003000000070000003B5F28405F2920207D0841007D080000000000000000000000001300000003000D001400030000000100000030305C293B5F282A0E00050002040014 + m.lcFileBinary = m.lcFileBinary + 0h0003006566070000003B5F28405F2920207D0841007D080000000000000000000000001900000003000D001400030000000100000030305C293B5F282A0E00050002040014000300CC4C070000003B5F28405F2920207D0841007D080000000000000000000000001F00000003000D001400030000000000000030305C293B5F282A0E000500020400140003003233070000003B5F28405F2920207D0841007D080000000000000000000000002600000003000D001400030000000000000030305C293B5F282A0E000500020400140003000000080000003B5F28405F2920207D0841007D080000000000000000000000001400000003000D001400030000 + m.lcFileBinary = m.lcFileBinary + 0h000100000030305C293B5F282A0E000500020400140003006566080000003B5F28405F2920207D0841007D080000000000000000000000001A00000003000D001400030000000100000030305C293B5F282A0E00050002040014000300CC4C080000003B5F28405F2920207D0841007D080000000000000000000000002000000003000D001400030000000000000030305C293B5F282A0E000500020400140003003233080000003B5F28405F2920207D0841007D080000000000000000000000002700000003000D001400030000000000000030305C293B5F282A0E000500020400140003000000090000003B5F28405F2920207D0841007D0800000000 + m.lcFileBinary = m.lcFileBinary + 0h00000000000000001500000003000D001400030000000100000030305C293B5F282A0E000500020400140003006566090000003B5F28405F2920207D0841007D080000000000000000000000001B00000003000D001400030000000100000030305C293B5F282A0E00050002040014000300CC4C090000003B5F28405F2920207D0841007D080000000000000000000000002100000003000D001400030000000000000030305C293B5F282A0E000500020400140003003233090000003B5F28405F2920209302120010000D0000323025202D20416363656E743192084D0092080000000000000000000001041EFF0D0032003000250020002D0020004100 + m.lcFileBinary = m.lcFileBinary + 0h6300630065006E00740031000000030001000C0007046566DBE5F1FF05000C0007010000000000FF25000500029302120011000D0000323025202D20416363656E743292084D00920800000000000000000000010422FF0D0032003000250020002D00200041006300630065006E00740032000000030001000C0007056566F2DDDCFF05000C0007010000000000FF25000500029302120012000D0000323025202D20416363656E743392084D00920800000000000000000000010426FF0D0032003000250020002D00200041006300630065006E00740033000000030001000C0007066566EAF1DDFF05000C0007010000000000FF250005000293021200 + m.lcFileBinary = m.lcFileBinary + 0h13000D0000323025202D20416363656E743492084D0092080000000000000000000001042AFF0D0032003000250020002D00200041006300630065006E00740034000000030001000C0007076566E5E0ECFF05000C0007010000000000FF25000500029302120014000D0000323025202D20416363656E743592084D0092080000000000000000000001042EFF0D0032003000250020002D00200041006300630065006E00740035000000030001000C0007086566DBEEF3FF05000C0007010000000000FF25000500029302120015000D0000323025202D20416363656E743692084D00920800000000000000000000010432FF0D0032003000250020002D + m.lcFileBinary = m.lcFileBinary + 0h00200041006300630065006E00740036000000030001000C0007096566FDE9D9FF05000C0007010000000000FF25000500029302120016000D0000343025202D20416363656E743192084D0092080000000000000000000001041FFF0D0034003000250020002D00200041006300630065006E00740031000000030001000C000704CC4CB8CCE4FF05000C0007010000000000FF25000500029302120017000D0000343025202D20416363656E743292084D00920800000000000000000000010423FF0D0034003000250020002D00200041006300630065006E00740032000000030001000C000705CC4CE6B9B8FF05000C0007010000000000FF25000500 + m.lcFileBinary = m.lcFileBinary + 0h029302120018000D0000343025202D20416363656E743392084D00920800000000000000000000010427FF0D0034003000250020002D00200041006300630065006E00740033000000030001000C000706CC4CD7E4BCFF05000C0007010000000000FF25000500029302120019000D0000343025202D20416363656E743492084D0092080000000000000000000001042BFF0D0034003000250020002D00200041006300630065006E00740034000000030001000C000707CC4CCCC0DAFF05000C0007010000000000FF2500050002930212001A000D0000343025202D20416363656E743592084D0092080000000000000000000001042FFF0D0034003000 + m.lcFileBinary = m.lcFileBinary + 0h250020002D00200041006300630065006E00740035000000030001000C000708CC4CB6DDE8FF05000C0007010000000000FF2500050002930212001B000D0000343025202D20416363656E743692084D00920800000000000000000000010433FF0D0034003000250020002D00200041006300630065006E00740036000000030001000C000709CC4CFCD5B4FF05000C0007010000000000FF2500050002930212001C000D0000363025202D20416363656E743192084D00920800000000000000000000010420FF0D0036003000250020002D00200041006300630065006E00740031000000030001000C000704323395B3D7FF05000C0007000000FFFFFF + m.lcFileBinary = m.lcFileBinary + 0hFF2500050002930212001D000D0000363025202D20416363656E743292084D00920800000000000000000000010424FF0D0036003000250020002D00200041006300630065006E00740032000000030001000C0007053233D99795FF05000C0007000000FFFFFFFF2500050002930212001E000D0000363025202D20416363656E743392084D00920800000000000000000000010428FF0D0036003000250020002D00200041006300630065006E00740033000000030001000C0007063233C2D69AFF05000C0007000000FFFFFFFF2500050002930212001F000D0000363025202D20416363656E743492084D0092080000000000000000000001042CFF0D + m.lcFileBinary = m.lcFileBinary + 0h0036003000250020002D00200041006300630065006E00740034000000030001000C0007073233B2A1C7FF05000C0007000000FFFFFFFF25000500029302120020000D0000363025202D20416363656E743592084D00920800000000000000000000010430FF0D0036003000250020002D00200041006300630065006E00740035000000030001000C000708323393CDDDFF05000C0007000000FFFFFFFF25000500029302120021000D0000363025202D20416363656E743692084D00920800000000000000000000010434FF0D0036003000250020002D00200041006300630065006E00740036000000030001000C0007093233FAC090FF05000C000700 + m.lcFileBinary = m.lcFileBinary + 0h0000FFFFFFFF250005000293020C002200070000416363656E74319208410092080000000000000000000001041DFF070041006300630065006E00740031000000030001000C00070400004F81BDFF05000C0007000000FFFFFFFF250005000293020C002300070000416363656E743292084100920800000000000000000000010421FF070041006300630065006E00740032000000030001000C0007050000C0504DFF05000C0007000000FFFFFFFF250005000293020C002400070000416363656E743392084100920800000000000000000000010425FF070041006300630065006E00740033000000030001000C00070600009BBB59FF05000C000700 + m.lcFileBinary = m.lcFileBinary + 0h0000FFFFFFFF250005000293020C002500070000416363656E743492084100920800000000000000000000010429FF070041006300630065006E00740034000000030001000C00070700008064A2FF05000C0007000000FFFFFFFF250005000293020C002600070000416363656E74359208410092080000000000000000000001042DFF070041006300630065006E00740035000000030001000C00070800004BACC6FF05000C0007000000FFFFFFFF250005000293020C002700070000416363656E743692084100920800000000000000000000010431FF070041006300630065006E00740036000000030001000C0007090000F79646FF05000C000700 + m.lcFileBinary = m.lcFileBinary + 0h0000FFFFFFFF25000500029302080028000300004261649208390092080000000000000000000001011BFF03004200610064000000030001000C0005FF0000FFC7CEFF05000C0005FF00009C0006FF25000500029302100029000B000043616C63756C6174696F6E92088100920800000000000000000000010216FF0B00430061006C00630075006C006100740069006F006E000000070001000C0005FF0000F2F2F2FF05000C0005FF0000FA7D00FF250005000206000E0005FF00007F7F7FFF010007000E0005FF00007F7F7FFF010008000E0005FF00007F7F7FFF010009000E0005FF00007F7F7FFF010093020F002A000A0000436865636B2043656C + m.lcFileBinary = m.lcFileBinary + 0h6C92087F00920800000000000000000000010217FF0A0043006800650063006B002000430065006C006C000000070001000C0005FF0000A5A5A5FF05000C0007000000FFFFFFFF250005000206000E0005FF00003F3F3FFF060007000E0005FF00003F3F3FFF060008000E0005FF00003F3F3FFF060009000E0005FF00003F3F3FFF0600930204002B8003FF92082000920800000000000000000000010503FF050043006F006D006D00610000000000930204002C8006FF92082800920800000000000000000000010506FF090043006F006D006D00610020005B0030005D0000000000930204002D8004FF92082600920800000000000000000000010504 + m.lcFileBinary = m.lcFileBinary + 0hFF0800430075007200720065006E006300790000000000930204002E8007FF92082E00920800000000000000000000010507FF0C00430075007200720065006E006300790020005B0030005D0000000000930215002F001000004578706C616E61746F7279205465787492084700920800000000000000000000010235FF10004500780070006C0061006E00610074006F0072007900200054006500780074000000020005000C0005FF00007F7F7FFF2500050002930209003000040000476F6F6492083B0092080000000000000000000001011AFF040047006F006F0064000000030001000C0005FF0000C6EFCEFF05000C0005FF0000006100FF250005 + m.lcFileBinary = m.lcFileBinary + 0h000293020E00310009000048656164696E67203192084700920800000000000000000000010310FF0900480065006100640069006E006700200031000000030005000C00070300001F497DFF250005000207000E00070400004F81BDFF050093020E00320009000048656164696E67203292084700920800000000000000000000010311FF0900480065006100640069006E006700200032000000030005000C00070300001F497DFF250005000207000E000704FF3FA8C0DEFF050093020E00330009000048656164696E67203392084700920800000000000000000000010312FF0900480065006100640069006E006700200033000000030005000C0007 + m.lcFileBinary = m.lcFileBinary + 0h0300001F497DFF250005000207000E000704323395B3D7FF020093020E00340009000048656164696E67203492083900920800000000000000000000010313FF0900480065006100640069006E006700200034000000020005000C00070300001F497DFF250005000293020A003500050000496E70757492087500920800000000000000000000010214FF050049006E007000750074000000070001000C0005FF0000FFCC99FF05000C0005FF00003F3F76FF250005000206000E0005FF00007F7F7FFF010007000E0005FF00007F7F7FFF010008000E0005FF00007F7F7FFF010009000E0005FF00007F7F7FFF01009302100036000B00004C696E6B6564 + m.lcFileBinary = m.lcFileBinary + 0h2043656C6C92084B00920800000000000000000000010218FF0B004C0069006E006B00650064002000430065006C006C000000030005000C0005FF0000FA7D00FF250005000207000E0005FF0000FF8001FF060093020C0037000700004E65757472616C9208410092080000000000000000000001011CFF07004E00650075007400720061006C000000030001000C0005FF0000FFEB9CFF05000C0005FF00009C6500FF250005000293020400008000FF92083300920800000000000000000000010100FF06004E006F0072006D0061006C000000020005000C0007010000000000FF25000500029302090038000400004E6F746592086200920800000000 + m.lcFileBinary = m.lcFileBinary + 0h00000000000001020AFF04004E006F00740065000000050001000C0005FF0000FFFFCCFF06000E0005FF0000B2B2B2FF010007000E0005FF0000B2B2B2FF010008000E0005FF0000B2B2B2FF010009000E0005FF0000B2B2B2FF010093020B0039000600004F757470757492087700920800000000000000000000010215FF06004F00750074007000750074000000070001000C0005FF0000F2F2F2FF05000C0005FF00003F3F3FFF250005000206000E0005FF00003F3F3FFF010007000E0005FF00003F3F3FFF010008000E0005FF00003F3F3FFF010009000E0005FF00003F3F3FFF0100930204003A8005FF9208240092080000000000000000000001 + m.lcFileBinary = m.lcFileBinary + 0h0505FF0700500065007200630065006E0074000000000093020A003B000500005469746C659208310092080000000000000000000001030FFF05005400690074006C0065000000020005000C00070300001F497DFF250005000193020A003C00050000546F74616C92084D00920800000000000000000000010319FF050054006F00740061006C000000040005000C0007010000000000FF250005000206000E00070400004F81BDFF010007000E00070400004F81BDFF0600930211003D000C00005761726E696E67205465787492083F0092080000000000000000000001020BFF0C005700610072006E0069006E00670020005400650078007400000002 + m.lcFileBinary = m.lcFileBinary + 0h0005000C0005FF0000FF0000FF25000500028E0858008E080000000000000000000090000000110011005400610062006C0065005300740079006C0065004D0065006400690075006D0039005000690076006F0074005300740079006C0065004C0069006700680074003100360060010200000085000E00032E0000000006005368656574319A0818009A0800000000000000000000010000000000000001000000A3081000A30800000000000000000000000000008C00040001000100C1010800C10100001DEB0100FC0008000000000000000000FF00020008006308160063080000000000000000000016000000040000000200960810009608000000 + m.lcFileBinary = m.lcFileBinary + 0h0000000000000042E501009B0810009B0800000000000000000000010000008C0810008C0800000000000000000000000000000A0000000908100000061000A91FCD07C1000100060400000B021000000000000000000000000000152F00000D00020001000C00020064000F000200010011000200000010000800FCA9F1D24D62503F5F00020001002A00020000002B00020000008200020001008000080000000000000000002502040000002C0181000200C104140000001500000083000200000084000200000026000800666666666666E63F27000800666666666666E63F28000800000000000000E83F29000800000000000000E83FA10022000000 + m.lcFileBinary = m.lcFileBinary + 0h2C01010001000100040042E50100333333333333D33F333333333333D33F74009C0826009C0800000000000000000000000000000000000000000000000000003C33000000000000000055000200080000020E0000000000000000000000000000003E021200B606000000004000000000000000000000008B0810008B0800000000000000000000000002001D000F0003000000000000010000000000000067081700670800000000000000000000020001FFFFFFFF034400000A0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 + m.lcFileBinary = m.lcFileBinary + 0h000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000010000000200000003000000FEFFFFFF050000000600000007000000FEFFFFFF09000000FEFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF + m.lcFileBinary = m.lcFileBinary + 0hFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF + m.lcFileBinary = m.lcFileBinary + 0hFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFEFF0000060002000000000000000000000000000000000001000000E0859FF2F94F6810AB9108002B27B3D930000000980000000700000001000000400000000400000048000000080000005400000012000000600000000C000000780000000D00000084000000130000009000000002000000E40400001E00000004000000000000001E00000004000000000000001E000000100000004D6963726F736F667420457863656C004000000000C07C0D23D9C601400000000086FCA92911C90103000000000000 + m.lcFileBinary = m.lcFileBinary + 0h000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000FEFF000006000200000000000000000000000000000000000100000002D5CDD59C2E1B10939708002B2CF9AE30000000B000000008000000010000004800000017000000500000000B000000580000001000000060000000130000006800000016000000700000000D000000780000000C0000008B00000002000000E40400000300000000000C000B000000000000000B000000000000000B000000000000000B000000000000001E1000000100000007000000536865657431000C100000020000001E0000 + m.lcFileBinary = m.lcFileBinary + 0h000B000000576F726B73686565747300030000000100000000000000000000000000000000000000000000000000000000000000000000000000010043006F006D0070004F0062006A0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000012000200FFFFFFFFFFFFFFFFFFFFFFFF0000000000000000000000000000000000000000000000000000000000000000000000000800000072000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000FF + m.lcFileBinary = m.lcFileBinary + 0hFFFFFFFFFFFFFFFFFFFFFF0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000FFFFFFFFFFFFFFFFFFFFFFFF0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 + m.lcFileBinary = m.lcFileBinary + 0hFFFFFFFFFFFFFFFFFFFFFFFF0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000100FEFF030A0000FFFFFFFF2008020000000000C000000000000046260000004D6963726F736F6674204F666669636520457863656C203230303320576F726B736865657400060000004269666638000E000000457863656C2E53686565742E3800F439B271000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 + m.lcFileBinary = m.lcFileBinary + 0h000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 + m.lcFileBinary = m.lcFileBinary + 0h0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 + ENDCASE + IF !EMPTY(m.lcFileBinary) + IF STRTOFILE(m.lcFileBinary, m.tcExcelFile, 0) > 0 + m.llReturn = .T. + ENDIF + ENDIF + ENDIF + RETURN m.llReturn +ENDFUNC \ No newline at end of file diff --git a/utile/GridExtras/gridextrasselect.vc2 b/utile/GridExtras/gridextrasselect.vc2 new file mode 100644 index 0000000..0cbdb51 --- /dev/null +++ b/utile/GridExtras/gridextrasselect.vc2 @@ -0,0 +1,2822 @@ +*-------------------------------------------------------------------------------------------------------------------------------------------------------- +* (EN) AUTOGENERATED - ATTENTION!! - NOT INTENDED FOR EXECUTION!! USE ONLY FOR MERGING CHANGES AND STORING WITH SCM TOOLS!! +*-------------------------------------------------------------------------------------------------------------------------------------------------------- +*< FOXBIN2PRG: Version="1.21" SourceFile="gridextrasselect.vcx" CPID="1252" /> (Solo para binarios VFP 9 / Only for VFP 9 binaries) +* +* +DEFINE CLASS but_criterii AS _buton_baza OF "..\..\comun\clase\_appbaza.vcx" + *< CLASSDATA: Baseclass="commandbutton" Timestamp="" Scale="Pixels" Uniqueid="" /> + + * + *m: initform + *m: loadfiltru + *m: refrehstatus + *m: resetstatus + *m: updatedetails + *p: cvar_afisata + *p: filtru_pretty_ro_full + *p: lcautare + *p: pornit + * + + * + cpicturedown = d:\roa_trunk\roahotel\clase\gridextras_\find1.bmp + cpictureup = d:\roa_trunk\roahotel\clase\gridextras_\find1.bmp + cvar_afisata = + filtru_pretty_ro_full = + FontSize = 9 + Height = 28 + lcautare = .T. + Name = "but_criterii" + Picture = find1.bmp + pornit = nu + RightToLeft = .T. + ToolTipText = "Cautare (CTRL + Q)" + * + + PROCEDURE Click + *!* This.initform(.T.) + ENDPROC + + PROCEDURE initform + *!* Lparameters tlShowForm + *!* Local Array lacriterii(1,1) + *!* Local lnButon + *!* This.loadcriterii(@lacriterii) + + *!* If(This.pornit="nu") + *!* If Not Pemstatus(This.Parent,"oCriterii",5) + *!* This.Parent.AddProperty("oCriterii") + *!* Endif + *!* This.Parent.ocriterii=Null + *!* This.Parent.ocriterii=Createobject("frm_criterii",@lacriterii) + *!* This.pornit="da" + *!* Endif + + *!* If tlShowForm + *!* This.Parent.ocriterii.Show(1) + *!* lnButon = gnButon + *!* Else + *!* lnButon = 2 + *!* Endif + + *!* This.updatedetails(lnButon) + ENDPROC + + PROCEDURE loadfiltru + Lparameters tcFiltru + This.initform(.F.) + This.Parent.ocriterii.do_incarca_filtre(tcFiltru) + This.updatedetails(1) + ENDPROC + + PROCEDURE refrehstatus + #DEFINE crlf CHR(13) + CHR(10) + + LOCAL lcText + lcText = "" + IF PEMSTATUS(THISFORM,"filtru_traducere",5) + lcText = IIF(NOT EMPTY(THISFORM.filtru_traducere()), THISFORM.filtru_traducere(),"") + ENDIF + + IF !EMPTY(ALLTRIM(THISFORM.filtru_pretty_ro)) + lcText = THISFORM.filtru_pretty_ro + IIF(!EMPTY(lcText), " si " + lcText, "") + ENDIF + + + THIS.TOOLTIPTEXT = IIF(!EMPTY(lcText), lcText + crlf, "") + "Cautare (CTRL + Q)" + THISFORM.filtru_pretty_ro_full = lcText + _SCREEN.STATUSBAR.TAG = lcText + + IF !EMPTY(lcText) + _SCREEN.STATUSBAR.ctlIcon="roastartmic.ico" + IF LEN(lcText) < 126 + _SCREEN.STATUSBAR.ctlMessage = lcText + ELSE + _SCREEN.STATUSBAR.ctlMessage=SUBSTR(lcText,1,122) + " ..." + ENDIF + ELSE + _SCREEN.STATUSBAR.ctlMessage=_SCREEN.CAPTION + ENDIF + + + + ENDPROC + + PROCEDURE resetstatus + IF PEMSTATUS(_SCREEN,"Statusbar",5) + _SCREEN.STATUSBAR.ctlPanels(2).ctlCaption="" + _SCREEN.STATUSBAR.ctlMessage = _SCREEN.CAPTION + _SCREEN.STATUSBAR.TAG = "" + ENDIF + ENDPROC + + PROCEDURE updatedetails + Lparameters tnButon + If Not Pemstatus(This.Parent,"filtru_pretty",5) + This.Parent.AddProperty("filtru_pretty") + Endif + If Not Pemstatus(This.Parent,"filtru_pretty_ro",5) + This.Parent.AddProperty("filtru_pretty_ro") + Endif + If Not Pemstatus(This.Parent,"filtru_cript",5) + This.Parent.AddProperty("filtru_cript") + Endif + This.Parent.filtru_pretty = This.Parent.ocriterii.filtru + This.Parent.filtru_pretty_ro = This.Parent.ocriterii.filtruro + This.Parent.filtru_cript = This.Parent.ocriterii.filtrucript + + This.refreshStatus() + + This.SetFocus + If Pemstatus(Thisform,"DO_CAUTA",5) And tnButon = 1 And This.lcautare + Thisform.DO_CAUTA() + If Reccount()>0 + _Screen.StatusBar.ctlPanels(2).ctlCaption=Transform(Reccount()) + " inregistrari" + Else + _Screen.StatusBar.ctlPanels(2).ctlCaption="" + Endif + Endif + ENDPROC + +ENDDEFINE + +DEFINE CLASS checkform AS timer + *< CLASSDATA: Baseclass="timer" Timestamp="" Scale="Pixels" Uniqueid="" /> + + * + Height = 23 + Name = "checkform" + Width = 23 + * + + PROCEDURE Timer + IF MROW(ThisForm.Name,3) = -1 OR MCOL(ThisForm.Name,3) = -1 + IF This.Parent._InForm + This.Parent._InForm = .F. + This.Parent.tmrFadeForm.Interval = 50 + This.Parent._Fade = 255 + ENDIF + ELSE + IF NOT This.Parent._InForm + This.Parent._InForm = .T. + This.Parent.tmrFadeForm.Interval = 50 + ENDIF + ENDIF + + ENDPROC + +ENDDEFINE + +DEFINE CLASS ct_paginare AS _container OF "..\..\comun\clase\_baza.vcx" + *< CLASSDATA: Baseclass="container" Timestamp="" Scale="Pixels" Uniqueid="" /> + + *-- OBJECTDATA items order determines ZOrder / El orden de los items OBJECTDATA determina el ZOrder + *< OBJECTDATA: ObjPath="Buton1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="Buton2" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="Label1" UniqueID="" Timestamp="" /> + + * + *p: nrofpage + *p: nrpages + * + + * + BorderWidth = 0 + Height = 26 + Name = "ct_paginare" + nrofpage = 1 + nrpages = + Width = 133 + * + + ADD OBJECT 'Buton1' AS buton WITH ; + cpicturedown = d:\roa_trunk\roahotel\clase\gridextras_\button fast forward_32.png, ; + cpictureup = d:\roa_trunk\roahotel\clase\gridextras_\button fast forward_32.png, ; + ctip = button fast forward_32, ; + Left = 75, ; + Name = "Buton1", ; + Picture = button fast forward_32.png, ; + ToolTipText = "Pagina urmatoare", ; + Top = 0 + *< END OBJECT: ClassLib="..\appbaza.vcx" BaseClass="commandbutton" /> + + ADD OBJECT 'Buton2' AS buton WITH ; + cpicturedown = d:\roa_trunk\roahotel\clase\gridextras_\button last_32.png, ; + cpictureup = d:\roa_trunk\roahotel\clase\gridextras_\button last_32.png, ; + ctip = button last_32, ; + Left = 104, ; + Name = "Buton2", ; + Picture = button last_32.png, ; + ToolTipText = "Ultima pagina", ; + Top = 0 + *< END OBJECT: ClassLib="..\appbaza.vcx" BaseClass="commandbutton" /> + + ADD OBJECT 'Label1' AS label WITH ; + BackStyle = 0, ; + Caption = "Label1", ; + Height = 17, ; + Left = 5, ; + Name = "Label1", ; + Top = 6, ; + Width = 67 + *< END OBJECT: BaseClass="label" /> + + PROCEDURE Buton1.Click + thisform.gridextra1.pagenumber = 0 + this.Parent.nrofpage = this.Parent.nrofpage + 1 + IF this.Parent.nrofpage>this.Parent.nrpages + this.Parent.nrofpage = this.Parent.nrpages + else + thisform.gridextra1.cautacontroller() + ENDIF + ENDPROC + + PROCEDURE Buton2.Click + thisform.gridextra1.pagenumber = 0 + IF this.Parent.nrofpage <> this.Parent.nrpages + this.Parent.nrofpage = this.Parent.nrpages + thisform.gridextra1.cautacontroller() + ENDIF + IF this.Parent.nrofpage>this.Parent.nrpages + this.Parent.nrofpage = this.Parent.nrpages + ENDIF + ENDPROC + +ENDDEFINE + +DEFINE CLASS ct_paginarenet AS _container OF "..\..\comun\clase\_baza.vcx" + *< CLASSDATA: Baseclass="container" Timestamp="" Scale="Pixels" Uniqueid="" /> + + *-- OBJECTDATA items order determines ZOrder / El orden de los items OBJECTDATA determina el ZOrder + *< OBJECTDATA: ObjPath="label1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="Buton1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="Buton2" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="Buton3" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="Buton4" UniqueID="" Timestamp="" /> + + * + *p: nrofpage + *p: nrpages + * + + * + BorderWidth = 0 + Height = 24 + Name = "ct_paginare" + nrofpage = 1 + nrpages = + Visible = .F. + Width = 189 + * + + ADD OBJECT 'Buton1' AS buton WITH ; + cpicturedown = d:\roa_trunk\roahotel\clase\gridextras_\button first_32.png, ; + cpictureup = d:\roa_trunk\roahotel\clase\gridextras_\button first_32.png, ; + ctip = button first_32, ; + Left = 0, ; + Name = "Buton1", ; + Picture = button first_32.png, ; + ToolTipText = "Prima pagina", ; + Top = -1 + *< END OBJECT: ClassLib="..\appbaza.vcx" BaseClass="commandbutton" /> + + ADD OBJECT 'Buton2' AS buton WITH ; + cpicturedown = d:\roa_trunk\roahotel\clase\gridextras_\button rewind_32.png, ; + cpictureup = d:\roa_trunk\roahotel\clase\gridextras_\button rewind_32.png, ; + ctip = button rewind_32, ; + Left = 29, ; + Name = "Buton2", ; + Picture = button rewind_32.png, ; + ToolTipText = "Pagina anterioara", ; + Top = -1 + *< END OBJECT: ClassLib="..\appbaza.vcx" BaseClass="commandbutton" /> + + ADD OBJECT 'Buton3' AS buton WITH ; + cpicturedown = d:\roa_trunk\roahotel\clase\gridextras_\button fast forward_32.png, ; + cpictureup = d:\roa_trunk\roahotel\clase\gridextras_\button fast forward_32.png, ; + ctip = button fast forward_32, ; + Left = 131, ; + Name = "Buton3", ; + Picture = button fast forward_32.png, ; + ToolTipText = "Pagina urmatoare", ; + Top = -1 + *< END OBJECT: ClassLib="..\appbaza.vcx" BaseClass="commandbutton" /> + + ADD OBJECT 'Buton4' AS buton WITH ; + cpicturedown = d:\roa_trunk\roahotel\clase\gridextras_\button last_32.png, ; + cpictureup = d:\roa_trunk\roahotel\clase\gridextras_\button last_32.png, ; + ctip = button last_32, ; + Left = 160, ; + Name = "Buton4", ; + Picture = button last_32.png, ; + ToolTipText = "Ultima pagina", ; + Top = -1 + *< END OBJECT: ClassLib="..\appbaza.vcx" BaseClass="commandbutton" /> + + ADD OBJECT 'label1' AS _label WITH ; + Height = 17, ; + Left = 63, ; + Name = "label1", ; + Top = 5, ; + Width = 40 + *< END OBJECT: ClassLib="..\..\comun\clase\_baza.vcx" BaseClass="label" /> + + PROCEDURE Buton1.Click + this.Parent.nrofpage = 1 + thisform.gridextra1.cautacontroller() + + + + ENDPROC + + PROCEDURE Buton2.Click + this.Parent.nrofpage = this.Parent.nrofpage - 1 + IF this.Parent.nrofpage<1 + this.Parent.nrofpage = 1 + ENDIF + thisform.gridextra1.cautacontroller() + + + ENDPROC + + PROCEDURE Buton3.Click + this.Parent.nrofpage = this.Parent.nrofpage + 1 + IF this.Parent.nrofpage>this.Parent.nrpages + this.Parent.nrofpage = this.Parent.nrpages + else + thisform.gridextra1.cautacontroller() + ENDIF + + + ENDPROC + + PROCEDURE Buton4.Click + this.Parent.nrofpage = this.Parent.nrpages + thisform.gridextra1.cautacontroller() + IF this.Parent.nrofpage>this.Parent.nrpages + this.Parent.nrofpage = this.Parent.nrpages + ENDIF + + ENDPROC + +ENDDEFINE + +DEFINE CLASS fadeform AS timer + *< CLASSDATA: Baseclass="timer" Timestamp="" Scale="Pixels" Uniqueid="" /> + + * + Height = 23 + Name = "fadeform" + Width = 23 + * + + PROCEDURE Timer + IF This.Parent._InForm + This.Parent._Fade = MIN(This.Parent._Fade + 60,255) + ELSE + This.Parent._Fade = MAX(This.Parent._Fade - 20,100) + ENDIF + + _Sol_SetLayeredWindowAttributes(THISFORM.hWnd, 0, This.Parent._Fade, 2) + + IF NOT BETWEEN(This.Parent._Fade,101,254) + This.Interval = 0 + ENDIF + + ENDPROC + +ENDDEFINE + +DEFINE CLASS gridcustomfilter AS container + *< CLASSDATA: Baseclass="container" Timestamp="" Scale="Pixels" Uniqueid="" /> + + *-- OBJECTDATA items order determines ZOrder / El orden de los items OBJECTDATA determina el ZOrder + *< OBJECTDATA: ObjPath="Combo1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="Text1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="Text2" UniqueID="" Timestamp="" /> + + * + *m: clearfiltersettings + *m: controlsourcetype_assign + *m: filterstring_access + *m: operatorchanged + *m: selectall + *m: setup + *p: columncontrolsource + *p: controlsourcetype + *p: filterstring + *p: interactivechangecombofiring + *p: uniquecursorname + *a: acriteriiuns[1,4] + *a: acriterii[1,4] + * + + * + BackStyle = 0 + BorderWidth = 0 + columncontrolsource = + controlsourcetype = C + filterstring = + Height = 76 + interactivechangecombofiring = .F. + Name = "gridcustomfilter" + uniquecursorname = + Width = 192 + * + + ADD OBJECT 'Combo1' AS combobox WITH ; + Height = 24, ; + Left = 1, ; + Name = "Combo1", ; + RowSourceType = 1, ; + Style = 2, ; + Top = 1, ; + Width = 190 + *< END OBJECT: BaseClass="combobox" /> + + ADD OBJECT 'Text1' AS textbox WITH ; + Format = "!K", ; + Height = 23, ; + Left = 1, ; + Name = "Text1", ; + SelectOnEntry = .T., ; + Top = 27, ; + Visible = .F., ; + Width = 190 + *< END OBJECT: BaseClass="textbox" /> + + ADD OBJECT 'Text2' AS textbox WITH ; + Format = "!K", ; + Height = 23, ; + Left = 1, ; + Name = "Text2", ; + SelectOnEntry = .T., ; + Top = 52, ; + Visible = .F., ; + Width = 190 + *< END OBJECT: BaseClass="textbox" /> + + PROCEDURE clearfiltersettings + this.combo1.ListIndex = 1 + this.controlsourcetype = this.controlsourcetype + ENDPROC + + PROCEDURE controlsourcetype_assign + LPARAMETERS vNewVal + LOCAL lvDefaultValue + DO CASE + *!* MARIUS + CASE INLIST(m.vNewVal, "C", "M", "V") + m.lvDefaultValue = "" + *!* MARIUS ^ + CASE INLIST(m.vNewVal, "N", "Y") + m.lvDefaultValue = 0.00 + CASE m.vNewVal = "D" + m.lvDefaultValue = {} + CASE m.vNewVal = "T" + m.lvDefaultValue = {/:} + CASE m.vNewVal = "L" + m.lvDefaultValue = .T. + ENDCASE + this.text1.Value = m.lvDefaultValue + this.text2.Value = m.lvDefaultValue + this.text1.refresh() + this.text2.refresh() + THIS.ControlSourceType = m.vNewVal + + ENDPROC + + PROCEDURE Destroy + USE IN Select(This.UniqueCursorName) + DODEFAULT() + ENDPROC + + PROCEDURE filterstring_access + LOCAL lcFilterString, lnFilterType, lcAtCommand + m.lcFilterString = "" + IF thisform.casesensitive + m.lcAtCommand = "AT(" + ELSE + m.lcAtCommand = "ATC(" + ENDIF + + IF !EOF(this.uniquecursorname) AND this.combo1.ListIndex != 1 + m.lnFilterType = EVALUATE(this.uniquecursorname + ".criteria") + DO case + CASE m.lnFilterType = 1 + m.lcFilterString = m.lcAtCommand + "[" + ALLTRIM(this.text1.Value) + "], LEFT(" + this.columncontrolsource + "," + TRANSFORM(LEN(ALLTRIM(this.text1.Value))) + ")) > 0" + CASE m.lnFilterType = 2 + m.lcFilterString = m.lcAtCommand + "[" + ALLTRIM(this.text1.Value) + "], " + this.columncontrolsource + ") > 0" + CASE m.lnFilterType = 3 + DO case + CASE INLIST(this.controlsourcetype, "C", "M") + m.lcFilterString = this.columncontrolsource + "=[" + ALLTRIM(TRANSFORM(this.text1.Value)) + "]" + CASE INLIST(this.controlsourcetype, "D", "T") + m.lcFilterString = this.columncontrolsource + "={" + ALLTRIM(TRANSFORM(this.text1.Value)) + "}" + OTHERWISE + m.lcFilterString = this.columncontrolsource + "=" + ALLTRIM(TRANSFORM(this.text1.Value)) + ENDCASE + CASE m.lnFilterType = 4 + IF INLIST(this.controlsourcetype, "D", "T") + m.lcFilterString = this.columncontrolsource + ">{" + ALLTRIM(TRANSFORM(this.text1.Value)) + "}" + ELSE + m.lcFilterString = this.columncontrolsource + ">" + ALLTRIM(TRANSFORM(this.text1.Value)) + ENDIF + CASE m.lnFilterType = 5 + IF INLIST(this.controlsourcetype, "D", "T") + m.lcFilterString = this.columncontrolsource + "<{" + ALLTRIM(TRANSFORM(this.text1.Value)) + "}" + ELSE + m.lcFilterString = this.columncontrolsource + "<" + ALLTRIM(TRANSFORM(this.text1.Value)) + ENDIF + CASE m.lnFilterType = 6 + IF INLIST(this.controlsourcetype, "D", "T") + m.lcFilterString = "Between(" + this.columncontrolsource + ",{" + ALLTRIM(TRANSFORM(this.text1.Value)) + "},{" + ALLTRIM(TRANSFORM(this.text2.Value)) + "})" + ELSE + m.lcFilterString = "Between(" + this.columncontrolsource + "," + ALLTRIM(TRANSFORM(this.text1.Value)) + "," + ALLTRIM(TRANSFORM(this.text2.Value)) + ")" + ENDIF + ENDCASE + ENDIF + + *!* IF INLIST(m.tcFieldType, "C", "M") + *!* INSERT INTO (m.lcUniqueCursorName) VALUES ("Begins with", "CM", "Text1", "", 1) + *!* ENDIF + *!* IF INLIST(m.tcFieldType, "C", "M") + *!* INSERT INTO (m.lcUniqueCursorName) VALUES ("Contains", "CM", "Text1", "", 2) + *!* ENDIF + *!* IF INLIST(m.tcFieldType, "C", "M", "N", "Y", "L", "D", "T") + *!* INSERT INTO (m.lcUniqueCursorName) VALUES ("Equals", "CMNYLDT", "Text1", "", 3) + *!* ENDIF + *!* IF INLIST(m.tcFieldType, "N", "Y", "D", "T") + *!* INSERT INTO (m.lcUniqueCursorName) VALUES ("Greater than", "NYDT", "Text1", "", 4) + *!* ENDIF + *!* IF INLIST(m.tcFieldType, "N", "Y", "D", "T") + *!* INSERT INTO (m.lcUniqueCursorName) VALUES ("Less than", "NYDT", "Text1", "", 5) + *!* ENDIF + *!* IF INLIST(m.tcFieldType, "N", "Y", "D", "T") + *!* INSERT INTO (m.lcUniqueCursorName) VALUES ("Between", "NYDT", "Text1", "Text2", 6) + *!* ENDIF + + RETURN m.lcFilterString + ENDPROC + + PROCEDURE operatorchanged + LOCAL lcControlOne, lcControlTwo + IF !EOF(this.uniquecursorname) AND this.combo1.ListIndex != 1 + m.lcControlOne = EVALUATE(this.uniquecursorname + ".ctrlone") + m.lcControlTwo = EVALUATE(this.uniquecursorname + ".ctrlTwo") + this.text1.Visible = !Empty(m.lcControlOne) + this.text2.Visible = !Empty(m.lcControlTwo) + ELSE + this.text1.Visible = .F. + this.text2.Visible = .F. + ENDIF + ENDPROC + + PROCEDURE selectall + *!* IF !thisform.check1.value ; + *!* AND this.combo1.listindex > 1 + *!* thisform.check1.value = .T. + *!* thisform.check1.valid() + *!* ENDIF + ENDPROC + + PROCEDURE setup + LPARAMETERS tcFieldCaption, tcFieldType, tcColumnControlSource + **** adaugat de mine 23.04.09 + *!* EXTERNAL ARRAY tacriterii + *!* DIMENSION this.acriterii(ALEN(tacriterii,1),6) + *!* DIMENSION this.acriteriiuns(ALEN(tacriterii,1),5) + *!* ACOPY(tacriterii,this.acriteriiuns) + *!* FOR x=1 TO ALEN(this.acriterii,1) + *!* FOR i = 1 TO 5 + *!* this.acriterii(x,i)=tacriterii(x,i) + *!* ENDFOR + *!* this.acriterii(x,6)=x + *!* ENDFOR + *!* ncontor=0 + *!* ncontorcols=1 + *!* nrlines=Ceiling(ALEN(this.acriterii,1)/7) + *!* ASORT(this.acriterii) + + *!* FOR n = 1 TO ALEN(this.acriterii,1) + *!* ncontor=ncontor+1 + + *!* this.combo1.AddItem(this.acriterii(n,1)) + *!* IF ncontor=nrlines + *!* ncontor=0 + *!* ncontorcols=ncontorcols+1 + *!* ENDIF + *!* ENDFOR + **** adaugat de mine 23.04.09 + + + LOCAL lcUniqueCursorName + this.columncontrolsource = m.tcColumnControlSource + m.lcUniqueCursorName = SYS(2015) + THIS.uniquecursorname = m.lcUniqueCursorName + CREATE CURSOR (m.lcUniqueCursorName) (usrcaption C(30), datatypes C(30), ctrlone C(30), ctrltwo C(30), criteria I) + m.tcFieldType = UPPER(m.tcFieldType) + INSERT INTO (m.lcUniqueCursorName) VALUES ("", "", "", "", 0) + *!* MARIUS + *!* IF INLIST(m.tcFieldType, "C", "M") + *!* INSERT INTO (m.lcUniqueCursorName) VALUES ("Begins with", "CM", "Text1", "", 1) + *!* ENDIF + *!* IF INLIST(m.tcFieldType, "C", "M") + *!* INSERT INTO (m.lcUniqueCursorName) VALUES ("Contains", "CM", "Text1", "", 2) + *!* ENDIF + *!* IF INLIST(m.tcFieldType, "C", "M", "N", "Y", "L", "D", "T") + *!* INSERT INTO (m.lcUniqueCursorName) VALUES ("Equals", "CMNYLDT", "Text1", "", 3) + *!* ENDIF + *!* IF INLIST(m.tcFieldType, "N", "Y", "D", "T") + *!* INSERT INTO (m.lcUniqueCursorName) VALUES ("Greater than", "NYDT", "Text1", "", 4) + *!* ENDIF + *!* IF INLIST(m.tcFieldType, "N", "Y", "D", "T") + *!* INSERT INTO (m.lcUniqueCursorName) VALUES ("Less than", "NYDT", "Text1", "", 5) + *!* ENDIF + *!* IF INLIST(m.tcFieldType, "N", "Y", "D", "T") + *!* INSERT INTO (m.lcUniqueCursorName) VALUES ("Between", "NYDT", "Text1", "Text2", 6) + *!* ENDIF + IF INLIST(m.tcFieldType, "C", "M", "V") + INSERT INTO (m.lcUniqueCursorName) VALUES ("Incepe cu", "CMV", "Text1", "", 1) + ENDIF + IF INLIST(m.tcFieldType, "C", "M", "V") + INSERT INTO (m.lcUniqueCursorName) VALUES ("Contine", "CMV", "Text1", "", 2) + ENDIF + IF INLIST(m.tcFieldType, "C", "M", "V", "N", "Y", "L", "D", "T") + INSERT INTO (m.lcUniqueCursorName) VALUES ("Egal cu", "CMVNYLDT", "Text1", "", 3) + ENDIF + IF INLIST(m.tcFieldType, "N", "Y", "D", "T") + INSERT INTO (m.lcUniqueCursorName) VALUES ("Mai mare decat", "NYDT", "Text1", "", 4) + ENDIF + IF INLIST(m.tcFieldType, "N", "Y", "D", "T") + INSERT INTO (m.lcUniqueCursorName) VALUES ("Mai mic decat", "NYDT", "Text1", "", 5) + ENDIF + IF INLIST(m.tcFieldType, "N", "Y", "D", "T") + INSERT INTO (m.lcUniqueCursorName) VALUES ("Intre", "NYDT", "Text1", "Text2", 6) + ENDIF + *!* MARIUS ^ + GO TOP IN (m.lcUniqueCursorName) + this.controlsourcetype = m.tcFieldType + this.combo1.RowSourceType = 2 + this.combo1.RowSource = m.lcUniqueCursorName + *!* this.combo1.ColumnCount = 5 + *!* this.combo1.ColumnWidths = TRANSFORM(this.Width) + ",0,0,0,0" + this.combo1.ListIndex = 2 + + ENDPROC + + PROCEDURE Combo1.InteractiveChange + LOCAL lnListIndexWas + IF this.parent.InteractiveChangeComboFiring + RETURN + ENDIF + this.parent.InteractiveChangeComboFiring = .T. + m.lnListIndexWas = this.listindex + This.Parent.OperatorChanged() + this.parent.SelectAll() + this.listindex = m.lnListIndexWas + this.refresh() + this.parent.InteractiveChangeComboFiring = .F. + + ENDPROC + + PROCEDURE Combo1.ProgrammaticChange + this.InteractiveChange() + ENDPROC + + PROCEDURE Text1.InteractiveChange + this.Parent.SelectAll() + ENDPROC + + PROCEDURE Text2.InteractiveChange + This.Parent.selectall() + ENDPROC + +ENDDEFINE + +DEFINE CLASS gridextra AS custom + *< CLASSDATA: Baseclass="custom" Timestamp="" Scale="Pixels" Uniqueid="" /> + + * + *m: addjoiner + *m: applyfilter + *m: applysort + *m: ascending_assign + *m: bindcolumnevents + *m: bindheaderevents + *m: cautacontroller + *m: clearfilter + *m: clearheadersortimages + *m: columnmoved + *m: columnresize + *m: createcombocursor + *m: createscreenreference + *m: exportgrid + *m: getcolumnobject + *m: getcombocursorname + *m: getheaderobject + *m: getsortexpression + *m: getuserapplicationdatapath + *m: getwindowproc + *m: headerclick + *m: headerrightclick + *m: positionform + *m: restorecolumnfilters + *m: restorecolumnsort + *m: restorecustomcolumnfilters + *m: restoregridpreferences + *m: saveacolumnfilters + *m: savecolumnsort + *m: savecustomcolumnfilters + *m: savegridpreferences + *m: search + *m: setheaderimages + *m: setup + *m: templateapply + *m: templatedelete + *m: templatelocate + *m: templatesave + *p: allowgridexport + *p: allowgridfilter + *p: allowgridpreferences + *p: allowgridsort + *p: ascending + *p: casesensitive + *p: cfiltrufin + *p: columnobject + *p: combocursorcollection + *p: companyname + *p: currentcolumn + *p: currentcombocursorname + *p: delimiter + *p: globalarrayname + *p: gridexportobject + *p: gridexpression + *p: gridobject + *p: gridpreferencefile + *p: headerascendingimage + *p: headerdescendingimage + *p: headerfilterimage + *p: headernosortimage + *p: indexfile + *p: indextag + *p: ocoll + *p: originalfilter + *p: pagenumber + *p: parentfield + *p: parenttable && Reference to the parent XMLTable object (only one XMLAdapter or ParentTable property can be set). + *p: productname + *p: searchandfilterform + *p: templatetable + *a: acolumnfilters[1,3] + *a: colfilter[5,1] + *a: customcolumnfilters[1,5] + * + + * + allowgridexport = .T. + allowgridfilter = .T. + allowgridpreferences = .T. + allowgridsort = .T. + ascending = .F. + casesensitive = .F. + cfiltrufin = + columnobject = .NULL. + combocursorcollection = .NULL. + companyname = MyCompany + currentcolumn = .NULL. + currentcombocursorname = + delimiter = || + globalarrayname = + gridexportobject = .NULL. + gridexpression = Thisform.Grid1 + gridobject = .NULL. + gridpreferencefile = gridprefs.tmp + headerascendingimage = ascendingsort12.bmp + headerdescendingimage = descendingsort12.bmp + headerfilterimage = filter12.bmp + headernosortimage = nosort12.bmp + indexfile = + indextag = + Name = "gridextra" + ocoll = null + originalfilter = + pagenumber = 0 + parentfield = + parenttable = + productname = MyProduct + searchandfilterform = .NULL. + templatetable = gridextras.dbf + * + + PROCEDURE addjoiner + LPARAMETERS tcCurrentFilter, tcFilterNewPart + LOCAL lcReturn, lcCurrentFilterPart + m.lcReturn = "" + IF !EMPTY(m.tcFilterNewPart) + m.tcFilterNewPart = ALLTRIM(m.tcFilterNewPart) + m.tcCurrentFilter = ALLTRIM(m.tcCurrentFilter) + m.lcCurrentFilterPart = RIGHT(m.tcCurrentFilter,1) + IF m.lcCurrentFilterPart != "(" AND m.tcFilterNewPart != ")" + DO CASE + CASE m.tcFilterNewPart = "(" AND EMPTY(m.tcCurrentFilter) + m.lcReturn = m.tcFilterNewPart + CASE m.tcFilterNewPart = "(" AND !EMPTY(m.tcCurrentFilter) + m.lcReturn = " AND " + m.tcFilterNewPart + CASE m.lcCurrentFilterPart = ")" + m.lcReturn = " AND " + m.tcFilterNewPart + OTHERWISE + m.lcReturn = " OR " + m.tcFilterNewPart + ENDCASE + ELSE + m.lcReturn = m.tcFilterNewPart + ENDIF + ENDIF + + RETURN m.lcReturn + ENDPROC + + PROCEDURE applyfilter + PARAMETERS tcFiltru + this.cfiltrufin = tcFiltru + this.cautacontroller() + + + + + + + + + + + + + + + + + ENDPROC + + PROCEDURE applysort + LPARAMETERS tlIsCombobox, toColumnObject, tlTemplateAscending + LOCAL lcAliasWas, lcSafetyWas, lcSortExpression, ; + lcControlSource, lcParentField, loColumn, ; + lnTagNo, llNewColumn, loHeaderObject, ; + loExc AS EXCEPTION, lnChangedBufferFrom + + IF PCOUNT() < 3 + m.tlTemplateAscending = .F. + ENDIF + WITH THIS + IF TYPE("m.toColumnObject") = "O" + m.loColumn = m.toColumnObject + ELSE + m.loColumn = This.GetColumnObject() + ENDIF + IF TYPE("m.loColumn.PARENT.RECORDSOURCE") != "C" + RETURN .F. + ENDIF + IF !ISNULL(.currentcolumn) AND m.loColumn.NAME = .currentcolumn.NAME AND VARTYPE(m.toColumnObject) != "O" + m.llNewColumn = .F. + ELSE + m.llNewColumn = .T. + .currentcolumn = m.loColumn + RELEASE m.loColumn + m.loColumn = NULL + ENDIF + IF TYPE([This.CurrentColumn]) != "O" OR TYPE([This.CurrentColumn.ControlSource]) != "C" + m.loHeaderObject = .currentcolumn.CONTROLS(1) + THIS.ClearHeaderSortImages() + m.loHeaderObject.PICTURE = THIS.HeaderNoSortImage &&"navigate_no.png" + .currentcolumn = NULL + IF !EMPTY(m.lcAliasWas) AND ALIAS() != m.lcAliasWas + SELECT (m.lcAliasWas) + ENDIF + RETURN .F. + ENDIF + .currentcolumn.SETFOCUS() + m.lcControlSource = EVALUATE([This.CurrentColumn.ControlSource]) && EVALUATE([.CurrentColumn.] + .currentcolumn.CURRENTCONTROL + [.ControlSource]) + m.lcParentField = JUSTEXT(m.lcControlSource) && IIF(AT("(",m.lcControlSource) = 0, JUSTEXT(m.lcControlSource), "") + m.lcAliasWas = ALIAS() + IF m.tlIsCombobox OR EMPTY(FIELD(m.lcParentField,.currentcolumn.PARENT.RECORDSOURCE))&& EMPTY(m.lcParentField) OR LOWER(ALLTRIM(.currentcolumn.PARENT.RECORDSOURCE)) != LOWER(ALLTRIM(JUSTSTEM(m.lcControlSource))) + m.lcParentField = m.lcControlSource + .PARENTTABLE = .currentcolumn.PARENT.RECORDSOURCE + SELECT (.PARENTTABLE) + m.lnTagNo = 0 + ELSE + .PARENTTABLE = JUSTSTEM(m.lcControlSource) + SELECT (.PARENTTABLE) + m.lnTagNo = TAGNO(m.lcParentField) + ENDIF + IF !m.llNewColumn OR m.lnTagNo > 0 &&OR ORDER(.PARENTTABLE) == UPPER(m.lcParentField) OR (!EMPTY(.INDEXFILE) AND ORDER(.PARENTTABLE) == UPPER(JUSTSTEM(.INDEXFILE))) + IF !m.llNewColumn + .ASCENDING = !.ASCENDING + ELSE + .ASCENDING = m.tlTemplateAscending && set to .F. so field is indexed in Ascending Order + ENDIF + IF m.lnTagNo = 0 && we're dealing with an idx + m.lcParentField = JUSTSTEM(.INDEXFILE) + ENDIF + IF .ASCENDING + SET ORDER TO (m.lcParentField) IN (.PARENTTABLE) DESCENDING + ELSE + SET ORDER TO (m.lcParentField) IN (.PARENTTABLE) ASCENDING + ENDIF + ELSE + .ASCENDING = m.tlTemplateAscending && set to .F. so field is indexed in Ascending Order + m.lcSortExpression = THIS.GetSortExpression(m.lcParentField, m.tlIsCombobox) + IF !EMPTY(m.lcSortExpression) + m.lcSafetyWas = SET("Safety") + SET SAFETY OFF && If idx already exists, overwrite it silently + TRY + m.lnChangedBufferFrom = CURSORGETPROP("Buffering", .PARENTTABLE) + IF BETWEEN(m.lnChangedBufferFrom, 4, 5) + IF GETNEXTMODIFIED(0, .PARENTTABLE, .T.) = 0 + CURSORSETPROP("Buffering", 3, .PARENTTABLE) && Must set tables and views to optimistic row buffering in order to create a temp index + ELSE + MESSAGEBOX("The system was unable to sort the selected column due to unsaved changes." + CHR(13) ; + + "Save your changes and try again.", 64, "Unsaved Changes Detected - Save Required") + EXIT + ENDIF + ENDIF + INDEX ON &lcSortExpression TO (.INDEXFILE) + IF .ASCENDING + SET ORDER TO (ORDER(.PARENTTABLE)) DESCENDING + ELSE + SET ORDER TO (ORDER(.PARENTTABLE)) ASCENDING + ENDIF + CATCH TO m.loExc + *!* MESSAGEBOX(TRANSFORM(m.loExc.lineno) + " " + m.loExc.Message) + m.loHeaderObject = .currentcolumn.CONTROLS(1) + m.loHeaderObject.PICTURE = THIS.HeaderNoSortImage && "navigate_no.png" + .currentcolumn = NULL + FINALLY + IF USED(.PARENTTABLE) + IF BETWEEN(m.lnChangedBufferFrom, 4, 5) AND !BETWEEN(CURSORGETPROP("Buffering", .PARENTTABLE),4,5) + CURSORSETPROP("Buffering", m.lnChangedBufferFrom, .PARENTTABLE) + ENDIF + ENDIF + ENDTRY + SET SAFETY &lcSafetyWas && set it back the way we found it + ENDIF + ENDIF + IF !ISNULL(.currentcolumn) + GO BOTTOM IN (.PARENTTABLE) + GO TOP IN (.PARENTTABLE) + .GridObject.REFRESH() + .currentcolumn.SETFOCUS() + ENDIF + .GridObject.REFRESH() + ENDWITH + IF !EMPTY(m.lcAliasWas) + SELECT (m.lcAliasWas) + ENDIF + + + ENDPROC + + PROCEDURE ascending_assign + LPARAMETERS vNewVal + DIMENSION aryShapePoints(3,2) + + IF PCOUNT() = 0 OR TYPE("m.vNewVal") != "L" + m.vNewVal = this.ascending + ENDIF + + This.ClearHeaderSortImages() + + m.loHeaderObject = THIS.GetHeaderObject() + IF !ISNULL(m.loHeaderObject) + IF m.vNewVal && Descending + m.loHeaderObject.picture = This.HeaderDescendingImage && "navigate_open.png" + ELSE && Ascending + m.loHeaderObject.picture = This.HeaderAscendingImage && "navigate_close.png" + ENDIF + ENDIF + THIS.ASCENDING = m.vNewVal + + ENDPROC + + PROCEDURE bindcolumnevents + LPARAMETERS toColumnObject + BINDEVENT(m.toColumnObject,"Moved",This,"ColumnMoved") + BINDEVENT(m.toColumnObject,"Resize",This,"ColumnResize") + ENDPROC + + PROCEDURE bindheaderevents + LPARAMETERS toHeaderObject + BINDEVENT(m.toHeaderObject,"Click",This,"HeaderClick") + BINDEVENT(m.toHeaderObject,"RightClick",This,"HeaderRightClick") + ENDPROC + + PROCEDURE cautacontroller + ENDPROC + + PROCEDURE clearfilter + LOCAL lcFilter + m.lcFilter = This.originalfilter + IF USED(this.gridobject.recordsource) + SET FILTER TO &lcFilter IN (this.gridobject.recordsource) + GO TOP IN (this.gridobject.recordsource) + ENDIF + this.gridobject.refresh() + + ENDPROC + + PROCEDURE clearheadersortimages + LOCAL loHeaderObject, lnCounter, loColumn, lcHeaderImage + IF TYPE("THIS.currentcolumn") = "O" + FOR m.lnCounter = 1 TO THIS.currentcolumn.parent.columncount + m.loColumn = THIS.currentcolumn.parent.columns(m.lnCounter) + m.loHeaderObject = m.loColumn.controls(1) + m.lcHeaderImage = UPPER(JUSTFNAME(m.loHeaderObject.picture)) + IF !EMPTY(m.lcHeaderImage) AND INLIST(m.lcHeaderImage, UPPER(this.HeaderAscendingImage), UPPER(This.HeaderDescendingImage), UPPER(This.HeaderNoSortImage)) + m.loHeaderObject.picture = "" + ENDIF + ENDFOR + ENDIF + + ENDPROC + + PROCEDURE columnmoved + This.savegridpreferences(this.GridObject) + + ENDPROC + + PROCEDURE columnresize + This.savegridpreferences(this.GridObject) + + ENDPROC + + PROCEDURE createcombocursor + LPARAMETERS tcTempCursorName, toComboBox + + LOCAL lnCounter, lcControlSourceType, lcAliasWas + m.lcAliasWas = ALIAS() + CREATE CURSOR (m.tcTempCursorName) (disptext V(99), fkid V(99)) + FOR m.lnCounter = 1 TO m.toComboBox.listcount + IF this.casesensitive + INSERT INTO (m.tcTempCursorName) ; + VALUES (m.toComboBox.list(m.lnCounter,1), m.toComboBox.list(m.lnCounter, m.toComboBox.boundcolumn)) + ELSE + INSERT INTO (m.tcTempCursorName) ; + VALUES (UPPER(m.toComboBox.list(m.lnCounter,1)), m.toComboBox.list(m.lnCounter, m.toComboBox.boundcolumn)) + ENDIF + ENDFOR + m.lcControlSourceType = TYPE(m.toComboBox.controlsource) + IF !INLIST(m.lcControlSourceType, "C", "M") + IF m.lcControlSourceType = "N" + m.lcControlSourceType = m.lcControlSourceType + "(16,4)" + ENDIF + ALTER table (m.tcTempCursorName) ALTER COLUMN fkid &lcControlSourceType + ENDIF + SELECT(m.tcTempCursorName) + INDEX on fkid TAG fkid + + IF m.lcAliasWas != ALIAS() AND USED(m.lcAliasWas) + SELECT (m.lcAliasWas) + ENDIF + + ENDPROC + + PROCEDURE createscreenreference + IF TYPE("_GEScr") = "U" + PUBLIC _GEScr + ENDIF + IF VARTYPE(_GEScr) != "O" + _GEScr = _Screen + ENDIF + + ENDPROC + + PROCEDURE Destroy + Local lcAliasWas, lcCursorName + Try + Unbindevents(This) + If Vartype(This.gridobject)="O" + Unbindevents(This.gridobject) + Endif + Removeproperty(_Screen, This.GlobalArrayName) + Use In Select(This.GlobalArrayName) + Unbindevents(0) + If File(This.IndexFile) + m.lcAliasWas = Alias() + Select (This.ParentTable) + Set Index To + If !Empty(m.lcAliasWas) + Select (m.lcAliasWas) + Endif + Erase (This.IndexFile) + If Used(m.lcAliasWas) + Select (m.lcAliasWas) + Endif + Endif + If Vartype(This.combocursorcollection) = "O" + For Each m.lcCursorName In This.combocursorcollection + If Vartype(m.lcCursorName) = "C" And Used(m.lcCursorName) + Use In Select(m.lcCursorName) + Endif + Next + Endif + Store Null To This.gridobject, This.currentcolumn, This.columnobject, This.GridExportObject, This.combocursorcollection + Catch + Endtry + + ENDPROC + + PROCEDURE exportgrid + ENDPROC + + PROCEDURE getcolumnobject + LOCAL ARRAY laObject(1,4) + LOCAL loObject, lcBaseClass + *!* =AMOUSEOBJ(m.laObject) + *!* m.loObject = m.laObject(1,1) + AEVENTS(m.laObject,0) + m.loObject = m.laObject[1] + IF varTYPE(m.loObject) = 'O' + m.lcBaseClass = UPPER(m.loObject.baseclass) + DO case + CASE m.lcBaseClass = "COLUMN" + *!* Do nothing as m.loObject is the column + CASE m.lcBaseClass = "HEADER" + m.loObject = m.loObject.Parent + OTHERWISE + m.loObject = NULL + ENDCASE + ELSE + m.loObject = NULL + ENDIF + + + + + + + *!* IF TYPE("m.loObject.baseclass") = "C" + *!* m.lcBaseClass = UPPER(m.loObject.baseclass) + *!* DO case + *!* CASE m.lcBaseClass = "COLUMN" + *!* *!* Do nothing as m.loObject is the column + *!* CASE m.lcBaseClass = "HEADER" + *!* m.loObject = m.loObject.Parent + *!* OTHERWISE + *!* m.loObject = NULL + *!* ENDCASE + *!* ELSE + *!* m.loObject = NULL + *!* ENDIF + This.columnobject = m.loObject + RETURN m.loObject + ENDPROC + + PROCEDURE getcombocursorname + LPARAMETERS toComboBox + LOCAL lnKeyIndex, lcTempCursorName + IF VARTYPE(this.combocursorcollection) != "O" + This.combocursorcollection = CREATEOBJECT("collection") + ENDIF + m.lcTempCursorName = "" + m.lnKeyIndex = This.combocursorcollection.getkey(m.toComboBox.parent.name) + IF m.lnKeyIndex = 0 + m.lcTempCursorName = SYS(2015) + This.combocursorcollection.add(m.lcTempCursorName, m.toComboBox.parent.name) + ELSE + m.lcTempCursorName = This.combocursorcollection.Item(m.lnKeyIndex) + ENDIF + IF !USED(m.lcTempCursorName) AND !EMPTY(m.lcTempCursorName) + this.createcombocursor(m.lcTempCursorName, m.toComboBox) + ENDIF + This.currentcombocursorname = m.lcTempCursorName + RETURN m.lcTempCursorName + ENDPROC + + PROCEDURE getheaderobject + LOCAL loObject + m.loObject = this.GetColumnObject() + IF !ISNULL(m.loObject) AND TYPE("m.loObject.baseclass") = "C" AND UPPER(m.loObject.baseclass) = "COLUMN" + m.loObject = m.loObject.Controls(1) && Get header control + ENDIF + RETURN m.loObject + ENDPROC + + PROCEDURE getsortexpression + LPARAMETERS tcFieldName, tlIsCombobox + LOCAL lcType, lcSortExpression + m.lcType = TYPE(m.tcFieldName) + IF PCOUNT() < 2 + m.tlIsCombobox = .F. + ENDIF + IF m.tlIsCombobox + m.lcSortExpression = this.currentcombocursorname + [.disptext FOR SEEK(&tcFieldName, "] + this.currentcombocursorname + [","fkid")] + ELSE + DO CASE + CASE m.lcType $ "CM" + m.lcSortExpression = [UPPER(LEFT(NVL(] + m.tcFieldName + [,""), 99))] + CASE lcType = "N" + m.lcSortExpression = [NVL(] + m.tcFieldName + [, 0)] + CASE m.lcType $ "D" + m.lcSortExpression = [NVL(] + m.tcFieldName + [, {})] + CASE m.lcType $ "T" + m.lcSortExpression = [NVL(] + m.tcFieldName + [, {/:})] + CASE m.lcType == "L" + m.lcSortExpression = [NVL(] + m.tcFieldName + [, .F.)] + CASE m.lcType == "Y" + m.lcSortExpression = [NVL(] + m.tcFieldName + [, $0.00)] + OTHERWISE + m.lcSortExpression = "" + ENDCASE + ENDIF + + RETURN m.lcSortExpression + ENDPROC + + PROCEDURE getuserapplicationdatapath + #Define CSIDL_APPDATA 0x001a + + Local m.lcSpecialFolderPath, m.lcApplicationDataPath + m.lcSpecialFolderPath = Space(255) + + Declare SHGetSpecialFolderPath In SHELL32.Dll ; + LONG hwndOwner, ; + STRING @cSpecialFolderPath, ; + LONG nWhichFolder + + SHGetSpecialFolderPath(0, @m.lcSpecialFolderPath, CSIDL_APPDATA) + m.lcApplicationDataPath = Alltrim(m.lcSpecialFolderPath) + m.lcApplicationDataPath = Substr(m.lcApplicationDataPath,1, Len(m.lcApplicationDataPath)-1) + m.lcApplicationDataPath = Addbs(m.lcApplicationDataPath) + This.CompanyName + If !Directory(m.lcApplicationDataPath) + Mkdir (m.lcApplicationDataPath) + Endif + m.lcApplicationDataPath = Addbs(m.lcApplicationDataPath) + This.ProductName + If !Directory(m.lcApplicationDataPath) + Mkdir (m.lcApplicationDataPath) + Endif + Return Addbs(m.lcApplicationDataPath) + ENDPROC + + PROCEDURE getwindowproc + LPARAMETERS tnHWND + #DEFINE GWL_WNDPROC -4 + LOCAL lnReturn + DECLARE INTEGER GetWindowLong IN Win32API ; + INTEGER HWND, INTEGER nIndex + m.lnReturn = GetWindowLong(m.tnHWND, GWL_WNDPROC) + + ENDPROC + + PROCEDURE headerclick + + LOCAL loObject, lnLeft, lnTop, loActiveControlInColumn, lcColumnCursorName, llIsCombobox + this.currentcombocursorname = "" + m.llIsCombobox = .F. + IF this.allowgridsort + m.loObject = This.GetHeaderObject() + IF !ISNULL(m.loObject) + m.loActiveControlInColumn = EVALUATE("m.loObject.parent." + m.loObject.parent.currentcontrol) + IF LOWER(ALLTRIM(m.loActiveControlInColumn.Baseclass)) = "combobox" + m.lcColumnCursorName = this.getcombocursorname(m.loActiveControlInColumn) + m.llIsCombobox = .T. + ENDIF + this.applysort(m.llIsCombobox) + this.setheaderimages(this.ocoll) + ENDIF + ENDIF + + ENDPROC + + PROCEDURE headerrightclick + LOCAL loObject, lnLeft, lnTop + this.currentcombocursorname = "" + IF this.Allowgridfilter + m.loObject = This.GetHeaderObject() + IF !ISNULL(m.loObject) + This.searchandfilterform = CREATEOBJECT("gridextraform", m.loObject.parent, this,this.ocoll,@tacriterii) + IF TYPE("This.searchandfilterform.Caption") = "C" + this.positionform(This.searchandfilterform, m.loObject) + This.searchandfilterform.Show() + ENDIF + ENDIF + ENDIF + + ENDPROC + + PROCEDURE Init + This.GlobalArrayName = SYS(2015) + ADDPROPERTY(_screen, this.GlobalArrayName+"[1,1]",.F.) + THIS.indexfile = ADDBS(SYS(2023)) + This.GlobalArrayName + ".IDX" + + + + + ENDPROC + + PROCEDURE positionform + LPARAMETERS toSearchAndFilterForm, toHeader + LOCAL lnTop + IF TYPE("m.toSearchAndFilterForm.name") = "C" AND TYPE("m.toHeader.caption") = "C" + WITH m.toSearchAndFilterForm + m.lnTop = OBJTOCLIENT(m.toHeader, 1 ) + IIF(THISFORM.TITLEBAR=1,SYSMETRIC(9),0) + m.toHeader.PARENT.PARENT.HEADERHEIGHT + ; + IIF(THISFORM.BORDERSTYLE = 3, SYSMETRIC(4), SYSMETRIC(13)) + ; + IIF(THISFORM.SHOWWINDOW = 2, THISFORM.TOP, OBJTOCLIENT(THISFORM, 1 )) + 1 && thanks to Vassilis Aggelakos for the Titlebar=1 fix/idea + .LEFT = OBJTOCLIENT(m.toHeader, 2) + IIF(THISFORM.BORDERSTYLE = 3, SYSMETRIC(3), ; + SYSMETRIC(12)) + IIF(THISFORM.SHOWWINDOW = 2, THISFORM.LEFT, OBJTOCLIENT( THISFORM, 2 )) - 1 + IF ((m.lnTop + .HEIGHT) > SYSMETRIC(2)) + m.lnTop = m.lnTop - .HEIGHT - m.toHeader.PARENT.PARENT.HEADERHEIGHT - (2 * SYSMETRIC(13)) + 4 + ENDIF + .TOP = m.lnTop - 2 + ENDWITH + ENDIF + + ENDPROC + + PROCEDURE restorecolumnfilters + LPARAMETERS tnTemplatePkID + LOCAL lcAliasWas, lnCounter, lcGlobalArrayNameWas, lcGlobalArrayNameIs, lcGlobalArray + LOCAL ARRAY _GEAColumn(1) + LOCAL ARRAY _GEAGlobal(1) + m.lcAliasWas = ALIAS() + m.lcGlobalArray = [_GEScr.] + this.GlobalArrayName + IF This.TemplateLocate(m.tnTemplatePkID) + RESTORE From Memo FilterCol ADDITIVE + RESTORE From Memo FilterGlob ADDITIVE + m.lcGlobalArrayNameWas = ALLTRIM(globala) + m.lcGlobalArrayNameIs = this.globalarrayname + FOR m.lnCounter = 1 TO ALEN(_GEAColumn, 1) + IF TYPE("_GEAColumn(m.lnCounter, 1)") = "C" + _GEAColumn(m.lnCounter, 1) = STRTRAN(_GEAColumn(m.lnCounter, 1), m.lcGlobalArrayNameWas, m.lcGlobalArrayNameIs, -1, -1, 1) + ENDIF + ENDFOR + this.clearfilter() + IF (ALEN(_GEAGlobal,1) > 0 AND ALEN(_GEAGlobal,2) > 0) + DIMENSION &lcGlobalArray(ALEN(_GEAGlobal,1), ALEN(_GEAGlobal,2)) + =ACOPY(_GEAGlobal, &lcGlobalArray) + IF (ALEN(_GEAColumn,1) > 0 AND ALEN(_GEAColumn,2) > 0) + *DIMENSION this.acolumnfilters(ALEN(_GEAColumn,1), ALEN(_GEAColumn,2)) + *=ACOPY(_GEAColumn, this.acolumnfilters) + DIMENSION this.colFilter(ALEN(_GEAColumn,1), ALEN(_GEAColumn,2)) + =ACOPY(_GEAColumn, this.colFilter) + ENDIF + ELSE + *DIMENSION this.acolumnfilters(1, 3) + *STORE .F. TO this.acolumnfilters + DIMENSION this.colFilter(3, 1) + STORE .F. TO this.colFilter + ENDIF + ENDIF + IF ALIAS() != m.lcAliasWas AND USED(m.lcAliasWas) + SELECT (m.lcAliasWas) + ENDIF + + ENDPROC + + PROCEDURE restorecolumnsort + LPARAMETERS tnTemplatePkID, tlSortAscending + LOCAL lcAliasWas, loColumnObject + m.lcAliasWas = ALIAS() + IF This.TemplateLocate(m.tnTemplatePkID) AND !EMPTY(colname) + This.currentcolumn = EVALUATE("this.GridObject." + ALLTRIM(colname)) + m.tlSortAscending = sortasc + ENDIF + IF ALIAS() != m.lcAliasWas AND USED(m.lcAliasWas) + SELECT (m.lcAliasWas) + ENDIF + + ENDPROC + + PROCEDURE restorecustomcolumnfilters + LPARAMETERS tnTemplatePkID + LOCAL lcAliasWas + LOCAL ARRAY _GEACustom(1) + m.lcAliasWas = ALIAS() + IF This.TemplateLocate(m.tnTemplatePkID) + RESTORE From Memo FilterCusT ADDITIVE + IF (ALEN(_GEACustom,1) > 0 AND ALEN(_GEACustom,2) > 0) + *DIMENSION this.customcolumnfilters(ALEN(_GEACustom,1),ALEN(_GEACustom,2)) + *=ACOPY(_GEACustom, this.customcolumnfilters) + DIMENSION this.colFilter(ALEN(_GEACustom,1),ALEN(_GEACustom,2)) + =ACOPY(_GEACustom, this.colFilter) + ENDIF + ENDIF + IF ALIAS() != m.lcAliasWas AND USED(m.lcAliasWas) + SELECT (m.lcAliasWas) + ENDIF + + ENDPROC + + PROCEDURE restoregridpreferences + LPARAMETERS toGridObject + Local lcGridHierarchy, lcString, lcPrefs, lcPrefFileContents, lcBeginPrefs, lcEndPrefs, lcPrefFile, ; + loColumn, lnCounter, lnMax, loExc as Exception + IF this.allowgridpreferences + m.lcPrefFile = This.GetUserApplicationDataPath() + This.GridPreferenceFile + m.lcPrefFileContents = "" + If File(m.lcPrefFile) + Try + m.lcPrefFileContents = Filetostr(m.lcPrefFile) + m.lcGridHierarchy = Sys(1272, m.toGridObject) + m.lcBeginPrefs = m.lcGridHierarchy + "(" + m.lcEndPrefs = ")" + m.lcPrefs = Strextract(m.lcPrefFileContents,m.lcBeginPrefs,m.lcEndPrefs,1,1) + If !Empty(m.lcPrefs) + =Alines(laPrefs, m.lcPrefs, 7, ",") + m.lnMax = Min(m.toGridObject.ColumnCount * 2, Alen(laPrefs)) + For m.lnCounter = 1 To m.lnMax Step 2 + m.loColumn = m.toGridObject.Columns((m.lnCounter + 1)/2) + If Type("m.loColumn.columnorder") = "N" + m.loColumn.ColumnOrder = Val(laPrefs(m.lnCounter)) + m.loColumn.Width = Val(laPrefs(m.lnCounter + 1)) + Endif + Endfor + Endif + CATCH TO m.loExc + Endtry + ENDIF + ENDIF + ENDPROC + + PROCEDURE saveacolumnfilters + LPARAMETERS tnTemplatePkID + LOCAL lcAliasWas, lcGlobalArray + LOCAL ARRAY _GEAColumn(1) + LOCAL ARRAY _GEAGlobal(1) + m.lcAliasWas = ALIAS() + m.lcGlobalArray = [_GEScr.] + this.GlobalArrayName + IF This.TemplateLocate(m.tnTemplatePkID) + =ACOPY(this.colFilter, _GEAColumn) + *=ACOPY(this.acolumnfilters, _GEAColumn) + SAVE to Memo FilterCol ALL LIKE _GEAColumn + =ACOPY(&lcGlobalArray, _GEAGlobal) + SAVE to Memo FilterGlob ALL LIKE _GEAGlobal + replace globala WITH this.globalarrayname + ENDIF + IF ALIAS() != m.lcAliasWas AND USED(m.lcAliasWas) + SELECT (m.lcAliasWas) + ENDIF + + ENDPROC + + PROCEDURE savecolumnsort + LPARAMETERS tnTemplatePkID + LOCAL lcAliasWas + m.lcAliasWas = ALIAS() + IF TYPE("this.currentcolumn.name") = "C" AND This.TemplateLocate(m.tnTemplatePkID) + replace colname WITH this.currentcolumn.name, sortasc WITH this.ascending + ENDIF + IF ALIAS() != m.lcAliasWas AND USED(m.lcAliasWas) + SELECT (m.lcAliasWas) + ENDIF + + ENDPROC + + PROCEDURE savecustomcolumnfilters + LPARAMETERS tnTemplatePkID + LOCAL lcAliasWas + LOCAL ARRAY _GEACustom(1) + m.lcAliasWas = ALIAS() + IF This.TemplateLocate(m.tnTemplatePkID) + =ACOPY(this.colFilter, _GEACustom) + *=ACOPY(this.customcolumnfilters, _GEACustom) + SAVE to Memo FilterCust ALL LIKE _GEACustom + ENDIF + IF ALIAS() != m.lcAliasWas AND USED(m.lcAliasWas) + SELECT (m.lcAliasWas) + ENDIF + + ENDPROC + + PROCEDURE savegridpreferences + LPARAMETERS toGridObject + Local lcGridHierarchy, lcString, lcPrefs, lcPrefFileContents, ; + lcBeginPrefs, lcEndPrefs, lcPrefFile, loColumn, lnCounter, loExc as Exception + IF this.allowgridpreferences + m.lcGridHierarchy = Sys(1272, m.toGridObject) + m.lcBeginPrefs = m.lcGridHierarchy + "(" + m.lcEndPrefs = ")" + m.lcPrefFile = This.GetUserApplicationDataPath() + This.GridPreferenceFile + m.lcPrefFileContents = "" + If File(m.lcPrefFile) + m.lcPrefFileContents = Filetostr(m.lcPrefFile) + Endif + m.lcPrefs = Strextract(m.lcPrefFileContents,m.lcBeginPrefs,m.lcEndPrefs,1,5) + m.lcString = "" + Try + For m.lnCounter = 1 To m.toGridObject.ColumnCount + m.loColumn = m.toGridObject.Columns(m.lnCounter) + m.lcString = m.lcString + Transform(m.loColumn.ColumnOrder) + "," + m.lcString = m.lcString + Transform(m.loColumn.Width) + "," + Endfor + CATCH TO m.loExc + ENDTRY + If !Empty(m.lcString) + m.lcString = m.lcBeginPrefs + m.lcString + m.lcEndPrefs + If Empty(m.lcPrefs) Or m.lcString != m.lcPrefs + If Empty(m.lcPrefs) + m.lcPrefFileContents = m.lcPrefFileContents + m.lcString + Chr(13) + Chr(10) + Else + m.lcPrefFileContents = Strtran(m.lcPrefFileContents, m.lcPrefs, m.lcString, 1, 1, 1) + Endif + Set Safety Off + =Strtofile(m.lcPrefFileContents, m.lcPrefFile, 0) + Endif + ENDIF + ENDIF + ENDPROC + + PROCEDURE search + LPARAMETERS tcSearchPhrase, tlFindNext, lcSearchCommand + LOCAL lcRecordSource, lcAliasWas, lcControlSource, lcSearchValue, llLockScreenWas, loActiveControlInColumn, lcCurrentComboCursorName + LOCAL ARRAY aTemp(1) + aTemp(1) = Null + m.lcRecordSource = This.gridobject.recordsource + If Used(m.lcRecordSource) AND TYPE("This.ColumnObject.Name") = "C" + m.lcAliasWas = Alias() + m.lcControlSource = This.ColumnObject.ControlSource + m.loActiveControlInColumn = EVALUATE("This.ColumnObject." + This.ColumnObject.CurrentControl) + IF LOWER(m.loActiveControlInColumn.BaseClass) = "combobox" and m.loActiveControlInColumn.BoundColumn != 1 + If This.casesensitive + m.lcSearchCommand = [At(] && m.lcSearchValue, Transform(&lcControlSource)) > 0] + ELSE + m.lcSearchCommand = [Atc(] + ENDIF + m.lcSearchCommand = m.lcSearchCommand + [Alltrim(Transform(m.tcSearchPhrase)), disptext)>0] + m.lcCurrentComboCursorName = this.currentcombocursorname + SELECT fkid FROM (m.lcCurrentComboCursorName) WHERE &lcSearchCommand INTO ARRAY aTemp + IF ISNULL(aTemp(1)) OR _tally < 1 + m.lcSearchCommand = [.F.] + ELSE + IF _tally > 1 + m.lcSearchCommand = [Ascan(aTemp, &lcControlSource)>0] + ELSE + m.lcSearchCommand = [&lcControlSource = aTemp(1)] + ENDIF + ENDIF + ELSE + m.lcSearchValue = Alltrim(Transform(m.tcSearchPhrase)) + If This.casesensitive + m.lcSearchCommand = [At(] && m.lcSearchValue, Transform(&lcControlSource)) > 0] + ELSE + m.lcSearchCommand = [Atc(] + ENDIF + m.lcSearchCommand = m.lcSearchCommand + [m.lcSearchValue,Transform(&lcControlSource))>0] + ENDIF + + Select (m.lcRecordSource) + If m.tlFindNext + If !Eof(m.lcRecordSource) + Skip 1 In (m.lcRecordSource) + ELSE + GO TOP IN (m.lcRecordSource) + ENDIF + ELSE + GO TOP IN (m.lcRecordSource) + ENDIF + Locate Rest For &lcSearchCommand + If !Found() + Go Top In (m.lcRecordSource) + IF m.tlFindNext + IF MESSAGEBOX("Search has reached the last record without finding another match. Do you want to continue searching from the first record?",36,"Continue Searching from the Beginning?") = 6 + Locate Rest For &lcSearchCommand + IF !FOUND() + MESSAGEBOX("A matching record could not be found.",64,"Unable to Locate Search Phrase") + ENDIF + ENDIF + ELSE + MESSAGEBOX("A matching record could not be found.",64,"Unable to Locate Search Phrase") + ENDIF + ENDIF + *!* work around to allow highlighting/row update to show correctly in grid being searched as record pointer is moved + m.llLockScreenWas = thisform.lockscreen + thisform.lockscreen = .T. + this.gridobject.setfocus() + this.gridobject.refresh() + this.searchandfilterform.cmdSearch.setfocus() + thisform.lockscreen = m.llLockScreenWas + If m.lcAliasWas != Alias() And Used(m.lcAliasWas) + Select (m.lcAliasWas) + Endif + Endif + + + ENDPROC + + PROCEDURE setheaderimages + LPARAMETERS toCol + LOCAL loColumnObject, loHeaderObject, lcHeaderImage, llCustomFilterEnforced, lnCustomFilterIndex, lnItems + DIMENSION this.colFilter(5,This.GridObject.ColumnCount) + *!* lnItems = toCol.count + *!* FOR i=1 TO lnItems + *!* lcKey = toCol.GetKey(i) + *!* loItem = toCol.Item(lcKey) + *!* IF !EMPTY(loItem.filter) + *!* this.colFilter(1,i) = ALLTRIM(lcKey) + *!* ELSE + *!* this.colFilter(1,i) = "" + *!* ENDIF + *!* ENDFOR + FOR EACH m.loColumnObject IN This.GridObject.Columns + m.llCustomFilterEnforced = .F. + m.loHeaderObject = m.loColumnObject.Controls(1) + m.lcHeaderImage = UPPER(JUSTFNAME(m.loHeaderObject.picture)) + m.lnCustomFilterIndex = ASCAN(this.colFilter,ALLTRIM(m.loColumnObject.Name),-1,-1,-1,1) + + IF m.lnCustomFilterIndex > 0 AND !EMPTY(this.colFilter(1,m.lnCustomFilterIndex)) + m.llCustomFilterEnforced = .T. + ENDIF + IF m.llCustomFilterEnforced OR ASCAN(this.colFilter,ALLTRIM(m.loColumnObject.name),-1,-1,-1,1) > 0 + IF !INLIST(m.lcHeaderImage, UPPER(this.HeaderAscendingImage), UPPER(This.HeaderDescendingImage), UPPER(This.HeaderNoSortImage)) + m.loHeaderObject.picture = this.headerfilterimage + ENDIF + ELSE + IF !EMPTY(m.lcHeaderImage) AND !INLIST(m.lcHeaderImage, UPPER(this.HeaderAscendingImage), UPPER(This.HeaderDescendingImage), UPPER(This.HeaderNoSortImage)) + m.loHeaderObject.picture = "" + ENDIF + ENDIF + ENDFOR + + + + + + ENDPROC + + PROCEDURE setup + LOCAL loGridObject, loColumnObject, loHeaderObject, lcClassLib, lcGlobalArray, lcGridExportObjectName, lnGridExportAnchorValue + + STORE Null TO This.GridObject, m.loColumnObject, m.loHeaderObject + UNBINDEVENTS(this) + this.CreateScreenReference() + m.lcGlobalArray = [_GEScr.] + this.GlobalArrayName + DIMENSION &lcGlobalArray.(1,1) + STORE .F. TO &lcGlobalArray + m.lcClassLib = LOWER(JUSTFNAME(this.ClassLibrary)) + IF OCCURS(JUSTSTEM(m.lcClassLib),LOWER(SET("Classlib"))) = 0 + IF FILE(this.ClassLibrary) + SET CLASSLIB TO (this.ClassLibrary) ADDITIVE + ELSE + SET CLASSLIB TO (LOCFILE(m.lcClassLib)) ADDITIVE + ENDIF + ENDIF + This.GridObject = EVALUATE(this.gridexpression) + IF TYPE("This.GridObject.Name") = "C" + this.restoregridpreferences(This.GridObject) + this.ocoll = CREATEOBJECT("collection") + FOR EACH m.loColumnObject IN This.GridObject.Columns + This.BindColumnEvents(m.loColumnObject) + This.BindHeaderEvents(m.loColumnObject.Controls(1)) + loItem = CREATEOBJECT("empty") + ADDPROPERTY(loItem,"filter","") + this.ocoll.add(loItem,m.loColumnObject.Name) + ENDFOR + + this.originalfilter = FILTER(this.gridobject.recordsource) + this.originalfilter = IIF(!EMPTY(this.originalfilter), "(" + this.originalfilter + ")", "") + IF this.allowgridexport + m.lcGridExportObjectName = SYS(2015) + This.GridObject.parent.AddObject(m.lcGridExportObjectName,"GridExtraExport",this) + this.GridExportObject = EVALUATE("This.GridObject.parent." + m.lcGridExportObjectName) + this.GridExportObject.GridObject = this.gridobject + BINDEVENT(this.gridobject,"zorder",this.GridExportObject,"zorderupdate",1) + BINDEVENT(this.gridobject,"resize",this.GridExportObject,"resizeupdate",1) + IF TYPE("this.GridExportObject.Name") = "C" + m.lnGridExportAnchorValue = 0 + IF BITTEST(This.GridObject.anchor,3) + m.lnGridExportAnchorValue = BITSET(m.lnGridExportAnchorValue, 3) + ELSE + IF BITTEST(This.GridObject.anchor,7) + m.lnGridExportAnchorValue = BITSET(m.lnGridExportAnchorValue, 7) + ENDIF + ENDIF + + IF BITTEST(This.GridObject.anchor,2) + m.lnGridExportAnchorValue = BITSET(m.lnGridExportAnchorValue, 2) + ELSE + IF BITTEST(This.GridObject.anchor,6) + m.lnGridExportAnchorValue = BITSET(m.lnGridExportAnchorValue, 6) + ENDIF + ENDIF + this.GridExportObject.GridRecordSource = ALLTRIM(SYS(1272, this.GridObject)) + this.GridExportObject.GridRecordSource = "Thisform" + SUBSTR(this.GridExportObject.GridRecordSource,AT(".", this.GridExportObject.GridRecordSource,1)) + ".RecordSource" + this.GridExportObject.Anchor = 0 + this.GridExportObject.Left = (This.GridObject.Left + This.GridObject.Width - 19) + this.GridExportObject.Top = (This.GridObject.Top + This.GridObject.Height - 18) + this.GridExportObject.Anchor = m.lnGridExportAnchorValue + this.GridExportObject.visible = .T. + ENDIF + ENDIF + ENDIF + + ENDPROC + + PROCEDURE templateapply + LPARAMETERS tnTemplatePkID + LOCAL lcAliasWas, loActiveControlInColumn, llIsCombobox, llLockScreenWas, loHeaderObject, llAscendingSort + m.lcAliasWas = ALIAS() + IF This.TemplateLocate(m.tnTemplatePkID) + m.llLockScreenWas = thisform.LockScreen + thisform.LockScreen = .T. + This.RestoreColumnFilters(m.tnTemplatePkID) + this.RestoreCustomColumnFilters(m.tnTemplatePkID) + this.RestoreColumnSort(m.tnTemplatePkID, @m.llAscendingSort) + *this.applyfilter() + this.cautacontroller() + m.llIsCombobox = .F. + IF TYPE("this.currentcolumn") = "O" AND TYPE("this.currentcolumn.currentcontrol") = "C" AND !EMPTY(this.currentcolumn.currentcontrol) + m.loActiveControlInColumn = EVALUATE("this.currentcolumn." + this.currentcolumn.currentcontrol) + IF LOWER(ALLTRIM(m.loActiveControlInColumn.Baseclass)) = "combobox" + m.llIsCombobox = .T. + ENDIF + this.applysort(m.llIsCombobox, this.currentcolumn, m.llAscendingSort) + ENDIF + this.setheaderimages() + IF TYPE("this.currentcolumn") = "O" AND TYPE("this.currentcolumn.currentcontrol") = "C" AND !EMPTY(this.currentcolumn.currentcontrol) + m.loHeaderObject = this.currentcolumn.Controls(1) + IF m.llAscendingSort && Descending + m.loHeaderObject.picture = This.HeaderDescendingImage && "navigate_open.png" + ELSE && Ascending + m.loHeaderObject.picture = This.HeaderAscendingImage && "navigate_close.png" + ENDIF + ENDIF + thisform.LockScreen = m.llLockScreenWas + ENDIF + IF ALIAS() != m.lcAliasWas AND USED(m.lcAliasWas) + SELECT (m.lcAliasWas) + ENDIF + + ENDPROC + + PROCEDURE templatedelete + LPARAMETERS tnTemplatePkID + LOCAL lcAliasWas + m.lcAliasWas = ALIAS() + IF This.TemplateLocate(m.tnTemplatePkID) + DELETE + ENDIF + IF ALIAS() != m.lcAliasWas AND USED(m.lcAliasWas) + SELECT (m.lcAliasWas) + ENDIF + + ENDPROC + + PROCEDURE templatelocate + Lparameters tnTemplatePkID + Local lcTemplateTable, lcTemplateTableJustStem, lcTemplateGrid, lcTemplateName, llReturn, lcTempPath + m.llReturn = .F. + SET STEP ON + If Type("gcTempPath")<>"U" + lcTempPath = gcTempPath + Else + lcTempPath = Addbs(Sys(2023)) + Endif + m.lcTemplateTable = lcTempPath + This.templatetable + m.lcTemplateTableJustStem = Juststem(m.lcTemplateTable) + If !File(m.lcTemplateTable) + CREATE table (m.lcTemplateTable) (pkid I(4) Autoinc,template C(50),gridname C(254),sortasc L(1),colname C(50),filtercust M(4),filtercol M(4),filterglob M(4),globala C(10)) + Index On pkid Tag pkid + Use In (m.lcTemplateTable) + Endif + If Type("m.lcTemplateTable") = "C" And File(m.lcTemplateTable) + If !Used(m.lcTemplateTableJustStem) + Use (m.lcTemplateTable) In 0 Shared + Endif + Select (m.lcTemplateTableJustStem) + If Type("m.tnTemplatePkID") = "N" + m.llReturn = (m.tnTemplatePkID = Evaluate( m.lcTemplateTableJustStem + ".pkid") Or Seek(m.tnTemplatePkID, m.lcTemplateTableJustStem, "pkid")) + Else + If Type("m.tnTemplatePkID") = "C" + m.tnTemplatePkID = Upper(Alltrim(m.tnTemplatePkID)) + m.lcTemplateGrid = Getwordnum(m.tnTemplatePkID, 1, ":") + m.lcTemplateName = Getwordnum(m.tnTemplatePkID, 2, ":") + m.llReturn = (Upper(Alltrim(m.lcTemplateGrid)) == Upper(Alltrim(gridname)) And ; + UPPER(Alltrim(m.lcTemplateName)) == Upper(Alltrim(template))) + If !m.llReturn + Locate For m.lcTemplateGrid == Upper(Alltrim(gridname)) And m.lcTemplateName == Upper(Alltrim(template)) + m.llReturn = Found(m.lcTemplateTableJustStem) + Endif + Endif + Endif + Endif + Return m.llReturn + + ENDPROC + + PROCEDURE templatesave + LPARAMETERS tcGridName, tcTemplateName + LOCAL lcAliasWas, lnTemplatePkID + m.lcAliasWas = ALIAS() + IF !This.TemplateLocate(m.tcGridName + ":" + m.tcTemplateName) + APPEND BLANK + replace template WITH m.tcTemplateName, gridname WITH m.tcGridName + m.lnTemplatePkID = pkid + this.saveacolumnfilters(m.lnTemplatePkID) + this.savecustomcolumnfilters(m.lnTemplatePkID) + this.savecolumnsort(m.lnTemplatePkID) + ELSE + m.lnTemplatePkID = pkid + this.saveacolumnfilters(m.lnTemplatePkID) + this.savecustomcolumnfilters(m.lnTemplatePkID) + this.savecolumnsort(m.lnTemplatePkID) + ENDIF + IF ALIAS() != m.lcAliasWas AND USED(m.lcAliasWas) + SELECT (m.lcAliasWas) + ENDIF + + ENDPROC + +ENDDEFINE + +DEFINE CLASS gridextraexport AS image + *< CLASSDATA: Baseclass="image" Timestamp="" Scale="Pixels" Uniqueid="" /> + + * + *m: resizeupdate + *m: zorderupdate + *p: gridextrasobject + *p: gridobject + *p: gridrecordsource + * + + * + Anchor = 12 + gridextrasobject = .NULL. + gridobject = .NULL. + gridrecordsource = this.parent.grid1.recordsource + Height = 16 + Name = "gridextraexport" + Picture = ..\graphics\table_sql_view16.png + Stretch = 1 + Visible = .F. + Width = 18 + * + + PROCEDURE Click + LOCAL loGridUtils + m.loGridUtils = CREATEOBJECT("gridutils", thisform, this.gridobject, this.gridextrasobject) + m.loGridUtils.Show(1) + + *!* Local lcGridSource, lcAliasWas, lcXLSFile, lcAction, lcFileName, lcPath + *!* lcGridSource = Evaluate(This.gridrecordsource) + *!* If Used(lcGridSource) + *!* lcAliasWas = Alias() + *!* Select (lcGridSource) + *!* lcXLSFile = Putfile("Excel Filename",Sys(2015) + ".xls", "XLS") + *!* If !Empty(lcXLSFile) + *!* Copy To (lcXLSFile) Type Xls + *!* GO TOP IN (m.lcGridSource) + *!* If File(lcXLSFile) + *!* lcFileName = Justfname(lcXLSFile) + *!* If Messagebox("The File " + lcFileName + Chr(13) + "was successfully exported." + Chr(13) +; + *!* "Would you like to open it now?",36,"EXCEL EXPORT SUCCESSFUL") = 6 + *!* Declare Integer ShellExecute In shell32.Dll ; + *!* INTEGER hndWin, ; + *!* STRING cAction, ; + *!* STRING cFileName, ; + *!* STRING cParams, ; + *!* STRING cDir, ; + *!* INTEGER nShowWin + *!* lcAction = "open" + *!* lcPath=Justpath(lcXLSFile) + *!* ShellExecute(0,lcAction,lcFileName,lcPath,"",1) + *!* Endif + *!* Endif + *!* ENDIF + *!* IF USED(m.lcAliasWas) + *!* SELECT(m.lcAliasWas) + *!* ENDIF + *!* Else + *!* Messagebox("Record source for grid does not appear to be open or a table",16,"Unable to Export") + *!* Endif + + ENDPROC + + PROCEDURE Init + LPARAMETERS toGridExtras + this.gridextrasobject = m.toGridExtras + this.ZOrder(0) + ENDPROC + + PROCEDURE resizeupdate + LOCAL lnAnchorWas + m.lnAnchorWas = this.Anchor + this.Anchor = 0 + this.Left = (This.GridObject.Left + This.GridObject.Width - 19) + this.Top = (This.GridObject.Top + This.GridObject.Height - 18) + this.Anchor = m.lnAnchorWas + this.ZOrder(0) + ENDPROC + + PROCEDURE zorderupdate + LPARAMETERS tnzOrder + + this.zorder(0) + *!* this.zorder(Max(0, This.GridObject.zOrder - 1)) + ENDPROC + +ENDDEFINE + +DEFINE CLASS gridextraform AS form + *< CLASSDATA: Baseclass="form" Timestamp="" Scale="Pixels" Uniqueid="" /> + + *-- OBJECTDATA items order determines ZOrder / El orden de los items OBJECTDATA determina el ZOrder + *< OBJECTDATA: ObjPath="shpSplitter" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="cmdFilter" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="Gridcustomfilter1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="cmdExit" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="cmdClearFilter" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="tmrCheckform" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="tmrFadeform" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="But_criterii1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="lblMore" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="Image1" UniqueID="" Timestamp="" /> + + * + *m: buildfilter + *m: clearfilter + *m: retrievepreviouschecks + *m: retrievepreviouscustomfilter + *m: search + *m: setup + *m: showfilteroptions + *p: casesensitive + *p: cfiltru + *p: columncontrolsource + *p: columnobject + *p: delimiter + *p: findnext + *p: globalarrayname + *p: gridextraobject + *p: gridrecordsource + *p: idcamp + *p: idvalue + *p: indexcustomcolumnfilter + *p: ocol + *p: rundeactivaterelease + *p: uniquecursorname + *a: acriterii[1,5] + *a: filtersettings[5,1] + *p: _fade + *p: _infademode + *p: _inform + * + + * + AlwaysOnTop = .T. + BackColor = 255,255,255 + BorderStyle = 3 + Caption = "" + casesensitive = .T. + cfiltru = + columncontrolsource = + columnobject = NULL + delimiter = || + Desktop = .T. + DoCreate = .T. + findnext = .F. + globalarrayname = .F. + gridextraobject = NULL + gridrecordsource = + Height = 194 + idcamp = + idvalue = + indexcustomcolumnfilter = 0 + Left = 0 + Name = "gridextraform" + ocol = NULL + rundeactivaterelease = .T. + ShowTips = .T. + TitleBar = 0 + Top = 0 + uniquecursorname = + Width = 228 + WindowType = 0 + _fade = 255 + _infademode = .T. + _inform = .T. + * + + ADD OBJECT 'But_criterii1' AS but_criterii WITH ; + cvar_afisata = , ; + Left = 197, ; + Name = "But_criterii1", ; + TabIndex = 3, ; + Top = 88, ; + Visible = .F. + *< END OBJECT: ClassLib="gridextras.vcx" BaseClass="commandbutton" /> + + ADD OBJECT 'cmdClearFilter' AS commandbutton WITH ; + Anchor = 3, ; + Caption = "", ; + Height = 26, ; + Left = 168, ; + Name = "cmdClearFilter", ; + Picture = clearfilter16.bmp, ; + PicturePosition = 4, ; + TabIndex = 6, ; + ToolTipText = "Sterge filtrul existent", ; + Top = 4, ; + Width = 28 + *< END OBJECT: BaseClass="commandbutton" /> + + ADD OBJECT 'cmdExit' AS commandbutton WITH ; + Anchor = 3, ; + Caption = "", ; + Height = 26, ; + Left = 196, ; + Name = "cmdExit", ; + Picture = close16.bmp, ; + PicturePosition = 4, ; + TabIndex = 5, ; + ToolTipText = "Renunta si inchide", ; + Top = 4, ; + Width = 28 + *< END OBJECT: BaseClass="commandbutton" /> + + ADD OBJECT 'cmdFilter' AS commandbutton WITH ; + Caption = "Filtreaza", ; + Height = 26, ; + Left = 144, ; + Name = "cmdFilter", ; + Picture = addfilter16.bmp, ; + PicturePosition = 4, ; + TabIndex = 4, ; + ToolTipText = "Aplica filtrul si inchide", ; + Top = 149, ; + Width = 80 + *< END OBJECT: BaseClass="commandbutton" /> + + ADD OBJECT 'Gridcustomfilter1' AS gridcustomfilter WITH ; + Anchor = 3, ; + Left = 4, ; + Name = "Gridcustomfilter1", ; + TabIndex = 2, ; + Top = 62, ; + Combo1.Left = 1, ; + Combo1.Name = "Combo1", ; + Text1.Height = 23, ; + Text1.Left = 21, ; + Text1.Name = "Text1", ; + Text1.Top = 27, ; + Text1.Width = 170, ; + Text2.Height = 23, ; + Text2.Left = 21, ; + Text2.Name = "Text2", ; + Text2.Top = 52, ; + Text2.Width = 170 + *< END OBJECT: ClassLib="gridextras.vcx" BaseClass="container" /> + + ADD OBJECT 'Image1' AS image WITH ; + Anchor = 3, ; + Height = 16, ; + Left = 7, ; + Name = "Image1", ; + Picture = showfilters16.bmp, ; + Top = 36, ; + Width = 16 + *< END OBJECT: BaseClass="image" /> + + ADD OBJECT 'lblMore' AS label WITH ; + Anchor = 3, ; + AutoSize = .F., ; + BackStyle = 0, ; + Caption = "Mai mult...", ; + ForeColor = 128,128,255, ; + Height = 17, ; + Left = 28, ; + Name = "lblMore", ; + TabIndex = 1, ; + Top = 37, ; + Width = 72 + *< END OBJECT: BaseClass="label" /> + + ADD OBJECT 'shpSplitter' AS shape WITH ; + Anchor = 11, ; + Height = 1, ; + Left = 0, ; + Name = "shpSplitter", ; + SpecialEffect = 0, ; + Top = 56, ; + Width = 235 + *< END OBJECT: BaseClass="shape" /> + + ADD OBJECT 'tmrCheckform' AS checkform WITH ; + Left = 42, ; + Name = "tmrCheckform", ; + Top = 150 + *< END OBJECT: ClassLib="gridextras.vcx" BaseClass="timer" /> + + ADD OBJECT 'tmrFadeform' AS fadeform WITH ; + Left = 72, ; + Name = "tmrFadeform", ; + Top = 150 + *< END OBJECT: ClassLib="gridextras.vcx" BaseClass="timer" /> + + PROCEDURE buildfilter + Dimension This.gridextraobject.colFilter(5,Alen(This.acriterii,1)) + Local lcTipCriteriu, luValoareCriteriu, lnIdValue, lcvaloare, lcvaloare2, lnIdCamp, lcNumeCriteriu, lcSir, lcLogic, lcExpresie, lcThislogic + lcLogic ='AND' + *lcTipCriteriu = Thisform.acriterii(Thisform.ColumnObject.ColumnOrder,3) + lcTipCriteriu = Thisform.acriterii(Ascan(Thisform.acriterii, This.ColumnObject.Name,-1,-1,-1,15),3) + If At('|', lcTipCriteriu) > 0 + lcTipCriteriu = Left(lcTipCriteriu, At('|', lcTipCriteriu) -1) && tipul criteriului N|GetMask(12,gnPA) + Endif + + luValoareCriteriu = Thisform.gridcustomfilter1.text1.Value + lcExpresie = Alltrim(Thisform.gridcustomfilter1.Combo1.List(Thisform.gridcustomfilter1.Combo1.ListIndex)) + + Do Case + Case lcTipCriteriu = "D" + lcvaloare = luValoareCriteriu &&Alltrim(Ttoc(luValoareCriteriu,1)) &&dtos + lcvaloare2 = Thisform.gridcustomfilter1.text2.Value + Case lcTipCriteriu = "N" + lcvaloare = Alltrim(Transform(luValoareCriteriu)) + Otherwise + lcvaloare = Strtran(Alltrim(luValoareCriteriu),"'",['']) + Endcase + + If Inlist(lcTipCriteriu,[D],[N],[E],[A],[D1]) + criteriustring = Alltrim(Thisform.acriterii(Ascan(Thisform.acriterii, This.ColumnObject.Name,-1,-1,-1,15),2)) + Else + criteriustring = [ UPPER(] + Alltrim(Thisform.acriterii(Ascan(Thisform.acriterii, This.ColumnObject.Name,-1,-1,-1,15),2)) + [) ] + Endif + If Empty(lcvaloare) + criteriustring = "" + Endif + + Thisform.clearfilter() + + If lcTipCriteriu = "D" + Do Case + Case lcExpresie = "Egal cu" + criteriustring = criteriustring + [= To_Date('] + ALLTRIM(TTOC(lcvaloare,1)) + [','YYYYMMDDhh24miss')] + Case lcExpresie = "Mai mic decat" + criteriustring = criteriustring + [< To_Date('] + ALLTRIM(TTOC(lcvaloare,1)) + [','YYYYMMDDhh24miss')] + Case lcExpresie = "Mai mare decat" + criteriustring = criteriustring + [> To_Date('] + ALLTRIM(TTOC(lcvaloare,1)) + [','YYYYMMDDhh24miss')] + Case lcExpresie = "Intre" + criteriustring = criteriustring + [>= To_Date('] + ALLTRIM(TTOC(lcvaloare,1)) + [','YYYYMMDDhh24miss') and ] + criteriustring + [<= To_Date('] + ALLTRIM(TTOC(lcvaloare2,1)) + [','YYYYMMDDhh24miss')] + Endcase + Else + Do Case + Case lcExpresie="Incepe cu" + criteriustring= criteriustring + [LIKE '] + Upper(lcvaloare) + [%'] + Case lcExpresie="Egal cu" + criteriustring= criteriustring + [='] + Upper(lcvaloare) + ['] + Case lcExpresie="Contine" + criteriustring= criteriustring + [LIKE '%] + Upper(lcvaloare) + [%'] + *****criterii numerice***** + Case lcExpresie="Egal cu" + criteriustring = criteriustring + [=]+Iif(lcvaloare="","0",lcvaloare) + Case lcExpresie="Mai mic decat" + criteriustring = criteriustring + [<]+Iif(lcvaloare="","0",lcvaloare) + Case lcExpresie="Mai mare decat" + criteriustring = criteriustring + [>]+Iif(lcvaloare="","0",lcvaloare) + Endcase + Endif + + Thisform.ocol(Thisform.ColumnObject.Name).Filter = criteriustring + For Each loItem In Thisform.ocol + If (loItem.Filter)#"" + If Inlist(lcTipCriteriu,[D],[N],[E],[A]) + Thisform.cfiltru = Thisform.cfiltru + [ ] + lcLogic + [ ] + loItem.Filter + Else + Thisform.cfiltru = Thisform.cfiltru + [ ] + lcLogic + [ ] + loItem.Filter + Endif + Endif + Endfor + lnItems = This.ocol.Count + For i=1 To lnItems + lcKey = This.ocol.GetKey(i) + loItem =This.ocol.Item(lcKey) + If !Empty(loItem.Filter) + This.gridextraobject.colFilter(1,i) = Alltrim(lcKey) + Else + This.gridextraobject.colFilter(1,i) = "" + Endif + Endfor + With This.gridextraobject + .colFilter(2,Ascan(This.gridextraobject.colFilter, This.ColumnObject.Name,-1,-1,-1,1)) = This.gridcustomfilter1.Combo1.ListIndex + .colFilter(3,Ascan(This.gridextraobject.colFilter, This.ColumnObject.Name,-1,-1,-1,1)) = This.gridcustomfilter1.text1.Value + .colFilter(4,Ascan(This.gridextraobject.colFilter, This.ColumnObject.Name,-1,-1,-1,1)) = This.gridcustomfilter1.text2.Value + .colFilter(5,Ascan(This.gridextraobject.colFilter, This.ColumnObject.Name,-1,-1,-1,1)) = criteriustring + Endwith + + Thisform.cfiltru = Alltrim(Thisform.cfiltru) + If At("AND", Thisform.cfiltru) = 1 + Thisform.cfiltru = Substr(Thisform.cfiltru, 4) + Endif && curatare AND/OR de la inceputul conditiei + If At("OR", Thisform.cfiltru) = 1 + Thisform.cfiltru = Substr(Thisform.cfiltru, 3) + Endif && curatare AND/OR de la inceputul conditiei + Thisform.cfiltru= Alltrim(Thisform.cfiltru) + + + + + + + + + + + + + + + + + + + + + ENDPROC + + PROCEDURE clearfilter + this.ocol(this.columnobject.Name).filter = "" + this.gridextraobject.colFilter(5,ASCAN(this.GridExtraObject.colFilter, this.columnobject.name,-1,-1,-1,1)) = "" + + + + + + + + + + + + + + + + + + + + + + + + ENDPROC + + PROCEDURE Deactivate + IF !thisform.RunDeactivateRelease + RETURN + ENDIF + thisform.Release() + ENDPROC + + PROCEDURE Init + LPARAMETERS toColumnObject, toGridExtraObject,toGridExtraColl, tacriterii + EXTERNAL ARRAY tacriterii + DIMENSION this.acriterii(alen(tacriterii,1),5) + ACOPY(tacriterii,this.acriterii) + This.ColumnObject = m.toColumnObject + This.GridExtraObject = m.toGridExtraObject + this.ocol = m.toGridExtraColl + IF TYPE("This.ColumnObject.Name") != "C" OR TYPE("This.GridExtraObject.Name") != "C" + RETURN .F. + ENDIF + IF !EMPTY(this.acriterii(Ascan(Thisform.acriterii, This.ColumnObject.Name,-1,-1,-1,15),5)) + this.but_criterii1.Visible= .t. + ENDIF + + m.toGridExtraObject.CreateScreenReference() + this.casesensitive = This.GridExtraObject.casesensitive + this.UniqueCursorName = m.toGridExtraObject.GlobalArrayName + This.GlobalArrayName = m.toGridExtraObject.GlobalArrayName + this.Height = this.shpSplitter.Top + this.MinHeight = this.Height + this.MaxHeight = this.Height + this.MaxWidth = this.width + this.MinWidth = this.Width + This.Setup() + IF OS() < "Windows 5.00" + RETURN + ENDIF + + DECLARE SetWindowLong In Win32Api AS _Sol_SetWindowLong Integer, Integer, Integer + DECLARE SetLayeredWindowAttributes In Win32Api AS _Sol_SetLayeredWindowAttributes Integer, String, Integer, Integer + _Sol_SetWindowLong(THISFORM.hWnd, -20, 0x00080000) + _Sol_SetLayeredWindowAttributes(THISFORM.hWnd, 0, 255, 2) + + This.tmrCheckForm.Interval = 200 + + + ENDPROC + + PROCEDURE retrievepreviouschecks + ENDPROC + + PROCEDURE retrievepreviouscustomfilter + LOCAL lnIndexCustomColumnFilter + m.lnIndexCustomColumnFilter = ASCAN(this.GridExtraObject.colFilter, this.columnobject.name,-1,-1,-1,1) + IF m.lnIndexCustomColumnFilter > 0 + this.gridcustomfilter1.combo1.ListIndex = this.GridExtraObject.colFilter(2,m.lnIndexCustomColumnFilter) + this.gridcustomfilter1.text1.Value = this.GridExtraObject.colFilter(3,m.lnIndexCustomColumnFilter) + this.gridcustomfilter1.text2.Value = this.GridExtraObject.colFilter(4,m.lnIndexCustomColumnFilter) + this.gridcustomfilter1.combo1.refresh() + this.gridcustomfilter1.text1.refresh() + this.gridcustomfilter1.text2.refresh() + ENDIF + *thisform.indexcustomcolumnfilter = m.lnIndexCustomColumnFilter + ENDPROC + + PROCEDURE search + Local lcControlSource, lcRecordSource, lcAliasWas, lcSearchValue + If Thisform.txtSearch.FontItalic + Thisform.txtSearch.SetFocus() + ELSE + this.gridextraobject.Search(this.txtSearch.Value, this.findnext) + this.findnext = .T. + Endif + + ENDPROC + + PROCEDURE setup + LOCAL lcRecordSource, lcControlSource, lcCursorName, ; + lcControlSourceJustStem, loActiveControlInColumn, ; + lcColumnCursorName, llActiveControlIsCombobox, lcOrderByClause + m.lcRecordSource = ALLTRIM(this.columnobject.parent.recordsource) + m.lcControlSource = ALLTRIM(this.columnobject.controlsource) && ALLTRIM(IIF(AT(".",this.columnobject.controlsource) > 0, JUSTEXT(this.columnobject.controlsource), this.columnobject.controlsource)) + this.gridrecordsource = m.lcRecordSource + this.columncontrolsource = m.lcControlSource + m.lcCursorName = This.UniqueCursorName + IF AT(".",m.lcControlSource) > 0 + m.lcControlSourceJustStem = JUSTSTEM(m.lcControlSource) + IF UPPER(ALLTRIM(m.lcControlSourceJustStem)) != UPPER(ALLTRIM(m.lcRecordSource)) AND USED(m.lcControlSourceJustStem) + m.lcRecordSource = m.lcControlSourceJustStem + ENDIF + ENDIF + m.loActiveControlInColumn = EVALUATE("this.columnobject." + this.columnobject.currentcontrol) + m.llActiveControlIsCombobox = (LOWER(m.loActiveControlInColumn.BaseClass) = "combobox" AND m.loActiveControlInColumn.BoundColumn > 1) + IF m.llActiveControlIsCombobox + this.gridcustomfilter1.Visible = .F. + ENDIF + m.lcOrderByClause = "" + m.lcDistinct = "" + IF TYPE(m.lcControlSource) != "M" + m.lcOrderByClause = "ORDER BY 2" + m.lcDistinct = "Distinct" + ENDIF + IF !this.casesensitive AND TYPE(m.lcControlSource) = "C" + IF m.llActiveControlIsCombobox + m.lcColumnCursorName = this.gridextraobject.GetComboCursorName(m.loActiveControlInColumn) + IF USED(m.lcColumnCursorName) + SELECT &lcDistinct .T. as checked, UPPER(disptext) as fldvalues, TRANSFORM(fkid) as actvalues; + FROM (m.lcRecordSource) WITH (Buffering = .T.) INNER JOIN &lcColumnCursorName ON &lcControlSource = &lcColumnCursorName..fkid ; + &lcOrderByClause ; + INTO CURSOR &lcCursorName READWRITE + ENDIF + ELSE + SELECT &lcDistinct .T. as checked, UPPER(&lcControlSource) as fldvalues, UPPER(&lcControlSource) as actvalues ; + FROM (m.lcRecordSource) WITH (Buffering = .T.) ; + &lcOrderByClause ; + INTO CURSOR &lcCursorName READWRITE + ENDIF + ELSE + IF m.llActiveControlIsCombobox + m.lcColumnCursorName = this.gridextraobject.GetComboCursorName(m.loActiveControlInColumn) + IF USED(m.lcColumnCursorName) + SELECT &lcDistinct .T. as checked, disptext as fldvalues, TRANSFORM(fkid) as actvalues ; + FROM (m.lcRecordSource) WITH (Buffering = .T.) INNER JOIN &lcColumnCursorName ON &lcControlSource = &lcColumnCursorName..fkid ; + &lcOrderByClause ; + INTO CURSOR &lcCursorName READWRITE + ENDIF + ELSE + SELECT &lcDistinct .T. as checked, &lcControlSource as fldvalues, &lcControlSource as actvalues ; + FROM (m.lcRecordSource) WITH (Buffering = .T.) ; + &lcOrderByClause ; + INTO CURSOR &lcCursorName READWRITE + ENDIF + ENDIF + this.gridcustomfilter1.Setup(this.columnobject.controls(1).caption, TYPE(m.lcRecordSource + '.' + m.lcControlSource), m.lcControlSource) + this.retrievepreviouscustomfilter() + + ENDPROC + + PROCEDURE showfilteroptions + LPARAMETERS tlShowFilterOptions + IF m.tlShowFilterOptions + this.MaxHeight = -1 + this.MaxWidth = -1 + this.Width = this.cmdFilter.Left + this.cmdFilter.Width + 4 + this.Height = this.cmdFilter.Top + this.cmdFilter.Height + 4 + *!* this.grid1.Anchor = 15 + this.cmdFilter.Anchor = 12 + ELSE + *!* this.grid1.Anchor = 0 + this.cmdFilter.Anchor = 0 + this.Width = this.cmdExit.Left + this.cmdExit.Width + 4 + this.Height = this.shpSplitter.Top + this.MaxHeight = this.Height + this.MaxWidth = this.width + ENDIF + + ENDPROC + + PROCEDURE But_criterii1.Click + thisform.RunDeactivateRelease=.f. + + m.loPartener= goCautareController.List() + *!* lcVarText = loPartener.nume + *!* lnVarId = loPartener.id_part + + If !Isnull(m.loPartener) + If !Empty(loPartener.nume) + This.Parent.idValue = loPartener.id_part + Thisform.gridcustomfilter1.text1.Value=loPartener.nume + Thisform.gridcustomfilter1.text1.Enabled=.F. + Thisform.gridcustomfilter1.combo1.ListIndex=4 + *this.cvar_afisata = loPartener.nume + ELSE + Thisform.gridcustomfilter1.text1.Enabled=.T. + Thisform.gridcustomfilter1.text1.Value="" + Thisform.gridcustomfilter1.combo1.ListIndex=1 + Endif + Endif + + + + + + + ENDPROC + + PROCEDURE cmdClearFilter.Click + IF thisform.gridcustomfilter1.combo1.ListIndex != 1 + thisform.gridcustomfilter1.combo1.ListIndex = 1 + thisform.gridcustomfilter1.combo1.InteractiveChange() + ENDIF + + thisform.gridcustomfilter1.text1.Value = "" + thisform.gridcustomfilter1.text2.Value = "" + thisform.BuildFilter() + thisform.gridextraobject.pagenumber = 1 + thisform.gridextraobject.applyfilter(thisform.cfiltru) + thisform.gridextraobject.setheaderimages(thisform.ocol) + + + ENDPROC + + PROCEDURE cmdExit.Click + thisform.Release() + ENDPROC + + PROCEDURE cmdFilter.Click + Thisform.RunDeactivateRelease = .F. + thisform.BuildFilter() + thisform.gridextraobject.pagenumber = 1 + thisform.gridextraobject.applyfilter(thisform.cfiltru) + thisform.gridextraobject.setheaderimages(thisform.ocol) + thisform.Release() + ENDPROC + + PROCEDURE Image1.MouseEnter + LPARAMETERS nButton, nShift, nXCoord, nYCoord + this.Parent.lblMore.MouseEnter(nButton, nShift, nXCoord, nYCoord) + ENDPROC + + PROCEDURE Image1.MouseLeave + LPARAMETERS nButton, nShift, nXCoord, nYCoord + this.Parent.lblMore.MouseLeave(nButton, nShift, nXCoord, nYCoord) + ENDPROC + + PROCEDURE lblMore.Click + IF this.Caption = "Mai mult..." + this.Caption = "Mai putin..." + Thisform.ShowFilterOptions(.T.) + ELSE + this.Caption = "Mai mult..." + Thisform.ShowFilterOptions(.F.) + ENDIF + + ENDPROC + + PROCEDURE lblMore.MouseEnter + LPARAMETERS nButton, nShift, nXCoord, nYCoord + this.FontUnderline = .T. + this.ForeColor = RGB(0,0,255) + ENDPROC + + PROCEDURE lblMore.MouseLeave + LPARAMETERS nButton, nShift, nXCoord, nYCoord + this.FontUnderline = .F. + this.ForeColor = RGB(128,128,255) + ENDPROC + +ENDDEFINE + +DEFINE CLASS gridutils AS form + *< CLASSDATA: Baseclass="form" Timestamp="" Scale="Pixels" Uniqueid="" /> + + *-- OBJECTDATA items order determines ZOrder / El orden de los items OBJECTDATA determina el ZOrder + *< OBJECTDATA: ObjPath="Shape5" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="Image1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="Combo1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="Command3" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="Label1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="Command4" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="Command2" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="Command1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="Shape6" UniqueID="" Timestamp="" /> + + * + *m: addtemplate + *m: copytoexcel + *m: deletetemplate + *m: gettemplates + *p: gridextrasobject + *p: gridhierarchy + *p: gridobject + *p: parentform + *p: templatecursorname + * + + * + AlwaysOnTop = .T. + AutoCenter = .T. + Caption = "Template-uri tabel si Export" + DoCreate = .T. + gridextrasobject = .NULL. + gridhierarchy = + gridobject = .NULL. + Height = 250 + Name = "gridutils" + parentform = .NULL. + templatecursorname = + Width = 434 + * + + ADD OBJECT 'Combo1' AS combobox WITH ; + Anchor = 3, ; + Height = 24, ; + Left = 109, ; + Name = "Combo1", ; + Style = 2, ; + TabIndex = 2, ; + Top = 74, ; + Width = 260 + *< END OBJECT: BaseClass="combobox" /> + + ADD OBJECT 'Command1' AS commandbutton WITH ; + Anchor = 6, ; + Caption = "Exporta ", ; + Height = 32, ; + Left = 12, ; + Name = "Command1", ; + Picture = excel24.jpg, ; + PicturePosition = 4, ; + TabIndex = 5, ; + Top = 208, ; + Width = 84 + *< END OBJECT: BaseClass="commandbutton" /> + + ADD OBJECT 'Command2' AS commandbutton WITH ; + Anchor = 12, ; + Caption = "Inchide ", ; + Height = 32, ; + Left = 336, ; + Name = "Command2", ; + Picture = exit.png, ; + PicturePosition = 4, ; + TabIndex = 6, ; + Top = 208, ; + Width = 84 + *< END OBJECT: BaseClass="commandbutton" /> + + ADD OBJECT 'Command3' AS commandbutton WITH ; + Anchor = 3, ; + Caption = "", ; + Height = 26, ; + Left = 369, ; + Name = "Command3", ; + Picture = add16.png, ; + TabIndex = 3, ; + Top = 73, ; + Width = 26 + *< END OBJECT: BaseClass="commandbutton" /> + + ADD OBJECT 'Command4' AS commandbutton WITH ; + Anchor = 3, ; + Caption = "", ; + Height = 26, ; + Left = 394, ; + Name = "Command4", ; + Picture = delete16.png, ; + TabIndex = 4, ; + Top = 73, ; + Width = 26 + *< END OBJECT: BaseClass="commandbutton" /> + + ADD OBJECT 'Image1' AS image WITH ; + Height = 48, ; + Left = 18, ; + Name = "Image1", ; + Picture = table_sql_view.png, ; + Top = 16, ; + Width = 48, ; + ZOrderSet = 16 + *< END OBJECT: BaseClass="image" /> + + ADD OBJECT 'Label1' AS label WITH ; + Anchor = 3, ; + AutoSize = .T., ; + BackStyle = 0, ; + Caption = "Template-uri filtre si sortari", ; + Height = 17, ; + Left = 109, ; + Name = "Label1", ; + TabIndex = 1, ; + Top = 57, ; + Width = 149 + *< END OBJECT: BaseClass="label" /> + + ADD OBJECT 'Shape5' AS shape WITH ; + Anchor = 7, ; + BackColor = 255,255,255, ; + Height = 201, ; + Left = -2, ; + Name = "Shape5", ; + SpecialEffect = 0, ; + Top = -2, ; + Width = 89, ; + ZOrderSet = 15 + *< END OBJECT: BaseClass="shape" /> + + ADD OBJECT 'Shape6' AS shape WITH ; + Anchor = 14, ; + BackStyle = 0, ; + Height = 56, ; + Left = -3, ; + Name = "Shape6", ; + SpecialEffect = 0, ; + Top = 197, ; + Width = 441, ; + ZOrderSet = 8 + *< END OBJECT: BaseClass="shape" /> + + PROCEDURE addtemplate + LOCAL llReturn, lcTemplateName + m.llReturn = .F. + m.lcTemplateName = INPUTBOX("Template Name", "New Filter & Export Template", "") + IF !EMPTY(m.lcTemplateName) + thisform.gridextrasobject.templatesave(thisform.gridhierarchy, m.lcTemplateName) + m.llReturn = .T. + ENDIF + RETURN m.llReturn + + ENDPROC + + PROCEDURE copytoexcel + *!* LPARAMETERS tcXLSFile, tcSheet, tvWorkArea, tcExcelFieldList, tcTableFieldList, tcTableForExpr + #DEFINE ALPHANUMERICCHR "ABCDEFGHIJKLMNOPQRSTUVWXYZ abcdefghijklmnopqrstuvwxyz1234567890" + LOCAL lnCounter, loColumn, lcXLSFile, lcSheetName, lcAliasWas, lcGridAlias, ; + lcExcelFieldList, lcTableFieldList, lcTableForExpression, loHeaderObject, ; + lcFileName, lcAction, lcPath, loExcelApp, loWorkBook, lcKeyName + m.lcXLSFile = "C:\" + SYS(2015) + ".xls" + m.lcXLSFile = PUTFILE("Export to Excel:", m.lcXLSFile, "XLS;XLSX;XLSM;XLSB") + IF !EMPTY(m.lcXLSFile) + m.lcAliasWas = ALIAS() + m.lcGridAlias = THIS.gridobject.RECORDSOURCE + *!* m.lcTableForExpression = FILTER(this.gridobject.recordsource) + m.lcSheetName = "Sheet1" + STORE "" TO m.lcExcelFieldList, m.lcTableFieldList + FOR m.lnCounter = 1 TO THIS.gridobject.COLUMNCOUNT + m.loColumn = THIS.gridobject.COLUMNS(m.lnCounter) + IF m.loColumn.VISIBLE AND m.loColumn.WIDTH > 0 + m.loHeaderObject = m.loColumn.CONTROLS(1) + m.lcExcelFieldList = m.lcExcelFieldList + IIF(!EMPTY(m.lcExcelFieldList), ',', '') ; + + ALLTRIM(CHRTRAN(m.loHeaderObject.CAPTION,CHRTRAN(m.loHeaderObject.CAPTION,ALPHANUMERICCHR,""),"")) + m.lcTableFieldList = m.lcTableFieldList + IIF(!EMPTY(m.lcTableFieldList), ',', '') ; + + m.loColumn.CONTROLSOURCE + ENDIF + ENDFOR + *!* MARIUS + CopyToExcelSimple(m.lcXLSFile, m.lcSheetName, m.lcGridAlias, m.lcExcelFieldList, m.lcTableFieldList, FILTER(m.lcGridAlias)) + *!* CopyToExcel(m.lcXLSFile, m.lcSheetName, m.lcGridAlias, m.lcExcelFieldList, m.lcTableFieldList, FILTER(m.lcGridAlias)) + *!* MARIUS ^ + IF FILE(m.lcXLSFile) + m.lcFileName = JUSTFNAME(m.lcXLSFile) + IF MESSAGEBOX('The File ' + m.lcFileName + CHR(13) + 'was successfully exported.' + CHR(13) +; + 'Would you like to open it now?',36,'EXCEL EXPORT SUCCESSFUL') = 6 + TRY + *!* MARIUS + *!* m.loExcelApp = CREATEOBJECT("EXCEL.APPLICATION") + *!* m.loWorkBook = m.loExcelApp.Workbooks.OPEN(m.lcXLSFile) + *!* m.loExcelApp.VISIBLE = .T. + OPEN_DEFAULT_APP(m.lcXLSFile) + *!* MARIUS ^ + CATCH + MESSAGEBOX("The system encountered a problem opening the Excel document.",64,"Problem Encountered") + ENDTRY + ENDIF + ENDIF + IF m.lcAliasWas != ALIAS() AND USED(m.lcAliasWas) + SELECT (m.lcAliasWas) + ENDIF + ENDIF + + ENDPROC + + PROCEDURE deletetemplate + LOCAL lcTemplateName + IF !EMPTY(thisform.combo1.DisplayValue) + IF MESSAGEBOX("Are you sure you want to delete the '" + ALLTRIM(thisform.combo1.DisplayValue) + "' template?",36,"Confirmation Required") = 6 + m.lcTemplateName = UPPER(ALLTRIM(thisform.gridhierarchy)) + ":" + ALLTRIM(thisform.combo1.DisplayValue) + thisform.gridextrasobject.templatedelete(m.lcTemplateName) + ENDIF + thisform.gettemplates() + ENDIF + + ENDPROC + + PROCEDURE gettemplates + Local lcTemplateTable, lcTemplateTableJustStem + If Type("gcTempPath")<>"U" + lcTempPath = gcTempPath + Else + lcTempPath = Sys(2023) + Endif + m.lcTemplateTable = lcTempPath + This.gridextrasobject.templatetable + m.lcTemplateTableJustStem = Juststem(m.lcTemplateTable) + If !File(m.lcTemplateTable) + CREATE table (m.lcTemplateTable) (pkid I(4) Autoinc,template C(50),gridname C(254),sortasc L(1),colname C(50),filtercust M(4),filtercol M(4),filterglob M(4),globala C(10)) + Index On pkid Tag pkid + Use In (m.lcTemplateTable) + Endif + If Type("m.lcTemplateTable") = "C" And File(m.lcTemplateTable) + If !Used(m.lcTemplateTableJustStem) + Use (m.lcTemplateTable) In 0 Shared + Endif + Thisform.combo1.RowSource = "" + Select template From (m.lcTemplateTableJustStem) Where .F. Into Cursor (Thisform.templatecursorname) Readwrite + Insert Into (Thisform.templatecursorname) Values ("") + Insert Into (Thisform.templatecursorname) ; + SELECT template From (m.lcTemplateTableJustStem) ; + WHERE !Deleted() And Upper(Alltrim(gridname)) == Upper(Alltrim(Thisform.gridhierarchy)) ; + ORDER By 1 + Go Top In (Thisform.templatecursorname) + Thisform.combo1.RowSource = Thisform.templatecursorname + Thisform.combo1.RowSourceType = 2 + Thisform.combo1.DisplayValue = "" + Thisform.combo1.Refresh() + Endif + + ENDPROC + + PROCEDURE Init + LPARAMETERS toParentForm, toGridObject, toGridExtrasObject + thisform.TemplateCursorName = SYS(2015) + thisform.Icon = _screen.icon + thisform.parentform = m.toParentForm + thisform.gridobject = m.toGridObject + thisform.gridhierarchy = Sys(1272, m.toGridObject) + thisform.gridextrasobject = m.toGridExtrasObject + thisform.GetTemplates() + thisform.shape5.ZOrder(1) + thisform.shape6.ZOrder(1) + ENDPROC + + PROCEDURE Load + SET PROCEDURE TO gridextrasprocs.prg ADDITIVE + ENDPROC + + PROCEDURE Unload + USE IN SELECT(this.templatecursorname) + ENDPROC + + PROCEDURE Combo1.InteractiveChange + IF !EMPTY(this.DisplayValue) + SET STEP ON + thisform.gridextrasobject.templateapply(UPPER(ALLTRIM(thisform.gridhierarchy)) + ":" + ALLTRIM(this.DisplayValue)) + this.SetFocus() + ENDIF + + ENDPROC + + PROCEDURE Command1.Click + thisform.copytoexcel() + ENDPROC + + PROCEDURE Command2.Click + thisform.Release() + ENDPROC + + PROCEDURE Command3.Click + SET STEP ON + IF thisform.addtemplate() + thisform.getTemplates() + ENDIF + + ENDPROC + + PROCEDURE Command4.Click + IF thisform.combo1.ListIndex > 1 + thisform.deletetemplate() + ENDIF + ENDPROC + +ENDDEFINE diff --git a/utile/GridExtras/gridfunctions16.bmp b/utile/GridExtras/gridfunctions16.bmp new file mode 100644 index 0000000..e5a44a9 Binary files /dev/null and b/utile/GridExtras/gridfunctions16.bmp differ diff --git a/utile/GridExtras/modifica.png b/utile/GridExtras/modifica.png new file mode 100644 index 0000000..f48da8f Binary files /dev/null and b/utile/GridExtras/modifica.png differ diff --git a/utile/GridExtras/nosort12.bmp b/utile/GridExtras/nosort12.bmp new file mode 100644 index 0000000..b531a2f Binary files /dev/null and b/utile/GridExtras/nosort12.bmp differ diff --git a/utile/GridExtras/renunta.png b/utile/GridExtras/renunta.png new file mode 100644 index 0000000..9a27ad1 Binary files /dev/null and b/utile/GridExtras/renunta.png differ diff --git a/utile/GridExtras/salveaza.png b/utile/GridExtras/salveaza.png new file mode 100644 index 0000000..ba15628 Binary files /dev/null and b/utile/GridExtras/salveaza.png differ diff --git a/utile/GridExtras/sample.pj2 b/utile/GridExtras/sample.pj2 new file mode 100644 index 0000000..779e558 --- /dev/null +++ b/utile/GridExtras/sample.pj2 @@ -0,0 +1,105 @@ +*-------------------------------------------------------------------------------------------------------------------------------------------------------- +* (EN) AUTOGENERATED - ATTENTION!! - NOT INTENDED FOR EXECUTION!! USE ONLY FOR MERGING CHANGES AND STORING WITH SCM TOOLS!! +*-------------------------------------------------------------------------------------------------------------------------------------------------------- +*< FOXBIN2PRG: Version="1.21" SourceFile="sample.pjx" CPID="1252" /> (Solo para binarios VFP 9 / Only for VFP 9 binaries) +* +LPARAMETERS tcDir + +lcCurdir = SYS(5)+CURDIR() +CD ( EVL( tcDir, JUSTPATH( SYS(16) ) ) ) + +* +_Author = "" +_Company = "" +_Address = "" +_City = "" +_State = "" +_PostalCode = "" +_Country = "" +*-- +_Comments = "" +_CompanyName = "" +_FileDescription = "" +_LegalCopyright = "" +_LegalTrademark = "" +_ProductName = "" +_MajorVer = "" +_MinorVer = "" +_Revision = "" +_LanguageID = "" +_AutoIncrement = "0" +* + + +* +*<.HomeDir = 'd:\roa\roahotelconfig\comun\gridextras' /> + +FOR EACH loProject IN _VFP.Projects FOXOBJECT + loProject.Close() +ENDFOR + +STRTOFILE( '', '__newproject.f2b' ) +BUILD PROJECT sample.pjx FROM '__newproject.f2b' +FOR EACH loProject IN _VFP.Projects FOXOBJECT + loProject.Close() +ENDFOR + +MODIFY PROJECT 'sample.pjx' NOWAIT NOSHOW NOPROJECTHOOK + +loProject = _VFP.Projects('sample.pjx') + +WITH loProject.FILES + .ADD('add16.png') && *< FileMetadata: Type="x" Cpid="0" Timestamp="0" ID="0" ObjRev="0" User="" /> + .ADD('addfilter16.bmp') && *< FileMetadata: Type="x" Cpid="1252" Timestamp="0" ID="0" ObjRev="0" User="" /> + .ADD('ascendingsort12.bmp') && *< FileMetadata: Type="x" Cpid="0" Timestamp="0" ID="0" ObjRev="0" User="" /> + .ADD('clearfilter16.bmp') && *< FileMetadata: Type="x" Cpid="1252" Timestamp="0" ID="0" ObjRev="0" User="" /> + .ADD('close16.bmp') && *< FileMetadata: Type="x" Cpid="1252" Timestamp="0" ID="0" ObjRev="0" User="" /> + .ADD('delete16.png') && *< FileMetadata: Type="x" Cpid="0" Timestamp="0" ID="0" ObjRev="0" User="" /> + .ADD('descendingsort12.bmp') && *< FileMetadata: Type="x" Cpid="0" Timestamp="0" ID="0" ObjRev="0" User="" /> + .ADD('excel.jpg') && *< FileMetadata: Type="x" Cpid="1252" Timestamp="0" ID="0" ObjRev="0" User="" /> + .ADD('excel24.jpg') && *< FileMetadata: Type="x" Cpid="0" Timestamp="0" ID="0" ObjRev="0" User="" /> + .ADD('exit.png') && *< FileMetadata: Type="x" Cpid="0" Timestamp="0" ID="0" ObjRev="0" User="" /> + .ADD('filter12.bmp') && *< FileMetadata: Type="x" Cpid="0" Timestamp="0" ID="0" ObjRev="0" User="" /> + .ADD('gridextras.vcx') && *< FileMetadata: Type="V" Cpid="1252" Timestamp="0" ID="0" ObjRev="544" User="" /> + .ADD('gridextrasprocs.prg') && *< FileMetadata: Type="P" Cpid="1252" Timestamp="0" ID="0" ObjRev="544" User="" /> + .ADD('gridfunctions16.bmp') && *< FileMetadata: Type="x" Cpid="0" Timestamp="0" ID="0" ObjRev="0" User="" /> + .ADD('nosort12.bmp') && *< FileMetadata: Type="x" Cpid="0" Timestamp="0" ID="0" ObjRev="0" User="" /> + .ADD('sample.scx') && *< FileMetadata: Type="K" Cpid="1252" Timestamp="0" ID="0" ObjRev="544" User="" /> + .ADD('search16.bmp') && *< FileMetadata: Type="x" Cpid="1252" Timestamp="0" ID="0" ObjRev="0" User="" /> + .ADD('showfilters16.bmp') && *< FileMetadata: Type="x" Cpid="1252" Timestamp="0" ID="0" ObjRev="0" User="" /> + .ADD('table_sql_view.png') && *< FileMetadata: Type="x" Cpid="0" Timestamp="0" ID="0" ObjRev="0" User="" /> + .ADD('table_sql_view16.png') && *< FileMetadata: Type="x" Cpid="0" Timestamp="0" ID="0" ObjRev="0" User="" /> + * + + .ITEM('__newproject.f2b').Remove() + + * + * + + * + * + + * + * +ENDWITH + +WITH loProject + * + .SetMain("sample.scx") + + .Debug = .T. + .Encrypted = .F. + *<.CmntStyle = 1 /> + *<.NoLogo = .F. /> + *<.SaveCode = .T. /> + *<.User = '' /> + .ProjectHookLibrary = '' + .ProjectHookClass = '' + * +ENDWITH + + +_VFP.Projects('sample.pjx').Close() +*ERASE '__newproject.f2b' +CD (lcCurdir) +RETURN \ No newline at end of file diff --git a/utile/GridExtras/sample.sc2 b/utile/GridExtras/sample.sc2 new file mode 100644 index 0000000..119fc92 --- /dev/null +++ b/utile/GridExtras/sample.sc2 @@ -0,0 +1,70 @@ +*-------------------------------------------------------------------------------------------------------------------------------------------------------- +* (EN) AUTOGENERATED - ATTENTION!! - NOT INTENDED FOR EXECUTION!! USE ONLY FOR MERGING CHANGES AND STORING WITH SCM TOOLS!! +*-------------------------------------------------------------------------------------------------------------------------------------------------------- +*< FOXBIN2PRG: Version="1.21" SourceFile="sample.scx" CPID="1252" /> (Solo para binarios VFP 9 / Only for VFP 9 binaries) +* +* +DEFINE CLASS dataenvironment AS dataenvironment + *< CLASSDATA: Baseclass="dataenvironment" Timestamp="" Scale="" Uniqueid="" ClassIcon="1" /> + + * + DataSource = .NULL. + Height = 0 + Left = 0 + Name = "Dataenvironment" + Top = 0 + Width = 0 + * + +ENDDEFINE + +DEFINE CLASS form1 AS form + *< CLASSDATA: Baseclass="form" Timestamp="" Scale="" Uniqueid="" /> + + *-- OBJECTDATA items order determines ZOrder / El orden de los items OBJECTDATA determina el ZOrder + *< OBJECTDATA: ObjPath="Grid1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="Gridextra1" UniqueID="" Timestamp="" /> + + * + AutoCenter = .T. + Caption = "GridExtras Sample" + DoCreate = .T. + Height = 480 + Name = "Form1" + Width = 669 + WindowType = 1 + * + + ADD OBJECT 'Grid1' AS grid WITH ; + Anchor = 15, ; + Height = 480, ; + HighlightBackColor = 255,255,128, ; + HighlightForeColor = 0,0,0, ; + HighlightStyle = 2, ; + Left = 0, ; + Name = "Grid1", ; + Top = 0, ; + Width = 669 + *< END OBJECT: BaseClass="grid" /> + + ADD OBJECT 'Gridextra1' AS gridextra WITH ; + Height = 17, ; + Left = 102, ; + Name = "Gridextra1", ; + Top = 73, ; + Width = 28 + *< END OBJECT: ClassLib="gridextras.vcx" BaseClass="custom" /> + + PROCEDURE Destroy + USE IN SELECT("customers") + ENDPROC + + PROCEDURE Init + thisform.gridextra1.setup() + ENDPROC + + PROCEDURE Load + USE (HOME(2) + "Northwind\customers.dbf") IN 0 SHARED + ENDPROC + +ENDDEFINE diff --git a/utile/GridExtras/search16.bmp b/utile/GridExtras/search16.bmp new file mode 100644 index 0000000..e6969c5 Binary files /dev/null and b/utile/GridExtras/search16.bmp differ diff --git a/utile/GridExtras/showfilters16.bmp b/utile/GridExtras/showfilters16.bmp new file mode 100644 index 0000000..5b11413 Binary files /dev/null and b/utile/GridExtras/showfilters16.bmp differ diff --git a/utile/GridExtras/sterge.png b/utile/GridExtras/sterge.png new file mode 100644 index 0000000..1294132 Binary files /dev/null and b/utile/GridExtras/sterge.png differ diff --git a/utile/GridExtras/table_sql_view.png b/utile/GridExtras/table_sql_view.png new file mode 100644 index 0000000..e3da5a5 Binary files /dev/null and b/utile/GridExtras/table_sql_view.png differ diff --git a/utile/GridExtras/table_sql_view16.png b/utile/GridExtras/table_sql_view16.png new file mode 100644 index 0000000..f48da8f Binary files /dev/null and b/utile/GridExtras/table_sql_view16.png differ diff --git a/utile/GridTreeView/GTV_DESCHIS.BMP b/utile/GridTreeView/GTV_DESCHIS.BMP new file mode 100644 index 0000000..e629654 Binary files /dev/null and b/utile/GridTreeView/GTV_DESCHIS.BMP differ diff --git a/utile/GridTreeView/GTV_FRUNZA.BMP b/utile/GridTreeView/GTV_FRUNZA.BMP new file mode 100644 index 0000000..d6b95bc Binary files /dev/null and b/utile/GridTreeView/GTV_FRUNZA.BMP differ diff --git a/utile/GridTreeView/GTV_INCHIS.BMP b/utile/GridTreeView/GTV_INCHIS.BMP new file mode 100644 index 0000000..58426d9 Binary files /dev/null and b/utile/GridTreeView/GTV_INCHIS.BMP differ diff --git a/utile/GridTreeView/GTV_MINUS.BMP b/utile/GridTreeView/GTV_MINUS.BMP new file mode 100644 index 0000000..f01b6ca Binary files /dev/null and b/utile/GridTreeView/GTV_MINUS.BMP differ diff --git a/utile/GridTreeView/GTV_PLUS.BMP b/utile/GridTreeView/GTV_PLUS.BMP new file mode 100644 index 0000000..63e3e59 Binary files /dev/null and b/utile/GridTreeView/GTV_PLUS.BMP differ diff --git a/utile/GridTreeView/gridtreeview.sc2 b/utile/GridTreeView/gridtreeview.sc2 new file mode 100644 index 0000000..37c0a10 --- /dev/null +++ b/utile/GridTreeView/gridtreeview.sc2 @@ -0,0 +1,70 @@ +*-------------------------------------------------------------------------------------------------------------------------------------------------------- +* (EN) AUTOGENERATED - ATTENTION!! - NOT INTENDED FOR EXECUTION!! USE ONLY FOR MERGING CHANGES AND STORING WITH SCM TOOLS!! +*-------------------------------------------------------------------------------------------------------------------------------------------------------- +*< FOXBIN2PRG: Version="1.21" SourceFile="gridtreeview.scx" CPID="1250" /> (Solo para binarios VFP 9 / Only for VFP 9 binaries) +* +* +DEFINE CLASS dataenvironment AS dataenvironment + *< CLASSDATA: Baseclass="dataenvironment" Timestamp="" Scale="" Uniqueid="" ClassIcon="1" /> + + * + DataSource = .NULL. + Height = 0 + Left = 0 + Name = "Dataenvironment" + Top = 0 + Width = 0 + * + +ENDDEFINE + +DEFINE CLASS form1 AS form + *< CLASSDATA: Baseclass="form" Timestamp="" Scale="" Uniqueid="" /> + + *-- OBJECTDATA items order determines ZOrder / El orden de los items OBJECTDATA determina el ZOrder + *< OBJECTDATA: ObjPath="Gridtreeview1" UniqueID="" Timestamp="" /> + + * + Caption = "Form1" + DoCreate = .T. + Name = "Form1" + * + + ADD OBJECT 'Gridtreeview1' AS gridtreeview WITH ; + Anchor = 15, ; + cexplicatie = info, ; + cid = id, ; + cseparator = \, ; + Height = 228, ; + Left = 24, ; + Name = "Gridtreeview1", ; + Panel = 1, ; + RecordSource = "cInfo", ; + Top = 12, ; + Width = 320, ; + ColumnTV.ControlSource = "", ; + ColumnTV.Header1.Name = "Header1", ; + ColumnTV.Name = "ColumnTV", ; + ColumnTV.Text1.Name = "Text1", ; + ColumnTV.Width = 296 + *< END OBJECT: ClassLib="gridtreeview.vcx" BaseClass="grid" /> + + PROCEDURE Load + lcDir = JUSTPATH(SYS(16,0)) + lcDir = SUBSTR(lcDir, AT(':', lcDir)-1) + SET DEFAULT TO (lcDir) + SET CLASSLIB TO gridtreeview.vcx ADDITIVE + + USE IN (SELECT('cInfo')) + + CREATE CURSOR cinfo(id i, info c(100)) + INSERT INTO cinfo (id, info) VALUES (1,'Nod 1') + INSERT INTO cinfo (id, info) VALUES (2,'Nod 1\1') + INSERT INTO cinfo (id, info) VALUES (3,'Nod 1\2') + INSERT INTO cinfo (id, info) VALUES (4,'Nod 1\1\x') + INSERT INTO cinfo (id, info) VALUES (5,'Nod 1\2\x') + + GO TOP + ENDPROC + +ENDDEFINE diff --git a/utile/GridTreeView/gridtreeview.vc2 b/utile/GridTreeView/gridtreeview.vc2 new file mode 100644 index 0000000..ef321f5 --- /dev/null +++ b/utile/GridTreeView/gridtreeview.vc2 @@ -0,0 +1,374 @@ +*-------------------------------------------------------------------------------------------------------------------------------------------------------- +* (EN) AUTOGENERATED - ATTENTION!! - NOT INTENDED FOR EXECUTION!! USE ONLY FOR MERGING CHANGES AND STORING WITH SCM TOOLS!! +*-------------------------------------------------------------------------------------------------------------------------------------------------------- +*< FOXBIN2PRG: Version="1.21" SourceFile="gridtreeview.vcx" CPID="1252" /> (Solo para binarios VFP 9 / Only for VFP 9 binaries) +* +* +DEFINE CLASS element AS _container OF "..\..\clase\_baza.vcx" + *< CLASSDATA: Baseclass="container" Timestamp="" Scale="Pixels" Uniqueid="" /> + + *-- OBJECTDATA items order determines ZOrder / El orden de los items OBJECTDATA determina el ZOrder + *< OBJECTDATA: ObjPath="imagine1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="imagine2" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="explicatie" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="nivel" UniqueID="" Timestamp="" /> + + * + *m: do_aranjeaza && Aranjeaza obiectele din container in functie de nivel. + *m: nodeclick + *p: cexplicatie && Numele campului care contine explicatia. + *p: nexplicatie + *p: nimagine1 + *p: nimagine2 + *p: ntip && 0 - nod neterminal, 1 - nod terminal + *p: _memberdata && XML Metadata for customizable properties + * + + * + Anchor = 10 + BorderWidth = 0 + cexplicatie = + Height = 24 + Name = "element" + nexplicatie = 0 + nimagine1 = 0 + nimagine2 = 0 + ntip = 0 + Width = 400 + _memberdata = + + + + + + + * + + ADD OBJECT 'explicatie' AS _txbase WITH ; + Anchor = 10, ; + BackStyle = 0, ; + BorderStyle = 0, ; + DisabledBackColor = 255,255,255, ; + DisabledForeColor = 0,0,0, ; + Enabled = .F., ; + FontBold = .T., ; + Height = 21, ; + Left = 33, ; + Name = "explicatie", ; + ReadOnly = .T., ; + SpecialEffect = 1, ; + Top = 0, ; + Width = 375 + *< END OBJECT: ClassLib="..\..\clase\_tx_base.vcx" BaseClass="textbox" /> + + ADD OBJECT 'imagine1' AS _image WITH ; + BackStyle = 0, ; + Left = 1, ; + Name = "imagine1", ; + Top = 2, ; + Visible = .F., ; + Width = 17 + *< END OBJECT: ClassLib="..\..\clase\_baza.vcx" BaseClass="image" /> + + ADD OBJECT 'imagine2' AS _image WITH ; + BackStyle = 0, ; + Left = 18, ; + Name = "imagine2", ; + Top = 2, ; + Width = 17 + *< END OBJECT: ClassLib="..\..\clase\_baza.vcx" BaseClass="image" /> + + ADD OBJECT 'nivel' AS _txbase WITH ; + Alignment = 3, ; + Anchor = 10, ; + ControlSource = "nivel", ; + Enabled = .F., ; + Height = 21, ; + Left = 352, ; + Name = "nivel", ; + ReadOnly = .T., ; + SpecialEffect = 1, ; + Top = 0, ; + Value = 1, ; + Visible = .F., ; + Width = 48 + *< END OBJECT: ClassLib="..\..\clase\_tx_base.vcx" BaseClass="textbox" /> + + PROCEDURE DblClick + This.nodeClick() + ENDPROC + + PROCEDURE do_aranjeaza && Aranjeaza obiectele din container in functie de nivel. + lnNivel = This.nivel.Value + This.imagine1.Left = This.nimagine1 + 15 * lnNivel + This.imagine2.Left = This.nimagine2 + 15 * lnNivel + This.explicatie.Left = This.nexplicatie + 15 * lnNivel + + ENDPROC + + PROCEDURE Init + Lparameters tnTip,tcExplicatie + *!* tnTip + *!* 0 - frunza + *!* 1 - inchis + *!* 2 - deschis + Local lnTip + lnTip = Nvl(tnTip,0) + With This + .ntip = lnTip + .cExplicatie = Iif(Empty(Nvl(tcExplicatie,[])),[explicatie],tcExplicatie) + Do Case + Case .ntip = 2 + .imagine1.Picture = [GTV_MINUS.bmp] + .imagine1.Visible = .T. + .imagine2.Picture = [GTV_DESCHIS.bmp] + Case .ntip = 1 + .imagine1.Picture = [GTV_PLUS.bmp] + .imagine1.Visible = .T. + .imagine2.Picture = [GTV_INCHIS.bmp] + Otherwise + .imagine2.Picture = [GTV_FRUNZA.bmp] + Endcase + + .nimagine1 = .imagine1.Left + .nimagine2 = .imagine2.Left + .nexplicatie = .explicatie.Left + + .explicatie.ControlSource = .cExplicatie + Endwith + ENDPROC + + PROCEDURE nodeclick + If This.ntip <> 0 + This.Parent.Parent.nodeclick() + Endif + ENDPROC + + PROCEDURE explicatie.DblClick + This.Parent.nodeClick + ENDPROC + + PROCEDURE imagine1.MouseDown + Lparameters nButton, nShift, nXCoord, nYCoord + If nButton=1 + This.Parent.nodeClick + Endif + ENDPROC + + PROCEDURE imagine2.DblClick + This.Parent.nodeClick + ENDPROC + + PROCEDURE nivel.DblClick + This.Parent.nodeclick() + + ENDPROC + +ENDDEFINE + +DEFINE CLASS gridtreeview AS _grdbase OF "..\..\clase\_grd_base.vcx" + *< CLASSDATA: Baseclass="grid" Timestamp="" Scale="Pixels" Uniqueid="" /> + + *-- OBJECTDATA items order determines ZOrder / El orden de los items OBJECTDATA determina el ZOrder + *< OBJECTDATA: ObjPath="ColumnTV.Header1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="ColumnTV.Text1" UniqueID="" Timestamp="" /> + + * + *m: do_initializeaza + *m: dynamic + *m: nodeclick + *p: cexplicatie && Denumirea campului care contine explicatia. + *p: cid && Denumirea campului care contine id-ul. + *p: crgbbackcolor + *p: cseparator && Caracterul / caracterele folosite ca separator pentru campul tata. + *p: ldeschise && .T. daca toate ramurile sunt deschise, .F. daca sunt inchise + *p: nrecno + *p: _memberdata && XML Metadata for customizable properties + * + + * + AllowHeaderSizing = .F. + AllowRowSizing = .F. + cexplicatie = + cid = + ColumnCount = 1 + crgbbackcolor = 255,255,255 + cseparator = + DeleteMark = .F. + FontName = "Arial Narrow" + GridLineColor = 128,128,128 + Highlight = .F. + HighlightStyle = 1 + Name = "gridtreeview" + nrecno = 0 + RecordMark = .F. + _memberdata = + + + + + Column1.FontName = "Arial Narrow" + Column1.Name = "ColumnTV" + Column1.ReadOnly = .T. + Column1.Sparse = .F. + Column1.Width = 150 + * + + ADD OBJECT 'ColumnTV.Header1' AS header WITH ; + Alignment = 2, ; + Caption = "Header1", ; + FontName = "Arial Narrow", ; + Name = "Header1" + *< END OBJECT: BaseClass="header" /> + + ADD OBJECT 'ColumnTV.Text1' AS textbox WITH ; + BackColor = 255,255,255, ; + BorderStyle = 0, ; + FontName = "Arial Narrow", ; + ForeColor = 0,0,0, ; + Margin = 0, ; + Name = "Text1", ; + ReadOnly = .T. + *< END OBJECT: BaseClass="textbox" /> + + PROCEDURE AfterRowColChange + Lparameters nColIndex + If Inlist(This.RowColChange,0,1,3) + This.nRecno=Recno(This.RecordSource) + This.Refresh + Endif + ENDPROC + + PROCEDURE Destroy + lcCursor = This.RecordSource + If Used(lcCursor) + Select (lcCursor) + Set Filter To + Endif + ENDPROC + + PROCEDURE do_initializeaza + *!* daca tlGridSalvat = .F., atunci salvarea se face aici + *!* daca tlGridSalvat = .T., atunci salvarea a fost facuta deja, iar tcCursor trebuie sa aiba o valoare + Lparameters tlGridSalvat,tcCursor + *!* Campuri obligatorii in cursor : + *!* id ( in this.cid ) + *!* cheie ( in this.cexplicatie ) + *!* nivel + *!* cale ( toata calea de la primul nod pana la tatal nodului actual separate prin this.cseparator ) + *!* tip ( 0 = nod , 1 = frunza ) + _Screen.LockScreen = .T. + If !tlGridSalvat + lcCursor = This.RecordSource + Else + lcCursor = tcCursor + Endif + lcColoanaExplicatie = [a.]+This.cexplicatie + lcSeparator = This.cseparator + + If !tlGridSalvat + save_grid_tag(This) + Endif + Select Alltrim(Nvl(a.cale,''))+lcSeparator As crtordine,a.*,Iif(a.tip=1,"X",Iif(This.ldeschise,"D","N")) As deschis,; + IIF(This.ldeschise,.T.,Iif(a.nivel=1,.T.,.F.)) As vizibil From (lcCursor) a Order By 1 ; + INTO Cursor (lcCursor) Readwrite + Select (lcCursor) + Set Filter To vizibil + Go Top + If !tlGridSalvat + restore_grid_tag(This) + Endif + + With This.columntv + .DynamicCurrentControl = ["tip"+ALLTRIM(CHRTRAN(]+lcCursor+[.deschis,"DNX","di"))] + .DynamicBackColor=[this.dynamic()] + Endwith + _Screen.LockScreen = .F. + + ENDPROC + + PROCEDURE dynamic + With Evaluate("this.columnTV."+ Evaluate(This.columnTV.DynamicCurrentControl)) + .do_aranjeaza() + lcRgb = This.Objects(2).DynamicBackColor + *!* If Recno(This.RecordSource)=This.nRecno + *!* lcRgb = [RGB(]+Alltrim(This.crgbbackcolor)+[)] + *!* Else + *!* lcRgb = [Rgb(255,255,255)] + *!* Endif + *!* With .explicatie + *!* .BackColor = &lcRgb + *!* .Refresh() + *!* Endwith + Endwith + Return &lcRgb + ENDPROC + + PROCEDURE Init + lcCursor = This.RecordSource + With This.ColumnTv + If Vartype(.text1)="O" + .RemoveObject("text1") + Endif + + .AddObject("tip","element",0,This.cexplicatie) + .AddObject("tipi","element",1,This.cexplicatie) + .AddObject("tipd","element",2,This.cexplicatie) + + Endwith + ENDPROC + + PROCEDURE nodeclick + Local lnTip,lcCheie,lnNivel,lnNivelStop,lnNivelPrec, lnNivelMaxim + lnNivelMaxim = 50 + Dimension laVizibil(lnNivelMaxim) + lcColoanaID = This.cid + *!* lcColoanaCheie = This.cexplicatie + *!* lcSeparator = This.cseparator + lnNivelStop = lnNivelMaxim + + Select (This.RecordSource) + If !Empty(deschis) + Thisform.LockScreen = .T. + lnId = &lcColoanaID + *!* lcCheie = Lower(Alltrim(cale)+Alltrim(&lcColoanaCheie)+ALLTRIM(lcSeparator)+[*]) + lcCheie = LOWER(ALLTRIM(crtordine)+[*]) + If deschis = "D" + Replace deschis With "N" + Replace vizibil With .F. For Like(lcCheie,Lower(cale)) + Else + Set Filter To + Replace deschis With "D" + laVizibil(nivel+1) = .T. + lnNivelPrec = nivel + Skip + Scan Rest For Like(lcCheie,Lower(cale)) + If nivel <= lnNivelStop + lnNivelStop = lnNivelMaxim + If lnNivelPrec > nivel + For i = nivel + 1 To lnNivelPrec + laVizibil(i) = .F. + Endfor + Else + lnNivelPrec = nivel + Endif + Replace vizibil With laVizibil(nivel) + If Alltrim(deschis) = "D" + laVizibil(nivel+1) = .T. + Endif + If Alltrim(deschis) = "N" + lnNivelStop = nivel + Endif + Endif + Endscan + Endif + Set Filter To vizibil + Locate For &lcColoanaID = lnId + This.columnTV.DynamicCurrentControl=This.columnTV.DynamicCurrentControl + This.Refresh + Thisform.LockScreen = .F. + Endif + Release laVizibil + ENDPROC + +ENDDEFINE diff --git a/utile/ListProperty/Calendar.bmp b/utile/ListProperty/Calendar.bmp new file mode 100644 index 0000000..d4e1f47 Binary files /dev/null and b/utile/ListProperty/Calendar.bmp differ diff --git a/utile/ListProperty/Calendar.ico b/utile/ListProperty/Calendar.ico new file mode 100644 index 0000000..1f7b043 Binary files /dev/null and b/utile/ListProperty/Calendar.ico differ diff --git a/utile/ListProperty/CalendarButton.bmp b/utile/ListProperty/CalendarButton.bmp new file mode 100644 index 0000000..a158817 Binary files /dev/null and b/utile/ListProperty/CalendarButton.bmp differ diff --git a/utile/ListProperty/ColorButton.bmp b/utile/ListProperty/ColorButton.bmp new file mode 100644 index 0000000..e594445 Binary files /dev/null and b/utile/ListProperty/ColorButton.bmp differ diff --git a/utile/ListProperty/Colors.bmp b/utile/ListProperty/Colors.bmp new file mode 100644 index 0000000..1443ef9 Binary files /dev/null and b/utile/ListProperty/Colors.bmp differ diff --git a/utile/ListProperty/Colors.ico b/utile/ListProperty/Colors.ico new file mode 100644 index 0000000..f2e4475 Binary files /dev/null and b/utile/ListProperty/Colors.ico differ diff --git a/utile/ListProperty/Holidays.ini b/utile/ListProperty/Holidays.ini new file mode 100644 index 0000000..31a4cd3 --- /dev/null +++ b/utile/ListProperty/Holidays.ini @@ -0,0 +1,39 @@ +[Enero] +Days=01 +Day01Tips=Día de mi programa + +[Febrero] +Days=14 +Day14Tips=Día de la amistad + +[Abril] +Days=17,18 +Day17Tips= +Day18Tips= + +[Mayo] +Days=01 +Day01Tips= + +[Julio] +Days=28,29 +Day28Tips=Fiestas patrias +Day29Tips=Desfile militar + +[Agosto] +Days=30 +Day30Tips=Santa Rosa de Lima + +[Octubre] +Days=08 +Day08Tips=8 Octubre + +[Noviembre] +Days=01 +Day01Tips= + +[Diciembre] +Days=08,25 +Day08Tips=Dia de San Guchito +Day25Tips=Navidad!!! ... Nacimiento del niño Jesús + diff --git a/utile/ListProperty/Library.bmp b/utile/ListProperty/Library.bmp new file mode 100644 index 0000000..c573c15 Binary files /dev/null and b/utile/ListProperty/Library.bmp differ diff --git a/utile/ListProperty/Property.bmp b/utile/ListProperty/Property.bmp new file mode 100644 index 0000000..8a0b830 Binary files /dev/null and b/utile/ListProperty/Property.bmp differ diff --git a/utile/ListProperty/VE_SIZEB.CUR b/utile/ListProperty/VE_SIZEB.CUR new file mode 100644 index 0000000..dda3483 Binary files /dev/null and b/utile/ListProperty/VE_SIZEB.CUR differ diff --git a/utile/ListProperty/WinCalendar.bmp b/utile/ListProperty/WinCalendar.bmp new file mode 100644 index 0000000..6543b76 Binary files /dev/null and b/utile/ListProperty/WinCalendar.bmp differ diff --git a/utile/ListProperty/_lproperty.vc2 b/utile/ListProperty/_lproperty.vc2 new file mode 100644 index 0000000..ed341da --- /dev/null +++ b/utile/ListProperty/_lproperty.vc2 @@ -0,0 +1,3253 @@ +*-------------------------------------------------------------------------------------------------------------------------------------------------------- +* (EN) AUTOGENERATED - ATTENTION!! - NOT INTENDED FOR EXECUTION!! USE ONLY FOR MERGING CHANGES AND STORING WITH SCM TOOLS!! +*-------------------------------------------------------------------------------------------------------------------------------------------------------- +*< FOXBIN2PRG: Version="1.21" SourceFile="_lproperty.vcx" CPID="1252" /> (Solo para binarios VFP 9 / Only for VFP 9 binaries) +* +* +DEFINE CLASS _cal_button AS container + *< CLASSDATA: Baseclass="container" Timestamp="" Scale="Pixels" Uniqueid="" ProjectClassIcon="calendarbutton.bmp" ClassIcon="calendarbutton.bmp" /> + + *-- OBJECTDATA items order determines ZOrder / El orden de los items OBJECTDATA determina el ZOrder + *< OBJECTDATA: ObjPath="lblButton" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="btnButton" UniqueID="" Timestamp="" /> + + * + *m: backcolor_assign + *m: caption_access + *m: caption_assign + *m: forecolor_assign + *m: getfocus + *m: killfocus + *p: caption && Especifica el texto mostrado como título de un objeto. + *p: day + *p: downobject + *p: leftobject + *p: month + *p: rightobject + *p: upobject + *p: year + * + + * + BackColor = 255,255,255 + BorderWidth = 0 + caption = + day = 0 + downobject = .F. + Height = 27 + leftobject = .F. + month = 0 + Name = "_cal_button" + rightobject = .F. + upobject = .F. + Width = 26 + year = .F. + * + + ADD OBJECT 'btnButton' AS commandbutton WITH ; + Caption = "", ; + Height = 31, ; + Left = 124, ; + Name = "btnButton", ; + Style = 1, ; + Top = 87, ; + Width = 37 + *< END OBJECT: BaseClass="commandbutton" /> + + ADD OBJECT 'lblButton' AS label WITH ; + AutoSize = .T., ; + BackStyle = 0, ; + Caption = "Label1", ; + FontName = "MS Sans Serif", ; + Height = 15, ; + Left = 135, ; + Name = "lblButton", ; + Top = 96, ; + Width = 34 + *< END OBJECT: BaseClass="label" /> + + PROCEDURE backcolor_assign + LPARAMETERS vNewVal + *To do: Modify this routine for the Assign method + THIS.BackColor = m.vNewVal + + ENDPROC + + PROCEDURE caption_access + *Pendiente: modificar esta rutina para el método Access + RETURN THIS.caption + + ENDPROC + + PROCEDURE caption_assign + LPARAMETERS vNewVal + *To do: Modify this routine for the Assign method + THIS.caption = m.vNewVal + + With This.lblButton + nHeight = Fontmetric(1, .FontName, .FontSize) + nWidth = Txtwidth(This.Caption, .FontName, .FontSize) * Fontmetric(6, .FontName, .FontSize) + .Caption = This.Caption + .Top = (This.Height / 2) - (nHeight / 2) + .Left = (This.Width / 2) - (nWidth / 2) + EndWith + + ENDPROC + + PROCEDURE Click + This.btnButton.Click() + ENDPROC + + PROCEDURE forecolor_assign + LPARAMETERS vNewVal + *To do: Modify this routine for the Assign method + THIS.ForeColor = m.vNewVal + This.lblButton.ForeColor = m.vNewVal + + ENDPROC + + PROCEDURE getfocus + With This.Parent + If Type("This.Parent.CurrentObject") == "O" + If !(.CurrentObject.Name == This.Name) + .CurrentObject.KillFocus() + EndIf + EndIf + .CurrentObject = This + This.BackColor = .cusFuncs.GetColor(.SelectedDayBackColor) + This.lblButton.ForeColor = .cusFuncs.GetColor(.SelectedDayForeColor) + This.btnButton.SetFocus() + EndWith + ENDPROC + + PROCEDURE Init + With This.btnButton + .Top = 0 + .Left = 0 + .Width = This.Width + .Height = This.Height + .ZOrder(0) + EndWith + This.Caption = This.Caption + + ENDPROC + + PROCEDURE killfocus + This.ResetToDefault("BackColor") + This.lblButton.ForeColor = This.ForeColor + ENDPROC + + PROCEDURE btnButton.Click + *Nodefault + With This.Parent + .GetFocus() + .Parent.OnClick(Date(.Year, .Month, .Day)) + DoDefault() + EndWith + ENDPROC + + PROCEDURE btnButton.KeyPress + LPARAMETERS nKeyCode, nShiftAltCtrl + + Do Case + Case nKeyCode = 5 && Arriba + NoDefault + If Type("This.Parent.UpObject") == "O" + This.Parent.UpObject.Click() + EndIf + Case nKeyCode = 24 && Abajo + NoDefault + If Type("This.Parent.DownObject") == "O" + This.Parent.DownObject.Click() + EndIf + Case nKeyCode = 4 && Derecha + NoDefault + If Type("This.Parent.RightObject") == "O" + This.Parent.RightObject.Click() + EndIf + Case nKeyCode = 19 && Izquierda + NoDefault + If Type("This.Parent.LeftObject") == "O" + This.Parent.LeftObject.Click() + EndIf + Case nKeyCode = 32 + NoDefault + EndCase + ENDPROC + +ENDDEFINE + +DEFINE CLASS _calendar AS container + *< CLASSDATA: Baseclass="container" Timestamp="" Scale="Pixels" Uniqueid="" ProjectClassIcon="calendar.bmp" ClassIcon="calendar.bmp" /> + + *-- OBJECTDATA items order determines ZOrder / El orden de los items OBJECTDATA determina el ZOrder + *< OBJECTDATA: ObjPath="shpTitleBar" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="cusFuncs" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="btnButton_1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="btnButton_2" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="btnButton_3" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="btnButton_4" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="btnButton_5" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="btnButton_6" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="btnButton_7" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="btnButton_8" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="btnButton_9" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="btnButton_10" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="btnButton_11" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="btnButton_12" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="btnButton_13" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="btnButton_14" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="btnButton_15" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="btnButton_16" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="btnButton_17" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="btnButton_18" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="btnButton_19" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="btnButton_20" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="btnButton_21" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="btnButton_22" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="btnButton_23" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="btnButton_24" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="btnButton_25" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="btnButton_26" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="btnButton_27" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="btnButton_28" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="btnButton_29" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="btnButton_30" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="btnButton_31" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="btnButton_32" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="btnButton_33" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="btnButton_34" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="btnButton_35" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="btnButton_36" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="btnButton_37" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="btnButton_38" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="btnButton_39" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="btnButton_40" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="btnButton_41" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="btnButton_42" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="spnYear" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="cboMonth" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="lblTitleDay1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="lblTitleDay2" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="lblTitleDay3" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="lblTitleDay4" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="lblTitleDay5" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="lblTitleDay6" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="lblTitleDay7" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="btnNext" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="btnPrevious" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="shpTodaybar" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="Label7" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="lblToday" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="btnToday" UniqueID="" Timestamp="" /> + + * + *m: buildcalendar + *m: checkday + *m: date_assign + *m: getholidaytips + *m: getreference + *m: isholiday + *m: loadholidays + *m: onclick + *m: showdebut && Muestra un formulario y especifica si dicho formulario es modal o no modal. + *m: verify + *p: currentobject + *p: date + *p: day + *p: debutobject + *p: extradayforecolor + *p: holidayforecolor + *p: holidaylist + *p: ispainted + *p: month + *p: saturdayforecolor + *p: selecteddaybackcolor + *p: selecteddayforecolor + *p: showholidaytips + *p: sundayforecolor + *p: weekdayforecolor + *p: year + *p: _memberdata && XML Metadatos para propiedades personalizables. + * + + * + BorderWidth = 0 + currentobject = + date = ({}) + day = 0 + debutobject = .F. + extradayforecolor = sys:15 + Height = 174 + holidayforecolor = rgb:255,0,0 + holidaylist = + ispainted = .F. + month = 0 + Name = "_calendar" + saturdayforecolor = sys:18 + selecteddaybackcolor = sys:13 + selecteddayforecolor = sys:14 + showholidaytips = .F. + sundayforecolor = rgb:255,0,0 + weekdayforecolor = sys:18 + Width = 192 + year = 0 + _memberdata = + + + + + + + + + + + + + + + * + + ADD OBJECT 'btnButton_1' AS _cal_button WITH ; + Height = 17, ; + Left = 2, ; + Name = "btnButton_1", ; + TabIndex = 1, ; + Tag = "0,8,2,0", ; + Top = 48, ; + Width = 26, ; + LBLBUTTON.Name = "LBLBUTTON", ; + btnButton.Name = "btnButton" + *< END OBJECT: ClassLib="_lproperty.vcx" BaseClass="container" /> + + ADD OBJECT 'btnButton_10' AS _cal_button WITH ; + Height = 17, ; + Left = 56, ; + Name = "btnButton_10", ; + TabIndex = 10, ; + Top = 66, ; + Width = 26, ; + LBLBUTTON.Name = "LBLBUTTON", ; + btnButton.Name = "btnButton" + *< END OBJECT: ClassLib="_lproperty.vcx" BaseClass="container" /> + + ADD OBJECT 'btnButton_11' AS _cal_button WITH ; + Height = 17, ; + Left = 83, ; + Name = "btnButton_11", ; + TabIndex = 11, ; + Top = 66, ; + Width = 26, ; + LBLBUTTON.Name = "LBLBUTTON", ; + btnButton.Name = "btnButton" + *< END OBJECT: ClassLib="_lproperty.vcx" BaseClass="container" /> + + ADD OBJECT 'btnButton_12' AS _cal_button WITH ; + Height = 17, ; + Left = 110, ; + Name = "btnButton_12", ; + TabIndex = 12, ; + Top = 66, ; + Width = 26, ; + LBLBUTTON.Name = "LBLBUTTON", ; + btnButton.Name = "btnButton" + *< END OBJECT: ClassLib="_lproperty.vcx" BaseClass="container" /> + + ADD OBJECT 'btnButton_13' AS _cal_button WITH ; + Height = 17, ; + Left = 137, ; + Name = "btnButton_13", ; + TabIndex = 13, ; + Top = 66, ; + Width = 26, ; + LBLBUTTON.Name = "LBLBUTTON", ; + btnButton.Name = "btnButton" + *< END OBJECT: ClassLib="_lproperty.vcx" BaseClass="container" /> + + ADD OBJECT 'btnButton_14' AS _cal_button WITH ; + Height = 17, ; + Left = 164, ; + Name = "btnButton_14", ; + TabIndex = 14, ; + Top = 66, ; + Width = 26, ; + LBLBUTTON.Name = "LBLBUTTON", ; + btnButton.Name = "btnButton" + *< END OBJECT: ClassLib="_lproperty.vcx" BaseClass="container" /> + + ADD OBJECT 'btnButton_15' AS _cal_button WITH ; + Height = 17, ; + Left = 2, ; + Name = "btnButton_15", ; + TabIndex = 15, ; + Top = 84, ; + Width = 26, ; + LBLBUTTON.Name = "LBLBUTTON", ; + btnButton.Name = "btnButton" + *< END OBJECT: ClassLib="_lproperty.vcx" BaseClass="container" /> + + ADD OBJECT 'btnButton_16' AS _cal_button WITH ; + Height = 17, ; + Left = 29, ; + Name = "btnButton_16", ; + TabIndex = 16, ; + Top = 84, ; + Width = 26, ; + LBLBUTTON.Name = "LBLBUTTON", ; + btnButton.Name = "btnButton" + *< END OBJECT: ClassLib="_lproperty.vcx" BaseClass="container" /> + + ADD OBJECT 'btnButton_17' AS _cal_button WITH ; + Height = 17, ; + Left = 56, ; + Name = "btnButton_17", ; + TabIndex = 17, ; + Top = 84, ; + Width = 26, ; + LBLBUTTON.Name = "LBLBUTTON", ; + btnButton.Name = "btnButton" + *< END OBJECT: ClassLib="_lproperty.vcx" BaseClass="container" /> + + ADD OBJECT 'btnButton_18' AS _cal_button WITH ; + Height = 17, ; + Left = 83, ; + Name = "btnButton_18", ; + TabIndex = 18, ; + Top = 84, ; + Width = 26, ; + LBLBUTTON.Name = "LBLBUTTON", ; + btnButton.Name = "btnButton" + *< END OBJECT: ClassLib="_lproperty.vcx" BaseClass="container" /> + + ADD OBJECT 'btnButton_19' AS _cal_button WITH ; + Height = 17, ; + Left = 110, ; + Name = "btnButton_19", ; + TabIndex = 19, ; + Top = 84, ; + Width = 26, ; + LBLBUTTON.Name = "LBLBUTTON", ; + btnButton.Name = "btnButton" + *< END OBJECT: ClassLib="_lproperty.vcx" BaseClass="container" /> + + ADD OBJECT 'btnButton_2' AS _cal_button WITH ; + Height = 17, ; + Left = 29, ; + Name = "btnButton_2", ; + TabIndex = 2, ; + Tag = "0,9,3,1", ; + Top = 48, ; + Width = 26, ; + LBLBUTTON.Name = "LBLBUTTON", ; + btnButton.Name = "btnButton" + *< END OBJECT: ClassLib="_lproperty.vcx" BaseClass="container" /> + + ADD OBJECT 'btnButton_20' AS _cal_button WITH ; + Height = 17, ; + Left = 137, ; + Name = "btnButton_20", ; + TabIndex = 20, ; + Top = 84, ; + Width = 26, ; + LBLBUTTON.Name = "LBLBUTTON", ; + btnButton.Name = "btnButton" + *< END OBJECT: ClassLib="_lproperty.vcx" BaseClass="container" /> + + ADD OBJECT 'btnButton_21' AS _cal_button WITH ; + Height = 17, ; + Left = 164, ; + Name = "btnButton_21", ; + TabIndex = 21, ; + Top = 84, ; + Width = 26, ; + LBLBUTTON.Name = "LBLBUTTON", ; + btnButton.Name = "btnButton" + *< END OBJECT: ClassLib="_lproperty.vcx" BaseClass="container" /> + + ADD OBJECT 'btnButton_22' AS _cal_button WITH ; + Height = 17, ; + Left = 2, ; + Name = "btnButton_22", ; + TabIndex = 22, ; + Top = 102, ; + Width = 26, ; + LBLBUTTON.Name = "LBLBUTTON", ; + btnButton.Name = "btnButton" + *< END OBJECT: ClassLib="_lproperty.vcx" BaseClass="container" /> + + ADD OBJECT 'btnButton_23' AS _cal_button WITH ; + Height = 17, ; + Left = 29, ; + Name = "btnButton_23", ; + TabIndex = 23, ; + Top = 102, ; + Width = 26, ; + LBLBUTTON.Name = "LBLBUTTON", ; + btnButton.Name = "btnButton" + *< END OBJECT: ClassLib="_lproperty.vcx" BaseClass="container" /> + + ADD OBJECT 'btnButton_24' AS _cal_button WITH ; + Height = 17, ; + Left = 56, ; + Name = "btnButton_24", ; + TabIndex = 24, ; + Top = 102, ; + Width = 26, ; + LBLBUTTON.Name = "LBLBUTTON", ; + btnButton.Name = "btnButton" + *< END OBJECT: ClassLib="_lproperty.vcx" BaseClass="container" /> + + ADD OBJECT 'btnButton_25' AS _cal_button WITH ; + Height = 17, ; + Left = 83, ; + Name = "btnButton_25", ; + TabIndex = 25, ; + Top = 102, ; + Width = 26, ; + LBLBUTTON.Name = "LBLBUTTON", ; + btnButton.Name = "btnButton" + *< END OBJECT: ClassLib="_lproperty.vcx" BaseClass="container" /> + + ADD OBJECT 'btnButton_26' AS _cal_button WITH ; + Height = 17, ; + Left = 110, ; + Name = "btnButton_26", ; + TabIndex = 26, ; + Top = 102, ; + Width = 26, ; + LBLBUTTON.Name = "LBLBUTTON", ; + btnButton.Name = "btnButton" + *< END OBJECT: ClassLib="_lproperty.vcx" BaseClass="container" /> + + ADD OBJECT 'btnButton_27' AS _cal_button WITH ; + Height = 17, ; + Left = 137, ; + Name = "btnButton_27", ; + TabIndex = 27, ; + Top = 102, ; + Width = 26, ; + LBLBUTTON.Name = "LBLBUTTON", ; + btnButton.Name = "btnButton" + *< END OBJECT: ClassLib="_lproperty.vcx" BaseClass="container" /> + + ADD OBJECT 'btnButton_28' AS _cal_button WITH ; + Height = 17, ; + Left = 164, ; + Name = "btnButton_28", ; + TabIndex = 28, ; + Top = 102, ; + Width = 26, ; + LBLBUTTON.Name = "LBLBUTTON", ; + btnButton.Name = "btnButton" + *< END OBJECT: ClassLib="_lproperty.vcx" BaseClass="container" /> + + ADD OBJECT 'btnButton_29' AS _cal_button WITH ; + Height = 17, ; + Left = 2, ; + Name = "btnButton_29", ; + TabIndex = 29, ; + Top = 120, ; + Width = 26, ; + LBLBUTTON.Name = "LBLBUTTON", ; + btnButton.Name = "btnButton" + *< END OBJECT: ClassLib="_lproperty.vcx" BaseClass="container" /> + + ADD OBJECT 'btnButton_3' AS _cal_button WITH ; + Height = 17, ; + Left = 56, ; + Name = "btnButton_3", ; + TabIndex = 3, ; + Tag = "0,10,4,2", ; + Top = 48, ; + Width = 26, ; + LBLBUTTON.Name = "LBLBUTTON", ; + btnButton.Name = "btnButton" + *< END OBJECT: ClassLib="_lproperty.vcx" BaseClass="container" /> + + ADD OBJECT 'btnButton_30' AS _cal_button WITH ; + Height = 17, ; + Left = 29, ; + Name = "btnButton_30", ; + TabIndex = 30, ; + Top = 120, ; + Width = 26, ; + LBLBUTTON.Name = "LBLBUTTON", ; + btnButton.Name = "btnButton" + *< END OBJECT: ClassLib="_lproperty.vcx" BaseClass="container" /> + + ADD OBJECT 'btnButton_31' AS _cal_button WITH ; + Height = 17, ; + Left = 56, ; + Name = "btnButton_31", ; + TabIndex = 31, ; + Top = 120, ; + Width = 26, ; + LBLBUTTON.Name = "LBLBUTTON", ; + btnButton.Name = "btnButton" + *< END OBJECT: ClassLib="_lproperty.vcx" BaseClass="container" /> + + ADD OBJECT 'btnButton_32' AS _cal_button WITH ; + Height = 17, ; + Left = 83, ; + Name = "btnButton_32", ; + TabIndex = 32, ; + Top = 120, ; + Width = 26, ; + LBLBUTTON.Name = "LBLBUTTON", ; + btnButton.Name = "btnButton" + *< END OBJECT: ClassLib="_lproperty.vcx" BaseClass="container" /> + + ADD OBJECT 'btnButton_33' AS _cal_button WITH ; + Height = 17, ; + Left = 110, ; + Name = "btnButton_33", ; + TabIndex = 33, ; + Top = 120, ; + Width = 26, ; + LBLBUTTON.Name = "LBLBUTTON", ; + btnButton.Name = "btnButton" + *< END OBJECT: ClassLib="_lproperty.vcx" BaseClass="container" /> + + ADD OBJECT 'btnButton_34' AS _cal_button WITH ; + Height = 17, ; + Left = 137, ; + Name = "btnButton_34", ; + TabIndex = 34, ; + Top = 120, ; + Width = 26, ; + LBLBUTTON.Name = "LBLBUTTON", ; + btnButton.Name = "btnButton" + *< END OBJECT: ClassLib="_lproperty.vcx" BaseClass="container" /> + + ADD OBJECT 'btnButton_35' AS _cal_button WITH ; + Height = 17, ; + Left = 164, ; + Name = "btnButton_35", ; + TabIndex = 35, ; + Top = 120, ; + Width = 26, ; + LBLBUTTON.Name = "LBLBUTTON", ; + btnButton.Name = "btnButton" + *< END OBJECT: ClassLib="_lproperty.vcx" BaseClass="container" /> + + ADD OBJECT 'btnButton_36' AS _cal_button WITH ; + Height = 17, ; + Left = 2, ; + Name = "btnButton_36", ; + TabIndex = 36, ; + Top = 138, ; + Width = 26, ; + lblButton.Name = "lblButton", ; + btnButton.Name = "btnButton" + *< END OBJECT: ClassLib="_lproperty.vcx" BaseClass="container" /> + + ADD OBJECT 'btnButton_37' AS _cal_button WITH ; + Height = 17, ; + Left = 29, ; + Name = "btnButton_37", ; + TabIndex = 37, ; + Top = 138, ; + Width = 26, ; + lblButton.Name = "lblButton", ; + btnButton.Name = "btnButton" + *< END OBJECT: ClassLib="_lproperty.vcx" BaseClass="container" /> + + ADD OBJECT 'btnButton_38' AS _cal_button WITH ; + Height = 17, ; + Left = 56, ; + Name = "btnButton_38", ; + TabIndex = 38, ; + Top = 138, ; + Width = 26, ; + lblButton.Name = "lblButton", ; + btnButton.Name = "btnButton" + *< END OBJECT: ClassLib="_lproperty.vcx" BaseClass="container" /> + + ADD OBJECT 'btnButton_39' AS _cal_button WITH ; + Height = 17, ; + Left = 83, ; + Name = "btnButton_39", ; + TabIndex = 39, ; + Top = 138, ; + Width = 26, ; + lblButton.Name = "lblButton", ; + btnButton.Name = "btnButton" + *< END OBJECT: ClassLib="_lproperty.vcx" BaseClass="container" /> + + ADD OBJECT 'btnButton_4' AS _cal_button WITH ; + Height = 17, ; + Left = 83, ; + Name = "btnButton_4", ; + TabIndex = 4, ; + Tag = "0,11,5,3", ; + Top = 48, ; + Width = 26, ; + LBLBUTTON.Name = "LBLBUTTON", ; + btnButton.Name = "btnButton" + *< END OBJECT: ClassLib="_lproperty.vcx" BaseClass="container" /> + + ADD OBJECT 'btnButton_40' AS _cal_button WITH ; + Height = 17, ; + Left = 110, ; + Name = "btnButton_40", ; + TabIndex = 40, ; + Top = 138, ; + Width = 26, ; + lblButton.Name = "lblButton", ; + btnButton.Name = "btnButton" + *< END OBJECT: ClassLib="_lproperty.vcx" BaseClass="container" /> + + ADD OBJECT 'btnButton_41' AS _cal_button WITH ; + Height = 17, ; + Left = 137, ; + Name = "btnButton_41", ; + TabIndex = 41, ; + Top = 138, ; + Width = 26, ; + lblButton.Name = "lblButton", ; + btnButton.Name = "btnButton" + *< END OBJECT: ClassLib="_lproperty.vcx" BaseClass="container" /> + + ADD OBJECT 'btnButton_42' AS _cal_button WITH ; + Height = 17, ; + Left = 164, ; + Name = "btnButton_42", ; + TabIndex = 42, ; + Top = 138, ; + Width = 26, ; + lblButton.Name = "lblButton", ; + btnButton.Name = "btnButton" + *< END OBJECT: ClassLib="_lproperty.vcx" BaseClass="container" /> + + ADD OBJECT 'btnButton_5' AS _cal_button WITH ; + Height = 17, ; + Left = 110, ; + Name = "btnButton_5", ; + TabIndex = 5, ; + Tag = "0,12", ; + Top = 48, ; + Width = 26, ; + LBLBUTTON.Name = "LBLBUTTON", ; + btnButton.Name = "btnButton" + *< END OBJECT: ClassLib="_lproperty.vcx" BaseClass="container" /> + + ADD OBJECT 'btnButton_6' AS _cal_button WITH ; + Height = 17, ; + Left = 137, ; + Name = "btnButton_6", ; + TabIndex = 6, ; + Top = 48, ; + Width = 26, ; + LBLBUTTON.Name = "LBLBUTTON", ; + btnButton.Name = "btnButton" + *< END OBJECT: ClassLib="_lproperty.vcx" BaseClass="container" /> + + ADD OBJECT 'btnButton_7' AS _cal_button WITH ; + Height = 17, ; + Left = 164, ; + Name = "btnButton_7", ; + TabIndex = 7, ; + Top = 48, ; + Width = 26, ; + LBLBUTTON.Name = "LBLBUTTON", ; + btnButton.Name = "btnButton" + *< END OBJECT: ClassLib="_lproperty.vcx" BaseClass="container" /> + + ADD OBJECT 'btnButton_8' AS _cal_button WITH ; + Height = 17, ; + Left = 2, ; + Name = "btnButton_8", ; + TabIndex = 8, ; + Top = 66, ; + Width = 26, ; + LBLBUTTON.Name = "LBLBUTTON", ; + btnButton.Name = "btnButton" + *< END OBJECT: ClassLib="_lproperty.vcx" BaseClass="container" /> + + ADD OBJECT 'btnButton_9' AS _cal_button WITH ; + Height = 17, ; + Left = 29, ; + Name = "btnButton_9", ; + TabIndex = 9, ; + Top = 66, ; + Width = 26, ; + LBLBUTTON.Name = "LBLBUTTON", ; + btnButton.Name = "btnButton" + *< END OBJECT: ClassLib="_lproperty.vcx" BaseClass="container" /> + + ADD OBJECT 'btnNext' AS commandbutton WITH ; + Caption = "„", ; + FontName = "Wingdings 3", ; + FontSize = 8, ; + Height = 20, ; + Left = 175, ; + Name = "btnNext", ; + SpecialEffect = 1, ; + TabIndex = 47, ; + Top = 5, ; + Width = 15 + *< END OBJECT: BaseClass="commandbutton" /> + + ADD OBJECT 'btnPrevious' AS commandbutton WITH ; + Caption = "ƒ", ; + FontName = "Wingdings 3", ; + FontSize = 8, ; + Height = 20, ; + Left = 2, ; + Name = "btnPrevious", ; + SpecialEffect = 1, ; + TabIndex = 44, ; + Top = 5, ; + Width = 15 + *< END OBJECT: BaseClass="commandbutton" /> + + ADD OBJECT 'btnToday' AS commandbutton WITH ; + Caption = "Command1", ; + FontName = "MS Sans Serif", ; + Height = 16, ; + Left = 2, ; + Name = "btnToday", ; + Style = 1, ; + TabIndex = 43, ; + Top = 156, ; + Width = 188 + *< END OBJECT: BaseClass="commandbutton" /> + + ADD OBJECT 'cboMonth' AS combobox WITH ; + FontName = "MS Sans Serif", ; + Height = 20, ; + Left = 19, ; + Margin = 0, ; + Name = "cboMonth", ; + RowSource = "Enero,Febrero,Marzo,Abril,Mayo,Junio,Julio,Agosto,Setiembre,Octubre,Noviembre,Diciembre", ; + RowSourceType = 1, ; + Style = 2, ; + TabIndex = 45, ; + Top = 5, ; + Width = 99 + *< END OBJECT: BaseClass="combobox" /> + + ADD OBJECT 'cusFuncs' AS _functions WITH ; + Height = 15, ; + Left = 3, ; + Name = "cusFuncs", ; + Top = 139, ; + Width = 20 + *< END OBJECT: ClassLib="_lproperty.vcx" BaseClass="custom" /> + + ADD OBJECT 'Label7' AS label WITH ; + AutoSize = .T., ; + BackStyle = 0, ; + Caption = "Hoy:", ; + FontBold = .T., ; + FontName = "MS Sans Serif", ; + Height = 15, ; + Left = 48, ; + Name = "Label7", ; + TabIndex = 55, ; + Top = 157, ; + Width = 29 + *< END OBJECT: BaseClass="label" /> + + ADD OBJECT 'lblTitleDay1' AS label WITH ; + AutoSize = .T., ; + BackStyle = 0, ; + Caption = "D", ; + FontBold = .T., ; + FontName = "MS Sans Serif", ; + ForeColor = 255,255,255, ; + Height = 15, ; + Left = 10, ; + Name = "lblTitleDay1", ; + TabIndex = 48, ; + Top = 32, ; + Width = 12 + *< END OBJECT: BaseClass="label" /> + + ADD OBJECT 'lblTitleDay2' AS label WITH ; + AutoSize = .T., ; + BackStyle = 0, ; + Caption = "L", ; + FontBold = .T., ; + FontName = "MS Sans Serif", ; + ForeColor = 255,255,255, ; + Height = 15, ; + Left = 37, ; + Name = "lblTitleDay2", ; + TabIndex = 49, ; + Top = 32, ; + Width = 10 + *< END OBJECT: BaseClass="label" /> + + ADD OBJECT 'lblTitleDay3' AS label WITH ; + AutoSize = .T., ; + BackStyle = 0, ; + Caption = "M", ; + FontBold = .T., ; + FontName = "MS Sans Serif", ; + ForeColor = 255,255,255, ; + Height = 15, ; + Left = 63, ; + Name = "lblTitleDay3", ; + TabIndex = 50, ; + Top = 32, ; + Width = 13 + *< END OBJECT: BaseClass="label" /> + + ADD OBJECT 'lblTitleDay4' AS label WITH ; + AutoSize = .T., ; + BackStyle = 0, ; + Caption = "M", ; + FontBold = .T., ; + FontName = "MS Sans Serif", ; + ForeColor = 255,255,255, ; + Height = 15, ; + Left = 91, ; + Name = "lblTitleDay4", ; + TabIndex = 51, ; + Top = 32, ; + Width = 13 + *< END OBJECT: BaseClass="label" /> + + ADD OBJECT 'lblTitleDay5' AS label WITH ; + AutoSize = .T., ; + BackStyle = 0, ; + Caption = "J", ; + FontBold = .T., ; + FontName = "MS Sans Serif", ; + ForeColor = 255,255,255, ; + Height = 15, ; + Left = 119, ; + Name = "lblTitleDay5", ; + TabIndex = 52, ; + Top = 32, ; + Width = 9 + *< END OBJECT: BaseClass="label" /> + + ADD OBJECT 'lblTitleDay6' AS label WITH ; + AutoSize = .T., ; + BackStyle = 0, ; + Caption = "V", ; + FontBold = .T., ; + FontName = "MS Sans Serif", ; + ForeColor = 255,255,255, ; + Height = 15, ; + Left = 145, ; + Name = "lblTitleDay6", ; + TabIndex = 53, ; + Top = 32, ; + Width = 11 + *< END OBJECT: BaseClass="label" /> + + ADD OBJECT 'lblTitleDay7' AS label WITH ; + AutoSize = .T., ; + BackStyle = 0, ; + Caption = "S", ; + FontBold = .T., ; + FontName = "MS Sans Serif", ; + ForeColor = 255,255,255, ; + Height = 15, ; + Left = 172, ; + Name = "lblTitleDay7", ; + TabIndex = 54, ; + Top = 32, ; + Width = 11 + *< END OBJECT: BaseClass="label" /> + + ADD OBJECT 'lblToday' AS label WITH ; + AutoSize = .T., ; + BackStyle = 0, ; + Caption = "12/08/2006", ; + FontBold = .T., ; + FontName = "MS Sans Serif", ; + Height = 15, ; + Left = 77, ; + Name = "lblToday", ; + TabIndex = 56, ; + Top = 157, ; + Width = 71 + *< END OBJECT: BaseClass="label" /> + + ADD OBJECT 'shpTitleBar' AS shape WITH ; + BackColor = 128,128,128, ; + BorderStyle = 0, ; + BorderWidth = 0, ; + Height = 17, ; + Left = 2, ; + Name = "shpTitleBar", ; + Top = 30, ; + Width = 188 + *< END OBJECT: BaseClass="shape" /> + + ADD OBJECT 'shpTodaybar' AS shape WITH ; + BackColor = 255,255,255, ; + BorderStyle = 0, ; + Height = 16, ; + Left = 2, ; + Name = "shpTodaybar", ; + Top = 156, ; + Width = 188 + *< END OBJECT: BaseClass="shape" /> + + ADD OBJECT 'spnYear' AS spinner WITH ; + DisabledBackColor = 255,255,255, ; + FontName = "MS Sans Serif", ; + Height = 20, ; + KeyboardHighValue = 3000, ; + KeyboardLowValue = 1900, ; + Left = 120, ; + Margin = 2, ; + Name = "spnYear", ; + SpinnerHighValue = 3000.00, ; + SpinnerLowValue = 1900.00, ; + TabIndex = 46, ; + Top = 5, ; + Width = 53 + *< END OBJECT: BaseClass="spinner" /> + + PROCEDURE buildcalendar + Parameters lPaint, lReference + Local oCollection, sObject, dNext, dFirst, nDow, dDate + This.IsPainted = lPaint + If lPaint + dDate = Iif(Empty(This.Date), Date(), This.Date) + dFirst = Date(Year(dDate), Month(dDate), 1) + nDow = Dow(dFirst) - 1 + dNext = dFirst - nDow + This.LoadHoliDays(dDate) + EndIf + For nIndex = 1 To 42 + */--- Dibuja los dias + sObject = "btnButton_" + Alltrim(Str(nIndex)) + If lPaint + This.&sObject..Caption = Alltrim(Str(Day(dNext))) + This.&sObject..Year = Year(dNext) + This.&sObject..Month = Month(dNext) + This.&sObject..Day = Day(dNext) + This.&sObject..BackColor = Rgb(255,255,255) + This.&sObject..btnButton.ToolTipText = "" + If Month(dNext) # Month(dDate) + This.&sObject..ForeColor = This.cusFuncs.Getcolor(This.ExtradayForeColor) + Else + If This.IsHoliday(dNext) + This.&sObject..ForeColor = This.cusFuncs.Getcolor(This.HolidayForeColor) + This.&sObject..btnButton.ToolTipText = This.GetHolidayTips(dNext) + Else + If Dow(dNext) == 1 + This.&sObject..ForeColor = This.cusFuncs.Getcolor(This.SundayForeColor) + Else + If Dow(dNext) == 7 + This.&sObject..ForeColor = This.cusFuncs.Getcolor(This.SaturdayForeColor) + Else + This.&sObject..ForeColor = This.cusFuncs.Getcolor(This.WeekdayForeColor) + EndIf + EndIf + EndIf + EndIf + If dNext == dDate + If ThisForm.Visible + This.&sObject..Click() + Else + */--- Para el caso de ventanas creadas con CreateObject() + This.DebutObject = This.&sObject. + BindEvent(ThisForm, "Activate", This, "ShowDebut") + EndIf + EndIf + dNext = dNext + 1 + EndIf + */--- Crear referencias de navegación con teclado + If lReference + This.&sObject..UpObject = This.GetReference(nIndex, "UP") + This.&sObject..DownObject = This.GetReference(nIndex, "DOWN") + This.&sObject..LeftObject = This.GetReference(nIndex, "LEFT") + This.&sObject..RightObject = This.GetReference(nIndex, "RIGTH") + EndIf + EndFor + If lReference + */--- Para verificar si se pinto el calendario ; + antes del metodo show() + BindEvent(ThisForm, "Show", This, "Verify") + EndIf + ENDPROC + + PROCEDURE checkday + Parameter zYear, zMonth, zDay + If zDay > 28 + If zMonth = 2 + If (Mod(zYear, 4) = 0 And Mod(zYear, 100) != 0) Or Mod(zYear, 400) = 0 + If zDay > 29 + zDay = 29 + EndIf + Else + If zDay > 28 + zDay = 28 + EndIf + Endif + Else + If !InList(zMonth, 1, 3, 5, 7, 8, 10, 12) + If zDay > 30 + zDay = 30 + EndIf + Endif + Endif + EndIf + Return (zDay) + ENDPROC + + PROCEDURE date_assign + LPARAMETERS dDate + Local sObject, nIndex + dDate = Iif(Empty(dDate), Date(), dDate) + If (Year(dDate) # Year(This.Date) Or Month(dDate) # Month(This.Date)) Or !This.IsPainted + This.Date = dDate + This.spnYear.Value = Year(dDate) + This.cboMonth.ListIndex = Month(dDate) + This.BuildCalendar(.T., .F.) + Else + If Type("This.CurrentObject") == "O" + nIndex = (Dow(Date(Year(dDate), Month(dDate), 1)) - 1) + Day(dDate) + sObject = "btnbutton_" + Alltrim(Str(nIndex)) + If !(Lower(This.CurrentObject.Name) == sObject) + This.&sObject..Click() + EndIf + EndIf + This.Date = dDate + EndIf + + ENDPROC + + PROCEDURE getholidaytips + Parameters dDate + Local sMonth, sResult + sResult = "" + If This.ShowHolidayTips + sIniFile = JustPath(This.ClassLibrary) + "\Holidays.ini" + sMonth = CMonth(dDate) + sTipKey = "Day" + TransForm(Day(dDate), "@L 99") + "Tips" + sResult = This.cusFuncs.IniReadKey(sMonth, sTipKey, sIniFile) + EndIf + Return sResult + ENDPROC + + PROCEDURE getreference + Parameters nPosition, sDirection + Local sObject + Do Case + Case sDirection = "UP" + If nPosition <= 7 + Else + sObject = "btnButton_" + Alltrim(Str(nPosition - 7)) + Return This.&sObject. + EndIf + Case sDirection = "DOWN" + If nPosition >= 36 And nPosition <= 42 + Else + sObject = "btnButton_" + Alltrim(Str(nPosition + 7)) + Return This.&sObject. + EndIf + Case sDirection = "RIGTH" + If Mod(nPosition, 7) = 0 + Else + sObject = "btnButton_" + Alltrim(Str(nPosition + 1)) + Return This.&sObject. + EndIf + Case sDirection = "LEFT" + If nPosition = 1 or Mod(nPosition - 1, 7) = 0 + Else + sObject = "btnButton_" + Alltrim(Str(nPosition - 1)) + Return This.&sObject. + EndIf + EndCase + Return .F. + ENDPROC + + PROCEDURE Init + *------------------------------------------------------------* + *! ___ _ _ ___ _ _ ___ _ ___ !* + *! / __| /_\ | | | __| | \| | | \ /_\ | _ \ !* + *! | (__ / _ \ | |__ | _| | .` | | |) | / _ \ | / !* + *! \___| /_/ \_\ |____| |___| |_|\_| |___/ /_/ \_\ |_|_\ !* + *! !* + *------------------------------------------------------------* + *! Clase _Calendar !* + *! Creado por : Roberto Reátegui Kanashiro !* + *! E-Mail : zerohackx@gmail.com !* + *! Actualizado : 03/09/2006 !* + *! Lugar : Tarapoto - Perú !* + *------------------------------------------------------------* + + This.lblToday.Caption = Dtoc(Date()) + This.BuildCalendar(.F., .T.) + + ENDPROC + + PROCEDURE isholiday + Parameters dDate + Local lResult + lResult = .F. + If This.ShowHolidayTips + If TransForm(Day(dDate), "@L 99") $ This.HoliDayList + lResult = .T. + EndIf + EndIf + Return lResult + ENDPROC + + PROCEDURE loadholidays + Parameters dDate + Local sMonth + If This.ShowHolidayTips + sIniFile = JustPath(This.ClassLibrary) + "\Holidays.ini" + sMonth = Cmonth(dDate) + This.Holidaylist = This.cusFuncs.IniReadKey(sMonth, "Days", sIniFile) + EndIf + Return + + ENDPROC + + PROCEDURE onclick + Parameters dDate + + This.Date = dDate + + ENDPROC + + PROCEDURE showdebut && Muestra un formulario y especifica si dicho formulario es modal o no modal. + UnBindEvents(ThisForm, "Activate", This, "ShowDebut") + This.DebutObject.Click() + This.DebutObject = .F. + ENDPROC + + PROCEDURE verify + Parameters nStyle + + UnBindEvents(ThisForm, "Show", This, "Verify") + If !This.IsPainted + This.Date = Iif(Empty(This.Date), Date(), This.Date) + EndIf + + ENDPROC + + PROCEDURE btnNext.Click + With This.Parent + .Date = Gomonth(.Date, 1) + EndWith + + ENDPROC + + PROCEDURE btnPrevious.Click + With This.Parent + .Date = Gomonth(.Date, -1) + EndWith + ENDPROC + + PROCEDURE btnToday.Click + Local sObject, dDate + With This.Parent + .Date = Ctod(.lblToday.Caption) + EndWith + ENDPROC + + PROCEDURE cboMonth.InteractiveChange + With This.Parent + nDay = .CheckDay(Year(.Date), This.ListIndex, Day(.Date)) + .Date = Date(Year(.Date), This.ListIndex, nDay) + EndWith + ENDPROC + + PROCEDURE spnYear.InteractiveChange + With This.Parent + nDay = .CheckDay(This.Value, Month(.Date), Day(.Date)) + .Date = Date(This.Value, Month(.Date), nDay) + EndWith + ENDPROC + + PROCEDURE spnYear.KeyPress + LPARAMETERS nKeyCode, nShiftAltCtrl + + If Between(nKeyCode, 48, 57) + NoDefault + EndIf + ENDPROC + +ENDDEFINE + +DEFINE CLASS _colorbox AS shape + *< CLASSDATA: Baseclass="shape" Timestamp="" Scale="Pixels" Uniqueid="" ProjectClassIcon="colorbutton.bmp" ClassIcon="colorbutton.bmp" /> + + * + *p: pickcolor + * + + * + Height = 17 + Name = "_colorbox" + pickcolor = .F. + Width = 18 + * + + PROCEDURE MouseDown + LPARAMETERS nButton, nShift, nXCoord, nYCoord + + NoDefault + ENDPROC + + PROCEDURE MouseUp + LPARAMETERS nButton, nShift, nXCoord, nYCoord + + NoDefault + If nButton = 1 + ThisForm.SelectColor(This) + Else + ThisForm.SelectColor(This, This.PickColor) + EndIf + + ENDPROC + +ENDDEFINE + +DEFINE CLASS _functions AS custom + *< CLASSDATA: Baseclass="custom" Timestamp="" Scale="Pixels" Uniqueid="" ProjectClassIcon="library.bmp" ClassIcon="library.bmp" /> + + * + *m: bintorgb + *m: getcolor + *m: getdescfromext + *m: inireadkey + *m: popwindow + *m: readregkey + *m: rgbtobin + *m: rgbtostr + *m: strtorgb + * + + * + Height = 16 + Name = "_functions" + Width = 29 + * + + PROCEDURE bintorgb + Parameters zColor + nResult = Rgb(Asc(Substr(zColor, 1, 1)), ; + Asc(Substr(zColor, 2, 1)), ; + Asc(Substr(zColor, 3, 1))) + Return (nResult) + ENDPROC + + PROCEDURE getcolor + Parameters zColor + sOnError = On("ERROR") + *On Error lError = .T. + Declare Integer GetSysColor In win32api As GetSystemColor Integer + sCommand = GetWordNum(zColor, 1, ":") + sParams = GetWordNum(zColor, 2, ":") + nColor = 0 + Do Case + Case sCommand == "rgb" + nColor = This.StrToRgb(sParams) + Case sCommand == "sys" + nColor = GetSystemColor(Val(sParams)) + Otherwise + nColor = 0 + EndCase + Clear Dlls "GetSystemColor" + On Error + Return (nColor) + ENDPROC + + PROCEDURE getdescfromext + Parameters zString + zString = Lower(zString) + sResult = "" + nCount = GetWordCount(zString, ",") + For nIndex = 1 To nCount + sExtension = GetWordNum(zString, nIndex, ",") + If !Empty(sExtension) + sAppKey = This.ReadRegKey("HKCR\." + sExtension + "\", "") + If !Empty(sAppKey) + sAppDescript = This.ReadRegKey("HKCR\" + sAppKey + "\", "") + sAppDescript = Iif(!Empty(sAppDescript), sAppDescript, "Archivo " + Upper(sExtension)) + sResult = sResult + Alltrim(sAppDescript)+ " (*." + sExtension + "):" + sExtension + ";" + EndIf + EndIf + EndFor + If !Empty(sResult) + sResult = Left(sResult, Len(sResult) - 1) + EndIf + Return sResult + ENDPROC + + PROCEDURE inireadkey + Parameters zSection, zKey, zFile + Local sResult, nLength + Try + Declare Integer GetPrivateProfileString In Win32API As GetPrivStr String cSection, String cKey,; + String cDefault, String @cBuffer, Integer nBufferSize, String cIniFile + sResult = Space(1024) + nLength = GetPrivStr(zSection, zKey, "", @sResult, Len(sResult), zFile) + sResult = Left(sResult, nLength) + Clear Dlls "GetPrivStr" + Catch When .T. + EndTry + Return sResult + ENDPROC + + PROCEDURE Init + *--------------------------------------------------------------------* + *! ___ _ _ _ _ ___ _____ ___ ___ _ _ ___ !* + *! | __| | | | | | \| | / __| |_ _| |_ _| / _ \ | \| | / __| !* + *! | _| | |_| | | .` | | (__ | | | | | (_) | | .` | \__ \ !* + *! |_| \___/ |_|\_| \___| |_| |___| \___/ |_|\_| |___/ !* + *! !* + *--------------------------------------------------------------------* + *! Clase _Functions !* + *! Creado por : Roberto Reátegui Kanashiro !* + *! E-Mail : zerohackx@gmail.com !* + *! Actualizado : 03/09/2006 !* + *! Lugar : Tarapoto - Perú !* + *--------------------------------------------------------------------* + ENDPROC + + PROCEDURE popwindow + PARAMETER sWindow, uParam1, uParam2, uParam3, uParam4, uParam5 + + Local oWindow, uValue + oWindow = CreateObject(sWindow, uParam1, uParam2, uParam3, uParam4, uParam5) + oWindow.Show(1) + uValue = oWindow.RetValue + oWindow.Release() + + Return (uValue) + + ENDPROC + + PROCEDURE readregkey + Parameters sFolder, uDefault + LOCAL uValue, lError + lError = .F. + sError = ON("ERROR") + *On Error lError = .T. + uValue = uDefault + oWinReg = CreateObject("WScript.Shell") + uValue = oWinReg.RegRead(sFolder) + Release oWinReg + On Error &sError. + uValue = Iif(lError, "", uValue) + Return (uValue) + + ENDPROC + + PROCEDURE rgbtobin + Parameters zColor + sValue = Chr(Int(BitAnd(zColor, 0xFF))) + ; + Chr(Int(BitAnd(zColor, 0x100FF00) / 0x100)) + ; + Chr(Int(BitAnd(zColor, 0xFF0000) / 0x10000)) + Return (sValue) + ENDPROC + + PROCEDURE rgbtostr + Parameters zColor + sValue = Str(Int(BitAnd(zColor, 0xFF)), 3) + "," ; + + Str(Int(BitAnd(zColor, 0x100FF00) / 0x100), 3) + "," ; + + Str(Int(BitAnd(zColor, 0xFF0000) / 0x10000), 3) + sValue = Strtran(sValue, " ", "") + Return (sValue) + ENDPROC + + PROCEDURE strtorgb + Parameters zColor + Store 0 To nRed, nGreen, nBlue + If Occurs(",", zColor) = 2 + nColor = Val(GetWordNum(zColor, 1, ",")) + If BetWeen(nColor, 0, 255) + nRed = nColor + EndIf + nColor = Val(GetWordNum(zColor, 2, ",")) + If BetWeen(nColor, 0, 255) + nGreen = nColor + EndIf + nColor = Val(GetWordNum(zColor, 3, ",")) + If BetWeen(nColor, 0, 255) + nBlue = nColor + EndIf + EndIf + Return (Rgb(nRed, nGreen, nBlue)) + ENDPROC + +ENDDEFINE + +DEFINE CLASS _getcolor AS form + *< CLASSDATA: Baseclass="form" Timestamp="" Scale="Pixels" Uniqueid="" ProjectClassIcon="colors.bmp" ClassIcon="colors.bmp" /> + + *-- OBJECTDATA items order determines ZOrder / El orden de los items OBJECTDATA determina el ZOrder + *< OBJECTDATA: ObjPath="pfmPages" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="pfmPages.Page1.shpBox" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="pfmPages.Page1.shpSelector" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="pfmPages.Page1.shpPattern1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="pfmPages.Page1.shpPattern9" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="pfmPages.Page1.shpPattern17" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="pfmPages.Page1.shpPattern25" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="pfmPages.Page1.shpPattern33" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="pfmPages.Page1.shpPattern41" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="pfmPages.Page1.shpCustom1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="pfmPages.Page1.shpPattern2" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="pfmPages.Page1.shpPattern10" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="pfmPages.Page1.shpPattern18" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="pfmPages.Page1.shpPattern26" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="pfmPages.Page1.shpPattern34" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="pfmPages.Page1.shpPattern42" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="pfmPages.Page1.shpCustom2" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="pfmPages.Page1.shpPattern3" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="pfmPages.Page1.shpPattern11" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="pfmPages.Page1.shpPattern19" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="pfmPages.Page1.shpPattern27" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="pfmPages.Page1.shpPattern35" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="pfmPages.Page1.shpPattern43" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="pfmPages.Page1.shpCustom3" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="pfmPages.Page1.shpPattern4" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="pfmPages.Page1.shpPattern12" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="pfmPages.Page1.shpPattern20" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="pfmPages.Page1.shpPattern28" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="pfmPages.Page1.shpPattern36" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="pfmPages.Page1.shpPattern44" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="pfmPages.Page1.shpCustom4" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="pfmPages.Page1.shpPattern5" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="pfmPages.Page1.shpPattern13" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="pfmPages.Page1.shpPattern21" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="pfmPages.Page1.shpPattern29" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="pfmPages.Page1.shpPattern37" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="pfmPages.Page1.shpPattern45" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="pfmPages.Page1.shpCustom5" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="pfmPages.Page1.shpPattern6" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="pfmPages.Page1.shpPattern14" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="pfmPages.Page1.shpPattern22" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="pfmPages.Page1.shpPattern30" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="pfmPages.Page1.shpPattern38" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="pfmPages.Page1.shpPattern46" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="pfmPages.Page1.shpCustom6" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="pfmPages.Page1.shpPattern7" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="pfmPages.Page1.shpPattern15" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="pfmPages.Page1.shpPattern23" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="pfmPages.Page1.shpPattern31" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="pfmPages.Page1.shpPattern39" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="pfmPages.Page1.shpPattern47" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="pfmPages.Page1.shpCustom7" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="pfmPages.Page1.shpPattern8" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="pfmPages.Page1.shpPattern16" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="pfmPages.Page1.shpPattern24" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="pfmPages.Page1.shpPattern32" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="pfmPages.Page1.shpPattern40" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="pfmPages.Page1.shpPattern48" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="pfmPages.Page1.shpCustom8" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="pfmPages.Page1.shpCustom9" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="pfmPages.Page1.shpCustom10" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="pfmPages.Page1.shpCustom11" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="pfmPages.Page1.shpCustom12" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="pfmPages.Page1.shpCustom13" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="pfmPages.Page1.shpCustom14" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="pfmPages.Page1.shpCustom15" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="pfmPages.Page1.shpCustom16" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="pfmPages.Page2.lstSysColors" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="pfmPages.Page2.shpSelector" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="btnOk" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="btnCancel" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="cusFuncs" UniqueID="" Timestamp="" /> + + * + *m: buildspecialwindow + *m: loadcustomcolors + *m: loadsyscolors + *m: locatecolor + *m: savecustomcolors + *m: selectcolor + *p: defaultcolor + *p: retvalue + * + + * + AutoCenter = .T. + BorderStyle = 2 + Caption = "Paleta de Colores" + defaultcolor = + DoCreate = .T. + FontName = "MS Sans Serif" + Height = 207 + Icon = colors.ico + MaxButton = .F. + MinButton = .F. + Name = "_getcolor" + retvalue = + Width = 245 + WindowType = 1 + * + + ADD OBJECT 'btnCancel' AS commandbutton WITH ; + Cancel = .T., ; + Caption = "\ + + ADD OBJECT 'btnOk' AS commandbutton WITH ; + Caption = "\ + + ADD OBJECT 'cusFuncs' AS _functions WITH ; + Height = 16, ; + Left = 3, ; + Name = "cusFuncs", ; + Top = 189, ; + Width = 18 + *< END OBJECT: ClassLib="_lproperty.vcx" BaseClass="custom" /> + + ADD OBJECT 'pfmPages' AS pageframe WITH ; + ErasePage = .T., ; + Height = 178, ; + Left = 2, ; + Name = "pfmPages", ; + PageCount = 2, ; + TabIndex = 1, ; + TabStretch = 1, ; + TabStyle = 1, ; + Top = 2, ; + Width = 242, ; + Page1.Caption = "Paleta", ; + Page1.FontName = "MS Sans Serif", ; + Page1.Name = "Page1", ; + Page2.Caption = "Sistema", ; + Page2.FontName = "MS Sans Serif", ; + Page2.Name = "Page2" + *< END OBJECT: BaseClass="pageframe" /> + + ADD OBJECT 'pfmPages.Page1.shpBox' AS shape WITH ; + BackColor = 128,128,128, ; + BackStyle = 1, ; + Height = 139, ; + Left = 6, ; + Name = "shpBox", ; + Top = 6, ; + Width = 139 + *< END OBJECT: BaseClass="shape" /> + + ADD OBJECT 'pfmPages.Page1.shpCustom1' AS _colorbox WITH ; + BackColor = 255,255,255, ; + BackStyle = 1, ; + Height = 16, ; + Left = 8, ; + Name = "shpCustom1", ; + pickcolor = .T., ; + Top = 110, ; + Width = 16 + *< END OBJECT: ClassLib="_lproperty.vcx" BaseClass="shape" /> + + ADD OBJECT 'pfmPages.Page1.shpCustom10' AS _colorbox WITH ; + BackColor = 255,255,255, ; + BackStyle = 1, ; + Height = 16, ; + Left = 25, ; + Name = "shpCustom10", ; + pickcolor = .T., ; + Top = 127, ; + Width = 16 + *< END OBJECT: ClassLib="_lproperty.vcx" BaseClass="shape" /> + + ADD OBJECT 'pfmPages.Page1.shpCustom11' AS _colorbox WITH ; + BackColor = 255,255,255, ; + BackStyle = 1, ; + Height = 16, ; + Left = 42, ; + Name = "shpCustom11", ; + pickcolor = .T., ; + Top = 127, ; + Width = 16 + *< END OBJECT: ClassLib="_lproperty.vcx" BaseClass="shape" /> + + ADD OBJECT 'pfmPages.Page1.shpCustom12' AS _colorbox WITH ; + BackColor = 255,255,255, ; + BackStyle = 1, ; + Height = 16, ; + Left = 59, ; + Name = "shpCustom12", ; + pickcolor = .T., ; + Top = 127, ; + Width = 16 + *< END OBJECT: ClassLib="_lproperty.vcx" BaseClass="shape" /> + + ADD OBJECT 'pfmPages.Page1.shpCustom13' AS _colorbox WITH ; + BackColor = 255,255,255, ; + BackStyle = 1, ; + Height = 16, ; + Left = 76, ; + Name = "shpCustom13", ; + pickcolor = .T., ; + Top = 127, ; + Width = 16 + *< END OBJECT: ClassLib="_lproperty.vcx" BaseClass="shape" /> + + ADD OBJECT 'pfmPages.Page1.shpCustom14' AS _colorbox WITH ; + BackColor = 255,255,255, ; + BackStyle = 1, ; + Height = 16, ; + Left = 93, ; + Name = "shpCustom14", ; + pickcolor = .T., ; + Top = 127, ; + Width = 16 + *< END OBJECT: ClassLib="_lproperty.vcx" BaseClass="shape" /> + + ADD OBJECT 'pfmPages.Page1.shpCustom15' AS _colorbox WITH ; + BackColor = 255,255,255, ; + BackStyle = 1, ; + Height = 16, ; + Left = 110, ; + Name = "shpCustom15", ; + pickcolor = .T., ; + Top = 127, ; + Width = 16 + *< END OBJECT: ClassLib="_lproperty.vcx" BaseClass="shape" /> + + ADD OBJECT 'pfmPages.Page1.shpCustom16' AS _colorbox WITH ; + BackColor = 255,255,255, ; + BackStyle = 1, ; + Height = 16, ; + Left = 127, ; + Name = "shpCustom16", ; + pickcolor = .T., ; + Top = 127, ; + Width = 16 + *< END OBJECT: ClassLib="_lproperty.vcx" BaseClass="shape" /> + + ADD OBJECT 'pfmPages.Page1.shpCustom2' AS _colorbox WITH ; + BackColor = 255,255,255, ; + BackStyle = 1, ; + Height = 16, ; + Left = 25, ; + Name = "shpCustom2", ; + pickcolor = .T., ; + Top = 110, ; + Width = 16 + *< END OBJECT: ClassLib="_lproperty.vcx" BaseClass="shape" /> + + ADD OBJECT 'pfmPages.Page1.shpCustom3' AS _colorbox WITH ; + BackColor = 255,255,255, ; + BackStyle = 1, ; + Height = 16, ; + Left = 42, ; + Name = "shpCustom3", ; + pickcolor = .T., ; + Top = 110, ; + Width = 16 + *< END OBJECT: ClassLib="_lproperty.vcx" BaseClass="shape" /> + + ADD OBJECT 'pfmPages.Page1.shpCustom4' AS _colorbox WITH ; + BackColor = 255,255,255, ; + BackStyle = 1, ; + Height = 16, ; + Left = 59, ; + Name = "shpCustom4", ; + pickcolor = .T., ; + Top = 110, ; + Width = 16 + *< END OBJECT: ClassLib="_lproperty.vcx" BaseClass="shape" /> + + ADD OBJECT 'pfmPages.Page1.shpCustom5' AS _colorbox WITH ; + BackColor = 255,255,255, ; + BackStyle = 1, ; + Height = 16, ; + Left = 76, ; + Name = "shpCustom5", ; + pickcolor = .T., ; + Top = 110, ; + Width = 16 + *< END OBJECT: ClassLib="_lproperty.vcx" BaseClass="shape" /> + + ADD OBJECT 'pfmPages.Page1.shpCustom6' AS _colorbox WITH ; + BackColor = 255,255,255, ; + BackStyle = 1, ; + Height = 16, ; + Left = 93, ; + Name = "shpCustom6", ; + pickcolor = .T., ; + Top = 110, ; + Width = 16 + *< END OBJECT: ClassLib="_lproperty.vcx" BaseClass="shape" /> + + ADD OBJECT 'pfmPages.Page1.shpCustom7' AS _colorbox WITH ; + BackColor = 255,255,255, ; + BackStyle = 1, ; + Height = 16, ; + Left = 110, ; + Name = "shpCustom7", ; + pickcolor = .T., ; + Top = 110, ; + Width = 16 + *< END OBJECT: ClassLib="_lproperty.vcx" BaseClass="shape" /> + + ADD OBJECT 'pfmPages.Page1.shpCustom8' AS _colorbox WITH ; + BackColor = 255,255,255, ; + BackStyle = 1, ; + Height = 16, ; + Left = 127, ; + Name = "shpCustom8", ; + pickcolor = .T., ; + Top = 110, ; + Width = 16 + *< END OBJECT: ClassLib="_lproperty.vcx" BaseClass="shape" /> + + ADD OBJECT 'pfmPages.Page1.shpCustom9' AS _colorbox WITH ; + BackColor = 255,255,255, ; + BackStyle = 1, ; + Height = 16, ; + Left = 8, ; + Name = "shpCustom9", ; + pickcolor = .T., ; + Top = 127, ; + Width = 16 + *< END OBJECT: ClassLib="_lproperty.vcx" BaseClass="shape" /> + + ADD OBJECT 'pfmPages.Page1.shpPattern1' AS _colorbox WITH ; + BackColor = 255,255,255, ; + BackStyle = 1, ; + Height = 16, ; + Left = 8, ; + Name = "shpPattern1", ; + Top = 8, ; + Width = 16 + *< END OBJECT: ClassLib="_lproperty.vcx" BaseClass="shape" /> + + ADD OBJECT 'pfmPages.Page1.shpPattern10' AS _colorbox WITH ; + BackColor = 255,128,128, ; + BackStyle = 1, ; + Height = 16, ; + Left = 25, ; + Name = "shpPattern10", ; + Top = 25, ; + Width = 16 + *< END OBJECT: ClassLib="_lproperty.vcx" BaseClass="shape" /> + + ADD OBJECT 'pfmPages.Page1.shpPattern11' AS _colorbox WITH ; + BackColor = 255,192,128, ; + BackStyle = 1, ; + Height = 16, ; + Left = 42, ; + Name = "shpPattern11", ; + Top = 25, ; + Width = 16 + *< END OBJECT: ClassLib="_lproperty.vcx" BaseClass="shape" /> + + ADD OBJECT 'pfmPages.Page1.shpPattern12' AS _colorbox WITH ; + BackColor = 255,255,128, ; + BackStyle = 1, ; + Height = 16, ; + Left = 59, ; + Name = "shpPattern12", ; + Top = 25, ; + Width = 16 + *< END OBJECT: ClassLib="_lproperty.vcx" BaseClass="shape" /> + + ADD OBJECT 'pfmPages.Page1.shpPattern13' AS _colorbox WITH ; + BackColor = 128,255,128, ; + BackStyle = 1, ; + Height = 16, ; + Left = 76, ; + Name = "shpPattern13", ; + Top = 25, ; + Width = 16 + *< END OBJECT: ClassLib="_lproperty.vcx" BaseClass="shape" /> + + ADD OBJECT 'pfmPages.Page1.shpPattern14' AS _colorbox WITH ; + BackColor = 128,255,255, ; + BackStyle = 1, ; + Height = 16, ; + Left = 93, ; + Name = "shpPattern14", ; + Top = 25, ; + Width = 16 + *< END OBJECT: ClassLib="_lproperty.vcx" BaseClass="shape" /> + + ADD OBJECT 'pfmPages.Page1.shpPattern15' AS _colorbox WITH ; + BackColor = 128,128,255, ; + BackStyle = 1, ; + Height = 16, ; + Left = 110, ; + Name = "shpPattern15", ; + Top = 25, ; + Width = 16 + *< END OBJECT: ClassLib="_lproperty.vcx" BaseClass="shape" /> + + ADD OBJECT 'pfmPages.Page1.shpPattern16' AS _colorbox WITH ; + BackColor = 255,128,255, ; + BackStyle = 1, ; + Height = 16, ; + Left = 127, ; + Name = "shpPattern16", ; + Top = 25, ; + Width = 16 + *< END OBJECT: ClassLib="_lproperty.vcx" BaseClass="shape" /> + + ADD OBJECT 'pfmPages.Page1.shpPattern17' AS _colorbox WITH ; + BackColor = 192,192,192, ; + BackStyle = 1, ; + Height = 16, ; + Left = 8, ; + Name = "shpPattern17", ; + Top = 42, ; + Width = 16 + *< END OBJECT: ClassLib="_lproperty.vcx" BaseClass="shape" /> + + ADD OBJECT 'pfmPages.Page1.shpPattern18' AS _colorbox WITH ; + BackColor = 255,0,0, ; + BackStyle = 1, ; + Height = 16, ; + Left = 25, ; + Name = "shpPattern18", ; + Top = 42, ; + Width = 16 + *< END OBJECT: ClassLib="_lproperty.vcx" BaseClass="shape" /> + + ADD OBJECT 'pfmPages.Page1.shpPattern19' AS _colorbox WITH ; + BackColor = 255,128,0, ; + BackStyle = 1, ; + Height = 16, ; + Left = 42, ; + Name = "shpPattern19", ; + Top = 42, ; + Width = 16 + *< END OBJECT: ClassLib="_lproperty.vcx" BaseClass="shape" /> + + ADD OBJECT 'pfmPages.Page1.shpPattern2' AS _colorbox WITH ; + BackColor = 255,192,192, ; + BackStyle = 1, ; + Height = 16, ; + Left = 25, ; + Name = "shpPattern2", ; + Top = 8, ; + Width = 16 + *< END OBJECT: ClassLib="_lproperty.vcx" BaseClass="shape" /> + + ADD OBJECT 'pfmPages.Page1.shpPattern20' AS _colorbox WITH ; + BackColor = 255,255,0, ; + BackStyle = 1, ; + Height = 16, ; + Left = 59, ; + Name = "shpPattern20", ; + Top = 42, ; + Width = 16 + *< END OBJECT: ClassLib="_lproperty.vcx" BaseClass="shape" /> + + ADD OBJECT 'pfmPages.Page1.shpPattern21' AS _colorbox WITH ; + BackColor = 0,255,0, ; + BackStyle = 1, ; + Height = 16, ; + Left = 76, ; + Name = "shpPattern21", ; + Top = 42, ; + Width = 16 + *< END OBJECT: ClassLib="_lproperty.vcx" BaseClass="shape" /> + + ADD OBJECT 'pfmPages.Page1.shpPattern22' AS _colorbox WITH ; + BackColor = 0,255,255, ; + BackStyle = 1, ; + Height = 16, ; + Left = 93, ; + Name = "shpPattern22", ; + Top = 42, ; + Width = 16 + *< END OBJECT: ClassLib="_lproperty.vcx" BaseClass="shape" /> + + ADD OBJECT 'pfmPages.Page1.shpPattern23' AS _colorbox WITH ; + BackColor = 0,0,255, ; + BackStyle = 1, ; + Height = 16, ; + Left = 110, ; + Name = "shpPattern23", ; + Top = 42, ; + Width = 16 + *< END OBJECT: ClassLib="_lproperty.vcx" BaseClass="shape" /> + + ADD OBJECT 'pfmPages.Page1.shpPattern24' AS _colorbox WITH ; + BackColor = 255,0,255, ; + BackStyle = 1, ; + Height = 16, ; + Left = 127, ; + Name = "shpPattern24", ; + Top = 42, ; + Width = 16 + *< END OBJECT: ClassLib="_lproperty.vcx" BaseClass="shape" /> + + ADD OBJECT 'pfmPages.Page1.shpPattern25' AS _colorbox WITH ; + BackColor = 128,128,128, ; + BackStyle = 1, ; + Height = 16, ; + Left = 8, ; + Name = "shpPattern25", ; + Top = 59, ; + Width = 16 + *< END OBJECT: ClassLib="_lproperty.vcx" BaseClass="shape" /> + + ADD OBJECT 'pfmPages.Page1.shpPattern26' AS _colorbox WITH ; + BackColor = 192,0,0, ; + BackStyle = 1, ; + Height = 16, ; + Left = 25, ; + Name = "shpPattern26", ; + Top = 59, ; + Width = 16 + *< END OBJECT: ClassLib="_lproperty.vcx" BaseClass="shape" /> + + ADD OBJECT 'pfmPages.Page1.shpPattern27' AS _colorbox WITH ; + BackColor = 192,64,0, ; + BackStyle = 1, ; + Height = 16, ; + Left = 42, ; + Name = "shpPattern27", ; + Top = 59, ; + Width = 16 + *< END OBJECT: ClassLib="_lproperty.vcx" BaseClass="shape" /> + + ADD OBJECT 'pfmPages.Page1.shpPattern28' AS _colorbox WITH ; + BackColor = 192,192,0, ; + BackStyle = 1, ; + Height = 16, ; + Left = 59, ; + Name = "shpPattern28", ; + Top = 59, ; + Width = 16 + *< END OBJECT: ClassLib="_lproperty.vcx" BaseClass="shape" /> + + ADD OBJECT 'pfmPages.Page1.shpPattern29' AS _colorbox WITH ; + BackColor = 0,192,0, ; + BackStyle = 1, ; + Height = 16, ; + Left = 76, ; + Name = "shpPattern29", ; + Top = 59, ; + Width = 16 + *< END OBJECT: ClassLib="_lproperty.vcx" BaseClass="shape" /> + + ADD OBJECT 'pfmPages.Page1.shpPattern3' AS _colorbox WITH ; + BackColor = 255,224,192, ; + BackStyle = 1, ; + Height = 16, ; + Left = 42, ; + Name = "shpPattern3", ; + Top = 8, ; + Width = 16 + *< END OBJECT: ClassLib="_lproperty.vcx" BaseClass="shape" /> + + ADD OBJECT 'pfmPages.Page1.shpPattern30' AS _colorbox WITH ; + BackColor = 0,192,192, ; + BackStyle = 1, ; + Height = 16, ; + Left = 93, ; + Name = "shpPattern30", ; + Top = 59, ; + Width = 16 + *< END OBJECT: ClassLib="_lproperty.vcx" BaseClass="shape" /> + + ADD OBJECT 'pfmPages.Page1.shpPattern31' AS _colorbox WITH ; + BackColor = 0,0,192, ; + BackStyle = 1, ; + Height = 16, ; + Left = 110, ; + Name = "shpPattern31", ; + Top = 59, ; + Width = 16 + *< END OBJECT: ClassLib="_lproperty.vcx" BaseClass="shape" /> + + ADD OBJECT 'pfmPages.Page1.shpPattern32' AS _colorbox WITH ; + BackColor = 192,0,192, ; + BackStyle = 1, ; + Height = 16, ; + Left = 127, ; + Name = "shpPattern32", ; + Top = 59, ; + Width = 16 + *< END OBJECT: ClassLib="_lproperty.vcx" BaseClass="shape" /> + + ADD OBJECT 'pfmPages.Page1.shpPattern33' AS _colorbox WITH ; + BackColor = 64,64,64, ; + BackStyle = 1, ; + Height = 16, ; + Left = 8, ; + Name = "shpPattern33", ; + Top = 76, ; + Width = 16 + *< END OBJECT: ClassLib="_lproperty.vcx" BaseClass="shape" /> + + ADD OBJECT 'pfmPages.Page1.shpPattern34' AS _colorbox WITH ; + BackColor = 128,0,0, ; + BackStyle = 1, ; + Height = 16, ; + Left = 25, ; + Name = "shpPattern34", ; + Top = 76, ; + Width = 16 + *< END OBJECT: ClassLib="_lproperty.vcx" BaseClass="shape" /> + + ADD OBJECT 'pfmPages.Page1.shpPattern35' AS _colorbox WITH ; + BackColor = 128,64,0, ; + BackStyle = 1, ; + Height = 16, ; + Left = 42, ; + Name = "shpPattern35", ; + Top = 76, ; + Width = 16 + *< END OBJECT: ClassLib="_lproperty.vcx" BaseClass="shape" /> + + ADD OBJECT 'pfmPages.Page1.shpPattern36' AS _colorbox WITH ; + BackColor = 128,128,0, ; + BackStyle = 1, ; + Height = 16, ; + Left = 59, ; + Name = "shpPattern36", ; + Top = 76, ; + Width = 16 + *< END OBJECT: ClassLib="_lproperty.vcx" BaseClass="shape" /> + + ADD OBJECT 'pfmPages.Page1.shpPattern37' AS _colorbox WITH ; + BackColor = 0,128,0, ; + BackStyle = 1, ; + Height = 16, ; + Left = 76, ; + Name = "shpPattern37", ; + Top = 76, ; + Width = 16 + *< END OBJECT: ClassLib="_lproperty.vcx" BaseClass="shape" /> + + ADD OBJECT 'pfmPages.Page1.shpPattern38' AS _colorbox WITH ; + BackColor = 0,128,128, ; + BackStyle = 1, ; + Height = 16, ; + Left = 93, ; + Name = "shpPattern38", ; + Top = 76, ; + Width = 16 + *< END OBJECT: ClassLib="_lproperty.vcx" BaseClass="shape" /> + + ADD OBJECT 'pfmPages.Page1.shpPattern39' AS _colorbox WITH ; + BackColor = 0,0,128, ; + BackStyle = 1, ; + Height = 16, ; + Left = 110, ; + Name = "shpPattern39", ; + Top = 76, ; + Width = 16 + *< END OBJECT: ClassLib="_lproperty.vcx" BaseClass="shape" /> + + ADD OBJECT 'pfmPages.Page1.shpPattern4' AS _colorbox WITH ; + BackColor = 255,255,192, ; + BackStyle = 1, ; + Height = 16, ; + Left = 59, ; + Name = "shpPattern4", ; + Top = 8, ; + Width = 16 + *< END OBJECT: ClassLib="_lproperty.vcx" BaseClass="shape" /> + + ADD OBJECT 'pfmPages.Page1.shpPattern40' AS _colorbox WITH ; + BackColor = 128,0,128, ; + BackStyle = 1, ; + Height = 16, ; + Left = 127, ; + Name = "shpPattern40", ; + Top = 76, ; + Width = 16 + *< END OBJECT: ClassLib="_lproperty.vcx" BaseClass="shape" /> + + ADD OBJECT 'pfmPages.Page1.shpPattern41' AS _colorbox WITH ; + BackColor = 0,0,0, ; + BackStyle = 1, ; + Height = 16, ; + Left = 8, ; + Name = "shpPattern41", ; + Top = 93, ; + Width = 16 + *< END OBJECT: ClassLib="_lproperty.vcx" BaseClass="shape" /> + + ADD OBJECT 'pfmPages.Page1.shpPattern42' AS _colorbox WITH ; + BackColor = 64,0,0, ; + BackStyle = 1, ; + Height = 16, ; + Left = 25, ; + Name = "shpPattern42", ; + Top = 93, ; + Width = 16 + *< END OBJECT: ClassLib="_lproperty.vcx" BaseClass="shape" /> + + ADD OBJECT 'pfmPages.Page1.shpPattern43' AS _colorbox WITH ; + BackColor = 128,64,64, ; + BackStyle = 1, ; + Height = 16, ; + Left = 42, ; + Name = "shpPattern43", ; + Top = 93, ; + Width = 16 + *< END OBJECT: ClassLib="_lproperty.vcx" BaseClass="shape" /> + + ADD OBJECT 'pfmPages.Page1.shpPattern44' AS _colorbox WITH ; + BackColor = 64,64,0, ; + BackStyle = 1, ; + Height = 16, ; + Left = 59, ; + Name = "shpPattern44", ; + Top = 93, ; + Width = 16 + *< END OBJECT: ClassLib="_lproperty.vcx" BaseClass="shape" /> + + ADD OBJECT 'pfmPages.Page1.shpPattern45' AS _colorbox WITH ; + BackColor = 0,64,0, ; + BackStyle = 1, ; + Height = 16, ; + Left = 76, ; + Name = "shpPattern45", ; + Top = 93, ; + Width = 16 + *< END OBJECT: ClassLib="_lproperty.vcx" BaseClass="shape" /> + + ADD OBJECT 'pfmPages.Page1.shpPattern46' AS _colorbox WITH ; + BackColor = 0,64,64, ; + BackStyle = 1, ; + Height = 16, ; + Left = 93, ; + Name = "shpPattern46", ; + Top = 93, ; + Width = 16 + *< END OBJECT: ClassLib="_lproperty.vcx" BaseClass="shape" /> + + ADD OBJECT 'pfmPages.Page1.shpPattern47' AS _colorbox WITH ; + BackColor = 0,0,64, ; + BackStyle = 1, ; + Height = 16, ; + Left = 110, ; + Name = "shpPattern47", ; + Top = 93, ; + Width = 16 + *< END OBJECT: ClassLib="_lproperty.vcx" BaseClass="shape" /> + + ADD OBJECT 'pfmPages.Page1.shpPattern48' AS _colorbox WITH ; + BackColor = 64,0,64, ; + BackStyle = 1, ; + Height = 16, ; + Left = 127, ; + Name = "shpPattern48", ; + Top = 93, ; + Width = 16 + *< END OBJECT: ClassLib="_lproperty.vcx" BaseClass="shape" /> + + ADD OBJECT 'pfmPages.Page1.shpPattern5' AS _colorbox WITH ; + BackColor = 192,255,192, ; + BackStyle = 1, ; + Height = 16, ; + Left = 76, ; + Name = "shpPattern5", ; + Top = 8, ; + Width = 16 + *< END OBJECT: ClassLib="_lproperty.vcx" BaseClass="shape" /> + + ADD OBJECT 'pfmPages.Page1.shpPattern6' AS _colorbox WITH ; + BackColor = 192,255,255, ; + BackStyle = 1, ; + Height = 16, ; + Left = 93, ; + Name = "shpPattern6", ; + Top = 8, ; + Width = 16 + *< END OBJECT: ClassLib="_lproperty.vcx" BaseClass="shape" /> + + ADD OBJECT 'pfmPages.Page1.shpPattern7' AS _colorbox WITH ; + BackColor = 192,192,255, ; + BackStyle = 1, ; + Height = 16, ; + Left = 110, ; + Name = "shpPattern7", ; + Top = 8, ; + Width = 16 + *< END OBJECT: ClassLib="_lproperty.vcx" BaseClass="shape" /> + + ADD OBJECT 'pfmPages.Page1.shpPattern8' AS _colorbox WITH ; + BackColor = 255,192,255, ; + BackStyle = 1, ; + Height = 16, ; + Left = 127, ; + Name = "shpPattern8", ; + Top = 8, ; + Width = 16 + *< END OBJECT: ClassLib="_lproperty.vcx" BaseClass="shape" /> + + ADD OBJECT 'pfmPages.Page1.shpPattern9' AS _colorbox WITH ; + BackColor = 224,224,224, ; + BackStyle = 1, ; + Height = 16, ; + Left = 8, ; + Name = "shpPattern9", ; + Top = 25, ; + Width = 16 + *< END OBJECT: ClassLib="_lproperty.vcx" BaseClass="shape" /> + + ADD OBJECT 'pfmPages.Page1.shpSelector' AS shape WITH ; + BackStyle = 0, ; + BorderColor = 255,255,255, ; + Height = 16, ; + Left = 148, ; + Name = "shpSelector", ; + Top = 75, ; + Visible = .F., ; + Width = 16 + *< END OBJECT: BaseClass="shape" /> + + ADD OBJECT 'pfmPages.Page2.lstSysColors' AS listbox WITH ; + FontName = "MS Sans Serif", ; + Height = 121, ; + Left = 5, ; + Name = "lstSysColors", ; + Top = 5, ; + Width = 229 + *< END OBJECT: BaseClass="listbox" /> + + ADD OBJECT 'pfmPages.Page2.shpSelector' AS shape WITH ; + Height = 19, ; + Left = 5, ; + Name = "shpSelector", ; + SpecialEffect = 0, ; + Top = 129, ; + Width = 229 + *< END OBJECT: BaseClass="shape" /> + + PROCEDURE buildspecialwindow + Parameters nXCoord, nYCoord + + This.TitleBar = 0 + This.BorderStyle = 1 + This.WindowType = 0 + This.HalfHeightCaption = .F. + + With This + .PfmPages.Top = 0 + .pfmPages.Left = 0 + .Width = .pfmPages.Width + 1 + .Height = .pfmPages.Height + 1 + .Top = nXCoord + .Left = nYCoord - .Width + .btnOk.Visible = .F. + .btnCancel.Visible = .F. + EndWith + ENDPROC + + PROCEDURE Init + *-------------------------------------------------------------* + *! ___ ___ _____ ___ ___ _ ___ ___ !* + *! / __| | __| |_ _| / __| / _ \ | | / _ \ | _ \ !* + *! | (_ | | _| | | | (__ | (_) | | |__ | (_) | | / !* + *! \___| |___| |_| \___| \___/ |____| \___/ |_|_\ !* + *! !* + *-------------------------------------------------------------* + *! Clase _GetColor !* + *! Creado por : Roberto Reátegui Kanashiro !* + *! E-Mail : zerohackx@gmail.com !* + *! Actualizado : 03/09/2006 !* + *! Lugar : Tarapoto - Perú !* + *-------------------------------------------------------------* + Parameters uParam1, uParam2, uParam3, uParam4, uParam5 + + */--- Color por defecto + This.DefaultColor = uParam1 + + */--- Cargar colores personalizados + This.LoadCustomColors() + + sParam = GetWordNum(uParam1, 1, ":") + nIndex = 1 + If sParam == "rgb" + This.LocateColor(This.cusFuncs.GetColor(uParam1)) + Else + This.pfmPages.ActivePage = 2 + nIndex = Val(GetWordNum(uParam1, 2, ":")) + 1 + EndIf + + */--- Cargar colores del sistema + This.LoadSysColors(nIndex) + ENDPROC + + PROCEDURE loadcustomcolors + sCustom = "" + sFileColors = JustPath(This.ClassLibrary) + "\custom.pal" + With This.pfmPages.Page1 + Try + sCustom = FileToStr(sFileColors) + nCount = Len(sCustom) + nIndex = 1 + For nItem = 1 To nCount Step 3 + sBinColor = Substr(sCustom, nItem, 3) + sObject = "shpcustom" + Alltrim(Str(nIndex)) + .&sObject..BackColor = This.cusFuncs.BinToRgb(sBinColor) + nIndex = nIndex + 1 + EndFor + Catch When .T. + EndTry + EndWith + + ENDPROC + + PROCEDURE loadsyscolors + Parameters nIndex + + With This.pfmPages.Page2 + .lstSysColors.AddItem("Barra de desplazamiento") + .lstSysColors.AddItem("Escritorio") + .lstSysColors.AddItem("Barra de titulo activa") + .lstSysColors.AddItem("Barra de titulo inactiva") + .lstSysColors.AddItem("Menú") + .lstSysColors.AddItem("Fondo de la ventana") + .lstSysColors.AddItem("Marco de la ventana") + .lstSysColors.AddItem("Texto del menú") + .lstSysColors.AddItem("Texto de la ventana") + .lstSysColors.AddItem("Texto de la barra de titulo activa") + .lstSysColors.AddItem("Borde de ventana activa") + .lstSysColors.AddItem("Borde de ventana inactiva") + .lstSysColors.AddItem("Fondo de la aplicacion") + .lstSysColors.AddItem("Resalte") + .lstSysColors.AddItem("Resalte del texto") + .lstSysColors.AddItem("Cara del botón") + .lstSysColors.AddItem("Sombra del botón") + .lstSysColors.AddItem("Texto deshabilitado") + .lstSysColors.AddItem("Texto del botón") + .lstSysColors.AddItem("Texto de la barra de título inactiva") + .lstSysColors.AddItem("Resalte del botón") + .lstSysColors.AddItem("Sombra oscura del botón") + .lstSysColors.AddItem("Sombra iluminada del botón") + .lstSysColors.AddItem("Texto de información sobre herramientas") + .lstSysColors.AddItem("Ventana de Información") + .lstSysColors.ListIndex = nIndex + .lstSysColors.InterActiveChange() + EndWith + + ENDPROC + + PROCEDURE locatecolor + Parameters nColor, sCustom + On Error lError = .T. + With This.pfmPages.Page1 + For Each oRef In .Controls + If oRef.Class = "_colorbox" And oRef.BackColor = nColor + This.SelectColor(oRef) + Exit For + EndIf + EndFor + EndWith + On Error + ENDPROC + + PROCEDURE QueryUnload + NoDefault + This.btnCancel.Click() + ENDPROC + + PROCEDURE savecustomcolors + Set Safety Off + sFileColors = JustPath(This.ClassLibrary) + "\custom.pal" + With This.pfmPages.Page1 + sBuffer = "" + For nIndex = 1 To 16 + sObject = "shpcustom" + Alltrim(Str(nIndex)) + sBuffer = sBuffer + This.cusFuncs.RgbToBin(.&sObject..BackColor) + EndFor + StrToFile(sBuffer, sFileColors) + EndWith + ENDPROC + + PROCEDURE selectcolor + Parameters oParent, lGetColor + + With This.pfmPages.Page1 + If lGetColor + nResult = GetColor(oParent.BackColor) + If nResult # -1 + oParent.BackColor = nResult + EndIf + EndIf + .shpSelector.Top = oParent.Top - 1 + .shpSelector.Left = oParent.Left - 1 + .shpSelector.Width = oParent.Width + 2 + .shpSelector.Height = oParent.Height + 2 + .shpSelector.Visible = .T. + This.Tag = "rgb:" + This.cusFuncs.RgbToStr(oParent.BackColor) + EndWith + ENDPROC + + PROCEDURE btnCancel.Click + ThisForm.RetValue = ThisForm.DefaultColor + ThisForm.Hide() + ENDPROC + + PROCEDURE btnOk.Click + With ThisForm.pfmPages + ThisForm.RetValue = ThisForm.Tag + ThisForm.Hide() + EndWith + + ENDPROC + + PROCEDURE pfmPages.Page2.lstSysColors.InteractiveChange + sColor = "sys:" + Alltrim(Str(This.ListIndex - 1,2)) + ThisForm.Tag = sColor + This.Parent.shpSelector.BackColor = ThisForm.cusFuncs.GetColor(sColor) + + If ThisForm.TitleBar = 0 + ThisForm.btnOk.Click() + EndIf + ENDPROC + +ENDDEFINE + +DEFINE CLASS _getdate AS form + *< CLASSDATA: Baseclass="form" Timestamp="" Scale="Pixels" Uniqueid="" ProjectClassIcon="wincalendar.bmp" ClassIcon="wincalendar.bmp" /> + + *-- OBJECTDATA items order determines ZOrder / El orden de los items OBJECTDATA determina el ZOrder + *< OBJECTDATA: ObjPath="Calendar" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="btnOk" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="btnCancel" UniqueID="" Timestamp="" /> + + * + *p: retvalue + * + + * + AutoCenter = .T. + BorderStyle = 2 + Caption = "Calendario" + DoCreate = .T. + Height = 203 + Icon = calendar.ico + MaxButton = .F. + MinButton = .F. + Name = "_getdate" + retvalue = .F. + Width = 196 + * + + ADD OBJECT 'btnCancel' AS commandbutton WITH ; + Cancel = .T., ; + Caption = "\ + + ADD OBJECT 'btnOk' AS commandbutton WITH ; + Caption = "\ + + ADD OBJECT 'Calendar' AS _calendar WITH ; + Height = 172, ; + Left = 2, ; + Name = "Calendar", ; + Top = 0, ; + Width = 192, ; + shpTitleBar.Name = "shpTitleBar", ; + cusFuncs.Name = "cusFuncs", ; + btnButton_1.btnButton.Name = "btnButton", ; + btnButton_1.lblButton.Name = "lblButton", ; + btnButton_1.Name = "btnButton_1", ; + btnButton_2.btnButton.Name = "btnButton", ; + btnButton_2.lblButton.Name = "lblButton", ; + btnButton_2.Name = "btnButton_2", ; + btnButton_3.btnButton.Name = "btnButton", ; + btnButton_3.lblButton.Name = "lblButton", ; + btnButton_3.Name = "btnButton_3", ; + btnButton_4.btnButton.Name = "btnButton", ; + btnButton_4.lblButton.Name = "lblButton", ; + btnButton_4.Name = "btnButton_4", ; + btnButton_5.btnButton.Name = "btnButton", ; + btnButton_5.lblButton.Name = "lblButton", ; + btnButton_5.Name = "btnButton_5", ; + btnButton_6.btnButton.Name = "btnButton", ; + btnButton_6.lblButton.Name = "lblButton", ; + btnButton_6.Name = "btnButton_6", ; + btnButton_7.btnButton.Name = "btnButton", ; + btnButton_7.lblButton.Name = "lblButton", ; + btnButton_7.Name = "btnButton_7", ; + btnButton_8.btnButton.Name = "btnButton", ; + btnButton_8.lblButton.Name = "lblButton", ; + btnButton_8.Name = "btnButton_8", ; + btnButton_9.btnButton.Name = "btnButton", ; + btnButton_9.lblButton.Name = "lblButton", ; + btnButton_9.Name = "btnButton_9", ; + btnButton_10.btnButton.Name = "btnButton", ; + btnButton_10.lblButton.Name = "lblButton", ; + btnButton_10.Name = "btnButton_10", ; + btnButton_11.btnButton.Name = "btnButton", ; + btnButton_11.lblButton.Name = "lblButton", ; + btnButton_11.Name = "btnButton_11", ; + btnButton_12.btnButton.Name = "btnButton", ; + btnButton_12.lblButton.Name = "lblButton", ; + btnButton_12.Name = "btnButton_12", ; + btnButton_13.btnButton.Name = "btnButton", ; + btnButton_13.lblButton.Name = "lblButton", ; + btnButton_13.Name = "btnButton_13", ; + btnButton_14.btnButton.Name = "btnButton", ; + btnButton_14.lblButton.Name = "lblButton", ; + btnButton_14.Name = "btnButton_14", ; + btnButton_15.btnButton.Name = "btnButton", ; + btnButton_15.lblButton.Name = "lblButton", ; + btnButton_15.Name = "btnButton_15", ; + btnButton_16.btnButton.Name = "btnButton", ; + btnButton_16.lblButton.Name = "lblButton", ; + btnButton_16.Name = "btnButton_16", ; + btnButton_17.btnButton.Name = "btnButton", ; + btnButton_17.lblButton.Name = "lblButton", ; + btnButton_17.Name = "btnButton_17", ; + btnButton_18.btnButton.Name = "btnButton", ; + btnButton_18.lblButton.Name = "lblButton", ; + btnButton_18.Name = "btnButton_18", ; + btnButton_19.btnButton.Name = "btnButton", ; + btnButton_19.lblButton.Name = "lblButton", ; + btnButton_19.Name = "btnButton_19", ; + btnButton_20.btnButton.Name = "btnButton", ; + btnButton_20.lblButton.Name = "lblButton", ; + btnButton_20.Name = "btnButton_20", ; + btnButton_21.btnButton.Name = "btnButton", ; + btnButton_21.lblButton.Name = "lblButton", ; + btnButton_21.Name = "btnButton_21", ; + btnButton_22.btnButton.Name = "btnButton", ; + btnButton_22.lblButton.Name = "lblButton", ; + btnButton_22.Name = "btnButton_22", ; + btnButton_23.btnButton.Name = "btnButton", ; + btnButton_23.lblButton.Name = "lblButton", ; + btnButton_23.Name = "btnButton_23", ; + btnButton_24.btnButton.Name = "btnButton", ; + btnButton_24.lblButton.Name = "lblButton", ; + btnButton_24.Name = "btnButton_24", ; + btnButton_25.btnButton.Name = "btnButton", ; + btnButton_25.lblButton.Name = "lblButton", ; + btnButton_25.Name = "btnButton_25", ; + btnButton_26.btnButton.Name = "btnButton", ; + btnButton_26.lblButton.Name = "lblButton", ; + btnButton_26.Name = "btnButton_26", ; + btnButton_27.btnButton.Name = "btnButton", ; + btnButton_27.lblButton.Name = "lblButton", ; + btnButton_27.Name = "btnButton_27", ; + btnButton_28.btnButton.Name = "btnButton", ; + btnButton_28.lblButton.Name = "lblButton", ; + btnButton_28.Name = "btnButton_28", ; + btnButton_29.btnButton.Name = "btnButton", ; + btnButton_29.lblButton.Name = "lblButton", ; + btnButton_29.Name = "btnButton_29", ; + btnButton_30.btnButton.Name = "btnButton", ; + btnButton_30.lblButton.Name = "lblButton", ; + btnButton_30.Name = "btnButton_30", ; + btnButton_31.btnButton.Name = "btnButton", ; + btnButton_31.lblButton.Name = "lblButton", ; + btnButton_31.Name = "btnButton_31", ; + btnButton_32.btnButton.Name = "btnButton", ; + btnButton_32.lblButton.Name = "lblButton", ; + btnButton_32.Name = "btnButton_32", ; + btnButton_33.btnButton.Name = "btnButton", ; + btnButton_33.lblButton.Name = "lblButton", ; + btnButton_33.Name = "btnButton_33", ; + btnButton_34.btnButton.Name = "btnButton", ; + btnButton_34.lblButton.Name = "lblButton", ; + btnButton_34.Name = "btnButton_34", ; + btnButton_35.btnButton.Name = "btnButton", ; + btnButton_35.lblButton.Name = "lblButton", ; + btnButton_35.Name = "btnButton_35", ; + btnButton_36.btnButton.Name = "btnButton", ; + btnButton_36.lblButton.Name = "lblButton", ; + btnButton_36.Name = "btnButton_36", ; + btnButton_37.btnButton.Name = "btnButton", ; + btnButton_37.lblButton.Name = "lblButton", ; + btnButton_37.Name = "btnButton_37", ; + btnButton_38.btnButton.Name = "btnButton", ; + btnButton_38.lblButton.Name = "lblButton", ; + btnButton_38.Name = "btnButton_38", ; + btnButton_39.btnButton.Name = "btnButton", ; + btnButton_39.lblButton.Name = "lblButton", ; + btnButton_39.Name = "btnButton_39", ; + btnButton_40.btnButton.Name = "btnButton", ; + btnButton_40.lblButton.Name = "lblButton", ; + btnButton_40.Name = "btnButton_40", ; + btnButton_41.btnButton.Name = "btnButton", ; + btnButton_41.lblButton.Name = "lblButton", ; + btnButton_41.Name = "btnButton_41", ; + btnButton_42.btnButton.Name = "btnButton", ; + btnButton_42.lblButton.Name = "lblButton", ; + btnButton_42.Name = "btnButton_42", ; + spnYear.Name = "spnYear", ; + cboMonth.Name = "cboMonth", ; + lblTitleDay1.Name = "lblTitleDay1", ; + lblTitleDay2.Name = "lblTitleDay2", ; + lblTitleDay3.Name = "lblTitleDay3", ; + lblTitleDay4.Name = "lblTitleDay4", ; + lblTitleDay5.Name = "lblTitleDay5", ; + lblTitleDay6.Name = "lblTitleDay6", ; + lblTitleDay7.Name = "lblTitleDay7", ; + btnNext.Name = "btnNext", ; + btnPrevious.Name = "btnPrevious", ; + shpTodaybar.Name = "shpTodaybar", ; + Label7.Name = "Label7", ; + lblToday.Name = "lblToday", ; + btnToday.Name = "btnToday" + *< END OBJECT: ClassLib="_lproperty.vcx" BaseClass="container" /> + + PROCEDURE Init + *-------------------------------------------------------* + *! ___ ___ _____ ___ _ _____ ___ !* + *! / __| | __| |_ _| | \ /_\ |_ _| | __| !* + *! | (_ | | _| | | | |) | / _ \ | | | _| !* + *! \___| |___| |_| |___/ /_/ \_\ |_| |___| !* + *! !* + *-------------------------------------------------------* + *! Clase _GetDate !* + *! Creado por : Roberto Reátegui Kanashiro !* + *! E-Mail : zerohackx@gmail.com !* + *! Actualizado : 03/09/2006 !* + *! Lugar : Tarapoto - Perú !* + *-------------------------------------------------------* + Parameters uParam1, uParam2, uParam3, uParam4, uParam5 + + This.Calendar.Date = Ctod(Alltrim(uParam1)) + ENDPROC + + PROCEDURE QueryUnload + NoDefault + This.Hide + ENDPROC + + PROCEDURE btnCancel.Click + ThisForm.RetValue = "" + ThisForm.Hide() + ENDPROC + + PROCEDURE btnOk.Click + With ThisForm.Calendar + ThisForm.RetValue = Dtoc(.Date) + ThisForm.Hide() + EndWith + + ENDPROC + +ENDDEFINE + +DEFINE CLASS listproperty AS container + *< CLASSDATA: Baseclass="container" Timestamp="" Scale="Pixels" Uniqueid="" ProjectClassIcon="property.bmp" ClassIcon="property.bmp" /> + + *-- OBJECTDATA items order determines ZOrder / El orden de los items OBJECTDATA determina el ZOrder + *< OBJECTDATA: ObjPath="ctnBox" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="ctnBox.grdList" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="ctnBox.grdList.clmProperty.Header1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="ctnBox.grdList.clmValue.Header1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="ctnBox.ctnSplitter" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="ctnBox.txtTextbox" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="ctnBox.cboCombo" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="ctnBox.btnButton" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="cusFuncs" UniqueID="" Timestamp="" /> + + * + *m: activatecontrol + *m: adjustcontrol + *m: creategripper + *m: getdatalist + *m: gettablename + *m: refreshcontrol + *m: releasecontrol + *p: currentbutton + *p: currentcontrol && Especifica qué control contenido en un objeto Column se usa para mostrar los valores de la celda activa. + *p: difference + *p: initialized + *p: isdown + *p: isover + * + + * + BorderColor = 0,0,0 + BorderWidth = 1 + currentbutton = .F. + currentcontrol = + difference = 0 + Height = 241 + initialized = .F. + isdown = .F. + isover = .F. + Name = "listproperty" + SpecialEffect = 1 + Style = 3 + Width = 219 + * + + ADD OBJECT 'ctnBox' AS container WITH ; + BorderWidth = 0, ; + Height = 239, ; + Left = 2, ; + Name = "ctnBox", ; + SpecialEffect = 0, ; + Top = 2, ; + Width = 214 + *< END OBJECT: BaseClass="container" /> + + ADD OBJECT 'ctnBox.btnButton' AS commandbutton WITH ; + Caption = "¼", ; + FontName = "Symbol", ; + FontSize = 7, ; + Height = 14, ; + Left = 8, ; + Name = "btnButton", ; + SpecialEffect = 1, ; + TabStop = .F., ; + Top = -25, ; + Width = 16 + *< END OBJECT: BaseClass="commandbutton" /> + + ADD OBJECT 'ctnBox.cboCombo' AS combobox WITH ; + BorderStyle = 0, ; + FontName = "MS Sans Serif", ; + FontSize = 8, ; + Height = 17, ; + Left = 9, ; + Margin = 0, ; + Name = "cboCombo", ; + RowSourceType = 1, ; + Style = 2, ; + Top = -29, ; + Width = 113 + *< END OBJECT: BaseClass="combobox" /> + + ADD OBJECT 'ctnBox.ctnSplitter' AS container WITH ; + BackColor = 0,0,0, ; + BackStyle = 0, ; + BorderWidth = 0, ; + Height = 237, ; + Left = 75, ; + MouseIcon = ve_sizeb.cur, ; + MousePointer = 99, ; + Name = "ctnSplitter", ; + Top = 1, ; + Width = 3 + *< END OBJECT: BaseClass="container" /> + + ADD OBJECT 'ctnBox.grdList' AS grid WITH ; + AllowCellSelection = .F., ; + AllowHeaderSizing = .F., ; + AllowRowSizing = .F., ; + BackColor = 255,255,255, ; + ColumnCount = 2, ; + DeleteMark = .F., ; + FontName = "MS Sans Serif", ; + ForeColor = 0,0,0, ; + GridLineColor = 128,128,128, ; + GridLines = 1, ; + GridLineWidth = 1, ; + HeaderHeight = 0, ; + Height = 241, ; + HighlightBackColor = 0,0,128, ; + HighlightRow = .F., ; + HighlightRowLineWidth = 0, ; + HighlightStyle = 2, ; + Left = -1, ; + LockColumnsLeft = 1, ; + Name = "grdList", ; + RecordMark = .F., ; + RowHeight = 15, ; + ScrollBars = 2, ; + SplitBar = .F., ; + Top = -1, ; + Width = 217, ; + Column1.BackColor = 192,192,192, ; + Column1.FontName = "MS Sans Serif", ; + Column1.ForeColor = 0,0,0, ; + Column1.Name = "clmProperty", ; + Column2.BackColor = 255,255,255, ; + Column2.FontName = "MS Sans Serif", ; + Column2.ForeColor = 0,0,0, ; + Column2.Name = "clmValue", ; + Column2.Width = 122 + *< END OBJECT: BaseClass="grid" /> + + ADD OBJECT 'ctnBox.grdList.clmProperty.Header1' AS header WITH ; + Caption = "Propiedad", ; + FontName = "MS Sans Serif", ; + Name = "Header1" + *< END OBJECT: BaseClass="header" /> + + ADD OBJECT 'ctnBox.grdList.clmValue.Header1' AS header WITH ; + Caption = "Valor", ; + FontName = "MS Sans Serif", ; + Name = "Header1" + *< END OBJECT: BaseClass="header" /> + + ADD OBJECT 'ctnBox.txtTextbox' AS textbox WITH ; + BorderStyle = 0, ; + DisabledBackColor = 255,255,255, ; + DisabledForeColor = 0,0,0, ; + FontName = "MS Sans Serif", ; + FontSize = 8, ; + Height = 17, ; + Left = 8, ; + Margin = 0, ; + Name = "txtTextbox", ; + Top = -50, ; + Width = 112 + *< END OBJECT: BaseClass="textbox" /> + + ADD OBJECT 'cusFuncs' AS _functions WITH ; + Height = 20, ; + Left = 1, ; + Name = "cusFuncs", ; + Top = 247, ; + Width = 17 + *< END OBJECT: ClassLib="_lproperty.vcx" BaseClass="custom" /> + + PROCEDURE activatecontrol + PARAMETERS oParent + sAlias = oParent.RecordSource + If !Empty(sAlias) Or !Eof(sAlias) + sState = Evaluate(sAlias + ".State") + sObjectType = Left(Evaluate(sAlias + ".ObjectType"), 1) + sObjectExtr = Right(Evaluate(sAlias + ".ObjectType"), 1) + With This.ctnBox + Do Case + Case sObjectType == "L" + This.CurrentControl = .cboCombo + This.GetDataList(.cboCombo, Evaluate(sAlias + ".Enums")) + .cboCombo.Left = oParent.Left + oParent.clmProperty.Width + 3 + .cboCombo.Top = oParent.Top + ((oParent.RowHeight * oParent.ActiveRow) - oParent.RowHeight) + oParent.GridLineWidth + .cboCombo.Height = oParent.RowHeight - oParent.GridLineWidth + .cboCombo.Width = oParent.clmValue.Width + .cboCombo.Zorder(0) + .cboCombo.Visible = .T. + Case sObjectType == "T" + This.CurrentControl = .txtTextbox + .txtTextbox.Left = oParent.Left + oParent.clmProperty.Width + 3 + .txtTextbox.Top = oParent.Top + ((oParent.RowHeight * oParent.ActiveRow) - oParent.RowHeight) + oParent.GridLineWidth + .txtTextbox.Height = oParent.RowHeight - oParent.GridLineWidth + .txtTextbox.Width = oParent.clmValue.Width + .txtTextbox.Enabled = ICase(sState = "E", .T., sState = "D", .F., .T.) + .txtTextbox.ReadOnly = Iif(sState = "L", .T., .F.) + .txtTextbox.Zorder(0) + .txtTextbox.Visible = .T. + If sObjectExtr = "B" + This.CurrentButton = .btnButton + .txtTextbox.Width = oParent.clmValue.Width - oParent.RowHeight + .btnButton.Top = .txtTextbox.Top + .btnButton.Left = .txtTextbox.Left + .txtTextbox.Width + .btnButton.Height = .txtTextbox.Height + .btnButton.Width = oParent.RowHeight + .btnButton.Zorder(0) + .btnButton.Visible = .T. + EndIf + EndCase + This.CurrentControl.ControlSource = sAlias + ".Display" + *This.CurrentControl.SetFocus() + EndWith + EndIf + ENDPROC + + PROCEDURE adjustcontrol + */--- Ajustar Caja + With This.ctnBox + .Top = 2 + .Left = 2 + .Width = This.Width - 4 + .Height = This.Height - 4 + EndWith + + */--- Ajustar Grid + With This.ctnBox.grdList + .Top = -1 + .Left = -1 + .Width = .Parent.Width + 3 + .Height = .Parent.Height + 2 + .GridLineColor = This.cusFuncs.getcolor("sys:16") + .clmProperty.BackColor = This.cusFuncs.getcolor("sys:15") + .clmProperty.ForeColor = This.cusFuncs.getcolor("sys:18") + EndWith + + */--- Ajustar Caja de Valores + With This.ctnBox.grdList + .clmValue.Width = .Width - (.clmProperty.Width + Sysmetric(15) + 5) + EndWith + + */--- Ajustar Splitter + With This.ctnBox.ctnSplitter + .Top = 0 + .Left = .Parent.grdList.Left + .Parent.grdList.clmProperty.Width + .Width = 3 + .Height = .Parent.Height + EndWith + + */--- + This.Difference = This.Left + This.ctnBox.Left + sObjects = "This.Parent" + Do While Type(sObjects) == "O" + sClass = Lower(Evaluate(sObjects + ".BaseClass")) + If InList(sClass, "container", "pageframe") + This.Difference = This.Difference + Evaluate(sObjects + ".Left") + EndIf + sObjects = sObjects + ".Parent" + EndDo + + */--- Acomodar el primer control + This.ActivateControl(This.ctnBox.grdList) + ENDPROC + + PROCEDURE creategripper + PARAMETERS oParent + This.ctnBox.AddObject("shpGripper", "Shape") + This.ctnBox.shpGripper.Left = oParent.Left + This.ctnBox.shpGripper.Top = oParent.Top + This.ctnBox.shpGripper.Height = oParent.Height + This.ctnBox.shpGripper.Width = 1 + This.ctnBox.shpGripper.BackStyle = 1 + This.ctnBox.shpGripper.DrawMode = 6 + This.ctnBox.shpGripper.FillStyle = 0 + This.ctnBox.shpGripper.Zorder(0) + This.ctnBox.shpGripper.Visible = .T. + ENDPROC + + PROCEDURE getdatalist + Parameters oCombo, sData + #DEFINE CRLF Chr(13) + Chr(10) + oCombo.Clear + nCount = GetWordCount(sData, CRLF) + For nLine = 1 To nCount + oCombo.AddItem(Alltrim(GetWordNum(sData, nLine, CRLF))) + EndFor + + + ENDPROC + + PROCEDURE gettablename + Return (This.ctnBox.grdList.RecordSource) + ENDPROC + + PROCEDURE Init + *------------------------------------------------------------------* + *! _ ___ ___ ___ ___ ___ ___ _____ __ __ !* + *! | | | _ \ | _ \ / _ \ | _ \ | __| | _ \ |_ _| \ \ / / !* + *! | |__ | _/ | / | (_) | | _/ | _| | / | | \ V / !* + *! |____| |_| |_|_\ \___/ |_| |___| |_|_\ |_| |_| !* + *! !* + *------------------------------------------------------------------* + *! Clase _ListProperty !* + *! Creado por : Roberto Reátegui Kanashiro !* + *! E-Mail : zerohackx@gmail.com !* + *! Actualizado : 03/09/2006 !* + *! Lugar : Tarapoto - Perú !* + *------------------------------------------------------------------* + sClassLib = This.ClassLibrary + Set Classlib To (sClassLib) + + This.AdjustControl() + This.Initialized = .T. + ENDPROC + + PROCEDURE refreshcontrol + PARAMETERS oParent + + With This.CurrentControl + .Left = oParent.Left + oParent.clmProperty.Width + 3 + .Top = oParent.Top + ((oParent.RowHeight * oParent.ActiveRow) - oParent.RowHeight) + oParent.GridLineWidth + .Height = oParent.RowHeight - oParent.GridLineWidth + .Width = oParent.clmValue.Width + If This.CurrentButton.Visible = .T. + .Width = oParent.clmValue.Width - oParent.RowHeight + This.CurrentButton.Top = .Top + This.CurrentButton.Left = .Left + .Width + This.CurrentButton.Height = .Height + This.CurrentButton.Width = oParent.RowHeight + EndIf + EndWith + + ENDPROC + + PROCEDURE releasecontrol + If Type("This.CurrentControl") == "O" + This.CurrentControl.Visible = .F. + EndIf + If Type("This.CurrentButton") == "O" + This.CurrentButton.Visible = .F. + EndIf + + + ENDPROC + + PROCEDURE Resize + If This.Initialized = .T. + This.Adjustcontrol() + EndIf + ENDPROC + + PROCEDURE ctnBox.btnButton.Click + With This.Parent + sAlias = This.Parent.Parent.GetTableName() + If !Evaluate(sAlias + ".Procedure") + sCommand = Upper(GetWordNum(Alltrim(Evaluate(sAlias + ".enums")), 1, ":")) + sParams = Lower(GetWordNum(Alltrim(Evaluate(sAlias + ".enums")), 2, ":")) + sResult = "" + Do Case + Case sCommand = "COLOR" + nColor = .Parent.cusFuncs.StrToRgb(.txtTextbox.Value) + nColor = GetColor(nColor) + If nColor # -1 + sResult = .Parent.cusFuncs.RgbToStr(nColor) + EndIf + Case sCommand = "PRINTER" + sResult = GetPrinter() + Case sCommand = "FONT" + sName = GetWordNum(.txtTextbox.Value, 1, ",") + nSize = Val(GetWordNum(.txtTextbox.Value, 2, ",")) + sStyle = GetWordNum(.txtTextbox.Value, 3, ",") + sResult = GetFont(sName, nSize, sStyle) + Case sCommand = "PICTURE" + sResult = Lower(GetPict()) + Case sCommand = "FOLDER" + sResult = Lower(GetDir(.txtTextbox.Value)) + Case sCommand = "FILE" + sExtension = .Parent.cusFuncs.GetDescFromExt(sParams) + sResult = Lower(GetFile(sExtension)) + EndCase + Else + sResult = ExecScript(Evaluate(sAlias + ".Enums"), .Parent.cusFuncs, .txtTextbox.Value) + EndIf + If !Empty(sResult) + .txtTextbox.Value = sResult + *.txtTextbox.SetFocus() + EndIf + EndWith + ENDPROC + + PROCEDURE ctnBox.btnButton.Init + This.VisualEffect = 1 + ENDPROC + + PROCEDURE ctnBox.btnButton.MouseDown + LPARAMETERS nButton, nShift, nXCoord, nYCoord + + This.VisualEffect = 2 + ENDPROC + + PROCEDURE ctnBox.btnButton.MouseUp + LPARAMETERS nButton, nShift, nXCoord, nYCoord + + This.VisualEffect = 1 + ENDPROC + + PROCEDURE ctnBox.cboCombo.KeyPress + LPARAMETERS nKeyCode, nShiftAltCtrl + + If InList(nKeycode,4, 13, 19) + Keyboard '{LEFTARROW}' + EndIf + + + ENDPROC + + PROCEDURE ctnBox.ctnSplitter.MouseDown + LPARAMETERS nButton, nShift, nXCoord, nYCoord + + This.Parent.Parent.IsDown = .T. + This.Parent.Parent.CreateGripper(This) + ENDPROC + + PROCEDURE ctnBox.ctnSplitter.MouseMove + LPARAMETERS nButton, nShift, nXCoord, nYCoord + + With This.Parent + If .Parent.IsDown + lIsOver = .T. + If lIsOver + nLimit = .grdList.Left + (.grdList.Width - (Sysmetric(15) * 3) - 5) + nNewPos = nXCoord - .Parent.Difference + If nNewPos > 0 And nNewPos < nLimit + .shpGripper.Move(nNewPos) + EndIf + EndIf + lIsOver = .F. + EndIf + EndWith + ENDPROC + + PROCEDURE ctnBox.ctnSplitter.MouseUp + LPARAMETERS nButton, nShift, nXCoord, nYCoord + + This.Parent.Parent.IsDown = .F. + This.Move(This.Parent.shpGripper.Left) + This.Parent.RemoveObject("shpGripper") + With This.Parent + .grdList.clmProperty.Width = (This.Left - (.grdList.Left + 1)) + .grdList.clmValue.Width = .grdList.Width - (.grdList.clmProperty.Width + Sysmetric(15) + 5) + If Type("This.Parent.Parent.CurrentControl") == "O" + .Parent.CurrentControl.Left = .grdList.Left + .grdList.clmProperty.Width + 3 + .Parent.CurrentControl.Width = .grdList.clmValue.Width + EndIf + EndWith + ENDPROC + + PROCEDURE ctnBox.grdList.AfterRowColChange + LPARAMETERS nColIndex + + This.Parent.Parent.ActivateControl(This) + + ENDPROC + + PROCEDURE ctnBox.grdList.BeforeRowColChange + LPARAMETERS nColIndex + + This.Parent.Parent.ReleaseControl() + ENDPROC + + PROCEDURE ctnBox.grdList.KeyPress + LPARAMETERS nKeyCode, nShiftAltCtrl + + If nKeyCode = 13 + NoDefault + This.Parent.Parent.CurrentControl.SetFocus() + Else + If InList(nKeyCode, 4, 19) + NoDefault + EndIf + EndIf + ENDPROC + + PROCEDURE ctnBox.grdList.Scrolled + LPARAMETERS nDirection + + Wait Window Str(This.ActiveRow) NoWait + This.Parent.Parent.RefreshControl(This) + + ENDPROC + + PROCEDURE ctnBox.txtTextbox.KeyPress + LPARAMETERS nKeyCode, nShiftAltCtrl + + If nKeycode = 13 + Keyboard '{UPARROW}' + EndIf + + ENDPROC + +ENDDEFINE diff --git a/utile/ListProperty/archivo1.txt b/utile/ListProperty/archivo1.txt new file mode 100644 index 0000000..03350ce --- /dev/null +++ b/utile/ListProperty/archivo1.txt @@ -0,0 +1,10 @@ +nControls = ASelObj(aObjects) +If nControls = 0 + nControls = ASelObj(aObjects, 1) +EndIf +oObject = aObjects(1) +If oObject.Class = "_sbrstatusbar" + Set Classlib To (oObject.ClassLibrary) + oPageProperty = Createobject("_pgeProperty", oObject) + oPageProperty.Show() +EndIf diff --git a/utile/ListProperty/custom.pal b/utile/ListProperty/custom.pal new file mode 100644 index 0000000..a569fb6 Binary files /dev/null and b/utile/ListProperty/custom.pal differ diff --git a/utile/ListProperty/frmcalendar.sc2 b/utile/ListProperty/frmcalendar.sc2 new file mode 100644 index 0000000..242784b --- /dev/null +++ b/utile/ListProperty/frmcalendar.sc2 @@ -0,0 +1,241 @@ +*-------------------------------------------------------------------------------------------------------------------------------------------------------- +* (EN) AUTOGENERATED - ATTENTION!! - NOT INTENDED FOR EXECUTION!! USE ONLY FOR MERGING CHANGES AND STORING WITH SCM TOOLS!! +*-------------------------------------------------------------------------------------------------------------------------------------------------------- +*< FOXBIN2PRG: Version="1.21" SourceFile="frmcalendar.scx" CPID="1252" /> (Solo para binarios VFP 9 / Only for VFP 9 binaries) +* +* +DEFINE CLASS dataenvironment AS dataenvironment + *< CLASSDATA: Baseclass="dataenvironment" Timestamp="" Scale="" Uniqueid="" ClassIcon="1" /> + + * + DataSource = .NULL. + Height = 0 + Left = 0 + Name = "Dataenvironment" + Top = 0 + Width = 0 + * + +ENDDEFINE + +DEFINE CLASS form1 AS form + *< CLASSDATA: Baseclass="form" Timestamp="" Scale="" Uniqueid="" /> + + *-- OBJECTDATA items order determines ZOrder / El orden de los items OBJECTDATA determina el ZOrder + *< OBJECTDATA: ObjPath="Calendar" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="btnOk" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="btnCancel" UniqueID="" Timestamp="" /> + + * + AutoCenter = .T. + BorderStyle = 2 + Caption = "Calendario" + DoCreate = .T. + Height = 200 + Icon = calendar.ico + MaxButton = .F. + MinButton = .F. + Name = "Form1" + ShowTips = .T. + Width = 194 + * + + ADD OBJECT 'btnCancel' AS commandbutton WITH ; + Cancel = .T., ; + Caption = "\ + + ADD OBJECT 'btnOk' AS commandbutton WITH ; + Caption = "\ + + ADD OBJECT 'Calendar' AS _calendar WITH ; + date = (Date()), ; + extradayforecolor = sys:15, ; + Height = 172, ; + Left = 1, ; + Name = "Calendar", ; + saturdayforecolor = sys:18, ; + selecteddaybackcolor = sys:13, ; + selecteddayforecolor = sys:14, ; + showholidaytips = .T., ; + Top = -1, ; + Width = 192, ; + shpTitleBar.Name = "shpTitleBar", ; + cusFuncs.Name = "cusFuncs", ; + btnButton_1.btnButton.Name = "btnButton", ; + btnButton_1.LBLBUTTON.Name = "LBLBUTTON", ; + btnButton_1.Name = "btnButton_1", ; + btnButton_2.btnButton.Name = "btnButton", ; + btnButton_2.LBLBUTTON.Name = "LBLBUTTON", ; + btnButton_2.Name = "btnButton_2", ; + btnButton_3.btnButton.Name = "btnButton", ; + btnButton_3.LBLBUTTON.Name = "LBLBUTTON", ; + btnButton_3.Name = "btnButton_3", ; + btnButton_4.btnButton.Name = "btnButton", ; + btnButton_4.LBLBUTTON.Name = "LBLBUTTON", ; + btnButton_4.Name = "btnButton_4", ; + btnButton_5.btnButton.Name = "btnButton", ; + btnButton_5.LBLBUTTON.Name = "LBLBUTTON", ; + btnButton_5.Name = "btnButton_5", ; + btnButton_6.btnButton.Name = "btnButton", ; + btnButton_6.LBLBUTTON.Name = "LBLBUTTON", ; + btnButton_6.Name = "btnButton_6", ; + btnButton_7.btnButton.Name = "btnButton", ; + btnButton_7.LBLBUTTON.Name = "LBLBUTTON", ; + btnButton_7.Name = "btnButton_7", ; + btnButton_8.btnButton.Name = "btnButton", ; + btnButton_8.LBLBUTTON.Name = "LBLBUTTON", ; + btnButton_8.Name = "btnButton_8", ; + btnButton_9.btnButton.Name = "btnButton", ; + btnButton_9.LBLBUTTON.Name = "LBLBUTTON", ; + btnButton_9.Name = "btnButton_9", ; + btnButton_10.btnButton.Name = "btnButton", ; + btnButton_10.LBLBUTTON.Name = "LBLBUTTON", ; + btnButton_10.Name = "btnButton_10", ; + btnButton_11.btnButton.Name = "btnButton", ; + btnButton_11.LBLBUTTON.Name = "LBLBUTTON", ; + btnButton_11.Name = "btnButton_11", ; + btnButton_12.btnButton.Name = "btnButton", ; + btnButton_12.LBLBUTTON.Name = "LBLBUTTON", ; + btnButton_12.Name = "btnButton_12", ; + btnButton_13.btnButton.Name = "btnButton", ; + btnButton_13.LBLBUTTON.Name = "LBLBUTTON", ; + btnButton_13.Name = "btnButton_13", ; + btnButton_14.btnButton.Name = "btnButton", ; + btnButton_14.LBLBUTTON.Name = "LBLBUTTON", ; + btnButton_14.Name = "btnButton_14", ; + btnButton_15.btnButton.Name = "btnButton", ; + btnButton_15.LBLBUTTON.Name = "LBLBUTTON", ; + btnButton_15.Name = "btnButton_15", ; + btnButton_16.btnButton.Name = "btnButton", ; + btnButton_16.LBLBUTTON.Name = "LBLBUTTON", ; + btnButton_16.Name = "btnButton_16", ; + btnButton_17.btnButton.Name = "btnButton", ; + btnButton_17.LBLBUTTON.Name = "LBLBUTTON", ; + btnButton_17.Name = "btnButton_17", ; + btnButton_18.btnButton.Name = "btnButton", ; + btnButton_18.LBLBUTTON.Name = "LBLBUTTON", ; + btnButton_18.Name = "btnButton_18", ; + btnButton_19.btnButton.Name = "btnButton", ; + btnButton_19.LBLBUTTON.Name = "LBLBUTTON", ; + btnButton_19.Name = "btnButton_19", ; + btnButton_20.btnButton.Name = "btnButton", ; + btnButton_20.LBLBUTTON.Name = "LBLBUTTON", ; + btnButton_20.Name = "btnButton_20", ; + btnButton_21.btnButton.Name = "btnButton", ; + btnButton_21.LBLBUTTON.Name = "LBLBUTTON", ; + btnButton_21.Name = "btnButton_21", ; + btnButton_22.btnButton.Name = "btnButton", ; + btnButton_22.LBLBUTTON.Name = "LBLBUTTON", ; + btnButton_22.Name = "btnButton_22", ; + btnButton_23.btnButton.Name = "btnButton", ; + btnButton_23.LBLBUTTON.Name = "LBLBUTTON", ; + btnButton_23.Name = "btnButton_23", ; + btnButton_24.btnButton.Name = "btnButton", ; + btnButton_24.LBLBUTTON.Name = "LBLBUTTON", ; + btnButton_24.Name = "btnButton_24", ; + btnButton_25.btnButton.Name = "btnButton", ; + btnButton_25.LBLBUTTON.Name = "LBLBUTTON", ; + btnButton_25.Name = "btnButton_25", ; + btnButton_26.btnButton.Name = "btnButton", ; + btnButton_26.LBLBUTTON.Name = "LBLBUTTON", ; + btnButton_26.Name = "btnButton_26", ; + btnButton_27.btnButton.Name = "btnButton", ; + btnButton_27.LBLBUTTON.Name = "LBLBUTTON", ; + btnButton_27.Name = "btnButton_27", ; + btnButton_28.btnButton.Name = "btnButton", ; + btnButton_28.LBLBUTTON.Name = "LBLBUTTON", ; + btnButton_28.Name = "btnButton_28", ; + btnButton_29.btnButton.Name = "btnButton", ; + btnButton_29.LBLBUTTON.Name = "LBLBUTTON", ; + btnButton_29.Name = "btnButton_29", ; + btnButton_30.btnButton.Name = "btnButton", ; + btnButton_30.LBLBUTTON.Name = "LBLBUTTON", ; + btnButton_30.Name = "btnButton_30", ; + btnButton_31.btnButton.Name = "btnButton", ; + btnButton_31.LBLBUTTON.Name = "LBLBUTTON", ; + btnButton_31.Name = "btnButton_31", ; + btnButton_32.btnButton.Name = "btnButton", ; + btnButton_32.LBLBUTTON.Name = "LBLBUTTON", ; + btnButton_32.Name = "btnButton_32", ; + btnButton_33.btnButton.Name = "btnButton", ; + btnButton_33.LBLBUTTON.Name = "LBLBUTTON", ; + btnButton_33.Name = "btnButton_33", ; + btnButton_34.btnButton.Name = "btnButton", ; + btnButton_34.LBLBUTTON.Name = "LBLBUTTON", ; + btnButton_34.Name = "btnButton_34", ; + btnButton_35.btnButton.Name = "btnButton", ; + btnButton_35.LBLBUTTON.Name = "LBLBUTTON", ; + btnButton_35.Name = "btnButton_35", ; + btnButton_36.btnButton.Name = "btnButton", ; + btnButton_36.lblButton.Name = "lblButton", ; + btnButton_36.Name = "btnButton_36", ; + btnButton_37.btnButton.Name = "btnButton", ; + btnButton_37.lblButton.Name = "lblButton", ; + btnButton_37.Name = "btnButton_37", ; + btnButton_38.btnButton.Name = "btnButton", ; + btnButton_38.lblButton.Name = "lblButton", ; + btnButton_38.Name = "btnButton_38", ; + btnButton_39.btnButton.Name = "btnButton", ; + btnButton_39.lblButton.Name = "lblButton", ; + btnButton_39.Name = "btnButton_39", ; + btnButton_40.btnButton.Name = "btnButton", ; + btnButton_40.lblButton.Name = "lblButton", ; + btnButton_40.Name = "btnButton_40", ; + btnButton_41.btnButton.Name = "btnButton", ; + btnButton_41.lblButton.Name = "lblButton", ; + btnButton_41.Name = "btnButton_41", ; + btnButton_42.btnButton.Name = "btnButton", ; + btnButton_42.lblButton.Name = "lblButton", ; + btnButton_42.Name = "btnButton_42", ; + spnYear.Name = "spnYear", ; + CBOMONTH.Name = "CBOMONTH", ; + lblTitleDay1.Name = "lblTitleDay1", ; + lblTitleDay2.Name = "lblTitleDay2", ; + lblTitleDay3.Name = "lblTitleDay3", ; + lblTitleDay4.Name = "lblTitleDay4", ; + lblTitleDay5.Name = "lblTitleDay5", ; + lblTitleDay6.Name = "lblTitleDay6", ; + lblTitleDay7.Name = "lblTitleDay7", ; + btnNext.Name = "btnNext", ; + btnPrevious.Name = "btnPrevious", ; + shpTodaybar.Name = "shpTodaybar", ; + Label7.Name = "Label7", ; + lblToday.Name = "lblToday", ; + btnToday.Name = "btnToday" + *< END OBJECT: ClassLib="_lproperty.vcx" BaseClass="container" /> + + PROCEDURE Init + *This.Calendar.Date = Gomonth(Date(), 5) + ENDPROC + + PROCEDURE Load + Set Talk off + Set Century Off + ENDPROC + + PROCEDURE btnCancel.Click + ThisForm.Release() + ENDPROC + + PROCEDURE btnOk.Click + sFecha = Dtoc(ThisForm.Calendar.Date) + MessageBox(sFecha) + ENDPROC + +ENDDEFINE diff --git a/utile/ListProperty/frmexample.sc2 b/utile/ListProperty/frmexample.sc2 new file mode 100644 index 0000000..55ea97e --- /dev/null +++ b/utile/ListProperty/frmexample.sc2 @@ -0,0 +1,101 @@ +*-------------------------------------------------------------------------------------------------------------------------------------------------------- +* (EN) AUTOGENERATED - ATTENTION!! - NOT INTENDED FOR EXECUTION!! USE ONLY FOR MERGING CHANGES AND STORING WITH SCM TOOLS!! +*-------------------------------------------------------------------------------------------------------------------------------------------------------- +*< FOXBIN2PRG: Version="1.21" SourceFile="frmexample.scx" CPID="1252" /> (Solo para binarios VFP 9 / Only for VFP 9 binaries) +* +* +DEFINE CLASS dataenvironment AS dataenvironment + *< CLASSDATA: Baseclass="dataenvironment" Timestamp="" Scale="" Uniqueid="" ClassIcon="1" /> + + *-- OBJECTDATA items order determines ZOrder / El orden de los items OBJECTDATA determina el ZOrder + *< OBJECTDATA: ObjPath="Cursor1" UniqueID="" Timestamp="" /> + + * + DataSource = .NULL. + Height = 200 + Left = 1 + Name = "Dataenvironment" + Top = 220 + Width = 520 + * + + ADD OBJECT 'Cursor1' AS cursor WITH ; + Alias = "lproperty", ; + CursorSource = lproperty.dbf, ; + Height = 90, ; + Left = 10, ; + Name = "Cursor1", ; + Top = 20, ; + Width = 90 + *< END OBJECT: BaseClass="cursor" /> + +ENDDEFINE + +DEFINE CLASS form1 AS form + *< CLASSDATA: Baseclass="form" Timestamp="" Scale="" Uniqueid="" /> + + *-- OBJECTDATA items order determines ZOrder / El orden de los items OBJECTDATA determina el ZOrder + *< OBJECTDATA: ObjPath="Listproperty1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="Listproperty1.ctnBox.grdList.clmProperty.Text1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="Listproperty1.ctnBox.grdList.clmValue.Text1" UniqueID="" Timestamp="" /> + + * + AllowOutput = .F. + AutoCenter = .T. + BorderStyle = 3 + Caption = "Propiedades" + DoCreate = .T. + Height = 444 + Name = "form1" + Width = 297 + * + + ADD OBJECT 'Listproperty1' AS listproperty WITH ; + Anchor = 15, ; + Height = 442, ; + Left = 0, ; + Name = "Listproperty1", ; + Top = 0, ; + Width = 295, ; + ctnBox.btnButton.Name = "btnButton", ; + ctnBox.cboCombo.Name = "cboCombo", ; + ctnBox.ctnSplitter.Name = "ctnSplitter", ; + ctnBox.grdList.clmProperty.ControlSource = "lproperty.property", ; + ctnBox.grdList.clmProperty.Header1.Name = "Header1", ; + ctnBox.grdList.clmProperty.Name = "clmProperty", ; + ctnBox.grdList.clmValue.ControlSource = "lproperty.display", ; + ctnBox.grdList.clmValue.Header1.Name = "Header1", ; + ctnBox.grdList.clmValue.Name = "clmValue", ; + ctnBox.grdList.Name = "grdList", ; + ctnBox.grdList.RecordSource = "lproperty", ; + ctnBox.Name = "ctnBox", ; + ctnBox.txtTextbox.Name = "txtTextbox", ; + cusFuncs.Name = "cusFuncs" + *< END OBJECT: ClassLib="_lproperty.vcx" BaseClass="container" /> + + ADD OBJECT 'Listproperty1.ctnBox.grdList.clmProperty.Text1' AS textbox WITH ; + BackColor = 192,192,192, ; + BorderStyle = 0, ; + ForeColor = 0,0,0, ; + Margin = 0, ; + Name = "Text1" + *< END OBJECT: BaseClass="textbox" /> + + ADD OBJECT 'Listproperty1.ctnBox.grdList.clmValue.Text1' AS textbox WITH ; + BackColor = 255,255,255, ; + BorderStyle = 0, ; + ForeColor = 0,0,0, ; + Margin = 0, ; + Name = "Text1" + *< END OBJECT: BaseClass="textbox" /> + + PROCEDURE Load + Set Talk Off + Set Deleted On + Set Century On + Set Notify Off + Set Confirm Off + Set Debug Off + ENDPROC + +ENDDEFINE diff --git a/utile/ListProperty/lProperty.pj2 b/utile/ListProperty/lProperty.pj2 new file mode 100644 index 0000000..bb5445d --- /dev/null +++ b/utile/ListProperty/lProperty.pj2 @@ -0,0 +1,95 @@ +*-------------------------------------------------------------------------------------------------------------------------------------------------------- +* (EN) AUTOGENERATED - ATTENTION!! - NOT INTENDED FOR EXECUTION!! USE ONLY FOR MERGING CHANGES AND STORING WITH SCM TOOLS!! +*-------------------------------------------------------------------------------------------------------------------------------------------------------- +*< FOXBIN2PRG: Version="1.21" SourceFile="lproperty.pjx" CPID="1252" /> (Solo para binarios VFP 9 / Only for VFP 9 binaries) +* +LPARAMETERS tcDir + +lcCurdir = SYS(5)+CURDIR() +CD ( EVL( tcDir, JUSTPATH( SYS(16) ) ) ) + +* +_Author = "" +_Company = "" +_Address = "" +_City = "" +_State = "" +_PostalCode = "" +_Country = "" +*-- +_Comments = "" +_CompanyName = "" +_FileDescription = "" +_LegalCopyright = "" +_LegalTrademark = "" +_ProductName = "" +_MajorVer = "" +_MinorVer = "" +_Revision = "" +_LanguageID = "" +_AutoIncrement = "0" +* + + +* +*<.HomeDir = 'd:\marius\foxpro\listproperty\listproperty' /> + +FOR EACH loProject IN _VFP.Projects FOXOBJECT + loProject.Close() +ENDFOR + +STRTOFILE( '', '__newproject.f2b' ) +BUILD PROJECT lProperty.pjx FROM '__newproject.f2b' +FOR EACH loProject IN _VFP.Projects FOXOBJECT + loProject.Close() +ENDFOR + +MODIFY PROJECT 'lProperty.pjx' NOWAIT NOSHOW NOPROJECTHOOK + +loProject = _VFP.Projects('lProperty.pjx') + +WITH loProject.FILES + .ADD('_lproperty.vcx') && *< FileMetadata: Type="V" Cpid="1252" Timestamp="0" ID="0" ObjRev="544" User="" /> + .ADD('archivo1.txt') && *< FileMetadata: Type="T" Cpid="1252" Timestamp="0" ID="0" ObjRev="0" User="" /> + .ADD('calendar.ico') && *< FileMetadata: Type="x" Cpid="1252" Timestamp="0" ID="0" ObjRev="0" User="" /> + .ADD('colors.ico') && *< FileMetadata: Type="x" Cpid="1252" Timestamp="0" ID="0" ObjRev="0" User="" /> + .ADD('frmcalendar.scx') && *< FileMetadata: Type="K" Cpid="1252" Timestamp="0" ID="0" ObjRev="544" User="" /> + .ADD('frmexample.scx') && *< FileMetadata: Type="K" Cpid="1252" Timestamp="0" ID="0" ObjRev="544" User="" /> + .ADD('lproperty.dbf') && *< FileMetadata: Type="D" Cpid="0" Timestamp="0" ID="0" ObjRev="0" User="" /> + .ADD('programa1.prg') && *< FileMetadata: Type="P" Cpid="1252" Timestamp="0" ID="0" ObjRev="0" User="" /> + .ADD('ve_sizeb.cur') && *< FileMetadata: Type="x" Cpid="1252" Timestamp="0" ID="0" ObjRev="0" User="" /> + * + + .ITEM('__newproject.f2b').Remove() + + * + * + + * + .ITEM("lproperty.dbf").Exclude = .T. + * + + * + * +ENDWITH + +WITH loProject + * + .SetMain("_lproperty.vcx") + + .Debug = .T. + .Encrypted = .F. + *<.CmntStyle = 1 /> + *<.NoLogo = .F. /> + *<.SaveCode = .T. /> + *<.User = '' /> + .ProjectHookLibrary = '' + .ProjectHookClass = '' + * +ENDWITH + + +_VFP.Projects('lProperty.pjx').Close() +*ERASE '__newproject.f2b' +CD (lcCurdir) +RETURN \ No newline at end of file diff --git a/utile/ListProperty/lproperty.FPT b/utile/ListProperty/lproperty.FPT new file mode 100644 index 0000000..9d6f762 Binary files /dev/null and b/utile/ListProperty/lproperty.FPT differ diff --git a/utile/ListProperty/lproperty.dbf b/utile/ListProperty/lproperty.dbf new file mode 100644 index 0000000..3f5bbfe Binary files /dev/null and b/utile/ListProperty/lproperty.dbf differ diff --git a/utile/ListProperty/programa1.prg b/utile/ListProperty/programa1.prg new file mode 100644 index 0000000..747b49a --- /dev/null +++ b/utile/ListProperty/programa1.prg @@ -0,0 +1,10 @@ +colMyCollection=CREATEOBJECT("Collection") +frm1=CREATEOBJECT("Form") +frm2=CREATEOBJECT("Form") +colMyCollection.Add(frm1) +colMyCollection.Add(frm2) +colMyCollection.Add("Item 1") +colMyCollection.Add("Item 2") +colMyCollection.Add("Item 3") +Form1.lstMyList.RowSourceType = 10 +Form1.lstMyList.RowSource = "colMyCollection, Caption, Name" diff --git a/utile/Menu/PopMenu.zip b/utile/Menu/PopMenu.zip new file mode 100644 index 0000000..7497a8d Binary files /dev/null and b/utile/Menu/PopMenu.zip differ diff --git a/utile/Menu/citeste.txt b/utile/Menu/citeste.txt new file mode 100644 index 0000000..764a70b --- /dev/null +++ b/utile/Menu/citeste.txt @@ -0,0 +1,34 @@ +loPop = Newobject("PopMenu", "menutool.vcx") +loPop.Clear + +*** Categorii note +lcParentKey = "" +lcKey = Alltrim(Str(NVL(loCategorie.Id, 0))) +lcTitle = Alltrim(loCategorie.nume) + " (" + ALLTRIM(STR(loCategorie.nr_seturi)) + ")" +lcCommand = "" +lcPicture = "" +llEnabled = .T. +lnAddFlag = 0x00 +loPop.Add(m.lcParentKey, m.lcKey, m.lcTitle, m.lcCommand, m.lcPicture, m.llEnabled, m.lnAddFlag) + +lcKey = lcParentKey + "_" + Alltrim(Str(loSet.Id)) +lcTitle = Alltrim(loSet.nume) +lcCommand = "" +lcPicture = "" +llEnabled = .T. +lnAddFlag = 0x00 +loPop.Add(m.lcParentKey, m.lcKey, m.lcTitle, m.lcCommand, m.lcPicture, m.llEnabled, m.lnAddFlag) + +loPop.nReturn = 1 && Key +loPop.lOwnerDraw = .T. +lcReturnKey = loPop.ShowBy(This) +lcReturnKey = NVL(lcReturnKey, '') + +IF !EMPTY(m.lcReturnKey) + lnPos = AT('_', m.lcReturnKey) + IF m.lnPos > 0 + lcIdSet = SUBSTR(m.lcReturnKey, m.lnPos + 1) + lnIdSet = VAL(m.lcIdSet) + DO note_fara_predefinire WITH m.lnIdSet IN proceduri.prg + ENDIF +ENDIF diff --git a/utile/Menu/menutool.vc2 b/utile/Menu/menutool.vc2 new file mode 100644 index 0000000..d4e2449 --- /dev/null +++ b/utile/Menu/menutool.vc2 @@ -0,0 +1,2434 @@ +*-------------------------------------------------------------------------------------------------------------------------------------------------------- +* (EN) AUTOGENERATED - ATTENTION!! - NOT INTENDED FOR EXECUTION!! USE ONLY FOR MERGING CHANGES AND STORING WITH SCM TOOLS!! +*-------------------------------------------------------------------------------------------------------------------------------------------------------- +*< FOXBIN2PRG: Version="1.21" SourceFile="menutool.vcx" CPID="936" /> (Solo para binarios VFP 9 / Only for VFP 9 binaries) +* +* +DEFINE CLASS _menuinfo AS custom && ²Ëµ¥À¸Ä¿¶ÔÏó + *< CLASSDATA: Baseclass="custom" Timestamp="" Scale="Pixels" Uniqueid="" /> + + * + *p: ccommand && Ö´ÐÐÃüÁî + *p: cenabled && Enabled ±í´ïʽ + *p: ckey && µ±Ç°½Úµã Key + *p: cmessage && ²Ëµ¥ÌáʾÐÅÏ¢ + *p: cparentkey && ¸¸Ç× Key£¬ÎÞÔòΪ "" + *p: cpicture && ²Ëµ¥ÏîͼƬ + *p: ctitle && ²Ëµ¥±êÌâ + *p: ctitle2 && ³ÌÐòʵ¼ÊʹÓÃµÄ Title + *p: hmenu && Èç¹ûÊÇÒ»¸ö×Ӳ˵¥£¬±£´æ×Ӳ˵¥µÄ¾ä±ú + *p: hmsk && ÑÚÂëµØÖ· + *p: hparent && ¸¸²Ëµ¥¾ä±ú + *p: hpic && ͼ±êµØÖ· + *p: lenabled && ±£´æ Evaluate(clEnabled) ״̬ + *p: naddress && ²Ëµ¥À¸Ä¿µÄÄÚ´æµØÖ· + *p: nflags && ²Ëµ¥±ê¼Ç + *p: nheight && ÏîÄ¿¸ß¶È + *p: nindex && ÎïÀíË÷ÒýÏîÄ¿ºÅ + *p: nwidth && ÏîÄ¿¿í¶È + *p: orefmenu && Ö¸ÏòÁíÒ»¸öÔ¤¶¨Òå²Ëµ¥²Ëµ¥ + * + + * + ccommand = + cenabled = + ckey = + cmessage = .NULL. + cparentkey = + cpicture = + ctitle = + ctitle2 = + hmenu = 0 + hmsk = 0 + hparent = 0 + hpic = 0 + lenabled = .F. + naddress = 0 + Name = "_menuinfo" + nflags = 0 + nheight = 0 + nindex = 0 + nwidth = 0 + orefmenu = .NULL. + Width = 17 + * + +ENDDEFINE + +DEFINE CLASS iconcollection AS custom && ͼ±ê¾ä±úÊÕ¼¯ + *< CLASSDATA: Baseclass="custom" Timestamp="" Scale="Pixels" Uniqueid="" /> + + #INCLUDE "win32api.h" + * + *m: declare_dlls + *m: getimage && ·µ»ØÍ¼ÐÎÎļþÔÚÄÚ´æÖеľä±ú + *m: loadimage + *m: newimage && ж¨ÒåÒ»¸öͼÐÎÎļþÃû±ú + * + + * + Name = "iconcollection" + Width = 17 + * + + PROCEDURE declare_dlls + Declare Long GetFileAttributes In "Kernel32" ; + String lpFileName + + Declare Long LoadImage In "User32" ; + Long hInst, String lpszName, Long uType, ; + Long cxDesired, Long cyDesired, Long fuLoad + + ENDPROC + + PROCEDURE getimage && ·µ»ØÍ¼ÐÎÎļþÔÚÄÚ´æÖеľä±ú + LPARAMETERS tcImageFile + + Private lnIndex + Local lnIndex + + If Not PemStatus(This, "aIconCollection", 5) ; + Or Not PemStatus(This, "nIconCollection", 5) + This.AddProperty("aIconCollection[1, 2]") + This.aIconCollection[1, 1] = "" && ÎļþÃû + This.aIconCollection[1, 2] = 0 && ÄÚ´æ¾ä±ú + This.AddProperty("nIconCollection", 0) + EndIf + + *-- µ¹Ðò + For lnIndex = This.nIconCollection To 1 Step -1 + If This.aIconCollection[m.lnIndex, 1] == Upper(m.tcImageFile) + Return This.aIconCollection[m.lnIndex, 2] + EndIf + EndFor + + Return 0 + + ENDPROC + + PROCEDURE Init + If Not PemStatus(_Screen, This.Class, 5) + This.Declare_Dlls() + _Screen.AddProperty(This.Class, .T.) + EndIf + + + + ENDPROC + + PROCEDURE loadimage + LPARAMETERS tcPicture + + Private lhImage, lcExt, lcString, llDelete + Local lhImage, lcExt, lcString, llDelete + + If Vartype(m.tcPicture) <> "C" ; + Or Empty(m.tcPicture) ; + Or Not File(m.tcPicture) + Return 0 + EndIf + + *-- ¼ì²éÎļþÊÇ·ñ±»°üº¬½ø EXE ÎļþÖÐ + llDelete = .F. + If GetFileAttributes(m.tcPicture) = -1 + lcFileVal = FileToStr(m.tcPicture) + tcPicture = Addbs(Sys(2023)) + JustFname(m.tcPicture) + StrToFile(m.lcFileVal, m.tcPicture) + If GetFileAttributes(m.tcPicture) = -1 + Return 0 + EndIf + llDelete = .T. + EndIf + + lhImage = 0 + lcExt = Upper(JustExt(m.tcPicture)) + + Do Case + Case m.lcExt == "BMP" + lhImage = This.GetImage(m.tcPicture) + If m.lhImage = 0 + lhImage = LoadImage(0, m.tcPicture, IMAGE_BITMAP, 0, 0, LR_LOADFROMFILE) + This.NewImage(m.tcPicture, m.lhImage) + EndIf + + + Case m.lcExt == "MSK" + lhImage = This.GetImage(m.tcPicture) + If m.lhImage = 0 + m.lhImage = LoadImage(0, m.tcPicture, IMAGE_BITMAP, 0, 0, LR_LOADFROMFILE) + This.NewImage(m.tcPicture, m.lhImage) + EndIf + + + Case m.lcExt == "ICO" + lhImage = This.GetImage(m.tcPicture) + If m.lhImage = 0 + lhImage = LoadImage(0, m.tcPicture, IMAGE_ICON, 0, 0, LR_LOADFROMFILE) + This.NewImage(m.tcPicture, m.lhImage) + EndIf + + + Otherwise + *-- ´ý´¦Àí + + EndCase + + If m.llDelete + Erase (m.tcPicture) + EndIf + + Return m.lhImage + ENDPROC + + PROCEDURE newimage && ж¨ÒåÒ»¸öͼÐÎÎļþÃû±ú + LPARAMETERS tcImageFile, tnHandle + + Private lnIndex + Local lnIndex + + If Not PemStatus(This, "aIconCollection", 5) ; + Or Not PemStatus(This, "nIconCollection", 5) + This.AddProperty("aIconCollection[1, 2]") + This.aIconCollection[1, 1] = "" && ÎļþÃû + This.aIconCollection[1, 2] = 0 && ÄÚ´æ¾ä±ú + This.AddProperty("nIconCollection", 0) + EndIf + + If m.tnHandle = 0 + Return + EndIf + + This.nIconCollection = Max(This.nIconCollection + 1, 1) + Dimension This.aIconCollection[This.nIconCollection, 2] + + This.aIconCollection[This.nIconCollection, 1] = Upper(m.tcImageFile) + This.aIconCollection[This.nIconCollection, 2] = m.tnHandle + ENDPROC + +ENDDEFINE + +DEFINE CLASS popmenu AS custom && ÓO¼üµ_3ö²Ëµ¥ + *< CLASSDATA: Baseclass="custom" Timestamp="" Scale="Pixels" Uniqueid="" /> + + #INCLUDE "win32api.h" + * + *m: about && 1OÓÚ±_Aà + *m: add && Ií¼Ó²Ëµ¥Iî¡£LPARAMETERS tcParentKey, tcKey, tcTitle, tcCommand, tcPicture, tvEnabled, tnAddFlag + *m: additem && Ií¼Ó²Ëµ¥Iî: tnId, tcCaption, tcCommand, tlEnabled, tnAddFlag. 0x20 »»ÁD, 0x08 Check¡£ + *m: bindevents + *m: b_drawmenuitem + *m: b_measuremenuitem + *m: b_menuchar + *m: callback_proc + *m: clear && Çå3ý×éºI¿ò»òÁD±í¿ò¿O¼_ÖDµÄÄÚEÝ¡£ + *m: createcontext && ´´½¨ÓëÖ¸IòÁíO»¸ö²Ëµ¥Áª½Ó + *m: createmenus + *m: declare_dlls + *m: destroymenus && Iú»U²Ëµ¥ + *m: drawgradualrect && Ö¸¶¨ÇoÓòºóÓAÖ¸¶¨ÑOÉ«»æÖÆ¡£¿Éѡˮƽ»ò´1Ö±¡£ + *m: draw_bar && »­²à±ßIo + *m: draw_image && »­Í¼Iñ + *m: draw_selected && »æÖÆÑ¡¶¨ + *m: draw_separator + *m: draw_text && »­Îı_Ço + *m: gethalfcolor && E¡Á½É«Ö®¼äµÄ°ëÉ«µ÷ + *m: gethwnd && »ñE¡´°¿Ú_ä±ú + *m: get_rect_num && ´Ó Rect ½á11ÖD·µ»OEýÖµ¡£Eç1ûÖ¸¶¨Á˵OÖ·²ÎEý£¬Ôò½á1û±»±£´æµ½µOÖ·²ÎEýÖD¡£ + *m: get_rect_str && ´«µÝ Left, Top, Right, Bottom Ëĸö²ÎEý£¬·µ»O RECT ½á11ÑùµÄ×Ö·û´®¡£ + *m: inititems && 3oE¼»_A¸Ä¿DÅI¢ + *m: modifymenus && D_¸Ä²Ëµ¥µÄ Enabled ×´I¬ + *m: newitem && »ñE¡O»¸öA¸Ä¿¶ÔIó + *m: setmessage && ÉèÖA²Ëµ¥Iî×´I¬A¸IáE_DÅI¢£¬µÚ¶_²ÎÖ¸ÎïAí²Ëµ¥IîµÄDòºÅ£¬E±E¡E1ÓA×î½üIí¼ÓµÄ²Ëµ¥¡£ + *m: setpicture && ÉèÖA²Ëµ¥IîµÄͼƬ£¬µÚ¶_²ÎÖ¸ÎïAí²Ëµ¥IîDòºÅ£¬E±E¡E1ÓA×î½üIí¼ÓµÄ²Ëµ¥¡£ + *m: show && IÔE_²Ëµ¥ÔÚÖ¸¶¨µÄ x,y ×o±êÍ⣬Eç1ûδָ¶¨£¬½«ÔÚµ±Ç°Eó±êλÖAIÔE_¡£ + *m: showby && Ö¸¶¨±íµ¥µÄÄ3¸ö¶ÔI󣬽«ÔÚ¸A¶ÔIóµÄI·½µ_3ö²Ëµ¥¡£ + *m: transparentblta && See win32Api TransparentBlt + *p: classlibraryroot && AàÔ­E¼Â·_¶Aû + *p: hmenu && Ö÷²Ëµ¥µÄ²Ëµ¥_ä±ú + *p: lownerdraw && EÇ·ñE1ÓA×Ô»æ²Ëµ¥£¬Eç1û .F. ºöÂÔËùÓD»æÖÆEôDÔ¡¢²ÎEý×öΪ±ê×¼ Windows ²Ëµ¥¡£ + *p: lselectedenabled && (¶ÁD´) Ö»¶Ô Enabled = .T. µÄ²Ëµ¥Iî½oDD»æÖÆÑ¡¶¨¿ò + *p: lshareicons && (¶Á¶¨) EÇ·ñE1ÓA1²Iíͼ±ê¿â£¬Eç1û´ËֵΪ .T.£¬Í¼±ê¿â»á±»O»Ö±±£3Ö£¬OÔ±ÜAâÖO¸´¶ÁE¡¡£Eç´ËֵΪ .F.£¬ÔòΪA¿¸öEµAý´´½¨µ¥¶Aͼ±êË÷Oý¿â¡£(µ÷EÔ×´I¬ÇëÉèΪ .F.) + *p: nbarfillcolor1 && EµÉ«Iî3ä²Ëµ¥²à±ßA¸»òOß½¥±äE±£¬ÉèÖAIî3äÉ«»òOß½¥±äµÄÆdE¼É«¡£ + *p: nbarfillcolor2 && EµÉ«Iî3ä²Ëµ¥²à±ßA¸»òOß½¥±äE±£¬ÉèÖAIî3äÉ«»òOß½¥±äµÄ½áEoÉ«¡£ + *p: nbarstyle && (¶ÁD´) ²à±ßA¸ÑùE½¡£0=Î_,1=EµÉ«Iî3ä,2=ˮƽ1ý¶É,3=´1Ö±1ý¶É + *p: nbarwidth && (¶ÁD´) ²à±ßA¸¿í¶E + *p: nhwnd && ´°¿Ú_ä±ú + *p: nimageleft && (¶ÁD´) ͼ±êÇoÓòµÄ×ó±ß_à + *p: nitemheight && (¶ÁD´) ×îD¡²Ëµ¥Iî¸ß¶E£¬µ±ÖµD¡ÓÚµEÓÚ 0 E±£¬×Ô¶_¼ÆËa¡£ + *p: nitemwidth && (¶ÁD´) ×îD¡²Ëµ¥Iî¿í¶E£¬µ±´ËÖµD¡ÓÚµEÓÚ 0 E±£¬ ×Ô¶_¼ÆËa¡£ + *p: nmaxlen && ¼Ç¼×î3¤Îı_µÄ3¤¶E£¬ÔÚÄÚ´æ·ÖÅäµOÖ·ÓAµ½´ËÖµ¡£ + *p: nmenubackcolor && (¶ÁD´) ÉèÖA²Ëµ¥±3_°É«£¬´ËÖµD¡ÓÚ0E±E¡IµÍ3ÉèÖA + *p: nmenuheight && (Ö»¶Á) Ö÷IÔE_²Ëµ¥¸ß¶E + *p: nmenuwidth && (Ö»¶Á) Ö÷IÔE_²Ëµ¥¿í¶E + *p: nreturn && ·µ»OÖµ·½E½¡£0=Ë÷Oý,1 = cKey, 3 = A¸Ä¿Îı_, 4=¶ÔIó + *p: nselectedbackcolor && (¶ÁD´) µ±Ç°Ñ¡¶¨IîµÄ±3_°É«£¬´ËÖµD¡ÓÚ 0 E±E¡IµÍ3ÉèÖA + *p: nselectedbordercolor && (¶ÁD´) Ñ¡¶¨_ODεı߿òÉ«£¬´ËÖµD¡ÓÚ 0 E±E¡IµÍ3ÉèÖA + *p: nselectedforecolor && (¶ÁD´) Ñ¡¶¨IîµÄǰ_°É«£¬´ËÖµD¡ÓÚ 0 E±E¡IµÍ3ÉèÖA¡£ + *p: nselectedimagestyle && (¶ÁD´) Ñ¡¶¨Í¼±êµÄÑùE½ 0=Î_, 1=Í1Æd,2=µ¥¶AÑ¡¶¨ + *p: nselectedroundx && (¶ÁD´) ÍÖÔ²_ODÎÑ¡¶¨¿òµÄÔ²½Ç¿í¶E + *p: nselectedroundy && (¶ÁD´) ÍÖÔ²_ODÎÑ¡¶¨¿òµÄÔ²½Ç¸ß¶E + *p: nselectedstyle && Ñ¡ÖDIo·ç¸ñ 0=±ê×¼±3_°, 1=_ODοòÑ¡¶¨¿ò,2=ÍÖԲѡ¶¨¿ò,3=Í1ÆdÑ¡¶¨¿ò,4=°¼IÂÑ¡¶¨¿ò + *p: ntextleft && ÉèÖAÎı_ÇoµÄ×ó±ß_à + *p: ntextmargin && Îı_ÇoÄÚÎı_µÄµÄËo½oÖµ + *p: ocollections && A¸Ä¿×ܼ_ºI£¬CreateItems E±Ö¸Iò¸÷¸öA¸Ä¿¡£´´½¨Íê3ɺóIú»U¡£ + *p: oitems && ²Ëµ¥A¸Ä¿¼_ºI£¬±£´æ¸÷¸öA¸Ä¿¶ÔIó + *p: oreficons && Ö¸Iòͼ±êEO¼_Æ÷ + *p: pproc && ½o3IÖ¸Oë + * + + HIDDEN nhwnd,nmaxlen,nmenuheight,nmenuwidth,ocollections,oitems,oreficons,pproc + * + classlibraryroot = "" + Height = 17 + hmenu = 0 + lownerdraw = .F. + lselectedenabled = .F. + lshareicons = .T. + Name = "popmenu" + nbarfillcolor1 = -1 + nbarfillcolor2 = -1 + nbarstyle = 0 + nbarwidth = 19 + nhwnd = 0 + nimageleft = 0 + nitemheight = 0 + nitemwidth = 0 + nmaxlen = 256 + nmenubackcolor = -1 + nmenuheight = 0 + nmenuwidth = 0 + nreturn = 0 + nselectedbackcolor = -1 + nselectedbordercolor = -1 + nselectedforecolor = -1 + nselectedimagestyle = 0 + nselectedroundx = 12 + nselectedroundy = 12 + nselectedstyle = 0 + ntextleft = 20 + ntextmargin = 2 + ocollections = Ö¸Iò¸÷¸ö²Ëµ¥¼_ºI + oitems = + oreficons = .NULL. + pproc = 0 + Width = 17 + * + + PROCEDURE about && 1OÓÚ±_Aà + ********************************************** + *** + *** Popup Menu Class + *** Version + *** + *** Author by: Ê©Áè·å + *** Create date: 2008.05.29 + *** Last update: 2008.06.04 + *** + ********************************************** + *** + *** Èç¹ûËüȷʵ¶ÔÄúÓÐËù°ïÖú£¬²¢ÇÒÄãÒ²·Ç³£Ï²»¶£¬Äú¿ÉÒÔͨ¹ýÍøÉÏ»ã¿îÂÔ±íÄúµÄÐÄÒ⣬ÈÃÎÒÃÇÔÚÐÁÀÍÖÆ×÷Öеõ½ÐÀο, лл¡£ + *** + *** ÒøÐÐÕ˺Š+ *** Öйú¹¤ÉÌÒøÐУº 9558 8014 0810 5404 077 + *** Öйú½¨ÉèÒøÐУº 4367 4218 3350 0044 031 + *** ¿ª»§ÈË£ºÊ©Áè·å + *** + *** ÔÞÖú½ð¶î²»ÏÞ£¬Ö»×÷¶ÔÎÒÃÇŬÁ¦µÄÈϿɡ£ + *** + *** ÎÒÃǵÄÍøÖ·£ºhttp://xykjsoft.blog.163.com + *** + *** + *** ²âÊÔ»·¾³£ºWindows 2000¡¢Windows XP + *** ¿ª·¢ÓïÑÔ£ºVfp9 SP2 + *** + ENDPROC + + PROCEDURE add && Ií¼Ó²Ëµ¥Iî¡£LPARAMETERS tcParentKey, tcKey, tcTitle, tcCommand, tcPicture, tvEnabled, tnAddFlag + LPARAMETERS tcParentKey, tcKey, tcTitle, tcCommand, tcPicture, tvEnabled, tnAddFlag + + *-- tvParentKey ¸¸Ç× Key + *-- tcKey ²Ëµ¥ Id + *-- tcCaption ²Ëµ¥±êÌâ + *-- tcCommand ²Ëµ¥½á¹û£¬Ö´ÐÐÃüÁî´® + *-- tvEnabled ²Ëµ¥ Enalbed ״̬£¬¿ÉÒÔÊÇÂß¼­Á¢¼´Öµ»òÕßÂß¼­Ðͱí´ïʽ + *-- tnAddFlag Óû§Ìí¼ÓµÄ×Ô¶¨Òå Id + + *!* Ìí¼ÓÒ»¸ö²Ëµ¥Ïî, tnAddFlag = 0x00 ±ê×¼²Ëµ¥Ï0x20 = »»Áв˵¥Ïî, 0x08 = Check¡£ + + Private loItem, lcParentKey, lcKey, loParent + Local loItem, lcParentKey, lcKey, loParent + + loItem = This.NewItem() + + If Not VarType(m.tcParentKey) = "C" + MessageBox("ÇëÖ¸¶¨¸¸À¸Ä¿ Key£¬Èç²»ÐèÒªÇëʹÓÿÕ×Ö·û´®¡£", 16, "PopMenu.Add") + Return m.loItem + EndIf + If Not VarType(m.tcKey) = "C" + MessageBox("ÇëÖ¸¶¨ÐÂÀ¸Ä¿ Key£¬Èç²»ÐèÒªÇëʹÓÿÕ×Ö·û´®¡£", 16, "PopMenu.Add") + Return m.loItem + EndIf + + lcParentKey = Alltrim(m.tcParentKey) + lcKey = Iif(Empty(m.tcKey), Sys(2015), Alltrim(m.tcKey)) + + If This.oItems.GetKey(m.lcKey) > 0 + MessageBox("Ö¸¶¨µÄÀ¸Ä¿ Key ¼º¾­´æÔÚ£¬ÇëΪÀ¸Ä¿Ö¸¶¨²»Í¬ Key¡£", 16, "PopMenu.Add") + Return m.loItem + EndIf + + If Not Empty(m.tcParentKey) ; + And Not This.oItems.GetKey(m.tcParentKey) > 0 + MessageBox("Ö¸¶¨µÄ¸¸À¸Ä¿ Key ²»´æÔÚ£¬Çë¼ì²é¸¸À¸Ä¿µÄ Key Öµ¡£", 16, "PopMenu.Add") + Return m.loItem + EndIf + + *-- ¼ÓÈ뼯ºÏ + This.oItems.Add(m.loItem, m.lcKey) + + loItem.cKey = m.lcKey + loItem.cParentKey = m.lcParentKey + loItem.nIndex = This.oItems.Count + loItem.cTitle = Transform(m.tcTitle) + loItem.cCommand = Iif(Vartype(m.tcCommand) = "C", m.tcCommand, "") + loItem.cPicture = Iif(Vartype(m.tcPicture) = "C", m.tcPicture, "") + loItem.cEnabled = Iif(PCount() >= 6, Transform(m.tvEnabled), "") + loItem.nFlags = Iif(Vartype(m.tnAddFlag) = "N", m.tnAddFlag, 0) + loItem.nWidth = This.nItemWidth + loItem.nHeight = This.nItemHeight + If Not Empty(m.lcParentKey) + loParent = This.oItems.Item(This.oItems.GetKey(m.lcParentKey)) + loParent.nFlags = BitOr(loParent.nFlags, MF_POPUP) + EndIf + + *-- Êý¾ÝÓз¢Éú±ä»¯£¬Çå³ýÐÅÏ¢ + This.nMenuWidth = 0 + This.nMenuHeight = 0 + This.DestroyMenus() + + Return m.loItem + ENDPROC + + PROCEDURE additem && Ií¼Ó²Ëµ¥Iî: tnId, tcCaption, tcCommand, tlEnabled, tnAddFlag. 0x20 »»ÁD, 0x08 Check¡£ + LPARAMETERS tcCaption, tcCommand, tvEnabled, tnAddFlag + + Return This.Add("", "", m.tcCaption, m.tcCommand, "", Iif(PCount()>=3, m.tvEnabled, ""), m.tnAddFlag) + ENDPROC + + HIDDEN PROCEDURE bindevents + Lparameters tlBindevent + + If This.pProc = 0 + This.pProc = GetWindowLong(This.nHwnd, GWL_WNDPROC) + EndIf + + If m.tlBindevent = .T. + BindEvent(This.nHwnd, WM_MEASUREITEM, This, "CallBack_Proc") + BindEvent(This.nHwnd, WM_DRAWITEM, This, "CallBack_Proc") + BindEvent(This.nHwnd, WM_MENUCHAR, This, "CallBack_Proc") + Else + UnBindEvent(This.nHwnd, WM_MENUCHAR) + UnBindEvent(This.nHwnd, WM_MEASUREITEM) + UnBindEvent(This.nHwnd, WM_DRAWITEM) + EndIf + + ENDPROC + + HIDDEN PROCEDURE b_drawmenuitem + LPARAMETERS tplParam + + ** tplParam = pointer to DrawItemStruct + + Private lhDestDC, lhOldDC, lhDC, lpItem, lnItemState, lnItemId, loItem + Private lnRectLeft, lnRectTop, lnRectRight, lnRectBottom + Private lnTxtLeft, lnTxtTop, lnTxtRight, lnTxtBottom, lnColor + Private lnBmpLeft, lnBmpTop, lnBmpRight, lnBmpBottom + Private lcRect, lhTmp, lhBrush, llSelect, llEnabled, lcTitle + + Local lhDestDC, lhOldDC, lhDC, lpItem, lnItemState, lnItemId, loItem + Local lnRectLeft, lnRectTop, lnRectRight, lnRectBottom + Local lnTxtLeft, lnTxtTop, lnTxtRight, lnTxtBottom, lnColor + Local lnBmpLeft, lnBmpTop, lnBmpRight, lnBmpBottom + Local lcRect, lhTmp, lhBrush, llSelect, llEnabled, lcTitle + + Store 0 to lpItem, lhDC, lnItemState, lnItemId + + *-- È¡»Ø½á¹¹ÐÅÏ¢ + CopyMem2NumA(@m.lpItem, m.tplParam + DWORD_SIZE * 11, DWORD_SIZE) && PopItem Data + CopyMem2NumA(@m.lnItemState, m.tplParam + DWORD_SIZE * 4, DWORD_SIZE) && PopItem State + CopyMem2NumA(@m.lhDestDC, m.tplParam + DWORD_SIZE * 6, DWORD_SIZE) && PopItem hDC + + *-- È¡»Ø¼¯ºÏϱê + CopyMem2NumA(@m.lnItemId, m.lpItem + This.nMaxLen, DWORD_SIZE) + + If Not Between(m.lnItemId, 1, This.oCollections.Count) + Return + EndIf + loItem = This.oCollections.Item(m.lnItemId) + + lcTitle = loItem.cTitle2 + + *-- È¡»æÍ¼ÇøÓò½á¹¹ + Store 0 To lnRectLeft, lnRectTop, lnRectRight, lnRectBottom + lcRect = Replicate(Chr(0), DWORD_SIZE * 4) + CopyMem2StrA(@m.lcRect, m.tplParam + DWORD_SIZE * 7, DWORD_SIZE * 4) + This.Get_Rect_Num(m.lcRect, @m.lnRectLeft, @m.lnRectTop, @m.lnRectRight, @m.lnRectBottom) + + llEnabled = BitAnd(m.lnItemState, ODS_DISABLED ) = 0 + llSelected = BitAnd(m.lnItemState, ODS_SELECTED) <> 0 + + *-- ͼ±ê½á¹¹ + lnBmpLeft = m.lnRectLeft + This.nImageLeft + lnBmpTop = m.lnRectTop + lnBmpRight = m.lnBmpLeft + (m.lnRectBottom - lnRectTop) && ¸ß¶È»òÕß²à±ßÀ¸µÄ¿í¶È + lnBmpBottom = m.lnRectBottom + + *-- ÎÄ×ֽṹ + lnTxtLeft = m.lnRectLeft + This.nTextLeft + lnTxtTop = m.lnRectTop + lnTxtRight = m.lnRectRight + lnTxtBottom = m.lnRectBottom + + *============ ½áÊø×¼±¸ + *============ ²½Öè 1/3£º»æÖÆÍ¼ÐÎ + *-- + *-- ´´½¨¼æÈÝÉ豸±ÜÃâÉÁ˸, vfp ʵÔÚÌ«ÂýÌ«ÂýÁË + *-- + lhTmp = CreateCompatibleBitmap(m.lhDestDC, m.lnRectRight, m.lnRectBottom) + lhDC = CreateCompatibleDC(m.lhDestDC) + lhOldDC = SelectObject(m.lhDC, m.lhTmp) + DeleteObject(m.lhTmp) + + BitBlt(m.lhDC, m.lnRectLeft, m.lnRectTop, m.lnRectRight, m.lnRectBottom, ; + m.lhDestDC, m.lnRectLeft, m.lnRectTop, SRCCOPY) + + *-- Çå¿ÕÖØ»­²Ëµ¥±³¾° + SetBkMode(m.lhDC, TRANSPARENT) + + If This.nMenuBackColor < 0 + lhBrush = CreateSolidBrush(GetSysColor(COLOR_MENU)) + Else + lhBrush = CreateSolidBrush(This.nMenuBackColor) + EndIf + FillRect(m.lhDC, m.lcRect, m.lhBrush) + DeleteObject(m.lhBrush) + + *-- ÏÈ»­²Ëµ¥Ïî·Ö¸ôÌõ£¬±ÜÃâÆÆ»µ²à±ßÀ¸ + If Empty(m.lcTitle) + This.Draw_Separator(m.lhDC, m.lnRectLeft, m.lnRectTop, m.lnRectRight, m.lnRectBottom) + EndIf + + *-- »­²à±ßÀ¸£¬¿í¶È + If This.nBarStyle > 0 + This.Draw_Bar(m.lhDC, m.loItem, m.lnRectLeft, m.lnRectTop, m.lnRectLeft + This.nBarWidth, m.lnRectBottom) + EndIf + + *-- »­²Ëµ¥Ñ¡¶¨Ð§¹û + If m.llSelected + This.Draw_Selected(m.lhDC, m.loItem, m.llEnabled, m.lnRectLeft, m.lnRectTop, m.lnRectRight, m.lnRectBottom, m.lnBmpLeft, m.lnTxtLeft) + EndIf + + *-- ÏÈ»­Î»Í¼£¬±ÜÃâÒòΪ»­ÎÄ×ÖʱÉèÖñ³¾°É«Ó°Ïì͸ʱ×ÅÉ« + If (loItem.hPic <> 0) + This.Draw_Image(m.lhDC, m.loItem, m.llEnabled, m.lnBmpLeft, m.lnBmpTop, m.lnBmpRight, m.lnBmpBottom) + EndIf + + *============ ²½Öè 2/3£ºÍ¼ÏñÍê³É»æÖÆ£¬¿½»ØÖ÷ DC + BitBlt(lhDestDC, lnRectLeft, lnRectTop, lnRectRight, lnRectBottom, ; + lhDC, lnRectLeft, lnRectTop, SRCCOPY) + SelectObject(lhDC, lhOldDC) + DeleteDC(lhDC) + lhDC = lhDestDC + + *============ ²½Öè 3/3£º»æÖÆÎÄ×Ö + *-- ÉèÖÃ͸Ã÷ģʽ + SetBkMode(lhDC, TRANSPARENT) + + *-- »­²Ëµ¥ÏîÄÚÈÝ + If Not Empty(m.lcTitle) + *-- »­Êó±êËùÔÚÏîµÄ±³Ó° + If m.llSelected + If m.llEnabled + lnColor = Iif(This.nSelectedForeColor = -1, GetSysColor(COLOR_HIGHLIGHTTEXT), This.nSelectedForeColor) + This.Draw_Text(lhDC, m.lcTitle, lnColor, lnTxtLeft, lnTxtTop, lnTxtRight, lnTxtBottom) + Else + If This.lSelectedEnabled = .T. + This.Draw_Text(lhDC, m.lcTitle, GetSysColor(COLOR_HIGHLIGHTTEXT), lnTxtLeft + 1, lnTxtTop + 2, lnTxtRight, lnTxtBottom) + This.Draw_Text(lhDC, m.lcTitle, GetSysColor(COLOR_GRAYTEXT), lnTxtLeft, lnTxtTop, lnTxtRight, lnTxtBottom) + Else + This.Draw_Text(lhDC, m.lcTitle, GetSysColor(COLOR_GRAYTEXT), lnTxtLeft, lnTxtTop, lnTxtRight, lnTxtBottom) + EndIf + EndIf + Else + *-- »­ÆäËûÏîÎÄ×Ö + If m.llEnabled + This.Draw_Text(lhDC, m.lcTitle, GetSysColor(COLOR_MENUTEXT), lnTxtLeft, lnTxtTop, lnTxtRight, lnTxtBottom) + Else + This.Draw_Text(lhDC, m.lcTitle, GetSysColor(COLOR_HIGHLIGHTTEXT), lnTxtLeft + 1, lnTxtTop + 2, lnTxtRight, lnTxtBottom) + This.Draw_Text(lhDC, m.lcTitle, GetSysColor(COLOR_GRAYTEXT), lnTxtLeft, lnTxtTop, lnTxtRight, lnTxtBottom) + EndIf + EndIf + EndIf + + If m.llSelected + If Not Empty(loItem.cMessage) + Set Message To loItem.cMessage + Else + Set Message To + EndIf + EndIf + ENDPROC + + HIDDEN PROCEDURE b_measuremenuitem + LPARAMETERS thWnd, tplParam + + ** tplParam = pointer to MeasureItemStruct + + *-- + *-- дÈë²Ëµ¥¸ß¶ÈÓë¿í¶È + *-- + + Private lpItem, lnItemId, loItem + Private lpItem, lnItemId, loItem + + Store 0 to lpItem, lnItemId + + *-- È¡»Ø¼¯ºÏϱê + CopyMem2NumA(@m.lpItem, m.tplParam + DWORD_SIZE * 5, DWORD_SIZE) + CopyMem2NumA(@m.lnItemId, m.lpItem + This.nMaxLen, DWORD_SIZE) + + If Between(m.lnItemId, 1, This.oCollections.Count) + loItem = This.oCollections.Item(m.lnItemId) + + CopyNum2MemA(m.tplParam + (DWORD_SIZE * 3), loItem.nWidth, DWORD_SIZE) + CopyNum2MemA(m.tplParam + (DWORD_SIZE * 4), loItem.nHeight, DWORD_SIZE) + EndIf + ENDPROC + + HIDDEN PROCEDURE b_menuchar + ENDPROC + + HIDDEN PROCEDURE callback_proc + LParameters thWnd, tnMsg, tpwParam, tplParam + + Private lcChr, lhMenu, loMenuItem, lnIndex + Local lcChr, lhMenu, loMenuItem, lnIndex + + Do Case + Case (m.tnMsg == WM_MEASUREITEM) + This.b_MeasureMenuItem(m.thWnd, m.tplParam) + Return .T. + + Case (m.tnMsg == WM_DRAWITEM) + This.b_DrawMenuItem(m.tplParam) + Return .T. + + Case (m.tnMsg == WM_MENUCHAR) + *-- ×ÊÁÏÀ´Ô´ + *-- http://msdn.microsoft.com/en-us/library/ms646349(VS.85).aspx + *-- + + lhMenu = m.tplParam + lcChr = "&" + Upper(Chr(BitAnd(m.tpwParam, 0xFF))) + lnIndex = 0 + For Each loMenuItem In This.oCollections + If m.lhMenu = loMenuItem.hParent + If lcChr $ Upper(loMenuItem.cTitle2) + If loMenuItem.lEnabled + Return BitLShift(MNC_EXECUTE, 16 ) + m.lnIndex + Else + Exit For + EndIf + EndIf + m.lnIndex = m.lnIndex + 1 + EndIf + EndFor + + Return 0 + EndCase + + Return CallWindowProc(This.pProc, m.thWnd, m.tnMsg, m.twParam, m.tlParam) + + ENDPROC + + PROCEDURE clear && Çå3ý×éºI¿ò»òÁD±í¿ò¿O¼_ÖDµÄÄÚEÝ¡£ + This.DestroyMenus() + + This.oItems = NewObject("Collection") + This.oCollections = NewObject("Collection") + + ENDPROC + + PROCEDURE createcontext && ´´½¨ÓëÖ¸IòÁíO»¸ö²Ëµ¥Áª½Ó + LPARAMETERS tvItem, toPopMenu + + Local loItem, lnItem + + loItem = NULL + + If Vartype(toPopMenu) <> "O" ; + Or Not toPopMenu.Class == This.Class ; + Or toPopMenu = This + Messagebox("´´½¨²Ëµ¥ÁªÏµÊ§°Ü£¡ÇëÖ¸¶¨ÁíÒ»¸ö PopMenu ʵÀý¶ÔÏó£¡", 16, "PopMenu.CreateContext") + Return .F. + EndIf + + Do Case + Case Vartype(tvItem) = "C" + lnItem = This.oItems.GetKey(m.tvItem) + If lnItem > 0 + loItem = This.oItems.Item(m.lnItem) + EndIf + + Case Vartype(tvItem) = "O" And PemStatus(m.tvItem, "oRefMenu", 5) + loItem = m.tvItem + + EndCase + + If IsNull(loItem) + Messagebox("´´½¨²Ëµ¥ÁªÏµÊ§°Ü£¡ÇëÖ¸¶¨Ò»¸öÀ¸Ä¿¶ÔÏó»òÕßÀ¸Ä¿ KEY £¡", 16, "PopMenu.CreateContext") + Return .F. + Else + loItem.nFlags = MF_POPUP + loItem.oRefMenu = m.toPopMenu + EndIf + + Return .T. + ENDPROC + + PROCEDURE createmenus + LPARAMETERS toCollection, thMenu + + Private loItem, loParent, loPopMenu, lnFlags, lcTitle, lcEnabled, llEnabled, lnAddress + Local loItem, loParent, loPopMenu, lnFlags, lcTitle, lcEnabled, llEnabled, lnAddress + + + If This.nMenuWidth = 0 Or This.nMenuHeight = 0 + If Not This.InitItems() + MessageBox("³õʼ»¯Ê§°Ü£¡", 16, "PopMenu.CreateMenus") + Return NULL + EndIf + EndIf + + For Each loItem In This.oItems + toCollection.Add(m.loItem) + + loItem.hParent = m.thMenu + loItem.lEnabled = .T. + + loPopMenu = NULL + lcTitle = Left(loItem.cTitle2, This.nMaxLen) + lnFlags = loItem.nFlags + If Empty(m.lcTitle) + lnFlags = BitOr(m.lnFlags, MF_SEPARATOR) + EndIf + If Not Empty(loItem.cEnabled) + If Type("Evaluate(loItem.cEnabled)") = "L" ; + And Evaluate(loItem.cEnabled) = .F. + loItem.lEnabled = .F. + lnFlags = BitOr(m.lnFlags, BitOr(MF_GRAYED, MF_DISABLED)) + EndIf + EndIf + lnFlags = BitOr(m.lnFlags, Iif(This.lOwnerDraw, MF_OWNERDRAW, MF_BYCOMMAND)) + + *-- ¼ìЧÉÏÏÂÎÄÁªÏµ²Ëµ¥ + If Not IsNull(loItem.oRefMenu) + Do Case + Case Vartype(loItem.oRefMenu) <> "O" + Case IsNull(loItem.oRefMenu) + Case Not loItem.oRefMenu.Class == This.Class + Otherwise + loPopMenu = loItem.oRefMenu + EndCase + EndIf + + If Vartype(m.loPopMenu) = "O" + lnFlags = Bitor(m.lnFlags, MF_POPUP) + EndIf + + *-- ÉêÇëÓë¸´ÖÆÐÅÏ¢µ½ÄÚ´æ + lnAddress = LocalAlloc(LPTR, This.nMaxLen + DWORD_SIZE) + loItem.nAddress = m.lnAddress + + CopyStr2MemA(loItem.nAddress, m.lcTitle, Len(m.lcTitle)) + CopyNum2MemA(loItem.nAddress + This.nMaxLen, toCollection.Count, 4) + + If Vartype(This.oRefIcons) = "O" And Not IsNull(This.oRefIcons) + *-- ÔØÈëͼ±ê + loItem.hPic = This.oRefIcons.LoadImage(loItem.cPicture) + If Upper(Right(loItem.cPicture, 4)) = ".BMP" + *-- ÔØÈëλͼÑÚÂë + loItem.hMsk = This.oRefIcons.LoadImage(ForceExt(loItem.cPicture, "msk")) + EndIf + EndIf + + If Not Empty(loItem.cParentKey) + *-- È¡¸¸Ç×½Úµã + loParent = This.oItems.Item(This.oItems.GetKey(loItem.cParentKey)) + If loParent.hMenu = 0 + *-- Òì³£³ö´í + Loop + EndIf + Else + loParent = NULL + EndIf + + *-- ÕâÊÇÒ»¸ö×Ӳ˵¥Ïî + If Bittest(m.lnFlags, 4) Or Not IsNull(loItem.oRefMenu) + loItem.hMenu = CreatePopupMenu() + If IsNull(m.loParent) + AppendMenu(m.thMenu, m.lnFlags, loItem.hMenu, m.lnAddress) + Else + loItem.hParent = m.loParent.hMenu + AppendMenu(m.loParent.hMenu, m.lnFlags, loItem.hMenu, m.lnAddress) + EndIf + *-- Ö¸ÏòÁíÒ»¸ö²Ëµ¥£¬´´½¨Áª½Ó²Ëµ¥ + If Vartype(m.loPopMenu) = "O" + loPopMenu.CreateMenus(m.toCollection, loItem.hMenu) + EndIf + Else + If IsNull(m.loParent) + AppendMenu(m.thMenu, m.lnFlags, WM_USER + toCollection.Count, m.lnAddress) + Else + loItem.hParent = m.loParent.hMenu + AppendMenu(loParent.hMenu, m.lnFlags, WM_USER + toCollection.Count, m.lnAddress) + EndIf + EndIf + EndFor + + Return .T. + ENDPROC + + PROCEDURE declare_dlls + Declare Long SetForegroundWindow In "User32" ; + Long hwnd + + Declare Long GetCursorPos In "User32" ; + String @lpPoint + + Declare Long GetActiveWindow In "User32" + + Declare Long GetWindowLong In "User32" ; + Long nhWnd, Long nIndex + + Declare Long GetDC in "User32" ; + Long nhWnd + + Declare Long GetSysColor In "User32" ; + Long nIndex + + Declare Long GetSystemMetrics In "User32" ; + Long nIndex + + Declare Long GetIconInfo In "User32"; + Long hIcon, String @ piconinfo + + Declare Long ClientToScreen In "User32" ; + Long nhWnd, String @lpPoint + + Declare Long CallWindowProc In "User32" ; + Long lpPrevWndFunc, Long nhWnd, Long uMsg, Long wParam, Long lParam + + Declare Long ReleaseDC In "User32" ; + Long nhWnd, Long hDC + + Declare Long DrawText In "User32" ; + Long hDC, String lpString, Long nCount, ; + String @lpRect, Long uFormat + + Declare Long DrawEdge In "User32" ; + Long hDC, String @lpRect, Long Edge, Long grfFlags + + Declare Long DrawState In "User32" ; + Long hdc, Long hbr, Long lpOutputFunc, Long lData, ; + Long wData, Long x, Long y, Long cx, Long cy, Long fuFlags + + Declare Long DrawIconEx In "User32" ; + Long hdc, Long xLeft, Long yTop, Long hIcon, ; + Long cxWidth, Long cyWidth, Long istepIfAniCur, ; + Long hbrFlickerFreeDraw, Long diFlags + + Declare Long CreatePopupMenu In "User32" + + Declare Long TrackPopupMenu In "User32" ; + Long hMenu, Long uFlags, Long x, Long y, ; + Long nReserved, Long hWnd, String @prcRect + + Declare Long DestroyMenu In "User32" ; + Long hMenu + + Declare Long AppendMenu In "User32" ; + Long hMenu, Long uFlags, Long uIDNewItem, Long lpNewItem + + Declare Long ModifyMenu In "User32" ; + Long hmenu, Long uItem, Long fuFlags, Long idNewItem, Long lpszNewItem + + Declare Long LocalAlloc In "Kernel32" ; + Long uFlags, Long dwBytes + + Declare Long RtlMoveMemory In "Kernel32" As CopyMem2StrA ; + String @lpDest, Long lpSource, Long nLength + Declare Long RtlMoveMemory In "Kernel32" As CopyStr2MemA ; + Long lpDest, String @lpSource, Long nLength + Declare Long RtlMoveMemory In "Kernel32" As CopyMem2NumA ; + Long @lpDest, Long lpSource, Long nLength + Declare Long RtlMoveMemory In "Kernel32" As CopyNum2MemA ; + Long lpDest, Long @lpSource, Long nLength + + Declare Long GetDeviceCaps In "Gdi32" ; + Long hDC, Long nIndex + + Declare Long GetPixel In "Gdi32" ; + Long hDC, Long nXPos, Long nYPos + + Declare Long GetTextExtentPoint32 In "Gdi32" ; + Long hDC, String cString, Long nStrLen, String @pSize + + Declare Long CreateCompatibleDC In "Gdi32" ; + Long hDC + + Declare Long CreateCompatibleBitmap In "Gdi32" ; + Long hdc, Long nWidth, Long nHeight + + Declare Long CreateSolidBrush In "Gdi32" ; + Long crColor + + Declare Long CreatePen In "Gdi32" ; + Long fnPenStyle, Long nWidth, Long crColor + + Declare Long DeleteDC In "Gdi32" ; + Long hDC + + Declare Long DeleteObject In "Gdi32" ; + Long hDC + + Declare Long GetObject In "Gdi32" As GetObjectA ; + Long hGDIobj, Long nBufLen, String @lpvObject + + Declare Long SelectObject In "Gdi32" ; + Long hDC, Long hObject + + Declare Long SetTextColor In "Gdi32" ; + Long hDC, Long crColor + + Declare Long SetBkColor In "Gdi32" ; + Long hDC, Long crColor + + Declare Long SetBkMode In "Gdi32" ; + Long hDC, Long iBkMode + + Declare Long MoveToEx In "Gdi32" ; + Long hDC, Long nX, Long nY, String @lpPoint + + Declare Long LineTo In "Gdi32" ; + Long hDC, Long nEndX, Long nEndY + + Declare Long FillRect In "User32" ; + Long hDC, String @lpRect, Long hBrush + + Declare Long Rectangle In "Gdi32" ; + Long hDC, Long nLeftRect, Long nTopRect, ; + Long nRightRect, Long nBottomRect + + Declare Long RoundRect In "Gdi32" ; + Long hdc, Long nLeftRect, Long nTopRect, Long nRightRect, ; + Long nBottomRect, Long nWidth, Long nHeight + + Declare Long BitBlt In "Gdi32" ; + Long hdcDest, Long x, Long y, Long nWidth, Long nHeight, ; + Long pSrcDC, Long xSrc, Long ySrc, Long dwRop + + Declare Long TransparentBlt In "MsImg32" ; + Long hdcDest, Long nXDest, Long nYDest, ; + Long nWidthDest, Long hHeightDest, ; + Long hdcSrc, Long nXSrc, Long nYSrc, ; + Long nWidthSrc, Long nHeightSrc, ; + Long crTransparent + + ENDPROC + + PROCEDURE Destroy + This.Clear() + ENDPROC + + HIDDEN PROCEDURE destroymenus && Iú»U²Ëµ¥ + Private loItem + Local loItem + + If This.hMenu <> 0 + *-- Ïú»Ù×Ӳ˵¥ + If Vartype(This.oCollections) = "O" + For Each loItem In This.oCollections + If loItem.hMenu <> 0 + DestroyMenu(loItem.hMenu) + loItem.hMenu = 0 + EndIf + *-- Ïú»ÙͼÐÎÄÚ´æ + + EndFor + EndIf + + *-- Ïú»ÙÖ÷²Ëµ¥ + DestroyMenu(This.hMenu) + This.hMenu = 0 + EndIf + ENDPROC + + HIDDEN PROCEDURE drawgradualrect && Ö¸¶¨ÇoÓòºóÓAÖ¸¶¨ÑOÉ«»æÖÆ¡£¿Éѡˮƽ»ò´1Ö±¡£ + LPARAMETERS thDC, tnLeft, tnTop, tnRight, tnBottom, tnColor1, tnColor2, tnType, tnRate + * thDc É豸¾ä±ú + * tnLeft »æÖÆÇøÓòµÄ×ó×ø±ê + * tnTop »æÖÆÇøÓòµÄ¶¥×ø±ê + * tnRight »æÖÆÇøÓòµÄÓÒ×ø±ê + * tnBottom »æÖÆÇøÓòµÄµ××ø±ê + * tnColor1 Æðʼ½¥±äÉ« + * tnColor2 ½áÊø½¥±äÉ« + * tnType »áÖÆÀàÐÍ 0 ˮƽ»æÖÆ£¬1 ´¹Ö±»æÖÆ + + Private lnStartR, lnStartG, lnStartB, lnRed, lnGreen, lnBlue, lnNowR, lnNowG, lnNowB + Private lnIndex, lnCount, lhOldPen, lhPen, lnAdd, lnRate + Local lnStartR, lnStartG, lnStartB, lnRed, lnGreen, lnBlue, lnNowR, lnNowG, lnNowB + Local lnIndex, lnCount, lhOldPen, lhPen, lnAdd, lnRate + + *-- ˮƽ¹ý¶ÉÉ« + lnStartR = BitAnd(m.tnColor1, 0x0000FF) + lnStartG = BitRShift(BitAnd(m.tnColor1, 0x00FF00), 8) + lnStartB = BitRShift(BitAnd(m.tnColor1, 0xFF0000), 16) + + lnRed = lnStartR - BitAnd(m.tnColor2, 0x0000FF) + lnGreen = lnStartG - BitRShift(BitAnd(m.tnColor2, 0x00FF00), 8) + lnBlue = lnStartB - BitRShift(BitAnd(m.tnColor2, 0xFF0000), 16) + + *- Èç¹ûÓд«µÝ tnRate£¬Ôò°´´Ë±È½Ï¼ÆË㣬ÓÃÓÚÖ»»­ÕûÌõ½¥±äÖеÄijһ¶Î¾Ö²¿ + If Vartype(m.tnRate) = "N" + lnAdd = 0 + lnRate = m.tnRate + lnIndex = Iif(tnType = 0, tnLeft, tnTop) + lnCount = Iif(tnType = 0, tnRight, tnBottom) + Else + lnIndex = 0 + lnAdd = Iif(tnType = 0, tnLeft, tnTop) + lnCount = Iif(tnType = 0, tnRight - tnLeft, tnBottom - tnTop) + lnRate = lnCount - lnIndex + EndIf + lnIndex = lnIndex + lnCount = lnCount + + For lnIndex = lnIndex To lnCount + lnNowR = m.lnStartR - Ceiling(lnIndex / lnRate * m.lnRed) + lnNowG = m.lnStartG - Ceiling(lnIndex / lnRate * m.lnGreen) + lnNowB = m.lnStartB - Ceiling(lnIndex / lnRate * m.lnBlue) + + lhPen = CreatePen(PS_SOLID, 1, Rgb(m.lnNowR, m.lnNowG, m.lnNowB)) + lhOldPen = SelectObject(m.thDC, m.lhPen) + If tnType = 0 + *-- ˮƽ»æÖÆ + MoveToEx(m.thDC, lnAdd + m.lnIndex - 1, m.tnTop, 0) + LineTo(m.thDC, lnAdd + m.lnIndex - 1, m.tnBottom) + Else + *-- ´¹Ö±»æÖÆ + MoveToEx(m.thDC, m.tnLeft, lnAdd + m.lnIndex - 1, 0) + LineTo(m.thDC, m.tnRight, lnAdd + m.lnIndex - 1) + EndIf + DeleteObject(m.lhPen) + SelectObject(thDC, lhOldPen) + EndFor + ENDPROC + + HIDDEN PROCEDURE draw_bar && »­²à±ßIo + LPARAMETERS thDC, toItem, tnLeft, tnTop, tnRight, tnBottom + + Private lcRect, lhBrush, lnFillColor1, lnFillColor2 + Local lcRect, lhBrush, lnFillColor1, lnFillColor2 + + lnFillColor1 = Iif(This.nBarFillColor1 < 0, GetSysColor(COLOR_ACTIVECAPTION), This.nBarFillColor1) + lnFillColor2 = Iif(This.nBarFillColor2 < 0, GetSysColor(COLOR_GRADIENTACTIVECAPTION), This.nBarFillColor2) + + *-- »­²à±ßÀ¸ + Do Case + Case This.nBarStyle = 0 + *-- ÎÞ²à±ßÀ¸ + + Case This.nBarStyle = 1 + *-- ʵɫÌî³ä²à±ßÀ¸ + lcRect = This.Get_Rect_Str(tnLeft, tnTop, tnRight, tnBottom) + lhBrush = CreateSolidBrush(m.lnFillColor1) + FillRect(m.thDC, m.lcRect, m.lhBrush) + DeleteObject(m.lhBrush) + + Case This.nBarStyle = 2 + *-- ˮƽ¹ý¶ÉÉ« + This.DrawGradualRect(m.thDC, tnLeft, tnTop, tnRight, tnBottom, m.lnFillColor1, m.lnFillColor2, 0) + + Case This.nBarStyle = 3 + *-- ´¹Ö±¹ý¶ÉÉ« + If This.nMenuHeight > 0 + This.DrawGradualRect(thDC, tnLeft, tnTop, tnRight, tnBottom, lnFillColor2, lnFillColor1, 1, This.nMenuHeight) + EndIf + + Case This.nBarStyle = 4 + *-- ²à±ßÀ¸Ìùͼ + + EndCase + + ENDPROC + + HIDDEN PROCEDURE draw_image && »­Í¼Iñ + LPARAMETERS thDC, toItem, tlEnabled, tnLeft, tnTop, tnRight, tnBottom + + *-- ·½·¨¶þ£¬Ö±½ÓÓà DrawState »æÖÆ + Private lcExt, lhPic, lhMsk, lnLeft, lnTop, lnWidth, lnHeight, lsBitmap, lnBmpW, lnBmpH + Private lhMskDC, lhBmpDC, lhOldBmp, lhOldMsk, lhTmp + Local lExt, lhMsk, lcEXt, lnLeft, lnTop, lnWidth, lnHeight, lsBitmap, lnBmpW, lnBmpH + Local lhMskDC, lhBmpDC, lhOldBmp, lhOldMsk, lhTmp + + Store 0 To lhMskDC, lhBmpDC, lhOldBmp, lhOldMsk, lhTmp + + lcExt = Upper(JustExt(toItem.cPicture)) + lhPic = toItem.hPic + lhMsk = toItem.hMsk + If m.lhPic = 0 + Return + EndIf + + *-- ¼ÆËãͼ±êÖÃÖÐλÖà + lnWidth = 16 + lnHeight = 16 + lnLeft = tnLeft + Int((tnRight - tnLeft - lnWidth) / 2) + lnTop = tnTop + Int((tnBottom - tnTop - lnHeight) / 2) + + Do Case + Case lcExt == "BMP" + *!* lsBitmap = Replicate(Chr(0), BITMAP_SIZE) + *!* GetObjectA(lhPic, BITMAP_SIZE, @lsBitmap) + *!* lnBmpW = CToBin(Substr(lsBitmap, (DWORD_SIZE * 1) + 1, 4), "4Rs") + *!* lnBmpH = CToBin(Substr(lsBitmap, (DWORD_SIZE * 2) + 1, 4), "4Rs") + + *-- ʧЧÏîͼƬ±ä°µµÄ´¦Àí + If Not tlEnabled + *-- ´´½¨¼æÈÝÉ豸£¬Ð´ÈëʧЧͼºóÔÙ¿½»Ø£¬ºÚÉ«×öΪ͸Ã÷É« + If lhMsk <> 0 + lhPic = lhMsk + EndIf + lhBmpDc = CreateCompatibleDC(thDC) + lhTmp = CreateCompatibleBitmap(thDC, lnWidth, lnHeight) + lhOldBmp = SelectObject(lhBmpDc, lhTmp) + DrawState(lhBmpDC, 0, 0, lhPic, 0, 0, 0, lnWidth, lnHeight, DST_BITMAP + DSS_DISABLED) + + TransparentBlt(thDC, lnLeft, lnTop, lnWidth, lnHeight, ; + lhBmpDc, 0, 0, lnWidth, lnHeight, Rgb(0, 0, 0)) + + DeleteObject(lhTmp) + SelectObject(lhBmpDc, lhOldBmp) + DeleteDC(lhBmpDc) + Return + EndIf + + *-- ͸Ã÷Ô­Àí (ÑÚͼ And ±³¾°Í¼) Or (ÑÚͼ Xor ͼÏó) + *-- Õý³£Í¼Æ¬µÄÏÔʾ´¦Àí + + If m.lhMsk = 0 + *-- BMP ÎÞÑÚÂ룬ʹÓÃͼ±ê 0, 0 ×ø±êµÄÉ«²Êµã×öΪ͸Ã÷É« + lhBmpDc = CreateCompatibleDC(thDC) + lhOldBmp = SelectObject(lhBmpDc, lhPic) + + *-- ȡͼ±ê 0, 0 ×ø±ê×öΪ͸Ã÷µã + TransparentBlt(thDC, lnLeft, lnTop, lnWidth, lnHeight, ; + lhBmpDc, 0, 0, lnWidth-1, lnHeight-1, GetPixel(lhBmpDc, 0, 0)) + + Else + *-- BMP ÓÐÑÚÂëͼƬ£¬½øÐÐ͸Ã÷»¯´¦Àí + *-- ʹÓúڰ×ÑÚÂë͸Ã÷Ô­Àí (ÑÚͼ Xor ͼÏó) Or (ÑÚͼ And ±³¾°Í¼) + + lhBmpDC = CreateCompatibleDC(thDc) + lhMskDC = CreateCompatibleDC(thDc) + SelectObject(lhBmpDC, lhPic) + SelectObject(lhMskDC, lhMsk) + + *-- ±³¾°ÎªºÚ£¬Ç°¾°Îª°×£¬½«ÑÚÂëÓëͼÏóÏà"Óë"£¬´ÓͼÏóÖÐÈ¥µô MSK Öеİ×É«²¿·Ý + SetBkColor(lhBmpDC, Rgb(0,0,0)) + SetTextColor(lhBmpDC, Rgb(255,255,255)) + BitBlt(lhBmpDC, 0, 0, lnWidth, lnHeight, lhMskDC, 0, 0, SRCAND) + + *-- ·´×ªºÚ°×£¬½«ÑÚÂëλͼÓë±³¾°½øÐС°Ó롱ÔËË㣬´Ó±³¾°È¥µô MSK ÖеĺÚÉ«²¿·Ý + SetBkColor(thDC, Rgb(255,255,255)) + SetTextColor(thDC, Rgb(0,0,0)) + BitBlt(thDC, lnLeft, lnTop, lnWidth, lnHeight, lhMskDC, 0, 0, SRCAND) + + *-- ½«Í¼ÏóÓë±³¾°½øÐС°»ò¡±ÔËË㣬»òÔËË㣺Á½Í¼ºÚÉ«ÇøÓò¶¼±»±£Áô + BitBlt(thDC, lnLeft, lnTop, lnWidth, lnHeight, lhBmpDC, 0, 0, SRCPAINT) + EndIf + + If lhBmpDc <> 0 + If lhOldBmp <> 0 + SelectObject(lhBmpDc, lhOldBmp) + EndIf + DeleteDC(lhBmpDc) + EndIf + If lhMskDc <> 0 + If lhOldMsk <> 0 + SelectObject(lhMskDc, lhOldMsk) + EndIf + DeleteDC(lhMskDc) + EndIf + + Case lcExt == "ICO" + If tlEnabled + DrawIconEx(thDC, lnLeft, lnTop, lhPic, lnWidth, lnHeight, 0, 0, DI_NORMAL) + Return + EndIf + + lsBitmap = Replicate(Chr(0), ICONINFO_SIZE) + GetIconInfo(lhPic, @lsBitmap) + lnBmpW = CToBin(Substr(lsBitmap, 5, 4), "4Rs") * 2 + lnBmpH = CToBin(Substr(lsBitmap, 9, 4), "4Rs") * 2 + + lhBmpDc = CreateCompatibleDC(thDC) + lhTmp = CreateCompatibleBitmap(thDC, lnBmpW, lnBmpH) + lnOldBmp = SelectObject(lhBmpDc, lhTmp) + DeleteObject(lhTmp) + + If tlEnabled + DrawState(lhBmpDc, 0, 0, lhPic, 0, 0, 0, lnBmpW, lnBmpH, DST_ICON) + Else + DrawState(lhBmpDc, 0, 0, lhPic, 0, 0, 0, lnBmpW, lnBmpH, DST_ICON + DSS_DISABLED) + EndIf + + TransparentBlt(thDC, lnLeft, lnTop, lnWidth, lnHeight, ; + lhBmpDc, 0, 0, lnBmpW, lnBmpH, Rgb(0, 0, 0)) + + SelectObject(lhBmpDc, lhOldBmp) + DeleteDC(lhBmpDc) + + Otherwise + *!* *-- ³¢ÊÔÓà DrawState ÊÇ·ñ¿ÉÏÔʾ + *!* If Not tlEnabled + *!* DrawState(thDC, 0, 0, lhPic, 0, tnLeft, tnTop, lnWidth, lnHeight, DST_BITMAP + DSS_DISABLED) + *!* Else + *!* DrawState(thDC, 0, 0, lhPic, 0, tnLeft, tnTop, lnWidth, lnHeight, DST_BITMAP) + *!* EndIf + EndCase + + + ENDPROC + + HIDDEN PROCEDURE draw_selected && »æÖÆÑ¡¶¨ + LPARAMETERS thDC, toItem, tlEnabled, tnLeft, tnTop, tnRight, tnBottom, tnBmpLeft, tnTxtLeft + + *-- tnLeft Çø¿é×ó±ß¾à + *-- tnTop Çø¿é¶¥±ß¾à + *-- tnWidth Çø¿é¸ß¶È + *-- tnHeight Çø¿é¿í¶È + *-- tnBmpLeft λͼ×ó±ß¾à + *-- tnTxtLeft Îı¾Ðµ±ß¾à + + + Private lcTmpRect, llImage, lnColor, lnPen, lhBrush, lhOldPen, lhOldBrush, lnLeft, lnBmpRight, lnFillColor, lnColor1, lnColor2 + Local lcTmpRect, llImage, lnColor, lnPen, lhBrush, lhOldPen, lhOldBrush, lnLeft, lnBmpRight, lnFillColor, lnColor1, lnColor2 + + If This.lSelectedEnabled And Not tlEnabled + Return + EndIf + + llImage = toItem.hPic <> 0 + + *-- ¾ØÐÎÑ¡¶¨Ê±£¬Èç¹ûûÓÐÖ¸¶¨±³¾°É«£¬È¡±ß¿òÉ«µ½²Ëµ¥±³¾°¹ý¶ÉÉ« + If This.nSelectedBackColor < 0 + lnColor1 = Iif(This.nSelectedBorderColor < 0, GetSysColor(COLOR_HIGHLIGHT), This.nSelectedBorderColor) + lnColor2 = Iif(This.nMenuBackColor < 0, GetSysColor(COLOR_MENU), This.nMenuBackColor) + lnFillColor = This.GetHalfColor(lnColor1, lnColor2, 80) + Else + lnFillColor = This.nSelectedBackColor + EndIf + *!* If This.nMenuBackColor < 0 + *!* lnFillColor = This.GetHalfColor(GetSysColor(COLOR_HIGHLIGHT), GetSysColor(COLOR_MENU), 80) + *!* Else + *!* lnFillColor = This.GetHalfColor(GetSysColor(COLOR_HIGHLIGHT), This.nMenuBackColor, 80) + *!* EndIf + *!* Else + *!* lnFillColor = This.nSelectedBackColor + *!* EndIf + + + *-- ÉèÖÃĬÈÏ×ó±ß¾à + lnLeft = Min(tnBmpLeft, tnTxtLeft) + lnBmpRight = tnBmpLeft + (m.tnBottom-m.tnTop) + + *-- »æÖÆÍ¼±êÇø + If llImage And This.nSelectedImageStyle > 0 + lnLeft = tnTxtLeft + + *-- ͼ±êÐèÒªÓÐ×Ô¼ºµÄ»æÍ¼·ç¸ñʱ + Do Case + Case InList(This.nSelectedImageStyle, 1, 2) + *-- ¾ØÐÎÑ¡¶¨¿ò¡¢ÍÖԲѡ¶¨¿ò + lnColor = Iif(This.nSelectedBorderColor < 0, GetSysColor(COLOR_HIGHLIGHT), This.nSelectedBorderColor) + lhPen = CreatePen(PS_SOLID, 1, lnColor) + lnOldPen = SelectObject(thDC, lhPen) + + lhBrush = CreateSolidBrush(lnFillColor) + lhOldBrush = SelectObject(thDC, lhBrush) + + If This.nSelectedImageStyle = 1 + *-- ¾ØÐÎ + Rectangle(thDc, tnBmpLeft, tnTop, lnBmpRight, tnBottom) + Else + *-- Ô²½Ç + RoundRect(thDc, tnBmpLeft, tnTop, lnBmpRight, tnBottom, This.nSelectedRoundX, This.nSelectedRoundY) + EndIf + + DeleteObject(lhPen) + DeleteObject(lhBrush) + + SelectObject(thDc, lhOldPen) + SelectObject(thDc, lhOldBrush) + + Case InList(This.nSelectedImageStyle, 3, 4) + *-- ͹ÆðÑ¡¶¨¿ò¡¢°¼ÏÂÑ¡¶¨¿ò + If This.nSelectedBackColor > -1 + *-- ÊÇ·ñÐèÒªÌî³ä±³¾° + lnColor = Iif(This.nSelectedBackColor < 0, GetSysColor(COLOR_HIGHLIGHT), This.nSelectedBackColor) + lhBrush = CreateSolidBrush(lnColor) + lcTmpRect = This.Get_Rect_Str(tnBmpLeft, tnTop, lnBmpRight, tnBottom) + FillRect(thDC, lcTmpRect, lhBrush) + If llImage And This.nSelectedImageStyle = 2 + lcTmpRect = This.Get_Rect_Str(tnBmpLeft, tnTop, lnBmpRight, tnBottom) + FillRect(thDC, lcTmpRect, lhBrush) + EndIf + DeleteObject(m.lhBrush) + EndIf + + lcTmpRect = This.Get_Rect_Str(tnBmpLeft, tnTop, lnBmpRight, tnBottom) + If This.nSelectedImageStyle = 3 + DrawEdge(thDC, lcTmpRect, BDR_RAISEDINNER, BF_RECT) + Else + DrawEdge(thDC, lcTmpRect, BDR_SUNKENOUTER, BF_RECT) + EndIf + + Otherwise + + EndCase + EndIf + + *-- »æÖÆÎı¾Çø + Do Case + Case This.nSelectedStyle = 0 + *-- ±ê׼ѡ¶¨ + lnColor = Iif(This.nSelectedBackColor < 0, GetSysColor(COLOR_HIGHLIGHT), This.nSelectedBackColor) + + lhBrush = CreateSolidBrush(lnColor) + lcTmpRect = This.Get_Rect_Str(lnLeft, tnTop, tnRight, tnBottom) + FillRect(thDC, lcTmpRect, lhBrush) + If llImage And This.nSelectedImageStyle = 2 + lcTmpRect = This.Get_Rect_Str(lnLeft, tnTop, lnBmpRight, tnBottom) + FillRect(thDC, lcTmpRect, lhBrush) + EndIf + DeleteObject(m.lhBrush) + + Case InList(This.nSelectedStyle, 1, 2) + *-- ¾ØÐÎÑ¡¶¨¿ò¡¢ÍÖԲѡ¶¨¿ò + lnColor = Iif(This.nSelectedBorderColor = -1, GetSysColor(COLOR_HIGHLIGHT), This.nSelectedBorderColor) + lhPen = CreatePen(PS_SOLID, 1, lnColor) + lnOldPen = SelectObject(thDC, lhPen) + + lhBrush = CreateSolidBrush(lnFillColor) + lhOldBrush = SelectObject(thDC, lhBrush) + + If This.nSelectedStyle = 1 + *-- ¾ØÐÎ + Rectangle(thDc, lnLeft, tnTop, tnRight, tnBottom) + Else + *-- Ô²½Ç + RoundRect(thDc, lnLeft, tnTop, tnRight, tnBottom, This.nSelectedRoundX, This.nSelectedRoundY) + EndIf + + DeleteObject(lhPen) + DeleteObject(lhBrush) + + SelectObject(thDc, lhOldPen) + SelectObject(thDc, lhOldBrush) + + Case InList(This.nSelectedStyle, 3, 4) + *-- ͹ÆðÑ¡¶¨¿ò¡¢°¼ÏÂÑ¡¶¨¿ò + If This.nSelectedBackColor > 0 + *-- ÊÇ·ñÐèÒªÌî³ä±³¾° + lnColor = Iif(This.nSelectedBackColor = -1, GetSysColor(COLOR_HIGHLIGHT), This.nSelectedBackColor) + lhBrush = CreateSolidBrush(lnColor) + lcTmpRect = This.Get_Rect_Str(lnLeft, tnTop, tnRight, tnBottom) + FillRect(thDC, lcTmpRect, lhBrush) + If llImage And This.nSelectedImageStyle = 2 + lcTmpRect = This.Get_Rect_Str(lnLeft, tnTop, tnRight, tnBottom) + FillRect(thDC, lcTmpRect, lhBrush) + EndIf + DeleteObject(m.lhBrush) + EndIf + + lcTmpRect = This.Get_Rect_Str(lnLeft, tnTop, tnRight, tnBottom) + If This.nSelectedStyle = 3 + DrawEdge(thDC, lcTmpRect, BDR_RAISEDINNER, BF_RECT) + Else + DrawEdge(thDC, lcTmpRect, BDR_SUNKENOUTER, BF_RECT) + EndIf + + Otherwise + + + EndCase + + ENDPROC + + HIDDEN PROCEDURE draw_separator + LPARAMETERS thDC, tnLeft, tnTop, tnRight, tnBottom + + Private lcRect + Local lcRect + + lcRect = This.Get_Rect_Str(tnLeft, tnTop + 2, tnRight, tnBottom) + DrawEdge(m.thDC, lcRect, EDGE_ETCHED, BF_TOP) + + ENDPROC + + HIDDEN PROCEDURE draw_text && »­Îı_Ço + LPARAMETERS thDC, tcText, tnColor, tnLeft, tnTop, tnRight, tnBottom + + Private lcRect, lnOldHdc, lhPen + Local lcRect, lnOldHdc, lhPen + lcRect = This.Get_Rect_Str(m.tnLeft + This.nTextMargin, m.tnTop, m.tnRight, m.tnBottom) + + SetTextColor(m.thDC, m.tnColor) + DrawText(m.thDC, m.tcText, Len(m.tcText), m.lcRect, DT_SINGLELINE + DT_LEFT + DT_VCENTER) + + ENDPROC + + HIDDEN PROCEDURE gethalfcolor && E¡Á½É«Ö®¼äµÄ°ëÉ«µ÷ + LPARAMETERS tnColor1, tnColor2, tnRate + * thDc É豸¾ä±ú + * tnColor1 Æðʼ½¥±äÉ« + * tnColor2 ½áÊø½¥±äÉ« + * tnRate °ëÉ«µ÷µÄ±ÈÂÊ + + Private lnStartR, lnStartG, lnStartB, lnRed, lnGreen, lnBlue, lnNowR, lnNowG, lnNowB + Local lnStartR, lnStartG, lnStartB, lnRed, lnGreen, lnBlue, lnNowR, lnNowG, lnNowB + + lnStartR = BitAnd(m.tnColor1, 0x0000FF) + lnStartG = BitRShift(BitAnd(m.tnColor1, 0x00FF00), 8) + lnStartB = BitRShift(BitAnd(m.tnColor1, 0xFF0000), 16) + + lnRed = lnStartR - BitAnd(m.tnColor2, 0x0000FF) + lnGreen = lnStartG - BitRShift(BitAnd(m.tnColor2, 0x00FF00), 8) + lnBlue = lnStartB - BitRShift(BitAnd(m.tnColor2, 0xFF0000), 16) + + Return Rgb(lnStartR - lnRed / 100 * tnRate, ; + lnStartG - lnGreen / 100 * tnRate, ; + lnStartB - lnBlue / 100 * tnRate) + ENDPROC + + HIDDEN PROCEDURE gethwnd && »ñE¡´°¿Ú_ä±ú + If This.nHwnd = 0 + Do Case + Case Type("_Screen.ActiveForm.Hwnd") = "N" + This.nHwnd = _Screen.ActiveForm.Hwnd + Case _Screen.Visible + This.nHwnd = _Screen.Hwnd + Otherwise + This.nHwnd = GetActiveWindow() + EndCase + EndIf + + Return This.nHwnd + + ENDPROC + + HIDDEN PROCEDURE get_rect_num && ´Ó Rect ½á11ÖD·µ»OEýÖµ¡£Eç1ûÖ¸¶¨Á˵OÖ·²ÎEý£¬Ôò½á1û±»±£´æµ½µOÖ·²ÎEýÖD¡£ + LPARAMETERS tcRect, tnRefLeft, tnRefTop, tnRefRight, tnRefBottom + + + tnRefLeft = CToBin(Substr(m.tcRect, DWORD_SIZE * 0 + 1, DWORD_SIZE), "4rs") + tnRefTop = CToBin(Substr(m.tcRect, DWORD_SIZE * 1 + 1, DWORD_SIZE), "4rs") + tnRefRight = CToBin(Substr(m.tcRect, DWORD_SIZE * 2 + 1, DWORD_SIZE), "4rs") + tnRefBottom = CToBin(Substr(m.tcRect, DWORD_SIZE * 3 + 1, DWORD_SIZE), "4rs") + + ENDPROC + + HIDDEN PROCEDURE get_rect_str && ´«µÝ Left, Top, Right, Bottom Ëĸö²ÎEý£¬·µ»O RECT ½á11ÑùµÄ×Ö·û´®¡£ + LPARAMETERS m.tnLeft, tnTop, tnRight, tnBottom + + Return BinToC(m.tnLeft, "4rs") ; + + BinToC(m.tnTop, "4rs") ; + + BinToC(m.tnRight, "4rs") ; + + BinToC(m.tnBottom, "4rs") + + + ENDPROC + + PROCEDURE Init + Private lcClass, lcClassLibrary, lcRetClassLibrary + Local lcClass, lcClassLibrary, lcRetClassLibrary + + If Not PemStatus(_Screen, This.Class, 5) + This.Declare_Dlls() + _Screen.AddProperty(This.Class, .T.) + EndIf + + lcClass = This.Class + lcClassLibrary = This.ClassLibrary + + lcRetClassLibrary = m.lcClassLibrary + Do While Not Empty(m.lcClassLibrary) + lcClass = GetPem(m.lcClass, "ParentClass") + lcClassLibrary = GetPem(m.lcClass, "ClassLibrary") + If Not Empty(m.lcClassLibrary) + m.lcRetClassLibrary = m.lcClassLibrary + EndIf + EndDo + This.ClassLibraryRoot = m.lcRetClassLibrary + + If This.lShareIcons = .T. + If Not PemStatus(_Screen, "oRefIcons", 5) Or Not Type("_Screen.oRefIcons.Name") = "C" + _Screen.AddProperty("oRefIcons", NULL) + _Screen.oRefIcons = NewObject("IconCollection", This.ClassLibraryRoot) + EndIf + + This.oRefIcons = _Screen.oRefIcons + Else + This.oRefIcons = NewObject("IconCollection", This.ClassLibraryRoot) + EndIf + + This.oItems = NewObject("Collection") + + ENDPROC + + HIDDEN PROCEDURE inititems && 3oE¼»_A¸Ä¿DÅI¢ + *-- ¼ÆËã×î´ó×Ö·û³¤¶È + *-- ¼ÆËã¸÷¸öÀ¸Ä¿ËùÐè¿í¸ß + + Private lhWnd, lhDC, loItem, lcTitle, lsSize, lnMaxH, lnMaxW, lnValH, lnValW + Local lhWnd, loItem, loItem, lcTitle, lhDC, lsSize, lnMaxH, lnMaxW, lnValH, lnValW + + lhWnd = This.GetHwnd() + lhDC = GetDC(m.lhWnd) + If m.lhDC = 0 + Return .F. + EndIf + + Store 0 To lnMaxH, lnMaxW, lnValH, lnValW + For Each loItem In This.oItems + *-- У¶Ô + lcTitle = loItem.cTitle + lcTitle = Strtran(m.lcTitle, "\<", "&") + lcTitle = Iif(m.lcTitle == "\-", "", m.lcTitle) + loItem.cTitle2 = m.lcTitle + loItem.cMessage = Iif(IsNull(loItem.cMessage), Strtran(m.lcTitle, "&", ""), loItem.cMessage) + loItem.cEnabled = Transform(loItem.cEnabled) + + *-- ¼ÆËãÎı¾¿í¶È + lsSize = Replicate(Chr(0), POINT_SIZE) + GetTextExtentPoint32(m.lhDC, m.lcTitle, Len(m.lcTitle), @m.lsSize) + + *-- ´¦ÀíÀ¸Ä¿¸ß¶È + Do Case + Case Empty(m.lcTitle) + loItem.nHeight = 5 + Case loItem.nHeight > 0 + *-- ʹÓüºÓÐ¸ß¶È + Otherwise + loItem.nHeight = CToBin(Substr(m.lsSize, 5, DWORD_SIZE), "4rs") + 7 + EndCase + + *-- ´¦ÀíÀ¸Ä¿¿í¶È + Do Case + Case loItem.nWidth > 0 + *-- ʹÓÃ×Ô¶¨Òå¿í¶È + Otherwise + loItem.nWidth = CToBin(Substr(m.lsSize, 1, DWORD_SIZE), "4rs") ; + + GetSystemMetrics(SM_CXMENUCHECK) + loItem.nHeight + This.nTextMargin ; + + Max(0, Min(This.nImageLeft, This.nTextLeft)) + EndCase + + If Not Empty(loItem.cParentKey) + Loop + EndIf + If BitTest(loItem.nFlags, 5) + lnMaxW = m.lnMaxW + 20 + m.lnValW + lnMaxH = Max(m.lnMaxH, m.lnValH) + lnValW = 0 + lnValH = 0 + EndIf + + lnValW = Max(m.lnValW, loItem.nWidth) + lnValH = m.lnValH + loItem.nHeight + EndFor + + This.nMenuWidth = m.lnMaxW + m.lnValW + This.nMenuHeight = Max(m.lnValH, m.lnMaxH) + + ReleaseDC(m.lhWnd, m.lhDC) + + Return .T. + ENDPROC + + PROCEDURE modifymenus && D_¸Ä²Ëµ¥µÄ Enabled ×´I¬ + Private loItem, lnItem, lnIndex, lhMenu, lnFlags + Local loItem, lnItem, lnIndex, lhMenu, lnFlags + + If Not Vartype(This.oCollections) = "O" ; + Or IsNull(This.oCollections) + Return + EndIf + + For lnIndex = 1 To This.oCollections.Count + loItem = This.oCollections.Item(m.lnIndex) + If Vartype(m.loItem) <> "O" Or IsNull(m.loItem) + Loop + EndIf + If Empty(loItem.cEnabled) + Loop + EndIf + If Not Type("Evaluate(loItem.cEnabled)") = "L" + Loop + EndIf + + lnFlags = loItem.nFlags + lnItem = WM_USER + m.lnIndex + lhMenu = Iif(loItem.hMenu = 0, This.hMenu, loItem.hMenu) + If Evaluate(loItem.cEnabled) = .F. + loItem.lEnabled = .F. + lnFlags = BitOr(lnFlags, BitOr(MF_GRAYED, MF_DISABLED)) + Else + loItem.lEnabled = .T. + lnFlags = BitAnd(lnFlags, BitAnd(MF_GRAYED, MF_DISABLED)) + EndIf + lnFlags = BitOr(m.lnFlags, Iif(This.lOwnerDraw, MF_OWNERDRAW, MF_BYCOMMAND)) + + ModifyMenu(m.lhMenu, m.lnItem, lnFlags, m.lnItem, loItem.nAddress) + EndFor + + ENDPROC + + HIDDEN PROCEDURE newitem && »ñE¡O»¸öA¸Ä¿¶ÔIó + Private loItem + Local loItem + + Return NewObject("_MenuInfo", This.ClassLibraryRoot) + + loItem = NewObject("Custom") + loItem.AddProperty("cKey", "") && À¸Ä¿ Key + loItem.AddProperty("cParentKey", "") && ¸¸À¸Ä¿ Key + loItem.AddProperty("nIndex", 0) && ϱê + loItem.AddProperty("nAddress", 0) && À¸Ä¿µØÖ· + + loItem.AddProperty("cTitle", "") && À¸Ä¿Îı¾ + loItem.AddProperty("cTitle2", "") && ±»¸ñʽ»¯´¦ÀíºóµÄÀ¸Ä¿Îı¾ + loItem.AddProperty("cCommand", "") && ÃüÁî¹Ø¼ü×Ö + loItem.AddProperty("cEnabled", "") && Enabled ±í´ïʽ + loItem.AddProperty("cPicture", "") && ͼ±ê + loItem.AddProperty("cMessage", NULL) && ÐÅÏ¢Ìáʾ + loItem.AddProperty("hParent", 0) && ¸¸Ç×¾ä±ú + loItem.AddProperty("hMenu", 0) && Èç¹ûÊÇ×Ӳ˵¥£¬±£´æ²Ëµ¥¾ä±ú + loItem.AddProperty("hMsk", 0) && ͼ±êÑÚÂë¾ä±ú + loItem.AddProperty("hPic", 0) && ͼ±ê¾ä±ú + loItem.AddProperty("nFlags", 0) && uFlags + loItem.AddProperty("nHeight", 0) && À¸Ä¿¸ß¶È + loItem.AddProperty("nWidth", 0) && À¸Ä¿¿í¶È + + Return m.loItem + ENDPROC + + PROCEDURE setmessage && ÉèÖA²Ëµ¥Iî×´I¬A¸IáE_DÅI¢£¬µÚ¶_²ÎÖ¸ÎïAí²Ëµ¥IîµÄDòºÅ£¬E±E¡E1ÓA×î½üIí¼ÓµÄ²Ëµ¥¡£ + LPARAMETERS tcMessage, tnOrder + + Private lnOrder + Local lnOrder + + If Vartype(m.tnOrder) = "N" + lnOrder = m.tnOrder + Else + lnOrder = This.oItems.Count + EndIf + + If Not BetWeen(m.lnOrder, 1, This.oItems.Count) + MessageBox("Ö¸¶¨µÄË÷ÒýºÅ³¬¹ý²Ëµ¥ÏîÄ¿ºÅ£¡", 16, "PopMenu.SetMessage") + Return + EndIf + + This.oItems.Item(m.lnOrder).cMessage = m.tcMessage + ENDPROC + + PROCEDURE setpicture && ÉèÖA²Ëµ¥IîµÄͼƬ£¬µÚ¶_²ÎÖ¸ÎïAí²Ëµ¥IîDòºÅ£¬E±E¡E1ÓA×î½üIí¼ÓµÄ²Ëµ¥¡£ + LPARAMETERS tcPicFile, tnOrder + + Private lnOrder + Local lnOrder + + If Vartype(m.tnOrder) = "N" + lnOrder = m.tnOrder + Else + lnOrder = This.oItems.Count + EndIf + + If Not BetWeen(lnOrder, 1, This.oItems.Count) + MessageBox("Ö¸¶¨µÄË÷ÒýºÅ³¬¹ý²Ëµ¥ÏîÄ¿ºÅ£¡", 16, "PopMenu.SetPicture") + Return + EndIf + + This.oItems.Item(m.lnOrder).cPicture = m.tcPicFile + ENDPROC + + PROCEDURE show && IÔE_²Ëµ¥ÔÚÖ¸¶¨µÄ x,y ×o±êÍ⣬Eç1ûδָ¶¨£¬½«ÔÚµ±Ç°Eó±êλÖAIÔE_¡£ + Lparameters tnX, tnY, tlAbsolute, tuFlags + + *!* ËùÓDÔ¤¶¨OåµÄ¿OÖÆ²Ëµ¥IO²_ÍEÇIµÍ3²Ëµ¥£©µÄIDºÅ±ODë´óÓÚ 0xF000¡£Eç1ûÄ3¸öÓ¦ÓA3IDòOªIí¼ÓIµÍ3²Ëµ¥£¬ + *!* ÆäIµÍ3²Ëµ¥µÄ ID ºÅ±ODëD¡ÓÚF000¡£¡± + + *-- tnX x ×ù±ê + *-- tnY y ×ù±ê + *-- tlAbsolute ´Ë×ù±êEÇ·ñ_o¶Ô×o±ê + *-- tuFlags ×Ô¶¨Oå TrackPopmenuEx uFlags + + Private lcPoint, lnX, lnY, lnFlags, lnReturn, loItem + Local lcPoint, lnX, lnY, lnFlags, lnReturn, loItem + + This.GetHwnd() + If This.nHwnd = 0 + Messagebox("3oE¼»_E§°Ü£¡", 16, "PopMenu.ShowBy") + Return Null + Endif + + If Pcount() >= 2 + *-- ÔÚÖ¸¶¨×o±êµ_3ö + lnX = Iif(Vartype(m.tnX) = "N", m.tnX, 0) + lnY = Iif(Vartype(m.tnY) = "N", m.tnY, 0) + + If Not m.tlAbsolute + *-- ´Ë×ù±êEÇIà¶ÔÆÁĻֵ + lcPoint = Replicate(Chr(0), DWORD_SIZE * 2) + ClientToScreen(This.nHwnd, @lcPoint) + lnX = lnX + CToBin(Left(m.lcPoint, DWORD_SIZE), "4rs") + lnY = lnY + CToBin(Right(m.lcPoint, DWORD_SIZE), "4rs") + Endif + Else + *-- E¡Eó±êµ±Ç°Î»ÖA + lcPoint = Replicate(Chr(0), DWORD_SIZE * 2) + GetCursorPos(@m.lcPoint) + lnX = CToBin(Left(m.lcPoint, DWORD_SIZE), "4rs") + lnY = CToBin(Right(m.lcPoint, DWORD_SIZE), "4rs") + Endif + + + *** + *** ¿ªE¼´´½¨ + *** + + If This.hMenu <> 0 + *-- ²Ëµ¥¼º´´½¨£¬D_¸Ä²Ëµ¥IîÄÚEÝ + This.ModifyMenus() + Else + *-- ²Ëµ¥Î´´´½¨£¬´´½¨²Ëµ¥ + This.oCollections = Null + This.oCollections = Newobject("Collection") + This.hMenu = CreatePopupMenu() + This.CreateMenus(This.oCollections, This.hMenu) + Endif + + * + This.BindEvents(.T.) + *-- µ_3ö·½E½ + If Vartype(m.tuFlags) = "N" + lnFlags = Bitor(m.tuFlags, TPM_RETURNCMD) + Else + lnFlags = TPM_LEFTALIGN + TPM_TOPALIGN + TPM_RETURNCMD + Endif + SetForegroundWindow(This.nHwnd) + lnReturn = TrackPopupMenu(This.hMenu, m.lnFlags, Max(m.lnX, 0), Max(m.lnY, 0), 0, This.nHwnd, Null) + This.BindEvents(.F.) + + If m.lnReturn > 0 + lnReturn = m.lnReturn - WM_USER + loItem = This.oCollections.Item(m.lnReturn) + lcCommand = loItem.cCommand + If Not Empty(m.lcCommand) + &lcCommand + Endif + *!* If Not Empty(m.lcCommand) + *!* If Version(5) >= 900 + *!* ExecScript(m.lcCommand) + *!* Else + *!* &lcCommand + *!* EndIf + *!* EndIf + + Do Case + Case This.nReturn = 0 + *-- Ë÷Oý + Return loItem.nIndex + Case This.nReturn = 1 + *-- cKey + Return loItem.cKey + Case This.nReturn = 2 + *-- A¸Ä¿Îı_ + Return loItem.cTitle + Case This.nReturn = 3 + *-- ¶ÔIó + Return m.loItem + Otherwise + Return Null + Endcase + Else + Return Null + Endif + + + ENDPROC + + PROCEDURE showby && Ö¸¶¨±íµ¥µÄÄ3¸ö¶ÔI󣬽«ÔÚ¸A¶ÔIóµÄI·½µ_3ö²Ëµ¥¡£ + LPARAMETERS toObject, tnAddX, tnAddY + + Private loForm, lcBaseClass, lcPoint, lnTop, lnLeft, luFlags + Local loForm, lcBaseClass, lcPoint, lnTop, lnLeft, luFlags + + If This.nMaxLen = 0 + If Not This.InitMenu() + MessageBox("³õʼ»¯Ê§°Ü£¡", 16, "PopMenu.ShowBy") + Return + EndIf + EndIf + + loForm = toObject + lcBaseClass = Upper(toObject.BaseClass) + Do While Not InList(m.lcBaseClass, "FORM", "TOOLBAR") + loForm = loForm.Parent + lcBaseClass = Upper(loForm.BaseClass) + EndDo + + lcPoint = BinToC(ObjToClient(m.toObject, 2), "4rs") + BinToC(ObjToClient(m.toObject, 1), "4rs") + ClientToScreen(loForm.Hwnd, @m.lcPoint) + + lnLeft = CToBin(Left(m.lcPoint, 4), "4rs") + lnTop = CToBin(Right(m.lcPoint, 4), "4rs") + + If Vartype(m.tnAddX) = "N" + lnLeft = m.lnLeft + m.tnAddX + EndIf + If Vartype(m.tnAddY) = "N" + lnTop = m.lnTop + m.tnAddY + EndIf + + *-- ¼ì²éÆÁÄ»·¶Î§ + If m.lnLeft + This.nMenuWidth + 17 >= Sysmetric(1) + luFlags = TPM_RIGHTALIGN + lnLeft = m.lnLeft + m.toObject.Width + If m.lnLeft + This.nMenuWidth + 17 >= Sysmetric(1) + lnLeft = Sysmetric(1) + EndIf + Else + luFlags = TPM_LEFTALIGN + EndIf + If m.lnTop + This.nMenuHeight + 62 > Sysmetric(2) + luFlags = BitOr(m.luFlags, TPM_BOTTOMALIGN) + m.lnTop = CToBin(Right(m.lcPoint, 4), "4rs") - toObject.Height + Else + luFlags = BitOr(m.luFlags, TPM_TOPALIGN) + EndIf + + Return This.Show(m.lnLeft, m.lnTop + m.toObject.Height, .T., m.luFlags) + ENDPROC + + PROCEDURE transparentblta && See win32Api TransparentBlt + LPARAMETERS hdcDest, nXOriginDest, nYOriginDest, nHeightDest, ; + hdcSrc, nXOriginSrc, nYOriginSrc, nWidthSrc, nHeightSrc, crTransparent + + *!* HDC hdcDest // Ä¿±êDC + *!* int nXOriginDest // Ä¿±êXÆ«ÒÆ + *!* int nYOriginDest // Ä¿±êYÆ«ÒÆ + *!* int nWidthDest // Ä¿±ê¿í¶È + *!* int nHeightDest // Ä¿±ê¸ß¶È + *!* HDC hdcSrc // Ô´DC + *!* int nXOriginSrc // Ô´XÆðµã + *!* int nYOriginSrc // Ô´YÆðµã + *!* int nWidthSrc // Ô´¿í¶È + *!* int nHeightSrc // Ô´¸ß¶È + *!* UINT crTransparent // ͸Ã÷É«,COLORREFÀàÐÍ + + *!* HBITMAP hOldImageBMP, hImageBMP = CreateCompatibleBitmap(hdcDest, nWidthDest, nHeightDest); // ´´½¨¼æÈÝλͼ + *!* HBITMAP hOldMaskBMP, hMaskBMP = CreateBitmap(nWidthDest, nHeightDest, 1, 1, NULL); // ´´½¨µ¥É«ÑÚÂëλͼ + *!* HDC hImageDC = CreateCompatibleDC(hdcDest); + *!* HDC hMaskDC = CreateCompatibleDC(hdcDest); + *!* hOldImageBMP = (HBITMAP)SelectObject(hImageDC, hImageBMP); + *!* hOldMaskBMP = (HBITMAP)SelectObject(hMaskDC, hMaskBMP); + + *!* // ½«Ô´DCÖеÄλͼ¿½±´µ½ÁÙʱDCÖÐ + *!* if (nWidthDest == nWidthSrc && nHeightDest == nHeightSrc) + *!* BitBlt(hImageDC, 0, 0, nWidthDest, nHeightDest, hdcSrc, nXOriginSrc, nYOriginSrc, SRCCOPY); + *!* else + *!* StretchBlt(hImageDC, 0, 0, nWidthDest, nHeightDest, + *!* hdcSrc, nXOriginSrc, nYOriginSrc, nWidthSrc, nHeightSrc, SRCCOPY); + + *!* // ÉèÖÃ͸Ã÷É« + *!* SetBkColor(hImageDC, crTransparent); + + *!* // Éú³É͸Ã÷ÇøÓòΪ°×É«£¬ÆäËüÇøÓòΪºÚÉ«µÄÑÚÂëλͼ + *!* BitBlt(hMaskDC, 0, 0, nWidthDest, nHeightDest, hImageDC, 0, 0, SRCCOPY); + + *!* // Éú³É͸Ã÷ÇøÓòΪºÚÉ«£¬ÆäËüÇøÓò±£³Ö²»±äµÄλͼ + *!* SetBkColor(hImageDC, RGB(0,0,0)); + *!* SetTextColor(hImageDC, RGB(255,255,255)); + *!* BitBlt(hImageDC, 0, 0, nWidthDest, nHeightDest, hMaskDC, 0, 0, SRCAND); + + *!* // ͸Ã÷²¿·Ö±£³ÖÆÁÄ»²»±ä£¬ÆäËü²¿·Ö±ä³ÉºÚÉ« + *!* SetBkColor(hdcDest,RGB(255,255,255)); + *!* SetTextColor(hdcDest,RGB(0,0,0)); + *!* BitBlt(hdcDest, nXOriginDest, nYOriginDest, nWidthDest, nHeightDest, hMaskDC, 0, 0, SRCAND); + + *!* // "»ò"ÔËËã,Éú³É×îÖÕЧ¹û + *!* BitBlt(hdcDest, nXOriginDest, nYOriginDest, nWidthDest, nHeightDest, hImageDC, 0, 0, SRCPAINT); + + *!* // ÇåÀí¡¢»Ö¸´ + *!* SelectObject(hImageDC, hOldImageBMP); + *!* DeleteDC(hImageDC); + *!* SelectObject(hMaskDC, hOldMaskBMP); + *!* DeleteDC(hMaskDC); + *!* DeleteObject(hImageBMP); + *!* DeleteObject(hMaskBMP); + *!* } + ENDPROC + +ENDDEFINE + +DEFINE CLASS tooltipex AS control + *< CLASSDATA: Baseclass="control" Timestamp="" Scale="Pixels" Uniqueid="" /> + + *-- OBJECTDATA items order determines ZOrder / El orden de los items OBJECTDATA determina el ZOrder + *< OBJECTDATA: ObjPath="Label1" UniqueID="" Timestamp="" /> + + #INCLUDE "win32api.h" + * + *m: about + *m: addcontrol && ¶ÔÒ»¸ö±íµ¥¿Ø¼þÌí¼ÓÌáʾ + *m: addmessage && Ìí¼ÓÒ»¸ö¶ÔÏóÐÅÏ¢£¬ÔÚ»ñµÃ½¹µãÓëʧȥ½¹µãʱ£¬ÏÔʾÐÅÏ¢¡£ + *m: b_gotfocus && °ó¶¨µ½¶ÔÏó GotFocus ʼþ + *m: createtrackwindow + *m: declare_dlls + *m: getstructvalue + *m: hide && ͨ¹ýÉèÖà Visible ÊôÐÔΪ¡°¼Ù¡±(.F.)£¬Òþ²ØÒ»¸ö±íµ¥£¬±íµ¥¼¯»ò¹¤¾ßÀ¸¡£ + *m: show && ÔÚÖ¸¶¨¿Ø¼þÉÏÏÔʾ¿Ø¼þÌáʾ¡£Show(oObject, ctipText, nIcon, title)¡£nIcon ȡֵ 0 ÎÞͼ±ê£¬1=ÐÅÏ¢, 2=¾¯¸æ,3=´íÎó + *m: track && ¸ú×ÙÊó±êÏÔʾÌáʾ + *m: updatetrackwindow && ¸üд°¿ÚÐÅÏ¢ + *p: cstruct && Éϴνṹֵ + *p: htrack && ¸ú×ÙÌáʾµÄ´°¿Ú¾ä±ú + *p: labsolute && ²»×Ô¶¯µ÷ÕûÐÅÏ¢µÄµ¯³öλÖã¨Ê¼ÖÕÔÚÏ·½ÏÔʾ£¿£© + *p: lalwaystip && Êó±êλÓڿؼþÉÏ·½Ê±£¬ÊÇ·ñ×ÜÊÇÏÔʾÌáʾ(ûÓÃ)¡£ + *p: lballoon && ÊÇ·ñʹÓÃÆøÅÝÌáʾ + *p: lcentertip && ÊÇ·ñÔڿؼþµÄÖмäÏÔʾÌáʾ + *p: lclose && ¹Ø±Õ°´Å¥ + *p: lnofade && ·Çµ­Èëµ­³ö£¬»¬³öЧ¹û£¿ + *p: naddress && µØÖ·¼¯ºÏµÄÊý×éϱê + *p: naddx && ÌáʾλÖÃµÄ X ÖáÔöÁ¿Öµ¡£ + *p: naddy && ÌáʾλÖà µÄY ÖáÔöÁ¿Öµ + *p: nalign && Ö¸Ã÷µ± Show ÖÐδ˵Ã÷ʱ£¬Ìáʾ³öÏÖÔڿؼþµÄʲôλÖá£1=ÉÏ×ó£¬2= ÉÏÖУ¬3=ÉÏÓÒ£¬4=ÖÐ×ó£¬5=ÖÐÖУ¬6=ÖÐÓÒ£¬7=ÏÂ×ó£¬8=ÏÂÖУ¬9=ÏÂÓÒ¡£Ä¬ÈÏÖµ 7. + *p: nbackcolor && ÌáʾÐÅÏ¢µÄ±³¾°É« + *p: ndelaytime && Ìáʾ×Ô¶¯ÏûʧµÄºÁÃëÊý£¬Èç¹ûΪ 0 Ôò²»»áÏûʧ¡£ + *p: ndwstyle && ³õʼ»òÕßĬÈϵÄÌáʾ´°¿ÚµÄ DwStyle £¬Èç¹û´ËֵСÓÚ0£¬ÔòĬÈÏΪ TTS_NOPREFIX + TTS_USEVISUALSTYLE + *p: nforecolor && ÌáʾÐÅÏ¢µÄǰ¾°É« + *p: nmaxwidth && ÌáʾÐÅÏ¢µÄ×î´ó¿í¶È + *p: oreftimer && Ö¸ÏòÒþ²ØÌáʾµÄ¼ÆÊ±Æ÷ + *p: paddress && ÄÚ´æµØÖ· + *a: aaddress[1,0] + * + + HIDDEN aaddress,htrack,naddress,oreftimer,paddress + * + cstruct = + Height = 17 + htrack = 0 + labsolute = .F. + lalwaystip = .F. + lballoon = .F. + lcentertip = .F. + lclose = .F. + lnofade = .F. + naddress = 0 + naddx = 0 + naddy = 0 + nalign = 7 + Name = "tooltipex" + nbackcolor = -1 + ndelaytime = 4000 + ndwstyle = -1 + nforecolor = -1 + nmaxwidth = -1 + oreftimer = + paddress = 0 + Visible = .F. + Width = 65 + * + + ADD OBJECT 'Label1' AS label WITH ; + AutoSize = .T., ; + BackStyle = 0, ; + Caption = "ToolTipEx", ; + Height = 16, ; + Left = 6, ; + Name = "Label1", ; + Top = 2 + *< END OBJECT: BaseClass="label" /> + + PROCEDURE about + ********************************************** + *** + *** ToolTipEx Class + *** Version + *** + *** Author by: Ê©Áè·å + *** Create date: 2008.06.15 + *** Last update: + *** + ********************************************** + *** + *** Èç¹ûËüȷʵ¶ÔÄúÓÐËù°ïÖú£¬²¢ÇÒÄãÒ²·Ç³£Ï²»¶£¬Äú¿ÉÒÔͨ¹ýÍøÉÏ»ã¿îÂÔ±íÄúµÄÐÄÒ⣬ÈÃÎÒÃÇÔÚÐÁÀÍÖÆ×÷Öеõ½ÐÀο, лл¡£ + *** + *** ÒøÐÐÕ˺Š+ *** Öйú¹¤ÉÌÒøÐУº 9558 8014 0810 5404 077 + *** Öйú½¨ÉèÒøÐУº 4367 4218 3350 0044 031 + *** ¿ª»§ÈË£ºÊ©Áè·å + *** + *** ÔÞÖú½ð¶î²»ÏÞ£¬Ö»×÷¶ÔÎÒÃÇŬÁ¦µÄÈϿɡ£ + *** + *** ÎÒÃǵÄÍøÖ·£ºhttp://xykjsoft.blog.163.com + *** + *** + *** ²âÊÔ»·¾³£ºWindows 2000¡¢Windows XP + *** ¿ª·¢ÓïÑÔ£ºVfp9 SP2 + *** + + + *!* typedef struct tagTOOLINFO{ + *!* UINT cbSize; 4 + *!* UINT uFlags; 4 + *!* HWND hwnd; 4 + *!* UINT_PTR uId; 4 + *!* RECT Rect; 4*4 + *!* HINSTANCE hinst; 4 + *!* LPTSTR lpszText; 4 + *!* #if (_WIN32_IE >= 0x0300) + *!* LPARAM lParam; 4 + *!* #endif + *!* #if (_WIN32_WINNT >= 0x0501) + *!* void *lpReserved; 4 + *!* #endif + *!* #if (_WIN32_WINNT >= 0x0600) + *!* HBITMAP hbmp; 4 + *!* #endif + *!* } TOOLINFO, NEAR *PTOOLINFO, *LPTOOLINFO + + ENDPROC + + PROCEDURE addcontrol && ¶ÔÒ»¸ö±íµ¥¿Ø¼þÌí¼ÓÌáʾ + LPARAMETERS toObject, tcTipText + + + *!* Private loForm, lpRect, lnLeft, lnTop, lnRight, lnBottom, lhInst, lcTipText, lpszText, lnFlags + *!* Local loForm, lpRect, lnLeft, lnTop, lnRight, lnBottom, lhInst, lcTipText, lpszText, lnFlags + + *!* If This.hTip = 0 + *!* Return .F. + *!* EndIf + + *!* If Not VarType(m.toObject) = "O" Or IsNull(m.toObject) + *!* Messagebox("ÇëÖ¸¶¨Ò»¸öÄ¿±ê¶ÔÏó£¡", 16, "ToolTipEx.AddControl") + *!* Return .F. + *!* EndIf + + *!* loForm = toObject + *!* Do While Not InList(Upper(loForm.BaseClass), "FORM", "TOOLBAR") + *!* loForm = loForm.Parent + *!* EndDo + + *!* *!* lpPoint = Replicate(Chr(0), POINT_SIZE) + *!* *!* ClientToScreen(ThisForm.Hwnd, @lpPoint) + *!* lpRect = Replicate(Chr(0), RECT_SIZE) + *!* GetClientRect(loForm.hWnd, @lpRect) + *!* lnLeft = CToBin(Substr(lpRect, 1, 4), "4rs") + ObjToClient(toObject, 2) + *!* lnTop = CToBin(Substr(lpRect, 5, 4), "4rs") + ObjToClient(toObject, 1) + *!* lnRight = lnLeft + toObject.Width + *!* lnBottom = lnTop + toObject.Height + *!* * lpRect = BinToC(m.lnLeft, "4rs") + BinToC(m.lnTop, "4rs") + BinToC(m.lnRight, "4rs") + BinToC(m.lnBottom, "4rs") + *!* lpRect = BinToC(0, "4rs") + BinToC(0, "4rs") + BinToC(ThisForm.Width, "4rs") + BinToC(ThisForm.Height, "4rs") + *!* ? lnLeft, lnTop, lnRight, lnBottom + + *!* * lpRect = BinToC(0, "4rs") + BinToC(0, "4rs") + BinToC(ThisForm.Width, "4rs") + BinToC(ThisForm.Height, "4rs") + + *!* lhInst = GetWindowLong(loForm.hWnd, GWL_HINSTANCE) + *!* lcTipText = Iif(VarType(m.tcTipText) = "C", m.tcTipText, toObject.ToolTipText) + *!* lpszText = LocalAlloc(LPTR, Len(m.lcTipText)) + *!* CopyStr2MemA(m.lpszText, m.lcTipText, Len(m.lcTipText)) + + *!* *-- ¼Ç¼ÄÚ´æµØÖ·£¬Í˳öʱÏú»Ù + *!* This.nAddress = This.nAddress + 1 + *!* Dimension This.aAddress[This.nAddress] + *!* This.aAddress[This.nAddress] = m.lpszText + + *!* * TTF_SUBCLASS ĬÈÏ×ÓÀà + *!* * TTF_TRACK Ö¸Ã÷λÖà + *!* * TTF_TRANSPARENT ͸Ã÷£¿ + *!* *-- ½á¹¹ + *!* lnFlags = TTF_IDISHWND + TTF_SUBCLASS + TTF_TRANSPARENT + *!* lnFlags = Iif(This.lCenterTip, lnFlags + TTF_CENTERTIP , m.lnFlags) + *!* lcStruct = BinToC(m.lnFlags, "4rs") ; && uFlags + *!* + BinToC(loForm.hWnd, "4rs") ; && hWnd + *!* + BinToC(loForm.hWnd, "4rs") ; && uId + *!* + BinToC(m.lhInst, "4rs") ; && hInst + *!* + m.lpRect ; && Rect + *!* + BinToC(m.lpszText, "4rs") ; && lpszText + *!* + BinToC(0, "4rs") && lPara + *!* lcStruct = BinToC(Len(m.lcStruct) + 4, "4rs") + m.lcStruct + + *!* ? SendMessage2c(This.hTip, TTM_ADDTOOLA, 0, m.lcStruct) + + ENDPROC + + PROCEDURE addmessage && Ìí¼ÓÒ»¸ö¶ÔÏóÐÅÏ¢£¬ÔÚ»ñµÃ½¹µãÓëʧȥ½¹µãʱ£¬ÏÔʾÐÅÏ¢¡£ + LPARAMETERS toObject, tcTipText, tnIcon, tcTitle + + If VarType(m.toObject) = "O" And Not IsNull(m.toObject) + toObject.AddProperty("cTipText", Iif(VarType(m.tcTipText) = "C", m.tcTipText, "")) + toObject.AddProperty("nIcon", Iif(VarType(m.tnIcon) = "N", m.tnIcon, 0)) + toObject.AddProperty("cTitle", Iif(VarType(m.tcTitle) = "C", m.tcTitle, "")) + + BindEvent(toObject, "GotFocus", This, "b_GotFocus") + BindEvent(toObject, "LostFocus", This, "Hide") + EndIf + ENDPROC + + PROCEDURE b_gotfocus && °ó¶¨µ½¶ÔÏó GotFocus ʼþ + Private loObject, laArray + Local loObject, laArray + + Dimension laArray[1] + AEvents(laArray, 0) + + This.Show(laArray[1] ; + , Iif(Empty(laArray[1].cTipText), laArray[1].ToolTipText, laArray[1].cTipText) ; + , laArray[1].nIcon, laArray[1].cTitle) + ENDPROC + + PROCEDURE createtrackwindow + Private lnStyle, lnDwStyle + Local lnStyle, lnDwStyle + + If This.hTrack <> 0 + DestroyWindow(This.hTrack) + EndIf + + * WS_EX_TOPMOST + WS_EX_LAYERED + WS_POPUP + lnStyle = WS_EX_TOPMOST + * lnStyle = Bitxor(Bitor(lnStyle, WS_BORDER), WS_BORDER) + + lnDwStyle = Iif(This.nDwStyle >= 0, This.nDwStyle, TTS_NOPREFIX + TTS_USEVISUALSTYLE) + lnDwStyle = Iif(This.lClose, BitOr(m.lnDwStyle, TTS_CLOSE), m.lnDwStyle) + lnDwStyle = Iif(This.lNoFade, BitOr(m.lnDwStyle, TTS_NOFADE), m.lnDwStyle) + lnDwStyle = Iif(This.lBalloon, BitOr(m.lnDwStyle, TTS_BALLOON), m.lnDwStyle) + lnDwStyle = Iif(This.lAlwaysTip, BitOr(m.lnDwStyle, TTS_ALWAYSTIP), m.lnDwStyle) + + lnDwStyle = Bitxor(Bitor(m.lnDwStyle, WS_BORDER), WS_BORDER) + + + This.hTrack = CreateWindowEx ; + (m.lnStyle, "tooltips_class32", "", m.lnDwStyle, ; + CW_USEDEFAULT, CW_USEDEFAULT, CW_USEDEFAULT, CW_USEDEFAULT, 0, 0, 0, 0) + + If This.hTrack = 0 + Messagebox("´´½¨ÌáʾÐÅÏ¢´°¿Úʧ°Ü£¡", 16, "ToolTipEx.CreateTrackWindow") + Return + EndIf + + If This.nForeColor > -1 + SendMessage2n(This.hTrack, TTM_SETTIPTEXTCOLOR, This.nForeColor, 0) + EndIf + + If This.nBackColor > -1 + SendMessage2n(This.hTrack, TTM_SETTIPBKCOLOR, This.nBackColor, 0) + EndIf + + * TTM_SETTIPBKCOLOR + + ENDPROC + + PROCEDURE declare_dlls + Declare Long SendMessage In "User32" As SendMessage2n ; + Long hWnd, Long nMsg, Long wParam, Long lParam + + Declare Long SendMessage In "User32" As SendMessage2c; + Long hWnd, Long nMsg, Long wParam, String lParam + + Declare Long GetWindowLong In "User32" ; + Long hWnd, Long nIndex + + Declare Integer LocalAlloc In "Kernel32" ; + Long uFlags, Long dwBytes + + Declare Integer LocalFree In "Kernel32" ; + Long hlocMem + + Declare Integer RtlMoveMemory In "Kernel32" As CopyStr2MemA ; + Long lpDest, String @lpSource, Long nLength + + Declare Long CreateWindowEx In "User32" ; + Long dwExStyle, String lpClassName, String lpWindowName, ; + Long dwStyle, Long x, Long y, Long nWidth, Long nHeight, ; + Long hWndParent, Long hMenu, Long hInstance, Long lpParam + + Declare Long DestroyWindow In "User32" ; + Long hWnd + + Declare Long ClientToScreen In "User32" ; + Long hWnd, String @lpPoint + + Declare Long GetClientRect In "User32" ; + Long hWnd, String @lpRect + + Declare Long GetWindowLong In "User32" ; + Long hWnd, Long nIndex + + Declare Long SetWindowLong In "User32" ; + Long hWnd, Long nIndex, Long dwNewLong + + Declare Integer GetCursorPos In "User32" ; + String @lpPoint + + * InitCommonControls() library "comctl32.dll" + + * InitCommonControls + ENDPROC + + PROCEDURE Destroy + If This.hTrack <> 0 + DestroyWindow(This.hTrack) + EndIf + + If This.pAddress <> 0 + LocalFree(This.pAddress) + EndIf + + UnBindEvent(_Screen, "Moved", This, "Hide") + ENDPROC + + PROCEDURE getstructvalue + LPARAMETERS tcText + Private lcTipText, lnFlags, lsStruct + Local lcTipText, lnFlags, lsStruct + + *-- ·ÖÅäÄÚ´æ¿Õ¼ä + lcTipText = Strtran(Transform(m.tcText), "\n", CRLF) + Chr(0) + + If This.pAddress <> 0 + LocalFree(This.pAddress) + EndIf + This.pAddress = LocalAlloc(LPTR, Len(m.lcTipText)) + CopyStr2MemA(This.pAddress, m.lcTipText, Len(m.lcTipText)) + + * TTF_SUBCLASS ĬÈÏ×ÓÀà + * TTF_TRACK Ö¸Ã÷λÖà + * TTF_TRANSPARENT ͸Ã÷£¿ + *-- ½á¹¹ + + lnFlags = TTF_SUBCLASS + TTF_TRANSPARENT + TTF_TRACK + lnFlags = Iif(This.lAbsolute, BitOr(m.lnFlags, TTF_ABSOLUTE), m.lnFlags) + lnFlags = Iif(This.lCenterTip, BitOr(lnFlags, TTF_CENTERTIP), m.lnFlags) + lsStruct = BinToC(m.lnFlags, "4rs") ; && uFlags + + BinToC(ThisForm.Hwnd, "4rs") ; && hWnd + + BinToC(0, "4rs") ; && uId + + BinToC(0, "4rs") ; && hInst + + Replicate(Chr(0), 16) ; && Rect + + BinToC(This.pAddress, "4rs") ; && lpszText + + BinToC(0, "4rs") && lPara + lsStruct = BinToC(Len(m.lsStruct) + 4, "4rs") + m.lsStruct + + Return m.lsStruct + + + ENDPROC + + PROCEDURE hide && ͨ¹ýÉèÖà Visible ÊôÐÔΪ¡°¼Ù¡±(.F.)£¬Òþ²ØÒ»¸ö±íµ¥£¬±íµ¥¼¯»ò¹¤¾ßÀ¸¡£ + LPARAMETERS tnHwnd, tnMsg, tnWparam, tnLparam + + If This.hTrack <> 0 + DestroyWindow(This.hTrack) + EndIf + + This.hTrack = 0 + This.oRefTimer.Enabled = .F. + This.cStruct = "HIDE" + + UnBindEvent(ThisForm.Hwnd, WM_LBUTTONDOWN) + + *!* If PCount() = 4 + *!* Declare Integer CallWindowProc In "User32" ; + *!* Long lpPrevWndFunc, Long nhWnd, Long uMsg, Long wParam, Long lParam + *!* + *!* Return CallWindowProc(This.pProc, tnHwnd, tnMsg, tnWparam, tnLparam) + *!* EndIf + + + ENDPROC + + PROCEDURE Init + If Not PemStatus(_Screen, This.Class, 5) + This.Declare_Dlls() + _Screen.AddProperty(This.Class, .T.) + EndIf + + This.CreateTrackWindow() + If This.hTrack <> 0 + This.oRefTimer = NewObject("Timer") + This.oRefTimer.Interval = This.nDelayTime + BindEvent(This.oRefTimer, "Timer", This, "Hide") + BindEvent(ThisForm, "Moved", This, "Hide", 1) + BindEvent(ThisForm, "Resize", This, "Hide", 1) + BindEvent(_Screen, "Moved", This, "Hide", 1) + EndIf + ENDPROC + + PROCEDURE show && ÔÚÖ¸¶¨¿Ø¼þÉÏÏÔʾ¿Ø¼þÌáʾ¡£Show(oObject, ctipText, nIcon, title)¡£nIcon ȡֵ 0 ÎÞͼ±ê£¬1=ÐÅÏ¢, 2=¾¯¸æ,3=´íÎó + LPARAMETERS toObject, tcTipText, tnIcon, tcTitle, tnAlign + + Private loForm, lsPoint, lnLeft, lnTop, lnParam, lcTipText, lsStruct, lnAlign + Local loForm, lsPoint, lnLeft, lnTop, lnParam, lcTipText, lsStruct, lnAlign + + This.CreateTrackWindow() + If This.hTrack = 0 + Return + EndIf + + lnAlign = Iif(VarType(m.tnAlign) = "N", m.tnAlign, This.nAlign) + lsPoint = Replicate(Chr(0), POINT_SIZE) + If VarType(m.toObject) = "O" And Not IsNull(m.toObject) + loForm = m.toObject + Do While Not InList(Upper(loForm.BaseClass), "FORM", "TOOLBAR") + loForm = loForm.Parent + EndDo + + *-- È·¶¨¿Ø¼þÏà¶ÔÓÚ±íµ¥µÄ×ø±ê + ClientToScreen(loForm.Hwnd, @lsPoint) + lnLeft = CToBin(Left(m.lsPoint, 4), "4rs") + ObjToClient(m.toObject, 2) + lnTop = CToBin(Right(m.lsPoint, 4), "4rs") + ObjToClient(m.toObject, 1) + + Do Case + *-- ˮƽ¾ÓÉÏ + Case m.lnAlign = 1 && ×ó + *-- + Case m.lnAlign = 2 && ÖÐ + lnLeft = m.lnLeft + ObjToClient(m.toObject, 3) / 2 + Case m.lnAlign = 3 && ÓÒ + lnLeft = m.lnLeft + ObjToClient(m.toObject, 3) + + *-- ˮƽ¾ÓÖÐ + Case m.lnAlign = 4 && ×ó + lnTop = m.lnTop + toObject.Height / 2 + Case m.lnAlign = 5 && ÖÐ + lnTop = m.lnTop + toObject.Height / 2 + lnLeft = m.lnLeft + ObjToClient(m.toObject, 3) / 2 + Case m.lnAlign = 6 && ÓÒ + lnTop = m.lnTop + toObject.Height / 2 + lnLeft = m.lnLeft + ObjToClient(m.toObject, 3) + + *-- ˮƽ¾ÓÏ + Case m.lnAlign = 7 && ×ó + lnTop = m.lnTop + toObject.Height + Case m.lnAlign = 8 && ÖÐ + lnTop = m.lnTop + toObject.Height + lnLeft = m.lnLeft + ObjToClient(m.toObject, 3) / 2 + Case m.lnAlign = 9 && ÓÒ + lnTop = m.lnTop + toObject.Height + lnLeft = m.lnLeft + ObjToClient(m.toObject, 3) + EndCase + + lnLeft = m.lnLeft + This.nAddX + lnTop = m.lnTop + This.nAddY + Else + *-- È¡Êó±êµ±Ç°Î»Öà + GetCursorPos(@m.lsPoint) + lnLeft = CToBin(Left(m.lsPoint, DWORD_SIZE), "4rs") + lnTop = CToBin(Right(m.lsPoint, DWORD_SIZE), "4rs") + EndIf + lnParam = lnLeft + BitLShift(m.lnTop, 16) + + *-- »ñÈ¡ÐÅÏ¢½á¹¹ + lsStruct = This.GetStructValue(m.tcTipText) + SendMessage2n(This.hTrack, TTM_TRACKPOSITION, 0, m.lnParam) + SendMessage2c(This.hTrack, TTM_ADDTOOLA, 0, m.lsStruct) + + If VarType(m.tnIcon) = "N" And VarType(m.tcTitle) = "C" + SendMessage2c(This.hTrack, TTM_SETTITLEA, m.tnIcon, m.tcTitle) + EndIf + + SendMessage2c(This.hTrack, TTM_TRACKACTIVATE, 1, m.lsStruct) + BindEvent(ThisForm.Hwnd, WM_LBUTTONDOWN, This, "Hide") + This.oRefTimer.Enabled = .T. + ENDPROC + + PROCEDURE track && ¸ú×ÙÊó±êÏÔʾÌáʾ + LPARAMETERS tcTipText, tnIcon, tcTitle + + Private lsPoint, lnLeft, lnTop, lnParam, lnFlags, lsStruct + Local lsPoint, lnLeft, lnTop, lnParam, lnFlags, lsStruct + + If This.cStruct == "HIDE" + This.cStruct = "" + Return + EndIf + + If This.hTrack = 0 + This.CreateTrackWindow() + EndIf + If This.hTrack = 0 + Return + EndIf + + *-- È¡Êó±êµ±Ç°Î»Öà + lsPoint = Replicate(Chr(0), POINT_SIZE) + GetCursorPos(@m.lsPoint) + lnLeft = CToBin(Left(m.lsPoint, DWORD_SIZE), "4rs") + 16 + lnTop = CToBin(Right(m.lsPoint, DWORD_SIZE), "4rs") + 16 + lnParam = lnLeft + BitLShift(m.lnTop, 16) + + lsStruct = This.GetStructValue(m.tcTipText) + If VarType(m.tnIcon) = "N" And VarType(m.tcTitle) = "C" + SendMessage2c(This.hTrack, TTM_SETTITLEA, m.tnIcon, m.tcTitle) + Else + SendMessage2c(This.hTrack, TTM_SETTITLEA, 0, "") + EndIf + + + SendMessage2n(This.hTrack, TTM_TRACKPOSITION, 0, m.lnParam) + + If Not Empty(This.cStruct) + SendMessage2c(This.hTrack, TTM_UPDATETIPTEXTA, 0, m.lsStruct) + Else + SendMessage2c(This.hTrack, TTM_ADDTOOLA, 0, m.lsStruct) + SendMessage2c(This.hTrack, TTM_TRACKACTIVATE, 1, m.lsStruct) + EndIf + + This.oRefTimer.Enabled = .T. + This.cStruct = m.lsStruct + + + ENDPROC + + HIDDEN PROCEDURE updatetrackwindow && ¸üд°¿ÚÐÅÏ¢ + Local lnStyle + lnStyle = GetWindowLong(This.hTrack, GWL_STYLE) + SetWindowLong(This.hTrack, GWL_STYLE, m.lnStyle) + + *!* IF ( This.CloseButton ) + *!* m.nStyle = BITOR( m.nStyle, TTS_CLOSE ) + *!* ELSE + *!* m.nStyle = BITAND( m.nStyle, BITNOT( TTS_CLOSE )) + *!* ENDIF + + ENDPROC + + PROCEDURE Label1.Init + Return .F. + ENDPROC + +ENDDEFINE diff --git a/utile/Menu/win32api.h b/utile/Menu/win32api.h new file mode 100644 index 0000000..9cf08ab --- /dev/null +++ b/utile/Menu/win32api.h @@ -0,0 +1,1207 @@ +*-- +*-- ×ÔÓó£Á¿ +*-- +#Define CR Chr(13) +#Define LF Chr(10) +#Define CRLF CR + LF +#Define TRUE .T. +#Define FALSE .F. +*-- +*-- data types +*-- +#Define WORD_SIZE 2 +#Define DWORD_SIZE 4 + +*-- +*-- ³£ÓýṹµÄ´óС +*-- +#Define POINT_SIZE DWORD_SIZE * 2 +#Define RECT_SIZE DWORD_SIZE * 4 +#Define BITMAP_SIZE DWORD_SIZE * 4 + WORD_SIZE * 2 + DWORD_SIZE +#Define DRAWITEMSTRUCT_SIZE 64 +#Define MEASUREITEMSTRUCT_SIZE DWORD_SIZE * 6 +#Define ICONINFO_SIZE DWORD_SIZE * 5 + +*** +*** δÕûÀí +*** +#Define BI_RGB 0x00 +#Define DIB_RGB_COLORS 0 + +#Define TS_MIN 0 +#Define TS_TRUE 1 +#Define TS_DRAW 2 + + +*-- +*-- Window messages +*-- +#Define WM_NULL 0x00 && ?? +#Define WM_CREATE 0x01 && ´´½¨Ò»¸ö´°¿Ú +#Define WM_DESTROY 0x02 && ´°¿Ú±»Ïú»Ù +#Define WM_MOVE 0x03 && ÒÆ¶¯´°¿Úʱ +#Define WM_SIZE 0x05 && ¸Ä±äÒ»¸ö´°¿ÚµÄ´óС +#Define WM_ACTIVATE 0x06 && ¼¤»îÒ»¸ö´°¿Ú +#Define WM_SETFOCUS 0x07 && ´°¿ÚµÃµ½½¹µãʱ +#Define WM_KILLFOCUS 0x08 && ʧȥ½¹µãʱ +#Define WM_ENABLE 0x0A && ¸Ä±äenable״̬ +#Define WM_SETREDRAW 0x0B && ÉèÖô°¿ÚÊÇ·ñÄÜÖØ»­ +#Define WM_SETTEXT 0x0C && Ó¦ÓóÌÐò·¢ËÍ´ËÏûÏ¢À´ÉèÖÃÒ»¸ö´°¿ÚµÄÎı¾ +#Define WM_GETTEXT 0x0D +#Define WM_GETTEXTLENGTH 0x0E +#Define WM_PAINT 0x0F && ÒªÇóÖØ»­×Ô¼º +#Define WM_CLOSE 0x10 && µ±Ò»¸ö´°¿Ú»òÓ¦ÓóÌÐòÒª¹Ø±Õʱ·¢ËÍÒ»¸öÐźŠ+#Define WM_QUERYENDSESSION 0x11 +#Define WM_QUIT 0x12 +#Define WM_QUERYOPEN 0x13 +#Define WM_ERASEBKGND 0x14 +#Define WM_SYSCOLORCHANGE 0x15 && µ±ÏµÍ³ÑÕÉ«¸Ä±äʱ£¬·¢ËÍ´ËÏûÏ¢¸øËùÓж¥¼¶´°¿Ú +#Define WM_ENDSESSION 0x16 +#Define WM_SHOWWINDOW 0x18 +#Define WM_WININICHANGE 0x1A && Win.ini Îļþ±»¸Ä±ä£¬ÏµÍ³ÒԹ㲥ÐÎʽ֪ͨÿ¸ö´°¿Ú +#Define WM_DEVMODECHANGE 0x1B +#Define WM_ACTIVATEAPP 0x1C +#Define WM_FONTCHANGE 0x1D +#Define WM_TIMECHANGE 0x1E +#Define WM_CANCELMODE 0x1F +#Define WM_SETCURSOR 0x20 && Êó±êµÄÐÎ×´¸Ä±äʱ +#Define WM_MOUSEACTIVATE 0x21 +#Define WM_CHILDACTIVATE 0x22 +#Define WM_QUEUESYNC 0x23 +#Define WM_GETMINMAXINFO 0x24 +#Define WM_PAINTICON 0x26 +#Define WM_ICONERASEBKGND 0x27 +#Define WM_NEXTDLGCTL 0x28 +#Define WM_SPOOLERSTATUS 0x2A +#Define WM_DRAWITEM 0x2B && »æÖƲ˵¥Ïî +#Define WM_MEASUREITEM 0x2C && ²âÁ¿²Ëµ¥¸ß¶ÈºÍ¿í¶È +#Define WM_DELETEITEM 0x2D +#Define WM_VKEYTOITEM 0x2E +#Define WM_CHARTOITEM 0x2F +#Define WM_SETFONT 0x30 +#Define WM_GETFONT 0x31 +#Define WM_SETHOTKEY 0x32 +#Define WM_GETHOTKEY 0x33 +#Define WM_QUERYDRAGICON 0x37 +#Define WM_COMPAREITEM 0x39 && ·¢ËÍ´ËÏûÏ¢À´Åж¨ combobox »ò listbox ÐÂÔö¼ÓµÄÏîµÄÏà¶ÔλÖà +#Define WM_GETOBJECT 0x3D +#Define WM_COMPACTING 0x41 && ÏÔʾÄÚ´æÒѾ­ºÜÉÙÁË +#Define WM_OTHERWINDOWCREATED 0x42 +#Define WM_OTHERWINDOWDESTROYED 0x43 +#Define WM_COMMNOTIFY 0x44 +#Define WM_WINDOWPOSCHANGING 0x46 && ´°¿ÚµÄ´óСºÍλÖý«Òª±»¸Ä±äʱ +#Define WM_WINDOWPOSCHANGED 0x47 && ·¢ËÍ´ËÏûÏ¢¸øÄǸö´°¿ÚµÄ´óСºÍλÖÃÒѾ­±»¸Ä±ä +#Define WM_POWER 0x48 && (ÊÊÓÃÓÚ16λµÄwindows£© µ±ÏµÍ³½«Òª½øÈëÔÝͣ״̬ʱ·¢ËÍ´ËÏûÏ¢ +#Define WM_HELP 0x53 +#Define WM_COPYDATA 0x4A && µ±Ò»¸öÓ¦ÓóÌÐò´«µÝÊý¾Ý¸øÁíÒ»¸öÓ¦ÓóÌÐòʱ·¢ËÍ´ËÏûÏ¢ +#Define WM_CANCELJOURNAL 0x4B && µ±Ä³¸öÓû§È¡Ïû³ÌÐòÈÕÖ¾¼¤»î״̬£¬Ìá½»´ËÏûÏ¢¸ø³ÌÐò +#Define WM_NOTIFY 0x4E && µ±Ä³¸ö¿Ø¼þµÄij¸öʼþÒѾ­·¢Éú»òÕâ¸ö¿Ø¼þÐèÒªµÃµ½Ò»Ð©ÐÅϢʱ£¬·¢ËÍ´ËÏûÏ¢¸øËüµÄ¸¸´°¿Ú +#Define WM_CONTEXTMENU 0x7B && µ±Óû§Ä³¸ö´°¿ÚÖеã»÷ÁËÒ»ÏÂÓÒ¼ü¾Í·¢ËÍ´ËÏûÏ¢¸øÕâ¸ö´°¿Ú +#Define WM_STYLECHANGED 0x7D && µ±µ÷ÓÃSETWINDOWLONGº¯ÊýÒ»¸ö»ò¶à¸ö´°¿ÚµÄ·ç¸ñºó·¢ËÍ´ËÏûÏ¢¸øÄǸö´°¿Ú +#Define WM_SETICON 0x80 && Ó¦ÓóÌÐò·¢ËÍ´ËÏûÏ¢ÈÃÒ»¸öеĴóͼ±ê»òСͼ±êÓë´°¿Ú¹ØÁª +#Define WM_NCCREATE 0x81 +#Define WM_NCDESTROY 0x82 +#Define WM_NCCALCSIZE 0x83 +#Define WM_NCHITTEST 0x84 && ÔÚÕû¸ö´°¿ÚÄÚÒÆ¶¯Êó±ê +#Define WM_NCPAINT 0x85 && µ±´°¿ÚµÄ¿ò¼Ü±ØÐë±»»æÖÆÊ±(´óС¸Ä±ä»òÕß·ç¸ñ¸Ä±ä?) +#Define WM_NCACTIVATE 0x86 && ´°¿Ú·Ç¿Í»§ÇøÐèÒª±»¸Ä±äÀ´ÏÔʾÊǼ¤»î»¹ÊǷǼ¤»î״̬ +#Define WM_GETDLGCODE 0x87 +#Define WM_SYNCPAINT 0x88 +#Define WM_NCMOUSEMOVE 0xA0 && Êó±êÔÚ´°¿Ú·Ç¿Í»§ÇøÄÚÒÆ¶¯£¬·Ç¿Í»§ÇøÖ¸:´°ÌåµÄ±êÌâÀ¸¼°´°µÄ±ß¿òÌå +#Define WM_NCLBUTTONDOWN 0xA1 && Êó±êÔÚ´°¿Ú·Ç¿Í»§ÇøÄÚ°´ÏÂÊó±ê×ó¼üʱ +#Define WM_NCLBUTTONUP 0xA2 && Êó±êÔÚ´°¿Ú·Ç¿Í»§ÇøÄÚ̧ÆðÊó±ê×ó¼üʱ +#Define WM_NCLBUTTONDBLCLK 0xA3 && Êó±êÔÚ´°¿Ú·Ç¿Í»§ÇøÄÚË«»÷Êó±ê×ó¼üʱ +#Define WM_NCRBUTTONDOWN 0xA4 && Êó±êÔÚ´°¿Ú·Ç¿Í»§ÇøÄÚ°´ÏÂÊó±êÓÒ¼üʱ +#Define WM_NCRBUTTONUP 0xA5 && Êó±êÔÚ´°¿Ú·Ç¿Í»§ÇøÄÚ̧ÆðÊó±êÓÒ¼üʱ +#Define WM_NCRBUTTONDBLCLK 0xA6 && Êó±êÔÚ´°¿Ú·Ç¿Í»§ÇøÄÚË«»÷Êó±êÓÒ¼üʱ +#Define WM_NCMBUTTONDOWN 0xA7 +#Define WM_NCMBUTTONUP 0xA8 +#Define WM_NCMBUTTONDBLCLK 0xA9 +#Define WM_KEYFIRST 0x0100 +#Define WM_KEYDOWN 0x0100 && °´ÏÂÒ»¸ö¼üʱ +#Define WM_KEYUP 0x0101 && ̧ÆðÒ»¸ö¼ü +#Define WM_CHAR 0x0102 && °´ÏÂÁËij¼ü£¬²¢ÒÑ·¢³ö WM_KEYDOWN Óë WM_KEYUP ÏûÏ¢ +#Define WM_DEADCHAR 0x0103 && µ±Óà translatemessage º¯Êý·­Òë WM_KEYUP ÏûϢʱ·¢ËÍ´ËÏûÏ¢¸øÓµÓн¹µãµÄ´°¿Ú +#Define WM_SYSKEYDOWN 0x0104 && µ±Óû§°´×¡ ALT ¼üͬʱ°´ÏÂÆäËü¼üʱÌá½»´ËÏûÏ¢¸øÓµÓн¹µãµÄ´°¿Ú +#Define WM_SYSKEYUP 0x0105 && µ±Óû§ÊÍ·ÅÒ»¸ö¼üͬʱ ALT ¼ü»¹°´×ÅʱÌá½»´ËÏûÏ¢¸øÓµÓн¹µãµÄ´°¿Ú +#Define WM_SYSCHAR 0x0106 && µ± WM_SYSKEYDOWN ÏûÏ¢±» TRANSLATEMESSAGE º¯Êý·­ÒëºóÌá½»´ËÏûÏ¢¸øÓµÓн¹µãµÄ´°¿Ú +#Define WM_SYSDEADCHAR 0x0107 && µ± WM_SYSKEYDOWN ÏûÏ¢±» TRANSLATEMESSAGE º¯Êý·­Òëºó·¢ËÍ´ËÏûÏ¢¸øÓµÓн¹µãµÄ´°¿Ú +#Define WM_KEYLAST 0x0108 +#Define WM_INITDIALOG 0x0110 && ÔÚÒ»¸ö¶Ô»°¿ò³ÌÐò±»ÏÔʾǰ·¢ËÍ´ËÏûÏ¢¸øËü,³£ÓôËÏûÏ¢³õʼ»¯¿Ø¼þºÍÖ´ÐÐÆäËüÈÎÎñ +#Define WM_COMMAND 0x0111 && Ñ¡Ôñ²Ëµ¥Ïî +#Define WM_SYSCOMMAND 0x0112 && ´°¿Ú²Ëµ¥µÄÒ»ÌõÃüÁî»òµ±Óû§Ñ¡Ôñ×î´ó»¯»ò×îС»¯Ê±ÄǸö´°¿Úʱ +#Define WM_TIMER 0x0113 +#Define WM_INITMENU 0x0116 && µ±Ò»¸ö²Ëµ¥½«Òª±»¼¤»îʱ·¢ËÍ´ËÏûÏ¢£¬Ëü·¢ÉúÔÚÓû§²Ëµ¥ÌõÖеÄijÏî»ò°´ÏÂij¸ö²Ëµ¥¼ü +#Define WM_INITMENUPOPUP 0x0117 && µ±Ò»¸öÏÂÀ­²Ëµ¥»ò×Ӳ˵¥½«Òª±»¼¤»îʱ·¢ËÍ´ËÏûÏ¢ +#Define WM_MENUSELECT 0x011F && Ñ¡Ôñ²Ëµ¥Ïî +#Define WM_MENUCHAR 0x0120 && µ±²Ëµ¥Òѱ»¼¤»îÓû§°´ÏÂÁËij¸ö¼ü£¨²»Í¬ÓÚ·ÃÎʼü£©£¬·¢ËÍ´ËÏûÏ¢¸ø²Ëµ¥µÄËùÓÐÕß +#Define WM_ENTERIDLE 0x0121 && µ±Ò»¸öģ̬¶Ô»°¿ò»ò²Ëµ¥½øÈë¿ÕÔØ×´Ì¬Ê±·¢ËÍ´ËÏûÏ¢¸øËüµÄËùÓÐÕß +#Define WM_MENURBUTTONUP 0x0122 +#Define WM_MENUDRAG 0x0123 +#Define WM_MENUGETOBJECT 0x0124 +#Define WM_UNINITMENUPOPUP 0x0125 +#Define WM_CTLCOLORMSGBOX 0x0132 +#Define WM_CTLCOLOREDIT 0x0133 +#Define WM_CTLCOLORLISTBOX 0x0134 +#Define WM_CTLCOLORBTN 0x0135 +#Define WM_CTLCOLORDLG 0x0136 +#Define WM_CTLCOLORSCROLLBAR 0x0137 +#Define WM_CTLCOLORSTATIC 0x0138 +#Define WM_MOUSEFIRST 0x0200 +#Define WM_MOUSEMOVE 0x0200 +#Define WM_LBUTTONDOWN 0x0201 && ÔÚ´°¿Ú¿Í»§ÇøÄÚ°´ÏÂÊó±ê×ó¼ü +#Define WM_LBUTTONUP 0x0202 && ÔÚ´°¿Ú¿Í»§ÇøÄÚ̧ÆðÊó±ê×ó¼ü +#Define WM_LBUTTONDBLCLK 0x0203 && ÔÚ´°¿Ú¿Í»§ÇøÄÚË«»÷Êó±ê×ó¼ü +#Define WM_RBUTTONDOWN 0x0204 && ÔÚ´°¿Ú¿Í»§ÇøÄÚ°´ÏÂÊó±êÓÒ¼ü +#Define WM_RBUTTONUP 0x0205 && ÔÚ´°¿Ú¿Í»§ÇøÄÚ̧ÆðÊó±êÓÒ¼ü +#Define WM_RBUTTONDBLCLK 0x0206 && ÔÚ´°¿Ú¿Í»§ÇøÄÚË«»÷Êó±êÓÒ¼ü +#Define WM_MBUTTONDOWN 0x0204 && ÔÚ´°¿Ú¿Í»§ÇøÄÚ°´ÏÂÊó±êÖмü +#Define WM_MBUTTONUP 0x0205 && ÔÚ´°¿Ú¿Í»§ÇøÄÚ̧ÆðÊó±êÖмü +#Define WM_MBUTTONDBLCLK 0x0206 && ÔÚ´°¿Ú¿Í»§ÇøÄÚË«»÷Êó±êÖмü +#Define WM_MBUTTONDOWN 0x0207 +#Define WM_MBUTTONUP 0x0208 +#Define WM_MBUTTONDBLCLK 0x0209 +#Define WM_MOUSELAST 0x0209 +#Define WM_PARENTNOTIFY 0x0210 +#Define WM_ENTERMENULOOP 0x0211 +#Define WM_EXITMENULOOP 0x0212 && Í˳ö²Ëµ¥ÏûϢѭ»· +#Define WM_NEXTMENU 0x0213 +#Define WM_SIZING 0x0214 +#Define WM_CAPTURECHANGED 0x0215 +#Define WM_MDICREATE 0x0220 +#Define WM_MDIDESTROY 0x0221 +#Define WM_MDIACTIVATE 0x0222 +#Define WM_MDIRESTORE 0x0223 +#Define WM_MDINEXT 0x0224 +#Define WM_MDIMAXIMIZE 0x0225 +#Define WM_MDITILE 0x0226 +#Define WM_MDICASCADE 0x0227 +#Define WM_MDIICONARRANGE 0x0228 +#Define WM_MDIGETACTIVE 0x0229 +#Define WM_MDISETMENU 0x0230 +#Define WM_DROPFILES 0x0233 +#Define WM_MDIREFRESHMENU 0x0234 +#Define WM_IME_SETCONTEXT 0x0281 +#Define WM_CUT 0x0300 +#Define WM_COPY 0x0301 +#Define WM_PASTE 0x0302 +#Define WM_CLEAR 0x0303 +#Define WM_UNDO 0x0304 +#Define WM_RENDERFORMAT 0x0305 +#Define WM_RENDERALLFORMATS 0x0306 +#Define WM_DESTROYCLIPBOARD 0x0307 +#Define WM_DRAWCLIPBOARD 0x0308 +#Define WM_PAINTCLIPBOARD 0x0309 +#Define WM_VSCROLLCLIPBOARD 0x030A +#Define WM_SIZECLIPBOARD 0x030B +#Define WM_ASKCBFORMATNAME 0x030C +#Define WM_CHANGECBCHAIN 0x030D +#Define WM_HSCROLLCLIPBOARD 0x030E +#Define WM_QUERYNEWPALETTE 0x030F +#Define WM_PALETTEISCHANGING 0x0310 +#Define WM_PALETTECHANGED 0x0311 +#Define WM_HOTKEY 0x0312 +#Define WM_THEMECHANGED 0x031A && µ±ÏµÍ³Ö÷Ìâ¸Ä±äʱ(xp) +#Define WM_PENWINFIRST 0x0380 +#Define WM_PENWINLAST 0x038F +#Define WM_USER 0x0400 && ×îµÍÓû§¿ÉÓÃ×Ô¶¨ÒåÏûÏ¢ +#Define WM_SETTINGCHANGE WM_WININICHANGE +*-- +*-- Message SYSCOMMAND by wPara +*-- +#Define SC_SIZE 0xF000 +#Define SC_MOVE 0xF010 +#Define SC_MINIMIZE 0xF020 +#Define SC_MAXIMIZE 0xF030 +#Define SC_NEXTWINDOW 0xF040 +#Define SC_PREVWINDOW 0xF050 +#Define SC_CLOSE 0xF060 +#Define SC_VSCROLL 0xF070 +#Define SC_HSCROLL 0xF080 +#Define SC_MOUSEMENU 0xF090 +#Define SC_KEYMENU 0xF100 +#Define SC_ARRANGE 0xF110 +#Define SC_RESTORE 0xF120 +#Define SC_TASKLIST 0xF130 +#Define SC_SCREENSAVE 0xF140 +#Define SC_HOTKEY 0xF150 +#Define SC_ICON SC_MINIMIZE +#Define SC_ZOOM SC_MAXIMIZE +#Define SC_MANAGER_CONNECT 0x01 +#Define SC_MANAGER_CREATE_SERVICE 0x02 +#Define SC_MANAGER_ENUMERATE_SERVICE 0x04 +#Define SC_MANAGER_LOCK 0x08 +#Define SC_MANAGER_QUERY_LOCK_STATUS 0x10 +#Define SC_MANAGER_MODIFY_BOOT_CONFIG 0x20 +#Define SC_MANAGER_ALL_ACCESS STANDARD_RIGHTS_REQUIRED ; + + SC_MANAGER_CONNECT ; + + SC_MANAGER_CREATE_SERVICE ; + + SC_MANAGER_ENUMERATE_SERVICE ; + + SC_MANAGER_LOCK ; + + SC_MANAGER_QUERY_LOCK_ST +#Define SC_FLAGS 0x0400 +#Define SC_FLAGS_STR "/sc" +#Define SC_GROUP_IDENTIFIER "+" +#Define SC_GROUP_IDENTIFIERA "+" +#Define SC_GROUP_IDENTIFIERW "+" + +#Define MSGF_DIALOGBOX 0 +#Define MSGF_MESSAGEBOX 1 +#Define MSGF_MENU 2 +#Define MSGF_MOVE 3 +#Define MSGF_SIZE 4 +#Define MSGF_SCROLLBAR 5 +#Define MSGF_NEXTWINDOW 6 +#Define MSGF_MAINLOOP 8 +#Define MSGF_MAX 8 +#Define MSGF_USER 0x1000 +#Define MSGF_DDEMGR 0x8001 + +*-- +*-- ??? To WM_MENUCHAR +*-- + +#Define MNC_CLOSE 1 +#Define MNC_EXECUTE 2 +#Define MNC_IGNORE 0 +#Define MNC_SELECT 3 + +#Define MND_CONTINUE 0 +#Define MND_ENDMENU 1 + +*-- +*-- dwStyle To CreateWindow +*-- +#Define WS_MAXIMIZEBOX 0x010000 && ÓÐ×î´ó»¯°´Å¥ +#Define WS_MINIMIZEBOX 0x020000 && ÓÐ×îС»¯°´Å¥ +#Define WS_THICKFRAME 0x040000 && Óпɵ÷±ß¿ò(Óë WS_SIZEBOX ÑùʽÏàͬ) +#Define WS_SYSMENU 0x080000 && ±êÌâ¿òÉÏ´øÓд°¿Ú²Ëµ¥(ÐëÖ¸¶¨ WS_CAPTION Ñùʽ) +#Define WS_HSCROLL 0x100000 && ÓÐˮƽ¹ö¶¯Ìõ +#Define WS_VSCROLL 0x200000 && Óд¹Ö±¹ö¶¯Ìõ +#Define WS_DLGFRAME 0x400000 && ´ø¶Ô»°¿ò±ß¿òÑùʽ,²»´ø±êÌâ¿ò +#Define WS_BORDER 0x800000 && Óе¥±ß¿ò +#Define WS_CAPTION 0xC00000 && ÓбêÌâ¿òºÍ±ß¿ò(ºÍWS_TILEDÑùʽÏàͬ) +#Define WS_MAXIMIZE 0x01000000 && ¾ßÓÐ×î´ó»¯°´Å¥,ÐëÖ¸¶¨WS_SYSTEMÑùʽ +#Define WS_CLIPCHILDREN 0x02000000 && µ±ÔÚ¸¸´°¿ÚÄÚ»æÍ¼Ê±,Åųý×Ó´°¿ÚÇøÓò +#Define WS_CLIPSIBLINGS 0x04000000 && ʹ´°¿ÚÅųý×Ó´°¿ÚÖ®¼äµÄÏà¶ÔÇøÓò +#Define WS_DISABLED 0x08000000 && ²»¿ÉÓÃ״̬ +#Define WS_VISIBLE 0x10000000 && ¿É¼û״̬ +#Define WS_MINIMIZE 0x20000000 && ×îС»¯×´Ì¬ +#Define WS_CHILD 0x40000000 && +#Define WS_POPUP 0x80000000 && µ¯³öʽ´°¿Ú(²»ÄÜÓëWS_CHILDWINDOWÑùʽͬʱʹÓÃ) +#Define WS_SIZEBOX WS_THICKFRAME && ¿Éµ÷Õû´óСµÄ±ß¿ò +#Define WS_CHILDWINDOW WS_CHILD && ×Ó´°¿Ú(²»ÄÜÓëWS_POPUPºÏÓÃ) +* +#Define WS_TABSTOP 0x010000 && ¿É½ÓÊÜ TAB ¼ü½¹µã +#Define WS_GROUP 0x020000 && ×éÑùʽ,ÿ¸ö×éµÄµÚÒ»¸ö¿Ø¼þ¾ßÓÐ WS_TABSTOP Ñùʽ +#Define WS_OVERLAPPEDWINDOW (WS_OVERLAPPED + WS_CAPTION + WS_SYSMENU + WS_THICKFRAME + WS_MINIMIZEBOX + WS_MAXIMIZEBOX) + && ¾ßÓвãµþ,±êÌâ¿ò,ϵͳ²Ëµ¥,¿Éµ÷±ß¿ò,ϵͳ°´Å¥ +#Define WS_POPUPWINDOW (WS_POPUP + WS_BORDER + WS_SYSMENU) + && ¾ßÓе¥±ß¿ò,µ¯³öʽ,ϵͳ²Ëµ¥Ñùʽ +*-- +*-- dwExStyle To CreateWindowEx +*-- +#Define WS_EX_DLGMODALFRAME 0x01 && ´øË«²ã±ß¿ò +#Define WS_EX_NOPARENTNOTIFY 0x04 && ´´½¨/Ïú»Ùʱ²»Í¨Öª¸¸´°¿Ú +#Define WS_EX_TOPMOST 0x08 && ´°¿ÚÖö¥(Í£ÁôÔÚËùÓзÇ×î¸ß²ã´°¿ÚµÄÉÏÃæ) +#Define WS_EX_ACCEPTFILES 0x10 && ¿É½ÓÊÜÎļþÍÏ·Å +#Define WS_EX_TRANSPARENT 0x20 && ͸Ã÷Ñùʽ,ÔÚͬÊô´°¿ÚÒÑÖØ»­Ê±¸Ã´°¿Ú²Å¿ÉÖØ»­ +#Define WS_EX_MDICHILD 0x40 && MDI×Ó´°¿ÚÑùʽ +#Define WS_EX_TOOLWINDOW 0x80 && ¹¤¾ßÌõ´°¿ÚÑùʽ +#Define WS_EX_WINDOWEDGE 0x0100 && ´øÍ¹Æð±ßÔµµÄ±ß¿ò +#Define WS_EX_CLIENTEDGE 0x0200 && ´øÒõÓ°µÄ±ßÔµ +#Define WS_EX_CONTEXTHELP 0x0400 && ÓÐÉÏÏÂÎİïÖúÑùʽ,±êÌâÀ¸°üº¬Ò»¸öÎʺűêÖ¾ +#Define WS_EX_RIGHT 0x1000 && ÓÒ¶ÔÆë +#Define WS_EX_RTLREADING 0x2000 && ´°¿ÚÎı¾´ÓÓÒµ½×óÏÔʾ +#Define WS_EX_LEFTSCROLLBAR 0x4000 && ´¹Ö±¹ö¶¯ÌõÔÚ´°¿Ú×ó±ß½ç +#Define WS_EX_CONTROLPARENT 0x010000 && ÔÊÐíÓû§Ê¹ÓÃTAB¼üÔÚ´°¿ÚµÄ×Ó´°¿Ú¼äËÑË÷ +#Define WS_EX_STATICEDGE 0x020000 && µ±´°¿ÚΪ²»¿ÉÓÃ״̬ʱ´´½¨Ò»¸öÈýά±ßÔµ +#Define WS_EX_APPWINDOW 0x040000 && µ±´°¿Ú¿É¼ûʱ½«Ò»¸ö¶¥²ã´°¿Ú·ÅÖÃÔÚÈÎÎñÀ¸ÉÏ +#Define WS_EX_OVERLAPPEDWINDOW (WS_EX_WINDOWEDGE + WS_EX_CLIENTEDGE) + && ´øÍ¹Æð±ßÔµµÄ±ß¿ò,±ßÔµÓÐÒõÓ° +#Define WS_EX_PALETTEWINDOW (WS_EX_WINDOWEDGE + WS_EX_TOOLWINDOW + WS_EX_TOPMOST) + && ´øÁ¢Ìå±ß¿ò,Óй¤¾ßÌõ´°¿ÚÑùʽ,´°¿ÚÔÚ¶¥²ã +#Define WS_EX_LAYERED 0x080000 && ·Ö²ã»ò͸Ã÷´°¿Ú,¸ÃÑùʽ¿ÉʹÓûìºÏÌØÐ§ +#Define WS_EX_NOINHERITLAYOUT 0x100000 && ×ӿؼþ²»¼Ì³Ð´°Ìå»ò¿Ø¼þµÄ²¼¾Ö +#Define WS_EX_LAYOUTRTL 0x400000 && ´°Ìå»ò¿Ø¼þ½«¾ßÓдÓÓÒÏò×óµÄ²¼¾Ö(Òò¶ø»á±»¾µÏñ) +#Define WS_EX_NOACTIVATE 0x08000000 && ´¦ÓÚ¶¥²ãµ«²»¼¤»î +* WS_EX_COMPOSITED && ÓÃË«»º³å´Óϵ½ÉÏ»æÖÆ´°¿ÚµÄËùÓÐ×ÓËï(WinXPÒÔÉÏ) + +*-- +*-- ??? to CreateWindowEx +*-- +#Define CW_USEDEFAULT 0x80000000 + +*-- +*-- TOOLINFO +*-- +#Define TTS_ALWAYSTIP 0x01 && ¼´Ê¹´°¿ÚûÓлñµÃ½¹µã£¬Ò²ÏÔʾÌáʾ +#Define TTS_NOPREFIX 0x02 +#Define TTS_NOANIMATE 0x10 +#Define TTS_NOFADE 0x20 +#Define TTS_BALLOON 0x40 && ÆûÇòÌáʾ£¬·´Ö®¾ØÐÎ +#Define TTS_CLOSE 0x80 +#Define TTS_USEVISUALSTYLE 0x0100 && VISTA + +#Define TTI_NONE 0x00 && ÎÞͼ±ê +#Define TTI_INFO 0x01 && ÐÅÏ¢ +#Define TTI_WARNING 0x02 && ¾¯¸æ +#Define TTI_ERROR 0x03 && ´íÎó + +#Define TTDT_AUTOMATIC 0x00 +#Define TTDT_RESHOW 0x01 +#Define TTDT_AUTOPOP 0x02 +#Define TTDT_INITIAL 0x03 + +#Define TTF_IDISHWND 0x01 +#Define TTF_CENTERTIP 0x02 && ¹¤¾ßÌáʾ×ÜÏÔʾÔÚ½¹µãÓò×ܵÄÖÐÏ·½ +#Define TTF_RTLREADING 0x04 && Îı¾ÒÔ´ÓÓÒÖÁ×óµÄ˳ÐòÏÔʾ£¨½ö¶Ô°¢À­²®»òÏ£²®À´ÓÆäËûϵͳÎÞЧ£© +#Define TTF_SUBCLASS 0x10 && ¹¤¾ßÌáʾ¿Ø¼þ½«×ÓÀ໯"¹¤¾ß"ËùÔÚ´°¿ÚÒÔ±ã½ØÈ¡·¢Ë͸øËüµÄµÄÊó±êÏûÏ¢ +#Define TTF_TRACK 0x20 +#Define TTF_ABSOLUTE 0x80 && ¾ø¶ÔλÖ㬾ÍËãÆÁÄ»ÎÞ·¨ÏÔʾ£¬Ò²²»»á¸Ä±äÏÔʾλÖà +#Define TTF_TRANSPARENT 0x0100 +#Define TTF_PARSELINKS 0x1000 +#Define TTF_DI_SETITEM 0x8000 +#Define TTF_BITMAP 0x10000 && VISTA + +#Define TTM_ACTIVATE WM_USER + 01 +#Define TTM_SETDELAYTIME WM_USER + 03 && ÉèÖà Tooltip ʱ¼ä +#Define TTM_ADDTOOL WM_USER + 04 && Ìí¼Ó Tooltip +#Define TTM_ADDTOOLA WM_USER + 04 && £¨²»Çå³þÓë TTM_ADDTOOLA ÓÐʲô²»Í¬£© +#Define TTM_DELTOOLA WM_USER + 05 +#Define TTM_NEWTOOLRECTA WM_USER + 06 +#Define TTM_RELAYEVENT WM_USER + 07 +#Define TTM_GETTOOLINFOA WM_USER + 08 +#Define TTM_SETTOOLINFOA WM_USER + 09 +#Define TTM_HITTESTA WM_USER + 10 +#Define TTM_GETTEXTA WM_USER + 11 +#Define TTM_UPDATETIPTEXTA WM_USER + 12 +#Define TTM_GETTOOLCOUNT WM_USER + 13 +#Define TTM_ENUMTOOLSA WM_USER + 14 +#Define TTM_GETCURRENTTOOLA WM_USER + 15 +#Define TTM_WINDOWFROMPOINT WM_USER + 16 +#Define TTM_TRACKACTIVATE WM_USER + 17 +#Define TTM_TRACKPOSITION WM_USER + 18 +#Define TTM_SETTIPBKCOLOR WM_USER + 19 && ÉèÖñ³¾°ÑÕÉ« +#Define TTM_SETTIPTEXTCOLOR WM_USER + 20 && ÉèÖÃÎı¾ÑÕÉ« +#Define TTM_GETDELAYTIME WM_USER + 21 +#Define TTM_GETTIPBKCOLOR WM_USER + 22 +#Define TTM_GETTIPTEXTCOLOR WM_USER + 23 +#Define TTM_SETMAXTIPWIDTH WM_USER + 24 && ÉèÖÃ×î´ó¿í¶È +#Define TTM_GETMAXTIPWIDTH WM_USER + 25 +#Define TTM_SETMARGIN WM_USER + 26 +#Define TTM_GETMARGIN WM_USER + 27 +#Define TTM_POP WM_USER + 28 +#Define TTM_UPDATE WM_USER + 29 +#Define TTM_GETBUBBLESIZE WM_USER + 30 +#Define TTM_ADJUSTRECT WM_USER + 31 +#Define TTM_SETTITLEA WM_USER + 32 && ÉèÖñêÌâ +#Define TTM_SETTITLEW WM_USER + 33 +#Define TTM_POPUP WM_USER + 34 +#Define TTM_ADDTOOLW WM_USER + 50 +#Define TTM_DELTOOLW WM_USER + 51 +#Define TTM_NEWTOOLRECTW WM_USER + 52 +#Define TTM_GETTOOLINFOW WM_USER + 53 +#Define TTM_SETTOOLINFOW WM_USER + 54 +#Define TTM_HITTESTW WM_USER + 55 +#Define TTM_GETTEXTW WM_USER + 56 +#Define TTM_UPDATETIPTEXTW WM_USER + 57 +#Define TTM_ENUMTOOLSW WM_USER + 58 +#Define TTM_GETCURRENTTOOLW WM_USER + 59 +* #Define TTM_SETWINDOWTHEME = CCM_SETWINDOWTHEME + +#Define LPSTR_TEXTCALLBACKA -1 +#Define LPSTR_TEXTCALLBACKW -1 + +#Define TTN_FIRST -520 +#Define TTN_LAST -549 +#Define TTN_GETDISPINFOA TTN_FIRST - 0 +#Define TTN_GETDISPINFOW TTN_FIRST - 10 +#Define TTN_LINKCLICK TTN_FIRST - 3 +* #Define TTN_NEEDTEXT TTN_GETDISPINFO +#Define TTN_NEEDTEXTA TTN_GETDISPINFOA +#Define TTN_NEEDTEXTW TTN_GETDISPINFOW +#Define TTN_POP TTN_FIRST - 2 +#Define TTN_SHOW TTN_FIRST - 1 +*-- +*-- ¿Ø¼þÑùʽ²Î¿¼ +*-- +#Define LVS_ICON 0 && ´óͼ±ê +#Define LVS_REPORT 0x01 && Ïêϸ×ÊÁÏ +#Define LVS_SMALLICON 0x02 && Сͼ±ê +#Define LVS_LIST 0x03 && Áбí +#Define LVS_SINGLESEL 0x04 && Ö»Äܵ¥Ñ¡ +#Define LVS_SHOWSELALWAYS 0x08 && ʼÖÕÏÔʾËùÑ¡ÖÐÏî(°üÀ¨Ê§È¥½¹µãʱ) +#Define LVS_SORTASCENDING 0x10 && °´ÉýÐòÅÅÐò +#Define LVS_SORTDESCENDING 0x20 && °´½µÐòÅÅÐò +#Define LVS_SHAREIMAGELISTS 0x40 && ¹²ÏíͼÏñÁбí(µ±¿Ø¼þÏú»ÙʱͼÏñÁбíÈÔ¿ÉÓÃ) +#Define LVS_NOLABELWRAP 0x80 && ÎÄ×Ö²»»»ÐÐ +#Define LVS_AUTOARRANGE 0x0100 && ×Ô¶¯ÅÅÁÐ +#Define LVS_EDITLABELS 0x0200 && ÔÊÐí±à¼­±êÇ©(ÀàËÆ×ÊÔ´¹ÜÀíÆ÷µÄÎļþ¸üÃû) +#Define LVS_OWNERDATA 0x1000 && Ö¸¶¨Ò»¸öÐéÄâµÄListView, ÓÉÓû§×Ô¼º¹ÜÀíItemÊý¾Ý +#Define LVS_NOSCROLL 0x2000 && ½ûÖ¹¹ö¶¯Ìõ(¶ÔLVS_LISTºÍLVS_REPORTÑùʽ²»ÊÊÓÃ) +#Define LVS_ALIGNTOP 0 && ¶¥¶Ë¶ÔÆë +#Define LVS_ALIGNLEFT 0x0800 && ×ó¶ÔÆë +#Define LVS_OWNERDRAWFIXED 0x0400 && ÔÊÐí×Ô»­(½öÏêϸ×ÊÁÏģʽ) +#Define LVS_NOCOLUMNHEADER 0x4000 && Ïêϸ×ÊÁÏģʽʱ²»ÏÔʾÁÐÍ· +#Define LVS_NOSORTHEADER 0x8000 && ÁÐÍ·ÏÔÊ¾ÎªÆ½Ãæ,²»ÏìÓ¦Êó±êµã»÷(Ïêϸ×ÊÁÏģʽ) +* À©Õ¹¿Ø¼þÑùʽ²Î¿¼Áбí +#Define LVS_EX_GRIDLINES 0x01 && ÏÔʾ±í¸ñÏß(½öÏêϸ×ÊÁÏģʽ) +#Define LVS_EX_SUBITEMIMAGES 0x02 && ÔÊÐí×ÓÏîÄ¿ÏÔʾͼÏñ(½öÏêϸ×ÊÁÏģʽ) +#Define LVS_EX_CHECKBOXES 0x04 && ÔÚ¸÷ÏîÄ¿Ç°ÃæÏÔʾ¸´Ñ¡¿ò +#Define LVS_EX_TRACKSELECT 0x08 && ÔÊÐíÈȵãÑ¡Ôñ +#Define LVS_EX_HEADERDRAGDROP 0x10 && ÔÊÐíͨ¹ýÍÏ·ÅÁÐÍ·À´ÖØÐ°²ÅŸ÷ÁÐ(Ïêϸ×ÊÁÏģʽ) +#Define LVS_EX_FULLROWSELECT 0x20 && ÔÊÐíÑ¡ÔñÕûÐÐ(½öÏêϸ×ÊÁÏģʽ) +#Define LVS_EX_ONECLICKACTIVATE 0x40 && µ¥»÷ÏîÄ¿¼¤»î +#Define LVS_EX_TWOCLICKACTIVATE 0x80 && Ë«»÷ÏîÄ¿¼¤»î +#Define LVS_EX_FLATSB 0x0100 && Æ½Ãæ¹ö¶¯Ìõ +#Define LVS_EX_REGIONAL 0x0200 && ÏîÄ¿·¶Î§Ö»°üÀ¨Í¼±ê²»Í¸Ã÷ÇøÓòºÍÎÄ×ÖÇøÓò(´óͼ±êģʽ) +#Define LVS_EX_INFOTIP 0x0400 && ½«ÌáʾÐÅÏ¢´°¿ÚµÄÏûϢ֪ͨ¸¸´°¿Ú +#Define LVS_EX_UNDERLINEHOT 0x0800 && ´øÈȵãµÄÏîÄ¿ÎÄ×Ö´øÏ»®Ïß +#Define LVS_EX_UNDERLINECOLD 0x1000 && ·ÇÈȵãµÄÏîÄ¿ÎÄ×Ö´øÏ»®Ïß +#Define LVS_EX_MULTIWORKAREAS 0x2000 && ¶à¸ö¹¤×÷Çø(ÐèÔÚûÓÐÌí¼ÓÏîĿǰÉèÖÃ) +#Define LVS_EX_LABELTIP 0x4000 && Èç¹ûûÓÐÌáʾÐÅÏ¢Îı¾¾ÍÕ¹¿ªÒþ²ØµÄ±êÇ© +#Define LVS_EX_BORDERSELECT 0x8000 && ÓÃÑ¡Ôñ±ß¿òµÄÑùʽ´úÌæ¸ßÁÁ +#Define LVS_EX_DOUBLEBUFFER 0x010000 && Ë«»º³å(WinXPÒÔÉÏ) +#Define LVS_EX_HIDELABELS 0x020000 && Òþ²Ø±êÇ©(WinXPÒÔÉÏ) +#Define LVS_EX_SINGLEROW 0x040000 && ÏÔʾµ¥ÐÐ(WinXPÒÔÉÏ) +#Define LVS_EX_SNAPTOGRID 0x080000 && ͼ±ê×Ô¶¯¶ÔÆëµ½±í¸ñ(WinXPÒÔÉÏ) +* LVS_EX_SIMPLESELECT && (WinXPÒÔÉÏ) + + +*-- +*-- idTimer to SetTimer +*-- +#Define IDT_TIMER 101 + + +*-- +*-- nIndex to SetWindowLong and GetWindowLong +*-- +#Define GWL_WNDPROC -4 && ´°¿Ú¹ý³Ì +#Define GWL_HINSTANCE -6 +#Define GWL_HWNDPARENT -8 +#Define GWL_ID -12 +#Define GWL_STYLE -16 && ´°¿ÚµÄÑùʽ +#Define GWL_EXSTYLE -20 && ´°¿ÚÀ©Õ¹Ñùʽ +#Define GWL_USERDATA -21 +* The following values are also available when the hwnd parameter identifies a dialog box: +#Define DWL_MSGRESULT 0 +#Define DWL_DLGPROC 4 +#Define DWL_USER 8 + + +*-- +*-- fuLoad to LoadImage +*-- +#Define LR_DEFAULTCOLOR 0x00 && ÒÔ³£¹æ·½Ê½ÔØÈëͼÏó +#Define LR_MONOCHROME 0x01 && ½«Í¼Ïóת»»³Éµ¥É« +#Define LR_COLOR 0x02 +#Define LR_COPYRETURNORG 0x04 +#Define LR_COPYDELETEORG 0x08 +#Define LR_LOADFROMFILE 0x10 && Èç¹ûÄãÒª´ÓÍⲿÎļþÖе÷ÈëͼÏó +#Define LR_LOADTRANSPARENT 0x20 && ÓëͼÏóÖеÚÒ»¸öÏñËØÏà·ûµÄËùÓÐÏñËØ¶¼ÓÉÏµÍ³Ìæ»» +#Define LR_DEFAULTSIZE 0x40 && Èç¹û n1 ºÍ n2 ΪÁ㣬¾ÍʹÓÃÓÉϵͳ¶¨ÒåµÄͼÏóĬÈÏ´óС +#Define LR_VGACOLOR 0x80 && ʹÓà VGA Õæ²ÊÉ« +#Define LR_LOADMAP3DCOLORS 0x1000 && ½«Í¼ÏóÖеÄÉî»Ò¡¢»Ò¡¢ÒÔ¼°Ç³»ÒÏñËØ¶¼Ìæ»»³ÉCOLOR_3DSHADOW,COLOR_3DFACE,COLOR_3DLIGHTµÄµ±Ç°ÉèÖà +#Define LR_CREATEDIBSECTION 0x2000 && Èç¹ûuTypeÊÇIMAGE_BITMAP£¬º¯Êý·µ»ØÒ»¸ö²»ÒÀÀµÓÚÏÔʾÉ豸µÄλͼ +#Define LR_COPYFROMRESOURCE 0x4000 +#Define LR_SHARED 0x8000 && ½«Í¼Ïó×÷Ϊһ¸ö¹²Ïí×ÊÔ´ÔØÈë¡£ÔÚNT 4.0ÖÐ×°ÔØ¹ÌÓÐ×ÊԴʱҪÓõ½Õâ¸öÉèÖà +* LR_LOADREALSIZE && ²»¶ÔͼÏó½øÐÐËõ·Å´¦Àí¡£ºöÂÔn1ºÍn2µÄÉèÖà + +*-- +*-- uType to LoadImage +*-- +#Define IMAGE_BITMAP 0 +#Define IMAGE_ICON 1 +#Define IMAGE_CURSOR 2 + +*-- +*-- DwRop to BitBlt and StretchBlt +*-- +#Define BLACKNESS 0x42 +#Define DSTINVERT 0x550009 +#Define MERGECOPY 0xC000CA +#Define MERGEPAINT 0xBB0226 +#Define NOTSRCCOPY 0x330008 +#Define NOTSRCERASE 0x1100A6 +#Define PATCOPY 0xF00021 +#Define PATINVERT 0x5A0049 +#Define PATPAINT 0xFB0A09 +#Define SRCAND 0x8800C6 +#Define SRCCOPY 0xCC0020 +#Define SRCERASE 0x440328 +#Define SRCINVERT 0x660046 +#Define SRCPAINT 0xEE0086 +#Define WHITENESS 0xFF0062 + + +*-- +*-- CtlType to DRAWITEMSTRUCT +*-- +#Define ODT_BUTTON 4 +#Define ODT_COMBOBOX 3 +#Define ODT_LISTBOX 2 +#Define ODT_LISTVIEW 102 +#Define ODT_MENU 1 +#Define ODT_STATIC 5 +#Define ODT_TAB 101 + +*-- +*-- itemAction to DRAWITEMSTRUCT +*-- +#Define ODA_DRAWENTIRE 1 +#Define ODA_SELECT 2 +#Define ODA_FOCUS 4 + +*-- +*-- itemState to DRAWITEMSTRUCT +*-- +#Define ODS_SELECTED 0x01 && ²Ëµ¥¼º±»Ñ¡Ôñ +#Define ODS_GRAYED 0x02 && ²Ëµ¥ÊÇ»ÒÉ«µÄ(Ö»ÓÃÓڲ˵¥) +#Define ODS_DISABLED 0x04 && ½ûÓà +#Define ODS_CHECKED 0x08 && ²Ëµ¥¼º±»Ñ¡ÖÐ +#Define ODS_FOCUS 0x10 && ±íʾ¿Ø¼þÐèÒªÊäÈë½¹µã +#Define ODS_DEFAULT 0x20 && µ±Ç°¿Ø¼þ´¦ÓÚĬÈÏ״̬ +#Define ODS_HOTLIGHT 0x40 && ±íʾÊó±êÖ¸ÕëλÓڿؼþÖ®ÉÏʱ¿Ø¼þ»áÏÔʾ¸ßÁÁÑÕÉ«£¨Ö§³ÖWindows 98/Me, Windows 2000/XP£©£» +#Define ODS_INACTIVE 0x80 +#Define ODS_NOACCEL 0x100 +#Define ODS_NOFOCUSRECT 0x200 +#Define ODS_COMBOBOXEDIT 0x1000 && ÔÚ×Ô»æ×éºÏ¿ò¿Ø¼þÖÐÖ»»æÖÆÑ¡ÔñÇøÓò + +*-- +*-- iBkMode to SetBkMode +*-- +#Define TRANSPARENT 1 && ͸Ã÷´¦Àí, ¼´²»×÷ÉÏÊöÌî³ä +#Define OPAQUE 2 && Óõ±Ç°µÄ±³¾°É«Ìî³äÐéÏß»­±Ê¡¢ÒõÓ°Ë¢×ÓÒÔ¼°×Ö·ûµÄ¿Õ϶ +#Define NEWTRANSPARENT 3 && ÔÚÓÐÑÕÉ«µÄ²Ëµ¥ÉÏ»­Í¸Ã÷ÎÄ×Ö + +*-- +*-- uFlags to LocalAlloc +*-- +#Define LMEM_FIXED 0x00 +#Define LMEM_MOVEABLE 0x02 +#Define LMEM_NOCOMPACT 0x10 +#Define LMEM_NODISCARD 0x20 +#Define LMEM_ZEROINIT 0x40 +#Define LMEM_MODIFY 0x80 +#Define LMEM_DISCARDABLE 0x0F00 +#Define LMEM_VALID_FLAGS 0x0F72 +#Define LMEM_INVALID_HANDLE 0x8000 +#Define NONZEROLHND LMEM_MOVEABLE +#Define NONZEROLPTR LMEM_FIXED +#Define LHND LMEM_MOVEABLE + LMEM_ZEROINIT +#Define LPTR LMEM_FIXED + LMEM_ZEROINIT + +*-- +*-- diFlags to DrawIconEx +*-- +#Define DI_MASK 0x01 && »æÍ¼Ê±Ê¹ÓÃͼ±êµÄMASK²¿·Ö (Èçµ¥¶ÀʹÓÃ, ¿É»ñµÃͼ±êµÄÑÚÄ£) +#Define DI_IMAGE 0x02 && »æÍ¼Ê±Ê¹ÓÃͼ±êµÄXOR²¿·Ö (¼´Í¼±êûÓÐ͸Ã÷ÇøÓò) +#Define DI_COMPAT 0x04 && ϵͳ²ÉÓÃȱʡͼÏñ¶ø²»ÊÇÓû§¶¨ÒåµÄͼÏñ»æÖÆÍ¼±êºÍ¹â±ê +#Define DI_DEFAULTSIZE 0x08 && Èç¹ûCXWidthºÍCyWidth²ÎÊý±»ÉèΪÁ㣬²ÉÓÃϵͳָ¶¨µÄͼ±êºÍ¹â±êµÄµÄ¹«ÖÆ¿í¶ÈºÍ¸ß ¶È»æÖÆÍ¼±êºÍ¹â±ê£»Èç¹û±ê¼Çδ±»Ö¸¶¨ÇÒcxWidthºÍcyWith²ÎÊýÉèΪÁã±ê£¬º¯ÊýʹÓÃ×ÊԴʵ¼Ê´óС +#Define DI_NORMAL DI_MASK + DI_IMAGE && Ó󣹿·½Ê½»æÍ¼ (ºÏ²¢ DI_IMAGE ºÍ DI_MASK) + +*-- +*-- uFlags to AppendMenu +*-- +#Define MF_BITMAP 0x04 && ²Ëµ¥ÌõÄ¿ÊÇÒ»·ùλͼ. Ò»µ©ÉèÈë²Ëµ¥, Õâ·ùλͼ¾Í¾ø¶Ô²»ÄÜɾ³ý +#Define MF_CHECKED 0x08 && ¼ì²éÖ¸¶¨µÄ²Ëµ¥ÌõÄ¿ +#Define MF_DISABLED 0x02 && ½ûÖ¹Ö¸¶¨µÄ²Ëµ¥ÌõÄ¿ +#Define MF_ENABLED 0x00 && ÔÊÐíÖ¸¶¨µÄ²Ëµ¥ÌõÄ¿ +#Define MF_GRAYED 0x01 && ½ûÖ¹Ö¸¶¨µÄ²Ëµ¥ÌõÄ¿, ²¢ÓÃdz»ÒÉ«ÃèÊöËü +#Define MF_MENUBARBREAK 0x20 && ÔÚµ¯³öʽ²Ëµ¥ÖÐ, ½«Ö¸¶¨µÄÌõÄ¿·ÅÖÃÓÚÒ»¸öÐÂÁÐ, ²¢ÓÃÒ»Ìõ´¹Ö±Ïß·Ö¸ô²»Í¬µÄÁÐ +#Define MF_MENUBREAK 0x40 && ÔÚµ¯³öʽ²Ëµ¥ÖÐ, ½«Ö¸¶¨µÄÌõÄ¿·ÅÖÃÓÚÒ»¸öÐÂÁÐ. ÔÚ¶¥¼¶²Ëµ¥ÖÐ, ½«ÌõÄ¿·ÅÖõ½Ò»¸öÐÂÐÐ +#Define MF_OWNERDRAW 0x0100 && ´´½¨Ò»¸öÎïÖ÷»æÍ¼²Ëµ¥, ÓɳÌÐò¸ºÔð»æÖƲ˵¥ +#Define MF_POPUP 0x0010 && ½«Ò»¸öµ¯³öʽ²Ëµ¥ÖÃÓÚÖ¸¶¨µÄÌõÄ¿, ¿ÉÓÃÓÚ´´½¨×Ӳ˵¥¼°µ¯³öʽ²Ëµ¥ +#Define MF_SEPARATOR 0x0800 && ÔÚÖ¸¶¨µÄÌõÄ¿´¦ÏÔʾһÌõ·Ö¸ôÏß +#Define MF_STRING 0x00 && ÔÚÖ¸¶¨µÄÌõÄ¿´¦·ÅÖÃÒ»¸ö×Ö´® +#Define MF_UNCHECKED 0x08 && ¼ì²éÖ¸¶¨µÄÌõÄ¿ + +#Define MF_BYCOMMAND 0x0000 && Óɲ˵¥µÄÃüÁîIDÖ¸¶¨ +#Define MF_BYPOSITION 0x0400 && ÓÉÌõÄ¿Ôڲ˵¥ÖеÄλÖþö¶¨ (Áã´ú±í²Ëµ¥ÖеĵÚÒ»¸öÌõÄ¿) +#Define MF_DEFAULT 0x1000 +#Define MF_RIGHTJUSTIFY 0x4000 +#Define MF_HELP 0x4000 +#Define MF_HILITE 0x80 +#Define MF_UNHILITE 0x00 +#Define MF_USECHECKBITMAPS 0x0200 +*** ÏÂÁбê¼Ç²»ÄÜÒ»ÆðʹÓà +*** MF_DISABLED, MF_ENABLED, and MF_GRAYED +*** MF_BITMAP, MF_STRING, and MF_OWNERDRAW +*** MF_MENUBARBREAK and MF_MENUBREAK +*** MF_CHECKED and MF_UNCHECKED + +*-- +*-- fMask To InsertMenuItem MENUITEMINFO ÖÐÄÄЩ³ÉÔ±ÓÐЧ +*-- +#Define MIIM_STATE 0x01 +#Define MIIM_ID 0x02 +#Define MIIM_SUBMENU 0x04 +#Define MIIM_CHECKMARKS 0x08 +#Define MIIM_TYPE 0x10 +#Define MIIM_DATA 0x20 +#Define MIIM_STRING 0x40 +#Define MIIM_BITMAP 0x80 +#Define MIIM_FTYPE 0x0100 + +*-- +*-- fType To InsertMenuItem MENUITEMINFO Öв˵¥ÏîÀàÐÍ +*-- +#Define MFT_STRING 0x00 +#Define MFT_BITMAP 0x04 +#Define MFT_MENUBARBREAK 0x20 +#Define MFT_MENUBREAK 0x40 +#Define MFT_OWNERDRAW 0x0100 +#Define MFT_SEPARATOR 0x0800 + +*-- +*-- fState to InsertMenuItem MENUITEMINFO Öв˵¥Ïî״̬ +*-- +#Define MFS_ENABLED 0x00 +#Define MFS_UNCHECKED 0x00 +#Define MFS_UNHILITE 0x00 +#Define MFS_GRAYED 0x01 +#Define MFS_DISABLED 0x02 +#Define MFS_CHECKED 0x08 +#Define MFS_HILITE 0x80 + +*-- +*-- nFormat to DrawText +*-- +#Define DT_TOP 0x00 && ´¹Ö±¶¥¶ÔÆë (½öµ¥ÐÐʱÓÐЧ) +#Define DT_LEFT 0x00 && ˮƽ×ó¶ÔÆë +#Define DT_CENTER 0x01 && ˮƽ¾ÓÖÐ¶ÔÆë +#Define DT_RIGHT 0x02 && ˮƽÓÒ¶ÔÆë +#Define DT_VCENTER 0x04 && ´¹Ö±¾ÓÖÐ¶ÔÆë (½öµ¥ÐÐʱÓÐЧ) +#Define DT_BOTTOM 0x08 && ´¹Ö±ÏÂ¶ÔÆë (½öµ¥ÐÐʱÓÐЧ) +#Define DT_WORDBREAK 0x10 && ½øÐÐ×Ô¶¯»»ÐÐ. ÈçÓÃSetTextAlignº¯ÊýÉèÖÃÁËTA_UPDATECP±êÖ¾, ÕâÀïµÄÉèÖÃÔòÎÞЧ. +#Define DT_SINGLELINE 0x20 && µ¥ÐÐ +#Define DT_EXPANDTABS 0x40 && Ãè»æÎÄ×ÖµÄʱºò, ¶ÔÖÆ±íÕ¾½øÐÐÀ©Õ¹. ĬÈϵÄÖÆ±íÕ¾¼ä¾àÊÇ8¸ö×Ö·û. µ«ÊÇ, ¿ÉÓÃDT_TABSTOP±êÖ¾¸Ä±äÕâÏîÉ趨. +#Define DT_TABSTOP 0x80 && Ö¸¶¨ÐµÄÖÆ±íÕ¾¼ä¾à, ²ÉÓÃÕâ¸öÕûÊýµÄ¸ß 8 λ +#Define DT_NOCLIP 0x0100 && Ãè»æÎÄ×Öʱ²»¼ôÇе½Ö¸¶¨µÄ¾ØÐÎ +#Define DT_EXTERNALLEADING 0x0200 && ¼ÆËãÎı¾Ðи߶ȵÄʱºò, ʹÓõ±Ç°×ÖÌåµÄÍⲿ¼ä¾àÊôÐÔ +#Define DT_CALCRECT 0x0400 && ¶àÐлæÍ¼Ê±¾ØÐεĵױ߸ù¾ÝÐèÒª½øÐÐÑÓÕ¹, ÒÔ±ãÈÝÏÂËùÓÐÎÄ×Ö; µ¥ÐлæÍ¼Ê±, ÑÓÕ¹¾ØÐεÄÓÒ²à, ²»Ãè»æÎÄ×Ö, ÓÉlpRect²ÎÊýÖ¸¶¨µÄ¾ØÐλáÔØÈë¼ÆËã³öÀ´µÄÖµ +#Define DT_NOPREFIX 0x0800 && ½ûÖ¹ & Ϊ·ÃÎʼü +#Define DT_INTERNAL 0x1000 + + +*-- +*-- uFlags to TrackPopupMenu and TrackPopupMenuEx +*-- +#Define TPM_LEFTALIGN 0x00 +#Define TPM_CENTERALIGN 0x04 +#Define TPM_RIGHTALIGN 0x08 && Positions the pop-up menu so that its right side is aligned with the coordinate specified by the x parameter +* New flags for the "TrackPopupMenuEx" version +#Define TPM_TOPALIGN 0x00 +#Define TPM_BOTTOMALIGN 0x20 +#Define TPM_HORIZONTAL 0x00 +#Define TPM_HORNEGANIMATION 0x0800 +#Define TPM_HORPOSANIMATION 0x0400 +#Define TPM_NOANIMATION 0x4000 +#Define TPM_NONOTIFY 0x80 +#Define TPM_RECURSE 0x01 +#Define TPM_VCENTERALIGN 0x10 +#Define TPM_VERNEGANIMATION 0x2000 +#Define TPM_VERPOSANIMATION 0x1000 +#Define TPM_VERTICAL 0x40 + +* Value Meaning +#Define TPM_LEFTBUTTON 0x00 +#Define TPM_RIGHTBUTTON 0x02 +#Define TPM_RETURNCMD 0x0100 + +*-- +*-- nIndex to GetSysColor +*-- +#Define COLOR_SCROLLBAR 0 && ¹ö¶¯Ìõ +#Define COLOR_BACKGROUND 1 && Windows ×ÀÃæ +#Define COLOR_ACTIVECAPTION 2 && »î¶¯´°¿ÚµÄ±êÌâ +#Define COLOR_INACTIVECAPTION 3 && ²»»î¶¯´°¿ÚµÄ±êÌâ +#Define COLOR_MENU 4 && ²Ëµ¥ +#Define COLOR_WINDOW 5 && ´°¿Ú±³¾° +#Define COLOR_WINDOWFRAME 6 && ´°¿ò +#Define COLOR_MENUTEXT 7 && ²Ëµ¥ÎÄ×Ö +#Define COLOR_WINDOWTEXT 8 && ´°¿ÚÎÄ×Ö +#Define COLOR_CAPTIONTEXT 9 && ´°¿Ú±êÌâÖеÄÎÄ×Ö +#Define COLOR_ACTIVEBORDER 10 && »î¶¯´°¿ÚµÄ±ß¿ò +#Define COLOR_INACTIVEBORDER 11 && ²»»î¶¯´°¿ÚµÄ±ß¿ò +#Define COLOR_APPWORKSPACE 12 && MDI×ÀÃæµÄ±³¾° +#Define COLOR_HIGHLIGHT 13 && Ñ¡¶¨µÄÏî±³¾° +#Define COLOR_HIGHLIGHTTEXT 14 && Ñ¡¶¨µÄÏîÎÄ×Ö +#Define COLOR_BTNFACE 15 && °´Å¥ +#Define COLOR_BTNSHADOW 16 && °´Å¥µÄ3DÒõÓ° +#Define COLOR_GRAYTEXT 17 && »ÒÉ«ÎÄ×Ö; ÈçʹÓÃÁ˶¶¶¯¼¼ÊõÔòΪÁã +#Define COLOR_BTNTEXT 18 && °´Å¥ÎÄ×Ö +#Define COLOR_INACTIVECAPTIONTEXT 19 && ²»»î¶¯´°¿ÚµÄÎÄ×Ö +#Define COLOR_BTNHIGHLIGHT 20 && °´Å¥µÄ3D¼ÓÁÁÇø +#Define COLOR_3DDKSHADOW 21 +#Define COLOR_GRADIENTACTIVECAPTION 27 +#Define COLOR_GRADIENTINACTIVECAPTION 28 +#Define COLOR_MENUHILIGHT 29 +#Define COLOR_MENUBAR 30 + +*-- +*-- fuFlags to DrawState +*-- +* type +#Define DST_COMPLEX 0x00 && »æÍ¼ÔÚÓÉ lpDrawStateProc ²ÎÊýÖ¸¶¨µÄ»Øµ÷º¯ÊýÆÚ¼äÖ´ÐÐ, lParam ºÍ wParam »á´«µÝ¸ø»Øµ÷ʼþ. +#Define DST_TEXT 0x01 && lParam´ú±íÎÄ×ֵĵØÖ·(¿ÉʹÓÃÒ»¸ö×Ö´®±ðÃû), wParam ´ú±í×Ö´®µÄ³¤¶È. +#Define DST_PREFIXTEXT 0x02 && Óë DST_TEXT ÀàËÆ, Ö»ÊÇ & ×Ö·ûÖ¸³öΪϸ÷×Ö·û¼ÓÉÏÏ»®Ïß +#Define DST_ICON 0x03 && lParam °üÀ¨Í¼±êµÄ¾ä±ú +#Define DST_BITMAP 0x04 && lParam °üÀ¨Î»Í¼µÄ¾ä±ú +* state +#Define DSS_NORMAL 0x00 && ÆÕͨͼÏñ +#Define DSS_UNION 0x10 && ͼÏñ½øÐж¶¶¯´¦Àí +#Define DSS_DISABLED 0x20 && ͼÏó¾ßÓи¡µñЧ¹û +#Define DSS_MONO 0x80 && Óà hBrush Ãè»æÍ¼Ïñ +#Define DSS_RIGHT 0x8000 && ÎÞÈκÎ×÷Óà + +*-- +*-- edge to DrawEdge +*-- +#Define BDR_RAISEDOUTER 0x01 && Íâ²ã͹ +#DEfine BDR_SUNKENOUTER 0x02 && Íâ²ã°¼ +#Define BDR_RAISEDINNER 0x04 && ÄÚ²ã͹ +#Define BDR_SUNKENINNER 0x08 && Äڲ㰼 +#Define BDR_OUTER 0x03 +#Define BDR_RAISED 0x05 +#Define BDR_SUNKEN 0x0A +#Define BDR_INNER 0x0C +#Define EDGE_BUMP BitOr(BDR_RAISEDOUTER, BDR_SUNKENINNER) +#Define EDGE_ETCHED BitOr(BDR_SUNKENOUTER, BDR_RAISEDINNER) +#Define EDGE_RAISED BitOr(BDR_RAISEDOUTER, BDR_RAISEDINNER) +#Define EDGE_SUNKEN BitOr(BDR_SUNKENOUTER, BDR_SUNKENINNER) + +*-- +*-- grfFlags to DrawEdge +*-- +#Define BF_LEFT 0x01 && ×ó±ßÔµ +#Define BF_TOP 0x02 && ÉϱßÔµ +#Define BF_RIGHT 0x04 && ÓÒ±ßÔµ +#Define BF_BOTTOM 0x08 && ϱßÔµ +#Define BF_DIAGONAL 0x10 && ¶Ô½ÇÏß +#Define BF_MIDDLE 0x800 && Ìî³ä¾ØÐÎÄÚ²¿ +#Define BF_SOFT 0x1000 && MSDN: Soft buttons instead of tiles. +#Define BF_ADJUST 0x2000 && µ÷Õû¾ØÐÎ, Ô¤Áô¿Í»§Çø +#Define BF_FLAT 0x4000 && Æ½Ãæ±ßÔµ +#Define BF_MONO 0x8000 && һά±ßÔµ +#Define BF_TOPLEFT BitOr(BF_TOP, BF_LEFT) +#Define BF_TOPRIGHT BitOr(BF_TOP, BF_RIGHT) +#Define BF_BOTTOMLEFT BitOr(BF_BOTTOM, BF_LEFT) +#Define BF_BOTTOMRIGHT BitOr(BF_BOTTOM, BF_RIGHT) +#Define BF_RECT BitOr(BF_LEFT, BitOr(BF_TOP, BitOr(BF_RIGHT, BF_BOTTOM))) +#Define BF_DIAGONAL_ENDTOPRIGHT BitOr(BF_DIAGONAL, BitOr(BF_TOP, BF_RIGHT)) +#Define BF_DIAGONAL_ENDTOPLEFT BitOr(BF_DIAGONAL, BitOr(BF_TOP, BF_LEFT)) +#Define BF_DIAGONAL_ENDBOTTOMLEFT BitOr(BF_DIAGONAL, BitOr(BF_BOTTOM, BF_LEFT)) +#Define BF_DIAGONAL_ENDBOTTOMRIGHT BitOr((BF_DIAGONAL, BitOr(BF_BOTTOM, BF_RIGHT)) + + +*-- +*-- fnPenStyle to CreatePen +*-- +#Define PS_SOLID 0 && ʵÏß _______ +#Define PS_DASH 1 && ÐéÏß (nWidth±ØÐëÊÇ1) ------- +#Define PS_DOT 2 && µãÏß (nWidth±ØÐëÊÇ1) ....... +#Define PS_DASHDOT 3 && µã»®Ïß (nWidth±ØÐëÊÇ1) _._._._ +#Define PS_DASHDOTDOT 4 && µã-µã-»®Ïß (nWidth±ØÐëÊÇ1) _.._.._ +#Define PS_NULL 5 && ÒþÐÎ +#Define PS_INSIDEFRAME 6 && °üΧ¾ØÐÎ(nWidth±ØÐëÊÇ1) + + +*-- +*-- nIndex to GetSystemMetrics +*-- +#Define SM_CXSCREEN 0 && ÆÁÄ»¿í¶È +#Define SM_CYSCREEN 1 && ÆÁÄ»¸ß¶È +#Define SM_CXVSCROLL 2 && ´¹Ö±¹ö¶¯ÌõÖеļýÍ·°´Å¥µÄ´óС +#Define SM_CYHSCROLL 3 && ˮƽ¹ö¶¯ÌõÉϵļýÍ·´óС +#Define SM_CYCAPTION 4 && ´°¿Ú±êÌâµÄ¸ß¶È +#Define SM_CXBORDER 5 && ³ß´ç²»¿É±ä±ß¿òµÄ¿í¶È +#Define SM_CYBORDER 6 && ³ß´ç²»¿É±ä±ß¿òµÄ¸ß¶È +#Define SM_CXDLGFRAME 7 && ¶Ô»°¿ò±ß¿òµÄ¿í¶È +#Define SM_CYDLGFRAME 8 && ¶Ô»°¿ò±ß¿òµÄ¸ß¶È +#Define SM_CYVTHUMB 9 && ´¹Ö±¹ö¶¯ÌõÉϹö¶¯¿éµÄ¸ß¶È +#Define SM_CXHTHUMB 10 && ˮƽ¹ö¶¯ÌõÉϹö¶¯¿éµÄ´óС +#Define SM_CXICON 11 && ±ê׼ͼ±êµÄ¿í¶È +#Define SM_CYICON 12 && ±ê׼ͼ±êµÄ¸ß¶È +#Define SM_CXCURSOR 13 && ±ê×¼Êó±êÖ¸Õë¿í¶È +#Define SM_CYCURSOR 14 && ±ê×¼Êó±êÖ¸Õë¸ß¶È +#Define SM_CYMENU 15 && ²Ëµ¥¸ß¶È +#Define SM_CXFULLSCREEN 16 && ×î´ó»¯´°¿Ú¿Í»§ÇøµÄ¿í¶È +#Define SM_CYFULLSCREEN 17 && ×î´ó»¯´°¿Ú¿Í»§ÇøµÄ¸ß¶È +#Define SM_CYKANJIWINDOW 18 && Kanji´°¿ÚµÄ´óС£¨Height Of Kanji window£© +#Define SM_MOUSEPRESENT 19 && ÊÇ·ñ°²×°ÁËÊó±ê +#Define SM_CYVSCROLL 20 && ´¹Ö±¹ö¶¯ÌõÖеļýÍ·°´Å¥µÄ´óС +#Define SM_CXHSCROLL 21 && ˮƽ¹ö¶¯ÌõÖеļýÍ·°´Å¥µÄ´óС +#Define SM_DEBUG 22 && Èç windows µÄµ÷ÊÔ°æÕýÔÚÔËÐУ¬ÔòΪ .T. +#Define SM_SWAPBUTTON 23 && ÊÇ·ñ½»»»ÁËÊó±ê×óÓÒ¼ü +#Define SM_RESERVED1 24 +#Define SM_RESERVED2 25 +#Define SM_RESERVED3 26 +#Define SM_RESERVED4 27 +#Define SM_CXMIN 28 && ´°¿Ú×îС¿í¶È +#Define SM_CYMIN 29 && ´°¿Ú×îС¸ß¶È +#Define SM_CXSIZE 30 && ±êÌâÀ¸Î»Í¼µÄ¿í¶È +#Define SM_CYSIZE 31 && ±êÌâÀ¸Î»Í¼µÄ¸ß¶È +#Define SM_CXFRAME 32 && ³ß´ç¿É±ä±ß¿òµÄ¿í¶È +#Define SM_CYFRAME 33 && ³ß´ç¿É±ä±ß¿òµÄ¸ß¶È +#Define SM_CXMINTRACK 34 && ´°¿ÚµÄ×îС¹ì¼£¿í¶È +#Define SM_CYMINTRACK 35 && ´°¿ÚµÄ×îС¹ì¼£¸ß¶È +#Define SM_CXDOUBLECLK 36 && Ë«»÷ÇøÓòµÄ X Î»ÒÆ +#Define SM_CYDOUBLECLK 37 && Ë«»÷ÇøÓòµÄ Y Î»ÒÆ +#Define SM_CXICONSPACING 38 && ×ÀÃæÍ¼±êÖ®¼äµÄ¼ä¸ô¿í¶È +#Define SM_CYICONSPACING 39 && ×ÀÃæÍ¼±êÖ®¼äµÄ¼ä¸ô¸ß¶È +#Define SM_MENUDROPALIGNMENT 40 && È絯³öʽ²Ëµ¥¶ÔÆë²Ëµ¥À¸ÏîÄ¿µÄ×ó²à£¬ÔòΪ 0 +#Define SM_PENWINDOWS 41 && Èç×°ÔØÁËÖ§³Ö±Ê´°¿ÚµÄDLL£¬Ôò±íʾ±Ê´°¿ÚµÄ¾ä±ú +#Define SM_DBCSENABLED 42 && ÊÇ·ñÖ§³ÖË«×Ö½Ú +#Define SM_CMOUSEBUTTONS 43 +#Define SM_CMETRICS 44 +#Define SM_CXEDGE 45 +#Define SM_CYEDGE 46 +#Define SM_CXMINSPACING 47 +#Define SM_CYMINSPACING 48 +#Define SM_CXSMICON 49 && Сͼ±ê¿í¶È£¿ +#Define SM_CYSMICON 50 && Сͼ±ê¸ß¶È£¿ +#Define SM_CYSMCAPTION 51 +#Define SM_CXSMSIZE 52 && С±êÌâ°´Å¥µÄ¿í¶È +#Define SM_CYSMSIZE 53 && С±êÌâ°´Å¥µÄ¸ß¶È +#Define SM_CXMENUSIZE 54 +#Define SM_CYMENUSIZE 55 +#Define SM_ARRANGE 56 && windows ÈçºÎÅÅÁÐ×îС»¯´°¿ÚµÄÒ»¸ö±êÖ¾¡£²Î¿¼api32.txtÖÐµÄ ARW ³£Êý +#Define SM_CXMINIMIZED 57 +#Define SM_CYMINIMIZED 58 +#Define SM_CXMAXTRACK 59 +#Define SM_CYMAXTRACK 60 +#Define SM_CXMAXIMIZED 61 +#Define SM_CYMAXIMIZED 62 +#Define SM_NETWORK 63 +* #Define +* #Define +* #Define +#Define SM_CLEANBOOT 67 && Æô¶¯·½Ê½: 0 Õý³£Æô¶¯ 1 °²È«Ä£Ê½Æô¶¯ 2 ÍøÂ簲ȫģʽÆô¶¯ +#Define SM_CXDRAG 68 && Í϶¯Ê± X ÖáÆ«ÒÆ +#Define SM_CYDRAG 69 && Í϶¯Ê± Y ÖáÆ«ÒÆ +#Define SM_SHOWSOUNDS 70 +#Define SM_CXMENUCHECK 71 && ÒÔÏñËØÎªµ¥Î»¼ÆËãµÄ²Ëµ¥Ñ¡Öбê¼ÇλͼµÄ X ³ß´ç +#Define SM_CYMENUCHECK 72 && ÒÔÏñËØÎªµ¥Î»¼ÆËãµÄ²Ëµ¥Ñ¡Öбê¼ÇλͼµÄ Y ³ß´ç +#Define SM_SLOWMACHINE 73 +#Define SM_MIDEASTENABLED 74 +#Define SM_MOUSEWHEELPRESENT 75 +#Define SM_XVIRTUALSCREEN 76 +#Define SM_YVIRTUALSCREEN 77 +#Define SM_CXVIRTUALSCREEN 78 +#Define SM_CYVIRTUALSCREEN 79 +#Define SM_CMONITORS 80 +#Define SM_SAMEDISPLAYFORMAT 81 +#Define SM_IMMENABLED 82 +#Define SM_REMOTESESSION 0x1000 +#Define SM_CXSIZEFRAME SM_CXFRAME +#Define SM_CYSIZEFRAME SM_CYFRAME +#Define SM_CXFIXEDFRAME SM_CXDLGFRAME +#Define SM_CYFIXEDFRAME SM_CYDLGFRAME +#Define SM_GETCURFOCUSA WM_USER + 1003 +#Define SM_GETCURFOCUSW WM_USER + 1004 +#Define SM_GETOPTIONS WM_USER + 1005 +#Define SM_GETSELCOUNT WM_USER + 1000 +#Define SM_GETSERVERSELA WM_USER + 1001 +#Define SM_GETSERVERSELW WM_USER + 1002 +* SM_SECURE ÊÇ·ñ°²×°Á˰²È«£¨±£ÃÜ£©»úÖÆ +* SM_SHOWSOUNDS Ç¿ÖÆÊÓ¾õÌáʾ²¥·ÅÉùÒô +* SM_SLOWMACHINE ϵͳËÙ¶ÈÌ«Âý£¬µ«ÈÔÔÚÔËÐÐÖÐ + + + +*-- +*-- uiAction to SystemParametersInfo +*-- +#Define SPI_GETBEEP 1 +#Define SPI_SETBEEP 2 +#Define SPI_GETMOUSE 3 +#Define SPI_SETMOUSE 4 +#Define SPI_GETBORDER 5 +#Define SPI_SETBORDER 6 +#Define SPI_GETKEYBOARDSPEED 10 +#Define SPI_SETKEYBOARDSPEED 11 +#Define SPI_LANGDRIVER 12 +#Define SPI_ICONHORIZONTALSPACING 13 +#Define SPI_GETSCREENSAVETIMEOUT 14 +#Define SPI_SETSCREENSAVETIMEOUT 15 +#Define SPI_GETSCREENSAVEACTIVE 16 +#Define SPI_SETSCREENSAVEACTIVE 17 +#Define SPI_GETGRIDGRANULARITY 18 +#Define SPI_SETGRIDGRANULARITY 19 +#Define SPI_SETDESKWALLPAPER 20 +#Define SPI_SETDESKPATTERN 21 +#Define SPI_GETKEYBOARDDELAY 22 +#Define SPI_SETKEYBOARDDELAY 23 +#Define SPI_ICONVERTICALSPACING 24 +#Define SPI_GETICONTITLEWRAP 25 +#Define SPI_SETICONTITLEWRAP 26 +#Define SPI_GETMENUDROPALIGNMENT 27 +#Define SPI_SETMENUDROPALIGNMENT 28 +#Define SPI_SETDOUBLECLKWIDTH 29 +#Define SPI_SETDOUBLECLKHEIGHT 30 +#Define SPI_GETICONTITLELOGFONT 31 +#Define SPI_SETDOUBLECLICKTIME 32 +#Define SPI_SETMOUSEBUTTONSWAP 33 +#Define SPI_SETICONTITLELOGFONT 34 +#Define SPI_GETFASTTASKSWITCH 5 +#Define SPI_SETFASTTASKSWITCH 36 +#Define SPI_SETDRAGFULLWINDOWS 37 +#Define SPI_GETDRAGFULLWINDOWS 38 +#Define SPI_GETNONCLIENTMETRICS 41 +#Define SPI_SETNONCLIENTMETRICS 42 +#Define SPI_GETMINIMIZEDMETRICS 43 +#Define SPI_SETMINIMIZEDMETRICS 44 +#Define SPI_GETICONMETRICS 45 +#Define SPI_SETICONMETRICS 46 +#Define SPI_SETWORKAREA 47 +#Define SPI_GETWORKAREA 48 +#Define SPI_SETPENWINDOWS 49 +#Define SPI_GETFILTERKEYS 50 +#Define SPI_SETFILTERKEYS 51 +#Define SPI_GETTOGGLEKEYS 52 +#Define SPI_SETTOGGLEKEYS 53 +#Define SPI_GETMOUSEKEYS 54 +#Define SPI_SETMOUSEKEYS 55 +#Define SPI_GETSHOWSOUNDS 56 +#Define SPI_SETSHOWSOUNDS 57 +#Define SPI_GETSTICKYKEYS 58 +#Define SPI_SETSTICKYKEYS 59 +#Define SPI_GETACCESSTIMEOUT 60 +#Define SPI_SETACCESSTIMEOUT 61 +#Define SPI_GETSERIALKEYS 62 +#Define SPI_SETSERIALKEYS 63 +#Define SPI_GETSOUNDSENTRY 64 +#Define SPI_SETSOUNDSENTRY 65 +#Define SPI_GETHIGHCONTRAST 66 +#Define SPI_SETHIGHCONTRAST 67 +#Define SPI_GETKEYBOARDPREF 68 +#Define SPI_SETKEYBOARDPREF 69 +#Define SPI_GETSCREENREADER 70 +#Define SPI_SETSCREENREADER 71 +#Define SPI_GETANIMATION 72 +#Define SPI_SETANIMATION 73 +#Define SPI_GETFONTSMOOTHING 74 +#Define SPI_SETFONTSMOOTHING 75 +#Define SPI_SETDRAGWIDTH 76 +#Define SPI_SETDRAGHEIGHT 77 +#Define SPI_SETHANDHELD 78 +#Define SPI_GETLOWPOWERTIMEOUT 79 +#Define SPI_GETPOWEROFFTIMEOUT 80 +#Define SPI_SETLOWPOWERTIMEOUT 81 +#Define SPI_SETPOWEROFFTIMEOUT 82 +#Define SPI_GETLOWPOWERACTIVE 83 +#Define SPI_GETPOWEROFFACTIVE 84 +#Define SPI_SETLOWPOWERACTIVE 85 +#Define SPI_SETPOWEROFFACTIVE 86 +#Define SPI_SETCURSORS 87 +#Define SPI_SETICONS 88 +#Define SPI_GETDEFAULTINPUTLANG 89 +#Define SPI_SETDEFAULTINPUTLANG 90 +#Define SPI_SETLANGTOGGLE 91 +#Define SPI_GETWINDOWSEXTENSION 92 +#Define SPI_SETMOUSETRAILS 93 +#Define SPI_GETMOUSETRAILS 94 +#Define SPI_SCREENSAVERRUNNING 97 +#Define SPI_GETMENUSHOWDELAY 106 +#Define SPI_GETMENUFADE 0x1012 +#Define SPI_GETDROPSHADOW 0x1024 + +*-- +*-- fMode to SetTextAlign +*-- +#Define TA_NOUPDATECP 0 +#Define TA_UPDATECP 1 +#Define TA_TOP 0 && The reference point will be on the top edge of the bounding rectangle. +#Define TA_LEFT 0 && The reference point will be on the left edge of the bounding rectangle. +#Define TA_RIGHT 2 && The reference point will be on the right edge of the bounding rectangle. +#Define TA_CENTER 6 && The reference point will be aligned horizontally with the center of the bounding rectangle. +#Define TA_BOTTOM 8 && The reference point will be on the bottom edge of the bounding rectangle. +#Define TA_BASELINE 24 && The reference point will be on the base line of the text. +#Define VTA_BASELINE TA_BASELINE && The reference point will be on the base line of the text. +#Define VTA_RIGHT TA_TOP +#Define VTA_LEFT TA_BOTTOM +#Define VTA_CENTER TA_CENTER && The reference point will be aligned vertically with the center of the bounding rectangle. +#Define VTA_BOTTOM TA_RIGHT +#Define VTA_TOP TA_LEFT +*** The default values are TA_LEFT, TA_TOP, and TA_NOUPDATECP. + + +*-- +*-- nIndex to GetDeviceCaps +*-- +#Define DRIVERVERSION 0 && The device driver version. +#Define TECHNOLOGY 2 && Device technology. It can be any one of the + #Define DT_PLOTTER 0 && Vector plotter + #Define DT_RASDISPLAY 1 && Raster display + #Define DT_RASPRINTER 2 && Raster printer + #Define DT_RASCAMERA 3 && Raster camera + #Define DT_CHARSTREAM 4 && Character stream + #Define DT_METAFILE 5 && Metafile + #Define DT_DISPFILE 6 && Display file +#Define HORZSIZE 4 && ÎïÀíÆÁÄ»¿í¶È£¬ºÁÃ×µ¥Î» +#Define VERTSIZE 6 && ÎïÀíÆÁÄ»¸ß¶È£¬ºÁÃ×µ¥Î» +#Define HORZRES 8 && Width, in pixels, of the screen. +#Define VERTRES 10 && Height, in raster lines, of the screen. +#Define LOGPIXELSX 88 && ÿÂß¼­Ó¢´ç¶ÔÓ¦µÄˮƽÏñËØµãÊý +#Define LOGPIXELSY 90 && ÿÂß¼­Ó¢´ç¶ÔÓ¦µÄ´¹Ö±ÏñËØµãÊý +#Define BITSPIXEL 12 && Number of adjacent color bits for each pixel. +#Define PLANES 14 && Number of color planes. +#Define NUMBRUSHES 16 && Number of device-specific brushes +#Define NUMPENS 18 && Number of device-specific pens +#Define NUMFONTS 22 && Number of device-specific fonts. +#Define NUMCOLORS 24 && Number of entries in the device's color table. +#Define ASPECTX 40 && Relative width of a device pixel used for line drawing. +#Define ASPECTY 42 && Relative height of a device pixel used for line drawing. +#Define ASPECTXY 44 && Diagonal width of the device pixel used for line drawing. +#Define PDEVICESIZE 26 && Reserved +#Define CLIPCAPS 36 +#Define SIZEPALETTE 104 +#Define NUMRESERVED 106 +#Define COLORRES 108 +#Define PHYSICALWIDTH 110 && For printing devices: the physical width, in device units. +#Define PHYSICALHEIGHT 111 && For printing devices: the physical height, in device units. +#Define PHYSICALOFFSETX 112 && For printing devices: the physical printable area horizontal margin. +#Define PHYSICALOFFSETY 113 && For printing devices: the physical printable area vertical margin. +#Define SCALINGFACTORX 114 && For printing devices: the scaling factor along the horizontal axis. +#Define SCALINGFACTORY 115 && For printing devices: the scaling factor along the vertical axis. +* VREFRESH Windows NT only +* DESKTOPHORZRES Windows NT only +* DESKTOPVERTRES Windows NT only +* BLTALIGNMENT Windows NT only +#Define RASTERCAPS 38 && Value that indicates the raster capabilities of the device, as shown in the following table + * Capability Meaning + #Define RC_BANDING 2 && Requires banding support. + #Define RC_BITBLT 1 && Capable of transferring bitmaps. + #Define RC_BITMAP64 8 && Capable of supporting bitmaps larger than 64K. + #Define RC_DI_BITMAP 0x80 && Capable of supporting the SetDIBits and GetDIBits functions. + #Define RC_DIBTODEV 0x0200 && Capable of supporting the SetDIBitsToDevice function. + #Define RC_FLOODFILL 0x1000 && Capable of performing flood fills. + #Define RC_GDI20_OUTPUT 0x10 && Capable of supporting features of Windows 2.0. + #Define RC_PALETTE 0x0100 && Specifies a palette-based device. + #Define RC_SCALING 0x04 && Capable of scaling. + #Define RC_STRETCHBLT 0x0800 && Capable of performing the StretchBlt function. + #Define RC_STRETCHDIB 0x2000 && Capable of performing the StretchDIBits function. +#Define CURVECAPS 28 && Value that indicates the curve capabilities of the device, as shown in the following table: + * Value Meaning + #Define CC_NONE 0 && Device does not support curves. + #Define CC_CIRCLES 1 && Device can draw circles. + #Define CC_PIE 2 && Device can draw pie wedges. + #Define CC_CHORD 4 && Device can draw chord arcs. + #Define CC_ELLIPSES 8 && Device can draw ellipses. + #Define CC_WIDE 16 && Device can draw wide borders. + #Define CC_STYLED 32 && Device can draw styled borders. + #Define CC_WIDESTYLED 64 && Device can draw borders that are wide and styled. + #Define CC_INTERIORS 128 && Device can draw interiors. + #Define CC_ROUNDRECT 256 && Device can draw rounded rectangles. +#Define LINECAPS 30 && Value that indicates the line capabilities of the device, as shown in the following table: + * Value Meaning + #Define LC_NONE 0 && Device does not support lines. + #Define LC_POLYLINE 2 && Device can draw a polyline. + #Define LC_MARKER 4 && Device can draw a marker. + #Define LC_POLYMARKER 8 && Device can draw multiple markers. + #Define LC_WIDE 16 && Device can draw wide lines. + #Define LC_STYLED 32 && Device can draw styled lines. + #Define LC_WIDESTYLED 64 && Device can draw lines that are wide and styled. + #Define LC_INTERIORS 128 && Device can draw interiors. +#Define POLYGONALCAPS 32 && Value that indicates the polygon capabilities of the device, as shown in the following table: + * Value Meaning + #Define PC_NONE 0 && Device does not support polygons. + #Define PC_POLYGON 1 && Device can draw alternate-fill polygons. + #Define PC_RECTANGLE 2 && Device can draw rectangles. + #Define PC_WINDPOLYGON 4 && Device can draw winding-fill polygons. + #Define PC_SCANLINE 8 && Device can draw a single scanline. + #Define PC_WIDE 16 && Device can draw wide borders. + #Define PC_STYLED 32 && Device can draw styled borders. + #Define PC_WIDESTYLED 64 && Device can draw borders that are wide and styled. + #Define PC_INTERIORS 128 && Device can draw interiors. +#Define TEXTCAPS 34 && Value that indicates the text capabilities of the device, as shown in the following table: + * Bit Meaning + #Define TC_OP_CHARACTER 0x01 && Device is capable of character output precision. + #Define TC_OP_STROKE 0x02 && Device is capable of stroke output precision. + #Define TC_CP_STROKE 0x04 && Device is capable of stroke clip precision. + #Define TC_CR_90 0x08 && Device is capable of 90-degree character rotation. + #Define TC_CR_ANY 0x10 && Device is capable of any character rotation. + #Define TC_SF_X_YINDEP 0x20 && Device can scale independently in the x- and y-directions. + #Define TC_SA_DOUBLE 0x40 && Device is capable of doubled character for scaling. + #Define TC_SA_INTEGER 0x80 && Device uses integer multiples only for character scaling. + #Define TC_SA_CONTIN 0x0100 && Device uses any multiples for exact character scaling. + #Define TC_EA_DOUBLE 0x0200 && Device can draw double-weight characters. + #Define TC_IA_ABLE 0x0400 && Device can italicize. + #Define TC_UA_ABLE 0x0800 && Device can underline. + #Define TC_SO_ABLE 0x1000 && Device can draw strikeouts. + #Define TC_RA_ABLE 0x2000 && Device can draw raster fonts. + #Define TC_VA_ABLE 0x4000 && Device can draw vector fonts. + #Define TC_RESERVED 0x8000 && Reserved; must be zero. + #Define TC_SCROLLBLT 0x010000 + + +*-- +*-- fnWeight to CreateFont +*-- +#Define FW_DONTCARE 0 +#Define FW_THIN 100 +#Define FW_EXTRALIGHT 200 +#Define FW_LIGHT 300 +#Define FW_NORMAL 400 +#Define FW_MEDIUM 500 +#Define FW_SEMIBOLD 600 +#Define FW_BOLD 700 +#Define FW_EXTRABOLD 800 +#Define FW_HEAVY 900 +*-- +*-- fdwQuality to CreateFont +*-- +#Define DEFAULT_QUALITY 0 +#Define DRAFT_QUALITY 1 +#Define PROOF_QUALITY 2 +*-- +*-- fdwCharSet to CreateFont +*-- +#Define ANSI_CHARSET 0 +#Define DEFAULT_CHARSET 1 +#Define SYMBOL_CHARSET 2 +#Define SHIFTJIS_CHARSET 128 +#Define HANGEUL_CHARSET 129 +#Define CHINESEBIG5_CHARSET 136 +#Define OEM_CHARSET 255 +#Define JOHAB_CHARSET 130 +#Define HEBREW_CHARSET 177 +#Define ARABIC_CHARSET 178 +#Define GREEK_CHARSET 161 +#Define TURKISH_CHARSET 162 +#Define THAI_CHARSET 222 +#Define EASTEUROPE_CHARSET 238 +#Define RUSSIAN_CHARSET 204 +#Define MAC_CHARSET 77 +#Define BALTIC_CHARSET 186 +*-- +*-- fdwOutputPrecision to CreateFont +*-- +#Define OUT_DEFAULT_PRECIS 0 +#Define OUT_STRING_PRECIS 1 +#Define OUT_CHARACTER_PRECIS 2 +#Define OUT_STROKE_PRECIS 3 +#Define OUT_TT_PRECIS 4 +#Define OUT_DEVICE_PRECIS 5 +#Define OUT_RASTER_PRECIS 6 +#Define OUT_TT_ONLY_PRECIS 7 +#Define OUT_OUTLINE_PRECIS 8 +*-- +*-- fdwClipPrecision to CreateFont +*-- +#Define CLIP_DEFAULT_PRECIS 0 +#Define CLIP_CHARACTER_PRECIS 1 +#Define CLIP_STROKE_PRECIS 2 +#Define CLIP_MASK 15 +#Define CLIP_LH_ANGLES 16 +#Define CLIP_TT_ALWAYS 32 +#Define CLIP_EMBEDDED 128 +*-- +*-- fdwPitchAndFamily to CreateFont +*-- +#Define DEFAULT_PITCH 0 +#Define FIXED_PITCH 1 +#Define VARIABLE_PITCH 2 diff --git a/utile/Teste/test.prg b/utile/Teste/test.prg new file mode 100644 index 0000000..708c0fa --- /dev/null +++ b/utile/Teste/test.prg @@ -0,0 +1,23 @@ +lcFile = FORCEEXT(SYS(16),'prg') +lnRows = APROCINFO(laproc,lcFile) + +lcProcedures = "" +FOR i = 1 TO lnRows + IF LOWER(laproc[i,3]) = 'procedure' + lcProcedures = lcProcedures + laproc[i,1] + CHR(13) + CHR(10) + ENDIF +ENDFOR +MESSAGEBOX(lcProcedures) + +PROCEDURE test1 + +ENDPROC && test1 + + +PROCEDURE test2 + +ENDPROC && test2 + +PROCEDURE test31 + +ENDPROC && test31 diff --git a/utile/Teste/test_init_env_auto.prg b/utile/Teste/test_init_env_auto.prg new file mode 100644 index 0000000..0d22299 --- /dev/null +++ b/utile/Teste/test_init_env_auto.prg @@ -0,0 +1,298 @@ +* test_init_env_auto.prg +* Varianta NEINTERACTIVA a COMUN\programe\test_init_env.prg, pentru rulare headless +* (vfp9.exe -A -T "script.prg") din scripturi de depanare / teste automate. +* Nu are INPUTBOX/xmenu: primeste conexiunea ca parametri si NU lanseaza nimic la final. +* +* Utilizare (dintr-un script apelant, vezi test_repro_cnrcrt_footer.prg): +* DO test_init_env_auto WITH 'CENTRAL', 'MARIUSM_AUTO', 'parola' +* IF gnHandle <= 0 ... eroare conectare +* Mediu de test standard: server CENTRAL, schema MARIUSM_AUTO (parola schemei la MM); +* utilizatorul de aplicatie corespunzator: "MARIUS M" / parola "123" (pentru fluxurile +* care cer login de aplicatie; harness-ul nu trece prin frm_login). +* +* Dupa apel sunt disponibile: goConn/goExecutor/goApp/goLog/goApi, goFirma/goCalendar, +* gnAn/gnLuna/gcS/gnIdFirma etc., SET PATH/CLASSLIB/PROCEDURE ca in roacont.prg, +* pachetele Oracle de sesiune setate (pack_sesiune/pack_contafin). +* ATENTIE: mentine lista de SET CLASSLIB/PROCEDURE sincronizata cu test_init_env.prg. + +LPARAMETERS tcHost, tcSchema, tcPassword, tnAn, tnLuna + +tcHost = IIF(EMPTY(tcHost), 'CENTRAL', tcHost) +tcSchema = IIF(EMPTY(tcSchema), 'MARIUSM_AUTO', tcSchema) +tcPassword = IIF(EMPTY(tcPassword), 'ROMFASTSOFT', tcPassword) + +SET DELETED ON +SET ANSI ON +SET EXACT ON +SET SAFETY OFF +CLOSE DATABASES +SET CENTURY ON +SET DATE DMY +SET NULLDISPLAY TO '' + +PUBLIC CT_SUCCES, CT_INSUCCES, crlf, gnAn, gnLuna, gnIdUtil, glEMama, gnIdFirma, gcCondSucursala, ; + gnIdSucursala, gcS, gcFirma, gcUserName, gcNumeProgram, gcAppName, glLunaInchisa, ; + buton, gnButon, pnButon, gl406, gcAcces +CT_SUCCES = 1 +CT_INSUCCES = -1 +crlf = CHR(13) + CHR(10) +gnAn = IIF(EMPTY(tnAn), YEAR(DATE()), tnAn) +gnLuna = IIF(EMPTY(tnLuna), MONTH(DATE()), tnLuna) +gnIdUtil = -3 +gnIdFirma = 110 +gcCondSucursala = [] +gnIdSucursala = m.gnIdFirma +gcS = UPPER(ALLTRIM(tcSchema)) +gcFirma = m.gcS +gcUserName = m.gcS +gcNumeProgram = [ROACONT] +gcAppName = [ROACONT] +glLunaInchisa = .F. +glEMama = .F. +gl406 = .F. +* PUBLIC, nu Declare: acest program se termina cu RETURN, iar nrcrt() (oproceduri_comune.prg) +* citeste NROR din ControlSource-uri de grid mult dupa aceea (in roacont.prg, Declare traieste +* cat programul principal; aici ar muri la RETURN si gridurile si-ar pierde coloanele) +PUBLIC nror(65000) +buton = 1 +gnButon = 1 +pnButon = 1 + +LOCAL lcPath +PUBLIC gcAppPath, DIRGEN, gcBasePath, gcTempPath, gcGeneralIniFile, gcSettingsFile +gcAppPath = [D:\ROA\ROACONT\] +Set Default To (gcAppPath) +lcPath = gcAppPath + 'Date;' + ; + gcAppPath + 'Include;' + ; + gcAppPath + 'FERESTRE;' + ; + gcAppPath + 'GRAFICE;' + ; + gcAppPath + 'CLASE;' + ; + gcAppPath + 'MENIURI;' + ; + gcAppPath + 'PROGRAME;' + ; + gcAppPath + 'RAPOARTE;' + ; + gcAppPath + 'COMUN\CLASE;' + ; + gcAppPath + 'COMUN\FERESTRE;' + ; + gcAppPath + 'COMUN\PROGRAME;' + ; + gcAppPath + 'COMUN\GRAFICE;' + ; + gcAppPath + 'COMUN\RAPOARTE;' + ; + gcAppPath + 'COMUN\UTILE\CALENDAR;' + ; + gcAppPath + 'COMUN\UTILE\CTL32;' + ; + gcAppPath + 'COMUN\UTILE\HPDF;' + ; + gcAppPath + 'COMUN\UTILE\HPDF\REPORTOUTPUT;' + ; + gcAppPath + 'COMUN\UTILE\WEB;' + ; + gcAppPath + 'COMUN\UTILE\NFJSON;' + ; + gcAppPath + 'COMUN\UTILE\NFXML;' + ; + gcAppPath + 'COMUN\UTILE\EXCEL;' + ; + gcAppPath + 'COMUN\UTILE\GRIDEXTRAS;' + ; + Addbs(Substr(gcAppPath,1,Rat([\],gcAppPath,2)))+[COMUNROA\] +SET PATH TO &lcPath ADDITIVE + +Set Classlib To clase\cont2000 Additive +Set Classlib To appwiz Additive +Set Classlib To CAUT Additive +Set Classlib To BAZA Additive +Set Classlib To contab Additive +Set Classlib To comun Additive +Set Classlib To registry Additive +Set Classlib To cauta_alfa_forms.vcx Additive +Set Classlib To obalanta Additive +Set Classlib To ocriterii.vcx Additive +Set Classlib To ctl32_statusbar.vcx Additive +Set Classlib To ctl32_common.vcx Additive +Set Classlib To ctl32_structs.vcx Additive +Set Classlib To ctl32_progressbar.vcx Additive + +Set Procedure To PROCEDURI Additive +Set Procedure To pmenu Additive +Set Procedure To proceduri_comune Additive +Set Procedure To mesaje Additive +Set Procedure To acces_meniu Additive +Set Procedure To quitapp Additive +Set Procedure To init_program Additive +Set Procedure To oproceduri_maintenance.PRG Additive +Set Procedure To gridproc Additive +Set Procedure To proceduri_excel Additive +Set Procedure To oserii_numere.PRG Additive +Set Procedure To cauta_alfa Additive +Set Procedure To oproceduri_parteneri Additive +Set Procedure To oproceduri_incasari Additive +Set Procedure To wwconfig Additive +Set Procedure To oexport Additive +SET PROCEDURE TO ocasabanca ADDITIVE +SET PROCEDURE TO importfromxlsx ADDITIVE +SET PROCEDURE TO appendfromxlsx.prg ADDITIVE +SET PROCEDURE TO overificari.prg ADDITIVE +SET PROCEDURE TO onomenclatoare.prg ADDITIVE +SET PROCEDURE TO excelxml.prg ADDITIVE +SET PROCEDURE TO saft_d406.prg ADDITIVE + +Set Classlib To DECABAZA Additive +Set Classlib To onomenclatoare Additive +Set Classlib To oparteneri Additive +Set Classlib To OCASABANCA Additive +Set Classlib To OVANZCUMP Additive +Set Classlib To oCompensari Additive +Set Classlib To oRapoarte_cont Additive +Set Classlib To oSit_Op Additive +Set Classlib To overificari Additive +Set Classlib To oteste Additive +Set Classlib To omodificari Additive +Set Classlib To ooptiuni Additive +Set Classlib To ointroduceri_cont Additive +Set Classlib To onote_contabile Additive +Set Classlib To odebcred Additive +Set Classlib To ferestre_oracle Additive +Set Classlib To caut_ora Additive +Set Classlib To otoolbar Additive +Set Classlib To inchideri_sal Additive +Set Classlib To serii_numere Additive +Set Classlib To contabilitate_rapoarte Additive +Set Classlib To oconversii Additive +Set Classlib To oactualizari Additive +Set Classlib To anaf_efactura Additive + +Set Classlib To Messagebox Additive +SET CLASSLIB TO wwdialogs ADDITIVE +SET CLASSLIB TO orapoarte.vcx additive +SET CLASSLIB TO orapoarte_contabilitate.vcx additive +SET CLASSLIB TO accessibility.vcx ADDITIVE +SET CLASSLIB TO _calendar.vcx ADDITIVE +SET CLASSLIB TO orapoarte_comun.vcx ADDITIVE +SET CLASSLIB TO saft_d406.vcx ADDITIVE + +Set Procedure To GENCURSOR.PRG Additive +Set Procedure To OPROCEDURI_COMUNE.PRG Additive +Set Procedure To OINIT_OPTIUNI.PRG Additive +Set Procedure To updateserver.PRG Additive +Set Procedure To oCompensari.PRG Additive +Set Procedure To oSituatii_Operative.PRG Additive +Set Procedure To oOperatii_comune.PRG Additive +Set Procedure To OCONT2003.PRG Additive +Set Procedure To OPROCEDURI_aMS.PRG Additive +Set Procedure To oparteneri.PRG Additive +Set Procedure To orapoarte.PRG Additive +Set Procedure To orap_trezorerie Additive +Set Procedure To ocautare Additive +Set Procedure To omeniu_initializari Additive +Set Procedure To osecurity Additive +Set Procedure To oheader Additive +Set Procedure To orefaceri Additive +Set Procedure To oproceduri_casademarcat Additive +Set Procedure To controllerecr Additive +Set Procedure To oproceduri_comune_imob.PRG Additive +Set Procedure To oproceduri_conversie.PRG Additive +Set Procedure To odocumente.PRG Additive +Set Procedure To oproceduri_actualizari.PRG Additive +SET PROCEDURE TO orapoarte_dinamice.prg additive +SET PROCEDURE TO update_imob.prg ADDITIVE +SET PROCEDURE TO oproceduri_import.prg ADDITIVE +Set Procedure To wwutils.PRG Additive +Set Procedure To wwxmlhttp.PRG Additive +Set Procedure To ini.PRG Additive +Set Procedure To regex.PRG Additive +Set Procedure To validare.PRG Additive +Set Procedure To oproceduri_evolutie Additive +Set Procedure To oproceduri_decont Additive +Set Procedure To proceduri_rapoarte.PRG Additive +SET PROCEDURE TO anaf_efactura.prg ADDITIVE +SET PROCEDURE TO iniacces.prg ADDITIVE +SET PROCEDURE TO oupdate.prg additive +SET PROCEDURE TO procese.prg additive +SET PROCEDURE TO version.prg additive +SET PROCEDURE TO xmlaccess.prg additive +SET PROCEDURE TO xmlparser.prg additive +SET PROCEDURE TO filebringer.prg additive +SET PROCEDURE TO wwcodeupdate.prg additive +SET PROCEDURE TO wwhttp.prg ADDITIVE +SET PROCEDURE TO wwapi.prg ADDITIVE + +Declare Integer GetPrivateProfileString In WIN32API ; + string, String, String, String @, Integer, String +Declare Integer WritePrivateProfileString In Win32Api ; + string, String, String, String +Declare Integer CopyFile In WIN32API ; + STRING lpExistingFileName, STRING lpNewFileName, INTEGER bFailIfExists +Declare Integer PathFileExists In shlwapi STRING pszPath + +If Type('goApi') = 'U' + Public goApi + goApi = Newobject("wwAPI", "wwAPI.prg") +ENDIF + +set procedure to oinit_optiuni.prg additive +set procedure to oproceduri_comune.prg additive + +PUBLIC gnHandle, goExecutor, goConn, goFirma, goCalendar, poLog, goLog, goApp +DIRGEN = [D:\ROA\] +gcBasePath = dirgen +gcGeneralIniFile = DIRGEN + "settings.ini" +gcSettingsFile = m.gcGeneralIniFile +gcTempPath = Addbs(shortpath(goApi.GetTempPath())) + gcS + [\] +If !Directory(gcTempPath) + Md (gcTempPath) +Endif +gcAcces = [1;2;3;4;5;6;7;8;] + +poLog = Newobject("Log_Mesaje","Log_Mesaje.prg") +goLog = poLog +goApp = Createobject("wzApplication") +gnHandle = 0 +goExecutor = createobject("oExecutor") +goConn = createobject("oConn") +goConn.Connect(m.tcHost, m.tcSchema, m.tcPassword) +IF m.gnHandle <= 0 + RETURN .F. +ENDIF + +LOCAL llSucces, lcSql +goFirma = null +llSucces = goExecutor.oExecuta("select * from syn_v_nom_firme where schema = ?gcS", "cFirma") +IF m.llSucces + SELECT cFirma + gnIdFirma = id_firma + gnIdSucursala = null + gcFirma = ALLTRIM(firma) + SCATTER NAME goFirma +ELSE + goFirma = CREATEOBJECT('custom') + goFirma.addproperty('cod_fiscal', '') + goFirma.addproperty('schema', m.gcS) + goFirma.addproperty('firma', m.gcS) +ENDIF +USE IN (SELECT('cFirma')) + +goCalendar = null +llSucces = goExecutor.oExecuta('SELECT anul, luna, tva_incasare FROM calendar WHERE an*12+luna = (select MAX(an*12+luna) FROM calendar)', 'cCalendar') +IF m.llSucces + SELECT cCalendar + GO TOP + IF EMPTY(m.tnAn) + gnAn = anul + gnLuna = luna + ENDIF + SCATTER NAME goCalendar +ENDIF +USE IN (SELECT('cCalendar')) + +CREATE CURSOR dual (dummy c(10)) +INSERT INTO dual (dummy) VALUES ("") + +actualizeaza_optiuni() +Do optiuni_firma IN oinit_optiuni.prg + +lcSql = [begin pack_sesiune.set_Id_Util(?gnIdUtil); end;] +llSucces = goExecutor.oExecuta(lcSql) +lcSql = [begin pack_sesiune.setluna(?gnLuna); pack_sesiune.setan(?gnAn); end;] +llSucces = goExecutor.oExecuta(lcSql) +lcSql = [begin pack_sesiune.setlunabal(?gnLuna); pack_sesiune.setanbal(?gnAn); end;] +llSucces = goExecutor.oExecuta(lcSql) +lcSql = [begin pack_contafin.SET_DATA_RON(?gcS); end;] +llSucces = goExecutor.oExecuta(lcSql) +lcSql = [begin pack_sesiune.set_data_ron(?gcS); end;] +llSucces = goExecutor.oExecuta(lcSql) +lcSql = [begin pack_contafin.set_id_sucursala(?gnIdSucursala); end;] +llSucces = goExecutor.oExecuta(lcSql) +lcSql = [begin pack_contafin.set_id_firma(?gnIdFirma); end;] +llSucces = goExecutor.oExecuta(lcSql) + +RETURN .T. diff --git a/utile/Teste/test_repro_cnrcrt_footer.prg b/utile/Teste/test_repro_cnrcrt_footer.prg new file mode 100644 index 0000000..d00ac3d --- /dev/null +++ b/utile/Teste/test_repro_cnrcrt_footer.prg @@ -0,0 +1,125 @@ +* test_repro_cnrcrt_footer.prg +* Repro/regresie pentru eroarea "Property CNRCRT is not found" din +* FRM_MODIFIC2024.PGFARTICOLE.PAGE1._GRDFOOTER1.CALCTOTAL +* (Import extrase bancare > Generare note, ROACONT 2.11.61, 15.07.2026). +* +* Cauza (dovedita prin bisectie, vezi COMUN\docs\depanare_testare_vfp.md): +* - frm_import_extrase_banca.modificanote crea crsJTVATemp prin +* SELECT * INTO CURSOR (copia pierde indexul TAG id_jtva creat de update_jtva_coloane); +* - coloana cExplicatieTVA din frm_modific2024.grdRulaje face Seek pe acel tag in ControlSource; +* - dupa repararea typo-ului oMinHeaderHeight->nMinHeaderHeight in cusfonthandler +* (accessibility.vcx, r17869), ApplyFontToGrid atinge coloanele la Init; +* evaluarea ControlSource-ului cu Seek pe tag inexistent face grid-ul sa-si piarda +* TOATE coloanele => footer-ul se ataseaza la 0 coloane => calctotal crapa la +* Getpem(This, cColWithLabel). +* +* Rulare headless (nu tine VFP IDE deschis; nu rula cu roacont.exe pornit): +* & "C:\Program Files (x86)\Microsoft Visual FoxPro 9\vfp9.exe" -A -T ; +* "D:\ROA\ROACONT\COMUN\utile\Teste\test_repro_cnrcrt_footer.prg" [MOD] +* MOD: +* CUINDEX (implicit) - fluxul corectat (index pe crsJTVATemp). Asteptat: 63 coloane, OK. +* FARAINDEX - fluxul vechi, fara index. Asteptat: 0 coloane + eroarea CNRCRT +* (reproduce bug-ul; util ca test de regresie al capcanei). +* Rezultatul se scrie in %TEMP%\test_repro_cnrcrt_footer.txt, ultima linie REZULTAT: OK/BUG. + +LPARAMETERS tcMode +tcMode = IIF(EMPTY(tcMode), 'CUINDEX', UPPER(ALLTRIM(tcMode))) + +PUBLIC gcLogFile, gnErrCNRCRT +gcLogFile = ADDBS(SYS(2023)) + 'test_repro_cnrcrt_footer.txt' +gnErrCNRCRT = 0 +STRTOFILE('START ' + tcMode + ' ' + TTOC(DATETIME()) + CHR(13)+CHR(10), gcLogFile) + +ON ERROR DO ReproErr WITH ERROR(), MESSAGE(), PROGRAM(), LINENO() +ON SHUTDOWN QUIT + +DO D:\ROA\ROACONT\COMUN\utile\Teste\test_init_env_auto.prg WITH 'CENTRAL', 'MARIUSM_AUTO', 'ROMFASTSOFT' +IF gnHandle <= 0 + DO ReproLog WITH 'EROARE: conectare Oracle esuata' + DO ReproLog WITH 'REZULTAT: NEDETERMINAT' + QUIT +ENDIF +DO ReproLog WITH 'mediu OK, gnAn=' + TRANSFORM(gnAn) + ' luna=' + TRANSFORM(gnLuna) + +* ===== replicare modificanote din frm_import_extrase_banca (partea non-UI) ===== +IF !Used('saft_taxtable') + update_saft_taxtable() +ENDIF +IF !Used('saft_mecanisme_plati') + update_saft_mecanisme_plati() +ENDIF +update_jtva_coloane("JV", 'crsExplicatiiTVATemp', 1) +SELECT * FROM crsExplicatiiTVATemp INTO CURSOR crsJTVATemp READWRITE +IF tcMode == 'CUINDEX' + * fix-ul din modificanote (15.07.2026): copia SELECT INTO pierde indexul + SELECT crsJTVATemp + INDEX ON id_jtva_coloana TAG id_jtva +ENDIF + +LOCAL llSucces, lcSql +lcSql = [SELECT * FROM vact WHERE 1=2] +llSucces = goExecutor.oExecuta(m.lcSql, 'actactan_temp') +lcSql = [select * from vrul_tot where 1=2] +llSucces = goExecutor.oExecuta(lcSql, 'v_rul') +Select *, valoare + valtva As valoarectva, valoarev + valtvav As valoarevctva From v_rul Into Cursor trul READWRITE +Use In (SELECT('v_rul')) +lcSql = [select * from vrul_obinv_tot where 1=2] +llSucces = goExecutor.oExecuta(lcSql, 'v_rul_obinv') +Select *, valoare + valtva As valoarectva, valoarev + valtvav As valoarevctva From v_rul_obinv Into Cursor trul_obinv READWRITE +Use In (SELECT('v_rul_obinv')) + +Select actactan_temp +Select .F. As ales, a.explicatia4 As iban, Iif(!Empty(Nvl(a.id_jtva_coloana, 0)), 1, 0) As Cu_tva, ; + Cast(0 As N(2)) As tipnota, a.*, b.denumire As explicatie_tva_2 ; + From actactan_temp a Left Join crsExplicatiiTVATemp b On a.id_jtva_coloana = b.id_jtva_coloana ; + Into Cursor tact Readwrite +gcAcces = "1;2;3;4;" +Select tact +Go Top + +* ===== forma reala + secventa relevanta din Show ===== +LOCAL loForm, i, lcNames, lnColSrc, lnColFooter +loForm = CREATEOBJECT([frm_modific2024], 90023, .T.) +IF VARTYPE(loForm) <> 'O' + DO ReproLog WITH 'EROARE: frm_modific2024 nu s-a instantiat' + DO ReproLog WITH 'REZULTAT: NEDETERMINAT' + QUIT +ENDIF +Select tact +loForm.grid1.SetFocus +loForm.gridextra1.setup() +loForm.CalculeazaTotal() + +lnColSrc = loForm.pgfArticole.Page1.grdRulaje.ColumnCount +DO ReproLog WITH 'grdRulaje coloane: ' + TRANSFORM(lnColSrc) + +loForm.pgfArticole.page1._grdfooter1.attachtogrid(loForm.pgfArticole.page1.grdRulaje) +lnColFooter = loForm.pgfArticole.Page1._grdfooter1.ColumnCount +DO ReproLog WITH 'footer coloane dupa attach: ' + TRANSFORM(lnColFooter) + +loForm.pgfArticole.page1._grdfooter1.calcTotal() +loForm.pgfArticole.page2._grdfooter1.attachtogrid(loForm.pgfArticole.page2.grdRulajeObinv) +loForm.pgfArticole.page2._grdfooter1.calcTotal() +loForm.Release() + +IF m.lnColSrc > 0 AND m.gnErrCNRCRT = 0 + DO ReproLog WITH 'REZULTAT: OK' +ELSE + DO ReproLog WITH 'REZULTAT: BUG (coloane pierdute sau eroare CNRCRT)' +ENDIF +QUIT + +PROCEDURE ReproErr + LPARAMETERS tnErr, tcMsg, tcProg, tnLine + IF 'CNRCRT' $ UPPER(tcMsg) + gnErrCNRCRT = gnErrCNRCRT + 1 + ENDIF + DO ReproLog WITH 'ERR ' + TRANSFORM(tnErr) + ' [' + tcProg + ':' + TRANSFORM(tnLine) + '] ' + tcMsg +ENDPROC + +PROCEDURE ReproLog + LPARAMETERS tcMsg + LOCAL lcL + lcL = FILETOSTR(gcLogFile) + STRTOFILE(lcL + tcMsg + CHR(13)+CHR(10), gcLogFile) +ENDPROC diff --git a/utile/Teste/teste_roacont.prg b/utile/Teste/teste_roacont.prg new file mode 100644 index 0000000..edf52e6 --- /dev/null +++ b/utile/Teste/teste_roacont.prg @@ -0,0 +1,172 @@ +*** TESTE +CRLF = CHR(13) + CHR(10) +CTAB = CHR(9) + +gcTestMessage = "" + +gcHost = "jcsserver" +gcUser = "mariusm_auto" +gcPassword = "123" + +gnHandle = 0 + +*!* FACTURA +lnCodF = 1105748 +lnLunaF = 8 +lnAnF = 2006 +lnIdFactF = 5006097 + +*!* INCASARE +lnCodI = 1105749 +lnLunaI = 8 +lnAnI = 2006 +lnIdFactI = 5006097 +lnIdFactPI = 5006097 + +SET PROCEDURE TO D:\ROA_RB\ROACONT\COMUN\programe\odocumente ADDITIVE +SET PROCEDURE TO D:\ROA_RB\ROACONT\COMUN\programe\oproceduri_comune.prg ADDITIVE +goExecutor = CREATEOBJECT("oExecutor") +goConn = CREATEOBJECT("oConn") + +loMyTests = CREATEOBJECT("MyTests") +loMyTests.teste() + + +DEFINE CLASS MyTests AS CUSTOM + + ***================================================== + PROCEDURE teste + LOCAL lcFile, lnRows, lcProcedure,i + + lcFile = FORCEEXT(SYS(16),'prg') + IF ATC('PROCEDURE', lcFile) > 0 + lcFile = SUBSTR(lcFile, AT(':', lcFile)-1) + ENDIF + IF !FILE(lcFile) + this.appendMessage("Error", 'Nu exista fisierul ' + lcFile) + MESSAGEBOX(gcTestMessage) + RETURN + ENDIF + lnRows = APROCINFO(laproc,lcFile) + + lcProcedure = "" + + + + gnHandle = this.initializare(gcHost, gcUser, gcPassword) + lcTestFile = SYS(16) + IF gnHandle > 0 + FOR i = 1 TO lnRows + lcProcedure = laProc[i,1] + IF AT('.', lcProcedure) > 0 + lcProcedure = SUBSTR(lcProcedure, AT('.', lcProcedure) + 1) + ENDIF + + IF LOWER(laproc[i,3]) <> 'procedure' OR LEFT(LOWER(lcProcedure), 5) <> 'test_' + LOOP + ENDIF + + lnSucces = THIS.&lcProcedure.() + + ENDFOR + +*!* lnSucces = this.test_referintedocumentenota() +*!* lnSucces = this.test_referintedocument() + ENDIF + lnSucces = this.curatare(gnHandle) + + MESSAGEBOX(gcTestMessage) + ENDPROC && teste + + + ***================================================== + FUNCTION initializare + LPARAMETERS tcHost, tcUser, tcPassword + + LOCAL lnHandle + lnHandle = goConn.connect(tcHost, tcUser, tcPassword) + IF lnHandle <= 0 + this.appendMessage("Error","Nu s-a realizat conexiunea") + ELSE + this.appendMessage("Succes","S-a realizat conexiunea") + ENDIF + + RETURN lnHandle + ENDFUNC && initializare + + + FUNCTION Error(nError,cMethod,nLine) + LOCAL lcError + lcError = MESSAGE() + ';' + TRANSFORM(nError) + ';' + cMethod + ';' + ';' + TRANSFORM(nLine) + DEBUG + SUSPEND + this.appendMessage("Error",lcError) + ENDFUNC && Error + + ***================================================== + FUNCTION curatare + LPARAMETERS tnHandle + + LOCAL lnSucces + lnSucces = 1 + + IF tnHandle > 0 + lnSucces = SQLDISCONNECT(tnHandle) + ENDIF + + IF lnSucces <= 0 + this.appendMessage("Error","Nu s-a inchis conexiunea") + ELSE + this.appendMessage("Succes","S-a inchis conexiunea") + ENDIF + + RETURN lnSucces + ENDFUNC && curatare + + ***================================================== + PROCEDURE Verifica + LPARAMETERS tuValue1, tuValue2, tcTest, tcMessage + + IF tuValue1 <> tuValue2 + this.appendMessage("Error",tcTest + ";" + tcMessage) + ELSE + this.appendMessage("Succes",tcTest + ";") + ENDIF + ENDPROC && verifica + + PROCEDURE appendMessage + LPARAMETERS tcResult, tcMessage + + gcTestMessage = gcTestMessage + tcResult + CTAB + tcMessage + CRLF + _CLIPTEXT = gcTestMessage + ENDPROC + + ***================================================== + FUNCTION test_referintedocumentenota + + LOCAL lnSucces + *!* verific o nota de factura cu referinte + llReferinteDocumente = ReferinteDocumenteNota(lnAnF, lnLunaF, lnCodF) && && odocumente.prg + this.Verifica(llReferinteDocumente, .T., "test_referintedocumentenota-1", "Documentul are referinte") + + *!* verific o nota de incasare fara referinte + llReferinteDocumente = ReferinteDocumenteNota(lnAnI, lnLunaI, lnCodI) && && odocumente.prg + this.Verifica(llReferinteDocumente, .F., "test_referintedocumentenota-2", "Documentul nu are referinte") + + ENDFUNC && test_referintedocument + + ***================================================== + FUNCTION test_referintedocument + + LOCAL lnSucces + *!* verific un id_fact cu referinte + llReferinteDocumente = ReferinteDocument(lnAnF, lnLunaF, lnCodF, lnIdFactF) && && odocumente.prg + this.Verifica(llReferinteDocumente, .T., "test_referintedocument-1", "Documentul are referinte") + + *!* verific un id_fact fara referinte + llReferinteDocumente = ReferinteDocument(lnAnI, lnLunaI, lnCodI, lnIdFactI) && && odocumente.prg + this.Verifica(llReferinteDocumente, .F., "test_referintedocument-2", "Documentul nu are referinte") + + ENDFUNC && test_referintedocument + +ENDDEFINE diff --git a/utile/calendar/_calendar.vc2 b/utile/calendar/_calendar.vc2 new file mode 100644 index 0000000..4b061e7 --- /dev/null +++ b/utile/calendar/_calendar.vc2 @@ -0,0 +1,1710 @@ +*-------------------------------------------------------------------------------------------------------------------------------------------------------- +* (EN) AUTOGENERATED - ATTENTION!! - NOT INTENDED FOR EXECUTION!! USE ONLY FOR MERGING CHANGES AND STORING WITH SCM TOOLS!! +*-------------------------------------------------------------------------------------------------------------------------------------------------------- +*< FOXBIN2PRG: Version="1.21" SourceFile="_calendar.vcx" CPID="1252" /> (Solo para binarios VFP 9 / Only for VFP 9 binaries) +* +* +DEFINE CLASS _calendar AS control + *< CLASSDATA: Baseclass="control" Timestamp="" Scale="Pixels" Uniqueid="" /> + + *-- OBJECTDATA items order determines ZOrder / El orden de los items OBJECTDATA determina el ZOrder + *< OBJECTDATA: ObjPath="Shape2" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="Shape1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="txtToday" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="txtMonth" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="txtYear" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="_lblday1_1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="_lblday1_2" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="_lblday1_3" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="_lblday1_4" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="_lblday1_5" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="_lblday1_6" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="_lblday1_7" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="lblDayName2" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="lblDayName3" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="lblDayName4" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="lblDayName5" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="lblDayName6" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="lblDayName7" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="lblDayName1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="_lblday2_1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="_lblday2_2" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="_lblday2_3" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="_lblday2_4" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="_lblday2_5" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="_lblday2_6" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="_lblday2_7" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="_lblday3_1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="_lblday3_2" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="_lblday3_3" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="_lblday3_4" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="_lblday3_5" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="_lblday3_6" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="_lblday3_7" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="_lblday4_1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="_lblday4_2" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="_lblday4_3" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="_lblday4_4" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="_lblday4_5" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="_lblday4_6" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="_lblday4_7" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="_lblday5_1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="_lblday5_2" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="_lblday5_3" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="_lblday5_4" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="_lblday5_5" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="_lblday5_6" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="_lblday5_7" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="_lblday6_1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="_lblday6_2" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="_lblday6_3" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="_lblday6_4" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="_lblday6_5" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="_lblday6_6" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="_lblday6_7" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="imgLeft" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="imgRight" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="imgUp" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="imgDown" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="shpToday" UniqueID="" Timestamp="" /> + + * + *m: dayclick + *m: firstdayoftheweek_assign + *m: language_assign + *m: monthclick + *m: redraw + *m: todayclick + *m: valuechanged + *m: value_assign + *m: yearclick + *p: cdayname1 && Sunday + *p: cdayname2 && Monday + *p: cdayname3 && Tuesday + *p: cdayname4 && Wednesday + *p: cdayname5 && Thursday + *p: cdayname6 && Friday + *p: cdayname7 && Saturday + *p: day + *p: firstdayoftheweek && 1 - Sunday, 2 - Monday + *p: language + *p: month + *p: monthnames + *p: notherscolour && RGB(196,196,255) + *p: nsunday + *p: nsundaycolour && RGB(255,128,128) + *p: old_lbl + *p: showtips && Specifies if ToolTips are shown for the controls on the specified Form object or the specified ToolBar object. + *p: todaystring + *p: value && Specifies the current state of a control. + *p: year + *p: _memberdata && XML Metadata for customizable properties + * + + HIDDEN _memberdata + PROTECTED old_lbl + * + BackColor = 255,255,255 + BorderColor = 0,0,0 + BorderWidth = 2 + cdayname1 = + cdayname2 = + cdayname3 = + cdayname4 = + cdayname5 = + cdayname6 = + cdayname7 = + day = 0 + firstdayoftheweek = + Height = 168 + language = EN + month = 0 + monthnames = + Name = "_calendar" + notherscolour = 16762052 + nsunday = + nsundaycolour = 8421631 + old_lbl = .F. + showtips = .F. + todaystring = + value = {} + Width = 168 + year = 0 + _memberdata = + + + + + + + + + + + + + + + * + + ADD OBJECT '_lblday1_1' AS _lblday WITH ; + ForeColor = 255,128,128, ; + Left = 17, ; + Name = "_lblday1_1", ; + Top = 46 + *< END OBJECT: ClassLib="_calendar.vcx" BaseClass="label" /> + + ADD OBJECT '_lblday1_2' AS _lblday WITH ; + Left = 37, ; + Name = "_lblday1_2", ; + Top = 46 + *< END OBJECT: ClassLib="_calendar.vcx" BaseClass="label" /> + + ADD OBJECT '_lblday1_3' AS _lblday WITH ; + Left = 57, ; + Name = "_lblday1_3", ; + Top = 46 + *< END OBJECT: ClassLib="_calendar.vcx" BaseClass="label" /> + + ADD OBJECT '_lblday1_4' AS _lblday WITH ; + Left = 77, ; + Name = "_lblday1_4", ; + Top = 46 + *< END OBJECT: ClassLib="_calendar.vcx" BaseClass="label" /> + + ADD OBJECT '_lblday1_5' AS _lblday WITH ; + Left = 97, ; + Name = "_lblday1_5", ; + Top = 46 + *< END OBJECT: ClassLib="_calendar.vcx" BaseClass="label" /> + + ADD OBJECT '_lblday1_6' AS _lblday WITH ; + Left = 117, ; + Name = "_lblday1_6", ; + Top = 46 + *< END OBJECT: ClassLib="_calendar.vcx" BaseClass="label" /> + + ADD OBJECT '_lblday1_7' AS _lblday WITH ; + Left = 137, ; + Name = "_lblday1_7", ; + Top = 46 + *< END OBJECT: ClassLib="_calendar.vcx" BaseClass="label" /> + + ADD OBJECT '_lblday2_1' AS _lblday WITH ; + ForeColor = 255,128,128, ; + Left = 17, ; + Name = "_lblday2_1", ; + Top = 61 + *< END OBJECT: ClassLib="_calendar.vcx" BaseClass="label" /> + + ADD OBJECT '_lblday2_2' AS _lblday WITH ; + Left = 37, ; + Name = "_lblday2_2", ; + Top = 61 + *< END OBJECT: ClassLib="_calendar.vcx" BaseClass="label" /> + + ADD OBJECT '_lblday2_3' AS _lblday WITH ; + Left = 57, ; + Name = "_lblday2_3", ; + Top = 61 + *< END OBJECT: ClassLib="_calendar.vcx" BaseClass="label" /> + + ADD OBJECT '_lblday2_4' AS _lblday WITH ; + Left = 77, ; + Name = "_lblday2_4", ; + Top = 61 + *< END OBJECT: ClassLib="_calendar.vcx" BaseClass="label" /> + + ADD OBJECT '_lblday2_5' AS _lblday WITH ; + Left = 97, ; + Name = "_lblday2_5", ; + Top = 61 + *< END OBJECT: ClassLib="_calendar.vcx" BaseClass="label" /> + + ADD OBJECT '_lblday2_6' AS _lblday WITH ; + Left = 117, ; + Name = "_lblday2_6", ; + Top = 61 + *< END OBJECT: ClassLib="_calendar.vcx" BaseClass="label" /> + + ADD OBJECT '_lblday2_7' AS _lblday WITH ; + Left = 137, ; + Name = "_lblday2_7", ; + Top = 61 + *< END OBJECT: ClassLib="_calendar.vcx" BaseClass="label" /> + + ADD OBJECT '_lblday3_1' AS _lblday WITH ; + ForeColor = 255,128,128, ; + Left = 17, ; + Name = "_lblday3_1", ; + Top = 76 + *< END OBJECT: ClassLib="_calendar.vcx" BaseClass="label" /> + + ADD OBJECT '_lblday3_2' AS _lblday WITH ; + Left = 37, ; + Name = "_lblday3_2", ; + Top = 76 + *< END OBJECT: ClassLib="_calendar.vcx" BaseClass="label" /> + + ADD OBJECT '_lblday3_3' AS _lblday WITH ; + Left = 57, ; + Name = "_lblday3_3", ; + Top = 76 + *< END OBJECT: ClassLib="_calendar.vcx" BaseClass="label" /> + + ADD OBJECT '_lblday3_4' AS _lblday WITH ; + Left = 77, ; + Name = "_lblday3_4", ; + Top = 76 + *< END OBJECT: ClassLib="_calendar.vcx" BaseClass="label" /> + + ADD OBJECT '_lblday3_5' AS _lblday WITH ; + Left = 97, ; + Name = "_lblday3_5", ; + Top = 76 + *< END OBJECT: ClassLib="_calendar.vcx" BaseClass="label" /> + + ADD OBJECT '_lblday3_6' AS _lblday WITH ; + Left = 117, ; + Name = "_lblday3_6", ; + Top = 76 + *< END OBJECT: ClassLib="_calendar.vcx" BaseClass="label" /> + + ADD OBJECT '_lblday3_7' AS _lblday WITH ; + Left = 137, ; + Name = "_lblday3_7", ; + Top = 76 + *< END OBJECT: ClassLib="_calendar.vcx" BaseClass="label" /> + + ADD OBJECT '_lblday4_1' AS _lblday WITH ; + ForeColor = 255,128,128, ; + Left = 17, ; + Name = "_lblday4_1", ; + Top = 91 + *< END OBJECT: ClassLib="_calendar.vcx" BaseClass="label" /> + + ADD OBJECT '_lblday4_2' AS _lblday WITH ; + Left = 37, ; + Name = "_lblday4_2", ; + Top = 91 + *< END OBJECT: ClassLib="_calendar.vcx" BaseClass="label" /> + + ADD OBJECT '_lblday4_3' AS _lblday WITH ; + Left = 57, ; + Name = "_lblday4_3", ; + Top = 91 + *< END OBJECT: ClassLib="_calendar.vcx" BaseClass="label" /> + + ADD OBJECT '_lblday4_4' AS _lblday WITH ; + Left = 77, ; + Name = "_lblday4_4", ; + Top = 91 + *< END OBJECT: ClassLib="_calendar.vcx" BaseClass="label" /> + + ADD OBJECT '_lblday4_5' AS _lblday WITH ; + Left = 97, ; + Name = "_lblday4_5", ; + Top = 91 + *< END OBJECT: ClassLib="_calendar.vcx" BaseClass="label" /> + + ADD OBJECT '_lblday4_6' AS _lblday WITH ; + Left = 117, ; + Name = "_lblday4_6", ; + Top = 91 + *< END OBJECT: ClassLib="_calendar.vcx" BaseClass="label" /> + + ADD OBJECT '_lblday4_7' AS _lblday WITH ; + Left = 137, ; + Name = "_lblday4_7", ; + Top = 91 + *< END OBJECT: ClassLib="_calendar.vcx" BaseClass="label" /> + + ADD OBJECT '_lblday5_1' AS _lblday WITH ; + ForeColor = 255,128,128, ; + Left = 17, ; + Name = "_lblday5_1", ; + Top = 106 + *< END OBJECT: ClassLib="_calendar.vcx" BaseClass="label" /> + + ADD OBJECT '_lblday5_2' AS _lblday WITH ; + Left = 37, ; + Name = "_lblday5_2", ; + Top = 106 + *< END OBJECT: ClassLib="_calendar.vcx" BaseClass="label" /> + + ADD OBJECT '_lblday5_3' AS _lblday WITH ; + Left = 57, ; + Name = "_lblday5_3", ; + Top = 106 + *< END OBJECT: ClassLib="_calendar.vcx" BaseClass="label" /> + + ADD OBJECT '_lblday5_4' AS _lblday WITH ; + Left = 77, ; + Name = "_lblday5_4", ; + Top = 106 + *< END OBJECT: ClassLib="_calendar.vcx" BaseClass="label" /> + + ADD OBJECT '_lblday5_5' AS _lblday WITH ; + Left = 97, ; + Name = "_lblday5_5", ; + Top = 106 + *< END OBJECT: ClassLib="_calendar.vcx" BaseClass="label" /> + + ADD OBJECT '_lblday5_6' AS _lblday WITH ; + Left = 117, ; + Name = "_lblday5_6", ; + Top = 106 + *< END OBJECT: ClassLib="_calendar.vcx" BaseClass="label" /> + + ADD OBJECT '_lblday5_7' AS _lblday WITH ; + Left = 137, ; + Name = "_lblday5_7", ; + Top = 106 + *< END OBJECT: ClassLib="_calendar.vcx" BaseClass="label" /> + + ADD OBJECT '_lblday6_1' AS _lblday WITH ; + ForeColor = 255,128,128, ; + Left = 17, ; + Name = "_lblday6_1", ; + Top = 121 + *< END OBJECT: ClassLib="_calendar.vcx" BaseClass="label" /> + + ADD OBJECT '_lblday6_2' AS _lblday WITH ; + Left = 37, ; + Name = "_lblday6_2", ; + Top = 121 + *< END OBJECT: ClassLib="_calendar.vcx" BaseClass="label" /> + + ADD OBJECT '_lblday6_3' AS _lblday WITH ; + Left = 57, ; + Name = "_lblday6_3", ; + Top = 121 + *< END OBJECT: ClassLib="_calendar.vcx" BaseClass="label" /> + + ADD OBJECT '_lblday6_4' AS _lblday WITH ; + Left = 77, ; + Name = "_lblday6_4", ; + Top = 121 + *< END OBJECT: ClassLib="_calendar.vcx" BaseClass="label" /> + + ADD OBJECT '_lblday6_5' AS _lblday WITH ; + Left = 97, ; + Name = "_lblday6_5", ; + Top = 121 + *< END OBJECT: ClassLib="_calendar.vcx" BaseClass="label" /> + + ADD OBJECT '_lblday6_6' AS _lblday WITH ; + Left = 117, ; + Name = "_lblday6_6", ; + Top = 121 + *< END OBJECT: ClassLib="_calendar.vcx" BaseClass="label" /> + + ADD OBJECT '_lblday6_7' AS _lblday WITH ; + Left = 137, ; + Name = "_lblday6_7", ; + Top = 121 + *< END OBJECT: ClassLib="_calendar.vcx" BaseClass="label" /> + + ADD OBJECT 'imgDown' AS image WITH ; + Height = 7, ; + Left = 153, ; + MousePointer = 15, ; + Name = "imgDown", ; + Picture = cal_arrow_down.png, ; + Stretch = 0, ; + Top = 16, ; + Width = 11 + *< END OBJECT: BaseClass="image" /> + + ADD OBJECT 'imgLeft' AS image WITH ; + Height = 16, ; + Left = 4, ; + MousePointer = 15, ; + Name = "imgLeft", ; + Picture = cal_arrow_left.png, ; + Top = 7, ; + Width = 16 + *< END OBJECT: BaseClass="image" /> + + ADD OBJECT 'imgRight' AS image WITH ; + Height = 16, ; + Left = 93, ; + MousePointer = 15, ; + Name = "imgRight", ; + Picture = cal_arrow_right.png, ; + Top = 7, ; + Width = 16 + *< END OBJECT: BaseClass="image" /> + + ADD OBJECT 'imgUp' AS image WITH ; + Height = 7, ; + Left = 153, ; + MousePointer = 15, ; + Name = "imgUp", ; + Picture = cal_arrow_up.png, ; + Stretch = 0, ; + Top = 7, ; + Width = 11 + *< END OBJECT: BaseClass="image" /> + + ADD OBJECT 'lblDayName1' AS label WITH ; + Alignment = 2, ; + BackStyle = 0, ; + Caption = "M", ; + FontBold = .T., ; + FontName = "Tahoma", ; + FontSize = 8, ; + ForeColor = 255,128,128, ; + Height = 15, ; + Left = 18, ; + Name = "lblDayName1", ; + Top = 31, ; + Width = 14 + *< END OBJECT: BaseClass="label" /> + + ADD OBJECT 'lblDayName2' AS label WITH ; + Alignment = 2, ; + BackStyle = 0, ; + Caption = "S", ; + FontBold = .T., ; + FontName = "Tahoma", ; + FontSize = 8, ; + ForeColor = 196,196,255, ; + Height = 15, ; + Left = 38, ; + Name = "lblDayName2", ; + Top = 31, ; + Width = 14 + *< END OBJECT: BaseClass="label" /> + + ADD OBJECT 'lblDayName3' AS label WITH ; + Alignment = 2, ; + BackStyle = 0, ; + Caption = "S", ; + FontBold = .T., ; + FontName = "Tahoma", ; + FontSize = 8, ; + ForeColor = 196,196,255, ; + Height = 15, ; + Left = 58, ; + Name = "lblDayName3", ; + Top = 31, ; + Width = 14 + *< END OBJECT: BaseClass="label" /> + + ADD OBJECT 'lblDayName4' AS label WITH ; + Alignment = 2, ; + BackStyle = 0, ; + Caption = "R", ; + FontBold = .T., ; + FontName = "Tahoma", ; + FontSize = 8, ; + ForeColor = 196,196,255, ; + Height = 15, ; + Left = 78, ; + Name = "lblDayName4", ; + Top = 31, ; + Width = 14 + *< END OBJECT: BaseClass="label" /> + + ADD OBJECT 'lblDayName5' AS label WITH ; + Alignment = 2, ; + BackStyle = 0, ; + Caption = "K", ; + FontBold = .T., ; + FontName = "Tahoma", ; + FontSize = 8, ; + ForeColor = 196,196,255, ; + Height = 15, ; + Left = 98, ; + Name = "lblDayName5", ; + Top = 31, ; + Width = 14 + *< END OBJECT: BaseClass="label" /> + + ADD OBJECT 'lblDayName6' AS label WITH ; + Alignment = 2, ; + BackStyle = 0, ; + Caption = "J", ; + FontBold = .T., ; + FontName = "Tahoma", ; + FontSize = 8, ; + ForeColor = 196,196,255, ; + Height = 15, ; + Left = 118, ; + Name = "lblDayName6", ; + Top = 31, ; + Width = 14 + *< END OBJECT: BaseClass="label" /> + + ADD OBJECT 'lblDayName7' AS label WITH ; + Alignment = 2, ; + BackStyle = 0, ; + Caption = "S", ; + FontBold = .T., ; + FontName = "Tahoma", ; + FontSize = 8, ; + ForeColor = 196,196,255, ; + Height = 15, ; + Left = 138, ; + Name = "lblDayName7", ; + Top = 31, ; + Width = 14 + *< END OBJECT: BaseClass="label" /> + + ADD OBJECT 'Shape1' AS shape WITH ; + BackColor = 196,196,255, ; + Height = 28, ; + Left = 1, ; + Name = "Shape1", ; + Top = 1, ; + Width = 166 + *< END OBJECT: BaseClass="shape" /> + + ADD OBJECT 'Shape2' AS shape WITH ; + BackColor = 196,196,255, ; + Height = 28, ; + Left = 1, ; + Name = "Shape2", ; + Top = 139, ; + Width = 166 + *< END OBJECT: BaseClass="shape" /> + + ADD OBJECT 'shpToday' AS shape WITH ; + BackStyle = 0, ; + BorderStyle = 0, ; + Height = 28, ; + Left = 2, ; + MousePointer = 15, ; + Name = "shpToday", ; + Top = 140, ; + Width = 164 + *< END OBJECT: BaseClass="shape" /> + + ADD OBJECT 'txtMonth' AS textbox WITH ; + Alignment = 2, ; + BackStyle = 0, ; + BorderStyle = 0, ; + FontBold = .T., ; + FontName = "Tahoma", ; + FontSize = 8, ; + ForeColor = 255,255,255, ; + Height = 23, ; + Left = 2, ; + MousePointer = 1, ; + Name = "txtMonth", ; + SpecialEffect = 1, ; + Themes = .F., ; + Top = 5, ; + Value = , ; + Width = 112 + *< END OBJECT: BaseClass="textbox" /> + + ADD OBJECT 'txtToday' AS textbox WITH ; + Alignment = 2, ; + BackStyle = 0, ; + BorderStyle = 0, ; + FontBold = .T., ; + FontName = "Tahoma", ; + FontSize = 8, ; + ForeColor = 62,62,255, ; + Height = 23, ; + Left = 4, ; + MousePointer = 1, ; + Name = "txtToday", ; + SpecialEffect = 1, ; + Themes = .F., ; + Top = 143, ; + Value = , ; + Width = 160 + *< END OBJECT: BaseClass="textbox" /> + + ADD OBJECT 'txtYear' AS textbox WITH ; + Alignment = 1, ; + BackStyle = 0, ; + BorderStyle = 0, ; + FontBold = .T., ; + FontName = "Tahoma", ; + FontSize = 8, ; + ForeColor = 255,255,255, ; + Height = 23, ; + Left = 111, ; + MousePointer = 1, ; + Name = "txtYear", ; + SpecialEffect = 1, ; + Themes = .F., ; + Top = 5, ; + Value = , ; + Width = 42 + *< END OBJECT: BaseClass="textbox" /> + + PROCEDURE dayclick + ENDPROC + + PROCEDURE firstdayoftheweek_assign + Lparameters vNewVal + *To do: Modify this routine for the Assign method + With This + .FirstDayOfTheWeek = m.vNewVal + .lblDayName1.ForeColor = .notherscolour + .lblDayName2.ForeColor = .notherscolour + .lblDayName3.ForeColor = .notherscolour + .lblDayName4.ForeColor = .notherscolour + .lblDayName5.ForeColor = .notherscolour + .lblDayName6.ForeColor = .notherscolour + .lblDayName7.ForeColor = .notherscolour + Do Case + Case .FirstDayOfTheWeek = 1 && Sunday + .lblDayName1.ForeColor = .nsundaycolour + .nsunday = 1 + .lblDayName1.Caption = .cdayname1 + .lblDayName2.Caption = .cdayname2 + .lblDayName3.Caption = .cdayname3 + .lblDayName4.Caption = .cdayname4 + .lblDayName5.Caption = .cdayname5 + .lblDayName6.Caption = .cdayname6 + .lblDayName7.Caption = .cdayname7 + Case .FirstDayOfTheWeek = 2 && Monday + .lblDayName7.ForeColor = .nsundaycolour + .nsunday = 7 + .lblDayName1.Caption = .cdayname2 + .lblDayName2.Caption = .cdayname3 + .lblDayName3.Caption = .cdayname4 + .lblDayName4.Caption = .cdayname5 + .lblDayName5.Caption = .cdayname6 + .lblDayName6.Caption = .cdayname7 + .lblDayName7.Caption = .cdayname1 + Case .FirstDayOfTheWeek = 3 && Tuesday + .lblDayName6.ForeColor = .nsundaycolour + .nsunday = 6 + .lblDayName1.Caption = .cdayname3 + .lblDayName2.Caption = .cdayname4 + .lblDayName3.Caption = .cdayname5 + .lblDayName4.Caption = .cdayname6 + .lblDayName5.Caption = .cdayname7 + .lblDayName6.Caption = .cdayname1 + .lblDayName7.Caption = .cdayname2 + Case .FirstDayOfTheWeek = 4 && Wednesday + .lblDayName5.ForeColor = .nsundaycolour + .nsunday = 5 + .lblDayName1.Caption = .cdayname4 + .lblDayName2.Caption = .cdayname5 + .lblDayName3.Caption = .cdayname6 + .lblDayName4.Caption = .cdayname7 + .lblDayName5.Caption = .cdayname1 + .lblDayName6.Caption = .cdayname2 + .lblDayName7.Caption = .cdayname3 + Case .FirstDayOfTheWeek = 5 && Thursday + .lblDayName4.ForeColor = .nsundaycolour + .nsunday = 4 + .lblDayName1.Caption = .cdayname5 + .lblDayName2.Caption = .cdayname6 + .lblDayName3.Caption = .cdayname7 + .lblDayName4.Caption = .cdayname1 + .lblDayName5.Caption = .cdayname2 + .lblDayName6.Caption = .cdayname3 + .lblDayName7.Caption = .cdayname4 + Case .FirstDayOfTheWeek = 6 && Friday + .lblDayName3.ForeColor = .nsundaycolour + .nsunday = 3 + .lblDayName1.Caption = .cdayname6 + .lblDayName2.Caption = .cdayname7 + .lblDayName3.Caption = .cdayname1 + .lblDayName4.Caption = .cdayname2 + .lblDayName5.Caption = .cdayname3 + .lblDayName6.Caption = .cdayname4 + .lblDayName7.Caption = .cdayname5 + Otherwise && Saturday + .lblDayName2.ForeColor = .nsundaycolour + .nsunday = 2 + .lblDayName1.Caption = .cdayname7 + .lblDayName2.Caption = .cdayname1 + .lblDayName3.Caption = .cdayname2 + .lblDayName4.Caption = .cdayname3 + .lblDayName5.Caption = .cdayname4 + .lblDayName6.Caption = .cdayname5 + .lblDayName7.Caption = .cdayname6 + Endcase + Endwith + + ENDPROC + + PROCEDURE Init + LPARAMETERS tdValue + + WITH this + .nsundaycolour = RGB(255,128,128) + .notherscolour = RGB(196,196,255) + IF VARTYPE(m.tdValue) == 'D' + .Value = m.tdValue + ELSE + .Value = DATE() + ENDIF + .Language = .Language + .Redraw() + ENDWITH + + ENDPROC + + PROTECTED PROCEDURE language_assign + LPARAMETERS vNewVal + + WITH this + .Language = m.vNewVal + IF .Language == 'RO' + .cDayName1 = 'D' + .cDayName2 = 'L' + .cDayName3 = 'M' + .cDayName4 = 'M' + .cDayName5 = 'J' + .cDayName6 = 'V' + .cDayName7 = 'S' + .MonthNames = "Ianuarie Februarie Martie Aprilie Mai Iunie Iulie August Septembrie Octombrie Noiembrie Decembrie" + .TodayString = "Azi" + .FirstDayOfTheWeek = 2 + ELSE + .cDayName1 = 'S' + .cDayName2 = 'M' + .cDayName3 = 'T' + .cDayName4 = 'W' + .cDayName5 = 'T' + .cDayName6 = 'F' + .cDayName7 = 'S' + .MonthNames = "January February March April May June July August September October November December" + .TodayString = "Today" + .FirstDayOfTheWeek = 1 + ENDIF + .Redraw() + ENDWITH + + ENDPROC + + PROCEDURE monthclick + ENDPROC + + PROCEDURE MouseEnter + LPARAMETERS nButton, nShift, nXCoord, nYCoord + + IF this.Enabled + this.ShowTips = thisform.ShowTips + thisform.ShowTips = .T. + ENDIF + + ENDPROC + + PROCEDURE MouseLeave + LPARAMETERS nButton, nShift, nXCoord, nYCoord + + IF this.Enabled + thisform.ShowTips = this.ShowTips + ENDIF + + ENDPROC + + PROCEDURE redraw + WITH this + FOR EACH m.loCtl IN .Controls + IF UPPER(m.loCtl.Class) == '_LBLDAY' + m.loCtl.ToolTipText = '' + m.loCtl.Visible = .F. + ENDIF + ENDFOR + + *!* IF !USED('holiday') + *!* USE holiday IN 0 + *!* ENDIF + + *!* m.lcSelect = SELECT() + *!* SELECT holiday + *!* SET ORDER TO TAG hdate + + m.lnMonth = MONTH(.Value) + m.lnYear = YEAR(.Value) + m.lnDay = DAY(.Value) + m.lnLastDay = GOMONTH(.Value, 1) - .Value + m.ldToday = DATE() + m.lnToday = DAY(m.ldToday) + .txtMonth.Value = GETWORDNUM(.MonthNames, m.lnMonth) + .txtYear.Value = TRANSFORM(m.lnYear) + m.lcDates = DTOS(m.ldToday) + IF .Language == 'EN' + .txtToday.Value = .TodayString + ": " + SUBSTR(m.lcDates,5,2)+'/'+RIGHT(m.lcDates,2)+'/'+LEFT(m.lcDates,4) + ELSE + .txtToday.Value = .TodayString + ": " + RIGHT(m.lcDates,2)+'-'+SUBSTR(m.lcDates,5,2)+'-'+LEFT(m.lcDates,4) + ENDIF + m.lnWeek = 1 + m.ldDate = EVALUATE("{^"+TRANSFORM(LEFT(DTOS(.Value),6)+"01", "@R 9999-99-99")+"}") + FOR m.lnDays = 1 TO m.lnLastDay + m.ldCurDate = m.ldDate + (m.lnDays-1) + m.lnDow = DOW(m.ldCurDate,.firstdayoftheweek) + m.loLbl = EVALUATE("this._lblday" + TRANSFORM(m.lnWeek) + "_" + TRANSFORM(m.lnDow)) + m.loLbl.Visible = .T. + m.loLbl.Caption = TRANSFORM(m.lnDays) + IF m.lnDays == m.lnDay + m.loLbl.BackColor = This.notherscolour + m.loLbl.ForeColor = RGB(255, 255, 255) + ELSE + m.loLbl.BackColor = RGB(255, 255, 255) + *!* IF SEEK (m.ldCurDate) + *!* m.loLbl.ForeColor = RGB(255, 128, 128) + *!* IF .Language == 'EN' + *!* m.loLbl.ToolTipText = ALLTRIM(holiday.hdescen) + *!* ELSE + *!* m.loLbl.ToolTipText = ALLTRIM(holiday.hdesc) + *!* ENDIF + *!* ELSE + IF m.lnDow = This.nSunday + m.loLbl.ForeColor = This.nsundaycolour + ELSE + m.loLbl.ForeColor = RGB(0, 0, 0) + ENDIF + *!* ENDIF + ENDIF + IF m.ldCurDate == m.ldToday + m.loLbl.BackColor = This.nsundaycolour + m.loLbl.ForeColor = RGB(255, 255, 255) + ENDIF + IF m.lnDow == 7 + m.lnWeek = m.lnWeek + 1 + ENDIF + ENDFOR + + *!* IF !EMPTY(m.lcSelect) + *!* SELECT (lcSelect) + *!* ENDIF + + *!* IF USED('holiday') + *!* USE IN holiday + *!* ENDIF + + ENDWITH + + ENDPROC + + PROCEDURE todayclick + ENDPROC + + PROCEDURE valuechanged + ENDPROC + + HIDDEN PROCEDURE value_assign + LPARAMETERS vNewVal + + WITH this + .Value = m.vNewVal + .Day = DAY(m.vNewVal) + .Month = MONTH(m.vNewVal) + .Year = YEAR(m.vNewVal) + .ValueChanged() + ENDWITH + + ENDPROC + + PROCEDURE yearclick + ENDPROC + + PROCEDURE imgDown.MouseDown + LPARAMETERS nButton, nShift, nXCoord, nYCoord + + IF m.nButton == 1 + WITH this.Parent + IF .Year > 1900 + .Value = GOMONTH(.Value, -12) + .Redraw() + .YearClick() + ENDIF + ENDWITH + ENDIF + + ENDPROC + + PROCEDURE imgDown.MouseMove + LPARAMETERS nButton, nShift, nXCoord, nYCoord + + this.Parent.MouseMove(nButton, nShift, nXCoord, nYCoord) + + ENDPROC + + PROCEDURE imgLeft.MouseDown + LPARAMETERS nButton, nShift, nXCoord, nYCoord + + IF m.nButton == 1 + WITH this.Parent + IF .Enabled + .Value = GOMONTH(.Value, -1) + .Redraw() + .MonthClick() + ENDIF + ENDWITH + ENDIF + + ENDPROC + + PROCEDURE imgLeft.MouseMove + LPARAMETERS nButton, nShift, nXCoord, nYCoord + + IF this.Parent.Enabled + this.Parent.MouseMove(nButton, nShift, nXCoord, nYCoord) + ENDIF + + ENDPROC + + PROCEDURE imgRight.MouseDown + LPARAMETERS nButton, nShift, nXCoord, nYCoord + + IF m.nButton == 1 + WITH this.Parent + IF .Enabled + .Value = GOMONTH(.Value, 1) + .Redraw() + .MonthClick() + ENDIF + ENDWITH + ENDIF + + ENDPROC + + PROCEDURE imgRight.MouseMove + LPARAMETERS nButton, nShift, nXCoord, nYCoord + + IF this.Parent.Enabled + this.Parent.MouseMove(nButton, nShift, nXCoord, nYCoord) + ENDIF + + ENDPROC + + PROCEDURE imgUp.MouseDown + LPARAMETERS nButton, nShift, nXCoord, nYCoord + + IF m.nButton == 1 + WITH this.Parent + IF .Year < 2099 + .Value = GOMONTH(.Value, 12) + .Redraw() + .YearClick() + ENDIF + ENDWITH + ENDIF + + ENDPROC + + PROCEDURE imgUp.MouseMove + LPARAMETERS nButton, nShift, nXCoord, nYCoord + + this.Parent.MouseMove(nButton, nShift, nXCoord, nYCoord) + + ENDPROC + + PROCEDURE lblDayName1.MouseMove + LPARAMETERS nButton, nShift, nXCoord, nYCoord + + this.Parent.MouseMove(nButton, nShift, nXCoord, nYCoord) + + ENDPROC + + PROCEDURE lblDayName2.MouseMove + LPARAMETERS nButton, nShift, nXCoord, nYCoord + + this.Parent.MouseMove(nButton, nShift, nXCoord, nYCoord) + + ENDPROC + + PROCEDURE lblDayName3.MouseMove + LPARAMETERS nButton, nShift, nXCoord, nYCoord + + this.Parent.MouseMove(nButton, nShift, nXCoord, nYCoord) + + ENDPROC + + PROCEDURE lblDayName4.MouseMove + LPARAMETERS nButton, nShift, nXCoord, nYCoord + + this.Parent.MouseMove(nButton, nShift, nXCoord, nYCoord) + + ENDPROC + + PROCEDURE lblDayName5.MouseMove + LPARAMETERS nButton, nShift, nXCoord, nYCoord + + this.Parent.MouseMove(nButton, nShift, nXCoord, nYCoord) + + ENDPROC + + PROCEDURE lblDayName6.MouseMove + LPARAMETERS nButton, nShift, nXCoord, nYCoord + + this.Parent.MouseMove(nButton, nShift, nXCoord, nYCoord) + + ENDPROC + + PROCEDURE lblDayName7.MouseMove + LPARAMETERS nButton, nShift, nXCoord, nYCoord + + this.Parent.MouseMove(nButton, nShift, nXCoord, nYCoord) + + ENDPROC + + PROCEDURE Shape1.MouseMove + LPARAMETERS nButton, nShift, nXCoord, nYCoord + + IF this.Parent.Enabled + this.Parent.MouseMove(nButton, nShift, nXCoord, nYCoord) + ENDIF + + ENDPROC + + PROCEDURE Shape2.MouseMove + LPARAMETERS nButton, nShift, nXCoord, nYCoord + + IF this.Parent.Enabled + this.Parent.MouseMove(nButton, nShift, nXCoord, nYCoord) + ENDIF + + ENDPROC + + PROCEDURE shpToday.MouseDown + LPARAMETERS nButton, nShift, nXCoord, nYCoord + + IF m.nButton == 1 + WITH this.Parent + IF .Enabled + .Value = DATE() + .Redraw() + .TodayClick() + ENDIF + ENDWITH + ENDIF + + ENDPROC + + PROCEDURE shpToday.MouseMove + LPARAMETERS nButton, nShift, nXCoord, nYCoord + + IF this.Parent.Enabled + this.Parent.MouseMove(nButton, nShift, nXCoord, nYCoord) + ENDIF + + ENDPROC + + PROCEDURE txtMonth.MouseMove + LPARAMETERS nButton, nShift, nXCoord, nYCoord + + IF this.Parent.Enabled + this.Parent.MouseMove(nButton, nShift, nXCoord, nYCoord) + ENDIF + + ENDPROC + + PROCEDURE txtMonth.When + RETURN .F. + + ENDPROC + + PROCEDURE txtToday.When + RETURN .F. + + ENDPROC + + PROCEDURE txtYear.MouseMove + LPARAMETERS nButton, nShift, nXCoord, nYCoord + + IF this.Parent.Enabled + this.Parent.MouseMove(nButton, nShift, nXCoord, nYCoord) + ENDIF + + ENDPROC + + PROCEDURE txtYear.When + RETURN .F. + + ENDPROC + +ENDDEFINE + +DEFINE CLASS _calpopup AS form + *< CLASSDATA: Baseclass="form" Timestamp="" Scale="Pixels" Uniqueid="" /> + + *-- OBJECTDATA items order determines ZOrder / El orden de los items OBJECTDATA determina el ZOrder + *< OBJECTDATA: ObjPath="Timer1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="Calendar" UniqueID="" Timestamp="" /> + + * + *m: form_deactivate + *m: form_moved + *m: form_resize + *m: hideform + *m: language_assign + *m: showform + *p: idletime + *p: is_formshow + *p: language + *p: lastactivity + *p: odatepicker + *p: oform + *p: shadowed + *p: _memberdata && XML Metadata for customizable properties + *p: _originalvalue + * + + * + BorderStyle = 0 + Caption = "" + Closable = .F. + ControlBox = .F. + DoCreate = .T. + Height = 168 + idletime = 50 + is_formshow = .F. + KeyPreview = .T. + language = RO + lastactivity = .F. + Left = 0 + MaxButton = .F. + MinButton = .F. + Name = "_calpopup" + odatepicker = .F. + oform = .F. + shadowed = .T. + ShowInTaskBar = .F. + TitleBar = 0 + Top = 0 + Width = 168 + _memberdata = + + + + + _originalvalue = {} + * + + ADD OBJECT 'Calendar' AS _calendar WITH ; + Left = 0, ; + Name = "Calendar", ; + Top = 0, ; + Shape2.Name = "Shape2", ; + Shape1.Name = "Shape1", ; + txtToday.Name = "txtToday", ; + txtMonth.Name = "txtMonth", ; + txtYear.Name = "txtYear", ; + _lblday1_1.Name = "_lblday1_1", ; + _lblday1_2.Name = "_lblday1_2", ; + _lblday1_3.Name = "_lblday1_3", ; + _lblday1_4.Name = "_lblday1_4", ; + _lblday1_5.Name = "_lblday1_5", ; + _lblday1_6.Name = "_lblday1_6", ; + _lblday1_7.Name = "_lblday1_7", ; + lblDayName2.Name = "lblDayName2", ; + lblDayName3.Name = "lblDayName3", ; + lblDayName4.Name = "lblDayName4", ; + lblDayName5.Name = "lblDayName5", ; + lblDayName6.Name = "lblDayName6", ; + lblDayName7.Name = "lblDayName7", ; + lblDayName1.Name = "lblDayName1", ; + _lblday2_1.Name = "_lblday2_1", ; + _lblday2_2.Name = "_lblday2_2", ; + _lblday2_3.Name = "_lblday2_3", ; + _lblday2_4.Name = "_lblday2_4", ; + _lblday2_5.Name = "_lblday2_5", ; + _lblday2_6.Name = "_lblday2_6", ; + _lblday2_7.Name = "_lblday2_7", ; + _lblday3_1.Name = "_lblday3_1", ; + _lblday3_2.Name = "_lblday3_2", ; + _lblday3_3.Name = "_lblday3_3", ; + _lblday3_4.Name = "_lblday3_4", ; + _lblday3_5.Name = "_lblday3_5", ; + _lblday3_6.Name = "_lblday3_6", ; + _lblday3_7.Name = "_lblday3_7", ; + _lblday4_1.Name = "_lblday4_1", ; + _lblday4_2.Name = "_lblday4_2", ; + _lblday4_3.Name = "_lblday4_3", ; + _lblday4_4.Name = "_lblday4_4", ; + _lblday4_5.Name = "_lblday4_5", ; + _lblday4_6.Name = "_lblday4_6", ; + _lblday4_7.Name = "_lblday4_7", ; + _lblday5_1.Name = "_lblday5_1", ; + _lblday5_2.Name = "_lblday5_2", ; + _lblday5_3.Name = "_lblday5_3", ; + _lblday5_4.Name = "_lblday5_4", ; + _lblday5_5.Name = "_lblday5_5", ; + _lblday5_6.Name = "_lblday5_6", ; + _lblday5_7.Name = "_lblday5_7", ; + _lblday6_1.Name = "_lblday6_1", ; + _lblday6_2.Name = "_lblday6_2", ; + _lblday6_3.Name = "_lblday6_3", ; + _lblday6_4.Name = "_lblday6_4", ; + _lblday6_5.Name = "_lblday6_5", ; + _lblday6_6.Name = "_lblday6_6", ; + _lblday6_7.Name = "_lblday6_7", ; + imgLeft.Height = 16, ; + imgLeft.Name = "imgLeft", ; + imgLeft.Width = 16, ; + imgRight.Height = 16, ; + imgRight.Name = "imgRight", ; + imgRight.Width = 16, ; + imgUp.Height = 7, ; + imgUp.Name = "imgUp", ; + imgUp.Width = 11, ; + imgDown.Height = 7, ; + imgDown.Name = "imgDown", ; + imgDown.Width = 11, ; + shpToday.Name = "shpToday" + *< END OBJECT: ClassLib="_calendar.vcx" BaseClass="control" /> + + ADD OBJECT 'Timer1' AS timer WITH ; + Enabled = .F., ; + Height = 23, ; + Interval = 50, ; + Left = 154, ; + Name = "Timer1", ; + Top = 154, ; + Width = 23 + *< END OBJECT: BaseClass="timer" /> + + PROCEDURE Deactivate + thisform.HideForm() + + ENDPROC + + PROCEDURE form_deactivate + ENDPROC + + PROCEDURE form_moved + ENDPROC + + PROCEDURE form_resize + ENDPROC + + PROCEDURE hideform + #define GCL_STYLE (-26) + #define CS_DROPSHADOW 0x00020000 + + WITH this + IF .is_formshow + .Timer1.Enabled = .F. + .is_formshow = .F. + UNBINDEVENTS(.oForm, "Resize", this, "HideForm") + + DECLARE LONG ReleaseCapture IN WIN32API AS API_ReleaseCapture + API_ReleaseCapture() + + .Visible = .F. + + IF .Shadowed + DECLARE LONG GetClassLong IN WIN32API AS API_GetClassLong LONG, LONG + DECLARE LONG SetClassLong IN WIN32API AS API_SetClassLong LONG, LONG, LONG + m.lnStyle = API_GetClassLong(.HWnd, GCL_STYLE) + API_SetClassLong(.HWnd, GCL_STYLE, BITAND(m.lnStyle, BITNOT(CS_DROPSHADOW))) + ENDIF + + .oDatePicker.SetFocus() + .Release() + ENDIF + ENDWITH + + ENDPROC + + PROCEDURE Init + LPARAMETERS toObject, toForm + + WITH this + .Name = SYS(2015) + .oDatePicker = m.toObject + .oForm = m.toForm + .Calendar.Value = IIF(EMPTY(m.toObject.Value), DATE(), m.toObject.Value) + ._OriginalValue = m.toObject.Value + .Language = .Language + ENDWITH + + ENDPROC + + PROCEDURE KeyPress + LPARAMETERS nKeyCode, nShiftAltCtrl + + m.llRelease = .F. + + WITH thisform + DO CASE + CASE m.nKeyCode == 27 + m.llRelease = .T. + .oDatePicker.Value = ._OriginalValue + CASE m.nKeyCode == 13 + m.llRelease = .T. + ENDCASE + IF m.llRelease + .HideForm() + ENDIF + ENDWITH + + ENDPROC + + HIDDEN PROCEDURE language_assign + LPARAMETERS vNewVal + + WITH this + .Language = m.vNewVal + .Calendar.Language = m.vNewVal + ENDWITH + + ENDPROC + + PROCEDURE showform + LPARAMETERS x, y + + DECLARE LONG SetWindowPos IN WIN32API AS API_SetWindowPos LONG, LONG, LONG, LONG, LONG, LONG, LONG + DECLARE LONG ClientToScreen IN WIN32API AS API_ClientToScreen LONG, STRING @ + DECLARE LONG SetWindowLongA IN WIN32API AS API_SetWindowLong LONG, LONG, LONG + DECLARE LONG GetWindowLongA IN WIN32API AS API_GetWindowLong LONG, LONG + DECLARE LONG SetParent IN WIN32API AS API_SetParent LONG, LONG + DECLARE LONG SetFocus IN WIN32API AS API_SetFocus LONG + DECLARE LONG SetCapture IN WIN32API AS API_SetCapture LONG + + #define SWP_SHOWWINDOW 0x0040 + #define GWL_EXSTYLE (-20) + #define WS_EX_TOOLWINDOW 0x00000080 + #define WS_EX_APPWINDOW 0x00040000 + #define WS_EX_TOPMOST 0x8 + #define GCL_STYLE (-26) + #define CS_DROPSHADOW 0x00020000 + + WITH thisform + ACTIVATE WINDOW (.Name) IN WINDOW (.oForm.Name) NOSHOW + + m.lhWnd = .hWnd + + m.lStyle = API_GetWindowLong(m.lhWnd, GWL_EXSTYLE) + m.lStyle = BITAND(BITOR(m.lStyle, WS_EX_TOOLWINDOW), BITNOT(WS_EX_APPWINDOW)) + API_SetWindowLong(m.lhWnd, GWL_EXSTYLE, m.lStyle) + + m.lParentHWnd = .oForm.hWnd + + m.lqPt = BINTOC(x, '4RS')+BINTOC(y, '4RS') + API_ClientToScreen(m.lParentHWnd, @lqPt) + x = CTOBIN(SUBSTR(m.lqPt, 1, 4), '4RS') + y = CTOBIN(SUBSTR(m.lqPt, 5, 4), '4RS') + + IF ((x + .Width) > SYSMETRIC(1)) + x = SYSMETRIC(1) - .Width - 2 + ENDIF + + IF ((y + .Height) > SYSMETRIC(2)) + y = y - .Height - this.oDatePicker.Height + 2 + ENDIF + + IF .Shadowed + DECLARE LONG GetClassLong IN WIN32API AS API_GetClassLong LONG, LONG + DECLARE LONG SetClassLong IN WIN32API AS API_SetClassLong LONG, LONG, LONG + m.lnStyle = API_GetClassLong(m.lhWnd, GCL_STYLE) + API_SetClassLong(m.lhWnd, GCL_STYLE, BITOR(m.lnStyle, CS_DROPSHADOW)) + ENDIF + + API_SetParent(m.lhWnd, 0) + API_SetWindowPos(m.lhWnd, 0, x, y, .Width, .Height, SWP_SHOWWINDOW) + + .Visible = .T. + .ZOrder(0) + .AlwaysOnTop = .T. + + API_SetFocus(m.lhWnd) + API_SetCapture(m.lhWnd) + + .is_formshow = .T. + + BINDEVENT(.oForm, "Resize", this, "HideForm") + + .LastActivity = SECONDS() + + .Timer1.Enabled = .T. + + ENDWITH + + ENDPROC + + PROCEDURE Calendar.Click + thisform.LastActivity = SECONDS() + + ENDPROC + + PROCEDURE Calendar.dayclick + WITH thisform + .oDatePicker.Value = this.Value + .oDatePicker.SetFocus() + .HideForm() + ENDWITH + + ENDPROC + + PROCEDURE Calendar.monthclick + WITH thisform + .oDatePicker.Value = this.Value + ENDWITH + + ENDPROC + + PROCEDURE Calendar.MouseMove + LPARAMETERS nButton, nShift, nXCoord, nYCoord + + thisform.LastActivity = SECONDS() + + ENDPROC + + PROCEDURE Calendar.todayclick + WITH thisform + .oDatePicker.Value = this.Value + .HideForm() + ENDWITH + + ENDPROC + + PROCEDURE Calendar.valuechanged + thisform.LastActivity = SECONDS() + + ENDPROC + + PROCEDURE Calendar.yearclick + WITH thisform + .oDatePicker.Value = this.Value + ENDWITH + + ENDPROC + + PROCEDURE Timer1.Timer + #define VK_LBUTTON 0x01 + #define VK_RBUTTON 0x02 + #define VK_MBUTTON 0x04 + + DECLARE LONG GetAsyncKeyState IN WIN32API AS API_GetAsyncKeyState LONG + + IF BITAND(API_GetAsyncKeyState(VK_LBUTTON), 0x8000) != 0 OR ; + BITAND(API_GetAsyncKeyState(VK_RBUTTON), 0x8000) != 0 OR ; + BITAND(API_GetAsyncKeyState(VK_MBUTTON), 0x8000) != 0 + + DECLARE LONG GetCursorPos IN WIN32API AS API_GetCursorPos STRING @ + DECLARE LONG GetWindowRect IN WIN32API AS API_GetWindowRect LONG, STRING @ + + m.lqPos = REPLICATE(0h00, 8) + API_GetCursorPos(@lqPos) + m.lnX = CTOBIN(LEFT(m.lqPos, 4), '4RS') + m.lnY = CTOBIN(RIGHT(m.lqPos, 4), '4RS') + + m.lqRect = REPLICATE(0h00, 16) + API_GetWindowRect(thisform.HWnd, @lqRect) + m.lnLeft = CTOBIN(SUBSTR(m.lqRect, 1, 4), '4RS') + m.lnTop = CTOBIN(SUBSTR(m.lqRect, 5, 4), '4RS') + m.lnRight = CTOBIN(SUBSTR(m.lqRect, 9, 4), '4RS') + m.lnBottom = CTOBIN(SUBSTR(m.lqRect, 13, 4), '4RS') + + IF !BETWEEN(m.lnX, m.lnLeft, m.lnRight) OR !BETWEEN(m.lnY, m.lnTop, m.lnBottom) + this.Enabled = .F. + thisform.HideForm() + ENDIF + + ELSE + IF thisform.IdleTime > 0 + m.lnSeconds = SECONDS() - thisform.LastActivity + IF m.lnSeconds >= thisform.IdleTime + this.Enabled = .F. + thisform.HideForm() + ENDIF + ENDIF + ENDIF + + ENDPROC + +ENDDEFINE + +DEFINE CLASS _datepicker AS control + *< CLASSDATA: Baseclass="control" Timestamp="" Scale="Pixels" Uniqueid="" /> + + *-- OBJECTDATA items order determines ZOrder / El orden de los items OBJECTDATA determina el ZOrder + *< OBJECTDATA: ObjPath="Text1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="txtDate" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="cmdPick" UniqueID="" Timestamp="" /> + + * + *m: controlsource_assign + *m: loadcalendar + *m: value_access + *m: value_assign + *p: controlsource && Specifies the source of data to which an object is bound. + *p: idletime + *p: language + *p: opopup + *p: value && Specifies the current state of a control. + *p: _memberdata && XML Metadata for customizable properties + * + + HIDDEN _memberdata + PROTECTED opopup + * + BorderWidth = 0 + controlsource = + Height = 23 + idletime = 50 + language = EN + Name = "_datepicker" + opopup = .F. + value = {} + Width = 98 + _memberdata = + + + + + + * + + ADD OBJECT 'cmdPick' AS commandbutton WITH ; + BackColor = 255,255,255, ; + Caption = "", ; + Height = 21, ; + Left = 76, ; + Name = "cmdPick", ; + Picture = caldropdown.bmp, ; + SpecialEffect = 2, ; + TabStop = .F., ; + Top = 1, ; + Width = 21 + *< END OBJECT: BaseClass="commandbutton" /> + + ADD OBJECT 'Text1' AS textbox WITH ; + Height = 23, ; + Left = 0, ; + Name = "Text1", ; + TabStop = .F., ; + Top = 0, ; + Width = 98 + *< END OBJECT: BaseClass="textbox" /> + + ADD OBJECT 'txtDate' AS textbox WITH ; + Alignment = 3, ; + Format = "K", ; + Height = 23, ; + Left = 0, ; + Name = "txtDate", ; + Top = 0, ; + Value = {}, ; + Width = 76 + *< END OBJECT: BaseClass="textbox" /> + + HIDDEN PROCEDURE controlsource_assign + LPARAMETERS vNewVal + + WITH this + .ControlSource = m.vNewVal + .txtDate.ControlSource = m.vNewVal + ENDWITH + + ENDPROC + + PROCEDURE Init + WITH this + .txtDate.ControlSource = .ControlSource + ENDWITH + + ENDPROC + + PROCEDURE loadcalendar + this.oPopup = CREATEOBJECT("_calpopup", this, thisform) + IF !ISNULL(this.oPopup) + this.oPopup.IdleTime = this.IdleTime + this.oPopup.Language = this.Language + * this.oPopup.ShowForm(this.Left, this.Top + this.Height - 1) + this.oPopup.ShowForm(OBJTOCLIENT(this, 2), OBJTOCLIENT(this,1) + this.Height - 1) + ENDIF + + ENDPROC + + HIDDEN PROCEDURE value_access + WITH this + RETURN .txtDate.Value + ENDWITH + + ENDPROC + + HIDDEN PROCEDURE value_assign + LPARAMETERS vNewVal + + WITH this + .txtDate.Value = m.vNewVal + ENDWITH + + ENDPROC + + PROCEDURE cmdPick.Click + this.Parent.LoadCalendar() + + ENDPROC + + PROCEDURE Text1.When + RETURN .F. + + ENDPROC + + PROCEDURE txtDate.Init + WITH this + IF EMPTY(.Value) + .Value = DATE() + ENDIF + ENDWITH + + ENDPROC + +ENDDEFINE + +DEFINE CLASS _lblday AS label + *< CLASSDATA: Baseclass="label" Timestamp="" Scale="Pixels" Uniqueid="" /> + + * + Alignment = 2 + BackColor = 255,255,255 + Caption = "00" + FontName = "Tahoma" + FontSize = 8 + Height = 15 + Name = "_lblday" + Width = 15 + * + + PROCEDURE Click + WITH this.Parent + IF .Enabled + .Value = EVALUATE("{^"+TRANSFORM(LEFT(DTOS(.Value),6)+ALLTRIM(this.Caption), "@R 9999-99-99")+"}") + .Redraw() + .DayClick() + ENDIF + ENDWITH + + ENDPROC + + PROCEDURE MouseDown + LPARAMETERS nButton, nShift, nXCoord, nYCoord + + IF m.nButton == 1 + IF this.Parent.Enabled + this.BorderStyle = 1 + ENDIF + ENDIF + + ENDPROC + + PROCEDURE MouseMove + LPARAMETERS nButton, nShift, nXCoord, nYCoord + + IF this.Parent.Enabled + this.Parent.MouseMove(nButton, nShift, nXCoord, nYCoord) + ENDIF + + ENDPROC + + PROCEDURE MouseUp + LPARAMETERS nButton, nShift, nXCoord, nYCoord + + IF m.nButton == 1 + IF this.Parent.Enabled + this.BorderStyle = 0 + ENDIF + ENDIF + + ENDPROC + +ENDDEFINE diff --git a/utile/calendar/cal_arrow_down.png b/utile/calendar/cal_arrow_down.png new file mode 100644 index 0000000..cf44648 Binary files /dev/null and b/utile/calendar/cal_arrow_down.png differ diff --git a/utile/calendar/cal_arrow_left.png b/utile/calendar/cal_arrow_left.png new file mode 100644 index 0000000..b4c5873 Binary files /dev/null and b/utile/calendar/cal_arrow_left.png differ diff --git a/utile/calendar/cal_arrow_right.png b/utile/calendar/cal_arrow_right.png new file mode 100644 index 0000000..4391185 Binary files /dev/null and b/utile/calendar/cal_arrow_right.png differ diff --git a/utile/calendar/cal_arrow_up.png b/utile/calendar/cal_arrow_up.png new file mode 100644 index 0000000..c326fc8 Binary files /dev/null and b/utile/calendar/cal_arrow_up.png differ diff --git a/utile/chatbot/CLAUDE.md b/utile/chatbot/CLAUDE.md new file mode 100644 index 0000000..0013969 --- /dev/null +++ b/utile/chatbot/CLAUDE.md @@ -0,0 +1,42 @@ +# CLAUDE.md + +This file provides guidance to Claude Code (claude.ai/code) when working with code in this repository. + +## Project Overview + +This is a single-file chatbot application for Romfast technical support. The project consists of a standalone HTML file (`chatbot_maria.html`) that implements a full-featured chatbot interface using the Flowise embed library. + +## Architecture + +The chatbot integrates with a Flowise API backend hosted at `https://mutual-special-koala.ngrok-free.app` using chatflow ID `d4911620-07fe-41f8-adb4-f2f52d6ec766`. + +Key architectural components: +- **Flowise Integration**: Uses the Flowise embed library from CDN for the main chatbot functionality +- **Direct API Mode**: Supports URL parameter-based message handling that bypasses the chat interface and displays responses in a modal overlay +- **Dual Display Modes**: + - Standard chatbot widget with starter prompts + - Direct API response modal when `?message=` URL parameter is present + +## Key Features + +- **Maria ChatBot**: Romanian language technical support assistant for Romfast ROA system +- **URL Parameter Support**: Can accept initial messages via `?message=` URL parameter +- **Conditional UI**: Hides starter prompts when a direct message is provided +- **Chat History**: Saves conversation history to localStorage when transitioning from API mode to chat mode +- **Responsive Design**: Mobile-friendly layout with collapsible menu + +## Configuration + +The chatbot configuration is embedded in the JavaScript module: +- API Host: `https://mutual-special-koala.ngrok-free.app` +- Chatflow ID: `d4911620-07fe-41f8-adb4-f2f52d6ec766` +- Romanian language interface with predefined starter prompts about eFactura, SAFT declarations, and auto service workflows + +## Development Notes + +This is a static HTML file with no build process. To modify: +1. Edit `chatbot_maria.html` directly +2. Test by opening in a browser +3. For URL parameter testing, use format: `chatbot_maria.html?message=your%20message%20here` + +The application handles two distinct user flows based on URL parameters, switching between embedded chatbot widget and full-screen API response modal. \ No newline at end of file diff --git a/utile/chatbot/README.md b/utile/chatbot/README.md new file mode 100644 index 0000000..17556b8 --- /dev/null +++ b/utile/chatbot/README.md @@ -0,0 +1,128 @@ +# Chatbot Maria - Romfast Support + +Un chatbot de suport tehnic pentru sistemul ROA, construit cu Flowise embed. + +## FuncÈ›ionalități + +- **Chatbot integrat**: Interface de chat folosind Flowise embed library +- **Suport pentru URL parametri**: Permite trimiterea directă a mesajelor prin URL +- **Două moduri de afiÈ™are**: + - Chat widget standard cu prompt-uri predefinite + - Modal de răspuns direct pentru mesaje din URL +- **Gestionare robustă a caracterelor speciale**: Suport pentru URL-uri cu secvenÈ›e de encoding problematice + +## Testare + +### 1. Test de bază +Deschide fiÈ™ierul direct în browser: +``` +chatbot_maria.html +``` + +### 2. Test cu mesaj din URL +Testează funcÈ›ia de mesaj direct prin URL: +``` +chatbot_maria.html?message=Cum%20se%20actualizeaza%20tokenul%20eFactura? +``` + +### 3. Test cu caractere speciale +Testează cu mesaje care conÈ›in caractere speciale (cazul problematic): +``` +chatbot_maria.html?message=F:%20Header%20(1)%20sectiune%20Company%20(1)%20sectiune%20BankAccount%20(1)%20eroare%20structura:%20grupul%20%27%BankAccount_choice0%27%20ar%20fi%20trebuit%20sa%20apara%20de%20minimum%201%20ori,%20dar%20apare%20efectiv%20de%200%20ori +``` + +### 4. Debugging în Browser + +Pentru a vedea ce se întâmplă în timpul testării: + +1. **Deschide Developer Tools**: F12 în browser +2. **Mergi la tab-ul Console** +3. **ÃŽncarcă pagina cu parametrul URL** +4. **Monitorizează log-urile**: + - `"Parametru decodat cu URLSearchParams:"` - prima încercare + - `"Valoare brută din URL (fallback):"` - dacă URLSearchParams nu funcÈ›ionează + - `"Parametru decodat cu metoda sigură:"` - rezultatul final + - `"Se trimite mesajul direct prin API:"` - confirmă că mesajul e trimis + - `"Status răspuns:"` - codul de răspuns al API-ului + - `"Răspuns primit de la API:"` - răspunsul de la chatbot + +### 5. Verificare FuncÈ›ionalitate + +**Testul a reuÈ™it dacă**: +- ✅ Nu vezi erori "URI malformed" în console +- ✅ Vezi mesajul decodat în console +- ✅ Vezi "Se trimite mesajul direct prin API" +- ✅ Vezi răspunsul API în modal + +**Semnale de probleme**: +- ⌠"Eroare la decodarea parametrului URL" +- ⌠"URI malformed" +- ⌠Pagina nu afiÈ™ează nimic +- ⌠Request-ul API eÈ™uează cu timeout + +### 6. Testare Offline + +PoÈ›i testa funcÈ›iile de decodificare fără server: + +1. **Deschide Developer Tools** (F12) +2. **Mergi la tab-ul Console** +3. **Testează manual funcÈ›iile**: + +```javascript +// Test URLSearchParams +const urlParams = new URLSearchParams("?message=test%20cu%20caractere%20speciale"); +console.log(urlParams.get('message')); + +// Test cu URL problematic +const problematicUrl = "?message=F:%20Header%20(1)%20sectiune%20Company%20(1)%20sectiune%20BankAccount%20(1)%20eroare%20structura:%20grupul%20%27%BankAccount_choice0%27%20ar%20fi%20trebuit%20sa%20apara%20de%20minimum%201%20ori,%20dar%20apare%20efectiv%20de%200%20ori"; +const testParams = new URLSearchParams(problematicUrl); +console.log(testParams.get('message')); +``` + +## Configurare API + +Chatbot-ul se conectează la: +- **API Host**: `https://mutual-special-koala.ngrok-free.app` +- **Chatflow ID**: `d4911620-07fe-41f8-adb4-f2f52d6ec766` + +Pentru modificare, editează valorile în secÈ›iunea JavaScript: +```javascript +const apiHost = "https://mutual-special-koala.ngrok-free.app"; +const chatflowId = "d4911620-07fe-41f8-adb4-f2f52d6ec766"; +``` + +## Troubleshooting + +### Problema: "URI malformed" +**SoluÈ›ie**: Implementarea actuală gestionează automat această problemă prin decodificare sigură chunk-by-chunk. + +### Problema: API nu răspunde +**Verificări**: +1. API host-ul este accesibil +2. Chatflow ID-ul este corect +3. Conexiunea la internet funcÈ›ionează +4. Nu sunt blocate request-urile CORS + +### Problema: Pagina nu se încarcă +**Verificări**: +1. FiÈ™ierul HTML este valid +2. CDN-ul Flowise este accesibil: `https://cdn.jsdelivr.net/npm/flowise-embed/dist/web.js` +3. Nu sunt erori JavaScript în console + +### Problema: Mesajul nu se trimite +**Verificări**: +1. Parametrul URL este corect +2. Mesajul nu este gol după decodificare +3. API-ul acceptă request-ul +4. Nu sunt erori de timeout (30 secunde) + +## Prompt-uri Predefinite + +Chatbot-ul afiÈ™ează următoarele prompt-uri standard când nu este specificat un mesaj în URL: + +- Cum se actualizeaza tokenul eFactura? +- Cand se completeaza codul de plata pentru declaratia SAFT? +- Care sunt pasii pentru emiterea unei facturi service auto? +- Cum se valideaza o comanda service auto? +- Cum se deschide o comanda service auto? +- Cum se modifica datele initiale ale unei comenzi service auto? \ No newline at end of file diff --git a/utile/chatbot/Romfast Chatflow Flowise.json b/utile/chatbot/Romfast Chatflow Flowise.json new file mode 100644 index 0000000..a45be6d --- /dev/null +++ b/utile/chatbot/Romfast Chatflow Flowise.json @@ -0,0 +1,374 @@ +{ + "nodes": [ + { + "id": "groqChat_0", + "position": { + "x": -853.9751777873863, + "y": 729.9149966558168 + }, + "type": "customNode", + "data": { + "id": "groqChat_0", + "label": "GroqChat", + "version": 3, + "name": "groqChat", + "type": "GroqChat", + "baseClasses": [ + "GroqChat", + "BaseChatModel", + "BaseLanguageModel", + "Runnable" + ], + "category": "Chat Models", + "description": "Wrapper around Groq API with LPU Inference Engine", + "inputParams": [ + { + "label": "Connect Credential", + "name": "credential", + "type": "credential", + "credentialNames": [ + "groqApi" + ], + "optional": true, + "id": "groqChat_0-input-credential-credential" + }, + { + "label": "Model Name", + "name": "modelName", + "type": "asyncOptions", + "loadMethod": "listModels", + "placeholder": "llama3-70b-8192", + "id": "groqChat_0-input-modelName-asyncOptions" + }, + { + "label": "Temperature", + "name": "temperature", + "type": "number", + "step": 0.1, + "default": 0.9, + "optional": true, + "id": "groqChat_0-input-temperature-number" + } + ], + "inputAnchors": [ + { + "label": "Cache", + "name": "cache", + "type": "BaseCache", + "optional": true, + "id": "groqChat_0-input-cache-BaseCache" + } + ], + "inputs": { + "cache": "", + "modelName": "meta-llama/llama-4-scout-17b-16e-instruct", + "temperature": "0.3" + }, + "outputAnchors": [ + { + "id": "groqChat_0-output-groqChat-GroqChat|BaseChatModel|BaseLanguageModel|Runnable", + "name": "groqChat", + "label": "GroqChat", + "description": "Wrapper around Groq API with LPU Inference Engine", + "type": "GroqChat | BaseChatModel | BaseLanguageModel | Runnable" + } + ], + "outputs": {}, + "selected": false + }, + "width": 300, + "height": 521, + "selected": false, + "positionAbsolute": { + "x": -853.9751777873863, + "y": 729.9149966558168 + }, + "dragging": false + }, + { + "id": "bufferWindowMemory_0", + "position": { + "x": -462.951092583539, + "y": 592.4237789688921 + }, + "type": "customNode", + "data": { + "id": "bufferWindowMemory_0", + "label": "Buffer Window Memory", + "version": 2, + "name": "bufferWindowMemory", + "type": "BufferWindowMemory", + "baseClasses": [ + "BufferWindowMemory", + "BaseChatMemory", + "BaseMemory" + ], + "category": "Memory", + "description": "Uses a window of size k to surface the last k back-and-forth to use as memory", + "inputParams": [ + { + "label": "Size", + "name": "k", + "type": "number", + "default": "4", + "description": "Window of size k to surface the last k back-and-forth to use as memory.", + "id": "bufferWindowMemory_0-input-k-number" + }, + { + "label": "Session Id", + "name": "sessionId", + "type": "string", + "description": "If not specified, a random id will be used. Learn more", + "default": "", + "optional": true, + "additionalParams": true, + "id": "bufferWindowMemory_0-input-sessionId-string" + }, + { + "label": "Memory Key", + "name": "memoryKey", + "type": "string", + "default": "chat_history", + "additionalParams": true, + "id": "bufferWindowMemory_0-input-memoryKey-string" + } + ], + "inputAnchors": [], + "inputs": { + "k": "5", + "sessionId": "", + "memoryKey": "chat_history" + }, + "outputAnchors": [ + { + "id": "bufferWindowMemory_0-output-bufferWindowMemory-BufferWindowMemory|BaseChatMemory|BaseMemory", + "name": "bufferWindowMemory", + "label": "BufferWindowMemory", + "description": "Uses a window of size k to surface the last k back-and-forth to use as memory", + "type": "BufferWindowMemory | BaseChatMemory | BaseMemory" + } + ], + "outputs": {}, + "selected": false + }, + "width": 300, + "height": 331, + "positionAbsolute": { + "x": -462.951092583539, + "y": 592.4237789688921 + }, + "selected": false, + "dragging": false + }, + { + "id": "documentStoreVS_0", + "position": { + "x": -502.4400397551632, + "y": 1058.8723425753983 + }, + "type": "customNode", + "data": { + "id": "documentStoreVS_0", + "label": "Document Store (Vector)", + "version": 1, + "name": "documentStoreVS", + "type": "DocumentStoreVS", + "baseClasses": [ + "DocumentStoreVS" + ], + "category": "Vector Stores", + "description": "Search and retrieve documents from Document Store", + "inputParams": [ + { + "label": "Select Store", + "name": "selectedStore", + "type": "asyncOptions", + "loadMethod": "listStores", + "id": "documentStoreVS_0-input-selectedStore-asyncOptions" + } + ], + "inputAnchors": [], + "inputs": { + "selectedStore": "ed308d4d-bb05-480c-b399-d17edf5c0302" + }, + "outputAnchors": [ + { + "name": "output", + "label": "Output", + "type": "options", + "description": "", + "options": [ + { + "id": "documentStoreVS_0-output-retriever-BaseRetriever", + "name": "retriever", + "label": "Retriever", + "description": "", + "type": "BaseRetriever" + }, + { + "id": "documentStoreVS_0-output-vectorStore-VectorStore", + "name": "vectorStore", + "label": "Vector Store", + "description": "", + "type": "VectorStore" + } + ], + "default": "retriever" + } + ], + "outputs": { + "output": "retriever" + }, + "selected": false + }, + "width": 300, + "height": 312, + "positionAbsolute": { + "x": -502.4400397551632, + "y": 1058.8723425753983 + }, + "selected": false, + "dragging": false + }, + { + "id": "conversationalRetrievalQAChain_0", + "position": { + "x": -74.84182984134901, + "y": 846.5506790761656 + }, + "type": "customNode", + "data": { + "id": "conversationalRetrievalQAChain_0", + "label": "Conversational Retrieval QA Chain", + "version": 3, + "name": "conversationalRetrievalQAChain", + "type": "ConversationalRetrievalQAChain", + "baseClasses": [ + "ConversationalRetrievalQAChain", + "BaseChain", + "Runnable" + ], + "category": "Chains", + "description": "Document QA - built on RetrievalQAChain to provide a chat history component", + "inputParams": [ + { + "label": "Return Source Documents", + "name": "returnSourceDocuments", + "type": "boolean", + "optional": true, + "id": "conversationalRetrievalQAChain_0-input-returnSourceDocuments-boolean" + }, + { + "label": "Rephrase Prompt", + "name": "rephrasePrompt", + "type": "string", + "description": "Using previous chat history, rephrase question into a standalone question", + "warning": "Prompt must include input variables: {chat_history} and {question}", + "rows": 4, + "additionalParams": true, + "optional": true, + "default": "Given the following conversation and a follow up question, rephrase the follow up question to be a standalone question.\n\nChat History:\n{chat_history}\nFollow Up Input: {question}\nStandalone Question:", + "id": "conversationalRetrievalQAChain_0-input-rephrasePrompt-string" + }, + { + "label": "Response Prompt", + "name": "responsePrompt", + "type": "string", + "description": "Taking the rephrased question, search for answer from the provided context", + "warning": "Prompt must include input variable: {context}", + "rows": 4, + "additionalParams": true, + "optional": true, + "default": "I want you to act as a document that I am having a conversation with. Your name is \"AI Assistant\". Using the provided context, answer the user's question to the best of your ability using the resources provided.\nIf there is nothing in the context relevant to the question at hand, just say \"Hmm, I'm not sure\" and stop after that. Refuse to answer any question not about the info. Never break character.\n------------\n{context}\n------------\nREMEMBER: If there is no relevant information within the context, just say \"Hmm, I'm not sure\". Don't try to make up an answer. Never break character.", + "id": "conversationalRetrievalQAChain_0-input-responsePrompt-string" + } + ], + "inputAnchors": [ + { + "label": "Chat Model", + "name": "model", + "type": "BaseChatModel", + "id": "conversationalRetrievalQAChain_0-input-model-BaseChatModel" + }, + { + "label": "Vector Store Retriever", + "name": "vectorStoreRetriever", + "type": "BaseRetriever", + "id": "conversationalRetrievalQAChain_0-input-vectorStoreRetriever-BaseRetriever" + }, + { + "label": "Memory", + "name": "memory", + "type": "BaseMemory", + "optional": true, + "description": "If left empty, a default BufferMemory will be used", + "id": "conversationalRetrievalQAChain_0-input-memory-BaseMemory" + }, + { + "label": "Input Moderation", + "description": "Detect text that could generate harmful output and prevent it from being sent to the language model", + "name": "inputModeration", + "type": "Moderation", + "optional": true, + "list": true, + "id": "conversationalRetrievalQAChain_0-input-inputModeration-Moderation" + } + ], + "inputs": { + "model": "{{groqChat_0.data.instance}}", + "vectorStoreRetriever": "{{documentStoreVS_0.data.instance}}", + "memory": "{{bufferWindowMemory_0.data.instance}}", + "returnSourceDocuments": false, + "rephrasePrompt": "Given the following conversation and a follow up question, rephrase the follow up question to be a standalone question.\n\nChat History:\n{chat_history}\nFollow Up Input: {question}\nStandalone Question:", + "responsePrompt": "I want you to act as a technical support person for ROA, an ERP developed by Romfast company. You have access to the documents from your context, Your name is \"Maria\". Using the provided context and your general knowledge, answer the user's question to the best of your ability using the resources provided. I want you to give the answer for the program users, nontechnical, not for the programmer. I don't want to solve program errors, but to help users to solve their problems.\nKeep the answer as short as possible, but descriptive. Don't repeat the problem in your answer. You can make light jokes and greet people in funny ways. Never break character. don't greet the user on every message.\n------------\n{context}\n------------\nREMEMBER: If there is no relevant information within the context, just say \"Hmm, nu am informaÈ›ii despre acest subiect.\" and ask the user if he wishes for you to try to answer anyway. Don't try to make up an answer. Don't make up answers that aren't in the context. Never break character, unless the user writes the secret password: mariamaria\n\nAnswer only in Romanian and writes all the answers without diacritics. Write without diacritics and for the answers from the knowledge database.", + "inputModeration": "" + }, + "outputAnchors": [ + { + "id": "conversationalRetrievalQAChain_0-output-conversationalRetrievalQAChain-ConversationalRetrievalQAChain|BaseChain|Runnable", + "name": "conversationalRetrievalQAChain", + "label": "ConversationalRetrievalQAChain", + "description": "Document QA - built on RetrievalQAChain to provide a chat history component", + "type": "ConversationalRetrievalQAChain | BaseChain | Runnable" + } + ], + "outputs": {}, + "selected": false + }, + "width": 300, + "height": 532, + "selected": false, + "dragging": false, + "positionAbsolute": { + "x": -74.84182984134901, + "y": 846.5506790761656 + } + } + ], + "edges": [ + { + "source": "documentStoreVS_0", + "sourceHandle": "documentStoreVS_0-output-retriever-BaseRetriever", + "target": "conversationalRetrievalQAChain_0", + "targetHandle": "conversationalRetrievalQAChain_0-input-vectorStoreRetriever-BaseRetriever", + "type": "buttonedge", + "id": "documentStoreVS_0-documentStoreVS_0-output-retriever-BaseRetriever-conversationalRetrievalQAChain_0-conversationalRetrievalQAChain_0-input-vectorStoreRetriever-BaseRetriever" + }, + { + "source": "bufferWindowMemory_0", + "sourceHandle": "bufferWindowMemory_0-output-bufferWindowMemory-BufferWindowMemory|BaseChatMemory|BaseMemory", + "target": "conversationalRetrievalQAChain_0", + "targetHandle": "conversationalRetrievalQAChain_0-input-memory-BaseMemory", + "type": "buttonedge", + "id": "bufferWindowMemory_0-bufferWindowMemory_0-output-bufferWindowMemory-BufferWindowMemory|BaseChatMemory|BaseMemory-conversationalRetrievalQAChain_0-conversationalRetrievalQAChain_0-input-memory-BaseMemory" + }, + { + "source": "groqChat_0", + "sourceHandle": "groqChat_0-output-groqChat-GroqChat|BaseChatModel|BaseLanguageModel|Runnable", + "target": "conversationalRetrievalQAChain_0", + "targetHandle": "conversationalRetrievalQAChain_0-input-model-BaseChatModel", + "type": "buttonedge", + "id": "groqChat_0-groqChat_0-output-groqChat-GroqChat|BaseChatModel|BaseLanguageModel|Runnable-conversationalRetrievalQAChain_0-conversationalRetrievalQAChain_0-input-model-BaseChatModel" + } + ] +} \ No newline at end of file diff --git a/utile/chatbot/before_after_test.js b/utile/chatbot/before_after_test.js new file mode 100644 index 0000000..4e82377 --- /dev/null +++ b/utile/chatbot/before_after_test.js @@ -0,0 +1,146 @@ +// Before and After Comparison Test +console.log("=== BEFORE vs AFTER: URL Parameter Decoding ===\n"); + +const problematicSearch = "?message=F:%20Header%20(1)%20sectiune%20Company%20(1)%20sectiune%20BankAccount%20(1)%20eroare%20structura:%20grupul%20%27%BankAccount_choice0%27%20ar%20fi%20trebuit%20sa%20apara%20de%20minimum%201%20ori,%20dar%20apare%20efectiv%20de%200%20ori"; + +// OLD IMPLEMENTATION (with the problematic line) +function oldGetUrlParameter(name, searchString) { + try { + const urlParams = new URLSearchParams(searchString); + const value = urlParams.get(name); + + if (value === null) { + return ''; + } + + return value; + } catch (error) { + // Old problematic fallback + try { + name = name.replace(/[\[]/, '\\[').replace(/[\]]/, '\\]'); + var regex = new RegExp('[\\?&]' + name + '=([^&#]*)'); + var results = regex.exec(searchString); + + if (results === null) { + return ''; + } + + let rawValue = results[1]; + + // THIS IS THE PROBLEMATIC PART - corrupts %B sequences + let cleaned = rawValue + .replace(/\+/g, ' ') + .replace(/%20/g, ' ') + .replace(/%27/g, "'") + .replace(/%28/g, "(") + .replace(/%29/g, ")") + .replace(/%3A/g, ":") + .replace(/%2C/g, ",") + .replace(/%([\dA-Fa-f])/g, '$1') // PROBLEM: Replaces %B with B + .replace(/%/g, ''); // Removes remaining % + + return cleaned; + } catch (fallbackError) { + return ''; + } + } +} + +// NEW IMPLEMENTATION (improved) +function newGetUrlParameter(name, searchString) { + try { + const urlParams = new URLSearchParams(searchString); + const value = urlParams.get(name); + + if (value === null) { + return ''; + } + + return value; + } catch (error) { + // Improved safe fallback + try { + name = name.replace(/[\[]/, '\\[').replace(/[\]]/, '\\]'); + var regex = new RegExp('[\\?&]' + name + '=([^&#]*)'); + var results = regex.exec(searchString); + + if (results === null) { + return ''; + } + + let rawValue = results[1]; + + // Safe decode function + function safeDecodeURIComponent(str) { + str = str.replace(/\+/g, ' '); + + const chunks = str.split('%'); + let result = chunks[0]; + + for (let i = 1; i < chunks.length; i++) { + const chunk = chunks[i]; + if (chunk.length >= 2) { + const hexCode = chunk.substring(0, 2); + const rest = chunk.substring(2); + + if (/^[0-9A-Fa-f]{2}$/.test(hexCode)) { + try { + result += decodeURIComponent('%' + hexCode) + rest; + } catch (e) { + result += '%' + chunk; + } + } else { + // IMPROVEMENT: Preserves invalid sequences like %B + result += '%' + chunk; + } + } else { + result += '%' + chunk; + } + } + + return result; + } + + return safeDecodeURIComponent(rawValue); + + } catch (fallbackError) { + return ''; + } + } +} + +// Test both implementations +console.log("Problematic URL search parameter:"); +console.log(problematicSearch); +console.log(); + +console.log("=== OLD IMPLEMENTATION RESULT ==="); +try { + const oldResult = oldGetUrlParameter('message', problematicSearch); + console.log("✅ Success (but corrupted content):"); + console.log(oldResult); + console.log(); + console.log("🔠Notice: '%BankAccount_choice0' became 'BankAccount_choice0' (lost the %B)"); +} catch (error) { + console.log("⌠Failed:"); + console.log(error.message); +} +console.log(); + +console.log("=== NEW IMPLEMENTATION RESULT ==="); +try { + const newResult = newGetUrlParameter('message', problematicSearch); + console.log("✅ Success (with preserved content):"); + console.log(newResult); + console.log(); + console.log("🔠Notice: '%BankAccount_choice0' is preserved correctly"); +} catch (error) { + console.log("⌠Failed:"); + console.log(error.message); +} +console.log(); + +console.log("=== SUMMARY ==="); +console.log("OLD: Corrupts %B sequences by converting them to single characters"); +console.log("NEW: Preserves %B sequences as they are, preventing data loss"); +console.log("BENEFIT: No more URI malformed errors and accurate message content"); \ No newline at end of file diff --git a/utile/chatbot/chatbot.html b/utile/chatbot/chatbot.html new file mode 100644 index 0000000..cd7782f --- /dev/null +++ b/utile/chatbot/chatbot.html @@ -0,0 +1,195 @@ + + + + + RomFast - Contact + + + + + + + + + \ No newline at end of file diff --git a/utile/chatbot/chatbot_maria.html b/utile/chatbot/chatbot_maria.html new file mode 100644 index 0000000..66741f7 --- /dev/null +++ b/utile/chatbot/chatbot_maria.html @@ -0,0 +1,1262 @@ + + + + + + Maria ChatBot - Romfast Suport + + + + + + + + + + + + + + + + + + + + + +
    + +
    + + +
    + + +
    + + +
    + +
    +
    +
    + + +
    +
    +
    +

    © 2025 Romfast. Toate drepturile rezervate.

    +

    ROA - Romfast Applications - Sisteme informatice pentru managementul afacerii

    +
    +
    +
    + + + + + + + \ No newline at end of file diff --git a/utile/chatbot/comprehensive_test.js b/utile/chatbot/comprehensive_test.js new file mode 100644 index 0000000..82cb8f8 --- /dev/null +++ b/utile/chatbot/comprehensive_test.js @@ -0,0 +1,119 @@ +// Comprehensive test to verify the URL decoding fix +console.log("=== COMPREHENSIVE URL DECODING TEST ===\n"); + +// Test the exact problematic URL from the user +const testURL = "https://www.romfast.ro/chatbot_maria.html?message=F:%20Header%20(1)%20sectiune%20Company%20(1)%20sectiune%20BankAccount%20(1)%20eroare%20structura:%20grupul%20%27%BankAccount_choice0%27%20ar%20fi%20trebuit%20sa%20apara%20de%20minimum%201%20ori,%20dar%20apare%20efectiv%20de%200%20ori"; + +console.log("Testing with the exact problematic URL:"); +console.log(testURL); +console.log(); + +// Extract the search params +const url = new URL(testURL); +const searchParams = url.search; +console.log("Search parameters:", searchParams); +console.log(); + +// Test different approaches +console.log("=== METHOD 1: URLSearchParams (Browser Native) ==="); +try { + const params = new URLSearchParams(searchParams); + const message = params.get('message'); + console.log("✅ SUCCESS - URLSearchParams handled it:"); + console.log("Result:", message); + console.log("Length:", message.length); + console.log("Contains replacement char:", message.includes('�')); +} catch (error) { + console.log("⌠FAILED - URLSearchParams error:"); + console.log("Error:", error.message); +} +console.log(); + +console.log("=== METHOD 2: decodeURIComponent (Direct) ==="); +try { + const rawParam = searchParams.match(/message=([^&]*)/)?.[1] || ''; + const decoded = decodeURIComponent(rawParam); + console.log("✅ SUCCESS - decodeURIComponent worked:"); + console.log("Result:", decoded); +} catch (error) { + console.log("⌠FAILED - decodeURIComponent error:"); + console.log("Error:", error.message); + console.log("This is the 'URI malformed' error you were experiencing!"); +} +console.log(); + +console.log("=== METHOD 3: Our Improved Safe Decoder ==="); +function safeDecodeURIComponent(str) { + // First replace + with spaces + str = str.replace(/\+/g, ' '); + + // Process % sequences chunk by chunk + const chunks = str.split('%'); + let result = chunks[0]; // First chunk is never encoded + + for (let i = 1; i < chunks.length; i++) { + const chunk = chunks[i]; + if (chunk.length >= 2) { + const hexCode = chunk.substring(0, 2); + const rest = chunk.substring(2); + + // Check if it's a valid hex code + if (/^[0-9A-Fa-f]{2}$/.test(hexCode)) { + try { + result += decodeURIComponent('%' + hexCode) + rest; + } catch (e) { + // If decoding fails, keep the original + result += '%' + chunk; + } + } else { + // Invalid hex code (like %B), keep as is + result += '%' + chunk; + } + } else { + // Incomplete code, keep as is + result += '%' + chunk; + } + } + + return result; +} + +try { + const rawParam = searchParams.match(/message=([^&]*)/)?.[1] || ''; + const decoded = safeDecodeURIComponent(rawParam); + console.log("✅ SUCCESS - Safe decoder worked:"); + console.log("Result:", decoded); + console.log("Preserved %B sequence:", decoded.includes('%B')); +} catch (error) { + console.log("⌠FAILED - Safe decoder error:"); + console.log("Error:", error.message); +} +console.log(); + +console.log("=== ANALYSIS ==="); +console.log("1. URLSearchParams DOES work, but converts %B to replacement character (�)"); +console.log("2. decodeURIComponent FAILS with 'URI malformed' error on %B"); +console.log("3. Our safe decoder PRESERVES the %B sequence intact"); +console.log(); + +console.log("=== THE ACTUAL ISSUE ==="); +console.log("The %B in your URL is not valid URL encoding because:"); +console.log("- Valid URL encoding requires two hex digits: %XX"); +console.log("- %B only has one hex digit"); +console.log("- This should probably be %0B (vertical tab) or %42 (letter 'B')"); +console.log(); + +console.log("=== THE SOLUTION ==="); +console.log("✅ Updated chatbot_maria.html with improved getUrlParameter function"); +console.log("✅ Function now handles invalid URL sequences gracefully"); +console.log("✅ No more 'URI malformed' errors"); +console.log("✅ Message content is preserved accurately"); +console.log(); + +console.log("=== EXPECTED BEHAVIOR ==="); +console.log("When you load the problematic URL, the chatbot will now:"); +console.log("1. First try URLSearchParams (which works but gives replacement char)"); +console.log("2. Use the decoded message from URLSearchParams"); +console.log("3. If URLSearchParams failed, fall back to safe decoder"); +console.log("4. Send the message to the API successfully"); +console.log("5. Display the response without errors"); \ No newline at end of file diff --git a/utile/chatbot/test_final_solution.html b/utile/chatbot/test_final_solution.html new file mode 100644 index 0000000..cfbdffa --- /dev/null +++ b/utile/chatbot/test_final_solution.html @@ -0,0 +1,263 @@ + + + + + Final Solution Test - URL Parameter Decoding + + + +

    Final Solution Test - URL Parameter Decoding

    +

    Testing the improved URL parameter decoding function that handles the %B issue gracefully.

    + +
    +

    Test Cases

    +
    +
    + +
    +

    Summary

    +
    +
    + + + + \ No newline at end of file diff --git a/utile/chatbot/url_decoding_test.js b/utile/chatbot/url_decoding_test.js new file mode 100644 index 0000000..6f1b756 --- /dev/null +++ b/utile/chatbot/url_decoding_test.js @@ -0,0 +1,164 @@ +// URL Parameter Decoding Test Script +// Tests the problematic URL with %B character and various decoding methods + +console.log("=== URL Parameter Decoding Test ===\n"); + +// The problematic URL from the user's request +const problematicUrl = "https://www.romfast.ro/chatbot_maria.html?message=F:%20Header%20(1)%20sectiune%20Company%20(1)%20sectiune%20BankAccount%20(1)%20eroare%20structura:%20grupul%20%27%BankAccount_choice0%27%20ar%20fi%20trebuit%20sa%20apara%20de%20minimum%201%20ori,%20dar%20apare%20efectiv%20de%200%20ori"; + +console.log("Problematic URL:"); +console.log(problematicUrl); +console.log(); + +// Extract the query string +const urlObj = new URL(problematicUrl); +const queryString = urlObj.search; +const messageParam = queryString.match(/message=([^&]*)/)?.[1] || ''; + +console.log("Extracted message parameter (raw):"); +console.log(messageParam); +console.log(); + +// Test Method 1: URLSearchParams (this should fail with the %B issue) +console.log("=== Test 1: URLSearchParams method ==="); +try { + const searchParams = new URLSearchParams(queryString); + const decodedMessage1 = searchParams.get('message'); + console.log("✅ SUCCESS with URLSearchParams:"); + console.log(decodedMessage1); +} catch (error) { + console.log("⌠FAILED with URLSearchParams:"); + console.log("Error:", error.message); +} +console.log(); + +// Test Method 2: decodeURIComponent (this should also fail) +console.log("=== Test 2: decodeURIComponent method ==="); +try { + const decodedMessage2 = decodeURIComponent(messageParam); + console.log("✅ SUCCESS with decodeURIComponent:"); + console.log(decodedMessage2); +} catch (error) { + console.log("⌠FAILED with decodeURIComponent:"); + console.log("Error:", error.message); +} +console.log(); + +// Test Method 3: Manual decoding with character replacement (current fallback method) +console.log("=== Test 3: Manual decoding with replacement ==="); +try { + let manualDecoded = messageParam + .replace(/\+/g, ' ') + .replace(/%20/g, ' ') + .replace(/%27/g, "'") + .replace(/%28/g, "(") + .replace(/%29/g, ")") + .replace(/%3A/g, ":") + .replace(/%2C/g, ",") + .replace(/%([\dA-Fa-f])/g, '$1') // This line is problematic - replaces %B with B + .replace(/%/g, ''); // Removes remaining % + + console.log("✅ SUCCESS with manual decoding:"); + console.log(manualDecoded); + console.log("âš ï¸ NOTE: This method corrupts %B sequences!"); +} catch (error) { + console.log("⌠FAILED with manual decoding:"); + console.log("Error:", error.message); +} +console.log(); + +// Test Method 4: Improved manual decoding (recommended fix) +console.log("=== Test 4: Improved manual decoding (RECOMMENDED) ==="); +try { + // First, handle known safe replacements + let improvedDecoded = messageParam + .replace(/\+/g, ' ') + .replace(/%20/g, ' ') + .replace(/%27/g, "'") + .replace(/%28/g, "(") + .replace(/%29/g, ")") + .replace(/%3A/g, ":") + .replace(/%2C/g, ","); + + // Then handle invalid sequences by removing them entirely or replacing with safe characters + // %B is not a valid URL encoding (should be %0B for vertical tab or something else) + improvedDecoded = improvedDecoded + .replace(/%[^0-9A-Fa-f]/g, '') // Remove invalid % sequences that don't have valid hex + .replace(/%[0-9A-Fa-f]$/g, '') // Remove incomplete % sequences at end + .replace(/%([0-9A-Fa-f])(?![0-9A-Fa-f])/g, '$1'); // Convert single hex digit sequences + + console.log("✅ SUCCESS with improved manual decoding:"); + console.log(improvedDecoded); +} catch (error) { + console.log("⌠FAILED with improved manual decoding:"); + console.log("Error:", error.message); +} +console.log(); + +// Test Method 5: Safe decoding with chunk processing +console.log("=== Test 5: Safe chunk-by-chunk decoding ==="); +try { + function safeDecodeURIComponent(str) { + // Split by % and process each chunk + const chunks = str.split('%'); + let result = chunks[0]; // First chunk is never encoded + + for (let i = 1; i < chunks.length; i++) { + const chunk = chunks[i]; + if (chunk.length >= 2) { + const hexCode = chunk.substring(0, 2); + const rest = chunk.substring(2); + + // Check if it's a valid hex code + if (/^[0-9A-Fa-f]{2}$/.test(hexCode)) { + try { + result += decodeURIComponent('%' + hexCode) + rest; + } catch (e) { + // If decoding fails, keep the original + result += '%' + chunk; + } + } else { + // Invalid hex code, keep as is + result += '%' + chunk; + } + } else { + // Incomplete code, keep as is + result += '%' + chunk; + } + } + + return result; + } + + const safeDecoded = safeDecodeURIComponent(messageParam); + console.log("✅ SUCCESS with safe chunk decoding:"); + console.log(safeDecoded); +} catch (error) { + console.log("⌠FAILED with safe chunk decoding:"); + console.log("Error:", error.message); +} +console.log(); + +// Analysis of the %B issue +console.log("=== Analysis of the %B issue ==="); +console.log("The sequence '%B' in the URL is problematic because:"); +console.log("1. It's not a valid URL encoding (missing second hex digit)"); +console.log("2. URLSearchParams and decodeURIComponent expect %XX format"); +console.log("3. %B should probably be %0B (vertical tab) or %42 (letter B) or escaped as %25B"); +console.log(); + +// Show where the issue occurs in the original message +const problemIndex = messageParam.indexOf('%B'); +if (problemIndex !== -1) { + console.log("The %B sequence appears at position:", problemIndex); + console.log("Context around %B:"); + const start = Math.max(0, problemIndex - 20); + const end = Math.min(messageParam.length, problemIndex + 20); + console.log("...", messageParam.substring(start, end), "..."); + console.log(" ", " ".repeat(problemIndex - start) + "^^^ HERE"); +} +console.log(); + +console.log("=== Recommended Solution ==="); +console.log("Update the getUrlParameter function in chatbot_maria.html to use Method 5 (Safe chunk-by-chunk decoding)"); +console.log("This will handle invalid URL encoding sequences gracefully without throwing errors."); \ No newline at end of file diff --git a/utile/chatbot/url_test.html b/utile/chatbot/url_test.html new file mode 100644 index 0000000..03cd485 --- /dev/null +++ b/utile/chatbot/url_test.html @@ -0,0 +1,249 @@ + + + + + URL Parameter Decoding Test + + + +

    URL Parameter Decoding Test

    +

    Testing the problematic URL with %B character that causes "URI malformed" errors.

    + +
    +

    Test URL

    +
    +
    + +
    +

    Current Implementation (from chatbot_maria.html)

    +
    +
    + +
    +

    Improved Implementation (Recommended Fix)

    +
    +
    + +
    +

    Comparison

    +
    +
    + + + + \ No newline at end of file diff --git a/utile/ctl32/ThemedControlsHelp.htm b/utile/ctl32/ThemedControlsHelp.htm new file mode 100644 index 0000000..01ae1b1 --- /dev/null +++ b/utile/ctl32/ThemedControlsHelp.htm @@ -0,0 +1,85 @@ + +A simple guide on how to use ThemedControls + + +

    Add the following files to your project:

    +
      +
    • Text files from Other tab in Project Manager
      Ctl32.h (mark it as "Excluded" from your project)
      ThemedControls.h (mark it as "Excluded" from your project)
      Themes.xml (mark it as "Excluded" from your project)
      *** Don't forget to distribute these xml file together with your application! ***

      +
    • Applications from Code tab in Project Manager
      System.app (GDIPlusX from VFPX)
      *** Don't forget to distribute these app file together with your application! ***

      +
    • Programs from Code tab in Project Manager
      Ctl32.prg
      Ctl32_Api.prg
      Ctl32_Classes.prg
      Ctl32_Functions.prg
      Ctl32_Structures.prg
      Ctl32_Vfp2c32.prg

      +
    • Classes tab in Project Manager
      Buttons.vcx
      Ctl32.vcx
      ExplorerBar.vcx
      OutlookNavBar.vcx
      ThemedControls.vcx
      ThemedControlsBuilders.vcx (mark it as "Excluded" from your project)
      ToolBox.vcx
      VFPX.vcx
      ZoomNavBar.vcx
      *** Don't use controls from Buttons.vcx, ExplorerBar.vcx, OutlookNavBar.vcx, ToolBox.vcx and ZoomNavBar.vcx directly because they are base classes. Use the subclassed controls in ThemedControls.vcx. ***
    +

     

    +

    Before use any ThemedControl:

    +

    ThemesManager and BindWindowsEventsProxy objects used to handle themes are created automatically, but you need to destroy them before finish your application.

    +
    +

    * Destroy ThemesManager object
    If Vartype(_Screen.ThemesManager)=="O"
       _Screen.RemoveObject("ThemesManager")
    Endif

    * Destroy BindWindowsEventsProxy object
    If Type("_vfp.BindWindowsEventsProxy")<>"U"
    _vfp.BindWindowsEventsProxy = Null
    Endif

    +

     

    +

    To use Button: +

      +
    1. Add a ThemedButton object from ThemedControls.vcx to your form; +
    2. Double click CustomBuilder property in Properties Window to show the Builder; +
    3. Fill the properties and click in Save and Exit button; +
    4. Use Click method to handle the button click.
    +

     

    +

    +

    To use ExplorerBar: +

      +
    1. Add a ThemedExplorerGroup object from ThemedControls.vcx to your form; +
    2. Double click CustomBuilder property in Properties Window to show the Builder; +
    3. Fill the properties and click in Save and Exit button; +
    4. Click with right mouse button in ThemedExplorerGroup and choose Edit from shortcut menu to edit the control; +
    5. Click with right mouse button in cntUserControls and choose Edit from shortcut menu to edit the control; +
    6. Place any control that you want inside cntUserControls; +
    7. Repeat steps from 1 to 6 to create how much groups you want; +
    8. Add a ThemedExplorerBar object from ThemedControls.vcx to your form; +
    9. Select all ThemedExplorerGroups you created and press CTRL + X in your keyboard; +
    10. Click with right mouse button in ThemedExplorerBar and choose Edit from shortcut menu to edit the control; +
    11. Press CTRL + V in your keyboard to move all ThemedExplorerGroups inside ThemedExplorerBar.
    +
    +

    Or

    +
      +
    1. Add a ThemedExplorerBar object from ThemedControls.vcx to your form; +
    2. Double click CustomBuilder property in Properties Window to show the Builder; +
    3. Fill the properties and click in Add this group to the bar button; +
    4. Repeat step 3 to create how much groups you want; +
    5. Click with right mouse button in ThemedExplorerBar and choose Edit from shortcut menu to edit the control; +
    6. Click with right mouse button in ThemedExplorerGroup and choose Edit from shortcut menu to edit the control; +
    7. Click with right mouse button in cntUserControls and choose Edit from shortcut menu to edit the control; +
    8. Place any control that you want inside cntUserControls; +
    9. Repeat steps from 6 to 8 for each group you created.
    +

     

    +

    To use OutlookNavBar:

    +
      +
    1. Add a ThemedOutlookNavBar object from ThemedControls.vcx to your form; +
    2. Click with right mouse button in ThemedOutlookNavbar and choose Edit from shortcut menu to edit the control; +
    3. Click in the empty control area to select the Panes pagreframe object; +
    4. Set the PageCount property to the number of buttons that you want to display; +
    5. In the Properties Window, activate each page and set Caption, HotKey, Picture16 and Picture24 properties; +
    6. Add the controls you want to display in each page (you can add any control: TreeView, TextBox, CommandButton, ...); +
    7. Use ButtonClicked method to handle the correspondent button click. This method receive 3 parameters about the button clicked: lnNumber, lcCaption and lcPicture24.
    +

    *** Note that at run time, the control will create a button for each page and will use Caption, HotKey, Picture16 and Picture24 page properties as the source of caption and picture button properties. ***

    +

     

    +

    To use ToolBox: +

      +
    1. Add a ThemedToolBox object from ThemedControls.vcx to your form; +
    2. Click with right mouse button in ThemedToolBox and choose Edit from shortcut menu to edit the control; +
    3. Click in the empty control area to select the Panes pagreframe object; +
    4. Set the PageCount property to the number of titles that you want to display; +
    5. In the Properties Window, activate each page and set Caption property; +
    6. Add the controls you want to display in each page (you can add any control: TreeView, TextBox, CommandButton, ...); +
    7. Use TitleClicked method to handle the correspondent title click. This method receive a parameter named lcTitle containing the name of title clicked.
    +

    *** Note that at run time, the control will create a title for each page and will use Caption page property as the source of caption title property. ***

    +

     

    +

    To use ZoomNavBar: +

      +
    1. Add a ThemedZoomNavBar object from ThemedControls.vcx to your form; +
    2. In the Init method, place the code to add the buttons that you want to display:
      +

      DoDefault()
      With This
         .AddButton("Printers","Manage your printers.","Printer96.png")
         .AddButton("Display","Change the display settings.","Monitor96.png")
         .AddButton("Explorer","Show computer's files and folders.","Folder96.png")
         *
         .AddButton("Separator")
         *
         .AddButton("ControlPanel","Change your OS settings.","ControlPanel96.png")
         .AddStackButton("ControlPanel","Button1","Add/Remove programs","Software32.png")
         .AddStackButton("ControlPanel","Button2","Hardware settings","Hardware32.png")
         .AddStackButton("ControlPanel","Button3","Network settings","Network32.png")
      Endwith
      +
    3. Use AddButton method to add a button and AddStackButton to add an option to a button menu.
      Sintax:
      AddButton( cButtonName, cToolTip, cImagePathAndName )
      AddStackButton( cParentButtonName, cButtonName, cToolTip, cImagePathAndName )
      +
    4. Use ButtonClicked and StackButtonClicked to handle the correspondent button click:
      Lparameters lcName
      Do Case
         Case lcName=="Printers"
            apiShellExecute(0, "Open", "Control.exe", "Printers", "", 1)
         Case lcName=="Display"
            apiShellExecute(0, "Open", "Control.exe", "Desk.cpl", "", 1)
         Case lcName=="Explorer"
            apiShellExecute(0, "Explore", "", "", "", 1)
         Otherwise
            Messagebox("Button '"+lcName+"' was clicked!")
      Endcase
      +

    +

    +

     

    If you have questions, suggestions or want to report bugs, feel free to contact me.

    +

     

    +

    Emerson Santon Reed
    emerson_reed@hotmail.com

    + \ No newline at end of file diff --git a/utile/ctl32/Themes.xml b/utile/ctl32/Themes.xml new file mode 100644 index 0000000..9ab5b09 --- /dev/null +++ b/utile/ctl32/Themes.xml @@ -0,0 +1,2484 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + 1 + Office 2003 Blue + + + 2 + Office 2003 Olive + + + 3 + Office 2003 Silver + + + 4 + Office 2007 Black + + + 5 + Office 2007 Blue + + + 6 + Office 2007 Silver + + + 1 + BUTTON_FOCUSED_FONTCOLOR + 0 + + + + 1 + BUTTON_LEFT_FOCUSED + 0 + Qk22BAAAAAAAADYEAAAoAAAAAgAAACAAAAABAAgAAAAAAAAAAADEDgAAxA4AAAABAAAAAQAAli0A/1/C9/9kxPf/aMb4/23I+P9xyvj/ds34/3rP+f9+0fn/g9P5/4fV+f+M1/r/kNr6/5Xc+v+Z3vr/neD7/6Li+/+m5Pv/q+f8/6/p/P+06/z/uO38/7zv/f/B8f3/xfT9/8r2/f/O+P7/0/r+/9f8/v//////AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/x0AAAAAAAAAAAEAAAACAAAAAwAAAAQAAAAFAAAABgAAAAcAAAAIAAAACQAAAAoAAAALAAAADAAAAA0AAAAOAAAADwAAABAAAAARAAAAEgAAABMAAAAUAAAAFQAAABYAAAAXAAAAGAAAABkAAAAaAAAAGwAAABwAAAAAAAAdAAAA + + + 1 + BUTTON_LEFT_HOTTRACKING + 0 + Qk22BAAAAAAAADYEAAAoAAAAAgAAACAAAAABAAgAAAAAAAAAAADEDgAAxA4AAAABAAAAAQAAxWox/+3Tw///////AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wIAAAAAAAAAAAEAAAABAAAAAQAAAAEAAAABAAAAAQAAAAEAAAABAAAAAQAAAAEAAAABAAAAAQAAAAEAAAABAAAAAQAAAAEAAAABAAAAAQAAAAEAAAABAAAAAQAAAAEAAAABAAAAAQAAAAEAAAABAAAAAQAAAAEAAAAAAAACAAAA + + + 1 + BUTTON_LEFT_NOTFOCUSED + 0 + Qk22BAAAAAAAADYEAAAoAAAAAgAAACAAAAABAAgAAAAAAAAAAADEDgAAxA4AAAABAAAAAQAAli0A/+KogP/jqoP/5KyG/+WuiP/msIv/57KO/+e0kP/otpP/6biW/+q6mP/rvJv/7L6e/+3AoP/uw6P/78Wm//DHqP/xyav/8suu//PNsP/0z7P/9dG2//XTuP/21bv/99e+//jZwP/528P/+t3G//vfyP//////AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/x0AAAAAAAAAAAEAAAACAAAAAwAAAAQAAAAFAAAABgAAAAcAAAAIAAAACQAAAAoAAAALAAAADAAAAA0AAAAOAAAADwAAABAAAAARAAAAEgAAABMAAAAUAAAAFQAAABYAAAAXAAAAGAAAABkAAAAaAAAAGwAAABwAAAAAAAAdAAAA + + + 1 + BUTTON_MIDDLE_FOCUSED + 0 + Qk22BAAAAAAAADYEAAAoAAAAAQAAACAAAAABAAgAAAAAAAAAAADEDgAAxA4AAAABAAAAAQAAli0A/1vA9/9fwvf/ZMT3/2jG+P9tyPj/ccr4/3bN+P96z/n/ftH5/4PT+f+H1fn/jNf6/5Da+v+V3Pr/md76/53g+/+i4vv/puT7/6vn/P+v6fz/tOv8/7jt/P+87/3/wfH9/8X0/f/K9v3/zvj+/9P6/v/X/P7/3P///wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAAABAAAAAgAAAAMAAAAEAAAABQAAAAYAAAAHAAAACAAAAAkAAAAKAAAACwAAAAwAAAANAAAADgAAAA8AAAAQAAAAEQAAABIAAAATAAAAFAAAABUAAAAWAAAAFwAAABgAAAAZAAAAGgAAABsAAAAcAAAAHQAAAB4AAAAAAAAA + + + 1 + BUTTON_MIDDLE_HOTTRACKING + 0 + Qk22BAAAAAAAADYEAAAoAAAAAQAAACAAAAABAAgAAAAAAAAAAADEDgAAxA4AAAABAAAAAQAAxWox/+3Tw/8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAAABAAAAAQAAAAEAAAABAAAAAQAAAAEAAAABAAAAAQAAAAEAAAABAAAAAQAAAAEAAAABAAAAAQAAAAEAAAABAAAAAQAAAAEAAAABAAAAAQAAAAEAAAABAAAAAQAAAAEAAAABAAAAAQAAAAEAAAABAAAAAQAAAAEAAAAAAAAA + + + 1 + BUTTON_MIDDLE_NOTFOCUSED + 0 + Qk22BAAAAAAAADYEAAAoAAAAAQAAACAAAAABAAgAAAAAAAAAAADEDgAAxA4AAAABAAAAAQAAli0A/+Gmfv/iqID/46qD/+Sshv/lroj/5rCL/+eyjv/ntJD/6LaT/+m4lv/qupj/67yb/+y+nv/twKD/7sOj/+/Fpv/wx6j/8cmr//LLrv/zzbD/9M+z//XRtv/107j/9tW7//fXvv/42cD/+dvD//rdxv/738j//OHL/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAAABAAAAAgAAAAMAAAAEAAAABQAAAAYAAAAHAAAACAAAAAkAAAAKAAAACwAAAAwAAAANAAAADgAAAA8AAAAQAAAAEQAAABIAAAATAAAAFAAAABUAAAAWAAAAFwAAABgAAAAZAAAAGgAAABsAAAAcAAAAHQAAAB4AAAAAAAAA + + + 1 + BUTTON_NOTFOCUSED_FONTCOLOR + 0 + + + + 1 + BUTTON_RIGHT_FOCUSED + 0 + Qk22BAAAAAAAADYEAAAoAAAAAgAAACAAAAABAAgAAAAAAAAAAADEDgAAxA4AAAABAAAAAQAAli0A/1/C9/9kxPf/aMb4/23I+P9xyvj/ds34/3rP+f9+0fn/g9P5/4fV+f+M1/r/kNr6/5Xc+v+Z3vr/neD7/6Li+/+m5Pv/q+f8/6/p/P+06/z/uO38/7zv/f/B8f3/xfT9/8r2/f/O+P7/0/r+/9f8/v//////AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAdAAAAAAAAAQAAAAIAAAADAAAABAAAAAUAAAAGAAAABwAAAAgAAAAJAAAACgAAAAsAAAAMAAAADQAAAA4AAAAPAAAAEAAAABEAAAASAAAAEwAAABQAAAAVAAAAFgAAABcAAAAYAAAAGQAAABoAAAAbAAAAHAAAAAAAAAAAHQAA + + + 1 + BUTTON_RIGHT_HOTTRACKING + 0 + Qk22BAAAAAAAADYEAAAoAAAAAgAAACAAAAABAAgAAAAAAAAAAADEDgAAxA4AAAABAAAAAQAAxWox/+3Tw///////AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wACAAAAAAAAAQAAAAEAAAABAAAAAQAAAAEAAAABAAAAAQAAAAEAAAABAAAAAQAAAAEAAAABAAAAAQAAAAEAAAABAAAAAQAAAAEAAAABAAAAAQAAAAEAAAABAAAAAQAAAAEAAAABAAAAAQAAAAEAAAABAAAAAQAAAAAAAAAAAgAA + + + 1 + BUTTON_RIGHT_NOTFOCUSED + 0 + Qk22BAAAAAAAADYEAAAoAAAAAgAAACAAAAABAAgAAAAAAAAAAADEDgAAxA4AAAABAAAAAQAAli0A/+KogP/jqoP/5KyG/+WuiP/msIv/57KO/+e0kP/otpP/6biW/+q6mP/rvJv/7L6e/+3AoP/uw6P/78Wm//DHqP/xyav/8suu//PNsP/0z7P/9dG2//XTuP/21bv/99e+//jZwP/528P/+t3G//vfyP//////AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAdAAAAAAAAAQAAAAIAAAADAAAABAAAAAUAAAAGAAAABwAAAAgAAAAJAAAACgAAAAsAAAAMAAAADQAAAA4AAAAPAAAAEAAAABEAAAASAAAAEwAAABQAAAAVAAAAFgAAABcAAAAYAAAAGQAAABoAAAAbAAAAHAAAAAAAAAAAHQAA + + + 1 + CONTAINER_BORDERCOLOR + 9841920 + + + + 1 + EXPLORERBAR_BACKGROUND + 0 + iVBORw0KGgoAAAANSUhEUgAAAAEAAAHZCAMAAABw0aFNAAAABGdBTUEAALGPC/xhBQAAAwBQTFRFY3XWY3bWZHbWZHfXZHjXZXrXZXrYZnzYZ3zZZ37ZaH7ZaH/aaIDaaYLaaoLba4Tba4TcbIXcbIbcbIfdbYjdbordboreb4zeb4zfcI3fcI7fcY/gcZDgcpLgcpLhc5Thc5TidJTidJbidZfjdZjjdprjdprkd5zkeJzkeJzleJ7leZ/meaDme6LnAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAuwPxBwAAABh0RVh0U29mdHdhcmUAUGFpbnQuTkVUIHYzLjMwQIRHEAAAAHpJREFUOE+NwYcOgkAQQMFnwd4VRRHF3v//9ww5yCXLcewMP77qH+w3vi+qPjEf+Tu6N67qF+wzvidcU1KO4gHNhIS9ekxxh/8WO8LeIK/RDAlZqS8pLvCfM3OeIk+oPyY7Uh9iDir3MXvOXco71A/IttVbmE2xgUzZH+dEKa22gJLzAAAAAElFTkSuQmCC + + + 1 + EXPLORERBAR_BORDERCOLOR + 16777215 + + + + 1 + EXPLORERBAR_NORMALGROUPBACKGROUND + 0 + iVBORw0KGgoAAAANSUhEUgAAANoAAAABCAMAAACPOkAFAAAABGdBTUEAALGPC/xhBQAAAwBQTFRF1t/3AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA38Z4uAAAABh0RVh0U29mdHdhcmUAUGFpbnQuTkVUIHYzLjMwQIRHEAAAAAxJREFUGFdjYBi2AAAA2wABbb4xPgAAAABJRU5ErkJggg== + + + 1 + EXPLORERBAR_NORMALGROUPCOLLAPSEHIGHLIGHT + 0 + iVBORw0KGgoAAAANSUhEUgAAAPEAAAAZCAMAAADXAjjUAAAABGdBTUEAALGPC/xhBQAAAwBQTFRFAAAAQo7/qbLTqrLVqLLXqrTXrrPUrLTXr7bVrbbWrrbXqbXZq7fcrLbYrbbZrrfarbjbrLjcrLjdrrrerLrfsLbUsLbVsLbWs7nWsrjXsbjYs7rZsbrbsLncsrrctLvYtLvZtbzYtbzatLzctbzdtbzetL3fq7rgrLvgrrzjsr/ltb/iu8DbvMLcvsTds8DjssDmtMDmtMHntMLmtcLntMLpt8TpuMHhuMHiuMLju8bnvMbnuMXpuMXqusfpucbquMXsucbsvMbovMfpusjru8jtvsjovMjrv8vrvMjsvMntvcnuvsrtvcruvsvvv8zvv8zxwMXdwMbfw8ngxcvhx8viwMrswczswc3vwMzwws/wws7yw8/zxM/wxM/xxM/yy9HlzNDkzNHlztLmz9Tnw9Dzw9H0xtHxxdDyxNDzxNH0xtL0xdL1xtP2xtP3x9T1x9T2x9T3yNPzyNP0yNT0ydT1yNT2yNT3ytb1ytb2ytb3ytb4zNj2zNj3zdj4z9r41Nnp1drq2dzr2d7s0Nr40tz51N753eDt3eHu1uD52OH62eL62+T63eT63ub64OPv4eXw4ebx5Ofx4Of75Ony5uv04uj75Or75uz75+z86ev06ez06+/27O716O386e786/D27PD36/D87fL47PD87fH97vL98PH38PP98vb68fT98/b99vf69Pb99ff+9fj79/n89vj++Pr8+fv9+fr++/z9+/z+/P3+/Pz//f7+/v7/AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA75tKBgAAAQB0Uk5T////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////AFP3ByUAAAAYdEVYdFNvZnR3YXJlAFBhaW50Lk5FVCB2My4zMECERxAAAAI2SURBVFhHY/j/fxf9wQ4Q2LZtCxRshIB1a9euXb0KBFYsA4KlS5csWbRoPgjMmzlz5ozpQDANBCZPntzX1wsEPT3dINDVCQRtINAKAi1AUF9fBwHVYFBVDgaFhYX//zMMhId3keDjJXh9DPYyKT7O+89A/wgG2kiCjymL4+qy0uzs7JxSeBzn5Q16H1MSx9WlYRaqcirKMmpO2QWQVD0EfExJHBdZSgU1TZo7qz2ETdYnZ6j4mII4LjKXbFwDzrXbJ+mwu+fkDvc4rrGWatoOK6aW6/JGgrw8BFI1+XGcLpO0FeRhRrCvZ4tpR+cMCR+Tn4/DlWaBPcwI9vLORD7vrNxhHce1boGbwB4GoV27tk7gtAFG8hBI1WTHca1TKMTDYGLn5tlSRgFDwsdk5+NaqxBIsQVO1Ns3zZY28Msa3nFsrQcpuCCJev0UKS3fIeFj8uPYQ3IuPB/v3LSymcvIN214x3EUe/IOWD7evHJBMKvRcI/jEm3R/q1bt+7cuXPrhpWLGziETId5Pq6riOCX7FgPAisXL2yUZ9F0GOZldV1lhjOveMrUxYsXz5mYIMGiYeQ6zOvjutrSWDsBJsWgkJAgBWZudQNHv2He5qqrqyyOctEXFuQBAhFNA1vfmOHergZ6OTvK097ExMDA2NDM0T8V6OGhUDuRXR+DxvUqS+MifHw9PX29fCOzh3//GOTlqrL87Mz4+IzM7BzgsM8IiGPg6G1VVXkZCEBHb4dz3wn7eHVeHgByr0W4T5AAhgAAAABJRU5ErkJggg== + + + 1 + EXPLORERBAR_NORMALGROUPCOLLAPSENOTHIGHLIGHT + 0 + iVBORw0KGgoAAAANSUhEUgAAAPEAAAAZCAMAAADXAjjUAAAABGdBTUEAALGPC/xhBQAAAwBQTFRFAAAAADylqbLTqrLVqLLXqrTXrrPUrLTXr7bVrbbWrrbXqbXZq7fcrLbYrbbZrrfarbjbrLjcrLjdrrrerLrfsLbUsLbVsLbWs7nWsrjXsbjYs7rZsbrbsLncsrrctLvYtLvZtbzYtbzatLzctbzdtbzetL3fq7rgrLvgrrzjsr/ltb/iu8DbvMLcvsTds8DjssDmtMDmtMHntMLmtcLntMLpt8TpuMHhuMHiuMLju8bnvMbnuMXpuMXqusfpucbquMXsucbsvMbovMfpusjru8jtvsjovMjrv8vrvMjsvMntvcnuvsrtvcruvsvvv8zvv8zxwMXdwMbfw8ngxcvhx8viwMrswczswc3vwMzwws/wws7yw8/zxM/wxM/xxM/yy9HlzNDkzNHlztLmz9Tnw9Dzw9H0xtHxxdDyxNDzxNH0xtL0xdL1xtP2xtP3x9T1x9T2x9T3yNPzyNP0yNT0ydT1yNT2yNT3ytb1ytb2ytb3ytb4zNj2zNj3zdj4z9r41Nnp1drq2dzr2d7s0Nr40tz51N753eDt3eHu1uD52OH62eL62+T63eT63ub64OPv4eXw4ebx5Ofx4Of75Ony5uv04uj75Or75uz75+z86ev06ez06+/27O716O386e786/D27PD36/D87fL47PD87fH97vL98PH38PP98vb68fT98/b99vf69Pb99ff+9fj79/n89vj++Pr8+fv9+fr++/z9+/z+/P3+/Pz//f7+/v7/AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA+5EspQAAAQB0Uk5T////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////AFP3ByUAAAAYdEVYdFNvZnR3YXJlAFBhaW50Lk5FVCB2My4zMECERxAAAAI2SURBVFhHY/j/fxf9wQ4Q2LZtCxRshIB1a9euXb0KBFYsA4KlS5csWbRoPgjMmzlz5ozpQDANBCZPntzX1wsEPT3dINDVCQRtINAKAi1AUF9fBwHVYFBVDgaFhYX//zMMhId3keDjJXh9DPYyKT7O+89A/wgG2kiCjymL4+qy0uzs7JxSeBzn5Q16H1MSx9WlYRaqcirKMmpO2QWQVD0EfExJHBdZSgU1TZo7qz2ETdYnZ6j4mII4LjKXbFwDzrXbJ+mwu+fkDvc4rrGWatoOK6aW6/JGgrw8BFI1+XGcLpO0FeRhRrCvZ4tpR+cMCR+Tn4/DlWaBPcwI9vLORD7vrNxhHce1boGbwB4GoV27tk7gtAFG8hBI1WTHca1TKMTDYGLn5tlSRgFDwsdk5+NaqxBIsQVO1Ns3zZY28Msa3nFsrQcpuCCJev0UKS3fIeFj8uPYQ3IuPB/v3LSymcvIN214x3EUe/IOWD7evHJBMKvRcI/jEm3R/q1bt+7cuXPrhpWLGziETId5Pq6riOCX7FgPAisXL2yUZ9F0GOZldV1lhjOveMrUxYsXz5mYIMGiYeQ6zOvjutrSWDsBJsWgkJAgBWZudQNHv2He5qqrqyyOctEXFuQBAhFNA1vfmOHergZ6OTvK097ExMDA2NDM0T8V6OGhUDuRXR+DxvUqS+MifHw9PX29fCOzh3//GOTlqrL87Mz4+IzM7BzgsM8IiGPg6G1VVXkZCEBHb4dz3wn7eHVeHgByr0W4T5AAhgAAAABJRU5ErkJggg== + + + 1 + EXPLORERBAR_NORMALGROUPEXPANDHIGHLIGHT + 0 + iVBORw0KGgoAAAANSUhEUgAAAPEAAAAZCAMAAADXAjjUAAAABGdBTUEAALGPC/xhBQAAAwBQTFRFAAAAQo7/qbLTqrLVqLLXqrTXrrPUrLTXr7bVrbbWrrbXqbXZq7fcrLbYrbbZrrfarbjbrLjcrLjdrrrerLrfsLbUsLbVsLbWs7nWsrjXsbjYs7rZsbrbsLncsrrctLvYtLvZtbzYtbzatLzctbzdtbzetL3fq7rgrLvgrrzjsr/ltb/iu8DbvMLcvsTds8DjssDmtMDmtMHntMLmtcLntMLpt8TpuMHhuMHiuMLju8bnvMbnuMXpuMXqusfpucbquMXsucbsvMbovMfpusjru8jtvsjovMjrv8vrvMjsvMntvcnuvsrtvcruvsvvv8zvv8zxwMXdwMbfw8ngxcvhx8viwMrswczswc3vwMzwws/wws7yw8/zxM/wxM/xxM/yy9HlzNDkzNHlztLmz9Tnw9Dzw9H0xtHxxdDyxNDzxNH0xtL0xdL1xtP2xtP3x9T1x9T2x9T3yNPzyNP0yNT0ydT1yNT2yNT3ytb1ytb2ytb3ytb4zNj2zNj3zdj4z9r41Nnp1drq2dzr2d7s0Nr40tz51N753eDt3eHu1uD52OH62eL62+T63eT63ub64OPv4eXw4ebx5Ofx4Of75Ony5uv04uj75Or75uz75+z86ev06ez06+/27O716O386e786/D27PD36/D87fL47PD87fH97vL98PH38PP98vb68fT98/b99vf69Pb99ff+9fj79/n89vj++Pr8+fv9+fr++/z9+/z+/P3+/Pz//f7+/v7/AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA75tKBgAAAQB0Uk5T////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////AFP3ByUAAAAYdEVYdFNvZnR3YXJlAFBhaW50Lk5FVCB2My4zMECERxAAAAI5SURBVFhHY/j/fxf9wQ4Q2LZtCxRshIB1a9euXb0KBFYsA4KlS5csWbRoPgjMmzlz5ozpQDANBCZPntzX1wsEPT3dINDVCQRtINAKAi1AUF9fBwHVYFBVDgaFhYX//zMMhId3keDjJXh9DPYyKT7O+89A/wgG2kiCjymL4+qy0uzs7JxSeBzn5Q16H1MSx9WlYRaqcirKMmpO2QWQVD0EfExJHBdZSgU1TZo7qz2ETdYnZ6j4mII4LjKXbFwDzrXbJ+mwu+fkDvc4rrGWatoOK6aW6/JGgrw8BFI1+XGcLpO0FVEuzxbTjs4ZEj4mPx+HK83atYuREehpELEzkc87K3dYx3GtW+AmiG/Bvt46gdMGGMlDIFWTHce1TqHgNM0I9vDOzbOljAKGhI/Jzse1ViGQXAzy8K7tm2ZLG/hlDe84ttYDFlywfLx1/RQpLd8h4WPy49hDci48H+/ctLKZy8g3bXjHcRR78g5oPt65eeWCYFaj4R7HJdqi/Vu3bt3JuHPrhpWLGziETId5Pq6riOCX7FgPAisXL2yUZ9F0GOZldV1lhjOveMrUxYsXz5mYIMGiYeQ6zOvjutrSWDsBJsWgkJAgBWZudQNHv2He5qqrqyyOctEXFuQBAhFNA1vfmOHergZ6OTvK097ExMDA2NDM0T8V6OGhUDuRXR+DxvUqS+MifHw9PX29fCOzh3//GOTlqrL87Mz4+IzM7BzgsM8IiGPg6G1VVXkZCEBHb4dz3wn7eHVeHgAtdUW4XuYS9QAAAABJRU5ErkJggg== + + + 1 + EXPLORERBAR_NORMALGROUPEXPANDNOTHIGHLIGHT + 0 + iVBORw0KGgoAAAANSUhEUgAAAPEAAAAZCAMAAADXAjjUAAAABGdBTUEAALGPC/xhBQAAAwBQTFRFAAAAADylqbLTqrLVqLLXqrTXrrPUrLTXr7bVrbbWrrbXqbXZq7fcrLbYrbbZrrfarbjbrLjcrLjdrrrerLrfsLbUsLbVsLbWs7nWsrjXsbjYs7rZsbrbsLncsrrctLvYtLvZtbzYtbzatLzctbzdtbzetL3fq7rgrLvgrrzjsr/ltb/iu8DbvMLcvsTds8DjssDmtMDmtMHntMLmtcLntMLpt8TpuMHhuMHiuMLju8bnvMbnuMXpuMXqusfpucbquMXsucbsvMbovMfpusjru8jtvsjovMjrv8vrvMjsvMntvcnuvsrtvcruvsvvv8zvv8zxwMXdwMbfw8ngxcvhx8viwMrswczswc3vwMzwws/wws7yw8/zxM/wxM/xxM/yy9HlzNDkzNHlztLmz9Tnw9Dzw9H0xtHxxdDyxNDzxNH0xtL0xdL1xtP2xtP3x9T1x9T2x9T3yNPzyNP0yNT0ydT1yNT2yNT3ytb1ytb2ytb3ytb4zNj2zNj3zdj4z9r41Nnp1drq2dzr2d7s0Nr40tz51N753eDt3eHu1uD52OH62eL62+T63eT63ub64OPv4eXw4ebx5Ofx4Of75Ony5uv04uj75Or75uz75+z86ev06ez06+/27O716O386e786/D27PD36/D87fL47PD87fH97vL98PH38PP98vb68fT98/b99vf69Pb99ff+9fj79/n89vj++Pr8+fv9+fr++/z9+/z+/P3+/Pz//f7+/v7/AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA+5EspQAAAQB0Uk5T////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////AFP3ByUAAAAYdEVYdFNvZnR3YXJlAFBhaW50Lk5FVCB2My4zMECERxAAAAI5SURBVFhHY/j/fxf9wQ4Q2LZtCxRshIB1a9euXb0KBFYsA4KlS5csWbRoPgjMmzlz5ozpQDANBCZPntzX1wsEPT3dINDVCQRtINAKAi1AUF9fBwHVYFBVDgaFhYX//zMMhId3keDjJXh9DPYyKT7O+89A/wgG2kiCjymL4+qy0uzs7JxSeBzn5Q16H1MSx9WlYRaqcirKMmpO2QWQVD0EfExJHBdZSgU1TZo7qz2ETdYnZ6j4mII4LjKXbFwDzrXbJ+mwu+fkDvc4rrGWatoOK6aW6/JGgrw8BFI1+XGcLpO0FVEuzxbTjs4ZEj4mPx+HK83atYuREehpELEzkc87K3dYx3GtW+AmiG/Bvt46gdMGGMlDIFWTHce1TqHgNM0I9vDOzbOljAKGhI/Jzse1ViGQXAzy8K7tm2ZLG/hlDe84ttYDFlywfLx1/RQpLd8h4WPy49hDci48H+/ctLKZy8g3bXjHcRR78g5oPt65eeWCYFaj4R7HJdqi/Vu3bt3JuHPrhpWLGziETId5Pq6riOCX7FgPAisXL2yUZ9F0GOZldV1lhjOveMrUxYsXz5mYIMGiYeQ6zOvjutrSWDsBJsWgkJAgBWZudQNHv2He5qqrqyyOctEXFuQBAhFNA1vfmOHergZ6OTvK097ExMDA2NDM0T8V6OGhUDuRXR+DxvUqS+MifHw9PX29fCOzh3//GOTlqrL87Mz4+IzM7BzgsM8IiGPg6G1VVXkZCEBHb4dz3wn7eHVeHgAtdUW4XuYS9QAAAABJRU5ErkJggg== + + + 1 + EXPLORERBAR_NORMALGROUPHIGHLIGHT_FORECOLOR + 16748098 + + + + 1 + EXPLORERBAR_NORMALGROUPNOTHIGHLIGHT_FORECOLOR + 12999969 + + + + 1 + EXPLORERBAR_SPECIALGROUPBACKGROUND + 0 + iVBORw0KGgoAAAANSUhEUgAAANoAAAABCAMAAACPOkAFAAAABGdBTUEAALGPC/xhBQAAAwBQTFRF7/P/AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA17GY0QAAABh0RVh0U29mdHdhcmUAUGFpbnQuTkVUIHYzLjMwQIRHEAAAAAxJREFUGFdjYBi2AAAA2wABbb4xPgAAAABJRU5ErkJggg== + + + 1 + EXPLORERBAR_SPECIALGROUPCOLLAPSEHIGHLIGHT + 0 + iVBORw0KGgoAAAANSUhEUgAAAPEAAAAZCAMAAADXAjjUAAAABGdBTUEAALGPC/xhBQAAAwBQTFRFAAAAAEm1Akm2Akq0Akq2A0q3BEu3BEu4BUy4Bky5CE26CU27Ck67C068DE+8DE+9DVC9DlC+EFG/ElLAE1LBFFPBFVPCFlTCFlTDGFTDGFXEGlbFG1bGHFbGHVfHHljHHljII1TAI1bDJFXAJFXBJFXCJFbBJFfDJFfEJFbFJVjAJVjFJVjGJVjHIFjIIFnJIlnKIlrKI1rLJlnIJlnJJ1nKJlrIJlrKJFrLJVvMJ1vOJlzLJlzMJ1zNKlzFK1/HLV/BLF7EKFrKKFvLKFvMKV3JKFzMKFzNKF3OKV7NKV7OLF/LLmDBLmDCL2DDL2LJL2LKLWHOL2PNLmLOLmPPL2TOL2TPMGHDMWPDMGHEMWLEM2PFM2THNWXFNmXGNWbGMWPIMWLJMWTJMmfPNWXIOGfGOWjHOmrHPGrHPG3HOmzIPWvIPmzIP23JPm7JPm/KMmXROW3RPW/SP3LUQm/JQ3TNRHDKRHTMRHXNR3jPSHPLSXTLS3XMS3bMSHbNTHfMSHjOSXrOTnjNTHzPQXPURXfURXjURnjVRnnWSnrQS3zQTH3VTX7VTX7YUXvOV3/PU4PTV4DQVITWVofUV4ncWYDQWYXUX4fTWIjVXYjUX4nVWYrcX4/YX4/ZX4/dYYrVY4/YYJDZYZDaYpLbY5LdZ5DYZZXbZpXcZpXfZ5bfa5bbaprebpjcbJvfbpzfcJzecJ7fapnhbJvgbJvhbJzhb5/hcZ3gcZ7gcJ/hcJ7ic6HicqLic6LkdKDhdqTidaTjeaXjeKbkeqjle6vmfanlfavnfq3mrM3/AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAVSZVuwAAAQB0Uk5T////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////AFP3ByUAAAAYdEVYdFNvZnR3YXJlAFBhaW50Lk5FVCB2My4zMECERxAAAAJESURBVFhHY/j/nxEVMDOxAAErFLABATsYcAABJxxwwQE3DxTwAgEfHx8/GAgICEKBEAwIQ4GIiIioqKgYGIiLS0CApBQMSEOBjCwEyIGAvLy8Ahjo6enpw4CBIQwYGVnAgCUY2ICALRS4Q4AHCPz/z4DuYcbh7WOP/wxoMcw4zHxs5ekVHBIS6AWLYw+P4e1jq8CW2Su2bNq8cV5HoBs4VQ9zH7sXTDl4YM3S+bMWbD+2shCSkYd1HLuHzT6yZnp/X1N9Te20/XsKbcF+Hs6p2qv30KqpfVU52Rk5OTl1u7aEgsvr4ezj5I3rJzaVpEYfj4qOi4uuONTtNNx9XLxvZlNJfNTx48cjo6IiIxetdHUDenkYx7F1+96+sjSghyOBKDLSr2FrACiSh7OP27ZV58SCfQsi/PLWJZkOcx+3rivLiAb5F4gjw/2yVieaASvl4RzHrbty44H5F5SPgVHsm782wXiY+7hofwXYw5BE7du4NnG4+zho59woSKl1/Lifb8TixXbD3cfmPYe7/Pz8QEnaz9eheV+lxjDPxzYW3ksOdfqCgYNP4/6FjjrDvKy2sTTxX3x0RrqPg4Nv5uT9i2NUdYZ5fWxjY6FrP2n/7uVz5izbsGNClJqO8TBvc9nYWprraqSUdgJBebyWsoax83BvV9u6A72sqaSooqiooqyuaWYx7HuLwIE9SwtjXU0dTU0dbV0zG8jg3jBuc4HHMm0sLcxNgMDc2mYEjIFABm9tbNxcXNzcQIXWsB/1wTZe7eEBAJ5hvkqjoOROAAAAAElFTkSuQmCC + + + 1 + EXPLORERBAR_SPECIALGROUPCOLLAPSENOTHIGHLIGHT + 0 + iVBORw0KGgoAAAANSUhEUgAAAPEAAAAZCAMAAADXAjjUAAAABGdBTUEAALGPC/xhBQAAAwBQTFRFAAAAAEm1Akm2Akq0Akq2A0q3BEu3BEu4BUy4Bky5CE26CU27Ck67C068DE+8DE+9DVC9DlC+EFG/ElLAE1LBFFPBFVPCFlTCFlTDGFTDGFXEGlbFG1bGHFbGHVfHHljHHljII1TAI1bDJFXAJFXBJFXCJFbBJFfDJFfEJFbFJVjAJVjFJVjGJVjHIFjIIFnJIlnKIlrKI1rLJlnIJlnJJ1nKJlrIJlrKJFrLJVvMJ1vOJlzLJlzMJ1zNKlzFK1/HLV/BLF7EKFrKKFvLKFvMKV3JKFzMKFzNKF3OKV7NKV7OLF/LLmDBLmDCL2DDL2LJL2LKLWHOL2PNLmLOLmPPL2TOL2TPMGHDMWPDMGHEMWLEM2PFM2THNWXFNmXGNWbGMWPIMWLJMWTJMmfPNWXIOGfGOWjHOmrHPGrHPG3HOmzIPWvIPmzIP23JPm7JPm/KMmXROW3RPW/SP3LUQm/JQ3TNRHDKRHTMRHXNR3jPSHPLSXTLS3XMS3bMSHbNTHfMSHjOSXrOTnjNTHzPQXPURXfURXjURnjVRnnWSnrQS3zQTH3VTX7VTX7YUXvOV3/PU4PTV4DQVITWVofUV4ncWYDQWYXUX4fTWIjVXYjUX4nVWYrcX4/YX4/ZX4/dYYrVY4/YYJDZYZDaYpLbY5LdZ5DYZZXbZpXcZpXfZ5bfa5bbaprebpjcbJvfbpzfcJzecJ7fapnhbJvgbJvhbJzhb5/hcZ3gcZ7gcJ/hcJ7ic6HicqLic6LkdKDhdqTidaTjeaXjeKbkeqjle6vmfanlfavnfq3m////AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAxh8xqQAAAQB0Uk5T////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////AFP3ByUAAAAYdEVYdFNvZnR3YXJlAFBhaW50Lk5FVCB2My4zMECERxAAAAJESURBVFhHY/j/nxEVMDOxAAErFLABATsYcAABJxxwwQE3DxTwAgEfHx8/GAgICEKBEAwIQ4GIiIioqKgYGIiLS0CApBQMSEOBjCwEyIGAvLy8Ahjo6enpw4CBIQwYGVnAgCUY2ICALRS4Q4AHCPz/z4DuYcbh7WOP/wxoMcw4zHxs5ekVHBIS6AWLYw+P4e1jq8CW2Su2bNq8cV5HoBs4VQ9zH7sXTDl4YM3S+bMWbD+2shCSkYd1HLuHzT6yZnp/X1N9Te20/XsKbcF+Hs6p2qv30KqpfVU52Rk5OTl1u7aEgsvr4ezj5I3rJzaVpEYfj4qOi4uuONTtNNx9XLxvZlNJfNTx48cjo6IiIxetdHUDenkYx7F1+96+sjSghyOBKDLSr2FrACiSh7OP27ZV58SCfQsi/PLWJZkOcx+3rivLiAb5F4gjw/2yVieaASvl4RzHrbty44H5F5SPgVHsm782wXiY+7hofwXYw5BE7du4NnG4+zho59woSKl1/Lifb8TixXbD3cfmPYe7/Pz8QEnaz9eheV+lxjDPxzYW3ksOdfqCgYNP4/6FjjrDvKy2sTTxX3x0RrqPg4Nv5uT9i2NUdYZ5fWxjY6FrP2n/7uVz5izbsGNClJqO8TBvc9nYWprraqSUdgJBebyWsoax83BvV9u6A72sqaSooqiooqyuaWYx7HuLwIE9SwtjXU0dTU0dbV0zG8jg3jBuc4HHMm0sLcxNgMDc2mYEjIFABm9tbNxcXNzcQIXWsB/1wTZe7eEBAJ5hvkqjoOROAAAAAElFTkSuQmCC + + + 1 + EXPLORERBAR_SPECIALGROUPEXPANDHIGHLIGHT + 0 + iVBORw0KGgoAAAANSUhEUgAAAPEAAAAZCAMAAADXAjjUAAAABGdBTUEAALGPC/xhBQAAAwBQTFRFAAAAAEm1Akm2Akq0Akq2A0q3BEu3BEu4BUy4Bky5CE26CU27Ck67C068DE+8DE+9DVC9DlC+EFG/ElLAE1LBFFPBFVPCFlTCFlTDGFTDGFXEGlbFG1bGHFbGHVfHHljHHljII1TAI1bDJFXAJFbBJFbCJFfDJFfEJFfFJVjAJVjFJVjGJVjHIFjIIFnJIlnKIlrKI1rLJlnIJlnJJ1nKJlrIJlrKJFrLJVvMJ1vNJlzLJlzMJ1zNKlzFK1/HLV/BLV7EKFrKKFvLKV3JKFzMKFzNKF3OKV7NKV7OLF/LLmDBLmDCL2DDL2LJL2LKLWHOL2PMLWLOLmPPL2TOL2TPMGHDMWPDMGHEMWLEM2PFM2THNWXFNmXGNWbGMWPIMWLJMWTJMmfPNWXIOGfGOWjHOmrHPGrHPG3HOmzIPWvIPmzIP23JPm7JPm/KMmXROW3RPW/SP3LUQm/JQ3TNRHDKRHTMRHXNR3jPSHPLSXTLS3XMS3bMSHbNTHfMSHjOSXrOTnjNTHzPQXPURXfURXjURnjVSnrQS3zQTH3VTX7VTX7YUXvOV3/PU4PTV4DQVITVVofUV4ncWYDQWYXUX4fTWIjVXYjUX4nVWYrcX4/YX4/ZX4/dYYrVY4/YYJDZYZDaYpLbY5LdZ5DYZZXbZpXcZpXfZ5bfa5bbaprebpjcbJvfbpzfcJzecJ7fapnhbJvgbJvhbJzhb5/hcZ3gcZ7gcJ/hcJ7ic6HicqLic6LkdKDhdqTidaTjeaXjeKbkeqjle6vmfanlfavnfq3mrM3/AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAOu9L2wAAAQB0Uk5T////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////AFP3ByUAAAAYdEVYdFNvZnR3YXJlAFBhaW50Lk5FVCB2My4zMECERxAAAAJDSURBVFhH3diJegtRFMDxxL5Gkag9IsgwEzSVTNsJITIjOpdqLTOhVWsxllJVu4ZqLbGvrTW20pZSW9EhlrzXuHeWfvQRzu8N/t85d3JzbZpm/1//fgOwgaZB2GDdEGxor2G9ho8wjcQcDscoXU7OaNMYy1iT0+l0uVzjdLm54w0TJlommSZPMUwl3G73NJ3f759rmTffkpfHWgp0HBE28QaB0DRb32A77GJBs/WZsB1YceGyeGlZWUncmrEgwC4uLDnT/KLr7bvO+42lMX2rgRfz+67/+N729MHdhx//tFabyZBnzK9p/tV261IqefLY8Zvq12rj4wW5OH4x8/JG6oiyq0pRlBPdXav1ZMjFmztfX0nWbE3IcqK8PFGXOb+ELDbk4gM9d5I12awkSdmsLEmPW5fG8JABFxc1fkvVbpNxsl6NTr1fSYYMufjsh6PKBjJgEiyhPR2bFgCfcUNHbVWC7DQJXot2vqoMAp9xQ/fuCrLUZMwSEve2b2SAF+9X6/AHyzzHSKxvrwwAL171+R4uNs4xEtel0wuhF4cu/DyHEMLnGCExcrrnsA/4OebY5U8yTaIuUlyvPlpMA/9Wc2z+ivTv29uLIxFxxzU1vX4mDfz3mONYZtFV9cvzlpZnbz5dlmfQAeB3Lo5nQ4xvy8Em7FDFbK+PiUK/V4dJMjXd4/V4vN5ZVJDV/yEDvmXilz2eZQMMRVMUPYcJcmSnoReHea6ADeVjoSKjF3wxHjPHxaLRWMwKBr7VxoP1v+/VgvAXi2i16jf2wmUAAAAASUVORK5CYII= + + + 1 + EXPLORERBAR_SPECIALGROUPEXPANDNOTHIGHLIGHT + 0 + iVBORw0KGgoAAAANSUhEUgAAAPEAAAAZCAMAAADXAjjUAAAABGdBTUEAALGPC/xhBQAAAwBQTFRFAAAAAEm1Akm2Akq0Akq2A0q3BEu3BEu4BUy4Bky5CE26CU27Ck67C068DE+8DE+9DVC9DlC+EFG/ElLAE1LBFFPBFVPCFlTCFlTDGFTDGFXEGlbFG1bGHFbGHVfHHljHHljII1TAI1bDJFXAJFbBJFbCJFfDJFfEJFfFJVjAJVjFJVjGJVjHIFjIIFnJIlnKIlrKI1rLJlnIJlnJJ1nKJlrIJlrKJFrLJVvMJ1vNJlzLJlzMJ1zNKlzFK1/HLV/BLV7EKFrKKFvLKV3JKFzMKFzNKF3OKV7NKV7OLF/LLmDBLmDCL2DDL2LJL2LKLWHOL2PMLWLOLmPPL2TOL2TPMGHDMWPDMGHEMWLEM2PFM2THNWXFNmXGNWbGMWPIMWLJMWTJMmfPNWXIOGfGOWjHOmrHPGrHPG3HOmzIPWvIPmzIP23JPm7JPm/KMmXROW3RPW/SP3LUQm/JQ3TNRHDKRHTMRHXNR3jPSHPLSXTLS3XMS3bMSHbNTHfMSHjOSXrOTnjNTHzPQXPURXfURXjURnjVSnrQS3zQTH3VTX7VTX7YUXvOV3/PU4PTV4DQVITVVofUV4ncWYDQWYXUX4fTWIjVXYjUX4nVWYrcX4/YX4/ZX4/dYYrVY4/YYJDZYZDaYpLbY5LdZ5DYZZXbZpXcZpXfZ5bfa5bbaprebpjcbJvfbpzfcJzecJ7fapnhbJvgbJvhbJzhb5/hcZ3gcZ7gcJ/hcJ7ic6HicqLic6LkdKDhdqTidaTjeaXjeKbkeqjle6vmfanlfavnfq3m////AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAASnELAQAAAQB0Uk5T////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////AFP3ByUAAAAYdEVYdFNvZnR3YXJlAFBhaW50Lk5FVCB2My4zMECERxAAAAJDSURBVFhH3diJegtRFMDxxL5Gkag9IsgwEzSVTNsJITIjOpdqLTOhVWsxllJVu4ZqLbGvrTW20pZSW9EhlrzXuHeWfvQRzu8N/t85d3JzbZpm/1//fgOwgaZB2GDdEGxor2G9ho8wjcQcDscoXU7OaNMYy1iT0+l0uVzjdLm54w0TJlommSZPMUwl3G73NJ3f759rmTffkpfHWgp0HBE28QaB0DRb32A77GJBs/WZsB1YceGyeGlZWUncmrEgwC4uLDnT/KLr7bvO+42lMX2rgRfz+67/+N729MHdhx//tFabyZBnzK9p/tV261IqefLY8Zvq12rj4wW5OH4x8/JG6oiyq0pRlBPdXav1ZMjFmztfX0nWbE3IcqK8PFGXOb+ELDbk4gM9d5I12awkSdmsLEmPW5fG8JABFxc1fkvVbpNxsl6NTr1fSYYMufjsh6PKBjJgEiyhPR2bFgCfcUNHbVWC7DQJXot2vqoMAp9xQ/fuCrLUZMwSEve2b2SAF+9X6/AHyzzHSKxvrwwAL171+R4uNs4xEtel0wuhF4cu/DyHEMLnGCExcrrnsA/4OebY5U8yTaIuUlyvPlpMA/9Wc2z+ivTv29uLIxFxxzU1vX4mDfz3mONYZtFV9cvzlpZnbz5dlmfQAeB3Lo5nQ4xvy8Em7FDFbK+PiUK/V4dJMjXd4/V4vN5ZVJDV/yEDvmXilz2eZQMMRVMUPYcJcmSnoReHea6ADeVjoSKjF3wxHjPHxaLRWMwKBr7VxoP1v+/VgvAXi2i16jf2wmUAAAAASUVORK5CYII= + + + 1 + EXPLORERBAR_SPECIALGROUPHIGHLIGHT_FORECOLOR + 16748098 + + + + 1 + EXPLORERBAR_SPECIALGROUPNOTHIGHLIGHT_FORECOLOR + 16777215 + + + + 1 + FORM_BACKGROUND + 0 + iVBORw0KGgoAAAANSUhEUgAAAAEAAAABCAIAAACQd1PeAAAACXBIWXMAAA7EAAAOxAGVKw4bAAAAB3RJTUUH1wUEDBY4ue1qPQAAAAd0RVh0QXV0aG9yAKmuzEgAAAAMdEVYdERlc2NyaXB0aW9uABMJISMAAAAKdEVYdENvcHlyaWdodACsD8w6AAAADnRFWHRDcmVhdGlvbiB0aW1lADX3DwkAAAAJdEVYdFNvZnR3YXJlAF1w/zoAAAALdEVYdERpc2NsYWltZXIAt8C0jwAAAAh0RVh0V2FybmluZwDAG+aHAAAAB3RFWHRTb3VyY2UA9f+D6wAAAAh0RVh0Q29tbWVudAD2zJa/AAAABnRFWHRUaXRsZQCo7tInAAAADElEQVR4nGM4cusXAAT+ApluEnnjAAAAAElFTkSuQmCC + + + 1 + OUTLOOKNAVBAR_BORDERCOLOR + 9841920 + + + + 1 + OVERFLOWPANELBUTTON_FOCUSEDNOTSELECTED + 0 + iVBORw0KGgoAAAANSUhEUgAAAAEAAAAfCAIAAACpqzA1AAAACXBIWXMAAA7EAAAOxAGVKw4bAAAAB3RJTUUH1wQLDy0SOaHLbAAAAAd0RVh0QXV0aG9yAKmuzEgAAAAMdEVYdERlc2NyaXB0aW9uABMJISMAAAAKdEVYdENvcHlyaWdodACsD8w6AAAADnRFWHRDcmVhdGlvbiB0aW1lADX3DwkAAAAJdEVYdFNvZnR3YXJlAF1w/zoAAAALdEVYdERpc2NsYWltZXIAt8C0jwAAAAh0RVh0V2FybmluZwDAG+aHAAAAB3RFWHRTb3VyY2UA9f+D6wAAAAh0RVh0Q29tbWVudAD2zJa/AAAABnRFWHRUaXRsZQCo7tInAAAAOElEQVR4nG3MUQoAIAwCUPE+XbfTdZNt2s+ggr5EeQiMCXvRFYSSUNCdqLv3pvzY4614rZL4fSs3maBFEIBneiMAAAAASUVORK5CYII= + + + 1 + OVERFLOWPANELBUTTON_FOCUSEDSELECTED + 0 + iVBORw0KGgoAAAANSUhEUgAAAAEAAAAfCAIAAACpqzA1AAAACXBIWXMAAA7EAAAOxAGVKw4bAAAAB3RJTUUH1wQLDy4JmOlRQwAAAAd0RVh0QXV0aG9yAKmuzEgAAAAMdEVYdERlc2NyaXB0aW9uABMJISMAAAAKdEVYdENvcHlyaWdodACsD8w6AAAADnRFWHRDcmVhdGlvbiB0aW1lADX3DwkAAAAJdEVYdFNvZnR3YXJlAF1w/zoAAAALdEVYdERpc2NsYWltZXIAt8C0jwAAAAh0RVh0V2FybmluZwDAG+aHAAAAB3RFWHRTb3VyY2UA9f+D6wAAAAh0RVh0Q29tbWVudAD2zJa/AAAABnRFWHRUaXRsZQCo7tInAAAAJElEQVR4nGNg0J3G8KKeg4mBmYWJkZkFk2YhThzOZsGiFrs4AEY8A0vEq4sFAAAAAElFTkSuQmCC + + + 1 + OVERFLOWPANELBUTTON_NOTFOCUSEDSELECTED + 0 + iVBORw0KGgoAAAANSUhEUgAAAAEAAAAfCAIAAACpqzA1AAAACXBIWXMAAA7EAAAOxAGVKw4bAAAAB3RJTUUH1wQLDy0EzXV+PQAAAAd0RVh0QXV0aG9yAKmuzEgAAAAMdEVYdERlc2NyaXB0aW9uABMJISMAAAAKdEVYdENvcHlyaWdodACsD8w6AAAADnRFWHRDcmVhdGlvbiB0aW1lADX3DwkAAAAJdEVYdFNvZnR3YXJlAF1w/zoAAAALdEVYdERpc2NsYWltZXIAt8C0jwAAAAh0RVh0V2FybmluZwDAG+aHAAAAB3RFWHRTb3VyY2UA9f+D6wAAAAh0RVh0Q29tbWVudAD2zJa/AAAABnRFWHRUaXRsZQCo7tInAAAAPElEQVR4nF2N0Q3AIBBCCft0XXfpbAecP1obvyDkAcAzWG/YLsI6GhEutkVYRLZfmsN+vehi9ubKov/HBJ50SdXaW1z6AAAAAElFTkSuQmCC + + + 1 + OVERFLOWPANEL_BACKGROUND + 0 + iVBORw0KGgoAAAANSUhEUgAAAAEAAAAfCAIAAACpqzA1AAAACXBIWXMAAA7EAAAOxAGVKw4bAAAAB3RJTUUH1wQLDykdzXIT+QAAAAd0RVh0QXV0aG9yAKmuzEgAAAAMdEVYdERlc2NyaXB0aW9uABMJISMAAAAKdEVYdENvcHlyaWdodACsD8w6AAAADnRFWHRDcmVhdGlvbiB0aW1lADX3DwkAAAAJdEVYdFNvZnR3YXJlAF1w/zoAAAALdEVYdERpc2NsYWltZXIAt8C0jwAAAAh0RVh0V2FybmluZwDAG+aHAAAAB3RFWHRTb3VyY2UA9f+D6wAAAAh0RVh0Q29tbWVudAD2zJa/AAAABnRFWHRUaXRsZQCo7tInAAAAJ0lEQVR4nGNg0J3GcPrhH6a///4z/fv3n+kvFKOyGXCIQ9l/ydILAMejWAOrfjfLAAAAAElFTkSuQmCC + + + 1 + OVERFLOWPANEL_MENUBUTTON + 0 + iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAMAAAAoLQ9TAAADAFBMVEUAAAD///8AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABnduxjAAABAHRSTlP/AP//////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////rTvmKwAAAAlwSFlzAAAOxAAADsQBlSsOGwAAAAd0SU1FB9cEDA0CA99ePyQAAAAHdEVYdEF1dGhvcgCprsxIAAAADHRFWHREZXNjcmlwdGlvbgATCSEjAAAACnRFWHRDb3B5cmlnaHQArA/MOgAAAA50RVh0Q3JlYXRpb24gdGltZQA19w8JAAAACXRFWHRTb2Z0d2FyZQBdcP86AAAAC3RFWHREaXNjbGFpbWVyALfAtI8AAAAIdEVYdFdhcm5pbmcAwBvmhwAAAAd0RVh0U291cmNlAPX/g+sAAAAIdEVYdENvbW1lbnQA9syWvwAAAAZ0RVh0VGl0bGUAqO7SJwAAADBJREFUeJxjYEQDDFgFGBhACFkFkgiMgotgV4FpBkFriRBgAAE0d6DbwsCIzsApAAB3XADk8z+QVAAAAABJRU5ErkJggg== + + + 1 + PANELBUTTON_FOCUSEDNOTSELECTED + 0 + iVBORw0KGgoAAAANSUhEUgAAAAEAAAAgCAIAAABch4VNAAAACXBIWXMAAA7EAAAOxAGVKw4bAAAAB3RJTUUH1wQLDyI1GzNiyAAAAAd0RVh0QXV0aG9yAKmuzEgAAAAMdEVYdERlc2NyaXB0aW9uABMJISMAAAAKdEVYdENvcHlyaWdodACsD8w6AAAADnRFWHRDcmVhdGlvbiB0aW1lADX3DwkAAAAJdEVYdFNvZnR3YXJlAF1w/zoAAAALdEVYdERpc2NsYWltZXIAt8C0jwAAAAh0RVh0V2FybmluZwDAG+aHAAAAB3RFWHRTb3VyY2UA9f+D6wAAAAh0RVh0Q29tbWVudAD2zJa/AAAABnRFWHRUaXRsZQCo7tInAAAAN0lEQVR4nF2Myw0AIAhDG/ZxXadzE6D1Qohy6OH1B6wN6RgYJrqB0VK+7KYn+7h6Kr/3k3P80y9nM0cSCZi5ugAAAABJRU5ErkJggg== + + + 1 + PANELBUTTON_FOCUSEDSELECTED + 0 + iVBORw0KGgoAAAANSUhEUgAAAAEAAAAgCAIAAABch4VNAAAACXBIWXMAAA7EAAAOxAGVKw4bAAAAB3RJTUUH1wQLDyseZk0gwQAAAAd0RVh0QXV0aG9yAKmuzEgAAAAMdEVYdERlc2NyaXB0aW9uABMJISMAAAAKdEVYdENvcHlyaWdodACsD8w6AAAADnRFWHRDcmVhdGlvbiB0aW1lADX3DwkAAAAJdEVYdFNvZnR3YXJlAF1w/zoAAAALdEVYdERpc2NsYWltZXIAt8C0jwAAAAh0RVh0V2FybmluZwDAG+aHAAAAB3RFWHRTb3VyY2UA9f+D6wAAAAh0RVh0Q29tbWVudAD2zJa/AAAABnRFWHRUaXRsZQCo7tInAAAAJUlEQVR4nGNg0J3G8KKeg4mRmYWJgZkFSjOj8llY8Mtj0ETrBwBSQgNO6OSemAAAAABJRU5ErkJggg== + + + 1 + PANELBUTTON_NOTFOCUSEDSELECTED + 0 + iVBORw0KGgoAAAANSUhEUgAAAAEAAAAgCAIAAABch4VNAAAACXBIWXMAAA7EAAAOxAGVKw4bAAAAB3RJTUUH1wQLDyMWoE8i+wAAAAd0RVh0QXV0aG9yAKmuzEgAAAAMdEVYdERlc2NyaXB0aW9uABMJISMAAAAKdEVYdENvcHlyaWdodACsD8w6AAAADnRFWHRDcmVhdGlvbiB0aW1lADX3DwkAAAAJdEVYdFNvZnR3YXJlAF1w/zoAAAALdEVYdERpc2NsYWltZXIAt8C0jwAAAAh0RVh0V2FybmluZwDAG+aHAAAAB3RFWHRTb3VyY2UA9f+D6wAAAAh0RVh0Q29tbWVudAD2zJa/AAAABnRFWHRUaXRsZQCo7tInAAAAO0lEQVR4nG2MwQ0AIAwCCfu4rrs4W6H10YfG+OII5IAxGSsJi5UiHCyLSHU6Lj6fw2I9HY5ra9fPW6kNdzlL2GRH0f0AAAAASUVORK5CYII= + + + 1 + PANELBUTTON_NOTSELECTED_FONTCOLOR + 0 + + + + 1 + PANELBUTTON_SELECTED_FONTCOLOR + 0 + + + + 1 + PANELVERTICAL_FOCUSED_BACKCOLOR + 10676223 + + + + 1 + PANELVERTICAL_FONTCOLOR + 0 + + + + 1 + PANELVERTICAL_NOTFOCUSED_BACKCOLOR + 16440004 + + + + 1 + PANEL_BACKGROUND + 0 + iVBORw0KGgoAAAANSUhEUgAAAAEAAAAgCAIAAABch4VNAAAACXBIWXMAAA7EAAAOxAGVKw4bAAAAB3RJTUUH1wQLDyIL2lJ/YwAAAAd0RVh0QXV0aG9yAKmuzEgAAAAMdEVYdERlc2NyaXB0aW9uABMJISMAAAAKdEVYdENvcHlyaWdodACsD8w6AAAADnRFWHRDcmVhdGlvbiB0aW1lADX3DwkAAAAJdEVYdFNvZnR3YXJlAF1w/zoAAAALdEVYdERpc2NsYWltZXIAt8C0jwAAAAh0RVh0V2FybmluZwDAG+aHAAAAB3RFWHRTb3VyY2UA9f+D6wAAAAh0RVh0Q29tbWVudAD2zJa/AAAABnRFWHRUaXRsZQCo7tInAAAALElEQVR4nGNg0J3GcPrhH6a///4z/fv3H41mYPqLIfYfU+w/A245FDEGdDkA+f5aBYuk+4UAAAAASUVORK5CYII= + + + 1 + SHORTCUTMENU_DOWN_ENABLED + 0 + Qk02BQAAAAAAADYEAAAoAAAAEAAAABAAAAABAAgAAAAAAAAAAADEDgAAxA4AAAABAAAAAQAAoFAw/6BYMP+wWDD/sGBA/7BoQP/AaED/wHBQ/8B4UP/QeFD/4HhQ/+CAUP/giFD/8IhQ/9CIYP/wkGD//5Bg/+CQcP/gmHD/8Jhw//CgcP//oHD//6iA//+wgP//sJD//7iQ///AoP//////AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/xoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaAhoaGhoaGhoaGhoaGhoaAgUBGhoaGhoaGhoaGhoaAgoJBQAaGhoaGhoaGhoaBxIUCwgFABoaGhoaGhoaExEQFQ4KAAMEGhoaGhoaGhoaDRYPDAMaGhoaGhoaGhoaGhAZFQ4EGhoaGhoaGhoaGhoRGRgXBhoaGhoaGhoaGhoaExEQDQ0aGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGho= + + + 1 + SHORTCUTMENU_DOWN_DISABLED + 0 + Qk02BQAAAAAAADYEAAAoAAAAEAAAABAAAAABAAgAAAAAAAAAAADEDgAAxA4AAAABAAAAAQAAT09P/1RUVP9WVlb/X19f/2RkZP9mZmb/b29v/3R0dP92dnb/d3d3/3x8fP+BgYH/g4OD/4SEhP+MjIz/jo6O/4+Pj/+UlJT/lpaW/5qamv+cnJz/paWl/6qqqv+vr6//tLS0/729vf//////AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/xoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaAhoaGhoaGhoaGhoaGhoaAgUBGhoaGhoaGhoaGhoaAgoJBQAaGhoaGhoaGhoaBxIUCwgFABoaGhoaGhoaExEQFQ4KAAMEGhoaGhoaGhoaDRYPDAMaGhoaGhoaGhoaGhAZFQ4EGhoaGhoaGhoaGhoRGRgXBhoaGhoaGhoaGhoaExEQDQ0aGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGho= + + + 1 + SHORTCUTMENU_UP_ENABLED + 0 + Qk02BQAAAAAAADYEAAAoAAAAEAAAABAAAAABAAgAAAAAAAAAAADEDgAAxA4AAAABAAAAAQAAkEgg/6BIIP+gUCD/oFAw/6BYMP+wWDD/0Ggw/8BwQP/QcED/0HhA/9B4UP/QgFD/4IBQ/+CIYP/wkGD/8Jhg/+CYcP/woHD//6Bw//CogP//sJD//8Cg//////8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/xYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFgwDAAAAFhYWFhYWFhYWFhYMDQsHABYWFhYWFhYWFhYWDBMNCgEWFhYWFhYWFhYWFgwVDw0CFhYWFhYWFhYWEAgGFA8PBQIAFhYWFhYWFhYQFRQSDgkDFhYWFhYWFhYWFhEVFA0DFhYWFhYWFhYWFhYWERUEFhYWFhYWFhYWFhYWFhYQFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhY= + + + 1 + SHORTCUTMENU_UP_DISABLED + 0 + Qk02BQAAAAAAADYEAAAoAAAAEAAAABAAAAABAAgAAAAAAAAAAADEDgAAxA4AAAABAAAAAQAARERE/0ZGRv9KSkr/T09P/1RUVP9WVlb/Y2Nj/2pqav9sbGz/cXFx/3Z2dv96enr/fHx8/4aGhv+MjIz/kZGR/5SUlP+ampr/nJyc/6SkpP+vr6//vb29//////8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/xYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFgwDAAAAFhYWFhYWFhYWFhYMDQsHABYWFhYWFhYWFhYWDBMNCgEWFhYWFhYWFhYWFgwVDw0CFhYWFhYWFhYWEAgGFA8PBQIAFhYWFhYWFhYQFRQSDgkDFhYWFhYWFhYWFhEVFA0DFhYWFhYWFhYWFhYWERUEFhYWFhYWFhYWFhYWFhYQFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhY= + + + 1 + SHRINKBUTTON_FOCUSEDNOTSHRUNK + 0 + iVBORw0KGgoAAAANSUhEUgAAABIAAAASCAYAAABWzo5XAAAABGdBTUEAALGPC/xhBQAAAAlwSFlzAAAOwgAADsIBFShKgAAAAAd0SU1FB9cEEhECD3MSCbcAAAAYdEVYdFNvZnR3YXJlAFBhaW50Lk5FVCB2My4xMHKyJZIAAACzSURBVDhPrZGhDsIwFEUvf4rEIrBILAKLxCCxyAkQhBAECQQEgiAQCBKSdWt3YaRdxks39ZoccXp7VDvkhdA4dEdqgMLsqAGK95oawL0SagD3XFID2MeCbXw/9G+XHlrY+5xNlNEv9G+k1zvY24wxqsjv0mWD/DqlJEThXnq0yc8Txqhiv0uXDbLTmE2EOOzS6x2yw4htlHF9lx42mP2QGsBsB9QAZtOnBkhXPWqANOlSgw/RhutoURsdLwAAAABJRU5ErkJggg== + + + 1 + SHRINKBUTTON_FOCUSEDSHRUNK + 0 + iVBORw0KGgoAAAANSUhEUgAAABIAAAASCAYAAABWzo5XAAAABGdBTUEAALGPC/xhBQAAAAlwSFlzAAAOwgAADsIBFShKgAAAAAd0SU1FB9cEEhECNbUe0AUAAAAYdEVYdFNvZnR3YXJlAFBhaW50Lk5FVCB2My4xMHKyJZIAAACwSURBVDhPrdGvC8JQGIXh439qtBqsRqvBarQYrcYFDSJiEBQNBjEYFgRhd7+OTnbHPFzbN3jCuR9vWoe8EBYfiyMtoHQ7WkD5WtMCimdECyjiJS0gfyyoPj/x5013sMnvc6oq/Mb1TXewyW8zhjRxfdetDbLrlP/42N91tztk5wlDmqi+69YG6WlM5SP/rjvYpIcRVRW233QHG7cf0gLcdkALcJs+LSBZ9WgBSdSlhTcMputoJnzNZQAAAABJRU5ErkJggg== + + + 1 + SHRINKBUTTON_NOTFOCUSEDNOTSHRUNK + 0 + iVBORw0KGgoAAAANSUhEUgAAABIAAAASCAYAAABWzo5XAAAABGdBTUEAALGPC/xhBQAAAAlwSFlzAAAOwgAADsIBFShKgAAAAAd0SU1FB9cEEhEdHtT4J9sAAAAYdEVYdFNvZnR3YXJlAFBhaW50Lk5FVCB2My4xMHKyJZIAAAC+SURBVDhPrYsxB0JhFIbf/kBDQzQ0NERDQzQ0NMQdLqWIhoiGaIiGSzREPyUiIhEREZGIiH7TW3c4fI7v3ukcnuE9jyfTW38Ji+usPrQA4fJNCxAsXrQArehJC9CcP2gBGrM70+D/XK+3ONSnNyYRR/GJ19vtUJtc6UMicXrrBtXxhRqJ5K+3r0FldKYPicXprRuUhycmIbF4vd0OpcGRacSx6/UWh2L/QAtQ6O5pAfLtHS1ALtzSAmSDDS34AaY01+sRksvYAAAAAElFTkSuQmCC + + + 1 + SHRINKBUTTON_NOTFOCUSEDSHRUNK + 0 + iVBORw0KGgoAAAANSUhEUgAAABIAAAASCAYAAABWzo5XAAAABGdBTUEAALGPC/xhBQAAAAlwSFlzAAAOwgAADsIBFShKgAAAAAd0SU1FB9cEEhEgFrDL51cAAAAYdEVYdFNvZnR3YXJlAFBhaW50Lk5FVCB2My4xMHKyJZIAAAC+SURBVDhPrcsxB0JhFMbxpy/Q0BANDQ3R0BANDQ1xh0spoiGiIRqiIaIh+igREYmIiIhERPSNLk/ucLgdp+28/IbnvP6pzupDeLzW8k0PCBcvekAwf9IDGrMHPaA+vdMDapMbNUbRz01vq0F1fKUWhzG56201qIwutEgsf3rrBuXhmf9ILP96JzuUBidaJJI/vXWDYv9ITSK56201KPQO1OIwedPbapDv7ukBufaOHpBtbukBmXBDD0gHa3r4AtRF11ufa4x2AAAAAElFTkSuQmCC + + + 1 + SIGNS_MINUS + 0 + iVBORw0KGgoAAAANSUhEUgAAAAkAAAAJCAYAAADgkQYQAAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8YQUAAAAgY0hSTQAAeiYAAICEAAD6AAAAgOgAAHUwAADqYAAAOpgAABdwnLpRPAAAABh0RVh0U29mdHdhcmUAUGFpbnQuTkVUIHYzLjIwWZ92UQAAAI5JREFUKFNjfP76/f+dRy8ygMEPCAUCH6B8a0NxBoYFGw78xwA//v//8OH//wdAwsAj4T+mIriC//8PXHgAVbQCySQkBQ9efPi/4QCaIpCx6BiuaALIJJAJQPwA5A4gceHGB6BVH/4v2HEBYh1IEYYCbIpAJoAcueEEEAPdATIBhsEmnb54HcMtyG4DyQMAS+rq4jk+qVQAAAAASUVORK5CYII= + + + 1 + SIGNS_PLUS + 0 + iVBORw0KGgoAAAANSUhEUgAAAAkAAAAJCAYAAADgkQYQAAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8YQUAAAAgY0hSTQAAeiYAAICEAAD6AAAAgOgAAHUwAADqYAAAOpgAABdwnLpRPAAAABh0RVh0U29mdHdhcmUAUGFpbnQuTkVUIHYzLjIwWZ92UQAAAJZJREFUKFNjfP76/f+dRy8ygMEPCAUCH6B8a0NxBoYFGw78xwA//v//8OH//wdAwsAj4T+GIpAgRMH//wcuPIAqWoFkEtAEkCKQggcvPvzfcABNEUgSHcMVTQCZBHIDEINMACm8cOMD0KoP/xfsuACxDqQIpuABUBVI8AA2RTBHbjjxAOwOkAkwDDbp9MXrGG5BdhtIHgAc3OMlaQBkAQAAAABJRU5ErkJggg== + + + 1 + SPLITTER_BACKGROUND + 0 + iVBORw0KGgoAAAANSUhEUgAAAAEAAAAICAIAAAC3eAIWAAAACXBIWXMAAA7EAAAOxAGVKw4bAAAAB3RJTUUH1wQMCzoWoZEbhgAAAAd0RVh0QXV0aG9yAKmuzEgAAAAMdEVYdERlc2NyaXB0aW9uABMJISMAAAAKdEVYdENvcHlyaWdodACsD8w6AAAADnRFWHRDcmVhdGlvbiB0aW1lADX3DwkAAAAJdEVYdFNvZnR3YXJlAF1w/zoAAAALdEVYdERpc2NsYWltZXIAt8C0jwAAAAh0RVh0V2FybmluZwDAG+aHAAAAB3RFWHRTb3VyY2UA9f+D6wAAAAh0RVh0Q29tbWVudAD2zJa/AAAABnRFWHRUaXRsZQCo7tInAAAAIElEQVR4nGNg0J3GFBnlwPTx0xemj5++QujPEJqBgQEA9uoP+wBka74AAAAASUVORK5CYII= + + + 1 + SPLITTER_GRIPPER + 0 + iVBORw0KGgoAAAANSUhEUgAAACMAAAAICAIAAAD80NH7AAAACXBIWXMAAA7EAAAOxAGVKw4bAAAAB3RJTUUH1wQMCzomh0grKgAAAAd0RVh0QXV0aG9yAKmuzEgAAAAMdEVYdERlc2NyaXB0aW9uABMJISMAAAAKdEVYdENvcHlyaWdodACsD8w6AAAADnRFWHRDcmVhdGlvbiB0aW1lADX3DwkAAAAJdEVYdFNvZnR3YXJlAF1w/zoAAAALdEVYdERpc2NsYWltZXIAt8C0jwAAAAh0RVh0V2FybmluZwDAG+aHAAAAB3RFWHRTb3VyY2UA9f+D6wAAAAh0RVh0Q29tbWVudAD2zJa/AAAABnRFWHRUaXRsZQCo7tInAAAAXUlEQVR4nGNk0J3GQBfAEhnlQB+bGDWM3BkYGJTcmxkYGO7trKUdm4mBgcHSKXB9g+HHT19pymbQid388+fvnz9/68RupimbUTZgBX3iieXjpy/0sYmJPtYwMDAAAFC7kzEFWdJXAAAAAElFTkSuQmCC + + + 1 + TITLE_BACKGROUND + 0 + iVBORw0KGgoAAAANSUhEUgAAAAEAAAAaCAIAAAD5ZqGGAAAACXBIWXMAAA7EAAAOxAGVKw4bAAAKTWlDQ1BQaG90b3Nob3AgSUNDIHByb2ZpbGUAAHjanVN3WJP3Fj7f92UPVkLY8LGXbIEAIiOsCMgQWaIQkgBhhBASQMWFiApWFBURnEhVxILVCkidiOKgKLhnQYqIWotVXDjuH9yntX167+3t+9f7vOec5/zOec8PgBESJpHmomoAOVKFPDrYH49PSMTJvYACFUjgBCAQ5svCZwXFAADwA3l4fnSwP/wBr28AAgBw1S4kEsfh/4O6UCZXACCRAOAiEucLAZBSAMguVMgUAMgYALBTs2QKAJQAAGx5fEIiAKoNAOz0ST4FANipk9wXANiiHKkIAI0BAJkoRyQCQLsAYFWBUiwCwMIAoKxAIi4EwK4BgFm2MkcCgL0FAHaOWJAPQGAAgJlCLMwAIDgCAEMeE80DIEwDoDDSv+CpX3CFuEgBAMDLlc2XS9IzFLiV0Bp38vDg4iHiwmyxQmEXKRBmCeQinJebIxNI5wNMzgwAABr50cH+OD+Q5+bk4eZm52zv9MWi/mvwbyI+IfHf/ryMAgQAEE7P79pf5eXWA3DHAbB1v2upWwDaVgBo3/ldM9sJoFoK0Hr5i3k4/EAenqFQyDwdHAoLC+0lYqG9MOOLPv8z4W/gi372/EAe/tt68ABxmkCZrcCjg/1xYW52rlKO58sEQjFu9+cj/seFf/2OKdHiNLFcLBWK8ViJuFAiTcd5uVKRRCHJleIS6X8y8R+W/QmTdw0ArIZPwE62B7XLbMB+7gECiw5Y0nYAQH7zLYwaC5EAEGc0Mnn3AACTv/mPQCsBAM2XpOMAALzoGFyolBdMxggAAESggSqwQQcMwRSswA6cwR28wBcCYQZEQAwkwDwQQgbkgBwKoRiWQRlUwDrYBLWwAxqgEZrhELTBMTgN5+ASXIHrcBcGYBiewhi8hgkEQcgIE2EhOogRYo7YIs4IF5mOBCJhSDSSgKQg6YgUUSLFyHKkAqlCapFdSCPyLXIUOY1cQPqQ28ggMor8irxHMZSBslED1AJ1QLmoHxqKxqBz0XQ0D12AlqJr0Rq0Hj2AtqKn0UvodXQAfYqOY4DRMQ5mjNlhXIyHRWCJWBomxxZj5Vg1Vo81Yx1YN3YVG8CeYe8IJAKLgBPsCF6EEMJsgpCQR1hMWEOoJewjtBK6CFcJg4Qxwicik6hPtCV6EvnEeGI6sZBYRqwm7iEeIZ4lXicOE1+TSCQOyZLkTgohJZAySQtJa0jbSC2kU6Q+0hBpnEwm65Btyd7kCLKArCCXkbeQD5BPkvvJw+S3FDrFiOJMCaIkUqSUEko1ZT/lBKWfMkKZoKpRzame1AiqiDqfWkltoHZQL1OHqRM0dZolzZsWQ8ukLaPV0JppZ2n3aC/pdLoJ3YMeRZfQl9Jr6Afp5+mD9HcMDYYNg8dIYigZaxl7GacYtxkvmUymBdOXmchUMNcyG5lnmA+Yb1VYKvYqfBWRyhKVOpVWlX6V56pUVXNVP9V5qgtUq1UPq15WfaZGVbNQ46kJ1Bar1akdVbupNq7OUndSj1DPUV+jvl/9gvpjDbKGhUaghkijVGO3xhmNIRbGMmXxWELWclYD6yxrmE1iW7L57Ex2Bfsbdi97TFNDc6pmrGaRZp3mcc0BDsax4PA52ZxKziHODc57LQMtPy2x1mqtZq1+rTfaetq+2mLtcu0W7eva73VwnUCdLJ31Om0693UJuja6UbqFutt1z+o+02PreekJ9cr1Dund0Uf1bfSj9Rfq79bv0R83MDQINpAZbDE4Y/DMkGPoa5hpuNHwhOGoEctoupHEaKPRSaMnuCbuh2fjNXgXPmasbxxirDTeZdxrPGFiaTLbpMSkxeS+Kc2Ua5pmutG003TMzMgs3KzYrMnsjjnVnGueYb7ZvNv8jYWlRZzFSos2i8eW2pZ8ywWWTZb3rJhWPlZ5VvVW16xJ1lzrLOtt1ldsUBtXmwybOpvLtqitm63Edptt3xTiFI8p0in1U27aMez87ArsmuwG7Tn2YfYl9m32zx3MHBId1jt0O3xydHXMdmxwvOuk4TTDqcSpw+lXZxtnoXOd8zUXpkuQyxKXdpcXU22niqdun3rLleUa7rrStdP1o5u7m9yt2W3U3cw9xX2r+00umxvJXcM970H08PdY4nHM452nm6fC85DnL152Xlle+70eT7OcJp7WMG3I28Rb4L3Le2A6Pj1l+s7pAz7GPgKfep+Hvqa+It89viN+1n6Zfgf8nvs7+sv9j/i/4XnyFvFOBWABwQHlAb2BGoGzA2sDHwSZBKUHNQWNBbsGLww+FUIMCQ1ZH3KTb8AX8hv5YzPcZyya0RXKCJ0VWhv6MMwmTB7WEY6GzwjfEH5vpvlM6cy2CIjgR2yIuB9pGZkX+X0UKSoyqi7qUbRTdHF09yzWrORZ+2e9jvGPqYy5O9tqtnJ2Z6xqbFJsY+ybuIC4qriBeIf4RfGXEnQTJAntieTE2MQ9ieNzAudsmjOc5JpUlnRjruXcorkX5unOy553PFk1WZB8OIWYEpeyP+WDIEJQLxhP5aduTR0T8oSbhU9FvqKNolGxt7hKPJLmnVaV9jjdO31D+miGT0Z1xjMJT1IreZEZkrkj801WRNberM/ZcdktOZSclJyjUg1plrQr1zC3KLdPZisrkw3keeZtyhuTh8r35CP5c/PbFWyFTNGjtFKuUA4WTC+oK3hbGFt4uEi9SFrUM99m/ur5IwuCFny9kLBQuLCz2Lh4WfHgIr9FuxYji1MXdy4xXVK6ZHhp8NJ9y2jLspb9UOJYUlXyannc8o5Sg9KlpUMrglc0lamUycturvRauWMVYZVkVe9ql9VbVn8qF5VfrHCsqK74sEa45uJXTl/VfPV5bdra3kq3yu3rSOuk626s91m/r0q9akHV0IbwDa0b8Y3lG19tSt50oXpq9Y7NtM3KzQM1YTXtW8y2rNvyoTaj9nqdf13LVv2tq7e+2Sba1r/dd3vzDoMdFTve75TsvLUreFdrvUV99W7S7oLdjxpiG7q/5n7duEd3T8Wej3ulewf2Re/ranRvbNyvv7+yCW1SNo0eSDpw5ZuAb9qb7Zp3tXBaKg7CQeXBJ9+mfHvjUOihzsPcw83fmX+39QjrSHkr0jq/dawto22gPaG97+iMo50dXh1Hvrf/fu8x42N1xzWPV56gnSg98fnkgpPjp2Snnp1OPz3Umdx590z8mWtdUV29Z0PPnj8XdO5Mt1/3yfPe549d8Lxw9CL3Ytslt0utPa49R35w/eFIr1tv62X3y+1XPK509E3rO9Hv03/6asDVc9f41y5dn3m978bsG7duJt0cuCW69fh29u0XdwruTNxdeo94r/y+2v3qB/oP6n+0/rFlwG3g+GDAYM/DWQ/vDgmHnv6U/9OH4dJHzEfVI0YjjY+dHx8bDRq98mTOk+GnsqcTz8p+Vv9563Or59/94vtLz1j82PAL+YvPv655qfNy76uprzrHI8cfvM55PfGm/K3O233vuO+638e9H5ko/ED+UPPR+mPHp9BP9z7nfP78L/eE8/sl0p8zAAAABGdBTUEAALGOfPtRkwAAACBjSFJNAAB6JQAAgIMAAPn/AACA6QAAdTAAAOpgAAA6mAAAF2+SX8VGAAAAMklEQVR42nyKsQkAIBDEjtvSidzQaS7PN4qNWCWQaMxlSU5wwAlmMxyvT8Ohbnt8knoABd5GASnfTkkAAAAASUVORK5CYII= + + + 1 + TITLE_BACKGROUND_LEFT + 1 + + + + 1 + TITLE_BACKGROUND_WIDTH + 198 + + + + 1 + TITLE_BORDERCOLOR + 9841920 + + + + 1 + TITLE_FONTCOLOR + 16777215 + + + + 1 + TOOLTITLE_BACKGROUND + 0 + iVBORw0KGgoAAAANSUhEUgAAAAEAAAATCAIAAADeafBOAAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8YQUAAAAgY0hSTQAAeiYAAICEAAD6AAAAgOgAAHUwAADqYAAAOpgAABdwnLpRPAAAAFFJREFUGFcdw1sKQEAAQNG7/0VIkpKkJCkxjUQikUj2MS9fyqmD1yr65/3L2yEuR3M66sNS7ZZysxSrIV8M2WxIJ0MyauJBE/WasFMEUuEL9QED9C6y5vErvgAAAABJRU5ErkJggg== + + + 1 + TOOLTITLE_FONTCOLOR + 0 + + + + 1 + ZOOMNAVBAR_BAR + 0 + Qk3+BAAAAAAAADYEAAAoAAAAAQAAADIAAAABAAgAAAAAAAAAAADEDgAAxA4AAAABAAAAAQAAkzgE/5Q6Bf+WOwf/lz0J/5k/Cv+aQAz/m0IO/5xDD/+eRRH/n0cT/6BIFf+iShb/o0sY/6RNGv+mThv/p1Ad/6lSH/+qUyH/q1Ui/61WJP+uWCb/r1kn/7FbKf+yXSv/s14t/7VgLv+9cUX/0Jl6/9OfgP/Wo4b/2KmM/9utk//dspn/4Lef/+K8pv/kwaz/58Wy/+nKt//rzr3/7dLC/+/WyP/w2s3/8t7S//Th1//15dv/9ujg//jr4//57uj/+vHr//vz7v8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAAABAAAAAgAAAAMAAAAEAAAABQAAAAYAAAAHAAAACAAAAAkAAAAKAAAACwAAAAwAAAANAAAADgAAAA8AAAAQAAAAEQAAABIAAAATAAAAFAAAABUAAAAWAAAAFwAAABgAAAAZAAAAGgAAABsAAAAcAAAAHQAAAB4AAAAfAAAAIAAAACEAAAAiAAAAIwAAACQAAAAlAAAAJgAAACcAAAAoAAAAKQAAACoAAAArAAAALAAAAC0AAAAuAAAALwAAADAAAAAxAAAA + + + 1 + ZOOMNAVBAR_REFLECTEDSEPARATOR + 0 + iVBORw0KGgoAAAANSUhEUgAAADAAAAAwCAYAAABXAvmHAAAABGdBTUEAALGPC/xhBQAAABh0RVh0U29mdHdhcmUAUGFpbnQuTkVUIHYzLjIwWZ92UQAAAD9JREFUaEPt0IEAAAAAw6D5Ux/khVBhwIABAwYMGDBgwIABAwYMGDBgwIABAwYMGDBgwIABAwYMGDBgwMDLwAAkMAABCDVySwAAAABJRU5ErkJggg== + + + 1 + ZOOMNAVBAR_SEPARATOR + 0 + iVBORw0KGgoAAAANSUhEUgAAADAAAAAwCAYAAABXAvmHAAAABGdBTUEAALGPC/xhBQAAABh0RVh0U29mdHdhcmUAUGFpbnQuTkVUIHYzLjIwWZ92UQAAAD9JREFUaEPt0IEAAAAAw6D5Ux/khVBhwIABAwYMGDBgwIABAwYMGDBgwIABAwYMGDBgwIABAwYMGDBgwMDLwAAkMAABCDVySwAAAABJRU5ErkJggg== + + + 1 + ZOOMNAVBAR_STACKBUTTON + 0 + iVBORw0KGgoAAAANSUhEUgAAAMAAAAAcCAYAAAA3ILBTAAABF0lEQVR4nO3cMW7CQBRF0WuU1kUovAHatNn/CuiyCyJKOnAKG8YQg02BjP6/R0LC43kSxTw0jGRASqy6uW6A9ci4FMEJ2AH788BwoX8Dm8FYy/0izLln3vyS+UfXP/2LVT/YcL34pagq4AuooRTAbY8yqYBPKAVw8SubCkoBpJQ+Bu/bkftjY8/cM29+yfzk3GEBbrdBS/+KN2/+FadAV9wCKTULoNQsgFKzAErNAig1j0HNR85PzvUY1HzU/Jy5boGUmwVQahZAqVkApWYBlJrHoOYj5yfnegxqPmp+ztzLFuh0b4IUVAulALvzgJTAEfiFUoA93d9EWAJFdwS2wAH+741quqflfUheEbV03/yHpT+I9Bb+AD0fBdMuQEabAAAAAElFTkSuQmCC + + + 2 + BUTTON_FOCUSED_FONTCOLOR + 0 + + + + 2 + BUTTON_LEFT_FOCUSED + 0 + Qk22BAAAAAAAADYEAAAoAAAAAgAAACAAAAABAAgAAAAAAAAAAADEDgAAxA4AAAABAAAAAQAAWIBg/1/C9/9kxPf/aMb4/23I+P9xyvj/ds34/3rP+f9+0fn/g9P5/4fV+f+M1/r/kNr6/5Xc+v+Z3vr/neD7/6Li+/+m5Pv/q+f8/6/p/P+06/z/uO38/7zv/f/B8f3/xfT9/8r2/f/O+P7/0/r+/9f8/v//////AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/x0AAAAAAAAAAAEAAAACAAAAAwAAAAQAAAAFAAAABgAAAAcAAAAIAAAACQAAAAoAAAALAAAADAAAAA0AAAAOAAAADwAAABAAAAARAAAAEgAAABMAAAAUAAAAFQAAABYAAAAXAAAAGAAAABkAAAAaAAAAGwAAABwAAAAAAAAdAAAA + + + 2 + BUTTON_LEFT_HOTTRACKING + 0 + Qk22BAAAAAAAADYEAAAoAAAAAgAAACAAAAABAAgAAAAAAAAAAADEDgAAxA4AAAABAAAAAQAAcKCT/9Xj3///////AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wIAAAAAAAAAAAEAAAABAAAAAQAAAAEAAAABAAAAAQAAAAEAAAABAAAAAQAAAAEAAAABAAAAAQAAAAEAAAABAAAAAQAAAAEAAAABAAAAAQAAAAEAAAABAAAAAQAAAAEAAAABAAAAAQAAAAEAAAABAAAAAQAAAAEAAAAAAAACAAAA + + + 2 + BUTTON_LEFT_NOTFOCUSED + 0 + Qk22BAAAAAAAADYEAAAoAAAAAgAAACAAAAABAAgAAAAAAAAAAADEDgAAxA4AAAABAAAAAQAAWIBg/47Cs/+Qw7X/k8W3/5XHuf+XyLv/msq9/5zMv/+ezcH/oM/D/6PQxf+l0sf/p9TJ/6rVy/+s18z/rtnO/7Ha0P+z3NL/td7U/7ff1v+64dj/vOLa/77k3P/B5t7/w+fg/8Xp4v/I6+T/yuzm/8zu6P//////AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/x0AAAAAAAAAAAEAAAACAAAAAwAAAAQAAAAFAAAABgAAAAcAAAAIAAAACQAAAAoAAAALAAAADAAAAA0AAAAOAAAADwAAABAAAAARAAAAEgAAABMAAAAUAAAAFQAAABYAAAAXAAAAGAAAABkAAAAaAAAAGwAAABwAAAAAAAAdAAAA + + + 2 + BUTTON_MIDDLE_FOCUSED + 0 + Qk22BAAAAAAAADYEAAAoAAAAAQAAACAAAAABAAgAAAAAAAAAAADEDgAAxA4AAAABAAAAAQAAWIBg/1vA9/9fwvf/ZMT3/2jG+P9tyPj/ccr4/3bN+P96z/n/ftH5/4PT+f+H1fn/jNf6/5Da+v+V3Pr/md76/53g+/+i4vv/puT7/6vn/P+v6fz/tOv8/7jt/P+87/3/wfH9/8X0/f/K9v3/zvj+/9P6/v/X/P7/3P///wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAAABAAAAAgAAAAMAAAAEAAAABQAAAAYAAAAHAAAACAAAAAkAAAAKAAAACwAAAAwAAAANAAAADgAAAA8AAAAQAAAAEQAAABIAAAATAAAAFAAAABUAAAAWAAAAFwAAABgAAAAZAAAAGgAAABsAAAAcAAAAHQAAAB4AAAAAAAAA + + + 2 + BUTTON_MIDDLE_HOTTRACKING + 0 + Qk22BAAAAAAAADYEAAAoAAAAAQAAACAAAAABAAgAAAAAAAAAAADEDgAAxA4AAAABAAAAAQAAcKCT/9Xj3/8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAAABAAAAAQAAAAEAAAABAAAAAQAAAAEAAAABAAAAAQAAAAEAAAABAAAAAQAAAAEAAAABAAAAAQAAAAEAAAABAAAAAQAAAAEAAAABAAAAAQAAAAEAAAABAAAAAQAAAAEAAAABAAAAAQAAAAEAAAABAAAAAQAAAAEAAAAAAAAA + + + 2 + BUTTON_MIDDLE_NOTFOCUSED + 0 + Qk22BAAAAAAAADYEAAAoAAAAAQAAACAAAAABAAgAAAAAAAAAAADEDgAAxA4AAAABAAAAAQAAWIBg/4zAsf+OwrP/kMO1/5PFt/+Vx7n/l8i7/5rKvf+czL//ns3B/6DPw/+j0MX/pdLH/6fUyf+q1cv/rNfM/67Zzv+x2tD/s9zS/7Xe1P+339b/uuHY/7zi2v++5Nz/webe/8Pn4P/F6eL/yOvk/8rs5v/M7uj/z/Dq/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAAABAAAAAgAAAAMAAAAEAAAABQAAAAYAAAAHAAAACAAAAAkAAAAKAAAACwAAAAwAAAANAAAADgAAAA8AAAAQAAAAEQAAABIAAAATAAAAFAAAABUAAAAWAAAAFwAAABgAAAAZAAAAGgAAABsAAAAcAAAAHQAAAB4AAAAAAAAA + + + 2 + BUTTON_NOTFOCUSED_FONTCOLOR + 0 + + + + 2 + BUTTON_RIGHT_FOCUSED + 0 + Qk22BAAAAAAAADYEAAAoAAAAAgAAACAAAAABAAgAAAAAAAAAAADEDgAAxA4AAAABAAAAAQAAWIBg/1/C9/9kxPf/aMb4/23I+P9xyvj/ds34/3rP+f9+0fn/g9P5/4fV+f+M1/r/kNr6/5Xc+v+Z3vr/neD7/6Li+/+m5Pv/q+f8/6/p/P+06/z/uO38/7zv/f/B8f3/xfT9/8r2/f/O+P7/0/r+/9f8/v//////AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAdAAAAAAAAAQAAAAIAAAADAAAABAAAAAUAAAAGAAAABwAAAAgAAAAJAAAACgAAAAsAAAAMAAAADQAAAA4AAAAPAAAAEAAAABEAAAASAAAAEwAAABQAAAAVAAAAFgAAABcAAAAYAAAAGQAAABoAAAAbAAAAHAAAAAAAAAAAHQAA + + + 2 + BUTTON_RIGHT_HOTTRACKING + 0 + Qk22BAAAAAAAADYEAAAoAAAAAgAAACAAAAABAAgAAAAAAAAAAADEDgAAxA4AAAABAAAAAQAAcKCT/9Xj3///////AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wACAAAAAAAAAQAAAAEAAAABAAAAAQAAAAEAAAABAAAAAQAAAAEAAAABAAAAAQAAAAEAAAABAAAAAQAAAAEAAAABAAAAAQAAAAEAAAABAAAAAQAAAAEAAAABAAAAAQAAAAEAAAABAAAAAQAAAAEAAAABAAAAAQAAAAAAAAAAAgAA + + + 2 + BUTTON_RIGHT_NOTFOCUSED + 0 + Qk22BAAAAAAAADYEAAAoAAAAAgAAACAAAAABAAgAAAAAAAAAAADEDgAAxA4AAAABAAAAAQAAWIBg/47Cs/+Qw7X/k8W3/5XHuf+XyLv/msq9/5zMv/+ezcH/oM/D/6PQxf+l0sf/p9TJ/6rVy/+s18z/rtnO/7Ha0P+z3NL/td7U/7ff1v+64dj/vOLa/77k3P/B5t7/w+fg/8Xp4v/I6+T/yuzm/8zu6P//////AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAdAAAAAAAAAQAAAAIAAAADAAAABAAAAAUAAAAGAAAABwAAAAgAAAAJAAAACgAAAAsAAAAMAAAADQAAAA4AAAAPAAAAEAAAABEAAAASAAAAEwAAABQAAAAVAAAAFgAAABcAAAAYAAAAGQAAABoAAAAbAAAAHAAAAAAAAAAAHQAA + + + 2 + CONTAINER_BORDERCOLOR + 5800032 + + + + 2 + EXPLORERBAR_BACKGROUND + 0 + iVBORw0KGgoAAAANSUhEUgAAAAEAAAHZCAMAAABw0aFNAAAABGdBTUEAALGPC/xhBQAAAwBQTFRFpb2Epb2Fpr6Fpr6Gp7+HqL+HqL+IqcCIqcCJqsGKq8GLrMKLrMKMrcONrsOOrsSOr8SPsMSPsMWQscWRscaRssaSs8eTtMeTtMeUtMiUtciVtsmWt8qXuMqYucuZucyausybu82cvM2cvM6cvM6dvc6evs+fv9Cfv9CgwNCgwNChwdGiwtKiwtKjw9KkxNOkxNOlxdSlxdSmxtSnx9Wox9aoyNaoyNapydaqyterytiry9iszNmtAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAZsvEpQAAABh0RVh0U29mdHdhcmUAUGFpbnQuTkVUIHYzLjMwQIRHEAAAAJJJREFUOE91wQUSwkAABMHB3d3d3fX/74KQSnEJSzdPHvId5w3zFfWCfubM6f3oekDfo+6wbz03ONd8r9CXWBeec/QZ5in2yef45wh9iDqg/7NHj67cQW+jttCbqA30OmoNtUrls+xZQi/iXcCal3M4s5gzuKexpv5MoiZwj2OPyVH0COYw9pAYJEhA9mP24UR5AQQQNjsQQljvAAAAAElFTkSuQmCC + + + 2 + EXPLORERBAR_BORDERCOLOR + 16777215 + + + + 2 + EXPLORERBAR_NORMALGROUPBACKGROUND + 0 + iVBORw0KGgoAAAANSUhEUgAAANoAAAABCAMAAACPOkAFAAAABGdBTUEAALGPC/xhBQAAAwBQTFRF9vbsAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAJZ4YQQAAABh0RVh0U29mdHdhcmUAUGFpbnQuTkVUIHYzLjMwQIRHEAAAAAxJREFUGFdjYBi2AAAA2wABbb4xPgAAAABJRU5ErkJggg== + + + 2 + EXPLORERBAR_NORMALGROUPCOLLAPSEHIGHLIGHT + 0 + iVBORw0KGgoAAAANSUhEUgAAAPEAAAAZCAMAAADXAjjUAAAABGdBTUEAALGPC/xhBQAAAwBQTFRFAAAAcpIdwM23xM62wc24wc64ws65w8+6xdC4xNC7xdG8x9K9ydK6ytO7yNK8ytS8ytW+ydW/zNW6zta6zNa7zti9zti+zti/0dm90di+1Ny+1Ny/1t6/3+a33eK+3OK/3+a43+a53uS+3+a+3+a/4Oa44Oa54Oe64Oe74ee84ee94Oa+4Oa/4ei54Oi64ei74ei84ui94ui+4ui/5Om+5Oq+5Oq/ytTCy9XDzNbEztjGztjHz9nI0trC0drD0drE0tvF1N3D1t7F0drJ09vL09vM09zN19/Q19/R2N/R2ODA2uLG3+XA3uTB3+fB3eTG3eTI3uTJ2eHT2+LU3uTY4efB4ufC4+jD4+nE5OnB5erA5OrB5erC5uvD5OnE5OnH5OrH5+zD5+zE4+jI4ujJ6OzF6OzG6e3H6e3I6u7I6u7J6u7K6+7L7O/M7O/N4Obb4efd4+jd7fDN7fDO7vDP7vHQ7/HR7/HS8PLS8PLT8PLU8fPV8vPW8vPX8/TX8/TY9PTZ9PXa9fXb9fXc9vbc9vbd9/be9/ff5Ong5erg5+zj6e3k6u7n7O/n7vHp7vHq7vHr7/Ls8fPt8PPu8vTu8/Xv+Pfg+Pfh+Pjh+fji+fjj+vnk+/nl+/nm+/rm/Prm/Prn/Pro/fvp/vvq/vvr/vzr//zs8/Xx9Pbw9fbx9/jz9/j0+Pn2+Pn3+vr3+vv4+vv5/Pz6/Pz7/f38/f79/v/+////AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAoGLbZgAAAQB0Uk5T////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////AFP3ByUAAAAYdEVYdFNvZnR3YXJlAFBhaW50Lk5FVCB2My4zMECERxAAAAIqSURBVFhH7dhnV9NgFMDx4gCpiuAeaBEakqZAFi4UF+BGRHFUQKRFrQuRqjgKOKqioFZGwQUOrAi1lpjy9eK9Tzi88Rtc/J2evv+fm/ukfWymGY1Gv6PR0W+Wr8wX5jMaGRke/vQRfUDvwTtmaGhwMBKJPAfPwFMQCoWePAaPwEPQCTo62tuDweADcB/cA3fb2u6A2+AWCAQCra3NzdfBNXAVXAGX/X7/JXARXABer7exsb6+jqkFZ9FmtKm4WFUVJDMSU2QpLMxHHMeZpg2DZ1ExZ9owmHCxpGiaphbNzJjjaBdr54/t3bl7V+lhn2v6qSZeXFudtaOlpy/cVTFnzxlrj2kXe6rTb/yaQkbPliXncsgXy032FoMFgx9bV2k51GdcV3pQx9gUlvw2tWoj9eKGrDALTsHkpHFgpcKGTPisbtqeYMH4mUrq3YtPUp+xb58VzL6MyTcZR3niM/ZVWIcW2+M/iXBmpbCe9lPt22YdXNZDHXuVcUTARSa8xw32vpk9NhLjNxeRL/ZkHjeS03s8OdFbttxJfcZC1byXuq4bhqH/Hh+oSc12U99j3rMm7UU8Fo/HJn7216Qvc4g88ZNLkk+vmH/i9djYQG/3/rSljjyR+vtYEpRT6+baS8rLSxYuWL0hV2RrTPmsliRBVSsPrQXZjly36CL/uxquuQRZLXAXOJ1uEYPJ/1vEmz1eUhS875Nd/Gy4EcC7zHweYe3/Yqr31f/O+C9gZ7otZ1QfyQAAAABJRU5ErkJggg== + + + 2 + EXPLORERBAR_NORMALGROUPCOLLAPSENOTHIGHLIGHT + 0 + iVBORw0KGgoAAAANSUhEUgAAAPEAAAAZCAMAAADXAjjUAAAABGdBTUEAALGPC/xhBQAAAwBQTFRFAAAAS2ccwM23xM62wc24wc64ws65w8+6xdC4xNC7xdG8x9K9ydK6ytO7yNK8ytS8ytW+ydW/zNW6zta6zNa7zti9zti+zti/0dm90di+1Ny+1Ny/1t6/3+a33eK+3OK/3+a43+a53uS+3+a+3+a/4Oa44Oa54Oe64Oe74ee84ee94Oa+4Oa/4ei54Oi64ei74ei84ui94ui+4ui/5Om+5Oq+5Oq/ytTCy9XDzNbEztjGztjHz9nI0trC0drD0drE0tvF1N3D1t7F0drJ09vL09vM09zN19/Q19/R2N/R2ODA2uLG3+XA3uTB3+fB3eTG3eTI3uTJ2eHT2+LU3uTY4efB4ufC4+jD4+nE5OnB5erA5OrB5erC5uvD5OnE5OnH5OrH5+zD5+zE4+jI4ujJ6OzF6OzG6e3H6e3I6u7I6u7J6u7K6+7L7O/M7O/N4Obb4efd4+jd7fDN7fDO7vDP7vHQ7/HR7/HS8PLS8PLT8PLU8fPV8vPW8vPX8/TX8/TY9PTZ9PXa9fXb9fXc9vbc9vbd9/be9/ff5Ong5erg5+zj6e3k6u7n7O/n7vHp7vHq7vHr7/Ls8fPt8PPu8vTu8/Xv+Pfg+Pfh+Pjh+fji+fjj+vnk+/nl+/nm+/rm/Prm/Prn/Pro/fvp/vvq/vvr/vzr//zs8/Xx9Pbw9fbx9/jz9/j0+Pn2+Pn3+vr3+vv4+vv5/Pz6/Pz7/f38/f79/v/+////AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAdgqtuQAAAQB0Uk5T////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////AFP3ByUAAAAYdEVYdFNvZnR3YXJlAFBhaW50Lk5FVCB2My4zMECERxAAAAIqSURBVFhH7dhnV9NgFMDx4gCpiuAeaBEakqZAFi4UF+BGRHFUQKRFrQuRqjgKOKqioFZGwQUOrAi1lpjy9eK9Tzi88Rtc/J2evv+fm/ukfWymGY1Gv6PR0W+Wr8wX5jMaGRke/vQRfUDvwTtmaGhwMBKJPAfPwFMQCoWePAaPwEPQCTo62tuDweADcB/cA3fb2u6A2+AWCAQCra3NzdfBNXAVXAGX/X7/JXARXABer7exsb6+jqkFZ9FmtKm4WFUVJDMSU2QpLMxHHMeZpg2DZ1ExZ9owmHCxpGiaphbNzJjjaBdr54/t3bl7V+lhn2v6qSZeXFudtaOlpy/cVTFnzxlrj2kXe6rTb/yaQkbPliXncsgXy032FoMFgx9bV2k51GdcV3pQx9gUlvw2tWoj9eKGrDALTsHkpHFgpcKGTPisbtqeYMH4mUrq3YtPUp+xb58VzL6MyTcZR3niM/ZVWIcW2+M/iXBmpbCe9lPt22YdXNZDHXuVcUTARSa8xw32vpk9NhLjNxeRL/ZkHjeS03s8OdFbttxJfcZC1byXuq4bhqH/Hh+oSc12U99j3rMm7UU8Fo/HJn7216Qvc4g88ZNLkk+vmH/i9djYQG/3/rSljjyR+vtYEpRT6+baS8rLSxYuWL0hV2RrTPmsliRBVSsPrQXZjly36CL/uxquuQRZLXAXOJ1uEYPJ/1vEmz1eUhS875Nd/Gy4EcC7zHweYe3/Yqr31f/O+C9gZ7otZ1QfyQAAAABJRU5ErkJggg== + + + 2 + EXPLORERBAR_NORMALGROUPEXPANDHIGHLIGHT + 0 + iVBORw0KGgoAAAANSUhEUgAAAPEAAAAZCAMAAADXAjjUAAAABGdBTUEAALGPC/xhBQAAAwBQTFRFAAAAcpIdwM23xM62wc24wc64ws65w8+6xdC4xNC7xdG8x9K9ydK6ytO7yNK8ytS8ytW+ydW/zNW6zta6zNa7zti9zti+zti/0dm90di+1Ny+1Ny/1t6/3+a33eK+3OK/3+a43+a53uS+3+a+3+a/4Oa44Oa54Oe64Oe74ee84ee94Oa+4Oa/4ei54Oi64ei74ei84ui94ui+4ui/5Om+5Oq+5Oq/ytTCy9XDzNbEztjGztjHz9nI0trC0drD0drE0tvF1N3D1t7F0drJ09vL09vM09zN19/Q19/R2N/R2ODA2uLG3+XA3uTB3+fB3eTG3eTI3uTJ2eHT2+LU3uTY4efB4ufC4+jD4+nE5OnB5erA5OrB5erC5uvD5OnE5OnH5OrH5+zD5+zE4+jI4ujJ6OzF6OzG6e3H6e3I6u7I6u7J6u7K6+7L7O/M7O/N4Obb4efd4+jd7fDN7fDO7vDP7vHQ7/HR7/HS8PLS8PLT8PLU8fPV8vPW8vPX8/TX8/TY9PTZ9PXa9fXb9fXc9vbc9vbd9/be9/ff5Ong5erg5+zj6e3k6u7n7O/n7vHp7vHq7vHr7/Ls8fPt8PPu8vTu8/Xv+Pfg+Pfh+Pjh+fji+fjj+vnk+/nl+/nm+/rm/Prm/Prn/Pro/fvp/vvq/vvr/vzr//zs8/Xx9Pbw9fbx9/jz9/j0+Pn2+Pn3+vr3+vv4+vv5/Pz6/Pz7/f38/f79/v/+////AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAoGLbZgAAAQB0Uk5T////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////AFP3ByUAAAAYdEVYdFNvZnR3YXJlAFBhaW50Lk5FVCB2My4zMECERxAAAAIwSURBVFhH7dhXX9NgFAbw1gFSFcE90CI2JE2BNAkuFCe4EVEcFRBpUetCpCqOgqtOUCtIwQUOrAi1lpjm68Vz3iA3foOD/4vcP7/zPm+SYzPNeDz+DQ0Pf7V8YT4zn9DQ0ODgxw/oPXoH3jIDA/39sVjsCXgMHoFIJPLwAbgP7oG7oLOzoyMcDt8Bt8EtcLO9/Qa4Dq6BUCjU1tbSchlcAhfBBXA+GAyeA2fBGeD3+5uaGhrqmTpwEq1Da0tLFUVGXkZiSizFxYWI4zjTtGHgKZSYM20YmHBiSVZVVSmZnDHH0U6snj60Y8u2reX7A+6JU008cV1N7ubW7t7o08pp209YPaad2FeTdeWngfTu9fNO5ZNP7G12tOosMPi+YYmaT33G9eV7tb+BDeN1RvVq6okbc6OGYbdDaHik9T2LZTZkwnd186aUlRZTp7WuuUepzziwi51pOxuzPv4q+yBPfMaBSqvFGNj4nYrmVAkraZ/qwEa4uCZ6nNYSL7IPCFhkwj1udPRO9lhPjV6dQz6xL+ewnk6zHuvjYz07F7qoz1ionvFc0zTdrmu/RvtqM/I81HvM+5ZlPksmksnE2I83tVkLnCJP/OaSvMcXzTzycmSkr6drd+Z85xqR+vtYEuRjK6Y7yioqymbPWrqqQGQ1pnxXS5KgKFX7loM8Z4FHdJP/roY1l+BVijxFLpdHxMDk/xZxs8dLsoz7Pq+bnwobAdxlFvII0/5PTHVf/e+M/wABmLosYFFdIwAAAABJRU5ErkJggg== + + + 2 + EXPLORERBAR_NORMALGROUPEXPANDNOTHIGHLIGHT + 0 + iVBORw0KGgoAAAANSUhEUgAAAPEAAAAZCAMAAADXAjjUAAAABGdBTUEAALGPC/xhBQAAAwBQTFRFAAAAS2ccwM23xM62wc24wc64ws65w8+6xdC4xNC7xdG8x9K9ydK6ytO7yNK8ytS8ytW+ydW/zNW6zta6zNa7zti9zti+zti/0dm90di+1Ny+1Ny/1t6/3+a33eK+3OK/3+a43+a53uS+3+a+3+a/4Oa44Oa54Oe64Oe74ee84ee94Oa+4Oa/4ei54Oi64ei74ei84ui94ui+4ui/5Om+5Oq+5Oq/ytTCy9XDzNbEztjGztjHz9nI0trC0drD0drE0tvF1N3D1t7F0drJ09vL09vM09zN19/Q19/R2N/R2ODA2uLG3+XA3uTB3+fB3eTG3eTI3uTJ2eHT2+LU3uTY4efB4ufC4+jD4+nE5OnB5erA5OrB5erC5uvD5OnE5OnH5OrH5+zD5+zE4+jI4ujJ6OzF6OzG6e3H6e3I6u7I6u7J6u7K6+7L7O/M7O/N4Obb4efd4+jd7fDN7fDO7vDP7vHQ7/HR7/HS8PLS8PLT8PLU8fPV8vPW8vPX8/TX8/TY9PTZ9PXa9fXb9fXc9vbc9vbd9/be9/ff5Ong5erg5+zj6e3k6u7n7O/n7vHp7vHq7vHr7/Ls8fPt8PPu8vTu8/Xv+Pfg+Pfh+Pjh+fji+fjj+vnk+/nl+/nm+/rm/Prm/Prn/Pro/fvp/vvq/vvr/vzr//zs8/Xx9Pbw9fbx9/jz9/j0+Pn2+Pn3+vr3+vv4+vv5/Pz6/Pz7/f38/f79/v/+////AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAdgqtuQAAAQB0Uk5T////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////AFP3ByUAAAAYdEVYdFNvZnR3YXJlAFBhaW50Lk5FVCB2My4zMECERxAAAAIwSURBVFhH7dhXX9NgFAbw1gFSFcE90CI2JE2BNAkuFCe4EVEcFRBpUetCpCqOgqtOUCtIwQUOrAi1lpjm68Vz3iA3foOD/4vcP7/zPm+SYzPNeDz+DQ0Pf7V8YT4zn9DQ0ODgxw/oPXoH3jIDA/39sVjsCXgMHoFIJPLwAbgP7oG7oLOzoyMcDt8Bt8EtcLO9/Qa4Dq6BUCjU1tbSchlcAhfBBXA+GAyeA2fBGeD3+5uaGhrqmTpwEq1Da0tLFUVGXkZiSizFxYWI4zjTtGHgKZSYM20YmHBiSVZVVSmZnDHH0U6snj60Y8u2reX7A+6JU008cV1N7ubW7t7o08pp209YPaad2FeTdeWngfTu9fNO5ZNP7G12tOosMPi+YYmaT33G9eV7tb+BDeN1RvVq6okbc6OGYbdDaHik9T2LZTZkwnd186aUlRZTp7WuuUepzziwi51pOxuzPv4q+yBPfMaBSqvFGNj4nYrmVAkraZ/qwEa4uCZ6nNYSL7IPCFhkwj1udPRO9lhPjV6dQz6xL+ewnk6zHuvjYz07F7qoz1ionvFc0zTdrmu/RvtqM/I81HvM+5ZlPksmksnE2I83tVkLnCJP/OaSvMcXzTzycmSkr6drd+Z85xqR+vtYEuRjK6Y7yioqymbPWrqqQGQ1pnxXS5KgKFX7loM8Z4FHdJP/roY1l+BVijxFLpdHxMDk/xZxs8dLsoz7Pq+bnwobAdxlFvII0/5PTHVf/e+M/wABmLosYFFdIwAAAABJRU5ErkJggg== + + + 2 + EXPLORERBAR_NORMALGROUPHIGHLIGHT_FORECOLOR + 1938034 + + + + 2 + EXPLORERBAR_NORMALGROUPNOTHIGHLIGHT_FORECOLOR + 2975318 + + + + 2 + EXPLORERBAR_SPECIALGROUPBACKGROUND + 0 + iVBORw0KGgoAAAANSUhEUgAAANoAAAABCAMAAACPOkAFAAAABGdBTUEAALGPC/xhBQAAAwBQTFRF9vbsAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAJZ4YQQAAABh0RVh0U29mdHdhcmUAUGFpbnQuTkVUIHYzLjMwQIRHEAAAAAxJREFUGFdjYBi2AAAA2wABbb4xPgAAAABJRU5ErkJggg== + + + 2 + EXPLORERBAR_SPECIALGROUPCOLLAPSEHIGHLIGHT + 0 + iVBORw0KGgoAAAANSUhEUgAAAPEAAAAZCAMAAADXAjjUAAAABGdBTUEAALGPC/xhBQAAAwBQTFRFAAAAd4xAd4xBeIxBeI1CeY5CeY5Deo9Ee49Fe5BFfJBGfJFHfZFIfZJIfpJJf5NKf5RLgJRLgJRMgZVNgpZNgpZOg5ZPg5dQhJdQhJhQhJhRhZlShplThppTh5pUh5tViJtViJxWiZxXip1Yip5Yi55Zi55ajJ9ajJ9bgKFNgKJOgaNPgqNQgqRQgqRRg6VShaZUhadVhqdWh6hXjaBbjaBcjqFdj6Fej6Jej6JfiahYialaiqpbi6pcjKtcjaxcjaxfkKJfjaxgjq1hkKNgkaNhkaRhkqRik6Vjk6Vlk6ZklKZklKZllKZmladnlqdoka9hka9kka9llahllahmlqhnlqholqhpl6lqmKprmapsmattmqtum6xtm6xum61vm6xwnK1wna1xna1yna5xna5ynq5znq90n691krBikrBkkrBmk7BnlbFllbFmlrNnlLFpl7NolbJqlrNsmrVxm7ZxmrZyn7B2nrlzoK92oLB1obB3oLB4oLB5o7N7orN8pbN9pLR9oLlxobpzoLp2obp4o7x6p755p798p79/qMB7qsF9q8F+q8J/p7aBqLeBqLaCqLeDqbeFqrmEqrmFqbmGrbuHqrmIrryIsr+Nsb+Osb+Psb6QrMODrsSFscaHs8iJtcmLtsqLuMuMuMuNucuOs8CRs8GTtMGStcOTtsOUtsSUt8SVt8SWuMmQucqSu8uWucyQu8yTu86RvM2Svc+Svc6Uvs+Wu8mYu8mZu8mavMqZvMqavcqbvc2Yvs2Zv8+av82cv8ydv8+dvtCUvtCWv9CXwc6cwM6dwM+ewdGYwdGbwdCdwtCew9Kf3e2+AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAqnSqhwAAAQB0Uk5T////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////AFP3ByUAAAAYdEVYdFNvZnR3YXJlAFBhaW50Lk5FVCB2My4zMECERxAAAAIwSURBVFhHY/j/nxEImJhhgAUMWFnZoIAdDDg4ODhBgAsEuCGAhxcM+ECAHwQEBIFACASEgUBERBQExEBAXEJCUlIKBKTBQEZWVg4M5BWAQBEElEBAGQhUVFRBQE0dCDQ0NExMTEHADAzMzS0sLCwtHYHABQJc3YDAHQo8wMDLy8sbBHygwBcKQkJCQ0P//2cAe3jk+Dj0PwPYw8PXx8HhUclpaYnhwHgGx3Fo6PD2cXD8jL0nzh4/fPbQrOgR4WPfql2nN87rbGvtWHDqZP8IiGPftL1H57WWFBfkZGdXLDk32XfYp2r/lcfmlhUH2tpY29jaZi06WeU33PNxzcn5pUVORvrn9fQNDfUDtq4OG+4+nra9pcDBUPf8+fO6INB1MHW4+3jWomJnY6CHQUhXVzt3f2P4MK+dZi4IsjUA+xZEaNtt6o8a5j6eNd/ZWh/kX1Ca1ta2WjchBlh2DecWyKxFtobgCAYnai379RPjhnkcT9mWqQdO0eBErZW3YcJw93H5mXZIFgYS2lo63TsahruPfVdty9fW1gZnYi3Nwi3Lqod7PvbM2Ls5XwsMNDVzF+/sS48a5iWXj3/jniPNVpqamlrWTUt3T61JHu71sY9PZN3aAwt729t7Fu5bM6k2LXq4t7l8fHyj0qfMXr58+Yo50+tr0mOHfbsaOM7lG5lSWVMLBDWVqeAYHt4tEPDIXlh0QnJSUnJCTEToSBj1AfvZLwwI/EbIONeoj0H5GAA8XXYaFSMVkwAAAABJRU5ErkJggg== + + + 2 + EXPLORERBAR_SPECIALGROUPCOLLAPSENOTHIGHLIGHT + 0 + iVBORw0KGgoAAAANSUhEUgAAAPEAAAAZCAMAAADXAjjUAAAABGdBTUEAALGPC/xhBQAAAwBQTFRFAAAAd4xAd4xBeIxBeI1CeY5CeY5Deo9Ee49Fe5BFfJBGfJFHfZFIfZJIfpJJf5NKf5RLgJRLgJRMgZVNgpZNgpZOg5ZPg5dQhJdQhJhQhJhRhZlShplThppTh5pUh5tViJtViJxWiZxXip1Yip5Yi55Zi55ajJ9ajJ9bgKFNgKJOgaNPgqNQgqRQgqRRg6VShaZUhadVhqdWh6hXjaBbjaBcjqFdj6Fej6Jej6JfiahYialaiqpbi6pcjKtcjaxcjaxfkKJfjaxgjq1hkKNgkaNhkaRhkqRik6Vjk6Vlk6ZklKZklKZllKZmladnlqdoka9hka9kka9llahllahmlqhnlqholqhpl6lqmKprmapsmattmqtum6xtm6xum61vm6xwnK1wna1xna1yna5xna5ynq5znq90n691krBikrBkkrBmk7BnlbFllbFmlrNnlLFpl7NolbJqlrNsmrVxm7ZxmrZyn7B2nrlzoK92oLB1obB3oLB4oLB5o7N7orN8pbN9pLR9oLlxobpzoLp2obp4o7x6p755p798p79/qMB7qsF9q8F+q8J/p7aBqLeBqLaCqLeDqbeFqrmEqrmFqbmGrbuHqrmIrryIsr+Nsb+Osb+Psb6QrMODrsSFscaHs8iJtcmLtsqLuMuMuMuNucuOs8CRs8GTtMGStcOTtsOUtsSUt8SVt8SWuMmQucqSu8uWucyQu8yTu86RvM2Svc+Svc6Uvs+Wu8mYu8mZu8mavMqZvMqavcqbvc2Yvs2Zv8+av82cv8ydv8+dvtCUvtCWv9CXwc6cwM6dwM+ewdGYwdGbwdCdwtCew9Kf////AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAw2AWPQAAAQB0Uk5T////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////AFP3ByUAAAAYdEVYdFNvZnR3YXJlAFBhaW50Lk5FVCB2My4zMECERxAAAAIwSURBVFhHY/j/nxEImJhhgAUMWFnZoIAdDDg4ODhBgAsEuCGAhxcM+ECAHwQEBIFACASEgUBERBQExEBAXEJCUlIKBKTBQEZWVg4M5BWAQBEElEBAGQhUVFRBQE0dCDQ0NExMTEHADAzMzS0sLCwtHYHABQJc3YDAHQo8wMDLy8sbBHygwBcKQkJCQ0P//2cAe3jk+Dj0PwPYw8PXx8HhUclpaYnhwHgGx3Fo6PD2cXD8jL0nzh4/fPbQrOgR4WPfql2nN87rbGvtWHDqZP8IiGPftL1H57WWFBfkZGdXLDk32XfYp2r/lcfmlhUH2tpY29jaZi06WeU33PNxzcn5pUVORvrn9fQNDfUDtq4OG+4+nra9pcDBUPf8+fO6INB1MHW4+3jWomJnY6CHQUhXVzt3f2P4MK+dZi4IsjUA+xZEaNtt6o8a5j6eNd/ZWh/kX1Ca1ta2WjchBlh2DecWyKxFtobgCAYnai379RPjhnkcT9mWqQdO0eBErZW3YcJw93H5mXZIFgYS2lo63TsahruPfVdty9fW1gZnYi3Nwi3Lqod7PvbM2Ls5XwsMNDVzF+/sS48a5iWXj3/jniPNVpqamlrWTUt3T61JHu71sY9PZN3aAwt729t7Fu5bM6k2LXq4t7l8fHyj0qfMXr58+Yo50+tr0mOHfbsaOM7lG5lSWVMLBDWVqeAYHt4tEPDIXlh0QnJSUnJCTEToSBj1AfvZLwwI/EbIONeoj0H5GAA8XXYaFSMVkwAAAABJRU5ErkJggg== + + + 2 + EXPLORERBAR_SPECIALGROUPEXPANDHIGHLIGHT + 0 + iVBORw0KGgoAAAANSUhEUgAAAPEAAAAZCAMAAADXAjjUAAAABGdBTUEAALGPC/xhBQAAAwBQTFRFAAAAd4xAd4xBeIxBeI1CeY5CeY5Deo9Ee49Fe5BFfJBGfJFHfZFIfZJIfpJJf5NKf5RLgJRLgJRMgZVNgpZNgpZOg5ZPg5dQhJdQhJhQhJhRhZlShplThppTh5pUh5tViJtViJxWiZxXip1Yip5Yi55Zi55ajJ9ajJ9bgKFNgKJOgaNPgqNQgqRQgqRRg6VShaZUhadVhqdWh6hXjaBbjaBcjqFdj6Fej6Jej6JfiahYialaiqpbi6pcjKtcjaxcjaxfkKJfjaxgjq1hkKNgkaNhkaRhkqRik6Vjk6Vlk6ZklKZklKZllKZmladnlqdoka9hka9kka9llahllahmlqhnlqholqhpl6lqmKprmapsmattmqtum6xtm6xum61vm6xwnK1wna1xna1yna5xna5ynq5znq90n691krBikrBkkrBmk7BnlbFllbFmlrNnlLFpl7NolbJqlrNsmrVxm7ZxmrZyn7B2nrlzoK92oLB1obB3oLB4oLB5o7N7orN8pbN9pLR9oLlxobpzoLp2obp4o7x6p755p798p79/qMB7qsF9q8F+q8J/p7aBqLeBqLaCqLeDqbeFqrmEqrmFqbmGrbuHqrmIrryIsr+Nsb+Osb+Psb6QrMODrsSFscaHs8iJtcmLtsqLuMuMuMuNucuOs8CRs8GTtMGStcOTtsOUtsSUt8SVt8SWuMmQucqSu8uWucyQu8yTu86RvM2Svc+Svc6Uvs+Wu8mYu8mZu8mavMqZvMqavcqbvc2Yvs2Zv8+av82cv8ydv8+dvtCUvtCWv9CXwc6cwM6dwM+ewdGYwdGbwdCdwtCew9Kf////AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAw2AWPQAAAQB0Uk5T////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////AFP3ByUAAAAYdEVYdFNvZnR3YXJlAFBhaW50Lk5FVCB2My4zMECERxAAAAIySURBVFhHY/j/nxEImJhhgAUMWFnZoIAdDDg4ODhBgAsEuCGAhxcM+ECAHwQEBIFACASEgUBERBQExEBAXEJCUlIKBKTBQEZWVg4M5BWAQBEElEBAGQhUVFRBQE0dCDQ0NExMTEHADAzMzS0sLCwtHYHABQJc3YDAHQo8wMDLy8sbBHygwBcKQkJCQ0P//2cAe3jk+Dj0PwPYw8PXx8HhUclpaYnhwHgGx3Fo6PD2cXD8jL0nzh4/fPbQrOgR4WPfql2nN87rbGvtWHDqZP8IiGPftL1H57WWFBfkZGdXLDk32XfYp2r/lcfmlhUH2tpY29jaZi06WeU33PNxzcn5pUVORvp6evqGhvoBW1eHDXcfT9veUuBw/ryuri6Y6DqYOtx9PGtRsbMxyLdgD2vn7m8MH+a108wFQbYGoAgGeVhX225Tf9Qw9/Gs+c7W+qA0DfawttW6CTHAsms4t0BmLbI1hKRoIKGtZb9+Ytwwj+Mp2zL1wL4F+VpbK2/DhOHu4/Iz7aD0DM7H2lo63TsahruPfVdty9fW1gbmY21tLc3CLcuqh3s+9szYuzlfCww0NXMX7+xLjxrmJZePf+OeI81WmpqaWtZNS3dPrUke7vWxj09k3doDC3vb23sW7lszqTYteri3uXx8fKPSp8xevnz5ijnT62vSY4d9uxo4zuUbmVJZUwsENZWp4Bge3i0Q8MheWHRCclJSckJMROhIGPUB+9kvDAj8Rsg416iPQfkYAKr8dheNkAQPAAAAAElFTkSuQmCC + + + 2 + EXPLORERBAR_SPECIALGROUPEXPANDNOTHIGHLIGHT + 0 + iVBORw0KGgoAAAANSUhEUgAAAPEAAAAZCAMAAADXAjjUAAAABGdBTUEAALGPC/xhBQAAAwBQTFRFAAAAd4xAd4xBeIxBeI1CeY5CeY5Deo9Ee49Fe5BFfJBGfJFHfZFIfZJIfpJJf5NKf5RLgJRLgJRMgZVNgpZNgpZOg5ZPg5dQhJdQhJhQhJhRhZlShplThppTh5pUh5tViJtViJxWiZxXip1Yip5Yi55Zi55ajJ9ajJ9bgKFNgKJOgaNPgqNQgqRQgqRRg6VShaZUhadVhqdWh6hXjaBbjaBcjqFdj6Fej6Jej6JfiahYialaiqpbi6pcjKtcjaxcjaxfkKJfjaxgjq1hkKNgkaNhkaRhkqRik6Vjk6Vlk6ZklKZklKZllKZmladnlqdoka9hka9kka9llahllahmlqhnlqholqhpl6lqmKprmapsmattmqtum6xtm6xum61vm6xwnK1wna1xna1yna5xna5ynq5znq90n691krBikrBkkrBmk7BnlbFllbFmlrNnlLFpl7NolbJqlrNsmrVxm7ZxmrZyn7B2nrlzoK92oLB1obB3oLB4oLB5o7N7orN8pbN9pLR9oLlxobpzoLp2obp4o7x6p755p798p79/qMB7qsF9q8F+q8J/p7aBqLeBqLaCqLeDqbeFqrmEqrmFqbmGrbuHqrmIrryIsr+Nsb+Osb+Psb6QrMODrsSFscaHs8iJtcmLtsqLuMuMuMuNucuOs8CRs8GTtMGStcOTtsOUtsSUt8SVt8SWuMmQucqSu8uWucyQu8yTu86RvM2Svc+Svc6Uvs+Wu8mYu8mZu8mavMqZvMqavcqbvc2Yvs2Zv8+av82cv8ydv8+dvtCUvtCWv9CXwc6cwM6dwM+ewdGYwdGbwdCdwtCew9Kf////AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAw2AWPQAAAQB0Uk5T////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////AFP3ByUAAAAYdEVYdFNvZnR3YXJlAFBhaW50Lk5FVCB2My4zMECERxAAAAIySURBVFhHY/j/nxEImJhhgAUMWFnZoIAdDDg4ODhBgAsEuCGAhxcM+ECAHwQEBIFACASEgUBERBQExEBAXEJCUlIKBKTBQEZWVg4M5BWAQBEElEBAGQhUVFRBQE0dCDQ0NExMTEHADAzMzS0sLCwtHYHABQJc3YDAHQo8wMDLy8sbBHygwBcKQkJCQ0P//2cAe3jk+Dj0PwPYw8PXx8HhUclpaYnhwHgGx3Fo6PD2cXD8jL0nzh4/fPbQrOgR4WPfql2nN87rbGvtWHDqZP8IiGPftL1H57WWFBfkZGdXLDk32XfYp2r/lcfmlhUH2tpY29jaZi06WeU33PNxzcn5pUVORvp6evqGhvoBW1eHDXcfT9veUuBw/ryuri6Y6DqYOtx9PGtRsbMxyLdgD2vn7m8MH+a108wFQbYGoAgGeVhX225Tf9Qw9/Gs+c7W+qA0DfawttW6CTHAsms4t0BmLbI1hKRoIKGtZb9+Ytwwj+Mp2zL1wL4F+VpbK2/DhOHu4/Iz7aD0DM7H2lo63TsahruPfVdty9fW1gbmY21tLc3CLcuqh3s+9szYuzlfCww0NXMX7+xLjxrmJZePf+OeI81WmpqaWtZNS3dPrUke7vWxj09k3doDC3vb23sW7lszqTYteri3uXx8fKPSp8xevnz5ijnT62vSY4d9uxo4zuUbmVJZUwsENZWp4Bge3i0Q8MheWHRCclJSckJMROhIGPUB+9kvDAj8Rsg416iPQfkYAKr8dheNkAQPAAAAAElFTkSuQmCC + + + 2 + EXPLORERBAR_SPECIALGROUPHIGHLIGHT_FORECOLOR + 12117984 + + + + 2 + EXPLORERBAR_SPECIALGROUPNOTHIGHLIGHT_FORECOLOR + 16777215 + + + + 2 + FORM_BACKGROUND + 0 + iVBORw0KGgoAAAANSUhEUgAAAAEAAAABCAIAAACQd1PeAAAACXBIWXMAAA7EAAAOxAGVKw4bAAAAB3RJTUUH1wUEDBcZ7J9LIgAAAAd0RVh0QXV0aG9yAKmuzEgAAAAMdEVYdERlc2NyaXB0aW9uABMJISMAAAAKdEVYdENvcHlyaWdodACsD8w6AAAADnRFWHRDcmVhdGlvbiB0aW1lADX3DwkAAAAJdEVYdFNvZnR3YXJlAF1w/zoAAAALdEVYdERpc2NsYWltZXIAt8C0jwAAAAh0RVh0V2FybmluZwDAG+aHAAAAB3RFWHRTb3VyY2UA9f+D6wAAAAh0RVh0Q29tbWVudAD2zJa/AAAABnRFWHRUaXRsZQCo7tInAAAADElEQVR4nGP49PEJAAWgAsh7AVMgAAAAAElFTkSuQmCC + + + 2 + OUTLOOKNAVBAR_BORDERCOLOR + 5800032 + + + + 2 + OVERFLOWPANELBUTTON_FOCUSEDNOTSELECTED + 0 + iVBORw0KGgoAAAANSUhEUgAAAAEAAAAfCAIAAACpqzA1AAAACXBIWXMAAA7EAAAOxAGVKw4bAAAAB3RJTUUH1wQMDA8rXoeDpAAAAAd0RVh0QXV0aG9yAKmuzEgAAAAMdEVYdERlc2NyaXB0aW9uABMJISMAAAAKdEVYdENvcHlyaWdodACsD8w6AAAADnRFWHRDcmVhdGlvbiB0aW1lADX3DwkAAAAJdEVYdFNvZnR3YXJlAF1w/zoAAAALdEVYdERpc2NsYWltZXIAt8C0jwAAAAh0RVh0V2FybmluZwDAG+aHAAAAB3RFWHRTb3VyY2UA9f+D6wAAAAh0RVh0Q29tbWVudAD2zJa/AAAABnRFWHRUaXRsZQCo7tInAAAAOklEQVR4nG3MQQoAIBACQPGVHXtKD+0nu6tdggo6iTKIPhrsSVcQSkJB70TdfW/Kjz3eitcqid+3cgHSAEWFjrwrKgAAAABJRU5ErkJggg== + + + 2 + OVERFLOWPANELBUTTON_FOCUSEDSELECTED + 0 + iVBORw0KGgoAAAANSUhEUgAAAAEAAAAfCAIAAACpqzA1AAAACXBIWXMAAA7EAAAOxAGVKw4bAAAAB3RJTUUH1wQMDBAXvLLxvQAAAAd0RVh0QXV0aG9yAKmuzEgAAAAMdEVYdERlc2NyaXB0aW9uABMJISMAAAAKdEVYdENvcHlyaWdodACsD8w6AAAADnRFWHRDcmVhdGlvbiB0aW1lADX3DwkAAAAJdEVYdFNvZnR3YXJlAF1w/zoAAAALdEVYdERpc2NsYWltZXIAt8C0jwAAAAh0RVh0V2FybmluZwDAG+aHAAAAB3RFWHRTb3VyY2UA9f+D6wAAAAh0RVh0Q29tbWVudAD2zJa/AAAABnRFWHRUaXRsZQCo7tInAAAAJElEQVR4nGNIaIhgeFHPwcTAzMLEyMyCSbMQJw5ns2BRi10cAH6cA8D3oziyAAAAAElFTkSuQmCC + + + 2 + OVERFLOWPANELBUTTON_NOTFOCUSEDSELECTED + 0 + iVBORw0KGgoAAAANSUhEUgAAAAEAAAAfCAIAAACpqzA1AAAACXBIWXMAAA7EAAAOxAGVKw4bAAAAB3RJTUUH1wQMDA8Q74xqgAAAAAd0RVh0QXV0aG9yAKmuzEgAAAAMdEVYdERlc2NyaXB0aW9uABMJISMAAAAKdEVYdENvcHlyaWdodACsD8w6AAAADnRFWHRDcmVhdGlvbiB0aW1lADX3DwkAAAAJdEVYdFNvZnR3YXJlAF1w/zoAAAALdEVYdERpc2NsYWltZXIAt8C0jwAAAAh0RVh0V2FybmluZwDAG+aHAAAAB3RFWHRTb3VyY2UA9f+D6wAAAAh0RVh0Q29tbWVudAD2zJa/AAAABnRFWHRUaXRsZQCo7tInAAAAP0lEQVR4nF2Nuw3AMBBCEVOmzCgeIjNmiQPsxp8oFQg9AHe7UO/D7iKsoxHhYrcIi8jyU3PY3Yt+zNqcWfT9GLowSgtPge3CAAAAAElFTkSuQmCC + + + 2 + OVERFLOWPANEL_BACKGROUND + 0 + iVBORw0KGgoAAAANSUhEUgAAAAEAAAAfCAIAAACpqzA1AAAACXBIWXMAAA7EAAAOxAGVKw4bAAAAB3RJTUUH1wQMDAoTC/LPfwAAAAd0RVh0QXV0aG9yAKmuzEgAAAAMdEVYdERlc2NyaXB0aW9uABMJISMAAAAKdEVYdENvcHlyaWdodACsD8w6AAAADnRFWHRDcmVhdGlvbiB0aW1lADX3DwkAAAAJdEVYdFNvZnR3YXJlAF1w/zoAAAALdEVYdERpc2NsYWltZXIAt8C0jwAAAAh0RVh0V2FybmluZwDAG+aHAAAAB3RFWHRTb3VyY2UA9f+D6wAAAAh0RVh0Q29tbWVudAD2zJa/AAAABnRFWHRUaXRsZQCo7tInAAAANUlEQVR4nGNIaIhgePXhPNO/f3+Z/v37x/Tv/z/87P//IPx//5j+/YfI/UdiI4sj1P7FxgYAbNZacIMSzGoAAAAASUVORK5CYII= + + + 2 + OVERFLOWPANEL_MENUBUTTON + 0 + iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAMAAAAoLQ9TAAADAFBMVEUAAAD///8AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABnduxjAAABAHRSTlP/AP//////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////rTvmKwAAAAlwSFlzAAAOxAAADsQBlSsOGwAAAAd0SU1FB9cEDA0CA99ePyQAAAAHdEVYdEF1dGhvcgCprsxIAAAADHRFWHREZXNjcmlwdGlvbgATCSEjAAAACnRFWHRDb3B5cmlnaHQArA/MOgAAAA50RVh0Q3JlYXRpb24gdGltZQA19w8JAAAACXRFWHRTb2Z0d2FyZQBdcP86AAAAC3RFWHREaXNjbGFpbWVyALfAtI8AAAAIdEVYdFdhcm5pbmcAwBvmhwAAAAd0RVh0U291cmNlAPX/g+sAAAAIdEVYdENvbW1lbnQA9syWvwAAAAZ0RVh0VGl0bGUAqO7SJwAAADBJREFUeJxjYEQDDFgFGBhACFkFkgiMgotgV4FpBkFriRBgAAE0d6DbwsCIzsApAAB3XADk8z+QVAAAAABJRU5ErkJggg== + + + 2 + PANELBUTTON_FOCUSEDNOTSELECTED + 0 + iVBORw0KGgoAAAANSUhEUgAAAAEAAAAgCAIAAABch4VNAAAACXBIWXMAAA7EAAAOxAGVKw4bAAAAB3RJTUUH1wQMDBIRZ+c2CgAAAAd0RVh0QXV0aG9yAKmuzEgAAAAMdEVYdERlc2NyaXB0aW9uABMJISMAAAAKdEVYdENvcHlyaWdodACsD8w6AAAADnRFWHRDcmVhdGlvbiB0aW1lADX3DwkAAAAJdEVYdFNvZnR3YXJlAF1w/zoAAAALdEVYdERpc2NsYWltZXIAt8C0jwAAAAh0RVh0V2FybmluZwDAG+aHAAAAB3RFWHRTb3VyY2UA9f+D6wAAAAh0RVh0Q29tbWVudAD2zJa/AAAABnRFWHRUaXRsZQCo7tInAAAAOUlEQVR4nG2MuQ0AIBDDokxJySgMyib3hAbxic5WIqO2AqlTYUQ6kU7lZqRRi52I023+P3719vb0B9yzR4f1apQrAAAAAElFTkSuQmCC + + + 2 + PANELBUTTON_FOCUSEDSELECTED + 0 + iVBORw0KGgoAAAANSUhEUgAAAAEAAAAgCAIAAABch4VNAAAACXBIWXMAAA7EAAAOxAGVKw4bAAAAB3RJTUUH1wQMDBMpVv6/1QAAAAd0RVh0QXV0aG9yAKmuzEgAAAAMdEVYdERlc2NyaXB0aW9uABMJISMAAAAKdEVYdENvcHlyaWdodACsD8w6AAAADnRFWHRDcmVhdGlvbiB0aW1lADX3DwkAAAAJdEVYdFNvZnR3YXJlAF1w/zoAAAALdEVYdERpc2NsYWltZXIAt8C0jwAAAAh0RVh0V2FybmluZwDAG+aHAAAAB3RFWHRTb3VyY2UA9f+D6wAAAAh0RVh0Q29tbWVudAD2zJa/AAAABnRFWHRUaXRsZQCo7tInAAAAKElEQVR4nGNIaIhgeFHPwcTAzMzEyMzCxMDMgoVmxiEOpVkIyOPWDwCLxAPCQavqVAAAAABJRU5ErkJggg== + + + 2 + PANELBUTTON_NOTFOCUSEDSELECTED + 0 + iVBORw0KGgoAAAANSUhEUgAAAAEAAAAgCAIAAABch4VNAAAACXBIWXMAAA7EAAAOxAGVKw4bAAAAB3RJTUUH1wQMDBEq/cGM7QAAAAd0RVh0QXV0aG9yAKmuzEgAAAAMdEVYdERlc2NyaXB0aW9uABMJISMAAAAKdEVYdENvcHlyaWdodACsD8w6AAAADnRFWHRDcmVhdGlvbiB0aW1lADX3DwkAAAAJdEVYdFNvZnR3YXJlAF1w/zoAAAALdEVYdERpc2NsYWltZXIAt8C0jwAAAAh0RVh0V2FybmluZwDAG+aHAAAAB3RFWHRTb3VyY2UA9f+D6wAAAAh0RVh0Q29tbWVudAD2zJa/AAAABnRFWHRUaXRsZQCo7tInAAAAQUlEQVR4nFXMwQ3AIBSCYcKUPTqKQ3TGLgH4etBUe/tJvoDWL+i5WRERs2Ji+NuzTUSs4Z9BdPi5d3t5HX79bvMCzxtMDdsJQiIAAAAASUVORK5CYII= + + + 2 + PANELBUTTON_NOTSELECTED_FONTCOLOR + 0 + + + + 2 + PANELBUTTON_SELECTED_FONTCOLOR + 0 + + + + 2 + PANELVERTICAL_FOCUSED_BACKCOLOR + 10676223 + + + + 2 + PANELVERTICAL_FONTCOLOR + 0 + + + + 2 + PANELVERTICAL_NOTFOCUSED_BACKCOLOR + 15004146 + + + + 2 + PANEL_BACKGROUND + 0 + iVBORw0KGgoAAAANSUhEUgAAAAEAAAAgCAIAAABch4VNAAAACXBIWXMAAA7EAAAOxAGVKw4bAAAAB3RJTUUH1wQMDBIhQT4GpgAAAAd0RVh0QXV0aG9yAKmuzEgAAAAMdEVYdERlc2NyaXB0aW9uABMJISMAAAAKdEVYdENvcHlyaWdodACsD8w6AAAADnRFWHRDcmVhdGlvbiB0aW1lADX3DwkAAAAJdEVYdFNvZnR3YXJlAF1w/zoAAAALdEVYdERpc2NsYWltZXIAt8C0jwAAAAh0RVh0V2FybmluZwDAG+aHAAAAB3RFWHRTb3VyY2UA9f+D6wAAAAh0RVh0Q29tbWVudAD2zJa/AAAABnRFWHRUaXRsZQCo7tInAAAAPUlEQVR4nGNIaIhgePXhPNO/f3+Z/v37x/Tv/z8oDeX/+8f0//8/iDxcDkpDxf7DxdDNgIj9h6tHMhciBgDd/V1yGdyjbwAAAABJRU5ErkJggg== + + + 2 + SHORTCUTMENU_DOWN_ENABLED + 0 + Qk02BQAAAAAAADYEAAAoAAAAEAAAABAAAAABAAgAAAAAAAAAAADEDgAAxA4AAAABAAAAAQAAoFAw/6BYMP+wWDD/sGBA/7BoQP/AaED/wHBQ/8B4UP/QeFD/4HhQ/+CAUP/giFD/8IhQ/9CIYP/wkGD//5Bg/+CQcP/gmHD/8Jhw//CgcP//oHD//6iA//+wgP//sJD//7iQ///AoP//////AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/xoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaAhoaGhoaGhoaGhoaGhoaAgUBGhoaGhoaGhoaGhoaAgoJBQAaGhoaGhoaGhoaBxIUCwgFABoaGhoaGhoaExEQFQ4KAAMEGhoaGhoaGhoaDRYPDAMaGhoaGhoaGhoaGhAZFQ4EGhoaGhoaGhoaGhoRGRgXBhoaGhoaGhoaGhoaExEQDQ0aGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGho= + + + 2 + SHORTCUTMENU_DOWN_DISABLED + 0 + Qk02BQAAAAAAADYEAAAoAAAAEAAAABAAAAABAAgAAAAAAAAAAADEDgAAxA4AAAABAAAAAQAAT09P/1RUVP9WVlb/X19f/2RkZP9mZmb/b29v/3R0dP92dnb/d3d3/3x8fP+BgYH/g4OD/4SEhP+MjIz/jo6O/4+Pj/+UlJT/lpaW/5qamv+cnJz/paWl/6qqqv+vr6//tLS0/729vf//////AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/xoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaAhoaGhoaGhoaGhoaGhoaAgUBGhoaGhoaGhoaGhoaAgoJBQAaGhoaGhoaGhoaBxIUCwgFABoaGhoaGhoaExEQFQ4KAAMEGhoaGhoaGhoaDRYPDAMaGhoaGhoaGhoaGhAZFQ4EGhoaGhoaGhoaGhoRGRgXBhoaGhoaGhoaGhoaExEQDQ0aGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGho= + + + 2 + SHORTCUTMENU_UP_ENABLED + 0 + Qk02BQAAAAAAADYEAAAoAAAAEAAAABAAAAABAAgAAAAAAAAAAADEDgAAxA4AAAABAAAAAQAAkEgg/6BIIP+gUCD/oFAw/6BYMP+wWDD/0Ggw/8BwQP/QcED/0HhA/9B4UP/QgFD/4IBQ/+CIYP/wkGD/8Jhg/+CYcP/woHD//6Bw//CogP//sJD//8Cg//////8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/xYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFgwDAAAAFhYWFhYWFhYWFhYMDQsHABYWFhYWFhYWFhYWDBMNCgEWFhYWFhYWFhYWFgwVDw0CFhYWFhYWFhYWEAgGFA8PBQIAFhYWFhYWFhYQFRQSDgkDFhYWFhYWFhYWFhEVFA0DFhYWFhYWFhYWFhYWERUEFhYWFhYWFhYWFhYWFhYQFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhY= + + + 2 + SHORTCUTMENU_UP_DISABLED + 0 + Qk02BQAAAAAAADYEAAAoAAAAEAAAABAAAAABAAgAAAAAAAAAAADEDgAAxA4AAAABAAAAAQAARERE/0ZGRv9KSkr/T09P/1RUVP9WVlb/Y2Nj/2pqav9sbGz/cXFx/3Z2dv96enr/fHx8/4aGhv+MjIz/kZGR/5SUlP+ampr/nJyc/6SkpP+vr6//vb29//////8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/xYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFgwDAAAAFhYWFhYWFhYWFhYMDQsHABYWFhYWFhYWFhYWDBMNCgEWFhYWFhYWFhYWFgwVDw0CFhYWFhYWFhYWEAgGFA8PBQIAFhYWFhYWFhYQFRQSDgkDFhYWFhYWFhYWFhEVFA0DFhYWFhYWFhYWFhYWERUEFhYWFhYWFhYWFhYWFhYQFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhY= + + + 2 + SHRINKBUTTON_FOCUSEDNOTSHRUNK + 0 + iVBORw0KGgoAAAANSUhEUgAAABIAAAASCAYAAABWzo5XAAAABGdBTUEAALGPC/xhBQAAAAlwSFlzAAAOwgAADsIBFShKgAAAAAd0SU1FB9cEEhECD3MSCbcAAAAYdEVYdFNvZnR3YXJlAFBhaW50Lk5FVCB2My4xMHKyJZIAAACzSURBVDhPrZGhDsIwFEUvf4rEIrBILAKLxCCxyAkQhBAECQQEgiAQCBKSdWt3YaRdxks39ZoccXp7VDvkhdA4dEdqgMLsqAGK95oawL0SagD3XFID2MeCbXw/9G+XHlrY+5xNlNEv9G+k1zvY24wxqsjv0mWD/DqlJEThXnq0yc8Txqhiv0uXDbLTmE2EOOzS6x2yw4htlHF9lx42mP2QGsBsB9QAZtOnBkhXPWqANOlSgw/RhutoURsdLwAAAABJRU5ErkJggg== + + + 2 + SHRINKBUTTON_FOCUSEDSHRUNK + 0 + iVBORw0KGgoAAAANSUhEUgAAABIAAAASCAYAAABWzo5XAAAABGdBTUEAALGPC/xhBQAAAAlwSFlzAAAOwgAADsIBFShKgAAAAAd0SU1FB9cEEhECNbUe0AUAAAAYdEVYdFNvZnR3YXJlAFBhaW50Lk5FVCB2My4xMHKyJZIAAACwSURBVDhPrdGvC8JQGIXh439qtBqsRqvBarQYrcYFDSJiEBQNBjEYFgRhd7+OTnbHPFzbN3jCuR9vWoe8EBYfiyMtoHQ7WkD5WtMCimdECyjiJS0gfyyoPj/x5013sMnvc6oq/Mb1TXewyW8zhjRxfdetDbLrlP/42N91tztk5wlDmqi+69YG6WlM5SP/rjvYpIcRVRW233QHG7cf0gLcdkALcJs+LSBZ9WgBSdSlhTcMputoJnzNZQAAAABJRU5ErkJggg== + + + 2 + SHRINKBUTTON_NOTFOCUSEDNOTSHRUNK + 0 + iVBORw0KGgoAAAANSUhEUgAAABIAAAASCAYAAABWzo5XAAAABGdBTUEAALGPC/xhBQAAAAlwSFlzAAAOwgAADsIBFShKgAAAAAd0SU1FB9cEEhEdHtT4J9sAAAAYdEVYdFNvZnR3YXJlAFBhaW50Lk5FVCB2My4xMHKyJZIAAACuSURBVDhPrYtRBwJhEEVv/y8SkYhEJEqlWEVEKa2UUoplWUpERPT3bu3D8Bnf7tMM5+HOcQr374SwuOQT0ALE7zEtQPQa0gJcnn1agNOjSwtwuHWYB//ner3FYZe0mUUapSdeb7dDGLfoQyJxeusG66hJjUTy19vXYHlt0IfE4vTWDebnOrOQWLzebofZscY80tj1eovDdF+lBQi2FVqA0aZMCzBYlWgBeosiLfgBWhcmOowY+vkAAAAASUVORK5CYII= + + + 2 + SHRINKBUTTON_NOTFOCUSEDSHRUNK + 0 + iVBORw0KGgoAAAANSUhEUgAAABIAAAASCAYAAABWzo5XAAAABGdBTUEAALGPC/xhBQAAAAlwSFlzAAAOwgAADsIBFShKgAAAAAd0SU1FB9cEEhEgFrDL51cAAAAYdEVYdFNvZnR3YXJlAFBhaW50Lk5FVCB2My4xMHKyJZIAAACuSURBVDhPrctRBwJhEIXh0/+LRCQiEYlSKVYRUUpJKaVYlqVERES/bjnZi2Eb0918PBdnPm/u9hkRHi9+B/SA6DWkB4TPPj3g/OjSA473Nj1gf21RY5L83PS2GmzjJrU0TMldb6vBOmrQIrH86a0bLMM6/5FY/vXOdphfarRIJH966wbTU5WaRHLX22owOVSopWH2prfVYLwr0wOCTYkeMFgV6QG9RYEe0Jnl6eELchAlqnlOrx0AAAAASUVORK5CYII= + + + 2 + SIGNS_MINUS + 0 + iVBORw0KGgoAAAANSUhEUgAAAAkAAAAJCAYAAADgkQYQAAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8YQUAAAAgY0hSTQAAeiYAAICEAAD6AAAAgOgAAHUwAADqYAAAOpgAABdwnLpRPAAAABh0RVh0U29mdHdhcmUAUGFpbnQuTkVUIHYzLjIwWZ92UQAAAI5JREFUKFNjfP76/f+dRy8ygMEPCAUCH6B8a0NxBoYFGw78xwA//v//8OH//wdAwsAj4T+mIriC//8PXHgAVbQCySQkBQ9efPi/4QCaIpCx6BiuaALIJJAJQPwA5A4gceHGB6BVH/4v2HEBYh1IEYYCbIpAJoAcueEEEAPdATIBhsEmnb54HcMtyG4DyQMAS+rq4jk+qVQAAAAASUVORK5CYII= + + + 2 + SIGNS_PLUS + 0 + iVBORw0KGgoAAAANSUhEUgAAAAkAAAAJCAYAAADgkQYQAAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8YQUAAAAgY0hSTQAAeiYAAICEAAD6AAAAgOgAAHUwAADqYAAAOpgAABdwnLpRPAAAABh0RVh0U29mdHdhcmUAUGFpbnQuTkVUIHYzLjIwWZ92UQAAAJZJREFUKFNjfP76/f+dRy8ygMEPCAUCH6B8a0NxBoYFGw78xwA//v//8OH//wdAwsAj4T+GIpAgRMH//wcuPIAqWoFkEtAEkCKQggcvPvzfcABNEUgSHcMVTQCZBHIDEINMACm8cOMD0KoP/xfsuACxDqQIpuABUBVI8AA2RTBHbjjxAOwOkAkwDDbp9MXrGG5BdhtIHgAc3OMlaQBkAQAAAABJRU5ErkJggg== + + + 2 + SPLITTER_BACKGROUND + 0 + iVBORw0KGgoAAAANSUhEUgAAAAEAAAAICAIAAAC3eAIWAAAACXBIWXMAAA7EAAAOxAGVKw4bAAAAB3RJTUUH1wQMDBU0Y6J0igAAAAd0RVh0QXV0aG9yAKmuzEgAAAAMdEVYdERlc2NyaXB0aW9uABMJISMAAAAKdEVYdENvcHlyaWdodACsD8w6AAAADnRFWHRDcmVhdGlvbiB0aW1lADX3DwkAAAAJdEVYdFNvZnR3YXJlAF1w/zoAAAALdEVYdERpc2NsYWltZXIAt8C0jwAAAAh0RVh0V2FybmluZwDAG+aHAAAAB3RFWHRTb3VyY2UA9f+D6wAAAAh0RVh0Q29tbWVudAD2zJa/AAAABnRFWHRUaXRsZQCo7tInAAAAKUlEQVR4nAXBsRHAIAADMd8PQAujpcwoLI2fEin//lhj0iNWWrEXK0ke9fAP9oJRV0wAAAAASUVORK5CYII= + + + 2 + SPLITTER_GRIPPER + 0 + iVBORw0KGgoAAAANSUhEUgAAACMAAAAICAIAAAD80NH7AAAACXBIWXMAAA7EAAAOxAGVKw4bAAAAB3RJTUUH1wQMDBYH919GXwAAAAd0RVh0QXV0aG9yAKmuzEgAAAAMdEVYdERlc2NyaXB0aW9uABMJISMAAAAKdEVYdENvcHlyaWdodACsD8w6AAAADnRFWHRDcmVhdGlvbiB0aW1lADX3DwkAAAAJdEVYdFNvZnR3YXJlAF1w/zoAAAALdEVYdERpc2NsYWltZXIAt8C0jwAAAAh0RVh0V2FybmluZwDAG+aHAAAAB3RFWHRTb3VyY2UA9f+D6wAAAAh0RVh0Q29tbWVudAD2zJa/AAAABnRFWHRUaXRsZQCo7tInAAAAXElEQVR4nGNMaIhgoAtgkeATp49NjBpG7gwMDG6B8gwMDLvWP6Qdm4mBgcHSKbC7bOr3b99pymYytuWd0ZrMwMDw7dt3mrIZg1J9aBxBUMAC8SAdABN9rGFgYAAAZgp0VLIWmJEAAAAASUVORK5CYII= + + + 2 + TITLE_BACKGROUND + 0 + iVBORw0KGgoAAAANSUhEUgAAAAEAAAAaCAIAAAD5ZqGGAAAACXBIWXMAAA7EAAAOxAGVKw4bAAAKTWlDQ1BQaG90b3Nob3AgSUNDIHByb2ZpbGUAAHjanVN3WJP3Fj7f92UPVkLY8LGXbIEAIiOsCMgQWaIQkgBhhBASQMWFiApWFBURnEhVxILVCkidiOKgKLhnQYqIWotVXDjuH9yntX167+3t+9f7vOec5/zOec8PgBESJpHmomoAOVKFPDrYH49PSMTJvYACFUjgBCAQ5svCZwXFAADwA3l4fnSwP/wBr28AAgBw1S4kEsfh/4O6UCZXACCRAOAiEucLAZBSAMguVMgUAMgYALBTs2QKAJQAAGx5fEIiAKoNAOz0ST4FANipk9wXANiiHKkIAI0BAJkoRyQCQLsAYFWBUiwCwMIAoKxAIi4EwK4BgFm2MkcCgL0FAHaOWJAPQGAAgJlCLMwAIDgCAEMeE80DIEwDoDDSv+CpX3CFuEgBAMDLlc2XS9IzFLiV0Bp38vDg4iHiwmyxQmEXKRBmCeQinJebIxNI5wNMzgwAABr50cH+OD+Q5+bk4eZm52zv9MWi/mvwbyI+IfHf/ryMAgQAEE7P79pf5eXWA3DHAbB1v2upWwDaVgBo3/ldM9sJoFoK0Hr5i3k4/EAenqFQyDwdHAoLC+0lYqG9MOOLPv8z4W/gi372/EAe/tt68ABxmkCZrcCjg/1xYW52rlKO58sEQjFu9+cj/seFf/2OKdHiNLFcLBWK8ViJuFAiTcd5uVKRRCHJleIS6X8y8R+W/QmTdw0ArIZPwE62B7XLbMB+7gECiw5Y0nYAQH7zLYwaC5EAEGc0Mnn3AACTv/mPQCsBAM2XpOMAALzoGFyolBdMxggAAESggSqwQQcMwRSswA6cwR28wBcCYQZEQAwkwDwQQgbkgBwKoRiWQRlUwDrYBLWwAxqgEZrhELTBMTgN5+ASXIHrcBcGYBiewhi8hgkEQcgIE2EhOogRYo7YIs4IF5mOBCJhSDSSgKQg6YgUUSLFyHKkAqlCapFdSCPyLXIUOY1cQPqQ28ggMor8irxHMZSBslED1AJ1QLmoHxqKxqBz0XQ0D12AlqJr0Rq0Hj2AtqKn0UvodXQAfYqOY4DRMQ5mjNlhXIyHRWCJWBomxxZj5Vg1Vo81Yx1YN3YVG8CeYe8IJAKLgBPsCF6EEMJsgpCQR1hMWEOoJewjtBK6CFcJg4Qxwicik6hPtCV6EvnEeGI6sZBYRqwm7iEeIZ4lXicOE1+TSCQOyZLkTgohJZAySQtJa0jbSC2kU6Q+0hBpnEwm65Btyd7kCLKArCCXkbeQD5BPkvvJw+S3FDrFiOJMCaIkUqSUEko1ZT/lBKWfMkKZoKpRzame1AiqiDqfWkltoHZQL1OHqRM0dZolzZsWQ8ukLaPV0JppZ2n3aC/pdLoJ3YMeRZfQl9Jr6Afp5+mD9HcMDYYNg8dIYigZaxl7GacYtxkvmUymBdOXmchUMNcyG5lnmA+Yb1VYKvYqfBWRyhKVOpVWlX6V56pUVXNVP9V5qgtUq1UPq15WfaZGVbNQ46kJ1Bar1akdVbupNq7OUndSj1DPUV+jvl/9gvpjDbKGhUaghkijVGO3xhmNIRbGMmXxWELWclYD6yxrmE1iW7L57Ex2Bfsbdi97TFNDc6pmrGaRZp3mcc0BDsax4PA52ZxKziHODc57LQMtPy2x1mqtZq1+rTfaetq+2mLtcu0W7eva73VwnUCdLJ31Om0693UJuja6UbqFutt1z+o+02PreekJ9cr1Dund0Uf1bfSj9Rfq79bv0R83MDQINpAZbDE4Y/DMkGPoa5hpuNHwhOGoEctoupHEaKPRSaMnuCbuh2fjNXgXPmasbxxirDTeZdxrPGFiaTLbpMSkxeS+Kc2Ua5pmutG003TMzMgs3KzYrMnsjjnVnGueYb7ZvNv8jYWlRZzFSos2i8eW2pZ8ywWWTZb3rJhWPlZ5VvVW16xJ1lzrLOtt1ldsUBtXmwybOpvLtqitm63Edptt3xTiFI8p0in1U27aMez87ArsmuwG7Tn2YfYl9m32zx3MHBId1jt0O3xydHXMdmxwvOuk4TTDqcSpw+lXZxtnoXOd8zUXpkuQyxKXdpcXU22niqdun3rLleUa7rrStdP1o5u7m9yt2W3U3cw9xX2r+00umxvJXcM970H08PdY4nHM452nm6fC85DnL152Xlle+70eT7OcJp7WMG3I28Rb4L3Le2A6Pj1l+s7pAz7GPgKfep+Hvqa+It89viN+1n6Zfgf8nvs7+sv9j/i/4XnyFvFOBWABwQHlAb2BGoGzA2sDHwSZBKUHNQWNBbsGLww+FUIMCQ1ZH3KTb8AX8hv5YzPcZyya0RXKCJ0VWhv6MMwmTB7WEY6GzwjfEH5vpvlM6cy2CIjgR2yIuB9pGZkX+X0UKSoyqi7qUbRTdHF09yzWrORZ+2e9jvGPqYy5O9tqtnJ2Z6xqbFJsY+ybuIC4qriBeIf4RfGXEnQTJAntieTE2MQ9ieNzAudsmjOc5JpUlnRjruXcorkX5unOy553PFk1WZB8OIWYEpeyP+WDIEJQLxhP5aduTR0T8oSbhU9FvqKNolGxt7hKPJLmnVaV9jjdO31D+miGT0Z1xjMJT1IreZEZkrkj801WRNberM/ZcdktOZSclJyjUg1plrQr1zC3KLdPZisrkw3keeZtyhuTh8r35CP5c/PbFWyFTNGjtFKuUA4WTC+oK3hbGFt4uEi9SFrUM99m/ur5IwuCFny9kLBQuLCz2Lh4WfHgIr9FuxYji1MXdy4xXVK6ZHhp8NJ9y2jLspb9UOJYUlXyannc8o5Sg9KlpUMrglc0lamUycturvRauWMVYZVkVe9ql9VbVn8qF5VfrHCsqK74sEa45uJXTl/VfPV5bdra3kq3yu3rSOuk626s91m/r0q9akHV0IbwDa0b8Y3lG19tSt50oXpq9Y7NtM3KzQM1YTXtW8y2rNvyoTaj9nqdf13LVv2tq7e+2Sba1r/dd3vzDoMdFTve75TsvLUreFdrvUV99W7S7oLdjxpiG7q/5n7duEd3T8Wej3ulewf2Re/ranRvbNyvv7+yCW1SNo0eSDpw5ZuAb9qb7Zp3tXBaKg7CQeXBJ9+mfHvjUOihzsPcw83fmX+39QjrSHkr0jq/dawto22gPaG97+iMo50dXh1Hvrf/fu8x42N1xzWPV56gnSg98fnkgpPjp2Snnp1OPz3Umdx590z8mWtdUV29Z0PPnj8XdO5Mt1/3yfPe549d8Lxw9CL3Ytslt0utPa49R35w/eFIr1tv62X3y+1XPK509E3rO9Hv03/6asDVc9f41y5dn3m978bsG7duJt0cuCW69fh29u0XdwruTNxdeo94r/y+2v3qB/oP6n+0/rFlwG3g+GDAYM/DWQ/vDgmHnv6U/9OH4dJHzEfVI0YjjY+dHx8bDRq98mTOk+GnsqcTz8p+Vv9563Or59/94vtLz1j82PAL+YvPv655qfNy76uprzrHI8cfvM55PfGm/K3O233vuO+638e9H5ko/ED+UPPR+mPHp9BP9z7nfP78L/eE8/sl0p8zAAAABGdBTUEAALGOfPtRkwAAACBjSFJNAAB6JQAAgIMAAPn/AACA6QAAdTAAAOpgAAA6mAAAF2+SX8VGAAAALklEQVR42mJYf6CJiYGBgenPn79Mf/9C8J+//7Cy//79x/QHBxuiFjubgYEBMAAif0ZUx34SxQAAAABJRU5ErkJggg== + + + 2 + TITLE_BACKGROUND_LEFT + 1 + + + + 2 + TITLE_BACKGROUND_WIDTH + 198 + + + + 2 + TITLE_BORDERCOLOR + 5800032 + + + + 2 + TITLE_FONTCOLOR + 16777215 + + + + 2 + TOOLTITLE_BACKGROUND + 0 + iVBORw0KGgoAAAANSUhEUgAAAAEAAAATCAIAAADeafBOAAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8YQUAAAAgY0hSTQAAeiYAAICEAAD6AAAAgOgAAHUwAADqYAAAOpgAABdwnLpRPAAAAFVJREFUGFcdw78KQEAAwOHf+7+IMiiDMhiUQRkMynA4HY5znL9PoHz1IYTH++j/fSmus+NwArfXbLbCriXGFCxzjtYZ05gyDAlKxfR9hJQhbRvQNP4HafUw0EBUTAcAAAAASUVORK5CYII= + + + 2 + TOOLTITLE_FONTCOLOR + 0 + + + + 2 + ZOOMNAVBAR_BAR + 0 + Qk3+BAAAAAAAADYEAAAoAAAAAQAAADIAAAABAAgAAAAAAAAAAADEDgAAxA4AAAABAAAAAQAARHpj/0V7Zf9GfWb/SH5o/0mAaf9KgWv/S4Js/0yEbv9OhW//T4dx/1CIcv9SiXT/U4t1/1SMd/9Vjnj/Vo96/1iRfP9Zkn3/WpN+/1yVgP9dloH/XpeD/1+Zhf9gmob/YpyH/2Odif90qJf/m8G0/6DEuf+kyLz/qcvA/67OxP+z0cj/t9TL/7zYz//A2tL/xd3W/8ng2f/O49z/0eXf/9Xo4v/Z6uX/3ezo/+Hu6v/k8e3/5/Lv/+r08f/t9vP/8Pf1//L49/8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAAABAAAAAgAAAAMAAAAEAAAABQAAAAYAAAAHAAAACAAAAAkAAAAKAAAACwAAAAwAAAANAAAADgAAAA8AAAAQAAAAEQAAABIAAAATAAAAFAAAABUAAAAWAAAAFwAAABgAAAAZAAAAGgAAABsAAAAcAAAAHQAAAB4AAAAfAAAAIAAAACEAAAAiAAAAIwAAACQAAAAlAAAAJgAAACcAAAAoAAAAKQAAACoAAAArAAAALAAAAC0AAAAuAAAALwAAADAAAAAxAAAA + + + 2 + ZOOMNAVBAR_REFLECTEDSEPARATOR + 0 + iVBORw0KGgoAAAANSUhEUgAAADAAAAAwCAYAAABXAvmHAAAABGdBTUEAALGPC/xhBQAAABh0RVh0U29mdHdhcmUAUGFpbnQuTkVUIHYzLjIwWZ92UQAAAD9JREFUaEPt0IEAAAAAw6D5Ux/khVBhwIABAwYMGDBgwIABAwYMGDBgwIABAwYMGDBgwIABAwYMGDBgwMDLwAAkMAABCDVySwAAAABJRU5ErkJggg== + + + 2 + ZOOMNAVBAR_SEPARATOR + 0 + iVBORw0KGgoAAAANSUhEUgAAADAAAAAwCAYAAABXAvmHAAAABGdBTUEAALGPC/xhBQAAABh0RVh0U29mdHdhcmUAUGFpbnQuTkVUIHYzLjIwWZ92UQAAAD9JREFUaEPt0IEAAAAAw6D5Ux/khVBhwIABAwYMGDBgwIABAwYMGDBgwIABAwYMGDBgwIABAwYMGDBgwMDLwAAkMAABCDVySwAAAABJRU5ErkJggg== + + + 2 + ZOOMNAVBAR_STACKBUTTON + 0 + iVBORw0KGgoAAAANSUhEUgAAAMAAAAAcCAYAAAA3ILBTAAABF0lEQVR4nO3cMW7CQBRF0WuU1kUovAHatNn/CuiyCyJKOnAKG8YQg02BjP6/R0LC43kSxTw0jGRASqy6uW6A9ci4FMEJ2AH788BwoX8Dm8FYy/0izLln3vyS+UfXP/2LVT/YcL34pagq4AuooRTAbY8yqYBPKAVw8SubCkoBpJQ+Bu/bkftjY8/cM29+yfzk3GEBbrdBS/+KN2/+FadAV9wCKTULoNQsgFKzAErNAig1j0HNR85PzvUY1HzU/Jy5boGUmwVQahZAqVkApWYBlJrHoOYj5yfnegxqPmp+ztzLFuh0b4IUVAulALvzgJTAEfiFUoA93d9EWAJFdwS2wAH+741quqflfUheEbV03/yHpT+I9Bb+AD0fBdMuQEabAAAAAElFTkSuQmCC + + + 3 + BUTTON_FOCUSED_FONTCOLOR + 0 + + + + 3 + BUTTON_LEFT_FOCUSED + 0 + Qk22BAAAAAAAADYEAAAoAAAAAgAAACAAAAABAAgAAAAAAAAAAADEDgAAxA4AAAABAAAAAQAAlHx8/1/C9/9kxPf/aMb4/23I+P9xyvj/ds34/3rP+f9+0fn/g9P5/4fV+f+M1/r/kNr6/5Xc+v+Z3vr/neD7/6Li+/+m5Pv/q+f8/6/p/P+06/z/uO38/7zv/f/B8f3/xfT9/8r2/f/O+P7/0/r+/9f8/v//////AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/x0AAAAAAAAAAAEAAAACAAAAAwAAAAQAAAAFAAAABgAAAAcAAAAIAAAACQAAAAoAAAALAAAADAAAAA0AAAAOAAAADwAAABAAAAARAAAAEgAAABMAAAAUAAAAFQAAABYAAAAXAAAAGAAAABkAAAAaAAAAGwAAABwAAAAAAAAdAAAA + + + 3 + BUTTON_LEFT_HOTTRACKING + 0 + Qk22BAAAAAAAADYEAAAoAAAAAgAAACAAAAABAAgAAAAAAAAAAADEDgAAxA4AAAABAAAAAQAAv7Sy/+vo5///////AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wIAAAAAAAAAAAEAAAABAAAAAQAAAAEAAAABAAAAAQAAAAEAAAABAAAAAQAAAAEAAAABAAAAAQAAAAEAAAABAAAAAQAAAAEAAAABAAAAAQAAAAEAAAABAAAAAQAAAAEAAAABAAAAAQAAAAEAAAABAAAAAQAAAAEAAAAAAAACAAAA + + + 3 + BUTTON_LEFT_NOTFOCUSED + 0 + Qk22BAAAAAAAADYEAAAoAAAAAgAAACAAAAABAAgAAAAAAAAAAADEDgAAxA4AAAABAAAAAQAAlHx8/7SWmP+2mZr/uJud/7qen/+8oaL/vqOl/8Cmp//Cqar/xKus/8aur//IsbL/yrS0/8y2t//Oubn/0Ly8/9K+v//UwcH/1sTE/9jGxv/aycn/3MzM/97Pzv/g0dH/4tTT/+TX1v/m2dn/6Nzb/+rf3v//////AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/x0AAAAAAAAAAAEAAAACAAAAAwAAAAQAAAAFAAAABgAAAAcAAAAIAAAACQAAAAoAAAALAAAADAAAAA0AAAAOAAAADwAAABAAAAARAAAAEgAAABMAAAAUAAAAFQAAABYAAAAXAAAAGAAAABkAAAAaAAAAGwAAABwAAAAAAAAdAAAA + + + 3 + BUTTON_MIDDLE_FOCUSED + 0 + Qk22BAAAAAAAADYEAAAoAAAAAQAAACAAAAABAAgAAAAAAAAAAADEDgAAxA4AAAABAAAAAQAAlHx8/1vA9/9fwvf/ZMT3/2jG+P9tyPj/ccr4/3bN+P96z/n/ftH5/4PT+f+H1fn/jNf6/5Da+v+V3Pr/md76/53g+/+i4vv/puT7/6vn/P+v6fz/tOv8/7jt/P+87/3/wfH9/8X0/f/K9v3/zvj+/9P6/v/X/P7/3P///wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAAABAAAAAgAAAAMAAAAEAAAABQAAAAYAAAAHAAAACAAAAAkAAAAKAAAACwAAAAwAAAANAAAADgAAAA8AAAAQAAAAEQAAABIAAAATAAAAFAAAABUAAAAWAAAAFwAAABgAAAAZAAAAGgAAABsAAAAcAAAAHQAAAB4AAAAAAAAA + + + 3 + BUTTON_MIDDLE_HOTTRACKING + 0 + Qk22BAAAAAAAADYEAAAoAAAAAQAAACAAAAABAAgAAAAAAAAAAADEDgAAxA4AAAABAAAAAQAAv7Sy/+vo5/8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAAABAAAAAQAAAAEAAAABAAAAAQAAAAEAAAABAAAAAQAAAAEAAAABAAAAAQAAAAEAAAABAAAAAQAAAAEAAAABAAAAAQAAAAEAAAABAAAAAQAAAAEAAAABAAAAAQAAAAEAAAABAAAAAQAAAAEAAAABAAAAAQAAAAEAAAAAAAAA + + + 3 + BUTTON_MIDDLE_NOTFOCUSED + 0 + Qk22BAAAAAAAADYEAAAoAAAAAQAAACAAAAABAAgAAAAAAAAAAADEDgAAxA4AAAABAAAAAQAAlHx8/7KTlf+0lpj/tpma/7ibnf+6np//vKGi/76jpf/Apqf/wqmq/8SrrP/Grq//yLGy/8q0tP/Mtrf/zrm5/9C8vP/Svr//1MHB/9bExP/Yxsb/2snJ/9zMzP/ez87/4NHR/+LU0//k19b/5tnZ/+jc2//q397/7OLh/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAAABAAAAAgAAAAMAAAAEAAAABQAAAAYAAAAHAAAACAAAAAkAAAAKAAAACwAAAAwAAAANAAAADgAAAA8AAAAQAAAAEQAAABIAAAATAAAAFAAAABUAAAAWAAAAFwAAABgAAAAZAAAAGgAAABsAAAAcAAAAHQAAAB4AAAAAAAAA + + + 3 + BUTTON_NOTFOCUSED_FONTCOLOR + 0 + + + + 3 + BUTTON_RIGHT_FOCUSED + 0 + Qk22BAAAAAAAADYEAAAoAAAAAgAAACAAAAABAAgAAAAAAAAAAADEDgAAxA4AAAABAAAAAQAAlHx8/1/C9/9kxPf/aMb4/23I+P9xyvj/ds34/3rP+f9+0fn/g9P5/4fV+f+M1/r/kNr6/5Xc+v+Z3vr/neD7/6Li+/+m5Pv/q+f8/6/p/P+06/z/uO38/7zv/f/B8f3/xfT9/8r2/f/O+P7/0/r+/9f8/v//////AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAdAAAAAAAAAQAAAAIAAAADAAAABAAAAAUAAAAGAAAABwAAAAgAAAAJAAAACgAAAAsAAAAMAAAADQAAAA4AAAAPAAAAEAAAABEAAAASAAAAEwAAABQAAAAVAAAAFgAAABcAAAAYAAAAGQAAABoAAAAbAAAAHAAAAAAAAAAAHQAA + + + 3 + BUTTON_RIGHT_HOTTRACKING + 0 + Qk22BAAAAAAAADYEAAAoAAAAAgAAACAAAAABAAgAAAAAAAAAAADEDgAAxA4AAAABAAAAAQAAv7Sy/+vo5///////AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wACAAAAAAAAAQAAAAEAAAABAAAAAQAAAAEAAAABAAAAAQAAAAEAAAABAAAAAQAAAAEAAAABAAAAAQAAAAEAAAABAAAAAQAAAAEAAAABAAAAAQAAAAEAAAABAAAAAQAAAAEAAAABAAAAAQAAAAEAAAABAAAAAQAAAAAAAAAAAgAA + + + 3 + BUTTON_RIGHT_NOTFOCUSED + 0 + Qk22BAAAAAAAADYEAAAoAAAAAgAAACAAAAABAAgAAAAAAAAAAADEDgAAxA4AAAABAAAAAQAAlHx8/7SWmP+2mZr/uJud/7qen/+8oaL/vqOl/8Cmp//Cqar/xKus/8aur//IsbL/yrS0/8y2t//Oubn/0Ly8/9K+v//UwcH/1sTE/9jGxv/aycn/3MzM/97Pzv/g0dH/4tTT/+TX1v/m2dn/6Nzb/+rf3v//////AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAdAAAAAAAAAQAAAAIAAAADAAAABAAAAAUAAAAGAAAABwAAAAgAAAAJAAAACgAAAAsAAAAMAAAADQAAAA4AAAAPAAAAEAAAABEAAAASAAAAEwAAABQAAAAVAAAAFgAAABcAAAAYAAAAGQAAABoAAAAbAAAAHAAAAAAAAAAAHQAA + + + 3 + CONTAINER_BORDERCOLOR + 9731196 + + + + 3 + EXPLORERBAR_BACKGROUND + 0 + iVBORw0KGgoAAAANSUhEUgAAAAEAAAHXCAMAAABK28A9AAAABGdBTUEAALGPC/xhBQAAAwBQTFRFsbPIsbTIsrTJs7bJtLbJtLbKtbjKtrjLt7rMuLrMuLvNubzNur3Our7OvL/OvL/PvMDPvcHQvsLQv8LRwMPRwMTRwcTSwsbSwsbTxMjUAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA0zvvUAAAABh0RVh0U29mdHdhcmUAUGFpbnQuTkVUIHYzLjMwQIRHEAAAAFBJREFUOE+twUUOgDAUQMGHe3G7/0VZkC4IDb/CDCfHr3f0jfArpgvvM/IJ6Yj9AZc9UoWi89hi2hC+Rq9wWfK94N85ekb4lHvyGOM3Qoq9C9iUFnRgCsLVAAAAAElFTkSuQmCC + + + 3 + EXPLORERBAR_BORDERCOLOR + 16777215 + + + + 3 + EXPLORERBAR_NORMALGROUPBACKGROUND + 0 + iVBORw0KGgoAAAANSUhEUgAAANoAAAABCAMAAACPOkAFAAAABGdBTUEAALGPC/xhBQAAAwBQTFRF8PH1AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAK7YgZQAAABh0RVh0U29mdHdhcmUAUGFpbnQuTkVUIHYzLjMwQIRHEAAAAAxJREFUGFdjYBi2AAAA2wABbb4xPgAAAABJRU5ErkJggg== + + + 3 + EXPLORERBAR_NORMALGROUPCOLLAPSEHIGHLIGHT + 0 + iVBORw0KGgoAAAANSUhEUgAAAPEAAAAZCAMAAADXAjjUAAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8YQUAAAAgY0hSTQAAeiYAAICEAAD6AAAAgOgAAHUwAADqYAAAOpgAABdwnLpRPAAAAwBQTFRFAAAAfnx8urvJu7zKvL3KvL3Lvb7Lvr/Mv7/Nv8DMv8HNwMHOwMLOwMLPwsTPwsPQwsTQw8XRxMXRxMbQxMbRxcbSxsfTx8fUx8jTyMjUycrVysvWy8zVy8zWy8zXzMzYzc7Yzc7Zz9DZz9Da0NDa0NHb0dPb09Td1NXe1dbf19jf1tfg1tjg19jh19ji2Njg2Njh2Nni2drh2dri2drj29vk2tzj29zk3Nzk3N3l3d7l3t7m3+Dn4ODn4OHo4eLo4eLp4+Pq4+Tq5OTq5OXr5ebr5ebs5+ft5+jt6Ojt6Oju6Oru6erv6+vw6uzw7Ozw7Ozx7e7x7e7y7u/z7/Dz8PDz8PD08fL18/P28/T29PT29PT39fb49vf59/j5+Pj5+Pj6+fn7+fr7+vv8/Pz8/Pz9/f3+/v7+/v7/AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAPbNbewAAAQB0Uk5T////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////AFP3ByUAAAAYdEVYdFNvZnR3YXJlAFBhaW50Lk5FVCB2My4zMECERxAAAAIISURBVFhH5ZhtV9MwGIaHL6CiTnSoDHWbb7UkpYkpNBvqgDHcHFuxTqZuDFgt4///gZon6fQPRE8s19nZ9+vcuZ8mTy5JLhRTxbkg/sPPKGUiOTs7VZycjI+BkWKY8uP7N8FAcST52u9/EYTA50MgCHq9brd7IOl0PgHtVqv1cV/RbO4JGo3G7u7OzrakXq9/AN6/A7ZSaoKqgHPuA94MBlCACJwUjBBKktxM2ATjVPlvGqMklyac0YzXCWOex1TIkDFCRhnrznjdq6JXT0ulksWpmca6e7xB7q3W2mFQr1yp+JchYx/d4MeytXH7/pKPDDzVmjP2b9fi2ZgaLK8wO+s95iUrAuE5aX14Ha+ZZ6w341ohkMJzoDyNrRUqQ87wrObFiRSG38U0auZZ1jPmL5Sw/IujXt6VoyvLGVfU2JI9jifBA+zAsTbKWG+P+WM1uNShHnfurplnrPfOVV0Mf/c4ngy38q55xpozXrbPp2mPo1H4rGCgsd6MCb7WEE9d8fKNTodHbP6lgcZ6Myb+6sL2GBgN+pu3HtoEGze59GZMqffoKuqJzUS4b90sWA7J+veYOoyV5xeL5XLxzsKTN5i4Wb9zUep4nv26LHhu2ZjRzN+rxZZLpEyIizF2HEqxga9F3T0WyoS9hS0foQ4yceujd1bLXSbGLuwyRbyXYQfyHxj/k4x/AdeUG15/yUyrAAAAAElFTkSuQmCC + + + 3 + EXPLORERBAR_NORMALGROUPCOLLAPSENOTHIGHLIGHT + 0 + iVBORw0KGgoAAAANSUhEUgAAAPEAAAAZCAMAAADXAjjUAAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8YQUAAAAgY0hSTQAAeiYAAICEAAD6AAAAgOgAAHUwAADqYAAAOpgAABdwnLpRPAAAAwBQTFRFAAAAMURzurvJu7zKvL3KvL3Lvb7Lvr/Mv7/Nv8DMv8HNwMHOwMLOwMLPwsTPwsPQwsTQw8XRxMXRxMbQxMbRxcbSxsfTx8fUx8jTyMjUycrVysvWy8zVy8zWy8zXzMzYzc7Yzc7Zz9DZz9Da0NDa0NHb0dPb09Td1NXe1dbf19jf1tfg1tjg19jh19ji2Njg2Njh2Nni2drh2dri2drj29vk2tzj29zk3Nzk3N3l3d7l3t7m3+Dn4ODn4OHo4eLo4eLp4+Pq4+Tq5OTq5OXr5ebr5ebs5+ft5+jt6Ojt6Oju6Oru6erv6+vw6uzw7Ozw7Ozx7e7x7e7y7u/z7/Dz8PDz8PD08fL18/P28/T29PT29PT39fb49vf59/j5+Pj5+Pj6+fn7+fr7+vv8/Pz8/Pz9/f3+/v7+/v7/AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA7sVWhwAAAQB0Uk5T////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////AFP3ByUAAAAYdEVYdFNvZnR3YXJlAFBhaW50Lk5FVCB2My4zMECERxAAAAIISURBVFhH5ZhtV9MwGIaHL6CiTnSoDHWbb7UkpYkpNBvqgDHcHFuxTqZuDFgt4///gZon6fQPRE8s19nZ9+vcuZ8mTy5JLhRTxbkg/sPPKGUiOTs7VZycjI+BkWKY8uP7N8FAcST52u9/EYTA50MgCHq9brd7IOl0PgHtVqv1cV/RbO4JGo3G7u7OzrakXq9/AN6/A7ZSaoKqgHPuA94MBlCACJwUjBBKktxM2ATjVPlvGqMklyac0YzXCWOex1TIkDFCRhnrznjdq6JXT0ulksWpmca6e7xB7q3W2mFQr1yp+JchYx/d4MeytXH7/pKPDDzVmjP2b9fi2ZgaLK8wO+s95iUrAuE5aX14Ha+ZZ6w341ohkMJzoDyNrRUqQ87wrObFiRSG38U0auZZ1jPmL5Sw/IujXt6VoyvLGVfU2JI9jifBA+zAsTbKWG+P+WM1uNShHnfurplnrPfOVV0Mf/c4ngy38q55xpozXrbPp2mPo1H4rGCgsd6MCb7WEE9d8fKNTodHbP6lgcZ6Myb+6sL2GBgN+pu3HtoEGze59GZMqffoKuqJzUS4b90sWA7J+veYOoyV5xeL5XLxzsKTN5i4Wb9zUep4nv26LHhu2ZjRzN+rxZZLpEyIizF2HEqxga9F3T0WyoS9hS0foQ4yceujd1bLXSbGLuwyRbyXYQfyHxj/k4x/AdeUG15/yUyrAAAAAElFTkSuQmCC + + + 3 + EXPLORERBAR_NORMALGROUPEXPANDHIGHLIGHT + 0 + iVBORw0KGgoAAAANSUhEUgAAAPEAAAAZCAMAAADXAjjUAAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8YQUAAAAgY0hSTQAAeiYAAICEAAD6AAAAgOgAAHUwAADqYAAAOpgAABdwnLpRPAAAAwBQTFRFAAAAfnx8urvJu7zKvL3KvL3Lvb7Lvr/Mv7/Nv8DMv8HNwMHOwMLOwMLPwsTPwsPQwsTQw8XRxMXRxMbQxMbRxcbSxsfTx8fUx8jTyMjUycrVysvWy8zVy8zWy8zXzMzYzc7Yzc7Zz9DZz9Da0NDa0NHb0dPb09Td1NXe1dbf19jf1tfg1tjg19jh19ji2Njg2Njh2Nni2drh2dri2drj29vk2tzj29zk3Nzk3N3l3d7l3t7m3+Dn4ODn4OHo4eLo4eLp4+Pq4+Tq5OTq5OXr5ebr5ebs5+ft5+jt6Ojt6Oju6Oru6erv6+vw6uzw7Ozw7Ozx7e7x7e7y7u/z7/Dz8PDz8PD08fL18/P28/T29PT29PT39fb49vf59/j5+Pj5+Pj6+fn7+fr7+vv8/Pz8/Pz9/f3+/v7+/v7/AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAPbNbewAAAQB0Uk5T////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////AFP3ByUAAAAYdEVYdFNvZnR3YXJlAFBhaW50Lk5FVCB2My4zMECERxAAAAIMSURBVFhH5Zhre9IwGIbBw6ZOxQNTx1TAU+2SrompNjCVbcgEETorDhXGNmrW/v8/UHMo8w9Er9jdH/r9ue48b5O3kKaJIlacctgffkUZc8nJybHi6Gh2KJgqJhk/f3znjBUHkm+j0VdOKPiyLwiC4XAwGHyW9PufBL1ut/txT9HpfOC02+3d3Z2dbUmr1XovePdWsJXR5DQ4lFJf4C0gAixAHCcDAgDStLAIbELiLPLfTAzSQmY4p443ESGeR5Rk4RgAoxLrdrzpNcDzR9Vq1aLYzMS6e/wa3Vpv9sKgVb9Q98+DYx9coYeytax357YPDDzVmh3715tsMabGq2vEznuPadWKzuZysn8ZbpiXWK/jZjlIkmKRh+afmFlrWErO8aymlblKK1LHUadE8u6YPpVnuig1s2hYcuXoyrPjumqxCJyweXAXOuJYG5VYb4/pAz64sh7H0ax/c8O8xHrvXI2V8KzHbD7ZKrnmJdbseNU+jWPZYxZNw8dlAxPrdYzgpTZ/6rIii44nB2TpmYGJ9TpG/vry9kwwHY/eXLtnI2jc5NLrGGPv/kUw5JuJcM+6WrYclPf/MXYIqS2tVGq1yo3lhy8hcvN+58LY8Tz7RY3zxLIhwbm/V/MtF7eMkAshdByMoYGvRd095pEReSW2fAg7wMStj95ZLXeZELpil8n1nocdyH+Q+J84/g1Q1xtdBFkjRwAAAABJRU5ErkJggg== + + + 3 + EXPLORERBAR_NORMALGROUPEXPANDNOTHIGHLIGHT + 0 + iVBORw0KGgoAAAANSUhEUgAAAPEAAAAZCAMAAADXAjjUAAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8YQUAAAAgY0hSTQAAeiYAAICEAAD6AAAAgOgAAHUwAADqYAAAOpgAABdwnLpRPAAAAwBQTFRFAAAAMURzurvJu7zKvL3KvL3Lvb7Lvr/Mv7/Nv8DMv8HNwMHOwMLOwMLPwsTPwsPQwsTQw8XRxMXRxMbQxMbRxcbSxsfTx8fUx8jTyMjUycrVysvWy8zVy8zWy8zXzMzYzc7Yzc7Zz9DZz9Da0NDa0NHb0dPb09Td1NXe1dbf19jf1tfg1tjg19jh19ji2Njg2Njh2Nni2drh2dri2drj29vk2tzj29zk3Nzk3N3l3d7l3t7m3+Dn4ODn4OHo4eLo4eLp4+Pq4+Tq5OTq5OXr5ebr5ebs5+ft5+jt6Ojt6Oju6Oru6erv6+vw6uzw7Ozw7Ozx7e7x7e7y7u/z7/Dz8PDz8PD08fL18/P28/T29PT29PT39fb49vf59/j5+Pj5+Pj6+fn7+fr7+vv8/Pz8/Pz9/f3+/v7+/v7/AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA7sVWhwAAAQB0Uk5T////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////AFP3ByUAAAAYdEVYdFNvZnR3YXJlAFBhaW50Lk5FVCB2My4zMECERxAAAAIMSURBVFhH5Zhre9IwGIbBw6ZOxQNTx1TAU+2SrompNjCVbcgEETorDhXGNmrW/v8/UHMo8w9Er9jdH/r9ue48b5O3kKaJIlacctgffkUZc8nJybHi6Gh2KJgqJhk/f3znjBUHkm+j0VdOKPiyLwiC4XAwGHyW9PufBL1ut/txT9HpfOC02+3d3Z2dbUmr1XovePdWsJXR5DQ4lFJf4C0gAixAHCcDAgDStLAIbELiLPLfTAzSQmY4p443ESGeR5Rk4RgAoxLrdrzpNcDzR9Vq1aLYzMS6e/wa3Vpv9sKgVb9Q98+DYx9coYeytax357YPDDzVmh3715tsMabGq2vEznuPadWKzuZysn8ZbpiXWK/jZjlIkmKRh+afmFlrWErO8aymlblKK1LHUadE8u6YPpVnuig1s2hYcuXoyrPjumqxCJyweXAXOuJYG5VYb4/pAz64sh7H0ax/c8O8xHrvXI2V8KzHbD7ZKrnmJdbseNU+jWPZYxZNw8dlAxPrdYzgpTZ/6rIii44nB2TpmYGJ9TpG/vry9kwwHY/eXLtnI2jc5NLrGGPv/kUw5JuJcM+6WrYclPf/MXYIqS2tVGq1yo3lhy8hcvN+58LY8Tz7RY3zxLIhwbm/V/MtF7eMkAshdByMoYGvRd095pEReSW2fAg7wMStj95ZLXeZELpil8n1nocdyH+Q+J84/g1Q1xtdBFkjRwAAAABJRU5ErkJggg== + + + 3 + EXPLORERBAR_NORMALGROUPHIGHLIGHT_FORECOLOR + 8158334 + + + + 3 + EXPLORERBAR_NORMALGROUPNOTHIGHLIGHT_FORECOLOR + 4013375 + + + + 3 + EXPLORERBAR_SPECIALGROUPBACKGROUND + 0 + iVBORw0KGgoAAAANSUhEUgAAANoAAAABCAMAAACPOkAFAAAABGdBTUEAALGPC/xhBQAAAwBQTFRF8PH1AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAK7YgZQAAABh0RVh0U29mdHdhcmUAUGFpbnQuTkVUIHYzLjMwQIRHEAAAAAxJREFUGFdjYBi2AAAA2wABbb4xPgAAAABJRU5ErkJggg== + + + 3 + EXPLORERBAR_SPECIALGROUPCOLLAPSEHIGHLIGHT + 0 + iVBORw0KGgoAAAANSUhEUgAAAPEAAAAZCAMAAADXAjjUAAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8YQUAAAAgY0hSTQAAeiYAAICEAAD6AAAAgOgAAHUwAADqYAAAOpgAABdwnLpRPAAAAwBQTFRFAAAAa3OUbHOVbnSWb3WXd3eScHiZcnqbdHucdXuddXyddn6feHiSeHiTeXmUenqUenqVe3uWfHyWfH2Xfn6Yf3+Zd3+gf4CZeICgeIChe4GifIOkfYWlgICagYGbgYKbgoOcg4SdhISdhIWehYaehYafgYenh4egh4iggoiog4mphIysho6tiIigiImhiYqiiouji4ykjIykjI2ljY6ljo6miI6uiY+wj5CniZCwipGxipOxjpWzjJS0kJCnkJGokZKokZKpkpOqk5Sqk5SrlJWrlJWslZaslpetl5itl5iumJmumJmvmZqvkJa1kZe2l527l528mZqwmpuxm5yxm52ynJ2ynZ6znp+0mJ68nqC0n6C1maK/oKG1oKK2oaK3oqS4o6W5pKW5pKa5paa6pqe7pqi7p6m8qKm8qKq9qau+qqy+qqy/mqPAn6bEoKjEoqnFpKrGpKzIpK3Jpq7Jp6/NrK3ArK7Ara7BrrDCr7HDq7LNqbLOq7PPrLXRsLLDsLLEsbPFsrTEsrTFsrTGsrTHtLbGtLbHtrfJtrjHtrjItrjJt7nKuLnJuLnKuLrIuLrJuLrKurvLubzJurzLu77LvL3MvL7MvL7Nvb/OsLjTtbzXtr7Yt8DZv8HRv8LQuMHcvMPevMXfvMbfv8jhwMLRwcPSwcTRwcTSw8bVw8fWxcfWwMbdxsjWxsjXwsrexMjYxsvYycvayMzZyM3dyMzeyM3fyM7fzdHfwcrkxMvgxc3gxMzlxc/nxtDmxtDnx9HpytDhy9LjydDlzdHgztLhz9XmztTnyNHoydLry9TszdXoztju0NTj0Nbm0Nbo0Nbt0dnr+f7+AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA6BHzHAAAAQB0Uk5T////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////AFP3ByUAAAAYdEVYdFNvZnR3YXJlAFBhaW50Lk5FVCB2My4zMECERxAAAAJnSURBVFhHY/j/n5WVlYcXCvhAgF8ABAQFBYWAQBgEREBAVFRUXBYE5OTkgUABCBSVlJSUlVVUgUBdXV1DV1dPT08fCAwMDAyNjIyMjU1MTIHAwsLOzt7ewREInJycXVxdXd3c3d09PDw9vby8vX18g4AgOCQkJDQsLCwcCCKioqKio2Nj4+LigSABCBKTkpKTU4AgNS0tLT09PSMTCLKAIDsHBMrKyssrQKASDKqAoL6+AQQaGxubgaAFClr//2cAeXgE+bj9PwPIw8PYx82t7d0TJnS1wuK4vX14+7ipc+WRY+ePHz9/dl0X2M+tw93HE3dc2DO7urCgZMGZc0tHgo+7j56anR/gb2NlaZm75OJSYPk1zOO4cdOpWZH+ZjLSUtIyMuaLz09qHu4+nnJ8bqCfJjf7JTZ2Tk527QObh30cLzuRZ6PGxXbp0iUWNjYWltJDfcCSe1iX1esW+2uJAT3MAkQsLMyWh2cM91S9doGZDAfYtyCCWWbXzPZhHser52hJsYP8C8QszMySa2Z0tQzvVL16sQwXMP+C8jHQx0wy64e9j5fu1wF7GJKomax2Tx/ucTzxfDEbpNS6dImZiaVm65Th7uOGjSdtmZmZwZmYidF23/KJw93HVb0H99oygQEjo/WSLVMmtA/zkquhYdr2k7kSjIyMTFIxO7dNn9A93OvjhvqWiRtOL6orKqpdeHjV1AkT2od7mws46NPWPX3eihUrls2fNnkCMBcP+zgGerm9o6t/Qn//xAkTe0BjAsO8zQUe2mtp7wKC7q6u9pEwIgAay2xogIxlQsYzR0Acj/q4vR0At0FUqsY3nCYAAAAASUVORK5CYII= + + + 3 + EXPLORERBAR_SPECIALGROUPCOLLAPSENOTHIGHLIGHT + 0 + iVBORw0KGgoAAAANSUhEUgAAAPEAAAAZCAMAAADXAjjUAAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8YQUAAAAgY0hSTQAAeiYAAICEAAD6AAAAgOgAAHUwAADqYAAAOpgAABdwnLpRPAAAAwBQTFRFAAAAa3OUbHOVbnSWb3WXd3eScHiZcnqbdHucdXuddXyddn6feHiSeHiTeXmUenqUenqVe3uWfHyWfH2Xfn6Yf3+Zd3+gf4CZeICgeIChe4GifIOkfYWlgICagYGbgYKbgoOcg4SdhISdhIWehYaehYafgYenh4egh4iggoiog4mphIysho6tiIigiImhiYqiiouji4ykjIykjI2ljY6ljo6miI6uiY+wj5CniZCwipGxipOxjpWzjJS0kJCnkJGokZKokZKpkpOqk5Sqk5SrlJWrlJWslZaslpetl5itl5iumJmumJmvmZqvkJa1kZe2l527l528mZqwmpuxm5yxm52ynJ2ynZ6znp+0mJ68nqC0n6C1maK/oKG1oKK2oaK3oqS4o6W5pKW5pKa5paa6pqe7pqi7p6m8qKm8qKq9qau+qqy+qqy/mqPAn6bEoKjEoqnFpKrGpKzIpK3Jpq7Jp6/NrK3ArK7Ara7BrrDCr7HDq7LNqbLOq7PPrLXRsLLDsLLEsbPFsrTEsrTFsrTGsrTHtLbGtLbHtrfJtrjHtrjItrjJt7nKuLnJuLnKuLrIuLrJuLrKurvLubzJurzLu77LvL3MvL7MvL7Nvb/OsLjTtbzXtr7Yt8DZv8HRv8LQuMHcvMPevMXfvMbfv8jhwMLRwcPSwcTRwcTSw8bVw8fWxcfWwMbdxsjWxsjXwsrexMjYxsvYycvayMzZyM3dyMzeyM3fyM7fzdHfwcrkxMvgxc3gxMzlxc/nxtDmxtDnx9HpytDhy9LjydDlzdHgztLhz9XmztTnyNHoydLry9TszdXoztju0NTj0Nbm0Nbo0Nbt0dnr////AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAS3IePQAAAQB0Uk5T////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////AFP3ByUAAAAYdEVYdFNvZnR3YXJlAFBhaW50Lk5FVCB2My4zMECERxAAAAJnSURBVFhHY/j/n5WVlYcXCvhAgF8ABAQFBYWAQBgEREBAVFRUXBYE5OTkgUABCBSVlJSUlVVUgUBdXV1DV1dPT08fCAwMDAyNjIyMjU1MTIHAwsLOzt7ewREInJycXVxdXd3c3d09PDw9vby8vX18g4AgOCQkJDQsLCwcCCKioqKio2Nj4+LigSABCBKTkpKTU4AgNS0tLT09PSMTCLKAIDsHBMrKyssrQKASDKqAoL6+AQQaGxubgaAFClr//2cAeXgE+bj9PwPIw8PYx82t7d0TJnS1wuK4vX14+7ipc+WRY+ePHz9/dl0X2M+tw93HE3dc2DO7urCgZMGZc0tHgo+7j56anR/gb2NlaZm75OJSYPk1zOO4cdOpWZH+ZjLSUtIyMuaLz09qHu4+nnJ8bqCfJjf7JTZ2Tk527QObh30cLzuRZ6PGxXbp0iUWNjYWltJDfcCSe1iX1esW+2uJAT3MAkQsLMyWh2cM91S9doGZDAfYtyCCWWbXzPZhHser52hJsYP8C8QszMySa2Z0tQzvVL16sQwXMP+C8jHQx0wy64e9j5fu1wF7GJKomax2Tx/ucTzxfDEbpNS6dImZiaVm65Th7uOGjSdtmZmZwZmYidF23/KJw93HVb0H99oygQEjo/WSLVMmtA/zkquhYdr2k7kSjIyMTFIxO7dNn9A93OvjhvqWiRtOL6orKqpdeHjV1AkT2od7mws46NPWPX3eihUrls2fNnkCMBcP+zgGerm9o6t/Qn//xAkTe0BjAsO8zQUe2mtp7wKC7q6u9pEwIgAay2xogIxlQsYzR0Acj/q4vR0At0FUqsY3nCYAAAAASUVORK5CYII= + + + 3 + EXPLORERBAR_SPECIALGROUPEXPANDHIGHLIGHT + 0 + iVBORw0KGgoAAAANSUhEUgAAAPEAAAAZCAMAAADXAjjUAAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8YQUAAAAgY0hSTQAAeiYAAICEAAD6AAAAgOgAAHUwAADqYAAAOpgAABdwnLpRPAAAAwBQTFRFAAAAa3OUbHOVbnSWb3WXd3eScHiZcnqbdHucdXuddXyddn6feHiSeHiTeXmUenqUenqVe3uWfHyWfH2Xfn6Yf3+Zd3+gf4CZeICgeIChe4GifIOkfYWlgICagYGbgYKbgoOcg4SdhISdhIWehYaehYafgYenh4egh4iggoiog4mphIysho6tiIigiImhiYqiiouji4ykjIykjI2ljY6ljo6miI6uiY+wj5CniZCwipGxipOxjpWzjJS0kJCnkJGokZKokZKpkpOqk5Sqk5SrlJWrlJWslZaslpetl5itl5iumJmumJmvmZqvkJa1kZe2l527l528mZqwmpuxm5yxm52ynJ2ynZ6znp+0mJ68nqC0n6C1maK/oKG1oKK2oaK3oqS4o6W5pKW5pKa5paa6pqe7pqi7p6m8qKm8qKq9qau+qqy+qqy/mqPAn6bEoKjEoqnFpKrGpKzIpK3Jpq7Jp6/NrK3ArK7Ara7BrrDCr7HDq7LNqbLOq7PPrLXRsLLDsLLEsbPFsrTEsrTFsrTGsrTHtLbGtLbHtrfJtrjHtrjItrjJt7nKuLnJuLnKuLrIuLrJuLrKurvLubzJurzLu77LvL3MvL7MvL7Nvb/OsLjTtbzXtr7Yt8DZv8HRv8LQuMHcvMPevMXfvMbfv8jhwMLRwcPSwcTRwcTSw8bVw8fWxcfWwMbdxsjWxsjXwsrexMjYxsvYycvayMzZyM3dyMzeyM3fyM7fzdHfwcrkxMvgxc3gxMzlxc/nxtDmxtDnx9HpytDhy9LjydDlzdHgztLhz9XmztTnyNHoydLry9TszdXoztju0NTj0Nbm0Nbo0Nbt0dnr+f7+AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA6BHzHAAAAQB0Uk5T////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////AFP3ByUAAAAYdEVYdFNvZnR3YXJlAFBhaW50Lk5FVCB2My4zMECERxAAAAJmSURBVFhH7ZiLf0phGMfrnFOZe8ilHUNDjCVtZs3aGGkX5JLQbNgot7kMG3PptMrhhE5kjbmM1sSY+/1uyOYS/UN53so/8eb7H3w/v+d53vfzE8TjIpFo6LAUwxEjRiKkUukoYDRiDEImk42biMjKmgRMBqYoFIrs7KnTAKVSOSM3V6VSzQHUavVcjUaTl5efPw8oLCwpKS1duAgoK1u8RK/XLzUYDOXlFRWVlVVVy5avBtaYTKa1ZrN5HbDeYrFUV9fU1NZuAjYDW+rq6uu3AtusVqvNZtu+A9gJ7NqNaGpqbj6MOJKgBbDbGYTD4XACrhTueFyAhNPImI0LkDDGxk436+F5zv0vY5bF27j19O3PX6ORSPRnL5dwduNu7Hvx+03H0f37Dnb++BVKB2PPl4GOvSuNxUVabUPXnxDcL8wzdjwauLzBWEBnyjNpen4wet6Ju7E/cnXViplDJGKxJCNDMuvDY+wz7v62p3h6LEZRVCwmpqhDn87B5cb6VvcGjTljxaCcsCa1fe24T/W9zgJ6EAoYCVMk/eoSi3nGPVdy5BI00wlhcsLdds6F91T3BOnBaKhRzBRJ0PexNw69nw0HK7XHJFH0OoB7xr7oATBO7jFJUMee+nE3Zh7260iShD0mSUKoe3fLh7txy9mPb3VEAqFwQdcTP89ifrkYpu15f8N4oVBIyDe+fBbgPbi/x4zd5Xvw/eaJxsbjN/ruXOR5Fvc/F5Q+Jz2Ba+FwuPt62wUethj7jEGZPcV5ea/Xx/vOoE4A8z9XotpzsRzg4Tg2HRoB1GUyTLLLTPaZaZDxf2OW/Qs0iFSiyFPB/QAAAABJRU5ErkJggg== + + + 3 + EXPLORERBAR_SPECIALGROUPEXPANDNOTHIGHLIGHT + 0 + iVBORw0KGgoAAAANSUhEUgAAAPEAAAAZCAMAAADXAjjUAAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8YQUAAAAgY0hSTQAAeiYAAICEAAD6AAAAgOgAAHUwAADqYAAAOpgAABdwnLpRPAAAAwBQTFRFAAAAa3OUbHOVbnSWb3WXd3eScHiZcnqbdHucdXuddXyddn6feHiSeHiTeXmUenqUenqVe3uWfHyWfH2Xfn6Yf3+Zd3+gf4CZeICgeIChe4GifIOkfYWlgICagYGbgYKbgoOcg4SdhISdhIWehYaehYafgYenh4egh4iggoiog4mphIysho6tiIigiImhiYqiiouji4ykjIykjI2ljY6ljo6miI6uiY+wj5CniZCwipGxipOxjpWzjJS0kJCnkJGokZKokZKpkpOqk5Sqk5SrlJWrlJWslZaslpetl5itl5iumJmumJmvmZqvkJa1kZe2l527l528mZqwmpuxm5yxm52ynJ2ynZ6znp+0mJ68nqC0n6C1maK/oKG1oKK2oaK3oqS4o6W5pKW5pKa5paa6pqe7pqi7p6m8qKm8qKq9qau+qqy+qqy/mqPAn6bEoKjEoqnFpKrGpKzIpK3Jpq7Jp6/NrK3ArK7Ara7BrrDCr7HDq7LNqbLOq7PPrLXRsLLDsLLEsbPFsrTEsrTFsrTGsrTHtLbGtLbHtrfJtrjHtrjItrjJt7nKuLnJuLnKuLrIuLrJuLrKurvLubzJurzLu77LvL3MvL7MvL7Nvb/OsLjTtbzXtr7Yt8DZv8HRv8LQuMHcvMPevMXfvMbfv8jhwMLRwcPSwcTRwcTSw8bVw8fWxcfWwMbdxsjWxsjXwsrexMjYxsvYycvayMzZyM3dyMzeyM3fyM7fzdHfwcrkxMvgxc3gxMzlxc/nxtDmxtDnx9HpytDhy9LjydDlzdHgztLhz9XmztTnyNHoydLry9TszdXoztju0NTj0Nbm0Nbo0Nbt0dnr////AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAS3IePQAAAQB0Uk5T////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////AFP3ByUAAAAYdEVYdFNvZnR3YXJlAFBhaW50Lk5FVCB2My4zMECERxAAAAJmSURBVFhH7ZiLf0phGMfrnFOZe8ilHUNDjCVtZs3aGGkX5JLQbNgot7kMG3PptMrhhE5kjbmM1sSY+/1uyOYS/UN53so/8eb7H3w/v+d53vfzE8TjIpFo6LAUwxEjRiKkUukoYDRiDEImk42biMjKmgRMBqYoFIrs7KnTAKVSOSM3V6VSzQHUavVcjUaTl5efPw8oLCwpKS1duAgoK1u8RK/XLzUYDOXlFRWVlVVVy5avBtaYTKa1ZrN5HbDeYrFUV9fU1NZuAjYDW+rq6uu3AtusVqvNZtu+A9gJ7NqNaGpqbj6MOJKgBbDbGYTD4XACrhTueFyAhNPImI0LkDDGxk436+F5zv0vY5bF27j19O3PX6ORSPRnL5dwduNu7Hvx+03H0f37Dnb++BVKB2PPl4GOvSuNxUVabUPXnxDcL8wzdjwauLzBWEBnyjNpen4wet6Ju7E/cnXViplDJGKxJCNDMuvDY+wz7v62p3h6LEZRVCwmpqhDn87B5cb6VvcGjTljxaCcsCa1fe24T/W9zgJ6EAoYCVMk/eoSi3nGPVdy5BI00wlhcsLdds6F91T3BOnBaKhRzBRJ0PexNw69nw0HK7XHJFH0OoB7xr7oATBO7jFJUMee+nE3Zh7260iShD0mSUKoe3fLh7txy9mPb3VEAqFwQdcTP89ifrkYpu15f8N4oVBIyDe+fBbgPbi/x4zd5Xvw/eaJxsbjN/ruXOR5Fvc/F5Q+Jz2Ba+FwuPt62wUethj7jEGZPcV5ea/Xx/vOoE4A8z9XotpzsRzg4Tg2HRoB1GUyTLLLTPaZaZDxf2OW/Qs0iFSiyFPB/QAAAABJRU5ErkJggg== + + + 3 + EXPLORERBAR_SPECIALGROUPHIGHLIGHT_FORECOLOR + 15132390 + + + + 3 + EXPLORERBAR_SPECIALGROUPNOTHIGHLIGHT_FORECOLOR + 16777215 + + + + 3 + FORM_BACKGROUND + 0 + iVBORw0KGgoAAAANSUhEUgAAAAEAAAABCAIAAACQd1PeAAAACXBIWXMAAA7EAAAOxAGVKw4bAAAAB3RJTUUH1wUEDBczNySC9AAAAAd0RVh0QXV0aG9yAKmuzEgAAAAMdEVYdERlc2NyaXB0aW9uABMJISMAAAAKdEVYdENvcHlyaWdodACsD8w6AAAADnRFWHRDcmVhdGlvbiB0aW1lADX3DwkAAAAJdEVYdFNvZnR3YXJlAF1w/zoAAAALdEVYdERpc2NsYWltZXIAt8C0jwAAAAh0RVh0V2FybmluZwDAG+aHAAAAB3RFWHRTb3VyY2UA9f+D6wAAAAh0RVh0Q29tbWVudAD2zJa/AAAABnRFWHRUaXRsZQCo7tInAAAADElEQVR4nGP4/Pk7AAW6At433DOjAAAAAElFTkSuQmCC + + + 3 + OUTLOOKNAVBAR_BORDERCOLOR + 9731196 + + + + 3 + OVERFLOWPANELBUTTON_FOCUSEDNOTSELECTED + 0 + iVBORw0KGgoAAAANSUhEUgAAAAEAAAAfCAIAAACpqzA1AAAACXBIWXMAAA7EAAAOxAGVKw4bAAAAB3RJTUUH1wQMDQ8nVvOluAAAAAd0RVh0QXV0aG9yAKmuzEgAAAAMdEVYdERlc2NyaXB0aW9uABMJISMAAAAKdEVYdENvcHlyaWdodACsD8w6AAAADnRFWHRDcmVhdGlvbiB0aW1lADX3DwkAAAAJdEVYdFNvZnR3YXJlAF1w/zoAAAALdEVYdERpc2NsYWltZXIAt8C0jwAAAAh0RVh0V2FybmluZwDAG+aHAAAAB3RFWHRTb3VyY2UA9f+D6wAAAAh0RVh0Q29tbWVudAD2zJa/AAAABnRFWHRUaXRsZQCo7tInAAAAOElEQVR4nG3MUQoAIAwCUPHcHaPjdZNt2s+ggr5EeYgxJuxFVxBKQkF3ou7em/Jjj7fitUri963c+ehF2fKWZO0AAAAASUVORK5CYII= + + + 3 + OVERFLOWPANELBUTTON_FOCUSEDSELECTED + 0 + iVBORw0KGgoAAAANSUhEUgAAAAEAAAAfCAIAAACpqzA1AAAACXBIWXMAAA7EAAAOxAGVKw4bAAAAB3RJTUUH1wQMDRAMNxVSZgAAAAd0RVh0QXV0aG9yAKmuzEgAAAAMdEVYdERlc2NyaXB0aW9uABMJISMAAAAKdEVYdENvcHlyaWdodACsD8w6AAAADnRFWHRDcmVhdGlvbiB0aW1lADX3DwkAAAAJdEVYdFNvZnR3YXJlAF1w/zoAAAALdEVYdERpc2NsYWltZXIAt8C0jwAAAAh0RVh0V2FybmluZwDAG+aHAAAAB3RFWHRTb3VyY2UA9f+D6wAAAAh0RVh0Q29tbWVudAD2zJa/AAAABnRFWHRUaXRsZQCo7tInAAAAJElEQVR4nGOoqZnC8KKeg4mBmYWJkZkFk2YhThzOZsGiFrs4AKaEBBQilih0AAAAAElFTkSuQmCC + + + 3 + OVERFLOWPANELBUTTON_NOTFOCUSEDSELECTED + 0 + iVBORw0KGgoAAAANSUhEUgAAAAEAAAAfCAIAAACpqzA1AAAACXBIWXMAAA7EAAAOxAGVKw4bAAAAB3RJTUUH1wQMDQ8beZzZPwAAAAd0RVh0QXV0aG9yAKmuzEgAAAAMdEVYdERlc2NyaXB0aW9uABMJISMAAAAKdEVYdENvcHlyaWdodACsD8w6AAAADnRFWHRDcmVhdGlvbiB0aW1lADX3DwkAAAAJdEVYdFNvZnR3YXJlAF1w/zoAAAALdEVYdERpc2NsYWltZXIAt8C0jwAAAAh0RVh0V2FybmluZwDAG+aHAAAAB3RFWHRTb3VyY2UA9f+D6wAAAAh0RVh0Q29tbWVudAD2zJa/AAAABnRFWHRUaXRsZQCo7tInAAAAPElEQVR4nF2Nyw0AIRBCCXVbhjXaxADuxV/2BCEPQGsdNTqni7CuRoSL0yIsItsvzWVPL/oxe3Nl0fvxAeIYSl/g4AV2AAAAAElFTkSuQmCC + + + 3 + OVERFLOWPANEL_BACKGROUND + 0 + iVBORw0KGgoAAAANSUhEUgAAAAEAAAAfCAIAAACpqzA1AAAACXBIWXMAAA7EAAAOxAGVKw4bAAAAB3RJTUUH1wQMDQwyEAMSkAAAAAd0RVh0QXV0aG9yAKmuzEgAAAAMdEVYdERlc2NyaXB0aW9uABMJISMAAAAKdEVYdENvcHlyaWdodACsD8w6AAAADnRFWHRDcmVhdGlvbiB0aW1lADX3DwkAAAAJdEVYdFNvZnR3YXJlAF1w/zoAAAALdEVYdERpc2NsYWltZXIAt8C0jwAAAAh0RVh0V2FybmluZwDAG+aHAAAAB3RFWHRTb3VyY2UA9f+D6wAAAAh0RVh0Q29tbWVudAD2zJa/AAAABnRFWHRUaXRsZQCo7tInAAAALklEQVR4nK3KoQ0AIBDF0Muf+8ZgQdCs0AaDweOavFb3qLl2wIARg297DYx++w6OBlqhug8SzQAAAABJRU5ErkJggg== + + + 3 + OVERFLOWPANEL_MENUBUTTON + 0 + iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAMAAAAoLQ9TAAADAFBMVEUAAAD///8AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABnduxjAAABAHRSTlP/AP//////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////rTvmKwAAAAlwSFlzAAAOxAAADsQBlSsOGwAAAAd0SU1FB9cEDA0CA99ePyQAAAAHdEVYdEF1dGhvcgCprsxIAAAADHRFWHREZXNjcmlwdGlvbgATCSEjAAAACnRFWHRDb3B5cmlnaHQArA/MOgAAAA50RVh0Q3JlYXRpb24gdGltZQA19w8JAAAACXRFWHRTb2Z0d2FyZQBdcP86AAAAC3RFWHREaXNjbGFpbWVyALfAtI8AAAAIdEVYdFdhcm5pbmcAwBvmhwAAAAd0RVh0U291cmNlAPX/g+sAAAAIdEVYdENvbW1lbnQA9syWvwAAAAZ0RVh0VGl0bGUAqO7SJwAAADBJREFUeJxjYEQDDFgFGBhACFkFkgiMgotgV4FpBkFriRBgAAE0d6DbwsCIzsApAAB3XADk8z+QVAAAAABJRU5ErkJggg== + + + 3 + PANELBUTTON_FOCUSEDNOTSELECTED + 0 + iVBORw0KGgoAAAANSUhEUgAAAAEAAAAgCAIAAABch4VNAAAACXBIWXMAAA7EAAAOxAGVKw4bAAAAB3RJTUUH1wQMDQs6UZkMZQAAAAd0RVh0QXV0aG9yAKmuzEgAAAAMdEVYdERlc2NyaXB0aW9uABMJISMAAAAKdEVYdENvcHlyaWdodACsD8w6AAAADnRFWHRDcmVhdGlvbiB0aW1lADX3DwkAAAAJdEVYdFNvZnR3YXJlAF1w/zoAAAALdEVYdERpc2NsYWltZXIAt8C0jwAAAAh0RVh0V2FybmluZwDAG+aHAAAAB3RFWHRTb3VyY2UA9f+D6wAAAAh0RVh0Q29tbWVudAD2zJa/AAAABnRFWHRUaXRsZQCo7tInAAAAOElEQVR4nG2MyQ0AIAzDoszNGIzHJj3CB1FA/GwlMlrrkAYVRqQT6VQWI43a7EScbuv/8atX29OfBfpH23JgJ7wAAAAASUVORK5CYII= + + + 3 + PANELBUTTON_FOCUSEDSELECTED + 0 + iVBORw0KGgoAAAANSUhEUgAAAAEAAAAgCAIAAABch4VNAAAACXBIWXMAAA7EAAAOxAGVKw4bAAAAB3RJTUUH1wQMDQ4k1uHFQwAAAAd0RVh0QXV0aG9yAKmuzEgAAAAMdEVYdERlc2NyaXB0aW9uABMJISMAAAAKdEVYdENvcHlyaWdodACsD8w6AAAADnRFWHRDcmVhdGlvbiB0aW1lADX3DwkAAAAJdEVYdFNvZnR3YXJlAF1w/zoAAAALdEVYdERpc2NsYWltZXIAt8C0jwAAAAh0RVh0V2FybmluZwDAG+aHAAAAB3RFWHRTb3VyY2UA9f+D6wAAAAh0RVh0Q29tbWVudAD2zJa/AAAABnRFWHRUaXRsZQCo7tInAAAAKElEQVR4nGOoqZnC8KKeg4mBmZmJkZmFiYGZBQvNjEMcSrMQkMetHwC0/AQWDuoIYQAAAABJRU5ErkJggg== + + + 3 + PANELBUTTON_NOTFOCUSEDSELECTED + 0 + iVBORw0KGgoAAAANSUhEUgAAAAEAAAAgCAIAAABch4VNAAAACXBIWXMAAA7EAAAOxAGVKw4bAAAAB3RJTUUH1wQMDQsfGp3YIgAAAAd0RVh0QXV0aG9yAKmuzEgAAAAMdEVYdERlc2NyaXB0aW9uABMJISMAAAAKdEVYdENvcHlyaWdodACsD8w6AAAADnRFWHRDcmVhdGlvbiB0aW1lADX3DwkAAAAJdEVYdFNvZnR3YXJlAF1w/zoAAAALdEVYdERpc2NsYWltZXIAt8C0jwAAAAh0RVh0V2FybmluZwDAG+aHAAAAB3RFWHRTb3VyY2UA9f+D6wAAAAh0RVh0Q29tbWVudAD2zJa/AAAABnRFWHRUaXRsZQCo7tInAAAAPUlEQVR4nFXMwQ0AIRBCUULdlmGNNgE4e9Coe/skL6C1Do3OioiYFRPTZ682EbGmfwbR49e+7e31+P17zQf4U0xhRPCEoAAAAABJRU5ErkJggg== + + + 3 + PANELBUTTON_NOTSELECTED_FONTCOLOR + 0 + + + + 3 + PANELBUTTON_SELECTED_FONTCOLOR + 0 + + + + 3 + PANELVERTICAL_FOCUSED_BACKCOLOR + 10676223 + + + + 3 + PANELVERTICAL_FONTCOLOR + 0 + + + + 3 + PANELVERTICAL_NOTFOCUSED_BACKCOLOR + 16249843 + + + + 3 + PANEL_BACKGROUND + 0 + iVBORw0KGgoAAAANSUhEUgAAAAEAAAAgCAIAAABch4VNAAAACXBIWXMAAA7EAAAOxAGVKw4bAAAAB3RJTUUH1wQMDQwdu9IvyQAAAAd0RVh0QXV0aG9yAKmuzEgAAAAMdEVYdERlc2NyaXB0aW9uABMJISMAAAAKdEVYdENvcHlyaWdodACsD8w6AAAADnRFWHRDcmVhdGlvbiB0aW1lADX3DwkAAAAJdEVYdFNvZnR3YXJlAF1w/zoAAAALdEVYdERpc2NsYWltZXIAt8C0jwAAAAh0RVh0V2FybmluZwDAG+aHAAAAB3RFWHRTb3VyY2UA9f+D6wAAAAh0RVh0Q29tbWVudAD2zJa/AAAABnRFWHRUaXRsZQCo7tInAAAAL0lEQVR4nGOoqZnC8PDRG6a/f/8x/f37j+nfPyj99x/T339oNLI8irr/BORxmgMAAB9dokvvvNEAAAAASUVORK5CYII= + + + 3 + SHORTCUTMENU_DOWN_ENABLED + 0 + Qk02BQAAAAAAADYEAAAoAAAAEAAAABAAAAABAAgAAAAAAAAAAADEDgAAxA4AAAABAAAAAQAAoFAw/6BYMP+wWDD/sGBA/7BoQP/AaED/wHBQ/8B4UP/QeFD/4HhQ/+CAUP/giFD/8IhQ/9CIYP/wkGD//5Bg/+CQcP/gmHD/8Jhw//CgcP//oHD//6iA//+wgP//sJD//7iQ///AoP//////AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/xoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaAhoaGhoaGhoaGhoaGhoaAgUBGhoaGhoaGhoaGhoaAgoJBQAaGhoaGhoaGhoaBxIUCwgFABoaGhoaGhoaExEQFQ4KAAMEGhoaGhoaGhoaDRYPDAMaGhoaGhoaGhoaGhAZFQ4EGhoaGhoaGhoaGhoRGRgXBhoaGhoaGhoaGhoaExEQDQ0aGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGho= + + + 3 + SHORTCUTMENU_DOWN_DISABLED + 0 + Qk02BQAAAAAAADYEAAAoAAAAEAAAABAAAAABAAgAAAAAAAAAAADEDgAAxA4AAAABAAAAAQAAT09P/1RUVP9WVlb/X19f/2RkZP9mZmb/b29v/3R0dP92dnb/d3d3/3x8fP+BgYH/g4OD/4SEhP+MjIz/jo6O/4+Pj/+UlJT/lpaW/5qamv+cnJz/paWl/6qqqv+vr6//tLS0/729vf//////AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/xoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaAhoaGhoaGhoaGhoaGhoaAgUBGhoaGhoaGhoaGhoaAgoJBQAaGhoaGhoaGhoaBxIUCwgFABoaGhoaGhoaExEQFQ4KAAMEGhoaGhoaGhoaDRYPDAMaGhoaGhoaGhoaGhAZFQ4EGhoaGhoaGhoaGhoRGRgXBhoaGhoaGhoaGhoaExEQDQ0aGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGho= + + + 3 + SHORTCUTMENU_UP_ENABLED + 0 + Qk02BQAAAAAAADYEAAAoAAAAEAAAABAAAAABAAgAAAAAAAAAAADEDgAAxA4AAAABAAAAAQAAkEgg/6BIIP+gUCD/oFAw/6BYMP+wWDD/0Ggw/8BwQP/QcED/0HhA/9B4UP/QgFD/4IBQ/+CIYP/wkGD/8Jhg/+CYcP/woHD//6Bw//CogP//sJD//8Cg//////8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/xYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFgwDAAAAFhYWFhYWFhYWFhYMDQsHABYWFhYWFhYWFhYWDBMNCgEWFhYWFhYWFhYWFgwVDw0CFhYWFhYWFhYWEAgGFA8PBQIAFhYWFhYWFhYQFRQSDgkDFhYWFhYWFhYWFhEVFA0DFhYWFhYWFhYWFhYWERUEFhYWFhYWFhYWFhYWFhYQFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhY= + + + 3 + SHORTCUTMENU_UP_DISABLED + 0 + Qk02BQAAAAAAADYEAAAoAAAAEAAAABAAAAABAAgAAAAAAAAAAADEDgAAxA4AAAABAAAAAQAARERE/0ZGRv9KSkr/T09P/1RUVP9WVlb/Y2Nj/2pqav9sbGz/cXFx/3Z2dv96enr/fHx8/4aGhv+MjIz/kZGR/5SUlP+ampr/nJyc/6SkpP+vr6//vb29//////8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/xYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFgwDAAAAFhYWFhYWFhYWFhYMDQsHABYWFhYWFhYWFhYWDBMNCgEWFhYWFhYWFhYWFgwVDw0CFhYWFhYWFhYWEAgGFA8PBQIAFhYWFhYWFhYQFRQSDgkDFhYWFhYWFhYWFhEVFA0DFhYWFhYWFhYWFhYWERUEFhYWFhYWFhYWFhYWFhYQFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhY= + + + 3 + SHRINKBUTTON_FOCUSEDNOTSHRUNK + 0 + iVBORw0KGgoAAAANSUhEUgAAABIAAAASCAYAAABWzo5XAAAABGdBTUEAALGPC/xhBQAAAAlwSFlzAAAOwgAADsIBFShKgAAAAAd0SU1FB9cEEhECD3MSCbcAAAAYdEVYdFNvZnR3YXJlAFBhaW50Lk5FVCB2My4xMHKyJZIAAACzSURBVDhPrZGhDsIwFEUvf4rEIrBILAKLxCCxyAkQhBAECQQEgiAQCBKSdWt3YaRdxks39ZoccXp7VDvkhdA4dEdqgMLsqAGK95oawL0SagD3XFID2MeCbXw/9G+XHlrY+5xNlNEv9G+k1zvY24wxqsjv0mWD/DqlJEThXnq0yc8Txqhiv0uXDbLTmE2EOOzS6x2yw4htlHF9lx42mP2QGsBsB9QAZtOnBkhXPWqANOlSgw/RhutoURsdLwAAAABJRU5ErkJggg== + + + 3 + SHRINKBUTTON_FOCUSEDSHRUNK + 0 + iVBORw0KGgoAAAANSUhEUgAAABIAAAASCAYAAABWzo5XAAAABGdBTUEAALGPC/xhBQAAAAlwSFlzAAAOwgAADsIBFShKgAAAAAd0SU1FB9cEEhECNbUe0AUAAAAYdEVYdFNvZnR3YXJlAFBhaW50Lk5FVCB2My4xMHKyJZIAAACwSURBVDhPrdGvC8JQGIXh439qtBqsRqvBarQYrcYFDSJiEBQNBjEYFgRhd7+OTnbHPFzbN3jCuR9vWoe8EBYfiyMtoHQ7WkD5WtMCimdECyjiJS0gfyyoPj/x5013sMnvc6oq/Mb1TXewyW8zhjRxfdetDbLrlP/42N91tztk5wlDmqi+69YG6WlM5SP/rjvYpIcRVRW233QHG7cf0gLcdkALcJs+LSBZ9WgBSdSlhTcMputoJnzNZQAAAABJRU5ErkJggg== + + + 3 + SHRINKBUTTON_NOTFOCUSEDNOTSHRUNK + 0 + iVBORw0KGgoAAAANSUhEUgAAABIAAAASCAYAAABWzo5XAAAABGdBTUEAALGPC/xhBQAAAAlwSFlzAAAOwgAADsIBFShKgAAAAAd0SU1FB9cEEhEdHtT4J9sAAAAYdEVYdFNvZnR3YXJlAFBhaW50Lk5FVCB2My4xMHKyJZIAAACoSURBVDhPrYvJCsJQEATbn1ZcccEVF1wwJiFGERERERERv641h4HH8JLTDNShp6jSIf0SFrdPPrQAcfSmBQh3L1qAYPukBdisH7QAq+WdRfB/rtdbHBbzG/PIouzE6+12mE2v9CGROL11g8n4Qo1E8tfb12A0PNOHxOL01g0G/RPzkFi83m6HXvfIIrLY9XqLQ6ed0gK0mgktQKMe0wLUqiEtQKUc0IIfVwJjnBSnJGEAAAAASUVORK5CYII= + + + 3 + SHRINKBUTTON_NOTFOCUSEDSHRUNK + 0 + iVBORw0KGgoAAAANSUhEUgAAABIAAAASCAYAAABWzo5XAAAABGdBTUEAALGPC/xhBQAAAAlwSFlzAAAOwgAADsIBFShKgAAAAAd0SU1FB9cEEhEgFrDL51cAAAAYdEVYdFNvZnR3YXJlAFBhaW50Lk5FVCB2My4xMHKyJZIAAACpSURBVDhPrcvJCsJQEETR8qcVRxxwxAEHjDHEKCIiIiIi4r8FSrJoiE276wdnUf24hX3yITzeLn7TA6Ltix4Qbp70gGD9oAeslnd6wGJ+o8Y0/bnpbTWYTa/UsjAjd72tBpPxhRaJ5U9v3WA0PPMfieVf73yHQf9Ei0Typ7du0OseqUkkd72tBp32gVoW5m96Ww1azYQe0KjH9IBaNaIHVMohPaBUDOjhC117YwyPTyovAAAAAElFTkSuQmCC + + + 3 + SIGNS_MINUS + 0 + iVBORw0KGgoAAAANSUhEUgAAAAkAAAAJCAYAAADgkQYQAAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8YQUAAAAgY0hSTQAAeiYAAICEAAD6AAAAgOgAAHUwAADqYAAAOpgAABdwnLpRPAAAABh0RVh0U29mdHdhcmUAUGFpbnQuTkVUIHYzLjIwWZ92UQAAAI5JREFUKFNjfP76/f+dRy8ygMEPCAUCH6B8a0NxBoYFGw78xwA//v//8OH//wdAwsAj4T+mIriC//8PXHgAVbQCySQkBQ9efPi/4QCaIpCx6BiuaALIJJAJQPwA5A4gceHGB6BVH/4v2HEBYh1IEYYCbIpAJoAcueEEEAPdATIBhsEmnb54HcMtyG4DyQMAS+rq4jk+qVQAAAAASUVORK5CYII= + + + 3 + SIGNS_PLUS + 0 + iVBORw0KGgoAAAANSUhEUgAAAAkAAAAJCAYAAADgkQYQAAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8YQUAAAAgY0hSTQAAeiYAAICEAAD6AAAAgOgAAHUwAADqYAAAOpgAABdwnLpRPAAAABh0RVh0U29mdHdhcmUAUGFpbnQuTkVUIHYzLjIwWZ92UQAAAJZJREFUKFNjfP76/f+dRy8ygMEPCAUCH6B8a0NxBoYFGw78xwA//v//8OH//wdAwsAj4T+GIpAgRMH//wcuPIAqWoFkEtAEkCKQggcvPvzfcABNEUgSHcMVTQCZBHIDEINMACm8cOMD0KoP/xfsuACxDqQIpuABUBVI8AA2RTBHbjjxAOwOkAkwDDbp9MXrGG5BdhtIHgAc3OMlaQBkAQAAAABJRU5ErkJggg== + + + 3 + SPLITTER_BACKGROUND + 0 + iVBORw0KGgoAAAANSUhEUgAAAAEAAAAICAIAAAC3eAIWAAAACXBIWXMAAA7EAAAOxAGVKw4bAAAAB3RJTUUH1wQMDQoac+wd7AAAAAd0RVh0QXV0aG9yAKmuzEgAAAAMdEVYdERlc2NyaXB0aW9uABMJISMAAAAKdEVYdENvcHlyaWdodACsD8w6AAAADnRFWHRDcmVhdGlvbiB0aW1lADX3DwkAAAAJdEVYdFNvZnR3YXJlAF1w/zoAAAALdEVYdERpc2NsYWltZXIAt8C0jwAAAAh0RVh0V2FybmluZwDAG+aHAAAAB3RFWHRTb3VyY2UA9f+D6wAAAAh0RVh0Q29tbWVudAD2zJa/AAAABnRFWHRUaXRsZQCo7tInAAAAHUlEQVR4nGOoqZnCpKOtzfTt2w84/v4dQjMwMAAABvcQk/XV9g0AAAAASUVORK5CYII= + + + 3 + SPLITTER_GRIPPER + 0 + iVBORw0KGgoAAAANSUhEUgAAACMAAAAICAIAAAD80NH7AAAACXBIWXMAAA7EAAAOxAGVKw4bAAAAB3RJTUUH1wQMDQoouztMbAAAAAd0RVh0QXV0aG9yAKmuzEgAAAAMdEVYdERlc2NyaXB0aW9uABMJISMAAAAKdEVYdENvcHlyaWdodACsD8w6AAAADnRFWHRDcmVhdGlvbiB0aW1lADX3DwkAAAAJdEVYdFNvZnR3YXJlAF1w/zoAAAALdEVYdERpc2NsYWltZXIAt8C0jwAAAAh0RVh0V2FybmluZwDAG+aHAAAAB3RFWHRTb3VyY2UA9f+D6wAAAAh0RVh0Q29tbWVudAD2zJa/AAAABnRFWHRUaXRsZQCo7tInAAAAXElEQVR4nGOsqZnCQBfAoqOtTR+bGDWM3BkYGMqyCxgYGLqmTqAdm4mBgcHSKTA6xuXbtx80ZbMkhSfkF4QwMDB8+/aDpmzGxob5NI4gKGCBeJAOgIk+1jAwMAAAcT9zg0JpLAYAAAAASUVORK5CYII= + + + 3 + TITLE_BACKGROUND + 0 + iVBORw0KGgoAAAANSUhEUgAAAAEAAAAaCAIAAAD5ZqGGAAAACXBIWXMAAA7EAAAOxAGVKw4bAAAKTWlDQ1BQaG90b3Nob3AgSUNDIHByb2ZpbGUAAHjanVN3WJP3Fj7f92UPVkLY8LGXbIEAIiOsCMgQWaIQkgBhhBASQMWFiApWFBURnEhVxILVCkidiOKgKLhnQYqIWotVXDjuH9yntX167+3t+9f7vOec5/zOec8PgBESJpHmomoAOVKFPDrYH49PSMTJvYACFUjgBCAQ5svCZwXFAADwA3l4fnSwP/wBr28AAgBw1S4kEsfh/4O6UCZXACCRAOAiEucLAZBSAMguVMgUAMgYALBTs2QKAJQAAGx5fEIiAKoNAOz0ST4FANipk9wXANiiHKkIAI0BAJkoRyQCQLsAYFWBUiwCwMIAoKxAIi4EwK4BgFm2MkcCgL0FAHaOWJAPQGAAgJlCLMwAIDgCAEMeE80DIEwDoDDSv+CpX3CFuEgBAMDLlc2XS9IzFLiV0Bp38vDg4iHiwmyxQmEXKRBmCeQinJebIxNI5wNMzgwAABr50cH+OD+Q5+bk4eZm52zv9MWi/mvwbyI+IfHf/ryMAgQAEE7P79pf5eXWA3DHAbB1v2upWwDaVgBo3/ldM9sJoFoK0Hr5i3k4/EAenqFQyDwdHAoLC+0lYqG9MOOLPv8z4W/gi372/EAe/tt68ABxmkCZrcCjg/1xYW52rlKO58sEQjFu9+cj/seFf/2OKdHiNLFcLBWK8ViJuFAiTcd5uVKRRCHJleIS6X8y8R+W/QmTdw0ArIZPwE62B7XLbMB+7gECiw5Y0nYAQH7zLYwaC5EAEGc0Mnn3AACTv/mPQCsBAM2XpOMAALzoGFyolBdMxggAAESggSqwQQcMwRSswA6cwR28wBcCYQZEQAwkwDwQQgbkgBwKoRiWQRlUwDrYBLWwAxqgEZrhELTBMTgN5+ASXIHrcBcGYBiewhi8hgkEQcgIE2EhOogRYo7YIs4IF5mOBCJhSDSSgKQg6YgUUSLFyHKkAqlCapFdSCPyLXIUOY1cQPqQ28ggMor8irxHMZSBslED1AJ1QLmoHxqKxqBz0XQ0D12AlqJr0Rq0Hj2AtqKn0UvodXQAfYqOY4DRMQ5mjNlhXIyHRWCJWBomxxZj5Vg1Vo81Yx1YN3YVG8CeYe8IJAKLgBPsCF6EEMJsgpCQR1hMWEOoJewjtBK6CFcJg4Qxwicik6hPtCV6EvnEeGI6sZBYRqwm7iEeIZ4lXicOE1+TSCQOyZLkTgohJZAySQtJa0jbSC2kU6Q+0hBpnEwm65Btyd7kCLKArCCXkbeQD5BPkvvJw+S3FDrFiOJMCaIkUqSUEko1ZT/lBKWfMkKZoKpRzame1AiqiDqfWkltoHZQL1OHqRM0dZolzZsWQ8ukLaPV0JppZ2n3aC/pdLoJ3YMeRZfQl9Jr6Afp5+mD9HcMDYYNg8dIYigZaxl7GacYtxkvmUymBdOXmchUMNcyG5lnmA+Yb1VYKvYqfBWRyhKVOpVWlX6V56pUVXNVP9V5qgtUq1UPq15WfaZGVbNQ46kJ1Bar1akdVbupNq7OUndSj1DPUV+jvl/9gvpjDbKGhUaghkijVGO3xhmNIRbGMmXxWELWclYD6yxrmE1iW7L57Ex2Bfsbdi97TFNDc6pmrGaRZp3mcc0BDsax4PA52ZxKziHODc57LQMtPy2x1mqtZq1+rTfaetq+2mLtcu0W7eva73VwnUCdLJ31Om0693UJuja6UbqFutt1z+o+02PreekJ9cr1Dund0Uf1bfSj9Rfq79bv0R83MDQINpAZbDE4Y/DMkGPoa5hpuNHwhOGoEctoupHEaKPRSaMnuCbuh2fjNXgXPmasbxxirDTeZdxrPGFiaTLbpMSkxeS+Kc2Ua5pmutG003TMzMgs3KzYrMnsjjnVnGueYb7ZvNv8jYWlRZzFSos2i8eW2pZ8ywWWTZb3rJhWPlZ5VvVW16xJ1lzrLOtt1ldsUBtXmwybOpvLtqitm63Edptt3xTiFI8p0in1U27aMez87ArsmuwG7Tn2YfYl9m32zx3MHBId1jt0O3xydHXMdmxwvOuk4TTDqcSpw+lXZxtnoXOd8zUXpkuQyxKXdpcXU22niqdun3rLleUa7rrStdP1o5u7m9yt2W3U3cw9xX2r+00umxvJXcM970H08PdY4nHM452nm6fC85DnL152Xlle+70eT7OcJp7WMG3I28Rb4L3Le2A6Pj1l+s7pAz7GPgKfep+Hvqa+It89viN+1n6Zfgf8nvs7+sv9j/i/4XnyFvFOBWABwQHlAb2BGoGzA2sDHwSZBKUHNQWNBbsGLww+FUIMCQ1ZH3KTb8AX8hv5YzPcZyya0RXKCJ0VWhv6MMwmTB7WEY6GzwjfEH5vpvlM6cy2CIjgR2yIuB9pGZkX+X0UKSoyqi7qUbRTdHF09yzWrORZ+2e9jvGPqYy5O9tqtnJ2Z6xqbFJsY+ybuIC4qriBeIf4RfGXEnQTJAntieTE2MQ9ieNzAudsmjOc5JpUlnRjruXcorkX5unOy553PFk1WZB8OIWYEpeyP+WDIEJQLxhP5aduTR0T8oSbhU9FvqKNolGxt7hKPJLmnVaV9jjdO31D+miGT0Z1xjMJT1IreZEZkrkj801WRNberM/ZcdktOZSclJyjUg1plrQr1zC3KLdPZisrkw3keeZtyhuTh8r35CP5c/PbFWyFTNGjtFKuUA4WTC+oK3hbGFt4uEi9SFrUM99m/ur5IwuCFny9kLBQuLCz2Lh4WfHgIr9FuxYji1MXdy4xXVK6ZHhp8NJ9y2jLspb9UOJYUlXyannc8o5Sg9KlpUMrglc0lamUycturvRauWMVYZVkVe9ql9VbVn8qF5VfrHCsqK74sEa45uJXTl/VfPV5bdra3kq3yu3rSOuk626s91m/r0q9akHV0IbwDa0b8Y3lG19tSt50oXpq9Y7NtM3KzQM1YTXtW8y2rNvyoTaj9nqdf13LVv2tq7e+2Sba1r/dd3vzDoMdFTve75TsvLUreFdrvUV99W7S7oLdjxpiG7q/5n7duEd3T8Wej3ulewf2Re/ranRvbNyvv7+yCW1SNo0eSDpw5ZuAb9qb7Zp3tXBaKg7CQeXBJ9+mfHvjUOihzsPcw83fmX+39QjrSHkr0jq/dawto22gPaG97+iMo50dXh1Hvrf/fu8x42N1xzWPV56gnSg98fnkgpPjp2Snnp1OPz3Umdx590z8mWtdUV29Z0PPnj8XdO5Mt1/3yfPe549d8Lxw9CL3Ytslt0utPa49R35w/eFIr1tv62X3y+1XPK509E3rO9Hv03/6asDVc9f41y5dn3m978bsG7duJt0cuCW69fh29u0XdwruTNxdeo94r/y+2v3qB/oP6n+0/rFlwG3g+GDAYM/DWQ/vDgmHnv6U/9OH4dJHzEfVI0YjjY+dHx8bDRq98mTOk+GnsqcTz8p+Vv9563Or59/94vtLz1j82PAL+YvPv655qfNy76uprzrHI8cfvM55PfGm/K3O233vuO+638e9H5ko/ED+UPPR+mPHp9BP9z7nfP78L/eE8/sl0p8zAAAABGdBTUEAALGOfPtRkwAAACBjSFJNAAB6JQAAgIMAAPn/AACA6QAAdTAAAOpgAAA6mAAAF2+SX8VGAAAAJUlEQVR42mJYsXw/EwMDA9Pfv/+Y/v37h0FjE8Mnh02MgYEBMAA3wUajSzvGlwAAAABJRU5ErkJggg== + + + 3 + TITLE_BACKGROUND_LEFT + 1 + + + + 3 + TITLE_BACKGROUND_WIDTH + 198 + + + + 3 + TITLE_BORDERCOLOR + 9731196 + + + + 3 + TITLE_FONTCOLOR + 16777215 + + + + 3 + TOOLTITLE_BACKGROUND + 0 + iVBORw0KGgoAAAANSUhEUgAAAAEAAAATCAIAAADeafBOAAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8YQUAAAAgY0hSTQAAeiYAAICEAAD6AAAAgOgAAHUwAADqYAAAOpgAABdwnLpRPAAAAEdJREFUGFcdw1kKgCAAQMF3/wsqiiiimUuaWfQbNDAIEVnr/c/5MMZN74vWLkqZ5HyS0iDGTggH3jecq1hbMCaj9Y5SCSm3D8ftM7bXRCRhAAAAAElFTkSuQmCC + + + 3 + TOOLTITLE_FONTCOLOR + 0 + + + + 3 + ZOOMNAVBAR_BAR + 0 + Qk3+BAAAAAAAADYEAAAoAAAAAQAAADIAAAABAAgAAAAAAAAAAADEDgAAxA4AAAABAAAAAQAAkW9w/5Jwcf+TcXL/k3Jz/5RzdP+VdHX/lnZ3/5d3eP+YeHn/mXl6/5p6e/+be3z/nHx9/519fv+ef4D/n4CB/6CCg/+hg4T/ooSF/6OFhv+khof/pYeI/6aJiv+niov/qIuM/7KYmf/ItbX/yrm5/828vP/Pv8D/0sTE/9XHyP/Yy8v/2s7O/93R0v/g1dX/4tjY/+Xb2//n3t7/6eHh/+vk5P/t5+f/7+np//Hs7P/z7u7/9PDw//bz8//39PX/+Pb2/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAAABAAAAAgAAAAMAAAAEAAAABQAAAAYAAAAHAAAACAAAAAkAAAAKAAAACwAAAAwAAAANAAAADgAAAA8AAAAPAAAAEAAAABEAAAASAAAAEwAAABQAAAAVAAAAFgAAABcAAAAYAAAAGQAAABoAAAAbAAAAHAAAAB0AAAAeAAAAHwAAACAAAAAhAAAAIgAAACMAAAAkAAAAJQAAACYAAAAnAAAAKAAAACkAAAAqAAAAKwAAACwAAAAtAAAALgAAAC8AAAAwAAAA + + + 3 + ZOOMNAVBAR_REFLECTEDSEPARATOR + 0 + iVBORw0KGgoAAAANSUhEUgAAADAAAAAwCAYAAABXAvmHAAAABGdBTUEAALGPC/xhBQAAABh0RVh0U29mdHdhcmUAUGFpbnQuTkVUIHYzLjIwWZ92UQAAAD9JREFUaEPt0IEAAAAAw6D5Ux/khVBhwIABAwYMGDBgwIABAwYMGDBgwIABAwYMGDBgwIABAwYMGDBgwMDLwAAkMAABCDVySwAAAABJRU5ErkJggg== + + + 3 + ZOOMNAVBAR_SEPARATOR + 0 + iVBORw0KGgoAAAANSUhEUgAAADAAAAAwCAYAAABXAvmHAAAABGdBTUEAALGPC/xhBQAAABh0RVh0U29mdHdhcmUAUGFpbnQuTkVUIHYzLjIwWZ92UQAAAD9JREFUaEPt0IEAAAAAw6D5Ux/khVBhwIABAwYMGDBgwIABAwYMGDBgwIABAwYMGDBgwIABAwYMGDBgwMDLwAAkMAABCDVySwAAAABJRU5ErkJggg== + + + 3 + ZOOMNAVBAR_STACKBUTTON + 0 + iVBORw0KGgoAAAANSUhEUgAAAMAAAAAcCAYAAAA3ILBTAAABF0lEQVR4nO3cMW7CQBRF0WuU1kUovAHatNn/CuiyCyJKOnAKG8YQg02BjP6/R0LC43kSxTw0jGRASqy6uW6A9ci4FMEJ2AH788BwoX8Dm8FYy/0izLln3vyS+UfXP/2LVT/YcL34pagq4AuooRTAbY8yqYBPKAVw8SubCkoBpJQ+Bu/bkftjY8/cM29+yfzk3GEBbrdBS/+KN2/+FadAV9wCKTULoNQsgFKzAErNAig1j0HNR85PzvUY1HzU/Jy5boGUmwVQahZAqVkApWYBlJrHoOYj5yfnegxqPmp+ztzLFuh0b4IUVAulALvzgJTAEfiFUoA93d9EWAJFdwS2wAH+741quqflfUheEbV03/yHpT+I9Bb+AD0fBdMuQEabAAAAAElFTkSuQmCC + + + 4 + BUTTON_FOCUSED_FONTCOLOR + 0 + + + + 4 + BUTTON_LEFT_FOCUSED + 0 + Qk22BAAAAAAAADYEAAAoAAAAAgAAACAAAAABAAgAAAAAAAAAAADEDgAAxA4AAAABAAAAAQAAXFNM/2fX//9q1///bdj//3DZ//902v//d9v//3rc//993f//gd7//4Te//+H3///i+D//47h//+R4v//lOP//5jk//+b5f//p+j//63q//+y7P//uO7//73w///D8v//yPT//872///T+P//2fr//978////////AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/x0AAAAAAAAAABEAAAAQAAAADwAAAA4AAAANAAAADAAAAAsAAAAKAAAACQAAAAgAAAAHAAAABgAAAAUAAAAEAAAAAwAAAAIAAAABAAAAEgAAABMAAAAUAAAAFQAAABYAAAAXAAAAGAAAABkAAAAaAAAAGwAAABwAAAAAAAAdAAAA + + + 4 + BUTTON_LEFT_HOTTRACKING + 0 + Qk22BAAAAAAAADYEAAAoAAAAAgAAACAAAAABAAgAAAAAAAAAAADEDgAAxA4AAAABAAAAAQAAab3//3jb//973P//ft3//4He//+E3///h+D//4rh//+N4v//kOP//5Pj//+W5P//meX//5zm//+f5///ouj//6Xp//+o6v//q+v//67s//+x7P//tO3//7fu//+67///vfD//8Dx///D8v//xvP//8n0////////AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/x0AAAAAAAAAAAEAAAACAAAAAwAAAAQAAAAFAAAABgAAAAcAAAAIAAAACQAAAAoAAAALAAAADAAAAA0AAAAOAAAADwAAABAAAAARAAAAEgAAABMAAAAUAAAAFQAAABYAAAAXAAAAGAAAABkAAAAaAAAAGwAAABwAAAAAAAAdAAAA + + + 4 + BUTTON_LEFT_NOTFOCUSED + 0 + Qk22BAAAAAAAADYEAAAoAAAAAgAAACAAAAABAAgAAAAAAAAAAADEDgAAxA4AAAABAAAAAQAAXFNM/9HLx//SzMj/083J/9TOyv/Vz8v/1tDN/9fRzv/Y08//2dTQ/9rV0f/b1tP/3NfU/93Y1f/e2tb/39vY/+Dc2f/h3dr/5OLf/+bk4f/o5uP/6ujm/+zq6P/t7Or/7+7s//Hw7//z8vH/9fTz//f29f//////AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/x0AAAAAAAAAABEAAAAQAAAADwAAAA4AAAANAAAADAAAAAsAAAAKAAAACQAAAAgAAAAHAAAABgAAAAUAAAAEAAAAAwAAAAIAAAABAAAAEgAAABMAAAAUAAAAFQAAABYAAAAXAAAAGAAAABkAAAAaAAAAGwAAABwAAAAAAAAdAAAA + + + 4 + BUTTON_MIDDLE_FOCUSED + 0 + Qk22BAAAAAAAADYEAAAoAAAAAQAAACAAAAABAAgAAAAAAAAAAADEDgAAxA4AAAABAAAAAQAAXFNM/2fX//9q1///bdj//3DZ//902v//d9v//3rc//993f//gd7//4Te//+H3///i+D//47h//+R4v//lOP//5jk//+b5f//nub//6fo//+t6v//suz//7ju//+98P//w/L//8j0///O9v//0/j//9n6///e/P//5P7//wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAAASAAAAEQAAABAAAAAPAAAADgAAAA0AAAAMAAAACwAAAAoAAAAJAAAACAAAAAcAAAAGAAAABQAAAAQAAAADAAAAAgAAAAEAAAATAAAAFAAAABUAAAAWAAAAFwAAABgAAAAZAAAAGgAAABsAAAAcAAAAHQAAAB4AAAAAAAAA + + + 4 + BUTTON_MIDDLE_HOTTRACKING + 0 + Qk22BAAAAAAAADYEAAAoAAAAAQAAACAAAAABAAgAAAAAAAAAAADEDgAAxA4AAAABAAAAAQAAab3//3Xb//942///e9z//37d//+B3v//hN///4fg//+K4f//jeL//5Dj//+T4///luT//5nl//+c5v//n+f//6Lo//+l6f//qOr//6vr//+u7P//sez//7Tt//+37v//uu///73w///A8f//w/L//8bz///J9P//zPX//wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAAABAAAAAgAAAAMAAAAEAAAABQAAAAYAAAAHAAAACAAAAAkAAAAKAAAACwAAAAwAAAANAAAADgAAAA8AAAAQAAAAEQAAABIAAAATAAAAFAAAABUAAAAWAAAAFwAAABgAAAAZAAAAGgAAABsAAAAcAAAAHQAAAB4AAAAAAAAA + + + 4 + BUTTON_MIDDLE_NOTFOCUSED + 0 + Qk22BAAAAAAAADYEAAAoAAAAAQAAACAAAAABAAgAAAAAAAAAAADEDgAAxA4AAAABAAAAAQAAXFNM/9HLx//SzMj/083J/9TOyv/Vz8v/1tDN/9fRzv/Y08//2dTQ/9rV0f/b1tP/3NfU/93Y1f/e2tb/39vY/+Dc2f/h3dr/4t7b/+Ti3//m5OH/6Obj/+ro5v/s6uj/7ezq/+/u7P/x8O//8/Lx//X08//39vX/+fj4/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAAASAAAAEQAAABAAAAAPAAAADgAAAA0AAAAMAAAACwAAAAoAAAAJAAAACAAAAAcAAAAGAAAABQAAAAQAAAADAAAAAgAAAAEAAAATAAAAFAAAABUAAAAWAAAAFwAAABgAAAAZAAAAGgAAABsAAAAcAAAAHQAAAB4AAAAAAAAA + + + 4 + BUTTON_NOTFOCUSED_FONTCOLOR + 4406327 + + + + 4 + BUTTON_RIGHT_FOCUSED + 0 + Qk22BAAAAAAAADYEAAAoAAAAAgAAACAAAAABAAgAAAAAAAAAAADEDgAAxA4AAAABAAAAAQAAXFNM/2fX//9q1///bdj//3DZ//902v//d9v//3rc//993f//gd7//4Te//+H3///i+D//47h//+R4v//lOP//5jk//+b5f//p+j//63q//+y7P//uO7//73w///D8v//yPT//872///T+P//2fr//978////////AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAdAAAAAAAAEQAAABAAAAAPAAAADgAAAA0AAAAMAAAACwAAAAoAAAAJAAAACAAAAAcAAAAGAAAABQAAAAQAAAADAAAAAgAAAAEAAAASAAAAEwAAABQAAAAVAAAAFgAAABcAAAAYAAAAGQAAABoAAAAbAAAAHAAAAAAAAAAAHQAA + + + 4 + BUTTON_RIGHT_HOTTRACKING + 0 + Qk22BAAAAAAAADYEAAAoAAAAAgAAACAAAAABAAgAAAAAAAAAAADEDgAAxA4AAAABAAAAAQAAab3//3jb//973P//ft3//4He//+E3///h+D//4rh//+N4v//kOP//5Pj//+W5P//meX//5zm//+f5///ouj//6Xp//+o6v//q+v//67s//+x7P//tO3//7fu//+67///vfD//8Dx///D8v//xvP//8n0////////AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAdAAAAAAAAAQAAAAIAAAADAAAABAAAAAUAAAAGAAAABwAAAAgAAAAJAAAACgAAAAsAAAAMAAAADQAAAA4AAAAPAAAAEAAAABEAAAASAAAAEwAAABQAAAAVAAAAFgAAABcAAAAYAAAAGQAAABoAAAAbAAAAHAAAAAAAAAAAHQAA + + + 4 + BUTTON_RIGHT_NOTFOCUSED + 0 + Qk22BAAAAAAAADYEAAAoAAAAAgAAACAAAAABAAgAAAAAAAAAAADEDgAAxA4AAAABAAAAAQAAXFNM/9HLx//SzMj/083J/9TOyv/Vz8v/1tDN/9fRzv/Y08//2dTQ/9rV0f/b1tP/3NfU/93Y1f/e2tb/39vY/+Dc2f/h3dr/5OLf/+bk4f/o5uP/6ujm/+zq6P/t7Or/7+7s//Hw7//z8vH/9fTz//f29f//////AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAdAAAAAAAAEQAAABAAAAAPAAAADgAAAA0AAAAMAAAACwAAAAoAAAAJAAAACAAAAAcAAAAGAAAABQAAAAQAAAADAAAAAgAAAAEAAAASAAAAEwAAABQAAAAVAAAAFgAAABcAAAAYAAAAGQAAABoAAAAbAAAAHAAAAAAAAAAAHQAA + + + 4 + CONTAINER_BORDERCOLOR + 6050636 + + + + 4 + EXPLORERBAR_BACKGROUND + 0 + iVBORw0KGgoAAAANSUhEUgAAAAEAAAM1CAIAAAA+dAz4AAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8YQUAAAAgY0hSTQAAeiYAAICEAAD6AAAAgOgAAHUwAADqYAAAOpgAABdwnLpRPAAAAAd0SU1FB9gGBBEaNlDo8BAAAAEsSURBVEhLvcNFriMBDEDBt84PMzMzMzPn/reZreXttFxS8fv9+J/f7xcnfz4fnPp+v3Hy6/XCyc/nE6c+Hg+cfL/fcfLtdsPy9XrF+uVywfr5fMb66XTC+vF4xPLhcMD6fr/H+m63w/p2u8X6ZrPB8nq9xvpqtcL6crnE+mKxwPp8Psf6bDZDnk6nyJPJBH08HiOPRiP04XCIPBgM0Pv9PnKv10PvdrvInU4Hvd1uI7daLfRms4ncaDTQ6/U6cq1WQ69Wq8iVSgW9XC4jl0ol9GKxiFwoFNDz+TxyLpdDz2azyJlMBj2dTiOnUin0ZDKJnEgk0OPxOHIsFkOPRqPIkUgEPRwOI4dCIfRgMIgcCATQ/X4/ss/nQ/d6vcgejwfd7XYj//39obtcLsR/UBotgOLhPgUAAAAASUVORK5CYII= + + + 4 + EXPLORERBAR_BORDERCOLOR + 6050636 + + + + 4 + EXPLORERBAR_NORMALGROUPBACKGROUND + 0 + iVBORw0KGgoAAAANSUhEUgAAAAEAAAAZCAMAAADHTrRNAAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8YQUAAAAgY0hSTQAAeiYAAICEAAD6AAAAgOgAAHUwAADqYAAAOpgAABdwnLpRPAAAAwBQTFRFvcHIv8PKwcXMw8fNxcnPx8vRyc3Ty8/UztHW0NPY0tXZ1Nfb1tnd2Nvf2t3g3N/i3+Hk4ePl4+Xn5efp5+nr6evs6+3u7e/w8PHyAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAXu51mAAAAAlwSFlzAAAOwwAADsMBx2+oZAAAAAd0SU1FB9cEEhA2Npb/GH8AAAAYdEVYdFNvZnR3YXJlAFBhaW50Lk5FVCB2My4zMECERxAAAAAtSURBVBhXBcEJAkAgAACwUVSu5P7/S20+r8ftcjo0u2qzWswmRZaMBlHQ6/gBJ6YBLavTn8UAAAAASUVORK5CYII= + + + 4 + EXPLORERBAR_NORMALGROUPCOLLAPSEHIGHLIGHT + 0 + iVBORw0KGgoAAAANSUhEUgAAAPEAAAAZCAMAAADXAjjUAAAABGdBTUEAALGPC/xhBQAAAwBQTFRFAAAATFNcWlpa/9dn/9hq/9lt/9pz/9t3/9x6/919/9+D/9+G/+CJ/+GM/+OS/+SW/+SZ/+mn/+2z/++4//G+zc3N//PD//bO//jT//rZ//zfAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA9cpOYQAAAQB0Uk5T////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////AFP3ByUAAAAYdEVYdFNvZnR3YXJlAFBhaW50Lk5FVCB2My4zMECERxAAAAB6SURBVFhH5c/ZAYJQDADBl4gX3kdA7b9P3A+0CHY6mDaFy9QiPiYRLd4ujF8ujEcXxoML46cL44cL47sL45sL45VB/ZOMO4HK+i0Zr5evMrPmJuPN8hHOnJuMty6Mdy6M9y6MexfGBxfGRxfGJxfGZxfGFxfGVxfGNl9j1DVou2A5uQAAAABJRU5ErkJggg== + + + 4 + EXPLORERBAR_NORMALGROUPCOLLAPSENOTHIGHLIGHT + 0 + iVBORw0KGgoAAAANSUhEUgAAAPEAAAAZCAMAAADXAjjUAAAABGdBTUEAALGPC/xhBQAAAwBQTFRFAAAATFNcTVNdWlpazc3Nx8vRyMzRyc3Sy8/UzNDVzdHWz9LX0dTZ0tba09fb1Njc19re2Nvf2dzg3+Lk4+bo5ujq6Ors6uzt7/Dx8fLz8/T19fb3AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA9wsOTAAAAQB0Uk5T////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////AFP3ByUAAAAYdEVYdFNvZnR3YXJlAFBhaW50Lk5FVCB2My4zMECERxAAAAB6SURBVFhH5c/ZAYJQDADBFxM8UbzP/uvE/UCLYKeDaWO4jC3iY7KIFm8Xxi8Xxk8Xxg8XxncXxjcXxlcXxhcXxp1B/ZOMlwKV9VsyXs1fZWZNTcbr+SOcOTUZb1wYb10Y71wY9y6M9y6MDy6MBxfGRxfGJxfGZxfGNl8W51tGcOfwogAAAABJRU5ErkJggg== + + + 4 + EXPLORERBAR_NORMALGROUPEXPANDHIGHLIGHT + 0 + iVBORw0KGgoAAAANSUhEUgAAAPEAAAAZCAMAAADXAjjUAAAABGdBTUEAALGPC/xhBQAAAwBQTFRFAAAATFNcWlpa/9dn/9hq/9lt/9pz/9t3/9x6/919/9+D/9+G/+CJ/+GM/+OS/+SW/+SZ/+mn/+2z/++4//G+zc3N//PD//bO//jT//rZ//zfAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA9cpOYQAAAQB0Uk5T////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////AFP3ByUAAAAYdEVYdFNvZnR3YXJlAFBhaW50Lk5FVCB2My4zMECERxAAAAB6SURBVFhH5c8LFoFQFEDRdxNRUj4Xmf88c1orBtHZM9hlDpe5RHxMIkpMLozfLoxfLoyfLowfLozvLoxvLoyvLox321ct1ibjevuScK5NxnuBrPK3ZHwwyH+ScePC+OjC+OTCuHVh3LkwPrsw7l0YX1wYDy6MRxfGNl+y5DV2CCWP6gAAAABJRU5ErkJggg== + + + 4 + EXPLORERBAR_NORMALGROUPEXPANDNOTHIGHLIGHT + 0 + iVBORw0KGgoAAAANSUhEUgAAAPEAAAAZCAMAAADXAjjUAAAABGdBTUEAALGPC/xhBQAAAwBQTFRFAAAATFNcTVNdWlpazc3Nx8vRyMzRyc3Sy8/UzNDVzdHWz9LX0dTZ0tba09fb1Njc19re2Nvf2dzg3+Lk4+bo5ujq6Ors6uzt7/Dx8fLz8/T19fb3AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA9wsOTAAAAQB0Uk5T////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////AFP3ByUAAAAYdEVYdFNvZnR3YXJlAFBhaW50Lk5FVCB2My4zMECERxAAAAB7SURBVFhH5c+JEYJAEADBW1k/UMAPRfOPE8YqNAimM+gyhctUIj4mmyjxdmE8ujB+uTB+ujAeXBg/XBjfXRjfXBhv16/6WpqMd+uXhHNpMt4LZJW/JeODQf6TjI8ujGsXxo0L45ML47ML49aFcefCuHdhfHFhfHVhbDMDi8dbVPxDpfQAAAAASUVORK5CYII= + + + 4 + EXPLORERBAR_NORMALGROUPHIGHLIGHT_FORECOLOR + 0 + + + + 4 + EXPLORERBAR_NORMALGROUPNOTHIGHLIGHT_FORECOLOR + 4406327 + + + + 4 + EXPLORERBAR_SPECIALGROUPBACKGROUND + 0 + iVBORw0KGgoAAAANSUhEUgAAAAEAAAAZCAMAAADHTrRNAAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8YQUAAAAgY0hSTQAAeiYAAICEAAD6AAAAgOgAAHUwAADqYAAAOpgAABdwnLpRPAAAAwBQTFRFvcHIv8PKwcXMw8fNxcnPx8vRyc3Ty8/UztHW0NPY0tXZ1Nfb1tnd2Nvf2t3g3N/i3+Hk4ePl4+Xn5efp5+nr6evs6+3u7e/w8PHyAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAXu51mAAAAAlwSFlzAAAOwwAADsMBx2+oZAAAAAd0SU1FB9cEEhA2Npb/GH8AAAAYdEVYdFNvZnR3YXJlAFBhaW50Lk5FVCB2My4zMECERxAAAAAtSURBVBhXBcEJAkAgAACwUVSu5P7/S20+r8ftcjo0u2qzWswmRZaMBlHQ6/gBJ6YBLavTn8UAAAAASUVORK5CYII= + + + 4 + EXPLORERBAR_SPECIALGROUPCOLLAPSEHIGHLIGHT + 0 + iVBORw0KGgoAAAANSUhEUgAAAPEAAAAZCAMAAADXAjjUAAAABGdBTUEAALGPC/xhBQAAAwBQTFRFAAAATFNcWlpa+4w8+5A++5RB/JxF/KBH/KRK/6xD/KhM/69K/7FN/bBQ/7NR/bNT/7RU/bdV/7db/rtX/7hf/7pi/7tm/sNc/sde/stgzc3NAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA2cQjSAAAAQB0Uk5T////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////AFP3ByUAAAAYdEVYdFNvZnR3YXJlAFBhaW50Lk5FVCB2My4zMECERxAAAAB6SURBVFhH5c/ZAYJQDADBl4gX3geo6b9P3A+0CHY6mDaFy9QiRpOIFoML46cL47sL46sL47ML46ML44ML470L45VB/ZOMO4HK+i0Zr5evMrPmJuPN8hHOnJuMty6Mdy6MexfGJxfGFxfGNxfGDxfGLxfGbxfGHxfGNl+kyDDew6jozgAAAABJRU5ErkJggg== + + + 4 + EXPLORERBAR_SPECIALGROUPCOLLAPSENOTHIGHLIGHT + 0 + iVBORw0KGgoAAAANSUhEUgAAAPEAAAAZCAMAAADXAjjUAAAABGdBTUEAALGPC/xhBQAAAwBQTFRFAAAATFNcWlpa/6s//65C/7FG/7dM/7pQ/71T/7xu/8BW/8Zd/slg/sxj/s9n/8F5/8R//tVt/thx/tt0/8aE/8mK/86U/9Ga/9Sf/9alzc3NAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAATe31SwAAAQB0Uk5T////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////AFP3ByUAAAAYdEVYdFNvZnR3YXJlAFBhaW50Lk5FVCB2My4zMECERxAAAAB6SURBVFhH5c/ZAYJQDADBl4gX3geo6b9P3A+0CHY6mDaFy9QiPiYRLd4ujF8ujEcXxoML46cL46sL44sL470L45VB/ZOMO4HK+i0Zr5evMrPmJuPN8hHOnJuMty6Mdy6MexfGBxfGRxfGJxfGZxfGNxfGdxfGDxfGNl/oDzDYzSa/gwAAAABJRU5ErkJggg== + + + 4 + EXPLORERBAR_SPECIALGROUPEXPANDHIGHLIGHT + 0 + iVBORw0KGgoAAAANSUhEUgAAAPEAAAAZCAMAAADXAjjUAAAABGdBTUEAALGPC/xhBQAAAwBQTFRFAAAATFNcWlpa+4w8+5A++5RB/JxF/KBH/KRK/6xD/KhM/69K/7FN/bBQ/7NR/bNT/7RU/bdV/7db/rtX/7hf/7pi/7tm/sNc/sde/stgzc3NAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA2cQjSAAAAQB0Uk5T////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////AFP3ByUAAAAYdEVYdFNvZnR3YXJlAFBhaW50Lk5FVCB2My4zMECERxAAAAB6SURBVFhH5c+JEYJAEADBWxRRfMAPdfPPE8YqIAimM+gyhstYIgaTiBJvF8YvF8YPF8a9C+ObC+OLC+OzC+OTC+Pd9lV/c5PxfvuScM5NxrVAVrksGR8Mck0yblwYH10Yty6Mry6MOxfGdxfGTxfGHxfGXxfGPxfGNhPlqjDsldpZVgAAAABJRU5ErkJggg== + + + 4 + EXPLORERBAR_SPECIALGROUPEXPANDNOTHIGHLIGHT + 0 + iVBORw0KGgoAAAANSUhEUgAAAPEAAAAZCAMAAADXAjjUAAAABGdBTUEAALGPC/xhBQAAAwBQTFRFAAAATFNcWlpa/6s//65C/7FG/7dM/7pQ/71T/7xu/8BW/8Zd/slg/sxj/s9n/8F5/8R//tVt/thx/tt0/8aE/8mK/86U/9Ga/9Sf/9alzc3NAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAATe31SwAAAQB0Uk5T////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////AFP3ByUAAAAYdEVYdFNvZnR3YXJlAFBhaW50Lk5FVCB2My4zMECERxAAAAB6SURBVFhH5c+JEYJAEADBWxRRfMAPdfPPE8YqIAimM+gyhstYIn4mESW+Low/LowHF8ZvF8YvF8a9C+POhfHJhfFu+6q/ucl4v31JOOcm41ogq1yWjA8GuSYZNy6Mjy6MWxfGZxfGFxfGVxfGNxfGdxfGDxfGTxfGNhMpADDmnmek8wAAAABJRU5ErkJggg== + + + 4 + EXPLORERBAR_SPECIALGROUPHIGHLIGHT_FORECOLOR + 0 + + + + 4 + EXPLORERBAR_SPECIALGROUPNOTHIGHLIGHT_FORECOLOR + 4406327 + + + + 4 + FORM_BACKGROUND + 0 + iVBORw0KGgoAAAANSUhEUgAAAAEAAAGmCAIAAAAyGXk8AAAACXBIWXMAAA7EAAAOxAGVKw4bAAAAB3RJTUUH1wUEDBkZchxmrAAAAAd0RVh0QXV0aG9yAKmuzEgAAAAMdEVYdERlc2NyaXB0aW9uABMJISMAAAAKdEVYdENvcHlyaWdodACsD8w6AAAADnRFWHRDcmVhdGlvbiB0aW1lADX3DwkAAAAJdEVYdFNvZnR3YXJlAF1w/zoAAAALdEVYdERpc2NsYWltZXIAt8C0jwAAAAh0RVh0V2FybmluZwDAG+aHAAAAB3RFWHRTb3VyY2UA9f+D6wAAAAh0RVh0Q29tbWVudAD2zJa/AAAABnRFWHRUaXRsZQCo7tInAAAAO0lEQVR4nGMIDg5mYmBgwMD////HKk6pWlqrH0xuGXX70FA/mNwy6nb6qIfJodP45IhRQwu54WgvATUABhfeaR6ThosAAAAASUVORK5CYII= + + + 4 + OUTLOOKNAVBAR_BORDERCOLOR + 6050636 + + + + 4 + OVERFLOWPANELBUTTON_FOCUSEDNOTSELECTED + 0 + iVBORw0KGgoAAAANSUhEUgAAAAEAAAAfCAIAAACpqzA1AAAACXBIWXMAAA7EAAAOxAGVKw4bAAAAB3RJTUUH1wQSEQARuytWVgAAAAd0RVh0QXV0aG9yAKmuzEgAAAAMdEVYdERlc2NyaXB0aW9uABMJISMAAAAKdEVYdENvcHlyaWdodACsD8w6AAAADnRFWHRDcmVhdGlvbiB0aW1lADX3DwkAAAAJdEVYdFNvZnR3YXJlAF1w/zoAAAALdEVYdERpc2NsYWltZXIAt8C0jwAAAAh0RVh0V2FybmluZwDAG+aHAAAAB3RFWHRTb3VyY2UA9f+D6wAAAAh0RVh0Q29tbWVudAD2zJa/AAAABnRFWHRUaXRsZQCo7tInAAAAL0lEQVR4nGPwCY5h+P/vCRPDv19MDP9+E0e/P8DEwMDMxMAIwyxIbCifAY8chA0AQtMbuVLLaCAAAAAASUVORK5CYII= + + + 4 + OVERFLOWPANELBUTTON_FOCUSEDSELECTED + 0 + iVBORw0KGgoAAAANSUhEUgAAAAEAAAAfCAIAAACpqzA1AAAACXBIWXMAAA7EAAAOxAGVKw4bAAAAB3RJTUUH1wQSEQENtjE7WAAAAAd0RVh0QXV0aG9yAKmuzEgAAAAMdEVYdERlc2NyaXB0aW9uABMJISMAAAAKdEVYdENvcHlyaWdodACsD8w6AAAADnRFWHRDcmVhdGlvbiB0aW1lADX3DwkAAAAJdEVYdFNvZnR3YXJlAF1w/zoAAAALdEVYdERpc2NsYWltZXIAt8C0jwAAAAh0RVh0V2FybmluZwDAG+aHAAAAB3RFWHRTb3VyY2UA9f+D6wAAAAh0RVh0Q29tbWVudAD2zJa/AAAABnRFWHRUaXRsZQCo7tInAAAARUlEQVR4nGPwCY5h+L83k4nh318mhv9/EPT/v0wM/5BoJPk/D34yMbAwMTGwMDMxsjAxMbAyQ/lMTIwsUDY2Mag4I0QvAE5EHG3Zw2FMAAAAAElFTkSuQmCC + + + 4 + OVERFLOWPANELBUTTON_NOTFOCUSEDSELECTED + 0 + iVBORw0KGgoAAAANSUhEUgAAAAEAAAAfCAIAAACpqzA1AAAACXBIWXMAAA7EAAAOxAGVKw4bAAAAB3RJTUUH1wQSEQADSJInHgAAAAd0RVh0QXV0aG9yAKmuzEgAAAAMdEVYdERlc2NyaXB0aW9uABMJISMAAAAKdEVYdENvcHlyaWdodACsD8w6AAAADnRFWHRDcmVhdGlvbiB0aW1lADX3DwkAAAAJdEVYdFNvZnR3YXJlAF1w/zoAAAALdEVYdERpc2NsYWltZXIAt8C0jwAAAAh0RVh0V2FybmluZwDAG+aHAAAAB3RFWHRTb3VyY2UA9f+D6wAAAAh0RVh0Q29tbWVudAD2zJa/AAAABnRFWHRUaXRsZQCo7tInAAAAM0lEQVR4nGPwCY5h+H9zFRPD319MDH9/Q+h/vxF8FDaU/nCR6T8zMxMDMwsTAzrNQrQ4AGHgHI44vfxfAAAAAElFTkSuQmCC + + + 4 + OVERFLOWPANEL_BACKGROUND + 0 + iVBORw0KGgoAAAANSUhEUgAAAAEAAAAfCAIAAACpqzA1AAAACXBIWXMAAA7EAAAOxAGVKw4bAAAAB3RJTUUH1wQSEQAjc/wH1gAAAAd0RVh0QXV0aG9yAKmuzEgAAAAMdEVYdERlc2NyaXB0aW9uABMJISMAAAAKdEVYdENvcHlyaWdodACsD8w6AAAADnRFWHRDcmVhdGlvbiB0aW1lADX3DwkAAAAJdEVYdFNvZnR3YXJlAF1w/zoAAAALdEVYdERpc2NsYWltZXIAt8C0jwAAAAh0RVh0V2FybmluZwDAG+aHAAAAB3RFWHRTb3VyY2UA9f+D6wAAAAh0RVh0Q29tbWVudAD2zJa/AAAABnRFWHRUaXRsZQCo7tInAAAAM0lEQVR4nGPwCY5h+PHjJ9Pff/+Y/iFhBP8/Gv8f04uXb5kYGRlRMBOMzYRFDCrOhKoHAKofJ9GxStIrAAAAAElFTkSuQmCC + + + 4 + OVERFLOWPANEL_MENUBUTTON + 0 + iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAMAAAAoLQ9TAAADAFBMVEUxNDHr6+v///8AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAzQofpAAABAHRSTlP//wD/////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////Zg+QzwAAAAlwSFlzAAAOxAAADsQBlSsOGwAAAAd0SU1FB9cEEhEyF784pxIAAAAHdEVYdEF1dGhvcgCprsxIAAAADHRFWHREZXNjcmlwdGlvbgATCSEjAAAACnRFWHRDb3B5cmlnaHQArA/MOgAAAA50RVh0Q3JlYXRpb24gdGltZQA19w8JAAAACXRFWHRTb2Z0d2FyZQBdcP86AAAAC3RFWHREaXNjbGFpbWVyALfAtI8AAAAIdEVYdFdhcm5pbmcAwBvmhwAAAAd0RVh0U291cmNlAPX/g+sAAAAIdEVYdENvbW1lbnQA9syWvwAAAAZ0RVh0VGl0bGUAqO7SJwAAACRJREFUeJxjYEIDDLQTYAABZAFGIJ8RRQsjjA83A8anpcOQAAAD1AHqqEVm4QAAAABJRU5ErkJggg== + + + 4 + PANELBUTTON_FOCUSEDNOTSELECTED + 0 + iVBORw0KGgoAAAANSUhEUgAAAAEAAAAgCAIAAABch4VNAAAACXBIWXMAAA7EAAAOxAGVKw4bAAAAB3RJTUUH1wQSEDMu+OR0bAAAAAd0RVh0QXV0aG9yAKmuzEgAAAAMdEVYdERlc2NyaXB0aW9uABMJISMAAAAKdEVYdENvcHlyaWdodACsD8w6AAAADnRFWHRDcmVhdGlvbiB0aW1lADX3DwkAAAAJdEVYdFNvZnR3YXJlAF1w/zoAAAALdEVYdERpc2NsYWltZXIAt8C0jwAAAAh0RVh0V2FybmluZwDAG+aHAAAAB3RFWHRTb3VyY2UA9f+D6wAAAAh0RVh0Q29tbWVudAD2zJa/AAAABnRFWHRUaXRsZQCo7tInAAAAOElEQVR4nGPwCY5h+P/vCRPDv99MDP9+QTGU/f83kjiS/LsDTAyMzAjMwMzEwMiCKgYXR8csyOIAsaQbvOiRHe8AAAAASUVORK5CYII= + + + 4 + PANELBUTTON_FOCUSEDSELECTED + 0 + iVBORw0KGgoAAAANSUhEUgAAAAEAAAAgCAIAAABch4VNAAAACXBIWXMAAA7EAAAOxAGVKw4bAAAAB3RJTUUH1wQSEDo3TU1n5QAAAAd0RVh0QXV0aG9yAKmuzEgAAAAMdEVYdERlc2NyaXB0aW9uABMJISMAAAAKdEVYdENvcHlyaWdodACsD8w6AAAADnRFWHRDcmVhdGlvbiB0aW1lADX3DwkAAAAJdEVYdFNvZnR3YXJlAF1w/zoAAAALdEVYdERpc2NsYWltZXIAt8C0jwAAAAh0RVh0V2FybmluZwDAG+aHAAAAB3RFWHRTb3VyY2UA9f+D6wAAAAh0RVh0Q29tbWVudAD2zJa/AAAABnRFWHRUaXRsZQCo7tInAAAAQ0lEQVR4nGPwCY5h+L83k4nh318mhv9/EPT/v0wM/5BoJPk/D34yMbAwMTGwMDMxsjBB2RA+AwsTQowZjQ+VR4gxAwC/IBxvvCRTAgAAAABJRU5ErkJggg== + + + 4 + PANELBUTTON_NOTFOCUSEDSELECTED + 0 + iVBORw0KGgoAAAANSUhEUgAAAAEAAAAgCAIAAABch4VNAAAACXBIWXMAAA7EAAAOxAGVKw4bAAAAB3RJTUUH1wQSEDQgUB3PrAAAAAd0RVh0QXV0aG9yAKmuzEgAAAAMdEVYdERlc2NyaXB0aW9uABMJISMAAAAKdEVYdENvcHlyaWdodACsD8w6AAAADnRFWHRDcmVhdGlvbiB0aW1lADX3DwkAAAAJdEVYdFNvZnR3YXJlAF1w/zoAAAALdEVYdERpc2NsYWltZXIAt8C0jwAAAAh0RVh0V2FybmluZwDAG+aHAAAAB3RFWHRTb3VyY2UA9f+D6wAAAAh0RVh0Q29tbWVudAD2zJa/AAAABnRFWHRUaXRsZQCo7tInAAAAOUlEQVR4nGPwCY5h+H9zFRPD399MDP9+Qei/v5gY/v1GY/9CqHl/kYmBmZmJgZkFSmNn/8cjB2UDAK/bHJKto9KQAAAAAElFTkSuQmCC + + + 4 + PANELBUTTON_NOTSELECTED_FONTCOLOR + 4406327 + + + + 4 + PANELBUTTON_SELECTED_FONTCOLOR + 0 + + + + 4 + PANELVERTICAL_FOCUSED_BACKCOLOR + 10676223 + + + + 4 + PANELVERTICAL_FONTCOLOR + 0 + + + + 4 + PANELVERTICAL_NOTFOCUSED_BACKCOLOR + 15461355 + + + + 4 + PANEL_BACKGROUND + 0 + iVBORw0KGgoAAAANSUhEUgAAAAEAAAAgCAIAAABch4VNAAAACXBIWXMAAA7EAAAOxAGVKw4bAAAAB3RJTUUH1wQSEDQ0Sscb0QAAAAd0RVh0QXV0aG9yAKmuzEgAAAAMdEVYdERlc2NyaXB0aW9uABMJISMAAAAKdEVYdENvcHlyaWdodACsD8w6AAAADnRFWHRDcmVhdGlvbiB0aW1lADX3DwkAAAAJdEVYdFNvZnR3YXJlAF1w/zoAAAALdEVYdERpc2NsYWltZXIAt8C0jwAAAAh0RVh0V2FybmluZwDAG+aHAAAAB3RFWHRTb3VyY2UA9f+D6wAAAAh0RVh0Q29tbWVudAD2zJa/AAAABnRFWHRUaXRsZQCo7tInAAAANElEQVR4nGPwCY5h+PHjJ9Pff/+Y/iFhBP8/Gv8f04uXb5kYGRmYGBkZMTATMp8JhzgCAwBI8ifTKbUPUAAAAABJRU5ErkJggg== + + + 4 + SHORTCUTMENU_DOWN_ENABLED + 0 + Qk02BQAAAAAAADYEAAAoAAAAEAAAABAAAAABAAgAAAAAAAAAAADEDgAAxA4AAAABAAAAAQAAoFAw/6BYMP+wWDD/sGBA/7BoQP/AaED/wHBQ/8B4UP/QeFD/4HhQ/+CAUP/giFD/8IhQ/9CIYP/wkGD//5Bg/+CQcP/gmHD/8Jhw//CgcP//oHD//6iA//+wgP//sJD//7iQ///AoP//////AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/xoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaAhoaGhoaGhoaGhoaGhoaAgUBGhoaGhoaGhoaGhoaAgoJBQAaGhoaGhoaGhoaBxIUCwgFABoaGhoaGhoaExEQFQ4KAAMEGhoaGhoaGhoaDRYPDAMaGhoaGhoaGhoaGhAZFQ4EGhoaGhoaGhoaGhoRGRgXBhoaGhoaGhoaGhoaExEQDQ0aGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGho= + + + 4 + SHORTCUTMENU_DOWN_DISABLED + 0 + Qk02BQAAAAAAADYEAAAoAAAAEAAAABAAAAABAAgAAAAAAAAAAADEDgAAxA4AAAABAAAAAQAAT09P/1RUVP9WVlb/X19f/2RkZP9mZmb/b29v/3R0dP92dnb/d3d3/3x8fP+BgYH/g4OD/4SEhP+MjIz/jo6O/4+Pj/+UlJT/lpaW/5qamv+cnJz/paWl/6qqqv+vr6//tLS0/729vf//////AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/xoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaAhoaGhoaGhoaGhoaGhoaAgUBGhoaGhoaGhoaGhoaAgoJBQAaGhoaGhoaGhoaBxIUCwgFABoaGhoaGhoaExEQFQ4KAAMEGhoaGhoaGhoaDRYPDAMaGhoaGhoaGhoaGhAZFQ4EGhoaGhoaGhoaGhoRGRgXBhoaGhoaGhoaGhoaExEQDQ0aGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGho= + + + 4 + SHORTCUTMENU_UP_ENABLED + 0 + Qk02BQAAAAAAADYEAAAoAAAAEAAAABAAAAABAAgAAAAAAAAAAADEDgAAxA4AAAABAAAAAQAAkEgg/6BIIP+gUCD/oFAw/6BYMP+wWDD/0Ggw/8BwQP/QcED/0HhA/9B4UP/QgFD/4IBQ/+CIYP/wkGD/8Jhg/+CYcP/woHD//6Bw//CogP//sJD//8Cg//////8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/xYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFgwDAAAAFhYWFhYWFhYWFhYMDQsHABYWFhYWFhYWFhYWDBMNCgEWFhYWFhYWFhYWFgwVDw0CFhYWFhYWFhYWEAgGFA8PBQIAFhYWFhYWFhYQFRQSDgkDFhYWFhYWFhYWFhEVFA0DFhYWFhYWFhYWFhYWERUEFhYWFhYWFhYWFhYWFhYQFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhY= + + + 4 + SHORTCUTMENU_UP_DISABLED + 0 + Qk02BQAAAAAAADYEAAAoAAAAEAAAABAAAAABAAgAAAAAAAAAAADEDgAAxA4AAAABAAAAAQAARERE/0ZGRv9KSkr/T09P/1RUVP9WVlb/Y2Nj/2pqav9sbGz/cXFx/3Z2dv96enr/fHx8/4aGhv+MjIz/kZGR/5SUlP+ampr/nJyc/6SkpP+vr6//vb29//////8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/xYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFgwDAAAAFhYWFhYWFhYWFhYMDQsHABYWFhYWFhYWFhYWDBMNCgEWFhYWFhYWFhYWFgwVDw0CFhYWFhYWFhYWEAgGFA8PBQIAFhYWFhYWFhYQFRQSDgkDFhYWFhYWFhYWFhEVFA0DFhYWFhYWFhYWFhYWERUEFhYWFhYWFhYWFhYWFhYQFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhY= + + + 4 + SHRINKBUTTON_FOCUSEDNOTSHRUNK + 0 + iVBORw0KGgoAAAANSUhEUgAAABIAAAASCAIAAADZrBkAAAAACXBIWXMAAA7EAAAOxAGVKw4bAAAAB3RJTUUH1wQSEQIPcxIJtwAAAAd0RVh0QXV0aG9yAKmuzEgAAAAMdEVYdERlc2NyaXB0aW9uABMJISMAAAAKdEVYdENvcHlyaWdodACsD8w6AAAADnRFWHRDcmVhdGlvbiB0aW1lADX3DwkAAAAJdEVYdFNvZnR3YXJlAF1w/zoAAAALdEVYdERpc2NsYWltZXIAt8C0jwAAAAh0RVh0V2FybmluZwDAG+aHAAAAB3RFWHRTb3VyY2UA9f+D6wAAAAh0RVh0Q29tbWVudAD2zJa/AAAABnRFWHRUaXRsZQCo7tInAAAA+klEQVR4nNWSv0oDQRDGv9lsgkRBK19E9wUEQZCAj2FjIRZahBTBIu8igiC+RNL4AHYKgiD45wx3c7v32ZzcnBFEuwxT/IrfsjP7rZB3+Ht5xOI/x5jyZb2tsyaux0qRshZ/lWMsvjXQA2Vr5xAUy9bxaA8pfh2U7d0jAEgKGDampxlSuhukC3snAGY3E6Yy7J/VXL5b0yOZ3bqu9q7HqDQMRjXHjPpsh3KIedP6OrsaAgiDEZI2TIjrW7P1JNX8kfo2vTwFEA7OmcqG4a3pkHLbnD9AX6YXxwBQaYuNJsXtcDE2WdkUv8r4wfzJ8i9xM7vnT2wCWIKv/AnvwesRFLBdxQAAAABJRU5ErkJggg== + + + 4 + SHRINKBUTTON_FOCUSEDSHRUNK + 0 + iVBORw0KGgoAAAANSUhEUgAAABIAAAASCAIAAADZrBkAAAAACXBIWXMAAA7EAAAOxAGVKw4bAAAAB3RJTUUH1wQSEQI1tR7QBQAAAAd0RVh0QXV0aG9yAKmuzEgAAAAMdEVYdERlc2NyaXB0aW9uABMJISMAAAAKdEVYdENvcHlyaWdodACsD8w6AAAADnRFWHRDcmVhdGlvbiB0aW1lADX3DwkAAAAJdEVYdFNvZnR3YXJlAF1w/zoAAAALdEVYdERpc2NsYWltZXIAt8C0jwAAAAh0RVh0V2FybmluZwDAG+aHAAAAB3RFWHRTb3VyY2UA9f+D6wAAAAh0RVh0Q29tbWVudAD2zJa/AAAABnRFWHRUaXRsZQCo7tInAAAA/UlEQVR4nNWSTUoDQRCFX/WMYTCuXHiSZC4QAoIgiJdwJYggBCULEQI5SiAIgpcYNzmAO1f+bEYS7L+acjPYPZogZhGwqMXX8B4P+hWJPOLvk4rX69jgzVppvNG0yEbJDlQLlRWex/zTpsA6LNDpnQAg2mpwrGEN1kq8CcsOQKd/KqJiBrKGzJtmmnt/uB8B6O6fg21gEKlsZVr18SxuUdxdA+geDIRdYEliZeMnqbULQX44BFDcXoFtfnRTsy1jZYq4N0pq3fQClc2PxzW7Uszb6gLYASgmZ2JKSre/WMzrtwLIzC7DI9ujtC1+Ifol5l/qlvnTUl5i+w+n/AnC4uQ6W2ZAqgAAAABJRU5ErkJggg== + + + 4 + SHRINKBUTTON_NOTFOCUSEDNOTSHRUNK + 0 + iVBORw0KGgoAAAANSUhEUgAAABIAAAASCAIAAADZrBkAAAAACXBIWXMAAA7EAAAOxAGVKw4bAAAAB3RJTUUH1wQSER0e1Pgn2wAAAAd0RVh0QXV0aG9yAKmuzEgAAAAMdEVYdERlc2NyaXB0aW9uABMJISMAAAAKdEVYdENvcHlyaWdodACsD8w6AAAADnRFWHRDcmVhdGlvbiB0aW1lADX3DwkAAAAJdEVYdFNvZnR3YXJlAF1w/zoAAAALdEVYdERpc2NsYWltZXIAt8C0jwAAAAh0RVh0V2FybmluZwDAG+aHAAAAB3RFWHRTb3VyY2UA9f+D6wAAAAh0RVh0Q29tbWVudAD2zJa/AAAABnRFWHRUaXRsZQCo7tInAAAA6klEQVR4nNWSQU7DQAxFvz2ZtCdD0NBC4JZQKKWCYyCx4Q4ItjQJntgsIgUnZAEskLC8eIv3NZ7x0PPLK35emar9Lqb/ITZxtxhjCNy2KiKee4Fb1VGHEIiwKA6I4Nk74yHzPBLT8fIQgJp59uZgyFkemXi1OgKwvbk3tZPTRcdJkjcHpxFz5202d2pWlkXHKbV10/ihWF2JyPXVDkBZFqbaMxFizLw5iFVVLSLr9S2As/OlmvXMzKOY+d5Xjbyny4stAFPz7DV6eHz6urf5fJZlIaW2rhvPn0/STv2St301ydML+H797Vf+AK7lBzAzfNC5AAAAAElFTkSuQmCC + + + 4 + SHRINKBUTTON_NOTFOCUSEDSHRUNK + 0 + iVBORw0KGgoAAAANSUhEUgAAABIAAAASCAIAAADZrBkAAAAACXBIWXMAAA7EAAAOxAGVKw4bAAAAB3RJTUUH1wQSESAWsMvnVwAAAAd0RVh0QXV0aG9yAKmuzEgAAAAMdEVYdERlc2NyaXB0aW9uABMJISMAAAAKdEVYdENvcHlyaWdodACsD8w6AAAADnRFWHRDcmVhdGlvbiB0aW1lADX3DwkAAAAJdEVYdFNvZnR3YXJlAF1w/zoAAAALdEVYdERpc2NsYWltZXIAt8C0jwAAAAh0RVh0V2FybmluZwDAG+aHAAAAB3RFWHRTb3VyY2UA9f+D6wAAAAh0RVh0Q29tbWVudAD2zJa/AAAABnRFWHRUaXRsZQCo7tInAAAA6klEQVR4nNWTTU4DMQyFbcfD9GQIWjql0FNCobQIjoHUDXdAsIUmdWKzGCkkMCxgV+stvkjvKT9PwZfXN/j7sKr9L6aHEPu6W9M0zlFKKiIl/4xRUs1ChPHkGBGccyWXnl6k5ZgBwNn0BAlLZnZaD6laVpS4vnsEgK47NbXMhNQwl85qt50PMabV6gEAZudjNcuMVDmrl2zbI0SYzycAcHtzb6oXl9OeRaR0VjEi6n3L5UbNFouuZxHxYf9rAaYGANdXa9lHZpfZh/CtAHzaPufFaNQyuxiT96HkgbpTccj3j90gD8QO4Qd8AovwAUbR4yUTAAAAAElFTkSuQmCC + + + 4 + SIGNS_MINUS + 0 + iVBORw0KGgoAAAANSUhEUgAAAAkAAAAJCAYAAADgkQYQAAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8YQUAAAAgY0hSTQAAeiYAAICEAAD6AAAAgOgAAHUwAADqYAAAOpgAABdwnLpRPAAAABh0RVh0U29mdHdhcmUAUGFpbnQuTkVUIHYzLjIwWZ92UQAAAI5JREFUKFNjfP76/f+dRy8ygMEPCAUCH6B8a0NxBoYFGw78xwA//v//8OH//wdAwsAj4T+mIriC//8PXHgAVbQCySQkBQ9efPi/4QCaIpCx6BiuaALIJJAJQPwA5A4gceHGB6BVH/4v2HEBYh1IEYYCbIpAJoAcueEEEAPdATIBhsEmnb54HcMtyG4DyQMAS+rq4jk+qVQAAAAASUVORK5CYII= + + + 4 + SIGNS_PLUS + 0 + iVBORw0KGgoAAAANSUhEUgAAAAkAAAAJCAYAAADgkQYQAAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8YQUAAAAgY0hSTQAAeiYAAICEAAD6AAAAgOgAAHUwAADqYAAAOpgAABdwnLpRPAAAABh0RVh0U29mdHdhcmUAUGFpbnQuTkVUIHYzLjIwWZ92UQAAAJZJREFUKFNjfP76/f+dRy8ygMEPCAUCH6B8a0NxBoYFGw78xwA//v//8OH//wdAwsAj4T+GIpAgRMH//wcuPIAqWoFkEtAEkCKQggcvPvzfcABNEUgSHcMVTQCZBHIDEINMACm8cOMD0KoP/xfsuACxDqQIpuABUBVI8AA2RTBHbjjxAOwOkAkwDDbp9MXrGG5BdhtIHgAc3OMlaQBkAQAAAABJRU5ErkJggg== + + + 4 + SPLITTER_BACKGROUND + 0 + iVBORw0KGgoAAAANSUhEUgAAAAEAAAAICAIAAAC3eAIWAAAACXBIWXMAAA7EAAAOxAGVKw4bAAAAB3RJTUUH1wQSEDUKkr03OwAAAAd0RVh0QXV0aG9yAKmuzEgAAAAMdEVYdERlc2NyaXB0aW9uABMJISMAAAAKdEVYdENvcHlyaWdodACsD8w6AAAADnRFWHRDcmVhdGlvbiB0aW1lADX3DwkAAAAJdEVYdFNvZnR3YXJlAF1w/zoAAAALdEVYdERpc2NsYWltZXIAt8C0jwAAAAh0RVh0V2FybmluZwDAG+aHAAAAB3RFWHRTb3VyY2UA9f+D6wAAAAh0RVh0Q29tbWVudAD2zJa/AAAABnRFWHRUaXRsZQCo7tInAAAAH0lEQVR4nGPwCY5h+P//P9PHT5+Zvn//wfT9x09kDAA7aBVheDtkwAAAAABJRU5ErkJggg== + + + 4 + SPLITTER_GRIPPER + 0 + iVBORw0KGgoAAAANSUhEUgAAACMAAAAICAIAAAD80NH7AAAACXBIWXMAAA7EAAAOxAGVKw4bAAAAB3RJTUUH1wQSETYYS+t/hwAAAAd0RVh0QXV0aG9yAKmuzEgAAAAMdEVYdERlc2NyaXB0aW9uABMJISMAAAAKdEVYdENvcHlyaWdodACsD8w6AAAADnRFWHRDcmVhdGlvbiB0aW1lADX3DwkAAAAJdEVYdFNvZnR3YXJlAF1w/zoAAAALdEVYdERpc2NsYWltZXIAt8C0jwAAAAh0RVh0V2FybmluZwDAG+aHAAAAB3RFWHRTb3VyY2UA9f+D6wAAAAh0RVh0Q29tbWVudAD2zJa/AAAABnRFWHRUaXRsZQCo7tInAAAAY0lEQVR4nGP0CY5hoAtg/P//P31sYvn46TOdbPr+/QdWialTJjEwMGTn5JHBxmHTj5+45AICAoQEBZ8+f0EGGxMwXr1xB5dNKoryDAwMd+4/JIONxaYzF67isom6AF/oURcAAOBrRcuBfyBFAAAAAElFTkSuQmCC + + + 4 + TITLE_BACKGROUND + 0 + iVBORw0KGgoAAAANSUhEUgAAAAEAAAAaCAIAAAD5ZqGGAAAACXBIWXMAAA7EAAAOxAGVKw4bAAAAB3RJTUUH1wQSEDY2lv8YfwAAAAd0RVh0QXV0aG9yAKmuzEgAAAAMdEVYdERlc2NyaXB0aW9uABMJISMAAAAKdEVYdENvcHlyaWdodACsD8w6AAAADnRFWHRDcmVhdGlvbiB0aW1lADX3DwkAAAAJdEVYdFNvZnR3YXJlAF1w/zoAAAALdEVYdERpc2NsYWltZXIAt8C0jwAAAAh0RVh0V2FybmluZwDAG+aHAAAAB3RFWHRTb3VyY2UA9f+D6wAAAAh0RVh0Q29tbWVudAD2zJa/AAAABnRFWHRUaXRsZQCo7tInAAAAK0lEQVR4nGP4//8/08dPn5n+/vvH9A+O/yOxIfy/eOT+/fsHlccu9+/fPwC3ek15R4yagQAAAABJRU5ErkJggg== + + + 4 + TITLE_BACKGROUND_LEFT + 2 + + + + 4 + TITLE_BACKGROUND_WIDTH + 197 + + + + 4 + TITLE_BORDERCOLOR + 6050636 + + + + 4 + TITLE_FONTCOLOR + 0 + + + + 4 + TOOLTITLE_BACKGROUND + 0 + iVBORw0KGgoAAAANSUhEUgAAAAEAAAATCAIAAADeafBOAAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8YQUAAAAgY0hSTQAAeiYAAICEAAD6AAAAgOgAAHUwAADqYAAAOpgAABdwnLpRPAAAABZJREFUGFdj+P//P8PdB48pxsdPXwQAge0yAQxSk2cAAAAASUVORK5CYII= + + + 4 + TOOLTITLE_FONTCOLOR + 0 + + + + 4 + ZOOMNAVBAR_BAR + 0 + Qk3+BAAAAAAAADYEAAAoAAAAAQAAADIAAAABAAgAAAAAAAAAAADEDgAAxA4AAAABAAAAAQAACgoK/wwMDP8NDQ3/Dw8P/xAQEP8SEhL/ExMT/xUVFf8WFhb/GBgY/xkZGf8aGhr/HBwc/x0dHf8fHx//ICAg/yIiIv8jIyP/JCQk/yYmJv8nJyf/KSkp/yoqKv8sLCz/LS0t/y8vL/9FRUX/eXl5/4CAgP+FhYX/jIyM/5KSkv+ZmZn/np6e/6Wlpf+rq6v/sbGx/7a2tv+8vLz/wcHB/8fHx//Ly8v/0dHR/9bW1v/a2tr/39/f/+Li4v/n5+f/6urq/+3t7f8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAAABAAAAAgAAAAMAAAAEAAAABQAAAAYAAAAHAAAACAAAAAkAAAAKAAAACwAAAAwAAAANAAAADgAAAA8AAAAQAAAAEQAAABIAAAATAAAAFAAAABUAAAAWAAAAFwAAABgAAAAZAAAAGgAAABsAAAAcAAAAHQAAAB4AAAAfAAAAIAAAACEAAAAiAAAAIwAAACQAAAAlAAAAJgAAACcAAAAoAAAAKQAAACoAAAArAAAALAAAAC0AAAAuAAAALwAAADAAAAAxAAAA + + + 4 + ZOOMNAVBAR_REFLECTEDSEPARATOR + 0 + iVBORw0KGgoAAAANSUhEUgAAADAAAAAwCAYAAABXAvmHAAAABGdBTUEAALGPC/xhBQAAABh0RVh0U29mdHdhcmUAUGFpbnQuTkVUIHYzLjIwWZ92UQAAAD9JREFUaEPt0IEAAAAAw6D5Ux/khVBhwIABAwYMGDBgwIABAwYMGDBgwIABAwYMGDBgwIABAwYMGDBgwMDLwAAkMAABCDVySwAAAABJRU5ErkJggg== + + + 4 + ZOOMNAVBAR_SEPARATOR + 0 + iVBORw0KGgoAAAANSUhEUgAAADAAAAAwCAYAAABXAvmHAAAABGdBTUEAALGPC/xhBQAAABh0RVh0U29mdHdhcmUAUGFpbnQuTkVUIHYzLjIwWZ92UQAAAD9JREFUaEPt0IEAAAAAw6D5Ux/khVBhwIABAwYMGDBgwIABAwYMGDBgwIABAwYMGDBgwIABAwYMGDBgwMDLwAAkMAABCDVySwAAAABJRU5ErkJggg== + + + 4 + ZOOMNAVBAR_STACKBUTTON + 0 + iVBORw0KGgoAAAANSUhEUgAAAMAAAAAcCAYAAAA3ILBTAAABF0lEQVR4nO3cMW7CQBRF0WuU1kUovAHatNn/CuiyCyJKOnAKG8YQg02BjP6/R0LC43kSxTw0jGRASqy6uW6A9ci4FMEJ2AH788BwoX8Dm8FYy/0izLln3vyS+UfXP/2LVT/YcL34pagq4AuooRTAbY8yqYBPKAVw8SubCkoBpJQ+Bu/bkftjY8/cM29+yfzk3GEBbrdBS/+KN2/+FadAV9wCKTULoNQsgFKzAErNAig1j0HNR85PzvUY1HzU/Jy5boGUmwVQahZAqVkApWYBlJrHoOYj5yfnegxqPmp+ztzLFuh0b4IUVAulALvzgJTAEfiFUoA93d9EWAJFdwS2wAH+741quqflfUheEbV03/yHpT+I9Bb+AD0fBdMuQEabAAAAAElFTkSuQmCC + + + 5 + BUTTON_FOCUSED_FONTCOLOR + 0 + + + + 5 + BUTTON_LEFT_FOCUSED + 0 + Qk22BAAAAAAAADYEAAAoAAAAAgAAACAAAAABAAgAAAAAAAAAAADEDgAAxA4AAAABAAAAAQAAz5Nl/2fX//9q1///bdj//3DZ//902v//d9v//3rc//993f//gd7//4Te//+H3///i+D//47h//+R4v//lOP//5jk//+b5f//p+j//63q//+y7P//uO7//73w///D8v//yPT//872///T+P//2fr//978////////AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/x0AAAAAAAAAABEAAAAQAAAADwAAAA4AAAANAAAADAAAAAsAAAAKAAAACQAAAAgAAAAHAAAABgAAAAUAAAAEAAAAAwAAAAIAAAABAAAAEgAAABMAAAAUAAAAFQAAABYAAAAXAAAAGAAAABkAAAAaAAAAGwAAABwAAAAAAAAdAAAA + + + 5 + BUTTON_LEFT_HOTTRACKING + 0 + Qk22BAAAAAAAADYEAAAoAAAAAgAAACAAAAABAAgAAAAAAAAAAADEDgAAxA4AAAABAAAAAQAAab3//3jb//973P//ft3//4He//+E3///h+D//4rh//+N4v//kOP//5Pj//+W5P//meX//5zm//+f5///ouj//6Xp//+o6v//q+v//67s//+x7P//tO3//7fu//+67///vfD//8Dx///D8v//xvP//8n0////////AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/x0AAAAAAAAAAAEAAAACAAAAAwAAAAQAAAAFAAAABgAAAAcAAAAIAAAACQAAAAoAAAALAAAADAAAAA0AAAAOAAAADwAAABAAAAARAAAAEgAAABMAAAAUAAAAFQAAABYAAAAXAAAAGAAAABkAAAAaAAAAGwAAABwAAAAAAAAdAAAA + + + 5 + BUTTON_LEFT_NOTFOCUSED + 0 + Qk22BAAAAAAAADYEAAAoAAAAAgAAACAAAAABAAgAAAAAAAAAAADEDgAAxA4AAAABAAAAAQAAz5Nl///Rrf//0q///9Kw///Usv//1bX//9a3///XuP//2Lr//9i8///avv//3cT//9/H///gyv//4s7//+XS///n1f//6Nj//+ra///r3f//7eD//////wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/xUAAAAAAAAAAAoAAAAKAAAACQAAAAkAAAAIAAAABwAAAAcAAAAGAAAABQAAAAUAAAAEAAAABAAAAAMAAAADAAAAAgAAAAEAAAABAAAACwAAAAwAAAANAAAADgAAAA4AAAAPAAAAEAAAABEAAAASAAAAEwAAABQAAAAAAAAVAAAA + + + 5 + BUTTON_MIDDLE_FOCUSED + 0 + Qk22BAAAAAAAADYEAAAoAAAAAQAAACAAAAABAAgAAAAAAAAAAADEDgAAxA4AAAABAAAAAQAAz5Nl/2fX//9q1///bdj//3DZ//902v//d9v//3rc//993f//gd7//4Te//+H3///i+D//47h//+R4v//lOP//5jk//+b5f//nub//6fo//+t6v//suz//7ju//+98P//w/L//8j0///O9v//0/j//9n6///e/P//5P7//wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAAASAAAAEQAAABAAAAAPAAAADgAAAA0AAAAMAAAACwAAAAoAAAAJAAAACAAAAAcAAAAGAAAABQAAAAQAAAADAAAAAgAAAAEAAAATAAAAFAAAABUAAAAWAAAAFwAAABgAAAAZAAAAGgAAABsAAAAcAAAAHQAAAB4AAAAAAAAA + + + 5 + BUTTON_MIDDLE_HOTTRACKING + 0 + Qk22BAAAAAAAADYEAAAoAAAAAQAAACAAAAABAAgAAAAAAAAAAADEDgAAxA4AAAABAAAAAQAAab3//3Xb//942///e9z//37d//+B3v//hN///4fg//+K4f//jeL//5Dj//+T4///luT//5nl//+c5v//n+f//6Lo//+l6f//qOr//6vr//+u7P//sez//7Tt//+37v//uu///73w///A8f//w/L//8bz///J9P//zPX//wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAAABAAAAAgAAAAMAAAAEAAAABQAAAAYAAAAHAAAACAAAAAkAAAAKAAAACwAAAAwAAAANAAAADgAAAA8AAAAQAAAAEQAAABIAAAATAAAAFAAAABUAAAAWAAAAFwAAABgAAAAZAAAAGgAAABsAAAAcAAAAHQAAAB4AAAAAAAAA + + + 5 + BUTTON_MIDDLE_NOTFOCUSED + 0 + Qk22BAAAAAAAADYEAAAoAAAAAQAAACAAAAABAAgAAAAAAAAAAADEDgAAxA4AAAABAAAAAQAAz5Nl///Rrf//0q///9Kw///Usv//1bX//9a3///XuP//2Lr//9i8///avv//28D//93E///fx///4Mr//+LO///l0v//59X//+jY///q2v//693//+3g///v4/8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAAALAAAACgAAAAoAAAAJAAAACQAAAAgAAAAHAAAABwAAAAYAAAAFAAAABQAAAAQAAAAEAAAAAwAAAAMAAAACAAAAAQAAAAEAAAAMAAAADQAAAA4AAAAPAAAADwAAABAAAAARAAAAEgAAABMAAAAUAAAAFQAAABYAAAAAAAAA + + + 5 + BUTTON_NOTFOCUSED_FONTCOLOR + 8998176 + + + + 5 + BUTTON_RIGHT_FOCUSED + 0 + Qk22BAAAAAAAADYEAAAoAAAAAgAAACAAAAABAAgAAAAAAAAAAADEDgAAxA4AAAABAAAAAQAAz5Nl/2fX//9q1///bdj//3DZ//902v//d9v//3rc//993f//gd7//4Te//+H3///i+D//47h//+R4v//lOP//5jk//+b5f//p+j//63q//+y7P//uO7//73w///D8v//yPT//872///T+P//2fr//978////////AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAdAAAAAAAAEQAAABAAAAAPAAAADgAAAA0AAAAMAAAACwAAAAoAAAAJAAAACAAAAAcAAAAGAAAABQAAAAQAAAADAAAAAgAAAAEAAAASAAAAEwAAABQAAAAVAAAAFgAAABcAAAAYAAAAGQAAABoAAAAbAAAAHAAAAAAAAAAAHQAA + + + 5 + BUTTON_RIGHT_HOTTRACKING + 0 + Qk22BAAAAAAAADYEAAAoAAAAAgAAACAAAAABAAgAAAAAAAAAAADEDgAAxA4AAAABAAAAAQAAab3//3jb//973P//ft3//4He//+E3///h+D//4rh//+N4v//kOP//5Pj//+W5P//meX//5zm//+f5///ouj//6Xp//+o6v//q+v//67s//+x7P//tO3//7fu//+67///vfD//8Dx///D8v//xvP//8n0////////AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAdAAAAAAAAAQAAAAIAAAADAAAABAAAAAUAAAAGAAAABwAAAAgAAAAJAAAACgAAAAsAAAAMAAAADQAAAA4AAAAPAAAAEAAAABEAAAASAAAAEwAAABQAAAAVAAAAFgAAABcAAAAYAAAAGQAAABoAAAAbAAAAHAAAAAAAAAAAHQAA + + + 5 + BUTTON_RIGHT_NOTFOCUSED + 0 + Qk22BAAAAAAAADYEAAAoAAAAAgAAACAAAAABAAgAAAAAAAAAAADEDgAAxA4AAAABAAAAAQAAz5Nl///Rrf//0q///9Kw///Usv//1bX//9a3///XuP//2Lr//9i8///avv//3cT//9/H///gyv//4s7//+XS///n1f//6Nj//+ra///r3f//7eD//////wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAVAAAAAAAACgAAAAoAAAAJAAAACQAAAAgAAAAHAAAABwAAAAYAAAAFAAAABQAAAAQAAAAEAAAAAwAAAAMAAAACAAAAAQAAAAEAAAALAAAADAAAAA0AAAAOAAAADgAAAA8AAAAQAAAAEQAAABIAAAATAAAAFAAAAAAAAAAAFQAA + + + 5 + CONTAINER_BORDERCOLOR + 13603685 + + + + 5 + EXPLORERBAR_BACKGROUND + 0 + iVBORw0KGgoAAAANSUhEUgAAAAEAAAM1CAIAAAA+dAz4AAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8YQUAAAAgY0hSTQAAeiYAAICEAAD6AAAAgOgAAHUwAADqYAAAOpgAABdwnLpRPAAAAAd0SU1FB9gGBBEZOwV0324AAALXSURBVEhLpc5nVxNRFIXh8yvpoRkUu6KiICW0FAiE3juKFaQFEgIJhN6tYEFUiqK/wp25k2l3buJafnjWvHcfFkBD4T8UMRixGPFbZwDvgYWoc/Q59UeF0Bp9oV+kCKJlvfj2Bn8y80yP0dwZ9UC3UeCMugKnpjpnT4k50enwn5DqGH1M7RE+XpvvB0lmVK1o5ju1Tqta0Aov2vtN0qw1hTc0TR3xJo+oUfEVzTRMGB1iO6T6cXOe8S/kGdOrw1vy6rNOLd6S0ahP5B7VGEHLakY+ks5LvKFacYCGFwfk4uyT6/k+OQUczz5QPHb8jP1p1Hs0rwqb5InRO2xMpdYw3iYqht+SzmO8TZRjY96oHqE1ytC811Q2pLKhhQZxG9yj0ngG9qhEsYsWK+7fJd4ONlURuqgvlm162CfrxVegEDuzRYU9YgW46XRvUoHBA7w5XdgkG5L7Ip24yfLxze9cN9eBHe5x1rAZtK/RXaFV3Jg7bfHl4WfyWldiuo27pCVqGc27hU3RjFYsoZmbRk3YDG40hYnTiE3jOlq1iJY14Cu7hq+5BexQz1yNxxOiK//gcl2IVEE0Lxdbbq2ZeeyqS2iJW2SOLro1atAmcrAxAaaaZ8XGcc2SVeMCWsiJm9MvyY7FgTtkSXxidh9lcmaw6WVUzVBs07hPU3pEZWwW3C2VXrJUiKXhpihHl09xUrHplOGtmERPUoqIDTeNZNsEmSrFLkvCVzWO1ihBQ6LQGG5QPEYJ/20cv0OGv5cgY397whz+98TSSU4SNmaKsZnxYlclo5PLoqbRIjOUXM6kcHzYNCrQCj/aT6lmKmcp1VQAe4DSIqqM5rCZsGOzz5NFKIgbOHjpjhBxnNgkC6YysGc4FynDJRLGTaM6TJmKJbRAzTJlamShmRWVG62zircqGy2pjViLYR03qFunC5wNbAYevCWbEqupLbLWi2xTTr1GA1qxg+b8BeyFzMSDGLvHAAAAAElFTkSuQmCC + + + 5 + EXPLORERBAR_BORDERCOLOR + 13603685 + + + + 5 + EXPLORERBAR_NORMALGROUPBACKGROUND + 0 + iVBORw0KGgoAAAANSUhEUgAAAAEAAAAZCAMAAADHTrRNAAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8YQUAAAAgY0hSTQAAeiYAAICEAAD6AAAAgOgAAHUwAADqYAAAOpgAABdwnLpRPAAAAwBQTFRFr9L/sdP/s9T/tdX/t9b/udj/vNn/vtr/wNv/wtz/xd7/yuD/zeL/z+T/0eX/0+b/1uf/2Oj/2ur/3Ov/3uz/4O3/4+//AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAvaN0tQAAAAlwSFlzAAALEgAACxIB0t1+/AAAAAd0SU1FB9cEChMFL5EUFKYAAAAYdEVYdFNvZnR3YXJlAFBhaW50Lk5FVCB2My4zMECERxAAAAAtSURBVBhXDcKHDYAgAACwKijgQlz/nyppfV6P26U5VYfdZu2WrsiS2SQKRgM/I+YBE1oe6NkAAAAASUVORK5CYII= + + + 5 + EXPLORERBAR_NORMALGROUPCOLLAPSEHIGHLIGHT + 0 + iVBORw0KGgoAAAANSUhEUgAAAPEAAAAZCAMAAADXAjjUAAAABGdBTUEAALGPC/xhBQAAAwBQTFRFAAAAFUKLZZPP/9dn/9hq/9lt/9pz/9t3/9x6/919/9+D/9+G/+CJ/+GM/+OS/+SW/+SZ/+mn/+2z/++4//G+zc3N//PD//bO//jT//rZ//zfAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAx5UnoAAAAQB0Uk5T////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////AFP3ByUAAAAYdEVYdFNvZnR3YXJlAFBhaW50Lk5FVCB2My4zMECERxAAAAB6SURBVFhH5c/ZAYJQDADBl4gX3kdA7b9P3A+0CHY6mDaly9QyPyaZLd8ujF8ujEcXxoML46cL44cL47sL45sL45VB/ZOMO4GK+i0Zr5evIqLmJuPN8hGOmJuMty6Mdy6M9y6MexfGBxfGRxfGJxfGZxfGFxfGVxfGNl9ftTdv1q46sgAAAABJRU5ErkJggg== + + + 5 + EXPLORERBAR_NORMALGROUPCOLLAPSENOTHIGHLIGHT + 0 + iVBORw0KGgoAAAANSUhEUgAAAPEAAAAZCAMAAADXAjjUAAAABGdBTUEAALGPC/xhBQAAAwBQTFRFAAAAFUKLZZPPrdH/r9L/sdP/s9T/tNX/ttb/udb/vNn/vtr/zc3NxN3/yuD/zuL/0uX/2Oj/2ur/3ev/4O3/AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAv2mX3gAAAQB0Uk5T////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////AFP3ByUAAAAYdEVYdFNvZnR3YXJlAFBhaW50Lk5FVCB2My4zMECERxAAAAB1SURBVFhH7dHJDYAwEMXQzLBD2Om/1fAPUUQNMe7gySE5qxTcH1LuwW9WEl+sJD5ZSXywknhnhRRvrPR4ZSVxQygWJEQcrZAlbusvmlnMTIm7+hPYLDMZ4u9TiXtWEg+sJB5ZSTyx+sX1/9bjmRVSvLDSY1ovceXrrUHqwdkAAAAASUVORK5CYII= + + + 5 + EXPLORERBAR_NORMALGROUPEXPANDHIGHLIGHT + 0 + iVBORw0KGgoAAAANSUhEUgAAAPEAAAAZCAMAAADXAjjUAAAABGdBTUEAALGPC/xhBQAAAwBQTFRFAAAAFUKLZZPP/9dn/9hq/9lt/9pz/9t3/9x6/919/9+D/9+G/+CJ/+GM/+OS/+SW/+SZ/+mn/+2z/++4//G+zc3N//PD//bO//jT//rZ//zfAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAx5UnoAAAAQB0Uk5T////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////AFP3ByUAAAAYdEVYdFNvZnR3YXJlAFBhaW50Lk5FVCB2My4zMECERxAAAAB6SURBVFhH5c8LFoFQFEDR1/UJSVEXmf88c1orBtHZM9hlDpe5RHxMIkpMLozfLoxfLoyfLoxHF8aDC+OHC+O7C+Pd9lWLtcl4v31JONcm44NAVvlbMj4a5D/JuHZhfHJhfHZhfHFh3Lgwvrowbl0Y31wYdy6MexfGNl+eszd9cYFXPgAAAABJRU5ErkJggg== + + + 5 + EXPLORERBAR_NORMALGROUPEXPANDNOTHIGHLIGHT + 0 + iVBORw0KGgoAAAANSUhEUgAAAPEAAAAZCAMAAADXAjjUAAAABGdBTUEAALGPC/xhBQAAAwBQTFRFAAAAFUKLZZPPrdH/r9L/sdP/s9T/tNX/ttb/udb/vNn/vtr/zc3NxN3/yuD/zuL/0uX/2Oj/2ur/3ev/4O3/AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAv2mX3gAAAQB0Uk5T////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////AFP3ByUAAAAYdEVYdFNvZnR3YXJlAFBhaW50Lk5FVCB2My4zMECERxAAAABySURBVFhH7dGJDYAwEMTA5Pjh+Om/1bBIQHrATAeWQzKWFMwOErNgO4uKNxYVrywqXlhUPLMgiycWPR5ZVFx8X7zcmYxiV7Dn4hLAoz+VelwR+BtJKc5XVVyzqLhhUXHLouKO5S/+/m897lmQxQOLHtOcoonrt+OKWOQAAAAASUVORK5CYII= + + + 5 + EXPLORERBAR_NORMALGROUPHIGHLIGHT_FORECOLOR + 0 + + + + 5 + EXPLORERBAR_NORMALGROUPNOTHIGHLIGHT_FORECOLOR + 8998176 + + + + 5 + EXPLORERBAR_SPECIALGROUPBACKGROUND + 0 + iVBORw0KGgoAAAANSUhEUgAAAAEAAAAZCAMAAADHTrRNAAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8YQUAAAAgY0hSTQAAeiYAAICEAAD6AAAAgOgAAHUwAADqYAAAOpgAABdwnLpRPAAAAwBQTFRFr9L/sdP/s9T/tdX/t9b/udj/vNn/vtr/wNv/wtz/xd7/yuD/zeL/z+T/0eX/0+b/1uf/2Oj/2ur/3Ov/3uz/4O3/4+//AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAvaN0tQAAAAlwSFlzAAALEgAACxIB0t1+/AAAAAd0SU1FB9cEChMFL5EUFKYAAAAYdEVYdFNvZnR3YXJlAFBhaW50Lk5FVCB2My4zMECERxAAAAAtSURBVBhXDcKHDYAgAACwKijgQlz/nyppfV6P26U5VYfdZu2WrsiS2SQKRgM/I+YBE1oe6NkAAAAASUVORK5CYII= + + + 5 + EXPLORERBAR_SPECIALGROUPCOLLAPSEHIGHLIGHT + 0 + iVBORw0KGgoAAAANSUhEUgAAAPEAAAAZCAMAAADXAjjUAAAABGdBTUEAALGPC/xhBQAAAwBQTFRFAAAAFUKLZZPP+4w8+5A++5RB/JxF/KBH/KRK/6xD/KhM/69K/7FN/bBQ/7NR/bNT/7RU/bdV/7db/rtX/7hf/7pi/7tm/sNc/sde/stgzc3NAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA65tKiQAAAQB0Uk5T////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////AFP3ByUAAAAYdEVYdFNvZnR3YXJlAFBhaW50Lk5FVCB2My4zMECERxAAAAB6SURBVFhH5c/ZAYJQDADBl4gX3geo6b9P3A+0CHY6mDaly9QyR5PMloML46cL47sL46sL47ML46ML44ML470L45VB/ZOMO4GK+i0Zr5evIqLmJuPN8hGOmJuMty6Mdy6MexfGJxfGFxfGNxfGDxfGLxfGbxfGHxfGNl+gqTLlSSTRWgAAAABJRU5ErkJggg== + + + 5 + EXPLORERBAR_SPECIALGROUPCOLLAPSENOTHIGHLIGHT + 0 + iVBORw0KGgoAAAANSUhEUgAAAPEAAAAZCAMAAADXAjjUAAAABGdBTUEAALGPC/xhBQAAAwBQTFRFAAAAFUKLZZPP/6s//65C/7FG/7dM/7pQ/71T/7xu/8BW/8Zd/slg/sxj/s9n/8F5/8R//tVt/thx/tt0/8aE/8mK/86U/9Ga/9Sf/9alzc3NAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAf7KcigAAAQB0Uk5T////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////AFP3ByUAAAAYdEVYdFNvZnR3YXJlAFBhaW50Lk5FVCB2My4zMECERxAAAAB6SURBVFhH5c/ZAYJQDADBl4gX3geo6b9P3A+0CHY6mDaly9QyPyaZLd8ujF8ujEcXxoML46cL46sL44sL470L45VB/ZOMO4GK+i0Zr5evIqLmJuPN8hGOmJuMty6Mdy6MexfGBxfGRxfGJxfGZxfGNxfGdxfGDxfGNl/j8DLfOpnpagAAAABJRU5ErkJggg== + + + 5 + EXPLORERBAR_SPECIALGROUPEXPANDHIGHLIGHT + 0 + iVBORw0KGgoAAAANSUhEUgAAAPEAAAAZCAMAAADXAjjUAAAABGdBTUEAALGPC/xhBQAAAwBQTFRFAAAAFUKLZZPP+4w8+5A++5RB/JxF/KBH/KRK/6xD/KhM/69K/7FN/bBQ/7NR/bNT/7RU/bdV/7db/rtX/7hf/7pi/7tm/sNc/sde/stgzc3NAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA65tKiQAAAQB0Uk5T////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////AFP3ByUAAAAYdEVYdFNvZnR3YXJlAFBhaW50Lk5FVCB2My4zMECERxAAAAB5SURBVFhH5c+JEYJAEADBYxXxBwW/zT9PGKuAIJjOoMsYLmOJeJtElHi5MB5cGD9dGHcujO8ujK8ujC8ujE8ujHfbV/3NTcb77UvCOTcZ1wJZ5bJkfDDINcm4cWF8dGF8dmF8c2HcujB+uDDuXRh/XBh/XRj/XBjbTNF5MvOzTGb+AAAAAElFTkSuQmCC + + + 5 + EXPLORERBAR_SPECIALGROUPEXPANDNOTHIGHLIGHT + 0 + iVBORw0KGgoAAAANSUhEUgAAAPEAAAAZCAMAAADXAjjUAAAABGdBTUEAALGPC/xhBQAAAwBQTFRFAAAAFUKLZZPP/6s//65C/7FG/7dM/7pQ/71T/7xu/8BW/8Zd/slg/sxj/s9n/8F5/8R//tVt/thx/tt0/8aE/8mK/86U/9Ga/9Sf/9alzc3NAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAf7KcigAAAQB0Uk5T////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////AFP3ByUAAAAYdEVYdFNvZnR3YXJlAFBhaW50Lk5FVCB2My4zMECERxAAAAB5SURBVFhH5c+JEYJAEADBYxXxBwW/zT9PGKuAIJjOoMsYLmOJ+JlElPi6MP64MH67MH65MB5cGHcujFsXxicXxrvtq/7mJuP99iXhnJuMa4GsclkyPhjkmmTcuDA+ujA+uzC+uDC+ujC+uTC+uzB+uDB+ujDuXRjbTBTPMu1zQAfcAAAAAElFTkSuQmCC + + + 5 + EXPLORERBAR_SPECIALGROUPHIGHLIGHT_FORECOLOR + 0 + + + + 5 + EXPLORERBAR_SPECIALGROUPNOTHIGHLIGHT_FORECOLOR + 8998176 + + + + 5 + FORM_BACKGROUND + 0 + iVBORw0KGgoAAAANSUhEUgAAAAEAAAH9CAIAAABUUIEIAAAACXBIWXMAAAsTAAALEwEAmpwYAAAAB3RJTUUH1wUEDBsGzSIJ2wAAAAd0RVh0QXV0aG9yAKmuzEgAAAAMdEVYdERlc2NyaXB0aW9uABMJISMAAAAKdEVYdENvcHlyaWdodACsD8w6AAAADnRFWHRDcmVhdGlvbiB0aW1lADX3DwkAAAAJdEVYdFNvZnR3YXJlAF1w/zoAAAALdEVYdERpc2NsYWltZXIAt8C0jwAAAAh0RVh0V2FybmluZwDAG+aHAAAAB3RFWHRTb3VyY2UA9f+D6wAAAAh0RVh0Q29tbWVudAD2zJa/AAAABnRFWHRUaXRsZQCo7tInAAAAq0lEQVR4nM2UQQ5DIQhEB+5/px6kh5ku+DYg6Ddpa10Y4wT0Mah4PKkAlLS5DQIKQgEWmuls8fR5DNo7Biw0KMi4vnKJjsedmzXHQ3R1sNDs3LDu6uUNj2lznqx9gWfif+AZ+J+9zv6z63t1H37Hc57XgaeqbZEHYMEYefZ6vdj71bcXGM//C7a+sz/3/hivP+Q5/i9IvR/dh9EQm8XW4jU/JGri82Wwp8W9ALUTG5bAOyVvAAAAAElFTkSuQmCC + + + 5 + OUTLOOKNAVBAR_BORDERCOLOR + 13603685 + + + + 5 + OVERFLOWPANELBUTTON_FOCUSEDNOTSELECTED + 0 + iVBORw0KGgoAAAANSUhEUgAAAAEAAAAfCAIAAACpqzA1AAAACXBIWXMAAAsTAAALEwEAmpwYAAAAB3RJTUUH1wQKDCEw+o4cuAAAAAd0RVh0QXV0aG9yAKmuzEgAAAAMdEVYdERlc2NyaXB0aW9uABMJISMAAAAKdEVYdENvcHlyaWdodACsD8w6AAAADnRFWHRDcmVhdGlvbiB0aW1lADX3DwkAAAAJdEVYdFNvZnR3YXJlAF1w/zoAAAALdEVYdERpc2NsYWltZXIAt8C0jwAAAAh0RVh0V2FybmluZwDAG+aHAAAAB3RFWHRTb3VyY2UA9f+D6wAAAAh0RVh0Q29tbWVudAD2zJa/AAAABnRFWHRUaXRsZQCo7tInAAAAL0lEQVR4nGNInXye4f+/J0wM/34xMfz7TRz9/gATAwMzEwMjDLMgsaF8BjxyEDYAo7EchQ9DIx0AAAAASUVORK5CYII= + + + 5 + OVERFLOWPANELBUTTON_FOCUSEDSELECTED + 0 + iVBORw0KGgoAAAANSUhEUgAAAAEAAAAfCAIAAACpqzA1AAAACXBIWXMAAAsTAAALEwEAmpwYAAAAB3RJTUUH1wQKDBwx52FkkAAAAAd0RVh0QXV0aG9yAKmuzEgAAAAMdEVYdERlc2NyaXB0aW9uABMJISMAAAAKdEVYdENvcHlyaWdodACsD8w6AAAADnRFWHRDcmVhdGlvbiB0aW1lADX3DwkAAAAJdEVYdFNvZnR3YXJlAF1w/zoAAAALdEVYdERpc2NsYWltZXIAt8C0jwAAAAh0RVh0V2FybmluZwDAG+aHAAAAB3RFWHRTb3VyY2UA9f+D6wAAAAh0RVh0Q29tbWVudAD2zJa/AAAABnRFWHRUaXRsZQCo7tInAAAAOUlEQVR4nGNInXye+WwJExPDvz9MDP//EkX/efCLiYGFCYqZmRhYmJgYYWxWLGIsTEwMrMxQPlwMAEgJHFcBEfcQAAAAAElFTkSuQmCC + + + 5 + OVERFLOWPANELBUTTON_NOTFOCUSEDSELECTED + 0 + iVBORw0KGgoAAAANSUhEUgAAAAEAAAAfCAIAAACpqzA1AAAACXBIWXMAAAsTAAALEwEAmpwYAAAAB3RJTUUH1wQKDBwYpdP8/AAAAAd0RVh0QXV0aG9yAKmuzEgAAAAMdEVYdERlc2NyaXB0aW9uABMJISMAAAAKdEVYdENvcHlyaWdodACsD8w6AAAADnRFWHRDcmVhdGlvbiB0aW1lADX3DwkAAAAJdEVYdFNvZnR3YXJlAF1w/zoAAAALdEVYdERpc2NsYWltZXIAt8C0jwAAAAh0RVh0V2FybmluZwDAG+aHAAAAB3RFWHRTb3VyY2UA9f+D6wAAAAh0RVh0Q29tbWVudAD2zJa/AAAABnRFWHRUaXRsZQCo7tInAAAAM0lEQVR4nGNInXye4f/NVUwMf38xMfz9DaH//UbwUdhQ+sNFpv/MzEwMzCxMDOg0C9HiAMK+HVp+qKxsAAAAAElFTkSuQmCC + + + 5 + OVERFLOWPANEL_BACKGROUND + 0 + iVBORw0KGgoAAAANSUhEUgAAAAEAAAAfCAIAAACpqzA1AAAACXBIWXMAAAsTAAALEwEAmpwYAAAAB3RJTUUH1wQKDBItbeMVUQAAAAd0RVh0QXV0aG9yAKmuzEgAAAAMdEVYdERlc2NyaXB0aW9uABMJISMAAAAKdEVYdENvcHlyaWdodACsD8w6AAAADnRFWHRDcmVhdGlvbiB0aW1lADX3DwkAAAAJdEVYdFNvZnR3YXJlAF1w/zoAAAALdEVYdERpc2NsYWltZXIAt8C0jwAAAAh0RVh0V2FybmluZwDAG+aHAAAAB3RFWHRTb3VyY2UA9f+D6wAAAAh0RVh0Q29tbWVudAD2zJa/AAAABnRFWHRUaXRsZQCo7tInAAAAPklEQVR4nGNInXye4fH7/0x//zFA8H8Gpn9QGib27z9C7u8/BqaXXxiYGBkYmBgZkWgomwmLGCMjAxMTphgAx1McnBxhuZkAAAAASUVORK5CYII= + + + 5 + OVERFLOWPANEL_MENUBUTTON + 0 + iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAMAAAAoLQ9TAAADAFBMVEVDcbD/+Mv///8AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAC5bM8UAAABAHRSTlP//wD/////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////Zg+QzwAAAAlwSFlzAAALEwAACxMBAJqcGAAAAAd0SU1FB9cECxMRIJe5uQcAAAAHdEVYdEF1dGhvcgCprsxIAAAADHRFWHREZXNjcmlwdGlvbgATCSEjAAAACnRFWHRDb3B5cmlnaHQArA/MOgAAAA50RVh0Q3JlYXRpb24gdGltZQA19w8JAAAACXRFWHRTb2Z0d2FyZQBdcP86AAAAC3RFWHREaXNjbGFpbWVyALfAtI8AAAAIdEVYdFdhcm5pbmcAwBvmhwAAAAd0RVh0U291cmNlAPX/g+sAAAAIdEVYdENvbW1lbnQA9syWvwAAAAZ0RVh0VGl0bGUAqO7SJwAAACRJREFUeJxjYEIDDLQTYAABZAFGIJ8RRQsjjA83A8anpcOQAAAD1AHqqEVm4QAAAABJRU5ErkJggg== + + + 5 + PANELBUTTON_FOCUSEDNOTSELECTED + 0 + iVBORw0KGgoAAAANSUhEUgAAAAEAAAAgCAIAAABch4VNAAAACXBIWXMAAAsTAAALEwEAmpwYAAAAB3RJTUUH1wQKDBgJqw8ZCgAAAAd0RVh0QXV0aG9yAKmuzEgAAAAMdEVYdERlc2NyaXB0aW9uABMJISMAAAAKdEVYdENvcHlyaWdodACsD8w6AAAADnRFWHRDcmVhdGlvbiB0aW1lADX3DwkAAAAJdEVYdFNvZnR3YXJlAF1w/zoAAAALdEVYdERpc2NsYWltZXIAt8C0jwAAAAh0RVh0V2FybmluZwDAG+aHAAAAB3RFWHRTb3VyY2UA9f+D6wAAAAh0RVh0Q29tbWVudAD2zJa/AAAABnRFWHRUaXRsZQCo7tInAAAALElEQVR4nGNInXye4f+/J0wM/34xMfz7TRz9/gATAwMzEwMjFowizoJDHI4BFVgchy9qNqgAAAAASUVORK5CYII= + + + 5 + PANELBUTTON_FOCUSEDSELECTED + 0 + iVBORw0KGgoAAAANSUhEUgAAAAEAAAAgCAIAAABch4VNAAAACXBIWXMAAAsTAAALEwEAmpwYAAAAB3RJTUUH1wQKDBYimTDNxAAAAAd0RVh0QXV0aG9yAKmuzEgAAAAMdEVYdERlc2NyaXB0aW9uABMJISMAAAAKdEVYdENvcHlyaWdodACsD8w6AAAADnRFWHRDcmVhdGlvbiB0aW1lADX3DwkAAAAJdEVYdFNvZnR3YXJlAF1w/zoAAAALdEVYdERpc2NsYWltZXIAt8C0jwAAAAh0RVh0V2FybmluZwDAG+aHAAAAB3RFWHRTb3VyY2UA9f+D6wAAAAh0RVh0Q29tbWVudAD2zJa/AAAABnRFWHRUaXRsZQCo7tInAAAAN0lEQVR4nGNInXye+WwJExPDvz9MDP//EkX/efCLiYGZiYmBBYaZmRhZUPkMLExIYsxwOUZUPgC4mxxanNLrVwAAAABJRU5ErkJggg== + + + 5 + PANELBUTTON_NOTFOCUSEDSELECTED + 0 + iVBORw0KGgoAAAANSUhEUgAAAAEAAAAgCAIAAABch4VNAAAACXBIWXMAAAsTAAALEwEAmpwYAAAAB3RJTUUH1wQKDBErr63jpwAAAAd0RVh0QXV0aG9yAKmuzEgAAAAMdEVYdERlc2NyaXB0aW9uABMJISMAAAAKdEVYdENvcHlyaWdodACsD8w6AAAADnRFWHRDcmVhdGlvbiB0aW1lADX3DwkAAAAJdEVYdFNvZnR3YXJlAF1w/zoAAAALdEVYdERpc2NsYWltZXIAt8C0jwAAAAh0RVh0V2FybmluZwDAG+aHAAAAB3RFWHRTb3VyY2UA9f+D6wAAAAh0RVh0Q29tbWVudAD2zJa/AAAABnRFWHRUaXRsZQCo7tInAAAAL0lEQVR4nGNInXye4f/NVUwMf38xMfz9DaH//UbwUdhQ+sNFpv/MzEwMcMxCLhsAN38dXb1IiukAAAAASUVORK5CYII= + + + 5 + PANELBUTTON_NOTSELECTED_FONTCOLOR + 8998176 + + + + 5 + PANELBUTTON_SELECTED_FONTCOLOR + 0 + + + + 5 + PANELVERTICAL_FOCUSED_BACKCOLOR + 10676223 + + + + 5 + PANELVERTICAL_FONTCOLOR + 9126421 + + + + 5 + PANELVERTICAL_NOTFOCUSED_BACKCOLOR + 15918293 + + + + 5 + PANEL_BACKGROUND + 0 + iVBORw0KGgoAAAANSUhEUgAAAAEAAAAgCAIAAABch4VNAAAACXBIWXMAAAsTAAALEwEAmpwYAAAAB3RJTUUH1wQKDBAAGgorpgAAAAd0RVh0QXV0aG9yAKmuzEgAAAAMdEVYdERlc2NyaXB0aW9uABMJISMAAAAKdEVYdENvcHlyaWdodACsD8w6AAAADnRFWHRDcmVhdGlvbiB0aW1lADX3DwkAAAAJdEVYdFNvZnR3YXJlAF1w/zoAAAALdEVYdERpc2NsYWltZXIAt8C0jwAAAAh0RVh0V2FybmluZwDAG+aHAAAAB3RFWHRTb3VyY2UA9f+D6wAAAAh0RVh0Q29tbWVudAD2zJa/AAAABnRFWHRUaXRsZQCo7tInAAAAOUlEQVR4nGNInXye4fH7/0x//zFA8H8Gpn9QGib27z9C7u8/BqaXXxiYGBkYmBgZsdBIbCY8clAaADmmHJ7K0G8EAAAAAElFTkSuQmCC + + + 5 + SHORTCUTMENU_DOWN_ENABLED + 0 + Qk02BQAAAAAAADYEAAAoAAAAEAAAABAAAAABAAgAAAAAAAAAAADEDgAAxA4AAAABAAAAAQAAoFAw/6BYMP+wWDD/sGBA/7BoQP/AaED/wHBQ/8B4UP/QeFD/4HhQ/+CAUP/giFD/8IhQ/9CIYP/wkGD//5Bg/+CQcP/gmHD/8Jhw//CgcP//oHD//6iA//+wgP//sJD//7iQ///AoP//////AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/xoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaAhoaGhoaGhoaGhoaGhoaAgUBGhoaGhoaGhoaGhoaAgoJBQAaGhoaGhoaGhoaBxIUCwgFABoaGhoaGhoaExEQFQ4KAAMEGhoaGhoaGhoaDRYPDAMaGhoaGhoaGhoaGhAZFQ4EGhoaGhoaGhoaGhoRGRgXBhoaGhoaGhoaGhoaExEQDQ0aGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGho= + + + 5 + SHORTCUTMENU_DOWN_DISABLED + 0 + Qk02BQAAAAAAADYEAAAoAAAAEAAAABAAAAABAAgAAAAAAAAAAADEDgAAxA4AAAABAAAAAQAAT09P/1RUVP9WVlb/X19f/2RkZP9mZmb/b29v/3R0dP92dnb/d3d3/3x8fP+BgYH/g4OD/4SEhP+MjIz/jo6O/4+Pj/+UlJT/lpaW/5qamv+cnJz/paWl/6qqqv+vr6//tLS0/729vf//////AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/xoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaAhoaGhoaGhoaGhoaGhoaAgUBGhoaGhoaGhoaGhoaAgoJBQAaGhoaGhoaGhoaBxIUCwgFABoaGhoaGhoaExEQFQ4KAAMEGhoaGhoaGhoaDRYPDAMaGhoaGhoaGhoaGhAZFQ4EGhoaGhoaGhoaGhoRGRgXBhoaGhoaGhoaGhoaExEQDQ0aGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGho= + + + 5 + SHORTCUTMENU_UP_ENABLED + 0 + Qk02BQAAAAAAADYEAAAoAAAAEAAAABAAAAABAAgAAAAAAAAAAADEDgAAxA4AAAABAAAAAQAAkEgg/6BIIP+gUCD/oFAw/6BYMP+wWDD/0Ggw/8BwQP/QcED/0HhA/9B4UP/QgFD/4IBQ/+CIYP/wkGD/8Jhg/+CYcP/woHD//6Bw//CogP//sJD//8Cg//////8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/xYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFgwDAAAAFhYWFhYWFhYWFhYMDQsHABYWFhYWFhYWFhYWDBMNCgEWFhYWFhYWFhYWFgwVDw0CFhYWFhYWFhYWEAgGFA8PBQIAFhYWFhYWFhYQFRQSDgkDFhYWFhYWFhYWFhEVFA0DFhYWFhYWFhYWFhYWERUEFhYWFhYWFhYWFhYWFhYQFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhY= + + + 5 + SHORTCUTMENU_UP_DISABLED + 0 + Qk02BQAAAAAAADYEAAAoAAAAEAAAABAAAAABAAgAAAAAAAAAAADEDgAAxA4AAAABAAAAAQAARERE/0ZGRv9KSkr/T09P/1RUVP9WVlb/Y2Nj/2pqav9sbGz/cXFx/3Z2dv96enr/fHx8/4aGhv+MjIz/kZGR/5SUlP+ampr/nJyc/6SkpP+vr6//vb29//////8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/xYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFgwDAAAAFhYWFhYWFhYWFhYMDQsHABYWFhYWFhYWFhYWDBMNCgEWFhYWFhYWFhYWFgwVDw0CFhYWFhYWFhYWEAgGFA8PBQIAFhYWFhYWFhYQFRQSDgkDFhYWFhYWFhYWFhEVFA0DFhYWFhYWFhYWFhYWERUEFhYWFhYWFhYWFhYWFhYQFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhY= + + + 5 + SHRINKBUTTON_FOCUSEDNOTSHRUNK + 0 + iVBORw0KGgoAAAANSUhEUgAAABIAAAASCAIAAADZrBkAAAAACXBIWXMAAAsTAAALEwEAmpwYAAAAB3RJTUUH1wQKDCkAFI6mHAAAAAd0RVh0QXV0aG9yAKmuzEgAAAAMdEVYdERlc2NyaXB0aW9uABMJISMAAAAKdEVYdENvcHlyaWdodACsD8w6AAAADnRFWHRDcmVhdGlvbiB0aW1lADX3DwkAAAAJdEVYdFNvZnR3YXJlAF1w/zoAAAALdEVYdERpc2NsYWltZXIAt8C0jwAAAAh0RVh0V2FybmluZwDAG+aHAAAAB3RFWHRTb3VyY2UA9f+D6wAAAAh0RVh0Q29tbWVudAD2zJa/AAAABnRFWHRUaXRsZQCo7tInAAAA8UlEQVR4nNWSTUrEQBBGX3d6VBhBV97NZCWIIHgDryCCMDDgPp7HA7gTRUSE6ETTfyk3g6kMA+IsBJtavMUrvqaqjMgdv39OUrdJG8lvlJb/NG1dmyl2sVv0QfJC87dgyd1KGTMBDi+eAM3aWU0zbk/ElpevgOQIA2vToUZiJvtgyqt34OZsmxzKmV9yfNPmOM0V1cwD9amVHKt5v+TYSnjRn7IkP1Ro6pMEVPOeHAYWjJ1qczQS+XwkNvXxB1BdO/owsCm0aSV5XX37IL6pjxqAHEesNONvz9fsbefAuKmkVrpnzT+sWxb3a1kt4B+c8hcUzeQFqXoTRQAAAABJRU5ErkJggg== + + + 5 + SHRINKBUTTON_FOCUSEDSHRUNK + 0 + iVBORw0KGgoAAAANSUhEUgAAABIAAAASEAYAAAAGXlIUAAAACXBIWXMAAAsTAAALEwEAmpwYAAAKTWlDQ1BQaG90b3Nob3AgSUNDIHByb2ZpbGUAAHjanVN3WJP3Fj7f92UPVkLY8LGXbIEAIiOsCMgQWaIQkgBhhBASQMWFiApWFBURnEhVxILVCkidiOKgKLhnQYqIWotVXDjuH9yntX167+3t+9f7vOec5/zOec8PgBESJpHmomoAOVKFPDrYH49PSMTJvYACFUjgBCAQ5svCZwXFAADwA3l4fnSwP/wBr28AAgBw1S4kEsfh/4O6UCZXACCRAOAiEucLAZBSAMguVMgUAMgYALBTs2QKAJQAAGx5fEIiAKoNAOz0ST4FANipk9wXANiiHKkIAI0BAJkoRyQCQLsAYFWBUiwCwMIAoKxAIi4EwK4BgFm2MkcCgL0FAHaOWJAPQGAAgJlCLMwAIDgCAEMeE80DIEwDoDDSv+CpX3CFuEgBAMDLlc2XS9IzFLiV0Bp38vDg4iHiwmyxQmEXKRBmCeQinJebIxNI5wNMzgwAABr50cH+OD+Q5+bk4eZm52zv9MWi/mvwbyI+IfHf/ryMAgQAEE7P79pf5eXWA3DHAbB1v2upWwDaVgBo3/ldM9sJoFoK0Hr5i3k4/EAenqFQyDwdHAoLC+0lYqG9MOOLPv8z4W/gi372/EAe/tt68ABxmkCZrcCjg/1xYW52rlKO58sEQjFu9+cj/seFf/2OKdHiNLFcLBWK8ViJuFAiTcd5uVKRRCHJleIS6X8y8R+W/QmTdw0ArIZPwE62B7XLbMB+7gECiw5Y0nYAQH7zLYwaC5EAEGc0Mnn3AACTv/mPQCsBAM2XpOMAALzoGFyolBdMxggAAESggSqwQQcMwRSswA6cwR28wBcCYQZEQAwkwDwQQgbkgBwKoRiWQRlUwDrYBLWwAxqgEZrhELTBMTgN5+ASXIHrcBcGYBiewhi8hgkEQcgIE2EhOogRYo7YIs4IF5mOBCJhSDSSgKQg6YgUUSLFyHKkAqlCapFdSCPyLXIUOY1cQPqQ28ggMor8irxHMZSBslED1AJ1QLmoHxqKxqBz0XQ0D12AlqJr0Rq0Hj2AtqKn0UvodXQAfYqOY4DRMQ5mjNlhXIyHRWCJWBomxxZj5Vg1Vo81Yx1YN3YVG8CeYe8IJAKLgBPsCF6EEMJsgpCQR1hMWEOoJewjtBK6CFcJg4Qxwicik6hPtCV6EvnEeGI6sZBYRqwm7iEeIZ4lXicOE1+TSCQOyZLkTgohJZAySQtJa0jbSC2kU6Q+0hBpnEwm65Btyd7kCLKArCCXkbeQD5BPkvvJw+S3FDrFiOJMCaIkUqSUEko1ZT/lBKWfMkKZoKpRzame1AiqiDqfWkltoHZQL1OHqRM0dZolzZsWQ8ukLaPV0JppZ2n3aC/pdLoJ3YMeRZfQl9Jr6Afp5+mD9HcMDYYNg8dIYigZaxl7GacYtxkvmUymBdOXmchUMNcyG5lnmA+Yb1VYKvYqfBWRyhKVOpVWlX6V56pUVXNVP9V5qgtUq1UPq15WfaZGVbNQ46kJ1Bar1akdVbupNq7OUndSj1DPUV+jvl/9gvpjDbKGhUaghkijVGO3xhmNIRbGMmXxWELWclYD6yxrmE1iW7L57Ex2Bfsbdi97TFNDc6pmrGaRZp3mcc0BDsax4PA52ZxKziHODc57LQMtPy2x1mqtZq1+rTfaetq+2mLtcu0W7eva73VwnUCdLJ31Om0693UJuja6UbqFutt1z+o+02PreekJ9cr1Dund0Uf1bfSj9Rfq79bv0R83MDQINpAZbDE4Y/DMkGPoa5hpuNHwhOGoEctoupHEaKPRSaMnuCbuh2fjNXgXPmasbxxirDTeZdxrPGFiaTLbpMSkxeS+Kc2Ua5pmutG003TMzMgs3KzYrMnsjjnVnGueYb7ZvNv8jYWlRZzFSos2i8eW2pZ8ywWWTZb3rJhWPlZ5VvVW16xJ1lzrLOtt1ldsUBtXmwybOpvLtqitm63Edptt3xTiFI8p0in1U27aMez87ArsmuwG7Tn2YfYl9m32zx3MHBId1jt0O3xydHXMdmxwvOuk4TTDqcSpw+lXZxtnoXOd8zUXpkuQyxKXdpcXU22niqdun3rLleUa7rrStdP1o5u7m9yt2W3U3cw9xX2r+00umxvJXcM970H08PdY4nHM452nm6fC85DnL152Xlle+70eT7OcJp7WMG3I28Rb4L3Le2A6Pj1l+s7pAz7GPgKfep+Hvqa+It89viN+1n6Zfgf8nvs7+sv9j/i/4XnyFvFOBWABwQHlAb2BGoGzA2sDHwSZBKUHNQWNBbsGLww+FUIMCQ1ZH3KTb8AX8hv5YzPcZyya0RXKCJ0VWhv6MMwmTB7WEY6GzwjfEH5vpvlM6cy2CIjgR2yIuB9pGZkX+X0UKSoyqi7qUbRTdHF09yzWrORZ+2e9jvGPqYy5O9tqtnJ2Z6xqbFJsY+ybuIC4qriBeIf4RfGXEnQTJAntieTE2MQ9ieNzAudsmjOc5JpUlnRjruXcorkX5unOy553PFk1WZB8OIWYEpeyP+WDIEJQLxhP5aduTR0T8oSbhU9FvqKNolGxt7hKPJLmnVaV9jjdO31D+miGT0Z1xjMJT1IreZEZkrkj801WRNberM/ZcdktOZSclJyjUg1plrQr1zC3KLdPZisrkw3keeZtyhuTh8r35CP5c/PbFWyFTNGjtFKuUA4WTC+oK3hbGFt4uEi9SFrUM99m/ur5IwuCFny9kLBQuLCz2Lh4WfHgIr9FuxYji1MXdy4xXVK6ZHhp8NJ9y2jLspb9UOJYUlXyannc8o5Sg9KlpUMrglc0lamUycturvRauWMVYZVkVe9ql9VbVn8qF5VfrHCsqK74sEa45uJXTl/VfPV5bdra3kq3yu3rSOuk626s91m/r0q9akHV0IbwDa0b8Y3lG19tSt50oXpq9Y7NtM3KzQM1YTXtW8y2rNvyoTaj9nqdf13LVv2tq7e+2Sba1r/dd3vzDoMdFTve75TsvLUreFdrvUV99W7S7oLdjxpiG7q/5n7duEd3T8Wej3ulewf2Re/ranRvbNyvv7+yCW1SNo0eSDpw5ZuAb9qb7Zp3tXBaKg7CQeXBJ9+mfHvjUOihzsPcw83fmX+39QjrSHkr0jq/dawto22gPaG97+iMo50dXh1Hvrf/fu8x42N1xzWPV56gnSg98fnkgpPjp2Snnp1OPz3Umdx590z8mWtdUV29Z0PPnj8XdO5Mt1/3yfPe549d8Lxw9CL3Ytslt0utPa49R35w/eFIr1tv62X3y+1XPK509E3rO9Hv03/6asDVc9f41y5dn3m978bsG7duJt0cuCW69fh29u0XdwruTNxdeo94r/y+2v3qB/oP6n+0/rFlwG3g+GDAYM/DWQ/vDgmHnv6U/9OH4dJHzEfVI0YjjY+dHx8bDRq98mTOk+GnsqcTz8p+Vv9563Or59/94vtLz1j82PAL+YvPv655qfNy76uprzrHI8cfvM55PfGm/K3O233vuO+638e9H5ko/ED+UPPR+mPHp9BP9z7nfP78L/eE8/sl0p8zAAAABGdBTUEAALGOfPtRkwAAACBjSFJNAAB6JQAAgIMAAPn/AACA6QAAdTAAAOpgAAA6mAAAF2+SX8VGAAABiUlEQVR42uyVuU7EMBCGfxsTorAVErwbbIEQlxC8ATwChxAgxFWG14Eeum0WWCGO4E0cZ4bC7MEqx0IVIab5i0/yP/YcFszM93fMqEkoJmvjGLUJBVibmBolxMhq+EJ1SoipvGRCTqhGAwCk9DwAIDIGYMpsFFXzn4YEMnIlK1IX8/O7e+32cKJCTqpxeNX531XyV8kKlTKbmmHj/YPnZ4CJScpqDgC+X3L+iEr0m7pIU/v2BlyHW5tT3sB4oXl49B65mxlTxgEBQEBK3y/zcSp7PVSkRF398AgwUvOhgTDcWO/d3BkfnyQGYGQ2tWWcaUIV+/S0csqE9LyZGQBwy7zZPD0jGvAwXFu11r2U4+cXSuVxY7oaqPJTo82bP2d5RivLWrupcolcXgVBHk9NVwNMiel0xlqMFWOPoaYNgDBcWnx9AZiSWGtASKX6ieRwRmKeOuOPvUiS25vtneLPVcD352ad8XTgav2hAUYcPz5V898txpKSMaKo1QJAv+N/4nOl/8+1JD4HAF6ev1DhKnQIAAAAAElFTkSuQmCC + + + 5 + SHRINKBUTTON_NOTFOCUSEDNOTSHRUNK + 0 + iVBORw0KGgoAAAANSUhEUgAAABIAAAASCAIAAADZrBkAAAAACXBIWXMAAAsTAAALEwEAmpwYAAAAB3RJTUUH1wQKDDsEaxcS1gAAAAd0RVh0QXV0aG9yAKmuzEgAAAAMdEVYdERlc2NyaXB0aW9uABMJISMAAAAKdEVYdENvcHlyaWdodACsD8w6AAAADnRFWHRDcmVhdGlvbiB0aW1lADX3DwkAAAAJdEVYdFNvZnR3YXJlAF1w/zoAAAALdEVYdERpc2NsYWltZXIAt8C0jwAAAAh0RVh0V2FybmluZwDAG+aHAAAAB3RFWHRTb3VyY2UA9f+D6wAAAAh0RVh0Q29tbWVudAD2zJa/AAAABnRFWHRUaXRsZQCo7tInAAAA4UlEQVR4nJ2TzU0DMRCFv7W9SRC9uQ7+GkCBRKQDEKEQV0Af0AHHBJR11h4uIfFEK63waA7f4T159GbcfH4J/y+Xa1y4nOtsda+lyiGHbDOHs/SJXa/4WCYLZz1xGMP9czBGcak5j2TWYmH+EgDJikulGvKixRoeXgOwuvMZFn8cE6VS2aw56J5uvQjL9YH3iZ+ohjJJOHbXs7jxwHIdkpy4aZg6SqWKZBuJicdrD6zegsiJrY7E5EzZ2x1dz/zKA1kUl7Lm/WNgcZcTWss+8R0Vj6x70w3ziG20qm+y6uP8Akp9vOvDBHQyAAAAAElFTkSuQmCC + + + 5 + SHRINKBUTTON_NOTFOCUSEDSHRUNK + 0 + iVBORw0KGgoAAAANSUhEUgAAABIAAAASCAIAAADZrBkAAAAACXBIWXMAAAsTAAALEwEAmpwYAAAAB3RJTUUH1wQKDDM2axnJXgAAAAd0RVh0QXV0aG9yAKmuzEgAAAAMdEVYdERlc2NyaXB0aW9uABMJISMAAAAKdEVYdENvcHlyaWdodACsD8w6AAAADnRFWHRDcmVhdGlvbiB0aW1lADX3DwkAAAAJdEVYdFNvZnR3YXJlAF1w/zoAAAALdEVYdERpc2NsYWltZXIAt8C0jwAAAAh0RVh0V2FybmluZwDAG+aHAAAAB3RFWHRTb3VyY2UA9f+D6wAAAAh0RVh0Q29tbWVudAD2zJa/AAAABnRFWHRUaXRsZQCo7tInAAAA5UlEQVR4nJ2TW07DMBBFT2wnRe3evA5eG0CFVpQVgArdh1fAPugO+ERFxI3H/SBq7IBU8Gg+jqV7PdbMuNq+R/4fRkpcGJEyW1m1UPjIxHZmMJou8NVl/DOURI6pFDePTikak3Gq6ZUiHDMKwPzJaTJuNKlMJK/mA6trC9yunTCwVkzMqFpy2Hn2gfsrCyzWLsaBtcpsWSenNVXF8tkBi0sbIquXntuOVJl1Uqted3dhY+Rh07MPfPrRAJIt+b5ifm7bjloPPPIA1evbUG7WUGv2gZ3P+MS4P9rf+YTt71G8k0Uf5wBZ1bkEoMPuZAAAAABJRU5ErkJggg== + + + 5 + SIGNS_MINUS + 0 + iVBORw0KGgoAAAANSUhEUgAAAAkAAAAJCAYAAADgkQYQAAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8YQUAAAAgY0hSTQAAeiYAAICEAAD6AAAAgOgAAHUwAADqYAAAOpgAABdwnLpRPAAAABh0RVh0U29mdHdhcmUAUGFpbnQuTkVUIHYzLjIwWZ92UQAAAI5JREFUKFNjfP76/f+dRy8ygMEPCAUCH6B8a0NxBoYFGw78xwA//v//8OH//wdAwsAj4T+mIriC//8PXHgAVbQCySQkBQ9efPi/4QCaIpCx6BiuaALIJJAJQPwA5A4gceHGB6BVH/4v2HEBYh1IEYYCbIpAJoAcueEEEAPdATIBhsEmnb54HcMtyG4DyQMAS+rq4jk+qVQAAAAASUVORK5CYII= + + + 5 + SIGNS_PLUS + 0 + iVBORw0KGgoAAAANSUhEUgAAAAkAAAAJCAYAAADgkQYQAAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8YQUAAAAgY0hSTQAAeiYAAICEAAD6AAAAgOgAAHUwAADqYAAAOpgAABdwnLpRPAAAABh0RVh0U29mdHdhcmUAUGFpbnQuTkVUIHYzLjIwWZ92UQAAAJZJREFUKFNjfP76/f+dRy8ygMEPCAUCH6B8a0NxBoYFGw78xwA//v//8OH//wdAwsAj4T+GIpAgRMH//wcuPIAqWoFkEtAEkCKQggcvPvzfcABNEUgSHcMVTQCZBHIDEINMACm8cOMD0KoP/xfsuACxDqQIpuABUBVI8AA2RTBHbjjxAOwOkAkwDDbp9MXrGG5BdhtIHgAc3OMlaQBkAQAAAABJRU5ErkJggg== + + + 5 + SPLITTER_BACKGROUND + 0 + iVBORw0KGgoAAAANSUhEUgAAAAEAAAAICAIAAAC3eAIWAAAACXBIWXMAAAsTAAALEwEAmpwYAAAAB3RJTUUH1wQKCzomoiN09gAAAAd0RVh0QXV0aG9yAKmuzEgAAAAMdEVYdERlc2NyaXB0aW9uABMJISMAAAAKdEVYdENvcHlyaWdodACsD8w6AAAADnRFWHRDcmVhdGlvbiB0aW1lADX3DwkAAAAJdEVYdFNvZnR3YXJlAF1w/zoAAAALdEVYdERpc2NsYWltZXIAt8C0jwAAAAh0RVh0V2FybmluZwDAG+aHAAAAB3RFWHRTb3VyY2UA9f+D6wAAAAh0RVh0Q29tbWVudAD2zJa/AAAABnRFWHRUaXRsZQCo7tInAAAAGUlEQVR4nGNInXye4f///0xPPjAwff+NgQESpBBfJz+/0QAAAABJRU5ErkJggg== + + + 5 + SPLITTER_GRIPPER + 0 + iVBORw0KGgoAAAANSUhEUgAAACMAAAAICAIAAAD80NH7AAAACXBIWXMAAAsTAAALEwEAmpwYAAAAB3RJTUUH1wQLFBgj2j1FcQAAAAd0RVh0QXV0aG9yAKmuzEgAAAAMdEVYdERlc2NyaXB0aW9uABMJISMAAAAKdEVYdENvcHlyaWdodACsD8w6AAAADnRFWHRDcmVhdGlvbiB0aW1lADX3DwkAAAAJdEVYdFNvZnR3YXJlAF1w/zoAAAALdEVYdERpc2NsYWltZXIAt8C0jwAAAAh0RVh0V2FybmluZwDAG+aHAAAAB3RFWHRTb3VyY2UA9f+D6wAAAAh0RVh0Q29tbWVudAD2zJa/AAAABnRFWHRUaXRsZQCo7tInAAAAYElEQVR4nGNMnXyegS6A8f////SxieXJB/pYxMDy/Td2ie6VFxgYGErDDchgYwVM338zYEUMDAwedgby/H/IYGNFjCce4IwnQ8k/DAwM55+zkMHGBIz7b9MrReCKJ6oDALggXhdJV+EdAAAAAElFTkSuQmCC + + + 5 + TITLE_BACKGROUND + 0 + iVBORw0KGgoAAAANSUhEUgAAAAEAAAAaCAIAAAD5ZqGGAAAACXBIWXMAAAsTAAALEwEAmpwYAAAAB3RJTUUH1wQKEwUvkRQUpgAAAAd0RVh0QXV0aG9yAKmuzEgAAAAMdEVYdERlc2NyaXB0aW9uABMJISMAAAAKdEVYdENvcHlyaWdodACsD8w6AAAADnRFWHRDcmVhdGlvbiB0aW1lADX3DwkAAAAJdEVYdFNvZnR3YXJlAF1w/zoAAAALdEVYdERpc2NsYWltZXIAt8C0jwAAAAh0RVh0V2FybmluZwDAG+aHAAAAB3RFWHRTb3VyY2UA9f+D6wAAAAh0RVh0Q29tbWVudAD2zJa/AAAABnRFWHRUaXRsZQCo7tInAAAAKUlEQVR4nGP4//8/05MPDEx//zEw/fuPhKH8v1jEUMTR9P3FIvbvPwMA+EY0sy5GaD4AAAAASUVORK5CYII= + + + 5 + TITLE_BACKGROUND_LEFT + 2 + + + + 5 + TITLE_BACKGROUND_WIDTH + 197 + + + + 5 + TITLE_BORDERCOLOR + 13603685 + + + + 5 + TITLE_FONTCOLOR + 9126421 + + + + 5 + TOOLTITLE_BACKGROUND + 0 + iVBORw0KGgoAAAANSUhEUgAAAAEAAAATCAIAAADeafBOAAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8YQUAAAAgY0hSTQAAeiYAAICEAAD6AAAAgOgAAHUwAADqYAAAOpgAABdwnLpRPAAAABVJREFUGFdj+P//P8O1F5TjtRf/AwDItDQIN2X4UgAAAABJRU5ErkJggg== + + + 5 + TOOLTITLE_FONTCOLOR + 9126421 + + + + 5 + ZOOMNAVBAR_BAR + 0 + Qk3+BAAAAAAAADYEAAAoAAAAAQAAADIAAAABAAgAAAAAAAAAAADEDgAAxA4AAAABAAAAAQAAtoFa/7eDXP+4hV7/uoZg/7uIYv+9imT/voxm/8CNaP/Bj2r/w5Fs/8STbv/GlXD/x5Zy/8mYdP/Kmnb/y5x4/82eev/On3z/0KF+/9GjgP/TpYL/1KaE/9aohv/Xqoj/2KyK/9qujP/ft5r/6cy3/+rQu//s07//7tXD//DYx//x28v/897O//Th0//149b/9ubZ//jo3f/56+D/+e3i//ru5f/78Oj//PLr//z07f/99e///vfx//748//++fX///r3///7+P8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAAABAAAAAgAAAAMAAAAEAAAABQAAAAYAAAAHAAAACAAAAAkAAAAKAAAACwAAAAwAAAANAAAADgAAAA8AAAAQAAAAEQAAABIAAAATAAAAFAAAABUAAAAWAAAAFwAAABgAAAAZAAAAGgAAABsAAAAcAAAAHQAAAB4AAAAfAAAAIAAAACEAAAAiAAAAIwAAACQAAAAlAAAAJgAAACcAAAAoAAAAKQAAACoAAAArAAAALAAAAC0AAAAuAAAALwAAADAAAAAxAAAA + + + 5 + ZOOMNAVBAR_REFLECTEDSEPARATOR + 0 + iVBORw0KGgoAAAANSUhEUgAAADAAAAAwCAYAAABXAvmHAAAABGdBTUEAALGPC/xhBQAAABh0RVh0U29mdHdhcmUAUGFpbnQuTkVUIHYzLjIwWZ92UQAAAD9JREFUaEPt0IEAAAAAw6D5Ux/khVBhwIABAwYMGDBgwIABAwYMGDBgwIABAwYMGDBgwIABAwYMGDBgwMDLwAAkMAABCDVySwAAAABJRU5ErkJggg== + + + 5 + ZOOMNAVBAR_SEPARATOR + 0 + iVBORw0KGgoAAAANSUhEUgAAADAAAAAwCAYAAABXAvmHAAAABGdBTUEAALGPC/xhBQAAABh0RVh0U29mdHdhcmUAUGFpbnQuTkVUIHYzLjIwWZ92UQAAAD9JREFUaEPt0IEAAAAAw6D5Ux/khVBhwIABAwYMGDBgwIABAwYMGDBgwIABAwYMGDBgwIABAwYMGDBgwMDLwAAkMAABCDVySwAAAABJRU5ErkJggg== + + + 5 + ZOOMNAVBAR_STACKBUTTON + 0 + iVBORw0KGgoAAAANSUhEUgAAAMAAAAAcCAYAAAA3ILBTAAABF0lEQVR4nO3cMW7CQBRF0WuU1kUovAHatNn/CuiyCyJKOnAKG8YQg02BjP6/R0LC43kSxTw0jGRASqy6uW6A9ci4FMEJ2AH788BwoX8Dm8FYy/0izLln3vyS+UfXP/2LVT/YcL34pagq4AuooRTAbY8yqYBPKAVw8SubCkoBpJQ+Bu/bkftjY8/cM29+yfzk3GEBbrdBS/+KN2/+FadAV9wCKTULoNQsgFKzAErNAig1j0HNR85PzvUY1HzU/Jy5boGUmwVQahZAqVkApWYBlJrHoOYj5yfnegxqPmp+ztzLFuh0b4IUVAulALvzgJTAEfiFUoA93d9EWAJFdwS2wAH+741quqflfUheEbV03/yHpT+I9Bb+AD0fBdMuQEabAAAAAElFTkSuQmCC + + + 6 + BUTTON_FOCUSED_FONTCOLOR + 0 + + + + 6 + BUTTON_LEFT_FOCUSED + 0 + Qk22BAAAAAAAADYEAAAoAAAAAgAAACAAAAABAAgAAAAAAAAAAADEDgAAxA4AAAABAAAAAQAAdHBv/2fX//9q1///bdj//3DZ//902v//d9v//3rc//993f//gd7//4Te//+H3///i+D//47h//+R4v//lOP//5jk//+b5f//p+j//63q//+y7P//uO7//73w///D8v//yPT//872///T+P//2fr//978////////AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/x0AAAAAAAAAABEAAAAQAAAADwAAAA4AAAANAAAADAAAAAsAAAAKAAAACQAAAAgAAAAHAAAABgAAAAUAAAAEAAAAAwAAAAIAAAABAAAAEgAAABMAAAAUAAAAFQAAABYAAAAXAAAAGAAAABkAAAAaAAAAGwAAABwAAAAAAAAdAAAA + + + 6 + BUTTON_LEFT_HOTTRACKING + 0 + Qk22BAAAAAAAADYEAAAoAAAAAgAAACAAAAABAAgAAAAAAAAAAADEDgAAxA4AAAABAAAAAQAAab3//3jb//973P//ft3//4He//+E3///h+D//4rh//+N4v//kOP//5Pj//+W5P//meX//5zm//+f5///ouj//6Xp//+o6v//q+v//67s//+x7P//tO3//7fu//+67///vfD//8Dx///D8v//xvP//8n0////////AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/x0AAAAAAAAAAAEAAAACAAAAAwAAAAQAAAAFAAAABgAAAAcAAAAIAAAACQAAAAoAAAALAAAADAAAAA0AAAAOAAAADwAAABAAAAARAAAAEgAAABMAAAAUAAAAFQAAABYAAAAXAAAAGAAAABkAAAAaAAAAGwAAABwAAAAAAAAdAAAA + + + 6 + BUTTON_LEFT_NOTFOCUSED + 0 + Qk22BAAAAAAAADYEAAAoAAAAAgAAACAAAAABAAgAAAAAAAAAAADEDgAAxA4AAAABAAAAAQAAdHBv/9HHxf/SyMX/08nG/9TKx//Vy8j/1szJ/9fNyv/Yzsv/2c/M/9rQzP/b0c3/3NLO/93Tz//e1ND/39XR/+DW0v/h19P/5NrW/+bc2P/o3tr/6uDc/+zh3v/u49//8OXh//Ln4//06OX/9urn//js6f//////AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/x0AAAAAAAAAABEAAAAQAAAADwAAAA4AAAANAAAADAAAAAsAAAAKAAAACQAAAAgAAAAHAAAABgAAAAUAAAAEAAAAAwAAAAIAAAABAAAAEgAAABMAAAAUAAAAFQAAABYAAAAXAAAAGAAAABkAAAAaAAAAGwAAABwAAAAAAAAdAAAA + + + 6 + BUTTON_MIDDLE_FOCUSED + 0 + Qk22BAAAAAAAADYEAAAoAAAAAQAAACAAAAABAAgAAAAAAAAAAADEDgAAxA4AAAABAAAAAQAAdHBv/2fX//9q1///bdj//3DZ//902v//d9v//3rc//993f//gd7//4Te//+H3///i+D//47h//+R4v//lOP//5jk//+b5f//nub//6fo//+t6v//suz//7ju//+98P//w/L//8j0///O9v//0/j//9n6///e/P//5P7//wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAAASAAAAEQAAABAAAAAPAAAADgAAAA0AAAAMAAAACwAAAAoAAAAJAAAACAAAAAcAAAAGAAAABQAAAAQAAAADAAAAAgAAAAEAAAATAAAAFAAAABUAAAAWAAAAFwAAABgAAAAZAAAAGgAAABsAAAAcAAAAHQAAAB4AAAAAAAAA + + + 6 + BUTTON_MIDDLE_HOTTRACKING + 0 + Qk22BAAAAAAAADYEAAAoAAAAAQAAACAAAAABAAgAAAAAAAAAAADEDgAAxA4AAAABAAAAAQAAab3//3Xb//942///e9z//37d//+B3v//hN///4fg//+K4f//jeL//5Dj//+T4///luT//5nl//+c5v//n+f//6Lo//+l6f//qOr//6vr//+u7P//sez//7Tt//+37v//uu///73w///A8f//w/L//8bz///J9P//zPX//wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAAABAAAAAgAAAAMAAAAEAAAABQAAAAYAAAAHAAAACAAAAAkAAAAKAAAACwAAAAwAAAANAAAADgAAAA8AAAAQAAAAEQAAABIAAAATAAAAFAAAABUAAAAWAAAAFwAAABgAAAAZAAAAGgAAABsAAAAcAAAAHQAAAB4AAAAAAAAA + + + 6 + BUTTON_MIDDLE_NOTFOCUSED + 0 + Qk22BAAAAAAAADYEAAAoAAAAAQAAACAAAAABAAgAAAAAAAAAAADEDgAAxA4AAAABAAAAAQAAdHBv/9HHxf/SyMX/08nG/9TKx//Vy8j/1szJ/9fNyv/Yzsv/2c/M/9rQzP/b0c3/3NLO/93Tz//e1ND/39XR/+DW0v/h19P/4tjU/+Ta1v/m3Nj/6N7a/+rg3P/s4d7/7uPf//Dl4f/y5+P/9Ojl//bq5//47On/+u7r/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAAASAAAAEQAAABAAAAAPAAAADgAAAA0AAAAMAAAACwAAAAoAAAAJAAAACAAAAAcAAAAGAAAABQAAAAQAAAADAAAAAgAAAAEAAAATAAAAFAAAABUAAAAWAAAAFwAAABgAAAAZAAAAGgAAABsAAAAcAAAAHQAAAB4AAAAAAAAA + + + 6 + BUTTON_NOTFOCUSED_FONTCOLOR + 6050636 + + + + 6 + BUTTON_RIGHT_FOCUSED + 0 + Qk22BAAAAAAAADYEAAAoAAAAAgAAACAAAAABAAgAAAAAAAAAAADEDgAAxA4AAAABAAAAAQAAdHBv/2fX//9q1///bdj//3DZ//902v//d9v//3rc//993f//gd7//4Te//+H3///i+D//47h//+R4v//lOP//5jk//+b5f//p+j//63q//+y7P//uO7//73w///D8v//yPT//872///T+P//2fr//978////////AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAdAAAAAAAAEQAAABAAAAAPAAAADgAAAA0AAAAMAAAACwAAAAoAAAAJAAAACAAAAAcAAAAGAAAABQAAAAQAAAADAAAAAgAAAAEAAAASAAAAEwAAABQAAAAVAAAAFgAAABcAAAAYAAAAGQAAABoAAAAbAAAAHAAAAAAAAAAAHQAA + + + 6 + BUTTON_RIGHT_HOTTRACKING + 0 + Qk22BAAAAAAAADYEAAAoAAAAAgAAACAAAAABAAgAAAAAAAAAAADEDgAAxA4AAAABAAAAAQAAab3//3jb//973P//ft3//4He//+E3///h+D//4rh//+N4v//kOP//5Pj//+W5P//meX//5zm//+f5///ouj//6Xp//+o6v//q+v//67s//+x7P//tO3//7fu//+67///vfD//8Dx///D8v//xvP//8n0////////AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAdAAAAAAAAAQAAAAIAAAADAAAABAAAAAUAAAAGAAAABwAAAAgAAAAJAAAACgAAAAsAAAAMAAAADQAAAA4AAAAPAAAAEAAAABEAAAASAAAAEwAAABQAAAAVAAAAFgAAABcAAAAYAAAAGQAAABoAAAAbAAAAHAAAAAAAAAAAHQAA + + + 6 + BUTTON_RIGHT_NOTFOCUSED + 0 + Qk22BAAAAAAAADYEAAAoAAAAAgAAACAAAAABAAgAAAAAAAAAAADEDgAAxA4AAAABAAAAAQAAdHBv/9HHxf/SyMX/08nG/9TKx//Vy8j/1szJ/9fNyv/Yzsv/2c/M/9rQzP/b0c3/3NLO/93Tz//e1ND/39XR/+DW0v/h19P/5NrW/+bc2P/o3tr/6uDc/+zh3v/u49//8OXh//Ln4//06OX/9urn//js6f//////AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAdAAAAAAAAEQAAABAAAAAPAAAADgAAAA0AAAAMAAAACwAAAAoAAAAJAAAACAAAAAcAAAAGAAAABQAAAAQAAAADAAAAAgAAAAEAAAASAAAAEwAAABQAAAAVAAAAFgAAABcAAAAYAAAAGQAAABoAAAAbAAAAHAAAAAAAAAAAHQAA + + + 6 + CONTAINER_BORDERCOLOR + 7630959 + + + + 6 + EXPLORERBAR_BACKGROUND + 0 + iVBORw0KGgoAAAANSUhEUgAAAAEAAAM1CAIAAAA+dAz4AAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8YQUAAAAgY0hSTQAAeiYAAICEAAD6AAAAgOgAAHUwAADqYAAAOpgAABdwnLpRPAAAAAd0SU1FB9gGBBEaHItTOcYAAAFfSURBVEhLzc7ncoJAFAXg8/6vkGJXigiCVHuliCU9j5M7hDEyu5NiBP3xzZxzZ/fuIt69Iy/r7RuKEG1eUYQwfkERgvUziuBHTyjKKnzE9Xigv3xaBpe2pz+wFv4el7Gjd783X+1QjC2983uz5Rb52tD+00wXG5xXTPv+bzKPcR5r2nM+49kap4vobn5G0wh/E9L5/A0nIX4W0JniDcYB+HyaX05/5OPLivL18IZL8LiDBXicwRxOn8/uz2B7LMubwnL5THcC02H1nDESNsuwRzAslm4NkTBZXXOARC9L6/WRMFiq4SGhZ3V0FwddykeUroOEltXWbByolI/IqoWDDuWU1DFxoFBOiUoPGW3qKaFtIEOmTlqyniVRTzWlLjJE6qQhaiyBZqQuqFkt6qTW6rCaNCPVpsJqKKg02qw6zUi5LrNqMko1ia8q4b4qsioi7ioCX1nAbbnFdVNqguMDdcJGOpH/y9AAAAAASUVORK5CYII= + + + 6 + EXPLORERBAR_BORDERCOLOR + 7630959 + + + + 6 + EXPLORERBAR_NORMALGROUPBACKGROUND + 0 + iVBORw0KGgoAAAANSUhEUgAAAAEAAAAZCAMAAADHTrRNAAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8YQUAAAAgY0hSTQAAeiYAAICEAAD6AAAAgOgAAHUwAADqYAAAOpgAABdwnLpRPAAAAwBQTFRF2t/m2+Dn3OHo3eLo3uPp3+Tq4eXr4ubr4+fs5Ojt5uru6Ovv6ezw6+7x7O/y7fDy7/Hz8PL08fP18vT18/X29Pb39vf4AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAJ4ySygAAAAlwSFlzAAAOwwAADsMBx2+oZAAAAAd0SU1FB9cEEhE7NMydbSkAAAAYdEVYdFNvZnR3YXJlAFBhaW50Lk5FVCB2My4zMECERxAAAAAtSURBVBhXDcKHDYAgAACwKijgQlz/nyppfV6P26U5VYfd1q0WpcuS2SQKRgM/I+wBEyOzPNQAAAAASUVORK5CYII= + + + 6 + EXPLORERBAR_NORMALGROUPCOLLAPSEHIGHLIGHT + 0 + iVBORw0KGgoAAAANSUhEUgAAAPEAAAAZCAMAAADXAjjUAAAABGdBTUEAALGPC/xhBQAAAwBQTFRFAAAAWlpab3B0/9dn/9hq/9lt/9pz/9t3/9x6/919/9+D/9+G/+CJ/+GM/+OS/+SW/+SZ/+mn/+2z/++4//G+zc3N//PD//bO//jT//rZ//zfAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAvt+f7QAAAQB0Uk5T////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////AFP3ByUAAAAYdEVYdFNvZnR3YXJlAFBhaW50Lk5FVCB2My4zMECERxAAAAB6SURBVFhH5c/ZAYJQDADBl4gX3kdA7b9P3A+0CHY6mDaly9QyPyaZLd8ujF8ujEcXxoML46cL44cL47sL45sL45VB/ZOMO4GK+i0Zr5evIqLmJuPN8hGOmJuMty6Mdy6M9y6MexfGBxfGRxfGJxfGZxfGFxfGVxfGNl9ftTdv1q46sgAAAABJRU5ErkJggg== + + + 6 + EXPLORERBAR_NORMALGROUPCOLLAPSENOTHIGHLIGHT + 0 + iVBORw0KGgoAAAANSUhEUgAAAPEAAAAZCAMAAADXAjjUAAAABGdBTUEAALGPC/xhBQAAAwBQTFRFAAAAWlpab3B0zc3NxcfRxsjSyMrUycvVyszWys3XzM/ZzdDaztHbz9Lc0NTe0dXf0tbg1trk2t7o3ODq3uHs3+Pu4+fy5ej05+r26ez4AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAXFDcOQAAAQB0Uk5T////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////AFP3ByUAAAAYdEVYdFNvZnR3YXJlAFBhaW50Lk5FVCB2My4zMECERxAAAAB5SURBVFhH5c/ZFYJAEADBnVkEBQW8Jf9AsT94BEFXBlXWdFlL5mKSWfLnwvjrwvjjwvjtwvjlwvjpwvjhwvjuwrgxqHtSMq6xlxmfjq9GRN2ajNvjIxyxNRl3LozPLowvLox7F8aDC+OrC+ObC+PRhfHkwnh2YWzzByF+M1rWF/X6AAAAAElFTkSuQmCC + + + 6 + EXPLORERBAR_NORMALGROUPEXPANDHIGHLIGHT + 0 + iVBORw0KGgoAAAANSUhEUgAAAPEAAAAZCAMAAADXAjjUAAAABGdBTUEAALGPC/xhBQAAAwBQTFRFAAAAWlpab3B0/9dn/9hq/9lt/9pz/9t3/9x6/919/9+D/9+G/+CJ/+GM/+OS/+SW/+SZ/+mn/+2z/++4//G+zc3N//PD//bO//jT//rZ//zfAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAvt+f7QAAAQB0Uk5T////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////AFP3ByUAAAAYdEVYdFNvZnR3YXJlAFBhaW50Lk5FVCB2My4zMECERxAAAAB6SURBVFhH5c8LFoFQFEDR1/UJSVEXmf88c1orBtHZM9hlDpe5RHxMIkpMLozfLoxfLoyfLoxHF8aDC+OHC+O7C+Pd9lWLtcl4v31JONcm44NAVvlbMj4a5D/JuHZhfHJhfHZhfHFh3Lgwvrowbl0Y31wYdy6MexfGNl+eszd9cYFXPgAAAABJRU5ErkJggg== + + + 6 + EXPLORERBAR_NORMALGROUPEXPANDNOTHIGHLIGHT + 0 + iVBORw0KGgoAAAANSUhEUgAAAPEAAAAZCAMAAADXAjjUAAAABGdBTUEAALGPC/xhBQAAAwBQTFRFAAAAWlpab3B0zc3NxcfRxsjSyMrUycvVyszWys3XzM/ZzdDaztHbz9Lc0NTe0dXf0tbg1trk2t7o3ODq3uHs3+Pu4+fy5ej05+r26ez4AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAXFDcOQAAAQB0Uk5T////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////AFP3ByUAAAAYdEVYdFNvZnR3YXJlAFBhaW50Lk5FVCB2My4zMECERxAAAAB6SURBVFhH5dGHDcJQEMDQnztIoaTT9h80GImyA/YGTy5buNpKxMNURIm7K8Q3V4ivrhBfXCFeXSFeXCGeXSGeXCHe/X/VqzfTIU7A+RPvBWWVHyWPa0P5RSJuXCFuXSHuXCE+uEJ8dIX45Arx2RXi3hXiwRXi0RViW09ebDNkNUUekQAAAABJRU5ErkJggg== + + + 6 + EXPLORERBAR_NORMALGROUPHIGHLIGHT_FORECOLOR + 0 + + + + 6 + EXPLORERBAR_NORMALGROUPNOTHIGHLIGHT_FORECOLOR + 6050636 + + + + 6 + EXPLORERBAR_SPECIALGROUPBACKGROUND + 0 + iVBORw0KGgoAAAANSUhEUgAAAAEAAAAZCAMAAADHTrRNAAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8YQUAAAAgY0hSTQAAeiYAAICEAAD6AAAAgOgAAHUwAADqYAAAOpgAABdwnLpRPAAAAwBQTFRF2t/m2+Dn3OHo3eLo3uPp3+Tq4eXr4ubr4+fs5Ojt5uru6Ovv6ezw6+7x7O/y7fDy7/Hz8PL08fP18vT18/X29Pb39vf4AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAJ4ySygAAAAlwSFlzAAAOwwAADsMBx2+oZAAAAAd0SU1FB9cEEhE7NMydbSkAAAAYdEVYdFNvZnR3YXJlAFBhaW50Lk5FVCB2My4zMECERxAAAAAtSURBVBhXDcKHDYAgAACwKijgQlz/nyppfV6P26U5VYfd1q0WpcuS2SQKRgM/I+wBEyOzPNQAAAAASUVORK5CYII= + + + 6 + EXPLORERBAR_SPECIALGROUPCOLLAPSEHIGHLIGHT + 0 + iVBORw0KGgoAAAANSUhEUgAAAPEAAAAZCAMAAADXAjjUAAAABGdBTUEAALGPC/xhBQAAAwBQTFRFAAAAWlpab3B0+4w8+5A++5RB/JxF/KBH/KRK/6xD/KhM/69K/7FN/bBQ/7NR/bNT/7RU/bdV/7db/rtX/7hf/7pi/7tm/sNc/sde/stgzc3NAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAktHyxAAAAQB0Uk5T////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////AFP3ByUAAAAYdEVYdFNvZnR3YXJlAFBhaW50Lk5FVCB2My4zMECERxAAAAB6SURBVFhH5c/ZAYJQDADBl4gX3geo6b9P3A+0CHY6mDaly9QyR5PMloML46cL47sL46sL47ML46ML44ML470L45VB/ZOMO4GK+i0Zr5evIqLmJuPN8hGOmJuMty6Mdy6MexfGJxfGFxfGNxfGDxfGLxfGbxfGHxfGNl+gqTLlSSTRWgAAAABJRU5ErkJggg== + + + 6 + EXPLORERBAR_SPECIALGROUPCOLLAPSENOTHIGHLIGHT + 0 + iVBORw0KGgoAAAANSUhEUgAAAPEAAAAZCAMAAADXAjjUAAAABGdBTUEAALGPC/xhBQAAAwBQTFRFAAAAWlpab3B0/6s//65C/7FG/7dM/7pQ/71T/7xu/8BW/8Zd/slg/sxj/s9n/8F5/8R//tVt/thx/tt0/8aE/8mK/86U/9Ga/9Sf/9alzc3NAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABvgkxwAAAQB0Uk5T////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////AFP3ByUAAAAYdEVYdFNvZnR3YXJlAFBhaW50Lk5FVCB2My4zMECERxAAAAB6SURBVFhH5c/ZAYJQDADBl4gX3geo6b9P3A+0CHY6mDaly9QyPyaZLd8ujF8ujEcXxoML46cL46sL44sL470L45VB/ZOMO4GK+i0Zr5evIqLmJuPN8hGOmJuMty6Mdy6MexfGBxfGRxfGJxfGZxfGNxfGdxfGDxfGNl/j8DLfOpnpagAAAABJRU5ErkJggg== + + + 6 + EXPLORERBAR_SPECIALGROUPEXPANDHIGHLIGHT + 0 + iVBORw0KGgoAAAANSUhEUgAAAPEAAAAZCAMAAADXAjjUAAAABGdBTUEAALGPC/xhBQAAAwBQTFRFAAAAWlpab3B0+4w8+5A++5RB/JxF/KBH/KRK/6xD/KhM/69K/7FN/bBQ/7NR/bNT/7RU/bdV/7db/rtX/7hf/7pi/7tm/sNc/sde/stgzc3NAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAktHyxAAAAQB0Uk5T////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////AFP3ByUAAAAYdEVYdFNvZnR3YXJlAFBhaW50Lk5FVCB2My4zMECERxAAAAB5SURBVFhH5c+JEYJAEADBYxXxBwW/zT9PGKuAIJjOoMsYLmOJeJtElHi5MB5cGD9dGHcujO8ujK8ujC8ujE8ujHfbV/3NTcb77UvCOTcZ1wJZ5bJkfDDINcm4cWF8dGF8dmF8c2HcujB+uDDuXRh/XBh/XRj/XBjbTNF5MvOzTGb+AAAAAElFTkSuQmCC + + + 6 + EXPLORERBAR_SPECIALGROUPEXPANDNOTHIGHLIGHT + 0 + iVBORw0KGgoAAAANSUhEUgAAAPEAAAAZCAMAAADXAjjUAAAABGdBTUEAALGPC/xhBQAAAwBQTFRFAAAAWlpab3B0/6s//65C/7FG/7dM/7pQ/71T/7xu/8BW/8Zd/slg/sxj/s9n/8F5/8R//tVt/thx/tt0/8aE/8mK/86U/9Ga/9Sf/9alzc3NAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABvgkxwAAAQB0Uk5T////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////AFP3ByUAAAAYdEVYdFNvZnR3YXJlAFBhaW50Lk5FVCB2My4zMECERxAAAAB5SURBVFhH5c+JEYJAEADBYxXxBwW/zT9PGKuAIJjOoMsYLmOJ+JlElPi6MP64MH67MH65MB5cGHcujFsXxicXxrvtq/7mJuP99iXhnJuMa4GsclkyPhjkmmTcuDA+ujA+uzC+uDC+ujC+uTC+uzB+uDB+ujDuXRjbTBTPMu1zQAfcAAAAAElFTkSuQmCC + + + 6 + EXPLORERBAR_SPECIALGROUPHIGHLIGHT_FORECOLOR + 0 + + + + 6 + EXPLORERBAR_SPECIALGROUPNOTHIGHLIGHT_FORECOLOR + 6050636 + + + + 6 + FORM_BACKGROUND + 0 + iVBORw0KGgoAAAANSUhEUgAAAAEAAAGnCAIAAAD5RaqZAAAACXBIWXMAAA7EAAAOxAGVKw4bAAAAB3RJTUUH1wUEDBs0BfVYWwAAAAd0RVh0QXV0aG9yAKmuzEgAAAAMdEVYdERlc2NyaXB0aW9uABMJISMAAAAKdEVYdENvcHlyaWdodACsD8w6AAAADnRFWHRDcmVhdGlvbiB0aW1lADX3DwkAAAAJdEVYdFNvZnR3YXJlAF1w/zoAAAALdEVYdERpc2NsYWltZXIAt8C0jwAAAAh0RVh0V2FybmluZwDAG+aHAAAAB3RFWHRTb3VyY2UA9f+D6wAAAAh0RVh0Q29tbWVudAD2zJa/AAAABnRFWHRUaXRsZQCo7tInAAAAmUlEQVR4nJ3UQQ6AIAwEwA3/f5wHr75lvZjQAm3XHkjA7WgsBFz3MwAEg4OMsmxwgBjsOKBhpwNUyzk3/1hb+vXSn9jnLrbcn0lWc94eTOKmDVxpew5gvk9HS/Pdngut4HR77slmRVfbZA9WT90423De/nMAvnsrd6Q9E/T3gM3UOpNtdUH2q870MsqiuVRXvEOqW3qSZUXdCxxapi1XRc5NAAAAAElFTkSuQmCC + + + 6 + OUTLOOKNAVBAR_BORDERCOLOR + 7630959 + + + + 6 + OVERFLOWPANELBUTTON_FOCUSEDNOTSELECTED + 0 + iVBORw0KGgoAAAANSUhEUgAAAAEAAAAfCAIAAACpqzA1AAAACXBIWXMAAA7EAAAOxAGVKw4bAAAAB3RJTUUH1wQSEgsoBZy5zAAAAAd0RVh0QXV0aG9yAKmuzEgAAAAMdEVYdERlc2NyaXB0aW9uABMJISMAAAAKdEVYdENvcHlyaWdodACsD8w6AAAADnRFWHRDcmVhdGlvbiB0aW1lADX3DwkAAAAJdEVYdFNvZnR3YXJlAF1w/zoAAAALdEVYdERpc2NsYWltZXIAt8C0jwAAAAh0RVh0V2FybmluZwDAG+aHAAAAB3RFWHRTb3VyY2UA9f+D6wAAAAh0RVh0Q29tbWVudAD2zJa/AAAABnRFWHRUaXRsZQCo7tInAAAAL0lEQVR4nGPILyhh+P/vCRPDv19MDP9+E0e/P8DEwMDMxMAIwyxIbCifAY8chA0AbM4cEZgWJhoAAAAASUVORK5CYII= + + + 6 + OVERFLOWPANELBUTTON_FOCUSEDSELECTED + 0 + iVBORw0KGgoAAAANSUhEUgAAAAEAAAAfCAIAAACpqzA1AAAACXBIWXMAAA7EAAAOxAGVKw4bAAAAB3RJTUUH1wQSEhEOZ7zG6gAAAAd0RVh0QXV0aG9yAKmuzEgAAAAMdEVYdERlc2NyaXB0aW9uABMJISMAAAAKdEVYdENvcHlyaWdodACsD8w6AAAADnRFWHRDcmVhdGlvbiB0aW1lADX3DwkAAAAJdEVYdFNvZnR3YXJlAF1w/zoAAAALdEVYdERpc2NsYWltZXIAt8C0jwAAAAh0RVh0V2FybmluZwDAG+aHAAAAB3RFWHRTb3VyY2UA9f+D6wAAAAh0RVh0Q29tbWVudAD2zJa/AAAABnRFWHRUaXRsZQCo7tInAAAAOUlEQVR4nGPILyhh+L83k4nh3x8mhv9/iaL/PPjFxMDCBMXMTAwsTEyMMDYrFjEWJiYGVmYoHy4GAHe1HMJ6sAamAAAAAElFTkSuQmCC + + + 6 + OVERFLOWPANELBUTTON_NOTFOCUSEDSELECTED + 0 + iVBORw0KGgoAAAANSUhEUgAAAAEAAAAfCAIAAACpqzA1AAAACXBIWXMAAA7EAAAOxAGVKw4bAAAAB3RJTUUH1wQSEgsMOZ9dHQAAAAd0RVh0QXV0aG9yAKmuzEgAAAAMdEVYdERlc2NyaXB0aW9uABMJISMAAAAKdEVYdENvcHlyaWdodACsD8w6AAAADnRFWHRDcmVhdGlvbiB0aW1lADX3DwkAAAAJdEVYdFNvZnR3YXJlAF1w/zoAAAALdEVYdERpc2NsYWltZXIAt8C0jwAAAAh0RVh0V2FybmluZwDAG+aHAAAAB3RFWHRTb3VyY2UA9f+D6wAAAAh0RVh0Q29tbWVudAD2zJa/AAAABnRFWHRUaXRsZQCo7tInAAAAM0lEQVR4nGPILyhh+H9zFRPD319MDH9/Q+h/vxF8FDaU/nCR6T8zMxMDMwsTAzrNQrQ4AIvbHOb3Ov9uAAAAAElFTkSuQmCC + + + 6 + OVERFLOWPANEL_BACKGROUND + 0 + iVBORw0KGgoAAAANSUhEUgAAAAEAAAAfCAIAAACpqzA1AAAACXBIWXMAAA7EAAAOxAGVKw4bAAAAB3RJTUUH1wQSEgUMpxxwkwAAAAd0RVh0QXV0aG9yAKmuzEgAAAAMdEVYdERlc2NyaXB0aW9uABMJISMAAAAKdEVYdENvcHlyaWdodACsD8w6AAAADnRFWHRDcmVhdGlvbiB0aW1lADX3DwkAAAAJdEVYdFNvZnR3YXJlAF1w/zoAAAALdEVYdERpc2NsYWltZXIAt8C0jwAAAAh0RVh0V2FybmluZwDAG+aHAAAAB3RFWHRTb3VyY2UA9f+D6wAAAAh0RVh0Q29tbWVudAD2zJa/AAAABnRFWHRUaXRsZQCo7tInAAAAMElEQVR4nGPILyhheP3uF9O/f/8Q+D+C/R+N/+/fP6b3b98yMTAyMjHiwYTkGRkZAc3VKByeAR+gAAAAAElFTkSuQmCC + + + 6 + OVERFLOWPANEL_MENUBUTTON + 0 + iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAIAAACQkWg2AAAABnRSTlMA/wD/AP83WBt9AAAACXBIWXMAAA7EAAAOxAGVKw4bAAAAB3RJTUUH1wQSEgcgp/J+8gAAAAd0RVh0QXV0aG9yAKmuzEgAAAAMdEVYdERlc2NyaXB0aW9uABMJISMAAAAKdEVYdENvcHlyaWdodACsD8w6AAAADnRFWHRDcmVhdGlvbiB0aW1lADX3DwkAAAAJdEVYdFNvZnR3YXJlAF1w/zoAAAALdEVYdERpc2NsYWltZXIAt8C0jwAAAAh0RVh0V2FybmluZwDAG+aHAAAAB3RFWHRTb3VyY2UA9f+D6wAAAAh0RVh0Q29tbWVudAD2zJa/AAAABnRFWHRUaXRsZQCo7tInAAAAUUlEQVR4nGP8//8/AymAiSTVw0QDCxo/LbMQmTtrej8BG1q7OrGyEeA/Bnj16WdqRsGrTz8xpf7//8+INeJef/4lysuG1Q/YNeABgzAeaK8BAMrhQAUGDBQVAAAAAElFTkSuQmCC + + + 6 + PANELBUTTON_FOCUSEDNOTSELECTED + 0 + iVBORw0KGgoAAAANSUhEUgAAAAEAAAAgCAIAAABch4VNAAAACXBIWXMAAA7EAAAOxAGVKw4bAAAAB3RJTUUH1wQSEgQaStP0gwAAAAd0RVh0QXV0aG9yAKmuzEgAAAAMdEVYdERlc2NyaXB0aW9uABMJISMAAAAKdEVYdENvcHlyaWdodACsD8w6AAAADnRFWHRDcmVhdGlvbiB0aW1lADX3DwkAAAAJdEVYdFNvZnR3YXJlAF1w/zoAAAALdEVYdERpc2NsYWltZXIAt8C0jwAAAAh0RVh0V2FybmluZwDAG+aHAAAAB3RFWHRTb3VyY2UA9f+D6wAAAAh0RVh0Q29tbWVudAD2zJa/AAAABnRFWHRUaXRsZQCo7tInAAAALElEQVR4nGPILyhh+P/vCRPDv19MDP9+E0e/P8DEwMDMxMCIBaOIs+AQh2MA3JYcEzGHdbUAAAAASUVORK5CYII= + + + 6 + PANELBUTTON_FOCUSEDSELECTED + 0 + iVBORw0KGgoAAAANSUhEUgAAAAEAAAAgCAIAAABch4VNAAAACXBIWXMAAA7EAAAOxAGVKw4bAAAAB3RJTUUH1wQSEgoVRO/EnAAAAAd0RVh0QXV0aG9yAKmuzEgAAAAMdEVYdERlc2NyaXB0aW9uABMJISMAAAAKdEVYdENvcHlyaWdodACsD8w6AAAADnRFWHRDcmVhdGlvbiB0aW1lADX3DwkAAAAJdEVYdFNvZnR3YXJlAF1w/zoAAAALdEVYdERpc2NsYWltZXIAt8C0jwAAAAh0RVh0V2FybmluZwDAG+aHAAAAB3RFWHRTb3VyY2UA9f+D6wAAAAh0RVh0Q29tbWVudAD2zJa/AAAABnRFWHRUaXRsZQCo7tInAAAAN0lEQVR4nGPILyhh+L83k4nh3x8mhv9/iaL/PPjFxMDMxMTAAsPMTIwsqHwGFiYkMWa4HCMqHwDp8xzFHnwmBAAAAABJRU5ErkJggg== + + + 6 + PANELBUTTON_NOTFOCUSEDSELECTED + 0 + iVBORw0KGgoAAAANSUhEUgAAAAEAAAAgCAIAAABch4VNAAAACXBIWXMAAA7EAAAOxAGVKw4bAAAAB3RJTUUH1wQSEgQIuWqFywAAAAd0RVh0QXV0aG9yAKmuzEgAAAAMdEVYdERlc2NyaXB0aW9uABMJISMAAAAKdEVYdENvcHlyaWdodACsD8w6AAAADnRFWHRDcmVhdGlvbiB0aW1lADX3DwkAAAAJdEVYdFNvZnR3YXJlAF1w/zoAAAALdEVYdERpc2NsYWltZXIAt8C0jwAAAAh0RVh0V2FybmluZwDAG+aHAAAAB3RFWHRTb3VyY2UA9f+D6wAAAAh0RVh0Q29tbWVudAD2zJa/AAAABnRFWHRUaXRsZQCo7tInAAAAL0lEQVR4nGPILyhh+H9zFRPD319MDH9/Q+h/vxF8FDaU/nCR6T8zMxMDHLOQywYA/r0c6aW048gAAAAASUVORK5CYII= + + + 6 + PANELBUTTON_NOTSELECTED_FONTCOLOR + 6050636 + + + + 6 + PANELBUTTON_SELECTED_FONTCOLOR + 0 + + + + 6 + PANELVERTICAL_FOCUSED_BACKCOLOR + 12775167 + + + + 6 + PANELVERTICAL_FONTCOLOR + 9126421 + + + + 6 + PANELVERTICAL_NOTFOCUSED_BACKCOLOR + 16051950 + + + + 6 + PANEL_BACKGROUND + 0 + iVBORw0KGgoAAAANSUhEUgAAAAEAAAAgCAIAAABch4VNAAAACXBIWXMAAA7EAAAOxAGVKw4bAAAAB3RJTUUH1wQSEgQ6cb3USwAAAAd0RVh0QXV0aG9yAKmuzEgAAAAMdEVYdERlc2NyaXB0aW9uABMJISMAAAAKdEVYdENvcHlyaWdodACsD8w6AAAADnRFWHRDcmVhdGlvbiB0aW1lADX3DwkAAAAJdEVYdFNvZnR3YXJlAF1w/zoAAAALdEVYdERpc2NsYWltZXIAt8C0jwAAAAh0RVh0V2FybmluZwDAG+aHAAAAB3RFWHRTb3VyY2UA9f+D6wAAAAh0RVh0Q29tbWVudAD2zJa/AAAABnRFWHRUaXRsZQCo7tInAAAAMklEQVR4nGPILyhheP3uF9O/f/8Q+D+C/R+N/+/fP6b3b98yMTAwMDEyMmJgBixieMQBbbgoHuaseJwAAAAASUVORK5CYII= + + + 6 + SHORTCUTMENU_DOWN_ENABLED + 0 + Qk02BQAAAAAAADYEAAAoAAAAEAAAABAAAAABAAgAAAAAAAAAAADEDgAAxA4AAAABAAAAAQAAoFAw/6BYMP+wWDD/sGBA/7BoQP/AaED/wHBQ/8B4UP/QeFD/4HhQ/+CAUP/giFD/8IhQ/9CIYP/wkGD//5Bg/+CQcP/gmHD/8Jhw//CgcP//oHD//6iA//+wgP//sJD//7iQ///AoP//////AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/xoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaAhoaGhoaGhoaGhoaGhoaAgUBGhoaGhoaGhoaGhoaAgoJBQAaGhoaGhoaGhoaBxIUCwgFABoaGhoaGhoaExEQFQ4KAAMEGhoaGhoaGhoaDRYPDAMaGhoaGhoaGhoaGhAZFQ4EGhoaGhoaGhoaGhoRGRgXBhoaGhoaGhoaGhoaExEQDQ0aGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGho= + + + 6 + SHORTCUTMENU_DOWN_DISABLED + 0 + Qk02BQAAAAAAADYEAAAoAAAAEAAAABAAAAABAAgAAAAAAAAAAADEDgAAxA4AAAABAAAAAQAAT09P/1RUVP9WVlb/X19f/2RkZP9mZmb/b29v/3R0dP92dnb/d3d3/3x8fP+BgYH/g4OD/4SEhP+MjIz/jo6O/4+Pj/+UlJT/lpaW/5qamv+cnJz/paWl/6qqqv+vr6//tLS0/729vf//////AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/xoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaAhoaGhoaGhoaGhoaGhoaAgUBGhoaGhoaGhoaGhoaAgoJBQAaGhoaGhoaGhoaBxIUCwgFABoaGhoaGhoaExEQFQ4KAAMEGhoaGhoaGhoaDRYPDAMaGhoaGhoaGhoaGhAZFQ4EGhoaGhoaGhoaGhoRGRgXBhoaGhoaGhoaGhoaExEQDQ0aGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGho= + + + 6 + SHORTCUTMENU_UP_ENABLED + 0 + Qk02BQAAAAAAADYEAAAoAAAAEAAAABAAAAABAAgAAAAAAAAAAADEDgAAxA4AAAABAAAAAQAAkEgg/6BIIP+gUCD/oFAw/6BYMP+wWDD/0Ggw/8BwQP/QcED/0HhA/9B4UP/QgFD/4IBQ/+CIYP/wkGD/8Jhg/+CYcP/woHD//6Bw//CogP//sJD//8Cg//////8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/xYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFgwDAAAAFhYWFhYWFhYWFhYMDQsHABYWFhYWFhYWFhYWDBMNCgEWFhYWFhYWFhYWFgwVDw0CFhYWFhYWFhYWEAgGFA8PBQIAFhYWFhYWFhYQFRQSDgkDFhYWFhYWFhYWFhEVFA0DFhYWFhYWFhYWFhYWERUEFhYWFhYWFhYWFhYWFhYQFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhY= + + + 6 + SHORTCUTMENU_UP_DISABLED + 0 + Qk02BQAAAAAAADYEAAAoAAAAEAAAABAAAAABAAgAAAAAAAAAAADEDgAAxA4AAAABAAAAAQAARERE/0ZGRv9KSkr/T09P/1RUVP9WVlb/Y2Nj/2pqav9sbGz/cXFx/3Z2dv96enr/fHx8/4aGhv+MjIz/kZGR/5SUlP+ampr/nJyc/6SkpP+vr6//vb29//////8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/xYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFgwDAAAAFhYWFhYWFhYWFhYMDQsHABYWFhYWFhYWFhYWDBMNCgEWFhYWFhYWFhYWFgwVDw0CFhYWFhYWFhYWEAgGFA8PBQIAFhYWFhYWFhYQFRQSDgkDFhYWFhYWFhYWFhEVFA0DFhYWFhYWFhYWFhYWERUEFhYWFhYWFhYWFhYWFhYQFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhY= + + + 6 + SHRINKBUTTON_FOCUSEDNOTSHRUNK + 0 + iVBORw0KGgoAAAANSUhEUgAAABIAAAASCAIAAADZrBkAAAAACXBIWXMAAA7EAAAOxAGVKw4bAAAAB3RJTUUH1wQSEhQPbcwCOQAAAAd0RVh0QXV0aG9yAKmuzEgAAAAMdEVYdERlc2NyaXB0aW9uABMJISMAAAAKdEVYdENvcHlyaWdodACsD8w6AAAADnRFWHRDcmVhdGlvbiB0aW1lADX3DwkAAAAJdEVYdFNvZnR3YXJlAF1w/zoAAAALdEVYdERpc2NsYWltZXIAt8C0jwAAAAh0RVh0V2FybmluZwDAG+aHAAAAB3RFWHRTb3VyY2UA9f+D6wAAAAh0RVh0Q29tbWVudAD2zJa/AAAABnRFWHRUaXRsZQCo7tInAAAA/klEQVR4nNWSMU7DQBBF364dFClIUHEQGiqqNBwF+wCgKIiISFzBHIGKhipNKi7AAegQFIjGKBb2rtdDE+FxZAmRAonVFK94o7+aGSPyxO9fLHW5TRt1tVVa+NO0vjYT7WJ3aJyEleZvwRLKjTJmAJye3wKatbOZZuI9EZtM7gAJHlrWZowaiRnsg0ku7oGbqxOCS2aLNfsPbXbT4iidLYDscizBp/Plmn0h7l1/ylJXbbk8mx4D6XxJcC0Lxo602RmJfL7i82xyBKTXDzSuZRNp00pd6WqKF6ny7OwQIPgOK81Uj9OevQ0PTDySupDyTfMP65bVcy+rBfyDU/4CfBPfdxfSPVEAAAAASUVORK5CYII= + + + 6 + SHRINKBUTTON_FOCUSEDSHRUNK + 0 + iVBORw0KGgoAAAANSUhEUgAAABIAAAASCAIAAADZrBkAAAAACXBIWXMAAA7EAAAOxAGVKw4bAAAAB3RJTUUH1wQSEhMJy+4xywAAAAd0RVh0QXV0aG9yAKmuzEgAAAAMdEVYdERlc2NyaXB0aW9uABMJISMAAAAKdEVYdENvcHlyaWdodACsD8w6AAAADnRFWHRDcmVhdGlvbiB0aW1lADX3DwkAAAAJdEVYdFNvZnR3YXJlAF1w/zoAAAALdEVYdERpc2NsYWltZXIAt8C0jwAAAAh0RVh0V2FybmluZwDAG+aHAAAAB3RFWHRTb3VyY2UA9f+D6wAAAAh0RVh0Q29tbWVudAD2zJa/AAAABnRFWHRUaXRsZQCo7tInAAAA/ElEQVR4nNWSvUoDURCFz9xdw6KpLHwQGyurNHmUZB/AECKKguQN1kdIlSaVjZWVnQ9gZ6Wm2ZDg/Zsdm8V7VxPEFEKGKb4L53DgniGRZ/x9UvF6Gxu82SqN/zUtslHShmqhssLLmH/aFFiHBXqDCQCivQbHGtZgrcSbsOwA9IZTERUzkDVk3jTT3OL2qgugfz4D28AgUtnGtOrjVdyquOgA6F/eCbvAksTKxk9S6xCC/PoeQDE6Bdv85qFmW8bKFHFvlNS64Qkqm48fa3almPnmAtgBKM6OxZSU7n+xmPdvBZB5GoVHdkTpgfiV6LeYf6lbli9reY1tF075E2j35Yh+I0LJAAAAAElFTkSuQmCC + + + 6 + SHRINKBUTTON_NOTFOCUSEDNOTSHRUNK + 0 + iVBORw0KGgoAAAANSUhEUgAAABIAAAASCAIAAADZrBkAAAAACXBIWXMAAA7EAAAOxAGVKw4bAAAAB3RJTUUH1wQSEhUc8GlypgAAAAd0RVh0QXV0aG9yAKmuzEgAAAAMdEVYdERlc2NyaXB0aW9uABMJISMAAAAKdEVYdENvcHlyaWdodACsD8w6AAAADnRFWHRDcmVhdGlvbiB0aW1lADX3DwkAAAAJdEVYdFNvZnR3YXJlAF1w/zoAAAALdEVYdERpc2NsYWltZXIAt8C0jwAAAAh0RVh0V2FybmluZwDAG+aHAAAAB3RFWHRTb3VyY2UA9f+D6wAAAAh0RVh0Q29tbWVudAD2zJa/AAAABnRFWHRUaXRsZQCo7tInAAAA1UlEQVR4nJ2SQVMCMQyFX9LlH8suDOIBHRD+Jgcvnhi92CbPA9hJZQ/aTA7fdN5r0qRy+fjE/2MgO1wY2OXrtXlvtZnTlFRFnDTzyFWgvAtVEcjDciOQyFHz+21DSiKyHDcACEaOyqbJq2ccHwGcji8gxunGbs39TTWRm+74+kxyWm2vbO6lWGxKnaxZ3A+HHYBptXWyMgBNjbIZSc7Ffpzr9ROAyirNSJREzJzNzPf7HQASkWPK+e39fm+LIamqu+dikedHUuMrl1meX8Dfo/9P9ti+AeBn8p2xV373AAAAAElFTkSuQmCC + + + 6 + SHRINKBUTTON_NOTFOCUSEDSHRUNK + 0 + iVBORw0KGgoAAAANSUhEUgAAABIAAAASCAIAAADZrBkAAAAACXBIWXMAAA7EAAAOxAGVKw4bAAAAB3RJTUUH1wQSEhYbRSC0xgAAAAd0RVh0QXV0aG9yAKmuzEgAAAAMdEVYdERlc2NyaXB0aW9uABMJISMAAAAKdEVYdENvcHlyaWdodACsD8w6AAAADnRFWHRDcmVhdGlvbiB0aW1lADX3DwkAAAAJdEVYdFNvZnR3YXJlAF1w/zoAAAALdEVYdERpc2NsYWltZXIAt8C0jwAAAAh0RVh0V2FybmluZwDAG+aHAAAAB3RFWHRTb3VyY2UA9f+D6wAAAAh0RVh0Q29tbWVudAD2zJa/AAAABnRFWHRUaXRsZQCo7tInAAAA0klEQVR4nJ2Su44CMQxF73XCH8MA4lHAChZ+c4ttqBA0TGxTIIVEM6y0sVIcK/ckUhxeb3f8v6J7g4XoTV6rZq23vZsQREhzV7WSh5p4UQSnsxVBEZbsg6o0hwOYdSuSJQeRoYa8TP18+gLQdWs4MpMMEspkdUyfkpqdvvcAuvna3TOTKJPVS8YYAMwXGwDH487cl8vti5NZlSznJmTOAcisZinpxwG8+HDYqZqIZO5rBwB/fi+5mcQgImbWJy15dNzv6x59GuVR7Y/dz1rzn2zRngPQ7630RQNPAAAAAElFTkSuQmCC + + + 6 + SIGNS_MINUS + 0 + iVBORw0KGgoAAAANSUhEUgAAAAkAAAAJCAYAAADgkQYQAAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8YQUAAAAgY0hSTQAAeiYAAICEAAD6AAAAgOgAAHUwAADqYAAAOpgAABdwnLpRPAAAABh0RVh0U29mdHdhcmUAUGFpbnQuTkVUIHYzLjIwWZ92UQAAAI5JREFUKFNjfP76/f+dRy8ygMEPCAUCH6B8a0NxBoYFGw78xwA//v//8OH//wdAwsAj4T+mIriC//8PXHgAVbQCySQkBQ9efPi/4QCaIpCx6BiuaALIJJAJQPwA5A4gceHGB6BVH/4v2HEBYh1IEYYCbIpAJoAcueEEEAPdATIBhsEmnb54HcMtyG4DyQMAS+rq4jk+qVQAAAAASUVORK5CYII= + + + 6 + SIGNS_PLUS + 0 + iVBORw0KGgoAAAANSUhEUgAAAAkAAAAJCAYAAADgkQYQAAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8YQUAAAAgY0hSTQAAeiYAAICEAAD6AAAAgOgAAHUwAADqYAAAOpgAABdwnLpRPAAAABh0RVh0U29mdHdhcmUAUGFpbnQuTkVUIHYzLjIwWZ92UQAAAJZJREFUKFNjfP76/f+dRy8ygMEPCAUCH6B8a0NxBoYFGw78xwA//v//8OH//wdAwsAj4T+GIpAgRMH//wcuPIAqWoFkEtAEkCKQggcvPvzfcABNEUgSHcMVTQCZBHIDEINMACm8cOMD0KoP/xfsuACxDqQIpuABUBVI8AA2RTBHbjjxAOwOkAkwDDbp9MXrGG5BdhtIHgAc3OMlaQBkAQAAAABJRU5ErkJggg== + + + 6 + SPLITTER_BACKGROUND + 0 + iVBORw0KGgoAAAANSUhEUgAAAAEAAAAICAIAAAC3eAIWAAAACXBIWXMAAA7EAAAOxAGVKw4bAAAAB3RJTUUH1wQSEgIzXjvLaQAAAAd0RVh0QXV0aG9yAKmuzEgAAAAMdEVYdERlc2NyaXB0aW9uABMJISMAAAAKdEVYdENvcHlyaWdodACsD8w6AAAADnRFWHRDcmVhdGlvbiB0aW1lADX3DwkAAAAJdEVYdFNvZnR3YXJlAF1w/zoAAAALdEVYdERpc2NsYWltZXIAt8C0jwAAAAh0RVh0V2FybmluZwDAG+aHAAAAB3RFWHRTb3VyY2UA9f+D6wAAAAh0RVh0Q29tbWVudAD2zJa/AAAABnRFWHRUaXRsZQCo7tInAAAAIklEQVR4nGPILyhh+P//P7OmhgPTt28/4Pj79x9M3779AAATQBNlMpXJ5wAAAABJRU5ErkJggg== + + + 6 + SPLITTER_GRIPPER + 0 + iVBORw0KGgoAAAANSUhEUgAAACMAAAAICAIAAAD80NH7AAAACXBIWXMAAA7EAAAOxAGVKw4bAAAAB3RJTUUH1wQSEgMtvS/HSwAAAAd0RVh0QXV0aG9yAKmuzEgAAAAMdEVYdERlc2NyaXB0aW9uABMJISMAAAAKdEVYdENvcHlyaWdodACsD8w6AAAADnRFWHRDcmVhdGlvbiB0aW1lADX3DwkAAAAJdEVYdFNvZnR3YXJlAF1w/zoAAAALdEVYdERpc2NsYWltZXIAt8C0jwAAAAh0RVh0V2FybmluZwDAG+aHAAAAB3RFWHRTb3VyY2UA9f+D6wAAAAh0RVh0Q29tbWVudAD2zJa/AAAABnRFWHRUaXRsZQCo7tInAAAAY0lEQVR4nGPMLyhhoAtg/P//P31sYlm54gCdbPr27QdWiXv3jzIwMCgpWpPBxgqYvn37gRUxMDAEBAREx7iQwcaKcPqJj1dbV1efgYHh27cfpLKxGsjY2DCfUAhTB+D0E9UBAN8HdalY7CBnAAAAAElFTkSuQmCC + + + 6 + TITLE_BACKGROUND + 0 + iVBORw0KGgoAAAANSUhEUgAAAAEAAAAaCAIAAAD5ZqGGAAAACXBIWXMAAA7EAAAOxAGVKw4bAAAAB3RJTUUH1wQSETs0zJ1tKQAAAAd0RVh0QXV0aG9yAKmuzEgAAAAMdEVYdERlc2NyaXB0aW9uABMJISMAAAAKdEVYdENvcHlyaWdodACsD8w6AAAADnRFWHRDcmVhdGlvbiB0aW1lADX3DwkAAAAJdEVYdFNvZnR3YXJlAF1w/zoAAAALdEVYdERpc2NsYWltZXIAt8C0jwAAAAh0RVh0V2FybmluZwDAG+aHAAAAB3RFWHRTb3VyY2UA9f+D6wAAAAh0RVh0Q29tbWVudAD2zJa/AAAABnRFWHRUaXRsZQCo7tInAAAAKUlEQVR4nGP4//8/0/cfP5n+/f/P9B+OGeDsf2h8GPsfFrX//zPgMgcAvaBH0sQHj90AAAAASUVORK5CYII= + + + 6 + TITLE_BACKGROUND_LEFT + 2 + + + + 6 + TITLE_BACKGROUND_WIDTH + 197 + + + + 6 + TITLE_BORDERCOLOR + 7630959 + + + + 6 + TITLE_FONTCOLOR + 9126421 + + + + 6 + TOOLTITLE_BACKGROUND + 0 + iVBORw0KGgoAAAANSUhEUgAAAAEAAAATCAIAAADeafBOAAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8YQUAAAAgY0hSTQAAeiYAAICEAAD6AAAAgOgAAHUwAADqYAAAOpgAABdwnLpRPAAAABZJREFUGFdj+P//P8PV288pxkePHwcAalMxWBV6fiMAAAAASUVORK5CYII= + + + 6 + TOOLTITLE_FONTCOLOR + 9126421 + + + + 6 + ZOOMNAVBAR_BAR + 0 + Qk3+BAAAAAAAADYEAAAoAAAAAQAAADIAAAABAAgAAAAAAAAAAADEDgAAxA4AAAABAAAAAQAApp+b/6egnP+ooZ3/qaKe/6qjn/+rpKD/raWh/66mov+vp6P/sKik/7Gppf+yqqb/s6yo/7Stqf+1rqr/tq+r/7ewrP+4sa3/ubKu/7uzr/+8tLD/vbWx/762sv+/t7P/wLi0/8G5tf/Iwb3/2NPQ/9rV0//c19X/3trX/+Hc2v/j3tz/5eHf/+fj4f/p5eT/6+fm/+zp6P/u6+r/8O3s//Hv7f/y8O//9PLx//Xz8v/39fT/+Pb1//n39//6+fj/+/r5/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAAABAAAAAgAAAAMAAAAEAAAABQAAAAYAAAAHAAAACAAAAAkAAAAKAAAACwAAAAwAAAANAAAADgAAAA8AAAAQAAAAEQAAABIAAAATAAAAFAAAABUAAAAWAAAAFwAAABgAAAAZAAAAGgAAABsAAAAcAAAAHQAAAB4AAAAfAAAAIAAAACEAAAAiAAAAIwAAACQAAAAlAAAAJgAAACcAAAAoAAAAKQAAACoAAAArAAAALAAAAC0AAAAuAAAALwAAADAAAAAwAAAA + + + 6 + ZOOMNAVBAR_REFLECTEDSEPARATOR + 0 + iVBORw0KGgoAAAANSUhEUgAAADAAAAAwCAYAAABXAvmHAAAABGdBTUEAALGPC/xhBQAAABh0RVh0U29mdHdhcmUAUGFpbnQuTkVUIHYzLjIwWZ92UQAAAD9JREFUaEPt0IEAAAAAw6D5Ux/khVBhwIABAwYMGDBgwIABAwYMGDBgwIABAwYMGDBgwIABAwYMGDBgwMDLwAAkMAABCDVySwAAAABJRU5ErkJggg== + + + 6 + ZOOMNAVBAR_SEPARATOR + 0 + iVBORw0KGgoAAAANSUhEUgAAADAAAAAwCAYAAABXAvmHAAAABGdBTUEAALGPC/xhBQAAABh0RVh0U29mdHdhcmUAUGFpbnQuTkVUIHYzLjIwWZ92UQAAAD9JREFUaEPt0IEAAAAAw6D5Ux/khVBhwIABAwYMGDBgwIABAwYMGDBgwIABAwYMGDBgwIABAwYMGDBgwMDLwAAkMAABCDVySwAAAABJRU5ErkJggg== + + + 6 + ZOOMNAVBAR_STACKBUTTON + 0 + iVBORw0KGgoAAAANSUhEUgAAAMAAAAAcCAYAAAA3ILBTAAABF0lEQVR4nO3cMW7CQBRF0WuU1kUovAHatNn/CuiyCyJKOnAKG8YQg02BjP6/R0LC43kSxTw0jGRASqy6uW6A9ci4FMEJ2AH788BwoX8Dm8FYy/0izLln3vyS+UfXP/2LVT/YcL34pagq4AuooRTAbY8yqYBPKAVw8SubCkoBpJQ+Bu/bkftjY8/cM29+yfzk3GEBbrdBS/+KN2/+FadAV9wCKTULoNQsgFKzAErNAig1j0HNR85PzvUY1HzU/Jy5boGUmwVQahZAqVkApWYBlJrHoOYj5yfnegxqPmp+ztzLFuh0b4IUVAulALvzgJTAEfiFUoA93d9EWAJFdwS2wAH+741quqflfUheEbV03/yHpT+I9Bb+AD0fBdMuQEabAAAAAElFTkSuQmCC + + \ No newline at end of file diff --git a/utile/ctl32/buttons.vc2 b/utile/ctl32/buttons.vc2 new file mode 100644 index 0000000..d9f6923 --- /dev/null +++ b/utile/ctl32/buttons.vc2 @@ -0,0 +1,295 @@ +*-------------------------------------------------------------------------------------------------------------------------------------------------------- +* (EN) AUTOGENERATED - ATTENTION!! - NOT INTENDED FOR EXECUTION!! USE ONLY FOR MERGING CHANGES AND STORING WITH SCM TOOLS!! +*-------------------------------------------------------------------------------------------------------------------------------------------------------- +*< FOXBIN2PRG: Version="1.21" SourceFile="buttons.vcx" CPID="1252" /> (Solo para binarios VFP 9 / Only for VFP 9 binaries) +* +* +DEFINE CLASS button AS container + *< CLASSDATA: Baseclass="container" Timestamp="" Scale="Pixels" Uniqueid="" /> + + *-- OBJECTDATA items order determines ZOrder / El orden de los items OBJECTDATA determina el ZOrder + *< OBJECTDATA: ObjPath="imgBackgroundLeft" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="imgBackgroundMiddle" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="imgBackgroundRight" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="cmdFocus" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="shpMouseHandler" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="imgIcon" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="lblCaption" UniqueID="" Timestamp="" /> + + * + *m: changetheme && Occurs when theme change. + *m: initthemedcontrol + *m: setimages && Internal to the class. + *p: custombuilder + *p: imgleftfocused + *p: imgleftnotfocused + *p: imgmiddlefocused + *p: imgmiddlenotfocused + *p: imgrightfocused + *p: imgrightnotfocused + *p: initialised + *p: lblfocusedcolor + *p: lblnotfocusedcolor + *p: type && Specify the button type: 0 - Normal or 1 - Hot Tracking. + *p: version + *p: _memberdata && XML Metadata for customizable properties + * + + HIDDEN imgleftfocused,imgleftnotfocused,imgmiddlefocused,imgmiddlenotfocused,imgrightfocused,imgrightnotfocused,initialised,lblfocusedcolor,lblnotfocusedcolor + PROTECTED Init,Resize + * + BackStyle = 0 + BorderWidth = 0 + custombuilder = Double click here to open Builder + Height = 32 + imgleftfocused = ("") + imgleftnotfocused = ="" + imgmiddlefocused = ="" + imgmiddlenotfocused = ("") + imgrightfocused = ="" + imgrightnotfocused = ="" + initialised = .F. + lblfocusedcolor = 0 + lblnotfocusedcolor = 0 + Name = "button" + type = 0 + version = 3.5.0 + Width = 160 + _memberdata = + + + + + + + + + + + + + + + + + + * + + ADD OBJECT 'cmdFocus' AS commandbutton WITH ; + Caption = "", ; + Left = 0, ; + Name = "cmdFocus", ; + Style = 1, ; + TabIndex = 1, ; + Top = -20 + *< END OBJECT: BaseClass="commandbutton" /> + + ADD OBJECT 'imgBackgroundLeft' AS image WITH ; + BackStyle = 0, ; + Left = 0, ; + Name = "imgBackgroundLeft", ; + Top = -20 + *< END OBJECT: BaseClass="image" /> + + ADD OBJECT 'imgBackgroundMiddle' AS image WITH ; + BackStyle = 0, ; + Left = 0, ; + Name = "imgBackgroundMiddle", ; + Top = -20 + *< END OBJECT: BaseClass="image" /> + + ADD OBJECT 'imgBackgroundRight' AS image WITH ; + BackStyle = 0, ; + Left = 0, ; + Name = "imgBackgroundRight", ; + Top = -20 + *< END OBJECT: BaseClass="image" /> + + ADD OBJECT 'imgIcon' AS image WITH ; + BackStyle = 0, ; + Height = 24, ; + Left = 3, ; + Name = "imgIcon", ; + Top = 4, ; + Width = 24 + *< END OBJECT: BaseClass="image" /> + + ADD OBJECT 'lblCaption' AS label WITH ; + BackStyle = 0, ; + Caption = "Caption", ; + FontBold = .T., ; + FontSize = 8, ; + Height = 16, ; + Left = 31, ; + Name = "lblCaption", ; + TabIndex = 2, ; + Top = 8, ; + Width = 132 + *< END OBJECT: BaseClass="label" /> + + ADD OBJECT 'shpMouseHandler' AS shape WITH ; + BackStyle = 0, ; + BorderStyle = 0, ; + Left = 0, ; + Name = "shpMouseHandler", ; + Top = -20 + *< END OBJECT: BaseClass="shape" /> + + PROCEDURE changetheme && Occurs when theme change. + With _Screen.ThemesManager + If This.Type==0 + This.ImgLeftFocused = .GetMember("Button.Left.Focused.Picture") + This.ImgMiddleFocused = .GetMember("Button.Middle.Focused.Picture") + This.ImgRightFocused = .GetMember("Button.Right.Focused.Picture") + This.ImgLeftNotFocused = .GetMember("Button.Left.NotFocused.Picture") + This.ImgMiddleNotFocused = .GetMember("Button.Middle.NotFocused.Picture") + This.ImgRightNotFocused = .GetMember("Button.Right.NotFocused.Picture") + Else + This.imgBackgroundLeft.Picture = .GetMember("Button.Left.HotTracking.Picture") + This.imgBackgroundMiddle.Picture = .GetMember("Button.Middle.HotTracking.Picture") + This.imgBackgroundRight.Picture = .GetMember("Button.Right.HotTracking.Picture") + Endif + This.LblFocusedColor = .GetMember("Button.Focused.FontColor") + This.LblNotFocusedColor = .GetMember("Button.NotFocused.FontColor") + This.SetImages(.F.) + Endwith + ENDPROC + + PROTECTED PROCEDURE Init + Thisform.ShowTips = .T. + With This + .Initialised = .T. + .Resize() + * + * Reorder objects + .imgBackgroundMiddle.ZOrder(0) + .imgBackgroundLeft.ZOrder(0) + .imgBackgroundRight.ZOrder(0) + .imgIcon.ZOrder(0) + .lblCaption.ZOrder(0) + .cmdFocus.Caption = This.lblCaption.Caption + .cmdFocus.ZOrder(0) + .shpMouseHandler.ZOrder(0) + * + .InitThemedControl() + Endwith + ENDPROC + + HIDDEN PROCEDURE initthemedcontrol + If Not Vartype(_Screen.ThemesManager)=="O" + _Screen.Newobject("ThemesManager","ThemesManager","ThemedControls.vcx") + Endif + This.ChangeTheme() + ENDPROC + + PROTECTED PROCEDURE Resize + If This.Initialised + With This.imgBackgroundLeft + .Height = This.Height + .Left = 0 + .Top = 0 + .Width = 2 + Endwith + * + With This.imgBackgroundMiddle + .Stretch = 2 + .Height = This.Height + .Left = 2 + .Top = 0 + .Width = This.Width - 4 + Endwith + * + With This.imgBackgroundRight + .Height = This.Height + .Left = This.Width - 2 + .Top = 0 + .Width = 2 + Endwith + * + With This.cmdFocus + .Height = This.Height - 6 + .Left = 3 + .Top = 3 + .Width = This.Width - 6 + Endwith + * + With This.shpMouseHandler + .Height = This.Height + .Left = 0 + .Top = 0 + .Width = This.Width + Endwith + * + With This.imgIcon + .Height = 24 + .Left = 3 + .Top = 4 + .Width = 24 + Endwith + * + With This.lblCaption + .Height = 16 + .Left = 31 + .Top = 8 + .Width = This.Width - 34 + Endwith + Endif + ENDPROC + + PROCEDURE setimages && Internal to the class. + Lparameters llFocus + With This + If This.Type==0 + If llFocus + .imgBackgroundLeft.Picture = .ImgLeftFocused + .imgBackgroundMiddle.Picture = .ImgMiddleFocused + .imgBackgroundRight.Picture = .ImgRightFocused + Else + .imgBackgroundLeft.Picture = .ImgLeftNotFocused + .imgBackgroundMiddle.Picture = .ImgMiddleNotFocused + .imgBackgroundRight.Picture = .ImgRightNotFocused + Endif + Else + Store llFocus To ; + .imgBackgroundLeft.Visible, ; + .imgBackgroundMiddle.Visible, ; + .imgBackgroundRight.Visible + Endif + If llFocus + .lblCaption.ForeColor = .LblFocusedColor + Else + .lblCaption.ForeColor = .LblNotFocusedColor + Endif + .cmdFocus.Visible = .F. + .cmdFocus.Visible = .T. + Endwith + ENDPROC + + PROCEDURE cmdFocus.Click + This.Parent.Click() + ENDPROC + + PROCEDURE cmdFocus.KeyPress + Lparameters nKeyCode, nShiftAltCtrl + If nKeyCode==13 + Nodefault + This.Parent.Click() + Endif + ENDPROC + + PROCEDURE shpMouseHandler.Click + This.Parent.cmdFocus.SetFocus() + This.Parent.Click() + ENDPROC + + PROCEDURE shpMouseHandler.MouseEnter + Lparameters nButton, nShift, nXCoord, nYCoord + This.Parent.SetImages(.T.) + ENDPROC + + PROCEDURE shpMouseHandler.MouseLeave + Lparameters nButton, nShift, nXCoord, nYCoord + This.Parent.SetImages(.F.) + ENDPROC + +ENDDEFINE diff --git a/utile/ctl32/ctl32.h b/utile/ctl32/ctl32.h new file mode 100644 index 0000000..fccdbbc --- /dev/null +++ b/utile/ctl32/ctl32.h @@ -0,0 +1,4557 @@ +******************************************************************************** +*!* ctl32.h include file for ctl32 classes +*!* +*!* This file has 4 parts: +*!* 1: Custom defines +*!* 2: Windows API defines +*!* 3: Defines from Windows SDK vsstyle.h uxtheme.h +*!* 4: A subset of defines from foxpro.h +******************************************************************************** + +******************************************************************************** +*!* CTL CUSTOM +******************************************************************************** +*!* 20061004 Replaced the CTL prefix with CON (Constant) to avoid conflict with +*!* Win API constants that start also with CTL_ + +#Define TRUE .T. +#Define FALSE .F. + +#Define CR chr(0xd) +#Define LF chr(0xa) +#Define CRLF chr(0xd)+chr(0xa) +#Define NULA chr(0x0) +#Define NULW chr(0x0)+chr(0x0) +#Define NULCHAR chr(0x0) +#Define TABCHAR chr(0x9) + +*!* Pemstatus Values +#Define CTLPEMSTATUS_CHANGED 0 +#Define CTLPEMSTATUS_READONLY 1 +#Define CTLPEMSTATUS_PROTECTED 2 +#Define CTLPEMSTATUS_TYPE 3 +#Define CTLPEMSTATUS_USERDEFINED 4 +#Define CTLPEMSTATUS_DEFINED 5 +#Define CTLPEMSTATUS_INHERITED 6 + +*!* TabOrientation Enum +#Define CTLTABORIENTATION_TOP 0 +#Define CTLTABORIENTATION_BOTTOM 1 +#Define CTLTABORIENTATION_LEFT 2 +#Define CTLTABORIENTATION_RIGHT 3 + +*!* Orientation Enum +#Define CTLORIENTATION_HORIZONTAL 0 +#Define CTLORIENTATION_VERTICAL 1 + +*!* TickStyle Enum +#Define CTLTICKSTYLE_NONE 0 +#Define CTLTICKSTYLE_TOPLEFT 1 +#Define CTLTICKSTYLE_BOTTOMRIGHT 2 +#Define CTLTICKSTYLE_BOTH 3 + +*!* Missing MousePointer constants in foxpro.h +#Define MOUSE_HAND 15 +#Define MOUSE_DN_ARROW 16 +#Define MOUSE_MGLASS 17 + +* This are used to clear certain style bits +#Define CON_BIT_WS_BORDER 23 +#Define CON_BIT_WS_EX_LAYOUTRTL 22 +#Define CON_BIT_WS_EX_STATICEDGE 17 +#Define CON_BIT_TTS_BALLOON 6 +#Define CON_BIT_TTS_CLOSE 7 +#Define CON_BIT_WS_VISIBLE 28 + +*!* BorderStyle +#Define CON_BS_NONE 0 +#Define CON_BS_FIXEDSINGLE 1 +#Define CON_BS_FIXEDDIALOG 2 +#Define CON_BS_SIZABLE 3 + +#Define CON_BTPOS_NONE 1 +#Define CON_BTPOS_LEFTTOP 1 +#Define CON_BTPOS_ACTIVECTRL 2 +#Define CON_BTPOS_CARET 3 +#Define CON_BTPOS_SYS1270 4 +#Define CON_BTPOS_CTRLREF 5 +#Define CON_BTPOS_MOUSE 6 + +#Define CON_BTSTYLE_BALLOON 1 +#Define CON_BTSTYLE_RECT 2 +#Define CON_BTSTYLE_NOBORDER 3 + +#Define CON_EFFECT_RAISED 0 +#Define CON_EFFECT_SUNKEN 1 +#Define CON_EFFECT_FLAT 2 + +#Define CON_FORMTYPE_DEFAULT 0 +#Define CON_FORMTYPE_TOPLEVEL 1 +#Define CON_FORMTYPE_SCREEN 2 + +*!* ObjToClient parameters +#Define CON_OBJTOCLI_TOP 1 +#Define CON_OBJTOCLI_LEFT 2 +#Define CON_OBJTOCLI_WIDTH 3 +#Define CON_OBJTOCLI_HEIGHT 4 + +*!* Alignment Values +#Define CON_ALIGN_MIDDLELEFT 0 +#Define CON_ALIGN_MIDDLERIGHT 1 +#Define CON_ALIGN_MIDDLECENTER 2 +#Define CON_ALIGN_AUTOMATIC 3 +#Define CON_ALIGN_TOPLEFT 4 +#Define CON_ALIGN_TOPRIGHT 5 +#Define CON_ALIGN_TOPCENTER 6 +#Define CON_ALIGN_BOTTOMLEFT 7 +#Define CON_ALIGN_BOTTOMRIGHT 8 +#Define CON_ALIGN_BOTTOMCENTER 9 + +*!* Pemstatus Values +#Define CON_PEMSTAT_CHANGED 0 +#Define CON_PEMSTAT_READONLY 1 +#Define CON_PEMSTAT_PROTECTED 2 +#Define CON_PEMSTAT_TYPE 3 +#Define CON_PEMSTAT_USERDEFINED 4 +#Define CON_PEMSTAT_DEFINED 5 +#Define CON_PEMSTAT_INHERITED 6 + +#Define CON_SBBORDER_HORIZONTAL 1 +#Define CON_SBBORDER_VERTICAL 2 +#Define CON_SBBORDER_SEPARATOR 3 + +*!* ShowWindow +#Define CON_SHOWWIN_INSCREEN 0 +#Define CON_SHOWWIN_INTOPLEVELFORM 1 +#Define CON_SHOWWIN_ASTOPLEVELFORM 2 + +#Define CON_STYLE_BALLOON 1 +#Define CON_STYLE_RECT 2 +#Define CON_STYLE_NOBORDER 3 + +*!* TabOrientation parameters +#Define CON_TABOR_TOP 0 +#Define CON_TABOR_BOTTOM 1 +#Define CON_TABOR_LEFT 2 +#Define CON_TABOR_RIGHT 3 + +*!* VFP VERSION() +#Define CON_VER_DATESERIAL 1 +#Define CON_VER_TYPE 2 +#Define CON_VER_LANG 3 +#Define CON_VER_CHAR 4 +#Define CON_VER_NUM 5 + +#Define CON_VER_TYPE_RUNTIME 0 +#Define CON_VER_TYPE_STANDARD 1 +#Define CON_VER_TYPE_PRO 2 + +#Define CON_VER_LANG_ENGLISH "00" +#Define CON_VER_LANG_RUSSSIAN "07" +#Define CON_VER_LANG_FRENCH "33" +#Define CON_VER_LANG_SPANISH "34" +#Define CON_VER_LANG_CZECH "39" +#Define CON_VER_LANG_GERMAN "48" +#Define CON_VER_LANG_KOREAN "55" +#Define CON_VER_LANG_SCHINESE "86" +#Define CON_VER_LANG_TCHINESE "88" + +*!* WindowType constants +#Define CON_WINTYPE_MODELESS 0 +#Define CON_WINTYPE_MODAL 1 +#Define CON_WINTYPE_READ 2 +#Define CON_WINTYPE_READMODAL 3 + +*!* These should be removed, not to be used, see NTDDI_x below +#Define OS_WIN95 400 +#Define OS_WIN98 410 +#Define OS_WINME 500 +#Define OS_WINNT4 400 +#Define OS_WIN2K 500 +#Define OS_WINXP 501 +#Define OS_WIN2K3 502 +#Define OS_WINVISTA 600 + +#Define CON_OS_WIN95 4000000 +#Define CON_OS_WIN98 4100000 +#Define CON_OS_WIN2K 5000000 +#Define CON_OS_WIN2KSP1 5000100 +#Define CON_OS_WIN2KSP2 5000200 +#Define CON_OS_WIN2KSP3 5000300 +#Define CON_OS_WIN2KSP4 5000400 +#Define CON_OS_WINXP 5010000 +#Define CON_OS_WINXPSP1 5010100 +#Define CON_OS_WINXPSP2 5010200 +#Define CON_OS_WS03 5020000 +#Define CON_OS_WS03SP1 5020100 +#Define CON_OS_WS03SP2 5020200 +#Define CON_OS_LONGHORN 6000000 +#Define CON_OS_WINVISTA 6000000 + +#Define VFP_MAX_STRING_SIZE 16777184 + +******************************************************************************** +*!* WINDOWS API +******************************************************************************** +#Define ANSI_CHARSET 0 +#Define ARABIC_CHARSET 178 +#Define BALTIC_CHARSET 186 + +#Define BIF_BROWSEFORCOMPUTER 0x1000 +#Define BIF_BROWSEFORPRINTER 0x2000 +#Define BIF_BROWSEINCLUDEFILES 0x4000 +#Define BIF_BROWSEINCLUDEURLS 0x80 +#Define BIF_DONTGOBELOWDOMAIN 0x2 +#Define BIF_EDITBOX 0x10 +#Define BIF_NEWDIALOGSTYLE 0x40 +#Define BIF_NONEWFOLDERBUTTON 0x0200 +#Define BIF_NOTRANSLATETARGETS 0x0400 +#Define BIF_RETURNFSANCESTORS 0x8 +#Define BIF_RETURNONLYFSDIRS 0x1 +#Define BIF_SHAREABLE 0x8000 +#Define BIF_STATUSTEXT 0x4 +#Define BIF_USENEWUI 0x40 +#Define BIF_VALIDATE 0x20 +#Define BIF_UAHINT 0x0100 + +*!* message from browser +#Define BFFM_INITIALIZED 1 +#Define BFFM_SELCHANGED 2 +#Define BFFM_VALIDATEFAILEDA 3 && lParam:szPath ret:1(cont),0(EndDialog) +#Define BFFM_VALIDATEFAILEDW 4 && lParam:wzPath ret:1(cont),0(EndDialog) +#Define BFFM_IUNKNOWN 5 && provides IUnknown to client. lParam: IUnknown* + +*!* messages to browser +#Define BFFM_SETSTATUSTEXTA (0x400 + 100) +#Define BFFM_ENABLEOK (0x400 + 101) +#Define BFFM_SETSELECTIONA (0x400 + 102) +#Define BFFM_SETSELECTIONW (0x400 + 103) +#Define BFFM_SETSTATUSTEXTW (0x400 + 104) +#Define BFFM_SETOKTEXT (0x400 + 105) && Unicode only +#Define BFFM_SETEXPANDED (0x400 + 106) && Unicode only + +#Define CAL_GREGORIAN 1 && Gregorian (localized) calendar +#Define CAL_GREGORIAN_US 2 && Gregorian (U.S.) calendar +#Define CAL_JAPAN 3 && Japanese Emperor Era calendar +#Define CAL_TAIWAN 4 && Taiwan calendar +#Define CAL_KOREA 5 && Korean Tangun Era calendar +#Define CAL_HIJRI 6 && Hijri (Arabic Lunar) calendar +#Define CAL_THAI 7 && Thai calendar +#Define CAL_HEBREW 8 && Hebrew (Lunar) calendar +#Define CAL_GREGORIAN_ME_FRENCH 9 && Gregorian Middle East French calendar +#Define CAL_GREGORIAN_ARABIC 10 && Gregorian Arabic calendar +#Define CAL_GREGORIAN_XLIT_ENGLISH 11 && Gregorian Transliterated English calendar +#Define CAL_GREGORIAN_XLIT_FRENCH 12 && Gregorian Transliterated French calendar +#Define CAL_UMALQURA 23 && UmAlQura Hijri (Arabic Lunar) calendar + +#Define CCHDEVICENAME 32 +#Define CCM_FIRST 0x2000 +#Define CCM_GETCOLORSCHEME 0x2003 +#Define CCM_GETDROPTARGET 0x2004 +#Define CCM_GETUNICODEFORMAT 0x2006 +#Define CCM_GETVERSION 0x2008 +#Define CCM_LAST 0x2200 +#Define CCM_SETBKCOLOR 0x2001 +#Define CCM_SETCOLORSCHEME 0x2002 +#Define CCM_SETNOTIFYWINDOW 0x2009 +#Define CCM_SETUNICODEFORMAT 0x2005 +#Define CCM_SETVERSION 0x2007 +#Define CCM_SETWINDOWTHEME 0x200B +#Define CCS_ADJUSTABLE 0x20 +#Define CCS_BOTTOM 0x3 +#Define CCS_LEFT 0x81 +#Define CCS_NODIVIDER 0x40 +#Define CCS_NOMOVEX 0x82 +#Define CCS_NOMOVEY 0x2 +#Define CCS_NOPARENTALIGN 0x8 +#Define CCS_NORESIZE 0x4 +#Define CCS_RIGHT 0x83 +#Define CCS_TOP 0x1 +#Define CCS_VERT 0x80 + +#Define CDDS_ITEM 0x10000 +#Define CDDS_ITEMPOSTERASE 0x10004 &&(CDDS_ITEM Or CDDS_POSTERASE) +#Define CDDS_ITEMPOSTPAINT 0x10002 &&(CDDS_ITEM Or CDDS_POSTPAINT) +#Define CDDS_ITEMPREERASE 0x10003 &&(CDDS_ITEM Or CDDS_PREERASE) +#Define CDDS_ITEMPREPAINT 0x10001 &&(CDDS_ITEM Or CDDS_PREPAINT) +#Define CDDS_MAPPART 0x5 +#Define CDDS_POSTERASE 0x4 +#Define CDDS_POSTPAINT 0x2 +#Define CDDS_PREERASE 0x3 +#Define CDDS_PREPAINT 0x1 +#Define CDDS_SUBITEM 0x20000 + +#Define CDERR_DIALOGFAILURE 0xFFFF +#Define CDERR_FINDRESFAILURE 0x6 +#Define CDERR_INITIALIZATION 0x2 +#Define CDERR_LOADRESFAILURE 0x7 +#Define CDERR_LOADSTRFAILURE 0x5 +#Define CDERR_LOCKRESFAILURE 0x8 +#Define CDERR_MEMALLOCFAILURE 0x9 +#Define CDERR_MEMLOCKFAILURE 0xA +#Define CDERR_NOHINSTANCE 0x4 +#Define CDERR_NOHOOK 0xB +#Define CDERR_NOTEMPLATE 0x3 +#Define CDERR_REGISTERMSGFAIL 0xC +#Define CDERR_STRUCTSIZE 0x1 + +#Define CDIS_CHECKED 0x8 +#Define CDIS_DEFAULT 0x20 +#Define CDIS_DISABLED 0x4 +#Define CDIS_FOCUS 0x10 +#Define CDIS_GRAYED 0x2 +#Define CDIS_HOT 0x40 +#Define CDIS_INDETERMINATE 0x100 +#Define CDIS_MARKED 0x80 +#Define CDIS_SELECTED 0x1 +#Define CDIS_SHOWKEYBOARDCUES 0x200 + +#Define CDIS_NEARHOT 0x0400 +#Define CDIS_OTHERSIDEHOT 0x0800 +#Define CDIS_DROPHILITED 0x1000 + +#Define CDM_FIRST (0x400+100) +#Define CDM_GETFILEPATH (0x400+100+0x1) +#Define CDM_GETFOLDERIDLIST (0x400+100+0x3) +#Define CDM_GETFOLDERPATH (0x400+100+0x2) +#Define CDM_GETSPEC (0x400+100+0x0) +#Define CDM_HIDECONTROL (0x400+100+0x5) +#Define CDM_LAST (0x400+200) +#Define CDM_SETCONTROLTEXT (0x400+100+0x4) +#Define CDM_SETDEFEXT (0x400+100+0x6) + +#Define CDN_FIRST (-601) +#Define CDN_FILEOK (-601-0x5) +#Define CDN_FOLDERCHANGE (-601-0x2) +#Define CDN_HELP (-601-0x4) +#Define CDN_INCLUDEITEM (-601-0x7) +#Define CDN_INITDONE (-601-0x0) +#Define CDN_LAST (-699) +#Define CDN_SELCHANGE (-601-0x1) +#Define CDN_SHAREVIOLATION (-601-0x3) +#Define CDN_TYPECHANGE (-601-0x6) + +#Define CDRF_DODEFAULT 0x0 +#Define CDRF_NEWFONT 0x2 +#Define CDRF_SKIPDEFAULT 0x4 +#Define CDRF_DOERASE 0x8 && draw the background +#Define CDRF_SKIPPOSTPAINT 0x100 && don't draw the focus rect +#Define CDRF_NOTIFYPOSTPAINT 0x10 +#Define CDRF_NOTIFYITEMDRAW 0x20 +#Define CDRF_NOTIFYSUBITEMDRAW 0x20 && flags are the same, we can distinguish by context +#Define CDRF_NOTIFYPOSTERASE 0x40 + +#Define CHINESEBIG5_CHARSET 136 +#Define CLIP_STROKE_PRECIS 2 +#Define CLR_DEFAULT 0xff000000 +#Define CLR_HILIGHT 0xff000000 +#Define CLR_INVALID 0xffff +#Define CLR_NONE 0xffffffff +#Define COLOR_3DDKSHADOW 21 +#Define COLOR_3DFACE 15 +#Define COLOR_3DHIGHLIGHT 20 +#Define COLOR_3DHILIGHT 20 +#Define COLOR_3DLIGHT 22 +#Define COLOR_3DSHADOW 16 +#Define COLOR_ACTIVEBORDER 10 +#Define COLOR_ACTIVECAPTION 2 +#Define COLOR_ADD 712 +#Define COLOR_ADJ_MAX 100 +#Define COLOR_ADJ_MIN -100 +#Define COLOR_APPWORKSPACE 12 +#Define COLOR_BACKGROUND 1 +#Define COLOR_BLUE 708 +#Define COLOR_BLUEACCEL 728 +#Define COLOR_BOX1 720 +#Define COLOR_BTNFACE 15 +#Define COLOR_BTNHIGHLIGHT 20 +#Define COLOR_BTNHILIGHT 20 +#Define COLOR_BTNSHADOW 16 +#Define COLOR_BTNTEXT 18 +#Define COLOR_CAPTIONTEXT 9 +#Define COLOR_CURRENT 709 +#Define COLOR_CUSTOM1 721 +#Define COLOR_DESKTOP 1 +#Define COLOR_ELEMENT 716 +#Define COLOR_GRADIENTACTIVECAPTION 27 +#Define COLOR_GRADIENTINACTIVECAPTION 28 +#Define COLOR_GRAYTEXT 17 +#Define COLOR_GREEN 707 +#Define COLOR_GREENACCEL 727 +#Define COLOR_HIGHLIGHT 13 +#Define COLOR_HIGHLIGHTTEXT 14 +#Define COLOR_HOTLIGHT 26 +#Define COLOR_HUE 703 +#Define COLOR_HUEACCEL 723 +#Define COLOR_HUESCROLL 700 +#Define COLOR_INACTIVEBORDER 11 +#Define COLOR_INACTIVECAPTION 3 +#Define COLOR_INACTIVECAPTIONTEXT 19 +#Define COLOR_INFOBK 24 +#Define COLOR_INFOTEXT 23 +#Define COLOR_LUM 705 +#Define COLOR_LUMACCEL 725 +#Define COLOR_LUMSCROLL 702 +#Define COLOR_MATCH_VERSION 0x200 +#Define COLOR_MENU 4 +#Define COLOR_MENUBAR 30 && The color used to highlight menu items when the menu appears as a flat menu +#Define COLOR_MENUHILIGHT 29 && The background color for the menu bar when menus appear as flat menus +#Define COLOR_MENUTEXT 7 +#Define COLOR_MIX 719 +#Define COLOR_NO_TRANSPARENT 0xffffffff +#Define COLOR_PALETTE 718 +#Define COLOR_RAINBOW 710 +#Define COLOR_RED 706 +#Define COLOR_REDACCEL 726 +#Define COLOR_SAMPLES 717 +#Define COLOR_SAT 704 +#Define COLOR_SATACCEL 724 +#Define COLOR_SATSCROLL 701 +#Define COLOR_SAVE 711 +#Define COLOR_SCHEMES 715 +#Define COLOR_SCROLLBAR 0 +#Define COLOR_SOLID 713 +#Define COLOR_SOLID_LEFT 730 +#Define COLOR_SOLID_RIGHT 731 +#Define COLOR_TUNE 714 +#Define COLOR_WINDOW 5 +#Define COLOR_WINDOWFRAME 6 +#Define COLOR_WINDOWTEXT 8 +#Define CREATE_ALWAYS 2 +#Define CREATE_NEW 1 + +#Define CS_VREDRAW 0x0001 +#Define CS_HREDRAW 0x0002 +#Define CS_DBLCLKS 0x0008 +#Define CS_OWNDC 0x0020 +#Define CS_CLASSDC 0x0040 +#Define CS_PARENTDC 0x0080 +#Define CS_NOCLOSE 0x0200 +#Define CS_SAVEBITS 0x0800 +#Define CS_BYTEALIGNCLIENT 0x1000 +#Define CS_BYTEALIGNWINDOW 0x2000 +#Define CS_GLOBALCLASS 0x4000 +#Define CS_IME 0x00010000 +#Define CS_DROPSHADOW 0x00020000 + +#Define CSIDL_ADMINTOOLS 0x0030 +#Define CSIDL_ALTSTARTUP 0x001D +#Define CSIDL_APPDATA 0x001A +#Define CSIDL_BITBUCKET 0x000A +#Define CSIDL_CDBURN_AREA 0x003B +#Define CSIDL_COMMON_ADMINTOOLS 0x002F +#Define CSIDL_COMMON_ALTSTARTUP 0x001E +#Define CSIDL_COMMON_APPDATA 0x0023 +#Define CSIDL_COMMON_DESKTOPDIRECTORY 0x0019 +#Define CSIDL_COMMON_DOCUMENTS 0x002E +#Define CSIDL_COMMON_FAVORITES 0x001F +#Define CSIDL_COMMON_MUSIC 0x0035 +#Define CSIDL_COMMON_OEM_LINKS 0x003A +#Define CSIDL_COMMON_PICTURES 0x0036 +#Define CSIDL_COMMON_PROGRAMS 0x0017 +#Define CSIDL_COMMON_STARTMENU 0x0016 +#Define CSIDL_COMMON_STARTUP 0x0018 +#Define CSIDL_COMMON_TEMPLATES 0x002D +#Define CSIDL_COMMON_VIDEO 0x0037 +#Define CSIDL_COMPUTERSNEARME 0x003D +#Define CSIDL_CONNECTIONS 0x0031 +#Define CSIDL_CONTROLS 0x0003 +#Define CSIDL_COOKIES 0x0021 +#Define CSIDL_DESKTOP 0x0000 +#Define CSIDL_DESKTOPDIRECTORY 0x0010 +#Define CSIDL_DRIVES 0x0011 +#Define CSIDL_FAVORITES 0x0006 +#Define CSIDL_FONTS 0x0014 +#Define CSIDL_HISTORY 0x0022 +#Define CSIDL_INTERNET 0x0001 +#Define CSIDL_INTERNET_CACHE 0x0020 +#Define CSIDL_LOCAL_APPDATA 0x001C +#Define CSIDL_MYDOCUMENTS 0x0005 +#Define CSIDL_MYMUSIC 0x000D +#Define CSIDL_MYPICTURES 0x0027 +#Define CSIDL_MYVIDEO 0x000E +#Define CSIDL_NETHOOD 0x0013 +#Define CSIDL_NETWORK 0x0012 +#Define CSIDL_PERSONAL 0x0005 +#Define CSIDL_PRINTERS 0x0004 +#Define CSIDL_PRINTHOOD 0x001B +#Define CSIDL_PROFILE 0x0028 +#Define CSIDL_PROGRAM_FILES 0x0026 +#Define CSIDL_PROGRAM_FILES_COMMON 0x002B +#Define CSIDL_PROGRAM_FILES_COMMONX86 0x002C +#Define CSIDL_PROGRAM_FILESX86 0x002A +#Define CSIDL_PROGRAMS 0x0002 +#Define CSIDL_RECENT 0x0008 +#Define CSIDL_RESOURCES 0x0038 +#Define CSIDL_RESOURCES_LOCALIZED 0x0039 +#Define CSIDL_SENDTO 0x0009 +#Define CSIDL_STARTMENU 0x000B +#Define CSIDL_STARTUP 0x0007 +#Define CSIDL_SYSTEM 0x0025 +#Define CSIDL_SYSTEMX86 0x0029 +#Define CSIDL_TEMPLATES 0x0015 +#Define CSIDL_WINDOWS 0x0024 + +#Define CSIDL_FLAG_CREATE 0x8000 && combine with CSIDL_ value to force folder creation in SHGetFolderPath() +#Define CSIDL_FLAG_DONT_UNEXPAND 0x2000 && combine with CSIDL_ value to avoid unexpanding environment variables +#Define CSIDL_FLAG_DONT_VERIFY 0x4000 && combine with CSIDL_ value to return an unverified folder path +#Define CSIDL_FLAG_NO_ALIAS 0x1000 && combine with CSIDL_ value to insure non-alias versions of the pidl +#Define CSIDL_FLAG_PER_USER_INIT 0x0800 && combine with CSIDL_ value to indicate per-user init (eg. upgrade) +#Define CSIDL_FLAG_MASK 0xFF00 && mask for all possible flag values + +#Define CW_USEDEFAULT 0x80000000 +#Define DATE_LONGDATE 0x2 +#Define DATE_LTRREADING 0x10 +#Define DATE_RTLREADING 0x20 +#Define DATE_SHORTDATE 0x1 +#Define DATE_USE_ALT_CALENDAR 0x4 +#Define DATE_YEARMONTH 0x8 + +#Define DATETIMEPICK_CLASSA "SysDateTimePick32" +#Define DATETIMEPICK_CLASSW "SysDateTimePick32" + +#Define DEFAULT_CHARSET 1 +#Define DEFAULT_GUI_FONT 17 +#Define DEFAULT_PITCH 0 +#Define DI_COMPAT 0x0004 +#Define DI_DEFAULTSIZE 0x0008 +#Define DI_IMAGE 0x0002 +#Define DI_MASK 0x0001 +#Define DI_NOMIRROR 0x0010 +#Define DI_NORMAL 0x0003 +#Define DIFFERENCE 11 +#Define DTBG_CLIPRECT 0x00000001 && rcClip has been specified +#Define DTBG_COMPUTINGREGION 0x00000010 && TRUE if calling to compute region +#Define DTBG_DRAWSOLID 0x00000002 && DEPRECATED: draw transparent/alpha images as solid +#Define DTBG_MIRRORDC 0x00000020 && assume the hdc is mirrorred and flip images as appropriate (currently only supported for bgtype=imagefile) +#Define DTBG_NOMIRROR 0x00000040 && don't mirror the output, overrides everything else +#Define DTBG_OMITBORDER 0x00000004 && don't draw border of part +#Define DTBG_OMITCONTENT 0x00000008 && don't draw content area of part +#Define DTBG_VALIDBITS Bitor(0x00000001,0x00000002,0x00000004,0x00000008,0x00000010,0x00000020,0x00000040) +#Define EASTEUROPE_CHARSET 238 +#Define EBWBS_DISABLED 3 +#Define EBWBS_FOCUSED 4 +#Define EBWBS_HOT 2 +#Define EBWBS_NORMAL 1 + +#Define EM_AUTOURLDETECT (0x400 + 91) +#Define EM_CANPASTE (0x400 + 50) +#Define EM_CANREDO (0x400 + 85) +#Define EM_CANUNDO 0xC6 +#Define EM_CHARFROMPOS 0xD7 +#Define EM_CONVPOSITION (0x400 + 108) +#Define EM_DISPLAYBAND (0x400 + 51) +#Define EM_EMPTYUNDOBUFFER 0xCD +#Define EM_EXGETSEL (0x400 + 52) +#Define EM_EXLIMITTEXT (0x400 + 53) +#Define EM_EXLINEFROMCHAR (0x400 + 54) +#Define EM_EXSETSEL (0x400 + 55) +#Define EM_FINDTEXT (0x400 + 56) +#Define EM_FINDTEXTEX (0x400 + 79) +#Define EM_FINDTEXTEXW (0x400 + 124) +#Define EM_FINDTEXTW (0x400 + 123) +#Define EM_FINDWORDBREAK (0x400 + 76) +#Define EM_FMTLINES 0xC8 +#Define EM_FORMATRANGE (0x400 + 57) +#Define EM_GETAUTOURLDETECT (0x400 + 92) +#Define EM_GETBIDIOPTIONS (0x400 + 201) +#Define EM_GETCHARFORMAT (0x400 + 58) +#Define EM_GETEDITSTYLE (0x400 + 205) +#Define EM_GETEVENTMASK (0x400 + 59) +#Define EM_GETFIRSTVISIBLELINE 0xCE +#Define EM_GETHANDLE 0xBD +#Define EM_GETIMECOLOR (0x400 + 105) +#Define EM_GETIMECOMPMODE (0x400 + 122) +#Define EM_GETIMEMODEBIAS (0x400 + 127) +#Define EM_GETIMEOPTIONS (0x400 + 107) +#Define EM_GETIMESTATUS 0xD9 +#Define EM_GETLANGOPTIONS (0x400 + 121) +#Define EM_GETLIMITTEXT (0x400 + 37) +#Define EM_GETLINE 0xC4 +#Define EM_GETLINECOUNT 0xBA +#Define EM_GETMARGINS 0xD4 +#Define EM_GETMODIFY 0xB8 +#Define EM_GETOLEINTERFACE (0x400 + 60) +#Define EM_GETOPTIONS (0x400 + 78) +#Define EM_GETPARAFORMAT (0x400 + 61) +#Define EM_GETPASSWORDCHAR 0xD2 +#Define EM_GETPUNCTUATION (0x400 + 101) +#Define EM_GETRECT 0xB2 +#Define EM_GETREDONAME (0x400 + 87) +#Define EM_GETSCROLLPOS (0x400 + 221) +#Define EM_GETSEL 0xB0 +#Define EM_GETSELTEXT (0x400 + 62) +#Define EM_GETTEXTEX (0x400 + 94) +#Define EM_GETTEXTLENGTHEX (0x400 + 95) +#Define EM_GETTEXTMODE (0x400 + 90) +#Define EM_GETTEXTRANGE (0x400 + 75) +#Define EM_GETTHUMB 0xBE +#Define EM_GETTYPOGRAPHYOPTIONS (0x400 + 203) +#Define EM_GETUNDONAME (0x400 + 86) +#Define EM_GETWORDBREAKPROC 0xD1 +#Define EM_GETWORDBREAKPROCEX (0x400 + 80) +#Define EM_GETWORDWRAPMODE (0x400 + 103) +#Define EM_GETZOOM (0x400 + 224) +#Define EM_HIDESELECTION (0x400 + 63) +#Define EM_LIMITTEXT 0xC5 +#Define EM_LINEFROMCHAR 0xC9 +#Define EM_LINEINDEX 0xBB +#Define EM_LINELENGTH 0xC1 +#Define EM_LINESCROLL 0xB6 +#Define EM_OUTLINE (0x400 + 220) +#Define EM_PASTESPECIAL (0x400 + 64) +#Define EM_POSFROMCHAR (0x400 + 38) +#Define EM_RECONVERSION (0x400 + 125) +#Define EM_REDO (0x400 + 84) +#Define EM_REPLACESEL 0xC2 +#Define EM_REQUESTRESIZE (0x400 + 65) +#Define EM_SCROLLCARET 0xB7 +#Define EM_SCROLL 0xB5 +#Define EM_SELECTIONTYPE (0x400 + 66) +#Define EM_SETBIDIOPTIONS (0x400 + 200) +#Define EM_SETBKGNDCOLOR (0x400 + 67) +#Define EM_SETCHARFORMAT (0x400 + 68) +#Define EM_SETCUEBANNER (0x1500 + 1) +#Define EM_SETEDITSTYLE (0x400 + 204) +#Define EM_SETEVENTMASK (0x400 + 69) +#Define EM_SETFONTSIZE (0x400 + 223) +#Define EM_SETHANDLE 0xBC +#Define EM_SETIMECOLOR (0x400 + 104) +#Define EM_SETIMEMODEBIAS (0x400 + 126) +#Define EM_SETIMEOPTIONS (0x400 + 106) +#Define EM_SETIMESTATUS 0xD8 +#Define EM_SETLANGOPTIONS (0x400 + 120) +#Define EM_SETLIMITTEXT 0xC5 +#Define EM_SETMARGINS 0xD3 +#Define EM_SETMODIFY 0xB9 +#Define EM_SETOLECALLBACK (0x400 + 70) +#Define EM_SETOPTIONS (0x400 + 77) +#Define EM_SETPALETTE (0x400 + 93) +#Define EM_SETPARAFORMAT (0x400 + 71) +#Define EM_SETPASSWORDCHAR 0xCC +#Define EM_SETPUNCTUATION (0x400 + 100) +#Define EM_SETREADONLY 0xCF +#Define EM_SETRECT 0xB3 +#Define EM_SETRECTNP 0xB4 +#Define EM_SETSCROLLPOS (0x400 + 222) +#Define EM_SETSEL0xB1 +#Define EM_SETTABSTOPS 0xCB +#Define EM_SETTARGETDEVICE (0x400 + 72) +#Define EM_SETTEXTEX (0x400 + 97) +#Define EM_SETTEXTMODE (0x400 + 89) +#Define EM_SETTYPOGRAPHYOPTIONS (0x400 + 202) +#Define EM_SETUNDOLIMIT (0x400 + 82) +#Define EM_SETWORDBREAKPROC 0xD0 +#Define EM_SETWORDBREAKPROCEX (0x400 + 81) +#Define EM_SETWORDWRAPMODE (0x400 + 102) +#Define EM_SETZOOM (0x400 + 225) +#Define EM_SHOWSCROLLBAR (0x400 + 96) +#Define EM_STOPGROUPTYPING (0x400 + 88) +#Define EM_STREAMIN (0x400 + 73) +#Define EM_STREAMOUT (0x400 + 74) +#Define EM_UNDO 0xC7 + + +#Define EP_BACKGROUND 3 +#Define EP_BACKGROUNDWITHBORDER 5 +#Define EP_CARET 2 +#Define EP_EDITBORDER_HSCROLL 7 +#Define EP_EDITBORDER_HVSCROLL 9 +#Define EP_EDITBORDER_NOSCROLL 6 +#Define EP_EDITBORDER_VSCROLL 8 +#Define EP_EDITTEXT 1 +#Define EP_PASSWORD 4 +#Define ERROR_ACCESS_DENIED 5 +#Define ERROR_CIRCULAR_DEPENDENCY 1059 +#Define ERROR_DATABASE_DOES_NOT_EXIST 1065 +#Define ERROR_DUPLICATE_SERVICE_NAME 1078 + +#Define ERROR_FILE_NOT_FOUND 2 + +#Define ERROR_INSUFFICIENT_BUFFER 122 +#Define ERROR_INTERNET_ASYNC_THREAD_FAILED 12047 +#Define ERROR_INTERNET_BAD_AUTO_PROXY_SCRIPT 12166 +#Define ERROR_INTERNET_BAD_OPTION_LENGTH 12010 +#Define ERROR_INTERNET_BAD_REGISTRY_PARAMETER 12022 +#Define ERROR_INTERNET_CANNOT_CONNECT 12029 +#Define ERROR_INTERNET_CHG_POST_IS_NON_SECURE 12042 +#Define ERROR_INTERNET_CLIENT_AUTH_CERT_NEEDED 12044 +#Define ERROR_INTERNET_CLIENT_AUTH_NOT_SETUP 12046 +#Define ERROR_INTERNET_CONNECTION_ABORTED 12030 +#Define ERROR_INTERNET_CONNECTION_RESET 12031 +#Define ERROR_INTERNET_DIALOG_PENDING 12049 +#Define ERROR_INTERNET_DISCONNECTED 12163 +#Define ERROR_INTERNET_EXTENDED_ERROR 12003 +#Define ERROR_INTERNET_FAILED_DUETOSECURITYCHECK 12171 +#Define ERROR_INTERNET_FORCE_RETRY 12032 +#Define ERROR_INTERNET_FORTEZZA_LOGIN_NEEDED 12054 +#Define ERROR_INTERNET_HANDLE_EXISTS 12036 +#Define ERROR_INTERNET_HTTP_TO_HTTPS_ON_REDIR 12039 +#Define ERROR_INTERNET_HTTPS_HTTP_SUBMIT_REDIR 12052 +#Define ERROR_INTERNET_HTTPS_TO_HTTP_ON_REDIR 12040 +#Define ERROR_INTERNET_INCORRECT_FORMAT 12027 +#Define ERROR_INTERNET_INCORRECT_HANDLE_STATE 12019 +#Define ERROR_INTERNET_INCORRECT_HANDLE_TYPE 12018 +#Define ERROR_INTERNET_INCORRECT_PASSWORD 12014 +#Define ERROR_INTERNET_INCORRECT_USER_NAME 12013 +#Define ERROR_INTERNET_INSERT_CDROM 12053 +#Define ERROR_INTERNET_INTERNAL_ERROR 12004 +#Define ERROR_INTERNET_INVALID_CA 12045 +#Define ERROR_INTERNET_INVALID_OPERATION 12016 +#Define ERROR_INTERNET_INVALID_OPTION 12009 +#Define ERROR_INTERNET_INVALID_PROXY_REQUEST 12033 +#Define ERROR_INTERNET_INVALID_URL 12005 +#Define ERROR_INTERNET_ITEM_NOT_FOUND 12028 +#Define ERROR_INTERNET_LOGIN_FAILURE 12015 +#Define ERROR_INTERNET_LOGIN_FAILURE_DISPLAY_ENTITY_BODY 12174 +#Define ERROR_INTERNET_MIXED_SECURITY 12041 +#Define ERROR_INTERNET_NAME_NOT_RESOLVED 12007 +#Define ERROR_INTERNET_NEED_MSN_SSPI_PKG 12173 +#Define ERROR_INTERNET_NEED_UI 12034 +#Define ERROR_INTERNET_NO_CALLBACK 12025 +#Define ERROR_INTERNET_NO_CONTEXT 12024 +#Define ERROR_INTERNET_NO_DIRECT_ACCESS 12023 +#Define ERROR_INTERNET_NOT_INITIALIZED 12172 +#Define ERROR_INTERNET_NOT_PROXY_REQUEST 12020 +#Define ERROR_INTERNET_OPERATION_CANCELLED 12017 +#Define ERROR_INTERNET_OPTION_NOT_SETTABLE 12011 +#Define ERROR_INTERNET_OUT_OF_HANDLES 12001 +#Define ERROR_INTERNET_POST_IS_NON_SECURE 12043 +#Define ERROR_INTERNET_PROTOCOL_NOT_FOUND 12008 +#Define ERROR_INTERNET_PROXY_SERVER_UNREACHABLE 12165 +#Define ERROR_INTERNET_REDIRECT_SCHEME_CHANGE 12048 +#Define ERROR_INTERNET_REGISTRY_VALUE_NOT_FOUND 12021 +#Define ERROR_INTERNET_REQUEST_PENDING 12026 +#Define ERROR_INTERNET_RETRY_DIALOG 12050 +#Define ERROR_INTERNET_SEC_CERT_CN_INVALID 12038 +#Define ERROR_INTERNET_SEC_CERT_DATE_INVALID 12037 +#Define ERROR_INTERNET_SEC_CERT_ERRORS 12055 +#Define ERROR_INTERNET_SEC_CERT_NO_REV 12056 +#Define ERROR_INTERNET_SEC_CERT_REV_FAILED 12057 +#Define ERROR_INTERNET_SEC_CERT_REVOKED 12170 +#Define ERROR_INTERNET_SEC_INVALID_CERT 12169 +#Define ERROR_INTERNET_SECURITY_CHANNEL_ERROR 12157 +#Define ERROR_INTERNET_SERVER_UNREACHABLE 12164 +#Define ERROR_INTERNET_SHUTDOWN 12012 +#Define ERROR_INTERNET_TCPIP_NOT_INSTALLED 12159 +#Define ERROR_INTERNET_TIMEOUT 12002 +#Define ERROR_INTERNET_UNABLE_TO_CACHE_FILE 12158 +#Define ERROR_INTERNET_UNABLE_TO_DOWNLOAD_SCRIPT 12167 +#Define ERROR_INTERNET_UNRECOGNIZED_SCHEME 12006 +#Define ERROR_INVALID_FUNCTION 1 +#Define ERROR_INVALID_HANDLE 6 +#Define ERROR_INVALID_NAME 123 +#Define ERROR_INVALID_PARAMETER 87 +#Define ERROR_INVALID_SERVICE_ACCOUNT 1057 +#Define ERROR_MORE_DATA 234 +#Define ERROR_NO_MORE_FILES 18 +#Define ERROR_NOT_SUPPORTED 0x50 +#Define ERROR_SERVICE_ALREADY_RUNNING 1056 +#Define ERROR_SERVICE_CANNOT_ACCEPT_CTRL 1061 +#Define ERROR_SERVICE_DATABASE_LOCKED 1055 +#Define ERROR_SERVICE_DEPENDENCY_DELETED 1075 +#Define ERROR_SERVICE_DEPENDENCY_FAIL 1068 +#Define ERROR_SERVICE_DISABLED 1058 +#Define ERROR_SERVICE_DOES_NOT_EXIST 1060 +#Define ERROR_SERVICE_EXISTS 1073 +#Define ERROR_SERVICE_EXISTS 1073 +#Define ERROR_SERVICE_IS_PAUSED 928 +#Define ERROR_SERVICE_LOGON_FAILED 1069 +#Define ERROR_SERVICE_MARKED_FOR_DELETE 1072 +#Define ERROR_SERVICE_NEVER_STARTED 1077 +#Define ERROR_SERVICE_NO_THREAD 1054 +#Define ERROR_SERVICE_NOT_ACTIVE 1062 +#Define ERROR_SERVICE_NOT_FOUND 1243 +#Define ERROR_SERVICE_NOT_IN_EXE 1083 +#Define ERROR_SERVICE_REQUEST_TIMEOUT 1053 +#Define ERROR_SERVICE_SPECIFIC_ERROR 1066 +#Define ERROR_SERVICE_START_HANG 1070 +#Define ERROR_SUCCESS 0 +#Define FILE_ADD_FILE 0x2 +#Define FILE_ADD_SUBDIRECTORY 0x4 +#Define FILE_ALL_ACCESS 0x1F01FF +#Define FILE_APPEND_DATA 0x4 +#Define FILE_ATTRIBUTE_ARCHIVE 32 +#Define FILE_ATTRIBUTE_COMPRESSED 2048 +#Define FILE_ATTRIBUTE_DEVICE 64 +#Define FILE_ATTRIBUTE_DIRECTORY 16 +#Define FILE_ATTRIBUTE_ENCRYPTED 16384 +#Define FILE_ATTRIBUTE_HIDDEN 2 +#Define FILE_ATTRIBUTE_NORMAL 128 +#Define FILE_ATTRIBUTE_NOT_CONTENT_INDEXED 8192 +#Define FILE_ATTRIBUTE_OFFLINE 4096 +#Define FILE_ATTRIBUTE_READONLY 1 +#Define FILE_ATTRIBUTE_REPARSE_POINT 1024 +#Define FILE_ATTRIBUTE_SPARSE_FILE 512 +#Define FILE_ATTRIBUTE_SYSTEM 4 +#Define FILE_ATTRIBUTE_TEMPORARY 256 +#Define FILE_ATTRIBUTE_VIRTUAL 131072 +#Define FILE_BEGIN 0 +#Define FILE_CREATE_PIPE_INSTANCE 0x4 +#Define FILE_CURRENT 1 +#Define FILE_DELETE_CHILD 0x40 +#Define FILE_END 2 +#Define FILE_EXECUTE 0x20 +#Define FILE_FLAG_BACKUP_SEMANTICS 0x2000000 +#Define FILE_FLAG_DELETE_ON_CLOSE 0x4000000 +#Define FILE_FLAG_NO_BUFFERING 0x20000000 +#Define FILE_FLAG_OPEN_NO_RECALL 0x100000 +#Define FILE_FLAG_OPEN_REPARSE_POINT 0x200000 +#Define FILE_FLAG_OVERLAPPED 0x40000000 +#Define FILE_FLAG_POSIX_SEMANTICS 0x1000000 +#Define FILE_FLAG_RANDOM_ACCESS 0x10000000 +#Define FILE_FLAG_SEQUENTIAL_SCAN 0x8000000 +#Define FILE_FLAG_WRITE_THROUGH 0x80000000 +#Define FILE_LIST_DIRECTORY 0x1 +#Define FILE_READ_ATTRIBUTES 0x80 +#Define FILE_READ_DATA 0x1 +#Define FILE_READ_EA 0x8 +#Define FILE_SHARE_DELETE 0x4 +#Define FILE_SHARE_READ 0x1 +#Define FILE_SHARE_WRITE 0x2 +#Define FILE_TRAVERSE 0x20 +#Define FILE_WRITE_ATTRIBUTES 0x100 +#Define FILE_WRITE_DATA 0x2 +#Define FILE_WRITE_EA 0x10 +#Define FLAGS_ERROR_UI_FILTER_FOR_ERRORS 0x1 +#Define FLAGS_ERROR_UI_FLAGS_CHANGE_OPTIONS 0x2 +#Define FLAGS_ERROR_UI_FLAGS_GENERATE_DATA 0x4 +#Define FLAGS_ERROR_UI_FLAGS_NO_UI 0x8 +#Define FLAGS_ERROR_UI_SERIALIZE_DIALOGS 0x10 + +#Define FNERR_BUFFERTOOSMALL 0x3003 +#Define FNERR_INVALIDFILENAME 0x3002 +#Define FNERR_SUBCLASSFAILURE 0x3001 + +#Define FOLDERID_AddNewPrograms 0h71d961debc5e024fa3a96c82895e5c04 +#Define FOLDERID_AdminTools 0h70f14e722da4ef4f9f26b60e846fba4f && CSIDL_ADMINTOOLS +#Define FOLDERID_AppUpdates 0h99ce05a327f52b498b1a7e76fa98d6e4 +#Define FOLDERID_CDBurning 0h10ab529e0df8df49acb84330f5687855 && CSIDL_CDBURN_AREA +#Define FOLDERID_ChangeRemovePrograms 0hac6672df749267488d553bd661de872d +#Define FOLDERID_CommonAdminTools 0h7d4e38d0c3ba97478f14cba229b392b5 && CSIDL_COMMON_ADMINTOOLS +#Define FOLDERID_CommonOEMLinks 0hd0e2bac1df103443bedd7aa20b227a9d && CSIDL_COMMON_OEM_LINKS +#Define FOLDERID_CommonPrograms 0h4ed43901fe6af24986903dafcae6ffb8 && CSIDL_COMMON_PROGRAMS +#Define FOLDERID_CommonStartMenu 0h195711a42ed61d49aa7ce74b8be3b067 && CSIDL_COMMON_STARTMENU +#Define FOLDERID_CommonStartup 0h35eaa582cdd9c5479629e15d2f714e6e && CSIDL_COMMON_STARTUP, CSIDL_COMMON_ALTSTARTUP +#Define FOLDERID_CommonTemplates 0he73742b9ac5747439151b08c6c32d1f7 && CSIDL_COMMON_TEMPLATES +#Define FOLDERID_ComputerFolder 0h7c83c00af8bb2a45850d79d08e667ca7 && CSIDL_DRIVES +#Define FOLDERID_ConflictFolder 0h45fbfe4b7d340640a5beac0cb0567192 +#Define FOLDERID_ConnectionsFolder 0h2bd90c6f972ed14588ffb0d186b8dedd && CSIDL_CONNECTIONS +#Define FOLDERID_Contacts 0h54487856cbc62b46816988e350acb882 +#Define FOLDERID_ControlPanelFolder 0heb4aa782b4ae5c46a014d097ee346d63 && CSIDL_CONTROLS +#Define FOLDERID_Cookies 0h5d760f2be9c07141908e08a611b84ff6 && CSIDL_COOKIES +#Define FOLDERID_Desktop 0h3accbfb42cdb4c42b0297fe99a87c641 && CSIDL_DESKTOP, CSIDL_DESKTOPDIRECTORY +#Define FOLDERID_Documents 0hd09ad3fd8f23af46adb46c85480369c7 && CSIDL_MYDOCUMENTS, CSIDL_PERSONAL +#Define FOLDERID_Downloads 0h90e24d373f126545916439c4925e467b +#Define FOLDERID_Favorites 0h61f77717ad688a4d87bd30b759fa33dd && CSIDL_FAVORITES, CSIDL_COMMON_FAVORITES +#Define FOLDERID_Fonts 0hb78c22fd11aee34a864c16f3910ab8fe && CSIDL_FONTS +#Define FOLDERID_Games 0h1a2cc5ca3db5dc4e92d76b2e8ac19434 +#Define FOLDERID_GameTasks 0h61e6fa54d84d874780b6090220c4b700 +#Define FOLDERID_History 0h3b8adcd984b72e43a7815a1130a75963 && CSIDL_HISTORY +#Define FOLDERID_InternetCache 0he8812435be335142ba856007caedcf9d && CSIDL_INTERNET_CACHE +#Define FOLDERID_InternetFolder 0h74789f4d0c4e0449967b40b0d20c3e4b && CSIDL_INTERNET +#Define FOLDERID_Links 0he0d5b9bfa9c64c40b2b2ae6db6af4968 +#Define FOLDERID_LocalAppData 0h8527b3f1ba6fcf4f9d557b8e7f157091 && CSIDL_LOCAL_APPDATA +#Define FOLDERID_LocalAppDataLow 0ha4a120a58017f64fbd18167343c5af16 +#Define FOLDERID_LocalizedResourcesDir 0h5e37002a4c22de49b8d1440df7ef3ddc && CSIDL_RESOURCES_LOCALIZED +#Define FOLDERID_Music 0h71d5d84b196dd348be97422220080e43 && CSIDL_MYMUSIC +#Define FOLDERID_NetHood 0h53bfabc57fe12141890086626fc2c973 && CSIDL_NETHOOD +#Define FOLDERID_NetworkFolder 0hc4ee0bd2a85c0549ae3bbf251ea09b53 && CSIDL_NETWORK, CSIDL_COMPUTERSNEARME +#Define FOLDERID_OriginalImages 0haac0362c1258874bbfd04cd0dfb19b39 +#Define FOLDERID_PhotoAlbums 0h90cfd26933fcb74f9a0cebb0f0fcb43c +#Define FOLDERID_Pictures 0h3081e2331e4e7646835a98395c3bc3bb && CSIDL_MYPICTURES +#Define FOLDERID_Playlists 0hc7c192de7f83694fa3bb86e631204a23 +#Define FOLDERID_PrintersFolder 0h2d4efc76add61945a66337bd56068185 && CSIDL_PRINTERS +#Define FOLDERID_PrintHood 0h8dbd7492d1cfc341b35eb13f55a758f4 && CSIDL_PRINTHOOD +#Define FOLDERID_Profile 0h8f856c5e220e60479afeea3317b67173 && CSIDL_PROFILE +#Define FOLDERID_ProgramData 0h825dab62c1fdc34da9dd070d1d495d97 && CSIDL_COMMON_APPDATA +#Define FOLDERID_ProgramFiles 0hb6635e90bfc14e49b29c65b732d3d21a && CSIDL_PROGRAM_FILES +#Define FOLDERID_ProgramFilesCommon 0h05edf1f76d9fa247aaae29d317c6f066 && CSIDL_PROGRAM_FILES_COMMON +#Define FOLDERID_ProgramFilesCommonX64 0ha7d565630df0e54587f60da56b6a4f7d +#Define FOLDERID_ProgramFilesCommonX86 0h244d97dec6d93e4dbf91f4455120b917 && CSIDL_PROGRAM_FILES_COMMONX86 +#Define FOLDERID_ProgramFilesX64 0h7793806df06a4b448957a3773f02200e +#Define FOLDERID_ProgramFilesX86 0hef405a7cfba0fc4b874ac0f2e0b9fa8e && CSIDL_PROGRAM_FILESX86 +#Define FOLDERID_Programs 0h775d7fa72b2ec344a6a2aba601054a51 && CSIDL_PROGRAMS +#Define FOLDERID_Public 0ha276dfdf2ac8634d906a5644ac457385 +#Define FOLDERID_PublicDesktop 0h0d34aac40ff26348afeff87ef2e6ba25 && CSIDL_COMMON_DESKTOPDIRECTORY +#Define FOLDERID_PublicDocuments 0haf2448ede4dca84581e2fc7965083634 && CSIDL_COMMON_DOCUMENTS +#Define FOLDERID_PublicDownloads 0h9b4c643db81f304f9b45f670235f79c0 +#Define FOLDERID_PublicGameTasks 0h3625bfdea8e1594cb6a2414586476aea +#Define FOLDERID_PublicMusic 0hb5fa143257979842bb6192a9deaa44ff && CSIDL_COMMON_MUSIC +#Define FOLDERID_PublicPictures 0h86fbebb607693c419af74fc2abf07cc5 && CSIDL_COMMON_PICTURES +#Define FOLDERID_PublicVideos 0h3a1800248561fb49a2d84a392a602ba3 && CSIDL_COMMON_VIDEO +#Define FOLDERID_QuickLaunch 0h21f0a452757ba9489f6b4b87a210bc8f +#Define FOLDERID_Recent 0h81c050aed2eb8a4386558a092e34987a && CSIDL_RECENT +#Define FOLDERID_RecordedTV 0h01e085bd2e111e43983b7b15ac09fff1 +#Define FOLDERID_RecycleBinFolder 0h464053b7cb3e184cbe4e64cd4cb7d6ac && CSIDL_BITBUCKET +#Define FOLDERID_ResourceDir 0h310cd18adb2a9642a8f7e4701232c972 && CSIDL_RESOURCES +#Define FOLDERID_RoamingAppData 0hdb85b63ef965f64ca03ae3ef65729f3d && CSIDL_APPDATA +#Define FOLDERID_SampleMusic 0h68c650b27df5e14ea63c290ee7d1aa1f +#Define FOLDERID_SamplePictures 0h400590c47923754c844b64e6faf8716b +#Define FOLDERID_SamplePlaylists 0hb369ca15ee30c149ace16b5ec372afb5 +#Define FOLDERID_SampleVideos 0h94ad9e85852ead48a71a0969cb56a6cd +#Define FOLDERID_SavedGames 0hff325c4c9dbbb043b5b42d72e54eaaa4 +#Define FOLDERID_SavedSearches 0h043a1d7dbbde154195cf2f29da2920da +#Define FOLDERID_SEARCH_CSC 0h46e432eeca31ba4a814fa5ebd2fd6d5e +#Define FOLDERID_SEARCH_MAPI 0h180eec989820444d864466979315a281 +#Define FOLDERID_SearchHome 0hd1370319cab82141a6396d472d16972a +#Define FOLDERID_SendTo 0h6c038389c0274b408f08102d10dcfd74 && CSIDL_SENDTO +#Define FOLDERID_SidebarDefaultParts 0h546e397bc59e0043be0a2482ebae1a26 +#Define FOLDERID_SidebarParts 0h2e365da7fc50b74fac2ca8beaa314493 +#Define FOLDERID_StartMenu 0hc3535b6248abc14eba1fa1ef4146fc19 && CSIDL_STARTMENU +#Define FOLDERID_Startup 0hbb207db96af4974cba105e3608430854 +#Define FOLDERID_SyncManagerFolder 0hf88b66434ec1b24997c9747784d784b7 +#Define FOLDERID_SyncResultsFolder 0h439a9a2844be5740a41b587a76d7e7f9 +#Define FOLDERID_SyncSetupFolder 0h3841210fd3b1904abba927cbc0c5389a +#Define FOLDERID_System 0h774ec11ae7025d4eb7442eb1ae5198b7 && CSIDL_SYSTEM +#Define FOLDERID_SystemX86 0hb03152d6f1b25748a4cea8e7c6ea7d27 && CSIDL_SYSTEMX86 +#Define FOLDERID_Templates 0he89332a64e66db48a079df759e0509f7 && CSIDL_TEMPLATES +#Define FOLDERID_TreeProperties 0had49375b9fb4c14983eb15370fbd4882 +#Define FOLDERID_UserProfiles 0h72d262070ac5b04ba382697dcd729b80 +#Define FOLDERID_UsersFiles 0h7c0fcef30149cc4a8648d5d44b04ef8f +#Define FOLDERID_Videos 0h1d9b9818b5995b45841cab7c74e4ddfc && CSIDL_MYVIDEO +#Define FOLDERID_Windows 0h04f48bf3431df242930567de0b28fc23 && CSIDL_WINDOWS + +#Define FORMAT_MESSAGE_ALLOCATE_BUFFER 0x100 +#Define FORMAT_MESSAGE_ARGUMENT_ARRAY 0x2000 +#Define FORMAT_MESSAGE_FROM_HMODULE 0x800 +#Define FORMAT_MESSAGE_FROM_STRING 0x400 +#Define FORMAT_MESSAGE_FROM_SYSTEM 0x1000 +#Define FORMAT_MESSAGE_IGNORE_INSERTS 0x200 +#Define FORMAT_MESSAGE_MAX_WIDTH_MASK 0xFF +#Define FTP_TRANSFER_TYPE_ASCII 0x1 +#Define FTP_TRANSFER_TYPE_BINARY 0x2 +#Define FTP_TRANSFER_TYPE_UNKNOWN 0x0 +#Define FW_BLACK 900 +#Define FW_BOLD 700 +#Define FW_DEMIBOLD 600 +#Define FW_DONTCARE 0 +#Define FW_EXTRABOLD 800 +#Define FW_EXTRALIGHT 200 +#Define FW_HEAVY 900 +#Define FW_LIGHT 300 +#Define FW_MEDIUM 500 +#Define FW_NORMAL 400 +#Define FW_REGULAR 400 +#Define FW_SEMIBOLD 600 +#Define FW_THIN 100 +#Define FW_ULTRABOLD 800 +#Define FW_ULTRALIGHT 200 +#Define GB2312_CHARSET 134 +#Define GBF_COPY 0x00000002 && create a copy of the bitmap +#Define GBF_DIRECT 0x00000001 && direct dereferencing. +#Define GBF_VALIDBITS 0x00000003 + +#Define GCL_CBCLSEXTRA -20 +#Define GCL_CBWNDEXTRA -18 +#Define GCL_CONVERSION 0x1 +#Define GCL_HBRBACKGROUND -10 +#Define GCL_HCURSOR -12 +#Define GCL_HICON -14 +#Define GCL_HICONSM -34 +#Define GCL_HMODULE -16 +#Define GCL_MENUNAME -8 +#Define GCL_REVERSE_LENGTH 0x3 +#Define GCL_REVERSECONVERSION 0x2 +#Define GCL_STYLE -26 +#Define GCL_WNDPROC -24 + +#Define GDTR_MAX 0x2 +#Define GDTR_MIN 0x1 + +#Define GENERIC_ALL 0x10000000 +#Define GENERIC_EXECUTE 0x20000000 +#Define GENERIC_READ 0x80000000 +#Define GENERIC_WRITE 0x40000000 + +#Define GMR_DAYSTATE 1 +#Define GMR_VISIBLE 0 + +#Define GREEK_CHARSET 161 +#Define GUID_DEVCLASS_DISKDRIVE 0h67E9364D25E3CE11BFC108002BE10318 +#Define GW_CHILD 5 +#Define GW_ENABLEDPOPUP 6 +#Define GW_HWNDFIRST 0 +#Define GW_HWNDLAST 1 +#Define GW_HWNDNEXT 2 +#Define GW_HWNDPREV 3 +#Define GW_MAX 5 +#Define GW_OWNER 4 +#Define GWL_EXSTYLE -20 +#Define GWL_HINSTANCE -6 +#Define GWL_HWNDPARENT -8 +#Define GWL_ID -12 +#Define GWL_STYLE -16 +#Define GWL_USERDATA -21 +#Define GWL_WNDPROC -4 +#Define HANGUL_CHARSET 129 +#Define HBMMENU_CALLBACK -1 +#Define HBMMENU_MBAR_CLOSE 5 +#Define HBMMENU_MBAR_CLOSE_D 6 +#Define HBMMENU_MBAR_MINIMIZE 3 +#Define HBMMENU_MBAR_MINIMIZE_D 7 +#Define HBMMENU_MBAR_RESTORE 2 +#Define HBMMENU_POPUP_CLOSE 8 +#Define HBMMENU_POPUP_MAXIMIZE 10 +#Define HBMMENU_POPUP_MINIMIZE 11 +#Define HBMMENU_POPUP_RESTORE 9 +#Define HBMMENU_SYSTEM 1 +#Define HEAP_CREATE_ALIGN_16 0x10000 +#Define HEAP_CREATE_ENABLE_TRACING 0x20000 +#Define HEAP_DISABLE_COALESCE_ON_FREE 0x80 +#Define HEAP_FREE_CHECKING_ENABLED 0x40 +#Define HEAP_GENERATE_EXCEPTIONS 0x4 +#Define HEAP_GROWABLE 0x2 +#Define HEAP_MAXIMUM_TAG 0xfff +#Define HEAP_NO_SERIALIZE 0x1 +#Define HEAP_PSEUDO_TAG_FLAG 0x8000 +#Define HEAP_REALLOC_IN_PLACE_ONLY 0x10 +#Define HEAP_TAG_SHIFT 18 +#Define HEAP_TAIL_CHECKING_ENABLED 0x20 +#Define HEAP_ZERO_MEMORY 0x8 +#Define HEBREW_CHARSET 177 +#Define HFILE_ERROR -1 +#Define HKEY_CLASSES_ROOT 0x80000000 +#Define HKEY_CURRENT_CONFIG 0x80000005 +#Define HKEY_CURRENT_USER 0x80000001 +#Define HKEY_DYN_DATA 0x80000006 +#Define HKEY_LOCAL_MACHINE 0x80000002 +#Define HKEY_PERFORMANCE_DATA 0x80000004 +#Define HKEY_USERS 0x80000003 +#Define HTBORDER 18 +#Define HTBOTTOM 15 +#Define HTBOTTOMLEFT 16 +#Define HTBOTTOMRIGHT 17 +#Define HTCAPTION 2 +#Define HTCLIENT 1 +#Define HTCLOSE 20 +#Define HTERROR -2 +#Define HTGROWBOX 4 +#Define HTHELP 21 +#Define HTHSCROLL 6 +#Define HTLEFT 10 +#Define HTMAXBUTTON 9 +#Define HTMENU 5 +#Define HTMINBUTTON 8 +#Define HTNOWHERE 0 +#Define HTOBJECT 19 +#Define HTREDUCE 8 +#Define HTRIGHT 11 +#Define HTSIZE 4 +#Define HTSIZEFIRST 10 +#Define HTSIZELAST 17 +#Define HTSYSMENU 3 +#Define HTTOP 12 +#Define HTTOPLEFT 13 +#Define HTTOPRIGHT 14 +#Define HTTP_ADDREQ_FLAG_ADD 0x20000000 +#Define HTTP_ADDREQ_FLAG_ADD_IF_NEW 0x10000000 +#Define HTTP_ADDREQ_FLAG_COALESCE 0x40000000 +#Define HTTP_ADDREQ_FLAG_COALESCE_WITH_COMMA 0x40000000 +#Define HTTP_ADDREQ_FLAG_COALESCE_WITH_SEMICOLON 0x1000000 +#Define HTTP_ADDREQ_FLAG_REPLACE 0x80000000 +#Define HTTP_QUERY_ACCEPT 24 +#Define HTTP_QUERY_ACCEPT_CHARSET 25 +#Define HTTP_QUERY_ACCEPT_ENCODING 26 +#Define HTTP_QUERY_ACCEPT_LANGUAGE 27 +#Define HTTP_QUERY_ACCEPT_RANGES 42 +#Define HTTP_QUERY_AGE 48 +#Define HTTP_QUERY_ALLOW 7 +#Define HTTP_QUERY_AUTHORIZATION 28 +#Define HTTP_QUERY_CACHE_CONTROL 49 +#Define HTTP_QUERY_CONNECTION 23 +#Define HTTP_QUERY_CONTENT_BASE 50 +#Define HTTP_QUERY_CONTENT_DESCRIPTION 4 +#Define HTTP_QUERY_CONTENT_DISPOSITION 47 +#Define HTTP_QUERY_CONTENT_ENCODING 29 +#Define HTTP_QUERY_CONTENT_ID 3 +#Define HTTP_QUERY_CONTENT_LANGUAGE 6 +#Define HTTP_QUERY_CONTENT_LENGTH 5 +#Define HTTP_QUERY_CONTENT_LOCATION 51 +#Define HTTP_QUERY_CONTENT_MD5 52 +#Define HTTP_QUERY_CONTENT_RANGE 53 +#Define HTTP_QUERY_CONTENT_TRANSFER_ENCODING 2 +#Define HTTP_QUERY_CONTENT_TYPE 1 +#Define HTTP_QUERY_COOKIE 44 +#Define HTTP_QUERY_COST 15 +#Define HTTP_QUERY_CUSTOM 65535 +#Define HTTP_QUERY_DATE 9 +#Define HTTP_QUERY_DERIVED_FROM 14 +#Define HTTP_QUERY_ECHO_HEADERS 73 +#Define HTTP_QUERY_ECHO_HEADERS_CRLF 74 +#Define HTTP_QUERY_ECHO_REPLY 72 +#Define HTTP_QUERY_ECHO_REQUEST 71 +#Define HTTP_QUERY_ETAG 54 +#Define HTTP_QUERY_EXPECT 68 +#Define HTTP_QUERY_EXPIRES 10 +#Define HTTP_QUERY_FLAG_COALESCE 0x10000000 +#Define HTTP_QUERY_FLAG_NUMBER 0x20000000 +#Define HTTP_QUERY_FLAG_REQUEST_HEADERS 0x80000000 +#Define HTTP_QUERY_FLAG_SYSTEMTIME 0x40000000 +#Define HTTP_QUERY_FORWARDED 30 +#Define HTTP_QUERY_FROM 31 +#Define HTTP_QUERY_HOST 55 +#Define HTTP_QUERY_IF_MATCH 56 +#Define HTTP_QUERY_IF_MODIFIED_SINCE 32 +#Define HTTP_QUERY_IF_NONE_MATCH 57 +#Define HTTP_QUERY_IF_RANGE 58 +#Define HTTP_QUERY_IF_UNMODIFIED_SINCE 59 +#Define HTTP_QUERY_LAST_MODIFIED 11 +#Define HTTP_QUERY_LINK 16 +#Define HTTP_QUERY_LOCATION 33 +#Define HTTP_QUERY_MAX 74 +#Define HTTP_QUERY_MAX_FORWARDS 60 +#Define HTTP_QUERY_MESSAGE_ID 12 +#Define HTTP_QUERY_MIME_VERSION 0 +#Define HTTP_QUERY_ORIG_URI 34 +#Define HTTP_QUERY_PRAGMA 17 +#Define HTTP_QUERY_PROXY_AUTHENTICATE 41 +#Define HTTP_QUERY_PROXY_AUTHORIZATION 61 +#Define HTTP_QUERY_PROXY_CONNECTION 69 +#Define HTTP_QUERY_PUBLIC 8 +#Define HTTP_QUERY_RANGE 62 +#Define HTTP_QUERY_RAW_HEADERS 21 +#Define HTTP_QUERY_RAW_HEADERS_CRLF 22 +#Define HTTP_QUERY_REFERER 35 +#Define HTTP_QUERY_REFRESH 46 +#Define HTTP_QUERY_REQUEST_METHOD 45 +#Define HTTP_QUERY_RETRY_AFTER 36 +#Define HTTP_QUERY_SERVER 37 +#Define HTTP_QUERY_SET_COOKIE 43 +#Define HTTP_QUERY_STATUS_CODE 19 +#Define HTTP_QUERY_STATUS_TEXT 20 +#Define HTTP_QUERY_TITLE 38 +#Define HTTP_QUERY_TRANSFER_ENCODING 63 +#Define HTTP_QUERY_UNLESS_MODIFIED_SINCE 70 +#Define HTTP_QUERY_UPGRADE 64 +#Define HTTP_QUERY_URI 13 +#Define HTTP_QUERY_USER_AGENT 39 +#Define HTTP_QUERY_VARY 65 +#Define HTTP_QUERY_VERSION 18 +#Define HTTP_QUERY_VIA 66 +#Define HTTP_QUERY_WARNING 67 +#Define HTTP_QUERY_WWW_AUTHENTICATE 40 +#Define HTTP_STATUS_ACCEPTED 202 +#Define HTTP_STATUS_AMBIGUOUS 300 +#Define HTTP_STATUS_BAD_GATEWAY 502 +#Define HTTP_STATUS_BAD_METHOD 405 +#Define HTTP_STATUS_BAD_REQUEST 400 +#Define HTTP_STATUS_CONFLICT 409 +#Define HTTP_STATUS_CONTINUE 100 +#Define HTTP_STATUS_CREATED 201 +#Define HTTP_STATUS_DENIED 401 +#Define HTTP_STATUS_FIRST 100 +#Define HTTP_STATUS_FORBIDDEN 403 +#Define HTTP_STATUS_GATEWAY_TIMEOUT 504 +#Define HTTP_STATUS_GONE 410 +#Define HTTP_STATUS_LAST 505 +#Define HTTP_STATUS_LENGTH_REQUIRED 411 +#Define HTTP_STATUS_MOVED 301 +#Define HTTP_STATUS_NO_CONTENT 204 +#Define HTTP_STATUS_NONE_ACCEPTABLE 406 +#Define HTTP_STATUS_NOT_FOUND 404 +#Define HTTP_STATUS_NOT_MODIFIED 304 +#Define HTTP_STATUS_NOT_SUPPORTED 501 +#Define HTTP_STATUS_OK 200 +#Define HTTP_STATUS_PARTIAL 203 +#Define HTTP_STATUS_PARTIAL_CONTENT 206 +#Define HTTP_STATUS_PAYMENT_REQ 402 +#Define HTTP_STATUS_PRECOND_FAILED 412 +#Define HTTP_STATUS_PROXY_AUTH_REQ 407 +#Define HTTP_STATUS_REDIRECT 302 +#Define HTTP_STATUS_REDIRECT_KEEP_VERB 307 +#Define HTTP_STATUS_REDIRECT_METHOD 303 +#Define HTTP_STATUS_REQUEST_TIMEOUT 408 +#Define HTTP_STATUS_REQUEST_TOO_LARGE 413 +#Define HTTP_STATUS_RESET_CONTENT 205 +#Define HTTP_STATUS_RETRY_WITH 449 +#Define HTTP_STATUS_SERVER_ERROR 500 +#Define HTTP_STATUS_SERVICE_UNAVAIL 503 +#Define HTTP_STATUS_SWITCH_PROTOCOLS 101 +#Define HTTP_STATUS_UNSUPPORTED_MEDIA 415 +#Define HTTP_STATUS_URI_TOO_LONG 414 +#Define HTTP_STATUS_USE_PROXY 305 +#Define HTTP_STATUS_VERSION_NOT_SUP 505 +#Define HTTRANSPARENT -1 +#Define HWND_BOTTOM 1 +#Define HWND_BROADCAST 0xffff +#Define HWND_DESKTOP 0 +#Define HWND_MESSAGE -3 +#Define HWND_NOTOPMOST -2 +#Define HWND_TOP 0 +#Define HWND_TOPMOST -1 +#Define ICC_ANIMATE_CLASS 0x80 +#Define ICC_BAR_CLASSES 0x4 +#Define ICC_COOL_CLASSES 0x400 +#Define ICC_DATE_CLASSES 0x100 +#Define ICC_HOTKEY_CLASS 0x40 +#Define ICC_INTERNET_CLASSES 0x800 +#Define ICC_LINK_CLASS 0x8000 +#Define ICC_LISTVIEW_CLASSES 0x1 +#Define ICC_NATIVEFNTCON_CLASS 0x2000 +#Define ICC_PAGESCROLLER_CLASS 0x1000 +#Define ICC_PROGRESS_CLASS 0x20 +#Define ICC_STANDARD_CLASSES 0x4000 +#Define ICC_TAB_CLASSES 0x8 +#Define ICC_TREEVIEW_CLASSES 0x2 +#Define ICC_UPDOWN_CLASS 0x10 +#Define ICC_USEREX_CLASSES 0x200 +#Define ICC_WIN95_CLASSES 0xff +#Define ICON_BIG 1 +#Define ICON_SMALL 0 +#Define ICU_DECODE 0x10000000 + +#Define IDCANCEL 2 +#Define IDOK 1 + +#Define ILC_COLOR 0x0 +#Define ILC_COLOR16 0x10 +#Define ILC_COLOR24 0x18 +#Define ILC_COLOR32 0x20 +#Define ILC_COLOR4 0x4 +#Define ILC_COLOR8 0x8 +#Define ILC_COLORDDB 0xfe +#Define ILC_HIGHQUALITYSCALE 0x20000 && VISTA Imagelist should enable use of the high quality scaler. +#Define ILC_MASK 0x1 +#Define ILC_MIRROR 0x2000 && Mirror the icons contained, if the process is mirrored +#Define ILC_ORIGINALSIZE 0x10000 && VISTA Imagelist should accept smaller than set images and apply OriginalSize based on image added +#Define ILC_PERITEMMIRROR 0x8000 && Causes the mirroring code to mirror each item when inserting a set of images, verses the whole strip +#Define INTERNET_AUTODIAL_FAILIFSECURITYCHECK 4 +#Define INTERNET_DEFAULT_FTP_PORT 21 +#Define INTERNET_DEFAULT_GOPHER_PORT 70 +#Define INTERNET_DEFAULT_HTTP_PORT 80 +#Define INTERNET_DEFAULT_HTTPS_PORT 443 +#Define INTERNET_DEFAULT_SOCKS_PORT 1080 +#Define INTERNET_ERROR_BASE 12000 +#Define INTERNET_ERROR_LAST 12174 +#Define INTERNET_FLAG_ASYNC 0x10000000 +#Define INTERNET_FLAG_CACHE_ASYNC 0x00000080 +#Define INTERNET_FLAG_CACHE_IF_NET_FAIL 0x00010000 +#Define INTERNET_FLAG_DONT_CACHE 0x04000000 +#Define INTERNET_FLAG_EXISTING_CONNECT 0x20000000 +#Define INTERNET_FLAG_FORMS_SUBMIT 0x00000040 +#Define INTERNET_FLAG_FROM_CACHE 0x01000000 +#Define INTERNET_FLAG_HYPERLINK 0x00000400 +#Define INTERNET_FLAG_IGNORE_CERT_CN_INVALID 0x00001000 +#Define INTERNET_FLAG_IGNORE_CERT_DATE_INVALID 0x00002000 +#Define INTERNET_FLAG_IGNORE_REDIRECT_TO_HTTP 0x00008000 +#Define INTERNET_FLAG_IGNORE_REDIRECT_TO_HTTPS 0x00004000 +#Define INTERNET_FLAG_KEEP_CONNECTION 0x00400000 +#Define INTERNET_FLAG_MAKE_PERSISTENT 0x02000000 +#Define INTERNET_FLAG_MUST_CACHE_REQUEST 0x00000010 +#Define INTERNET_FLAG_NEED_FILE 0x00000010 +#Define INTERNET_FLAG_NO_AUTH 0x00040000 +#Define INTERNET_FLAG_NO_AUTO_REDIRECT 0x00200000 +#Define INTERNET_FLAG_NO_CACHE_WRITE 0x04000000 +#Define INTERNET_FLAG_NO_COOKIES 0x00080000 +#Define INTERNET_FLAG_NO_UI 0x00000200 +#Define INTERNET_FLAG_OFFLINE 0x01000000 +#Define INTERNET_FLAG_PASSIVE 0x08000000 +#Define INTERNET_FLAG_PRAGMA_NOCACHE 0x00000100 +#Define INTERNET_FLAG_RAW_DATA 0x40000000 +#Define INTERNET_FLAG_READ_PREFETCH 0x00100000 +#Define INTERNET_FLAG_RELOAD 0x80000000 +#Define INTERNET_FLAG_RESYNCHRONIZE 0x00000800 +#Define INTERNET_FLAG_SECURE 0x00800000 +#Define INTERNET_FLAG_TRANSFER_ASCII 0x1 +#Define INTERNET_FLAG_TRANSFER_BINARY 0x2 +#Define INTERNET_INVALID_PORT_NUMBER 0 +#Define INTERNET_MAX_HOST_NAME_LENGTH 256 +#Define INTERNET_MAX_PASSWORD_LENGTH 128 +#Define INTERNET_MAX_PATH_LENGTH 2048 +#Define INTERNET_MAX_PORT_NUMBER_LENGTH 5 +#Define INTERNET_MAX_SCHEME_LENGTH 32 +#Define INTERNET_MAX_USER_NAME_LENGTH 128 +#Define INTERNET_OPEN_TYPE_DIRECT 1 +#Define INTERNET_OPEN_TYPE_PRECONFIG 0 +#Define INTERNET_OPEN_TYPE_PRECONFIG_WITH_NO_AUTOPROXY 4 +#Define INTERNET_OPEN_TYPE_PROXY 3 +#Define INTERNET_OPTION_ASYNC 30 +#Define INTERNET_OPTION_ASYNC_ID 15 +#Define INTERNET_OPTION_ASYNC_PRIORITY 16 +#Define INTERNET_OPTION_BYPASS_EDITED_ENTRY 64 +#Define INTERNET_OPTION_CACHE_STREAM_HANDLE 27 +#Define INTERNET_OPTION_CACHE_TIMESTAMPS 69 +#Define INTERNET_OPTION_CALLBACK 1 +#Define INTERNET_OPTION_CALLBACK_FILTER 54 +#Define INTERNET_OPTION_CODEPAGE 68 +#Define INTERNET_OPTION_CONNECT_BACKOFF 4 +#Define INTERNET_OPTION_CONNECT_LIMIT 46 +#Define INTERNET_OPTION_CONNECT_RETRIES 3 +#Define INTERNET_OPTION_CONNECT_TIME 55 +#Define INTERNET_OPTION_CONNECT_TIMEOUT 2 +#Define INTERNET_OPTION_CONNECTED_STATE 50 +#Define INTERNET_OPTION_CONTEXT_VALUE 45 +#Define INTERNET_OPTION_CONTROL_RECEIVE_TIMEOUT 6 +#Define INTERNET_OPTION_CONTROL_SEND_TIMEOUT 5 +#Define INTERNET_OPTION_DATA_RECEIVE_TIMEOUT 8 +#Define INTERNET_OPTION_DATA_SEND_TIMEOUT 7 +#Define INTERNET_OPTION_DATAFILE_NAME 33 +#Define INTERNET_OPTION_DIGEST_AUTH_UNLOAD 76 +#Define INTERNET_OPTION_DISABLE_AUTODIAL 70 +#Define INTERNET_OPTION_DISCONNECTED_TIMEOUT 49 +#Define INTERNET_OPTION_END_BROWSER_SESSION 42 +#Define INTERNET_OPTION_ERROR_MASK 62 +#Define INTERNET_OPTION_EXTENDED_ERROR 24 +#Define INTERNET_OPTION_FROM_CACHE_TIMEOUT 63 +#Define INTERNET_OPTION_HANDLE_TYPE 9 +#Define INTERNET_OPTION_HTTP_VERSION 59 +#Define INTERNET_OPTION_IDLE_STATE 51 +#Define INTERNET_OPTION_IGNORE_OFFLINE 77 +#Define INTERNET_OPTION_KEEP_CONNECTION 22 +#Define INTERNET_OPTION_LISTEN_TIMEOUT 11 +#Define INTERNET_OPTION_MAX_CONNS_PER_1_0_SERVER 74 +#Define INTERNET_OPTION_MAX_CONNS_PER_SERVER 73 +#Define INTERNET_OPTION_OFFLINE_MODE 26 +#Define INTERNET_OPTION_OFFLINE_SEMANTICS 52 +#Define INTERNET_OPTION_PARENT_HANDLE 21 +#Define INTERNET_OPTION_PASSWORD 29 +#Define INTERNET_OPTION_PER_CONNECTION_OPTION 75 +#Define INTERNET_OPTION_POLICY 48 +#Define INTERNET_OPTION_PROXY 38 +#Define INTERNET_OPTION_PROXY_PASSWORD 44 +#Define INTERNET_OPTION_PROXY_USERNAME 43 +#Define INTERNET_OPTION_READ_BUFFER_SIZE 12 +#Define INTERNET_OPTION_RECEIVE_THROUGHPUT 57 +#Define INTERNET_OPTION_RECEIVE_TIMEOUT 6 +#Define INTERNET_OPTION_REFRESH 37 +#Define INTERNET_OPTION_REQUEST_FLAGS 23 +#Define INTERNET_OPTION_REQUEST_PRIORITY 58 +#Define INTERNET_OPTION_RESET_URLCACHE_SESSION 60 +#Define INTERNET_OPTION_SECONDARY_CACHE_KEY 53 +#Define INTERNET_OPTION_SECURITY_CERTIFICATE 35 +#Define INTERNET_OPTION_SECURITY_CERTIFICATE_STRUCT 32 +#Define INTERNET_OPTION_SECURITY_FLAGS 31 +#Define INTERNET_OPTION_SECURITY_KEY_BITNESS 36 +#Define INTERNET_OPTION_SECURITY_SELECT_CLIENT_CERT 47 +#Define INTERNET_OPTION_SEND_THROUGHPUT 56 +#Define INTERNET_OPTION_SEND_TIMEOUT 5 +#Define INTERNET_OPTION_SETTINGS_CHANGED 39 +#Define INTERNET_OPTION_URL 34 +#Define INTERNET_OPTION_USER_AGENT 41 +#Define INTERNET_OPTION_USERNAME 28 +#Define INTERNET_OPTION_VERSION 40 +#Define INTERNET_OPTION_WRITE_BUFFER_SIZE 13 +#Define INTERNET_SCHEME_DEFAULT 0 +#Define INTERNET_SCHEME_FILE 5 +#Define INTERNET_SCHEME_FIRST 1 +#Define INTERNET_SCHEME_FTP 1 +#Define INTERNET_SCHEME_GOPHER 2 +#Define INTERNET_SCHEME_HTTP 3 +#Define INTERNET_SCHEME_HTTPS 4 +#Define INTERNET_SCHEME_LAST 8 +#Define INTERNET_SCHEME_MAILTO 7 +#Define INTERNET_SCHEME_NEWS 6 +#Define INTERNET_SCHEME_PARTIAL -2 +#Define INTERNET_SCHEME_SOCKS 8 +#Define INTERNET_SCHEME_UNKNOWN -1 +#Define INTERNET_SERVICE_FTP 1 +#Define INTERNET_SERVICE_GOPHER 2 +#Define INTERNET_SERVICE_HTTP 3 +#Define INVALID_SET_FILE_POINTER -1 +#Define IRF_NO_WAIT 0x8 +#Define JOHAB_CHARSET 130 +#Define KEY_ALL_ACCESS 0xf003f +#Define KEY_CREATE_LINK 0x00020 +#Define KEY_CREATE_SUB_KEY 0x00004 +#Define KEY_ENUMERATE_SUB_KEYS 0x00008 +#Define KEY_EVENT 0x00001 +#Define KEY_EXECUTE 0x20019 +#Define KEY_NOTIFY 0x00010 +#Define KEY_QUERY_VALUE 0x00001 +#Define KEY_READ 0x20019 +#Define KEY_SET_VALUE 0x00002 +#Define KEY_WOW64_32KEY 0x0200 +#Define KEY_WRITE 0x20006 +#Define KEYEVENTF_KEYUP 0x2 + +*!* Make sure that the folder already exists or create it and apply security specified in folder definition +*!* If folder can not be created then function will return failure and no folder path (IDList) will be returned +*!* If folder is located on the network the function may take long time to execute +#Define KF_FLAG_CREATE 0x00008000 + +*!* If this flag is specified then the folder path is returned and no verification is performed +*!* Use this flag is you want to get folder's path (IDList) and do not need to verify folder's existence +*!* If this flag is NOT specified then Known Folder API will try to verify that the folder exists +*!* If folder does not exist or can not be accessed then function will return failure and no folder path (IDList) will be returned +*!* If folder is located on the network the function may take long time to execute +#Define KF_FLAG_DONT_VERIFY 0x00004000 + +*!* Set folder path as is and do not try to substitute parts of the path with environments variables. +*!* If flag is not specified then Known Folder will try to replace parts of the path with some +*!* known environment variables (%USERPROFILE%, %APPDATA% etc.) +#Define KF_FLAG_DONT_UNEXPAND 0x00002000 + +*!* Get file system based IDList if available. If the flag is not specified the Known Folder API +*!* will try to return aliased IDList by default. Example for FOLDERID_Documents - +*!* Aliased - [desktop]\[user]\[Documents] - exact location is determined by shell namespace layout and might change +*!* Non aliased - [desktop]\[computer]\[disk_c]\[users]\[user]\[Documents] - location is determined by folder location in the file system +#Define KF_FLAG_NO_ALIAS 0x00001000 + +*!* Initialize the folder with desktop.ini settings +*!* If folder can not be initialized then function will return failure and no folder path will be returned +*!* If folder is located on the network the function may take long time to execute +#Define KF_FLAG_INIT 0x00000800 + +*!* Get the default path, will also verify folder existence unless KF_FLAG_DONT_VERIFY is also specified +#Define KF_FLAG_DEFAULT_PATH 0x00000400 + +*!* Get the not-parent-relative default path. Only valid with KF_FLAG_DEFAULT_PATH +#Define KF_FLAG_NOT_PARENT_RELATIVE 0x00000200 + +*!* Build simple pidl +#Define KF_FLAG_SIMPLE_IDLIST 0x00000100 + +#Define LANG_AFRIKAANS 0x36 +#Define LANG_ALBANIAN 0x1c +#Define LANG_ARABIC 0x01 +#Define LANG_BASQUE 0x2d +#Define LANG_BELARUSIAN 0x23 +#Define LANG_BULGARIAN 0x02 +#Define LANG_CATALAN 0x03 +#Define LANG_CHINESE 0x04 +#Define LANG_CROATIAN 0x1a +#Define LANG_CZECH 0x05 +#Define LANG_DANISH 0x06 +#Define LANG_DUTCH 0x13 +#Define LANG_ENGLISH 0x09 +#Define LANG_ESTONIAN 0x25 +#Define LANG_FAEROESE 0x38 +#Define LANG_FARSI 0x29 +#Define LANG_FINNISH 0x0b +#Define LANG_FRENCH 0x0c +#Define LANG_GALICIAN 0x56 +#Define LANG_GERMAN 0x07 +#Define LANG_GREEK 0x08 +#Define LANG_HEBREW 0x0d +#Define LANG_HUNGARIAN 0x0e +#Define LANG_ICELANDIC 0x0f +#Define LANG_INDONESIAN 0x21 +#Define LANG_ITALIAN 0x10 +#Define LANG_JAPANESE 0x11 +#Define LANG_KOREAN 0x12 +#Define LANG_LATVIAN 0x26 +#Define LANG_LITHUANIAN 0x27 +#Define LANG_MALAY 0x3e +#Define LANG_NEUTRAL 0x00 +#Define LANG_NORWEGIAN 0x14 +#Define LANG_POLISH 0x15 +#Define LANG_PORTUGUESE 0x16 +#Define LANG_ROMANIAN 0x18 +#Define LANG_RUSSIAN 0x19 +#Define LANG_SERBIAN 0x1a +#Define LANG_SLOVAK 0x1b +#Define LANG_SLOVENIAN 0x24 +#Define LANG_SPANISH 0x0a +#Define LANG_SWEDISH 0x1d +#Define LANG_THAI 0x1e +#Define LANG_TURKISH 0x1f +#Define LANG_UKRAINIAN 0x22 +#Define LANG_VIETNAMESE 0x2a +#Define LF_FACESIZE 32 +#Define LOCALE_FONTSIGNATURE 0x58 +#Define LOCALE_ICALENDARTYPE 0x1009 +#Define LOCALE_ICENTURY 0x24 +#Define LOCALE_ICOUNTRY 0x5 +#Define LOCALE_ICURRDIGITS 0x19 +#Define LOCALE_ICURRENCY 0x1b +#Define LOCALE_IDATE 0x21 +#Define LOCALE_IDAYLZERO 0x26 +#Define LOCALE_IDEFAULTANSICODEPAGE 0x1004 +#Define LOCALE_IDEFAULTCODEPAGE 0xb +#Define LOCALE_IDEFAULTCOUNTRY 0xa +#Define LOCALE_IDEFAULTEBCDICCODEPAGE 0x1012 +#Define LOCALE_IDEFAULTLANGUAGE 0x9 +#Define LOCALE_IDEFAULTMACCODEPAGE 0x1011 +#Define LOCALE_IDIGITS 0x11 +#Define LOCALE_IDIGITSUBSTITUTION 0x1014 +#Define LOCALE_IFIRSTDAYOFWEEK 0x100c +#Define LOCALE_IFIRSTWEEKOFYEAR 0x100d +#Define LOCALE_IINTLCURRDIGITS 0x1a +#Define LOCALE_ILANGUAGE 0x1 +#Define LOCALE_ILDATE 0x22 +#Define LOCALE_ILZERO 0x12 +#Define LOCALE_IMEASURE 0xD +#Define LOCALE_IMONLZERO 0x27 +#Define LOCALE_INEGCURR 0x1C +#Define LOCALE_INEGNUMBER 0x1010 +#Define LOCALE_INEGSEPBYSPACE 0x57 +#Define LOCALE_INEGSIGNPOSN 0x53 +#Define LOCALE_INEGSYMPRECEDES 0x56 +#Define LOCALE_IOPTIONALCALENDAR 0x100B +#Define LOCALE_IPAPERSIZE 0x100A +#Define LOCALE_IPOSSEPBYSPACE 0x55 +#Define LOCALE_IPOSSIGNPOSN 0x52 +#Define LOCALE_IPOSSYMPRECEDES 0x54 +#Define LOCALE_ITIME 0x23 +#Define LOCALE_ITIMEMARKPOSN 0x1005 +#Define LOCALE_ITLZERO 0x25 +#Define LOCALE_NOUSEROVERRIDE 0x80000000 +#Define LOCALE_RETURN_NUMBER 0x20000000 +#Define LOCALE_S1159 0x28 +#Define LOCALE_S2359 0x29 +#Define LOCALE_SABBREVCTRYNAME 0x7 +#Define LOCALE_SABBREVDAYNAME1 0x31 +#Define LOCALE_SABBREVDAYNAME2 0x32 +#Define LOCALE_SABBREVDAYNAME3 0x33 +#Define LOCALE_SABBREVDAYNAME4 0x34 +#Define LOCALE_SABBREVDAYNAME5 0x35 +#Define LOCALE_SABBREVDAYNAME6 0x36 +#Define LOCALE_SABBREVDAYNAME7 0x37 +#Define LOCALE_SABBREVLANGNAME 0x3 +#Define LOCALE_SABBREVMONTHNAME1 0x44 +#Define LOCALE_SABBREVMONTHNAME10 0x4D +#Define LOCALE_SABBREVMONTHNAME11 0x4E +#Define LOCALE_SABBREVMONTHNAME12 0x4F +#Define LOCALE_SABBREVMONTHNAME13 0x100F +#Define LOCALE_SABBREVMONTHNAME2 0x45 +#Define LOCALE_SABBREVMONTHNAME3 0x46 +#Define LOCALE_SABBREVMONTHNAME4 0x47 +#Define LOCALE_SABBREVMONTHNAME5 0x48 +#Define LOCALE_SABBREVMONTHNAME6 0x49 +#Define LOCALE_SABBREVMONTHNAME7 0x4A +#Define LOCALE_SABBREVMONTHNAME8 0x4B +#Define LOCALE_SABBREVMONTHNAME9 0x4C +#Define LOCALE_SCOUNTRY 0x6 +#Define LOCALE_SCURRENCY 0x14 +#Define LOCALE_SDATE 0x1D +#Define LOCALE_SDAYNAME1 0x2A +#Define LOCALE_SDAYNAME2 0x2B +#Define LOCALE_SDAYNAME3 0x2C +#Define LOCALE_SDAYNAME4 0x2D +#Define LOCALE_SDAYNAME5 0x2E +#Define LOCALE_SDAYNAME6 0x2F +#Define LOCALE_SDAYNAME7 0x30 +#Define LOCALE_SDECIMAL 0xE +#Define LOCALE_SENGCOUNTRY 0x1002 +#Define LOCALE_SENGCURRNAME 0x1007 +#Define LOCALE_SENGLANGUAGE 0x1001 +#Define LOCALE_SGROUPING 0x10 +#Define LOCALE_SINTLSYMBOL 0x15 +#Define LOCALE_SISO3166CTRYNAME 0x5A +#Define LOCALE_SISO639LANGNAME 0x59 +#Define LOCALE_SLANGUAGE 0x2 +#Define LOCALE_SLIST 0xC +#Define LOCALE_SLONGDATE 0x20 +#Define LOCALE_SMONDECIMALSEP 0x16 +#Define LOCALE_SMONGROUPING 0x18 +#Define LOCALE_SMONTHNAME1 0x38 +#Define LOCALE_SMONTHNAME10 0x41 +#Define LOCALE_SMONTHNAME11 0x42 +#Define LOCALE_SMONTHNAME12 0x43 +#Define LOCALE_SMONTHNAME13 0x100E +#Define LOCALE_SMONTHNAME2 0x39 +#Define LOCALE_SMONTHNAME3 0x3A +#Define LOCALE_SMONTHNAME4 0x3B +#Define LOCALE_SMONTHNAME5 0x3C +#Define LOCALE_SMONTHNAME6 0x3D +#Define LOCALE_SMONTHNAME7 0x3E +#Define LOCALE_SMONTHNAME8 0x3F +#Define LOCALE_SMONTHNAME9 0x40 +#Define LOCALE_SMONTHOUSANDSEP 0x17 +#Define LOCALE_SNATIVECTRYNAME 0x8 +#Define LOCALE_SNATIVECURRNAME 0x1008 +#Define LOCALE_SNATIVEDIGITS 0x13 +#Define LOCALE_SNATIVELANGNAME 0x4 +#Define LOCALE_SNEGATIVESIGN 0x51 +#Define LOCALE_SPOSITIVESIGN 0x50 +#Define LOCALE_SSHORTDATE 0x1F +#Define LOCALE_SSORTNAME 0x1013 +#Define LOCALE_STHOUSAND 0xF +#Define LOCALE_STIME 0x1E +#Define LOCALE_STIMEFORMAT 0x1003 +#Define LOCALE_SYEARMONTH 0x1006 +#Define LOCALE_SYSTEM_DEFAULT 0x800 +#Define LOCALE_USE_CP_ACP 0x40000000 +#Define LOCALE_USER_DEFAULT 0x400 +#Define LOGPIXELSX 88 +#Define LOGPIXELSY 90 + +#Define LV_VIEW_ICON 0x0 +#Define LV_VIEW_DETAILS 0x1 +#Define LV_VIEW_SMALLICON 0x2 +#Define LV_VIEW_LIST 0x3 +#Define LV_VIEW_TILE 0x4 + +#Define MAC_CHARSET 77 +#Define MAX_PATH 260 +#Define MAXDWORD 0xFFFFFFFF +#Define MAXLONG 0x7FFFFFFF + +#Define MCHT_CALENDAR 0x00020000 +#Define MCHT_CALENDARBK 0x00020000 +#Define MCHT_CALENDARDATE 0x00020001 +#Define MCHT_CALENDARDATENEXT 0x01020001 +#Define MCHT_CALENDARDATEPREV 0x02020001 +#Define MCHT_CALENDARDAY 0x00020002 +#Define MCHT_CALENDARWEEKNUM 0x00020003 +#Define MCHT_NEXT 0x01000000 +#Define MCHT_NOWHERE 0x00000000 +#Define MCHT_PREV 0x02000000 +#Define MCHT_TITLE 0x00010000 +#Define MCHT_TITLEBK 0x00010000 +#Define MCHT_TITLEBTNNEXT 0x01010003 +#Define MCHT_TITLEBTNPREV 0x02010003 +#Define MCHT_TITLEMONTH 0x00010001 +#Define MCHT_TITLEYEAR 0x00010002 +#Define MCHT_TODAYLINK 0x00030000 + +#Define MCM_FIRST 0x1000 +#Define MCM_GETCALENDARBORDER 0x101F +#Define MCM_GETCALENDARCOUNT 0x1017 +#Define MCM_GETCALENDARGRIDINFO 0x1018 +#Define MCM_GETCALID (0x1000+27) +#Define MCM_GETCOLOR 0x100b +#Define MCM_GETCURRENTVIEW (0x1000+22) +#Define MCM_GETCURSEL 0x1001 +#Define MCM_GETFIRSTDAYOFWEEK 0x1010 +#Define MCM_GETMAXSELCOUNT 0x1003 +#Define MCM_GETMAXTODAYWIDTH 0x1015 +#Define MCM_GETMINREQRECT 0x1009 +#Define MCM_GETMONTHDELTA 0x1013 +#Define MCM_GETMONTHRANGE 0x1007 +#Define MCM_GETRANGE 0x1011 +#Define MCM_GETSELRANGE 0x1005 +#Define MCM_GETTODAY 0x100d +#Define MCM_GETUNICODEFORMAT 0x2006 +#Define MCM_HITTEST 0x100e +#Define MCM_SETCALENDARBORDER (0x1000+30) +#Define MCM_SETCALID (0x1000+28) +#Define MCM_SETCOLOR 0x100a +#Define MCM_SETCURRENTVIEW (0x1000+32) +#Define MCM_SETCURSEL 0x1002 +#Define MCM_SETDAYSTATE 0x1008 +#Define MCM_SETFIRSTDAYOFWEEK 0x100f +#Define MCM_SETMAXSELCOUNT 0x1004 +#Define MCM_SETMONTHDELTA 0x1014 +#Define MCM_SETRANGE 0x1012 +#Define MCM_SETSELRANGE 0x1006 +#Define MCM_SETTODAY 0x100c +#Define MCM_SETUNICODEFORMAT 0x2005 +#Define MCM_SIZERECTTOMIN (0x1000+29) +#Define MCN_FIRST (-750) +#Define MCN_GETDAYSTATE (-747) +#Define MCN_LAST (-759) +#Define MCN_SELCHANGE (-749) +#Define MCN_SELECT (-746) +#Define MCS_COMMAND_CONNECT 19 +#Define MCS_COMMAND_DISABLE 14 +#Define MCS_COMMAND_ENABLE 13 +#Define MCS_COMMAND_GET_CONFIG 16 +#Define MCS_COMMAND_REFRESH_STATUS 21 +#Define MCS_COMMAND_RENAME 20 +#Define MCS_COMMAND_SET_CONFIG 15 +#Define MCS_COMMAND_START 17 +#Define MCS_COMMAND_STOP 18 +#Define MCS_CREATE_CONFIGS_BY_DEFAULT 0x10 +#Define MCS_CREATE_ONE_PER_NETCARD 0x1 +#Define MCS_CREATE_PMODE_NOT_REQUIRED 0x100 +#Define MCS_DAYSTATE 0x1 +#Define MCS_MULTISELECT 0x2 +#Define MCS_NOTODAY 0x10 +#Define MCS_NOTODAYCIRCLE 0x8 +#Define MCS_WEEKNUMBERS 0x4 +#Define MCSC_BACKGROUND 0 +#Define MCSC_MONTHBK 4 +#Define MCSC_TEXT 1 +#Define MCSC_TITLEBK 2 +#Define MCSC_TITLETEXT 3 +#Define MCSC_TRAILINGTEXT 5 +#Define MF_APPEND 0x100 +#Define MF_BITMAP 0x4 +#Define MF_BYCOMMAND 0x0 +#Define MF_BYPOSITION 0x400 +#Define MF_CALLBACKS 0x8000000 +#Define MF_CHANGE 0x80 +#Define MF_CHECKED 0x8 +#Define MF_CONV 0x40000000 +#Define MF_DEFAULT 0x1000 +#Define MF_DELETE 0x200 +#Define MF_DISABLED 0x2 +#Define MF_DLL_NAME "Microsoft Picture Converter" +#Define MF_ENABLED 0x0 +#Define MF_END 0x80 +#Define MF_ERRORS 0x10000000 +#Define MF_FLAGS_CREATE_BUT_NO_SHOW_DISABLED 0x8 +#Define MF_FLAGS_EVEN_IF_NO_RESOURCE 0x1 +#Define MF_FLAGS_FILL_IN_UNKNOWN_RESOURCE 0x4 +#Define MF_FLAGS_NO_CREATE_IF_NO_RESOURCE 0x2 +#Define MF_FPCR_FUNC 0x25 +#Define MF_FPCR_FUNC_STR "mf_fpcr" +#Define MF_GRAYED 0x1 +#Define MF_HELP 0x4000 +#Define MF_HILITE 0x80 +#Define MF_HSZ_INFO 0x1000000 +#Define MF_INSERT 0x0 +#Define MF_LINKS 0x20000000 +#Define MF_MASK 0xff000000 +#Define MF_MENUBARBREAK 0x20 +#Define MF_MENUBREAK 0x40 +#Define MF_MOUSESELECT 0x8000 +#Define MF_OWNERDRAW 0x100 +#Define MF_POPUP 0x10 +#Define MF_POSTMSGS 0x4000000 +#Define MF_REMOVE 0x1000 +#Define MF_RIGHTJUSTIFY 0x4000 +#Define MF_SENDMSGS 0x2000000 +#Define MF_SEPARATOR 0x800 +#Define MF_STRING 0x0 +#Define MF_SYSMENU 0x2000 +#Define MF_UNCHECKED 0x0 +#Define MF_UNHILITE 0x0 +#Define MF_USECHECKBITMAPS 0x200 +#Define MFS_CHECKED 0x8 +#Define MFS_DEFAULT 0x1000 +#Define MFS_DISABLED 0x3 +#Define MFS_ENABLED 0x0 +#Define MFS_GRAYED 0x3 +#Define MFS_HILITE 0x80 +#Define MFS_UNCHECKED 0x0 +#Define MFS_UNHILITE 0x0 +#Define MFT_BITMAP 0x4 +#Define MFT_MENUBARBREAK 0x20 +#Define MFT_MENUBREAK 0x40 +#Define MFT_OWNERDRAW 0x100 +#Define MFT_RADIOCHECK 0x200 +#Define MFT_RIGHTJUSTIFY 0x4000 +#Define MFT_RIGHTORDER 0x2000 +#Define MFT_SEPARATOR 0x800 +#Define MFT_STRING 0x0 +#Define MIB_IPADDR_DELETED 0x0040 && Address is being deleted +#Define MIB_IPADDR_DISCONNECTED 0x0008 && Address is on disconnected interface +#Define MIB_IPADDR_DYNAMIC 0x0004 && Dynamic IP address +#Define MIB_IPADDR_PRIMARY 0x0001 && Primary IP address +#Define MIB_IPADDR_TRANSIENT 0x0080 && Transient address +#Define MIIM_BITMAP 0x80 +#Define MIIM_CHECKMARKS 0x8 +#Define MIIM_DATA 0x20 +#Define MIIM_FTYPE 0x100 +#Define MIIM_ID 0x2 +#Define MIIM_STATE 0x1 +#Define MIIM_STRING 0x40 +#Define MIIM_SUBMENU 0x4 +#Define MIIM_TYPE 0x10 +#Define MIM_APPLYTOSUBMENUS 0x80000000 +#Define MIM_BACKGROUND 0x2 +#Define MIM_CLOSE 0x3c2 +#Define MIM_DATA 0x3c3 +#Define MIM_ERROR 0x3c5 +#Define MIM_HELPID 0x4 +#Define MIM_LONGDATA 0x3c4 +#Define MIM_LONGERROR 0x3c6 +#Define MIM_MAXHEIGHT 0x1 +#Define MIM_MENUDATA 0x8 +#Define MIM_MOREDATA 0x3cc +#Define MIM_OPEN 0x3c1 +#Define MIM_STYLE 0x10 +#Define MK_ALT 0x20 +#Define MK_CONTROL 0x8 +#Define MK_ICON 0x1000 +#Define MK_LBUTTON 0x1 +#Define MK_MBUTTON 0x10 +#Define MK_RBUTTON 0x2 +#Define MK_SHIFT 0x4 +#Define MK_XBUTTON1 0x20 +#Define MK_XBUTTON2 0x40 +#Define MNS_AUTODISMISS 0x10000000 +#Define MNS_CHECKORBMP 0x4000000 +#Define MNS_DRAGDROP 0x20000000 +#Define MNS_MODELESS 0x40000000 +#Define MNS_NOCHECK 0x80000000 +#Define MNS_NOTIFYBYPOS 0x8000000 +#Define MONITOR_DEFAULTTONEAREST 0x2 +#Define MONITOR_DEFAULTTONULL 0x0 +#Define MONITOR_DEFAULTTOPRIMARY 0x1 +#Define MONTHCAL_CLASSA "SysMonthCal32" +#Define MONTHCAL_CLASSW "SysMonthCal32" +#Define MSGF_COMMCTRL_BEGINDRAG 0x4200 +#Define MSGF_COMMCTRL_DRAGSELECT 0x4202 +#Define MSGF_COMMCTRL_SIZEHEADER 0x4201 +#Define MSGF_COMMCTRL_TOOLBARCUST 0x4203 +#Define MSGF_DDEMGR 0x8001 +#Define MSGF_DIALOGBOX 0 +#Define MSGF_MAINLOOP 8 +#Define MSGF_MAX 8 +#Define MSGF_MENU 2 +#Define MSGF_MESSAGEBOX 1 +#Define MSGF_MOVE 3 +#Define MSGF_NEXTWINDOW 6 +#Define MSGF_SCROLLBAR 5 +#Define MSGF_SIZE 4 +#Define MSGF_USER 4096 +#Define NM_CLICK -2 +#Define NM_CUSTOMDRAW -12 +#Define NM_DBLCLICK -3 +#Define NM_FIRST 0 +#Define NM_RCLICK -5 +#Define NM_RDBLCLK -6 +#Define NM_RELEASEDCAPTURE -16 +#Define NO_ERROR 0 + +#Define NODE_INVALID 0 +#Define NODE_ELEMENT 1 +#Define NODE_ATTRIBUTE 2 +#Define NODE_TEXT 3 +#Define NODE_CDATA_SECTION 4 +#Define NODE_ENTITY_REFERENCE 5 +#Define NODE_PROCESSING_INSTRUCTION 7 +#Define NODE_COMMENT 8 +#Define NODE_DOCUMENT 9 +#Define NODE_DOCUMENT_TYPE 10 +#Define NODE_DOCUMENT_FRAGMENT 11 +#Define NODE_NOTATION 12 + +#Define NTDDI_LONGHORN 06000000 && NTDDI_VISTA +#Define NTDDI_VISTA 06000000 && NTDDI_WIN6 +#Define NTDDI_VISTASP1 06000100 && NTDDI_WIN6SP1 +#Define NTDDI_VISTASP2 06000200 && NTDDI_WIN6SP2 +#Define NTDDI_VISTASP3 06000300 && NTDDI_WIN6SP3 +#Define NTDDI_VISTASP4 06000400 && NTDDI_WIN6SP4 +#Define NTDDI_WIN2K 05000000 && NTDDI version constants +#Define NTDDI_WIN2KSP1 05000100 && http://forums.microsoft.com/MSDN/ShowPost.aspx?PostID=2095548 +#Define NTDDI_WIN2KSP2 05000200 +#Define NTDDI_WIN2KSP3 05000300 +#Define NTDDI_WIN2KSP4 05000400 +#Define NTDDI_WIN6 06000000 +#Define NTDDI_WIN6SP1 06000100 +#Define NTDDI_WIN6SP2 06000200 +#Define NTDDI_WIN6SP3 06000300 +#Define NTDDI_WIN6SP4 06000400 +#Define NTDDI_WINXP 05010000 +#Define NTDDI_WINXPSP1 05010100 +#Define NTDDI_WINXPSP2 05010200 +#Define NTDDI_WINXPSP3 05010300 +#Define NTDDI_WINXPSP4 05010400 +#Define NTDDI_WS03 05020000 +#Define NTDDI_WS03SP1 05020100 +#Define NTDDI_WS03SP2 05020200 +#Define NTDDI_WS03SP3 05020300 +#Define NTDDI_WS03SP4 05020400 +#Define NTDDI_WS08 06000100 && NTDDI_WIN6SP1 +#Define NTDDI_WS08SP2 06000200 && NTDDI_WIN6SP2 +#Define NTDDI_WS08SP3 06000300 && NTDDI_WIN6SP3 +#Define NTDDI_WS08SP4 06000400 && NTDDI_WIN6SP4 +#Define ODA_DRAWENTIRE 0x1 +#Define ODA_FOCUS 0x4 +#Define ODA_SELECT 0x2 +#Define ODS_CHECKED 0x8 +#Define ODS_COMBOBOXEDIT 0x1000 +#Define ODS_DEFAULT 0x20 +#Define ODS_DISABLED 0x4 +#Define ODS_FOCUS 0x10 +#Define ODS_GRAYED 0x2 +#Define ODS_HOTLIGHT 0x40 +#Define ODS_INACTIVE 0x80 +#Define ODS_NOACCEL 0x100 +#Define ODS_NOFOCUSRECT 0x200 +#Define ODS_SELECTED 0x1 +#Define ODT_BUTTON 4 +#Define ODT_COMBOBOX 3 +#Define ODT_HEADER 100 +#Define ODT_LISTBOX 2 +#Define ODT_LISTVIEW 102 +#Define ODT_MENU 1 +#Define ODT_STATIC 5 +#Define ODT_TAB 101 +#Define OEM_CHARSET 255 + +#Define OFN_ALLOWMULTISELECT 0x200 +#Define OFN_CREATEPROMPT 0x2000 +#Define OFN_DONTADDTORECENT 0x2000000 +#Define OFN_ENABLEHOOK 0x20 +#Define OFN_ENABLEINCLUDENOTIFY 0x400000 +#Define OFN_ENABLESIZING 0x800000 +#Define OFN_ENABLETEMPLATE 0x40 +#Define OFN_ENABLETEMPLATEHANDLE 0x80 +#Define OFN_EX_NOPLACESBAR 0x1 +#Define OFN_EXPLORER 0x80000 +#Define OFN_EXTENSIONDIFFERENT 0x400 +#Define OFN_FILEMUSTEXIST 0x1000 +#Define OFN_FORCESHOWHIDDEN 0x10000000 +#Define OFN_HIDEREADONLY 0x4 +#Define OFN_LONGNAMES 0x200000 +#Define OFN_NOCHANGEDIR 0x8 +#Define OFN_NODEREFERENCELINKS 0x100000 +#Define OFN_NOLONGNAMES 0x40000 +#Define OFN_NONETWORKBUTTON 0x20000 +#Define OFN_NOREADONLYRETURN 0x8000 +#Define OFN_NOTESTFILECREATE 0x10000 +#Define OFN_NOVALIDATE 0x100 +#Define OFN_OVERWRITEPROMPT 0x2 +#Define OFN_PATHMUSTEXIST 0x800 +#Define OFN_READONLY 0x1 +#Define OFN_SHAREAWARE 0x4000 +#Define OFN_SHAREFALLTHROUGH 2 +#Define OFN_SHARENOWARN 1 +#Define OFN_SHAREWARN 0 +#Define OFN_SHOWHELP 0x10 +#Define OFN_USEMONIKERS 0x1000000 + +#Define OPEN_ALWAYS 4 +#Define OPEN_EXISTING 3 +#Define OUT_DEFAULT_PRECIS 0 +#Define OUT_OUTLINE_PRECIS 8 +#Define PBM_DELTAPOS 0x403 +#Define PBM_GETPOS 0x408 +#Define PBM_GETRANGE 0x407 +#Define PBM_SETBARCOLOR 0x409 +#Define PBM_SETBKCOLOR 0x2001 +#Define PBM_SETMARQUEE 0x40a +#Define PBM_SETPOS 0x402 +#Define PBM_SETRANGE 0x401 +#Define PBM_SETRANGE32 0x406 +#Define PBM_SETSTATE 0x410 +#Define PBM_SETSTEP 0x404 +#Define PBM_STEPIT 0x405 +#Define PBS_MARQUEE 0x8 && Comctl32.dll version 6 +#Define PBS_SMOOTH 0x1 && Comctl32.dll Version 4.7 or later +#Define PBS_VERTICAL 0x4 && Comctl32.dll Version 4.7 or later +#Define PBST_ERROR 0x0002 +#Define PBST_NORMAL 0x0001 +#Define PBST_PAUSED 0x0003 +#Define PICTYPE_BITMAP 1 +#Define PICTYPE_ENHMETAFILE 4 +#Define PICTYPE_ICON 3 +#Define PICTYPE_METAFILE 2 +#Define PICTYPE_NONE 0 +#Define PICTYPE_UNINITIALIZED -1 +#Define PROGRESS_CLASSA "msctls_progress32" +#Define PROGRESS_CLASSW "msctls_progress32" +#Define PROOF_QUALITY 2 +#Define PS_SOLID 0 + +#Define pshHelp 0x40E + +#Define RBS_AUTOSIZE 0x2000 +#Define RBS_BANDBORDERS 0x400 +#Define RBS_DBLCLKTOGGLE 0x8000 +#Define RBS_FIXEDORDER 0x800 +#Define RBS_REGISTERDROP 0x1000 +#Define RBS_TOOLTIPS 0x100 +#Define RBS_VARHEIGHT 0x200 +#Define RBS_VERTICALGRIPPER 0x4000 +#Define RBSTR_CHANGERECT 0x2 +#Define RBSTR_PREFERNOLINEBREAK 0x1 +#Define RDW_ALLCHILDREN 0x80 +#Define RDW_ERASE 0x4 +#Define RDW_ERASENOW 0x200 +#Define RDW_FRAME 0x400 +#Define RDW_INTERNALPAINT 0x2 +#Define RDW_INVALIDATE 0x1 +#Define RDW_NOCHILDREN 0x40 +#Define RDW_NOERASE 0x20 +#Define RDW_NOFRAME 0x800 +#Define RDW_NOINTERNALPAINT 0x10 +#Define RDW_UPDATENOW 0x100 +#Define RDW_VALIDATE 0x8 +#Define READ_CONTROL 0x20000 +#Define REG_BINARY 3 +#Define REG_DWORD 4 +#Define REG_DWORD_BIG_ENDIAN 5 +#Define REG_DWORD_LITTLE_ENDIAN 4 +#Define REG_EXPAND_SZ 2 +#Define REG_MULTI_SZ 7 +#Define REG_OPTION_BACKUP_RESTORE 4 +#Define REG_OPTION_NON_VOLATILE 0 +#Define REG_OPTION_VOLATILE 1 +#Define REG_SZ 1 +#Define RPC_S_UUID_LOCAL_ONLY 1824 +#Define RT_ACCELERATOR 9 +#Define RT_ANICURSOR 21 +#Define RT_ANIICON 22 +#Define RT_BITMAP 2 +#Define RT_CURSOR 1 +#Define RT_DIALOG 5 +#Define RT_DLGINCLUDE 17 +#Define RT_FONT 8 +#Define RT_FONTDIR 7 +#Define RT_GROUP_CURSOR 12 +#Define RT_GROUP_ICON 14 +#Define RT_HTML 23 +#Define RT_ICON 3 +#Define RT_MENU 4 +#Define RT_MESSAGETABLE 11 +#Define RT_PLUGPLAY 19 +#Define RT_RCDATA 10 +#Define RT_STRING 6 +#Define RT_VERSION 16 +#Define RT_VXD 20 +#Define RUSSIAN_CHARSET 204 +#Define S_OK 0x0 +#Define SB_BOTH 3 +#Define SB_BOTTOM 7 +#Define SB_CONST_ALPHA 0x1 +#Define SB_CTL 2 +#Define SB_ENDSCROLL 8 +#Define SB_GETBORDERS 0x407 +#Define SB_GETICON 0x414 +#Define SB_GETPARTS 0x406 +#Define SB_GETRECT 0x40a +#Define SB_GETTEXTA 0x402 +#Define SB_GETTEXTLENGTHA 0x403 +#Define SB_GETTEXTLENGTHW 0x40c +#Define SB_GETTEXTW 0x40d +#Define SB_GETTIPTEXTA 0x412 +#Define SB_GETTIPTEXTW 0x413 +#Define SB_GETUNICODEFORMAT 0x2006 +#Define SB_GRAD_RECT 0x10 +#Define SB_GRAD_TRI 0x20 +#Define SB_HORZ 0 +#Define SB_ISSIMPLE 0x40e +#Define SB_LEFT 6 +#Define SB_LINEDOWN 1 +#Define SB_LINELEFT 0 +#Define SB_LINERIGHT 1 +#Define SB_LINEUP 0 +#Define SB_NONE 0x0 +#Define SB_PAGEDOWN 3 +#Define SB_PAGELEFT 2 +#Define SB_PAGERIGHT 3 +#Define SB_PAGEUP 2 +#Define SB_PIXEL_ALPHA 0x2 +#Define SB_PREMULT_ALPHA 0x4 +#Define SB_RIGHT 7 +#Define SB_SETBKCOLOR 0x2001 +#Define SB_SETICON 0x40f +#Define SB_SETMINHEIGHT 0x408 +#Define SB_SETPARTS 0x404 +#Define SB_SETTEXTA 0x401 +#Define SB_SETTEXTW 0x40b +#Define SB_SETTIPTEXTA 0x410 +#Define SB_SETTIPTEXTW 0x411 +#Define SB_SETUNICODEFORMAT 0x2005 +#Define SB_SIMPLE 0x409 +#Define SB_SIMPLEID 0xff +#Define SB_THUMBPOSITION 4 +#Define SB_THUMBTRACK 5 +#Define SB_TOP 6 +#Define SB_VERT 1 +#Define SBARS_SIZEGRIP 0x100 +#Define SBARS_TOOLTIPS 0x800 +#Define SBM_ENABLE_ARROWS 0xE4 +#Define SBM_GETPOS 0xE1 +#Define SBM_GETRANGE 0xE3 +#Define SBM_GETSCROLLBARINFO 0xEB +#Define SBM_GETSCROLLINFO 0xEA +#Define SBM_SETPOS 0xE0 +#Define SBM_SETRANGE 0xE2 +#Define SBM_SETRANGEREDRAW 0xE6 +#Define SBM_SETSCROLLINFO 0xE9 +#Define SBS_BOTTOMALIGN 0x4 +#Define SBS_HORZ 0x0 +#Define SBS_LEFTALIGN 0x2 +#Define SBS_RIGHTALIGN 0x4 +#Define SBS_SIZEBOX 0x8 +#Define SBS_SIZEBOXBOTTOMRIGHTALIGN 0x4 +#Define SBS_SIZEBOXTOPLEFTALIGN 0x2 +#Define SBS_SIZEGRIP 0x10 +#Define SBS_TOPALIGN 0x2 +#Define SBS_VERT 0x1 +#Define SBT_NOBORDERS 0x100 +#Define SBT_NOTABPARSING 0x800 +#Define SBT_OWNERDRAW 0x1000 +#Define SBT_POPOUT 0x200 +#Define SBT_RTLREADING 0x400 +#Define SBT_TOOLTIPS 0x800 +#Define SC_ARRANGE 0xF110 +#Define SC_CLOSE 0xF060 +#Define SC_CONTEXTHELP 0xF180 +#Define SC_DEFAULT 0xF160 +#Define SC_DLG_FORCE_UI 0x4 +#Define SC_DLG_MINIMAL_UI 0x1 +#Define SC_DLG_NO_UI 0x2 +#Define SC_ENUM_PROCESS_INFO 0 +#Define SC_FLAGS 0x400 +#Define SC_FLAGS_STR "/sc" +#Define SC_HOTKEY 0xF150 +#Define SC_HSCROLL 0xF080 +#Define SC_ICON 0xF020 &&SC_MINIMIZE +#Define SC_KEYMENU 0xF100 +#Define SC_MANAGER_ALL_ACCESS 0xF003F +#Define SC_MANAGER_CONNECT 0x1 +#Define SC_MANAGER_CREATE_SERVICE 0x2 +#Define SC_MANAGER_ENUMERATE_SERVICE 0x4 +#Define SC_MANAGER_LOCK 0x8 +#Define SC_MANAGER_MODIFY_BOOT_CONFIG 0x20 +#Define SC_MANAGER_QUERY_LOCK_STATUS 0x10 +#Define SC_MAXIMIZE 0xF030 +#Define SC_MINIMIZE 0xF020 +#Define SC_MONITORPOWER 0xF170 +#Define SC_MOUSEMENU 0xF090 +#Define SC_MOVE 0xF010 +#Define SC_NEXTWINDOW 0xF040 +#Define SC_PREVWINDOW 0xF050 +#Define SC_RESTORE 0xF120 +#Define SC_SCREENSAVE 0xF140 +#Define SC_SEPARATOR 0xF00F +#Define SC_SIZE 0xF000 +#Define SC_TASKLIST 0xF130 +#Define SC_VSCROLL 0xF070 +#Define SC_ZOOM 0xF030 && SC_MAXIMIZE +#Define SECURITY_FLAG_IGNORE_UNKNOWN_CA 0x100 +#Define SECURITY_FLAG_IGNORE_UNKNOWN_CA 0x100 +#Define SEM_FAILCRITICALERRORS 0x1 +#Define SEM_NOALIGNMENTFAULTEXCEPT 0x4 +#Define SEM_NOGPFAULTERRORBOX 0x2 +#Define SEM_NOOPENFILEERRORBOX 0x8000 +#Define SERVICE_ALL_ACCESS 0xF01FF +#Define SERVICE_AUTO_START 0x2 +#Define SERVICE_BOOT_START 0x0 +#Define SERVICE_CHANGE_CONFIG 0x2 +#Define SERVICE_CONFIG_DELAYED_AUTO_START_INFO 3 +#Define SERVICE_CONFIG_DESCRIPTION 1 +#Define SERVICE_CONFIG_FAILURE_ACTIONS 2 +#Define SERVICE_CONFIG_FAILURE_ACTIONS_FLAG 4 +#Define SERVICE_CONFIG_PRESHUTDOWN_INFO 7 +#Define SERVICE_CONFIG_REQUIRED_PRIVILEGES_INFO 6 +#Define SERVICE_CONFIG_SERVICE_SID_INFO 5 +#Define SERVICE_CONTINUE_PENDING 0x5 +#Define SERVICE_CONTROL_CONTINUE 0x3 +#Define SERVICE_CONTROL_DEVICEEVENT 0xB +#Define SERVICE_CONTROL_HARDWAREPROFILECHANGE 0xC +#Define SERVICE_CONTROL_INTERROGATE 0x4 +#Define SERVICE_CONTROL_NETBINDADD 0x7 +#Define SERVICE_CONTROL_NETBINDDISABLE 0xA +#Define SERVICE_CONTROL_NETBINDENABLE 0x9 +#Define SERVICE_CONTROL_NETBINDREMOVE 0x8 +#Define SERVICE_CONTROL_PARAMCHANGE 0x6 +#Define SERVICE_CONTROL_PAUSE 0x2 +#Define SERVICE_CONTROL_POWEREVENT 0xD +#Define SERVICE_CONTROL_SHUTDOWN 0x5 +#Define SERVICE_CONTROL_STOP 0x1 +#Define SERVICE_DEMAND_START 0x3 +#Define SERVICE_DISABLED 0x4 +#Define SERVICE_ENUMERATE_DEPENDENTS 0x8 +#Define SERVICE_ERROR_CRITICAL 0x3 +#Define SERVICE_ERROR_IGNORE 0x0 +#Define SERVICE_ERROR_NORMAL 0x1 +#Define SERVICE_ERROR_SEVERE 0x2 +#Define SERVICE_FILE_SYSTEM_DRIVER 0x2 +#Define SERVICE_INTERACTIVE_PROCESS 0x100 +#Define SERVICE_INTERROGATE 0x80 +#Define SERVICE_KERNEL_DRIVER 0x1 +#Define SERVICE_PAUSE_CONTINUE 0x40 +#Define SERVICE_PAUSE_PENDING 0x6 +#Define SERVICE_PAUSED 0x7 +#Define SERVICE_QUERY_CONFIG 0x1 +#Define SERVICE_RECOGNIZER_DRIVER 0x8 +#Define SERVICE_RUNNING 0x4 +#Define SERVICE_START 0x10 +#Define SERVICE_START_PENDING 0x2 +#Define SERVICE_STOP 0x20 +#Define SERVICE_STOP_PENDING 0x3 +#Define SERVICE_STOPPED 0x1 +#Define SERVICE_SYSTEM_START 0x1 +#Define SERVICE_USER_DEFINED_CONTROL 0x100 +#Define SERVICE_WIN32_OWN_PROCESS 0x10 +#Define SERVICE_WIN32_SHARE_PROCESS 0x20 +#Define SHGFP_TYPE_CURRENT 0 && Return the folder's current path. +#Define SHGFP_TYPE_DEFAULT 1 && Return the folder's default path. +#Define SHIFTJIS_CHARSET 128 + +#Define SHVIEW_THUMBNAIL 0x702D && 1 THUMBNAILS +#Define SHVIEW_TILE 0x702E && 2 TILES +#Define SHVIEW_ICON 0x7029 && 3 ICONS +#Define SHVIEW_LIST 0x702B && 4 LIST +#Define SHVIEW_REPORT 0x702C && 5 DETAILS + +#Define SIF_ALL 0x17 && BITOR(SIF_RANGE,SIF_PAGE,SIF_POS,SIF_TRACKPOS) +#Define SIF_DISABLENOSCROLL 0x8 +#Define SIF_PAGE 0x2 +#Define SIF_POS 0x4 +#Define SIF_RANGE 0x1 +#Define SIF_TRACKPOS 0x10 + +#Define SIGDN_NORMALDISPLAY 0x00000000 +#Define SIGDN_PARENTRELATIVEPARSING 0x80018001 +#Define SIGDN_PARENTRELATIVEFORADDRESSBAR 0x8007c001 +#Define SIGDN_DESKTOPABSOLUTEPARSING 0x80028000 +#Define SIGDN_PARENTRELATIVEEDITING 0x80031001 +#Define SIGDN_DESKTOPABSOLUTEEDITING 0x8004c000 +#Define SIGDN_FILESYSPATH 0x80058000 +#Define SIGDN_URL 0x80068000 + +#Define SM_ARRANGE 56 +#Define SM_CLEANBOOT 67 +#Define SM_CMETRICS 44 +#Define SM_CMONITORS 80 +#Define SM_CMOUSEBUTTONS 43 +#Define SM_CXBORDER 5 +#Define SM_CXCURSOR 13 +#Define SM_CXDLGFRAME 7 +#Define SM_CXDOUBLECLK 36 +#Define SM_CXDRAG 68 +#Define SM_CXEDGE 45 +#Define SM_CXFIXEDFRAME 7 && SM_CXDLGFRAME +#Define SM_CXFRAME 32 +#Define SM_CXFULLSCREEN 16 +#Define SM_CXHSCROLL 21 +#Define SM_CXHTHUMB 10 +#Define SM_CXICON 11 +#Define SM_CXICONSPACING 38 +#Define SM_CXMAXIMIZED 61 +#Define SM_CXMAXTRACK 59 +#Define SM_CXMENUCHECK 71 +#Define SM_CXMENUSIZE 54 +#Define SM_CXMIN 28 +#Define SM_CXMINIMIZED 57 +#Define SM_CXMINSPACING 47 +#Define SM_CXMINTRACK 34 +#Define SM_CXSCREEN 0 +#Define SM_CXSIZE 30 +#Define SM_CXSIZEFRAME 32 && SM_CXFRAME +#Define SM_CXSMICON 49 +#Define SM_CXSMSIZE 52 +#Define SM_CXVIRTUALSCREEN 78 +#Define SM_CXVSCROLL 2 +#Define SM_CYBORDER 6 +#Define SM_CYCAPTION 4 +#Define SM_CYCURSOR 14 +#Define SM_CYDLGFRAME 8 +#Define SM_CYDOUBLECLK 37 +#Define SM_CYDRAG 69 +#Define SM_CYEDGE 46 +#Define SM_CYFIXEDFRAME 8 && SM_CYDLGFRAME +#Define SM_CYFRAME 33 +#Define SM_CYFULLSCREEN 17 +#Define SM_CYHSCROLL 3 +#Define SM_CYICON 12 +#Define SM_CYICONSPACING 39 +#Define SM_CYKANJIWINDOW 18 +#Define SM_CYMAXIMIZED 62 +#Define SM_CYMAXTRACK 60 +#Define SM_CYMENU 15 +#Define SM_CYMENUCHECK 72 +#Define SM_CYMENUSIZE 55 +#Define SM_CYMIN 29 +#Define SM_CYMINIMIZED 58 +#Define SM_CYMINSPACING 48 +#Define SM_CYMINTRACK 35 +#Define SM_CYSCREEN 1 +#Define SM_CYSIZE 31 +#Define SM_CYSIZEFRAME 33 && SM_CYFRAME +#Define SM_CYSMCAPTION 51 +#Define SM_CYSMICON 50 +#Define SM_CYSMSIZE 53 +#Define SM_CYVIRTUALSCREEN 79 +#Define SM_CYVSCROLL 20 +#Define SM_CYVTHUMB 9 +#Define SM_DBCSENABLED 42 +#Define SM_DEBUG 22 +#Define SM_FOCUS_TYPE_LM_DOMAIN 2 +#Define SM_FOCUS_TYPE_LM_SERVER 5 +#Define SM_FOCUS_TYPE_NT_DOMAIN 1 +#Define SM_FOCUS_TYPE_NT_SERVER 4 +#Define SM_FOCUS_TYPE_UNKNOWN_DOMAIN 3 +#Define SM_FOCUS_TYPE_UNKNOWN_SERVER 7 +#Define SM_FOCUS_TYPE_WFW_SERVER 6 +#Define SM_GETCURFOCUSA 2027 && (WM_USER+1003) +#Define SM_GETCURFOCUSW 2028 && (WM_USER+1004) +#Define SM_GETOPTIONS 2029 && (WM_USER+1005) +#Define SM_GETSELCOUNT 2024 && (WM_USER+1000) +#Define SM_GETSERVERSELA 2025 && (WM_USER+1001) +#Define SM_GETSERVERSELW 2026 && (WM_USER+1002) +#Define SM_IMMENABLED 82 +#Define SM_MENUDROPALIGNMENT 40 +#Define SM_MIDEASTENABLED 74 +#Define SM_MOUSEPRESENT 19 +#Define SM_MOUSEWHEELPRESENT 75 +#Define SM_NETWORK 63 +#Define SM_PENWINDOWS 41 +#Define SM_REMOTESESSION 0x1000 +#Define SM_RESERVED1 24 +#Define SM_RESERVED2 25 +#Define SM_RESERVED3 26 +#Define SM_RESERVED4 27 +#Define SM_SAMEDISPLAYFORMAT 81 +#Define SM_SECURE 44 +#Define SM_SHOWSOUNDS 70 +#Define SM_SLOWMACHINE 73 +#Define SM_SWAPBUTTON 23 +#Define SM_XVIRTUALSCREEN 76 +#Define SM_YVIRTUALSCREEN 77 +#Define SPI_GETACCESSTIMEOUT 60 +#Define SPI_GETACTIVEWINDOWTRACKING 0x1000 +#Define SPI_GETACTIVEWNDTRKTIMEOUT 0x2002 +#Define SPI_GETACTIVEWNDTRKZORDER 0x100C +#Define SPI_GETANIMATION 72 +#Define SPI_GETBEEP 1 +#Define SPI_GETBLOCKSENDINPUTRESETS 0x1026 +#Define SPI_GETBORDER 5 +#Define SPI_GETCARETWIDTH 0x2006 +#Define SPI_GETCOMBOBOXANIMATION 0x1004 +#Define SPI_GETCURSORSHADOW 0x101A +#Define SPI_GETDEFAULTINPUTLANG 89 +#Define SPI_GETDESKWALLPAPER 115 +#Define SPI_GETDRAGFULLWINDOWS 38 +#Define SPI_GETDROPSHADOW 0x1024 +#Define SPI_GETFASTTASKSWITCH 35 +#Define SPI_GETFILTERKEYS 50 +#Define SPI_GETFLATMENU 0x1022 +#Define SPI_GETFOCUSBORDERHEIGHT 0x2010 +#Define SPI_GETFOCUSBORDERWIDTH 0x200E +#Define SPI_GETFONTSMOOTHING 74 +#Define SPI_GETFONTSMOOTHINGCONTRAST 0x200C +#Define SPI_GETFONTSMOOTHINGORIENTATION 0x2012 +#Define SPI_GETFONTSMOOTHINGTYPE 0x200A +#Define SPI_GETFOREGROUNDFLASHCOUNT 0x2004 +#Define SPI_GETFOREGROUNDLOCKTIMEOUT 0x2000 +#Define SPI_GETGRADIENTCAPTIONS 0x1008 +#Define SPI_GETGRIDGRANULARITY 18 +#Define SPI_GETHIGHCONTRAST 66 +#Define SPI_GETHOTTRACKING 0x100E +#Define SPI_GETICONMETRICS 45 +#Define SPI_GETICONTITLELOGFONT 31 +#Define SPI_GETICONTITLEWRAP 25 +#Define SPI_GETKEYBOARDCUES 0x100A +#Define SPI_GETKEYBOARDDELAY 22 +#Define SPI_GETKEYBOARDPREF 68 +#Define SPI_GETKEYBOARDSPEED 10 +#Define SPI_GETLISTBOXSMOOTHSCROLLING 0x1006 +#Define SPI_GETLOWPOWERACTIVE 83 +#Define SPI_GETLOWPOWERTIMEOUT 79 +#Define SPI_GETMENUANIMATION 0x1002 +#Define SPI_GETMENUDROPALIGNMENT 27 +#Define SPI_GETMENUFADE 0x1012 +#Define SPI_GETMENUSHOWDELAY 106 +#Define SPI_GETMENUUNDERLINES 0x100A +#Define SPI_GETMINIMIZEDMETRICS 43 +#Define SPI_GETMOUSE 3 +#Define SPI_GETMOUSECLICKLOCK 0x101E +#Define SPI_GETMOUSECLICKLOCKTIME 0x2008 +#Define SPI_GETMOUSEHOVERHEIGHT 100 +#Define SPI_GETMOUSEHOVERTIME 102 +#Define SPI_GETMOUSEHOVERWIDTH 98 +#Define SPI_GETMOUSEKEYS 54 +#Define SPI_GETMOUSESONAR 0x101C +#Define SPI_GETMOUSESPEED 112 +#Define SPI_GETMOUSETRAILS 94 +#Define SPI_GETMOUSEVANISH 0x1020 +#Define SPI_GETNONCLIENTMETRICS 41 +#Define SPI_GETPOWEROFFACTIVE 84 +#Define SPI_GETPOWEROFFTIMEOUT 80 +#Define SPI_GETSCREENREADER 70 +#Define SPI_GETSCREENSAVEACTIVE 16 +#Define SPI_GETSCREENSAVERRUNNING 114 +#Define SPI_GETSCREENSAVETIMEOUT 14 +#Define SPI_GETSELECTIONFADE 0x1014 +#Define SPI_GETSERIALKEYS 62 +#Define SPI_GETSHOWIMEUI 110 +#Define SPI_GETSHOWSOUNDS 56 +#Define SPI_GETSNAPTODEFBUTTON 95 +#Define SPI_GETSOUNDSENTRY 64 +#Define SPI_GETSTICKYKEYS 58 +#Define SPI_GETTOGGLEKEYS 52 +#Define SPI_GETTOOLTIPANIMATION 0x1016 +#Define SPI_GETTOOLTIPFADE 0x1018 +#Define SPI_GETUIEFFECTS 0x103E +#Define SPI_GETWHEELSCROLLLINES 104 +#Define SPI_GETWINDOWSEXTENSION 92 +#Define SPI_GETWORKAREA 48 +#Define SPI_ICONHORIZONTALSPACING 13 +#Define SPI_ICONVERTICALSPACING 24 +#Define SPI_LANGDRIVER 12 +#Define SPI_SCREENSAVERRUNNING 97 +#Define SPI_SETACCESSTIMEOUT 61 +#Define SPI_SETACTIVEWINDOWTRACKING 0x1001 +#Define SPI_SETACTIVEWNDTRKTIMEOUT 0x2003 +#Define SPI_SETACTIVEWNDTRKZORDER 0x100D +#Define SPI_SETANIMATION 73 +#Define SPI_SETBEEP 2 +#Define SPI_SETBLOCKSENDINPUTRESETS 0x1027 +#Define SPI_SETBORDER 6 +#Define SPI_SETCARETWIDTH 0x2007 +#Define SPI_SETCOMBOBOXANIMATION 0x1005 +#Define SPI_SETCURSORS 87 +#Define SPI_SETCURSORSHADOW 0x101B +#Define SPI_SETDEFAULTINPUTLANG 90 +#Define SPI_SETDESKPATTERN 21 +#Define SPI_SETDESKWALLPAPER 20 +#Define SPI_SETDOUBLECLICKTIME 32 +#Define SPI_SETDOUBLECLKHEIGHT 30 +#Define SPI_SETDOUBLECLKWIDTH 29 +#Define SPI_SETDRAGFULLWINDOWS 37 +#Define SPI_SETDRAGHEIGHT 77 +#Define SPI_SETDRAGWIDTH 76 +#Define SPI_SETDROPSHADOW 0x1025 +#Define SPI_SETFASTTASKSWITCH 36 +#Define SPI_SETFILTERKEYS 51 +#Define SPI_SETFLATMENU 0x1023 +#Define SPI_SETFOCUSBORDERHEIGHT 0x2011 +#Define SPI_SETFOCUSBORDERWIDTH 0x200F +#Define SPI_SETFONTSMOOTHING 75 +#Define SPI_SETFONTSMOOTHINGCONTRAST 0x200D +#Define SPI_SETFONTSMOOTHINGORIENTATION 0x2013 +#Define SPI_SETFONTSMOOTHINGTYPE 0x200B +#Define SPI_SETFOREGROUNDFLASHCOUNT 0x2005 +#Define SPI_SETFOREGROUNDLOCKTIMEOUT 0x2001 +#Define SPI_SETGRADIENTCAPTIONS 0x1009 +#Define SPI_SETGRIDGRANULARITY 19 +#Define SPI_SETHANDHELD 78 +#Define SPI_SETHIGHCONTRAST 67 +#Define SPI_SETHOTTRACKING 0x100F +#Define SPI_SETICONMETRICS 46 +#Define SPI_SETICONS 88 +#Define SPI_SETICONTITLELOGFONT 34 +#Define SPI_SETICONTITLEWRAP 26 +#Define SPI_SETKEYBOARDCUES 0x100B +#Define SPI_SETKEYBOARDDELAY 23 +#Define SPI_SETKEYBOARDPREF 69 +#Define SPI_SETKEYBOARDSPEED 11 +#Define SPI_SETLANGTOGGLE 91 +#Define SPI_SETLISTBOXSMOOTHSCROLLING 0x1007 +#Define SPI_SETLOWPOWERACTIVE 85 +#Define SPI_SETLOWPOWERTIMEOUT 81 +#Define SPI_SETMENUANIMATION 0x1003 +#Define SPI_SETMENUDROPALIGNMENT 28 +#Define SPI_SETMENUFADE 0x1013 +#Define SPI_SETMENUSHOWDELAY 107 +#Define SPI_SETMENUUNDERLINES 0x100B +#Define SPI_SETMINIMIZEDMETRICS 44 +#Define SPI_SETMOUSE 4 +#Define SPI_SETMOUSEBUTTONSWAP 33 +#Define SPI_SETMOUSECLICKLOCK 0x101F +#Define SPI_SETMOUSECLICKLOCKTIME 0x2009 +#Define SPI_SETMOUSEHOVERHEIGHT 101 +#Define SPI_SETMOUSEHOVERTIME 103 +#Define SPI_SETMOUSEHOVERWIDTH 99 +#Define SPI_SETMOUSEKEYS 55 +#Define SPI_SETMOUSESONAR 0x101D +#Define SPI_SETMOUSESPEED 113 +#Define SPI_SETMOUSETRAILS 93 +#Define SPI_SETMOUSEVANISH 0x1021 +#Define SPI_SETNONCLIENTMETRICS 42 +#Define SPI_SETPENWINDOWS 49 +#Define SPI_SETPOWEROFFACTIVE 86 +#Define SPI_SETPOWEROFFTIMEOUT 82 +#Define SPI_SETSCREENREADER 71 +#Define SPI_SETSCREENSAVEACTIVE 17 +#Define SPI_SETSCREENSAVERRUNNING 97 +#Define SPI_SETSCREENSAVETIMEOUT 15 +#Define SPI_SETSELECTIONFADE 0x1015 +#Define SPI_SETSERIALKEYS 63 +#Define SPI_SETSHOWIMEUI 111 +#Define SPI_SETSHOWSOUNDS 57 +#Define SPI_SETSNAPTODEFBUTTON 96 +#Define SPI_SETSOUNDSENTRY 65 +#Define SPI_SETSTICKYKEYS 59 +#Define SPI_SETTOGGLEKEYS 53 +#Define SPI_SETTOOLTIPANIMATION 0x1017 +#Define SPI_SETTOOLTIPFADE 0x1019 +#Define SPI_SETUIEFFECTS 0x103F +#Define SPI_SETWHEELSCROLLLINES 105 +#Define SPI_SETWORKAREA 47 + +#Define SRCCOPY 0xcc0020 + +#Define SS_BITMAP 0xE +#Define SS_BLACKFRAME 0x7 +#Define SS_BLACKRECT 0x4 +#Define SS_CENTER 0x1 +#Define SS_CENTERIMAGE 0x200 +#Define SS_ELLIPSISMASK 0xC000 +#Define SS_ENDELLIPSIS 0x4000 +#Define SS_ENHMETAFILE 0xF +#Define SS_ETCHEDFRAME 0x12 +#Define SS_ETCHEDHORZ 0x10 +#Define SS_ETCHEDVERT 0x11 +#Define SS_GRAYFRAME 0x8 +#Define SS_GRAYRECT 0x5 +#Define SS_ICON 0x3 +#Define SS_LEFT 0x0 +#Define SS_LEFTNOWORDWRAP 0xC +#Define SS_LEVEL_VERSION 0 +#Define SS_MAJOR_VERSION 7 +#Define SS_MINIMUM_VERSION "7.00.00.0000" +#Define SS_MINOR_VERSION 0 +#Define SS_NOPREFIX 0x80 +#Define SS_NOTIFY 0x100 +#Define SS_OWNERDRAW 0xD +#Define SS_PATHELLIPSIS 0x8000 +#Define SS_REALSIZECONTROL 0x40 +#Define SS_REALSIZEIMAGE 0x800 +#Define SS_RIGHT 0x2 +#Define SS_RIGHTJUST 0x400 +#Define SS_SIMPLE 0xB +#Define SS_SUNKEN 0x1000 +#Define SS_TYPEMASK 0x1F +#Define SS_USERITEM 0xA +#Define SS_WHITEFRAME 0x9 +#Define SS_WHITERECT 0x6 +#Define SS_WORDELLIPSIS 0xC000 +#Define STANDARD_RIGHTS_ALL 0x1F0000 +#Define STANDARD_RIGHTS_EXECUTE 0x20000 +#Define STANDARD_RIGHTS_READ 0x20000 +#Define STANDARD_RIGHTS_REQUIRED 0xF0000 +#Define STANDARD_RIGHTS_WRITE 0x20000 +#Define STATUSCLASSNAMEA "msctls_statusbar32" +#Define STATUSCLASSNAMEW "msctls_statusbar32" +#Define SUBLANG_ARABIC_ALGERIA 0x5 +#Define SUBLANG_ARABIC_BAHRAIN 0xf +#Define SUBLANG_ARABIC_EGYPT 0x3 +#Define SUBLANG_ARABIC_IRAQ 0x2 +#Define SUBLANG_ARABIC_JORDAN 0xb +#Define SUBLANG_ARABIC_KUWAIT 0xd +#Define SUBLANG_ARABIC_LEBANON 0xc +#Define SUBLANG_ARABIC_LIBYA 0x4 +#Define SUBLANG_ARABIC_MOROCCO 0x6 +#Define SUBLANG_ARABIC_OMAN 0x8 +#Define SUBLANG_ARABIC_QATAR 0x10 +#Define SUBLANG_ARABIC_SAUDI_ARABIA 0x1 +#Define SUBLANG_ARABIC_SYRIA 0xa +#Define SUBLANG_ARABIC_TUNISIA 0x7 +#Define SUBLANG_ARABIC_UAE 0xe +#Define SUBLANG_ARABIC_YEMEN 0x9 +#Define SUBLANG_AZERI_CYRILLIC 0x2 +#Define SUBLANG_AZERI_LATIN 0x1 +#Define SUBLANG_CHINESE_HONGKONG 0x3 +#Define SUBLANG_CHINESE_MACAU 0x5 +#Define SUBLANG_CHINESE_SIMPLIFIED 0x2 +#Define SUBLANG_CHINESE_SINGAPORE 0x4 +#Define SUBLANG_CHINESE_TRADITIONAL 0x1 +#Define SUBLANG_CROATIAN_BOSNIA_HERZEGOVINA_LATIN 0x04 +#Define SUBLANG_CROATIAN_CROATIA 0x01 +#Define SUBLANG_DEFAULT 0x1 +#Define SUBLANG_DUTCH 0x1 +#Define SUBLANG_DUTCH_BELGIAN 0x2 +#Define SUBLANG_ENGLISH_AUS 0x3 +#Define SUBLANG_ENGLISH_BELIZE 0xa +#Define SUBLANG_ENGLISH_CAN 0x4 +#Define SUBLANG_ENGLISH_CARIBBEAN 0x9 +#Define SUBLANG_ENGLISH_EIRE 0x6 +#Define SUBLANG_ENGLISH_JAMAICA 0x8 +#Define SUBLANG_ENGLISH_NZ 0x5 +#Define SUBLANG_ENGLISH_PHILIPPINES 0xd +#Define SUBLANG_ENGLISH_SOUTH_AFRICA 0x7 +#Define SUBLANG_ENGLISH_TRINIDAD 0xb +#Define SUBLANG_ENGLISH_UK 0x2 +#Define SUBLANG_ENGLISH_US 0x1 +#Define SUBLANG_ENGLISH_ZIMBABWE 0xc +#Define SUBLANG_FRENCH 0x1 +#Define SUBLANG_FRENCH_BELGIAN 0x2 +#Define SUBLANG_FRENCH_CANADIAN 0x3 +#Define SUBLANG_FRENCH_LUXEMBOURG 0x5 +#Define SUBLANG_FRENCH_MONACO 0x6 +#Define SUBLANG_FRENCH_SWISS 0x4 +#Define SUBLANG_GERMAN 0x1 +#Define SUBLANG_GERMAN_AUSTRIAN 0x3 +#Define SUBLANG_GERMAN_LIECHTENSTEIN 0x5 +#Define SUBLANG_GERMAN_LUXEMBOURG 0x4 +#Define SUBLANG_GERMAN_SWISS 0x2 +#Define SUBLANG_ITALIAN 0x1 +#Define SUBLANG_ITALIAN_SWISS 0x2 +#Define SUBLANG_KASHMIRI_INDIA 0x2 +#Define SUBLANG_KOREAN 0x1 +#Define SUBLANG_LITHUANIAN 0x1 +#Define SUBLANG_MALAY_BRUNEI_DARUSSALAM 0x2 +#Define SUBLANG_MALAY_MALAYSIA 0x1 +#Define SUBLANG_NEPALI_INDIA 0x2 +#Define SUBLANG_NEUTRAL 0x0 +#Define SUBLANG_NORWEGIAN_BOKMAL 0x1 +#Define SUBLANG_NORWEGIAN_NYNORSK 0x2 +#Define SUBLANG_PORTUGUESE 0x2 +#Define SUBLANG_PORTUGUESE_BRAZILIAN 0x1 +#Define SUBLANG_PORTUGUESE_PORTUGAL 0x2 +#Define SUBLANG_SERBIAN_CYRILLIC 0x3 +#Define SUBLANG_SERBIAN_LATIN 0x2 +#Define SUBLANG_SPANISH 0x1 +#Define SUBLANG_SPANISH_ARGENTINA 0xb +#Define SUBLANG_SPANISH_BOLIVIA 0x10 +#Define SUBLANG_SPANISH_CHILE 0xd +#Define SUBLANG_SPANISH_COLOMBIA 0x9 +#Define SUBLANG_SPANISH_COSTA_RICA 0x5 +#Define SUBLANG_SPANISH_DOMINICAN_REPUBLIC 0x7 +#Define SUBLANG_SPANISH_ECUADOR 0xc +#Define SUBLANG_SPANISH_EL_SALVADOR 0x11 +#Define SUBLANG_SPANISH_GUATEMALA 0x4 +#Define SUBLANG_SPANISH_HONDURAS 0x12 +#Define SUBLANG_SPANISH_MEXICAN 0x2 +#Define SUBLANG_SPANISH_MODERN 0x3 +#Define SUBLANG_SPANISH_NICARAGUA 0x13 +#Define SUBLANG_SPANISH_PANAMA 0x6 +#Define SUBLANG_SPANISH_PARAGUAY 0xf +#Define SUBLANG_SPANISH_PERU 0xa +#Define SUBLANG_SPANISH_PUERTO_RICO 0x14 +#Define SUBLANG_SPANISH_URUGUAY 0xe +#Define SUBLANG_SPANISH_VENEZUELA 0x8 +#Define SUBLANG_SWEDISH 0x1 +#Define SUBLANG_SWEDISH_FINLAND 0x2 +#Define SUBLANG_SYS_DEFAULT 0x2 +#Define SUBLANG_URDU_INDIA 0x2 +#Define SUBLANG_URDU_PAKISTAN 0x1 +#Define SUBLANG_UZBEK_CYRILLIC 0x2 +#Define SUBLANG_UZBEK_LATIN 0x1 +#Define SW_AUTOPROF_LOAD_MASK 0x1 +#Define SW_AUTOPROF_SAVE_MASK 0x2 +#Define SW_ERASE 0x4 +#Define SW_FORCEMINIMIZE 11 +#Define SW_HIDE 0 +#Define SW_INVALIDATE 0x2 +#Define SW_MAX 10 +#Define SW_MAXIMIZE 3 +#Define SW_MINIMIZE 6 +#Define SW_NORMAL 1 +#Define SW_OTHERUNZOOM 4 +#Define SW_OTHERZOOM 2 +#Define SW_PARENTCLOSING 1 +#Define SW_PARENTOPENING 3 +#Define SW_RESTORE 9 +#Define SW_SCROLLCHILDREN 0x1 +#Define SW_SHOW 5 +#Define SW_SHOWDEFAULT 10 +#Define SW_SHOWMAXIMIZED 3 +#Define SW_SHOWMINIMIZED 2 +#Define SW_SHOWMINNOACTIVE 7 +#Define SW_SHOWNA 8 +#Define SW_SHOWNOACTIVATE 4 +#Define SW_SHOWNORMAL 1 +#Define SW_SMOOTHSCROLL 0x10 +#Define SWP_ASYNCWINDOWPOS 0x4000 +#Define SWP_DEFERERASE 0x2000 +#Define SWP_DRAWFRAME 0x20 && SWP_FRAMECHANGED +#Define SWP_FRAMECHANGED 0x20 +#Define SWP_HIDEWINDOW 0x80 +#Define SWP_NOACTIVATE 0x10 +#Define SWP_NOCOPYBITS 0x100 +#Define SWP_NOMOVE 0x2 +#Define SWP_NOOWNERZORDER 0x200 +#Define SWP_NOREDRAW 0x8 +#Define SWP_NOREPOSITION 0x200 && SWP_NOOWNERZORDER +#Define SWP_NOSENDCHANGING 0x400 +#Define SWP_NOSIZE 0x1 +#Define SWP_NOZORDER 0x4 +#Define SWP_SHOWWINDOW 0x40 +#Define SYMBOL_CHARSET 2 +#Define SYNCHRONIZE 0x100000 + +#Define TB_BOTTOM 7 +#Define TB_ENDTRACK 8 +#Define TB_LINEDOWN 1 +#Define TB_LINEUP 0 +#Define TB_PAGEDOWN 3 +#Define TB_PAGEUP 2 +#Define TB_THUMBPOSITION 4 +#Define TB_THUMBTRACK 5 +#Define TB_TOP 6 + +#Define TBCD_TICS 0x0001 +#Define TBCD_THUMB 0x0002 +#Define TBCD_CHANNEL 0x0003 + +#Define TBM_CLEARSEL (0x400 + 19) +#Define TBM_CLEARTICS (0x400 + 9) +#Define TBM_GETBUDDY (0x400 + 33) +#Define TBM_GETCHANNELRECT (0x400 + 26) +#Define TBM_GETLINESIZE (0x400 + 24) +#Define TBM_GETNUMTICS (0x400 + 16) +#Define TBM_GETPAGESIZE (0x400 + 22) +#Define TBM_GETPOS (0x400) +#Define TBM_GETPTICS (0x400 + 14) +#Define TBM_GETRANGEMAX (0x400 + 2) +#Define TBM_GETRANGEMIN (0x400 + 1) +#Define TBM_GETSELEND (0x400 + 18) +#Define TBM_GETSELSTART (0x400 + 17) +#Define TBM_GETTHUMBLENGTH (0x400 + 28) +#Define TBM_GETTHUMBRECT (0x400 + 25) +#Define TBM_GETTIC (0x400 + 3) +#Define TBM_GETTICPOS (0x400 + 15) +#Define TBM_GETTOOLTIPS (0x400 + 30) +#Define TBM_GETUNICODEFORMAT 0x2006 +#Define TBM_SETBUDDY (0x400 + 32) +#Define TBM_SETLINESIZE (0x400 + 23) +#Define TBM_SETPAGESIZE (0x400 + 21) +#Define TBM_SETPOS (0x400 + 5) +#Define TBM_SETRANGE (0x400 + 6) +#Define TBM_SETRANGEMAX (0x400 + 8) +#Define TBM_SETRANGEMIN (0x400 + 7) +#Define TBM_SETSEL (0x400 + 10) +#Define TBM_SETSELEND (0x400 + 12) +#Define TBM_SETSELSTART (0x400 + 11) +#Define TBM_SETTHUMBLENGTH (0x400 + 27) +#Define TBM_SETTIC (0x400 + 4) +#Define TBM_SETTICFREQ (0x400 + 20) +#Define TBM_SETTIPSIDE (0x400 + 31) +#Define TBM_SETTOOLTIPS (0x400 + 29) +#Define TBM_SETUNICODEFORMAT 0x2005 + +#Define TBS_AUTOTICKS 0x0001 +#Define TBS_BOTH 0x0008 +#Define TBS_BOTTOM 0x0000 +#Define TBS_DOWNISLEFT 0x0400 && Down=Left and Up=Right (default is Down=Right and Up=Left) +#Define TBS_ENABLESELRANGE 0x0020 +#Define TBS_FIXEDLENGTH 0x0040 +#Define TBS_HORZ 0x0000 +#Define TBS_LEFT 0x0004 +#Define TBS_NOTHUMB 0x0080 +#Define TBS_NOTICKS 0x0010 +#Define TBS_NOTIFYBEFOREMOVE 0x0800 && Trackbar should notify parent before repositioning the slider due to user action (enables snapping) +#Define TBS_REVERSED 0x0200 && Accessibility hint: the smaller number (usually the min value) means "high" and the larger number (usually the max value) means "low" +#Define TBS_RIGHT 0x0000 +#Define TBS_TOOLTIPS 0x0100 +#Define TBS_TOP 0x0004 +#Define TBS_TRANSPARENTBKGND 0x1000 && Background is painted by the parent via WM_PRINTCLIENT +#Define TBS_VERT 0x0002 + +#Define TBTS_TOP 0 +#Define TBTS_LEFT 1 +#Define TBTS_BOTTOM 2 +#Define TBTS_RIGHT 3 + +#Define TCIF_IMAGE 0x2 +#Define TCIF_PARAM 0x8 +#Define TCIF_RTLREADING 0x4 +#Define TCIF_STATE 0x10 +#Define TCIF_TEXT 0x1 +#Define TCIS_BUTTONPRESSED 0x1 +#Define TCIS_HIGHLIGHTED 0x2 +#Define TCM_ADJUSTRECT 0x13290 +#Define TCM_DELETEALLITEMS 0x1309 +#Define TCM_DELETEITEM 0x1308 +#Define TCM_DESELECTALL 0x1332 +#Define TCM_FIRST 0x1300 +#Define TCM_GETCURFOCUS 0x132f +#Define TCM_GETCURSEL 0x130b +#Define TCM_GETEXTENDEDSTYLE 0x1335 +#Define TCM_GETIMAGELIST 0x1302 +#Define TCM_GETITEMA 0x1305 +#Define TCM_GETITEMCOUNT 0x1304 +#Define TCM_GETITEMRECT 0x130a +#Define TCM_GETITEMW 0x133c +#Define TCM_GETROWCOUNT 0x132c +#Define TCM_GETTOOLTIPS 0x132d +#Define TCM_GETUNICODEFORMAT 0x2006 +#Define TCM_HIGHLIGHTITEM 0x1333 +#Define TCM_HITTEST 0x130d +#Define TCM_INSERTITEMA 0x1307 +#Define TCM_INSERTITEMW 0x133e +#Define TCM_REMOVEIMAGE 0x132a +#Define TCM_SETCURFOCUS 0x1330 +#Define TCM_SETCURSEL 0x130c +#Define TCM_SETEXTENDEDSTYLE 0x1334 +#Define TCM_SETIMAGELIST 0x1303 +#Define TCM_SETITEMA 0x1306 +#Define TCM_SETITEMEXTRA 0x130e +#Define TCM_SETITEMSIZE 0x1329 +#Define TCM_SETITEMW 0x133d +#Define TCM_SETMINTABWIDTH 0x1331 +#Define TCM_SETPADDING 0x132b +#Define TCM_SETTOOLTIPS 0x132e +#Define TCM_SETUNICODEFORMAT 0x2005 +#Define TCN_FIRST -550 +#Define TCN_FOCUSCHANGE -554 +#Define TCN_GETOBJECT -553 +#Define TCN_KEYDOWN -550 +#Define TCN_LAST -580 +#Define TCN_SELCHANGE -551 +#Define TCN_SELCHANGING -552 +#Define TCS_BOTTOM 0x2 +#Define TCS_BUTTONS 0x100 +#Define TCS_EX_FLATSEPARATORS 0x1 +#Define TCS_EX_REGISTERDROP 0x2 +#Define TCS_FIXEDWIDTH 0x400 +#Define TCS_FLATBUTTONS 0x8 +#Define TCS_FOCUSNEVER 0x8000 +#Define TCS_FOCUSONBUTTONDOWN 0x1000 +#Define TCS_FORCEICONLEFT 0x10 +#Define TCS_FORCELABELLEFT 0x20 +#Define TCS_HOTTRACK 0x40 +#Define TCS_MULTILINE 0x200 +#Define TCS_MULTISELECT 0x4 +#Define TCS_OWNERDRAWFIXED 0x2000 +#Define TCS_RAGGEDRIGHT 0x800 +#Define TCS_RIGHT 0x2 +#Define TCS_RIGHTJUSTIFY 0x0 +#Define TCS_SCROLLOPPOSITE 0x1 +#Define TCS_SINGLELINE 0x0 +#Define TCS_TABS 0x0 +#Define TCS_TOOLTIPS 0x4000 +#Define TCS_VERTICAL 0x80 +#Define THAI_CHARSET 222 +#Define TIME_BYTES 0x4 +#Define TIME_CALLBACK_EVENT_PULSE 0x20 +#Define TIME_CALLBACK_EVENT_SET 0x10 +#Define TIME_CALLBACK_FUNCTION 0x0 +#Define TIME_EXCEEDED 11 +#Define TIME_FORCE24HOURFORMAT 0x8 +#Define TIME_MIDI 0x10 +#Define TIME_MS 0x1 +#Define TIME_NOMINUTESORSECONDS 0x1 +#Define TIME_NOSECONDS 0x2 +#Define TIME_NOTIMEMARKER 0x4 +#Define TIME_ONESHOT 0 +#Define TIME_PERIODIC 1 +#Define TIME_SAMPLES 0x2 +#Define TIME_SMPTE 0x8 +#Define TIME_STAMP_CAPABLE 0x20 +#Define TIME_TICKS 0x20 +#Define TIME_ZONE_ID_DAYLIGHT 2 +#Define TIME_ZONE_ID_INVALID 0xffffffff +#Define TIME_ZONE_ID_STANDARD 1 +#Define TIME_ZONE_ID_UNKNOWN 0 +#Define TMT_ACCENTCOLORHINT 3823 +#Define TMT_ACTIVEBORDER 1611 +#Define TMT_ACTIVECAPTION 1603 +#Define TMT_ALIAS 1404 +#Define TMT_ALPHALEVEL 2402 +#Define TMT_ALPHATHRESHOLD 2415 +#Define TMT_ALWAYSSHOWSIZINGBAR 2208 +#Define TMT_ANIMATIONBUTTONRECT 5005 +#Define TMT_ANIMATIONDELAY 2428 +#Define TMT_ANIMATIONDURATION 5006 +#Define TMT_APPWORKSPACE 1613 +#Define TMT_ATLASIMAGE 8000 +#Define TMT_ATLASINPUTIMAGE 8001 +#Define TMT_ATLASRECT 8002 +#Define TMT_AUTHOR 604 +#Define TMT_AUTOSIZE 2202 +#Define TMT_BACKGROUND 1602 +#Define TMT_BGFILL 2205 +#Define TMT_BGTYPE 4001 +#Define TMT_BITMAPREF 215 +#Define TMT_BLENDCOLOR 5003 +#Define TMT_BODYFONT 809 +#Define TMT_BODYTEXTCOLOR 3827 +#Define TMT_BOOL 203 +#Define TMT_BORDERCOLOR 3801 +#Define TMT_BORDERCOLORHINT 3822 +#Define TMT_BORDERONLY 2203 +#Define TMT_BORDERSIZE 2403 +#Define TMT_BORDERTYPE 4002 +#Define TMT_BTNFACE 1616 +#Define TMT_BTNHIGHLIGHT 1621 +#Define TMT_BTNSHADOW 1617 +#Define TMT_BTNTEXT 1619 +#Define TMT_BUTTONALTERNATEFACE 1626 +#Define TMT_CAPTIONBARHEIGHT 1205 +#Define TMT_CAPTIONBARWIDTH 1204 +#Define TMT_CAPTIONFONT 801 +#Define TMT_CAPTIONMARGINS 3603 +#Define TMT_CAPTIONTEXT 1610 +#Define TMT_CHARSET 403 +#Define TMT_CLASSICVALUE 3202 +#Define TMT_COLOR 204 +#Define TMT_COLORIZATIONCOLOR 2431 +#Define TMT_COLORIZATIONOPACITY 2432 +#Define TMT_COLORSCHEMES 401 +#Define TMT_COMPANY 603 +#Define TMT_COMPOSITED 2204 +#Define TMT_COMPOSITEDOPAQUE 2219 +#Define TMT_CONTENTALIGNMENT 4006 +#Define TMT_CONTENTMARGINS 3602 +#Define TMT_COPYRIGHT 605 +#Define TMT_CSSNAME 1401 +#Define TMT_CUSTOMSPLITRECT 5004 +#Define TMT_DEFAULTPANESIZE 5002 +#Define TMT_DESCRIPTION 608 +#Define TMT_DIBDATA 2 +#Define TMT_DISKSTREAM 213 +#Define TMT_DISPLAYNAME 601 +#Define TMT_DKSHADOW3D 1622 +#Define TMT_DRAWBORDERS 2214 +#Define TMT_EDGEDKSHADOWCOLOR 3807 +#Define TMT_EDGEFILLCOLOR 3808 +#Define TMT_EDGEHIGHLIGHTCOLOR 3805 +#Define TMT_EDGELIGHTCOLOR 3804 +#Define TMT_EDGESHADOWCOLOR 3806 +#Define TMT_ENUM 200 +#Define TMT_FILENAME 206 +#Define TMT_FILLCOLOR 3802 +#Define TMT_FILLCOLORHINT 3821 +#Define TMT_FILLTYPE 4003 +#Define TMT_FIRST_RCSTRING_NAME 601 && TMT_DISPLAYNAME +#Define TMT_FIRSTBOOL 1001 && TMT_FLATMENUS +#Define TMT_FIRSTCOLOR 1601 && TMT_SCROLLBAR +#Define TMT_FIRSTFONT 801 && TMT_CAPTIONFONT +#Define TMT_FIRSTINT 1301 && TMT_MINCOLORDEPTH +#Define TMT_FIRSTSIZE 1201 && TMT_SIZINGBORDERWIDTH +#Define TMT_FIRSTSTRING 1401 && TMT_CSSNAME +#Define TMT_FLATMENUS 1001 +#Define TMT_FONT 210 +#Define TMT_FRAMESPERSECOND 2426 +#Define TMT_FROMCOLOR1 2001 +#Define TMT_FROMCOLOR2 2002 +#Define TMT_FROMCOLOR3 2003 +#Define TMT_FROMCOLOR4 2004 +#Define TMT_FROMCOLOR5 2005 +#Define TMT_FROMHUE1 1801 +#Define TMT_FROMHUE2 1802 +#Define TMT_FROMHUE3 1803 +#Define TMT_FROMHUE4 1804 +#Define TMT_FROMHUE5 1805 +#Define TMT_GLOWCOLOR 3816 +#Define TMT_GLOWINTENSITY 2429 +#Define TMT_GLYPHDIBDATA 8 +#Define TMT_GLYPHFONT 2601 +#Define TMT_GLYPHFONTSIZINGTYPE 4014 +#Define TMT_GLYPHIMAGEFILE 3008 +#Define TMT_GLYPHINDEX 2418 +#Define TMT_GLYPHONLY 2207 +#Define TMT_GLYPHTEXTCOLOR 3819 +#Define TMT_GLYPHTRANSPARENT 2206 +#Define TMT_GLYPHTRANSPARENTCOLOR 3820 +#Define TMT_GLYPHTYPE 4012 +#Define TMT_GRADIENTACTIVECAPTION 1628 +#Define TMT_GRADIENTCOLOR1 3810 +#Define TMT_GRADIENTCOLOR2 3811 +#Define TMT_GRADIENTCOLOR3 3812 +#Define TMT_GRADIENTCOLOR4 3813 +#Define TMT_GRADIENTCOLOR5 3814 +#Define TMT_GRADIENTINACTIVECAPTION 1629 +#Define TMT_GRADIENTRATIO1 2406 +#Define TMT_GRADIENTRATIO2 2407 +#Define TMT_GRADIENTRATIO3 2408 +#Define TMT_GRADIENTRATIO4 2409 +#Define TMT_GRADIENTRATIO5 2410 +#Define TMT_GRAYTEXT 1618 +#Define TMT_HALIGN 4005 +#Define TMT_HBITMAP 212 +#Define TMT_HEADING1FONT 807 +#Define TMT_HEADING1TEXTCOLOR 3825 +#Define TMT_HEADING2FONT 808 +#Define TMT_HEADING2TEXTCOLOR 3826 +#Define TMT_HEIGHT 2417 +#Define TMT_HIGHLIGHT 1614 +#Define TMT_HIGHLIGHTTEXT 1615 +#Define TMT_HOTTRACKING 1627 +#Define TMT_ICONEFFECT 4009 +#Define TMT_ICONTITLEFONT 806 +#Define TMT_IMAGECOUNT 2401 +#Define TMT_IMAGEFILE 3001 +#Define TMT_IMAGEFILE1 3002 +#Define TMT_IMAGEFILE2 3003 +#Define TMT_IMAGEFILE3 3004 +#Define TMT_IMAGEFILE4 3005 +#Define TMT_IMAGEFILE5 3006 +#Define TMT_IMAGELAYOUT 4011 +#Define TMT_IMAGESELECTTYPE 4013 +#Define TMT_INACTIVEBORDER 1612 +#Define TMT_INACTIVECAPTION 1604 +#Define TMT_INACTIVECAPTIONTEXT 1620 +#Define TMT_INFOBK 1625 +#Define TMT_INFOTEXT 1624 +#Define TMT_INT 202 +#Define TMT_INTEGRALSIZING 2211 +#Define TMT_INTLIST 211 +#Define TMT_LAST_RCSTRING_NAME 608 && TMT_DESCRIPTION +#Define TMT_LASTBOOL 1001 && TMT_FLATMENUS +#Define TMT_LASTCOLOR 1631 && TMT_MENUBAR +#Define TMT_LASTFONT 809 && TMT_BODYFONT +#Define TMT_LASTINT 1301 && TMT_MINCOLORDEPTH +#Define TMT_LASTSIZE 1210 && TMT_PADDEDBORDERWIDTH +#Define TMT_LASTSTRING 1404 && TMT_ALIAS +#Define TMT_LASTUPDATED 1403 +#Define TMT_LIGHT3D 1623 +#Define TMT_LOCALIZEDMIRRORIMAGE 2220 +#Define TMT_MARGINS 205 +#Define TMT_MENU 1605 +#Define TMT_MENUBAR 1631 +#Define TMT_MENUBARHEIGHT 1209 +#Define TMT_MENUBARWIDTH 1208 +#Define TMT_MENUFONT 803 +#Define TMT_MENUHILIGHT 1630 +#Define TMT_MENUTEXT 1608 +#Define TMT_MINCOLORDEPTH 1301 +#Define TMT_MINDPI1 2420 +#Define TMT_MINDPI2 2421 +#Define TMT_MINDPI3 2422 +#Define TMT_MINDPI4 2423 +#Define TMT_MINDPI5 2424 +#Define TMT_MINSIZE 3403 +#Define TMT_MINSIZE1 3404 +#Define TMT_MINSIZE2 3405 +#Define TMT_MINSIZE3 3406 +#Define TMT_MINSIZE4 3407 +#Define TMT_MINSIZE5 3408 +#Define TMT_MIRRORIMAGE 2209 +#Define TMT_MSGBOXFONT 805 +#Define TMT_NAME 600 +#Define TMT_NOETCHEDEFFECT 2215 +#Define TMT_NORMALSIZE 3409 +#Define TMT_OFFSET 3401 +#Define TMT_OFFSETTYPE 4008 +#Define TMT_OPACITY 2430 +#Define TMT_PADDEDBORDERWIDTH 1210 +#Define TMT_PIXELSPERFRAME 2427 +#Define TMT_POSITION 208 +#Define TMT_PROGRESSCHUNKSIZE 2411 +#Define TMT_PROGRESSSPACESIZE 2412 +#Define TMT_RECT 209 +#Define TMT_RESERVEDHIGH 7999 +#Define TMT_RESERVEDLOW 0 +#Define TMT_ROUNDCORNERHEIGHT 2405 +#Define TMT_ROUNDCORNERWIDTH 2404 +#Define TMT_SATURATION 2413 +#Define TMT_SCALEDBACKGROUND 7001 +#Define TMT_SCROLLBAR 1601 +#Define TMT_SCROLLBARHEIGHT 1203 +#Define TMT_SCROLLBARWIDTH 1202 +#Define TMT_SHADOWCOLOR 3815 +#Define TMT_SIZE 207 +#Define TMT_SIZES 402 +#Define TMT_SIZINGBORDERWIDTH 1201 +#Define TMT_SIZINGMARGINS 3601 +#Define TMT_SIZINGTYPE 4004 +#Define TMT_SMALLCAPTIONFONT 802 +#Define TMT_SMCAPTIONBARHEIGHT 1207 +#Define TMT_SMCAPTIONBARWIDTH 1206 +#Define TMT_SOURCEGROW 2212 +#Define TMT_SOURCESHRINK 2213 +#Define TMT_STATUSFONT 804 +#Define TMT_STREAM 214 +#Define TMT_STRING 201 +#Define TMT_TEXT 3201 +#Define TMT_TEXTAPPLYOVERLAY 2216 +#Define TMT_TEXTBORDERCOLOR 3817 +#Define TMT_TEXTBORDERSIZE 2414 +#Define TMT_TEXTCOLOR 3803 +#Define TMT_TEXTCOLORHINT 3824 +#Define TMT_TEXTGLOW 2217 +#Define TMT_TEXTGLOWSIZE 2425 +#Define TMT_TEXTITALIC 2218 +#Define TMT_TEXTSHADOWCOLOR 3818 +#Define TMT_TEXTSHADOWOFFSET 3402 +#Define TMT_TEXTSHADOWTYPE 4010 +#Define TMT_TOCOLOR1 2006 +#Define TMT_TOCOLOR2 2007 +#Define TMT_TOCOLOR3 2008 +#Define TMT_TOCOLOR4 2009 +#Define TMT_TOCOLOR5 2010 +#Define TMT_TOHUE1 1806 +#Define TMT_TOHUE2 1807 +#Define TMT_TOHUE3 1808 +#Define TMT_TOHUE4 1809 +#Define TMT_TOHUE5 1810 +#Define TMT_TOOLTIP 602 +#Define TMT_TRANSITIONDURATIONS 6000 +#Define TMT_TRANSPARENT 2201 +#Define TMT_TRANSPARENTCOLOR 3809 +#Define TMT_TRUESIZESCALINGTYPE 4015 +#Define TMT_TRUESIZESTRETCHMARK 2419 +#Define TMT_UNIFORMSIZING 2210 +#Define TMT_URL 606 +#Define TMT_USERPICTURE 5001 +#Define TMT_VALIGN 4007 +#Define TMT_VERSION 607 +#Define TMT_WIDTH 2416 +#Define TMT_WINDOW 1606 +#Define TMT_WINDOWFRAME 1607 +#Define TMT_WINDOWTEXT 1609 +#Define TMT_XMLNAME 1402 +#Define TOOLTIPS_CLASSA "tooltips_class32" +#Define TOOLTIPS_CLASSW "tooltips_class32" +#Define TPM_BOTTOMALIGN 0x20 +#Define TPM_CENTERALIGN 0x4 +#Define TPM_HORIZONTAL 0x0 +#Define TPM_HORNEGANIMATION 0x800 +#Define TPM_HORPOSANIMATION 0x400 +#Define TPM_LAYOUTRTL 0x8000 +#Define TPM_LEFTALIGN 0x0 +#Define TPM_LEFTBUTTON 0x0 +#Define TPM_NOANIMATION 0x4000 +#Define TPM_NONOTIFY 0x80 +#Define TPM_RECURSE 0x1 +#Define TPM_RETURNCMD 0x100 +#Define TPM_RIGHTALIGN 0x8 +#Define TPM_RIGHTBUTTON 0x2 +#Define TPM_TOPALIGN 0x0 +#Define TPM_VCENTERALIGN 0x10 +#Define TPM_VERNEGANIMATION 0x2000 +#Define TPM_VERPOSANIMATION 0x1000 +#Define TPM_VERTICAL 0x40 +#Define TRACKBAR_CLASS "msctls_trackbar" +#Define TRACKBAR_CLASSA "msctls_trackbar32" +#Define TRACKBAR_CLASSW "msctls_trackbar32" +#Define TRUNCATE_EXISTING 5 +#Define TS_DRAW 2 +#Define TS_MIN 0 +#Define TS_TRUE 1 +#Define TTDT_AUTOMATIC 0 +#Define TTDT_AUTOPOP 2 +#Define TTDT_INITIAL 3 +#Define TTDT_RESHOW 1 +#Define TTF_ABSOLUTE 0x80 +#Define TTF_BITMAP 0x10000 && VISTA +#Define TTF_CENTERTIP 0x2 +#Define TTF_DI_SETITEM 0x8000 +#Define TTF_IDISHWND 0x1 +#Define TTF_PARSELINKS 0x1000 +#Define TTF_RTLREADING 0x4 +#Define TTF_SUBCLASS 0x10 +#Define TTF_TRACK 0x20 +#Define TTF_TRANSPARENT 0x100 +#Define TTI_ERROR 3 +#Define TTI_ERROR_LARGE 6 && VISTA +#Define TTI_INFO 1 +#Define TTI_INFO_LARGE 4 && VISTA +#Define TTI_NONE 0 +#Define TTI_WARNING 2 +#Define TTI_WARNING_LARGE 5 && VISTA +#Define TTM_ACTIVATE 0x401 +#Define TTM_ADDTOOLA 0x404 +#Define TTM_ADDTOOLW 0x432 +#Define TTM_ADJUSTRECT 0x41f +#Define TTM_DELTOOLA 0x405 +#Define TTM_DELTOOLW 0x433 +#Define TTM_ENUMTOOLSA 0x40e +#Define TTM_ENUMTOOLSW 0x43a +#Define TTM_GETBUBBLESIZE 0x41e +#Define TTM_GETCURRENTTOOLA 0x40f +#Define TTM_GETCURRENTTOOLW 0x43b +#Define TTM_GETDELAYTIME 0x415 +#Define TTM_GETMARGIN 0x41b +#Define TTM_GETMAXTIPWIDTH 0x419 +#Define TTM_GETTEXTA 0x40b +#Define TTM_GETTEXTW 0x438 +#Define TTM_GETTIPBKCOLOR 0x416 +#Define TTM_GETTIPTEXTCOLOR 0x417 +#Define TTM_GETTOOLCOUNT 0x40d +#Define TTM_GETTOOLINFOA 0x408 +#Define TTM_GETTOOLINFOW 0x435 +#Define TTM_HITTESTA 0x40a +#Define TTM_HITTESTW 0x437 +#Define TTM_NEWTOOLRECTA 0x406 +#Define TTM_NEWTOOLRECTW 0x434 +#Define TTM_POP 0x41c +#Define TTM_POPUP 0x422 +#Define TTM_RELAYEVENT 0x407 +#Define TTM_SETDELAYTIME 0x403 +#Define TTM_SETMARGIN 0x41a +#Define TTM_SETMAXTIPWIDTH 0x418 +#Define TTM_SETTIPBKCOLOR 0x413 +#Define TTM_SETTIPTEXTCOLOR 0x414 +#Define TTM_SETTITLEA 0x420 +#Define TTM_SETTITLEW 0x421 +#Define TTM_SETTOOLINFOA 0x409 +#Define TTM_SETTOOLINFOW 0x436 +#Define TTM_SETWINDOWTHEME 0x200B +#Define TTM_TRACKACTIVATE 0x411 +#Define TTM_TRACKPOSITION 0x412 +#Define TTM_UPDATE 0x41d +#Define TTM_UPDATETIPTEXTA 0x40c +#Define TTM_UPDATETIPTEXTW 0x439 +#Define TTM_WINDOWFROMPOINT 0x410 +#Define TTN_FIRST -520 +#Define TTN_GETDISPINFO -520 +#Define TTN_GETDISPINFOA -520 +#Define TTN_GETDISPINFOW -530 +#Define TTN_LAST -549 +#Define TTN_LINKCLICK -523 +#Define TTN_NEEDTEXT -520 +#Define TTN_NEEDTEXTA -520 +#Define TTN_NEEDTEXTW -530 +#Define TTN_POP -522 +#Define TTN_SHOW -521 +#Define TTS_ALWAYSTIP 0x1 +#Define TTS_BALLOON 0x40 +#Define TTS_CLOSE 0x80 +#Define TTS_NOANIMATE 0x10 +#Define TTS_NOFADE 0x20 +#Define TTS_NOPREFIX 0x2 +#Define TTS_USEVISUALSTYLE 0x100 && VISTA +#Define TURKISH_CHARSET 162 + +#Define UDM_GETACCEL (0x400+108) +#Define UDM_GETBASE (0x400+110) +#Define UDM_GETBUDDY (0x400+106) +#Define UDM_GETPOS (0x400+104) +#Define UDM_GETPOS32 (0x400+114) +#Define UDM_GETRANGE (0x400+102) +#Define UDM_GETRANGE32 (0x400+112) +#Define UDM_GETUNICODEFORMAT (0x2000+6) +#Define UDM_SETACCEL (0x400+107) +#Define UDM_SETBASE (0x400+109) +#Define UDM_SETBUDDY (0x400+105) +#Define UDM_SETPOS (0x400+103) +#Define UDM_SETPOS32 (0x400+113) +#Define UDM_SETRANGE (0x400+101) +#Define UDM_SETRANGE32 (0x400+111) +#Define UDM_SETUNICODEFORMAT (0x2000+5) + +#Define UDS_ALIGNLEFT 0x8 +#Define UDS_ALIGNRIGHT 0x4 +#Define UDS_ARROWKEYS 0x20 +#Define UDS_AUTOBUDDY 0x10 +#Define UDS_HORZ 0x40 +#Define UDS_HOTTRACK 0x100 +#Define UDS_NOTHOUSANDS 0x80 +#Define UDS_SETBUDDYINT 0x2 +#Define UDS_WRAP 0x1 + +#Define UISF_ACTIVE 4 +#Define UIS_CLEAR 2 +#Define UIS_INITIALIZE 3 +#Define UIS_SET 1 +#Define UISF_HIDEACCEL 0x2 +#Define UISF_HIDEFOCUS 0x1 + +#Define UPDOWN_CLASS "msctls_updown" +#Define UPDOWN_CLASSA "msctls_updown32" +#Define UPDOWN_CLASSW "msctls_updown32" + +#Define UNLEN 256 + +#Define VIETNAMESE_CHARSET 163 +#Define VK_CAPITAL 0x14 +#Define VK_ESCAPE 0x1b +#Define VK_SHIFT 0x10 +#Define VK_TAB 0x09 +#Define VK_RETURN 0x0d + +#Define WA_ACTIVE 1 +#Define WA_CLICKACTIVE 2 +#Define WA_INACTIVE 0 + +#Define WC_SCROLLBARA "ScrollBar" +#Define WC_SCROLLBARW "ScrollBar" +#Define WC_STATICA "Static" +#Define WC_STATICW "Static" +#Define WC_TABCONTROLA "SysTabControl32" +#Define WC_TABCONTROLW "SysTabControl32" + +#Define WHEEL_DELTA 120 + +#Define WM_ACTIVATE 0x6 +#Define WM_ACTIVATEAPP 0x1C +#Define WM_ADSPROP_NOTIFY_APPLY 0x850 +#Define WM_ADSPROP_NOTIFY_CHANGE 0x84f +#Define WM_ADSPROP_NOTIFY_ERROR 0x856 +#Define WM_ADSPROP_NOTIFY_EXIT 0x853 +#Define WM_ADSPROP_NOTIFY_FOREGROUND 0x852 +#Define WM_ADSPROP_NOTIFY_PAGEHWND 0x84e +#Define WM_ADSPROP_NOTIFY_PAGEINIT 0x84d +#Define WM_ADSPROP_NOTIFY_SETFOCUS 0x851 +#Define WM_ADSPROP_NOTIFY_SHOW_ERROR_DIALOG 0x857 +#Define WM_AFXFIRST 0x360 +#Define WM_AFXLAST 0x37F +#Define WM_APP 0x8000 +#Define WM_APPCOMMAND 0x319 +#Define WM_ASKCBFORMATNAME 0x30C +#Define WM_CANCELJOURNAL 0x4B +#Define WM_CANCELMODE 0x1F +#Define WM_CAPTURECHANGED 0x215 +#Define WM_CHANGECBCHAIN 0x30D +#Define WM_CHANGEUISTATE 0x127 +#Define WM_CHAR 0x102 +#Define WM_CHARTOITEM 0x2F +#Define WM_CHILDACTIVATE 0x22 +#Define WM_CHOOSEFONT_GETLOGFONT 0x401 +#Define WM_CHOOSEFONT_SETFLAGS 0x466 +#Define WM_CHOOSEFONT_SETLOGFONT 0x465 +#Define WM_CLEAR 0x303 +#Define WM_CLOSE 0x10 +#Define WM_COMMAND 0x111 +#Define WM_COMMNOTIFY 0x44 +#Define WM_COMPACTING 0x41 +#Define WM_COMPAREITEM 0x39 +#Define WM_CONTEXTMENU 0x7B +#Define WM_CONVERTREQUEST 0x10A +#Define WM_CONVERTREQUESTEX 0x108 +#Define WM_CONVERTRESULT 0x10B +#Define WM_COPY 0x301 +#Define WM_COPYDATA 0x4A +#Define WM_CPL_LAUNCH 0x7e8 +#Define WM_CPL_LAUNCHED 0x7e9 +#Define WM_CREATE 0x1 +#Define WM_CTLCOLOR 0x19 +#Define WM_CTLCOLORBTN 0x135 +#Define WM_CTLCOLORDLG 0x136 +#Define WM_CTLCOLOREDIT 0x133 +#Define WM_CTLCOLORLISTBOX 0x134 +#Define WM_CTLCOLORMSGBOX 0x132 +#Define WM_CTLCOLORSCROLLBAR 0x137 +#Define WM_CTLCOLORSTATIC 0x138 +#Define WM_CUT 0x300 +#Define WM_DDE_ACK 0x3e4 +#Define WM_DDE_ADVISE 0x3e2 +#Define WM_DDE_DATA 0x3e5 +#Define WM_DDE_EXECUTE 0x3e8 +#Define WM_DDE_FIRST 0x3E0 +#Define WM_DDE_INITIATE 0x3e0 +#Define WM_DDE_LAST 0x3e8 +#Define WM_DDE_POKE 0x3e7 +#Define WM_DDE_REQUEST 0x3e6 +#Define WM_DDE_TERMINATE 0x3e1 +#Define WM_DDE_UNADVISE 0x3e3 +#Define WM_DEADCHAR 0x103 +#Define WM_DELETEITEM 0x2D +#Define WM_DESTROY 0x2 +#Define WM_DESTROYCLIPBOARD 0x307 +#Define WM_DEVICECHANGE 0x219 +#Define WM_DEVMODECHANGE 0x1B +#Define WM_DISPLAYCHANGE 0x7E +#Define WM_DRAWCLIPBOARD 0x308 +#Define WM_DRAWITEM 0x2B +#Define WM_DROPFILES 0x233 +#Define WM_ENABLE 0xA +#Define WM_ENDSESSION 0x16 +#Define WM_ENTERIDLE 0x121 +#Define WM_ENTERMENULOOP 0x211 +#Define WM_ENTERSIZEMOVE 0x231 +#Define WM_ERASEBKGND 0x14 +#Define WM_EXITMENULOOP 0x212 +#Define WM_EXITSIZEMOVE 0x232 +#Define WM_FONTCHANGE 0x1D +#Define WM_FORWARDMSG 0x37F +#Define WM_GETDLGCODE 0x87 +#Define WM_GETFONT 0x31 +#Define WM_GETHOTKEY 0x33 +#Define WM_GETICON 0x7F +#Define WM_GETMINMAXINFO 0x24 +#Define WM_GETOBJECT 0x3D +#Define WM_GETTEXT 0xD +#Define WM_GETTEXTLENGTH 0xE +#Define WM_HANDHELDFIRST 0x358 +#Define WM_HANDHELDLAST 0x35F +#Define WM_HELP 0x53 +#Define WM_HOTKEY 0x312 +#Define WM_HSCROLL 0x114 +#Define WM_HSCROLLCLIPBOARD 0x30E +#Define WM_ICONERASEBKGND 0x27 +#Define WM_IME_CHAR 0x286 +#Define WM_IME_COMPOSITION 0x10F +#Define WM_IME_COMPOSITIONFULL 0x284 +#Define WM_IME_CONTROL 0x283 +#Define WM_IME_ENDCOMPOSITION 0x10E +#Define WM_IME_KEYDOWN 0x290 +#Define WM_IME_KEYLAST 0x10F +#Define WM_IME_KEYUP 0x291 +#Define WM_IME_NOTIFY 0x282 +#Define WM_IME_REPORT 0x280 +#Define WM_IME_REQUEST 0x288 +#Define WM_IME_SELECT 0x285 +#Define WM_IME_SETCONTEXT 0x281 +#Define WM_IME_STARTCOMPOSITION 0x10D +#Define WM_IMEKEYDOWN 0x290 +#Define WM_IMEKEYUP 0x291 +#Define WM_INITDIALOG 0x110 +#Define WM_INITMENU 0x116 +#Define WM_INITMENUPOPUP 0x117 +#Define WM_INPUTLANGCHANGE 0x51 +#Define WM_INPUTLANGCHANGEREQUEST 0x50 +#Define WM_INTERIM 0x10C +#Define WM_KEYDOWN 0x100 +#Define WM_KEYFIRST 0x100 +#Define WM_KEYLAST 0x108 +#Define WM_KEYUP 0x101 +#Define WM_KILLFOCUS 0x8 +#Define WM_LBUTTONDBLCLK 0x203 +#Define WM_LBUTTONDOWN 0x201 +#Define WM_LBUTTONUP 0x202 +#Define WM_MBUTTONDBLCLK 0x209 +#Define WM_MBUTTONDOWN 0x207 +#Define WM_MBUTTONUP 0x208 +#Define WM_MDIACTIVATE 0x222 +#Define WM_MDICASCADE 0x227 +#Define WM_MDICREATE 0x220 +#Define WM_MDIDESTROY 0x221 +#Define WM_MDIGETACTIVE 0x229 +#Define WM_MDIICONARRANGE 0x228 +#Define WM_MDIMAXIMIZE 0x225 +#Define WM_MDINEXT 0x224 +#Define WM_MDIREFRESHMENU 0x234 +#Define WM_MDIRESTORE 0x223 +#Define WM_MDISETMENU 0x230 +#Define WM_MDITILE 0x226 +#Define WM_MEASUREITEM 0x2C +#Define WM_MENUCHAR 0x120 +#Define WM_MENUCOMMAND 0x126 +#Define WM_MENUDRAG 0x123 +#Define WM_MENUGETOBJECT 0x124 +#Define WM_MENURBUTTONUP 0x122 +#Define WM_MENUSELECT 0x11F +#Define WM_MOUSEACTIVATE 0x21 +#Define WM_MOUSEFIRST 0x200 +#Define WM_MOUSEHOVER 0x2A1 +#Define WM_MOUSELAST 0x209 +#Define WM_MOUSELEAVE 0x2A3 +#Define WM_MOUSEMOVE 0x200 +#Define WM_MOUSEWHEEL 0x20A +#Define WM_MOVE 0x3 +#Define WM_MOVING 0x216 +#Define WM_NCACTIVATE 0x86 +#Define WM_NCCALCSIZE 0x83 +#Define WM_NCCREATE 0x81 +#Define WM_NCDESTROY 0x82 +#Define WM_NCHITTEST 0x84 +#Define WM_NCLBUTTONDBLCLK 0xA3 +#Define WM_NCLBUTTONDOWN 0xA1 +#Define WM_NCLBUTTONUP 0xA2 +#Define WM_NCMBUTTONDBLCLK 0xA9 +#Define WM_NCMBUTTONDOWN 0xA7 +#Define WM_NCMBUTTONUP 0xA8 +#Define WM_NCMOUSEHOVER 0x2A0 +#Define WM_NCMOUSELEAVE 0x2A2 +#Define WM_NCMOUSEMOVE 0xA0 +#Define WM_NCPAINT 0x85 +#Define WM_NCRBUTTONDBLCLK 0xA6 +#Define WM_NCRBUTTONDOWN 0xA4 +#Define WM_NCRBUTTONUP 0xA5 +#Define WM_NCXBUTTONDBLCLK 0xAD +#Define WM_NCXBUTTONDOWN 0xAB +#Define WM_NCXBUTTONUP 0xAC +#Define WM_NEXTDLGCTL 0x28 +#Define WM_NEXTMENU 0x213 +#Define WM_NOTIFY 0x4E +#Define WM_NOTIFYFORMAT 0x55 +#Define WM_NULL 0x0 +#Define WM_OTHERWINDOWCREATED 0x42 +#Define WM_OTHERWINDOWDESTROYED 0x43 +#Define WM_PAINT 0xF +#Define WM_PAINTCLIPBOARD 0x309 +#Define WM_PAINTICON 0x26 +#Define WM_PALETTECHANGED 0x311 +#Define WM_PALETTEISCHANGING 0x310 +#Define WM_PARENTNOTIFY 0x210 +#Define WM_PASTE 0x302 +#Define WM_PENWINFIRST 0x380 +#Define WM_PENWINLAST 0x38F +#Define WM_POWER 0x48 +#Define WM_POWERBROADCAST 0x218 +#Define WM_PRINT 0x317 +#Define WM_PRINTCLIENT 0x318 +#Define WM_PSD_ENVSTAMPRECT 0x405 +#Define WM_PSD_FULLPAGERECT 0x401 +#Define WM_PSD_GREEKTEXTRECT 0x404 +#Define WM_PSD_MARGINRECT 0x403 +#Define WM_PSD_MINMARGINRECT 0x402 +#Define WM_PSD_PAGESETUPDLG 0x400 +#Define WM_PSD_YAFULLPAGERECT 0x406 +#Define WM_QUERYDRAGICON 0x37 +#Define WM_QUERYENDSESSION 0x11 +#Define WM_QUERYNEWPALETTE 0x30F +#Define WM_QUERYOPEN 0x13 +#Define WM_QUERYUISTATE 0x129 +#Define WM_QUEUESYNC 0x23 +#Define WM_QUIT 0x12 +#Define WM_RASDIALEVENT 0xCCCD +#Define WM_RBUTTONDBLCLK 0x206 +#Define WM_RBUTTONDOWN 0x204 +#Define WM_RBUTTONUP 0x205 +#Define WM_RENDERALLFORMATS 0x306 +#Define WM_RENDERFORMAT 0x305 +#Define WM_SETCURSOR 0x20 +#Define WM_SETFOCUS 0x7 +#Define WM_SETFONT 0x30 +#Define WM_SETHOTKEY 0x32 +#Define WM_SETICON 0x80 +#Define WM_SETREDRAW 0xB +#Define WM_SETTEXT 0xC +#Define WM_SETTINGCHANGE 0x1A +#Define WM_SHOWWINDOW 0x18 +#Define WM_SIZE 0x5 +#Define WM_SIZECLIPBOARD 0x30B +#Define WM_SIZING 0x214 +#Define WM_SPOOLERSTATUS 0x2A +#Define WM_STYLECHANGED 0x7D +#Define WM_STYLECHANGING 0x7C +#Define WM_SYNCPAINT 0x88 +#Define WM_SYSCHAR 0x106 +#Define WM_SYSCOLORCHANGE 0x15 +#Define WM_SYSCOMMAND 0x112 +#Define WM_SYSDEADCHAR 0x107 +#Define WM_SYSKEYDOWN 0x104 +#Define WM_SYSKEYUP 0x105 +#Define WM_SYSTIMER 0x0118 +#Define WM_TCARD 0x52 +#Define WM_THEMECHANGED 0x031A +#Define WM_TIMECHANGE 0x1E +#Define WM_TIMER 0x113 +#Define WM_UNDO 0x304 +#Define WM_UNINITMENUPOPUP 0x125 +#Define WM_UPDATEUISTATE 0x128 +#Define WM_USER 0x400 +#Define WM_USERCHANGED 0x54 +#Define WM_VKEYTOITEM 0x2E +#Define WM_VSCROLL 0x115 +#Define WM_VSCROLLCLIPBOARD 0x30A +#Define WM_WINDOWPOSCHANGED 0x47 +#Define WM_WINDOWPOSCHANGING 0x46 +#Define WM_WININICHANGE 0x1A +#Define WM_WNT_CONVERTREQUESTEX 0x109 +#Define WM_XBUTTONDBLCLK 0x20D +#Define WM_XBUTTONDOWN 0x20B +#Define WM_XBUTTONUP 0x20C +#Define WPF_ASYNCWINDOWPLACEMENT 0x4 +#Define WPF_RESTORETOMAXIMIZED 0x2 +#Define WPF_SETMINPOSITION 0x1 +#Define WRITE_DAC 0x40000 +#Define WRITE_OWNER 0x80000 +#Define WS_ACTIVECAPTION 0x1 +#Define WS_BORDER 0x800000 +#Define WS_CAPTION 0xC00000 +#Define WS_CHILD 0x40000000 +#Define WS_CHILDWINDOW 0x40000000 +#Define WS_CLIPCHILDREN 0x2000000 +#Define WS_CLIPSIBLINGS 0x4000000 +#Define WS_DISABLED 0x8000000 +#Define WS_DLGFRAME 0x400000 +#Define WS_EX_ACCEPTFILES 0x10 +#Define WS_EX_APPWINDOW 0x40000 +#Define WS_EX_CLIENTEDGE 0x200 +#Define WS_EX_CONTEXTHELP 0x400 +#Define WS_EX_CONTROLPARENT 0x10000 +#Define WS_EX_DLGMODALFRAME 0x1 +#Define WS_EX_LAYERED 0x80000 +#Define WS_EX_LAYOUTRTL 0x400000 +#Define WS_EX_LEFT 0x0 +#Define WS_EX_LEFTSCROLLBAR 0x4000 +#Define WS_EX_LTRREADING 0x0 +#Define WS_EX_MDICHILD 0x40 +#Define WS_EX_NOACTIVATE 0x8000000 +#Define WS_EX_NOINHERITLAYOUT 0x100000 +#Define WS_EX_NOPARENTNOTIFY 0x4 +#Define WS_EX_OVERLAPPEDWINDOW 0x300 +#Define WS_EX_PALETTEWINDOW 0x188 +#Define WS_EX_RIGHT 0x1000 +#Define WS_EX_RIGHTSCROLLBAR 0x0 +#Define WS_EX_RTLREADING 0x2000 +#Define WS_EX_STATICEDGE 0x20000 +#Define WS_EX_TOOLWINDOW 0x80 +#Define WS_EX_TOPMOST 0x8 +#Define WS_EX_TRANSPARENT 0x20 +#Define WS_EX_WINDOWEDGE 0x100 +#Define WS_GROUP 0x20000 +#Define WS_GT 0x30000 +#Define WS_HSCROLL 0x100000 +#Define WS_ICONIC 0x20000000 +#Define WS_MAXIMIZE 0x1000000 +#Define WS_MAXIMIZEBOX 0x10000 +#Define WS_MINIMIZE 0x20000000 +#Define WS_MINIMIZEBOX 0x20000 +#Define WS_OVERLAPPED 0x0 +#Define WS_OVERLAPPEDWINDOW 0xCF0000 +#Define WS_POPUP 0x80000000 +#Define WS_POPUPWINDOW 0x80880000 +#Define WS_SIZEBOX 0x40000 +#Define WS_SYSMENU 0x80000 +#Define WS_TABSTOP 0x10000 +#Define WS_THICKFRAME 0x40000 +#Define WS_TILED 0x0 +#Define WS_TILEDWINDOW 0xCF0000 +#Define WS_VISIBLE 0x10000000 +#Define WS_VSCROLL 0x200000 + +#Define XMLELEMTYPE_ELEMENT 0 +#Define XMLELEMTYPE_TEXT 1 +#Define XMLELEMTYPE_COMMENT 2 +#Define XMLELEMTYPE_DOCUMENT 3 +#Define XMLELEMTYPE_DTD 4 +#Define XMLELEMTYPE_PI 5 +#Define XMLELEMTYPE_OTHER 6 + +******************************************************************************** +*!* From vsstyle.h uxtheme.h +******************************************************************************** +#Define ABS_DOWNDISABLED 8 +#Define ABS_DOWNHOT 6 +#Define ABS_DOWNHOVER 18 +#Define ABS_DOWNNORMAL 5 +#Define ABS_DOWNPRESSED 7 +#Define ABS_LEFTDISABLED 12 +#Define ABS_LEFTHOT 10 +#Define ABS_LEFTHOVER 19 +#Define ABS_LEFTNORMAL 9 +#Define ABS_LEFTPRESSED 11 +#Define ABS_RIGHTDISABLED 16 +#Define ABS_RIGHTHOT 14 +#Define ABS_RIGHTHOVER 20 +#Define ABS_RIGHTNORMAL 13 +#Define ABS_RIGHTPRESSED 15 +#Define ABS_UPDISABLED 4 +#Define ABS_UPHOT 2 +#Define ABS_UPHOVER 17 +#Define ABS_UPNORMAL 1 +#Define ABS_UPPRESSED 3 +#Define AW_BUTTON 5 +#Define AW_COMMANDAREA 4 +#Define AW_CONTENTAREA 3 +#Define AW_HEADERAREA 2 +#Define AW_S_CONTENTAREA_NOMARGIN 1 +#Define AW_S_HEADERAREA_NOMARGIN 1 +#Define AW_S_TITLEBAR_ACTIVE 1 +#Define AW_S_TITLEBAR_INACTIVE 2 +#Define AW_TITLEBAR 1 +#Define BP_CHECKBOX 3 +#Define BP_COMMANDLINK 6 +#Define BP_COMMANDLINKGLYPH 7 +#Define BP_GROUPBOX 4 +#Define BP_PUSHBUTTON 1 +#Define BP_RADIOBUTTON 2 +#Define BP_USERBUTTON 5 +#Define CBB_DISABLED 4 +#Define CBB_FOCUSED 3 +#Define CBB_HOT 2 +#Define CBB_NORMAL 1 +#Define CBCB_DISABLED 4 +#Define CBCB_HOT 2 +#Define CBCB_NORMAL 1 +#Define CBCB_PRESSED 3 +#Define CBRO_DISABLED 4 +#Define CBRO_HOT 2 +#Define CBRO_NORMAL 1 +#Define CBRO_PRESSED 3 +#Define CBS_CHECKEDDISABLED 8 +#Define CBS_CHECKEDHOT 6 +#Define CBS_CHECKEDNORMAL 5 +#Define CBS_CHECKEDPRESSED 7 +#Define CBS_DISABLED 4 +#Define CBS_EXCLUDEDDISABLED 20 +#Define CBS_EXCLUDEDHOT 18 +#Define CBS_EXCLUDEDNORMAL 17 +#Define CBS_EXCLUDEDPRESSED 19 +#Define CBS_HOT 2 +#Define CBS_IMPLICITDISABLED 16 +#Define CBS_IMPLICITHOT 14 +#Define CBS_IMPLICITNORMAL 13 +#Define CBS_IMPLICITPRESSED 15 +#Define CBS_MIXEDDISABLED 12 +#Define CBS_MIXEDHOT 10 +#Define CBS_MIXEDNORMAL 9 +#Define CBS_MIXEDPRESSED 11 +#Define CBS_NORMAL 1 +#Define CBS_PUSHED 3 +#Define CBS_UNCHECKEDDISABLED 4 +#Define CBS_UNCHECKEDHOT 2 +#Define CBS_UNCHECKEDNORMAL 1 +#Define CBS_UNCHECKEDPRESSED 3 +#Define CBTBS_DISABLED 3 +#Define CBTBS_FOCUSED 4 +#Define CBTBS_HOT 2 +#Define CBTBS_NORMAL 1 +#Define CBXS_DISABLED 4 +#Define CBXS_HOT 2 +#Define CBXS_NORMAL 1 +#Define CBXS_PRESSED 3 +#Define CBXSL_DISABLED 4 +#Define CBXSL_HOT 2 +#Define CBXSL_NORMAL 1 +#Define CBXSL_PRESSED 3 +#Define CBXSR_DISABLED 4 +#Define CBXSR_HOT 2 +#Define CBXSR_NORMAL 1 +#Define CBXSR_PRESSED 3 +#Define CHEVS_HOT 2 +#Define CHEVS_NORMAL 1 +#Define CHEVS_PRESSED 3 +#Define CHEVSV_HOT 2 +#Define CHEVSV_NORMAL 1 +#Define CHEVSV_PRESSED 3 +#Define CMDLGS_DEFAULTED 5 +#Define CMDLGS_DISABLED 4 +#Define CMDLGS_HOT 2 +#Define CMDLGS_NORMAL 1 +#Define CMDLGS_PRESSED 3 +#Define CMDLS_DEFAULTED 5 +#Define CMDLS_DEFAULTED_ANIMATING 6 +#Define CMDLS_DISABLED 4 +#Define CMDLS_HOT 2 +#Define CMDLS_NORMAL 1 +#Define CMDLS_PRESSED 3 +#Define CP_BACKGROUND 2 +#Define CP_BORDER 4 +#Define CP_CUEBANNER 8 +#Define CP_DROPDOWNBUTTON 1 +#Define CP_DROPDOWNBUTTONLEFT 7 +#Define CP_DROPDOWNBUTTONRIGHT 6 +#Define CP_READONLY 5 +#Define CP_TRANSPARENTBACKGROUND 3 +#Define CPANEL_BANNERAREA 18 +#Define CPANEL_BODYTEXT 6 +#Define CPANEL_BODYTITLE 19 +#Define CPANEL_BUTTON 14 +#Define CPANEL_CONTENTLINK 10 +#Define CPANEL_CONTENTPANE 2 +#Define CPANEL_CONTENTPANELABEL 4 +#Define CPANEL_CONTENTPANELINE 17 +#Define CPANEL_GROUPTEXT 9 +#Define CPANEL_HELPLINK 7 +#Define CPANEL_LARGECOMMANDAREA 12 +#Define CPANEL_MESSAGETEXT 15 +#Define CPANEL_NAVIGATIONPANE 1 +#Define CPANEL_NAVIGATIONPANELABEL 3 +#Define CPANEL_NAVIGATIONPANELINE 16 +#Define CPANEL_SECTIONTITLELINK 11 +#Define CPANEL_SMALLCOMMANDAREA 13 +#Define CPANEL_TASKLINK 8 +#Define CPANEL_TITLE 5 +#Define CPCL_DISABLED 4 +#Define CPCL_HOT 2 +#Define CPCL_NORMAL 1 +#Define CPCL_PRESSED 3 +#Define CPHL_DISABLED 4 +#Define CPHL_HOT 2 +#Define CPHL_NORMAL 1 +#Define CPHL_PRESSED 3 +#Define CPSTL_HOT 2 +#Define CPSTL_NORMAL 1 +#Define CPTL_DISABLED 4 +#Define CPTL_HOT 2 +#Define CPTL_NORMAL 1 +#Define CPTL_PAGE 5 +#Define CPTL_PRESSED 3 +#Define CS_ACTIVE 1 +#Define CS_DISABLED 3 +#Define CS_INACTIVE 2 +#Define CSST_TAB 1 +#Define CSTB_HOT 2 +#Define CSTB_NORMAL 1 +#Define CSTB_SELECTED 3 +#Define DD_COPY 1 +#Define DD_CREATELINK 4 +#Define DD_IMAGEBG 7 +#Define DD_MOVE 2 +#Define DD_NONE 6 +#Define DD_TEXTBG 8 +#Define DD_UPDATEMETADATA 3 +#Define DD_WARNING 5 +#Define DDCOPY_HIGHLIGHT 1 +#Define DDCOPY_NOHIGHLIGHT 2 +#Define DDCREATELINK_HIGHLIGHT 1 +#Define DDCREATELINK_NOHIGHLIGHT 2 +#Define DDMOVE_HIGHLIGHT 1 +#Define DDMOVE_NOHIGHLIGHT 2 +#Define DDNONE_HIGHLIGHT 1 +#Define DDNONE_NOHIGHLIGHT 2 +#Define DDUPDATEMETADATA_HIGHLIGHT 1 +#Define DDUPDATEMETADATA_NOHIGHLIGHT 2 +#Define DDWARNING_HIGHLIGHT 1 +#Define DDWARNING_NOHIGHLIGHT 2 +#Define DNHZS_DISABLED 4 +#Define DNHZS_HOT 2 +#Define DNHZS_NORMAL 1 +#Define DNHZS_PRESSED 3 +#Define DNS_DISABLED 4 +#Define DNS_HOT 2 +#Define DNS_NORMAL 1 +#Define DNS_PRESSED 3 +#Define DP_DATEBORDER 2 +#Define DP_DATETEXT 1 +#Define DP_SHOWCALENDARBUTTONRIGHT 3 +#Define DPDB_DISABLED 4 +#Define DPDB_FOCUSED 3 +#Define DPDB_HOT 2 +#Define DPDB_NORMAL 1 +#Define DPDT_DISABLED 2 +#Define DPDT_NORMAL 1 +#Define DPDT_SELECTED 3 +#Define DPSCBR_DISABLED 4 +#Define DPSCBR_HOT 2 +#Define DPSCBR_NORMAL 1 +#Define DPSCBR_PRESSED 3 +#Define EBHC_HOT 2 +#Define EBHC_NORMAL 1 +#Define EBHC_PRESSED 3 +#Define EBHP_HOT 2 +#Define EBHP_NORMAL 1 +#Define EBHP_PRESSED 3 +#Define EBHP_SELECTEDHOT 5 +#Define EBHP_SELECTEDNORMAL 4 +#Define EBHP_SELECTEDPRESSED 6 +#Define EBM_HOT 2 +#Define EBM_NORMAL 1 +#Define EBM_PRESSED 3 +#Define EBNGC_HOT 2 +#Define EBNGC_NORMAL 1 +#Define EBNGC_PRESSED 3 +#Define EBNGE_HOT 2 +#Define EBNGE_NORMAL 1 +#Define EBNGE_PRESSED 3 +#Define EBP_HEADERBACKGROUND 1 +#Define EBP_HEADERCLOSE 2 +#Define EBP_HEADERPIN 3 +#Define EBP_IEBARMENU 4 +#Define EBP_NORMALGROUPBACKGROUND 5 +#Define EBP_NORMALGROUPCOLLAPSE 6 +#Define EBP_NORMALGROUPEXPAND 7 +#Define EBP_NORMALGROUPHEAD 8 +#Define EBP_SPECIALGROUPBACKGROUND 9 +#Define EBP_SPECIALGROUPCOLLAPSE 10 +#Define EBP_SPECIALGROUPEXPAND 11 +#Define EBP_SPECIALGROUPHEAD 12 +#Define EBS_ASSIST 6 +#Define EBS_DISABLED 3 +#Define EBS_FOCUSED 4 +#Define EBS_HOT 2 +#Define EBS_NORMAL 1 +#Define EBS_READONLY 5 +#Define EBSGC_HOT 2 +#Define EBSGC_NORMAL 1 +#Define EBSGC_PRESSED 3 +#Define EBSGE_HOT 2 +#Define EBSGE_NORMAL 1 +#Define EBSGE_PRESSED 3 +#Define EBWBS_DISABLED 3 +#Define EBWBS_FOCUSED 4 +#Define EBWBS_HOT 2 +#Define EBWBS_NORMAL 1 +#Define EP_BACKGROUND 3 +#Define EP_BACKGROUNDWITHBORDER 5 +#Define EP_CARET 2 +#Define EP_EDITBORDER_HSCROLL 7 +#Define EP_EDITBORDER_HVSCROLL 9 +#Define EP_EDITBORDER_NOSCROLL 6 +#Define EP_EDITBORDER_VSCROLL 8 +#Define EP_EDITTEXT 1 +#Define EP_PASSWORD 4 +#Define EPSH_DISABLED 4 +#Define EPSH_FOCUSED 3 +#Define EPSH_HOT 2 +#Define EPSH_NORMAL 1 +#Define EPSHV_DISABLED 4 +#Define EPSHV_FOCUSED 3 +#Define EPSHV_HOT 2 +#Define EPSHV_NORMAL 1 +#Define EPSN_DISABLED 4 +#Define EPSN_FOCUSED 3 +#Define EPSN_HOT 2 +#Define EPSN_NORMAL 1 +#Define EPSV_DISABLED 4 +#Define EPSV_FOCUSED 3 +#Define EPSV_HOT 2 +#Define EPSV_NORMAL 1 +#Define ETS_ASSIST 7 +#Define ETS_CUEBANNER 8 +#Define ETS_DISABLED 4 +#Define ETS_FOCUSED 5 +#Define ETS_HOT 2 +#Define ETS_NORMAL 1 +#Define ETS_READONLY 6 +#Define ETS_SELECTED 3 +#Define FBS_EMPHASIZED 2 +#Define FBS_NORMAL 1 +#Define FLH_HOVER 2 +#Define FLH_NORMAL 1 +#Define FLS_DISABLED 4 +#Define FLS_EMPHASIZED 3 +#Define FLS_NORMAL 1 +#Define FLS_SELECTED 2 +#Define FLYOUT_BODY 2 +#Define FLYOUT_DIVIDER 5 +#Define FLYOUT_HEADER 1 +#Define FLYOUT_LABEL 3 +#Define FLYOUT_LINK 4 +#Define FLYOUT_LINKAREA 7 +#Define FLYOUT_LINKHEADER 8 +#Define FLYOUT_WINDOW 6 +#Define FLYOUTLINK_HOVER 2 +#Define FLYOUTLINK_NORMAL 1 +#Define FS_ACTIVE 1 +#Define FS_INACTIVE 2 +#Define GBS_DISABLED 2 +#Define GBS_NORMAL 1 +#Define GLPS_CLOSED 1 +#Define GLPS_OPENED 2 +#Define HBG_DETAILS 1 +#Define HBG_ICON 2 +#Define HBS_DISABLED 4 +#Define HBS_HOT 2 +#Define HBS_NORMAL 1 +#Define HBS_PUSHED 3 +#Define HDDFS_HOT 3 +#Define HDDFS_NORMAL 1 +#Define HDDFS_SOFTHOT 2 +#Define HDDS_HOT 3 +#Define HDDS_NORMAL 1 +#Define HDDS_SOFTHOT 2 +#Define HGLPS_CLOSED 1 +#Define HGLPS_OPENED 2 +#Define HILS_HOT 2 +#Define HILS_NORMAL 1 +#Define HILS_PRESSED 3 +#Define HIRS_HOT 2 +#Define HIRS_NORMAL 1 +#Define HIRS_PRESSED 3 +#Define HIS_HOT 2 +#Define HIS_ICONHOT 8 +#Define HIS_ICONNORMAL 7 +#Define HIS_ICONPRESSED 9 +#Define HIS_ICONSORTEDHOT 11 +#Define HIS_ICONSORTEDNORMAL 10 +#Define HIS_ICONSORTEDPRESSED 12 +#Define HIS_NORMAL 1 +#Define HIS_PRESSED 3 +#Define HIS_SORTEDHOT 5 +#Define HIS_SORTEDNORMAL 4 +#Define HIS_SORTEDPRESSED 6 +#Define HOFS_HOT 2 +#Define HOFS_NORMAL 1 +#Define HP_HEADERDROPDOWN 5 +#Define HP_HEADERDROPDOWNFILTER 6 +#Define HP_HEADERITEM 1 +#Define HP_HEADERITEMLEFT 2 +#Define HP_HEADERITEMRIGHT 3 +#Define HP_HEADEROVERFLOW 7 +#Define HP_HEADERSORTARROW 4 +#Define HSAS_SORTEDDOWN 2 +#Define HSAS_SORTEDUP 1 +#Define HSS_DISABLED 4 +#Define HSS_HOT 2 +#Define HSS_NORMAL 1 +#Define HSS_PUSHED 3 +#Define HTS_DISABLED 4 +#Define HTS_HOT 2 +#Define HTS_NORMAL 1 +#Define HTS_PUSHED 3 +#Define LBCP_BORDER_HSCROLL 1 +#Define LBCP_BORDER_HVSCROLL 2 +#Define LBCP_BORDER_NOSCROLL 3 +#Define LBCP_BORDER_VSCROLL 4 +#Define LBCP_ITEM 5 +#Define LBPSH_DISABLED 4 +#Define LBPSH_FOCUSED 2 +#Define LBPSH_HOT 3 +#Define LBPSH_NORMAL 1 +#Define LBPSHV_DISABLED 4 +#Define LBPSHV_FOCUSED 2 +#Define LBPSHV_HOT 3 +#Define LBPSHV_NORMAL 1 +#Define LBPSI_HOT 1 +#Define LBPSI_HOTSELECTED 2 +#Define LBPSI_SELECTED 3 +#Define LBPSI_SELECTEDNOTFOCUS 4 +#Define LBPSN_DISABLED 4 +#Define LBPSN_FOCUSED 2 +#Define LBPSN_HOT 3 +#Define LBPSN_NORMAL 1 +#Define LBPSV_DISABLED 4 +#Define LBPSV_FOCUSED 2 +#Define LBPSV_HOT 3 +#Define LBPSV_NORMAL 1 +#Define LISS_DISABLED 4 +#Define LISS_HOT 2 +#Define LISS_HOTSELECTED 6 +#Define LISS_NORMAL 1 +#Define LISS_SELECTED 3 +#Define LISS_SELECTEDNOTFOCUS 5 +#Define LVCB_HOVER 2 +#Define LVCB_NORMAL 1 +#Define LVCB_PUSHED 3 +#Define LVEB_HOVER 2 +#Define LVEB_NORMAL 1 +#Define LVEB_PUSHED 3 +#Define LVGH_CLOSE 9 +#Define LVGH_CLOSEHOT 10 +#Define LVGH_CLOSEMIXEDSELECTION 15 +#Define LVGH_CLOSEMIXEDSELECTIONHOT 16 +#Define LVGH_CLOSESELECTED 11 +#Define LVGH_CLOSESELECTEDHOT 12 +#Define LVGH_CLOSESELECTEDNOTFOCUSED 13 +#Define LVGH_CLOSESELECTEDNOTFOCUSEDHOT 14 +#Define LVGH_OPEN 1 +#Define LVGH_OPENHOT 2 +#Define LVGH_OPENMIXEDSELECTION 7 +#Define LVGH_OPENMIXEDSELECTIONHOT 8 +#Define LVGH_OPENSELECTED 3 +#Define LVGH_OPENSELECTEDHOT 4 +#Define LVGH_OPENSELECTEDNOTFOCUSED 5 +#Define LVGH_OPENSELECTEDNOTFOCUSEDHOT 6 +#Define LVGHL_CLOSE 9 +#Define LVGHL_CLOSEHOT 10 +#Define LVGHL_CLOSEMIXEDSELECTION 15 +#Define LVGHL_CLOSEMIXEDSELECTIONHOT 16 +#Define LVGHL_CLOSESELECTED 11 +#Define LVGHL_CLOSESELECTEDHOT 12 +#Define LVGHL_CLOSESELECTEDNOTFOCUSED 13 +#Define LVGHL_CLOSESELECTEDNOTFOCUSEDHOT 14 +#Define LVGHL_OPEN 1 +#Define LVGHL_OPENHOT 2 +#Define LVGHL_OPENMIXEDSELECTION 7 +#Define LVGHL_OPENMIXEDSELECTIONHOT 8 +#Define LVGHL_OPENSELECTED 3 +#Define LVGHL_OPENSELECTEDHOT 4 +#Define LVGHL_OPENSELECTEDNOTFOCUSED 5 +#Define LVGHL_OPENSELECTEDNOTFOCUSEDHOT 6 +#Define LVP_COLLAPSEBUTTON 9 +#Define LVP_COLUMNDETAIL 10 +#Define LVP_EMPTYTEXT 5 +#Define LVP_EXPANDBUTTON 8 +#Define LVP_GROUPHEADER 6 +#Define LVP_GROUPHEADERLINE 7 +#Define LVP_LISTDETAIL 3 +#Define LVP_LISTGROUP 2 +#Define LVP_LISTITEM 1 +#Define LVP_LISTSORTEDDETAIL 4 +#Define MAXBS_DISABLED 4 +#Define MAXBS_HOT 2 +#Define MAXBS_NORMAL 1 +#Define MAXBS_PUSHED 3 +#Define MB_ACTIVE 1 +#Define MB_INACTIVE 2 +#Define MBI_DISABLED 4 +#Define MBI_DISABLEDHOT 5 +#Define MBI_DISABLEDPUSHED 6 +#Define MBI_HOT 2 +#Define MBI_NORMAL 1 +#Define MBI_PUSHED 3 +#Define MC_BULLETDISABLED 4 +#Define MC_BULLETNORMAL 3 +#Define MC_CHECKMARKDISABLED 2 +#Define MC_CHECKMARKNORMAL 1 +#Define MCB_BITMAP 3 +#Define MCB_DISABLED 1 +#Define MCB_NORMAL 2 +#Define MENU_BARBACKGROUND 7 +#Define MENU_BARITEM 8 +#Define MENU_CHEVRON_TMSCHEMA 5 +#Define MENU_MENUBARDROPDOWN_TMSCHEMA 4 +#Define MENU_MENUBARITEM_TMSCHEMA 3 +#Define MENU_MENUDROPDOWN_TMSCHEMA 2 +#Define MENU_MENUITEM_TMSCHEMA 1 +#Define MENU_POPUPBACKGROUND 9 +#Define MENU_POPUPBORDERS 10 +#Define MENU_POPUPCHECK 11 +#Define MENU_POPUPCHECKBACKGROUND 12 +#Define MENU_POPUPGUTTER 13 +#Define MENU_POPUPITEM 14 +#Define MENU_POPUPSEPARATOR 15 +#Define MENU_POPUPSUBMENU 16 +#Define MENU_SEPARATOR_TMSCHEMA 6 +#Define MENU_SYSTEMCLOSE 17 +#Define MENU_SYSTEMMAXIMIZE 18 +#Define MENU_SYSTEMMINIMIZE 19 +#Define MENU_SYSTEMRESTORE 20 +#Define MINBS_DISABLED 4 +#Define MINBS_HOT 2 +#Define MINBS_NORMAL 1 +#Define MINBS_PUSHED 3 +#Define MNCS_ACTIVE 1 +#Define MNCS_DISABLED 3 +#Define MNCS_INACTIVE 2 +#Define MPI_DISABLED 3 +#Define MPI_DISABLEDHOT 4 +#Define MPI_HOT 2 +#Define MPI_NORMAL 1 +#Define MSM_DISABLED 2 +#Define MSM_NORMAL 1 +#Define MSYSC_DISABLED 2 +#Define MSYSC_NORMAL 1 +#Define MSYSMN_DISABLED 2 +#Define MSYSMN_NORMAL 1 +#Define MSYSMX_DISABLED 2 +#Define MSYSMX_NORMAL 1 +#Define MSYSR_DISABLED 2 +#Define MSYSR_NORMAL 1 +#Define MXCS_ACTIVE 1 +#Define MXCS_DISABLED 3 +#Define MXCS_INACTIVE 2 +#Define NAV_BACKBUTTON 1 +#Define NAV_BB_DISABLED 4 +#Define NAV_BB_HOT 2 +#Define NAV_BB_NORMAL 1 +#Define NAV_BB_PRESSED 3 +#Define NAV_FB_DISABLED 4 +#Define NAV_FB_HOT 2 +#Define NAV_FB_NORMAL 1 +#Define NAV_FB_PRESSED 3 +#Define NAV_FORWARDBUTTON 2 +#Define NAV_MB_DISABLED 4 +#Define NAV_MB_HOT 2 +#Define NAV_MB_NORMAL 1 +#Define NAV_MB_PRESSED 3 +#Define NAV_MENUBUTTON 3 +#Define PBBS_NORMAL 1 +#Define PBBS_PARTIAL 2 +#Define PBBVS_NORMAL 1 +#Define PBBVS_PARTIAL 2 +#Define PBFS_ERROR 2 +#Define PBFS_NORMAL 1 +#Define PBFS_PARTIAL 4 +#Define PBFS_PAUSED 3 +#Define PBFVS_ERROR 2 +#Define PBFVS_NORMAL 1 +#Define PBFVS_PARTIAL 4 +#Define PBFVS_PAUSED 3 +#Define PBS_DEFAULTED 5 +#Define PBS_DEFAULTED_ANIMATING 6 +#Define PBS_DISABLED 4 +#Define PBS_HOT 2 +#Define PBS_NORMAL 1 +#Define PBS_PRESSED 3 +#Define PP_BAR 1 +#Define PP_BARVERT 2 +#Define PP_CHUNK 3 +#Define PP_CHUNKVERT 4 +#Define PP_FILL 5 +#Define PP_FILLVERT 6 +#Define PP_MOVEOVERLAY 8 +#Define PP_MOVEOVERLAYVERT 10 +#Define PP_PULSEOVERLAY 7 +#Define PP_PULSEOVERLAYVERT 9 +#Define PP_TRANSPARENTBAR 11 +#Define PP_TRANSPARENTBARVERT 12 +#Define RBS_CHECKEDDISABLED 8 +#Define RBS_CHECKEDHOT 6 +#Define RBS_CHECKEDNORMAL 5 +#Define RBS_CHECKEDPRESSED 7 +#Define RBS_DISABLED 4 +#Define RBS_HOT 2 +#Define RBS_NORMAL 1 +#Define RBS_PUSHED 3 +#Define RBS_UNCHECKEDDISABLED 4 +#Define RBS_UNCHECKEDHOT 2 +#Define RBS_UNCHECKEDNORMAL 1 +#Define RBS_UNCHECKEDPRESSED 3 +#Define RP_BACKGROUND 6 +#Define RP_BAND 3 +#Define RP_CHEVRON 4 +#Define RP_CHEVRONVERT 5 +#Define RP_GRIPPER 1 +#Define RP_GRIPPERVERT 2 +#Define RP_SPLITTER 7 +#Define RP_SPLITTERVERT 8 +#Define SBP_ARROWBTN 1 +#Define SBP_GRIPPERHORZ 8 +#Define SBP_GRIPPERVERT 9 +#Define SBP_LOWERTRACKHORZ 4 +#Define SBP_LOWERTRACKVERT 6 +#Define SBP_SIZEBOX 10 +#Define SBP_THUMBBTNHORZ 2 +#Define SBP_THUMBBTNVERT 3 +#Define SBP_UPPERTRACKHORZ 5 +#Define SBP_UPPERTRACKVERT 7 +#Define SBS_DISABLED 4 +#Define SBS_HOT 2 +#Define SBS_NORMAL 1 +#Define SBS_PUSHED 3 +#Define SCRBS_DISABLED 4 +#Define SCRBS_HOT 2 +#Define SCRBS_HOVER 5 +#Define SCRBS_NORMAL 1 +#Define SCRBS_PRESSED 3 +#Define SP_GRIPPER 3 +#Define SP_GRIPPERPANE 2 +#Define SP_PANE 1 +#Define SPLITS_HOT 2 +#Define SPLITS_NORMAL 1 +#Define SPLITS_PRESSED 3 +#Define SPLITSV_HOT 2 +#Define SPLITSV_NORMAL 1 +#Define SPLITSV_PRESSED 3 +#Define SPNP_DOWN 2 +#Define SPNP_DOWNHORZ 4 +#Define SPNP_UP 1 +#Define SPNP_UPHORZ 3 +#Define SZB_HALFBOTTOMLEFTALIGN 6 +#Define SZB_HALFBOTTOMRIGHTALIGN 5 +#Define SZB_HALFTOPLEFTALIGN 8 +#Define SZB_HALFTOPRIGHTALIGN 7 +#Define SZB_LEFTALIGN 2 +#Define SZB_RIGHTALIGN 1 +#Define SZB_TOPLEFTALIGN 4 +#Define SZB_TOPRIGHTALIGN 3 +#Define TABP_AEROWIZARDBODY 11 +#Define TABP_BODY 10 +#Define TABP_PANE 9 +#Define TABP_TABITEM 1 +#Define TABP_TABITEMBOTHEDGE 4 +#Define TABP_TABITEMLEFTEDGE 2 +#Define TABP_TABITEMRIGHTEDGE 3 +#Define TABP_TOPTABITEM 5 +#Define TABP_TOPTABITEMBOTHEDGE 8 +#Define TABP_TOPTABITEMLEFTEDGE 6 +#Define TABP_TOPTABITEMRIGHTEDGE 7 +#Define TDLG_BUTTONSECTION 10 +#Define TDLG_BUTTONWRAPPER 11 +#Define TDLG_COMMANDLINKPANE 7 +#Define TDLG_CONTENTICON 5 +#Define TDLG_CONTENTPANE 4 +#Define TDLG_CONTROLPANE 9 +#Define TDLG_EXPANDEDCONTENT 6 +#Define TDLG_EXPANDEDFOOTERAREA 18 +#Define TDLG_EXPANDOBUTTON 13 +#Define TDLG_EXPANDOTEXT 12 +#Define TDLG_FOOTNOTEAREA 16 +#Define TDLG_FOOTNOTEPANE 15 +#Define TDLG_FOOTNOTESEPARATOR 17 +#Define TDLG_IMAGEALIGNMENT 20 +#Define TDLG_MAINICON 3 +#Define TDLG_MAININSTRUCTIONPANE 2 +#Define TDLG_PRIMARYPANEL 1 +#Define TDLG_PROGRESSBAR 19 +#Define TDLG_RADIOBUTTONPANE 21 +#Define TDLG_SECONDARYPANEL 8 +#Define TDLG_VERIFICATIONTEXT 14 +#Define TDLGCPS_STANDALONE 1 +#Define TDLGEBS_EXPANDEDHOVER 5 +#Define TDLGEBS_EXPANDEDNORMAL 4 +#Define TDLGEBS_EXPANDEDPRESSED 6 +#Define TDLGEBS_HOVER 2 +#Define TDLGEBS_NORMAL 1 +#Define TDLGEBS_PRESSED 3 +#Define TEXT_BODYTEXT 4 +#Define TEXT_BODYTITLE 3 +#Define TEXT_CONTROLLABEL 9 +#Define TEXT_EXPANDED 7 +#Define TEXT_HYPERLINKTEXT 6 +#Define TEXT_INSTRUCTION 2 +#Define TEXT_LABEL 8 +#Define TEXT_MAININSTRUCTION 1 +#Define TEXT_SECONDARYTEXT 5 +#Define TIBES_DISABLED 4 +#Define TIBES_FOCUSED 5 +#Define TIBES_HOT 2 +#Define TIBES_NORMAL 1 +#Define TIBES_SELECTED 3 +#Define TILES_DISABLED 4 +#Define TILES_FOCUSED 5 +#Define TILES_HOT 2 +#Define TILES_NORMAL 1 +#Define TILES_SELECTED 3 +#Define TIRES_DISABLED 4 +#Define TIRES_FOCUSED 5 +#Define TIRES_HOT 2 +#Define TIRES_NORMAL 1 +#Define TIRES_SELECTED 3 +#Define TIS_DISABLED 4 +#Define TIS_FOCUSED 5 +#Define TIS_HOT 2 +#Define TIS_NORMAL 1 +#Define TIS_SELECTED 3 +#Define TKP_THUMB 3 +#Define TKP_THUMBBOTTOM 4 +#Define TKP_THUMBLEFT 7 +#Define TKP_THUMBRIGHT 8 +#Define TKP_THUMBTOP 5 +#Define TKP_THUMBVERT 6 +#Define TKP_TICS 9 +#Define TKP_TICSVERT 10 +#Define TKP_TRACK 1 +#Define TKP_TRACKVERT 2 +#Define TKS_NORMAL 1 +#Define TP_BUTTON 1 +#Define TP_DROPDOWNBUTTON 2 +#Define TP_SEPARATOR 5 +#Define TP_SEPARATORVERT 6 +#Define TP_SPLITBUTTON 3 +#Define TP_SPLITBUTTONDROPDOWN 4 +#Define TREIS_DISABLED 4 +#Define TREIS_HOT 2 +#Define TREIS_HOTSELECTED 6 +#Define TREIS_NORMAL 1 +#Define TREIS_SELECTED 3 +#Define TREIS_SELECTEDNOTFOCUS 5 +#Define TRS_NORMAL 1 +#Define TRVS_NORMAL 1 +#Define TS_CHECKED 5 +#Define TS_CONTROLLABEL_DISABLED 2 +#Define TS_CONTROLLABEL_NORMAL 1 +#Define TS_DISABLED 4 +#Define TS_HOT 2 +#Define TS_HOTCHECKED 6 +#Define TS_HYPERLINK_DISABLED 4 +#Define TS_HYPERLINK_HOT 2 +#Define TS_HYPERLINK_NORMAL 1 +#Define TS_HYPERLINK_PRESSED 3 +#Define TS_NEARHOT 7 +#Define TS_NORMAL 1 +#Define TS_OTHERSIDEHOT 8 +#Define TS_PRESSED 3 +#Define TSS_NORMAL 1 +#Define TSVS_NORMAL 1 +#Define TTBS_LINK 2 +#Define TTBS_NORMAL 1 +#Define TTBSS_POINTINGDOWNCENTERED 5 +#Define TTBSS_POINTINGDOWNLEFTWALL 6 +#Define TTBSS_POINTINGDOWNRIGHTWALL 4 +#Define TTBSS_POINTINGUPCENTERED 2 +#Define TTBSS_POINTINGUPLEFTWALL 1 +#Define TTBSS_POINTINGUPRIGHTWALL 3 +#Define TTCS_HOT 2 +#Define TTCS_NORMAL 1 +#Define TTCS_PRESSED 3 +#Define TTIBES_DISABLED 4 +#Define TTIBES_FOCUSED 5 +#Define TTIBES_HOT 2 +#Define TTIBES_NORMAL 1 +#Define TTIBES_SELECTED 3 +#Define TTILES_DISABLED 4 +#Define TTILES_FOCUSED 5 +#Define TTILES_HOT 2 +#Define TTILES_NORMAL 1 +#Define TTILES_SELECTED 3 +#Define TTIRES_DISABLED 4 +#Define TTIRES_FOCUSED 5 +#Define TTIRES_HOT 2 +#Define TTIRES_NORMAL 1 +#Define TTIRES_SELECTED 3 +#Define TTIS_DISABLED 4 +#Define TTIS_FOCUSED 5 +#Define TTIS_HOT 2 +#Define TTIS_NORMAL 1 +#Define TTIS_SELECTED 3 +#Define TTP_BALLOON 3 +#Define TTP_BALLOONSTEM 6 +#Define TTP_BALLOONTITLE 4 +#Define TTP_CLOSE 5 +#Define TTP_STANDARD 1 +#Define TTP_STANDARDTITLE 2 +#Define TTSS_LINK 2 +#Define TTSS_NORMAL 1 +#Define TUBS_DISABLED 5 +#Define TUBS_FOCUSED 4 +#Define TUBS_HOT 2 +#Define TUBS_NORMAL 1 +#Define TUBS_PRESSED 3 +#Define TUS_DISABLED 5 +#Define TUS_FOCUSED 4 +#Define TUS_HOT 2 +#Define TUS_NORMAL 1 +#Define TUS_PRESSED 3 +#Define TUTS_DISABLED 5 +#Define TUTS_FOCUSED 4 +#Define TUTS_HOT 2 +#Define TUTS_NORMAL 1 +#Define TUTS_PRESSED 3 +#Define TUVLS_DISABLED 5 +#Define TUVLS_FOCUSED 4 +#Define TUVLS_HOT 2 +#Define TUVLS_NORMAL 1 +#Define TUVLS_PRESSED 3 +#Define TUVRS_DISABLED 5 +#Define TUVRS_FOCUSED 4 +#Define TUVRS_HOT 2 +#Define TUVRS_NORMAL 1 +#Define TUVRS_PRESSED 3 +#Define TUVS_DISABLED 5 +#Define TUVS_FOCUSED 4 +#Define TUVS_HOT 2 +#Define TUVS_NORMAL 1 +#Define TUVS_PRESSED 3 +#Define TVP_BRANCH 3 +#Define TVP_GLYPH 2 +#Define TVP_HOTGLYPH 4 +#Define TVP_TREEITEM 1 +#Define UPHZS_DISABLED 4 +#Define UPHZS_HOT 2 +#Define UPHZS_NORMAL 1 +#Define UPHZS_PRESSED 3 +#Define UPS_DISABLED 4 +#Define UPS_HOT 2 +#Define UPS_NORMAL 1 +#Define UPS_PRESSED 3 +#Define VSS_DISABLED 4 +#Define VSS_HOT 2 +#Define VSS_NORMAL 1 +#Define VSS_PUSHED 3 +#Define VTS_DISABLED 4 +#Define VTS_HOT 2 +#Define VTS_NORMAL 1 +#Define VTS_PUSHED 3 +#Define WP_CAPTION 1 +#Define WP_CAPTIONSIZINGTEMPLATE 30 +#Define WP_CLOSEBUTTON 18 +#Define WP_DIALOG 29 +#Define WP_FRAME 38 +#Define WP_FRAMEBOTTOM 9 +#Define WP_FRAMEBOTTOMSIZINGTEMPLATE 36 +#Define WP_FRAMELEFT 7 +#Define WP_FRAMELEFTSIZINGTEMPLATE 32 +#Define WP_FRAMERIGHT 8 +#Define WP_FRAMERIGHTSIZINGTEMPLATE 34 +#Define WP_HELPBUTTON 23 +#Define WP_HORZSCROLL 25 +#Define WP_HORZTHUMB 26 +#Define WP_MAXBUTTON 17 +#Define WP_MAXCAPTION 5 +#Define WP_MDICLOSEBUTTON 20 +#Define WP_MDIHELPBUTTON 24 +#Define WP_MDIMINBUTTON 16 +#Define WP_MDIRESTOREBUTTON 22 +#Define WP_MDISYSBUTTON 14 +#Define WP_MINBUTTON 15 +#Define WP_MINCAPTION 3 +#Define WP_RESTOREBUTTON 21 +#Define WP_SMALLCAPTION 2 +#Define WP_SMALLCAPTIONSIZINGTEMPLATE 31 +#Define WP_SMALLCLOSEBUTTON 19 +#Define WP_SMALLFRAMEBOTTOM 12 +#Define WP_SMALLFRAMEBOTTOMSIZINGTEMPLATE 37 +#Define WP_SMALLFRAMELEFT 10 +#Define WP_SMALLFRAMELEFTSIZINGTEMPLATE 33 +#Define WP_SMALLFRAMERIGHT 11 +#Define WP_SMALLFRAMERIGHTSIZINGTEMPLATE 35 +#Define WP_SMALLMAXCAPTION 6 +#Define WP_SMALLMINCAPTION 4 +#Define WP_SYSBUTTON 13 +#Define WP_VERTSCROLL 27 +#Define WP_VERTTHUMB 28 +#Define VSCLASS_AEROWIZARD Strconv("AEROWIZARD"+0h00,5) +#Define VSCLASS_AEROWIZARDSTYLE Strconv("AEROWIZARDSTYLE"+0h00,5) +#Define VSCLASS_BUTTON Strconv("BUTTON"+0h00,5) +#Define VSCLASS_BUTTONSTYLE Strconv("BUTTONSTYLE"+0h00,5) +#Define VSCLASS_COMBOBOX Strconv("COMBOBOX"+0h00,5) +#Define VSCLASS_COMBOBOXSTYLE Strconv("COMBOBOXSTYLE"+0h00,5) +#Define VSCLASS_COMMUNICATIONS Strconv("COMMUNICATIONS"+0h00,5) +#Define VSCLASS_COMMUNICATIONSSTYLE Strconv("COMMUNICATIONSSTYLE"+0h00,5) +#Define VSCLASS_CONTROLPANEL Strconv("CONTROLPANEL"+0h00,5) +#Define VSCLASS_CONTROLPANELSTYLE Strconv("CONTROLPANELSTYLE"+0h00,5) +#Define VSCLASS_DATEPICKER Strconv("DATEPICKER"+0h00,5) +#Define VSCLASS_DATEPICKERSTYLE Strconv("DATEPICKERSTYLE"+0h00,5) +#Define VSCLASS_DRAGDROP Strconv("DRAGDROP"+0h00,5) +#Define VSCLASS_DRAGDROPSTYLE Strconv("DRAGDROPSTYLE"+0h00,5) +#Define VSCLASS_EDIT Strconv("EDIT"+0h00,5) +#Define VSCLASS_EDITSTYLE Strconv("EDITSTYLE"+0h00,5) +#Define VSCLASS_EXPLORERBAR Strconv("EXPLORERBAR"+0h00,5) +#Define VSCLASS_EXPLORERBARSTYLE Strconv("EXPLORERBARSTYLE"+0h00,5) +#Define VSCLASS_FLYOUT Strconv("FLYOUT"+0h00,5) +#Define VSCLASS_FLYOUTSTYLE Strconv("FLYOUTSTYLE"+0h00,5) +#Define VSCLASS_HEADER Strconv("HEADER"+0h00,5) +#Define VSCLASS_HEADERSTYLE Strconv("HEADERSTYLE"+0h00,5) +#Define VSCLASS_LISTBOX Strconv("LISTBOX"+0h00,5) +#Define VSCLASS_LISTBOXSTYLE Strconv("LISTBOXSTYLE"+0h00,5) +#Define VSCLASS_LISTVIEW Strconv("LISTVIEW"+0h00,5) +#Define VSCLASS_LISTVIEWSTYLE Strconv("LISTVIEWSTYLE"+0h00,5) +#Define VSCLASS_MENU Strconv("MENU"+0h00,5) +#Define VSCLASS_MENUSTYLE Strconv("MENUSTYLE"+0h00,5) +#Define VSCLASS_NAVIGATION Strconv("NAVIGATION"+0h00,5) +#Define VSCLASS_PROGRESS Strconv("PROGRESS"+0h00,5) +#Define VSCLASS_PROGRESSSTYLE Strconv("PROGRESSSTYLE"+0h00,5) +#Define VSCLASS_REBAR Strconv("REBAR"+0h00,5) +#Define VSCLASS_REBARSTYLE Strconv("REBARSTYLE"+0h00,5) +#Define VSCLASS_SCROLLBAR Strconv("SCROLLBAR"+0h00,5) +#Define VSCLASS_SCROLLBARSTYLE Strconv("SCROLLBARSTYLE"+0h00,5) +#Define VSCLASS_SPIN Strconv("SPIN"+0h00,5) +#Define VSCLASS_SPINSTYLE Strconv("SPINSTYLE"+0h00,5) +#Define VSCLASS_STATUS Strconv("STATUS"+0h00,5) +#Define VSCLASS_STATUSSTYLE Strconv("STATUSSTYLE"+0h00,5) +#Define VSCLASS_TAB Strconv("TAB"+0h00,5) +#Define VSCLASS_TABSTYLE Strconv("TABSTYLE"+0h00,5) +#Define VSCLASS_TASKDIALOG Strconv("TASKDIALOG"+0h00,5) +#Define VSCLASS_TASKDIALOGSTYLE Strconv("TASKDIALOGSTYLE"+0h00,5) +#Define VSCLASS_TEXTSTYLE Strconv("TEXTSTYLE"+0h00,5) +#Define VSCLASS_TOOLBAR Strconv("TOOLBAR"+0h00,5) +#Define VSCLASS_TOOLBARSTYLE Strconv("TOOLBARSTYLE"+0h00,5) +#Define VSCLASS_TOOLTIP Strconv("TOOLTIP"+0h00,5) +#Define VSCLASS_TOOLTIPSTYLE Strconv("TOOLTIPSTYLE"+0h00,5) +#Define VSCLASS_TRACKBAR Strconv("TRACKBAR"+0h00,5) +#Define VSCLASS_TRACKBARSTYLE Strconv("TRACKBARSTYLE"+0h00,5) +#Define VSCLASS_TREEVIEW Strconv("TREEVIEW"+0h00,5) +#Define VSCLASS_TREEVIEWSTYLE Strconv("TREEVIEWSTYLE"+0h00,5) +#Define VSCLASS_WINDOW Strconv("WINDOW"+0h00,5) +#Define VSCLASS_WINDOWSTYLE Strconv("WINDOWSTYLE"+0h00,5) + + +******************************************************************************** +* FROM FOXPRO.H +******************************************************************************** + +*!* Sysmetric() parameter values +#Define SYSMETRIC_SCREENWIDTH 1 && Screen width +#Define SYSMETRIC_SCREENHEIGHT 2 && Screen width +#Define SYSMETRIC_SIZINGBORDERWIDTH 3 && Width of the sizing border around a resizable window +#Define SYSMETRIC_SIZINGBORDERHEIGHT 4 && Height of the sizing border around a resizable window +#Define SYSMETRIC_VSCROLLBARWIDTH 5 && Width of a vertical scroll bar +#Define SYSMETRIC_VSCROLLBARHEIGHT 6 && Height of the arrow bitmap on a vertical scroll bar +#Define SYSMETRIC_HSCROLLBARWIDTH 7 && Width of the arrow bitmap on a horizontal scroll bar +#Define SYSMETRIC_HSCROLLBARHEIGHT 8 && Height of a horizontal scroll bar +#Define SYSMETRIC_WINDOWTITLEHEIGHT 9 && Height of window title (caption) area +#Define SYSMETRIC_WINDOWBORDERWIDTH 10 && Width of a window border +#Define SYSMETRIC_WINDOWBORDERHEIGHT 11 && Height of a window border +#Define SYSMETRIC_WINDOWFRAMEWIDTH 12 && Width of the frame around the perimeter of a window that has a caption but is not sizable +#Define SYSMETRIC_WINDOWFRAMEHEIGHT 13 && Height of the frame around the perimeter of a window that has a caption but is not sizable +#Define SYSMETRIC_THUMBBOXWIDTH 14 && Width of the thumb box in a horizontal scroll bar +#Define SYSMETRIC_THUMBBOXHEIGHT 15 && Height of the thumb box in a vertical scroll bar +#Define SYSMETRIC_ICONWIDTH 16 && Width of an icon +#Define SYSMETRIC_ICONHEIGHT 17 && Height of an icon +#Define SYSMETRIC_CURSORWIDTH 18 && Width of a cursor +#Define SYSMETRIC_CURSORHEIGHT 19 && Height of a cursor +#Define SYSMETRIC_MENUBAR 20 && Height of a single-line menu bar +#Define SYSMETRIC_CLIENTWIDTH 21 && Width of the client area for a full-screen window +#Define SYSMETRIC_CLIENTHEIGHT 22 && Height of the client area for a full-screen window +#Define SYSMETRIC_KANJIWINHEIGHT 23 && Height of the Kanji window at the bottom of the screen in DBCS versions +#Define SYSMETRIC_MINDRAGWIDTH 24 && Minimum tracking width of a window. (The user cannot drag the window frame to a size smaller than this) +#Define SYSMETRIC_MINDRAGHEIGHT 25 && Minimum tracking height of a window. (The user cannot drag the window frame to a size smaller than this) +#Define SYSMETRIC_MINWINDOWWIDTH 26 && Minimum width of a window +#Define SYSMETRIC_MINWINDOWHEIGHT 27 && Minimum height of a window +#Define SYSMETRIC_TITLEBARBUTTONWIDTH 28 && Width of a title bar button +#Define SYSMETRIC_TITLEBARBUTTONHEIGHT 29 && Height of a title bar button +#Define SYSMETRIC_MOUSEPRESENT 30 && Is mouse present?1 => mouse is installed, 0 => no mouse is installed +#Define SYSMETRIC_DEBUGVERSION 31 && Is this a debug version?1 => debug version, 0 => retail version +#Define SYSMETRIC_MOUSEBUTTONSWAP 32 && Are mouse buttons swapped?1 => Yes, 0 => No +#Define SYSMETRIC_HALFHEIGHTBUTTONWIDTH 33 && Width of a button in a half-height title bar +#Define SYSMETRIC_HALFHEIGHTBUTTONHEIGHT 34 && Height of a button in a half-height title bar + +*!* Window Borders +#Define BORDER_NONE 0 +#Define BORDER_SINGLE 1 +#Define BORDER_DOUBLE 2 +#Define BORDER_SYSTEM 3 + +*!* WindowState +#Define WINDOWSTATE_NORMAL 0 && Normal +#Define WINDOWSTATE_MINIMIZED 1 && Minimized +#Define WINDOWSTATE_MAXIMIZED 2 && Maximized + +*!* Toolbar and Form Docking Positions +#Define TOOL_NOTDOCKED -1 +#Define TOOL_TOP 0 +#Define TOOL_LEFT 1 +#Define TOOL_RIGHT 2 +#Define TOOL_BOTTOM 3 +#Define TOOL_TAB 4 +#Define TOOL_LINK 5 + +*!* TYPE() tags +#Define T_BLOB "W" +#Define T_BOOLEAN "L" +#Define T_CHARACTER "C" +#Define T_CURRENCY "Y" +#Define T_DATE "D" +#Define T_DATETIME "T" +#Define T_DOUBLE "B" +#Define T_FLOAT "N" +#Define T_GENERAL "G" +#Define T_INTEGER "N" +#Define T_LOGICAL "L" +#Define T_MEMO "M" +#Define T_NULL "X" +#Define T_NUMERIC "N" +#Define T_OBJECT "O" +#Define T_SCREEN "S" +#Define T_UNDEFINED "U" +#Define T_UNKNOWN "U" +#Define T_VARBINARY "Q" +#Define T_VARCHAR "C" + +*!* Button parameter masks +#Define BUTTON_LEFT 1 +#Define BUTTON_RIGHT 2 +#Define BUTTON_MIDDLE 4 + +*!* Function Parameters +*!* MessageBox parameters +#Define MB_OK 0 && OK button only +#Define MB_OKCANCEL 1 && OK and Cancel buttons +#Define MB_ABORTRETRYIGNORE 2 && Abort, Retry, and Ignore buttons +#Define MB_YESNOCANCEL 3 && Yes, No, and Cancel buttons +#Define MB_YESNO 4 && Yes and No buttons +#Define MB_RETRYCANCEL 5 && Retry and Cancel buttons + +#Define MB_ICONSTOP 16 && Critical message +#Define MB_ICONQUESTION 32 && Warning query +#Define MB_ICONEXCLAMATION 48 && Warning message +#Define MB_ICONINFORMATION 64 && Information message + +#Define MB_APPLMODAL 0 && Application modal message box +#Define MB_DEFBUTTON1 0 && First button is default +#Define MB_DEFBUTTON2 256 && Second button is default +#Define MB_DEFBUTTON3 512 && Third button is default +#Define MB_SYSTEMMODAL 4096 && System Modal + +*!* MousePointer +#Define MOUSE_DEFAULT 0 && 0 - Default +#Define MOUSE_ARROW 1 && 1 - Arrow +#Define MOUSE_CROSSHAIR 2 && 2 - Cross +#Define MOUSE_IBEAM 3 && 3 - I-Beam +#Define MOUSE_ICON_POINTER 4 && 4 - Icon +#Define MOUSE_SIZE_POINTER 5 && 5 - Size +#Define MOUSE_SIZE_NE_SW 6 && 6 - Size NE SW +#Define MOUSE_SIZE_N_S 7 && 7 - Size N S +#Define MOUSE_SIZE_NW_SE 8 && 8 - Size NW SE +#Define MOUSE_SIZE_W_E 9 && 9 - Size W E +#Define MOUSE_UP_ARROW 10 && 10 - Up Arrow +#Define MOUSE_HOURGLASS 11 && 11 - Hourglass +#Define MOUSE_NO_DROP 12 && 12 - No drop +#Define MOUSE_HIDE_POINTER 13 && 13 - Hide Pointer +#Define MOUSE_ARROW2 14 && 14 - Arrow +#Define MOUSE_CUSTOM 99 && 99 - Custom diff --git a/utile/ctl32/ctl32.prg b/utile/ctl32/ctl32.prg new file mode 100644 index 0000000..945da43 --- /dev/null +++ b/utile/ctl32/ctl32.prg @@ -0,0 +1,39 @@ +******************************************************************************** +*!* ctl32.prg +******************************************************************************** +*!* This is the main file for the ctl32 classes. This gets called by +*!* each and every class in the Init event. + +#Include ctl32.h + +*!* Adding this file location to the path list. ADDITIVE is not used, it seems +*!* to have problems with expressions, so to avoid using macro substitution: +If .F. + Local m.lcPath As String + + m.lcPath = Addbs(Justpath(Sys(16))) + + If Empty(Set("Path")) Then + Set Path To (m.lcPath) + Else + If Not m.lcPath $ Set("Path") Then + Set Path To (Set("Path") + ";" + m.lcPath) + Endif + Endif + + *!* Load the main visual classes VCX file: + If Not "CTL32.VCX" $ Upper(Set("Classlib")) Then + Set Classlib To m.lcPath + "ctl32.vcx" Additive + Endif +Endif + +*!* Load ctl32 modules: +Do ctl32_api.prg +Do ctl32_classes.prg +Do ctl32_functions.prg +Do ctl32_structures.prg +Do ctl32_vfp2c32.prg + +Return + + diff --git a/utile/ctl32/ctl32.txt b/utile/ctl32/ctl32.txt new file mode 100644 index 0000000..9b69629 --- /dev/null +++ b/utile/ctl32/ctl32.txt @@ -0,0 +1,25 @@ +ctl32 Classes README FILE - Carlos Alloatti - calloatti@gmail.com + +ctl32_scontainer scrollable container by Carlos Alloatti & Malcolm Greene + +http://www.ctl32.com.ar/ + +TESTED ONLY IN VFP9, Windows 2000, XP, Vista + +This classes are free to use, please contribute reporting bugs, +proposing changes and updates. + +To use these classes you only need the following files added them to your project: + +ctl32.h (excluded) +ctl32.prg +ctl32.vct +ctl32.vcx +ctl32_api.prg +ctl32_classes.prg +ctl32_functions.prg +ctl32_structures.prg +ctl32_vfp2c32.prg +vfpx.vct +vfpx.vcx + diff --git a/utile/ctl32/ctl32.vc2 b/utile/ctl32/ctl32.vc2 new file mode 100644 index 0000000..fdb0215 --- /dev/null +++ b/utile/ctl32/ctl32.vc2 @@ -0,0 +1,3282 @@ +*-------------------------------------------------------------------------------------------------------------------------------------------------------- +* (EN) AUTOGENERATED - ATTENTION!! - NOT INTENDED FOR EXECUTION!! USE ONLY FOR MERGING CHANGES AND STORING WITH SCM TOOLS!! +*-------------------------------------------------------------------------------------------------------------------------------------------------------- +*< FOXBIN2PRG: Version="1.21" SourceFile="ctl32.vcx" CPID="1252" /> (Solo para binarios VFP 9 / Only for VFP 9 binaries) +* +* +DEFINE CLASS ctl32_commondialog AS container + *< CLASSDATA: Baseclass="container" Timestamp="" Scale="Pixels" Uniqueid="" /> + + *-- OBJECTDATA items order determines ZOrder / El orden de los items OBJECTDATA determina el ZOrder + *< OBJECTDATA: ObjPath="lblname" UniqueID="" Timestamp="" /> + + #INCLUDE "ctl32.h" + * + *m: ctlgetknownfolderidlist + *m: ctlgetknownfolderpath && Gets a special folder path. + *m: ctlhelprequest && Occurs when the user clicks the Help button on a common dialog box. + *m: ctlhookproc && Defines the common dialog box hook procedure that is overridden to add specific functionality to a common dialog box. + *m: ctlonhelprequest && Raises the HelpRequest event. + *m: ctlreset && When overridden in a derived class, resets the properties of a common dialog box to their default values. + *m: ctlrundialog && When overridden in a derived class, specifies a common dialog box. + *m: ctlshowdialog && Runs a common dialog box. + *m: _createcallback + *m: _destroycallback + *m: _initlibrary + *m: _loadstring + *m: _resetproperties + *m: _saveproperties + *m: _setproperties + *p: ctltitle && Gets or sets the file dialog box title. + *a: _properties[1,1] + *p: _callbackpointer + *p: _memberdata && XML Metadata for customizable properties + * + + * + BackColor = 140,200,200 + ctltitle = + Height = 23 + Name = "ctl32_commondialog" + Visible = .F. + Width = 120 + _callbackpointer = 0 + * + + ADD OBJECT 'lblname' AS label WITH ; + AutoSize = .T., ; + BackStyle = 0, ; + Caption = "ctl32_commondialog", ; + FontName = "Tahoma", ; + FontSize = 8, ; + ForeColor = 0,0,128, ; + Height = 15, ; + Left = 6, ; + Name = "lblname", ; + Top = 4, ; + Width = 98 + *< END OBJECT: BaseClass="label" /> + + PROCEDURE ctlgetknownfolderidlist + *!* ctlGetKnownFolderList(cFolderId|qFolderId) + + *!* Vista: SHGetKnownFolderIDList + *!* Win2K: SHGetFolderLocation + *!* Win95: SHGetSpecialFolderLocation + + Lparameters puFolderId + + Local ; + lqFolderId, ; + lnCsidl, ; + lnPIDL, ; + lnResult, ; + lnPointer + + *!* Initialize variables + m.lnPIDL = 0 + m.lqFolderId = 0h + m.lnCsidl = 0xFFFF + + If Vartype(m.puFolderId) = "C" + m.puFolderId = Upper(Alltrim(m.puFolderId)) + *!* Remove prefix + m.puFolderId = Strtran(m.puFolderId, "FOLDERID_", "", 1, 1) + Endif + + Do Case + + Case Vartype(m.puFolderId) = "Q" + *!* If we have a binary parameter, lets assume its a valid FOLDERID + m.lqFolderId = m.puFolderId + + Case Vartype(m.puFolderId) # "C" + *!* From here, m.puFolderId can only be of type character + + Case m.puFolderId = "ADDNEWPROGRAMS" + m.lqFolderId = FOLDERID_AddNewPrograms + m.lnCsidl = 0xFFFF + + Case m.puFolderId = "ADMINTOOLS" + m.lqFolderId = FOLDERID_AdminTools + m.lnCsidl = CSIDL_ADMINTOOLS + + Case m.puFolderId = "APPUPDATES" + m.lqFolderId = FOLDERID_AppUpdates + m.lnCsidl = 0xFFFF + + Case m.puFolderId = "CDBURNING" + m.lqFolderId = FOLDERID_CDBurning + m.lnCsidl = CSIDL_CDBURN_AREA + + Case m.puFolderId = "CHANGEREMOVEPROGRAMS" + m.lqFolderId = FOLDERID_ChangeRemovePrograms + m.lnCsidl = 0xFFFF + + Case m.puFolderId = "COMMONADMINTOOLS" + m.lqFolderId = FOLDERID_CommonAdminTools + m.lnCsidl = CSIDL_COMMON_ADMINTOOLS + + Case m.puFolderId = "COMMONOEMLINKS" + m.lqFolderId = FOLDERID_CommonOEMLinks + m.lnCsidl = CSIDL_COMMON_OEM_LINKS + + Case m.puFolderId = "COMMONPROGRAMS" + m.lqFolderId = FOLDERID_CommonPrograms + m.lnCsidl = CSIDL_COMMON_PROGRAMS + + Case m.puFolderId = "COMMONSTARTMENU" + m.lqFolderId = FOLDERID_CommonStartMenu + m.lnCsidl = CSIDL_COMMON_STARTMENU + + Case m.puFolderId = "COMMONSTARTUP" + m.lqFolderId = FOLDERID_CommonStartup + m.lnCsidl = CSIDL_COMMON_STARTUP + + Case m.puFolderId = "COMMONTEMPLATES" + m.lqFolderId = FOLDERID_CommonTemplates + m.lnCsidl = CSIDL_COMMON_TEMPLATES + + Case m.puFolderId = "COMPUTERFOLDER" + m.lqFolderId = FOLDERID_ComputerFolder + m.lnCsidl = CSIDL_DRIVES + + Case m.puFolderId = "CONFLICTFOLDER" + m.lqFolderId = FOLDERID_ConflictFolder + m.lnCsidl = 0xFFFF + + Case m.puFolderId = "CONNECTIONSFOLDER" + m.lqFolderId = FOLDERID_ConnectionsFolder + m.lnCsidl = CSIDL_CONNECTIONS + + Case m.puFolderId = "CONTACTS" + m.lqFolderId = FOLDERID_Contacts + m.lnCsidl = 0xFFFF + + Case m.puFolderId = "CONTROLPANELFOLDER" + m.lqFolderId = FOLDERID_ControlPanelFolder + m.lnCsidl = CSIDL_CONTROLS + + Case m.puFolderId = "COOKIES" + m.lqFolderId = FOLDERID_Cookies + m.lnCsidl = CSIDL_COOKIES + + Case m.puFolderId = "DESKTOP" + m.lqFolderId = FOLDERID_Desktop + m.lnCsidl = CSIDL_DESKTOP + + Case m.puFolderId = "DOCUMENTS" + m.lqFolderId = FOLDERID_Documents + m.lnCsidl = CSIDL_MYDOCUMENTS + + Case m.puFolderId = "DOWNLOADS" + m.lqFolderId = FOLDERID_Downloads + m.lnCsidl = 0xFFFF + + Case m.puFolderId = "FAVORITES" + m.lqFolderId = FOLDERID_Favorites + m.lnCsidl = CSIDL_FAVORITES + + Case m.puFolderId = "FONTS" + m.lqFolderId = FOLDERID_Fonts + m.lnCsidl = CSIDL_FONTS + + Case m.puFolderId = "GAMES" + m.lqFolderId = FOLDERID_Games + m.lnCsidl = 0xFFFF + + Case m.puFolderId = "GAMETASKS" + m.lqFolderId = FOLDERID_GameTasks + m.lnCsidl = 0xFFFF + + Case m.puFolderId = "HISTORY" + m.lqFolderId = FOLDERID_History + m.lnCsidl = CSIDL_HISTORY + + Case m.puFolderId = "INTERNETCACHE" + m.lqFolderId = FOLDERID_InternetCache + m.lnCsidl = CSIDL_INTERNET_CACHE + + Case m.puFolderId = "INTERNETFOLDER" + m.lqFolderId = FOLDERID_InternetFolder + m.lnCsidl = CSIDL_INTERNET + + Case m.puFolderId = "LINKS" + m.lqFolderId = FOLDERID_Links + m.lnCsidl = 0xFFFF + + Case m.puFolderId = "LOCALAPPDATA" + m.lqFolderId = FOLDERID_LocalAppData + m.lnCsidl = CSIDL_LOCAL_APPDATA + + Case m.puFolderId = "LOCALAPPDATALOW" + m.lqFolderId = FOLDERID_LocalAppDataLow + m.lnCsidl = 0xFFFF + + Case m.puFolderId = "LOCALIZEDRESOURCESDIR" + m.lqFolderId = FOLDERID_LocalizedResourcesDir + m.lnCsidl = CSIDL_RESOURCES_LOCALIZED + + Case m.puFolderId = "MUSIC" + m.lqFolderId = FOLDERID_Music + m.lnCsidl = CSIDL_MYMUSIC + + Case m.puFolderId = "NETHOOD" + m.lqFolderId = FOLDERID_NetHood + m.lnCsidl = CSIDL_NETHOOD + + Case m.puFolderId = "NETWORKFOLDER" + m.lqFolderId = FOLDERID_NetworkFolder + m.lnCsidl = CSIDL_NETWORK + + Case m.puFolderId = "ORIGINALIMAGES" + m.lqFolderId = FOLDERID_OriginalImages + m.lnCsidl = 0xFFFF + + Case m.puFolderId = "PHOTOALBUMS" + m.lqFolderId = FOLDERID_PhotoAlbums + m.lnCsidl = 0xFFFF + + Case m.puFolderId = "PICTURES" + m.lqFolderId = FOLDERID_Pictures + m.lnCsidl = CSIDL_MYPICTURES + + Case m.puFolderId = "PLAYLISTS" + m.lqFolderId = FOLDERID_Playlists + m.lnCsidl = 0xFFFF + + Case m.puFolderId = "PRINTERSFOLDER" + m.lqFolderId = FOLDERID_PrintersFolder + m.lnCsidl = CSIDL_PRINTERS + + Case m.puFolderId = "PRINTHOOD" + m.lqFolderId = FOLDERID_PrintHood + m.lnCsidl = CSIDL_PRINTHOOD + + Case m.puFolderId = "PROFILE" + m.lqFolderId = FOLDERID_Profile + m.lnCsidl = CSIDL_PROFILE + + Case m.puFolderId = "PROGRAMDATA" + m.lqFolderId = FOLDERID_ProgramData + m.lnCsidl = CSIDL_COMMON_APPDATA + + Case m.puFolderId = "PROGRAMFILES" + m.lqFolderId = FOLDERID_ProgramFiles + m.lnCsidl = CSIDL_PROGRAM_FILES + + Case m.puFolderId = "PROGRAMFILESX64" + m.lqFolderId = FOLDERID_ProgramFilesX64 + m.lnCsidl = 0xFFFF + + Case m.puFolderId = "PROGRAMFILESX86" + m.lqFolderId = FOLDERID_ProgramFilesX86 + m.lnCsidl = CSIDL_PROGRAM_FILESX86 + + Case m.puFolderId = "PROGRAMFILESCOMMON" + m.lqFolderId = FOLDERID_ProgramFilesCommon + m.lnCsidl = CSIDL_PROGRAM_FILES_COMMON + + Case m.puFolderId = "PROGRAMFILESCOMMONX64" + m.lqFolderId = FOLDERID_ProgramFilesCommonX64 + m.lnCsidl = 0xFFFF + + Case m.puFolderId = "PROGRAMFILESCOMMONX86" + m.lqFolderId = FOLDERID_ProgramFilesCommonX86 + m.lnCsidl = CSIDL_PROGRAM_FILES_COMMONX86 + + Case m.puFolderId = "PROGRAMS" + m.lqFolderId = FOLDERID_Programs + m.lnCsidl = CSIDL_PROGRAMS + + Case m.puFolderId = "PUBLIC" + m.lqFolderId = FOLDERID_Public + m.lnCsidl = 0xFFFF + + Case m.puFolderId = "PUBLICDESKTOP" + m.lqFolderId = FOLDERID_PublicDesktop + m.lnCsidl = CSIDL_COMMON_DESKTOPDIRECTORY + + Case m.puFolderId = "PUBLICDOCUMENTS" + m.lqFolderId = FOLDERID_PublicDocuments + m.lnCsidl = CSIDL_COMMON_DOCUMENTS + + Case m.puFolderId = "PUBLICDOWNLOADS" + m.lqFolderId = FOLDERID_PublicDownloads + m.lnCsidl = 0xFFFF + + Case m.puFolderId = "PUBLICGAMETASKS" + m.lqFolderId = FOLDERID_PublicGameTasks + m.lnCsidl = 0xFFFF + + Case m.puFolderId = "PUBLICMUSIC" + m.lqFolderId = FOLDERID_PublicMusic + m.lnCsidl = CSIDL_COMMON_MUSIC + + Case m.puFolderId = "PUBLICPICTURES" + m.lqFolderId = FOLDERID_PublicPictures + m.lnCsidl = CSIDL_COMMON_PICTURES + + Case m.puFolderId = "PUBLICVIDEOS" + m.lqFolderId = FOLDERID_PublicVideos + m.lnCsidl = CSIDL_COMMON_VIDEO + + Case m.puFolderId = "QUICKLAUNCH" + m.lqFolderId = FOLDERID_QuickLaunch + m.lnCsidl = 0xFFFF + + Case m.puFolderId = "RECENT" + m.lqFolderId = FOLDERID_Recent + m.lnCsidl = CSIDL_RECENT + + Case m.puFolderId = "RECORDEDTV" + m.lqFolderId = FOLDERID_RecordedTV + m.lnCsidl = 0xFFFF + + Case m.puFolderId = "RECYCLEBINFOLDER" + m.lqFolderId = FOLDERID_RecycleBinFolder + m.lnCsidl = CSIDL_BITBUCKET + + Case m.puFolderId = "RESOURCEDIR" + m.lqFolderId = FOLDERID_ResourceDir + m.lnCsidl = CSIDL_RESOURCES + + Case m.puFolderId = "ROAMINGAPPDATA" + m.lqFolderId = FOLDERID_RoamingAppData + m.lnCsidl = CSIDL_APPDATA + + Case m.puFolderId = "SAMPLEMUSIC" + m.lqFolderId = FOLDERID_SampleMusic + m.lnCsidl = 0xFFFF + + Case m.puFolderId = "SAMPLEPICTURES" + m.lqFolderId = FOLDERID_SamplePictures + m.lnCsidl = 0xFFFF + + Case m.puFolderId = "SAMPLEPLAYLISTS" + m.lqFolderId = FOLDERID_SamplePlaylists + m.lnCsidl = 0xFFFF + + Case m.puFolderId = "SAMPLEVIDEOS" + m.lqFolderId = FOLDERID_SampleVideos + m.lnCsidl = 0xFFFF + + Case m.puFolderId = "SAVEDGAMES" + m.lqFolderId = FOLDERID_SavedGames + m.lnCsidl = 0xFFFF + + Case m.puFolderId = "SAVEDSEARCHES" + m.lqFolderId = FOLDERID_SavedSearches + m.lnCsidl = 0xFFFF + + Case m.puFolderId = "SEARCH_CSC" + m.lqFolderId = FOLDERID_SEARCH_CSC + m.lnCsidl = 0xFFFF + + Case m.puFolderId = "SEARCH_MAPI" + m.lqFolderId = FOLDERID_SEARCH_MAPI + m.lnCsidl = 0xFFFF + + Case m.puFolderId = "SEARCHHOME" + m.lqFolderId = FOLDERID_SearchHome + m.lnCsidl = 0xFFFF + + Case m.puFolderId = "SENDTO" + m.lqFolderId = FOLDERID_SendTo + m.lnCsidl = CSIDL_SENDTO + + Case m.puFolderId = "SIDEBARDEFAULTPARTS " + m.lqFolderId = FOLDERID_SidebarDefaultParts + m.lnCsidl = 0xFFFF + + Case m.puFolderId = "SIDEBARPARTS " + m.lqFolderId = FOLDERID_SidebarParts + m.lnCsidl = 0xFFFF + + Case m.puFolderId = "STARTMENU" + m.lqFolderId = FOLDERID_StartMenu + m.lnCsidl = CSIDL_STARTMENU + + Case m.puFolderId = "STARTUP" + m.lqFolderId = FOLDERID_Startup + m.lnCsidl = CSIDL_STARTUP + + Case m.puFolderId = "SYNCMANAGERFOLDER" + m.lqFolderId = FOLDERID_SyncManagerFolder + m.lnCsidl = 0xFFFF + + Case m.puFolderId = "SYNCRESULTSFOLDER" + m.lqFolderId = FOLDERID_SyncResultsFolder + m.lnCsidl = 0xFFFF + + Case m.puFolderId = "SYNCSETUPFOLDER" + m.lqFolderId = FOLDERID_SyncSetupFolder + m.lnCsidl = 0xFFFF + + Case m.puFolderId = "SYSTEM" + m.lqFolderId = FOLDERID_System + m.lnCsidl = CSIDL_SYSTEM + + Case m.puFolderId = "SYSTEMX86" + m.lqFolderId = FOLDERID_SystemX86 + m.lnCsidl = CSIDL_SYSTEMX86 + + Case m.puFolderId = "TEMPLATES" + m.lqFolderId = FOLDERID_Templates + m.lnCsidl = CSIDL_TEMPLATES + + Case m.puFolderId = "TREEPROPERTIES" + m.lqFolderId = FOLDERID_TreeProperties + m.lnCsidl = 0xFFFF + + Case m.puFolderId = "USERPROFILES" + m.lqFolderId = FOLDERID_UserProfiles + m.lnCsidl = 0xFFFF + + Case m.puFolderId = "USERSFILES" + m.lqFolderId = FOLDERID_UsersFiles + m.lnCsidl = 0xFFFF + + Case m.puFolderId = "VIDEOS" + m.lqFolderId = FOLDERID_Videos + m.lnCsidl = CSIDL_MYVIDEO + + Case m.puFolderId = "WINDOWS" + m.lqFolderId = FOLDERID_Windows + m.lnCsidl = CSIDL_WINDOWS + + Endcase + + If ctlGetOsVersion() >= NTDDI_VISTA Then + + Else + + If m.lnCsidl # 0xFFFF Then + + m.lnCsidl = Bitor(m.lnCsidl, CSIDL_FLAG_CREATE) + m.lnPIDL = 0 + + If apiSHGetFolderLocation(0, m.lnCsidl, 0, 0, @m.lnPIDL) = ERROR_FILE_NOT_FOUND Then + + *!* call apiSHGetFolderPath so folder gets created + m.lcFolderPath = Replicate(Chr(0), MAX_PATH) + apiSHGetFolderPath(0, m.lnCsidl, 0, SHGFP_TYPE_CURRENT, @m.lcFolderPath) + + *!* Try again + apiSHGetFolderLocation(0, m.lnCsidl, 0, 0, @m.lnPIDL) + + Endif + + Endif + + Endif + + Return m.lnPIDL + + + + ENDPROC + + PROCEDURE ctlgetknownfolderpath && Gets a special folder path. + *!* ctlGetKnownFolderPath(cFolderId|qFolderId) + + *!* Vista: SHGetKnownFolderPath + *!* Win2K: SHGetFolderPath + *!* Win95: SHGetSpecialFolderPath + + Lparameters puFolderId + + Local ; + lqFolderId, ; + lnCsidl, ; + lcFolderPath, ; + lnResult, ; + lnPointer + + *!* Initialize variables + m.lcFolderPath = "" + m.lqFolderId = 0h + m.lnCsidl = 0xFFFF + + If Vartype(m.puFolderId) = "C" + m.puFolderId = Upper(Alltrim(m.puFolderId)) + *!* Remove prefix + m.puFolderId = Strtran(m.puFolderId, "FOLDERID_", "", 1, 1) + Endif + + Do Case + + Case Vartype(m.puFolderId) = "Q" + *!* If we have a binary parameter, lets assume its a valid FOLDERID + m.lqFolderId = m.puFolderId + + Case Vartype(m.puFolderId) # "C" + *!* From here, m.puFolderId can only be of type character + + Case m.puFolderId = "ADDNEWPROGRAMS" + m.lqFolderId = FOLDERID_AddNewPrograms + m.lnCsidl = 0xFFFF + + Case m.puFolderId = "ADMINTOOLS" + m.lqFolderId = FOLDERID_AdminTools + m.lnCsidl = CSIDL_ADMINTOOLS + + Case m.puFolderId = "APPUPDATES" + m.lqFolderId = FOLDERID_AppUpdates + m.lnCsidl = 0xFFFF + + Case m.puFolderId = "CDBURNING" + m.lqFolderId = FOLDERID_CDBurning + m.lnCsidl = CSIDL_CDBURN_AREA + + Case m.puFolderId = "CHANGEREMOVEPROGRAMS" + m.lqFolderId = FOLDERID_ChangeRemovePrograms + m.lnCsidl = 0xFFFF + + Case m.puFolderId = "COMMONADMINTOOLS" + m.lqFolderId = FOLDERID_CommonAdminTools + m.lnCsidl = CSIDL_COMMON_ADMINTOOLS + + Case m.puFolderId = "COMMONOEMLINKS" + m.lqFolderId = FOLDERID_CommonOEMLinks + m.lnCsidl = CSIDL_COMMON_OEM_LINKS + + Case m.puFolderId = "COMMONPROGRAMS" + m.lqFolderId = FOLDERID_CommonPrograms + m.lnCsidl = CSIDL_COMMON_PROGRAMS + + Case m.puFolderId = "COMMONSTARTMENU" + m.lqFolderId = FOLDERID_CommonStartMenu + m.lnCsidl = CSIDL_COMMON_STARTMENU + + Case m.puFolderId = "COMMONSTARTUP" + m.lqFolderId = FOLDERID_CommonStartup + m.lnCsidl = CSIDL_COMMON_STARTUP + + Case m.puFolderId = "COMMONTEMPLATES" + m.lqFolderId = FOLDERID_CommonTemplates + m.lnCsidl = CSIDL_COMMON_TEMPLATES + + Case m.puFolderId = "COMPUTERFOLDER" + m.lqFolderId = FOLDERID_ComputerFolder + m.lnCsidl = CSIDL_DRIVES + + Case m.puFolderId = "CONFLICTFOLDER" + m.lqFolderId = FOLDERID_ConflictFolder + m.lnCsidl = 0xFFFF + + Case m.puFolderId = "CONNECTIONSFOLDER" + m.lqFolderId = FOLDERID_ConnectionsFolder + m.lnCsidl = CSIDL_CONNECTIONS + + Case m.puFolderId = "CONTACTS" + m.lqFolderId = FOLDERID_Contacts + m.lnCsidl = 0xFFFF + + Case m.puFolderId = "CONTROLPANELFOLDER" + m.lqFolderId = FOLDERID_ControlPanelFolder + m.lnCsidl = CSIDL_CONTROLS + + Case m.puFolderId = "COOKIES" + m.lqFolderId = FOLDERID_Cookies + m.lnCsidl = CSIDL_COOKIES + + Case m.puFolderId = "DESKTOP" + m.lqFolderId = FOLDERID_Desktop + m.lnCsidl = CSIDL_DESKTOP + + Case m.puFolderId = "DOCUMENTS" + m.lqFolderId = FOLDERID_Documents + m.lnCsidl = CSIDL_MYDOCUMENTS + + Case m.puFolderId = "DOWNLOADS" + m.lqFolderId = FOLDERID_Downloads + m.lnCsidl = 0xFFFF + + Case m.puFolderId = "FAVORITES" + m.lqFolderId = FOLDERID_Favorites + m.lnCsidl = CSIDL_FAVORITES + + Case m.puFolderId = "FONTS" + m.lqFolderId = FOLDERID_Fonts + m.lnCsidl = CSIDL_FONTS + + Case m.puFolderId = "GAMES" + m.lqFolderId = FOLDERID_Games + m.lnCsidl = 0xFFFF + + Case m.puFolderId = "GAMETASKS" + m.lqFolderId = FOLDERID_GameTasks + m.lnCsidl = 0xFFFF + + Case m.puFolderId = "HISTORY" + m.lqFolderId = FOLDERID_History + m.lnCsidl = CSIDL_HISTORY + + Case m.puFolderId = "INTERNETCACHE" + m.lqFolderId = FOLDERID_InternetCache + m.lnCsidl = CSIDL_INTERNET_CACHE + + Case m.puFolderId = "INTERNETFOLDER" + m.lqFolderId = FOLDERID_InternetFolder + m.lnCsidl = CSIDL_INTERNET + + Case m.puFolderId = "LINKS" + m.lqFolderId = FOLDERID_Links + m.lnCsidl = 0xFFFF + + Case m.puFolderId = "LOCALAPPDATA" + m.lqFolderId = FOLDERID_LocalAppData + m.lnCsidl = CSIDL_LOCAL_APPDATA + + Case m.puFolderId = "LOCALAPPDATALOW" + m.lqFolderId = FOLDERID_LocalAppDataLow + m.lnCsidl = 0xFFFF + + Case m.puFolderId = "LOCALIZEDRESOURCESDIR" + m.lqFolderId = FOLDERID_LocalizedResourcesDir + m.lnCsidl = CSIDL_RESOURCES_LOCALIZED + + Case m.puFolderId = "MUSIC" + m.lqFolderId = FOLDERID_Music + m.lnCsidl = CSIDL_MYMUSIC + + Case m.puFolderId = "NETHOOD" + m.lqFolderId = FOLDERID_NetHood + m.lnCsidl = CSIDL_NETHOOD + + Case m.puFolderId = "NETWORKFOLDER" + m.lqFolderId = FOLDERID_NetworkFolder + m.lnCsidl = CSIDL_NETWORK + + Case m.puFolderId = "ORIGINALIMAGES" + m.lqFolderId = FOLDERID_OriginalImages + m.lnCsidl = 0xFFFF + + Case m.puFolderId = "PHOTOALBUMS" + m.lqFolderId = FOLDERID_PhotoAlbums + m.lnCsidl = 0xFFFF + + Case m.puFolderId = "PICTURES" + m.lqFolderId = FOLDERID_Pictures + m.lnCsidl = CSIDL_MYPICTURES + + Case m.puFolderId = "PLAYLISTS" + m.lqFolderId = FOLDERID_Playlists + m.lnCsidl = 0xFFFF + + Case m.puFolderId = "PRINTERSFOLDER" + m.lqFolderId = FOLDERID_PrintersFolder + m.lnCsidl = CSIDL_PRINTERS + + Case m.puFolderId = "PRINTHOOD" + m.lqFolderId = FOLDERID_PrintHood + m.lnCsidl = CSIDL_PRINTHOOD + + Case m.puFolderId = "PROFILE" + m.lqFolderId = FOLDERID_Profile + m.lnCsidl = CSIDL_PROFILE + + Case m.puFolderId = "PROGRAMDATA" + m.lqFolderId = FOLDERID_ProgramData + m.lnCsidl = CSIDL_COMMON_APPDATA + + Case m.puFolderId = "PROGRAMFILES" + m.lqFolderId = FOLDERID_ProgramFiles + m.lnCsidl = CSIDL_PROGRAM_FILES + + Case m.puFolderId = "PROGRAMFILESX64" + m.lqFolderId = FOLDERID_ProgramFilesX64 + m.lnCsidl = 0xFFFF + + Case m.puFolderId = "PROGRAMFILESX86" + m.lqFolderId = FOLDERID_ProgramFilesX86 + m.lnCsidl = CSIDL_PROGRAM_FILESX86 + + Case m.puFolderId = "PROGRAMFILESCOMMON" + m.lqFolderId = FOLDERID_ProgramFilesCommon + m.lnCsidl = CSIDL_PROGRAM_FILES_COMMON + + Case m.puFolderId = "PROGRAMFILESCOMMONX64" + m.lqFolderId = FOLDERID_ProgramFilesCommonX64 + m.lnCsidl = 0xFFFF + + Case m.puFolderId = "PROGRAMFILESCOMMONX86" + m.lqFolderId = FOLDERID_ProgramFilesCommonX86 + m.lnCsidl = CSIDL_PROGRAM_FILES_COMMONX86 + + Case m.puFolderId = "PROGRAMS" + m.lqFolderId = FOLDERID_Programs + m.lnCsidl = CSIDL_PROGRAMS + + Case m.puFolderId = "PUBLIC" + m.lqFolderId = FOLDERID_Public + m.lnCsidl = 0xFFFF + + Case m.puFolderId = "PUBLICDESKTOP" + m.lqFolderId = FOLDERID_PublicDesktop + m.lnCsidl = CSIDL_COMMON_DESKTOPDIRECTORY + + Case m.puFolderId = "PUBLICDOCUMENTS" + m.lqFolderId = FOLDERID_PublicDocuments + m.lnCsidl = CSIDL_COMMON_DOCUMENTS + + Case m.puFolderId = "PUBLICDOWNLOADS" + m.lqFolderId = FOLDERID_PublicDownloads + m.lnCsidl = 0xFFFF + + Case m.puFolderId = "PUBLICGAMETASKS" + m.lqFolderId = FOLDERID_PublicGameTasks + m.lnCsidl = 0xFFFF + + Case m.puFolderId = "PUBLICMUSIC" + m.lqFolderId = FOLDERID_PublicMusic + m.lnCsidl = CSIDL_COMMON_MUSIC + + Case m.puFolderId = "PUBLICPICTURES" + m.lqFolderId = FOLDERID_PublicPictures + m.lnCsidl = CSIDL_COMMON_PICTURES + + Case m.puFolderId = "PUBLICVIDEOS" + m.lqFolderId = FOLDERID_PublicVideos + m.lnCsidl = CSIDL_COMMON_VIDEO + + Case m.puFolderId = "QUICKLAUNCH" + m.lqFolderId = FOLDERID_QuickLaunch + m.lnCsidl = 0xFFFF + + Case m.puFolderId = "RECENT" + m.lqFolderId = FOLDERID_Recent + m.lnCsidl = CSIDL_RECENT + + Case m.puFolderId = "RECORDEDTV" + m.lqFolderId = FOLDERID_RecordedTV + m.lnCsidl = 0xFFFF + + Case m.puFolderId = "RECYCLEBINFOLDER" + m.lqFolderId = FOLDERID_RecycleBinFolder + m.lnCsidl = CSIDL_BITBUCKET + + Case m.puFolderId = "RESOURCEDIR" + m.lqFolderId = FOLDERID_ResourceDir + m.lnCsidl = CSIDL_RESOURCES + + Case m.puFolderId = "ROAMINGAPPDATA" + m.lqFolderId = FOLDERID_RoamingAppData + m.lnCsidl = CSIDL_APPDATA + + Case m.puFolderId = "SAMPLEMUSIC" + m.lqFolderId = FOLDERID_SampleMusic + m.lnCsidl = 0xFFFF + + Case m.puFolderId = "SAMPLEPICTURES" + m.lqFolderId = FOLDERID_SamplePictures + m.lnCsidl = 0xFFFF + + Case m.puFolderId = "SAMPLEPLAYLISTS" + m.lqFolderId = FOLDERID_SamplePlaylists + m.lnCsidl = 0xFFFF + + Case m.puFolderId = "SAMPLEVIDEOS" + m.lqFolderId = FOLDERID_SampleVideos + m.lnCsidl = 0xFFFF + + Case m.puFolderId = "SAVEDGAMES" + m.lqFolderId = FOLDERID_SavedGames + m.lnCsidl = 0xFFFF + + Case m.puFolderId = "SAVEDSEARCHES" + m.lqFolderId = FOLDERID_SavedSearches + m.lnCsidl = 0xFFFF + + Case m.puFolderId = "SEARCH_CSC" + m.lqFolderId = FOLDERID_SEARCH_CSC + m.lnCsidl = 0xFFFF + + Case m.puFolderId = "SEARCH_MAPI" + m.lqFolderId = FOLDERID_SEARCH_MAPI + m.lnCsidl = 0xFFFF + + Case m.puFolderId = "SEARCHHOME" + m.lqFolderId = FOLDERID_SearchHome + m.lnCsidl = 0xFFFF + + Case m.puFolderId = "SENDTO" + m.lqFolderId = FOLDERID_SendTo + m.lnCsidl = CSIDL_SENDTO + + Case m.puFolderId = "SIDEBARDEFAULTPARTS " + m.lqFolderId = FOLDERID_SidebarDefaultParts + m.lnCsidl = 0xFFFF + + Case m.puFolderId = "SIDEBARPARTS " + m.lqFolderId = FOLDERID_SidebarParts + m.lnCsidl = 0xFFFF + + Case m.puFolderId = "STARTMENU" + m.lqFolderId = FOLDERID_StartMenu + m.lnCsidl = CSIDL_STARTMENU + + Case m.puFolderId = "STARTUP" + m.lqFolderId = FOLDERID_Startup + m.lnCsidl = CSIDL_STARTUP + + Case m.puFolderId = "SYNCMANAGERFOLDER" + m.lqFolderId = FOLDERID_SyncManagerFolder + m.lnCsidl = 0xFFFF + + Case m.puFolderId = "SYNCRESULTSFOLDER" + m.lqFolderId = FOLDERID_SyncResultsFolder + m.lnCsidl = 0xFFFF + + Case m.puFolderId = "SYNCSETUPFOLDER" + m.lqFolderId = FOLDERID_SyncSetupFolder + m.lnCsidl = 0xFFFF + + Case m.puFolderId = "SYSTEM" + m.lqFolderId = FOLDERID_System + m.lnCsidl = CSIDL_SYSTEM + + Case m.puFolderId = "SYSTEMX86" + m.lqFolderId = FOLDERID_SystemX86 + m.lnCsidl = CSIDL_SYSTEMX86 + + Case m.puFolderId = "TEMPLATES" + m.lqFolderId = FOLDERID_Templates + m.lnCsidl = CSIDL_TEMPLATES + + Case m.puFolderId = "TREEPROPERTIES" + m.lqFolderId = FOLDERID_TreeProperties + m.lnCsidl = 0xFFFF + + Case m.puFolderId = "USERPROFILES" + m.lqFolderId = FOLDERID_UserProfiles + m.lnCsidl = 0xFFFF + + Case m.puFolderId = "USERSFILES" + m.lqFolderId = FOLDERID_UsersFiles + m.lnCsidl = 0xFFFF + + Case m.puFolderId = "VIDEOS" + m.lqFolderId = FOLDERID_Videos + m.lnCsidl = CSIDL_MYVIDEO + + Case m.puFolderId = "WINDOWS" + m.lqFolderId = FOLDERID_Windows + m.lnCsidl = CSIDL_WINDOWS + + Endcase + + If ctlGetOsVersion() >= NTDDI_VISTA Then + + m.lnPointer = 0 + m.lnResult = apiSHGetKnownFolderPath(m.lqFolderId, KF_FLAG_CREATE, 0, @m.lnPointer) + + If m.lnResult = S_OK Then + m.lcFolderPath = Sys(2600, m.lnPointer, apiHeapSize(apiGetProcessHeap(), 0, m.lnPointer)) + m.lcFolderPath = Strconv(m.lcFolderPath, 6) + apiCoTaskMemFree(m.lnPointer) + Endif + + Else + + If m.lnCsidl # 0xFFFF Then + m.lnCsidl = Bitor(m.lnCsidl, CSIDL_FLAG_CREATE) + m.lcFolderPath = Replicate(Chr(0), MAX_PATH) + apiSHGetFolderPath(0, m.lnCsidl, 0, SHGFP_TYPE_CURRENT, @m.lcFolderPath) + m.lcFolderPath = Left(m.lcFolderPath, At(NULW, m.lcFolderPath) - 1) + Endif + + Endif + + Return m.lcFolderPath + + + + ENDPROC + + PROCEDURE ctlhelprequest && Occurs when the user clicks the Help button on a common dialog box. + *!* ctlHelpRequest() + ENDPROC + + PROCEDURE ctlhookproc && Defines the common dialog box hook procedure that is overridden to add specific functionality to a common dialog box. + *!* ctlHookProc + + Lparameters hdlg As Integer, uiMsg As Integer, wParam As Integer, Lparam As Integer + + Return 0 + ENDPROC + + PROCEDURE ctlonhelprequest && Raises the HelpRequest event. + *!* ctlOnHelpRequest() + ENDPROC + + PROCEDURE ctlreset && When overridden in a derived class, resets the properties of a common dialog box to their default values. + *!* ctlReset() + ENDPROC + + PROCEDURE ctlrundialog && When overridden in a derived class, specifies a common dialog box. + *!* ctlRunDialog() + ENDPROC + + PROCEDURE ctlshowdialog && Runs a common dialog box. + *!* ctlShowDialog() + ENDPROC + + PROCEDURE Init + *!* Init() + + *!* This parameter is passed from host ctl32 control + *!* Lparameters m.tnParam + + This.Visible = FALSE + + This._InitLibrary() + This._SetProperties() + *!* This._AddObjects() + *!* This._SetControlSource() + *!* This._SetEnabled() + *!* This._BindEvents() + + *!* If we have a parameter, some other ctl32 control is parent, do no create control + *!* Let parent call ctlCreate() + + *!* If Vartype(m.tnParam) = T_LOGICAL Then + *!* This._Create() + *!* Endif + + *!* Raiseevent(This, "ctlInit") + + This._SaveProperties() + ENDPROC + + PROCEDURE _createcallback + *!* _CreateCallback() + + Local lcVarString As String + + m.lcVarString = "INTEGER,INTEGER,INTEGER,INTEGER" + + This. _CallBackPointer = CreateCallBackFunc("ctlhookproc","INTEGER", m.lcVarString, This) + + ENDPROC + + PROCEDURE _destroycallback + *!* _DestroyCallback() + + DestroyCallbackFunc(This. _CallBackPointer) + + ENDPROC + + PROCEDURE _initlibrary + *!* _InitLibrary() + + External Procedure ctl32.prg + Do (Addbs(Justpath(This.ClassLibrary)) + "ctl32.prg") + + ENDPROC + + PROCEDURE _loadstring + Lparameters pcResource, pnStringId As Integer + + Local ; + lnModule As Integer, ; + llReleaseLibrary As Boolean, ; + lcString As String + + *!* Get module handle of user32 if it is loaded + m.lnModule = apiGetModuleHandle(m.pcResource) + + *!* If not loaded, load it + If m.lnModule = 0 Then + m.llReleaseLibrary = TRUE + m.lnModule = apiLoadLibrary(m.pcResource) + Else + m.llReleaseLibrary = FALSE + Endif + + m.lcString = Replicate(NULA, 1024) + + m.lnStringLen = apiLoadString(m.lnModule, m.pnStringId, @m.lcString, Len(m.lcString)) + + m.lcString = Left(m.lcString, m.lnStringLen) + + If m.llReleaseLibrary = TRUE Then + apiFreeLibrary(m.lnModule) + Endif + + Return m.lcString + + ENDPROC + + PROCEDURE _resetproperties + Local lcProperty + + With This + For m.lnx = 1 To Alen(This._Properties, 1) + If Left(This._Properties(m.lnx,1), 3) = "CTL" Then + .AddProperty(This._Properties(m.lnx,1), ._Properties(m.lnx, 2)) + Endif + Endfor + Endwith + + + ENDPROC + + PROCEDURE _saveproperties + Local lnPropertyCount, lnx + + Local Array aProperties(1) + + m.lnPropertyCount = Amembers(m.aProperties, This, 0) + + Dimension This._Properties(m.lnPropertyCount, 2) + + With This + For m.lnx = 1 To m.lnPropertyCount + ._Properties(m.lnx,1) = m.aProperties(m.lnx) + If Left(._Properties(m.lnx,1), 3) = "CTL" Then + ._Properties(m.lnx,2) = Getpem(This, m.aProperties(m.lnx)) + Endif + Endfor + Endwith + + ENDPROC + + PROCEDURE _setproperties + *!* _SetProperties() + ENDPROC + + PROCEDURE lblname.Init + Return FALSE + + ENDPROC + +ENDDEFINE + +DEFINE CLASS ctl32_controlbase AS container + *< CLASSDATA: Baseclass="container" Timestamp="" Scale="Pixels" Uniqueid="" /> + + *-- OBJECTDATA items order determines ZOrder / El orden de los items OBJECTDATA determina el ZOrder + *< OBJECTDATA: ObjPath="lblname" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="ctlTextBox" UniqueID="" Timestamp="" /> + + #INCLUDE "ctl32.h" + * + *m: ctlautosize_assign + *m: ctlbackcolor_assign + *m: ctlbackgroundimagelayout_assign + *m: ctlbackgroundimage_assign + *m: ctlbackstyle_assign + *m: ctlbordercolor_assign + *m: ctlbottom_access + *m: ctlcontrolsource_assign + *m: ctlcreatecontrol && Forces the creation of the control, including the creation of the handle and any child controls. + *m: ctlcreated_access + *m: ctldefaultbackcolor_access + *m: ctldefaultbordercolor_access + *m: ctldefaultforecolor_access + *m: ctldefaultheight_access + *m: ctldefaultwidth_access + *m: ctldispose && Releases all resources used by the control. + *m: ctlenabled_assign + *m: ctlfocused_access + *m: ctlfontbold_assign + *m: ctlfontcharset_assign + *m: ctlfontitalic_assign + *m: ctlfontname_assign + *m: ctlfontsize_assign + *m: ctlfontstrikethru_assign + *m: ctlfontunderline_assign + *m: ctlforecolor_assign + *m: ctlhandle_access + *m: ctlhide && Conceals the control from the user. + *m: ctlhostformhwnd_access + *m: ctlhosthwnd_access + *m: ctlhwnd_access + *m: ctlinit && Occurs when anobject is created, after the Init event. + *m: ctlishandlecreated_access + *m: ctllocationleft_access + *m: ctllocationtop_access + *m: ctlorientation_assign + *m: ctlrecreatinghandle_access + *m: ctlrefresh && Forces the control to invalidate its client area and immediately redraw itself and any child controls. + *m: ctlresetbackcolor && Resets the ctlBackColor property to its default value. + *m: ctlresetbordercolor && Resets the ctlBorderColor property to its default value. + *m: ctlresetfont && Resets the Font... properties to its default values. + *m: ctlresetforecolor && Resets the ctlForeColor property to its default value. + *m: ctlright_access + *m: ctlshow && Displays the control to the user. Showing the control is equivalent to setting the ctlVisible property to true. + *m: ctlshowfocuscues_assign + *m: ctlthemes_assign + *m: ctlvaluechanged && Occurs when the ctlValue property changes. + *m: ctlvalue_assign + *m: ctlvisible_assign + *m: _addobjects && Adds objects used by the class. + *m: _bindevents && Binds to events used by the class. + *m: _callbackproc + *m: _create && Creates the windows control + *m: _createbackgroundbrush && Creates a brush. + *m: _createcallback + *m: _destroycallback + *m: _drawfocusrect && Draws a focus rectangle for controls that do not have one. + *m: _formmessagehandler + *m: _getdefaultfont + *m: _getdefaultsize + *m: _getdwexstyle + *m: _getdwstyle + *m: _getlpclassname + *m: _getlpwindowname + *m: _getpage && Returns an object reference to the page that contains this control. + *m: _getpageframe + *m: _initcommoncontrols + *m: _initlibrary + *m: _iscontrolinpage && Returns TRUE if the control is contained in a page. + *m: _objtoclient && Replaces OBJTOCLIENT that has bugs. + *m: _onformborderstyle + *m: _onformpaint + *m: _onformresize + *m: _onmoved && Bindevent(This, "Moved", This, "_OnMoved", 1) + *m: _onpageactivate && Bindevent(m.loControl, "Activate", This, "_OnPageActivate", 1) + *m: _onpagedeactivate && Bindevent(m.loControl, "Deactivate", This, "_OnPageDeactivate", 1) + *m: _onparentbackcolor + *m: _onresize && Bindevent(This, "Resize", This, "_OnResize", 1) + *m: _onthemes && Bindevent(_Screen, "Themes", This, "_OnThemes", 1) / Bindevent(Thisform, "Themes", This, "_OnThemes", 1) + *m: _onvalue + *m: _postcreate + *m: _precreate + *m: _reparent + *m: _setautosize + *m: _setbackcolor + *m: _setbackstyle + *m: _setbordercolor + *m: _setcontrolsource + *m: _setenabled + *m: _setfont + *m: _setforecolor + *m: _setorientation + *m: _setproperties + *m: _setshowfocuscues + *m: _setthemes + *m: _setvalue + *m: _setvisible + *m: _updatecolors + *m: _vfpmessagehandler + *p: builderx + *p: ctlautosize && Gets or sets a value indicating whether the height and/or width of the control is automatically sized. + *p: ctlbackcolor && Gets or sets the background color for the control. + *p: ctlbackgroundimage && Gets or sets the background image displayed in the control. + *p: ctlbackgroundimagelayout && Gets or sets the background image layout. + *p: ctlbackstyle && Specifies if the background of an object is transparent or opaque. + *p: ctlbordercolor && Gets or sets the border color of the control. + *p: ctlbottom && Gets the distance, in pixels, between the bottom edge of the control and the top edge of its container's client area. + *p: ctlcanfocus && Specifies whether the control can receive focus. + *p: ctlcontrolsource && Specifies the source of data to which an object is bound. + *p: ctlcreated && Gets a value indicating whether the control has been created. + *p: ctldefaultbackcolor && Gets the default background color of the control. + *p: ctldefaultbordercolor && Gets the default border color of the control. + *p: ctldefaultforecolor && Gets the default foreground color of the control. + *p: ctldefaultheight && Gets the default height of the control. + *p: ctldefaultwidth && Gets the default width of the control. + *p: ctlenabled && Gets or sets a value indicating whether the control can respond to user interaction. + *p: ctlfocused && Gets a value indicating whether the control has input focus. + *p: ctlfontbold && Specifies if the text is bold. + *p: ctlfontcharset && Specifies the character set, or language script, of the font. + *p: ctlfontitalic && Specifies if the text is italic. + *p: ctlfontname && Specifies the name of the font. + *p: ctlfontsize && Specifies the size of the font + *p: ctlfontstrikethru && Specifies if the text is strikethru. + *p: ctlfontunderline && Specifies if the text is underline. + *p: ctlforecolor && Gets or sets the foreground color of the control. + *p: ctlhandle && Gets the window handle that the control is bound to. + *p: ctlhostformhwnd && Specifies the window handle of the inner window of the parent form. + *p: ctlhosthwnd && Gets the windows handle of the parent object of this control, if there is one. + *p: ctlhwnd && DEPRECATED. Replaced by the .NET ctlHandle property. + *p: ctlishandlecreated && Gets a value indicating whether the control has a handle associated with it. + *p: ctllocationleft && Gets or sets the Left coordinate of the upper-left corner of the control relative to the upper-left corner of its container. (ObjToClient) + *p: ctllocationtop && Gets or sets the Top coordinate of the upper-left corner of the control relative to the upper-left corner of its container. (ObjToClient) + *p: ctlorientation && Gets or sets a value indicating the horizontal or vertical orientation of the control. + *p: ctlrecreatinghandle && Gets a value indicating whether the control is currently re-creating its handle. + *p: ctlright && Gets the distance, in pixels, between the right edge of the control and the left edge of its container's client area. (Left + Width) + *p: ctlshowfocuscues && Gets or sets a value indicating whether the control should display focus rectangles. + *p: ctlthemes && Specifies if themes are used for the control. + *p: ctlvalue && Specifies the current value or state of the control. + *p: ctlvisible && Gets or sets a value indicating whether the control is displayed. + *p: _backgroundbrush && Handle to a GDI brush, passed to the control. + *p: _callbackprocaddress + *p: _clicktime && Stores seconds() for click event to detect double clicks. + *p: _controlhasownfocuscue + *p: _controlhwnd && hwnd of the control window. + *p: _controlwindowprocaddress + *p: _defaultheight + *p: _defaultwidth + *p: _enableupdates + *p: _focused && Specifies if the control has the focus. + *p: _focusstart && Specifies the time the control got focus, used by _FocusTimerTick. + *p: _fontdefaultlogfont + *p: _fonthandle + *p: _hostformhwnd + *p: _inpage && Specifies if the control is in a page, somewhere in its object tree. Used to show/hide the control when the page becomes active/inactive. + *p: _memberdata && XML Metadata for customizable properties + *p: _onvaluefired + *p: _pageactive + *p: _popup + *p: _recreatinghandle + *p: _visible && Set to FALSE to make container NEVER Visible + * + + * + BackColor = 140,200,200 + builderx = + ctlautosize = .T. + ctlbackcolor = -1 + ctlbackgroundimage = + ctlbackgroundimagelayout = 0 + ctlbackstyle = 1 + ctlbordercolor = -1 + ctlbottom = 0 + ctlcanfocus = .F. + ctlcontrolsource = + ctlcreated = .F. + ctldefaultbackcolor = 0 + ctldefaultbordercolor = 0 + ctldefaultforecolor = 0 + ctldefaultheight = 0 + ctldefaultwidth = 0 + ctlenabled = .T. + ctlfocused = .F. + ctlfontbold = .F. + ctlfontcharset = 1 + ctlfontitalic = .F. + ctlfontname = Default + ctlfontsize = 0 + ctlfontstrikethru = .F. + ctlfontunderline = .F. + ctlforecolor = -1 + ctlhandle = 0 + ctlhostformhwnd = 0 + ctlhosthwnd = 0 + ctlhwnd = 0 + ctlishandlecreated = .F. + ctllocationleft = 0 + ctllocationtop = 0 + ctlorientation = 0 + ctlrecreatinghandle = .F. + ctlright = 0 + ctlshowfocuscues = .T. + ctlthemes = .T. + ctlvalue = 0 + ctlvisible = .T. + Height = 60 + Name = "ctl32_controlbase" + Width = 240 + _backgroundbrush = 0 + _callbackprocaddress = + _clicktime = 0 + _controlhasownfocuscue = .T. + _controlhwnd = 0 + _controlwindowprocaddress = + _defaultheight = 0 + _defaultwidth = 0 + _enableupdates = .T. + _focused = .F. + _focusstart = 0 + _fontdefaultlogfont = .F. + _fonthandle = 0 + _hostformhwnd = 0 + _inpage = .F. + _memberdata = + + + _onvaluefired = .F. + _pageactive = .F. + _popup = .F. + _recreatinghandle = .F. + _visible = .T. + * + + ADD OBJECT 'ctlTextBox' AS textbox WITH ; + Height = 23, ; + Left = 0, ; + Name = "ctlTextBox", ; + Top = 32000, ; + Width = 100 + *< END OBJECT: BaseClass="textbox" /> + + ADD OBJECT 'lblname' AS label WITH ; + AutoSize = .T., ; + BackStyle = 0, ; + Caption = "ctl32_base", ; + FontName = "Tahoma", ; + FontSize = 8, ; + ForeColor = 0,0,128, ; + Left = 6, ; + Name = "lblname", ; + Top = 2 + *< END OBJECT: BaseClass="label" /> + + PROCEDURE ctlautosize_assign + *!* ctlAutoSize_Assign() + + Lparameters m.tuNewValue + + If Vartype(m.tuNewValue) = T_NUMERIC Then + m.tuNewValue = m.tuNewValue # 0 + Endif + + *!* Always do this + *!* If This.ctlAutoSize # m.tuNewValue Then + + This.ctlAutoSize = m.tuNewValue + This._SetAutoSize() + + *!* Endif + + + ENDPROC + + PROCEDURE ctlbackcolor_assign + *!* ctlBackColor_Assign(tuNewValue) + + Lparameters m.tuNewValue + + If Vartype(m.tuNewValue) # "N" + m.tuNewValue = -1 + Endif + + If m.tuNewValue > Rgb(255,255,255) Or m.tuNewValue < 0 Then + m.tuNewValue = -1 + Endif + + If This.ctlBackColor # m.tuNewValue Then + This.ctlBackColor = m.tuNewValue + This._SetBackColor() + Endif + + + + + ENDPROC + + PROCEDURE ctlbackgroundimagelayout_assign + lparameters tuNewValue + This.ctlBackgroundImageLayout = tuNewValue + + ENDPROC + + PROCEDURE ctlbackgroundimage_assign + lparameters tuNewValue + This.ctlBackgroundImage = tuNewValue + + ENDPROC + + PROCEDURE ctlbackstyle_assign + *!* ctlBackStyle_Assign() + + Lparameters m.tuNewValue + + If m.tuNewValue # 0 Then + m.tuNewValue = 1 + Endif + + If This.ctlBackStyle # m.tuNewValue Then + This.ctlBackStyle = m.tuNewValue + This._SetBackStyle() + Endif + + ENDPROC + + PROCEDURE ctlbordercolor_assign + *!* ctlBorderColor_Assign() + + Lparameters m.tuNewValue + + If Vartype(m.tuNewValue) # "N" + m.tuNewValue = -1 + Endif + + If m.tuNewValue > Rgb(255,255,255) Or m.tuNewValue < 0 Then + m.tuNewValue = -1 + Endif + + If This.ctlBorderColor # m.tuNewValue Then + This.ctlBorderColor = m.tuNewValue + This._SetBorderColor() + Endif + + ENDPROC + + PROCEDURE ctlbottom_access + *!* ctlBottom_Access() + + Return This.Top + This.Height + + ENDPROC + + PROCEDURE ctlcontrolsource_assign + Lparameters m.tuNewValue + + If Vartype(m.tuNewValue) = T_NUMERIC Then + m.tuNewValue = m.tuNewValue # 0 + Endif + + If This.ctlControlSource # m.tuNewValue Then + This.ctlControlSource = m.tuNewValue + This._SetControlSource() + Endif + + + ENDPROC + + PROCEDURE ctlcreatecontrol && Forces the creation of the control, including the creation of the handle and any child controls. + *!* CreateControl() + + This._Create() + + ENDPROC + + PROCEDURE ctlcreated_access + *!* ctlCreated_Access() + + Return This._ControlHwnd # 0 + + ENDPROC + + PROCEDURE ctldefaultbackcolor_access + *!* ctlDefaultBackColor_Access() + + *!* ActiveBorder = COLOR_ACTIVEBORDER + *!* ActiveCaption = COLOR_ACTIVECAPTION + *!* ActiveCaptionText = COLOR_CAPTIONTEXT + *!* AppWorkspace = COLOR_APPWORKSPACE + *!* ButtonFace = COLOR_BTNFACE + *!* ButtonHighlight = COLOR_BTNHIGHLIGHT + *!* ButtonShadow = COLOR_BTNSHADOW + *!* Control = COLOR_BTNFACE + *!* ControlDark = COLOR_BTNSHADOW + *!* ControlDarkDark = COLOR_3DDKSHADOW + *!* ControlLight = COLOR_BTNHIGHLIGHT + *!* ControlLightLight = COLOR_3DLIGHT + *!* ControlText = COLOR_BTNTEXT + *!* Desktop = COLOR_DESKTOP + *!* GradientActiveCaption = COLOR_GRADIENTACTIVECAPTION + *!* GradientInactiveCaption = COLOR_GRADIENTINACTIVECAPTION + *!* GrayText = COLOR_GRAYTEXT + *!* Highlight = COLOR_HIGHLIGHT + *!* HighlightText = COLOR_HIGHLIGHTTEXT + *!* HotTrack = COLOR_HOTLIGHT + *!* InactiveBorder = COLOR_INACTIVEBORDER + *!* InactiveCaption = COLOR_INACTIVECAPTION + *!* InactiveCaptionText = COLOR_INACTIVECAPTIONTEXT + *!* Info = COLOR_INFOBK + *!* InfoText = COLOR_INFOTEXT + *!* Menu = COLOR_MENU + *!* MenuBar = COLOR_MENUBAR + *!* MenuHighlight = COLOR_MENUHILIGHT + *!* MenuText = COLOR_MENUTEXT + *!* Scrollbar = COLOR_SCROLLBAR + *!* Window = COLOR_WINDOW + *!* WindowFrame = COLOR_WINDOWFRAME + *!* WindowText = COLOR_WINDOWTEXT + + Local lnColor As Integer + + Do Case + + Case This._GetlpClassName() = TRACKBAR_CLASSA + m.lnColor = apiGetSysColor(COLOR_BTNFACE) && Control + + Case This._GetlpClassName() = PROGRESS_CLASSA + m.lnColor = apiGetSysColor(COLOR_BTNFACE) && Control + + Case This._GetlpClassName() = MONTHCAL_CLASSA + m.lnColor = apiGetSysColor(COLOR_WINDOW) && Window + + Case This._GetlpClassName() = TOOLTIPS_CLASSA + m.lnColor = apiGetSysColor(COLOR_INFOBK) && Info + + Otherwise + m.lnColor = 0 + + Endcase + + Return m.lnColor + + ENDPROC + + PROCEDURE ctldefaultbordercolor_access + *!* ctlDefaultBorderColor_Access() + + *!* ActiveBorder = COLOR_ACTIVEBORDER + *!* ActiveCaption = COLOR_ACTIVECAPTION + *!* ActiveCaptionText = COLOR_CAPTIONTEXT + *!* AppWorkspace = COLOR_APPWORKSPACE + *!* ButtonFace = COLOR_BTNFACE + *!* ButtonHighlight = COLOR_BTNHIGHLIGHT + *!* ButtonShadow = COLOR_BTNSHADOW + *!* Control = COLOR_BTNFACE + *!* ControlDark = COLOR_BTNSHADOW + *!* ControlDarkDark = COLOR_3DDKSHADOW + *!* ControlLight = COLOR_BTNHIGHLIGHT + *!* ControlLightLight = COLOR_3DLIGHT + *!* ControlText = COLOR_BTNTEXT + *!* Desktop = COLOR_DESKTOP + *!* GradientActiveCaption = COLOR_GRADIENTACTIVECAPTION + *!* GradientInactiveCaption = COLOR_GRADIENTINACTIVECAPTION + *!* GrayText = COLOR_GRAYTEXT + *!* Highlight = COLOR_HIGHLIGHT + *!* HighlightText = COLOR_HIGHLIGHTTEXT + *!* HotTrack = COLOR_HOTLIGHT + *!* InactiveBorder = COLOR_INACTIVEBORDER + *!* InactiveCaption = COLOR_INACTIVECAPTION + *!* InactiveCaptionText = COLOR_INACTIVECAPTIONTEXT + *!* Info = COLOR_INFOBK + *!* InfoText = COLOR_INFOTEXT + *!* Menu = COLOR_MENU + *!* MenuBar = COLOR_MENUBAR + *!* MenuHighlight = COLOR_MENUHILIGHT + *!* MenuText = COLOR_MENUTEXT + *!* Scrollbar = COLOR_SCROLLBAR + *!* Window = COLOR_WINDOW + *!* WindowFrame = COLOR_WINDOWFRAME + *!* WindowText = COLOR_WINDOWTEXT + + Local lnColor As Integer + + Do Case + + *!* Case This._GetlpClassName() = TRACKBAR_CLASSA + *!* m.lnColor = apiGetSysColor() + + Case This._GetlpClassName() = PROGRESS_CLASSA + m.lnColor = apiGetSysColor(COLOR_BTNSHADOW) + + Case This._GetlpClassName() = MONTHCAL_CLASSA + m.lnColor = apiGetSysColor(COLOR_WINDOW) && Window + *!* + *!* Case This._GetlpClassName() = TOOLTIPS_CLASSA + *!* m.lnColor = apiGetSysColor() + + Otherwise + m.lnColor = 0 + + Endcase + + Return m.lnColor + ENDPROC + + PROCEDURE ctldefaultforecolor_access + *!* ctlDefaultForeColor_Access() + + *!* ActiveBorder = COLOR_ACTIVEBORDER + *!* ActiveCaption = COLOR_ACTIVECAPTION + *!* ActiveCaptionText = COLOR_CAPTIONTEXT + *!* AppWorkspace = COLOR_APPWORKSPACE + *!* ButtonFace = COLOR_BTNFACE + *!* ButtonHighlight = COLOR_BTNHIGHLIGHT + *!* ButtonShadow = COLOR_BTNSHADOW + *!* Control = COLOR_BTNFACE + *!* ControlDark = COLOR_BTNSHADOW + *!* ControlDarkDark = COLOR_3DDKSHADOW + *!* ControlLight = COLOR_BTNHIGHLIGHT + *!* ControlLightLight = COLOR_3DLIGHT + *!* ControlText = COLOR_BTNTEXT + *!* Desktop = COLOR_DESKTOP + *!* GradientActiveCaption = COLOR_GRADIENTACTIVECAPTION + *!* GradientInactiveCaption = COLOR_GRADIENTINACTIVECAPTION + *!* GrayText = COLOR_GRAYTEXT + *!* Highlight = COLOR_HIGHLIGHT + *!* HighlightText = COLOR_HIGHLIGHTTEXT + *!* HotTrack = COLOR_HOTLIGHT + *!* InactiveBorder = COLOR_INACTIVEBORDER + *!* InactiveCaption = COLOR_INACTIVECAPTION + *!* InactiveCaptionText = COLOR_INACTIVECAPTIONTEXT + *!* Info = COLOR_INFOBK + *!* InfoText = COLOR_INFOTEXT + *!* Menu = COLOR_MENU + *!* MenuBar = COLOR_MENUBAR + *!* MenuHighlight = COLOR_MENUHILIGHT + *!* MenuText = COLOR_MENUTEXT + *!* Scrollbar = COLOR_SCROLLBAR + *!* Window = COLOR_WINDOW + *!* WindowFrame = COLOR_WINDOWFRAME + *!* WindowText = COLOR_WINDOWTEXT + + Local lnColor As Integer + + Do Case + + Case This._GetlpClassName() = TRACKBAR_CLASSA + m.lnColor = apiGetSysColor(COLOR_WINDOWTEXT) && WindowText + + Case This._GetlpClassName() = PROGRESS_CLASSA + m.lnColor = apiGetSysColor(COLOR_HIGHLIGHT) && Highlight + + Case This._GetlpClassName() = MONTHCAL_CLASSA + m.lnColor = apiGetSysColor(COLOR_WINDOWTEXT) && WindowText + + Case This._GetlpClassName() = TOOLTIPS_CLASSA + m.lnColor = apiGetSysColor(COLOR_INFOTEXT) && InfoText + + Otherwise + m.lnColor = 0 + + Endcase + + Return m.lnColor + + ENDPROC + + PROCEDURE ctldefaultheight_access + *!* ctlDefaultHeight_Access() + + Return This.ctlDefaultHeight + + ENDPROC + + PROCEDURE ctldefaultwidth_access + *!* ctlDefaultWidth_Access() + + Return This.ctlDefaultWidth + + ENDPROC + + PROCEDURE ctldispose && Releases all resources used by the control. + *!* ctlDispose() + + If This._ControlHwnd # 0 Then + *!* if we have saved the old window procedure + If This._ControlWindowProcAddress # 0 Then + *!* Restore original window procedure + apiSetWindowLong(This._ControlHwnd, GWL_WNDPROC, This._ControlWindowProcAddress) + This._ControlWindowProcAddress = 0 + Endif + apiDestroyWindow(This._ControlHwnd) + Endif + + If This._BackGroundBrush # 0 Then + apiDeleteObject(This._BackGroundBrush) + Endif + + If This._FontHandle # 0 Then + apiDeleteObject(This._FontHandle) + Endif + + This._FontDefaultLogFont = .Null. + + This._DestroyCallBack() + ENDPROC + + PROCEDURE ctlenabled_assign + *!* ctlEnabled_Assign() + + Lparameters m.tuNewValue + + If Vartype(m.tuNewValue) = T_NUMERIC Then + m.tuNewValue= m.tuNewValue # 0 + Endif + + If This.ctlEnabled # m.tuNewValue Then + This.ctlEnabled = m.tuNewValue + This._SetEnabled() + Endif + + + ENDPROC + + PROCEDURE ctlfocused_access + *!* ctlFocused_Access() + + Return This._Focused + + ENDPROC + + PROCEDURE ctlfontbold_assign + *!* ctlFontBold_Assign(lValue) + + Lparameters m.tuNewValue + + If Vartype(m.tuNewValue) = T_NUMERIC Then + m.tuNewValue = m.tuNewValue # 0 + Endif + + This.ctlFontBold = m.tuNewValue + This._SetFont() + + + ENDPROC + + PROCEDURE ctlfontcharset_assign + *!* ctlFontCharSet_Assign(lValue) + + Lparameters m.tuNewValue + + This.ctlFontCharSet = m.tuNewValue + This._SetFont() + + ENDPROC + + PROCEDURE ctlfontitalic_assign + *!* ctlFontItalic_Assign(lValue) + + Lparameters m.tuNewValue + + If Vartype(m.tuNewValue) = T_NUMERIC Then + m.tuNewValue = m.tuNewValue # 0 + Endif + + This.ctlFontItalic = m.tuNewValue + This._SetFont() + + ENDPROC + + PROCEDURE ctlfontname_assign + *!* ctlFontName_Assign(tuNewValue) + + Lparameters m.tuNewValue + + This.ctlFontName = m.tuNewValue + This._SetFont() + + + + ENDPROC + + PROCEDURE ctlfontsize_assign + *!* ctlFontSize_Assign(lValue) + + Lparameters m.tuNewValue + + This.ctlFontSize = m.tuNewValue + This._SetFont() + + ENDPROC + + PROCEDURE ctlfontstrikethru_assign + *!* ctlFontStrikethru_Assign(lValue) + + Lparameters m.tuNewValue + + If Vartype(m.tuNewValue) = T_NUMERIC Then + m.tuNewValue = m.tuNewValue # 0 + Endif + + This.ctlFontStrikethru = m.tuNewValue + This._SetFont() + + ENDPROC + + PROCEDURE ctlfontunderline_assign + *!* ctlFontUnderline_Assign(lValue) + + Lparameters m.tuNewValue + + If Vartype(m.tuNewValue) = T_NUMERIC Then + m.tuNewValue = m.tuNewValue # 0 + Endif + + This.ctlFontUnderline = m.tuNewValue + This._SetFont() + + ENDPROC + + PROCEDURE ctlforecolor_assign + *!* ctlForeColor_Assign(tuNewValue) + + Lparameters m.tuNewValue + + If Vartype(m.tuNewValue) # "N" + m.tuNewValue = -1 + Endif + + If m.tuNewValue > Rgb(255,255,255) Or m.tuNewValue < 0 Then + m.tuNewValue = -1 + Endif + + If This.ctlForeColor # m.tuNewValue Then + This.ctlForeColor = m.tuNewValue + This._SetForeColor() + Endif + ENDPROC + + PROCEDURE ctlhandle_access + *!* ctlHandle_Access() + + Return This._ControlHwnd + + ENDPROC + + PROCEDURE ctlhide && Conceals the control from the user. + *!* ctlHide() + + This.ctlVisible = FALSE + + ENDPROC + + PROCEDURE ctlhostformhwnd_access + *!* ctlHostFormhWnd_Access() + + *!* Gets hWnd of form or form inner window + If This._HostFormhWnd = 0 Then + This._HostFormhWnd = ctlGetHostHWnd(This) + Endif + + Return This._HostFormhWnd + + ENDPROC + + PROCEDURE ctlhosthwnd_access + *!* ctlHostHwnd_Access() + + If This.ctlHostHwnd = 0 Then + This.ctlHostHwnd = ctlGetHostHwnd(This) + Endif + + Return This.ctlHostHwnd + + ENDPROC + + PROCEDURE ctlhwnd_access + *!* ctlHwnd_Access() + + Return This._ControlHwnd + + ENDPROC + + PROCEDURE ctlinit && Occurs when anobject is created, after the Init event. + ENDPROC + + PROCEDURE ctlishandlecreated_access + *!* ctlIsHandleCreated_Access() + + Return This._ControlHwnd # 0 + + ENDPROC + + PROCEDURE ctllocationleft_access + *!* ctlLocationLeft_Access() + + Return This._ObjToClient("Left") + + + ENDPROC + + PROCEDURE ctllocationtop_access + *!* ctlLocationTop_Access() + + Return This._ObjToClient("Top") + + + ENDPROC + + PROCEDURE ctlorientation_assign + *!* ctlOrientation_Assign() + + Lparameters m.tuNewValue + + If m.tuNewValue # 0 Then + m.tuNewValue = 1 + Endif + + If This.ctlOrientation # m.tuNewValue Then + This.ctlOrientation = m.tuNewValue + This._SetOrientation() + Endif + + ENDPROC + + PROCEDURE ctlrecreatinghandle_access + *!* ctlRecreatingHandle_Access() + + Return This._RecreatingHandle + + ENDPROC + + PROCEDURE ctlrefresh && Forces the control to invalidate its client area and immediately redraw itself and any child controls. + *!* ctlRefresh() + + Local lnFlags As Integer + + If This._ControlhWnd = 0 Then + Return + Endif + + Do Case + + Case This._GetlpClassName() = "msctls_trackbar32" + *!* trackbar only refreshes with this: + apiSendMessageInteger(This._ControlhWnd, WM_SETFOCUS, 0, 0) + + Otherwise + m.lnFlags = Bitor(RDW_ERASE, RDW_FRAME, RDW_INTERNALPAINT, RDW_INVALIDATE, RDW_UPDATENOW, RDW_NOCHILDREN) + apiRedrawWindow(This._ControlhWnd, "", 0, m.lnFlags) + + Endcase + + + + + ENDPROC + + PROCEDURE ctlresetbackcolor && Resets the ctlBackColor property to its default value. + *!* ctlResetBackColor() + + This.ctlBackColor = THis.ctlDefaultBackColor + + ENDPROC + + PROCEDURE ctlresetbordercolor && Resets the ctlBorderColor property to its default value. + *!* ctlResetBorderColor() + + This.ctlBorderColor = This.ctlDefaultBorderColor + + ENDPROC + + PROCEDURE ctlresetfont && Resets the Font... properties to its default values. + *!* ctlResetFont() + + This._EnableUpdates = FALSE + + This.ctlFontBold = This._FontDefaultLogFont.FontBold + This.ctlFontCharSet = This._FontDefaultLogFont.FontCharSet + This.ctlFontItalic = This._FontDefaultLogFont.FontItalic + This.ctlFontName = This._FontDefaultLogFont.FontName + This.ctlFontSize = This._FontDefaultLogFont.FontSize + This.ctlFontStrikethru = This._FontDefaultLogFont.FontStrikethru + This.ctlFontUnderline = This._FontDefaultLogFont.FontUnderline + + This._EnableUpdates = TRUE + + This._SetFont() + + ENDPROC + + PROCEDURE ctlresetforecolor && Resets the ctlForeColor property to its default value. + *!* ctlResetForeColor() + + This.ctlForeColor = This.ctlDefaultForeColor + + ENDPROC + + PROCEDURE ctlright_access + *!* ctlRight_Access() + + Return This.Left + This.Width + + ENDPROC + + PROCEDURE ctlshow && Displays the control to the user. Showing the control is equivalent to setting the ctlVisible property to true. + *!* ctlShow() + + This.ctlVisible = TRUE + + ENDPROC + + PROCEDURE ctlshowfocuscues_assign + *!* ctlShowFocusCues_Assign(lExpression) + + Lparameters m.tuNewValue + + If Vartype(m.tuNewValue) = T_NUMERIC Then + m.tuNewValue = m.tuNewValue # 0 + Endif + + If This.ctlShowFocusCues # m.tuNewValue Then + This.ctlShowFocusCues = m.tuNewValue + This._SetShowFocusCues() + Endif + + + ENDPROC + + PROCEDURE ctlthemes_assign + *!* ctlThemes_Assign(lExpression) + + Lparameters m.tuNewValue + + If Vartype(m.tuNewValue) = T_NUMERIC Then + m.tuNewValue = m.tuNewValue # 0 + Endif + + If This.ctlThemes # m.tuNewValue Then + This.ctlThemes = m.tuNewValue + This._SetThemes() + Endif + + + + ENDPROC + + PROCEDURE ctlvaluechanged && Occurs when the ctlValue property changes. + *!* ctlValueChanged() + ENDPROC + + PROCEDURE ctlvalue_assign + *!* ctlValue_Assign(nValue) + + Lparameters m.tuNewValue + + If Type("This.ctlMaximum") = T_NUMERIC Then + m.tuNewValue = Min(This.ctlMaximum, m.tuNewValue) + Endif + + If Type("This.ctlMinimum") = T_NUMERIC Then + m.tuNewValue = Max(This.ctlMinimum, m.tuNewValue) + Endif + + If This.ctlValue # m.tuNewValue Then + This.ctlValue = m.tuNewValue + This._SetValue() + Endif + + + ENDPROC + + PROCEDURE ctlvisible_assign + *!* ctlVisible_Assign(lValue) + + Lparameters m.tuNewValue + + If Vartype(m.tuNewValue) = T_NUMERIC Then + m.tuNewValue = m.tuNewValue # 0 + Endif + + If This.ctlVisible # m.tuNewValue Then + This.ctlVisible = m.tuNewValue + This._SetVisible() + Endif + + + + + ENDPROC + + PROCEDURE Destroy + *!* Destroy() + *!* DO NOT REMOVE THIS COMMENTS OR BINDEVENT DOES NOT WORK! + *!* SOMETHING MUST BE HERE, EVEN A COMMENT, FOR BINDEVENT TO WORK. + ENDPROC + + PROCEDURE Init + *!* Init() + + *!* This parameter is passed from host ctl32 control + Lparameters m.tnParam + + _vfp.AutoYield = FALSE + + This.Visible = This._Visible + + This._InitLibrary() + This._InitCommonControls() + This._SetProperties() + This._AddObjects() + This._SetControlSource() + This._SetEnabled() + This._BindEvents() + This._CreateCallBack() + + *!* If we have a parameter, some other ctl32 control is parent, do no create control + *!* Let parent call ctlCreate() + + If Vartype(m.tnParam) = T_LOGICAL Then + This._Create() + Endif + + Raiseevent(This, "ctlInit") + + ENDPROC + + PROCEDURE _addobjects && Adds objects used by the class. + *!* _AddObjects() + + This._FontDefaultLogFont = Createobject("_LOGFONT") + + ENDPROC + + PROCEDURE _bindevents && Binds to events used by the class. + *!* _BindEvents() + + *!* Instead of writing code in this events, we bind to them + *!* just in case code is added in subclasses without a dodefault + + Bindevent(This, "Destroy", This, "ctlDispose") + + *!* Manage resize and move of the control: + Bindevent(This, "Resize", This, "_OnResize", 1) + Bindevent(This, "Moved", This, "_OnMoved", 1) + + *!* manage value changes of the control source + *Bindevent(This.ctlTextBox, "ProgrammaticChange", This, "_OnProgrammaticChange", 1) + Bindevent(This.ctlTextBox, "Value", This, "_OnValue", 1) + + *!* Manage theme changing + Bindevent(_Screen, "Themes", This, "_OnThemes", 1) + + If Thisform.Name # _Screen.Name Then + Bindevent(Thisform, "Themes", This, "_OnThemes", 1) + Endif + + *!* We will create a background brush here + Bindevent(Thisform, "Paint", This, "_OnFormPaint", 1) + + *!* If we have pages in the object hierarchy, monitor page activate/deactive + *!* to hide/show the windows control + If This._InPage = TRUE + Local loPage As Control + m.loPage = This._GetPage() + Bindevent(m.loPage, "Activate", This, "_OnPageActivate", 1) + Bindevent(m.loPage, "Deactivate", This, "_OnPageDeactivate", 1) + m.loPage = .Null. + Release m.loPage + Endif + + *!* Add BindWindowsEventsProxy property to Form : + If Not Pemstatus(Thisform,"BindWindowsEventsProxy", 5) + Thisform.Newobject("BindWindowsEventsProxy", "BindWindowsEventsProxy", Addbs(Justpath(This.ClassLibrary)) + "vfpx.vcx") + Endif + + *!* Bind to general window messages proxy: + Bindevent(Thisform.BindWindowsEventsProxy, "_Msg", This, "_FormMessageHandler", 1) + + *!* This will tell us when there is a mouse click in a control + Bindevent(This.ctlHostFormhWnd, WM_PARENTNOTIFY, Thisform.BindWindowsEventsProxy , "_MsgHandler", 4) + + *!* This is to pass a background brush for trackbars + Bindevent(This.ctlHostFormhWnd, WM_CTLCOLORSTATIC, Thisform.BindWindowsEventsProxy , "_MsgHandler", 4) + + *!* This is to pass a background brush for scrollbars + *!*Bindevent(This.ctlHostFormhWnd, WM_CTLCOLORSCROLLBAR, Thisform.BindWindowsEventsProxy , "_MsgHandler", 4) + + Bindevent(This.ctlHostFormhWnd, WM_TIMER, Thisform.BindWindowsEventsProxy , "_MsgHandler", 4) + + *!* Add BindWindowsEventsProxy property to _VFP : + If Not Pemstatus(_vfp, "BindWindowsEventsProxy", 5) + AddProperty(_vfp, "BindWindowsEventsProxy", .Null.) + Endif + + *!* Create BindWindowsEventsProxy object: + If Not Vartype(_vfp.BindWindowsEventsProxy) = "O" + _vfp.BindWindowsEventsProxy = Newobject("BindWindowsEventsProxy", Addbs(Justpath(This.ClassLibrary)) + "vfpx.vcx") + Endif + + *!* Bind to BindWindowsEventsProxy _Msg property changes: + Bindevent(_vfp.BindWindowsEventsProxy, "_Msg", This,"_VFPMessageHandler") + + + ENDPROC + + PROCEDURE _callbackproc + *!* _CallbackProc + + Lparameters nHWnd As Integer, Msg As Integer, wParam As Integer, Lparam As Integer + + *!* Debugout m.nHWnd, m.Msg, m.wParam, m.Lparam + + Do Case + + Case m.Msg = WM_SETFOCUS + This._Focused = TRUE + If This._ControlHasOwnFocusCue = FALSE And This.ctlShowFocusCues = TRUE Then + This._DrawFocusRect() + Endif + + Case m.Msg = WM_KILLFOCUS + This._Focused = FALSE + If This._ControlHasOwnFocusCue = FALSE AND This.ctlShowFocusCues = TRUE Then + This._DrawFocusRect() + Endif + + Case m.Msg = WM_CHAR + + Local lnKeyShift + *!* SHIFT KEY + m.lnKeyShift = Bitand(apiGetKeyState(VK_SHIFT), 0x8000) + + Do Case + + Case m.wParam = 9 And m.lnKeyShift # 0 + apiSetfocus(Thisform.HWnd) + Keyboard '{LEFTARROW}' Plain + + Case m.wParam = 9 + apiSetfocus(Thisform.HWnd) + Keyboard '{TAB}' Plain + + Case m.wParam = 13 + apiSetfocus(Thisform.HWnd) + Keyboard '{ENTER}' Plain + + Case m.wParam = 27 + apiSetfocus(Thisform.HWnd) + Keyboard '{ESC}' Plain + *!* reset Focus to control window + If This.ctlCanFocus Then + apiSetfocus(This._ControlHwnd) + Endif + + Endcase + + Endcase + + Return apiCallWindowProc(This._ControlWindowProcAddress, m.nHWnd, m.Msg, m.wParam, m.Lparam) + + + ENDPROC + + PROCEDURE _create && Creates the windows control + *!* _Create() + + If This._ControlHwnd # 0 Then + *!* if we have saved the old window procedure + If This._ControlWindowProcAddress # 0 Then + *!* Restore original window procedure + apiSetWindowLong(This._ControlHwnd, GWL_WNDPROC, This._ControlWindowProcAddress) + This._ControlWindowProcAddress = 0 + Endif + apiDestroyWindow(This._ControlHwnd) + Endif + + This._SetBackStyle() + + This._PreCreate() + + Local ; + dwExStyle As Integer, ; + lpClassName As String, ; + lpWindowName As String, ; + dwStyle As Integer, ; + lnTop As Integer, ; + lnLeft As Integer, ; + nWidth As Integer, ; + nHeight As Integer, ; + hWndParent As Integer, ; + hMenu As Integer, ; + hInstance As Integer, ; + lpParam As Integer + + If This._RecreatingHandle Then + Return + Endif + + *!* We enter Initialization Stage... + This._RecreatingHandle = TRUE + + *!* Define parameters for apiCreateWindowEx: + m.dwExStyle = This._GetdwExStyle() + m.lpClassName = This._GetlpClassName() + m.lpWindowName = This._GetlpWindowName() + m.dwStyle = This._GetdwStyle() + + m.lnLeft = This.ctlLocationLeft + m.lnTop = This.ctlLocationTop + + If This._PopUp = TRUE Then + ctlClientToScreen(This.ctlHostHwnd, @m.lnLeft, @m.lnTop) + Endif + + m.nWidth = This.Width + m.nHeight = This.Height + + m.hWndParent = This.ctlHostHwnd + m.hMenu = 0 + m.hInstance = 0 + m.lpParam = 0 + + This._ControlHwnd = apiCreateWindowEx( ; + m.dwExStyle, ; + m.lpClassName, ; + m.lpWindowName, ; + m.dwStyle, ; + m.lnLeft, ; + m.lnTop, ; + m.nWidth, ; + m.nHeight, ; + m.hWndParent, ; + m.hMenu, ; + m.hInstance, ; + m.lpParam) + + *!* Here we subclass the control window procedure + This._ControlWindowProcAddress = apiSetWindowLong(This._ControlHwnd, GWL_WNDPROC, This._CallbackProcAddress) + + *!* Debugout This._ControlWindowProcAddress, This._CallbackProcAddress + + This._GetDefaultFont() + This._GetDefaultSize() + + This._PostCreate() + + This._SetValue() + This._SetThemes() + This._SetEnabled() + + This._SetVisible() + + *!* We finish Initialization State + This._RecreatingHandle = FALSE + + + + ENDPROC + + PROCEDURE _createbackgroundbrush && Creates a brush. + *!* _CreateBackGroundBrush() + + *!* Here we create a background brush. + *!* If the control is on a themed Pageframe, this brush is a bitmap + *!* 1 pixel wide, and tall as the control, we use the column of pixels + *!* just to the left of the control. + + *!* Get rid of current BackGround Brush + If This._BackGroundBrush # 0 Then + apiDeleteObject(This._BackGroundBrush) + This._BackGroundBrush = 0 + Endif + + Local loPageFrame As PageFrame + + m.loPageFrame = This._GetPageFrame() + + Do Case + + Case This.ctlBackStyle = 0 And This._InPage And ctlIsThemeActive(m.loPageFrame) + + Local lnTempDc, lnBitmap, lnCompatDc + + m.lnTempDc = apiGetDc(Thisform.HWnd) + + m.lnBitmap = apiCreateCompatibleBitmap(m.lnTempDc, 1, This.Height) + + m.lnCompatDc = apiCreateCompatibleDC(m.lnTempDc) + + apiSelectObject(m.lnCompatDc, m.lnBitmap) + + apiBitBlt(m.lnCompatDc, 0, 0, 1, This.Height, m.lnTempDc, Objtoclient(This, 2) - 1, Objtoclient(This, 1), SRCCOPY) + + This._BackGroundBrush = apiCreatePatternBrush(m.lnBitmap) + + apiReleaseDc(Thisform.HWnd, m.lnTempDc) + apiDeleteObject(m.lnBitmap) + apiDeleteObject(m.lnCompatDc) + + m.loPageFrame = .Null. + Release m.loPageFrame + + Case This.ctlBackStyle = 0 + + If Type("This.Parent.BackColor") # T_UNDEFINED + This._BackGroundBrush = apiCreateSolidBrush(This.Parent.BackColor) + Else + This._BackGroundBrush = apiCreateSolidBrush(Thisform.BackColor) + Endif + + Case This.ctlBackStyle = 1 And This.ctlBackColor = -1 + This._BackGroundBrush = apiCreateSolidBrush(This.ctlDefaultBackColor) + + Otherwise + + This._BackGroundBrush = apiCreateSolidBrush(This.ctlBackColor) + + Endcase + + ENDPROC + + PROCEDURE _createcallback + *!* _CreateCallback() + + This._CallbackProcAddress = CREATECALLBACKFUNC("_CallbackProc", "INTEGER","INTEGER,INTEGER,INTEGER,INTEGER", This, 1) + + ENDPROC + + PROCEDURE _destroycallback + *!* _DestroyCallback() + + If This._CallbackProcAddress # 0 Then + DestroyCallbackFunc(This._CallbackProcAddress) + Endif + + ENDPROC + + PROCEDURE _drawfocusrect && Draws a focus rectangle for controls that do not have one. + *!* _DrawFocusRect() + + Local ; + lnx, ; + lny, ; + lnx1, ; + lny1, ; + lnx2, ; + lny2, ; + lnDrawWidth, ; + lnDrawMode + + m.lnDrawWidth = Thisform.DrawWidth + m.lnDrawMode = Thisform.DrawMode + + Thisform.DrawWidth = 1 + Thisform.DrawMode = 6 + + m.lnx1 = This.Left - 1 + m.lnx2 = This.Left + This.Width + m.lny1 = This.Top - 1 + m.lny2 = This.Top + This.Height + + For m.lnx = m.lnx1 To m.lnx2 Step 2 + Thisform.Line(m.lnx, m.lny1, m.lnx + 1, m.lny1) + Endfor + + For m.lnx = m.lnx1 + Mod(m.lny2 - m.lny1, 2) To m.lnx2 Step 2 + Thisform.Line(m.lnx, m.lny2, m.lnx + 1, m.lny2) + Endfor + + For m.lny = m.lny1 + 2 To m.lny2 - 1 Step 2 + Thisform.Line(m.lnx1, m.lny, m.lnx1, m.lny + 1 ) + Endfor + + For m.lny = m.lny1 + 2 - Mod(m.lnx2 - m.lnx1, 2) To m.lny2 - 1 Step 2 + Thisform.Line(m.lnx2, m.lny, m.lnx2, m.lny + 1 ) + Endfor + + Thisform.DrawWidth = m.lnDrawWidth + Thisform.DrawMode = m.lnDrawMode + + ENDPROC + + PROCEDURE _formmessagehandler + *!* _FormMessageHandler() + + Do Case + + Case Thisform.BindWindowsEventsProxy._Msg = WM_PARENTNOTIFY + + Local lnX, lnY, lcPoint + + *!* If we have a mouse click + If This.ctlEnabled And Inlist(Thisform.BindWindowsEventsProxy._wParam, WM_LBUTTONDOWN, WM_RBUTTONDOWN, WM_MBUTTONDOWN) + + *!* Get mouse click coordinates in pixels relative to form: + m.lnX = ctlLoWord(Thisform.BindWindowsEventsProxy._lParam) + m.lnY = ctlHiWord(Thisform.BindWindowsEventsProxy._lParam) + + *!* Check if control window is under that point: + *!* We can only get this messages from visible windows + If This.ctlVisible = TRUE ; + And Between(m.lnX, This.ctlLocationLeft, This.ctlLocationLeft + This.Width) ; + And Between(m.lnY, This.ctlLocationTop, This.ctlLocationTop + This.Height) Then + + If This.ctlCanFocus Then + If This.ctlTextbox.ctlFocused = FALSE Then + This.SetFocus() + Endif + apiSetFocus(This._ControlHwnd) + Endif + + *!* Raise click/rightclick/middleclick event + Do Case + *!* special case if this is a monthcalendar control + Case Thisform.BindWindowsEventsProxy._wParam = WM_LBUTTONDOWN And This._GetlpClassName() == MONTHCAL_CLASSA + Local ; + loMcHitTestInfo As _MCHITTESTINFO, ; + lcMcHitTestInfo As String, ; + loPoint As _POINT, ; + lcPoint As String + + m.loMcHitTestInfo = Newobject("_MCHITTESTINFO") + m.loPoint = Newobject("_POINT") + + m.lcPoint = m.loPoint.Value + + *!* Get mouse position in monthcalendar window coordinates: + apiGetCursorPos(@m.lcPoint) + apiScreenToClient(This._ControlHwnd, @m.lcPoint) + m.loPoint.Value = m.lcPoint + + *!* Set coordinates of structure + m.loMcHitTestInfo.pt.X = m.loPoint.X + m.loMcHitTestInfo.pt.Y = m.loPoint.Y + + *!* Send MCM_HITTEST message to get where click was + *m.lcMcHitTestInfo = m.loMcHitTestInfo.Value + apiSendMessageInteger(This._ControlHwnd, MCM_HITTEST, 0, m.loMcHitTestInfo.Address) + *m.loMcHitTestInfo.Value = m.lcMcHitTestInfo + + *?This._ControlHwnd,m.loMcHitTestInfo.uHit, MCHT_CALENDARDATE, MCHT_TODAYLINK + + If Seconds() - This._ClickTime < apiGetDoubleClickTime() / 1000 Then + *!* Only raise DblClick if clicked on day or today + If Inlist(m.loMcHitTestInfo.uHit, MCHT_CALENDARDATE, MCHT_TODAYLINK) Then + Raiseevent(This, "DblClick") + Endif + Else + This._ClickTime = Seconds() + Raiseevent(This, "Click") + Endif + + m.loMcHitTestInfo = .Null. + m.lcPoint = .Null. + + Case Thisform.BindWindowsEventsProxy._wParam = WM_LBUTTONDOWN + If Seconds() - This._ClickTime < apiGetDoubleClickTime() / 1000 Then + Raiseevent(This, "DblClick") + Else + This._ClickTime = Seconds() + Raiseevent(This, "Click") + Endif + + Case Thisform.BindWindowsEventsProxy._wParam = WM_RBUTTONDOWN + Raiseevent(This, "RightClick") + + Case Thisform.BindWindowsEventsProxy._wParam = WM_MBUTTONDOWN + Raiseevent(This, "MiddleClick") + + Endcase + Endif + Endif + + Case Thisform.BindWindowsEventsProxy._Msg = WM_CTLCOLORSTATIC + + *!* here we provide a background brush + + *!* If the message is not for this control, just return + If Thisform.BindWindowsEventsProxy._lParam = This._ControlHwnd Then + *!* Return a background brush (Brush can just be 0) + Thisform.BindWindowsEventsProxy._Result = This._BackGroundBrush + Endif + + Endcase + + + ENDPROC + + PROCEDURE _getdefaultfont + *!* _GetDefaultFont() + + *!* This saves the default font of the control + + If This._ControlHwnd = 0 Then + Return + Endif + + Local ; + lnFontHandle As Integer, ; + lcLogFont As String + + *!* Get a handle to the current font + m.lnFontHandle = apiSendMessageInteger(This._ControlHwnd, WM_GETFONT, 0, 0) + + *!* Get a LogFont structure + m.lcLogFont = This._FontDefaultLogFont.Value + + *!* Get font info from font handle + apiGetObject(m.lnFontHandle, Len(m.lcLogFont), @m.lcLogFont) + + *!* Save LogFont structure + This._FontDefaultLogFont.Value = m.lcLogFont + + *!* Fix MonthCalendar UGLY default non-themed font: + If This._GetlpClassName() = MONTHCAL_CLASSA Then + If ctlGetOsVersion() < CON_OS_WINVISTA Then + This._FontDefaultLogFont.FontName = "Tahoma" + Else + This._FontDefaultLogFont.FontBold = FALSE + This._FontDefaultLogFont.FontName = "Segoe UI" + This._FontDefaultLogFont.FontSize = 8 + Endif + Endif + + This._EnableUpdates = FALSE + + *!* Now set value of default properties: + If Sys(1269, This, "ctlFontBold", 0) = FALSE Then + This.ctlFontBold = This._FontDefaultLogFont.FontBold + Endif + + If Sys(1269, This, "ctlFontCharSet", 0) = FALSE Then + This.ctlFontCharSet = This._FontDefaultLogFont.FontCharSet + Endif + + If Sys(1269, This, "ctlFontStrikethru", 0) = FALSE Then + This.ctlFontItalic = This._FontDefaultLogFont.FontItalic + Endif + + If Sys(1269, This, "ctlFontName", 0) = FALSE + This.ctlFontName = This._FontDefaultLogFont.FontName + Endif + + If Sys(1269, This, "ctlFontSize", 0) = FALSE Then + This.ctlFontSize = This._FontDefaultLogFont.FontSize + Endif + + If Sys(1269, This, "ctlFontStrikethru", 0) = FALSE Then + This.ctlFontStrikethru = This._FontDefaultLogFont.FontStrikethru + Endif + + If Sys(1269, This, "ctlFontUnderline", 0) = FALSE Then + This.ctlFontUnderline = This._FontDefaultLogFont.FontUnderline + Endif + + This._EnableUpdates = TRUE + + This._SetFont() + + + + + ENDPROC + + PROCEDURE _getdefaultsize + *!* _GetDefaultSize() + ENDPROC + + PROCEDURE _getdwexstyle + *!* _GetdwExStyle() + + Return 0 + + ENDPROC + + PROCEDURE _getdwstyle + *!* _GetdwStyle + + Return 0 + + ENDPROC + + PROCEDURE _getlpclassname + *!* _GetlpClassName() + ENDPROC + + PROCEDURE _getlpwindowname + *!* _GetWindowName + + Return "" + + + ENDPROC + + PROCEDURE _getpage && Returns an object reference to the page that contains this control. + *!* _GetPage() + + Local loControl As Control + + m.loControl = This + + Do While Inlist(Upper(m.loControl.BaseClass), "FORM", "TOOLBAR") = FALSE + + If Upper(m.loControl.BaseClass) == "PAGE" Then + Exit + Endif + + m.loControl = m.loControl.Parent + + Enddo + + Return m.loControl + + ENDPROC + + PROCEDURE _getpageframe + *!* _GetPageFrame() + + Local loControl as Control + + m.loControl = This + + Do While Inlist(Upper(m.loControl.BaseClass), "FORM", "TOOLBAR") = FALSE + + If Upper(m.loControl.BaseClass) == "PAGEFRAME" Then + Exit + Endif + + m.loControl = m.loControl.Parent + + Enddo + + Return m.loControl + + ENDPROC + + PROCEDURE _initcommoncontrols + *!* _InitCommonControls() + + Local lcControls As String + + *!* This is needed to make the month calendar common control work in windows 2000 + If Type("_Screen._0BCB895540F84134BDF39BB58FE0D43F") = T_UNDEFINED Then + + _Screen.AddProperty("_0BCB895540F84134BDF39BB58FE0D43F", TRUE) + + m.lcControls = BinToC(8, "4rs") + BinToC(ICC_DATE_CLASSES, "4RS") + apiInitCommonControlsEx(@m.lcControls) + + Endif + + ENDPROC + + PROCEDURE _initlibrary + *!* _InitLibrary() + + External Procedure ctl32.prg + Do (Addbs(Justpath(This.ClassLibrary)) + "ctl32.prg") + + ENDPROC + + PROCEDURE _iscontrolinpage && Returns TRUE if the control is contained in a page. + *!* _IsControlInPage() + + Local ; + llPageFound As Boolean, ; + loControl As Control + + m.llPageFound = FALSE + + m.loControl = This + + Do While Inlist(Upper(m.loControl.BaseClass), "FORM", "TOOLBAR") = FALSE + + If Upper(m.loControl.BaseClass) == "PAGE" Then + m.llPageFound = TRUE + Exit + Endif + + If Type("m.loControl.Parent") # T_UNDEFINED Then + m.loControl = m.loControl.Parent + Else + Exit + Endif + + Enddo + + m.loControl = .Null. + Release m.loControl + + Return m.llPageFound + + + ENDPROC + + PROCEDURE _objtoclient && Replaces OBJTOCLIENT that has bugs. + *!* _ObjToClient(cPosition) + + Lparameters m.tcPosition As String + + Local ; + lnPosition As Integer, ; + loControl As Control + + m.tcPosition = Upper(m.tcPosition) + m.lnPosition = 0 + m.loControl = This + + Do Case + + Case m.tcPosition $ "TOP|BOTTOM" + *!* 20070711 Modified to account for toolbars + Do While Inlist(Upper(m.loControl.BaseClass), "FORM", "TOOLBAR") = FALSE + If Pemstatus(m.loControl, "Top", CTLPEMSTATUS_DEFINED) Then + m.lnPosition = m.lnPosition + m.loControl.Top + Endif + If Upper(m.loControl.BaseClass) == "PAGE" Then + If m.loControl.Parent.TabOrientation = CTLTABORIENTATION_TOP Then && Top + m.lnPosition = m.lnPosition + ; + m.loControl.Parent.Height - ; + m.loControl.Parent.PageHeight - ; + m.loControl.Parent.BorderWidth * 2 + Else + m.lnPosition = m.lnPosition + 1 + Endif + Endif + m.loControl = m.loControl.Parent + Enddo + + If m.tcPosition == "BOTTOM" Then + m.lnPosition = m.lnPosition + This.Height + Endif + + Case m.tcPosition $ "LEFT|RIGHT" + *!* 20070711 Modified to account for toolbars + Do While Inlist(Upper(m.loControl.BaseClass), "FORM", "TOOLBAR") = FALSE + If Pemstatus(m.loControl, "Left", CTLPEMSTATUS_DEFINED) Then + m.lnPosition = m.lnPosition + m.loControl.Left + Endif + If Upper(m.loControl.BaseClass) == "PAGE" + If m.loControl.Parent.TabOrientation = CTLTABORIENTATION_LEFT Then && Left + m.lnPosition = m.lnPosition + ; + m.loControl.Parent.Width - ; + m.loControl.Parent.PageWidth - ; + m.loControl.Parent.BorderWidth * 2 + Else + m.lnPosition = m.lnPosition + 1 + Endif + Endif + m.loControl = m.loControl.Parent + Enddo + + If m.tcPosition == "RIGHT" Then + m.lnPosition = m.lnPosition + This.Width + Endif + + Endcase + + m.loControl = .Null. + Release m.loControl + + Return m.lnPosition + + ENDPROC + + PROCEDURE _onformborderstyle + ENDPROC + + PROCEDURE _onformpaint + *!* _OnFormPaint() + + This._CreateBackgroundBrush() + + Unbindevents(Thisform, "Paint", This, "_OnFormPaint") + + + ENDPROC + + PROCEDURE _onformresize + ENDPROC + + PROCEDURE _onmoved && Bindevent(This, "Moved", This, "_OnMoved", 1) + *!* _OnMoved() + + Local ; + lhwnd As Integer, ; + lhWndInsertAfter As Integer, ; + lnLeft As Integer, ; + lnTop As Integer, ; + lnWidth As Integer, ; + lnHeight As Integer, ; + lwFlags As Integer, ; + loPageFrame As PageFrame + + If This._ControlHwnd = 0 Then + Return + Endif + + m.loPageFrame = This._GetPageFrame() + + *!* If control is in a pageframe, update background brush since it is no longer valid + If This.ctlBackStyle = 0 And This._InPage And ctlIsThemeActive(m.loPageFrame) Then + This._CreateBackgroundBrush() + Endif + + m.loPageFrame = .Null. + Release m.loPageFrame + + m.lhwnd = This._ControlHwnd + m.lhWndInsertAfter = 0 + + m.lnLeft = This.ctlLocationLeft + m.lnTop = This.ctlLocationTop + + If This._PopUp = TRUE Then + ctlClientToScreen(This.ctlHostHwnd, @m.lnLeft, @m.lnTop) + Endif + + m.lnWidth = This.Width + m.lnHeight = This.Height + m.lwFlags = SWP_NOZORDER + + *!* This is here cause we are getting dll exception when month calendar + *!* control has more than one row and column + Try + apiSetWindowPos( ; + m.lhwnd, ; + m.lhWndInsertAfter,; + m.lnLeft, ; + m.lnTop, ; + m.lnWidth, ; + m.lnHeight, ; + m.lwFlags) + Catch + Endtry + + + ENDPROC + + PROCEDURE _onpageactivate && Bindevent(m.loControl, "Activate", This, "_OnPageActivate", 1) + *!* _OnPageActivate() + + This._PageActive = TRUE + This._SetVisible() + ENDPROC + + PROCEDURE _onpagedeactivate && Bindevent(m.loControl, "Deactivate", This, "_OnPageDeactivate", 1) + *!* _OnPageDeactivate() + + This._PageActive = FALSE + This._SetVisible() + ENDPROC + + PROCEDURE _onparentbackcolor + *!* _OnParentBackColor() + + This._CreateBackGroundBrush() + + This.ctlRefresh() + + ENDPROC + + PROCEDURE _onresize && Bindevent(This, "Resize", This, "_OnResize", 1) + *!* _OnResize() + + This._OnMoved() + ENDPROC + + PROCEDURE _onthemes && Bindevent(_Screen, "Themes", This, "_OnThemes", 1) / Bindevent(Thisform, "Themes", This, "_OnThemes", 1) + *!* _OnThemes() + + This._SetThemes() + + ENDPROC + + PROCEDURE _onvalue + *!* _OnValue() + + This.ctlValue = This.ctlTextBox.Value + + ENDPROC + + PROCEDURE _postcreate + *!* _PostCreate() + + + ENDPROC + + PROCEDURE _precreate + *!* _PreCreate() + ENDPROC + + PROCEDURE _reparent + *!* _Reparent() + + This._PopUp = TRUE + apiSetParent(This._ControlHwnd, 0) + This._OnMoved() + + ENDPROC + + PROCEDURE _setautosize + *!* _SetAutosize() + + ENDPROC + + PROCEDURE _setbackcolor + *!* _SetBackColor() + ENDPROC + + PROCEDURE _setbackstyle + *!* _SetBackStyle() + + *!* We get here only of ctlBackStyle changed + + *!* We bind to form activate if we have a ctlBackStyle = 0 + If This.ctlBackStyle = 0 Then + + If Type("This.Parent.BackColor") # T_UNDEFINED + Bindevent(This.Parent, "BackColor", This, "_OnParentBackColor", 1) + Else + Bindevent(Thisform, "BackColor", This, "_OnParentBackColor", 1) + Endif + + Else + + If Type("This.Parent.BackColor") # T_UNDEFINED + Unbindevent(This.Parent, "BackColor", This, "_OnParentBackColor") + Else + Unbindevent(Thisform, "BackColor", This, "_OnParentBackColor") + Endif + + Endif + + This._CreateBackGroundBrush() + + This.ctlRefresh() + + + ENDPROC + + PROCEDURE _setbordercolor + *!* _SetBorderColor() + ENDPROC + + PROCEDURE _setcontrolsource + *!* _SetControlSource() + + This.ctlTextBox.ControlSource = This.ctlControlSource + + If Not Empty(This.ctlControlSource) Then + This.ctlValue = This.ctlTextBox.Value + Endif + + ENDPROC + + PROCEDURE _setenabled + *!* _SetEnabled() + + *!* We want the focus to go to the next enabled control if this control + *!* gets disabled while it has the focus, so we disable the dummy textbox + *!* first. We then disable the container to prevent click events to fire. + *!* To be shure, we give keyboard focus to the form + + + This.ctlTextBox.Enabled = This.ctlEnabled And This.ctlCanFocus + This.Enabled = This.ctlEnabled And This.ctlCanFocus + + If This.ctlEnabled = FALSE Then + If Thisform.HWnd = apiGetActiveWindow() + apiSetfocus(Thisform.HWnd) + Endif + Endif + + If This._ControlHwnd = 0 Then + Return + Endif + + If This.ctlEnabled = TRUE Then + apiEnableWindow(This._ControlHwnd, TRUE) + Else + *!* Return keyboard focus to form + apiEnableWindow(This._ControlHwnd, FALSE) + Endif + + + ENDPROC + + PROCEDURE _setfont + *!* _SetFont() + + *!* typedef struct tagLOGFONT { + *!* LONG lfHeight; + *!* LONG lfWidth; + *!* LONG lfEscapement; + *!* LONG lfOrientation; + *!* LONG lfWeight; + *!* BYTE lfItalic; + *!* BYTE lfUnderline; + *!* BYTE lfStrikeOut; + *!* BYTE lfCharSet; + *!* BYTE lfOutPrecision; + *!* BYTE lfClipPrecision; + *!* BYTE lfQuality; + *!* BYTE lfPitchAndFamily; + *!* TCHAR lfFaceName[LF_FACESIZE]; + *!* } LOGFONT, *PLOGFONT; + + If This._ControlHwnd = 0 Then + Return + Endif + + If This._EnableUpdates = FALSE Then + Return + Endif + + Local ; + loLogFont As _LOGFONT, ; + lcLogFont As String + + m.loLogFont = Createobject("_LOGFONT") + m.loLogFont.Value = This._FontDefaultLogFont.Value + + *!* Fill members of font structure: + With m.loLogFont + .FontBold = This.ctlFontBold + .FontCharSet = This.ctlFontCharSet + .FontItalic = This.ctlFontItalic + .FontName = This.ctlFontName + NULA + .FontSize = This.ctlFontSize + .FontStrikethru = This.ctlFontStrikethru + .FontUnderline = This.ctlFontUnderline + Endwith + + *!* Release Font object if we already have one: + If This._FontHandle # 0 Then + apiDeleteObject(This._FontHandle ) + Endif + + m.lcLogFont = m.loLogFont.Value + + *!* Create a new font object: + This._FontHandle = apiCreateFontIndirect(@m.lcLogFont) + + *!* Set control font to this font object: + apiSendMessageInteger(This._ControlHwnd, WM_SETFONT, This._FontHandle, 1) + + m.loLogFont = .Null. + Release m.loLogFont + + + ENDPROC + + PROCEDURE _setforecolor + *!* _SetForeColor() + ENDPROC + + PROCEDURE _setorientation + *!* _SetOrientation() + ENDPROC + + PROCEDURE _setproperties + *!* _SetProperties() + + *!* Specifies if control is inside a pageframe + This._InPage = This._IsControlInPage() + + *This._FormType = ctlGetFormType(This) + + + ENDPROC + + PROCEDURE _setshowfocuscues + *!* _SetShowFocusCues() + + Local wParam As Integer + + If This._ControlHwnd = 0 Then + Return + Endif + + If This.ctlShowFocusCues Then + m.wParam = ctlMakewParam(UIS_CLEAR, UISF_HIDEFOCUS) + Else + m.wParam = ctlMakewParam(UIS_SET, UISF_HIDEFOCUS) + Endif + + apiSendMessageInteger(This._ControlHwnd, WM_CHANGEUISTATE, m.wParam, 0) + + ENDPROC + + PROCEDURE _setthemes + *!* _SetThemes() + + If This._ControlHwnd = 0 Then + Return + Endif + + If ctlIsThemeActive(This) = TRUE Then + apiSetWindowTheme(This._ControlHwnd, .Null., .Null.) + Else + apiSetWindowTheme(This._ControlHwnd, .Null., "") + Endif + + + ENDPROC + + PROCEDURE _setvalue + *!* _SetValue() + + If Not Empty(This.ctlTextBox.ControlSource) Then + This.ctlTextBox.Value = This.ctlValue + Thisform.Refresh() + Endif + + Raiseevent(This, "ctlValueChanged") + + + ENDPROC + + PROCEDURE _setvisible + *!* _SetVisible() + + Local m.llVisible As Logical + + m.llVisible = This.ctlVisible + + If This._InPage = TRUE + m.llVisible = This._PageActive And m.llVisible + Endif + + *!* Set the container control itself visible property + This.Visible = m.llVisible And This._Visible + + If This._ControlHwnd = 0 Then + Return + Endif + + If m.llVisible = TRUE Then + * apiShowWindow(This._ControlHwnd, SW_SHOWNA) + apiSetWindowPos(This._ControlHwnd, HWND_TOP, 0, 0, 0, 0, BITOR(SWP_NOACTIVATE, SWP_NOMOVE, SWP_NOSIZE, SWP_SHOWWINDOW)) + Else + apiShowWindow(This._ControlHwnd, SW_HIDE) + Endif + + + ENDPROC + + PROCEDURE _updatecolors + *!* _UpdateColors() + ENDPROC + + PROCEDURE _vfpmessagehandler + *!* _VFPMessageHandler + *!* This binds to the _Msg property of the BindWindowsEventsProxy object of _VFP + + Do Case + + Case _vfp.BindWindowsEventsProxy._Msg = WM_THEMECHANGED + This._SetThemes() + + This._CreateBackGroundBrush() + + *!* Update colors if needed + This._UpdateColors() + + *!* Send a color change message to control to force redraw and + *!* prevent glitches + If This._ControlHwnd # 0 Then + apiSendMessageInteger(This._ControlHwnd, WM_SYSCOLORCHANGE , 0, 0) + Endif + + Endcase + + ENDPROC + + PROCEDURE ctlTextBox.GotFocus + *!* GotFocus() + + This.ctlFocused = TRUE + + *!* Set Focus to control window + If This.Parent.ctlCanFocus Then + apiSetfocus(This.Parent._ControlHwnd) + Endif + + + + ENDPROC + + PROCEDURE ctlTextBox.Init + This.AddProperty("ctlFocused", FALSE) + ENDPROC + + PROCEDURE ctlTextBox.LostFocus + *!* LostFocus() + + This.ctlFocused = FALSE + + Do Case + Case _vfp.HWnd = apiGetActiveWindow() + + If Type("_Screen.ActiveForm") = "O" And _Screen.ActiveForm.HWnd = Thisform.HWnd Then + apiSetfocus(Thisform.HWnd) + Endif + + Case Thisform.HWnd = apiGetActiveWindow() + apiSetfocus(Thisform.HWnd) + Endcase + + + ENDPROC + + PROCEDURE lblname.Init + Return FALSE + + ENDPROC + +ENDDEFINE diff --git a/utile/ctl32/ctl32_api.prg b/utile/ctl32/ctl32_api.prg new file mode 100644 index 0000000..bfbb4d7 --- /dev/null +++ b/utile/ctl32/ctl32_api.prg @@ -0,0 +1,1956 @@ +******************************************************************************** +*!* ctl32_api.prg +******************************************************************************** +*!* |http://www.codeplex.com/VFPX/Thread/View.aspx?ThreadId=11535 +*!* GDIPLUSX method of declaring and protecting api declares +*!* 200+ API declares and counting... +******************************************************************************** +#Include ctl32.h + +If Not Sys(16) $ Upper(Set("Procedure")) Then + Set Procedure To Sys(16) Additive +Endif + +Return + +Function apiAppendMenu + Lparameters hMenu, wFlags, uIDNewItem, lpNewItem + Declare Integer AppendMenu In win32api As apiAppendMenu ; + Integer hMenu, ; + Integer wFlags, ; + Integer uIDNewItem, ; + String lpNewItem + Return apiAppendMenu(m.hMenu, m.wFlags, m.uIDNewItem, m.lpNewItem) +Endfunc + +Function apiAttachThreadInput + Lparameters idAttach, idAttachTo, fAttach + Declare Integer AttachThreadInput In win32api As apiAttachThreadInput; + Integer idAttach, ; + Integer idAttachTo, ; + Integer fAttach + Return apiAttachThreadInput(m.idAttach, m.idAttachTo, m.fAttach) +Endfunc + +Function apiBitBlt + Lparameters hdcDest, nXDest, nYDest, nWidth, nHeight, hdcSrc, nXSrc, nYSrc, dwRop + Declare Integer BitBlt In win32api As apiBitBlt ; + Integer hdcDest, ; + Integer nXDest, ; + Integer nYDest, ; + Integer nWidth, ; + Integer nHeight, ; + Integer hdcSrc, ; + Integer nXSrc, ; + Integer nYSrc, ; + Integer dwRop + Return apiBitBlt(m.hdcDest, m.nXDest, m.nYDest, m.nWidth, m.nHeight, m.hdcSrc, m.nXSrc, m.nYSrc, m.dwRop) +Endfunc + +Function apiCallWindowProc + Lparameters lpPrevWndFunc, nhWnd, Msg, wParam, Lparam + Declare Integer CallWindowProc In win32api As apiCallWindowProc ; + Integer lpPrevWndFunc, ; + Integer nhWnd, ; + Integer msg, ; + Integer wParam, ; + Integer Lparam + Return apiCallWindowProc(m.lpPrevWndFunc, m.nhWnd, m.Msg, m.wParam, m.lParam) +Endfunc + +Function apiCheckMenuItem + Lparameters hMenu, uIDCheckItem, uCheck + Declare Integer CheckMenuItem In win32api As apiCheckMenuItem ; + Integer hmenu, ; + Integer uIDCheckItem, ; + Integer uCheck + Return apiCheckMenuItem(m.hMenu, m.uIDCheckItem, m.uCheck) +Endfunc + +Function apiCheckMenuRadioItem + Lparameters hMenu, idFirst, idLast, idCheck, uFlags + Declare Integer CheckMenuRadioItemA In win32api As apiCheckMenuRadioItem ; + Integer hmenu, ; + Integer idFirst, ; + Integer idLast, ; + Integer idCheck, ; + Integer uFlags + Return apiCheckMenuRadioItem(m.hMenu, m.idFirst, m.idLast, m.idCheck, m.uFlags) +Endfunc + +Function apiChildWindowFromPoint + Lparameters nHwndParent, px, py + Declare Integer ChildWindowFromPoint In win32api As apiChildWindowFromPoint ; + Integer nHwndParent,; + Integer px,; + Integer py + Return apiChildWindowFromPoint(m.nHwndParent, m.px, m.py) +Endfunc + +Function apiClientToScreen + Lparameters nhWnd, lpPoint + Declare Integer ClientToScreen In win32api As apiClientToScreen ; + Integer nhWnd, ; + String @lpPoint + Return apiClientToScreen(m.nhWnd, @m.lpPoint) +Endfunc + +Function apiCloseHandle + Lparameters hObject + Declare Integer CloseHandle In win32api As apiCloseHandle ; + Integer hObject + Return apiCloseHandle(m.hObject) +Endfunc + +Function apiClosePrinter + Lparameters hPrinter + Declare Integer ClosePrinter In winspool.drv As apiClosePrinter ; + Integer hPrinter + Return apiClosePrinter(m.hPrinter) +Endfunc + +Function apiCloseThemeData + Lparameters hTheme + If ctlGetOsVersion() >= NTDDI_WINXP + Declare Integer CloseThemeData In uxtheme As apiCloseThemeData ; + Integer hTheme + Return apiCloseThemeData(m.hTheme) + Else + Return 0 + Endif +Endfunc + +Function apiCoCreateGuid + Lparameters pguid + Declare Integer CoCreateGuid In Ole32 As apiCoCreateGuid; + String @pguid + Return apiCoCreateGuid(@m.pguid) +Endfunc + +Function apiColorAdjustLuma + Lparameters clrRGB, nLum, fScale + Declare Integer ColorAdjustLuma In shlwapi.Dll As apiColorAdjustLuma ; + Integer clrRGB, ; + Integer nLum, ; + Integer fScale + Return apiColorAdjustLuma(m.clrRGB, m.nLum, m.fScale) +Endfunc + +Function apiColorRGBToHLS + Lparameters clrRGB, pwHue, pwLuminance, pwSaturation + Declare ColorRGBToHLS In shlwapi.Dll As apiColorRGBToHLS ; + Integer clrRGB,; + Integer @pwHue,; + Integer @pwLuminance,; + Integer @pwSaturation + Return apiColorRGBToHLS(clrRGB, @pwHue, @pwLuminance, @pwSaturation) +Endfunc + +Function apiCommDlgExtendedError() + Declare Integer CommDlgExtendedError In comdlg32.Dll As apiCommDlgExtendedError + Return apiCommDlgExtendedError() +Endfunc + +Function apiCoTaskMemFree + Lparameters Pv + Declare CoTaskMemFree In ole32.Dll As apiCoTaskMemFree ; + Integer Pv + Return apiCoTaskMemFree(m.pv) +Endfunc + +Function apiCreateCompatibleBitmap + Lparameters hdc, nWidth, nHeight + Declare Integer CreateCompatibleBitmap In win32api As apiCreateCompatibleBitmap ; + Integer hdc,; + Integer nWidth,; + Integer nHeight + Return apiCreateCompatibleBitmap(m.hdc, m.nWidth, m.nHeight) +Endfunc + +Function apiCreateCompatibleDC + Lparameters hdc + Declare Integer CreateCompatibleDC In win32api As apiCreateCompatibleDC ; + Integer hdc + Return apiCreateCompatibleDC(m.hdc) +Endfunc + +Function apiCreateFile + Lparameters lpFileName, dwDesiredAccess, dwShareMode, lpSecurityAttributes, dwCreationDisposition, dwFlagsAndAttributes, hTemplateFile + Declare Integer CreateFile In win32api As apiCreateFile ; + String lpFileName, ; + Integer dwDesiredAccess, ; + Integer dwShareMode, ; + Integer lpSecurityAttributes, ; + Integer dwCreationDisposition, ; + Integer dwFlagsAndAttributes, ; + Integer hTemplateFile + Return apiCreateFile(m.lpFileName, m.dwDesiredAccess, m.dwShareMode, m.lpSecurityAttributes, m.dwCreationDisposition, m.dwFlagsAndAttributes, m.hTemplateFile) +Endfunc + +Function apiCreateFont + Lparameters nHeight, nWidth, nEscapement, nOrientation, fnWeight, fdwItalic, fdwUnderline, fdwStrikeOut, fdwCharSet, fdwOutputPrecision, fdwClipPrecision, fdwQuality, fdwPitchAndFamily, lpszFace + *!* lpszFace + *!* [in] Pointer to a null-terminated String that specifies the typeface + *!* name of the font. The length of this String must not exceed 32 characters, + *!* including the terminating null character. + Declare Integer CreateFont In win32api As apiCreateFont ; + Integer nHeight, ; + Integer nWidth, ; + Integer nEscapement, ; + Integer nOrientation, ; + Integer fnWeight, ; + Integer fdwItalic, ; + Integer fdwUnderline, ; + Integer fdwStrikeOut, ; + Integer fdwCharSet, ; + Integer fdwOutputPrecision, ; + Integer fdwClipPrecision, ; + Integer fdwQuality, ; + Integer fdwPitchAndFamily, ; + String lpszFace + Return apiCreateFont(m.nHeight, m.nWidth, m.nEscapement, m.nOrientation, m.fnWeight, m.fdwItalic, m.fdwUnderline, m.fdwStrikeOut, m.fdwCharSet, m.fdwOutputPrecision, m.fdwClipPrecision, m.fdwQuality, m.fdwPitchAndFamily, m.lpszFace) +Endfunc + +Function apiCreateFontIndirect + Lparameters lpLogFont + Declare Integer CreateFontIndirect In win32api As apiCreateFontIndirect ; + String lpLogFont + Return apiCreateFontIndirect(m.lpLogFont) +Endfunc + +Function apiCreateMenu() + Declare Integer CreateMenu In win32api As apiCreateMenu + Return apiCreateMenu() +Endfunc + +Function apiCreatePatternBrush + Lparameters hBitmap + Declare Integer CreatePatternBrush In gdi32 As apiCreatePatternBrush ; + Integer hBitmap + Return apiCreatePatternBrush(m.hBitmap) +Endfunc + +Function apiCreatePopupMenu() + Declare Integer CreatePopupMenu In win32api As apiCreatePopupMenu + Return apiCreatePopupMenu() +Endfunc + +Function apiCreateRectRgn + Lparameters x1, y1, x2, y2 + Declare Integer CreateRectRgn In win32api As apiCreateRectRgn ; + Integer x1, ; + Integer y1, ; + Integer x2, ; + Integer y2 + Return apiCreateRectRgn(m.x1, m.y1, m.x2, m.y2) +Endfunc + +Function apiCreateSolidBrush + Lparameters crColor + Declare Integer CreateSolidBrush In win32api As apiCreateSolidBrush ; + Integer crColor + Return apiCreateSolidBrush(m.crColor) +Endfunc + +Function apiCreateWindowEx + Lparameters dwExStyle, lpClassName, lpWindowName, dwStyle, nx, ny, nWidth, nHeight, nHwndParent, hMenu, hInstance, lpParam + Declare Integer CreateWindowEx In win32api As apiCreateWindowEx ; + Integer dwExStyle, ; + String lpClassName, ; + String lpWindowName, ; + Integer dwStyle, ; + Integer nx, ; + Integer ny, ; + Integer nWidth, ; + Integer nHeight, ; + Integer nHwndParent, ; + Integer hMenu, ; + Integer hInstance, ; + Integer lpParam + Return apiCreateWindowEx(m.dwExStyle, m.lpClassName, m.lpWindowName, m.dwStyle, m.nx, m.ny, m.nWidth, m.nHeight, m.nHwndParent, m.hMenu, m.hInstance, m.lpParam) +Endfunc + +Function apiDeleteObject + Lparameters hObject + Declare Integer DeleteObject In win32api As apiDeleteObject; + Integer hObject + Return apiDeleteObject(m.hObject) +Endfunc + +Function apiDeleteUrlCacheEntry + Lparameters lpszUrlName + Declare Integer apiDeleteUrlCacheEntry In wininet.Dll As apiDeleteUrlCacheEntry ; + String lpszUrlName + Return apiDeleteUrlCacheEntry(m.lpszUrlName) +Endfunc + +Function apiDestroyMenu + Lparameters hMenu + Declare Integer DestroyMenu In win32api As apiDestroyMenu; + Integer hMenu + Return apiDestroyMenu(m.hMenu) +Endfunc + +Function apiDestroyWindow + Lparameters nhWnd + Declare Integer DestroyWindow In win32api As apiDestroyWindow ; + Integer nhWnd + Return apiDestroyWindow(m.nhWnd) +Endfunc + +Function apiDrawIconEx + Lparameters hdc, xLeft, yTop, hIcon, cxWidth, cyWidth, istepIfAniCur, hbrFlickerFreeDraw, diFlags + Declare Integer DrawIconEx In win32api As apiDrawIconEx ; + Integer hdc, ; + Integer xLeft, ; + Integer yTop, ; + Integer hIcon, ; + Integer cxWidth, ; + Integer cyWidth, ; + Integer istepIfAniCur, ; + Integer hbrFlickerFreeDraw, ; + Integer diFlags + Return apiDrawIconEx(m.hdc, m.xLeft, m.yTop, m.hIcon, m.cxWidth, m.cyWidth, m.istepIfAniCur, m.hbrFlickerFreeDraw, m.diFlags) +Endfunc + +Function apiDrawThemeBackground + Lparameters hTheme, hdc, iPartId, iStateId, pRect, pClipRect + If ctlGetOsVersion() >= NTDDI_WINXP + Declare Integer DrawThemeBackground In uxtheme As apiDrawThemeBackground ; + Integer hTheme, ; + Integer hdc, ; + Integer iPartId, ; + Integer iStateId, ; + String pRect, ; + String pClipRect + Return apiDrawThemeBackground(m.hTheme, m.hdc, m.iPartId, m.iStateId, m.pRect, m.pClipRect) + Else + Return 0 + Endif +Endfunc + +Function apiEnableMenuItem + Lparameters hMenu, uIDEnableItem, uEnable + Declare Integer EnableMenuItem In win32api As apiEnableMenuItem; + Integer hMenu, ; + Integer uIDEnableItem, ; + Integer uEnable + Return apiEnableMenuItem(m.hMenu, m.uIDEnableItem, m.uEnable) +Endfunc + +Function apiEnableWindow + Lparameters nhWnd, bEnable + Declare Integer EnableWindow In win32api As apiEnableWindow ; + Integer nhWnd, ; + Integer bEnable + Return apiEnableWindow(m.nhWnd, m.bEnable) +Endfunc + +Function apiEndDocPrinter + Lparameters hPrinter + Declare Integer EndDocPrinter In winspool.drv As apiEndDocPrinter; + Integer hPrinter + Return apiEndDocPrinter(m.hPrinter) +Endfunc + +Function apiFileTimeToLocalFileTime + Lparameters lpFileTime, lpLocalFileTime + Declare Integer FileTimeToLocalFileTime In win32api As apiFileTimeToLocalFileTime ; + Integer lpFileTime, ; + Integer lpLocalFileTime + Return apiFileTimeToLocalFileTime(m.lpFileTime, m.lpLocalFileTime) +Endfunc + +Function apiFileTimeToSystemTime + Lparameters lpFileTime, lpSystemTime + Declare Integer FileTimeToSystemTime In win32api As apiFileTimeToSystemTime ; + Integer lpFileTime, ; + Integer lpSystemTime + Return apiFileTimeToSystemTime(m.lpFileTime, m.lpSystemTime) +Endfunc + +Function apiFillRect + Lparameters hdc, lprc, hbr + Declare Integer FillRect In win32api As apiFillRect ; + Integer hDC, ; + Integer lprc, ; + Integer hbr + Return apiFillRect(m.hdc, m.lprc, m.hbr) +Endfunc + +Function apiFindClose + Lparameters hFindFile + Declare Integer FindClose In win32api As apiFindClose ; + Integer hFindFile + Return apiFindClose(m.hFindFile) +Endfunc + +Function apiFindFirstFile + Lparameters lpFileName, lpFindFileData + Declare Integer FindFirstFile In win32api As apiFindFirstFile ; + String lpFileName, ; + Integer lpFindFileData + Return apiFindFirstFile(m.lpFileName, m.lpFindFileData) +Endfunc + +Function apiFindNextFile + Lparameters hFindFile, lpFindFileData + Declare Integer FindNextFile In win32api As apiFindNextFile ; + Integer hFindFile, ; + Integer lpFindFileData + Return apiFindNextFile(m.hFindFile, m.lpFindFileData) +Endfunc + +Function apiFindWindow + Lparameters lpClassName, lpWindowName + Declare Integer FindWindow In win32api As apiFindWindow; + String lpClassName, ; + String lpWindowName + Return apiFindWindow(m.lpClassName, m.lpWindowName) +Endfunc + +Function apiFindWindowEx + Lparameters hWnd1, hWnd2, lpsz1, lpsz2 + Declare Integer FindWindowEx In win32api As apiFindWindowEx ; + Integer hWnd1, ; + Integer hWnd2, ; + String lpsz1, ; + String lpsz2 + Return apiFindWindowEx(m.hWnd1, m.hWnd2, m.lpsz1, m.lpsz2) +Endfunc + +Function apiFormatMessage + Lparameters dwFlags, lpSource, dwMessageId, dwLanguageId, lpBuffer, nSize, Arguments + Declare Integer FormatMessage In win32api As apiFormatMessage ; + Integer dwFlags, ; + Integer lpSource, ; + Integer dwMessageId, ; + Integer dwLanguageId, ; + String @lpBuffer, ; + Integer nSize, ; + Integer Arguments + Return apiFormatMessage(m.dwFlags, m.lpSource, m.dwMessageId, m.dwLanguageId, @m.lpBuffer, m.nSize, m.Arguments) +Endfunc + +Function apiFreeLibrary + Lparameters hLibModule + Declare Integer FreeLibrary In win32api As apiFreeLibrary ; + Integer hLibModule + Return apiFreeLibrary(m.hLibModule) +Endfunc + +Function apiFtpCommand + Lparameters hConnect, fExpectResponse, dwFlags, lpszCommand, dwContext, phFtpCommand + Declare Integer FtpCommand In wininet As apiFtpCommand ; + Integer hConnect, ; + Integer fExpectResponse, ; + Integer dwFlags, ; + String lpszCommand, ; + Integer dwContext, ; + Integer @phFtpCommand + Return apiFtpCommand(m.hConnect, m.fExpectResponse, m.dwFlags, m.lpszCommand, m.dwContext, @m.phFtpCommand) +Endfunc + +Function apiFtpCreateDirectory + Lparameters hConnect, lpszDirectory + Declare Integer FtpCreateDirectory In wininet As apiFtpCreateDirectory ; + Integer hConnect, ; + String lpszDirectory + Return apiFtpCreateDirectory(m.hConnect, m.lpszDirectory) +Endfunc + +Function apiFtpDeleteFile + Lparameters hConnect, lpszFileName + Declare Integer FtpDeleteFile In wininet As apiFtpDeleteFile ; + Integer hConnect, ; + String lpszFileName + Return apiFtpDeleteFile(m.hConnect, m.lpszFileName) +Endfunc + +Function apiFtpFindFirstFile + Lparameters hConnect, lpszSearchFile, lpFindFileData, dwFlags, dwContext + Declare Integer FtpFindFirstFile In wininet As apiFtpFindFirstFile ; + Integer hConnect, ; + String lpszSearchFile, ; + Integer lpFindFileData, ; + Integer dwFlags, ; + Integer dwContext + Return apiFtpFindFirstFile(m.hConnect, m.lpszSearchFile, m.lpFindFileData, m.dwFlags, m.dwContext) +Endfunc + +Function apiFtpGetCurrentDirectory + Lparameters hConnect, lpszCurrentDirectory, lpdwCurrentDirectory + Declare Integer FtpGetCurrentDirectory In wininet As apiFtpGetCurrentDirectory ; + Integer hConnect, ; + String @lpszCurrentDirectory, ; + Integer @lpdwCurrentDirectory + Return apiFtpGetCurrentDirectory(m.hConnect, @m.lpszCurrentDirectory, @m.lpdwCurrentDirectory) +Endfunc + +Function apiFtpGetFile + Lparameters hConnect, lpszRemoteFile, lpszNewFile, fFailIfExists, dwFlagsAndAttributes, dwFlags, dwContext + Declare Integer FtpGetFile In wininet As apiFtpGetFile ; + Integer hConnect, ; + String lpszRemoteFile, ; + String lpszNewFile, ; + Integer fFailIfExists, ; + Integer dwFlagsAndAttributes, ; + Integer dwFlags, ; + Integer dwContext + Return apiFtpGetFile(m.hConnect, m.lpszRemoteFile, m.lpszNewFile, m.fFailIfExists, m.dwFlagsAndAttributes, m.dwFlags, m.dwContext) +Endfunc + +Function apiFtpGetFileSize + Lparameters hFile, lpdwFileSizeHigh + Declare Integer FtpGetFileSize In wininet As apiFtpGetFileSize ; + Integer hFile, ; + Integer @lpdwFileSizeHigh + Return apiFtpGetFileSize(m.hFile, @m.lpdwFileSizeHigh) +Endfunc + +Function apiFtpOpenFile + Lparameters hConnect, lpszFileName, dwAccess, dwFlags, dwContext + Declare Integer FtpOpenFile In wininet As apiFtpOpenFile ; + Integer hConnect, ; + String lpszFileName, ; + Integer dwAccess, ; + Integer dwFlags, ; + Integer dwContext + Return apiFtpOpenFile(m.hConnect, m.lpszFileName, m.dwAccess, m.dwFlags, m.dwContext) +Endfunc + +Function apiFtpPutFile + Lparameters hConnect, lpszLocalFile, lpszNewRemoteFile, dwFlags, dwContext + Declare Integer FtpPutFile In wininet As apiFtpPutFile ; + Integer hConnect, ; + String lpszLocalFile, ; + String lpszNewRemoteFile, ; + Integer dwFlags, ; + Integer dwContext + Return apiFtpPutFile(m.hConnect, m.lpszLocalFile, m.lpszNewRemoteFile, m.dwFlags, m.dwContext) +Endfunc + +Function apiFtpRemoveDirectory + Lparameters hConnect, lpszDirectory + Declare Integer FtpRemoveDirectory In wininet As apiFtpRemoveDirectory ; + Integer hConnect, ; + String lpszDirectory + Return apiFtpRemoveDirectory(m.hConnect, m.lpszDirectory) +Endfunc + +Function apiFtpRenameFile + Lparameters hConnect, lpszExisting, lpszNew + Declare Integer FtpRenameFile In wininet As apiFtpRenameFile ; + Integer hConnect, ; + String lpszExisting, ; + String lpszNew + Return apiFtpRenameFile(m.hConnect, m.lpszExisting, m.lpszNew) +Endfunc + +Function apiFtpSetCurrentDirectory + Lparameters hConnect, lpszDirectory + Declare Integer FtpSetCurrentDirectory In wininet As apiFtpSetCurrentDirectory ; + Integer hConnect, ; + String lpszDirectory + Return apiFtpSetCurrentDirectory(m.hConnect, m.lpszDirectory) +Endfunc + +Function apiGetActiveWindow() + Declare Integer GetActiveWindow In win32api As apiGetActiveWindow + Return apiGetActiveWindow() +Endfunc + +Function apiGetCaretPos + Lparameters lpPoint + Declare Integer GetCaretPos In win32api As apiGetCaretPos; + String @lpPoint + Return apiGetCaretPos(@m.lpPoint) +Endfunc + +Function apiGetClassLong + Lparameters nhWnd, nIndex + Declare Integer GetClassLong In win32api As apiGetClassLong; + Integer nhWnd, ; + Integer nIndex + Return apiGetClassLong(m.nhWnd, m.nIndex) +Endfunc + +Function apiGetClientRect + Lparameters nhWnd, lcRect + Declare Integer GetClientRect In win32api As apiGetClientRect ; + Integer nhWnd,; + String @lcRect + Return apiGetClientRect(m.nhWnd, @m.lcRect) +Endfunc + +Function apiGetCursorPos + Lparameters lpPoint + Declare Integer GetCursorPos In win32api As apiGetCursorPos; + String @lpPoint + Return apiGetCursorPos(@m.lpPoint) +Endfunc + +Function apiGetDateFormat + Lparameters Locale, dwFlags, lpDate, lpFormat, lpDateStr, cchDate + Declare Integer GetDateFormat In win32api As apiGetDateFormat ; + Integer Locale, ; + Integer dwFlags, ; + String lpDate, ; + String lpFormat, ; + String @lpDateStr, ; + Integer cchDate + Return apiGetDateFormat(m.Locale, m.dwFlags, m.lpDate, m.lpFormat, @m.lpDateStr, m.cchDate) +Endfunc + +Function apiGetDC + Lparameters nhWnd + Declare Integer GetDC In win32api As apiGetDC ; + Integer nhWnd + Return apiGetDC(m.nhWnd) +Endfunc + +Function apiGetDesktopWindow() + Declare Integer GetDesktopWindow In win32api As apiGetDesktopWindow + Return apiGetDesktopWindow() +Endfunc + +Function apiGetDeviceCaps + Lparameters hdc, nIndex + Declare Integer GetDeviceCaps In win32api As apiGetDeviceCaps ; + Integer hdc, ; + Integer nIndex + Return apiGetDeviceCaps(m.hdc, m.nIndex) +Endfunc + +Function apiGetDoubleClickTime() + Declare Integer GetDoubleClickTime In win32api As apiGetDoubleClickTime + Return apiGetDoubleClickTime() +Endfunc + +Function apiGetFileSizeEx + Lparameters hFile, lpFileSize + Declare Integer GetFileSizeEx In win32api As apiGetFileSizeEx ; + Integer hFile, ; + String @lpFileSize + Return apiGetFileSizeEx(m.hFile, @m.lpFileSize) +Endfunc + +Function apiGetFocus() + Declare Integer GetFocus In win32api As apiGetFocus + Return apiGetFocus() +Endfunc + +Function apiGetForegroundWindow() + Declare Integer GetForegroundWindow In win32api As apiGetForegroundWindow + Return apiGetForegroundWindow() +Endfunc + +Function apiGetIpAddrTable + Lparameters pIpAddrTable, pdwSize, nbOrder + Declare Integer GetIpAddrTable In iphlpapi As apiGetIpAddrTable ; + String @pIpAddrTable, ; + Integer @pdwSize, ; + Integer nbOrder + Return apiGetIpAddrTable(@m.pIpAddrTable, @m.pdwSize, m.nbOrder) +Endfunc + +Function apiGetKeyState + Lparameters nVirtKey + Declare Integer GetKeyState In win32api As apiGetKeyState ; + Integer nVirtKey + Return apiGetKeyState(m.nVirtKey) +Endfunc + +Function apiGetLastError() + Declare Integer GetLastError In win32api As apiGetLastError + Return apiGetLastError() +Endfunc + +Function apiGetLocaleInfo + Lparameters Locale, LCType, lpLCData, cchData + Declare Integer GetLocaleInfo In win32api As apiGetLocaleInfo; + Integer Locale, ; + Integer LCType, ; + String @lpLCData, ; + Integer cchData + Return apiGetLocaleInfo(m.Locale, m.LCType, @m.lpLCData, m.cchData) +Endfunc + +Function apiGetMenu + Lparameters nhWnd + Declare Integer GetMenu In win32api As apiGetMenu ; + Integer nhWnd + Return apiGetMenu(m.nhWnd) +Endfunc + +Function apiGetMenuBarInfo + Lparameters nhWnd, idObject, idItem, pmbi + Declare Integer GetMenuBarInfo In win32api As apiGetMenuBarInfo ; + Integer nhWnd, ; + Integer idObject, ; + Integer idItem, ; + String @pmbi + Return apiGetMenuBarInfo(m.nhWnd, m.idObject, m.idItem, m.pmbi) +Endfunc + +Function apiGetMenuCheckMarkDimensions() + *!* The GetMenuCheckMarkDimensions function is included only for compatibility + *!* with 16-bit versions of Microsoft Windows. Applications should use the + *!* GetSystemMetrics function with the CXMENUCHECK and CYMENUCHECK values to + *!* retrieve the bitmap dimensions. + Return apiGetSystemMetrics(SM_CXMENUCHECK) + apiGetSystemMetrics(SM_CYMENUCHECK) * 0x10000 +Endfunc + +Function apiGetMenuContextHelpId + Lparameters hMenu + Declare Integer GetMenuContextHelpId In win32api As apiGetMenuContextHelpId ; + Integer hMenu + Return apiGetMenuContextHelpId(m.hMenu) +Endfunc + +Function apiGetMenuDefaultItem + Lparameters hMenu, fByPos, gmdiFlags + Declare Integer GetMenuDefaultItem In win32api As apiGetMenuDefaultItem ; + Integer hMenu, ; + Integer fByPos, ; + Integer gmdiFlags + Return apiGetMenuDefaultItem(m.hMenu, m.fByPos, m.gmdiFlags) +Endfunc + +Function apiGetMenuInfo + Lparameters hMenu, lpcmi + Declare Integer GetMenuInfo In win32api As apiGetMenuInfo ; + Integer hmenu, ; + String @lpcmi + Return apiGetMenuInfo(m.hMenu, m.lpcmi) +Endfunc + +Function apiGetMenuItemCount + Lparameters hMenu + Declare Integer GetMenuItemCount In win32api As apiGetMenuItemCount ; + Integer hMenu + Return apiGetMenuItemCount(m.hMenu) +Endfunc + +Function apiGetMenuItemID + Lparameters hMenu, nPos + Declare Integer GetMenuItemID In win32api As apiGetMenuItemID ; + Integer hMenu, ; + Integer nPos + Return apiGetMenuItemID(m.hMenu, m.nPos) +Endfunc + +Function apiGetMenuItemInfo + Lparameters hMenu, uItem, fByPosition, lpmii + Declare Integer GetMenuItemInfo In win32api As apiGetMenuItemInfo ; + Integer hMenu, ; + Integer uItem, ; + Integer fByPosition, ; + String @lpmii + Return apiGetMenuItemInfo(m.hMenu, m.uItem, m.fByPosition, @m.lpmii) +Endfunc + +Function apiGetMenuItemRect + Lparameters nhWnd, hMenu, uItem, lprcItem + Declare Integer GetMenuItemRect In win32api As apiGetMenuItemRect ; + Integer nhWnd, ; + Integer hMenu, ; + Integer uItem, ; + String @lprcItem + Return apiGetMenuItemRect(m.nhWnd, m.hMenu, m.uItem, @m.lprcItem) +Endfunc + +Function apiGetMenuState + Lparameters hMenu, uID, uwFlags + Declare Integer GetMenuState In win32api As apiGetMenuState ; + Integer hMenu, ; + Integer uID, ; + Integer uFlags + Return apiGetMenuState(m.hMenu, m.uID, m.uwFlags) +Endfunc + +Function apiGetMenuString + Lparameters hMenu, uIDItem , lpString , nMaxCount , uFlag + Declare Integer GetMenuString In win32api As apiGetMenuString ; + Integer hMenu, ; + Integer uIDItem, ; + String @lpString, ; + Integer nMaxCount, ; + Integer uFlag + Return apiGetMenuString(m.hMenu, m.uIDItem , @m.lpString , m.nMaxCount , m.uFlag) +Endfunc + +Function apiGetModuleHandle + Lparameters lpModule + Declare Integer GetModuleHandle In win32api As apiGetModuleHandle ; + String lpModule + Return apiGetModuleHandle(m.lpModule) +Endfunc + +Function apiGetMonitorInfo + Lparameters hMonitor, lpmi + Declare Integer GetMonitorInfo In win32api As apiGetMonitorInfo ; + Integer hMonitor, ; + Integer lpmi + Return apiGetMonitorInfo(m.hMonitor, m.lpmi) +Endfunc + +Function apiGetObject + Lparameters hObject, nCount, lpObject +*#beautify keyword_nochange + Declare Integer GetObject In win32api as apiGetObject ; + Integer hObject, ; + Integer nCount, ; + String @lpObject +*#beautify + Return apiGetObject(m.hObject, m.nCount, @m.lpObject) +Endfunc + +Function apiGetOpenFileName + Lparameters m.lpofn + Declare Integer GetOpenFileName In comdlg32.Dll As apiGetOpenFileName ; + Integer lpofn + Return apiGetOpenFileName(m.lpofn) +Endfunc + +Function apiGetParent + Lparameters nhWnd + Declare Integer GetParent In win32api As apiGetParent; + Integer nhWnd + Return apiGetParent(m.nhWnd) +Endfunc + +Function apiGetPixel + Lparameters hdc, pointx, pointy + Declare Integer GetPixel In win32api As apiGetPixel ; + Integer hdc,; + Integer pointx,; + Integer pointy + Return apiGetPixel(m.hdc, m.pointx, m.pointy) +Endfunc + +Function apiGetPrivateProfileString + Lparameters lpAppName, lpKeyName, lpDefault, lpReturnedString, nSize, lpFileName + Declare Integer GetPrivateProfileString In win32api As apiGetPrivateProfileString ; + String lpAppName,; + String lpKeyName,; + String lpDefault,; + String @lpReturnedString,; + Integer nSize,; + String lpFileName + Return apiGetPrivateProfileString(m.lpAppName, m.lpKeyName, m.lpDefault, @m.lpReturnedString, m.nSize, m.lpFileName) +Endfunc + +Function apiGetProcAddress + Lparameters hModule, lpProcName + Declare Integer GetProcAddress In win32api As apiGetProcAddress; + Integer hModule, ; + String lpProcName + Return apiGetProcAddress(m.hModule, m.lpProcName) +Endfunc + +Function apiGetProcessHeap() + Declare Integer GetProcessHeap In win32api As apiGetProcessHeap + Return apiGetProcessHeap() +Endfunc + +Function apiGetProp + Lparameters nhWnd, lpString + Declare Integer GetProp In win32api As apiGetProp ; + Integer nhWnd, ; + String lpString + Return apiGetProp(m.nhWnd, m.lpString) +Endfunc + +Function apiGetSaveFileName + Lparameters m.lpofn + Declare Integer GetSaveFileName In comdlg32.Dll As apiGetSaveFileName ; + Integer lpofn + Return apiGetSaveFileName(m.lpofn) +Endfunc + +Function apiGetScrollPos + Lparameters nWnd, nBar + Declare Integer GetScrollPos In win32api As apiGetScrollPos ; + Integer nhWnd, ; + Integer nBar + Return apiGetScrollPos(m.nWnd, m.nBar) +Endfunc + +Function apiGetScrollRange + Lparameters nhWnd, nBar, lpMinPos, lpMaxPos + Declare Integer GetScrollRange In win32api As apiGetScrollRange ; + Integer nhWnd, ; + Integer nBar, ; + Integer @lpMinPos, ; + Integer @lpMaxPos + Return apiGetScrollRange(m.nhWnd, m.nBar, @m.lpMinPos, @m.lpMaxPos) +Endfunc + +Function apiGetStockObject + Lparameters fnObject + Declare Integer GetStockObject In win32api As apiGetStockObject ; + Integer fnObject + Return apiGetStockObject(m.fnObject) +Endfunc + +Function apiGetSubMenu + Lparameters hMenu, nPos + Declare Integer GetSubMenu In win32api As apiGetSubMenu ; + Integer hMenu, ; + Integer nPos + Return apiGetSubMenu(m.hMenu, m.nPos) +Endfunc + +Function apiGetSysColor + Lparameters nIndex + Declare Integer GetSysColor In win32api As apiGetSysColor ; + Integer nIndex + Return apiGetSysColor(m.nIndex) +Endfunc + +Function apiGetSystemMetrics + Lparameters nIndex + Declare Integer GetSystemMetrics In win32api As apiGetSystemMetrics ; + Integer nIndex + Return apiGetSystemMetrics(m.nIndex) +Endfunc + +Function apiGetTextExtentPoint32 + Lparameters hdc, lpsz, cbString, lpSize + Declare Integer GetTextExtentPoint32 In win32api As apiGetTextExtentPoint32 ; + Integer hdc, ; + String lpsz, ; + Integer cbString, ; + String @lpSize + Return apiGetTextExtentPoint32(m.hdc, m.lpsz, m.cbString, @m.lpSize) +Endfunc + +Function apiGetThemeBitmap + Lparameters hTheme, iPartId, iStateId , iPropId, dwFlags, phBitmap + If ctlGetOsVersion() >= NTDDI_VISTA + Declare Integer GetThemeBitmap In uxtheme As apiGetThemeBitmap ; + Integer hTheme, ; + Integer iPartId, ; + Integer iStateId, ; + Integer dwFlags, ; + Integer @phBitmap + Return apiGetThemeBitmap(m.hTheme, m.iPartId, m.iStateId , m.iPropId, m.dwFlags, m.phBitmap) + Else + Return 0 + Endif +Endfunc + +Function apiGetThemeColor + Lparameters hTheme, iPartId , iStateId , iPropId, pColor + If ctlGetOsVersion() >= NTDDI_WINXP + Declare Integer GetThemeColor In uxtheme As apiGetThemeColor ; + Integer hTheme, ; + Integer iPartId, ; + Integer iStateId, ; + Integer iPropId, ; + Integer @pColor + Return apiGetThemeColor(m.hTheme, m.iPartId , m.iStateId , m.iPropId , @m.pColor ) + Else + Return ERROR_INVALID_FUNCTION + Endif +Endfunc + +Function apiGetThemePartSize + Lparameters hTheme, hdc, iPartId, iStateId, prc, eSize, psz + If ctlGetOsVersion() >= NTDDI_WINXP + Declare Integer GetThemePartSize In uxtheme As apiGetThemePartSize ; + Integer hTheme, ; + Integer hdc, ; + Integer iPartId, ; + Integer iStateId, ; + String prc, ; + Integer eSize, ; + String @psz + Return apiGetThemePartSize(m.hTheme, m.hdc, m.iPartId, m.iStateId, m.prc, m.eSize, @m.psz) + Else + Return 0 + Endif +Endfunc + +Function apiGetTickCount() + Declare Integer GetTickCount In win32api As apiGetTickCount + Return apiGetTickCount() +Endfunc + +Function apiGetUserName + Lparameters lpBuffer, nSize + Declare Integer GetUserName In advapi32 As apiGetUserName; + String @lpBuffer,; + Integer @nSize + Return apiGetUserName(@m.lpBuffer, @m.nSize) +Endfunc + +Function apiGetWindow + Lparameters nhWnd, wCmd + Declare Integer GetWindow In win32api As apiGetWindow; + Integer nhWnd, ; + Integer wCmd + Return apiGetWindow(m.nhWnd, m.wCmd) +Endfunc + +Function apiGetWindowLong + Lparameters nhWnd, nIndex + Declare Integer GetWindowLong In win32api As apiGetWindowLong; + Integer nhWnd, ; + Integer nIndex + Return apiGetWindowLong(m.nhWnd, m.nIndex) +Endfunc + +Function apiGetWindowPlacement + Lparameters nhWnd, lpwndpl + Declare Integer GetWindowPlacement In win32api As apiGetWindowPlacement ; + Integer nhWnd, ; + Integer lpwndpl + Return apiGetWindowPlacement(m.nhWnd, m.lpwndpl) +Endfunc + +Function apiGetWindowRect + Lparameters nhWnd, lpRect + Declare Integer GetWindowRect In win32api As apiGetWindowRect ; + Integer nhWnd, ; + Integer lpRect + Return apiGetWindowRect(m.nhWnd, m.lpRect) +Endfunc + +Function apiGetWindowThreadProcessId + Lparameters nhWnd, lpdwProcessId + Declare Integer GetWindowThreadProcessId In win32api As apiGetWindowThreadProcessId; + Integer nhWnd, ; + Integer lpdwProcessId + Return apiGetWindowThreadProcessId(m.nhWnd, m.lpdwProcessId) +Endfunc + +Function apiHeapAlloc + Lparameters hHeap, dwFlags, dwBytes + Declare Integer HeapAlloc In win32api As apiHeapAlloc ; + Integer hHeap, ; + Integer dwFlags, ; + Integer dwBytes + Return apiHeapAlloc(m.hHeap, m.dwFlags, m.dwBytes) +Endfunc + +Function apiHeapFree + Lparameters hHeap, dwFlags, lpMem + Declare Integer HeapFree In win32api As apiHeapFree; + Integer hHeap, ; + Integer dwFlags, ; + Integer lpMem + Return apiHeapFree(m.hHeap, m.dwFlags, m.lpMem) +Endfunc + +Function apiHeapSize + Lparameters hHeap, dwFlags, lpMem + Declare Integer HeapSize In win32api As apiHeapSize; + Integer hHeap, ; + Integer dwFlags, ; + Integer lpMem + Return apiHeapSize(m.hHeap, m.dwFlags, m.lpMem) +Endfunc + +Function apiInitCommonControlsEx + Lparameters lpInitCtrls + Declare Integer InitCommonControlsEx In comctl32 As apiInitCommonControlsEx ; + String lpInitCtrls + Return apiInitCommonControlsEx(m.lpInitCtrls) +Endfunc + +Function apiInsertMenuItem + Lparameters hMenu, uItem, fByPosition, lpmii + Declare Integer InsertMenuItem In win32api As apiInsertMenuItem ; + Integer hMenu, ; + Integer uItem, ; + Integer fByPosition, ; + String @lpmii + Return apiInsertMenuItem(m.hMenu, m.uItem, m.fByPosition, @lpmii) +Endfunc + +Function apiInternetAttemptConnect + Lparameters dwReserved + Declare Integer InternetAttemptConnect In wininet As apiInternetAttemptConnect ; + Integer dwReserved + Return apiInternetAttemptConnect(m.dwReserved) +Endfunc + +Function apiInternetAutodial + Lparameters dwFlags, hwndParent + Declare Integer InternetAutodial In wininet As apiInternetAutodial ; + Integer dwFlags, ; + Integer hwndParent + Return apiInternetAutodial(m.dwFlags, m.hwndParent) +Endfunc + +Function apiInternetCloseHandle + Lparameters hInternet + Declare Integer InternetCloseHandle In wininet As apiInternetCloseHandle ; + Integer hInternet + Return apiInternetCloseHandle(m.hInternet) +Endfunc + +Function apiInternetConnect + Lparameters hInternet, lpszServerName, nServerPort, lpszUserName, lpszPassword, dwService, dwFlags, dwContext + Declare Integer InternetConnect In wininet As apiInternetConnect ; + Integer hInternet, ; + String lpszServerName, ; + Integer nServerPort, ; + String lpszUserName, ; + String lpszPassword, ; + Integer dwService, ; + Integer dwFlags, ; + Integer dwContext + Return apiInternetConnect(m.hInternet, m.lpszServerName, m.nServerPort, m.lpszUserName, m.lpszPassword, m.dwService, m.dwFlags, m.dwContext) +Endfunc + +Function apiInternetCrackUrl + Lparameters lpszUrl, dwUrlLength, dwFlags, lpUrlComponents + Declare Integer InternetCrackUrl In wininet As apiInternetCrackUrl ; + String lpszUrl, ; + Integer dwUrlLength, ; + Integer dwFlags, ; + String @lpUrlComponents + Return apiInternetCrackUrl(m.lpszUrl, m.dwUrlLength, m.dwFlags, @m.lpUrlComponents) +Endfunc + +Function apiInternetErrorDlg + Lparameters nhWnd, hRequest, dwError, dwFlags, lppvData + Declare Integer InternetErrorDlg In wininet As apiInternetErrorDlg ; + Integer nhWnd, ; + Integer hRequest, ; + Integer dwError, ; + Integer dwFlags, ; + Integer lppvData + Return apiInternetErrorDlg(m.nhWnd, m.hRequest, m.dwError, m.dwFlags, m.lppvData) +Endfunc + +Function apiInternetFindNextFile + Lparameters hFind, lpFindFileData + Declare Integer InternetFindNextFile In wininet As apiInternetFindNextFile ; + Integer hFind, ; + Integer lpFindFileData + Return apiInternetFindNextFile(m.hFind, m.lpFindFileData) +Endfunc + +Function apiInternetGetLastResponseInfo + Lparameters lpdwError, lpszBuffer, lpdwBufferLength + Declare Integer InternetGetLastResponseInfo In wininet As apiInternetGetLastResponseInfo ; + Integer @lpdwError, ; + String @lpszBuffer, ; + Integer @lpdwBufferLength + Return apiInternetGetLastResponseInfo(@m.lpdwError, @m.lpszBuffer, @m.lpdwBufferLength) +Endfunc + +Function apiInternetOpen + Lparameters lpszAgent, dwAccessType, lpszProxy, lpszProxyBypass, dwFlags + Declare Integer InternetOpen In wininet As apiInternetOpen ; + String lpszAgent, ; + Integer dwAccessType, ; + String lpszProxy, ; + String lpszProxyBypass, ; + Integer dwFlags + Return apiInternetOpen(m.lpszAgent, m.dwAccessType, m.lpszProxy, m.lpszProxyBypass, m.dwFlags) +Endfunc + +Function apiInternetQueryDataAvailable + Lparameters hFile, lpdwNumberOfBytesAvailable, dwFlags, dwContext + Declare Integer InternetQueryDataAvailable In wininet As apiInternetQueryDataAvailable ; + Integer hFile, ; + Integer @lpdwNumberOfBytesAvailable, ; + Integer dwFlags, ; + Integer dwContext + Return apiInternetQueryDataAvailable(m.hFile, @m.lpdwNumberOfBytesAvailable, m.dwFlags, m.dwContext) +Endfunc + +Function apiInternetQueryOption + Lparameters hInternet, dwOption, lpBuffer, lpdwBufferLength + Declare Integer InternetQueryOption In wininet As apiInternetQueryOption ; + Integer hInternet, ; + Integer dwOption, ; + String @lpBuffer, ; + Integer @lpdwBufferLength + Return apiInternetQueryOption(m.hInternet, m.dwOption, @m.lpBuffer, @m.lpdwBufferLength) +Endfunc + +Function apiInternetReadFile + Lparameters hFile, lpBuffer, dwNumberOfBytesToRead, lpdwNumberOfBytesRead + Declare Integer InternetReadFile In wininet As apiInternetReadFile ; + Integer hFile, ; + String @lpBuffer, ; + Integer dwNumberOfBytesToRead, ; + Integer @lpdwNumberOfBytesRead + Return apiInternetReadFile(m.hFile, @m.lpBuffer, m.dwNumberOfBytesToRead, @m.lpdwNumberOfBytesRead) +Endfunc + +Function apiInternetReadFileEx + Lparameters hFile, lpBuffersOut, dwFlags, dwContext + Declare Integer InternetReadFileEx In wininet As apiInternetReadFileEx ; + Integer hFile, ; + String @lpBuffersOut, ; + Integer dwFlags, ; + Integer dwContext + Return apiInternetReadFileEx(m.hFile, m.lpBuffersOut, m.dwFlags, m.dwContext) +Endfunc + +Function apiInternetSetFilePointer + Lparameters hFile, lDistanceToMove, pReserved, dwMoveMethod, dwContext + Declare Integer InternetSetFilePointer In wininet As apiInternetSetFilePointer ; + Integer hFile, ; + Integer lDistanceToMove, ; + String pReserved, ; + Integer dwMoveMethod, ; + Integer dwContext + Return apiInternetSetFilePointer(m.hFile, m.lDistanceToMove, m.pReserved, m.dwMoveMethod, m.dwContext) +Endfunc + +Function apiInternetSetOption + Lparameters hInternet, dwOption, lpBuffer, dwBufferLength + Declare Integer InternetSetOption In wininet As apiInternetSetOption ; + Integer hInternet, ; + Integer dwOption, ; + String lpBuffer, ; + Integer dwBufferLength + Return apiInternetSetOption(m.hInternet, m.dwOption, m.lpBuffer, m.dwBufferLength) +Endfunc + +Function apiInternetWriteFile + Lparameters hFile, lpBuffer, dwNumberOfBytesToWrite, lpdwNumberOfBytesWritten + Declare Integer InternetWriteFile In wininet As apiInternetWriteFile ; + Integer hFile, ; + String lpBuffer, ; + Integer dwNumberOfBytesToWrite, ; + Integer @lpdwNumberOfBytesWritten + Return apiInternetWriteFile(m.hFile, m.lpBuffer, m.dwNumberOfBytesToWrite, @m.lpdwNumberOfBytesWritten) +Endfunc + +Function apiIsIconic + Lparameters nhWnd + Declare Integer IsIconic In win32api As apiIsIconic; + Integer nhWnd + Return apiIsIconic(m.nhWnd) +Endfunc + +Function apiIsThemeActive() + If ctlGetOsVersion() >= NTDDI_WINXP + Declare Integer IsThemeActive In uxtheme As apiIsThemeActive + Return apiIsThemeActive() + Else + Return 0 + Endif +Endfunc + +Function apiIsWindow + Lparameters nhWnd + Declare Integer IsWindow In win32api As apiIsWindow ; + Integer nhWnd + Return apiIsWindow(m.nhWnd) +Endfunc + +Function apiKeybd_Event + Lparameters bVk, bScan, dwFlags, dwExtraInfo + Declare Integer keybd_event In win32api As apiKeybd_Event ; + Integer bVk, ; + Integer bScan, ; + Integer dwFlags, ; + Integer dwExtraInfo + Return apiKeybd_Event(m.bVk, m.bScan, m.dwFlags, m.dwExtraInfo) +Endfunc + +Function apiKillTimer + Lparameters nhWnd, nIDEvent + Declare Integer KillTimer In win32api As apiKillTimer ; + Integer nhWnd, ; + Integer nIDEvent + Return apiKillTimer(m.nhWnd, m.nIDEvent) +Endfunc + +Function apiLoadLibrary + Lparameters lpLibFileName + Declare Integer LoadLibrary In win32api As apiLoadLibrary; + String lpLibFileName + Return apiLoadLibrary(m.lpLibFileName) +Endfunc + +Function apiLoadMenu + Lparameters hInstance, lpMenuName + Declare Integer LoadMenu In win32api As apiLoadMenu ; + Integer hInstance, ; + Integer lpMenuName + Return apiLoadMenu(m.hInstance, m.lpMenuName) +Endfunc + +Function apiLoadString + Lparameters hInstance, uID, lpBuffer, nBufferMax + Declare Integer LoadString In win32api As apiLoadString ; + Integer hInstance, ; + Integer uID, ; + String lpBuffer, ; + Integer nBufferMax + Return apiLoadString(m.hInstance, m.uID, @m.lpBuffer, m.nBufferMax) +Endfunc + +Function apiMapVirtualKey + Lparameters uCode, uMapType + Declare Integer MapVirtualKey In win32api As apiMapVirtualKey ; + Integer uCode, ; + Integer uMapType + Return apiMapVirtualKey(m.uCode, m.uMapType) +Endfunc + +Function apiMessageBeep + Lparameters uType + Declare Integer MessageBeep In win32api As apiMessageBeep ; + Integer uType + Return apiMessageBeep(m.uType) +Endfunc + +Function apiMonitorFromRect + Lparameters lprc, dwFlags + Declare Integer MonitorFromRect In win32api As apiMonitorFromRect ; + Integer lprc, ; + Integer dwFlags + Return apiMonitorFromRect(m.lprc, m.dwFlags) +Endfunc + +Function apiMulDiv + Lparameters nNumber, nNumerator, nDenominator + Declare Integer MulDiv In win32api As apiMulDiv ; + Integer nNumber, ; + Integer nNumerator, ; + Integer nDenominator + Return apiMulDiv(m.nNumber, m.nNumerator, m.nDenominator) +Endfunc + +Function apiOpenFile + Lparameters lpFileName, lpReOpenBuff, wStyle + *!* Only use this function with 16-bit versions of Windows. For newer + *!* applications, use the CreateFile function. + Declare Integer OpenFile In win32api As apiOpenFile ; + String lpFileName, ; + String @lpReOpenBuff, ; + Integer wStyle + Return apiOpenFile(m.lpFileName, @m.lpReOpenBuff, m.wStyle) +Endfunc + +Function apiOpenPrinter + Lparameters pPrinterName, phPrinter, pDefault + Declare Integer OpenPrinter In winspool.drv As apiOpenPrinter ; + String pPrinterName, ; + Integer @phPrinter, ; + Integer pDefault + Return apiOpenPrinter(m.pPrinterName, @m.phPrinter, m.pDefault) +Endfunc + +Function apiOpenThemeData + Lparameters nhWnd, pszClassList + If ctlGetOsVersion() >= NTDDI_WINXP + Declare Integer OpenThemeData In uxtheme As apiOpenThemeData ; + Integer nhWnd, ; + String pszClassList + Return apiOpenThemeData(m.nhWnd, m.pszClassList) + Else + Return 0 + Endif +Endfunc + +Function apiPrintDlg + Lparameters lppd + Declare Integer PrintDlg In comdlg32 As apiPrintDlg; + String @lppd + Return apiPrintDlg(@m.lppd) +Endfunc + +Function apiPrintDlgEx + Lparameters lppd + Declare Integer PrintDlgEx In comdlg32 As apiPrintDlgEx; + String @lppd + Return apiPrintDlgEx(@m.lppd) +Endfunc + +Function apiReadFile + Lparameters hFile, lpBuffer, nNumberOfBytesToRead, lpNumberOfBytesRead, lpOverlapped + Declare Integer ReadFile In win32api As apiReadFile ; + Integer hFile, ; + String @lpBuffer, ; + Integer nNumberOfBytesToRead, ; + Integer @lpNumberOfBytesRead, ; + Integer lpOverlapped + Return apiReadFile(m.hFile, @m.lpBuffer, m.nNumberOfBytesToRead, @m.lpNumberOfBytesRead, m.lpOverlapped) +Endfunc + +Function apiRealGetWindowClass + Lparameters nhWnd, pszType, cchType + Declare Integer RealGetWindowClass In win32api As apiRealGetWindowClass ; + Integer nhWnd, ; + String @pszType, ; + Integer cchType + Return apiRealGetWindowClass(m.nhWnd, @m.pszType, m.cchType) +Endfunc + +Function apiRedrawWindow + Lparameters nhWnd, lprcUpdate, hrgnUpdate, uFlags + Declare Integer RedrawWindow In win32api As apiRedrawWindow ; + Integer nhWnd, ; + String lprcUpdate, ; + Integer hrgnUpdate, ; + Integer uflags + Return apiRedrawWindow(m.nhWnd, m.lprcUpdate, m.hrgnUpdate, m.uFlags) +Endfunc + +Function apiRegCloseKey + Lparameters hKeyHandle + Declare Integer RegCloseKey In Advapi32 As apiRegCloseKey; + Integer hKeyHandle + Return apiRegCloseKey(m.hKeyHandle) +Endfunc + +Function apiRegCreateKeyEx + Lparameters hKey, lpSubKey, Reserved, lpClass, dwOptions, samDesired, lpSecurityAttributes, phkResult, lpdwDisposition + Declare Integer RegCreateKeyEx In Advapi32 As apiRegCreateKeyEx ; + Integer hKey, ; + String lpSubKey, ; + Integer Reserved, ; + String lpClass, ; + Integer dwOptions, ; + Integer samDesired, ; + Integer lpSecurityAttributes, ; + Integer @phkResult, ; + Integer @lpdwDisposition + Return apiRegCreateKeyEx(m.hKey, m.lpSubKey, m.Reserved, m.lpClass, m.dwOptions, m.samDesired, m.lpSecurityAttributes, @m.phkResult, @m.lpdwDisposition) +Endfunc + +Function apiRegDeleteKey + Lparameters hKey, lpSubKey + Declare Integer RegDeleteKey In Advapi32 As apiRegDeleteKey ; + Integer hKey, ; + String lpSubKey + Return apiRegDeleteKey(m.hKey, m.lpSubKey) +Endfunc + +Function apiRegDeleteValue + Lparameters hKey, lpValueName + Declare Integer RegDeleteValue In advapi32 As apiRegDeleteValue ; + Integer hKey, ; + String lpValueName + Return apiRegDeleteValue(m.hKey, m.lpValueName) +Endfunc + +Function apiRegOpenKeyEx + Lparameters hKey, lpSubKey, ulOptions, samDesired, phkResult + Declare Integer RegOpenKeyEx In advapi32 As apiRegOpenKeyEx; + Integer hKey, ; + String lpSubKey, ; + Integer ulOptions, ; + Integer samDesired, ; + Integer @phkResult + Return apiRegOpenKeyEx(m.hKey, m.lpSubKey, m.ulOptions, m.samDesired, @m.phkResult) +Endfunc + +Function apiRegQueryValueEx + Lparameters hKeyHandle, lpValueName, lpReserved, lpType, lpData, lpcbData + Declare Integer RegQueryValueEx In advapi32 As apiRegQueryValueEx ; + Integer hKeyHandle, ; + String lpValueName, ; + Integer lpReserved, ; + Integer @lpType, ; + String @lpData, ; + Integer @lpcbData + Return apiRegQueryValueEx(m.hKeyHandle, m.lpValueName, m.lpReserved, @m.lpType, @m.lpData, @m.lpcbData) +Endfunc + +Function apiRegSetValueEx + Lparameters hKeyHandle, lpValueName, Reserved, dwType, lpData, cbData + Declare Integer RegSetValueEx In advapi32 As apiRegSetValueEx ; + Integer hKeyHandle, ; + String lpValueName, ; + Integer Reserved, ; + Integer dwType, ; + String @lpData, ; + Integer cbData + Return apiRegSetValueEx(m.hKeyHandle, m.lpValueName, m.Reserved, m.dwType, @m.lpData, m.cbData) +Endfunc + +Function apiReleaseDC + Lparameters nhWnd, hdc + Declare Integer ReleaseDC In win32api As apiReleaseDC ; + Integer nhWnd, ; + Integer hdc + Return apiReleaseDC(m.nhWnd, m.hdc) +Endfunc + +Function apiScreenToClient + Lparameters nhWnd, lpPoint + Declare Integer ScreenToClient In win32api As apiScreenToClient ; + Integer nhWnd, ; + String @lpPoint + Return apiScreenToClient(m.nhWnd, @m.lpPoint) +Endfunc + +Function apiSelectObject + Lparameters hdc, hObject + Declare Integer SelectObject In win32api As apiSelectObject ; + Integer hdc, ; + Integer hObject + Return apiSelectObject(m.hdc, m.hObject) +Endfunc + +Function apiSendMessage + Lparameters nhWnd, Msg, wParam, Lparam + *!* 2008-04-18 Changed to wrap SendMessage with a string lParam + *!* and SendMessage with an integer lParam + If Vartype(m.lParam) = T_CHARACTER Then + Return apiSendMessageString(m.nhWnd, m.Msg, m.wParam, @m.lParam) + Else + Return apiSendMessageInteger(m.nhWnd, m.Msg, m.wParam, m.lParam) + Endif +Endfunc + +Function apiSendMessageInteger + Lparameters nhWnd, Msg, wParam, Lparam + Declare Integer SendMessage In win32api As apiSendMessageInteger ; + Integer nhWnd, ; + Integer Msg, ; + Integer wParam, ; + Integer Lparam + Return apiSendMessageInteger(m.nhWnd, m.Msg, m.wParam, m.lParam) +Endfunc + +Function apiSendMessageString + Lparameters nhWnd, Msg, wParam, Lparam + Declare Integer SendMessage In win32api As apiSendMessageString ; + Integer nhWnd, ; + Integer Msg, ; + Integer wParam, ; + String @Lparam + Return apiSendMessageString(m.nhWnd, m.Msg, m.wParam, @m.lParam) +Endfunc + +Function apiSetClassLong + Lparameters nhWnd, nIndex, dwNewLong + Declare Integer SetClassLong In win32api As apiSetClassLong ; + Integer nhWnd, ; + Integer nIndex, ; + Integer dwNewLong + Return apiSetClassLong(m.nhWnd, m.nIndex, m.dwNewLong) +Endfunc + +Function apiSetFilePointerEx + Lparameters hFile, iDistanceToMoveLow, iDistanceToMoveHigh, lpNewFilePointer, dwMoveMethod + Declare Integer SetFilePointerEx In win32api As apiSetFilePointerEx ; + Integer hFile, ; + Integer iDistanceToMoveLow, ; + Integer iDistanceToMoveHigh, ; + String @lpNewFilePointer, ; + Integer dwMoveMethod + Return apiSetFilePointerEx(m.hFile, m.iDistanceToMoveLow, m.iDistanceToMoveHigh, @m.lpNewFilePointer, m.dwMoveMethod) +Endfunc + +Function apiSetFocus + Lparameters nhWnd + Declare Integer SetFocus In win32api As apiSetFocus ; + Integer nhWnd + Return apiSetFocus(m.nhWnd) +Endfunc + +Function apiSetForegroundWindow + Lparameters nhWnd + Declare Integer SetForegroundWindow In win32api As apiSetForegroundWindow ; + Integer nhWnd + Return apiSetForegroundWindow(m.nhWnd) +Endfunc + +Function apiSetMenu + Lparameters nhWnd, hMenu + Declare Integer SetMenu In win32api As apiSetMenu; + Integer nhWnd, ; + Integer hMenu + Return apiSetMenu(m.nhWnd, m.hMenu) +Endfunc + +Function apiSetMenuDefaultItem + Lparameters hMenu, uItem, fByPos + Declare Integer SetMenuDefaultItem In win32api As apiSetMenuDefaultItem; + Integer hMenu, ; + Integer uItem, ; + Integer fByPos + Return apiSetMenuDefaultItem(m.hMenu, m.uItem, m.fByPos) +Endfunc + +Function apiSetMenuInfo + Lparameters hMenu, lpcmi + Declare Integer SetMenuInfo In win32api As apiSetMenuInfo; + Integer hmenu, ; + String @lpcmi + Return apiSetMenuInfo(m.hMenu, @m.lpcmi) +Endfunc + +Function apiSetMenuItemBitmaps + Lparameters hMenu, uPosition, uFlags, hBitmapUnchecked, hBitmapChecked + Declare Integer SetMenuItemBitmaps In win32api As apiSetMenuItemBitmaps ; + Integer hMenu, ; + Integer uPosition, ; + Integer uFlags, ; + Integer hBitmapUnchecked, ; + Integer hBitmapChecked + Return apiSetMenuItemBitmaps(m.hMenu, m.uPosition, m.uFlags, m.hBitmapUnchecked, m.hBitmapChecked) +Endfunc + +Function apiSetMenuItemInfo + Lparameters hMenu, uItem, fByPosition, lpmii + Declare Integer SetMenuItemInfo In win32api As apiSetMenuItemInfo; + Integer hMenu, ; + Integer uItem, ; + Integer fByPosition, ; + String @lpmii + Return apiSetMenuItemInfo(m.hMenu, m.uItem, m.fByPosition, @m.lpmii) +Endfunc + +Function apiSetParent + Lparameters nHwndChild, nHwndNewParent + Declare Integer SetParent In win32api As apiSetParent ; + Integer nHwndChild, ; + Integer nHwndNewParent + Return apiSetParent(m.nHwndChild, m.nHwndNewParent) +Endfunc + +Function apiSetProp + Lparameters nhWnd, lpString, hData + Declare Integer SetProp In win32api As apiSetProp ; + Integer nhWnd, ; + String lpString, ; + Integer hData + Return apiSetProp(m.nhWnd, m.lpString, m.hData) +Endfunc + +Function apiSetScrollInfo + Lparameters nhWnd, fnBar, lpsi, fRedraw + Declare Integer SetScrollInfo In win32api As apiSetScrollInfo ; + Integer nhWnd, ; + Integer fnBar, ; + Integer lpsi, ; + Integer fRedraw + Return apiSetScrollInfo(m.nhWnd, m.fnBar, m.lpsi, m.fRedraw) +Endfunc + +Function apiSetTimer + Lparameters nhWnd, nIDEvent, uElapse, lpTimerFunc + Declare Integer SetTimer In win32api As apiSetTimer ; + Integer nhWnd, ; + Integer nIDEvent, ; + Integer uElapse, ; + Integer lpTimerFunc + Return apiSetTimer(m.nhWnd, m.nIDEvent, m.uElapse, m.lpTimerFunc) +Endfunc + +Function apiSetWindowLong + Lparameters nhWnd, nIndex, dwNewLong + Declare Integer SetWindowLong In win32api As apiSetWindowLong ; + Integer nhWnd, ; + Integer nIndex, ; + Integer dwNewLong + Return apiSetWindowLong(m.nhWnd, m.nIndex, m.dwNewLong) +Endfunc + +Function apiSetWindowPlacement + Lparameters nhWnd, lpwndpl + Declare Integer SetWindowPlacement In win32api As apiSetWindowPlacement; + Integer nhWnd, ; + Integer lpwndpl + Return apiSetWindowPlacement(m.nhWnd, m.lpwndpl) +Endfunc + +Function apiSetWindowPos + Lparameters nhWnd, nHwndInsertAfter, nx, ny, cx, cy, wFlags + Declare Integer SetWindowPos In win32api As apiSetWindowPos ; + Integer nhWnd, ; + Integer nHwndInsertAfter, ; + Integer nx, ; + Integer ny, ; + Integer cx, ; + Integer cy, ; + Integer wFlags + Return apiSetWindowPos(m.nhWnd, m.nHwndInsertAfter, m.nx, m.ny, m.cx, m.cy, m.wFlags) +Endfunc + +Function apiSetWindowRgn + Lparameters nhWnd, hRgn, bRedraw + Declare Integer SetWindowRgn In win32api As apiSetWindowRgn ; + Integer nhWnd, ; + Integer hRgn, ; + Integer bRedraw + Return apiSetWindowRgn(m.nhWnd, m.hRgn, m.bRedraw) +Endfunc + +Function apiSetWindowText + Lparameters nhWnd, lpString + Declare Integer SetWindowText In win32api As apiSetWindowText ; + Integer nHwnd, ; + String lpString + Return apiSetWindowText(m.nhWnd, m.lpString) +Endfunc + +Function apiSetWindowTheme + Lparameters nhWnd, pszSubAppName, pszSubIdList + If ctlGetOsVersion() >= NTDDI_WINXP + Declare Integer SetWindowTheme In uxtheme As apiSetWindowTheme ; + Integer nhWnd, ; + String pszSubAppName, ; + String pszSubIdList + Return apiSetWindowTheme(m.nhWnd, m.pszSubAppName, m.pszSubIdList) + Else + Return 0 + Endif +Endfunc + +Function apiSHBrowseForFolder + Lparameters lpbi + Declare Integer SHBrowseForFolder In shell32.Dll As apiSHBrowseForFolder ; + Integer lpbi + Return apiSHBrowseForFolder(m.lpbi) +Endfunc + +Function apiSHDeleteKey + Lparameters hKey, pszSubKey + Declare Integer SHDeleteKey In shlwapi As apiSHDeleteKey ; + Integer hkey, ; + String pszSubKey + Return apiSHDeleteKey(m.hKey, m.pszSubKey) +Endfunc + +Function apiShellExecute + Lparameters nhWnd, lpOperation, lpFile, lpParameters, lpDirectory, nShowCmd + Declare Integer ShellExecute In win32api As apiShellExecute ; + Integer nhWnd, ; + String lpOperation, ; + String lpFile, ; + String lpParameters, ; + String lpDirectory, ; + Integer nShowCmd + Return apiShellExecute(m.nhWnd, m.lpOperation, m.lpFile, m.lpParameters, m.lpDirectory, m.nShowCmd) +Endfunc + +Function apiSHGetFolderLocation + Lparameters hwndOwner, nFolder, hToken, dwReserved, ppidl + Declare Integer SHGetFolderLocation In shell32.Dll As apiSHGetFolderLocation ; + Integer hwndOwner, ; + Integer nFolder, ; + Integer hToken, ; + Integer dwReserved, ; + Integer @ppidl + Return apiSHGetFolderLocation(m.hwndOwner, m.nFolder, m.hToken, m.dwReserved, @m.ppidl) +Endfunc + +Function apiSHGetFolderPath + Lparameters nHwndOwner, nFolder, hToken, dwFlags, pszPath + Declare Integer SHGetFolderPath In shfolder As apiSHGetFolderPath ; + Integer nHwndOwner, ; + Integer nFolder, ; + Integer hToken, ; + Integer dwFlags, ; + String @pszPath + Return apiSHGetFolderPath(m.nHwndOwner, m.nFolder, m.hToken, m.dwFlags, @m.pszPath) +Endfunc + +Function apiSHGetKnownFolderPath + *!* WINDOWS VISTA ONLY + Lparameters rfid, dwFlags, hToken, ppszPath + Declare Integer SHGetKnownFolderPath In shell32.Dll As apiSHGetKnownFolderPath ; + String rfid, ; + Integer dwFlags, ; + Integer hToken, ; + Integer @ppszPath + Return apiSHGetKnownFolderPath(m.rfid, m.dwFlags, m.hToken, @m.ppszPath) +Endfunc + +Function apiSHGetNameFromIDList + Lparameters pidl, sigdnName, ppszName + Declare Integer SHGetNameFromIDList In shell32.Dll As apiSHGetNameFromIDList ; + Integer pidl, ; + Integer sigdnName, ; + Integer @ppszName + Return apiSHGetNameFromIDList(m.pidl, m.sigdnName, @m.ppszName) +Endfunc + +Function apiSHGetPathFromIDList + Lparameters pidl, pszPath + Declare Integer SHGetPathFromIDList In Shell32.Dll As apiSHGetPathFromIDList ; + Integer pidl, ; + String @pszPath + Return apiSHGetPathFromIDList(m.pidl, @m.pszPath) +Endfunc + +Function apiShowScrollBar + Lparameters nhWnd, wBar, bShow + Declare Integer ShowScrollBar In win32api As apiShowScrollBar ; + Integer nhWnd, ; + Integer wBar, ; + Integer bShow + Return apiShowScrollBar(m.nhWnd, m.wBar, m.bShow) +Endfunc + +Function apiShowWindow + Lparameters nhWnd, nCmdShow +*#beautify keyword_nochange + Declare Integer ShowWindow In win32api As apiShowWindow ; + Integer nhWnd, ; + Integer nCmdShow +*#beautify + Return apiShowWindow(m.nhWnd, m.nCmdShow) +Endfunc + +Function apiStartDocPrinter + Lparameters hPrinter, nLevel, pDocInfo + Declare Integer StartDocPrinter In winspool.drv As apiStartDocPrinter ; + Integer hPrinter, ; + Integer nLevel, ; + String pDocInfo + Return apiStartDocPrinter(m.hPrinter, m.nLevel, m.pDocInfo) +Endfunc + +Function apiStrFormatByteSize + Lparameters dw, szBuf, uiBufSize + Declare Integer StrFormatByteSize In shlwapi As apiStrFormatByteSize; + Integer dw, ; + String @szBuf, ; + Integer uiBufSize + Return apiStrFormatByteSize(m.dw, @m.szBuf, m.uiBufSize) +Endfunc + +Function apiStrFormatByteSize64 + Lparameters dw, szBuf, uiBufSize + Declare Integer StrFormatByteSize64 In shlwapi As apiStrFormatByteSize64; + Integer dw, ; + String @szBuf, ; + Integer uiBufSize + Return apiStrFormatByteSize64(m.dw, @m.szBuf, m.uiBufSize) +Endfunc + +Function apiStringFromGUID2 + Lparameters rguid, lpsz, cchMax + Declare Integer StringFromGUID2 In ole32 As apiStringFromGUID2; + String rguid, ; + String @lpsz, ; + Integer cchMax + Return apiStringFromGUID2(m.rguid, @m.lpsz, m.cchMax) +Endfunc + +Function apiSwitchToThisWindow + Lparameters nhWnd, fAltTab + Declare SwitchToThisWindow In win32api As apiSwitchToThisWindow ; + Integer nhWnd, ; + Integer fAltTab + Return apiSwitchToThisWindow(m.nhWnd, m.fAltTab) +Endfunc + +Function apiSystemParametersInfo + Lparameters uiAction, uiParam, pvParam, fWinIni + Declare Integer SystemParametersInfo In win32api As apiSystemParametersInfo ; + Integer uiAction, ; + Integer uiParam, ; + String @pvParam, ; + Integer fWinIni + Return apiSystemParametersInfo(m.uiAction, m.uiParam, @m.pvParam, m.fWinIni) +Endfunc + +Function apiTrackPopupMenuEx + Lparameters hMenu, fuFlags, nx, ny, nhWnd, lptpm + Declare Integer TrackPopupMenuEx In win32api As apiTrackPopupMenuEx; + Integer hMenu, ; + Integer fuFlags, ; + Integer nX, ; + Integer nY, ; + Integer nhWnd, ; + String @lptpm + Return apiTrackPopupMenuEx(m.hMenu, m.fuFlags, m.nx, m.ny, m.nhWnd, @m.lptpm) +Endfunc + +Function apiURLDownloadToFile + Lparameters pCaller, szURL, szFileName, dwReserved, lpfnCB + Declare Integer URLDownloadToFile In urlmon As apiURLDownloadToFile; + Integer pCaller, ; + String szURL, ; + String szFileName, ; + Integer dwReserved, ; + Integer lpfnCB + Return apiURLDownloadToFile(m.pCaller, m.szURL, m.szFileName, m.dwReserved, m.lpfnCB) +Endfunc + +Function apiUuidCreate + Lparameters Uuid + Declare Integer UuidCreate In rpcrt4 As apiUuidCreate ; + String @Uuid + Return apiUuidCreate(@m.Uuid) +Endfunc + +Function apiUuidCreateNil + Lparameters Nil_Uuid + Declare Integer UuidCreateNil In rpcrt4 As apiUuidCreateNil ; + String @Nil_Uuid + Return apiUuidCreate(@m.Nil_Uuid) +Endfunc + +Function apiUuidCreateSequential + Lparameters Uuid + Declare Integer UuidCreateSequential In rpcrt4 As apiUuidCreateSequential ; + String @Uuid + Return apiUuidCreateSequential(@m.Uuid) +Endfunc + +Function apiUuidFromString + Lparameters StringUuid, Uuid + Declare Integer UuidFromString In rpcrt4 As apiUuidFromString ; + String StringUuid, ; + String @Uuid + Return apiUuidFromString(m.StringUuid, @m.Uuid) +Endfunc + +Function apiUuidToString + Lparameters Uuid, StringUuid + Declare Integer UuidToString In rpcrt4 As apiUuidToString ; + String Uuid, ; + Integer @StringUuid + Return apiUuidToString(m.Uuid, @m.StringUuid) +Endfunc + +Function apiWindowFromPoint + Lparameters pointx, pointy + Declare Integer WindowFromPoint In win32api As apiWindowFromPoint ; + Integer PointX, ; + Integer PointY + Return apiWindowFromPoint(m.pointx, m.pointy) +Endfunc + +Function apiWriteFile + Lparameters hFile, lpBuffer, nNumberOfBytesToWrite, lpNumberOfBytesWritten, lpOverlapped + Declare Integer WriteFile In win32api As apiWriteFile ; + Integer hFile, ; + String lpBuffer, ; + Integer nNumberOfBytesToWrite, ; + Integer @lpNumberOfBytesWritten, ; + Integer lpOverlapped + Return apiWriteFile(m.hFile, m.lpBuffer, m.nNumberOfBytesToWrite, @m.lpNumberOfBytesWritten, m.lpOverlapped) +Endfunc + +Function apiWritePrinter + Lparameters hPrinter, pBuf, cbBuf, pcWritten + Declare Integer WritePrinter In winspool.drv As apiWritePrinter; + Integer hPrinter, ; + String pBuf, ; + Integer cbBuf, ; + Integer @pcWritten + Return apiWritePrinter(m.hPrinter, m.pBuf, m.cbBuf, @m.pcWritten) +Endfunc + +Function apiWritePrivateProfileString + Lparameters lpAppName, lpKeyName, lpString, lpFileName + Declare Integer WritePrivateProfileString In win32api As apiWritePrivateProfileString ; + String lpAppName, ; + String lpKeyName, ; + String lpString, ; + String lpFileName + Return apiWritePrivateProfileString(m.lpAppName, m.lpKeyName, m.lpString, m.lpFileName) +Endfunc + diff --git a/utile/ctl32/ctl32_balloontip.vc2 b/utile/ctl32/ctl32_balloontip.vc2 new file mode 100644 index 0000000..b6e326d --- /dev/null +++ b/utile/ctl32/ctl32_balloontip.vc2 @@ -0,0 +1,1433 @@ +*-------------------------------------------------------------------------------------------------------------------------------------------------------- +* (EN) AUTOGENERATED - ATTENTION!! - NOT INTENDED FOR EXECUTION!! USE ONLY FOR MERGING CHANGES AND STORING WITH SCM TOOLS!! +*-------------------------------------------------------------------------------------------------------------------------------------------------------- +*< FOXBIN2PRG: Version="1.21" SourceFile="ctl32_balloontip.vcx" CPID="1252" /> (Solo para binarios VFP 9 / Only for VFP 9 binaries) +* +* +DEFINE CLASS ctl32_balloontip AS container + *< CLASSDATA: Baseclass="container" Timestamp="" Scale="Pixels" Uniqueid="" /> + + *-- OBJECTDATA items order determines ZOrder / El orden de los items OBJECTDATA determina el ZOrder + *< OBJECTDATA: ObjPath="tmrHide" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="lblname" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="tmrShow" UniqueID="" Timestamp="" /> + + #INCLUDE "ctl32.h" + * + *m: ctl32_addproperties + *m: ctl32_bindevents + *m: ctl32_create + *m: ctl32_declaredlls + *m: ctl32_seticonandtitle + *m: ctl32_setlangstrings + *m: ctlactive_assign + *m: ctlcapslockstyle_assign + *m: ctlclosebutton_assign + *m: ctlfadein_assign + *m: ctlfadeout_assign + *m: ctlhide + *m: ctlhidedelay_assign + *m: ctlhwnd_access + *m: ctlhwnd_assign + *m: ctliconlarge_assign + *m: ctlicon_assign + *m: ctllangid_assign + *m: ctllink_access + *m: ctlmargin_assign + *m: ctlmaxwidth_assign + *m: ctlopenlink + *m: ctlstyle_assign + *m: ctltext_assign + *m: ctltitle_assign + *m: ctlvisible_assign + *m: evthandler_form_moved + *m: evthandler_form_resize + *m: evthandler_form_wm_keydown + *m: evthandler_host_wm_lbuttondown + *m: evthandler_host_wm_notify + *m: evthandler_screen_moved + *p: ctlabout + *p: ctlactive + *p: ctlcapslockstyle + *p: ctlclosebutton + *p: ctlcontrol + *p: ctlfadein + *p: ctlfadeout + *p: ctlhidedelay + *p: ctlhwnd && Specifies the Window handle of the Window. + *p: ctlicon + *p: ctliconlarge + *p: ctllangid + *p: ctlleft + *p: ctllink + *p: ctllinklabel + *p: ctllinkurl + *p: ctlmargin && Sets the top, left, bottom, and right margins for a ToolTip window. A margin is the distance, in pixels, between the ToolTip window border and the text contained within the ToolTip window. + *p: ctlmaxwidth && Sets the maximum width for a ToolTip window. + *p: ctlpositionstyle + *p: ctlstyle && 0 = Balloon; 1 = Rectangular; 2 = Rectangular with no borders + *p: ctltext + *p: ctltitle + *p: ctltop + *p: ctlversion + *p: ctlvisible + *p: _memberdata && XML Metadata for customizable properties + * + + * + BackColor = 140,200,200 + ctlabout = ctl32_scontainer - Carlos Alloatti. + ctlactive = .T. + ctlcapslockstyle = .F. + ctlclosebutton = .F. + ctlcontrol = + ctlfadein = .F. + ctlfadeout = .F. + ctlhidedelay = 5000 + ctlhwnd = 0 + ctlicon = 0 + ctliconlarge = .F. + ctllangid = 0 + ctlleft = 0 + ctllink = + ctllinklabel = + ctllinkurl = + ctlmargin = 0 + ctlmaxwidth = 256 + ctlpositionstyle = 1 + ctlstyle = 1 + ctltext = BalloonTip text + ctltitle = BalloonTip title + ctltop = 0 + ctlversion = 20061010 + ctlvisible = .F. + ForeColor = 255,0,245 + Height = 48 + Name = "ctl32_balloontip" + Visible = .F. + Width = 120 + * + + ADD OBJECT 'lblname' AS label WITH ; + AutoSize = .T., ; + BackStyle = 0, ; + Caption = "ctl32_balloontip", ; + FontName = "Tahoma", ; + FontSize = 8, ; + ForeColor = 0,0,128, ; + Height = 15, ; + Left = 6, ; + Name = "lblname", ; + Top = 3, ; + Width = 77 + *< END OBJECT: BaseClass="label" /> + + ADD OBJECT 'tmrHide' AS timer WITH ; + Enabled = .F., ; + Height = 23, ; + Interval = 0, ; + Left = 120, ; + Name = "tmrHide", ; + Top = 0, ; + Width = 23 + *< END OBJECT: BaseClass="timer" /> + + ADD OBJECT 'tmrShow' AS ctl32_balloontip_show WITH ; + Enabled = .F., ; + Interval = 200, ; + Left = 192, ; + Name = "tmrShow" + *< END OBJECT: ClassLib="ctl32_balloontip.vcx" BaseClass="timer" /> + + HIDDEN PROCEDURE ctl32_addproperties + *!* Here we add properties to the class that will be used internally + + *!* This will hold an object reference to a custom icon to display in balloontip + This.AddProperty([oIcon], Null) + + *!* Add oToolInfo property with TOOLINFO structure value + This.AddProperty([oToolInfo], Newobject([_ToolInfo], [ctl32_structs.vcx])) + + This.AddProperty([oRect], Newobject([_Rect], [ctl32_structs.vcx])) + + *!* Add Macros object + This.AddProperty([oMacros], Newobject([_Macros], [ctl32_structs.vcx])) + + *!* Used by evtHandler_WM_NOTIFY + This.Addproperty([loNmhdr],Newobject([_Nmhdr], [ctl32_structs.vcx])) + + *!* Stores the hWnd of the host window + This.AddProperty([nHosthWnd], This.oUtil._HostHWnd()) + + *!* Indicates we are in the creation stage + This.AddProperty([lCreating], FALSE) + + *!* Stores the value of VFP window procedure + This.Addproperty([nVFPWndProc], This.oUtil._VFPWndProc()) + + *!* Stores hWnd of Windows common control created by the class + This.AddProperty([nCtlHwnd], 0) + + *!* These 2 properties hold the title and text for the capslock balloontip + This.AddProperty([cLangTitle], []) + This.AddProperty([cLangText], []) + + + ENDPROC + + HIDDEN PROCEDURE ctl32_bindevents + + Bindevent(Thisform, [RESIZE], This, [EvtHandler_Form_Resize], 1) + Bindevent(Thisform, [MOVED], This, [EvtHandler_Form_Moved], 1) + Bindevent(_Screen, [MOVED], This, [EvtHandler_Screen_Moved], 1) + + Bindevent(Thisform.HWnd, WM_KEYDOWN, This, [EvtHandler_Form_WM_KEYDOWN], 1) + Bindevent(This.nHosthWnd, WM_LBUTTONDOWN, This, [EvtHandler_Host_WM_LBUTTONDOWN], 1) + + *!* Catch clicks in links + Bindevent(This.nHosthWnd, WM_NOTIFY, This, [EvtHandler_Host_WM_NOTIFY], 1) + + + ENDPROC + + HIDDEN PROCEDURE ctl32_create + *!* This procedure creates the Window common control and sets its initial properties + + With This + + *!* Destroy current tooltip window if present + If .nCtlHwnd <> 0 Then + DestroyWindow(.nCtlHwnd) + .nCtlHwnd = 0 + Endif + + .lCreating = TRUE + + *!* Set CreateWindowEx parameters + m.dwExStyle = 0 + m.lpClassName = TOOLTIPS_CLASSA + m.lpWindowName = [] + + m.dwStyle = Bitor(WS_POPUP, TTS_NOANIMATE) + + If .ctlStyle = CON_STYLE_BALLOON + m.dwStyle = Bitor(m.dwStyle, TTS_BALLOON) + Endif + + If .ctlCloseButton = TRUE Then + m.dwStyle = Bitor(m.dwStyle, TTS_CLOSE) + Endif + + If .ctlFadeIn = FALSE Then + m.dwStyle = Bitor(m.dwStyle, TTS_NOFADE) + Endif + + m.hWndParent = 0 + + m.hMenu = 0 + m.hInstance = This.oUtil._HInstance() + m.lpParam = 0 + + .nCtlHwnd = CreateWindowEx( ; + m.dwExStyle, ; + m.lpClassName, ; + m.lpWindowName, ; + m.dwStyle, ; + CW_USEDEFAULT, ; + CW_USEDEFAULT, ; + CW_USEDEFAULT, ; + CW_USEDEFAULT, ; + m.hWndParent, ; + m.hMenu, ; + m.hInstance, ; + m.lpParam) + + *!* Add TOOL + .oToolInfo._uFlags = Bitor(TTF_IDISHWND, TTF_TRACK, TTF_TRANSPARENT, TTF_PARSELINKS, TTF_BITMAP) + + If .ctlStyle <> CON_STYLE_BALLOON Then && Not balloon style + .oToolInfo._uFlags = Bitor(.oToolInfo._uFlags, TTF_ABSOLUTE) + Endif + + .oToolInfo._hWnd = This.nHosthWnd + .oToolInfo._hInst = 0 + .oToolInfo._uId = This.nHosthWnd + .oToolInfo._Left = 0 + .oToolInfo._Top = 0 + .oToolInfo._Right = 0 + .oToolInfo._Bottom = 0 + + .oToolInfo._lpszTextString = 0h00 + .oToolInfo._lParam = 0 + + m.lcToolInfo = .oToolInfo._Struct + + SendMessageC(.nCtlHwnd, TTM_ADDTOOLA, 0, @m.lcToolInfo) + + This.ctlIcon = This.ctlIcon && also assigns _tiptitle + This.ctlText = This.ctlText + This.ctlHideDelay = This.ctlHideDelay + This.ctlMaxWidth = This.ctlMaxWidth + This.ctlMargin = This.ctlMargin + + If .ctlStyle = CON_STYLE_NOBORDER Then + *!* Borders have no effect on Vista + If This.oUtil._OSVersion() < CON_OS_WINVISTA Then + m.dwStyle = GetWindowLong(.ctlHWnd, GWL_EXSTYLE) + + m.dwStyle = Bitclear(m.dwStyle, CON_BIT_WS_BORDER) + + *!* Have to remove TTS_CLOSE button: + If .ctlCloseButton = FALSE Then + m.dwStyle = Bitclear(m.dwStyle, CON_BIT_TTS_CLOSE) + Endif + + SetWindowLong(.ctlHWnd, GWL_STYLE, m.dwStyle) + + *!* This makes the window "refresh" + SetWindowPos(.ctlHWnd, ; + 0, ; + 0, ; + 0, ; + 0, ; + 0, ; + BITOR(SWP_NOMOVE, SWP_NOSIZE, SWP_NOZORDER, SWP_NOACTIVATE, SWP_FRAMECHANGED)) + Endif + Endif + + .lCreating = FALSE + Endwith + + + ENDPROC + + HIDDEN PROCEDURE ctl32_declaredlls + *!* This procedure registers the Windows API functions used by the class + *!* An array of existing declared API functions is created and checked to + *!* prevent re-declaration of API functions. + *!* When a function is used with an ALIAS, it is first declared with an ALIAS + *!* equal to the original name, and then declared again with the desired alias. + *!* This is because of a bug in VFP: + + *!* If you declare an API function with an alias, and later declare the same api + *!* function without an alias, the first aliased declaration dissapears. + + *!* We create an empty array first because if there are no API declarations + *!* adlls will not create the array and ascan will fail + + Local Array laDeclaredDlls(1,3) + Local lnLen + m.lnLen = Adlls(m.laDeclaredDlls) + + *!* win32api is used instead of the library name, check these: + *!* blogs.msdn.com/calvin_hsia/archive/2006/04/27/585305.aspx + *!* blogs.msdn.com/calvin_hsia/archive/2006/04/24/582479.aspx + *!* "User32.dll, Gdi32.dll, Kernel32.dll , Advapi32.dll and Mpr.dll are searched (in that order)" + + If Ascan(m.laDeclaredDlls, [CallWindowProc], 1, m.lnLen , 2, 15) = 0 + Declare Integer CallWindowProc In win32api ; + Integer lpPrevWndFunc,; + Integer HWnd,; + Integer msg,; + Integer wParam,; + Integer Lparam + Endif + + If Ascan(m.laDeclaredDlls, [ClientToScreen], 1, m.lnLen , 2, 15) = 0 + Declare Integer ClientToScreen In win32api ; + Integer HWnd, ; + String @ lpPoint + Endif + + If Ascan(m.laDeclaredDlls, [CreateWindowEx], 1, m.lnLen , 2, 15) = 0 + Declare Integer CreateWindowEx In win32api As CreateWindowEx ; + Integer dwExStyle,; + String lpClassName,; + String lpWindowName,; + Integer dwStyle,; + Integer x,; + Integer Y,; + Integer nWidth,; + Integer nHeight,; + Integer hWndParent,; + Integer hMenu,; + Integer hInstance,; + Integer lpParam + Endif + + If Ascan(m.laDeclaredDlls, [DestroyWindow], 1, m.lnLen , 2, 15) = 0 + Declare Integer DestroyWindow In win32api As DestroyWindow ; + Integer HWnd + Endif + + If Ascan(m.laDeclaredDlls, [GetCaretPos], 1, m.lnLen , 2, 15) = 0 + Declare Integer GetCaretPos In win32api ; + String @ lpPoint + Endif + + If Ascan(m.laDeclaredDlls, [GetCursorPos], 1, m.lnLen , 2, 15) = 0 + Declare Integer GetCursorPos In win32api ; + String @ lpPoint + Endif + + If Ascan(m.laDeclaredDlls, [GetKeyState], 1, m.lnLen , 2, 15) = 0 + Declare Integer GetKeyState In win32api ; + Integer nVirtKey + Endif + + If Ascan(m.laDeclaredDlls, [GetLocaleInfo], 1, m.lnLen , 2, 15) = 0 + Declare Integer GetLocaleInfo In win32api ; + Integer Locale, ; + Integer LCType, ; + String lpLCData, ; + Integer cchData + Endif + + If Ascan(m.laDeclaredDlls, "GetSysColor", 1, m.lnLen , 2, 15) = 0 + Declare Integer GetSysColor In win32api ; + Integer nIndex + Endif + + If Ascan(m.laDeclaredDlls, [GetWindowLong], 1, m.lnLen , 2, 15) = 0 + Declare Integer GetWindowLong In win32api As GetWindowLong; + Integer HWnd, ; + Integer nIndex + Endif + + If Ascan(m.laDeclaredDlls, [GetWindowRect], 1, m.lnLen , 2, 15) = 0 + Declare Integer GetWindowRect In win32api ; + integer HWnd,; + string @ lcRect + Endif + + If Ascan(m.laDeclaredDlls, [ScreenToClient], 1, m.lnLen , 2, 15) = 0 + Declare Integer ScreenToClient In win32api ; + Integer HWnd,; + string @ lpPoint + Endif + + If Ascan(m.laDeclaredDlls, [SendMessage], 1, m.lnLen , 2, 15) = 0 + Declare Integer SendMessage In win32api As SendMessage ; + Integer HWnd,; + Integer Msg,; + Integer wParam,; + Integer Lparam + Endif + + If Ascan(m.laDeclaredDlls, [SendMessageC], 1, m.lnLen , 2, 15) = 0 + Declare Integer SendMessage In win32api As SendMessageC ; + Integer HWnd,; + Integer Msg,; + Integer wParam,; + String @ Lparam + Endif + + If Ascan(m.laDeclaredDlls, [SendMessageN], 1, m.lnLen , 2, 15) = 0 + Declare Integer SendMessage In win32api As SendMessageN ; + Integer HWnd,; + Integer Msg,; + Integer wParam,; + Integer Lparam + Endif + + If Ascan(m.laDeclaredDlls, [SetWindowLong], 1, m.lnLen , 2, 15) = 0 + Declare Integer SetWindowLong In win32api ; + Integer HWnd,; + Integer nIndex,; + Integer dwNewLong + Endif + + If Ascan(m.laDeclaredDlls, [SetWindowPos], 1, m.lnLen , 2, 15) = 0 + Declare Integer SetWindowPos In win32api As SetWindowPos; + Integer HWnd,; + Integer hWndInsertAfter,; + Integer x,; + Integer Y,; + Integer cx,; + Integer cy,; + Integer wFlags + Endif + + If Ascan(m.laDeclaredDlls, [ShellExecute], 1, m.lnLen , 2, 15) = 0 + Declare Integer ShellExecute In shell32 ; + Integer HWnd,; + String @ lpOperation,; + String @ lpFile,; + String @ lpParameters,; + String @ lpDirectory,; + Integer nShowCmd + Endif + + *!* We must prevent Beautify from changing the case of "ShowWindow" since its also a VFP keyword + *#beautify keyword_nochange + If Ascan(m.laDeclaredDlls, [ShowWindow], 1, m.lnLen , 2, 15) = 0 + Declare Integer ShowWindow In win32api As ShowWindow ; + Integer HWnd,; + Integer nCmdShow + Endif + + If Ascan(m.laDeclaredDlls, [_ShowWindow], 1, m.lnLen , 2, 15) = 0 + Declare Integer ShowWindow In win32api As _ShowWindow ; + Integer HWnd,; + Integer nCmdShow + Endif + *#beautify + + If Ascan(m.laDeclaredDlls, [WindowFromPoint], 1, m.lnLen , 2, 15) = 0 + Declare Integer WindowFromPoint In win32api; + Integer xPoint,; + Integer yPoint + Endif + + ENDPROC + + HIDDEN PROCEDURE ctl32_seticonandtitle + Local lnIcon, lcText + + m.lnIcon = This.ctlIcon + + *!* Check if a large icon is desired + If This.oUtil._OSVersion() >= CON_OS_WINVISTA And This.ctlIconLarge = TRUE Then + If Between(m.lnIcon, 1, 3) Then + m.lnIcon = m.lnIcon + 3 + Endif + Endif + + m.lctitle = Alltrim(Transform(This.ctlTitle, [@T])) + + If Empty(m.lctitle) And This.ctlIcon > 0 Then + m.lctitle = [ ] + Endif + + m.lctitle = m.lctitle + 0h00 + + SendMessageC(This.nCtlHwnd, TTM_SETTITLEA, m.lnIcon, @m.lctitle) + + ENDPROC + + HIDDEN PROCEDURE ctl32_setlangstrings + *!* http://msdn.microsoft.com/library/default.asp?url=/library/en-us/intl/nls_34rz.asp + *!* http://msdn.microsoft.com/library/default.asp?url=/library/en-us/intl/nls_8xo3.asp + *!* http://msdn.microsoft.com/library/default.asp?url=/library/en-us/intl/nls_61df.asp + *!* Sets the value of strings that are language dependant. + + Local lcLocaleInfo As Character, ; + lnCharsRet As Number, ; + lcTitle As Character ; + lcText As Character, ; + lnLangID As Number, ; + lnPrimaryLangID As Number, ; + lnSubLangID As Number + + + If This.ctlLangID = 0x0 Then + m.lcLocaleInfo = Replicate(Chr(0), 5) + m.lnCharsRet = GetLocaleInfo(LOCALE_SYSTEM_DEFAULT , LOCALE_ILANGUAGE, @m.lcLocaleInfo, Len(m.lcLocaleInfo)) + m.lcLocaleInfo = Left(m.lcLocaleInfo, m.lnCharsRet -1) && remove ending chr(0) + m.lnLangID = Evaluate([0x] + m.lcLocaleInfo) + Else + *!* If ctlLangID is <> 0 then it overrides the system locale language + m.lnLangID = This.ctlLangID + Endif + + + m.lnPrimaryLangID = This.oMacros._PRIMARYLANGID(m.lnLangID) + m.lnSubLangID = This.oMacros._SUBLANGID(m.lnLangID) + *!* m.lnLangID = This.oMacros._MAKELANGID(m.lnPrimaryLangID, m.lnSubLangID) + *!* ?Transform(lnPrimaryLangID, [@0]), Transform(m.lnSubLangID, [@0]), Transform(m.lnLangID, [@0]) + + Do Case + Case m.lnPrimaryLangID = LANG_BASQUE && 0x2d + m.lcTitle = "Blok Maius piztuta dago" + m.lcText = "Blok Maius piztuta edukiz gero, zure pasahitza behar ez den bezala sar dezakezu.\r\n\r\nSakatu Blok Maius piztuta egon ez dadila zure pasahitza sartu baino lehen." + + Case m.lnPrimaryLangID = LANG_CATALAN && 0x03 + m.lcTitle = "La tecla Bloq Maj està activada" + m.lcText = "Si teniu la tecla Bloq Maj activada, podríeu introduir la contrasenya incorrectament.\r\n\r\nHauríeu de prémer Bloq Maj per desactivar-la abans d'escriure la vostra contrasenya." + + Case m.lnPrimaryLangID = LANG_CROATIAN And m.lnSubLangID = SUBLANG_CROATIAN_CROATIA && 0x1a 0x01 + m.lcTitle = "Caps Lock je ukljucen" + m.lcText = "Ako je ukljucen Caps Lock može se dogoditi da upišete krivu lozinku.\r\n\r\nTrebate pritisnuti Caps Lock kako biste ga iskljucili prije unosa lozinke." + + Case m.lnPrimaryLangID = LANG_CZECH && 0x05 + m.lcTitle = "Režim Caps Lock je aktivní" + m.lcText = "Zapnutí režimu Caps Lock muže zpusobit nesprávné zadání hesla.\r\n\r\nPred zadáním hesla vypnete režim Caps Lock stisknutím klávesy Caps Lock." + + Case m.lnPrimaryLangID = LANG_DANISH && 0x06 + m.lcTitle = "Caps Lock er slået til" + m.lcText = "Hvis Caps Lock er slået til, kan det det medføre, at adgangskoden bliver skrevet forkert.\r\n\r\nDu bør trykke på Caps Lock for at slå den fra, før du skriver adgangskoden." + + Case m.lnPrimaryLangID = LANG_DUTCH && 0x13 + m.lcTitle = "De toets CapsLock staat aan" + m.lcText = "Als de toets CapsLock is ingeschakeld, wordt het wachtwoord mogelijk onjuist ingevoerd.\r\n\r\nDruk op CapsLock alvorens het wachtwoord in te voeren." + + Case m.lnPrimaryLangID = LANG_ENGLISH && 0x09 + m.lcTitle = "Caps Lock is On" + m.lcText = "Having Caps Lock on may cause you to enter your password incorrectly.\r\n\r\nYou should press Caps Lock to turn it off before entering your password." + + Case m.lnPrimaryLangID = LANG_ESTONIAN && 0x25 + m.lcTitle = "Suurtähelukk on sisse lülitatud" + m.lcText = "Sisselülitatud suurtähelukk võib põhjustada teie parooli vale sisestamise.\r\n\r\nEnne parooli sisestamist peaksite suurtäheluku klahvi Caps Lock vajutamisega välja lülitama." + + Case m.lnPrimaryLangID = LANG_FINNISH && 0x0b + m.lcTitle = "Caps Lock on päällä" + m.lcText = "Jos Caps Lock on päällä salasanan isot ja pienet kirjaimet saattavat vaihtua.\r\n\r\nOta Caps Lock pois päältä ennen salasanan kirjoittamista." + + Case m.lnPrimaryLangID = LANG_FRENCH && 0x0c + m.lcTitle = "La touche Verr. Maj. est active" + m.lcText = "La touche Verr. Maj. est enfoncée, ce qui peut fausser la saisie de votre mot de passe.\r\n\r\nAppuyez sur Verr. Maj. pour la désactiver, puis entrez votre mot de passe." + + Case m.lnPrimaryLangID = LANG_GALICIAN && 0x56 + m.lcTitle = "A tecla Bloq Maiús está activada" + m.lcText = "Coa tecla Bloq Maiús activada é probábel que introduza o seu contrasinal de forma incorrecta.\r\n\r\nPrémaa para a desactivar antes de introducir o seu contrasinal." + + Case m.lnPrimaryLangID = LANG_GERMAN && 0x07 + m.lcTitle = "Feststelltaste ist aktiviert" + m.lcText = "Das Kennwort wird eventuell falsch eingegeben, wenn die Feststelltaste aktiviert ist.\r\n\r\nSie sollten die Feststelltaste deaktivieren, bevor Sie ein Kennwort eingeben." + + Case m.lnPrimaryLangID = LANG_HUNGARIAN && 0x0e + m.lcTitle = "A Caps Lock be van kapcsolva" + m.lcText = "Ha be van kapcsolva a Caps Lock, elofordulhat, hogy hibásan adja meg a jelszót.\r\n\r\nA jelszó beírása elott érdemes kikapcsolnia a Caps Lock billentyu megnyomásával." + + Case m.lnPrimaryLangID = LANG_ICELANDIC && 0x0f + m.lcTitle = "Stafalás er virkur" + m.lcText = "Ef stafalás er virkur gæti aðgangsorð verið fært inn á rangan hátt.\r\n\r\nStyðja ætti á stafalás til að gera hann óvirkan áður en aðgangsorðið er fært inn." + + Case m.lnPrimaryLangID = LANG_INDONESIAN && 0x21 + m.lcTitle = "Caps Lock dalam posisi On" + m.lcText = "Bila Caps Lock dalam posisi ON, ada kemungkinan Anda keliru memasukkan sandi.\r\n\r\nAnda harus menekan Caps Lock untuk mematikannya sebelum memasukkan sandi." + + Case m.lnPrimaryLangID = LANG_ITALIAN && 0x10 + m.lcTitle = "BLOC MAIUSC - Attivato" + m.lcText = "Se il tasto BLOC MAIUSC è attivo può accadere di digitare la password in modo errato.\r\n\r\nPremere il tasto BLOC MAIUSC per disattivarlo prima di digitare la password." + + Case m.lnPrimaryLangID = LANG_LATVIAN && 0x26 + m.lcTitle = "Ir ieslegts taustinš Caps Lock" + m.lcText = "Ja ir ieslegts taustinš Caps Lock, parole, iespejams, tiks ievadita nepareizi.\r\n\r\nLai to izslegtu, pirms paroles ievadišanas taustinš Caps Lock janospiež." + + Case m.lnPrimaryLangID = LANG_LITHUANIAN && 0x27 + m.lcTitle = "Ijungtas mygtukas Caps Lock" + m.lcText = "Jei mygtukas Caps Lock yra ijungtas, del to galite neteisingai ivesti slaptažodi.\r\n\r\nPrieš ivesdami slaptažodi spustelekite mygtuka Caps Lock, kad ji išjungtumete." + + Case m.lnPrimaryLangID = LANG_MALAY && 0x3e + m.lcTitle = "Caps Lock Dipasang" + m.lcText = "Penggunaan Caps Lock mungkin akan menyebabkan anda memasukkan kata laluan yang salah.\r\n\r\nAnda sepatutnya menekan Caps Lock untuk mematikannya sebelum memasukkan kata laluan." + + Case m.lnPrimaryLangID = LANG_NORWEGIAN && 0x14 + m.lcTitle = "Caps Lock er på" + m.lcText = "Hvis Caps Lock er på, kan det føre til at passord skrives inn feil.\r\n\r\nPass på at Caps Lock er slått av før du skriver inn passordet." + + Case m.lnPrimaryLangID = LANG_POLISH && 0x15 + m.lcTitle = "Klawisz Caps Lock jest wlaczony" + m.lcText = "Wpisywanie przy wlaczonym klawiszu Caps Lock moze spowodowac niepoprawne wprowadzenie hasla.\r\n\r\nPrzed wprowadzeniem hasla nacisnij klawisz Caps Lock, aby go wylaczyc." + + Case m.lnPrimaryLangID = LANG_PORTUGUESE And m.lnSubLangID = SUBLANG_PORTUGUESE_BRAZILIAN && 0x16 0x01 + m.lcTitle = "Caps Lock está ativada" + m.lcText = "Se Caps Lock estiver ativado, isso pode fazer com que você digite a senha incorretamente.\r\n\r\nVocê deve pressionar a tecla Caps Lock para desativá-la antes de digitar a senha." + + Case m.lnPrimaryLangID = LANG_PORTUGUESE And m.lnSubLangID = SUBLANG_PORTUGUESE_PORTUGAL && 0x16 0x02 + m.lcTitle = "Caps Lock está ligado" + m.lcText = "Ter Caps Lock ligado pode fazer com que introduza incorrectamente a palavra-passe.\r\n\r\nDeve premir Caps Lock para desactivar antes de introduzir a sua palavra-passe." + + Case m.lnPrimaryLangID = LANG_ROMANIAN && 0x18 + m.lcTitle = "Tasta Caps Lock este activata" + m.lcText = "Daca tasta Caps Lock este activata exista posibilitatea sa introduceti parola incorect.\r\n\r\nApasati tasta Caps Lock pentru a o dezactiva înainte de a introduce parola." + + Case m.lnPrimaryLangID = LANG_SERBIAN And m.lnSubLangID = SUBLANG_SERBIAN_LATIN && 0x1a 0x02 + m.lcTitle = "Taster Caps Lock je ukljucen" + m.lcText = "Ako je ukljucen taster Caps Lock, može se desiti da unesete pogrešnu lozinku.\r\n\r\nTrebalo bi da pritisnete taster Caps Lock da biste ga iskljucili pre unošenja lozinke." + + Case m.lnPrimaryLangID = LANG_SLOVAK && 0x1b + m.lcTitle = "Kláves Caps Lock je zapnutý" + m.lcText = "Ak je zapnutý kláves Caps Lock, heslo môže byt zadané nesprávne.\r\n\r\nPred zadaním hesla vypnite kláves Caps Lock." + + Case m.lnPrimaryLangID = LANG_SLOVENIAN && 0x24 + m.lcTitle = "Tipka Caps Lock je vkljucena" + m.lcText = "Ce je vkljucena tipka Caps Lock, se lahko zgodi, da boste nepravilno vnesli svoje geslo.\r\n\r\nPreden vnesete geslo, pritisnite tipko Caps Lock, da izklopite funkcijo." + + Case m.lnPrimaryLangID = LANG_SPANISH && 0x0a + m.lcTitle = "Bloq Mayús activado" + m.lcText = "Si tiene activada la tecla Bloq Mayús es posible que escriba incorrectamente su contraseña.\r\n\r\nPresione la tecla Bloq Mayús para desactivarla antes de escribir su contraseña." + + Case m.lnPrimaryLangID = LANG_SWEDISH && 0x1d + m.lcTitle = "Caps Lock är aktiverat" + m.lcText = "Om Caps Lock är aktiverat kanske du skriver in ditt lösenord felaktigt.\r\n\r\nInaktivera Caps Lock innan du anger ditt lösenord." + + Case m.lnPrimaryLangID = LANG_TURKISH && 0x1f + m.lcTitle = "Caps Lock Açik" + m.lcText = "Açik Caps Lock parolanizi yanlis girmenize sebep olabilir.\r\n\r\nParolanizi girmeden önce kapatmak için Caps Lock tusuna basmalisiniz." + + Otherwise + m.lcTitle = "Caps Lock is On" + m.lcText = "Having Caps Lock on may cause you to enter your password incorrectly.\r\n\r\nYou should press Caps Lock to turn it off before entering your password." + + Endcase + + This.cLangTitle = m.lcTitle + This.cLangText = Strtran(m.lcText, [\r\n], CRLF) + + + + ENDPROC + + HIDDEN PROCEDURE ctlactive_assign + Lparameters vNewVal + + If Type([m.vNewVal]) = T_NUMERIC Then + If m.vNewVal = 0 Then + m.vNewVal = FALSE + Else + m.vNewVal = TRUE + Endif + Endif + + This.ctlActive = m.vNewVal + + If This.nCtlHwnd = 0 Then + Return + Endif + + If This.ctlCapsLockStyle And This.ctlActive And Capslock() Then + This.ctlVisible = TRUE + Endif + + *!* Hide if not Active + If This.ctlActive = FALSE Then + This.ctlVisible = FALSE + Else + SendMessage(This.nCtlHwnd, TTM_ACTIVATE, 1, 0) + Endif + + + ENDPROC + + HIDDEN PROCEDURE ctlcapslockstyle_assign + Lparameters vNewVal + + If Type([m.vNewVal]) = T_NUMERIC Then + If m.vNewVal = 0 Then + m.vNewVal = FALSE + Else + m.vNewVal = TRUE + Endif + Endif + + This.ctlCapsLockStyle = m.vNewVal + + If This.ctlCapsLockStyle Then + This.ctlVisible = FALSE + *!* Set HideDelay + This.ctlHideDelay = 5000 + + *!* Set TipPositionStyle to CARET + This.ctlPositionStyle = CON_BTPOS_CARET + + *!* Set Icon + This.ctlIcon = TTI_WARNING + + *!* Set title and text + This.ctlTitle = This.cLangTitle + This.ctlText = This.cLangText + Else + This.ctlVisible = FALSE + Endif + + If This.ctlCapsLockStyle And This.ctlActive And Capslock() Then + This.ctlVisible = TRUE + Endif + + ENDPROC + + HIDDEN PROCEDURE ctlclosebutton_assign + Lparameters vNewVal + + If Type([m.vNewVal]) = T_NUMERIC Then + If m.vNewVal = 0 Then + m.vNewVal = FALSE + Else + m.vNewVal = TRUE + Endif + ENDIF + + This.ctlCloseButton = m.vNewVal + + *!* Recreate BalloonTip + This.ctl32_Create() + + + ENDPROC + + HIDDEN PROCEDURE ctlfadein_assign + Lparameters vNewVal + + If Type([m.vNewVal]) = T_NUMERIC Then + If m.vNewVal = 0 Then + m.vNewVal = FALSE + Else + m.vNewVal = TRUE + Endif + Endif + + This.ctlFadeIn = m.vNewVal + + *!* Recreate BalloonTip + This.ctl32_Create() + + + ENDPROC + + HIDDEN PROCEDURE ctlfadeout_assign + Lparameters vNewVal + + If Type([m.vNewVal]) = T_NUMERIC Then + If m.vNewVal = 0 Then + m.vNewVal = FALSE + Else + m.vNewVal = TRUE + Endif + Endif + + This.ctlfadeout = m.vNewVal + + ENDPROC + + PROCEDURE ctlhide + Lparameters tnHideStyle As Integer + + Do Case + Case m.tnHideStyle = -1 && Link CLICKED + This.ctlOpenLink() + + Case m.tnHideStyle = 0 && Hide Delay timeout + Case m.tnHideStyle = 1 && Inside BalloonTip + Case m.tnHideStyle = 2 && Outside BalloonTip + Case m.tnHideStyle = 3 && X Close Button + Case m.tnHideStyle = 4 && Key Pressed + Case m.tnHideStyle = 5 && CAPS LOCK key set to off + Case m.tnHideStyle = 6 && Form moved, resized + Endcase + ENDPROC + + HIDDEN PROCEDURE ctlhidedelay_assign + Lparameters vNewVal + + If m.vNewVal < 0 Then + m.vNewVal = 0 + Endif + + This.ctlHideDelay = m.vNewVal + This.tmrHide.Interval = m.vNewVal + + + ENDPROC + + HIDDEN PROCEDURE ctlhwnd_access + Return This.nCtlHwnd + + ENDPROC + + HIDDEN PROCEDURE ctlhwnd_assign + Lparameters vNewVal + Return + + + ENDPROC + + HIDDEN PROCEDURE ctliconlarge_assign + Lparameters vNewVal + + If Type([m.vNewVal]) = T_NUMERIC Then + If m.vNewVal = 0 Then + m.vNewVal = FALSE + Else + m.vNewVal = TRUE + Endif + Endif + + If This.ctlIconLarge <> m.vNewVal Then + This.ctlIconLarge = m.vNewVal + This.ctl32_SetIconAndTitle() + Endif + + + + ENDPROC + + HIDDEN PROCEDURE ctlicon_assign + Lparameters vNewVal + + If Type([m.vNewVal]) = T_NUMERIC Then + If m.vNewVal < 0 Then + m.vNewVal = 0 + Endif + If m.vNewVal > 3 Then + m.vNewVal = 0 + Endif + Endif + + This.ctlIcon = m.vNewVal + + If This.nCtlHwnd = 0 Then + Return + Endif + + This.oIcon = Null + + If Type([This.ctlIcon]) = T_CHARACTER Then + If This.oUtil._OSVersion() >= CON_OS_WINXPSP2 Then && Custom icons only work in xp sp2 and up + If File(This.ctlIcon) Then + This.oIcon = LoadPicture(This.ctlIcon) + This.ctlIcon = This.oIcon.Handle + Else + This.ctlIcon = 0 + Endif + Else + This.ctlIcon = 0 + Endif + Endif + + This.ctl32_SetIconAndTitle() + + ENDPROC + + HIDDEN PROCEDURE ctllangid_assign + Lparameters vNewVal + This.ctllangid = m.vNewVal + This.ctl32_SetLangStrings() + + ENDPROC + + HIDDEN PROCEDURE ctllink_access + *!* Store Link URL in ctlLinkURL + *!* Store Link Label in ctlLinkLabel + *!* Retrieve complete Link form ctlLink + + Local lcLink + m.lcLink = [] + + If This.oUtil._OSVersion() >= CON_OS_WINXP Then + Do Case + Case Not Empty(This.ctlLinkURL) And Not Empty(This.ctlLinkLabel) + m.lcLink =[] + Alltrim(This.ctlLinkLabel) + [] + + Case Not Empty(This.ctlLinkURL) And Empty(This.ctlLinkLabel) + m.lcLink =[] + Alltrim(This.ctlLinkLabel) + [] + + Case Empty(This.ctlLinkURL) And Not Empty(This.ctlLinkLabel) + m.lcLink =Alltrim(This.ctlLinkLabel) + + Endcase + Else + m.lcLink = Alltrim(Alltrim(This.ctlLinkLabel) + " " + Alltrim(This.ctlLinkURL)) + Endif + + Return m.lcLink + + ENDPROC + + HIDDEN PROCEDURE ctlmargin_assign + *!* Sets the margin between the text and the borders of the balloon tip + + Lparameters vNewVal + + If m.vNewVal < 0 Then + m.vNewVal = 0 + Endif + + This.ctlMargin = m.vNewVal + + If This.nCtlHwnd = 0 Then + Return + Endif + + Local lnMargin, lcMargin + + m.lnMargin = This.ctlMargin + + *!* Here we create a RECT structure with all four values equal + m.lcMargin = replicate(bintoc(m.lnMargin, [4RS]), 4) + + SendMessageC(This.nCtlHwnd, TTM_SETMARGIN, 0, @m.lcMargin) + + + ENDPROC + + HIDDEN PROCEDURE ctlmaxwidth_assign + Lparameters vNewVal + + If m.vNewVal < 0 Then + m.vNewVal = 0 + Endif + + This.ctlMaxWidth = m.vNewVal + + If This.nCtlHwnd = 0 Then + Return + Endif + + Local lnMaxWidth + + m.lnMaxWidth = This.ctlMaxWidth + + SendMessageN(This.nCtlHwnd, TTM_SETMAXTIPWIDTH , 0, m.lnMaxWidth) + + ENDPROC + + PROCEDURE ctlopenlink + If Not Empty(This.ctlLinkURL) Then + ShellExecute(0, 0, ["] + This.ctlLinkURL + ["] + 0h00, 0, 0, SW_SHOWNORMAL) + Endif + + ENDPROC + + HIDDEN PROCEDURE ctlstyle_assign + Lparameters vNewVal + + If This.ctlStyle <> m.vNewVal Then + This.ctlStyle = m.vNewVal + Else + Return + Endif + + This.ctl32_Create() + + + + + + ENDPROC + + HIDDEN PROCEDURE ctltext_assign + Lparameters vNewVal + + This.ctlText = m.vNewVal + + If This.nCtlHwnd = 0 Then + Return + Endif + + Local lcToolInfo, lcText + + *!* Replace TABS with four spaces: + m.vNewVal = Strtran(m.vNewVal, Chr(9), Space(4)) + + This.oToolInfo._lpszTextString = m.vNewVal + + m.lcToolInfo = This.oToolInfo._Struct + + SendMessageC(This.nCtlHwnd, TTM_UPDATETIPTEXTA, 0, @m.lcToolInfo) + + ENDPROC + + HIDDEN PROCEDURE ctltitle_assign + Lparameters vNewVal + + This.ctlTitle = m.vNewVal + + If This.nCtlHwnd = 0 Then + Return + Endif + + This.ctl32_SetIconAndTitle() + + + + ENDPROC + + HIDDEN PROCEDURE ctlvisible_assign + Lparameters vNewVal + + If Type([m.vNewVal]) = T_NUMERIC Then + If m.vNewVal = 0 Then + m.vNewVal = FALSE + Else + m.vNewVal = TRUE + Endif + Endif + + This.ctlVisible = m.vNewVal + + If This.nCtlHwnd = 0 Then + Return + Endif + + Local lcToolInfo As Character + + If This.ctlVisible Then + *!* We have a timer call This.ctl32_Show() to overcome the + *!* bug of setting the balloon Visible in an object getfocus, + *!* the cursor (caret) is still in the previous control. + This.tmrShow.Enabled = TRUE + *!* This timer just calls ctl32_Show() + else + *!* Here we hide balloontip: + If This.ctlFadeOut = FALSE Then + *!* We first hide the tooltip window to prevent fade out effect, TTF_NOFADE seems to + *!* have no effect on fade out, only on fade in + ShowWindow(This.nCtlHwnd, SW_HIDE) + Endif + m.lcToolInfo = This.oToolInfo._Struct + SendMessageC(This.nCtlHwnd, TTM_TRACKACTIVATE, 0, @m.lcToolInfo) + This.tmrHide.Enabled = FALSE + Endif + + ENDPROC + + PROCEDURE Destroy + DestroyWindow(This.nCtlHwnd) + + *!* Control is an object reference to the control to use to locate the balloontip + This.ctlControl = Null + + *!* oToolInfo is an instance of the _toolinfo class of ctl32_structs + This.oToolInfo = Null + + *!* loIcon is an object reference to an icon file if a custom icon was used + This.oIcon = Null + + *!* oMacros is an instance of the _macros class of ctl32_structs + This.oMacros = null + + + ENDPROC + + HIDDEN PROCEDURE evthandler_form_moved + If This.ctlVisible And This.ctlActive Then + This.ctlVisible = FALSE + Raiseevent(This, [ctlHide], 6) + Endif + + ENDPROC + + HIDDEN PROCEDURE evthandler_form_resize + If This.ctlVisible and This.ctlActive Then + This.ctlVisible = FALSE + Raiseevent(This, [ctlHide], 6) + Endif + + ENDPROC + + HIDDEN PROCEDURE evthandler_form_wm_keydown + Lparameters nHWND As Integer, nMSG As Integer, nWPARAM As Integer, nLPARAM As Integer + + Local lnResult As Number + + If This.ctlActive + If This.ctlCapsLockStyle Then + *!* If last key pressed was CAPS LOCK + If m.nWPARAM = VK_CAPITAL + *!* If CAPS LOCK was set to on: + If Bittest(GetKeyState(VK_CAPITAL), 0) = TRUE Then + This.ctlVisible = TRUE + Endif + *!* If CAPS LOCK was set to off and the balloontip is visible: + If Bittest(GetKeyState(VK_CAPITAL), 0) = FALSE And This.ctlVisible Then + This.ctlVisible = FALSE + Raiseevent(This, [ctlHide], 5) + Endif + Else + *!* Key pressed was not CAPS LOCK, hide the balloontip is visible + If This.ctlVisible Then + This.ctlVisible = FALSE + Raiseevent(This, [ctlHide], 4) + Endif + Endif + Else + *!* Not ctlCapsLockStyle, Hide balloontip with any key + If This.ctlVisible Then + This.ctlVisible = FALSE + Raiseevent(This, [ctlHide], 4) + Endif + Endif + + Endif + + m.lnResult = CallWindowProc(This.nVFPWndProc, m.nHWND, m.nMSG, m.nWPARAM, m.nLPARAM) + + Return m.lnResult + + ENDPROC + + HIDDEN PROCEDURE evthandler_host_wm_lbuttondown + *!* Here we detect a mouseclick on the form. The Balloontip transfers its mouse events to the form + *!* HWND. When the user clicks on the form or the balloontip, we hide the balloontip. + *!* IF the user clicked on the form, the form gets the click. If the user clicked on the balloontip + *!* we discard the click to prevent undesired clicks on the underlying form. For example, if underneath + *!* the balloontip there is a button, and the user clicks the balloontip to hide it, the button + *!* will get the click. This method prevents that. + + Lparameters nHWND As Integer, nMSG As Integer, nWPARAM As Integer, nLPARAM As Integer + + Local lnResult As Number, lnX, lnY, lcPoint, lnOption, loRect, lcRect + + m.lnOption = -1 && not used + + If This.ctlVisible And This.ctlActive Then + + m.lnOption = 0 && do not discard click + + *!* Get form coordinates of mouse click from lParam + + m.lnX = This.oMacros._GET_X_LPARAM(m.nLPARAM) + m.lnY = This.oMacros._GET_Y_LPARAM(m.nLPARAM) + + *!* Convert form coordinates to screen coordinates: + m.lcPoint = This.oMacros._MAKEPOINT(m.lnX, m.lnY) + ClientToScreen(Thisform.HWnd, @ m.lcPoint) + m.lnX = This.oMacros._GET_X_POINT(m.lcPoint) + m.lnY = This.oMacros._GET_Y_POINT(m.lcPoint) + + *!* WindowFromPoint only works on XP and up, in 98 and 2K returns hwnd of form + If This.oUtil._OSVersion() >= CON_OS_WINXP Then + *!* We will check if the mouse click is in the ballontip or in the form + *!* If the mouse click is on the balloontip, we do not pass the click to the form + If WindowFromPoint(m.lnX, m.lnY) = This.ctlHwnd Then + m.lnOption = 1 && discard + Endif + Else + *!* Not XP, use WindowRect that is not as exact, but close + + m.lcRect = This.oRect._Struct + GetWindowRect(This.ctlHwnd, @m.lcRect) + This.oRect._Struct = m.lcRect + If Between(m.lnY, This.oRect._Top, This.oRect._Bottom) And ; + between(m.lnX, This.oRect._Left, This.oRect._Right) Then + m.lnOption = 1 && Discard + Endif + Endif + + *!* Hide BalloonTip + This.ctlVisible = FALSE + + Endif + + Do Case + + Case m.lnOption = -1 && BalloonTip not visible and active + m.lnResult = CallWindowProc(This.nVFPWndProc, m.nHWND, m.nMSG, m.nWPARAM, m.nLPARAM) + + Case m.lnOption = 0 && BalloonTip visible, click was outside balloontip + m.lnResult = CallWindowProc(This.nVFPWndProc, m.nHWND, m.nMSG, m.nWPARAM, m.nLPARAM) + Raiseevent(This, [ctlHide], 2) + + Case m.lnOption = 1 && BalloonTip visible, click was inside balloontip + m.lnResult = 1 + Raiseevent(This, [ctlHide], 1) + Endcase + + Return m.lnResult + + ENDPROC + + HIDDEN PROCEDURE evthandler_host_wm_notify + Lparameters nHWND As Integer, nMSG As Integer, nWPARAM As Integer, nLPARAM As Integer + + Local lnResult As Integer, loHmdr, lnCode + + This.loNmhdr._Struct = Sys(2600, m.nLPARAM, This.loNmhdr._StructLen) + + m.lnCode = This.loNmhdr._code + + If m.lnCode = TTN_LINKCLICK Then + This.ctlVisible = FALSE + Raiseevent(This, [ctlHide], -1) + Endif + + If m.lnCode = TTN_POP Then + This.ctlVisible = FALSE + Raiseevent(This, [ctlHide], 3) + Endif + + m.lnResult = CallWindowProc(This.nVFPWndProc, m.nHWND, m.nMSG, m.nWPARAM, m.nLPARAM) + + Return m.lnResult + + ENDPROC + + HIDDEN PROCEDURE evthandler_screen_moved + If This.ctlVisible And This.ctlActive Then + This.ctlVisible = FALSE + Raiseevent(This, [ctlHide], 6) + Endif + + ENDPROC + + PROCEDURE Init + + *!* Add Util object + This.NewObject([oUtil], [_Util], [ctl32_common.vcx]) + + This.ctl32_DeclareDlls() + This.ctl32_AddProperties() + This.ctl32_SetLangStrings() + This.ctl32_Create() + This.ctl32_BindEvents() + + ENDPROC + + PROCEDURE lblname.Init + return FALSE + + ENDPROC + + PROCEDURE tmrHide.Timer + If This.Parent.ctlVisible = TRUE Then + This.Parent.ctlVisible = FALSE + Raiseevent(This.Parent, [ctlHide], 0) + Endif + + ENDPROC + + PROCEDURE tmrShow.ctl32_show + Lparameters tnPositionStyle + + Local lcToolInfo, lcPoint, lnDWord, loControl, lnX, lnY, lnPositionStyle + + *!* If balloonTip is not active, dont show, just return + If This.Parent.ctlActive = FALSE Then + Return + Endif + + If Pcount() = 0 Then + If This.Parent.ctlStyle <> CON_STYLE_BALLOON And This.Parent.ctlPositionStyle = CON_BTPOS_CARET Then + m.lnPositionStyle = CON_BTPOS_ACTIVECTRL + Else + m.lnPositionStyle = This.Parent.ctlPositionStyle + Endif + Else + m.lnPositionStyle = m.tnPositionStyle + Endif + + Do Case + + Case m.lnPositionStyle = CON_BTPOS_NONE && 1 + *!* This.Parent.ctlLeft and This.Parent.ctlTop should have been defined + *!* by user before getting here. + + Case m.lnPositionStyle = CON_BTPOS_ACTIVECTRL && 2 + If Type([Thisform.ActiveControl]) = T_OBJECT Then + m.loControl = Thisform.ActiveControl + Else + This.ctl32_Show(CON_BTPOS_NONE) + Endif + + Case m.lnPositionStyle = CON_BTPOS_CARET && 3 + *!* If object has selected text, just call this method again with PositionStyle = 3 + If Type([Thisform.ActiveControl]) = T_OBJECT And; + Pemstatus(Thisform.ActiveControl, [SelLength], CON_PEMSTAT_DEFINED) And; + Thisform.ActiveControl.SelLength <> 0 Then + + This.ctl32_Show(CON_BTPOS_ACTIVECTRL) + Else + m.lcPoint = Space(8) + *!* Get position of caret + GetCaretPos(@ m.lcPoint) + *!* Save coordinates of caret in control properties + This.Parent.ctlLeft = CToBin(Substr(m.lcPoint, 1, 4), [4RS]) + 5 + This.Parent.ctlTop = CToBin(Substr(m.lcPoint, 5, 4), [4RS]) + 10 + Endif + + Case m.lnPositionStyle = CON_BTPOS_SYS1270 && 4 + If Type([SYS(1270)]) = T_OBJECT Then + m.loControl = Sys(1270) + Else + This.ctl32_Show(CON_BTPOS_ACTIVECTRL) + Endif + + Case m.lnPositionStyle = CON_BTPOS_CTRLREF && 5 + If Type([This.Parent.ctlControl]) = T_OBJECT + m.loControl = This.Parent.ctlControl + Else + This.ctl32_Show(CON_BTPOS_ACTIVECTRL) + Endif + + Case m.lnPositionStyle >= CON_BTPOS_MOUSE && 6 + m.lcPoint = Space(8) + *!* Get position of mouse cursor + GetCursorPos(@ m.lcPoint) + ScreenToClient(Thisform.HWnd, @ m.lcPoint) + This.Parent.ctlLeft = CToBin(Substr(m.lcPoint, 1, 4), [4RS]) + This.Parent.ctlTop = CToBin(Substr(m.lcPoint, 5, 4), [4RS]) + Endcase + + *!* Get tip coordinates from control coordinates: + If Inlist(m.lnPositionStyle, CON_BTPOS_ACTIVECTRL, CON_BTPOS_SYS1270, CON_BTPOS_CTRLREF) + *!* If balloontip is not a balloon, position it under control and almost + *!* flush with left of it: + If This.Parent.ctlStyle <> CON_STYLE_BALLOON Then + This.Parent.ctlLeft = Objtoclient(m.loControl, CON_OBJTOCLI_LEFT) + 5 + This.Parent.ctlTop = Objtoclient(m.loControl, CON_OBJTOCLI_TOP) + m.loControl.Height + 2 + Else + *!* If control has SelLength property, its some kind of text edit control, + *!* so we position balloontip near left side, qo pixels to right + + *!* 20060930: CHANGED "Thisform.ActiveControl" TO "m.loControl" + + If Pemstatus(m.loControl, [SelLength], CON_PEMSTAT_DEFINED) Then + This.Parent.ctlLeft = Objtoclient(m.loControl, CON_OBJTOCLI_LEFT) + 10 + Else + This.Parent.ctlLeft = Objtoclient(m.loControl, CON_OBJTOCLI_LEFT) + Int(m.loControl.Width / 3 * 2) + Endif + + This.Parent.ctlTop = Objtoclient(m.loControl, CON_OBJTOCLI_TOP) + Int(m.loControl.Height / 3 * 2) + Endif + Endif + + m.lcToolInfo = This.Parent.oToolInfo._Struct + + *!* Convert form coordinates to screen coordinates: + m.lcPoint = BinToC(This.Parent.ctlLeft, [4RS]) + BinToC(This.Parent.ctlTop, [4RS]) + ClientToScreen(Thisform.HWnd, @ m.lcPoint) + m.lnX = CToBin(Substr(m.lcPoint, 1, 4), [4RS]) + m.lnY = CToBin(Substr(m.lcPoint, 5, 4), [4RS]) + + *!* Make DWORD for TTM_TRACKPOSITION message (MAKELPARAM) + m.lnDWord = m.lnX + m.lnY * 0x10000 + + *!* Set tooltip position + SendMessageN(This.Parent.nCtlHwnd, TTM_TRACKPOSITION, 0, m.lnDWord) + + *!* Activate tooltip + SendMessageC(This.Parent.nCtlHwnd, TTM_TRACKACTIVATE, 1, @m.lcToolInfo) + + *!* Reset HIDE timer and enable it, so tooltip autohides. + *!* if tmrHide.Interval is 0 the tooltip will not autohide + If This.Parent.ctlHideDelay > 0 Then + This.Parent.tmrHide.Reset() + This.Parent.tmrHide.Enabled = TRUE + Endif + + m.lcToolInfo = Null + m.loControl = Null + + + ENDPROC + + PROCEDURE tmrShow.Timer + *!* Disable this timer + This.Enabled = FALSE + This.ctl32_Show() + + ENDPROC + +ENDDEFINE + +DEFINE CLASS ctl32_balloontip_show AS timer + *< CLASSDATA: Baseclass="timer" Timestamp="" Scale="Pixels" Uniqueid="" /> + + #INCLUDE "ctl32.h" + * + *m: ctl32_show + *p: ctlabout + *p: ctlversion + * + + * + ctlabout = ctl32_ballontip_show - Carlos Alloatti + ctlversion = 20061010 + Height = 23 + Name = "ctl32_balloontip_show" + Width = 23 + * + +ENDDEFINE diff --git a/utile/ctl32/ctl32_classes.prg b/utile/ctl32/ctl32_classes.prg new file mode 100644 index 0000000..40320e1 --- /dev/null +++ b/utile/ctl32/ctl32_classes.prg @@ -0,0 +1,594 @@ +******************************************************************************** +*!* ctl32_classes.prg +******************************************************************************** +#Include ctl32.h + +If Not Sys(16) $ Upper(Set("Procedure")) Then + Set Procedure To Sys(16) Additive +Endif + +******************************************************************************** +Define Class ctl32_menu As Custom + + Height = 0 + MenuId = 0 + + Protected _MemberData + _MemberData = '' + ; + '' + ; + '' + +Enddefine + +******************************************************************************** +Define Class ctl32_menuitem As Custom + + BarBreak = "" + Break = "" + CanRaiseEvents = "" + Caption = "" + Checked = FALSE + Container = "" + DefaultItem = FALSE + DesignMode = "" + Enabled = FALSE + Events = "" + MenuId = 0 + Index = "" + IsParent = "" + MdiList = "" + MdiListItem = "" + MenuId = 0 + MenuItems = "" + MergeOrder = "" + MergeType = "" + Mnemonic = "" + Name = "MenuItem" + OwnerDrawn = "" + RadioCheck = FALSE + Shortcut = "" + ShowShortcut = "" + Site = "" + Tag = "" + Visible = "" + ItemID = 0 + Picture = "" + PictureObject = FALSE + PictureId = 0 + DisabledPicture = "" + DisabledPictureObject = FALSE + DisabledPictureId = 0 + DownPicture = "" + DownPictureObject = FALSE + DownPictureId = 0 + SubMenuId = 0 + + Protected _MemberData + _MemberData = '' + ; + '' + ; + '' + + Procedure SubMenuId_Assign + Lparameters m.vNewVal + *!* Destroy any previous submenu: + If This.SubMenuId > 0 Then + apiDestroyMenu(This.SubMenuId) + Endif + + This.SubMenuId = m.vNewVal + + If This.ItemID = 0 Then + Return + Endif + + *!* update menu item submenu info: + Local ; + m.lcMenuItemInfo As String,; + m.loMenuItemInfo As _MENUITEMINFO + + m.loMenuItemInfo = Createobject("_MENUITEMINFO") + + m.loMenuItemInfo.fMask = MIIM_SUBMENU + m.loMenuItemInfo.hSubMenu = This.SubMenuId + m.lcMenuItemInfo = m.loMenuItemInfo.Value + apiSetMenuItemInfo(This.MenuId, This.ItemID, MF_BYCOMMAND, @m.lcMenuItemInfo) + m.loMenuItemInfo = .Null. + Release m.loMenuItemInfo + + Endproc + + Procedure Picture_Assign + Lparameters m.vNewVal + + *!* Here we store the value to use, HBMMENU_CALLBACK + *!* If a numeric system bitmap is choosen, we use that + Local m.hbmpItem As Integer + + m.hbmpItem = 0 + + Do Case + + Case Vartype(m.vNewVal) = "N" + This.Picture = "" + This.PictureId = m.vNewVal + m.hbmpItem = This.PictureId + + Case Vartype(m.vNewVal) = "C" + This.Picture = m.vNewVal + If File(m.vNewVal) + This.PictureObject = LoadPicture(m.vNewVal) + This.PictureId = This.PictureObject.Handle + Else + This.PictureId = 0 + Endif + If ctlGetOsVersion() < NTDDI_VISTA + m.hbmpItem = HBMMENU_CALLBACK + Endif + Otherwise + This.Picture = "" + This.PictureId = 0 + If ctlGetOsVersion() < NTDDI_VISTA + m.hbmpItem = HBMMENU_CALLBACK + Endif + Endcase + + If This.ItemID = 0 Then + Return + Endif + + Local m.lcMenuItemInfo As String + Local m.loMenuItemInfo As _MENUITEMINFO + + m.loMenuItemInfo = Createobject("_MENUITEMINFO") + m.loMenuItemInfo.fMask = MIIM_BITMAP + m.loMenuItemInfo.hbmpItem = m.hbmpItem + m.lcMenuItemInfo = m.loMenuItemInfo.Value + apiSetMenuItemInfo(This.MenuId, This.ItemID, MF_BYCOMMAND, @m.lcMenuItemInfo) + m.loMenuItemInfo = .Null. + + Endproc + + Procedure Caption_Assign + Lparameters vNewVal + This.Caption = m.vNewVal + Endproc + + Procedure Caption_Access + Return This.Caption + Endproc + + Procedure DefaultItem_Assign + Lparameters vNewVal + + If Vartype(m.vNewVal) = "N" Then + If m.vNewVal = 0 Then + m.vNewVal = FALSE + Else + m.vNewVal = TRUE + Endif + Endif + + This.DefaultItem = m.vNewVal + + If This.ItemID = 0 Then + Return + Endif + + If This.DefaultItem = TRUE Then + apiSetMenuDefaultItem(This.MenuId, This.ItemID, MF_BYCOMMAND) + Else + apiSetMenuDefaultItem(This.MenuId, -1, MF_BYPOSITION) + Endif + + Endproc + + Procedure Enabled_Assign + Lparameters vNewVal + + If Vartype(m.vNewVal) = "N" Then + If m.vNewVal = 0 Then + m.vNewVal = FALSE + Else + m.vNewVal = TRUE + Endif + Endif + + This.Enabled = m.vNewVal + + If This.ItemID = 0 Then + Return + Endif + If This.Enabled = TRUE Then + apiEnableMenuItem(This.MenuId, This.ItemID, Bitor(MF_BYCOMMAND, MF_ENABLED)) + Else + apiEnableMenuItem(This.MenuId, This.ItemID, Bitor(MF_BYCOMMAND, MF_GRAYED)) + Endif + + Endproc + + Procedure Checked_Assign + Lparameters vNewVal + + If Vartype(m.vNewVal) = "N" Then + If m.vNewVal = 0 Then + m.vNewVal = FALSE + Else + m.vNewVal = TRUE + Endif + Endif + + This.Checked = m.vNewVal + + If This.ItemID = 0 Then + Return + Endif + + If This.Checked = TRUE Then + apiCheckMenuItem(This.MenuId, This.ItemID , Bitor(MF_BYCOMMAND, MF_CHECKED)) + Else + apiCheckMenuItem(This.MenuId, This.ItemID , Bitor(MF_BYCOMMAND, MF_UNCHECKED)) + Endif + + Endproc + + Procedure RadioCheck_Assign + Lparameters vNewVal + + If Vartype(m.vNewVal) = "N" Then + If m.vNewVal = 0 Then + m.vNewVal = FALSE + Else + m.vNewVal = TRUE + Endif + Endif + + This.RadioCheck = m.vNewVal + + If This.ItemID = 0 Then + Return + Endif + + *!* Get current fType, we set fMask to MIIM_FTYPE + Local ; + m.lcMenuItemInfo As String, ; + m.loMenuItemInfo As _MENUITEMINFO, ; + m.lfType As Integer + + m.loMenuItemInfo = Createobject("_MENUITEMINFO") + + *!* Build MenuItemInfo structure: + m.loMenuItemInfo.fMask = MIIM_FTYPE + m.lcMenuItemInfo = m.loMenuItemInfo.Value + + If apiGetMenuItemInfo(This.MenuId, This.ItemID , MF_BYCOMMAND, @m.lcMenuItemInfo) <> 0 Then + + m.loMenuItemInfo.Value = m.lcMenuItemInfo + + If This.RadioCheck = TRUE Then + m.loMenuItemInfo.fType = Bitor(MFT_RADIOCHECK, m.loMenuItemInfo.fType) + Else + m.loMenuItemInfo.fType = Bitxor(MFT_RADIOCHECK, Bitor(MFT_RADIOCHECK, m.loMenuItemInfo.fType)) + Endif + + m.lcMenuItemInfo = m.loMenuItemInfo.Value + apiSetMenuItemInfo(This.MenuId, This.ItemID , MF_BYCOMMAND, m.lcMenuItemInfo) + m.loMenuItemInfo = .Null. + + Endif + + Endproc + +Enddefine + +******************************************************************************** +Define Class ctl32_statusbar_panel As Custom + + Height = 16 + Width = 120 + *-- Specifies the icon displayed for a Form at run time when the Form is minimized. + ctlicon = "" + ctlcaption = "" + ctlformat = 0 + *-- Specifies the text that appears as a ToolTip for a control. + ctltooltiptext = "" + ctlindex = 0 + *-- Right x value position for Panel + _right = -1 + _oicon = "" + *-- Specifies if an object is visible or hidden. + ctlvisible = .T. + *-- Specifies if a control is automatically resized to fit its contents. + ctlautosize = .T. + _width = 0 + *-- Specifies the alignment of text associated with a control. + ctlalignment = 0 + ctlwidth = "" + ctlname = "" + Name = "ctl32_statusbar_panel" + + Procedure ctlIcon_assign + Lparameters vNewVal + + Local lnHandle + + This.ctlicon = m.vNewVal + This._oicon = .Null. + + *!* 2006-07-17 Now takes icon handle too //Anton + Do Case + Case Vartype(This.ctlicon) = T_NUMERIC + m.lnHandle = m.vNewVal + Case Vartype(This.ctlicon) = T_CHARACTER And File(This.ctlicon) + This._oicon = LoadPicture(This.ctlicon) + m.lnHandle = This._oicon.Handle + Otherwise + m.lnHandle = 0 + Endcase + + apiSendMessageInteger(This.Parent._ControlHWnd, SB_SETICON, This.ctlindex, m.lnHandle) + + If This.Parent._ControlHWnd <> 0 And This.ctlindex <> 0 And This.Parent._Creating = FALSE Then + This.Parent.ctlResizePanels() + Endif + Endproc + + Procedure ctlcaption_assign + Lparameters vNewVal + *!* 2006-06-27 Added Transform() + This.ctlcaption = Alltrim(Transform(m.vNewVal)) + + Local lcPadLeft, lcPadRight, lcCaption + + m.lcCaption = m.vNewVal + + *!* we add spaces so text does not fit and tooltips show + Do Case + Case This.ctlalignment = 1 And This.ctlautosize = FALSE && Right + m.lcPadLeft = TABCHAR + TABCHAR + m.lcPadRight = Space(1) + + Case This.ctlalignment = 2 And This.ctlautosize = FALSE && Center + m.lcPadLeft = TABCHAR + m.lcPadRight = Space(0) + + Otherwise && Left + m.lcPadLeft = Space(0) + m.lcPadRight = Space(10) + + *!* Add one space to left if this is PanelMessage and + *!* ctlAlignment is left, so it separates the text a little from border + If This.ctlindex = 0 + m.lcPadLeft = m.lcPadLeft + Space(1) + Endif + Endcase + + *!* If changing indicator panels Caption, let tmrUpdater update captions: + If This.Name = "PanelOvr" Then + This.Parent._OldOVR = Not Insmode() + Endif + + If This.Name = "PanelNum" Then + This.Parent._OldNUM = Not Numlock() + Endif + + If This.Name = "PanelCaps" Then + This.Parent._OldCAPS = Not Capslock() + Endif + + *!* If setting Caption for Message Panel + If This.ctlindex = 0 + This.Parent._OldMessage = Sys(2015) + Endif + + m.lcCaption = m.lcPadLeft + m.lcCaption + m.lcPadRight + NULA + + *!* Do not set Panel Caption for ProgressBar: + If This.ctlindex <> 1 Then + apiSendMessageString(This.Parent._ControlHWnd, SB_SETTEXTA, This.ctlindex , m.lcCaption) + Endif + + If This.Parent._ControlHWnd <> 0 And This.ctlindex <> 0 And This.Parent._Creating = FALSE Then + This.Parent.ctlResizePanels() + Endif + Endproc + + Procedure ctlformat_assign + *!* Property only valid for PanelDate + + Lparameters vNewVal + + This.ctlformat = m.vNewVal + + If This.Name = "PanelDate" Then + If This.ctlformat > 0 Then + This.ctlcaption = ctlGetDateFormat(This.ctlformat) + Else + This.ctlcaption = "" + Endif + Endif + Endproc + + Procedure ctltooltiptext_assign + Lparameters vNewVal + + This.ctltooltiptext = m.vNewVal + + If Len(m.vNewVal) > 0 Then + m.vNewVal = Space(1) + This.ctltooltiptext + Space(1) + Endif + + apiSendMessageString(This.Parent._ControlHWnd,SB_SETTIPTEXTA, This.ctlindex, m.vNewVal) + Endproc + + Procedure ctlvisible_assign + Lparameters vNewVal + + If Vartype(m.vNewVal) = "N" Then + If m.vNewVal = 0 Then + m.vNewVal = FALSE + Else + m.vNewVal = TRUE + Endif + Endif + + If Vartype(m.vNewVal) <> "L" Then + Messagebox("Parameter must be Logical: " + Program(), 16) + Return + Endif + + This.ctlvisible = m.vNewVal + + If This.Parent._ControlHWnd <> 0 And This.Parent._Creating = FALSE Then + This.Parent.ctlResizePanels() + Endif + Endproc + + *-- Called when creating the statusbar to update all data of Panels + Procedure _updateall + This.ctlcaption = This.ctlcaption + This.ctlformat = This.ctlformat + This.ctlicon = This.ctlicon + This.ctltooltiptext = This.ctltooltiptext + This.ctlvisible = This.ctlvisible + Endproc + + Procedure ctlautosize_assign + Lparameters vNewVal + + If Vartype(m.vNewVal) = "N" Then + If m.vNewVal = 0 Then + m.vNewVal = FALSE + Else + m.vNewVal = TRUE + Endif + Endif + + *!* Index 0 is first Panel, PanelMessage, that should always have ctlAutosize = FALSE + If This.ctlindex = 0 Then + This.ctlautosize = FALSE + Else + This.ctlautosize = m.vNewVal + *!* Reset caption to get rid of center/right codes if ctlAutosize is TRUE + This.ctlcaption = This.ctlcaption + Endif + Endproc + + Procedure ctlalignment_assign + Lparameters vNewVal + + This.ctlalignment = m.vNewVal + + *!* If message panel, force update + If This.ctlindex = 0 + This.Parent._OldMessage = Sys(2015) + Endif + + This.ctlcaption = This.ctlcaption + Endproc + + Procedure ctlname_access + Return This.Name + Endproc + + Procedure ctlname_assign + Lparameters vNewVal + This.Name = m.vNewVal + Endproc + + Procedure ctlwidth_access + Return This.Width + Endproc + + Procedure ctlwidth_assign + Lparameters vNewVal + This.Width = m.vNewVal + Endproc + + Procedure Destroy + This._oicon = .Null. + Endproc + +Enddefine + +******************************************************************************** +Define Class ctl32_statusbar_toolbar As Toolbar + + Caption = "ctl32_statusbar_toolbar" + Height = 16 + Left = 0 + Top = 51 + Visible = .F. + Width = 32028 + ShowWindow = 1 + Name = "ctl32_statusbar_toolbar" + + Add Object ctlHeightShape As Shape With ; + Top = 3, ; + Left = 5, ; + Height = 13, ; + Width = 16384, ; + Name = "ctlHeightShape" + + Procedure Init + *!* Hide the toolbar thru API so it is still there but invisible + With This + .Dock(TOOL_BOTTOM, 0, 0) + .Visible = TRUE + apiShowWindow(.HWnd, SW_HIDE) + Endwith + Endproc + + Procedure ctlHeightShape.Click + This.Parent.Dock(3, 0, 0) + Endproc + + Procedure ctlHeightShape.Init + + If ctlGetOsVersion() >= NTDDI_VISTA && Vista + This.Height = 13 + Else + This.Height = 17 + Endif + Endproc + +Enddefine + +******************************************************************************** +Define Class ctl32_statusbar_timer As Timer + + Height = 23 + Width = 23 + Interval = 100 + _Interval = 100 + _IntervalTrace = 10000 + Name = "ctl32_statusbar_timer" + + Procedure Timer + *!* 20070701 Added trace aware timer, suggested by ajh + + If Wvisible("trace") Or ; + Wvisible("debugger") Or ; + Wvisible("call") Or ; + Wvisible("watch") Or ; + Wvisible("locals") + + If This.Interval # This._IntervalTrace + This.Interval = This._IntervalTrace + Endif + + Else + + If This.Interval # This._Interval + This.Interval = This._Interval + Endif + + Endif + + This.Parent.ctlUpdatePanels() + Endproc + +Enddefine + +******************************************************************************** +*!* END ctl32_classes +******************************************************************************** diff --git a/utile/ctl32/ctl32_common.vc2 b/utile/ctl32/ctl32_common.vc2 new file mode 100644 index 0000000..8b9317d --- /dev/null +++ b/utile/ctl32/ctl32_common.vc2 @@ -0,0 +1,212 @@ +*-------------------------------------------------------------------------------------------------------------------------------------------------------- +* (EN) AUTOGENERATED - ATTENTION!! - NOT INTENDED FOR EXECUTION!! USE ONLY FOR MERGING CHANGES AND STORING WITH SCM TOOLS!! +*-------------------------------------------------------------------------------------------------------------------------------------------------------- +*< FOXBIN2PRG: Version="1.21" SourceFile="ctl32_common.vcx" CPID="1252" /> (Solo para binarios VFP 9 / Only for VFP 9 binaries) +* +* +DEFINE CLASS _util AS custom + *< CLASSDATA: Baseclass="custom" Timestamp="" Scale="Pixels" Uniqueid="" /> + + #INCLUDE "ctl32.h" + * + *m: _hinstance + *m: _hosthwnd + *m: _isthemeactive + *m: _objtoclient + *m: _osversion + *m: _strformatbytesize + *m: _themestatus + *m: _vfpwndproc + *p: ctlabout + *p: ctlversion + * + + * + ctlabout = ctl32_util - Carlos Alloatti + ctlversion = 20061010 + Name = "_util" + * + + PROCEDURE Init + + Local Array laDeclaredDlls(1,3) + Local lnLen + m.lnLen = Adlls(m.laDeclaredDlls) + + *!* win32api is used instead of the library name, check these: + *!* blogs.msdn.com/calvin_hsia/archive/2006/04/27/585305.aspx + *!* blogs.msdn.com/calvin_hsia/archive/2006/04/24/582479.aspx + *!* "User32.dll, Gdi32.dll, Kernel32.dll , Advapi32.dll and Mpr.dll are searched (in that order)" + + If Ascan(m.laDeclaredDlls, [GetWindowLong], 1, m.lnLen , 2, 15) = 0 + Declare Integer GetWindowLong In win32api As GetWindowLong; + Integer HWnd, ; + Integer nIndex + Endif + + If This._OSVersion() >= CON_OS_WINXP Then + If Ascan(m.laDeclaredDlls, [IsThemeActive], 1, m.lnLen , 2, 15) = 0 + Declare Integer IsThemeActive In uxtheme.Dll As IsThemeActive + Endif + Endif + + If Ascan(m.laDeclaredDlls, [StrFormatByteSize], 1, m.lnLen , 2, 15) = 0 + Declare Integer StrFormatByteSize In shlwapi; + integer dw,; + string szBuf,; + integer uiBufSize + Endif + + ENDPROC + + PROCEDURE _hinstance + *!* The GetWindowLong function retrieves information about the specified window. + + *!* GWL_HINSTANCE retrieves a handle to the application instance. + + Return GetWindowLong(_vfp.HWnd, GWL_HINSTANCE) + + ENDPROC + + PROCEDURE _hosthwnd + *!* the control must have a parent window. In the case of a standard form, its the + *!* hWnd of the form. If we have a Top Level Form, we have + *!* to find the hWnd of the "inner" window of the Form + + Local m.nhwnd + + If ThisForm.ShowWindow = CON_SHOWWIN_ASTOPLEVELFORM Or ThisForm.ScrollBars > 0 Then + *!* Get hWnd of client window of Top Level Form //Craig Boyd// + #If Version(CON_VER_NUM) >= 900 + m.nhwnd = Sys(2327, Sys(2325, Sys(2326, ThisForm.HWnd))) + #Else + m.nhwnd = GetWindow(ThisForm.HWnd, GW_CHILD) + #Endif + Else + m.nhwnd = ThisForm.HWnd + Endif + + Return m.nhwnd + ENDPROC + + PROCEDURE _isthemeactive + *!* Tests if a visual style for the current application is active. + + Return (This._OSVersion() >= CON_OS_WINXP) And (IsThemeActive() = 1) + + ENDPROC + + PROCEDURE _objtoclient + *!* This replaces OBJTOCLIENT that has bugs with pageframes + + Parameters toControl, tcPosition + + Local lnPosition As Integer + + m.tcPosition = Upper(m.tcPosition) + m.lnPosition = 0 + + Do Case + + Case m.tcPosition $ [TB] + Do While Not Upper(m.toControl.BaseClass) == [FORM] + If Pemstatus(m.toControl, [Top], CON_PEMSTAT_DEFINED) Then + m.lnPosition = m.lnPosition + m.toControl.Top + Endif + If Upper(m.toControl.BaseClass) == [PAGE] Then + If m.toControl.Parent.TabOrientation = CON_TABOR_TOP Then && Top + m.lnPosition = m.lnPosition + ; + m.toControl.Parent.Height - ; + m.toControl.Parent.PageHeight - ; + m.toControl.Parent.BorderWidth * 2 + Else + m.lnPosition = m.lnPosition + 1 + Endif + Endif + m.toControl = m.toControl.Parent + Enddo + + If m.tcPosition == [B] Then + m.lnPosition = m.lnPosition + This.Height + Endif + + Case m.tcPosition $ [LR] + Do While Not Upper(m.toControl.BaseClass) == [FORM] + If Pemstatus(m.toControl, [Left], CON_PEMSTAT_DEFINED) Then + m.lnPosition = m.lnPosition + m.toControl.Left + Endif + If Upper(m.toControl.BaseClass) == [PAGE] + If m.toControl.Parent.TabOrientation = CON_TABOR_LEFT Then && Left + m.lnPosition = m.lnPosition + ; + m.toControl.Parent.Width - ; + m.toControl.Parent.PageWidth - ; + m.toControl.Parent.BorderWidth * 2 + Else + m.lnPosition = m.lnPosition + 1 + Endif + Endif + m.toControl = m.toControl.Parent + Enddo + + If m.tcPosition == [R] Then + m.lnPosition = m.lnPosition + This.Width + Endif + + Endcase + + Return m.lnPosition + + ENDPROC + + PROCEDURE _osversion + *!* Returns a numeric value representing the operating system version + *!* Check ctl32.h for possible values + *!* ie CON_OS_WINXPSP2 = 5010200 + + Return Val(Os(3)) * 1000000 + Val(Os(4)) * 10000 + Val(Os(8)) * 100 + Val(Os(9)) + + ENDPROC + + PROCEDURE _strformatbytesize + *!* Converts a numeric value into a string that represents the number expressed + *!* as a size value in bytes, kilobytes, megabytes, or gigabytes, depending on the size. + + Lparameters tnSize + + Local lcBuffer + + m.lcBuffer = Space(254) + + StrFormatByteSize(m.tnSize, @m.lcBuffer, Len(m.lcBuffer)) + + m.lcBuffer = Alltrim(m.lcBuffer) + + * Remove chr(0) + m.lcBuffer = Left(m.lcBuffer, Len(m.lcBuffer)-1) + + Return m.lcBuffer + ENDPROC + + PROCEDURE _themestatus + *!* Returns the global status of Themes for a VFP Form + + Return ; + This._OSVersion() >= CON_OS_WINXP ; + And IsThemeActive() = 1 ; + And _Screen.Themes ; + And Thisform.Themes + + ENDPROC + + PROCEDURE _vfpwndproc + *!* The GetWindowLong function retrieves information about the specified window. + + *!* GWL_WNDPROC retrieves the address of the window procedure, + *!* or a handle representing the address of the window procedure. + *!* You must use the CallWindowProc function to call the window procedure. + + Return GetWindowLong(_vfp.HWnd, GWL_WNDPROC) + + ENDPROC + +ENDDEFINE diff --git a/utile/ctl32/ctl32_contextmenu.vc2 b/utile/ctl32/ctl32_contextmenu.vc2 new file mode 100644 index 0000000..23ac349 --- /dev/null +++ b/utile/ctl32/ctl32_contextmenu.vc2 @@ -0,0 +1,1182 @@ +*-------------------------------------------------------------------------------------------------------------------------------------------------------- +* (EN) AUTOGENERATED - ATTENTION!! - NOT INTENDED FOR EXECUTION!! USE ONLY FOR MERGING CHANGES AND STORING WITH SCM TOOLS!! +*-------------------------------------------------------------------------------------------------------------------------------------------------------- +*< FOXBIN2PRG: Version="1.21" SourceFile="ctl32_contextmenu.vcx" CPID="1250" /> (Solo para binarios VFP 9 / Only for VFP 9 binaries) +* +* +DEFINE CLASS ctl32_contextmenu AS container + *< CLASSDATA: Baseclass="container" Timestamp="" Scale="Pixels" Uniqueid="" ClassIcon="ctl32_contextmenu.bmp" /> + + *-- OBJECTDATA items order determines ZOrder / El orden de los items OBJECTDATA determina el ZOrder + *< OBJECTDATA: ObjPath="lblname" UniqueID="" Timestamp="" /> + + #INCLUDE "ctl32.h" + * + *m: add && Adds a new member to a Collection. + *m: clear && Clears all menus and menu items. + *m: getsystemmenucaptions + *m: onwmdrawitem && Bindevent to form WM_DRAWITEM + *m: onwmmeasureitem && Bindevent to form WM_MEASUREITEM + *m: show && Displays a Form and specifies if the Form is modal or modeless. + *m: showcontrolmenu + *m: showeditmenu + *m: _addmenu + *m: _addmenuitem + *m: _addmenuitemtocollection + *m: _bindevents + *m: _setbitmap + *m: _setmenuiteminfo_hbmpitem + *m: _setmenuiteminfo_miim_checkmarks + *p: formhwnd + *p: menuitems + *p: menus + *p: ownerdrawn + *p: parenthwnd + *p: showflags && http://msdn2.microsoft.com/en-us/library/ms648003.aspx + *p: _bitmapcanvasheight && Item bitmap space height + *p: _bitmapcanvaswidth && Item bitmap space width + *p: _bitmapheight && Bitmap height + *p: _bitmapwidth && Bitmap width + *p: _brush + *p: _controlmenubuilt + *p: _drawitemstruct + *p: _editmenubuilt + *p: _lookuptable + *p: _mainhandle && The handle to the top menu in the chain is saved here. + *p: _measureitemstruct + *p: _memberdata && XML Metadata for customizable properties + *p: _nextmenuitemid + *p: _windowprocedure + * + + * + BackColor = 140,200,200 + formhwnd = .F. + Height = 21 + menuitems = + menus = + Name = "ctl32_contextmenu" + parenthwnd = 0 + showflags = 0 + Visible = .F. + Width = 108 + _bitmapcanvasheight = 0 + _bitmapcanvaswidth = 0 + _bitmapheight = 0 + _bitmapwidth = 0 + _brush = 0 + _controlmenubuilt = .F. + _drawitemstruct = .F. + _editmenubuilt = .F. + _lookuptable = .F. + _mainhandle = 0 + _measureitemstruct = .F. + _nextmenuitemid = 0 + _windowprocedure = 0 + * + + ADD OBJECT 'lblname' AS label WITH ; + AutoSize = .T., ; + BackStyle = 0, ; + Caption = "ctl32_contextmenu", ; + FontName = "Tahoma", ; + FontSize = 8, ; + ForeColor = 0,0,128, ; + Height = 15, ; + Left = 6, ; + Name = "lblname", ; + Top = 4, ; + Width = 94 + *< END OBJECT: BaseClass="label" /> + + PROCEDURE add && Adds a new member to a Collection. + *!* Add + + *!* This method adds menu bars, menu popups, menu items, + *!* and menu items with sub menu popups + + Lparameters m.peItemKey1, m.peItemKey2, m.pcCaption, m.pePicture + + If Pcount() = 0 Then + Return + Endif + + If Pcount() = 1 Or Empty(m.peItemKey2) Then + This._AddMenu(m.peItemKey1) + Else + This._AddMenuItem(m.peItemKey1, m.peItemKey2, m.pcCaption, m.pePicture) + Endif + + + + ENDPROC + + PROCEDURE clear && Clears all menus and menu items. + *!* Clear + + *!* Release all menu popups and ctlMenuPopUp objects + Do While This.Menus.Count > 0 + apiDestroyMenu(This.Menus(This.Menus.Count).MenuId) + This.Menus.Remove(This.Menus.Count) + Enddo + + *!* Release ctlMenuItem objects + Do While This.MenuItems.Count > 0 + If This.MenuItems(This.MenuItems.Count).PictureId <> 0 Then + apiDeleteObject(This.MenuItems(This.MenuItems.Count).PictureId) + Endif + This.MenuItems.Remove(This.MenuItems.Count) + Enddo + + *!* Reset flags that indicate that certain menus have been created + This._EditMenuBuilt = FALSE + This._ControlMenuBuilt = FALSE + + This._NextMenuItemId = 1 + + ENDPROC + + PROCEDURE Destroy + *!* Destroy + + This.Clear() + + + + ENDPROC + + PROCEDURE getsystemmenucaptions + ******************************************************************************** + *!* GetSystemMenuCaptions(m.pnMenuId) + ******************************************************************************** + *!* This method creates a menu from a specified menu resource id in user32.dll, + *!* reads all the menu item Texts of the created menu, destroys the menu, and + *!* returns the Texts as a "|" delimited string + ******************************************************************************** + + *!* Menu Resource Id 1 in user32.dll: + *!* MENUITEM "&Deshacer", 772 + *!* MENUITEM "", 0, MFT_SEPARATOR + *!* MENUITEM "Cor&tar", 768 + *!* MENUITEM "&Copiar", 769 + *!* MENUITEM "&Pegar", 770 + *!* MENUITEM "&Eliminar", 771 + *!* MENUITEM "", 0, MFT_SEPARATOR + *!* MENUITEM "Seleccion&ar todo", 177 + *!* MENUITEM "", 0, MFT_SEPARATOR + *!* MENUITEM "Lectu&ra de derecha a izquierda", 32768, MFS_GRAYED + *!* MENUITEM "Mo&strar caracteres de control Unicode", 32769, MFS_GRAYED + + *!* Menu Resource Id 16 in user32.dll: + *!* MENUITEM "&Restaurar", 61728 + *!* MENUITEM "&Mover", 61456 + *!* MENUITEM "&Tamaño", 61440 + *!* MENUITEM "Mi&nimizar", 61472 + *!* MENUITEM "Ma&ximizar", 61488 + *!* MENUITEM SEPARATOR + *!* MENUITEM "&Cerrar\tAlt+F4", 61536 + + + Lparameters m.pnMenuId As Integer + + Local ; + lnModule As Integer, ; + llReleaseLibrary As Boolean, ; + lnMenu As Integer, ; + lnPopPup As Integer + + *!* Get module handle of user32 if it is loaded + m.lnModule = apiGetModuleHandle("user32.dll") + + *!* If not loaded, load it + If m.lnModule = 0 Then + m.llReleaseLibrary = TRUE + m.lnModule = apiLoadLibrary("user32.dll") + Else + m.llReleaseLibrary = FALSE + Endif + + *!* Now create a menu from a menu resource + m.lnMenu = apiLoadMenu(m.lnModule, m.pnMenuId) + + *!* Now get the first menu popup of the menubar + m.lnPopUp = apiGetSubMenu(m.lnMenu, 0) + + Local ; + lnMenuItemCount As Integer, ; + lnBufferLen As Integer, ; + lcBuffer As String, ; + lnMenuTextLen As Integer, ; + lcMenuCaptions As String + + *!* Get number of menu items in menu + m.lnMenuItemCount = apiGetMenuItemCount(m.lnPopUp) + m.lnBufferLen = 0xff + + *!* Get a string with all the menu item Texts, like: "&Undo|-|&Copy|Cu&t|&Paste|...." + m.lcMenuCaptions = "" + For m.lnx = 0 To m.lnMenuItemCount - 1 + m.lcBuffer = Space(m.lnBufferLen) + m.lnMenuTextLen = apiGetMenuString(m.lnPopUp, m.lnx, @m.lcBuffer, m.lnBufferLen, MF_BYPOSITION) + If m.lnMenuTextLen = 0 Then + m.lcMenuCaptions = m.lcMenuCaptions + "-" + Else + m.lcMenuCaptions = m.lcMenuCaptions + Left(m.lcBuffer, m.lnMenuTextLen) + Endif + If m.lnx < m.lnMenuItemCount - 1 Then + m.lcMenuCaptions = m.lcMenuCaptions + "|" + Endif + Endfor + + apiDestroyMenu(m.lnMenu) + + If m.llReleaseLibrary = TRUE Then + apiFreeLibrary(m.lnModule) + Endif + + Return m.lcMenuCaptions + + ENDPROC + + PROCEDURE Init + *!* Init + + External Procedure ctl32.prg + Do (Addbs(Justpath(This.ClassLibrary)) + "ctl32.prg") + + This.MenuItems = Createobject("Collection") + This.Menus = Createobject("Collection") + *This.MenuKeys = Createobject("Collection") + + This._DrawItemStruct = Createobject("_DRAWITEMSTRUCT", 0) + This._MeasureItemStruct = Createobject("_MEASUREITEMSTRUCT", 0) + + This._NextMenuItemId = 1 + + ENDPROC + + HIDDEN PROCEDURE onwmdrawitem && Bindevent to form WM_DRAWITEM + *!* OnWmDrawItem + + Lparameters m.pnHwnd As Integer, m.pnMsg As Integer, m.pnWparam As Integer, m.pnLparam As Integer + + Local ; + lnLeft, ; + lnTop, ; + lnWidth, ; + lnHeight, ; + loMenuItem As ctl32_menuitem, ; + llFound As Boolean, ; + llDisabled as Boolean, ; + llHighlighted as Boolean + + *!* m.pnlParam is a pointer to a DrawItemStruct structure + This._DrawItemStruct.Address = m.pnLparam + + *!* With This._DrawItemStruct + *!* Debugout .CtlType, .CtlID, .ItemID, .itemAction, .itemState, .hwndItem, .hDC, .ItemData + *!* Endwith + + ******************************************************************************** + *!* typedef struct tagDRAWITEMSTRUCT { + *!* UINT CtlType; + *!* UINT CtlID; + *!* UINT itemID; + *!* UINT itemAction; + *!* UINT itemState; + *!* HWND hwndItem; + *!* HDC hDC; + *!* RECT rcItem; + *!* ULONG_PTR itemData; + *!* } DRAWITEMSTRUCT; + ******************************************************************************** + + *!* We have a menu item in lnItemID, we are going to look it up in the menu items + *!* collection. This value is arbitrary, and is set in _AddMenuItemToCollection + + m.llFound = FALSE + + For m.lnIndex = 1 To This.MenuItems.Count + If This.MenuItems(m.lnIndex).ItemId = This._DrawItemStruct.ItemID + m.loMenuItem = This.MenuItems(m.lnIndex) + m.llFound = TRUE + Exit + Endif + Endfor + + *!* If menu item not found, pass message along and return + If m.llFound = FALSE Then + Return apiCallWindowProc(This._WindowProcedure, m.pnHwnd, m.pnMsg, m.pnWparam, m.pnLparam) + Endif + + *!* If no picture Id, just return + If m.loMenuItem.PictureId = 0 Then + m.loMenuItem = Null + Return TRUE + Endif + + *m.lPictureObject = m.loMenuItem.PictureObject + + *!* Convert HIMETRIC of iPicture to pixels: + *!* :http://www.experts-exchange.com/Programming/Languages/Visual_Basic/Q_20024530.html + + *!* m.lnHeight = ctlHiMetricToPixelsY(m.loMenuItem.PictureObject.Height) + *!* m.lnWidth = ctlHiMetricToPixelsX(m.loMenuItem.PictureObject.Width) + + m.lnHeight = Max(16, apiGetSystemMetrics(SM_CYMENUCHECK)) + m.lnWidth = Max(16, apiGetSystemMetrics(SM_CXMENUCHECK)) + + m.lnLeft = (This._DrawItemStruct.rcItem.Right - This._DrawItemStruct.rcItem.Left - m.lnWidth) / 2 + This._DrawItemStruct.rcItem.Left + m.lnTop = (This._DrawItemStruct.rcItem.Bottom - This._DrawItemStruct.rcItem.Top - m.lnHeight) / 2 + This._DrawItemStruct.rcItem.Top + + ApiDrawIconEx( ; + This._DrawItemStruct.hDC, ; + m.lnLeft, ; + m.lnTop, ; + m.loMenuItem.PictureId, ; + m.lnWidth, ; + m.lnHeight, ; + 0, ; + 0, ; + DI_NORMAL) + + + *!* With This._DrawItemStruct + *!* ?.ctlType, .ctlId, .ItemID, .ItemAction, .ItemState, .hwndItem, .hDC, .rcItem.Left, .rcItem.Top, .rcItem.Right, .rcItem.Bottom + *!* Endwith + + *!* m.loGraphics = _Screen.System.Drawing.Graphics.FromHdc(This._DrawItemStruct.hDC) + + *!* If m.loMenuItem.Enabled = TRUE Then + *!* *!* This is Color: + *!* m.loGraphics.DrawImage(m.lPictureObject, m.lnLeft, m.lnTop) + *!* Else + *!* *!* Draw disabled version of bitmap + *!* *!* System.Drawing.Graphics.FromHdc FAILS in Vista when the item is disabled, so + *!* *!* we check if we have an object + *!* *!* TODO: clean up this code, better "disabled" version of bitmap, grayscale, but change tone + *!* *!* emulate disabled bitmaps as much as possible maybe use the button face color + + *!* If Vartype(m.loGraphics) ="O" Then + + *!* *!* http://groups.google.kg/group/comp.lang.smalltalk.dolphin/browse_thread/thread/4ab6c6e5cf89cfad/d9a7bbe56adda9ee + *!* #Define COLORMATRIX_DISABLED 0.2125, 0.2125, 0.2125, 0, 0, 0.2577, 0.2577, 0.2577, 0, 0, 0.0361, 0.0361, 0.0361, 0, 0, 0, 0, 0, 1, 0, 0.38, 0.38, 0.38, 0, 1 + + *!* *!* http://www.codeproject.com/vb/net/colormatrix.asp North America Television Standards Committee values + *!* *#define COLORMATRIX_DISABLED 0.299, 0.299, 0.299, 0, 0, 0.587, 0.587, 0.587, 0, 0, 0.114, 0.114, 0.114, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 1 + + *!* m.loClrMatrix = _Screen.System.Drawing.Imaging.ColorMatrix.New(COLORMATRIX_DISABLED) + *!* m.loAttr = _Screen.System.Drawing.Imaging.ImageAttributes.New() + *!* m.loAttr.SetColorMatrix(m.loClrMatrix) + *!* m.loPixel = _Screen.System.Drawing.GraphicsUnit.Pixel + *!* m.loCanvasRect = _Screen.System.Drawing.Rectangle.New(m.lnLeft, m.lnTop, m.lPictureObject.Width, m.lPictureObject.Height) + *!* m.loGraphics.DrawImage(m.lPictureObject, m.loCanvasRect, m.lPictureObject.GetBounds() , m.loPixel, m.loAttr) + + *!* Endif + *!* Endif + + Return TRUE + + + + ENDPROC + + HIDDEN PROCEDURE onwmmeasureitem && Bindevent to form WM_MEASUREITEM + *!* OnWmMeasureItem + Lparameters m.pnHwnd, m.pnMsg, m.pnWparam, m.pnLparam + + *!* m.pnWparam contains the value of the CtlID member of the MEASUREITEMSTRUCT + *!* structure pointed to by the lpMeasureItem parameter. This value identifies + *!* the control that sent the WM_MEASUREITEM message. If the value is zero, + *!* the message was sent by a menu. + + *!* Some measurements I have done in Windows XP: + *!* Menu font size in points-SM_CYMENUCHECK-Height of item w/o pic-height of item w/ pic + *!* 6-9-17-20 + *!* 8-13-17-20 + *!* 9-13-18-20 + *!* 10-15-20-20 + *!* 11-17-22-22 + *!* 12-19-23-23 + *!* 13-21-25-25 + *!* 14-23-27-27 + + Local ; + lnHeight As Integer, ; + lnWidth As Integer, ; + lnBorder As Integer + + *!* m.pnlParam is a pointer to a MeasureItemStruct structure + This._MeasureItemStruct.Address = m.pnLparam + + With This._MeasureItemStruct + Debugout .CtlType, .CtlID, .ItemID, .itemWidth, .itemHeight, .ItemData + Endwith + ******************************************************************************** + *!* typedef struct tagMEASUREITEMSTRUCT { + *!* UINT CtlType; + *!* UINT CtlID; + *!* UINT itemID; + *!* UINT itemWidth; + *!* UINT itemHeight; + *!* DWORD itemData + *!* } MEASUREITEMSTRUCT; + ******************************************************************************** + + Local loMenuItem As Object, llFound As Boolean + + *!* m.llFound = FALSE + *!* For m.lnIndex = 1 To This.MenuItems.Count + *!* If This.MenuItems(m.lnIndex).ItemID = This._MeasureItemStruct.ItemID + *!* m.loMenuItem = This.MenuItems(m.lnIndex) + *!* m.llFound = TRUE + *!* Exit + *!* Endif + *!* Endfor + + If This._MeasureItemStruct.ItemID <= This.MenuItems.Count Then + m.loMenuItem = This.MenuItems(This._MeasureItemStruct.ItemID) + Else + Return apiCallWindowProc(This._WindowProcedure, m.pnHwnd, m.pnMsg, m.pnWparam, m.pnLparam) + Endif + + *!* If menu item not found, pass message along and return + *!* If m.llFound = FALSE Then + *!* Return apiCallWindowProc(This._WindowProcedure, m.pnHWnd, m.pnMsg, m.pnwParam, m.pnlParam) + *!* Endif + + *!* For SM_CYMENUCHECK/SM_CXMENUCHECK lower than 15 we have to compensate + *!* 18 gives us a 20 pixel tall menu item + + Local lnHeight As Integer, lnWidth As Integer + + m.lnHeight = apiGetSystemMetrics(SM_CYMENUCHECK) + + If m.lnHeight <= 15 + m.lnHeight = 18 + Endif + + m.lnWidth = apiGetSystemMetrics(SM_CXMENUCHECK) + + If m.lnWidth <= 15 + m.lnWidth = 18 + Endif + + If ctlGetOsVersion() <= NTDDI_VISTA Or This.OwnerDrawn Then + This._MeasureItemStruct.itemWidth = Max(m.lnWidth, This._MeasureItemStruct.itemWidth - 1) + This._MeasureItemStruct.itemHeight = Max(m.lnHeight, This._MeasureItemStruct.itemHeight - 1) + Else + This._MeasureItemStruct.itemWidth = Max(m.lnWidth, This._MeasureItemStruct.itemWidth ) + This._MeasureItemStruct.itemHeight = Max(m.lnHeight, This._MeasureItemStruct.itemHeight) + Endif + + m.loMenuItem = Null + + Return TRUE + + ENDPROC + + PROCEDURE show && Displays a Form and specifies if the Form is modal or modeless. + *!* Show() + *!* Show(nx, ny) + *!* Show(nStyle) + + Lparameters m.pnX As Integer, m.pnY As Integer, m.plAlreadyScreenCoordinates As Logical + + *!* m.pnX and m.pnY specifies the point where menu should be + *!* positioned, in form coordinates! Should transform to + *!* screen coordinates + + Local ; + lnFlags As Integer, ; + lnScreenX As Integer, ; + lnScreenY As Integer, ; + lnItemId As Integer + + m.lnScreenX = 0 + m.lnScreenY = 0 + + Do Case + + *!* No parameters, show at mouse cursor pos + Case Pcount() = 0 + ctlGetCursorPos(@m.lnScreenX, @m.lnScreenY) + + *!* One parameter = 0 means show at mouse cursor, 1 means show at caret + Case Pcount() = 1 And Vartype(m.pnX) = "N" + + If m.pnX = 0 Then + *!* Use mouse pointer position + ctlGetCursorPos(@m.lnScreenX, @m.lnScreenY) + Else + *!* Use caret position + ctlGetCaretPos(@m.lnScreenX, @m.lnScreenY) + ctlClientToScreen(This.FormHwnd, @m.lnScreenX, @m.lnScreenY) + *!* add some pixels here + m.lnScreenX = m.lnScreenX + 4 + m.lnScreenY = m.lnScreenY + 8 + Endif + + *!* At least two numeric parameters: x,y coordinates + Case Vartype(m.pnX) + Vartype(m.pnY) = "NN" + m.lnScreenX = m.pnX + m.lnScreenY = m.pnY + + *!* If we don´t have a third parameter, this are form coordinates, + *!* otherwise they are already screen coordinates + If Pcount() < 3 Then + ctlClientToScreen(This.FormHwnd, @m.lnScreenX, @m.lnScreenY) + Endif + + *!* show at mouse cursor pos + Otherwise + ctlGetCursorPos(@m.lnScreenX, @m.lnScreenY) + + Endcase + + If Vartype(This.ShowFlags) = "N" Then + m.lnFlags = Bitor(This.ShowFlags, TPM_RETURNCMD) + Else + m.lnFlags = TPM_RETURNCMD + Endif + + m.lnItemId = apiTrackPopupMenuEx(This.Menus(1).MenuId, m.lnFlags, m.lnScreenX, m.lnScreenY, This.FormHwnd, Null) + + For m.lnIndex = 1 To This.MenuItems.Count + If This.MenuItems(m.lnIndex).ItemID = m.lnItemId + Return This.MenuItems.GetKey(m.lnIndex) + Exit + Endif + Endfor + + Return "" + + + ENDPROC + + PROCEDURE showcontrolmenu + *!* ShowControlMenu + Lparameters m.pnX As Integer, m.pnY As Integer + + Local lcCommand As String + + *!* Only build menu if it is not already built + If This._ControlMenuBuilt = FALSE Then + This.Clear + + If Pemstatus(This, "_ControlTexts", 5) = FALSE Then + Local lcCaptions As String, lnCaptionsCount As Integer, lnx As Integer + m.lcCaptions = This.GetSystemMenuCaptions(16) + m.lnCaptionsCount = Getwordcount(m.lcCaptions,"|") + This.AddProperty("_ControlTexts(" + Alltrim(Str(m.lnCaptionsCount)) + ")", "") + For m.lnx = 1 To m.lnCaptionsCount + This._ControlTexts(m.lnx) = Getwordnum(m.lcCaptions, m.lnx, "|") + Endfor + Endif + + This.Add("SMENU") + + *!* Using OS images + + This.Add("SMENU", "RESTORE", This._ControlTexts(1), HBMMENU_POPUP_RESTORE) + This.Add("SMENU", "MOVE", This._ControlTexts(2)) + This.Add("SMENU", "SIZE", This._ControlTexts(3)) + + If _Screen.Activeform.MinButton Then + This.Add("SMENU", "MINIMIZE", This._ControlTexts(4), HBMMENU_POPUP_MINIMIZE) + Endif + + If _Screen.Activeform.MaxButton Then + This.Add("SMENU", "MAXIMIZE", This._ControlTexts(5), HBMMENU_POPUP_MAXIMIZE) + Endif + + If _Screen.Activeform.Closable Then + This.Add("SMENU", "SEPARATOR1", This._ControlTexts(6)) + + *!* Modify Shortcut key label: + If _Screen.Activeform.ShowWindow = 2 Then + This.Add("SMENU", "CLOSE", This._ControlTexts(7), HBMMENU_POPUP_CLOSE) + Else + This.Add("SMENU", "CLOSE", Getwordnum(This._ControlTexts(7), 1, TABCHAR) + TABCHAR + "Ctrl+F4", HBMMENU_POPUP_CLOSE) + Endif + + This.MenuItems("CLOSE").DefaultItem = TRUE + Endif + + This._ControlMenuBuilt = TRUE + Endif + + *!* Set menu items state: + + Do Case + Case _Screen.Activeform.WindowState = 0 + This.MenuItems("RESTORE").Enabled = FALSE + This.MenuItems("MOVE").Enabled = TRUE + This.MenuItems("SIZE").Enabled = TRUE + If _Screen.Activeform.MinButton Then + This.MenuItems("MINIMIZE").Enabled = TRUE + Endif + If _Screen.Activeform.MaxButton Then + This.MenuItems("MAXIMIZE").Enabled = TRUE + Endif + + Case _Screen.Activeform.WindowState = 1 + This.MenuItems("RESTORE").Enabled = TRUE + This.MenuItems("MOVE").Enabled = FALSE + This.MenuItems("SIZE").Enabled = FALSE + If _Screen.Activeform.MinButton Then + This.MenuItems("MINIMIZE").Enabled = FALSE + Endif + If _Screen.Activeform.MaxButton Then + This.MenuItems("MAXIMIZE").Enabled = TRUE + Endif + + Case _Screen.Activeform.WindowState = 2 + This.MenuItems("RESTORE").Enabled = TRUE + This.MenuItems("MOVE").Enabled = FALSE + This.MenuItems("SIZE").Enabled = FALSE + If _Screen.Activeform.MinButton Then + This.MenuItems("MINIMIZE").Enabled = TRUE + Endif + If _Screen.Activeform.MaxButton Then + This.MenuItems("MAXIMIZE").Enabled = FALSE + Endif + + Endcase + + m.lcCommand = This.Show(m.pnX, m.pnY) + + Do Case + Case m.lcCommand = "RESTORE" + apiSendMessageInteger(This.FormHwnd, WM_SYSCOMMAND, SC_RESTORE, 0) + Case m.lcCommand = "MOVE" + apiSendMessageInteger(This.FormHwnd, WM_SYSCOMMAND, SC_MOVE, 0) + Case m.lcCommand = "SIZE" + apiSendMessageInteger(This.FormHwnd, WM_SYSCOMMAND, SC_SIZE, 0) + Case m.lcCommand = "MINIMIZE" + apiSendMessageInteger(This.FormHwnd, WM_SYSCOMMAND, SC_MINIMIZE, 0) + Case m.lcCommand = "MAXIMIZE" + apiSendMessageInteger(This.FormHwnd, WM_SYSCOMMAND, SC_MAXIMIZE, 0) + Case m.lcCommand = "CLOSE" + apiSendMessageInteger(This.FormHwnd, WM_SYSCOMMAND, SC_CLOSE, 0) + Otherwise + Endcase + + + + + + ENDPROC + + PROCEDURE showeditmenu + *!* ShowEditMenu + Lparameters m.pnX As Integer, m.pnY As Integer + + Local lcCommand As String + + This.Clear + + If This._EditMenuBuilt = FALSE Then + + This.Clear + + *!* Get Edit menu Texts from Windows if we have not done it already: + If Pemstatus(This, "_EditTexts", 5) = FALSE Then + + Local ; + lcCaptions As String, ; + lnCaptionsCount As Integer, ; + lnx As Integer + + m.lcCaptions = This.GetSystemMenuCaptions(1) + m.lnCaptionsCount = Getwordcount(m.lcCaptions,"|") + + This.AddProperty("_EditTexts(" + Alltrim(Str(m.lnCaptionsCount)) + ")", "") + + For m.lnx = 1 To m.lnCaptionsCount + This._EditTexts(m.lnx) = Alltrim(Getwordnum(m.lcCaptions, m.lnx, "|")) + Endfor + Endif + + *!* Add main popup + This.Add("_MEDIT") + + This.Add("_MEDIT", "_MED_UNDO", This._EditTexts(1), "edit_undo_16x16.ico") + This.Add("_MEDIT", "SEPARATOR1", This._EditTexts(2)) + This.Add("_MEDIT", "_MED_CUT", This._EditTexts(3), "edit_cut_16x16.ico") + This.Add("_MEDIT", "_MED_COPY", This._EditTexts(4), "edit_copy_16x16.ico") + This.Add("_MEDIT", "_MED_PASTE", This._EditTexts(5), "edit_paste_16x16.ico") + This.Add("_MEDIT", "_MED_CLEAR", This._EditTexts(6)) + This.Add("_MEDIT", "SEPARATOR2", This._EditTexts(7)) + This.Add("_MEDIT", "_MED_SLCTA", This._EditTexts(8)) + + This._EditMenuBuilt = TRUE + + Endif + + *!* Set menu items state: + If _Screen.ActiveForm.ActiveControl.BaseClass = "Olecontrol" Then + If apiSendMessageInteger(_Screen.ActiveForm.ActiveControl.HWnd, EM_CANUNDO, 0, 0) = 0 Then + This.MenuItems("_MED_UNDO").Enabled = .F. + Else + This.MenuItems("_MED_UNDO").Enabled = .T. + Endif + If apiSendMessageInteger(_Screen.ActiveForm.ActiveControl.HWnd, EM_CANPASTE, 0, 0) = 0 Then + This.MenuItems("_MED_PASTE").Enabled = .F. + Else + This.MenuItems("_MED_PASTE").Enabled = .T. + Endif + + Else + This.MenuItems("_MED_UNDO").Enabled = Not Skpbar("_MEDIT", _Med_undo) + This.MenuItems("_MED_PASTE").Enabled = Not Empty(_Cliptext) + Endif + + *!* Skpbar(...) fails when you right click in a control that does not have the focus + *!* Skpbar still reflects the state of the previous active control + + If Type("_Screen.Activeform.ActiveControl.SelLength") = "N" Then + This.MenuItems("_MED_CUT").Enabled = _Screen.ActiveForm.ActiveControl.SelLength > 0 + This.MenuItems("_MED_COPY").Enabled = _Screen.ActiveForm.ActiveControl.SelLength > 0 + This.MenuItems("_MED_CLEAR").Enabled = _Screen.ActiveForm.ActiveControl.SelLength > 0 + Endif + + If Pemstatus(_Screen.ActiveForm.ActiveControl, "ReadOnly", 5) Then + If _Screen.ActiveForm.ActiveControl.ReadOnly = TRUE Then + This.MenuItems("_MED_CUT").Enabled = FALSE + This.MenuItems("_MED_CLEAR").Enabled = FALSE + This.MenuItems("_MED_PASTE").Enabled = FALSE + Endif + Endif + + m.lcCommand = This.Show(m.pnX, m.pnY) + + If _Screen.ActiveForm.ActiveControl.BaseClass = "Olecontrol" Then + Do Case + Case m.lcCommand = "_MED_UNDO" + apiSendMessageInteger(_Screen.ActiveForm.ActiveControl.HWnd, WM_UNDO, 0, 0) + Case m.lcCommand = "_MED_CUT" + apiSendMessageInteger(_Screen.ActiveForm.ActiveControl.HWnd, WM_CUT, 0, 0) + Case m.lcCommand = "_MED_COPY" + apiSendMessageInteger(_Screen.ActiveForm.ActiveControl.HWnd, WM_COPY, 0, 0) + Case m.lcCommand = "_MED_PASTE" + apiSendMessageInteger(_Screen.ActiveForm.ActiveControl.HWnd, WM_PASTE, 0, 0) + Case m.lcCommand = "_MED_CLEAR" + apiSendMessageInteger(_Screen.ActiveForm.ActiveControl.HWnd, WM_CLEAR, 0, 0) + Case m.lcCommand = "_MED_SLCTA" + apiSendMessageInteger(_Screen.ActiveForm.ActiveControl.HWnd, EM_SETSEL, 0, -1) + Endcase + Else + Do Case + Case m.lcCommand = "_MED_UNDO" + Sys(1500, '_MED_UNDO', '_MEDIT') + Case m.lcCommand = "_MED_CUT" + Sys(1500, '_MED_CUT', '_MEDIT') + Case m.lcCommand = "_MED_COPY" + Sys(1500, '_MED_COPY', '_MEDIT') + Case m.lcCommand = "_MED_PASTE" + Sys(1500, '_MED_PASTE', '_MEDIT') + Case m.lcCommand = "_MED_CLEAR" + Sys(1500, '_MED_CLEAR', '_MEDIT') + Case m.lcCommand = "_MED_SLCTA" + Sys(1500, '_MED_SLCTA', '_MEDIT') + Endcase + Endif + + + ENDPROC + + PROCEDURE _addmenu + *!* _AddMenu(ItemKey) + + *!* This method is used to add menus, menu pop-ups and submenus + *!* When adding the first menu, the MenuKey must be the owner form Hwnd + + Lparameters m.peItemKey + + Local lcItemKey As String + + *!* Transform has issues + If Vartype(m.peItemKey) = "N" Then + m.lcItemKey = Alltrim(Str(m.peItemKey)) + Else + m.lcItemKey = m.peItemKey + Endif + + If This.Menus.Count = 0 Then + This.FormHwnd = _Screen.ActiveForm.HWnd + This._BindEvents() + Endif + + This.Menus.Add(Createobject("ctl32_menu"), m.lcItemKey) + + This.Menus(m.lcItemKey).MenuID = apiCreatePopupMenu() + + Local ; + lcMenuInfo As String, ; + loMenuInfo As _MENUINFO + + m.loMenuInfo = Createobject("_MENUINFO") + + m.loMenuInfo.fMask = Bitor(MIM_BACKGROUND, MIM_MAXHEIGHT, MIM_STYLE, MIM_MENUDATA) + m.loMenuInfo.dwStyle = Bitor(MNS_AUTODISMISS, MNS_CHECKORBMP) + m.loMenuInfo.cyMax = This.Menus(m.lcItemKey).Height + m.loMenuInfo.hbrBack = 0 + m.loMenuInfo.dwContextHelpID = 0 + m.loMenuInfo.dwMenuData = 0 + + m.lcMenuInfo = m.loMenuInfo.Value + apiSetMenuInfo(This.Menus(m.lcItemKey).MenuID, @m.lcMenuInfo) + + Return This.Menus(m.lcItemKey).MenuID + + ENDPROC + + PROCEDURE _addmenuitem + *!* _AddMenuItem + + Lparameters m.peItemKey1, m.peItemKey2, m.pcCaption As String, m.pePicture + + Local ; + lcItemKey1 As String, ; + lcItemKey2 As String, ; + loMenuItem As ctl32_menuitem + + If Vartype(m.peItemKey1) = "N" Then + m.lcItemKey1 = Alltrim(Str(m.peItemKey1)) + Else + m.lcItemKey1 = m.peItemKey1 + Endif + + If Vartype(m.peItemKey2) = "N" Then + m.lcItemKey2 = Alltrim(Str(m.peItemKey2)) + Else + m.lcItemKey2 = m.peItemKey2 + Endif + + *!* Check if this menuitem has a parent menu: + If Empty(This.Menus.GetKey(m.lcItemKey1)) + If Empty(This.MenuItems.GetKey(m.lcItemKey1)) + *!* There is no parent with the passed m.lcItemKey1 + Return + Else + *!* Create a menu for the parent menuitem if needed + If This.MenuItems(m.lcItemKey1).SubMenuId = 0 Then + This.MenuItems(m.lcItemKey1).SubMenuId = This._AddMenu(m.lcItemKey1) + Endif + Endif + Endif + + *!* Add menu item object to MenuItems collection + This.MenuItems.Add(Createobject("ctl32_menuitem"), m.peItemKey2) + + *!* Assign values to all the menu item properties: + m.loMenuItem = This.MenuItems(m.peItemKey2) + + m.loMenuItem.Caption = m.pcCaption + + *!* ID of the menu that contains this menu item + m.loMenuItem.MenuId = This.Menus(m.lcItemKey1).MenuId + + m.loMenuItem.ItemId = This._NextMenuItemId + This._NextMenuItemId = This._NextMenuItemId + 1 + + *!* Proceed with API: + + Local ; + lcMenuItemInfo As String,; + loMenuItemInfo As _MENUITEMINFO + + ******************************************************************************** + *!* typedef struct tagMENUITEMINFO { + *!* UINT cbSize; + *!* UINT fMask; + *!* UINT fType; + *!* UINT fState; + *!* UINT wID; + *!* HMENU hSubMenu; + *!* HBITMAP hbmpChecked; + *!* HBITMAP hbmpUnchecked; + *!* ULONG_PTR dwItemData; + *!* LPTSTR dwTypeData; + *!* UINT cch; + *!* HBITMAP hbmpItem; + *!* } MENUITEMINFO, *LPMENUITEMINFO; + ******************************************************************************** + + m.loMenuItemInfo = Createobject("_MENUITEMINFO") + + *!* *!* cbSize: Size of structure, in bytes. + *!* m.loMenuItemInfo.cbSize = 12*4 + + *!* fMask: Members to retrieve or set + m.loMenuItemInfo.fMask = Bitor(MIIM_FTYPE, MIIM_ID, MIIM_STRING, MIIM_DATA) + + m.loMenuItemInfo.fType = MFT_STRING + + If m.loMenuItem.Caption = "-" Then + m.loMenuItemInfo.fType = Bitor(m.loMenuItemInfo.fType, MF_SEPARATOR) + Endif + + If ctlGetOsVersion() < NTDDI_VISTA + m.loMenuItemInfo.fMask = Bitor(m.loMenuItemInfo.fMask, MIIM_BITMAP) + m.loMenuItemInfo.hbmpItem = HBMMENU_CALLBACK + Else + m.loMenuItemInfo.hbmpItem = 0 + Endif + + m.loMenuItemInfo.fState = 0 + + *!* wID: Application-defined 16-bit value that identifies the menu item. + *!* Set fMask to MIIM_ID to use wID. + m.loMenuItemInfo.wID = m.loMenuItem.ItemId + + m.loMenuItemInfo.hSubMenu = 0 + m.loMenuItemInfo.hbmpChecked = 0 + m.loMenuItemInfo.hbmpUnchecked = 0 + + *!* dwItemData: Application-defined value associated with the menu item. + *!* Set fMask to MIIM_DATA to use dwItemData. + m.loMenuItemInfo.dwItemData = 0 + + *!* Pointer to Text string + Local lcCaption As String + + m.lcCaption = Strtran(m.loMenuItem.Caption, "\t", TABCHAR) + m.lcCaption = Strtran(m.lcCaption, "\<", "&") + m.loMenuItemInfo.dwTypeData = m.lcCaption + NULA + + *!* cch: Length of the menu item text, in TCHARs, when information is received + *!* about a menu item of the MFT_STRING type. Ignored when the content of a menu + *!* item is set by calling SetMenuItemInfo. + + m.loMenuItemInfo.cch = Len(m.loMenuItemInfo.dwTypeData) + + *!* Structure members have been set, now create structure string: + + m.lcMenuItemInfo = m.loMenuItemInfo.Value + + *!* Count number of menu items of menu, to insert new menu item at the end + apiInsertMenuItem( ; + m.loMenuItem.MenuId, ; + apiGetMenuItemCount(m.loMenuItem.MenuId), ; + MF_BYPOSITION, ; + @m.lcMenuItemInfo) + + m.loMenuItem.Picture = m.pePicture + + m.loMenuItem = .Null. + m.loMenuItemInfo = .Null. + + + + Return + + + *!* *!* fType: Menu item type: MFT_RADIOCHECK MFT_SEPARATOR MFT_STRING ...; + *!* *!* Set fMask to MIIM_TYPE to use fType. + + *!* If m.loMenuItem.RadioCheck = TRUE Then + *!* m.loMenuItemInfo.fType = Bitor(m.loMenuItemInfo.fType, MFT_RADIOCHECK) + *!* Endif + + *!* *!* fState: Menu item state... MFS_CHECKED MFS_DEFAULT MFS_GRAYED ... + *!* *!* Set fMask to MIIM_STATE to use fState + + + *!* If m.loMenuItem.Checked = TRUE Then + *!* m.loMenuItemInfo.fState = Bitor(m.loMenuItemInfo.fState, MFS_CHECKED) + *!* Endif + + *!* If m.loMenuItem.DefaultItem = TRUE Then + *!* m.loMenuItemInfo.fState = Bitor(m.loMenuItemInfo.fState, MFS_DEFAULT) + *!* Endif + + *!* If m.loMenuItem.Enabled = FALSE Then + *!* m.loMenuItemInfo.fState = Bitor(m.loMenuItemInfo.fState, MFS_GRAYED) + *!* Endif + + + + *!* hbmpChecked: Handle to the bitmap to display next to the item if it is selected. + *!* If this member is NULL, a default bitmap is used. + *!* If the MFT_RADIOCHECK type value is specified, the default bitmap is a bullet. + *!"* Otherwise, it is a check mark. + *!* Set fMask to MIIM_CHECKMARKS to use hbmpChecked. + + *!* 20080324 + + *!* hbmpUnchecked: Handle to the bitmap to display next to the item if it is not selected. + *!* If this member is NULL, no bitmap is used. + *!* Set fMask to MIIM_CHECKMARKS to use hbmpUnchecked. + + *!* 20080324 + + + + *!* Reset structure + *!*m.loMenuItemInfo = Createobject("_MENUITEMINFO") + + *!* Set callback so we process wm_measureitem and can fix the menu item height + If ctlGetOsVersion() < NTDDI_VISTA + m.loMenuItemInfo.fMask = MIIM_BITMAP + m.loMenuItemInfo.hbmpItem = HBMMENU_CALLBACK + m.lcMenuItemInfo = m.loMenuItemInfo.Value + apiSetMenuItemInfo(m.loMenuItem.MenuId, m.loMenuItem.ItemId, MF_BYCOMMAND, @m.lcMenuItemInfo) + Else + *!* should create and add a blank transparent bitmap in Vista + *!* of m.loMenuItem.PictureHeight width and height and then assign it: + *!* m.loMenuItem.PictureId = m.loMenuItem.PictureObject.GetHBitmap(m.loColor) + *!* This._SetMenuItemInfo_hbmpItem(m.loMenuItem.MenuId, m.loMenuItem.ItemId, m.loMenuItem.PictureId) + Endif + + m.loMenuItem.Picture = m.puPicture + + + + + + ENDPROC + + PROCEDURE _addmenuitemtocollection + *!* _AddMenuItemToCollection + + Lparameters ; + m.pcMenuKey, ; + m.pItemKey, ; + m.pnType, ; + m.pcCaption, ; + m.puPicture, ; + m.plChecked, ; + m.plRadioCheck, ; + m.plDisabled, ; + m.plDefaultItem, ; + m.pcStatusBarText + + Local loMenuItem as ctl32_menuitem + + *!* Add menu item object to MenuItems collection + This.MenuItems.Add(Createobject("ctl32_menuitem"), m.pItemKey) + + *!* Assign values to all the menu item properties: + m.loMenuItem = This.MenuItems(m.pItemKey) + + m.loMenuItem.Caption = m.pcCaption + m.loMenuItem.DefaultItem = m.plDefaultItem + m.loMenuItem.Enabled = Not m.plDisabled + + *!* ID of the menu that contains this menu item + m.loMenuItem.MenuId = This.Menus(m.pcMenuKey).MenuId + + m.loMenuItem.Shortcut = "" + m.loMenuItem.Checked = m.plChecked + m.loMenuItem.RadioCheck = m.plRadioCheck + m.loMenuItem.MenuPKey = m.pcMenuKey + + *!* if puPicture is numeric, it represents a picture handle + + m.loMenuItem.Picture = "" + + If Vartype(m.puPicture) = "N" Then + m.loMenuItem.Picture = "" + m.loMenuItem.PictureId = m.puPicture + Endif + + If Vartype(m.puPicture) = "C" And File(m.puPicture) Then + m.loMenuItem.Picture = m.puPicture + Endif + + m.loMenuItem.ItemKey = m.pItemKey + + *!* ItemId is a random value + m.loMenuItem.ItemId = This.MenuItems.GetKey(m.pItemKey) + + m.loMenuItem.StatusBarText = Iif(Vartype(m.pcStatusBarText) = "C", m.pcStatusBarText, "") + + *!* ID of the submenu called by this menu item + If m.pnType = 3 + m.loMenuItem.SubMenuId = This.Menus(m.pItemKey).MenuId + Else + m.loMenuItem.SubMenuId = 0 + Endif + + m.loMenuItem = .Null. + + Return m.pItemKey + + + *!* hbmpItem: Handle to the bitmap to be displayed, + *!* or it can be one of the values in the following table. + *!* It is used when the MIIM_BITMAP flag is set in the fMask member. + *!* HBMMENU_CALLBACK + *!* HBMMENU_POPUP_CLOSE + *!* HBMMENU_POPUP_MAXIMIZE + *!* HBMMENU_POPUP_MINIMIZE + *!* HBMMENU_POPUP_RESTORE + *!* HBMMENU_SYSTEM + ENDPROC + + PROCEDURE _bindevents + *!* _BindEvents() + If ctlGetOsVersion() < NTDDI_VISTA Or This.OwnerDrawn Then + This._WindowProcedure = ctlGetWindowProcedure(This.FormHwnd) + Bindevent(This.FormHwnd, WM_MEASUREITEM, This, "OnWmMeasureItem") + Bindevent(This.FormHwnd, WM_DRAWITEM, This, "OnWmDrawItem") + Endif + + ENDPROC + + PROCEDURE _setbitmap + ENDPROC + + PROCEDURE _setmenuiteminfo_hbmpitem + *!* _SetMenuItemInfo_hBmpItem + + Lparameters pnHostId, pnItemId, pnBitmapId + + Local ; + lcMenuItemInfo As String, ; + loMenuItemInfo As _MENUITEMINFO + + m.loMenuItemInfo = Createobject("_MENUITEMINFO") + + m.loMenuItemInfo.fMask = MIIM_BITMAP + m.loMenuItemInfo.hbmpItem = m.pnBitmapId + m.lcMenuItemInfo = m.loMenuItemInfo.Value + + apiSetMenuItemInfo(m.pnHostId, m.pnItemId, MF_BYCOMMAND, @m.lcMenuItemInfo) + + m.loMenuItemInfo = Null + + ENDPROC + + PROCEDURE _setmenuiteminfo_miim_checkmarks + *!* _SetMenuItemInfo_miim_checkmarks + + Lparameters pnHostId, pnItemId, pnBitmapId + + Local ; + lcMenuItemInfo As String, ; + loMenuItemInfo As _MENUITEMINFO + + m.loMenuItemInfo = Createobject("_MENUITEMINFO") + + m.loMenuItemInfo.fMask = MIIM_CHECKMARKS + + m.loMenuItemInfo.hbmpChecked = m.pnBitmapId + m.loMenuItemInfo.hbmpUnchecked = m.pnBitmapId + + m.lcMenuItemInfo = m.loMenuItemInfo.Value + + apiSetMenuItemInfo(m.pnHostId, m.pnItemId, MF_BYCOMMAND, @m.lcMenuItemInfo) + + m.loMenuItemInfo = Null + + ENDPROC + + PROCEDURE lblname.Init + Return FALSE + + ENDPROC + +ENDDEFINE diff --git a/utile/ctl32/ctl32_functions.prg b/utile/ctl32/ctl32_functions.prg new file mode 100644 index 0000000..dd655e4 --- /dev/null +++ b/utile/ctl32/ctl32_functions.prg @@ -0,0 +1,1970 @@ +******************************************************************************** +*!* ctl32_functions.prg +******************************************************************************** +#Include ctl32.h + +If Not Sys(16) $ Upper(Set("Procedure")) Then + Set Procedure To Sys(16) Additive +Endif + +Return + +******************************************************************************** +*!* ctlClientToScreen(nhWnd, @nX, @nY) +******************************************************************************** +*!* Returns client coords x, y translated into screen coords x, y +******************************************************************************** +Function ctlClientToScreen(pnHWnd As Integer, pnX As Integer, pnY As Integer) + + Local ; + m.lcPoint As String, ; + m.lnRetVal As Integer + + m.lcPoint = BinToC(m.pnX, "4RS") + BinToC(m.pnY, "4RS") + m.lnRetVal = apiClientToScreen(m.pnHWnd, @m.lcPoint) + + m.pnX = CToBin(Substr(m.lcPoint , 1, 4), "4RS") + m.pnY = CToBin(Substr(m.lcPoint , 5, 4), "4RS") + + Return m.lnRetVal <> 0 +Endfunc + +******************************************************************************** +*!* ctlComRegister(cFileName) +******************************************************************************** +*!* Registers a self registering dll or activex +******************************************************************************** +Function ctlComRegister(pcFileName As String) + + Local ; + m.lnHandle As Integer, ; + m.llRetVal As Boolean + + m.llRetVal = FALSE + + m.lnHandle = apiLoadLibrary(m.pcFileName) + + If m.lnHandle <> 0 Then + + If apiGetProcAddress(m.lnHandle, "DllRegisterServer") <> 0 + + Declare Integer DllRegisterServer In (m.pcFileName) ; + As DllRegisterServer_2CC11JLUG + + If DllRegisterServer_2CC11JLUG() = S_OK Then + m.llRetVal = TRUE + Endif + + Clear Dlls DllRegisterServer_2CC11JLUG + Endif + apiFreeLibrary(m.lnHandle) + Endif + Return m.llRetVal +Endfunc + +******************************************************************************** +*!* ctlComUnregister(cFileName) +******************************************************************************** +*!* Unregisters a self registering dll or activex +******************************************************************************** +Function ctlComUnregister(m.pcFileName As String) + + Local ; + m.lnHandle As Integer, ; + m.llRetVal As Boolean + + m.llRetVal = FALSE + + m.lnHandle = apiLoadLibrary(m.pcFileName) + + If m.lnHandle <> 0 Then + + If apiGetProcAddress(m.lnHandle, "DllRegisterServer") <> 0 + + Declare Integer DllUnregisterServer In (m.pcFileName) ; + As DllUnregisterServer_2CC11JLUG + + If DllUnregisterServer_2CC11JLUG() = S_OK Then + m.llRetVal = TRUE + Endif + + Clear Dlls DllUnregisterServer_2CC11JLUG + + Endif + apiFreeLibrary(m.lnHandle) + Endif + +Endfunc + +******************************************************************************** +*!* ctlCToLargeInteger(cLargeInt) +******************************************************************************** +*!* Converts a large integer binary value (8 bytes) to a VFP number +******************************************************************************** +Function ctlCToLargeInteger(pcLargeInt As String) + + Local ; + lnLow As Integer, ; + lnHigh As Integer, ; + lnLargeInt As Integer + + m.lnLow = CToBin(Left(m.pcLargeInt, 4), "4rs") + m.lnHigh = CToBin(Right(m.pcLargeInt, 4), "4rs") + m.lnLargeInt = ctlLowHighToLargeInteger(m.lnLow, m.lnHigh) + + Return m.lnLargeInt +Endfunc + +******************************************************************************** +*!* ctlGetOsVersion() +******************************************************************************** +*!* Returns the operating system version in a NTDDI format +******************************************************************************** +*!* NTDDI version constants +*!* /http://forums.microsoft.com/MSDN/ShowPost.aspx?PostID=2095548&SiteID=1 +*!* #define NTDDI_WIN2K 05000000 +*!* #define NTDDI_WIN2KSP1 05000100 +*!* #define NTDDI_WIN2KSP2 05000200 +*!* #define NTDDI_WIN2KSP3 05000300 +*!* #define NTDDI_WIN2KSP4 05000400 + +*!* #define NTDDI_WINXP 05010000 +*!* #define NTDDI_WINXPSP1 05010100 +*!* #define NTDDI_WINXPSP2 05010200 +*!* #define NTDDI_WINXPSP3 05010300 +*!* #define NTDDI_WINXPSP4 05010400 + +*!* #define NTDDI_WS03 05020000 +*!* #define NTDDI_WS03SP1 05020100 +*!* #define NTDDI_WS03SP2 05020200 +*!* #define NTDDI_WS03SP3 05020300 +*!* #define NTDDI_WS03SP4 05020400 + +*!* #define NTDDI_WIN6 06000000 +*!* #define NTDDI_WIN6SP1 06000100 +*!* #define NTDDI_WIN6SP2 06000200 +*!* #define NTDDI_WIN6SP3 06000300 +*!* #define NTDDI_WIN6SP4 06000400 +*!* #define NTDDI_VISTA NTDDI_WIN6 +*!* #define NTDDI_VISTASP1 NTDDI_WIN6SP1 +*!* #define NTDDI_VISTASP2 NTDDI_WIN6SP2 +*!* #define NTDDI_VISTASP3 NTDDI_WIN6SP3 +*!* #define NTDDI_VISTASP4 NTDDI_WIN6SP4 +*!* #define NTDDI_WS08 NTDDI_WIN6SP1 +*!* #define NTDDI_WS08SP2 NTDDI_WIN6SP2 +*!* #define NTDDI_WS08SP3 NTDDI_WIN6SP3 +*!* #define NTDDI_WS08SP4 NTDDI_WIN6SP4 +*!* #define NTDDI_LONGHORN NTDDI_VISTA +******************************************************************************** +Function ctlGetOsVersion() + Return Val(Os(3)) * 1000000 + Val(Os(4)) * 10000 + Val(Os(8)) * 100 + Val(Os(9)) +Endfunc + +******************************************************************************** +*!* ctlGetCaretPos(@nX, @nY) +******************************************************************************** +*!* Returns the position of the caret in CLIENT coordinates. +******************************************************************************** +Function ctlGetCaretPos(pnX As Integer, pnY As Integer) + + Local ; + m.lcPoint As String, ; + m.lnRetVal As Integer + + m.lcPoint = 0h0000000000000000 + m.lnRetVal = apiGetCaretPos(@m.lcPoint) + m.pnX = CToBin(Substr(m.lcPoint, 1, 4), "4RS") + m.pnY = CToBin(Substr(m.lcPoint, 5, 4), "4RS") + Return m.lnRetVal <> 0 +Endfunc + +******************************************************************************** +*!* ctlGetCaretPosX() +******************************************************************************** +*!* Returns the X coordinate of the caret position in CLIENT coordinates +******************************************************************************** +Function ctlGetCaretPosX() + + Local m.lcPoint As String + + m.lcPoint = 0h0000000000000000 + apiGetCaretPos(@m.lcPoint) + Return CToBin(Substr(m.lcPoint, 1, 4), "4RS") +Endfunc + +******************************************************************************** +*!* ctlGetCaretPosY() +******************************************************************************** +*!* Returns the Y coordinate of the caret position in CLIENT coordinates +******************************************************************************** +Function ctlGetCaretPosY() + + Local m.lcPoint As String + + m.lcPoint = 0h0000000000000000 + apiGetCaretPos(@m.lcPoint) + Return CToBin(Substr(m.lcPoint, 5, 4), "4RS") +Endfunc + +******************************************************************************** +*!* ctlGetCursorPos(@nX, @nY) +******************************************************************************** +*!* Returns the position of the mouse cursor in SCREEN coordinates. +******************************************************************************** +Function ctlGetCursorPos(m.pnX As Integer, m.pnY As Integer) + + Local ; + m.lcPoint As String, ; + m.lnRetVal As Integer + + m.lcPoint = 0h0000000000000000 + m.lnRetVal = apiGetCursorPos(@m.lcPoint) + m.pnX = CToBin(Substr(m.lcPoint, 1, 4), "4RS") + m.pnY = CToBin(Substr(m.lcPoint, 5, 4), "4RS") + Return m.lnRetVal <> 0 +Endfunc + +******************************************************************************** +*!* ctlGetCursorPosX() +******************************************************************************** +*!* Returns the x coordinate position of the mouse cursor in SCREEN coordinates. +******************************************************************************** +Function ctlGetCursorPosX() + + Local m.lcPoint As String + + m.lcPoint = 0h0000000000000000 + apiGetCursorPos(@m.lcPoint) + Return CToBin(Substr(m.lcPoint, 1, 4), "4RS") +Endfunc + +******************************************************************************** +*!* ctlGetCursorPosY() +******************************************************************************** +*!* Returns the y coordinate position of the mouse cursor in SCREEN coordinates. +******************************************************************************** +Function ctlGetCursorPosY() + + Local m.lcPoint As String + + m.lcPoint = 0h0000000000000000 + apiGetCursorPos(@m.lcPoint) + Return CToBin(Substr(m.lcPoint, 5, 4), "4RS") +Endfunc + +******************************************************************************** +*!* ctlHiMetricToPixelsX(nHiMetricX) +******************************************************************************** +*!* :http://www.experts-exchange.com/Programming/Languages/Visual_Basic/Q_20024530.html +*!* HIMETRIC / 2540 = INCHES +*!* INCHES * 1440 = TWIPS +*!* TWIPS / TwipsPerPixel = PIXELS +******************************************************************************** +Function ctlHiMetricToPixelsX(m.pnHiMetricX As Integer) + Return Round(m.pnHiMetricX / 2540 * 1440 / ctlTwipsPerPixelX(), 0) +Endfunc + +******************************************************************************** +*!* :http://www.experts-exchange.com/Programming/Languages/Visual_Basic/Q_20024530.html +*!* HIMETRIC / 2540 = INCHES +*!* INCHES * 1440 = TWIPS +*!* TWIPS / TwipsPerPixel = PIXELS +******************************************************************************** +Function ctlHiMetricToPixelsY(m.pnHiMetricY As Integer) + Return Round(m.pnHiMetricY / 2540 * 1440 / ctlTwipsPerPixelY(), 0) +Endfunc + +******************************************************************************** +*!* ctlIsObjectInPage(oControl) +******************************************************************************** +*!* Determines if a control is contained in a page somewhere +*!* along its object hierarchy +******************************************************************************** +Function ctlIsObjectInPage(m.poControl As Control) + + Local ; + m.llIsInPage As Boolean, ; + m.loControl As Control + + m.llIsInPage = FALSE + + m.loControl = m.poControl + Do While Inlist(Upper(m.loControl.BaseClass), "FORM", "TOOLBAR") = FALSE + If Upper(m.loControl.BaseClass) == "PAGE" Then + m.llIsInPage = TRUE + Exit + Endif + m.loControl = m.loControl.Parent + Enddo + m.loControl = .Null. + m.poControl = .Null. + + Return m.llIsInPage +Endfunc + +******************************************************************************** +Function ctlIsThemeActive(m.poObject As Object) + If Vartype(m.poObject) = T_OBJECT Then + + Local ; + m.loForm As Form, ; + m.llFormThemeActive As Boolean, ; + m.llControlThemeActive As Boolean + + *!* Get theme status of object: + Do Case + Case Pemstatus(m.poObject, "ctlThemes", CON_PEMSTAT_DEFINED) + m.llControlThemeActive = m.poObject.ctlThemes + Case Pemstatus(m.poObject, "Themes", CON_PEMSTAT_DEFINED) + m.llControlThemeActive = m.poObject.Themes + Otherwise + m.llControlThemeActive = TRUE + Endcase + + *!* Get theme status of parent form + m.loForm = m.poObject + + Do While Inlist(Upper(m.loForm.BaseClass), "FORM", "TOOLBAR") = FALSE + m.loForm = m.loForm.Parent + Enddo + + m.llFormThemeActive = m.loForm.Themes + + m.loForm = .Null. + m.poObject = .Null. + + Return apiIsThemeActive() = 1 And _Screen.Themes And m.llFormThemeActive And m.llControlThemeActive + Else + Return apiIsThemeActive() <> 0 + Endif +Endfunc + +******************************************************************************** +*!* Allocates a block of memory of m.pnBytes +*!* Returns a handle to the allocated memory +*!* Must be freed after use +******************************************************************************** +Function ctlMemAlloc(m.pnBytesToAllocate As Integer) + Return apiHeapAlloc(apiGetProcessHeap(), HEAP_ZERO_MEMORY, m.pnBytesToAllocate) +Endfunc + +******************************************************************************** +*!* Frees a block of memory allocated with ctlMemAlloc +******************************************************************************** +Function ctlMemFree(m.pnMem As Integer) + Return apiHeapFree(apiGetProcessHeap(), 0, m.pnMem) +Endfunc + +******************************************************************************** +*!* Reads from a memory handle exactly m.pnBytes +******************************************************************************** +Function ctlMemRead(m.pnMem As Integer, m.pnBytesToRead As Integer) + If Vartype(m.pnMem) <> T_NUMERIC Or m.pnMem <= 0 Then + Return "" + Endif + If Vartype(m.pnBytesToRead) <> T_NUMERIC Or m.pnBytesToRead <= 0 Then + m.pnBytesToRead = apiHeapSize(apiGetProcessHeap(), 0, m.pnMem) + Endif + Return Sys(2600, m.pnMem, m.pnBytesToRead) +Endfunc + + +******************************************************************************** +*!* Returns the size of a block of memory allocated with ctlMemAlloc +*!* Returns -1 on failure +******************************************************************************** +Function ctlMemSize(m.pnMem As Integer) + Return apiHeapSize(apiGetProcessHeap(), 0, m.pnMem) +Endfunc + +******************************************************************************** +*!* Writes to a memory heap handle, m.pnBytes of m.pcData +*!* pads with NULAs if len(m.pcData) < m.pnBytes +******************************************************************************** +Function ctlMemWrite(m.pnMem As Integer, m.pcData As String, m.pnBytesToWrite As Integer) + If Vartype(m.pcData) = T_NUMERIC Then + m.pcData = BinToC(m.pcData, "4rs") + Endif + If Vartype(m.pnBytesToWrite) = T_NUMERIC And m.pnBytesToWrite > Len(m.pcData) Then + m.pcData = m.pcData + Replicate(NULCHAR, m.pnBytesToWrite - Len(m.pcData)) + Else + m.pnBytesToWrite = Len(m.pcData) + Endif + If m.pnMem = 0 Then + m.pnMem = ctlMemAlloc(m.pnBytesToWrite) + Endif + m.pcData = Sys(2600, m.pnMem, m.pnBytesToWrite, m.pcData) + Return m.pnMem +Endfunc + +******************************************************************************** +*!* converts an integer to an unsigned integer +******************************************************************************** +Function ctlIntegerToUnsigned(m.pnValue As Integer) + Local lnRetVal + + If m.pnValue < 0 Then + m.lnRetVal = m.pnValue + 4294967296 + Else + m.lnRetVal = m.pnValue + Endif + + Return m.lnRetVal +Endfunc + +******************************************************************************** +*!* pcValueToReturn can be: T, B, L, R for Top, Bottom, Left, Right +*!* This replaces OBJTOCLIENT that has bugs with pageframes +******************************************************************************** +Function ctlObjToClient(m.poControl As Control, m.pcValueToReturn As String) + + Local m.lnPosition As Integer + + m.pcValueToReturn = Upper(m.pcValueToReturn) + m.lnPosition = 0 + + Do Case + + Case m.pcValueToReturn $ "TB" + *!* 20070711 Modified to account for toolbars + Do While Inlist(Upper(m.poControl.BaseClass), "FORM", "TOOLBAR") = FALSE + If Pemstatus(m.poControl, "Top", CON_PEMSTAT_DEFINED) Then + m.lnPosition = m.lnPosition + m.poControl.Top + Endif + If Upper(m.poControl.BaseClass) == "PAGE" Then + If m.poControl.Parent.TabOrientation = CON_TABOR_TOP Then && Top + m.lnPosition = m.lnPosition + ; + m.poControl.Parent.Height - ; + m.poControl.Parent.PageHeight - ; + m.poControl.Parent.BorderWidth * 2 + Else + m.lnPosition = m.lnPosition + 1 + Endif + Endif + m.poControl = m.poControl.Parent + Enddo + + If m.pcValueToReturn == "B" Then + m.lnPosition = m.lnPosition + This.Height + Endif + + Case m.pcValueToReturn $ "LR" + *!* 20070711 Modified to account for toolbars + Do While Inlist(Upper(m.poControl.BaseClass), "FORM", "TOOLBAR") = FALSE + If Pemstatus(m.poControl, "Left", CON_PEMSTAT_DEFINED) Then + m.lnPosition = m.lnPosition + m.poControl.Left + Endif + If Upper(m.poControl.BaseClass) == "PAGE" + If m.poControl.Parent.TabOrientation = CON_TABOR_LEFT Then && Left + m.lnPosition = m.lnPosition + ; + m.poControl.Parent.Width - ; + m.poControl.Parent.PageWidth - ; + m.poControl.Parent.BorderWidth * 2 + Else + m.lnPosition = m.lnPosition + 1 + Endif + Endif + m.poControl = m.poControl.Parent + Enddo + + If m.pcValueToReturn == "R" Then + m.lnPosition = m.lnPosition + This.Width + Endif + + Endcase + + Return m.lnPosition +Endfunc + +*!* * Inverse of VFP's DTOS() function. +Function ctlSTOD(m.pcDate As String) + Local m.ldDate As Date + m.ldDate = Date(Val(Substr(m.pcDate,1,4)), Val(Substr(m.pcDate,5,2)), Val(Substr(m.pcDate,7,2))) + Return m.ldDate +Endfunc + +******************************************************************************** +*!* Converts a numeric value into a string that represents the number expressed +*!* as a size value in bytes, kilobytes, megabytes, or gigabytes, depending on the size. +*!* API StrFormatByteSize only work for files up to 4GB +*!* Local ; +*!* m.lcBuffer As String +*!* m.lcBuffer = Space(254) +*!* StrFormatByteSize(m.pnSizeInBytes, @m.lcBuffer, Len(m.lcBuffer)) +*!* * Remove NUL CHAR +*!* m.lcBuffer = Left(m.lcBuffer, At(NULA, m.lcBuffer) - 1) +*!* Return m.lcBuffer +******************************************************************************** +Function ctlStrFormatByteSize(m.pnSizeInBytes As Number) + Local ; + m.lnSize As Integer, ; + m.lcUnit As String + + Do Case + Case m.pnSizeInBytes < 999 && Bytes + m.lnSize = m.pnSizeInBytes + m.lcUnit = " Bytes" + Case m.pnSizeInBytes < 1024^1 * 999 && KiloBytes + m.lnSize = m.pnSizeInBytes / 1024^1 + m.lcUnit = " KB" + Case m.pnSizeInBytes < 1024^2 * 999 && MegaBytes + m.lnSize = m.pnSizeInBytes / 1024^2 + m.lcUnit = " MB" + Case m.pnSizeInBytes < 1024^3 * 999 && GigaBytes + m.lnSize = m.pnSizeInBytes / 1024^3 + m.lcUnit = " GB" + Otherwise + m.lnSize = m.pnSizeInBytes / 1024^4 && TeraBytes + m.lcUnit = " TB" + Endcase + + Do Case + Case m.lnSize > 100 + m.lnSize = Round(m.lnSize , 0) + Case m.lnSize > 10 + m.lnSize = Round(m.lnSize , 1) + Otherwise + m.lnSize = Round(m.lnSize , 2) + Endcase + + Return Transform(m.lnSize) + m.lcUnit +Endfunc + +******************************************************************************** +Function ctlStrFormatSeconds(pnSeconds) + + m.pnSeconds = Round(m.pnSeconds, 0) + + Local ; + m.lcHours As String, ; + m.lcMinutes As String, ; + m.lcSeconds As String + + If Int(m.pnSeconds / 3600) > 0 Then + m.lcHours = Padl(Alltrim(Str(Int(m.pnSeconds / 3600))), 2, "0") + ":" + Else + m.lcHours = "" + Endif + + m.lcMinutes = Padl(Alltrim(Str(Int((m.pnSeconds % 3600) / 60))), 2, "0") + ":" + m.lcSeconds = Padl(Alltrim(Str((m.pnSeconds % 3600) % 60)), 2, "0") + + Return m.lcHours + m.lcMinutes + m.lcSeconds +Endfunc + +******************************************************************************** +*!* Converts an unsigned integer to an integer. +******************************************************************************** +Function ctlUnsignedToInteger(m.pnValue As Integer) + + Local m.lnRetVal As Integer + + If m.pnValue <= 2147483647 Then + m.lnRetVal = m.pnValue + Else + m.lnRetVal= m.pnValue - 4294967296 + Endif + + Return m.lnRetVal +Endfunc + +******************************************************************************** +Function ctlFClose(pnFileHandle As Integer) + + Local ; + lnApiRetVal As Integer, ; + llRetVal As Boolean + + m.lnApiRetVal = apiCloseHandle(m.pnFileHandle) + + If m.lnApiRetVal = 0 Then + m.llRetVal = FALSE + Else + m.llRetVal = TRUE + Endif + + Return m.llRetVal +Endfunc + +******************************************************************************** +*!* ctlFgets(nFileHandle [, nBytes]) +******************************************************************************** +*!* Returns a series of bytes from a file or a communication port opened with a +*!* low-level file function until it encounters a carriage return. +******************************************************************************** +Function ctlFGets(pnFileHandle As Integer, pnBytesToRead As Integer) + + Local ; + lcByteString As String, ; + lnBytesRead As Integer, ; + lnApiRetVal As Integer, ; + lnOverlapped As Integer, ; + lnCrLfPos As Integer, ; + lnOffset As Integer + + If Vartype(m.pnBytesToRead) # T_NUMERIC Then + m.pnBytesToRead = 254 + Endif + + m.lnBytesRead = 0 + m.lcByteString = Space(m.pnBytesToRead) + m.lnOverlapped = 0 + + m.lnApiRetVal = apiReadFile(m.pnFileHandle, ; + @m.lcByteString, ; + m.pnBytesToRead , ; + @m.lnBytesRead , ; + m.lnOverlapped) + + If m.lnApiRetVal = 0 Then + m.lcByteString = "" + Else + m.lcByteString = Left(m.lcByteString, m.lnBytesRead) + Endif + + *!* Now search for CRLF in the string: + m.lnCrLfPos = At(CRLF, m.lcByteString) + + *!* if we find a CRLF in the string + If m.lnCrLfPos <> 0 Then + + *!* Set file pointer for next read to after CRLF + m.lnOffset = (m.lnBytesRead - m.lnCrLfPos - 1) * (-1) + ctlFSeek(m.pnFileHandle, m.lnOffset , 1) + + *!* Remove trailing characters after CRLF + m.lcByteString = Left(m.lcByteString, m.lnCrLfPos - 1) + Endif + + Return m.lcByteString +Endfunc + +******************************************************************************** +Function ctlFileTimeToDateTime(poFileTime As _FILETIME) + + Local ; + loSystemTime As _SYSTEMTIME, ; + ltFileDateTime As Datetime + + m.loSystemTime = Createobject("_SYSTEMTIME") + + If apiFileTimeToSystemTime(m.poFileTime.Address, m.loSystemTime.Address) = 1 Then + With m.loSystemTime + m.ltFileDateTime = Datetime(.wYear, .wMonth, .wDay, .wHour, .wMinute, .wSecond) + Endwith + Else + m.ltFileDateTime = Ctot("") + Endif + + m.loSystemTime = .Null. + + Return m.ltFileDateTime +Endfunc + +******************************************************************************** +Function ctlFontHeightToPoints(pnHeight As Integer) + + Local ; + lnDc As Integer, ; + lnLogPixelsY As Integer + + m.lnDc = apiGetDC(HWND_DESKTOP) + m.lnLogPixelsY = apiGetDeviceCaps(m.lnDc, LOGPIXELSY) + apiReleaseDC(HWND_DESKTOP, m.lnDc) + Return Round(72 * m.pnHeight / m.lnLogPixelsY * (-1), 0) +Endfunc + +******************************************************************************** +Function ctlFontPointsToHeight(pnPoints As Integer) + + Local ; + lnDc As Integer, ; + lnLogPixelsY As Integer + + m.lnDc = apiGetDC(HWND_DESKTOP) + m.lnLogPixelsY = apiGetDeviceCaps(m.lnDc, LOGPIXELSY) + apiReleaseDC(HWND_DESKTOP, m.lnDc) + Return apiMulDiv(m.pnPoints, m.lnLogPixelsY, 72) * (-1) +Endfunc + +******************************************************************************** +*!* ctlFopen(cFilename [, nAttribute]) +******************************************************************************** +*!* 0 READ-ONLY BUFFERED +*!* 1 WRITE-ONLY BUFFERED +*!* 2 READ-WRITE BUFFERED +*!* 10 READ-ONLY UNBUFFERED +*!* 11 WRITE-ONLY UNBUFFERED +*!* 12 READ-WRITE UNBUFFERED +******************************************************************************** +Function ctlFOpen(pcFileName As String, pnAttribute As Integer) + + Local ; + lcFilename As String, ; + lnDesiredAccess As Integer, ; + lnShareMode As Integer, ; + lnSecurityAttributes As Integer, ; + lnCreationDisposition As Integer, ; + lnFlagsAndAttributes As Integer, ; + lnTemplateFile As Integer, ; + lnBufferFlag As Integer, ; + lnFileHandle As Integer + + m.lcFilename = Alltrim(m.pcFileName) + + If Vartype(m.pnAttribute) # T_NUMERIC Then + m.pnAttribute = 0 + Endif + + Do Case + Case m.pnAttribute = 0 + m.lnDesiredAccess = GENERIC_READ + m.lnBufferFlag = 0 + Case m.pnAttribute = 1 + m.lnDesiredAccess = GENERIC_WRITE + m.lnBufferFlag = 0 + Case m.pnAttribute = 2 + m.lnDesiredAccess = Bitor(GENERIC_READ, GENERIC_WRITE) + m.lnBufferFlag = 0 + Case m.pnAttribute = 10 + m.lnDesiredAccess = GENERIC_READ + m.lnBufferFlag = FILE_FLAG_WRITE_THROUGH + Case m.pnAttribute = 11 + m.lnDesiredAccess = GENERIC_WRITE + m.lnBufferFlag = FILE_FLAG_WRITE_THROUGH + Case m.pnAttribute = 12 + m.lnDesiredAccess = Bitor(GENERIC_READ, GENERIC_WRITE) + m.lnBufferFlag = FILE_FLAG_WRITE_THROUGH + Otherwise + m.lnDesiredAccess = GENERIC_READ + m.lnBufferFlag = 0 + Endcase + + m.lnShareMode = 0 + m.lnSecurityAttributes = 0 + m.lnCreationDisposition = OPEN_EXISTING + m.lnFlagsAndAttributes = Bitor(FILE_ATTRIBUTE_NORMAL, m.lnBufferFlag) + m.lnTemplateFile = 0 + + m.lnFileHandle = apiCreateFile( ; + m.lcFilename, ; + m.lnDesiredAccess, ; + m.lnShareMode, ; + m.lnSecurityAttributes, ; + m.lnCreationDisposition, ; + m.lnFlagsAndAttributes, ; + m.lnTemplateFile) + + Return m.lnFileHandle +Endfunc + +******************************************************************************** +Function ctlFRead(pnFileHandle As Integer, pnBytesToRead As Integer) + + Local ; + lcByteString As String, ; + lnBytesRead As Integer, ; + lnApiRetVal As Integer, ; + lnOverlapped As Integer + + m.lnBytesRead = 0 + m.lcByteString = Space(m.pnBytesToRead) + m.lnOverlapped = 0 + + m.lnApiRetVal = apiReadFile(m.pnFileHandle, ; + @m.lcByteString, ; + m.pnBytesToRead , ; + @m.lnBytesRead , ; + m.lnOverlapped) + + If m.lnApiRetVal = 0 Then + m.lcByteString = "" + Else + m.lcByteString = Left(m.lcByteString, m.lnBytesRead) + Endif + + Return m.lcByteString +Endfunc + +******************************************************************************** +*!* _Fseek(nFileHandle, nBytesMoved ", nRelativePosition") +*!* #DEFINE FILE_BEGIN 0 +*!* #DEFINE FILE_CURRENT 1 +*!* #DEFINE FILE_END 2 +*!* #DEFINE INVALID_SET_FILE_POINTER -1 +******************************************************************************** +Function ctlFSeek(pnFileHandle As Integer, pnBytesMoved As Integer , pnRelativePosition As Integer) + + Local ; + lnLow As Integer, ; + lnHigh As Integer, ; + lcNewFilePointer As String, ; + lnNewFilePointer As Integer, ; + lnApiRetVal As Integer + + If Vartype(m.pnRelativePosition) # T_NUMERIC Then + m.pnRelativePosition = 0 + Endif + + *!* Split large integer into low unsigned and high signed + + m.lnLow = 0 + m.lnHigh = 0 + ctlLargeIntegerToLowHigh(m.pnBytesMoved, @m.lnLow, @m.lnHigh) + + m.lcNewFilePointer = Replicate(NULCHAR, 8) + + m.lnApiRetVal = ; + apiSetFilePointerEx( ; + m.pnFileHandle , ; + m.lnLow , ; + m.lnHigh, ; + @m.lcNewFilePointer, ; + m.pnRelativePosition ) + + If m.lnApiRetVal = 0 Then + m.lnNewFilePointer = -1 + Else + m.lnNewFilePointer = ctlCToLargeInteger(m.lcNewFilePointer) + Endif + + Return m.lnNewFilePointer +Endfunc + +******************************************************************************** +*!* ctlFSize(cFilename|nFileHandle) +******************************************************************************** +Function ctlFSize(puFnameOrFhandle As variant) + + Local ; + m.lnFileSize As Integer, ; + m.llCloseFile As Boolean, ; + m.lnFileHandle As Integer, ; + m.lcLargeInt As String, ; + m.lnApiRetVal As Integer + + m.lnFileSize = -1 + m.lnFileHandle = HFILE_ERROR + m.llCloseFile = FALSE + + Do Case + Case Vartype(m.puFnameOrFhandle) = T_NUMERIC + m.lnFileHandle = m.puFnameOrFhandle + + Case Vartype(m.puFnameOrFhandle) = T_CHARACTER + m.llCloseFile = TRUE + m.lnFileHandle = ctlFOpen(m.puFnameOrFhandle, 0) + + Otherwise + Return m.lnFileSize + Endcase + + If m.lnFileHandle <> HFILE_ERROR + + m.lcLargeInt = Replicate(NULCHAR, 8) + m.lnApiRetVal = apiGetFileSizeEx(m.lnFileHandle, @m.lcLargeInt) + + If m.lnApiRetVal <> 0 Then + m.lnFileSize = ctlCToLargeInteger(m.lcLargeInt) + Endif + Endif + + *!* Close file + If m.llCloseFile = TRUE + ctlFClose(m.lnFileHandle) + Endif + + Return m.lnFileSize +Endfunc + +******************************************************************************** +*!* ctlFwrite(nFileHandle, cExpression [, nCharactersWritten]) +******************************************************************************** +Function ctlFWrite(m.pnFileHandle As Integer, m.pcExpression As String, m.pnCharactersWritten As Integer) + + Local ; + m.lnBytesWritten As Integer, ; + m.lnOverlapped As Integer, ; + m.lnApiRetVal As Integer + + m.lnBytesWritten = 0 + m.lnOverlapped = 0 + + If Vartype(m.pnCharactersWritten) <> T_NUMERIC Then + m.pnCharactersWritten = Len(m.pcExpression) + Endif + + m.lnApiRetVal = apiWriteFile(m.pnFileHandle, ; + m.pcExpression, ; + m.pnCharactersWritten , ; + @m.lnBytesWritten, ; + m.lnOverlapped) + + Return m.lnBytesWritten +Endfunc + +******************************************************************************** +Function ctlLargeIntegerToC(m.pnLargeInt As Integer) + + Local ; + m.lnLow As Integer, ; + m.lnHigh As Integer, ; + m.lcLargeInt As String + + m.lnLow = 0 + m.lnHigh = 0 + + ctlLargeIntegerToLowHigh(m.pnLargeInt, @m.lnLow, @m.lnHigh) + m.lcLargeInt = BinToC(m.lnLow, "4rs") + BinToC(m.lnHigh, "4rs") + Return m.lcLargeInt +Endfunc + +******************************************************************************** +*!* ctlLargeIntegerToLowHigh(nLargeInt, @nLow, @nHigh) +******************************************************************************** +Function ctlLargeIntegerToLowHigh(m.pnLargeInt, m.lnLow, m.lnHigh) + + m.lnLow = m.pnLargeInt % 2^32 + m.lnHigh = Int((m.pnLargeInt - m.lnLow) / 2^32) + + If m.lnLow < 0 Then + m.lnLow = m.lnLow + 2^32 + Endif + + Return +Endfunc + +******************************************************************************** +Function ctlLowHighToLargeInteger(pnLow As Integer, pnHigh As Integer) + + Local lnLargeInt As Integer + + If m.pnLow < 0 Then + m.pnLow = m.pnLow + 2^32 + Endif + + m.lnLargeInt = m.pnLow + m.pnHigh * 2^32 + + Return m.lnLargeInt +Endfunc + +******************************************************************************** +*!* ctlGetLangId +******************************************************************************** +*!* pnLocale could be LOCALE_USER_DEFAULT, LOCALE_SYSTEM_DEFAULT +*!* /http://msdn.microsoft.com/library/default.asp?url=/library/en-us/intl/nls_34rz.asp +*!* /http://msdn.microsoft.com/library/default.asp?url=/library/en-us/intl/nls_8xo3.asp +*!* /http://msdn.microsoft.com/library/default.asp?url=/library/en-us/intl/nls_61df.asp +*!* Sets the value of strings that are language dependant. +******************************************************************************** +Function ctlGetLangId(m.pnLocale As Integer, m.pnWhatToReturn As Integer) + + Local ; + m.lnLocale As Integer, ; + m.lcLocaleInfo As String, ; + m.lnCharsRet As Integer, ; + m.lnLangID As Integer, ; + m.lnPrimaryLangID As Integer, ; + m.lnSubLangID As Integer, ; + m.lnRetVal As Integer + + If Pcount() > 0 .And. Vartype(m.pnLocale) = T_NUMERIC Then + m.lnLocale = m.pnLocale + Else + m.lnLocale = LOCALE_SYSTEM_DEFAULT + Endif + + m.lcLocaleInfo = Replicate(NULCHAR, 5) + m.lnCharsRet = apiGetLocaleInfo(m.pnLocale , LOCALE_ILANGUAGE, @m.lcLocaleInfo, Len(m.lcLocaleInfo)) + *!* remove nul chars + m.lcLocaleInfo = Strtran(m.lcLocaleInfo, NULCHAR, "") + *!* m.lcLocaleInfo is now a character representation of a hex number + m.lnLangID = Evaluate("0x" + m.lcLocaleInfo) + *!* m.lnPrimaryLangID = Bitand(m.lnLangID, 0x3FF) + *!* m.lnSubLangID = Bitrshift(m.lnLangID, 10) + + Do Case + Case Pcount() < 2 Or m.pnWhatToReturn = 1 + m.lnRetVal = m.lnLangID + Case m.pnWhatToReturn = 2 + m.lnRetVal = Bitand(m.lnLangID, 0x3FF) + Case m.pnWhatToReturn = 3 + m.lnRetVal = Bitrshift(m.lnLangID, 10) + Otherwise + m.lnRetVal = m.lnLangID + Endcase + + Return m.lnRetVal +Endfunc + +******************************************************************************** +*!* pnLocale could be LOCALE_USER_DEFAULT, LOCALE_SYSTEM_DEFAULT +******************************************************************************** +Function ctlGetPrimaryLangID(m.pnLocale As Integer) + Return ctlGetLangId(m.pnLocale, 2) +Endfunc + +******************************************************************************** +*!* Returns the height of a certain string in the font selected into a hwnd +******************************************************************************** +Function ctlGetStringHeightFromHwnd(m.pcString, m.pnHWnd) + + Local ; + m.lnDc As Integer, ; + m.lnHeight As Integer, ; + m.lnWidth As Integer, ; + m.lcSize As String, ; + m.lnFont As Integer, ; + m.lnPrevFont As Integer + + *!* Get font + m.lnFont = apiSendMessageInteger(m.pnHWnd, WM_GETFONT, 0, 0) + *!* Get DC + m.lnDc = apiGetDC(m.pnHWnd) + *!* Apply font to DC, we get previous font as result + m.lnPrevFont = apiSelectObject(m.lnDc, m.lnFont) + + m.lcSize = Space(8) + + apiGetTextExtentPoint32(m.lnDc, m.pcString, Len(m.pcString), @ m.lcSize) + + m.lnWidth = CToBin(Substr(m.lcSize, 1, 4), "4RS") && Width + m.lnHeight = CToBin(Substr(m.lcSize, 5, 4), "4RS") && Height + + *!* Restore previous font + apiSelectObject(m.lnDc, m.lnPrevFont ) + + *!* Release DC + apiReleaseDC(m.pnHWnd, m.lnDc) + + Return m.lnWidth +Endfunc + +Function ctlGetStringWidthFromHwnd(m.lcString, m.lnHwnd) +Endfunc + +******************************************************************************** +*!* pnLocale could be LOCALE_USER_DEFAULT, LOCALE_SYSTEM_DEFAULT +******************************************************************************** +Function ctlGetSubLangID(m.pnLocale As Integer) + Return ctlGetLangId(m.pnLocale, 3) +Endfunc + +******************************************************************************** +Function ctlGetPrimaryLangIDFromLangID(m.pnLangID As Integer) + Return Bitand(m.pnLangID, 0x3FF) +Endfunc + +******************************************************************************** +Function ctlGetSubLangIDFromLangID(m.pnLangID As Integer) + Return Bitrshift(m.pnLangID, 10) +Endfunc + +******************************************************************************** +*!* ctlGetHostHWnd(Object) +******************************************************************************** +*!* Returns the HWnd of the form that contains an object, if any +*!* If the object has no parent, returns _VFP.HWnd +*!* If the form is a top level form or has scrollbars, +*!* returns the HWnd of the inner window. +*!* Parameter can be a form, toolbar or control +******************************************************************************** +Function ctlGetHostHWnd(m.poObject As Object) + + Local m.nhWnd As Integer + + *!* traverse the object hierarchy until we find the form: + *!* Modified 20070603 to check for toolbars + *!* Do While Inlist(Upper(m.poObject.BaseClass), "FORM", "TOOLBAR") = FALSE + *!* m.poObject = m.poObject.Parent + *!* Enddo + + *!* 20080405 modified to check for HWnd property of parent + *!* and to check if parent is an object + + *!* Check if we already have a form or toolbar: + If Inlist(Upper(m.poObject.BaseClass), "FORM", "TOOLBAR") Then + m.nhWnd = m.poObject.HWnd + Else + *!* Check if object is contained in another object: + If Type("m.poObject.Parent") = T_UNDEFINED Then + m.nhWnd = _vfp.HWnd + Else + *!* Get first parent: + m.poObject = m.poObject.Parent + + *!* Traverse object hierarchy upwards until we find an object with a HWnd: + Do While Pemstatus(m.poObject, "HWnd", 5) = FALSE + If Type("m.poObject.Parent") = T_UNDEFINED Then + m.nhWnd = _vfp.HWnd + Exit + Else + m.poObject = m.poObject.Parent + Endif + Enddo + m.nhWnd = m.poObject.HWnd + Endif + Endif + + *!* If we have a form, and the form is a top level form, or it has scrollbars, + *!* get hWnd of inner window: + If Upper(m.poObject.BaseClass) = "FORM" Then + If m.poObject.ShowWindow = 2 Or m.poObject.ScrollBars > 0 Then + *!* Get hWnd of client window of Top Level Form //Craig Boyd// + If Version(CON_VER_NUM) >= 900 + m.nhWnd = Sys(2327, Sys(2325, Sys(2326, m.poObject.HWnd))) + Else + m.nhWnd = apiGetWindow(m.poObject.HWnd, GW_CHILD) + Endif + Endif + Endif + + m.poObject = .Null. + Release m.poObject + + Return m.nhWnd +Endfunc + +******************************************************************************** +*!* ctlGetHostHWnd() +*!* Returns the HWnd of a form, or the HWnd of the inner window in case of +*!* top level forms or forms with scrollbars +*!* Parameter can be a form, toolbar or control +******************************************************************************** +Function ctlGetHostHWnd(m.poObject As Object) + + Local ; + m.loForm As Form, ; + m.nhWnd As Integer + + *!* traverse the object hierarchy until we find the form: + *!* Modified 20070603 to check for toolbars + Do While Inlist(Upper(m.poObject.BaseClass), "FORM", "TOOLBAR") = FALSE + m.poObject = m.poObject.Parent + Enddo + + m.loForm = m.poObject + m.poObject = Null + m.nhWnd = m.loForm.HWnd + + *!* If the form is a top level form, or it has scrollbars, get hWnd of inner window: + If Upper(m.loForm.BaseClass) = "FORM" Then + If m.loForm.ShowWindow = 2 Or m.loForm.ScrollBars > 0 Then + *!* Get hWnd of client window of Top Level Form //Craig Boyd// + If Version(CON_VER_NUM) >= 900 + m.nhWnd = Sys(2327, Sys(2325, Sys(2326, m.loForm.HWnd))) + Else + m.nhWnd = apiGetWindow(m.loForm.HWnd, GW_CHILD) + Endif + Endif + Endif + + m.loForm = Null + + Return m.nhWnd +Endfunc + +******************************************************************************** +*!* int GET_X_LPARAM( +*!* LPARAM lParam +*!* ); +*!* Parameters +*!* lParam +*!* Specifies the value to be converted. +*!* Return Value +*!* The return value is the low-order int of the specified value. +******************************************************************************** +Function ctlGet_X_lParam(m.pnlParam As Integer) + Return Bitand(m.pnlParam, 0xFFFF) +Endfunc + +******************************************************************************** +Function ctlGetXFromLparam(m.pnlParam As Integer) + Return Bitand(m.pnlParam, 0xFFFF) +Endfunc + +******************************************************************************** +*!* int GET_Y_LPARAM( +*!* LPARAM lParam +*!* ); +*!* Parameters +*!* lParam +*!* Specifies the value to be converted. +*!* Return Value +*!* The return value is the high-order int of the specified value. +******************************************************************************** +Function ctlGet_Y_lParam(m.pnlParam As Integer) + Return Bitrshift(m.pnlParam, 16) && Bitand(Int(m.pnlParam / 0x10000), 0xFFFF) +Endfunc + +******************************************************************************** +Function ctlGetUserName + Local m.lcBuffer, m.lnBufferLen + m.lcBufferLen = UNLEN + 1 + m.lcBuffer = Replicate(NULCHAR, m.lcBufferLen) + apiGetUserName(@m.lcBuffer, @m.lcBufferLen) + Return Left(m.lcBuffer, m.lcBufferLen - 1) +Endfunc + +******************************************************************************** +Function ctlGetYFromLparam(m.pnlParam As Integer) + Return Bitrshift(m.pnlParam, 16) && Bitand(Int(m.pnlParam / 0x10000), 0xFFFF) +Endfunc + +******************************************************************************** +Function ctlGetWindowProcedure(m.pnHWnd As Integer) + If Empty(m.pnHWnd) Then + m.pnHWnd = _vfp.HWnd + Endif + Return apiGetWindowLong(m.pnHWnd, GWL_WNDPROC) +Endfunc + +******************************************************************************** +*!* BYTE HIBYTE( +*!* Word wValue +*!* ); +*!* Parameters +*!* wValue +*!* Specifies the Value To be converted. +*!* Return Value +*!* the Return Value Is the High-Order BYTE Of the specified Value. +******************************************************************************** +Function ctlHiByte(m.pnlParam As Integer) + Return Bitrshift(m.pnlParam, 8) && Bitand(Int(m.pnlParam / 0x10000), 0xFFFF) +Endfunc + +******************************************************************************** +*!* BYTE LOBYTE( +*!* Word wValue +*!* ); +*!* Parameters +*!* wValue +*!* Specifies the Value To be converted. +*!* Return Value +*!* the Return Value Is the low-Order BYTE Of the specified Value. +******************************************************************************** +Function ctlLoByte(m.pnlParam As Integer) + Return Bitand(m.pnlParam , 0xFF) +Endfunc + +******************************************************************************** +*!* Word HIWORD( +*!* DWORD dwValue +*!* ); +*!* Parameters +*!* dwValue +*!* Specifies the Value To be converted. +*!* Return Value +*!* the Return Value Is the High-Order Word Of the specified Value. +******************************************************************************** +Function ctlHiWord(m.pnlParam As Integer) + Return Bitrshift(m.pnlParam, 16) && Bitand(Int(m.pnlParam / 0x10000), 0xFFFF) +Endfunc + +******************************************************************************** +*!* Word LOWORD( +*!* DWORD dwValue +*!* ); +*!* Parameters +*!* dwValue +*!* Specifies the Value To be converted. +*!* Return Value +*!* the Return Value Is the low-Order Word Of the specified Value. +******************************************************************************** +Function ctlLoWord(m.pnlParam As Integer) + Return Bitand(m.pnlParam, 0xFFFF) +Endfunc + + +Function ctlGetStringResource(pcResource As String, pnStringId As Integer) + Local ; + lnModule As Integer, ; + llReleaseLibrary As Boolean, ; + lcString As String + + *!* Get module handle of user32 if it is loaded + m.lnModule = apiGetModuleHandle(m.pcResource) + + *!* If not loaded, load it + If m.lnModule = 0 Then + m.llReleaseLibrary = TRUE + m.lnModule = apiLoadLibrary(m.pcResource) + Else + m.llReleaseLibrary = FALSE + Endif + + m.lcString = Replicate(NULA, 1024) + + m.lnStringLen = apiLoadString(m.lnModule, m.pnStringId, @m.lcString, Len(m.lcString)) + + m.lcString = Left(m.lcString, m.lnStringLen) + + If m.llReleaseLibrary = TRUE Then + apiFreeLibrary(m.lnModule) + Endif + + Return m.lcString +Endfunc + +******************************************************************************** +*!* DWORD MAKELONG( +*!* Word wLow, +*!* Word wHigh +*!* ); +*!* Parameters +*!* wLow +*!* Specifies the low-Order Word Of the new Value. +*!* wHigh +*!* Specifies the High-Order Word Of the new Value. +*!* Return Value +*!* the Return Value Is a Long Value. +******************************************************************************** +Function ctlMakeLong(m.pnLow As Integer, m.pnHigh As Integer) + Return m.pnLow + m.pnHigh * 0x10000 && Bitor(m.wLow, BITLSHIFT(m.wHigh, 16) +Endfunc + +******************************************************************************** +*!* LPARAM MAKELPARAM( +*!* WORD wLow, +*!* WORD wHigh +*!* ); +*!* Parameters +*!* wLow +*!* Specifies the low-order word of the new value. +*!* wHigh +*!* Specifies the high-order word of the new value. +*!* Return Value +*!* The return value is an LPARAM value. +******************************************************************************** +Function ctlMakelParam(m.pnLow As Integer, m.pnHigh As Integer) + Return m.pnLow + m.pnHigh * 0x10000 && Bitor(m.wLow, BITLSHIFT(m.wHigh, 16) +Endfunc + +******************************************************************************** +*!* POINT +*!* The POINT structure defines the x- and y- coordinates of a point. +*!* typedef struct tagPOINT { +*!* LONG x; +*!* LONG y; +*!* } POINT, *PPOINT; +*!* Members +*!* x +*!* Specifies the x-coordinate of the point. +*!* y +*!* Specifies the y-coordinate of the point. +*!* This is not a Windows Macro +******************************************************************************** +Function ctlMakePoint(m.pnX As Integer, m.pnY As Integer) + Return BinToC(m.pnX, "4RS") + BinToC(m.pnY, "4RS") +Endfunc + +******************************************************************************** +Function ctlMakewParam(m.pnLow As Integer, m.pnHigh As Integer) + ******************************************************************************** + Return ctlMakelParam(m.pnLow, m.pnHigh) +Endfunc + +******************************************************************************** +*!* POINT +*!* The POINT structure defines the x- and y- coordinates of a point. +*!* typedef struct tagPOINT { +*!* LONG x; +*!* LONG y; +*!* } POINT, *PPOINT; +*!* Members +*!* x +*!* Specifies the x-coordinate of the point. +*!* y +*!* Specifies the y-coordinate of the point. +*!* This is not a Windows Macro +******************************************************************************** +Function ctlGetXFromPoint(m.pcPoint As String) + Return CToBin(Substr(m.pcPoint, 1, 4), "4RS") +Endfunc + +******************************************************************************** +*!* POINT +*!* The POINT structure defines the x- and y- coordinates of a point. +*!* typedef struct tagPOINT { +*!* LONG x; +*!* LONG y; +*!* } POINT, *PPOINT; +*!* Members +*!* x +*!* Specifies the x-coordinate of the point. +*!* y +*!* Specifies the y-coordinate of the point. +*!* This is not a Windows Macro +******************************************************************************** +Function ctlGetYFromPoint(m.pcPoint As String) + Return CToBin(Substr(m.pcPoint, 5, 4), "4RS") +Endfunc + +******************************************************************************** +*!* This returns an object reference to the parent form +*!* of a non top level form: +*!* the _Screen, or some Top Level Form +*!* accepts as parameter a form reference +******************************************************************************** +Function ctlGetParentForm(m.poForm As Form) + Local ; + m.lnHwnd As Integer, ; + m.loForm As Form, ; + m.lnX As Integer + + m.lnHwnd = apiGetParent(m.poForm.HWnd) + + If _Screen.HWnd = m.lnHwnd Then + m.loForm = _Screen + Else + *!* Parent is a Top Level Form, get HWnd of form, what we have + *!* now is HWnd of inner window of Top Level Form: + m.lnHwnd = apiGetParent(m.lnHwnd) + + *!* Find the Top Level Form that has this HWnd: + For m.lnX = 1 To _Screen.FormCount + If _Screen.Forms(m.lnX).HWnd = m.lnHwnd Then + m.loForm = _Screen.Forms(m.lnX) + Exit + Endif + Endfor + Endif + + Return m.loForm +Endfunc + +******************************************************************************** +*!* Returns current date formated string +*!* 1 DATE_SHORTDATE +*!* 2 DATE_LONGDATE +******************************************************************************** +Function ctlGetDateFormat(pnFlags As Integer) + + Local ; + lnLocale As Integer, ; + lcDate As String, ; + lcFormat As String, ; + lcDateStr As String, ; + lnDateStrLen As Integer, ; + lnFlags As Integer + + If Vartype(m.pnFlags) # T_NUMERIC Then + m.lnFlags = DATE_LONGDATE + Else + m.lnFlags = m.pnFlags + Endif + + m.lnLocale = LOCALE_USER_DEFAULT + + m.lcDate = .Null. + m.lcFormat = .Null. + + m.lnDateStrLen = 0xFF + m.lcDateStr = Space(m.lnDateStrLen) + + m.lnDateStrLen = apiGetDateFormat( ; + m.lnLocale, ; + m.lnFlags, ; + @m.lcDate, ; + @m.lcFormat, ; + @m.lcDateStr, ; + m.lnDateStrLen) + m.lcDateStr= Left(m.lcDateStr, m.lnDateStrLen - 1) + + Return m.lcDateStr +Endfunc + +Function ctlGetDateFormatEx(pdDate, pnLocale, pnFlags) + + Local ; + lcDate As String, ; + lcFormat As String, ; + lcDateStr As String, ; + lnDateStrLen As Integer, ; + ldDate As Date, ; + lnLocale As Integer, ; + lnFlags As Integer + + If Vartype(m.pdDate) # T_DATE Then + m.ldDate = Date() + Else + m.ldDate = m.pdDate + Endif + + If Vartype(m.pnLocale) # T_NUMERIC Then + m.lnLocale = LOCALE_USER_DEFAULT + Else + m.lnLocale = m.pnLocale + Endif + + If Vartype(m.pnFlags) # T_NUMERIC Then + m.lnFlags = DATE_LONGDATE + Else + m.lnFlags = m.pnFlags + Endif + + *!* .http://msdn.microsoft.com/en-us/library/ms724950(VS.85).aspx + *!* typedef struct _SYSTEMTIME { + *!* WORD wYear; + *!* WORD wMonth; + *!* WORD wDayOfWeek; + *!* WORD wDay; + *!* WORD wHour; + *!* WORD wMinute; + *!* WORD wSecond; + *!* WORD wMilliseconds; + *!* *!* } SYSTEMTIME + + m.lcDate = ; + BinToC(Year(m.ldDate), "2rs") + ; + BinToC(Month(m.ldDate), "2rs") + ; + BinToC(Dow(m.ldDate, 1), "2rs") + ; + BinToC(Day(m.ldDate), "2rs") + ; + 0h0000 + ; + 0h0000 + ; + 0h0000 + ; + 0h0000 + + m.lcFormat = .Null. + + m.lnDateStrLen = 0xFF + m.lcDateStr = Space(m.lnDateStrLen) + + m.lnDateStrLen = apiGetDateFormat( ; + m.lnLocale, ; + m.lnFlags, ; + m.lcDate, ; + m.lcFormat, ; + @m.lcDateStr, ; + m.lnDateStrLen) + + m.lcDateStr= Left(m.lcDateStr, m.lnDateStrLen - 1) + + Return m.lcDateStr +Endfunc + +******************************************************************************** +*!* Returns the type of container a control is in, or the type of form +*!* accepts as parameter a control or a form reference + +*!* CON_FORMTYPE_DEFAULT 0 +*!* CON_FORMTYPE_TOPLEVEL 1 +*!* CON_FORMTYPE_SCREEN 2 + +*!* Determine the type of form the control parameter is in, +*!* or the type of form, if the passed parameter is a form + +*!* Parameter can be a form, toolbar or control +******************************************************************************** +Function ctlGetFormType(m.poObject As Object) + + Local ; + m.loForm As Form, ; + m.lnFormType As Integer + + m.loForm = m.poObject + + *!* Go up the object hierarchy until we find a form: + *!* 20070711 Modified to account for toolbars + Do While Inlist(Upper(m.loForm.BaseClass), "FORM", "TOOLBAR") = FALSE + If Type("m.loForm.Parent") = T_OBJECT Then + m.loForm = m.loForm.Parent + Else + m.loForm = _Screen.ActiveForm + Exit + Endif + Enddo + + m.lnFormType = CON_FORMTYPE_DEFAULT + + *!* If container is a TLF, must have ShowWindow = 2 + If m.loForm.ShowWindow = CON_SHOWWIN_ASTOPLEVELFORM Then + m.lnFormType = CON_FORMTYPE_TOPLEVEL + Endif + + *!* If Form.Name equals the _Screen.Name, then container is _Screen + If m.loForm.Name == _Screen.Name Then + m.lnFormType = CON_FORMTYPE_SCREEN + Endif + + m.loForm = Null + + Return m.lnFormType +Endfunc + +******************************************************************************** +Function ctlTwipsPerPixelX() + + Local ; + m.lnDc As Integer, ; + m.lnLogPixelsX As Integer + + m.lnDc = apiGetDC(HWND_DESKTOP) + m.lnLogPixelsX = apiGetDeviceCaps(m.lnDc, LOGPIXELSX) + apiReleaseDC(HWND_DESKTOP, m.lnDc) + Return Round(1440 / m.lnLogPixelsX, 0) +Endfunc + +******************************************************************************** +Function ctlTwipsPerPixelY() + + Local ; + m.lnDc As Integer, ; + m.lnLogPixelsY As Integer + + m.lnDc = apiGetDC(HWND_DESKTOP) + m.lnLogPixelsY = apiGetDeviceCaps(m.lnDc, LOGPIXELSY) + apiReleaseDC(HWND_DESKTOP, m.lnDc) + Return Round(1440 / m.lnLogPixelsY, 0) +Endfunc + +******************************************************************************** +*!* GUID FUNCTIONS +******************************************************************************** +*!* http://www.ietf.org/rfc/rfc4122.txt +*!* http://en.wikipedia.org/wiki/Globally_Unique_Identifier +*!* http://en.wikipedia.org/wiki/Universally_Unique_Identifier + +******************************************************************************** +*!* Returns a new binary 16 byte GUID + +*!* In Windows NT 4.0, Windows Me/98, and Windows 95 DCOM release, UuidCreate returns +*!* RPC_S_UUID_LOCAL_ONLY when the originating computer does not have an ethernet/token ring +*!* (IEEE 802.x) address. In this case, the generated UUID is a valid identifier, and is guaranteed +*!* to be unique among all UUIDs generated on the computer. However, the possibility exists that +*!* another computer without an ethernet/token ring address generated the identical UUID. +*!* Therefore you should never use this UUID to identify an object that is not strictly local to +*!* your computer. Computers with ethernet/token ring addresses generate UUIDs that are guaranteed +*!* to be globally unique. +******************************************************************************** +Function ctlNewGuid() + + Local m.lcGuid As String + + m.lcGuid = Replicate(Chr(0xFF), 16) + apiUuidCreate(@m.lcGuid) + + Return m.lcGuid +Endfunc + +******************************************************************************** +Function ctlNewGuidNil() + + Local m.lcGuid As String + + m.lcGuid = Replicate(Chr(0xFF), 16) + apiUuidCreateNil(@m.lcGuid) + + Return m.lcGuid +Endfunc + +******************************************************************************** +Function ctlNewGuidSequential() + + Local m.lcGuid As String + + m.lcGuid = Replicate(Chr(0xFF), 16) + apiUuidCreateSequential(@m.lcGuid) + + Return m.lcGuid +Endfunc + +******************************************************************************** +*!* Returns a new 32 char GUID string +*!* Format "XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX" +******************************************************************************** +Function ctlNewGuidString32() + Return ctlGuidToString32(ctlNewGuid()) +Endfunc + +******************************************************************************** +*!* Returns a new 36 char GUID string +*!* Format "XXXXXXXX-XXXX-XXXX-XXXX-XXXXXXXXXXXX" +******************************************************************************** +Function ctlNewGuidString36() + Return ctlGuidToString36(ctlNewGuid()) +Endfunc + +******************************************************************************** +*!* Returns a new 38 char GUID string +*!* Format "{XXXXXXXX-XXXX-XXXX-XXXX-XXXXXXXXXXXX}" +******************************************************************************** +Function ctlNewGuidString38() + Return ctlGuidToString38(ctlNewGuid()) +Endfunc + +******************************************************************************** +*!* Converts a binary 16 byte GUID to a 32 char GUID string +*!* format "XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX" +******************************************************************************** +Function ctlGuidToString32(pcGuid As String) + + Local m.lcGuidString As String + + m.lcGuidString = "" + + *!* Reorder GUID bytes + m.lcGuidString = ; + Substr(m.pcGuid, 4, 1) + ; + Substr(m.pcGuid, 3, 1) + ; + Substr(m.pcGuid, 2, 1) + ; + Substr(m.pcGuid, 1, 1) + ; + Substr(m.pcGuid, 6, 1) + ; + Substr(m.pcGuid, 5, 1) + ; + Substr(m.pcGuid, 8, 1) + ; + Substr(m.pcGuid, 7, 1) + ; + Substr(m.pcGuid, 9, 8) + + *!* Convert bytes to encoded HexBinary + m.lcGuidString = Strconv(m.lcGuidString, 15) + + Return m.lcGuidString +Endfunc + +******************************************************************************** +*!* Converts a binary 16 byte GUID to a 36 char GUID string +*!* format "XXXXXXXX-XXXX-XXXX-XXXX-XXXXXXXXXXXX" +*!* This is faster that using the StringFromGuid2 API call +******************************************************************************** +Function ctlGuidToString36(pcGuid As String) + + Local ; + m.lcGuidString As String, ; + m.lcGuid As String + + m.lcGuidString = "" + + *!* Convert bytes to encoded HexBinary + m.lcGuid = Strconv(m.pcGuid, 15) + + *!* Reorder GUID bytes, Add hyphens + m.lcGuidString = ; + Substr(m.lcGuid, 07, 02) + ; + Substr(m.lcGuid, 05, 02) + ; + Substr(m.lcGuid, 03, 02) + ; + Substr(m.lcGuid, 01, 02) + ; + "-" + ; + Substr(m.lcGuid, 11, 02) + ; + Substr(m.lcGuid, 09, 02) + ; + "-" + ; + Substr(m.lcGuid, 15, 02) + ; + Substr(m.lcGuid, 13, 02) + ; + "-" + ; + Substr(m.lcGuid, 17, 04) + ; + "-" + ; + Substr(m.lcGuid, 21, 12) + + Return m.lcGuidString +Endfunc + +******************************************************************************** +*!* Converts a binary 16 byte GUID to a 38 char GUID string +*!* format "{XXXXXXXX-XXXX-XXXX-XXXX-XXXXXXXXXXXX}" +*!* This is faster that using the StringFromGuid2 API call +******************************************************************************** +Function ctlGuidToString38(pcGuid As String) + + Local ; + m.lcGuidString As String, ; + m.lcGuid As String + + m.lcGuidString = "" + + *!* Convert bytes to encoded HexBinary + m.lcGuid = Strconv(m.pcGuid, 15) + + *!* Reorder GUID bytes, Add brackets, hyphens + m.lcGuidString = ; + "{" + ; + Substr(m.lcGuid, 07, 02) + ; + Substr(m.lcGuid, 05, 02) + ; + Substr(m.lcGuid, 03, 02) + ; + Substr(m.lcGuid, 01, 02) + ; + "-" + ; + Substr(m.lcGuid, 11, 02) + ; + Substr(m.lcGuid, 09, 02) + ; + "-" + ; + Substr(m.lcGuid, 15, 02) + ; + Substr(m.lcGuid, 13, 02) + ; + "-" + ; + Substr(m.lcGuid, 17, 04) + ; + "-" + ; + Substr(m.lcGuid, 21, 12) + ; + "}" + + Return m.lcGuidString +Endfunc + +******************************************************************************** +*!* Converts char GUID string to a binary 16 byte GUID +*!* format "{XXXXXXXX-XXXX-XXXX-XXXX-XXXXXXXXXXXX}" +*!* format "XXXXXXXX-XXXX-XXXX-XXXX-XXXXXXXXXXXX" +*!* format "XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX" +******************************************************************************** +Function ctlGuidFromString(pcGuidString As String) + + Local ; + m.lcGuid As String, ; + m.lcGuidString As String + + m.lcGuid = "" + + *!* Strip brackets and hyphens + m.lcGuidString = Chrtran(m.pcGuidString, "{-}", "") + + *!* Reorder GUID string chars + m.lcGuid = ; + + Substr(m.lcGuidString, 7, 2) ; + + Substr(m.lcGuidString, 5, 2) ; + + Substr(m.lcGuidString, 3, 2) ; + + Left(m.lcGuidString, 2) ; + + Substr(m.lcGuidString, 11, 2) ; + + Substr(m.lcGuidString, 9, 2) ; + + Substr(m.lcGuidString, 15, 2) ; + + Substr(m.lcGuidString, 13, 2) ; + + Right(m.lcGuidString, 16) + + *!* Convert bytes to decoded HexBinary + m.lcGuid = Strconv(m.lcGuid, 16) + + Return m.lcGuid +Endfunc + +******************************************************************************** +*!* Used just to check the other functions +*!* StringUuid parameter of UuidToString: +*!* Pointer to a pointer to the string into which +*!* the UUID specified in the Uuid parameter will be placed. +*!* UuidToString returns a string in the following format: +*!* "xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxxx" (lowercase) +******************************************************************************** +Function ctlGuidToStringApi1(m.pcGuid As String) + + Local m.lnPointer As Integer + + m.lnPointer = 0 + apiUuidToString(m.pcGuid, @m.lnPointer) + + Return Sys(2600, m.lnPointer, 36) +Endfunc + +******************************************************************************** +*!* Used just to check the other functions +******************************************************************************** +Function ctlGuidToStringApi2(m.pcGuid As String) + + Local ; + m.lcGuidString As String, ; + m.lcLen As Integer + + *!* Set up buffer: 39 chars * 2 (unicode) + m.lcGuidString = Space(78) + m.lcLen = 78 + + apiStringFromGUID2(m.pcGuid, @m.lcGuidString, m.lcLen) + + *!* Remove double null and convert from Unicode: + Return Strconv(Left(m.lcGuidString, 76), 6) + +Endfunc + +******************************************************************************** +*!* Used just to check the other functions +******************************************************************************** +Function ctlGuidFromStringApi(m.pcGuidString As String) + + Local ; + m.lcUuid As String, ; + m.lcGuidString As String + + *!* Strip brackets and hyphens + m.lcGuidString = Chrtran(m.pcGuidString, "{-}", "") + + *!* Add hyphens + m.lcGuidString = ; + LEFT(m.lcGuidString, 8) ; + + "-" ; + + Substr(m.lcGuidString, 9, 4) ; + + "-" ; + + Substr(m.lcGuidString, 13, 4) ; + + "-" ; + + Substr(m.lcGuidString, 17, 4) ; + + "-" ; + + Right(m.lcGuidString, 12) + + m.lcUuid = Replicate(Chr(0xFF), 16) + apiUuidFromString(m.lcGuidString, @m.lcUuid) + Return m.lcUuid + +Endfunc + +******************************************************************************** +*!* END ctl32_functions +******************************************************************************** + + +Function __BaseX( txVal, tcDom ) + * Converts a number to a string representation of that number + * tnVal - Number + * tcDom - The domain of characters to be used + * typical Domains are: + * "01" - Binary + * "0123456789" - Decimal + * "0123456789abcdef" - Hex + * "0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz" - Base62 + * "23456789ABCDEFGHJKLMNPRSTUVWXYZ" - No {01IOQ} - they might confuse a user. + + * If you want the result padded, use PADL() + + Local ; + lnVal, ; + lnDomSiz, ; + lcRet, ; + lnPosition, ; + lnPlace + + If Vartype(txVal) = "N" + If txVal < 0 Then + txVal = txVal + 1 + Endif + lnVal = txVal + lnDomSiz = Len(tcDom) + + * Humans get restless if the value zero is displayed as an empty string (blank). + * The first char of the domain (generally 0) is normally used as a place holder, + * but in the case of the value zero, it fills in to keep the peace. + * This may have lead to the fall of Rome. + + If lnVal = 0 + lcRet = Substr( tcDom, 1, 1 ) + Else + lcRet = '' + Do While lnVal <> 0 + lnDig = lnVal % lnDomSiz + lnVal = Int( lnVal/lnDomSiz ) + If txVal > 0 Then + lcDig = Substr( tcDom, lnDig+1, 1 ) + Else + If lnDig = 0 Then + lnDig = 16 + Endif + lcDig = Substr( tcDom, lnDig, 1 ) + Endif + + lcRet = lcDig + lcRet + Enddo + Endif + lxRet=lcRet + Else + * Convert it back to decimal + lnVal = 0 + lnPlace = 0 + For lnPosition = Len(txVal) To 1 Step -1 + lnVal = lnVal + (At( Substr(txVal,lnPosition,1), tcDom)-1) * (Len(tcDom)^lnPlace) + lnPlace=lnPlace+1 + Endfor + lxRet = lnVal + Endif + + Return lxRet +Endfunc diff --git a/utile/ctl32/ctl32_progressbar.vc2 b/utile/ctl32/ctl32_progressbar.vc2 new file mode 100644 index 0000000..cc02173 --- /dev/null +++ b/utile/ctl32/ctl32_progressbar.vc2 @@ -0,0 +1,1432 @@ +*-------------------------------------------------------------------------------------------------------------------------------------------------------- +* (EN) AUTOGENERATED - ATTENTION!! - NOT INTENDED FOR EXECUTION!! USE ONLY FOR MERGING CHANGES AND STORING WITH SCM TOOLS!! +*-------------------------------------------------------------------------------------------------------------------------------------------------------- +*< FOXBIN2PRG: Version="1.21" SourceFile="ctl32_progressbar.vcx" CPID="1252" /> (Solo para binarios VFP 9 / Only for VFP 9 binaries) +* +* +DEFINE CLASS ctl32_progressbar AS container + *< CLASSDATA: Baseclass="container" Timestamp="" Scale="Pixels" Uniqueid="" /> + + *-- OBJECTDATA items order determines ZOrder / El orden de los items OBJECTDATA determina el ZOrder + *< OBJECTDATA: ObjPath="lblname" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="tmrControlTimer" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="lblName2" UniqueID="" Timestamp="" /> + + #INCLUDE "ctl32.h" + * + *m: ctl32_addproperties + *m: ctl32_bindevents && Binds events. + *m: ctl32_create + *m: ctl32_createcaption + *m: ctl32_declaredlls + *m: ctl32_destroy + *m: ctl32_resize && Bound to Form.Resize + *m: ctl32_setstyle + *m: ctl32_settheme + *m: ctlbackcolor_assign + *m: ctlbarcolor_assign + *m: ctlbordercolor_assign + *m: ctlcaption_access + *m: ctlcaption_assign + *m: ctlhwnd_access + *m: ctlhwnd_assign + *m: ctlmarqueespeed_assign + *m: ctlmarquee_assign + *m: ctlmaximum_assign + *m: ctlminimum_assign + *m: ctlpercent_access + *m: ctlpercent_assign + *m: ctlplay_assign + *m: ctlrepeat_assign + *m: ctlreset && Resets the Value property to the Minimum value. + *m: ctlsizeadjust_assign + *m: ctlsmooth_assign + *m: ctlstepit && Increments the value of the control by the amount specified in step. If a numeric parameter is passed, that value is used instead of the value set in the step property. + *m: ctlstep_assign + *m: ctlstyle_assign + *m: ctlthemes_assign + *m: ctlvaluechanged + *m: ctlvalue_access + *m: ctlvalue_assign + *m: ctlvertical_assign + *m: ctlvisible_assign + *m: evthandler_form_themes + *m: evthandler_page_activate + *m: evthandler_page_deactivate + *m: evthandler_screen_themes + *m: evthandler_this_moved + *m: evthandler_this_resize + *m: height_assign + *m: width_assign + *p: builderx + *p: ctl32_controlhwnd && CreateWindowEx return value. + *p: ctlabout + *p: ctlbackcolor + *p: ctlbarcolor && Specifies the color of the progress bar. A value of -1 resets color to system default. Backcolor specifies the color of the background, a value of -1 resets color to system default. + *p: ctlbordercolor + *p: ctlcaption + *p: ctlformat && Text string used to generate the caption. Check Help File + *p: ctlhwnd && Specifies the Window handle of the Control. + *p: ctlmarquee && Especifies if the marquee style is active. When set to true, the Smooth property is set to false to avoid wrong display of bars when using XP with no themes. + *p: ctlmarqueespeed && Specifies the speed of the marquee bar, in milliseconds. + *p: ctlmaximum && Specifies the upper limit of the value property. Must be a positive or negative number larger than minimum. + *p: ctlminimum && Specifies the lower limit of the value property. Must be a positive or negative number smaller than Maximum + *p: ctlpercent && Specifies the percent of the value property relative to the total of maximum - minimum. + *p: ctlplay && When True, fires the StepIt method every 100 milliseconds. To set the speed, change the value of the step property. + *p: ctlrepeat && Specifies if the controls rolls over to minimum when value reaches maximum. Use it with Play to display a self updating progressbar. + *p: ctlsizeadjust && Adjusts Width/Height of Horizontal/Vertical ProgressBar so that bars show even and complete at the end/top. Use only with Themes applied in Windows XP. + *p: ctlsmooth && Specifies if the progressbar is shown using segments, or using a continuous bar. + *p: ctlstep && Determines the value to use in the stepit method. Can be a positive or negative value. + *p: ctlstyle + *p: ctlthemes && Not Used + *p: ctlvalue && Specifies the current value of the control. + *p: ctlversion + *p: ctlvertical && Specifies if the progressbar is vertical or horizontal. + *p: ctlvisible + *p: _memberdata && XML Metadata for customizable properties + * + + HIDDEN ctl32_controlhwnd + PROTECTED builderx + * + BackColor = 140,200,200 + builderx = (home() + "wizards\ctl32_progressbar_builder.app") + ctl32_controlhwnd = 0 + ctlabout = ctl32_progressbar - Carlos Alloatti. + ctlbackcolor = -1 + ctlbarcolor = -1 + ctlbordercolor = -1 + ctlcaption = + ctlformat = + ctlhwnd = 0 + ctlmarqueespeed = 100 + ctlmaximum = 100 + ctlminimum = 0 + ctlpercent = 0 + ctlstep = 1 + ctlstyle = 1 + ctlthemes = .T. + ctlvalue = 0 + ctlversion = 20061010 + ctlvisible = .T. + ForeColor = 0,0,0 + Height = 18 + Name = "ctl32_progressbar" + Width = 301 + * + + ADD OBJECT 'lblname' AS label WITH ; + AutoSize = .T., ; + BackStyle = 0, ; + Caption = "ctl32_progressbar", ; + FontName = "Tahoma", ; + FontSize = 8, ; + ForeColor = 0,0,128, ; + Left = 6, ; + Name = "lblname", ; + Top = 2 + *< END OBJECT: BaseClass="label" /> + + ADD OBJECT 'lblName2' AS label WITH ; + Anchor = 7, ; + AutoSize = .T., ; + BackStyle = 0, ; + Caption = "ctl32_ProgressBar", ; + FontName = "Tahoma", ; + FontSize = 8, ; + FontStrikethru = .F., ; + FontUnderline = .F., ; + ForeColor = 0,0,128, ; + Height = 96, ; + Left = 0, ; + Name = "lblName2", ; + Rotation = 90, ; + Top = 18, ; + Width = 16 + *< END OBJECT: BaseClass="label" /> + + ADD OBJECT 'tmrControlTimer' AS timer WITH ; + Enabled = .F., ; + Height = 23, ; + Interval = 100, ; + Left = -25, ; + Name = "tmrControlTimer", ; + Top = 0, ; + Width = 23 + *< END OBJECT: BaseClass="timer" /> + + HIDDEN PROCEDURE ctl32_addproperties + *!* Stores the hWnd of the host window + This.AddProperty([nHosthWnd], This.oUtil._HostHWnd()) + + *!* Stores the value of VFP window procedure + This.AddProperty([nVFPWndProc], This.oUtil._VFPWndProc()) + + *!* Stores hWnd of Windows common control created by the class + This.AddProperty([nCtlHwnd], 0) + + *!* Stores hWnd of Windows common control created by the class + This.AddProperty([nProxyHwnd], 0) + + *!* Indicates if the control is in the creation stage + This.AddProperty([lCreating], FALSE) + + *!* Stores old ctlStep Value + This.AddProperty([nOldStep], 0) + + ENDPROC + + HIDDEN PROCEDURE ctl32_bindevents && Binds events. + *!* Manage resize amd move: + Bindevent(This, [Resize], This, [evtHandler_This_Resize], 1) + Bindevent(This, [Moved], This, [evtHandler_This_Moved], 1) + + *!* Manage theme changing + Bindevent(_Screen, [Themes], This, [EvtHandler_Screen_Themes], 1) + If ThisForm.Name <> _Screen.Name then + Bindevent(Thisform, [Themes], This, [EvtHandler_Form_Themes], 1) + Endif + + *!* If we are inside a page in a pageframe: + m.loControl = This.Parent + Do While Not Upper(loControl.BaseClass) == [FORM] + If Upper(m.loControl.BaseClass) == [PAGE] Then + Bindevent(m.loControl, [Activate], This, [EvtHandler_Page_Activate], 1) + Bindevent(m.loControl, [Deactivate], This, [EvtHandler_Page_Deactivate], 1) + Endif + m.loControl = m.loControl.Parent + ENDDO + m.loControl = null + ENDPROC + + HIDDEN PROCEDURE ctl32_create + This.BackStyle = 0 + + This.ctlSizeAdjust = This.ctlSizeAdjust + + Local ; + dwExStyle As Integer, ; + lpClassName As Character, ; + lpWindowName As Character, ; + dwStyle As Integer, ; + hWndParent As Integer, ; + hMenu As Integer, ; + hInstance As Integer, ; + lpParam As Integer, ; + lnTop As Integer, ; + lnLeft As Integer, ; + lnWidth As Integer, ; + lnHeight As Integer, ; + lnLeft As Integer, ; + lnTop As Integer + + + If This.lCreating Then + Return + Endif + + *!* We enter Initialization Stage... (checked by ctl32_Resize) + This.lCreating = true + + *!* Create Static window to hold progressbar if needed + If This.ctlStyle = 3 Then + *!* Define parameters for static createwindowex: + m.dwExStyle = 0 + m.lpClassName = WC_STATICA + m.lpWindowName = "" + m.dwStyle = Bitor(WS_CHILD, WS_CLIPSIBLINGS) + m.hWndParent = This.nHostHwnd + m.hMenu = 0 + m.hInstance = This.oUtil._HInstance() + m.lpParam = 0 + + If This.nStatusBar > 0 Then + m.lnLeft = This.Left + 1 + m.lnTop = This.Top + 1 + Else + m.lnLeft = This.oUtil._ObjToClient(This, [L]) + 1 + m.lnTop = This.oUtil._ObjToClient(This, [T]) + 1 + Endif + + *!* Create proxy window + This.nProxyHwnd = CreateWindowEx( ; + m.dwExStyle, ; + m.lpClassName, ; + m.lpWindowName, ; + m.dwStyle, ; + m.lnLeft, ; + m.lnTop, ; + This.Width - 2, ; + This.Height - 2, ; + m.hWndParent, ; + m.hMenu, ; + m.hInstance, ; + m.lpParam) + Endif + + *!* Define parameters for progressbar createwindowex: + m.dwExStyle = 0 + m.lpClassName = PROGRESS_CLASSA + m.lpWindowName = "" + m.dwStyle = Bitor(WS_CHILD, WS_CLIPSIBLINGS) + + If This.ctlStyle = 3 Then + m.hWndParent = This.nProxyHwnd + m.lnLeft = -2 + m.lnTop = -2 + m.lnWidth = This.Width + 2 + m.lnHeight = This.Height + 2 + Else + + If This.nStatusBar > 0 Then + m.lnLeft = This.Left + m.lnTop = This.Top + Else + m.lnLeft = This.oUtil._ObjToClient(This, [L]) + m.lnTop = This.oUtil._ObjToClient(This, [T]) + Endif + + m.hWndParent = This.nHostHwnd + m.lnWidth = This.Width + m.lnHeight = This.Height + Endif + + *!* Setup Control specific Styles that have to be set at window creation: + *!* ctlMarquee + If This.ctlMarquee = true Then + m.dwStyle = Bitor(m.dwStyle, PBS_MARQUEE) + Endif + + *!* ctlSmooth + If This.ctlSmooth = true + m.dwStyle = Bitor(m.dwStyle, PBS_SMOOTH) + Endif + + *!* Orientation + If This.ctlVertical = true Then + m.dwStyle = Bitor(m.dwStyle, PBS_VERTICAL) + Endif + + m.hMenu = 0 + m.hInstance = This.oUtil._HInstance() + m.lpParam = 0 + + + This.nCtlHwnd = CreateWindowEx( ; + m.dwExStyle, ; + m.lpClassName, ; + m.lpWindowName, ; + m.dwStyle, ; + m.lnLeft, ; + m.lnTop, ; + m.lnWidth, ; + m.lnHeight, ; + m.hWndParent, ; + m.hMenu, ; + m.hInstance, ; + m.lpParam) + + + *!* Remove border if ctlStyle is 2 + If This.ctlStyle = 2 Then + This.ctl32_SetStyle(2) + Endif + + *!* Set container visibility according to ctlStyle + *!* (Style 3 will always make progress bar rebuild) + If This.ctlStyle < 3 Then + This.Visible = FALSE + Endif + + *!* Set ctlMinimum and ctlMaximum values: + SendMessageN(This.nCtlHwnd, PBM_SETRANGE32, This.ctlMinimum, This.ctlMaximum) + + *!* Send Theme message to control: + This.ctlThemes = This.ctlThemes + + *!* Set Control ctlStep Value + This.ctlStep = This.ctlStep + + *!* Set Control Value to the Container Value property + This.ctlValue = This.ctlValue + + *!* Set ctlMarqueeSpeed Value + This.ctlMarqueeSpeed = This.ctlMarqueeSpeed + + *!* Set ctlPlay state + This.ctlPlay = This.ctlPlay + + *!* Set Colors + This.ctlBackColor = This.ctlBackColor + This.ctlBarColor = This.ctlBarColor + This.ctlBorderColor = This.ctlBorderColor + + *!* Set ctlVisible state + This.ctlVisible = This.ctlVisible + + *!* We finish Initialization State + This.lCreating = FALSE + + + + ENDPROC + + HIDDEN PROCEDURE ctl32_createcaption + ENDPROC + + HIDDEN PROCEDURE ctl32_declaredlls + *!* This procedure registers the Windows API functions used by the class + *!* An array of existing declared API functions is created and checked to + *!* prevent re-declaration of API functions. + *!* When a function is used with an ALIAS, it is first declared with an ALIAS + *!* equal to the original name, and then declared again with the desired alias. + *!* This is because of a bug in VFP: + + *!* If you declare an API function with an alias, and later declare the same api + *!* function without an alias, the first aliased declaration dissapears. + + *!* We create an empty array first because if there are no API declarations + *!* then adlls will not create the array + *!* Then the ascan search will work with no error + + Local Array laDeclaredDlls(1,3) + Local lnLen + m.lnLen = Adlls(m.laDeclaredDlls) + + *!* win32api is used instead of the library name, check these: + *!* blogs.msdn.com/calvin_hsia/archive/2006/04/27/585305.aspx + *!* blogs.msdn.com/calvin_hsia/archive/2006/04/24/582479.aspx + *!* "User32.dll, Gdi32.dll, Kernel32.dll , Advapi32.dll and Mpr.dll are searched (in that order)" + + If Ascan(m.laDeclaredDlls, "CreateWindowEx", 1, m.lnLen , 2, 15) = 0 + Declare Integer CreateWindowEx In win32api ; + integer dwExStyle,; + string lpClassName,; + string lpWindowName,; + integer dwStyle,; + integer x,; + integer Y,; + integer nWidth,; + integer nHeight,; + integer hWndParent,; + integer hMenu,; + integer hInstance,; + integer lpParam + Endif + + If Ascan(m.laDeclaredDlls, "DestroyWindow", 1, m.lnLen , 2, 15) = 0 + Declare Integer DestroyWindow In win32api ; + integer HWnd + Endif + + If Ascan(m.laDeclaredDlls, [SendMessage], 1, m.lnLen , 2, 15) = 0 + Declare Integer SendMessageA In win32api As SendMessage ; + integer HWnd,; + integer Msg,; + integer wParam,; + integer Lparam + Endif + + If Ascan(m.laDeclaredDlls, "SendMessageN", 1, m.lnLen , 2, 15) = 0 + Declare Integer SendMessage In win32api As SendMessageN; + integer HWnd,; + integer Msg,; + integer wParam,; + integer Lparam + Endif + + If Ascan(m.laDeclaredDlls, "SetWindowLong", 1, m.lnLen , 2, 15) = 0 + Declare Integer SetWindowLong In win32api ; + integer HWnd,; + integer nIndex,; + integer dwNewLong + Endif + + If Ascan(m.laDeclaredDlls, "SetWindowPos", 1, m.lnLen , 2, 15) = 0 + Declare Integer SetWindowPos In win32api ; + integer HWnd,; + integer hWndInsertAfter,; + integer x,; + integer Y,; + integer cx,; + integer cy,; + integer wFlags + Endif + + If This.oUtil._OSVersion() >= CON_OS_WINXP Then + If Ascan(m.laDeclaredDlls, "SetWindowTheme", 1, m.lnLen , 2, 15) = 0 + Declare Integer SetWindowTheme In UxTheme ; + integer HWnd,; + string pszSubAppName,; + string pszSubIdList + Endif + Endif + + *!* We must prevent Beautify from changing the case of "ShowWindow" since its also a VFP keyword + *#beautify keyword_nochange + if ascan(m.laDeclaredDlls, [ShowWindow], 1, m.lnLen , 2, 15) = 0 + declare integer ShowWindow in win32api as ShowWindow ; + integer HWnd,; + integer nCmdShow + endif + + if ascan(m.laDeclaredDlls, [_ShowWindow], 1, m.lnLen , 2, 15) = 0 + declare Integer ShowWindow in win32api as _ShowWindow ; + integer hwnd,; + integer nCmdShow + endif + *#beautify + + + + ENDPROC + + HIDDEN PROCEDURE ctl32_destroy + + *!* Destroy Windows + + If This.nCtlHwnd > 0 Then + DestroyWindow(This.nCtlHwnd) + Endif + If This.nProxyHwnd > 0 Then + DestroyWindow(This.nProxyHwnd) + Endif + + + + ENDPROC + + HIDDEN PROCEDURE ctl32_resize && Bound to Form.Resize + *!* If we are in the Control Init Stage, or + *!* we do not have a handle to the Control yet, just return: + If This.lCreating = TRUE Or This.nCtlHwnd = 0 Then + Return + Endif + + *!* Else, resize the Control Window to its container size: + + Local ; + lnLeft As Integer, ; + lnTop As Integer, ; + lnWidth As Integer, ; + lnHeight As Integer + + If This.ctlStyle = 3 Then + *!* Position proxy window + + If This.nStatusBar > 0 Then + m.lnLeft = This.Left + 1 + m.lnTop = This.Top + 1 + Else + m.lnLeft = This.oUtil._ObjToClient(This, [L]) + 1 + m.lnTop = This.oUtil._ObjToClient(This, [T]) + 1 + Endif + + SetWindowPos(This.nProxyHwnd, 0,; + m.lnLeft, ; + m.lnTop, ; + This.Width - 2, ; + This.Height - 2, ; + SWP_NOZORDER) + + m.lnLeft = -2 + m.lnTop = -2 + m.lnWidth = This.Width + 2 + m.lnHeight = This.Height + 2 + Else + If This.nStatusBar > 0 Then + m.lnLeft = This.Left + m.lnTop = This.Top + Else + m.lnLeft = This.oUtil._ObjToClient(This, [L]) + m.lnTop = This.oUtil._ObjToClient(This, [T]) + Endif + + m.lnWidth = This.Width + m.lnHeight = This.Height + Endif + + SetWindowPos(This.nCtlHwnd, 0,; + m.lnLeft, ; + m.lnTop, ; + m.lnWidth, ; + m.lnHeight, ; + SWP_NOZORDER) + + + + + ENDPROC + + HIDDEN PROCEDURE ctl32_setstyle + Lparameters tnStyle + + *!* Only add border if not Themed + If (This.oUtil._ThemeStatus() And This.ctlThemes) = FALSE Then + If m.tnStyle = 1 Then + SetWindowLong(This.nCtlHwnd, GWL_EXSTYLE, WS_EX_STATICEDGE) + *!* Refresh control window so border gets redrawn + SetWindowPos(This.nCtlHwnd, HWND_TOP, 0,0,0,0, Bitor(SWP_NOMOVE, SWP_NOSIZE, SWP_NOZORDER, SWP_FRAMECHANGED)) + Endif + Endif + + If m.tnStyle = 2 Then + SetWindowLong(This.nCtlHwnd, GWL_EXSTYLE, 0) + *!* Refresh control window so border gets redrawn + SetWindowPos(This.nCtlHwnd, HWND_TOP, 0,0,0,0, Bitor(SWP_NOMOVE, SWP_NOSIZE, SWP_NOZORDER, SWP_FRAMECHANGED)) + Endif + + + ENDPROC + + HIDDEN PROCEDURE ctl32_settheme + If This.oUtil._OSVersion() >= CON_OS_WINXP Then + If (This.oUtil._ThemeStatus() And This.ctlThemes) = TRUE Then + *!* Restore Theme + SetWindowTheme(This.nCtlHwnd, Null, Null) + *!* Remove border + This.ctl32_SetStyle(2) + Else + *!* Remove Theme + SetWindowTheme(This.nCtlHwnd, Null, " ") + *!* Reset border + This.ctl32_SetStyle(This.ctlStyle) + Endif + Endif + + + + + + ENDPROC + + HIDDEN PROCEDURE ctlbackcolor_assign + Lparameters vNewVal + + If Type("m.vNewVal") <> [N] + Return + Endif + + If m.vNewVal > 16777215 Then + m.vNewVal = -1 + Endif + + This.ctlBackColor = m.vNewVal + + This.BackColor= m.vNewVal + + If This.nStatusBar = -1 Then + Return + Endif + + If This.nCtlHwnd > 0 Then + If This.ctlBackColor = -1 Then + SendMessageN(This.nCtlHwnd, PBM_SETBKCOLOR, 0, CLR_DEFAULT) + Else + SendMessageN(This.nCtlHwnd, PBM_SETBKCOLOR, 0, This.ctlBackColor) + Endif + Endif + + + + ENDPROC + + HIDDEN PROCEDURE ctlbarcolor_assign + Lparameters vNewVal + + If Type("m.vNewVal") <> [N] + return + Endif + + If m.vNewVal > 16777215 Then + m.vNewVal = -1 + Endif + + This.ctlBarColor = m.vNewVal + + If This.nStatusBar = -1 Then + Return + Endif + + If This.nCtlHwnd > 0 Then + If This.ctlBarColor = -1 Then + SendMessageN(This.nCtlHwnd, PBM_SETBARCOLOR, 0, CLR_DEFAULT) + Else + SendMessageN(This.nCtlHwnd, PBM_SETBARCOLOR, 0, This.ctlBarColor) + Endif + Endif + + + ENDPROC + + HIDDEN PROCEDURE ctlbordercolor_assign + Lparameters vNewVal + + If m.vNewVal = -1 Then + m.vNewVal = Rgb(0,0,0) + Endif + + This.ctlBorderColor = m.vNewVal + + This.BorderColor = This.ctlBorderColor + + ENDPROC + + HIDDEN PROCEDURE ctlcaption_access + If Empty(This.ctlFormat) Then + Return [] + Endif + + Local ; + lcValB, ; + lcValN, ; + lcValP, ; + lcMaxB, ; + lcMaxN, ; + lcMaxP, ; + lcMinB, ; + lcMinN, ; + lcMinP, ; + lcOut + + m.lcValN = Transform(This.ctlValue, "999,999,999,999") + m.lcMaxN = Transform(This.ctlMaximum, "999,999,999,999") + m.lcMinN = Transform(This.ctlMinimum, "999,999,999,999") + + m.lcValP = Transform(This.ctlPercent, "999%") + m.lcMaxP = "100%" + m.lcMinP = "0%" + + m.lcValB = This.oUtil._StrFormatByteSize(This.ctlValue) + m.lcMaxB = This.oUtil._StrFormatByteSize(This.ctlMaximum) + m.lcMinB = This.oUtil._StrFormatByteSize(This.ctlMinimum) + + m.lcOut = This.ctlFormat + m.lcOut = Strtran(m.lcOut , "ValBytes", Alltrim(m.lcValB), 1, 99, 1) + m.lcOut = Strtran(m.lcOut , "ValNumber", Alltrim(m.lcValN), 1, 99, 1) + m.lcOut = Strtran(m.lcOut , "ValPercent", Alltrim(m.lcValP), 1, 99, 1) + + m.lcOut = Strtran(m.lcOut , "MaxBytes", Alltrim(m.lcMaxB), 1, 99, 1) + m.lcOut = Strtran(m.lcOut , "MaxNumber", Alltrim(m.lcMaxN), 1, 99, 1) + m.lcOut = Strtran(m.lcOut , "MaxPercent", Alltrim(m.lcMaxP), 1, 99, 1) + + m.lcOut = Strtran(m.lcOut , "MinBytes", Alltrim(m.lcMinB), 1, 99, 1) + m.lcOut = Strtran(m.lcOut , "MinNumber", Alltrim(m.lcMinN), 1, 99, 1) + m.lcOut = Strtran(m.lcOut , "MinPercent", Alltrim(m.lcMinP), 1, 99, 1) + + Return m.lcOut + + ENDPROC + + HIDDEN PROCEDURE ctlcaption_assign + Lparameters vNewVal + Return + + ENDPROC + + HIDDEN PROCEDURE ctlhwnd_access + If This.nStatusBar = -1 Then + Return 0 + Endif + + Return This.nCtlHwnd + + ENDPROC + + HIDDEN PROCEDURE ctlhwnd_assign + Lparameters vNewVal + Return + + ENDPROC + + HIDDEN PROCEDURE ctlmarqueespeed_assign + Lparameters vNewVal + + This.ctlMarqueeSpeed = m.vNewVal + + If This.nStatusBar = -1 Then + Return + Endif + + If This.nCtlHwnd > 0 Then + SendMessageN(This.nCtlHwnd, PBM_SETMARQUEE, 1, This.ctlMarqueeSpeed) + Endif + + + ENDPROC + + HIDDEN PROCEDURE ctlmarquee_assign + Lparameters vNewVal + + If Type("m.vNewVal") = [N] Then + If m.vNewVal = 0 Then + m.vNewVal = FALSE + Else + m.vNewVal = TRUE + Endif + ENDIF + + This.ctlMarquee = m.vNewVal + + If This.nStatusBar = -1 Then + Return + Endif + + *!* ctlMarquee change needs to recreate Control + If This.nCtlHwnd > 0 Then + This.ctl32_Destroy() + This.ctl32_Create() + Endif + + ENDPROC + + HIDDEN PROCEDURE ctlmaximum_assign + Lparameters vNewVal + + This.ctlMaximum = m.vNewVal + + If This.nStatusBar = -1 Then + Return + Endif + + If This.nCtlHwnd > 0 Then + *!* Set ctlMinimum and ctlMaximum values: + SendMessageN(This.nCtlHwnd, PBM_SETRANGE32, This.ctlMinimum, This.ctlMaximum) + Endif + + + ENDPROC + + HIDDEN PROCEDURE ctlminimum_assign + Lparameters vNewVal + + This.ctlMinimum = m.vNewVal + + If This.nStatusBar = -1 Then + Return + Endif + + If This.nCtlHwnd > 0 Then + *!* Set ctlMinimum and ctlMaximum values: + SendMessageN(This.nCtlHwnd, PBM_SETRANGE32, This.ctlMinimum, This.ctlMaximum) + Endif + + ENDPROC + + HIDDEN PROCEDURE ctlpercent_access + Return Int(100 * (This.ctlValue - This.ctlMinimum) / (Abs(This.ctlMaximum - This.ctlMinimum))) + + + + ENDPROC + + HIDDEN PROCEDURE ctlpercent_assign + Lparameters vNewVal + Return + + ENDPROC + + HIDDEN PROCEDURE ctlplay_assign + Lparameters vNewVal + + If Type("m.vNewVal") = [N] Then + If m.vNewVal = 0 Then + m.vNewVal = FALSE + Else + m.vNewVal = TRUE + Endif + Endif + + This.ctlPlay = m.vNewVal + + If This.nStatusBar = -1 Then + Return + Endif + + This.tmrControlTimer.Enabled = This.ctlPlay + + ENDPROC + + HIDDEN PROCEDURE ctlrepeat_assign + Lparameters vNewVal + + If Type("m.vNewVal") = [N] Then + If m.vNewVal = 0 Then + m.vNewVal = FALSE + Else + m.vNewVal = TRUE + Endif + Endif + + This.ctlRepeat = m.vNewVal + + ENDPROC + + PROCEDURE ctlreset && Resets the Value property to the Minimum value. + Lparameters tToEnd + + If PCOUNT() = 0 Then + This.ctlValue = This.ctlMinimum + Else + This.ctlValue = This.ctlMaximum + Endif + + ENDPROC + + HIDDEN PROCEDURE ctlsizeadjust_assign + Lparameters vNewVal + + This.ctlSizeAdjust = m.vNewVal + + This.Height = This.Height + This.Width = This.Width + + + ENDPROC + + HIDDEN PROCEDURE ctlsmooth_assign + Lparameters vNewVal + + If Type("m.vNewVal") = [N] Then + If m.vNewVal = 0 Then + m.vNewVal = FALSE + Else + m.vNewVal = TRUE + Endif + Endif + + If This.ctlSmooth = m.vNewVal Then + Return + Endif + + This.ctlSmooth = m.vNewVal + + If This.nStatusBar = -1 Then + Return + Endif + + *!* ctlSmooth change needs to recreate Control + If This.nCtlHwnd > 0 Then + This.ctl32_destroy() + This.ctl32_Create() + Endif + + + ENDPROC + + PROCEDURE ctlstepit && Increments the value of the control by the amount specified in step. If a numeric parameter is passed, that value is used instead of the value set in the step property. + Lparameters lnVal + + Local lnOldStep + + If This.nStatusBar = -1 Then + Return + Endif + + If This.ctlMarquee = TRUE Then + Return + Endif + + *!* If no numeric parameter, use actual ctlStep value: + If Type("m.lnVal") <> "N" + m.lnVal = This.ctlStep + Endif + + *!* If parameter is different from actual ctlStep value, save old value: + If m.lnVal <> This.ctlStep Then + This.nOldStep = This.ctlStep + This.ctlStep = m.lnVal + Else + This.nOldStep = 0 + Endif + + If This.nCtlHwnd > 0 Then + *!* Send ctlStepIt message: + SendMessageN(This.nCtlHwnd, PBM_STEPIT, 0, 0) + *!* Trigger event: + Raiseevent(This, [ctlValueChanged]) + Endif + + *!* Reset ctlStep Value if old value saved: + If This.nOldStep <> 0 Then + This.ctlStep = This.nOldStep + Endif + + + ENDPROC + + HIDDEN PROCEDURE ctlstep_assign + Lparameters vNewVal + + This.ctlStep = m.vNewVal + + If This.nStatusBar = -1 Then + Return + Endif + + If This.nCtlHwnd > 0 Then + *!* Set ctlStep Value + SendMessageN(This.nCtlHwnd, PBM_SETSTEP , This.ctlStep, 0) + Endif + + ENDPROC + + HIDDEN PROCEDURE ctlstyle_assign + Lparameters vNewVal + + Local lnOldStyle, llUpdate, lnParam + + lnOldStyle = This.ctlStyle + llUpdate = FALSE + + This.ctlStyle = m.vNewVal + + If This.nStatusBar = -1 Then + Return + Endif + + *!* 1 normal 3d border (only when theme is off) + *!* 2 flat no border + *!* 3 flat with border (adds proxy window an uses container border) + + Do Case + Case This.ctlStyle = 1 + *!* Recreate control if old style was 3 + If m.lnOldStyle = 3 Then + m.llUpdate = TRUE + Else + This.ctl32_SetStyle(1) + Endif + + Case This.ctlStyle = 2 + If m.lnOldStyle = 3 Then + m.llUpdate = TRUE + Else + This.ctl32_SetStyle(2) + Endif + + Case This.ctlStyle = 3 + If m.lnOldStyle <> 3 Then + This.Visible = TRUE + m.llUpdate = TRUE + Endif + + Endcase + + If m.llUpdate Then + If This.nCtlHwnd > 0 Then + This.ctl32_destroy() + Endif + This.ctl32_Create() + Endif + + ENDPROC + + HIDDEN PROCEDURE ctlthemes_assign + Lparameters vNewVal + + If Type("m.vNewVal") = [N] Then + If m.vNewVal = 0 Then + m.vNewVal = FALSE + Else + m.vNewVal = TRUE + Endif + Endif + + This.ctlThemes = m.vNewVal + + If This.nStatusBar = -1 Then + Return + Endif + + This.ctl32_SetTheme() + + ENDPROC + + PROCEDURE ctlvaluechanged + ENDPROC + + HIDDEN PROCEDURE ctlvalue_access + If This.nStatusBar = -1 Then + Return This.ctlValue + Endif + + *!* If setting up Control, use ctlValue of Container, not ctlValue of Control + If This.lCreating Or This.nCtlHwnd = 0 Then + Return This.ctlValue + Endif + + *!* Ask Control for Value to return: + Return SendMessageN(This.nCtlHwnd, PBM_GETPOS, 0, 0) + + + + ENDPROC + + HIDDEN PROCEDURE ctlvalue_assign + Lparameters vNewVal + + This.ctlValue = m.vNewVal + + If This.nStatusBar = -1 Then + Return + Endif + + If This.nCtlHwnd > 0 Then + SendMessageN(This.nCtlHwnd, PBM_SETPOS, m.vNewVal, 0) + *!* Trigger event: + Raiseevent(This, [ctlValueChanged]) + Endif + + + + + + ENDPROC + + HIDDEN PROCEDURE ctlvertical_assign + Lparameters vNewVal + + If Type("m.vNewVal") = [N] Then + If m.vNewVal = 0 Then + m.vNewVal = FALSE + Else + m.vNewVal = TRUE + Endif + ENDIF + + This.ctlVertical = m.vNewVal + + If This.nStatusBar = -1 Then + Return + Endif + + *!* ctlVertical change needs to recreate Control + If This.nCtlHwnd > 0 Then + This.ctl32_destroy() + This.ctl32_Create() + Endif + + ENDPROC + + HIDDEN PROCEDURE ctlvisible_assign + Lparameters vNewVal + + Local lnParam + + If Type("m.vNewVal") = [N] Then + If m.vNewVal = 0 Then + m.vNewVal = FALSE + Else + m.vNewVal = TRUE + Endif + Endif + + This.ctlVisible = m.vNewVal + + If This.nStatusBar = -1 Then + Return + Endif + + If This.ctlVisible = TRUE Then + m.lnParam = SW_SHOWNA + Else + m.lnParam = SW_HIDE + Endif + + This.Visible = This.ctlVisible And (This.ctlStyle = 3) + + If This.nProxyHwnd > 0 Then + _ShowWindow(This.nProxyHwnd, m.lnParam) + Endif + + If This.nCtlHwnd > 0 Then + _ShowWindow(This.nCtlHwnd, m.lnParam) + Endif + + + + ENDPROC + + PROCEDURE Destroy + This.Ctl32_Destroy() + + + + ENDPROC + + HIDDEN PROCEDURE evthandler_form_themes + This.ctl32_SetTheme() + ENDPROC + + HIDDEN PROCEDURE evthandler_page_activate + If This.ctlVisible = TRUE Then + If This.nProxyHwnd <> 0 Then + _ShowWindow(This.nProxyHwnd, SW_SHOWNA) + Endif + If This.nCtlHwnd <> 0 Then + _ShowWindow(This.nCtlHwnd, SW_SHOWNA) + Endif + Endif + + ENDPROC + + HIDDEN PROCEDURE evthandler_page_deactivate + If This.ctlVisible = TRUE Then + If This.nProxyHwnd <> 0 Then + _ShowWindow(This.nProxyHwnd, SW_HIDE) + Endif + If This.nCtlHwnd > 0 Then + _ShowWindow(This.nCtlHwnd, SW_HIDE) + Endif + Endif + + + ENDPROC + + HIDDEN PROCEDURE evthandler_screen_themes + This.ctl32_SetTheme() + ENDPROC + + HIDDEN PROCEDURE evthandler_this_moved + This.ctl32_Resize() + + ENDPROC + + HIDDEN PROCEDURE evthandler_this_resize + This.ctl32_Resize() + + ENDPROC + + HIDDEN PROCEDURE height_assign + Lparameters vNewVal + + This.Height = m.vNewVal + + If This.ctlSizeAdjust = TRUE Then + If This.ctlVertical = TRUE Then + This.Height = Round((This.Height - 8)/8,0) * 8 + 5 + Endif + Endif + + + ENDPROC + + PROCEDURE Init + *!* This parameter is passed from host ctl32_statusbar control + Lparameters tnStatusBar + + *!* This Property we need now: + If Not Pemstatus(This, [nStatusBar], CON_PEMSTAT_DEFINED) + This.AddProperty([nStatusBar], 0) + Endif + + *!* If we have a parameter, Status Bar is creating this + If Pcount() > 0 And Type([m.tnStatusBar]) = T_NUMERIC Then + This.nStatusBar = m.tnStatusBar + Endif + + *!* Check if -1 parameter from statusbar, that means no Init yet + If This.nStatusBar = -1 + Return + Endif + + *!* Add Util object + If Not Pemstatus(This, [oUtil], CON_PEMSTAT_DEFINED) + This.Newobject([oUtil], [_Util], [ctl32_common.vcx]) + Endif + + This.ctl32_DeclareDlls() + This.ctl32_AddProperties() + + If This.nStatusBar > 0 Then + This.nHostHwnd = This.nStatusBar + *!* Just in case its geting recreated by a parent ctl32_statusbar + This.ctl32_Destroy() + Endif + + This.ctl32_Create() + This.ctl32_BindEvents() + + ENDPROC + + HIDDEN PROCEDURE width_assign + Lparameters vNewVal + + This.Width = m.vNewVal + + If This.ctlSizeAdjust = TRUE Then + If This.ctlVertical = FALSE Then + This.Width = Round((This.Width - 5)/8,0) * 8 + 5 + Endif + Endif + + + ENDPROC + + PROCEDURE lblname.Init + return FALSE + + ENDPROC + + PROCEDURE lblName2.Init + return FALSE + ENDPROC + + PROCEDURE tmrControlTimer.Timer + If This.Parent.ctlHWnd = 0 Then + Return + Endif + + This.Parent.ctlStepIt() + + ENDPROC + +ENDDEFINE + +DEFINE CLASS ctl32_progressbarlabel AS label + *< CLASSDATA: Baseclass="label" Timestamp="" Scale="Pixels" Uniqueid="" /> + + * + *m: ctl32_bind + *m: ctl32_bytestostr + *m: ctl32_declares + *m: ctl32_init + *m: ctl32_unbind + *m: ctl32_update + *p: buddycontrol && Especifies the full name of the ctl32_ProgressBar control to bind this label to. For example: ThisForm.ctl32_ProgressBar1 + *p: ctl32_name + *p: ctl32_version + *p: ctlabout + *p: ctlversion + *p: labelcaption && Especifies the text to display in the label. Any text can be entered, keywords <> and <> will be replaced by the progressbar respective values. + *p: labelstyle && Especifies the Style used to display numbers in label text. N: Number, P: Percent, B: Bytes/KB/MB/GB + *p: _memberdata && XML Metadata for customizable properties + * + + PROTECTED ctl32_name,ctl32_version + * + Alignment = 1 + BorderStyle = 0 + buddycontrol = + Caption = "ctl32_ProgressBar_Label" + ctl32_name = ctl32_ProgressBarLabel + ctl32_version = 1.1 + ctlabout = ctl32_progressbarlabel - Carlos Alloatti + ctlversion = 20061010 + FontName = "Tahoma" + FontSize = 8 + Height = 16 + labelcaption = <> + labelstyle = N + Name = "ctl32_progressbarlabel" + Width = 300 + _memberdata = + + + * + + HIDDEN PROCEDURE ctl32_bind + If Not Empty(This.BuddyControl) Then + If Type(This.BuddyControl) = [U] Then + This.BuddyControl = [ThisForm.] + This.BuddyControl + Endif + + Bindevent(Evaluate(This.BuddyControl),"ctlValueChanged",This,"CTL32_UPDATE",1) + + Endif + + ENDPROC + + HIDDEN PROCEDURE ctl32_bytestostr + LPARAMETERS qdw + + LOCAL pszBuf + + m.pszBuf = SPACE(100) + + StrFormatByteSizeA(m.qdw, @m.pszBuf, Len(m.pszBuf)) + + m.pszBuf = ALLTRIM(m.pszBuf) + + * Remove chr(0) + m.pszBuf = Left(m.pszBuf,Len(m.pszBuf)-1) + + RETURN ALLTRIM(m.pszBuf) + ENDPROC + + HIDDEN PROCEDURE ctl32_declares + DECLARE INTEGER StrFormatByteSizeA IN shlwapi; + INTEGER qdw,; + STRING @ pszBuf,; + INTEGER uiBufSize + ENDPROC + + HIDDEN PROCEDURE ctl32_init + This.Caption = "" + + This.ctl32_Declares + This.ctl32_Bind + This.ctl32_Update + + ENDPROC + + HIDDEN PROCEDURE ctl32_unbind + ENDPROC + + HIDDEN PROCEDURE ctl32_update + If Empty(This.BuddyControl) + Return + Endif + + If Type("This.LabelStyle") <> [C] + WAIT ([LabelStyle Property must be Character: ] + Program()) WINDOW nowait + Return + Endif + + Local lcValue, lcMaximum, lcCaption + Do Case + + Case This.LabelStyle = "N" && Value + lcValue = Transform((Evaluate(This.BuddyControl + ".ctlValue")),"999,999,999,999") + lcMaximum = Transform((Evaluate(This.BuddyControl + ".ctlMaximum")),"999,999,999,999") + lcMinimum = Transform((Evaluate(This.BuddyControl + ".ctlMinimum")),"999,999,999,999") + + Case This.LabelStyle = "P" && Percent + lcValue = Transform(Evaluate(This.BuddyControl + ".ctlPercent"),"999%") + lcMaximum = "100%" + lcMinimum = "0%" + + Case This.LabelStyle = "B" && Bytes + lcValue = This.ctl32_bytestostr(Evaluate(This.BuddyControl + ".ctlValue")) + lcMaximum = This.ctl32_bytestostr(Evaluate(This.BuddyControl + ".ctlMaximum")) + lcMinimum = This.ctl32_bytestostr(Evaluate(This.BuddyControl + ".ctlMinimum")) + + Otherwise && same as "N" + lcValue = Transform((Evaluate(This.BuddyControl + ".ctlValue")),"999,999,999,999") + lcMaximum = Transform((Evaluate(This.BuddyControl + ".ctlMaximum")),"999,999,999,999") + lcMinimum = Transform((Evaluate(This.BuddyControl + ".ctlMinimum")),"999,999,999,999") + + Endcase + + lcCaption = This.LabelCaption + lcCaption = Strtran(lcCaption ,"<>",Alltrim(lcValue),1,10,1) + lcCaption = Strtran(lcCaption ,"<>",Alltrim(lcMaximum),1,10,1) + lcCaption = Strtran(lcCaption ,"<>",Alltrim(lcMinimum),1,10,1) + + This.Caption = lcCaption + This.Refresh + + ENDPROC + + PROCEDURE Destroy + This.ctl32_Unbind + + ENDPROC + + PROCEDURE Init + This.ctl32_Init + + ENDPROC + +ENDDEFINE diff --git a/utile/ctl32/ctl32_scontainer.vc2 b/utile/ctl32/ctl32_scontainer.vc2 new file mode 100644 index 0000000..90bea43 --- /dev/null +++ b/utile/ctl32/ctl32_scontainer.vc2 @@ -0,0 +1,2130 @@ +*-------------------------------------------------------------------------------------------------------------------------------------------------------- +* (EN) AUTOGENERATED - ATTENTION!! - NOT INTENDED FOR EXECUTION!! USE ONLY FOR MERGING CHANGES AND STORING WITH SCM TOOLS!! +*-------------------------------------------------------------------------------------------------------------------------------------------------------- +*< FOXBIN2PRG: Version="1.21" SourceFile="ctl32_scontainer.vcx" CPID="1252" /> (Solo para binarios VFP 9 / Only for VFP 9 binaries) +* +* +DEFINE CLASS ctl32_scontainer AS container + *< CLASSDATA: Baseclass="container" Timestamp="" Scale="Pixels" Uniqueid="" /> + + *-- OBJECTDATA items order determines ZOrder / El orden de los items OBJECTDATA determina el ZOrder + *< OBJECTDATA: ObjPath="lblname" UniqueID="" Timestamp="" /> + + #INCLUDE "ctl32.h" + * + *m: ctl32_activateform + *m: ctl32_addproperties + *m: ctl32_bindevents + *m: ctl32_bindmousewheel + *m: ctl32_create + *m: ctl32_declaredlls + *m: ctl32_objtoclient + *m: ctl32_resize + *m: ctl32_scroll + *m: ctl32_scrolltocontrol + *m: ctl32_settheme + *m: ctl32_setzoomratios + *m: ctlautocenter_assign + *m: ctlbackcolor_assign + *m: ctlbackstyle_assign + *m: ctlbordercolor_assign + *m: ctlborderstyle_assign + *m: ctldoscroll && Scrolls the control to simulate a user clicking the scroll bars. + *m: ctlforcescrollbars_assign + *m: ctlhhwnd_access + *m: ctlhhwnd_assign + *m: ctlhmax_access + *m: ctlhmax_assign + *m: ctlhvalue_access + *m: ctlhvalue_assign + *m: ctlrestoresize + *m: ctlscrollbars_assign + *m: ctlscrolled && Occurs when the horizontal or vertical scroll bars are clicked or dragged + *m: ctlvhwnd_access + *m: ctlvhwnd_assign + *m: ctlvmax_access + *m: ctlvmax_assign + *m: ctlvvalue_access + *m: ctlvvalue_assign + *m: evthandler_form_activate + *m: evthandler_form_themes + *m: evthandler_form_visible + *m: evthandler_form_wpumsg + *m: evthandler_pageframe_activepage + *m: evthandler_page_activate + *m: evthandler_page_deactivate + *m: evthandler_screen_themes + *m: evthandler_this_moved + *m: evthandler_this_newobject + *m: evthandler_this_resize + *m: msghandler_form_wmproxy + *p: ctl32_structs + *p: ctlabout && Returns information about the class. + *p: ctlactivescrollbars && Specifies whether scrollbars are needed. It does not indicate if the scrollbars are visible. Can be used to control an optional scroll control. 0: none, 1: horizontal, 2: vertical, 3: both. + *p: ctlautocenter && Specifies whether the child control should be centered in the scrollable container when the scrollable container is bigger that the child control. + *p: ctlautoscroll + *p: ctlbackcolor + *p: ctlbackstyle + *p: ctlbordercolor + *p: ctlborderstyle + *p: ctlforcescrollbars && Specifies whether scrollbars should be always visible. Visible scrollbars will be disabled when not needed. + *p: ctlhenabled && Specifies if the horizontal scrollbar is enabled or required. + *p: ctlhhwnd && Returns a handle to the horizontal scrollbar control window. + *p: ctlhlargechange && Specifies the increment an horizontal scrollbar scrolls when you click on the scrollbar track. + *p: ctlhmargin && Specifies the horizontal margin to use when autoscrolling to the active control. + *p: ctlhmax + *p: ctlhsmallchange && Specifies the horizontal scrolling increment for a form's horizontal scroll bar. + *p: ctlhvalue && Sets or returns the actual horizontal scroll value of the client control. + *p: ctlhvisible && Specifies if the horizontal scrollbar is visible. + *p: ctlhwheelchange && Specifies the increment an horizontal scrollbar scrolls when you use the mouse wheel. + *p: ctlscrollbars && Specifies the type of scroll bars a control has. + *p: ctlthemes + *p: ctlvcxcommon + *p: ctlvcxstructs + *p: ctlvenabled && Specifies if the vertical scrollbar is enabled or required. + *p: ctlversion + *p: ctlvhwnd && Returns a handle to the horizontal scrollbar control window. + *p: ctlvlargechange && Specifies the increment a vertical scrollbar scrolls when you click on the scrollbar track. + *p: ctlvmargin && Specifies the vertical margin to use when autoscrolling to the active control. + *p: ctlvmax + *p: ctlvsmallchange && Specifies the increment a vertical scrollbar scrolls when you click on a scroll arrow. + *p: ctlvvalue && Sets or returns the actual vertical scroll value of the client control. + *p: ctlvvisible && Specifies if the vertical scrollbar is visible. + *p: ctlvwheelchange && Specifies the increment a vertical scrollbar scrolls when you use the mouse wheel. + *p: ctlzoom + *p: _memberdata && XML Metadata for customizable properties + * + + HIDDEN ctl32_structs + * + BackColor = 140,200,200 + BorderWidth = 0 + ctl32_structs = ctl32_structs.vcx + ctlabout = ctl32_scontainer - Carlos Alloatti & Malcolm Greene. + ctlactivescrollbars = 0 + ctlautocenter = .T. + ctlautoscroll = .T. + ctlbackcolor = -1 + ctlbackstyle = 1 + ctlbordercolor = -1 + ctlborderstyle = 1 + ctlforcescrollbars = 0 + ctlhenabled = .F. + ctlhhwnd = 0 + ctlhlargechange = -1 + ctlhmargin = 5 + ctlhmax = 0 + ctlhsmallchange = 20 + ctlhvalue = 0 + ctlhvisible = .F. + ctlhwheelchange = 40 + ctlscrollbars = 3 + ctlthemes = .T. + ctlvcxcommon = ctl32_common.vcx + ctlvcxstructs = ctl32_structs.vcx + ctlvenabled = .F. + ctlversion = 20061010 + ctlvhwnd = 0 + ctlvlargechange = -1 + ctlvmargin = 5 + ctlvmax = 0 + ctlvsmallchange = 20 + ctlvvalue = 0 + ctlvvisible = .F. + ctlvwheelchange = 40 + ctlzoom = 1 + Height = 120 + Name = "ctl32_scontainer" + Width = 240 + _memberdata = + + + * + + ADD OBJECT 'lblname' AS label WITH ; + AutoSize = .T., ; + BackStyle = 0, ; + Caption = "ctl32_scontainer", ; + FontName = "Tahoma", ; + FontSize = 8, ; + ForeColor = 0,0,128, ; + Height = 15, ; + Left = 3, ; + Name = "lblname", ; + Top = 3, ; + Width = 81 + *< END OBJECT: BaseClass="label" /> + + PROCEDURE AddObject + Lparameters cName, cClass + + If This.ControlCount > 0 Then + This.RemoveObject(This.Controls(1).Name) + Endif + + + + + + ENDPROC + + HIDDEN PROCEDURE ctl32_activateform + *!* //Dorin Vasilescu// TaskBar Class + *!* Set the form active if not active when clicking on scrollbar + + If Type([_Screen.ActiveForm]) == T_OBJECT + *If the form is the topmost form just exit + If Thisform = _Screen.ActiveForm + Return + Endif + Endif + + Local ; + loForm As Form, ; + llModalWindow As Logical + + For Each m.loForm In _Screen.Forms + If Vartype(m.loForm.WindowType) == T_NUMERIC + If m.loForm.WindowType = 1 + m.llModalWindow = TRUE + Exit + Endif + Endif + Endfor + + If m.llModalWindow = FALSE Then + For Each m.loForm In _Screen.Forms + If m.loForm.HWnd = Thisform.HWnd + If Type([m.loForm.ActiveControl]) == T_OBJECT + If Pemstatus(m.loForm.ActiveControl, [SetFocus], CON_PEMSTAT_DEFINED) + m.loForm.ActiveControl.SetFocus() + Endif + Else + m.loForm.Show() + Endif + Exit + Endif + Endfor + Endif + + ENDPROC + + HIDDEN PROCEDURE ctl32_addproperties + + *!* Stores border Container + This.AddProperty([cCntBorderName], Sys(2015)) + + *!* Stores an object reference to the cntBorder container control + This.AddProperty([oCntBorder], null) + + *!* Stores full name of previous active control + This.AddProperty([cPrevControlFullName], []) + + *!* Stores starting width and height of the client control + This.AddProperty([nOriginalHeight], 0) + This.AddProperty([nOriginalWidth], 0) + + *!* Stores Max Zoom Index + This.AddProperty([nMaxZoomIndex], 35) + + *!* Stores default zoom index + This.AddProperty([nDefaultZoomIndex], 19) + + *!* Stores actual zoom index + This.AddProperty([nZoomIndex], This.nDefaultZoomIndex) + + *!* Array to hold zoom level values, as a percent of actual size + This.AddProperty([aZoomLevel(This.nMaxZoomIndex)], 0) + + *!* Stores width of border to use (1 with themes on, 2 with themes 2) + This.AddProperty([nBorderWidth], 0) + + *!* Stores back color + This.AddProperty([nDefaultBackColor], 0) + + *!* Stores border color + This.AddProperty([nDefaultBorderColor], 0) + + *!* Stores the hWnd of the host window + This.AddProperty([nHosthWnd], This.oUtil._HostHWnd(This)) + + *!* Stores HWND of horizontal scrollbar control + This.AddProperty([nHCtlHwnd], 0) + + *!* Stores value of previous BorderStyle setting + This.AddProperty([nOldBorderStyle], 0) + + *!* Stores the value of VFP window procedure + This.AddProperty([nVFPWndProc], This.oUtil._VFPWndProc()) + + *!* Stores height of standard horizontal scrollbar + This.AddProperty([nScrollHeight], Sysmetric(SYSMETRIC_HSCROLLBARHEIGHT)) + + *!* Stores width of standard vertical scrollbar + This.AddProperty([nScrollWidth], Sysmetric(SYSMETRIC_VSCROLLBARWIDTH)) + + *!* Stores HWND of vertical scrollbar control + This.AddProperty([nVCtlHwnd], 0) + + *!* Stores old mouse coordinates + This.AddProperty([nXCoord], 0) + This.AddProperty([nYCoord], 0) + + *!* Define ScrollInfo Object to be used by various methods + This.AddProperty([oScrollInfo], Newobject([_ScrollInfo], This.ctl32_structs)) + + *!* Add Macros object + This.AddProperty([oMacros], Newobject([_Macros], This.ctl32_structs)) + + *!* Reports that horizontal scrollbar is enabled and visible + This.AddProperty([lHScrollBar], FALSE) + + *!* Stores if control is inside a pageframe + This.AddProperty([lInPage], FALSE) + + *!* Stores state of mousebutton + This.AddProperty([lMouseDown], FALSE) + + *!* Indicates if the page that contains the control is the active page + *!* (if control is inside a pageframe) + This.AddProperty([lPageActive], FALSE) + + *!* Indicates if resizing is already taking place + This.AddProperty([lResizing], FALSE) + + *!* Reports that vertical scrollbar is enabled and visible + This.AddProperty([lVScrollBar], FALSE) + + ******************************************************************************** + *!* Form properties + ******************************************************************************** + + *!* This properties are used to proxy window messages + Thisform.AddProperty([_WPHWND], 0) + Thisform.AddProperty([_WPUMSG], 0) + Thisform.AddProperty([_WPWPARAM], 0) + Thisform.AddProperty([_WPLPARAM], 0) + + + ENDPROC + + HIDDEN PROCEDURE ctl32_bindevents + *!* Since we can only have one Hwnd/message pair with Bindevent, we add properties + *!* to the form in Init and Bind to ThisForm.ctl32_scroll_Msg. This way we can have more than one + *!* scrollable container in a form + + Local loControl As Control + + *Bindevent(This, [AddObject], This, [evtHandler_This_NewObject], 1) + Bindevent(This, [NewObject], This, [evtHandler_This_NewObject], 1) + + Bindevent(This, [Resize], This, [evtHandler_This_Resize], 1) + Bindevent(This, [Moved], This, [evtHandler_This_Moved], 1) + + *!* Bind window messages to window message proxy handler + Bindevent(This.nHosthWnd, WM_HSCROLL, This, [MsgHandler_Form_wmProxy], 5) + Bindevent(This.nHosthWnd, WM_VSCROLL, This, [MsgHandler_Form_wmProxy], 5) + + Bindevent(Thisform, [Visible], This, [evtHandler_Form_Visible], 1) + + *!* We will scan the object hierarchy to see if we have a page from a pageframe somewhere + *!* and we will bind to the page activate and deactivate events + m.loControl = This.Parent + Do While Not Upper(loControl.BaseClass) == [FORM] + If Upper(m.loControl.BaseClass) == [PAGE] Then + This.lInPage = TRUE + Bindevent(m.loControl, [Activate], This, [EvtHandler_Page_Activate], 1) + Bindevent(m.loControl, [Deactivate], This, [EvtHandler_Page_Deactivate], 1) + Endif + m.loControl = m.loControl.Parent + Enddo + + *!* Bind window messages to window message proxy handler + *!* This are used by the AutoScrolling method + Bindevent(Thisform.HWnd, WM_KEYUP, This, [MsgHandler_Form_wmProxy], 5) + Bindevent(Thisform.HWnd, WM_CAPTURECHANGED, This, [MsgHandler_Form_wmProxy], 5) + Bindevent(Thisform.HWnd, WM_LBUTTONUP, This, [MsgHandler_Form_wmProxy], 5) + + *!* If we are in a top level form, lets make shure this works + Bindevent(This.nHosthWnd, WM_KEYUP, This, [MsgHandler_Form_wmProxy], 5) + Bindevent(This.nHosthWnd, WM_CAPTURECHANGED, This, [MsgHandler_Form_wmProxy], 5) + Bindevent(This.nHosthWnd, WM_LBUTTONUP, This, [MsgHandler_Form_wmProxy], 5) + + *!* MouseWheel management + If This.ControlCount > 0 Then + This.ctl32_BindMouseWheel(This.Controls(1)) + Endif + + *!* Click-Drag-Move Management + If This.ControlCount > 0 Then + Bindevent(This.Controls(1), [DblClick], This, [DblClick], 1) + Bindevent(This.Controls(1), [MouseDown], This, [MouseDown], 1) + Bindevent(This.Controls(1), [MouseUp], This, [MouseUp], 1) + Bindevent(This.Controls(1), [MouseMove], This, [MouseMove], 1) + Endif + + *!* Theme management + Bindevent(_Screen, [Themes], This, [EvtHandler_Screen_Themes], 1) + Bindevent(Thisform, [Themes], This, [EvtHandler_Form_Themes], 1) + + *!* Here we bind to thisform._WPUMSG, value that is set by MsgHandler_Form_wmProxy + Bindevent(Thisform, [_WPUMSG], This, [EvtHandler_Form_WPUMSG], 1) + + Bindevent(Thisform, [Activate], This, [EvtHandler_Form_Activate], 1) + + ENDPROC + + HIDDEN PROCEDURE ctl32_bindmousewheel + *!* This method binds the MouseWheel event of all contained controls + *!* to the MouseWheel event of the scrollable container. + *!* It goes thru the whole control hierarchy. + + Lparameters toObject + + Local loChildObject As Control + Local lcThisMethod + + *!* Get the name of this method, so we don´t have to know it: + m.lcThisMethod = [This.] + Getwordnum(Program(), Getwordcount(Program(), [.]), [.]) + + If Pemstatus(m.toObject, [MouseWheel], CON_PEMSTAT_DEFINED) + Bindevent(m.toObject, [MouseWheel], This, [MouseWheel], 1) + Endif + + If Pemstatus(m.toObject, [Objects], CON_PEMSTAT_DEFINED) + For Each m.loChildObject In m.toObject.Objects + Evaluate(m.lcThisMethod + [(m.loChildObject)]) + Endfor + Endif + + ENDPROC + + HIDDEN PROCEDURE ctl32_create + *!* Save client control dimensions: + If This.ControlCount > 0 Then + This.nOriginalHeight = This.Controls(1).Height + This.nOriginalWidth = This.Controls(1).Width + Endif + + *!* Resize control to make room for a border if a border is set + *!* border gets done in ctl32_AddBorder() + Local lnAnchor, llLock + + m.llLock = Thisform.LockScreen + Thisform.LockScreen = TRUE + + This.BorderWidth = 0 + + *!* Add border Container + This.Parent.AddObject(This.cCntBorderName, [Container]) + This.oCntBorder = Evaluate([This.Parent.] + This.cCntBorderName) + + This.oCntBorder.BackStyle = This.BackStyle + This.oCntBorder.BorderWidth = 0 + This.oCntBorder.Top = This.Top + This.oCntBorder.Left = This.Left + This.oCntBorder.Width = This.Width + Iif(This.ctlVvisible, This.nScrollWidth, 0) + This.oCntBorder.Height = This.Height + Iif(This.ctlHvisible, This.nScrollHeight, 0) + This.oCntBorder.ZOrder(1) + This.oCntBorder.Anchor = This.Anchor + This.oCntBorder.Visible = TRUE + + *!* This creates the scrollbars, it does not position or make them visible. + *!* ctl32_Resize positions, shows/hides scrollbars as needed + + Local ; + dwExStyle As Integer, ; + lpClassName As Character, ; + lpWindowName As Character, ; + dwStyle As Integer, ; + hWndParent As Integer, ; + hMenu As Integer, ; + hInstance As Integer, ; + lpParam As Integer, ; + lnTop As Integer, ; + lnLeft As Integer, ; + lnWidth As Integer, ; + lnHeight As Integer + + *!* Create Horizontal ScrollBar + m.dwExStyle = 0 + m.lpClassName = WC_SCROLLBARA + m.lpWindowName = Sys(2015) + m.dwStyle = Bitor(WS_CHILD, SBS_HORZ) + m.hWndParent = This.nHosthWnd + m.hMenu = 0 + m.hInstance = This.oUtil._HInstance() + m.lpParam = 0 + m.lnTop = This.ctl32_ObjToClient(This, [B]) + m.lnLeft = This.ctl32_ObjToClient(This, [L]) + m.lnWidth = This.Width + m.lnHeight = This.nScrollHeight + + This.nHCtlHwnd = CreateWindowEx( ; + m.dwExStyle, ; + m.lpClassName, ; + m.lpWindowName, ; + m.dwStyle, ; + m.lnLeft, ; + m.lnTop, ; + m.lnWidth, ; + m.lnHeight, ; + m.hWndParent, ; + m.hMenu, ; + m.hInstance, ; + m.lpParam) + + *!* Create Vertical Scrollbar + m.dwExStyle = 0 + m.lpClassName = WC_SCROLLBARA + m.lpWindowName = Sys(2015) + m.dwStyle = Bitor(WS_CHILD, SBS_VERT) + m.hWndParent = This.nHosthWnd + m.hMenu = 0 + m.hInstance = This.oUtil._HInstance() + m.lpParam = 0 + m.lnTop = This.ctl32_ObjToClient(This, [T]) + m.lnLeft = This.ctl32_ObjToClient(This, [R]) + m.lnWidth = This.nScrollWidth + m.lnHeight = This.Width + + This.nVCtlHwnd = CreateWindowEx( ; + m.dwExStyle, ; + m.lpClassName, ; + m.lpWindowName, ; + m.dwStyle, ; + m.lnLeft, ; + m.lnTop, ; + m.lnWidth, ; + m.lnHeight, ; + m.hWndParent, ; + m.hMenu, ; + m.hInstance, ; + m.lpParam) + + This.ctl32_SetTheme() + This.ctlBackColor = This.ctlBackColor + This.ctlBackStyle = This.ctlBackStyle + This.ctlBorderStyle = This.ctlBorderStyle + *!* ctlBorderColor is set in evthanlder_form_activate, + *!* we need form visible, this way we do not disrupt chain of events + + Thisform.LockScreen = m.llLock + + + + ENDPROC + + HIDDEN PROCEDURE ctl32_declaredlls + *!* This procedure registers the Windows API functions used by the class + *!* An array of existing declared API functions is created and checked to + *!* prevent re-declaration of API functions. + *!* When a function is used with an ALIAS, it is first declared with an ALIAS + *!* equal to the original name, and then declared again with the desired alias. + *!* This is because of a bug in VFP: + + *!* If you declare an API function with an alias, and later declare the same api + *!* function without an alias, the first aliased declaration dissapears. + + *!* We create an empty array first because if there are no API declarations + *!* adlls will not create the array and ascan will fail + + *!* win32api is used instead of the library name, check these: + *!* blogs.msdn.com/calvin_hsia/archive/2006/04/27/585305.aspx + *!* blogs.msdn.com/calvin_hsia/archive/2006/04/24/582479.aspx + *!* "User32.dll, Gdi32.dll, Kernel32.dll , Advapi32.dll and Mpr.dll are searched (in that order)" + + Local Array laDeclaredDlls(1,3) + Local m.lnLen As Number + + m.lnLen = Adlls(m.laDeclaredDlls) + + If Ascan(m.laDeclaredDlls, [CallWindowProc], 1, m.lnLen , 2, 15) = 0 + Declare Integer CallWindowProc In win32api As CallWindowProc ; + Integer lpPrevWndFunc, ; + Integer nHWnd, ; + Integer msg, ; + Integer wParam, ; + Integer Lparam + Endif + + If Ascan(m.laDeclaredDlls, [CreateWindowEx], 1, m.lnLen , 2, 15) = 0 + Declare Integer CreateWindowEx In win32api As CreateWindowEx ; + Integer dwExStyle, ; + String lpClassName, ; + String lpWindowName, ; + Integer dwStyle, ; + Integer x, ; + Integer Y, ; + Integer nWidth, ; + Integer nHeight, ; + Integer HwndParent, ; + Integer hMenu, ; + Integer hInstance, ; + Integer lpParam + Endif + + If Ascan(m.laDeclaredDlls, [EnableWindow], 1, m.lnLen , 2, 15) = 0 + Declare Integer EnableWindow In win32api ; + Integer HWnd, ; + Integer fEnable + Endif + + If Ascan(m.laDeclaredDlls, [GetDC], 1, m.lnLen , 2, 15) = 0 + Declare Integer GetDC In win32api ; + Integer HWnd + Endif + + If Ascan(m.laDeclaredDlls, [GetPixel], 1, m.lnLen , 2, 15) = 0 + Declare Integer GetPixel In win32api ; + Integer hdc,; + Integer pointx,; + Integer pointy + Endif + + If Ascan(m.laDeclaredDlls, [GetSysColor], 1, m.lnLen , 2, 15) = 0 + Declare Integer GetSysColor In win32api ; + Integer nIndex + Endif + + If Ascan(m.laDeclaredDlls, [GetTopWindow], 1, m.lnLen , 2, 15) = 0 + Declare Integer GetTopWindow In win32api ; + Integer HWnd + Endif + + If Ascan(m.laDeclaredDlls, [ReleaseDC], 1, m.lnLen , 2, 15) = 0 + Declare Integer ReleaseDC In win32api ; + Integer HWnd,; + Integer hdc + Endif + + If Ascan(m.laDeclaredDlls, [SendMessage], 1, m.lnLen , 2, 15) = 0 + Declare Integer SendMessage In win32api As SendMessage; + Integer HWnd, ; + Integer wMsg, ; + Integer wParam, ; + Integer Lparam + Endif + + If Ascan(m.laDeclaredDlls, [SendMessageC], 1, m.lnLen , 2, 15) = 0 + Declare Integer SendMessage In win32api As SendMessageC ; + Integer HWnd, ; + Integer Msg, ; + Integer wParam, ; + String @Lparam + Endif + + If Ascan(m.laDeclaredDlls, [SendMessageN], 1, m.lnLen , 2, 15) = 0 + Declare Integer SendMessage In win32api As SendMessageN ; + Integer HWnd, ; + Integer Msg, ; + Integer wParam, ; + Integer Lparam + Endif + + If Ascan(m.laDeclaredDlls, [SetFocus], 1, m.lnLen , 2, 15) = 0 + Declare Integer SetFocus In win32api; + Integer HWnd + Endif + + If Ascan(m.laDeclaredDlls, [SetWindowPos], 1, m.lnLen , 2, 15) = 0 + Declare Integer SetWindowPos In win32api As SetWindowPos; + Integer HWnd, ; + Integer HwndInsertAfter, ; + Integer x, ; + Integer Y, ; + Integer cx, ; + Integer cy, ; + Integer wFlags + Endif + + If This.oUtil._OSVersion() >= CON_OS_WINXP Then + If Ascan(m.laDeclaredDlls, [SetWindowTheme], 1, m.lnLen , 2, 15) = 0 + Declare Integer SetWindowTheme In UxTheme As SetWindowTheme; + Integer nHWnd, ; + String pszSubAppName, ; + String pszSubIdList + Endif + Endif + + If Ascan(m.laDeclaredDlls, [Sleep], 1, m.lnLen , 2, 15) = 0 + Declare Sleep In Win32API Integer + Endif + + *#beautify keyword_nochange + If Ascan(m.laDeclaredDlls, [ShowWindow], 1, m.lnLen , 2, 15) = 0 + Declare Integer ShowWindow In win32api As ShowWindow ; + Integer nHwnd, ; + Integer nCmdShow + Endif + + If Ascan(m.laDeclaredDlls, [_ShowWindow], 1, m.lnLen , 2, 15) = 0 + Declare Integer ShowWindow In win32api As _ShowWindow ; + Integer nHwnd, ; + Integer nCmdShow + Endif + *#beautify + + If Ascan(m.laDeclaredDlls, [Sleep], 1, m.lnLen , 2, 15) = 0 + Declare Sleep In win32api; + Integer dwMilliseconds + Endif + + *!* ScrollBar Functions Start + + If Ascan(m.laDeclaredDlls, [EnableScrollBar], 1, m.lnLen , 2, 15) = 0 + Declare Integer EnableScrollBar In win32api; + Integer nHWnd, ; + Integer wSBflags, ; + Integer wArrows + Endif + + If Ascan(m.laDeclaredDlls, [GetScrollBarInfo], 1, m.lnLen , 2, 15) = 0 + Declare Integer GetScrollBarInfo In win32api; + Integer nHWnd, ; + Integer idObject, ; + String @psbi + Endif + + If Ascan(m.laDeclaredDlls, [GetScrollInfo], 1, m.lnLen , 2, 15) = 0 + Declare Integer GetScrollInfo In win32api; + Integer HWnd, ; + Integer N, ; + String @lpScrollInfo + Endif + + If Ascan(m.laDeclaredDlls, [GetScrollPos], 1, m.lnLen , 2, 15) = 0 + Declare Integer GetScrollPos In win32api; + Integer nHWnd, ; + Integer nBar + Endif + + If Ascan(m.laDeclaredDlls, [GetScrollRange], 1, m.lnLen , 2, 15) = 0 + Declare Integer GetScrollRange In win32api; + Integer nHWnd, ; + Integer nBar, ; + Integer @lpMinPos, ; + Integer @lpMaxPos + Endif + + If Ascan(m.laDeclaredDlls, [ScrollDC], 1, m.lnLen , 2, 15) = 0 + Declare Integer ScrollDC In win32api; + Integer hdc, ; + Integer dx, ; + Integer dy, ; + String @lprcScroll, ; + String @lprcClip, ; + Integer hrgnUpdate, ; + String @lprcUpdate + Endif + + If Ascan(m.laDeclaredDlls, [ScrollWindow], 1, m.lnLen , 2, 15) = 0 + Declare Integer ScrollWindow In win32api; + Integer nHWnd, ; + Integer XAmount, ; + Integer YAmount, ; + String @lpRect, ; + String @lpClipRect + Endif + + If Ascan(m.laDeclaredDlls, [ScrollWindowEx], 1, m.lnLen , 2, 15) = 0 + Declare Integer ScrollWindowEx In win32api; + Integer nHWnd, ; + Integer dx, ; + Integer dy, ; + String @lprcScroll, ; + String @lprcClip, ; + Integer hrgnUpdate, ; + String @lprcUpdate, ; + Integer fuScroll + Endif + + If Ascan(m.laDeclaredDlls, [SetScrollInfo], 1, m.lnLen , 2, 15) = 0 + Declare Integer SetScrollInfo In win32api; + Integer nHWnd, ; + Integer N, ; + String @lpcScrollInfo, ; + Integer bool + Endif + + If Ascan(m.laDeclaredDlls, [SetScrollPos], 1, m.lnLen , 2, 15) = 0 + Declare Integer SetScrollPos In win32api; + Integer nHWnd, ; + Integer nBar, ; + Integer nPos, ; + Integer bRedraw + Endif + + If Ascan(m.laDeclaredDlls, [SetScrollRange], 1, m.lnLen , 2, 15) = 0 + Declare Integer SetScrollRange In win32api; + Integer nHWnd, ; + Integer nBar, ; + Integer nMinPos, ; + Integer nMaxPos, ; + Integer bRedraw + Endif + + If Ascan(m.laDeclaredDlls, [ShowScrollBar], 1, m.lnLen , 2, 15) = 0 + Declare Integer ShowScrollBar In win32api; + Integer nHWnd, ; + Integer wBar, ; + Integer bShow + Endif + + *!* ScrollBar Functions End + + ENDPROC + + HIDDEN PROCEDURE ctl32_objtoclient + *!* This replaces OBJTOCLIENT that has bugs with pageframes + Parameters toControl, tcPosition + + Local lnPosition As Integer + + m.tcPosition = Upper(m.tcPosition) + m.lnPosition = 0 + + Do Case + + Case m.tcPosition $ [TB] + Do While Not Upper(m.toControl.BaseClass) == [FORM] + If Pemstatus(m.toControl, [Top], CON_PEMSTAT_DEFINED) Then + m.lnPosition = m.lnPosition + m.toControl.Top + Endif + If Upper(m.toControl.BaseClass) == [PAGE] Then + If m.toControl.Parent.TabOrientation = CON_TABOR_TOP Then && Top + m.lnPosition = m.lnPosition + ; + m.toControl.Parent.Height - ; + m.toControl.Parent.PageHeight - ; + m.toControl.Parent.BorderWidth * 2 + Else + m.lnPosition = m.lnPosition + 1 + Endif + Endif + m.toControl = m.toControl.Parent + Enddo + + If m.tcPosition == [B] Then + m.lnPosition = m.lnPosition + This.Height + Endif + + Case m.tcPosition $ [LR] + Do While Not Upper(m.toControl.BaseClass) == [FORM] + If Pemstatus(m.toControl, [Left], CON_PEMSTAT_DEFINED) Then + m.lnPosition = m.lnPosition + m.toControl.Left + Endif + If Upper(m.toControl.BaseClass) == [PAGE] + If m.toControl.Parent.TabOrientation = CON_TABOR_LEFT Then && Left + m.lnPosition = m.lnPosition + ; + m.toControl.Parent.Width - ; + m.toControl.Parent.PageWidth - ; + m.toControl.Parent.BorderWidth * 2 + Else + m.lnPosition = m.lnPosition + 1 + Endif + Endif + m.toControl = m.toControl.Parent + Enddo + + If m.tcPosition == [R] Then + m.lnPosition = m.lnPosition + This.Width + Endif + + Endcase + + Return m.lnPosition + + ENDPROC + + HIDDEN PROCEDURE ctl32_resize + If This.lResizing = TRUE Then + Return + Endif + + This.lResizing = TRUE + + Local llOldLockScreen As Logical + + Local ; + lnClientWidth As Number, ; + lnClientHeight As Number, ; + lnOldAnchor As Number, ; + lnViewPortWidth As Number, ; + lnViewPortHeight As Number, ; + lnTop As Number, ; + lnLeft As Number, ; + lnHeight As Number, ; + lnWidth As Number, ; + lcScrollInfo As Character, ; + lnPosition As Number, ; + lnShow As Integer + + m.llOldLockScreen = Thisform.LockScreen + + Thisform.LockScreen = TRUE + + *!* If client container should autosize with SC + If This.ControlCount > 0 + If This.Controls(1).Anchor = 10 Then + m.lnOldAnchor = This.Controls(1).Anchor + This.Controls(1).Anchor = 0 + This.Controls(1).Left = 0 + This.Controls(1).Width = This.Width - This.nScrollWidth + This.Controls(1).Anchor = m.lnOldAnchor + Endif + If This.Controls(1).Anchor = 5 Then + m.lnOldAnchor = This.Controls(1).Anchor + This.Controls(1).Anchor = 0 + This.Controls(1).Top = 0 + This.Controls(1).Height = This.Height - This.nScrollHeight + This.Controls(1).Anchor = m.lnOldAnchor + Endif + Endif + + *!* Store Width and Height of the Client Area: + If This.ControlCount > 0 Then + m.lnClientWidth = This.Controls(1).Width + m.lnClientHeight = This.Controls(1).Height + Else + m.lnClientWidth = This.Width / 2 + m.lnClientHeight = This.Height / 2 + Endif + + *!* Restore Width and Height of Scrollable Container + *!* Only change Anchor if Width > 0 to prevent Anchor bug. + If Not (This.Width = 0 Or This.Height = 0) Then + m.lnOldAnchor = This.Anchor + This.Anchor = 0 + If This.lHScrollBar = TRUE Then + This.Height = This.Height + This.nScrollHeight + Endif + If This.lVScrollBar = TRUE Then + This.Width = This.Width + This.nScrollWidth + Endif + This.Anchor = m.lnOldAnchor + Endif + + *!* Set ViewPort + m.lnViewPortWidth = This.Width + m.lnViewPortHeight = This.Height + + + *!* If ScrollBar wanted + If Inlist(This.ctlScrollBars, 1, 3) Then + *!* If needed or forced + If This.Width < m.lnClientWidth Or Inlist(This.ctlForceScrollBars, 1, 3) Then + m.lnViewPortHeight = m.lnViewPortHeight - This.nScrollHeight + This.lHScrollBar = TRUE + Else + This.lHScrollBar = FALSE + Endif + Else + This.lHScrollBar = FALSE + Endif + + *!* If ScrollBar wanted + If Inlist(This.ctlScrollBars, 2, 3) Then + *!* If Needed or forced + If This.Height < m.lnClientHeight Or Inlist(This.ctlForceScrollBars, 2, 3) Then + m.lnViewPortWidth = m.lnViewPortWidth - This.nScrollWidth + This.lVScrollBar = TRUE + Else + This.lVScrollBar = FALSE + Endif + Else + This.lVScrollBar = FALSE + Endif + + *!* Now check again since added ScrollBars make ViewPort even smaller + *!* No need to check for ctlForceScrollBars now + If Inlist(This.ctlScrollBars, 1, 3) Then + If (This.lHScrollBar = FALSE And This.lVScrollBar = TRUE) Then + If m.lnViewPortWidth < m.lnClientWidth Then + m.lnViewPortHeight = m.lnViewPortHeight - This.nScrollHeight + This.lHScrollBar = TRUE + Endif + Endif + Endif + + If Inlist(This.ctlScrollBars, 2, 3) Then + If (This.lVScrollBar = FALSE And This.lHScrollBar = TRUE) Then + If m.lnViewPortHeight < m.lnClientHeight Then + m.lnViewPortWidth = m.lnViewPortWidth - This.nScrollWidth + This.lVScrollBar = TRUE + Endif + Endif + Endif + + *!* Resize scrollable container to acomodate scrollbars + If This.lHScrollBar = TRUE Or This.lVScrollBar = TRUE + If Not (This.Width = 0 Or This.Height = 0) Then + m.lnOldAnchor = This.Anchor + This.Anchor = 0 + This.Height = m.lnViewPortHeight + This.Width = m.lnViewPortWidth + This.Anchor = m.lnOldAnchor + Endif + Endif + + *!* Horizontal ScrollBar: update data, move, show if needed + This.oScrollInfo._fMask = Bitor(SIF_PAGE, SIF_RANGE) + This.oScrollInfo._nMin = 0 + This.oScrollInfo._nMax = m.lnClientWidth - 1 + This.oScrollInfo._nPage = m.lnViewPortWidth + This.oScrollInfo._nPos = 0 + This.oScrollInfo._nTrackPos = 0 + + m.lcScrollInfo = This.oScrollInfo._Struct + + SetScrollInfo(This.nHCtlHwnd, SB_CTL, @m.lcScrollInfo, 0) + + *!* Get ScrollBar Position and move child control + m.lnPosition = GetScrollPos(This.nHCtlHwnd, SB_CTL) + If This.ControlCount > 0 Then + m.lnOldAnchor = This.Controls(1).Anchor + This.Controls(1).Anchor = 0 + This.Controls(1).Left = - m.lnPosition + This.Controls(1).Anchor = m.lnOldAnchor + Endif + + m.lnTop = This.ctl32_ObjToClient(This, [B]) + m.lnLeft = This.ctl32_ObjToClient(This, [L]) + m.lnWidth = This.Width + m.lnHeight = This.nScrollHeight + + SetWindowPos(This.nHCtlHwnd, ; + 0, ; + m.lnLeft, ; + m.lnTop, ; + m.lnWidth, ; + m.lnHeight, ; + SWP_NOZORDER) + + m.lnShow = 0 + + If This.lHScrollBar = TRUE And This.Height > 0 Then + This.ctlHVisible = TRUE + m.lnShow = 1 + Else + This.ctlHVisible = FALSE + m.lnShow = 0 + Endif + + If This.lInPage = TRUE And This.lPageActive = FALSE Then + m.lnShow = 0 + Endif + + ShowScrollBar(This.nHCtlHwnd, SB_CTL, m.lnShow) + + If m.lnViewPortWidth > m.lnClientWidth Then + EnableWindow(This.nHCtlHwnd, 0) + This.ctlHEnabled = FALSE + Else + EnableWindow(This.nHCtlHwnd, 1) + This.ctlHEnabled = TRUE + Endif + + *!* Vertical ScrollBar: update data, move, show if needed + This.oScrollInfo._fMask = Bitor(SIF_PAGE, SIF_RANGE) + This.oScrollInfo._nMin = 0 + This.oScrollInfo._nMax = m.lnClientHeight - 1 + This.oScrollInfo._nPage = m.lnViewPortHeight + This.oScrollInfo._nPos = 0 + This.oScrollInfo._nTrackPos = 0 + + m.lcScrollInfo = This.oScrollInfo._Struct + + SetScrollInfo(This.nVCtlHwnd, SB_CTL, @m.lcScrollInfo, 0) + + *!* Get ScrollBar Position and move Child control + m.lnPosition = GetScrollPos(This.nVCtlHwnd, SB_CTL) + + If This.ControlCount > 0 Then + m.lnOldAnchor = This.Controls(1).Anchor + This.Controls(1).Anchor = 0 + This.Controls(1).Top = - m.lnPosition + This.Controls(1).Anchor = m.lnOldAnchor + Endif + + m.lnTop = This.ctl32_ObjToClient(This, [T]) + m.lnLeft = This.ctl32_ObjToClient(This, [R]) + m.lnWidth = This.nScrollWidth + m.lnHeight = This.Height + + SetWindowPos(This.nVCtlHwnd, ; + 0, ; + m.lnLeft, ; + m.lnTop, ; + m.lnWidth, ; + m.lnHeight, ; + SWP_NOZORDER) + + m.lnShow = 0 + + If This.lVScrollBar = TRUE And This.Width > 0 Then + This.ctlVVisible = TRUE + m.lnShow = 1 + Else + This.ctlVVisible = FALSE + m.lnShow = 0 + Endif + + If This.lInPage = TRUE And This.lPageActive = FALSE Then + m.lnShow = 0 + Endif + + ShowScrollBar(This.nVCtlHwnd, SB_CTL, m.lnShow) + + If m.lnViewPortHeight > m.lnClientHeight Then + EnableWindow(This.nVCtlHwnd, 0) + This.ctlVEnabled = FALSE + Else + EnableWindow(This.nVCtlHwnd, 1) + This.ctlVEnabled = TRUE + Endif + + If This.ctlAutoCenter = TRUE And This.ControlCount > 0 Then + m.lnOldAnchor = This.Controls(1).Anchor + This.Controls(1).Anchor = 0 + If This.Width > m.lnClientWidth + This.Controls(1).Left = (This.Width - This.Controls(1).Width) / 2 + Endif + + If This.Height > m.lnClientHeight Then + This.Controls(1).Top = (This.Height - This.Controls(1).Height) / 2 + Endif + This.Controls(1).Anchor = m.lnOldAnchor + Endif + + *!* Set value of ctlActiveScrollBars Property + Do Case + Case This.lHScrollBar = TRUE And This.lVScrollBar = TRUE + This.ctlActiveScrollBars = 3 + Case This.lHScrollBar = FALSE And This.lVScrollBar = TRUE + This.ctlActiveScrollBars = 2 + Case This.lHScrollBar = TRUE And This.lVScrollBar = FALSE + This.ctlActiveScrollBars = 1 + Otherwise + This.ctlActiveScrollBars = 0 + Endcase + + *!* If client container should autosize with SC + If This.ControlCount > 0 + If This.Controls(1).Anchor = 10 Then + m.lnOldAnchor = This.Controls(1).Anchor + This.Controls(1).Anchor = 0 + This.Controls(1).Left = 0 + This.Controls(1).Width = This.Width + This.Controls(1).Anchor = m.lnOldAnchor + Endif + If This.Controls(1).Anchor = 5 Then + m.lnOldAnchor = This.Controls(1).Anchor + This.Controls(1).Anchor = 0 + This.Controls(1).Top = 0 + This.Controls(1).Height = This.Height + This.Controls(1).Anchor = m.lnOldAnchor + Endif + Endif + + Thisform.LockScreen = m.llOldLockScreen + This.lResizing = FALSE + + ENDPROC + + HIDDEN PROCEDURE ctl32_scroll + *!* http://windowssdk.msdn.microsoft.com/en-us/library/ms651283.aspx + *!* The low-order word specifies a scroll bar value that indicates the user's scrolling request. + *!* The high-order word specifies the current position of the scroll box if the low-order word + *!* is SB_THUMBPOSITION or SB_THUMBTRACK; otherwise, this word is not used. + + Lparameters nHWND As Integer, nMSG As Integer, nWPARAM As Integer, nLPARAM As Integer + + This.ctl32_ActivateForm() + + Local ; + lnMsg As Number, ; + lnRequest As Number, ; + lnPosition As Number, ; + lnHwnd As Number, ; + lnSmallChange As Number, ; + lnLargeChange As Number, ; + lnViewPortSize As Number, ; + lnOldAnchor As Number, ; + lcScrollInfo As Character + + m.lnMsg = m.nMSG + m.lnRequest = This.oMacros._LoWord(m.nWPARAM) + m.lnHwnd = m.nLPARAM + m.lnPosition = GetScrollPos(m.lnHwnd, SB_CTL) + + If m.lnMsg = WM_HSCROLL Then + m.lnSmallChange = This.ctlHSmallChange + m.lnLargeChange = This.ctlHLargeChange + m.lnViewPortSize = This.Width + Else + m.lnSmallChange = This.ctlVSmallChange + m.lnLargeChange = This.ctlVLargeChange + m.lnViewPortSize = This.Height + Endif + + If m.lnLargeChange < 0 Then + m.lnLargeChange = m.lnViewPortSize + Else + *!* LargeChange is a % of viewport + If m.lnLargeChange < 1 + m.lnLargeChange = Int(m.lnViewPortSize * m.lnLargeChange) + Endif + Endif + + Do Case + + Case m.lnRequest = SB_ENDSCROLL && 8 + Return && We dont need to do anything else + + Case m.lnRequest = SB_THUMBPOSITION && 4 + m.lnPosition = This.oMacros._HiWord(m.nWPARAM) + + Case m.lnRequest = SB_THUMBTRACK && 5 + m.lnPosition = This.oMacros._HiWord(m.nWPARAM) + + Case m.lnRequest = SB_LINELEFT && 0 SB_LINEUP + m.lnPosition = m.lnPosition - m.lnSmallChange + + Case m.lnRequest = SB_LINERIGHT && 1 SB_LINEDOWN + m.lnPosition = m.lnPosition + m.lnSmallChange + + Case m.lnRequest = SB_PAGELEFT && 2 SB_PAGEUP + m.lnPosition = m.lnPosition - m.lnLargeChange + + Case m.lnRequest = SB_PAGERIGHT && 3 SB_PAGEDOWN + m.lnPosition = m.lnPosition + m.lnLargeChange + + Case m.lnRequest = SB_LEFT && 6 SB_TOP + m.lnPosition = 0 + + Case m.lnRequest = SB_RIGHT && 7 SB_BOTTOM + m.lnPosition = 65535 + Endcase + + This.oScrollInfo._fMask = SIF_POS + This.oScrollInfo._nMin = 0 + This.oScrollInfo._nMax = 0 + This.oScrollInfo._nPage = 0 + This.oScrollInfo._nPos = m.lnPosition + This.oScrollInfo._nTrackPos = 0 + + m.lcScrollInfo = This.oScrollInfo._Struct + + SetScrollInfo(m.lnHwnd, SB_CTL, @m.lcScrollInfo, 1) + + m.lnPosition = GetScrollPos(m.lnHwnd, SB_CTL) + + If This.ControlCount > 0 Then + m.lnOldAnchor = This.Controls(1).Anchor + This.Controls(1).Anchor = 0 + If m.lnMsg = WM_HSCROLL Then + This.Controls(1).Left = - m.lnPosition + Else + This.Controls(1).Top = - m.lnPosition + Endif + This.Controls(1).Anchor = m.lnOldAnchor + Endif + + Raiseevent(This, [ctlScrolled], m.lnRequest + Iif(m.lnMsg = WM_HSCROLL, 10, 0)) + + + + ENDPROC + + HIDDEN PROCEDURE ctl32_scrolltocontrol + If This.ctlAutoScroll = FALSE Then + Return + Endif + + Local ; + loControl As Control, ; + lnMargin As Number, ; + loActiveControl As Control, ; + loOriginalActiveControl As Control, ; + lnHSValue As Number, ; + lnVSValue As Number, ; + llMoveX As Number, ; + llMoveY As Number + + *!* These two will tell us later if we need to scroll: + m.llMoveX = FALSE + m.llMoveY = FALSE + + If This.ControlCount > 0 And Type("This.Controls(1).ActiveControl") == T_OBJECT Then + + m.loActiveControl = This.Controls(1).ActiveControl + m.loControl = This.Controls(1) + + *!* Dont do anything if we are still in the same control we last autoscrolled to. + If Not (This.cPrevControlFullName == Sys(1272, m.loActiveControl)) Then + + m.lnHSValue = This.ctlHValue + m.lnVSValue = This.ctlVVAlue + + This.cPrevControlFullName = Sys(1272, m.loActiveControl) + m.loOriginalActiveControl = m.loActiveControl + *!* This will navigate upwards the containership levels until we find + *!* the topmost control that is a child of the main client container control + Do While (Sys(1272, m.loActiveControl.Parent) == Sys(1272, This.Controls(1))) = FALSE + m.loActiveControl = m.loActiveControl.Parent + Enddo + + m.lnMargin = This.ctlHMargin + + *!* Is control left border beyond left border + If m.loControl.Left + m.loActiveControl.Left < 0 Then + m.lnHSValue = 0 + m.llMoveX = TRUE + Endif + + *!* Is control left border beyond right border + If m.loControl.Left + m.loActiveControl.Left > This.Width Then + m.lnHSValue = m.loActiveControl.Left + m.loActiveControl.Width - This.Width + m.lnMargin + m.llMoveX = TRUE + Endif + + *!* Is control right border beyond right border + If m.loControl.Left + m.loActiveControl.Left + m.loActiveControl.Width > This.Width Then + m.lnHSValue = m.loActiveControl.Left + m.loActiveControl.Width - This.Width + m.lnMargin + m.llMoveX = TRUE + Endif + + *!* Is control left border beyond left border + If m.loControl.Left + m.loActiveControl.Left < 0 Then + m.lnHSValue = m.loActiveControl.Left - m.lnMargin + m.llMoveX = TRUE + Endif + + m.lnMargin = This.ctlVMargin + + *!* Is control top border beyond top border + If m.loControl.Top + m.loActiveControl.Top > This.Height Then + m.lnVSValue = m.loActiveControl.Top + m.loActiveControl.Height - This.Height + m.lnMargin + m.llMoveY = TRUE + Endif + + *!* Is control bottom border beyond bottom border + If m.loControl.Top + m.loActiveControl.Top + m.loActiveControl.Height > This.Height Then + m.lnVSValue = m.loActiveControl.Top + m.loActiveControl.Height - This.Height + m.lnMargin + m.llMoveY = TRUE + Endif + + *!* Is control top border beyond top border + If m.loControl.Top + m.loActiveControl.Top < 0 Then + m.lnVSValue = m.loActiveControl.Top - m.lnMargin + m.llMoveY = TRUE + Endif + + If This.ctlAutoCenter = FALSE Then + If m.loActiveControl.TabIndex = 1 And This.Controls(1).Name == m.loActiveControl.Parent.Name Then + m.lnHSValue = 0 + m.lnVSValue = 0 + Endif + Endif + + *!* Only scroll horizontally if needed + If m.llMoveX = TRUE + This.ctlHValue = m.lnHSValue + Endif + + *!* Only scroll vertically if needed + If m.llMoveY = TRUE Then + This.ctlVVAlue = m.lnVSValue + Endif + + If m.llMoveX = TRUE Or m.llMoveY = TRUE Then + + *!* From now on, experimental mode on + If Pemstatus(m.loOriginalActiveControl , [SelectOnEntry], CON_PEMSTAT_DEFINED) Then + If m.loOriginalActiveControl .SelectOnEntry = TRUE Then + m.loOriginalActiveControl.SelStart = 0 + m.loOriginalActiveControl.SelLength = Len(Rtrim(Transform(m.loOriginalActiveControl.Value))) + *!* This refresh is here to refresh container when the scrolltocontrol was + *!* triggered by a mouse click, not by a TAB + m.loControl.Refresh() + Endif + Endif + Endif + + Endif + Endif + + + + ENDPROC + + HIDDEN PROCEDURE ctl32_settheme + *!* Changed in version 3.1 + *!* Sunken border was not showing in WIN2K, WIN98. + + Local lnBorderStyle + + *!* Update Width and Height of standard ScrollBars + This.nScrollHeight = Sysmetric(SYSMETRIC_HSCROLLBARHEIGHT) + This.nScrollWidth = Sysmetric(SYSMETRIC_VSCROLLBARWIDTH) + + *!* Set Theme of scrollbars controls: + If This.oUtil._OSVersion() >= CON_OS_WINXP Then + If This.oUtil._ThemeStatus(This) Then + SetWindowTheme(This.nHCtlHwnd, Null, Null) + SetWindowTheme(This.nVCtlHwnd, Null, Null) + Else + SetWindowTheme(This.nHCtlHwnd, Null, []) + SetWindowTheme(This.nVCtlHwnd, Null, []) + + Endif + Endif + + *!* Send a color change message just in case: + SendMessageN(This.nHCtlHwnd, WM_SYSCOLORCHANGE , 0, 0) + SendMessageN(This.nVCtlHwnd, WM_SYSCOLORCHANGE , 0, 0) + + *!* Save current borderstyle + m.lnBorderStyle = This.ctlBorderStyle + + *!* We first set BorderStyle to 0 so control resizes to its full size + This.ctlBorderStyle = 0 + + *!* Now we set the container that acts as border to flat or sunken, depending on themes: + If This.oUtil._ThemeStatus(This) Then + This.oCntBorder.SpecialEffect = CON_EFFECT_FLAT + This.nBorderWidth = 1 + Else + This.oCntBorder.SpecialEffect = CON_EFFECT_SUNKEN + This.nBorderWidth = 2 + Endif + + *!* Now we set it to it previous BorderStyle, so the control shrinks if needed to + *!* leave space for border + This.ctlBorderStyle = m.lnBorderStyle + + + + ENDPROC + + PROCEDURE ctl32_setzoomratios + This.aZoomLevel(1) = 0.01 + This.aZoomLevel(2) = 0.02 + This.aZoomLevel(3) = 0.03 + This.aZoomLevel(4) = 0.04 + This.aZoomLevel(5) = 0.05 + This.aZoomLevel(6) = 0.06 + This.aZoomLevel(7) = 0.08 + This.aZoomLevel(8) = 0.10 + This.aZoomLevel(9) = 0.12 + This.aZoomLevel(10) = 0.15 + This.aZoomLevel(11) = 0.20 + This.aZoomLevel(12) = 0.25 + This.aZoomLevel(13) = 0.30 + This.aZoomLevel(14) = 0.40 + This.aZoomLevel(15) = 0.50 + This.aZoomLevel(16) = 0.60 + This.aZoomLevel(17) = 0.70 + This.aZoomLevel(18) = 0.80 + This.aZoomLevel(19) = 1.00 + This.aZoomLevel(20) = 1.20 + This.aZoomLevel(21) = 1.50 + This.aZoomLevel(22) = 2.00 + This.aZoomLevel(23) = 2.50 + This.aZoomLevel(24) = 3.00 + This.aZoomLevel(25) = 4.00 + This.aZoomLevel(26) = 5.00 + This.aZoomLevel(27) = 6.00 + This.aZoomLevel(28) = 8.00 + This.aZoomLevel(29) = 10.00 + This.aZoomLevel(30) = 12.00 + This.aZoomLevel(31) = 15.00 + This.aZoomLevel(32) = 20.00 + This.aZoomLevel(33) = 25.00 + This.aZoomLevel(34) = 30.00 + This.aZoomLevel(35) = 31.99999999999 + + ENDPROC + + HIDDEN PROCEDURE ctlautocenter_assign + Lparameters vNewVal + + This.ctlAutoCenter = m.vNewVal + + This.ctl32_Resize() + + ENDPROC + + HIDDEN PROCEDURE ctlbackcolor_assign + Lparameters vNewVal + + This.ctlBackColor = m.vNewVal + + If This.ctlBackColor = -1 Then + Thisform.AddObject([G8FAA4444E2DF43BEA972D4CF94950A8F], [Textbox]) + + *!* Store standard textbox backcolor + This.nDefaultBackColor = Thisform.G8FAA4444E2DF43BEA972D4CF94950A8F.BackColor + + Thisform.RemoveObject([G8FAA4444E2DF43BEA972D4CF94950A8F]) + Endif + + This.BackColor = Iif(This.ctlBackColor = -1, This.nDefaultBackColor, This.ctlBackColor) + + *!* Set backcolor of border container + This.oCntBorder.BackColor = This.BackColor + + + + ENDPROC + + HIDDEN PROCEDURE ctlbackstyle_assign + Lparameters vNewVal + + This.ctlBackStyle = m.vNewVal + + This.BackStyle = m.vNewVal + + *!* Set backstyle of border container + This.oCntBorder.BackStyle = This.ctlBackStyle + + + + ENDPROC + + HIDDEN PROCEDURE ctlbordercolor_assign + Lparameters vNewVal + + This.ctlBorderColor = m.vNewVal + + *!* KLUDGE ALERT! KLUDGE ALERT! + *!* I am trying to find the default color of a textbox border + *!* what I should do is load the theme part if xp and get somehow the color of the + *!* pixel, or use GetSysColor if no theme. + + *!* What I am really doing is add a textbox to the form at a certain location, and + *!* using GetPixel to get the color of the pixel where I know the border of the textbox is + + Thisform.AddObject([G99545DACA9E54783B9C9CBDB05C4D580], [Textbox]) + + Thisform.G99545DACA9E54783B9C9CBDB05C4D580.Top = 0 + Thisform.G99545DACA9E54783B9C9CBDB05C4D580.Left = 0 + Thisform.G99545DACA9E54783B9C9CBDB05C4D580.Width = 1 + Thisform.G99545DACA9E54783B9C9CBDB05C4D580.Height = 1 + Thisform.G99545DACA9E54783B9C9CBDB05C4D580.Visible = TRUE + + Thisform.Draw() + + lnDC = GetDc(This.nHosthWnd) + + *!* Store standard textbox bordercolor + This.nDefaultBorderColor = GetPixel(m.lnDC, 0, 0) + + Thisform.RemoveObject([G99545DACA9E54783B9C9CBDB05C4D580]) + + ReleaseDC(This.nHosthWnd, m.lnDC) + + *!* End of KLUDGE ALERT + + This.oCntBorder.BorderColor = Iif(This.ctlBorderColor = -1, This.nDefaultBorderColor, This.ctlBorderColor) + + + + ENDPROC + + HIDDEN PROCEDURE ctlborderstyle_assign + Lparameters vNewVal + + Local lnAnchor, lnWidth + + This.ctlBorderStyle = m.vNewVal + + *!* Resize control, add old border width, substract new border width + m.lnAnchor = This.Anchor + This.Anchor = 0 + + If This.nOldBorderStyle = 1 Then + This.Top = This.Top - This.nBorderWidth + This.Left = This.Left - This.nBorderWidth + This.Width = This.Width + This.nBorderWidth * 2 + This.Height = This.Height + This.nBorderWidth * 2 + Endif + + If This.ctlBorderStyle = 1 Then + This.Top = This.Top + This.nBorderWidth + This.Left = This.Left + This.nBorderWidth + This.Width = This.Width - This.nBorderWidth * 2 + This.Height = This.Height - This.nBorderWidth * 2 + Endif + + This.Anchor = m.lnAnchor + + If This.ctlBorderStyle = 1 Then + This.oCntBorder.BorderWidth = This.nBorderWidth + Else + This.oCntBorder.BorderWidth = 0 + Endif + + This.nOldBorderStyle = This.ctlBorderStyle + + ENDPROC + + PROCEDURE ctldoscroll && Scrolls the control to simulate a user clicking the scroll bars. + *!* 0 Scroll Line up SmallChange + *!* 1 Scroll Line down SmallChange + *!* 2 Scroll Page up LargeChange + *!* 3 Scroll Page down LargeChange + *!* 6 Scroll Top + *!* 7 Scroll Bottom + + *!* 10 Scroll Line left SmallChange + *!* 11 Scroll Line right SmallChange + *!* 12 Scroll Page left LargeChange + *!* 13 Scroll Page right LargeChange + *!* 16 Scroll Left + *!* 17 Scroll Right + + Lparameters nDirection + + LOCAL lnHWND, lnMSG, lnWPARAM, lnLPARAM + + Do Case + Case m.nDirection = 0 + m.lnLPARAM = This.nVCtlHwnd + m.lnWPARAM = SB_LINELEFT + m.lnMSG = WM_VSCROLL + + Case m.nDirection = 1 + m.lnLPARAM = This.nVCtlHwnd + m.lnWPARAM = SB_LINERIGHT + m.lnMSG = WM_VSCROLL + + Case m.nDirection = 2 + m.lnLPARAM = This.nVCtlHwnd + m.lnWPARAM = SB_PAGELEFT + m.lnMSG = WM_VSCROLL + + Case m.nDirection = 3 + m.lnLPARAM = This.nVCtlHwnd + m.lnWPARAM = SB_PAGERIGHT + m.lnMSG = WM_VSCROLL + + Case m.nDirection = 6 + m.lnLPARAM = This.nVCtlHwnd + m.lnWPARAM = SB_TOP + m.lnMSG = WM_VSCROLL + + Case m.nDirection = 7 + m.lnLPARAM = This.nVCtlHwnd + m.lnWPARAM = SB_BOTTOM + m.lnMSG = WM_VSCROLL + + Case m.nDirection = 10 + m.lnLPARAM = This.nHCtlHwnd + m.lnWPARAM = SB_LINELEFT + m.lnMSG = WM_HSCROLL + + Case m.nDirection = 11 + m.lnLPARAM = This.nHCtlHwnd + m.lnWPARAM = SB_LINERIGHT + m.lnMSG = WM_HSCROLL + + Case m.nDirection = 12 + m.lnLPARAM = This.nHCtlHwnd + m.lnWPARAM = SB_PAGELEFT + m.lnMSG = WM_HSCROLL + + Case m.nDirection = 13 + m.lnLPARAM = This.nHCtlHwnd + m.lnWPARAM = SB_PAGERIGHT + m.lnMSG = WM_HSCROLL + + Case m.nDirection = 16 + m.lnLPARAM = This.nVCtlHwnd + m.lnWPARAM = SB_LEFT + m.lnMSG = WM_HSCROLL + + Case m.nDirection = 17 + m.lnLPARAM = This.nVCtlHwnd + m.lnWPARAM = SB_RIGHT + m.lnMSG = WM_HSCROLL + Endcase + + This.ctl32_Scroll(0, m.lnMSG, m.lnWPARAM, m.lnLPARAM) + ENDPROC + + HIDDEN PROCEDURE ctlforcescrollbars_assign + Lparameters vNewVal + + This.ctlForceScrollBars = m.vNewVal + + This.ctl32_Resize() + + ENDPROC + + HIDDEN PROCEDURE ctlhhwnd_access + RETURN This.nHCtlHwnd + + ENDPROC + + HIDDEN PROCEDURE ctlhhwnd_assign + LPARAMETERS vNewVal + Return + ENDPROC + + HIDDEN PROCEDURE ctlhmax_access + Local ; + lnMin As Number, ; + lnMax As Number + + m.lnMin = 0 + m.lnMax = 0 + + GetScrollRange(This.nHCtlHwnd, SB_CTL, @ m.lnMin, @ m.lnMax) + + Return m.lnMax - (This.Width - 1) + + ENDPROC + + HIDDEN PROCEDURE ctlhmax_assign + LPARAMETERS vNewVal + + ENDPROC + + HIDDEN PROCEDURE ctlhvalue_access + Return GetScrollPos(This.nHCtlHwnd, SB_CTL) + + ENDPROC + + HIDDEN PROCEDURE ctlhvalue_assign + Lparameters vNewVal + + Local lnHWND, lnMSG, lnWPARAM, lnLPARAM + + m.lnHWND = 0 + m.lnMSG = WM_HSCROLL + m.lnWPARAM = This.oMacros._MAKEWPARAM(SB_THUMBPOSITION, Max(m.vNewVal, 0)) + m.lnLPARAM = This.nHCtlHwnd + + This.ctl32_Scroll(m.lnHWND, m.lnMSG, m.lnWPARAM, m.lnLPARAM) + + ENDPROC + + PROCEDURE ctlrestoresize + If This.ControlCount > 0 And This.Controls(1).BaseClass = [Image] + With This.Controls(1) + m.lnAnchor = .Anchor + .Anchor = 0 + .Width = This.nOriginalWidth + .Height = This.nOriginalHeight + .Anchor = m.lnAnchor + This.nZoomIndex = This.nDefaultZoomIndex + This.ctl32_Resize() + *!* This part looks really complex, we need to scroll so what was in the middle + *!* of the viewport stays in the middle. UNSOLVED YET! + If This.ctlVEnabled Then + This.ctlVVAlue = 0 + Endif + If This.ctlHEnabled Then + This.ctlHValue = 0 + Endif + Endwith + This.ctlZoom = 100 + Endif + + ENDPROC + + HIDDEN PROCEDURE ctlscrollbars_assign + LPARAMETERS vNewVal + + THIS.ctlScrollBars = m.vNewVal + + This.ctl32_Resize() + + + ENDPROC + + PROCEDURE ctlscrolled && Occurs when the horizontal or vertical scroll bars are clicked or dragged + Lparameters nDirection + + ENDPROC + + HIDDEN PROCEDURE ctlvhwnd_access + RETURN This.nVCtlHwnd + + ENDPROC + + HIDDEN PROCEDURE ctlvhwnd_assign + ENDPROC + + HIDDEN PROCEDURE ctlvmax_access + Local ; + lnMin As Number, ; + lnMax As Number + + m.lnMin = 0 + m.lnMax = 0 + + GetScrollRange(This.nVCtlHwnd, SB_CTL, @ m.lnMin, @ m.lnMax) + + Return m.lnMax - (This.Height - 1) + + ENDPROC + + HIDDEN PROCEDURE ctlvmax_assign + LPARAMETERS vNewVal + + ENDPROC + + HIDDEN PROCEDURE ctlvvalue_access + Return GetScrollPos(This.nVCtlHwnd, SB_CTL) + + ENDPROC + + HIDDEN PROCEDURE ctlvvalue_assign + Lparameters vNewVal + + Local lnHWND, lnMSG, lnWPARAM, lnLPARAM + + m.lnHWND = 0 + m.lnMSG = WM_VSCROLL + m.lnWPARAM = This.oMacros._MAKEWPARAM(SB_THUMBPOSITION, Max(m.vNewVal, 0)) + m.lnLPARAM = This.nVCtlHwnd + + This.ctl32_Scroll(m.lnHWND, m.lnMSG, m.lnWPARAM, m.lnLPARAM) + + ENDPROC + + PROCEDURE DblClick + This.ctlRestoreSize() + + ENDPROC + + HIDDEN PROCEDURE evthandler_form_activate + Unbindevents( Thisform, [Activate], This, [EvtHandler_Form_Activate]) + + This.ctlBorderColor = This.ctlBorderColor + + ENDPROC + + HIDDEN PROCEDURE evthandler_form_themes + This.ctl32_SetTheme() + ENDPROC + + HIDDEN PROCEDURE evthandler_form_visible + This.ctl32_Resize() + ENDPROC + + HIDDEN PROCEDURE evthandler_form_wpumsg + LOCAL lnMsg + + m.lnMSG = Thisform._WPUMSG + Do Case + Case m.lnMSG = WM_HSCROLL Or m.lnMSG = WM_VSCROLL + *!* if the HWND of the control that raised the message is one of these: + If Inlist(Thisform._WPLPARAM, This.nHCtlHwnd, This.nVCtlHwnd) Then + This.ctl32_Scroll(Thisform._WPHWND, m.lnMSG, Thisform._WPWPARAM, Thisform._WPLPARAM) + Endif + + Case m.lnMSG = WM_CAPTURECHANGED + This.ctl32_ScrollToControl() + + Case m.lnMSG = WM_KEYUP + This.ctl32_ScrollToControl() + + Case m.lnMSG = WM_LBUTTONUP + This.ctl32_ScrollToControl() + + Endcase + + ENDPROC + + HIDDEN PROCEDURE evthandler_pageframe_activepage + WAIT "activepage" window + ENDPROC + + HIDDEN PROCEDURE evthandler_page_activate + *!* This manages scrollbars show/hide when changing active page in pageframes + This.lPageActive = TRUE + This.ctl32_Resize() + + ENDPROC + + HIDDEN PROCEDURE evthandler_page_deactivate + *!* This manages scrollbars show/hide when changing active page in pageframes + This.lPageActive = FALSE + This.ctl32_Resize() + + ENDPROC + + HIDDEN PROCEDURE evthandler_screen_themes + This.ctl32_SetTheme() + ENDPROC + + HIDDEN PROCEDURE evthandler_this_moved + Local ; + lnTop As Number, ; + lnLeft As Number, ; + lnWidth As Number, ; + lnHeight As Number + + m.lnTop = This.ctl32_ObjToClient(This, [B]) + m.lnLeft = This.ctl32_ObjToClient(This, [L]) + m.lnWidth = This.Width + m.lnHeight = This.nScrollHeight + + SetWindowPos(This.nHCtlHwnd, ; + 0, ; + m.lnLeft, ; + m.lnTop, ; + m.lnWidth, ; + m.lnHeight, ; + SWP_NOZORDER) + + m.lnTop = This.ctl32_ObjToClient(This, [T]) + m.lnLeft = This.ctl32_ObjToClient(This, [R]) + m.lnWidth = This.nScrollWidth + m.lnHeight = This.Height + + SetWindowPos(This.nVCtlHwnd, ; + 0, ; + m.lnLeft, ; + m.lnTop, ; + m.lnWidth, ; + m.lnHeight, ; + SWP_NOZORDER) + + + ENDPROC + + HIDDEN PROCEDURE evthandler_this_newobject + Lparameters cName, cClass, cModule, cInApplication + + Local loControl + + m.loControl = Evaluate([This.] + m.cName) + m.loControl.Visible = TRUE + + *!* Save client control dimensions: + If This.ControlCount > 0 Then + This.nOriginalHeight = This.Controls(1).Height + This.nOriginalWidth = This.Controls(1).Width + Endif + + *!* MouseWheel management + If This.ControlCount > 0 Then + This.ctl32_BindMouseWheel(This.Controls(1)) + Endif + + *!* Click-Drag-Move Management + If This.ControlCount > 0 Then + Bindevent(This.Controls(1), [DblClick], This, [DblClick], 1) + Bindevent(This.Controls(1), [MouseDown], This, [MouseDown], 1) + Bindevent(This.Controls(1), [MouseUp], This, [MouseUp], 1) + Bindevent(This.Controls(1), [MouseMove], This, [MouseMove], 1) + Endif + + *!* Here we hide both scrollbars, so the thumb size updates in the + *!* ctl32_Resize that follows. + + ShowScrollBar(This.nHCtlHwnd, SB_CTL, 0) + ShowScrollBar(This.nVCtlHwnd, SB_CTL, 0) + + This.ctl32_Resize() + + ENDPROC + + HIDDEN PROCEDURE evthandler_this_resize + This.ctl32_Resize() + + ENDPROC + + PROCEDURE Init + *!* Add Util object + This.AddProperty([oUtil], Newobject([_Util], This.ctlVcxCommon)) + + *!* Register API functions used by class + This.ctl32_DeclareDlls() + + *!* Add properties used internally + This.ctl32_AddProperties() + + *!* Fill + This.ctl32_SetZoomRatios() + + *!* Create scrollbars + This.ctl32_Create() + + This.ctl32_BindEvents() + + + + ENDPROC + + PROCEDURE MouseDown + Lparameters nButton, nShift, nXCoord, nYCoord + + If This.ControlCount > 0 And m.nButton = BUTTON_LEFT Then + This.Controls(1).MousePointer = MOUSE_HAND + This.nXCoord = m.nXCoord + This.nYCoord = m.nYCoord + This.lMouseDown = TRUE + Endif + + + ENDPROC + + PROCEDURE MouseMove + Lparameters nButton, nShift, nXCoord, nYCoord + + If This.lMouseDown = TRUE Then + If This.ControlCount > 0 And Not (This.Width > This.Controls(1).Width) Then + This.ctlHValue = This.ctlHValue - m.nXCoord + This.nXCoord + Endif + + If This.ControlCount > 0 And Not (This.Height > This.Controls(1).Height) Then + This.ctlVVAlue = This.ctlVVAlue - m.nYCoord + This.nYCoord + Endif + + This.nXCoord = m.nXCoord + This.nYCoord = m.nYCoord + Endif + + ENDPROC + + PROCEDURE MouseUp + Lparameters nButton, nShift, nXCoord, nYCoord + + If This.ControlCount > 0 And m.nButton = BUTTON_LEFT Then + This.Controls(1).MousePointer = MOUSE_DEFAULT + This.lMouseDown = FALSE + Endif + + ENDPROC + + PROCEDURE MouseWheel + Lparameters nDirection, nShift, nXCoord, nYCoord + + Local ; + lcExcluded As Character, ; + loControl As Control + + Local ; + lnWheelTicks As Number, ; + lnWheelChange As Number, ; + lnLargeChange As Number, ; + lnViewPortSize As Number + + Local lnAnchor + + m.lcExcluded = [COMBOBOX, LISTBOX, EDITBOX, GRID, SPINNER] + m.loControl = Sys(1270) + + If This.ControlCount > 0 And Type("This.Controls(1).ActiveControl") == T_OBJECT And Type("m.loControl") == T_OBJECT + If Upper(This.Controls(1).ActiveControl.BaseClass) $ m.lcExcluded And ; + Sys(1272, m.loControl) == Sys(1272, This.Controls(1).ActiveControl) Then + Return + Endif + Endif + + m.lnWheelTicks = m.nDirection / 120 + + *!* If Shift pressed + If m.nShift = 1 Then + m.lnWheelChange = This.ctlHWheelChange * m.lnWheelTicks + m.lnLargeChange = This.ctlHLargeChange + m.lnViewPortSize = This.Width + Else + m.lnWheelChange = This.ctlVWheelChange * m.lnWheelTicks + m.lnLargeChange = This.ctlVLargeChange + m.lnViewPortSize = This.Height + Endif + + If m.lnLargeChange < 0 Then + m.lnLargeChange = m.lnViewPortSize + Else + *!* LargeChange is a % of viewport + If m.lnLargeChange < 1 + m.lnLargeChange = Int(m.lnViewPortSize * m.lnLargeChange) + Endif + Endif + + m.lnLargeChange = m.lnLargeChange * m.lnWheelTicks + + Do Case + Case m.nShift = 0 And This.ctlVEnabled And Inlist(This.ctlScrollBars, 2, 3) + This.ctlVVAlue = This.ctlVVAlue - m.lnWheelChange + + Case m.nShift = 1 And This.ctlHEnabled And Inlist(This.ctlScrollBars, 1, 3) && Shift + This.ctlHValue = This.ctlHValue - m.lnWheelChange + + Case m.nShift = 2 && Ctrl then Resize if image + If This.ControlCount > 0 And This.Controls(1).BaseClass = [Image] Then + + This.nZoomIndex = Iif(m.lnWheelTicks > 0, This.nZoomIndex + 1, This.nZoomIndex - 1) + If This.nZoomIndex <= 0 Then + This.nZoomIndex = 1 + Endif + If This.nZoomIndex > This.nMaxZoomIndex Then + This.nZoomIndex = This.nMaxZoomIndex + Endif + + This.ctlZoom = Round(This.aZoomLevel(This.nZoomIndex) * 100, 0) + + With This.Controls(1) + m.lnAnchor = .Anchor + .Anchor = 0 + .Height = This.nOriginalHeight * This.aZoomLevel(This.nZoomIndex) + .Width = This.nOriginalWidth * This.aZoomLevel(This.nZoomIndex) + .Anchor = m.lnAnchor + This.ctl32_Resize() + *!* This part looks really complex, we need to scroll so what was in the middle + *!* of the viewport stays in the middle. UNSOLVED YET! + If This.ctlVEnabled Then + This.ctlVVAlue = This.ctlVVAlue * .Height / This.nOriginalHeight + Endif + If This.ctlHEnabled Then + This.ctlHValue = This.ctlHValue * .Width / This.nOriginalWidth + Endif + Endwith + + Endif + Endcase + + + + ENDPROC + + HIDDEN PROCEDURE msghandler_form_wmproxy + Lparameters nHWND As Integer, nMSG As Integer, nWPARAM As Integer, nLPARAM As Integer + + Local lnResult As Number + + Thisform._WPHWND = m.nHWND + Thisform._WPWPARAM = m.nWPARAM + Thisform._WPLPARAM = m.nLPARAM + *!* Trigger method binded to this property: + Thisform._WPUMSG = m.nMSG + + m.lnResult = CallWindowProc(This.nVFPWndProc, m.nHWND, m.nMSG, m.nWPARAM, m.nLPARAM) + + Return m.lnResult + + ENDPROC + + PROCEDURE NewObject + Lparameters cName, cClass, cModule, cInApplication + + If This.ControlCount > 0 Then + This.RemoveObject(This.Controls(1).Name) + Endif + + + ENDPROC + + PROCEDURE lblname.Init + return FALSE + + ENDPROC + +ENDDEFINE diff --git a/utile/ctl32/ctl32_statusbar.vc2 b/utile/ctl32/ctl32_statusbar.vc2 new file mode 100644 index 0000000..28cc04d --- /dev/null +++ b/utile/ctl32/ctl32_statusbar.vc2 @@ -0,0 +1,2210 @@ +*-------------------------------------------------------------------------------------------------------------------------------------------------------- +* (EN) AUTOGENERATED - ATTENTION!! - NOT INTENDED FOR EXECUTION!! USE ONLY FOR MERGING CHANGES AND STORING WITH SCM TOOLS!! +*-------------------------------------------------------------------------------------------------------------------------------------------------------- +*< FOXBIN2PRG: Version="1.21" SourceFile="ctl32_statusbar.vcx" CPID="1252" /> (Solo para binarios VFP 9 / Only for VFP 9 binaries) +* +* +DEFINE CLASS ctl32_statusbar AS container + *< CLASSDATA: Baseclass="container" Timestamp="" Scale="Pixels" Uniqueid="" /> + + *-- OBJECTDATA items order determines ZOrder / El orden de los items OBJECTDATA determina el ZOrder + *< OBJECTDATA: ObjPath="lblname" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="tmrUpdater" UniqueID="" Timestamp="" /> + + #INCLUDE "ctl32.h" + * + *m: ctl32_addpanels && Adds Panels objects to StatusBar container + *m: ctl32_adjustprogressbar + *m: ctl32_bindevents && Binds events. + *m: ctl32_create + *m: ctl32_declaredlls && DLL declarations. + *m: ctl32_destroy + *m: ctl32_formactivate && Binded to Form.Activate, for top level forms, it creates statusbar after form is visible + *m: ctl32_formdestroy + *m: ctl32_getborder && Returns the width of the especified border: 1 = Horizontal, 2 = Vertical, 3 = Separator + *m: ctl32_getdate + *m: ctl32_resize && Bound to Form.Resize + *m: ctl32_resizepanels && Recalculates panel widths based on content + *m: ctl32_setlocalestrings && Sets Locale strings for PanelCaps, PanelOvr, PanelNum + *m: ctl32_settheme + *m: ctl32_unbindevents + *m: ctl32_width_access + *m: ctl32_wm_notify && Handles mouse clicks in statusbar window + *m: ctlcaption_access + *m: ctlcaption_assign + *m: ctlclick + *m: ctldblclick + *m: ctlhwnd_access + *m: ctlicon_assign + *m: ctlmessage_access + *m: ctlmessage_assign + *m: ctlos + *m: ctlrightclick + *m: ctltheme + *m: ctlthemes_assign + *m: eventhandler_form_resize + *m: eventhandler_form_themes + *m: eventhandler_form_visible + *m: eventhandler_screen_themes + *m: eventhandler_screen_wm_size + *m: eventhandler_vfp_wm_themechanged + *m: getstringsize + *m: newtooltip + *m: showprogressbarcaption_assign + *p: builderx + *p: ctl32_controlhwnd && CreateWindowEx return value. + *p: ctl32_creating + *p: ctl32_dblclick + *p: ctl32_dwexstyle && CreateWindowEx parameter. + *p: ctl32_dwstyle && CreateWindowEx parameter. + *p: ctl32_formtype && 0 = Standard Form, 1 = Top Level Form, 2 = _Screen + *p: ctl32_height + *p: ctl32_hinstance && CreateWindowEx parameter. + *p: ctl32_hmenu && CreateWindowEx parameter. + *p: ctl32_hosthwnd && Hwnd of Host window that contains the statusbar window. (And the proxy window when not in a standard Form) + *p: ctl32_lpclassname && CreateWindowEx parameter. + *p: ctl32_lpparam && CreateWindowEx parameter. + *p: ctl32_lpwindowname && CreateWindowEx parameter. + *p: ctl32_name && Name of the control class + *p: ctl32_oldcaps + *p: ctl32_olddate + *p: ctl32_oldmessage + *p: ctl32_oldnum + *p: ctl32_oldovr + *p: ctl32_oldproc + *p: ctl32_oldwindowstate + *p: ctl32_panelcount && Indicates how many special panels are in the statusbar + *p: ctl32_proxyhwnd && Hwnd of proxy window that contains statusbar window when not in standard form + *p: ctl32_version + *p: ctl32_vfpstatusbarhwnd + *p: ctl32_width + *p: ctlabout + *p: ctlcaption + *p: ctlhwnd && Specifies the Window handle of the Control. + *p: ctlicon && Use PanelMessage.Icon instead + *p: ctlmessage && Use PanelMessage.Caption instead + *p: ctlpanelcount && Indicates how many custom panels are available. + *p: ctlthemes + *p: ctlversion + *p: nbutton + *p: npanel + *p: nxcoord + *p: nycoord + *p: showprogressbarcaption + *a: ctl32_panelborders[3,0] + *a: ctl32_panels[1,0] + *a: ctlpanels[1,0] + *p: _memberdata && XML Metadata for customizable properties + * + + HIDDEN ctl32_controlhwnd,ctl32_dwexstyle,ctl32_dwstyle,ctl32_height,ctl32_hinstance,ctl32_hmenu,ctl32_hosthwnd,ctl32_lpclassname,ctl32_lpparam,ctl32_lpwindowname,ctl32_name,ctl32_oldwindowstate,ctl32_panelborders,ctl32_proxyhwnd,ctl32_version,ctl32_vfpstatusbarhwnd,ctl32_width + * + Anchor = 10 + BackColor = 140,200,200 + BorderWidth = 1 + builderx = (home() + "wizards\ctl32_statusbar_builder.app") + ctl32_controlhwnd = 0 + ctl32_dblclick = 0 + ctl32_dwexstyle = 0 + ctl32_dwstyle = 0 + ctl32_formtype = 0 + ctl32_height = 0 + ctl32_hinstance = 0 + ctl32_hmenu = 0 + ctl32_hosthwnd = 0 + ctl32_lpclassname = 0 + ctl32_lpparam = 0 + ctl32_lpwindowname = 0 + ctl32_name = ctl32_StatusBar + ctl32_oldcaps = .F. + ctl32_olddate = 0 + ctl32_oldmessage = 0 + ctl32_oldproc = 0 + ctl32_oldwindowstate = 0 + ctl32_panelcount = 7 + ctl32_proxyhwnd = 0 + ctl32_version = 3.0 (2006-05-05) + ctl32_vfpstatusbarhwnd = 0 + ctl32_width = 0 + ctlabout = ctl32_statusbar by Carlos Alloatti. + ctlcaption = + ctlhwnd = 0 + ctlicon = + ctlmessage = + ctlpanelcount = 5 + ctlthemes = .T. + ctlversion = 20061010 + ForeColor = 0,0,0 + Height = 24 + Name = "ctl32_statusbar" + nbutton = 0 + npanel = 0 + nxcoord = 0 + nycoord = 0 + showprogressbarcaption = .F. + Visible = .F. + Width = 360 + * + + ADD OBJECT 'lblname' AS label WITH ; + AutoSize = .T., ; + BackStyle = 0, ; + Caption = "ctl32_StatusBar", ; + FontName = "Tahoma", ; + FontSize = 8, ; + ForeColor = 0,0,128, ; + Left = 6, ; + Name = "lblname", ; + Top = 4 + *< END OBJECT: BaseClass="label" /> + + ADD OBJECT 'tmrUpdater' AS timer WITH ; + Enabled = .F., ; + Height = 23, ; + Interval = 50, ; + Left = -25, ; + Name = "tmrUpdater", ; + Top = 0, ; + Width = 23 + *< END OBJECT: BaseClass="timer" /> + + PROCEDURE ctl32_addpanels && Adds Panels objects to StatusBar container + *!* StatusBar Panel 0 is the Message Panel + *!* StatusBar Panel 1 is the ProgressBar Panel + *!* StatusBar Panel 2 is Custom Panel 1 + *!* StatusBar Panel 3 is Custom Panel 2 + *!* ... + *!* StatusBar Panel n is Custom Panel n -1 + *!* StatusBar Panel .ctlPanelCount + 5 is PanelOvr + *!* StatusBar Panel 6 is PanelNum + *!* StatusBar Panel 7 is PanelCaps + *!* StatusBar Panel 8 is PanelDate + *!* StatusBar Panel 9 is Last Panel for sizing + + *!* This.ctlPanels(1) = Panel1 -> StatusBar Panel 2 (index 0 based in windows statusbar control) + *!* This.ctlPanels(2) = Panel2 -> StatusBar Panel 3 (index 0 based) + *!* This.ctlPanels(3) = Panel3 -> StatusBar Panel 4 (index 0 based) + + Local lnx As Number, ; + lnLeftPanelCount As Number, ; + lnRightPanelCount As Number, ; + lnTotPanelCount As Number + + With This + + *!* lnLeftPanelCount is the number of fixed panels to the left of the custom panels + *!* lnRightPanelCount is the number of fixed panels to the right of the custom panels + + m.lnLeftPanelCount = 2 + m.lnRightPanelCount = 5 + m.lnTotPanelCount = .ctlPanelCount + m.lnLeftPanelCount + m.lnRightPanelCount + + *!* Resize array properties to hold references to all Panel objects + Dimension .ctl32_Panels(m.lnTotPanelCount) + Dimension .ctlPanels(.ctlPanelCount) + + *!* Store defined names of Panels in this array + Local Array laPanelNames(m.lnTotPanelCount) + + m.laPanelNames(1) = [PanelMessage] + m.laPanelNames(2) = [PanelProgressBar] + + *!* 2006-06-27 Changed to ALLTRIM(STR //Doru Constantin// + For m.lnx = m.lnLeftPanelCount + 1 To m.lnLeftPanelCount + .ctlPanelCount + m.laPanelNames(m.lnx) = [Panel] + Alltrim(Str(m.lnx - m.lnLeftPanelCount)) + Endfor + + m.laPanelNames(m.lnLeftPanelCount + .ctlPanelCount + 1) = [PanelOvr] + m.laPanelNames(m.lnLeftPanelCount + .ctlPanelCount + 2) = [PanelNum] + m.laPanelNames(m.lnLeftPanelCount + .ctlPanelCount + 3) = [PanelCaps] + m.laPanelNames(m.lnLeftPanelCount + .ctlPanelCount + 4) = [PanelDate] + m.laPanelNames(m.lnLeftPanelCount + .ctlPanelCount + 5) = [PanelLast] + + *!* Create left Panels + For m.lnx = 1 To m.lnLeftPanelCount + .Newobject(m.laPanelNames(m.lnx), [ctl32_StatusBar_Panel], This.ClassLibrary) + .ctl32_Panels(m.lnx) = Evaluate([.] + m.laPanelNames(m.lnx)) + .ctl32_Panels(m.lnx).Index = m.lnx - 1 && Compensate for 0 based index + Endfor + + *!* set this so alignment works in this Panel + .PanelMessage.AutoSize = FALSE + + *!* Create custom Panels + For m.lnx = m.lnLeftPanelCount + 1 To m.lnLeftPanelCount + .ctlPanelCount + .Newobject(m.laPanelNames(m.lnx), [ctl32_StatusBar_Panel], This.ClassLibrary) + .ctl32_Panels(m.lnx) = Evaluate([.] + m.laPanelNames(m.lnx)) + .ctl32_Panels(m.lnx).Index = m.lnx - 1 + .ctlPanels(m.lnx - 2) = .ctl32_Panels(m.lnx) + Endfor + + *!* Create right Panels + For m.lnx = m.lnLeftPanelCount + .ctlPanelCount + 1 To m.lnTotPanelCount + .Newobject(m.laPanelNames(m.lnx), [ctl32_StatusBar_Panel], This.ClassLibrary) + .ctl32_Panels(m.lnx) = Evaluate([.] + m.laPanelNames(m.lnx)) + .ctl32_Panels(m.lnx).Index = m.lnx - 1 + Endfor + + Endwith + + + ENDPROC + + PROCEDURE ctl32_adjustprogressbar + Local lcRect As Character, ; + lnTop As Number, ; + lnBottom As Number, ; + lnTopMargin As Number, ; + lnBottomMargin As Number + + Local lnColorBtnFace As Number + + *!* Set ProgressBar Top and Height, get Height of StatusBar window + *!* 2006-06-27 Changed to use structs class + m.lcRect = This.ctl32_Rect._Struct + GetClientRect(.ctl32_ControlHwnd, @m.lcRect) + This.ctl32_Rect._Struct = m.lcRect + + m.lnTop = This.ctl32_Rect._Top + m.lnBottom = This.ctl32_Rect._Bottom + + *!* Just in case we need to make adjustments to this values later + If This.ctlTheme() Then + m.lnTopMargin = This.ctl32_getborder(CON_SBBORDER_VERTICAL) + 3 + m.lnBottomMargin = This.ctl32_getborder(CON_SBBORDER_VERTICAL) + Else + m.lnTopMargin = This.ctl32_getborder(CON_SBBORDER_VERTICAL) + 2 + m.lnBottomMargin = This.ctl32_getborder(CON_SBBORDER_VERTICAL) + Endif + + This.ProgressBar.Top = m.lnTop + m.lnTopMargin + This.ProgressBar.Height = m.lnBottom - m.lnTop - m.lnTopMargin - m.lnBottomMargin + + *!* Send color update message to correct bugs with theme changes + If This.ProgressBar.ctlHWnd > 0 Then + SendMessageN(This.ProgressBar.ctlHWnd, WM_SYSCOLORCHANGE , 0, 0) + m.lnColorBtnFace = GetSysColor(COLOR_BTNFACE) + SendMessageN(This.ProgressBar.ctlHWnd, PBM_SETBKCOLOR, 0, m.lnColorBtnFace) + Endif + + + ENDPROC + + HIDDEN PROCEDURE ctl32_bindevents && Binds events. + *!* http://msdn.microsoft.com/library/default.asp?url=/library/en-us/dv_foxhelp9/html/f988d7c6-f382-40dd-a51a-b5ab73eb08c7.asp + + *!* Windows Theme change WM_THEMECHANGED + *!* statusbar in screen, no bottom toolbar docked: handled by Resize event in ctl32_resize + *!* statusbar in screen, bottom toolbar docked: Bind WM_THEMECHANGED + *!* statusbar in form or tlf: Bind WM_THEMECHANGED, to fix colors + + *!* _Screen.Themes Change + *!* statusbar in screen, no bottom toolbar docked: handled by Resize event in ctl32_resize + *!* statusbar in screen, bottom toolbar docked: Bind _Screen.Themes to ctl32_SetTheme + *!* statusbar in form or tlf, Bind _Screen.Themes to ctl32_SetTheme + + *!* Form.Themes Change + *!* statusbar in screen, nothing to do + *!* statusbar in form or tlf: Bind Form.Themes to ctl32_SetTheme + + + If This.ctlOS() >= CON_OS_WINXP And Version(CON_VER_NUM) >= 900 Then + Bindevent(_vfp.HWnd, WM_THEMECHANGED, This, [EventHandler_VFP_WM_THEMECHANGED], 1) + Endif + + Bindevent(_Screen, [Themes], This, [EventHandler_Screen_Themes], 1) + + If This.ctl32_FormType <> CON_FORMTYPE_SCREEN + Bindevent(Thisform, [Themes], This, [EventHandler_Form_Themes], 1) + Endif + + *!* Check for undocking of bottom toolbars, _Screen.Resize event does not fire + *!* when toolbar docked at bottom of screen is undocked. + If This.ctl32_FormType = CON_FORMTYPE_SCREEN Then + Bindevent(This.ctl32_HostHWnd, WM_SIZE, This, [EventHandler_Screen_WM_SIZE], 1) + Endif + + *!* Monitor _Screen or Form resizes + Bindevent(Thisform, [Resize], This, [EventHandler_Form_Resize], 1) + + Bindevent(This.ctl32_ProxyHWnd, WM_NOTIFY, This, [ctl32_WM_Notify], 1) + + *!* When ProgressBar Visible or Width changes, we should resize panels + Bindevent(This.ProgressBar, [ctlVisible], This, [ctl32_ResizePanels], 1) + Bindevent(This.ProgressBar, [Width], This, [ctl32_ResizePanels], 1) + + *!* If we are in a TLF, we are responsible for releasing the toolbar we added (are we?) + If This.ctl32_FormType = CON_FORMTYPE_DEFAULT Then + Bindevent(Thisform, [Destroy], This, [ctl32_FormDestroy], 0) + Endif + + *!* When host is a Standard Form and the form is resized in its Init event, + *!* the Resize event of the form does not fire, so we bind to Visible + *!* property of the form to cover all the bases like: + *!* Do Form xxx Noshow + *!* 2006-06-27 //Andrew Nickless// + + If This.ctl32_FormType = CON_FORMTYPE_DEFAULT Then + Bindevent(Thisform, [Visible], This, [EventHandler_Form_Visible], 1) + Endif + + + ENDPROC + + PROCEDURE ctl32_create + *!* Prevent recursive calling? + If This.ctl32_Creating = TRUE Then + Return + Endif + + Local lnx As Number, ; + lnSize As Number, ; + lcClass As Character, ; + llOldLockScreen As Logical, ; + lnBottom As Number, ; + lcRect As Character + + *!* 2006-06-27 Removed window creation parameters as class properties and set them as local vars + Local ; + dwExStyle As Integer, ; + lpClassName As Character, ; + lpWindowName As Character, ; + dwStyle As Integer, ; + hWndParent As Integer, ; + hMenu As Integer, ; + hInstance As Integer, ; + lpParam As Integer + + With This + + *!* We enter Initialization Stage + .ctl32_Creating = TRUE + + m.llOldLockScreen = Thisform.LockScreen + + .ctl32_OldWindowState = -1 && Init to a fake value, used by ctl32_Resize + + *!* Init indicators values, to trigger update of indicators in tmrUpdater + .ctl32_OldOvr = Not Insmode() + .ctl32_OldNum = Not Numlock() + .ctl32_OldCaps = Not Capslock() + + *!* Lock Form/Screen updates until we are done: + If .ctl32_FormType = CON_FORMTYPE_SCREEN Then + LockWindowUpdate(_vfp.HWnd) + Else + Thisform.LockScreen = TRUE + Endif + + *!* We need the native Status Bar visible, otherwise _vfp.StatusBar gives us nothing! + If Set([Status Bar]) = [OFF] Then + Set Status Bar On + Endif + + *!* Set ctl32_StatusBar Height, this is used by proxy window + .ctl32_Height = 24 + + *!* When StatusBar is contained in a TLF or _Screen, we need a proxy window + If .ctl32_FormType <> CON_FORMTYPE_DEFAULT && TLF or Screen + + *!* prepare to add aux toolbar, that creates the required bottom window to hold proxy window + *!* in a TLF, and gives us a way to get the hwnd of the host window + If Not Pemstatus(Thisform, [StatusBar_ToolBar], CON_PEMSTAT_DEFINED) Then + Thisform.AddProperty([StatusBar_ToolBar]) + Else + Thisform.StatusBar_ToolBar = Null + Endif + + *!* add auxiliary toolbar, this toolbar docks itself to bottom of Form/Screen + *!* If in _Screen we just use it to get Hwnd of Host window + Thisform.StatusBar_ToolBar = Newobject([ctl32_StatusBar_ToolBar], This.ClassLibrary) + + *!* 2006-06-27 Removed window creation parameters as class properties and set them as local vars + *!* Setup parameters for proxy window: + m.dwExStyle = WS_EX_NOPARENTNOTIFY + m.lpWindowName = [StatusBar_proxy_window] + Sys(2015) + m.dwStyle = Bitor(WS_CHILD, WS_VISIBLE, WS_CLIPSIBLINGS, WS_CLIPCHILDREN) + .ctl32_HostHWnd = GetParent(Thisform.StatusBar_ToolBar.HWnd) && Neat Trick! + + m.hMenu = 0 + m.hInstance = GetWindowLong(_vfp.HWnd, GWL_HINSTANCE) + m.lpParam = 0 + + *!* Find class name to use for proxy window from host VFP window (www.news2news.com) + m.lcClass = Replicate(Chr(0), 254) + m.lnSize = RealGetWindowClass (.ctl32_HostHWnd, @m.lcClass , Len(m.lcClass)) + m.lcClass = Strtran(Substr(m.lcClass, 1, m.lnSize), Chr(0), []) + m.lpClassName = m.lcClass + + *!* If statusbar is on screen, remove auxiliary ToolBar, VFP native StatusBar keeps host window alive + *!* Also, if left, it makes the bottom window taller. We dont want that. + *!* In a TLF, we need this ToolBar to keep host window alive. Added bonus: maximized child Forms + *!* dont overlap StatusBar + If .ctl32_FormType = CON_FORMTYPE_SCREEN Then + Thisform.StatusBar_ToolBar.Dock(TOOL_NOTDOCKED) + Thisform.StatusBar_ToolBar = Null + Endif + + *!* Now that aux toolbar is out of the way, get HWnd of native statusbar to hide it + *!* if we are on _Screen + If .ctl32_FormType = CON_FORMTYPE_SCREEN + + m.lcRect = This.ctl32_Rect._Struct + GetClientRect(.ctl32_HostHWnd, @m.lcRect) + This.ctl32_Rect._Struct = m.lcRect + + m.lnBottom = This.ctl32_Rect._Bottom + + .ctl32_vfpStatusBarHWnd = ChildWindowFromPoint(.ctl32_HostHWnd, 0, m.lnBottom) + _ShowWindow(.ctl32_vfpStatusBarHWnd, SW_HIDE) + Endif + + *!* CREATE proxy window now: + .ctl32_ProxyHWnd = CreateWindowEx( ; + m.dwExStyle, ; + m.lpClassName, ; + m.lpWindowName, ; + m.dwStyle, ; + 0, ; + 0, ; + .ctl32_Width, ; + .ctl32_Height,; + .ctl32_HostHWnd,; + m.hMenu, ; + m.hInstance, ; + m.lpParam) + + *!* Only for debugging purposes + If .ctl32_ProxyHWnd = 0 And Version(CON_VER_TYPE) <> CON_VER_TYPE_RUNTIME + LockWindowUpdate(0) + Thisform.LockScreen = m.llOldLockScreen + Messagebox([Error Creating window ] + m.lpClassName, 0 + 16, .ctl32_Name) + Endif + + *!* When StatusBar is contained in a standard Form, there is no need for a proxy window + Else + .ctl32_HostHWnd = Thisform.HWnd + .ctl32_ProxyHWnd = Thisform.HWnd + Endif + + *!* setup parameters for StatusBar control window: + m.dwExStyle = 0 + m.lpClassName = STATUSCLASSNAMEA + m.lpWindowName = m.lpClassName + Sys(2015) + m.dwStyle = Bitor(WS_CHILD, WS_VISIBLE, WS_CLIPSIBLINGS, SBARS_TOOLTIPS, CCS_BOTTOM) + + If Thisform.BorderStyle = CON_BS_SIZABLE Then + m.dwStyle = Bitor(m.dwStyle, SBARS_SIZEGRIP) + Endif + + m.hMenu = 0 + m.hInstance = GetWindowLong(_vfp.HWnd, GWL_HINSTANCE) + m.lpParam = 0 + + *!* 2006-06-27 Removed window creation parameters as class properties and set them as local vars + *!* Create StatusBar control window: + .ctl32_ControlHwnd = CreateWindowEx( ; + m.dwExStyle, ; + m.lpClassName, ; + m.lpWindowName, ; + m.dwStyle, ; + 0, ; + 0, ; + 0, ; + 0, ; + .ctl32_ProxyHWnd, ; + m.hMenu, ; + m.hInstance, ; + m.lpParam) + + *!* Only for debugging purposes + If .ctl32_ControlHwnd = 0 And Version(CON_VER_TYPE) <> CON_VER_TYPE_RUNTIME + LockWindowUpdate(0) + Thisform.LockScreen = FALSE + Messagebox([Error Creating window ] + m.lpClassName, 0 + 16, .ctl32_Name) + Endif + + *!* Send various messages to StatusBar: + + *!* Set simple to FALSE: + SendMessageN(.ctl32_ControlHwnd, SB_SIMPLE , 0, 0) + + *!* Set minimum Height: + SendMessageN(.ctl32_ControlHwnd, SB_SETMINHEIGHT, 22, 0) + + *!* Set locale strings for OVR, NUM, CAPS + .ctl32_SetLocaleStrings() + + *!* Set Height and Vertical position of ProgressBar + .ctl32_AdjustProgressBar() + + *!* Todo, refresh Panels captions and icons just in case we are recreating StatusBar + *!* after an OS Theme change + For m.lnx = 1 To .ctlPanelCount + .ctl32_PanelCount + .ctl32_Panels(m.lnx).ctl32_UpdateAll() + Endfor + + *!* We finish Initialization State + .ctl32_Creating = FALSE + + Endwith && This + + *!* We call the ProgressBar init method now, that was not run when it was added to statusbar + *!* because we passed a parameter of -1. Check ProgressBar class Init + *!* We do this now that we have a handle to the statusbar control + This.ProgressBar.Init(This.ctl32_ControlHwnd) + + With This + *!* This has to be done here to update panels: + .ctl32_resize() + + *!* Set colors of statusbar, it fails to set right by itself, + *!* sometimes, when XP theme changed to classic + If This.ctlOS() >= CON_OS_WINXP && And isThemeActive() = 0 Then + SendMessageN(.ctl32_ControlHwnd, WM_SYSCOLORCHANGE , 0, 0) + Endif + + *!* Send Theme message to control: + .ctl32_SetTheme() + + *!* 2006-06-27 Moved this before ctl32_BindEvents + *!* Unlock Form/Screen updates: + LockWindowUpdate(0) + Thisform.LockScreen = m.llOldLockScreen + + *!* Now we bind to various events: + .ctl32_BindEvents() + + *!* Enable updater timer: + .tmrUpdater.Enabled = TRUE + + Endwith && This + + + ENDPROC + + HIDDEN PROCEDURE ctl32_declaredlls && DLL declarations. + *!* http://blogs.msdn.com/calvin_hsia/archive/2006/04/24/582479.aspx + *!* http://blogs.msdn.com/calvin_hsia/archive/2006/04/27/585305.aspx + *!* win32api: kernel32.dll, gdi32.dll, user32.dll, mpr.dll, advapi32.dll + + *!* 2006-06-27 Found a bug in VFP: if you declare an API function with an alias and + *!* later declare the same API function without an alias, the first aliased declare + *!* dissapears + + + Local Array laDeclaredDlls(1,3) + Local lnLen As Number + m.lnLen = Adlls(m.laDeclaredDlls) + + If Ascan(m.laDeclaredDlls, [CallWindowProc], 1, m.lnLen , 2, 15) = 0 + Declare Integer CallWindowProc In win32api ; + integer lpPrevWndFunc,; + integer HWnd,; + integer msg,; + integer wParam,; + integer Lparam + Endif + + If Ascan(m.laDeclaredDlls, [ChildWindowFromPoint], 1, m.lnLen , 2, 15) = 0 + Declare Integer ChildWindowFromPoint In win32api ; + integer hWndParent,; + integer px,; + integer py + Endif + + If Ascan(m.laDeclaredDlls, [CreateWindowEx], 1, m.lnLen , 2, 15) = 0 + Declare Integer CreateWindowEx In win32api ; + integer dwExStyle,; + string lpClassName,; + string lpWindowName,; + integer dwStyle,; + integer x,; + integer Y,; + integer nWidth,; + integer nHeight,; + integer hWndParent,; + integer hMenu,; + integer hInstance,; + integer lpParam + Endif + + If Ascan(m.laDeclaredDlls, [DestroyWindow], 1, m.lnLen , 2, 15) = 0 + Declare Integer DestroyWindow In win32api ; + integer HWnd + Endif + + *!* 2006-06-27 Not used, commented + *!* If Ascan(m.laDeclaredDlls, [FindWindowEx], 1, m.lnLen , 2, 15) = 0 + *!* Declare Integer FindWindowEx In win32api ; + *!* INTEGER hWnd1, ; + *!* INTEGER hWnd2, ; + *!* STRING @ lpsz1, ; + *!* STRING @ lpsz2 + *!* Endif + + If Ascan(m.laDeclaredDlls, [GetClientRect], 1, m.lnLen , 2, 15) = 0 + Declare Integer GetClientRect In win32api ; + integer HWnd,; + string @ lcRect + Endif + + If Ascan(m.laDeclaredDlls, [GetDateFormat], 1, m.lnLen , 2, 15) = 0 + Declare Integer GetDateFormat In win32api As GetDateFormat; + integer Locale,; + integer dwFlags,; + string @lpDate,; + integer lpFormat,; + string @lpDateStr,; + integer cchDate + Endif + + If Ascan(m.laDeclaredDlls, [GetDC], 1, m.lnLen , 2, 15) = 0 + Declare Integer GetDC In win32api ; + integer HWnd + Endif + + *!* 2006-06-27 Not used, commented + *!* If Ascan(m.laDeclaredDlls, [GetDeviceCaps], 1, m.lnLen , 2, 15) = 0 + *!* Declare Integer GetDeviceCaps In win32api ; + *!* Integer hdc, ; + *!* Integer nIndex + *!* Endif + + *!* 2006-06-27 Not used, commented + *!* If Ascan(m.laDeclaredDlls, [GetDoubleClickTime], 1, m.lnLen , 2, 15) = 0 + *!* Declare Integer GetDoubleClickTime In win32api + *!* Endif + + If Ascan(m.laDeclaredDlls, [GetLocaleInfo], 1, m.lnLen , 2, 15) = 0 + Declare Integer GetLocaleInfo In win32api ; + integer Locale, ; + integer LCType, ; + string lpLCData, ; + integer cchData + Endif + + If Ascan(m.laDeclaredDlls, [GetParent], 1, m.lnLen , 2, 15) = 0 + Declare Integer GetParent In win32api ; + integer HWnd + Endif + + If Ascan(m.laDeclaredDlls, [GetSysColor], 1, m.lnLen , 2, 15) = 0 + Declare Integer GetSysColor In win32api ; + integer nIndex + Endif + + If Ascan(m.laDeclaredDlls, [GetTextExtentPoint32], 1, m.lnLen , 2, 15) = 0 + Declare Integer GetTextExtentPoint32 In win32api ; + integer hdc, ; + string lpsz, ; + integer cbString, ; + string @ lpSize + Endif + + If Ascan(m.laDeclaredDlls, [GetWindowLong], 1, m.lnLen , 2, 15) = 0 + Declare Integer GetWindowLong In win32api ; + integer HWnd, ; + integer nIndex + Endif + + *!* 2006-06-27 Not used, commented + *!* If Ascan(m.laDeclaredDlls, [GetWindowRect], 1, m.lnLen , 2, 15) = 0 + *!* Declare Integer GetWindowRect In win32api ; + *!* INTEGER HWnd, ; + *!* STRING @ lcRect + *!* Endif + + If This.ctlOS() >= CON_OS_WINXP Then + If Ascan(m.laDeclaredDlls, [IsThemeActive], 1, m.lnLen , 2, 15) = 0 + Declare Integer IsThemeActive In uxtheme.Dll + Endif + Endif + + If Ascan(m.laDeclaredDlls, [IsWindow], 1, m.lnLen , 2, 15 ) = 0 + Declare Integer IsWindow In win32api ; + integer HWnd + Endif + + If Ascan(m.laDeclaredDlls, [LockWindowUpdate], 1, m.lnLen , 2, 15 ) = 0 + Declare Integer LockWindowUpdate In win32api ; + integer hwndLock + Endif + + *!* 2006-06-27 Not used, commented + *!* If Ascan(m.laDeclaredDlls, [PostMessage], 1, m.lnLen , 2, 15) = 0 + *!* Declare Integer PostMessage In win32api ; + *!* INTEGER HWnd,; + *!* INTEGER Msg,; + *!* INTEGER wParam,; + *!* INTEGER Lparam + *!* Endif + + If Ascan(m.laDeclaredDlls, [RealGetWindowClass], 1, m.lnLen , 2, 15) = 0 + Declare Integer RealGetWindowClass In win32api ; + integer HWnd,; + string @ pszType,; + integer cchType + Endif + + *!* 2006-06-27 Not used, commented + *!* If Ascan(m.laDeclaredDlls, [RedrawWindow], 1, m.lnLen , 2, 15) = 0 + *!* Declare Integer RedrawWindow In win32api ; + *!* INTEGER HWnd,; + *!* STRING @ lprcUpdate,; + *!* INTEGER hrgnUpdate,; + *!* INTEGER fuRedraw + *!* Endif + + If Ascan(m.laDeclaredDlls, [ReleaseDC], 1, m.lnLen , 2, 15) = 0 + Declare Integer ReleaseDC In win32api ; + integer HWnd, ; + integer hdc + Endif + + If Ascan(m.laDeclaredDlls, [SelectObject], 1, m.lnLen , 2, 15) = 0 + Declare Integer SelectObject In win32api ; + integer hdc, ; + integer hObject + Endif + + *!* 2006-06-27 Added first declaration with no alias + If Ascan(m.laDeclaredDlls, [SendMessage], 1, m.lnLen , 2, 15) = 0 + Declare Integer SendMessageA In win32api ; + integer HWnd,; + integer Msg,; + integer wParam,; + integer Lparam + Endif + + If Ascan(m.laDeclaredDlls, [SendMessageN], 1, m.lnLen , 2, 15) = 0 + Declare Integer SendMessage In win32api As SendMessageN ; + integer HWnd,; + integer Msg,; + integer wParam,; + integer Lparam + Endif + + If Ascan(m.laDeclaredDlls, [SendMessageC], 1, m.lnLen , 2, 15) = 0 + Declare Integer SendMessage In win32api As SendMessageC ; + integer HWnd,; + integer Msg,; + integer wParam,; + string @ Lparam + Endif + + If Ascan(m.laDeclaredDlls, [SetWindowLong], 1, m.lnLen , 2, 15) = 0 + Declare Integer SetWindowLong In win32api ; + integer HWnd,; + integer nIndex,; + integer dwNewLong + Endif + + If Ascan(m.laDeclaredDlls, [SetWindowPos], 1, m.lnLen , 2, 15) = 0 + Declare Integer SetWindowPos In win32api ; + integer HWnd,; + integer hWndInsertAfter,; + integer x,; + integer Y,; + integer cx,; + integer cy,; + integer wFlags + Endif + + If This.ctlOS() >= CON_OS_WINXP Then + If Ascan(m.laDeclaredDlls, [SetWindowTheme], 1, m.lnLen , 2, 15) = 0 + Declare Integer SetWindowTheme In UxTheme ; + integer HWnd,; + string pszSubAppName,; + string pszSubIdList + Endif + Endif + + *#beautify keyword_nochange + *!* 2006-06-27 Added first declare with no alias, changed alias from ShowWindowAPI to _ShowWindow + If Ascan(m.laDeclaredDlls, [ShowWindow], 1, m.lnLen , 2, 15) = 0 + Declare Integer ShowWindow In win32api As ShowWindow ; + Integer HWnd,; + Integer nCmdShow + Endif + + If Ascan(m.laDeclaredDlls, [_ShowWindow], 1, m.lnLen , 2, 15) = 0 + Declare Integer ShowWindow In win32api As _ShowWindow ; + Integer HWnd,; + Integer nCmdShow + Endif + *#beautify + + *!* 2006-06-27 Not used, commented + *!* If Ascan(m.laDeclaredDlls, [SystemParametersInfo], 1, m.lnLen , 2, 15) = 0 + *!* Declare Integer SystemParametersInfo In win32api ; + *!* INTEGER uAction,; + *!* INTEGER uParam,; + *!* STRING @lpvParam,; + *!* INTEGER fuWinIni + *!* Endif + + + + ENDPROC + + HIDDEN PROCEDURE ctl32_destroy + With This + .tmrUpdater.Enabled = FALSE + + *!* Destroy StatusBar window + If .ctl32_ControlHwnd > 0 Then + DestroyWindow(.ctl32_ControlHwnd) + Endif + + *!* Destroy StatusBar proxy window + If .ctl32_ProxyHWnd > 0 Then + DestroyWindow(.ctl32_ProxyHWnd) + Endif + + .ctl32_ProxyHWnd = 0 + .ctl32_ControlHwnd = 0 + Endwith + + ENDPROC + + PROTECTED PROCEDURE ctl32_formactivate && Binded to Form.Activate, for top level forms, it creates statusbar after form is visible + *!* This only gets called via a BindeEvent to parent TLF activate event + *!* so the StatusBar is created after the form is visible + + Unbindevent(Thisform, [Activate], This, [ctl32_FormActivate]) + This.ctl32_Create() + + + ENDPROC + + PROCEDURE ctl32_formdestroy + *!* BindEvent(ThisForm, [Destroy], This, [ctl32_FormDestroy], 0) + + If Pemstatus(Thisform, [StatusBar_ToolBar], CON_PEMSTAT_DEFINED) Then + Thisform.StatusBar_ToolBar = Null + Removeproperty(Thisform, [StatusBar_ToolBar]) + Endif + + ENDPROC + + HIDDEN PROCEDURE ctl32_getborder && Returns the width of the especified border: 1 = Horizontal, 2 = Vertical, 3 = Separator + *!* 2006-06-27 Changed to use ctl32_Rect.StrToInt + *!* Returns width in pixels of borders of a statusbar control + + *!* 1 = Horizontal + *!* 2 = Vertical + *!* 3 = Separator + + Lparameters tnWhichBorder + + Local lcBorders As Character, ; + lnBorder As Number + + m.lcBorders = Replicate(Chr(0), 12) + + With This + SendMessageC(.ctl32_ControlHwnd, SB_GETBORDERS, 0, @ m.lcBorders) + + Do Case + Case tnWhichBorder = 1 + m.lnBorder = CToBin(Substr(m.lcBorders, 1, 4), [4RS]) && horizontal + + Case tnWhichBorder = 2 + m.lnBorder = CToBin(Substr(m.lcBorders, 5, 4), [4RS]) && vertical + + Otherwise + m.lnBorder = CToBin(Substr(m.lcBorders, 9, 4), [4RS]) && separator + Endcase + + Endwith + + Return m.lnBorder + + + + + ENDPROC + + PROCEDURE ctl32_getdate + *!* Returns curent date formated string + *!* 1 Short Date + *!* 2 Long Date + *!* Other: empty string + + Lparameters tnDateFormat + + Local lpDateString As Character, ; + lnLenDateString As Number, ; + lnCharsRet As Number + + m.lpDateString = [] + + If Between(m.tnDateFormat, 1, 2) Then + m.lpDateString = Space(255) && Address of buffer information. + m.lnLenDateString = Len(m.lpDateString) && Size of buffer, LpLCData. + m.lnCharsRet = GetDateFormat(0x400, m.tnDateFormat , 0, 0, @m.lpDateString, m.lnLenDateString) + m.lpDateString = Left(m.lpDateString, m.lnCharsRet - 1) + Endif + + Return m.lpDateString + + ENDPROC + + HIDDEN PROCEDURE ctl32_resize && Bound to Form.Resize + *!* If ctl32_FormType <> CON_FORMTYPE_DEFAULT, we have a proxy window that contains the statusbar window + *!* This is done so the statusbar width equals the Host Width, and + *!* to show/hide the sizing grip of the statusbar, otherwise it does not display correctly + *!* What we do is set this proxy Window to Maximized or Normal state so statusbar hides/shows sizing grip + *!* by itself, depending on its parent proxy window WindowState + + If This.ctl32_ControlHwnd = 0 Or This.ctl32_Creating = TRUE Then + Return + Endif + + *!* Check if a Theme change event destroyed our statusbar, if so, recreate + If IsWindow(This.ctl32_ControlHwnd) = 0 And This.ctl32_FormType = CON_FORMTYPE_SCREEN Then + This.ctl32_Create() + Return + Endif + + *!* Check if window is still valid (it gets destroyed by OS Theme change, which triggers resize it seems) + If IsWindow(This.ctl32_ControlHwnd) = 0 + Return + Endif + + Local ; + lcRect As Character, ; + lnyCoord As Number + + With This + + *!* If container form is _Screen or TLF, deal with proxy window + If .ctl32_FormType <> CON_FORMTYPE_DEFAULT + *!* IF WindowState has changed, set proxy window: + If .ctl32_OldWindowState <> Thisform.WindowState + + _ShowWindow(.ctl32_ProxyHWnd, SW_HIDE) + + If Thisform.WindowState = WINDOWSTATE_MAXIMIZED + _ShowWindow(.ctl32_ProxyHWnd, SW_MAXIMIZE) + Else + _ShowWindow(.ctl32_ProxyHWnd, SW_RESTORE) + Endif + + .ctl32_OldWindowState = Thisform.WindowState + _ShowWindow(.ctl32_ProxyHWnd, SW_SHOWNA) + + Endif + + *!* Now we have to find Height of bottom window holding Statusbar proxy and maybe other + *!* toolbars, so we can position the proxy window at the bottom + *!* Also we resize proxy window to width of container form + *!* Find Height of client rectangle of Host window: + + *!* 2006-06-27 Using ctl32_Rect now + m.lcRect = This.ctl32_Rect._Struct + GetClientRect(.ctl32_HostHWnd, @m.lcRect) + This.ctl32_Rect._Struct = m.lcRect + + m.lnyCoord = This.ctl32_Rect._Height - .ctl32_Height + + *!* Resize/move statusbar proxy window + SetWindowPos(.ctl32_ProxyHWnd, ; + 0, ; + 0, ; + m.lnyCoord, ; + .ctl32_Width, ; + .ctl32_Height, ; + 0) + Endif + + *!* Send resize message to ctl32_StatusBar + SendMessageN(.ctl32_ControlHwnd, WM_SIZE, 0, 0) + + *!* Now resize panels + .ctl32_ResizePanels() + + Endwith + + + + + + + + ENDPROC + + PROCEDURE ctl32_resizepanels && Recalculates panel widths based on content + *!* Bindevent(This.ProgressBar, [Visible], This, [ctl32_ResizePanels], 1) + *!* Bindevent(This.ProgressBar, [Width], This, [ctl32_ResizePanels], 1) + + *!* Also called from ctl32_Create, ctl32_Resize + + *!* Panel 0 is the Message Panel + *!* Panel 1 is the ProgressBar Panel + *!* Panel n to .ctlPanelCount is Custom Panel n to .ctlPanelCount + *!* Panel .ctlPanelCount + 3 is PanelOvr + *!* Panel .ctlPanelCount + 4 is PanelNum + *!* Panel .ctlPanelCount + 5 is PanelCaps + *!* Panel .ctlPanelCount + 6 is PanelDate + *!* Panel .ctlPanelCount + 7 is Last Panel for sizing grip + + *!* Panels array of StatusBar is 0 based + *!* we have 1 based arrays in VFP + + If This.ctl32_ControlHwnd = 0 Then + Return + Endif + + Local ; + lnx As Number, ; + lnLeft As Number, ; + lnTop As Number, ; + lnMargin As Number, ; + lnPBMargin As Number, ; + lnLastMargin As Number, ; + lcRights As Character, ; + lnLastRight As Number, ; + lnTotalWidths As Number, ; + lcRect As Character, ; + lnLeft As Number + + With This + + *!* Calculate margin for caption and icons in panels: + If This.ctlTheme() Then + m.lnMargin = Int(.ctl32_getborder(CON_SBBORDER_SEPARATOR) * 3) + m.lnPBMargin = Int(.ctl32_getborder(CON_SBBORDER_SEPARATOR) * 4) + Else + m.lnMargin = Int(.ctl32_getborder(CON_SBBORDER_SEPARATOR) * 2.2) + m.lnPBMargin = Int(.ctl32_getborder(CON_SBBORDER_SEPARATOR) * 2) - 1 + Endif + + If .PanelDate.Visible = FALSE Or .PanelDate.Format = 0 + m.lnLastMargin = Sysmetric(SYSMETRIC_VSCROLLBARWIDTH) + .ctl32_getborder(CON_SBBORDER_SEPARATOR) * 2 + 1 + Else + m.lnLastMargin = Sysmetric(SYSMETRIC_VSCROLLBARWIDTH) + Endif + + If Thisform.WindowState = WINDOWSTATE_MAXIMIZED Or Thisform.BorderStyle <> CON_BS_SIZABLE Then + m.lnLastMargin = 0 + Endif + + *!* Calculate Widths of panels from right to left, first panel gets what's left of total width + *!* .ctlPanelCount is the number of custom Panels, ctl32_PanelCount is the number of stock Panels (7) + + .ctl32_Panels(.ctlPanelCount + .ctl32_PanelCount).ctl32_Width = m.lnLastMargin + + For m.lnx = .ctlPanelCount + .ctl32_PanelCount - 1 To 3 Step -1 + With .ctl32_Panels(m.lnx) + + If .Visible Then + If .AutoSize Then + Do Case + Case (Empty(.ctlIcon) And Empty(.ctlCaption)) + .ctl32_Width = 0 + + Case Not Empty(.ctlIcon) And Empty(.ctlCaption) + .ctl32_Width = 16 + Int(m.lnMargin * 1.5) + + Case Empty(.ctlIcon) And Not Empty(.ctlCaption) + .ctl32_Width = This.GetStringSize(.ctlCaption, [W]) + Int(m.lnMargin * 1.5) + + Case Not Empty(.ctlIcon) And Not Empty(.ctlCaption) + .ctl32_Width = 18 + m.lnMargin + This.GetStringSize(.ctlCaption, [W]) + m.lnMargin + Endcase + Else + .ctl32_Width = .Width + Endif + Else + .ctl32_Width = 0 + Endif + Endwith + Endfor + + *!* Calculate Width of ProgressBar Panel: + If .ctl32_Panels(2).AutoSize = FALSE Or .ProgressBar.ctlVisible = TRUE Then + If This.ctlTheme() + .ctl32_Panels(2).ctl32_Width = .ProgressBar.Width + m.lnPBMargin + Else + .ctl32_Panels(2).ctl32_Width = .ProgressBar.Width + m.lnPBMargin + 1 + Endif + Else + .ctl32_Panels(2).ctl32_Width = 0 + Endif + + *!* Now we are going to calculate the x axis value of the right border of each Panel: + *!* For now we assign StatusBar Width to Right property of last panel + .ctl32_Panels(.ctlPanelCount + .ctl32_PanelCount).ctl32_Right = .ctl32_Width + + For m.lnx = .ctlPanelCount + .ctl32_PanelCount - 1 To 1 Step -1 + .ctl32_Panels(m.lnx).ctl32_Right = Max(.ctl32_Panels(m.lnx + 1).ctl32_Right - .ctl32_Panels(m.lnx + 1).ctl32_Width, 0) + Endfor + + *!* Now assign -1 to Right property of last panel so it stretches + *!* Send 0xFFFFFF instead of -1 or PanelDate is blank + .ctl32_Panels(.ctlPanelCount + .ctl32_PanelCount).ctl32_Right = 0xFFFFFF + + *!* Do Same Thing to PanelDate so right border does not show + If .ctl32_Panels(.ctlPanelCount + .ctl32_PanelCount - 1).Visible = TRUE Then + .ctl32_Panels(.ctlPanelCount + .ctl32_PanelCount - 1).ctl32_Right = 0xFFFFFF + Endif + + *!* Now we check if all Panels have a zero Width, then we hide all separators: + m.lnTotalWidths = 0 + For m.lnx = 1 To .ctlPanelCount + .ctl32_PanelCount + m.lnTotalWidths = m.lnTotalWidths + .ctl32_Panels(m.lnx).ctl32_Width + Endfor + + If m.lnTotalWidths <= m.lnLastMargin Then + .SetAll([ctl32_Right], 0xFFFFFF, [ctl32_StatusBar_Panel]) + Endif + + *!* Now we build a string of the calculated x axis right borders: + m.lcRights = [] + + For m.lnx = 1 To .ctlPanelCount + .ctl32_PanelCount + m.lcRights = m.lcRights + BinToC(.ctl32_Panels(m.lnx).ctl32_Right, [4RS]) + Endfor + + *!* We finally send the info to the StatusBar: + SendMessageC(.ctl32_ControlHwnd, SB_SETPARTS, .ctlPanelCount + .ctl32_PanelCount, @ m.lcRights) + + If .ProgressBar.ctlVisible Then + *!* Set ProgressBar Left, retrieve rectangle of second panel (index 1) (0 based array in StatusBar) + m.lcRect = This.ctl32_Rect._Struct + SendMessageC(.ctl32_ControlHwnd, SB_GETRECT, 1, @ m.lcRect) + This.ctl32_Rect._Struct = m.lcRect + + m.lnLeft = This.ctl32_Rect._Left + .ProgressBar.Left = m.lnLeft + .ctl32_getborder(CON_SBBORDER_SEPARATOR) / 2 + Endif + + Endwith + + ENDPROC + + HIDDEN PROCEDURE ctl32_setlocalestrings && Sets Locale strings for PanelCaps, PanelOvr, PanelNum + *!* http://www.loc.gov/standards/iso639-2/langcodes.html + + *!* This sets the indicator panels captions according to Windows user set locale + + Local lcLocale As Character, ; + lnCharsRet As Number, ; + lcIndicators As Character + + m.lcLocale = Space(254) + m.lnCharsRet = GetLocaleInfo(LOCALE_USER_DEFAULT, LOCALE_SISO639LANGNAME, @m.lcLocale, Len(m.lcLocale)) + m.lcLocale = Left(m.lcLocale, m.lnCharsRet -1) + + Do Case + Case m.lcLocale == [cs] && Czech // Vratislav Belský // + m.lcIndicators = [PRE|NUM|CAPS] + + Case m.lcLocale == [de] && GERMAN + m.lcIndicators = [OVR|NUM|CAPS] + + Case m.lcLocale == [en] && English + m.lcIndicators = [OVR|NUM|CAPS] + + Case m.lcLocale == [es] && Spanish + m.lcIndicators = [SOB|NUM|MAY] + + Case m.lcLocale == [fr] && FRENCH + m.lcIndicators = [OVR|NUM|CAPS] + + Case m.lcLocale == [it] && Italian // Emanuele Cerlini // + m.lcIndicators = [SSC|NUM|MAI] + + Case m.lcLocale == [ru] && RUSSIAN + m.lcIndicators = [OVR|NUM|CAPS] + + Otherwise + m.lcIndicators = [OVR|NUM|CAPS] && OTHER + Endcase + + With This + .PanelOvr.ctlCaption = Getwordnum(m.lcIndicators, 1, [|]) + .PanelNum.ctlCaption = Getwordnum(m.lcIndicators, 2, [|]) + .PanelCaps.ctlCaption = Getwordnum(m.lcIndicators, 3, [|]) + Endwith + + + ENDPROC + + HIDDEN PROCEDURE ctl32_settheme + *!* If statusbar whas not preserved by a docked toolbar during a _Screen.Themes change, just return + If IsWindow(This.ctl32_ControlHwnd) = 0 And This.ctl32_FormType = CON_FORMTYPE_SCREEN Then + Return + Endif + + With This + + + If This.ctlOS() >= CON_OS_WINXP && at least XP + + If This.ctlTheme() = TRUE Then + SetWindowTheme(.ctl32_ControlHwnd, Null, Null) + Else + SetWindowTheme(.ctl32_ControlHwnd, Null, []) + Endif + + SendMessageN(.ctl32_ControlHwnd, WM_SYSCOLORCHANGE , 0, 0) + + Endif + + .ProgressBar.ctlThemes = This.ctlThemes + + .ctl32_AdjustProgressBar() + + .ctl32_ResizePanels() + + Endwith + + + ENDPROC + + HIDDEN PROCEDURE ctl32_unbindevents + If This.ctl32_ControlHwnd = 0 Or This.ctl32_Creating = TRUE Then + Return + Endif + + *!* Unbindevent(Thisform, [Resize], This, [ctl32_Resize]) + + *!* If This.ctl32_FormType = CON_FORMTYPE_SCREEN Then + *!* Unbindevent(_Screen.HWnd, WM_THEMECHANGED) + *!* Endif + + *!* Unbindevent(This.ProgressBar, [Visible], This, [ctl32_ResizePanels]) + *!* Unbindevent(This.ProgressBar, [Width], This, [ctl32_ResizePanels]) + + + + ENDPROC + + HIDDEN PROCEDURE ctl32_width_access + *!* RETURN desired Width for StatusBar proxy Window + *!* Width from _Screen is no good, space taken by toolbars on both + *!* sides is subtracted from total Width, so we use _vfp HWnd + + *!* Modified 20060513 + + Local lnHWnd As Number, ; + lnWidth As Number, ; + lcRect As Character + + With This + + If .ctl32_FormType = CON_FORMTYPE_SCREEN + m.lnHWnd = _vfp.HWnd + Else + m.lnHWnd = Thisform.HWnd + Endif + + m.lcRect = This.ctl32_Rect._Struct + GetClientRect(m.lnHWnd, @m.lcRect) + This.ctl32_Rect._Struct = m.lcRect + + m.lnWidth = This.ctl32_Rect._Width + + Endwith + + *!* Width is off by one pixel + m.lnWidth = m.lnWidth + 1 + + Return m.lnWidth + + ENDPROC + + HIDDEN PROCEDURE ctl32_wm_notify && Handles mouse clicks in statusbar window + *!* 2006-06-27 Now it uses _nmmouse class to handle structure + *!* Bindevent(.ctl32_ProxyHWnd, WM_NOTIFY, This, [ctl32_WM_Notify], 1) + *!* Handles mouse clicks in statubar window + + *!* msdn.microsoft.com/library/default.asp?url=/library/en-us/shellcc/platform/commctls/status/status.asp + *!* The WM_NOTIFY lParam parameter is a pointer to a nmmouse Structure + + Lparameters tnHWnd As Integer, tnMsg As Integer, tnwParam As Integer, tnLparam As Integer + + Local ; + lnResult As Number, ; + lnCode As Number, ; + lndwItemSpec As Number, ; + lnPointX As Number, ; + lnPointY As Number + + If m.tnMsg = WM_NOTIFY And m.tnwParam = 0 Then + With This + *!* Read string of data + Local loNmmouse As _nmmouse Of ctl32_structs.vcx + m.loNmmouse = Newobject([_nmmouse], [ctl32_structs.vcx]) + + m.loNmmouse._Struct = Sys(2600, m.tnLparam, m.loNmmouse._StructLen) + + *!* This determines button pressed and click/double click + m.lnCode = m.loNmmouse._code + + *!* This determines panel clicked + m.lndwItemSpec = m.loNmmouse._dwItemSpec + + *!* This are mouse click coordinates + .nXCoord = m.loNmmouse._X + .nYCoord = m.loNmmouse._Y + + *!* Determine Panel clicked + *!* PanelMessage will be -1, progressbar panel 0, first custom panel 1.... + *!* right panels will be 101, 102, 103, 104 + *!* no panel clicked is -2 + *!* m.lndwItemSpec = m.lndwItemSpec + + Do Case + Case Between(m.lndwItemSpec, 0 , .ctlPanelCount + 1) + .nPanel = m.lndwItemSpec - 1 && Panel Clicked + Case m.lndwItemSpec > .ctlPanelCount + .nPanel = m.lndwItemSpec + 99 - .ctlPanelCount + Otherwise + .nPanel = m.lndwItemSpec + Endcase + + Endwith + + *!* Determine mouse button pressed and check for double clicks + *!* suppress second click event after double click + Do Case + Case m.lnCode = -2 And This.ctl32_DblClick = 1 && Left Click + This.ctl32_DblClick = 0 + + Case m.lnCode = -5 And This.ctl32_DblClick = 1 && Right Click + This.ctl32_DblClick = 0 + + Case m.lnCode = -2 And This.ctl32_DblClick = 0 && Left Click + This.nButton = 1 + Raiseevent(This, [ctlClick]) + + Case m.lnCode = -5 And This.ctl32_DblClick = 0 && Right Click + This.nButton = 2 + Raiseevent(This, [ctlRightClick]) + + Case m.lnCode = -3 && Double Left Click + This.nButton = 1 + This.ctl32_DblClick = 1 + Raiseevent(This, [ctlDblClick]) + + Case m.lnCode = -6 && Double Right Click + This.nButton = 2 + This.ctl32_DblClick = 1 + Raiseevent(This, [ctlDblClick]) + Endcase + Endif + + m.loNmmouse = Null + + *!* 2006-06-27 Now the old window procedure is saved in the Init of the class + m.lnResult = CallWindowProc(This.ctl32_OldProc, m.tnHWnd, m.tnMsg, m.tnwParam, m.tnLparam) + + Return m.lnResult + + + + + + + + + ENDPROC + + PROCEDURE ctlcaption_access + Return This.PanelMessage.ctlCaption + + ENDPROC + + PROCEDURE ctlcaption_assign + Lparameters vNewVal + This.PanelMessage.ctlCaption = m.vNewVal + + + ENDPROC + + PROCEDURE ctlclick + ENDPROC + + PROCEDURE ctldblclick + ENDPROC + + HIDDEN PROCEDURE ctlhwnd_access + Return This.ctl32_ControlHwnd + + ENDPROC + + HIDDEN PROCEDURE ctlicon_assign + *!* 2006-06-27 Added check for parameter type + Lparameters vNewVal + + If Type("m.vNewVal") <> T_CHARACTER Then + m.vNewVal = [] + Endif + + With This + .ctlIcon = m.vNewVal + .PanelMessage.ctlIcon = m.vNewVal + Endwith + + ENDPROC + + PROCEDURE ctlmessage_access + Return This.PanelMessage.ctlCaption + + ENDPROC + + HIDDEN PROCEDURE ctlmessage_assign + Lparameters vNewVal + This.PanelMessage.ctlCaption = m.vNewVal + + ENDPROC + + PROCEDURE ctlos + *!* Returns a numeric value representing the operating system version + *!* Check ctl32.h for possible values + *!* ie CON_OS_WINXPSP2 = 5010200 + + Return Val(Os(3)) * 1000000 + Val(Os(4)) * 10000 + Val(Os(8)) * 100 + Val(Os(9)) + + ENDPROC + + PROCEDURE ctlrightclick + ENDPROC + + PROCEDURE ctltheme + Return ; + This.ctlOS() >= CON_OS_WINXP ; + And IsThemeActive() = 1 ; + And _Screen.Themes ; + And Thisform.Themes ; + And This.ctlThemes + + ENDPROC + + PROCEDURE ctlthemes_assign + Lparameters vNewVal + + If Type("m.vNewVal") = T_NUMERIC Then + If m.vNewVal = 0 Then + m.vNewVal = FALSE + Else + m.vNewVal = TRUE + Endif + Endif + + If Type("m.vNewVal") <> T_LOGICAL + Return + Endif + + This.ctlThemes = m.vNewVal + + This.ctl32_SetTheme() + + + ENDPROC + + PROCEDURE Destroy + *!* 2006-06-27 Swaped order of this method calls + This.ctl32_unbindevents() + This.ctl32_destroy() + + Local lnx As Number + + *!* Aux toolbar in _Screen, clear object reference, remove property + If Pemstatus(_Screen, [StatusBar_ToolBar], CON_PEMSTAT_DEFINED) Then + _Screen.StatusBar_ToolBar = Null + Removeproperty(_Screen, [StatusBar_ToolBar]) + Endif + + *!* Clear objects references - see ctl32_AddPanels + With This + For m.lnx = 1 To .ctlPanelCount + .ctlPanels(m.lnx) = Null + Endfor + + For m.lnx = 1 To .ctlPanelCount + .ctl32_PanelCount + .ctl32_Panels(m.lnx) = Null + Endfor + *!* Changed api alias from ShowWindowApi to _ShowWindow + *!* Display native vfp statusbar + If .ctl32_FormType = CON_FORMTYPE_SCREEN + _ShowWindow(.ctl32_vfpStatusBarHWnd, SW_SHOWNA) + Endif + + Endwith + + ENDPROC + + PROCEDURE eventhandler_form_resize + This.ctl32_resize() + + ENDPROC + + PROCEDURE eventhandler_form_themes + This.ctl32_SetTheme() + + ENDPROC + + PROCEDURE eventhandler_form_visible + This.ctl32_resize() + + ENDPROC + + PROCEDURE eventhandler_screen_themes + This.ctl32_SetTheme() + + ENDPROC + + HIDDEN PROCEDURE eventhandler_screen_wm_size + *!* BindEvent(.ctl32_HostHWnd, WM_SIZE, This, [ctl32_WM_Size], 1) + + Lparameters tnHWnd As Integer, tnMsg As Integer, tnwParam As Integer, tnLparam As Integer + + Local lnResult As Number + + With This + If m.tnMsg = WM_SIZE Then + If .ctl32_FormType = CON_FORMTYPE_SCREEN Then + .ctl32_resize() + Endif + Endif + *!* 2006-06-27 Now the old window procedure is saved in the Init of the class + *!* Just do what Calvin does, whatever it means + m.lnResult = CallWindowProc(.ctl32_OldProc, m.tnHWnd, m.tnMsg, m.tnwParam, m.tnLparam) + + Endwith + + Return m.lnResult + + ENDPROC + + HIDDEN PROCEDURE eventhandler_vfp_wm_themechanged + *!* BINDEVENT(_VFP.HWnd, WM_THEMECHANGED, This, [ctl32_WM_ThemeChanged], 1) + + Lparameters tnHWnd As Integer, tnMsg As Integer, tnwParam As Integer, tnLparam As Integer + + Local lnResult As Number + + With This + + If m.tnMsg = WM_THEMECHANGED Then + .ctl32_SetTheme() + Endif + + *!* Just do what Calvin does, whatever it means + m.lnResult = CallWindowProc(.ctl32_OldProc, m.tnHWnd, m.tnMsg, m.tnwParam, m.tnLparam) + + Endwith + + Return m.lnResult + + ENDPROC + + PROCEDURE getstringsize + *!* 2006-06-27 Now it uses StrToInt of _rect class + *!* GetStringSize + *!* msdn.microsoft.com/library/default.asp?url=/library/en-us/gdi/fontext_8smq.asp + *!* www.news2news.com/vfp/?function=687 + *!* vbnet.mvps.org/index.html?code/listapi/listrightalign.htm + + *!* typedef struct tagSIZE { + *!* LONG cx; + *!* LONG cy; + *!* } SIZE, *PSIZE; + + *!* Returns Width or Height of a string with font = font of the StatusBar + *!* tcReturnWidthOrHeight can be 'W' or 'H' or no parameter, defaults to 'W' + Lparameters tcString As Character, tcReturnWidthOrHeight As Character + + If Pcount() = 1 Then + m.tcReturnWidthOrHeight = [W] + Endif + + Local lnSize As Number, ; + lcSize As Character, ; + lnhFont As Number, ; + lnhFontOld As Number + + m.lcSize = Space(8) + + With This + m.lnHDC = GetDC(.ctlHWnd) + + m.lnhFont = SendMessageN(.ctlHWnd, WM_GETFONT, 0, 0) + m.lnhFontOld = SelectObject(m.lnHDC, m.lnhFont) + + GetTextExtentPoint32(m.lnHDC, m.tcString, Len(m.tcString), @ m.lcSize) + + If m.tcReturnWidthOrHeight <> [W] Then + m.lnSize = CToBin(Substr(m.lcSize, 5, 4), [4RS]) + Else + m.lnSize = CToBin(Substr(m.lcSize, 1, 4), [4RS]) + Endif + Endwith + + SelectObject(m.lnHDC, m.lnhFontOld) + + ReleaseDC(This.ctlHWnd, m.lnHDC) + + Return m.lnSize + + + + ENDPROC + + PROCEDURE Init + *!* http://msdn.microsoft.com/library/default.asp?url=/library/en-us/shellcc/platform/commctls/status/status.asp + + *!* ctl32_StatusBar + *!* Created by Carlos Alloatti - calloatti@gmail.com + + Lparameters tnPanelCount + + *!* Check if a numeric parameter was received, that should be PanelCount + If Pcount() > 0 And Vartype(m.tnPanelCount) = [N] Then + This.ctlPanelCount = m.tnPanelCount + Endif + + *!* 2006-06-27 Added Version(2) checking + If Type([ThisForm]) <> T_OBJECT And Version(CON_VER_TYPE) <> CON_VER_TYPE_RUNTIME Then + Messagebox([USAGE: _Screen.Newobject("oStatusBar", "ctl32_statusbar", "ctl32_statusbar.vcx, null, nPanelCount")], 16) + Return + Endif + + If This.Parent.BaseClass <> [Form] And Version(CON_VER_TYPE) <> CON_VER_TYPE_RUNTIME Then + Messagebox([Container has to be a Form Object], 16) + Return + Endif + + With This + + *!* Set up some properties + .Visible = FALSE + *!* Comented on 2006-05-07 // Giancarlo Piccinato // *!* .Anchor = 0 + .Top = -100 + .Left = 0 + .Width = Thisform.Width + .Height = 24 + + *!* Initialize date + .ctl32_OldDate = Dtos(Date(1900, 1, 1)) + .Newobject([ctl32_balloontip1],[ctl32_balloontip], [ctl32_balloontip.vcx], Null) + *!* Add progressbar object, pass -1 as parameter to prevent init code from progressbar to run + .Newobject([ProgressBar],[ctl32_progressbar], [ctl32_progressbar.vcx], Null, -1) + .ProgressBar.Width = 93 + .ProgressBar.ctlMaximum = 100 + .ProgressBar.Height = 17 + .ProgressBar.ctlSizeAdjust = TRUE + .ProgressBar.ctlStyle = 2 + .ProgressBar.ctlSmooth = TRUE + .ProgressBar.ctlBarcolor = -1 + .ProgressBar.ctlFormat = [<>] + .ProgressBar.ctlVisible = FALSE + + *!* 2006-06-27 Use _Rect object of ctl32_structs.vcx + *!* Define Rect Object to be used by various methods + .AddProperty([ctl32_Rect], FALSE) + .ctl32_Rect = Newobject([_Rect], [ctl32_structs.vcx]) + + *!* Declare all dlls used by class: + .ctl32_DeclareDlls() + + *!* 2006-06-27 Save old windows procedure, to be used by binded window messages + *!* Save VFP window Procedure + .ctl32_OldProc = GetWindowLong(_vfp.HWnd, GWL_WNDPROC) + + *!* Add Panel objects: + .ctl32_addpanels() + + *!* Determine the type of container the StaturBar is in + + *!* CON_FORMTYPE_DEFAULT 0 + *!* CON_FORMTYPE_TOPLEVEL 1 + *!* CON_FORMTYPE_SCREEN 2 + + .ctl32_FormType = CON_FORMTYPE_DEFAULT + + *!* If container is a TLF, must have ShowWindow = 2 + If .Parent.ShowWindow = CON_SHOWWIN_ASTOPLEVELFORM Then + .ctl32_FormType = CON_FORMTYPE_TOPLEVEL + Endif + + *!* If ThisForm.Name equals the _Screen.Name, then container is _Screen + *!* _Screen can be hidden or not, not relevant to statusbar + If .Parent.Name = _Screen.Name Then + .ctl32_FormType = CON_FORMTYPE_SCREEN + Endif + + *!* To create the StatusBar in a TLF, we should wait until the Form is visible or make it visible, + *!* so we can add the bottom toolbar that will create a window placeholder for + *!* the StatusBar. To do that, the TLF Activate event is binded to ctl32_FormActivate + *!* In the first Form.Activate event, this delegate code will be called, it will call ctl32_Create + *!* and then Unbind itself.This way, we do not disturb the order of form events when form loads + + If .ctl32_FormType = CON_FORMTYPE_TOPLEVEL + Bindevent(Thisform, [Activate], This, [ctl32_FormActivate], 1) + Else + .ctl32_Create() + Endif + + Endwith + + ENDPROC + + PROCEDURE newtooltip + IF this.tag#"ROA - Financiar Contabilitate" + With this.ctl32_balloontip1 + .ctlVisible = .T. + .ctlPositionStyle = 6 + .ctlHideDelay = 5000 + .ctlCapsLockStyle = 0 + .ctlIcon = "roastart.ico" + .ctlTitle = "Criteriile de filtrare" + .ctlText = this.tag + .ctlVisible = .T. + Endwith + ENDIF + + + ENDPROC + + PROCEDURE showprogressbarcaption_assign + Lparameters vNewVal + + This.ShowProgressBarCaption = m.vNewVal + + .ctl32_OldMessage = Sys(2015) + This.ctlMessage = This.ctlMessage + + + + ENDPROC + + PROCEDURE lblname.Init + Return FALSE + + ENDPROC + + PROCEDURE tmrUpdater.Timer + DoEvents + + Local lcMessage, lcPadLeft, lcPadRight, lnx + + With This.Parent + + Do Case + Case .PanelMessage.Alignment = 1 && Right + m.lcPadLeft = Chr(9) + Chr(9) + Space(1) + m.lcPadRight = Space(1) + + Case .PanelMessage.Alignment = 2 && Center + m.lcPadLeft = Chr(9) + m.lcPadRight = Space(0) + Otherwise && Left + m.lcPadLeft = Space(1) + m.lcPadRight = Space(0) + Endcase + + If .ShowProgressBarCaption = TRUE And .ProgressBar.ctlVisible = TRUE Then + m.lcMessage = m.lcPadLeft + .ProgressBar.ctlCaption + m.lcPadRight + SendMessageC(.ctlHWnd,SB_SETTEXTA, .PanelMessage.Index, m.lcMessage) + Else + *!* 2006-06-27 //Anton + If Not(.ctl32_OldMessage == _vfp.StatusBar) And Empty(.PanelMessage.ctlCaption) Then + + .ctl32_OldMessage = _vfp.StatusBar + + m.lcMessage = m.lcPadLeft + _vfp.StatusBar + m.lcPadRight + SendMessageC(.ctlHWnd,SB_SETTEXTA, .PanelMessage.Index, m.lcMessage) + Endif + + If Insmode() <> .ctl32_OldOvr Then + If Insmode() Then + SendMessageC(.ctlHWnd, SB_SETTEXTA, .PanelOvr.Index, Space(20)) + Else + SendMessageC(.ctlHWnd, SB_SETTEXTA, .PanelOvr.Index, .PanelOvr.ctlCaption + Space(5)) + Endif + .ctl32_OldOvr = Insmode() + Endif + Endif + + If Numlock() <> .ctl32_OldNum Then + If Numlock() Then + SendMessageC(.ctlHWnd,SB_SETTEXTA, .PanelNum.Index, .PanelNum.ctlCaption + Space(5)) + Else + SendMessageC(.ctlHWnd,SB_SETTEXTA, .PanelNum.Index, Space(20)) + Endif + .ctl32_OldNum = Numlock() + Endif + + If Capslock() <> .ctl32_OldCaps Then + If Capslock() Then + SendMessageC(.ctlHWnd,SB_SETTEXTA, .PanelCaps.Index, .PanelCaps.ctlCaption + Space(5)) + *SendMessageC(.ctlHWnd,SB_SETTEXTA, Bitor(.PanelCaps.Index, SBT_OWNERDRAW), Space(4)) + Else + SendMessageC(.ctlHWnd,SB_SETTEXTA, .PanelCaps.Index, Space(20)) + Endif + .ctl32_OldCaps = Capslock() + Endif + + If .ctl32_OldDate <> Dtos(Date()) And .PanelDate.Format <> 0 Then + .ctl32_OldDate = Dtos(Date()) + .PanelDate.ctlCaption = .ctl32_GetDate(.PanelDate.Format) + .PanelDate.ctlToolTipText = .ctl32_GetDate(2) + Endif + + Endwith + + ENDPROC + +ENDDEFINE + +DEFINE CLASS ctl32_statusbar_panel AS custom + *< CLASSDATA: Baseclass="custom" Timestamp="" Scale="Pixels" Uniqueid="" /> + + #INCLUDE "ctl32.h" + * + *m: alignment_assign + *m: autosize_assign + *m: ctl32_updateall && Called when creating the statusbar to update all data of Panels + *m: ctlcaption_assign + *m: ctlicon_assign + *m: ctlos + *m: ctltooltiptext_assign + *m: format_assign + *m: visible_assign + *p: alignment && Specifies the alignment of text associated with a control. + *p: autosize && Specifies if a control is automatically resized to fit its contents. + *p: ctl32_oicon + *p: ctl32_right && Right x value position for Panel + *p: ctl32_width + *p: ctlcaption + *p: ctlicon && Specifies the icon displayed for a Form at run time when the Form is minimized. + *p: ctltooltiptext && Specifies the text that appears as a ToolTip for a control. + *p: format && Specifies the input and output formatting of a control's Value property. + *p: index + *p: visible && Specifies if an object is visible or hidden. + * + + * + alignment = 0 + autosize = .T. + ctl32_oicon = + ctl32_right = -1 + ctl32_width = 0 + ctlcaption = + ctlicon = + ctltooltiptext = + format = 0 + Height = 16 + index = 0 + Name = "ctl32_statusbar_panel" + visible = .T. + Width = 120 + * + + PROCEDURE alignment_assign + Lparameters vNewVal + + This.Alignment = m.vNewVal + + This.ctlCaption = This.ctlCaption + + If This.Index = 0 + This.Parent.ctl32_OldMessage = Sys(2015) + Endif + + + ENDPROC + + PROCEDURE autosize_assign + Lparameters vNewVal + + *!* Index 0 is first Panel, PanelMessage, that should always have Autosize = FALSE + If This.Index = 0 Then + This.AutoSize = FALSE + Return + Endif + + This.AutoSize = m.vNewVal + + *!* Reset caption to get rid of center/right codes if autosize is TRUE + This.ctlCaption = This.ctlCaption + + + ENDPROC + + PROCEDURE ctl32_updateall && Called when creating the statusbar to update all data of Panels + With This + .ctlCaption = .ctlCaption + .Format = .Format + .ctlIcon = .ctlIcon + .ctlToolTipText = .ctlToolTipText + .Visible = .Visible + Endwith + + + ENDPROC + + PROCEDURE ctlcaption_assign + Lparameters vNewVal + + *!* 2006-06-27 Added Transform() + This.ctlCaption = Transform(m.vNewVal) + + Local lcPadLeft, lcPadRight, lcCaption + + m.lcCaption = m.vNewVal + + With This + + *!* we add spaces so text does not fit and tooltips show + Do Case + Case .Alignment = 1 And .AutoSize = FALSE && Right + m.lcPadLeft = Chr(9) + Chr(9) + m.lcPadRight = Space(1) + + Case .Alignment = 2 And .AutoSize = FALSE && Center + m.lcPadLeft = Chr(9) + m.lcPadRight = Space(0) + + Otherwise && Left + m.lcPadLeft = Space(0) + m.lcPadRight = Space(64) + + *!* Add one space to left if this is PanelMessage and + *!* Alignment is left, so it separates the text a little from border + If .Index = 0 + m.lcPadLeft = m.lcPadLeft + Space(1) + Endif + Endcase + + *!* If changing indicator panels Caption, let tmrUpdater update captions: + If .Name = [PanelOvr] Then + .Parent.ctl32_OldOvr = Not Insmode() + Endif + + If .Name = [PanelNum] Then + .Parent.ctl32_OldNum = Not Numlock() + Endif + + If .Name = [PanelCaps] Then + .Parent.ctl32_OldCaps = Not Capslock() + Endif + + m.lcCaption = m.lcPadLeft + m.lcCaption + m.lcPadRight + Chr(0) + + *!* Do not set Panel Caption for ProgressBar: + If .Index <> 1 Then + SendMessageC(.Parent.ctlHWnd, SB_SETTEXTA, .Index , m.lcCaption) + Endif + + *!* If setting Caption for Message Panel + If .Index = 0 + .Parent.ctl32_OldMessage = Sys(2015) + Endif + + If .Index <> 0 And .Parent.ctl32_Creating = FALSE Then + .Parent.Ctl32_ResizePanels() + Endif + + Endwith + + ENDPROC + + PROCEDURE ctlicon_assign + Lparameters vNewVal + + This.ctlIcon = m.vNewVal + + With This + + *!* 2006-07-17 Now takes icon handle too //Anton + Do Case + Case Vartype(m.vNewVal) = "N" + .ctl32_oIcon = Null + SendMessageN(.Parent.ctlHWnd, SB_SETICON, .Index, m.vNewVal) + Case File(.ctlIcon) + .ctl32_oIcon = LoadPicture(.ctlIcon) + SendMessageN(.Parent.ctlHWnd, SB_SETICON, .Index, .ctl32_oIcon.handle) + Otherwise + .ctl32_oIcon = Null + SendMessageN(.Parent.ctlHWnd, SB_SETICON, .Index, 0) + Endcase + + If .Index <> 0 And .Parent.ctl32_Creating = FALSE Then + .Parent.Ctl32_ResizePanels() + Endif + + Endwith + + ENDPROC + + PROCEDURE ctlos + *!* Returns a numeric value representing the operating system version + *!* Check ctl32.h for possible values + *!* ie CON_OS_WINXPSP2 = 5010200 + + Return Val(Os(3)) * 1000000 + Val(Os(4)) * 10000 + Val(Os(8)) * 100 + Val(Os(9)) + + ENDPROC + + PROCEDURE ctltooltiptext_assign + Lparameters vNewVal + + This.ctlToolTipText = m.vNewVal + + If Len(m.vNewVal) > 0 Then + m.vNewVal = Space(1) + This.ctlToolTipText + Space(1) + Endif + + SendMessageC(This.Parent.ctlHWnd,SB_SETTIPTEXTA, This.Index, m.vNewVal) + + + ENDPROC + + PROCEDURE format_assign + *!* Property only valid for PanelDate + + Lparameters vNewVal + + This.Format = m.vNewVal + + If This.Name = [PanelDate] Then + This.ctlCaption = This.Parent.ctl32_GetDate(This.Format) + Endif + + + + + ENDPROC + + PROCEDURE visible_assign + Lparameters vNewVal + + If Type([m.vNewVal]) = [N] Then + If m.vNewVal = 0 Then + m.vNewVal = FALSE + Else + m.vNewVal = TRUE + Endif + Endif + + If Type([m.vNewVal]) <> [L] Then + Messagebox([Parameter must be Logical: ] + Program(), 16) + Return + Endif + + This.Visible = m.vNewVal + + If This.Parent.ctl32_Creating = FALSE Then + This.Parent.Ctl32_ResizePanels() + Endif + + + ENDPROC + +ENDDEFINE + +DEFINE CLASS ctl32_statusbar_toolbar AS toolbar + *< CLASSDATA: Baseclass="toolbar" Timestamp="" Scale="Pixels" Uniqueid="" /> + + *-- OBJECTDATA items order determines ZOrder / El orden de los items OBJECTDATA determina el ZOrder + *< OBJECTDATA: ObjPath="ctlHeightShape" UniqueID="" Timestamp="" /> + + #INCLUDE "ctl32.h" + * + *m: ctl32_registerfunctions + *m: ctlos + * + + * + Caption = "ctl32_statusbar_toolbar" + Height = 19 + Left = 0 + Name = "ctl32_statusbar_toolbar" + ShowWindow = 1 + Top = 51 + Visible = .F. + Width = 32010 + * + + ADD OBJECT 'ctlHeightShape' AS shape WITH ; + Height = 13, ; + Left = 5, ; + Name = "ctlHeightShape", ; + Top = 3, ; + Width = 32000 + *< END OBJECT: BaseClass="shape" /> + + PROCEDURE ctl32_registerfunctions + *!* http://blogs.msdn.com/calvin_hsia/archive/2006/04/24/582479.aspx + *!* http://blogs.msdn.com/calvin_hsia/archive/2006/04/27/585305.aspx + *!* win32api: kernel32.dll, gdi32.dll, user32.dll, mpr.dll, advapi32.dll + + *!* 2006-06-27 Found a bug in VFP: if you declare an API function with an alias and + *!* later declare the same API function without an alias, the first aliased declare + *!* dissapears + + + local array laDeclaredDlls(1,3) + local lnLen as number + m.lnLen = adlls(m.laDeclaredDlls) + + *#beautify keyword_nochange + *!* 2006-06-27 Added first declare with no alias, changed alias from ShowWindowAPI to _ShowWindow + If Ascan(m.laDeclaredDlls, [ShowWindow], 1, m.lnLen , 2, 15) = 0 + Declare Integer ShowWindow In win32api As ShowWindow ; + Integer HWnd,; + Integer nCmdShow + Endif + + If Ascan(m.laDeclaredDlls, [_ShowWindow], 1, m.lnLen , 2, 15) = 0 + Declare Integer ShowWindow In win32api As _ShowWindow ; + Integer HWnd,; + Integer nCmdShow + Endif + *#beautify + ENDPROC + + PROCEDURE ctlos + *!* Returns a numeric value representing the operating system version + *!* Check ctl32.h for possible values + *!* ie CON_OS_WINXPSP2 = 5010200 + + Return Val(Os(3)) * 1000000 + Val(Os(4)) * 10000 + Val(Os(8)) * 100 + Val(Os(9)) + + ENDPROC + + PROCEDURE Init + This.ctl32_RegisterFunctions() + + *!* Hide the toolbar trhu API so its still there but invisible + With This + .Dock(TOOL_BOTTOM, 0, 0) + .Visible = TRUE + _ShowWindow(.HWnd, SW_HIDE) + Endwith + + + ENDPROC + + PROCEDURE ctlHeightShape.Click + This.Parent.Dock(3, 0, 0) + + ENDPROC + + PROCEDURE ctlHeightShape.Init + + If This.Parent.ctlOS() >= CON_OS_WINVISTA && Vista + This.Height = 13 + Else + This.Height = 17 + Endif + ENDPROC + +ENDDEFINE diff --git a/utile/ctl32/ctl32_statusbar_fals.vc2 b/utile/ctl32/ctl32_statusbar_fals.vc2 new file mode 100644 index 0000000..1fe8952 --- /dev/null +++ b/utile/ctl32/ctl32_statusbar_fals.vc2 @@ -0,0 +1,52 @@ +*-------------------------------------------------------------------------------------------------------------------------------------------------------- +* (EN) AUTOGENERATED - ATTENTION!! - NOT INTENDED FOR EXECUTION!! USE ONLY FOR MERGING CHANGES AND STORING WITH SCM TOOLS!! +*-------------------------------------------------------------------------------------------------------------------------------------------------------- +*< FOXBIN2PRG: Version="1.21" SourceFile="ctl32_statusbar_fals.vcx" CPID="1252" /> (Solo para binarios VFP 9 / Only for VFP 9 binaries) +* +* +DEFINE CLASS ctl32_statusbar AS custom + *< CLASSDATA: Baseclass="custom" Timestamp="" Scale="Pixels" Uniqueid="" /> + + * + *m: ctlclick + *m: newtooltip + *p: ctlicon + *p: ctlmessage + *a: ctlpanels[10,0] + * + + * + ctlicon = + ctlmessage = + Name = "ctl32_statusbar" + * + + PROCEDURE ctlclick + ENDPROC + + PROCEDURE Init + Lparameters tnPanelCount + For I = 1 To tnPanelCount + This.ctlpanels(I) = Newobject("ctl32_statusbar_panel","ctl32_statusbar_fals") + Endfor + + ENDPROC + + PROCEDURE newtooltip + ENDPROC + +ENDDEFINE + +DEFINE CLASS ctl32_statusbar_panel AS custom + *< CLASSDATA: Baseclass="custom" Timestamp="" Scale="Pixels" Uniqueid="" /> + + * + *p: ctlcaption + * + + * + ctlcaption = + Name = "ctl32_statusbar_panel" + * + +ENDDEFINE diff --git a/utile/ctl32/ctl32_structs.vc2 b/utile/ctl32/ctl32_structs.vc2 new file mode 100644 index 0000000..daf92ff --- /dev/null +++ b/utile/ctl32/ctl32_structs.vc2 @@ -0,0 +1,1410 @@ +*-------------------------------------------------------------------------------------------------------------------------------------------------------- +* (EN) AUTOGENERATED - ATTENTION!! - NOT INTENDED FOR EXECUTION!! USE ONLY FOR MERGING CHANGES AND STORING WITH SCM TOOLS!! +*-------------------------------------------------------------------------------------------------------------------------------------------------------- +*< FOXBIN2PRG: Version="1.21" SourceFile="ctl32_structs.vcx" CPID="1252" /> (Solo para binarios VFP 9 / Only for VFP 9 binaries) +* +* +DEFINE CLASS _base AS custom + *< CLASSDATA: Baseclass="custom" Timestamp="" Scale="Pixels" Uniqueid="" /> + + #INCLUDE "ctl32.h" + * + *m: ctlallocatememory + *m: ctlfreememory + *m: ctlinttostr + *m: ctlos + *m: ctlregisterfunctions + *m: ctlstrtoint + *m: ctlwritememory + *m: _struct_access + *m: _struct_assign + *p: ctlabout + *p: ctlversion + *p: _memberdata && XML Metadata for customizable properties + *p: _struct + *p: _structlen + * + + * + ctlabout = ctl32_structs - Carlos Alloatti + ctlversion = 20061010 + Height = 17 + Name = "_base" + Width = 17 + _struct = + _structlen = 0 + * + + PROCEDURE ctlallocatememory + *!* Code stolen from www.foxitaly.com/ecerlini/struttureapi_en.html + + Lparameters tnBytes As Number + + Local ; + lnHeap As Number, ; + lnResult As Number + + m.lnHeap = GetProcessHeap() + + m.lnResult = HeapAlloc(m.lnHeap, HEAP_ZERO_MEMORY, m.tnBytes) && non è necessario metterla a 0 ma ... + + Return m.lnResult + + ENDPROC + + PROCEDURE ctlfreememory + *!* Code stolen from www.foxitaly.com/ecerlini/struttureapi_en.html + + Lparameters tnMemHandle As Number + + Local ; + lnHeap As Number, ; + lnResult As Number + + m.lnHeap = GetProcessHeap() + + m.lnResult = HeapFree(m.lnHeap, 0, m.tnMemHandle) + + Return Iif(m.lnResult = 0, .F., .T.) + + ENDPROC + + PROCEDURE ctlinttostr + *!* Code stolen from www.foxitaly.com/ecerlini/struttureapi_en.html + + Lparameters tnIntValue As Number + + Local ; + lnx As Number, ; + lnChars As Number, ; + lnOper As Number, ; + lcRetVal As String + + m.tnIntValue = Int(m.tnIntValue) + m.lnChars = 4 + + If Sign(m.tnIntValue) = -1 + m.tnIntValue = m.tnIntValue + 1 + Evaluate([0x] + Replicate([FF], m.lnChars)) + Endif + + m.lnOper = 0 + m.lcRetVal = [] + m.lnx = 0 + + Do While m.tnIntValue > 0 + m.lnOper = Mod(Int(m.tnIntValue / 256 ^ m.lnx), 256) + m.lcRetVal = m.lcRetVal + Chr(m.lnOper) + m.tnIntValue = m.tnIntValue - (m.lnOper * (256 ^ m.lnx)) + m.lnx = m.lnx + 1 + Enddo + + Return Padr(m.lcRetVal, m.lnChars, Chr(0)) + + ENDPROC + + PROCEDURE ctlos + *!* Returns a numeric value representing the operating system version + *!* Check ctl32.h for possible values + *!* ie CON_OS_WINXPSP2 = 5010200 + + Return Val(Os(3)) * 1000000 + Val(Os(4)) * 10000 + Val(Os(8)) * 100 + Val(Os(9)) + + ENDPROC + + PROCEDURE ctlregisterfunctions + Local Array laDeclaredDlls(1,3) + Local lnLen + m.lnLen = Adlls(m.laDeclaredDlls) + + If Ascan(m.laDeclaredDlls, [DeleteObject], 1, m.lnLen , 2, 15) = 0 + Declare Integer DeleteObject In gdi32; + Integer hObject + ENDIF + + If Ascan(m.laDeclaredDlls, [GetProcessHeap], 1, m.lnLen , 2, 15) = 0 + Declare Integer GetProcessHeap In win32api + Endif + + If Ascan(m.laDeclaredDlls, [HeapAlloc], 1, m.lnLen , 2, 15) = 0 + Declare Integer HeapAlloc In win32api ; + Integer hHeap, ; + Integer dwFlags, ; + Integer dwBytes + Endif + + If Ascan(m.laDeclaredDlls, [HeapFree], 1, m.lnLen , 2, 15) = 0 + Declare Integer HeapFree In win32api ; + Integer hHeap, ; + Integer dwFlags, ; + Integer lpMem + Endif + + + + + ENDPROC + + PROCEDURE ctlstrtoint + *!* Code stolen from www.foxitaly.com/ecerlini/struttureapi_en.html + + Lparameters tcCharInt As Character, tlUnsigned As Logical + + Local ; + lnx As Number, ; + lnRetVal As Number, ; + lnChars As Number, ; + llBig As Logical + + m.lnRetVal = 0 + m.lnChars = Len(m.tcCharInt) + + If m.lnChars > 0 Then + For m.lnx = 1 To m.lnChars + m.lnRetVal = m.lnRetVal + (Asc(Substr(m.tcCharInt, m.lnx, 1)) * (256 ^ (m.lnx - 1))) + Next + + m.llBig = m.lnRetVal > Evaluate([0x7F] + Replicate([FF], m.lnChars-1)) + + If m.tlUnsigned = FALSE And m.llBig + m.lnRetVal = m.lnRetVal - 1 - Evaluate([0x] + Replicate([FF], m.lnChars)) + Endif + Endif + + Return Int(m.lnRetVal) + + ENDPROC + + PROCEDURE ctlwritememory + *!* Code stolen from www.foxitaly.com/ecerlini/struttureapi_en.html + + Lparameters tcMemString as Character + + Local ; + lnSize As Number, ; + lnMemHandle As Number, ; + lcExErr As String + + m.lnSize = Len(m.tcMemString) + + m.lnMemHandle = 0 + + m.lnMemHandle = This.ctlAllocateMemory(m.lnSize) + + *!* Write string to memory space + Sys(2600, m.lnMemHandle, m.lnSize, m.tcMemString) + + Return m.lnMemHandle + + ENDPROC + + PROCEDURE Init + This.ctlRegisterFunctions() + + ENDPROC + + PROCEDURE _struct_access + *To do: Modify this routine for the Access method + RETURN THIS._struct + + ENDPROC + + PROCEDURE _struct_assign + LPARAMETERS vNewVal + *To do: Modify this routine for the Assign method + THIS._struct = m.vNewVal + + ENDPROC + +ENDDEFINE + +DEFINE CLASS _iconinfo AS _base OF "ctl32_structs.vcx" + *< CLASSDATA: Baseclass="custom" Timestamp="" Scale="Pixels" Uniqueid="" /> + + #INCLUDE "ctl32.h" + * + *p: _ficon + *p: _hbmcolor + *p: _hbmmask + *p: _xhotspot + *p: _yhotspot + * + + * + Name = "_iconinfo" + _ficon = 0 + _hbmcolor = 0 + _hbmmask = 0 + _structlen = 20 + _xhotspot = 0 + _yhotspot = 0 + * + + PROCEDURE Destroy + With This + If ._hbmcolor <> 0 Then + DeleteObject(._hbmcolor) + Endif + If ._hbmmask <> 0 Then + DeleteObject(._hbmmask) + Endif + Endwith + + + ENDPROC + + PROCEDURE _struct_access + *!* ICONINFO { + *!* BOOL fIcon; 4 + *!* DWORD xHotspot; 4 + *!* DWORD yHotspot; 4 + *!* HBITMAP hbmMask; 4 + *!* HBITMAP hbmColor; 4 + *!* ICONINFO; 20 + + With This + ._Struct = ; + .ctlIntToStr(._fIcon) + ; + .ctlIntToStr(._xHotspot) + ; + .ctlIntToStr(._yHotspot) + ; + .ctlIntToStr(._hbmMask) + ; + .ctlIntToStr(._hbmColor) + Endwith + + Return This._Struct + ENDPROC + + PROCEDURE _struct_assign + *!* ICONINFO { + *!* BOOL fIcon; 4 + *!* DWORD xHotspot; 4 + *!* DWORD yHotspot; 4 + *!* HBITMAP hbmMask; 4 + *!* HBITMAP hbmColor; 4 + *!* ICONINFO; 20 + + Lparameters vNewVal + + This._Struct = m.vNewVal + + With This + ._fIcon = .ctlStrToInt(Substr(m.vNewVal, 1, 4)) + ._xHotspot = .ctlStrToInt(Substr(m.vNewVal, 5, 4)) + ._yHotspot = .ctlStrToInt(Substr(m.vNewVal, 9, 4)) + ._hbmMask = .ctlStrToInt(Substr(m.vNewVal, 13, 4)) + ._hbmColor = .ctlStrToInt(Substr(m.vNewVal, 17, 4)) + Endwith + + ENDPROC + +ENDDEFINE + +DEFINE CLASS _macros AS custom + *< CLASSDATA: Baseclass="custom" Timestamp="" Scale="Pixels" Uniqueid="" /> + + #INCLUDE "ctl32.h" + * + *m: _get_x_lparam + *m: _get_x_point + *m: _get_y_lparam + *m: _get_y_point + *m: _hibyte + *m: _hiword + *m: _lobyte + *m: _loword + *m: _makelangid + *m: _makelong + *m: _makelparam + *m: _makepoint + *m: _makeword + *m: _makewparam + *m: _primarylangid + *m: _sublangid + * + + * + Name = "_macros" + Width = 17 + * + + PROCEDURE _get_x_lparam + *!* int GET_X_LPARAM( + *!* LPARAM lParam + *!* ); + + *!* Parameters + + *!* lParam + *!* Specifies the value to be converted. + + *!* Return Value + + *!* The return value is the low-order int of the specified value. + + Lparameters m.lParam As Integer + + Return Bitand(m.lParam, 0xFFFF) + + ENDPROC + + PROCEDURE _get_x_point + *!* POINT + *!* The POINT structure defines the x- and y- coordinates of a point. + + *!* typedef struct tagPOINT { + *!* LONG x; + *!* LONG y; + *!* } POINT, *PPOINT; + *!* Members + *!* x + *!* Specifies the x-coordinate of the point. + *!* y + *!* Specifies the y-coordinate of the point. + + *!* This is not a Windows Macro + + Lparameters tcPoint As String + + Return CToBin(Substr(m.tcPoint, 1, 4), [4RS]) + + ENDPROC + + PROCEDURE _get_y_lparam + *!* int GET_Y_LPARAM( + *!* LPARAM lParam + *!* ); + + *!* Parameters + + *!* lParam + *!* Specifies the value to be converted. + + *!* Return Value + + *!* The return value is the high-order int of the specified value. + + Lparameters m.lParam As Integer + + Return Bitrshift(m.lParam, 16) && Bitand(Int(m.lParam / 0x10000), 0xFFFF) + + + + ENDPROC + + PROCEDURE _get_y_point + *!* POINT + *!* The POINT structure defines the x- and y- coordinates of a point. + + *!* typedef struct tagPOINT { + *!* LONG x; + *!* LONG y; + *!* } POINT, *PPOINT; + *!* Members + *!* x + *!* Specifies the x-coordinate of the point. + *!* y + *!* Specifies the y-coordinate of the point. + + *!* This is not a Windows Macro + + Lparameters tcPoint As String + + Return CToBin(Substr(m.tcPoint, 5, 4), [4RS]) + + ENDPROC + + PROCEDURE _hibyte + *!* BYTE HIBYTE( + *!* Word wValue + *!* ); + + *!* Parameters + + *!* wValue + *!* Specifies the Value To be converted. + + *!* Return Value + + *!* the Return Value Is the High-Order BYTE Of the specified Value. + + Lparameters m.lParam As Integer + + Return Bitrshift(m.lParam, 8) && Bitand(Int(m.lParam / 0x10000), 0xFFFF) + + ENDPROC + + PROCEDURE _hiword + *!* Word HIWORD( + *!* DWORD dwValue + *!* ); + + *!* Parameters + + *!* dwValue + *!* Specifies the Value To be converted. + + *!* Return Value + + *!* the Return Value Is the High-Order Word Of the specified Value. + + Lparameters m.lParam As Integer + + Return Bitrshift(m.lParam, 16) && Bitand(Int(m.lParam / 0x10000), 0xFFFF) + + ENDPROC + + PROCEDURE _lobyte + *!* BYTE LOBYTE( + *!* Word wValue + *!* ); + + *!* Parameters + + *!* wValue + *!* Specifies the Value To be converted. + + *!* Return Value + + *!* the Return Value Is the low-Order BYTE Of the specified Value. + + Lparameters m.lParam As Integer + + Return Bitand(m.lParam, 0xFF) + + ENDPROC + + PROCEDURE _loword + *!* Word LOWORD( + *!* DWORD dwValue + *!* ); + + *!* Parameters + + *!* dwValue + *!* Specifies the Value To be converted. + + *!* Return Value + + *!* the Return Value Is the low-Order Word Of the specified Value. + + Lparameters m.lParam As Integer + + Return Bitand(m.lParam, 0xFFFF) + + ENDPROC + + PROCEDURE _makelangid + *!* WORD MAKELANGID( + *!* USHORT usPrimaryLanguage, + *!* USHORT usSubLanguage + *!* ); + + *!* Parameters + + *!* usPrimaryLanguage + *!* Primary language identifier. This identifier can be a predefined value or + *!* a value for a user-defined primary language. For a user-defined language, + *!* the identifier is a value in the range 0x0200 to 0x03FF. All other values + *!* are reserved for operating system use. For more information, see Language + *!* Identifier Constants and Strings. + + *!* usSubLanguage + *!* Sublanguage identifier. This parameter can be a predefined sublanguage + *!* identifier or a user-defined sublanguage. For a user-defined sublanguage, + *!* the identifier is a value in the range 0x20 to 0x3F. All other values are + *!* reserved for operating system use. For more information, see Language + *!* Identifier Constants and Strings. + + *!* Return Values + *!* Returns the language identifier. + + Lparameters m.usPrimaryLanguage As Short, m.usSubLanguage As Short + + Return Bitor(m.usPrimaryLanguage, Bitlshift(m.usSubLanguage, 10)) + + ENDPROC + + PROCEDURE _makelong + *!* DWORD MAKELONG( + *!* Word wLow, + *!* Word wHigh + *!* ); + + *!* Parameters + + *!* wLow + *!* Specifies the low-Order Word Of the new Value. + + *!* wHigh + *!* Specifies the High-Order Word Of the new Value. + + *!* Return Value + + *!* the Return Value Is a Long Value. + + Lparameters m.wLow As Integer, m.wHigh As Integer + + Return m.wLow + m.wHigh * 0x10000 && Bitor(m.wLow, BITLSHIFT(m.wHigh, 16) + + ENDPROC + + PROCEDURE _makelparam + *!* LPARAM MAKELPARAM( + *!* WORD wLow, + *!* WORD wHigh + *!* ); + + *!* Parameters + + *!* wLow + *!* Specifies the low-order word of the new value. + + *!* wHigh + *!* Specifies the high-order word of the new value. + + *!* Return Value + + *!* The return value is an LPARAM value. + + Lparameters m.wLow As Integer, m.wHigh As Integer + + Return m.wLow + m.wHigh * 0x10000 && Bitor(m.wLow, BITLSHIFT(m.wHigh, 16) + + ENDPROC + + PROCEDURE _makepoint + *!* POINT + *!* The POINT structure defines the x- and y- coordinates of a point. + + *!* typedef struct tagPOINT { + *!* LONG x; + *!* LONG y; + *!* } POINT, *PPOINT; + *!* Members + *!* x + *!* Specifies the x-coordinate of the point. + *!* y + *!* Specifies the y-coordinate of the point. + + *!* This is not a Windows Macro + + Lparameters tnX as integer, tnY as integer + + Return BinToC(m.tnX, [4RS]) + BinToC(m.tnY, [4RS]) + + ENDPROC + + PROCEDURE _makeword + *!* Word MAKEWORD( + *!* BYTE bLow, + *!* BYTE bHigh + *!* ); + + *!* Parameters + + *!* bLow + *!* Specifies the low-Order BYTE Of the new Value. + + *!* bHigh + *!* Specifies the High-Order BYTE Of the new Value. + + *!* Return Value + + *!* the Return Value Is a Word Value. + + Lparameters m.wLow As Integer, m.wHigh As Integer + + Return m.wLow + m.wHigh * 0x100 && Bitor(m.wLow, BITLSHIFT(m.wHigh, 8) + + ENDPROC + + PROCEDURE _makewparam + *!* WPARAM MAKEWPARAM( + *!* Word wLow, + *!* Word wHigh + *!* ); + + *!* Parameters + + *!* wLow + *!* Specifies the low-Order Word Of the new Value. + + *!* wHigh + *!* Specifies the High-Order Word Of the new Value. + + *!* Return Value + + *!* the Return Value Is a WPARAM Value. + + Lparameters m.wLow As Integer, m.wHigh As Integer + + Return m.wLow + m.wHigh * 0x10000 && Bitor(m.wLow, BITLSHIFT(m.wHigh, 16) + + ENDPROC + + PROCEDURE _primarylangid + *!* WORD PRIMARYLANGID( + *!* WORD lgid + *!* ); + + *!* Parameters + + *!* lgid + *!* Language identifier. This value is a combination of a primary language identifier + *!* and a sublanguage identifier and is usually created by using the MAKELANGID macro. + + *!* Return Values + + *!* Returns the primary language identifier. It can be one of the predefined primary + *!* language identifiers or a user-defined primary language identifier. + *!* For more information, see MAKELANGID. + + Lparameters m.lgid As Integer + + Return Bitand(m.lgid, 0x3ff) + + ENDPROC + + PROCEDURE _sublangid + *!* WORD SUBLANGID( + *!* WORD lgid + *!* ); + + *!* Parameters + + *!* lgid + *!* Language identifier. You can supply predefined values for this parameter, + *!* or create an identifier using the MAKELANGID macro. + + *!* Return Values + + *!* Returns a sublanguage identifier. This can be a predefined sublanguage + *!* identifier or a user-defined sublanguage identifier. + + Lparameters m.lgid as integer + + Return Bitrshift(m.lgid, 10) + + ENDPROC + +ENDDEFINE + +DEFINE CLASS _nmhdr AS _base OF "ctl32_structs.vcx" + *< CLASSDATA: Baseclass="custom" Timestamp="" Scale="Pixels" Uniqueid="" /> + + #INCLUDE "ctl32.h" + * + *p: _code + *p: _hwndfrom + *p: _idfrom + * + + * + Name = "_nmhdr" + _code = 0 + _hwndfrom = 0 + _idfrom = 0 + _structlen = 12 + * + + PROCEDURE _struct_access + *!* NMHDR + *!* HWND hwndFrom; 4 + *!* UINT idFrom; 4 + *!* UINT code; 4 + *!* NMHDR; 12 + + With This + ._Struct = ; + .ctlIntToStr(._hwndFrom) + ; + .ctlIntToStr(._idFrom) + ; + .ctlIntToStr(._Code) + Endwith + + Return This._Struct + + ENDPROC + + PROCEDURE _struct_assign + *!* NMHDR + *!* HWND hwndFrom; 4 + *!* UINT idFrom; 4 + *!* UINT code; 4 + *!* NMHDR; 12 + + LPARAMETERS vNewVal + + THIS._Struct = m.vNewVal + + With This + ._hwndFrom = .ctlStrToInt(Substr(m.vNewVal, 1, 4)) + ._idFrom = .ctlStrToInt(Substr(m.vNewVal, 5, 4)) + ._code = .ctlStrToInt(Substr(m.vNewVal, 9, 4)) + Endwith + + ENDPROC + +ENDDEFINE + +DEFINE CLASS _nmmouse AS _base OF "ctl32_structs.vcx" + *< CLASSDATA: Baseclass="custom" Timestamp="" Scale="Pixels" Uniqueid="" /> + + #INCLUDE "ctl32.h" + * + *p: _code + *p: _dwhitinfo + *p: _dwitemdata + *p: _dwitemspec + *p: _hwndfrom + *p: _idfrom + *p: _x + *p: _y + * + + * + Name = "_nmmouse" + _code = 0 + _dwhitinfo = 0 + _dwitemdata = 0 + _dwitemspec = 0 + _hwndfrom = 0 + _idfrom = 0 + _structlen = 32 + _x = 0 + _y = 0 + * + + PROCEDURE _struct_access + *!* NMMOUSE + *!* HWND hwndFrom; 4 + *!* UINT idFrom; 4 + *!* UINT code; 4 + *!* DWORD_PTR dwItemSpec; 4 + *!* DWORD_PTR dwItemData; 4 + *!* LONG x; 4 + *!* LONG y; 4 + *!* LPARAM dwHitInfo; 4 + *!* NMMOUSE 32 + + With This + ._Struct = ; + .ctlIntToStr(._hwndFrom) + ; + .ctlIntToStr(._idFrom) + ; + .ctlIntToStr(._Code) + ; + .ctlIntToStr(._dwItemSpec) + ; + .ctlIntToStr(._dwItemData) + ; + .ctlIntToStr(._X) + ; + .ctlIntToStr(._Y) + ; + .ctlIntToStr(._dwHitInfo) + Endwith + + Return This._Struct + + ENDPROC + + PROCEDURE _struct_assign + Lparameters vNewVal + + *!* NMMOUSE + *!* HWND hwndFrom; 4 + *!* UINT idFrom; 4 + *!* UINT code; 4 + *!* DWORD_PTR dwItemSpec; 4 + *!* DWORD_PTR dwItemData; 4 + *!* LONG x; 4 + *!* LONG y; 4 + *!* LPARAM dwHitInfo; 4 + *!* NMMOUSE 32 + + This._struct = m.vNewVal + + With This + ._hwndFrom = .ctlStrToInt(Substr(m.vNewVal, 1, 4)) + ._idFrom = .ctlStrToInt(Substr(m.vNewVal, 5, 4), TRUE) + ._code = .ctlStrToInt(Substr(m.vNewVal, 9, 4)) + ._dwItemSpec = .ctlStrToInt(Substr(m.vNewVal, 13, 4)) + ._dwItemData = .ctlStrToInt(Substr(m.vNewVal, 17, 4)) + ._x = .ctlStrToInt(Substr(m.vNewVal, 21, 4)) + ._y = .ctlStrToInt(Substr(m.vNewVal, 25, 4)) + ._dwHitInfo = .ctlStrToInt(Substr(m.vNewVal, 29, 4)) + Endwith + + ENDPROC + +ENDDEFINE + +DEFINE CLASS _nmttdispinfo AS _base OF "ctl32_structs.vcx" + *< CLASSDATA: Baseclass="custom" Timestamp="" Scale="Pixels" Uniqueid="" /> + + #INCLUDE "ctl32.h" + * + *p: _code + *p: _hbmp + *p: _hinst + *p: _hwndfrom + *p: _idfrom + *p: _lparam + *p: _lpsztext + *p: _lpsztextstring + *p: _sztext + *p: _uflags + * + + * + Name = "_nmttdispinfo" + _code = 0 + _hbmp = 0 + _hinst = 0 + _hwndfrom = 0 + _idfrom = 0 + _lparam = 0 + _lpsztext = 0 + _lpsztextstring = + _structlen = 108 + _sztext = + _uflags = 0 + * + + PROCEDURE Destroy + If This._lpszText <> 0 Then + This.ctlFreeMemory(This._lpszText) + Endif + + ENDPROC + + PROCEDURE _struct_access + *!* NMTTDISPINFO { + *!* HWND hwndFrom; 4 + *!* UINT idFrom; 4 + *!* UINT code; 4 + *!* LPTSTR lpszText; 4 + *!* char szText[80]; 80 + *!* HINSTANCE hinst; 4 + *!* UINT uFlags; 4 + *!* #if (_WIN32_IE >= 0x0300) + *!* LPARAM lParam; 4 + *!* #endif + *!* #if (_WIN32_WINNT >= 0x0600) + *!* HBITMAP hbmp; + *!* #endif + *!* } NMTTDISPINFO, *LPNMTTDISPINFO; + + If This._lpszText <> 0 Then + This.ctlFreeMemory(This._lpszText) + This._lpszText = 0 + Endif + + If Vartype(This._lpszTextString) <> T_CHARACTER Then + This._lpszTextString = [] + Endif + + This._lpszTextString = Alltrim(This._lpszTextString) + + If Len(This._lpszTextString) = 0 Then + This._lpszText = 0 + Else + If Right(This._lpszTextString, 1) <> Chr(0) Then + This._lpszTextString = This._lpszTextString + Chr(0) + Endif + This._lpszText = This.ctlWriteMemory(This._lpszTextString) + Endif + + With This + ._Struct = ; + .ctlIntToStr(._hwndFrom) + ; + .ctlIntToStr(._idFrom) + ; + .ctlIntToStr(._code) + ; + .ctlIntToStr(._lpszText) + ; + .Padr(_szText, 80) + ; + .ctlIntToStr(._hinst) + ; + .ctlIntToStr(._uFlags) + ; + .ctlIntToStr(._lParam) + Endwith + + Return This._Struct + + ENDPROC + + PROCEDURE _struct_assign + *!* typedef struct tagNMHDR { + *!* HWND hwndFrom; + *!* UINT idFrom; + *!* UINT code; + *!* } NMHDR; + + *!* typedef struct tagNMTTDISPINFO { + *!* NMHDR hdr; + *!* LPTSTR lpszText; + *!* char szText[80]; + *!* HINSTANCE hinst; + *!* UINT uFlags; + *!* #if (_WIN32_IE >= 0x0300) + *!* LPARAM lParam; + *!* #endif + *!* #if (_WIN32_WINNT >= 0x0600) + *!* HBITMAP hbmp; + *!* #endif + *!* } NMTTDISPINFO, *LPNMTTDISPINFO; + + LPARAMETERS vNewVal + + THIS._struct = m.vNewVal + + With This + ._hwndFrom = .ctlStrToInt(Substr(m.vNewVal, 1, 4)) + ._idFrom = .ctlStrToInt(Substr(m.vNewVal, 5, 4), TRUE) + ._code = .ctlStrToInt(Substr(m.vNewVal, 9, 4)) + ._lpszText = .ctlStrToInt(Substr(m.vNewVal, 13, 4)) + ._szText = Substr(m.vNewVal, 17, 80) + ._hinst = .ctlStrToInt(Substr(m.vNewVal, 97, 4)) + ._uFlags = .ctlStrToInt(Substr(m.vNewVal, 101, 4), TRUE) + ._lParam = .ctlStrToInt(Substr(m.vNewVal, 105, 4)) + Endwith + + ENDPROC + +ENDDEFINE + +DEFINE CLASS _rect AS _base OF "ctl32_structs.vcx" + *< CLASSDATA: Baseclass="custom" Timestamp="" Scale="Pixels" Uniqueid="" /> + + #INCLUDE "ctl32.h" + * + *p: _bottom + *p: _height + *p: _left + *p: _right + *p: _top + *p: _width + * + + * + Name = "_rect" + _bottom = 0 + _height = 0 + _left = 0 + _right = 0 + _structlen = 16 + _top = 0 + _width = 0 + * + + PROCEDURE _struct_access + *!* RECT + *!* LONG left; 4 + *!* LONG top; 4 + *!* LONG right; 4 + *!* LONG bottom; 4 + *!* RECT; 16 + + With This + ._Struct = ; + .ctlIntToStr(._Left) + ; + .ctlIntToStr(._Top) + ; + .ctlIntToStr(._Right) + ; + .ctlIntToStr(._Bottom) + Endwith + + Return This._Struct + + + ENDPROC + + PROCEDURE _struct_assign + *!* RECT + *!* LONG left; 4 + *!* LONG top; 4 + *!* LONG right; 4 + *!* LONG bottom; 4 + *!* RECT; 16 + + Lparameters vNewVal + + This._Struct = m.vNewVal + + With This + ._Left = .ctlStrToInt(Substr(m.vNewVal, 1, 4)) + ._Top = .ctlStrToInt(Substr(m.vNewVal, 5, 4)) + ._Right = .ctlStrToInt(Substr(m.vNewVal, 9, 4)) + ._Bottom = .ctlStrToInt(Substr(m.vNewVal, 13, 4)) + + ._Width = ._Right - ._Left + ._Height = ._Bottom - ._Top + Endwith + + ENDPROC + +ENDDEFINE + +DEFINE CLASS _scrollinfo AS _base OF "ctl32_structs.vcx" + *< CLASSDATA: Baseclass="custom" Timestamp="" Scale="Pixels" Uniqueid="" /> + + #INCLUDE "ctl32.h" + * + *p: _cbsize + *p: _fmask + *p: _nmax + *p: _nmin + *p: _npage + *p: _npos + *p: _ntrackpos + * + + * + Name = "_scrollinfo" + _cbsize = 0 + _fmask = 0 + _nmax = 0 + _nmin = 0 + _npage = 0 + _npos = 0 + _ntrackpos = 0 + _structlen = 28 + * + + PROCEDURE _struct_access + *!* typedef struct tagSCROLLINFO { + *!* UINT cbSize; 4 + *!* UINT fMask; 4 + *!* int nMin; 4 + *!* int nMax; 4 + *!* UINT nPage; 4 + *!* int nPos; 4 + *!* int nTrackPos; 4 + *!* } SCROLLINFO, *LPSCROLLINFO; 28 + *!* typedef SCROLLINFO CONST *LPCSCROLLINFO; + + With This + ._cbSize = 28 + ._Struct = ; + .ctlIntToStr(._cbSize) + ; + .ctlIntToStr(._fMask) + ; + .ctlIntToStr(._nMin) + ; + .ctlIntToStr(._nMax) + ; + .ctlIntToStr(._nPage) + ; + .ctlIntToStr(._nPos) + ; + .ctlIntToStr(._nTrackPos) + Endwith + + Return This._Struct + + ENDPROC + +ENDDEFINE + +DEFINE CLASS _tcitem AS _base OF "ctl32_structs.vcx" + *< CLASSDATA: Baseclass="custom" Timestamp="" Scale="Pixels" Uniqueid="" /> + + #INCLUDE "ctl32.h" + * + *p: _cchtextmax + *p: _dwstate + *p: _dwstatemask + *p: _iimage + *p: _lparam + *p: _lpsztext + *p: _lpsztextstring + *p: _mask + * + + * + Name = "_tcitem" + _cchtextmax = 0 + _dwstate = 0 + _dwstatemask = 0 + _iimage = 0 + _lparam = 0 + _lpsztext = 0 + _lpsztextstring = + _mask = 0 + _structlen = 28 + * + + PROCEDURE Destroy + If This._lpszText <> 0 Then + This.ctlFreeMemory(This._lpszText) + Endif + + ENDPROC + + PROCEDURE _struct_access + *!* http://msdn.microsoft.com/library/default.asp?url=/library/en-us/shellcc/platform/commctls/tab/structures/tcitem.asp + + *!* typedef struct tagTCITEM { + *!* UINT mask; 4 + *!* #if (_WIN32_IE >= 0x0300) + *!* DWORD dwState; 4 + *!* DWORD dwStateMask; 4 + *!* #else + *!* UINT lpReserved1; + *!* UINT lpReserved2; + *!* #endif + *!* LPTSTR pszText; 4 + *!* int cchTextMax; 4 + *!* int iImage; 4 + *!* LPARAM lParam; 4 + *!* } TCITEM, *LPTCITEM; + + If This._lpszText <> 0 Then + This.ctlFreeMemory(This._lpszText) + This._lpszText = 0 + Endif + + If Vartype(This._lpszTextString) <> T_CHARACTER Then + This._lpszTextString = [] + Endif + + This._lpszTextString = Alltrim(This._lpszTextString) + + If Len(This._lpszTextString) = 0 Then + This._lpszText = 0 + Else + If Right(This._lpszTextString, 1) <> Chr(0) Then + This._lpszTextString = This._lpszTextString + Chr(0) + Endif + This._lpszText = This.ctlWriteMemory(This._lpszTextString) + Endif + + This._cchTextMax = Len(This._lpszTextString) + + With This + ._Struct = ; + .ctlIntToStr(._mask) + ; + .ctlIntToStr(._dwState) + ; + .ctlIntToStr(._dwStateMask) + ; + .ctlIntToStr(._lpszText) + ; + .ctlIntToStr(._cchTextMax) + ; + .ctlIntToStr(._iImage) + ; + .ctlIntToStr(._lParam) + Endwith + + Return This._Struct + + ENDPROC + +ENDDEFINE + +DEFINE CLASS _toolinfo AS _base OF "ctl32_structs.vcx" + *< CLASSDATA: Baseclass="custom" Timestamp="" Scale="Pixels" Uniqueid="" /> + + #INCLUDE "ctl32.h" + * + *p: uid + *p: _bottom + *p: _cbsize + *p: _hbitmap + *p: _hinst + *p: _hwnd + *p: _left + *p: _lparam + *p: _lpreserved + *p: _lpsztext + *p: _lpsztextstring + *p: _rect + *p: _right + *p: _top + *p: _uflags + *p: _uid + * + + * + Name = "_toolinfo" + uid = + _bottom = 0 + _cbsize = 0 + _hbitmap = 0 + _hinst = 0 + _hwnd = 0 + _left = 0 + _lparam = 0 + _lpreserved = 0 + _lpsztext = 0 + _lpsztextstring = + _rect = 0 + _right = 0 + _structlen = 0 + _top = 0 + _uflags = 0 + _uid = 0 + * + + PROCEDURE Destroy + If This._lpszText <> 0 Then + This.ctlFreeMemory(This._lpszText) + Endif + + ENDPROC + + PROCEDURE Init + *!* http://windowssdk.msdn.microsoft.com/en-us/library/ms650460.aspx + + *!* typedef struct tagTOOLINFO{ + *!* UINT cbSize; 4 + *!* UINT uFlags; 4 + *!* HWND hwnd; 4 + *!* UINT_PTR uId; 4 + *!* LONG left; 4 + *!* LONG top; 4 + *!* LONG right; 4 + *!* LONG bottom; 4 + *!* HINSTANCE hinst; 4 + *!* LPTSTR lpszText; 4 + *!* #if (_WIN32_IE >= 0x0300) + *!* LPARAM lParam; 4 + *!* #endif + *!* #if (_WIN32_WINNT >= 0x0501) + *!* void *lpReserved; 4 + *!* #endif + *!* #if (_WIN32_WINNT >= 0x0600) + *!* HBITMAP hbmp; 4 + *!* #endif + *!* } TOOLINFO, NEAR *PTOOLINFO, *LPTOOLINFO; + + DoDefault() + + This._cbSize = 44 + + If This.ctlOS() >= CON_OS_WINXP Then + This._cbSize = 48 + Endif + + *!* Vista 5600 does not work + *If Val(Os(3)) * 100 + Val(Os(4)) >= 600 Then + * This._cbSize = 52 + *Endif + + ENDPROC + + PROCEDURE _struct_access + *!* http://windowssdk.msdn.microsoft.com/en-us/library/ms650460.aspx + + *!* typedef struct tagTOOLINFO{ + *!* UINT cbSize; 4 + *!* UINT uFlags; 4 + *!* HWND hwnd; 4 + *!* UINT_PTR uId; 4 + *!* LONG left; 4 + *!* LONG top; 4 + *!* LONG right; 4 + *!* LONG bottom; 4 + *!* HINSTANCE hinst; 4 + *!* LPTSTR lpszText; 4 + *!* #if (_WIN32_IE >= 0x0300) + *!* LPARAM lParam; 4 + *!* #endif + *!* #if (_WIN32_WINNT >= 0x0501) + *!* void *lpReserved; 4 + *!* #endif + *!* #if (_WIN32_WINNT >= 0x0600) + *!* HBITMAP hbmp; 4 + *!* #endif + *!* } TOOLINFO, NEAR *PTOOLINFO, *LPTOOLINFO; + + + + If This._lpszText <> 0 Then + This.ctlFreeMemory(This._lpszText) + This._lpszText = 0 + Endif + + If Vartype(This._lpszTextString) <> T_CHARACTER Then + This._lpszTextString = [] + Endif + + This._lpszTextString = Alltrim(This._lpszTextString) + + If Len(This._lpszTextString) = 0 Then + This._lpszText = 0 + Else + If Right(This._lpszTextString, 1) <> Chr(0) Then + This._lpszTextString = This._lpszTextString + Chr(0) + Endif + This._lpszText = This.ctlWriteMemory(This._lpszTextString) + Endif + + *This._lpszText = This.ctlWriteMemory(This._lpszTextString) + + With This + ._Struct = ; + .ctlIntToStr(._cbSize) + ; + .ctlIntToStr(._uFlags) + ; + .ctlIntToStr(._hwnd) + ; + .ctlIntToStr(._uId) + ; + .ctlIntToStr(._left) + ; + .ctlIntToStr(._top) + ; + .ctlIntToStr(._right) + ; + .ctlIntToStr(._bottom) + ; + .ctlIntToStr(._hinst) + ; + .ctlIntToStr(._lpszText) + ; + .ctlIntToStr(._lParam) + + If This.ctlOS() >= CON_OS_WINXP Then + ._Struct = ._Struct + .ctlIntToStr(._lpReserved) + Endif + + *!* Vista 5600 does not work + * If Val(Os(3)) * 100 + Val(Os(4)) >= 600 Then + * ._Struct = ._Struct + .ctlIntToStr(._hBitmap) + * Endif + + Endwith + + Return This._Struct + + ENDPROC + + PROCEDURE _struct_assign + *!* http://windowssdk.msdn.microsoft.com/en-us/library/ms650460.aspx + + *!* typedef struct tagTOOLINFO{ + *!* UINT cbSize; 4 + *!* UINT uFlags; 4 + *!* HWND hwnd; 4 + *!* UINT_PTR uId; 4 + *!* LONG left; 4 + *!* LONG top; 4 + *!* LONG right; 4 + *!* LONG bottom; 4 + *!* HINSTANCE hinst; 4 + *!* LPTSTR lpszText; 4 + *!* #if (_WIN32_IE >= 0x0300) + *!* LPARAM lParam; 4 + *!* #endif + *!* #if (_WIN32_WINNT >= 0x0501) + *!* void *lpReserved; 4 + *!* #endif + *!* #if (_WIN32_WINNT >= 0x0600) + *!* HBITMAP hbmp; 4 + *!* #endif + *!* } TOOLINFO, NEAR *PTOOLINFO, *LPTOOLINFO; + + Lparameters vNewVal + + This._struct = m.vNewVal + + With This + ._cbSize = .ctlStrToInt(Substr(m.vNewVal, 1, 4)) + ._uFlags = .ctlStrToInt(Substr(m.vNewVal, 5, 4)) + ._hwnd = .ctlStrToInt(Substr(m.vNewVal, 9, 4)) + ._uId = .ctlStrToInt(Substr(m.vNewVal, 13, 4)) + ._left = .ctlStrToInt(Substr(m.vNewVal, 17, 4)) + ._top = .ctlStrToInt(Substr(m.vNewVal, 21, 4)) + ._right = .ctlStrToInt(Substr(m.vNewVal, 25, 4)) + ._bottom = .ctlStrToInt(Substr(m.vNewVal, 29, 4)) + ._hinst = .ctlStrToInt(Substr(m.vNewVal, 33, 4)) + ._lpszText = .ctlStrToInt(Substr(m.vNewVal, 37, 4)) + ._lParam = .ctlStrToInt(Substr(m.vNewVal, 41, 4)) + + If This.ctlOS() >= CON_OS_WINXP Then + ._lpReserved = .ctlStrToInt(Substr(m.vNewVal, 45, 4)) + Endif + + *!* Vista 5600 does not work + * If Val(Os(3)) * 100 + Val(Os(4)) >= 600 Then + * ._hBitmap = .ctlStrToInt(Substr(m.vNewVal, 49, 4)) + * Endif + + Endwith + + ENDPROC + +ENDDEFINE diff --git a/utile/ctl32/ctl32_structures.prg b/utile/ctl32/ctl32_structures.prg new file mode 100644 index 0000000..e31193b --- /dev/null +++ b/utile/ctl32/ctl32_structures.prg @@ -0,0 +1,3278 @@ +******************************************************************************** +*!* ctl32_structures.prg +******************************************************************************** +*!* This classes are based on the work of Christian Eischeld with vfp2c32 +*!* vfp2c32.fll must be loaded with SET LIBRARY +******************************************************************************** +#Include ctl32.h + +If Not Sys(16) $ Upper(Set("Procedure")) Then + Set Procedure To Sys(16) Additive +Endif + +Return + +******************************************************************************** +*!* This is the base class for all structure classes below +******************************************************************************** +Define Class _STRUCTBASE As Exception + + Address = 0 + InitMembersDone = FALSE + Protected Embedded + Embedded = FALSE + Name = "STRUCTBASE" + SizeOf = 0 + Value = FALSE + + Protected _MemberData + _MemberData = '' + ; + '' + ; + '' + ; + '' + ; + '' + ; + '' + ; + '' + ; + '' + + Protected Procedure Init(pnAddress) + If Vartype(m.pnAddress) # "N" Then + This.Address = AllocMem(This.SizeOf) + If This.Address = 0 + Error(43) + Return FALSE + Endif + Else + This.Address = m.pnAddress + This.Embedded = TRUE + Endif + This.InitMembers() + This.InitMembersDone = TRUE + Endproc + + Protected Procedure Destroy() + This.FreeMembers() + If This.Embedded = FALSE Then + FreeMem(This.Address) + Endif + Endproc + + Procedure InitMembers() + *!* Here we set up initial values, like size of structure member + *!* And also create aditional substructures + Endproc + + Procedure FreeMembers() + *!* Here we free aditional substructures + Endproc + + Hidden Procedure Value_Access() + *!* This returns the whole structure + Return Sys(2600, This.Address, This.SizeOf) + Endproc + + Hidden Procedure Value_Assign(pnNewVal) + *!* This assigns a string to the structure as a whole + Sys(2600, This.Address, This.SizeOf, m.pnNewVal) + Endproc + + *!* Protected Procedure AllocMem(pnLength) + *!* *!* Allocates memory + *!* Return apiHeapAlloc(apiGetProcessHeap(), HEAP_ZERO_MEMORY, m.pnLength) + *!* Endproc + + *!* Protected Procedure FreeMem(pnAddress) + *!* *!* Frees allocated memory + *!* Return apiHeapFree(apiGetProcessHeap(), 0, m.pnAddress) + *!* Endproc + + *!* Protected Procedure ReadCharArray(pnAddress, pnLength) + *!* *!* Reads a string array of m.pnLength, stops at first nul char + *!* Local m.lcString As String + *!* m.lcString = Sys(2600, m.pnAddress, m.pnLength) + *!* Return Left(m.lcString , At(NULCHAR, m.lcString) - 1) + *!* Endproc + + *!* Protected Procedure WriteCharArray(pnAddress, pcCharArray, pnLength) + *!* *!* Writes a string array of m.pnLength + *!* =Sys(2600, m.pnAddress, Min(Len(m.pcCharArray), m.pnLength) , m.pcCharArray) + *!* Return m.pnAddress + *!* Endproc + + *!* Protected Procedure FreePMem(pnAddress) + *!* This.FreeMem(This.ReadUInt(m.pnAddress)) + *!* Endproc + + *!* Protected Procedure ReadPCString(pnAddress) + *!* *!* pnAddress is a pointer to a memory pointer + *!* Local m.lnAddress, m.lnLength, m.lcString + *!* *!* Get address pointer + *!* m.lnAddress = This.ReadUInt(m.pnAddress) + *!* If m.lnAddress <> 0 Then + *!* *!* Get length of memory pointer: + *!* m.lnLength = apiHeapSize(apiGetProcessHeap(), 0, m.lnAddress) + *!* Else + *!* m.lnLength = 0 + *!* Endif + *!* *!* Read value of string pointer, then reads string + *!* If m.lnLength > 0 Then + *!* m.lcString = Sys(2600, m.lnAddress, m.lnLength) + *!* m.lcString = Left(m.lcString , At(NULCHAR, m.lcString) - 1) + *!* Else + *!* m.lcString = "" + *!* Endif + *!* ?"m.lcString", m.lcString + *!* Return m.lcString + *!* Endproc + + + Protected Procedure ReadPCString(pnAddress, pnLen) + *!* pnAddress is a pointer to a memory pointer + Local m.lnAddress, m.lnLength, m.lcString + *!* Get address pointer + m.lnAddress = ReadUInt(m.pnAddress) + If m.lnAddress <> 0 Then + m.lcString = Sys(2600, m.lnAddress, m.pnLen) + Else + m.lcString = "" + Endif + Return m.lcString + Endproc + + *!* Protected Procedure WritePCString(pnAddress, pcString) + *!* Local m.lnAdress As Integer + *!* *!* Release memory + *!* This.FreePMem(m.pnAddress) + *!* *!* Get a new handle for the string: + *!* m.lnAddress = This.AllocMem(Len(m.pcString)) + *!* *!* Save string to handle + *!* =Sys(2600, m.lnAddress, Len(m.pcString), m.pcString) + *!* *!* Save value of handle in memory pointer + *!* This.WriteUInt(m.pnAddress, m.lnAddress) + *!* Endproc + + *!* Protected Procedure ReadUInt(pnAddress) + *!* *!* Reads an unsigned integer (4 bytes) + *!* Local m.lnUInt As Integer + *!* m.lnUInt = CToBin(Sys(2600, m.pnAddress, 4), "4rs") + *!* If m.lnUInt < 0 Then + *!* m.lnUInt = m.lnUInt + 0x100000000 + *!* Endif + *!* Return m.lnUInt + *!* Endproc + + *!* Protected Procedure WriteUInt(pnAddress, pnUInt) + *!* *!* Writes an unsigned integer (4 bytes) + *!* =Sys(2600, m.pnAddress, 4, BinToC(m.pnUInt, "4rs")) + *!* Endproc + + *!* Protected Procedure ReadUShort(pnAddress) + *!* Local m.lnShort As Short + *!* m.lnShort = CToBin(Sys(2600, m.pnAddress, 2), "2rs") + *!* If m.lnShort < 0 Then + *!* m.lnShort = m.lnShort + 0x10000 + *!* Endif + *!* Return m.lnShort + *!* Endproc + + *!* Protected Procedure WriteUShort(pnAddress, pnShort) + *!* *!* Writes an unsigned short (2 bytes) + *!* =Sys(2600, m.pnAddress, 2, BinToC(m.pnShort, "2rs")) + *!* Endproc + + *!* Protected Procedure ReadPointer(pnAddress) + *!* *!* Reads an integer (4 bytes) + *!* Return CToBin(Sys(2600, m.pnAddress, 4), "4rs") + *!* Endproc + + *!* Protected Procedure WritePointer(pnAddress, pnInt) + *!* *!* Writes an integer (4 bytes) + *!* =Sys(2600, m.pnAddress, 4, BinToC(m.pnInt, "4rs")) + *!* Endproc + + *!* Protected Procedure ReadInt(pnAddress) + *!* *!* Reads an integer (4 bytes) + *!* Return CToBin(Sys(2600, m.pnAddress, 4), "4rs") + *!* Endproc + + *!* Protected Procedure WriteInt(pnAddress, pnInt) + *!* *!* Writes an integer (4 bytes) + *!* =Sys(2600, m.pnAddress, 4, BinToC(m.pnInt, "4rs")) + *!* Endproc + + Protected Procedure ReadByte(pnAddress) + *!* Reads an integer (1 bytes) + Return CToBin(Sys(2600, m.pnAddress, 1), "1rs") + Endproc + + Protected Procedure WriteByte(pnAddress, pnInt) + *!* Writes an integer (1 bytes) + =Sys(2600, m.pnAddress, 1, BinToC(m.pnInt, "1rs")) + Endproc + + *!* Protected Procedure ReadPointer(pnAddress) + *!* *!* Reads an integer (4 bytes) + *!* Return This.ReadUInt(m.pnAddress) + *!* Endproc + + *!* Protected Procedure WritePointer(pnAddress, pnInt) + *!* *!* Writes an integer (4 bytes) + *!* Return This.WriteUInt(m.pnAddress, m.pnInt) + *!* Endproc + +Enddefine + +******************************************************************************** +*!* typedef struct tagBITMAPFILEHEADER { +*!* WORD bfType; +*!* DWORD bfSize; +*!* WORD bfReserved1; +*!* WORD bfReserved2; +*!* DWORD bfOffBits; +*!* } BITMAPFILEHEADER, *PBITMAPFILEHEADER; +******************************************************************************** +Define Class _BITMAPFILEHEADER As _STRUCTBASE + + SizeOf = 14 + Name = "BITMAPFILEHEADER" + && structure fields + bfType = FALSE + bfSize = FALSE + bfReserved1 = FALSE + bfReserved2 = FALSE + bfOffBits = FALSE + + _MemberData = '' + ; + '' + ; + '' + ; + '' + ; + '' + ; + '' + ; + '' + + Procedure bfType_Access() + Return ReadUShort(This.Address) + Endproc + + Procedure bfType_Assign(pnNewVal) + WriteUShort(This.Address, m.pnNewVal) + Endproc + + Procedure bfSize_Access() + Return ReadUInt(This.Address + 2) + Endproc + + Procedure bfSize_Assign(pnNewVal) + WriteUInt(This.Address + 2, m.pnNewVal) + Endproc + + Procedure bfReserved1_Access() + Return ReadUShort(This.Address + 6) + Endproc + + Procedure bfReserved1_Assign(pnNewVal) + WriteUShort(This.Address + 6, m.pnNewVal) + Endproc + + Procedure bfReserved2_Access() + Return ReadUShort(This.Address + 8) + Endproc + + Procedure bfReserved2_Assign(pnNewVal) + WriteUShort(This.Address + 8, m.pnNewVal) + Endproc + + Procedure bfOffBits_Access() + Return ReadUInt(This.Address + 10) + Endproc + + Procedure bfOffBits_Assign(pnNewVal) + WriteUInt(This.Address+10, m.pnNewVal) + Endproc + +Enddefine + +******************************************************************************** +*!* typedef struct tagBITMAPINFOHEADER{ +*!* DWORD biSize; +*!* LONG biWidth; +*!* LONG biHeight; +*!* WORD biPlanes; +*!* WORD biBitCount; +*!* DWORD biCompression; +*!* DWORD biSizeImage; +*!* LONG biXPelsPerMeter; +*!* LONG biYPelsPerMeter; +*!* DWORD biClrUsed; +*!* DWORD biClrImportant; +*!* } BITMAPINFOHEADER, *PBITMAPINFOHEADER; +******************************************************************************** +Define Class _BITMAPINFOHEADER As _STRUCTBASE + + SizeOf = 40 + Name = "BITMAPINFOHEADER" + && structure fields + biSize = FALSE + biWidth = FALSE + biHeight = FALSE + biPlanes = FALSE + biBitCount = FALSE + biCompression = FALSE + biSizeImage = FALSE + biXPelsPerMeter = FALSE + biYPelsPerMeter = FALSE + biClrUsed = FALSE + biClrImportant = FALSE + + _MemberData = '' + ; + '' + ; + '' + ; + '' + ; + '' + ; + '' + ; + '' + ; + '' + ; + '' + ; + '' + ; + '' + ; + '' + ; + '' + + Procedure biSize_Access() + Return ReadUInt(This.Address) + Endproc + + Procedure biSize_Assign(pnNewVal) + WriteUInt(This.Address, m.pnNewVal) + Endproc + + Procedure biWidth_Access() + Return ReadInt(This.Address + 4) + Endproc + + Procedure biWidth_Assign(pnNewVal) + WriteInt(This.Address + 4, m.pnNewVal) + Endproc + + Procedure biHeight_Access() + Return ReadInt(This.Address + 8) + Endproc + + Procedure biHeight_Assign(pnNewVal) + WriteInt(This.Address + 8, m.pnNewVal) + Endproc + + Procedure biPlanes_Access() + Return ReadUShort(This.Address + 12) + Endproc + + Procedure biPlanes_Assign(pnNewVal) + WriteUShort(This.Address + 12, m.pnNewVal) + Endproc + + Procedure biBitCount_Access() + Return ReadUShort(This.Address + 14) + Endproc + + Procedure biBitCount_Assign(pnNewVal) + WriteUShort(This.Address + 14, m.pnNewVal) + Endproc + + Procedure biCompression_Access() + Return ReadUInt(This.Address + 16) + Endproc + + Procedure biCompression_Assign(pnNewVal) + WriteUInt(This.Address + 16, m.pnNewVal) + Endproc + + Procedure biSizeImage_Access() + Return ReadUInt(This.Address + 20) + Endproc + + Procedure biSizeImage_Assign(pnNewVal) + WriteUInt(This.Address + 20, m.pnNewVal) + Endproc + + Procedure biXPelsPerMeter_Access() + Return ReadInt(This.Address + 24) + Endproc + + Procedure biXPelsPerMeter_Assign(pnNewVal) + WriteInt(This.Address + 24, m.pnNewVal) + Endproc + + Procedure biYPelsPerMeter_Access() + Return ReadInt(This.Address + 28) + Endproc + + Procedure biYPelsPerMeter_Assign(pnNewVal) + WriteInt(This.Address + 28, m.pnNewVal) + Endproc + + Procedure biClrUsed_Access() + Return ReadUInt(This.Address + 32) + Endproc + + Procedure biClrUsed_Assign(pnNewVal) + WriteUInt(This.Address + 32, m.pnNewVal) + Endproc + + Procedure biClrImportant_Access() + Return ReadUInt(This.Address + 36) + Endproc + + Procedure biClrImportant_Assign(pnNewVal) + WriteUInt(This.Address + 36, m.pnNewVal) + Endproc + +Enddefine + +******************************************************************************** +*!* typedef struct _browseinfo { +*!* HWND hwndOwner; +*!* UINT pidlRoot; +*!* LPTSTR pszDisplayName; +*!* LPCTSTR lpszTitle; +*!* UINT ulFlags; +*!* UINT lpfn; +*!* LPARAM lParam; +*!* int iImage; +*!* } BROWSEINFO, *PBROWSEINFO, *LPBROWSEINFO; +******************************************************************************** +Define Class _BROWSEINFO As _STRUCTBASE + + Address = 0 + SizeOf = 32 + Name = "BROWSEINFO" + && structure fields + hwndOwner = .F. + pidlRoot = .F. + pszDisplayName = .F. + lpszTitle = .F. + ulFlags = .F. + lpfn = .F. + Lparam = .F. + iImage = .F. + + _MemberData = '' + ; + '' + ; + '' + ; + '' + ; + '' + ; + '' + ; + '' + ; + '' + ; + '' + ; + '' + + Procedure FreeMembers() + FreePMem(This.Address + 8) + FreePMem(This.Address + 12) + Endproc + + Procedure hwndOwner_Access() + Return ReadInt(This.Address) + Endproc + + Procedure hwndOwner_Assign(lnNewVal) + WriteInt(This.Address, m.lnNewVal) + Endproc + + Procedure pidlRoot_Access() + Return ReadUInt(This.Address + 4) + Endproc + + Procedure pidlRoot_Assign(lnNewVal) + WriteUInt(This.Address + 4, m.lnNewVal) + Endproc + + Procedure pszDisplayName_Access() + Return ReadPCString(This.Address + 8) + Endproc + + Procedure pszDisplayName_Assign(lnNewVal) + WritePCString(This.Address + 8, m.lnNewVal) + Endproc + + Procedure lpszTitle_Access() + Return ReadPCString(This.Address + 12) + Endproc + + Procedure lpszTitle_Assign(lnNewVal) + WritePCString(This.Address + 12, m.lnNewVal) + Endproc + + Procedure ulFlags_Access() + Return ReadUInt(This.Address + 16) + Endproc + + Procedure ulFlags_Assign(lnNewVal) + WriteUInt(This.Address + 16, m.lnNewVal) + Endproc + + Procedure lpfn_Access() + Return ReadUInt(This.Address + 20) + Endproc + + Procedure lpfn_Assign(lnNewVal) + WriteUInt(This.Address + 20, m.lnNewVal) + Endproc + + Procedure lParam_Access() + Return ReadInt(This.Address + 24) + Endproc + + Procedure lParam_Assign(lnNewVal) + WriteInt(This.Address + 24, m.lnNewVal) + Endproc + + Procedure iImage_Access() + Return ReadInt(This.Address + 28) + Endproc + + Procedure iImage_Assign(lnNewVal) + WriteInt(This.Address + 28, m.lnNewVal) + Endproc + +Enddefine + +******************************************************************************** +*!* typedef struct _DOC_INFO_1 { +*!* LPTSTR pDocName; +*!* LPTSTR pOutputFile; +*!* LPTSTR pDatatype; +*!* } DOC_INFO_1; +******************************************************************************** +Define Class _DOC_INFO_1 As _STRUCTBASE + + Address = 0 + SizeOf = 12 + Name = "DOC_INFO_1" + && structure fields + pDocName = FALSE + pOutputFile = FALSE + pDatatype = FALSE + + _MemberData = '' + ; + '' + ; + '' + ; + '' + ; + '' + + Procedure FreeMembers() + FreePMem(This.Address) + FreePMem(This.Address + 4) + FreePMem(This.Address + 8) + Endproc + + Procedure pDocName_Access() + Return ReadPCString(This.Address) + Endproc + + Procedure pDocName_Assign(pnNewVal) + WritePCString(This.Address, m.pnNewVal) + Endproc + + Procedure pOutputFile_Access() + Return ReadPCString(This.Address + 4) + Endproc + + Procedure pOutputFile_Assign(pnNewVal) + WritePCString(This.Address + 4, m.pnNewVal) + Endproc + + Procedure pDatatype_Access() + Return ReadPCString(This.Address + 8) + Endproc + + Procedure pDatatype_Assign(pnNewVal) + WritePCString(This.Address + 8, m.pnNewVal) + Endproc + +Enddefine + +******************************************************************************** +*!* typedef struct tagDRAWITEMSTRUCT { +*!* UINT CtlType; +*!* UINT CtlID; +*!* UINT itemID; +*!* UINT itemAction; +*!* UINT itemState; +*!* HWND hwndItem; +*!* HDC hDC; +*!* RECT rcItem; +*!* ULONG_PTR itemData; +*!* } DRAWITEMSTRUCT; +******************************************************************************** +Define Class _DRAWITEMSTRUCT As _STRUCTBASE + + SizeOf = 48 + Name = "DRAWITEMSTRUCT" + && structure fields + CtlType = FALSE + CtlID = FALSE + ItemID = FALSE + itemAction = FALSE + itemState = FALSE + hwndItem = FALSE + hDC = FALSE + rcItem = .Null. + ItemData = FALSE + + _MemberData = '' + ; + '' + ; + '' + ; + '' + ; + '' + ; + '' + ; + '' + ; + '' + ; + '' + ; + '' + ; + '' + + Procedure InitMembers() + This.rcItem = Createobject("_RECT",This.Address + 28) + Endproc + + Procedure FreeMembers() + This.rcItem = .Null. + Endproc + + Procedure Address_Assign(lnAddress) + This.Address = m.lnAddress + If This.InitMembersDone = TRUE Then + This.rcItem.Address = m.lnAddress + 28 + Endif + Endproc + + Procedure CtlType_Access() + Return ReadUInt(This.Address) + Endproc + + Procedure CtlType_Assign(pnNewVal) + WriteUInt(This.Address, m.pnNewVal) + Endproc + + Procedure CtlID_Access() + Return ReadUInt(This.Address + 4) + Endproc + + Procedure CtlID_Assign(pnNewVal) + WriteUInt(This.Address + 4, m.pnNewVal) + Endproc + + Procedure itemID_Access() + Return ReadUInt(This.Address + 8) + Endproc + + Procedure itemID_Assign(pnNewVal) + WriteUInt(This.Address + 8, m.pnNewVal) + Endproc + + Procedure itemAction_Access() + Return ReadUInt(This.Address + 12) + Endproc + + Procedure itemAction_Assign(pnNewVal) + WriteUInt(This.Address + 12, m.pnNewVal) + Endproc + + Procedure itemState_Access() + Return ReadUInt(This.Address + 16) + Endproc + + Procedure itemState_Assign(pnNewVal) + WriteUInt(This.Address + 16, m.pnNewVal) + Endproc + + Procedure hwndItem_Access() + Return ReadUInt(This.Address + 20) + Endproc + + Procedure hwndItem_Assign(pnNewVal) + WriteUInt(This.Address + 20, m.pnNewVal) + Endproc + + Procedure hDC_Access() + Return ReadPointer(This.Address + 24) + Endproc + + Procedure hDC_Assign(pnNewVal) + WritePointer(This.Address + 24, m.pnNewVal) + Endproc + + Procedure itemData_Access() + Return ReadUInt(This.Address + 44) + Endproc + + Procedure itemData_Assign(pnNewVal) + WriteUInt(This.Address + 44, m.pnNewVal) + Endproc + +Enddefine + +******************************************************************************** +*!* typedef struct _FILETIME { +*!* DWORD dwLowDateTime; +*!* DWORD dwHighDateTime; +*!* } FILETIME, +*!* *PFILETIME; +******************************************************************************** +Define Class _FILETIME As _STRUCTBASE + + SizeOf = 8 + Name = "FILETIME" + && structure fields + dwLowDateTime = FALSE + dwHighDateTime = FALSE + + _MemberData = '' + ; + '' + ; + '' + ; + '' + + Procedure dwLowDateTime_Access() + Return ReadUInt(This.Address) + Endproc + + Procedure dwLowDateTime_Assign(pnNewVal) + WriteUInt(This.Address, m.pnNewVal) + Endproc + + Procedure dwHighDateTime_Access() + Return ReadUInt(This.Address + 4) + Endproc + + Procedure dwHighDateTime_Assign(pnNewVal) + WriteUInt(This.Address + 4, m.pnNewVal) + Endproc + +Enddefine + +******************************************************************************** +*!* typedef struct +*!* { +*!* BYTE bWidth; // Width, in pixels, of the image +*!* BYTE bHeight; // Height, in pixels, of the image +*!* BYTE bColorCount; // Number of colors in image (0 if >=8bpp) +*!* BYTE bReserved; // Reserved ( must be 0) +*!* WORD wPlanes; // Color Planes +*!* WORD wBitCount; // Bits per pixel +*!* DWORD dwBytesInRes; // How many bytes in this resource? +*!* DWORD dwImageOffset; // Where in the file is this image? +*!* } ICONDIRENTRY, *LPICONDIRENTRY; +******************************************************************************** +Define Class _ICONDIRENTRY As _STRUCTBASE + + SizeOf = 16 + Name = "ICONDIRENTRY" + && structure fields + bWidth = FALSE + bHeight = FALSE + bColorCount = FALSE + bReserved = FALSE + wPlanes = FALSE + wBitCount = FALSE + dwBytesInRes = FALSE + dwImageOffset = FALSE + + _MemberData = '' + ; + '' + ; + '' + ; + '' + ; + '' + ; + '' + ; + '' + ; + '' + ; + '' + ; + '' + + Procedure bWidth_Access() + Local m.lnWidth + m.lnWidth = This.ReadByte(This.Address) + If m.lnWidth < 0 Then + m.lnWidth = m.lnWidth + 0x100 + Endif + If m.lnWidth = 0 Then + m.lnWidth = 256 + Endif + Return m.lnWidth + Endproc + + Procedure bWidth_Assign(pnNewVal) + If m.pnNewVal = 256 Then + m.pnNewVal = 0 + Endif + If m.pnNewVal < 0 Then + m.pnNewVal = m.pnNewVal + 0x100 + Endif + This.WriteByte(This.Address, m.pnNewVal) + Endproc + + Procedure bHeight_Access() + Local m.lnHeight + m.lnHeight = This.ReadByte(This.Address + 1) + If m.lnHeight < 0 Then + m.lnHeight = m.lnHeight + 0x100 + Endif + If m.lnHeight = 0 Then + m.lnHeight = 256 + Endif + Return m.lnHeight + Endproc + + Procedure bHeight_Assign(pnNewVal) + If m.pnNewVal = 256 Then + m.pnNewVal = 0 + Endif + If m.pnNewVal < 0 Then + m.pnNewVal = m.pnNewVal + 0x100 + Endif + This.WriteByte(This.Address + 1, m.pnNewVal) + Endproc + + Procedure bColorCount_Access() + Return This.ReadByte(This.Address + 2) + Endproc + + Procedure bColorCount_Assign(pnNewVal) + This.WriteByte(This.Address + 2, m.pnNewVal) + Endproc + + Procedure bReserved_Access() + Return This.ReadByte(This.Address + 3) + Endproc + + Procedure bReserved_Assign(pnNewVal) + This.WriteByte(This.Address + 3, m.pnNewVal) + Endproc + + Procedure wPlanes_Access() + Return ReadUShort(This.Address + 4) + Endproc + + Procedure wPlanes_Assign(pnNewVal) + WriteUShort(This.Address + 4, m.pnNewVal) + Endproc + + Procedure wBitCount_Access() + Return ReadUShort(This.Address + 6) + Endproc + + Procedure wBitCount_Assign(pnNewVal) + WriteUShort(This.Address + 6, m.pnNewVal) + Endproc + + Procedure dwBytesInRes_Access() + Return ReadUInt(This.Address + 8) + Endproc + + Procedure dwBytesInRes_Assign(pnNewVal) + WriteUInt(This.Address + 8, m.pnNewVal) + Endproc + + Procedure dwImageOffset_Access() + Return ReadUInt(This.Address + 12) + Endproc + + Procedure dwImageOffset_Assign(pnNewVal) + WriteUInt(This.Address + 12, m.pnNewVal) + Endproc + +Enddefine + +******************************************************************************** +*!* typedef struct tagLOGFONT { +*!* LONG lfHeight; +*!* LONG lfWidth; +*!* LONG lfEscapement; +*!* LONG lfOrientation; +*!* LONG lfWeight; +*!* BYTE lfItalic; +*!* BYTE lfUnderline; +*!* BYTE lfStrikeOut; +*!* BYTE lfCharSet; +*!* BYTE lfOutPrecision; +*!* BYTE lfClipPrecision; +*!* BYTE lfQuality; +*!* BYTE lfPitchAndFamily; +*!* TCHAR lfFaceName[LF_FACESIZE]; +*!* } LOGFONT, *PLOGFONT; +******************************************************************************** +Define Class _LOGFONT As _STRUCTBASE + SizeOf = 60 + Name = "LOGFONT" + && structure fields + lfHeight = FALSE + lfWidth = FALSE + lfEscapement = FALSE + lfOrientation = FALSE + lfWeight = FALSE + lfItalic = FALSE + lfUnderline = FALSE + lfStrikeOut = FALSE + lfCharSet = FALSE + lfOutPrecision = FALSE + lfClipPrecision = FALSE + lfQuality = FALSE + lfPitchAndFamily = FALSE + lfFaceName = FALSE + && extra properties + FontBold = FALSE + FontCharSet = 1 + FontItalic = FALSE + FontName = "" + FontSize = 0 + FontStrikethru = FALSE + FontUnderline = FALSE + + _MemberData = '' + ; + '' + ; + '' + ; + '' + ; + '' + ; + '' + ; + '' + ; + '' + ; + '' + ; + '' + ; + '' + ; + '' + ; + '' + ; + '' + ; + '' + ; + '' + ; + '' + ; + '' + ; + '' + ; + '' + ; + '' + ; + '' + ; + '' + + Procedure FontBold_Access() + Return Iif(This.lfWeight >= FW_BOLD, TRUE, FALSE) + Endproc + + Procedure FontBold_Assign(vNewVal) + If Vartype(m.vNewVal) = T_NUMERIC Then + If m.vNewVal < FW_BOLD Then + m.vNewVal = FALSE + Else + m.vNewVal = TRUE + Endif + Endif + If m.vNewVal = TRUE Then + This.lfWeight = FW_BOLD + Else + This.lfWeight = FW_NORMAL + Endif + Endproc + + Procedure FontCharset_Access() + Return This.lfCharSet + Endproc + + Procedure FontCharset_Assign(vNewVal) + This.lfCharSet = m.vNewVal + Endproc + + Procedure FontItalic_Access() + Return Iif(This.lfItalic <> 0, TRUE, FALSE) + Endproc + + Procedure FontItalic_Assign(vNewVal) + If Vartype(m.vNewVal) = T_NUMERIC Then + If m.vNewVal = 0 Then + m.vNewVal = FALSE + Else + m.vNewVal = TRUE + Endif + Endif + If m.vNewVal = TRUE Then + This.lfItalic = 1 + Else + This.lfItalic = 0 + Endif + Endproc + + Procedure FontName_Access() + Return This.lfFaceName + Endproc + + Procedure FontName_Assign(vNewVal) + If Right(m.vNewVal, 1) <> NULCHAR Then + m.vNewVal = m.vNewVal + NULCHAR + Endif + This.lfFaceName = m.vNewVal + Endproc + + Procedure FontSize_Access() + Return ctlFontHeightToPoints(This.lfHeight) + Endproc + + Procedure FontSize_Assign(vNewVal) + This.lfHeight = ctlFontPointsToHeight(m.vNewVal) + Endproc + + Procedure FontStrikethru_Access() + Return Iif(This.lfStrikeOut <> 0, TRUE, FALSE) + Endproc + + Procedure FontStrikethru_Assign(vNewVal) + If Vartype(m.vNewVal) = T_NUMERIC Then + If m.vNewVal = 0 Then + m.vNewVal = FALSE + Else + m.vNewVal = TRUE + Endif + Endif + If m.vNewVal = TRUE Then + This.lfStrikeOut = 1 + Else + This.lfStrikeOut = 0 + Endif + Endproc + + Procedure FontUnderline_Access() + Return Iif(This.lfUnderline <> 0, TRUE, FALSE) + Endproc + + Procedure FontUnderline_Assign(vNewVal) + If Vartype(m.vNewVal) = T_NUMERIC Then + If m.vNewVal = 0 Then + m.vNewVal = FALSE + Else + m.vNewVal = TRUE + Endif + Endif + If m.vNewVal = TRUE Then + This.lfUnderline = 1 + Else + This.lfUnderline = 0 + Endif + Endproc + + Procedure lfHeight_Access() + Return ReadInt(This.Address) + Endproc + + Procedure lfHeight_Assign(pnNewVal) + WriteInt(This.Address, m.pnNewVal) + Endproc + + Procedure lfWidth_Access() + Return ReadInt(This.Address + 4) + Endproc + + Procedure lfWidth_Assign(pnNewVal) + WriteInt(This.Address + 4, m.pnNewVal) + Endproc + + Procedure lfEscapement_Access() + Return ReadInt(This.Address + 8) + Endproc + + Procedure lfEscapement_Assign(pnNewVal) + WriteInt(This.Address + 8, m.pnNewVal) + Endproc + + Procedure lfOrientation_Access() + Return ReadInt(This.Address + 12) + Endproc + + Procedure lfOrientation_Assign(pnNewVal) + WriteInt(This.Address + 12, m.pnNewVal) + Endproc + + Procedure lfWeight_Access() + Return ReadInt(This.Address + 16) + Endproc + + Procedure lfWeight_Assign(pnNewVal) + WriteInt(This.Address + 16, m.pnNewVal) + Endproc + + Procedure lfItalic_Access() + Return This.ReadByte(This.Address + 20) + Endproc + + Procedure lfItalic_Assign(pnNewVal) + This.WriteByte(This.Address + 20, m.pnNewVal) + Endproc + + Procedure lfUnderline_Access() + Return This.ReadByte(This.Address + 21) + Endproc + + Procedure lfUnderline_Assign(pnNewVal) + This.WriteByte(This.Address + 21, m.pnNewVal) + Endproc + + Procedure lfStrikeOut_Access() + Return This.ReadByte(This.Address + 22) + Endproc + + Procedure lfStrikeOut_Assign(pnNewVal) + This.WriteByte(This.Address + 22, m.pnNewVal) + Endproc + + Procedure lfCharSet_Access() + Return This.ReadByte(This.Address + 23) + Endproc + + Procedure lfCharSet_Assign(pnNewVal) + This.WriteByte(This.Address + 23, m.pnNewVal) + Endproc + + Procedure lfOutPrecision_Access() + Return This.ReadByte(This.Address + 24) + Endproc + + Procedure lfOutPrecision_Assign(pnNewVal) + This.WriteByte(This.Address + 24, m.pnNewVal) + Endproc + + Procedure lfClipPrecision_Access() + Return This.ReadByte(This.Address + 25) + Endproc + + Procedure lfClipPrecision_Assign(pnNewVal) + This.WriteByte(This.Address + 25, m.pnNewVal) + Endproc + + Procedure lfQuality_Access() + Return This.ReadByte(This.Address + 26) + Endproc + + Procedure lfQuality_Assign(pnNewVal) + This.WriteByte(This.Address + 26, m.pnNewVal) + Endproc + + Procedure lfPitchAndFamily_Access() + Return This.ReadByte(This.Address + 27) + Endproc + + Procedure lfPitchAndFamily_Assign(pnNewVal) + This.WriteByte(This.Address + 27, m.pnNewVal) + Endproc + + Procedure lfFaceName_Access() + Return ReadCharArray(This.Address + 28, 32) + Endproc + + Procedure lfFaceName_Assign(pnNewVal) + WriteCharArray(This.Address + 28, m.pnNewVal, 32) + Endproc + +Enddefine + +******************************************************************************** +*!* typedef struct { +*!* UINT cbSize; +*!* POINT pt; + +*!* UINT uHit; // out param +*!* SYSTEMTIME st; +*!* #if (NTDDI_VERSION >= NTDDI_LONGHORN) +*!* RECT rc; +*!* int iOffset; +*!* int iRow; +*!* int iCol; +*!* #endif +*!* } MCHITTESTINFO, *PMCHITTESTINFO; +******************************************************************************** +Define Class _MCHITTESTINFO As _STRUCTBASE + + SizeOf = 32 + Name = "MCHITTESTINFO" + && structure fields + cbSize = FALSE + pt = .Null. + uHit = FALSE + st = .Null. + + _MemberData = '' + ; + '' + ; + '' + ; + '' + ; + '' + ; + '' + + Procedure InitMembers() + This.cbSize = This.SizeOf + This.pt = Createobject("_POINT", This.Address + 4) + This.st = Createobject("_SYSTEMTIME", This.Address + 16) + Endproc + + Procedure FreeMembers() + This.pt = .Null. + This.st = .Null. + Endproc + + Procedure Address_Assign(lnAddress) + This.Address = m.lnAddress + If This.InitMembersDone = TRUE Then + This.pt.Address = m.lnAddress + 4 + This.st.Address = m.lnAddress + 16 + Endif + Endproc + + Procedure cbSize_Access() + Return ReadUInt(This.Address) + Endproc + + Procedure cbSize_Assign(pnNewVal) + WriteUInt(This.Address, m.pnNewVal) + Endproc + + Procedure uHit_Access() + Return ReadUInt(This.Address + 12) + Endproc + + Procedure uHit_Assign(pnNewVal) + WriteUInt(This.Address + 12, m.pnNewVal) + Endproc + +Enddefine + +******************************************************************************** +*!* typedef struct tagMEASUREITEMSTRUCT { +*!* UINT CtlType; +*!* UINT CtlID; +*!* UINT itemID; +*!* UINT itemWidth; +*!* UINT itemHeight; +*!* DWORD itemData +*!* } MEASUREITEMSTRUCT; +******************************************************************************** +Define Class _MEASUREITEMSTRUCT As _STRUCTBASE + + SizeOf = 24 + Name = "MEASUREITEMSTRUCT" + && structure fields + CtlType = FALSE + CtlID = FALSE + ItemID = FALSE + itemWidth = FALSE + itemHeight = FALSE + ItemData = FALSE + + _MemberData = '' + ; + '' + ; + '' + ; + '' + ; + '' + ; + '' + ; + '' + ; + '' + + Procedure CtlType_Access() + Return ReadUInt(This.Address) + Endproc + + Procedure CtlType_Assign(pnNewVal) + WriteUInt(This.Address, m.pnNewVal) + Endproc + + Procedure CtlID_Access() + Return ReadUInt(This.Address + 4) + Endproc + + Procedure CtlID_Assign(pnNewVal) + WriteUInt(This.Address + 4, m.pnNewVal) + Endproc + + Procedure itemID_Access() + Return ReadUInt(This.Address + 8) + Endproc + + Procedure itemID_Assign(pnNewVal) + WriteUInt(This.Address + 8, m.pnNewVal) + Endproc + + Procedure itemWidth_Access() + Return ReadUInt(This.Address + 12) + Endproc + + Procedure itemWidth_Assign(pnNewVal) + WriteUInt(This.Address + 12, m.pnNewVal) + Endproc + + Procedure itemHeight_Access() + Return ReadUInt(This.Address + 16) + Endproc + + Procedure itemHeight_Assign(pnNewVal) + WriteUInt(This.Address + 16, m.pnNewVal) + Endproc + + Procedure itemData_Access() + Return ReadUInt(This.Address + 20) + Endproc + + Procedure itemData_Assign(pnNewVal) + WriteUInt(This.Address + 20, m.pnNewVal) + Endproc + +Enddefine + +******************************************************************************** +*!* typedef struct tagMENUINFO { +*!* DWORD cbSize; +*!* DWORD fMask; +*!* DWORD dwStyle; +*!* UINT cyMax; +*!* HBRUSH hbrBack; +*!* DWORD dwContextHelpID; +*!* ULONG_PTR dwMenuData; +*!* } MENUINFO, FAR *LPMENUINFO; +*!* typedef MENUINFO CONST FAR *LPCMENUINFO; +******************************************************************************** +Define Class _MENUINFO As _STRUCTBASE + + SizeOf = 28 + Name = "MENUINFO" + *!* structure fields + cbSize = FALSE + fMask = FALSE + dwStyle = FALSE + cyMax = FALSE + hbrBack = FALSE + dwContextHelpID = FALSE + dwMenuData = FALSE + + _MemberData = '' + ; + '' + ; + '' + ; + '' + ; + '' + ; + '' + ; + '' + ; + '' + ; + '' + + Procedure InitMembers() + *!* Important! init cbSize to size of structure + This.cbSize = This.SizeOf + Endproc + + Procedure cbSize_Access() + Return ReadUInt(This.Address) + Endproc + + Procedure cbSize_Assign(pnNewVal) + WriteUInt(This.Address, m.pnNewVal) + Endproc + + Procedure fMask_Access() + Return ReadUInt(This.Address + 4) + Endproc + + Procedure fMask_Assign(pnNewVal) + WriteUInt(This.Address + 4, m.pnNewVal) + Endproc + + Procedure dwStyle_Access() + Return ReadUInt(This.Address + 8) + Endproc + + Procedure dwStyle_Assign(pnNewVal) + WriteUInt(This.Address + 8, m.pnNewVal) + Endproc + + Procedure cyMax_Access() + Return ReadUInt(This.Address + 12) + Endproc + + Procedure cyMax_Assign(pnNewVal) + WriteUInt(This.Address + 12, m.pnNewVal) + Endproc + + Procedure hbrBack_Access() + Return ReadPointer(This.Address + 16) + Endproc + + Procedure hbrBack_Assign(pnNewVal) + WritePointer(This.Address + 16, m.pnNewVal) + Endproc + + Procedure dwContextHelpID_Access() + Return ReadUInt(This.Address + 20) + Endproc + + Procedure dwContextHelpID_Assign(pnNewVal) + WriteUInt(This.Address + 20, m.pnNewVal) + Endproc + + Procedure dwMenuData_Access() + Return ReadUInt(This.Address + 24) + Endproc + + Procedure dwMenuData_Assign(pnNewVal) + WriteUInt(This.Address + 24, m.pnNewVal) + Endproc + +Enddefine + +******************************************************************************** +*!* typedef struct tagMENUITEMINFO { +*!* UINT cbSize; +*!* UINT fMask; +*!* UINT fType; +*!* UINT fState; +*!* UINT wID; +*!* HMENU hSubMenu; +*!* HBITMAP hbmpChecked; +*!* HBITMAP hbmpUnchecked; +*!* ULONG_PTR dwItemData; +*!* LPTSTR dwTypeData; +*!* UINT cch; +*!* HBITMAP hbmpItem; +*!* } MENUITEMINFO, *LPMENUITEMINFO; +******************************************************************************** +Define Class _MENUITEMINFO As _STRUCTBASE + + SizeOf = 48 + Name = "MENUITEMINFO" + *!* structure fields + cbSize = FALSE + fMask = FALSE + fType = FALSE + fState = FALSE + wID = FALSE + hSubMenu = FALSE + hbmpChecked = FALSE + hbmpUnchecked = FALSE + dwItemData = FALSE + dwTypeData = FALSE + cch = FALSE + hbmpItem = FALSE + + Protected _MemberData + _MemberData = '' + ; + '' + ; + '' + ; + '' + ; + '' + ; + '' + ; + '' + ; + '' + ; + '' + ; + '' + ; + '' + ; + '' + ; + '' + ; + '' + + Procedure InitMembers() + *!* Important! init cbSize to size of structure + This.cbSize = This.SizeOf + Endproc + + Procedure FreeMembers() + FreePMem(This.Address + 36) + Endproc + + Hidden Procedure cbSize_Access() + Return ReadUInt(This.Address) + Endproc + + Hidden Procedure cbSize_Assign(pnNewVal) + WriteUInt(This.Address, m.pnNewVal) + Endproc + + Hidden Procedure fMask_Access() + Return ReadUInt(This.Address + 4) + Endproc + + Hidden Procedure fMask_Assign(pnNewVal) + WriteUInt(This.Address + 4, m.pnNewVal) + Endproc + + Hidden Procedure fType_Access() + Return ReadUInt(This.Address + 8) + Endproc + + Hidden Procedure fType_Assign(pnNewVal) + WriteUInt(This.Address + 8, m.pnNewVal) + Endproc + + Hidden Procedure fState_Access() + Return ReadUInt(This.Address + 12) + Endproc + + Hidden Procedure fState_Assign(pnNewVal) + WriteUInt(This.Address + 12, m.pnNewVal) + Endproc + + Hidden Procedure wID_Access() + Return ReadUInt(This.Address + 16) + Endproc + + Hidden Procedure wID_Assign(pnNewVal) + WriteUInt(This.Address + 16, m.pnNewVal) + Endproc + + Hidden Procedure hSubMenu_Access() + Return ReadUInt(This.Address + 20) + Endproc + + Hidden Procedure hSubMenu_Assign(pnNewVal) + WriteUInt(This.Address + 20, m.pnNewVal) + Endproc + + Hidden Procedure hbmpChecked_Access() + Return ReadUInt(This.Address + 24) + Endproc + + Hidden Procedure hbmpChecked_Assign(pnNewVal) + WriteUInt(This.Address + 24, m.pnNewVal) + Endproc + + Hidden Procedure hbmpUnchecked_Access() + Return ReadUInt(This.Address + 28) + Endproc + + Hidden Procedure hbmpUnchecked_Assign(pnNewVal) + WriteUInt(This.Address + 28, m.pnNewVal) + Endproc + + Hidden Procedure dwItemData_Access() + Return ReadUInt(This.Address + 32) + Endproc + + Hidden Procedure dwItemData_Assign(pnNewVal) + WriteUInt(This.Address + 32, m.pnNewVal) + Endproc + + Hidden Procedure dwTypeData_Access() + Return ReadPCString(This.Address + 36) + Endproc + + Hidden Procedure dwTypeData_Assign(pnNewVal) + WritePCString(This.Address + 36, m.pnNewVal) + Endproc + + Hidden Procedure cch_Access() + Return ReadUInt(This.Address + 40) + Endproc + + Hidden Procedure cch_Assign(pnNewVal) + WriteUInt(This.Address + 40, m.pnNewVal) + Endproc + + Hidden Procedure hbmpItem_Access() + Return ReadUInt(This.Address + 44) + Endproc + + Hidden Procedure hbmpItem_Assign(pnNewVal) + WriteUInt(This.Address + 44, m.pnNewVal) + Endproc + +Enddefine + +******************************************************************************** +*!* typedef struct tagMONITORINFOEX { +*!* DWORD cbSize; +*!* RECT rcMonitor; +*!* RECT rcWork; +*!* DWORD dwFlags; +*!* TCHAR szDevice[CCHDEVICENAME]; +*!* } MONITORINFOEX, *LPMONITORINFOEX; +******************************************************************************** +Define Class _MONITORINFOEX As _STRUCTBASE + + SizeOf = 72 + Name = "MONITORINFOEX" + && structure fields + cbSize = FALSE + rcMonitor = .Null. + rcWork = .Null. + dwFlags = FALSE + szDevice = FALSE + + Protected _MemberData + _MemberData = '' + ; + '' + ; + '' + ; + '' + ; + '' + ; + '' + ; + '' + + Procedure InitMembers + This.cbSize = This.SizeOf + This.rcMonitor = Createobject("_RECT", This.Address + 4) + This.rcWork = Createobject("_RECT", This.Address + 20) + Endproc + + Procedure FreeMembers() + This.rcMonitor = .Null. + This.rcWork = .Null. + Endproc + + Procedure Address_Assign(lnAddress) + This.Address = m.lnAddress + If This.InitMembersDone = TRUE Then + This.rcMonitor.Address = m.lnAddress + 4 + This.rcWork.Address = m.lnAddress + 20 + Endif + Endproc + + Procedure cbSize_Access() + Return ReadUInt(This.Address) + Endproc + + Procedure cbSize_Assign(pnNewVal) + WriteUInt(This.Address, m.pnNewVal) + Endproc + + Procedure dwFlags_Access() + Return ReadUInt(This.Address + 36) + Endproc + + Procedure dwFlags_Assign(pnNewVal) + WriteUInt(This.Address + 36, m.pnNewVal) + Endproc + + Procedure szDevice_Access() + Return ReadCharArray(This.Address + 40, 32) + Endproc + + Procedure szDevice_Assign(pnNewVal) + WriteCharArray(This.Address + 40, m.pnNewVal, 32) + Endproc + +Enddefine + +******************************************************************************** +*!* typedef struct tagNMCUSTOMDRAWINFO { +*!* NMHDR hdr; +*!* DWORD dwDrawStage; +*!* HDC hdc; +*!* RECT rc; +*!* DWORD_PTR dwItemSpec; +*!* UINT uItemState; +*!* LPARAM lItemlParam; +*!* } NMCUSTOMDRAW, *LPNMCUSTOMDRAW; +******************************************************************************** +Define Class _NMCUSTOMDRAW As _STRUCTBASE + + SizeOf = 48 + Name = "NMCUSTOMDRAW" + && structure fields + hdr = .Null. + dwDrawStage = FALSE + hDC = FALSE + rc = .Null. + dwItemSpec = FALSE + uItemState = FALSE + lItemlParam = FALSE + + _MemberData = '' + ; + '' + ; + '' + ; + '' + ; + '' + ; + '' + ; + '' + ; + '' + ; + '' + + Procedure InitMembers() + This.hdr = Createobject("_NMHDR", This.Address) + This.rc = Createobject("_RECT", This.Address + 20) + Endproc + + Procedure FreeMembers() + This.hdr = .Null. + This.rc = .Null. + Endproc + + Procedure Address_Assign(lnAddress) + This.Address = m.lnAddress + If This.InitMembersDone = TRUE Then + This.hdr.Address = m.lnAddress + This.rc.Address = m.lnAddress + 20 + Endif + Endproc + + Procedure dwDrawStage_Access() + Return ReadUInt(This.Address + 12) + Endproc + + Procedure dwDrawStage_Assign(pnNewVal) + WriteUInt(This.Address + 12, m.pnNewVal) + Endproc + + Procedure hDC_Access() + Return ReadPointer(This.Address + 16) + Endproc + + Procedure hDC_Assign(pnNewVal) + WritePointer(This.Address + 16, m.pnNewVal) + Endproc + + Procedure dwItemSpec_Access() + Return ReadUInt(This.Address + 36) + Endproc + + Procedure dwItemSpec_Assign(pnNewVal) + WriteUInt(This.Address + 36, m.pnNewVal) + Endproc + + Procedure uItemState_Access() + Return ReadUInt(This.Address + 40) + Endproc + + Procedure uItemState_Assign(pnNewVal) + WriteUInt(This.Address + 40, m.pnNewVal) + Endproc + + Procedure lItemlParam_Access() + Return ReadInt(This.Address + 44) + Endproc + + Procedure lItemlParam_Assign(pnNewVal) + WriteInt(This.Address + 44, m.pnNewVal) + Endproc + +Enddefine + +******************************************************************************** +*!* typedef struct _RECT { +*!* LONG Left; +*!* LONG Top; +*!* LONG Right; +*!* LONG Bottom; +*!* } RECT, *PRECT; +******************************************************************************** +Define Class _RECT As _STRUCTBASE + + SizeOf = 16 + Name = "RECT" + *!* structure fields + Left = FALSE + Top = FALSE + Right = FALSE + Bottom = FALSE + && Extra properties + Height = FALSE + Width = FALSE + + Protected _MemberData + _MemberData = '' + ; + '' + ; + '' + ; + '' + ; + '' + ; + '' + ; + '' + ; + '' + + Hidden Procedure Left_Access() + Return ReadInt(This.Address) + Endproc + + Hidden Procedure Left_Assign(pnNewVal) + WriteInt(This.Address, m.pnNewVal) + Endproc + + Hidden Procedure Top_Access() + Return ReadInt(This.Address + 4) + Endproc + + Hidden Procedure Top_Assign(pnNewVal) + WriteInt(This.Address + 4, m.pnNewVal) + Endproc + + Hidden Procedure Right_Access() + Return ReadInt(This.Address + 8) + Endproc + + Hidden Procedure Right_Assign(pnNewVal) + WriteInt(This.Address + 8, m.pnNewVal) + Endproc + + Hidden Procedure Bottom_Access() + Return ReadInt(This.Address + 12) + Endproc + + Hidden Procedure Bottom_Assign(pnNewVal) + WriteInt(This.Address + 12, m.pnNewVal) + Endproc + + Hidden Procedure Height_Access() + Return This.Bottom - This.Top + Endproc + + Hidden Procedure Height_Assign(pnNewVal) + This.Height = m.pnNewVal + This.Bottom = This.Top + m.pnNewVal + Endproc + + Hidden Procedure Width_Access() + Return This.Right - This.Left + Endproc + + Hidden Procedure Width_Assign(pnNewVal) + This.Width = m.pnNewVal + This.Right = This.Left + m.pnNewVal + Endproc + +Enddefine + +******************************************************************************** +*!* typedef struct tagPOINT { +*!* LONG x; +*!* LONG y; +*!* } POINT, *PPOINT; +******************************************************************************** +Define Class _POINT As _STRUCTBASE + + SizeOf = 8 + Name = "POINT" + && structure fields + x = FALSE + Y = FALSE + + Protected _MemberData + _MemberData = '' + ; + '' + ; + '' + ; + '' + + Procedure x_Access() + Return ReadInt(This.Address) + Endproc + + Procedure x_Assign(pnNewVal) + WriteInt(This.Address, m.pnNewVal) + Endproc + + Procedure y_Access() + Return ReadInt(This.Address + 4) + Endproc + + Procedure y_Assign(pnNewVal) + WriteInt(This.Address + 4, m.pnNewVal) + Endproc + +Enddefine + +******************************************************************************** +*!* typedef struct _WINDOWPLACEMENT { +*!* UINT length; +*!* UINT flags; +*!* UINT showCmd; +*!* POINT ptMinPosition; +*!* POINT ptMaxPosition; +*!* RECT rcNormalPosition; +*!* } WINDOWPLACEMENT; +******************************************************************************** +Define Class _WINDOWPLACEMENT As _STRUCTBASE + + SizeOf = 44 + Name = "WINDOWPLACEMENT" + && structure fields + Length = FALSE + Flags = FALSE + ShowCmd = FALSE + ptMinPosition = .Null. + ptMaxPosition = .Null. + rcNormalPosition = .Null. + + Protected _MemberData + _MemberData = '' + ; + '' + ; + '' + ; + '' + ; + '' + ; + '' + ; + '' + ; + '' + + Procedure InitMembers() + This.Length = This.SizeOf + This.ptMinPosition = Createobject("_POINT", This.Address + 12) + This.ptMaxPosition = Createobject("_POINT", This.Address + 20) + This.rcNormalPosition = Createobject("_RECT", This.Address + 28) + Endproc + + Procedure FreeMembers() + This.ptMinPosition = .Null. + This.ptMaxPosition = .Null. + This.rcNormalPosition = .Null. + Endproc + + Procedure Address_Assign(lnAddress) + This.Address = m.lnAddress + If This.InitMembersDone = TRUE Then + This.ptMinPosition.Address = m.lnAddress + 12 + This.ptMaxPosition.Address = m.lnAddress + 20 + This.rcNormalPosition.Address = m.lnAddress + 28 + Endif + Endproc + + Procedure length_Access() + Return ReadUInt(This.Address) + Endproc + + Procedure length_Assign(pnNewVal) + WriteUInt(This.Address, m.pnNewVal) + Endproc + + Procedure flags_Access() + Return ReadUInt(This.Address + 4) + Endproc + + Procedure flags_Assign(pnNewVal) + WriteUInt(This.Address + 4, m.pnNewVal) + Endproc + + Procedure showCmd_Access() + Return ReadUInt(This.Address + 8) + Endproc + + Procedure showCmd_Assign(pnNewVal) + WriteUInt(This.Address + 8, m.pnNewVal) + Endproc + +Enddefine + +******************************************************************************** +*!* typedef struct tagSCROLLINFO { +*!* UINT cbSize; +*!* UINT fMask; +*!* int nMin; +*!* int nMax; +*!* UINT nPage; +*!* int nPos; +*!* int nTrackPos; +*!* } SCROLLINFO, *LPSCROLLINFO; +*!* typedef SCROLLINFO CONST *LPCSCROLLINFO; +******************************************************************************** +Define Class _SCROLLINFO As _STRUCTBASE + + SizeOf = 28 + Name = "SCROLLINFO" + && structure fields + cbSize = FALSE + fMask = FALSE + nMin = FALSE + nMax = FALSE + nPage = FALSE + nPos = FALSE + nTrackPos = FALSE + + _MemberData = '' + ; + '' + ; + '' + ; + '' + ; + '' + ; + '' + ; + '' + ; + '' + ; + '' + + Procedure InitMembers() + *!* Important! init cbSize to size of structure + This.cbSize = This.SizeOf + Endproc + + Procedure cbSize_Access() + Return ReadUInt(This.Address) + Endproc + + Procedure cbSize_Assign(pnNewVal) + WriteUInt(This.Address, m.pnNewVal) + Endproc + + Procedure fMask_Access() + Return ReadUInt(This.Address + 4) + Endproc + + Procedure fMask_Assign(pnNewVal) + WriteUInt(This.Address + 4, m.pnNewVal) + Endproc + + Procedure nMin_Access() + Return ReadInt(This.Address + 8) + Endproc + + Procedure nMin_Assign(pnNewVal) + WriteInt(This.Address + 8, m.pnNewVal) + Endproc + + Procedure nMax_Access() + Return ReadInt(This.Address + 12) + Endproc + + Procedure nMax_Assign(pnNewVal) + WriteInt(This.Address + 12, m.pnNewVal) + Endproc + + Procedure nPage_Access() + Return ReadUInt(This.Address + 16) + Endproc + + Procedure nPage_Assign(pnNewVal) + WriteUInt(This.Address + 16, m.pnNewVal) + Endproc + + Procedure nPos_Access() + Return ReadInt(This.Address + 20) + Endproc + + Procedure nPos_Assign(pnNewVal) + WriteInt(This.Address + 20, m.pnNewVal) + Endproc + + Procedure nTrackPos_Access() + Return ReadInt(This.Address + 24) + Endproc + + Procedure nTrackPos_Assign(pnNewVal) + WriteInt(This.Address + 24, m.pnNewVal) + Endproc + +Enddefine + +******************************************************************************** +*!* typedef struct tagNMHDR { +*!* HWND hwndFrom; +*!* UINT_PTR idFrom; +*!* UINT code; +*!* } NMHDR; +******************************************************************************** +Define Class _NMHDR As _STRUCTBASE + + SizeOf = 12 + Name = "NMHDR" + && structure fields + hwndFrom = FALSE + idFrom = FALSE + Code = FALSE + + _MemberData = '' + ; + '' + ; + '' + ; + '' + ; + '' + + Procedure hwndFrom_Access() + Return ReadInt(This.Address) + Endproc + + Procedure hwndFrom_Assign(pnNewVal) + WriteInt(This.Address, m.pnNewVal) + Endproc + + Procedure idFrom_Access() + Return ReadUInt(This.Address + 4) + Endproc + + Procedure idFrom_Assign(pnNewVal) + WriteUInt(This.Address + 4, m.pnNewVal) + Endproc + + Procedure Code_Access() + *!* Code is a UINT but it should be an INT + Return ReadInt(This.Address + 8) + Endproc + + Procedure Code_Assign(pnNewVal) + WriteInt(This.Address + 8, m.pnNewVal) + Endproc + +Enddefine + +******************************************************************************** +*!* typedef struct tagNMMOUSE { +*!* NMHDR hdr; +*!* DWORD_PTR dwItemSpec; +*!* DWORD_PTR dwItemData; +*!* POINT pt; +*!* LPARAM dwHitInfo; +*!* } NMMOUSE, *LPNMMOUSE; +******************************************************************************** +Define Class _NMMOUSE As _STRUCTBASE + + SizeOf = 32 + Name = "NMMOUSE" + && structure fields + hdr = .Null. + dwItemSpec = FALSE + dwItemData = FALSE + pt = .Null. + dwHitInfo = FALSE + + _MemberData = '' + ; + '' + ; + '' + ; + '' + ; + '' + ; + '' + ; + '' + + Procedure InitMembers + This.hdr = Createobject("_NMHDR",This.Address + 0) + This.pt = Createobject("_POINT",This.Address + 20) + Endproc + + Procedure FreeMembers() + This.hdr = .Null. + This.pt = .Null. + Endproc + + Procedure Address_Assign(lnAddress) + This.Address = m.lnAddress + If This.InitMembersDone = TRUE Then + This.hdr.Address = m.lnAddress + 0 + This.pt.Address = m.lnAddress + 20 + Endif + Endproc + + Procedure dwItemSpec_Access() + Return ReadUInt(This.Address + 12) + Endproc + + Procedure dwItemSpec_Assign(pnNewVal) + WriteUInt(This.Address + 12, m.pnNewVal) + Endproc + + Procedure dwItemData_Access() + Return ReadUInt(This.Address + 16) + Endproc + + Procedure dwItemData_Assign(pnNewVal) + WriteUInt(This.Address + 16, m.pnNewVal) + Endproc + + Procedure dwHitInfo_Access() + Return ReadInt(This.Address + 28) + Endproc + + Procedure dwHitInfo_Assign(pnNewVal) + WriteInt(This.Address + 28, m.pnNewVal) + Endproc + +Enddefine + +******************************************************************************** +*!* typedef struct { +*!* DWORD dwStructSize; +*!* LPTSTR lpszScheme; +*!* DWORD dwSchemeLength; +*!* INTERNET_SCHEME nScheme; +*!* LPTSTR lpszHostName; +*!* DWORD dwHostNameLength; +*!* INTERNET_PORT nPort; +*!* LPTSTR lpszUserName; +*!* DWORD dwUserNameLength; +*!* LPTSTR lpszPassword; +*!* DWORD dwPasswordLength; +*!* LPTSTR lpszUrlPath; +*!* DWORD dwUrlPathLength; +*!* LPTSTR lpszExtraInfo; +*!* DWORD dwExtraInfoLength; +*!* } URL_COMPONENTS, +*!* *LPURL_COMPONENTS; +******************************************************************************** +Define Class _URL_COMPONENTS As _STRUCTBASE + + SizeOf = 60 + Name = "URL_COMPONENTS" + && structure fields + dwStructSize = FALSE + lpszScheme = FALSE + dwSchemeLength = FALSE + nScheme = FALSE + lpszHostName = FALSE + dwHostNameLength = FALSE + nPort = FALSE + lpszUserName = FALSE + dwUserNameLength = FALSE + lpszPassword = FALSE + dwPasswordLength = FALSE + lpszUrlPath = FALSE + dwUrlPathLength = FALSE + lpszExtraInfo = FALSE + dwExtraInfoLength = FALSE + + _MemberData = '' + ; + '' + ; + '' + ; + '' + ; + '' + ; + '' + ; + '' + ; + '' + ; + '' + ; + '' + ; + '' + ; + '' + ; + '' + ; + '' + ; + '' + ; + '' + ; + '' + + Procedure InitMembers() + This.dwStructSize = 60 + Endproc + + Procedure FreeMembers() + FreePMem(This.Address + 4) + FreePMem(This.Address + 16) + FreePMem(This.Address + 28) + FreePMem(This.Address + 36) + FreePMem(This.Address + 44) + FreePMem(This.Address + 52) + Endproc + + Procedure dwStructSize_Access() + Return ReadUInt(This.Address) + Endproc + + Procedure dwStructSize_Assign(pnNewVal) + WriteUInt(This.Address, m.pnNewVal) + Endproc + + Procedure lpszScheme_Access() + Return ReadPCString(This.Address + 4) + Endproc + + Procedure lpszScheme_Assign(pnNewVal) + WritePCString(This.Address + 4, m.pnNewVal) + This.dwSchemeLength = Len(pnNewVal) + Endproc + + Procedure dwSchemeLength_Access() + Return ReadUInt(This.Address + 8) + Endproc + + Procedure dwSchemeLength_Assign(pnNewVal) + WriteUInt(This.Address + 8, m.pnNewVal) + Endproc + + Procedure nScheme_Access() + Return ReadUInt(This.Address + 12) + Endproc + + Procedure nScheme_Assign(pnNewVal) + WriteUInt(This.Address + 12, m.pnNewVal) + Endproc + + Procedure lpszHostName_Access() + Return ReadPCString(This.Address + 16) + Endproc + + Procedure lpszHostName_Assign(pnNewVal) + WritePCString(This.Address + 16, m.pnNewVal) + This.dwHostNameLength = Len(pnNewVal) + Endproc + + Procedure dwHostNameLength_Access() + Return ReadUInt(This.Address + 20) + Endproc + + Procedure dwHostNameLength_Assign(pnNewVal) + WriteUInt(This.Address + 20, m.pnNewVal) + Endproc + + Procedure nPort_Access() + Return ReadUInt(This.Address + 24) + Endproc + + Procedure nPort_Assign(pnNewVal) + WriteUInt(This.Address + 24, m.pnNewVal) + Endproc + + Procedure lpszUserName_Access() + Return ReadPCString(This.Address + 28) + Endproc + + Procedure lpszUserName_Assign(pnNewVal) + WritePCString(This.Address + 28, m.pnNewVal) + This.dwUserNameLength = Len(pnNewVal) + Endproc + + Procedure dwUserNameLength_Access() + Return ReadUInt(This.Address + 32) + Endproc + + Procedure dwUserNameLength_Assign(pnNewVal) + WriteUInt(This.Address + 32, m.pnNewVal) + Endproc + + Procedure lpszPassword_Access() + Return ReadPCString(This.Address + 36) + Endproc + + Procedure lpszPassword_Assign(pnNewVal) + WritePCString(This.Address + 36, m.pnNewVal) + This.dwPasswordLength = Len(pnNewVal) + Endproc + + Procedure dwPasswordLength_Access() + Return ReadUInt(This.Address + 40) + Endproc + + Procedure dwPasswordLength_Assign(pnNewVal) + WriteUInt(This.Address + 40, m.pnNewVal) + Endproc + + Procedure lpszUrlPath_Access() + Return ReadPCString(This.Address + 44) + Endproc + + Procedure lpszUrlPath_Assign(pnNewVal) + WritePCString(This.Address + 44, m.pnNewVal) + This.dwUrlPathLength = Len(pnNewVal) + Endproc + + Procedure dwUrlPathLength_Access() + Return ReadUInt(This.Address + 48) + Endproc + + Procedure dwUrlPathLength_Assign(pnNewVal) + WriteUInt(This.Address + 48, m.pnNewVal) + Endproc + + Procedure lpszExtraInfo_Access() + Return ReadPCString(This.Address + 52) + Endproc + + Procedure lpszExtraInfo_Assign(pnNewVal) + WritePCString(This.Address + 52, m.pnNewVal) + This.dwExtraInfoLength = Len(pnNewVal) + Endproc + + Procedure dwExtraInfoLength_Access() + Return ReadUInt(This.Address + 56) + Endproc + + Procedure dwExtraInfoLength_Assign(pnNewVal) + WriteUInt(This.Address + 56, m.pnNewVal) + Endproc + +Enddefine + +******************************************************************************** +*!* typedef struct _WIN32_FIND_DATA { +*!* DWORD dwFileAttributes; +*!* FILETIME ftCreationTime; +*!* FILETIME ftLastAccessTime; +*!* FILETIME ftLastWriteTime; +*!* DWORD nFileSizeHigh; +*!* DWORD nFileSizeLow; +*!* DWORD dwReserved0; +*!* DWORD dwReserved1; +*!* TCHAR cFileName[MAX_PATH]; +*!* TCHAR cAlternateFileName[14]; +*!* } WIN32_FIND_DATA, +*!* *PWIN32_FIND_DATA, +*!* *LPWIN32_FIND_DATA; +******************************************************************************** +Define Class _WIN32_FIND_DATA As _STRUCTBASE + + SizeOf = 320 + Name = "WIN32_FIND_DATA" + && structure fields + dwFileAttributes = FALSE + ftCreationTime = .Null. + ftLastAccessTime = .Null. + ftLastWriteTime = .Null. + nFileSizeHigh = FALSE + nFileSizeLow = FALSE + dwReserved0 = FALSE + dwReserved1 = FALSE + cFileName = FALSE + cAlternateFileName = FALSE + + _MemberData = '' + ; + '' + ; + '' + ; + '' + ; + '' + ; + '' + ; + '' + ; + '' + ; + '' + ; + '' + ; + '' + ; + '' + + Procedure InitMembers() + This.ftCreationTime = Createobject("_FILETIME", This.Address + 4) + This.ftLastAccessTime = Createobject("_FILETIME", This.Address + 12) + This.ftLastWriteTime = Createobject("_FILETIME", This.Address + 20) + Endproc + + Procedure FreeMembers() + This.ftCreationTime = .Null. + This.ftLastAccessTime = .Null. + This.ftLastWriteTime = .Null. + Endproc + + Procedure Address_Assign(lnAddress) + This.Address = m.lnAddress + If This.InitMembersDone = TRUE Then + This.ftCreationTime.Address = m.lnAddress + 4 + This.ftLastAccessTime.Address = m.lnAddress + 12 + This.ftLastWriteTime.Address = m.lnAddress + 20 + Endif + Endproc + + Procedure dwFileAttributes_Access() + Return ReadUInt(This.Address) + Endproc + + Procedure dwFileAttributes_Assign(pnNewVal) + WriteUInt(This.Address, m.pnNewVal) + Endproc + + Procedure nFileSizeHigh_Access() + Return ReadUInt(This.Address + 28) + Endproc + + Procedure nFileSizeHigh_Assign(pnNewVal) + WriteUInt(This.Address + 28, m.pnNewVal) + Endproc + + Procedure nFileSizeLow_Access() + Return ReadUInt(This.Address + 32) + Endproc + + Procedure nFileSizeLow_Assign(pnNewVal) + WriteUInt(This.Address + 32, m.pnNewVal) + Endproc + + Procedure dwReserved0_Access() + Return ReadUInt(This.Address + 36) + Endproc + + Procedure dwReserved0_Assign(pnNewVal) + WriteUInt(This.Address + 36, m.pnNewVal) + Endproc + + Procedure dwReserved1_Access() + Return ReadUInt(This.Address + 40) + Endproc + + Procedure dwReserved1_Assign(pnNewVal) + WriteUInt(This.Address + 40, m.pnNewVal) + Endproc + + Procedure cFileName_Access() + Return ReadCharArray(This.Address + 44, MAX_PATH) + Endproc + + Procedure cFileName_Assign(pnNewVal) + WriteCharArray(This.Address + 44, Padr(m.pnNewVal, MAX_PATH, NULCHAR), MAX_PATH) + Endproc + + Procedure cAlternateFileName_Access() + Return ReadCharArray(This.Address + 44 + MAX_PATH, 14) + Endproc + + Procedure cAlternateFileName_Assign(pnNewVal) + WriteCharArray(This.Address + 44 + MAX_PATH, Padr(m.pnNewVal, 14, NULCHAR), 14) + Endproc + +Enddefine + +******************************************************************************** +*!* typedef struct _SYSTEMTIME { +*!* WORD wYear; +*!* WORD wMonth; +*!* WORD wDayOfWeek; +*!* WORD wDay; +*!* WORD wHour; +*!* WORD wMinute; +*!* WORD wSecond; +*!* WORD wMilliseconds; +*!* } SYSTEMTIME, *PSYSTEMTIME; +******************************************************************************** +Define Class _SYSTEMTIME As _STRUCTBASE + + SizeOf = 16 + Name = "SYSTEMTIME" + && structure fields + wYear = FALSE + wMonth = FALSE + wDayOfWeek = FALSE + wDay = FALSE + wHour = FALSE + wMinute = FALSE + wSecond = FALSE + wMilliseconds = FALSE + + _MemberData = '' + ; + '' + ; + '' + ; + '' + ; + '' + ; + '' + ; + '' + ; + '' + ; + '' + ; + '' + + Procedure wYear_Access() + Return ReadUShort(This.Address) + Endproc + + Procedure wYear_Assign(pnNewVal) + WriteUShort(This.Address, m.pnNewVal) + Endproc + + Procedure wMonth_Access() + Return ReadUShort(This.Address + 2) + Endproc + + Procedure wMonth_Assign(pnNewVal) + WriteUShort(This.Address + 2, m.pnNewVal) + Endproc + + Procedure wDayOfWeek_Access() + Return ReadUShort(This.Address + 4) + Endproc + + Procedure wDayOfWeek_Assign(pnNewVal) + WriteUShort(This.Address + 4, m.pnNewVal) + Endproc + + Procedure wDay_Access() + Return ReadUShort(This.Address + 6) + Endproc + + Procedure wDay_Assign(pnNewVal) + WriteUShort(This.Address + 6, m.pnNewVal) + Endproc + + Procedure wHour_Access() + Return ReadUShort(This.Address + 8) + Endproc + + Procedure wHour_Assign(pnNewVal) + WriteUShort(This.Address + 8, m.pnNewVal) + Endproc + + Procedure wMinute_Access() + Return ReadUShort(This.Address + 10) + Endproc + + Procedure wMinute_Assign(pnNewVal) + WriteUShort(This.Address + 10, m.pnNewVal) + Endproc + + Procedure wSecond_Access() + Return ReadUShort(This.Address + 12) + Endproc + + Procedure wSecond_Assign(pnNewVal) + WriteUShort(This.Address + 12, m.pnNewVal) + Endproc + + Procedure wMilliseconds_Access() + Return ReadUShort(This.Address + 14) + Endproc + + Procedure wMilliseconds_Assign(pnNewVal) + WriteUShort(This.Address + 14, m.pnNewVal) + Endproc + +Enddefine + + +******************************************************************************** +Define Class _SYSTEMTIMEARRAY As _STRUCTBASE + + SizeOf = 32 + Name = "SYSTEMTIMEARRAY" + && structure fields + Min = .Null. + Max = .Null. + + _MemberData = '' + ; + '' + ; + '' + ; + '' + + Procedure InitMembers() + This.Min = Createobject('_SYSTEMTIME',This.Address) + This.Max = Createobject('_SYSTEMTIME',This.Address + 16) + Endproc + + Procedure FreeMembers() + This.Min = .Null. + This.Max = .Null. + Endproc + + Procedure Address_Assign(lnAddress) + This.Address = m.lnAddress + If This.InitMembersDone = TRUE Then + This.Min.Address = m.lnAddress + This.Max.Address = m.lnAddress + 16 + Endif + Endproc + +Enddefine + +******************************************************************************** +*!* typedef struct tagSIZE { +*!* LONG cx; +*!* LONG cy; +*!* } SIZE, *PSIZE; +******************************************************************************** +Define Class _SIZE As _STRUCTBASE + SizeOf = 8 + Name = "SIZE" + && structure fields + cx = FALSE + cy = FALSE + + _MemberData = '' + ; + '' + ; + '' + ; + '' + + Procedure cx_Access() + Return ReadInt(This.Address) + Endproc + + Procedure cx_Assign(pnNewVal) + WriteInt(This.Address, m.pnNewVal) + Endproc + + Procedure cy_Access() + Return ReadInt(This.Address + 4) + Endproc + + Procedure cy_Assign(pnNewVal) + WriteInt(This.Address + 4, m.pnNewVal) + Endproc + +Enddefine + +******************************************************************************** +*!* typedef struct tagTOOLINFO{ +*!* UINT cbSize; +*!* UINT uFlags; +*!* HWND hwnd; +*!* UINT_PTR uId; +*!* RECT rect; +*!* HINSTANCE hinst; +*!* LPTSTR lpszText; +*!* #if (_WIN32_IE >= 0x0300) +*!* LPARAM lParam; +*!* #endif +*!* #if (_WIN32_WINNT >= 0x0501) +*!* void *lpReserved; +*!* #endif +*!* } TOOLINFO, NEAR *PTOOLINFO, *LPTOOLINFO; +******************************************************************************** +Define Class _TOOLINFO As _STRUCTBASE + SizeOf = 48 + Name = "TOOLINFO" + && structure fields + cbSize = FALSE + uFlags = FALSE + HWnd = FALSE + uId = FALSE + Rect = .Null. + hinst = FALSE + lpszText = FALSE + Lparam = FALSE + *!* if ctlGetOsVersion >= 5010000 + lpReserved = FALSE + *!* Endif + + _MemberData = '' + ; + '' + ; + '' + ; + '' + ; + '' + ; + '' + ; + '' + ; + '' + ; + '' + ; + '' + ; + '' + + Procedure InitMembers() + + *!* 20080818 + *!* If ctlGetOsVersion() < NTDDI_WINXP Then + *!* This.SizeOf = 44 + *!* Else + *!* This.SizeOf = 48 + *!* Endif + *!* This.cbSize = This.SizeOf + + If ctlGetOsVersion() < NTDDI_WINXP Then + This.cbSize = 44 + Else + This.cbSize = 48 + Endif + + This.Rect = Createobject("_RECT", This.Address + 16) + Endproc + + Procedure FreeMembers() + This.Rect = .Null. + FreePMem(This.Address + 36) + Endproc + + Procedure Address_Assign(lnAddress) + This.Address = m.lnAddress + If This.InitMembersDone = TRUE Then + This.Rect.Address = m.lnAddress + 16 + Endif + Endproc + + Procedure cbSize_Access() + Return ReadUInt(This.Address) + Endproc + + Procedure cbSize_Assign(pnNewVal) + WriteUInt(This.Address, m.pnNewVal) + Endproc + + Procedure uFlags_Access() + Return ReadUInt(This.Address + 4) + Endproc + + Procedure uFlags_Assign(pnNewVal) + WriteUInt(This.Address + 4, m.pnNewVal) + Endproc + + Procedure hwnd_Access() + Return ReadInt(This.Address + 8) + Endproc + + Procedure hwnd_Assign(pnNewVal) + WriteInt(This.Address + 8, m.pnNewVal) + Endproc + + Procedure uId_Access() + Return ReadUInt(This.Address + 12) + Endproc + + Procedure uId_Assign(pnNewVal) + WriteUInt(This.Address + 12, m.pnNewVal) + Endproc + + Procedure hinst_Access() + Return ReadPointer(This.Address + 32) + Endproc + + Procedure hinst_Assign(pnNewVal) + WritePointer(This.Address + 32, m.pnNewVal) + Endproc + + Procedure lpszText_Access() + Return ReadPCString(This.Address + 36) + Endproc + + Procedure lpszText_Assign(pnNewVal) + WritePCString(This.Address + 36, m.pnNewVal) + Endproc + + Procedure lParam_Access() + Return ReadInt(This.Address + 40) + Endproc + + Procedure lParam_Assign(pnNewVal) + WriteInt(This.Address + 40, m.pnNewVal) + Endproc + + Procedure lpReserved_Access() + Return ReadPointer(This.Address + 44) + Endproc + + Procedure lpReserved_Assign(pnNewVal) + WritePointer(This.Address + 44, m.pnNewVal) +Enddefine + + +******************************************************************************** +*!* typedef struct tagNMSELCHANGE { +*!* NMHDR nmhdr; +*!* SYSTEMTIME stSelStart; +*!* SYSTEMTIME stSelEnd; +*!* } NMSELCHANGE, *LPNMSELCHANGE; +******************************************************************************** +Define Class _NMSELCHANGE As _STRUCTBASE + + SizeOf = 44 + Name = "NMSELCHANGE" + && structure fields + nmhdr = .Null. + stSelStart = .Null. + stSelEnd = .Null. + + _MemberData = '' + ; + '' + ; + '' + ; + '' + ; + '' + + Procedure InitMembers() + This.nmhdr = Createobject("_NMHDR", This.Address) + This.stSelStart = Createobject("_SYSTEMTIME", This.Address + 12) + This.stSelEnd = Createobject("_SYSTEMTIME", This.Address + 28) + Endproc + + Procedure FreeMembers() + This.nmhdr = .Null. + This.stSelStart = .Null. + This.stSelEnd = .Null. + Endproc + + Procedure Address_Assign(lnAddress) + This.Address = m.lnAddress + If This.InitMembersDone = TRUE Then + This.Address = m.lnAddress + This.nmhdr.Address = m.lnAddress + This.stSelStart.Address = m.lnAddress + 12 + This.stSelEnd.Address = m.lnAddress + 28 + Endif + Endproc + +Enddefine + + +******************************************************************************** +*!* typedef struct tagNMTTDISPINFO { +*!* NMHDR hdr; +*!* LPTSTR lpszText; +*!* TCHAR szText[80]; +*!* HINSTANCE hinst; +*!* UINT uFlags; +*!* #if (_WIN32_IE >= 0x0300) +*!* LPARAM lParam; +*!* #endif +*!* #if (_WIN32_WINNT >= 0x0600) +*!* HBITMAP hbmp; +*!* #endif +*!* } NMTTDISPINFO, *LPNMTTDISPINFO; +******************************************************************************** + +Define Class _NMTTDISPINFO As _STRUCTBASE + + SizeOf = 108 + Name = "NMTTDISPINFO" + && structure fields + hdr = .Null. + lpszText = .F. + szText = .F. + hinst = .F. + uFlags = .F. + Lparam = .F. + + Procedure InitMembers(lnAddress) + This.hdr = Createobject('_NMHDR', This.Address) + Endproc + + Procedure FreeMembers() + This.hdr = .Null. + Endproc + + Procedure lpszText_Access() + Return ReadPCString(This.Address + 12) + Endproc + + Procedure lpszText_Assign(lnNewVal) + WritePCString(This.Address + 12, m.lnNewVal) + Endproc + + Procedure szText_Access() + Return ReadCharArray(This.Address + 16,80) + Endproc + + Procedure szText_Assign(lnNewVal) + WriteCharArray(This.Address + 16, m.lnNewVal,80) + Endproc + + Procedure hinst_Access() + Return ReadPointer(This.Address + 96) + Endproc + + Procedure hinst_Assign(lnNewVal) + WritePointer(This.Address + 96, m.lnNewVal) + Endproc + + Procedure uFlags_Access() + Return ReadUInt(This.Address + 100) + Endproc + + Procedure uFlags_Assign(lnNewVal) + WriteUInt(This.Address + 100, m.lnNewVal) + Endproc + + Procedure lParam_Access() + Return ReadInt(This.Address + 104) + Endproc + + Procedure lParam_Assign(lnNewVal) + WriteInt(This.Address + 104, m.lnNewVal) + Endproc + +Enddefine + +******************************************************************************** +*!* typedef struct tagNMDAYSTATE { +*!* NMHDR nmhdr; +*!* SYSTEMTIME stStart; +*!* int cDayState; +*!* LPMONTHDAYSTATE prgDayState; +*!* } NMDAYSTATE, *LPNMDAYSTATE; +******************************************************************************** +Define Class _NMDAYSTATE As _STRUCTBASE + + SizeOf = 36 + Name = "NMDAYSTATE" + && structure fields + nmhdr = .Null. + stStart = .Null. + cDayState = FALSE + prgDayState = FALSE + + _MemberData = '' + ; + '' + ; + '' + ; + '' + ; + '' + ; + '' + + Procedure InitMembers() + This.nmhdr = Createobject("_NMHDR", This.Address) + This.stStart = Createobject("_SYSTEMTIME", This.Address + 12) + Endproc + + Procedure FreeMembers() + This.nmhdr = .Null. + This.stStart = .Null. + Endproc + + Procedure cDayState_Access() + Return ReadInt(This.Address + 28) + Endproc + + Procedure cDayState_Assign(pnNewVal) + WriteInt(This.Address + 28, m.pnNewVal) + Endproc + + Procedure prgDayState_Access() + Return ReadInt(This.Address + 32) + Endproc + + Procedure prgDayState_Assign(pnNewVal) + WriteInt(This.Address + 32, m.pnNewVal) + Endproc + +Enddefine + +******************************************************************************** +*!* typedef struct tagOFN { +*!* DWORD lStructSize; +*!* HWND hwndOwner; +*!* HINSTANCE hInstance; +*!* LPCTSTR lpstrFilter; +*!* LPTSTR lpstrCustomFilter; +*!* DWORD nMaxCustFilter; +*!* DWORD nFilterIndex; +*!* LPTSTR lpstrFile; +*!* DWORD nMaxFile; +*!* LPTSTR lpstrFileTitle; +*!* DWORD nMaxFileTitle; +*!* LPCTSTR lpstrInitialDir; +*!* LPCTSTR lpstrTitle; +*!* DWORD Flags; +*!* WORD nFileOffset; +*!* WORD nFileExtension; +*!* LPCTSTR lpstrDefExt; +*!* LPARAM lCustData; +*!* LPOFNHOOKPROC lpfnHook; +*!* LPCTSTR lpTemplateName; +*!* #if (_WIN32_WINNT >= 0x0500) +*!* void * pvReserved; +*!* DWORD dwReserved; +*!* DWORD FlagsEx; +*!* #endif // (_WIN32_WINNT >= 0x0500) +*!* } OPENFILENAME, *LPOPENFILENAME; +******************************************************************************** +Define Class _OPENFILENAME As _STRUCTBASE + + SizeOf = 88 + Name = "OPENFILENAME" + && structure fields + lStructSize = FALSE + hwndOwner = FALSE + hInstance = FALSE + lpstrFilter = FALSE + lpstrCustomFilter = FALSE + nMaxCustFilter = FALSE + nFilterIndex = FALSE + lpstrFile = FALSE + nMaxFile = FALSE + lpstrFileTitle = FALSE + nMaxFileTitle = FALSE + lpstrInitialDir = FALSE + lpstrTitle = FALSE + Flags = FALSE + nFileOffset = FALSE + nFileExtension = FALSE + lpstrDefExt = FALSE + lCustData = FALSE + lpfnHook = FALSE + lpTemplateName = FALSE + pvReserved = FALSE + dwReserved = FALSE + FlagsEx = FALSE + + _MemberData = '' + ; + '' + ; + '' + ; + '' + ; + '' + ; + '' + ; + '' + ; + '' + ; + '' + ; + '' + ; + '' + ; + '' + ; + '' + ; + '' + ; + '' + ; + '' + ; + '' + ; + '' + ; + '' + ; + '' + ; + '' + ; + '' + ; + '' + ; + '' + ; + '' + + Procedure InitMembers() + If ctlGetOsVersion() < NTDDI_WIN2K Then + This.lStructSize = 76 + Else + This.lStructSize = 88 + Endif + + Endproc + + Procedure FreeMembers() + FreePMem(This.Address + 12) + FreePMem(This.Address + 16) + FreePMem(This.Address + 28) + FreePMem(This.Address + 36) + FreePMem(This.Address + 44) + FreePMem(This.Address + 48) + FreePMem(This.Address + 60) + FreePMem(This.Address + 72) + Endproc + + Procedure lStructSize_Access() + Return ReadUInt(This.Address) + Endproc + + Procedure lStructSize_Assign(pnNewVal) + WriteUInt(This.Address, m.pnNewVal) + Endproc + + Procedure hwndOwner_Access() + Return ReadInt(This.Address + 4) + Endproc + + Procedure hwndOwner_Assign(pnNewVal) + WriteInt(This.Address + 4, m.pnNewVal) + Endproc + + Procedure hInstance_Access() + Return ReadPointer(This.Address + 8) + Endproc + + Procedure hInstance_Assign(pnNewVal) + WritePointer(This.Address + 8, m.pnNewVal) + Endproc + + Procedure lpstrFilter_Access() + Return ReadPCString(This.Address + 12) + Endproc + + Procedure lpstrFilter_Assign(pnNewVal) + WritePCString(This.Address + 12, m.pnNewVal) + Endproc + + Procedure lpstrCustomFilter_Access() + Return ReadPCString(This.Address + 16) + Endproc + + Procedure lpstrCustomFilter_Assign(pnNewVal) + WritePCString(This.Address + 16, m.pnNewVal) + Endproc + + Procedure nMaxCustFilter_Access() + Return ReadUInt(This.Address + 20) + Endproc + + Procedure nMaxCustFilter_Assign(pnNewVal) + WriteUInt(This.Address + 20, m.pnNewVal) + Endproc + + Procedure nFilterIndex_Access() + Return ReadUInt(This.Address + 24) + Endproc + + Procedure nFilterIndex_Assign(pnNewVal) + WriteUInt(This.Address + 24, m.pnNewVal) + Endproc + + Procedure GetlpstrFile() + Return This.ReadPCString(This.Address + 28, This.nMaxFile) + Endproc + + Procedure lpstrFile_Access() + *!* may have embedded nulls + Return ReadPCString(This.Address + 28) + Endproc + + Procedure lpstrFile_Assign(pnNewVal) + WritePCString(This.Address + 28, m.pnNewVal) + This.nMaxFile = Len(m.pnNewVal) + Endproc + + Procedure nMaxFile_Access() + Return ReadUInt(This.Address + 32) + Endproc + + Procedure nMaxFile_Assign(pnNewVal) + WriteUInt(This.Address + 32, m.pnNewVal) + Endproc + + Procedure lpstrFileTitle_Access() + Return ReadPCString(This.Address + 36) + Endproc + + Procedure lpstrFileTitle_Assign(pnNewVal) + WritePCString(This.Address + 36, m.pnNewVal) + This.nMaxFileTitle = Len(m.pnNewVal) + Endproc + + Procedure nMaxFileTitle_Access() + Return ReadUInt(This.Address + 40) + Endproc + + Procedure nMaxFileTitle_Assign(pnNewVal) + WriteUInt(This.Address + 40, m.pnNewVal) + Endproc + + Procedure lpstrInitialDir_Access() + Return ReadPCString(This.Address + 44) + Endproc + + Procedure lpstrInitialDir_Assign(pnNewVal) + WritePCString(This.Address + 44, m.pnNewVal) + Endproc + + Procedure lpstrTitle_Access() + Return ReadPCString(This.Address + 48) + Endproc + + Procedure lpstrTitle_Assign(pnNewVal) + WritePCString(This.Address + 48, m.pnNewVal) + Endproc + + Procedure flags_Access() + Return ReadUInt(This.Address + 52) + Endproc + + Procedure flags_Assign(pnNewVal) + WriteUInt(This.Address + 52, m.pnNewVal) + Endproc + + Procedure nFileOffset_Access() + Return ReadUShort(This.Address + 56) + Endproc + + Procedure nFileOffset_Assign(pnNewVal) + WriteUShort(This.Address + 56, m.pnNewVal) + Endproc + + Procedure nFileExtension_Access() + Return ReadUShort(This.Address + 58) + Endproc + + Procedure nFileExtension_Assign(pnNewVal) + WriteUShort(This.Address + 58, m.pnNewVal) + Endproc + + Procedure lpstrDefExt_Access() + Return ReadPCString(This.Address + 60) + Endproc + + Procedure lpstrDefExt_Assign(pnNewVal) + WritePCString(This.Address + 60, m.pnNewVal) + Endproc + + Procedure lCustData_Access() + Return ReadInt(This.Address + 64) + Endproc + + Procedure lCustData_Assign(pnNewVal) + WriteInt(This.Address + 64, m.pnNewVal) + Endproc + + Procedure lpfnHook_Access() + Return ReadUInt(This.Address + 68) + Endproc + + Procedure lpfnHook_Assign(pnNewVal) + WriteUInt(This.Address + 68, m.pnNewVal) + Endproc + + Procedure lpTemplateName_Access() + Return ReadPCString(This.Address + 72) + Endproc + + Procedure lpTemplateName_Assign(pnNewVal) + WritePCString(This.Address + 72, m.pnNewVal) + Endproc + + Procedure pvReserved_Access() + Return ReadPointer(This.Address + 76) + Endproc + + Procedure pvReserved_Assign(pnNewVal) + WritePointer(This.Address + 76, m.pnNewVal) + Endproc + + Procedure dwReserved_Access() + Return ReadUInt(This.Address + 80) + Endproc + + Procedure dwReserved_Assign(pnNewVal) + WriteUInt(This.Address + 80, m.pnNewVal) + Endproc + + Procedure FlagsEx_Access() + Return ReadUInt(This.Address + 84) + Endproc + + Procedure FlagsEx_Assign(pnNewVal) + WriteUInt(This.Address + 84, m.pnNewVal) + Endproc + +Enddefine + diff --git a/utile/ctl32/ctl32_vfp2c32.prg b/utile/ctl32/ctl32_vfp2c32.prg new file mode 100644 index 0000000..c1c5852 --- /dev/null +++ b/utile/ctl32/ctl32_vfp2c32.prg @@ -0,0 +1,4467 @@ +******************************************************************************** +*!* ctl32_vfp2c32.prg +******************************************************************************** + +If "VFP2C32.FLL" $ Upper(Set("Library")) Then + Return +Endif + +Local ; + lcTempFolder As String, ; + lcFileSource As String, ; + lcFile As String + +*!* Get temp folder +m.lcTempFolder = Sys(2023) +If Not Directory(m.lcTempFolder) + Md (m.lcTempFolder) +Endif + +m.lcFile = Addbs(m.lcTempFolder) + "vfp2c32.fll" + +*!* If vfp2c32.fll does not exist in the temp folder, create it: +If Not File(m.lcFile) Then + Strtofile(GetVfp2c32Data(), m.lcFile) +Endif + +Set Library To (m.lcFile) Additive + +*!* Add vfp2c32.fll path to search path or InitVFP2C32 fails: +Local m.lcPath As String + +m.lcPath = Addbs(Justpath(m.lcFile)) + +If Empty(Set("Path")) Then + Set Path To (m.lcPath) +Else + If Not m.lcPath $ Set("Path") Then + Set Path To (Set("Path") + ";" + m.lcPath) + Endif +Endif + +If !InitVFP2C32(0xFFFFFFFF) + Debugout "InitVFP2C32 FAILED!" +Endif + +Return + +*!* don't call this function ... +*!* it's only purpose is to make the function names visible for compilation +*!* the functions are DECLARE'd inside the library automatically + +Function VFP2CDummyProc + Declare WriteChar In vfp2c32.fll Integer, String + Declare WritePChar In vfp2c32.fll Integer, String + Declare WriteInt8 In vfp2c32.fll Integer, Integer + Declare WritePInt8 In vfp2c32.fll Integer, Integer + Declare WriteUInt8 In vfp2c32.fll Integer, Integer + Declare WritePUInt8 In vfp2c32.fll Integer, Integer + Declare WriteShort In vfp2c32.fll Integer, Short + Declare WritePShort In vfp2c32.fll Integer, Short + Declare WriteUShort In vfp2c32.fll Integer, Short + Declare WritePUShort In vfp2c32.fll Integer, Short + Declare WriteInt In vfp2c32.fll Integer, Integer + Declare WritePInt In vfp2c32.fll Integer, Integer + Declare WriteUInt In vfp2c32.fll Integer, Integer + Declare WritePUInt In vfp2c32.fll Integer, Integer + Declare WritePointer In vfp2c32.fll Integer, Integer + Declare WritePPointer In vfp2c32.fll Integer, Integer + Declare WriteFloat In vfp2c32.fll Integer, Single + Declare WritePFloat In vfp2c32.fll Integer, Single + Declare WriteDouble In vfp2c32.fll Integer, Double + Declare WritePDouble In vfp2c32.fll Integer, Double + Declare Short ReadInt8 In vfp2c32.fll Integer + Declare Short ReadPInt8 In vfp2c32.fll Integer + Declare Short ReadUInt8 In vfp2c32.fll Integer + Declare Short ReadPUInt8 In vfp2c32.fll Integer + Declare Short ReadShort In vfp2c32.fll Integer + Declare Short ReadPShort In vfp2c32.fll Integer + Declare Integer ReadUShort In vfp2c32.fll Integer + Declare Integer ReadPUShort In vfp2c32.fll Integer + Declare Integer ReadInt In vfp2c32.fll Integer + Declare Integer ReadPInt In vfp2c32.fll Integer + Declare Single ReadFloat In vfp2c32.fll Integer + Declare Single ReadPFloat In vfp2c32.fll Integer + Declare Double ReadDouble In vfp2c32.fll Integer + Declare Double ReadPDouble In vfp2c32.fll Integer + + Declare AAverage In vfp2c32.fll + Declare AbortUrlDownloadToFileEx In vfp2c32.fll + Declare ADesktopArea In vfp2c32.fll + Declare ADesktops In vfp2c32.fll + Declare ADialUpConnections In vfp2c32.fll + Declare ADirectoryInfo In vfp2c32.fll + Declare ADirEx In vfp2c32.fll + Declare ADisplayDevices In vfp2c32.fll + Declare ADriveInfo In vfp2c32.fll + Declare AErrorEx In vfp2c32.fll + Declare AFHandlesEx In vfp2c32.fll + Declare AFileAttributes In vfp2c32.fll + Declare AFileAttributesEx In vfp2c32.fll + Declare AHeapBlocks In vfp2c32.fll + Declare AIPAddresses In vfp2c32.fll + Declare AllocHGlobal In vfp2c32.fll + Declare AllocMem In vfp2c32.fll + Declare AllocMemTo In vfp2c32.fll + Declare AMax In vfp2c32.fll + Declare AMemBlocks In vfp2c32.fll + Declare AMin In vfp2c32.fll + Declare ANetFiles In vfp2c32.fll + Declare ANetServers In vfp2c32.fll + Declare APrinterForms In vfp2c32.fll + Declare APrintersEx In vfp2c32.fll + Declare APrinterTrays In vfp2c32.fll + Declare APrintJobs In vfp2c32.fll + Declare AProcesses In vfp2c32.fll + Declare AProcessHeaps In vfp2c32.fll + Declare AProcessModules In vfp2c32.fll + Declare AProcessThreads In vfp2c32.fll + Declare ARegistryKeys In vfp2c32.fll + Declare ARegistryValues In vfp2c32.fll + Declare AResolutions In vfp2c32.fll + Declare AResourceLanguages In vfp2c32.fll + Declare AResourceNames In vfp2c32.fll + Declare AResourceTypes In vfp2c32.fll + Declare AServices In vfp2c32.fll + Declare AServiceStatus In vfp2c32.fll + Declare ASplitStr In vfp2c32.fll + Declare ASQLDataSources In vfp2c32.fll + Declare ASQLDrivers In vfp2c32.fll + Declare ASum In vfp2c32.fll + Declare AsyncInvoke In vfp2c32.fll + Declare ATimeZones In vfp2c32.fll + Declare AWindowProps In vfp2c32.fll + Declare AWindows In vfp2c32.fll + Declare AWindowsEx In vfp2c32.fll + Declare AWindowStations In vfp2c32.fll + Declare BindEventsEx In vfp2c32.fll + Declare CancelFileChange In vfp2c32.fll + Declare CancelRegistryChange In vfp2c32.fll + Declare CenterWindowEx In vfp2c32.fll + Declare ChangeSQLDataSource In vfp2c32.fll + Declare CloseRegistryKey In vfp2c32.fll + Declare CloseServiceHandle In vfp2c32.fll + Declare CLSIDFromProgID In vfp2c32.fll + Declare CLSIDFromString In vfp2c32.fll + Declare Colors2RGB In vfp2c32.fll + Declare CompactMem In vfp2c32.fll + Declare CompareFileTimes In vfp2c32.fll + Declare ContinueService In vfp2c32.fll + Declare ControlService In vfp2c32.fll + Declare CopyFileEx In vfp2c32.fll + Declare CreateCallbackFunc In vfp2c32.fll + Declare CreateGuid In vfp2c32.fll + Declare CreateRegistryKey In vfp2c32.fll + Declare CreateSQLDataSource In vfp2c32.fll + Declare Decimals In vfp2c32.fll + Declare DeleteDirectory In vfp2c32.fll + Declare DeleteFileEx In vfp2c32.fll + Declare DeleteRegistryKey In vfp2c32.fll + Declare DeleteSQLDataSource In vfp2c32.fll + Declare DestroyCallbackFunc In vfp2c32.fll + Declare Double2DT In vfp2c32.fll + Declare Double2Str In vfp2c32.fll + Declare DT2Double In vfp2c32.fll + Declare DT2FT In vfp2c32.fll + Declare DT2ST In vfp2c32.fll + Declare DT2Timet In vfp2c32.fll + Declare DT2UTC In vfp2c32.fll + Declare ExpandEnvironmentStrings In vfp2c32.fll + Declare FChSizeEx In vfp2c32.fll + Declare FCloseEx In vfp2c32.fll + Declare FCreateEx In vfp2c32.fll + Declare FEoFEx In vfp2c32.fll + Declare FFlushEx In vfp2c32.fll + Declare FGetsEx In vfp2c32.fll + Declare FHandleEx In vfp2c32.fll + Declare FindFileChange In vfp2c32.fll + Declare FindRegistryChange In vfp2c32.fll + Declare Float2Str In vfp2c32.fll + Declare FLockFile In vfp2c32.fll + Declare FLockFileEx In vfp2c32.fll + Declare FOpenEx In vfp2c32.fll + Declare FormatMessageEx In vfp2c32.fll + Declare FPutsEx In vfp2c32.fll + Declare FReadEx In vfp2c32.fll + Declare FreeHGlobal In vfp2c32.fll + Declare FreeMem In vfp2c32.fll + Declare FreePMem In vfp2c32.fll + Declare FreeRefArray In vfp2c32.fll + Declare FSeekEx In vfp2c32.fll + Declare FT2DT In vfp2c32.fll + Declare FUnlockFile In vfp2c32.fll + Declare FUnlockFileEx In vfp2c32.fll + Declare FWriteEx In vfp2c32.fll + Declare GetCursorPosEx In vfp2c32.fll + Declare GetFileAttributes In vfp2c32.fll + Declare GetFileOwner In vfp2c32.fll + Declare GetFileSize In vfp2c32.fll + Declare GetFileTimes In vfp2c32.fll + Declare GetIUnknown In vfp2c32.fll + Declare GetLongPathName In vfp2c32.fll + Declare GetOpenFileName In vfp2c32.fll + Declare GetSaveFileName In vfp2c32.fll + Declare GetServerTime In vfp2c32.fll + Declare GetShortPathName In vfp2c32.fll + Declare GetSystemDirectory In vfp2c32.fll + Declare GetSystemTime In vfp2c32.fll + Declare GetWindowRectEx In vfp2c32.fll + Declare GetWindowsDirectory In vfp2c32.fll + Declare GetWindowTextEx In vfp2c32.fll + Declare IcmpPing In vfp2c32.fll + Declare InitVFP2C32 In vfp2c32.fll + Declare Int64_Add In vfp2c32.fll + Declare Int64_Div In vfp2c32.fll + Declare Int64_Mod In vfp2c32.fll + Declare Int64_Mul In vfp2c32.fll + Declare Int64_Sub In vfp2c32.fll + Declare Invoke In vfp2c32.fll + Declare Ip2MacAddress In vfp2c32.fll + Declare IsEqualGuid In vfp2c32.fll + Declare LockHGlobal In vfp2c32.fll + Declare Long2Str In vfp2c32.fll + Declare MarshalArrayCharArray In vfp2c32.fll + Declare MarshalArrayCString In vfp2c32.fll + Declare MarshalArrayDouble In vfp2c32.fll + Declare MarshalArrayFloat In vfp2c32.fll + Declare MarshalArrayInt In vfp2c32.fll + Declare MarshalArrayLogical In vfp2c32.fll + Declare MarshalArrayShort In vfp2c32.fll + Declare MarshalArrayUInt In vfp2c32.fll + Declare MarshalArrayUShort In vfp2c32.fll + Declare MarshalArrayWCharArray In vfp2c32.fll + Declare MarshalArrayWString In vfp2c32.fll + Declare MarshalCursorCharArray In vfp2c32.fll + Declare MarshalCursorCString In vfp2c32.fll + Declare MarshalCursorDouble In vfp2c32.fll + Declare MarshalCursorFloat In vfp2c32.fll + Declare MarshalCursorInt In vfp2c32.fll + Declare MarshalCursorLogical In vfp2c32.fll + Declare MarshalCursorShort In vfp2c32.fll + Declare MarshalCursorUInt In vfp2c32.fll + Declare MarshalCursorUShort In vfp2c32.fll + Declare MarshalCursorWCharArray In vfp2c32.fll + Declare MarshalCursorWString In vfp2c32.fll + Declare MoveFileEx In vfp2c32.fll + Declare Num2Binary In vfp2c32.fll + Declare OnLoad In vfp2c32.fll + Declare OnUnload In vfp2c32.fll + Declare OpenRegistryKey In vfp2c32.fll + Declare OpenService In vfp2c32.fll + Declare PauseService In vfp2c32.fll + Declare PG_ByteA2Str In vfp2c32.fll + Declare PG_Str2ByteA In vfp2c32.fll + Declare ProgIDFromCLSID In vfp2c32.fll + Declare ReadBytes In vfp2c32.fll + Declare ReadChar In vfp2c32.fll + Declare ReadCharArray In vfp2c32.fll + Declare ReadCString In vfp2c32.fll + Declare ReadInt64AsDouble In vfp2c32.fll + Declare ReadLogical In vfp2c32.fll + Declare ReadPChar In vfp2c32.fll + Declare ReadPCString In vfp2c32.fll + Declare ReadPInt64AsDouble In vfp2c32.fll + Declare ReadPLogical In vfp2c32.fll + Declare ReadPointer In vfp2c32.fll + Declare ReadPPointer In vfp2c32.fll + Declare ReadProcessMemoryEx In vfp2c32.fll + Declare ReadPUInt In vfp2c32.fll + Declare ReadPUInt64AsDouble In vfp2c32.fll + Declare ReadPWString In vfp2c32.fll + Declare ReadRegistryKey In vfp2c32.fll + Declare ReadUInt In vfp2c32.fll + Declare ReadUInt64AsDouble In vfp2c32.fll + Declare ReadWCharArray In vfp2c32.fll + Declare ReadWString In vfp2c32.fll + Declare ReAllocHGlobal In vfp2c32.fll + Declare ReAllocMem In vfp2c32.fll + Declare RegisterActiveObject In vfp2c32.fll + Declare RegisterObjectAsFileMoniker In vfp2c32.fll + Declare RegistryHiveToObject In vfp2c32.fll + Declare RegistryValuesToObject In vfp2c32.fll + Declare ResolveHostToIp In vfp2c32.fll + Declare RevokeActiveObject In vfp2c32.fll + Declare RGB2Colors In vfp2c32.fll + Declare SetFileAttributes In vfp2c32.fll + Declare SetFileTimes In vfp2c32.fll + Declare SetSystemTime In vfp2c32.fll + Declare SetSystemTimeEx In vfp2c32.fll + Declare SHBrowseFolder In vfp2c32.fll + Declare SHCopyFiles In vfp2c32.fll + Declare SHDeleteFiles In vfp2c32.fll + Declare SHMoveFiles In vfp2c32.fll + Declare Short2Str In vfp2c32.fll + Declare SHRenameFiles In vfp2c32.fll + Declare SHSpecialFolder In vfp2c32.fll + Declare SizeOfMem In vfp2c32.fll + Declare SQLExecEx In vfp2c32.fll + Declare SQLGetPropEx In vfp2c32.fll + Declare SQLSetPropEx In vfp2c32.fll + Declare ST2DT In vfp2c32.fll + Declare StartService In vfp2c32.fll + Declare StopService In vfp2c32.fll + Declare Str2Double In vfp2c32.fll + Declare Str2Float In vfp2c32.fll + Declare Str2Long In vfp2c32.fll + Declare Str2Short In vfp2c32.fll + Declare Str2ULong In vfp2c32.fll + Declare Str2UShort In vfp2c32.fll + Declare StringFromCLSID In vfp2c32.fll + Declare SyncToServerTime In vfp2c32.fll + Declare SyncToSNTPServer In vfp2c32.fll + Declare Timet2DT In vfp2c32.fll + Declare ULong2Str In vfp2c32.fll + Declare UnBindEventsEx In vfp2c32.fll + Declare UnlockHGlobal In vfp2c32.fll + Declare UnMarshalArrayCharArray In vfp2c32.fll + Declare UnMarshalArrayCString In vfp2c32.fll + Declare UnMarshalArrayDouble In vfp2c32.fll + Declare UnMarshalArrayFloat In vfp2c32.fll + Declare UnMarshalArrayInt In vfp2c32.fll + Declare UnMarshalArrayLogical In vfp2c32.fll + Declare UnMarshalArrayShort In vfp2c32.fll + Declare UnMarshalArrayUInt In vfp2c32.fll + Declare UnMarshalArrayUShort In vfp2c32.fll + Declare UnMarshalArrayWCharArray In vfp2c32.fll + Declare UnMarshalArrayWString In vfp2c32.fll + Declare UnMarshalCursorCharArray In vfp2c32.fll + Declare UnMarshalCursorCString In vfp2c32.fll + Declare UnMarshalCursorDouble In vfp2c32.fll + Declare UnMarshalCursorFloat In vfp2c32.fll + Declare UnMarshalCursorInt In vfp2c32.fll + Declare UnMarshalCursorLogical In vfp2c32.fll + Declare UnMarshalCursorShort In vfp2c32.fll + Declare UnMarshalCursorUInt In vfp2c32.fll + Declare UnMarshalCursorUShort In vfp2c32.fll + Declare UnMarshalCursorWCharArray In vfp2c32.fll + Declare UnMarshalCursorWString In vfp2c32.fll + Declare UrlDownloadToFileEx In vfp2c32.fll + Declare UShort2Str In vfp2c32.fll + Declare UTC2DT In vfp2c32.fll + Declare ValidateMem In vfp2c32.fll + Declare Value2Variant In vfp2c32.fll + Declare Variant2Value In vfp2c32.fll + Declare VFP2CSys In vfp2c32.fll + Declare WriteBytes In vfp2c32.fll + Declare WriteCharArray In vfp2c32.fll + Declare WriteCString In vfp2c32.fll + Declare WriteInt64 In vfp2c32.fll + Declare WriteLogical In vfp2c32.fll + Declare WritePCString In vfp2c32.fll + Declare WritePInt64 In vfp2c32.fll + Declare WritePLogical In vfp2c32.fll + Declare WritePUInt64 In vfp2c32.fll + Declare WritePWChar In vfp2c32.fll + Declare WritePWString In vfp2c32.fll + Declare WriteRegistryKey In vfp2c32.fll + Declare WriteUInt64 In vfp2c32.fll + Declare WriteWChar In vfp2c32.fll + Declare WriteWCharArray In vfp2c32.fll + Declare WriteWString In vfp2c32.fll +Endfunc + + +Function GetVfp2c32Data() + Local lcFileData As String + + TEXT TO m.lcFileData noshow + TVqQAAMAAAAEAAAA//8AALgAAAAAAAAAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + KAEAAA4fug4AtAnNIbgBTM0hVGhpcyBwcm9ncmFtIGNhbm5vdCBiZSBydW4gaW4gRE9TIG1vZGUuDQ0K + JAAAAAAAAABUgeiZEOCGyhDghsoQ4IbKA+jvyhHghsoV7NvKEuCGyhXsicoa4IbKycOayhLghsqHw5/K + EuCGypPo2coT4IbKA+jbyhLghsqT6NvKAuCGyurDn8oV4IbKEOCHyhfhhsoV7ObKFOCGyhXs2coF4IbK + FeziygzghsoV7NrKEeCGyvzr2MoR4IbKFezcyhHghspSaWNoEOCGygAAAAAAAAAAAAAAAAAAAABQRQAA + TAEFAF6rGEUAAAAAAAAAAOAADiELAQcKAKACAADwAgAAAAAADiAAAAAQAAAAsAIAAAAAEAAQAAAAEAAA + BAAAAAAAAAAEAAAAAAAAAACgBQAAEAAAAAAAAAIAAAAAABAAABAAAAAAEAAAEAAAAAAAABAAAADgTAMA + FgMAANg4AwAsAQAAAFAFAMgCAAAAAAAAAAAAAAAAAAAAAAAAAGAFACwyAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAsAIATAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAC50ZXh0AAAAUZcCAAAQAAAAoAIAABAAAAAAAAAAAAAAAAAAACAAAGAucmRhdGEAAPafAAAAsAIA + AKAAAACwAgAAAAAAAAAAAAAAAABAAABALmRhdGEAAAA89QEAAFADAAAgAAAAUAMAAAAAAAAAAAAAAAAA + QAAAwC5yc3JjAAAAyAIAAABQBQAAEAAAAHADAAAAAAAAAAAAAAAAAEAAAEAucmVsb2MAACo3AAAAYAUA + AEAAAACAAwAAAAAAAAAAAAAAAABAAABCAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAIsAg/j/dAdQ/xWIsAIQwzPJiUgQiUg4iUg8iUhAxkBIQ4lITIlIcIlIZIlI + bIhIdMNWjXdI6A3nAQCL9+g+xgEAXsMz0olQEIlQOIlQPIlQQI1IeMZASEOJUEyJUHCJUGSJUGyIUHTG + AUOJUQSJUSiJURyJUSSIUSzDVo13eOjE5gEAjXdI6LzmAQCL9+jtxQEAXsOLAIXAdAdQ/xUgtAIQw4uA + QAEAAIP4/3QHUP8VNLECEMPZ7sYAVN1YDMOLRCQE6MRFAQD2RCQIAXQK/3QkBOhVDgAAWYtEJATCCABW + i/CLRgSFwFeLPcCyAhB0A1D/14tGCIXAdANQ/9eLdgyF9nQDVv/XX17Di0QkBOidYQAA9kQkCAF0Cv90 + JAToCQ4AAFmLRCQEwggAiwCFwHQGiwhQ/1EIw4sAg/j/dAZQ6OkIAADDiwiFyXQNgHgEAHQHUf8VKLAC + EMNXagYzwFmL+sZCGADzqyFCHCFCIIvCX8MzyccAmPkCEIlIBIlICIlIDIlIEIlIFIlIGIlIHIhIJIhI + JYmIKBAAAMONRhDHBpj5AhDoTEcBAI1GBOlERwEAg2YEAIlGCI1GDMcGxPkCEOir////i8bDVo13DMcH + xPkCEOjD////i8de6apEAQBqU4vRWemLAQAAalSL0VnpgQEAAGo2i9FZ6XcBAACLwlBqN4vRWehJAQAA + w+sYiwhQagCJDShFBRD/FZSxAhBQ/xWUsAIQoShFBRCFwHXfw1NWV74UYAMQM9tWQ/8VVLECEItEJBSD + 6AB0akh1bIt8JBBX/xWksQIQoSRFBRCFwIk9EGADEHUT/xWgsQIQhcCjJEUFEHUPM9vrP1D/FZyxAhCF + wHU0alBqCP8VlLECEFD/FZCwAhCL+Ff/NSRFBRD/FZixAhChKEUFEIkHiT0oRQUQ6wXoUv///1b/FVCx + AhBfXovDW8IMAFZX/zUkRQUQi/D/FZyxAhCDZhQAi/iLzv9XBIt2EIP+U3QFg/5UdQxqAYPHEFf/FbCx + AhBfXsNVi+yD7ByLRQiJReiLRQyJReyLRRCJRfCNReSJTfSJVeToo////4tF5MnCDABVi+yD7ByLRQiJ + ReiLRQyJReyNReSJTfSJVeTofP///4tF5MnCCABVi+yD7ByLRQiJReiNReSJTfSJVeToW////4tF5MnC + BABVi+yD7ByNReSJTfSJVeToQP///4tF5MnD/zUkRQUQ/xWcsQIQ6xCLSAwPtxGDfJEGAHQPZv8Bi0gM + ZosRZjtRBHLki0gMZosRZjtRBHIEM8DrHYtIDGb/QQKLSAwPtxFWi3QkCIl0kQaLQAwPtwBewgQA/zUk + RQUQ/xWcsQIQhfZ0LotIDA+3UQQ78nMjg3yxBgB0HGb/SQKLSAyDZLEGAItIDA+3CTvxcwaLQAxmiTDD + Vv81JEUFEP8VnLECEIvw6xCLRggPtwiDfIgEAHQPZv8Ai0YIZosIZjtIAnLki0YIZosIZjtIAnIEM8Dr + PotEJAhXg8ACUGpC/xVksQIQi/iF/3Qmi0YID7cIV4l8iAT/FWCxAhBmi0wkEFdmiQj/FWyxAhCLRggP + twBfXsIIAGoQUeh5////w1ZX/zUkRQUQi/n/FZyxAhCF/4vwdDKLRggPt0gCO/lzJ4tEuASFwHQfUP8V + dLECEItGCINkuAQAi0YID7cAO/hzBotGCGaJOF9ew1ZX/zUkRQUQi/H/FZyxAhCF9ov4dDOLRwgPt0gC + O/FzKMHmAotEBgSFwHQdU1D/FWCxAhCL2ItHCP90MAT/FWyxAhCNQwJb6wIzwF9ew1b/NSRFBRCL8f8V + nLECEIX2dBqLQAgPt0gCO/FzD4tEsASFwHQHUP8VYLECEF7DVv81JEUFEIvx/xWcsQIQhfZ0GotACA+3 + SAI78XMPi0SwBIXAdAdQ/xVssQIQXsNWV/81JEUFEIv6i/H/FZyxAhCF9nQoi0AID7dIAjvxcx2LRLAE + hcB0FWpAg8cCV1D/FXixAhD32BvA99jrA2YzwF9ew1WL7IPsSFOLHZyxAhBWV/81JEUFEIlN+P/Ti/CF + 9ol1/HVDalBqCP8VlLECEFD/FZCwAhCL8Fb/NSRFBRCJdfz/FZixAhC/FGADEFf/FVSxAhChKEUFEIkG + V4k1KEUFEP8VULECEGpAg8YQjUW4VlD/FeixAhBqAFboiQoAAIPEFIXAD4XcAAAAi3X4i0YUg/gKd3x0 + cIPoAHRISHQ6SHQkSEh0FEhID4W4AAAAiw7oXP7//+mqAAAAiw7oBf7//+mgAAAAM8Bmi0YEUP826Gr9 + ///piwAAAI1OJP9WGOmCAAAAi04Yi0X8iUgEiw6JSAiLTgSJSAzHRgSIEwAAxwZYUAMQ61+LVgSLDv9W + GOtVg+gLdEaD6AN03UhIdDRIdChIdUH/NSRFBRCLPv/Thf90E4tADA+3SAQ7+XMIi0S4BoXAdR4zwOsa + izborvz//+sT/zboS/z//+sIiw6NViT/VhiJBmpAjUW4UItF/IPAEFD/FeixAhCDxAxfXjPAW8nDaguL + 0Vnp//v//1WL7IPsJGoLiU3kZolV3o1V3FnGRdxJ6OP7///Jw1WL7IPsJN1FCGoLZolN3t1d6IlV4I1V + 3FnGRdxO6L/7///JwggAVYvsg+wki0UIiUXwi0UMagtmiU3ejVXcWcZF3FmJRfTolvv//8nCCABVi+yD + 7CQzwIXJD5XAaguNVdxZxkXcTIlF4Ohz+///ycNVi+yD7CRmg2XeAFaL8cZF3Ejo7QEAAI1IAYlF4OiA + /P//i8iFyYlN+HQZ6Mb8//+L1ovI6NgBAABqC41V3FnoLfv//17Jw/90JASLwlBqG4vRWejR+v//wgQA + i8JQah2L0Vno6Pr//8OLwlBqHovRWeja+v//w2pwi9FZ6fD6//+LwlBqcYvRWejC+v//w/90JAiLwv90 + JAiL0VBqelnoWPr//8IIAGp8i9FZ6cD6//9qfYvRWem2+v//an+L0VnprPr//2oti9FZ6aL6//+LwlBq + EovRWeh0+v//w4vCUGoli9FZ6Gb6///D/3QkCIvC/3QkCIvRUGohWej8+f//wggA/3QkBIvCUGoii9FZ + 6BX6///CBABqHIvRWelQ+v//i8JQalmL0VnoIvr//8P/dCQEi8JQalyL0Vno6fn//8IEAGpdi9FZ6ST6 + //9qF4vRWeka+v//ahmL0VnpEPr//2oai9FZ6Qb6//+LwlBqGIvRWejY+f//w4vCUGoWi9FZ6Mr5///D + i8JQaleL0VnovPn//8NqWIvRWenS+f//ag2L0VnpyPn//2oOi9FZ6b75//9qE4vRWem0+f//i8JQahSL + 0Vnohvn//8NWvhRgAxBW/xVUsQIQ6Cv4//+hJEUFEIXAdA5Q/xVQsAIQgyUkRQUQAFb/FVCxAhBW/xWE + sAIQXsOLwesBQIA4AHX6K8HDigKIAUFChMB19sPM/yVEtAIQ/yWgswIQ/yWQswIQ/yWYswIQ/yWcswIQ + /yWcsgIQ/yWIsgIQ/yWYsgIQ/yVwsgIQ/yVssgIQ/yVosgIQ/yVksgIQ/yVgsgIQ/yVcsgIQ/yVYsgIQ + /yVUsgIQ/yVQsgIQ/yVMsgIQ/yVAsgIQ/yVEsgIQ/yVIsgIQ/yV0sgIQ/yV4sgIQ/yV8sgIQ/yWAsgIQ + /yWEsgIQ/yWMsgIQ/yWQsgIQ/yWUsgIQaITuAhDoDwMAAIXAdAL/4DPAwhAAVYvsaHC0AhDo9wIAAIXA + dANd/+BmM8BdwhQAU2jQtAIQ/xXUsAIQi9iF23RLVos10LACEGi4tAIQU//WaKS0AhBTiQf/1otMJAxo + lLQCEFOJAf/Wi0wkEIkBgz8AXnQNi0wkCIM5AHQEhcB1C1P/FcCwAhAzwOsCi8NbwggAVYvsgexgBgAA + U1ZXaAUBAACNhbD8//9Q/xUUsQIQ/zUwUAMQizUEswIQjYWw/P//UI2FuP3//2jstAIQUP/Wg8QQagBo + gAAAEGoDagBqA2gAAACAjYW4/f//UP8V3LACEIsdwLACEIv4g///dHdqAFf/FeCwAhBXiUX4/xWIsAIQ + g334/3RegX34IE4AAHNVjUXUUI1F0FCNfeTo/f7//4v4jUXYUI2FuP3//1D/VeSFwHUujYWw/P//UI2F + rPv//2jctAIQUP/Wg8QMagONhaz7//9QjYW4/f//UP8VRLACEFf/0/81MFADEIs91LACEP/Xi/CNhbj9 + //9QiXXs/9eFwIlF9A+EcwEAAIX2D4RrAQAAO8YPhFgBAACNReRQjUXcUI19+Ohx/v//M/87x4lF1HUM + /3X0/9OLxulAAQAAaAoCAACNhaD5//9QVv8VQLACEI1FxFCNhbj9//9Q/1X4iUX8jUXIUI2FoPn//1D/ + Vfg5ffyJReAPhOgAAAA7xw+E4AAAAP91/Is1PLACEFf/1v914IlF8GoA/9b/dfCLNTiwAhCJRej/1v91 + 6Iv4/9Yz9jv+iUX4dHM7xnRvV/91/I2FoPn//1ZQ/1XchcB0XP91+I2FuP3///914FZQ/1XchcB0R41F + zFCNRdhQvoT2AhBWV/9V5I1FzFCNRdBQVv91+P9V5ItF2ItV0ItICItyCDvOdxZyDItADItSDDvCdwpz + CItF9P917OsGi0Xs/3X0iUX8/9ODffAAizVMsAIQiz1IsAIQdAr/dfD/1v918P/Xg33oAHQU/3Xo/9b/ + dej/1+sI/3X0iXX8/9P/ddTrBIl1/FD/04tF/OsCC8ZfXlvJw1WL7IHsJAUAAKEwYAMQhcB1KOhj/f// + hcCjMGADEHUaakBo4LUCEGiYtQIQUP8VALMCEDPA6YIAAAD/dQhQ/xXQsAIQhcCJRfx1blaLNUCwAhBX + vwUBAABXjYX0/v//UP81MGADEP/WagD/FWCwAhBXjY3s/f//UVD/1o2F9P7//1D/dQiNhez9//9QjYXc + +v//aPi0AhBQ/xUEswIQg8QUakBo4LUCEI2F3Pr//1BqAP8VALMCEF9ei0X8ycIEAFOKXCQI9sMCVovx + dCRXaL4hABCNfvz/N2oMVuiVAgAA9sMBdAdX6FgAAABZi8df6xWLzujdAgAA9sMBdAdW6EAAAABZi8Ze + W8IEAIM9OEUFEP91Bv8lGLICEGg0RQUQaDhFBRD/dCQM6K4CAACDxAzD/3QkBOjR////99gbwPfYWUjD + /yUIsgIQ/yUEsgIQ/yUAsgIQ/yXksQIQ/yXMsQIQ/yXAsQIQi0QkCIXAdQ45BTRgAxB+Lv8NNGADEIP4 + AYsNILICEIsJiQ0sRQUQdU9ogAAAAP8V+LECEIXAWaM4RQUQdQQzwOt5gyAAoThFBRCjNEUFEOgsAgAA + aBQiABDobP///8cEJBhQAxBoAFADEOgLAgAA/wU0YAMQWes/hcB1PKE4RQUQhcB0M+sTiw00RQUQiwmF + yXQH/9GhOEUFEIMtNEUFEAQ5BTRFBRBz3lD/FfyxAhCDJThFBRAAWTPAQMIMAGoMaAC2AhDoRgIAADPA + QIlF5DP/iX38i3UMO/d1DDk9NGADEA+ErAAAADvwdAWD/gJ1MaEwRQUQO8d0DP91EFb/dQj/0IlF5Dl9 + 5A+EhQAAAP91EFb/dQjo5f7//4lF5DvHdHKLXRBTVv91COiy8f//iUXkg/4BdQ47x3UKU1f/dQjou/7/ + /zv3dAWD/gN1KVNW/3UI6Kj+//+FwHUDiX3kOX3kdBOhMEUFEDvHdApTVv91CP/QiUXkg038/4tF5Osa + i0XsiwiLCVBR6HoBAABZWcOLZeiDTfz/M8DorAEAAMIMAP8ltLECEMzMzMzMzMzMahRoELYCEOhUAQAA + g2X8AP9NEHgOi00IK00MiU0I/1UU6+2DTfz/6G8BAADCEACLReyJReSLReSLAIlF4ItF4IE4Y3Nt4HQQ + x0XcAAAAAItF3MOLZejry+hVAQAAzGoMaCC2AhDo9gAAAINl5ACLdQyLxg+vRRABRQiDZfwA/00QeAsp + dQiLTQj/VRTr8MdF5AEAAACDTfz/6AgAAADo+AAAAMIQAIN95AB1Ef91FP91EP91DP91COhD////w/8l + ELICEP8lFLICEP8lHLICEGoMaDC2AhDohAAAAMdF5Cj9AhCBfeQo/QIQcyKDZfwAi0XkiwCFwHQL/9Dr + BzPAQMOLZeiDTfz/g0XkBOvV6IgAAADDagxoQLYCEOhAAAAAx0XkMP0CEIF95DD9AhBzIoNl/ACLReSL + AIXAdAv/0OsHM8BAw4tl6INN/P+DReQE69XoRAAAAMP/JSSyAhDMzGisIgAQZKEAAAAAUItEJBCJbCQQ + jWwkECvgU1ZXi0X4iWXoUItF/MdF/P////+JRfiNRfBkowAAAADDi03wZIkNAAAAAFlfXlvJUcP/JSiy + AhD/JSyyAhCAPRxEBRAAdAb/JdizAhDDVlf/FcSzAhCLTCQMgyVQUAMQAL7ogAMQK/GKEYgUDkGE0nX2 + o+SAAxAtNCcAAMcF4IADEAEAAAB0M4PoDnQgg+grdAiIFWiBAxDrMWoNWb5c+wIQv2iBAxDzpWal6x1q + B748+wIQv2iBAxDrDGoQvvj6AhC/aIEDEFnzpaRfXsIEAIHskAEAAI0EJFBoAQEAAP8V3LMCEIXAdBZX + agBqAWjo+gIQi/joLTECADLAX+sJxgUcRAUQAbABgcSQAQAAw7iblAIQ6AVvAgCB7JgBAACDZfwAU1ZX + jXECsAGNfZSJZfDo8LMBAGoQX421ZP///8ZF/AHoStQBAGgFAQAAjYVc/v//UMZF/AL/FeCzAhCD+P91 + G2jc+gIQ6OH+///HReBOYbwAaDj9AhCNReDrMY2FXP7//1D/FeSzAhCL2DP2O96JXeh1H2gQ2QIQ6K7+ + ///HReROYbwAaDj9AhCNReRQ6KttAgAzyYtDDDk0iIlN7HQDQevyO851LGoLM8la6Crz//+NtWT////o + 79IBAI11lOgfsgEAi030X15kiQ0AAAAAW8nDM8CNVZTo4McBADP/Rzt17HMwi0MMiwSwiwBmiX2dUEf/ + FayzAhBQjZ1k////6F7QAQCL0I1NlOhwxgEAi13oRuvLD7dNnWoF646LTdzoFS8CALhgJAAQw7i8oQIQ + 6MdtAgCB7LgAAACDZfwAU1ZXi9mNcwKNvTz///+JZfDopdUBADPAiUWsiUXUiUXYiUXcahBfjbVs//// + xkX8Auj70gEAxkX8A/+1YP////8V5LMCEDPJO8GJReh1SWaDOwF1DLnRyQIQ6Mvy///rCmoLM8la6DHy + //+NtWz////o9tEBAI11nOgmsQEAjbU8////6OPRAQCLTfRfXmSJDQAAAABbycNmgzsBdSKLQAyLAP8w + /xWsswIQUI2dbP///+htzwEAi/PoKL4BAOuriU3si1AMi3XsOQyydAX/Rezr8FH/deyNcyaNfZzo5NYB + ADP/RzP2O3XsczCLReiLQAyLBLCLAGaJfaVQR/8VrLMCEFCNnWz////oFc8BAIvQjU2c6CfFAQBG68sP + t02lagXpPv///4tN5OjX6///uGQlABDDM8DrCDpMJAR1AUBCigqEyXXywgQA6wSICEBCigqEyXX2iAjD + iwKKCID5IHQFgPkJdQNA6/GJAsNVi+yD7BwzwDlFCFNWfQOJRQiBfQhfAQAAfAfHRQheAQAA3UUUiUX0 + 3B24+wIQiQGJffjf4PbEBXoO3UUUxwEBAAAA2eDdXRTdRRSNReRQUVHdHCT/FeCxAhDdXRSDxAzdBbj7 + AhDdReTa6d/g9sREe2mNn2ABAACL891F5I1F5Nw1sPsCEFBRUd0cJP8V4LECEN1d7N1F7IPEDNwFqPsC + EE7cDaD7AhDo/2cCAN0FuPsCEN1F5LEw2ukqyP9F9IgO3+D2xER6susLigaLTfj/RfiIAUY783Lx6zrd + RRTcHbj7AhDf4PbEQXUq3UUU6wzdRez/TfTdXRTdRezcDbD7AhDdXezdRezcHZj7AhDf4PbEBXvbg30Q + AItFCI00OHUDA3X0O/eLXQyLRfSJA3NJxgcA6YcAAACNh2ABAAA5RfhzO91FFI1F7NwNsPsCEFBRUd1d + FN1FFN0cJP8V4LECEN1dFIPEDN1F7Og9ZwIAi034BDD/RfiIATl1+Ha6jYdgAQAAO/ByCcaHXwEAAADr + LoAGBYvG6x8798YGMHYFTv4G6xPGBjH/A4N9EAB1CDvHdgPGADBAgD45f9zGAABei8dbycIUAIsRM8CA + OjB8H1aLMYoWgPo5fxQPvtJGjQSAjURC0IvWiTGAOjB9417DVovwM9JXM8DrCIv+ToX/dAVBOBF19EBB + O/J0BzgRdANO6+9fXsOKCovChMl0EotMJAT/TCQEhcl0BkCAOAB17kCKCITJdAb/TCQE690rwkjCBACA + OQCLwXQSi1QkBP9MJASF0nQGQIA4AHXuK8HCBABWVzPJi/Az/+sBRoA+IHT6igY8MHwtU1U8OX8lD77A + agBqCoPoMJlXUYvYi+rolWYCAAPYE+pGigY8MIvLi/19111bi9dfi8Few1WL7IPsFItNDFZXi/iLRQiL + 0AvRjXXsdC9TagBqClFQ6JhmAgCAwTCIDovKi9BGC9GJXQx15FvrBk6KBogHR41F7DvwdfPrA8YHMF9e + ycIIAFZXM8mL8DP/6wFGgD4gdPqKBjwtdAQ8K3UBRooGPDB8LVNVPDl/JQ++wGoAagqD6DCZV1GL2Ivq + 6O9lAgAD2BPqRooGPDCLy4v9fdddW4vXX4vBXsNVi+yD7BSLTQyFyVZXi/iNdex/GXwGg30IAHMRi0UI + xgctR/fYg9EA99mJRQiLRQiL0AvRdC9TagBqClFQ6NVlAgCAwTCIDovKi9BGC9GJXQx15FvrBk6KBogH + R41F7DvwdfPrBMYHMEfGBwBfXsnCCABVi+yD7FTdRQxTi10UVldRUd0cJGoAjUUQUFONfbCNTRToF/z/ + /4tVCIvwM8A5RRR0BMYCLUKAPgB0VYtNEDvIfzbGAjBC99nGAi5CO8iJTQh+HYvZwekCi/q4MDAwMPOr + i8uD4QPzqgPT6wSIAkJGigaEwHX260GL+EA7+XUExgIuQooeiBpCRoA+AHXq6ynGAjBCO9h+IcYCLkI7 + 2H4Zi8uL8cHpAov6uDAwMDDzq4vOg+ED86oD019ei8JbycIQAFWL7IPsWNlFDFOLXRDdXfjdRfhWV1FR + 3RwkagCNRRBQU419qI1NDOhP+///i1UIi/AzwDlFDHQExgItQoA+AHRVi00QO8h/NsYCMEL32cYCLkI7 + yIlNCH4di9nB6QKL+rgwMDAw86uLy4PhA/OqA9PrBIgCQkaKBoTAdfbrQYv4QDv5dQTGAi5Cih6IGkJG + gD4AderrKcYCMEI72H4hxgIuQjvYfhmLy4vxwekCi/q4MDAwMPOri86D4QPzqgPTX16LwlvJwgwAi0Qk + BMYALkCDfCQIAA+Uwf7JgOEOgMFGiAhAxgAuQMIIAFWL7IPsFItNDFZXi/iLRQiL0AvRjXXsdC9TagBq + ClFQ6NRjAgCAwTCIDovKi9BGC9GJXQx15FvrBk6KBogHR41F7DvwdfPrBMYHMEeLx19eycIIAFWL7IPs + FItNDIXJVleL+I117H8ZfAaDfQgAcxGLRQjGBy1H99iD0QD32YlFCItFCIvQC9F0L1NqAGoKUVDoY2MC + AIDBMIgOi8qL0EYL0YldDHXkW+sGTooGiAdHjUXsO/B18+sExgcwR4vHX17JwggAxgAwQGoHxgB4g8AJ + WopMJASA4Q+AwTCA+Tl+A4DBB8FsJAQEiAhISnXjg8AIwgQAVYvsg+wMi0UMhcCNTfR0KVYz0moKXvf2 + gMIwiBFBhcB1717rC4tVCEmKAf9FCIgCjUX0O8h17usJi0UI/0UIxgAwi0UIycIIAIN8JAQAfQTGAC1A + xgAwQGoIxgB4g8AJWopMJASA4Q+AwTCA+Tl+A4DBB8F8JAQEiAhISnXjg8AIwgQAVYvsg+xEi0UMhcBW + i3UIjU28fQjGBi332EaFwHQkVzPSagpf9/eAwjCIEUGFwHXvX+sGSYoBiAZGjUW8O8h18+sExgYwRovG + XsnCCADrAUCAOAB1+sOF9nQoU4rYivtXi3wkDIvOi9HB6QKLw8HgEGaLw/Ori8qD4QMBdCQM86pfW4tE + JATCBABWM/Y5dCQMdCPrBzpMJAh0D0CKCITJdfOKCDpMJAh1CkY7dCQMde1A6wIzwF7CCAAy0jgQdD2A + OCBWi8iL8HUGRoA+IHT6QTgRdfs78XUEiBBew0mAOSB0+jvwdBI7wXTuU4oeiBhARjvBdfZb6+CIUQFe + w1WL7FNWVzP/Rzl9DIvwi950KIoRhNJ0KEE6VQh1Bkc7fQx0FooRhNJ17usOOlUIdA//TRB0CogWRkGK + EYTSdexfi8bGBgBeK8NbXcIMAIoKM8BAhMlWi/J0EkI6TCQIdQFAigqEyXXyO/J1AjPAXsIEAN1EJATo + TGACAMIIAN1EJAToQGACAMIIAFaL8IoKiAhAQoTJdAb/TCQIdfArxoN8JAgAdAFIXsIEAFaL8IoIiApC + QITJdfYrxkhew4vIZosQQEBmhdJ0Bv9MJAR18CvB0fhIwgQAM8BAZjlEJAhyFYoKhMl0DzpMJAR0DEJA + ZjtEJAh262YzwMIIAFNWi/CNNLWE85b/jUb/mbmxOgIA9/lXagS/tQUAAIvIi9FryWRp0rE6AgCLxivC + SJle9/5qBIvwweYCjUYDmff/v5kAAACL2IvTadK1BQAAi8YrwoPAB5le9/5qBQPLjTSAjUb9mff/i/iL + 12nSmQAAAIvGK8JAQJle9/6D/wp9BYPHA+sEg+8JQYtUJBBmiQqLTCQUZok5i0wkGF9eZokBW8IMAFMP + t8mD+QJWVw+38A+3+n4Fg+kD6wSDwQlOamRbi8aZ9/tqBIvYi9Nr0mSLxivCacC1BQAAmV73/moFi/CL + wWnAmQAAAEBAmVn3+WoEi8iLw2nAsToCAAPPX5n3/18Dzl5bjYQIH0MaAMNVi+yD7BhTV41F8FCLRQjd + QAxRUd0cJP8V4LECEN1d6N1F8OiUXgIA3UXojYgsfQAA3A3I+wIQiUX4jQSNAwAAAJncBcD7AhC/sToC + APf/agRfagSJRQhpwLE6AgCZ9/+/tQUAACvIjQSNAwAAAJn3/19qBVtqColF/GnAtQUAAJn3/7+ZAAAA + K8iNRIkCmff/i/hpwJkAAABAQJn3+yvIQWaJTgaLx5lZ9/mDxATdHCSNDEDB4QIr+YtNCGvJZAPIi0X8 + jYQBQO3//4PHA2aJfgJmiQb/FcixAhBZWejaXQIAi/gPt8eZuRAOAACL2ff7M9JqPGaJRgiLx/fxX1eL + yg+3wZn3/zPSZolGCovBWffxi0X4agdZQF9bZolWDDPS9/Fmg2YOAGaJVgTJwgQAVYvsUVFTVlcPt3kC + ag5YK8eZagxe9/4PtzFqBbuQAQAAK/CNBECNBIdpwJkAAAAtyQEAAJlf9/+BxsASAABqZIv4D7dBBgP4 + i8aZ9/tbagQD+IvGacBtAQAAA/iLxpn3+yv4i8aZXvf+D7dRCo2EB9OC//+JRfwPt0EI20X8D7dJDGvA + PN1d+N1F+APCa8A8A8GJRfyLRQjbRfxfXlvdXfjdRfjcNcj7AhDewd1YDMnCBABVi+yD7BDdBdD7AhDc + UQzf4PbEQQ+KggAAAN3Y3UEMU91d+N1F+FeNRfBQUVHdHCT/FeCxAhDdXfiDxATdRfjcDcj7AhDcBcD7 + AhDdHCT/FcixAhDdXfhZ3UXwWdwl0PsCEOhyXAIAagBogFEBAFJQ6OBcAgDdRfiL+Iva6FhcAgBqAAP4 + aICWmAAT2lNX6MJcAgBfiQaJVgRbycPdBbj7AhDdQQza6d/g9sRED4pt////gyYA3diDZgQAycNVi+yD + 7BCLEItABLleWsgkO8F8Xn8IgfqAqSfRdlS6gKkn0YvBU2oAaICWmABQUugkXgIAagBogFEBAFJQ6DZd + AgCJXfyJTfjfbfiJRfCJVfRb3V343UX43DXI+wIQ323w3V3w3EXw3AXQ+wIQ3V8MycOLygvIda3Z7uvx + gT3UYAMQIAMAALqwzwIQcwW6lM8CEOmQ3v//VYvsi00IM9JWQjP26Azm//+FwHUauPcBAADrI4tNCP9N + DDPS6Dzl//+L8IX2dQaDfQwAdeeLTQjo7uX//4vGXl3CCACLFotMJAhqAOhI5f//i1QkBItMJAhqA1fo + IOX//zvHdAwz0kIzyegE5f//6wQBPjPAwggAVYvsi1UM6H7l//+D+P91B7i2AAAA6y+LTRBqAIvQ6P7k + //+LVQiLTRBqA/91DOjW5P//O0UMdAwz0kIzyei55P//6wIzwF3CDAAPv04BV+gX5f//i/iD//91B7gm + AwAA60eLVCQMi87oHOX//4P4/3UHuLYAAADrMGoAi9CLz+id5P//i1QkCGoD/3QkEIvP6HTk//87RCQM + dAwz0kIzyehW5P//6wIzwF/CCADdQAxWD79wAmoA6FFaAgCL0ANUJBSLzuhY5P//i1QkCGoB/3QkEIvO + 6C/k//87RCQMXnQMM9JCM8noEOT//+sCM8DCDADdRgxXD79+AmoA6AxaAgCL0IvP6Bfk//+LVCQIagH/ + dgiLz+jv4///O0YIX3QMM9JCM8no0eP//+sCM8DCBABVi+yD7CRXaggzwIN9CADGRdwwWY193fOrZquq + X3QQjU3c6MDc//+LTQjo1eP//8nCBABVi+yD7DRWizNXaggzwIX2xkXMMFmNfc3zq2arqnRFjUXwUIPK + /4vO6Lzj//+FwHUHuKoAAADrZ4tVCI1NzOhx3P//hcB1WItVDI1N8OjD4v//hcB1SYtNDOgN4///hcB0 + O+s7i00IZoNl9wBqAI1V8OiL4v//i/CF9n0E99jrH4tVDI1N8OiK4v//hcB1EItNDOjU4v//hcB1BIkz + M8BfXsnCCABmg3kB/3UF6WTi///pfeP//+hC4///g/j/dQe4qgAAAOsb/3QkBDPSi8joFeP///fYG8Al + Vv///wWqAAAAwgQA6BPj//+D+P91B7gmAwAA6x3/dCQEi1QkDIvI6OTi///32BvAJdr8//8FJgMAAMII + AOji4v//g8r/O8J1B7iqAAAA6xn/dCQEi8joteL///fYG8AlVv///wWqAAAAwgQAVYvsi00IV+is4v// + i/iDyv87+nQQVovP6Ifi//+FwHQEi8frEv91DItNCGaDZgcAi9boheH//19dwggAD7dOAzPSQuhO4v// + g/j/i0wkBIkBdQe4sAAAAOsUD7dOA2oCWugw4v//i0wkCIkBM8DCCACLThyFyXQN6Gve//+LThzpm93/ + /8NVi+yD7AxWV4vTjX30xkX/BugI7///izOAPi11CMZF9C2NffVGigY8MHwyPDl/Ljw5fw/+Tf90CogH + R0aKBjwwfe2NRfRQxgcA/xXwsQIQWYtNCGaJATPAiTNA6wIzwF9eycIEAFWL7IPsEFZXi9ONffDGRf8L + 6KPu//+LM4A+LXUIxkXwLY198UaKBjwwfDE8OX8tPDl/D/5N/3QKiAdHRooGPDB97Y1F8FDGBwD/FfCx + AhBZi00IiQEzwIkzQOsCM8BfXsnCBABWi9eL8OhL7v//igaEwIsPdA2KETrQdA1GigaEwHX1M8BewgQA + igaLVCQIiAJBM8CJD0Dr7Ogb7v//iwKKCDpMJAR1CECJAjPAQOsCM8DCBABWV4v46Pvt//+LMuswig6A + +WF8DYD5en8ID77Jg+kg6wMPvsk8YXwMPHp/CA++wIPoIOsDD77AO8h1EEZHigeEwHXKM8CJMkBfXsMz + wOv5VovXi/Doq+3//4sP6wiKEUZBOtB1DooGhMB18kkzwIkPQF7DM8Bew1aL14vw6IPt//+LB4oIitGA + +id0E4D6InQOM8DrJjrKdBT/TCQIdAqIDkZAigiEyXXsOBB1BooIiA5GQMYGAIkHM8BAXsIEAFNWi/Do + PO3//4sCihiA+yd0FoD7InQRM8DrITrLdBT/TCQMdAqIDkZAigiEyXXsOBh1AUDGBgCJAjPAQF5bwgQA + Vovw6Pzs//+LAooIgPlhfAWA+Xp+E4D5QXwFgPlafgmA+V90BDPA60qIDkZA/0wkCOsy/0wkCHQygPlh + fAWA+Xp+HoD5QXwFgPlafhSA+TB8BYD5OX4KgPlfdAWA+S51CogORkCKCITJdcjGBgCJAjPAQF7CBABW + i/Dohez//4sCigiA+WF8BYD5en4TgPlBfAWA+Vp+CYD5X3QEM8DrRYgORkD/TCQI6y3/TCQIdC2A+WF8 + BYD5en4ZgPlBfAWA+Vp+D4D5MHwFgPk5fgWA+V91CogORkCKCITJdc3GBgCJAjPAQF7CBABVi+yD7BSL + RQyKAITAU1aLdQhXD4SjAQAAjV0Qg+sIjX0MPCUPhSABAAD/RQyLRQyKADwwfBg8OX8UjU0Mx0X0AQAA + AOit7f//iUX86wuDZfQAx0X8BgAAAItFDIoAD77Ig/lVD4+zAAAAD4SjAAAAg/lCdHeD+UZ0ZYP5SXRT + g/lMdHyD+VMPhawAAACDxwSLD4PDBIXJD4QPAQAAg330AHUl6wSIBkZBigGEwHX26fgAAACLRfz/TfyF + wA+E6gAAAIoRiBZGQYA5AHXn6doAAACDxwT/N4PDBOmVAAAAg8cIg8MI3QPpnAAAAP9zDIPDCP8zi8aD + xwjooPD//4vwg8cE/zeDwwRW6G7w///plwAAAIPHBP83g8ME6z+L0YPqYnR0agRZK9F0UYPqA3Q8g+oK + dC9KSnQbPCV0BMYGJUaLRQyKAITAdAWIBkbrXf9NDOtYA/kPtwcD2VBW6DHx///rRgP5igcD2eveA/kP + vwcD2VBW6J3x///rLgP52QcD2d1d8N1F8P91/FFR3RwkVuhc7v//6xL/cwyDwwj/M4vGg8cI6Ejw//+L + 8P9FDItFDIoAhMAPhWb+//9fi8YrRQjGBgBeW8nDVjP2O8ZXi/l1Gf90JAz/FdCxAhA7xll1Cok3M8BA + X17CDABWVv90JBz/dCQcUP90JCBWVv8VrLACEDvGiQd121ZW/xVYsAIQaFTQAhCL+OhrGAIAM8Drxlcz + /zl8JAx1BWaJPus2/3QkEFb/dCQU/3QkFGoBV/8VuLACEDvHdRhXV/8VWLACEGhU0AIQi/joKxgCADPA + 6wdmiTxGM8BAX8IMAIXbdQuLRCQIIRgzwEDrYFZXjTwbjUcCUP8V+LECEIvwhfZZdQyLRCQUxwC2AAAA + 6ytXVlP/dCQYagFqAP8VuLACEDPJO8F1GFFR/xVYsAIQaFTQAhCL+OjAFwIAM8DrDWaJDEaLRCQQiTAz + wEBfXsIMAFWL7IPsIFYz9jl1CFeL+XRsjU34UVD/FaiwAhCFwHUPVlb/FViwAhBoPNACEOtAjUXwUI1F + +FD/FbywAhCFwHUPVlb/FViwAhBoJNACEOsfjUXgUI1F8FD/FbCwAhCFwHUYVlb/FViwAhBoDNACEIv4 + 6DQXAgAzwOtNjUXgZosIZjvOdjdmgfkQJ3MwD7dQDFIPt1AKUg+3UAhSD7dQBg+3QAJSUA+3wVBo5M8C + EGogV/8V2LECEIPEJOsIvtzPAhClZqUzwEBfXsnCBABVi+yD7BhWM/Y5dRBXdCqNRfhQ/3UI/xW8sAIQ + hcB1D1ZW/xVYsAIQaCTQAhDrKI1F6FCNRfhQ6weNRehQ/3UI/xWwsAIQhcBWdRdW/xVYsAIQaAzQAhCL + +Oh/FgIAM8DrC4tNDI1F6OjG/v//X17JwgwAVYvsg+wQVleNdfjo1PP//zP2OXUMdCaNRfBQjUX4UP8V + kLECEIXAdQ9WVv8VWLACEGhg+QIQ6yONRfDrA41F+P91CFD/FbCwAhCFwHUYVlb/FViwAhBoDNACEIv4 + 6AgWAgAzwOsDM8BAX17JwggAVYvsg+wQV4v4jUX4UP91CP8VqLACEIXAdQ9QUP8VWLACEGg80AIQ6yWD + fQwAdC+NRfBQjUX4UP8VvLACEIXAdRhQUP8VWLACEGgk0AIQi/jophUCADPA6xCNRfDrA41F+OjM8/// + M8BAX8nCCABVi+xRUWhgQwUQ/xW0sAIQg/j/dRpXagBqAP8VWLACEGgk+gIQi/joYRUCAF/Jw4P4AXQX + g/gCdSKhYEMFEIsNCEQFEAPIiU386xChtEMFEIsNYEMFEAPBiUX820X83V343UX43A0o/AIQ3DXI+wIQ + 3EYM3V4MycNVi+xRUWhgQwUQ/xW0sAIQg/j/dRpXagBqAP8VWLACEGgk+gIQi/jo6RQCAF/Jw4P4AXQX + g/gCdSKhYEMFEIsNCEQFEAPIiU386xChtEMFEIsNYEMFEAPBiUX820X83V343UX43A0o/AIQ3DXI+wIQ + 3G4M3V4MycNVi+xRUVZXM/85fQx0MI11+OgB8v///3UIi8ZQ/xWQsQIQhcB1IFdX/xVYsAIQaGD5AhCL + +OhjFAIAM8DrC4t1COjR8f//M8BAX17JwggAVYvsUVGDfQgAV4v5dCqNTfhRUP8VvLACEIXAdRhQUP8V + WLACEGgk0AIQi/joHRQCADPA6wuNRfjoSPL//zPAQF/JwgQAVYvsgewAAQAA/3UIjYUA////aDz6AhBQ + 6GT5//+DxAyNjQD////oMtH//8nCBADohtj//4P4/4tMJASJAXUaagBqAGhQzwIQaGTPAhDoKBMCALhO + YbwA6wIzwMIEAOh12P//g/j/i0wkBIkBdRpqAGoAaFDPAhBoRM8CEOj5EgIAuE5hvADrAjPAwgQAVY1s + JIyB7CwCAABWV4lFcGoIM8DGRUwwWY19TfOrZquqvoAAAABWjUXIjVVw6FD4//+FwHRlai7osvb//4XA + dE1WjYVI////6DX4//+FwHQ9jUXIUI2FSP7//2gMzwIQUOiO+P//g8QMjZVI/v//jU1M6GPQ//+FwHUl + /3VUjY1I/////3V86H/0///rEv91fI1NyOhD9P//6wW4qgAAAF9eg8V0ycIEAFWL7IPsZFdqCFn/dRAz + wP91CMZF3DCNfd3zq2arqo1FnGjIzgIQUOgf+P//g8QQjVWcjU3c6PfP//+FwHVKi034Vug00///i034 + 6N7S//+LyOgk1///jXXci/jo0/T//4P//151B7gmAwAA6xv/dQyLVRCLz+js1v//99gbwCXa/P//BSYD + AABfycIMAFWL7IHsLAEAAFZXagjGRdgwM8BZjX3Z86uLTQhmq6roydb//4vwg/7/dQe4JgMAAOtE/3UQ + jYXU/v//aAzPAhBQ6Hj3//+DxAyNldT+//+NTdjoTc///4XAdRv/dQyLVeCLzuhx1v//99gbwCXa/P// + BSYDAABfXsnCDABVi+yB7AABAACDfRABjYUA////dhn/dRD/dQz/dQhoMM8CEFDoGff//4PEFOsU/3UM + /3UIaBzPAhBQ6AP3//+DxBCNjQD////o0c7//8nCDABVi+yD7CRTV2oHM9tZM8DGRdxMiF3dZold3old + 4I195POri30IVovP6Azz//89qgAAAHUe/3UQ/3UMV+hv////O8N1TFaLz+jt8v//O8N0Nus+O8N1Ov91 + EP91DFfoTf///zvDdSqNVdyLzmaJXgfoxNT//zvDdRgzwIN9EAEPl8BAZolGB2aJXglmiV4LM8BfW8nC + DABVi+xRVovwi87okNX//4XAiUX8fQ6LRQjHAIUDAACDyP/reQ+/TgFT6GfV//+L2IP7/3UcD79GAWoA + agBocM8CEGhkzwIQ6NITAgCDyP/rS4vO6FHV//+L8IX2fw11BDPA6ziLRQiJMOvhVv8V+LECEIXAWYkH + dQuLRQjHALYAAADryItV/GoAi8vou9T//4sXagFWi8vol9T//1teycIEADPAg3kcAg+UwMOJSBzDiEgl + w1GF0lZ0RIvCjXABighAhMl1+SvGiUQkBHQwjUsmi/GLwivyihCIFAZAhNJ19kmKQQFBhMB1+FeL+b4Y + +gIQpaVmpaTGQyQBX+sExkMkAF5Zw7gBQACAwgwAuAFAAIDCFAAzwMIMALgBQACAwggAuAFAAIDCCAD/ + FYCxAhCLTCQEiUEgM8DCDACLRCQEBSgQAAD/CIsAwgQAi0QkBAUoEAAA/wCLAMIEADPAg3koAg+UwMOL + RCQEiUEowgQAi0gQi1AEUGoAUVJqAOjj1P//w4tEJARTM9s4WCR0dzhYJVaNsCYIAAB1GmpjU1ODwCZQ + Vuiz9P//g8QUi87ohcz//+tQOVgcdQRqY+sCamRTg8AmU1BW6JD0//+DxBRXjXgBV/8V+LECEDvDWXQl + i8+L0cHpAov486VTUIvKaAEEAAD/NQRABRCD4QPzpP8VCLMCEF9eM8BbwgwAVYvsg+wkU1aLdQgzwDhG + JFcPhLwAAABqCFn/dRTGRdww/3UQjX3d/3UM86tmq6qNRiZQjZ4mCAAAU+gR9P//g8QUgH4lAIv4dSeL + 041N3Ojiy///hcB1doB93Ex1cItF4PfYG8Al/L//fwUEQACA62KDfhwAdVf/FYCxAhCLTiCL0CvRgfr0 + AQAAdwQ7wXM6iUYgjXcBVv8V+LECEIXAWXQoi86L0cHpAov4i/PzpWoAUIvKaAEEAAD/NQRABRCD4QPz + pP8VCLMCEDPA6wW4BEAAgF9eW8nCFABVi+yLRRCDIABWi3UMV2oEWb+I+QIQM9Lzp3QRi3UMagRZv3j5 + AhAz0vOndROLTQiFyYkIdAqLAVH/UAQzwOsFuAJAAIBfXl3CDACDwAzpN/7//1P/dCQIjV4Q6IYQAQD/ + dCQMjV4c6HoQAQCLVCQQjV4M6Fb9///GRjEBW8IMALjblAIQ6GtLAgCD7AxTVle+AEUFEDPSi8aJZfCJ + VfzomxIBAITAdSZSUmj8ygIQaKS4AhDotgwCAGg4/QIQjUXsUMdF7E5hvADoaUoCAItBCui/EQEAD7bI + 6GPQ//+LTfRfXmSJDQAAAABbycOLTejoPgwCALiBRwAQw1a+AEUFEOjhEQEAXsNTVmogW74ARQUQ6CYZ + AQBeW8NWV4t8JAyNRwzoYv3//74ARQUQVv8VVLECEIsHi8//UAiEwHUM6OPJ//9X6D/X//9ZVv8VULEC + EF8zwF7CBABVi+xRUVZXjUX4UDP/V4vxVmi9RwAQaAAAAgBX/xWMsAIQO8eJRgR1KVdX/xVYsAIQaHjK + AhCL+OhoDAIAaDj9AhCNRfxQx0X8TmG8AOiMSQIAX17Jw7gbpgIQ6DxKAgBRuNQQAADoWUoCAINl/ACD + DVBQAxD/U1ZXi9mNcwKNvUj///+JZfDoDrIBAI1zJo29eP///8ZF/AHo/LEBAGoDWIvLjXWoxkX8Aujo + sAEAxkX8A2aDOwR1IoN7cgB0HIN9rACwAXUWx0XchQMAAGg4/QIQjUXc6TQBAAAywIF9rAAEAAB2FMdF + 4IUDAABoOP0CEI1F4OkVAQAAhMB1Zo2FHO///+htyP//i1XMjZ0c7///6F77//+NhRzv//9QM/ZW/3Wc + /7Vs////Vuj20P//i/g7/n0Ugf8EQACAdAxWVmgE+gIQ6FsLAgBqC1qLz+gnzv//jbUc7///6EHI///p + vAAAAL8ARQUQi8fodhABAITAdSRqAGoAaPzKAhBozLgCEOiPCgIAx0XoTmG8AGg4/QIQjUXo63doOBAA + AOiU1f//i/CF9ll0DrgARQUQ6API//+L8OsCM/b/dcz/dZz/tWz////oMP3//41F7FCLzovH6HcMAQCE + wHU6hfZ0Dov+6OjH//9W6ETV//9ZagBqAGjQ+QIQaMy4AhDoFgoCAMdF5E5hvABoOP0CEI1F5FDoyUcC + AItN7GoLWuhbzf//jXWo6COtAQCNtXj////oGK0BAI21SP///+gNrQEAi030X15kiQ0AAAAAW8nDi03Y + 6JDH//+4OkoAEMNVi+yD7BBWi/HdRg7cHej7AhDf4PbEBXsQ3UYO3B3g+wIQ3+D2xEF1CrmFAwAA6FfH + ///dRg6NRfhQUVHdHCT/FeCxAhDdXfCDxATdRfjcJej7AhDdXfjdRfDcDcj7AhDcBdj7AhDdHCT/Fcix + AhDdXfBZ3UX4WeghRAIA3UXwi/Bp9oBRAQDoEUQCAAPwagtai87oiMz//17Jw91BDlFR3Rwk6OecAQDD + VYvsg+xEU1aL8TPbOV4KxkW8VH0KuYUDAADowsb//2aDPgF0NTleKnQwi0YKmbmAUQEA9/kFjD0lAIlF + /NtF/IlV9N1d+N1F+N1dyNtF9N1d8N1F8OmWAAAAi0YKmVMFAJEQtr6AlpgAVoPSAlJQ6PxDAgCJReiJ + ReCNRehQjUXgUIlV7IlV5P8VvLACEIXAdRdXagFT/xVYsAIQaCTQAhCL+Oj5CAIAX1NW/3Xs/3Xo6HpF + AgBTaIBRAQBSUIlF6IlV7OiHRAIAiUXwiVX0323wiU34iV383V3w3UXw3AXQ+wIQ3V3I32343V3w3UXw + 3DXI+wIQjU283EXI3V3I6GnL//9eW8nDVYvsg+wUVleL+YtHLo1PAo119IlF/Oj45f//ZoM/AnQhg39O + AHQb/3X8i8ZQ/xWwsAIQhcB1V2oBUP8VWLACEOtAjUXsUI1F9FD/FZCxAhCFwIs1WLACEHUSagFqAP/W + aGD5AhCL+OgtCAIA/3X8jUXsUP8VsLACEIXAdRFqAVD/1ov4aAzQAhDoCwgCAF9eycNVi+xRUWaDOQJW + V4t5LnQSg3lOAHQMg8ECi/foYeX//+sug8ECjXX46FTl//9Xi8ZQ/xWQsQIQhcB1FWoBUP8VWLACEGhg + +QIQi/jotwcCAF9eycO4CJUCEOigRQIAgezYAAAAU1ZXM9uNcQKwAY19pIll8Ild/OiKigEAvwACAACN + tUz////GRfwB6OKqAQCJXYTGRYgBiV2UxkWYAVNoPwAPAGgo+QIQuAIAAICNdYTGRfwE6JIQAQBTU1NT + jUWAUFNTM8kz9o1FhOiADwEAi02AahBYjVWk6OGeAQBTU1ONhVD///9Q/7Vw////jUWE6P4OAQAz/zrD + D4RhAgAAR42VTP///41NpGaJfa1mx0WvAQDoaJ0BAFNqAf+1cP///41FhFDo1g8BAFCNdZTo7wgBAP+1 + cP///74AAgAAaCD5AhAzyY2dUP///41FlIm1UP///+iuDAEAjZVM////jU2kZol9rWbHRa8CAOgPnQEA + /7Vw////M8loHPkCEI1FlIm1UP///+h7DAEAjZVM////jU2kZol9rWbHRa8DAOjcnAEA/7Vw////M8lo + GPkCEI1FlIm1UP///+hIDAEAagRbjZVM////jU2kZol9rWaJXa/oqJwBAI2FfP///1CJXexoEPkCEDPJ + jV3sjUWU6BMMAQCLhXz///+NTaRmiX2tZsdFrwUA6HuGAQCNhSD///9QaAz5AhAzyY1FlMdF7CwAAADo + 3gsBAIuFIP///41NpGaJfa1mx0WvBgDoRoYBAIuFJP///2aJfa1mx0WvBwCNTaToLoYBAIuFKP///41N + pGaJfa1mx0WvCADoFoYBAA+3hS7///+NTaRmiX2tZsdFrwkA6P2FAQAPt4Uy////jU2kZol9rWbHRa8K + AOjkhQEAD7eFMP///41NpGaJfa1mx0WvCwDoy4UBAA+3hTT///+NTaRmiX2tZsdFrwwA6LKFAQAPt4U+ + ////jU2kZol9rWbHRa8NAOiZhQEAD7eFQv///41NpGaJfa1mx0WvDgDogIUBAA+3hUD///+NTaRmiX2t + ZsdFrw8A6GeFAQAPt4VE////jU2kZol9rWbHRa8QAOhOhQEAM8BQUFCNhVD///9Q/7Vw////jUWEibVQ + ////6DwMAQAz2+mX/f//D7dNrWoFWuhwx///OV2UdA44XZh0Cf91lP8VKLACEDldhHQOOF2IdAn/dYT/ + FSiwAhCNtUz////oD6cBAI11pOg/hgEAi030X15kiQ0AAAAAW8nDi40c////6HwDAgC4QFAAEMNVi+yD + 7DRWjUXMi/HoRMD//2aDPgB0EoN+BgB0DI1F8FD/FYixAhDrCo1F8FD/FYyxAhCNRcxQjU3w6BKMAQCN + Tczoxsb//17Jw1WL7IPsRIMNUFADEP9TVleNReBQi9ndQw6NRbxQ3V3IxkW8VOivjAEAjXXgjX3wpaWl + pTP2ZoM7AXQiOXMqdB2NRfBQ/xV8sQIQhcB1NVZW/xVYsAIQaFC6AhDrG41F8FD/FaixAhCFwHUYVlb/ + FViwAhBo6OMCEIv46HgDAgAzyesDM8lB6K/G//9fXlvJw1WL7IPsJN1BDlFRjUXc3Rwk6EGfAQCLyOgW + xv//ycNVi+yD7CSDwQKNRdzoT58BAN1F6Nwl+EQFEIvI3V3o6PDF///Jw1WL7IPsJIPBAo1F3OgpnwEA + 3QX4RAUQ3EXoi8jdXejoysX//8nDVYvsg+wkVovxi04KjUXcUMZF3FTo84oBAGaDPgF0BoN+KgB1DN1F + 6Nwl+EQFEN1d6I1N3OiPxf//XsnDVYvsg+wkVleL+YtHCo113MZF3FToRIoBAGaDPwF0BoN/KgB1DN1F + 6Nwl+EQFEN1d6I1N3OhTxf//X17Jw1WL7FFRiwdTajxZM9L38WoYZolWDDPS9/FZagdbZolWCjPS9/GN + iK3ZJABmiVYIjUEBmff7jUYGUI1GAlBWi8FmiVYE6MLc///bRwSLRwSFwH0G3AX4+wIQ3V343UX43A3w + +wIQ3AXY+wIQ6GY8AgBmiUYOW8nDVYvsUVFmi1YGZotOAmaLBugk3f//D7dOCC2t2SQAjQRAjQTBD7dO + CmvAPAPBD7dODGvAPAPBiQcPt0YOiUX8UVHbRfzdXfjdRfjcDQD8AhDdHCT/FbixAhBZWej/OwIAiUcE + ycNX/zaLPdCzAhD/1/92BIkG/9eJRgRfw1f/Nos9zLMCEP/X/3YEiQb/14lGBF/DVYvsUVHdRQiNRQhQ + UVHdHCT/FeCxAhDdXfjdRQjoqjsCAN1F+NwNCPwCEIPEBIkG3Rwk/xW4sQIQWVnojDsCAIlGBMnCCABV + i+xRUYtIBNtABIXJfQbcBfj7AhCLAN1d+IXA3UX43A3w+wIQiUX83DUQ/AIQ20X8fQbcBfj7AhDdXfjd + RfjewcnDVY1sJIiB7MgBAACDTXT/g01o/1OL2YtTBotLHlZXQujRwf//ZoXAdQq5tgAAAOj8vf//i0se + 6FzB//+LSx7oBsH//2aLM2aD/gOJRXB8B4tDUoXAdQWh8FADEDPSuegDAAD38YOlsP7//wCNfThqDFmJ + RVgzwKurq6szwGaD/gSNffiJVVzzq3wSOUN2dA2KQ3bA4AMMA4hF+OsExkX4E2oCX2Y792aJfTh8DIN7 + LgB0Bg+3Qy7rA2p7WFD/FcCzAhD/dXBmiUU6/xWoswIQg/j/iUU8dTH/dXD/FeSzAhAz9jvGdAyLQAyL + AIsAiUU86xhWVmgg2QIQaBDZAhDoXf8BAOmhAgAAM/ZWV1f/FbizAhCD+P+JRXR1HFZW/xXEswIQaPT4 + AhBo7PgCEOj3AgIA6XICAACLlbD+//8zyTvWdg45hI20/v//dAVBO8py8jvKdRKD+kBzDYmEjbT+//// + hbD+//9qEI1NOFFQ/xXUswIQg/j/dRRWVv8VxLMCEGj0+AIQaOT4AhDroI1FSFD/FYixAhCNfRCNdUjo + Qf3//4v36Lb9//8z9lZqMI1F+FD/dXT/FbCzAhCDz/87x3UXVlb/FcSzAhBovPgCEGi0+AIQ6VT///+N + RVhQVlaNhbD+//9QVv8VyLMCEIlFcI1FSFD/FYixAhA5fXBWdRZW/xXEswIQaIz4AhBohPgCEOkX//// + OXVwdRBWaGz4AhBohPgCEOnT/v//akSNRbRQ/3V0/xW8swIQO8d1F1ZW/xXEswIQaEj4AhBoQPgCEOnY + /v///3V0/xW0swIQO8d1F1ZW/xXEswIQaBz4AhBoEPgCEOm0/v//ikW0JMA8wIl9dHUdVlZo2PcCEGi8 + uQIQ6Mr9AQDHRWj+////6QcBAACAfbUBD4LlAAAAgH21Dw+H2wAAADl13HUdVlZocPcCEGi8uQIQ6JT9 + AQDHRWj8////6dEAAACNdRDoaPz//4111Ohg/P//jXXc6Fj8//+NfWyNdUjo6Pv//41FEOi6/P//3V1g + jUXU6K/8///dXTCNRdzopPz//91dKIvH6Jr8///dXWzdRShR3GVsUd1FMI11YNxlYN7B3DXQ/AIQ3V1g + 3UVg3EVs3V1g3UVg3Rwk6CD8//+NdUiNfWDoC/v//4vGUP8VfLECEIXAdRZQUP8VWLACEGhQugIQi/jo + bf0BAOsli0se6Dq+//8zyUHrMlZWaKD3AhBovLkCEOi+/AEAx0Vo/f///4tLHugVvv//g310/3QJ/3V0 + /xW0swIQi01oagta6Pq///9fXluDxXjJw4sGhcB0DYB+BAB0B1D/FTxDBRCLRCQEiQbGRgQBi8bCBACL + BoXAdA2AfgQAdAdQ/xU8QwUQi0QkBIkGxkYEAIvGwgQAiwiFyXQNgHgEAHQHUf8VPEMFEMOLAIXAdAdQ + /xU8QwUQw7gRkwIQ6KM6AgCD7BBTVjP2iXX8oTxDBRCDDVBQAxD/O8ZXiWXwdRHHRezyAgAAaDj9AhCN + RezrLP9xCv/QO8Z1KVZW/xVYsAIQaDC4AhCL+Ohg/AEAx0XoTmG8AGg4/QIQjUXoUOiEOQIAM8lB6Ia/ + //+LTfRfXmSJDQAAAABbycOLTeToYfsBALheWAAQw1doWNYCEP8VYLACEIv4hf8PhIEAAABWizXQsAIQ + aCT3AhBX/9ZoMLgCEFejOEMFEP/WaBD3AhBXozxDBRD/1mj49gIQV6NAQwUQ/9Zo6PYCEFejREMFEP/W + aNj2AhBXo0hDBRD/1mjEtwIQV6NMQwUQ/9ZoTPcCEFejUEMFEP/WaMD2AhBXo1RDBRD/1l6jWEMFELAB + X8NqAGoB/xVYsAIQaPzRAhCL+Oh5+wEAMsBfw1WL7P91CP8w/xVUQwUQhcB1KVBQ/xVYsAIQaEz3AhCL + +OhP+wEAaDj9AhCNRQhQx0UITmG8AOhzOAIAXcIEAFWL7I1ICFH/dQj/MP8VUEMFEIXAdSlQUP8VWLAC + EGjEtwIQi/joDPsBAGg4/QIQjUUIUMdFCE5hvADoMDgCADPAQF3CBABVi+xRV41+CFeLxuhr////i0YM + g/gEdQgzwEDpxgAAAIP4AnRD/3UM/3UI/zb/FUhDBRCFwHUpUFD/FViwAhBoILgCEIv46KX6AQBoOP0C + EI1FDFDHRQxOYbwA6Mk3AgBXi8boE////4s9gLECEFOLXhzGRQ8A/9eJRfyLRRCFwHRjg/j+dQWLRiDr + CmnA6AMAAMZFDwGJRQjrO41GCFCLxujV/v//OV4cdhaAfQ8AdRr/14teHIlF/ItGIIlFCOsK/9crRfw7 + RQh3EWhNAQAA/xWEsQIQg34MBHW/M8CDfgwED5TAW1/JwgwAVYvsiwaFwHQNgH4EAHQHUP8VPEMFEP91 + EP91DP91CP8VTEMFEIXAiQZ1KVBQ/xVYsAIQaEy4AhCL+OjG+QEAaDj9AhCNRRBQx0UQTmG8AOjqNgIA + xkYEAV3CDABW/3QkEIvw/3QkEP90JBDokP///4vGXsIMAFWL7P91FP91EP91DP8VOEMFEIXAi00IiQF1 + KVBQ/xVYsAIQaGD3AhCL+Ohg+QEAaDj9AhCNRRRQx0UUTmG8AOiENgIAXcIQAFWL7P91FP91EP91DP91 + COik////i0UIXcIQALhRlQIQ6Bk3AgCB7DABAACDZfwAgw1QUAMQ/4M9OEMFEABTVleJZfCL2XUUx0Xo + 8gIAAGg4/QIQjUXo6ccAAABqAWoHjXMCjb14////6FSRAQBqAliLy4219P7//8ZF/AHouJ0BAGoDWIvL + jbXE/v//xkX8AuiknQEAagRYi8uNtST////GRfwD6JCdAQAz/4l97Im9VP///8aFWP///wHGRfwGikMm + PEl0RzxOdEM8Q3UuV/+1SP///41F7P+16P7//1Do1P7//2oU/7UY////jbVU/////3Xs6Ej+///rScdF + 5IUDAABoOP0CEI1F5OsVZoM7An4Vx0XghQMAAGg4/QIQjUXgUOhYNQIAPE51C91DMuhmMgIAiUMu/3Mu + jbVU////6Aj7//+NRcRQjYVU////6H78//+LRdiNjXj///9mx0WBAQDoYHgBAItFzI2NeP///2bHRYEC + AOhMeAEAi0XIjY14////ZsdFgQMA6Dh4AQCLRdSNjXj///9mx0WBBADoJHgBAItFxI2NeP///2bHRYEF + AOgQeAEAi0XcjY14////ZsdFgQYA6Px3AQCLRdCNjXj///9mx0WBBwDo6HcBAGoLM8laQegyuv//jYVU + ////xkX8Beh1+v//xkX8BDl97HQJ/3Xs/xU8QwUQjbUk////6NaZAQCNtcT+///oy5kBAI219P7//+jA + mQEAjbV4////6O14AQCLTfRfXmSJDQAAAABbycOLTcDoLfYBALiSXQAQw7iJlQIQ6N80AgCB7MgAAABT + M9tWiV38gw1QUAMQ/zkdOEMFEFeJZfCL+XUUx0Xo8gIAAGg4/QIQjUXo6YkAAAAzwECLz421LP///+iU + mwEAagNYi8+NtVz////GRfwB6ICbAQBqBFiLz411jMZF/ALob5sBAIld7IldvMZFwAHGRfwFikcCPEl0 + RTxOdEU8Q3UoU/91sI1F7P91gFDowfz//2gAAQAA/7VQ////jXW8/3Xs6DX8///rL8dF5IUDAABoOP0C + EI1F5FDoXDMCADxOdQvdRw7oajACAIlHCv93Co11vOgP+f///3cujUW86Mj6//9qC1qLyOjKuP//jUW8 + xkX8BOgQ+f//xkX8Azld7HQJ/3Xs/xU8QwUQjXWM6HSYAQCNtVz////oaZgBAI21LP///+hemAEAi030 + X15kiQ0AAAAAW8nDi03g6Nb0AQC46V4AEMO4wZUCEOiIMwIAgezIAAAAUzPbVold/IMNUFADEP85HThD + BRBXiWXwi/l1FWg4/QIQjUXkUMdF5PICAADokzICAGaDPwJ8CotHLjvDiUXodQfHRej/AQ8AM8BAi8+N + tSz////oJZoBAGoDWIvPjbVc////xkX8AegRmgEAagRYi8+NdYzGRfwC6ACaAQCJXeyJXbzGRcABU8ZF + /AX/dbCNRez/dYBQ6GH7////deiNdbz/tVD/////dezo1/r//4tNvGoLWohdwOikt///i8bGRfwE6Ov3 + ///GRfwDOV3sdAn/dez/FTxDBRCNdYzoT5cBAI21XP///+hElwEAjbUs////6DmXAQCLTfRfXmSJDQAA + AABbycOLTeDosfMBALgOYAAQw7jblQIQ6GMyAgCD7DhTVjPbV4ldvMZFwAGJXfyJXeCNRehQjUXwUFNT + xkX8AYtFCGoB/zD/FVhDBRD/FViwAhA96gAAAHQEU1PrNot98I114Ohe9gAAi0XgjU3oUY1N8FH/dfCJ + RexQi0UIagH/MP8VWEMFEIXAdSlTU/8VWLACEGg09wIQi/jo6fMBAGg4/QIQjUUIUMdFCE5hvADoDTEC + ADP/OV3odiqLRexqLP8wjXW8/3UM6Lb5////dQyLzmr/agHofAEAAINF7CRHO33octY5XeBfXlt0Cf91 + 4Og2vv//WYNN/P+NRbzorvb//4tN9GSJDQAAAADJwggAVYvsUVFXi/j/FYCxAhCD//6JRfh1CItGIIlF + /OsJaf/oAwAAiX38g338AHUEM8DrOzleDHQujX4IV4vG6ML3//85Xgx0Hv8VgLECECtF+DtF/HcQaE0B + AAD/FYSxAhA5Xgx11TPAOV4MD5TAX8nDVYvsU1ZXi/CNfghX6IP3//+LRgxqBFs7w3UFM8BA60WD+AV0 + OFdqA/82/xVQQwUQhcB1KVBQ/xVYsAIQaMS3AhCL+OjB8gEAaDj9AhCNRQhQx0UITmG8AOjlLwIAi0UI + 6Cz///9fXltdwgQAVYvsU1ZXi/CNfghX6Bf3//+LRgxqB1s7w3UFM8BA60WD+AZ0OFdqAv82/xVQQwUQ + hcB1KVBQ/xVYsAIQaMS3AhCL+OhV8gEAaDj9AhCNRQhQx0UITmG8AOh5LwIAi0UI6MD+//9fXltdwgQA + VYvsU1aL8VeNfghXi8boqfb//4tGDDPbQzvDdQSLw+tTg/gDdEaAfQgAdAn/dRBW6Ib9//9XU/82/xVQ + QwUQhcB1KVBQ/xVYsAIQaMS3AhCL+Oja8QEAaDj9AhCNRQhQx0UITmG8AOj+LgIAi0UM6EX+//9fXltd + wgwAuP+hAhDooy8CAIHsFAEAAINl/ACDDVBQAxD/gz04QwUQAFNWV4ll8IvZdRrHhXT////yAgAAaDj9 + AhCNhXT////plgQAAGoKagGNcwKNfYjo24kBAGoCWIvLjbUQ////xkX8Aeg/lgEAagNYi8uNteD+///G + RfwC6CuWAQC/BgEAAI21QP///8ZF/APokJQBADPJiU3giU3YxkX8BmaLA2Y9BADHRdQDAAAAx0XQMAAA + AMdF6AAgAACJTYR8CotTdjvRdAOJVdRmPQUAfA2Lm5oAAAA72XQDiV3QagT/tQT///+NReD/tTT///9Q + 6DX3//+LfeiNddjo9/IAADPbOR1EQwUQD4SnAQAAU41FhFCNReRQjUXoUP916P912P911P910FP/deD/ + FURDBRA7w3UL/xVYsAIQiUXs6wOJXeyLfew7+3Qogf/qAAAAdCBTU2io9gIQ6FvwAQDHRYBOYbwAaDj9 + AhCNRYDpbQMAAIt92ItF5P9N5IXAD4T7AAAAagGNRYjo9JcBAIvwZol1kWbHRZMBAP83jZ1A////6HGQ + AQCL0I1NiOiDhgEAZol1kWbHRZMCAP93BOhVkAEAi9CNTYjoZ4YBAGaJdZFmx0WTAwCLRwiNTYjoWXAB + AGaJdZFmx0WTBACLRwyNTYjoRHABAGaJdZFmx0WTBQCLRxSNTYjoL3ABAGaJdZFmx0WTBgCLRxiNTYjo + GnABAGaJdZFmx0WTBwCLRxyNTYjoBXABAGaJdZFmx0WTCACLRxCNTYjo8G8BAGaJdZFmx0WTCQCLRyiN + TYjo228BAGaJdZFmx0WTCgCLRySNTYjoxm8BAIPHLDPb6ff+//+BfezqAAAAD4XbAQAAi33ogf8AIAAA + D4J0/v//uACAAAA7+HcFi/iJfeiNddjoR/EAAOlZ/v//OR1AQwUQD4QJAgAAi33YjUWEUI1F5FCNRehQ + /3XoV/911P910P914P8VQEMFEDvDdQv/FViwAhCJRezrA4ld7Dld7HQygX3s6gAAAHQpi33sU1NolPYC + EOin7gEAx4V8////TmG8AGg4/QIQjYV8////6bMBAACLReT/TeSFwA+E+QAAAGoBjUWI6D2WAQCL8GaJ + dZFmx0WTAQD/N42dQP///+i6jgEAi9CNTYjozIQBAGaJdZFmx0WTAgD/dwTono4BAIvQjU2I6LCEAQBm + iXWRZsdFkwMAi0cIjU2I6KJuAQBmiXWRZsdFkwQAi0cMjU2I6I1uAQBmiXWRZsdFkwUAi0cUjU2I6Hhu + AQBmiXWRZsdFkwYAi0cYjU2I6GNuAQBmiXWRZsdFkwcAi0ccjU2I6E5uAQBmiXWRZsdFkwgAi0cQjU2I + 6DluAQAzwI1NiGaJdZFmx0WTCQDoJW4BADPAjU2IZol1kWbHRZMKAOgRbgEAg8ckM9vp+f7//4F97OoA + AAB1Kot96IH/ACAAAA+Cdv7//7gAgAAAO/h3BYv4iX3ojXXY6JbvAADpW/7//w+3TZFqBVroHbD//zld + 2HQJ/3XY6N23//9ZxkX8BDld4HQJ/3Xg/xU8QwUQjbVA////6MKPAQCNteD+///ot48BAI21EP///+is + jwEAjXWI6NxuAQCLTfRfXmSJDQAAAABbycPHhXj////yAgAAaDj9AhCNhXj///9Q6A0qAgCLjXD////o + /usBALijZwAQw7g3ogIQ6LAqAgCB7MwAAABTM9tWiV38gw1QUAMQ/zkdOEMFEFeJZfCL+XUUx0Xo8gIA + AGg4/QIQjUXo6b0AAABmgz8CfCeKRyY8SXQcPE50GDwwdBjHReSFAwAAaDj9AhCNReTplAAAADwwdQfH + Ry7+////M8BAi8+NtSj////oMZEBAGoDWIvPjbVY////xkX8AegdkQEAagRYi8+NdYjGRfwC6AyRAQCJ + XeyJXbjGRbwBxkX8BYpHAjxJdEU8TnRFPEN1KFP/dayNRez/tXz///9Q6Fvy//9qRP+1TP///411uP91 + 7OjS8f//6y/HReCFAwAAaDj9AhCNReBQ6PkoAgA8TnUL3UcO6AcmAgCJRwr/dwqNdbjorO7///93Lo1F + uOiS+P//agtai8joZ67//41FuMZF/ATore7//8ZF/AM5Xex0Cf917P8VPEMFEI11iOgRjgEAjbVY//// + 6AaOAQCNtSj////o+40BAItN9F9eZIkNAAAAAFvJw4tN3Ohz6gEAuExpABDDuG+iAhDoJSkCAIHszAAA + AFMz21aJXfyDDVBQAxD/OR04QwUQV4ll8Iv5dRTHRejyAgAAaDj9AhCNRejpvQAAAGaDPwJ8J4pHJjxJ + dBw8TnQYPDB0GMdF5IUDAABoOP0CEI1F5OmUAAAAPDB1B8dHLv7///8zwECLz421KP///+imjwEAagNY + i8+NtVj////GRfwB6JKPAQBqBFiLz411iMZF/ALogY8BAIld7IlduMZFvAHGRfwFikcCPEl0RTxOdEU8 + Q3UoU/91rI1F7P+1fP///1Do0PD//2pE/7VM////jXW4/3Xs6Efw///rL8dF4IUDAABoOP0CEI1F4FDo + bicCADxOdQvdRw7ofCQCAIlHCv93Co11uOgh7f///3cujUW46HP3//9qC1qLyOjcrP//jUW4xkX8BOgi + 7f//xkX8Azld7HQJ/3Xs/xU8QwUQjXWI6IaMAQCNtVj////oe4wBAI21KP///+hwjAEAi030X15kiQ0A + AAAAW8nDi03c6OjoAQC412oAEMO4p6ICEOiaJwIAgezQAAAAUzPbVold/IMNUFADEP85HThDBRBXiWXw + i/l1FMdF4PICAABoOP0CEI1F4OnrAAAAZosPZoP5AnwnikcmPEl0HDxOdBg8MHQYx0XchQMAAGg4/QIQ + jUXc6b8AAAA8MHUHx0cu/v///2aD+QN8CTlfTsZF6AF1A4hd6DPAQIvPjbUk////6AaOAQBqBFiLz411 + hMZF/AHo9Y0BAGoFWIvPjbVU////xkX8AujhjQEAiV3siV20xkW4AcZF/AWAfwJDdAU4Xeh0E1P/tXj/ + //+NRez/dahQ6DTv//+KRwI8SXRAPE50QDxDdSMzwDhd6I11tA+VwI0ExSQAAABQ/7VI/////3Xs6I7u + ///rL8dF5IUDAABoOP0CEI1F5FDotSUCADxOdQvdRw7owyICAIlHCv93Co11tOho6////3XsjU20/3cu + /3Xo6CD2//9qC1qLyOgdq///jUW0xkX8BOhj6///xkX8Azld7HQJ/3Xs/xU8QwUQjbVU////6MSKAQCN + dYTovIoBAI21JP///+ixigEAi030X15kiQ0AAAAAW8nDi03Y6CnnAQC4lmwAEMO49aICEOjbJQIAgewo + AQAAg2X8AIMNUFADEP+DPThDBRAAU1ZXiWXwi/l1FMdFzPICAABoOP0CEI1FzOkTAQAAZosPZoP5Anwf + ikcmPFJ0GDwwdBTHReCFAwAAaDj9AhCNReDp6wAAAGaD+QN8I4pHSjxJdBw8TnQYPDB0FMdF6IUDAABo + OP0CEI1F6OnCAAAAM8BAi8+NtUT////oP4wBAI1fJovDjbXM/v//xkX8AehtfwEAagRYi8+NtXT////G + RfwC6BeMAQBqBViLz421FP///8ZF/APoA4wBADPJiU3QiU3UiU3YiU3siU2kxkWoAcZF/AeKRwI8SXRB + PE50PTxDdShR/7U4////jUXs/3WYUOhH7f//ahT/tWj///+NdaT/dezovuz//+tGx0XkhQMAAGg4/QIQ + jUXk6xVmgz8EfBXHRdyFAwAAaDj9AhCNRdxQ6M4jAgA8TnUL3UcO6NwgAgCJRwr/dwqNdaTogen//zPA + ZoM/AnwVgDtSdRCNhcz+//9QjUXQUOh8jQEAZoM/A3wGgH9KMHUHx0cu/v////93Uo11pP911FDoTOv/ + /2oLWovI6Aip//+LxsZF/AboT+n//8ZF/AWDfewAdAn/dez/FTxDBRCNddDoQ2QBAI21FP///+iniAEA + jbV0////6JyIAQCNtcz+///oyWcBAI21RP///+iGiAEAi030X15kiQ0AAAAAW8nDi03I6P7kAQC4wW4A + EMOhJEMFEIXAdAdQ/xXAsAIQw2h09gIQ/xXUsAIQhcCjJEMFEHRLVos10LACEGhY9gIQUP/WaET2AhD/ + NSRDBRCjKEMFEP/WaCz2AhD/NSRDBRCjLEMFEP/WaBj2AhD/NSRDBRCjMEMFEP/WozRDBRBesAHDoVBQ + AxCD+Bh0UkCjUFADEGnAkBAAAMeA4IADEAEAAABogAAAAP90JAiJsOSAAxCNgOiAAxBQ/xUMsgIQoVBQ + AxBpwJAQAACDxAxoABAAAAVogQMQUFb/FTRDBRDCBAC4tJcCEOjeIgIAgezMAAAAUzPbVold/IMNUFAD + EP85HSxDBRBXiWXwD4TPAQAAOR0wQwUQD4TDAQAAjXECsAGNfYzoqWcBAL8AAQAAjbVY////xkX8AegB + iAEAvwBYAADGRfwCjXXciX3s6AbnAACNRehQxkX8A4t13I1F7FBWxwbAAgAA/xUsQwUQi/g7+w+FTwEA + AItN6GoFWI1VjOgGfAEAM/9HO33oD4f4AAAAjUYIUI2dWP///2aJfZVmx0WXAQDoh4QBAIvQjU2M6Jl6 + AQCNhhoBAABQZol9lWbHRZcCAOhnhAEAi9CNTYzoeXoBAI2GCQEAAFBmiX2VZsdFlwMA6EeEAQCL0I1N + jOhZegEAjUXsUI2FKP///1BoIYAAAMeFKP///xgAAADHRewwAAAA/3YE/xUwQwUQhcB0IGgA9gIQi/Do + Vf7//8dF1E5hvABoOP0CEI1F1OmsAAAAjYUw////UI2dWP///2aJfZVmx0WXBADo04MBAIvQjU2M6OV5 + AQBmiX2VZsdFlwUAi0YEjU2M6NdjAQCBxsACAABH6f/+//8Pt02VagVa6BSm//+DfdwAdAn/ddzo063/ + /1mNtVj////oyoUBAI11jOj6ZAEAi030X15kiQ0AAAAAW8nDaOz1AhCL9+ix/f//iX3YaKD9AhCNRdjr + D8dF5PICAABoOP0CEI1F5FDoGCACAItNiOgM4gEAuIVxABDDw90FuPsCEN1CDNrp3+D2xER6BWaDIQDD + ZscBBwDdQgzcJRj8AhDdWQjDVYvsUVMz20M5XxxWi3cUcipmgz5CdRuNRgiLCFBoYLQCEFH/FTC0AhCF + wHwSZscGCQCDxhBDO18cdtZeW8nDiUX8aGz9AhCNRfxQ6JAfAgDMVYvsUVaL8IX2V4v5iXccdjnB4ARQ + 6M2s//+FwFmJRxR1FWg4/QIQjUX8UMdF/LYAAADoWB8CAIX2i/h2DVf/FdCyAhCDxxBOdfNfXsnDiQiL + TCQEiUgki0wkCMZAOACJSDTCCABWi/BXi34Uhf90M1Mz2zleHHYhZoM/QnULi0cIiwhQ/1EI6wdX/xWs + sgIQg8cQQzteHHLf/3YU6ECs//9ZW4tGJIXAdAdQ6DGs//9Zi0YohcB0B1DoI6z//1mDfiwAdAmLdiyL + Blb/UAhfXsMzyYlIHIlIIIlIGIlIFIlIJIlIKIlILMO4G5MCEOhaHwIAg+xQi0UIi0AIiwhTVleJZfCN + VQhSaGC0AhBQ/xEz9jvGfR9WVmjs7gIQi/joMuEBAMdF7E5hvABoOP0CEI1F7OtK/3UIjUWkaAjvAhBQ + 6IjG//+LTQyDxAyNVaSJdfzo8HQBAItN9F9eZIkNAAAAAFvJwggAi0UIiwhQ/1EIi0XkiUXoaDj9AhCN + RehQ6AoeAgDMVYvsg+xA/3AIjUXAaAjvAhBQ6DHG//+LTQiDxAyNVcDonHQBAMnCBAC4LZMCEOiUHgIA + gezAAAAAU1aLdQhXiWXwaggz21kzwI19vIld7Ild6POrjUWIiV38iz3QsgIQUP/XjYV4////UP/Xi/6J + XdzGRfwB6K/9//+NRehQv2C0AhBX/3Ys/xUwtAIQO8N9EIldpGg4/QIQjUWk6T0BAACNRexQV/92MI1G + BFNQiV4s/xUYtAIQi/g7+30xizWosgIQaGjyAhD/1mhE8gIQiUXA/9aJRcSJfdjHRZxOYbwAaDj9AhCN + RZzp8AAAAItF7IsIjVXkUv92NI1WJGoBUr9QtAIQV1D/URQ7w4lF4H00izWosgIQaBTyAhD/1mhE8gIQ + iUXA/9aJRcSLReCJRdjHRahOYbwAaDj9AhCNRajpmQAAAItF7IsIjVXcUo1VvFKNVYhSjVYUUmoB/3Y0 + V/915FD/URg7w30Rx0WgTmG8AGg4/QIQjUWg62KLReyLCFD/UQg5XiiJXewPhIMAAACLReiLEI1N5FH/ + djSNTihqAVFXUP9SFDvDiUXgfTWLNaiyAhBoFPICEP/WaETyAhCJRcD/1olFxItF4IlF2MdFmE5hvABo + OP0CEI1FmFDoJRwCAFNTiV24iV2wjZ14////UzPJQY1drFNR/3Y0jUWIV/915IlFrItF6IlNtIsQUP9S + GIs1rLICEI2FeP///1D/1o1FiFD/1o1FvOjdmv//i030X15kiQ0AAAAAW8nCBACLRewz2zvDdAaLCFD/ + UQiBvXT///9OYbwAD4XBAAAAi3UIi0XojVXkUv92NI1V4GoBUr9QtAIQV8dF4ATyAhCLCFD/URQ7ww+M + kwAAADld1I2FNP///8dFtAQAAACJXbiJXbCJRax0B41FvFD/VdRmOV28i0XciYU8////D7dFvGbHhTT/ + //8WAGbHhUT///8WAHUDi0XYU1ONlXj///9SjVWsUmoB/3Y0iYVM////i0XEiYVc////i0XAV/915ImF + bP///4tF6GbHhVT///8IAGbHhWT///8IAIsIUP9RGIs1rLICEI1FiFD/1o2FeP///1D/1rj6dQAQw1WL + 7IlIKIPALFD/dQhoYLQCEP8VDLQCEIXAfSVqAGoAaIzyAhCL+Ohn3QEAaDj9AhCNRQhQx0UITmG8AOiL + GgIAXcIEAFWL7IlIJItNDIlIMItNEMZAOAGJSDSDwARQ/3UI/xUQtAIQhcB9JWoAagBooLkCEIv46Bfd + AQBoOP0CEI1FDFDHRQxOYbwA6DsaAgBdwgwAagD/cQr/FdiyAhCFwH0aV2oAagBoCLkCEIv46N7cAQBq + C1qDyf9f6wZqCzPJWkHpoJ///1WL7IPsMFb/cAiNddDoeX8BAItFCOhmaQEA6FF/AQBeycIEAFEPtxBW + agteO9YPj7YAAAAPhJsAAACD+goPhwkBAAD/JJV9eQAQxgEw6VEBAADGAUlmx0ECBgAPv0AI6fsAAADG + AU5mx0ECFADHQQQHAAAA2UAI6SQBAADGAU5mx0ECFADHQQQQAAAA3UAI6QwBAADGAVlmx0ECFQCLUAiJ + URSLQAyJQRjp9QAAAMYBVN1ACNwFGPwCEOnhAAAAUeg7////6dkAAABR6Cr7///pzgAAADPSxgFMZoN4 + CP8PlMKJUQTpuQAAAIP6En9LdDqD6g10LEoPhKYAAABKSnQSSnVIxgFJZsdBAgMAD7ZACOtMxgFJZsdB + AgQAD75ACOs9UVDoNPr//+t4xgFJZsdBAgUAD7dACOslg+oTdD+D6gN0EUp0HYPqDXQJg2EEAMYBTOtO + xgFJZolxAotACIlBCOs/g2EEAMYBTmbHQQIKAItACIlEJATbRCQE6xiDYQQAxgFOZsdBAgoAi0AIiUQk + BNtEJASFwH0G3AX4+wIQ3VkMXlnDIXgAECF4ABApeAAQLHkAEDt4ABBTeAAQa3gAEIV4ABCWeAAQoXgA + ECx5ABC4zZgCEOjlGAIAgezQAAAAU1ZXM9sywIvxjb0k////iWXwiV3kiV386MpdAQDGRZRDiV2YiV28 + iV2wiV24iF3AjX3gjYUk////xkX8AuiTcQEAi33gi/CLx8HgA1CJddzoJKX//1mLyIlN5DPAO8dzDYtV + DIlUwQSJNMFA6+9RV2oM/xXUsgIQO8OLTQiJQQh1FMdFzLYAAABoOP0CEI1FzOl5AQAAZscBDCCNTehR + UP8VvLICEDvDfSJTU2hc7wIQi/joMNoBAMdFyE5hvABoOP0CEI1FyOlDAQAAi3XoM9tDO13gdxgz/0c7 + fdx3DVb/FdCyAhCDxhBH6+5D6+Mz20M7XeAPh5kAAAAz/0c7fdwPh4cAAACNlXD///+NjST///9mib0t + ////ZomdL////+hQWwEAgL1w////Q3UsagCNhXD///+NdZToi2YBAIvG6JZ6AQCLTeiJQQiLRehmxwAb + AINF6BBH66OLRQj/cAj/FaSyAhBqAGoAaBjvAhBo7LgCEOjf2AEAx0XYTmG8AGg4/QIQjUXY6YEAAABD + 6V7///+LRQj/cAj/FaSyAhCFwH0hagBqAGhE7wIQi/joNNkBAMdF0E5hvABoOP0CEI1F0OtK/3Xk6Kaj + //9ZjXWU6Lh7AQCNtST////o5VoBAItN9F9eZIkNAAAAAFvJwggAg33kAHQJ/3Xk6HOj//9Zi0XEiUXU + aDj9AhCNRdRQ6AwWAgDMuOqYAhDovxYCAIHs0AAAAFNWVzPbMsCL8Y29JP///4ll8Ild6Ild/OikWwEA + xkWUQ4ldmIldvIldsIlduIhdwI195I2FJP///8ZF/ALobW8BAIvwi0XkweADUIl1yOgAo///WYvIiU3o + M8A7ReRzDYtVDIlUwQSJNMFA6+5R/3Xkagj/FdSyAhA7w4t9CIlHCHUUx0XMtgAAAGg4/QIQjUXM6VEB + AACNTeBRUGbHBwgg/xW8sgIQO8N9IlNTaFzvAhCL+OgJ2AEAx0XUTmG8AGg4/QIQjUXU6RsBAADHRQwB + AAAAi0UMO0XkD4eSAAAAx0UIAQAAAItFCDtFyHd7ZomFLf///2aLRQyNlXD///+NjST///9miYUv//// + 6D5ZAQCAvXD///9DdSRTjYVw////jXWU6HpkAQCLxujneAEAi03giQGDReAE/0UI66j/dwj/FaSyAhBT + U2gY7wIQaOy4AhDo2tYBAMdF3E5hvABoOP0CEI1F3Ot+/0UM6WL/////dwj/FaSyAhA7w30fU1NoRO8C + EIv46DXXAQDHRdBOYbwAaDj9AhCNRdDrSv916Oinof//WY11lOi5eQEAjbUk////6OZYAQCLTfRfXmSJ + DQAAAABbycIIAIN96AB0Cf916Oh0of//WYtFxIlF2Gg4/QIQjUXYUOgNFAIAzLj/mAIQ6MAUAgCB7JwA + AACDZewAg2X8AFNWVzLAi/KNvVj///+JZfCL2eijWQEAjX3ojYVY////xkX8Aeh/bQEAi/CLRejB4ANQ + iXXg6BKh//9Zi8iJTewzwDtF6HMNi1UIiVTBBIk0wUDr7lH/dehqB/8V1LICEIXAiUMIdRTHRdS2AAAA + aDj9AhCNRdTpPQEAAI1N5FFQZscDByD/FbyyAhCFwH0kagBqAGhc7wIQi/joHNYBAMdF0E5hvABoOP0C + EI1F0OkFAQAAM/9HO33oD4eJAAAAM/ZGO3Xgd3uNVaSNjVj///9mibVh////Zom9Y////+hmVwEAgH2k + VHREgH2kRHQ+gH2kQ3UIi03A6M2V////cwj/FaSyAhBqAGoAaBjvAhBo7LgCEOgT1QEAx0XMTmG8AGg4 + /QIQjUXM6YsAAADdRbCLReTcJRj8AhDdGINF5AhG64BH6W7/////cwj/FaSyAhCFwH0hagBqAGhE7wIQ + i/joVtUBAMdF3E5hvABoOP0CEI1F3OtC/3Xs6Mif//9ZjbVY////6A9XAQCLTfRfXmSJDQAAAABbycIE + AIN97AB0Cf917Oidn///WYtFyIlF2Gg4/QIQjUXYUOg2EgIAzLgUmQIQ6OkSAgCB7JwAAACDZeQAg2X8 + AFNWVzLAi/KNvVj///+JZfCL2ejMVwEAjX3ojYVY////xkX8AeioawEAi/CLRejB4ANQiXXg6Duf//9Z + i8iJTeQzwDtF6HMNi1UIiVTBBIk0wUDr7lH/dehqBf8V1LICEIXAiUMIdRTHRdS2AAAAaDj9AhCNRdTp + OQEAAI1N7FFQZscDBSD/FbyyAhCFwH0kagBqAGhc7wIQi/joRdQBAMdF0E5hvABoOP0CEI1F0OkBAQAA + M/9HO33oD4eFAAAAM/ZGO3Xgd3eNVaSNjVj///9mibVh////Zom9Y////+iPVQEAgH2kTnUF3UWw6wmA + faRJdQ/bRayLRezdGINF7AhG67+AfaRDdQiLTcDo4pP///9zCP8VpLICEGoAagBoGO8CEGjsuAIQ6CjT + AQDHRcxOYbwAaDj9AhCNRczrdkfpcv////9zCP8VpLICEIXAfSFqAGoAaETvAhCL+OiD0wEAx0XcTmG8 + AGg4/QIQjUXc60L/deTo9Z3//1mNtVj////oPFUBAItN9F9eZIkNAAAAAFvJwgQAg33kAHQJ/3Xk6Mqd + //9Zi0XIiUXYaDj9AhCNRdhQ6GMQAgDMuCmZAhDoFhECAIHsnAAAAINl5ACDZfwAU1ZXMsCL8o29WP// + /4ll8IvZ6PlVAQCNfeiNhVj////GRfwB6NVpAQCL8ItF6MHgA1CJdeDoaJ3//1mLyIlN5DPAO0Xocw2L + VQiJVMEEiTTBQOvuUf916GoE/xXUsgIQhcCJQwh1FMdF1LYAAABoOP0CEI1F1Ok5AQAAjU3sUVBmxwME + IP8VvLICEIXAfSRqAGoAaFzvAhCL+Ohy0gEAx0XQTmG8AGg4/QIQjUXQ6QEBAAAz/0c7fegPh4UAAAAz + 9kY7deB3d41VpI2NWP///2aJtWH///9mib1j////6LxTAQCAfaROdQXdRbDrCYB9pEl1D9tFrItF7NkY + g0XsBEbrv4B9pEN1CItNwOgPkv///3MI/xWksgIQagBqAGgY7wIQaOy4AhDoVdEBAMdFzE5hvABoOP0C + EI1FzOt2R+ly/////3MI/xWksgIQhcB9IWoAagBoRO8CEIv46LDRAQDHRdxOYbwAaDj9AhCNRdzrQv91 + 5OginP//WY21WP///+hpUwEAi030X15kiQ0AAAAAW8nCBACDfeQAdAn/deTo95v//1mLRciJRdhoOP0C + EI1F2FDokA4CAMy4PpkCEOhDDwIAgeygAAAAg2XoAINl/ABTVlcywIvyjb1U////iWXwi9noJlQBAI19 + 4I2FVP///8ZF/AHoAmgBAIt14Iv4i8bB4ANQiX3c6JOb//9Zi8iJTegzwDvGcw2LVQyJVMEEiTzBQOvv + UVZT/xXUsgIQhcCLdQiJRgh1FMdF0LYAAABoOP0CEI1F0OlKAQAAjU3kUWaBywAgUGaJHv8VvLICEIXA + fSRqAGoAaFzvAhCL+Oib0AEAx0XMTmG8AGg4/QIQjUXM6Q8BAAAz/0c7feAPh5MAAAAz20M7XdwPh4EA + AACNVaCNjVT///9miZ1d////Zom9X////+jhUQEAgH2gTnUP3UWs6JgKAgCLTeSJAesOgH2gSXUPi0Xk + i02oiQiDReQEQ+uxgH2gQ3UIi0286CqQ////dgj/FaSyAhBqAGoAaBjvAhBo7LgCEOhwzwEAx0XITmG8 + AGg4/QIQjUXI63ZH6WT/////dgj/FaSyAhCFwH0hagBqAGhE7wIQi/joy88BAMdF2E5hvABoOP0CEI1F + 2OtC/3Xo6D2a//9ZjbVU////6IRRAQCLTfRfXmSJDQAAAABbycIIAIN96AB0Cf916OgSmv//WYtFxIlF + 1Gg4/QIQjUXUUOirDAIAzLhTmQIQ6F4NAgCB7JwAAACDZewAg2X8AFNWVzLAi/KNvVj///+JZfCL2ehB + UgEAjX3ojYVY////xkX8AegdZgEAi/CLRejB4ANQiXXg6LCZ//9Zi8iJTewzwDtF6HMNi1UIiVTBBIk0 + wUDr7lH/dehqC/8V1LICEIXAiUMIdRTHRdS2AAAAaDj9AhCNRdTpLwEAAI1N5FFQZscDCyD/FbyyAhCF + wH0kagBqAGhc7wIQi/jous4BAMdF0E5hvABoOP0CEI1F0On3AAAAM/9HO33od38z9kY7deB3cY1VpI2N + WP///2aJtWH///9mib1j////6AhQAQCAfaRMdRSLTeQzwDtFqBvAZokBg0XkAkbrxYB9pEN1CItNwOhh + jv///3MI/xWksgIQagBqAGgY7wIQaOy4AhDop80BAMdFzE5hvABoOP0CEI1FzOt2R+l8/////3MI/xWk + sgIQhcB9IWoAagBoRO8CEIv46ALOAQDHRdxOYbwAaDj9AhCNRdzrQv917Oh0mP//WY21WP///+i7TwEA + i030X15kiQ0AAAAAW8nCBACDfewAdAn/dezoSZj//1mLRciJRdhoOP0CEI1F2FDo4goCAMxVi+xRihCA + +k51Jd1ADFFRUd0cJP8VyLICEIXAfTtqAGoAaKzvAhCL+Oh6zQEA61+A+ll1JotQFIlRCItQGINhBACJ + UQzGQQIEg3gYAA+cwP7IJAL+yIhBA8nDgPpJdRlR/3AI/xXMsgIQhcB962oAagBonO8CEOuuagBqAGhw + 7wIQD77CaOy4AhDoU9ABAGg4/QIQjUX8UMdF/E5hvADoPQoCAMxmxwEOAOlR////uGWZAhDo5goCAIHs + WAEAAFMz21ZXi/mJXfDGRZwwxkXAQ4ldxIld6Ild3Ild5Ihd7Ild/ItFCGoBjXXA6JpZAQD/deSNhZz+ + //9owPMCEFDoHLL//4PEDI2VnP7//41NnOiEYAEAjUXwUP91pGhgtAIQ/xUMtAIQO8N9I1NTaIzyAhCL + +OhvzAEAaDj9AhCNRQhQx0UITmG8AOiTCQIAi0XwjXXAZscHQgCJRwjo7W4BAItN9F9eW2SJDQAAAADJ + wgQAuHeZAhDoIwoCAIHsVAEAADPAVsZFoDDGRcRDiUXIiUXsiUXgiUXoiEXwiUX8i0UIagGNdcTo3lgB + AIF9yIAAAAB2FWg4/QIQjUUIUMdFCIUDAADoFwkCAP916I2FoP7//2jA8wIQUOhCsf//g8QMjZWg/v// + jU2g6KpfAQCLRaiLCFCL8P9RBIl3CI11xGbHBwkA6ERuAQCLTfRkiQ0AAAAAXsnCBAC4iZkCEOh8CQIA + g+w0M8BWxkXEQ4lFyIlF7IlF4IlF6IhF8IlF/FCLRQiNdcToP1gBAGaDfcYBi8Z0DOilbAEAZscHCADr + Cug3bAEAZscHESCNdcSJRwjo2W0BAItN9GSJDQAAAABeycIEALiTmQIQ6BEJAgCD7BBTVlcz9oll8FZW + iXX8/xUotAIQO8aJReh9FWg4/QIQjUXsUMdF7E5hvADoIQgCAP91COg56v//OXUIdApqAf91COg6h/// + /xUUtAIQM8DrJTP2OXUIdApqAf91COgfh///OXXofAb/FRS0AhC4/IkAEMOLReSLTfRfXmSJDQAAAABb + ycIEALi4mQIQ6H4IAgCB7JgAAABTVleL8WoIWTPAjX2886sz/41F3Il9/FCJffD/FdCyAhCLBosIjVXs + Uv92NI1WJGoBUrtQtAIQU1D/URQ7x30QV1do6PECEIv46DPKAQDrYIsGiwiNVfBSjVW8Uo1V3FKNVhRS + agH/djRT/3XsUP9RGDvHfVD/dcCNtVz////ov2wBAMZF/AH/dcSNdYzosGwBAMZF/AJmOX28D7dFvHUD + i0XYV1f/dbD/dYDoC80BAGg4/QIQjUUIUMdFCE5hvADo9QYCAItNCI1F3OgL7f//jUXcUP8VrLICEI1F + vOjdhf//i030X15bZIkNAAAAAMnCBAC42JkCEOh7BwIAgeysCAAAU1ZXM9uNcQKNvUj///+JZfCJTdiJ + XfzoV28BAIt12IPGJo2FeP///8ZF/AHoxWcBAMZF/AJqCFn/tWz///8zwMZFoDCNfaHzq2arqo2FSPf/ + /2jA8wIQUIld7OiWrv//g8QMjZVI9///jU2g6GuG//87w3QQiUXcaDj9AhCNRdzpigAAAIt1qDvzdSJT + U2ho8wIQaFzzAhDoUsgBAMdF5E5hvABoOP0CEI1F5OthjUXEUP91nP8VELQCEDvDfR9TU2iguQIQi/jo + scgBAMdF4E5hvABoOP0CEI1F4OsxjUXsUFONRcRQVv8VxLICEDvDfSNTU2g4uQIQi/jofsgBAMdF6E5h + vABoOP0CEI1F6FDoogUCAItN7GoLWug0i///jYV4////6CllAQCNtUj////o7moBAItN9F9eZIkNAAAA + AFvJw4tN1OhmxwEAuFmMABDDuOqZAhDoGAYCAIHsnAAAAFMz24ld/IMNUFADEP9WV4ll8IvxxkW8Q4ld + wIld5Ild2Ild4Ihd6I1FrFDGRfwB/xU0tAIQO8N9I1NTaKDzAhCL+OjUxwEAaDj9AhCNRexQx0XsTmG8 + AOj4BAIAZjkedFCLdgo783RJg/4BdSNqUF+NdbzoiFcBAGoo/3XgjUWsUP8VBLQCEI1EAP6JRcDrTIP+ + AnVHahBbi/uNdbzoXlcBAIt94I11rKWlpaWJXcDrK2ooX411vOhEVwEAV42FWP///1CNRaxQ/xUEtAIQ + jYVY////UIvG6CJnAQCNdbzoV1YBAOjYaQEAi030X15kiQ0AAAAAW8nDi02o6FDGAQC4b40AEMO4EpoC + EOgCBQIAgezAAAAAg2X8AIMNUFADEP9TVlczwDPbQI21NP///4ll8Iv56DprAQBqAliLz421ZP///8ZF + /AHoJmsBACFd2MZF/AOKRwI8Q3Vkg38GEHUIi51Y////63EzwECNtTT////oKlQBAP+1WP///411tOje + YgEAjUWkUP912P8VLLQCEIXAfSRqAGoAaIC5AhCL+Oh1xgEAx0XkTmG8AGg4/QIQjUXk6foAAACNXaTr + GzxJdQWLXwrrEjxOD4XVAAAA3UcO6JYAAgCL2IpHJjxDdVuDfyoQdQWLfYjrZzPAQI21ZP///+inUwEA + /3WIjXW06F5iAQCNRZRQ/3XY/xUstAIQhcB9IWoAagBogLkCEIv46PXFAQDHRexOYbwAaDj9AhCNRezr + fY19lOsXPEl1BYt/LusOPE51S91HMugdAAIAi/hqBDPAWYvz86cPlMAPtsjo94j//41FtOiCYgEAjbVk + ////6EdoAQCNtTT////oPGgBAItN9F9eZIkNAAAAAFvJw8dF6IUDAABoOP0CEI1F6OsPx0XghQMAAGg4 + /QIQjUXgUOiaAgIAi03c6I7EAQC4C48AEMO4LJoCEOhAAwIAgey8AAAAg2X8AFNWVzPAM9tAjXWIiWXw + i/nogmkBADPAxkW4Q4lFvIlF4IlF1IlF3IhF5MZF/AKKRwI8Q3ULg38GEHUFi0Ws6xU8SXUFi0cK6ww8 + TnVL3UcO6D3/AQBqKI2NOP///1FQ/xUEtAIQjYU4////UI1FuOiuZAEAjXW46ONTAQDoZGcBAI11iOhc + ZwEAi030X15kiQ0AAAAAW8nDaDj9AhCNRexQx0XshQMAAOjLAQIAi03o6L/DAQC4648AEMO4RpoCEOhx + AgIAg+xkU1ZXM9uJXfyDDVBQAxD/jXECjUXAiWXw6NJiAQBqEF+NdZDGRfwB6LZnAQDGRfwC/3W0/3Xk + /xUstAIQO8N9I1NTaIC5AhCL+OgpxAEAaDj9AhCNRexQx0XsTmG8AOhNAQIAjXWQ6CxTAQDorWYBAI1F + wOjVYAEAi030X15kiQ0AAAAAW8nDi03o6B3DAQC4opAAEMO4dpoCEOjPAQIAgeywAAAAU1ZXM8Az24ld + /IMNUFADEP9AjbVs////iWXwi/noomgBAImdaP///8ZFrEOJXbCJXdSJXciJXdCIXdiJXezGRfwEikcC + PEN1V4O9cP///xB1BYtFkOti/3WQjbVE////6LVfAQCNRZxQ/7Vo/////xUstAIQO8N9IlNTaIC5AhCL + +OhLwwEAx0XoTmG8AGg4/QIQjUXo6bAAAACNRZzrGTxJdQWLRwrrEDxOD4WLAAAA3UcO6Gz9AQCNTexR + UP8VOLQCEDvDfR9TU2iQuQIQi/jo/MIBAMdF5E5hvABoOP0CEI1F5Otk/3XsjUWs6MNiAQD/deyLPSC0 + AhD/1411rOjtUQEAOV3sdAX/dez/1411rOhhZQEAjYVE////6IZfAQCNtWz////oS2UBAItN9F9eZIkN + AAAAAFvJw8dF4IUDAABoOP0CEI1F4FDouv8BAItN3OiuwQEAuPyRABDDuJCaAhDoYAACAIPsZFNWVzPb + iV38gw1QUAMQ/41xAo1FwIll8OjBYAEAahBfjXWQxkX8AeilZQEAxkX8Av91tP915P8VELQCEDvDfSNT + U2iguQIQi/joGMIBAGg4/QIQjUXsUMdF7E5hvADoPP8BAI11kIl9lOgYUQEA6JlkAQCNRcDowV4BAItN + 9F9eZIkNAAAAAFvJw4tN6OgJwQEAuLaSABDDuKKaAhDou/8BAIHsaAgAAFNWVzPbiV38gw1QUAMQ/41x + Ao19jIll8OiWZwEAxkX8AWoIM8CBfZAABAAAxkW8MFmNfb3zq2arqnYRx0XohQMAAGg4/QIQjUXo61f/ + dbCNhYz3//9owPMCEFDo1qb//4PEDI2VjPf//41NvOg+VQEAi0XEiwiNVexSaIj5AhBQ/xE7w30jU1No + sPMCEIv46CrBAQDHReROYbwAaDj9AhCNReRQ6E7+AQCLReyLCFD/UQiLTexqC1ro14P//411jOifYwEA + i030X15kiQ0AAAAAW8nDi03g6BfAAQC4qJMAEMO4CqMCEOjJ/gEAgeycAAAAg2XsAINl/ABTVlcywIvy + jb1Y////iWXwi9norEMBAI196I2FWP///8ZF/AHoiFcBAIvwi0XoweADUIl14Ogbi///WYvIiU3sM8A7 + RehzDYtVCIlUwQSJNMFA6+5R/3Xoag7/FdSyAhCFwIlDCHUUx0XUtgAAAGg4/QIQjUXU6TsBAACNTeRR + UGbHAw4g/xW8sgIQhcB9JGoAagBoXO8CEIv46CXAAQDHRdBOYbwAaDj9AhCNRdDpAwEAADP/Rzt96A+H + hwAAADP2Rjt14Hd5jVWkjY1Y////Zom1Yf///2aJvWP////ob0EBAIpFpDxOdEQ8WXRAPEl0PDxDdQiL + TcDo1X////9zCP8VpLICEGoAagBoGO8CEGjsuAIQ6Bu/AQDHRcxOYbwAaDj9AhCNRczpiAAAAItN5I1F + pOjj8f//g0XkEEbrgkfpcP////9zCP8VpLICEIXAfSFqAGoAaETvAhCL+OhhvwEAx0XcTmG8AGg4/QIQ + jUXc60L/dezo04n//1mNtVj////oGkEBAItN9F9eZIkNAAAAAFvJwgQAg33sAHQJ/3Xs6KiJ//9Zi0XI + iUXYaDj9AhCNRdhQ6EH8AQDMVYvsUQ++EIP6TFd/RHQwg+owdCSD6hN0FUp0ZYPqBXU/ZscBFgCLQAiJ + QQjrZ1CL+ehC8///611mxwEBAOtWZscBCwCLQAT32BvAZolBCOtEg/pOdDSD+lR0JoP6WXQVaDj9AhCN + RfxQx0X8hQMAAOjL+wEAZscBDgDo4PD//+sUi9Dor9v//+sLZscBBQDdQAzdWQhfycO4TaMCEOhc/AEA + gewECQAAU1ZXM9uNcQKNvfD+//+JZfCJTeSJXfzoOGQBAIt95I13Jo2FIP///8ZF/AHoplwBAI13So2F + fP///8ZF/ALolFwBAIld6Ild7Ild4MZF/AZqCFn/tRT///8zwMaFSP///zCNvUn////zq2arqo2F8Pb/ + /2jA8wIQUIld3OhWo///g8QMjZXw9v//jY1I////6LtRAQCLhVD///87w4lF5HUlU1NoaPMCEGhc8wIQ + 6B29AQDHRdBOYbwAaDj9AhCNRdDpugEAAI1FpFD/tUT/////FRC0AhA7w30iU1NooLkCEIv46Ha9AQDH + RbhOYbwAaDj9AhCNRbjphAEAAI1F6FBT/xUctAIQO8N0IlNTaETzAhCL+OhFvQEAx0XMTmG8AGg4/QIQ + jUXM6VMBAACNRexQU1NqIFP/daD/FSS0AhCFwH1tjUXsUFNqEf91oP8VALQCEDvDfSJTU2gw8wIQi/jo + +bwBAMdFvE5hvABoOP0CEI1FvOkHAQAAjUWkUP917P8V/LMCEDvDD42MAAAAU1NoIPMCEIv46MK8AQDH + RcROYbwAaDj9AhCNRcTp0AAAAI2FbP///1D/dez/FQi0AhA7w30iU1NoEPMCEIv46Iy8AQDHRdhOYbwA + aDj9AhCNRdjpmgAAAGoEWY29bP///411pDPA86d0IlNTaPDyAhBo2PICEOjGuwEAx0XITmG8AGg4/QIQ + jUXI62aNReBQ/3Wg/xU8tAIQO8N9H1NTaMTyAhCL+OglvAEAx0XATmG8AGg4/QIQjUXA6zaLReiLCI1V + 3FL/deD/deRqA1D/UQw7w30jU1NotPICEIv46O27AQDHRdROYbwAaDj9AhCNRdRQ6BH5AQCLTdxqC1ro + o37//8ZF/AWLReA7w3QGiwhQ/1EIxkX8BItF7DvDdAaLCFD/UQjGRfwDi0XoO8N0BosIUP9RCI2FfP// + /+hlWAEAjYUg////6FpYAQCNtfD+///oH14BAItN9F9eZIkNAAAAAFvJw4tNtOiXugEAuCiZABDDuDCm + AhDoSfkBAIHsoAAAAFNWVzPbMsCL8Y29fP///4ll8Ild6Ild/OguPgEAjX3gjYV8////xkX8AegKUgEA + i33gi/CLx8HgA1CJddzom4X//1mLyIlN6DPAO8dzDYtVDIlUwQSJNMFA6+9RV2oM/xXUsgIQO8OLTQiJ + QQh1FMdFzLYAAABoOP0CEI1FzOkKAQAAZscBDCCNTeRRUP8VvLICEDvDfSJTU2hc7wIQi/jop7oBAMdF + 2E5hvABoOP0CEI1F2OnUAAAAi3XkM9tDM/9HO13gdxU7fdx3DVb/FdCyAhCDxhBH6+5D6+M7feB3OTP2 + Rjt13HcujZVY////jY18////Zol1hWaJfYfo2DsBAItN5I2FWP///+g1+///g0XkEEbrzUfrwotFCP9w + CP8VpLICEIXAfSFqAGoAaETvAhCL+OgSugEAx0XQTmG8AGg4/QIQjUXQ60L/dejohIT//1mNtXz////o + yzsBAItN9F9eZIkNAAAAAFvJwggAg33oAHQJ/3Xo6FmE//9Zi0XIiUXUaDj9AhCNRdRQ6PL2AQDMVYvs + g+w4U2apACBXi/kPl8FmqQBAD5fDJf8PAACEyQ+EywAAAGY9DAB1DVZXi8roKP7//19bycNqFllmO8F1 + CVZX6Bvo///r62oDWWY7wXTvZj0EAHUKVovP6DDm///r02Y9BQB1ClaLz+hN5P//68NmPQsAdQpWi8/o + yOn//+uzZj0OAHUKVovP6E34///ro2Y9BwB1ClaLz+hG4v//65NmPQgAdQtWV4vK6Dbg///rgmY9EQB1 + DlZXi8ro/93//+lu////agBqAA+3wGjM8QIQaOy4AhDoFrwBAMdF/E5hvABoOP0CEI1F/OmyAwAAhNt0 + FWoAagBokPECEGjsuAIQ6CK4AQDr0w+3wIP4Cw+PhgEAAA+EbwEAAIP4Cg+HewIAAP8khZGfABBmgycA + 6QD///9mxwcBAOn2/v//ZscHAgCKAjxOdQrdQgzouvIBAOsIPEl1DWaLQghmiUcI6dD+//9qAGoAD77A + aGjxAhDpXf///2bHBwMAigI8Tg+E4AIAADxJD4TsAgAAagBqAGho8QIQD77AaOy4AhDoULsBAMdF+E5h + vABoOP0CEI1F+OnsAgAAZscHBACKAjxOdQXdQgzrBzxJdQvbQgjZXwjpX/7//2oAagBoQPECEA++wGjs + uAIQ6Ae7AQDHRfROYbwAaDj9AhCNRfTpowIAAGbHBwUAigI8TnUF3UIM6wc8SXUL20II3V8I6Rb+//9q + AGoAaBjxAhAPvsBo7LgCEOi+ugEAx0XwTmG8AGg4/QIQjUXw6VoCAABmxwcGAItCFIlHCItCGIlHDOnW + /f//i8/og9T//+nK/f//Uui56///6b/9//9S6Afr///ptP3//2bHBwoA6ar9//9mxwcLAItCBPfYG8Dp + wP7//4P4Eg+P3wAAAA+EsgAAAIvIg+kMD4SZAAAASXRvSXRZSUl0LkkPhdkAAABqAGoAaKDwAhBo7LgC + EOhQtgEAx0XsTmG8AGg4/QIQjUXs6bUBAABqAGoAaMjwAhBo7LgCEOgptgEAx0XoTmG8AGg4/QIQjUXo + 6Y4BAACLwovPZscHDgDo7uj//+kN/f//agBqAGjs8AIQaOy4AhDo77UBAMdF5E5hvABoOP0CEI1F5OlU + AQAAi8KLz+ha9///6dj8//9qAGoAaHjwAhBo7LgCEOi6tQEAx0XgTmG8AGg4/QIQjUXg6R8BAACLyIPp + Ew+EywAAAIPpAw+EjAAAAEl0U4PpDXQnagBqAGi87wIQaOy4AhDoQLkBAMdF3E5hvABoOP0CEI1F3Onc + AAAAagBqAGjY7wIQaOy4AhDoULUBAMdF2E5hvABoOP0CEI1F2Om1AAAAZscHFwCKAjxOdGw8SXR8agBq + AGgA8AIQD77AaOy4AhDo4LgBAMdF1E5hvABoOP0CEI1F1Ot/ZscHFgCKAjxOdDY8SXRGagBqAGgo8AIQ + D77AaOy4AhDoqrgBAMdF0E5hvABoOP0CEI1F0OtJZscHEwCKAjxOdRDdQgzon+8BAIlHCOnA+///PEl1 + BYtCCOvvagBqAGhQ8AIQD77AaOy4AhDoX7gBAMdFzE5hvABoOP0CEI1FzFDoSfIBABScABAdnAAQJ5wA + EF6cABCfnAAQ6JwAEDGdABBHnQAQU50AEF6dABBpnQAQi0gcK0wkBMHhBANIFGaDfCQIAHQLi0QkCOgO + +///6weLwui29f//wggAuHmmAhDop/IBAIHsmAkAAINl6ACDZfwAU1aL2VeNcwKNhYD+//+JZfDoBFMB + AI1zJo2FJP///8ZF/AHo8lIBAGowagNYi8uNvUz////GRfwC6Gk2AQCNc26Nvcz+///GRfwD6EdaAQCN + s5IAAACNhfz+///GRfwE6LVSAQDGRfwFZosLM/9mg/kGfA2Lg74AAAA7x4lF7HUHx0XsAAQAAGaD+Qd1 + C4uD4gAAAIlF5OsHx0XkBQAAAIG90P7//wAEAAB2FMdF0IUDAABoOP0CEI1F0OkEAgAA/7Xw/v//jYVc + 9v//aMDzAhBQxoWo/v//MOg8mf//g8QMjZVc9v//jY2o/v//6KFHAQCLhbD+//9qPIlF4Ogxfv//O8dZ + dAnoEdL//4vw6wIz9jv3iXXodRTHRdy2AAAAaDj9AhCNRdzplwEAAP917IuNSP////915IvG/7Wk/v// + ib1I////6AjW//+LjSD/////deCLxom9IP///+it1f//OX2ED4T7AAAAjX3kjYVM////6BZKAQCLzolF + 4OjJ0P//M//GRZRDiX2YiX28iX2wiX24xkXAADPbQ8ZF/AaJXeyLRew7ReAPh6cAAACDfeQCdSeNdZSN + jUz///9miYVV////ZseFV////wIA6IlJAQCLRZiFwHU9M/+LdeyNlVz+//+NjUz///9mibVV////ZseF + V////wEA6DA0AQCLRehXVovzjZVc/v//6Kz9////RezrjDPbQzvDdQmLRbhmD74467WD+AJ1CItFuGaL + OOuog/gDdQyLRbhmizgPvlgC65fHRdiFAwAAaDj9AhCNRdjrbo11lMZF/AXo5lQBADP/6xqAe0owdBHH + RdSFAwAAaDj9AhCNRdTrR4l+HI1FyFBoAAABAP916Gh9iQAQaAAgAABX/xWMsAIQO8d1KVdX/xVYsAIQ + aHjKAhCL+OjtsQEAx0XMTmG8AGg4/QIQjUXMUOgR7wEAUP8ViLACEI2F/P7//+icTgEAjbXM/v//6GFU + AQCNtUz////ojjMBAI2FJP///+h7TgEAjYWA/v//6HBOAQCLTfRfXmSJDQAAAABbycODfegAdApqAf91 + 6Ojkbf//i03E6KiwAQC4B6MAEMO4t6YCEOha7wEAgeyYCQAAg2X8AFNWV4vZjXMCjb2k/v//iWXw6DhX + AQCNcyaNhfj+///GRfwB6KlPAQBqMGoDWIvLjb0g////xkX8AuggMwEAxkX8A2aDOwR1C4tzdjPbO/N0 + BOsHM9u+AAQAAIG9qP7//wAEAAB2FMdF3IUDAABoOP0CEI1F3OmCAQAA/7XI/v//jYVc9v//aMDzAhBQ + xoXU/v//MOg5lv//g8QMjZVc9v//jY3U/v//6J5EAQCJXYSJXYiJXYCJnXz///+JXZCJXZTGRfwEOZ1Y + ////i4Uc////i43c/v//iZ0c////xkWgAImNaP///4lFjIl1nA+EHQEAAI196I2FIP///+hFRwEAjY1o + ////iUXg6PTN//+DfegCdhTHRdiFAwAAaDj9AhCNRdjp0wAAAMZFpEOJXaiJXcyJXcCJXcjGRdAAM9sz + /0PGRfwFiV3si3XsO3XgD4etAAAAjZWA/v//jY0g////Zom1Kf///2bHhSv///8BAOhxMQEAg33oAnUn + Zom1Kf///411pI2NIP///2bHhSv///8CAOh5RgEAi0WohcB1HjP/V/917IvzjZWA/v//jYVo////6Lv6 + ////RezrijPbQzvDdQmLRchmD74469SD+AJ1CItFyGaLOOvHg/gDdQyLRchmizgPvlgC67bHReSFAwAA + aDj9AhCNReRQ6JDsAQCNdaTGRfwE6PFRAQDrA4ldhI2FXP7//1CNjWj////oo+T//42NXP7//+j1cf// + jYVo////xkX8A+gpzf//jbUg////6O0wAQCNhfj+///o2ksBAI21pP7//+ifUQEAi030X15kiQ0AAAAA + W8nDi03U6BeuAQC4qKUAEMNVi+yD7BRWM8khTfBXM/+L8Il9+MdF9AUAAADrAUaAPiB0+ooGPC11CkbH + RfwBAAAA6wk8K3UBRoNl/ABT6yk8LnQvD7bAagBqCv918IPoMJlRi/iL2uhQ6QEAA/gT2ovPi334iV3w + RooGhMB10TwudVNGigaEwHRMi1X0i9pKhdt0EQ+2wI08v0aNfHjQigaEwHXog/r/dRdqCjPSi8de9/aD + +gV2BY14AesZi/jrFYP6BXQQg/oBfguNQv+NPL/R50h1+DP2VmgQJwAA/3XwUejV6AEAM8kDxxPROXX8 + W3QG99gT1vfai00IX4lBFIlRGF7JwgQAVYvsg+wgU4tYFItAGIXAVo114IlF/H8ZfASF23MTi00I/0UI + 99uD0AD32MYBLYlF/Fe5ECcAAIv5M9KLw/f3agBR/3X8U4v66CfqAQCF/4vYi8p0GYvHM9JqCl/394DC + MIgWi/hGhf9168YGLkaLwwvBX3Qgi8NqAGoKUVDocugBAIDBMIgOi8qL0EYL0Yld/HXk6wTGBjBGjUXg + O/CLRQh0DU6KDogIjU3gQDvxdfNexgAAW8nCBACDeRgAfw18BoN5FABzBWoCWusDM9JCiFACxgATxkAB + BItRFIlQA4tJGIlIB4NgDACDYBAAw4B5AgKLQQOLUQd1B/fYg9IA99pXD755AWoEWSvPdCiFyX4Si/lq + AGoKUlDolucBAE918usSfRaL+WoAagpSUOhC6QEAT3XyiUYUiVYYX8NVi+xRUd1ADFNX6OzmAQCLyIHB + LH0AAI0EjQMAAACZv7E6AgD3/2oEX2oEiUX8acCxOgIAmff/v7UFAAAryI0EjQMAAACZ9/9fagVbagqJ + RfhpwLUFAACZ9/+/mQAAACvIjUSJApn3/4v4acCZAAAAQECZ9/sryEFmiU4Ei8dZmff5jQxAweECK/mL + TfyDwdBryWSDxwMDyANN+DPAZol+Al9miQ5miUYGZolGCGaJRgqJRgxbycNVi+xRUVaL8FcPt34Cag5Y + K8eZagxZ9/kPvw5qBSvIjQRAjQSHacCZAAAALckBAACZX/f/gcHAEgAAamSL+A+3RgQD+IvBmb6QAQAA + 9/5eagQD+IvBacBtAQAAA/iLwZn3/iv4i8GZWff5jYQH04L//4lF/NtF/ItFCF9e3V343UX43VgMycIE + AFWL7IPsHFNXjUXsUItFCN1ADFFR3Rwk/xXgsQIQ3V3k3UXs6JPlAQDdReSLyNwNyPsCEIHBLH0AAI0E + jQMAAACZ3AXA+wIQv7E6AgD3/2oEX2oEiUUIacCxOgIAmff/v7UFAAAryI0EjQMAAACZ9/9fagVbagqJ + RfhpwLUFAACZ9/+/mQAAACvIjUSJApn3/4v4acCZAAAAQECZ9/sryEFmiU4Ei8eZWff5g8QE3RwkjQxA + weECK/mLTQiDwdBryWQDyANN+IPHA2aJfgJmiQ7/FcixAhBZWeje5AEAi/gPt8eZuRAOAACL2ff7M9Jq + PGaJRgaLx/fxX1eLyg+3wZn3/zPSZolGCIvBWffxg2YMAF9bZolWCsnCBABVi+yD7BBTVlcPt3kCag5Y + K8eZagxe9/4PvzFqBbuQAQAAK/CNBECNBIdpwJkAAAAtyQEAAJlf9/+BxsASAABqZIv4D7dBBAP4i8aZ + 9/tbagQD+IvGacBtAQAAA/iLxpn3+yv4i8aZXvf+jYQH04L//4lF/A+3QQjbRfxrwDzdXfjdRfiJRfwP + t0EG20X8iUX8D7dBCt1d8NtF/F/dXfhe3UX43A0g/AIQiUX8i0UIW9xF8NtF/N1d8NxF8Nw1yPsCEN7B + 3VgMycIEAFaLdCQIg76AAAAA/3UFjVYk6w5WjYaoAQAA6If6//+L1o1OSOgYbf//XsIEAFaLdCQIg76A + AAAA/3UFjVYk6w5WjYaoAQAA6Fr6//+L1o1OSOgJbv//XsIEAFaLdCQIg76AAAAA/3UFjVYk6w5WjY6Y + AQAA6Lz+//+L1o1OSOi+bP//XsIEAFaLdCQIg76AAAAA/3UFjVYk6w5WjY6YAQAA6I/+//+L1o1OSOiv + bf//XsIEAFaLdCQIg76AAAAA/3UFjVYk6w5WjYaYAQAA6L78//+L1o1OSOhkbP//XsIEAFaLdCQIg76A + AAAA/3UFjVYk6w5WjYaYAQAA6JH8//+L1o1OSOhVbf//XsIEAItEJASLiIAAAACD+f91BY1QJOsFiUgE + i9CNSEjoEmz//8IEAItEJASLiIAAAACD+f91BY1QJOsFiUgEi9CNSEjoDG3//8IEAItEJASDuIAAAAD/ + jUhIjVAkdAKL0OjRa///wgQAi0QkBIO4gAAAAP+NSEiNUCR0AovQ6NJs///CBABWizBXD794EOsSVk// + lowAAACFwHUMgcbAAQAAhf916jPAX17DVoswD79OSVcPv3gQg8r/6Oxr//+FwHUa6xJWT/+WjAAAAIXA + dQyBxsABAACF/3XqM8BfXsOKCFZXM/aEyWoDi/hadQQzwOs+gPlbdR5KgPlddAxAigiEyXX0gPlddQxA + igiA+Vt1BIXSdeKAOAB0FIv3K/ADdCQMVlBX/xXosQIQg8QMi8ZfXsIEAFWL7IPsPFNWV2oIM8DGRcQw + WY19xfOri00Ig3kUAGarqnUHM8DpDwEAAItBBDPSQmY5URKJVegPjPkAAACNiJEBAACJTeyNiMQBAACJ + TfCNiOQBAACNmIABAACNuI0BAACJTfyNiLQBAAAFyAEAAIlF+ItFCIlN9L4MAgAAi034ZosJZoP5AnQG + ZoP5BHVAi0XwiwiD+f91BY1VxOsmD74Hg/hOf1h0GoPoQ3QQSHRDg+gFdA2D6AN0CEh1cotF7IkIi9eL + y+jGh///hcB1aotNCAF17AF18AF1/AF19AF1+A+/SRID/gPe/0XoOU3ofozrRotF/FfoVfr//+vEg/hR + dLqD+FR0HIP4VX4ig/hXfquD+Fl1GItF9IsAV+hE9///656LTfxX6Mj7///rk7hOYbwA6wOLRQhfXlvJ + wgQAihEzwITSdGVTgPoidQ6KEYTSdFhBgPoidfTrSoD6J3UOihGE0nRFQYD6J3X06zeA+j91MYpZAYD7 + e3QLgPtAdSSAeQJ7dR6A+lx1CoB5AX11BEFB6wZBgPp9dAaKEYTSdeVA6wFBihGE0nWdW8OKCITJuoAA + AAB0VoD5YXwFgPl6fkSA+UF8BYD5Wn46gPlfdDVqf1rrLIvKSoXJdC6KCID5YXwFgPl6fhyA+UF8BYD5 + Wn4SgPkwfAWA+Tl+CID5X3QDxgBfQIA4AHXLxgAAw1eLPoX/dQQzwOszUzPbQ2Y5XhB8Jv90JAyNh5cA + AABQ/xUwsgIQhcBZWXQWD79GEIHHwAEAAEM72H7aM8BbX8IEAIvH6/cPv8mDwQuD+RcPh5EAAAAPtol9 + sAAQ/ySNWbAAEDxDdH88VnR7PFF0dzxNdHM8V+tqPEN0azxWdGc8UXRjPE50XzxGdFs8QnRXPEx0UzxJ + 60o8TnRLPEZ0RzxC6yI8Q3Q/PFZ0OzxOdDc8QnQzPEZ0LzxJdCs8WesWPER0IzxUdB88Q3QbPFbrDjxD + dBM8VnQPPEzrBjxDdAc8UXQDM8DDM8BAw0qwABDSrwAQPrAAEOavABA2sAAQErAAEAawABAusAAQVbAA + EAABAQECAwQBAQEBCAEFBQMDBgYGBwQHAYsGhcB0R2aDfhAAdDBXjXgcZv9OEIsPhcl0FItHQDtGGHQM + 6Ltk//+LD+jsY///gcfAAQAAZoN+EAB11V//Nmb/ThD/FfyxAhCDJgBZw4X/D4QPAQAAiweFwFNViy38 + sQIQVnQji/CNXxDrDmb/C+j4hf//gcbAAQAAZoM7AHXs/zdm/wv/1VmLRwSFwHQsjV8SZoM7AHQajbCN + AQAAZv8L6MaF//+BxgwCAABmgzsAdez/dwRm/wv/1VmNd1ToqYX//4t0JBAz2zlfPHQUi05C6A1k//+L + Rzg7Rzx0BFD/1Vk5XyB0CItOZuj0Y///OV8cdAuLjooAAADo5GP//zlfMHQLi47SAAAA6NRj//85XzR0 + C4uO9gAAAOjEY///i0ckO8N0BFD/1VmLRyg7w3QEUP/VWYtHLDvDdARQ/9VZi4+UAAAAO8t0Beg4Z/// + i0cIO8N0CFBqA+iDaP//V//VWV5dW8IEAFWL7FFXM/9HgyVQUAMQAKFQUAMQacCQEAAAjU38UWgAEAAA + jYhogQMQUY2A5IADEFBX6LFo//9HZoXAdTmhUFADEGnAkBAAAGiAAAAA/3UIx4DggAMQAQAAAI2A6IAD + EFD/FQyyAhCDxAz/BVBQAxBmg/8IdplfycIEAFWL7IPsDFNXg2X0AGoCW41F/FC/ABAAAFdoaIEDEGjk + gAMQaGiRAxBqAf91DIld+P91EOiiZ///ZoXAdVNWvuiAAxBogAAAAP91CIle+Fb/FQyyAhCLRfiDxAz/ + RfSBxpAQAAD/RfiNTfxRV42OgAAAAFGNTvxRjY6AEAAAUVD/dQz/dRDoUGf//2aFwHS0XotF9Ehfo1BQ + AxBbycIMAFWL7IPsJFbZ7lfdXegz9sZF3EPGRd0AZol13ol14Il15Il18Il19DPAjX34q6u/ACAAAIvP + 6FZh//87xolF+HUKuLYAAADpCgEAAFOLyOjfYf//i0346Ilh//+LdQiNnoAAAABTV1AzwGaLRmZQM8Bm + i0ZuUP92WOjQZv//ZoXAdR+LG4P7/41OSHUFjVYk6waJXeCNVdzorWT//+mRAAAAZj0BAA+FiwAAAIsD + i034iUXg6Klh//+LE4tN+EJC6Mxh//9mhcCLTfh1DOjIYP//uLYAAADrfOhVYf//i0346P9g//8Dx4lF + CFNXUDPAZotGZlAzwGaLRm5Q/3ZY6Epm//9mPQEAdQgBfQiLRQjr2WaFwHUIjU5I6Xb///9qA/92WGiY + 5AIQ6DT+//+4TmG8AIv46xRqA/92WGiY5AIQ6Bz+//+/TmG8AI113OiYgv//i8dbX17JwgQAVYvsUVOL + XQhWVzPAZotDZo2zgAAAAFa/ACAAAFf/c1xQM8Bmi0NuUP9zWOjCZf//ZoXAdTmLNoP+/3QX/7OQAAAA + jUtIVv9zXOgnf///6bIAAABmg3tqAA+EjwAAAI1TJI1LSOijZP//6ZcAAABmPQEAdX2LFo1FCFCNS0jo + Aoz//4XAdX//s5AAAACNdQj/c1zoqn7//4XAdWqNg4AAAABQM8Bmi0NmV/9zXFAzwGaLQ25Q/3NY6DZl + //9mhcCJRfx0BmY9AQB1HP+zkAAAAI11CP9zXOhmfv//hcB1JmaDffwBdLVmg338/3QEM8DrFGoD/3NY + aJjkAhDoBv3//7hOYbwAX15bycIEAFWL7IPsJFbZ7lfdXegz9sZF3EPGRd0AZol13ol14Il15Il18Il1 + 9DPAjX34q6u/ACAAAIvP6O9e//87xolF+HUKuLYAAADpFAEAAFOLyOh4X///i0346CJf//+LdQiNnoAA + AABTV1AzwGaLRmZQM8Bmi0ZuUP92WOhpZP//ZoXAdR+LG4P7/41OSHUFjVYk6waJXeCNVdzoRmL//+mb + AAAAZj0BAA+FlQAAAIsDi034iUXg6EJf//+LE4tN+EJC6GVf//9mhcCLTfh1D+hhXv//uLYAAADpgwAA + AOjrXv//i0346JVe//8F/h8AAIlFCFNXUDPAZotGZlAzwGaLRm5Q/3ZY6N1j//9mPQEAdQyBRQj+HwAA + i0UI69VmhcB1CI1OSOls////agP/dlhomOQCEOjD+///uE5hvACL+OsUagP/dlhomOQCEOir+///v05h + vACNddzoJ4D//4vHW19eycIEAFWL7FFTi10IVlczwGaLQ2aNs4AAAABWaAAgAAD/c1xQM8Bmi0NuUP9z + WOhSY///ZoXAdTmLNoP+/3QX/7OQAAAAjUtIVv9zXOi3fP//6cMAAABmg3tqAA+EoAAAAI1TJI1LSOgz + Yv//6agAAABmPQEAD4WKAAAAixaNRQhQjUtI6I6J//+FwA+FiAAAAP+zkAAAAI11CP9zXL/+HwAA6C18 + //+FwHVujYOAAAAAUDPAZotDZmgAIAAA/3NcUDPAZotDblD/c1jotWL//2Y9AQCJRfx0BWaFwHUV/7OQ + AAAAjXUI/3Nc6OV7//+FwHUmZoN9/AF0sWaDffz/dAQzwOsUagP/c1homOQCEOiF+v//uE5hvABfXlvJ + wgQAVYvsg+wkVtnuV91d6DP2xkXcQ8ZF3QBmiXXeiXXgiXXkiXXwiXX0M8CNffirq78AIAAAi8/oblz/ + /zvGiUX4dQq4tgAAAOkTAQAAU4vI6Pdc//+LTfjooVz//4t1CI2egAAAAFNXUDPAZotGZlAzwGaLRm5Q + /3ZY6Ohh//9mhcB1H4sbg/v/jU5IdQWNViTrBold4I1V3OjFX///6ZoAAABmPQEAD4WUAAAAiwOLTfiJ + ReDowVz//4sTi034QujlXP//ZoXAi034dQ/o4Vv//7i2AAAA6YMAAADoa1z//4tN+OgVXP//Bf8fAACJ + RQhTV1AzwGaLRmZQM8Bmi0ZuUP92WOhdYf//Zj0BAHUMgUUI/x8AAItFCOvVZoXAdQiNTkjpbf///2oD + /3ZYaJjkAhDoQ/n//7hOYbwAi/jrFGoD/3ZYaJjkAhDoK/n//79OYbwAjXXc6Kd9//+Lx1tfXsnCBABV + i+xRU4tdCFZXM8Bmi0NmjbOAAAAAVmgAIAAA/3NcUDPAZotDblD/c1jo0mD//2aFwHU5izaD/v90F/+z + kAAAAI1LSFb/c1zoN3r//+nDAAAAZoN7agAPhKAAAACNUySNS0jos1///+moAAAAZj0BAA+FigAAAIsW + jUUIUI1LSOgOh///hcAPhYgAAAD/s5AAAACNdQj/c1y//x8AAOitef//hcB1bo2DgAAAAFAzwGaLQ2Zo + ACAAAP9zXFAzwGaLQ25Q/3NY6DVg//9mhcCJRfx0BmY9AQB1HP+zkAAAAI11CP9zXOhlef//hcB1JmaD + ffwBdLFmg338/3QEM8DrFGoD/3NYaJjkAhDoBfj//7hOYbwAX15bycIEAFNWi3QkDFczwGaLRmaNvoAA + AABX/3Z8jZ6oAQAAU1AzwGaLRm5Q/3ZY6Ldf//9mhcB0HGY9AQB0FmoD/3ZYaJjkAhDosff//7hOYbwA + 6xyDP/91BY1WJOsKVovD6OXq//+L1o1OSOh2Xf//X15bwgQAU1aLdCQMVzPAZotGZo2+gAAAAFf/dnyN + nqgBAABTUDPAZotGblD/dljoRl///2aFwHQcZj0BAHQWagP/dlhomOQCEOhA9///uE5hvADrHIM//3UF + jVYk6wpWi8PodOr//4vWjU5I6CNe//9fXlvCBABWi3QkCFczwGaLRmaNvoAAAABX/3Z8/3ZcUDPAZotG + blD/dljo2l7//2aFwHQcZj0BAHQWagP/dlhomOQCEOjU9v//uE5hvADrIIM//3UFjVYk6w5WjY6YAQAA + 6JPu//+L1o1OSOiVXP//X17CBABWi3QkCFczwGaLRmaNvoAAAABX/3Z8/3ZcUDPAZotGblD/dljoa17/ + /2aFwHQcZj0BAHQWagP/dlhomOQCEOhl9v//uE5hvADrIIM//3UFjVYk6w5WjY6YAQAA6CTu//+L1o1O + SOhEXf//X17CBABWi3QkCFczwGaLRmaNvoAAAABX/3Z8/3ZcUDPAZotGblD/dljo/F3//2aFwHQcZj0B + AHQWagP/dlhomOQCEOj29f//uE5hvADrIIM//3UFjVYk6w5WjYaYAQAA6BHs//+L1o1OSOi3W///X17C + BABWi3QkCFczwGaLRmaNvoAAAABX/3Z8/3ZcUDPAZotGblD/dljojV3//2aFwHQcZj0BAHQWagP/dlho + mOQCEOiH9f//uE5hvADrIIM//3UFjVYk6w5WjYaYAQAA6KLr//+L1o1OSOhmXP//X17CBABWi3QkCFcz + wGaLRmaNvoAAAABX/3Z8/3ZcUDPAZotGblD/dljoHl3//2aFwHQcZj0BAHQWagP/dlhomOQCEOgY9f// + uE5hvADrGYs/g///jU5IdQWNViTrBYl+BIvW6OBa//9fXsIEAFaLdCQIVzPAZotGZo2+gAAAAFf/dnz/ + dlxQM8Bmi0ZuUP92WOi2XP//ZoXAdBxmPQEAdBZqA/92WGiY5AIQ6LD0//+4TmG8AOsZiz+D//+NTkh1 + BY1WJOsFiX4Ei9bollv//19ewgQAVot0JAhXM8Bmi0Zmjb6AAAAAV/92fP92XFAzwGaLRm5Q/3ZY6E5c + //9mhcB0HGY9AQB0FmoD/3ZYaJjkAhDoSPT//7hOYbwA6xKDP/+NTkiNViR0AovW6Bda//9fXsIEAFaL + dCQIVzPAZotGZo2+gAAAAFf/dnz/dlxQM8Bmi0ZuUP92WOjtW///ZoXAdBxmPQEAdBZqA/92WGiY5AIQ + 6Ofz//+4TmG8AOsSgz//jU5IjVYkdAKL1ujUWv//X17CBABXM///dgjoClz//2aFwHQGZj0BAHUShf91 + C4vG6N/t//+FwHUkR+vbZj3//4l+THUWagP/dghopOQCEOiJ8///uE5hvABfwzPAX8NVi+yD7BiLRlCo + QFNXdRKoIA+E3AAAAIN+KAAPhNIAAABqAluNRfxQvwAgAABX/3YYjUX4UI1F6FBqAemgAAAA9kZQQHRS + jYaBAAAAM8lmiwhmhcmNUQFmiRB0Fg+3wmoCUP92HOhzg///hcAPhYMAAAAPv0X8UItGGGbHhoMAAAAB + AOiH7f//jVZUjU54iUZY6NBY///rMIN+KAB0Lg+/RfxQi0YY6GTt//+NVlSNjoUAAACJRljoqlj//4XA + dTWLTijoM1L//4XAdSmNTfxRV/92GI1N+FGNTeiLw1FDUP92CGoD6G5a//9mhcAPhE3///8zwF9bycNV + i+yD7CRXaghZ/3ZIxkXcMP91CDPA/3ZAjX3d/3Yk86v/dixmq6ro+nn//4tWLIPEFI1N3OjSUf//hcB1 + EzlF4HUOi0UMxwABAAAAuE5hvABfycIIAFWL7FFTVlfrMotF/IuYtAEAAIu4vAEAAL4AIAAAO/5/Aov3 + VlP/dQjoVFr//2Y9//90Oyv+A96F/3/djUX8UP91COjsWf//i/Bmg/5jdLpmg/7/dQ9qA/91CGiw5AIQ + 6Mvx//9mi8ZfXlvJwgQAagP/dQhowOQCEOiy8f//Zg3//+vkVYvsg+wQi0cEM8lBZjlPElNWiUX4iU30 + D4yEAQAAjbDEAQAAM9vrA4tF+DleFHUDi0bwVv92/FAzwGaLRgxQ/3b4M8Bmi0YOUDPAZotGEFAzwGaL + RgRQM8Bmi0b0UP93COhoWf//Zj3//4lF8A+ENwEAAGaDfg4LD4WwAAAAOV4ID4SnAAAAU1ONRfxQaBsn + AAD/dwjoKFn//2Y9//8PhBIBAAAzwGaLRgxWVv928FAzwGaLRghQM8Bmi0YOU1NQM8Bmi0b0UP91/Ojn + WP//Zj3//w+E6QAAAFNTjUX8UGgdJwAA/3cI6NZY//9mPf//D4TAAAAAM8Bmi0YMVlb/dvBQM8Bmi0YI + UDPAZotGDlNTUDPAZotG9FD/dfzolVj//2Y9//+JRfAPhJQAAAA5Xhx0VVNTjUX8UGgdJwAA/3cI6HxY + //9mPf//dGpq/Y2GPP///1AzwGaLRvRo8wMAAFD/dfzoNVj//2Y9//+JRfB0XDPAZotG9FNTaPQDAABQ + /3X86BZY//+4DAIAAAFF+APwD79HEv9F9DlF9A+Ohv7//2aLRfBeW8nDagP/dwho/OQCEOsiagP/dwho + 7OQCEOsWagP/dwho3OQCEOsKagP/dwhozOQCEOjP7///Zg3//+vDVYvsgewsAQAAVoszV2oIWf91CDPA + xkXYMI192fOrZquqjYXU/v//aAzPAhBQM//oNnf//4PEDI2V1P7//41N2OgLT///hcB1S2Y5QxB+Q4HG + lgAAAP914I1OAY1BsVBH6Bxz//+FwHUrigY8TXQEPFd1EQ+/TrPoJ1b//4P4/4lG+nQWD79DEIHGwAEA + ADv4fMMzwF9eycIEALgmAwAA6/NVjWwkkIHslAIAAFPZ7lbdXTiLdXiLBlcz24lFUDPAxkUsQ4hdLWaJ + XS6JXTCJXTSJXUCJXURqB419SKurWTPAagfGRQhJiF0JZsdFCgsAiV0MjX0Q86tZxkXkTIhd5WaJXeaJ + XeiNfexW86uNheD+//9o+OkCEFDoTHb//2aLRhCDxAxqAY1VYI2N4P7//2bHRWcCAGaJRWlmx0VrBgDo + WFT//4v4O/uJfVh9B/ff6Z8BAAC5AAEAAGbHRWcCAGaJXWlmiV1r6ItQ//87w4lFSHUKv7YAAADpdgEA + AIvI6BVR//+LTUjov1D//4lFVDPAQGY5RhCJRVwPjCUBAACLdVCBxpYAAACLVVRm/0VpjUYBZsdFawEA + 6Gtq//+NVSyNTWCJRTDo5VP//4v4O/sPhR4BAACLTVRmx0VrAgDHRTABAAAAigaIAY1VLI1NYOi8U/// + i/g7+w+F9QAAAGbHRWsDAIoGPEN0FTxWdBE8UXQNPEZ0CTxOdAWJXRDrBotGyolFEI1VCI1NYOiAU/// + i/g7+w+FuQAAAGbHRWsEAIoGPEJ0DTxOdAk8RnQFiV0Q6wcPv0bSiUUQjVUIjU1g6EtT//+L+Dv7D4WE + AAAAZsdFawUAD79G1I1V5I1NYIlF6OgpU///i/g7+3VmZsdFawYAD79G1o1V5I1NYIlF6OgLU///i/g7 + +3VIi0V4D79AEIHGwAEAAP9FXDlFXA+O5P7//42F4P7//1D/dXyNheD9//9oMOgCEFDoinT//4PEEI2N + 4P3//+hYTP//i/g7+3QYi01YO8t+BehtU///jXUs6Epx//+Lx+sSjXUs6D5x//+LTVjoUVP//zPAX15b + g8VwycIIAIsIVlcPv3gQhf90N42xlgAAAGaLRrNPZj3//3Qcig6A+U10BYD5V3UQjU76UQ+/yOi7ev// + hcB1DIHGwAEAAIX/dc8zwF9ew1FTVYtsJBBWi3UAVzPbU2oEjUQkIFBqUf91DDP/R4lcJCToWlT//2aF + wA+FvA8AACF8JBhmOV0QD46jDwAA/0QkEGaLRCQQZotOZGaJRm6LRQiJRlgPv8GDwAuD+Be6ACAAAMZG + JDAPh+cMAAD/JIUn1gAQOZ6IAAAAxgZDiV4EiV4cZsdGZgEAD4VCAQAAi0ZgPf4AAAB3W41IAejnTf// + O8OJRhwPhDkPAACLyOh3Tv//i04c6CFO//+JRlyLRmDpOgwAAItOYEHouU3//zvDiUYcD4QLDwAAi8jo + SU7//4tOHOjzTf//iUZci0Zg6aQOAACLRXCJRhyLRRjpywQAADmeiAAAAMYGQ4leBIleHGbHRmb+/w+F + EwIAAItOYIH5/gAAAHdi6FtN//87w4lGHA+ErQ4AAIvI6OtN//+LThzolU3//4E91GADEIQDAACJRlyL + RmCJRnwPglkBAADGhpYAAABR6TAOAACLRXCJRhyLRRiJRlyJVnyJnoQAAACLfCQY6RkNAACBPdRgAxCE + AwAAi0VwiUYci0UYiUZccgnGhpYAAABX683GhpYAAABNZsdGbAEA6745nogAAADGBkOJXgSJXhxmx0Zm + AQB0IIqGlgAAADxNdAg8Vw+F4/7//4tFcIlGHItFGOnjAwAAi0ZgPf4AAAB3R41IAeiFTP//O8OJRhwP + hNcNAACLyOgVTf//i04c6L9M//+JRlyLRmBAgT3UYAMQhAMAAIlGfBrAJO0EVoiGlgAAAOlaDQAAi0Vw + iUYci0UY6dwMAAA5nogAAADGBkOJXgSJXhxmx0Zm/v90G4qGlgAAADxND4T3/v//PFcPhO/+///pRP7/ + /4tOYIH5/gAAAA+H4gAAAOjyS///O8OJRhwPhEQNAACLyOiCTP//i04c6CxM//+JRlyLRmCJRnzGhpYA + AABDZsdGbAEA6dEMAAA5nogAAADGBkOJXgSJXhxmx0ZmAQAPhFz///+KhpYAAAA8TQ+E7/7//zxXD4Tn + /v//i0VwiUYci0UY6dYLAADHhowAAAAdvQAQ6bQMAAA5nogAAADGBkOJXgSJXhxmx0Zm/v90Q4qGlgAA + ADxND4Qu/v//PFcPhCb+//+LTmDoOkv//zvDiUYcD4SMDAAAi8joykv//4tOHOh0S///iUZci0Zg6SYM + AACBPdRgAxCEAwAAi0VwiUYci0UYiUZciVZ8cgzGhpYAAABX6eH9///GhpYAAABNZsdGbAEA6c/9//85 + nogAAADGBkOJXgSJXhx0Y4qGlgAAADxND4QCAQAAPFcPhPoAAACLTmBBQeirSv//O8OJRhwPhP0LAACL + yOg7S///i04c6OVK//+JRlyLRmBAQIC+lgAAAFGJRnx0CmY5XmwPhJYFAABmx0Zm+P/pfAsAAItOYEHo + X0r//zvDiUYcD4SxCwAAi8jo70r//4tOHOiZSv//iUZci0ZgZsdGZgEA6awIAAA5nogAAADGBkOJXgSJ + XhwPhVT///+LRmA9/gAAAA+HpgoAAI1IAegJSv//O8OJRhwPhFsLAACLyOiZSv//i04c6ENK//+JRlyL + RmBAZoN+Sf+JRnxmx0ZmAQDGhpYAAABDib6EAAAAdFc7+7hRrAAQdVy4hb0AEOtVPFeLTXCJThyLTRiJ + noQAAACJVnyJTlyLfCQYdApmOV5sD4R+CQAAZoN+Sf9mx0Zm+P8PhKoAAADHhowAAADjtgAQ6bkKAAA7 + +7gtrAAQdQW4Hb0AEImGjAAAAIt8JBjpnAoAADmeiAAAAMYGQ4leBIleHHR8ioaWAAAAPE10gTxXD4R5 + ////i05gQUHoKkn//zvDiUYcD4R8CgAAi8joukn//4tOHOhkSf//iUZci0ZgQECAvpYAAABRiUZ8dA5m + OV5sdQhmx0ZmAQDrBmbHRmb4/4m+hAAAAIt8JBjp8wkAAMeGjAAAAH61ABDpDwoAAItFcIlGHItFGGbH + RmYBAMaGlgAAAE2JRlyJVnyJnoQAAACLfCQY6Y8IAAA5nogAAAB0FoqGlgAAADxDD4R2AwAAPFYPhG4D + AACNRgTGBkyJGGbHRmbu/8aGlgAAAEzpKQMAADmeiAAAAA+EOAEAAIqGlgAAADxDdHQ8VnRwPFF0bDxO + dCM8RnQfPEJ0GzxJD4W/AAAAiAZmx0YCCwCNRghmx0Zm8P/rG2aLRmBmiUYCD79GaIlGBMYGTo1GDGbH + RmYIAGaDfkn/iUZcdBA7+7iSrAAQdXi4Tr4AEOtxO/u4dawAEHVouO29ABDrYYtOYEHGBkOJXgSJXhzo + y0f//zvDiUYcD4QdCQAAi8joW0j//4tOHOgFSP//iUZci0ZgQGaDfkn/iUZ8ZsdGZgEAdBA7+7hRrAAQ + dRW4hb0AEOsOO/u4LawAEHUFuB29ABCJhowAAACAvpYAAABMD4WfBAAAZoN+Sf+NRgTGBkyJGIlGXGbH + Rmbw/3QXO/u4kqwAEA+FdAQAALhOvgAQ6WoEAAA7+7h1rAAQD4VdBAAAuO29ABDpUwQAAGaD+QR1MTle + cHQsagpYjU4MxgZOZolGAoleBGbHRmYIAIlOXMaGlgAAAE6JRmBmiV5o6bEBAADGBklmx0YCCwBmx0Zm + 8P+NRgjGhpYAAABJ6ZABAAA5nogAAAB0UIqGlgAAADxDdAw8VnQIPFEPhfUHAABqFVnGBkOJXgSJXhzo + n0b//zvDiUYcD4TxBwAAi8joL0f//4tOHOjZRv//iUZcx0Z8FQAAAOmZAQAAahVZxgZDiV4EiV4c6GVG + //87w4lGHA+EtwcAAIvI6PVG//+LThzon0b//4lGXMdGYBQAAADHRnwVAAAAxoaWAAAAQ+lRAQAAOZ6I + AAAAdGGKhpYAAAA8Qw+EBQEAADxWD4T9AAAAPEl1FogGZsdGAgsAjUYIZsdGZgQA6bgAAAA8TnQbPEJ0 + FzxGdBM8WQ+FJwcAAIiGlgAAAOkXBQAAPE7GBk51Bg+/RmDreGoUWOtzOV50ib6EAAAAdSdmi0ZgZolG + Ag+/RmiJRgSNRgzGBk6JRlxmx0ZmCADGhpYAAABO617GhpYAAABZ6c0EAAA5nogAAAAPhKkAAACKhpYA + AAA8Q3RePFZ0WjxRdFY8TnQMPEJ0CDxGD4WeBgAAZotGYMYGTmaJRgIPv0ZoiUYEjUYMZsdGZggAiUZc + ib6EAAAAZoN+Sf8PhNEEAAA7+7iSrAAQD4VcBgAAuE6+ABDpUgYAAItOYEHGBkOJXgSJXhzoAUX//zvD + iUYcD4RTBgAAi8jokUX//4tOHOg7Rf//iUZci0ZgQIlGfGbHRmYBAOnmBQAAxgZOZsdGAhQAx0YEEAAA + AMaGlgAAAELpb////zmeiAAAAA+EuAAAAIqGlgAAADxDdAQ8VnUKZjlebA+EegEAADxRdGs8Q3QEPFZ1 + BmY5Xmx1XTxUdAo8RA+FqgEAADxUD5XA/sgkEAREiAZmx0ZmCQBmg35J/42GmAEAAIlGXHQXO/u4AKwA + EA+FdAEAALiuvAAQ6WoBAAA7+7jTqwAQD4VdAQAAuD+8ABDpUwEAAGoQWegbRP//O8OJRhwPhG0FAACL + yOirRP//i04c6FVE//+JRlzHRnwQAAAA6WoBAABmg35J/42GmAEAAMYGRIlGXGbHRmYJAMaGlgAAAESJ + voQAAAB0Fzv7uACsABAPhf4EAAC4rrwAEOn0BAAAO/u406sAEA+F5wQAALg/vAAQ6d0EAAA5nogAAAAP + hCIBAACKhpYAAAA8RHUNiAZmx0ZmCwDpGv///zxUdTxmg35J/4gGjYaYAQAAiUZcZsdGZgsAdBQ7+7im + qwAQD4WCAAAAuNC7ABDrezv7uHmrABB1crhhuwAQ62s8UXR4PEN0BDxWdQZmOV5sdWo8Q3QEPFZ1V8YG + Q4leBIleHItOYEHoD0P//zvDiUYcD4RhBAAAi8jon0P//4tOHOhJQ///iUZci0ZgQIlGfGbHRmYBAGaD + fkn/dV47+7gtrAAQdQW4Hb0AEImGjAAAAIm+hAAAAOkEBAAAahBZxgZDiV4EiV4c6K5C//87w4lGHA+E + AAQAAIvI6D5D//+LThzo6EL//2oQiUZcWIlGfIlGYGbHRmYLAOubO/u4UawAEHWnuIW9ABDroGaDfkn/ + jYaYAQAAxgZUiUZcZsdGZgsAxoaWAAAAVIm+hAAAAHQXO/u4pqsAEA+FfAMAALjQuwAQ6XIDAAA7+7h5 + qwAQD4VlAwAAuGG7ABDpWwMAAItOYEHGBkOJXgSJXhzoCkL//zvDiUYcD4RcAwAAi8jomkL//4tOHOhE + Qv//iUZci0ZgQIlGfGbHRmYBAMaGlgAAAEPpmfz//zmeiAAAAHRUgL6WAAAAUXVLi05gQcYGQ4leBIle + HOixQf//O8OJRhwPhAMDAACLyOhBQv//i04c6OtB//+JRlyLRmCJRgRmx0Zm9f9AiUZ8xoaWAAAAQ+mM + AgAAaiVZxgZDiV4EiV4c6GdB//87w4lGHA+EuQIAAIvI6PdB//+LThzooUH//4lGXMdGBCQAAADHRnwl + AAAAZsdGZgEA67A5nogAAAAPhKoBAACKhpYAAAA8Qw+EWgEAADxWD4RSAQAAPFEPhEoBAAA8TQ+EwAAA + ADxXD4S4AAAAPEl1FogGZsdGAgsAjUYIZsdGZvD/6aL7//88Qg+Ef/v//zxOD4R3+///PEYPhG/7//88 + WQ+FBQIAAIm+hAAAAGaDfkn/jYaoAQAAxgZZiV4UiV4YiUZcx0ZgEwAAAGbHRmgEAMdGfBYAAABmx0Zm + AQB0Fzv7uEyrABAPhbkBAAC48LoAEOmvAQAAO/u4H6sAEA+FogEAALh/ugAQ6ZgBAAA7+7h1rAAQD4WL + AQAAuO29ABDpgQEAAGY5XmyJXhzGBkOJXgSLTXCJThyLTRiJTlyJVnyJnoQAAACLfCQYdS88V3QrZsdG + ZgEAZoN+Sf90D8eGjAAAAGO5ABDpPwEAAMeGjAAAAP+3ABDpMAEAAGbHRmb+/2aDfkn/dA/HhowAAABy + tAAQ6RQBAADHhowAAAAXswAQ6QUBAACJXhzGBkOJXgSLRXCJRhyLRRhmx0ZmAQBmg35J/4lGXIlWfIme + hAAAAIt8JBgPhA/0///HhowAAACFvQAQ6cMAAACLRng9/gAAAIleHIleBMYGQ35Hi0VwiUYci0UYZsdG + ZgEAZoN+Sf+JRlyJVnzGhpYAAABNiZ6EAAAAdA/HhowAAABjuQAQ6dP1///HhowAAAD/twAQ6cT1//+N + SAHoHD///zvDiUYcdHKLyOiwP///i04c6Fo///+JRlyLRniJRmBmx0ZmAQDGhpYAAABDQIlGfIm+hAAA + AGaDfkn/dBA7+7hRrAAQdRW4hb0AEOsOO/u4LawAEHUFuB29ABCJhowAAAAPv0UQgcbAAQAAOUQkEA+M + XfD//zPA6xu4tgAAAOsUagL/dQxolOwCEOhe3P//uE5hvABfXl1bWcIEANPSABBQywAQc8oAEMvJABAI + zAAQQMwAENnNABA4yQAQb8gAECHHABDqyAAQc9MAEJPGABB5zgAQec4AEEDMABBAzAAQIM8AECDPABAg + zwAQ8c8AEIvSABAJ0QAQ2ccAEIsPUw+/XxAzwIXbVnRPjbGAAAAAS4N+BAB0I1b/dvwzwGaLRub/dtxQ + M8Bmi0buUP93COiHQ///Zj3//3QMgcbAAQAAhdt1zOsTagP/dwhooOwCEOiY2///Zg3//15bw1WL7IPs + DINl+ACDZfQAUzPAVot1CIseQGY5RhBXiUX8D4xeAQAAg8NkjUMwjVDWUo1LBFGNe/xXU1BoAAEAAI1D + M1D/dfz/dgjoX0P//2Y9//+JRfgPhDQBAAAPvwODwAuD+BcPh54AAAAPtoCd2AAQ/ySFhdgAEI1DDFAz + wFBQUGoI/3X8/3YI6OlC//9mPf//iUX4D4WbAAAAagP/dghovOwCEOjn2v//Zg3//+nVAAAAjUMQUDPA + UFBQagn/dfz/dgjorkL//2Y9//+JRfh0yYN7EAB1XoMHAmoUWDkHdgKJB2aDewQQfktmx0MEEADrQ8cH + FAAAAOvwgz8AdTbHBwEAAADrLjPAjXsUV1BQUGoG/3X8/3YI6FlC//9mPf//iUX4D4Rw////gz8AdQbH + B/8AAACNQzOAOAB1KoN99AB0E/919Gi07AIQUOjgYf//g8QM6wy+rOwCEIv4paSLdQj/RfTrBei51v// + gcPAAQAA/0X8ZotF/GY7RhAPjqX+//9mi0X4X15bycIEAGoD/3YIaMzsAhDpB////x3YABDi1wAQX9cA + EJrXABDa1wAQ79cAEAAAAQEAAgAAAQEABQEDAwICBAQEAAAAAVWL7IHsLAEAAFNWizX4sQIQV2oIxkXY + MDPAWY192fOrZqtomAAAAKr/1ovYhdtZdRCLRQzHALYAAAAzwOmiAwAAaiYzwFmL+/Ori30IZoM/BXwZ + i4eaAAAAhcB0D6gHiUNQdQ+DyAGJQ1DrB8dDUDEAAACLQ1CD4GA8YA+EdQEAALkAIAAAxkNUQ+hjO/// + hcCJQ3APhLYCAACLyOjzO///i0tw6J07//+JQxiLVyqLT0JC6Do8//9mhcAPhI8CAACLT0Loyzv//4tP + Quh1O///iUM8ZoM/A3wui0dOhcB0J4tPZo1QAegGPP//ZoXAD4RbAgAAi09m6Jc7//+LT2boQTv//4lD + IGaDPwR8OYtHcoXAdDKLj4oAAACNUAHozzv//2aFwA+EJAIAAIuPigAAAOhdO///i4+KAAAA6AQ7//+J + QxzrCvZDUEAPhaUAAABmgz8GfDqLh7oAAACFwHQwi4/SAAAAjVAB6IM7//9mhcAPhNgBAACLj9IAAADo + ETv//4uP0gAAAOi4Ov//iUMwZoM/B3w6i4feAAAAhcB0MIuP9gAAAI1QAehDO///ZoXAD4SYAQAAi4/2 + AAAA6NE6//+Lj/YAAADoeDr//4lDNGaDPwgPjGABAACLhwIBAACFwA+EUgEAAD0ABAAAdwb2Q1AwdQ6L + RQzHAIUDAADp3QEAAIuPGgEAAI1QAejgOv//ZoXAD4Q1AQAAi48aAQAA6CA6///2Q1AgiUX8D4S6AAAA + U42F2P7//2gE7QIQUOgfX///g8QMagGNk4UAAACNjdj+///oPD3//4XAiYOUAAAAfQyLTQz32IkB6XAB + AABoAAgAAP/WhcBZiUMoD4TMAAAAi1X8igpCiAhAhMl19ot7KE+KRwFHhMB1+L787AIQpY2F2P7//6SL + 0IoIQITJdfmLeygrwk+KTwFHhMl1+IvIwekCi/LzpYvIg+ED86SLeyhPikcBR4TAdfi++OwCEGalizX4 + sQIQi30I9kNQEHRIaAAEAAD/1olDJMcEJAAIAAD/1lmLSySFyYlDLHQ/hcB0O4tV/IoCQogBQYTAdfaL + eyRPikcBR4TAdfi+7OwCEKWlZqWki30IZoM/CXwdi4cqAQAAhcB0E4lDROsVi0UMxwC2AAAA6YMAAADH + Q0RkAAAAi0MchcB0GGoCagGNc3hQ6Ppm//+FwIt1DIkGdAXrXYt1DP93Co2F2P7//2hA7gIQUOjJXf// + g8QMjZXY/v//jU3Y6J41//+FwIkGdS+LReCJQwyNQwhQ/3XgagPo9T3//2Y9//91FWoC/3MMaNzsAhDo + 6NX//8cGTmG8AIvDX15bycIIAFFTVovwM9s5XiRXdH7/dCQUU+g94///O8MPhZEAAAD/dgjo/j3//4v4 + ZoX/dAZmg/8BdSSLxuj6z///hcB1cUOLw5n3fkSF0nXV/3QkFFPoAOP//4XA68Fmg///dA7/dCQUU+js + 4v//hcB1RGaD//+JXkx1OWoD/3YIaKTkAhDoVdX//7hOYbwA6yX/dgjokj3//4v4ZoX/dAZmg/8BdcyL + xuiOz///hcB1BUPr3TPAX15bWcIEAFFRU1Uz21aLdCQYQ2Y5XhJXi34EiVwkFA+M6wYAADPt6wMz20Nm + i4fIAQAAZj0CAHQGZj0EAHUZjYeAAQAAUIvH6Ilj//87xQ+FvQYAAIleFI2fjQEAAIvXi8voSTT//zvF + D4WjBgAAD74Dg/hND4+4AwAAD4QjBAAAg+gwD4RIAgAAg+gTD4QLAQAASA+EkwAAAIPoBXQmg+gDD4VM + BgAAjYeRAQAAZseH1AEAAPD/ZseH0gEAAPn/6SkGAAA5r9wBAAB0Q2aLh9IBAABmPQgAdCJmPQYAdBxm + PQcAdBZmPQQAdBBmPQUAdApmPfv/D4XABQAAjYeVAQAAZseH1AEAAAQA6d4FAACNh5UBAABmx4fUAQAA + 8P9mx4fSAQAABADpwQUAADmv3AEAAHQXZouH0gEAAGY9CQB0CmY9CwAPhXAFAADdBbj7AhDdh5kBAADa + 6d/g9sREegmDj8QBAAD/6w2Nt+QBAACLw+gzyf//jYfkAQAAZseH1AEAAAsAZseH0gEAAAsAx4e8AQAA + EAAAAOlQBQAAZouHyAEAAGY9AgB0FGY9BAB0DouHkQEAAImHwAEAAOtOOa/cAQAAdBlmi4fSAQAAZj3+ + /3QMZj0BAHQGZj34/3UzjbeRAQAAuwAgAAA5HnMWi4+pAQAAi9PoXDb//2aFwA+EFgUAAIsGiZ/AAQAA + iYe8AQAAjbepAQAAiw7o2jX//4sO6IU1//85r9wBAACJh7QBAAB0SWaLh9IBAABmPf7/dBZmPfj/dApm + PQsAD4VqBAAAZj3+/3UOZseH0gEAAPz/6eMCAABmPfj/D4XLAgAAZseH0gEAAPb/6csCAABmi4ePAQAA + i5e8AQAAZovIZvfZG8mD4f1Bgfr/AAAAZomP1AEAAHMSZomP0gEAAImXxAEAAOk8BAAAZvfYapwbwIPg + /UhmiYfSAQAAWCvC6YACAACDj8QBAAD/Oa/cAQAAdRdmx4fUAQAAYwBmx4fSAQAAAQDp/AMAAGaLh8gB + AABmPQIAdApmPQQAD4XlAwAAZouH0gEAAA+/yIPBCIP5Ew+HzwMAAA+2iY3kABD/JI1x5AAQxgNJZseH + jwEAAAsAjYeVAQAA6aQDAADGA05mx4ePAQAAFADHh5EBAAAQAAAA6YMDAAC+ACAAAIvOxgNDia+RAQAA + ia+pAQAA6Ngz//87xYmHqQEAAA+EjQMAAIvIibfAAQAA6F80//+Lj6kBAADoBjT//+lDAwAAZj0JAA+V + wP7IJPAEVIgDjYfkAQAAx4fAAQAAEAAAAOkfAwAAahWNt6kBAABZxgNDia+RAQAAiS7ocDP//zvFiQYP + hCkDAACLyOgBNP//iw7orDP//8eHwAEAABQAAADp3wIAAMYDWYmvoQEAAImvpQEAAI2H9AEAAMeHwAEA + ABYAAADpuwIAAIPoTg+ETQIAAIPoBg+ETQEAAIPoA3RaSEgPhaICAACNt/QBAABWi8PoDcX//4m3tAEA + AMeHvAEAABMAAABmx4fQAQAABADHh8ABAAAXAAAAx4fEAQAA/f///2bHh9QBAAABAGbHh9IBAAADAOlQ + AgAAZouHyAEAAGY9AgCLj5UBAACJj7wBAAB0BmY9BAB1EbgBIAAAO8iJh8ABAAB3AovI6H8y//87xYmH + qQEAAA+ENAIAAIvI6Awz//+Lj6kBAADoszL//1CL84mHtAEAAOiDUv//O8UPhQMCAAA5r9wBAAB0UGaL + h9IBAABmPf7/D4Qw/f//Zj34/w+EIP3//2Y9AQDpEf3//2Y9AQB1CGaDj9IBAAD/apxYK4e8AQAAiYfE + AQAAx4fYAQAAAQAAAOmNAQAAi4eRAQAAi8j32RvJg+EDSUn32BvAg+ADg8D8ZomP1AEAAGaJh9IBAADr + tzmv3AEAAA+EkgAAAGaLj9IBAABmg/kJdApmg/kLD4UHAQAA3QW4+wIQ3YeZAQAA2unf4PbERHokg4/E + AQAA/2bHh9QBAAALAGbHh9IBAAALAI2H5AEAAOkAAQAAZoP5C4235AEAAHUIU+jqxf//6weLw+ihxP// + ibe0AQAAZseH1AEAAAsAZseH0gEAAAsAx4e8AQAAEAAAAOnEAAAA3QW4+wIQ3YeZAQAA2unf4PbERHoJ + g4/EAQAA/+sMjbfkAQAAU+iQxf//jYfkAQAAahCJh7QBAABYZseH1AEAAAsAZseH0gEAAAsAiYfAAQAA + iYe8AQAA62s5r9wBAAB0RWaLh9IBAABmPQgAdEFmPQYAdDtmPQcAdDVmPQQAdC9mPQUAdClmPfv/dCNV + VWgQ5QIQaFjAAhCLx+i9cwEAuE5hvADrPGbHh9IBAAAIAGbHh9QBAAAIAI2HmQEAAImHtAEAAIt0JBwP + v0YSgccMAgAA/0QkFDlEJBQPjhn5//8zwF9eXVtZWcIEALi2AAAA6/C04AAQHuEAEF7hABCC4AAQmeAA + EPrgABBD5AAQAAYGAQYGAAYGAAICAwMEBAQFBgVVi+yD7CxWi3UIi0Y0VzP/O8d1BzPA6QMDAACJRfxT + jUX0UI1d/OivUv//hcAPhJoCAACLRfSD+AEPjMgCAAAPv04SO8EPj7wCAACLTgRpwAwCAACNnAj0/f// + aIAAAACNgwABAACNVfyJXfjo3VP//4mD4AEAAGogjUXU6IVU//+FwA+EFAIAAGoKv0DnAhCNddRZM8Dz + pnUXZseD0gEAAPj/ZseD1AEAAPj/6dsBAABqC1i/NOcCEI111IvIM9LzpnUXZseD0gEAAP7/ZseD1AEA + AP7/6bEBAABqCb8o5wIQjXXUWTPS86Z1DmbHg9IBAAABAOmJAQAAagm/HOcCEI111Fkz0vOmdRdmx4PS + AQAACQBmx4PUAQAACQDpagEAAGoOvwznAhCNddRZM9LzpnVcaiiNVfxmiYPSAQAAZomD1AEAAOgoUv// + hcAPhDkBAACNs8wBAABWi9roeVH//4XAD4RtAQAAaimL0+gBUv//hcAPhGcBAACLBotN+IPAFImBvAEA + AIvZ6f0AAAC/bOYCEI111IvIM9LzpnUOZseD0gEAAPv/6dYAAABqDL9g5gIQjXXUWTPS86Z1F2bHg9IB + AAAEAGbHg9QBAAAEAOm3AAAAag2/UOYCEI111Fkz0vOmdQtmx4PSAQAABQDr1ovIv0TmAhCNddQzwPOm + dRRmx4PSAQAACABmx4PUAQAACADrd2oKvzjmAhCNddRZM8DzpnULZseD0gEAAAYA69lqCb8s5gIQjXXU + WTPA86Z1C2bHg9IBAAAHAOu9agy/IOYCEI111FkzwPOmdQtmx4PSAQAAAgDrGmoMvxTmAhCNddRZM8Dz + pnVyZseD0gEAAAMAZseD1AEAAAEAi3UIx4PcAQAAAQAAADP/6wg5u+ABAAB0VWosjVX86MRQ//+FwA+F + aP3//1fotlD//4XAdUJXV2hM5QIQi0X860FXV2ig5wIQ6/JqAGoAaMDmAhDr52oAagBoeOYCEOvcagBq + AGjQ5QIQjUXU6xRXV2iI5QIQ68UzwOsWV1doUOcCEGhYwAIQ6CJwAQC4TmG8AFtfXsnCBABVi+xRUVNW + i3UIi048i1Y4V4t+BMdF+AEAAADp3AAAAID7InUViBrrB4D7InQkiBpCQYoZhNt18esYgPsndRyIGusH + gPsndAqIGkJBihmE23XxigGIAumfAAAAgPs/D4WUAAAAikEBPHt0DjxAD4WFAAAAgHkCe3V/ZotF+P9F + +GaJh7gBAACKAYgCQoB5AUB1DmbHh8gBAAACAIPBA+sLQWbHh8gBAAABAEGKAYTAx0X8AAEAAIv3dC+D + ffwAdFk8XHUOgHkBfXUIxgZ9RkFB6wg8fXQNiAZGQYoB/038hMB114N9/AB0MMYGAIt1CEGBxwwCAADr + BIgaQkGKGYTbD4Ua////i0UMiBorVjiJEDPAX15bycIIAGoAagBo8OcCEGhYwAIQi8fo6G4BALhOYbwA + 691VjWwkiIHsDAEAAFNWi3JAV4s6jUb/UItCIGp86J5E//+FwIlFdHUOUFBoaOkCEIvG6cIAAAAPv1oQ + jXdIv4AAAABXjUXwjVV06F9Q//+FwA+ElgAAAGou6L1O//+FwHQpV42FcP///+hAUP//hcB0e41F8FBW + jYVw////UOjfWP//M/87x3V/6w9WjU3w6NRM//+FwHVwM/+BxsABAABLdA5qLI1VdOhuTv//hcB1jVeN + VXToYU7//4XAdRQ731dXdQdo7OgCEOsraKDoAhDrCzvfdBNXV2hQ6AIQaFjAAhDoMmoBAOsaM8DrG2oA + agBoIOkCEItFdGhYwAIQ6N9tAQC4TmG8AF9eW4PFeMnDVYvsgew8AgAAU1ZXaghZ/3UIM8DGRcwwjX3N + 86tmq6qNhcj+//9o+OkCEFDo30///4PEDP91DI2FyP7//1CNhcj9//9o5OkCEFDowU///4PEEI2NyP3/ + /+iPJ///M/87xw+FegEAAI1F8FCNjcj+///o4kv//zvHD4U5AQAAD7dN8zPSQmbHRfcCAGaJfflmiX37 + 6IUu//87x4lFDA+EFgEAAP9NDGb/RfmNVcyNTfBmx0X7AQDoqi3//zvHD4X0AAAAi1XQi03oQujPKv// + ZoXAD4TAAAAAi03o6BIq//+LdQiL2FPoe8T//4tN6Ivw6LIp//879w+EogAAAI1VzI1N8GbHRfsCAOhX + Lf//O8cPhaEAAACLTejo1Cn//4oAiIaWAAAAi03o6Hkp//+NVcyNTfBmx0X7AwDoJi3//zvHdXSLRdSJ + RmCNVcyNTfBmx0X7BADoCy3//zvHdVlmi0XUZolGaI1VzI1N8GbHRfsGAOjuLP//O8d1PDl9DGaLRdBm + iUZsx4aIAAAAAQAAAA+FDf///+shuLYAAADrGFdXaKTpAhBoWMACEIvD6CBsAQC4TmG8AIv4jYXI/v// + UI2FyP3//2iY6QIQUOg/Tv//g8QMjY3I/f//6A0m//+Lx19eW8nCCABVi+yB7AQBAABWi3UIi0YwhcAP + hNACAACLTkBTV0lRanzookH//4XAiUX8D4SzAgAAvwABAABXjYX8/v//jVX86HFN//+FwHUfV42F/P7/ + /+ipTP//hcAPhO0BAACNhfz+///otML//42F/P7//1DoCsP//4vwhfYPhNcBAACNnpYAAABTuPzrAhCN + ffzoXEv//4XAD4TJAQAAigM8YXIMPHp3CA+20IPqIOsDD7bQZotOZIrCiBPoCMP//4XAD4SwAQAAgPpD + D4TuAAAAgPpWD4TlAAAAgPpRD4TcAAAAgPpOdF6A+kZ0WYD6QnVMaiiNVfzoK0v//4XAdCyNRmhQi9ro + Hkr//4XAD4SBAQAAaimL0+gLS///hcB0fcdGYBIAAADp1AAAAMdGYAgAAABmx0ZoAgDpwgAAAID6V+my + AAAAaiiNVfzo10r//4XAdF2NRmBQi9roL0r//4XAD4Q7AQAAaiyL0+i3Sv//hcB0Fo1GaFDorEn//4XA + dQ5QUGhY6gIQ6xxmg2ZoAGopjVX86I5K//+FwHVjagBqAGjc6gIQjYX8/v//6SYBAABmg2ZoAMdGYAoA + AADrQWoojVX86F5K//+FwA+E3wAAAI1GYFCL2uiySf//hcAPhLAAAABqKYvT6DpK//+FwHSsgL6WAAAA + UXUGZsdGbAEAuFDqAhCNVfzoNkr//4XAdAZmx0ZqAQC4ROoCEI1V/OgfSv//hcB0BmbHRmwBAGosjVX8 + x4aIAAAAAQAAAOjlSf//hcB0eIt1COnn/f//agBqAGhg7AIQ63tqAGoAaBjsAhDpP////2oAagCNhpcA + AABoxOsCEOtfD7bCUI2F/P7//1BogOsCEGhYwAIQ6PdoAQDrTWoAagBoEOsCEOkE////agBqAGiY6gIQ + 6fb+//9qAGoAaEzrAhDp6P7//zP2Vo1V/OheSf//hcB1G1ZWaBDqAhCLRfxoWMACEOgNaQEAuE5hvADr + AjPAX1teycIEAFWL7IPsXFNWV4vxiXXwgw1QUAMQ/9nu3V3UM9JqBzPAWcZFpEnGRaUAZsdFpgsAiVWo + jX2s86uIRcnGRchDZolVyolVzIlV0IlV3IlV4I195KurjUX8UFaJVfSJVfzodOn//4N9/ACL2A+FowQA + ALmAAAAA6FAl//+FwIlF5HUMx0X8tgAAAOmGBAAAi8jo2CX//4tN5OiCJf//9kNQCIlF+HUMi0s86BW/ + //9miUMSZoN7EgAPhJMAAACLRiqLNfixAhBAUP/WhcBZiUM4dLAPv0MSacAMAgAAUP/Wi/iF/1mJewR0 + mQ+/SxJpyQwCAACL0cHpAjPA86uLyoPhA/OqjUXsUFPo3Pf//4XAiUX8D4X8AwAAU+in9P//hcCJRfwP + hesDAABT6Evt//+FwIlF/A+F2gMAAIv76K/Q//9mPf//D4TJAwAAi0Xs6wmLQzyJQziLRipQ/3M4/3MI + 6HEq//9mPf//dRRqA/9zCGhw7QIQ6CLC///plQMAAGY9YwB1Ev9zCOjgz///Zj3//w+EfQMAAGY9AQB1 + B4vz6HrO//+NcxCJdez/Q0BW/3MI6Cwq//9mPf//D4QLAwAAZosGZoXAD4RBAgAAD7/AacDAAQAAUP8V + +LECEIv4hf9ZiTsPhJn+//8Pvw5pycABAACL0cHpAjPA86uLyoPhA/OqjUNIUP9zCOjCKf//U+j35f// + ZoXAD4X3AgAA9kNQBXROi0sghcl0IItF+GiAAAAA/3NAaizoFT3//4XAdAqLRfjoxTz//+sni0NAg/gB + dQ6Lffi+RO0CEKWlZqXrEVBoOO0CEP91+OjPSP//g8QM9kNQBHQL/3X4U+it+P//6x5T6I36//+FwIlF + /A+FgQIAAPZDUAJ0EovT6H73//+FwIlF/A+FaQIAAFPoktT//4XAiUX8D4VYAgAAi/vo6OT//2Y9//8P + hEcCAACLQ1CoAnQpi8PoINT//4XAiUX8D4UuAgAAi/Po5sz//4XAiUX8D4UcAgAA6eAAAACoBP91+HQH + 6LNO///rBlPoY9H//4XAiUX8D4X4AQAA/3X46K/Q//+FwIlF/A+F5QEAAI1F9FCLw+iJ6v//hcCJRfwP + hc8BAACLcxyF9g+EggAAAI2DgQAAADPJZosIZoXJjVEBZokQdBcPt8JqAlBW6IlQ//+FwIlF/A+FlwEA + AItN+GiAAAAA6CU2//+Nc3iJRcyNVciLzmbHg4MAAAABAOjhJf//hcCJRfwPhWYBAACLQ0yJRayNVaSL + zmbHg4MAAAACAOi9Jf//hcCJRfwPhUIBAACLAw+/SEno/yb//4vz6DrM//+FwIlF/A+FJQEAAGoC/3MI + 6Hcn//9mPf//D4TXAAAA6LG9///pjAAAAIN7HAAPhIIAAACNRaxQ/3MI6K0n//9mPf//D4S8AAAAjYOB + AAAAM8lmiwhmhcmNUQFmiRB0GQ+3wmoCUP9zHOiqT///hcCJRfwPhbgAAACNu4MAAACNc3hmxwcBAINl + zACNVciLzugMJf//hcCJRfwPhZEAAACNVaSLzmbHBwIA6PIk//+FwIlF/HV7/3MI6MMm//+L+GaD//90 + T2aD/wF1Dovz6GjL//+FwIlF/HVXZoP/ZHREi3Xs6d/8//9qA/9zCGhc7QIQ6Zv8//9qA/9zCGgs7QIQ + 6Yz8//9qA/9zCGhQ7QIQ6X38//9qA/9zCGgc7QIQ6W78//9T6Ha5//+FwIlF/HRF/3Xwi/vo6bz//411 + yOj/Qv//gX38TmG8AHUEg2X8AItN/IXJdAfoxh3//+s1g330AGoLWnUKg8n/6Ekj///rImr+Wev0i0tA + agta6Dcj////dfCL++iZvP//jXXI6K9C//9fXlvJw7jKmgIQ6DeeAQCB7OwBAACDZfwAgw1QUAMQ/1NW + M8BXQI21CP///4ll8IvZ6AsFAQCNcyaNfYzGRfwB6P8FAQBqA1iLy421OP///8ZF/ALo6AQBAMZF/AMz + wGoIxoVo////MFmNvWn////zq2arqopDAjP/M/Y8ScdF7AEAAAB0LTxOdCU8Q3UN/7Us////aADuAhDr + McdFxIUDAABoOP0CEI1FxOlzAgAAPEl1BYtDCusI3UMO6OKZAQA7x3Qu/3MKaEDuAhCNhQj+//9Q6O9E + //+DxAyNlQj+//+NjWj////oVPMAAIu1cP///2j47QIQjUWM6L/sAACEwHRNgHtKTHQUx0XQhQMAAGg4 + /QIQjUXQ6QUCAABq+/9zTmpoVug8Jf//Zj3//w+FjwEAAGoCVmic7QIQ6OW8///HRdxOYbwAjUXc6WwB + AABo2O0CEI1FjOhh7AAAhMB0VIB7SkN0FMdFyIUDAABoOP0CEI1FyOmnAQAA/7U8/////7Vc////amlW + 6Nck//9mPf//D4UqAQAAagJWaJztAhDogLz//8dF1E5hvACNRdTpBwEAAGiw7QIQjUWM6PzrAACEwHRa + gHtKTHQUx0XAhQMAAGg4/QIQjUXA6UIBAAAzwDl7Tmr6D5TAQFBouwQAAFaJQ07obCT//2Y9//8Phb8A + AABqAlZonO0CEOgVvP//x0XMTmG8AI1FzOmcAAAAaIztAhCNRYzokesAAITAdEyAe0pDdBTHReiFAwAA + aDj9AhCNRejp1wAAAGr9/7Vc////aLwEAABW6Agk//9mPf//dV9qAlZonO0CEOi1u///x0XkTmG8AI1F + 5Os/aIDtAhCNRYzoNOsAAITAD4SBAAAAV1dowAQAAFboxyP//2Y9//91HmoCVmic7QIQ6HS7///HReBO + YbwAjUXgaDj9AhDrX2Y9AQB1EmoCX1dWaJztAhDoTrv//4l97ItN7GoLWug/IP//jbU4////6AQAAQCN + dYzo/P8AAI21CP///+jx/wAAi030X15kiQ0AAAAAW8nDx0XYhQMAAGg4/QIQjUXYUOhgmgEAi0286FRc + AQC4VvcAEMO48poCEOgGmwEAgezoAQAAg2X8AIMNUFADEP9TVjPAV0CNtQz///+JZfCL2ejaAQEAjXMm + jb1g////xkX8AejLAgEAM/aNQ0qJReTGRZBDiXWUiXW4iXWsiXW0xkW8AMZF/AMzwGoIxoU8////MFmN + vT3////zq2arqopDAjP/PEnHRegBAAAAiX3sdC08TnQlPEN1Df+1MP///2gA7gIQ6y/HRdSFAwAAaDj9 + AhCNRdTp8gIAADxJdQWLQwrrCN1DDuillgEAO8Z0MVBoQO4CEI2FDP7//1DotEH//4PEDI2VDP7//42N + PP///+gZ8AAAi4VE////iUXsi/ho+O0CEI2FYP///+h86QAAhMB0YVZWjUXsUGpoV+gAIv//Zj3//3Uh + agJXaOTtAhDov7n//8dF2E5hvABoOP0CEI1F2OljAgAAZj0BAHUSagJbU1do5O0CEOiWuf//iV3oOXXs + D5/AjU3kUeh57AAA6fABAABo2O0CEI2FYP///+gH6QAAhMB0cr8FAQAAjXWQ6GzrAACNRZRQV/91tGpp + /3Xs6Hoh//9mPf//dSNqAv917Gjk7QIQ6De5///HRcROYbwAaDj9AhCNRcTp2wEAAGY9AQB1FGoCW1P/ + dexo5O0CEOgMuf//iV3ojVWQjUXk6BUCAQDpagEAAGjM7QIQjYVg////6IHoAACEwHRbVlaNRexQaLkE + AABX6AIh//9mPf//dSFqAldo5O0CEOjBuP//x0XQTmG8AGg4/QIQjUXQ6WUBAABmPQEAdRJqAltTV2jk + 7QIQ6Ji4//+JXeg5dewPlMDp/f7//2i87QIQjYVg////6BLoAACEwHReVlaNRexQamxX6JYg//9mPf// + dSFqAldo5O0CEOhVuP//x0XITmG8AGg4/QIQjUXI6fkAAABmPQEAdRJqAltTV2jk7QIQ6Cy4//+JXeiN + ReRQi0Xs6P/rAADpiQAAAGiw7QIQjYVg////6KDnAACEwA+EqQAAADv+dRTHReCFAwAAaDj9AhCNReDp + oAAAAFZWjUXsUGi7BAAAV+gFIP//Zj3//3UeagJXaOTtAhDoxLf//8dFzE5hvABoOP0CEI1FzOtrZj0B + AHUSagJbU1do5O0CEOiet///iV3ojUXkUItF7OgW6wAAi03oagta6IMc//+NdZDoS/wAAI21YP///+hA + /AAAjbUM////6DX8AACLTfRfXmSJDQAAAABbycPHRdyFAwAAaDj9AhCNRdxQ6KSWAQCLTcDomFgBALgS + +wAQw7gEmwIQ6EqXAQCD7GiDZfwAgw1QUAMQ/1NWV4vZiWXwagKNcwKNfYzot/4AAGoCjXMmjX28xkX8 + Aeim/gAA/3WwM8CDe1IC/3XgD5XASIPgA0BAUGoA6DEf//+L8IX2dQpohO4CEOhOtv//i87oLhz//411 + vOiJ+wAAjXWM6IH7AACLTfRfXmSJDQAAAABbycOLTezo+VcBALjG+wAQw7ghmwIQ6KuWAQCB7JQAAACD + ZfwAgw1QUAMQ/1NWV4vZjXMCjX2QiWXw6IX+AABqAo1zJo29YP///8ZF/AHoA/4AADPSxkX8AoN7UgK+ + fO4CEA+Vwo19wKWkSoPiA2oIM8CDwgODfZQgWY19xfOrdhVoOP0CEI1F7FDHReyFAwAA6HKVAQCLRbSL + 8IoIQITJdfmNfcArxk+KTwFHhMl1+IvIwekC86WLyI1FwFD/dYSD4QNSagDzpOgxHv//i/CF9nUKaITu + AhDoTrX//4vO6C4b//+NtWD////ohvoAAI11kOh++gAAi030X15kiQ0AAAAAW8nDi03o6AEV//+4yfwA + EMO4M5sCEOiolQEAg+xog2X8AIMNUFADEP9TVleL2Yll8GoCjXMCjX2M6BX9AACNcyaNfbzGRfwB6HT9 + AACLQ1L/dbAkAv914PbYG8CD4ANAUGoA6JMd//+L8IX2dQpohO4CEOiwtP//i87okBr//411vOjr+QAA + jXWM6OP5AACLTfRfXmSJDQAAAABbycOLTezoZhT//7hk/QAQw1WL7IPsJFdqCMZF3DAzwFmNfd3zq2ar + utjuAhCNTdyq6FkU//+FwF90F2oAagFopO4CEGiY7gIQ6B1aAQAywMnDi0XkoxxDBRCwAcnDuHWjAhDo + wJQBAIHsvAAAAINl/ACDDVBQAxD/U1ZXiWXwagJqAY1xAo19mOgd7wAAuwACAACL+421aP///8ZF/AHo + +PkAAL8ACAAAjbU4////xkX8Aujk+QAAjUXoUFfGRfwD/7Vc////jUXsUFP/dYxqAv81HEMFEOgMHP// + ZoXAdWpqAY1FmOgO/gAAi/APv0XsjZVo////jU2YiYVs////Zol1oWbHRaMBAOic7AAA/03oD79F6I2V + OP///41NmImFPP///2aJdaFmx0WjAgDod+wAAI1F6FBX/7Vc////jUXsUFP/dYxqAeuGZj1kAHQnagH/ + NRxDBRBoYO4CEOils///aDj9AhCNReRQx0XkTmG8AOjykgEAD7dNoWoFWuiDGP//jbU4////6Ej4AACN + tWj////oPfgAAI11mOht1wAAi030X15kiQ0AAAAAW8nDi03g6K1UAQC4Ev8AEMO4naMCEOhfkwEAgezA + AAAAg2X8AIMNUFADEP9TVleJZfCL2WoCagGNcwKNfZTouu0AAGohX421NP///8ZF/AHomfgAAL8AAgAA + jbVk////xkX8AuiF+AAAagJexkX8A2Y5M4vGdQ+LWy6D+wEPhZIAAABqH1iNTexRV/91iI1N6FFqIf+1 + WP///1D/NRxDBRDoxBr//2aFwA+FggAAAGoBjUWU6JL8AACL2A+/ReiNlTT///+NTZSJhTj///9miV2d + ZsdFnwEA6CDrAAAPv0XsjZVk////jU2UiYVo////ZoldnWaJdZ/oAOsAAI1F7FBX/3WIjUXoUGoh/7VY + ////agHrhjvedQdqIOll////x0XghQMAAGg4/QIQjUXg6ydmPWQAdCdqAf81HEMFEGhs7gIQ6BGy///H + ReROYbwAaDj9AhCNReRQ6F6RAQAPt02dagVa6O8W//+NtWT////otPYAAI21NP///+ip9gAAjXWU6NnV + AACLTfRfXmSJDQAAAABbycOLTdzoGVMBALimAAEQw6EUQwUQhcB0B1D/FcCwAhDDVr6I5AIQVv8VYLAC + EIXAdStW/xXUsAIQhcB1G1dQagH/FViwAhBofOQCEIv46JtTAQBfMsBew6MUQwUQaAjkAhBQ/xXQsAIQ + oxhDBRCwAV7DuG6bAhDoaZEBAIHs+AAAAINl/ACDDVBQAxD/gz0YQwUQAFNWV4ll8IvZdRTHRdzyAgAA + aDj9AhCNRdzpsAAAAI1zArABjX2Q6C7WAABqAliLy421LP///8ZF/AHoDfgAAGoDWIvLjbX8/v//xkX8 + Auj59wAAvwAEAACNtVz////GRfwD6F72AAC7//8AAIv7jXXkxkX8BOhkVQAAjUXgUI1F7FDGRfwFU/91 + 5DP2ajL/tSD///+JdeD/tVD///+Jdez/FRhDBRA7xnQqPeoAAAB0I1ZWaAjkAhCL+OibUgEAx0XYTmG8 + AGg4/QIQjUXYUOi/jwEAZjl17HVQagtaM8noTBX//zl15HQJ/3Xk6Awd//9ZjbVc////6AP1AACNtfz+ + ///o+PQAAI21LP///+jt9AAAjXWQ6B3UAACLTfRfXmSJDQAAAABbycMPt03sagVYjVWQ6NnpAACLdeQz + /0dmi0XsAV3sZoXAD4SMAAAAZol9mWbHRZsBAP92CI2dXP///+hR8gAAi9CNTZDoY+gAAGaJfZlmx0Wb + AgD/dgzoNfIAAIvQjU2Q6EfoAABmiX2ZZsdFmwMAiwaNTZDoOtIAAGaJfZlmx0WbBAAPt0YEjU2Q6CTS + AABmiX2ZZsdFmwUAD7dGBo1NkOgO0gAAg8YUR7v//wAA6WT///8Pt02ZagVa6EkU//+DfeQA6ff+//+L + TYzol1ABALhiAgEQw6H0QgUQhcB0B1D/FcCwAhDDiwCFwHQHUP8V/EIFEMNWV76I5AIQVv8VYLACEIv4 + hf91LFb/FdSwAhCL+IX/dRlQagH/FViwAhBofOQCEIv46AdRAQAywOtpiT30QgUQizXQsAIQaGTkAhBX + /9ZoUOQCEFej+EIFEP/WaDjkAhBXo/xCBRD/1mgk5AIQV6MAQwUQ/9ZoFOQCEFejBEMFEP/WaAjkAhBX + owxDBRD/1mj44wIQV6MIQwUQ/9ajEEMFELABX17DuIibAhDohI4BAIPsWFMz21aJXfyDDVBQAxD/OR0M + QwUQV4ll8Iv5dRTHReTyAgAAaDj9AhCNReTpLwEAAI13Ao1FnOjH7gAAiV3oxkX8AmaDPwJ1CTlfKsZF + 7wF1A4hd741F6FD/dcD/FQxDBRA7ww+F2QAAADhd74tF6GaLSChmiU3EZotIJGaJTcZmi0ggZolNymaL + SAhmiU3MZotIDGaJTc5mi0gQZolN0GaLQBRmiUXSjUXEUHQy/xWosQIQhcB1V1NT/xVYsAIQaOjjAhCL + +Oi/TwEAx0XgTmG8AGg4/QIQjUXg6YAAAAD/FXyxAhCFwHUlU1P/FViwAhBoULoCEIv46I1PAQDHRdxO + YbwAaDj9AhCNRdzrUWoLM8laQehHEv//xkX8ATld6HQJ/3Xo/xX8QgUQjUWc6C3sAACLTfRfXmSJDQAA + AABbycNTU2gU5AIQi/joOk8BAMdF2E5hvABoOP0CEI1F2FDoXowBAItN1OhSTgEAuEoFARDDuKKbAhDo + BI0BAIPsdFMz21aJXfyDDVBQAxD/OR0MQwUQV4ll8Iv5dRTHReTyAgAAaDj9AhCNReTp4AAAAI13Ao1F + gOhH7QAA2e5mgz8C3V20xkWoVHUJOV8qxkXvAXUDiF3viV3ojUXoUMZF/AL/daT/FQxDBRA7ww+FgQAA + AItF6GaLSChmiU3MZotIJGaJTc5mi0ggZolN0maLSAhmiU3UZotIDGaLQBBmiUXYjUWoZolN1lCNTczo + adYAADhd73QM3UW03CX4RAUQ3V20jU2o6AwR///GRfwBOV3odAn/dej/FfxCBRCNRYDo/OoAAItN9F9e + ZIkNAAAAAFvJw1NTaBTkAhCL+OgJTgEAx0XgTmG8AGg4/QIQjUXgUOgtiwEAi03c6CFNAQC4ewYBEMO4 + 1ZsCEOjTiwEAgezUAAAAg2X8AIMNUFADEP+DPRBDBRAAU1ZXiWXwi9l1FMdFyPICAABoOP0CEI1FyOn5 + AAAAjXMCsAGNvXz////oldAAAGoCWcZF/AFmOQt8CotDLoXAiUXYdQOJTdhqBFiLy42VIP///+gi6wAA + g2XoAL8ABAAAjbVI////xkX8A+jA8AAAM//GRfwEM8lBZoM7A4lN4Il91Il9xIl97Il95HwUi0NSO8d0 + DUj32BvAg8BliUXc6wfHRdxlAAAAM8CDfdxljZV8////D5TAjQSFAgAAAOi55AAA6wIz/41F1FD/tUT/ + //+NRcT/ddhQjUXsUGr/jUXoUP913Ff/FRBDBRA7x4lF0HQqPeoAAAB0I1dXaPjjAhCL+Oi8TAEAx0XM + TmG8AGg4/QIQjUXMUOjgiQEAi0XsO8d1TYtN5GoLWuhrD///jbVI////6DDvAADGRfwCOX3odAn/dej/ + FfxCBRCNhSD////oQ+kAAI21fP///+hAzgAAi030X15kiQ0AAAAAW8nDAUXkg33cZYt95I21fP///w+F + yAAAAGoGW+if4wAAi3Xoi0Xs/03shcAPhAkBAACLfeBmiX2FZsdFhwEAiwaNjXz////oRcwAAGaJfYVm + x0WHAgD/dgSNnUj////oUOwAAIvQjY18////6F/iAABmiX2FZsdFhwMAi0YIjY18////6AjMAABmiX2F + ZsdFhwQAi0YMjY18////6PDLAABmiX2FZsdFhwUAi0YQjY18////6NjLAABmiX2FZsdFhwYA/3YU6Onr + AACL0I2NfP///+j44QAAR4l94OlD////agJb6NfiAACLdeiLRez/TeyFwHRFi33gZol9hWbHRYcBAIsG + jY18////6IHLAABmiX2FZsdFhwIA/3YEjZ1I////6IzrAACL0I2NfP///+ib4QAAR4l94OuxgX3Q6gAA + AA+ED/7//w+3TYVqBVro2A3//421SP///+id7QAAxkX8AoN96ADpZ/7//4uNeP///+gUSgEAuD8IARDD + uBucAhDoxogBAIHsHAEAAIMNUFADEP+DPUhgAxABU1ZXiWXwi9l1FOgw9///i030X15kiQ0AAAAAW8nD + g2X8AIM9CEMFEAB1FMdF2PICAABoOP0CEI1F2OnZAAAAagVqAY1zAo19hOjn4gAAagJYi8uNlSj////G + RfwB6A7oAABqA1iLy42VAP///8ZF/ALo+ucAAGoEWIvLjZXY/v//xkX8A+jm5wAAvwAEAACNtVD////G + RfwE6IjtAAAz9ol17MZF/AbHReABAAAAiXXQiXXUiXXoiXXk6wIz9o1F0FCNRdRQjUXoUGgAIAAAjUXs + UGoD/7X8/v///7Uk/////7VM/////xUIQwUQO8aJRcx0Kj3qAAAAdCNWVmgI5AIQi/joskkBAMdF3E5h + vABoOP0CEI1F3FDo1oYBAItF6DvGdVaLTeRqC1roYQz//8ZF/AU5dex0Cf917P8V/EIFEI21UP///+gU + 7AAAjYXY/v//6DnmAACNhQD////oLuYAAI2FKP///+gj5gAAjXWE6CPLAADplP7//wFF5It95GoFW411 + hOiZ4AAAi3Xsi0Xo/03ohcAPhIsAAACLfeBmiX2NZsdFjwEA/3YMjZ1Q////6GHpAACL0I1NhOhz3wAA + Zol9jWbHRY8CAP92EOhF6QAAi9CNTYToV98AAGaJfY1mx0WPAwCLBo1NhOhKyQAAZol9jWbHRY8EAItG + BI1NhOg1yQAAZol9jWbHRY8FAItGCI1NhOggyQAAg8YUR4l94Oln////gX3M6gAAAA+Eh/7//w+3TY1q + BVroUAv//8ZF/AWDfewA6en+//+LTYDomkcBALj1CQEQw1WL7IPsJFPZ7lbdXehXM9tqBIvxWcZF3EOI + Xd1miV3eiU3giV3kiV3wiV30M8CNffirq+gtCP//O8OJRfh1Crm2AAAA6FYF//+LTfjoaAj//91GDo1N + 3NkY6M0K//9fXlvJw4tJHuhOCP//2QBRUd0cJGoHWmoUWejWCv//w1WL7IPsJFPZ7lbdXehXM9tqCIvx + WcZF3EOIXd1miV3eiU3giV3kiV3wiV30M8CNffirq+ivB///O8OJRfh1Crm2AAAA6NgE//+LTfjo6gf/ + /91GDo1N3N0Y6E8K//9fXlvJw4tJHujQB///3QBRUd0cJGoQWmoUWehYCv//w1WL7IPsJFPZ7lbdXehX + M9tqBIvxWcZF3EOIXd1miV3eiU3giV3kiV3wiV30M8CNffirq+gxB///O8OJRfh1Crm2AAAA6FoE//+L + TfjobAf//4v4ikYCPEl1B4tGCokH6yA8TnUK3UYO6EmBAQDr7otN+Oj7Bv//uYUDAADoIgT//41N3Oim + Cf//X15bycNVi+xRUYtJHugiB///iwCFwIlF/NtF/H0G3AX4+wIQUd1d+N1F+FHdHCRqCzPSWeiVCf// + ycNVi+yD7CRT2e5W3V3oVzPbagSL8VnGRdxDiF3dZold3olN4Ild5Ild8Ild9DPAjX34q6vobQb//zvD + iUX4dQq5tgAAAOiWA///i0346KgG//+LTgqJCI1N3OgNCf//X15bycOLSR7ojgb//4sIagta6QAJ//9V + i+yD7CRT2e5W3V3oVzPbagKL8VnGRdxDiF3dZold3olN4Ild5Ild8Ild9DPAjX34q6vo+AX//zvDiUX4 + dQq5tgAAAOghA///i0346DMG//9mi04KZokIjU3c6JYI//9fXlvJw4tJHugXBv//D7cIagta6YgI//9V + i+yD7CRT2e5W3V3oVzPbagKL8VnGRdxDiF3dZold3olN4Ild5Ild8Ild9DPAjX34q6vogAX//zvDiUX4 + dQq5tgAAAOipAv//i0346LsF//9mi04KZokIjU3c6B4I//9fXlvJw4tJHuifBf//D78Iagta6RAI//9V + i+yD7DRWi/GLViqLTkJC6CsG//9mhcB1Crm2AAAA6FYC//+LTkLoaAX///92Uo1N8FGLyOiPJv//hcBe + dAeLyOg0Av//D79N8ej4Cf//qAJ0AsnDjVXMjU3w6KcI//+FwHXbD79N8TPSQujrCf//69RVi+yD7DxW + i/GLViqLTkJXi34KQol9/OiyBf//ZoXAdQq5tgAAAOjdAf//i05C6O8E////dlKNTehRi8joFib//4XA + dAeLyOi8Af//i3Z2D79N6U6JdfjoeQn//6gCD4WJAAAAU41VxI1N6OglCP//hcB1YIB9xEN1N4tdyIXb + dDA73nICi96F23Qgi03g6I8E//+L8IvLi8HB6QLzpYvIg+ED86SLffyLdfjGBDsA6wPGBwCAfcRDdQiL + TeDoFQT//w+/Tekz0kLoGwn//0eJffzrB4vI6C0B//8Pv03p6PEI//+oAg+Eef///1tfXsnDVYvsg+w8 + U1aL8YtWKotOQleLfgpCiX386MAE//9mhcB1Crm2AAAA6OsA//+LTkLo/QP///92Uo1N6FGLyOgkJf// + hcB0B4vI6MoA//8Pv03p6I4I//+oAnQNM8lB6LgG//9fXlvJw41VxI1N6OgyB///M/Y7xnXOgH3EQ3Vj + i0XIO8Z0XIsPQDvOUHQQUVb/NeBCBRD/FVixAhDrDVb/NeBCBRD/FZCwAhCL2DvedGyJH4tFyItN4IlF + +OhxA///i/CLRfiLyMHpAov786WLyIPhA/Oki0XIi338xgQDAOsWiwc7xnQQUFb/NeBCBRD/FZSwAhCJ + N4B9xEN1CItN4OjhAv//D79N6TPSQujnB///g8cEiX386TH///+AfcRDdQiLTeDovAL//7m2AAAA6OP/ + /v/pKf///1WL7IPsNFaL8YtWKotOQleLfgpC6IsD//9mhcB1Crm2AAAA6Lb//v+LTkLoyAL///92Uo1N + 8FGLyOjvI///hcB0B4vI6JX//v8Pv03x6FkH//+oAnQEX17Jw41VzI1N8OgGBv//hcB12YB9zEx1BYtF + 0OsZgH3MTnUK3UXY6G98AQDrCYB9zEl1BYtF1IkHD79N8TPSQugkB///g8cE66lVi+yD7DRWi/GLViqL + TkJXi34KQujrAv//ZoXAdQq5tgAAAOgW//7/i05C6CgC////dlKNTfBRi8joTyP//4XAdAeLyOj1/v7/ + D79N8ei5Bv//qAJ0BF9eycONVcyNTfDoZgX//4XAddmAfcxOdQXdRdjdHw+/TfEz0kLonwb//4PHCOvE + VYvsg+w0Vovxi1Yqi05CV4t+CkLoZgL//2aFwHUKubYAAADokf7+/4tOQuijAf///3ZSjU3wUYvI6Moi + //+FwHQHi8jocP7+/w+/TfHoNAb//6gCdARfXsnDjVXMjU3w6OEE//+FwHXZgH3MTnUF3UXY2R8Pv03x + M9JC6BoG//+DxwTrxFWL7IPsNFaL8YtWKotOQleLfgpC6OEB//9mhcB1Crm2AAAA6Az+/v+LTkLoHgH/ + //92Uo1N8FGLyOhFIv//hcB0B4vI6Ov9/v8Pv03x6K8F//+oAnQEX17Jw41VzI1N8OhcBP//hcB12YB9 + zE51Ct1F2OjQegEAiQcPv03xM9JC6JAF//+DxwTrv1WL7IPsNFaL8YtWKotOQleLfgpC6FcB//9mhcB1 + Crm2AAAA6IL9/v+LTkLolAD///92Uo1N8FGLyOi7If//hcB0B4vI6GH9/v8Pv03x6CUF//+oAnQEX17J + w41VzI1N8OjSA///hcB12YB9zE51Ct1F2OhGegEAiQcPv03xM9JC6AYF//+DxwTrv1WL7IPsNFaL8YtW + KotOQleLfgpC6M0A//9mhcB1Crm2AAAA6Pj8/v+LTkLoCgD///92Uo1N8FGLyOgxIf//hcB0B4vI6Nf8 + /v8Pv03x6JsE//+oAnQEX17Jw41VzI1N8OhIA///hcB12YB9zE51C91F2Oi8eQEAZokHD79N8TPSQuh7 + BP//R0frv1WL7IPsNFaL8YtWKotOQleLfgpC6EMA//9mhcB1Crm2AAAA6G78/v+LTkLogP/+//92Uo1N + 8FGLyOinIP//hcB0B4vI6E38/v8Pv03x6BEE//+oAnQEX17Jw41VzI1N8Oi+Av//hcB12YB9zE51C91F + 2OgyeQEAZokHD79N8TPSQujxA///R0frv1WL7IPsNFPZ7jPb3V3YVlczwIvxi1Yqi05CxkXMQ4hdzWaJ + Xc6JXdCJXdSJXeCJXeSNfeirQqvolv/+/2aFwHUKubYAAADowfv+/4tOQujT/v7//3ZSjU3wUYvI6Pof + //87w3QHi8jooPv+/w+/TfHoWgP//4tOUjvBfRgryA+/RfFRUOgRHf//O8N0B4vI6Hj7/v8Pv03x6EYD + ///rJ/9OUo1VzI1N8Oj8Av//O8N1Dg+/TfEz0kLoMAP//+sHi8joRvv+/zleUnXU/05SX15bycNVi+yD + 7DRT2e4z291d2FZXM8CL8YtWKotOQsZFzEOIXc1miV3OiV3QiV3UiV3giV3kjX3oq0Kr6MP+/v9mhcB1 + Crm2AAAA6O76/v+LTkLoAP7+//92Uo1N8FGLyOgnH///O8N0B4vI6M36/v8Pv03x6IcC//+LTlI7wX0Y + K8gPv0XxUVDoPhz//zvDdAeLyOil+v7/D79N8ehzAv//6yf/TlKNVcyNTfDoKQL//zvDdQ4Pv03xM9JC + 6F0C///rB4vI6HP6/v85XlJ11P9OUl9eW8nDVYvsg+w0U9nuM9vdXdhWVzPAi/GLViqLTkLGRcxDiF3N + Zoldzold0Ild1Ild4Ild5I196KtCq+jw/f7/ZoXAdQq5tgAAAOgb+v7/i05C6C39/v//dlKNTfBRi8jo + VB7//zvDdAeLyOj6+f7/D79N8ei0Af//i05SO8F9GCvID79F8VFQ6Gsb//87w3QHi8jo0vn+/w+/TfHo + oAH//+sn/05SjVXMjU3w6FYB//87w3UOD79N8TPSQuiKAf//6weLyOig+f7/OV5SddT/TlJfXlvJw1WL + 7IPsNFNWV4vxi1YqM9tqBzPAWcZFzEyIXc1miV3OiV3QjX3U86uLTkKLfgpC6CX9/v9mhcB1Crm2AAAA + 6FD5/v+LTkLoYvz+//92Uo1N8FGLyOiJHf//O8N0B4vI6C/5/v8Pv03x6OkA//+LTlI7wX0YK8gPv0Xx + UVDooBr//zvDdAeLyOgH+f7/D79N8ejVAP//6y//TlKLB41VzI1N8IlF0OiGAP//O8N1EQ+/TfEz0kKD + xwTotwD//+sHi8jozfj+/zleUnXM/05SX15bycNVi+yD7DRWV4vxi1YqagczwFnGRcxOxkXNAGbHRc4U + AMdF0BAAAACNfdTzq4tOQot+CkLoTvz+/2aFwHUKubYAAADoefj+/4tOQuiL+/7//3ZSjU3wUYvI6LIc + //+FwHQHi8joWPj+/w+/TfHoEgD//4tOUjvBfRgryA+/RfFRUOjJGf//hcB0B4vI6DD4/v8Pv03x6P7/ + /v/rL/9OUt0HjVXM3V3YjU3w6K///v+FwHURD79N8TPSQoPHCOjg//7/6weLyOj29/7/g35SAHXL/05S + X17Jw1WL7IPsNFZXi/GLVipqB1kzwIlN0MZFzE7GRc0AZsdFzhQAjX3U86uLTkKLfgpC6Hv7/v9mhcB1 + Crm2AAAA6Kb3/v+LTkLouPr+//92Uo1N8FGLyOjfG///hcB0B4vI6IX3/v8Pv03x6D///v+LTlI7wX0Y + K8gPv0XxUVDo9hj//4XAdAeLyOhd9/7/D79N8egr//7/6y//TlLZB41VzN1d2I1N8Ojc/v7/hcB1EQ+/ + TfEz0kKDxwToDf/+/+sHi8joI/f+/4N+UgB1y/9OUl9eycNVi+yD7DiDZcwAVleL8YtWKmoHM8BZxkXI + TsZFyQBmx0XKCgCNfdDzq4tOQot+CkLop/r+/2aFwHUKubYAAADo0vb+/4tOQujk+f7//3ZSjU3sUYvI + 6Asb//+FwHQHi8josfb+/w+/Te3oa/7+/4tOUjvBfRgryA+/Re1RUOgiGP//hcB0B4vI6In2/v8Pv03t + 6Ff+/v/rO/9OUtsHiweFwH0G3AX4+wIQjVXI3V3UjU3s6Pz9/v+FwHURD79N7TPSQoPHBOgt/v7/6weL + yOhD9v7/g35SAHW//05SX17Jw1WL7IPsNINl0ABWV4vxi1YqagczwFnGRcxJxkXNAGbHRc4LAI191POr + i05Ci34KQujH+f7/ZoXAdQq5tgAAAOjy9f7/i05C6AT5/v//dlKNTfBRi8joKxr//4XAdAeLyOjR9f7/ + D79N8eiL/f7/i05SO8F9GCvID79F8VFQ6EIX//+FwHQHi8joqfX+/w+/TfHod/3+/+sv/05SiweNVcyN + TfCJRdToKP3+/4XAdREPv03xM9JCg8cE6Fn9/v/rB4vI6G/1/v+DflIAdcv/TlJfXsnDVYvsg+w0g2XQ + AFZXi/GLVipqBzPAWcZFzEnGRc0AZsdFzgYAjX3U86uLTkKLfgpC6PP4/v9mhcB1Crm2AAAA6B71/v+L + TkLoMPj+//92Uo1N8FGLyOhXGf//hcB0B4vI6P30/v8Pv03x6Lf8/v+LTlI7wX0YK8gPv0XxUVDobhb/ + /4XAdAeLyOjV9P7/D79N8eij/P7/6y//TlIPtweNVcyNTfCJRdToU/z+/4XAdRAPv03xM9JHQkfohfz+ + /+sHi8jom/T+/4N+UgB1y/9OUl9eycNVi+yD7DSDZdAAVleL8YtWKmoHM8BZxkXMScZFzQBmx0XOBgCN + fdTzq4tOQot+CkLoH/j+/2aFwHUKubYAAADoSvT+/4tOQuhc9/7//3ZSjU3wUYvI6IMY//+FwHQHi8jo + KfT+/w+/TfHo4/v+/4tOUjvBfRgryA+/RfFRUOiaFf//hcB0B4vI6AH0/v8Pv03x6M/7/v/rL/9OUg+/ + B41VzI1N8IlF1Oh/+/7/hcB1EA+/TfEz0kdCR+ix+/7/6weLyOjH8/7/g35SAHXL/05SX17Jw1WL7IPs + OFNWV4vZaggzwMZFyDBZjX3J86sPt0spZquqi0MKM/9Hi9eJRfzoz/r+/w+3SylqAlqJRfDowPr+/2aF + wIlF9HUDiX30i3NSM8BmOX30Zol7MQ+XwGaDYy8AQE5mOX30ZolDLYl17A+CvgAAAGY5ffBmiXsvD4Ke + AAAAjVXIjUsm6Lz5/v+FwHV2gH3IQ3VXi0XMhcB0UDvGiUX4cgOJdfiDffgAdDSLTeTobvb+/4tN5OgY + 9v7/i034i338i/CLwcHpAvOli8iD4QPzpItN5Oh39v7/i3XsM/9Hi0X4i038xgQIAOsGi0X8xgAAgH3I + Q3UIi03k6In1/v8BdfzrB4vI6K7y/v9mi0XwZv9DL2Y5Qy8PhmL///9mi0X0Zv9DMWY5QzEPhkL///9f + XlvJw1WL7IPsNFNWV4vZagjGRcwwM8BZjX3N86sPt0spZquqi3sKM9JCiX346Jz5/v8Pt0spagJaiUX0 + 6I35/v8z9mY7xolF/HUHx0X8AQAAADPAZoN9/AFmiXMvD5fAZsdDMQEAQGaDffwBZolDLQ+CEgEAAGaD + ffQBZsdDLwEAD4LvAAAAjVXMjUsm6IT4/v87xg+FwwAAAIB9zEMPhY0AAACLRdA7xg+EggAAAIsPQDvO + UHQQUVb/NeBCBRD/FVixAhDrDVb/NeBCBRD/FZCwAhA7xokHi03odEPoD/X+/4tF0ItN6IlF8Oiz9P7/ + iz+L8ItF8IvIwekC86WLyIPhA/Oki03o6BP1/v+LRfiLAItN0It9+MYEAQAz9usn6DP0/v+5tgAAAOha + 8f7/6xaLBzvGdBBQVv814EIFEP8VlLACEIk3gH3MQ3UIi03o6AP0/v+DxwSJffjrB4vI6CXx/v9mi0X0 + Zv9DL2Y5Qy8PhhH///9mi0X8Zv9DMWY5QzEPhu7+//9fXlvJw1WL7IPsMFZXi/FqCDPAxkXQMFmNfdHz + qw+3Tilmq6qLRgoz/0eL14lF+OgS+P7/D7dOKWoCWolF9OgD+P7/ZoXAiUX8dQOJffwzwGY5ffxmiX4x + D5fAZoNmLwBAZjl9/GaJRi1yZFNmOX30Zol+L3JKjV4mjVXQi8voC/f+/4XAdSSAfdBMdQqLRdSLTfiJ + AesOgH3QQ3UIi03s6Cvz/v+DRfgE6weLyOhP8P7/ZotF9Gb/Ri9mOUYvdrlmi0X8Zv9GMWY5RjF2nltf + XsnDVYvsg+wsU1ZXi/GLXgpqCMZF1DAzwFmNfdXzqw+3Tilmq6oz/0eL1+hG9/7/D7dOKWoCWolF+Og3 + 9/7/ZoXAiUX8dQOJffwzwGY5ffxmiX4xD5fAZoNmLwBAZjl9/GaJRi1yXGY5ffhmiX4vckSNVdSNTibo + Qvb+/4XAdSCAfdROdQfdReDdG+sOgH3UQ3UIi03w6GXy/v+DwwjrB4vI6Irv/v9mi0X4Zv9GL2Y5Ri92 + vGaLRfxm/0YxZjlGMXakX15bycNVi+yD7DBWV4vxaggzwMZF0DBZjX3R86sPt04pZquqi0YKM/9Hi9eJ + Rfjof/b+/w+3TilqAlqJRfTocPb+/2aFwIlF/HUDiX38M8BmOX38Zol+MQ+XwGaDZi8AQGY5ffxmiUYt + cmRTZjl99GaJfi9ySo1eJo1V0IvL6Hj1/v+FwHUkgH3QTnUK3UXci0X42RjrDoB90EN1CItN7OiY8f7/ + g0X4BOsHi8jovO7+/2aLRfRm/0YvZjlGL3a5ZotF/Gb/RjFmOUYxdp5bX17Jw1WL7IPsMFZXi/FqCDPA + xkXQMFmNfdHzqw+3Tilmq6qLRgoz/0eL14lF+Oix9f7/D7dOKWoCWolF9Oii9f7/ZoXAiUX8dQOJffwz + wGY5ffxmiX4xD5fAZoNmLwBAZjl9/GaJRi1yaVNmOX30Zol+L3JPjV4mjVXQi8voqvT+/4XAdSmAfdBO + dQ/dRdzoHmsBAItN+IkB6w6AfdBDdQiLTezoxfD+/4NF+ATrB4vI6Ont/v9mi0X0Zv9GL2Y5Ri92tGaL + Rfxm/0YxZjlGMXaZW19eycNVi+yD7DBWV4vxaggzwMZF0DBZjX3R86sPt04pZquqi0YKM/9Hi9eJRfjo + 3vT+/w+3TilqAlqJRfToz/T+/2aFwIlF/HUDiX38M8BmOX38Zol+MQ+XwGaDZi8AQGY5ffxmiUYtcmRT + Zjl99GaJfi9ySo1eJo1V0IvL6Nfz/v+FwHUkgH3QTnUKi0XYi034iQHrDoB90EN1CItN7Oj37/7/g0X4 + BOsHi8joG+3+/2aLRfRm/0YvZjlGL3a5ZotF/Gb/RjFmOUYxdp5bX17Jw1WL7IPsLFNWV4vxi14KagjG + RdQwM8BZjX3V86sPt04pZquqM/9Hi9foEvT+/w+3TilqAlqJRfjoA/T+/2aFwIlF/HUDiX38M8BmOX38 + Zol+MQ+XwGaDZi8AQGY5ffxmiUYtcl1mOX34Zol+L3JFjVXUjU4m6A7z/v+FwHUhgH3UTnUJZotF3GaJ + A+sOgH3UQ3UIi03w6C/v/v9DQ+sHi8joVez+/2aLRfhm/0YvZjlGL3a7ZotF/Gb/RjFmOUYxdqNfXlvJ + w1WL7IPsLFNWV4vxi14KagjGRdQwM8BZjX3V86sPt04pZquqM/9Hi9foTPP+/w+3TilqAlqJRfjoPfP+ + /2aFwIlF/HUDiX38M8BmOX38Zol+MQ+XwGaDZi8AQGY5ffxmiUYtcl1mOX34Zol+L3JFjVXUjU4m6Ejy + /v+FwHUhgH3UTnUJZotF3GaJA+sOgH3UQ3UIi03w6Gnu/v9DQ+sHi8joj+v+/2aLRfhm/0YvZjlGL3a7 + ZotF/Gb/RjFmOUYxdqNfXlvJw1WL7IPsMFPZ7jPb3V3cVlfGRdBDiF3RZold0old1Ild2Ild5Ild6DPA + i/EPt04pjX3sqzPSq4t+CkLodPL+/w+3TilqAlqJRfjoZfL+/2Y7w4lF/HUHx0X8AQAAAItOUjPAZoN9 + /AFmiV4vD5fAZoleMUBmiUYt6Ljt/v87w4lF7HUKubYAAADo4er+/4tN7OhB7v7/i03s6Ovt/v9m/0Yx + iUX0ZotGMWY7Rfx3VGaDffgBZsdGLwEAcjn/dlKLRfSL1+h8B///jVXQjU4miUXU6Bfx/v87w3UFA35S + 6weLyOiI6v7/ZotF+Gb/Ri9mOUYvdsdmi0X8Zv9GMWY5RjF2rI110OiED///X15bycNVi+yD7DhT2e4z + wN1d1FZXxkXIQ8ZFyQBmiUXKiUXMiUXQiUXciUXgjX3kq4vZD7dLKauLewoz0r4AAQAAQol1+Il98Ohb + 8f7/D7dLKWoCWolF7OhM8f7/ZoXAiUX8dQfHRfwBAAAAM8Bmg338AYvOD5fAZoNjLwBmg2MxAEBmiUMt + 6J7s/v+FwIlF5HUKubYAAADox+n+/4tN5Ogn7f7/i03k6NHs/v9m/0MxiUX0ZotDMWY7RfwPh8oAAABm + g33sAWbHQy8BAA+CpwAAAIsHhcB0bVD/FVyxAhCL8Dt1+H4+i03k6Azt/v+LTeSL1ugx7f7/ZoXAi03k + dRHoLez+/7m2AAAA6FTp/v/rE+i17P7/i03k6F/s/v+JRfSJdfiF9nQdi86LwYl1zIs3i330wekC86WL + yIPhA/Oki33w6wSDZcwAjVXIjUsm6I7v/v+FwHUIg8cEiX3w6weLyOj86P7/ZotF7Gb/Qy9mOUMvD4ZZ + ////ZotF/Gb/QzFmOUMxD4Y2////jXXI6PAN//9fXlvJw1WL7IPsLGaDZdYAg2XYAFNWV4vxagdZM8DG + RdRMxkXVAI193POrD7dOKYt+CjPbQ4vT6Nnv/v8Pt04pagJaiUX46Mrv/v9mhcCJRfx1A4ld/DPAZjld + /GaJXjEPl8Bmg2YvAEBmOV38ZolGLXJGZjld+GaJXi9yLosHjVXUjU4miUXY6MLu/v+FwHUFg8cE6weL + yOgz6P7/ZotF+Gb/Ri9mOUYvdtJmi0X8Zv9GMWY5RjF2ul9eW8nDVYvsg+wsU1ZXi/FqB1kzwMZF1E7G + RdUAZsdF1hQAx0XYEAAAAI193POrD7dOKYt+CjPbQ4vT6Bzv/v8Pt04pagJaiUX46A3v/v9mhcCJRfx1 + A4ld/DPAZjld/GaJXjEPl8Bmg2YvAEBmOV38ZolGLXJGZjld+GaJXi9yLt0HjVXUjU4m3V3g6AXu/v+F + wHUFg8cI6weLyOh25/7/ZotF+Gb/Ri9mOUYvdtJmi0X8Zv9GMWY5RjF2ul9eW8nDVYvsg+wsU1ZXi/Fq + B1mJTdgzwMZF1E7GRdUAZsdF1hQAjX3c86sPt04pi34KM9tDi9PoY+7+/w+3TilqAlqJRfjoVO7+/2aF + wIlF/HUDiV38M8BmOV38ZoleMQ+XwGaDZi8AQGY5XfxmiUYtckZmOV34ZoleL3Iu2QeNVdSNTibdXeDo + TO3+/4XAdQWDxwTrB4vI6L3m/v9mi0X4Zv9GL2Y5Ri920maLRfxm/0YxZjlGMXa6X15bycNVi+yD7DCD + ZdQAU1ZXi/FqB1kzwMZF0E7GRdEAZsdF0goAjX3Y86sPt04pi34KM9tDi9Poqe3+/w+3TilqAlqJRfjo + mu3+/2aFwIlF/HUDiV38M8BmOV38ZoleMQ+XwGaDZi8AQGY5XfxmiUYtclJmOV34ZoleL3I6iwfbB4XA + fQbcBfj7AhCNVdDdXdyNTibohuz+/4XAdQWDxwTrB4vI6Pfl/v9mi0X4Zv9GL2Y5Ri92xmaLRfxm/0Yx + ZjlGMXauX15bycNVi+yD7CyDZdgAU1ZXi/FqB1kzwMZF1EnGRdUAZsdF1gsAjX3c86sPt04pi34KM9tD + i9Po4+z+/w+3TilqAlqJRfjo1Oz+/2aFwIlF/HUDiV38M8BmOV38ZoleMQ+XwGaDZi8AQGY5XfxmiUYt + ckZmOV34ZoleL3IuiweNVdSNTiaJRdzozOv+/4XAdQWDxwTrB4vI6D3l/v9mi0X4Zv9GL2Y5Ri920maL + Rfxm/0YxZjlGMXa6X15bycNVi+yD7CyDZdgAU1ZXi/FqB1kzwMZF1EnGRdUAZsdF1gYAjX3c86sPt04p + i34KM9tDi9PoKez+/w+3TilqAlqJRfjoGuz+/2aFwIlF/HUDiV38M8BmOV38ZoleMQ+XwGaDZi8AQGY5 + XfxmiUYtckZmOV34ZoleL3IuD7cHjVXUjU4miUXc6BHr/v+FwHUER0frB4vI6IPk/v9mi0X4Zv9GL2Y5 + Ri920maLRfxm/0YxZjlGMXa6X15bycNVi+yD7CyDZdgAU1ZXi/FqB1kzwMZF1EnGRdUAZsdF1gYAjX3c + 86sPt04pi34KM9tDi9Pob+v+/w+3TilqAlqJRfjoYOv+/2aFwIlF/HUDiV38M8BmOV38ZoleMQ+XwGaD + Zi8AQGY5XfxmiUYtckZmOV34ZoleL3IuD78HjVXUjU4miUXc6Ffq/v+FwHUER0frB4vI6Mnj/v9mi0X4 + Zv9GL2Y5Ri920maLRfxm/0YxZjlGMXa6X15bycNVi+yD7CRT2e5W3V3oM9tXi/GLTi7GRdxDiF3dZold + 3olN4Ild5Ild8Ild9DPAjX34q6voNub+/4vIO8uJTfh0N+jK5v7/i14ui034i3YK6G7m/v+L+IvLi8HB + 6QLzpYvIg+ED86SLTfjo0eb+/41N3Oi+6P7/6wq5tgAAAOgm4/7/X15bycOLQQqLAIsI6Rjp/v+LQQqL + COkO6f7/VYvsUYtBCosIhcl1BohN/41N/+gX6f7/ycNVi+yD7CRT2e4z291d6FZXxkXcQ4hd3WaJXd6J + XeCJXeSJXfCJXfQzwI19+KuL8YtOLqvof+X+/4vIO8uJTfh0LegT5v7/i0346L3l/v//di6LVgrobv/+ + /4tN+IlF4Ogk5v7/jU3c6BHo/v/rCrm2AAAA6Hni/v9fXlvJw1WL7FGLSQqFyXUGiE3/jU3/6ILo/v/J + w4tEJASLAN0AwgQAi0QkBN0AwgQAi0QkBIsA2QDCBACLRCQE2QDCBABVi+yD7BCLQQqLAIsIi0AEg2X4 + AIlF/IFl/AAAAICJTfAl////f4lF9N9t8FHfbfhRM9LZ4N7B3V3w3UXw3RwkahRZ6KDn/v/Jw1WL7IPs + EItBCosIi0AEg2X4AIlF/IFl/AAAAICJTfAl////f4lF9N9t8FHfbfhRM9LZ4N7B3V3w3UXw3RwkahRZ + 6Fjn/v/Jw1WL7FFRi0EKiwDfKFFRM9LdXfjdRfjdHCRqFFnoNef+/8nDVYvsUVGLQQrfKFFRM9LdXfjd + RfjdHCRqFFnoFOf+/8nDVYvsUVGLQQqLAIsIhcl8CmoLWujc5v7/ycOFyYlN/NtF/H0G3AX4+wIQUd1d + +N1F+FHdHCRqCzPSWejT5v7/ycNVi+xRUYtBCosIhcl8CmoLWuid5v7/ycOFyYlN/NtF/H0G3AX4+wIQ + Ud1d+N1F+FHdHCRqCzPSWeiU5v7/ycOLRCQEiwCLAMIEAItEJASLAMIEAItEJASLAA+3AMIEAItEJAQP + twDCBACLRCQEiwBmiwDCBACLRCQEZosAwgQAi0QkBIsAZg+2AMIEAItEJARmD7YAwgQAi0QkBIsAZg++ + AMIEAItEJARmD74AwgQAVYvsg+wkU9nuVt1d6IvxM9tXM8lBxkXcQ4hd3WaJXd6JTeCJXeSJXfCJXfQz + wI19+Kur6Pzi/v+LyDvLiU34dCToQuP+/4tOCjvLdAyLCTvLdAaKCYgI6wKIGI1N3OiX5f7/6wq5tgAA + AOj/3/7/X15bycNVi+yD7CRT2e5W3V3oi/Ez21czyUHGRdxDiF3dZold3olN4Ild5Ild8Ild9DPAjX34 + q6voiOL+/4vIO8uJTfh0HujO4v7/i04KO8t0BooJiAjrAogYjU3c6Cnl/v/rCrm2AAAA6JHf/v9fXlvJ + w4tBCosAi0kqiQjDi0EKi0kqiQjDU1VWi9mLS0JX6NLi/v9mgzsDdQ6LQyqLa1I7xXMHi+jrA4trKotL + Quhl4v7/i3sKi82L8IvBwekC86WLyIPhA/Oki0tCX15dW+nB4v7/UVNVi9mLS0KLawpWV+iA4v7/ZoM7 + AnQ0i0NSOUMqiUQkEHwoi0tC6Bji/v+LTCQQi/CLwcHpAov986WLyIPhA/Oki0NSxkQo/wDrLItDKotL + QolEJBDo6eH+/4vwi0QkEIvIwekCi/3zpYvIg+ED86SLQyrGBCgAi0tCX15dW4PEBOk64v7/VovxikYC + PENXi34KdTKLViqLTkJC6E/i/v9mhcB1Crm2AAAA6Hre/v+LTkLojOH+/+g19f7/iw+JAV+JUQRew4B+ + Jkl1BotGLpnr6jxOdQrdRjLoXlsBAOvcX7mFAwAAXuk93v7/VovxikYCPENXi34KdTCLViqLTkJC6Onh + /v9mhcB1Crm2AAAA6BTe/v+LTkLoJuH+/+jP9P7/iQeJVwRfXsOAfiZJdQaLRi6Z6+w8TnUK3UYy6Ppa + AQDr3l+5hQMAAF7p2d3+/1aL8YpGAjxDV4t+CnUyi1Yqi05CQuiF4f7/ZoXAdQq5tgAAAOiw3f7/i05C + 6MLg/v/oBvX+/4sPiQFfiVEEXsOAfiZJdQaLRi6Z6+o8TnUK3UYy6JRaAQDr3F+5hQMAAF7pc93+/1aL + 8YpGAjxDV4t+CnUwi1Yqi05CQugf4f7/ZoXAdQq5tgAAAOhK3f7/i05C6Fzg/v/ooPT+/4kHiVcEX17D + gH4mSXUGi0YumevsPE51Ct1GMugwWgEA695fuYUDAABe6Q/d/v+LRCQE3UQkCIsA3RjCDADdRCQIi0Qk + BN0YwgwAi0QkBNlEJAiLANkYwggA2UQkCItEJATZGMIIAItEJASLAItMJAiJCMIIAItEJAiLTCQEiQHC + CACLRCQEiwCLTCQIiQjCCACLRCQIi0wkBIkBwggAi0QkBIsAi0wkCIkIwggAi0QkCItMJASJAcIIAItE + JASLAGaLTCQIZokIwggAZotEJAiLTCQEZokBwggAi0QkBIsAZotMJAhmiQjCCABmi0QkCItMJARmiQHC + CACLRCQEiwCKTCQIiAjCCACKRCQIi0wkBIgBwggAi0QkBIsAikwkCIgIwggAikQkCItMJASIAcIIAIN5 + KgB0LWaDOQJWizXkQgUQdAOLcVKLQQqLSUJqAf8wagHo/t7+/1BqAFb/FbiwAhBew4tBCosAZoMgAMOD + eSoAdCtmgzkCVos15EIFEHQDi3FSagH/cQqLSUJqAejD3v7/UGoAVv8VuLACEF7Di0EKZoMgAMOLRCQE + i0wkCIsAigmICMIIAItEJAiKAItMJASIAcIIAIMlUFADEABWVzPAQIH6FwAAwGoFo+CAAxCJFeSAAxBZ + vtDaAhC/6IADEPOlZqV1DmoWvnjaAhC/aIEDEOsngfoFAADAdRNqFlm+GNoCEL9ogQMQ86VmpesPaga+ + /NkCEL9ogQMQWfOlX17DoeBCBRCFwHQHUP8VmLACELno2gIQ6QTb/v9Vi+yD7DRTVovxi1Yqi05Ci14K + V0LonN7+/2aFwHUKubYAAADox9r+/4tOQujZ3f7//3ZSjU3wUYvI6AD//v8z/zvHdAeLyOik2v7/ZoM+ + A3ULizXkQgUQ6ewAAACLdnbp5AAAAI1VzI1N8OgN4f7/O8cPhcoAAACAfcxDD4WeAAAAi0XQO8cPhIsA + AACLCzvPdBSDwARQUVf/NeBCBRD/FVixAhDrEo1EAAJQV/814EIFEP8VkLACEDvHiQOLTeh0Rf910FD/ + ddDoPN3+/1BXVv8VuLACEIXAdAuLA4tN0GaJPEjrS4tN6OjR3P7/agFX/xVYsAIQaFTQAhCL+OitHAEA + M//rKuiz3P7/ubYAAADo2tn+/+sZi03o6J/c/v//M1f/NeBCBRD/FZSwAhCJOw+/TfEz0kLolOH+/4PD + BOsHi8jop9n+/w+/TfHoa+H+/6gCD4QL////X15bycNVi+yD7ERT2e5W3V3IM/ZXM8DGRbxDxkW9AGaJ + db6JdcCJdcSJddCJddSNfdiri9mLUyqLS0Kri0MKQolF/OgU3f7/ZoXAv7YAAAB1B4vP6D3Z/v+LS0Lo + T9z+//9zUo1N4FGLyOh2/f7/O8Z0B4vI6BzZ/v8Pv03h6Nbg/v+LS1I7wX0YK8gPv0XhUVDojfr+/zvG + dAeLyOj02P7/D79N4ejC4P7/i0N20ehmgzsEiUX0oeRCBRB0BouDmgAAAItLUolF+OiN2/7/O8aJRdh1 + B4vP6LnY/v+LTdjoGdz+/4tN2OjD2/7/iUXw6YgAAAD/S1L/dfSLRfyLe1LomfX+/4XAdEBWVlf/dfBq + //91/Fb/dfj/FaywAhA7xnQFiUXA6yWNdbzohv3+/2oBagD/FViwAhBogNACEIv46BAbAQAz9usDiXXA + jVW8jU3g6Nvf/v87xnUai038i0X0jQRBD79N4TPSQolF/OgD4P7/6weLyOgZ2P7/OXNSD4Vv/////0tS + jXW86CX9/v9fXlvJw1WL7IPsMFNWV4vxi14KagjGRdAwM8BZjX3R86sPt04pZquqM/9Hi9foGN/+/w+3 + TilqAlqJRfToCd/+/2aFwIlF/HUDiX38M8BmOX38D5fAZoNmLwBmg2YxAEBmgz4DZolGLaHkQgUQdAOL + RnZmOX38iUX4Zol+MQ+C1AAAAGY5ffRmiX4vD4K0AAAAjVXQjU4m6Pbd/v+FwA+FiAAAAIB90EN1ZTlF + 1HRgi03s6Lba/v+LRlKLTdQ7yHwCi8hQU1GLTezoUdr+/1BqAP91+P8VuLACEItN7Iv46Lja/v+F/3QH + ZoMkewDrJItN7Ojd2f7/agFqAP8VWLACEGhU0AIQi/jouBkBAOsEZoMjAIB90EN1CItN7Oiz2f7/i0ZS + M/+NHENH6weLyOjS1v7/Zv9GL2aLRi9mO0X0D4ZM////ZotF/Gb/RjFmOUYxD4Ys////X15bycNVi+yD + 7DBTVleL8YteCmoIxkXQMDPAWY190fOrD7dOKWarM9JCqujD3f7/D7dOKWoCWolF9Oi03f7/M/9mO8eJ + Rfx1B8dF/AEAAAAzwGaDffwBZol+Lw+XwGaJfjFAZoM+AmaJRi2h5EIFEHQDi0ZSZoN9/AGJRfhmx0Yx + AQAPgigBAABmg330AWbHRi8BAA+CBQEAAI1V0I1OJuiW3P7/O8cPhdkAAACAfdBDD4WmAAAAi0XUO8cP + hJsAAACLCzvPjUQAAlB0EFFX/zXgQgUQ/xVYsQIQ6w1X/zXgQgUQ/xWQsAIQO8eJA4tN7HRZ6B7Z/v// + ddSLTez/M/911OjA2P7/UFf/dfj/FbiwAhCLTeyL+Ogo2f7/hf90CYsDZoMkeADrHotN7OhL2P7/agFq + AP8VWLACEGhU0AIQi/joJhgBADP/6yfoLNj+/7m2AAAA6FPV/v/rFosDO8d0EFBX/zXgQgUQ/xWUsAIQ + iTuAfdBDdQiLTezo/Nf+/4PDBOsHi8joIdX+/2aLRfRm/0YvZjlGLw+G+/7//2aLRfxm/0YxZjlGMQ+G + 2P7//19eW8nDVYvsg+w8U9nuM9vdXdBWVzPAxkXEQ4hdxWaJXcaJXciJXcyJXdiJXdyNfeCrq4vxi0YK + D7dOKTP/R4vXiUX46Pnb/v8Pt04pagJaiUXw6Orb/v9mO8OJRfx1A4l9/ItOUjPAZjl9/Iv5D5fA0e9m + iV4vZoleMYl96EBmgz4DZolGLaHkQgUQdAOLRnaJRfToKtf+/zvDiUXgdQq5tgAAAOhT1P7/i03g6LPX + /v+LTeDoXdf+/2b/RjGJRexmi0YxZjtF/A+HjgAAAGaDffABZsdGLwEAcm9TU/92Uv917Gr//3X4U/91 + 9P8VrLACEDvDdAWJRcjrIItN4OjI1v7/agFT/xVYsAIQaIDQAhCL+OikFgEAi33ojVXEjU4m6FXa/v87 + w3ULi0X4jQR4iUX46weLyOjA0/7/ZotF8Gb/Ri9mOUYvdpFmi0X8Zv9GMWY5RjEPhnL///+NdcTouPj+ + /19eW8nDVYvsg+xAU9nuM9vdXcxWVzPAxkXAQ4hdwWaJXcKJXcSJXciJXdSJXdiNfdyrq4vxi0YKD7dO + KTP/R4vXx0X4AAEAAIlF/OiN2v7/D7dOKWoCWolF6Oh+2v7/ZjvDiUX0dQOJffSLffQzwGaD/wEPl8Bm + iV4vZoleMUBmgz4CZolGLaHkQgUQdAOLRna5AAEAAIlF7OjA1f7/O8OJRdx1Crm2AAAA6OnS/v+LTdzo + Sdb+/4tN3Ojz1f7/iUXw6egAAABmg33oAWbHRi8BAA+C1wAAAItF/IsAO8MPhJYAAABQ/xVosQIQjTwA + O334iUXkfj6LTdzoMNb+/4tN3IvX6FXW/v9mhcCLTdx1EehR1f7/ubYAAADoeNL+/+sT6NnV/v+LTdzo + g9X+/4lF8Il9+Dv7dEKLRfxTU/91+P918P915P8wU/917P8VrLACEDvDdAWJRcTrIotN3OgD1f7/agFT + /xVYsAIQaIDQAhCL+OjfFAEA6wOJXcSNVcCNTibojtj+/zvDdQaDRfwE6weLyOj+0f7/ZotF6Gb/Ri9m + OUYvD4Ys////i330Zv9GMWY5fjEPhgr///+NdcDo8/b+/19eW8nDVYvsg+wsU9nuM9vdXeBWV8ZF1EOI + XdVmiV3WiV3YiV3ciV3oiV3sM8CNffCri/Gri34u0eeLz+hY1P7/O8OJRfB0fv92LotGCuiJ7v7/O8OJ + Rfh0X4tN8OjZ1P7/ZoM+AqHkQgUQdAOLRlKLTfBTU1eJRfzob9T+/1D/dfj/dgpT/3X8/xWssAIQi03w + i/Do0dT+/zvzdAWJddjrGmoBU/8VWLACEGiA0AIQi/jo3BMBAOsXiV3YjU3U6JvW/v/rCrm2AAAA6APR + /v9fXlvJw1WL7IPsKFPZ7jPb3V3kVlczwMZF2EOIXdlmiV3aiV3ciV3giV3siV3wjX30q4vxq4tGCosA + O8MPhIcAAABQ/xVosQIQi/g7+3R6jQw/6HLT/v87w4lF9HRhi8joBtT+/2aDPgGh5EIFEHQDi0Yui030 + U4lF/FONBD9Q6JnT/v9Qi0YKV/8wU/91/P8VrLACEItN9Ivw6PvT/v8783QFiXXc6yRqAVP/FViwAhBo + gNACEIv46AYTAQDrCrm2AAAA6DrQ/v+JXdyNTdjou9X+/19eW8nDVYvsg+woU9nuVt1d5DPbV8ZF2EOI + XdlmiV3aiV3ciV3giV3siV3wM8CNffSL8f92Cqur/xVosQIQi/g7+3R4jQw/6KnS/v87w4lF9HRfi8jo + PdP+/2aDPgGh5EIFEHQDi0Yui030U4lF/FONBD9Q6NDS/v9QV/92ClP/dfz/FaywAhCLTfSL8Og00/7/ + O/N0BYl13OskagFT/xVYsAIQaIDQAhCL+Og/EgEA6wq5tgAAAOhzz/7/iV3cjU3Y6PTU/v9fXlvJw1NV + Vovxi24qi14KV4t+Uk+F7XRhi05C6K/S/v8774vFfAKLx2aDPgOLLeRCBRB0A4tudotOQldTUOg/0v7/ + UGoAVf8VuLACEItOQov46KjS/v+F/3QHZoMkewDrHGoBagD/FViwAhBoVNACEIv46LARAQDrBGaDIwBf + Xl1bw2okaFD8AhDoWN/+/4vxiXXcM/+JfeSLXgqJXdiKRiY8Qw+F1QAAADvfD4TNAAAAi0YqiUXQjUwA + AolN1Il9/IsDUTvHdBFQagz/NeBCBRD/FVixAhDrDmoM/zXgQgUQ/xWQsAIQi/iJfeSDTfz/6x2LReyL + AIsQ6PTy///Di2Xog038/4t13It95Itd2IX/D4SpAAAAi05C6LDR/v9mgz4CoeRCBRB0A4tGUolF4P91 + 1Ff/ddCLTkLoQtH+/1BqAP914P8VuLACEIlFzItOQuio0f7/i0XMhcB0CWaDJEcAiTvrbWoBagD/FViw + AhBoVNACEIv46KsQAQDrVTwwdUc733RDiwM7x3QUUFf/NeBCBRD/FZSwAhCFwHQOiTtqC1ozyehT0/7/ + 6ydXV/8VWLACEGjw2QIQi/joZxABADPJ6JUPAQDrCrmFAwAA6JTN/v/oSd7+/8NqKGhg/AIQ6AHe/v+L + 8Yl13INl5ACLfiqJfdiNTD8CiU3Um4Nl/ACLRgpRhcB0EVBqBP814EIFEP8VWLECEOsOagT/NeBCBRD/ + FZCwAhCL2Ild5JuDTfz/6x2LReyLAIsQ6LPx///Di2Xog038/4t13Itd5It92IXbD4SeAAAAhf90X4tO + Quhr0P7/ZoM+AqHkQgUQdAOLRlKJReD/ddRTV4tOQuj/z/7/UGoA/3Xg/xW4sAIQi/iLTkLoZtD+/4X/ + dAdmgyR7AOscagFqAP8VWLACEGhU0AIQi/jobg8BAOsEZoMjAIXbfAxqC1qLy+gw0v7/6y6JXdDbRdCF + 230G3AX4+wIQ3V3I3UXIUVHdHCQz0moLWegn0v7/6wczyehfDgEA6B/d/v/DaiRocPwCEOjX3P7/i9mJ + XeAz/4l95ItzCol13IpDJjxDD4XbAAAAO/cPhNMAAACbiX38iwY7x3QWi0sqQVFQagT/NeBCBRD/FVix + AhDrE4tDKkBQagT/NeBCBRD/FZCwAhCJReSbg038/+sci0XsiwCLEOh38P//w4tl6INN/P+LXeCLddwz + /4tF5DvHD4SyAAAAiQaLS0LoL8/+/4tDKotLQolF2OjTzv7/i/CLfeSLRdiLyMHpAvOli8iD4QPzpItD + Kot15MYEBgCLS0LoKM/+/4X2fASLzutMiXXU20XUhfZ9BtwF+PsCEN1dzN1FzFFR3RwkM9JqC1noGNH+ + /+tWPDB1SDv3dESLBjvHdBRQV/814EIFEP8VlLACEIXAdA+JPjPJQWoLWujL0P7/6ydXV/8VWLACEGjw + 2QIQi/jo3w0BADPJ6A0NAQDrCrmFAwAA6AzL/v/owdv+/8NqIGiA/AIQ6Hnb/v+L2Yld4INl5ACbg2X8 + AItDCoXAdBaLSypBUVBqBP814EIFEP8VWLECEOsTi0MqQFBqBP814EIFEP8VkLACEIlF5JuDTfz/6xeL + ReyLAIsQ6DHv///Di2Xog038/4td4It95IX/dHKLS0Lo9M3+/4tDKotLQolF3OiYzf7/i/CLRdyLyMHp + AvOli8iD4QPzpItDKot15MYEBgCLS0Lo8M3+/4X2fAxqC1qLzujhz/7/6y6JddjbRdiF9n0G3AX4+wIQ + 3V3Q3UXQUVHdHCQz0moLWejYz/7/6wczyegQDAEA6NDa/v/D/3EK/xVssQIQhcB1K/8VWLACEIXAdQhq + CzPJWkHrH1dqAGoAaKzZAhCL+OilDAEAM8lf6dILAQBqC1pqAlnpaM/+//9xCv8VYLECEIXAdApqC1qL + yOlRz/7/V2oAagD/FViwAhBovNkCEIv46GQMAQAzyV/pkQsBAGpC/3Eu/3EK/xV4sQIQhcB0CmoLWovI + 6RbP/v9XagBqAP8VWLACEGjI2QIQi/joKQwBADPJX+lWCwEA/3EK/xV0sQIQhcB0H1dqAGoA/xVYsAIQ + aNjZAhCL+Oj9CwEAM8lf6SoLAQDD/3EKakL/FWSxAhCFwHQKagtai8jpsc7+/1dqAGoA/xVYsAIQaOTZ + AhCL+OjECwEAM8lf6fEKAQCh6EIFEIXAdA5qAP814EIFEP/Qi8jrAjPJagta6XHO/v+h7EIFEIXAdBf/ + cQpqAP814EIFEP/QhcAPn8APtsjrAjPJ6bfO/v+LQQqFwHQTUGoA/zXgQgUQ/xVwsQIQi8jrAjPJagta + 6SbO/v9TVlcz/4vxi0YuRzvHfAU7RlJ+CrmFAwAA6HLI/v//Ti6LRi6LTgqLdlIr8I0cgccFUFADEP// + //90NosDhcB0KlBqAP814EIFEP8VlLACEIXAdRdQagH/FViwAhBo8NkCEIv46OcKAQAz/4PDBE51yoP/ + AV8PlMBeD7bIW+kRzv7/i0EKhcB0NosAhcB0MFBqAP814EIFEP8VlLACEIXAdR1XUFD/FViwAhBo8NkC + EIv46JkKAQAzyV/pxgkBAMOLQQqFwHQwUGoA/zXgQgUQ/xWUsAIQhcB1HVdQUP8VWLACEGjw2QIQi/jo + YQoBADPJX+mOCQEAw2oYaJD8AhDoC9j+/4Nl5ACbg2X8AItBCv9xLoXAdBFQagz/NeBCBRD/FVixAhDr + DmoM/zXgQgUQ/xWQsAIQiUXkm+sQi0XsiwCLEOjT6///w4tl6INN/P+LTeSFyXwKagta6MfM/v/rJYlN + 4NtF4IXJfQbcBfj7AhDdXdjdRdhRUd0cJDPSagtZ6L7M/v/ov9f+/8NqHGig/AIQ6HfX/v+L8Yl14DP/ + iX3kOX4KdQq5hQMAAOjfxv7/m4l9/P92LmoM/zXgQgUQ/xWQsAIQiUXkm4NN/P/rGotF7IsAixDoP+v/ + /8OLZeiDTfz/i3Xgi0XkhcB0B4tOCokBfAxqC1qLyOgnzP7/6yWJRdzbRdyFwH0G3AX4+wIQ3V3U3UXU + UVHdHCQz0moLWegezP7/6B/X/v/DahhosPwCEOjX1v7/g2XkAJuDZfwA/3EKagz/NeBCBRD/FZCwAhCJ + ReSb6xCLReyLAIsQ6Lfq///Di2Xog038/4tN5IXJfApqC1roq8v+/+sliU3g20Xghcl9BtwF+PsCEN1d + 2N1F2FFR3RwkM9JqC1noosv+/+ij1v7/w7glnAIQ6JVGAQCD7AxTVleJZfAz21NoAAAQAFPHRewCAAAA + /xWcsAIQO8Oj4EIFEHUTU2oB/xVYsAIQaIzOAhDp5AEAAGjc0gIQ/xVgsAIQi/g7+w+EwQEAAIs10LAC + EGjU4wIQV//WO8N0D2oEjU3sUVP/NeBCBRD/0GjI4wIQV//WaLjjAhBXo+hCBRD/1mis4wIQV6PsQgUQ + /9a5eOMCEKPwQgUQiV386MqbAAC5ROMCEOjAmwAAuRDjAhDotpsAALnc4gIQ6KybAAC5qOICEOiimwAA + uXTiAhDomJsAALlA4gIQ6I6bAAC5DOICEOiEmwAAudjhAhDoepsAALmk4QIQ6HCbAAC5cOECEOhmmwAA + uTzhAhDoXJsAALkI4QIQ6FKbAAC51OACEOhImwAAuZzgAhDoPpsAALlk4AIQ6DSbAAC5MOACEOgqmwAA + ufzfAhDoIJsAALnI3wIQ6BabAAC5lN8CEOgMmwAAuWTfAhDoApsAALk03wIQ6PiaAAC5BN8CEOjumgAA + udTeAhDo5JoAALmk3gIQ6NqaAAC5dN4CEOjQmgAAuUDeAhDoxpoAALkM3gIQ6LyaAAC53N0CEOiymgAA + uazdAhDoqJoAALl83QIQ6J6aAAC5SN0CEOiUmgAAuRTdAhDoipoAALng3AIQ6ICaAACwAes1i0XoagBq + AWi43AIQaKzcAhDozwkBALgpTgEQw+sVU2oB/xVYsAIQaPzRAhCL+Oh4BgEAMsCLTfRfXmSJDQAAAABb + ycO4r6MCEOhURAEAg+xwUzPbVleJXfw5HfBCBRCJZfB1FWg4/QIQjUXsUMdF7PICAADoa0MBAGoDagGN + cQKNfYTonZ4AAI1FzMZF/AFQ/zXgQgUQiV3M/xXwQgUQO8N1Qf8VWLACED0DAQAAdQQzyesRU1OL+Gis + 4wIQ6OkFAQCDyf9qC1rotMj+/411hOi0hwAAi030X15kiQ0AAAAAW8nDagGNRYToha0AAIvwi0XMjU2E + Zol1jWbHRY8BAOgnhgAAi0XQjU2EZol1jWbHRY8CAOgShgAAD7ZF1I1NhGaJdY1mx0WPAwDo/IUAAI1F + zFD/NeBCBRD/FfBCBRA7w3Wg/xVYsAIQPQMBAAAPhV////8Pt02NagXpZ////4tN6Oh4BAEAuMtOARDD + VmoFXooCwOgEBDA8OX4CBAeIAYoCJA8EMEE8OX4CBAeIAUHGATpBQk512YoCwOgEBDA8OV5+AgQHiAGK + AiQPBDBBPDl+AgQHiAHDochCBRCFwFaLNcCwAhB0A1D/1qHMQgUQhcB0A1D/1l7DU1VWV2iM2QIQ/xXU + sAIQhcCLNdCwAhCjyEIFEL2c2QIQu3TZAhC/ZNkCEHQ3aITZAhBQ/9ZV/zXIQgUQo9BCBRD/1lP/NchC + BRCj1EIFEP/WV/81yEIFEKPYQgUQ/9aj3EIFEIM91EIFEAB1T2hY2QIQ/xXUsAIQM8k7waPMQgUQdCdV + UP/WU/81zEIFEKPUQgUQ/9ZX/zXMQgUQo9hCBRD/1qPcQgUQ6xKJDdRCBRCJDdhCBRCJDdxCBRBfXl2w + AVvDi0AUi0AEw4tAFItACMOLQBT/MP8VrLMCEMOLSBRmi1AoZjlRDFaLcRBXcwRmi1EMi3gED7fKM8Dz + pl8PlMBew/92JItGDP92IItOBFCNRhhQM8Bmi0YoUFH/dCQc/zb/FdxCBRCFwHYKi0YMiUYUsAHrAjLA + wgQAVYvsgH0UAIhDGIpFCIhDGXQExkMaAotFDFaJQyRmi0UQVw+3+I1zBGaJQyjoowUAAA+3VRCLPovK + i/HB6QK4RUVFRfOri86D4QNmg30QCPOqdwNqCFqNehyNcwyJeyDocAUAAF9eXcIQALhNkwIQ6BlBAQBW + i3UIx0X8AQAAAIsGg/j/dAdQ/xXYQgUQjUYM6HcFAACNRgTobwUAAItN9F5kiQ0AAAAAycIEALhtkwIQ + 6NdAAQBRVot1CIMO/1cz/4l+BIl9/Il+DMZF/AGJfhRmiX4o/xXUQgUQg/j/iQZ1KVdX/xVYsAIQaJzZ + AhCL+OigAgEAaDj9AhCNRfBQx0XwTmG8AOjEPwEAi030M8CNfhirq1+Lxl5kiQ0AAAAAycIEALhanAIQ + 6F9AAQCB7PwAAACDZfwAgw1QUAMQ/4M91EIFEABTVleJZfCL2XUUx0XU8gIAAGg4/QIQjUXU6e4BAACN + cwKwAY19iOgkhQAAjXMmjb34/v//xkX8AegIqAAAahBfjbUo////xkX8AuhspQAAjYVY////UMZF/APo + B////8ZF/ARmiwsz9maD+QN8DTlzUnQIikNSiEXv6wTGRe8eZoP5BHwNOXN2dAiKQ3aIReDrBMZF4ABm + g/kFfA2Lg5oAAAA7xolF3HUHx0XcuAsAAGaD+QZ8D42DvgAAADkwdAVmizjrA2ogX2aD+Qd8DDmz3gAA + AMZF5AF1BMZF5ABmg/kIfA2LmwYBAAA73old6HUHx0XoAQAAAP+1HP////8VqLMCEIP4/4lF2HUe/7Uc + /////xXkswIQO8YPhMwAAACLQAyLAIsAiUXYi03oagRYjVWI6NCYAAD/deSKRe9X/3XcjZ1Y/////3Xg + 6Gr9//8z/0eLTeg7+Q+PFwEAAP912I21WP///+gW/f//hMAPhJ4AAACLhWz///+LAFBmiX2RZsdFkwEA + /xWsswIQUI2dKP///+gVoQAAi9CNTYjoJ5cAAIuFbP///4tACI1NiGaJfZFmx0WTAgDoE4EAAIuFbP// + /4tABI1NiGaJfZFmx0WTAwDo+IAAAIvGZol9kWbHRZMEAOhy/P//63tWVmgg2QIQaBDZAhDoxP8AAMdF + 0E5hvABoOP0CEI1F0FDodz0BAIOlLP///wCNlSj///+NTYhmiX2RZsdFkwEA6JmWAACDyP+NTYhmiX2R + ZsdFkwIA6IuAAACDyP+NTYhmiX2RZsdFkwMA6HaAAABmiX2RZsdFkwQAMsCNTYjo7X8AAEfp3v7//2oL + Wuipwv7/jYVY////UMZF/APol/z//421KP///+heogAAjbX4/v//6FOiAACNdYjog4EAAItN9F9eZIkN + AAAAAFvJw4tNhOjD/gAAuPxUARDDuHecAhDodT0BAIHsgAAAAFNWM8BXM9tAjbV0////iWXwiV386FGk + AABqEV+NdaTGRfwB6LuiAADGRfwCOR3QQgUQx0XkBgAAAHURx0Xs8gIAAGg4/QIQjUXs62H/dZj/Faiz + AhCD+P91IlNTaDzZAhBoMNkCEOh+/gAAx0XoTmG8AGg4/QIQjUXo6zGNTeRRjU3UUVNQ/xXQQgUQO8N0 + I1NTaITZAhCL+Oja/gAAx0XgTmG8AGg4/QIQjUXgUOj+OwEAi03IjVXU6H35//+NdaSJfajoz40AAOhQ + oQAAjbV0////6EWhAACLTfRfXmSJDQAAAABbycOLTdzovf0AALgCVgEQw4tIIDPShcl+H4tAHFaL8FeL + Pjt8JAx0CkKDxgQ70Xzw6wSDJJAAX17CBACLUCBWM/aF0ld+EotAHIv4gz8AdA9Gg8cEO/J88zLAX17C + BACJDLCLAf8Qi0QkDIkwsAHr6mr//3AE/xVosAIQw1aL8ItGCFbHBvzXAhDogv///4t2BIX2dAdW/xWI + sAIQXsP/JVCxAhD/JVSxAhCKQBjDiwaFwHQNgH4EAHQHUP8VKLACEItEJASJBsZGBAGLxsIEAFWL7FGL + BoXAdAdQ6FXI/v9ZV+hIyP7/hcBZiQZ1FWg4/QIQjUX8UMdF/LYAAADoyDoBAIl+BMnDiwCFwHQHUOgh + yP7/WcNVi+xRV+gPyP7/hcBZiQZ1FWg4/QIQjUX8UMdF/LYAAADojzoBAIl+BIvGycOLAFaL8YoQiso6 + FnUahMl0EopQAYrKOlYBdQxAQEZGhMl14jPA6wUbwIPY/zPJhcAPlMGKwV7DVYvsUYtFCFZXjXABighA + hMl1+SvGjXABiwOFwIl1/HUIVuiOx/7/6xI5cwRzLFDoh8f+/1boe8f+/1mFwFmJA3UVjUUIaDj9AhBQ + x0UItgAAAOj6OQEAiXMEizuLzot1CIvBwekC86WLyItF/IPhA/OkSF+JQwiLw17JwgQAV4s9xLECEGoq + /zb/14XAWVl3EGo//zb/14XAWVl3BDPAX8MzwEBfw2pc/zb/FbyxAhCFwFlZdAyLDivBQIlGCMYECACL + xsNVi+xRVlcz/zk7dSc5fQh1B8dFCAEAAACLdQhW6M/G/v87x1mJA3QhxgAAiXMEiXsI62OLdQg7cwR2 + W1bor8b+/zvHWYlF/HUVaDj9AhCNRQhQx0UItgAAAOguOQEAOXMIdgROiXMIi0sIizOL0cHpAov486WL + yoPhA/Oki0sIxgQIAP8z6GzG/v+LRfyJA4tFCFmJQwRfXsnCBACLQATDi0AIw4lICMOLAIXAdAdQ6ELG + /v9Zw1WL7FFX6DDG/v+FwFmJBnUVaDj9AhCNRfxQx0X8tgAAAOiwOAEAxgAAg2YIAIl+BIvGycNVi+xR + V4v4hf98MTt+IH0sVv8VVLECEItGHIs8uIX/dAmLB2oBi8//UARW/xVQsQIQM8A7xxvA99hfycNoOP0C + EI1F/FDHRfyFAwAA6FE4AQDMgH4YAHRFUzPbOV4gfjxXVv8VVLECEItGHIs8mIX/dAmLB2oCi8//UARW + /xVQsQIQhf90D4vH6Lr8//9qAVfo8bb+/0M7XiB8xl9bw/8lULECEP8lVLECEIB4GAB0CoN4HAB2BDPA + QMMzwMOLRhyFwHQHUOhCxf7/WYB+GAB0B1b/FYSwAhDDaghowPwCEOhDyP7/i/GDZfwAVv8VTLECEINN + /P/GRhgBsAHrIDPAQMOLZehqAGoBaFDYAhBoNNgCEOjC+QAAg038/zLA6EDI/v/DVYvs/3UQ/3UM/3UU + agD/dQj/MP8VILACEIXAdCVqAGoAaIjYAhCL+OgY+gAAaDj9AhCNRRBQx0UQTmG8AOg8NwEAXcIQAFWL + 7FZXi/Ez/zv3dQONdQhT/3UMVlf/dQj/MP8VHLACEDvHdCNXV2iY2AIQi/jozPkAAGg4/QIQjUUMUMdF + DE5hvADo8DYBAIs2g/4BdAqD/gd0BYP+AnUC/wtfXl3CCABVi+yNRQxQi0UIagD/dRBqAP91DP8w/xUc + sAIQhcB0JWoAagBomNgCEIv46G75AABoOP0CEI1FEFDHRRBOYbwA6JI2AQCLRQxdwgwAVYvs/0AMVldT + /3UQi/GLSAxWM/9X/3UM/3UIUf8w/xUEsAIQO8d1G4s2M8BAO/B0CoP+B3QFg/4CdQL/C19eXcIMAD0D + AQAAdQQywOvvV1doqNgCEIv46Pb4AABoOP0CEI1FEFDHRRBOYbwA6Bo2AQDMVYvsVldT/3UQi/lXM/ZW + /3UMiXAM/3UIVv8w/xUEsAIQO8Z1G4s/M8BAO/h0CoP/B3QFg/8CdQL/C19eXcIMAD0DAQAAdQQywOvv + VlZoqNgCEIv46If4AABoOP0CEI1FEFDHRRBOYbwA6Ks1AQDMVYvs/3UY/0AI/3UUi0gI/3UQagD/dQz/ + dQhR/zD/FRSwAhCFwHUGsAFdwhQAPQMBAAB1BDLA6/FqAGoAaLjYAhCL+Ogp+AAAaDj9AhCNRRhQx0UY + TmG8AOhNNQEAzFWL7Fb/dRgz9v91FIlwCP91EFb/dQz/dQhW/zD/FRSwAhA7xnUHsAFeXcIUAD0DAQAA + dQQywOvwVlZouNgCEIv46M33AABoOP0CEI1FGFDHRRhOYbwA6PE0AQDMVYvsV/91IIv5/3Uc/3UYU/91 + FFdW/3UQagD/dQz/dQj/MP8VALACEIXAdCVqAGoAaMjYAhCL+Oh79wAAaDj9AhCNRSBQx0UgTmG8AOif + NAEAhfZ0Av8Ghf90Av8HhdtfdAL/A13CHABVi+xTV/91DDPbOF0Q/3UIdRP/FRiwAhA7w3QlU1No5NgC + EOsR/xX0sgIQO8N0ElNTaNjYAhCL+OgS9wAAMsDrArABX1tdwgwAVYvsjUUUUP91EItFCP91FP91DP8w + /xUksAIQhcB0JWoAagBoIMoCEIv46Nf2AABoOP0CEI1FEFDHRRBOYbwA6PszAQCLRRRdwhAAVYvsU1eL + +IsGM9s7w3QOOF4EdAlQ/xUosAIQiR45XQh0Plb/dQz/dRD/dQhX/xUksAIQO8N0I1NTaCDKAhCL+Oh2 + 9gAAaDj9AhCNRQhQx0UITmG8AOiaMwEAxkYEAesFiT6IXgRfW13CDABVi+xRiwZTM9s7w3QOOF4EdAlQ + /xUosAIQiR6NRfxQVlP/dRjGRgQB/3UU/3UQU/91DP91CP8VELACEDvDdCNTU2j02AIQi/joA/YAAGg4 + /QIQjUUYUMdFGE5hvADoJzMBADPAg338AVsPlMDJwhQAVYvsUVNWi9iLRQhXjXABighAhMl1+SvGgzsA + jXABiXX8dDGLQwgDxjlDBHMGUOha+f//izsDewiLzot1CIvBwekC86WLyItF/IPhA0jzpAFDCOtGVugj + wP7/hcBZiQN1FWg4/QIQjUUIUMdFCLYAAADoozIBAIt7CIvOi3UIA/iLwcHpAvOli8iLRfyD4QPzpI1I + /4lLCIlDBF9ei8NbycIEAFWL7FFWV4v4iwOFwIt3BHQxOXMEcyxQ6MS//v9W6Li//v+FwFlZiQN1FWg4 + /QIQjUX8UMdF/LYAAADoNzIBAIlzBItHCIlDCIs3izuNSAGLwcHpAvOli8iD4QPzpF+Lw17Jw1OL2IsD + iggy0jrKVr79AAAAdRVXagnobPj//4s7vgTZAhClpaRf62CA+WF8BYA4en5LgPlBfAWA+Vp+QYD5X3Q8 + gPkwfDeA+Tl/Mr78AAAA6yeLzk6FyXQoigiA+WF8BYD5en4XgPlBfAWA+Vp+DYD5MHwFgPk5fgPGAF9A + OBB10YgQKwOJQwhei8Nbw1OL2ItDCIsLgHwI/1x0LIPAAlDo4vf//4tLCIsDxgQIXItLCIsDxkQIASqL + SwiLA8ZECAIAg0MIAusdQFDouPf//4tLCIsDxgQIKotLCIsDxkQIAQD/QwiLw1vDU4vYi0MIiwuAfAj/ + XHQdQFDoiPf//4tLCIsDxgQIXItLCIsDxkQIAQD/QwiLw1vDi8PB4AJXUOhSvv7/i/iF/1mJfhx1FVBQ + aCDYAhBoCNgCEOgL8wAAMsBfw4vLweECi9HB6QIzwPOri8qD4QPzqoleIIvOX+nm+P//VYvsU1aL2ItF + CFeNcAGKCECEyXX5alz/dQgrxov4/xW8sQIQWYvwWYvD6Fb///+F9nQxi0UIRiv+jXwHAYtDCAPHUIl9 + COjY9v//i8+LewgDO4vBwekC86WLyIPhA0jzpAFDCF9ei8NbXcIEAFWL7DPJVot1CCvxiQqJD4kIdBZO + dAtOdSvHAgAAAMDrDscCAAAAQOsGxwIAAACA98NYjs9gXnUMCRiLRQyp+P///3QVaDj9AhCNRQhQx0UI + hQMAAOjpLwEAiQddwggAM8BQaAAAAAJqA1BQUP90JBz/FdywAhCD+P90CVD/FYiwAhDrEP8VWLACEIP4 + AnQJg/gDdASwAesCMsDCBACLTCQEM8A7TCQID5TAwggAi0QkBCNEJAj32BvAQMIIAItEJAQjRCQIM8k7 + yBvA99jCCACLRCQEI0QkCCtEJAj32BvAQMIIAFa+yEAFEIsGhcB0B1D/FYiwAhCDxgSB/shCBRB86F7D + i1Aci0Agw41BLIA4AHUGjYEwAQAAw/YAEHYrVleDwCxqAr/YywIQi/BZM9LzpnQQi/BqA7/Y1wIQWTPA + 86Z1AzPAQF9ewzLAw1WL7FEzyTPAOQyFyEAFEHQuQD2AAAAAfO9RUWhs0wIQaFjTAhDoA/EAAGg4/QIQ + jUX8UMdF/E5hvADoti4BAMnDVovxi0YKhcB8Bz2AAAAAfAq5hQMAAOigrv7/i0YKiwyFyEAFEGoLWl7p + I7T+/7h3kwIQ6DovAQCD7DCDZfwAgw1QUAMQ/4M9gEAFEABTVleJZfCL8XUUx0Xs8gIAAGg4/QIQjUXs + 6d0AAACLRgqFwIlF6A+MwAAAAD2AAAAAD421AAAAikYmPEl1BotGLpnrEDxOD4WPAAAA3UYy6C0rAQCL + +IpGSjxJi9p1BotGUpnrDDxOdWHdRlboECsBAINl1ACNTcRRUlCLRehqAP80hchABRCJfcyJXdD/FYBA + BRCL8IX2dRRQUP8VWLACEGiA1wIQi/jogfAAAIP+AQ+UwA+2yOi2s/7/i030X15kiQ0AAAAAW8nDx0Xk + hQMAAGg4/QIQjUXk6yDHReCFAwAAaDj9AhCNReDrD8dF3IUDAABoOP0CEI1F3FDoZi0BAItN2Oha7wAA + uC5kARDDuIGTAhDoDC4BAIPsNFNWi/EzyYlN/IMNUFADEP85DXxABRBXiWXwdRTHRejyAgAAaDj9AhCN + Rejp8QAAAItGCjvBiUXkD4zUAAAAPYAAAAAPjckAAABmgz4EdQiLRnaJRezrA4lN7IpGJjxJdQaLRi6Z + 6xA8Tg+FkgAAAN1GMujuKQEAi/iKRko8SYvadQaLRlKZ6ww8TnVk3UZW6NEpAQCDZdAAjU3AUVJQi0Xk + agD/deyJfcj/NIXIQAUQiV3M/xUssQIQi/CF9nUUUFD/FViwAhBokNcCEIv46D/vAACD/gEPlMAPtsjo + dLL+/4tN9F9eZIkNAAAAAFvJw8dF4IUDAABoOP0CEI1F4Osgx0XchQMAAGg4/QIQjUXc6w/HRdiFAwAA + aDj9AhCNRdhQ6CQsAQCLTdToGO4AALhwZQEQw7iLkwIQ6MosAQCD7ByDZfwAgw1QUAMQ/1NWV4vxi34K + hf+JZfAPjLMAAACB/4AAAAAPjacAAACKRiY8SXUGi0YumesQPE4PhYEAAADdRjLo3CgBAIvYikZKPEmJ + Vdx1BotGUpnrDDxOdVLdRlbovigBAFJQ/3XcU/80vchABRD/FeywAhCL8IX2dRRQUP8VWLACEGiY0wIQ + i/joPu4AAIP+AQ+UwA+2yOhzsf7/i030X15kiQ0AAAAAW8nDx0XshQMAAGg4/QIQjUXs6yDHReiFAwAA + aDj9AhCNRejrD8dF5IUDAABoOP0CEI1F5FDoIysBAItN4OgX7QAAuHFmARDDuJWTAhDoySsBAIPsHINl + /ACDDVBQAxD/U1ZXi/GLfgqF/4ll8A+MswAAAIH/gAAAAA+NpwAAAIpGJjxJdQaLRi6Z6xA8Tg+FgQAA + AN1GMujbJwEAi9iKRko8SYlV3HUGi0ZSmesMPE51Ut1GVui9JwEAUlD/ddxT/zS9yEAFEP8V9LACEIvw + hfZ1FFBQ/xVYsAIQaKTTAhCL+Og97QAAg/4BD5TAD7bI6HKw/v+LTfRfXmSJDQAAAABbycPHReyFAwAA + aDj9AhCNRezrIMdF6IUDAABoOP0CEI1F6OsPx0XkhQMAAGg4/QIQjUXkUOgiKgEAi03g6BbsAAC4cmcB + EMO4n5MCEOjIKgEAg+wMU1ZXM/+JffyLQQqDDVBQAxD/O8eJZfB8Sj2AAAAAfUP/NIXIQAUQ/xUYsQIQ + i/A793UUV1f/FViwAhBosNMCEIv46IfsAAAzyYP+AQ+Uwei9r/7/i030X15kiQ0AAAAAW8nDaDj9AhCN + RexQx0XshQMAAOiPKQEAi03o6IPrAAC4J2gBEMO4qZMCEOg1KgEAg+woUzPbiV38i0EKgw1QUAMQ/zvD + VleJZfAPjAkBAAA9gAAAAA+N/gAAAIs8hchABRCLNeSwAhBqAY1F2FBTV4ld2P/Wg/j/iUXUdTL/FViw + AhCFwHQoU1P/FViwAhBo1NMCEIv46NPrAADHRexOYbwAaDj9AhCNRezpuQAAAGoCjUXQUFNXiV3Q/9aD + +P+JRcx1L/8VWLACEIXAdCVTU/8VWLACEGjU0wIQi/jojOsAAMdF6E5hvABoOP0CEI1F6Ot1U41F2FD/ + ddRX/9aD+P91LYs1WLACEP/WhcB0IVNT/9Zo1NMCEIv46E/rAADHReROYbwAaDj9AhCNReTrOItF1DtF + zHUKi0XYO0XQdQKzAQ+2y+hnrv7/i030X15kiQ0AAAAAW8nDx0XghQMAAGg4/QIQjUXgUOg5KAEAi03c + 6C3qAAC4fWkBEMO4s5MCEOjfKAEAg+wMU1Yz9ol1/ItBCoMNUFADEP87xleJZfB8Bz2AAAAAfCiD+P90 + I2g4/QIQjUXsUMdF7IUDAADo5CcBAItN6OjY6QAAuD1qARDDO8Z8RP80hchABRD/FYiwAhCL2DvedRRW + Vv8VWLACEGjk0wIQi/jocuoAAIP7AQ+UwA+2yOinrf7/i030X15kiQ0AAAAAW8nDM9tDgf6AAAAAfdiL + BLXIQAUQhcB0IlD/FYiwAhCFwHUXUGoB/xVYsAIQaOTTAhCL+Ogf6gAAM9tG68hVi+yB7BACAAChSGAD + EIP4AQ+EugAAAIP4AnUNgz08YAMQBA+GqAAAAKHEQAUQhcB1CcdFDPICAADrSVa+BQEAAFaNjfD9//9R + /3UI/9CFwHQVVo2F+P7//1D/dQz/FcRABRCFwHUragBqAP8VWLACEGjw0wIQi/jonekAAMdFDE5hvABo + OP0CEI1FDFDowSYBAI21+P7//42F8P3//4oQiso6FnUahMl0EopQAYrKOlYBdQxAQEZGhMl14jPA6wUb + wIPY/zPJhcAPlMGKwV7rEv91DP91CP8V8LICEEj32BvAQMnCCABVi+yD+P91H/91CP8VDLECEIP4/3UR + agBqAP8VWLACEGh0vgIQ6yKoAXQ6g+D+UP91CP8VMLECEIXAdSlQUP8VWLACEGhgvgIQi/jo4+gAAGg4 + /QIQjUUIUMdFCE5hvADoByYBAF3CBABVi+z/dQjojP////91CP8VSLECEIXAdSlQUP8VWLACEGgE1AIQ + i/jonugAAGg4/QIQjUUIUMdFCE5hvADowiUBAF3CBABVi+z/dQj/FSixAhCFwHUpUFD/FViwAhBoENQC + EIv46GHoAABoOP0CEI1FCFDHRQhOYbwA6IUlAQBdwgQAVYvs/3UI6JP1//+EwHU4agD/dQj/FSCxAhCF + wHUpUFD/FViwAhBoINQCEIv46BboAABoOP0CEI1FCFDHRQhOYbwA6DolAQBdwgQAVYvsgX0MEAEAAFNW + dR6LRRSLQECFwHQMUGrr/3UI/xU8swIQM8BeW13CEACDfQxOdfJq6/91CP8VOLMCEIvwhfZ04YtFFFf/ + cAiNvigIAAD/cAT/MI1GKFBX6BbN/v+NXgSDxBSL14vL6O2k/v+FwIkGX3WvihuA+0l1BYtGDOulgPtM + dZ6LRgjrm1WL7IPsJFZXaghZ/3UQM8D/dQzGRdww/3UIjX3d86tmq6qLRRSNsAAIAABQVui4zP7/g8QU + i9aNTdzokaT+/4XAX151JoB93El1BYtF5OsdgH3cTHUFi0Xg6xKAfdxOdQrdRejoXCEBAOsCM8DJwhAA + UVNVVldo3NICEMZEJBcB/xVgsAIQiy1YsAIQizXQsAIQi/iF/7v80QIQD4TFAAAAaMjXAhBX/9ZosNcC + EFejdEAFEP/WaJzXAhBXo5BABRD/1miQ1wIQV6N4QAUQ/9ZogNcCEFejfEAFEP/WaGzXAhBXo4BABRD/ + 1mhc1wIQV6OgQAUQ/9ZoTNcCEFejpEAFEP/WaDDXAhBXo6hABRD/1mgU1wIQV6OsQAUQ/9Zo+NYCEFej + sEAFEP/WaNTWAhBXo7RABRD/1mjE1gIQV6O4QAUQ/9ZotNYCEFejvEAFEP/WaKDWAhBXo8BABRD/1qPE + QAUQ6xNqAGoB/9VTi/jo/uUAAMZEJBMAaJTWAhD/FWCwAhCL+IX/dClofNYCEFf/1mho1gIQV6OEQAUQ + /9ZoogAAAFejiEAFEP/Wo4xABRDrE2oAagH/1VOL+Oix5QAAxkQkEwBoWNYCEP8VYLACEIv4hf90KWhA + 1gIQV//WaCTWAhBXo5RABRD/1mgQ1gIQV6OYQAUQ/9ajnEAFEOsTagBqAf/VU4v46GTlAADGRCQTAIpE + JBNfXl1bWcNVi+xRVv+2QAEAAP8VPLECEIXAdUf/FViwAhCD+BJ1F/+2QAEAAP8VNLECEIOOQAEAAP8y + wMnDagBqAGjc1wIQi/joDuUAAGg4/QIQjUX8UMdF/E5hvADoMiIBALABycNVi+xW/3UI/xUksQIQg/j/ + iYZAAQAAdTT/FViwAhCD+AJ1BDLA6ydqAGoAaOzXAhCL+Oi+5AAAaDj9AhCNRQhQx0UITmG8AOjiIQEA + sAFdwgQAuImcAhDokCIBAIPsUFNWVzPbjXECsAGNfaSJZfCJXfzofWcAADPJxkX8ATPAPYAAAAB9DTkc + hchABRB0AUFA6+w7y3UhagszyVroKqf+/411pOgqZgAAi030X15kiQ0AAAAAW8nDagJYjVWk6Op7AAAz + /4H7gAAAAH04jTSdyEAFEIM+AHQpR4vDjU2kZol9rWbHRa8BAOiIZAAAiwaNTaRmiX2tZsdFrwIA6HRk + AABD68APt02tagXrjotN7Oggof7/uFVwARDDuJOcAhDoxyEBAIPsUFNWVzP/iX38i0EKgw1QUAMQ/zvH + iWXwD4xJAQAAPYAAAAAPjT4BAADdQTKLHIXIQAUQxkWkTmbHRaYUAIl9qOjcHQEAizXksAIQagGJRdCN + RcxQV1OJVdSJfcz/1oP4/4lFyHUy/xVYsAIQhcB0KFdX/xVYsAIQaNTTAhCL+OhK4wAAx0XsTmG8AGg4 + /QIQjUXs6d4AAABXjUXUUP910FP/1oP4/4lF0HUy/xVYsAIQhcB0KFdX/xVYsAIQaNTTAhCL+OgF4wAA + x0XoTmG8AGg4/QIQjUXo6ZkAAABT/xXosAIQO8dXdSRX/xVYsAIQaMTTAhCL+OjS4gAAx0XkTmG8AGg4 + /QIQjUXk62mNRcxQV1P/1oP4/4lFyHUtizVYsAIQ/9aFwHQhV1f/1mjU0wIQi/joleIAAMdF4E5hvABo + OP0CEI1F4Oss323QjU2k3V2w6EKl/v+LTfRfXmSJDQAAAABbycPHRdyFAwAAaDj9AhCNRdxQ6IsfAQCL + TdiB+U5hvAB1DGoLWjPJ6BOl/v/rBeh2n/7/uCtyARDDuJ2cAhDoHSABAIPsPFMz21aJXfyLcQqDDVBQ + AxD/O/NXiWXwD4yZAAAAgf6AAAAAD42NAAAAZoM5A8ZFuE5mx0W6FACJXbx1BYt5UusCM//dQTLoKxwB + AFeNTeBRUP80tchABRCJRdyJVeD/FeSwAhCD+P+JRdx1LYs1WLACEP/WhcB0IVNT/9Zo1NMCEIv46Jvh + AADHRexOYbwAaDj9AhCNRezrLN9t3I1NuN1dxOhIpP7/i030X15kiQ0AAAAAW8nDx0XohQMAAGg4/QIQ + jUXoUOiRHgEAi03k6IXgAAC4JXMBEMO4p5wCEOg3HwEAg+xEg2X8AIMNUFADEP9Ti9mLQwqFwFZXiWXw + D4y0AAAAPYAAAAAPjakAAABmgzsDdRqDe1IAfRTHReyFAwAAaDj9AhCNRezpmAAAAGoCjXMmjX2w6G6G + AABmgzsDdQiLQ1I5RbRzA4tFtItN1MYEAQ3GRAEBCjP2Vo1V6FKDwAJQi0MKUf80hchABRD/FQSxAhA7 + xnU1Vlb/FViwAhBorNQCEIv46JbgAABqC1ozyehio/7/jXWw6CqDAACLTfRfXmSJDQAAAABbycOLRejo + yXMAAOvfx0XkhQMAAGg4/QIQjUXkUOiPHQEAi03g6IPfAAC4HXQBEMO4uZwCEOg1HgEAg+xUg2X8AIMN + UFADEP9Ti9mLQwqFwFZXiWXwD4weAQAAPYAAAAAPjRMBAABmgzsCdQiLQy6JReTrB8dF5AABAACLfeSD + ZewAjXWg6FmDAABqIIvHxkX8AYt1xFk7wYl13IlF4HwDiU3giz3ksAIQagCNRehQ/3Xgi0MKVv80hchA + BRD/FRCxAhAz0jvCdShSUv8VWLACEGi41AIQi/jom98AAMdF2E5hvABoOP0CEI1F2OmXAAAAi0XoO8J0 + XIvISIXJiUXodD6KDkaA+Q11E4A+CnUYRkjHRewCAAAAiUXo6xGA+Qp11oA+Devmx0XsAQAAAGoB99hS + UItDCv80hchABRD/14N97AB1DovGK0XcO0XkD4xV////K3XcK3XsiXWkjXWg6DNuAADotIEAAItN9F9e + ZIkNAAAAAFvJw8dF1IUDAABoOP0CEI1F1FDoIxwBAItN0OgX3gAAuJN1ARDDuMOcAhDoyRwBAIPsRFOL + 2TPJiU38i0MKgw1QUAMQ/zvBVleJZfAPjKUAAAA9gAAAAA+NmgAAAGaDOwN1GTlLUn0Ux0XshQMAAGg4 + /QIQjUXs6YoAAABRjXMmjX2w6AGEAABmgzsDdQiLQ1I5QypzA4tDKjP2Vo1N6FFQ/3XUi0MK/zSFyEAF + EP8VBLECEDvGdTVWVv8VWLACEGis1AIQi/joNt4AAGoLWjPJ6AKh/v+NdbDoyoAAAItN9F9eZIkNAAAA + AFvJw4tF6OhpcQAA69/HReSFAwAAaDj9AhCNReRQ6C8bAQCLTeDoI90AALh9dgEQw7jNnAIQ6NUbAQCD + 7ECDZfwAgw1QUAMQ/1OL2YtDCoXAVleJZfB8cz2AAAAAfWyLey6F/3xljXW06BaBAAAz/1eNRexQ/3Xc + i0MK/3XY/zSFyEAFEP8VELECEIvwO/d1FFdX/xVYsAIQaLjUAhCL+Oh03QAA994b9iN17Il1uI11tOiC + bAAA6AOAAACLTfRfXmSJDQAAAABbycNoOP0CEI1F6FDHReiFAwAA6HIaAQCLTeToZtwAALhEdwEQw7jn + nAIQ6BgbAQCD7FCDZfwAgw1QUAMQ/1NWV4vZjXMCjX2kiWXw6PWCAACDTeD/xkX8Aug36///i/eJRdjo + qn4AAGaLC2aD+QR8BYtTdusCM9Jmg/kDfAWLQ1LrA2oCWGaD+QJ8BYtbLusCM9tSUI1F7I196I1V5Oil + 6f//M/ZW/3XsagNW/3Xo/3Xk/3XI/xXcsAIQg/j/iUXgdSlWVv8VWLACEGgw1QIQi/joetwAAGg4/QIQ + jUXcUMdF3E5hvADonhkBAItN2GoLWokEjchABRDoKZ/+/411pOjxfgAAi030X15kiQ0AAAAAW8nDi03U + gflOYbwAdQ1qC1qDyf/o/J7+/+sF6F+Z/v+4VngBEMO4AZ0CEOgGGgEAg+xMg2X8AIMNUFADEP9TVleL + 2Y1zAo19qIll8OjjgQAAg03g/8ZF/ALoJer//2aLC2aD+QSL8HwFi1N26wIz0maD+QN8BYtDUusDagJY + ZoP5AnwFi1su6wIz21JQjUXsjX3ojVXk6Jvo//8z/1f/dexqAlf/dej/deT/dcz/FdywAhCD+P+JReB1 + KVdX/xVYsAIQaDDVAhCL+Ohw2wAAaDj9AhCNRdxQx0XcTmG8AOiUGAEAagtai86JBLXIQAUQ6CCe/v+N + dajo6H0AAItN9F9eZIkNAAAAAFvJw4tN2IH5TmG8AHUNagtag8n/6POd/v/rBehWmP7/uF95ARDDuBud + AhDo/RgBAIPsGFNWVzP2iXX8g03w/1a7AAAAAlNqA1ZWxkX8AYs93LACEFb/dQj/14P4/4lFCIlF7FZ1 + Dlb/FViwAhBoMNUCEOtHU2oDVlZW/3UM/9eL+IP//4l98HUDVuvaix1AsQIQjUXcUFZW/3UI/9OFwHQN + jUXkUFZWV//ThcB1KVZW/xVYsAIQaAjVAhCL+Oh02gAAaDj9AhCNRQhQx0UITmG8AOiYFwEAi0XcO0Xk + i03gdRc7Teh1FVeLPYiwAhD/1/91CP/Xi8brIjtN6HwMfwU7ReR2BTP2RuvdizWIsAIQV//W/3UI/9Zq + AliLTfRfXltkiQ0AAAAAycIIALhInQIQ6PcXAQCB7GgBAACDTcz/U1ZXg2X8AL8FAQAAjXXQ6EXe//+N + dejGRfwB6Dne//+NddzGRfwC6C3e////dQiL3sZF/APopNz//41d0Oh35P//i8bovOX//4vD6Fnl//+L + fdBXjbWM/v//6KL0//+EwA+EgwAAAPaFjP7//xB0N42FjP7//+iM5///hMB1VI1F3I1d6Ogv5P//jY2M + /v//6GPn//9Qi8PoeeP///916OhH////6yyNRdyNXejoB+T//42NjP7//+g75///UIvD6FHj////deiL + hYz+///oWfD//421jP7//+jD8///hMB1hf91COiH8P//g33cAHQJ/3Xc6KGj/v9Zg33oAHQJ/3Xo6JKj + /v9Zhf90B1foh6P+/1mDfcz/dAn/dcz/FTSxAhCLTfRfXltkiQ0AAAAAycIEALhinQIQ6LAWAQCD7HCD + ZfwAgw1QUAMQ/1NWV41xAo19hIll8OiPfgAAvwAQAACNdbTGRfwB6PR7AADGRfwC/3Xcix34sAIQ/3XY + /3Wo/9OFwIlFuHUlUFD/FViwAhBo0L0CEIv46FnYAADHRexOYbwAaDj9AhCNRezrQzvHdkWL+I11tOgf + aAAA/3Xc/3XY/3Wo/9OFwIlFuHUpUFD/FViwAhBo0L0CEIv46BTYAADHRehOYbwAaDj9AhCNRehQ6DgV + AQBIjXW0iUW46BNnAADolHoAAI11hOiMegAAi030X15kiQ0AAAAAW8nDi03k6ATXAAC4u3wBEMO4dJ0C + EOi2FQEAg+w8U1ZXM9uJXfyDDVBQAxD/vwYBAACNdbiJZfDoCHsAAFfGRfwB/3Xc/xUUsQIQO8OJRbx1 + KVNT/xVYsAIQaOy9AhCL+Oh01wAAaDj9AhCNRexQx0XsTmG8AOiYFAEAjXW46HdmAADo+HkAAItN9F9e + ZIkNAAAAAFvJw4tN6Ohw1gAAuE99ARDDuIadAhDoIhUBAIPsPFNWVzPbiV38gw1QUAMQ/78GAQAAjXW4 + iWXw6HR6AABXxkX8Af913P8VALECEDvDiUW8dSlTU/8VWLACEGgAvgIQi/jo4NYAAGg4/QIQjUXsUMdF + 7E5hvADoBBQBAI11uOjjZQAA6GR5AACLTfRfXmSJDQAAAABbycOLTejo3NUAALjjfQEQw7irnQIQ6I4U + AQCB7KwAAACDZfwAgw1QUAMQ/1NWV41xArABjX2MiWXw6HJZAABqBF+NtUj////GRfwB6Mx5AACDTeT/ + g2XsAMZF/AO+NNQCEI191KVmpWgw1AIQjZ1I////x0XoAQAAAKTokHYAAP8V8LACEIvIM/+JTeAzwIP4 + H3cOhU3odAP/RezRZehA6+2LTexqBFiNVYzoum0AAMdF6AEAAAAz9ol97IN97B8Ph2IBAACLReiFReAP + hEsBAACKReyLjWz///8EQYgBRo2VSP///41NjGaJdZVmx0WXAQDoNGwAAP+1bP///2aJdZVmx0WXAgD/ + FQixAhCNTYzoHVYAADk9wEAFEA+E0QAAAIuFbP///4oAV1dqA1dXiEXYV41F1FD/FdywAhCDy/85XeSL + +HQJ/3Xk/xWIsAIQO/uJfeR1K2oAagD/FViwAhBoMNUCEIv46ETVAABoOP0CEI1F3FDHRdxOYbwA6GgS + AQAzwFCNTYhRagyNjXj///9RUFBogBAtAFf/FcBABRCFwI1NjGbHRZcDAGaJdZV0JIuFfP///+gwVQAA + i0WAjU2MZol1lWbHRZcEAOgbVQAAM//rR4vD6FZVAACLw41NjGaJdZVmx0WXBADoQlUAAOvfg8j/jU2M + Zol1lWbHRZcDAOgrVQAAg8j/jU2MZol1lWbHRZcEAOgWVQAA0WXo/0Xs6ZT+//8Pt02VagVa6FSX/v+D + feT/dAn/deT/FYiwAhCNtUj////oCncAAI11jOg6VgAAi030X15kiQ0AAAAAW8nDi02E6HrTAAC4RYAB + EMO4950CEOgsEgEAUbiwEQAA6EkSAQCDZfwAgw1QUAMQ/1NWV4ll8GoCWIv5i9iNtcj+//+JfezoXHgA + AGoDWIvPjbUo////xkX8AejieAAAagRYi8+NtWj+//+IXfzoz3gAAGoFWIvPjbWY/v//xkX8A+i7eAAA + agdYi8+NtVj////GRfwE6Kd4AAC7AIAAAIv7jbX4/v//xkX8BegKdwAAxkX8BjP2ahUzwDmdLP///1mN + fYyJdYjzq3YRx0XkhQMAAGg4/QIQjUXk6xuBvVz///8ABAAAdhXHReiFAwAAaDj9AhCNRehQ6IsQAQCL + TexmixFmg/oBfBGLQQo7xnQKJT////+JRbzrB8dFvAgACABmg/oGfAmLgb4AAACJRdyhSGADEIP4AXQX + g/gCdQmDPTxgAxAEdgnHRYhYAAAA6wfHRYhMAAAAg028IDPJx0XMpGwBEOgOl/7/i8jouZb+/4lFjIuF + HP///8YAADm1zP7//4uVHP///4lVpIldqHYLi4Xs/v//iUWU6w32Rb4IdQfHRZRc1AIQObUs////dhCL + jUz///+KAUGIAkKEwHX2ObVc////i4WM/v//iUW0i4W8/v//iUW4djqLjXz///+NhUDu//+JRciNlWju + //+KAUGIAkKEwHX2jb1o7v//T4pHAUeEwHX4vlDUAhClpWalpDP2jUWIUP8V7LMCEIXAdBSNtfj+///o + umEAAIvw6DphAADrKv8V8LMCEDvGdBZWVmg81AIQaJy9AhDoN9UAAIPJ/+sCM8lqC1roxJT+/421+P7/ + /+iJdAAAjbVY////6H50AACNtZj+///oc3QAAI21aP7//+hodAAAjbUo////6F10AACNtcj+///oUnQA + AItN9F9eZIkNAAAAAFvJw4tN4OjK0AAAuPWCARDDuFaeAhDofA8BAFG4KBIAAOiZDwEAg2X8AIMNUFAD + EP9TVleJZfBqAliL+YvYjbVQ/v//iX3s6Kx1AABqA1iLz421gP7//8ZF/AHoMnYAAGoEWIvPjbXw/f// + iF386B92AABqBViLz421IP7//8ZF/APoC3YAAGoHi89Yjb3g/v//xkX8BOiPUwAAi03saghYjbWw/v// + xkX8BejidQAAuwCAAACL+421KP///8ZF/AboRXQAADP2xkW0Q4l1uIl13Il10Il12MZF4ADGRfwIahUz + wDmdhP7//1mNvWD///+JtVz////zq3YRx0XkhQMAAGg4/QIQjUXk6xuBvbT+//8ABAAAdhXHReiFAwAA + aDj9AhCNRehQ6KwNAQCLTexmixFmg/oBfBGLQQo7xnQKJT/9//+JRZDrB8dFkAgQGAJmg/oGfAmLgb4A + AACJRbChSGADEIP4AXQag/gCdQmDPTxgAxAEdgzHhVz///9YAAAA6wrHhVz///9MAAAAg02QIDPJx0Wg + pGwBEOgplP7/i8jo1JP+/zm1hP7//4mFYP///3YWjYUo////UI2dgP7//+iZcAAAM/brCYuFTP///8YA + ADm1VP7//4uFTP///4mFeP///4uFUP///4mFfP///3YOi4V0/v//iYVo////6xD2RZIIdQrHhWj///9c + 1AIQObUY////i4UU/v//iUWIi4VE/v//iUWMdBO/BgEAAI11tOhMXwAAgE2RAjP2ObW0/v//djqLjdT+ + //+Nhcjt//+JRZyNlfDt//+KAUGIAkKEwHX2jb3w7f//T4pHAUeEwHX4vlDUAhClpWalpDP2jYVc//// + UP8V9LMCEIXAD4TZAAAA9kWRAg+EuwAAAIu1TP///zP/9kWSCI2FKP///3RI6B9eAACLyDPAjZXg/v// + iU3s6I1mAACLRez/TeyFwHR7R1aNXbRmib3p/v//6BhvAACL0I2N4P7//+gnZQAAi0W4jXQGAevPaiDo + m1wAAIvYM8CLy42V4P7//+hEZgAAi8NLhcB0NYtF2GgGAQAAagFqIIvOR+j9p/7/jVW0jY3g/v//iUW4 + Zom96f7//+jTZAAAi0W4jXQGAevED7eN6f7//2oF6ziNtSj////o010AAIvw6FNdAADrKv8V8LMCEDvG + dBZWVmg81AIQaMC9AhDoUNEAAIPJ/+sCM8lqC1ro3ZD+/411tOilcAAAjbUo////6JpwAACNtbD+///o + j3AAAI214P7//+i8TwAAjbUg/v//6HlwAACNtfD9///obnAAAI21gP7//+hjcAAAjbVQ/v//6FhwAACL + TfRfXmSJDQAAAABbycOLjVj////ozcwAALjvhgEQw7icngIQ6H8LAQBRuAQSAADonAsBAINl/ABTVleL + 2Y1zAo299P7//4ll8OhYcwAAjUNKxkX8AWoEiUXoWIvLjZVU////6P5qAABqBViLy421fP///8ZF/ALo + J3IAAL8FAQAAjbUk////xkX8A+iMcAAAM/+JfeSJfezGRfwGgX2AAAQAAIl93HYUx0XQhQMAAGg4/QIQ + jUXQ6WABAABmgzsED4ymAAAAikNuPEl1BYtDdusMPE51EN1DeugmBwEAiUW06YkAAAA8Q3VuOb14//// + dGGhiEAFEDvHdDmNTdxRjU3sUf+1eP/////QO8d9RFdXaIzUAhBoaNYCEOjLzwAAx0XgTmG8AGg4/QIQ + jUXg6egAAAD/tXj/////FYxABRA5feyL8HQJ/3Xs/xUgtAIQiXXsi0Xs64bHRdSFAwAAaDj9AhCNRdTp + sAAAAIl9tDl9gHYX/3WgjYXs7f//aHzUAhBQ6KGx/v+DxAwzwDtFgI2N7O3//xvAJS9tARCJRcQzwDtF + gIl9zBvAI8EzyYlFyOgkkP7/i8joz4/+/4lFsI2F7P3//4lFuIuFGP///4lFvItDLolFwI1FsFD/Feiy + AhCL2DvfiV3kdlH/tUj///9T/xXgsgIQhcB1JldXaFDPAhBoaNQCEOgVywAAx0XYTmG8AGg4/QIQjUXY + UOjICAEAjbUk////6B1bAACL0I1F6OhocgAAM8lB6wIzyeixjv7/OX3sdAn/dez/FSC0AhA733QHU/8V + ILQCEI21JP///+jwbQAAjbV8////6OVtAACNhVT////oCmgAAI219P7//+jPbQAAi030X15kiQ0AAAAA + W8nDi02s6EfKAAC4eIkBEMO4vJ4CEOj5CAEAgey4AAAAg2X8AFNWV4vZiWXwagKNcwKNvTz////oZ3AA + AGoCjXMmjb1s////xkX8AehTcAAAagRYi8uNdZzGRfwC6K1vAABqBjPAM/aJddBZjX3U86tmq2aLQ1Iz + ycdF1AQAAABmiUXg6L2O/v+LyOhojv7/i0seiUXQ6NyK/v+LS0KJRdjo0Yr+/zl1oIlF3HYKi0XAgE3h + AYlF6o1F0FD/FeSyAhCFwHUFM8lB6ww5deJ0BDPJ6wODyf9qC1roFI3+/411nOjcbAAAjbVs////6NFs + AACNtTz////oxmwAAItN9F9eZIkNAAAAAFvJw4tNzOg+yQAAuIGKARDDuNyeAhDo8AcBAIHsuAAAAINl + /ABTVleL2Yll8GoCjXMCjb08////6F5vAABqAo1zJo29bP///8ZF/AHoSm8AAGoEWIvLjXWcxkX8Auik + bgAAagYzwDP2iXXQWY191POrZqtmi0NSM/9HM8mJfdRmiUXg6LWN/v+LyOhgjf7/OXWgiUXQi4Vg//// + iUXYi0WQiUXcdgqLRcCATeEBiUXqjUXQUP8V5LICEIXAdQSLz+sMOXXidAQzyesDg8n/agta6BSM/v+N + dZzo3GsAAI21bP///+jRawAAjbU8////6MZrAACLTfRfXmSJDQAAAABbycOLTczoPsgAALiBiwEQw7jx + ngIQ6PAGAQCB7IgAAACDZfwAU1ZXi9mJZfBqAo1zAo29bP///+hebgAAagNYi8uNdZzGRfwB6LhtAABq + BjPAM/aJddBZjX3U86tmq2aLQy4zycdF1AMAAABmiUXg6MiM/v+LyOhzjP7/OXWgiUXQi0WQiUXYdgqL + RcCATeEBiUXqjUXQUP8V5LICEIXAdQUzyUHrDDl14nQEM8nrA4PJ/2oLWugvi/7/jXWc6PdqAACNtWz/ + ///o7GoAAItN9F9eZIkNAAAAAFvJw4tNzOhkxwAAuFuMARDDuBGfAhDoFgYBAIHsuAAAAINl/ABTVleL + 2Yll8GoCjXMCjb08////6IRtAABqAo1zJo29bP///8ZF/AHocG0AAGoEWIvLjXWcxkX8AujKbAAAagYz + wDP2iXXQWY191POrZqtmi0NSM8nHRdQCAAAAZolF4Ojai/7/i8johYv+/zl1oIlF0IuFYP///4lF2ItF + kIlF3HYKi0XAgE3hAYlF6o1F0FD/FeSyAhCFwHUFM8lB6ww5deJ0BDPJ6wODyf9qC1roOIr+/411nOgA + agAAjbVs////6PVpAACNtTz////o6mkAAItN9F9eZIkNAAAAAFvJw4tNzOhixgAAuF2NARDDuCOfAhDo + FAUBAIPsQINl/ACDPYRABRAAU1ZXiWXwi9l1FWg4/QIQjUXsUMdF7PICAADoKQQBAL8GAQAAjXW06E5q + AADGRfwBZoM7A41DJolF6HwFi0NO6wIzwFD/cwozyf912Ojniv7/i8jokor+/1D/FYRABRCFwHQii0XY + jVABighAhMl1+SvCiUW4jVW0jUXo6H1tAAAzyUHrAjPJ6MaJ/v+NdbToIWkAAItN9F9eZIkNAAAAAFvJ + w4tN5OiZxQAAuCaOARDDuDWfAhDoSwQBAIPsOINl/ACDDVBQAxD/U1ZXjXECjX28iWXw6CpsAADGRfwB + /3Xg6B/s//9qCzPJWkHo9Ij+/4v36L1oAACLTfRfXmSJDQAAAABbycOLTezoNcUAALiKjgEQw7hHnwIQ + 6OcDAQCD7DiDZfwAgw1QUAMQ/1NWV41xAo19vIll8OjGawAAi/fGRfwB6IdnAAD/cCSDyP/o8dz//2oL + M8laQeiGiP7/6FFoAACLTfRfXmSJDQAAAABbycOLTezoycQAALj2jgEQw7hhnwIQ6HsDAQCD7GiDZfwA + gw1QUAMQ/1NWV4vZjXMCjX2MiWXw6FhrAACNcyaNfbzGRfwB6ElrAACL98ZF/ALoCmcAAIt4JI11jOj/ + ZgAAi0AkV1DoJOr//2oLWovI6ACI/v+NdbzoyGcAAI11jOjAZwAAi030X15kiQ0AAAAAW8nDi03s6DjE + AAC4h48BEMO4g58CEOjqAgEAgeyAAAAAU1ZXM9uJXfyDTeT/iV3IU2gAAAAIagNTagFoAAAAgP91CMZF + /AKLNdywAhCJXdCJXdT/1oP4/4lF7IlF4HUSU1P/FViwAhBoMNUCEOkoAgAAjY10////UVD/FUSxAhCF + wFN1EVP/FViwAhBoFNUCEOkEAgAA/7V0////agJTU2gAAABA/3UM/9aD+P+JReiJReR0q2oBU1P/dZTo + HP8AAItNmDP2A8ET1jvTiUXYiVXciUXAiVXEf1R8Bz0AABAAcwnHRQj//wAA60k7038+fAc9AACgAHMJ + x0UI/P8DAOszO9N/KHwHPQAAQAZzCcdFCPD/DwDrHTvTfxJ8Bz0AAEAfcwnHRQjg/x8A6wfHRQjA/z8A + i30IjXXI6AzG//+LRdgLRdwPhNwAAACLx5mJRbiJVbyLRbw5Rdx8D38Ii0W4OUXYdgWLRQjrA4tF2ClF + 2FONTfAZXdxRUP91yIlF8P917P8VELECEIXAUw+E7AAAAI1F8FD/dfD/dcj/dej/FQSxAhCFwA+E3wAA + AIt1EDieABAAAHRji0XQA0XwURFd1IlF0N9t0FGNvgAIAADdXbDfbcDdXajdRbDcdajcDdj8AhDdXajd + RajdHCT/dcT/dcD/ddRQVlf/FeyxAhCDxCCNjgIQAACL1+jvVgAAOZ4GEAAAD4SaAAAAi0XYC0XcD4Ut + ////i3UQ/3Xsiz2IsAIQ/9f/deiDTeD//9eDyP+BxgEQAAA4HolF5HQK/3UM6O3Z//84Hl8PlEUTOV3I + Xlt0Cf91yOhEjf7/WYtN9IpFE2SJDQAAAADJwgwAU/8VWLACEGi41AIQ6w1TU/8VWLACEGis1AIQi/jo + bcIAAGg4/QIQjUUQUMdFEE5hvADokf8AAMaGARAAAAHpaf///1WL7IB9FAB0J/91GP91DP91COg4/f// + hMB0Ef91CItFEOhc2f//sAFdwhQAMsDr+P91DP91CP8VOLECEIXAdeZQUP8VWLACEGjE1AIQi/jo+MEA + AGg4/QIQjUUUUMdFFE5hvADoHP8AAMy4qJ8CEOjP/wAAUbjEEAAA6Oz/AACDZfwAgw1QUAMQ/1NWV4vZ + jXMCjX2EiWXw6KRnAACNcyaNvVT////GRfwB6JJnAABqA1iLy411tMZF/ALofmYAAMZF/AMzwMaFLO// + /wC5/wEAAI29Le////OrZquqM8CBfbgABAAAuQkCAACNvSz3///zq2ardhVoOP0CEI1F6FDHReiFAwAA + 6Hn+AACDfbgA/7V4////D5fA/3WoiIUs////6AvX//+EwA+UwIC9LP///wCIRex0GP912I2FLO///2jQ + 1AIQUP8V7LECEIPEDI2FLO///1D/dexq//+1eP////91qOiW/v//D7bI6B2E/v+NdbToeGMAAI21VP// + /+htYwAAjXWE6GVjAACLTfRfXmSJDQAAAABbycOLTeTo3b8AALjikwEQw7jNnwIQ6I/+AABRuMAQAADo + rP4AAINl/ACDDVBQAxD/U1ZXi9mNcwKNfYiJZfDoZGYAAI1zJo29WP///8ZF/AHoUmYAAGoDWIvLjXW4 + xkX8Aug+ZQAAxkX8AzPAxoUw7///ALn/AQAAjb0x7///86tmq6ozwIF9vAAEAAC5CQIAAI29MPf///Or + Zqt2FWg4/QIQjUXsUMdF7IUDAADoOf0AAIN9vAAPl8CDfbwAiIUw////dhj/ddyNhTDv//9o0NQCEFD/ + FeyxAhCDxAyNhTDv//9Q/7V8/////3Ws6MP6//8Ptsjo+4L+/411uOhWYgAAjbVY////6EtiAACNdYjo + Q2IAAItN9F9eZIkNAAAAAFvJw4tN6Oi7vgAAuASVARDDuOefAhDobf0AAIPsbINl/ABTVleNcQKNfYiJ + ZfDoU2UAAL8GAQAAjXW4xkX8Aei4YgAAxkX8Aotd3I11iOj/YAAAi0AkV1NQ/xUcsQIQhcCJRbx1KVBQ + /xVYsAIQaCS+AhCL+OgXvwAAaDj9AhCNRexQx0XsTmG8AOg7/AAAjXW46BpOAADom2EAAI11iOiTYQAA + i030X15kiQ0AAAAAW8nDi03o6Au+AAC4tJUBEMO4AaACEOi9/AAAg+xwg2X8AIM9eEAFEABTVleJZfB1 + EcdF7PICAABoOP0CEI1F7OthjXECjX2E6IlkAAC/BgEAAI11tMZF/AHo7mEAAMZF/AKLXdiNdYToNWAA + AItAJFdTUP8VeEAFEIXAiUW4dSlQUP8VWLACEGg4vgIQi/joTb4AAMdF6E5hvABoOP0CEI1F6FDocfsA + AI11tOhQTQAA6NFgAACNdYToyWAAAItN9F9eZIkNAAAAAFvJw4tN5OhBvQAAuH6WARDDuDmgAhDo8/sA + AIHs0AAAAFNWVzPbjXECjb0k////iWXwiU3siV386M9jAAC/BQEAAI21VP///8ZF/AHoMWEAAI11hMZF + /ALoJWEAAIldvINN6P/GRfwFjbUk////x0XkAAEAAOheXwAAi0AkU1NqA1NTaAAAAgBQ/xXcsAIQg/j/ + iUXodShTU/8VWLACEGgw1QIQi/jobL0AAMdF1E5hvABoOP0CEI1F1OnbAAAAi33kjXW86Iu///+LfbyN + ReRQ/3XkV2oB/3Xo/xWUQAUQO8N1Lf8VWLACEIP4enTQU1NoQNYCEIv46Bq9AADHRcROYbwAaDj9AhCN + RcTpiQAAAI1FuFCNRdhQV/8VmEAFEDvDdSVTU/8VWLACEGgk1gIQi/jo37wAAMdFzE5hvABoOP0CEI1F + zOtRuAUBAACJReCJRdyNRchQjUXcUP91qI1F4FD/tXj/////ddhT/xWcQAUQO8N1KVNT/xVYsAIQaOjU + AhCL+OiMvAAAx0XQTmG8AGg4/QIQjUXQUOiw+QAAi0Xgi3XsiYVY////i0XciUWIjUYmiUXsjZVU//// + jUXs6D9jAABmgz4DfBGNRkqJReyNVYSNRezoKGMAAGaDPgR8Eo1F7IPGblCLRciJdezo200AAGoLM8la + Qejtfv7/g33o/3QJ/3Xo/xWIsAIQO/t0B1fooYb+/1mNdYTom14AAI21VP///+iQXgAAjbUk////6IVe + AACLTfRfXmSJDQAAAABbycOLTbTo/boAALjCmAEQw7hLoAIQ6K/5AACD7DyDZfwAgw1QUAMQ/1NWV4vZ + jXMCjX24iWXw6IxhAACL98ZF/AHoTV0AAP9zLotAJFD/FTCxAhCFwHUpUFD/FViwAhBoYL4CEIv46Ge7 + AABoOP0CEI1F7FDHRexOYbwA6Iv4AABqCzPJWkHoHX7+/411uOjlXQAAi030X15kiQ0AAAAAW8nDi03o + 6F26AAC4YpkBEMO4XaACEOgP+QAAg+w8U1ZXM9uJXfyDDVBQAxD/jXECjX24iWXw6O1gAACL98ZF/AHo + rlwAAP9wJP8VDLECEIP4/3UpU1P/FViwAhBodL4CEIv46Mu6AABoOP0CEI1F7FDHRexOYbwA6O/3AADo + DU4AAI11uOhPXQAAi030X15kiQ0AAAAAW8nDi03o6Me5AAC4+JkBEMO4eqACEOh5+AAAg+x4U1ZXM9uN + cQKNvXz///+JZfCJXfzoW2AAAINN7P/GRaxOZsdFrhQAiV2wi/fGRfwC6AtcAACLQCRTaAAAAAJqA1NT + U1D/FdywAhCL8IP+/4l17HUlU1P/FViwAhBoMNUCEIv46Be6AADHRehOYbwAaDj9AhCNRejrc6F0QAUQ + O8N0MI1N0FFW/9A7w3VlU1P/FViwAhBoyNcCEIv46N65AADHReROYbwAaDj9AhCNReTrOo1F1FBW/xXg + sAIQg/j/iUXQdS3/FViwAhA7w3QjU1NoiL4CEIv46KK5AADHReBOYbwAaDj9AhCNReBQ6Mb2AADbRdSL + RdCFwN1d2N1F2NwN+PsCENtF0H0G3AX4+wIQ3V3YjU2s3EXY3V246Cl8/v9W/xWIsAIQjbV8////6PFb + AACLTfRfXmSJDQAAAABbycOLTdzoabgAALhWmwEQw7iXoAIQ6Bv3AACB7MQAAACDZfwAgw1QUAMQ/1OL + 2YpDJjxUVleJZfB1GN0FuPsCEN1DMtrp3+D2xER7DsZF7wHrDDwwD4WyAgAAxkXvAGaLC2aD+QN8N4pD + SjxUdRjdBbj7AhDdQ1ba6d/g9sREex7GRe4B6xw8MHQUx0XIhQMAAGg4/QIQjUXI6X0CAADGRe4AZoP5 + BHw3ikNuPFR1GN0FuPsCEN1Detrp3+D2xER7HsZF7QHrHDwwdBTHRdiFAwAAaDj9AhCNRdjpPAIAAMZF + 7QCAfe8AdSCAfe4AdRqAfe0AdRTHRdSFAwAAaDj9AhCNRdTpEgIAAI1zAo29MP///+gcXgAAZoM7BXwQ + M/85u5YAAAB1BsZF7ADrBsZF7AEz/4NNxP+NtTD////GRfwC6LlZAACLQCRXaAAAAAJqA1dXaAABAABQ + /xXcsAIQg/j/iUXgiUXEdShXV/8VWLACEGgw1QIQi/jowLcAAMdF3E5hvABoOP0CEI1F3OmJAQAAilXv + hNJ0SoB97ADdQzJqCd2dcP///1mNtWT///+NfYjGhWT///9U86V0DN1FlNwF+EQFEN1dlI195I1NiOgt + QAAAi0XkilXviUW0i0XoiUW4ik3uhMl0TYB97ADdQ1ZqCd2dcP///1mNtWT///+NfYjGhWT///9U86V0 + DN1FlNwF+EQFEN1dlI195I1NiOjcPwAAi0XkilXvik3uiUWsi0XoiUWwikXthMB0UIB97ADdQ3pqCd2d + cP///1mNtWT///+NfYjGhWT///9U86V0DN1FlNwF+EQFEN1dlI195I1NiOiIPwAAi0XkilXvik3uiUW8 + i0XoiUXAikXt9tiNdbwbwCPG9tlQjUWsG8kjyPbajUW0URvSI9BS/3Xg/xX8sAIQhcB1JVBQ/xVYsAIQ + aPzUAhCL+OhxtgAAx0XQTmG8AGg4/QIQjUXQ6z1qCzPJWkHoK3n+//914P8ViLACEI21MP///+jnWAAA + i030X15kiQ0AAAAAW8nDx0XMhQMAAGg4/QIQjUXMUOhW8wAAi41g////6Ee1AAC4YJ4BEMO4tKACEOj5 + 8wAAgeygAAAAg2X8AIMNUFADEP9Ti9mKQyY8UlZXiWXwdBg8MHQUx0XUhQMAAGg4/QIQjUXU6SABAABm + iwtmg/kDfB+KQ0o8UnQYPDB0FMdFyIUDAABoOP0CEI1FyOn4AAAAZoP5BHwfikNuPFJ0GDwwdBTHRcSF + AwAAaDj9AhCNRcTp0wAAAI1zAo29VP///+hkWwAAjUMmiUXojUNKiUXkjUNuM/9mgzsFiUXgfAw5u5YA + AADGRe8AdQTGRe8Bg03M/9nu3V2sxkWgVI21VP///8ZF/ALo6lYAAItAJFdoAAAAAmoDV1dXUP8V3LAC + EIP4/4lF2IlFzHUlV1f/FViwAhBoMNUCEIv46PW0AADHRdxOYbwAaDj9AhCNRdzrOo1NlFGNTYRRjU2M + UVD/FUCxAhCFwHUpV1f/FViwAhBoCNUCEIv46Lm0AADHRdBOYbwAaDj9AhCNRdBQ6N3xAACLReiAOFJ1 + KI1FjI11oOguPAAAgH3vAHQM3UWs3CX4RAUQ3V2sjVWgjUXo6HRGAABmgzsDfDCLReSAOFJ1KI1FhI11 + oOj4OwAAgH3vAHQM3UWs3CX4RAUQ3V2sjVWgjUXk6D5GAABmgzsEfDCLReCAOFJ1KI1FlI11oOjCOwAA + gH3vAHQM3UWs3CX4RAUQ3V2sjVWgjUXg6AhGAABqCzPJWkHo03b+//912P8ViLACEI21VP///+iPVgAA + i030X15kiQ0AAAAAW8nDi02c6AezAAC4uKABEMO43KACEOi58QAAgewUAQAAg2X8AIMNUFADEP9TVleJ + ZfCL2WoBagmNcwKNvWz////oEUwAAI1zJo294P7//8ZF/AHoelkAADP/ZoM7AnQJOXtOxkXvAHUExkXv + AYNN3P/Z7t1dwMZFtFTGhRD///9OZseFEv///xQAib0U////jbXg/v//xkX8A+j/VAAAi0AkV2gAAAAC + agNXV1dQ/xXcsAIQi9iD+/+JXdx1JVdX/xVYsAIQaDDVAhCL+OgLswAAx0XYTmG8AGg4/QIQjUXY6zWN + hTT///9QU/8VRLECEIXAdSlXV/8VWLACEGgU1QIQi/jo1LIAAMdF4E5hvABoOP0CEI1F4FDo+O8AAIuF + NP///42NbP///2bHhXX///8BAOgmMwAA24VU////i4VU////hcB9BtwF+PsCEIuFWP///91d5IXA3UXk + 3A34+wIQ24VY////fQbcBfj7AhDdXeSNlRD////cReSNjWz///9mx4V1////AgDdnRz////o+zIAAI2F + OP///411tOjWOQAAgH3vAHQM3UXA3CX4RAUQ3V3AjVW0jY1s////ZseFdf///wMA6MQyAACNhUD///+N + dbTonzkAAIB97wB0DN1FwNwl+EQFEN1dwI1VtI2NbP///2bHhXX///8EAOiNMgAAjYVI////jXW06Gg5 + AACAfe8AdAzdRcDcJfhEBRDdXcCNVbSNjWz///9mx4V1////BQDoVjIAAIuFXP///0iNjWz///9mx4V1 + ////BgDoCDIAAIuFUP///42NbP///2bHhXX///8HAOioMQAAi4Vk////jY1s////ZseFdf///wgA6I4x + AACLhWD///+NjWz///9mx4V1////CQDodDEAAGoLM8laQegEdP7/U/8ViLACEI214P7//+jCUwAAjbVs + ////6O8yAACLTfRfXmSJDQAAAABbycOLjWj////oLLAAALiQowEQw7j8oAIQ6N7uAACB7PwAAACDZfwA + gw1QUAMQ/4M9kEAFEABTVleJZfCL2XUUx0Xg8gIAAGg4/QIQjUXg6ZsAAABqAWoFjXMCjb1M////6BlJ + AACNcyaNvfj+///GRfwB6IJWAADGRfwCM/9mgzsCdAk5e050BDLb6wKzAdnujbX4/v//3V3IxkW8VMaF + KP///05mx4Uq////FACJvSz////oDVIAAItAJI1NlFFXUP8VkEAFEDvHdSlXV/8VWLACEGg81QIQi/jo + JbAAAMdF5E5hvABoOP0CEI1F5FDoSe0AAItFlI2NTP///2bHhVX///8BAOh6MAAA20Wwi0WwhcB9BtwF + +PsCEItFtN1d6IXA3UXo3A34+wIQ20W0fQbcBfj7AhDdXeiNlSj////cReiNjUz///9mx4VV////AgDd + nTT////oWzAAAI1FmI11vOg5NwAAhNt0DN1FyNwl+EQFEN1dyI1VvI2NTP///2bHhVX///8DAOgpMAAA + jUWgjXW86Ac3AACE23QM3UXI3CX4RAUQ3V3IjVW8jY1M////ZseFVf///wQA6PcvAACNRaiNdbzo1TYA + AITbdAzdRcjcJfhEBRDdXciNVbyNjUz///9mx4VV////BQDoxS8AAGoLM8laQejccf7/jbX4/v//6KFR + AACNtUz////ozjAAAItN9F9eZIkNAAAAAFvJw4tNuOgOrgAAuLGlARDDuBmhAhDowOwAAIHsaAEAAINN + zP9TVlcz278FAQAAjXXoiV386A2z///GRfwBi0UMgXgIAgEAAHYmU1NoUNUCEGjEvgIQ6PqtAABoOP0C + EI1FDFDHRQxOYbwA6K3rAACNXejoL7n//4vD6Bi6////deiNtYz+///oYsn//4TAD4SgAAAAi30I9oWM + /v//EHRDjYWM/v//6Em8//+EwHVyi0UM/0cEjV3o6Om4//+NjYz+///oHbz//1CLw+gzuP//i8PoG7r/ + /41F6FBX6C/////rPouNqP7//4uFrP7///8HiU3kgWXkAAAAgIHh////f4Nl4ACJRdiJTdzfbdjfbeDZ + 4N7B3V3Q3UXQ3EcI3V8IjbWM/v//6GLI//+EwA+FY////4N96AB0Cf916OhEeP7/WYN9zP90Cf91zP8V + NLECEItN9F9eW2SJDQAAAADJwggAuEGhAhDobesAAIHszAAAAINl/ACDDVBQAxD/U1aL2YF7KgIBAABX + iWXwdhVoOP0CEI1F7FDHReyFAwAA6HjqAABqAWoDjXMCjb1Y////6KdFAACNcyaNvSj////GRfwB6BBT + AADGRfwCM9u/BQEAAI114MZFoE5mx0WiFACJXaToXrH//9nuxkX8A91d0P+1TP///4ldyIldzIld2Ive + 6MSv//+LxujkuP//jUXgUI1FyFDo9f3//4tFyI2NWP///2bHhWH///8BAOgyLQAAi0XMjY1Y////ZseF + Yf///wIA6BstAADdRdCNVaDdXayNjVj///9mx4Vh////AwDoMS0AAGoLM8laQehIb/7/g33gAHQJ/3Xg + 6Ad3/v9ZjbUo////6P5OAACNtVj////oKy4AAItN9F9eZIkNAAAAAFvJw4tNxOhrqwAAuFSoARDDuAik + AhDoHeoAAIHsQAMAAFNWVzPbiV38gw1QUAMQ/41xAo29AP///4ll8IlN2OjyUQAAi3XYg8Ymjb20/P// + xkX8AejdUQAAi0XYxkX8AmaLEGaD+gN8CotIUjvLiU3kdQfHReT///9/ZoP6BHwKi0B2O8OJRbh1B8dF + uAEAAAC/BgEAAI210P7//+gLTwAAiZ1M////iZ10////iZ14////iZ18////iV3EiV3IiV3MiV3Q2e6D + jaj+////3V2UxkWIVMaFrP7//05mx4Wu/v//FACJnbD+//+InQT9//+InST9//+IneT8//+JXbyJXayL + TbiLwcHoBvbQJAGIReuLReSAZed/wegfJAH2wQfGRfwIiEXviV3gdQaDyQGJTbj2wQR0IYG9BP///wAE + AAB2FWg4/QIQjUWEUMdFhIUDAADoIegAAPbBCHQJx0XcaGIBEOsh9sEQdAnHRdxFYgEQ6xP2wSDHRdw1 + YgEQdQfHRdxVYgEQiU3Yg2XYAXQfi4Uk////agczyYmFdP///1hBjZU8////6EtCAADrRfbBAnQVaKDV + AhD/tST///+NdcTokT8AAOsrvwAIAACNdbzoqKz//411rOigrP///7Uk////aHTVAhD/dbzox4/+/4PE + DP+12Pz//421aP3//+hGxf//OsN1fmoLWjPJ6ANt/v85Xax0Cf91rOjDdP7/WTldvHQJ/3W86LV0/v9Z + g72o/v///3QM/7Wo/v///xU0sQIQjUXE6E8pAACNtTz////oxysAAI210P7//+iETAAAjbW0/P//6HlM + AACNtQD////obkwAAItN9F9eZIkNAAAAAFvJwzld2A+EugEAAP915P+1aP3///9V3DrDD4SOAQAAOF3v + dRONhWj9///onbf//4TAD4V2AQAA/0Xgi33gagdbjbU8////6NpAAACNhZT9//9QjZ3Q/v//Zom9Rf// + /2bHhUf///8BAOisSQAAi9CLzui/PwAAjYWY/v//UGaJvUX///9mx4VH////AgDoh0kAAIvQi87omj8A + AI2FbP3//411iOivMAAAMts4Xet0DN1FlNwl+EQFEN1dlI1ViI2NPP///2aJvUX///9mx4VH////AwDo + lSkAAI2FdP3//411iOhwMAAAOF3rdAzdRZTcJfhEBRDdXZSNVYiNjTz///9mib1F////ZseFR////wQA + 6FgpAACNhXz9//+NdYjoMzAAADhd63QM3UWU3CX4RAUQ3V2UjVWIjY08////Zom9Rf///2bHhUf///8F + AOgbKQAAi4WE/f//i42I/f//UFGNhaz+///opDgAAIvQjY08////Zom9Rf///2bHhUf///8GAOjlKAAA + i4Vo/f//jY08////Zom9Rf///2bHhUf///8HAOiRKAAAM9uNtWj9///orsL//zrDD4VL/v//6YsCAAD2 + RbgCD4RfAQAA/3Xk/7Vo/f///1XcOsMPhDMBAAA4Xe91E42FaP3//+jZtf//hMAPhRsBAAD/ReCNRcTo + 6yYAAI2FlP3//1CNndD+///oAUgAAIt9zIvQjUXEiX3Q6JgmAACNhZj+//9Q6OVHAACNTw2L0I1FxIlN + 0Oh8JgAAjYVs/f//jXWI6AYvAAAy2zhd63QM3UWU3CX4RAUQ3V2UjUcaiUXQjVWIjUXE6EomAACNhXT9 + //+NdYjo1C4AADhd63QM3UWU3CX4RAUQ3V2UjUcniUXQjVWIjUXE6BomAACNhXz9//+NdYjopC4AADhd + 63QM3UWU3CX4RAUQ3V2UjUc0iUXQjVWIjUXE6OolAACLhYT9//+LjYj9//9QUY2FrP7//+giNwAAjU9B + i9CNRcSJTdDowSUAAI1FxFCLhWj9//+Dx06JfdDocSUAADPbjbVo/f//6EXB//86ww+Fpv7//+kiAQAA + agjGhUT9//8wM8BZjb1F/f//86tmq6r/deT/tWj9////Vdw6ww+E5AAAADhd73UTjYVo/f//6GO0//+E + wA+FzAAAAP91642FbP3//1CNhQT9///oQEAAAP91642FdP3//1CNhST9///oK0AAAP91642FfP3//1CN + heT8///oFkAAAIuNhP3//4uFiP3///+1aP3//4lFtIlN2IFl2AAAAICB4f///3+JTbjfbbSJXdTfbdRR + UY2F5Pz//9ng3sHdnTT////dhTT////dHCRQjYUk/f//UI2FBP3//1CNhZj+//9QjYWU/f//UP91vP91 + rOgPi/7/i1Wsg8QojY1E/f//6Hc5AAA5nUj9//90E421aP3//+gewP//OsMPhfX+//+LReDovzgAAOkx + +///i40w////6IikAAC42aoBEMOhDEAFEIXAdAdQ/xXAsAIQw1WL7IPsJItFDFb/dQiNsJwAAAD/cGz/ + NuiXiv7/ixaDxAyNTdzocGL+/4XAXnQRiUUMaDj9AhCNRQxQ6DXiAACLReDJwggAUVNVVos10LACEDPb + gz1IYAMQAlfGRCQTAQ+FmwAAAIM9PGADEAQPh44AAABoTNMCEP8V1LACEDvDowxABRB0MWg80wIQUP/W + aCjTAhD/NQxABRCjEEAFEP/WaBTTAhD/NQxABRCjFEAFEP/WoxhABRBoCNMCEP8VYLACEDvDdA1o7NIC + EFD/1qMcQAUQOR0QQAUQdB85HRRABRB0FzkdGEAFEHQPOR0cQAUQxgUgQAUQAXUGiB0gQAUQaNzSAhD/ + FWCwAhCLLViwAhCL+Dv7D4RGAQAAaMDSAhBX/9ZosNICEFejNEAFEP/WaKDSAhBXozhABRD/1miQ0gIQ + V6M8QAUQ/9ZogNICEFejQEAFEP/WaHDSAhBXo0RABRD/1mhg0gIQV6NIQAUQ/9ZoUNICEFejTEAFEP/W + aEDSAhBXo1BABRD/1mg00gIQV6NUQAUQ/9ZoKNICEFejWEAFEP/WaAzSAhBXo1xABRD/1qNgQAUQoTRA + BRA7w3QXOR04QAUQdA85HTxABRDGBWxABRABdQaIHWxABRA7w3QXOR1AQAUQdA85HURABRDGBW1ABRAB + dQaIHW1ABRA7w3QXOR1IQAUQdA85HUxABRDGBW5ABRABdQaIHW5ABRA7w3QXOR1QQAUQdA85HVRABRDG + BW9ABRABdQaIHW9ABRA5HVhABRB0ETkdXEAFEHQJxgVwQAUQAesdiB1wQAUQ6xVTagH/1Wj80QIQi/jo + yaIAAIhcJBNo8NECEP8VYLACEIv4O/t0UGjY0QIQV//WaMTRAhBXoyRABRD/1mi00QIQV6MoQAUQ/9Zo + oNECEFejMEAFEP/WaIjRAhBXoyxABRD/1mh00QIQV6NkQAUQ/9ajaEAFEOsVU2oB/9Vo/NECEIv46FOi + AACIXCQTikQkE19eXVtZw7hToQIQ6DLgAACD7ECDZfwAgz1gQAUQAFNWV4ll8IvZdRVoOP0CEI1F7FDH + RezyAgAA6EffAACLe1KNdbTobkUAAMZF/AGNRehQ/3NS/3XY/3Mu/3MK/xVgQAUQ99gbwCNF6IlFuOj6 + MAAA6HtEAACLTfRfXmSJDQAAAABbycOLTeTo/l7+/7jMsgEQw7iAoQIQ6KXfAACB7MQAAACDZfwAU1ZX + i/GDxgKwAY19lIll8OiOJAAAvwYBAACNtUj////GRfwB6OZEAACDZdwAg03s/8ZF/ASAPSBABRAAuwAB + AAB1FMdFhPICAABoOP0CEI1FhOkyAQAAi/vB5wKNddzofqP//41F6FBX/3Xc/xUQQAUQhcB1LlBQ/xVY + sAIQaDzTAhCL+OgaoQAAx4V8////TmG8AGg4/QIQjYV8////6eUAAACLReiLyMHpAjvLdQiBw4AAAADr + n8HoAovIagVYjVWUiU2I6JE4AAAz9kY7dYgPh7oBAACLRdyNBLD/MDPbU2gQBAAAiUXk/xXIsAIQg33s + /4v4dAn/dez/FYiwAhCD//+JfewPhA0BAACNRehQagSNRYBQV/8VFEAFEDvDdSVTU/8VWLACEGgo0wIQ + i/jobqAAAMdFkE5hvABoOP0CEI1FkOtCaAYBAAD/tWz/////dYBX/xUYQAUQO8OJhUz///91KVNT/xVY + sAIQaBTRAhCL+OgqoAAAx0WMTmG8AGg4/QIQjUWMUOhO3QAAjZVI////jU2UZol1nWbHRZ8BAOh3NgAA + i0XkZol1nWbHRZ8CAIsAjU2U6CEgAACNRehQahiNhTD///9QU1f/FRxABRA7w41NlGbHRZ8DAGaJdZ11 + E4uFRP///+jwHwAAi4U8////6wkzwOgnIAAAM8CNTZRmx0WfBQBmiXWd6BMgAABmx0WfBADrY42VSP// + /41NlImdTP///2aJdZ1mx0WfAQDo5jUAAItF5GaJdZ1mx0WfAgCLAI1NlOiQHwAAM8CNTZRmiXWdZsdF + nwMA6MIfAAAzwI1NlGaJdZ1mx0WfBADorh8AAGbHRZ8FAI1NlDPAZol1neiaHwAARuk9/v//D7dNnWoF + WujdYf7/g33s/3QJ/3Xs/xWIsAIQg33cAHQJ/3Xc6I1p/v9ZjbVI////6IRBAACNdZTotCAAAItN9F9e + ZIkNAAAAAFvJw4uNeP///+jxnQAAuMu1ARDDuDCkAhDoo9wAAIHsXAIAAINl/ACDPWhABRAAU1ZXiWXw + i9l1FWg4/QIQjUXsUMdF7PICAADotdsAAGoFagGNcwKNfaTo5zYAAGoCWIvLjbVA////xkX8AehLQwAA + v4AAAACNtXD////GRfwC6LBBAADGRfwDx4WY/f//qAEAADP/agCNhZj9//9QV/+1ZP////8VaEAFEEeF + wA+ErwAAAGoBjUWk6NRFAACL8I2FvP3//1CNnXD///9miXWtZsdFrwEA6Ew+AACL0I1NpOheNAAAjYWc + /f//UGaJda1mx0WvAgDoLD4AAIvQjU2k6D40AACNhUD+//9QZol1rWbHRa8DAOgMPgAAi9CNTaToHjQA + AI2FwP7//1BmiXWtZsdFrwQA6Ow9AACL0I1NpOj+MwAAi4U8/v//jU2kZol1rWbHRa8FAOjtHQAA6TL/ + //8Pt02tagVa6DFg/v+NtXD////o9j8AAI21QP///+jrPwAAjXWk6BsfAACLTfRfXmSJDQAAAABbycOL + TaDoZlr+/7hktwEQw7hNpAIQ6A3bAACB7CgBAACDZfwAgw1QUAMQ/1NWV4ll8IvZagRqAY1zAo19mOho + NQAAagJYi8uNtWj////GRfwB6MxBAAAz/8ZF/AI5PWRABRCJfex1FMdF6PICAABoOP0CEI1F6OnlAAAA + Zom98v7//2bHhfD+//+cADPbjYXM/v//UFP/dYz/FWRABRBDO8d0cWoBjUWY6EtEAACL8IuFOP///41N + mGaJdaFmx0WjAQDo6hwAAIuFPP///41NmGaJdaFmx0WjAgDo0hwAAIuFNP///41NmGaJdaFmx0WjAwDo + uhwAAIuFRP///41NmGaJdaFmx0WjBADoohwAAOl5////gz1IYAMQAnUggz08YAMQBXUXoUBgAxA7x3QF + g/gBdQn/FViwAhCJRew5fex0JFdXi33saJTQAhDo35sAAMdF5E5hvABoOP0CEI1F5FDoA9kAAA+3TaFq + BVrolF7+/421aP///+hZPgAAjXWY6IkdAACLTfRfXmSJDQAAAABbycOLTeDoyZoAALj2uAEQw4tEJBRq + AehLQwAAD7dEJBCLTCQU6PYbAAAzwEDCFAC4cqQCEOhc2QAAgezsAAAAg2X8AIMNUFADEP9TVleNhQj/ + //+JZfCL2eivVv7/agNYi8uNdbDGRfwB6CJAAABqBFiLy411gMZF/ALoEUAAAGoAagGNcwKNvQj////G + RfwD6AlDAACKQ0o8Q3UFi3XU6xs8SXUFi3NS6xI8Tg+FxAAAAN1DVug31QAAi/CKQ248Q3UFi0Wk6xk8 + SXUFi0N26xA8Tg+FjAAAAN1DeugQ1QAAjY0I////UWgTuQEQUFb/cy7/FcywAhCFwHUlUFD/FViwAhBo + qNACEIv46I6aAADHRehOYbwAaDj9AhCNRejrZA+3jRH///9qBVroRF3+/411gOgMPQAAjXWw6AQ9AACN + tVD////o+TwAAI21CP///+gmHAAAi030X15kiQ0AAAAAW8nDx0XshQMAAGg4/QIQjUXs6w/HReSFAwAA + aDj9AhCNReRQ6EzXAACLTeDoQJkAALhZugEQw1aLdCQUagGLxui/QQAAi0QkEKkAAP//dBZTUI1eSOhA + OgAAi9CLzuhTMAAAW+sHi87oUBoAADPAQF7CEAC4j6QCEOi11wAAgey4AAAAg2X8AIMNUFADEP9TVleN + hTz///+JZfCL2egIVf7/agNYi8uNdbTGRfwB6Hs+AABqAGoBjXMCjb08////xkX8AuhzQQAAvwAIAACN + dYToSykAAIpDSjxDdQWLRdjrGTxJdQWLQ1LrEDxOD4WAAAAA3UNW6JTTAACNjTz///9RaJy6ARBQ/3Mu + /xXYsAIQhcB1JVBQ/xVYsAIQaMDQAhCL+OgTmQAAx0XsTmG8AGg4/QIQjUXs60gPt41F////agVa6Mlb + /v+NdbTokTsAAI11hOiJOwAAjbU8////6LYaAACLTfRfXmSJDQAAAABbycPHReiFAwAAaDj9AhCNRehQ + 6O3VAACLTeTo4ZcAALjJuwEQw1aLdCQQagGLxuhgQAAAZvdEJA7//3QZU/90JBCNXkjo4DgAAIvQi87o + 8y4AAFvrDA+3RCQMi87o6xgAADPAQF7CDAC4pKQCEOhQ1gAAgeyEAAAAg2X8AIMNUFADEP9TVleNhXD/ + //+JZfCL2eijU/7/agBqAY1zAo29cP///8ZF/AHoH0AAAL8AAgAAjXW46PcnAACNhXD///9QaPu7ARD/ + cy7/FcSwAhCFwHUpUFD/FViwAhBo1NACEIv46OWXAABoOP0CEI1F7FDHRexOYbwA6AnVAAAPt415//// + agVa6Jda/v+NdbjoXzoAAI21cP///+iMGQAAi030X15kiQ0AAAAAW8nDi03o6MyWAAC487wBEMO4uaQC + EOh+1QAAgeyAAAAAg2X8AIMNUFADEP+APXBABRAAU1ZXiWXwi9l1FMdF7PICAABoOP0CEI1F7OmBAQAA + agZqAY1zAo29dP///+i5LwAAxkX8Af9zUo1FvP9zLsdFvCQAAABQ/xVYQAUQM/87x3VR/xVYsAIQg/gS + dSRqCzPJWujfWf7/jbV0////6NwYAACLTfRfXmSJDQAAAABbycNXV2g00gIQi/jo4ZYAAMdF6E5hvABo + OP0CEI1F6On9AAAAagGNhXT////oiD4AAIvwi0W8jY10////Zom1ff///2bHhX////8BAOghFwAAi0XA + jY10////Zom1ff///2bHhX////8CAOgDFwAAi0XEjY10////Zom1ff///2bHhX////8DAOjlFgAAi0XI + jY10////Zom1ff///2bHhX////8EAOjHFgAAi0XMjY10////Zom1ff///2bHhX////8FAOipFgAAi0XQ + jY10////Zom1ff///2bHhX////8GAOiLFgAAjUW8UP8VXEAFEDvHD4Ur/////xVYsAIQg/gSdCNXV2go + 0gIQi/jo35UAAMdF5E5hvABoOP0CEI1F5FDoA9MAAA+3jX3///9qBemt/v//i03g6OmUAAC4o70BEMO4 + 06QCEOib0wAAg+x0g2X8AIMNUFADEP+APW9ABRAAU1ZXiWXwi9l1FMdF7PICAABoOP0CEI1F7OkwAQAA + agJqAY1zAo19gOjcLQAAg03o/8ZF/AKLWy5TagHHRcgQAAAA/xU0QAUQi/CD/v+L3old6HUqagBqAP8V + WLACEGj40AIQi/joJZUAAMdF5E5hvABoOP0CEI1F5OnQAAAAjUXIUFb/FVBABRAz/zvHdVL/FViwAhCD + +BJ1KGoLWjPJ6MFX/v9W/xWIsAIQjXWA6LoWAACLTfRfXmSJDQAAAABbycNXV2jo0AIQi/jov5QAAMdF + 4E5hvABoOP0CEI1F4OttagGNRYDobDwAAIvwi0XQjU2AZol1iWbHRYsBAOjIFAAAi0XUjU2AZol1iWbH + RYsCAOizFAAAjUXIUFP/FVRABRA7x3W7/xVYsAIQg/gSdCNXV2hA0gIQi/joUJQAAMdF3E5hvABoOP0C + EI1F3FDodNEAAA+3TYlqBVroBVf+/4P7/w+EQv///1PpNv///4tN2OhNkwAAuMW/ARDDuPikAhDo/9EA + AIHsvAIAAINl/ACDDVBQAxD/U1ZXiWXwi9lqBWoBjXMCjX2U6FosAAC/BgEAAI21YP///8ZF/AHoNzcA + AINN4P/GRfwDgD1uQAUQAItbLnUUx0Xo8gIAAGg4/QIQjUXo6ZcBAABTagjHhTj9//8oAgAA/xU0QAUQ + i/CD/v+L/ol94HUqagBqAP8VWLACEGj40AIQi/job5MAAMdF3E5hvABoOP0CEI1F3OlOAQAAjYU4/f// + UFb/FUhABRCFwHVi/xVYsAIQg/gSdTNqC1ozyegKVv7/Vv8ViLACEI21YP///+jINQAAjXWU6PgUAACL + TfRfXmSJDQAAAABbycNqAGoAaHDSAhCL+Oj7kgAAx0XkTmG8AGg4/QIQjUXk6doAAABqAY1FlOilOgAA + i/CNhVj9//9QjZ1g////Zol1nWbHRZ8BAOgdMwAAi9CNTZToLykAAI2FWP7//1BmiXWdZsdFnwIA6P0y + AACL0I1NlOgPKQAAi4VU/f//jU2UZol1nWbHRZ8DAOj+EgAAi4VQ/f//jU2UZol1nWbHRZ8EAOigEgAA + i4VM/f//jU2UZol1nWbHRZ8FAOjOEgAAjYU4/f//UFf/FUxABRCFwA+FUP////8VWLACEIP4EnQlagBq + AGhg0gIQi/joHJIAAMdF7E5hvABoOP0CEI1F7FDoQM8AAA+3TZ1qBVro0VT+/4P//w+Exf7//1fpuf7/ + /4tNkOgZkQAAuIfBARDDuBWlAhDoy88AAIHsgAAAAINl/ACDDVBQAxD/U1ZXiWXwi9lqA2oBjXMCjb10 + ////6CMqAACDTez/xkX8AoA9bUAFEACLWy51FMdF6PICAABoOP0CEI1F6OlaAQAAM/9XagT/FTRABRCL + 8IP+/4l17HUoV1f/FViwAhBo+NACEIv46FiRAADHReROYbwAaDj9AhCNReTpHQEAAI1FvFBWx0W8HAAA + AP8VQEAFEDvHdVj/FViwAhCD+BJ1K2oLWjPJ6O9T/v9W/xWIsAIQjbV0////6OUSAACLTfRfXmSJDQAA + AABbycNXV2iQ0gIQi/jo6pAAAMdF4E5hvABoOP0CEI1F4OmvAAAAO990BTtdyHVpagGNhXT////oiDgA + AIvwi0XEjY10////Zom1ff///2bHhX////8BAOjbEAAAi0XIjY10////Zom1ff///2bHhX////8CAOi9 + EAAAi0XMjY10////Zom1ff///2bHhX////8DAOjlEAAAjUW8UP917P8VREAFEDvHD4V5/////xVYsAIQ + g/gSdCNXV2iA0gIQi/joNpAAAMdF3E5hvABoOP0CEI1F3FDoWs0AAA+3jX3///9qBVro6FL+/4N97P8P + hPb+////dezp6P7//4tN2OgtjwAAuJrDARDDuDqlAhDo380AAIHswAEAAIMNUFADEP+DPUhgAxACU1ZX + iWXwi9l1HYM9PGADEAR3FOgE7v//i030X15kiQ0AAAAAW8nDg2X8AIA9bEAFEAB1FMdF6PICAABoOP0C + EI1F6OmyAQAAg03g/78GAQAAjbVg////xkX8AejfMgAAagVqAY1zAo19lMZF/ALo2ycAADP2VmoCxkX8 + A/8VNEAFEIvYg/v/i/uJfeB1KFZW/xVYsAIQaMDSAhCL+OgyjwAAx0XcTmG8AGg4/QIQjUXc6UQBAACN + hTT+//9QU8eFNP7//ywBAAD/FThABRA7xnVW/xVYsAIQg/gSdSlqC1ozyejDUf7/jXWU6MMQAACNtWD/ + ///ogDEAAFP/FYiwAhDpEv///1ZWaLDSAhCL+OjAjgAAx0XkTmG8AGg4/QIQjUXk6dIAAABqAY1FlOhq + NgAAi/CNhVj+//9QjZ1g////Zol1nWbHRZ8BAOjiLgAAi9CNTZTo9CQAAIuFPP7//41NlGaJdZ1mx0Wf + AgDonQ4AAIuFTP7//41NlGaJdZ1mx0WfAwDohQ4AAIuFSP7//41NlGaJdZ1mx0WfBADosw4AAIuFUP7/ + /41NlGaJdZ1mx0WfBQDomw4AAI2FNP7//1BX/xU8QAUQhcAPhVj/////FViwAhCD+BJ0JWoAagBooNIC + EIv46OmNAADHRexOYbwAaDj9AhCNRexQ6A3LAAAPt02dagVa6J5Q/v+NdZTong8AAI21YP///+hbMAAA + g///D4Tw/f//V+nN/v//i02Q6NOMAAC45cQBEMNTVot0JBhXagGLxuhQNQAA/3QkFIv4jV5IZol+CWbH + RgsBAOjOLQAAi9CLzujhIwAAi0QkGIvOZol+CWbHRgsCAOjTDQAAXzPAXkBbwhAAuE+lAhDoNssAAIHs + gAAAAINl/ABTVleNhXT///+JZfCL2eiQSP7/agJqAY1zAo29dP///8ZF/AHoDDUAAL8ABAAAjXW86OQc + AACNhXT///9QaAnHARD/cy7/FYizAhCD+P90Cw+3jX3///9qBesEagszyVropk/+/411vOhuLwAAjbV0 + ////6JsOAACLTfRfXmSJDQAAAABbycOLTezo5kn+/7jkxwEQw1WL7FaLdQxXagGLxuhXNAAAi/hmi0Z4 + ZoXAdBJmiUYLi0UIi85miX4J6PMMAABmg356AFN0LYtGbGiAAAAAUP91CI1eSP8VVLMCEIlDBGaLRnqL + 04vOZol+CWaJRgvotyIAAGaDfnwAdC2LRmxoABAAAFD/dQiNXkj/FVizAhCJQwRmi0Z8i9OLzmaJfglm + iUYL6IMiAABmi0Z+ZoXAix04swIQdBZq8P91CGaJfglmiUYL/9OLzuhlDAAAZouGgAAAAGaFwHQWauz/ + dQhmiX4JZolGC//Ti87oQwwAAGaLhoIAAABmhcB0Fmr6/3UIZol+CWaJRgv/04vO6CEMAABmi4aEAAAA + ZoXAdBj/dQhmiX4JZolGC/8VYLMCEIvO6P0LAABmi4aGAAAAZoXAdBZq6/91CGaJfglmiUYL/9OLzujb + CwAAZouGiAAAAGaFwHQWavT/dQhmiX4JZolGC//Ti87ouQsAAI2eigAAAGaDOwB1CmaDvowAAAAAdEKN + RQxQ/3UI/xVMswIQZosLZoXJdA9miU4Li85miX4J6DkLAABmi4aMAAAAZoXAdBJmiUYLi0UMi85miX4J + 6BsLAABmi4aOAAAAZoXAW3Qd/3UIZol+CWaJRgv/FVCzAhCFwA+fwIvO6MIKAABmi4aQAAAAZoXAdB3/ + dQhmiX4JZolGC/8VaLMCEIXAD5/Ai87omQoAAGaLhpIAAABmhcB0Hf91CGaJfglmiUYL/xVkswIQhcAP + n8CLzuhwCgAAZouGlAAAAGaFwHQd/3UIZol+CWaJRgv/FfyyAhCFwA+fwIvO6EcKAAAzwF9AXl3CCAC4 + bKUCEOgfyAAAgezoAAAAg2X8AIMNUFADEP9TVovZV41zJo19qIll8Ild7Oj2LwAAjYUM////6GRF/v/G + RfwCZoM7A3Ufi0XsM9tDOVhSdBfHRdiFAwAAaDj9AhCNRdjpdAIAADPbQ4tF7ItAUjvDD4xUAgAAg/gI + D49LAgAAv4AAAACNtVT////oiBkAAFNqV2oPXovOjUWo6LYXAABTZolFhGpDi86NRajopRcAAFNmiUWG + alSLzo1FqOiUFwAAU2aJRYhqU4vOjUWo6IMXAABTZolFimpFi86NRajochcAAFNmiUWMakiLzo1FqOhh + FwAAU2aJRY5qUIvOjUWo6FAXAABTZolFkGpEi86NRajoPxcAAFNmiUWSakmLzo1FqOguFwAAU2aJRZRq + UovOjUWo6B0XAABTZolFlmpPi86NRajoDBcAAFNmiUWYalaLzo1FqOj7FgAAU2aJRZpqTovOjUWo6OoW + AABTZolFnGpNi86NRajo2RYAAFNmiUWealWLzo1FqOjIFgAAM8lmiUWgM9I71nMRD7dEVYQPv8k7yH8C + i8hC6+tmhcl1FMdF4IUDAABoOP0CEI1F4OkWAQAAD7/BUFOLXeyNcwKNvQz////oWTAAAItDUkh0bkh0 + VEhIdDmD6AQPhZ8AAAChLEAFEIXAdRTHRdzyAgAAaDj9AhCNRdzpzQAAAI2NDP///1FoAcgBEP9zdv/Q + 60CNhQz///9QaAHIARD/c3b/FSizAhDrKY2FDP///1BoAcgBEP9zdv8VMLMCEOsSjYUM////UGgByAEQ + /xVcswIQhcB1K/8VWLACEIXAdCFqAGoAaCjRAhCL+Oi1hwAAx0XoTmG8AGg4/QIQjUXo60sPt40V//// + agVa6GtK/v+NtVT////oMCoAAI21DP///+hdCQAAjXWo6B0qAACLTfRfXmSJDQAAAABbycPHReSFAwAA + aDj9AhCNReRQ6IzEAACLTaTogIYAALgqzQEQw4tEJAhqAegCLwAAi0QkBItMJAjorgcAADPAQMIIALiB + pQIQ6BTFAACB7NAAAACDZfwAgw1QUAMQ/1NWV4vZjYUk////iWXwiV3o6JhC/v/GRfwBZoM7AotDLolF + 5HUYqAF1FMdF0IUDAABoOP0CEI1F0OlfAQAAqA91FMdF1IUDAABoOP0CEI1F1OlHAQAAg+AQiUXsdB2B + ewYABAAAdhTHRdyFAwAAaDj9AhCNRdzpIgEAAIXAdCyNewKNtWz////ouhIAAGhI0QIQi97o/iUAAL8A + CAAAjXWc6EsWAACLXejrEmoAagGNcwKNvST////oTy4AAIpF5KgBdCODfewAuGWvARB1BbhczQEQjY0k + ////UVD/FVyzAhDpiQAAAKgCdCODfewAuGWvARB1BbhczQEQjY0k////UVD/c1L/FTCzAhDrYqgEdCOD + fewAuGWvARB1BbhczQEQjY0k////UVD/c1L/FSizAhDrO6gIdGqhLEAFEIXAdRHHReDyAgAAaDj9AhCN + ReDrSoN97AC5Za8BEHUFuVzNARCNlST///9SUf9zUv/QhcB1L/8VWLACEIXAdCVqAGoAaDjRAhCL+Oh+ + hQAAx0XYTmG8AGg4/QIQjUXYUOiiwgAAg33sAHQHM8lqC0HrCQ+3jS3///9qBVroI0j+/429JP///+gb + Qf7/i030X15kiQ0AAAAAW8nDi03M6GCEAAC4X88BEMNTVot0JBBqAYvG6N4sAAD/dCQMjV5I6GglAACL + 0IvO6HsbAAAzwF5AW8IIALiWpQIQ6ObCAACB7IgAAABTVjP2iXX8gw1QUAMQ/zk1MEAFEFeJZfCL2XUR + x0Xo8gIAAGg4/QIQjUXo63qNhWz////oH0D+/1ZqAY1zAo29bP///8ZF/AHonCwAAL8ABAAAjXW06HQU + AABmgzsBdQr/FSRABRCL2OsDi1sujYVs////UGh8zwEQU/8VMEAFEIXAdSlQUP8VWLACEGhQ0QIQi/jo + UYQAAMdF7E5hvABoOP0CEI1F7FDodcEAAA+3jXX///9qBVroA0f+/411tOjLJgAAjbVs////6PgFAACL + TfRfXmSJDQAAAABbycOLTeToOIMAALiH0AEQw1NWi3QkEGoBi8botisAAP90JAyNXkjoQCQAAIvQi87o + UxoAADPAXkBbwggAuKulAhDovsEAAIHsiAAAAFMz21aJXfyDDVBQAxD/OR0oQAUQV4ll8IvxdRHHRejy + AgAAaDj9AhCNRejrZo2FbP///+j3Pv7/U2oBg8YCjb1s////xkX8Aeh0KwAAvwAEAACNdbToTBMAAI2F + bP///1BopNABEP8VKEAFEDvDdSlTU/8VWLACEGhg0QIQi/joPYMAAMdF7E5hvABoOP0CEI1F7FDoYcAA + AA+3jXX///9qBVro70X+/411tOi3JQAAjbVs////6OQEAACLTfRfXmSJDQAAAABbycOLTeToJIIAALib + 0QEQw1WL7IPsEFeNfgRX/xW0sAIQg/gBiQZ0MoXAdC6D+AJ1JYuGrAAAAGvAPIlF/NtF/N1d8NsH3V34 + 3UX43A0o/AIQ3EXw6xLZ7usU2wfdXfDdRfDcDSj8AhDcNcj7AhDdnrgAAABfycNWi/CLhrAAAACFwHQH + UP8VILMCEGaLtrQAAABmhfZ0EP812IADEA+3xlD/FRSzAhBew1WL7FOLXQhXweMCU+jcTP7/i/iF/1mJ + fgR1DsdFCLYAAABoOP0CEOs4i8uL0cHpAjPA86uLyoPhA1PzquisTP7/i/iF/1mJfgh1H/92BOigTP7/ + x0UItgAAAMcEJDj9AhCNRQhQ6B+/AACLy4vRwekCM8Dzq4vKg+ED86qLRQhfiQZbXcIEAItGBIXAdAdQ + 6F9M/v9Zg34IAHQwVzP/OT52H4tGCIsMuIXJdBDodkL+/4tGCIsMuOijQf7/Rzs+cuH/dgjoKkz+/1lf + w1WL7IPsKINl3ACFwIlF/NtF/MZF2E5mx0XaCgB9BtwF+PsCEItFCN1d5ItIDI1V2OgsRv7/hcB0EYlF + CGg4/QIQjUUIUOhzvgAAycIEAFWL7IPsJIlF5ItFCItIDI1V3MZF3EnHReALAAAA6PFF/v+FwHQRiUUI + aDj9AhCNRQhQ6Di+AADJwgQAVYvsUYtIDOjMRf7/hcB0EYlF/Gg4/QIQjUX8UOgTvgAAycOLUAhryQ2N + TBHziUgMw1WL7FGLSAQz0ujvRP7/hcB0EYlF/Gg4/QIQjUX8UOjgvQAAycOLQAiFwHQHUOg7S/7/WcNV + i+xRVo1xFIvW6FRE/v+FwHQRiUX8aDj9AhCNRfxQ6Ku9AACLxl7Jw1WL7IPsJN9tCINl4ACNVdzGRdxO + 3V3oZsdF3hQA6ApE/v+FwHQRiUUMaDj9AhCNRQxQ6G+9AADJwggAVYvsg+wk3UUIjVXc3V3oxkXcTmbH + Rd4UAMdF4BAAAADozEP+/4XAdBGJRQxoOP0CEI1FDFDoMb0AAMnCCABVi+yD7CgPtsCNVdjGRdhMiUXc + 6JtD/v+FwHQRiUX8aDj9AhCNRfxQ6AC9AADJw1WL7IPsKINl3ACFwIlF/NtF/MZF2E5mx0XaCgB9BtwF + +PsCEI1V2N1d5OhVQ/7/hcB0EYlF/Gg4/QIQjUX8UOi6vAAAycNVi+yD7CiNVdjGRdhJx0XcCwAAAIlF + 4OgiQ/7/hcB0EYlF/Gg4/QIQjUX8UOiHvAAAycNVi+xR6AJD/v+FwHQRiUX8aDj9AhCNRfxQ6Ge8AADJ + w2aLTCQEZolICWaLTCQIZolIC8IIAGaLTCQEZolICcIEAFWL7IPsJI1V3MZF3DDoxkL+/4XAdBGJRQho + OP0CEI1FCFDoHbwAAN1F6ItFCN0YycIEAFWL7IPsJI1V3MZF3DDok0L+/4XAdBGJRQhoOP0CEI1FCFDo + 6rsAAN1F6ItFCNkYycIEAFWL7IPsJI1V3MZF3DDoYEL+/4XAdBGJRQhoOP0CEI1FCFDot7sAAItF5ItN + CIkBycIEAFWL7FHoNkL+/4XAdBGJRfxoOP0CEI1F/FDojbsAAMnDD7dICWoFWukcQf7/i0446OVC/v+D + yv87wnUDMsDDVovI6L9C/v8zyYXAD5/BisHDi0YQhcB0H4tAHIXAdBiLyOjkPv7/gH5EAHULi0YQi0gc + 6Qs+/v/DVYvsD78RUzPbO9BWfGaNBMCNdIHeigY8Q3U/OV4EdjrGR0QBi1YEi04cQujRPv7/ZoXAdQnH + RQi2AAAA6yiLThzoXT7+/4tOHOgHPv7/iUc4iXcQZolfA+sjOkUIdBXHRQiFAwAAaDj9AhCNRQhQ6MC6 + AACJXxCIX0SJXzhei8dbXcIEAFWL7FEPvxFTM9s70FZ8V40EwI10gd6APkN1SzleBHZGxkdEAYtWBItO + HELoTD7+/2aFwHUVaDj9AhCNRfxQx0X8tgAAAOhlugAAi04c6Mw9/v+LThzodj3+/4lHOIl3EGaJXwPr + CYlfEIhfRIlfOF6Lx1vJw1WL7FGIR0SLVgSLThxC6PQ9/v9mhcB1FWg4/QIQjUX8UMdF/LYAAADoDboA + AItOHOh0Pf7/i04c6B49/v9mg2cDAIlHOIl3EIvHycNVi+xRiwOFwFd1BYt+GOsCi/iLRhyFwHQHUOg5 + R/7/WVfoLEf+/4XAWYlGHHUVaDj9AhCNRfxQx0X8tgAAAOiruQAAi1YUi04QagDozED+/4tWHItOEGoB + V+imQP7/iQOLRhxfycNVi+yLVhSLThBqAOimQP7/i1UIi04QagNX6IBA/v87x3QbM9JCM8noZED+/4lF + CGg4/QIQjUUIUOhLuQAAAX4UXcIEAItAHIXAdAdQ6KFG/v9ZwzPAV4lBEIlBFIlBHIv5q6urqovBX8NV + i+yD7CjfbQiLUSSDZeAAagGNRdzdXehQxkXcTmbHRd4UAOixP/7/hcB0EYlFDGg4/QIQjUUMUOjiuAAA + ycIIAFWL7IPsKN1FCItRJGoB3V3ojUXcUMZF3E5mx0XeFADHReAQAAAA6G0//v+FwHQRiUUMaDj9AhCN + RQxQ6J64AADJwggAVYvsg+woi1EkD7bAiUXcagGNRdhQxkXYTOg2P/7/hcB0EYlF/Gg4/QIQjUX8UOhn + uAAAycNVi+yD7CiDZdwAhcCJRfzbRfzGRdhOZsdF2goAfQbcBfj7AhCLUSTdXeRqAY1F2FDo6j7+/4XA + dBGJRfxoOP0CEI1F/FDoG7gAAMnDVYvsg+woi1EkiUXgagGNRdhQxkXYScdF3AsAAADosT7+/4XAdBGJ + RfxoOP0CEI1F/FDo4rcAAMnDVYvsi1EkagH/dQjoij7+/4XAdBGJRQhoOP0CEI1FCFDou7cAAF3CBACJ + SCTDVYvsUeiGPv7/hcB0EYlF/Gg4/QIQjUX8UOiVtwAAycNVi+xR6Fw+/v+FwHQRiUX8aDj9AhCNRfxQ + 6HW3AADJw1WL7IPsEN0F0PsCENxRDN/g9sRBD4qCAAAA3djdQQxT3V343UX4V41F8FBRUd0cJP8V4LEC + EN1d+IPEBN1F+NwNyPsCENwFwPsCEN0cJP8VyLECEN1d+FndRfBZ3CXQ+wIQ6Ca0AABqAGiAUQEAUlDo + lLQAAN1F+Iv4i9roDLQAAGoAA/hogJaYABPaU1fodrQAAF+JBolWBFvJw90FuPsCEN1BDNrp3+D2xEQP + im3///+DJgDd2INmBADJw1WL7IPsGFNXjUXwUItFCN1ADFFR3Rwk/xXgsQIQ3V3o3UXw6KizAADdReiN + iCx9AADcDcj7AhCJRfiNBI0DAAAAmdwFwPsCEL+xOgIA9/9qBF9qBIlFCGnAsToCAJn3/7+1BQAAK8iN + BI0DAAAAmff/X2oFW2oKiUX8acC1BQAAmff/v5kAAAAryI1EiQKZ9/+L+GnAmQAAAEBAmff7K8hBZolO + BovHmVn3+YPEBN0cJI0MQMHhAiv5i00Ia8lkA8iLRfyNhAFA7f//g8cDZol+AmaJBv8VyLECEFlZ6O6y + AAAz0rkQDgAA9/FmiUYIajyLwjPSWffxagdZX1tmiUYKi0X4ZolWDEAz0vfxZoNmDgBmiVYEycIEAFWL + 7IPsEIsIi0AEPV5ayCR/X3wIgfmAqSfRd1WL0QvQdQTZ7utIU2oAaICWmABQUei9tAAAagBogFEBAFJQ + 6M+zAACJXfyJTfjfbfiJRfCJVfRb3V343UX43DXI+wIQ323w3V3w3EXw3AXQ+wIQ3V4MycNVi+xRUVNW + Vw+3eQJqDlgrx5lqDF73/g+3MWoFu5ABAAAr8I0EQI0Eh2nAmQAAAC3JAQAAmV/3/4HGwBIAAGpki/gP + t0EGA/iLxpn3+1tqBAP4i8ZpwG0BAAAD+IvGmff7K/iLxple9/4Pt1EKjYQH04L//4lF/A+3QQjbRfwP + t0kMa8A83V343UX4A8JrwDwDwYlF/ItFCNtF/F9eW91d+N1F+Nw1yPsCEN7B3VgMycIEAFWL7FFRVo11 + +Oj1/P//i0X4iQeLRfyJRwSLx17Jw1WL7IPsEFZX/3UIjXXw6I/9//+LfQyLRQylpaWlX17JwggAVovx + 6JH+//+Lxl7D/3QkBOj3/v//i0QkBMIEAN1EJATdWAzCCABVi+xRUd1BDNwd0PsCEN/g9sQBdRLdQQxR + Ud0cJP8VyLECEFlZ6yHdBbj7AhDdQQza6d/g9sREegmDJgCDZgQAycPdBdD7AhDdXfjdRfjcJdD7AhDo + 0LAAAGjJAAAAaADAaSpSUOg7sQAAiQaJVgTJw1WL7FFR3UAMU1dRUd0cJP8VyLECEFlZ6JywAACLyIHB + LH0AAI0EjQMAAACZv7E6AgD3/2oEX2oEiUX8acCxOgIAmff/v7UFAAAryI0EjQMAAACZ9/9fagVbagqJ + RfhpwLUFAACZ9/+/mQAAACvIjUSJApn3/4v4acCZAAAAQECZ9/sryEFmiU4Gi8eZWff5jQxAweECK/mL + TfxryWQDyItF+IPHA42EAUDt//9miX4CZokGM8BfZolGCGaJRgpmiUYMZolGDlvJw1WL7FFRiwiLQAQ9 + XlrIJH9IfAiB+YCpJ9F3PovRC9B1BNnu6zFqAGiAlpgAUFHo+LEAAGoAaIBRAQBSUOjqsQAAiUX4iVX8 + 32343V343UX43AXQ+wIQ3V4MycNVi+xRUVaL8FcPt34Cag5YK8eZagxZ9/kPtw5qBSvIjQRAjQSHacCZ + AAAALckBAACZX/f/gcHAEgAAamSL+A+3RgYD+IvBmb6QAQAA9/5eagQD+IvBacBtAQAAA/iLwZn3/iv4 + i8GZWff5jYQH04L//4lF/NtF/ItFCF9e3V343UX43VgMycIEAFWL7FFRVo11+OjU/f//i0X4iQeLRfyJ + RwSLx17Jw1WL7IPsEFZXjXXw6CX+//+LfQiLRQilpaWlX17JwgQAVovx6Nb+//+Lxl7D/3QkBOgk//// + i0QkBMIEAN1EJATdWAzCCACLQSSDYSQAw1WL7FFWi/BX/3Yk/xXQsQIQQI08AFfozj7+/4XAWVl1FWg4 + /QIQjUX8UMdF/LYAAADoT7EAAIt2JIvPi9HB6QKL+POli8qD4QPzpF9eycOLQCRWi/GKEIrKOhZ1GoTJ + dBKKUAGKyjpWAXUMQEBGRoTJdeIzwOsFG8CD2P8zyYXAD5TBisFew1WL7FGLThyFyXQT6Iw0/v+AfiwA + dQiLThzotjP+/4tHHIlGHItHBItOHIlGBItWBIlGKGaLRwJCZolGAuiKNP7/ZoXAi04cdRrohjP+/2g4 + /QIQjUX8UMdF/LYAAADom7AAAOgFNP7/i04c6K8z/v+JRiTGRiwAi8bJw8YAQ4tOHIlIHItOBIlIBItO + HIXJdAXoBjT+/4NmHACDZgQAg2YoAINmJADDVYvsi04chclXi/h0F+jjM/7/gH4sAHUIi04c6A0z/v+D + ZhwAg30IAHYwi1cEA1UIi08c6Owz/v9mhcB1HYtPHOjoMv7/aDj9AhCNRQhQx0UItgAAAOj9rwAAi0cc + iUYcZotHAotOHGaJRgLoVjP+/4tOHOgAM/7/iUYki38EiX4EiX4oxkYsAF9dwgQA/3QkBP9wJP8VMLIC + EPfYWRvAWUDCBABVi+xRAUYoi0YchcCLTih0L4vI6Dkz/v+LViiLThzoXTP+/2aFwHUTOEYsdQiLThzo + VDL+/4NmHADrEYtOHOsj6Dsy/v+FwIlGHHUVaDj9AhCNRfxQx0X8tgAAAOhSrwAAi8joujL+/4tOHOhk + Mv7/iUYki0YoycOLUCRWM/ZGi8LrCEA6TCQIdQFGigiEyXXyK8L32BvAI8ZewgQAVovxi0gki0AoO/B3 + AovwM8BAO/ByFYpUAf86VCQIdQb/TCQMdAdAO8Z26zPAXsIIAItGJIXAdAhQ/xXUsQIQWYvGw4tGJIXA + dAhQ/xXcsQIQWYvGw4tQJIXSdBmLSASFyXQSA8pJgDkgdPorykGJSATGBBEAw4tOJIXJdCuDfgQAdCWL + wesBQIA4IHT6O8F0F4vRK9ABVgSLVgRCUlBR/xXosQIQg8QMi8bDi1ckhdJWdDeLRwSFwHQwi8qNNBDr + AUGAOSB0+jvOdQnGAgCDZwQA6xZOgD4gdPqLxivBQDvKiUcEdQ7GRgEAi8dew4oBiAJCQTvWdfbGAgDr + 7YtOHOivMf7/i87onTP+/4NmHACDZiQAw4tIJItAKDPSVusIi/BIhfZ0BkGAOQB180JBhcB0CIA5AHQD + SOvti8Jew1aLcSSLSSiLxooQV4v5hNJ0DYvXT4XSdAZAgDgAdfOF/3QKQIoQhNJ0B0/r4YvB6wMrxkhf + XsP/diiLTiToRkT+/4lGBIvGw1ZXi3gki/KL0cHpAvOli8qD4QPzpF9ewzPAOEQkBA+VwGaJQQLCBAAz + wGaDeQIBD5TAw4PABMOJSATDVYvsUYtOHIXJdCfo4jD+/4tOHIvX6Acx/v9mhcB1NjhGLHUIi04c6P4v + /v+DZhwA6w6Lz+joL/7/hcCJRhx1FWg4/QIQjUX8UMdF/LYAAADo/6wAAItOHOhmMP7/i04c6BAw/v+J + RiSJfijJw4tAKMNVi+xRUYtNDItVCIlNDIFlDAAAAICB4f///3+DZQgAiVX4iU383234320I2eDewd1Y + DMnCCADfbCQE3VgMwggA3UQkBN1YDMIIAIlICMOJSAjDiwCKADPJOkQkBA+VwYrBwgQAiwCKADPJOkQk + BA+UwYrBwgQAVYvsg+wkD7bAiUXgi0UIiwjGRdxMZoN5Af+NVdx1B+jPMv7/6wXo5jP+/4XAdBGJRQho + OP0CEI1FCFDoLawAAMnCBABVi+yD7CTdRQiLCN1d6MZF3E5mx0XeFADHReAQAAAAZoN5Af+NVdx1B+iB + Mv7/6wXomDP+/4XAdBGJRQxoOP0CEI1FDFDo36sAAMnCCABVi+yD7CiDZdwAhcCJRfzbRfzGRdhOZsdF + 2goAfQbcBfj7AhCLRQjdXeSLCGaDeQH/jVXYdQfoJjL+/+sF6D0z/v+FwHQRiUUIaDj9AhCNRQhQ6ISr + AADJwgQAVYvsg+wkiUXki0UIiwjGRdxJZsdF3gsAZoN5Af+NVdx1B+jfMf7/6wXo9jL+/4XAdBGJRQho + OP0CEI1FCFDoPasAAMnCBABVi+xRiwhmg3kB/3UH6K0x/v/rBejEMv7/hcB0EYlF/Gg4/QIQjUX8UOgL + qwAAycOJCMPplDD+/4oJM8A6TCQED5XAwgQAigkzwDpMJAQPlMDCBACKCTPAOkwkBA+VwMIEAIoJM8A6 + TCQED5TAwgQA6Vcw/v//dCQI/3QkCOiYMP7/wggA/3QkCP90JAhqFVnohTD+/8IIAA+2yemjMP7/VYvs + UVGLRQyLTQiDZQgAiUUMgWUMAAAAgCX///9/iU34iUX83234Ud9tCFEz0tng3sHdXQjdRQjdHCRqFFno + ETD+/8nCCABVi+zfbQhRUTPS3V0I3UUI3RwkahRZ6PIv/v9dwggA2UQkBFFR3RwkahRZ6N0v/v/CBADZ + RCQEUVHdHCRqB1pqFFnoxi/+/8IEAN1EJARRUd0cJGoUWeiyL/7/wggA3UQkBFFR3RwkahBaahRZ6Jsv + /v/CCABVi+xRUYXAiUX820X8fQbcBfj7AhBR3V343UX4Ud0cJGoKM9JZ6G4v/v/Jw2oLWulGL/7/VYvs + UVGFwIlF/NtF/H0G3AX4+wIQUd1d+N1F+FHdHCRqCjPSWeg6L/7/ycNqC1rpEi/+/2oLWukKL/7/6ZMv + /v9Vi+xR6Hop/v+FwHQRiUX8aDj9AhCNRfxQ6EqpAADJw1WL7FHoZCn+/4XAdBGJRfxoOP0CEI1F/FDo + KqkAAMnDVYvsg30MHnUUVmrr/3UI/xU4swIQi/Do6uj//15d/yUMswIQVYvsg+wwU1ZXaguL8Fkz2zPA + iV3QjX3U86uNRdBQv7jOAhBX/zXYgAMQiZ6wAAAAZometAAAAP8VGLMCEGY7w2aJhrQAAAB1KqHYgAMQ + iUXkjUXQUMdF0DAAAADHRdiy6AEQiX34/xUcswIQZomGtAAAAGaLhrQAAABmO8NTdEP/NdiAAxAPt8BT + U1NTU1NoAAAAgFNQU/8VELMCEDvDiYawAAAAdAxWautQ/xU8swIQ6yRTagH/FViwAhBoKMsCEOsNagH/ + FViwAhBoGMsCEIv46PRqAADoBuj//1+Lxl5bycNVi+y4JCAAAOj6qAAAV2oIWf91CDPAxkXcMI193fOr + ZquqjYXc3///aAzPAhBQ6C1Q/v+DxAyNldzf//+NTdzolf7//4N95AB1Mv91DI2F3N////91CGj0zgIQ + UOj/T/7/g8QQjY3c3///6Er+//+66M4CEI1N3Ohd/v//i0XkUIlGBI2F3N///2jczgIQUOjMT/7/g8QM + jZXc3///jU3c6DT+//+LReSJBmvADVDo0jT+/4XAWYlGCHUMx0UItgAAAOmMAAAAM/9HOT5yeVNqDVv/ + dgSNhdzf//9XaMjOAhBQ6HlP/v+DxBCNldzf//+NTdzo4f3//4tN+OiQKv7/i0346Doq/v+LyOiALv7/ + i034iUUI6KUq/v+LTfjo1Sn+/4tNCIP5/3Qii0YIi1YEjUQY81DoQS7+/4XAdA5Hg8MNOz52jFtfycII + AMdFCCYDAABoOP0CEI1FCFDowKYAAMxVi+xR6Dwt/v+FwHQRiUX8aDj9AhCNRfxQ6KGmAADJw1WL7FHo + Ki3+/4XAdBGJRfxoOP0CEI1F/FDogaYAAMnDVYvsg+wojVXYxkXYMOgBLf7/hcB0EYlF/Gg4/QIQjUX8 + UOhYpgAAagCNRdjo9/X//8nDVYvsUVaL8GaDfgMAdRLouur//4TAdQnHRfyqAAAA6xsPt04DM9JC6Gwt + /v+D+P+JRfx1FcdF/LAAAABoOP0CEI1F/FDoA6YAAA+3TgNqAlroQy3+/4XAiQd3AzPAQDPJg/gBD5fB + iQdmg2YJAItF/EFmg2YLAGaJTgdeycNVi+yB7AABAACD+wGNhQD///92FVNX/3Y4aDDPAhBQ6OpN/v+D + xBTrElf/djhoHM8CEFDo1k3+/4PEEI2NAP///+gh/P//iX48iV5AycNVi+yD7ChTVleL8ovYi/no7un/ + /4TAdRfolf///+jg6f//hMB1OsdF/KoAAADrI4Nl3ADGRdhM6Hb///9mg2YHAI1V2IvO6Lwr/v+FwHQR + iUX8aDj9AhCNRfxQ6CGlAAAzwIP7AQ+XwGaDZgkAX0Bmg2YLAGaJRgdeW8nDM8mITkSJThCKEIgWZotQ + A2aJVgNmi1AFZolWBWaLUAFmiVYBZotAB1dmiUYHjX5Ai8ZmiU4LZolOCeh6/v//iUY8i8Zfw1WL7MZH + RAGLVgSLThxC6Hko/v9mhcB1FWg4/QIQjUUMUMdFDLYAAADokqQAAItOHOj5J/7/i04c6KMn/v+LTQiJ + RziLRQyL14l3EOju/v//i8ddwggAVYvsUYvO6PQr/v+D+P+JRhR1KGoAagBoUM8CEGhEzwIQ6HtmAABo + OP0CEI1F/FDHRfxOYbwA6C6kAADJw1WL7ItRJGoB/3UI6NYq/v+FwHQRiUUIaDj9AhCNRQhQ6AekAABd + wgQAVYvsi1EkagH/dQjorSr+/4XAdBGJRQhoOP0CEI1FCFDo3qMAAF3CBACAPk91DYN+IAB0B4vO6K4q + /v+BPdRgAxAgAwAAxgYwi866sM8CEHMFupTPAhDpYPr//1WL7IHsAAQAAIA+T3UNg34gAHQHi87ocyr+ + //91CI2FAPz//2jIzwIQUMYGMOi1S/7/g8QMjZUA/P//i87oHvr//8nCBACAOU91C4N5IAB0Bek4Kv7/ + w4vOxgYw6P/5//+LxsPGAE+LSSCJSCDDg2AkAINgIADGAE/DVYvsg+wYUzPbOF0MV4v4dCqNRfhQ/3UI + /xW8sAIQhcB1D1NT/xVYsAIQaCTQAhDrKI1F6FCNRfhQ6weNRehQ/3UI/xWwsAIQhcB1KVNT/xVYsAIQ + aAzQAhCL+OiVZQAAaDj9AhCNRQxQx0UMTmG8AOi5ogAAZjld6HY3ZoF96BAncy8Pt0X0UA+3RfJQD7dF + 8FAPt0XuUA+3RepQD7dF6FBo5M8CEFf/FeyxAhCDxCDrCla+3M8CEKVmpV5fW8nCCABVi+yD7CBTVjPb + OF0IV4v5D4SnAAAAjU34UVD/FaiwAhCFwHUPU1P/FViwAhBoPNACEOtAjUXwUI1F+FD/FbywAhCFwHUP + U1P/FViwAhBoJNACEOsfjUXgUI1F8FD/FbCwAhCFwHUpU1P/FViwAhBoDNACEIv46LhkAABoOP0CEI1F + CFDHRQhOYbwA6NyhAABmOV3gdmRmgX3gECdzXA+3RexQD7dF6lAPt0XoUA+3ReZQD7dF4lAPt0Xg6ytm + iwhmO8t2NWaB+RAncy4Pt1AMUg+3UApSD7dQCFIPt1AGD7dAAlJQD7fBUGjkzwIQV/8V7LECEIPEIOsI + vtzPAhClZqVfXlvJwgQA3UAM3CX4RAUQ3VgMw90F+EQFENxADN1YDMPdRCQExgBU3VgMwggAVovxxgZU + 6JXr//+Lxl7DVsYGVOj76///i8bDxgBU3UEM3VgMw1aL8eg67v//i8Zew/90JAToiO7//4tEJATCBADG + AETdQQzdWAzDVYvsi0UIjUgBihBAhNJ1+SvBU4vYi0YkhcBXdAdQ6Dgu/v9ZjTwbjUcCUOglLv7/hcBZ + iUYkdQnHRQi2AAAA6y9TUFP/dQhqAWoA/xW4sAIQhcB1KVBQ/xVYsAIQaFTQAhCL+OhPYwAAx0UITmG8 + AGg4/QIQjUUIUOhzoAAAi0YkZoMkBwBfi8ZbXcIEAItAJIXAdAdQ6MAt/v9Zw1WL7FZXi/oPvxE70A+M + sgAAAI0EwI10gd6KDoD5Qw+FhgAAAItGBIXAdn+LThxTjVgB6Iwj/v+NBBtQ6Hgt/v+FwFmJRySLThx1 + DuiiI/7/x0UItgAAAOtd6Bcj/v9T/3ck/3YEUGoBagD/FbiwAhCLThyL2Oh4I/7/M8A72Ft1HVBQ/xVY + sAIQaFTQAhCL+OiGYgAAx0UITmG8AOsYi04Ei1ckZokESuseOk0IdBXHRQiFAwAAaDj9AhCNRQhQ6JCf + AACDZyQAi8dfXl3CBABVi+xRVleL+g+/ETvQD4ymAAAAjQTAjXSB3oA+Qw+FlgAAAItGBIXAD4aLAAAA + i04cU41YAei5Iv7/jQQbUOilLP7/hcBZiUcki04cdQ7ozyL+/8dF/LYAAADrQ+hEIv7/U/93JP92BFBq + AWoA/xW4sAIQi04ci9jopSL+/zPAO9hbdSlQUP8VWLACEGhU0AIQi/jos2EAAMdF/E5hvABoOP0CEI1F + /FDo154AAItOBItXJGaJBErrBINnJACLx19eycNVi+xRV4v4i0YEhcAPhosAAABTjVgBjQQbUOgGLP7/ + hcBZiUckdQnHRfy2AAAA60qLThzo+CH+/4tOHOiiIf7/U/93JDPb/3YEUGoBU/8VuLACEIXAdTFTU/8V + WLACEGhU0AIQi/joHWEAAItOHOjsIf7/x0X8TmG8AGg4/QIQjUX8UOg5ngAAi04c6M8h/v+LRgSLTyRm + iRxBW+sEg2ckAIvHX8nDi0oEO0gEdAMywMNWi3IkV4t4JDPA86ZfD5TAXsNVi+xRi0UIVleLeASLQyiL + yCtLBEcrz4l9/HkJK8GL8+gm7v//i0UIi3Aki8+LeyQDewSLwcHpAvOli8iLRfyD4QPzpEgBQwRfi8Ne + ycIEAFWL7FGLRQhWV41wAYoIQITJdfkrxo14AYtDKIvIK0sEiX38K895CSvBi/Poy+3//4t1CIvPi3sk + A3sEi8HB6QLzpYvIi0X8g+ED86RIAUMEX4vDXsnCBABVi+xTVjPbOV0IV4vwdGD/dQj/FdCxAhCL+Dl+ + KFlzBejd7///O/t0RlNT/3Yo/3YkV/91CFNT/xWssAIQO8N1KVNT/xVYsAIQaFTQAhCL+OjIXwAAaDj9 + AhCNRQhQx0UITmG8AOjsnAAAiUYE6wOJXgRfi8ZeW13CBABVi+xRi0UIhcB0R41QAYoIQITJdfmLSyhW + K8JXjXgBO8+JffxzC4vHK8GL8+j37P//i3UIi8+LeySLwcHpAvOli8iLRfyD4QPzpEhfiUMEXusKi0Mk + g2MEAMYAAIvDycIEAItEJARWV4t7KDl4KHMJi/DoEO///4vGi0sEi3Mki3gkQYvRwekC86WLyoPhA/Ok + X17CBABVi+xRUVNWV4vw/3YEagBqEf8VtLICEIvYhdt1FWg4/QIQjUX8UMdF/LYAAADoE5wAAI1F+FBT + /xW8sgIQi04Ei3Yki334i8HB6QLzpYvIg+EDU/Ok/xWksgIQX16Lw1vJw1WL7FFTVleL+It3BI0ENlBq + AP8VuLICEIvYhdt1CcdF/LYAAADrL1ZTVv93JGoBagD/FbiwAhCFwHUpUFD/FViwAhBoVNACEIv46Fte + AADHRfxOYbwAaDj9AhCNRfxQ6H+bAABfXovDW8nDVYvsgewkBAAAV2oIWf92JDPAxkXcMI193fOrZqto + aNACEKqNhdz7//9oAAQAAFD/FdixAhCDxBCNldz7//+NTdzo6vH//4tOHOjIHv7/gH4sAF91CItOHOjx + Hf7/i0Xgi034SMZGLACJThyJRgSJRijocR7+/4tOHOgbHv7/iUYki8bJw1WL7ItFDI1IAYoQQITSdflT + K8FWi3UIV4vYi/sPr30QR+h57f//i00Qg/kBi8aLQCRyH4lNEIt1DIvLi9HB6QKL+POli8qD4QMDw/9N + EPOkdeRfXsZAAQCLRQhbXcIMAItOHIXJdBPoJR7+/4B+LAB1CItOHOlPHf7/w1WL7FMz2zldCIheLMYG + Qw+EggAAAFf/dQj/FbCyAhCL+I1PAYl+BIlOKOgWHf7/O8OJRhx1CcdFCLYAAADrQYvI6KEd/v+LThzo + Sx3+/1NTV1BX/3UIiUYkU1P/FaywAhCFwHUpU1P/FViwAhBogNACEIv46MZcAADHRQhOYbwAaDj9AhCN + RQhQ6OqZAACLRiSIHAdf6wyJXgSJXhyJXiiJXiSLxltdwgQAVYvsUYNmBACLz8ZGLADGBkPohRz+/4XA + iUYcdRVoOP0CEI1F/FDHRfy2AAAA6JyZAACLyOgEHf7/i04c6K4c/v+JRiSJfijGAACLxsnDVYvsUYtF + CFcz/zvHxkMsAHR2Vo1wAYoIQITJdfkrxo1wAY1OAYl1/IlLKOgdHP7/O8eJQxx1FWg4/QIQjUUIUMdF + CLYAAADoNJkAAIvI6Jwc/v+LSxzoRhz+/4lDJIvOi3UIi/iLwcHpAvOli8iLRfyD4QPzpItLJMYECABm + g2MCAIlDBF7rEIl7KGaJewKJewSJexyJeySLw1/JwgQAVYvsUVfGBkMPvzkz0jv4fHGNBMCNfIHegD9D + dWWLRwQ7wnZeO9p2JYtPHI0UGOh7HP7/ZoXAdRVoOP0CEI1F/FDHRfy2AAAA6JSYAACLTxzo+xv+/4tP + HOilG/7/iUYki0cciUYci0cEiUYEZotHAmaJRgKLRwQDw4lGKMZGLAHrE4hWLIlWKGaJVgKJVgSJVhyJ + ViSLxl/Jw1WL7FFXxgZDD785M9I7+HxsjQTAjXyB3oA/Q3Vgi0cEO8J2WYtPHI1QAejlG/7/ZoXAdRVo + OP0CEI1F/FDHRfy2AAAA6P6XAACLTxzoZRv+/4tPHOgPG/7/iUYki0cciUYci0cEiUYEZotHAmaJRgKL + RwRAiUYoxkYsAesTiFYsiVYoZolWAolWBIlWHIlWJIvGX8nDVYvsg30IAHYoi1YEA1UIi04c6Ggb/v9m + hcB1FWg4/QIQjUUIUMdFCLYAAADogZcAAItOHOjoGv7/i04c6JIa/v+JRyTGB0OLRgSJRwRmi0YCZolH + AotGHIlHHItGBANFCMZHLAGJRyiLx13CBABVi+xRi1YEi04cQugBG/7/ZoXAdRVoOP0CEI1F/FDHRfy2 + AAAA6BqXAACLThzogRr+/4tOHOgrGv7/iUckxgdDi0YEiUcEZotGAmaJRwKLRhyJRxyLRgRAiUcoxkcs + AYvHycNVi+xRVovwV8ZDLADGA0OLTigz/zvPiUsodFfojhn+/zvHiUMcdRVoOP0CEI1F/FDHRfy2AAAA + 6KWWAACLTgSJSwQzyWaDfgIBD5XBZolLAovI6KsZ/v+LSwSJQySLdiSL+IvBwekC86WLyIPhA/Ok6wmJ + eySJewSJexxfi8NeycMzycYAQ4lIBIlIKIlIHIlIJIhILMNVi+xRiwhmg3kB/3UH6L8c/v/rBejWHf7/ + hcB0EYlF/Gg4/QIQjUX8UOgdlgAAycNVi+yD7CiLRQxXjX386L3v//+L+IX/iX38dGhTVot1CFfobNb/ + /zPbhf92VYtNDI1DAWaJQQnoEdj//2oJWYvwjX3Y86WAfdhDdUCLVdyLdfRCi87ojxn+/2aFwHQ2i87o + JRn+/4vO6NAY/v+LTQiLUQSJBJqLQQiJNJhDO138cqteW4tF/F/JwggAx0UMhQMAAOsHx0UMtgAAAGg4 + /QIQjUUMUOhylQAAzFaL8GaLRCQIZgFGCVcPt34JO348dgpTi15A6IPv//9bD7dGCV9ewgQAiUI4i0Qk + BOi77///wgQAVYvsi1YEi04cQuj3GP7/ZoXAdRVoOP0CEI1FDFDHRQy2AAAA6BCVAACLThzodxj+/4tO + HOghGP7/i00IiUc4i0UMi9eJdxDobO///13CCABVi+xRi1cEgfro/QAAVovwdxCL14vO6HIc/v+FwHU0 + XsnD6Fnw//+LVhSLThBqAOjjG/7/i1cki04QagP/dwTouxv+/ztHBHTWM9JCM8nonhv+/4lF/Gg4/QIQ + jUX8UOiFlAAAzFWL7FGDYxwAVleL8Iv7paWli8uk6O0b/v+FwF+JQxRefQ7HRfwmAwAAaDj9AhDrRw+/ + SwHowxv+/4P4/4lDEHUgD79DAWoAagBocM8CEGhkzwIQ6C1aAADHRfxOYbwA68iLy+ioG/7/hcCJQxh9 + EYlF/Ghs/QIQjUX8UOgElAAAi8PJw4tJBmoLWumSGf7/VYvsg+w4U9nuVt1d1DP22e5X3V3sM8DGRchD + xkXJAGaJdcrHRcwMAAAAiXXQiXXciXXgjX3kq6szwI199KuL2YpDAohF9A++wIP4TIl1/H84dC6D6DB0 + bIPoE3QWSHReg+gFdTOLQwqJReyKQwSIRfXrUYtDBgFFzIlF7IlF/OtDi0MGiUXs6zuD+E50JIP4VHQr + g/hZdAy5hQMAAOhaE/7/6yCLQxaJReyLQxqJRfDrEopDBIhF9YpDBohF9t1DDt1d7ItNzOj2Ff7/O8aJ + ReR1Crm2AAAA6B8T/v+LTeTofxb+/4tN5OgpFv7/g338AIv4iX34jXXspaWldDGLSx7oXhb+/4tLHugI + Fv7/i038i334i/CLwcHpAoPHDPOli8iD4QPzpItLHuhkFv7/i03k6FwW/v+NTcjoSRj+/19eW8nDVYvs + g+wgU1aL8YpGAjxDdS+LVgaLTh5C6GEW/v9mhcB1Crm2AAAA6IwS/v+LTh7onhX+/+jiKf7/iUX4i9rr + JTxJdQaLRgqZ6+88TnUK3UYO6HWPAADr4bmFAwAA6FYS/v+LXfyKRiY8Q3Uqi1Yqi05CQugGFv7/ZoXA + dQq5tgAAAOgxEv7/i05C6EMV/v/ohyn+/+sqPEl1BotGLpnrIIB+Ak51Ct1GMugdjwAA6xC5hQMAAOj+ + Ef7/i1X8i0X4UlBT/3X46OyRAABSUI1F4OibKf7/jU3g6P8X/v9eW8nDVYvsg+wgU1aL8YpGAjxDdS+L + VgaLTh5C6IAV/v9mhcB1Crm2AAAA6KsR/v+LTh7ovRT+/+gBKf7/iUX4i9rrJTxJdQaLRgqZ6+88TnUK + 3UYO6JSOAADr4bmFAwAA6HUR/v+LXfyKRiY8Q3Uqi1Yqi05CQuglFf7/ZoXAdQq5tgAAAOhQEf7/i05C + 6GIU/v/opij+/+sqPEl1BotGLpnrIIB+Ak51Ct1GMug8jgAA6xC5hQMAAOgdEf7/i1X8i0X4UlBT/3X4 + 6FuQAABSUI1F4Oi6KP7/jU3g6B4X/v9eW8nDVYvsg+wgU1aL8YpGAjxDdS+LVgaLTh5C6J8U/v9mhcB1 + Crm2AAAA6MoQ/v+LTh7o3BP+/+ggKP7/iUX4i9rrJTxJdQaLRgqZ6+88TnUK3UYO6LONAADr4bmFAwAA + 6JQQ/v+LXfyKRiY8Q3Uqi1Yqi05CQuhEFP7/ZoXAdQq5tgAAAOhvEP7/i05C6IET/v/oxSf+/+sqPEl1 + BotGLpnrIIB+Ak51Ct1GMuhbjQAA6xC5hQMAAOg8EP7/i1X8i0X4U/91+FJQ6LqNAABSUI1F4OjZJ/7/ + jU3g6D0W/v9eW8nDVYvsg+wgU1aL8YpGAjxDV3Uui1YGi04eQui9E/7/ZoXAdQq5tgAAAOjoD/7/i04e + 6PoS/v/oPif+/4vYi/rrKDxJdQaLRgqZ6/A8TnUK3UYO6NKMAADr4rmFAwAA6LMP/v+LffyLXfiKRiY8 + Q3Uqi1Yqi05CQuhgE/7/ZoXAdQq5tgAAAOiLD/7/i05C6J0S/v/o4Sb+/+sqPEl1BotGLpnrIIB+Ak51 + Ct1GMuh3jAAA6xC5hQMAAOhYD/7/i1X8i0X4K9gb+ldTjUXg6Pwm/v+NTeDoYBX+/19eW8nDVYvsg+wg + U1aL8YpGAjxDdS+LVgaLTh5C6OAS/v9mhcB1Crm2AAAA6AsP/v+LTh7oHRL+/+hhJv7/iUX4i9rrJTxJ + dQaLRgqZ6+88TnUK3UYO6PSLAADr4bmFAwAA6NUO/v+LXfyKRiY8Q3Uqi1Yqi05CQuiFEv7/ZoXAdQq5 + tgAAAOiwDv7/i05C6MIR/v/oBib+/+sqPEl1BotGLpnrIIB+Ak51Ct1GMuiciwAA6xC5hQMAAOh9Dv7/ + i1X8i0X4A0X4E9NSUI1F4OggJv7/jU3g6IQU/v9eW8nDi8GLSFLB4QgDSC5qC8HhCANIClrp2RP+/7i9 + kwIQ6PCOAACD7DiDZfwAU4tZClZXiWXwaiBfjXW86En0//+LReCDwB+JfcAz9oP+H38QisuA4QGAyTCI + CEjR+0br6411vOjW3///6Ffz//+LTfRfXmSJDQAAAABbycOLTezo2g3+/7jwAwIQw7jPkwIQ6IGOAACD + 7FiDZfwAU1ZXi/lmgz8DjUcCiUXcjUcmiWXwiUXYfAqDf04AdASzAesCMttqBFiLz411nOhC9f//jUXM + UMZF/AH/FUSzAhCFwHUoUFD/FViwAhBoqM4CEIv46CpQAADHRexOYbwAaDj9AhCNRezpywAAAITbD4TJ + AAAAZoM/BHV9ikduPEl0NTxOdC2DfaAAdhOLTcAz0ujSE/7/i8jowRP+/+slx0XohQMAAGg4/QIQjUXo + 6YUAAAA8SXUFi0d26wjdR3roEooAAI1NzFFQ/xVIswIQhcB1a1BQ/xVYsAIQaJjOAhCL+OicTwAAx0Xk + TmG8AGg4/QIQjUXk60CNRcxQM8noqRP+/4vI6FQT/v9Q/xVIswIQhcB1KVBQ/xVYsAIQaJjOAhCL+Oha + TwAAx0XgTmG8AGg4/QIQjUXgUOh+jAAAjUXcUItFzOjy4P//jUXYUItF0Ojm4P//jXWc6Mvx//+LTfRf + XmSJDQAAAABbycOLTdToQ04AALh8BQIQw7jZkwIQ6PWMAACD7BSDZfwAU1aL8Y1GJolF7I1GSolF6FeN + Rm6JReSLRgqNTeyJZfC//wAAACPHUeiD4P//D7ZGC41N6FHoduD//zPAikYMjU3kUSPH6Gbg//+LTfRf + XmSJDQAAAABbycOLTeDoy00AALj0BQIQw1WL7IPsMINl/ABTVleL8TPAagjGRdAwWY190fOrZquNXgKq + igM8Uol1+HUnZoN+A/90II1F9FCNffyLw+hsPf7/g/j/dQiLTfToggv+/4t1/OslPEN1FItOHujZDv7/ + i04e6IMO/v+L8OsNuYUDAADoWwv+/4t19IpGCIhF0A++RgiD+EwPj68AAAAPhKUAAACD6DAPhO8AAACD + 6BN0I0gPhMcAAACD6AUPhZoAAACLBolF2GYPtkYJZolF0unHAAAAiw6JTdRmD7ZGCWaJRdLowQ3+/4XA + iUXsdQq5tgAAAOjqCv7/i03s6EoO/v+AO0OLTeyLRdR1EoPGDIlF9OjmDf7/i/iLRfTrE4t1/IPGDIlF + 9OjRDf7/i/iLRfSLyMHpAvOli8iD4QPzpItN7OgzDv7/61OLButMg/hOdDWD+FR0KYP4WXQXi0X4i0ge + 6BMO/v+5hQMAAOhyCv7/6ymLBolF5ItGBIlF6Osc3QbdXdzrFd0G3V3cZg+2RglmiUXSD7ZGColF1IA7 + Ul9eW3Uci0X4ZoN4A/90EoN9/AB0F/91/P8V/LECEFnrC4tF+ItIHuivDf7/jU3Q6JwP/v/Jw1WL7IPs + NFPZ7lbdXdgz9lczwMZFzEPGRc0AZol1zol10Il11Il14Il15I196KuL2asz/2aDOwKJdfyJdfh1CItD + KolF9OsDiXX0M8A5dfQPlcCDwASJRfCKQwI8Q3VRi0sGD69N8OhpDP7/O8aJReh1Crm2AAAA6JIJ/v+L + Sx7o8gz+/4tN6OjqDP7/i03o6JQM/v+LSx6L8Il18OiHDP7/i/iLQwYDx4lF+OnpAAAAPFIPhYAAAABm + g3sD/3R5jUX4UI19/I1DAugdO/7/g/j/dCo7xg+E6wAAAIt9/I0MOIlN+IvID69N8OjlC/7/O8aJReh1 + LMdF+LYAAACNdczoKS7+/4N9/AB0Cv91/P8V/LECEFmLTfjo5koAAOmsAAAAi8joTQz+/4tN6Oj3C/7/ + i/CJdfDrYbmFAwAA6MwI/v+LdfDrUooHPCByEDx+dww8XHQIPCd0BIgG6zqDffQAdATGBlxGxgZcD7YH + wegGmWoIWff5RoDCMIgWD7YHwegDmff5RoDCMIgWD7YHmff5RoDCMIgWRkc7ffhyqYB7AkN1CotLHuj5 + C/7/6wr/dfz/FfyxAhBZi03o6OUL/v8rdfCJddCNTczozA3+/19eW8nDVYvsg+w0U9nuM9vdXdhWVzPA + xkXMQ4hdzWaJXc6JXdCJXdSJXeCJXeSNfeiri/GrjUYCiggz/4D5Q4l19Ild/Ild+HVNi04G6LQK/v87 + w4lF6HUKubYAAADo3Qf+/4tOHug9C/7/i03o6DUL/v+LTejo3wr+/4td9ItLHovwiXXw6M8K/v+LUwaL + +APX6ewAAACA+VJ1eGaDfgP/dHGNTfhRjX386G45/v+D+P90JjvDD4T2AAAAi338jQw4iU34i8joOgr+ + /zvDiUXodSvHRfi2AAAAjXXM6H4s/v85Xfx0Cv91/P8V/LECEFmLTfjoPEkAAOm8AAAAi8joowr+/4tN + 6OhNCv7/i/CJdfDrDbmFAwAA6CIH/v+LdfCLVfjrXYoHPFx1U41PAYoBPDCJTfhyNzw3dzOKXwKA+zBy + K4D7N3cmik8DgPkwchuA+Td3FiwwwOADAsMsFsDgAwLBiAZGg8cE6xeLTfjGBlxGPFx1BEdH6wiL+esE + iAZGRzv6cp+LRfSAeAJDdQqLSB7oPwr+/+sK/3X8/xX8sQIQWYtN6OgrCv7/K3XwiXXQjU3M6BIM/v9f + XlvJw/90JARqAP81+D8FEP8VlLACEMIEAGoMaDD8AhDo3xb+/4F9DAEEAAB1SINl/AD/dRD/FfSxAhBZ + hcB2MotNEOhRBv7/iUXk/3UQ/xX8sQIQWYN95AB0CItN5OgiBv7/g038/zPA6x0zwEDDi2Xog038//91 + FP91EP91DP91CP8VDLMCEOiyFv7/whAAVYvsUWgMEAAA/xX4sQIQi9CF0ll0IlczwLkDBAAAi/rzq6EA + QAUQiYIIEAAAiRUAQAUQi8JfycNoOP0CEI1F/FDHRfy2AAAA6KGFAADMi0QkBItAFOsLiwg7TCQIdAqL + QBCFwHXxwggAi0AI6/hVi+xWV4s9+LECEGoU/9eL8IX2WXUOx0UItgAAAGg4/QIQ6zWLRQiDZgQAg2YQ + AINmCABoAAgAAIkG/9eFwFmJRgx1Hlb/FfyxAhDHRQi2AAAAxwQkOP0CEI1FCFDoHoUAAF+Lxl5dwgQA + ofw/BRDrF4sIO0wkBHUJikgYOkwkCHQKi4AcEAAAhcB15cIIAFWL7FFTVujQ////hcB1N2ggEAAA/xX4 + sQIQi9CF0ll0J1czwLkIBAAAi/rzq4kyiFoYofw/BRCJghwQAACJFfw/BRCLwl/Jw2g4/QIQjUX8UMdF + /LYAAADolIQAAMxVi+xRVv91CGoA/zX4PwUQ/xWQsAIQi/CF9nRJjUX8UGpA/3UIVv8VoLACEIXAdAeL + xl7JwgQAagBqAP8VWLACEGhIywIQi/joDUcAAFZqAP81+D8FEP8VlLACEMdFCE5hvADrB8dFCLYAAABo + OP0CEI1FCFDoGYQAAMxVi+yB7AABAABWizUAQAUQhfZ0R1eLvggQAABWjYUA////aNzLAhBQ6Cos/v+D + xAz/tgAQAACNlQD////oFSf+//+2BBAAAOhS/f//Vv8V/LECEIX/WYv3dbtfXsnDVYvsgewAAQAAVos1 + AEAFEDPAhfZ0bjm+BBAAAHQMi8aLtggQAACF9nXshfZ0VoXAdA6LjggQAACJiAgQAADrC4uGCBAAAKMA + QAUQVo2FAP///2jcywIQUOicK/7/g8QM/7YAEAAAjZUA////6Icm/v9X6Mn8//9W/xX8sQIQM8BZQOsC + M8BeycNVi+xq/P91CP8VOLMCEItNDDtBCHU7/3EEavz/dQj/FTyzAhCFwHUpUFD/FViwAhBo6M0CEIv4 + 6LxFAABoOP0CEI1FCFDHRQhOYbwA6OCCAABdwggAVYvsVmr8/3UI/xU4swIQi3UMO0YIdSH/dgRq/P91 + CP8VPLMCEIXAdQ9QUP8VWLACEGjozQIQ6ypWaKkOAhD/dQj/FTCzAhCFwHUzizVYsAIQ/9aFwHQnagBq + AP/WaLTNAhCL+Og6RQAAaDj9AhCNRQhQx0UITmG8AOheggAAXl3CCAD/dCQEaP4OAhD/FaSwAhBQ/xUo + swIQwgQAVYvsUVP/dgQz2zheGHUdavz/Nv8VPLMCEIXAdUxTU/8VWLACEGjozQIQ6xtq6P82/xU0swIQ + hcB1KVNT/xVYsAIQaMjNAhCL+Oi5RAAAaDj9AhCNRfxQx0X8TmG8AOjdgQAAVuh+////W8nDVot3FIX2 + dRRQ6Eb8//+JRxRew4tOEIXJdAqL8TkGdfOLxl7DUOgq/P//iUYQXsNVi+yB7AABAACLRgiFwHQGUOgV + +///i0YMhcBXiz38sQIQdARQ/9dZ/zYPtkMY/zNQjYUA////aGTOAhBQ6KIp/v+DxBT/dgSNlQD////o + kCT+/1b/11lfycNTi9hWi3MUhfZ0EFeLfhDokv///4X/i/d18l+LQwiFwHQGUOip+v//U/8V/LECEFle + W8NVi+yD7DBWV2oLWTP2Vmj//wAAM8CJddCNfdRW86v/FZywAhA7xqP4PwUQdRNWagH/FViwAhBojM4C + EOnKAAAAjUXQUL98zgIQV/812IADEP8VGLMCEGY7xmajCEAFEHUuodiAAxCJReSNRdBQx0XQMAAAAMdF + 2HULAhCJffj/FRyzAhBmO8ZmowhABRB0bYM9SGADEAJ1KYM9PGADEAV1IIsNQGADEDvOdAWD+QF1EVb/ + NdiAAxBWav1WVlZWVusSVv812IADEFZWVlZWVmgAAACAD7fAVlBW/xUQswIQO8ajBEAFEHUQVmoB/xVY + sAIQaCjLAhDrErAB6xdWagH/FViwAhBoGMsCEIv46M5CAAAywF9eycNXi3kK6D78//+LyF/p+gX+/7iK + oQIQ6KSAAACD7AxTVos1/D8FEFeJZfCF9ol17HQti4YcEAAAg2X8AIlF6Oh+/f//6wm4JBICEMOLdeyL + xuhh/v//g038/4t16OvMi030X15kiQ0AAAAAW8nDVYvsUVOL2FaNQxSLMFeF9usQiw47TQiNRhCLOHQS + i/eF/4lF/HXrM8BfXlvJwgQA6Lr9//+LRfyJODPAQOvqofw/BRCFwFe//D8FEHQhVjtEJAyNiBwQAACL + MXQKhfaL+YvGderrB+jd/f//iTdeX8IEALiUoQIQ6NV/AACD7BhTM9uJXfyDDVBQAxD/i0Eui1EKVldm + izlmg/8DiWXwiUXsdQk5WU7GRegBdQOIXej/dehS6MX5//+L8DvzdSRTU2g4zgIQaKy7AhCLwujDRAAA + x0XkTmG8AGg4/QIQjUXk6zxmg/8CfEE5Xex0PP917IvG6Aj///+FwHUpi0XsU1NoCM4CEGisuwIQ6IVE + AADHReBOYbwAaDj9AhCNReBQ6G9+AAA5XhR1C+gl/P//VugK////agszyVpB6PED/v+LTfRfXmSJDQAA + AABbycOLTdzoOUAAALiGEwIQw+ga+v//6D3+//+h+D8FEIXAdAdQ/xWYsAIQoQRABRCFwHQHUP8VILMC + EGahCEAFEGaFwHQQ/zXYgAMQD7fAUP8VFLMCEMO41qUCEOilfgAAgewMAgAAg2XsAINl/ABTVleL2Y1z + Ao29OP///4ll8Oh/5v//jXMmjb1o////xkX8Aeht5v//jXNKjb3o/v//xkX8Auhb5v//xkX8A2aDOwV1 + C4uDmgAAAIlF6OsHx0XoAQAAAIG9PP///wADAAB2FMdF1IUDAABoOP0CEI1F1OlBBQAAg33oAXQgg33o + AnQag33oBHQUx0WohQMAAGg4/QIQjUWo6RsFAADoSvf//2aDOwSL+Il97HxpjXNugD5PdWFXjYXo/f// + aNzLAhBQ6FIl/v+DxAxWjYXo/f//jZ8AEAAAUOhuIP7/hcB0EIlFoGg4/QIQjUWg6ccEAACNjej9//+L + 14oBQYgCQoTAdfZPikcBR4TAdfi+2MsCEGali33saiyNhej+///ofM3//4P4G4lF4H4Ux0WkhQMAAGg4 + /QIQjUWk6XkEAADonS8AAIO9bP///wB2JGjQywIQjYVo////6LPM//+EwHUQM9tqJENYuYzNAhDo4SwA + AItF6IPgBolF5HQNagVYucjLAhDoJy0AAOjqLgAAix1kDgUQxgNTQ8YDUUPGA1JDg33kAIkdZA4FEHRW + iw34sQIQxgNoagRDWscDABAAAAPaiR1kDgUQ6K8vAACLyuh+JwAAoWQOBRDGAD1AgyAAA8K5vMsCEKNk + DgUQ6OIvAABoyMsCEDP26BQxAACLHWQOBRCDfeAAi4Vc////i9APhMYAAACKCECEyXX5K8JPik8BR4TJ + dfiLyMHpAovy86WLyItF7IPhA/Oki/hPik8BR4TJdfiDfeQAvrjLAhBmpXR0jXABighAhMl1+YtN7MYD + aCvGQ4kDg8MEiR1kDgUQ6BgqAAC+yMsCEFbovDIAALk4HwAQ6PIuAABqDFpqBFnovSYAAFZqAOhAMgAA + i0XsjUgBihBAhNJ1+YsdZA4FECvBxgMFQ4kDg8MEiR1kDgUQ6Z0AAACLyI1xAYoRQYTSdfkrzgPBxgO4 + 69qKCECEyXX5K8JPik8BR4TJdfiLyMHpAovy86WLyIPhA/Oki33sT4pHAUeEwHX4g33kAL60ywIQZqWk + dEyLReyNcAGKCECEyXX5i03sxgNoK8ZDQIkDg8MEiR1kDgUQ6E8pAABoyMsCEOj0MQAAuTgfABDoKi4A + AGoMWmoEWej1JQAAix1kDgUQiz0wsgIQM/ZGO3XgD4+TAgAAi40M////aiBWaiyNRbTophb+/41FtOha + Fv7/aiCNVbTo4hb+/4P4AolF5A+FxwAAAGogUGogjU20jYUY////6HUW/v9qIGoBjU20aiCLwehlFv7/ + g/4Bfh7GA8ZDxgMAQ8YDLEPGA4NDxgPAQ8YDAUOJHWQOBRCNRbRorMsCEFD/14XAWVkPhNMBAACNRbRo + pMsCEFD/14XAWVkPhL4BAACNRbRomMsCEFD/14XAWVkPhJQBAACNRbRokMsCEFD/14XAWVkPhH8BAACN + RbRoiMsCEFD/14XAWVkPhGoBAACNRbRogMsCEFD/14XAWVl1JWoC6WkBAACDfeQCD45S////x0WshQMA + AGg4/QIQjUWs6S4BAACNRbRoeMsCEFD/14XAWVl1B2oD6R4BAACNRbRocMsCEFD/14XAWVl1GGoE6G0r + AACLxujMLQAAupUrABDpGwEAAI1FtGhoywIQUP/XhcBZWXVhagjoRCsAAIN95AJ1K42FGP///1D/FfCx + AhCFwFl8BYP4Bn4Xx0XchQMAAGg4/QIQjUXc6aQAAABqBliLDWQOBRDGAWhBiQGDwQSLxokNZA4FEOha + LQAAus0qABDpqQAAAI1FtGhgywIQUP/XhcBZWXVbagno0ioAAIN95AJ1KI2FGP///1D/FfCxAhCFwFl8 + BYP4EH4Ux0WwhQMAAGg4/QIQjUWw6zVqBliLDWQOBRDGAWhBiQGDwQSLxokNZA4FEOjrLAAAugsqABDr + PcdF2IUDAABoOP0CEI1F2FDoHHgAAGoF6GIqAACLxujBLAAAuqwsABDrE2oE6E0qAACLxuisLAAAujAt + ABChZA4FEP8FZA4FEGoDxgBQ6JorAACLHWQOBRBG6WT9//+DfeAAdCrGA8ZDxgMAQ8YDKUPGA4NDxgPA + Q8YDAUPGA8ZDxgMAQ8YDAEOJHWQOBRD2RegGdFjGA2hDgyMAg8MEaMjLAhCJHWQOBRDo5C4AAKFkDgUQ + iw0EQAUQxgBoQMcAAQQAAIPABKNkDgUQ6BMmAAD2RegCdAuLDQizAhDpvAEAAIsNQLMCEOmxAQAAg71s + ////AA+EjQEAAGjQywIQjYVo////6F7H//+EwA+FbwEAAGoAvozNAhBWagHoMi4AAKFkDgUQi03sxgC6 + QGoEiQhbA8O5/xEAEKNkDgUQ6JAqAABorMsCEP91jP/XhcBZWQ+EIgEAAGikywIQ/3WM/9eFwFlZD4QO + AQAAaJjLAhD/dYz/14XAWVkPhJUAAABokMsCEP91jP/XhcBZWQ+EgQAAAGiAywIQ/3WM/9eFwFlZdQVq + CFPrFGh4ywIQ/3WM/9eFwFlZdQlqCGoFVmoI6zpoaMsCEP91jP/XhcBZWXQ0aGDLAhD/dYz/14XAWVl0 + JGhwywIQ/3WM/9eFwFlZD4WuAAAAU2oFVmoA6BAtAADpngAAAGoMaglW6EwpAADpjwAAADP/V1dWahDo + 8CwAAKFkDgUQxgA8QMYATkC7WMsCEIvLo2QOBRDo7CkAAGoIagVWV+jHLAAAv2zNAhCLz+jCKQAAi8vo + xyUAAGoMaglW6A0tAAC5qy4AEOhjKQAAi8/orCUAAOsqaghT6Xf///+LHWQOBRCLRezGA7lDiQODwwSJ + HWQOBRC59REAEOgwKQAAubzLAhDodiUAAGoCWeg/IwAAM8lB6DcjAABqA1noLyMAAOhnKgAA6OskAACh + ZA4FEC3YYAMQUOjA8P//i1XsgcIEEAAAiQLoIigAAIsKhcl8CmoLWujS+v3/6yWFyYlN4NtF4H0G3AX4 + +wIQUd1dmN1FmFHdHCRqCzPSWejJ+v3/jbXo/v//6HDa//+NtWj////oZdr//421OP///+ha2v//i030 + X15kiQ0AAAAAW8nDi33shf90BegY8f//i02c6MY2AAC47RwCEMOD7EiDJCQAU1VWV2oHM8DGRCQ8AFmN + fCQ586tmq8dEJBQGAAAAqo1sJDjonCcAAGoEuKzNAhDo+SYAAGoFuKTNAhDo7SYAAGoFuJzNAhDo4SYA + AGoFuJTNAhDo1SYAAGokM9tDWLmMzQIQ6M0kAABqJFi5gM0CEOjAJAAAg3wkcACLfCRgdB//N4tEJGD/ + MA+2QBhQaFTNAhD/dwzoYhz+/4PEFOsKi0QkYItADMYAAItEJGSLyIoQQITSdfmLfwwrwYvxT4pPAUeE + yXX4i8jB6QLzpYvIg+ED9kQkbALzpL6UzQIQdD5W6DgrAAC7nM0CEFPoLSsAAGikzQIQ6CMrAABorM0C + EOgZKwAAi0QkXItIBOheIgAAiw0sswIQ6EInAADrBbuczQIQi0QkbIPgCIlEJGQPhIQAAABqAL+AzQIQ + V2oB6JsqAAChZA4FEMYAukDHAETNAhCDwAS5/xEAEKNkDgUQ6PomAABqBGoFV2oA6CsqAAChZA4FEMYA + PUCDIACDwAS/NM0CEIvPo2QOBRDoJScAAKFkDgUQxgC5QMcAHM0CEIPABLn1EQAQo2QOBRDorSYAAIvP + 6PYiAACLVCRohdJ1R4tEJGCLeAxPikcBR4TAdfi+DM0CEKWlpWiUzQIQZqXoOioAAFPoNCoAAGikzQIQ + 6CoqAABorM0CEOggKgAAi3wkFOkLAwAAaizoUA/+/4v4g/8giXwkFH4Wx0QkYIUDAABoOP0CEI1EJGTp + pAIAAIX/iXwkcA+EfgIAAItMJGhqIP90JHSNRCQgaizowA7+/41EJBjocw7+/4s9MLICEI1EJBhQU//X + hcBZWXUJxkUASenmAQAAjUQkGFBW/9eFwFlZdQnGRQBJ6egBAACNRCQYUGikzQIQ/9eFwFlZdQ7GRQBV + aKTNAhDpyQEAAI1EJBhQaKzNAhD/14XAWVl1DsZFAFVorM0CEOmpAQAAjUQkGFBo+MwCEP/XhcBZWXUJ + xkUAVel0AQAAjUQkGFBo5MwCEP/XhcBZWXUJxkUAVelyAQAAjUQkGFBo1MwCEP/XhcBZWXUwxkUAaYt0 + JBBTVkXomigAAGoFahBb6IcYAACLxuhtIAAAu5zNAhC+lM0CEOk3AQAAjUQkGFBoxMwCEP/XhcBZWXUo + xkUAaVOLfCQUV0XoWCgAALr//wAAi8/oFBsAAIvH6CkgAADp/QAAAI1EJBhQaLTMAhD/14XAWVl1MMZF + AGlWi3QkFFZF6B4oAABqBWoQW+gLGAAAi8bo8R8AAL6UzQIQu5zNAhDpuwAAAI1EJBhQaKTMAhD/14XA + WVl1BsZFAGnrZ41EJBhQaIjMAhD/14XAWVl1CcZFAHXpJf///41EJBhQaGzMAhD/14XAWVl1CcZFAHXp + TP///41EJBhQaFDMAhD/14XAWVl1CcZFAHXpa////41EJBhQaDTMAhD/14XAWVl1CsZFAHVW6Rb///+N + RCQYUGgkzAIQ/9eFwFlZdQfGRQBMU+sXjUQkGFBoFMwCEP/XhcBZWXVRxkUATFZF6KInAACLRCQQhcB1 + CsdEJBADAAAA6x2D+AN1CsdEJBABAAAA6w5I99gbwIPg/kBAiUQkEP9MJHAPhYb9//+LfCQUi0QkYItA + DOsYx0QkYIUDAABoOP0CEI1EJGRQ6ORvAABAgDgAdfrGAChAhf+Lz3QbjXQkOE6KFA7GACVAiBBAg/kB + fgTGACxASXXqR0eD/wLGACnGQAEAfjOLRCRgi0gM6FEeAACLbCRcjU0Z6EUeAAC5GToAEOgqIwAAagRb + i9fB4gKLy+jxGgAA6weLbCRcagRb9kQkbAEPhJ4AAACD/wJ+EKFkDgUQxgC5QIPFGYko6xKLRCRgi0gM + oWQOBRDGALlAiQgDw7/1EQAQi8+jZA4FEOjNIgAAM/Y5dCRkdFBTagVogM0CEFbo9CUAAKFkDgUQxgA9 + QIkwA8O+BMwCEIvOo2QOBRDo8CIAAKFkDgUQxgC5QMcA7MsCEAPDi8+jZA4FEOh8IgAAi87oxR4AAItE + JFyLUAzpsgAAAPZEJGwGD4SuAAAAagBojM0CEGoB6NAlAACD/wJ+BY1NGesHi0QkYItIDKFkDgUQxgC6 + QIkIA8O5/xEAEKNkDgUQ6CMiAAAz/zl8JGR0U1NqBWiAzQIQV+hKJQAAoWQOBRDGAD1AiTgDw74EzAIQ + i86jZA4FEOhGIgAAoWQOBRDGALlAxwDsywIQA8O59REAEKNkDgUQ6M8hAACLzugYHgAAaghTaIzNAhBX + 6PckAACLVRBqA+jfIQAAi3QkYItGCIXAdApQ6ITn//+DZggA6H0dAAChZA4FEC3YYAMQUOhS6f//iUYI + 6LwgAABfXl1bg8RIwhgAU1VX6NIgAABqBLiszQIQ6C8gAAC9pM0CEGoFi8XoISAAAGoFuJzNAhDoFSAA + AGoEuJTNAhDoCSAAAGokM9tDWLmMzQIQ6AEeAABqJFi5gM0CEOj0HQAA6BUgAAChZA4FEMYAU0DGAFFA + xgBSQFWjZA4FEOi8JAAAi87oBhwAALk6DAIQ6OsgAAChZA4FEMYAPUCDIACDwAS/cM0CEIvPo2QOBRDo + IiEAADPA6EcQAACLz+gNHQAAaJTNAhDocyQAAGiczQIQ6GkkAABV6GMkAABorM0CEOhZJAAAi04E6KIb + AACLDSyzAhDohiAAALtszQIQi8voyhwAAGoCWeiTGgAAM8lB6IsaAABqA1nogxoAAOi7IQAA6D8cAACh + ZA4FEC3YYAMQUOgU6P//iUYI6H4fAABX6GEhAABTiUYM6FghAABfXYlGEFvDVYvsUVNWi/Az2zleBA+F + qQAAADheGHVFavz/Nv8VOLMCEDvDiUYEdQ9TU/8VWLACEGj4zQIQ62joef7///92CGr8/zb/FTyzAhCF + wHVuU1P/FViwAhBo6M0CEOtDauj/Nv8VJLMCEDvDiUYEdQ9TU/8VWLACEGjYzQIQ6yPoNP7///92CGro + /zb/FTSzAhCFwHUpU1P/FViwAhBoyM0CEIv46KkuAABoOP0CEI1F/FDHRfxOYbwA6M1rAABeW8nDuPOl + AhDofWwAAIHspAEAAFOL2YtLLjPAVolF/IMNUFADEP9XiUXkiUXYi0MKjXNujX2AiWXwiU3giUXc6ETU + //9qBViLy421UP///8ZF/AHoLdP//8ZF/AKBfYQAAwAAdhTHRcCFAwAAaDj9AhCNRcDpUAEAAI1DSolF + 1IoAPE90GDwwdBTHRcyFAwAAaDj9AhCNRczpLAEAAIO9VP///wB1HYC7kgAAADB0FMdF0IUDAABoOP0C + EI1F0OkGAQAAZoM7Bnxti5u+AAAAhdt0Y4vDqAeJReh1BoPIAYlF6KgBdBioBnQUx0XEhQMAAGg4/QIQ + jUXE6csAAACoAnQYqAV0FMdFuIUDAABoOP0CEI1FuOmvAAAAqAR0IqgDdB7HRbyFAwAAaDj9AhCNRbzp + kwAAAMdF6AEAAACLReiLddyoEA+Xw4hd7+iL5f//i/iJfeTo6f3//4tF4OiW6P//i13Ui/AzwIA7T4l1 + 2A+UwFD/dej/tXT/////daRWV+iC9f//gDtPdUT/deAPtkXv/3XcUI2FUP7//2hkzgIQUOhkEv7/g8QU + U42FUP7//41eBFDogw3+/4XAdBGJRchoOP0CEI1FyFDo/WkAAItPBIXJfApqC1roi+/9/+slhcmJTdTb + RdR9BtwF+PsCEFHdXbDdRbBR3Rwkagsz0lnogu/9/421UP///+gpz///jXWA6CHP//+LTfRfXmSJDQAA + AABbycODfdgAi3XkdAr/deCLxuj+6f//hfZ0EYN+FAB1C+hD5///Vugo6v//i0206HErAAC4JigCEMNq + EGhA/AIQ6On5/f+BfQwBBAAAdTyDZfwAi3UQi87oZ+n9/4lF5Il14Fbokvb9/1mDfeQAdAiLTeToOOn9 + /4NN/P8zwOsdM8BAw4tl6INN/P//dRT/dRD/dQz/dQj/FQyzAhDoyPn9/8IQAIA9OEQFEAAPhKcAAABT + ix1wsAIQVVZXvvg+BRC9IEQFEFX/FVSxAhAz/zk+dBKLBsZADACLBot4CIsG/3AE/9NV/xVQsQIQhf90 + EGr/V/8VaLACEFf/FYiwAhCDxgSB/ng/BRB8u754PwUQVf8VVLECEDP/OT50EosGxkAYAIsGi3gIiwb/ + cAT/01X/FVCxAhCF/3QQav9X/xVosAIQV/8ViLACEIPGBIH++D8FEHy7X15dW6HwPgUQhcB0B1D/FSCz + AhBmofQ+BRBmhcB0EP812IADEA+3wFD/FRSzAhDDUVGLRCQMU1WLLQizAhBWjQSFeD8FEIswV8ZEJBMB + iUQkFLsBBAAAav9qAFZqAv8VfLACEIXAD4SRAAAAg/gBdDmD+P8Phc0AAABoAAgAAOgo9f3/i/iF/1l0 + H2r+/3QkII1GGVBX6PgP/v+DxBBqAFdT/zXwPgUQ/9X/dgz/FSiwAhC9IEQFEFX/FVSxAhD/Nos9iLAC + EP/X/3YE/9eAfhgAdAX/dgj/11box/T9/4tEJBhZVccAAAAAAP8VULECEF9eM8BdQFtZWcIEAGoB/zb/ + dhT/dhD/dgz/FQiwAhBoAAgAAOiS9P3/i/iF/1l0IWoA/3QkII1GGVBX6GIP/v+DxBBqAFdT/zXwPgUQ + /9XrBcZEJBMAgHwkEwAPhQX////pU////7jjkwIQ6LFnAACD7BRTVlcz/4vxiX38i0YKgw1QUAMQ/zvH + iWXwx0XsAQAAAA+MqgAAAIP4Hw+PoQAAALsgRAUQU/8VVLECEItGCjk8hXg/BRB0KIsEhXg/BRDGQBgA + i0YKjQSFeD8FEIsIiwD/cASLeQj/FXCwAhCJRexT/xVQsQIQM8A5Rex1JVBQ/xVYsAIQaGzKAhCL+Ogm + KQAAx0XoTmG8AGg4/QIQjUXo6z07+HQQav9X/xVosAIQV/8ViLACEGoLM8laQejM6/3/i030X15kiQ0A + AAAAW8nDx0XkhQMAAGg4/QIQjUXkUOgLZgAAi03g6P8nAAC4qysCEMO4AJQCEOixZgAAgeykAAAAU1Yz + 24ld/ItBCoMNUFADEP9XjXEmjb1Q////iWXwiU3siV3oiUXk6H3O//+LRezGRfwBi0hOiU28i0h2jbCS + AAAAjX2AiU3M6FzO///GRfwCOB04RAUQdSVTU2j8ygIQaPC6AhDouycAAMdFwE5hvABoOP0CEI1FwOng + AQAAgX2EAAQAAHYUx0XchQMAAGg4/QIQjUXc6cMBAAAz9oP+IIl17H0PORy1eD8FEHQDRuvsg/4gdSVT + U2g8ygIQaPC6AhDoXicAAMdFuE5hvABoOP0CEI1FuOmDAQAAaBwIAADoYPL9/1mNDLV4PwUQiQE5GXUU + x0XUtgAAAGg4/QIQjUXU6VcBAACLMTPAuQcCAACL/vOri0W8iUYQi0XMiUYUxkYYAf91pI1GGWgwygIQ + UIl16Oj0DP7/g8QMjX4MV2oQU/+1dP////915P8VJLACEDvDU1N0IGggygIQi/joUScAAMdFxE5hvABo + OP0CEI1FxOnnAAAAU1P/FXSwAhA7w1OJBlN1Jv8VWLACEGikygIQi/joGycAAMdF4E5hvABoOP0CEI1F + 4OmxAAAAagFT/xV0sAIQO8OJRgR1JVNT/xVYsAIQaKTKAhCL+OjjJgAAx0XYTmG8AGg4/QIQjUXY63xq + Af82/3YU/3YQ/zf/FQiwAhA7w3QfU1NoCMoCEIv46K4mAADHRdBOYbwAaDj9AhCNRdDrR41FtFBoAAAB + AP917Gi2KQIQaAAgAABT/xWMsAIQO8OJRgh1KVNT/xVYsAIQaHjKAhCL+OhlJgAAx0XITmG8AGg4/QIQ + jUXIUOiJYwAAi03sagta6Bvp/f+NdYDo48j//421UP///+jYyP//i030X15kiQ0AAAAAW8nDi3XoM9s7 + 83Q6i0YMO8N0B1D/FSiwAhCLBjvDdAdQ/xWIsAIQi0YEO8N0B1D/FYiwAhBW6Hbw/f+LRexZiRyFeD8F + EItNsOgNJQAAuG8uAhDDUYtEJAhTVYstCLMCEFaNBIX4PgUQizBXiUQkELsBBAAAav9qAFZqAv8VfLAC + EIXAD4STAAAAg/gBdEGD+P914WgACAAA6Bnw/f+L+IX/WXQr/xVYsAIQUI1GDVD/dCQgjYYSAQAAUFfo + 3Qr+/4PEFGoAV1P/NfA+BRD/1f82/xVssAIQvyBEBRBX/xVUsQIQ/3YEix2IsAIQ/9OAfgwAdAX/dgj/ + 01bose/9/4tEJBRZV8cAAAAAAP8VULECEF9eM8BdQFtZwgQA/zb/FXiwAhBoAAgAAOiI7/3/i/iF/1kP + hDv///9qAI1GDVD/dCQgjYYSAQAAUFfoTQr+/4PEFGoAV1P/NfA+BRD/1ekQ////uAqUAhDormIAAIPs + FFMz21aJXfyLcQqDDVBQAxD/O/NXiWXwx0XsAQAAAA+MmgAAAIP+Hw+PkQAAAL8gRAUQV/8VVLECEI0E + tfg+BRAz9jkwdBmLCMZBDACLCIsA/3AEi1kI/xVwsAIQiUXsV/8VULECEDl17HUlVlb/FViwAhBobMoC + EIv46DUkAADHRehOYbwAaDj9AhCNRejrPTvedBBq/1P/FWiwAhBT/xWIsAIQagszyVpB6Nvm/f+LTfRf + XmSJDQAAAABbycPHReSFAwAAaDj9AhCNReRQ6BphAACLTeDoDiMAALicMAIQw7gnlAIQ6MBhAACB7JwA + AACDZfwAg2XsAIMNUFADEP9TVleL2Y1zAo19iIll8OiWyf//xkX8AYtDKolF4ItDUo1zbo29WP///4lF + wOh4yf//xkX8AoA9OEQFEAB1J2oAagBo/MoCEGgguwIQ6NQiAADHRcxOYbwAaDj9AhCNRczpowEAAIF9 + jAQBAAB2FMdF3IUDAABoOP0CEI1F3OmGAQAAgb1c////AAQAAHYUx0XEhQMAAGg4/QIQjUXE6WYBAAAz + /zPbg/sgiV3ofQ85PJ34PgUQdAND6+yD+yB1JVdXaMTKAhBoILsCEOhVIgAAx0XUTmG8AGg4/QIQjUXU + 6SQBAABoFAkAAOhX7f3/i/A791mJdex1FMdFyLYAAABoOP0CEI1FyOn8AAAAM8C5RQIAAIv+86uJNJ34 + PgUQxkYMAf+1fP///42GEgEAAGiwygIQUOjzB/7/i0Wsg8QMjU4NihBAiBFBhNJ19jP/V1dqAVf/FXSw + AhA7x4lGBHUoV1f/FViwAhBopMoCEIv46EAiAADHReROYbwAaDj9AhCNReTpgAAAAP91wP914P91rP8V + gLACEIP4/4kGdSVXV/8VWLACEGiIygIQi/joAiIAAMdF2E5hvABoOP0CEI1F2OtFjUW8UGgAAAEAU2jP + LgIQaAAgAABX/xWMsAIQO8eJRgh1KVdX/xVYsAIQaHjKAhCL+Oi7IQAAx0XQTmG8AGg4/QIQjUXQUOjf + XgAAagtai8vocuT9/421WP///+g3xP//jXWI6C/E//+LTfRfXmSJDQAAAABbycOLdeyF9nQ1iwaD+P90 + C4XAdAdQ/xWIsAIQi0YEhcB0B1D/FYiwAhBW6Njr/f+LRehZxwSF+D4FEAAAAACLTbjoayAAALgYMwIQ + w1WL7IPsMFZXagtZM8Az9ol10I191POrjUXQUL84ywIQV/812IADEP8VGLMCEGY7xmaj9D4FEHUuodiA + AxCJReSNRdBQx0XQMAAAAMdF2GsoAhCJffj/FRyzAhBmO8Zmo/Q+BRB0dYM9SGADEAJ1KYM9PGADEAV1 + IIsNQGADEDvOdAWD+QF1EVb/NdiAAxBWav1WVlZWVusSVv812IADEFZWVlZWVmgAAACAD7fAVlBW/xUQ + swIQO8aj8D4FEHUQVmoB/xVYsAIQaCjLAhDrGrkgRAUQ6Mcl///rF1ZqAf8VWLACEGgYywIQi/joQCAA + ADLAX17Jw4N8JAQJdQqhZA4FEMYA3esPg3wkBAh1MqFkDgUQxgDZQIXJfgeD+X98CYXJfQ6D+YB+CcYA + RUCICEDrCcYARUCJCIPABKNkDgUQwgQAhcmhZA4FEHQPxgDCQGaJCEBAo2QOBRDD/wVkDgUQxgDDw4sN + ZA4FEMYB/0GD+Ad+DYP4D38Fg8D46wODwPAM0IgBQYkNZA4FEMOLDWQOBRDGAf9Bg/gHfg2D+A9/BYPA + +OsDg8DwDOCIAUGJDWQOBRDDg3wkBAehZA4FEH8FxgA76xmDfCQED38PxgBmQMYAO0CjZA4FEOsJxgA6 + /wVkDgUQwgQAg/oHfzKFyX4Hg/l/fAmFyX0Mg/mAfgehZA4FEOs+hdKhZA4FEHQFxgCB6wPGAD1AiQiD + wATraoP6D39Phcl+B4P5f3wJhcl9JIP5gH4foWQOBRDGAGZAg/oIdAXGAIPrPMYAPUBmiQiDwAPrNKFk + DgUQxgBmQIP6CHQFxgCB6wPGAD1AZokIQEDrFoP6EKFkDgUQdAXGAIDrA8YAPECICECjZA4FEMPDg3wk + BAehZA4FEH4ExgBmQMYAD0CDfCQID34FxgC26wPGALdAo2QOBRDCCADDg3wkBAehZA4FEH4ExgBmQMYA + D0CDfCQIAX8FxgC26wPGALdAhcl+B4P5f3wJhcl9CoP5gH4FiAhA6wWJCIPABKNkDgUQwggAg/oHoWQO + BRB/IsYAi0CD+Qd+DYP5D38Fg8H46wODwfCAyvjA4gMK0YgQ602D+g9TfyHGAGZAxgCLQIP5B38Ei9nr + C4P5D41Z+H4DjVnwjUr46xvGAIpAg/kHfwSL2esLg/kPjVn4fgONWfCNSvCAyfjA4QMKy4gIW0CjZA4F + EMODfCQEAXUjoWQOBRDGAMZAg/kHfg2D+Q9/BYPB+OsDg8HwiAhAiBBA61qDfCQEAnUpoWQOBRDGAGZA + xgDHQIP5B34Ng/kPfwWDwfjrA4PB8IgIQGaJEEBA6yqDfCQEBHUooWQOBRDGAMdAg/kHfg2D+Q9/BYPB + +OsDg8HwiAhAiRCDwASjZA4FEMIEAIP5B6FkDgUQfw2A6UiICECJEIPABOslg/kPfxTGAGaDwfhAgOlI + iAhAZokQQEDrDIPB8IDpUIgIQIgQQKNkDgUQw4P6B389g/gEfRtWjTRAgzy1gFADEABeD4WQAAAAUFLo + Rv7//8OhZA4FEMYAi0CFyX4Hg/l/fFKFyX1fg/mAflrrR4P6D6FkDgUQfyTGAGZAxgCLQIXJfgeD+X98 + CYXJfQqD+YB+BYPC+Oseg8L46yrGAIpAhcl+B4P5f3wJhcl9FoP5gH4Rg8LwwOIDgMpFiBBAiAhA6xGD + wvDA4gOAyoWIEECJCIPABKNkDgUQw6FkDgUQxgCNQIXSfgeD+n98CYXSfSWD+oB+IIP5B34Ng/kPfwWD + wfjrA4PB8MDhA4DJRYgIQIgQQOsgg/kHfg2D+Q9/BYPB+OsDg8HwwOEDgMmFiAhAiRCDwASjZA4FEMOD + /g+KTCQEoWQOBRB/LIP+B34ExgBmQIP7AYvWdQ7GANFAg/4HfiaNVvjrIcYAwUCD/gd+MI1W+Osrg/sB + i9Z1GMYA0ECD/gd+A41W8IDJ+MDhAwrKiAjrGcYAwECD/gd+A41W8IDJ+MDhAwrKiAhAiBhAo2QOBRDC + BACD+gehZA4FEH8ixgAzQIP5B34Ng/kPfwWDwfjrA4PB8IDK+MDiAwrRiBDrTYP6D1N/IcYAZkDGADNA + g/kHfwSL2esLg/kPjVn4fgONWfCNSvjrG8YAMkCD+Qd/BIvZ6wuD+Q+NWfh+A41Z8I1K8IDJ+MDhAwrL + iAhbQKNkDgUQw4P5B6FkDgUQfxqFyXUFxgA16wnGAIFAgMnwiAhAiRCDwATrQYP5D38ixgBmQIP5CHUF + xgA16wzGAIFAg8H4gMnwiAhAZokQQEDrGoP5EHUIxgA0QIgQ6wzGAIBAg8HwgMnwiAhAo2QOBRDDg/oH + oWQOBRB/IsYAC0CD+Qd+DYP5D38Fg8H46wODwfCAyvjA4gMK0YgQ602D+g9TfyHGAGZAxgALQIP5B38E + i9nrC4P5D41Z+H4DjVnwjUr46xvGAApAg/kHfwSL2esLg/kPjVn4fgONWfCNSvCAyfjA4QMKy4gIW0Cj + ZA4FEMOD+QehZA4FEH8ahcl1BcYADesJxgCBQIDJyIgIQIkQg8AE60GD+Q9/IsYAZkCD+Qh1BcYADesM + xgCBQIPB+IDJyIgIQGaJEEBA6xqD+RB1CMYADECIEOsMxgCAQIPB8IDJyIgIQKNkDgUQw4P6B6FkDgUQ + fyLGACNAg/kHfg2D+Q9/BYPB+OsDg8HwgMr4wOIDCtGIEOtNg/oPU38hxgBmQMYAI0CD+Qd/BIvZ6wuD + +Q+NWfh+A41Z8I1K+OsbxgAiQIP5B38Ei9nrC4P5D41Z+H4DjVnwjUrwgMn4wOEDCsuICFtAo2QOBRDD + g/kGf2CFyXUKoWQOBRDGACXrSoXSfgeD+n98CYXSfR2D+oB+GKFkDgUQxgCDQIP5B355g/kPf3GDwfjr + b6FkDgUQxgCBQIP5B34Ng/kPfwWDwfjrA4PB8IDJ4IgIQIkQg8AE61CD+Q+hZA4FEH8nxgBmQIP5CHUF + xgAl6xHGAIFAg/kHfgODwfiAyeCICEBmiRBAQOsfg/kQdQXGACTrEcYAgECD+Qd+A4PB8IDJ4IgIQIgQ + QKNkDgUQw4P5B6FkDgUQfwyAwUD/BWQOBRCICMOD+Q9/C4PB+MYAZoDBQOsJg8HwxgD+gMnAQIgIQKNk + DgUQw4P5B6FkDgUQfwyAwUj/BWQOBRCICMOD+Q9/C4PB+MYAZoDBSOsJg8HwxgD+gMnIQIgIQKNkDgUQ + w4P6B6FkDgUQfyLGAANAg/kHfg2D+Q9/BYPB+OsDg8HwgMr4wOIDCtGIEOtNg/oPU38hxgBmQMYAA0CD + +Qd/BIvZ6wuD+Q+NWfh+A41Z8I1K+OsbxgACQIP5B38Ei9nrC4P5D41Z+H4DjVnwjUrwgMn4wOEDCsuI + CFtAo2QOBRDDg/kHoWQOBRB/GoXJdQXGAAXrCcYAgUCAycCICECJEIPABOtBg/kPfyKD+Qh1BcYABesQ + xgBmQMYAgUCDwfiAycCICEBmiRBAQOsag/kQdQXGAATrDMYAgECDwfCAycCICECIEECjZA4FEMOD+Qd/ + O4XSfgeD+n98CYXSfQ+D+oB+CqFkDgUQxgCD61uFyaFkDgUQdQXGAAXrCcYAgUCAycCICECJEIPABOtG + g/kPoWQOBRB/IoP5CHUFxgAF6xDGAGZAxgCBQIPB+IDJwIgIQGaJEEBA6xqD+RB1BcYABOsMxgCAg8Hw + gMnAQIgIQIgQQKNkDgUQw4P6B6FkDgUQfyLGACtAg/kHfg2D+Q9/BYPB+OsDg8HwgMr4wOIDCtGIEOtN + g/oPU38hxgBmQMYAK0CD+Qd/BIvZ6wuD+Q+NWfh+A41Z8I1K+OsbxgAqQIP5B38Ei9nrC4P5D41Z+H4D + jVnwjUrwgMn4wOEDCsuICFtAo2QOBRDDg/kHoWQOBRB/D4XJdQXGAC3rIMYAgUDrFYP5D38dg/kIdOvG + AGZAxgCBQIPB+IDJ6IgIQIkQg8AE6wfGACxAiBBAo2QOBRDDg/kHfzuF0n4Hg/p/fAmF0n0Pg/qAfgqh + ZA4FEMYAg+tbhcmhZA4FEHUFxgAt6wnGAIFAgMnoiAhAiRCDwATrRoP5D6FkDgUQfyLGAGZAg/kIdQXG + AC3rDMYAgUCDwfiAyeiICEBmiRBAQOsag/kQdQXGACzrDMYAgIPB8IDJ6ECICECIEECjZA4FEMOD+Qd/ + EaFkDgUQgMFY/wVkDgUQiAjDg/kPfxehZA4FEMYAZoPB+ECAwViICECjZA4FEMOD+AV+aIP4CHRjg/gH + fgmD+AkPhZAAAACFyX4Hg/l/fAmFyX0xg/mAfiyNQQSFwH4Hg/h/fAmFwH0cg/iAfhehZA4FEMYA/0DG + AHWK0UCAwgSIEEDrLqFkDgUQxgD/QMYAtUCNUQSJEIPABOsphcl+B4P5f3wJhcl9F4P5gH4SoWQOBRDG + AP9AxgB1QIgIQOsSoWQOBRDGAP9AxgC1QIkIg8AEo2QOBRDDoWQOBRDGAGhAiQiDwASjZA4FEMOFyX4H + g/l/fAmFyX0Tg/mAfg6hZA4FEMYAakCICEDrDqFkDgUQxgBoQIkIg8AEo2QOBRDDg/gHiw1kDgUQfhHG + AWZBg/gPfwWDwPjrA4PA8ARQiAFBiQ1kDgUQw6FkDgUQ/wVkDgUQxgDMw1WL7FGDZfwAU1ZXiz1sUAMQ + hf98QLjwLQUQi3UIi8iKGYrTOh51GoTSdBKKWQGK0zpeAXUMQUFGRoTSdeIzyesFG8mD2f+FyXQU/0X8 + g8BEOX38fsUzwF9eW8nCBACLRfxrwEQF8C0FEOvsoXBQAxCFwHwrVle+sDYFEI14AY1GwFDoef///4XA + dAyLQECLDivBg+gEiQGDxkRPdeFfXsOhcFADEECjcFADEGvARAVwNgUQi9Ar0VOKGYgcCkGE23X2iw1k + DgUQgwVkDgUQBIlIQFvDoWxQAxBAo2xQAxBrwEQF8C0FEIvQK9FTihmIHApBhNt19osNZA4FEIlIQFvD + iw1oUAMQhclTVle/8BgFEIvZfDqLdCQQS41PFIoWisI6EXUahMB0EopGAYrQOkEBdQxGRkFBhNJ14jPJ + 6wUbyYPZ/4XJdA+Dx1SF233GM8BfXlvCBACLx+v2Vovxiw1oUAMQa8lUV4v4jYFYGQUQK8aKFogUMEaE + 0nX2gz1oUAMQAIm5RBkFEImZSBkFEHwXi7H4GAUQK/eLxpn3+yvyibFMGQUQ6wj334m5TBkFEP8FaFAD + EF9ew1ZXi/mLDWhQAxBryVSNsVgZBRAr94oXiBQ+R4TSdfaJgVQZBRCNBEDB4AKDPWhQAxAAi5B4UAMQ + i7h8UAMQi4CAUAMQiZFEGQUQiblIGQUQiYFQGQUQfBeLsfgYBRAr8ovGmff/K/KJsUwZBRDrCPfaiZFM + GQUQ/wVoUAMQX17DoWRQAxCFwHwca8BUi4hwDgUQg/kEdwNqBFmLgHgOBRCNRAj4wzPAw41I/zkNZFAD + EHwKa8BUjYAcDgUQwzPAw4sNZFADEIXJU1ZXv3AOBRCL2Xw6i3QkEEuNTxSKForCOhF1GoTAdBKKRgGK + 0DpBAXUMRkZBQYTSdeIzyesFG8mD2f+FyXQPg8dUhdt9xjPAX15bwgQAi8fr9olBEI0EQMHgAoM9ZFAD + EACLkHhQAxCJEYuQfFADEIlRBIuAgFADEIlBDHwjoWRQAxBrwFSLkHAOBRCD+gR3A2oEWouAeA4FEAPC + iUEI6wfHQQgIAAAA/wVkUAMQw4sNZFADEKDRyQIQa8lUgcHEDgUQiEEUi0QkBOiD////wgQAiw1kUAMQ + a8lUgcHEDgUQVovwjUEUK8aKFogUMEaE0nX2i0QkCOhW////XsIEAKFkDgUQ/wVkDgUQagRZagVaxgBV + 6OXx//+haFADEIXAfBNrwFSLkPgYBRBqBPfaWelj+v//w6FkDgUQLdhgAxDDiw1kDgUQVle+2GADECvO + i/iLwcHpAok9aA4FEPOli8iD4QPzpF9ew4PI/8cFZA4FENhgAxCjZFADEKNoUAMQo2xQAxCjcFADEMP/ + dCQE6GT+//+FwHQQi0gIA0wkDP90JAjoR+///8IMAOgw/v//hcB0EItICANMJAj/dCQE6Cvv///CCAD/ + dCQE6Cj+//+FwHQL/3AQi0gI6BDv///CBADo+f3//4XAdAv/cBCLSAjo+e7//8PovP3//4vI6Tnv//+h + ZA4FEMYAuECJCIPABKNkDgUQM8DpQe///4tMJATo5PH//4tEJAToL+///8IEAItMJAToz/H//4tEJATo + Qu///8IEAKFkDgUQ/wVkDgUQxgDp6cX7//+hZA4FEMYAD0DGAIRAo2QOBRDprvv//+hq/f//hcB0D/9w + EItICP90JAjoLfD//8IEAOhP/f//hcB0EItICANMJAiLRCQE6Kfx///CCADoM/3//4XAdAuLSAiLQBDp + kPH//8PoHv3//4XAdBCLUAgDVCQIi0wkBOgk8v//wggAagXoe/L//8NqBOhz8v//w2oH6Gvy///DagTo + Y/L//8Po4vz//4XAdBCLSAgDTCQIi0QkBOhF+f//wggA6Mb8//+FwHQLi0gIi0AQ6S75///D/3QkBOhM + +v//hcB0EItAQC3YYAMQAwVoDgUQ6wIzwMIEAP90JAToo/z//4XAdQXpIvv//8IEAGoFWWoEWuiS7/// + agVZ6LD4///pfv7///90JAjoyv///4XAdA//cBCLSAj/dCQI6CHv///CCAD/dCQE6Kv///+FwA+EpgAA + AItIEIP5AX8Zg/4HfwSL1usLg/4PjVb4fgONVvCA6njrSYP5A38jiw1kDgUQxgFmQYP+B38Ei9brC4P+ + D41W+H4DjVbwgOp36yeD+QV+BYP5CHVTg/4HfwSL1usLg/4PjVb4fgONVvCA6neLDWQOBRCIEYtQCEGF + 0n4Hg/p/fAmF0n0Rg/qAfgzGAUWKQAhBiAFB6wzGAYWLQAhBiQGDwQSJDWQOBRDCBAD/dCQE6PH+//+F + wA+E2gAAAItIEIP5AX8/iw1kDgUQxgHGi1AIQYXSfgeD+n98CYXSfRGD+oB+DMYBRYpACEGIAUHrDMYB + hYtACEGJAYPBBIgZQemNAAAAg/kDf0KLDWQOBRDGAWZBxgHHi1AIQYXSfgeD+n98CYXSfRGD+oB+DMYB + RYpACEGIAUHrDMYBhYtACEGJAYPBBGaJGUFB60aD+QV+BYP5CHVCiw1kDgUQxgHHi1AIQYXSfgeD+n98 + CYXSfRGD+oB+DMYBRYpACEGIAUHrDMYBhYtACEGJAYPBBIkZg8EEiQ1kDgUQwgQA/3QkCOgD/v//hcB0 + FItICANMJBCLRCQMi1QkBOjr7v//whAA/3QkCOjf/f//hcB0D4tICItAEItUJATozO7//8IIAP90JAjo + wP3//4XAdBCLUAgDVCQMi0wkBOha7///wgwA/3QkBOig/f//hcB0EItICANMJAyLRCQI6Jf2///CDAD/ + dCQE6ID9//+FwHQLi0gIi0AQ6Hz2///CBABVi+yD7DxTVldqCIvZM8BZxkXEMI19xfOrZquqjUXsUI1F + +I1zAlCJdfDoR+39/4vwhfYPhXMBAAAz/0dmOTt1BYl7LusQg3suAH0KuYUDAADoNcj9/2aDOwKLdex1 + GYtDLjvGfhI7x3UEhfZ0CrngAAAA6BPI/f9mOTt0JYN7LgB1H4X2dBuNew1mgycAZsdDCQIAZsdDCwEA + i134D6/e61AzwDv3D5/AjXsLQGaDJwBmiUMJZotDLmaJQw2LXfjrMItN8I1VxOhLzv3/i/CF9g+F1QAA + AIpFxDxOdCA8RHQcPFR0GDxZdBg8MA+FswAAAGb/Bw+3BzvDfsbrGzxZdQ6LTdiJTeiLTdyJTezrBt1F + 0N1d9IhF/2aLBw+3yDvLD4+7AAAAQGaJBw+3wOtYi03wjVXE6N3N/f+L8IX2dWuKRcQ6Rf91NYB9/1l0 + Fd1F9Nxd0N/g9sRBdSbdRdDdXfTrHotN3DlN7HwWi0XYfwU5Reh2DIlF6IlN7OsEPDB1I2b/Bw+3BzvD + fqSKRf88TnUxiEXEZsdFxhQAx0XIEAAAAOs3voUDAADrA4pFxDxDdQiLTeDon8n9/4vO6MnG/f/rJjxZ + dRGIRcSLReiJRdiLReyJRdzrCYhFxN1F9N1d0I1NxOgtzP3/X15bycNVi+yD7DxTVldqCIvZM8BZxkXE + MI19xfOrZquqjUXsUI1F+I1zAlCJdfDoWOv9/4vwhfYPhXkBAAAz/0dmOTt1BYl7LusQg3suAH0KuYUD + AADoRsb9/2aDOwKLdex1GYtDLjvGfhI7x3UEhfZ0CrngAAAA6CTG/f9mOTt0JYN7LgB1H4X2dBuNew1m + gycAZsdDCQIAZsdDCwEAi134D6/e61AzwDv3D5/AjXsLQGaDJwBmiUMJZotDLmaJQw2LXfjrMItN8I1V + xOhczP3/i/CF9g+F2wAAAIpFxDxOdCA8RHQcPFR0GDxZdBg8MA+FuQAAAGb/Bw+3BzvDfsbrGzxZdQ6L + TdiJTeiLTdyJTezrBt1F0N1d9IhF/2aLBw+3yDvLD4+2AAAAQGaJBw+3wOtYi03wjVXE6O7L/f+L8IX2 + dXGKRcQ6Rf91NYB9/1l0Fd1F9Nxd0N/g9sQFeibdRdDdXfTrHotN3DlN7H8Wi0XYfAU5RehzDIlF6IlN + 7OsEPDB1KWb/Bw+3BzvDfqSKRf88TnU3iEXEZsdFxhQAx0XIEAAAAN1F9N1d0OsyvoUDAADrA4pFxDxD + dQiLTeDoqsf9/4vO6NTE/f/rGzxZiEXEddKLReiJRdiLReyJRdyNTcToQ8r9/19eW8nDVYvsg+xAU1ZX + agiL2TPAWcZFwDCNfcHzq2arqo1F8FCNRfiNcwJQiXX06G7p/f+L8IX2D4VqAQAAM/9HZjk7dQWJey7r + EIN7LgB9CrmFAwAA6FzE/f9mgzsCi3XwdRmLQy47xn4SO8d1BIX2dAq54AAAAOg6xP3/Zjk7dCiDey4A + dSKF9nQejXsNZoMnAGbHQwkCAGbHQwsBAItd+A+v3old+OtIM8A79w+fwI17C0BmgycAZolDCWaLQy5m + iUMNi1346yiLTfSNVcDob8r9/4vwhfYPhckAAACKRcA8TnQYPFl0FDwwD4WxAAAAZv8HD7cHO8N+zusb + PE6IRf91CN1FzN1d5OsMi0XUiUXsi0XYiUXwZosHD7fIO8t+DY1NwOgYyf3/6akAAABAZokHD7fA60KL + TfSNVcDoAMr9/4vwhfZ1XopF/zhFwHUdPE51C91FzNxF5N1d5OsUi0XUAUXsi0XYEUXw6waAfcAwdS5m + /wcPtwc7w366gH3/TnU620X4UVHdXezdReTcdezdHCRqEFpqFFnoysj9/+s2voUDAACAfcBDdQiLTdzo + 0MX9/4vO6PrC/f/rGovDmVJQ/3Xw/3Xs6DdCAABSUGoVWei4yP3/X15bycNVi+yD7DxTVldqCIvZM8BZ + xkXEMI19xfOrZquqjUXsUI1F+I1zAlCJdfDolef9/4vwhfYPhV4BAAAz/0dmOTt1BYl7LusQg3suAH0K + uYUDAADog8L9/2aDOwKLdex1GYtDLjvGfhI7x3UEhfZ0CrngAAAA6GHC/f9mOTt0JYN7LgB1H4X2dBuN + ew1mgycAZsdDCQIAZsdDCwEAi134D6/e60gzwDv3D5/AjXsLQGaDJwBmiUMJZotDLmaJQw2LXfjrKItN + 8I1VxOiZyP3/i/CF9g+FwAAAAIpFxDxOdBg8WXQUPDAPhagAAABm/wcPtwc7w37O6xs8TohF/3UI3UXQ + 3V306wyLRdiJReiLRdyJRexmiwcPt8g7y34NjU3E6ELH/f/plAAAAEBmiQcPt8DrQotN8I1VxOgqyP3/ + i/CF9nVVikX/OEXEdR08TnUL3UXQ3EX03V306xSLRdgBReiLRdwRRezrBoB9xDB1JWb/Bw+3BzvDfrqA + ff9OdTHdRfRRUd0cJGoQWmoUWej9xv3/6yq+hQMAAIB9xEN1CItN4OgDxP3/i87oLcH9/+sO/3Xs/3Xo + ahVZ6PfG/f9fXlvJw7hPlAIQ6MVBAACB7MQAAACDZfwAU4vZi0NShcBWV4ll8IlF6H8VaDj9AhCNRdxQ + x0XchQMAAOjWQAAAg3sqAHUZagtaM8noY8b9/4tN9F9eZIkNAAAAAFvJw41zArABjb1g////6G2G//+N + cyaNvTD////GRfwB6FGp//+LfeiNdajGRfwC6Lim///GRfwDi4VU////iUXsi4U0////M9L39zPJi/KF + 9g+VwTPbQ4lF4I2VYP///4l15APIi8PozZr//ztd4H84i03oi33Mi3Xsi8HB6QLzpYvIg+ED86SNVaiN + jWD///9miZ1p////6F6Z//+LRegBReyLdeRD68OF9nQvi33Mi86LwcHpAol1rIt17POli8iD4QPzpEON + VaiNjWD///9miZ1p////6B+Z//8Pt41p////agVa6GzF/f+NdajoNKX//421MP///+gppf//jbVg//// + 6FaE///p5v7//4tN2Oirv/3/uBRRAhDDuP2SAhDoUkAAAIPsHINl/ABTVovxi0YKSFeJZfAPhMYAAABI + D4SgAAAASHRQSHQUx0XshQMAAGg4/QIQjUXs6boAAABmgz4CdSqAfiZMdBTHReiFAwAAaDj9AhCNRejp + mgAAADPJQTlOKg+UwKJUUAMQ60MPtg1UUAMQ6zpmgz4CdTuKRiY8SXQVPE50EcdF5IUDAABoOP0CEI1F + 5Otf/3Yu/xVcsAIQM8mFwHQJi0Yuo+RCBRBB6OzE/f/rYqHkQgUQ6C2V///rVmaDPgJ1EcdF4IUDAABo + OP0CEI1F4Osdiw3gQgUQ6y9mgz4CdSPHRdyFAwAAaDj9AhCNRdxQ6Jo+AACLTdjomb79/7hcUwIQw4sN + 2IADEGoLWugbxP3/i030X15kiQ0AAAAAW8nDVYvsg+wkVldqCMZF3DBZM8CNfd3zq2araPzJAhCq/xVg + sAIQizVksAIQvzhgAxBXo9iAAxDHBThgAxCcAAAA/9aFwHUNV8cFOGADEJQAAAD/1rrsyQIQjU3c6DW+ + /f+LReRfo9RgAxBeycOFyXQNgflOYbwAdAXo+r39/4A9VFADEAB0F4sNUFADEGnJkBAAAIHBaIEDEOnk + vf3/agtag8n/6WXD/f+DfCQMAHQNoVBQAxCD+Bh0e0DrAjPAo1BQAxBpwJAQAABWizUMsgIQV8eA4IAD + EAEAAABogAAAAP90JBDHgOSAAxBhHgAAjYDogAMQUP/WoVBQAxBpwJAQAABoABAAAP90JCC/aIEDEAPH + UP/Wg8QYg3wkGAB0E4sNUFADEGnJkBAAAAPP6E+9/f9fXsIQAFMz2zlcJAx0DaFQUAMQg/gYdHlA6wIz + wKNQUAMQacCQEAAAVseA4IADEAEAAABogAAAAP90JBCJuOSAAxCNgOiAAxBQ/xUMsgIQiw1QUAMQacmQ + EAAAg8QMU7gAEAAAUL5ogQMQA85RU1dTUP8VVLACEDlcJBR0E4sNUFADEGnJkBAAAAPO6L+8/f9eW8IM + ALhslAIQ6F09AACB7KgAAACDZfwAoVBQAxCD+P9TVleJZfB1GWoLWjPJ6BjC/f+LTfRfXmSJDQAAAABb + ycNqBEBQjXECjX2g6J6X//+/ABAAAI21cP///8ZF/AHoe6L//8ZF/AJqCDPAxoVM////MFmNvU3////z + q2arqjP/IX3si3XsOzVQUAMQD4emAAAAafaQEAAAi4bkgAMQR41NoGaJfalmx0WrAQDo/X7//42G6IAD + EFCNnXD///9miX2pZsdFqwIA6ASf//+L0I1NoOgWlf//jYZogQMQUGaJfalmx0WrAwDo5J7//4vQjU2g + 6PaU//+DvuCAAxACZsdFqwQAZol9qXUYjYZokQMQUOi7nv//i9CNTaDozZT//+sOjZVM////jU2g6Pd+ + ////RezpS////w+3TalqBVroBcH9/421cP///+jKoP//jXWg6Pp////p1f7//4tN6OhPu/3/uF9VAhDD + uH6UAhDo9jsAAIPsSFNWVzPAvwAQAACNdayJZfCL2YlF/IlF7Il95IlF6OhEof//xkX8AWaLA2Y9AgB1 + CItDLolF7OsZZj0DAHUTi0MuiUXsi0NSiUXox0XkABgAAGoA/3XU/3XQ/3Xs/3MK/3Xo/3Xk/xVUsAIQ + hcCJRbB2HI11rOiijP//6COg//+LTfRfXmSJDQAAAABbycNoOP0CEI1F4FDHReBOYbwA6JI6AACLTdyB + +U5hvAB1GGoBagD/FViwAhBo3MkCEIv46Dj9///rBehxuv3/uCRXAhDDoVBQAxCD+Bh0WECjUFADEGnA + kBAAAMeA4IADEAEAAACDoOSAAxAAaIAAAAD/dCQIjYDogAMQUP8VDLICEKFQUAMQ/3QkHGnAkBAAAP90 + JBwFaIEDEP90JBxQ6ETi/f+DxBzCEACDfCQMAFaL8HQNoVBQAxCD+Bh0cEDrAjPAo1BQAxBpwJAQAADH + gOCAAxABAAAAaIAAAAD/dCQMibDkgAMQjYDogAMQUP8VDLICEKFQUAMQacCQEAAAVv90JBy+aIEDEAPG + UOjX4f3/g8QYg3wkFAB0E4sNUFADEGnJkBAAAAPO6Iy5/f9ewhAA6G/e/v/oadD//+jiVv//6Cy7///o + PMr9/+j7Cf//gz1IYAMQAXUH6DSo/v/rBeivqv7/6EMW/v/oD/f+/+n57v3/oWAOBRCDDVBQAxD/U4tZ + CvfQI9j2wwFWdBDoNfP+/4TAdAeDDWAOBRAB9sMEdBDomNr//4TAdAeDDWAOBRAE9sMCdBDovlb//4TA + dAeDDWAOBRAC9sMIdBDonRT//4TAdAeDDWAOBRAI9sMQdBDoMsr9/4TAdAeDDWAOBRAQ9sMgdBDoVKT+ + /4TAdAeDDWAOBRAg9sNAdBDoORoAAITAdAeDDWAOBRBAhNt5IIM9SGADEAF1B+h1p/7/6wXo/qn+/4TA + dAeADWAOBRCAvgABAACF3nQP6EO3//+EwHQGCTVgDgUQvgACAACF3nQP6OT+/f+EwHQGCTVgDgUQvgAE + AACF3nQP6CUDAACEwHQGCTVgDgUQvgAIAACF3nQP6CgV/v+EwHQGCTVgDgUQvgAQAACF3nQP6PH1/v+E + wHQGCTVgDgUQvgAgAACF3nQP6LTt/f+EwHQGCTVgDgUQgz1QUAMQ/14PlMAPtshb6c+9/f9RU4tYClWL + aC5WM/ZmgzgCV4l0JBB0A4twUlb/FXCzAhCL+IX/dBlVU1f/FTCwAhCF9olEJBB0CFdW/xV0swIQi0Qk + EF9eXVuDxATpmI3//7gHkwIQ6Ck4AACD7GxTVjP2V4l1/GaDOQKLeQqJZfB1BYtJLusCM8k7znQ7jUXA + UFH/FWyzAhCFwA+FagEAAFZW/xVYsAIQaID6AhCL+Ojp+f//x0XsTmG8AGg4/QIQjUXs6eUBAABX/xVg + swIQO8Z0O41NwFFQ/xVsswIQhcAPhSQBAABWVv8VWLACEGiA+gIQi/joo/n//8dF6E5hvABoOP0CEI1F + 6OmfAQAAalD/FYSzAhCD+AF/PlaNRcBQVmow/xWAswIQhcAPhdkAAABWVv8VWLACEGho+gIQi/joWPn/ + /8dF5E5hvABoOP0CEI1F5OlUAQAAoRBEBRA7xnUUx0Xg8gIAAGg4/QIQjUXg6TcBAABqAlf/0I1NiFFQ + x0WIKAAAAP8VGEQFEDvGdWGDPUhgAxACdTOhPGADEIP4BHYTg/gFdSShQGADEDvGdAWD+AF1FlZW/xVY + sAIQaFj6AhCL+OjS+P//6xFWVmhQzwIQaFj6AhDoMPj//8dF3E5hvABoOP0CEI1F3Om7AAAAi0WciUXA + i0WkiUXIi0WgiUXEi0WoiUXMjUWwUFf/FWyzAhCFwHUlVlb/FViwAhBogPoCEIv46HD4///HRdhOYbwA + aDj9AhCNRdjrb4tFuCtFsItNyJkrwovYi0XAA8GZK8KLyItFvCtFtNH7mSvCi1XE0fkry4vYi0XMA8KZ + ahVWK8JW0fjR+yvDUFFWV/8VfLMCEIXAdTdWVv8VWLACEGhI+gIQi/jo//f//8dF1E5hvABoOP0CEI1F + 1FDoIzUAAItN0OgX9///uMVcAhDDi030X15kiQ0AAAAAW8nDV2jw0QIQ/xVgsAIQi/iF/3QzVos10LAC + EGjI+gIQV//WaLT6AhBXoxBEBRD/1mik+gIQV6MURAUQ/9ZeoxhEBRCwAV/DagBqAf8VWLACEGj80QIQ + i/jocvf//zLAX8O4rZQCEOhbNQAAg+xkU1ZXiWXwagEz22oEjXECjX2QiV386MGP//9TjUXYUFNqMMZF + /AH/FYCzAhCFwHUpU1P/FViwAhBoaPoCEIv46B33//9oOP0CEI1F7FDHRexOYbwA6EE0AACLRdiNTZBm + x0WZAQDoeHf//4tF4I1NkGbHRZkCAOhnd///i0XcjU2QZsdFmQMA6FZ3//+LReSNTZBmx0WZBADoRXf/ + /2oLM8laQeiPuf3/jXWQ6I94//+LTfRfXmSJDQAAAABbycOLTejoz/X//7jwXQIQw7i/lAIQ6IE0AACD + 7GSDZfwAU1ZXiWXwi9lqAWoEjXMmjX2Q6OaO//+NRdhQxkX8Af9zCv8VbLMCEIXAdSlQUP8VWLACEGiA + +gIQi/joQ/b//2g4/QIQjUXsUMdF7E5hvADoZzMAAItF2I1NkGbHRZkBAOiedv//i0XgjU2QZsdFmQIA + 6I12//+LRdyNTZBmx0WZAwDofHb//4tF5I1NkGbHRZkEAOhrdv//agszyVpB6LW4/f+NdZDotXf//4tN + 9F9eZIkNAAAAAFvJw4tN6Oj19P//uMpeAhDDuNGUAhDopzMAAIPsSFMz24ld/IMNUFADEP9WV4ll8MZF + rEOJXbCJXdSJXciJXdCIXdiNRexQaOgDAABqAVNTxkX8AYtJCmoOUYlN5P8VeLMCEDvDdUX/FViwAhA7 + w3UcjXWs6HKE///o85f//4tN9F9eZIkNAAAAAFvJw1NTaJD6AhCL+Ogw9f//x0XoTmG8AGg4/QIQjUXo + 61aDRewCi33sjXWs6PWE//+NRexQaOgDAABqAf910P917GoN/3Xk/xV4swIQO8N1Lf8VWLACEDvDdCNT + U2iQ+gIQi/jo2PT//8dF4E5hvABoOP0CEI1F4FDo/DEAAItF7IlFsOle////i03c6OXz//+4VF8CEMP/ + cQqDDVBQAxD//xUosAIQhcB0GVdqAGoAaIj2AhCL+OiF9P//M8lf6bLz///DuBuWAhDoaTIAAIHs9AAA + AFNWM9tXiV2kxkWoAYld/MaFdP///0OJnXj///+JXZyJXZCJXZiIXaCJnXD////GhUz///9PiZ1s//// + 2e7dnTT////GhQT///9ExoUo////VIld3Ild4Ild5IldzIld0Ild1IldwIldxIldyItFCFNqCf91DI11 + pMZF/AXoMP3+/1NTjUXYUI1FtFCNRbxQU1ONXewzyY116I1FpOgU/P7/g320AHYOi33YjbV0////6JyD + //+LRZiJRfCLReg7Rex3A4tF7FCNXdzoSvf+/4N9vAB2H4tFDI1QAYoIQITJdfmLTegrwo1ECAFQjV3A + 6CX3/v//deCNXczoGvf+/4t9EDPbOV20D4ZqAQAA/3WYjUXsUP913I1NuI1d2I1FpOhn+v7/hMAPhEgB + AACLReyJReSNRdyNXczo8f3+/4vD6E3+/v+LRbiD+AyLdcwPh4kAAAB0doXAD4bnAAAAg/gDdj6D+AR0 + JYP4B3Q0g/gLD4XPAAAAi0XwiXck/3AEi8//MOj+dv//6bgAAACLRfCJdySLAIvP6KR3///ppAAAADPJ + g/gDi0XYD5TBiYV4////jYV0////UIl3JGaJjXb///+Lz+jYi///63mLRfCJdySLAIvP6LF3///raIPo + DXRPSHQ5SHQYSHVai0XwiXckgzgAi88Pl8DoDXf//+tFi0Xw3QCNhSj////dnTT///9Qi8+JdyToqXf/ + /+sni0Xw3QCNhQT////dnRD////r4ItF8FGJdyTdAFGLz90cJOiCdv//i0Xg/3WYiUXsi0WciUXYjUXs + UP913I1NuI1d2I1FpOix+P7/hMAPhbz+//8z2+sFM9uLdcw5XbwPhqgAAABTU1ONRehQ/3XcjUWk6MT5 + /v+EwA+EjgAAAItF6IlF5I1F3I1dzOiB/P7/i8Po3fz+/421TP///+gLi///i3XMjYVM////UIvPiXck + 6KWK////dQyNXcDodfT+/2iE9gIQi8Poofv+//913IvD6Jf7/v+NhUz///9Q/3XA/3UI6On8//+LReCJ + RegzwFBQUI1F6FD/ddyNRaTo2vj+/4TAD4V0////M9s5XcB0Cf91wOjXu/3/WTvzdAdW6My7/f9ZOV3c + dAn/ddzovrv9/1mNjUz////o5or//421dP///+iqk///OV2kdA44Xah0Cf91pP8VKLACEItN9F9eZIkN + AAAAAFvJwgwAuDWWAhDozS4AAIPsZINl/ACDDVBQAxD/U1aL2YtDCleNcyaNfZCJZfCJRezopJb//4tD + asZFwE+JReCNRcBQxkX8Av91tP917OgW/P//agszyVpB6F2z/f+NTcDoVor//4v36B6T//+LTfRfXmSJ + DQAAAABbycOLTejolu///7gpZAIQw7htlgIQ6EguAACB7AwBAABTVjPbiV38i0EKgw1QUAMQ/1eNcSaN + vej+//+JZfCJTcCJRZToF5b//4tFwItAasZFmE+JRbiJXcjGRcwBxoVk////Q4mdaP///4ldjIldgIld + iIhdkIld5Ild6Ild7Nnui0WUU8ZF/AXdnUj///9qAf+1DP///411yMaFGP///0TGhTz///9U6AP5/v9T + U41F4FCNRcRQU1NTjV3cM8kz9o1FyOjr9/7/M9s5XcR1SmoLWjPJ6Gey/f+NtWT////oLJL//zldyHQO + OF3MdAn/dcj/FSiwAhCNTZjoQon//4216P7//+gGkv//i030X15kiQ0AAAAAW8nDi33gjbVk////6Ch/ + ////ddyLdYiNXeTo4vL+/4tF6P91iIlF3I1F3FD/deSNTdiNXeCNRcjoN/b+/zPbOsMPhEMBAACNReTo + K/r+/4tF2IP4DA+HmQAAAA+EgQAAADvDD4b4AAAAg/gDdkOD+AR0JoP4B3Q2g/gLD4XgAAAAi0XkiUW8 + /3YEjU2Y/zbo2nL//+nIAAAAi0XkiUW8iwaNTZjof3P//+mzAAAAg/gDD5TAM8k6w4tF4A+VwYmFaP// + /4tF5IlFvI2FZP///1BmiY1m////jU2Y6KqH///rf4tF5IlFvIsGjU2Y6IJz///rbYPoDXRTSHQ6SHQY + SHVfi0XkiUW8OR6NTZgPl8Do3nL//+tKi0Xk3QaJRbzdnUj///+NhTz///9QjU2Y6Hlz///rK4tF5N0G + iUW83Z0k////jYUY////69+LReRRiUW83QZRjU2Y3Rwk6E5y//+LRej/dYiJRdyLRYyJReCNRdxQ/3Xk + jU3YjV3gjUXI6H30/v/ps/7//4tNxGoLWuiVsP3/OV3kD4Ql/v///3Xk6FG4/f9Z6Rf+//+LjWD////o + 0uz//7hBZQIQw7irlgIQ6IQrAACB7FgBAABTVlcz24ld/IMNUFADEP+NcQKwAY29eP///4ll8IlN5Ohh + cP//i0XkxkX8AYtILo1wSo29nP7//4lNwOg8k///i0XkZoM4BHUFi0h26wIzyYldxMZFyAHGhRj///9D + iZ0c////iZ1A////iZ00////iZ08////iJ1E////xoVI////Q4mdTP///4mdcP///4mdZP///4mdbP// + /4iddP///9nuM/ZG9sEBagJYD5dF7oTIxkX8Bd2d/P7//w+XRe84Xe7Ghcz+//9ExoXw/v//VIlF6Il1 + 5HQKx0XoAwAAAIlF5Dhd73QD/0Xki0XAU1b/tcD+//+NdcTozvX+/1NTjUXgUI1F1FBTU1ONXdwzyTP2 + jUXE6Lb0/v8z2zld1HVYagszyVroMq/9/421SP///+j3jv//jbUY////6OyO//85XcR0DjhdyHQJ/3XE + /xUosAIQjbWc/v//6M6O//+NtXj////o+23//4tN9F9eZIkNAAAAAFvJw4t93I21GP///+jle///OF3v + dA6LfeCNtUj////o0nv//4uFcP///4tN1Iu9bP///4lF4ItF5I2VeP///+iFg///V41F3FD/tTz///+N + TdiNXeCNRcTo1PL+/zPbM/Y6ww+E0QEAAItF3EaNlRj///+NjXj///+JhRz///9miXWBZsdFgwEA6P2B + //84Xe50GItF2I2NeP///2aJdYFmx0WDAgDooWv//zhd7w+ETwEAAItF2IP4DA+HwgAAAA+EngAAADvD + D4Y1AQAAg/gDdlWD+AR0L4P4B3RIg/gLD4UdAQAAZotF6GaJdYFmiUWD/3cEjY14/////zfoomr//+n8 + AAAAZotF6GaJdYFmiUWDiweNjXj////oLGv//+neAAAAg/gDD5TAM8k6w4tF4A+VwYmFTP///2aLReiN + lUj///9miXWBZolFg2aJjUr///+NjXj////oLIH//+mfAAAAZotF6GaJdYFmiUWDiweNjXj////oFWv/ + /+mBAAAAg+gNdF5IdEtIdCFIdXNmi0XoZolFg2aJdYE5H42NeP///w+XwOhxav//61XdB42V8P7//92d + /P7//2aLReiNjXj///9miXWBZolFg+jyav//6y7dB42VzP7//92d2P7//+vXZotF6FFmiXWBZolFg90H + UY2NeP///90cJOjcaf//i4VA/////7Vs////iUXci4Vw////iUXgjUXcUP+1PP///41N2I1d4I1FxOiM + 8P7/M9vpJ/7//w+3TYFqBelq/f//i40U////6Pbo//+4hGgCEMO45pYCEOioJwAAgexAAQAAU1ZXM9uJ + XfyDDVBQAxD/jXECsAGNvQj///+JZfCJTejohWz//4tF6MZF/AGLSC6NcEqNvbT+//+JTcDoYI///4tF + 6GaDOAR1BYtAdusCM8CJXczGRdABxkWEQ4ldiIldrIldoIldqIhdsMaFVP///0OJnVj///+JnXz///+J + nXD///+JnXj///+IXYDZ7qgBagIPl0XvWYTBxkX8Bd2d8P7//w+XRe44Xe/GheT+//9Ux0XoAQAAAHQD + iU3oOF3udBD/RegzwDhd7w+VwAPBiUW8i0XAU2oI/7XY/v//jXXM6Ary/v9TU1NTjUXcUFNTM9uNTciN + dcSNRczo9PD+/zld3HVVagszyVrocqv9/421VP///+g3i///jXWE6C+L//85Xcx0Djhd0HQJ/3XM/xUo + sAIQjbW0/v//6BGL//+NtQj////oPmr//4tN9F9eZIkNAAAAAFvJw4t9xI11hOgreP//i33IjbVU//// + 6B14//+LRayLTdyJReCLhXz///+JReSLReiNlQj////o0H///41FtFCNReRQ/7V4////jUXgUP91qI1F + zOjo7/7/M/86ww+EtwAAAItF4IlFiItF5EeNVYSNjQj///+JhVj///9mib0R////ZseFE////wEA6D1+ + //84Xe90IY2VVP///42NCP///2aJvRH///9mx4UT////AgDoF37//zhd7nQtjUW0jbXk/v//6Cdv//9m + i0W8i9aNjQj///9mib0R////ZomFE////+gfaP//i0WsiUXgi4V8////iUXkjUW0UI1F5FD/tXj///+N + ReBQ/3WojUXM6M7u/v/pQf///w+3jRH///9qBemK/v//i41Q////6Fbm//+4QWwCEMO4FpcCEOgIJQAA + gezEAAAAg2X8AIMNUFADEP9TVleL+YtHColl8GoCiUXkM9tYjXWQ6D2L//9qA1iLz421MP///8ZF/AHo + w4v//2oEW4vDi8+NtWD////GRfwC6K2L//+DZcQAxkXIAYhd/GaDPwV8D4uHmgAAAIXAdAWJRezrU4pH + JjxDdQnHRewBAAAA60M8SXUJx0XsDAAAAOs2PE51CcdF7A0AAADrKTxEdQnHRewOAAAA6xw8VHUJx0Xs + DwAAAOsPPEwPhV0BAADHRewQAAAAikcmPEN1KjPAQDlF7HQMg33sB3QGg33sAnULjXWQ6Ktz////RZSL + fbSLXZTpowAAADxOdTuLRew7w3UK3Ucy6FcgAADrOIP4C3UK3Ucy6EggAADrOoP4DXRmg/gMdW/dRzKN + dy7oMSAAAIkGi/7rZDxJdUSLRew7w3ULi0cuiUXojX3o606D+At1EotHLpmJRdyJVeCNfdxqCFvrN4P4 + DHUFg8cu6y2D+A11IttHLo1HMov43Rjr4DxEdAQ8VHUFg8cy69M8THV8g8cq6waLfeSLXeSLReRqAGoC + /3WEjXXE6Kfu/v//deyLxlNX/7VU////6Avr/v9qCzPJWkHoG6j9/4N9xAB0D4B9yAB0Cf91xP8VKLAC + EI21YP///+jLh///jbUw////6MCH//+NdZDouIf//4tN9F9eZIkNAAAAAFvJw8dF2IUDAABoOP0CEI1F + 2OsPx0XUhQMAAGg4/QIQjUXUUOgWIgAAi03A6Ark//+4j28CEMO4RpcCEOi8IgAAgezcAAAAU1ZXi/kz + 24ld/ItHCoMNUFADEP+JZfBqAolF0FiNtUj///+Jfezohon//2oDWIvPjbUY////xkX8Aehyif//xkWc + Q4ldoIldxIlduIldwIhdyIld3MZF4AGLRdBTagHGRfwE/7U8////jXXc6JPt/v+NRdhQ/7Vs////i8ZQ + 6J7q/v+L+I11nIl9oOgUdP//i3XAVv+1bP///zPJjV3UjUXc6Bnq/v+LRdSJRaCLRexmgzgEdQeLQHaF + wHUDi0XYg/gEdQmLBuhPd///63NqC1o7wnUM/3YE/zbogHb//+tgg/gMdQmLDuiopv3/61KD+A11Dt0G + UVHdHCToBHf//+s/g/gOdRnGhXj///9E3QaNjXj////dXYTobab9/+shg/gPdQnGhXj///9U6+CD+BB1 + DoM+AA+XwA+2yOjBpv3/g33cAHQPgH3gAHQJ/3Xc/xUosAIQjXWc6AeG//+NtRj////o/IX//421SP// + /+jxhf//i030X15kiQ0AAAAAW8nDi03M6Gni//+4VnECEMO4YJcCEOgbIQAAg+xMg2X8AIMNUFADEP9T + VovZi0MKV41zJo19qIll8IlF7OjyiP//ZoM7AnUHuz8ADwDrA4tbUjP/iX3YxkXcAYtF7FdTxkX8Av91 + zI112OgV7P7/i03YagtaxkXcAOiXpf3/OX3YdA+AfdwAdAn/ddj/FSiwAhCNdajoS4X//4tN9F9eZIkN + AAAAAFvJw4tN6OjD4f//uPxxAhDDuGqXAhDodSAAAIPsPINl/ACDDVBQAxD/U1aL2YtDCleNcyaNfbiJ + ZfCJRejoTIj//2aDOwJ0CoN7UgHGRewAdATGRewB/3Xs/3Xc/3Xo6Obq/v8PtsjocKX9/411uOjLhP// + i030X15kiQ0AAAAAW8nDi03s6EPh//+4fHICEMO4j5cCEOj1HwAAgeyAAAAAg2X8AIMNUFADEP9TVovZ + i0MKV41zJo29dP///4ll8IlF6OjGh///xkX8AWaLA2Y9AwB9CcdF7D8ADwDrBotLUolN7GY9BAB9BDP/ + 6wOLe3ZqBViLy411pOiNhv//g2XUAMZF2AH/dezGRfwDV/91yI111P91mP916Ogq6/7/i03UagtaxkXY + AOhBpP3/g33UAHQPgH3YAHQJ/3XU/xUosAIQjXWk6PSD//+NtXT////o6YP//4tN9F9eZIkNAAAAAFvJ + w4tN5Ohh4P//uF5zAhDDaNz1AhD/FWCwAhCFwHQUaND1AhBQ/xXQsAIQoyBDBRCwAcNXagBqAf8VWLAC + EGj80QIQi/jo7OD//zLAX8O495cCEOjVHgAAgewAAQAAg2X8AFNWV4vZjXMCsAGNfYSJZfDovmP//41z + Jo29JP///8ZF/AHooob//41zSo29VP///8ZF/ALokIb//2oYX4219P7//8ZF/APo9IP//2oAagDGRfwE + ix2UswIQagb/tXj/////tUj/////04P4/4lF7HVEgz1IYAMQAWoAagB1EWhQzwIQaNTzAhDouN///+sS + /xVYsAIQaNTzAhCL+Ogz4P//x0XUTmG8AGg4/QIQjUXU6XMBAACFwHVCagtaM8no56L9/4219P7//+is + gv//jbVU////6KGC//+NtST////oloL//411hOjGYf//i030X15kiQ0AAAAAW8nDjTwAjXXY6FLi/v+L + ReyNPEDB5wONdeDGRfwF6D3i/v/GRfwGM/ZW/3XYagb/tXj/////tUj/////04P4/w+ErQAAAFb/deBq + DP+1eP////+1SP/////Tg/j/D4SQAAAAi03sagJYjVWE6CN3//+LReCLfdiJRehGO3Xsd0D/deiNnfT+ + //9miXWNZsdFjwEA6KJ///+L0I1NhOi0df//Zol1jWbHRY8CAA+3B41NhOimX///g0XoGEdHRuu7D7dN + jWoFWujmof3/g33gAHQJ/3Xg6KWp/f9Zg33YAA+E5v7///912OiSqf3/WenY/v//gz1IYAMQAVZWdRFo + UM8CEGjU8wIQ6EDe///rEv8VWLACEGjU8wIQi/jou97//8dF0E5hvABoOP0CEI1F0FDo3xsAAItNzOjT + 3f//uLl0AhDDuC+YAhDohRwAAIHs1AAAAINl/ACDDVBQAxD/gz0gQwUQAFNWV4ll8IvZdRTHRdDyAgAA + aDj9AhCNRdDpXAEAAI1zArABjX2E6Eph//9qAliLy421IP///8ZF/AHoKYP//78ACAAAjbVQ////xkX8 + AuiOgf//g03s/zPbU41F7FDGRfwE/7VE////6Jyj/f+FwHUoU1P/FViwAhBohPQCEIv46PHd///HRdRO + YbwAaDj9AhCNRdTp4QAAAI1F6FCNReRQU1NqAf917P8VIEMFEDvDdS3/FViwAhCD+Hp0IlNTaOjzAhCL + +Oir3f//x0XYTmG8AGg4/QIQjUXY6ZsAAAA5Xeh1RWoLWjPJ6F6g/f+Dfez/dAj/dezoB6P9/421UP// + /+gVgP//jbUg////6AqA//+NdYToOl///4tN9F9eZIkNAAAAAFvJw4t95I113OjG3/7/jUXoUI1F5FDG + RfwF/3XkM///ddxHV/917P8VIEMFEDvDdSlTU/8VWLACEGjo8wIQi/joC93//8dFzE5hvABoOP0CEI1F + zFDoLxoAAItN6GoIWI1VhOigdP//i3XcO33oD4e/AAAAZol9jWbHRY8BAIsGjU2E6ANd//9miX2NZsdF + jwIA/3YEjZ1Q////6A59//+L0I1NhOggc///Zol9jWbHRY8DAItGCI1NhOgSXf//Zol9jWbHRY8EAItG + DI1NhOj9XP//Zol9jWbHRY8FAItGHI1NhOjoXP//Zol9jWbHRY8GAItGFI1NhOjTXP//Zol9jWbHRY8H + AItGEI1NhOi+XP//Zol9jWbHRY8IAItGGI1NhOipXP//g8YgRzPb6Tj///8Pt02NagVa6Oee/f85XdwP + hID+////ddzoo6b9/1npcv7//4tNgOgn2///uEV3AhDDuHWYAhDo2RkAAIHsKAEAAINl/ACDDVBQAxD/ + U1ZXi9mNcwKwAY29dP///4ll8Oi4Xv//jXMmjb3M/v//xkX8Aeicgf//vwAIAACNtTj////GRfwC6P5+ + ///Z7jP/3Z0M////xoUA////VIl94MZFvE+JfdyDTeT/xkX8BWaLA2Y9AwB8BYtzUusDM/ZGZj0EAIl1 + 7HwFi1t26wMz20OD/gF0H4P+AnQax4Uo////hQMAAGg4/QIQjYUo////6XMBAACD+wF0H4P7AnQax4Uk + ////hQMAAGg4/QIQjYUk////6U8BAABXjUXkUP+18P7//+iJoP3/hcB1LldX/xVYsAIQaIT0AhCL+Oje + 2v//x4Uw////TmG8AGg4/QIQjYUw////6Q0BAACNRehQjYVw////UFdXVmr/V/915OgyoP3/hcB1M/8V + WLACEIP4enQoV1doePQCEIv46I7a///HhTT///9OYbwAaDj9AhCNhTT////pvQAAAIu9cP///4X/dVBq + C1ozyeg2nf3/g33k/3QI/3Xk6N+f/f+NTbzoIXT//421OP///+jlfP//jbXM/v//6Np8//+NtXT////o + B1z//4tN9F9eZIkNAAAAAFvJw421aP///+iT3P7/jUXoUI2FcP///1DGRfwG/7Vw////M/b/tWj///// + dexq/1b/deToa5/9/4XAdS9WVv8VWLACEGh49AIQi/jozNn//8eFLP///05hvABoOP0CEI2FLP///1Do + 6hYAAIu9aP///4tN6DP2Rjl17I2VdP///w+FQwMAADveD4XhAQAAag1Y6D5x//87degPhxkIAABmibV9 + ////ZseFf////wEA/3cQjZ04////6L15//+L0I2NdP///+jMb///Zom1ff///2bHhX////8CAP93BOiY + ef//i9CNjXT////op2///2aJtX3///9mx4V/////AwD/dwzoc3n//4vQjY10////6IJv//9mibV9//// + ZseFf////wQA/3cI6E55//+L0I2NdP///+hdb///Zom1ff///2bHhX////8FAP93FOgpef//i9CNjXT/ + ///oOG///2aJtX3///9mx4V/////BgD/dxjoBHn//4vQjY10////6BNv//9mibV9////ZseFf////wcA + iweNjXT////ot1j//2aJtX3///9mx4V/////CACLRxyNjXT////omVj//2aJtX3///9mx4V/////CQCL + RyCNjXT////oe1j//2aJtX3///9mx4V/////CgCLRySNjXT////oXVj//2aJtX3///9mx4V/////CwCL + RyiNjXT////oP1j//2aJtX3///9mx4V/////DACLRyyNjXT////oIVj//42FAP///41PMFDo51///2aJ + tX3///9mx4V/////DQCNlQD///+NjXT////oalj//4PHQEbpJ/7//4vG6F5v//+JdeyLRew7RegPhzMG + AACNdbzo7nD//8dF4Gz0AhD/dxCNnTj////o2Hf//1CLzuiocP//x0XghPUCEP93BOjBd///UIvO6JFw + ///HReBg9AIQ/3cM6Kp3//9Qi87oenD//8dF4FT0AhD/dwjok3f//1CLzuhjcP//x0XgMPUCEP93FOh8 + d///UIvO6Exw///HReBM9AIQ/3cY6GV3//9Qi87oNXD//8dF4ET0AhCLB4vO6MNb///HReDc9AIQi0cc + i87oslv//8dF4Az1AhCLRyCLzuihW///x0XgOPQCEItHJIvO6JBb///HReAs9AIQi0coi87of1v//8dF + 4Bz0AhCLRyyLzuhuW///jYUA////jU8wUOibXv//jYUA////UIvOx0XgEPQCEOjPW///ZotF7IvWjY10 + ////ZomFff///+gSV///g8dA/0Xs6bD+//873g+F7QIAAGoVWOj7bf//O3XoD4fWBAAAZom1ff///2bH + hX////8BAP93EI2dOP///+h6dv//i9CNjXT////oiWz//2aJtX3///9mx4V/////AgD/dwToVXb//4vQ + jY10////6GRs//9mibV9////ZseFf////wMA/3cM6DB2//+L0I2NdP///+g/bP//Zom1ff///2bHhX// + //8EAP93COgLdv//i9CNjXT////oGmz//2aJtX3///9mx4V/////BQD/dxjo5nX//4vQjY10////6PVr + //9mibV9////ZseFf////wYA/3cs6MF1//+L0I2NdP///+jQa///Zom1ff///2bHhX////8HAIsHjY10 + ////6HRV//9mibV9////ZseFf////wgAi0c0jY10////6FZV//9mibV9////ZseFf////wkAi0c4jY10 + ////6DhV//9mibV9////ZseFf////woAi0c8jY10////6BpV//9mibV9////ZseFf////wsAi0dIjY10 + ////6PxU//9mibV9////ZseFf////wwAi0dkjY10////6N5U//+NhQD///+NT1BQ6KRc//9mibV9//// + ZseFf////w0AjZUA////jY10////6CdV//9mibV9////ZseFf////w4A/3cU6Ll0//+L0I2NdP///+jI + av//Zom1ff///2bHhX////8PAP93HOiUdP//i9CNjXT////oo2r//2aJtX3///9mx4V/////EAD/dyDo + b3T//4vQjY10////6H5q//9mibV9////ZseFf////xEA/3ck6Ep0//+L0I2NdP///+hZav//Zom1ff// + /2bHhX////8SAItHYI2NdP///+j8U///Zom1ff///2bHhX////8TAItHQI2NdP///+jeU///Zom1ff// + /2bHhX////8UAItHRI2NdP///+jAU///Zom1ff///2bHhX////8VAItHTI2NdP///+iiU///g8doRukb + /f//i8boD2v//4l17ItF7DtF6A+H5AEAAI11vOifbP//x0XgbPQCEP93EI2dOP///+iJc///UIvO6Fls + ///HReCE9QIQ/3cE6HJz//9Qi87oQmz//8dF4GD0AhD/dwzoW3P//1CLzugrbP//x0XgVPQCEP93COhE + c///UIvO6BRs///HReAw9QIQ/3cY6C1z//9Qi87o/Wv//8dF4Ez0AhD/dyzoFnP//1CLzujma///x0Xg + RPQCEIsHi87odFf//8dF4Nz0AhCLRzSLzuhjV///x0XgDPUCEItHOIvO6FJX///HReA49AIQi0c8i87o + QVf//8dF4Cz0AhCLR0iLzugwV///x0XgHPQCEItHZIvO6B9X//+NhQD///+NT1BQ6Exa//+NhQD///9Q + i87HReAQ9AIQ6IBX///HReAE9AIQ/3cU6HZy//9Qi87oRmv//8dF4Dz1AhD/dxzoX3L//1CLzugva/// + x0XgJPUCEP93IOhIcv//UIvO6Bhr///HReBg9QIQ/3ck6DFy//9Qi87oAWv//8dF4PzzAhCLR2CLzuiO + Vv//x0Xg8PQCEItHQIvO6H1W///HReDk9AIQi0dEi87obFb//8dF4PTzAhCLR0yLzuhbVv//ZotF7IvW + jY10////ZomFff///+gjUv//g8do/0Xs6RD+//8Pt419////agVa6CuU/f+DvWj///8AD4To9v///7Vo + ////6OCb/f9Z6df2//+Ljfz+///oYdD//7h4egIQw7iwmAIQ6BMPAACB7BABAACDZfwAgw1QUAMQ/1NW + V4vZjXMCsAGNvXD///+JZfDo8lP//2oCWIvLjbXk/v//xkX8AejRdf//vwAEAACNtTj////GRfwC6DZ0 + //+DZeQAg2XgAMZFwE+/AEAAAI11uMZF/AToMtP+/8ZF/AVmiwtmg/kDfA+LQ1KFwHQIagKJRexe6wZq + Al6Jdexmg/kEfAmLQ3aFwIvQdQKL1maD+QWJlWj///98CouDmgAAAIXAdQMzwECKWyaA+zCJhWz///90 + H4D7Q3Qax4Ug////hQMAAGg4/QIQjYUg////6V0BAAAzyUE5DUhgAxB1JzvRdHc71nRzg/oFdG7HhSz/ + //+FAwAAaDj9AhCNhSz////pKwEAADvRdCg71nQkg/oEdCSD+gV0GseFKP///4UDAABoOP0CEI2FKP// + /+n/AAAAg/oEdSP3Rez5////dhrHhTD///+FAwAAaDj9AhCNhTD////p1wAAADvBdB47xnQax4UY//// + hQMAAGg4/QIQjYUY////6bUAAACNRehQjYU0////UP91vP91uFL/tQj/////dezoBpX9/4XAD4WTAAAA + /xVYsAIQg/h6dV2LvTT///+NdbjoitH+/41F6FCNhTT///9Q/3W8/3W4/7Vo/////7UI/////3Xs6MCU + /f+FwHVRUFBowPUCEGp6X+gUz///x4Uc////TmG8AGg4/QIQjYUc////6yVqAGoAaMD1AhCL+Ojtzv// + x4Uk////TmG8AGg4/QIQjYUk////UOgLDAAAi03ohcl1T2oLWuiZkf3/g324AHQJ/3W46FiZ/f9ZjU3A + 6INo//+NtTj////oR3H//4215P7//+g8cf//jbVw////6GlQ//+LTfRfXmSJDQAAAABbycOLhWj///9I + D4RCBwAASA+EsgIAAEhID4SJAQAASA+FjAgAAIt9uDP2Rjm1bP///42VcP///w+FwwAAAGoFWOjxZf// + O3XoD4djCAAAZom1ef///2bHhXv///8BAP83jZ04////6HFu//+L0I2NcP///+iAZP//Zom1ef///2bH + hXv///8CAP93BOhMbv//i9CNjXD////oW2T//2aJtXn///9mx4V7////AwCLRwiNjXD////oRE7//2aJ + tXn///9mx4V7////BACLRwyNjXD////oJk7//2aJtXn///9mx4V7////BQCLRxCNjXD////oCE7//4PH + FEbpRf///4vG6C9l//+JdeyLRew7RegPh5sHAACNdcDov2b//8dF5IT1AhD/N42dOP///+iqbf//UIvO + 6Hpm///HReRs9QIQ/3cE6JNt//9Qi87oY2b//8dF5Bj1AhCLRwiLzug8Uv//x0XkrPQCEItHDIvO6CtS + ///HReSQ9AIQi0cQi87oGlL//2aLReyL1o2NcP///2aJhXn////olk3//4PHFP9F7Olj////i324M9tD + OZ1s////jZVw////D4WHAAAAagNY6G9k//+L8zt16A+H3wYAAGaJnXv///9mibV5/////zeNnTj////o + 72z//4vQjY1w////6P5i//9mibV5////ZseFe////wIA/3cE6Mps//+L0I2NcP///+jZYv//Zom1ef// + /2bHhXv///8DAItHCI2NcP///+jCTP//g8cMM9tGQ+uDi8Po6WP//4ld7ItF7DtF6A+HVQYAAI11wOh5 + Zf//x0XkhPUCEP83jZ04////6GRs//9Qi87oNGX//8dF5JD1AhD/dwToTWz//1CLzugdZf//x0XkGPUC + EItHCIvO6PZQ//9mi0Xsi9aNjXD///9miYV5////6HJM//+Dxwz/RezriIt9uDP2Rjm1bP///42VcP// + /w+FpgIAAGoTWOhOY///O3XoD4fABQAAZom1ef///2bHhXv///8BAP83jZ04////6M5r//+L0I2NcP// + /+jdYf//Zom1ef///2bHhXv///8CAP93BOipa///i9CNjXD////ouGH//2aJtXn///9mx4V7////AwD/ + dwjohGv//4vQjY1w////6JNh//9mibV5////ZseFe////wQA/3cM6F9r//+L0I2NcP///+huYf//Zom1 + ef///2bHhXv///8FAP93EOg6a///i9CNjXD////oSWH//2aJtXn///9mx4V7////BgD/dxToFWv//4vQ + jY1w////6CRh//9mibV5////ZseFe////wcA/3cY6PBq//+L0I2NcP///+j/YP//Zom1ef///2bHhXv/ + //8IAP93IOjLav//i9CNjXD////o2mD//2aJtXn///9mx4V7////CQD/dyTopmr//4vQjY1w////6LVg + //9mibV5////ZseFe////woA/3co6IFq//+L0I2NcP///+iQYP//Zom1ef///2bHhXv///8LAP93LOhc + av//i9CNjXD////oa2D//2aJtXn///9mx4V7////DACLRzSNjXD////oVEr//2aJtXn///9mx4V7//// + DQCLRziNjXD////oNkr//2aJtXn///9mx4V7////DgCLRzyNjXD////oGEr//2aJtXn///9mx4V7//// + DwCLR0CNjXD////o+kn//2aJtXn///9mx4V7////EACLR0SNjXD////o3En//2aJtXn///9mx4V7//// + EQCLR0iNjXD////ovkn//2aJtXn///9mx4V7////EgCLR0yNjXD////ooEn//2aJtXn///9mx4V7//// + EwCLR1CNjXD////ogkn//4PHVEbpYv3//4vG6Klg//+JdeyLRew7RegPhxUDAACNdcDoOWL//8dF5JD1 + AhD/N42dOP///+gkaf//UIvO6PRh///HReSE9QIQ/3cE6A1p//9Qi87o3WH//8dF5Hj1AhD/dwjo9mj/ + /1CLzujGYf//x0XkbPUCEP93DOjfaP//UIvO6K9h///HReRg9QIQ/3cQ6Mho//9Qi87omGH//8dF5Jz1 + AhD/dxTosWj//1CLzuiBYf//x0XkVPUCEP93GOiaaP//UIvO6Gph///HReRM9QIQ/3cg6INo//9Qi87o + U2H//8dF5Dz1AhD/dyTobGj//1CLzug8Yf//x0XkMPUCEP93KOhVaP//UIvO6CVh///HReQk9QIQ/3cs + 6D5o//9Qi87oDmH//8dF5Bj1AhCLRzSLzujnTP//x0XkDPUCEItHOIvO6NZM///HReT89AIQi0c8i87o + xUz//8dF5PD0AhCLR0CLzui0TP//x0Xk5PQCEItHRIvO6KNM///HReTc9AIQi0dIi87okkz//8dF5NT0 + AhCLR0yLzuiBTP//x0XkyPQCEItHUIvO6HBM//9mi0Xsi9aNjXD///9miYV5////6OxH//+Dx1T/Rezp + P/7//4t9uDP2Rjm1bP///42VcP///w+FrAAAAGoEWOjFXv//O3XoD4c3AQAAZom1ef///2bHhXv///8B + AIsHjY1w////6GhH//9mibV5////ZseFe////wIA/3cEjZ04////6Cdn//+L0I2NcP///+g2Xf//Zom1 + ef///2bHhXv///8DAP93COgCZ///i9CNjXD////oEV3//2aJtXn///9mx4V7////BAD/dwzo3Wb//4vQ + jY1w////6Oxc//+DxxBG6Vz///+LxugaXv//iXXsi0XsO0XoD4eGAAAAjXXA6Kpf///HReS49QIQiweL + zuhbS///x0XkrPUCEP93BI2dOP///+iEZv//UIvO6FRf///HReSk9QIQ/3cI6G1m//9Qi87oPV///8dF + 5Jz1AhD/dwzoVmb//1CLzugmX///ZotF7IvWjY1w////ZomFef///+iMRv//g8cQ/0Xs6W7///8Pt415 + ////agXp9vb//4uNFP///+jpxP//uBaGAhDDzFWL7IPsIIPk8NnA2VQkGN98JBDfbCQQi1QkGItEJBCF + wHQ83umF0nke2RwkiwwkgfEAAACAgcH///9/g9AAi1QkFIPSAOss2RwkiwwkgcH///9/g9gAi1QkFIPa + AOsUi1QkFPfC////f3W42VwkGNlcJBjJw8zMzMzMzMyLRCQIi0wkEAvIi0wkDHUJi0QkBPfhwhAAU/fh + i9iLRCQI92QkFAPYi0QkCPfhA9NbwhAAzMzMzMzMzMzMzMzMVotEJBQLwHUoi0wkEItEJAwz0vfxi9iL + RCQI9/GL8IvD92QkEIvIi8b3ZCQQA9HrR4vIi1wkEItUJAyLRCQI0enR29Hq0dgLyXX09/OL8PdkJBSL + yItEJBD35gPRcg47VCQMdwhyDztEJAh2CU4rRCQQG1QkFDPbK0QkCBtUJAz32vfYg9oAi8qL04vZi8iL + xl7CEADMzMzMzMzMzMzMzFdWVTP/M+2LRCQUC8B9FUdFi1QkEPfY99qD2ACJRCQUiVQkEItEJBwLwH0U + R4tUJBj32Pfag9gAiUQkHIlUJBgLwHUoi0wkGItEJBQz0vfxi9iLRCQQ9/GL8IvD92QkGIvIi8b3ZCQY + A9HrR4vYi0wkGItUJBSLRCQQ0evR2dHq0dgL23X09/GL8PdkJByLyItEJBj35gPRcg47VCQUdwhyDztE + JBB2CU4rRCQYG1QkHDPbK0QkEBtUJBRNeQf32vfYg9oAi8qL04vZi8iLxk91B/fa99iD2gBdXl/CEADM + V1ZTM/+LRCQUC8B9FEeLVCQQ99j32oPYAIlEJBSJVCQQi0QkHAvAfRRHi1QkGPfY99qD2ACJRCQciVQk + GAvAdRiLTCQYi0QkFDPS9/GL2ItEJBD38YvT60GL2ItMJBiLVCQUi0QkENHr0dnR6tHYC9t19Pfxi/D3 + ZCQci8iLRCQY9+YD0XIOO1QkFHcIcgc7RCQQdgFOM9KLxk91B/fa99iD2gBbXl/CEAD/JTSyAhBTVzP/ + i0QkEAvAfRRHi1QkDPfY99qD2ACJRCQQiVQkDItEJBgLwH0Ti1QkFPfY99qD2ACJRCQYiVQkFAvAdRuL + TCQUi0QkEDPS9/GLRCQM9/GLwjPST3lO61OL2ItMJBSLVCQQi0QkDNHr0dnR6tHYC9t19Pfxi8j3ZCQY + kfdkJBQD0XIOO1QkEHcIcg47RCQMdggrRCQUG1QkGCtEJAwbVCQQT3kH99r32IPaAF9bwhAA/yU4sgIQ + av9QZKEAAAAAUItEJAxkiSUAAAAAiWwkDI1sJAxQw8zMzMzMzMzMzD0AEAAAcw732APEg8AEhQCUiwBQ + w1GNTCQIgekAEAAALQAQAACFAT0AEAAAc+wryIvEhQGL4YsIi0AEUMO4DP4CEOmL////uFz+AhDpgf// + /7is/gIQ6Xf///+4/P4CEOlt////jUW86bJ9/f+4VP8CEOlb////i0UIg8AE6dXD/v+LRQiDwAzpysP+ + /7iA/wIQ6Tv///+LRQiDwATptcP+/4tFCIPADOmqw/7/uKz/AhDpG////7j8/wIQ6RH///+4TAADEOkH + ////uJwAAxDp/f7//7jsAAMQ6fP+//+4PAEDEOnp/v//uIwBAxDp3/7//7jcAQMQ6dX+//+4LAIDEOnL + /v//jXWc6Xhj//+4hAIDEOm5/v//uNQCAxDpr/7//7gkAwMQ6aX+//+NtVD////pT2P//411gOlHY/// + uIQDAxDpiP7//7jUAwMQ6X7+//+NdYjpK2P//421WP///+kgY///uDQEAxDpYf7//421YP///+lDQv// + jbUw////6QBj//+Ndajp+GL//7icBAMQ6Tn+//+NdaDpHkL//421cP///+nbYv//uPwEAxDpHP7//411 + rOnJYv//uFQFAxDpCv7//411lOnvQf//jbVk////6axi//+4tAUDEOnt/f//jXWQ6dJB//+4DAYDEOnb + /f//jXWQ6cBB//+4ZAYDEOnJ/f//jXWs6XZi//+4vAYDEOm3/f//uAwHAxDprf3//411pOmSQf//jbVM + ////6U9i//+NRYTpRnz9/41FlOk+fP3/uHwHAxDpgP3//421eP///+liQf//jbX0/v//6R9i//+NtcT+ + ///pFGL//421JP///+kJYv//jUXs6ZfC/f+NhVT////peML9/7j8BwMQ6Tf9//+NtSz////p4WH//421 + XP///+nWYf//jXWM6c5h//+NRezpXML9/41FvOlAwv3/uHQIAxDp//z//421LP///+mpYf//jbVc//// + 6Z5h//+NdYzplmH//41F7Okkwv3/jUW86QjC/f+47AgDEOnH/P//jUW86fbB/f+NReDpPMH+/7gYCQMQ + 6a38//+NRaTpWXv9/421dP///+lPYf//jY1M////6XVY//+NRdzp68L+/41FzOnjwv7/jUXA6dvC/v+4 + ZAkDEOlt/P//jXWQ6Rph//+NTcDpQ1j//7jECQMQ6VP8//+Ntej+///p/WD//41NmOkmWP//jUXI6ex6 + /f+NtWT////p4mD//41F5OmJwv7/uDwKAxDpG/z//421eP///+n9P///jbWc/v//6bpg//+NRcTpsXr9 + /421GP///+mnYP//jbVI////6Zxg//+4tAoDEOnd+///jbUI////6b8///+NtbT+///pfGD//41FzOlz + ev3/jXWE6Wxg//+NtVT////pYWD//7gsCwMQ6aL7//+NdZDpT2D//421MP///+lEYP//jbVg////6Tlg + //+NRcTpMHr9/7icCwMQ6XL7//+NtUj////pHGD//421GP///+kRYP//jXWc6Qlg//+NRdzpAHr9/7gM + DAMQ6UL7//+Ndajp71///41F2Onmef3/uGwMAxDpKPv//7i8DAMQ6R77//+NtXT////pyF///411pOnA + X///jUXU6bd5/f+4JA0DEOn5+v//jXWM6d4+//+NtVj////pm1///41F3Oljv/7/uIwNAxDp1Pr//411 + hOm5Pv//jbUk////6XZf//+NtVT////pa1///4219P7//+lgX///jUXY6Si//v+NReDpIL/+/7gMDgMQ + 6ZH6//+NdYTpdj7//421IP///+kzX///jbVQ////6Shf//+NRezpEXn9/41F3Onovv7/uIQOAxDpWfr/ + /421dP///+k7Pv//jbXM/v//6fhe//+NtTj////p7V7//41NvOkWVv//jUXk6c54/f+NhWj////por7+ + /7gEDwMQ6RP6//+NtXD////p9T3//4215P7//+myXv//jbU4////6ade//+NTcDp0FX//41FuOlnvv7/ + uHwPAxDp2Pn//421JP///+m6Pf//jXWU6Xpe//+43A8DEOm7+f//jbUk////6Z09//+NdZTpXV7//7g8 + EAMQ6Z75//+NtVj////pgD3//7iUEAMQ6Yn5//+NtVj////paz3//7jsEAMQ6XT5//+NtVj////pVj3/ + /7hEEQMQ6V/5//+NtVT////pQT3//7icEQMQ6Ur5//+NtVj////pLD3//7j0EQMQ6TX5//+NdcDp4l3/ + /7gYEgMQ6SP5//+NdcTp0F3//7g8EgMQ6RH5//+NdcTpvl3//7hgEgMQ6f/4//+4sBIDEOn1+P//jUW8 + 6Tp3/f+NtVz////pl13//411jOmPXf//uOQSAxDp0Pj//421SP///+l6Xf//jYV4////6Z9X//+4RBMD + EOmw+P//jXW86V1d//+4nBMDEOme+P//jbU0////6Uhd//+NtWT////pPV3//41FtOllV///uAQUAxDp + dvj//411iOkjXf//jXW46Rtd//+4ZBQDEOlc+P//jUXA6TlX//+NdZDpAV3//7jEFAMQ6UL4//+NtWz/ + ///p7Fz//42FRP///+kRV///jXWs6dlc//+NRezpHnb9/7g0FQMQ6RL4//+NRcDp71b//411kOm3XP// + uJQVAxDp+Pf//411jOmlXP//uOwVAxDp5vf//421CP///+mQXP//jXWM6Yhc//+NtTj////pfVz//7hU + FgMQ6b73//+NtQz////paFz//421YP///+ldXP//jXWQ6VVc//+4vBYDEOmW9///jXWM6UNc//+4FBcD + EOmE9///jXWQ6TFc//+NtWD////pJlz//7h0FwMQ6Wf3//+NdYzpFFz//7jMFwMQ6VX3//+NdZDpOjv/ + /421LP///+n3W///jbX8/v//6exb//+NtVz////p4Vv//41F5Ompu/7/uEQYAxDpGvf//41FnOn3Vf// + jUXo6c5n/v+4pBgDEOkA9///jUWA6d1V//+NRejptGf+/7gEGQMQ6eb2//+NtXz////pyDr//42FIP// + /+m1Vf//jUXo6Yxn/v+NtUj////pclv//7h0GQMQ6bP2//+NdYTpmDr//42FKP///+mFVf//jYUA//// + 6XpV//+Nhdj+///pb1X//421UP///+k0W///jUXs6Ttn/v+49BkDEOlt9v//uEQaAxDpY/b//411iOlI + Ov//jbX4/v//6QVb//+NtSj////p+lr//42FWP///1DoHLX+/8O4tBoDEOku9v//jbV0////6dha//+N + daTp0Fr//7gUGwMQ6RH2//+NdaTp9jn//7hsGwMQ6f/1//+4vBsDEOn19f//uAwcAxDp6/X//7hcHAMQ + 6eH1//+NdaDpjlr//7i0HAMQ6c/1//+4BB0DEOnF9f//uFQdAxDpu/X//411pOloWv//jUXg6Rlz/f+4 + tB0DEOmh9f//jXWo6U5a//+NReDp/3L9/7gUHgMQ6Yf1//+NRezp7XL9/41F8Onlcv3/uEAeAxDpbfX/ + /42FjP7//+lyc/3/jUXQ6b67/v+NRejptrv+/41F3Omuu/7/uHweAxDpQPX//411hOntWf//jXW06eVZ + //+43B4DEOkm9f//jXW46dNZ//+4NB8DEOkU9f//jXW46cFZ//+4jB8DEOkC9f//jXWM6ec4//+NtUj/ + ///ppFn//41F5OlVcv3/uPQfAxDp3fT//421yP7//+mHWf//jbUo////6XxZ//+NtWj+///pcVn//421 + mP7//+lmWf//jbVY////6VtZ//+Ntfj+///pUFn//7h0IAMQ6ZH0//+NtVD+///pO1n//421gP7//+kw + Wf//jbXw/f//6SVZ//+NtSD+///pGln//4214P7//+lHOP//jbWw/v//6QRZ//+NtSj////p+Vj//411 + tOnxWP//uAQhAxDpMvT//4219P7//+ncWP//jYVU////6QFT//+NtXz////pxlj//421JP///+m7WP// + jUXk6QBy/f+NRezp+HH9/7iEIQMQ6ezz//+NtTz////pllj//421bP///+mLWP//uOQhAxDpzPP//421 + PP///+l2WP//jbVs////6WtY//+4RCIDEOms8///jbVs////6VZY//+4nCIDEOmX8///jbU8////6UFY + //+NtWz////pNlj//7j8IgMQ6Xfz//+NdbTpJFj//7hUIwMQ6WXz//+NdbzpElj//7isIwMQ6VPz//+N + dbzpAFj//7gEJAMQ6UHz//+NdYzp7lf//411vOnmV///uGQkAxDpJ/P//41F4OmNcP3/jUXk6YVw/f+N + RcjplLf+/7iYJAMQ6QXz//+NdYTpslf//421VP///+mnV///jXW06Z9X//+4ACUDEOng8v//jXWI6Y1X + //+NtVj////pglf//411uOl6V///uGglAxDpu/L//411iOloV///jXW46WBX//+4yCUDEOmh8v//jXWE + 6U5X//+NdbTpRlf//7goJgMQ6Yfy//+NtST////pMVf//421VP///+kmV///jXWE6R5X//+NRbzp5rb+ + /41F6OnHb/3/uKAmAxDpT/L//411uOn8Vv//uPgmAxDpPfL//411uOnqVv//uFAnAxDpK/L//421fP// + /+nVVv//jUXs6YZv/f+4sCcDEOkO8v//jbUw////6bhW//+NRcTpaW/9/7gQKAMQ6fHx//+NtVT////p + m1b//41FzOlMb/3/uHAoAxDp1PH//421bP///+m2Nf//jbXg/v//6XNW//+NRdzpJG/9/7jYKAMQ6azx + //+NtUz////pjjX//421+P7//+lLVv//uDgpAxDpjPH//42FjP7//+mRb/3/jUXo6d23/v+4ZCkDEOlv + 8f//jbVY////6VE1//+NtSj////pDlb//41F4Om1t/7/uMwpAxDpR/H//411tOn0Vf//uCQqAxDpNfH/ + /411lOkaNf//jbVI////6ddV//+NRdzpn7X+/41F7OmAbv3/uJQqAxDpCPH//7j0KgMQ6f7w//+4RCsD + EOn08P//jbU8////6Z5V//+NdZzpzjT//421bP///+mLVf//uKwrAxDpzPD//411iOmxNP//jbUQ//// + 6W5V//+NteD+///pY1X//421QP///+lYVf//jUXg6ea1/f+NRdjpGLX+/7gsLAMQ6Ynw//+NtSj////p + M1X//421WP///+koVf//jXWI6SBV//+NRezprrX9/41FuOmStf3/uKQsAxDpUfD//421KP///+n7VP// + jbVY////6fBU//+NdYjp6FT//41F7Ol2tf3/jUW46Vq1/f+4HC0DEOkZ8P//jbUk////6cNU//+NdYTp + u1T//421VP///+mwVP//jUXs6T61/f+NRbTpIrX9/7iULQMQ6eHv//+NtUT////pi1T//421zP7//+m4 + M///jbV0////6XVU//+NtRT////palT//4110OnzL///jUXs6fC0/f+NRaTp1LT9/7gcLgMQ6ZPv//+N + tVj////pdTP//7h0LgMQ6X7v//+NtfD+///pKFT//42FIP///+lNTv//jYV8////6UJO//+NRejp7m39 + /41F7Onmbf3/jUXg6d5t/f+49C4DEOk77///jXWY6SAz//+NtWj////p3VP//421OP///+nSU///uFwv + AxDpE+///411lOn4Mv//jbU0////6bVT//+NtWT////pqlP//7jELwMQ6evu//+NdYTp0DL//7gcMAMQ + 6dnu//+NtQD////pg1P//421tPz//+l4U///jbXQ/v//6W1T//+NtTz////pmjL//41FxOkPMP//jYVo + /f//6aps/f+NRbzpF7P+/41FrOkPs/7/uKwwAxDpgO7//411pOllMv//jbVA////6SJT//+NtXD////p + F1P//7gUMQMQ6Vju//+NdZjpPTL//421aP///+n6Uv//uHQxAxDpO+7//429CP///+nPa/3/jXWw6d1S + //+NdYDp1VL//7jcMQMQ6Rbu//+NvTz////pqmv9/411tOm4Uv//uDwyAxDp+e3//429cP///+mNa/3/ + uJQyAxDp5O3//421dP///+nGMf//uOwyAxDpz+3//411gOm0Mf//jUXo6S1r/f+4TDMDEOm17f//jXWU + 6Zox//+NtWD////pV1L//41F4OkIa/3/uLQzAxDpkO3//421dP///+lyMf//jUXs6etq/f+4FDQDEOlz + 7f//jUXg6dlq/f+NtWD////pFVL//411lOlFMf//uHw0AxDpTu3//429dP///+niav3/uNQ0AxDpOe3/ + /411qOnmUf//jb0M////6cVq/f+4NDUDEOkc7f//jb0k////6flq/f+4jDUDEOkH7f//jb1s////6Ztq + /f+45DUDEOny7P//jb1s////6YZq/f+4PDYDEOnd7P//jbU4////6YdR//+NtWj////pfFH//4216P7/ + /+lxUf//uKQ2AxDpsuz//411gOlfUf//jbVQ////6VRR//+4BDcDEOmV7P//jbVI////6T9R//+NtXj/ + ///pNFH//411qOksUf//uGw3AxDpbez//421fP///+lPMP//uMQ3AxDpWOz//42FgP7//+kyS///jYUk + ////6SdL//+NtUz////pJDD//421zP7//+nhUP//jYX8/v//6QZL//+NdZTpzlD//7hEOAMQ6Q/s//+N + taT+///puVD//42F+P7//+neSv//jbUg////6dsv//+NhWj////pAcz9/411pOmQUP//uLw4AxDp0ev/ + /6EMsAIQo4xeAxDDaBunAhDoRHj9/1nDuEBEBRDo9EH//2gwpwIQ6C54/f9Zw7oARQUQ6GJq/f9oOqcC + EOgYeP3/WcNoFGADEP8VTLECEGhHpwIQ6AF4/f9Zw4A9OEQFEAB0C2ggRAUQ/xWEsAIQw7hARAUQ6eUq + //9WvgBFBRDosLL+/17DuSxgAxDpf3L9/wAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAJ5IAwCySAMAHkgDAPxHAwCMSAMAfEgDAGxIAwBYSAMA + RkgDAA5IAwA4SAMAAAAAADhHAwAAAAAATkwDAFpMAwBoTAMAfkwDADRMAwBATAMAzEQDAKw+AwC+PgMA + zj4DAOA+AwD0PgMABD8DABo/AwA4PwMARD8DAFQ/AwByPwMAjD8DAKw/AwDEPwMA0j8DAOI/AwDuPwMA + +j8DAAhAAwAWQAMAKEADAD5AAwBWQAMAbEADAIRAAwCeQAMAtEADAM5AAwDcQAMA8kADAABBAwAaQQMA + LEEDADxBAwBSQQMAYEEDAG5BAwCAQQMAkEEDAJ5BAwCyQQMAvkEDANpBAwDoQQMAAEIDAAxCAwAcQgMA + MkIDAD5CAwBUQgMAaEIDAHxCAwCQQgMAokIDALZCAwDEQgMA2kIDAOZCAwDyQgMAAkMDABBDAwAuQwMA + PEMDAFhDAwBwQwMAiEMDAJZDAwCiQwMAsEMDAL5DAwDKQwMA2kMDAOZDAwD0QwMAFEQDACREAwA0RAMA + PEQDAExEAwBcRAMAdkQDAIhEAwCWRAMApEQDALBEAwAERAMAAAAAAIxLAwCWSwMAhEsDAHpLAwBuSwMA + ZEsDAFxLAwBMSwMAQksDADhLAwAsSwMAIksDABpLAwAKSwMAAEsDAPZKAwDuSgMA5EoDANpKAwDSSgMA + yEoDALhKAwCoSgMAnkoDAK5LAwDGSwMA1EsDAN5LAwDqSwMA+ksDAAxMAwAgTAMApkwDALJMAwDITAMA + AAAAACYAAIAIAACASAAAgDkAAIBKAACAMAAAgB8AAIAYAACASQAAgCsAAIAbAACARwAAgCQAAIAtAACA + IAAAgBQAAIALAACAJwAAgAQAAIASAACADQAAgDEAAIAQAACAPQAAgAAAAAAYAACAAgAAgAkAAIAHAACA + mwEAgJYAAIAXAACABgAAgCEAAIDCAACAwAAAgAgAAIAPAACAIgAAgAAAAAD6SAMA5kgDANBIAwAAAAAA + UD4DAGI+AwAAAAAAQEYDAJhMAwCMTAMA5EQDAPREAwAGRQMAGEUDACxFAwA+RQMAUkUDAGJFAwByRQMA + hkUDAJhFAwCsRQMAvEUDAM5FAwDgRQMA8EUDAABGAwASRgMALkYDAKZGAwBSRgMAZEYDAHJGAwB+RgMA + ikYDABxHAwAURwMACEcDAPJGAwDiRgMAykYDALZGAwCWRgMAAAAAAFpHAwBqRwMAgEcDAJBHAwBORwMA + AAAAAAsAAIAMAACAEwAAgAMAAIAXAACAEAAAgAkAAIBvAACAEgAAgAgAAIAOAACABAAAgHQAAIBzAACA + OQAAgDQAAIAAAAAArkcDANZHAwDCRwMAAAAAAMZJAwCySQMAoEkDAJBJAwDWSQMAbEkDAFpJAwBGSQMA + LkkDAB5JAwAOSgMAQkoDAH5JAwAgSgMA/kkDAFRKAwBmSgMAAAAAAH4+AwAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAABAIAAAAAAMAAAAAAAABGU1FMSW5zdGFsbGVyRXJyb3IAAABvZGJjY3AzMi5kbGwAAAAA + VmVyUXVlcnlWYWx1ZUEAAEdldEZpbGVWZXJzaW9uSW5mb0EAR2V0RmlsZVZlcnNpb25JbmZvU2l6ZUEA + dmVyc2lvbi5kbGwAJXNcb2RiY2NwMzIuYmFkACVzXCVzAAAAAAAAAFRoZSBwcm9ncmFtICVzLCBvciBv + bmUgb2YgaXRzIERMTHMgYXR0ZW1wdGVkIHRvIGNhbGwgdGhlIGZ1bmN0aW9uICVzIHdoaWNoIGlzIG5v + dCBzdXBwb3J0ZWQgaW4gdGhlIGxvYWRlZCBPREJDIGluc3RhbGxlciBETEwgKCVzKS4gIFByZXNzIE9L + IHRvIHByb2NlZWQuAAAAAAAAAABUaGUgT0RCQyBpbnN0YWxsZXIgRExMIChPREJDQ1AzMi5ETEwpIGlz + IG5vdCBpbnN0YWxsZWQgb24gdGhpcyBzeXN0ZW0uAABPREJDIEluc3RhbGxlciBFcnJvcgAAAAAQ/QIQ + qR4AEP/////QIAAQ4SAAEAAAAAD/////LyEAEFMhABAAAAAA/////wAAAACmIQAQAAAAAP/////9IQAQ + ASIAEAAAAAD/////QSIAEEUiABA/LkkuQy5DAEFTZXJ2aWNlU3RhdHVzAABDPy5DLkMAAEFTZXJ2aWNl + cwAAAEMuQy5DLkkuSQAAAFBHX0J5dGVBMlN0cgAAAABQR19TdHIyQnl0ZUEAAAAAPy5MAFJHQjJDb2xv + cnMAAElSUlIAAAAAQ29sb3JzMlJHQgAAR2V0Q3Vyc29yUG9zRXgAAFJSLkwuPwAASW50NjRfQWRkAAAA + SW50NjRfU3ViAAAASW50NjRfTXVsAAAASW50NjRfRGl2AAAASW50NjRfTW9kAAAAVmFsdWUyVmFyaWFu + dAAAAFZhcmlhbnQyVmFsdWUAAABEZWNpbWFscwAAAABOdW0yQmluYXJ5AABBU3VtAAAAAFIuSQBBQXZl + cmFnZQAAAABBTWF4AAAAAEFNaW4AAAAAQVNwbGl0U3RyAAAAQ0NJAEFEaWFsVXBDb25uZWN0aW9ucwAA + Rm9ybWF0TWVzc2FnZUV4AEkuSS5JAAAAQUVycm9yRXgAAAAAQ29udHJvbFNlcnZpY2UAAENvbnRpbnVl + U2VydmljZQA/Lj8uQy5DAFBhdXNlU2VydmljZQAAAAA/Lj8uTC5DLkMAAABTdG9wU2VydmljZQA/Lj8u + Py5DLkMAAABTdGFydFNlcnZpY2UAAAAAQ2xvc2VTZXJ2aWNlSGFuZGxlAABDLkkuQy5DAE9wZW5TZXJ2 + aWNlAENDLkkuSS5JLkkuTC5JAABJY21wUGluZwAAAABJcDJNYWNBZGRyZXNzAAAAUmVzb2x2ZUhvc3RU + b0lwAEFJUEFkZHJlc3NlcwAAAABBYm9ydFVybERvd25sb2FkVG9GaWxlRXgAAAAAQ0MuQy5MLkwAAAAA + VXJsRG93bmxvYWRUb0ZpbGVFeABDQz9DQy5JLkkAAABBc3luY0ludm9rZQBDQy4/LkkAAEludm9rZQAA + UmV2b2tlQWN0aXZlT2JqZWN0AABSZWdpc3Rlck9iamVjdEFzRmlsZU1vbmlrZXIAUmVnaXN0ZXJBY3Rp + dmVPYmplY3QAAAAALkkAAENyZWF0ZUd1aWQAAD8/AABJc0VxdWFsR3VpZABTdHJpbmdGcm9tQ0xTSUQA + Q0xTSURGcm9tU3RyaW5nAFByb2dJREZyb21DTFNJRABDTFNJREZyb21Qcm9nSUQAR2V0SVVua25vd24A + U3luY1RvU05UUFNlcnZlcgAAAABTeW5jVG9TZXJ2ZXJUaW1lAAAAAEMuTABHZXRTZXJ2ZXJUaW1lAAAA + Qy5JLkkuQwBBTmV0U2VydmVycwBDLkMuQy5DAEFOZXRGaWxlcwAAAEFUaW1lWm9uZXMAAFNldFN5c3Rl + bVRpbWVFeAAuTAAAR2V0U3lzdGVtVGltZQAAAFNldFN5c3RlbVRpbWUAAABEb3VibGUyRFQAAABEVDJE + b3VibGUAAABUaW1ldDJEVAAAAABULkwARFQyVGltZXQAAAAAVVRDMkRUAABUAAAARFQyVVRDAABTVDJE + VAAAAERUMlNUAAAARlQyRFQAAABUSS5MAAAAAERUMkZUAAAAQ2FuY2VsUmVnaXN0cnlDaGFuZ2UAAAAA + SUNMSUMAAABGaW5kUmVnaXN0cnlDaGFuZ2UAAENhbmNlbEZpbGVDaGFuZ2UAAAAAQ0xJQwAAAABGaW5k + RmlsZUNoYW5nZQAAQURlc2t0b3BBcmVhAAAAAENlbnRlcldpbmRvd0V4AABHZXRXaW5kb3dSZWN0RXgA + SS5MAEdldFdpbmRvd1RleHRFeABEZXN0cm95Q2FsbGJhY2tGdW5jAENDQy5PLkkAQ3JlYXRlQ2FsbGJh + Y2tGdW5jAABJLkkuTAAAAFVuQmluZEV2ZW50c0V4AABJST9DLj8uSQAAAABCaW5kRXZlbnRzRXgAAAAA + Q0lSLkMuQwBTSEJyb3dzZUZvbGRlcgAAU0hSZW5hbWVGaWxlcwAAAEMuSS5DAAAAU0hEZWxldGVGaWxl + cwAAAENDLkkuQwAAU0hDb3B5RmlsZXMAQ0NJLkMAAABTSE1vdmVGaWxlcwBJUi5MAAAAAFNIU3BlY2lh + bEZvbGRlcgBBRkhhbmRsZXNFeABGSGFuZGxlRXgAAABGVW5sb2NrRmlsZUV4AAAAST8/LkkAAABGTG9j + a0ZpbGVFeABGVW5sb2NrRmlsZQBJPz8ARkxvY2tGaWxlAAAARkZsdXNoRXgAAAAASU4AAEZDaFNpemVF + eAAAAEZFb0ZFeAAASU4uSQAAAABGU2Vla0V4AEkuQy5JAAAARlB1dHNFeABGR2V0c0V4AEZXcml0ZUV4 + AAAAAEZSZWFkRXgARkNsb3NlRXgAAAAARk9wZW5FeABDLkkuSS5JAEZDcmVhdGVFeAAAAERlbGV0ZUZp + bGVFeAAAAABDb21wYXJlRmlsZVRpbWVzAAAAAE1vdmVGaWxlRXgAAENDLkMuSS5JAAAAAENvcHlGaWxl + RXgAAEFEcml2ZUluZm8AAC5JLkMuQy5DLkMuSS5DAABHZXRTYXZlRmlsZU5hbWUALkkuQy5DLkMuQy5J + LkMuQwAAAABHZXRPcGVuRmlsZU5hbWUARXhwYW5kRW52aXJvbm1lbnRTdHJpbmdzAAAAAEdldFN5c3Rl + bURpcmVjdG9yeQAAR2V0V2luZG93c0RpcmVjdG9yeQBEZWxldGVEaXJlY3RvcnkAR2V0U2hvcnRQYXRo + TmFtZQAAAABHZXRMb25nUGF0aE5hbWUAQ1IuUi5SAABHZXRGaWxlT3duZXIAAAAAU2V0RmlsZUF0dHJp + YnV0ZXMAAABHZXRGaWxlQXR0cmlidXRlcwAAAEdldEZpbGVTaXplAFNldEZpbGVUaW1lcwAAAABDPy4/ + Lj8uTAAAAABHZXRGaWxlVGltZXMAAAAAQ0MAAEFEaXJlY3RvcnlJbmZvAABBRmlsZUF0dHJpYnV0ZXNF + eAAAAENDLkwAAAAAQUZpbGVBdHRyaWJ1dGVzAENDLkkuSQAAQURpckV4AABSZWdpc3RyeUhpdmVUb09i + amVjdAAAAABJQ08AUmVnaXN0cnlWYWx1ZXNUb09iamVjdAAAQVJlZ2lzdHJ5VmFsdWVzAENJQy5JAAAA + QVJlZ2lzdHJ5S2V5cwAAAEk/LkMuQy5JAAAAAFdyaXRlUmVnaXN0cnlLZXkAAAAASS5DLkMuSQBSZWFk + UmVnaXN0cnlLZXkAQ2xvc2VSZWdpc3RyeUtleQAAAABPcGVuUmVnaXN0cnlLZXkARGVsZXRlUmVnaXN0 + cnlLZXkAAABJQy5JLkkuQwAAAABDcmVhdGVSZWdpc3RyeUtleQAAAENDQwBBUHJpbnRlclRyYXlzAAAA + QVByaW50ZXJGb3JtcwAAAEFQcmludEpvYnMAAEMuPy5JLkkuSQAAAEFQcmludGVyc0V4AElDLkMuQy5J + LkMuQy5DLkkAAAAAU1FMRXhlY0V4AAAAP0MuPwAAAABTUUxTZXRQcm9wRXgAAAAAP0NSAFNRTEdldFBy + b3BFeAAAAABBU1FMRHJpdmVycwBBU1FMRGF0YVNvdXJjZXMAQ2hhbmdlU1FMRGF0YVNvdXJjZQBEZWxl + dGVTUUxEYXRhU291cmNlAENDLkkAAAAAQ3JlYXRlU1FMRGF0YVNvdXJjZQBBRGlzcGxheURldmljZXMA + Qy5DAEFSZXNvbHV0aW9ucwAAAABDST8/AAAAAEFSZXNvdXJjZUxhbmd1YWdlcwAAQ0lDAEFSZXNvdXJj + ZU5hbWVzAABBUmVzb3VyY2VUeXBlcwAAQVdpbmRvd1Byb3BzAAAAAENDSS5JAAAAQVdpbmRvd3NFeAAA + Q0kuSQAAAABBV2luZG93cwAAAABDLkkAQURlc2t0b3BzAAAAQVdpbmRvd1N0YXRpb25zAFJlYWRQcm9j + ZXNzTWVtb3J5RXgAQ0lJAEFIZWFwQmxvY2tzAEFQcm9jZXNzSGVhcHMAAABBUHJvY2Vzc01vZHVsZXMA + Q0kAAEFQcm9jZXNzVGhyZWFkcwBBUHJvY2Vzc2VzAABGbG9hdDJTdHIAAABTdHIyRmxvYXQAAABOAAAA + RG91YmxlMlN0cgAAU3RyMkRvdWJsZQAAPwAAAFVMb25nMlN0cgAAAFN0cjJVTG9uZwAAAExvbmcyU3Ry + AAAAAFN0cjJMb25nAAAAAFVTaG9ydDJTdHIAAFN0cjJVU2hvcnQAAFNob3J0MlN0cgAAAFN0cjJTaG9y + dAAAAElDSUlJLkkAVW5NYXJzaGFsQ3Vyc29yV0NoYXJBcnJheQAAAElDSUlJAAAAVW5NYXJzaGFsQ3Vy + c29yQ2hhckFycmF5AAAAAFVuTWFyc2hhbEN1cnNvcldTdHJpbmcAAFVuTWFyc2hhbEN1cnNvckNTdHJp + bmcAAFVuTWFyc2hhbEN1cnNvckxvZ2ljYWwAAFVuTWFyc2hhbEN1cnNvckRvdWJsZQAAAFVuTWFyc2hh + bEN1cnNvckZsb2F0AAAAAFVuTWFyc2hhbEN1cnNvclVJbnQAVW5NYXJzaGFsQ3Vyc29ySW50AABVbk1h + cnNoYWxDdXJzb3JVU2hvcnQAAABVbk1hcnNoYWxDdXJzb3JTaG9ydAAAAABJQ0lJLkkAAE1hcnNoYWxD + dXJzb3JXQ2hhckFycmF5AElDSUkAAAAATWFyc2hhbEN1cnNvckNoYXJBcnJheQAATWFyc2hhbEN1cnNv + cldTdHJpbmcAAAAATWFyc2hhbEN1cnNvckNTdHJpbmcAAAAATWFyc2hhbEN1cnNvckxvZ2ljYWwAAAAA + TWFyc2hhbEN1cnNvckRvdWJsZQBNYXJzaGFsQ3Vyc29yRmxvYXQAAE1hcnNoYWxDdXJzb3JVSW50AAAA + TWFyc2hhbEN1cnNvckludAAAAABNYXJzaGFsQ3Vyc29yVVNob3J0AElDSQBNYXJzaGFsQ3Vyc29yU2hv + cnQAAFVuTWFyc2hhbEFycmF5V0NoYXJBcnJheQAAAABVbk1hcnNoYWxBcnJheUNoYXJBcnJheQBVbk1h + cnNoYWxBcnJheVdTdHJpbmcAAABVbk1hcnNoYWxBcnJheUNTdHJpbmcAAABVbk1hcnNoYWxBcnJheUxv + Z2ljYWwAAABVbk1hcnNoYWxBcnJheURvdWJsZQAAAABVbk1hcnNoYWxBcnJheUZsb2F0AFVuTWFyc2hh + bEFycmF5VUludAAAVW5NYXJzaGFsQXJyYXlJbnQAAABVbk1hcnNoYWxBcnJheVVTaG9ydAAAAABVbk1h + cnNoYWxBcnJheVNob3J0AElSSS5JAAAATWFyc2hhbEFycmF5V0NoYXJBcnJheQAASVJJAE1hcnNoYWxB + cnJheUNoYXJBcnJheQAAAElSLkkAAAAATWFyc2hhbEFycmF5V1N0cmluZwBNYXJzaGFsQXJyYXlDU3Ry + aW5nAE1hcnNoYWxBcnJheUxvZ2ljYWwATWFyc2hhbEFycmF5RG91YmxlAABNYXJzaGFsQXJyYXlGbG9h + dAAAAE1hcnNoYWxBcnJheVVJbnQAAAAATWFyc2hhbEFycmF5SW50AE1hcnNoYWxBcnJheVVTaG9ydAAA + SVIAAE1hcnNoYWxBcnJheVNob3J0AAAAUmVhZFBMb2dpY2FsAAAAAFJlYWRMb2dpY2FsAFJlYWRCeXRl + cwAAAElJLkkAAAAAUmVhZFdDaGFyQXJyYXkAAFJlYWRQV1N0cmluZwAAAABJLkkAUmVhZFdTdHJpbmcA + UmVhZENoYXJBcnJheQAAAFJlYWRQQ1N0cmluZwAAAABSZWFkQ1N0cmluZwBSZWFkUFVJbnQ2NEFzRG91 + YmxlAFJlYWRVSW50NjRBc0RvdWJsZQAAUmVhZFBJbnQ2NEFzRG91YmxlAABSZWFkSW50NjRBc0RvdWJs + ZQAAAFJlYWRQUG9pbnRlcgAAAABSZWFkUG9pbnRlcgBSZWFkUFVJbnQAAABSZWFkVUludAAAAABSZWFk + UENoYXIAAABSZWFkQ2hhcgAAAABXcml0ZVBVSW50NjQAAAAAV3JpdGVVSW50NjQAV3JpdGVQSW50NjQA + V3JpdGVJbnQ2NAAAV3JpdGVQTG9naWNhbAAAAElMAABXcml0ZUxvZ2ljYWwAAAAAV3JpdGVCeXRlcwAA + V3JpdGVQV0NoYXIAV3JpdGVXQ2hhcgAASUNJLkkAAABXcml0ZVdDaGFyQXJyYXkAST8uSQAAAABXcml0 + ZVBXU3RyaW5nAAAAV3JpdGVXU3RyaW5nAAAAAElDLkkAAAAAV3JpdGVDaGFyQXJyYXkAAEk/AABXcml0 + ZVBDU3RyaW5nAAAASUMAAFdyaXRlQ1N0cmluZwAAAABVbmxvY2tIR2xvYmFsAAAATG9ja0hHbG9iYWwA + UmVBbGxvY0hHbG9iYWwAAEZyZWVIR2xvYmFsAEFsbG9jSEdsb2JhbAAAAABDAAAAQU1lbUJsb2NrcwAA + Q29tcGFjdE1lbQAAVmFsaWRhdGVNZW0AU2l6ZU9mTWVtAAAASUlJAEZyZWVSZWZBcnJheQAAAABGcmVl + UE1lbQAAAABGcmVlTWVtAFJlQWxsb2NNZW0AAElJAABBbGxvY01lbVRvAABBbGxvY01lbQAAAABJLj8A + VkZQMkNTeXMAAAAASQAAAEluaXRWRlAyQzMyAE9uVW5sb2FkAAAAAE9uTG9hZAAARm9ybWF0TWVzc2Fn + ZQAAAElOVChWRVJTSU9OKDUpKQB2ZnAyYzMyLmZsbABSZWdOb3RpZnlDaGFuZ2VLZXlWYWx1ZQBSZWdP + cGVuS2V5RXgAAAAAJVMoJSVVLCUlSSkATm8gbW9yZSByZWdpc3RyeSBub3RpZmljYXRpb24gc2xvdHMg + YXZhaWxhYmxlLgAAU2V0RXZlbnQAAAAAQ3JlYXRlVGhyZWFkAAAAAEZpbmRGaXJzdENoYW5nZU5vdGlm + aWNhdGlvbgBDcmVhdGVFdmVudAAlUyglJVUsJyUlUycsJSVVKQAAAE5vIG1vcmUgZmlsZS9kaXJlY3Rv + cnkgbm90aWZpY2F0aW9uIHNsb3RzIGF2YWlsYWJsZS4AAAAATGlicmFyeSBub3QgaW5pdGlhbGl6ZWQh + AAAAAFJlZ2lzdGVyQ2xhc3NFeABDcmVhdGVXaW5kb3dFeAAAX19WRlAyQ19BU1dDAAAAAFZpcnR1YWxQ + cm90ZWN0AABEQ29udgAAAERPVUJMRQAAU0lOR0xFAABCT09MAAAAAFVTSE9SVAAAU0hPUlQAAABTVFJJ + TkcAAFVMT05HAAAAVUlOVEVHRVIAAAAATE9ORwAAAABJTlRFR0VSACgpAAAoAAAARXJyb3JPdXQAAAAA + cEJ1ZmZlcgB2b2lkAAAAAC4AAABfX1ZGUDJDX0NCT18lVQAAX1ZGUC5BdXRvWWllbGQgPSAuVC4AAAAA + QXV0b1lpZWxkQmFjawAAAEJPT0wobFBhcmFtKQAAAABCT09MKHdQYXJhbSkAAAAAVU5TSUdORUQoTE9X + T1JEKGxQYXJhbSkpAAAAAFVOU0lHTkVEKEhJV09SRChsUGFyYW0pKQAAAABVTlNJR05FRChMT1dPUkQo + d1BhcmFtKSkAAAAAVU5TSUdORUQoSElXT1JEKHdQYXJhbSkpAAAAAExPV09SRChsUGFyYW0pAABISVdP + UkQobFBhcmFtKQAATE9XT1JEKHdQYXJhbSkAAEhJV09SRCh3UGFyYW0pAABVTlNJR05FRChsUGFyYW0p + AAAAAFVOU0lHTkVEKHdQYXJhbSkAAAAAKCVVLCVVLCVJLCVJKQAAAF9WRlAuQXV0b1lpZWxkID0gLkYu + AAAAAEF1dG9ZaWVsZEZhbHNlAABfVkZQLkF1dG9ZaWVsZAAAX19WRlAyQ19XQ0JPJVVfJVVfJVUuAAAA + RW5kAENhbGxXaW5kb3dQcm9jAAB2QXV0b1lpZWxkAAB2UmV0VmFsAGxQYXJhbQAAd1BhcmFtAAB1TXNn + AAAAAGhXbmQAAAAARW51bUNoaWxkV2luZG93cwAAAABTZXRDbGFzc0xvbmcAAAAAR2V0Q2xhc3NMb25n + AAAAAFNldFdpbmRvd0xvbmcAAABHZXRXaW5kb3dMb25nAAAAVGhlcmUgaXMgbm8gbWVzc2FnZSBiaW5k + aW5nIGZvciBtZXNzYWdlIG5vLiAlSQAAVGhlcmUgYXJlIG5vIG1lc3NhZ2UgYmluZGluZ3MgZm9yIHdp + bmRvdyAlSQBfX1ZGUDJDX1dDQk8lVV8lVV8lVQAAAABfX1ZGUDJDX0NCV0MAAAAASGVhcENyZWF0ZQAA + U2NyZWVuVG9DbGllbnQAAEdldEN1cnNvclBvcwAAAABfX1ZGUDJDX1RaV0MAAAAARklFTEQoJUksJUkp + K0NIUigwKQBGQ09VTlQoJUkpAABTRUxFQ1QoMCkAAABDUkVBVEUgQ1VSU09SICVTICglUykAAABTRUxF + Q1QoJyVTJykAAAAARElNRU5TSU9OICVTWyVVXQAAAABESU1FTlNJT04gJVNbJVUsJVVdAF9BbGxvY01l + bW8AAEZ1bmN0aW9uIGZhaWxlZC4AAAAAX01lbW9DaGFuAAAARnVuY3Rpb24gZmFpbGVkIGZvciB3b3Jr + YXJlYSAlSS4AAAAAQ1JFQVRFT0JKRUNUKCdSZWxhdGlvbicpAAAAAENSRUFURU9CSkVDVCgnRW1wdHkn + KQAAAENSRUFURU9CSkVDVCgnJVMnKQAAeyA6On0AAAB7XiUwNGh1LSUwMmh1LSUwMmh1ICUwMmh1OiUw + Mmh1OiUwMmh1fQAARmlsZVRpbWVUb1N5c3RlbVRpbWUAAAAARmlsZVRpbWVUb0xvY2FsRmlsZVRpbWUA + U3lzdGVtVGltZVRvRmlsZVRpbWUAAAAATXVsdGlCeXRlVG9XaWRlQ2hhcgBGVUxMUEFUSCgnJXMnKStD + SFIoMCkAAABXaWRlQ2hhclRvTXVsdGlCeXRlAEVudW1EaXNwbGF5U2V0dGluZ3MARW51bVJlc291cmNl + TGFuZ3VhZ2VzAAAARW51bVJlc291cmNlTmFtZXMAAABFbnVtUmVzb3VyY2VUeXBlcwAAAEhlYXBMaXN0 + MzJGaXJzdABDcmVhdGVUb29saGVscDMyU25hcFNob3QAAAAAR2V0TW9kdWxlQmFzZU5hbWUAAABFbnVt + WFdpbmRvd3MAAAAARW51bVdpbmRvd3NYAAAAACglVSkAAAAARW51bURlc2t0b3BzAAAAAEVudW1XaW5k + b3dTdGF0aW9ucwAARW51bURpc3BsYXlEZXZpY2VzQQBFbnVtRGlzcGxheVNldHRpbmdzQQAAAABFbnVt + RGVza3RvcFdpbmRvd3MAAEVudW1EZXNrdG9wc0EAAABFbnVtV2luZG93U3RhdGlvbnNBAEdldFByb2Nl + c3NXaW5kb3dTdGF0aW9uAHVzZXIzMi5kbGwAAEdldE1vZHVsZUhhbmRsZQBUb29saGVscDMyUmVhZFBy + b2Nlc3NNZW1vcnkASGVhcDMyTmV4dAAASGVhcDMyRmlyc3QASGVhcDMyTGlzdE5leHQAAEhlYXAzMkxp + c3RGaXJzdABNb2R1bGUzMk5leHQAAAAATW9kdWxlMzJGaXJzdAAAAFRocmVhZDMyTmV4dAAAAABUaHJl + YWQzMkZpcnN0AAAAUHJvY2VzczMyTmV4dAAAAFByb2Nlc3MzMkZpcnN0AABDcmVhdGVUb29saGVscDMy + U25hcHNob3QAAAAAa2VybmVsMzIuZGxsAAAAAE50UXVlcnlJbmZvcm1hdGlvblByb2Nlc3MAAABudGRs + bC5kbGwAAABHZXRNb2R1bGVCYXNlTmFtZUEAAEVudW1Qcm9jZXNzTW9kdWxlcwAARW51bVByb2Nlc3Nl + cwAAAHBzYXBpLmRsbAAAAEZDcmVhdGVFeC9GT3BlbkV4AAAATWF4aW11bSBudW1iZXIgb2YgZmlsZSBo + YW5kbGVzIGV4Y2VlZGVkLgAAAABVbmxvY2tGaWxlAABMb2NrRmlsZQAAAABGbHVzaEZpbGVCdWZmZXJz + AAAAAFNldEVuZE9mRmlsZQAAAABTZXRGaWxlUG9pbnRlcgAAQ2xvc2VIYW5kbGUAR2V0Vm9sdW1lUGF0 + aE5hbWUAAABEZWxldGVGaWxlAABSZW1vdmVEaXJlY3RvcnkAQ3JlYXRlRGlyZWN0b3J5AFg6XABcXC5c + WDoAAEZ1bmN0aW9uIGZhaWxlZDogJUkAKCVJLCVVLCVJKQAAQWxsACouKgAAAAAAU0hHZXRQYXRoRnJv + bUlETGlzdAAlUyglJVUsJSVVLCUlVSkARnVuY3Rpb24gZmFpbGVkLiBIUkVTVUxUOiAlSQAAAABXcml0 + ZUZpbGUAAABSZWFkRmlsZQAAAABNb3ZlRmlsZQAAAAAlcyglJUk2NGQsJSVJNjRkLCUlLjJmKQBMb29r + dXBBY2NvdW50U2lkAAAAAFNldEZpbGVUaW1lAEdldEZpbGVUaW1lAEdldEZpbGVJbmZvcm1hdGlvbkJ5 + SGFuZGxlAABDcmVhdGVGaWxlAABHZXRGaWxlQXR0cmlidXRlc0V4AFBhdGggZXhjZWVkcyBNQVhfUEFU + SCBjaGFyYWN0ZXJzLgAAACVTKCclJVMnLCclJVMnLCUlUywlJVMsJSVTLCUlMEYsJSVVKQAAAAAAAAAA + ZmlsZW5hbWUgQygyNTQpLCBkb3NmaWxlbmFtZSBDKDEzKSwgY3JlYXRpb250aW1lIFQsIGFjY2Vzc3Rp + bWUgVCwgd3JpdGV0aW1lIFQsIGZpbGVzaXplIE4oMjAsMCksIGZpbGVhdHRyaWJzIEkAAExvb2t1cEFj + Y291bnRTaWRBAAAAR2V0U2VjdXJpdHlEZXNjcmlwdG9yT3duZXIAAEdldEtlcm5lbE9iamVjdFNlY3Vy + aXR5AGFkdmFwaTMyLmRsbAAAAABTSElMQ3JlYXRlRnJvbVBhdGgAAFNIR2V0U3BlY2lhbEZvbGRlclBh + dGhBAHNoZWxsMzIuZGxsAEdldFZvbHVtZVBhdGhOYW1lQQAARGV2aWNlSW9Db250cm9sAFF1ZXJ5RG9z + RGV2aWNlQQBHZXRWb2x1bWVOYW1lRm9yVm9sdW1lTW91bnRQb2ludEEAAABGaW5kRmlyc3RWb2x1bWVN + b3VudFBvaW50AAAARmluZE5leHRWb2x1bWVNb3VudFBvaW50QQAAAEZpbmRGaXJzdFZvbHVtZU1vdW50 + UG9pbnRBAABGaW5kVm9sdW1lQ2xvc2UARmluZE5leHRWb2x1bWVBAEZpbmRGaXJzdFZvbHVtZUEAAAAA + VW5sb2NrRmlsZUV4AAAAAExvY2tGaWxlRXgAAEdldExvbmdQYXRoTmFtZUEAAAAAR2V0RmlsZUF0dHJp + YnV0ZXNFeEEAAAAAR2V0RmlsZVNpemVFeAAAAC4uAABGaW5kTmV4dEZpbGUAAAAARmluZEZpcnN0Rmls + ZQAAAEofABBKHwAQSh8AEENUaHJlYWRQb29sOjpJbml0aWFsaXplAE5vdCBlbm91Z2ggbWVtb3J5LgAA + SW5pdGlhbGl6ZUNyaXRpY2FsU2VjdGlvbgAAAFRoZXJlJ3Mgbm90IGVub3VnaCBtZW1vcnkgdG8gY29t + cGxldGUgdGhlIG9wZXJhdGlvbi4AAAAAUmVnU2V0VmFsdWVFeAAAAFJlZ1F1ZXJ5VmFsdWVFeABSZWdF + bnVtVmFsdWUAAAAAUmVnRW51bUtleUV4AAAAAFJlZ1F1ZXJ5SW5mb0tleQBTSERlbGV0ZUtleQBSZWdE + ZWxldGVLZXkAAAAAUmVnQ3JlYXRlS2V5RXgAAFN0YW5kYXJkAAAAAGdldGhvc3RieW5hbWUAAABIb3N0 + IG5vdCBmb3VuZC4AaW5ldF9hZGRyAAAASW52YWxpZCBJUCBhZGRyZXNzIHBhc3NlZC4AAGljbXAuZGxs + AAAAAEljbXBTZW5kRWNobwAAAABJY21wQ2xvc2VIYW5kbGUAU2VuZEFSUABpcGhscGFwaS5kbGwAAAAA + SWNtcENyZWF0ZUZpbGUAAEdsb2JhbFVubG9jawAAAABHbG9iYWxMb2NrAABHbG9iYWxSZUFsbG9jAAAA + R2xvYmFsRnJlZQAAR2xvYmFsQWxsb2MASGVhcEZyZWUAAAAAVW5rbm93biBleGNlcHRpb24gY29kZS4A + AAAAAFRoZSBhbGxvY2F0aW9uIGF0dGVtcHQgZmFpbGVkIGJlY2F1c2Ugb2YgaGVhcCBjb3JydXB0aW9u + IG9yIGltcHJvcGVyIGZ1bmN0aW9uIHBhcmFtZXRlcnMuAAAAAAAAAFRoZSBhbGxvY2F0aW9uIGF0dGVt + cHQgZmFpbGVkIGJlY2F1c2Ugb2YgYSBsYWNrIG9mIGF2YWlsYWJsZSBtZW1vcnkgb3IgaGVhcCBjb3Jy + dXB0aW9uLgBIZWFwQWxsb2MvSGVhcFJlQWxsb2MAAABDTEVBUiBETExTICdXcml0ZUNoYXInLCdXcml0 + ZVBDaGFyJywnV3JpdGVJbnQ4JywnV3JpdGVQSW50OCcsJ1dyaXRlVUludDgnLCdXcml0ZVBVSW50OCcs + J1dyaXRlU2hvcnQnLCdXcml0ZVBTaG9ydCcsJ1dyaXRlVVNob3J0JywnV3JpdGVQVVNob3J0JywnV3Jp + dGVJbnQnLCdXcml0ZVBJbnQnLCdXcml0ZVVJbnQnLCdXcml0ZVBVSW50JywnV3JpdGVQb2ludGVyJywn + V3JpdGVQUG9pbnRlcicsJ1dyaXRlRmxvYXQnLCdXcml0ZVBGbG9hdCcsJ1dyaXRlRG91YmxlJywnV3Jp + dGVQRG91YmxlJywnUmVhZEludDgnLCdSZWFkUEludDgnLCdSZWFkVUludDgnLCdSZWFkUFVJbnQ4Jywn + UmVhZFNob3J0JywnUmVhZFBTaG9ydCcsJ1JlYWRVU2hvcnQnLCdSZWFkUFVTaG9ydCcsJ1JlYWRJbnQn + LCdSZWFkUEludCcsJ1JlYWRGbG9hdCcsJ1JlYWRQRmxvYXQnLCdSZWFkRG91YmxlJywnUmVhZFBEb3Vi + bGUnAF9FeGVjdXRlAAAAAEZhaWxlZCB0byBERUNMQVJFIGZ1bmN0aW9uLiBFcnJvciAlSQAAAABERUNM + QVJFIERPVUJMRSBSZWFkUERvdWJsZSBJTiB2ZnAyYzMyLmZsbCBJTlRFR0VSAAAAREVDTEFSRSBET1VC + TEUgUmVhZERvdWJsZSBJTiB2ZnAyYzMyLmZsbCBJTlRFR0VSAAAAAERFQ0xBUkUgU0lOR0xFIFJlYWRQ + RmxvYXQgSU4gdmZwMmMzMi5mbGwgSU5URUdFUgAAAABERUNMQVJFIFNJTkdMRSBSZWFkRmxvYXQgSU4g + dmZwMmMzMi5mbGwgSU5URUdFUgBERUNMQVJFIElOVEVHRVIgUmVhZFBJbnQgSU4gdmZwMmMzMi5mbGwg + SU5URUdFUgBERUNMQVJFIElOVEVHRVIgUmVhZEludCBJTiB2ZnAyYzMyLmZsbCBJTlRFR0VSAABERUNM + QVJFIElOVEVHRVIgUmVhZFBVU2hvcnQgSU4gdmZwMmMzMi5mbGwgSU5URUdFUgAAREVDTEFSRSBJTlRF + R0VSIFJlYWRVU2hvcnQgSU4gdmZwMmMzMi5mbGwgSU5URUdFUgAAAERFQ0xBUkUgU0hPUlQgUmVhZFBT + aG9ydCBJTiB2ZnAyYzMyLmZsbCBJTlRFR0VSAERFQ0xBUkUgU0hPUlQgUmVhZFNob3J0IElOIHZmcDJj + MzIuZmxsIElOVEVHRVIAAERFQ0xBUkUgU0hPUlQgUmVhZFBVSW50OCBJTiB2ZnAyYzMyLmZsbCBJTlRF + R0VSAERFQ0xBUkUgU0hPUlQgUmVhZFVJbnQ4IElOIHZmcDJjMzIuZmxsIElOVEVHRVIAAERFQ0xBUkUg + U0hPUlQgUmVhZFBJbnQ4IElOIHZmcDJjMzIuZmxsIElOVEVHRVIAAERFQ0xBUkUgU0hPUlQgUmVhZElu + dDggSU4gdmZwMmMzMi5mbGwgSU5URUdFUgAAAERFQ0xBUkUgV3JpdGVQRG91YmxlIElOIHZmcDJjMzIu + ZmxsIElOVEVHRVIsIERPVUJMRQBERUNMQVJFIFdyaXRlRG91YmxlIElOIHZmcDJjMzIuZmxsIElOVEVH + RVIsIERPVUJMRQAAREVDTEFSRSBXcml0ZVBGbG9hdCBJTiB2ZnAyYzMyLmZsbCBJTlRFR0VSLCBTSU5H + TEUAAERFQ0xBUkUgV3JpdGVGbG9hdCBJTiB2ZnAyYzMyLmZsbCBJTlRFR0VSLCBTSU5HTEUAAABERUNM + QVJFIFdyaXRlUFBvaW50ZXIgSU4gdmZwMmMzMi5mbGwgSU5URUdFUiwgSU5URUdFUgAAAERFQ0xBUkUg + V3JpdGVQb2ludGVyIElOIHZmcDJjMzIuZmxsIElOVEVHRVIsIElOVEVHRVIAAAAAREVDTEFSRSBXcml0 + ZVBVSW50IElOIHZmcDJjMzIuZmxsIElOVEVHRVIsIElOVEVHRVIAAERFQ0xBUkUgV3JpdGVVSW50IElO + IHZmcDJjMzIuZmxsIElOVEVHRVIsIElOVEVHRVIAAABERUNMQVJFIFdyaXRlUEludCBJTiB2ZnAyYzMy + LmZsbCBJTlRFR0VSLCBJTlRFR0VSAAAAREVDTEFSRSBXcml0ZUludCBJTiB2ZnAyYzMyLmZsbCBJTlRF + R0VSLCBJTlRFR0VSAAAAAERFQ0xBUkUgV3JpdGVQVVNob3J0IElOIHZmcDJjMzIuZmxsIElOVEVHRVIs + IFNIT1JUAABERUNMQVJFIFdyaXRlVVNob3J0IElOIHZmcDJjMzIuZmxsIElOVEVHRVIsIFNIT1JUAAAA + REVDTEFSRSBXcml0ZVBTaG9ydCBJTiB2ZnAyYzMyLmZsbCBJTlRFR0VSLCBTSE9SVAAAAERFQ0xBUkUg + V3JpdGVTaG9ydCBJTiB2ZnAyYzMyLmZsbCBJTlRFR0VSLCBTSE9SVAAAAABERUNMQVJFIFdyaXRlUFVJ + bnQ4IElOIHZmcDJjMzIuZmxsIElOVEVHRVIsIElOVEVHRVIAREVDTEFSRSBXcml0ZVVJbnQ4IElOIHZm + cDJjMzIuZmxsIElOVEVHRVIsIElOVEVHRVIAAERFQ0xBUkUgV3JpdGVQSW50OCBJTiB2ZnAyYzMyLmZs + bCBJTlRFR0VSLCBJTlRFR0VSAABERUNMQVJFIFdyaXRlSW50OCBJTiB2ZnAyYzMyLmZsbCBJTlRFR0VS + LCBJTlRFR0VSAAAAREVDTEFSRSBXcml0ZVBDaGFyIElOIHZmcDJjMzIuZmxsIElOVEVHRVIsIFNUUklO + RwAAAERFQ0xBUkUgV3JpdGVDaGFyIElOIHZmcDJjMzIuZmxsIElOVEVHRVIsIFNUUklORwAAAABIZWFw + V2FsawAAAABIZWFwVmFsaWRhdGUAAAAASGVhcENvbXBhY3QASGVhcFNldEluZm9ybWF0aW9uAABTZXRM + b2NhbFRpbWUAAAAATmV0U2VydmVyRW51bQAAAE5ldEZpbGVFbnVtAE5ldFJlbW90ZVRPRAAAAABOZXRB + cGlCdWZmZXJTaXplAAAAAE5ldEFwaUJ1ZmZlclJlYWxsb2NhdGUAAE5ldEFwaUJ1ZmZlckZyZWUAAAAA + TmV0QXBpQnVmZmVyQWxsb2NhdGUAAAAATG9hZExpYnJhcnkAbmV0YXBpMzIuZGxsAAAAAFNRTEdldERh + dGEAAFNRTEZldGNoAAAAAFNRTFBhcmFtRGF0YQAAAABTUUxQdXREYXRhAABTUUxTZXREZXNjRmllbGQA + U1FMU2V0RGVzY1JlYwAAAFNRTEdldFN0bXRBdHRyAABTUUxCaW5kUGFyYW1ldGVyAAAAAEludmFsaWQg + ZGF0YXR5cGUgY29udmVyc2lvbiBzcGVjaWZpZWQgZm9yIHBhcmFtZXRlciAnJVMnLgAAAFBhcmFtZXRl + ciBzY2hlbWEgY29udGFpbmVkIGludmFsaWQgZGF0YSBuZWFyICclMjBTJy4AAAAAAAAAAFBhcmFtZXRl + ciBzY2hlbWEgY29udGFpbmVkIGludmFsaWQgZGF0YSBuZWFyICclMjBTJywgZXhwZWN0ZWQgU1FMIHR5 + cGUuAFBhcmFtZXRlciBzY2hlbWEgY29udGFpbmVkIGludmFsaWQgZGF0YSAnJVMnLCBleHBlY3RlZCBT + UUwgdHlwZS4AAAAAU1FMX0RFQ0lNQUwAU1FMX05VTUVSSUMAU1FMX1JFQUwAAAAAU1FMX0ZMT0FUAAAA + U1FMX0RPVUJMRQAAU1FMX1NNQUxMSU5UAAAAAFNRTF9JTlRFR0VSAFNRTF9CSUdJTlQAAFBhcmFtZXRl + ciBzY2hlbWEgY29udGFpbmVkIGludmFsaWQgZGF0YSBuZWFyICclMjBTJywgZXhwZWN0ZWQgJyknLgAA + AAAAAFBhcmFtZXRlciBzY2hlbWEgY29udGFpbmVkIGludmFsaWQgZGF0YSBuZWFyICclMjBTJywgZXhw + ZWN0ZWQgcHJlY2lzaW9uLgAAAABTUUxfVElNRVNUQU1QAAAAU1FMX0RBVEUAAAAAU1FMX0NIQVIAAAAA + U1FMX0JJTkFSWQAAU1FMX1dDSEFSAAAAAAAAAFBhcmFtZXRlciBzY2hlbWEgY29udGFpbmVkIGludmFs + aWQgZGF0YSwgcGFyYW1ldGVyIG51bWJlciAnJUknIG91dCBvZiBib3VuZHMuAAAAUGFyYW1ldGVyIHNj + aGVtYSBjb250YWluZWQgaW52YWxpZCBkYXRhIG5lYXIgJyUxMFMnLCBleHBlY3RlZCBwYXJhbWV0ZXIg + bnVtYmVyLgBQYXJhbWV0ZXIgZXhwcmVzc2lvbiAnJTIwUy4uLicgZXhjZWVkcyBsaW1pdCBvZiA1MTIg + Y2hhcmFjdGVycwAAQ1JFQVRFIENVUlNPUiAlUyBGUk9NIEFSUkFZICVTAABWYXJpYWJsZSBsaXN0IGNv + bnRhaW5lZCBsZXNzIHZhcmlhYmxlcyB0aGFuIGNvbHVtbnMgcHJlc2VudCBpbiByZXN1bHRzZXQuAAAA + AAAAAFZhcmlhYmxlIGxpc3QgY29udGFpbmVkIG1vcmUgdmFyaWFibGVzIHRoYW4gY29sdW1ucyBwcmVz + ZW50IGluIHJlc3VsdHNldC4AAABWYXJpYWJsZSBsaXN0IGNvbnRhaW5lZCBpbnZhbGlkIGRhdGEgbmVh + ciAnJTEwUycuAAAAVmFyaWFibGUgbGlzdCBjb250YWluZWQgaW52YWxpZCBkYXRhIG5lYXIgJyUxMFMn + LCBleHBlY3RlZCBjb2x1bW5uYW1lLgAATm8gdmFyaWFibGUgbGlzdCBzcGVjaWZpZWQgZm9yIHJlc3Vs + dHNldCAnJUknAAAAUkVMRUFTRSAlUwAAQ29sdW1uICclUycgbm90IGNvbnRhaW5lZCBpbiByZXN1bHRz + ZXQgYnV0IGV4aXN0cyBpbiBjdXJzb3IuAAAAAEFGSUVMRFMoJVMsJyVTJykAAAAAX19WRlAyQ19PREJD + X0FSUkFZXyVVAAAAQ3Vyc29yc2NoZW1hIGNvbnRhaW5lZCBpbnZhbGlkIGRhdGEgbmVhciAnJTIwUycu + AAAAAE5PQ1BUUkFOUwAAAE5VTEwAAAAASW52YWxpZCBjdXJzb3JzY2hlbWEgZm9yIGNvbHVtbiAnJVMn + LCBleHBlY3RlZCBjb2x1bW4gc2NhbGUuAAAAAEludmFsaWQgY3Vyc29yc2NoZW1hIGZvciBjb2x1bW4g + JyVTJywgZXhwZWN0ZWQgY29sdW1uIHByZWNpc2lvbi4AAAAASW52YWxpZCBjdXJzb3JzY2hlbWEgZm9y + IGNvbHVtbiAnJVMnLCBleHBlY3RlZCAnKScuAEludmFsaWQgY3Vyc29yc2NoZW1hIGZvciBjb2x1bW4g + JyVTJywgZXhwZWN0ZWQgY29sdW1uIHNpemUuAEludmFsaWQgY3Vyc29yc2NoZW1hIGZvciBjb2x1bW4g + JyVTJywgZXhwZWN0ZWQgJygnLgBEYXRhdHlwZSBjb252ZXJzaW9uIGZvciBjb2x1bW4gJyVTJyB0byBW + RlAgdHlwZSAnJXMnIG5vdCBzdXBwb3J0ZWQuAERhdGF0eXBlIGluIGN1cnNvcnNjaGVtYSBmb3IgY29s + dW1uICclUycgaXMgaW52YWxpZC4AAAAAQ2NWdlFxV3dNbU5uQmJGZklpWXlEZFR0TGwAAENvbHVtbiAn + JVMnIG5vdCBjb250YWluZWQgaW4gcmVzdWx0c2V0IGJ1dCBzcGVjaWZpZWQgaW4gY3Vyc29yc2NoZW1h + LgAAAEN1cnNvcnNjaGVtYSBjb250YWluZWQgaW52YWxpZCBkYXRhIG5lYXIgJyUxMFMnLgAAAABTUUxH + ZXRJbmZvAABTUUxCaW5kQ29sAABleHByAAAAAGV4cHIlSQAAU1FMQ29sQXR0cmlidXRlAFNRTERlc2Ny + aWJlQ29sAABTUUxBbGxvY0hhbmRsZQAAKCVJLCVJLCVJKQAAKQAAACgtMSwAAAAAX19WRlAyQ19PREJD + X1BBUk1fJVUAAAAAU1FMTW9yZVJlc3VsdAAAAFNRTEZyZWVTdG10AHNxbHJlc3VsdCVJAHNxbHJlc3Vs + dAAAAFNRTFJvd0NvdW50AFNRTE51bVJlc3VsdENvbHMAAAAAU1FMRXhlY0RpcmVjdAAAAFBFUkZEQVRB + TE9HAFBFUkZEQVRBRklMRQAAAABTUUxTZXRDb25uZWN0QXR0cgAAAFBFUkZEQVRBAAAAAElTT0xBVElP + TkxFVkVMAABDT05ORUNURUQAAABUUkFDRUZJTEUAAABTUUxHZXRDb25uZWN0QXR0cgAAAFRSQUNFAAAA + SU5UKFNRTEdFVFBST1AoQ1VSU09SR0VUUFJPUCgnQ29ubmVjdEhhbmRsZScsJyVTJyksJ09EQkNoZGJj + JykpAElOVChTUUxHRVRQUk9QKCVVLCdPREJDaGRiYycpKQAAU1FMRHJpdmVycwAAU1FMRGF0YVNvdXJj + ZXMAAERTTj0AAAAAU1FMQ29uZmlnRGF0YVNvdXJjZQBTWVMoMzA1MykAAABDYW5ub3QgcmV0cmlldmUg + T0RCQyBlbnZpcm9ubWVudCBoYW5kbGUuIEVycm9yOiAlSQAASU5UKFZBTChTWVMoMzA1MykpKQAiSVVu + a25vd24uUXVlcnlJbnRlcmZhY2UiAAAAU1lTKDMwOTYsJUkpAAAAAERhdGF0eXBlIG1pc21hdGNoIGR1 + cmluZyBhcnJheSBtYXJzaGFsaW5nIQAAU2FmZUFycmF5VW5hY2Nlc3NEYXRhAAAAU2FmZUFycmF5QWNj + ZXNzRGF0YQBDYW5ub3QgY29udmVyIGZyb20gdHlwZSAnJUMnIHRvIFZUX0RFQ0lNQUwuAFZhckRlY0Zy + b21JOAAAAABWYXJEZWNGcm9tUjgAAAAASW52YWxpZCBwYXJhbWV0ZXIgdHlwZSAlSQAAAFBhcmFtZXRl + ciB0eXBlIFZUX1JFQ09SRCBub3Qgc3VwcG9ydGVkIQBDYW5ub3QgY29udmVydCBmcm9tIHR5cGUgJUMg + dG8gVlRfVUlOVAAAQ2Fubm90IGNvbnZlcnQgZnJvbSB0eXBlICVDIHRvIFZUX0lOVAAAAENhbm5vdCBj + b252ZXJ0IGZyb20gdHlwZSAlQyB0byBWVF9VSTQAAABQYXJhbWV0ZXIgdHlwZSBWVF9VSTIgbm90IHN1 + cHBvcnRlZCEAAAAAUGFyYW1ldGVyIHR5cGUgVlRfVUkxIG5vdCBzdXBwb3J0ZWQhAAAAAFBhcmFtZXRl + ciB0eXBlIFZUX0kxIG5vdCBzdXBwb3J0ZWQhAFBhcmFtZXRlciB0eXBlIFZUX1VOS05PV04gbm90IHN1 + cHBvcnRlZCEAAAAAQ2Fubm90IGNvbnZlcnQgZnJvbSB0eXBlICVDIHRvIFZUX1I4AAAAAENhbm5vdCBj + b252ZXJ0IGZyb20gdHlwZSAlQyB0byBWVF9SNAAAAABDYW5ub3QgY29udmVydCBmcm9tIHR5cGUgJUMg + dG8gVlRfSTQAAAAAQ2Fubm90IG1hcnNoYWwgcmVmZXJlbmNlIHBhcmFtZXRlcnMgaW4gYW4gYXN5bmNy + b25vdXMgY2FsbCEASW52YWxpZCBwYXJhbWV0ZXIgdHlwZTogJUkAACJJRGlzcGF0Y2guR2V0SURzT2ZO + YW1lcyIAAABPAG4ARQByAHIAbwByAAAASQBEAGkAcwBwAGEAdABjAGgALgBHAGUAdABJAEQAcwBPAGYA + TgBhAG0AZQBzAAAARgB1AG4AYwB0AGkAbwBuACAAZgBhAGkAbABlAGQAIQAAAAAAQwBvAEMAcgBlAGEA + dABlAEkAbgBzAHQAYQBuAGMAZQAAAAAAQ29NYXJzaGFsSW50ZXJUaHJlYWRJbnRlcmZhY2VJblN0cmVh + bQAAAFJPVC5SZWdpc3RlcgAAAABDcmVhdGVGaWxlTW9uaWtlcgAAAFJlZ2lzdGVyQWN0aXZlT2JqZWN0 + RXgAAEZpbGUgY29udGFpbmVkIGludmFsaWQgQ0xTSUQuAAAAUmVhZENsYXNzU3RnAAAAAFdyaXRlQ2xh + c3NTdGcAAABTdGdDcmVhdGVEb2NmaWxlAAAAAEdldFJ1bm5pbmdPYmplY3RUYWJsZQAAAFNZUygzMDk1 + KQAAAEZ1bmN0aW9uIGZhaWxlZCB0byByZXR1cm4gYSB2YWxpZCBJRGlzcGF0Y2ggcG9pbnRlci4AAAAA + Q29DcmVhdGVHdWlkAAAAAFF1ZXJ5SW50ZXJmYWNlAABJTlQoU1lTKDMwOTUsJVMpKQAAAERldmljZUNh + cGFiaWxpdGllcwAARW51bUZvcm1zAAAAU2l6ZQAAAABUaW1lAAAAAE5vdGlmeW5hbWUAAFN1Ym1pdHRl + ZAAAAFBhZ2VzUHJpbnRlZAAAAABUb3RhbFBhZ2VzAABQb3NpdGlvbgAAAABKb2JJZAAAAHBTdGF0dXMA + TWFjaGluZU5hbWUAVXNlck5hbWUAAAAARG9jdW1lbnQAAAAARW51bUpvYnMAAAAAT3BlblByaW50ZXIA + VHJhbnNtaXNzaW9uUmV0cnlUaW1lb3V0AAAAAERldmljZU5vdFNlbGVjdGVkVGltZW91dAAAAABBdmVy + YWdlUFBNAABKb2JzAAAAAFN0YXR1cwAAVW50aWxUaW1lAAAAU3RhcnRUaW1lAAAARGVmYXVsdFByaW9y + aXR5AFByaW9yaXR5AAAAAEF0dHJpYnV0ZXMAAFBhcmFtZXRlcnMAAERhdGF0eXBlAAAAAFByaW50UHJv + Y2Vzc29yAABTZXBGaWxlAExvY2F0aW9uAAAAAERyaXZlck5hbWUAAFBvcnROYW1lAAAAAFNoYXJlTmFt + ZQAAAFByaW50ZXJOYW1lAFNlcnZlck5hbWUAAENvbW1lbnQATmFtZQAAAABEZXNjcmlwdGlvbgBGbGFn + cwAAAEVudW1QcmludGVycwAAAABFbnVtRm9ybXNBAAB3aW5zcG9vbC5kcnYAAAAAUmFzRW51bUNvbm5l + Y3Rpb25zAABSYXNHZXRQcm9qZWN0aW9uSW5mbwAAAABSYXNHZXRFcnJvclN0cmluZ0EAAFJhc0dldFBy + b2plY3Rpb25JbmZvQQAAAFJhc0VudW1Db25uZWN0aW9uc0EAUmFzQ29ubmVjdGlvbk5vdGlmaWNhdGlv + bkEAAHJhc2FwaTMyLmRsbAAAAABcAAAAUmVnQ2xvc2VLZXkARW51bVNlcnZpY2VzU3RhdHVzAABFbnVt + U2VydmljZXNTdGF0dXNFeAAAAABFbnVtRGVwZW5kZW50U2VydmljZXNBAABPcGVuU2VydmljZUEAAAAA + U3RhcnRTZXJ2aWNlQQAAAEVudW1TZXJ2aWNlc1N0YXR1c0V4QQAAAEVudW1TZXJ2aWNlc1N0YXR1c0EA + T3BlblNDTWFuYWdlckEAAEVudW1EZXBlbmRlbnRTZXJ2aWNlcwAAAFF1ZXJ5U2VydmljZVN0YXR1cwAA + T3BlblNDTWFuYWdlcgAAAFJlc3BvbnNlIGZyb20gU05UUCBzZXJ2ZXIgaGFkIG5vIHZhbGlkIHRpbWUu + AAAAAFJlc3BvbnNlIGZyb20gU05UUCBzZXJ2ZXIgaGFkIGlsbGVnYWwgc3RyYXR1bSBmaWVsZC4AAAAA + UmVzcG9uc2UgZnJvbSBTTlRQIHNlcnZlciBoYWQgd2FybmluZyBsZWFwIGluZGljYXRvci4AAABjbG9z + ZXNvY2tldABGdW5jdGlvbiBmYWlsZWQgd2l0aCBlcnJvcmNvZGUgJUkAAAByZWN2AAAAAEZ1bmN0aW9u + IGZhaWxlZCB3aXRoIEVycm9yY29kZSAlSQAAAFNOVFAgcmVxdWVzdCB0aW1lIG91dC4AAHNlbGVjdAAA + RnVuY3Rpb24gZmFpbGVkLiBXaW5zb2NrIGxhc3QgZXJyb3IgJUkAAHNlbmQAAAAARnVuY3Rpb24gZmFp + bGVkLiBXaW5zb2NrIGxhc3QgZXJyb3I6ICVJAGNvbm5lY3QAc29ja2V0AABXaW5zb2NrIGxhc3QgZXJy + b3I6ICVJAABUWkkASW5kZXgAAABTdGQARGx0AERpc3BsYXkAU09GVFdBUkVcTWljcm9zb2Z0XFdpbmRv + d3MgTlRcQ3VycmVudFZlcnNpb25cVGltZSBab25lcwBMb2NhbEZpbGVUaW1lVG9GaWxlVGltZQDByep5 + +brOEYyCAKoAS6kLAAAAAAAAAADAAAAAAAAARqNGABAJRQAQ+UQAEOdEABDfRAAQ10QAEMlFABBARQAQ + 0kQAEMpEABDCRAAQ/EcAECNFABAZRQAQTWF4aW11bSBudW1iZXIgb2Ygc2ltdWx0YW5lb3VzIHRocmVh + ZHMgZXhjZWVkZWQhAAAAAFVybERvd25sb2FkVG9GaWxlAAAAKCVVLCVVLCVVKQAAR2V0VGltZVpvbmVJ + bmZvcm1hdGlvbgAAWkFQIElOICVTAAAAU2V0V2luZG93UG9zAAAAAEdldE1vbml0b3JJbmZvAABTeXN0 + ZW1QYXJhbWV0ZXJzSW5mbwAAAABHZXRXaW5kb3dSZWN0AAAAU2VuZE1lc3NhZ2VUaW1lb3V0AABHZXRN + b25pdG9ySW5mb0EATW9uaXRvckZyb21Qb2ludAAAAABNb25pdG9yRnJvbVdpbmRvdwAAAGdldGhvc3Ru + YW1lAFdTQVN0YXJ0dXAAAAAAAABXU0FJTlBST0dSRVNTOiBBbm90aGVyIGJsb2NraW5nIHNvY2tldCBv + cGVyYXRpb24gaXMgaW4gcHJvZ3Jlc3MuAAAAAFdTQU5FVERPV046IE5ldHdvcmsgaXMgZG93bi4AAAAA + V1NBTk9USU5JVElBTElaRUQ6IFdpbnNvY2sgbGlicmFyeSBpcyBub3QgaW5pdGlhbGl6ZWQuAAAAAAAA + AAAAAAAA8D8AAAAAAAAkwLgehetRuJ4/AAAAAAAAJEAAAAAAAAAAAJqZmZmZmbk/AAAAAAAY9UAAAAAA + i5dBQQAAAAAAAOA/iztBkVHPQkEAAAAAxp5CQQBAHwAAQI8+AAAAAAAA8EGuR+HSTWJQQQAA4P///+9B + AAAAAABAj0AAAACA1WxCQQAAAAAAIKxAAAAAAAAATkD/////xwsCEMsLAhAAAAAA/////7EoAhC1KAIQ + AAAAAP////9sQwEQeUMBEAAAAAD/////rUQBELpEARAAAAAA/////+lFARD2RQEQAAAAAP////8vRwEQ + PEcBEAAAAAD/////jUoBEJpKARAAAAAA/////yFLARAuSwEQAAAAAP////+pSwEQtksBEAAAAAD///// + NloBEDpaARAAAAAAAAAAAAAAAEAAAAAAAABZQDRQAxAAAAAAAAAAAP////8AAAAAAAAAAOD8AhAAAAAA + AAAAAAAAAAABAAAA+PwCEAAAAAAAAAAAAAAAADRQAxAA/QIQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAABI/QIQAQAAAFD9AhABAAAA6F8DEAAAAAD/////AAAAAAQAAAAAAAAAAAAAAAAAAAAAAAAA + fP0CEAEAAACE/QIQAQAAAPRfAxAAAAAA/////wAAAAAEAAAAAAAAAAAAAAAAAAAAAAAAALD9AhABAAAA + uP0CEAEAAAAAYAMQAAAAAP////8AAAAABAAAAAAAAAAAAAAA/////wAAAAD/////AAAAAAAAAADoXwMQ + 2P///0BTAhAAAAAAAAAAAAEAAAABAAAA6P0CECAFkxkCAAAA2P0CEAEAAAD4/QIQAAAAAAAAAAD///// + AAAAAP////8AAAAAAAAAAOhfAxDQ////t1wCEAAAAAAAAAAAAQAAAAEAAAA4/gIQIAWTGQIAAAAo/gIQ + AQAAAEj+AhAAAAAAAAAAAP////8AAAAA/////wAAAAAAAAAA6F8DEOT///9tWAAQAAAAAAAAAAABAAAA + AQAAAIj+AhAgBZMZAgAAAHj+AhABAAAAmP4CEAAAAAAAAAAA/////wAAAAD/////AAAAAAAAAADoXwMQ + 5P///7NzABAAAAAAAAAAAAEAAAABAAAA2P4CECAFkxkCAAAAyP4CEAEAAADo/gIQAAAAAAAAAAD///// + JZMCEAAAAAAAAAAAAAAAAAAAAAAAAAAA6F8DEHT///8TdgAQAQAAAAEAAAACAAAAAQAAADD/AhAgBZMZ + AwAAABj/AhABAAAAQP8CEAAAAAAAAAAA/////zeTAhAAAAAAQpMCECAFkxkCAAAAcP8CEAAAAAAAAAAA + AAAAAAAAAAD/////V5MCEAAAAABikwIQIAWTGQIAAACc/wIQAAAAAAAAAAAAAAAAAAAAAP////8AAAAA + /////wAAAAAAAAAA6F8DENj///90ZAEQAAAAAAAAAAABAAAAAQAAANj/AhAgBZMZAgAAAMj/AhABAAAA + 6P8CEAAAAAAAAAAA/////wAAAAD/////AAAAAAAAAADoXwMQ1P///7ZlARAAAAAAAAAAAAEAAAABAAAA + KAADECAFkxkCAAAAGAADEAEAAAA4AAMQAAAAAAAAAAD/////AAAAAP////8AAAAAAAAAAOhfAxDg//// + t2YBEAAAAAAAAAAAAQAAAAEAAAB4AAMQIAWTGQIAAABoAAMQAQAAAIgAAxAAAAAAAAAAAP////8AAAAA + /////wAAAAAAAAAA6F8DEOD///+4ZwEQAAAAAAAAAAABAAAAAQAAAMgAAxAgBZMZAgAAALgAAxABAAAA + 2AADEAAAAAAAAAAA/////wAAAAD/////AAAAAAAAAADoXwMQ6P///0toARAAAAAAAAAAAAEAAAABAAAA + GAEDECAFkxkCAAAACAEDEAEAAAAoAQMQAAAAAAAAAAD/////AAAAAP////8AAAAAAAAAAOhfAxDc//// + oWkBEAAAAAAAAAAAAQAAAAEAAABoAQMQIAWTGQIAAABYAQMQAQAAAHgBAxAAAAAAAAAAAP////8AAAAA + /////wAAAAAAAAAA6F8DEOj////2aQEQAAAAAAAAAAABAAAAAQAAALgBAxAgBZMZAgAAAKgBAxABAAAA + yAEDEAAAAAAAAAAA/////wAAAAD/////AAAAAAAAAADoXwMQ7P////8DAhAAAAAAAAAAAAEAAAABAAAA + CAIDECAFkxkCAAAA+AEDEAEAAAAYAgMQAAAAAAAAAAD/////AAAAAAAAAADHkwIQ/////wAAAAAAAAAA + 6F8DENT///+LBQIQAAAAAAEAAAACAAAAAQAAAGACAxAgBZMZAwAAAEgCAxABAAAAcAIDEAAAAAAAAAAA + /////wAAAAD/////AAAAAAAAAADoXwMQ4P///wMGAhAAAAAAAAAAAAEAAAABAAAAsAIDECAFkxkCAAAA + oAIDEAEAAADAAgMQAAAAAAAAAAD/////AAAAAP////8AAAAAAAAAAOhfAxDg////zysCEAAAAAAAAAAA + AQAAAAEAAAAAAwMQIAWTGQIAAADwAgMQAQAAABADAxAAAAAAAAAAAP////8AAAAAAAAAAO2TAhABAAAA + +JMCEP////8AAAAAAAAAAOhfAxCw////fi4CEAAAAAACAAAAAwAAAAEAAABgAwMQIAWTGQQAAABAAwMQ + AQAAAHADAxAAAAAAAAAAAP////8AAAAA/////wAAAAAAAAAA6F8DEOD////AMAIQAAAAAAAAAAABAAAA + AQAAALADAxAgBZMZAgAAAKADAxABAAAAwAMDEAAAAAAAAAAA/////wAAAAAAAAAAFJQCEAEAAAAclAIQ + /////wAAAAAAAAAA6F8DELj///8nMwIQAAAAAAIAAAADAAAAAQAAABAEAxAgBZMZBAAAAPADAxABAAAA + IAQDEAAAAAAAAAAA/////wAAAAAAAAAAMZQCEAEAAAA8lAIQAgAAAEeUAhD/////AAAAAAAAAADoXwMQ + 2P///y5SAhAAAAAAAwAAAAQAAAABAAAAeAQDECAFkxkFAAAAUAQDEAEAAACIBAMQAAAAAAAAAAD///// + AAAAAAAAAABZlAIQAQAAAGGUAhD/////AAAAAAAAAADoXwMQ6P///4pWAhAAAAAAAgAAAAMAAAABAAAA + 2AQDECAFkxkEAAAAuAQDEAEAAADoBAMQAAAAAAAAAAD/////AAAAAAAAAAB2lAIQ/////wAAAAAAAAAA + 6F8DENz///9IVwIQAAAAAAEAAAACAAAAAQAAADAFAxAgBZMZAwAAABgFAxABAAAAQAUDEAAAAAAAAAAA + /////wAAAAAAAAAAiJQCEAEAAACQlAIQ/////wAAAAAAAAAA6F8DENz///+5JAAQAAAAAAIAAAADAAAA + AQAAAJAFAxAgBZMZBAAAAHAFAxABAAAAoAUDEAAAAAAAAAAA/////wAAAAAAAAAApZQCEP////8AAAAA + AAAAAOhfAxDo/////10CEAAAAAABAAAAAgAAAAEAAADoBQMQIAWTGQMAAADQBQMQAQAAAPgFAxAAAAAA + AAAAAP////8AAAAAAAAAALeUAhD/////AAAAAAAAAADoXwMQ6P///9leAhAAAAAAAQAAAAIAAAABAAAA + QAYDECAFkxkDAAAAKAYDEAEAAABQBgMQAAAAAAAAAAD/////AAAAAAAAAADJlAIQ/////wAAAAAAAAAA + 6F8DENz////pXwIQAAAAAAEAAAACAAAAAQAAAJgGAxAgBZMZAwAAAIAGAxABAAAAqAYDEAAAAAAAAAAA + /////wAAAAD/////AAAAAAAAAADoXwMQ6P///5BHABAAAAAAAAAAAAEAAAABAAAA6AYDECAFkxkCAAAA + 2AYDEAEAAAD4BgMQAAAAAAAAAAD/////AAAAAAAAAADllAIQAQAAAO2UAhACAAAA+JQCEAMAAAAAlQIQ + /////wAAAAAAAAAA6F8DEBz///9PUAAQAAAAAAQAAAAFAAAAAQAAAFgHAxAgBZMZBgAAACgHAxABAAAA + aAcDEAAAAAAAAAAA/////wAAAAAAAAAAEpUCEAEAAAAdlQIQAgAAACiVAhADAAAAM5UCEAQAAAA+lQIQ + BQAAAEaVAhD/////AAAAAAAAAADoXwMQwP///6FdABAAAAAABgAAAAcAAAABAAAA2AcDECAFkxkIAAAA + mAcDEAEAAADoBwMQAAAAAAAAAAD/////AAAAAAAAAABblQIQAQAAAGaVAhACAAAAcZUCEAMAAAB5lQIQ + BAAAAIGVAhD/////AAAAAAAAAADoXwMQ4P////heABAAAAAABQAAAAYAAAABAAAAUAgDECAFkxkHAAAA + GAgDEAEAAABgCAMQAAAAAAAAAAD/////AAAAAAAAAACTlQIQAQAAAJ6VAhACAAAAqZUCEAMAAACxlQIQ + BAAAALmVAhD/////AAAAAAAAAADoXwMQ4P///x1gABAAAAAABQAAAAYAAAABAAAAyAgDECAFkxkHAAAA + kAgDEAEAAADYCAMQAAAAAAAAAAD/////y5UCEAAAAADTlQIQIAWTGQIAAAAICQMQAAAAAAAAAAAAAAAA + AAAAAP/////llQIQAAAAAO2VAhABAAAA+JUCEAIAAAADlgIQAwAAAAuWAhAEAAAAE5YCECAFkxkGAAAA + NAkDEAAAAAAAAAAAAAAAAAAAAAD/////AAAAAAAAAAAllgIQAQAAAC2WAhD/////AAAAAAAAAADoXwMQ + 6P///zhkAhAAAAAAAgAAAAMAAAABAAAAoAkDECAFkxkEAAAAgAkDEAEAAACwCQMQAAAAAAAAAAD///// + AAAAAAAAAAA/lgIQAQAAAEqWAhACAAAAUpYCEAMAAABalgIQBAAAAGWWAhD/////AAAAAAAAAADoXwMQ + YP////lmAhAAAAAABQAAAAYAAAABAAAAGAoDECAFkxkHAAAA4AkDEAEAAAAoCgMQAAAAAAAAAAD///// + AAAAAAAAAAB3lgIQAQAAAIKWAhACAAAAjZYCEAMAAACVlgIQBAAAAKCWAhD/////AAAAAAAAAADoXwMQ + FP///9VqAhAAAAAABQAAAAYAAAABAAAAkAoDECAFkxkHAAAAWAoDEAEAAACgCgMQAAAAAAAAAAD///// + AAAAAAAAAAC1lgIQAQAAAMCWAhACAAAAy5YCEAMAAADTlgIQBAAAANuWAhD/////AAAAAAAAAADoXwMQ + UP///3VtAhAAAAAABQAAAAYAAAABAAAACAsDECAFkxkHAAAA0AoDEAEAAAAYCwMQAAAAAAAAAAD///// + AAAAAAAAAADwlgIQAQAAAPiWAhACAAAAA5cCEAMAAAAOlwIQ/////wAAAAAAAAAA6F8DEMD////EbwIQ + AAAAAAQAAAAFAAAAAQAAAHgLAxAgBZMZBgAAAEgLAxABAAAAiAsDEAAAAAAAAAAA/////wAAAAAAAAAA + IJcCEAEAAAArlwIQAgAAADaXAhADAAAAPpcCEP////8AAAAAAAAAAOhfAxDM////ZXECEAAAAAAEAAAA + BQAAAAEAAADoCwMQIAWTGQYAAAC4CwMQAQAAAPgLAxAAAAAAAAAAAP////8AAAAAAAAAAFCXAhABAAAA + WJcCEP////8AAAAAAAAAAOhfAxDo////C3ICEAAAAAACAAAAAwAAAAEAAABIDAMQIAWTGQQAAAAoDAMQ + AQAAAFgMAxAAAAAAAAAAAP////8AAAAA/////wAAAAAAAAAA6F8DEOz///+LcgIQAAAAAAAAAAABAAAA + AQAAAJgMAxAgBZMZAgAAAIgMAxABAAAAqAwDEAAAAAAAAAAA/////wAAAAAAAAAAdJcCEAEAAAB/lwIQ + AgAAAIeXAhD/////AAAAAAAAAADoXwMQ5P///21zAhAAAAAAAwAAAAQAAAABAAAAAA0DECAFkxkFAAAA + 2AwDEAEAAAAQDQMQAAAAAAAAAAD/////AAAAAAAAAACZlwIQAQAAAKGXAhACAAAArJcCEP////8AAAAA + AAAAAOhfAxCI////wnEAEAAAAAADAAAABAAAAAEAAABoDQMQIAWTGQUAAABADQMQAQAAAHgNAxAAAAAA + AAAAAP////8AAAAAAAAAAL6XAhABAAAAxpcCEAIAAADRlwIQAwAAANyXAhAEAAAA55cCEAUAAADvlwIQ + /////wAAAAAAAAAA6F8DEMz////7dQIQAAAAAAYAAAAHAAAAAQAAAOgNAxAgBZMZCAAAAKgNAxABAAAA + +A0DEAAAAAAAAAAA/////wAAAAAAAAAAAZgCEAEAAAAJmAIQAgAAABSYAhADAAAAH5gCEAQAAAAnmAIQ + /////wAAAAAAAAAA6F8DEID///+neAIQAAAAAAUAAAAGAAAAAQAAAGAOAxAgBZMZBwAAACgOAxABAAAA + cA4DEAAAAAAAAAAA/////wAAAAAAAAAAOZgCEAEAAABEmAIQAgAAAE+YAhADAAAAWpgCEAQAAABimAIQ + BQAAAGqYAhD/////AAAAAAAAAADoXwMQ/P7//2qDAhAAAAAABgAAAAcAAAABAAAA4A4DECAFkxkIAAAA + oA4DEAEAAADwDgMQAAAAAAAAAAD/////AAAAAAAAAAB/mAIQAQAAAIqYAhACAAAAlZgCEAMAAACgmAIQ + BAAAAKiYAhD/////AAAAAAAAAADoXwMQFP///+KOAhAAAAAABQAAAAYAAAABAAAAWA8DECAFkxkHAAAA + IA8DEAEAAABoDwMQAAAAAAAAAAD/////AAAAAAAAAAC6mAIQAQAAAMWYAhD/////AAAAAAAAAADoXwMQ + xP///6t7ABAAAAAAAgAAAAMAAAABAAAAuA8DECAFkxkEAAAAmA8DEAEAAADIDwMQAAAAAAAAAAD///// + AAAAAAAAAADXmAIQAQAAAOKYAhD/////AAAAAAAAAADoXwMQxP///6p9ABAAAAAAAgAAAAMAAAABAAAA + GBADECAFkxkEAAAA+A8DEAEAAAAoEAMQAAAAAAAAAAD/////AAAAAAAAAAD0mAIQ/////wAAAAAAAAAA + 6F8DEMj///+BfwAQAAAAAAEAAAACAAAAAQAAAHAQAxAgBZMZAwAAAFgQAxABAAAAgBADEAAAAAAAAAAA + /////wAAAAAAAAAACZkCEP////8AAAAAAAAAAOhfAxDI////VIEAEAAAAAABAAAAAgAAAAEAAADIEAMQ + IAWTGQMAAACwEAMQAQAAANgQAxAAAAAAAAAAAP////8AAAAAAAAAAB6ZAhD/////AAAAAAAAAADoXwMQ + yP///yeDABAAAAAAAQAAAAIAAAABAAAAIBEDECAFkxkDAAAACBEDEAEAAAAwEQMQAAAAAAAAAAD///// + AAAAAAAAAAAzmQIQ/////wAAAAAAAAAA6F8DEMT///8MhQAQAAAAAAEAAAACAAAAAQAAAHgRAxAgBZMZ + AwAAAGARAxABAAAAiBEDEAAAAAAAAAAA/////wAAAAAAAAAASJkCEP////8AAAAAAAAAAOhfAxDI//// + 1YYAEAAAAAABAAAAAgAAAAEAAADQEQMQIAWTGQMAAAC4EQMQAQAAAOARAxAAAAAAAAAAAP////9dmQIQ + IAWTGQEAAAAQEgMQAAAAAAAAAAAAAAAAAAAAAP////9vmQIQIAWTGQEAAAA0EgMQAAAAAAAAAAAAAAAA + AAAAAP////+BmQIQIAWTGQEAAABYEgMQAAAAAAAAAAAAAAAAAAAAAP////8AAAAA/////wAAAAAAAAAA + 6F8DEOT////aiQAQAAAAAAAAAAABAAAAAQAAAIwSAxAgBZMZAgAAAHwSAxABAAAAnBIDEAAAAAAAAAAA + /////52ZAhAAAAAApZkCEAEAAACwmQIQIAWTGQMAAADMEgMQAAAAAAAAAAAAAAAAAAAAAP////8AAAAA + AAAAAMKZAhABAAAAzZkCEP////8AAAAAAAAAAOhfAxDU////aIwAEAAAAAACAAAAAwAAAAEAAAAgEwMQ + IAWTGQQAAAAAEwMQAQAAADATAxAAAAAAAAAAAP////8AAAAAAAAAAOKZAhD/////AAAAAAAAAADoXwMQ + qP///36NABAAAAAAAQAAAAIAAAABAAAAeBMDECAFkxkDAAAAYBMDEAEAAACIEwMQAAAAAAAAAAD///// + AAAAAAAAAAD0mQIQAQAAAP+ZAhACAAAACpoCEP////8AAAAAAAAAAOhfAxDc////QI8AEAAAAAADAAAA + BAAAAAEAAADgEwMQIAWTGQUAAAC4EwMQAQAAAPATAxAAAAAAAAAAAP////8AAAAAAAAAAByaAhABAAAA + JJoCEP////8AAAAAAAAAAOhfAxDo////D5AAEAAAAAACAAAAAwAAAAEAAABAFAMQIAWTGQQAAAAgFAMQ + AQAAAFAUAxAAAAAAAAAAAP////8AAAAAAAAAADaaAhABAAAAPpoCEP////8AAAAAAAAAAOhfAxDo//// + sZAAEAAAAAACAAAAAwAAAAEAAACgFAMQIAWTGQQAAACAFAMQAQAAALAUAxAAAAAAAAAAAP////8AAAAA + AAAAAFCaAhABAAAAW5oCEAIAAABmmgIQAwAAAG6aAhD/////AAAAAAAAAADoXwMQ3P///yCSABAAAAAA + BAAAAAUAAAABAAAAEBUDECAFkxkGAAAA4BQDEAEAAAAgFQMQAAAAAAAAAAD/////AAAAAAAAAACAmgIQ + AQAAAIiaAhD/////AAAAAAAAAADoXwMQ6P///8WSABAAAAAAAgAAAAMAAAABAAAAcBUDECAFkxkEAAAA + UBUDEAEAAACAFQMQAAAAAAAAAAD/////AAAAAAAAAACamgIQ/////wAAAAAAAAAA6F8DEOD///+3kwAQ + AAAAAAEAAAACAAAAAQAAAMgVAxAgBZMZAwAAALAVAxABAAAA2BUDEAAAAAAAAAAA/////wAAAAAAAAAA + rJoCEAEAAAC3mgIQAgAAAL+aAhD/////AAAAAAAAAADoXwMQvP///3r3ABAAAAAAAwAAAAQAAAABAAAA + MBYDECAFkxkFAAAACBYDEAEAAABAFgMQAAAAAAAAAAD/////AAAAAAAAAADUmgIQAQAAAN+aAhACAAAA + 6poCEP////8AAAAAAAAAAOhfAxDA////NvsAEAAAAAADAAAABAAAAAEAAACYFgMQIAWTGQUAAABwFgMQ + AQAAAKgWAxAAAAAAAAAAAP////8AAAAAAAAAAPyaAhD/////AAAAAAAAAADoXwMQ7P///9X7ABAAAAAA + AQAAAAIAAAABAAAA8BYDECAFkxkDAAAA2BYDEAEAAAAAFwMQAAAAAAAAAAD/////AAAAAAAAAAAOmwIQ + AQAAABabAhD/////AAAAAAAAAADoXwMQ6P///9j8ABAAAAAAAgAAAAMAAAABAAAAUBcDECAFkxkEAAAA + MBcDEAEAAABgFwMQAAAAAAAAAAD/////AAAAAAAAAAArmwIQ/////wAAAAAAAAAA6F8DEOz///9z/QAQ + AAAAAAEAAAACAAAAAQAAAKgXAxAgBZMZAwAAAJAXAxABAAAAuBcDEAAAAAAAAAAA/////wAAAAAAAAAA + PZsCEAEAAABFmwIQAgAAAFCbAhADAAAAW5sCEAQAAABmmwIQ/////wAAAAAAAAAA6F8DEIz///83AwEQ + AAAAAAUAAAAGAAAAAQAAACAYAxAgBZMZBwAAAOgXAxABAAAAMBgDEAAAAAAAAAAA/////wAAAAAAAAAA + eJsCEAEAAACAmwIQ/////wAAAAAAAAAA6F8DENT///98BQEQAAAAAAIAAAADAAAAAQAAAIAYAxAgBZMZ + BAAAAGAYAxABAAAAkBgDEAAAAAAAAAAA/////wAAAAAAAAAAkpsCEAEAAACamwIQ/////wAAAAAAAAAA + 6F8DENz///+tBgEQAAAAAAIAAAADAAAAAQAAAOAYAxAgBZMZBAAAAMAYAxABAAAA8BgDEAAAAAAAAAAA + /////wAAAAAAAAAArJsCEAEAAAC3mwIQAgAAAMKbAhADAAAAypsCEP////8AAAAAAAAAAOhfAxB4//// + twkBEAAAAAAEAAAABQAAAAEAAABQGQMQIAWTGQYAAAAgGQMQAQAAAGAZAxAAAAAAAAAAAP////8AAAAA + AAAAAN+bAhABAAAA55sCEAIAAADymwIQAwAAAP2bAhAEAAAACJwCEAUAAAATnAIQ/////wAAAAAAAAAA + 6F8DEID///80DAEQAAAAAAYAAAAHAAAAAQAAANAZAxAgBZMZCAAAAJAZAxABAAAA4BkDEAAAAAAAAAAA + /////wAAAAD/////AAAAAAAAAADoXwMQ6P////ZNARAAAAAAAAAAAAEAAAABAAAAIBoDECAFkxkCAAAA + EBoDEAEAAAAwGgMQAAAAAAAAAAD/////AAAAAAAAAAAvnAIQAQAAADecAhACAAAAQpwCEAMAAABNnAIQ + /////wAAAAAAAAAA6F8DEIT///8LVQEQAAAAAAQAAAAFAAAAAQAAAJAaAxAgBZMZBgAAAGAaAxABAAAA + oBoDEAAAAAAAAAAA/////wAAAAAAAAAAZJwCEAEAAABvnAIQ/////wAAAAAAAAAA6F8DENz///8RVgEQ + AAAAAAIAAAADAAAAAQAAAPAaAxAgBZMZBAAAANAaAxABAAAAABsDEAAAAAAAAAAA/////wAAAAAAAAAA + gZwCEP////8AAAAAAAAAAOhfAxDs////uXABEAAAAAABAAAAAgAAAAEAAABIGwMQIAWTGQMAAAAwGwMQ + AQAAAFgbAxAAAAAAAAAAAP////8AAAAA/////wAAAAAAAAAA6F8DENj///9PcgEQAAAAAAAAAAABAAAA + AQAAAJgbAxAgBZMZAgAAAIgbAxABAAAAqBsDEAAAAAAAAAAA/////wAAAAD/////AAAAAAAAAADoXwMQ + 5P///0lzARAAAAAAAAAAAAEAAAABAAAA6BsDECAFkxkCAAAA2BsDEAEAAAD4GwMQAAAAAAAAAAD///// + AAAAAP////8AAAAAAAAAAOhfAxDg////S3QBEAAAAAAAAAAAAQAAAAEAAAA4HAMQIAWTGQIAAAAoHAMQ + AQAAAEgcAxAAAAAAAAAAAP////8AAAAAAAAAALGcAhD/////AAAAAAAAAADoXwMQ0P///7d1ARAAAAAA + AQAAAAIAAAABAAAAkBwDECAFkxkDAAAAeBwDEAEAAACgHAMQAAAAAAAAAAD/////AAAAAP////8AAAAA + AAAAAOhfAxDg////q3YBEAAAAAAAAAAAAQAAAAEAAADgHAMQIAWTGQIAAADQHAMQAQAAAPAcAxAAAAAA + AAAAAP////8AAAAA/////wAAAAAAAAAA6F8DEOT///9odwEQAAAAAAAAAAABAAAAAQAAADAdAxAgBZMZ + AgAAACAdAxABAAAAQB0DEAAAAAAAAAAA/////wAAAAAAAAAA15wCEAEAAADfnAIQ/////wAAAAAAAAAA + 6F8DENT///9leAEQAAAAAAIAAAADAAAAAQAAAJAdAxAgBZMZBAAAAHAdAxABAAAAoB0DEAAAAAAAAAAA + /////wAAAAAAAAAA8ZwCEAEAAAD5nAIQ/////wAAAAAAAAAA6F8DENj///9ueQEQAAAAAAIAAAADAAAA + AQAAAPAdAxAgBZMZBAAAANAdAxABAAAAAB4DEAAAAAAAAAAA/////wudAhAAAAAAE50CECAFkxkCAAAA + MB4DEAAAAAAAAAAAAAAAAAAAAAD/////JZ0CEAAAAAAwnQIQAQAAADidAhACAAAAQJ0CECAFkxkEAAAA + XB4DEAAAAAAAAAAAAAAAAAAAAAD/////AAAAAAAAAABSnQIQAQAAAFqdAhD/////AAAAAAAAAADoXwMQ + 5P///8p8ARAAAAAAAgAAAAMAAAABAAAAuB4DECAFkxkEAAAAmB4DEAEAAADIHgMQAAAAAAAAAAD///// + AAAAAAAAAABsnQIQ/////wAAAAAAAAAA6F8DEOj///9efQEQAAAAAAEAAAACAAAAAQAAABAfAxAgBZMZ + AwAAAPgeAxABAAAAIB8DEAAAAAAAAAAA/////wAAAAAAAAAAfp0CEP////8AAAAAAAAAAOhfAxDo//// + 8n0BEAAAAAABAAAAAgAAAAEAAABoHwMQIAWTGQMAAABQHwMQAQAAAHgfAxAAAAAAAAAAAP////8AAAAA + AAAAAJCdAhABAAAAmJ0CEAIAAACjnQIQ/////wAAAAAAAAAA6F8DEIT///9UgAEQAAAAAAMAAAAEAAAA + AQAAANAfAxAgBZMZBQAAAKgfAxABAAAA4B8DEAAAAAAAAAAA/////wAAAAAAAAAAtZ0CEAEAAADAnQIQ + AgAAAMudAhADAAAA1p0CEAQAAADhnQIQBQAAAOydAhD/////AAAAAAAAAADoXwMQ4P///wSDARAAAAAA + BgAAAAcAAAABAAAAUCADECAFkxkIAAAAECADEAEAAABgIAMQAAAAAAAAAAD/////AAAAAAAAAAABngIQ + AQAAAAyeAhACAAAAF54CEAMAAAAingIQBAAAAC2eAhAFAAAAOJ4CEAYAAABDngIQBwAAAE6eAhD///// + AAAAAAAAAADoXwMQWP////6GARAAAAAACAAAAAkAAAABAAAA4CADECAFkxkKAAAAkCADEAEAAADwIAMQ + AAAAAAAAAAD/////AAAAAAAAAABgngIQAQAAAGueAhACAAAAdp4CEAMAAACBngIQBAAAAIyeAhAFAAAA + lJ4CEP////8AAAAAAAAAAOhfAxCs////h4kBEAAAAAAGAAAABwAAAAEAAABgIQMQIAWTGQgAAAAgIQMQ + AQAAAHAhAxAAAAAAAAAAAP////8AAAAAAAAAAKaeAhABAAAAsZ4CEP////8AAAAAAAAAAOhfAxDM//// + kIoBEAAAAAACAAAAAwAAAAEAAADAIQMQIAWTGQQAAACgIQMQAQAAANAhAxAAAAAAAAAAAP////8AAAAA + AAAAAMaeAhABAAAA0Z4CEP////8AAAAAAAAAAOhfAxDM////kIsBEAAAAAACAAAAAwAAAAEAAAAgIgMQ + IAWTGQQAAAAAIgMQAQAAADAiAxAAAAAAAAAAAP////8AAAAAAAAAAOaeAhD/////AAAAAAAAAADoXwMQ + zP///2qMARAAAAAAAQAAAAIAAAABAAAAeCIDECAFkxkDAAAAYCIDEAEAAACIIgMQAAAAAAAAAAD///// + AAAAAAAAAAD7ngIQAQAAAAafAhD/////AAAAAAAAAADoXwMQzP///2yNARAAAAAAAgAAAAMAAAABAAAA + 2CIDECAFkxkEAAAAuCIDEAEAAADoIgMQAAAAAAAAAAD/////AAAAAAAAAAAbnwIQ/////wAAAAAAAAAA + 6F8DEOT///81jgEQAAAAAAEAAAACAAAAAQAAADAjAxAgBZMZAwAAABgjAxABAAAAQCMDEAAAAAAAAAAA + /////wAAAAAAAAAALZ8CEP////8AAAAAAAAAAOhfAxDs////mY4BEAAAAAABAAAAAgAAAAEAAACIIwMQ + IAWTGQMAAABwIwMQAQAAAJgjAxAAAAAAAAAAAP////8AAAAAAAAAAD+fAhD/////AAAAAAAAAADoXwMQ + 7P///wWPARAAAAAAAQAAAAIAAAABAAAA4CMDECAFkxkDAAAAyCMDEAEAAADwIwMQAAAAAAAAAAD///// + AAAAAAAAAABRnwIQAQAAAFmfAhD/////AAAAAAAAAADoXwMQ7P///5aPARAAAAAAAgAAAAMAAAABAAAA + QCQDECAFkxkEAAAAICQDEAEAAABQJAMQAAAAAAAAAAD/////a58CEAAAAABznwIQAQAAAHufAhAgBZMZ + AwAAAIAkAxAAAAAAAAAAAAAAAAAAAAAA/////wAAAAAAAAAAjZ8CEAEAAACVnwIQAgAAAKCfAhD///// + AAAAAAAAAADoXwMQ5P////GTARAAAAAAAwAAAAQAAAABAAAA3CQDECAFkxkFAAAAtCQDEAEAAADsJAMQ + AAAAAAAAAAD/////AAAAAAAAAACynwIQAQAAALqfAhACAAAAxZ8CEP////8AAAAAAAAAAOhfAxDo//// + E5UBEAAAAAADAAAABAAAAAEAAABEJQMQIAWTGQUAAAAcJQMQAQAAAFQlAxAAAAAAAAAAAP////8AAAAA + AAAAANefAhABAAAA358CEP////8AAAAAAAAAAOhfAxDo////w5UBEAAAAAACAAAAAwAAAAEAAACkJQMQ + IAWTGQQAAACEJQMQAQAAALQlAxAAAAAAAAAAAP////8AAAAAAAAAAPGfAhABAAAA+Z8CEP////8AAAAA + AAAAAOhfAxDk////jZYBEAAAAAACAAAAAwAAAAEAAAAEJgMQIAWTGQQAAADkJQMQAQAAABQmAxAAAAAA + AAAAAP////8AAAAAAAAAAAugAhABAAAAFqACEAIAAAAhoAIQAwAAACmgAhAEAAAAMaACEP////8AAAAA + AAAAAOhfAxC0////0ZgBEAAAAAAFAAAABgAAAAEAAAB8JgMQIAWTGQcAAABEJgMQAQAAAIwmAxAAAAAA + AAAAAP////8AAAAAAAAAAEOgAhD/////AAAAAAAAAADoXwMQ6P///3GZARAAAAAAAQAAAAIAAAABAAAA + 1CYDECAFkxkDAAAAvCYDEAEAAADkJgMQAAAAAAAAAAD/////AAAAAAAAAABVoAIQ/////wAAAAAAAAAA + 6F8DEOj///8HmgEQAAAAAAEAAAACAAAAAQAAACwnAxAgBZMZAwAAABQnAxABAAAAPCcDEAAAAAAAAAAA + /////wAAAAAAAAAAZ6ACEAEAAAByoAIQ/////wAAAAAAAAAA6F8DENz///9lmwEQAAAAAAIAAAADAAAA + AQAAAIwnAxAgBZMZBAAAAGwnAxABAAAAnCcDEAAAAAAAAAAA/////wAAAAAAAAAAhKACEAEAAACPoAIQ + /////wAAAAAAAAAA6F8DEGD///+EngEQAAAAAAIAAAADAAAAAQAAAOwnAxAgBZMZBAAAAMwnAxABAAAA + /CcDEAAAAAAAAAAA/////wAAAAAAAAAAoaACEAEAAACsoAIQ/////wAAAAAAAAAA6F8DEJz////HoAEQ + AAAAAAIAAAADAAAAAQAAAEwoAxAgBZMZBAAAACwoAxABAAAAXCgDEAAAAAAAAAAA/////wAAAAAAAAAA + vqACEAEAAADJoAIQAgAAANSgAhD/////AAAAAAAAAADoXwMQaP///5+jARAAAAAAAwAAAAQAAAABAAAA + tCgDECAFkxkFAAAAjCgDEAEAAADEKAMQAAAAAAAAAAD/////AAAAAAAAAADmoAIQAQAAAPGgAhD///// + AAAAAAAAAADoXwMQuP///8ClARAAAAAAAgAAAAMAAAABAAAAFCkDECAFkxkEAAAA9CgDEAEAAAAkKQMQ + AAAAAAAAAAD/////BqECEAAAAAARoQIQIAWTGQIAAABUKQMQAAAAAAAAAAAAAAAAAAAAAP////8AAAAA + AAAAACOhAhABAAAALqECEAIAAAA5oQIQ/////wAAAAAAAAAA6F8DEMT///9jqAEQAAAAAAMAAAAEAAAA + AQAAAKgpAxAgBZMZBQAAAIApAxABAAAAuCkDEAAAAAAAAAAA/////wAAAAAAAAAAS6ECEP////8AAAAA + AAAAAOhfAxDk////27IBEAAAAAABAAAAAgAAAAEAAAAAKgMQIAWTGQMAAADoKQMQAQAAABAqAxAAAAAA + AAAAAP////8AAAAAAAAAAF2hAhABAAAAZaECEAIAAABwoQIQAwAAAHihAhD/////AAAAAAAAAADoXwMQ + eP///9q1ARAAAAAABAAAAAUAAAABAAAAcCoDECAFkxkGAAAAQCoDEAEAAACAKgMQAAAAAAAAAAD///// + AAAAAP////8AAAAA/////wAAAAD/////AAAAAAAAAADoXwMQAAAAAB4SAhAAAAAAAAAAAAEAAAABAAAA + 0CoDECAFkxkEAAAAsCoDEAEAAADgKgMQAAAAAAAAAAD/////AAAAAP////8AAAAAAAAAAOhfAxDc//// + lRMCEAAAAAAAAAAAAQAAAAEAAAAgKwMQIAWTGQIAAAAQKwMQAQAAADArAxAAAAAAAAAAAP////8AAAAA + AAAAAJ6hAhABAAAAqaECEAIAAACxoQIQ/////wAAAAAAAAAA6F8DEOT///8CJgAQAAAAAAMAAAAEAAAA + AQAAAIgrAxAgBZMZBQAAAGArAxABAAAAmCsDEAAAAAAAAAAA/////wAAAAAAAAAAxqECEAEAAADOoQIQ + AgAAANmhAhADAAAA5KECEAQAAADvoQIQBQAAAPehAhD/////AAAAAAAAAADoXwMQcP///81nABAAAAAA + BgAAAAcAAAABAAAACCwDECAFkxkIAAAAyCsDEAEAAAAYLAMQAAAAAAAAAAD/////AAAAAAAAAAAJogIQ + AQAAABSiAhACAAAAH6ICEAMAAAAnogIQBAAAAC+iAhD/////AAAAAAAAAADoXwMQ3P///1tpABAAAAAA + BQAAAAYAAAABAAAAgCwDECAFkxkHAAAASCwDEAEAAACQLAMQAAAAAAAAAAD/////AAAAAAAAAABBogIQ + AQAAAEyiAhACAAAAV6ICEAMAAABfogIQBAAAAGeiAhD/////AAAAAAAAAADoXwMQ3P///+ZqABAAAAAA + BQAAAAYAAAABAAAA+CwDECAFkxkHAAAAwCwDEAEAAAAILQMQAAAAAAAAAAD/////AAAAAAAAAAB5ogIQ + AQAAAISiAhACAAAAjKICEAMAAACXogIQBAAAAJ+iAhD/////AAAAAAAAAADoXwMQ2P///6VsABAAAAAA + BQAAAAYAAAABAAAAcC0DECAFkxkHAAAAOC0DEAEAAACALQMQAAAAAAAAAAD/////AAAAAAAAAACxogIQ + AQAAALyiAhACAAAAx6ICEAMAAADSogIQBAAAAN2iAhAFAAAA5aICEAYAAADtogIQ/////wAAAAAAAAAA + 6F8DEMj////QbgAQAAAAAAcAAAAIAAAAAQAAAPgtAxAgBZMZCQAAALAtAxABAAAACC4DEAAAAAAAAAAA + /////wAAAAAAAAAA/6ICEP////8AAAAAAAAAAOhfAxDI////dpUAEAAAAAABAAAAAgAAAAEAAABQLgMQ + IAWTGQMAAAA4LgMQAQAAAGAuAxAAAAAAAAAAAP////8AAAAAAAAAABSjAhABAAAAH6MCEAIAAAAqowIQ + AwAAADWjAhAEAAAAPaMCEAUAAABFowIQ/////wAAAAAAAAAA6F8DELT///83mQAQAAAAAAYAAAAHAAAA + AQAAANAuAxAgBZMZCAAAAJAuAxABAAAA4C4DEAAAAAAAAAAA/////wAAAAAAAAAAV6MCEAEAAABfowIQ + AgAAAGqjAhD/////AAAAAAAAAADoXwMQ4P///yH/ABAAAAAAAwAAAAQAAAABAAAAOC8DECAFkxkFAAAA + EC8DEAEAAABILwMQAAAAAAAAAAD/////AAAAAAAAAAB/owIQAQAAAIejAhACAAAAkqMCEP////8AAAAA + AAAAAOhfAxDc////tQABEAAAAAADAAAABAAAAAEAAACgLwMQIAWTGQUAAAB4LwMQAQAAALAvAxAAAAAA + AAAAAP////8AAAAAAAAAAKejAhD/////AAAAAAAAAADoXwMQ6P///1ZPARAAAAAAAQAAAAIAAAABAAAA + +C8DECAFkxkDAAAA4C8DEAEAAAAIMAMQAAAAAAAAAAD/////AAAAAAAAAAC5owIQAQAAAMSjAhACAAAA + z6MCEAMAAADaowIQBAAAAOWjAhAFAAAA7aMCEAYAAAD4owIQBwAAAACkAhD/////AAAAAAAAAADoXwMQ + MP///0OvARAAAAAACAAAAAkAAAABAAAAiDADECAFkxkKAAAAODADEAEAAACYMAMQAAAAAAAAAAD///// + AAAAAAAAAAASpAIQAQAAABqkAhACAAAAJaQCEP////8AAAAAAAAAAOhfAxCg////c7cBEAAAAAADAAAA + BAAAAAEAAADwMAMQIAWTGQUAAADIMAMQAQAAAAAxAxAAAAAAAAAAAP////8AAAAAAAAAADqkAhABAAAA + QqQCEP////8AAAAAAAAAAOhfAxDg////BbkBEAAAAAACAAAAAwAAAAEAAABQMQMQIAWTGQQAAAAwMQMQ + AQAAAGAxAxAAAAAAAAAAAP////8AAAAAAAAAAFekAhABAAAAYqQCEAIAAABqpAIQ/////wAAAAAAAAAA + 6F8DEOD///+OugEQAAAAAAMAAAAEAAAAAQAAALgxAxAgBZMZBQAAAJAxAxABAAAAyDEDEAAAAAAAAAAA + /////wAAAAAAAAAAfKQCEAEAAACHpAIQ/////wAAAAAAAAAA6F8DEOT////tuwEQAAAAAAIAAAADAAAA + AQAAABgyAxAgBZMZBAAAAPgxAxABAAAAKDIDEAAAAAAAAAAA/////wAAAAAAAAAAmaQCEP////8AAAAA + AAAAAOhfAxDo////Ar0BEAAAAAABAAAAAgAAAAEAAABwMgMQIAWTGQMAAABYMgMQAQAAAIAyAxAAAAAA + AAAAAP////8AAAAAAAAAAK6kAhD/////AAAAAAAAAADoXwMQ4P///+W+ARAAAAAAAQAAAAIAAAABAAAA + yDIDECAFkxkDAAAAsDIDEAEAAADYMgMQAAAAAAAAAAD/////AAAAAAAAAADDpAIQAQAAAMukAhD///// + AAAAAAAAAADoXwMQ2P///4HAARAAAAAAAgAAAAMAAAABAAAAKDMDECAFkxkEAAAACDMDEAEAAAA4MwMQ + AAAAAAAAAAD/////AAAAAAAAAADdpAIQAQAAAOWkAhACAAAA8KQCEP////8AAAAAAAAAAOhfAxCQ//// + tcIBEAAAAAADAAAABAAAAAEAAACQMwMQIAWTGQUAAABoMwMQAQAAAKAzAxAAAAAAAAAAAP////8AAAAA + AAAAAAKlAhABAAAADaUCEP////8AAAAAAAAAAOhfAxDY////ocQBEAAAAAACAAAAAwAAAAEAAADwMwMQ + IAWTGQQAAADQMwMQAQAAAAA0AxAAAAAAAAAAAP////8AAAAAAAAAAB+lAhABAAAAJ6UCEAIAAAAypQIQ + /////wAAAAAAAAAA6F8DEJD////7xgEQAAAAAAMAAAAEAAAAAQAAAFg0AxAgBZMZBQAAADA0AxABAAAA + aDQDEAAAAAAAAAAA/////wAAAAAAAAAARKUCEP////8AAAAAAAAAAOhfAxDs////88cBEAAAAAABAAAA + AgAAAAEAAACwNAMQIAWTGQMAAACYNAMQAQAAAMA0AxAAAAAAAAAAAP////8AAAAAAAAAAFmlAhABAAAA + YaUCEP////8AAAAAAAAAAOhfAxCk////Ts0BEAAAAAACAAAAAwAAAAEAAAAQNQMQIAWTGQQAAADwNAMQ + AQAAACA1AxAAAAAAAAAAAP////8AAAAAAAAAAHalAhD/////AAAAAAAAAADoXwMQzP///27PARAAAAAA + AQAAAAIAAAABAAAAaDUDECAFkxkDAAAAUDUDEAEAAAB4NQMQAAAAAAAAAAD/////AAAAAAAAAACLpQIQ + /////wAAAAAAAAAA6F8DEOT///+W0AEQAAAAAAEAAAACAAAAAQAAAMA1AxAgBZMZAwAAAKg1AxABAAAA + 0DUDEAAAAAAAAAAA/////wAAAAAAAAAAoKUCEP////8AAAAAAAAAAOhfAxDk////qtEBEAAAAAABAAAA + AgAAAAEAAAAYNgMQIAWTGQMAAAAANgMQAQAAACg2AxAAAAAAAAAAAP////8AAAAAAAAAALWlAhABAAAA + wKUCEAIAAADLpQIQ/////wAAAAAAAAAA6F8DEJz////8HAIQAAAAAAMAAAAEAAAAAQAAAIA2AxAgBZMZ + BQAAAFg2AxABAAAAkDYDEAAAAAAAAAAA/////wAAAAAAAAAA4KUCEAEAAADopQIQ/////wAAAAAAAAAA + 6F8DELT///81KAIQAAAAAAIAAAADAAAAAQAAAOA2AxAgBZMZBAAAAMA2AxABAAAA8DYDEAAAAAAAAAAA + /////wAAAAAAAAAA/aUCEAEAAAAIpgIQAgAAABOmAhD/////AAAAAAAAAADoXwMQ2P///0lKABAAAAAA + AwAAAAQAAAABAAAASDcDECAFkxkFAAAAIDcDEAEAAABYNwMQAAAAAAAAAAD/////AAAAAAAAAAAlpgIQ + /////wAAAAAAAAAA6F8DEMj////FmgAQAAAAAAEAAAACAAAAAQAAAKA3AxAgBZMZAwAAAIg3AxABAAAA + sDcDEAAAAAAAAAAA/////wAAAAAAAAAAOqYCEAEAAABFpgIQAgAAAFCmAhADAAAAW6YCEAQAAABmpgIQ + BQAAAHGmAhD/////AAAAAAAAAADoXwMQxP///xajABAAAAAABgAAAAcAAAABAAAAIDgDECAFkxkIAAAA + 4DcDEAEAAAAwOAMQAAAAAAAAAAD/////AAAAAAAAAACDpgIQAQAAAI6mAhACAAAAmaYCEAMAAACkpgIQ + BAAAAK+mAhD/////AAAAAAAAAADoXwMQ1P///7elABAAAAAABQAAAAYAAAABAAAAmDgDECAFkxkHAAAA + YDgDEAEAAACoOAMQAAAAAAAAAAD0PAMAAAAAAAAAAAByPgMA8LICAEg+AwAAAAAAAAAAAJQ+AwBEtAIA + rD0DAAAAAAAAAAAAoD4DAKizAgA8OgMAAAAAAAAAAADWRAMAOLACAAA9AwAAAAAAAAAAACxHAwD8sgIA + NDoDAAAAAAAAAAAAREcDADCwAgCUPQMAAAAAAAAAAACgRwMAkLMCAPA9AwAAAAAAAAAAAO5HAwDsswIA + BDoDAAAAAAAAAAAAwkgDAACwAgDkPAMAAAAAAAAAAAASSQMA4LICAAA+AwAAAAAAAAAAAHpKAwD8swIA + qDwDAAAAAAAAAAAAhEoDAKSyAgBEPAMAAAAAAAAAAACSSgMAQLICALQ7AwAAAAAAAAAAAKJLAwCwsQIA + AAAAAAAAAAAAAAAAAAAAAAAAAACeSAMAskgDAB5IAwD8RwMAjEgDAHxIAwBsSAMAWEgDAEZIAwAOSAMA + OEgDAAAAAAA4RwMAAAAAAE5MAwBaTAMAaEwDAH5MAwA0TAMAQEwDAMxEAwCsPgMAvj4DAM4+AwDgPgMA + 9D4DAAQ/AwAaPwMAOD8DAEQ/AwBUPwMAcj8DAIw/AwCsPwMAxD8DANI/AwDiPwMA7j8DAPo/AwAIQAMA + FkADAChAAwA+QAMAVkADAGxAAwCEQAMAnkADALRAAwDOQAMA3EADAPJAAwAAQQMAGkEDACxBAwA8QQMA + UkEDAGBBAwBuQQMAgEEDAJBBAwCeQQMAskEDAL5BAwDaQQMA6EEDAABCAwAMQgMAHEIDADJCAwA+QgMA + VEIDAGhCAwB8QgMAkEIDAKJCAwC2QgMAxEIDANpCAwDmQgMA8kIDAAJDAwAQQwMALkMDADxDAwBYQwMA + cEMDAIhDAwCWQwMAokMDALBDAwC+QwMAykMDANpDAwDmQwMA9EMDABREAwAkRAMANEQDADxEAwBMRAMA + XEQDAHZEAwCIRAMAlkQDAKREAwCwRAMABEQDAAAAAACMSwMAlksDAIRLAwB6SwMAbksDAGRLAwBcSwMA + TEsDAEJLAwA4SwMALEsDACJLAwAaSwMACksDAABLAwD2SgMA7koDAORKAwDaSgMA0koDAMhKAwC4SgMA + qEoDAJ5KAwCuSwMAxksDANRLAwDeSwMA6ksDAPpLAwAMTAMAIEwDAKZMAwCyTAMAyEwDAAAAAAAmAACA + CAAAgEgAAIA5AACASgAAgDAAAIAfAACAGAAAgEkAAIArAACAGwAAgEcAAIAkAACALQAAgCAAAIAUAACA + CwAAgCcAAIAEAACAEgAAgA0AAIAxAACAEAAAgD0AAIAAAAAAGAAAgAIAAIAJAACABwAAgJsBAICWAACA + FwAAgAYAAIAhAACAwgAAgMAAAIAIAACADwAAgCIAAIAAAAAA+kgDAOZIAwDQSAMAAAAAAFA+AwBiPgMA + AAAAAEBGAwCYTAMAjEwDAOREAwD0RAMABkUDABhFAwAsRQMAPkUDAFJFAwBiRQMAckUDAIZFAwCYRQMA + rEUDALxFAwDORQMA4EUDAPBFAwAARgMAEkYDAC5GAwCmRgMAUkYDAGRGAwByRgMAfkYDAIpGAwAcRwMA + FEcDAAhHAwDyRgMA4kYDAMpGAwC2RgMAlkYDAAAAAABaRwMAakcDAIBHAwCQRwMATkcDAAAAAAALAACA + DAAAgBMAAIADAACAFwAAgBAAAIAJAACAbwAAgBIAAIAIAACADgAAgAQAAIB0AACAcwAAgDkAAIA0AACA + AAAAAK5HAwDWRwMAwkcDAAAAAADGSQMAskkDAKBJAwCQSQMA1kkDAGxJAwBaSQMARkkDAC5JAwAeSQMA + DkoDAEJKAwB+SQMAIEoDAP5JAwBUSgMAZkoDAAAAAAB+PgMAAAAAAEsAUGF0aElzU2FtZVJvb3RBAIwA + U0hEZWxldGVLZXlBAABTSExXQVBJLmRsbABBAFVSTERvd25sb2FkVG9GaWxlQQAAdXJsbW9uLmRsbAAA + V1MyXzMyLmRsbAAA6gBGb3JtYXRNZXNzYWdlQQAAaQFHZXRMYXN0RXJyb3IAADUCSXNWYWxpZENvZGVQ + YWdlAHcBR2V0TW9kdWxlSGFuZGxlQQAA3wFHZXRWZXJzaW9uRXhBAIMDV2FpdEZvclNpbmdsZU9iamVj + dADGAEZpbmRDbG9zZUNoYW5nZU5vdGlmaWNhdGlvbgAJA1NldEV2ZW50AABJAENyZWF0ZUV2ZW50QQAA + 0gBGaW5kTmV4dENoYW5nZU5vdGlmaWNhdGlvbgAAgQNXYWl0Rm9yTXVsdGlwbGVPYmplY3RzAADHAEZp + bmRGaXJzdENoYW5nZU5vdGlmaWNhdGlvbkEAAHoARGVsZXRlQ3JpdGljYWxTZWN0aW9uAC4AQ2xvc2VI + YW5kbGUAaQBDcmVhdGVUaHJlYWQAAAYCSGVhcEFsbG9jAAwCSGVhcEZyZWUAAAoCSGVhcERlc3Ryb3kA + CAJIZWFwQ3JlYXRlAAB5A1ZpcnR1YWxQcm90ZWN0AAA+AUdldEN1cnJlbnRUaHJlYWRJZAAATANTeXN0 + ZW1UaW1lVG9GaWxlVGltZQAAhwNXaWRlQ2hhclRvTXVsdGlCeXRlALwARmlsZVRpbWVUb1N5c3RlbVRp + bWUAANgBR2V0VGltZVpvbmVJbmZvcm1hdGlvbgAAawJNdWx0aUJ5dGVUb1dpZGVDaGFyALsARmlsZVRp + bWVUb0xvY2FsRmlsZVRpbWUA7wBGcmVlTGlicmFyeQCeAEVudW1SZXNvdXJjZVR5cGVzQQAAegJPcGVu + UHJvY2VzcwCaAEVudW1SZXNvdXJjZUxhbmd1YWdlc0EAAJgBR2V0UHJvY0FkZHJlc3MAAEgCTG9hZExp + YnJhcnlBAACcAEVudW1SZXNvdXJjZU5hbWVzQQAATQBDcmVhdGVGaWxlQQBbAUdldEZpbGVTaXplAA4D + U2V0RmlsZVBvaW50ZXIAAAMDU2V0RW5kT2ZGaWxlAABhA1VubG9ja0ZpbGUAAHABR2V0TG9naWNhbERy + aXZlcwAAWQJMb2NrRmlsZQAAsgBFeHBhbmRFbnZpcm9ubWVudFN0cmluZ3NBABIDU2V0RmlsZVRpbWUA + 6QFHZXRXaW5kb3dzRGlyZWN0b3J5QQAAlANXcml0ZUZpbGUASwFHZXREcml2ZVR5cGVBAFYBR2V0Rmls + ZUF0dHJpYnV0ZXNBAACpAlJlYWRGaWxlAAC5AUdldFN5c3RlbURpcmVjdG9yeUEA5QBGbHVzaEZpbGVC + dWZmZXJzAACtAUdldFNob3J0UGF0aE5hbWVBAEUAQ3JlYXRlRGlyZWN0b3J5QQAAyQBGaW5kRmlyc3RG + aWxlQQAAuAJSZW1vdmVEaXJlY3RvcnlBAABaAkxvY2tGaWxlRXgAAAwDU2V0RmlsZUF0dHJpYnV0ZXNB + AADFAEZpbmRDbG9zZQBkAk1vdmVGaWxlQQDTAEZpbmROZXh0RmlsZUEAXQFHZXRGaWxlVGltZQBaAUdl + dEZpbGVJbmZvcm1hdGlvbkJ5SGFuZGxlAAB8AERlbGV0ZUZpbGVBABkCSW5pdGlhbGl6ZUNyaXRpY2Fs + U2VjdGlvbgBHAkxlYXZlQ3JpdGljYWxTZWN0aW9uAACPAEVudGVyQ3JpdGljYWxTZWN0aW9uAAAQAkhl + YXBSZUFsbG9jALwDbHN0cmxlbkEAAPkBR2xvYmFsTG9jawAA7gFHbG9iYWxBbGxvYwC9A2xzdHJsZW5X + AAAAAkdsb2JhbFVubG9jawAAEgJIZWFwU2l6ZQAA9QFHbG9iYWxGcmVlAAD8AUdsb2JhbFJlQWxsb2MA + HgNTZXRMb2NhbFRpbWUAACwDU2V0U3lzdGVtVGltZQDVAUdldFRpY2tDb3VudAAARwNTbGVlcAC+AUdl + dFN5c3RlbVRpbWUAawFHZXRMb2NhbFRpbWUAAFACTG9jYWxGaWxlVGltZVRvRmlsZVRpbWUAmwFHZXRQ + cm9jZXNzSGVhcAAAVwNUbHNTZXRWYWx1ZQBWA1Rsc0dldFZhbHVlAFQDVGxzQWxsb2MAAIQARGlzYWJs + ZVRocmVhZExpYnJhcnlDYWxscwBVA1Rsc0ZyZWUAS0VSTkVMMzIuZGxsAAABAlBvc3RNZXNzYWdlQQAA + jgBEZWZXaW5kb3dQcm9jQQAAYABDcmVhdGVXaW5kb3dFeEEAswJVbnJlZ2lzdGVyQ2xhc3NBAAD3AEdl + dENsYXNzSW5mb0V4QQAXAlJlZ2lzdGVyQ2xhc3NFeEEAAJkARGVzdHJveVdpbmRvdwD6AEdldENsYXNz + TG9uZ0EA2wBFbnVtVGhyZWFkV2luZG93cwAbAENhbGxXaW5kb3dQcm9jQQDLAEVudW1DaGlsZFdpbmRv + d3MAAEcCU2V0Q2xhc3NMb25nQQBuAUdldFdpbmRvd0xvbmdBAACAAlNldFdpbmRvd0xvbmdBAAA7AlNl + bmRNZXNzYWdlQQAACwFHZXRDdXJzb3JQb3MAADECU2NyZWVuVG9DbGllbnQAAHsBR2V0V2luZG93VGhy + ZWFkUHJvY2Vzc0lkAACxAUlzV2luZG93VmlzaWJsZQCwAUlzV2luZG93VW5pY29kZQB3AUdldFdpbmRv + d1RleHRBAADeAEVudW1XaW5kb3dzAEUBR2V0UGFyZW50ALIBSXNab29tZWQAAKYBSXNJY29uaWMAANgA + RW51bVByb3BzRXhBAAD8AEdldENsYXNzTmFtZUEAXQFHZXRTeXN0ZW1NZXRyaWNzAACZAlN5c3RlbVBh + cmFtZXRlcnNJbmZvQQCDAlNldFdpbmRvd1BvcwAAPgJTZW5kTWVzc2FnZVRpbWVvdXRBACoCUmVsZWFz + ZURDAAwBR2V0REMAdAFHZXRXaW5kb3dSZWN0AFVTRVIzMi5kbGwAAJwBR2V0UGl4ZWwAAEdESTMyLmRs + bABOAEVudW1Kb2JzQQAbAENsb3NlUHJpbnRlcgAAQQBEZXZpY2VDYXBhYmlsaXRpZXNBAH0AT3BlblBy + aW50ZXJBAABgAEVudW1QcmludGVyc0EAV0lOU1BPT0wuRFJWAAALAEdldFNhdmVGaWxlTmFtZUEAAAkA + R2V0T3BlbkZpbGVOYW1lQQAABABDb21tRGxnRXh0ZW5kZWRFcnJvcgAAY29tZGxnMzIuZGxsAABCAENv + bnRyb2xTZXJ2aWNlAADiAVJlZ09wZW5LZXlFeEEA3wFSZWdOb3RpZnlDaGFuZ2VLZXlWYWx1ZQDJAVJl + Z0Nsb3NlS2V5APkBUmVnU2V0VmFsdWVFeEEAAOwBUmVnUXVlcnlWYWx1ZUV4QQAA0AFSZWdEZWxldGVL + ZXlBANYBUmVnRW51bUtleUV4QQDNAVJlZ0NyZWF0ZUtleUV4QQDnAVJlZ1F1ZXJ5SW5mb0tleUEAANkB + UmVnRW51bVZhbHVlQQBBRFZBUEkzMi5kbGwAAHkAU0hCcm93c2VGb3JGb2xkZXJBAACaAFNIRmlsZU9w + ZXJhdGlvbkEAALsAU0hHZXRQYXRoRnJvbUlETGlzdEEAAFNIRUxMMzIuZGxsAGQAQ29UYXNrTWVtRnJl + ZQCTAEdldFJ1bm5pbmdPYmplY3RUYWJsZQAQAENvQ3JlYXRlSW5zdGFuY2UAAGgAQ29VbmluaXRpYWxp + emUAAAYAQ0xTSURGcm9tUHJvZ0lEAAgAQ0xTSURGcm9tU3RyaW5nAA0BUmVhZENsYXNzU3RnAAA0AVN0 + cmluZ0Zyb21HVUlEMgAiAVN0Z0NyZWF0ZURvY2ZpbGUAAD8BV3JpdGVDbGFzc1N0ZwBFAENvTWFyc2hh + bEludGVyVGhyZWFkSW50ZXJmYWNlSW5TdHJlYW0ADwBDb0NyZWF0ZUd1aWQAAC0BU3RnT3BlblN0b3Jh + Z2UAAC0AQ29HZXRJbnRlcmZhY2VBbmRSZWxlYXNlU3RyZWFtAAA7AENvSW5pdGlhbGl6ZUV4AAAGAVBy + b2dJREZyb21DTFNJRAB6AENyZWF0ZUZpbGVNb25pa2VyAG9sZTMyLmRsbABPTEVBVVQzMi5kbGwAAE9E + QkMzMi5kbGwAAA8Dc3RybmNweQASAD8/M0BZQVhQQVhAWgAAEQA/PzJAWUFQQVhJQFoAAOUCbWVtY3B5 + AACsAmZyZWUAAN8CbWFsbG9jAAC2AV9tc2l6ZQAAiwJhdG9pAAAAA3NwcmludGYA5gJtZW1tb3ZlAB8A + Pz9fVUBZQVBBWElAWgDpAm1vZGYAAAACX3N0cmx3cgDoAV9zbnByaW50ZgAKAl9zdHJ1cHIANAN3Y3Ns + ZW4AACAAPz9fVkBZQVhQQVhAWgCjAmZsb29yAAUDc3RyY2hyAADFAV9wdXJlY2FsbAARA3N0cnJjaHIA + jwJjZWlsAADeAmxvbmdqbXAA4gFfc2V0am1wMwAATVNWQ1I3MS5kbGwAEAA/PzF0eXBlX2luZm9AQFVB + RUBYWgAAawBfX2RsbG9uZXhpdAC4AV9vbmV4aXQAPwFfaW5pdHRlcm0AuwBfYWRqdXN0X2ZkaXYAAEwA + X19DcHBYY3B0RmlsdGVyAPEAX2V4Y2VwdF9oYW5kbGVyMwAALgA/dGVybWluYXRlQEBZQVhYWgBSAkxv + Y2FsRnJlZQBYAkxvY2FsVW5sb2NrAFQCTG9jYWxMb2NrAE4CTG9jYWxBbGxvYwAAdQFHZXRNb2R1bGVG + aWxlTmFtZUEAAGUCTW92ZUZpbGVFeEEA1gJ3c3ByaW50ZkEA3gFNZXNzYWdlQm94QQD+AV9zdHJpY21w + AABEAF9DeHhUaHJvd0V4Y2VwdGlvbgAAUQBfX0N4eEZyYW1lSGFuZGxlcgAAAAAAAAAAAFyrGEUAAAAA + Zk4DAAEAAAAjAAAAIwAAAAhNAwCUTQMAIE4DAOsVAACQLwEApC8BAGgxAQAOMQEAhS8BAJkvAQBbMQEA + AzEBAC0xAQBDMQEAFzEBADkxAQBQMQEAIzEBAF02AQDhNAEA/TQBAMk1AQBRNQEATDYBANI0AQDuNAEA + ujUBAEI1AQAKNQEAfjUBAJ41AQAmNQEAXjUBABk1AQCPNQEArTUBADU1AQBvNQEAck4DAIFOAwCMTgMA + n04DAJZOAwCnTgMAs04DAMhOAwC+TgMA0U4DANxOAwDnTgMA804DAP1OAwAHTwMAEk8DABxPAwAoTwMA + PU8DADNPAwBGTwMAUU8DAF5PAwB1TwMAak8DAH9PAwCNTwMApU8DAJlPAwCwTwMAvU8DAMpPAwDgTwMA + 1U8DAOpPAwAAAAEAAgAEAAMABQAGAAgABwAJAAoACwAMAA0ADgAPABAAEQATABIAFAAVABYAGAAXABkA + GgAcABsAHQAeAB8AIQAgACIAdmZwMmMzMi5mbGwAQERpc3BhdGNoQVBJQDQAUmVhZERvdWJsZQBSZWFk + RmxvYXQAUmVhZEludDgAUmVhZEludABSZWFkUERvdWJsZQBSZWFkUEZsb2F0AFJlYWRQSW50OABSZWFk + UEludABSZWFkUFNob3J0AFJlYWRQVUludDgAUmVhZFBVU2hvcnQAUmVhZFNob3J0AFJlYWRVSW50OABS + ZWFkVVNob3J0AFdyaXRlQ2hhcgBXcml0ZURvdWJsZQBXcml0ZUZsb2F0AFdyaXRlSW50OABXcml0ZUlu + dABXcml0ZVBDaGFyAFdyaXRlUERvdWJsZQBXcml0ZVBGbG9hdABXcml0ZVBJbnQ4AFdyaXRlUEludABX + cml0ZVBQb2ludGVyAFdyaXRlUFNob3J0AFdyaXRlUFVJbnQ4AFdyaXRlUFVJbnQAV3JpdGVQVVNob3J0 + AFdyaXRlUG9pbnRlcgBXcml0ZVNob3J0AFdyaXRlVUludDgAV3JpdGVVSW50AFdyaXRlVVNob3J0AAAA + AAAAAAAAAAAAAAAABKcCEMGmAhDMpgIQ2KYCEO6mAhAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACEtAIQ + /LUCEAAAAAAuP0FWdHlwZV9pbmZvQEAAAAAAAP////8BAAAAAAAAABEB+FADEAAA//////////////// + /////wAAAAABAAAAAQAAAAEAAAABAAAAAQAAAAAAAAACAAAAAgAAAAEAAAACAAAAAgAAAAAAAAAEAAAA + BAAAAAEAAAAEAAAABAAAAAAAAAAIAAAACAAAAAEAAAAIAAAACAAAAAAAAAAEAAAABAAAAAAAAAAIAAAA + CAAAAAAAAACgDwAAAAAAANTJAhBrUwIQ/v/RyQIQyMkCEGNYAhD9/9HJAhC8yQIQpVgCEAEAuMkCEKzJ + AhA8UgIQAgCoyQIQnMkCEH1LARABALjJAhCQyQIQ3UoBEAIAjMkCEIDJAhBJSgEQAgCMyQIQeMkCEBFK + ARABALjJAhBsyQIQ00kBEAEAuMkCEFzJAhBRSQEQAwBYyQIQTMkCEC1JARABALjJAhBAyQIQBkkBEAEA + uMkCEDTJAhDlSAEQAADRyQIQKMkCEDpOARABACTJAhAUyQIQrUgBEAEAuMkCEAjJAhCASAEQAQC4yQIQ + +MgCEEVIARACAIzJAhDsyAIQD0gBEAEAuMkCENzIAhDMRwEQAQC4yQIQzMgCENtGARACAMjIAhC4yAIQ + fUUBEAIAtMgCEKTIAhC3MgEQAwCcyAIQjMgCEFNEARADAJzIAhB8yAIQ/EIBEAMAdMgCEGTIAhB+QgEQ + BABcyAIQUMgCEBM2ARADAJzIAhBEyAIQ1jUBEAMAnMgCEDjIAhBpMgEQAwCcyAIQKMgCEGAyARACACTI + AhAUyAIQVTIBEAIAJMgCEAjIAhBuNAEQAgC0yAIQ/McCEAg0ARACALTIAhDwxwIQpDMBEAIAtMgCEODH + AhA+MwEQAgC0yAIQ1McCEOcxARABALjJAhDIxwIQczEBEAEAuMkCELzHAhDEMAEQAQC4yQIQsMcCEIMw + ARABALjJAhCkxwIQxDABEAEAuMkCEJTHAhCDMAEQAQC4yQIQgMcCEGIwARABALjJAhBsxwIQPzABEAEA + uMkCEFjHAhD3LwEQAQC4yQIQRMcCEK0vARABALjJAhA4xwIQbS8BEAEAuMkCECjHAhDWLgEQAQC4yQIQ + GMcCEPAuARACAIzJAhAMxwIQt0EBEAIACMcCEPjGAhDjQAEQAgAIxwIQ6MYCEBNAARADAODGAhDUxgIQ + OS4BEAIAjMkCEMjGAhDMLgEQAQC4yQIQuMYCEMAuARABALjJAhCkxgIQrSUBEAIAoMYCEIzGAhDnJAEQ + AgCgxgIQfMYCEBkkARACAKDGAhBoxgIQRiMBEAIAoMYCEFTGAhB4IgEQAgCgxgIQQMYCELMhARACAKDG + AhAsxgIQ5SABEAIAoMYCEBjGAhBcHwEQAgCgxgIQBMYCEDg7ARADAPzFAhDkxQIQJx4BEAMA4MUCEMjF + AhDhOQEQBADAxQIQrMUCEH8tARACAKDGAhCUxQIQxSwBEAIAoMYCEIDFAhALLAEQAgCgxgIQbMUCEEUr + ARACAKDGAhBYxQIQjCoBEAIAoMYCEEDFAhDPKQEQAgCgxgIQKMUCEBYpARACAKDGAhAQxQIQgicBEAIA + oMYCEPjEAhBOPgEQAwD8xQIQ4MQCEHMmARADAODFAhDExAIQ6TwBEAQAwMUCELDEAhBLFQEQAwCsxAIQ + mMQCEMEUARADAKzEAhCExAIQNxQBEAMArMQCEHDEAhCtEwEQAwCsxAIQXMQCECgTARADAKzEAhBIxAIQ + oxIBEAMArMQCEDDEAhADEgEQAwCsxAIQGMQCEMoQARADAKzEAhAAxAIQ8TYBEAQAXMgCEOjDAhDZDwEQ + BADgwwIQyMMCEGcPARAFAMDDAhCowwIQUx0BEAQA4MMCEJDDAhB/HAEQBADgwwIQfMMCEKsbARAEAODD + AhBowwIQyxoBEAQA4MMCEFDDAhD4GQEQBADgwwIQOMMCECEZARAEAODDAhAgwwIQThgBEAQA4MMCEAjD + AhB7FwEQBADgwwIQ8MICEKgWARAFAMDDAhDUwgIQ1RUBEAUAzMICELDCAhBQOAEQBgCowgIQnMICEFQP + ARABACTJAhCQwgIQ7w4BEAEAuMkCEITCAhDcDgEQAQAkyQIQeMICEHcOARABALjJAhBswgIQZQ4BEAEA + JMkCEGDCAhACDgEQAQC4yQIQVMICEMwNARABACTJAhBIwgIQPg0BEAEARMICEDjCAhAjDQEQAQAkyQIQ + LMICEMAMARABACjCAhAcwgIQpQwBEAEAJMkCEBDCAhBCDAEQAQAowgIQBMICEK/EARABACTJAhD0wQIQ + w8IBEAIA8MECEODBAhCPwAEQAgDwwQIQ0MECEPO+ARACAPDBAhDEwQIQEL0BEAMAwMECEKzBAhBcsgEQ + AwBYyQIQnMECENDQARABACTJAhCQwQIQqM8BEAIAjMECEIDBAhB6zQEQAwB4wQIQbMECEG/KARAEAGTB + AhBUwQIQWMcBEAIA8MECEETBAhA+vAEQAgDwwQIQNMECENm6ARADADDBAhAcwQIQMrkBEAQAFMECEATB + AhCBtwEQAgAAwQIQ8MACEOu1ARACAADBAhDcwAIQ5vwAEAMA1MACEMDAAhDj+wAQAwDUwAIQrMACEET7 + ABADANTAAhCcwAIQL/8AEAIAjMECEJDAAhDO/QAQAQAkyQIQgMACEIj3ABADAHzAAhBswAIQV/QAEAMA + ZMACEFjAAhDe7gAQCQBEwAIQOMACEHuDAhAFACzAAhAgwAIQtXgCEAMA1MACEBDAAhAJdgIQAgAAwQIQ + AMACELlzAhADAPy/AhDovwIQmXICEAUA3L8CEMi/AhAZcgIQAwCcyAIQuL8CEHNxAhADAJzIAhCkvwIQ + 918CEAEAuMkCEJS/AhDSbwIQBACMvwIQeL8CEIZtAhAFAGy/AhBcvwIQ5moCEAQAVL8CEES/AhAKZwIQ + BABUvwIQLL8CEEZkAhADACi/AhAQvwIQwWMCEAMAKL8CEAi/AhBxqAEQBAAAvwIQ8L4CELCjARADAOi+ + AhDUvgIQ1aABEAMA6L4CEMS+AhAhpwEQAgDAvgIQsL4CEJWeARAFAKS+AhCUvgIQc5sBEAUApL4CEIi+ + AhAVmgEQAQAkyQIQdL4CEH+ZARABACTJAhBgvgIQ35gBEAIA8MECEFC+AhCblgEQBABIvgIQOL4CENGV + ARABACTJAhAkvgIQIZUBEAEAJMkCEBS+AhBDjgEQAQAkyQIQAL4CEGx9ARAAANHJAhDsvQIQ2HwBEAAA + 0ckCENC9AhDeewEQAQAkyQIQwL0CEBKDARAIAKy9AhCcvQIQYoABEAcAjL0CEIC9AhAAfgEQAQAkyQIQ + dL0CEP+TARAFAGi9AhBcvQIQv5IBEAUAaL0CEEi9AhATjwEQAgDAvgIQOL0CEKeOARABACTJAhAsvQIQ + iHgBEAQAJL0CEBy9AhB2dwEQBAAkvQIQEL0CEK9pARABALjJAhAIvQIQuXYBEAIAjMkCEPy8AhDFdQEQ + AwCcyAIQ9LwCEFl0ARACAAjHAhDsvAIQV3MBEAMA5LwCENy8AhBxcgEQAwDUvAIQzLwCEFloARABALjJ + AhDAvAIQx3ABEAIAvLwCELC8AhDGZwEQAQC4yQIQpLwCEMVmARADAKC8AhCUvAIQxGUBEAMAoLwCEIi8 + AhCCZAEQBACAvAIQcLwCEFRjARADAKC8AhBkvAIQJmMBEAEAuMkCEFi8AhD+bwEQAQAkyQIQSLwCEHqN + ARADAEC8AhA0vAIQnooBEAQALLwCECC8AhB4jAEQBAAYvAIQCLwCEJ6LARADAAC8AhDwuwIQlYkBEAMA + 1MACEOC7AhAPhwEQBQDYuwIQyLsCEBEmAhAGALy7AhCsuwIQuRICEAMApLsCEJC7AhDpEwIQBQCIuwIQ + dLsCENkRAhABALjJAhBkuwIQ514CEAIAYLsCEFC7AhANXgIQAgDIyAIQQLsCEGVaAhACAAjHAhAwuwIQ + M10CEAEAJMkCECC7AhDOMAIQBAAYuwIQBLsCEOAvAhABALjJAhDwugIQ3SsCEAUA6LoCENC6AhDdKgIQ + AQC4yQIQyLoCEJpMABADAMC6AhC4ugIQ4VEAEAIAYLsCELC6AhAITAAQAwDAugIQqLoCEKVRABACAGC7 + AhCgugIQf1EAEAEAnLoCEJS6AhBZUQAQAQCcugIQiLoCEFdKABACAIS6AhB4ugIQAEsAEAIAYLsCEGy6 + AhDySgAQAQCcugIQYLoCEDpRABABACjCAhBQugIQqlAAEAIAhLoCEEC6AhBgUAAQAQA8ugIQLLoCEKpQ + ABABAJy6AhAgugIQ7kwAEAEAJMkCEBS6AhDICQEQBAAMugIQALoCELsGARAEAPi5AhDouQIQigUBEAIA + 5LkCENC5AhAKBAEQAgDkuQIQvLkCELJTABAEACS9AhCwuQIQ05IAEAEAJMkCEKC5AhAukgAQAQAkyQIQ + kLkCEL+QABABAETCAhCAuQIQHZAAEAEAJMkCEHC5AhBOjwAQAQBEwgIQZLkCEIyNABACAGC5AhBUuQIQ + dowAEAEAULkCEDi5AhATiwAQAgDAvgIQHLkCEDKWABADAPy/AhAIuQIQo3cAEAEAuMkCEAC5AhA0owAQ + BAD4uAIQ7LgCEOefABAHAOC4AhDMuAIQUkgAEAUAwLgCEKS4AhAjRwAQAQC4yQIQlLgCEIkjABABACTJ + AhCEuAIQxyQAEAIAAMECEHS4AhAZVQEQAQAkyQIQaLgCEC9SARAIAFi4AhBMuAIQBl8AEAQARLgCEDC4 + AhDrVwAQAQC4yQIQILgCELNsABAFABS4AhAIuAIQ9GoAEAUA/LcCEOy3AhBpaQAQBADktwIQ1LcCEN5n + ABAEAOS3AhDEtwIQAAAAAAQATLYCEFS2AhB1WwAQBABktgIQbLYCEOtiABAFAHi2AhCEtgIQpgkCEAEA + RMICEJS2AhDTBwIQAgCktgIQqLYCEJkFAhAEALS2AhC8tgIQhQMCEAMAWMkCEMi2AhANBAIQBADYtgIQ + 4LYCEKoCAhACAGC5AhDstgIQzAECEAIAYLkCEPi2AhDrAAIQAgBguQIQBLcCEAoAAhACAGC5AhAQtwIQ + Kf8BEAIAYLkCEBy3AhDl/QEQAQBEwgIQLLcCEBEGAhABAETCAhA8twIQ2v0BEAEAKMICEEi3AhCeAwIQ + AQC4yQIQVLcCEAhPAhACAFy3AhBgtwIQL00CEAIAXLcCEGy3AhBFSwIQAgBctwIQdLcCEFZJAhACAFy3 + AhB8twIQyVACEAMAiLcCEIy3AhCwbwAQAQAkyQIQoLcCEJhWAhADALC3AhC4twIQMVUCEAEAJMkCEAAA + /LUCEAAAAAAuSAAA/LUCEAAAAAAuSgAA/LUCEAAAAAAuSwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAQAQAAAA + GAAAgAAAAAAAAAAAAAAAAAAAAQABAAAAMAAAgAAAAAAAAAAAAAAAAAAAAQAJBAAASAAAAGBQBQBoAgAA + AAAAAAAAAAAAAAAAAAAAAGgCNAAAAFYAUwBfAFYARQBSAFMASQBPAE4AXwBJAE4ARgBPAAAAAAC9BO/+ + AAABAAAAAgADAAAAAAACAAMAAAAXAAAAAAAAAAQAAAACAAAAAAAAAAAAAAAAAAAAxgEAAAEAUwB0AHIA + aQBuAGcARgBpAGwAZQBJAG4AZgBvAAAAogEAAAEAMAA0ADAAOQAwADQAYgAwAAAARgATAAEAQwBvAG0A + cABhAG4AeQBOAGEAbQBlAAAAAABDAEUAIABTAG8AZgB0AHcAYQByAGUAIABEAGUAcwBpAGcAbgAAAAAA + OAAIAAEARgBpAGwAZQBEAGUAcwBjAHIAaQBwAHQAaQBvAG4AAAAAAFYARgBQADIAQwAzADIAAAA2AAsA + AQBGAGkAbABlAFYAZQByAHMAaQBvAG4AAAAAADIALAAgADAALAAgADAALAAgADMAAAAAAFgAGgABAEwA + ZQBnAGEAbABDAG8AcAB5AHIAaQBnAGgAdAAAAFAAdQBiAGwAaQBjACAARABvAG0AYQBpAG4AIAAoADIA + MAAwADQALQAyADAAMAA2ACkAAABAAAwAAQBPAHIAaQBnAGkAbgBhAGwARgBpAGwAZQBuAGEAbQBlAAAA + dgBmAHAAMgBjADMAMgAuAGYAbABsAAAAOgALAAEAUAByAG8AZAB1AGMAdABWAGUAcgBzAGkAbwBuAAAA + MgAsACAAMAAsACAAMAAsACAAMwAAAAAARAAAAAEAVgBhAHIARgBpAGwAZQBJAG4AZgBvAAAAAAAkAAQA + AABUAHIAYQBuAHMAbABhAHQAaQBvAG4AAAAAAAkEsAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAEAAA + aAEAAAownTCwMOowVTF2MaExvjHQMRYyHDIjMigyNTI/MlYyWzJjMmsycjJ/Mo0ylDKdMqMyqDKwMr4y + zjLWMvoykTOXM+sz8TMrNDE0cjSJNJg0tDS8NNw0/zQHNSs1OjVMNVQ1cjV7NYM1oTWrNbU12TX0Nfw1 + FDYbNiQ2LTYyNjk2PjZHNk02XTbrNhE3XzfSOdk54znuOfQ5/DkDOiQ6KjowOjY6PDpCOkg6TjpUOlo6 + YDpmOmw6cjp4On46hDqKOpA6ljqcOqI6qDquOrQ6ujrAOsY6zDrROuk6AjsIOxU7GjsiOzA7VTt9O4M7 + iTubO8A7xjvWO+A7JTxBPEo8UDyzPO88BT1TPaI9qD3zPQM+DD4RPhg+KT43Pks+VT58PoM+jT6cPrg+ + 9j7/PgQ/CT8uPzQ/Oj9AP0Y/TD9aP2I/az9zP4A/iD+WP5s/pT+xP7Y/wT/NP9k/5j/sP/M//D8AIAAA + jAAAAAIwETAuMEIwtTD0MAMxYTHAMcYxzDHTMd8x5jEXMiMyKjJaMmEyrjK0MroywzLMMtYy3DLtMvgy + DjMYMx0zKjMvMzgzPTNbM2kzezOKM9Qz3jPvMwE0ETQiNJE0wjTINB01MTWCNdo1CzZyNp42qjbKNtY2 + 5TbsNvc2KDdGN1I3kzelNwAwAACoAAAAUTBrMHwwDzEOMiMyTTJcMmIyazJ5MrkyMjNBM1YzXzNmM2E3 + xjfyOxg8JjwrPFo8ZjxrPJ88wzzRPNY8Dz0bPSA9MD08PUE9UT1dPWI9oT2qPbQ93D3oPe09Bj4SPhc+ + WD5kPmk+fT6JPo4+uD7EPsk+3z7rPvA+Gj8gPzA/NT9OP1Q/YD9mP3o/gD+SP5g/qD+tP8Y/zD/YP94/ + 8j/4PwBAAAC8AAAAIjAuMDMwaDB0MHkwqzDcMOEwCzEQMYEx8DGXMvYyDDP7MwA0KzSrNOk0kzWyNb01 + QjZiNoQ2jza1NsY2JDc0N043UzddN5k3oDexN8w30zfxNw44GjgpOC44OjhTOG04yzjqOD05YTl1OXo5 + izmmOe458zkEOlI6ZTp1Opg6pzqzOrk6wjqKO5g7nTvgO/I7NzxEPFQ8XDxpPH08jTzNPNo83zzvPD89 + 2j0VPkg+fj6vPgAAAFAAADwBAAAWMCkwWzCDMI8wsjDwMPwwATENMRkxHjFvMZIxzzELMnMyfzKFMuEy + 6jL/MhYzOzNPM10zgDOQM5kzpDMJNHA0fTSONKc0rDTBNNE01jTbNCI1LzU0NTk1RTVpNXg1fTWCNZs1 + qDW1Nbo1vzXPNdQ16DX0Nfk1/jUMNhg2HTYiNjo2PzZwNnU27TYYNyQ3KTdGN0s3bjeUN7Y32DfmN+w3 + ADgGOBs4MTg2OEk4djh9OIM4lDiZOKE4pziuOLQ4uzjBOMg4zjjVONs44jjoOO849Tj8OAI5CjkYOR05 + NjlCOUc5Uzl5OYU5ijmWOeA57DnxOf05GzqDOq46vTrLOtA63DogOzE7NjtCO3Y7izuSO6k7Xjx1PGI9 + qj2wPcg9zz3jPXE+xz4BPwc/Hz8mPzM/7D8AAABgAADYAAAAJjAsMGEwZzCcMKgwrTC5MDMxcTGEMcQx + 0DHVMeExMDI8MkEyTTKrMrcyvDLIMuwyATMIMyIz7DMVNB80PTRONJ81xzXRNfE1BTZ2N7032TffN/c3 + /jcSODs41DgqOWQ5ajmCOYk5nTnGOV86tTrvOvU6DTsUOyg7VDsYPHQ8rjy0PMk80DznPA89OD3oPf89 + iT7ZPt8+6j7wPvY+/T4GPws/Ez8ZPx4/JT8rPzA/Nz89P0I/ST9SP10/aT98P4I/iT+OP6E/qT+xP8k/ + 0D/gPwBwAADwAAAANzDoMPEwBDGVMaQxtTHLMdMx8jEYMh8yPTJuMosy1zI1M1QzZDN3M4czwzPeM/sz + LTRQNFo0ZjSENJA0lTScNLM00jTkNOk08DQKNUQ1gjWHNY41qDXnNUY2Tjb1Ngk3HDciNy83OzdyN383 + izeqN7g3HTiNOHM5fTmBOYU5iTmNOZE5lTmZOZ05oTmlOao5LTpDOls6Zjp5Ops6HDslOyo7OztVO2I7 + dTvBO9A7VDxqPII8jTygPCM9Kj0vPUA9Vj1hPXQ9wD3PPUI+VT5tPno+jT7oPvE+9j4HPxs/Mz9AP1M/ + lz+mPwCAAAD4AAAAGTAsMEQwUTBkMNMw3DDhMPIwBjETMSYxajF5Mewx/zEXMiQyNzKmMq8ytDLFMtky + 5jL5Mj0zTDO9M9Mz7jP7Mw40izSUNJk0qjS+NMs03jQiNTE1pDW3Nc813DXvNVQ2XTZiNnM2hzaUNqc2 + 6zYPNxw3XzdsN3c3fzeJN6k38zcWOBw4JzgzOGw4rzjNOBM5fjmZOaU50jnyOfc5ETo9OlM6YzrROvY6 + FDt2O5w7sju3O8g72jvlO/g7DTwYPCs8cTx3PI48tzzCPM48CT1QPYc9jT2iPRQ+IT40PpQ+oT60PiI/ + Mz9JP08/wz/7PwAAAJAAACgBAAAYMB4wNDBiMG0weTC6MMAw2zBAMUsxXjGPMZoxrTHGMRMyKTIvMkUy + czJ+MooyzjLUMu0yJjM5M14zbDN/M8AzxjM5NEw0ZDRxNIQ04DTpNO40/zQoNTU1SDWMNfs1Mza2Nuc2 + 7Db9NhU3IDczN0Y3UTdkN343kjedN7A3xTfUN+c3/zcKOB04PjhDOFQ4ZjhxOIQ4qTi8OEA5Rjm2Ocw5 + 5DnvOQI6JDp3OoQ6lzrbOrc7vDvNO+I75zsQPFU8ejyCPJM8wzzLPNw8DD0UPSU9tD25Pco92z3gPfE9 + FT4aPis+Sj5PPmA+jT6SPqM+tD65Pso+6j7yPgM/ID8oPzk/az9zP4Q/kT+VP5k/nT+hP6U/qT+tP7E/ + tT+5P+g/AAAAoAAAQAAAALMwzDAgMUwyczKMMpgypDKpMrwyzDIvMzUztjPPM2U0PTXANVI5aDl8OQs6 + +ToSO1E9kT/HP84/ALAAAGQAAABZMF0wYTBlMGkwbTBxMHUweTDaMPMwBzINMiIyKTI7Mk8yWTJgMmky + kjKXMpwytzLJMg4zOzRTNGk1rDbENuo3LDlEOWo6vjovO5s7Cjx5POg8Vz2/PSc+iD7mPgDAAABQAAAA + pDC9MHwyiDKUMqAy1zLDM4U1jzZoN6s3RTgvOZQ53zrmOio7Njs9O9Q7rTy0PL08xDwQPRc9ID0nPVk9 + ZD1wPXs9gD+LPwAAANAAALQAAABZMGQwcDB7MN4w6TD1MAAxSzFWMV8xZjHMMdMxKjIxMmAyazJ3MoIy + IzQuNDo0RTRRNFw0pDSzNM803jQgNWs1ejXLNdI12zXiNRE2JzYrNi82MzY3Njs2PzZDNkc2SzZPNlM2 + VzZbNl82YzZnNms2bzZzNnc2ezZ/NoM21zZUN1s3iDcvOD84fDiFOIk4jTiROJU4mTjCOPA6UzuTO5s7 + 5DtGPIc8Gj2dPgAAAOAAAIwAAAB3MH4wBjOBMw40EzRxNHU0eTR9NIE0hTSJNC01VjV/NZ41xjUxNlE2 + eTaVNrk21TbxNg03ZTdxN3w3hzeSN543qzewN+M46DglOb45xTnSOdc56znzOTA6TjqrO7A70Dt3PHE9 + jz3uPQU+QD5LPl8+cT52PoY+lD6iPr0+xT7uPp4/AAAA8AAAuAAAAE0wtDAyMT4xrTO8M8sz2jNYNG00 + 5zT1NBo1RTVjNYo1ozXBNe81CDYmNlo2czaRNro20Db7Ng83ITdtN4M3iTeeNyQ4MjhVOIU4sDjBONk4 + +jg4OUk5YzmAOa45vznXOe85GjorOkM6YTqEOqs6vDrROik7PztFO1c7pjveO+Q7+TswPFQ8pjzhPOc8 + +TxEPXw9mT2wPbU9xj3PPeQ9Qz7FPso+1D4qPzA/RT+7PwAAAAABAMgAAABGMFkwXjBvML4wxDDPMNYw + 3TDoMPYw+zAMMRExGDEdMSYxOzFCMVkx6TH7MQ4yQDNGM1EzXzNnM24zezOKM48zoDOmM6szszO5M8Az + xjPNM9Mz2jPgM+cz7TP0M/ozATQLNCA0JzQ7NHQ0xjTSNNc06jT4NAQ1CTUcNT41XDVvNYU1izWgNac1 + uzX9NVI2bzaNNqA2tja8NtE22DbvNsU32jftNyU4wznJOdo54TkKOhk6zzrkOvc6JDs9POc9AAAAEAEA + GAAAAFsxYTFqMXAxtTG7MXA7AAAAIAEAGAAAABMwGTAiMCgwkzCZMFk4yDsAMAEAfAAAAKkw6DDjNQM2 + IDY+Nm42gTaHNo02kjafNqQ2tja7Nsg2zTbYNuM26DZFN4w3kjegN6Y3xDfkN+k3FjgcOAM5ZjmBOYY5 + RTqyOtk63jqfOwQ8CjwTPBk8QjxrPHA8mjygPGw90z3tPfI90T4xP5g/sj+3PwAAAEABAHQBAAB1MJkw + tTC6MCMxSDFvMYsxkDHsMREyNjJSMlcyqDLCMuEy5jL/MkczTTNXM10znjPBM+Yz6zMKNBA0KjQvNFY0 + hzSNNJc0nTTjNAQ1IzUoNVU1gDXANcY11TXbNWQ2kTaXNrI2tzbeNgY3DDcbNyE3pDfRN9s38TcUOC04 + MjhPOGg4bTiFOJQ4mTi0OM040jjmOPI4BzkWOTk5PzmCOZc5nTmqOa855TnrOfg5/TkdOiM6MDo1Okw6 + bTpzOn06gzq+OuA6DTsTO147gDuZO5872jv6Ox48JTwwPDU8PzxFPFU8WjxuPHU8fTyDPIo8kDyXPJw8 + qTyzPL08xzzRPNs85TzvPPk8Az0NPRc9IT0rPTU9Pz1JPVM9XT1nPXE9ez2FPY89mT2jPa09tz3BPcs9 + 1T3fPek9/j0DPg0+GT4ePjs+UT5bPog+kT6bPq8+LD8yPzw/Xz+wP7k/wz/VP9s/4z/oP+0/8j/3P/4/ + AFABAPQAAAAIMA0wFjAbMCQwKTAwMDYwPjBEME0wWjBfMGgwbTB0MHwwgjCIMKgw9DB2MZQxuDHiMfEx + 9jECMjAyRTJMMmMyUTNlM9ozQDRFNFY0FDUaNVc1bDV6NYY1izWcNbE1vDXPNRo2hjaUNqc2rza1Nsw2 + /jY3N883Cjg1OJg4FjlLOWU5dTmcObY52DneOQw6FDomOkI6RzpxOn46ijq/Oso61jobOyg7NDtvO6A7 + rDveOw88GzxPPG08eTysPMk81TwOPRs9Jz1mPXE9eT2EPbI9vz3LPf09FT4gPiw+Zj6IPpM+nz4jP48/ + 5T8AAABgAQCAAQAA+TD+MEsx3TEKMhYyHjJ+MosylDK/MtEy8DIBMwYzEDNHM1UzZzNuM4Uz9jMCNBA0 + FTRFNFY0ZzR9NIM0mjShNLM0OzVENVI1VzWHNZg1qTW/NcU11zU/NkU2UzZYNog2mTaqNsA2xjbYNkA3 + RjdUN1k3iTeaN6s3wTfHN+A39jf8Nwo4Dzg3OFQ4WjhxOJE4lziyOL44wzjWOPk4BTkKOR05ODlHOVo5 + lDmqObA5yDniOf85CzoROh86JDpaOmU6cjp3OpE6pTqxOuY69Dr5Ogw7YDt7O4o7jzuiO647szu/O+c7 + 8zv4OwQ8JDwwPDU8QTxvPHs8gDyMPMQ83TymPbE9tz29PcY90T3ZPd895j3sPfM9+T0APgY+DT4TPho+ + ID4nPi0+ND46PkE+Rz5OPlQ+Wz5hPmg+bj51Pns+gj6IPo8+qT6vPro+wj7IPtU+3D72Pvw+Bz8PPxU/ + HD8iPyk/WT9jP3Q/iD+UP7U/xj/YP+Q//z8AAABwAQAYAQAANTB8MMIwyDDhMAIxGjE7MUcxTDFfMYAx + jDGRMaQxszG/McQx1zHyMQEyFDJCMmwycjKKMtIy3jLsMvsyDjM8M1IzWDNqM6Ez6TPvM/szADQ+NFQ0 + WjRsNM404jToNPY0+zQONWM1qjXANcY13zUPNkk2TzZbNmA2nja0Nro2zDYJNw83HTciN1Q3cTd3N4k3 + BzgXOBw4KDhFOIM4iTibOBE5ITkmOTI5TjmMOZI5uznUOdk5+TkdOiI6LjpVOnc6mDrJO9878TshPDg8 + PTxQPH08gjyVPNM82TzvPA49HT0iPS49Zz1tPYM9oj2xPbY9wj37PQE+Fj5NPlg+cT75Pgc/KT88P00/ + Uj9eP4w/AAAAgAEAqAAAAC4wXTBjMH0wJTFCMYMxkzGzMfcxXDJtMosyljKbMg0zEzMtMwQ0ITRiNHI0 + mDQPNXc1izVyNn02gjYKNxA3oDfjNwI4BzgYOCw4PDhQOG44iTjOOOQ47zj0OAU5PTlIOZA5ljlCOpk6 + nzpDO5k7nzsnPHM8eTwePXU9ez2NPZ097T0+PkQ+Vj6iPqg+uj4OPxQ/Jj+fP6U/3D/3P/w/AAAAkAEA + CAEAAA8wGzAgMBkxNTF0MY8xwzEVMhoyJDIpMjUyjTKZMp4yqjLAMtoyTTOXM54z+jMANBo0jTS+NMU0 + HDUiNWs1ejV/NYs1zDXSNeQ1+TU1NkQ2STZcNpY2nDYVNyU3Kjc9N2Y3cDd8N483pjeyN7c3yjf5NwU4 + CjgdOJU42jjgOPI4HjkqOS85Ozl6OYA5ljm5OcY5yznXORA6FjpoOno6fzqSOpw6szq4Oss62zrpOvQ6 + BzskOy87RztuO3Q7iTufO9M79TsUPDY8YDy+PNE81jzpPCU9dj3KPRQ+ID4lPjg+UT53PpA+lj6rPss+ + 8z4YP4k/nD+hP7Q/zD/YP90/8D8AoAEAoAAAABswUTCHMKkw0DDWMOswdDGGMYsxnjGxMb0xwjHVMQ4y + IjIwMnMyqjLhMnYzqzOxM8YzzTPkM2A0bDRxNIQ0tDTFNNA0DjVANXI1yTXPNQo2DzYZNgw3Ijc3N043 + bDhyOIs4pTnBOc852znkORY6RjqhOps72DsVPEQ9dD2kPU8/VT9gP5g/sj+6P80/2T/fP+Y/7T/1P/s/ + ALABAGQBAAAAMAcwDTASMBkwHjAkMC0wNTA7MEMwSzBTMFkwYjBnMG0wczCCMIowkDCXMJ0wpDCqMLEw + tzC+MMQwyzDRMNgw3jDlMOsw8jD4MP8wBTEMMRIxGTEeMSgxMDE2MT8xSTFRMVcxYDFqMXIxeDGBMYsx + kzGZMaIxqDGwMbgxwTHNMd0x4zHuMfYx/DEDMgkyEDIWMh0yIzIqMjAyNzJDMl0ybzJ/MrQy5DLqMjQz + SDNrM3czfDOSM+kz+jMXNCM0KDQ7NFU0ZzRsNH80zDSlNeY17DUBNhE2fjZ8N4I3lzfPN+A3CziHOJA4 + mDinOLk4yjgOOTM5SDnsOfc5AzoIOhs6cDqBOpc62jrvOmg7cjt+O4M7ljvgO/Y7PzxUPJc8oDysPLE8 + vTwLPRE9Jj0tPUQ9eT2FPbU9yD2dPqs+tz7KPu4+9D4GPw0/JD9WP2w/cT+EP5c/oz+5P9c/6j8AwAEA + +AAAADAwOjBGMFkwijCQMKUw3zDxMAwxIjEnMToxUDFaMXAxmzGuMV4ybDJ6Mo0yvjLEMtkyAjMUMycz + OTM+M1EzazN1M4szrDO/M0Y0VDRgNHM0qjSwNME0yDTZNPo0CTVLNV81ZDV3NZc1oTXKNdY16TWRNp82 + rTbANgQ3WTeqN7M3/DdIOHw4oTgaOYg52zkEOi06VjpwOoU6yDomPF88bzyDPJY8nzytPLY8xDzKPNQ8 + 4Tz0PEE9Vz17PZA9xz3fPQQ+Iz5ePmU+cz6FPow+nT6sPrM+xD7PPt8+7T70Pgs/GD8rP3c/qT/BP8g/ + 3D8AAADQAQCkAAAAGjAtMDQwQDBFMFgwnzDRMOkw8DAEMUIxSDFUMVkxbDGzMcUx9TEMMhIyLzJBMksy + dDKuMj0zWjOVM7oz7TMiNF40nDTNNPw0EzVGNWY1sDXjNRY2QDYNN2E3uTcbOII46zgvOWY5lTmyOes5 + Ejo4Olg6bzqZOqg6rjq3OsU6BTs9O1c7aDv7O5k8qDxXPdU96j30PQ8+Gz5NPlc/AOABAKQAAABiMHcw + KzHJMRkydDL/MhEzZTPHNKA17jUfNkk2kDbCNg44QjiDOKM4wzjSOPU4/DgPOSA5NTk+OVg5bzmDOY45 + kzmdOaI54jkQOik6QzqWOg07LDtMO3U7yjslPDk8rDw0PYk9jj2YPcY97z0UPiI+KT5XPsY+0j7XPvA+ + /D4BPw0/Tj9VP2A/iz+XP5w/rD+4P70/zT/ZP94/6j8A8AEAfAAAAFgwXzBpMHwwhjA2MUIxRzFaMfIx + CzIQMj0yxTLeMuMy9jJoM3QzeTOUM5g0vTTJNM402jSoNbM1zjXsNQs2KjY2Njs2TjaANpM2fTe/N8s3 + 0DfjNyo4kjgyOcg5RTqsOiE7sDtbPLY8SD2APaA9pT3JPQAAAAACAKwAAACfMwg0DjRbNGc0bDR/NMU0 + 6TT1NPo0DTUrNTc1PDVPNZQ1mjUMNrc34ziGOY06QDtoO247eDuTO6w74Dv3Ow88GzwlPGE8eDyhPK88 + xTz/PBw9KD0yPVM9WT1vPYQ9iT2ZPZ89tD3OPeU9ET4sPmc+cz6aPrM+yT7VPto+5j4JPx8/Kz8wPzg/ + QT9LP1w/aD+GP4w/kz+vP7s/wD/MP9g/3T/pPwAQAgBsAQAAUzBtMLow4jDpMPQw+TAHMQ4xFDEdMSQx + OTFCMUsxUzFcMWUxdTGGMZ0xpDGvMbQxwzHIMesx+zEfMoYyjjK6Ms4yCDMNMyAzSDNNM14znjOuM7kz + vjPJM88z2jPkM+ozazSRNL005TQNNTM1TjVoNYA1kDWmNa41wzXUNeI15zXxNf41STZrNnU2gDarNrw2 + DTc0Nz43SDdeN2Q35zfvNwQ4GTguOEM4WDh+OI44pjjCOM848jgIORk5Kjk0OUE5ZDl6OYg5mTmjObE5 + zTniOec57Tn9OTM6SDpOOlg6XjpwOoE6jDqjOr06yjrdOuI67DoAOxQ7KDs8O1E7ajt6O4o7yTvWO907 + 8jsPPCs8PTxCPEw8eDx9PLM8ET1IPVQ9YD1sPXw9iT2rPfc9BD4PPhk+MD48PlQ+YT5rPnM+eD6OPp0+ + pD6uPrg+wD7FPu4+9j4IPxI/Pz94P7A/wT/QP+E/8D8AIAIAgAEAAAswJjBUMFkwaDCiMNAw1TDkMPww + FzEyMU0xaTGCMegxSDJ6MpEynjKlMroyxTLSMtky4zLtMvYyIDM9M0ozTzNkM28zfDODM40zlzOeM6Mz + tzPmM+szEjQcNCw0ODRINFU0ZDR2NIc0kTSgNKc0vzTJNNk07DT2NCQ1KTVvNX41gzWXNaM1qDW0NcM1 + yDXcNeg17TX5NRI2LzZ7Np82xTYANxw3ODerN9A3+jdmOG44yjjYOOY47jjzOPo4GTkmOS05Njk9OUQ5 + YzlwOXc5gDmLOZY5nDmnObE5wDnIOeY5Kjo1Ojo6QTpJOnM6kjrAOt46+ToaOyE7Kzs0O0I7UjtcO2s7 + cDuDO5U7nDvCO9g73jv5O0A8STxOPF88fDyVPKY8qzy8PNY86DwYPTo9RT1YPWg9dj17PY49nz2uPbM9 + xj3dPeg9+z0RPh0+LD4xPkQ+kT6ePqw+vT7KPtg+4D75PiI/RT9PP1Q/Wz9kP4k/nD/VP+E/+T8AMAIA + KAEAABswIjApMEUwTzBcMGEwdDCGMI0wszDJMM8w6DAkMTAxNTFGMWMxgzGeMa8xtDHFMe0xBzIcMkIy + UTJWMmkygDKPMpQypzK7Mscy1jLbMu4yPDNKM1szbDONM5QzmjOjM6ozvzPIM9Ez2TPiM+sz+zMMNCM0 + KjQ1NDo0QTRRNFY0bzSANK00tzTHNM402DT5NAA1ITUsNUc1UjVxNXo1qDXHNeg1+zUHNiY2NDZvNno2 + 8Tb+Nig3WDd7N4Y3vzfVN+o3CjhtOHM4zjjbOEc5UjnJOdI5NDo9OrQ6vTofOyg7nzuuO8o74jsNPFo8 + YzxuPJM8nDynPMw81TxMPVU9tz3UPeA9AD5DPkw+wz7MPgs/KD80P1Q/lz+iP6s/uD/KPwBAAgDYAAAA + DzAmME8wYTBzMHkwhzCfMK0wuzDFMOMw6TDvMAQxDTFcMWMxbjGYMZ4xpjG7McExzDHSMdox7zH6MQQy + VzJjMnUyfDKCMooymTKjMqkytjK/MtEy3TLkMuoy8DL2MvwyAjMKMxkzIzMpMzEzPjNMM10zaDNyM3wz + 1TPcM+Qz7TP3MwA0DjQiNCk0LjQ3NEw0VTR5NH80kjSfNK80tDS7NMI00TTmNOo07zT0NPk0/jR8NYo1 + wDXGNdM14DWzNrk2STeNN8M35TcpOHU4sTgAAABQAgBgAQAAyjDwMDcyPTJ0MpQyqjKzMtIy4DLuMvsy + FDMfMzMzSTNQM4QzizORM5YznDOiM7MzvjPPM+kz8jP+Mxo0KTQ2ND00UDRaNGI0djSLNKs0ujTHNNo0 + 4DTnNO00AjUPNRs1MjVGNbY1yDXhNQc2JzY6NpM2mTYMNzQ3WTdeN3E3dzeCN443mDeoN683tDfHN+Y3 + 9TcBOBQ4GjghOCY4NjhOOIM4pjisOMo43zj0OAk5HjkzOUg5UzlsOYU5nTm1Oc055Tn9OQM6MjpBOlE6 + ZjqYOqg6rTrAOs863jruOvM6BjsWOyk7OTs+O1E7XjtuO407lzufO647vzvEO9Q72TvqOxU8ITwmPDk8 + hjySPJc8qjzAPNY83DzpPO489jz8PAM9CT0RPR89JD00PWg9dD15PYU9CD4OPkI+Tj5TPl8+4j7oPvw+ + NT8/P2Y/eT+pP7M/vj/RP/I//D8AYAIAQAAAAAMwETAmMBUzrDPCM9QzQTRHNGI0KjUFNws3JDdqOOE6 + 5zoAOyc8gT2HPZw9bT+mP7c/zT/TP/E/AHACAKQAAAA0MW4xdDGGMfAxFDIaMiwylDKaMq8yRzN2M3wz + gjOLM5IzlzOlM6ozujMiNEA0TDRRNF40YzR2NLo1xDXJNdY12zXuNQQ2CjYfNiY2PTagNqU2uDbVNt82 + 6zb+Nno3hjeLN543sDi2OMs4aDmMObM5uDnOOfw5CDoeOsU6yjrgOhU9Mj1JPWA9dz2OPaU9tT3GPdc9 + 6D35PSI+AAAAgAIAkAAAAGQxgTGYMa8xxjHdMfQxBDIVMiYyNzJIMnEyfTKUMqsywjLZMuoy+zIMM3Yz + fDORM100cTSPNLs04zQFNT41gTWYNak1vzVEN2A3dzeIN5k3ijimOL04yjvmO/07FDwrPEI8WTxwPIc8 + njy1PMw83TzuPP88ED0hPTI9Qz1ZPmk+hj6dPu4+AAAAkAIA7AAAANwxlDL+MggzEjMcMy4zTjNuM3gz + gjOMM5YzoDOqM7QzvjPQM9oz5DMBNAs0KDRQNG00fzScNK40wDTSNNw0CTVSNYo1wjXcNRw2NjZuNqw2 + 5zYXN0c3YTdrN5A3tTf4NzA4djixOM446zgAORU5Kjk/OVQ5Zjl4OYo5lDm5Odk56zkTOi06Rzp3OpE6 + ozrLOvM6BTsiOzQ7bzuJO6M71jscPCY8Wzx4PIo8lDyePKg8ujzEPM486DwCPRw9ST1jPXU9hz2sPfg9 + Vz6dPr0+3T7yPhI/JD82P0g/Yj+EP6k/zj/oPwCgAgCIAAAAAjA6MEwwXjB7MJgwtTDdMP0wGjFCMVQx + gTGLMZUxvTEAMjgycDKoMvYyCzNOM3YznjOwMwk0MTRONHM0kDSlNLo01DT5NBY1OzVQNW01gjWXNaw1 + 1zX0NRw2MTZ6Nrg2wjbHNs022TbjNu82+TYFNws3EDcdNyU3KzcxNzw3SDcAsAIAIAAAAPg1/DUENgg2 + FDYYNig2NDY4NkQ2SDYAAADQAgAQAAAA/DcAOAQ4AAAA8AIAsAAAAJg5nDmgOaQ5qDmsObA5tDm4Obw5 + wDnEOcg5zDk0PDg8RDxIPFQ8WDxkPGg8dDx4PIQ8iDyUPJg8pDyoPLQ8uDzEPMg84Dz4PAw9HD0gPUQ9 + TD1UPXg9gD2IPaw9tD28Pew99D0IPhQ+HD48PkQ+WD5kPmw+jD6UPqg+tD68Ptw+5D74PgQ/DD8cPzQ/ + PD9QP1w/ZD90P3w/iD+gP6g/tD/cP+Q/+D8AAAAAAwBsAgAABDAMMCwwNDBIMFQwXDB8MIQwmDCkMKww + zDDUMOgw9DD8MBwxJDE4MUQxTDFsMXQxiDGUMZwxvDHEMdgx5DHsMQwyFDIoMjQyPDJUMmQybDKAMowy + lDK0Mrwy0DLcMuQyBDMMMyAzLDM0M0wzVDNkM2wzgDOMM5QztDO8M9Az3DPkM/wzBDQUNBw0MDQ8NEQ0 + XDRkNGw0fDSENJg0pDSsNMQ0zDTcNOQ0+DQENQw1JDU0NTw1UDVcNWQ1fDWENZQ1nDWwNbw1xDXcNew1 + 9DUINhQ2HDY0NkQ2TDZgNmw2dDaMNpw2pDa4NsQ2zDbsNvQ2CDcUNxw3NDc8N0Q3TDdcN2Q3eDeEN4w3 + pDesN7Q3vDfEN8w33DfkN/g3BDgMOCQ4LDg0ODw4RDhUOFw4cDh8OIQ4nDikOKw4tDi8OMw41DjoOPQ4 + /DgMORQ5IDk4OUA5SDlQOVg5YDlsOYw5lDmkOaw5wDnMOdQ57Dn0Ofw5BDoMOhw6JDo4OkQ6TDpkOmw6 + dDp8OoQ6lDqcOrA6vDrEOtw65DrsOvQ6/DoMOxQ7KDs0Ozw7VDtcO2Q7bDt8O4Q7mDukO6w7xDvMO9Q7 + 3DvsO/Q7CDwUPBw8NDw8PEw8VDxoPHQ8fDycPKQ8uDzEPMw85DzsPPQ8BD0MPSA9LD00PUw9VD1cPWw9 + dD2IPZQ9nD20Pbw9xD3MPdQ93D3sPfQ9CD4UPhw+ND48PkQ+TD5UPmQ+bD6APow+lD6sPrQ+vD7EPsw+ + 1D7kPuw+AD8MPxQ/LD80Pzw/RD9MP1w/ZD94P4Q/jD+kP6w/vD/EP9g/5D/sPwAAABADAFQCAAAEMAww + HDAkMDgwRDBMMGQwdDB8MJAwnDCkMLwwzDDUMOgw9DD8MBQxJDEsMUAxTDFUMWwxfDGEMZgxpDGsMcQx + 1DHcMfAx/DEEMhQyIDI4MkQyXDJoMpAymDKsMrgywDLQMtgy4DLsMgwzFDMkMywzQDNMM1QzbDN8M4Qz + mDOkM6wzxDPMM9Qz5DPsMwA0DDQUNCw0NDRENEw0YDRsNHQ0jDSUNKQ0rDTANMw01DTsNPQ0/DQENRQ1 + HDUwNTw1RDVcNWQ1dDV8NZA1nDWkNbw1zDXUNeg19DX8NRQ2HDYkNjQ2PDZQNlw2ZDZ8NoQ2jDacNqQ2 + uDbENsw25Db0Nvw2EDccNyQ3PDdEN1Q3XDdwN3w3hDecN6w3tDfIN9Q33Df0N/w3BDgMOBQ4JDgsOEA4 + TDhUOGw4dDiEOIw4oDisOLQ4zDjUOOQ47DgAOQw5FDksOTQ5PDlEOVQ5XDlwOXw5hDmcOaQ5rDm0Obw5 + xDnUOdw58Dn8OQQ6JDosOkA6TDpUOmw6dDp8OoQ6lDqcOrA6vDrEOtw65Dr0Ovw6EDscOyQ7PDtMO1Q7 + aDt0O3w7nDukO7g7xDvMO+w79DsIPBQ8HDw8PEQ8WDxkPGw8hDyUPJw8sDy8PMQ85DzsPAA9DD0UPTQ9 + PD1QPVw9ZD18PYQ9lD2cPbA9vD3EPdw95D30Pfw9ED4cPiQ+ND48Pkg+YD5oPnA+eD6EPqQ+rD68PsQ+ + 2D7kPuw+BD8UPxw/MD88P0Q/XD9sP3Q/iD+UP5w/tD+8P8Q/1D/cP/A//D8AIAMAeAIAAAQwHDAkMCww + NDA8MEQwVDBcMHAwfDCEMJwwpDCsMLQwvDDEMMww1DDkMOwwADEMMRQxLDE0MTwxRDFMMVQxZDFsMYAx + jDGUMawxtDHEMcwx4DHsMfQxDDIUMiQyLDJAMkwyVDJsMnwyhDKYMqQyrDLEMswy3DLkMvgyBDMMMyQz + NDM8M1AzXDNkM3wzjDOUM6gztDO8M9Qz5DPsMwA0DDQUNCw0NDRENEw0YDRsNHQ0hDSMNJQ0oDTANMg0 + 0DTgNOg0/DQINRA1KDUwNTg1SDVQNWQ1cDV4NZA1mDWoNbA1xDXQNdg18DX4NQg2EDYkNjA2ODZQNlg2 + YDZoNnA2gDaINpw2qDawNsg22DbgNvQ2ADcINyA3MDc4N0w3WDdgN3g3gDeQN5g3rDe4N8A32DfgN/A3 + +DcMOBg4IDg4OEA4UDhYOGw4eDiAOJg4oDioOLg4wDjUOOA46DgAOQg5GDkgOTQ5QDlIOVg5YDlsOYw5 + lDmcOaw5tDnIOdQ53Dn0OQQ6DDogOiw6NDpMOlQ6XDpkOnQ6fDqQOpw6pDrUOtw68Dr8OgQ7JDssO0A7 + TDtUO2w7dDt8O4w7lDuoO7Q7vDvUO9w75DvsO/Q7/DsMPBQ8KDw0PDw8VDxcPGQ8bDx0PIQ8jDygPKw8 + tDzMPNQ83DzkPOw8/DwEPRg9JD0sPUQ9TD1UPVw9ZD10PXw9kD2cPaQ9vD3EPcw91D3cPeQ97D38PQQ+ + GD4kPiw+RD5UPlw+cD58PoQ+nD6kPqw+tD68PsQ+1D7cPvA+/D4EPxw/JD8sPzw/RD9YP2Q/bD+EP4w/ + lD+kP6w/wD/MP9Q/7D/8PwAwAwBcAQAABDAYMCQwLDBEMEwwVDBcMGQwbDB0MHwwjDCUMKgwtDC8MNQw + 3DDkMPQw/DAQMRwxJDE8MUQxVDFcMXAxfDGEMZwxpDGsMbwxxDHYMeQx7DEEMgwyHDIkMjgyRDJMMmQy + dDJ8MpAynDKkMrwyzDLUMugy9DL8MhQzHDMsMzQzSDNUM1wzdDN8M4QzlDOcM7AzvDPEM9wz5DP0M/wz + EDQcNCQ0PDRENEw0XDRkNHg0hDSMNKQ0tDS8NNA03DTkNPw0BDUUNRw1MDU8NUQ1XDVsNXQ1iDWUNZw1 + tDXENcw14DXsNfQ1DDYcNiQ2ODZENkw2ZDZsNnQ2hDaMNqA2rDa0Nsw21DbkNuw2ADcMNxQ3LDc0Nzw3 + TDdUN2g3dDd8N5Q3pDesN8A3zDfUN+w39Df8NwQ4DDgUOCQ4LDhAOEw4VDhsOHQ4fDiEOIw4nDikOLg4 + xDjMOABQAwCABgAABDAIMAwwEDAUMDAwNDBeMPgw/DACMQYxCjEQMRQxGDEeMSIxJjEsMTAxNDE6MT4x + QjFIMUwxUDFWMVoxXjFkMWgxbDFyMXYxejGAMYQxiDGOMZIxljGcMaAxpDGqMa4xsjG4MbwxwDHGMcox + zjHUMdgx3DHiMeYx6jHwMfQx+DH+MQIyBjIMMhAyFDIaMh4yIjIoMiwyMDI2MjoyPjJEMkgyTDJSMlYy + WjJgMmQyaDJuMnIydjJ8MoAyhDKKMo4ykjKYMpwyoDKmMqoyrjK0MrgyvDLCMsYyyjLQMtQy2DLeMuIy + 5jLsMvAy9DL6Mv4yAjMIMwwzEDMWMxozHjMkMygzLDMyMzYzOjNAM0QzSDNOM1IzVjNcM2AzZDNqM24z + cjN4M3wzgDOGM4ozjjOUM5gznDOiM6YzqjOwM7QzuDO+M8IzxjPMM9Az1DPaM94z4jPoM+wz8DP2M/oz + /jMENAg0DDQSNBY0GjQgNCQ0KDQuNDI0NjQ8NEA0RDRKNE40UjRYNFw0YDRmNGo0bjR0NHg0fDSCNIY0 + ijSQNJQ0mDSeNKI0pjSsNLA0tDS6NL40wjTINMw00DTWNNo03jTkNOg07DTyNPY0+jQANQQ1CDUONRI1 + FjUcNSA1JDUqNS41MjU4NTw1QDVGNUo1TjVUNVg1XDViNWY1ajVwNXQ1eDV+NYI1hjWMNZA1lDWaNZ41 + ojWoNaw1sDW2Nbo1vjXENcg1zDXSNdY12jXgNeQ16DXuNfI19jX8NQA2BDYKNg42EjYYNhw2IDYmNio2 + LjY0Njg2PDZCNkY2SjZQNlQ2WDZeNmI2ZjZsNnA2dDZ6Nn42gjaINow2kDaWNpo2njakNqg2rDayNrY2 + ujbANsQ2yDbONtI21jbcNuA25DbqNu428jb4Nvw2ADcGNwo3DjcUNxg3HDciNyY3KjcwNzQ3ODc+N0I3 + RjdMN1A3VDdaN143YjdoN2w3cDd2N3o3fjeEN4g3jDeSN5Y3mjegN6Q3qDeuN7I3tje8N8A3xDfKN843 + 0jfYN9w34DfmN+o37jf0N/g3/DcCOAY4CjgQOBQ4GDgeOCI4JjgsODA4NDg6OD44QjhIOEw4UDhWOFo4 + XjhkOGg4bDhyOHY4ejiAOIQ4iDiOOJI4ljicOKA4pDiqOK44sji4OLw4wDjGOMo4zjjUONg43DjiOOY4 + 6jjwOPQ4+Dj+OAI5BjkMORA5FDkaOR45IjkoOSw5MDk2OTo5PjlEOUg5TDlSOVY5WjlgOWQ5aDluOXI5 + djl8OYA5hDmKOY45kjmYOZw5oDmmOao5rjm0Obg5vDnCOcY5yjnQOdQ52DneOeI55jnsOfA59Dn6Of45 + AjoIOgw6EDoWOho6HjokOig6LDoyOjY6OjpAOkQ6SDpOOlI6VjpcOmA6ZDpqOm46cjp4Onw6gDqGOoo6 + jjqUOpg6nDqiOqY6qjqwOrQ6uDq+OsI6xjrMOtA61DraOt464jroOuw68Dr2Ovo6/joEOwg7DDsSOxY7 + GjsgOyQ7KDsuOzI7Njs8O0A7RDtKO047UjtYO1w7YDtmO2o7bjt0O3g7fDuCO4Y7ijuQO5Q7mDueO6I7 + pjusO7A7tDu6O747wjvIO8w70DvWO9o73jvkO+g77DvyO/Y7+jsAPAQ8CDwOPBI8FjwcPCA8JDwqPC48 + Mjw4PDw8QDxGPEo8TjxUPFg8XDxiPGY8ajxwPHQ8eDx+PII8hjyMPJA8lDyaPJ48ojyoPKw8sDy2PLo8 + vjzEPMg8zDzSPNY82jzgPOQ86DzuPPI89jz8PAA9BD0KPQ49Ej0YPRw9ID0mPSo9Lj00PTg9PD1CPUY9 + Sj1QPVQ9WD1ePWI9Zj1sPXA9dD16PX49gj2IPYw9kD2WPZo9nj2kPag9rD2yPbY9uj3APcQ9yD3OPdI9 + 1j3cPeA95D3qPe498j34Pfw9AD4GPgo+Dj4UPhg+HD4iPiY+Kj4wPjQ+OD4+PkI+Rj5MPlA+VD5aPl4+ + Yj5oPmw+cD52Pno+fj6EPog+kj6WPpo+oD6kPqg+rj6yPrY+vD7APsQ+yj7OPtI+2D7cPuA+5j7qPu4+ + 9D74Pvw+Aj8GPwo/ED8UPxg/Hj8iPyY/LD8wPzQ/Oj8+P0I/SD9MP1A/Vj9aP14/ZD9oP2w/cj92P3o/ + gD+EP4g/jj+SP5Y/nD+gP6Q/qj+uP7I/uD+8P8A/xj/KP84/1D/YP9w/4j/oP/Q/AGADAAwAAAAAMAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA; + ENDTEXT + + Return Strconv(m.lcFileData,14) +Endfunc diff --git a/utile/ctl32/explorerbar.vc2 b/utile/ctl32/explorerbar.vc2 new file mode 100644 index 0000000..b515c3d --- /dev/null +++ b/utile/ctl32/explorerbar.vc2 @@ -0,0 +1,505 @@ +*-------------------------------------------------------------------------------------------------------------------------------------------------------- +* (EN) AUTOGENERATED - ATTENTION!! - NOT INTENDED FOR EXECUTION!! USE ONLY FOR MERGING CHANGES AND STORING WITH SCM TOOLS!! +*-------------------------------------------------------------------------------------------------------------------------------------------------------- +*< FOXBIN2PRG: Version="1.21" SourceFile="explorerbar.vcx" CPID="1252" /> (Solo para binarios VFP 9 / Only for VFP 9 binaries) +* +* +DEFINE CLASS explorerbar AS container + *< CLASSDATA: Baseclass="container" Timestamp="" Scale="Pixels" Uniqueid="" /> + + *-- OBJECTDATA items order determines ZOrder / El orden de los items OBJECTDATA determina el ZOrder + *< OBJECTDATA: ObjPath="imgBackground" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="Ctl32_Scrollbar" UniqueID="" Timestamp="" /> + + * + *m: changetheme && Occurs when theme change. + *m: initthemedcontrol + *m: reposition && Reposition groups after collapse/expand a group. + *m: scroll && Move the ScrollBar to show the current group. + *p: custombuilder + *p: version && ExplorerBar version. + *p: _memberdata && XML Metadata for customizable properties + * + + PROTECTED Init,Resize + * + Anchor = 7 + BorderWidth = 0 + custombuilder = Double click here to open Builder + Height = 208 + Name = "explorerbar" + version = 3.5.0 + Width = 267 + _memberdata = + + + + + + + + * + + ADD OBJECT 'Ctl32_Scrollbar' AS ctl32_scrollbar WITH ; + ctlorientation = 1, ; + Height = 0, ; + Left = 249, ; + Name = "Ctl32_Scrollbar", ; + Top = -1, ; + Width = 18, ; + lblname.Name = "lblname", ; + ctlTextBox.Name = "ctlTextBox" + *< END OBJECT: ClassLib="ctl32.vcx" BaseClass="container" /> + + ADD OBJECT 'imgBackground' AS image WITH ; + Height = 0, ; + Name = "imgBackground", ; + Stretch = 2, ; + Top = -1, ; + Width = 249 + *< END OBJECT: BaseClass="image" /> + + PROCEDURE changetheme && Occurs when theme change. + This.imgBackground.Picture = _Screen.ThemesManager.GetMember("ExplorerBar.Background.Picture") + ENDPROC + + PROTECTED PROCEDURE Init + This.InitThemedControl() + This.Reposition(.T.) + ENDPROC + + HIDDEN PROCEDURE initthemedcontrol + If Not Vartype(_Screen.ThemesManager)=="O" + _Screen.Newobject("ThemesManager","ThemesManager","ThemedControls.vcx") + Endif + This.ChangeTheme() + ENDPROC + + PROCEDURE reposition && Reposition groups after collapse/expand a group. + Lparameters llMove + Local lnTop, lnHeight, loGroup + With This.Ctl32_Scrollbar + m.lnTop = .ctlMinimum - .ctlValue + Endwith + m.lnHeight = 0 + For Each loGroup In This.Controls + With m.loGroup + If Not Inlist(Upper(.Name),; + "IMGBACKGROUND","CTL32_SCROLLBAR") + If m.llMove + .Top = m.lnTop + .Left = 4 + Endif + m.lnTop = .Top + .Height + m.lnHeight = m.lnHeight + .Height + Endif + Endwith + Endfor + m.loGroup = Null + * + With This + Local llScrollBar + llScrollBar = (m.lnHeight > .Height) + With .Ctl32_Scrollbar + If llScrollBar + .ctlMaximum = m.lnHeight + .ctlLargeChange = .Height + Else + If Not .ctlValue==.ctlMinimum + .ctlValue = .ctlMinimum + Endif + Endif + .ctlVisible = llScrollBar + Endwith + Endwith + ENDPROC + + PROTECTED PROCEDURE Resize + With This + Store 0 To ; + .imgBackground.Top, ; + .Ctl32_Scrollbar.Top + Store .Height To ; + .imgBackground.Height, ; + .Ctl32_Scrollbar.Height + .imgBackground.Width = .Width + .Reposition(.F.) + Endwith + * The following code ensures that focus rectangle is visible + Try + Local loObject + m.loObject = This.ActiveControl + With m.loObject + If Upper(.Name)=="CMDFOCUS" + This.Scroll(.Parent.Top,.Parent.Height) + .Visible = .F. + .Visible = .T. + Endif + Endwith + m.loObject = Null + Catch + Endtry + ENDPROC + + PROCEDURE scroll && Move the ScrollBar to show the current group. + Lparameters lnTop, lnHeight + With This.Ctl32_ScrollBar + If .ctlVisible + .ctlValue = (m.lnTop + m.lnHeight + 1 + .ctlValue) - This.Height + Endif + Endwith + ENDPROC + + PROCEDURE Ctl32_Scrollbar.ctlvaluechanged + This.Parent.Reposition(.T.) + ENDPROC + +ENDDEFINE + +DEFINE CLASS explorergroup AS container + *< CLASSDATA: Baseclass="container" Timestamp="" Scale="Pixels" Uniqueid="" /> + + *-- OBJECTDATA items order determines ZOrder / El orden de los items OBJECTDATA determina el ZOrder + *< OBJECTDATA: ObjPath="imgBackground" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="linBottomBorder" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="linLeftBorder" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="linRightBorder" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="cntUserControls" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="imgTitle" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="cmdFocus" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="lblTitle" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="imgPicture" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="shpMouseHandler" UniqueID="" Timestamp="" /> + + * + *m: activate && Occurs when group receive the focus. + *m: changetheme && Occurs when theme change. + *m: clicked && Occurs when shpMouseHandler or cmdFocus are clicked. + *m: collapse && Occurs when group is collapsed. + *m: expand && Occurs when group is expanded. + *m: highlightheader && Occurs when header receive focus. + *m: initthemedcontrol + *p: custombuilder + *p: imgcollapsehighlighted && Path and name of the button's image displayed when group is collapsed and highlighted. + *p: imgcollapsenothighlighted && Path and name of the button's image displayed when group is collapsed and not highlighted. + *p: imgexpandhighlighted && Path and name of the button's image displayed when group is expanded and highlighted. + *p: imgexpandnothighlighted && Path and name of the button's image displayed when group is expanded and highlighted. + *p: initialheight && Initial group height. + *p: lblhighlight && Highlighted group font color. + *p: lblnothighlight && Not highlighted group font color. + *p: state && Specify if the group is expanded (0) or collapsed (1). + *p: type && Specify if group type is normal (0) or special (1). + *p: _memberdata && XML Metadata for customizable properties + * + + HIDDEN initialheight + PROTECTED GotFocus,Init,Resize + * + BackStyle = 0 + BorderWidth = 0 + custombuilder = Double click here to open Builder + Height = 200 + imgcollapsehighlighted = ("") + imgcollapsenothighlighted = ("") + imgexpandhighlighted = ("") + imgexpandnothighlighted = ("") + initialheight = 0 + lblhighlight = 0 + lblnothighlight = 0 + Name = "explorergroup" + state = 0 + type = 0 + Width = 241 + _memberdata = + + + + + + + + + + + + + + + + + + + * + + ADD OBJECT 'cmdFocus' AS commandbutton WITH ; + Caption = "Command1", ; + Height = 21, ; + Left = 3, ; + Name = "cmdFocus", ; + Style = 1, ; + TabIndex = 2, ; + Top = 14, ; + Width = 235 + *< END OBJECT: BaseClass="commandbutton" /> + + ADD OBJECT 'cntUserControls' AS container WITH ; + Height = 159, ; + Left = 0, ; + Name = "cntUserControls", ; + TabIndex = 3, ; + Top = 37, ; + Width = 241 + *< END OBJECT: BaseClass="container" /> + + ADD OBJECT 'imgBackground' AS image WITH ; + BackStyle = 0, ; + Height = 159, ; + Left = 0, ; + Name = "imgBackground", ; + Stretch = 2, ; + Themes = .F., ; + Top = 37, ; + Width = 241 + *< END OBJECT: BaseClass="image" /> + + ADD OBJECT 'imgPicture' AS image WITH ; + BackStyle = 0, ; + Height = 32, ; + Left = 0, ; + Name = "imgPicture", ; + Stretch = 2, ; + Top = 4, ; + Width = 32 + *< END OBJECT: BaseClass="image" /> + + ADD OBJECT 'imgTitle' AS image WITH ; + BackStyle = 0, ; + Height = 25, ; + Left = 0, ; + Name = "imgTitle", ; + Stretch = 2, ; + Top = 12, ; + Width = 241 + *< END OBJECT: BaseClass="image" /> + + ADD OBJECT 'lblTitle' AS label WITH ; + Caption = "Label1", ; + FontBold = .T., ; + FontSize = 8, ; + Height = 17, ; + Left = 37, ; + Name = "lblTitle", ; + TabIndex = 1, ; + Top = 16, ; + Width = 176 + *< END OBJECT: BaseClass="label" /> + + ADD OBJECT 'linBottomBorder' AS line WITH ; + Height = 0, ; + Left = 0, ; + Name = "linBottomBorder", ; + Top = 196, ; + Width = 241 + *< END OBJECT: BaseClass="line" /> + + ADD OBJECT 'linLeftBorder' AS line WITH ; + Height = 160, ; + Left = 0, ; + Name = "linLeftBorder", ; + Top = 37, ; + Width = 0 + *< END OBJECT: BaseClass="line" /> + + ADD OBJECT 'linRightBorder' AS line WITH ; + Height = 160, ; + Left = 240, ; + Name = "linRightBorder", ; + Top = 37, ; + Width = 0 + *< END OBJECT: BaseClass="line" /> + + ADD OBJECT 'shpMouseHandler' AS shape WITH ; + BackStyle = 0, ; + BorderStyle = 0, ; + Height = 33, ; + Left = 0, ; + MousePointer = 15, ; + Name = "shpMouseHandler", ; + Top = 4, ; + Width = 241 + *< END OBJECT: BaseClass="shape" /> + + PROCEDURE activate && Occurs when group receive the focus. + ENDPROC + + PROCEDURE changetheme && Occurs when theme change. + With _Screen.ThemesManager + Store .GetMember("ExplorerBar.Bordercolor") To ; + This.linLeftBorder.BorderColor, ; + This.linRightBorder.BorderColor, ; + This.linBottomBorder.BorderColor + If This.Type==0 + This.ImgCollapseHighlighted = .GetMember("ExplorerBar.NormalGroupCollapseHighlight.Picture") + This.ImgCollapseNotHighlighted = .GetMember("ExplorerBar.NormalGroupCollapseNotHighlight.Picture") + This.ImgExpandHighlighted = .GetMember("ExplorerBar.NormalGroupExpandHighlight.Picture") + This.ImgExpandNotHighlighted = .GetMember("ExplorerBar.NormalGroupExpandNotHighlight.Picture") + This.lblHighlight = .GetMember("ExplorerBar.NormalGroupHighlight.Forecolor") + This.lblNotHighlight = .GetMember("ExplorerBar.NormalGroupNotHighlight.Forecolor") + This.imgBackground.Picture = .GetMember("ExplorerBar.NormalGroupBackground.Picture") + Else + This.ImgCollapseHighlighted = .GetMember("ExplorerBar.SpecialGroupCollapseHighlight.Picture") + This.ImgCollapseNotHighlighted = .GetMember("ExplorerBar.SpecialGroupCollapseNotHighlight.Picture") + This.ImgExpandHighlighted = .GetMember("ExplorerBar.SpecialGroupExpandHighlight.Picture") + This.ImgExpandNotHighlighted = .GetMember("ExplorerBar.SpecialGroupExpandNotHighlight.Picture") + This.lblHighlight = .GetMember("ExplorerBar.SpecialGroupHighlight.Forecolor") + This.lblNotHighlight = .GetMember("ExplorerBar.SpecialGroupNotHighlight.Forecolor") + This.imgBackground.Picture = .GetMember("ExplorerBar.SpecialGroupBackground.Picture") + Endif + This.HighlightHeader(.F.) + Endwith + ENDPROC + + PROCEDURE clicked && Occurs when shpMouseHandler or cmdFocus are clicked. + With This + If .State==0 + .Collapse() + Else + .Expand() + Endif + .cmdFocus.SetFocus() + .Parent.Scroll(.Top,.Height) + * The following code must not be placed in Collapse + * and Expand methods because I must call Collapse + * in the Init when group must be start collapsed. + Local loObject + loObject = Sys(1270) + If Vartype(loObject)=="O" + If Upper(loObject.Name)==Upper(This.Name) + .HighlightHeader(.T.) + Else + .HighlightHeader(.F.) + Endif + Endif + Endwith + ENDPROC + + PROCEDURE collapse && Occurs when group is collapsed. + Local lnHeight + With This + .State = 1 + *For m.lnHeight=.Height-1 To 37 Step -1 + * .Height = m.lnHeight + * .Parent.Reposition(.T.) + *Endfor + .Height = 37 + .Parent.Reposition(.T.) + .cntUserControls.Visible = .F. + Endwith + ENDPROC + + PROCEDURE expand && Occurs when group is expanded. + Local lnHeight + With This + .State = 0 + *For m.lnHeight=.Height+1 To .InitialHeight + * .Height = m.lnHeight + * .Parent.Reposition(.T.) + *Endfor + .Height = .InitialHeight + .Parent.Reposition(.T.) + .cntUserControls.Visible = .T. + Endwith + ENDPROC + + PROTECTED PROCEDURE GotFocus + With This + .Parent.Scroll(.Top,.Height) + .Activate() + Endwith + ENDPROC + + PROCEDURE highlightheader && Occurs when header receive focus. + Lparameters llHighlight + With This + If m.llHighlight + .lblTitle.ForeColor = .lblHighlight + .imgTitle.Picture = Iif(.State==0,.ImgCollapseHighlighted,.ImgExpandHighlighted) + Else + .lblTitle.ForeColor = .lblNotHighlight + .imgTitle.Picture = Iif(.State==0,.ImgCollapseNotHighlighted,.ImgExpandNotHighlighted) + Endif + * The following code ensures that focus rectangle is visible. + With .cmdFocus + .Visible = .F. + .Visible = .T. + Endwith + Endwith + ENDPROC + + PROTECTED PROCEDURE Init + With This + .InitialHeight = .Height + If Empty(.imgPicture.Picture) + Local lnWidth + With .imgPicture + m.lnWidth = .Width + .Visible = .F. + Endwith + With .lblTitle + .Left = .Left - m.lnWidth + .Width = .Width + m.lnWidth + Endwith + Endif + .lblTitle.BackStyle = 0 + .cntUserControls.BorderWidth = 0 + .cntUserControls.BackStyle = 0 + If .State==1 + .Collapse() + Endif + * + .InitThemedControl() + Endwith + ENDPROC + + HIDDEN PROCEDURE initthemedcontrol + If Not Vartype(_Screen.ThemesManager)=="O" + _Screen.Newobject("ThemesManager","ThemesManager","ThemedControls.vcx") + Endif + This.ChangeTheme() + ENDPROC + + PROTECTED PROCEDURE Resize + With This + Store Max(0,.Height - .shpMouseHandler.Height - 8) To ; + .linLeftBorder.Height, ; + .linRightBorder.Height, ; + .imgBackground.Height, ; + .cntUserControls.Height + .linBottomBorder.Top = (.imgBackground.Top + .imgBackground.Height) + .linBottomBorder.Visible = (.State==0) + Endwith + ENDPROC + + PROCEDURE cmdFocus.KeyPress + Lparameters nKeyCode, nShiftAltCtrl + If nKeyCode==13 + Nodefault + This.Parent.Clicked() + Endif + ENDPROC + + PROCEDURE shpMouseHandler.Click + This.Parent.Clicked() + ENDPROC + + PROCEDURE shpMouseHandler.MouseEnter + Lparameters nButton, nShift, nXCoord, nYCoord + This.Parent.HighlightHeader(.T.) + ENDPROC + + PROCEDURE shpMouseHandler.MouseLeave + Lparameters nButton, nShift, nXCoord, nYCoord + This.Parent.HighlightHeader(.F.) + ENDPROC + +ENDDEFINE diff --git a/utile/ctl32/outlooknavbar.vc2 b/utile/ctl32/outlooknavbar.vc2 new file mode 100644 index 0000000..f4ce251 --- /dev/null +++ b/utile/ctl32/outlooknavbar.vc2 @@ -0,0 +1,1659 @@ +*-------------------------------------------------------------------------------------------------------------------------------------------------------- +* (EN) AUTOGENERATED - ATTENTION!! - NOT INTENDED FOR EXECUTION!! USE ONLY FOR MERGING CHANGES AND STORING WITH SCM TOOLS!! +*-------------------------------------------------------------------------------------------------------------------------------------------------------- +*< FOXBIN2PRG: Version="1.21" SourceFile="outlooknavbar.vcx" CPID="1252" /> (Solo para binarios VFP 9 / Only for VFP 9 binaries) +* +* +DEFINE CLASS outlooknavbar AS container + *< CLASSDATA: Baseclass="container" Timestamp="" Scale="Pixels" Uniqueid="" /> + + *-- OBJECTDATA items order determines ZOrder / El orden de los items OBJECTDATA determina el ZOrder + *< OBJECTDATA: ObjPath="PanelVertical" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="Title" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="OverflowPanel" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="ShrinkButton" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="Panel" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="Splitter" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="Panes" UniqueID="" Timestamp="" /> + + * + *m: beforechangeselectedbutton + *m: buttonclicked && Occurs when a button is clicked. + *m: changetheme && Occurs when theme change. + *m: changeviewmode && Change control state (shrunk or not). + *m: inainte_de_showless + *m: inainte_de_showmore + *m: initthemedcontrol + *m: rearrangebuttons && Internal to the class. Rearrange buttons to show in correctly order and position. + *m: repositioncontrols && Reposition all controls inside OutlookNavBar to avoid bugs if height is changed at design time. + *m: selectedbutton_assign && Internal to the class. Occurs when SelectedButton property is changed. + *m: showless && Internal to the class. Show less buttons in the panel. + *m: showmore && Internal to the class. Show more buttons in the panel. + *m: updatepane && Change the specified pane properties: Caption, Picture16, Picture24 and HotKey. + *m: viewmodechanged && Occurs when the control was shrunk. + *p: displayshrinkbutton && Specify if Shrink button will be displayed or not. + *p: maxshowedbuttons && Maximum number of buttons displayed in the panel. + *p: mnushowlesstext && The text that is displayed in the "Show less" shortcut menu item. + *p: mnushowmoretext && The text that is displayed in the "Show more" shortcut menu item. + *p: mnuthemestext && The text that is displayed in the "Themes" shortcut menu item. + *p: selectedbutton && Internal to the class. The number of selected button. + *p: showedbuttons && Internal to the class. The number of showed buttons. + *p: targetformname && Internal to the class. Name of the target form where the toolbar will be docked. + *p: version && OutlookNavBar version. + *p: _memberdata && XML Metadata for customizable properties + * + + PROTECTED Init,version + * + Anchor = 7 + BackColor = 255,255,255 + displayshrinkbutton = .T. + Height = 400 + maxshowedbuttons = 5 + mnushowlesstext = Mai putine + mnushowmoretext = Mai multe + mnuthemestext = Themes... + Name = "outlooknavbar" + selectedbutton = 0 + showedbuttons = 0 + targetformname = ("") + version = 3.5.0 + Width = 200 + _memberdata = + + + + + + + + + + + + + + + + + + + + + + + * + + ADD OBJECT 'OverflowPanel' AS overflowpanel WITH ; + Anchor = 14, ; + Left = 1, ; + Name = "OverflowPanel", ; + Top = 368, ; + Width = 198, ; + MENUBUTTON.imgPicture.Name = "imgPicture", ; + MENUBUTTON.Name = "MENUBUTTON", ; + MENUBUTTON.shpTransparent.Name = "shpTransparent" + *< END OBJECT: ClassLib="outlooknavbar.vcx" BaseClass="container" /> + + ADD OBJECT 'Panel' AS panel WITH ; + Height = 0, ; + Left = 1, ; + Name = "Panel", ; + Top = 368 + *< END OBJECT: ClassLib="outlooknavbar.vcx" BaseClass="container" /> + + ADD OBJECT 'PanelVertical' AS panelvertical WITH ; + Left = 2, ; + Name = "PanelVertical", ; + Top = 29, ; + lblCaption.Name = "lblCaption" + *< END OBJECT: ClassLib="outlooknavbar.vcx" BaseClass="control" /> + + ADD OBJECT 'Panes' AS panes WITH ; + Anchor = 11, ; + ErasePage = .T., ; + Height = 332, ; + Left = 1, ; + Name = "Panes", ; + Top = 28 + *< END OBJECT: ClassLib="outlooknavbar.vcx" BaseClass="pageframe" /> + + ADD OBJECT 'ShrinkButton' AS shrinkbutton WITH ; + Anchor = 9, ; + Left = 176, ; + Name = "ShrinkButton", ; + Top = 5 + *< END OBJECT: ClassLib="outlooknavbar.vcx" BaseClass="control" /> + + ADD OBJECT 'Splitter' AS splitterhorizontal WITH ; + Left = 1, ; + Name = "Splitter", ; + objectabove = This.Parent.Panes, ; + objectbelow = This.Parent.Panel, ; + Top = 360, ; + imgBackground.Name = "imgBackground", ; + imgGripper.Name = "imgGripper" + *< END OBJECT: ClassLib="outlooknavbar.vcx" BaseClass="control" /> + + ADD OBJECT 'Title' AS title WITH ; + Name = "Title", ; + Top = 0, ; + imgBackground.Name = "imgBackground", ; + lblCaption.Name = "lblCaption" + *< END OBJECT: ClassLib="outlooknavbar.vcx" BaseClass="control" /> + + PROCEDURE beforechangeselectedbutton + Lparameters lnOldValue, lnNewValue + ENDPROC + + PROCEDURE buttonclicked && Occurs when a button is clicked. + Lparameters lnNumber, lcCaption, lcPicture24 + ENDPROC + + PROCEDURE changetheme && Occurs when theme change. + This.BorderColor = _Screen.ThemesManager.GetMember("OutlookNavBar.BorderColor") + ENDPROC + + PROCEDURE changeviewmode && Change control state (shrunk or not). + This.ShrinkButton.ChangeViewMode() + ENDPROC + + PROCEDURE inainte_de_showless + ENDPROC + + PROCEDURE inainte_de_showmore + ENDPROC + + PROTECTED PROCEDURE Init + With Thisform + .LockScreen = .T. + .ShowTips = .T. + Local loPane + If .BaseClass=="Form" + .MinHeight = This.Height + 4 + .MinWidth = This.Width + 4 + * + * Special action for forms + For Each loPane In This.Panes.Pages + With loPane + This.UpdatePane(.PageOrder,.Caption,; + .Picture16,.Picture24,.HotKey) + Endwith + Endfor + * + Else + * Special action for toolbars + For Each loPane In This.Panes.Pages + If This.ShowedButtons
    + <> + ENDTEXT + + Text To lcXmlWorksheet_part2 Textmerge Pretext 2 Noshow +
    + + +
    +
    + + + + + + 9 + 300 + 300 + + + <> + False + False + + <> + + + ENDTEXT + + Try + lnBytes = 0 + lnBytes = lnBytes + Strtofile("", This.File, 0) + lnBytes = lnBytes + Strtofile( lcXmlStart + This.crlf, This.File, 1) + lnBytes = lnBytes + Strtofile( lcXmlDocumentProperties + This.crlf, This.File, 1) + lnBytes = lnBytes + Strtofile( lcXmlExcelWorkbook + This.crlf, This.File, 1) + lnBytes = lnBytes + Strtofile( lcXmlAllStyles + This.crlf, This.File, 1) + lnBytes = lnBytes + Strtofile( lcXmlWorksheet_part1 + This.crlf, This.File, 1) + + lnBytes = lnBytes + This.BuildRows() + + lnBytes = lnBytes + Strtofile( lcXmlWorksheet_part2 + This.crlf, This.File, 1) + + llReturn = Iif(lnBytes > 0, .T., .F.) + + Catch To loError + If File(This.File) + Erase (This.File) + Endif + + Messagebox("An error occurred during the data exporting. " + Chr(13) + "Error: " + loError.Message, 16, "Exporting") + + llReturn = .F. + Endtry + + *select xxxStylesRowCol + *browse normal + *select xxxStylesProperties + *browse normal + + Set Point To &lcSetPoint + + If Used("xxxStylesProperties") + Use In xxxStylesProperties + Endif + + If Used("xxxStylesRowCol") + Use In xxxStylesRowCol + Endif + + If Used(This.Alias) + Go lnRecNo + Endif + + If Vartype(This.GridObject) <> "O" + loForm.Release() + Endif + + This.GridObject = .Null. + + If Used(This.Alias) + Select (This.Alias) + Endif + + *- abre o arquivo apos salva-lo + If llReturn And This.OpenAfterSaving + Declare Integer ShellExecute In SHELL32.Dll As WinAPI_OpenAfterSavingExcelXml; + Integer HndWin, String cAction, String cFileName, ; + String cParams, String cDir, Integer nShowWin + + WinAPI_OpenAfterSavingExcelXml(0, "OPEN", This.File, "", "", 1) + Clear Dlls "WinAPI_OpenAfterSavingExcelXml" + Endif + + Return llReturn + + Endproc + + + *|================================================================================ + *| ExcelXml:: + Procedure SeekStyle(plcRow, plcCol) + + Local lcReturn + lcReturn = "" + + *- se nao aplica estilos + If Not This.SetStyles And plcRow > "000001" + plcRow = "000001" + Endif + + *- Procuro um estilo para a celula, caso nao encontre aplico o padr�o. + *- Teoricamente todas as celulas deve ter um estilo e n�o o padr�o. + If Seek(plcRow + plcCol, "xxxStylesRowCol", "idxRowCol") + lcReturn = xxxStylesRowCol.ssCode + Else + lcReturn = "Default" + Endif + + Return lcReturn + + EndProc + + + *--------------------------------------------------------------------------------------- + * After creating XML file in the Save() method, you can call this method and pass filename of XML file, + * to use Excell to open the XML file and convert it to an XLSX file. + * Values for lnFileFormat: + * 51 = xlOpenXMLWorkbook (without macro's in 2007-2013, xlsx) + * 52 = xlOpenXMLWorkbookMacroEnabled (with or without macro's in 2007-2013, xlsm) + * 50 = xlExcel12 (Excel Binary Workbook in 2007-2013 with or without macro's, xlsb) + * 56 = xlExcel8 (97-2003 format in Excel 2007-2013, xls) + Procedure ConvertXmlToXlsx(tcFilename, tnFileFormat, tlOpenAfterExporting) + + Local loExcel as "Excel.Application" + Local lcNewFilename, lnFileFormat, loWorkBook, lcSafety + + loExcel = Createobject("Excel.Application") + + If !IsObject(loExcel) + This.cErrorMessage = "Error starting Excel." + Return .F. + Endif + + If !File(tcFileName) + This.cErrorMessage = "File not found: " + tcFilename + Return .F. + Else + loWorkBook = loExcel.Application.Workbooks.Open(tcFileName) + EndIf + + lnFileFormat = Evl(tnFileFormat, 51) && 51 = xlsx as default + + If (".xml" $ tcFilename) + lcNewFilename = Strtran(tcFilename, ".xml", ".xlsx", 1, 99, 1) + loWorkBook.SaveAs(lcNewFilename, lnFileFormat) + lcSafety = Set("Safety") + Set Safety Off + Delete File (tcFileName) + Set Safety &lcSafety + Endif + + If tlOpenAfterExporting + loExcel.Visible = .T. + Else + loExcel.Quit() + EndIf + + Endproc + +Enddefine diff --git a/utile/excel/VFPxWorkbookXLSX.h b/utile/excel/VFPxWorkbookXLSX.h new file mode 100644 index 0000000..7827d3c --- /dev/null +++ b/utile/excel/VFPxWorkbookXLSX.h @@ -0,0 +1,349 @@ +#DEFINE CR CHR(13) +#DEFINE LF CHR(10) +#DEFINE CRLF CR+LF +#DEFINE TAB CHR(9) +#DEFINE False .F. +#DEFINE True .T. +#DEFINE FOF_SILENT 4 + +#DEFINE LIMITS_MAX_CELL_CHARS 32767 +#DEFINE LIMITS_MAX_COLUMNS 16384 +#DEFINE LIMITS_MAX_ROWS 1048576 +#DEFINE LIMITS_MAX_ROW_HEIGHT 409 +#DEFINE LIMITS_MAX_COLUMN_WIDTH 255 +#DEFINE LIMITS_MAX_HDR_FTR_CHARS 255 +#DEFINE LIMITS_MAX_CELL_FORMATS 200 +#DEFINE LIMITS_MAX_FILL_STYLES 256 +#DEFINE LIMITS_MAX_LINE_STYLES 256 +#DEFINE LIMITS_MAX_FONTS 512 +#DEFINE LIMITS_MAX_FORMULA_LENGTH 8192 +#DEFINE LIMITS_MAX_SH_NAME 31 && Limit adjusted; found by Doug Hennig + +#DEFINE INSERT_BEFORE "BEFORE" +#DEFINE INSERT_AFTER "AFTER" +#DEFINE INSERT_RIGHT "RIGHT" +#DEFINE INSERT_LEFT "LEFT" + +#DEFINE SHIFT_CELLS_UP 1 +#DEFINE SHIFT_CELLS_LEFT 2 + +#DEFINE FILTER_OP_EQUAL "equal" +#DEFINE FILTER_OP_GREATERTHAN "greaterThan" +#DEFINE FILTER_OP_GREATOREQUAL "greaterThanOrEqual" +#DEFINE FILTER_OP_LESSTHAN "lessThan" +#DEFINE FILTER_OP_LESSOREQUAL "lessThanOrEqual" +#DEFINE FILTER_OP_NOT_EQUAL "notEqual" + +#DEFINE SHARED_FORMULA_COLUMN "C" +#DEFINE SHARED_FORMULA_ROW "R" + +#DEFINE START_NUMERIC_FORMAT_ID 165 + +#DEFINE SCOPE_WB_NAMED_RANGE 0 && Scope of named range - workbook +#DEFINE SCOPE_SH_NAMED_RANGE 1 && Scope of named range - limited to sheet + +#DEFINE VISIBLE_SHEET_STATE 0 && visible (default) +#DEFINE HIDDEN_SHEET_STATE 1 && hidden +#DEFINE VERYHIDDEN_SHEET_STATE 2 && veryHidden + +#DEFINE NONE_VALID_TYPE 1 && none +#DEFINE WHOLE_VALID_TYPE 2 && whole +#DEFINE DECIMAL_VALID_TYPE 3 && decimal +#DEFINE LIST_VALID_TYPE 4 && list +#DEFINE DATE_VALID_TYPE 5 && date +#DEFINE TIME_VALID_TYPE 6 && time +#DEFINE TXTLEN_VALID_TYPE 7 && textLength +#DEFINE CUSTOM_VALID_TYPE 8 && custom + +#DEFINE STOP_VALID_STYLE 1 && stop +#DEFINE WARN_VALID_STYLE 2 && warning +#DEFINE INFO_VALID_STYLE 3 && information + +#DEFINE BETWEEN_VALID_OPER 1 && between +#DEFINE NOTBETW_VALID_OPER 2 && notBetween +#DEFINE EQUAL_VALID_OPER 3 && equal +#DEFINE NOTEQUAL_VALID_OPER 4 && notEqual +#DEFINE LESSTHAN_VALID_OPER 5 && lessThan +#DEFINE LESSOREQUAL_VALID_OPER 6 && lessThanOrEqual +#DEFINE GREATTHAN_VALID_OPER 7 && greaterThan +#DEFINE GREATOREQUAL_VALID_OPER 8 && greaterThanOrEqual + +#DEFINE PORTRAIT_PRINT_ORIENTATION 1 +#DEFINE LANDSCAPE_PRINT_ORIENTATION 2 + +#DEFINE PAPERSIZE_LTR 1 && Letter paper (8.5 in. BY 11 in.) +#DEFINE PAPERSIZE_LTR_SMALL 2 && Letter small paper (8.5 in. BY 11 in.) +#DEFINE PAPERSIZE_TABLOID 3 && Tabloid paper (11 in. BY 17 in.) +#DEFINE PAPERSIZE_LEDGER 4 && Ledger paper (17 in. BY 11 in.) +#DEFINE PAPERSIZE_LEGAL 5 && Legal paper (8.5 in. BY 14 in.) +#DEFINE PAPERSIZE_STATEMENT 6 && Statement paper (5.5 in. BY 8.5 in.) +#DEFINE PAPERSIZE_EXECUTIVE 7 && Executive paper (7.25 in. BY 10.5 in.) +#DEFINE PAPERSIZE_A3 8 && A3 paper (297 mm BY 420 mm) +#DEFINE PAPERSIZE_A4 9 && A4 paper (210 mm BY 297 mm) +#DEFINE PAPERSIZE_A4_SMALL 10 && A4 small paper (210 mm BY 297 mm) +#DEFINE PAPERSIZE_A5 11 && A5 paper (148 mm BY 210 mm) +#DEFINE PAPERSIZE_B4 12 && B4 paper (250 mm BY 353 mm) +#DEFINE PAPERSIZE_B5 13 && B5 paper (176 mm BY 250 mm) +#DEFINE PAPERSIZE_FOLIO 14 && Folio paper (8.5 in. BY 13 in.) +#DEFINE PAPERSIZE_QUARTO 15 && Quarto paper (215 mm BY 275 mm) +#DEFINE PAPERSIZE_STD10X14 16 && Standard paper (10 in. BY 14 in.) +#DEFINE PAPERSIZE_STD11X17 17 && Standard paper (11 in. BY 17 in.) +#DEFINE PAPERSIZE_NOTE 18 && NOTE paper (8.5 in. BY 11 in.) +#DEFINE PAPERSIZE_9ENV 19 && #9 envelope (3.875 in. BY 8.875 in.) +#DEFINE PAPERSIZE_10ENV 20 && #10 envelope (4.125 in. BY 9.5 in.) +#DEFINE PAPERSIZE_11ENV 21 && #11 envelope (4.5 in. BY 10.375 in.) +#DEFINE PAPERSIZE_12ENV 22 && #12 envelope (4.75 in. BY 11 in.) +#DEFINE PAPERSIZE_14ENV 23 && #14 envelope (5 in. BY 11.5 in.) +#DEFINE PAPERSIZE_C 24 && C paper (17 in. BY 22 in.) +#DEFINE PAPERSIZE_D 25 && D paper (22 in. BY 34 in.) +#DEFINE PAPERSIZE_E 26 && E paper (34 in. BY 44 in.) +#DEFINE PAPERSIZE_DL_ENV 27 && DL envelope (110 mm BY 220 mm) +#DEFINE PAPERSIZE_C5_ENV 28 && C5 envelope (162 mm BY 229 mm) +#DEFINE PAPERSIZE_C3_ENV 29 && C3 envelope (324 mm BY 458 mm) +#DEFINE PAPERSIZE_C4_ENV 30 && C4 envelope (229 mm BY 324 mm) +#DEFINE PAPERSIZE_C6_ENV 31 && C6 envelope (114 mm BY 162 mm) +#DEFINE PAPERSIZE_C65_ENV 32 && C65 envelope (114 mm BY 229 mm) +#DEFINE PAPERSIZE_B4_ENV 33 && B4 envelope (250 mm BY 353 mm) +#DEFINE PAPERSIZE_B5_ENV 34 && B5 envelope (176 mm BY 250 mm) +#DEFINE PAPERSIZE_B6_ENV 35 && B6 envelope (176 mm BY 125 mm) +#DEFINE PAPERSIZE_ITALY_ENV 36 && Italy envelope (110 mm BY 230 mm) +#DEFINE PAPERSIZE_MONARCH_ENV 37 && Monarch envelope (3.875 in. BY 7.5 in.). +#DEFINE PAPERSIZE_6_3_4_ENV 38 && 6 3/4 envelope (3.625 in. BY 6.5 in.) +#DEFINE PAPERSIZE_US_STD_FANFOLD 39 && US standard fanfold (14.875 in. BY 11 in.) +#DEFINE PAPERSIZE_GERMAN_STD_FANFOLD 40 && German standard fanfold (8.5 in. BY 12 in.) +#DEFINE PAPERSIZE_GERMAN_LGL_FANFOLD 41 && German legal fanfold (8.5 in. BY 13 in.) +#DEFINE PAPERSIZE_ISO_B4 42 && ISO B4 (250 mm BY 353 mm) +#DEFINE PAPERSIZE_JPN_DBL_POSTCARD 43 && JPN DOUBLE postcard (200 mm BY 148 mm) +#DEFINE PAPERSIZE_STD_PAPER9X11 44 && Standard paper (9 in. BY 11 in.) +#DEFINE PAPERSIZE_STD_PAPER10X11 45 && Standard paper (10 in. BY 11 in.) +#DEFINE PAPERSIZE_STD_PAPER15X11 46 && Standard paper (15 in. BY 11 in.) +#DEFINE PAPERSIZE_INVITE_ENV 47 && Invite envelope (220 mm BY 220 mm) +#DEFINE PAPERSIZE_LTR_XTRA_PAPER 50 && Letter extra paper (9.275 in. BY 12 in.) +#DEFINE PAPERSIZE_LEGAL_XTRA_PAPER 51 && Legal extra paper (9.275 in. BY 15 in.) +#DEFINE PAPERSIZE_TABLOID_XTRA_PAPER 52 && Tabloid extra paper (11.69 in. BY 18 in.) +#DEFINE PAPERSIZE_A4_XTRA_PAPER 53 && A4 extra paper (236 mm BY 322 mm) +#DEFINE PAPERSIZE_LTR_TRANSVERSE 54 && Letter transverse paper (8.275 in. BY 11 in.) +#DEFINE PAPERSIZE_A4_TRANSVERSE 55 && A4 transverse paper (210 mm BY 297 mm) +#DEFINE PAPERSIZE_LTR_XTRA_TRANSV 56 && Letter extra transverse paper (9.275 in. BY 12 in.) +#DEFINE PAPERSIZE_SUPERA_A4 57 && SuperA/SuperA/A4 paper (227 mm BY 356 mm) +#DEFINE PAPERSIZE_SUPERB_A3 58 && SuperB/SuperB/A3 paper (305 mm BY 487 mm) +#DEFINE PAPERSIZE_LTR_PLUS 59 && Letter plus paper (8.5 in. BY 12.69 in.) +#DEFINE PAPERSIZE_A4_PLUS 60 && A4 plus paper (210 mm BY 330 mm) +#DEFINE PAPERSIZE_A5_TRANSVERSE 61 && A5 transverse paper (148 mm BY 210 mm) +#DEFINE PAPERSIZE_JIS_B5_TRANSVERS 62 && JIS B5 transverse paper (182 mm BY 257 mm) +#DEFINE PAPERSIZE_A3_EXTRA 63 && A3 extra paper (322 mm BY 445 mm) +#DEFINE PAPERSIZE_A5_EXTRA 64 && A5 extra paper (174 mm BY 235 mm) +#DEFINE PAPERSIZE_ISO_B5_EXTRA 65 && ISO B5 extra paper (201 mm BY 276 mm) +#DEFINE PAPERSIZE_A2 66 && A2 paper (420 mm BY 594 mm) +#DEFINE PAPERSIZE_A3_TRANSVERSE 67 && A3 transverse paper (297 mm BY 420 mm) +#DEFINE PAPERSIZE_A3_EXTRA_TRANSVE 68 && A3 extra transverse paper (322 mm BY 445 mm) +#DEFINE PAPERSIZE_JPN_DOUBLE 69 && JPN DOUBLE Postcard (200 mm x 148 mm) +#DEFINE PAPERSIZE_A6 70 && A6 (105 mm x 148 mm) +#DEFINE PAPERSIZE_JPN_ENV_KAKU1 71 && JPN Envelope Kaku #2 +#DEFINE PAPERSIZE_JPN_ENV_KAKU2 72 && JPN Envelope Kaku #3 +#DEFINE PAPERSIZE_JPN_ENV_CHOU3 73 && JPN Envelope Chou #3 +#DEFINE PAPERSIZE_JPN_ENV_CHOU4 74 && JPN Envelope Chou #4 +#DEFINE PAPERSIZE_LTR_ROT 75 && Letter Rotated (11in x 8 1/2 11 IN) +#DEFINE PAPERSIZE_A3_ROT 76 && A3 Rotated (420 mm x 297 mm) +#DEFINE PAPERSIZE_A4_ROT 77 && A4 Rotated (297 mm x 210 mm) +#DEFINE PAPERSIZE_A5_ROT 78 && A5 Rotated (210 mm x 148 mm) +#DEFINE PAPERSIZE_B4_JIS_ROT 79 && B4 (JIS) Rotated (364 mm x 257 mm) +#DEFINE PAPERSIZE_B5_JIS_ROT 80 && B5 (JIS) Rotated (257 mm x 182 mm) +#DEFINE PAPERSIZE_JPN_POSTCARD 81 && JPN Postcard Rotated (148 mm x 100 mm) +#DEFINE PAPERSIZE_DOUBLE_JPN 82 && DOUBLE JPN Postcard Rotated (148 mm x 200 mm) +#DEFINE PAPERSIZE_A6_ROT 83 && A6 Rotated (148 mm x 105 mm) +#DEFINE PAPERSIZE_JPN_ENV_KAKU2_ROT 84 && JPN Envelope Kaku #2 Rotated +#DEFINE PAPERSIZE_JPN_ENV_KAKU3_ROT 85 && JPN Envelope Kaku #3 Rotated +#DEFINE PAPERSIZE_JPN_ENV_CHOU3_ROT 86 && JPN Envelope Chou #3 Rotated +#DEFINE PAPERSIZE_JPN_ENV_CHOU4_ROT 87 && JPN Envelope Chou #4 Rotated +#DEFINE PAPERSIZE_B6_JIS 88 && B6 (JIS) (128 mm x 182 mm) +#DEFINE PAPERSIZE_B6_JIS_ROT 89 && B6 (JIS) Rotated (182 mm x 128 mm) +#DEFINE PAPERSIZE_12X11 90 && (12 IN x 11 IN) +#DEFINE PAPERSIZE_JPN_ENV_YOU4 91 && JPN Envelope You #4 +#DEFINE PAPERSIZE_JPN_ENV_YOU4_ROT 92 && JPN Envelope You #4 Rotated +#DEFINE PAPERSIZE_PRC_16K 93 && PRC 16K (146 mm x 215 mm) +#DEFINE PAPERSIZE_PRC_32K 94 && PRC 32K (97 mm x 151 mm) +#DEFINE PAPERSIZE_PRC_32K_BIG 95 && PRC 32K(Big) (97 mm x 151 mm) +#DEFINE PAPERSIZE_PRC_ENV_1 96 && PRC Envelope #1 (102 mm x 165 mm) +#DEFINE PAPERSIZE_PRC_ENV_2 97 && PRC Envelope #2 (102 mm x 176 mm) +#DEFINE PAPERSIZE_PRC_ENV_3 98 && PRC Envelope #3 (125 mm x 176 mm) +#DEFINE PAPERSIZE_PRC_ENV_4 99 && PRC Envelope #4 (110 mm x 208 mm) +#DEFINE PAPERSIZE_PRC_ENV_5 100 && PRC Envelope #5 (110 mm x 220 mm) +#DEFINE PAPERSIZE_PRC_ENV_6 101 && PRC Envelope #6 (120 mm x 230 mm) +#DEFINE PAPERSIZE_PRC_ENV_7 102 && PRC Envelope #7 (160 mm x 230 mm) +#DEFINE PAPERSIZE_PRC_ENV_8 103 && PRC Envelope #8 (120 mm x 309 mm) +#DEFINE PAPERSIZE_PRC_ENV_9 104 && PRC Envelope #9 (229 mm x 324 mm) +#DEFINE PAPERSIZE_PRC_ENV_10 105 && PRC Envelope #10 (324 mm x 458 mm) +#DEFINE PAPERSIZE_PRC_16K_ROT 106 && PRC 16K Rotated +#DEFINE PAPERSIZE_PRC_32K_ROT 107 && PRC 32K Rotated +#DEFINE PAPERSIZE_PRC_32K_BIG_ROT 108 && PRC 32K(Big) Rotated +#DEFINE PAPERSIZE_PRC_ENV_1_ROT 109 && PRC Envelope #1 Rotated (165 mm x 102 mm) +#DEFINE PAPERSIZE_PRC_ENV_2_ROT 110 && PRC Envelope #2 Rotated (176 mm x 102 mm) +#DEFINE PAPERSIZE_PRC_ENV_3_ROT 111 && PRC Envelope #3 Rotated (176 mm x 125 mm) +#DEFINE PAPERSIZE_PRC_ENV_4_ROT 112 && PRC Envelope #4 Rotated (208 mm x 110 mm) +#DEFINE PAPERSIZE_PRC_ENV_5_ROT 113 && PRC Envelope #5 Rotated (220 mm x 110 mm) +#DEFINE PAPERSIZE_PRC_ENV_6_ROT 114 && PRC Envelope #6 Rotated (230 mm x 120 mm) +#DEFINE PAPERSIZE_PRC_ENV_7_ROT 115 && PRC Envelope #7 Rotated (230 mm x 160 mm) +#DEFINE PAPERSIZE_PRC_ENV_8_ROT 116 && PRC Envelope #8 Rotated (309 mm x 120 mm) +#DEFINE PAPERSIZE_PRC_ENV_9_ROT 117 && PRC Envelope #9 Rotated (324 mm x 229 mm) +#DEFINE PAPERSIZE_PRC_ENV_10_ROT 118 && PRC Envelope #10 Rotated (458 mm x 324 mm) + +#DEFINE HEADERFOOTER_SECT_HDR_LEFT 1 +#DEFINE HEADERFOOTER_SECT_HDR_CENTER 2 +#DEFINE HEADERFOOTER_SECT_HDR_RIGHT 3 +#DEFINE HEADERFOOTER_SECT_FTR_LEFT 4 +#DEFINE HEADERFOOTER_SECT_FTR_CENTER 5 +#DEFINE HEADERFOOTER_SECT_FTR_RIGHT 6 +#DEFINE HEADERFOOTER_FONT_STYLE_NORMAL 0 +#DEFINE HEADERFOOTER_FONT_STYLE_BOLD 1 +#DEFINE HEADERFOOTER_FONT_STYLE_ITALIC 2 +#DEFINE HEADERFOOTER_FONT_STYLE_BOLDITALIC 3 +#DEFINE HEADERFOOTER_FIRST_PAGE 0 +#DEFINE HEADERFOOTER_ODD_PAGE 1 +#DEFINE HEADERFOOTER_EVEN_PAGE 2 +#DEFINE HEADERFOOTER_SAME_PAGE 3 + +#DEFINE HYPERLINK_TYPE_FILE "F" +#DEFINE HYPERLINK_TYPE_SHEET "S" + +#DEFINE DATA_TYPE_NONE "X" +#DEFINE DATA_TYPE_DATE "D" +#DEFINE DATA_TYPE_DATETIME "T" +#DEFINE DATA_TYPE_CHAR "C" +#DEFINE DATA_TYPE_INT "I" +#DEFINE DATA_TYPE_FLOAT "N" +#DEFINE DATA_TYPE_CURRENCY "Y" +#DEFINE DATA_TYPE_GENERAL "G" +#DEFINE DATA_TYPE_FORMULA "F" +#DEFINE DATA_TYPE_TIME "Z" +#DEFINE DATA_TYPE_PERCENT "P" +#DEFINE DATA_TYPE_LOGICAL "L" +#DEFINE DATA_TYPE_VCHAR "V" +#DEFINE DATA_TYPE_TEXT "E" + +#DEFINE FIELD_TYPE_DATE "D" +#DEFINE FIELD_TYPE_DATETIME "T" +#DEFINE FIELD_TYPE_CHAR "C" +#DEFINE FIELD_TYPE_INT "I" +#DEFINE FIELD_TYPE_FLOAT "F" +#DEFINE FIELD_TYPE_CURRENCY "Y" +#DEFINE FIELD_TYPE_LOGICAL "L" +#DEFINE FIELD_TYPE_DOUBLE "B" +#DEFINE FIELD_TYPE_MEMO "M" +#DEFINE FIELD_TYPE_NUMERIC "N" +#DEFINE FIELD_TYPE_VCHAR "V" + +#DEFINE BORDER_LEFT 1 +#DEFINE BORDER_RIGHT 2 +#DEFINE BORDER_TOP 4 +#DEFINE BORDER_BOTTOM 8 +#DEFINE BORDER_DIAGDOWN 16 +#DEFINE BORDER_DIAGUP 32 + +#DEFINE BORDER_STYLE_NONE "none" +#DEFINE BORDER_STYLE_THIN "thin" +#DEFINE BORDER_STYLE_HAIR "hair" +#DEFINE BORDER_STYLE_DOTTED "dotted" +#DEFINE BORDER_STYLE_DASHDOTDOT "dashDotDot" +#DEFINE BORDER_STYLE_DASHDOT "dashDot" +#DEFINE BORDER_STYLE_DASHED "dashed" +#DEFINE BORDER_STYLE_MEDIUMDASHDOTDOT "mediumDashDotDot" +#DEFINE BORDER_STYLE_SLANTDASHDOT "slantDashDot" +#DEFINE BORDER_STYLE_MEDIUMDASHDOT "mediumDashDot" +#DEFINE BORDER_STYLE_MEDIUMDASHED "mediumDashed" +#DEFINE BORDER_STYLE_MEDIUM "medium" +#DEFINE BORDER_STYLE_THICK "thick" +#DEFINE BORDER_STYLE_DOUBLE "double" + +#DEFINE FILL_STYLE_NONE "none" +#DEFINE FILL_STYLE_SOLID "solid" +#DEFINE FILL_STYLE_GRAY125 "gray125" + +#DEFINE CELL_HORIZ_ALIGN_LEFT "left" +#DEFINE CELL_HORIZ_ALIGN_RIGHT "right" +#DEFINE CELL_HORIZ_ALIGN_CENTER "center" +#DEFINE CELL_HORIZ_ALIGN_DISTRIB "distributed" +#DEFINE CELL_HORIZ_ALIGN_CTR_CONTIN "centerContinuous" +#DEFINE CELL_HORIZ_ALIGN_JUSTIFIED "justify" +#DEFINE CELL_HORIZ_ALIGN_GENERAL "general" + +#DEFINE CELL_VERT_ALIGN_TOP "top" +#DEFINE CELL_VERT_ALIGN_BOTTOM "bottom" +#DEFINE CELL_VERT_ALIGN_CENTER "center" +#DEFINE CELL_VERT_ALIGN_DISTRIB "distributed" +#DEFINE CELL_VERT_ALIGN_JUSTIFIED "justify" + +#DEFINE UNDERLINE_SINGLE "single" +#DEFINE UNDERLINE_DOUBLE "double" +#DEFINE UNDERLINE_SINGLEACCOUNTING "singleAccounting" +#DEFINE UNDERLINE_DOUBLEACCOUNTING "doubleAccounting" +#DEFINE UNDERLINE_NONE "none" + +#DEFINE FONT_VERTICAL_BASELINE "baseline" +#DEFINE FONT_VERTICAL_SUBSCRIPT "subscript" +#DEFINE FONT_VERTICAL_SUPERSCRIPT "superscript" + +#DEFINE CELL_FORMAT_LOCALE_CODE "[$-409]" +#DEFINE CELL_FORMAT_INTEGER 1 && 0 +#DEFINE CELL_FORMAT_FLOAT 2 && 0.00 +#DEFINE CELL_FORMAT_COMMA_INTEGER 3 && #,##0 +#DEFINE CELL_FORMAT_COMMA_FLOAT 4 && #,##0.00 +#DEFINE CELL_FORMAT_CURRENCY_PAREN 7 && $#,##0.00;($#,##0.00) +#DEFINE CELL_FORMAT_CURRENCY_RED_PAREN 8 && $#,##0.00;[Red]($#,##0.00) +#DEFINE CELL_FORMAT_PERCENT_INTEGER 9 && ###% +#DEFINE CELL_FORMAT_PERCENT_FLOAT 10 && ###.00% +#DEFINE CELL_FORMAT_EXPONENT 11 && 0.00E+00 +#DEFINE CELL_FORMAT_FRACTION_1 12 && # ?/? +#DEFINE CELL_FORMAT_FRACTION_2 13 && # ??/?? +#DEFINE CELL_FORMAT_DATE_MMDDYY 14 && mm-dd-yy +#DEFINE CELL_FORMAT_DATE_DMMMYY 15 && d-mmm-yy +#DEFINE CELL_FORMAT_DATE_DMMM 16 && d-mmm +#DEFINE CELL_FORMAT_DATE_MMMYY 17 && mmm-yy +#DEFINE CELL_FORMAT_TIME_HMMAMPM 18 && h:mm AM/PM +#DEFINE CELL_FORMAT_TIME_HMMSSAMPM 19 && h:mm:ss AM/PM +#DEFINE CELL_FORMAT_TIME_HMM 20 && h:mm +#DEFINE CELL_FORMAT_TIME_HMMSS 21 && h:mm:ss +#DEFINE CELL_FORMAT_DATETIME_MDYYHMM 22 && m/d/yy h:mm +#DEFINE CELL_FORMAT_DATETIME_DDMMMYYYY_TTAM 29 && [$-409]dd/mmm/yyyy\ h:mm\ AM/PM;@ +#DEFINE CELL_FORMAT_DATETIME_DDMMMYYYY_TT24 30 && dd/mmm/yyyy\ h:mm;@ +#DEFINE CELL_FORMAT_DATETIME_MMMDDYYYY_TTAM 31 && [$-409]mmm\ d\,\ yyyy\ h:mm\ AM/PM;@ +#DEFINE CELL_FORMAT_DATETIME_MMMDDYYYY_TT24 32 && [$-409]mmm\ d\,\ yyyy\ h:mm;@ +#DEFINE CELL_FORMAT_DATETIME_MDYY_TTAM 33 && m/d/yy\ h:mm\ AM/PM;@ +#DEFINE CELL_FORMAT_DATETIME_MDYY_TT24 34 && m/d/yy\ h:mm;@ +#DEFINE CELL_FORMAT_COMMA_INTEGER_PAREN 37 && #,##0;(#,##0) +#DEFINE CELL_FORMAT_COMMA_INTEGER_RED_PAREN 38 && #,##0;[Red](#,##0) +#DEFINE CELL_FORMAT_COMMA_FLOAT_PAREN 39 && #,##0.00;(#,##0.00) +#DEFINE CELL_FORMAT_COMMA_FLOAT_RED_PAREN 40 && #,##0.00;[Red](#,##0.00) +#DEFINE CELL_FORMAT_ACC_CURR_US_PAREN 44 && _("$"* #,##0.00_) +#DEFINE CELL_FORMAT_TIME_MMSS 45 && mm:ss +#DEFINE CELL_FORMAT_TIME_H_MMSS 46 && [h]:mm:ss +#DEFINE CELL_FORMAT_TEXT 49 && Text +#DEFINE CELL_FORMAT_CURRENCY_RED 901 && $#,##0.00;[Red]$#,##0.00 +#DEFINE CELL_FORMAT_ACC_CURR_POUNDS 902 && Accounting British Pounds, £#,##0.00 +#DEFINE CELL_FORMAT_ACC_CURR_EURO 903 && Accounting Euro, €#,##0.00 +#DEFINE CELL_FORMAT_CURR_POUNDS_RED 904 && British Pounds, £#,##0.00 RED +#DEFINE CELL_FORMAT_CURR_EURO_RED 905 && Euro, €#,##0.00 RED + +#DEFINE RELS_SRC_WORKBOOK "W" +#DEFINE RELS_SRC_SHEET "S" +#DEFINE RELS_SRC_DRAWING "D" + +#DEFINE RELS_TYPE_CALCCHAIN "C" && calcChain +#DEFINE RELS_TYPE_DRAWING "D" && drawings +#DEFINE RELS_TYPE_EXTNLINK "E" && externalLink +#DEFINE RELS_TYPE_HYPERLINK "H" && hyperlink +#DEFINE RELS_TYPE_IMAGE "I" && image +#DEFINE RELS_TYPE_SHAREDSTRINGS "S" && sharedStrings +#DEFINE RELS_TYPE_STYLES "Y" && styles +#DEFINE RELS_TYPE_THEME "T" && theme +#DEFINE RELS_TYPE_VBAPROJECT "V" && VBA Macros +#DEFINE RELS_TYPE_WORKSHEET "W" && worksheet +#DEFINE RELS_TYPE_UNKNOWN "U" && unknown relationship type + +#DEFINE IMAGE_ANCHOR_TYPE_ABS "A" +#DEFINE IMAGE_ANCHOR_TYPE_ONE "O" +#DEFINE IMAGE_ANCHOR_TYPE_TWO "T" + +#DEFINE IMAGE_ANCHOR_MOVE_ABS "absolute" +#DEFINE IMAGE_ANCHOR_MOVE_ONE "oneCell" +#DEFINE IMAGE_ANCHOR_MOVE_TWO "twoCell" \ No newline at end of file diff --git a/utile/excel/appendfromxlsx.prg b/utile/excel/appendfromxlsx.prg new file mode 100644 index 0000000..9a27876 --- /dev/null +++ b/utile/excel/appendfromxlsx.prg @@ -0,0 +1,634 @@ +* Version 5.0 +* Support for inline strings +LPARAMETERS lcFileName,cCur,lcFFields,lnStartRows,lcSheet,llEmptyCells +* Parameters +* lcFileName name of the xlsx + * nom de xlsx + * numele xlsx-ului +* cCur name of the table / cursor ; optional ; default ALIAS() +* lcFFields list of fields to be outputed ; optional ; default all fields +* lnStartRows starting row (the first lnStartRows - 1 rows are skipped) ; optional ; default 1 (all rows) + * a partir rangée (les premiers lnStartRows - 1 lignes sont passées) ; optionnel ; défaut 1 (tous les champs lignes) + * primul rand (primele lnStartRows - 1 randuri ale tabelului din docx sunt omise); optional; implicit 1 (toate randurile) +* lcSheet sheet name | number ; optional ; default '' + * nom | nomber de la feuille ; optionnel ; défaut '' + * numele |numarul foii ; optional ; implicit '' +* llEmptyCells when .T., the source contains empty cells (slower import); optional ; default .F. + * lorsque .T., la source contient des cellules vides (d'importation plus lent); optionnel ; défaut .F. + * cand este .T., documentul sursa contine celule goale (importul este mai lent); optional; implicit .F. +DECLARE Sleep IN WIN32API INTEGER +DECLARE INTEGER ShellExecute IN shell32.dll INTEGER , STRING , STRING , STRING , STRING , INTEGER +#DEFINE ERRLANG "En" +#IF ERRLANG = "Ro" + #DEFINE ERRMESS0 "Eroare" + #DEFINE ERRMESS1 "Nimic de importat" + #DEFINE ERRMESS2 "Deschideti, va rog, tabelul / cursorul" + #DEFINE ERRMESS3 "Foaie inexistenta" + #DEFINE ERRMESS4 "Eroare la deschiderea" +#ELIF ERRLANG = "Fr" + #DEFINE ERRMESS0 "Erreur" + #DEFINE ERRMESS1 "Rien a ajouter" + #DEFINE ERRMESS2 "S'il vous plaît ouvrir la table / curseur" + #DEFINE ERRMESS3 "Feuille introuvable" + #DEFINE ERRMESS4 "Erreur d'ouverture" +#ELIF ERRLANG = "Nl" && Koen Piller + #DEFINE ERRMESS0 "Fout" + #DEFINE ERRMESS1 "Niets te importeren" + #DEFINE ERRMESS2 "Open s.v.p. tabel / cursor" + #DEFINE ERRMESS3 "Blad niet gevonden" + #DEFINE ERRMESS4 "Fout bij openen" +#ELSE + #DEFINE ERRMESS0 "Error" + #DEFINE ERRMESS1 "Nothing to append" + #DEFINE ERRMESS2 "Please open table / cursor" + #DEFINE ERRMESS3 "Sheet not found" + #DEFINE ERRMESS4 "Error opening" +#ENDIF +*************************************************************** +* If you prefer to extract files with Winrar, uncomment this +*************************************************************** +*#DEFINE archiveWinRar .T. + + +LOCAL lcDir,cCurStr,cCurSheet,lSetTalk,lnFFields,laFFields[1],lnColsNoAll,laFieldsAll[1],lnColsNo,laFields[1],lnCurCol,llMemos,llChars,lnSelect +lnSelect = SELECT(0) + +IF PCOUNT() < 1 + MESSAGEBOX(ERRMESS1,16,ERRMESS0) + RETURN +ELSE + IF VARTYPE(m.lcFileName) $ "CV" + lcFileName = FORCEEXT(m.lcFileName,"xlsx") + IF !FILE(m.lcFileName) + MESSAGEBOX(ERRMESS1,16,ERRMESS0) + RETURN + ENDIF + ELSE + MESSAGEBOX(ERRMESS1,16,ERRMESS0) + RETURN + ENDIF +ENDIF +IF PCOUNT() >= 2 + IF VARTYPE(m.cCur) $ "CV" + IF USED(m.cCur) + SELECT (m.cCur) + ELSE + MESSAGEBOX(ERRMESS2,16,ERRMESS0) + RETURN + ENDIF + ELSE + cCur = ALIAS() + ENDIF +ELSE + cCur = ALIAS() +ENDIF +IF PCOUNT()<3 + lcFFields = "" +ELSE + IF VARTYPE(m.lcFFields) <> "C" + lcFFields = "" + ELSE + lnFFields = ALINES(laFFields,m.lcFFields,1+4,",") + ENDIF +ENDIF +IF PCOUNT() < 4 + lnStartRows = 1 +ELSE + IF VARTYPE(m.lnStartRows) <> "N" + lnStartRows = 1 + ENDIF +ENDIF +IF PCOUNT()<5 + lcSheet = "" +ELSE + IF NOT (VARTYPE(m.lcSheet) $ "CN") + lcSheet = "" + ENDIF +ENDIF + +lSetTalk = SET("Talk") +SET TALK OFF +lnColsNoAll = AFIELDS(m.laFieldsAll,m.cCur) +STORE .F. TO llChars,llMemos +lnColsNo = 0 +FOR lnCurCol = 1 TO m.lnColsNoAll + IF m.laFieldsAll[m.lnCurCol,2] $ "NFYBIDTLCVM" + IF !EMPTY(m.lcFFields) + IF ASCAN(m.laFFields,laFieldsAll[m.lnCurCol,1],1,-1,-1,1+2+4)=0 + LOOP + ENDIF + ENDIF + lnColsNo = m.lnColsNo + 1 + DIMENSION laFields[m.lnColsNo,3] + laFields[m.lnColsNo,1] = laFieldsAll[m.lnCurCol,1] + laFields[m.lnColsNo,2] = laFieldsAll[m.lnCurCol,2] + laFields[m.lnColsNo,3] = m.lnCurCol + IF laFields[m.lnColsNo,2] == "M" + llMemos = .T. + ENDIF + IF laFields[m.lnColsNo,2] $ "MCV" + llChars = .T. + ENDIF + ELSE + LOOP + ENDIF +NEXT +lcDir = extract(m.lcFileName) + +lcSheet = get_sheet(ADDBS(m.lcDir) + "workbook.xml",m.lcSheet) +IF EMPTY(m.lcSheet) + MESSAGEBOX(ERRMESS3,16,'Error') + cleanup(m.lcDir) + SET TALK &lSetTalk + SELECT (m.lnSelect) + RETURN m.lcDBF +ENDIF + +IF ADIR(laFiles,ADDBS(m.lcDir) + "sharedStrings.xml") = 0 + llChars = .F. +ENDIF +IF m.llChars + cCurStr = get_strings(ADDBS(m.lcDir) + "sharedStrings.xml",m.llMemos) + IF EMPTY(m.cCurStr) + cleanup(m.lcDir) + SET TALK &lSetTalk + SELECT (m.lnSelect) + IF USED(m.cCurStr) + USE IN (m.cCurStr) + ENDIF + RETURN .F. + ENDIF +ELSE + cCurStr = '' +ENDIF + +cCurSheet = get_cells(ADDBS(m.lcDir) + FORCEEXT(m.lcSheet,"xml"),m.cCur,m.cCurStr,@laFields,m.lnStartRows,m.llEmptyCells) +cleanup(m.lcDir) +SET TALK &lSetTalk +SELECT (m.lnSelect) +IF USED(m.cCurStr) + USE IN (m.cCurStr) +ENDIF +RETURN .T. + +********************* +* Extract xml files * +********************* +FUNCTION extract + LPARAMETERS lcFileName + LOCAL lcDir,lcZip,oShell,ofile,loErr as Exception,lcSetSaf,lni,lnFF,llRetry,laDir[1],lnDir,lnDir0, lcFileName + lcDir = ADDBS(SYS(2023)) + SYS(2015) + lcZip = FORCEEXT(m.lcDir,'.zip') + COPY FILE (m.lcFileName) TO (m.lcZip) + MD (m.lcDir) +*************************** +* Use Winrar +*************************** +#IFDEF archiveWinRar + ShellExecute(0,"open","WinRAR.exe","E " + m.lcZip + " xl\sharedStrings.xml " + m.lcDir,"",1) + IF ADIR(laDir,ADDBS(m.lcDir) + "sharedStrings*.xml") > 0 + lnFF = FOPEN(ADDBS(m.lcDir) + "sharedStrings.xml") + DO WHILE m.lnFF < 0 + sleep(50) + lnFF = FOPEN(ADDBS(m.lcDir) + "sharedStrings.xml") + ENDDO + ENDIF + FCLOSE(m.lnFF) + ShellExecute(0,"open","WinRAR.exe","E " + m.lcZip + " xl\workbook.xml " + m.lcDir,"",1) + lnFF = FOPEN(ADDBS(m.lcDir) + "workbook.xml") + DO WHILE m.lnFF < 0 + sleep(50) + lnFF = FOPEN(ADDBS(m.lcDir) + "workbook.xml") + ENDDO + FCLOSE(m.lnFF) + ShellExecute(0,"open","WinRAR.exe","E " + m.lcZip + " xl\worksheets\sheet*.xml " + m.lcDir,"",1) + lnDir0 = 0 + lnDir = ADIR(laDir,ADDBS(m.lcDir ) + "sheet*.xml") + + DO WHILE (m.lnDir <> m.lnDir0) OR (m.lnDir = 0) + FOR lni = 1 TO m.lnDir + lnFF = FOPEN(ADDBS(m.lcDir) + m.laDir[m.lni,1]) + DO WHILE m.lnFF < 0 + sleep(50) + lnFF = FOPEN(ADDBS(m.lcDir) + m.laDir[m.lni,1]) + ENDDO + FCLOSE(m.lnFF) + NEXT + lnDir0 = m.lnDir + lnDir = ADIR(laDir,ADDBS(m.lcDir ) + "sheet*.xml") + ENDDO +*************************** +* Use Explorer +*************************** +#ELSE + oShell = CREATEOBJECT("shell.application") + TRY + FOR lni = 0 TO m.oShell.NameSpace(ADDBS(m.lcZip)+'xl').items.count - 1 + ofile = m.oShell.NameSpace(ADDBS(m.lcZip)+'xl').items.item(m.lni) + lcFileName = JUSTFNAME(m.ofile.path) + IF INLIST(LOWER(m.lcFileName),'sharedstrings.xml','workbook.xml','styles.xml') + oShell.NameSpace( m.lcDir).copyhere( m.ofile) + lnFF = FOPEN(ADDBS(m.lcDir) + m.lcFileName) + DO WHILE m.lnFF < 0 + sleep(50) + lnFF = FOPEN(ADDBS(m.lcDir) + m.lcFileName) + ENDDO + FCLOSE(m.lnFF) + ENDIF + ENDFOR + FOR lni = 0 TO m.oShell.NameSpace(ADDBS(m.lcZip)+'xl\worksheets').items.count - 1 + ofile = m.oShell.NameSpace(ADDBS(m.lcZip)+'xl\worksheets').items.item(m.lni) + IF LOWER(LEFT(m.ofile.name,5)) == 'sheet' + oShell.NameSpace( m.lcDir).copyhere( m.ofile) + lcFileName = JUSTFNAME(m.ofile.path) + lnFF = FOPEN(ADDBS(m.lcDir) + m.lcFileName) + DO WHILE m.lnFF < 0 + sleep(50) + lnFF = FOPEN(ADDBS(m.lcDir) + m.lcFileName) + ENDDO + FCLOSE(m.lnFF) + ENDIF + ENDFOR + CATCH TO loErr + ENDTRY +#ENDIF +RETURN lcDir + +**************** +* Read strings * +**************** +FUNCTION get_strings + LPARAMETERS lcStr,llMemos + LOCAL cCurStr,lnF,lnPosSiSeek,lcBuff,lnPosSi,lnPosSi2,lcMemo,lcReturn,lnTextPiece,lnTextPiece2,lcTextPiece,lcVal + STORE SYS(2015) TO lcReturn, cCurStr + IF m.llMemos + CREATE CURSOR (m.cCurStr) (cStr M) + ELSE + CREATE CURSOR (m.cCurStr) (cStr c(254)) + ENDIF + lnF = FOPEN(m.lcStr) + IF m.lnF >= 0 + lnPosSiSeek = 0 + DO WHILE !FEOF(m.lnF) + lcBuff = FREAD(m.lnF,8192) + lnPosSi = AT('',m.lcBuff) + lnPosSiSeek = m.lnPosSiSeek + m.lnPosSi + 3 + = FSEEK(m.lnF,m.lnPosSiSeek) + lcBuff = FREAD(m.lnF,8192) + lnPosSi2 = AT('',m.lcBuff) + lcMemo = m.lcBuff && '' + DO WHILE !FEOF(m.lnF) AND m.lnPosSi2 = 0 + lcBuff = FREAD(m.lnF,8192) + lnPosSi2 = AT('',m.lcMemo) + lcMemo = m.lcMemo + m.lcBuff + ENDDO + + IF FEOF(m.lnF) AND m.lnPosSi2 = 0 + lnPosSi2 = AT('',m.lcMemo) + ENDIF + + + IF m.lnPosSi2 != 0 + +* lcMemo = m.lcMemo + LEFT(m.lcBuff,m.lnPosSi2 - 1) + lcMemo = LEFT(m.lcMemo,m.lnPosSi2 - 1) + lnPosSiSeek = m.lnPosSiSeek + m.lnPosSi2 + 4 + lnPosSi = FSEEK(m.lnF,m.lnPosSiSeek) + lcVal = "" + STORE 1 TO lnTextPiece, lnTextPiece2 + lcTextPiece = STREXTRACT(m.lcMemo,'') + DO WHILE !EMPTY(m.lcTextPiece) + lcVal = m.lcVal + STREXTRACT(m.lcTextPiece,[>]) + lnTextPiece = m.lnTextPiece + 1 + lcTextPiece = STREXTRACT(m.lcMemo,'',m.lnTextPiece) + ENDDO + INSERT INTO (m.cCurStr) (cStr) VALUES (htmspec(m.lcVal)) + ELSE + lcMemo = m.lcMemo + m.lcBuff + EXIT + ENDIF + ENDDO + ELSE + lcReturn = '' + MESSAGEBOX(ERRMESS4 + ' sharedStrings.xml',16,'Error') + ENDIF + FCLOSE(m.lnF) +RETURN m.lcReturn + +************** +* Read sheet * +************** +FUNCTION get_cells + LPARAMETERS lcStr,cCurSheet,cCurStr,laField,lnStartRows,llEmptyCells + LOCAL cCurSheet,lnField,ldDat01,ldDat02,lcSetDec,lcReturn,lnF,lnPosSiSeek,lcBuff,lnPosSi,lnPosSi2,lcMemo,laFieldGat[1],lni,lcCell,lcVal,lnDat,lnTim,lnCurRow,lnCurRow0,lnStartRows0,lcWholeRow,lcWholeTable + LOCAL lnFirstCol,lnShCol,lnRealI + LOCAL llEmptyVal,lcEmptyval,lala[1] + lcWholeTable = FILETOSTR(m.lcStr) + lnCurRow = 1 &&m.lnStartRows + lnCurRow0 = 1 + lnStartRows0 = lnStartRows + ************** + lcWholeRow = STREXTRACT(m.lcWholeTable,"") + IF EMPTY(m.lcWholeRow) + MESSAGEBOX(ERRMESS1,16,ERRMESS0) + RETURN '' + ENDIF + + lnField = 1 + lcCell = STREXTRACT(m.lcWholeRow,[],m.lnField) + IF '"inlineStr' $ m.lcCell + lcEmptyval = STREXTRACT(m.lcCell,[]) + IF LEFT(m.lcEmptyval,1) = ">" + lcEmptyval = EMPTY(STREXTRACT(m.lcCell,[],[])) + ELSE + llEmptyVal = EMPTY(STREXTRACT(m.lcCell,[])) + ENDIF + ELSE + llEmptyVal = EMPTY(STREXTRACT(m.lcCell,[],[])) + ENDIF + DO WHILE !EMPTY(m.lcWholeRow) AND (lnCurRow < m.lnStartRows0 OR EMPTY(m.lcCell) OR m.llEmptyVal) &&EMPTY(STREXTRACT(m.lcCell,[],[]))) + lnCurRow0 = m.lnCurRow0 + 1 + IF !EMPTY(m.lcCell) AND !m.llEmptyVal &&EMPTY(STREXTRACT(m.lcCell,[],[])) + lnCurRow = m.lnCurRow + 1 + ENDIF + lcWholeRow = STREXTRACT(m.lcWholeTable,"",m.lnCurRow0) + lcCell = STREXTRACT(m.lcWholeRow,[]) + IF '"inlineStr' $ m.lcCell + lcEmptyval = STREXTRACT(m.lcCell,[]) + IF LEFT(m.lcEmptyval,1) = ">" + lcEmptyval = EMPTY(STREXTRACT(m.lcCell,[],[])) + ELSE + llEmptyVal = EMPTY(STREXTRACT(m.lcCell,[])) + ENDIF + ELSE + llEmptyVal = EMPTY(STREXTRACT(m.lcCell,[],[])) + ENDIF + ENDDO + lnStartRows = lnCurRow0 + lnField = ALEN(laField,1) + ldDat01 = DATE(1900,3,1) - 61 + ldDat02 = DATE(1900,1,1) - 1 + lcSetDec = SET("Decimals") + lnFirstCol = 0 + SET DECIMALS TO 10 + lcReturn = '' + lnF = FOPEN(m.lcStr) + lnCurRow = 0 + IF m.lnF >= 0 + lnPosSiSeek = 0 + DO WHILE !FEOF(m.lnF) + lcBuff = FREAD(m.lnF,8192) + lnPosSi = AT('',m.lcBuff) + lcMemo = '' + DO WHILE !FEOF(m.lnF) AND m.lnPosSi2 = 0 + lcMemo = m.lcMemo + m.lcBuff + lcBuff = FREAD(m.lnF,8192) + lnPosSi2 = AT('',m.lcMemo) + ENDDO + IF m.lnPosSi2 != 0 + lcMemo = m.lcMemo + LEFT(m.lcBuff,m.lnPosSi2 - 1) + lnPosSiSeek = m.lnPosSiSeek + m.lnPosSi2 + 5 + lnPosSi = FSEEK(m.lnF,m.lnPosSiSeek) + lnCurRow = m.lnCurRow + 1 + IF m.lnStartRows > m.lnCurRow + LOOP + ENDIF + SELECT (m.cCurSheet) + APPEND BLANK + SCATTER MEMO TO laFieldGat + lnRealI = 1 + FOR lni = 1 TO lnField + lcCell = STREXTRACT(m.lcMemo,[],m.lnRealI) + IF AT([ 0 + lcCell = LEFT(m.lcCell , AT([ m.lnField + SELECT (m.cCurSheet) + GATHER FROM laFieldGat MEMO + EXIT + ENDIF + ENDIF + + IF '"inlineStr' $ m.lcCell + lcVal = STREXTRACT(m.lcCell,[],[]) + ELSE + lcVal = STREXTRACT(m.lcVal,[">],[]) + ENDIF + ELSE + lcVal = STREXTRACT(m.lcCell,[],[]) + ENDIF + + lnRealI = m.lnRealI + 1 + IF EMPTY(m.lcVal) + LOOP + ENDIF + IF laField[m.lni,2] $ "CVM" + IF [t="inlineStr] $ m.lcCell or EMPTY(m.cCurStr) + laFieldGat[m.lni] = m.lcVal + ELSE + SELECT (m.cCurStr) + TRY + IF [t="s"] $ m.lcCell + GO VAL(m.lcVal) + 1 IN (m.cCurStr) + laFieldGat[m.lni] = cStr + ELSE + laFieldGat[m.lni] = m.lcVal + ENDIF + CATCH TO loErr + laFieldGat[m.lni] = m.lcVal + ENDTRY + ENDIF + ELSE + IF laField[m.lni,2] $ "NFBYI" + IF [t="inlineStr] $ m.lcCell or EMPTY(m.cCurStr) + laFieldGat[m.lni] = m.lcVal + ELSE + TRY + IF [t="s"] $ m.lcCell + GO VAL(m.lcVal) + 1 IN (m.cCurStr) + laFieldGat[m.lni] = VAL(cStr) + ELSE + laFieldGat[laField[m.lni,3]] = VAL(m.lcVal) + ENDIF + CATCH TO loErr + laFieldGat[m.lni] = m.lcVal + ENDTRY + ENDIF + ELSE + IF laField[m.lni,2] $ "D" + lnDat = VAL(m.lcVal) + IF [t="inlineStr] $ m.lcCell and ALINES(lala,m.lcVal,0,'-','.',' ','/',':') > 1 + laFieldGat[laField[m.lni,3]] = CTOD(m.lcVal) + ELSE + IF m.lnDat >= 61 + laFieldGat[laField[m.lni,3]] = m.ldDat01 + m.lnDat + ELSE + laFieldGat[laField[m.lni,3]] = m.ldDat02 + m.lnDat + ENDIF + ENDIF + ELSE + IF laField[m.lni,2] $ "T" + lnTim = VAL(m.lcVal) + IF [t="inlineStr] $ m.lcCell and ALINES(lala,m.lcVal,0,'-','.',' ','/',':') > 1 + laFieldGat[laField[m.lni,3]] = CTOT(m.lcVal) + ELSE + lnDat = FLOOR(m.lnTim) + laFieldGat[laField[m.lni,3]] = DTOT(m.ldDat01 + m.lnDat) + INT(86400.0 * (m.lnTim - m.lnDat)) + ENDIF + ELSE + IF laField[m.lni,2] $ "L" + laFieldGat[laField[m.lni,3]] = m.lcVal == "1" + ENDIF + ENDIF + ENDIF + ENDIF + ENDIF + NEXT + SELECT (m.cCurSheet) + GATHER FROM laFieldGat MEMO + ELSE + lcMemo = m.lcMemo + m.lcBuff + EXIT + ENDIF + ENDDO + lcReturn = m.cCurSheet + ELSE + MESSAGEBOX(ERRMESS4,16,'Error') + ENDIF + FCLOSE(m.lnF) + SET DECIMALS TO &lcSetDec +RETURN m.lcReturn + +********************** +* Special characters * +********************** +FUNCTION htmspec + LPARAMETERS cStr + LOCAL lni,lcStrF,lcChar,lnChar + lcStrF = m.cStr + IF AT('>',m.lcStrF)>0 + lcStrF = STRTRAN(m.lcStrF,'>','>') + ENDIF + IF AT('<',m.lcStrF)>0 + lcStrF = STRTRAN(m.lcStrF,'<','<') + ENDIF + IF AT('"',m.lcStrF)>0 + lcStrF = STRTRAN(m.lcStrF,'"','"') + ENDIF + IF AT("'",m.lcStrF)>0 + lcStrF = STRTRAN(m.lcStrF,''',"'") + ENDIF + IF AT([&#],m.lcStrF)>0 + FOR lnChar = 0 TO 255 + lcChar = [&#]+STR(m.lnChar,3)+[;] + IF AT(m.lcChar,m.lcStrF)>0 + lcStrF = STRTRAN(m.lcStrF,m.lcChar,CHR(lnChar)) + ENDIF + NEXT + ENDIF + IF AT([&#x],m.lcStrF)>0 + FOR lnChar = 0 TO 255 + lcChar = [&#x]+RIGHT(TRANSFORM(m.lnChar,"@0"),2)+[;] + IF AT(m.lcChar,m.lcStrF)>0 + lcStrF = STRTRAN(m.lcStrF,m.lcChar,CHR(lnChar)) + ENDIF + NEXT + ENDIF + IF AT('&',m.lcStrF)>0 + lcStrF = STRTRAN(m.lcStrF,'&',CHR(38)) + ENDIF + + * suggested by Koen Piller + lcStrF = STRCONV(m.lcStrF,11) + RETURN m.lcStrF +ENDFUNC + +***************** +* Cleanup +****************** +FUNCTION cleanup + LPARAMETERS lcDir + LOCAL lcZip,lcSetSaf + lcZip = FORCEEXT(m.lcDir,'zip') + lcSetSaf = SET("Safety") + SET SAFETY OFF + TRY + ERASE (ADDBS(m.lcDir)+'*.*') + RD (m.lcDir) + CATCH TO m.loErr + ENDTRY + + ERASE (m.lcZip) + SET SAFETY &lcSetSaf +RETURN .T. + +***************** +* Read workbook * +***************** +FUNCTION get_sheet +LPARAMETERS lcStr,lcSheet + LOCAL lnF,lcRealSheet,lcBuff,lcMemo,lni,lcRealSheet,lcCurSheet + lnF = FOPEN(m.lcStr) + lcRealSheet = '' + IF m.lnF >= 0 + lcBuff = FREAD(m.lnf,8192) + lcMemo = STREXTRACT(m.lcBuff,[],[]) + IF VARTYPE(m.lcSheet) == "N" + IF BETWEEN(m.lcSheet,1,OCCURS([name="],m.lcMemo)) + lcRealSheet = 'sheet' + LTRIM(STR(m.lcSheet)) + ENDIF + ELSE + IF EMPTY(m.lcSheet) + lcRealSheet = 'sheet1' + ELSE + FOR lni = 1 TO OCCURS([name="],m.lcMemo) + lcCurSheet = STREXTRACT(m.lcMemo,[name="],["],m.lni) + IF LOWER(ALLTRIM(m.lcCurSheet)) == LOWER(ALLTRIM(m.lcSheet)) + lcRealSheet = 'sheet' + TRANSFORM(m.lni) + EXIT + ENDIF + NEXT + ENDIF + ENDIF + ELSE + MESSAGEBOX(ERRMESS4 + ' workbook.xml',16,'Error') + ENDIF + FCLOSE(m.lnF) +RETURN m.lcRealSheet diff --git a/utile/excel/appendxlsx.prg b/utile/excel/appendxlsx.prg new file mode 100644 index 0000000..c7dd4c0 --- /dev/null +++ b/utile/excel/appendxlsx.prg @@ -0,0 +1,658 @@ +******************************** +*!* Simple Sample Usage +******************************** +*!* DIMENSION aWrkSht(1), aCols(1) +*!* m.lcXlsFile = GETFILE("Excel:XLS,XLSX,XLSB,XLSM") +*!* IF FILE(m.lcXlsFile) +*!* CLEAR +*!* ?AWorkSheets(@aWrkSht,m.lcXlsFile,.T.) +*!* ?AWorkSheetColumns(@aCols,m.lcXlsFile,"Sheet1") +*!* AppendFromExcel(m.lcXlsFile, "Sheet1", "MyTable", "column1,column2,column3", "Recnum Is Not Null", "field1,field2,field3", "field1 > 14000") +*!* SELECT MyTable +*!* GO TOP IN "MyTable" +*!* BROWSE LAST NOWAIT +*!* ENDIF +*!* CopyToExcel("C:\Test.xlsx", "Sheet1", "MyTable") && try xls, xlsb, and xlsm as well + +********************************** +FUNCTION AppendFromExcel(tcXLSFile, tcSheet, tvWorkarea, tcExcelFieldList, tcExcelWhereExpr, tcTableFieldList, tcTableForExpr, tlNoHeaderRow) + ********************************** + * PARAMETER Information + * tcXLSFile := a string specifying an excel file (*.xls, *.xlsx, *.xlsm, *.xlsb) on disk + * tcSheet := a string specifying the name of a worksheet within the excel workbook (can also be a range Sheet1$A1:C20 for instance) + * tvWorkarea [optional] := the Alias, Work Area, or File Name of the table you want the worksheet result set appended to (default is currently selected Alias) + * tcExcelFieldList [optional] := a comma delimited list of columns you want from the worksheet (default is '*' - all columns) + * tcExcelWhereExpr [optional] := a valid SQL Where clause to be used when querying the worksheet (default is '1=1') + * tcTableFieldList [optional] := a comma delimited list of fields you want the worksheet result set inserted into (default is '*' - all fields) + * tcTableForExpr [optional] := a valid VFP Where clause to be used when querying the worksheet result set (cursor) (default is '.T.') + * tlNoHeaderRow [optional] := pass .T. if the worksheet does not contain a header row, .F. is the default which specifies that a header row does exist + * + * RETURN Information + * returns numeric, the number of records inserted into tvWorkArea + * + * Provider Information + * the default provider being used in the SQLStringConnect function can be downloaded and installed from: + * http://www.microsoft.com/downloads/details.aspx?FamilyID=7554F536-8C28-4598-9B72-EF94E038C891&displaylang=en + ********************************** + LOCAL lnSelect, laErr[1], laTableFields[1], laExcelFields[1], lnFieldCounter, ; + lcSQLAlias, lnResult, lcInsertValues, lcFieldList, lcNvlFieldList, ; + lcFieldType, lcExcelFieldType, lcNvlFieldName, lcTempAlias, loExc, lnReturn, ; + lcHeaderRow, llOpenedtvWorkArea + m.lnSelect = SELECT(0) + m.lnReturn = 0 + IF NOT FILE(m.tcXLSFile) + ERROR 1, m.tcXLSFile + ENDIF + + IF !USED(m.tvWorkarea) AND TYPE("m.tvWorkArea") = "C" AND FILE(DEFAULTEXT(m.tvWorkarea,"DBF")) + SELECT 0 + USE (DEFAULTEXT(m.tvWorkarea,"DBF")) SHARED AGAIN + m.tvWorkarea = ALIAS() + m.llOpenedtvWorkArea = .T. + ELSE + IF !USED(m.tvWorkarea) + m.tvWorkarea = ALIAS() + ENDIF + ENDIF + IF TYPE("m.tvWorkArea") = "N" + m.tvWorkArea = ALIAS(m.tvWorkArea) + ENDIF + + m.tcSheet = ALLTRIM(EVL(m.tcSheet,"Sheet1$")) + IF AT("$",m.tcSheet) = 0 + m.tcSheet = m.tcSheet + "$" + ENDIF + m.tcExcelFieldList = EVL(m.tcExcelFieldList,"*") + m.tcExcelWhereExpr = EVL(m.tcExcelWhereExpr,"1=1") + m.tcTableFieldList = EVL(m.tcTableFieldList,"*") + m.tcTableForExpr = EVL(m.tcTableForExpr,".T.") + m.lcSQLAlias = SYS(2015) + m.lcTempAlias = SYS(2015) + m.lnSQL = 0 + m.lcHeaderRow = IIF(EMPTY(m.tlNoHeaderRow), "Yes", "No") + TRY + SELECT (m.tvWorkarea) + + m.lnSQL = SQLSTRINGCONNECT([Provider=Microsoft.ACE.OLEDB.12.0;Data Source="] + m.tcXLSFile + [";Extended Properties="Excel 12.0 Xml;HDR=] + m.lcHeaderRow + [;";]) + + *!* Alternate using DSN that comes with Office install (MSDASQL = OLEDB wrapper for ODBC) + *!* m.lnSQL = SQLSTRINGCONNECT("Provider=MSDASQL.1;" ; + *!* +"Persist Security Info=False;" ; + *!* +"DSN=Excel Files;" ; + *!* +"DBQ="+FULLPATH(m.tcXLSFile)+";" ; + *!* +"DriverId=790;" ; + *!* +"MaxBufferSize=2048;" ; + *!* +"PageTimeout=5;") + + *!* Try a few other drivers that may be on the user's machine + IF m.lnSQL < 0 + m.lnSQL = SQLSTRINGCONNECT("Driver={Microsoft Excel Driver (*.xls, *.xlsx, *.xlsm, *.xlsb)};" ; + + "DBQ="+FULLPATH(m.tcXLSFile)+";") + IF m.lnSQL < 0 AND UPPER(ALLTRIM(JUSTEXT(m.tcXLSFile))) == "XLS" && can we try using the older driver? + IF m.lnSQL < 0 + m.lnSQL = SQLSTRINGCONNECT("Driver={Microsoft Excel Driver (*.xls)};" ; + + "DBQ="+FULLPATH(m.tcXLSFile)+";") + ENDIF + ENDIF + IF m.lnSQL < 0 + AERROR(m.laErr) + ERROR m.laErr[2] + ENDIF + ENDIF + + m.lnResult = SQLEXEC(m.lnSQL,[SELECT ] + m.tcExcelFieldList + [ FROM "] + m.tcSheet + [" Where ] + m.tcExcelWhereExpr, m.lcSQLAlias) + IF m.lnResult < 0 + AERROR(m.laErr) + ERROR m.laErr[2] + ENDIF + + IF USED(m.lcSQLAlias) + m.lcFieldList = "" + m.lcNvlFieldList = "" + m.lnTotalExcelFields = AFIELDS(m.laExcelFields, m.lcSQLAlias) + SELECT &tcTableFieldList FROM (m.tvWorkarea) WHERE .F. INTO CURSOR (m.lcTempAlias) + FOR m.lnFieldCounter = 1 TO MIN(AFIELDS(m.laTableFields, m.lcTempAlias), m.lnTotalExcelFields) + m.lcFieldList = m.lcFieldList + IIF(!EMPTY(m.lcFieldList),",","")+m.laTableFields[m.lnFieldCounter,1] + m.lcFieldType = CHRTRAN(m.laTableFields[m.lnFieldCounter,2],"NIFYD","BBBBT") + m.lcExcelFieldType = CHRTRAN(m.laExcelFields[m.lnFieldCounter,2],"CVNIFYD","MMBBBBT") + m.lcNvlFieldName = m.laExcelFields[m.lnFieldCounter,1] + IF !m.laTableFields[m.lnFieldCounter,5] + m.lcNvlFieldName = [NVL(]+m.lcNvlFieldName+[,]+; + ICASE(m.lcExcelFieldType="B", "0", ; + m.lcExcelFieldType="M", "''", ; + m.lcExcelFieldType="T", "{//}", ; + m.lcExcelFieldType="L", ".F.", ; + "''")+[)] + ENDIF + IF INLIST(m.lcFieldType, "C", "V") + m.lcNvlFieldName = [CAST(]+m.lcNvlFieldName+[ AS ]+m.lcFieldType+[(] + TRANSFORM(m.laTableFields[m.lnFieldCounter,3]) + [))] + ELSE + m.lcNvlFieldName = [CAST(]+m.lcNvlFieldName+[ AS ]+m.lcFieldType+[)] + ENDIF + m.lcNvlFieldList = m.lcNvlFieldList + IIF(!EMPTY(m.lcNvlFieldList),",","") + m.lcNvlFieldName + ENDFOR + INSERT INTO (m.tvWorkarea) (&lcFieldList) SELECT &lcNvlFieldList FROM (m.lcSQLAlias) WHERE &tcTableForExpr + m.lnReturn = _TALLY + ENDIF + + CATCH TO m.loExc + *!* MESSAGEBOX(m.loExc.MESSAGE + " : " + TRANSFORM(m.loExc.LINENO)) + FINALLY + IF m.llOpenedtvWorkArea + USE IN SELECT(m.tvWorkArea) + ENDIF + IF m.lnSQL > 0 + SQLDISCONNECT(m.lnSQL) + ENDIF + USE IN SELECT(m.lcTempAlias) + USE IN SELECT(m.lcSQLAlias) + SELECT (m.lnSelect) + ENDTRY + RETURN m.lnReturn +ENDFUNC + +********************************** +FUNCTION AWorkSheets(taArray, tcXLSFile, tlAllTables) + ********************************** + * PARAMETER Information + * taArray := an array sent in by reference to fill with Worksheet/Table information + * tcXLSFile := a string specifying an excel file (*.xls, *.xlsx, *.xlsm, *.xlsb) on disk + * tlAllTables := if .T., array will contain information regarding all tables in workbook; .F. returns only worksheets + * + * RETURN Information + * returns numeric, the number of tables found in the workbook + ********************************** + + LOCAL lnSQL, laErr[1], lcSQLAlias, lnResult, lnReturn, loExc + m.lnReturn = 0 + m.lnSQL = SQLSTRINGCONNECT("Driver={Microsoft Excel Driver (*.xls, *.xlsx, *.xlsm, *.xlsb)};" ; + +"DBQ="+FULLPATH(m.tcXLSFile)+";") + + *!* Alternate using DSN that comes with Office install (MSDASQL = OLEDB wrapper for ODBC) + *!* m.lnSQL = SQLSTRINGCONNECT("Provider=MSDASQL.1;" ; + *!* +"Persist Security Info=False;" ; + *!* +"DSN=Excel Files;" ; + *!* +"DBQ="+FULLPATH(m.tcXLSFile)+";" ; + *!* +"DriverId=790;" ; + *!* +"MaxBufferSize=2048;" ; + *!* +"PageTimeout=5;") + + *!* Try a few other drivers that may be on the user's machine + IF m.lnSQL < 0 + IF UPPER(ALLTRIM(JUSTEXT(m.tcXLSFile))) == "XLS" && can we try using the older driver? + m.lnSQL = SQLSTRINGCONNECT("Driver={Microsoft Excel Driver (*.xls, *.xlsx, *.xlsm, *.xlsb)};" ; + + "DBQ="+FULLPATH(m.tcXLSFile)+";") + IF m.lnSQL < 0 + m.lnSQL = SQLSTRINGCONNECT("Driver={Microsoft Excel Driver (*.xls)};" ; + + "DBQ="+FULLPATH(m.tcXLSFile)+";") + ENDIF + ELSE + m.lnSQL = SQLSTRINGCONNECT("Driver={Microsoft Excel Driver (*.xls, *.xlsx, *.xlsm, *.xlsb)};" ; + + "DBQ="+FULLPATH(m.tcXLSFile)+";") + ENDIF + IF m.lnSQL < 0 + AERROR(m.laErr) + ERROR m.laErr[2] + ENDIF + ENDIF + + m.lcSQLAlias = SYS(2015) + m.lnResult = SQLTABLES(m.lnSQL,"VIEW,TABLE,SYSTEM TABLE",m.lcSQLAlias) + + IF m.lnSQL > 0 + SQLDISCONNECT(m.lnSQL) + ENDIF + + IF m.lnResult < 0 + AERROR(m.laErr) + ERROR m.laErr[2] + ENDIF + + IF USED(m.lcSQLAlias) + TRY + IF tlAllTables + SELECT CAST(ALLTRIM(table_name) AS V(100)), ; + CAST(ALLTRIM(table_type) AS V(12)) ; + FROM (m.lcSQLAlias) ; + INTO ARRAY taArray + ELSE + SELECT CAST(ALLTRIM(table_name) AS V(100)), ; + CAST(ALLTRIM(table_type) AS V(12)) ; + FROM (m.lcSQLAlias) ; + WHERE table_type = "SYSTEM TABLE" ; + INTO ARRAY taArray + ENDIF + m.lnReturn = _TALLY + CATCH TO m.loExc + THROW + FINALLY + *!* USE IN SELECT(m.lcSQLAlias) + ENDTRY + ENDIF + + RETURN m.lnReturn +ENDFUNC + +********************************** +FUNCTION AWorkSheetColumns(taArray, tcXLSFile, tcSheet) + ********************************** + * PARAMETER Information + * taArray := an array sent in by reference to fill with the specified worksheet's column information + * tcXLSFile := a string specifying an excel file (*.xls, *.xlsx, *.xlsm, *.xlsb) on disk + * tcSheet := a string specifying the worksheet or table to use when retrieving column information + * + * RETURN Information + * returns numeric, the number of columns found in the worksheet/table + ********************************** + LOCAL lnSQL, laErr[1], lnResult, lnReturn, lcSQLAlias, loExc + m.lnReturn = 0 + m.lnSQL = SQLSTRINGCONNECT("Driver={Microsoft Excel Driver (*.xls, *.xlsx, *.xlsm, *.xlsb)};" ; + +"DBQ="+FULLPATH(m.tcXLSFile)+";") + *!* Alternate using DSN that comes with Office install (MSDASQL = OLEDB wrapper for ODBC) + *!* m.lnSQL = SQLSTRINGCONNECT("Provider=MSDASQL.1;" ; + *!* +"Persist Security Info=False;" ; + *!* +"DSN=Excel Files;" ; + *!* +"DBQ="+FULLPATH(m.tcXLSFile)+";" ; + *!* +"DriverId=790;" ; + *!* +"MaxBufferSize=2048;" ; + *!* +"PageTimeout=5;") + + *!* Try a few other drivers that may be on the user's machine + IF m.lnSQL < 0 + IF UPPER(ALLTRIM(JUSTEXT(m.tcXLSFile))) == "XLS" && can we try using the older driver? + m.lnSQL = SQLSTRINGCONNECT("Driver={Microsoft Excel Driver (*.xls, *.xlsx, *.xlsm, *.xlsb)};" ; + + "DBQ="+FULLPATH(m.tcXLSFile)+";") + IF m.lnSQL < 0 + m.lnSQL = SQLSTRINGCONNECT("Driver={Microsoft Excel Driver (*.xls)};" ; + + "DBQ="+FULLPATH(m.tcXLSFile)+";") + ENDIF + ELSE + m.lnSQL = SQLSTRINGCONNECT("Driver={Microsoft Excel Driver (*.xls, *.xlsx, *.xlsm, *.xlsb)};" ; + + "DBQ="+FULLPATH(m.tcXLSFile)+";") + ENDIF + IF m.lnSQL < 0 + AERROR(m.laErr) + ERROR m.laErr[2] + ENDIF + ENDIF + + m.lcSQLAlias = SYS(2015) + m.lnResult = SQLEXEC(m.lnSQL,[SELECT * FROM "] + m.tcSheet + [$" Where 1=0], m.lcSQLAlias) + + IF m.lnSQL > 0 + SQLDISCONNECT(m.lnSQL) + ENDIF + + IF m.lnResult < 0 + AERROR(m.laErr) + ERROR m.laErr[2] + ENDIF + + IF USED(m.lcSQLAlias) + TRY + m.lnReturn = AFIELDS(m.taArray, m.lcSQLAlias) + CATCH TO m.loExc + THROW + FINALLY + USE IN SELECT(m.lcSQLAlias) + ENDTRY + ENDIF + + RETURN m.lnReturn +ENDFUNC + +*********************************** +FUNCTION CopyToExcel(tcXLSFile, tcSheet, tvWorkArea, tcExcelFieldList, tcTableFieldList, tcTableForExpr) + *********************************** + * PARAMETER Information + * tcXLSFile := a string specifying an excel file (*.xls, *.xlsx, *.xlsm, *.xlsb) on disk + * tcSheet := a string specifying the name of the worksheet to create within the excel workbook + * tvWorkarea [optional] := the Alias, Work Area, or File Name of the table you want to be copied to the worksheet (default is currently selected Alias) + * tcExcelFieldList [optional] := a comma delimited list of columns you want to create in the worksheet (default is '*' - columns will match table field list) + * tcTableFieldList [optional] := a comma delimited list of fields you want this function to copy from tvWorkArea + * tcTableForExpr [optional] := a valid VFP Where/For clause to be used when querying tvWorkArea for data to be copied to the worksheet + * + * RETURN Information + * returns numeric, the number of records inserted into the worksheet + * + * Provider Information + * the default provider being used in the SQLStringConnect function can be downloaded and installed from: + * http://www.microsoft.com/downloads/details.aspx?FamilyID=7554F536-8C28-4598-9B72-EF94E038C891&displaylang=en + ********************************** + #DEFINE adOpenStatic 3 + #DEFINE adOpenKeyset 1 + #DEFINE adLockOptimistic 3 + #DEFINE adUseClient 3 + #DEFINE adUseServer 2 + #DEFINE adCmdText 0x0001 + LOCAL loConnection as ADODB.Connection, lcCreateTableCommand, llOpenedtvWorkArea, loExc as Exception, ; + lnReturn, lnResult, lnFieldCounter, lnSQL, loCursorAdapter as CursorAdapter, ; + lcFieldName, lcFieldType, lcSelectFields, lcUpdateNameListFields, lcUpdatableFieldList, ; + loRecordSet as ADODB.Recordset, lcConversionFunc, lcVFPFieldName, laTableFields[1], laErr[1] + + m.lnSelect = SELECT(0) + m.lnReturn = 0 + + m.llOpenedtvWorkArea = .F. + IF !USED(m.tvWorkarea) AND TYPE("m.tvWorkArea") = "C" AND FILE(DEFAULTEXT(m.tvWorkarea,"DBF")) + SELECT 0 + USE (DEFAULTEXT(m.tvWorkarea,"DBF")) SHARED AGAIN + m.tvWorkarea = ALIAS() + m.llOpenedtvWorkArea = .T. + ELSE + IF !USED(m.tvWorkarea) + m.tvWorkarea = ALIAS() + ENDIF + ENDIF + IF TYPE("m.tvWorkArea") = "N" + m.tvWorkArea = ALIAS(m.tvWorkArea) + ENDIF + + m.tcSheet = ALLTRIM(EVL(m.tcSheet,"Sheet1$")) + IF AT("$",m.tcSheet) = 0 + m.tcSheet = m.tcSheet + "$" + ENDIF + m.tcExcelFieldList = EVL(m.tcExcelFieldList,"") + m.tcTableFieldList = EVL(m.tcTableFieldList,"*") + m.tcTableForExpr = EVL(m.tcTableForExpr,".T.") + m.lnSQL = 0 + m.lcTempAlias = SYS(2015) + + TRY + CreateExcelTemplate(m.tcXLSFile) + IF !FILE(m.tcXLSFile) + m.lnReturn + ENDIF + m.loConnection = CreateObject ( "ADODB.Connection") + *!* This is the only provider/driver that appears to work without showing Select Data Source dialog + *!* or throwing a weird error about the excel Database being readonly. + m.loConnection.ConnectionString = [Provider=Microsoft.ACE.OLEDB.12.0;Data Source="] + m.tcXLSFile + [";Extended Properties="Excel 12.0 Xml;HDR=Yes;";] + m.loConnection.Open() + m.loConnection.Execute("DROP TABLE [Sheet1$]") + SELECT &tcTableFieldList FROM (m.tvWorkarea) WHERE &tcTableForExpr INTO CURSOR (m.lcTempAlias) NOFILTER + GO TOP IN (m.lcTempAlias) + m.lnReturn = RECCOUNT(m.lcTempAlias) + m.lcCreateTableCommand = "" + m.lcSelectFields = "" + m.lcUpdateNameListFields = "" + m.lcUpdatableFieldList = "" + m.lcConversionFunc = "" + FOR m.lnFieldCounter = 1 TO AFIELDS(m.laTableFields, m.lcTempAlias) + m.lcVFPFieldName = m.laTableFields(m.lnFieldCounter, 1) + m.lcFieldName = ALLTRIM(GETWORDNUM(m.tcExcelFieldList, m.lnFieldCounter, ",")) + IF EMPTY(m.lcFieldName) + m.lcFieldName = m.laTableFields(m.lnFieldCounter, 1) + ENDIF + m.lcSelectFields = m.lcSelectFields + "[" + m.lcFieldName + "] " + " AS " + m.lcVFPFieldName + m.lcUpdateNameListFields = m.lcUpdateNameListFields + m.lcVFPFieldName + " [" + m.tcSheet + "].[" + m.lcFieldName + "]" + m.lcUpdatableFieldList = m.lcUpdatableFieldList + m.lcVFPFieldName + m.lcCreateTableCommand = m.lcCreateTableCommand + "[" + m.lcFieldName + "] " + m.lcFieldType = m.laTableFields(m.lnFieldCounter, 2) + m.lcCreateTableCommand = m.lcCreateTableCommand + ; + ICASE(m.lcFieldType = 'C', 'Char(' + TRANSFORM(m.laTableFields(m.lnFieldCounter, 3)) + ')', ; + m.lcFieldType = 'Y', 'Currency', ; + m.lcFieldType = 'D', 'Date', ; + m.lcFieldType = 'T', 'DateTime', ; + m.lcFieldType = 'B', 'Double', ; + m.lcFieldType = 'F', 'Double', ; + m.lcFieldType = 'G', 'Binary', ; + m.lcFieldType = 'I', 'Integer', ; + m.lcFieldType = 'L', 'Logical', ; + m.lcFieldType = 'M', 'Text', ; + m.lcFieldType = 'N', 'Numeric(' + TRANSFORM(m.laTableFields(m.lnFieldCounter, 3)) + ',' + TRANSFORM(m.laTableFields(m.lnFieldCounter, 4)) + ')', ; + m.lcFieldType = 'Q', 'Binary', ; + m.lcFieldType = 'V', 'VarChar(' + TRANSFORM(m.laTableFields(m.lnFieldCounter, 3)) + ')', ; + m.lcFieldType = 'W', 'Blob', ; + 'Char(' + TRANSFORM(m.laTableFields(m.lnFieldCounter, 3)) + ')') + IF INLIST(m.lcFieldType,"T","D") + m.lcConversionFunc = IIF(!EMPTY(m.lcConversionFunc), ", ", "") + m.lcConversionFunc + m.lcVFPFieldName + " EmptyFieldToNull" + ENDIF + IF m.lnFieldCounter != ALEN(m.laTableFields,1) + m.lcCreateTableCommand = m.lcCreateTableCommand + ',' + m.lcSelectFields = m.lcSelectFields + ',' + m.lcUpdateNameListFields = m.lcUpdateNameListFields + ',' + m.lcUpdatableFieldList = m.lcUpdatableFieldList + ',' + ENDIF + ENDFOR + IF !EMPTY(m.lcCreateTableCommand) + IF m.tcSheet != [Sheet1$] + m.tcSheet = STRTRAN(m.tcSheet,"$","") + ENDIF + m.lcCreateTableCommand = "CREATE TABLE [" + m.tcSheet + "](" + m.lcCreateTableCommand + ")" + m.loConnection.Errors.Clear() + m.loConnection.Execute(m.lcCreateTableCommand) + IF m.loConnection.Errors.Count>0 + ERROR m.loConnection.Errors(0).Description + ENDIF + m.loRecordSet = CreateObject("ADODB.Recordset") + With m.loRecordSet + .ActiveConnection = m.loConnection + .CursorLocation = adUseClient + .CursorType = adOpenStatic + .LockType = adLockOptimistic + ENDWITH + m.loCursorAdapter = CREATEOBJECT("CursorAdapter") + m.loCursorAdapter.Alias = SYS(2015) + m.loCursorAdapter.DataSourceType = "ADO" + m.loCursorAdapter.DataSource = m.loRecordSet + m.loCursorAdapter.SelectCmd = "Select " + m.lcSelectFields + " From [" + m.tcSheet + "]" + IF m.loCursorAdapter.CursorFill(.F.,.T.) + m.loCursorAdapter.Tables = "[" + m.tcSheet + "]" + m.loCursorAdapter.BufferModeOverride = 3 && faster than 5 when dealing with larger record sets + m.loCursorAdapter.UpdateNameList = m.lcUpdateNameListFields + m.loCursorAdapter.UpdatableFieldList = m.lcUpdatableFieldList + IF !EMPTY(m.lcConversionFunc) + m.loCursorAdapter.ConversionFunc = m.lcConversionFunc + ENDIF + INSERT INTO (m.loCursorAdapter.Alias) SELECT * FROM (m.lcTempAlias) + m.lnReturn = TABLEUPDATE(.T.,.T.,m.loCursorAdapter.Alias) + ELSE + AERROR(m.laErr) + ERROR m.laErr(2) + ENDIF + ENDIF + m.loConnection.Close() + CATCH TO m.loExc + m.lnReturn = 0 + FINALLY + m.loCursorAdapter = Null + m.loConnection = Null + RELEASE loCursorAdapter, loConnection + IF m.llOpenedtvWorkArea + USE IN SELECT(m.tvWorkarea) + ENDIF + USE IN SELECT(m.lcTempAlias) + SELECT (m.lnSelect) + ENDTRY + RETURN m.lnReturn +ENDFUNC + +******************* +FUNCTION EmptyFieldToNull(tdFieldValue) +******************* + RETURN EVL(m.tdFieldValue,NULL) +ENDFUNC + +******************* +FUNCTION CreateExcelTemplate(tcExcelFile) +******************* + LOCAL lcExcelFileExtension, lcFileBinary + m.llReturn = .F. + IF FILE(m.tcExcelFile) + m.llReturn = .T. + ELSE + m.lcExcelFileExtension = UPPER(JUSTEXT(m.tcExcelFile)) + DO case + CASE m.lcExcelFileExtension = "XLSX" + m.lcFileBinary = 0h504B030414000600080000002100CC7EE6A14E010000080400001300DF015B436F6E74656E745F54797065735D2E786D6C20A2DB0128A00002000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 + m.lcFileBinary = m.lcFileBinary + 0h000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 + m.lcFileBinary = m.lcFileBinary + 0h000000000000000000000000000000000000AC93CB4EC3301045F748FC83E52D8ADDB2400835ED82C712BA281F60EC4963D52F79DCD2FE3D938422814A455536B1226BEE9D39733D996DBD631BC86863A8F9588C3883A0A3B16159F3D7C55375CB1916158C723140CD77807C36BDBC982C7609905175C09AB7A5A43B2951B7E0158A9820D04D13B357857EF35226A5576A09F27A34BA913A8602A154A5D3E0D3C90B3590AD013657B93C2B4F3E72EB64213518BE63417A9CDD0F859D77CD554ACE6A55A873B909E6876B159BC66A3051AF3D79895EECAA5391BF1A62D939C0B3AD306550065B80E29D1844F7CE0FD0A8B52BEC714B0406E8191C9E36DA274C + m.lcFileBinary = m.lcFileBinary + 0h4195FDF8D8DA84471C8EB33BCEE43DE6D55B8CABFFA6D2D1115ED9B0EFFB5008687BF31C134ADAF5D90D4087DC80A91249422E16BE981DF2A60076B3F76B44D91FE7A7F07B34BEF4FFC440C70CA743D867A5AB3E30B9ECDFF1F4030000FFFF0300504B030414000600080000002100B5553023F50000004C0200000B00CE015F72656C732F2E72656C7320A2CA0128A0000200000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 + m.lcFileBinary = m.lcFileBinary + 0h000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 + m.lcFileBinary = m.lcFileBinary + 0h0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000008C92CF4EC3300CC6EF48BC43E4FBEA6E4808A1A5BB4C48BB21541EC024EE1FB58DA32440F7F68403824A63DBD1F6E7CF3F5BDEEEE669541F1C622F4EC3BA2841B133627BD76A78AD9F560FA06222676914C71A8E1C6157DDDE6C5F78A4949B62D7FBA8B28B8B1ABA94FC2362341D4F140BF1EC72A5913051CA6168D19319A865DC94E53D86BF1E502D3CD5C16A08077B07AA3EFA3CF9B2B7344D6F782FE67D62974E8C409E + m.lcFileBinary = m.lcFileBinary + 0h133BCB76E543660BA9CFDBA89A42CB498315F39CD311C9FB2263039E26DA5C4FF4FFB63871224B89D048E0F33CDF8A7340EBEB812E9F68A9F8BDCE3CE2A784E14D64F861C1C50F545F000000FFFF0300504B0304140006000800000021008D87DA70E00000002D0200001A000801786C2F5F72656C732F776F726B626F6F6B2E786D6C2E72656C7320A2040128A00001000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 + m.lcFileBinary = m.lcFileBinary + 0h00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000AC91CB6AC3301045F785FE83987D3D760AA594C8D99442B6C5FD00218F1FC496846692D67F5FE182DD404836D908AE06DD73246D773FE3A04E14B9F74E4391E5A0C8595FF7AED5F0557D3CBD826231AE368377A46122865DF9F8B0FDA4C1483AC45D1F58A516C71A3A91F086C8B6 + m.lcFileBinary = m.lcFileBinary + 0hA3D170E603B934697C1C8DA4185B0CC61E4C4BB8C9F3178CFF3BA03CEB54FB5A43DCD7CFA0AA2924F2ED6EDF34BDA5776F8F2339B98040966948175095892D8986BF9C2547C0CBF8CD3DF1929E8556FA1C715E8B6B0EC53D1DBE7D3C704724ABC7B2C5384F16193CFBE4F2170000FFFF0300504B030414000600080000002100A460FAFF52010000270200000F000000786C2F776F726B626F6F6B2E786D6C8C915D6FC2201486EF97EC3F10EE272DA9CE185B93655BE6CD6232A7D7AC9C5A228506A8D57FBF534CE776B72BCE073CE7BC2FCBD5B9D1E404CE2B6B729A4E124AC094562A73C8E9E7F6F5614E890FC248A1AD819C5EC0D355717FB7ECAD3B7E + m.lcFileBinary = m.lcFileBinary + 0h597B2408303EA77508ED82315FD6D0083FB12D18EC54D6352260EA0ECCB70E84F435406834E34932638D50865E090BF71F86AD2A55C2B32DBB064CB8421C6811707D5FABD6D36259290DBBAB2222DAF65D34B8F75953A2850F2F52059039CD30B53DFC29B8AE7DEA941EBAD3644A59F12372E3085203B88D5327515ED0294A2454A2D3618B82C77958E719E7B3E1ED60CE4E41EF6F982125E7BD32D2F639E5199A7D19B31427923EB6F64A861A51D9FC567B0375A8434EE7499A0C74F60B1F2DC531F12426EAFD186CC625636D8D9230760B85815BCB3412C667A5D0250A1C8E78914F1F7954CFC63F2EBE010000FFFF0300504B0304140006000800000021 + m.lcFileBinary = m.lcFileBinary + 0h00A083C4AEA3010000640300000D000000786C2F7374796C65732E786D6CA453C16ADC3010BD17F20F42F746BB0B0D6DB19D436121909440B6D0AB6CC95EC16864A4F1B2EED767643BDEDD530EBD584F4F336F9E66E4E2F1EC419C6C4C2E6029B7F71B292C36C138EC4AF9E7B0FFFA5D8A441A8D8680B694A34DF2B1BAFB52241AC1BE1DAD25C112984A7924EA7F2A959AA3F53ADD87DE229FB4217A4DBC8D9D4A7DB4DAA49CE441ED369B07E5B54359156D404AA2090312BB5888AA48FFC44903335BA9AAA20910A2209667231383DADB39E29706574797C35AED1D8C33BDCBC4E46889F30E43CCA4CA259725719203580DECB20126AAA2D74436E29E3762 + m.lcFileBinary = m.lcFileBinary + 0hC187B1E7F2C8DD9865A6B84FA2BBA8C7EDEEDB55829A0A56451DA2E1EE5F5F7DA6AA026C4B6C34BAEE98570A3D7FEB40143C03E37417500343F591B100BE4E6301DEF284FEB637DAE756E0E0F79E9E4C2979D6B9091F902FB2C0596FDE64FD6BB559FBBF65C5B9BDD567C52BDB37A6D7F222CFBB94BFF39302B94A887A70400E6F05A7EBB3A6395F5AB0C913205DF3CBCDCD59AB70278C6DF50074580F4B79C12FD6B8C1FF58A35EDD29D02451CA0B7ECE93DA3E4C534EEBEF51BD030000FFFF0300504B030414000600080000002100E9A625B882060000531B000013000000786C2F7468656D652F7468656D65312E786D6CEC594F6FDB3614BF0FD87720 + m.lcFileBinary = m.lcFileBinary + 0h746F6D27B61B07758AD8B19BAD4D1BC46E871E6999965853A240D2497D1BDAE38001C3BA619701BBED306C2BD002BB749F265B87AD03FA15F6484AB218CB4BD2061BD6D58744227F7CFFDFE32375F5DA8388A1432224E571DBAB5DAE7A88C43E1FD338687B7786FD4B1B1E920AC763CC784CDADE9C48EFDAD6FBEF5DC59B2A241141B03E969BB8ED854A259B958AF46118CBCB3C2131CC4DB888B082571154C6021F01DD8855D6AAD56625C234F6508C23207B7B32A13E41434DD2DBCA88F718BCC64AEA019F8981264D9C15063B9ED63442CE659709748859DB033E637E34240F948718960A26DA5ED5FCBCCAD6D50ADE4C1731B5626D615DDFFCD275E982 + m.lcFileBinary = m.lcFileBinary + 0hF174CDF014C128675AEBD75B577672FA06C0D432AED7EB757BB59C9E0160DF074DAD2C459AF5FE46AD93D12C80ECE332ED6EB551ADBBF802FDF525995B9D4EA7D14A65B1440DC83ED697F01BD5667D7BCDC11B90C53796F0F5CE76B7DB74F00664F1CD257CFF4AAB5977F10614321A4F97D0DAA1FD7E4A3D874C38DB2D856F007CA39AC2172888863CBA348B098FD5AA588BF07D2EFA00D04086158D919A2764827D88E22E8E468262CD006F125C98B143BE5C1AD2BC90F4054D54DBFB30C190110B7AAF9E7FFFEAF953F4EAF993E387CF8E1FFE74FCE8D1F1C31F2D2D67E12E8E83E2C297DF7EF6E7D71FA33F9E7EF3F2F117E57859C4FFFAC327BFFCFC79 + m.lcFileBinary = m.lcFileBinary + 0h3910326821D18B2F9FFCF6ECC98BAF3EFDFDBBC725F06D814745F8904644A25BE4081DF0087433867125272371BE15C3105367050E817609E99E0A1DE0AD396665B80E718D775740F128035E9FDD77641D8462A66809E71B61E400F738671D2E4A0D7043F32A5878388B8372E66256C41D607C58C6BB8B63C7B5BD590255330B4AC7F6DD903862EE331C2B1C909828A4E7F8949012EDEE51EAD8758FFA824B3E51E81E451D4C4B4D32A4232790168B7669047E9997E90CAE766CB3771775382BD37A871CBA484808CC4A841F12E698F13A9E291C95911CE288150D7E13ABB04CC8C15CF8455C4F2AF074401847BD3191B26CCD6D01FA169C7E0343BD2A75FB + m.lcFileBinary = m.lcFileBinary + 0h1E9B472E52283A2DA37913735E44EEF06937C45152861DD0382C623F905308518CF6B92A83EF713743F43BF801C72BDD7D9712C7DDA717823B3470445A04889E9909ED4B28D44EFD8D68FC77C59851A8C63606DE15E3B6B70D5B53594AEC9E28C1AB70FFC1C2BB8367F13E81585FDE78DED5DD7775D77BEBEBEEAA5C3E6BB55D1458A8BDBA79B07DB1E992A3954DF28432365073466E4AD3274BD82CC67D18D4EBCC0191E487A62484C7B4B83BB84060B30609AE3EA22A1C8438811EBBE66922814C490712255CC2D9CE0C97D2D678E8D3953D1936F499C1D60389D51E1FDBE1753D9C1D0D723266CB09CCF93363B4AE099C95D9FA959428A8FD3ACC6A5AA8 + m.lcFileBinary = m.lcFileBinary + 0h3373AB19D14CA973B8E52A830F975583C1DC9AD08520E85DC0CA4D38A26BD67036C18C8CB5DDED069CB9C578E1225D24433C26A98FB4DECB3EAA192765B1622E0320764A7CA4CF79A758ADC0ADA5C9BE01B7B338A9C8AEBE825DE6BD37F15216C10B2FE9BC3D918E2C2E26278BD151DB6B35D61A1EF271D2F62670AC85C72801AF4BDDF86116C0DD90AF840DFB5393D964F9C29BAD4C3137096A705361EDBEA4B053071221D50E96A10D0D339586008B35272BFF5A03CC7A510AD8487F0D29D6372018FE3529C08EAE6BC964427C5574766144DBCEBEA6A594CF141183707C84466C260E30B85F872AE833A6126E274C45D02F7095A6AD6DA6DCE29C265DF1 + m.lcFileBinary = m.lcFileBinary + 0h02CBE0EC38664988D372AB5334CB640B37799CCB60DE0AE2816EA5B21BE5CEAF8A49F90B52A518C6FF3355F47E02D705EB63ED011F6E7205463A5FDB1E172AE450859290FA7D018D83A91D102D701D0BD31054709F6CFE0B72A8FFDB9CB3344C5AC3A94F1DD000090AFB910A0521FB50964CF49D42AC96EE5D96244B0999882A882B132BF6881C1236D435B0A9F7760F8510EAA69AA465C0E04EC69FFB9E66D028D04D4E31DF9C1A92EFBD3607FEE9CEC7263328E5D661D3D064F6CF452CD955ED7AB33CDB7B8B8AE889459B55CFB2029815B682569AF6AF29C239B75A5BB196345E6B64C28117973586C1BC214AE0D207E93FB0FF51E133FB71426FA8437E + m.lcFileBinary = m.lcFileBinary + 0h00B515C1B7064D0CC206A2FA926D3C902E907670048D931DB4C1A44959D3A6AD93B65AB6595F70A79BF33D616C2DD959FC7D4E63E7CD99CBCEC9C58B34766A61C7D6766CA5A9C1B32753148626D941C638C67CD52A7E78E2A3FBE0E81DB8E29F31254D30C1672581A1F51C983C80E4B71CCDD2ADBF000000FFFF0300504B030414000600080000002100075F38D31E010000C701000018000000786C2F776F726B7368656574732F7368656574312E786D6C8C514D6BC3300CBD0FF61F8CEE8BD38D6EA324298352B6C360ECEBEE2472626A5BC156D7EDDFCF496819F4B29B3EDE7BD2938AF5B7B3E20B4334E44B58643908F40DB5C677257CBC6FAFEE4144 + m.lcFileBinary = m.lcFileBinary + 0h56BE55963C96F08311D6D5E54571A0B08B3D228BA4E063093DF3B09232363D3A15331AD0A78EA6E014A73474320E01553B919C95D7797E2B9D321E668555F88F06696D1ADC50B377E87916096815A7FD636F860855D19AD41B0D8980BA848705C8AA98C67E1A3CC43FB16055BFA1C586B14DEE418CAE6AA2DD087C4AA57CA4CA33EE7672F512448B5AED2DBFD2E1114DD77312599EA66D14AB441F5487CF2A74C6476151274C9EDD8108337E8A9986A9BA04511333B963D6A783613A4C9EDD80D0447C4CC6B54E2FA87E010000FFFF0300504B030414000600080000002100A6A453EB3E0100005102000011000801646F6350726F70732F636F72652E786D + m.lcFileBinary = m.lcFileBinary + 0h6C20A2040128A00001000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 + m.lcFileBinary = m.lcFileBinary + 0h000000000000000000007C92516BC3201485DF07FB0FC1F7449342DB4992C236FAB4C260191B7B13BD6D65D188BAA5FDF733499BA65006BE78CFB9DF3D5ECC57075547BF609D6C7481D284A008346F84D4BB02BD57EB788922E79916AC6E3414E8080EADCAFBBB9C1BCA1B0BAFB63160BD0417059276949B02EDBD371463C7F7A0984B82430771DB58C57CB8DA1D368C7FB31DE08C903956E099609EE10E189B91884E48C147A4F9B1750F101C430D0AB477384D527CF17AB0CADD6CE8958953497F34E14DA7B853B6E08338BA0F4E8EC6B66D9376D6C708F953FCB97979EB9F1A4BDDED8A032A73C129B7C07C63CB1C4F2F617135737E1376BC95201E8F41 + m.lcFileBinary = m.lcFileBinary + 0hBF5113BC8F3B40404421001DE29E958FD9D373B54665B7C3983CC4E9BC2284F6E7AB1B79D5DF051A0AEA34F87FE2B223924595113A5BD02C9B10CF8021F7F52728FF000000FFFF0300504B03041400060008000000210027388BC4880100001103000010000801646F6350726F70732F6170702E786D6C20A2040128A000010000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 + m.lcFileBinary = m.lcFileBinary + 0h00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000009C92C16EDB300C86EF03F60E86EE8D9C601886405651A41D7AD8B00049BBB326D3B150591244D648F6F4A36DA471BA9DA613C99FF8F58994BA3D76BEE821A38BA112CB45290A0836D62E1C2AF1B4FF7AF345144826D4C6C7009538018A5BFDF183DAE6982093032CD82260255AA2B496126D0B9DC105CB819526E6CE10A7F9 + m.lcFileBinary = m.lcFileBinary + 0h2063D3380BF7D1BE761048AECAF2B3842341A8A1BE496F8662725CF7F4BFA675B4031F3EEF4F8981B5BA4BC93B6B885FA9BF3B9B23C6868A87A305AFE45C544CB703FB9A1D9D74A9E43C553B6B3C6CD85837C623287929A84730C3D0B6C665D4AAA7750F96622ED0FDE6B1AD44F1CB200C3895E84D762610630D6D5332C63E2165FD33E6176C010895E486A93886F3DE79EC3EE9E5D8C0C175E3603081B0708DB877E4017F345B93E91FC4CB39F1C830F14E38BB816FBA73CE373E996F7AE7BD895D32E1C4C25BF4CD85177C4AFB786F08CEE3BC2EAA5D6B32D4BC81B37E29A8479E64F683C9A635E100F5B9E76F6158FEF3F4C3F572B528F98C3B3FD794BC + m.lcFileBinary = m.lcFileBinary + 0hFC65FD070000FFFF0300504B01022D0014000600080000002100CC7EE6A14E010000080400001300000000000000000000000000000000005B436F6E74656E745F54797065735D2E786D6C504B01022D0014000600080000002100B5553023F50000004C0200000B000000000000000000000000005E0300005F72656C732F2E72656C73504B01022D00140006000800000021008D87DA70E00000002D0200001A000000000000000000000000004A060000786C2F5F72656C732F776F726B626F6F6B2E786D6C2E72656C73504B01022D0014000600080000002100A460FAFF52010000270200000F000000000000000000000000006A080000786C2F776F + m.lcFileBinary = m.lcFileBinary + 0h726B626F6F6B2E786D6C504B01022D0014000600080000002100A083C4AEA3010000640300000D00000000000000000000000000E9090000786C2F7374796C65732E786D6C504B01022D0014000600080000002100E9A625B882060000531B00001300000000000000000000000000B70B0000786C2F7468656D652F7468656D65312E786D6C504B01022D0014000600080000002100075F38D31E010000C701000018000000000000000000000000006A120000786C2F776F726B7368656574732F7368656574312E786D6C504B01022D0014000600080000002100A6A453EB3E010000510200001100000000000000000000000000BE130000646F635072 + m.lcFileBinary = m.lcFileBinary + 0h6F70732F636F72652E786D6C504B01022D001400060008000000210027388BC48801000011030000100000000000000000000000000033160000646F6350726F70732F6170702E786D6C504B050600000000090009003E020000F11800000000 + CASE m.lcExcelFileExtension = "XLSB" + m.lcFileBinary = 0h504B030414000600080000002100558086C16D010000020400001300DD015B436F6E74656E745F54797065735D2E786D6C20A2D90128A00002000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 + m.lcFileBinary = m.lcFileBinary + 0h000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 + m.lcFileBinary = m.lcFileBinary + 0h00000000000000000000000000000000A453CD4BC33014BF0BFE0F255769B2791091B53BE8042FBAC3C47396BEAE616912F2B2D9FEF7BEB6ACA0EC83E1A5A16D7E9F2F99CD9BDA247B08A89DCDD8944F580256B942DB4DC63E57AFE9234B304A5B48E32C64AC0564F3FCF666B66A3D6042688B19AB62F44F42A0AAA096C89D074B7F4A176A19E9356C84976A2B3720EE279307A19C8D60631A3B0E96CF5EA0943B139345439F07276B6D59F23CECEBA43226BD375AC94846C5DE16BCC6141A058663051039016468792D55700B2BD706688B241691CF3E2860D005244B19E2BBAC894D344644720BC373CAC9EF05C1DFA95257965A41E1D4AEA62CBC27BBEB + m.lcFileBinary = m.lcFileBinary + 0h584E0B7EBBB0EDDDA2E89769E7FA82EA1873047702471A0B60F002D79F047E980927645F2B56DAE321C21185F3159D894E252D83F3286886FF2E1ABA435240917AA28410358C9E4FCC796C0EC5704ADE08DF5C553EE17AD0179E192FC6D6005E33D301718A72AC4DB900D7F776186F873E5296E86F70FE030000FFFF0300504B0304140006000800000021004382E3C5F70000004C0200000B00CE015F72656C732F2E72656C7320A2CA0128A000020000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 + m.lcFileBinary = m.lcFileBinary + 0h000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 + m.lcFileBinary = m.lcFileBinary + 0h00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000008C92CF4EC3300CC6EF48BC43E4FBEA6E4808A1B5BB20A4DD102A0FE0256E1BB58DA32440F7F66427A834B61DFDEFF3CF9FBCDDCDD3A8BE38442BAE8275518262A7C558D755F0D1BCAE9E40C544CED0288E2B3872845D7D7FB77DE791521E8ABDF5516515172BE853F2CF8851F73C512CC4B3CB9556C2442987A1434F7AA08E7153968F18FE6A40BD + m.lcFileBinary = m.lcFileBinary + 0hD0547B5341D89B0750CDD1E7CDD7B5A56DADE617D19F13BB746605F29CD819362B1F325B48365FA31A0A1DA70A8CE8B79C8E48DE17191BF03CD1E676A2FFAFC58913194A845A025FE639755C025ADF0E74DDA265C7AF3BF388DF128683C8501CAC3B99838B1FA87F000000FFFF0300504B03041400060008000000210006332055E50000002D0200001A000801786C2F5F72656C732F776F726B626F6F6B2E62696E2E72656C7320A2040128A000010000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 + m.lcFileBinary = m.lcFileBinary + 0h0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000AC91C16AC3301044EF85FE83D87BBD760AA594C8B98442AEC1FD00555EDB22B624B4DB36FEFB0A97360DA4F4928B60B468DEEC68BD394EA37AA7C42E780D555182226F43EB7CAFE1A579BE7B04C562 + m.lcFileBinary = m.lcFileBinary + 0h7C6BC6E049C34C0C9BFAF666BDA7D1487EC4838BACB28B670D83487C42643BD064B808917C9E74214D46B24C3D46630FA6275C95E503A6DF1E509F79AA5DAB21EDDA7B50CD1C33F97FEFD075CED236D8B789BC5C4020CB3CE6055463524FA2E14B17AFCE035EC6AFAE89975C0B9DE88BC4E5AC8ADCD35F19AA6B66F808E9C003919C72FC5C312E93EABB103CFBE4FA130000FFFF0300504B030414000600080000002100A76734B792000000C00000000F000000786C2F776F726B626F6F6B2E62696E6A66646860346040034C407E05430E0323903681922C60B62983018329C34C461E0DA0B0D35390020686764686798CB21F80AC4C20BE6AC9C0E025CF + m.lcFileBinary = m.lcFileBinary + 0hC0100132050A2A3A1819FA1919E630AA800440BA40C615317832A4301832B001D9C10C190CA9405802E44F606498CB2825FB9A11AC320528FB67E5C74BBE4901F6209D590CB31819196603710B2303000000FFFF0300504B030414000600080000002100F98F44D4E0000000CA0100000D000000786C2F7374796C65732E62696EA4904F4B424114C57FBEB9E8F6B9EB1BB410FF1104EE8C5CA608F60514438522100DFA16ADEAC3E52E15FCB3D255923CCFBC47E2D26860CE9C7BCF993B73EF7BC097590AC85D4E846F9E0690F127444146784B9B470674180AA7C6A7993CE46BDEE3AA1E89DC8D402B8EFE00F95A56EEFF569918B3A491C295CAA58E1F38 + m.lcFileBinary = m.lcFileBinary + 0h8FCD8D4D72BD189EB61086B03516BFDAB1AC88D796C62AD14A175ED36B515A6783670DEB291EDCDAF876E6D59DE3C7353DCB6ADF4BED68B00FB418F11AB3BAA2AE863CD6DD4AEC6A2A7A51B5D189EB4EB91E7DE5CA5CB3777C041C000000FFFF0300504B030414000600080000002100E9A625B882060000531B000013000000786C2F7468656D652F7468656D65312E786D6CEC594F6FDB3614BF0FD87720746F6D27B61B07758AD8B19BAD4D1BC46E871E6999965853A240D2497D1BDAE38001C3BA619701BBED306C2BD002BB749F265B87AD03FA15F6484AB218CB4BD2061BD6D58744227F7CFFDFE32375F5DA8388A1432224E571DBAB5DAE7A88C43E + m.lcFileBinary = m.lcFileBinary + 0h1FD338687B7786FD4B1B1E920AC763CC784CDADE9C48EFDAD6FBEF5DC59B2A241141B03E969BB8ED854A259B958AF46118CBCB3C2131CC4DB888B082571154C6021F01DD8855D6AAD56625C234F6508C23207B7B32A13E41434DD2DBCA88F718BCC64AEA019F8981264D9C15063B9ED63442CE659709748859DB033E637E34240F948718960A26DA5ED5FCBCCAD6D50ADE4C1731B5626D615DDFFCD275E982F174CDF014C128675AEBD75B577672FA06C0D432AED7EB757BB59C9E0160DF074DAD2C459AF5FE46AD93D12C80ECE332ED6EB551ADBBF802FDF525995B9D4EA7D14A65B1440DC83ED697F01BD5667D7BCDC11B90C53796F0F5CE76B7DB74F006 + m.lcFileBinary = m.lcFileBinary + 0h64F1CD257CFF4AAB5977F10614321A4F97D0DAA1FD7E4A3D874C38DB2D856F007CA39AC2172888863CBA348B098FD5AA588BF07D2EFA00D04086158D919A2764827D88E22E8E468262CD006F125C98B143BE5C1AD2BC90F4054D54DBFB30C190110B7AAF9E7FFFEAF953F4EAF993E387CF8E1FFE74FCE8D1F1C31F2D2D67E12E8E83E2C297DF7EF6E7D71FA33F9E7EF3F2F117E57859C4FFFAC327BFFCFC793910326821D18B2F9FFCF6ECC98BAF3EFDFDBBC725F06D814745F8904644A25BE4081DF0087433867125272371BE15C3105367050E817609E99E0A1DE0AD396665B80E718D775740F128035E9FDD77641D8462A66809E71B61E400F738671D2E + m.lcFileBinary = m.lcFileBinary + 0h4A0D7043F32A5878388B8372E66256C41D607C58C6BB8B63C7B5BD590255330B4AC7F6DD903862EE331C2B1C909828A4E7F8949012EDEE51EAD8758FFA824B3E51E81E451D4C4B4D32A4232790168B7669047E9997E90CAE766CB3771775382BD37A871CBA484808CC4A841F12E698F13A9E291C95911CE288150D7E13ABB04CC8C15CF8455C4F2AF074401847BD3191B26CCD6D01FA169C7E0343BD2A75FB1E9B472E52283A2DA37913735E44EEF06937C45152861DD0382C623F905308518CF6B92A83EF713743F43BF801C72BDD7D9712C7DDA717823B3470445A04889E9909ED4B28D44EFD8D68FC77C59851A8C63606DE15E3B6B70D5B53594AEC9E28 + m.lcFileBinary = m.lcFileBinary + 0hC1AB70FFC1C2BB8367F13E81585FDE78DED5DD7775D77BEBEBEEAA5C3E6BB55D1458A8BDBA79B07DB1E992A3954DF28432365073466E4AD3274BD82CC67D18D4EBCC0191E487A62484C7B4B83BB84060B30609AE3EA22A1C8438811EBBE66922814C490712255CC2D9CE0C97D2D678E8D3953D1936F499C1D60389D51E1FDBE1753D9C1D0D723266CB09CCF93363B4AE099C95D9FA959428A8FD3ACC6A5AA83373AB19D14CA973B8E52A830F975583C1DC9AD08520E85DC0CA4D38A26BD67036C18C8CB5DDED069CB9C578E1225D24433C26A98FB4DECB3EAA192765B1622E0320764A7CA4CF79A758ADC0ADA5C9BE01B7B338A9C8AEBE825DE6BD37F15216 + m.lcFileBinary = m.lcFileBinary + 0hC10B2FE9BC3D918E2C2E26278BD151DB6B35D61A1EF271D2F62670AC85C72801AF4BDDF86116C0DD90AF840DFB5393D964F9C29BAD4C3137096A705361EDBEA4B053071221D50E96A10D0D339586008B35272BFF5A03CC7A510AD8487F0D29D6372018FE3529C08EAE6BC964427C5574766144DBCEBEA6A594CF141183707C84466C260E30B85F872AE833A6126E274C45D02F7095A6AD6DA6DCE29C265DF102CBE0EC38664988D372AB5334CB640B37799CCB60DE0AE2816EA5B21BE5CEAF8A49F90B52A518C6FF3355F47E02D705EB63ED011F6E7205463A5FDB1E172AE450859290FA7D018D83A91D102D701D0BD31054709F6CFE0B72A8FFDB9CB3344C + m.lcFileBinary = m.lcFileBinary + 0h5AC3A94F1DD000090AFB910A0521FB50964CF49D42AC96EE5D96244B0999882A882B132BF6881C1236D435B0A9F7760F8510EAA69AA465C0E04EC69FFB9E66D028D04D4E31DF9C1A92EFBD3607FEE9CEC7263328E5D661D3D064F6CF452CD955ED7AB33CDB7B8B8AE889459B55CFB2029815B682569AF6AF29C239B75A5BB196345E6B64C28117973586C1BC214AE0D207E93FB0FF51E133FB71426FA8437E00B515C1B7064D0CC206A2FA926D3C902E907670048D931DB4C1A44959D3A6AD93B65AB6595F70A79BF33D616C2DD959FC7D4E63E7CD99CBCEC9C58B34766A61C7D6766CA5A9C1B32753148626D941C638C67CD52A7E78E2A3FBE0E81DB8E29F + m.lcFileBinary = m.lcFileBinary + 0h31254D30C1672581A1F51C983C80E4B71CCDD2ADBF000000FFFF0300504B030414000600080000002100A1512698C10000001C01000023000000786C2F776F726B7368656574732F5F72656C732F7368656574312E62696E2E72656C736CCFC16AC3300C06E0FBA0EF60745F9CF430C68853D861906BE91E40B395C434968D654AF2F6F56DEDD8F197F83FA1FEB48555DD288B8F6CA06B5A50C4363ACFB381EFCBD7EB3B2829C80ED7C864602781D37078E9CFB462A925597C12551516034B29E9436BB10B05942626E2BA99620E586ACCB34E68AF38933EB6ED9BCE8F060C4FA61A9D813CBA0ED4654FF5F21F3B789BA3C4A93436061DA7C9DBFF54BDAD9F + m.lcFileBinary = m.lcFileBinary + 0h9E31EF233BDAAA8579A662E0E777D83535801E7AFDF4D370070000FFFF0300504B030414000600080000002100A273D38D810000001601000018000000786C2F776F726B7368656574732F7368656574312E62696E6A646498CC287E928589C181010CFE430188338551002C8644B432327432CADD61461202EB4C411298C1A882220F946244928631BB1819DA18199E32F3806CE460D001AB99C8C8308991613A8B134415480C9B5E9819301A5D0D887F97994980E10EB3411A183CB387D1103D2FEC61B431185CB687D14D8C0C00000000FFFF0300504B0304140006000800000021001E06781015000000200000001E000000786C2F776F726B73686565 + m.lcFileBinary = m.lcFileBinary + 0h74732F62696E617279496E646578312E62696ED29260000205108106A632310011000000FFFF0300504B0304140006000800000021004B7C9F083E0100005102000011000801646F6350726F70732F636F72652E786D6C20A2040128A0000100000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 + m.lcFileBinary = m.lcFileBinary + 0h0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000007C925F4BC33014C5DF05BF43C97B9B74835943DB81CA9E1C085614DF4272D7159B3F24D16EDFDEB4DD6A0743C84BEE39F7774F2EC9D707D9463F605DA35581D284A00814D7A2517581DEAA4D9CA1C879A6046BB582021DC1A175797B937343B9B6F062B501EB1B7051202947B929D0DE7B4331767C0F92B92438541077DA4AE6C3D5D6D830FEC56AC00B42565882678279867B606C26223A21059F90E6DBB6 + m.lcFileBinary = m.lcFileBinary + 0h0340700C2D4850DEE13449F19FD78395EE6AC3A0CC9CB2F14713DE748A3B670B3E8A93FBE09AC9D8755DD22D8718217F8A3FB6CFAFC353E346F5BBE280CA5C70CA2D30AF6D99E3F9252CAE65CE6FC38E770D888763D0AFD4041FE28E1010510840C7B867E57DF9F8546D50D9EF3026F771BAAA08A1C3F9EC475EF4F781C6823C0DFE9F98F54472572D085D66946433E21930E6BEFC04E52F000000FFFF0300504B0304140006000800000021006F7E771280010000FE02000010000801646F6350726F70732F6170702E786D6C20A2040128A00001000000000000000000000000000000000000000000000000000000000000000000000000000000000000 + m.lcFileBinary = m.lcFileBinary + 0h000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000009C92416BE3301085EF85FD0F46F7464E589625C82AA569E9614B0349B367551EC7228A64345393F4D7 + m.lcFileBinary = m.lcFileBinary + 0h776C93C6D9EDA93A8DE63D9E3E8DA46E0E7B9FB590D0C55088E9241719041B4B17B68578593F5CFF16199209A5F13140218E80E246FFB852CB141B48E400338E0858889AA8994B89B686BDC109CB81952AA6BD21DEA6AD8C55E52C2CA27DDB432039CBF35F120E04A184F2BAF90C1443E2BCA5EF8696D1767CB8591F1B06D6EAB669BCB386F896FAC9D914315694DD1F2C7825C7A262BA15D8B7E4E8A87325C75BB5B2C6C31D07EBCA780425CF0DF508A61BDAD2B8845AB5346FC1524C19BA771EDB4C64AF06A1C329446B92338118ABB30D9BBEF60D52D27F63DA610D40A8241B86665F8EBDE3DAFDD4D3DEC0C5A5B10B184058B8445C3BF280CFD5D224FA + m.lcFileBinary = m.lcFileBinary + 0h82783A26EE1906DE0167D5F10D678EF9FA2BF349FF64FF7161872FCD3A2E0CC16976974DB5AA4D8292C77DD2CF0DF5C8634BBE0BB9AB4DD84279F2FC2F742FBD19BEB39ECE2639AFFE814F3D25CF1F577F000000FFFF0300504B01022D0014000600080000002100558086C16D010000020400001300000000000000000000000000000000005B436F6E74656E745F54797065735D2E786D6C504B01022D00140006000800000021004382E3C5F70000004C0200000B000000000000000000000000007B0300005F72656C732F2E72656C73504B01022D001400060008000000210006332055E50000002D0200001A00000000000000000000000000690600 + m.lcFileBinary = m.lcFileBinary + 0h00786C2F5F72656C732F776F726B626F6F6B2E62696E2E72656C73504B01022D0014000600080000002100A76734B792000000C00000000F000000000000000000000000008E080000786C2F776F726B626F6F6B2E62696E504B01022D0014000600080000002100F98F44D4E0000000CA0100000D000000000000000000000000004D090000786C2F7374796C65732E62696E504B01022D0014000600080000002100E9A625B882060000531B00001300000000000000000000000000580A0000786C2F7468656D652F7468656D65312E786D6C504B01022D0014000600080000002100A1512698C10000001C01000023000000000000000000000000000B + m.lcFileBinary = m.lcFileBinary + 0h110000786C2F776F726B7368656574732F5F72656C732F7368656574312E62696E2E72656C73504B01022D0014000600080000002100A273D38D810000001601000018000000000000000000000000000D120000786C2F776F726B7368656574732F7368656574312E62696E504B01022D00140006000800000021001E06781015000000200000001E00000000000000000000000000C4120000786C2F776F726B7368656574732F62696E617279496E646578312E62696E504B01022D00140006000800000021004B7C9F083E01000051020000110000000000000000000000000015130000646F6350726F70732F636F72652E786D6C504B01022D001400 + m.lcFileBinary = m.lcFileBinary + 0h06000800000021006F7E771280010000FE02000010000000000000000000000000008A150000646F6350726F70732F6170702E786D6C504B0506000000000B000B00DB020000401800000000 + CASE m.lcExcelFileExtension = "XLSM" + m.lcFileBinary = 0h504B03041400060008000000210038088E4F60010000F20300001300DB015B436F6E74656E745F54797065735D2E786D6C20A2D70128A00002000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 + m.lcFileBinary = m.lcFileBinary + 0h000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 + m.lcFileBinary = m.lcFileBinary + 0h0000000000000000000000000000A4934D6EC2301085F7957A87C8DB2A31745155158105A5CB96053D80B127C4C27FF2181A6EDF495290401481D838B2A279DFBC37E3D1A4B126DB4244ED5DC986C58065E0A457DAAD4AF6BDF8C85F59864938258C7750B21D209B8C1F1F468B5D00CCA8DA61C9EA94C21BE7286BB0020B1FC0D19FCA472B125DE38A0721D76205FC793078E1D2BB042EE5A9D560E3D1173510B5826C2E62FA149638BC313C911AF4E7B0203D964DFBC2965D321182D15224EA9C6F9D3AA1E6BEAAB404E5E5C612ABE8C49E5A15FE2F10D3CE00DE8DC2104128AC019235452FBA27BF4325362665B38612E8438F60F0366B7F611654D9D9C7 + m.lcFileBinary = m.lcFileBinary + 0h5A07BC40B89CDDE54C7E7C5C2FBD5F5F918AC51C1A0964B9B55E5821A39F39B134A0E8A2DDBEC373E3A639CDA30FC869AA57A08E37EC74D6D086AB40E5812421260D8774CEB169D55A975DD7C8BBCFFDFB76BC0407FDAB32903EC2ED21ECB7A2AD3EE39C772F76FC0B0000FFFF0300504B030414000600080000002100B5553023F50000004C0200000B00CE015F72656C732F2E72656C7320A2CA0128A000020000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 + m.lcFileBinary = m.lcFileBinary + 0h000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 + m.lcFileBinary = m.lcFileBinary + 0h00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000008C92CF4EC3300CC6EF48BC43E4FBEA6E4808A1A5BB4C48BB21541EC024EE1FB58DA32440F7F68403824A63DBD1F6E7CF3F5BDEEEE669541F1C622F4EC3BA2841B133627BD76A78AD9F560FA06222676914C71A8E1C6157DDDE6C5F78A4949B62D7FBA8B28B8B1ABA94FC2362341D4F140BF1EC72A5913051CA6168D19319A865DC94E53D86BF1E502D3CD5C16A08077B07AA3EFA3CF9B2 + m.lcFileBinary = m.lcFileBinary + 0hB7344D6F782FE67D62974E8C409E133BCB76E543660BA9CFDBA89A42CB498315F39CD311C9FB2263039E26DA5C4FF4FFB63871224B89D048E0F33CDF8A7340EBEB812E9F68A9F8BDCE3CE2A784E14D64F861C1C50F545F000000FFFF0300504B0304140006000800000021008D87DA70E00000002D0200001A000801786C2F5F72656C732F776F726B626F6F6B2E786D6C2E72656C7320A2040128A0000100000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 + m.lcFileBinary = m.lcFileBinary + 0h000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000AC91CB6AC3301045F785FE83987D3D760AA594C8D99442B6C5FD00218F1FC496846692D67F5FE182DD404836D908AE06DD73246D773FE3A04E14B9F74E4391E5A0C8595FF7AED5F0557D3CBD826231AE368377A46122865DF9F8B0FDA4C1483A + m.lcFileBinary = m.lcFileBinary + 0hC45D1F58A516C71A3A91F086C8B6A3D170E603B934697C1C8DA4185B0CC61E4C4BB8C9F3178CFF3BA03CEB54FB5A43DCD7CFA0AA2924F2ED6EDF34BDA5776F8F2339B98040966948175095892D8986BF9C2547C0CBF8CD3DF1929E8556FA1C715E8B6B0EC53D1DBE7D3C704724ABC7B2C5384F16193CFBE4F2170000FFFF0300504B030414000600080000002100A460FAFF52010000270200000F000000786C2F776F726B626F6F6B2E786D6C8C915D6FC2201486EF97EC3F10EE272DA9CE185B93655BE6CD6232A7D7AC9C5A228506A8D57FBF534CE776B72BCE073CE7BC2FCBD5B9D1E404CE2B6B729A4E124AC094562A73C8E9E7F6F5614E890FC248A1 + m.lcFileBinary = m.lcFileBinary + 0hAD819C5EC0D355717FB7ECAD3B7E597B2408303EA77508ED82315FD6D0083FB12D18EC54D6352260EA0ECCB70E84F435406834E34932638D50865E090BF71F86AD2A55C2B32DBB064CB8421C6811707D5FABD6D36259290DBBAB2222DAF65D34B8F75953A2850F2F52059039CD30B53DFC29B8AE7DEA941EBAD3644A59F12372E3085203B88D5327515ED0294A2454A2D3618B82C77958E719E7B3E1ED60CE4E41EF6F982125E7BD32D2F639E5199A7D19B31427923EB6F64A861A51D9FC567B0375A8434EE7499A0C74F60B1F2DC531F12426EAFD186CC625636D8D9230760B85815BCB3412C667A5D0250A1C8E78914F1F7954CFC63F2EBE010000FFFF03 + m.lcFileBinary = m.lcFileBinary + 0h00504B030414000600080000002100A083C4AEA3010000640300000D000000786C2F7374796C65732E786D6CA453C16ADC3010BD17F20F42F746BB0B0D6DB19D436121909440B6D0AB6CC95EC16864A4F1B2EED767643BDEDD530EBD584F4F336F9E66E4E2F1EC419C6C4C2E6029B7F71B292C36C138EC4AF9E7B0FFFA5D8A441A8D8680B694A34DF2B1BAFB52241AC1BE1DAD25C112984A7924EA7F2A959AA3F53ADD87DE229FB4217A4DBC8D9D4A7DB4DAA49CE441ED369B07E5B54359156D404AA2090312BB5888AA48FFC44903335BA9AAA20910A2209667231383DADB39E29706574797C35AED1D8C33BDCBC4E46889F30E43CCA4CA25972571920358 + m.lcFileBinary = m.lcFileBinary + 0h0DECB20126AAA2D74436E29E3762C187B1E7F2C8DD9865A6B84FA2BBA8C7EDEEDB55829A0A56451DA2E1EE5F5F7DA6AA026C4B6C34BAEE98570A3D7FEB40143C03E37417500343F591B100BE4E6301DEF284FEB637DAE756E0E0F79E9E4C2979D6B9091F902FB2C0596FDE64FD6BB559FBBF65C5B9BDD567C52BDB37A6D7F222CFBB94BFF39302B94A887A70400E6F05A7EBB3A6395F5AB0C913205DF3CBCDCD59AB70278C6DF50074580F4B79C12FD6B8C1FF58A35EDD29D02451CA0B7ECE93DA3E4C534EEBEF51BD030000FFFF0300504B030414000600080000002100E9A625B882060000531B000013000000786C2F7468656D652F7468656D65312E78 + m.lcFileBinary = m.lcFileBinary + 0h6D6CEC594F6FDB3614BF0FD87720746F6D27B61B07758AD8B19BAD4D1BC46E871E6999965853A240D2497D1BDAE38001C3BA619701BBED306C2BD002BB749F265B87AD03FA15F6484AB218CB4BD2061BD6D58744227F7CFFDFE32375F5DA8388A1432224E571DBAB5DAE7A88C43E1FD338687B7786FD4B1B1E920AC763CC784CDADE9C48EFDAD6FBEF5DC59B2A241141B03E969BB8ED854A259B958AF46118CBCB3C2131CC4DB888B082571154C6021F01DD8855D6AAD56625C234F6508C23207B7B32A13E41434DD2DBCA88F718BCC64AEA019F8981264D9C15063B9ED63442CE659709748859DB033E637E34240F948718960A26DA5ED5FCBCCAD6D50ADE + m.lcFileBinary = m.lcFileBinary + 0h4C1731B5626D615DDFFCD275E982F174CDF014C128675AEBD75B577672FA06C0D432AED7EB757BB59C9E0160DF074DAD2C459AF5FE46AD93D12C80ECE332ED6EB551ADBBF802FDF525995B9D4EA7D14A65B1440DC83ED697F01BD5667D7BCDC11B90C53796F0F5CE76B7DB74F00664F1CD257CFF4AAB5977F10614321A4F97D0DAA1FD7E4A3D874C38DB2D856F007CA39AC2172888863CBA348B098FD5AA588BF07D2EFA00D04086158D919A2764827D88E22E8E468262CD006F125C98B143BE5C1AD2BC90F4054D54DBFB30C190110B7AAF9E7FFFEAF953F4EAF993E387CF8E1FFE74FCE8D1F1C31F2D2D67E12E8E83E2C297DF7EF6E7D71FA33F9E7EF3F2 + m.lcFileBinary = m.lcFileBinary + 0hF117E57859C4FFFAC327BFFCFC793910326821D18B2F9FFCF6ECC98BAF3EFDFDBBC725F06D814745F8904644A25BE4081DF0087433867125272371BE15C3105367050E817609E99E0A1DE0AD396665B80E718D775740F128035E9FDD77641D8462A66809E71B61E400F738671D2E4A0D7043F32A5878388B8372E66256C41D607C58C6BB8B63C7B5BD590255330B4AC7F6DD903862EE331C2B1C909828A4E7F8949012EDEE51EAD8758FFA824B3E51E81E451D4C4B4D32A4232790168B7669047E9997E90CAE766CB3771775382BD37A871CBA484808CC4A841F12E698F13A9E291C95911CE288150D7E13ABB04CC8C15CF8455C4F2AF074401847BD3191B2 + m.lcFileBinary = m.lcFileBinary + 0h6CCD6D01FA169C7E0343BD2A75FB1E9B472E52283A2DA37913735E44EEF06937C45152861DD0382C623F905308518CF6B92A83EF713743F43BF801C72BDD7D9712C7DDA717823B3470445A04889E9909ED4B28D44EFD8D68FC77C59851A8C63606DE15E3B6B70D5B53594AEC9E28C1AB70FFC1C2BB8367F13E81585FDE78DED5DD7775D77BEBEBEEAA5C3E6BB55D1458A8BDBA79B07DB1E992A3954DF28432365073466E4AD3274BD82CC67D18D4EBCC0191E487A62484C7B4B83BB84060B30609AE3EA22A1C8438811EBBE66922814C490712255CC2D9CE0C97D2D678E8D3953D1936F499C1D60389D51E1FDBE1753D9C1D0D723266CB09CCF93363B4AE09 + m.lcFileBinary = m.lcFileBinary + 0h9C95D9FA959428A8FD3ACC6A5AA83373AB19D14CA973B8E52A830F975583C1DC9AD08520E85DC0CA4D38A26BD67036C18C8CB5DDED069CB9C578E1225D24433C26A98FB4DECB3EAA192765B1622E0320764A7CA4CF79A758ADC0ADA5C9BE01B7B338A9C8AEBE825DE6BD37F15216C10B2FE9BC3D918E2C2E26278BD151DB6B35D61A1EF271D2F62670AC85C72801AF4BDDF86116C0DD90AF840DFB5393D964F9C29BAD4C3137096A705361EDBEA4B053071221D50E96A10D0D339586008B35272BFF5A03CC7A510AD8487F0D29D6372018FE3529C08EAE6BC964427C5574766144DBCEBEA6A594CF141183707C84466C260E30B85F872AE833A6126E274C45 + m.lcFileBinary = m.lcFileBinary + 0hD02F7095A6AD6DA6DCE29C265DF102CBE0EC38664988D372AB5334CB640B37799CCB60DE0AE2816EA5B21BE5CEAF8A49F90B52A518C6FF3355F47E02D705EB63ED011F6E7205463A5FDB1E172AE450859290FA7D018D83A91D102D701D0BD31054709F6CFE0B72A8FFDB9CB3344C5AC3A94F1DD000090AFB910A0521FB50964CF49D42AC96EE5D96244B0999882A882B132BF6881C1236D435B0A9F7760F8510EAA69AA465C0E04EC69FFB9E66D028D04D4E31DF9C1A92EFBD3607FEE9CEC7263328E5D661D3D064F6CF452CD955ED7AB33CDB7B8B8AE889459B55CFB2029815B682569AF6AF29C239B75A5BB196345E6B64C28117973586C1BC214AE0D207 + m.lcFileBinary = m.lcFileBinary + 0hE93FB0FF51E133FB71426FA8437E00B515C1B7064D0CC206A2FA926D3C902E907670048D931DB4C1A44959D3A6AD93B65AB6595F70A79BF33D616C2DD959FC7D4E63E7CD99CBCEC9C58B34766A61C7D6766CA5A9C1B32753148626D941C638C67CD52A7E78E2A3FBE0E81DB8E29F31254D30C1672581A1F51C983C80E4B71CCDD2ADBF000000FFFF0300504B030414000600080000002100075F38D31E010000C701000018000000786C2F776F726B7368656574732F7368656574312E786D6C8C514D6BC3300CBD0FF61F8CEE8BD38D6EA324298352B6C360ECEBEE2472626A5BC156D7EDDFCF496819F4B29B3EDE7BD2938AF5B7B3E20B4334E44B586439 + m.lcFileBinary = m.lcFileBinary + 0h08F40DB5C677257CBC6FAFEE414456BE55963C96F08311D6D5E54571A0B08B3D228BA4E063093DF3B09232363D3A15331AD0A78EA6E014A73474320E01553B919C95D7797E2B9D321E668555F88F06696D1ADC50B377E87916096815A7FD636F860855D19AD41B0D8980BA848705C8AA98C67E1A3CC43FB16055BFA1C586B14DEE418CAE6AA2DD087C4AA57CA4CA33EE7672F512448B5AED2DBFD2E1114DD77312599EA66D14AB441F5487CF2A74C6476151274C9EDD8108337E8A9986A9BA04511333B963D6A783613A4C9EDD80D0447C4CC6B54E2FA87E010000FFFF0300504B0304140006000800000021000ACFE8CF3F0100005102000011000801646F + m.lcFileBinary = m.lcFileBinary + 0h6350726F70732F636F72652E786D6C20A2040128A0000100000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 + m.lcFileBinary = m.lcFileBinary + 0h0000000000000000000000000000000000000000000000007C92CB6AC3301045F785FE83D1DE969C904785ED405BB26AA0509794EE8434494CAD07925A277F5FD94E5C0742411BCDBD73E66A50B63ACA3AFA01EB2AAD7294260445A0B81695DAE7E8BD5CC74B1439CF9460B55690A31338B42AEEEF326E28D7165EAD36607D052E0A24E52837393A786F28C68E1F40329704870AE24E5BC97CB8DA3D368C7FB13DE00921732CC133C13CC32D303603119D91820F48F36DEB0E2038861A2428EF709AA4F8CFEBC14A77B3A153464E59F993096F3AC71DB305EFC5C17D74D5606C9A2669A65D8C903FC51F9B97B7EEA971A5DA5D7140452638E51698D7B6C8F0 + m.lcFileBinary = m.lcFileBinary + 0hF812165733E73761C7BB0AC4E329E8376A8277717B08882804A07DDC8BB29D3E3D976B54B43B8CC9439CCE4B4268773EDB9157FD6DA0BE20CF83FF272E5B2259941342A70B3A9B8D8817409FFBFA1314BF000000FFFF0300504B0304140006000800000021006F7E771280010000FE02000010000801646F6350726F70732F6170702E786D6C20A2040128A000010000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 + m.lcFileBinary = m.lcFileBinary + 0h00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000009C92416BE3301085EF85FD0F46F7464E589625C82AA569E9614B0349B367551EC7228A64345393F4D7776C93C6D9EDA93A8DE63D9E3E8DA46E0E7B9FB590D0C55088E9241719041B4B17B68578593F5CFF16199209A5F13140218E80E246FFB852CB141B48E400338E0858889AA8994B + m.lcFileBinary = m.lcFileBinary + 0h89B686BDC109CB81952AA6BD21DEA6AD8C55E52C2CA27DDB432039CBF35F120E04A184F2BAF90C1443E2BCA5EF8696D1767CB8591F1B06D6EAB669BCB386F896FAC9D914315694DD1F2C7825C7A262BA15D8B7E4E8A87325C75BB5B2C6C31D07EBCA780425CF0DF508A61BDAD2B8845AB5346FC1524C19BA771EDB4C64AF06A1C329446B92338118ABB30D9BBEF60D52D27F63DA610D40A8241B86665F8EBDE3DAFDD4D3DEC0C5A5B10B184058B8445C3BF280CFD5D224FA82783A26EE1906DE0167D5F10D678EF9FA2BF349FF64FF7161872FCD3A2E0CC16976974DB5AA4D8292C77DD2CF0DF5C8634BBE0BB9AB4DD84279F2FC2F742FBD19BEB39ECE2639 + m.lcFileBinary = m.lcFileBinary + 0hAFFE814F3D25CF1F577F000000FFFF0300504B01022D001400060008000000210038088E4F60010000F20300001300000000000000000000000000000000005B436F6E74656E745F54797065735D2E786D6C504B01022D0014000600080000002100B5553023F50000004C0200000B000000000000000000000000006C0300005F72656C732F2E72656C73504B01022D00140006000800000021008D87DA70E00000002D0200001A0000000000000000000000000058060000786C2F5F72656C732F776F726B626F6F6B2E786D6C2E72656C73504B01022D0014000600080000002100A460FAFF52010000270200000F000000000000000000000000007808 + m.lcFileBinary = m.lcFileBinary + 0h0000786C2F776F726B626F6F6B2E786D6C504B01022D0014000600080000002100A083C4AEA3010000640300000D00000000000000000000000000F7090000786C2F7374796C65732E786D6C504B01022D0014000600080000002100E9A625B882060000531B00001300000000000000000000000000C50B0000786C2F7468656D652F7468656D65312E786D6C504B01022D0014000600080000002100075F38D31E010000C7010000180000000000000000000000000078120000786C2F776F726B7368656574732F7368656574312E786D6C504B01022D00140006000800000021000ACFE8CF3F010000510200001100000000000000000000000000CC13 + m.lcFileBinary = m.lcFileBinary + 0h0000646F6350726F70732F636F72652E786D6C504B01022D00140006000800000021006F7E771280010000FE020000100000000000000000000000000042160000646F6350726F70732F6170702E786D6C504B050600000000090009003E020000F81800000000 + OTHERWISE && XLS + m.lcFileBinary = 0hD0CF11E0A1B11AE1000000000000000000000000000000003E000300FEFF0900060000000000000000000000010000000100000000000000001000001A00000001000000FEFFFFFF0000000000000000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF + m.lcFileBinary = m.lcFileBinary + 0hFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF + m.lcFileBinary = m.lcFileBinary + 0hFFFFFDFFFFFF1C000000030000000400000005000000060000000700000008000000090000000A0000000B0000000C0000000D0000000E0000000F00000010000000110000001200000013000000140000001500000016000000170000001800000019000000FEFFFFFFFEFFFFFF1D000000FEFFFFFFFEFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF + m.lcFileBinary = m.lcFileBinary + 0hFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF + m.lcFileBinary = m.lcFileBinary + 0hFFFFFFFF52006F006F007400200045006E00740072007900000000000000000000000000000000000000000000000000000000000000000000000000000000000000000016000500FFFFFFFFFFFFFFFF020000002008020000000000C00000000000004600000000000000000000000030C843AA2911C9011B000000800200000000000057006F0072006B0062006F006F006B000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001200020104000000FFFFFFFFFFFFFFFF00000000000000000000000000000000000000000000000000000000000000000000000002000000892F00 + m.lcFileBinary = m.lcFileBinary + 0h00000000000500530075006D006D0061007200790049006E0066006F0072006D006100740069006F006E000000000000000000000000000000000000000000000000000000280002010100000003000000FFFFFFFF00000000000000000000000000000000000000000000000000000000000000000000000000000000C800000000000000050044006F00630075006D0065006E007400530075006D006D0061007200790049006E0066006F0072006D006100740069006F006E000000000000000000000038000201FFFFFFFFFFFFFFFFFFFFFFFF00000000000000000000000000000000000000000000000000000000000000000000000004000000E000 + m.lcFileBinary = m.lcFileBinary + 0h0000000000000908100000060500A91FCD07C100010006040000E1000200B004C10002000000E20000005C0070000200002020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202042000200B004610102000000C00100003D01020001009C0002001000190002000000120002000000130002000000AF0102000000BC01020000003D001200F0006900D5394A1F380000000000010058024000020000008D00020000002200020000 + m.lcFileBinary = m.lcFileBinary + 0h000E0002000100B70102000000DA000200000031001E00DC000000080090010000000200AA0701430061006C00690062007200690031001E00DC000000080090010000000200AA0701430061006C00690062007200690031001E00DC000000080090010000000200AA0701430061006C00690062007200690031001E00DC000000080090010000000200AA0701430061006C00690062007200690031001E00DC000000080090010000000200AA0701430061006C00690062007200690031001E00680101003800BC020000000200AA0701430061006D00620072006900610031001E002C0101003800BC020000000200AA0701430061006C00690062007200 + m.lcFileBinary = m.lcFileBinary + 0h690031001E00040101003800BC020000000200AA0701430061006C00690062007200690031001E00DC0001003800BC020000000200AA0701430061006C00690062007200690031001E00DC000000110090010000000200AA0701430061006C00690062007200690031001E00DC000000140090010000000200AA0701430061006C00690062007200690031001E00DC0000003C0090010000000200AA0701430061006C00690062007200690031001E00DC0000003E0090010000000200AA0701430061006C00690062007200690031001E00DC0001003F00BC020000000200AA0701430061006C00690062007200690031001E00DC0001003400BC02000000 + m.lcFileBinary = m.lcFileBinary + 0h0200AA0701430061006C00690062007200690031001E00DC000000340090010000000200AA0701430061006C00690062007200690031001E00DC0001000900BC020000000200AA0701430061006C00690062007200690031001E00DC0000000A0090010000000200AA0701430061006C00690062007200690031001E00DC000200170090010000000200AA0701430061006C00690062007200690031001E00DC0001000800BC020000000200AA0701430061006C00690062007200690031001E00DC000000090090010000000200AA0701430061006C0069006200720069001E041C000500170000222422232C2323305F293B5C28222422232C2323305C29 + m.lcFileBinary = m.lcFileBinary + 0h1E04210006001C0000222422232C2323305F293B5B5265645D5C28222422232C2323305C291E04220007001D0000222422232C2323302E30305F293B5C28222422232C2323302E30305C291E0427000800220000222422232C2323302E30305F293B5B5265645D5C28222422232C2323302E30305C291E0437002A003200005F282224222A20232C2323305F293B5F282224222A205C28232C2323305C293B5F282224222A20222D225F293B5F28405F291E042E0029002900005F282A20232C2323305F293B5F282A205C28232C2323305C293B5F282A20222D225F293B5F28405F291E043F002C003A00005F282224222A20232C2323302E30305F293B5F + m.lcFileBinary = m.lcFileBinary + 0h282224222A205C28232C2323302E30305C293B5F282224222A20222D223F3F5F293B5F28405F291E0436002B003100005F282A20232C2323302E30305F293B5F282A205C28232C2323302E30305C293B5F282A20222D223F3F5F293B5F28405F29E000140000000000F5FF200000000000000000000000C020E000140000000000F5FF200000000000000000000000C020E000140000000000F5FF200000000000000000000000C020E000140000000000F5FF200000000000000000000000C020E000140000000000F5FF200000000000000000000000C020E000140000000000F5FF200000000000000000000000C020E000140000000000F5FF20000000 + m.lcFileBinary = m.lcFileBinary + 0h0000000000000000C020E000140000000000F5FF200000000000000000000000C020E000140000000000F5FF200000000000000000000000C020E000140000000000F5FF200000000000000000000000C020E000140000000000F5FF200000000000000000000000C020E000140000000000F5FF200000000000000000000000C020E000140000000000F5FF200000000000000000000000C020E000140000000000F5FF200000000000000000000000C020E000140000000000F5FF200000000000000000000000C020E0001400000000000100200000000000000000000002C020E000140005000000F5FF200000B400000000000000049F20E000140005 + m.lcFileBinary = m.lcFileBinary + 0h000000F5FF200000B40000000000000004AD20E000140005000000F5FF200000B40000000000000004AA20E000140005000000F5FF200000B40000000000000004AE20E000140005000000F5FF200000B400000000000000049B20E000140005000000F5FF200000B40000000000000004AF20E000140005000000F5FF200000B40000000000000004AC20E000140005000000F5FF200000B400000000000000049D20E000140005000000F5FF200000B400000000000000048B20E000140005000000F5FF200000B40000000000000004AE20E000140005000000F5FF200000B40000000000000004AC20E000140005000000F5FF200000B4000000000000 + m.lcFileBinary = m.lcFileBinary + 0h0004B320E000140015000000F5FF200000B400000000000000049E20E000140015000000F5FF200000B400000000000000049D20E000140015000000F5FF200000B400000000000000048B20E000140015000000F5FF200000B40000000000000004A420E000140015000000F5FF200000B40000000000000004B120E000140015000000F5FF200000B40000000000000004B420E000140015000000F5FF200000B40000000000000004BE20E000140015000000F5FF200000B400000000000000048A20E000140015000000F5FF200000B40000000000000004B920E000140015000000F5FF200000B40000000000000004A420E000140015000000F5FF20 + m.lcFileBinary = m.lcFileBinary + 0h0000B40000000000000004B120E000140015000000F5FF200000B40000000000000004B520E00014000B000000F5FF200000B40000000000000004AD20E00014000F000000F5FF200000941111970B970B00049620E000140011000000F5FF200000946666BF1FBF1F0004B720E000140005002B00F5FF200000F80000000000000000C020E000140005002900F5FF200000F80000000000000000C020E000140005002C00F5FF200000F80000000000000000C020E000140005002A00F5FF200000F80000000000000000C020E000140013000000F5FF200000F40000000000000000C020E00014000A000000F5FF200000B40000000000000004AA20E000 + m.lcFileBinary = m.lcFileBinary + 0h140007000000F5FF200000D400500000001F0000C020E000140008000000F5FF200000D400500000000B0000C020E000140009000000F5FF200000D400200000000F0000C020E000140009000000F5FF200000F40000000000000000C020E00014000D000000F5FF200000941111970B970B0004AF20E000140010000000F5FF200000D400600000001A0000C020E00014000C000000F5FF200000B40000000000000004AB20E000140005000000F5FF2000009C1111160B160B00049A20E00014000E000000F5FF200000941111BF1FBF1F00049620E000140005000900F5FF200000F80000000000000000C020E000140006000000F5FF200000F4000000 + m.lcFileBinary = m.lcFileBinary + 0h0000000000C020E000140014000000F5FF200000D4006100003E1F0000C020E000140012000000F5FF200000F40000000000000000C0207C0814007C080000000000000000000000003E00DED9EE787D082D007D080000000000000000000000000000000002000D001400030000000100000030305C293B5F282A0E000500027D082D007D080000000000000000000000000100000002000D001400030000000100000030305C293B5F282A0E000500027D082D007D080000000000000000000000000200000002000D001400030000000100000030305C293B5F282A0E000500027D082D007D080000000000000000000000000300000002000D00140003 + m.lcFileBinary = m.lcFileBinary + 0h0000000100000030305C293B5F282A0E000500027D082D007D080000000000000000000000000400000002000D001400030000000100000030305C293B5F282A0E000500027D082D007D080000000000000000000000000500000002000D001400030000000100000030305C293B5F282A0E000500027D082D007D080000000000000000000000000600000002000D001400030000000100000030305C293B5F282A0E000500027D082D007D080000000000000000000000000700000002000D001400030000000100000030305C293B5F282A0E000500027D082D007D080000000000000000000000000800000002000D001400030000000100000030305C + m.lcFileBinary = m.lcFileBinary + 0h293B5F282A0E000500027D082D007D080000000000000000000000000900000002000D001400030000000100000030305C293B5F282A0E000500027D082D007D080000000000000000000000000A00000002000D001400030000000100000030305C293B5F282A0E000500027D082D007D080000000000000000000000000B00000002000D001400030000000100000030305C293B5F282A0E000500027D082D007D080000000000000000000000000C00000002000D001400030000000100000030305C293B5F282A0E000500027D082D007D080000000000000000000000000D00000002000D001400030000000100000030305C293B5F282A0E00050002 + m.lcFileBinary = m.lcFileBinary + 0h7D082D007D080000000000000000000000000E00000002000D001400030000000100000030305C293B5F282A0E000500027D082D007D080000000000000000000000000F00000002000D001400030000000100000030305C293B5F282A0E000500027D082D007D080000000000000000000000002B00000002000D001400030000000100000030305C293B5F282A0E000500027D082D007D080000000000000000000000002C00000002000D001400030000000100000030305C293B5F282A0E000500027D082D007D080000000000000000000000002D00000002000D001400030000000100000030305C293B5F282A0E000500027D082D007D0800000000 + m.lcFileBinary = m.lcFileBinary + 0h00000000000000002E00000002000D001400030000000100000030305C293B5F282A0E000500027D082D007D080000000000000000000000003A00000002000D001400030000000100000030305C293B5F282A0E000500027D082D007D080000000000000000000000003B00000002000D001400030000000300000030305C293B5F282A0E000500017D0841007D080000000000000000000000003100000003000D001400030000000300000030305C293B5F282A0E000500020800140003000000040000003B5F28405F2920207D0841007D080000000000000000000000003200000003000D001400030000000300000030305C293B5F282A0E00050002 + m.lcFileBinary = m.lcFileBinary + 0h080014000300FF3F040000003B5F28405F2920207D0841007D080000000000000000000000003300000003000D001400030000000300000030305C293B5F282A0E000500020800140003003233040000003B5F28405F2920207D082D007D080000000000000000000000003400000002000D001400030000000300000030305C293B5F282A0E000500027D0841007D080000000000000000000000003000000003000D00140002000000006100FF30305C293B5F282A0E000500020400140002000000C6EFCEFF3B5F28405F2920207D0841007D080000000000000000000000002800000003000D001400020000009C0006FF30305C293B5F282A0E000500 + m.lcFileBinary = m.lcFileBinary + 0h020400140002000000FFC7CEFF3B5F28405F2920207D0841007D080000000000000000000000003700000003000D001400020000009C6500FF30305C293B5F282A0E000500020400140002000000FFEB9CFF3B5F28405F2920207D0891007D080000000000000000000000003500000007000D001400020000003F3F76FF30305C293B5F282A0E000500020400140002000000FFCC99FF3B5F28405F29202007001400020000007F7F7FFF202020202020202008001400020000007F7F7FFF202020202020202009001400020000007F7F7FFF00000000000000000A001400020000007F7F7FFF00000000000000007D0891007D0800000000000000000000 + m.lcFileBinary = m.lcFileBinary + 0h00003900000007000D001400020000003F3F3FFF30305C293B5F282A0E000500020400140002000000F2F2F2FF3B5F28405F29202007001400020000003F3F3FFF202020202020202008001400020000003F3F3FFF202020202020202009001400020000003F3F3FFF00000000000000000A001400020000003F3F3FFF00000000000000007D0891007D080000000000000000000000002900000007000D00140002000000FA7D00FF30305C293B5F282A0E000500020400140002000000F2F2F2FF3B5F28405F29202007001400020000007F7F7FFF202020202020202008001400020000007F7F7FFF202020202020202009001400020000007F7F7FFF00 + m.lcFileBinary = m.lcFileBinary + 0h000000000000000A001400020000007F7F7FFF00000000000000007D0841007D080000000000000000000000003600000003000D00140002000000FA7D00FF30305C293B5F282A0E000500020800140002000000FF8001FF3B5F28405F2920207D0891007D080000000000000000000000002A00000007000D001400030000000000000030305C293B5F282A0E000500020400140002000000A5A5A5FF3B5F28405F29202007001400020000003F3F3FFF202020202020202008001400020000003F3F3FFF202020202020202009001400020000003F3F3FFF00000000000000000A001400020000003F3F3FFF00000000000000007D082D007D0800000000 + m.lcFileBinary = m.lcFileBinary + 0h00000000000000003D00000002000D00140002000000FF0000FF30305C293B5F282A0E000500027D0891007D080000000000000000000000003800000007000D001400030000000100000030305C293B5F282A0E000500020400140002000000FFFFCCFF3B5F28405F2920200700140002000000B2B2B2FF20202020202020200800140002000000B2B2B2FF20202020202020200900140002000000B2B2B2FF00000000000000000A00140002000000B2B2B2FF00000000000000007D082D007D080000000000000000000000002F00000002000D001400020000007F7F7FFF30305C293B5F282A0E000500027D0855007D08000000000000000000000000 + m.lcFileBinary = m.lcFileBinary + 0h3C00000004000D001400030000000100000030305C293B5F282A0E000500020700140003000000040000003B5F28405F29202008001400030000000400000020202020202020207D0841007D080000000000000000000000002200000003000D001400030000000000000030305C293B5F282A0E000500020400140003000000040000003B5F28405F2920207D0841007D080000000000000000000000001000000003000D001400030000000100000030305C293B5F282A0E000500020400140003006566040000003B5F28405F2920207D0841007D080000000000000000000000001600000003000D001400030000000100000030305C293B5F282A0E00 + m.lcFileBinary = m.lcFileBinary + 0h050002040014000300CC4C040000003B5F28405F2920207D0841007D080000000000000000000000001C00000003000D001400030000000000000030305C293B5F282A0E000500020400140003003233040000003B5F28405F2920207D0841007D080000000000000000000000002300000003000D001400030000000000000030305C293B5F282A0E000500020400140003000000050000003B5F28405F2920207D0841007D080000000000000000000000001100000003000D001400030000000100000030305C293B5F282A0E000500020400140003006566050000003B5F28405F2920207D0841007D080000000000000000000000001700000003000D + m.lcFileBinary = m.lcFileBinary + 0h001400030000000100000030305C293B5F282A0E00050002040014000300CC4C050000003B5F28405F2920207D0841007D080000000000000000000000001D00000003000D001400030000000000000030305C293B5F282A0E000500020400140003003233050000003B5F28405F2920207D0841007D080000000000000000000000002400000003000D001400030000000000000030305C293B5F282A0E000500020400140003000000060000003B5F28405F2920207D0841007D080000000000000000000000001200000003000D001400030000000100000030305C293B5F282A0E000500020400140003006566060000003B5F28405F2920207D084100 + m.lcFileBinary = m.lcFileBinary + 0h7D080000000000000000000000001800000003000D001400030000000100000030305C293B5F282A0E00050002040014000300CC4C060000003B5F28405F2920207D0841007D080000000000000000000000001E00000003000D001400030000000000000030305C293B5F282A0E000500020400140003003233060000003B5F28405F2920207D0841007D080000000000000000000000002500000003000D001400030000000000000030305C293B5F282A0E000500020400140003000000070000003B5F28405F2920207D0841007D080000000000000000000000001300000003000D001400030000000100000030305C293B5F282A0E00050002040014 + m.lcFileBinary = m.lcFileBinary + 0h0003006566070000003B5F28405F2920207D0841007D080000000000000000000000001900000003000D001400030000000100000030305C293B5F282A0E00050002040014000300CC4C070000003B5F28405F2920207D0841007D080000000000000000000000001F00000003000D001400030000000000000030305C293B5F282A0E000500020400140003003233070000003B5F28405F2920207D0841007D080000000000000000000000002600000003000D001400030000000000000030305C293B5F282A0E000500020400140003000000080000003B5F28405F2920207D0841007D080000000000000000000000001400000003000D001400030000 + m.lcFileBinary = m.lcFileBinary + 0h000100000030305C293B5F282A0E000500020400140003006566080000003B5F28405F2920207D0841007D080000000000000000000000001A00000003000D001400030000000100000030305C293B5F282A0E00050002040014000300CC4C080000003B5F28405F2920207D0841007D080000000000000000000000002000000003000D001400030000000000000030305C293B5F282A0E000500020400140003003233080000003B5F28405F2920207D0841007D080000000000000000000000002700000003000D001400030000000000000030305C293B5F282A0E000500020400140003000000090000003B5F28405F2920207D0841007D0800000000 + m.lcFileBinary = m.lcFileBinary + 0h00000000000000001500000003000D001400030000000100000030305C293B5F282A0E000500020400140003006566090000003B5F28405F2920207D0841007D080000000000000000000000001B00000003000D001400030000000100000030305C293B5F282A0E00050002040014000300CC4C090000003B5F28405F2920207D0841007D080000000000000000000000002100000003000D001400030000000000000030305C293B5F282A0E000500020400140003003233090000003B5F28405F2920209302120010000D0000323025202D20416363656E743192084D0092080000000000000000000001041EFF0D0032003000250020002D0020004100 + m.lcFileBinary = m.lcFileBinary + 0h6300630065006E00740031000000030001000C0007046566DBE5F1FF05000C0007010000000000FF25000500029302120011000D0000323025202D20416363656E743292084D00920800000000000000000000010422FF0D0032003000250020002D00200041006300630065006E00740032000000030001000C0007056566F2DDDCFF05000C0007010000000000FF25000500029302120012000D0000323025202D20416363656E743392084D00920800000000000000000000010426FF0D0032003000250020002D00200041006300630065006E00740033000000030001000C0007066566EAF1DDFF05000C0007010000000000FF250005000293021200 + m.lcFileBinary = m.lcFileBinary + 0h13000D0000323025202D20416363656E743492084D0092080000000000000000000001042AFF0D0032003000250020002D00200041006300630065006E00740034000000030001000C0007076566E5E0ECFF05000C0007010000000000FF25000500029302120014000D0000323025202D20416363656E743592084D0092080000000000000000000001042EFF0D0032003000250020002D00200041006300630065006E00740035000000030001000C0007086566DBEEF3FF05000C0007010000000000FF25000500029302120015000D0000323025202D20416363656E743692084D00920800000000000000000000010432FF0D0032003000250020002D + m.lcFileBinary = m.lcFileBinary + 0h00200041006300630065006E00740036000000030001000C0007096566FDE9D9FF05000C0007010000000000FF25000500029302120016000D0000343025202D20416363656E743192084D0092080000000000000000000001041FFF0D0034003000250020002D00200041006300630065006E00740031000000030001000C000704CC4CB8CCE4FF05000C0007010000000000FF25000500029302120017000D0000343025202D20416363656E743292084D00920800000000000000000000010423FF0D0034003000250020002D00200041006300630065006E00740032000000030001000C000705CC4CE6B9B8FF05000C0007010000000000FF25000500 + m.lcFileBinary = m.lcFileBinary + 0h029302120018000D0000343025202D20416363656E743392084D00920800000000000000000000010427FF0D0034003000250020002D00200041006300630065006E00740033000000030001000C000706CC4CD7E4BCFF05000C0007010000000000FF25000500029302120019000D0000343025202D20416363656E743492084D0092080000000000000000000001042BFF0D0034003000250020002D00200041006300630065006E00740034000000030001000C000707CC4CCCC0DAFF05000C0007010000000000FF2500050002930212001A000D0000343025202D20416363656E743592084D0092080000000000000000000001042FFF0D0034003000 + m.lcFileBinary = m.lcFileBinary + 0h250020002D00200041006300630065006E00740035000000030001000C000708CC4CB6DDE8FF05000C0007010000000000FF2500050002930212001B000D0000343025202D20416363656E743692084D00920800000000000000000000010433FF0D0034003000250020002D00200041006300630065006E00740036000000030001000C000709CC4CFCD5B4FF05000C0007010000000000FF2500050002930212001C000D0000363025202D20416363656E743192084D00920800000000000000000000010420FF0D0036003000250020002D00200041006300630065006E00740031000000030001000C000704323395B3D7FF05000C0007000000FFFFFF + m.lcFileBinary = m.lcFileBinary + 0hFF2500050002930212001D000D0000363025202D20416363656E743292084D00920800000000000000000000010424FF0D0036003000250020002D00200041006300630065006E00740032000000030001000C0007053233D99795FF05000C0007000000FFFFFFFF2500050002930212001E000D0000363025202D20416363656E743392084D00920800000000000000000000010428FF0D0036003000250020002D00200041006300630065006E00740033000000030001000C0007063233C2D69AFF05000C0007000000FFFFFFFF2500050002930212001F000D0000363025202D20416363656E743492084D0092080000000000000000000001042CFF0D + m.lcFileBinary = m.lcFileBinary + 0h0036003000250020002D00200041006300630065006E00740034000000030001000C0007073233B2A1C7FF05000C0007000000FFFFFFFF25000500029302120020000D0000363025202D20416363656E743592084D00920800000000000000000000010430FF0D0036003000250020002D00200041006300630065006E00740035000000030001000C000708323393CDDDFF05000C0007000000FFFFFFFF25000500029302120021000D0000363025202D20416363656E743692084D00920800000000000000000000010434FF0D0036003000250020002D00200041006300630065006E00740036000000030001000C0007093233FAC090FF05000C000700 + m.lcFileBinary = m.lcFileBinary + 0h0000FFFFFFFF250005000293020C002200070000416363656E74319208410092080000000000000000000001041DFF070041006300630065006E00740031000000030001000C00070400004F81BDFF05000C0007000000FFFFFFFF250005000293020C002300070000416363656E743292084100920800000000000000000000010421FF070041006300630065006E00740032000000030001000C0007050000C0504DFF05000C0007000000FFFFFFFF250005000293020C002400070000416363656E743392084100920800000000000000000000010425FF070041006300630065006E00740033000000030001000C00070600009BBB59FF05000C000700 + m.lcFileBinary = m.lcFileBinary + 0h0000FFFFFFFF250005000293020C002500070000416363656E743492084100920800000000000000000000010429FF070041006300630065006E00740034000000030001000C00070700008064A2FF05000C0007000000FFFFFFFF250005000293020C002600070000416363656E74359208410092080000000000000000000001042DFF070041006300630065006E00740035000000030001000C00070800004BACC6FF05000C0007000000FFFFFFFF250005000293020C002700070000416363656E743692084100920800000000000000000000010431FF070041006300630065006E00740036000000030001000C0007090000F79646FF05000C000700 + m.lcFileBinary = m.lcFileBinary + 0h0000FFFFFFFF25000500029302080028000300004261649208390092080000000000000000000001011BFF03004200610064000000030001000C0005FF0000FFC7CEFF05000C0005FF00009C0006FF25000500029302100029000B000043616C63756C6174696F6E92088100920800000000000000000000010216FF0B00430061006C00630075006C006100740069006F006E000000070001000C0005FF0000F2F2F2FF05000C0005FF0000FA7D00FF250005000206000E0005FF00007F7F7FFF010007000E0005FF00007F7F7FFF010008000E0005FF00007F7F7FFF010009000E0005FF00007F7F7FFF010093020F002A000A0000436865636B2043656C + m.lcFileBinary = m.lcFileBinary + 0h6C92087F00920800000000000000000000010217FF0A0043006800650063006B002000430065006C006C000000070001000C0005FF0000A5A5A5FF05000C0007000000FFFFFFFF250005000206000E0005FF00003F3F3FFF060007000E0005FF00003F3F3FFF060008000E0005FF00003F3F3FFF060009000E0005FF00003F3F3FFF0600930204002B8003FF92082000920800000000000000000000010503FF050043006F006D006D00610000000000930204002C8006FF92082800920800000000000000000000010506FF090043006F006D006D00610020005B0030005D0000000000930204002D8004FF92082600920800000000000000000000010504 + m.lcFileBinary = m.lcFileBinary + 0hFF0800430075007200720065006E006300790000000000930204002E8007FF92082E00920800000000000000000000010507FF0C00430075007200720065006E006300790020005B0030005D0000000000930215002F001000004578706C616E61746F7279205465787492084700920800000000000000000000010235FF10004500780070006C0061006E00610074006F0072007900200054006500780074000000020005000C0005FF00007F7F7FFF2500050002930209003000040000476F6F6492083B0092080000000000000000000001011AFF040047006F006F0064000000030001000C0005FF0000C6EFCEFF05000C0005FF0000006100FF250005 + m.lcFileBinary = m.lcFileBinary + 0h000293020E00310009000048656164696E67203192084700920800000000000000000000010310FF0900480065006100640069006E006700200031000000030005000C00070300001F497DFF250005000207000E00070400004F81BDFF050093020E00320009000048656164696E67203292084700920800000000000000000000010311FF0900480065006100640069006E006700200032000000030005000C00070300001F497DFF250005000207000E000704FF3FA8C0DEFF050093020E00330009000048656164696E67203392084700920800000000000000000000010312FF0900480065006100640069006E006700200033000000030005000C0007 + m.lcFileBinary = m.lcFileBinary + 0h0300001F497DFF250005000207000E000704323395B3D7FF020093020E00340009000048656164696E67203492083900920800000000000000000000010313FF0900480065006100640069006E006700200034000000020005000C00070300001F497DFF250005000293020A003500050000496E70757492087500920800000000000000000000010214FF050049006E007000750074000000070001000C0005FF0000FFCC99FF05000C0005FF00003F3F76FF250005000206000E0005FF00007F7F7FFF010007000E0005FF00007F7F7FFF010008000E0005FF00007F7F7FFF010009000E0005FF00007F7F7FFF01009302100036000B00004C696E6B6564 + m.lcFileBinary = m.lcFileBinary + 0h2043656C6C92084B00920800000000000000000000010218FF0B004C0069006E006B00650064002000430065006C006C000000030005000C0005FF0000FA7D00FF250005000207000E0005FF0000FF8001FF060093020C0037000700004E65757472616C9208410092080000000000000000000001011CFF07004E00650075007400720061006C000000030001000C0005FF0000FFEB9CFF05000C0005FF00009C6500FF250005000293020400008000FF92083300920800000000000000000000010100FF06004E006F0072006D0061006C000000020005000C0007010000000000FF25000500029302090038000400004E6F746592086200920800000000 + m.lcFileBinary = m.lcFileBinary + 0h00000000000001020AFF04004E006F00740065000000050001000C0005FF0000FFFFCCFF06000E0005FF0000B2B2B2FF010007000E0005FF0000B2B2B2FF010008000E0005FF0000B2B2B2FF010009000E0005FF0000B2B2B2FF010093020B0039000600004F757470757492087700920800000000000000000000010215FF06004F00750074007000750074000000070001000C0005FF0000F2F2F2FF05000C0005FF00003F3F3FFF250005000206000E0005FF00003F3F3FFF010007000E0005FF00003F3F3FFF010008000E0005FF00003F3F3FFF010009000E0005FF00003F3F3FFF0100930204003A8005FF9208240092080000000000000000000001 + m.lcFileBinary = m.lcFileBinary + 0h0505FF0700500065007200630065006E0074000000000093020A003B000500005469746C659208310092080000000000000000000001030FFF05005400690074006C0065000000020005000C00070300001F497DFF250005000193020A003C00050000546F74616C92084D00920800000000000000000000010319FF050054006F00740061006C000000040005000C0007010000000000FF250005000206000E00070400004F81BDFF010007000E00070400004F81BDFF0600930211003D000C00005761726E696E67205465787492083F0092080000000000000000000001020BFF0C005700610072006E0069006E00670020005400650078007400000002 + m.lcFileBinary = m.lcFileBinary + 0h0005000C0005FF0000FF0000FF25000500028E0858008E080000000000000000000090000000110011005400610062006C0065005300740079006C0065004D0065006400690075006D0039005000690076006F0074005300740079006C0065004C0069006700680074003100360060010200000085000E00032E0000000006005368656574319A0818009A0800000000000000000000010000000000000001000000A3081000A30800000000000000000000000000008C00040001000100C1010800C10100001DEB0100FC0008000000000000000000FF00020008006308160063080000000000000000000016000000040000000200960810009608000000 + m.lcFileBinary = m.lcFileBinary + 0h0000000000000042E501009B0810009B0800000000000000000000010000008C0810008C0800000000000000000000000000000A0000000908100000061000A91FCD07C1000100060400000B021000000000000000000000000000152F00000D00020001000C00020064000F000200010011000200000010000800FCA9F1D24D62503F5F00020001002A00020000002B00020000008200020001008000080000000000000000002502040000002C0181000200C104140000001500000083000200000084000200000026000800666666666666E63F27000800666666666666E63F28000800000000000000E83F29000800000000000000E83FA10022000000 + m.lcFileBinary = m.lcFileBinary + 0h2C01010001000100040042E50100333333333333D33F333333333333D33F74009C0826009C0800000000000000000000000000000000000000000000000000003C33000000000000000055000200080000020E0000000000000000000000000000003E021200B606000000004000000000000000000000008B0810008B0800000000000000000000000002001D000F0003000000000000010000000000000067081700670800000000000000000000020001FFFFFFFF034400000A0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 + m.lcFileBinary = m.lcFileBinary + 0h000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000010000000200000003000000FEFFFFFF050000000600000007000000FEFFFFFF09000000FEFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF + m.lcFileBinary = m.lcFileBinary + 0hFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF + m.lcFileBinary = m.lcFileBinary + 0hFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFEFF0000060002000000000000000000000000000000000001000000E0859FF2F94F6810AB9108002B27B3D930000000980000000700000001000000400000000400000048000000080000005400000012000000600000000C000000780000000D00000084000000130000009000000002000000E40400001E00000004000000000000001E00000004000000000000001E000000100000004D6963726F736F667420457863656C004000000000C07C0D23D9C601400000000086FCA92911C90103000000000000 + m.lcFileBinary = m.lcFileBinary + 0h000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000FEFF000006000200000000000000000000000000000000000100000002D5CDD59C2E1B10939708002B2CF9AE30000000B000000008000000010000004800000017000000500000000B000000580000001000000060000000130000006800000016000000700000000D000000780000000C0000008B00000002000000E40400000300000000000C000B000000000000000B000000000000000B000000000000000B000000000000001E1000000100000007000000536865657431000C100000020000001E0000 + m.lcFileBinary = m.lcFileBinary + 0h000B000000576F726B73686565747300030000000100000000000000000000000000000000000000000000000000000000000000000000000000010043006F006D0070004F0062006A0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000012000200FFFFFFFFFFFFFFFFFFFFFFFF0000000000000000000000000000000000000000000000000000000000000000000000000800000072000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000FF + m.lcFileBinary = m.lcFileBinary + 0hFFFFFFFFFFFFFFFFFFFFFF0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000FFFFFFFFFFFFFFFFFFFFFFFF0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 + m.lcFileBinary = m.lcFileBinary + 0hFFFFFFFFFFFFFFFFFFFFFFFF0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000100FEFF030A0000FFFFFFFF2008020000000000C000000000000046260000004D6963726F736F6674204F666669636520457863656C203230303320576F726B736865657400060000004269666638000E000000457863656C2E53686565742E3800F439B271000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 + m.lcFileBinary = m.lcFileBinary + 0h000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 + m.lcFileBinary = m.lcFileBinary + 0h0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 + ENDCASE + IF !EMPTY(m.lcFileBinary) + IF STRTOFILE(m.lcFileBinary, m.tcExcelFile, 0) > 0 + m.llReturn = .T. + ENDIF + ENDIF + ENDIF + RETURN m.llReturn +ENDFUNC + +************************************************** +*!* Code used to create hex binary of worksheet templates +************************************************** +*!* LOCAL lcBinary, lcCode +*!* _cliptext = STRCONV(FILETOSTR(GETFILE()),15) +*!* m.lcBinary = _ClipText +*!* m.lcCode = "" +*!* DO WHILE !EMPTY(m.lcBinary) +*!* m.lcCode = m.lcCode + CHR(9) + iif(Empty(m.lcCode), "m.FileBinary = ", "m.FileBinary = m.FileBinary + ") + "0h" + LEFT(m.lcBinary, 510) + CHR(13) + CHR(10) +*!* m.lcBinary = SUBSTR(m.lcBinary, 511) +*!* ENDDO +*!* _cliptext = m.lcCode diff --git a/utile/excel/copytoxlsx.prg b/utile/excel/copytoxlsx.prg new file mode 100644 index 0000000..1e50476 --- /dev/null +++ b/utile/excel/copytoxlsx.prg @@ -0,0 +1,1478 @@ +* Version 5.1 +LPARAMETERS cCur,lcFileName,llHead,lnMaxIndexLen,lcFFields,llMemoAsComment,lnCodePage,llOpen +* Parameters +* cCur name of the table / cursor +* lcFileName name of the xlsx +* llHead .T. first row of xlsx contain column names +* lnMaxIndexLen optional, maximum length of the indexes. A value between 19 and 120. Default 60 +* lcFFields optional, list of fields to be outputed +* llMemoAsComment optional, memo fields are converted into comments while the cell contains the word "Memo" +* lnCodePage optional, codepage used for strings +* llOpen optional, .T. the file is open (default .F.) +# DEFINE MAXIMUMCOMMENTHEIGHT 20 && maximum height of a comment (expressed in sheet rows) +# DEFINE MAXIMUMCOMMENTWIDTH 10 && maximum width of a comment (expressed in sheet columns) +DECLARE INTEGER ShellExecute IN SHELL32.DLL INTEGER nWinHandle,STRING cOperation,STRING cFileName,STRING cParameters,STRING cDirectory,INTEGER nShowWindow +IF OS(3) < '6' && XP + Declare INTEGER GetLocaleInfo in Win32API LONG Locale, LONG LCType, STRING @LpLCData, INTEGER cchData +ELSE + Declare INTEGER GetLocaleInfoEx in Win32API String Locale, LONG LCType, STRING @LpLCData, INTEGER cchData +ENDIF +DECLARE Sleep IN kernel32 INTEGER +#DEFINE ERRLANG "EN" +#IF ERRLANG = "EN" + #DEFINE ERRMESS1 "Abort" + #DEFINE ERRMESS2 "Cannot create" + #DEFINE ERRMESS3 "No xlsx generated" + #DEFINE ERRMESS4 "Nothing to export" + #DEFINE ERRMESS5 "Not a cursor/table name" + #DEFINE ERRMESS6 "already exist." + #DEFINE ERRMESS7 "Overwrite?" +* thanks to Koen Piller +#ELIF ERRLANG = "NL" + #DEFINE ERRMESS1 "Sluiten" + #DEFINE ERRMESS2 "Niet te maken:" + #DEFINE ERRMESS3 "Geen xlsx gemaakt" + #DEFINE ERRMESS4 "Niets te exporteren" + #DEFINE ERRMESS5 "Geen cursor- of tabelnaam" + #DEFINE ERRMESS6 "bestaat al." + #DEFINE ERRMESS7 "Overschrijven?" +* thanks to Alejandro Garcia +#ELIF ERRLANG = "ES" + #DEFINE ERRMESS1 "Abortar" + #DEFINE ERRMESS2 "No se puede crear" + #DEFINE ERRMESS3 "Ningún xslx generado" + #DEFINE ERRMESS4 "Nada que exportar" + #DEFINE ERRMESS5 "No es un nombre de cursor/tabla" + #DEFINE ERRMESS6 "ya existe." + #DEFINE ERRMESS7 "¿Sobreescribir?" +#ELSE + #DEFINE ERRMESS1 "Abandon" + #DEFINE ERRMESS2 "Nu se poate crea" + #DEFINE ERRMESS3 "Nu s-a generat xlsx" + #DEFINE ERRMESS4 "Nimic de exportat" + #DEFINE ERRMESS5 "Nume invalid de cursor/tabel" + #DEFINE ERRMESS6 "exista deja." + #DEFINE ERRMESS7 "Suprascrieti?" +#ENDIF + +LOCAL lcMyPath,lcDir,loerr as Exception +LOCAL lnRowsNo,lnColsNo,lnCurRow,lnCurCol,lnTime,ltTime,lcSetDec,lnColsNoAll,laFieldsAll[1],lnLenStr,lnLenIdx,llMemos,lnII,lSetTalk,lnFFields,laFFields[1] +LOCAL cStrings,lnColChars,llCR,lcValue,lnDec,cMax,ldValue +LOCAL lcCurr,lcTmp,lnj +LOCAL ldDat01,ldDat11,ldDat02,ldDat12,ldDat03,ltDat02 +LOCAL lnFHStr,lnFHSh,lcLenStr,lcLenIdx,lnCountbefore,lcUnion,lcField,lnTotal,cTotal,lcCurRow,ofile,lcSource,lcZipFileName,oShell,oFolder,llBelow7 +LOCAL laFields[1,6],lnType,lala[1],lcSetPoint,lnFHCo,lnFHDr,lnCurComm,lnNoRow,laNoRow[1],lniNoRow,lnMaxLenRow,lnCommW,lnCommH + +LOCAL lcCurrAlias,llToClose,lcCodePage,lcOldPath,lcStrBad +lcStrBad = '' +FOR lni = 0 TO 31 + IF !INLIST(m.lni,9,10,13) + lcStrBad = m.lcStrBad + CHR(m.lni) + ENDIF +NEXT +lcCurrAlias = ALIAS() +llToClose = .F. + +IF PCOUNT() < 1 + MESSAGEBOX(ERRMESS4,48,ERRMESS3) + RETURN +ELSE + IF VARTYPE(m.cCur) == "C" + IF !USED(m.cCur) + USE (m.cCur) IN 0 + llToClose = .T. + ENDIF + ELSE + MESSAGEBOX(ERRMESS5,48,ERRMESS3) + RETURN + ENDIF +ENDIF +IF PCOUNT() < 2 + lcFileName = FORCEEXT(SYS(2015),"xlsx") +ELSE + IF VARTYPE(m.lcFileName) == "C" + lcFileName = FORCEEXT(m.lcFileName,"xlsx") + ELSE + lcFileName = FORCEEXT(SYS(2015),"xlsx") + ENDIF +ENDIF +IF PCOUNT() < 3 + llHead = .F. +ELSE + IF VARTYPE(m.llHead) <> "L" + llHead = .F. + ENDIF +ENDIF +IF PCOUNT()<4 + lnMaxIndexLen = 60 +ELSE + IF VARTYPE(m.lnMaxIndexLen) $ "NY" + lnMaxIndexLen = INT(m.lnMaxIndexLen) + ELSE + lnMaxIndexLen = 60 + ENDIF + lnMaxIndexLen = MIN(MAX(m.lnMaxIndexLen,19),120) +ENDIF + +IF FILE(FORCEEXT(m.lcFileName,"xlsx")) + IF MESSAGEBOX(FORCEEXT(m.lcFileName,"xlsx")+" "+ERRMESS6+CHR(13)+ERRMESS7,4+48,ERRMESS3) = 7 + RETURN + ELSE + ERASE (FORCEEXT(m.lcFileName,"xlsx")) RECYCLE + ENDIF +ENDIF +lnFFields = 0 +IF PCOUNT()<5 + lcFFields = "" +ELSE + IF VARTYPE(m.lcFFields) <> "C" + lcFFields = "" + ELSE + lnFFields = ALINES(laFFields,UPPER(m.lcFFields),1+4,",") + ENDIF +ENDIF +IF PCOUNT() < 6 + llMemoAsComment = .F. +ELSE + IF VARTYPE(m.llMemoAsComment) <> "L" + llMemoAsComment = .F. + ENDIF +ENDIF +* Thanks to Gregory Green +IF PCOUNT() < 7 + lcCodePage = '' +ELSE + IF VARTYPE(m.lnCodePage) <> "N" + lcCodePage = '' + ELSE + IF !INLIST(m.lnCodePage,437,620,737,850,852,857,861,865,866,874,895,932,936,949,950,1250,1251,1252,1253,1254,1255,1256) + lcCodePage = '' + ELSE + lcCodePage = 'CODEPAGE = ' + TRANSFORM(m.lnCodePage) + ENDIF + ENDIF +ENDIF +IF PCOUNT() < 8 + llOpen = .F. +ELSE + IF VARTYPE(m.llOpen) <> "L" + llOpen = .F. + ENDIF +ENDIF + +lSetTalk = SET("Talk") +SET TALK OFF +lcSetPoint = SET("Point") +SET POINT TO "." +lnColsNoAll=AFIELDS(m.laFieldsAll,m.cCur) +lnColsNo = 0 +lnLenStr = 19 && for datetime +llMemos = .F. +lcUnion = "" +cTotal = SYS(2015) +lnTotal = 0 +ldDat01 = DATE(1900,3,1) +ldDat02 = DATE(1900,1,1) +ldDat03 = DATE(1900,2,28) +ldDat11 = m.ldDat01 - 61 +ldDat12 = m.ldDat02 - 1 +ltDat02 = DATETIME(1900,1,1,0,0,0) +lnColChars = 0 + +LOCAL lnActualCol +lnActualCol = 0 +FOR lnCurCol = 1 TO m.lnColsNoAll + lnActualCol = m.lnActualCol + 1 + IF m.laFieldsAll[m.lnCurCol,2] $ "G" + lnActualCol = m.lnActualCol - 1 + LOOP + ENDIF + IF m.laFieldsAll[m.lnCurCol,2] $ "NFYBIDTLCVM" + IF !EMPTY(m.lcFFields) + IF ASCAN(m.laFFields,laFieldsAll[m.lnCurCol,1],1,-1,-1,1+2+4)=0 + LOOP + ENDIF + ENDIF + lnColsNo = m.lnColsNo + 1 + DIMENSION laFields[m.lnColsNo,6] + laFields[m.lnColsNo,1] = laFieldsAll[m.lnCurCol,1] + laFields[m.lnColsNo,2] = IIF(laFieldsAll[m.lnCurCol,2] $ "CV",1,; + IIF(laFieldsAll[m.lnCurCol,2] $ "NF",2,; + IIF(laFieldsAll[m.lnCurCol,2] == "I",3,; + IIF(laFieldsAll[m.lnCurCol,2] == "D",4,; + IIF(laFieldsAll[m.lnCurCol,2] == "T",5,; + IIF(laFieldsAll[m.lnCurCol,2] == "L",6,; + IIF(laFieldsAll[m.lnCurCol,2] == "Y",7,; + IIF(laFieldsAll[m.lnCurCol,2] == "B",8,; + IIF(laFieldsAll[m.lnCurCol,2] == "M",9,10))))))))) + laFields[m.lnColsNo,6] = m.lnActualCol &&lnCurCol + laFields[m.lnColsNo,3] = laFieldsAll[m.lnCurCol,3] + laFields[m.lnColsNo,4] = laFieldsAll[m.lnCurCol,4] + laFields[m.lnColsNo,5] = IIF(m.lnColsNo<=26,[],CHR(64+FLOOR((m.lnColsNo-1)/26)))+CHR(65+MOD(m.lnColsNo-1,26)) + ELSE + LOOP + ENDIF + lcField = laFieldsAll[m.lnCurCol,1] + IF m.laFieldsAll[m.lnCurCol,2] $ "CV" + lnLenStr = MAX(m.lnLenStr, laFieldsAll[m.lnCurCol,3]) + IF !EMPTY(m.lcUnion) + lcUnion = m.lcUnion + " UNION" + ENDIF + lcUnion = m.lcUnion + " SELECT DISTINCT CAST(RTRIM(" + m.lcField + ") AS V("+TRANSFORM(m.laFieldsAll[m.lnCurCol,3])+")) FROM " + m.cCur + " WHERE !ISNULL(" + m.lcField + ")" + SELECT COUNT(*) as no FROM (m.cCur) WHERE ISNULL(&lcField) INTO CURSOR (m.cTotal) + lnTotal = m.lnTotal + RECCOUNT(m.cCur) - &cTotal..no + ENDIF + IF m.laFieldsAll[m.lnCurCol,2] == "D" + IF !EMPTY(m.lcUnion) + lcUnion = m.lcUnion + " UNION" + ENDIF + lcUnion = m.lcUnion + " SELECT DISTINCT DTOC(" + m.lcField + ") FROM " + m.cCur + " WHERE " + m.lcField + " < m.ldDat02 " + SELECT COUNT(*) as no FROM (m.cCur) WHERE &lcField < m.ldDat02 INTO CURSOR (m.cTotal) + lnTotal = m.lnTotal + &cTotal..no + ENDIF + IF m.laFieldsAll[m.lnCurCol,2] == "T" + IF !EMPTY(m.lcUnion) + lcUnion = m.lcUnion + " UNION" + ENDIF + lcUnion = m.lcUnion + " SELECT DISTINCT TTOC(" + m.lcField + ") FROM " + m.cCur + " WHERE " + m.lcField + " < m.ltDat02 " + SELECT COUNT(*) as no FROM (m.cCur) WHERE &lcField < m.ltDat02 INTO CURSOR (m.cTotal) + lnTotal = m.lnTotal + &cTotal..no + ENDIF + IF m.laFieldsAll[m.lnCurCol,2] == "M" + lnColChars = m.lnColChars +1 + llMemos = .T. + ENDIF +NEXT +lnLenIdx = MIN(m.lnMaxIndexLen, m.lnLenStr) +lnTotal = m.lnTotal + m.lnColsNo + +SELECT (m.cCur) +COUNT TO m.lnRowsNo +lnTotal = m.lnTotal + m.lnRowsNo * m.lnColChars +lnRowsNo=m.lnRowsNo+IIF(m.llHead,1,0) + +FOR lni = 1 TO m.lnFFields + FOR lnCurCol = 1 TO m.lnColsNo + IF m.laFields[m.lnCurCol,1] == m.laFFields[m.lni] + FOR lnj = 1 TO ALEN(laFields,2) + lcTmp = m.laFields[m.lnCurCol,m.lnj] + laFields[m.lnCurCol,m.lnj] = m.laFields[m.lni,m.lnj] + laFields[m.lni,m.lnj] = m.lcTmp + NEXT + EXIT + ENDIF + NEXT +NEXT + +FOR lnCurCol = 1 TO m.lnColsNo + laFields[m.lnCurCol,5] = IIF(m.lnCurCol<=26,[],CHR(64+FLOOR((m.lnCurCol-1)/26)))+CHR(65+MOD(m.lnCurCol-1,26)) +NEXT + + +SELECT (m.cCur) +COUNT TO m.lnRowsNo +lnTotal = m.lnTotal + m.lnRowsNo * m.lnColChars +lnRowsNo=m.lnRowsNo+IIF(m.llHead,1,0) + +cStrings = SYS(2015) +cMax = SYS(2015) +CREATE CURSOR (m.cStrings) &lcCodePage (ii I AUTOINC NEXTVALUE 0,cStr V(m.lnLenStr),cM M) +IF m.llMemoAsComment and m.llMemos + INSERT INTO (m.cStrings) (cStr) VALUES ("Memo") +ENDIF + +IF !EMPTY(m.lcUnion) + EXECSCRIPT("LPARAMETERS ldDat02,ltDat02"+CHR(13)+"INSERT INTO " + m.cStrings + " (cStr)" + m.lcUnion,m.ldDat02,m.ltDat02) +ENDIF + +IF m.lnLenStr > 0 + IF m.lnLenIdx >= m.lnLenStr + INDEX on cStr TAG cStr + ELSE + lcLenIdx = LTRIM(STR(m.lnLenIdx)) + INDEX on LEFT(cStr,&lcLenIdx) TAG cStr + ENDIF +ENDIF +IF m.llMemos + lcLenStr = LTRIM(STR(m.lnLenIdx)) && courtesy of Tobias B + INDEX on LEFT(cM,&lcLenStr) TAG cM +ENDIF +SET ORDER TO cStr + +lcCurr = Getcurr(m.lcStrBad) && courtesy of Martina Jindrová + +lcOldPath = SYS(5)+SYS(2003) +lcMyPath='' +IF !EMPTY(JUSTPATH(m.lcFileName)) + lcMyPath=ADDBS(JUSTPATH(m.lcFileName)) + SET DEFAULT TO (m.lcMyPath) +ELSE + lcMyPath = ADDBS(JUSTPATH(FULLPATH(m.lcFileName))) +ENDIF + +lcDir=gen_dirs(m.llMemoAsComment and m.llMemos) +gen_Content_Types(m.lcDir,m.llMemoAsComment and m.llMemos) +gen_rels(ADDBS(m.lcDir+[_rels])) +gen_app(ADDBS(m.lcDir+[docProps])) +gen_core(ADDBS(m.lcDir+[docProps])) +gen_workbook(ADDBS(ADDBS(m.lcDir+[xl])+[_rels]),m.llMemoAsComment and m.llMemos) +gen_styles(ADDBS(m.lcDir+[xl]),m.lcCurr,m.llMemoAsComment and m.llMemos) +gen_workbook2(ADDBS(m.lcDir+[xl])) +IF m.llMemoAsComment and m.llMemos + gen_workbook3(ADDBS(ADDBS(ADDBS(m.lcDir+[xl])+[worksheets])+[_rels])) +ENDIF + +* Begin sheet1 +lnFHSh = FCREATE(ADDBS(ADDBS(m.lcDir+[xl])+[worksheets])+"sheet1.xml") +IF m.lnFHSh < 0 + MESSAGEBOX(ERRMESS2 + ' sheet1.xml',16,ERRMESS1) + DO cleanup WITH m.lcDir,m.llMemoAsComment AND m.llMemos,m.llToClose,m.cCur,m.cTotal,m.cMax,m.cStrings,m.lcCurrAlias,m.lnFHSh,m.lnFHStr,m.lnFHCo,m.lnFHDr,m.lcOldPath + RETURN +ENDIF +FWRITE(m.lnFHSh,[]+CHR(10)) +FWRITE(m.lnFHSh,[ ]) +FWRITE(m.lnFHSh,[]) +*FWRITE(m.lnFHSh,[]) +FWRITE(m.lnFHSh,[]) +FWRITE(m.lnFHSh,[]) +FWRITE(m.lnFHSh,[]) + +IF m.llMemoAsComment AND m.llMemos +* Begin comments1 + lnFHCo = FCREATE(ADDBS(m.lcDir+[xl])+"comments1.xml") + IF m.lnFHCo < 0 + MESSAGEBOX(ERRMESS2 + ' comments1.xml',16,ERRMESS1) + DO cleanup WITH m.lcDir,m.llMemoAsComment AND m.llMemos,m.llToClose,m.cCur,m.cTotal,m.cMax,m.cStrings,m.lcCurrAlias,m.lnFHSh,m.lnFHStr,m.lnFHCo,m.lnFHDr,m.lcOldPath + RETURN + ENDIF + FWRITE(m.lnFHCo,[]+CHR(10)) + FWRITE(m.lnFHCo,[]) + FWRITE(m.lnFHCo,[]) + FWRITE(m.lnFHCo,[CopyToXlsx]) + FWRITE(m.lnFHCo,[]) + FWRITE(m.lnFHCo,[]) +* Begin vmlDrawing1.vml + lnFHDr = FCREATE(ADDBS(ADDBS(m.lcDir+[xl])+[drawings])+"vmlDrawing1.vml") + IF m.lnFHDr < 0 + MESSAGEBOX(ERRMESS2 + ' vmlDrawing1.vml',16,ERRMESS1) + DO cleanup WITH m.lcDir,m.llMemoAsComment AND m.llMemos,m.llToClose,m.cCur,m.cTotal,m.cMax,m.cStrings,m.lcCurrAlias,m.lnFHSh,m.lnFHStr,m.lnFHCo,m.lnFHDr,m.lcOldPath + RETURN + ENDIF + FWRITE(m.lnFHDr,[]+CHR(10)) + FWRITE(m.lnFHDr,[]) + FWRITE(m.lnFHDr,[]) + FWRITE(m.lnFHDr,[]) + FWRITE(m.lnFHDr,[]) + FWRITE(m.lnFHDr,[]) + FWRITE(m.lnFHDr,[]) + FWRITE(m.lnFHDr,[]) + FWRITE(m.lnFHDr,[]) +ENDIF + +* Begin sharedStrings +lnFHStr = FCREATE(ADDBS(m.lcDir+[xl])+"sharedStrings.xml") +IF m.lnFHStr < 0 + MESSAGEBOX(ERRMESS2 + ' sharedStrings.xml',16,ERRMESS1) + DO cleanup WITH m.lcDir,m.llMemoAsComment AND m.llMemos,m.llToClose,m.cCur,m.cTotal,m.cMax,m.cStrings,m.lcCurrAlias,m.lnFHSh,m.lnFHStr,m.lnFHCo,m.lnFHDr,m.lcOldPath + RETURN +ENDIF +FWRITE(m.lnFHStr,[]+CHR(10)) +FWRITE(m.lnFHStr,[]) + FOR lnCurCol = 1 TO m.lnColsNo + FWRITE(m.lnFHSh,[]+LTRIM(STR(m.lnII))+[]) + ELSE + FWRITE(m.lnFHStr,[]+htmspec(m.lcValue,m.lcStrBad)+[]) + INSERT INTO (m.cStrings) (cStr) VALUES (m.lcValue) + SELECT MAX(ii) as ii FROM (m.cStrings) INTO CURSOR (m.cMax) + SELECT (m.cMax) + lnII = ii + FWRITE(m.lnFHSh,[" t="s">]+LTRIM(STR(m.lnII))+[]) + ENDIF + NEXT + FWRITE(m.lnFHSh,[]+CHR(10)) +ENDIF + +lcSetDec = SET("Decimals") +SET DECIMALS TO 13 +IF m.llMemoAsComment AND m.llMemos + lnCurComm = 0 +ENDIF +SELECT (m.cCur) +DO CASE +CASE m.llMemos AND m.lnLenIdx < m.lnLenStr + SCAN + lnCurRow = m.lnCurRow + 1 + lcCurRow = LTRIM(STR(m.lnCurRow)) + FWRITE(m.lnFHSh,[]) + SCATTER MEMO TO lala + FOR lnCurCol = 1 TO m.lnColsNo + SET ORDER TO cStr IN (m.cStrings) + lcValue = lala[m.laFields[m.lnCurCol,6]] + IF ISNULL(m.lcValue) + LOOP + ENDIF + lnType = m.laFields[m.lnCurCol,2] + lnDec = m.laFields[m.lnCurCol,4] + FWRITE(m.lnFHSh,[]) && Empty cell + ELSE + SELECT (m.cStrings) + SET KEY TO LEFT(m.lcValue,m.lnLenIdx) + SCAN + IF cStr == m.lcValue + EXIT + ENDIF + ENDSCAN + SET KEY TO + FWRITE(m.lnFHSh,[" t="s">]+LTRIM(STR(II))+[]) + ENDIF + SELECT (m.cCur) + ELSE + IF m.lnType == 2 + FWRITE(m.lnFHSh,[">]+LTRIM(STR(m.lcValue,m.laFields[m.lnCurCol,3],m.lnDec))+[]) + ELSE + IF m.lnType == 3 + FWRITE(m.lnFHSh,[">]+LTRIM(STR(m.lcValue))+[]) + ELSE + IF m.lnType == 4 + IF EMPTY(m.lcValue) + FWRITE(m.lnFHSh,[">]) && Empty cell + ELSE + IF m.lcValue >= m.ldDat01 + FWRITE(m.lnFHSh,[" s="1">]+LTRIM(STR(m.lcValue - m.ldDat11))+[]) + ELSE + IF BETWEEN(m.lcValue,m.ldDat02,m.ldDat03) + FWRITE(m.lnFHSh,[" s="1">]+LTRIM(STR(m.lcValue - m.ldDat12))+[]) + ELSE + lcValue = DTOC(m.lcValue) + SELECT (m.cStrings) + SET KEY TO LEFT(m.lcValue,m.lnLenIdx) + SCAN + IF cStr == m.lcValue + EXIT + ENDIF + ENDSCAN + SET KEY TO + FWRITE(m.lnFHSh,[" t="s">]+LTRIM(STR(II))+[]) + SELECT (m.cCur) + ENDIF + ENDIF + ENDIF + ELSE + IF m.lnType == 5 + IF EMPTY(m.lcValue) + FWRITE(m.lnFHSh,[">]) && Empty cell + ELSE + ltTime = m.lcValue + ldValue = TTOD(m.lcValue) + lnTime = (m.ltTime-DATETIME(YEAR(m.ltTime),MONTH(m.ltTime),DAY(m.ltTime),0,0,0))/(86400.0) + IF m.ldValue >= m.ldDat01 + FWRITE(m.lnFHSh,[" s="2">]+LTRIM(STR(m.ldValue - m.ldDat11))+SUBSTR(TRANSFORM(m.lnTime),2,14)+[]) + ELSE + IF BETWEEN(m.ldValue,m.ldDat02,m.ldDat03) + FWRITE(m.lnFHSh,[" s="2">]+LTRIM(STR(m.ldValue - m.ldDat12))+SUBSTR(TRANSFORM(m.lnTime),2,14)+[]) + ELSE + lcValue = TTOC(m.lcValue) + SELECT (m.cStrings) + SET KEY TO LEFT(m.lcValue,m.lnLenIdx) + SCAN + IF cStr == m.lcValue + EXIT + ENDIF + ENDSCAN + SET KEY TO + FWRITE(m.lnFHSh,[" t="s">]+LTRIM(STR(II))+[]) + SELECT (m.cCur) + ENDIF + ENDIF + ENDIF + ELSE + IF m.lnType == 6 + FWRITE(m.lnFHSh,[" t="b">]+IIF(m.lcValue ,[1],[0])+[]) + ELSE + IF m.lnType == 7 + FWRITE(m.lnFHSh,[" s="4">]+LTRIM(STR(m.lcValue,21,4))+[]) + ELSE + IF m.lnType == 8 + FWRITE(m.lnFHSh,[">]+LTRIM(STR(m.lcValue,21,m.lnDec))+[]) + ELSE + IF m.lnType == 9 + lcValue = RTRIM(m.lcValue) + IF m.llMemoAsComment + lnCurComm = m.lnCurComm + 1 + IF EMPTY(m.lcValue) + FWRITE(m.lnFHSh,[" t="s">]) && Empty cell + ELSE + FWRITE(m.lnFHSh,IIF(m.llCR,[" s="3],[])+[" t="s">0]) && Type "Memo" in sheet1 + FWRITE(m.lnFHCo,[]) && comments1 + FWRITE(m.lnFHCo,[]) + FWRITE(m.lnFHCo,[]) + FWRITE(m.lnFHCo,[]) + FWRITE(m.lnFHCo,[]) + FWRITE(m.lnFHCo,[]) + FWRITE(m.lnFHCo,[]) + FWRITE(m.lnFHCo,[]) + FWRITE(m.lnFHCo,[]) + FWRITE(m.lnFHCo,[]) + FWRITE(m.lnFHCo,[] + m.lcValue + []) + FWRITE(m.lnFHCo,[]) + FWRITE(m.lnFHCo,[]) + FWRITE(m.lnFHCo,[]) + + + FWRITE(m.lnFHDr,[
    '+CHR(13)+CHR(10) + RETURN thIs.wrIte(@lcOutput,llNooutput) + ENDFUNC +* + FUNCTION ContentType_Assign + LPARAMETER lcValue + thIs.coNtenttype = lcValue + thIs.coNtenttypeheader(lcValue) + RETURN lcValue + ENDFUNC +* + PROCEDURE BinaryWrite + LPARAMETER lcText + thIs.wrIte(lcText) + ENDPROC +* +ENDDEFINE +* diff --git a/utile/web/wwresponsestring.prg b/utile/web/wwresponsestring.prg new file mode 100644 index 0000000..81a776d --- /dev/null +++ b/utile/web/wwresponsestring.prg @@ -0,0 +1,177 @@ +** +** wwresponsestring.fxp +** + SET PROCEDURE TO wwResponse ADDITIVE +ENDPROC +* +DEFINE CLASS wwResponseString AS wwResponse + coUtput = "" + PROTECTED cfIlename + cfIlename = "" + PROTECTED ldUmptofile + ldUmptofile = .F. + PROTECTED chTmlfilename + chTmlfilename = "" + PROTECTED ohTmlfile + ohTmlfile = .NULL. + nbUffersize = 10000 +* + FUNCTION getoutput + LPARAMETER llNoclear + LOCAL lcFile, lcOutput + IF thIs.ldUmptofile + thIs.ohTmlfile.deStroy() + thIs.ohTmlfile = .NULL. + thIs.ldUmptofile = .F. + lcOutput = fiLe2var(thIs.chTmlfilename) + ERASE (thIs.chTmlfilename) + IF llNoclear + thIs.coUtput = lcOutput + ELSE + thIs.coUtput = "" + ENDIF + RETURN lcOutput + ENDIF + IF llNoclear + RETURN thIs.coUtput + ENDIF + lcOutput = thIs.coUtput + thIs.coUtput = "" + RETURN lcOutput + ENDFUNC +* + FUNCTION getoutputnoclear + RETURN thIs.geToutput(.T.) + ENDFUNC +* + FUNCTION WRITE + LPARAMETER tcText, tlNooutput + IF tlNooutput .OR. thIs.lnOoutput + RETURN tcText + ENDIF + IF thIs.ldUmptofile + thIs.ohTmlfile.faStwrite(@tcText) + ELSE + IF LEN(thIs.coUtput) 6 + IF EMPTY(lcDelim3) + RETURN STREXTRACT(lcString,lcDelim1,lcDelim2,1,1 + IIF(llendOk,2,0) ) + ENDIF +#ENDIF + +lcDelim1=IIF(LEN(lcDelim1)=0,",",lcDelim1) +lcDelim2=IIF(LEN(lcDelim2)=0,"z!x",lcDelim2) +lcDelim3=IIF(EMPTY(lcDelim3),"z!x",lcDelim3) + +lnLocation=ATC(lcDelim1,lcString) +IF lnLocation=0 + RETURN "" +ENDIF + +lnLocation=lnlocation+len(lcDelim1) + +*** Crate a new string of remaining text +lcNewString=SUBSTR(lcString,lnLocation) + +lnEnd=ATC(lcDelim2,lcNewString) +IF lnEnd>0 + RETURN SUBSTR(lcNewString,1,lnEnd-1) +ENDIF +*!* IF lnEnd = 0 +*!* *** Empty Delimited string +*!* RETURN "" +*!* ENDIF + +lnEnd=ATC(lcDelim3,lcNewString) +IF lnEnd>0 + RETURN SUBSTR(lcNewString,1,lnEnd-1) +ENDIF + +IF llEndOk + *** Return to the end of the line + RETURN SUBSTR(lcNewString,1) +ENDIF + +RETURN "" +*EOP RetValue + +************************************************************************ +* wwUtils :: ReplaceDelimitedText +**************************************** +*** Function: Replaces text between a set of delimiters with +*** a new string leaving the delimiters intact +*** Assume: The delimited block MUST have at least 1 character +*** in it even if it is blank or a CRLF +*** Pass: lcSource - Full Source String +*** lcStart - Start delimiter +*** lcEnd - End Delimiter +*** lcReplace - Text to replace between delimiters +*** Return: Updated String +************************************************************************ +FUNCTION ReplaceText +LPARAMETERS lcSource, lcStart, lcEnd, lcReplace + +lcExtract = Extract(lcSource,lcStart,lcEnd,,.T.) + +RETURN STRTRAN(lcSource,lcStart + lcExtract + lcEnd,lcStart + lcReplace + lcEnd) +ENDFUNC + + +************************************************************************ +FUNCTION Path +****************** +*** Function: Adds or deletes items from the path string +*** Pass: pcPathName - Filename +*** pcMethod - *"ADD","DELETE" +*** Return: New Path or "" +************************************************************************ +PARAMETERS pcPath,pcMethod +LOCAL lcOldPath + +IF VARTYPE(pcMethod) # "C" + pcMethod = "ADD" +ENDIF + +IF EMPTY(pcPath) + RETURN +ENDIF + +pcPath=ADDBS(LOWER(TRIM(pcPath))) +lcOldPath=LOWER(SET("PATH")) + +IF pcMethod="ADD" + IF EMPTY(pcPath) .OR. ; + !Directory(pcPath) + RETURN "" + ENDIF + IF AT(";" + pcPath + ";" ,";" + lcOldPath + ";")>0 + RETURN "" + ENDIF + lcOldPath=lcOldPath+";"+pcPath +ELSE + IF AT(";" + pcPath + ";" ,";" + lcOldPath + ";") < 1 + RETURN "" + ENDIF + lcOldPath=STRTRAN(lcOldPath + ";" ,";" +pcPath+";",";") + lcOldPath = SUBSTR(lcOldPath,1,LEN(lcOldPath)-1) +ENDIF + +SET PATH TO &lcOldPath + +RETURN lcOldPath +*EOP PATH + + +************************************************************************ +FUNCTION DomainName +******************* +*** Modified: 04/13/96 +*** Function: Retrieves a Domain name from an URL +*** Assume: URL starts with http:// - // required! +*** Pass: lcUrl - URL to retrieve name from +*** llNoStripWWW - Don't strip www. +*** Return: Domain Name or "" +************************************************************************* +LPARAMETER lcUrl, llNoStripWWW +lcText=STRTRAN(EXTRACT(lower(lcUrl),"//","/"," "),"/","") +IF !llNoStripWWW + lcText=STRTRAN(lcText,"www.","") +ENDIF +RETURN PADR(lcText,50) + + + +************************************************************************ +FUNCTION ShowHTML +***************** +*** Function: Takes an HTML string and displays it in the default +*** browser. +*** Assume: Uses a file to store HTML temporarily. +*** For this reason there may be concurrency issues +*** unless you change the file for each use +*** Pass: lcHTML - HTML to display +*** lcFile - Temporary File to use (Optional) +*** loWebBrowser - Web Browser control ref (Optional) +************************************************************************ +LPARAMETERS lcHTML, lcFile, loWebBrowser + +lcHTML=IIF(EMPTY(lcHTML),"",lcHTML) +lcFile=IIF(EMPTY(lcFile),SYS(2023)+"\ww_HTMLView.htm",lcFile) + +File2Var(lcFile,lcHTML) + +IF TYPE("loWebBrowser") = "O" + loWebBrowser.Navigate(lcFile) +ELSE + IF TYPE("_oscreenx") = "O" + _oscreenx.Navigate(lcFile) + ENDIF +*!* IF lower(JUSTEXT(lcFile)) = "txt" +*!* MODI COMM (lcFile) IN MACDESKTOP +*!* ELSE + =GoUrl(lcFile) +*!* ENDIF +ENDIF + +RETURN +*EOP ShowHTML + +************************************************************************ +FUNCTION ShowXML +***************** +*** Function: Takes an XML string and displays it in the default +*** browser. +*** Assume: Uses a file to store HTML temporarily. +*** For this reason there may be concurrency issues +*** unless you change the file for each use +*** Pass: lcHTML - HTML to display +*** lcFile - Temporary File to use (Optional) +*** loWebBrowser - Web Browser control ref (Optional) +************************************************************************ +LPARAMETERS lcHTML, lcFile, loWebBrowser +IF EMPTY(lcFile) + lcFile=IIF(EMPTY(lcFile),SYS(2023)+"\ww_HTMLView.xml",lcFile) +ENDIF +ERASE (lcFile) +RETURN ShowHTML(lcHTML,lcFile,loWebBrowser) + +************************************************************************ +FUNCTION ShowText +***************** +*** Function: Takes an XML string and displays it in the default +*** browser. +*** Assume: Uses a file to store HTML temporarily. +*** For this reason there may be concurrency issues +*** unless you change the file for each use +*** Pass: lcHTML - HTML to display +*** lcFile - Temporary File to use (Optional) +*** loWebBrowser - Web Browser control ref (Optional) +************************************************************************ +LPARAMETERS lcHTML, lcFile, loWebBrowser +IF EMPTY(lcFile) + lcFile=IIF(EMPTY(lcFile),SYS(2023)+"\ww_HTMLView.txt",lcFile) +ENDIF + +IF VARTYPE(loWebBrowser) = "C" and loWebBrowser = "MODI" + FILE2VAR(lcFile,lcHTML) + MODIFY COMMAND (lcFile) + RETURN +ENDIF + +RETURN ShowHTML(lcHTML,lcFile,loWebBrowser) + + +************************************************************************ +FUNCTION IsWinnt +***************** +*** Pass: llReturnVersionNumber +*** Return: .t. or .f. or Version Number or -1 if not NT +************************************************************************* +LPARAMETER llReturnVersionNumber + +loAPI=CREATE("wwAPI") +lcVersion = loAPI.ReadRegistryString(HKEY_LOCAL_MACHINE,; + "SOFTWARE\Microsoft\Windows NT\CurrentVersion",; + "CurrentVersion") + +IF !llReturnVersionNumber + IF ISNULL(lcVersion) + RETURN .F. + ELSE + RETURN .T. + ENDIF +ENDIF + +IF ISNULL(lcVersion) + RETURN -1 +ENDIF + +RETURN VAL(lcVersion) +* IsWinNt + + + +************************************************************************ +FUNCTION StripHTML +******************* +*** Function: Removes HTML tags from the passed text and converts +*** it to plain text. Note formatting is totally removed! +*** Assume: only
    and

    are translated +*** any < or > in the HTML besides tags will break this +*** function. +*** Pass: lcText - HTML Text to strip +*** lcLTag - Left Tag value ("<") +*** lcRTag - Right Tag Value (">") +*** Return: Stripped HTML text +************************************************************************* +LPARAMETER lcHTMLText, lcLTag, lcRTag + +lcLTag=IIF(EMPTY(lcLTag),"<",lcLTag) +lcRTag=IIF(EMPTY(lcRTag),">",lcRTag) + +IF ATC(lcLTag,lcHTMLText) = 0 + RETURN lcHTMLText +ENDIF + +*** Start by breaking line breaks +lcHTMLText = STRTRAN(lcHTMLText,lcLTag + "BR" + lcRTag,CRLF) +lcHTMLText = STRTRAN(lcHTMLText,lcLTag + "P" + lcRTag,CRLF+CRLF) +lcHTMLText = STRTRAN(lcHTMLText,lcLTag + "br" + lcRTag,CRLF) +lcHTMLText = STRTRAN(lcHTMLText,lcLTag + "p" + lcRTag,CRLF+CRLF) +lcHTMLText = STRTRAN(lcHTMLText," "," ") + +lcExtract = "x" +DO WHILE !EMPTY(lcExtract) + lcExtract = Extract(lcHTMLText,lcLTag,lcRTag) + + IF EMPTY(lcExtract) + EXIT + ENDIF + lcHTMLText = STRTRAN(lcHTMLText,lcLTag+lcExtract+lcRTag,"") +ENDDO + +lcHTMLText = STRTRAN(lcHTMLText,"<","<") +lcHTMLText = STRTRAN(lcHTMLText,">",">") + +RETURN lcHTMLText + +************************************************************************ +FUNCTION HTMLColor +********************************* +*** Function: Converts a FoxPro Color to an HTML Hex color value +*** Pass: lnRGBColor - FoxPro RGB color number - RGB(255,255,255) +*** llNoOutput +*** Return: Hex HTML Color String "#FFFFFF" +************************************************************************ +LPARAMETER lnRGBColor + +lcColor=RIGHT(TRANSFORM(lnRGBColor,"@0"),6) + +*** Fox color is BBGGRR, HTML is RRGGBB + +RETURN "#" + SUBSTR(lcColor,5,2) + SUBSTR(lcColor,3,2) + LEFT(lcColor,2) +* HTMLColor + + +************************************************************************ +FUNCTION CharToBin +****************** +*** Function: Converts a DWORD value in binary string form back into +*** a numeric value +*** Pass: tcWord - Binary string value (from a structure?) +*** Return: numeric value of binary string +************************************************************************* +LPARAMETER tcWord + + LOCAL i, lnWord + + lnWord = 0 + FOR i = 1 TO LEN(tcWord) + lnWord = lnWord + (ASC(SUBSTR(tcWord, i, 1)) * (2 ^ (8 * (i - 1)))) + ENDFOR + +RETURN lnWord + + +**************************************************** +FUNCTION GoUrl +****************** +*** Author: Rick Strahl +*** (c) West Wind Technologies, 1996 +*** Contact: rstrahl@west-wind.com +*** Modified: 03/14/96 +*** Function: Starts associated Web Browser +*** and goes to the specified URL. +*** If Browser is already open it +*** reloads the page. +*** Assume: Works only on Win95 and NT 4.0 +*** Pass: tcUrl - The URL of the site or +*** HTML page to bring up +*** in the Browser +*** Return: 2 - Bad Association (invalid URL) +*** 31 - No application association +*** 29 - Failure to load application +*** 30 - Application is busy +*** +*** Values over 32 indicate success +*** and return an instance handle for +*** the application started (the browser) +**************************************************** +LPARAMETERS tcUrl, tcAction, tcDirectory + +tcUrl=IIF(type("tcUrl")="C",tcUrl,; + "http://www.west-wind.com/") + +tcAction=IIF(type("tcAction")="C",tcAction,"OPEN") + +tcDirectory=IIF(EMPTY(tcDirectory),SYS(2023),tcDirectory) + +DECLARE INTEGER ShellExecute ; + IN SHELL32.dll ; + INTEGER nWinHandle,; + STRING cOperation,; + STRING cFileName,; + STRING cParameters,; + STRING cDirectory,; + INTEGER nShowWindow + +DECLARE INTEGER FindWindow ; + IN WIN32API ; + STRING cNull,STRING cWinName + +RETURN ShellExecute(FindWindow(0,_SCREEN.caption),; + tcAction,tcUrl,; + "",tcDirectory,1) + +************************************************************************ +PROCEDURE StrTranC +****************** +*** Function: Like Strtran but case insensitive +*** Pass: lcString - Entire string +*** lcDelim1 - String to replace +*** lcDelim2 - String to replace with +*** Return: translated string +************************************************************************* +LPARAMETER lcString, lcSource, lcReplace + +#IF wwVFPVersion > 6 + RETURN STRTRAN(lcString,lcSource,lcReplace,1,-1,1) +#ELSE +LOCAL lnAt + +lnAt = 1 +lnReplaceSize = LEN(lcSource) +DO while .T. + lnAt = ATC(lcSource,lcString) + IF lnAT = 0 + RETURN lcString + ENDIF + + lcString = STUFF(lcString,lnAt,lnReplaceSize,lcReplace) +ENDDO + +RETURN lcString +#ENDIF + + +FUNCTION TimeToCStrict +LPARAMETER ltTime, llSQL + +lcCentury = SET("CENTURY") +lcDateMode = SET("DATE") +SET CENTURY ON +SET DATE TO YMD + +IF llSQL + lcDate = "'" + TTOC(ltTime) + "'" +ELSE + lcDate = "{^" + TTOC(ltTime) + "}" +ENDIF + +SET DATE TO &lcDateMode +SET CENTURY &lcCentury +RETURN lcDate + +************************************************************************ +FUNCTION DateToC +****************** +*** Function: Converts a date to string displaying empty dates as blanks +*** rather than displaying the empty date format +*** Pass: ldDate - Date to display +*** Return: Date String or "" if invalid date +************************************************************************* +LPARAMETER ldDate + +IF EMPTY(ldDate) + RETURN "" +ENDIF + +RETURN DTOC(ldDate) +* DateTOC + + + +************************************************************************ +FUNCTION TimeToC +****************** +*** Function: Converts a time to string displaying empty as blanks +*** and formatting the time string properly +*** Pass: ltTime - Date to display (Pass Time, Date or Char) +*** Return: Time String or "" if invalid date (Year is not returned) +************************************************************************* +LPARAMETER ltTime + +IF EMPTY(ltTime) + RETURN "" +ENDIF + +IF VARTYPE(ltTime) $ "DT" + lcTimestamp = TTOC(ltTime) +ELSE + lcTimeStamp = ltTime +ENDIF + +RETURN Substr(lcTimeStamp,1,5)+"/" + Substr(lcTimeStamp,9,8)+lower(Substr(lcTimeStamp,21,2)) +* DateTOC + +************************************************************************ +FUNCTION GetAppStartPath +********************************* +*** Function: Returns the FoxPro start path +*** of the *APPLICATION* +*** under all startmodes supported by VFP. +*** Returns the path of the starting EXE, +*** DLL, APP, PRG/FXP +*** Return: Path as a string with trailing "\" +************************************************************************ + +DO CASE + *** VFP 6 provides ServerName property for COM servers EXE/DLL/MTDLL + CASE INLIST(Application.StartMode,2,3,5) + lcPath = JustPath(Application.ServerName) + +*!* *** Interactive +*!* CASE (Application.StartMode) = 0 +*!* lcPath = SYS(5) + CURDIR() + + *** Active Document + CASE ATC(".APP",SYS(16,0)) > 0 + lcPath = JustPath(SYS(16,0)) + + *** Standalone EXE or VFP Development + OTHERWISE + lcPath = JustPath(SYS(16,0)) + IF ATC("PROCEDURE",lcPath) > 0 + lcPath = SUBSTR(lcPath,RAT(":",lcPath)-1) + ENDIF +ENDCASE + +RETURN AddBs(lcPath) +* EOF GetAppStartPath + + +************************************************************************ +FUNCTION ShortPath +****************** +*** Function: Converts a Long Windows filename into a short +*** 8.3 compliant path/filename +*** Pass: lcPath - Path to check +*** Return: lcShortFileName +************************************************************************* +LPARAMETER lcPath + +DECLARE INTEGER GetShortPathName IN Win32API; + STRING @lpszLongPath, STRING @lpszShortPath,; + INTEGER cchBuffer + +lcPath = lcPath +lcshortname = SPACE(260) +lnlength = LEN(lcshortname) +lnresult = GetShortPathName(@lcPath, @lcshortname, lnlength) +IF lnResult = 0 + RETURN "" +ENDIF +RETURN LEFT(lcShortName,lnResult) + + +************************************************************************ +FUNCTION DeleteFiles +******************** +*** Function: Returns the size of a file +*** Pass: lcFileName - Wildcard File Spec (d:\temp\*.pdf) +*** lnTimeout - Timeout in seconds +*** Return: the size of the file or -1 on error +************************************************************************ +PARAMETERS lcFileSpec, lnTimeout +PRIVATE lnX,lnFiles, loAPI + +lnTimeout=IIF(EMPTY(lnTimeout),300,lnTimeout) + +lnFiles = aDir(laFiles,lcFileSpec) +*loEval = CREATE([WWC_wwEval]) +FOR lnX=1 to lnFiles + ldtime = CTOT( DTOC(laFiles[lnX,3]) + " " + laFiles[lnX,4] ) + IF ldTime + lnTimeout < DateTime() + * loEval.ExecuteCommand( " ERASE (ADDBS(justpath(lcFileSpec)) + laFiles[lnX,1]) " ) + ERASE (ADDBS(justpath(lcFileSpec)) + laFiles[lnX,1]) + ENDIF +ENDFOR + +RETURN .T. +ENDFUNC + + +************************************************************************ +FUNCTION IsDir +****************** +*** Modified: 10/09/97 +*** Function: Checks to see whether a directory exists +*** Pass: lcPath - Path to check +*** Return: .T. or .F. +************************************************************************* +LPARAMETER lcPath +DIMENSION laTemp[1] +IF ADIR(laTemp,lcPath,"DH") < 1 + RETURN .F. +ENDIF +RETURN .T. + +************************************************************************ +FUNCTION FileSize +****************** +*** Function: Returns the size of a file +*** Pass: lcFileName +*** Return: the size of the file or -1 on error +************************************************************************ +LPARAMETERS lcFileName +LOCAL lh, lnSize + +lh = FOPEN(lcFileName) +IF lh = -1 + RETURN -1 +ENDIF + +lnSize = FSEEK(lh, 0, 2) + +FCLOSE(lh) + +RETURN lnSize +*EOP FileSize + + +************************************************************************ +FUNCTION Slash +****************** +*** Function: Converts slashes from DOS -> Web and vice versa +*** Pass: lcPath - Path to convert +*** lcStyle - "WEB" or "DOS" +*** Return: update path +************************************************************************ +LPARAMETER lcPath, lcStyle +lcStyle=IIF(type("lcStyle")="C",UPPER(lcStyle),"") +IF lcStyle="WEB" + lcPath=CHRTRAN(lcPath,"\","/") +ELSE + lcPath=CHRTRAN(lcPath,"/","\") +ENDIF +RETURN lcPath +*EOP LPARAMETER + + + +************************************************************************ +FUNCTION ProgLevel +****************** +*** Function: Returns the current Calling Stack level. Used to check +*** recursive Error calls in Error methods. +************************************************************************* + +FOR lnX=1 to 128 + IF EMPTY(SYS(16,lnX)) + exit + ENDIF +ENDFOR && lnX=1 to 128 + +*** -1 for lnX count - -1 for ProgLevel Call +RETURN lnX - 2 + + +************************************************************************ +FUNCTION AParseString +********************** +*** Modified: 07/03/97 +*** Function: Parses a delimited string into an array +*** Pass: laResult - Array containing the result strings (@) +*** lcString - The full string +*** lcDelimiter - The delimiter string +*** Return: Count of strings or 0 if null string is passed +************************************************************************* +LPARAMETER laResult, lcString, lcDelimiter +LOCAL lnLastPos, lnItemCount, i + +lnItemCount = OCCURS(lcDelimiter,lcString) + 1 +DIMENSION laResult[lnItemCount] + +lnLastPos=1 + +FOR i=1 to lnItemCount + IF i < lnItemCount + laResult[i] = SUBSTR(lcString,lnLastPos, ; + ATC(lcDelimiter,lcString,i) - lnLastPos ) + ELSE + laResult[i] = SUBSTR(lcString,lnLastPos) + ENDIF + lnLastPos = ATC(lcDelimiter,lcString,i) + LEN(lcDelimiter) +ENDFOR + +RETURN lnItemCount + +************************************************************************ +FUNCTION URLDecode +****************** +*** Function: URLDecodes a text string to normal text. +*** Assume: Uses wwIPStuff.dll +*** Pass: lcText - Text string to decode +*** Return: Decoded string or "" +************************************************************************ +LPARAMETERS lcText +LOCAL lnSize, lnLoc, lcHex, lcRetval + +*** Use wwIPStuff for large buffers +IF LEN(lcText) > 255 + DECLARE INTEGER URLDecode ; + IN WWIPSTUFF AS API_URLDecode ; + STRING @cText + + lnSize=API_URLDecode(@lcText) + + IF lnSize > 0 + lcText = SUBSTR(lcText,1,lnSize) + ELSE + lcText = "" + ENDIF + + RETURN lcText +ENDIF + +*** First convert + to spaces +lcText=STRTRAN(lcText,"+"," ") + +*** Handle Hex Encoded Control chars + +lcRetval = "" +DO WHILE .T. + *** Format: %0A ( CHR(10) ) + lnLoc = AT('%',lcText) + + *** No Hex chars + IF lnLoc > LEN(lcText) - 2 OR lnLoc < 1 + lcRetval = lcRetval + lcText + EXIT + ENDIF + + *** Now read the next 2 characters + *** Check for digits - at this point we must have hex pair! + lcHex=SUBSTR(lcText,lnLoc+1,2) + + *** Now concat the string plus the evaled hex code + lcRetval = lcRetval + LEFT(lcText,lnLoc-1) + ; + CHR( EVAL("0x"+lcHex) ) + + *** Trim out the input string + IF LEN(lcText) > lnLoc + 2 + lcText = SUBSTR(lcText,lnLoc+3) + ELSE + EXIT + ENDIF +ENDDO + +RETURN lcRetval +ENDFUNC +* EOF URLDecode + +************************************************************************ +FUNCTION GetURLEncodedKey +********************************* +*** Function: Retrieves a 'parameter' from the query string that +*** is encoded with standard CGI/ISAPI URL encoding. +*** Typical URL encoding looks like this: +*** +*** "User=Rick+Strahl&ID=0011&Address=400+Morton%0A%0DHood+River" +*** +*** Pass: lcVal - Form Variable to retrieve +*** Return: Value or "" +************************************************************************ +LPARAMETERS tcURLString, lcKey +LOCAL lnLoc,c2, cStr, lcURLString, lcRetval + +lcURLString=IIF(EMPTY(tcURLString),"","&"+tcURLString) +lcKey=IIF(EMPTY(lcKey)," ",lcKey) +lcKey=STRTRAN(lcKey," ","+") + +#IF wwVFPVersion > 6 + lcRetval = STREXTRACT(lcUrlString,"&"+lcKey+"=","&",1,3) +#ELSE + lcRetval=Extract(@lcUrlString,"&"+lcKey+"=","&",,.T.) +#ENDIF + +RETURN URLDecode(lcRetval) +ENDFUNC + + +******************************************************** +FUNCTION URLEncode +******************* +*** Function: Encodes a string in URL encoded format +*** for use on URL strings or when passing a +*** POST buffer to wwIPStuff::HTTPGetEx +*** Pass: tcValue - String to encode +*** Return: URLEncoded string or "" +******************************************************** +LPARAMETER tcValue +LOCAL lcResult, lcChar, lnSize, lnX + +*** Large Buffers use the wwIPStuff function +*** for quicker response +if LEN(tcValue) > 255 + lnSize=LEN(tcValue) + tcValue=PADR(tcValue,lnSize * 3) + + DECLARE INTEGER VFPURLEncode ; + IN WWIPSTUFF ; + STRING @cText,; + INTEGER cInputTextSize + + lnSize=VFPUrlEncode(@tcValue,lnSize) + + IF lnSize > 0 + RETURN SUBSTR(TRIM(tcValue),1,lnSize) + ENDIF + RETURN "" +ENDIF + +*** Do it in VFP Code +lcResult="" + +FOR lnX=1 to len(tcValue) + lcChar = SUBSTR(tcValue,lnX,1) + IF ATC(lcChar,"ABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789") > 0 + lcResult=lcResult + lcChar + LOOP + ENDIF + IF lcChar=" " + lcResult = lcResult + "+" + LOOP + ENDIF + *** Convert others to Hex equivalents + lcResult = lcResult + "%" + RIGHT(transform(ASC(lcChar),"@0"),2) +ENDFOR && lnX=1 to len(tcValue) + +RETURN lcResult +* EOF URLEncode + +#IF WWC_COMPATIBILITY +************************************************************************ +FUNCTION WCSCompile +******************* +*** Modified: 12/31/97 +*** Function: Compiles WCS script files +*** Assume: Requires Runtime version +*** Called by wwMaint using VisualFoxpro.Application +*** Automation object if Runtime is installed. +*** Pass: lcFileSpec - Filespec of files to compile +*** llSilent - No error display +*** Return: "" on success or Error String +************************************************************************* +LPARAMETER lcFileSpec, llSilent +lcFileSpec=IIF(type("lcFileSpec")="C",lcFileSpec,CURDIR() + "*.wcs") + +lcPath = justpath(lcFileSpec) +lcFile = justfname(lcFileSpec) + +IF EMPTY(lcPath) + lcPath = CURDIR() +ENDIF +IF EMPTY(lcFile) + lcFile = "*.WCS" +ENDIF +lcPath = ADDBS(lcPath) + +lcFileSpec = lcPath + lcFile + + +DIMENSION laFiles[1] +lnFiles = ADIR(laFiles,lcFileSpec) +IF lnFiles < 1 + RETURN "No files to compile..." +ENDIF +oScript = CREATE("wwVFPScript",laFiles[1]) +IF TYPE("oScript") <> "O" + Return "Error: Couldn't create wwVFPScriptObject" +ENDIF +oScript.lDeleteGeneratedCode = .F. && Erase WCT files + +FOR lnX = 1 to lnFiles + lcFileName = lcPath+laFiles[lnX,1] + wait window nowait "Compiling "+lcFileName + + *** WCS - Script Text WCX - Compiled WCT - Intermediate + oScript.cFileName = lcFileName + oScript.ConvertPage() + oScript.CompilePage() +ENDFOR + +wait window nowait LTRIM(STR(lnFiles))+ " Web Connection Script file(s) compiled." + +lcErrors = "" +IF !EMPTY(oScript.cCompileErrors) + File2Var(lcPath + "WCS_Script.err",oScript.cCompileErrors) + IF !llSilent + MODI COMM (lcPath + "WCS_Script.err") + ENDIF + lcErrors = File2Var(lcPath + "WCS_Script.err") +ENDIF + +RETURN lcErrors +* EOF WCSCompile +#ENDIF + + + + +* Pass lnX/YFactor by reference +FUNCTION TwipsFactor(lnXFactor, lnYFactor) +LOCAL ln_x_pixels, ln_y_pixels, ln_twips, ln_partial_x, ln_partial_y, ; + ln_hwnd, ln_hdc + +*** Calculate the factor to be used in the HitTest method... +ln_x_pixels = 88 +ln_y_pixels = 90 +ln_twips = 1440 + +DECLARE INTEGER GetActiveWindow IN win32api +DECLARE INTEGER GetActiveWindow IN win32api +DECLARE INTEGER GetDC IN win32api INTEGER iHDC +DECLARE INTEGER GetDeviceCaps IN win32api INTEGER iHDC, INTEGER iIndex + +ln_hwnd = GetActiveWindow() +ln_hdc = GetDC(ln_hwnd) + +ln_partial_x = GetDeviceCaps(ln_hdc, ln_x_pixels) +ln_partial_y = GetDeviceCaps(ln_hdc, ln_x_pixels) + +lnXFactor = ln_twips/ln_partial_x +lnYFactor = ln_twips/ln_partial_y +RETURN + + +************************************************************************ +FUNCTION InputForm +****************** +*** Function: Creates a simple Input form that returns a value +*** Assume: Consists of this function and Form Class +*** Pass: lcValue - Initial value to retrieve +*** lcMessage - The request message +*** lcCaption - Form Caption (_Screen.Caption) +*** lnFormWidth Width of the form +*** lnFieldWidth Widht of the input field +*** lcFormat Format string for the input field +*** lcCancelValue Value returned on a Cancel operation +*** Return: Value or ("" or -1) +************************************************************************ +LPARAMETER lcValue, lcMessage, lcCaption, lnFormWidth, lnFieldWidth, lcFormat,lcCancelValue +PRIVATE pcResult +LOCAL o + +IF PCOUNT() > 6 + pcCancelValue = lcCancelValue +ELSE + pcCancelValue = NULL +ENDIF + +lcValue=IIF(EMPTY(lcValue),"",lcValue) +lcMessage=IIF(EMPTY(lcMessage),"Please enter",lcMessage) +lcCaption=IIF(EMPTY(lcCaption),_SCREEN.Caption,lcCaption) +lnFormWidth=IIF(EMPTY(lnFormWidth),300,lnFormWidth) +lnFieldWidth=IIF(EMPTY(lnFieldWidth),lnFormWidth - 20,lnFieldWidth) +lcFormat=IIF(EMPTY(lcFormat),"@K",lcFormat) + + +lcType = VARTYPE(lcCancelValue) +pcResult = lcValue + +o=CREATE("frmInput") +o.Width = lnFormWidth +o.nFieldWidth = lnFieldWidth +o.Caption = lcCaption +o.cMessage = lcMessage +o.cFormat = lcFormat + +IF lcFormat = "PASSWORD" + o.cFormat = "@K" + o.txtInput.PasswordChar = "*" +ENDIF + + +o.Show() + +IF TYPE("pcResult")="C" + lcValue = TRIM(pcResult) +ELSE + lcValue = pcResult +ENDIF +RETURN lcValue + + +************************************************** +*-- Form: frminput +*-- ParentClass: form +*-- BaseClass: form +DEFINE CLASS frminput AS form + nFieldWidth = 250 + cMessage = "Please enter:" + cFormat = "" + + Top = 0 + Left = 0 + Height = 90 + Width = 300 + ControlBox = .F. + Name = "frmInput" + WindowType = 1 + AutoCenter = .t. + Showwindow = 1 + BorderStyle = 2 + MinButton = .f. + ShowWindow = 1 + MaxButton = .f. + + ADD OBJECT lblMessage AS label WITH ; + AutoSize = .T., ; + Caption = "Message Text:", ; + Height = 17, ; + Left = 7, ; + Top = 11, ; + Width = 81, ; + Name = "lblMessage",; + Font = "Tahoma" ,; + FontSize = 8 + + ADD OBJECT txtinput AS textbox WITH ; + ControlSource = "pcResult", ; + Height = 22, ; + Left = 5, ; + Top = 28, ; + Width = 373, ; + Name = "txtInput",; + Font = "Tahoma" ,; + Default = .T.,; + FontSize = 8 + ADD OBJECT cmdOk AS commandbutton WITH ; + Top = 55, ; + Left = THISFORM.width - 150, ; + Height = 25, ; + Width = 70, ; + Caption = "OK", ; + Default = .T., ; + Fontname="Tahoma",; + Fontsize = 8,; + Cancel = .F.,; + Name = "cmdOK" + + ADD OBJECT cmdCancel AS commandbutton WITH ; + Top = 55, ; + Left = THISFORM.Width - 75, ; + Height = 25, ; + Width = 70, ; + Caption = "\ 0 + THIS.txtInput.Format = THIS.cFormat + ELSE + THIS.txtInput.InputMask = THIS.cFormat + ENDIF + ENDIF + ENDPROC + PROCEDURE cmdOk.Click + RELEASE THISFORM + ENDPROC + PROCEDURE cmdCancel.Click + LOCAL lcType + + IF ISNULL(pcCancelValue) + lcType = TYPE("pcResult") + DO CASE + CASE lcType $ "CM" + pcResult = "" + CASE lcType $ "NIBY" + pcResult = -99999999 + CASE lcType $ "DT" + pcResult = {} + CASE lcType = "L" + pcResult = .f. + ENDCASE + ELSE + pcResult = pcCancelValue + ENDIF + RELEASE THISFORM + ENDPROC +ENDDEFINE +* +*-- EndDefine: frminput +************************************************** + + +************************************************** +FUNCTION IsCOMObject +********************* +*** Function: Checks to see if a COM object +*** or ActiveX control exists +*** Assume: Uses wwAPI +*** Pass: lcProgId - Prog Id of the Class +*** lcClassId - (Optional) If passed in +*** by reference gets ClassId +*** lcClassDescript - (Optional) by ref +*** Return: .T. or .F. +***************************************************** +LPARAMETER lcProgId,lcClassId, lcClassDescript + +IF EMPTY(lcProgId) + RETURN .F. +ENDIF + +loAPI = CREATE("wwAPI") + +*** Retrieve ClassId and Server Name +lcClassId = ; + loAPI.ReadRegistryString(HKEY_CLASSES_ROOT,; + lcProgId + "\CLSID",; + "") +IF ISNULL(lcClassId) + lcClassId = "" + lcClassDescription = "" + RETURN .F. +ENDIF + +lcClassDescript = ; + loAPI.ReadRegistryString(HKEY_CLASSES_ROOT,; + lcProgId,"") + +IF ISNULL(lcClassDescript) + lcClassDescript = "" +ENDIF + +RETURN .T. +* +FUNCTION CopyObject + LPARAMETERS loinput + LOCAL loobject, lafields[1], lnx, lcfield, lctype, llclass, lncount, z, lnlength + IF TYPE("loInput.Class") = "C" + loobject = CREATEOBJECT(loinput.CLASS) + ELSE + loobject = CREATEOBJECT("EMPTY") + ENDIF + lncount = AMEMBERS(lafields, loinput) + FOR lnx = 1 TO lncount + lcfield = LOWER(lafields(lnx)) + IF AT("," + lcfield + ",", "'" + ",activecontrol,classlibrary,baseclass,comment,controls,objects,controlcount," + "class,name,parent,parentalias,parentclass,helpcontextid,whatsthishelpid," + "width,height,top,left,tag,picture,onetomany,childalias,childorder,relationalexpr,timestamp_column,") > 0 + LOOP + ENDIF + lctype = TYPE("loInput." + lcfield) + DO CASE + CASE TYPE('ALEN(loInput.' + lcfield + ')') = "N" + IF TYPE("loObject." + lcfield) = "U" + *!_err=0x1A0A_!(loobject, lcfield + "[1]") + ENDIF + lnlength = ALEN(loinput.&lcfield) + DIMENSION loobject.&lcfield[lnLength] + FOR z = 1 TO lnlength + IF TYPE("loInput." + lcfield + "[z]") = "O" + loobject.&lcfield[z] = CopyObject(EVAL( "loInput." + lcfield + "[z]")) + ELSE + loobject.&lcfield[z] = EVAL("loInput." + lcfield) + ENDIF + ENDFOR + CASE lctype = "O" + IF TYPE("loObject." + lcfield) = "U" + *!_err=0x1A0A_!(loobject, lcfield) + ENDIF + loobject.&lcfield = CopyObject(EVAL("loInput."+lcfield)) + OTHERWISE + IF TYPE("loObject." + lcfield) = "U" + *!_err=0x1A0A_!(loobject, lcfield) + ENDIF + loobject.&lcfield = EVAL("loInput." + lcfield) + ENDCASE + ENDFOR + RETURN loobject +ENDFUNC +* +PROCEDURE CopyObjectProperties + LPARAMETERS loinput, loobject, lnobjectstructureobject + IF (EMPTY(lnobjectstructureobject)) + lnobjectstructureobject = 1 + ENDIF + IF lnobjectstructureobject = 1 + lncount = AMEMBERS(lafields, loinput) + ELSE + lncount = AMEMBERS(lafields, loobject) + ENDIF + FOR lnx = 1 TO lncount + lcfield = LOWER(lafields(lnx)) + IF AT("," + lcfield + ",", "'" + ",activecontrol,classlibrary,baseclass,comment,controls,objects,controlcount," + "class,name,parent,parentalias,parentclass,helpcontextid,whatsthishelpid," + "width,height,top,left,tag,picture,onetomany,childalias,childorder,relationalexpr,timestamp_column,") > 0 + LOOP + ENDIF + lctype = TYPE("loInput." + lcfield) + IF lctype = "O" .OR. lctype = "U" .OR. TYPE('ALEN(loInput.' + lcfield + ')') = "N" + LOOP + ENDIF + IF lnobjectstructureobject = 1 + IF TYPE("loObject." + lcfield) = "U" + LOOP + ENDIF + ELSE + IF TYPE("loInput." + lcfield) = "U" + LOOP + ENDIF + ENDIF + *_**BA=?? 730 + loobject.&lcfield = EVAL("loInput." + lcfield) + *!_err=0xBB_! 738 + *!_err=0xBE_! + DO CASE + CASE TYPE('ALEN(loInput.' + lcfield + ')') = "N" + CASE lctype = "O" + OTHERWISE + ENDCASE + ENDFOR +ENDPROC + +FUNCTION CacheFile + LPARAMETER lcFilename, lnRefreshseconds + LOCAL lcOutput, lnHandle + lcAlias = ALIAS() + IF USED("wwFileCache") + SELECT wwFilecache + ELSE + CREATE CURSOR wwFileCache (fiLename C (120), tiMeread T, coNtent M) + ENDIF + LOCATE FOR fiLename=LOWER(lcFilename) + IF FOUND() + IF lnRefreshseconds>0 .AND. wwFilecache.tiMeread dcom.txt" + &lcCMD + lcResult = FILETOSTR("DCOM.TXT") + ERASE DCOM.TXT + IF .NOT. EMPTY(lcResult) .AND. ATC("ERROR:", lcResult)>0 + MESSAGEBOX(lcProgid+CHR(13)+"Account: "+lcUsername+CHR(13)+ ; + CHR(13)+lcResult, 48, "DCOM Permissions") + RETURN .F. + ENDIF + ELSE + IF .NOT. loApi.wrIteregistrystring(-2147483646, ; + "SOFTWARE\Classes\CLSID\"+lcClassid,"AppId",lcClassid,.T.) + WAIT WINDOW NOWAIT "Unable to write AppID value..." + RETURN + ENDIF + IF .NOT. loApi.wrIteregistrystring(-2147483648,"AppID\"+lcClassid, ; + CHR(0),CHR(0),.T.) + WAIT WINDOW NOWAIT "Unable to write AppID key..." + RETURN + ENDIF + loApi.wrIteregistrystring(-2147483648,"AppID\"+lcClassid,"", ; + lcServername,.T.) + loApi.wrIteregistrystring(-2147483648,"AppID\"+lcClassid,"RunAs", ; + lcRunas,.T.) + ENDIF + WAIT WINDOW NOWAIT "DCOM security context set to: "+lcRunas + RETURN +ENDFUNC +* +FUNCTION DCOMLaunchPermissions + LPARAMETER lcProgid, lcUsername, lcErrormsg + IF .NOT. EMPTY(lcProgid) + lcClassid = "" + llResult = isComobject(lcProgid,@lcClassid) + IF EMPTY(lcClassid) + WAIT WINDOW "Invalid Prog ID" + RETURN .F. + ENDIF + ELSE + lcClassid = "" + ENDIF + lcPath = FULLPATH("dcompermissions.exe") + lcPath = shOrtpath(lcPath) + IF EMPTY(lcClassid) + lcCmd = "RUN "+lcPath+" -da "+lcClassid+" set "+lcUsername+ ; + " permit > dcom.txt" + _CLIPTEXT = lcCmd + ELSE + lcCmd = "RUN "+lcPath+" -aa "+lcClassid+" set "+lcUsername+ ; + " permit > dcom.txt" + _CLIPTEXT = lcCmd + ENDIF + &lcCMD + lcResult = FILETOSTR("DCOM.TXT") + ERASE DCOM.TXT + IF .NOT. EMPTY(lcResult) .AND. ATC("ERROR:", lcResult)>0 + MESSAGEBOX(lcProgid+CHR(13)+"Account: "+lcUsername+CHR(13)+CHR(13)+ ; + lcResult, 48, "DCOM Permissions") + RETURN .F. + ENDIF + IF EMPTY(lcClassid) + lcCmd = "RUN "+lcPath+" -dl "+lcClassid+" set "+lcUsername+ ; + " permit > dcom.txt" + _CLIPTEXT = lcCmd + ELSE + lcCmd = "RUN "+lcPath+" -al "+lcClassid+" set "+lcUsername+ ; + " permit > dcom.txt" + _CLIPTEXT = lcCmd + ENDIF + &lcCMD + lcResult = FILETOSTR("DCOM.TXT") + ERASE DCOM.TXT + IF .NOT. EMPTY(lcResult) .AND. ATC("ERROR:", lcResult)>0 + MESSAGEBOX(lcProgid+CHR(13)+"Account: "+lcUsername+CHR(13)+CHR(13)+ ; + lcResult, 48, "DCOM Permissions") + RETURN .F. + ENDIF + RETURN +ENDFUNC +* +FUNCTION FixPreTags + LPARAMETER lcHtml, lnColwidth + LOCAL lcPre, lcFixed, lcPrecount, lnAt1, lnAt2 + lnPrecount = 1 + DO WHILE .T. + lnAt1 = ATC("", lcHtml, lnPrecount) + IF lnAt1=0 .OR. lnAt2=0 + EXIT + ENDIF + lcPre = SUBSTR(lcHtml, lnAt1, lnAt2-lnAt1) + lcFixed = STRTRAN(lcPre, "

    ", CHR(13)+CHR(10)+CHR(13)+CHR(10)) + lcFixed = STRTRAN(lcFixed, "
    ", CHR(13)+CHR(10)) + lcHtml = STRTRAN(lcHtml, lcPre, lcFixed) + lnPrecount = lnPrecount+1 + ENDDO + RETURN lcHtml +ENDFUNC +* +FUNCTION FixHTMLForDisplay + LPARAMETER lcHtml + lcHTML = STRTRAN(lcHTML,"<","<") + lcHTML = STRTRAN(lcHTML,">",">") + lcHTML = STRTRAN(lcHTML,["],""") + RETURN lcHtml +ENDFUNC +* +FUNCTION DisplayMemo + LPARAMETER lcHtml + lcHtml = STRTRAN(lcHtml, CHR(13)+CHR(10), CHR(13)) + lcHtml = STRTRAN(lcHtml, CHR(10), CHR(13)) + lcHtml = STRTRAN(lcHtml, CHR(13)+CHR(13), "

    ") + RETURN STRTRAN(lcHtml, CHR(13), "
    ") +ENDFUNC +* +FUNCTION GetSystemPassword + LPARAMETER llUsername + loApi = NEWOBJECT("wwAPI", "wwapi.prg") + IF .NOT. llUsername + lcPass = loApi.reAdregistrystring("HKLM", ; + "SOFTWARE\Microsoft\Windows NT\CurrentVersion\Winlogon", ; + "DefaultPassword") + ELSE + lcPass = loApi.reAdregistrystring("HKLM", ; + "SOFTWARE\Microsoft\Windows NT\CurrentVersion\Winlogon", ; + "DefaultUserName") + ENDIF + IF ISNULL(lcPass) + RETURN "" + ENDIF + RETURN lcPass +ENDFUNC +* +FUNCTION GetPassword + LPARAMETER lcMessage + IF EMPTY(lcMessage) + lcMessage = "Please enter your password" + ENDIF + RETURN inPutform(SPACE(20),lcMessage,"Password Entry", , ,"PASSWORD") +ENDFUNC +* +FUNCTION IsDotNet + LPARAMETER lcFrameworkpath, lcVersion + LOCAL loApi, as, wwApi + lcVersion = "" + lcFrameworkpath = "" + loApi = CREATEOBJECT("wwAPI") + lcWindir = loApi.geTsystemdir(.T.) + lcVersion = loApi.reAdregistrystring(-2147483646, ; + "Software\Microsoft\ASP.Net","RootVer") + IF ISNULL(lcFrameworkpath) + RETURN .F. + ENDIF + lcFrameworkpath = ADDBS(loApi.reAdregistrystring(-2147483646, ; + "Software\Microsoft\ASP.Net\"+lcVersion,"Path")) + RETURN .T. +ENDFUNC +* +FUNCTION MergeText + LPARAMETER tcString, tcDelimiter, tcDelimiter2, llNoaspsyntax + LOCAL __Loeval + __Loeval = CREATEOBJECT('wwEval') + RETURN __Loeval.meRgetext(@tcString,tcDelimiter,tcDelimiter2,llNoaspsyntax) +ENDFUNC +* +FUNCTION MimeDateTime + LPARAMETER lvDatetime + LOCAL lcDays, lcMonths, lnCount, lcMonth, ltTime, lnOffset, lnOff, lnDiff + lcMonths = "JanFebMarAprMayJunJulAugSepOctNovDec" + IF VARTYPE(lvDatetime)="C" + DIMENSION laParts[1] + lnCount = apArsestring(@laParts,lvDatetime," ") + IF lnCount<5 + RETURN {} + ENDIF + lcMonth = TRANSFORM((ATC(laParts(3), lcMonths)+2)/3) + ltTime = CTOT(lcMonth+"/"+laParts(2)+"/"+laParts(4)+" "+laParts(5)) + IF lnCount<6 + RETURN ltTime + ENDIF + lnOffset = geTtimezone()/60 + lnOff = VAL(laParts(6))/100 + lnDiff = (lnOffset+lnOff)*3600 + RETURN ltTime-lnDiff + ELSE + IF EMPTY(lvDatetime) + lvDatetime = DATETIME() + ENDIF + lnDay = DOW(lvDatetime) + IF lnDay=0 + RETURN "" + ENDIF + lcDays = "SunMonTueWedThuFriSat" + lcMime = SUBSTR(lcDays, ((lnDay-1)*3)+1, 3)+", "+ ; + TRANSFORM(DAY(lvDatetime))+" " + lcMime = lcMime+SUBSTR(lcMonths, ((MONTH(lvDatetime)-1)*3)+1, 3)+ ; + " "+TRANSFORM(YEAR(lvDatetime))+" "+PADL(HOUR(lvDatetime), ; + 2, "0")+":"+PADL(MINUTE(lvDatetime), 2, "0")+":"+ ; + PADL(SEC(lvDatetime), 2, "0") + lnOffset = geTtimezone()/60 + RETURN lcMime+IIF(lnOffset>0, " -", " +")+ ; + PADL(TRANSFORM(ABS(lnOffset)), 2, "0")+"00" + ENDIF +ENDFUNC +* +FUNCTION PropertyDump + LPARAMETER loObject + LOCAL lnX, lnCount, lcOutput + lnCount = AMEMBERS(laFields, loObject) + lcOutput = "" + FOR lnX = 1 TO lnCount + lcType = TYPE("loObject."+laFields(lnX)) + IF ATC(lcType, "UO")=0 + lvValue = EVALUATE("loObject."+laFields(lnX)) + IF lcType="C" .AND. LEN(lvValue)>80 + lvValue = LEFT(lvValue, 80) + ENDIF + lcOutput = lcOutput+CHR(13)+CHR(10)+LOWER(laFields(lnX))+" = "+ ; + ALLTRIM(TRANSFORM(lvValue, "")) + ELSE + lcOutput = lcOutput+CHR(13)+CHR(10)+LOWER(laFields(lnX))+" = "+ ; + IIF(TYPE("loObject."+laFields(lnX))="O", "Object", ; + "NULL") + ENDIF + ENDFOR + RETURN lcOutput +ENDFUNC +* + +FUNCTION GetMimeType + LPARAMETERS tcExtension + + LOCAL lcExtension + lcExtension = IIF(TYPE('tcExtension') = 'C', LOWER(m.tcExtension), 'txt') + lcType = "text/plain" + + DO CASE + CASE m.lcExtension = "txt" + lcType = "text/plain" + CASE m.lcExtension = "pdf" + lcType = "application/pdf" + CASE INLIST(m.lcExtension, "png", "jpg", "jpeg", "bmp") + lcType = "image/" + m.lcExtension + ENDCASE + RETURN m.lcType +ENDFUNC diff --git a/utile/web/wwwebgraphs.prg b/utile/web/wwwebgraphs.prg new file mode 100644 index 0000000..d6ca34c --- /dev/null +++ b/utile/web/wwwebgraphs.prg @@ -0,0 +1,366 @@ +** +** wwwebgraphs.fxp +** + SET PROCEDURE TO wwWebGraphs ADDITIVE + SET PROCEDURE TO wwUtils ADDITIVE + SET PROCEDURE TO wwAPI ADDITIVE + RETURN + EXTERNAL ARRAY laGraphs, laLabels, laLegend +ENDPROC +* +DEFINE CLASS wwWebGraphs AS Relation + ngRaphtype = 0 + ccAption = "" + ooWc = .NULL. + coWcprogid = "OWC10.ChartSpace" + cpHysicalpath = "" + clOgicalpath = "" + niMagetimeout = 300 + ciMagename = "" + niMagewidth = 750 + niMageheight = 480 + cbAckcolor = "lightyellow" + csEries1color = "darkred" + csEries2color = "darkblue" + csEries3color = "darkgreen" + csEries4color = "orange" + csEries5color = "purple" + csEries6color = "pink" + nMaxColors = 6 + nsHowlegend = 1 +* + FUNCTION Init + LPARAMETER llNoexistcheck + + IF .NOT. llNoexistcheck .AND. .NOT. isComobject(thIs.coWcprogid) + RETURN .F. + ENDIF + thIs.ooWc = CREATEOBJECT(thIs.coWcprogid) + IF VARTYPE(thIs.ooWc)<>"O" + RETURN .F. + ENDIF + RETURN + ENDFUNC +* + FUNCTION GraphSetup + LOCAL loGraph + loGraph = thIs.ooWc.chArts.adD() + loGraph.tyPe = thIs.ngRaphtype + IF thIs.nsHowlegend>0 + loGraph.haSlegend = .T. + ENDIF + loGraph.plOtarea.inTerior.coLor = thIs.cbAckcolor + IF .NOT. EMPTY(thIs.ccAption) + thIs.ooWc.haSchartspacetitle = .T. + thIs.ooWc.chArtspacetitle.caPtion = thIs.ccAption + thIs.ooWc.chArtspacetitle.foNt.boLd = .T. + ENDIF + RETURN loGraph + ENDFUNC +* + PROCEDURE ShowGraphFromCursor + LOCAL x, y, loGraph, lnFields, lnRows, lnSeries, lcElement, lcArray, lnx, ocOnst + lnFields = AFIELDS(laFields, ALIAS()) + lnRows = RECCOUNT() + lnSeries = lnFields-1 + DIMENSION laLabels[lnRows] + FOR x = 1 TO lnSeries + lcArray = "DIMENSION laValues"+TRANSFORM(x)+"["+ ; + TRANSFORM(lnRows)+"]" + &lcArray + ENDFOR + x = 0 + SCAN + x = x+1 + laLabels[x] = TRIM(EVALUATE(FIELD(2))) + FOR y = 1 TO lnSeries + lcElement = "laValues"+TRANSFORM(y)+"["+TRANSFORM(x)+"]" + &lcElement = EVALUATE(FIELD(y+1)) + ENDFOR + ENDSCAN + ocOnst = thIs.ooWc.coNstants + loGraph = thIs.grAphsetup() + lnx = 0 + FOR x = 1 TO lnSeries + loGraph.seRiescollection.adD() + loSeries = loGraph.seRiescollection(x-1) + lnx = lnx + 1 + IF .NOT. INLIST(thIs.ngRaphtype, 18, 19, 58, 59) + + IF lnx > this.nMaxColors && 6 culori maxim + lnx = 1 + ENDIF + + loSeries.inTerior.coLor = EVALUATE("THIS.cSeries"+ ; + TRANSFORM(lnx)+"Color") + ELSE + IF x>1 + EXIT + ENDIF + ENDIF + lcArray = "@laValues"+TRANSFORM(x) + loSeries.caPtion = PROPER(STRTRAN(TRIM(laFields(x+1,1)), "_", " ")) + loSeries.seTdata(ocOnst.chDimcategories,ocOnst.chDataliteral, ; + @laLabels) + loSeries.SetData(oConst.chDimValues, oConst.chDataLiteral, &lcArray) + ENDFOR + ENDPROC +* + PROCEDURE ShowGraphFromArray + LPARAMETER laLabels, laSeries1, lcSeries1, laSeries2, lcSeries2, ; + laSeries3, lcSeries3, laSeries4, lcSeries4, laSeries5, ; + lcSeries5, laSeries6, lcSeries6 + LOCAL x, loGraph, lnSeries, lcArray, lcLabel + lnSeries = (PCOUNT()-1)/2 + loGraph = thIs.grAphsetup() + ocOnst = thIs.ooWc.coNstants + FOR x = 1 TO lnSeries + loGraph.seRiescollection.adD() + IF .NOT. INLIST(thIs.ngRaphtype, 18, 19) + loGraph.seRiescollection(x-1).inTerior.coLor = ; + EVALUATE("THIS.cSeries"+ ; + TRANSFORM(x)+"Color") + ENDIF + lcArray = "@laSeries"+TRANSFORM(x) + lcLabel = EVALUATE("lcSeries"+TRANSFORM(x)) + loGraph.seRiescollection(x-1).caPtion = lcLabel + loGraph.seRiescollection(x-1).seTdata(ocOnst.chDimcategories, ; + ocOnst.chDataliteral,@laLabels) + loGraph.SeriesCollection(x-1).SetData(oConst.chDimValues, oConst.chDataLiteral, &lcArray) + ENDFOR + ENDPROC +* + PROCEDURE ShowGraphFromMultiDimensionalArray + LPARAMETER laGraphs, laLegend + LOCAL loGraph, lnSeries, lnRows, llLegend, x, y + lnSeries = ALEN(laGraphs, 2)-1 + lnRows = ALEN(laGraphs, 1) + loGraph = thIs.grAphsetup() + IF TYPE('ALEN(laLegend)')="N" + llLegend = .T. + ELSE + llLegend = .F. + loGraph.haSlegend = .F. + ENDIF + ocOnst = thIs.ooWc.coNstants + DIMENSION laLabels[lnRows] + FOR y = 1 TO lnRows + laLabels[y] = laGraphs(y,1) + ENDFOR + FOR x = 2 TO lnSeries+1 + loGraph.seRiescollection.adD() + IF .NOT. INLIST(thIs.ngRaphtype, 18, 19) + loGraph.seRiescollection(x-2).inTerior.coLor = ; + EVALUATE("THIS.cSeries"+ ; + TRANSFORM(x)+"Color") + ENDIF + DIMENSION laArray[lnRows] + FOR y = 1 TO lnRows + laArray[y] = laGraphs(y,x) + ENDFOR + IF llLegend + loGraph.seRiescollection(x-2).caPtion = laLegend(x-1) + ENDIF + loGraph.seRiescollection(x-2).seTdata(ocOnst.chDimcategories, ; + ocOnst.chDataliteral,@laLabels) + loGraph.seRiescollection(x-2).seTdata(ocOnst.chDimvalues, ; + ocOnst.chDataliteral,@laArray) + ENDFOR + ENDPROC +* + FUNCTION GetOutput + thIs.seTgraphicsoptions(thIs.ooWc.chArts(0)) + deLetefiles(thIs.cpHysicalpath+"IMG*.gif",thIs.niMagetimeout) + thIs.ciMagename = "IMG"+SYS(2015)+TRANSFORM(apPlication.prOcessid)+".gif" + thIs.ooWc.exPortpicture(thIs.cpHysicalpath+thIs.ciMagename,"gif", ; + thIs.niMagewidth,thIs.niMageheight) + RETURN '' + ENDFUNC +* + PROCEDURE Clear + thIs.ooWc.clEar() + ENDPROC +* + FUNCTION ShowGraphInForm + LPARAMETER lcFormcaption + LOCAL loForm, as, foRm + loForm = CREATEOBJECT("GraphForm") + loForm.adDobject("oPicture","image") + loForm.heIght = thIs.niMageheight + loForm.wiDth = thIs.niMagewidth + loForm.auTocenter = .T. + IF .NOT. EMPTY(lcFormcaption) + loForm.caPtion = lcFormcaption + ENDIF + loForm.opIcture.leFt = 0 + loForm.opIcture.toP = 0 + loForm.opIcture.heIght = thIs.niMageheight + loForm.opIcture.wiDth = thIs.niMagewidth + loForm.opIcture.piCture = thIs.cpHysicalpath+thIs.ciMagename + loForm.opIcture.viSible = .T. + loForm.shOw() + RETURN loForm + ENDFUNC +* + PROCEDURE GetGraphTypes + LPARAMETER lcCursorname + IF EMPTY(lcCursorname) + lcCursorname = "wwWebGraphTypes" + ENDIF + CREATE CURSOR (lcCursorname) (naMe C (80), id I) + TEXT TO lcVar +#define chChartTypeColumnClustered 0 +#define chChartTypeColumnStacked 1 +#define chChartTypeColumnStacked100 2 +#define chChartTypeBarClustered 3 +#define chChartTypeBarStacked 4 +#define chChartTypeBarStacked100 5 +#define chChartTypeLine 6 +#define chChartTypeLineStacked 8 +#define chChartTypeLineStacked100 10 +#define chChartTypeLineMarkers 7 +#define chChartTypeLineStackedMarkers 9 +#define chChartTypeLineStacked100Markers 11 +#define chChartTypeSmoothLine 12 +#define chChartTypeSmoothLineStacked 14 +#define chChartTypeSmoothLineStacked100 16 +#define chChartTypeSmoothLineMarkers 13 +#define chChartTypeSmoothLineStackedMarkers 15 +#define chChartTypeSmoothLineStacked100Markers 17 +#define chChartTypePie 18 +#define chChartTypePieExploded 19 +#define chChartTypePieStacked 20 +#define chChartTypeScatterMarkers 21 +#define chChartTypeScatterLine 25 +#define chChartTypeScatterLineMarkers 24 +#define chChartTypeScatterLineFilled 26 +#define chChartTypeScatterSmoothLine 23 +#define chChartTypeScatterSmoothLineMarkers 22 +#define chChartTypeBubble 27 +#define chChartTypeBubbleLine 28 +#define chChartTypeArea 29 +#define chChartTypeAreaStacked 30 +#define chChartTypeAreaStacked100 31 +#define chChartTypeDoughnut 32 +#define chChartTypeDoughnutExploded 33 +#define chChartTypeRadarLine 34 +#define chChartTypeRadarLineMarkers 35 +#define chChartTypeRadarLineFilled 36 +#define chChartTypeRadarSmoothLine 37 +#define chChartTypeRadarSmoothLineMarkers 38 +#define chChartTypeStockHLC 39 +#define chChartTypeStockOHLC 40 +#define chChartTypePolarMarkers 41 +#define chChartTypePolarLine 42 +#define chChartTypePolarLineMarkers 43 +#define chChartTypePolarSmoothLine 44 +#define chChartTypePolarSmoothLineMarkers 45 +#define chChartTypeColumn3D 46 +#define chChartTypeColumnClustered3D 47 +#define chChartTypeColumnStacked3D 48 +#define chChartTypeColumnStacked1003D 49 +#define chChartTypeBar3D 50 +#define chChartTypeBarClustered3D 51 +#define chChartTypeBarStacked3D 52 +#define chChartTypeBarStacked1003D 53 +#define chChartTypeLine3D 54 +#define chChartTypeLineOverlapped3D 55 +#define chChartTypeLineStacked3D 56 +#define chChartTypeLineStacked1003D 57 +#define chChartTypePie3D 58 +#define chChartTypePieExploded3D 59 +#define chChartTypeArea3D 60 +#define chChartTypeAreaOverlapped3D 61 +#define chChartTypeAreaStacked3D 62 +#define chChartTypeAreaStacked1003D 63 + ENDTEXT + lnLines = ALINES(laLines, lcVar) + FOR x = 1 TO lnLines + lcValue = exTract(laLines(x)," ",CHR(13), ,.T.) + INSERT INTO (lcCursorname) (naMe, id) VALUES ; + (exTract(laLines(x),"#define "," "), VAL(lcValue)) + ENDFOR + REPLACE naMe WITH STRTRAN(naMe, "chChartType", "") ALL + ENDPROC +* + PROCEDURE SetGraphicsOptions + LPARAMETER loChart + RETURN + ENDPROC +* + PROCEDURE nGraphType_Assign + LPARAMETER lvGraphtype + IF VARTYPE(lvGraphtype)="N" + thIs.ngRaphtype = lvGraphtype + RETURN + ENDIF + IF VARTYPE(lvGraphtype)="C" + lvGraphtype = UPPER(lvGraphtype) + DO CASE + CASE lvGraphtype="BAR3D" + thIs.ngRaphtype = 50 + CASE lvGraphtype="BAR" + thIs.ngRaphtype = 0 + CASE lvGraphtype="PIE3D" + thIs.ngRaphtype = 58 + CASE lvGraphtype="PIE" + thIs.ngRaphtype = 18 + CASE lvGraphtype="PIEEXPLODED3D" + thIs.ngRaphtype = 59 + CASE lvGraphtype="PIEEXPLODED" + thIs.ngRaphtype = 19 + CASE lvGraphtype="COLUMN3D" + thIs.ngRaphtype = 51 + CASE lvGraphtype="COLUMN" + thIs.ngRaphtype = 3 + CASE lvGraphtype="LINE3D" + thIs.ngRaphtype = 54 + CASE lvGraphtype="LINEPOINTS" + thIs.ngRaphtype = 7 + CASE lvGraphtype="LINE" + thIs.ngRaphtype = 6 + ENDCASE + ENDIF + ENDPROC +* +ENDDEFINE +* +DEFINE CLASS GraphForm AS Form + shOwwindow = 2 + caPtion = "Graph Results" + maXbutton = .F. + boRderstyle = 2 +ENDDEFINE +* +FUNCTION IsCOMObject + LPARAMETER lcProgid, lcClassid, lcClassdescript + IF EMPTY(lcProgid) + RETURN .F. + ENDIF + loApi = CREATEOBJECT("wwAPI") + lcClassid = loApi.reAdregistrystring(-2147483648,lcProgid+"\CLSID","") + IF ISNULL(lcClassid) + lcClassid = "" + lcClassdescription = "" + RETURN .F. + ENDIF + lcClassdescript = loApi.reAdregistrystring(-2147483648,lcProgid,"") + IF ISNULL(lcClassdescript) + lcClassdescript = "" + ENDIF + RETURN .T. +ENDFUNC + +FUNCTION DeleteFiles + PARAMETER lcFilespec, lnTimeout + PRIVATE lnX, lnFiles, loApi + lnTimeout = IIF(EMPTY(lnTimeout), 300, lnTimeout) + lnFiles = ADIR(laFiles, lcFilespec) + FOR lnX = 1 TO lnFiles + ldTime = CTOT(DTOC(laFiles(lnX,3))+" "+laFiles(lnX,4)) + IF ldTime+lnTimeout (Solo para binarios VFP 9 / Only for VFP 9 binaries) +* +* +DEFINE CLASS wwlight AS custom && A lightweight object that has as many properties and methods as possible hidden. You can use AddProperty on this object to build objects on the fly. Used by wwXML for object generation. + *< CLASSDATA: Baseclass="custom" Timestamp="" Scale="Pixels" Uniqueid="" /> + + HIDDEN AddObject,BaseClass,ClassLibrary,Class,CloneObject,Comment,ControlCount,Controls,Height,HelpContextID,Name,NewObject,Objects,ParentClass,Parent,Picture,ReadExpression,ReadMethod,RemoveObject,ResetToDefault,SaveAsClass,ShowWhatsThis,Tag,WhatsThisHelpID,Width,WriteExpression,WriteMethod + * + Name = "wwlight" + * + +ENDDEFINE + +DEFINE CLASS wwxml AS custom && XML conversion object that handles translation of FoxPro object and cursors to and from XML. + *< CLASSDATA: Baseclass="custom" Timestamp="" Scale="Pixels" Uniqueid="" /> + + #INCLUDE "wconnect.h" + * + *m: addelement && Creates an Element node line with XML tag delimiters and line break. + *m: adofields && Creates an array of fields in VFP compatible format. + *m: adotoxml && Takes an ADO Recordset and converts it to XML. + *m: adoxmltocursor && Converts an ADO generated XML Recordset into a cursor. + *m: arraytoxml && Creates XML from a one dimensional array. + *m: buildandupdateobjectfromxml + *m: buildcursorfromxml && Builds a cursor from the XML datastructure tags. Pass in the datastructure XML DOM element object. + *m: buildobjectfromxml && Uses the structure information of to build an object on the fly. + *m: createadoxml && Creates XML from an ADO RecordSet. Low Level function that creates only an XML fragment without a header. + *m: createarrayxml && Creates inner XML fragment from an array. + *m: createcollectionxml && Creates an XML snippet for a Collection. This is a low level method + *m: createcursorfromschema && Creates a cursor by parsing the Schema + *m: createcursorxml + *m: createdatastructuredtd && Creates the DTD for a data definition. The definition is created only the data definition not a complete DTD. It's missing the DTD header and end as well as the root doc entity. + *m: createdatastructureschema && Creates a schema for the data structure of the document. + *m: createdatastructurexml && Creates a data DTD into THIS.cDTD property. This property contains the structure of a CursorToXML table. + *m: createerrorxml && Creates an error structure block of XML. This block is not a free standing document, but meant to be embedded at any level. + *m: createobjectstructuredtd && Creates the DTD portion of the Object. The definition is created only the data definition not a complete DTD. It's missing the DTD header and end as well as the root doc entity. + *m: createobjectstructureschema && Creates a XData schema for the object passed in. + *m: createobjectstructurexml && Creates XML for the type interface about the object data. + *m: createobjectxml && Creates XML for a single object + *m: cursortoadoxml && Converts the currently selected VFP cursor to an ADO compatible XML document. + *m: cursortors && This method provides conversion from a VFP Cursor to an ADO recordset. It's provided as part of this class because it uses XML output and requires proper encoding. + *m: cursortoxml && Converts a cursor into an XML representation. + *m: datasetxmltocursor && Creates a cursor from an XML Dataset. Creates one cursor at a time and requires that the cursor pre-exist. + *m: encodexml && Encodes an XML string into full UTF-8 format. + *m: foxtypetoxmltype && Changes FoxPro types to XML types + *m: getobjvar && Assumes the XML document is a simple single 'record' object. In this case native code extracts the value of an XML item. Note: Only a single entry should exist. + *m: ismsxmlbug && Checks to see if this version of the parser is bugged. + *m: loadurl && Loads an XML string from an HTTP based URL with an optional post buffer and optional username and password info. + *m: loadxml && Loads an XML string, assigns it to an instance of MS XML and returns a reference to the XML document object. + *m: multicursortoxml && Handles creating a single XML document of multiple cursors named in SQL Passthrough Execute mult-result fasion. + *m: objecttoxml && Converts a live reference of an object to XML. All variables are converted to text and stored. Optionally can walk nested objects. + *m: parseadoxmltocursor + *m: parsexmltoarray && Parses XML into an array. Low Level function only. + *m: parsexmltocollection && Parses XML snippet to a collection + *m: parsexmltocursor && Parses an XML cursor into the cursor using an XML element base node as input. + *m: parsexmltoobject && Process method that parses an XML object into an existing object + *m: setelement && Simplistic method that sets an element value. This method works only on simple XML structures that have a single tag of each kind only. Won't work on hierarchical structures where tag names can be duplicated. + *m: sqlcursortoxml && Executes an ODBC/OleDB backend operation. Works like CursorToXML but takes additional parameters for SQL and connection strings. + *m: xmltoarray && Parses XML created by ArrayToXML back into an array. + *m: xmltocursor && Converts an XML document created with CursorToXML back into a cursor. + *m: xmltoobject && Creates an object from an XML structure. + *m: xmltoobjectnoparser && Special method that can parse XML into an existing object's properties. This method is provided to avoid the IE parser requirement on the client for object parsing. Note: The object must exist - no auto creation from the DTD is supported + *m: xmltypetofoxtype && Changes XML Types to Fox Types. + *m: xmlvaluetofoxvalue && Converts an XML typed string value into a Fox type value. Requires XML type to be passed. + *m: xpathvaluetofoxvalue + *p: cbody && Internal buffer that is used to hold XML text. If a document is to be parsed (simple) body will hold the full document including the header. + *p: cdocrootname && The name of the Root document tag. + *p: cdtd && The XML DTD for the document. This property is empty by default and is prepended to any XML that's output. + *p: cerrormsg && Last Error message + *p: cobjectclass && The class that is used to create a new object with XMLToObject. The default is wwLight which hides all but a few properties of custom. If you want other object properties specify that class here and make sure the class is available. + *p: cpropertyexclusionlist && List of properties that are not included in the XML document. This property is preset to strip out most VFP properties used for Custom objects. You can add to this property to filter out additional properties. Lower case values separated by commas. + *p: cschemaname && Name of the schema to embed + *p: cschemaurl && Url to an external or internal schema + *p: csqlconnectstring && ODBC/OleDB connect string used to connect to a remote data source. + *p: cversion && Version number of the wwXML class. + *p: cxmlheader && The default XML document header. By default this is just the plain XML header without DTD. Used only when creating a document - not set when writing. You may add additional headers to the default or overwrite it . + *p: lcreatedatastructure && Flag that specifies whether CursorToXML creates a DTD for the data definition. The DTD can be used to recreate a table on the other end of an XML connection. + *p: lerror && Holds error flag after a failed method call. + *p: lrecurseobjects && Flag to determine whether objects are expanded into XML. + *p: lskipemptyelements && If an element is 'empty' no value is written. + *p: lsqlpersistconnection && Determines whether a SQL connection is to be kept alive internally + *p: lstriptypeprefix && Strips the 1 character type prefix from object properties when generating output XML from objects. + *p: lusefoxtypes && By default all types are generated using XML types which can be converted to Fox types and back. If you use Fox on both ends of the connection exclusively you can set this flag to .T. to allow the use of native Fox types. + *p: luseparserforobjectimport && This flag is specific to importing object properties from XML. If .t. objects are parsed using Fox code instead of the XML parser. NOTE: This will only work if you actually supply an object reference, not if the object is to be created from the DTD. + *p: lxmlheadersent && Flag describes if header was output already + *p: ncreatedatastructure && 0 - none, 1 - Schema, 2 - DTD + *p: nencoding && Encoding types for the XML document content. 0 - no encoding (Windows Codepage), 1 - UTF8 Encoding. + *p: oxml && MS XMLDom reference used by LoadXML. + * + + * + cbody = + cdocrootname = xdoc + cdtd = + cerrormsg = + cobjectclass = wwLight + cpropertyexclusionlist = -- Override in code. Set in Init() -- + cschemaname = Schema + cschemaurl = + csqlconnectstring = + cversion = 4.55 + cxmlheader = ([] + CHR(13)+CHR(10)) + lcreatedatastructure = .F. + lerror = .F. + lrecurseobjects = .F. + lskipemptyelements = .F. + lstriptypeprefix = .F. + lusefoxtypes = .F. + luseparserforobjectimport = .F. + lxmlheadersent = .F. + Name = "wwxml" + ncreatedatastructure = 0 + nencoding = 0 + oxml = .NULL. + * + + PROCEDURE addelement && Creates an Element node line with XML tag delimiters and line break. + LPARAMETER lcDispField, lvValue, lnIndent, lcAttributes, lcFoxType + LOCAL lcOldData, lnOldHours, lcOldCentury,lcOldMark,lcOutput, lcResult + + lnIndent=IIF(VARTYPE(lnIndent) # "N",2,lnIndent) + IF EMPTY(lcAttributes) + lcAttributes = "" + ELSE + lcAttributes = " " + lcAttributes + ENDIF + + IF EMPTY(lcFoxType) + lcFoxType = VARTYPE(lvValue) + ENDIF + + lcOutput = "" + + DO CASE + CASE TYPE([ALEN(lvValue)]) = "N" + IF THIS.lRecurseObjects + *** THIS CODE MUST BE ON 2 lines of VFP gets confused + lcResult = THIS.CreateArrayXML(@lvValue,lcDispField,,lnIndent+1) + lcAttributes = lcAttributes + [ count="] + TRANSFORM(ALEN(lvValue)) + ["] + IF !EMPTY(lcAttributes) + lcResult = STRTRAN(lcResult,"<" + lcDispField ,"<" + lcDispField + lcAttributes,1,1 ) + ENDIF + lcOutput = lcOutput + lcResult + ELSE + lcOutput = lcOutput + REPLICATE(CHR(9),lnIndent + 1) + "<" + lcDispField + ">(array)" + CRLF + ENDIF + CASE ISNULL(lvValue) + IF THIS.lSkipEmptyElements + RETURN "" + ENDIF + lcOutput = lcOutput + REPLICATE(CHR(9),lnIndent) + "<" +lcDispField + lcAttributes + ">NULL" + CRLF + CASE lcFoxType = "C" + IF THIS.lSkipEmptyElements AND EMPTY(lvValue) + RETURN "" + ENDIF + + IF EMPTY(lvValue) + RETURN REPLICATE(CHR(9),lnIndent ) + "<" + lcDispField + lcAttributes + "/>" + CRLF + ELSE + IF "&" $ lvValue + lvValue = STRTRAN(TRIM(lvValue),"&","&") + ENDIF + IF ">" $ lvValue + lvValue = STRTRAN(lvValue,">",">") + ENDIF + IF "<" $ lvValue + lvValue = STRTRAN(lvValue, "<", "<") + ENDIF + RETURN REPLICATE(CHR(9),lnIndent ) + "<" + lcDispField + lcAttributes + ">" + ; + TRIM(lvValue) + ; + "" + CRLF + ENDIF + CASE lcFoxType = "D" OR lcFoxType = "T" + IF THIS.lSkipEmptyElements AND EMPTY(lvValue) + RETURN "" + ENDIF + + lcOldDate = SET("DATE") + lnOldHours = SET("HOURS") + lcOldCentury = SET("CENTURY") + lcOldMark = SET("MARK") + + SET HOURS TO 24 + SET DATE TO YMD + SET CENTURY ON + SET MARK TO "-" + + lcOutput = lcOutput + REPLICATE(CHR(9),lnIndent) + ; + "<" +lcDispField + lcAttributes + ">" + ; + IIF(!EMPTY(lvValue),STRTRAN( TRANSFORM(lvValue)," ","T" ),"") + ; + "" + CRLF + + SET DATE TO &lcOldDate + SET HOURS TO lnOldHours + SET CENTURY &lcOldCentury + SET MARK TO (lcOldMark) + + CASE lcFoxType = "L" + lcOutput = lcOutput + REPLICATE(CHR(9),lnIndent) + "<" + lcDispField + lcAttributes + ">" +; + IIF( lvValue, "1","0") + "" + CRLF + CASE lcFoxType = "B" + lcOutput = lcOutput + REPLICATE(CHR(9),lnIndent) + "<" + lcDispField + lcAttributes + ">" +; + STRCONV(lvValue,13) + "" + CRLF + CASE lcFoxType = "O" + *** The following *MUST* be separate line or else VFP gets confused + *** in the recursion levels and generates invalid fields + DO CASE + *** Deal with Collections + CASE TYPE("lvValue.BaseClass")="C" AND lvValue.BaseClass = "Collection" + lcResult = THIS.CreateCollectionXML(lvValue,lcDispField,"item",lnIndent ) + + *** Check for XML DOM nodes - embed XML directly + CASE TYPE("lvValue.NodeType") = "N" + lcResult="<" + lcDispField + lcAttributes + ">" + lvValue.Xml + "" && Embed Raw XML + OTHERWISE + *** FoxPro object + lcResult = THIS.CreateObjectXML( lvValue,lcDispField,lnIndent) + ENDCASE + + *!* IF !EMPTY(lcAttributes) + *!* lcResult = STRTRAN(lcResult,"<" + lcDispField ,"<" + lcDispField + lcAttributes,1,1 ) + *!* ENDIF + RETURN lcResult + OTHERWISE + lcOutput = lcOutput + REPLICATE(CHR(9),lnIndent) + "<" +lcDispField + lcAttributes + ">" + TRANSFORM(lvValue) + "" + CRLF + ENDCASE + + RETURN lcOutput + + ENDPROC + + PROTECTED PROCEDURE adofields && Creates an array of fields in VFP compatible format. + LPARAMETER loRS, laFieldList + LOCAL lnX + + lnFields = loRS.Fields.Count + DIMENSION laFieldList[lnFields,4] + + FOR lnX=0 to lnFields-1 + laFieldList(lnX+1,1)= loRS.Fields(lnX).Name + laFieldList(lnX+1,3) = loRS.Fields(lnX).DefinedSize + laFieldList(lnX+1,4) = loRS.Fields(lnX).NumericScale + lnfieldtype=loRS.Fields(lnX).Type + + DO CASE + CASE INLIST(lnFieldType,ADCHAR,ADBSTR) + laFieldList(lnX+1,2) = "C" + CASE INLIST(lnFieldType,ADVARCHAR,ADLONGVARCHAR,; + ADWCHAR,ADVARWCHAR,ADLONGVARWCHAR,; + ADBINARY,ADVARBINARY,ADLONGVARBINARY) + laFieldList(lnX+1,2) = "M" + CASE lnFieldType = adBoolean + laFieldList(lnX+1,2) = "L" + CASE INLIST(lnFieldType,adDate, adDBDate) + laFieldList(lnX+1,2) = "D" + CASE INLIST(lnFieldType,adDBTime, adDBTimeStamp) + laFieldList(lnX+1,2) = "T" + CASE lnFieldType = ADNUMERIC + laFieldList(lnX+1,2) = "N" + laFieldList(lnX+1,3) = loRS.Fields(lnX).Precision + CASE INLIST(lnFieldType,adInteger,adSmallInt,adTinyInt,adUnsignedInt,; + adUnsignedTinyInt,adUnsignedSmallInt,adUnsignedBigInt) + laFieldList(lnX+1,2) = "I" + CASE INLIST(lnFieldType,adCurrency) + laFieldList(lnX+1,2) = "Y" + CASE lnFieldType = adDouble + laFieldList(lnX+1,2) = "B" + laFieldList(lnX+1,3) = loRS.Fields(lnX).Precision + CASE lnFieldType = adSingle + laFieldList(lnX+1,2) = "F" + laFieldList(lnX+1,3) = loRS.Fields(lnX).Precision + OTHERWISE + wait window "Unknown field type: " + TRANS(lnFieldType) + ENDCASE + + * ? lnX,lnFieldType,laFieldList(lnX+1,1),laFieldList(lnX+1,2),laFieldList(lnX+1,3),laFieldList(lnX+1,4) + ENDFOR + + RETURN lnFields + ENDPROC + + PROCEDURE adotoxml && Takes an ADO Recordset and converts it to XML. + LPARAMETER loRS, lcName, lcRowName, lnIndent, llNoHeader + LOCAL lcOutput, lnFields,lnX + + THIS.lError = .F. + THIS.cErrorMsg = "" + + IF VARTYPE(loRS) # "O" + THIS.lError = .T. + THIS.cErrorMsg = "No Recordset Object passed to ADOToXML()." + RETURN "" + ENDIF + IF !llNoHeader + lcOutput = THIS.cXMLHeader + ELSE + lcOutput = "" + ENDIF + + IF EMPTY(lcName) + lcName = LOWER(ALIAS()) + ENDIF + IF EMPTY(lcRowName) + lcRowName = "row" + ENDIF + IF EMPTY(lnIndent) + lnIndent = 0 + ENDIF + + IF THIS.lCreateDataStructure + lcOutput = lcOutput + ; + "" + CRLF + ; + THIS.CreateDataStructureDTD(lcName, lcRowName, loRS) + CRLF + ; + "]>" + CRLF + CRLF + + ENDIF + + lcOutput = lcOutput + REPLICATE(CHR(9), lnIndent) + "<" + THIS.cDocRootName + ">" + CRLF + + + RETURN lcOutput + THIS.CreateADOXML(loRS, lcName, lcRowName, lnIndent) +; + REPLICATE(CHR(9) , lnIndent) + "" + CRLF + ENDPROC + + PROCEDURE adoxmltocursor && Converts an ADO generated XML Recordset into a cursor. + LPARAMETER lvXML, lcAlias + LOCAL loXML, lnX, lnSize, lcCreate + + THIS.lError = .F. + THIS.cErrorMsg = "" + + IF NOT INLIST(VARTYPE(lvXML),"O","C") OR EMPTY(lvXML) + THIS.cErrorMsg = "No XML input passed." + RETURN .F. + ENDIF + + IF EMPTY(lcAlias) + lcAlias = "__wwXML" + ENDIF + + IF VARTYPE(lvXML) # "O" + loXML = CREATEOBJECT(XML_XMLDOM_PROGID) + loXML.LoadXML( lvXML ) + ELSE + *** Input object must be IE 5 XML object + loXML = lvXML + ENDIF + + *** Check for parsing error + IF !EMPTY(loXML.ParseError.reason) + THIS.cErrorMsg = loXML.ParseError.reason + CRLF + ; + "Line: " + TRANSFORM(loXML.ParseError.Line) + CRLF +; + loXML.ParseError.SrcText + RETURN .F. + ENDIF + + *** Make sure spaces are returned properly + loXML.PreserveWhiteSpace = .T. + + *** get the root element node + loDocRoot = loXML.DocumentElement + IF ISNULL(loDocRoot) + THIS.cErrorMsg = "Invalid data root. Data must be in child of document root." + RETURN .F. + ENDIF + + + IF !USED(lcAlias) + *** Assume + THIS.BuildCursorFromXML(loDocRoot.ChildNodes(0).ChildNodes(0),lcAlias) + ELSE + SELE (lcAlias) + ENDIF + + *** Now append the data from the XML + + *** Get the Data root element - ie. the cursor name or 'cursor' + loData = loDocRoot.SelectNodes("rs:data/z:row") && SelectSingleNode("cursor") + IF ISNULL(loData) + THIS.cErrorMsg = "No data provided for element" + RETURN .F. + ENDIF + + RETURN THIS.ParseADOXMLToCursor(loData) + + ENDPROC + + PROCEDURE arraytoxml && Creates XML from a one dimensional array. + LPARAMETER laArray, lcName, lcRow, lnIndent + + RETURN "<" + this.cDocrootname + ">" + CRLF +; + this.CreateArrayXml(@laArray,lcName,lcRow,lnIndent) +; + "" + CRLF + ENDPROC + + PROCEDURE buildandupdateobjectfromxml + LPARAMETER loObjectStructure, loType + LOCAL loObject,lnIndex,llUseCustomTypes, ; + lcType, ; + loAttributes, ; + lcField, ; + lcFoxType + + loObject = .NULL. + + llUseCustomTypes = VARTYPE(loType.aProperties) # "U" + + *** Create the new object + loObject = CREATE(THIS.cObjectClass) + + *** Loop through the XML document to read each property + *** and populate property from it + FOR EACH loField IN loObjectStructure.ChildNodes + loAttributes = loField.ATTRIBUTES + lcField = loField.NodeName + + loObject.ADDPROPERTY(lcField) + IF llUseCustomTypes + #IF wwVFPVersion < 7 + lnIndex = ASCAN(loType.aProperties,lcField,-1,-1) + #ELSE + lnIndex = ASCAN(loType.aProperties,lcField,-1,-1,1) + #ENDIF + + IF lnIndex > 0 + lcType = loType.aProperties[lnIndex + 1] + ELSE + lcType = "string" + ENDIF + ELSE + lcType = loAttributes.GetNamedItem("type").TEXT + ENDIF + + *** We have to check the type for objects + lcFoxType = THIS.xmltypetofoxtype(lcType) + IF lcFoxType = "O" + *** Build the child object and attach it! + loTemp = this.BuildAndUpdateObjectFromXML(loField,poSDL.aTypes[2]) + loObject.&lcField = loTemp + ELSE + *** Just convert and return + loObject.&lcField = this.XMLValueToFoxValue(loField.Text,lcType) + ENDIF + + *!* DO CASE + *!* CASE lcType = "C" + *!* CASE lcType = "N" + *!* loObject.&lcField = lvValue + *!* CASE lcType = "L" + *!* loObject.&lcField = + *!* CASE lcType $ "D" + *!* loObject.&lcField = {} + *!* CASE lcType $ "T" + *!* loObject.&lcField = { / / : } + *!* CASE lcType = "U" + *!* loObject.&lcField = .NULL. + *!* * CASE lcType = "O" + *!* * loObject.&lcField = .NULL. + *!* OTHERWISE + *!* *** Must create an object first then set to .NULL. + *!* *** to get Fox to read the type right + *!* loObject.&lcField = CREATE("Relation") + *!* loObject.&lcField = .NULL. + *!* ENDCASE + ENDFOR + + RETURN loObject + + ENDPROC + + PROCEDURE buildcursorfromxml && Builds a cursor from the XML datastructure tags. Pass in the datastructure XML DOM element object. + LPARAMETER loDataStructure, lcAlias + LOCAL lnX, lnSize, laFields(1), loRecord, loSize + + IF !ISNULL(loDataStructure) + IF loDataStructure.ChildNodes.Length = 0 + *** Try to read the schema instead + loSchema =loDataStructure.ownerDocument.DocumentElement.selectSingleNode("Schema") + IF !ISNULL(loSchema) AND ; + THIS.CreateCursorfromschema(loSchema,lcAlias) + RETURN .T. + ENDIF + THIS.cErrorMsg = "No rows available or schema missing." + THIS.lerror = .T. + RETURN .F. + ENDIF + + loRecord = loDataStructure.ChildNodes(0) + + *** Skip over Schema Record (SQL 2000 schema) + IF loRecord.nodeName="Schema" + loRecord = loRecord.nextSibling + ENDIF + + lnSize = loRecord.childnodes.LENGTH + DIMENSION laFields[lnSize,4] + lnX=0 + FOR EACH loField IN loRecord.ChildNodes + lnX=lnX+1 + loAttributes = loField.ATTRIBUTES + laFields[lnX,1] = loField.NodeName + loType = loAttributes.GetNamedItem("type") + IF ISNULL(loType) + loType = loAttributes.GetNamedItem("dt:type") + ENDIF + + laFields[lnX,2] = THIS.XMLTypeToFoxType(loType.TEXT) + + loSize = loAttributes.GetNamedItem("size") + IF !ISNULL(loSize) + laFields[lnX,3] = INT(VAL(loSize.TEXT)) + ENDIF + + IF laFields[lnX,3] = XML_SCHEMA_MEMOSIZE + laFields[lnX,2] = "M" + laFields[lnX,3] = 0 + ENDIF + + loPrecision = loAttributes.GetNamedItem("precision") + IF !ISNULL(loPrecision) + laFields[lnX,4] = VAL(loPrecision.TEXT) + ELSE + laFields[lnX,4] = 0 + ENDIF + + *** Must check for memos by checking size + IF laFields[lnX,2] = "C" and laFields[lnX,3] = XML_SCHEMA_MEMOSIZE + laFields[lnX,2] = "M" + laFields[lnX,3] = "4" + ENDIF + ENDFOR + + CREATE CURSOR (lcAlias) FROM ARRAY laFields + ELSE + SELE (lcAlias) + ENDIF + RETURN .T. + ENDPROC + + PROCEDURE buildobjectfromxml && Uses the structure information of to build an object on the fly. + LPARAMETER loObjectStructure + LOCAL loObject, llFirstPass + + loObject = .NULL. + + IF wwVFPVersion > 7 + IF THIS.cObjectClass = "wwLight" + this.cObjectClass = "Empty" + ENDIF + ENDIF + + loObject = CREATE(THIS.cObjectClass) + + llFirstPass = .T. + FOR EACH loField IN loObjectStructure.ChildNodes + loAttributes = loField.ATTRIBUTES + lcField = loField.NodeName + + IF llFirstPass + IF ISNULL(loAttributes.GetNamedItem("type")) + this.cErrorMsg = "Can't build object without a schema or DTD." + RETURN NULL + ENDIF + llFirstPass=.F. + ENDIF + + #IF wwVFPVersion > 7 + ADDPROPERTY(loObject,lcField) + #ELSE + loObject.ADDPROPERTY(lcField) + #ENDIF + + lcType = THIS.XMLTypeToFoxType(loAttributes.GetNamedItem("type").TEXT) + DO CASE + CASE lcType = "C" + loObject.&lcField = "" + CASE lcType = "N" + loObject.&lcField = 0 + CASE lcType = "L" + loObject.&lcField = .F. + CASE lcType $ "D" + loObject.&lcField = {} + CASE lcType $ "T" + loObject.&lcField = { / / : } + CASE lcType = "U" + loObject.&lcField = .NULL. + * CASE lcType = "O" + * loObject.&lcField = .NULL. + OTHERWISE + *** Must create an object first then set to .NULL. + *** to get Fox to read the type right + loObject.&lcField = CREATE("Relation") + loObject.&lcField = .NULL. + ENDCASE + ENDFOR + + RETURN loObject + + ENDPROC + + PROCEDURE createadoxml && Creates XML from an ADO RecordSet. Low Level function that creates only an XML fragment without a header. + LPARAMETER loRS, lcName, lcRowName, lnIndent + LOCAL lcOutput, lnFields, lnX, lvValue, lcValue, lcFieldName, lcFieldType + LOCAL lcOldCentury, lcTime, lcOldHours, lcOldDate, lcOldMark + + IF EMPTY(lcName) + lcName = "table" + ENDIF + IF EMPTY(lcRowName) + lcRowName = "row" + ENDIF + IF EMPTY(lnIndent) + lnIndent = 1 + ENDIF + + lcOldDate = SET("DATE") + lnOldHours = SET("HOURS") + lcOldCentury = SET("CENTURY") + lcOldMark = SET("MARK") + + SET HOURS TO 24 + SET DATE TO YMD + SET CENTURY ON + SET MARK TO "-" + + DIMENSION laFieldList[1] + lnFields = THIS.ADOFields(loRS,@laFieldList) + + lcOutput = REPLICATE(CHR(9),lnIndent) + [<] + lcName + [>] + CRLF + + *** Now loop through table + DO WHILE !loRS.Eof + *** Build a Field String + lcValue="" + + lcOutput = lcOutput + REPLICATE(CHR(9),lnIndent + 1) + "<" + lcRowName + ">"+CRLF + FOR lnX=1 TO lnFields + lcfieldname=LOWER(laFieldList[lnX,1]) + lcfieldtype=laFieldList[lnX,2] + + lvValue=loRS.Fields(lnX-1).value + + DO CASE + CASE ISNULL(lvValue) + lcValue="NULL" + CASE lcfieldtype = "C" or lcFieldType = "M" + IF EMPTY(lvValue) + lcOutput = lcOutput + REPLICATE(CHR(9),lnIndent + 2) + "<" + lcfieldname + "/>" + CRLF + LOOP + ELSE + IF CHR(13) $ lvValue OR ">" $ lvValue OR "<" $ lvValue OR "&" $ lvValue or CHR(0) $ lvValue + lcOutput = lcOutput + REPLICATE(CHR(9),lnIndent + 2) + "<" + lcfieldname + ">" + CRLF + LOOP + ELSE + lcValue = TRIM(lvValue) + ENDIF + ENDIF + CASE lcfieldtype="L" + IF THIS.lUseFoxTypes + lcValue=IIF(lvValue,".T.",".F.") + ELSE + lcValue=IIF(lvValue,"1","0") + ENDIF + CASE lcFieldType = "D" + IF EMPTY(lvValue) + lcValue = "" + ELSE + lcValue = DTOC(lvValue) + ENDIF + CASE lcFieldType = "T" + *lcTime = TTOC(lvValue) + IF !EMPTY(lvValue) + lcValue = STRTRAN(TTOC(lvValue)," ","T") + *lcValue = DTOS(lvValue) + "T" + SUBSTR(lcTime,AT(" ",lcTime)+1) + ELSE + lcValue = "" + ENDIF + + CASE lcFieldType = "G" + LOOP &&& General fields are not supported + OTHERWISE + lcValue = TRANSFORM(lvValue) + ENDCASE + + lcOutput = lcOutput + REPLICATE(CHR(9),lnIndent + 2) + "<" + lcfieldname + ">" +; + lcValue + "" + CRLF + ENDFOR && lnX=1 TO lnFields + + lcOutput = lcOutput + REPLICATE(CHR(9),lnIndent + 1) + ""+CRLF + + loRS.MoveNext() + ENDDO + + SET DATE TO &lcOldDate + SET HOURS TO lnOldHours + SET CENTURY &lcOldCentury + SET MARK TO (lcOldMark) + + RETURN lcOutput + REPLICATE(CHR(9),lnIndent) + "" + CRLF + ENDPROC + + PROCEDURE createarrayxml && Creates inner XML fragment from an array. + LPARAMETER laArray, lcName, lcRow, lnIndent + LOCAL lcOutput, lnX, lnY, lnRows, lnCols, lcField, lcType, lvValue, lcTemp + + EXTERNAL ARRAY laArray + lcRow=IIF(EMPTY(lcRow),lcName+ "_item",lcRow) + lnIndent=IIF(vartype(lnIndent) # "N",1,lnIndent) + + lnRows = ALEN(laArray,1) + lnCols = ALEN(laArray,2) + IF lnCols=0 + lnCols=1 + ENDIF + + IF lnCols = 1 + lcOutput = REPLICATE(CHR(9),lnIndent) + [<] + lcName + [>] + CRLF + ELSE + lcOutput = REPLICATE(CHR(9),lnIndent) + [<] + lcName + ; + [ dim='] + TRANSFORM(lnCols) +['>] + CRLF + ENDIF + + FOR lnX=1 TO lnRows + + IF lnCols = 1 + lvValue = laArray[lnX] + lcType = VARTYPE(lvValue) + + *** Must use separate var or VFP gets confused!!! + lcTemp = this.AddElement(lcRow,@lvValue,lnIndent + 1,; + IIF(lcType # "O",[type="] + lcType + ["],[])) + ELSE + lcTemp = "" + FOR lnY = 1 TO lnCols + *** Must use separate var or VFP gets confused!!! + lvValue = laArray[lnX,lnY] + lcType = VARTYPE(lvValue) + lcTemp = lcTemp + ; + this.AddElement(lcRow,@lvValue,lnIndent + 1,; + IIF(lcType # "O",[type="] + lcType + ["],[])) + ENDFOR + ENDIF + + lcOutput = lcOutput + lcTemp + ENDFOR + + RETURN lcOutput + ; + REPLICATE(CHR(9),lnIndent) + "" + CRLF + + ENDPROC + + PROCEDURE createcollectionxml && Creates an XML snippet for a Collection. This is a low level method + LPARAMETER loCollection, lcName, lcRow, lnIndent + LOCAL lcOutput, lnItem, lnX, lvValue, lcType, lcField + + lnItems = loCollection.Count + + *** Loop through the collection fields first (Count, KeySort) + lcOutput = this.CreateobjectXml(loCollection,lcName,lnIndent) + + *** Strip off ending tags + lcOutput = STRTRAN(lcOutput,[] + CRLF,[]) + ; + CHR(9) + [] + CRLF + + + FOR lnX=1 TO lnItems + lvValue = loCollection.Item[lnX] + lcType = VARTYPE(lvValue) + lcField = lcRow + + lcOutput = lcOutput + this.AddElement(lcRow,@lvValue,lnIndent + 2,; + IIF(lcType # "O",[key="] + loCollection.GetKey(lnX) +[" type="] + lcType + ["],; + [key="] + loCollection.GetKey(lnX)+ ["])) + ENDFOR + + + RETURN lcOutput + ; + REPLICATE(CHR(9),lnIndent + 1) + "" + CRLF + ; + REPLICATE(CHR(9),lnIndent) + "" + CRLF + + ENDPROC + + PROCEDURE createcursorfromschema && Creates a cursor by parsing the Schema + LPARAMETER loSchema, lcAlias + LOCAL lcSchemaXML, loFields, lnFields, lcCursor, lcRow, lcXML, lnX, lcName, loXML + + IF ISNULL(loSchema) + RETURN .F. + ENDIF + + lcSchemaXML = loSchema.XML + + loFields = loSchema.selectNodes("ElementType") + IF ISNULL(loFields) + RETURN .F. + ENDIF + + lnFields = loFields.length + IF lnFields < 3 + RETURN .F. + ENDIF + + lcCursor = loFields.item(0).Attributes.GetNamedItem("name").Text + lcRow = loFields.item(1).Attributes.GetNamedItem("name").Text + + *** Create a new XML document with a single record that contains + *** contains the structure and then parse that + + lcXML = ; + [] + ; + lcSchemaxml + ; + [<] + lcCursor + [ xmlns="x-schema:#Schema"><] + lcRow + [>] + CRLF + + + *** Skip over table and row level nodes + FOR lnX = 2 TO lnFields -1 + lcName = loFields.item(lnX).attributes.GetNamedItem("name").text + lcXML = lcXML + ; + [<] +lcName + [/>] + CRLF + ENDFOR + + lcXML = lcXML + [] + + loXML = CREATEOBJECT("wwXML") + loDom = loXML.LoadXML(lcXML) + IF !EMPTY(loDom.ParseError.Reason) + THIS.cErrorMsg = loDom.ParseError.Reason + THIS.lError = .T. + RETURN .F. + ENDIF + + THIS.BuildCursorFromXML(loDOM.DocumentElement.SelectSingleNode(lcCursor),; + lcAlias) + + IF THIS.lError + RETURN .F. + ENDIF + + RETURN .T. + + ENDPROC + + PROCEDURE createcursorxml + PARAMETER lcName, lcRowName, lnIndent, lcSchema + LOCAL lcOutput, lnFields, lnX, lvValue, lcValue, lcFieldName, lcFieldType + LOCAL lcOldCentury, lcTime, lcOldHours, lcOldDate, lcOldMark, lnEncoding + LOCAL lcXML + + IF EMPTY(lcName) + lcName = LOWER( ALIAS() ) + ENDIF + IF EMPTY(lcRowName) + lcRowName = "row" + ENDIF + IF EMPTY(lnIndent) + lnIndent = 0 + ENDIF + IF EMPTY(lcSchema) + lcSchema = "" + ENDIF + + *** Use VFP's internal XML creation and fix up for wwXML formatting + IF wwVFPVersion > 6 + lcXML = "" + lnEncoding = 32 && none + IF THIS.nEncoding = 1 + lnEncoding = 48 + ENDIF + lcAlias = LOWER( ALIAS() ) + CURSORTOXML(lcAlias,"lcxml",1,lnEncoding,0) + + lcXML = STRTRAN(lcXML,; + [] + CHR(13)+CHR(10),; + []) + lcXML = STRTRAN(STRTRAN(lcXML,"<" + lcAlias + ">","<" + lcRowName + ">"),; + "","") + + lcXML = STRTRAN(lcXML,[],[<] + lcName + ; + IIF(!EMPTY(lcSchema),[ xmlns="x-schema:] + lcSchema + ["],[]) + ; + [>]) + + lcXML = STRTRAN(lcXML,[VFPData>], lcName + [>]) + + *** Fix up for XDR schema from XSD + RETURN STRTRAN(STRTRAN(lcXML,">true<",">1<"),">false<",">0<") + ENDIF + + + lcOldDate = SET("DATE") + lnOldHours = SET("HOURS") + lcOldCentury = SET("CENTURY") + lcOldMark = SET("MARK") + + SET HOURS TO 24 + SET DATE TO YMD + SET CENTURY ON + SET MARK TO "-" + + lnFields = AFIELDS(laFieldList) + + lcOutput = REPLICATE(CHR(9),lnIndent) + [<] + lcName + ; + IIF(!EMPTY(lcSchema),[ xmlns="x-schema:] + lcSchema + ["],[]) +[>] + CRLF + + *** Now loop through table + SCAN + *** Build a Field String + lcValue="" + + lcOutput = lcOutput + REPLICATE(CHR(9),lnIndent + 1) + "<" + lcRowName + ">"+CRLF + FOR lnX=1 TO lnFields + lcFieldName=LOWER(laFieldList[lnX,1]) + lcFieldType=laFieldList[lnX,2] + + *** Skip Memo fields + IF lcFieldType = "G" + LOOP + ENDIF + + lvValue=EVAL(lcFieldName) + + DO CASE + CASE ISNULL(lvValue) + lcValue="NULL" + CASE lcFieldType = "C" OR lcFieldType = "M" OR lcFieldType="V" + IF EMPTY(lvValue) + lcOutput = lcOutput + REPLICATE(CHR(9),lnIndent + 2) + "<" + lcFieldName + "/>" + CRLF + LOOP + ELSE + IF "&" $ lvValue + lvValue = STRTRAN(TRIM(lvValue),"&","&") + ENDIF + IF ">" $ lvValue + lvValue = STRTRAN(lvValue,">",">") + ENDIF + IF "<" $ lvValue + lvValue = STRTRAN(lvValue, "<", "<") + ENDIF + lcOutput = lcOutput + REPLICATE(CHR(9),lnIndent + 2) + "<" + lcFieldName + ">" + ; + TRIM(lvValue) + ; + "" + CRLF + LOOP + ENDIF + CASE lcFieldType="L" + IF THIS.lUseFoxTypes + lcValue=IIF(lvValue,".T.",".F.") + ELSE + lcValue=IIF(lvValue,"1","0") + ENDIF + CASE lcFieldType = "D" + IF EMPTY(lvValue) + lcValue ="" + ELSE + lcValue = DTOC(lvValue) + ENDIF + CASE lcFieldType = "T" + + IF !EMPTY(lvValue) + lcValue = STRTRAN(TTOC(lvValue)," ","T") + *lcValue = TTOC(lvValue) + *lcTime = TTOC(lvValue) + *lcValue = DTOS(lvValue) + "T" + SUBSTR(lcTime,AT(" ",lcTime)+1) + ELSE + lcOutput = lcOutput + REPLICATE(CHR(9),lnIndent + 2) + "<" + lcFieldName + "/>" + CRLF + LOOP + ENDIF + CASE lcFieldType = "Y" + lcValue = LTRIM(TRANSFORM(lvValue,"")) + OTHERWISE + lcValue = TRANSFORM(lvValue) + ENDCASE + + lcOutput = lcOutput + REPLICATE(CHR(9),lnIndent + 2) + "<" + lcFieldName + ">" +; + lcValue + "" + CRLF + ENDFOR && lnX=1 TO lnFields + + lcOutput = lcOutput + REPLICATE(CHR(9),lnIndent + 1) + ""+CRLF + ENDSCAN + + SET DATE TO &lcOldDate + SET HOURS TO lnOldHours + SET CENTURY &lcOldCentury + SET MARK TO (lcOldMark) + + IF THIS.nEncoding = 1 + RETURN THIS.EncodeXML(lcOutput + REPLICATE(CHR(9),lnIndent) + "" + CRLF) + ENDIF + + RETURN lcOutput + REPLICATE(CHR(9),lnIndent) + "" + CRLF + ENDPROC + + PROCEDURE createdatastructuredtd && Creates the DTD for a data definition. The definition is created only the data definition not a complete DTD. It's missing the DTD header and end as well as the root doc entity. + LPARAMETER lcName, lcRowName, loRS + LOCAL lcOutput, lnX, lcRow, lnSize, lnPrecision, lcType + + IF EMPTY(lcName) + lcName = lower(Alias()) + ENDIF + IF EMPTY(lcRowName) + lcRowName = "row" + ENDIF + + lcSpace = SPACE(10) + + lcOutput = "" + CRLF + + IF VARTYPE(loRS) = "O" + DIMENSION laFields[1] + lnFields = THIS.ADOFields(loRS,@laFields) + ELSE + lnFields = AFIELDS(laFields) + ENDIF + + lcOutput = lcOutput + "" + CRLF + + FOR lnX=1 to lnFields + lcType = laFields[lnX,2] + + *** Override length and precision + DO CASE + CASE lcType = "M" + lnSize = XML_SCHEMA_MEMOSIZE + lnPrecision = 0 + CASE lcType = "Y" + lnSize = 20 + lnPrecision = 4 + CASE lcType = "G" + LOOP && Skip General Fields + OTHERWISE + lnSize = laFields[lnX,3] + lnPrecision = laFields[lnX,4] + ENDCASE + + lcRow = ; + "" + CRLF +; + "' + CRLF + ENDFOR + + RETURN lcOutput + + ENDPROC + + PROCEDURE createdatastructureschema && Creates a schema for the data structure of the document. + LPARAMETER lcName, lcRowName, loRS, lcSchemaID + LOCAL lcOutput, lnX, lcRow, lcType, lnFields, lcSpace, loRS, lcAttributes, lcRowName, lnSize, lnPrecision + + IF EMPTY(lcName) + lcName = lower(Alias()) + ENDIF + IF EMPTY(lcRowName) + lcRowName = "row" + ENDIF + IF EMPTY(lcSchemaId) + lcSchemaId = "Schema" + ENDIF + + lcSpace = SPACE(10) + + lcOutput = ; + [] + CRLF +; + [ ] + CRLF +; + [ ] + CRLF +; + [ ] +CRLF + ; + [ ] + CRLF + + IF VARTYPE(loRS) = "O" + DIMENSION laFields[1] + lnFields = THIS.ADOFields(loRS,@laFields) + ELSE + lnFields = AFIELDS(laFields) + ENDIF + + FOR lnX=1 to lnFields + lcOutput = lcOutput + [ ] + CRLF + ENDFOR + + lcOutput = lcOutput + [ ] + CRLF + lcAttributes = "" + + FOR lnX=1 to lnFields + lcType = laFields[lnX,2] + *** Override length and precision + DO CASE + CASE lcType = "M" + lnSize = XML_SCHEMA_MEMOSIZE + lnPrecision = 0 + CASE lcType = "Y" + lnSize = 20 + lnPrecision = 4 + CASE lcType = "G" + LOOP && Skip General Fields + OTHERWISE + lnSize = laFields[lnX,3] + lnPrecision = laFields[lnX,4] + ENDCASE + + lcType = THIS.FoxTypeToXMLType(lcType) + + lcOutput = lcOutput + ; + [ ] + CRLF +; + [ ] + CRLF +; + [ ] + CRLF +; + [ ] + CRLF + ; + [ ] + CRLF +; + IIF(lnPrecision # 0,; + [ ] + CRLF + ; + [ ] + CRLF,; + []) +; + [ ] + CRLF + ENDFOR + + + RETURN lcOutput + "" + CRLF + ENDPROC + + PROCEDURE createdatastructurexml && Creates a data DTD into THIS.cDTD property. This property contains the structure of a CursorToXML table. + LPARAMETER lcName, lnIndent + LOCAL lcOutput, lnX, lcRow + + IF EMPTY(lnIndent) + lnIndent = 0 + ENDIF + + lcOutput = "" + + lnFields = AFIELDS(laFields) + FOR lnX=1 to lnFields + lcRow = "" + lcRow = lcRow + ; + REPLICATE(CHR(9),lnIndent+1) + "" + CRLF + ENDFOR + + RETURN REPLICATE(CHR(9),lnIndent) + "" + CRLF + ; + lcOutput + ; + REPLICATE(CHR(9),lnIndent) + "" + CRLF + + + ENDPROC + + PROCEDURE createerrorxml && Creates an error structure block of XML. This block is not a free standing document, but meant to be embedded at any level. + LPARAMETER lcErrorMsg, lnErrorNumber, lnIndent + LOCAL lcXML + + IF VARTYPE(lcErrorMsg) # "C" + RETURN "" + ENDIF + + IF VARTYPE(lnIndent) # "N" + lnIndent = 1 + ENDIF + + lcXML = ; + REPL(CHR(9),lnIndent) + "" + CRLF + + lcXML = lcXML + THIS.AddElement("errormessage",TRIM(lcErrorMsg),lnIndent+1) + + IF VARTYPE(lnErrorNumber) = "N" + lcXML = lcXML + THIS.AddElement("errornumber",lnErrorNumber,lnIndent+1) + ENDIF + + RETURN lcXML + REPL(CHR(9),lnIndent) + "" + + + ENDPROC + + PROCEDURE createobjectstructuredtd && Creates the DTD portion of the Object. The definition is created only the data definition not a complete DTD. It's missing the DTD header and end as well as the root doc entity. + LPARAMETER loObject, lcName + LOCAL lnPropCount, lnX, lcProperty, lcOutput, laFields(1) + + IF EMPTY(lcName) + IF VARTYPE(loObject.CLASS) = "C" + lcName = loObject.CLASS + ELSE + lcName = "object" + ENDIF + ENDIF + + lcOutput = "" + lnPropCount = AMEMBERS(laFields,loObject) + + lcSpace = SPACE(10) + + lcOutput = lcOutput + "" + CRLF + + FOR lnX=1 to lnPropCount + lcProperty = laFields[lnX] + IF "," + lcProperty + "," $ "," + THIS.cPropertyExclusionList + LOOP + ENDIF + + lcType = TYPE("loObject." + lcProperty) + IF lcType = "O" and THIS.lRecurseObjects + lcOutput = THIS.CreateObjectStructureDTD(EVAL("loObject." + lcProperty),lcProperty) + loop + ENDIF + lcOutput = lcOutput + ; + "" + CRLF +; + "' + CRLF + ENDFOR + + RETURN lcOutput + + ENDPROC + + PROCEDURE createobjectstructureschema && Creates a XData schema for the object passed in. + LPARAMETER loObject, lcName, lcSchemaID, lnRecurseType + LOCAL lnPropCount, lnX, lcProperty, lcType, lcOutput, laFields(1), lcObjectHeaders, lcObjectProperties, lcDispField + + IF EMPTY(lcName) + IF VARTYPE(loObject.CLASS) = "C" + lcName = loObject.CLASS + ELSE + lcName = "object" + ENDIF + ENDIF + + + IF EMPTY(lnRecurseType) + lnRecurseType = 0 + ENDIF + IF EMPTY(lcSchemaID) + lcSchemaID = "Schema" + ENDIF + + IF lnRecurseType = 0 + lcOutput = ; + [] + CRLF +; + [ ] + CRLF + ELSE + lcOutput = "" + ENDIF + + lnPropCount = AMEMBERS(laFields,loObject) + + lcObjectHeaders = "" && Top level objects + lcObjectProperties = "" && Properties/Attribute descripts + + + IF lnRecurseType = 0 OR lnRecurseType = 1 + FOR lnX=1 TO lnPropCount + lcProperty = LOWER(laFields[lnX]) + IF "," + lcProperty + "," $ "," + THIS.cpropertyexclusionlist + "," + LOOP + ENDIF + + IF THIS.lStripTypePrefix + lcDispField = SUBSTR(lcProperty,2) + ELSE + lcDispField = lcProperty + ENDIF + + IF THIS.lRecurseObjects + IF TYPE("loObject." + lcProperty) = "O" + lcObjectHeaders = lcObjectHeaders + ; + [ ] + CRLF +; + THIS.createobjectstructureschema(EVALUATE("loObject." + lcProperty),lcDispField,,1) + lcOutput = lcOutput + [ ] + CRLF + LOOP + ENDIF + ENDIF + + lcOutput = lcOutput + [ ] + CRLF + ENDFOR + + lcOutput = lcOutput + [ ] + CRLF +; + [ ]+ CRLF +; + [ ] + CRLF +; + [ ] + CRLF + + lcOutput = lcOutput + [ ] + CRLF + lcObjectHeaders + ENDIF + + IF lnRecurseType = 1 + RETURN lcOutput + lcObjectHeaders + ENDIF + + FOR lnX=1 TO lnPropCount + lcProperty = LOWER(laFields[lnX]) + IF "," + lcProperty + "," $ "," + THIS.cpropertyexclusionlist + "," + LOOP + ENDIF + lcType = THIS.FoxTypeToXMLType(TYPE("loObject." + lcProperty)) + + IF THIS.lStripTypePrefix + lcDispField = SUBSTR(lcProperty,2) + ELSE + lcDispField = lcProperty + ENDIF + + IF THIS.lRecurseObjects AND lcType = "object" + lcObjectProperties = lcObjectProperties + THIS.createobjectstructureschema(EVALUATE("loObject." + lcProperty),lcDispField,,2) + LOOP + ENDIF + + lcObjectProperties = lcObjectProperties + ; + [ ] + CRLF +; + [ ] + CRLF +; + [ ] + CRLF +; + [ ] + CRLF + ENDFOR + + lcOutput = lcOutput + lcObjectProperties + + IF lnRecurseType = 2 + RETURN lcObjectProperties + ENDIF + + RETURN lcOutput + "" + CRLF + + ENDPROC + + PROCEDURE createobjectstructurexml && Creates XML for the type interface about the object data. + LPARAMETER loObject, lcName, lnIndent + LOCAL lnPropCount, lnX, lcProperty, lcOutput + + + IF EMPTY(lcName) + IF VARTYPE(loObject.CLASS) = "C" + lcName = loObject.CLASS + ELSE + lcName = "object" + ENDIF + ENDIF + IF EMPTY(lnIndent) + lnIndent = 0 + ENDIF + + lcOutput = "" + lnPropCount = AMEMBERS(laProperties,loObject) + FOR lnX = 1 TO lnPropCount + lcProperty = lower(laProperties[lnX]) + IF "'" + lcProperty + "," $ "," + THIS.cPropertyExclusionList + "," + LOOP + ENDIF + lcOutput = lcOutput + REPLICATE(CHR(9),lnIndent+1) + ; + [] + CRLF + ENDFOR + + RETURN REPLICATE(CHR(9),lnIndent) + [] + CRLF +; + lcOutput + ; + REPLICATE(CHR(9),lnIndent) + [] + CRLF + + ENDPROC + + PROCEDURE createobjectxml && Creates XML for a single object + LPARAMETER loObject, lcName, lnIndent, lcSchema + LOCAL lcOutput, lnX, lnCount, laFields(1), lcField, lcType, lcOldDate, lnOldHours,; + lcOldCentury, lcOldMark, lcTemp, lcDispField, lcBaseClass, llIsEmptyObject, lcClass + + LOCAL ARRAY laArray(1) + EXTERNAL ARRAY la_array + + lcOldDate = SET("DATE") + lnOldHours = SET("HOURS") + lcOldCentury = SET("CENTURY") + lcOldMark = SET("MARK") + + SET HOURS TO 24 + SET DATE TO YMD + SET CENTURY ON + SET MARK TO "-" + + IF VARTYPE(lnIndent) # "N" + lnIndent = 0 + ENDIF + IF EMPTY(lcSchema) + lcSchema = "" + ENDIF + + *** Empty or SCATTER name objects should never be filtered + lcClass="" + if wwVFPVersion > 7 + IF TYPE("loObject.BaseClass") = "C" + llIsEmptyObject = .F. + lcClass = [ type="object" class="] + LOWER(loObject.Class) + ["] + ELSE + llIsEmptyObject = .T. + lcClass = [ type="object" class="empty"] + ENDIF + ENDIF + + lnCount = AMEMBERS(laFields, loObject) + + + lcOutput = REPLICATE(CHR(9),lnIndent) + [<] + lcName + ; + IIF(!EMPTY(lcSchema),[ xmlns="x-schema:] + lcSchema +["],[]) + ; + lcClass + [>] + CRLF + + FOR lnX=1 TO lnCount + lcField = LOWER(laFields[lnX]) + + *** Handle property exclusions + IF AT("," + lcField + ",","," + THIS.cPropertyExclusionList + ",")>0 + LOOP + ENDIF + + *** Get single type and field values + lcType = TYPE("loObject."+lcField) + lvValue = EVAL("loObject."+lcField) + + IF THIS.lStripTypePrefix + lcDispField = SUBSTR(lcField,2) + ELSE + lcDispField = lcField + ENDIF + + DO CASE + *** Funky check for array (Aaargh, I hate this slow code!!!! + *** and it has to fire first! + CASE TYPE([ALEN(loObject.] + lcField + [)]) = "N" + IF THIS.lRecurseObjects + DIMENSION la_array[1] + ACOPY(loObject.&lcField,la_array) + + *** THIS CODE MUST BE ON 2 lines of VFP gets confused + lcTemp = THIS.CreateArrayXML(@la_array,lcDispField,,lnIndent+1) + lcOutput = lcOutput + lcTemp + ELSE + lcOutput = lcOutput + REPLICATE(CHR(9),lnIndent + 1) + "<" + lcDispField + ">(array)" + CRLF + ENDIF + CASE ISNULL(lvValue) + IF THIS.lSkipEmptyElements + LOOP + ENDIF + lcOutput = lcOutput + REPLICATE(CHR(9),lnIndent+ 1) + "<" +lcDispField + ">NULL" + CRLF + CASE lcType = "C" + IF EMPTY(lvValue) AND THIS.lSkipEmptyElements + LOOP + ENDIF + IF "&" $ lvValue + lvValue = STRTRAN(TRIM(lvValue),"&","&") + ENDIF + IF ">" $ lvValue + lvValue = STRTRAN(lvValue,">",">") + ENDIF + IF "<" $ lvValue + lvValue = STRTRAN(lvValue, "<", "<") + ENDIF + lcOutput = lcOutput + REPLICATE(CHR(9),lnIndent+ 1) + "<" +lcDispField + ">" + ; + TRIM(lvValue) +"" + CRLF + LOOP + CASE lcType = "D" + IF EMPTY(lvValue) + IF THIS.lSkipEmptyElements + LOOP + ENDIF + lcOutput = lcOutput + REPLICATE(CHR(9),lnIndent+ 1) + "<" +lcDispField + ">" + CRLF + ELSE + lcOutput = lcOutput + REPLICATE(CHR(9),lnIndent+ 1) + "<" +lcDispField + ">" +; + TRANSFORM(lvValue) + "" + CRLF + ENDIF + CASE lcType = "T" + IF EMPTY(lvValue) + IF THIS.lSkipEmptyElements + LOOP + ENDIF + lcOutput = lcOutput + REPLICATE(CHR(9),lnIndent+ 1) + "<" +lcDispField + ">" + CRLF + ELSE + lcOutput = lcOutput + REPLICATE(CHR(9),lnIndent+ 1) + "<" +lcDispField + ">" + STRTRAN(TRANSFORM(lvValue)," ","T") + "" + CRLF + ENDIF + CASE lcType = "L" + lcOutput = lcOutput + REPLICATE(CHR(9),lnIndent + 1) + "<" + lcDispField + ">" +; + IIF( lvValue, "1","0") + "" + CRLF + + CASE lcType = "O" + IF THIS.lRecurseObjects + *** The following *MUST* be separate line or else VFP gets confused + *** in the recursion levels and generates invalid fields + IF TYPE("lvValue.BaseClass")="C" AND lvValue.BaseClass = "Collection" + lcTemp = THIS.CreateCollectionXML(lvValue,lcDispField,"item",lnIndent +1) + ELSE + lcTemp= THIS.CreateObjectXML( lvValue,lcDispField,lnIndent+1) + ENDIF + lcOutput = lcOutput + lcTemp + ELSE + lcOutput = lcOutput + REPLICATE(CHR(9),lnIndent+1) + "<" +lcDispField + ">(Object)" + CRLF + ENDIF + CASE lcType = "Y" + lcOutput = lcOutput + REPLICATE(CHR(9),lnIndent+ 1) + "<" +lcDispField + ">" + TRANSFORM(lvValue,"") + "" + CRLF + CASE lcType = "U" + lcOutput = lcOutput + REPLICATE(CHR(9),lnIndent+ 1) + "<" +lcDispField + ">NULL" + CRLF + OTHERWISE + lcOutput = lcOutput + REPLICATE(CHR(9),lnIndent+ 1) + "<" +lcDispField + ">" + TRANSFORM(lvValue) + "" + CRLF + ENDCASE + ENDFOR + + SET DATE TO &lcOldDate + SET HOURS TO lnOldHours + SET CENTURY &lcOldCentury + SET MARK TO (lcOldMark) + + IF THIS.nEncoding = 1 + RETURN THIS.EncodeXML(lcOutput + ; + REPLICATE(CHR(9),lnIndent) + "" + CRLF) + ENDIF + + RETURN lcOutput + ; + REPLICATE(CHR(9),lnIndent) + "" + CRLF + + ENDPROC + + PROCEDURE cursortoadoxml && Converts the currently selected VFP cursor to an ADO compatible XML document. + LPARAMETER lcName, lcRowName, lnIndent, llNoHeader + *** all parameters are ignored here since this is a fixed proprietary format + LOCAL lnX, lcOldDate, lnOldHours, lcOldCentury, lcXML, lnFields, lcT, lcType + + *** Must handle date formatting to force YMD ANSI format + lcOldDate = SET("DATE") + lnOldHours = SET("HOURS") + lcOldCentury = SET("CENTURY") + SET HOURS TO 24 + SET DATE TO YMD + SET CENTURY ON + + THIS.lError = .F. + THIS.cErrorMsg = "" + + *** Standard ADO XML header - always the same + lcXML = ; + [] + CRLF + ; + [] + CRLF + ; + [ ] + CRLF + + *** Now add the Field name attribute types + lnFields = AFIELDS(laFields) + FOR lnX=1 TO lnFields + laFields[lnX,1] = LOWER(laFields[lnX,1]) + lcXML = lcXML + [ ] + CRLF + ENDFOR + + lcXML = lcXML + [ ] + CRLF + ; + [ ] + CRLF + + *** Now add the actual field type information attributes + FOR lnX=1 TO lnFields + lcType = laFields[lnX,2] + lcRecno = TRANS(lnX) + DO CASE + CASE lcType = "C" + lcT = ; + [ ] + CRLF + ; + [ ] + CRLF + CASE lcType = "M" + lcT = ; + [ ] + CRLF + ; + [ ] + CRLF + + CASE lcType = "N" + lcT = ; + [ ] + CRLF + ; + [ ] + CRLF + CASE lcType = "L" + lcT = ; + [ ] + CRLF + ; + [ ] + CRLF + CASE lcType = "D" + lcT = ; + [ ] + CRLF + ; + [ ] + CRLF + CASE lcType = "T" + lcT = ; + [ ] + CRLF +; + [ ] +CRLF + + *** Special Types + CASE lcType = "I" + lcT = ; + [ ] + CRLF + ; + [ ] + CRLF + CASE lcType = "Y" + lcT = ; + [ ] + CRLF + ; + [ ] + CRLF + CASE lcType = "F" + lcT = ; + [ ] + CRLF + ; + [ ] + CRLF + CASE lcType = "B" + lcT = ; + [ ] + CRLF + ; + [ ] + CRLF + + OTHERWISE + *** skip other fields for now + *** only General + ENDCASE + + lcXML = lcXML + lcT + [ ] + CRLF + + ENDFOR + + lcXML = lcXML + [] + CRLF + ; + []+ CRLF + + + *** And now we can add the actual records + *** this is a single XML row with multiple attributes + SCAN + lcXML = lcXML + [",">") + lcT = STRTRAN(lcT,CHR(0),"�") + CASE lcType = "L" + lcT = IIF( lvValue, "True", "False") + CASE lcType = "Y" + lcT = LTRIM(STR(lvValue,15,4)) + CASE lcType = "D" + IF EMPTY(lvValue) + lcT = "1899-12-30" && Don't ask, but this is how ADO does it! + ELSE + lcT = TRANSFORM(lvValue) + ENDIF + CASE lcType = "T" + IF EMPTY(lvValue) + lcT = "1889-12-30T00:00:00" + ELSE + lcT = STRTRAN( TRANSFORM(lvValue)," ","T") + ENDIF + OTHERWISE + lcT = TRANSF( lvValue ) + ENDCASE + + lcXML = lcXML + lcT + "' " + ENDFOR + + lcXML = lcXML + "/>" + CRLF + ENDSCAN + + *** Finish up the XML doc + lcXML = lcXML + [] + CRLF + [] + CRLF + + + SET DATE TO &lcOldDate + SET HOURS TO lnOldHours + SET CENTURY &lcOldCentury + + RETURN lcXML + ENDPROC + + PROCEDURE cursortors && This method provides conversion from a VFP Cursor to an ADO recordset. It's provided as part of this class because it uses XML output and requires proper encoding. + lcXML = THIS.CursorToADOXML() + + lcFile = SYS(2023) + "\" + SYS(2015) + ".xml" + File2Var(lcFile,THIS.EncodeXML(lcXML)) + + oRS = CREATEOBJECT("AdoDB.RecordSet") + oRS.OPEN(lcFile) && Load as XML document + + ERASE (lcFile) + + RETURN oRS + ENDPROC + + PROCEDURE cursortoxml && Converts a cursor into an XML representation. + LPARAMETER lcName, lcRowName, lnIndent, llNoHeader + LOCAL lcOutput, lnFields,lnX + + THIS.lError = .F. + THIS.cErrorMsg = "" + + IF !llNoHeader + lcOutput = THIS.cXMLHeader + ELSE + lcOutput = "" + ENDIF + + IF EMPTY(lcName) + lcName = LOWER(ALIAS()) + ENDIF + IF EMPTY(lcRowName) + lcRowName = "row" + ENDIF + IF EMPTY(lnIndent) + lnIndent = 0 + ENDIF + + + IF THIS.lCreateDatastructure + THIS.nCreateDatastructure = 2 + ENDIF + + DO CASE + CASE THIS.nCreateDataStructure = 0 + lcOutput = lcOutput + REPLICATE(CHR(9) , lnIndent) + "<" + THIS.cDocRootname + ">" + CRLF + CASE THIS.nCreateDatastructure = 1 && Schema + lcOutput = lcOutput + "<" + THIS.cdocrootname + ">" + CRLF + ; + THIS.createdatastructureschema(lcName,lcRowName,,THIS.cSchemaName) + + CASE THIS.nCreateDatastructure = 2 && DTD + lcOutput = lcOutput + ; + "" + CRLF + ; + THIS.CreateDataStructureDTD(lcName, lcRowName) + CRLF + ; + "]>" + CRLF + CRLF + + lcOutput = lcOutput + REPLICATE(CHR(9), lnIndent) + "<" + THIS.cDocRootName + ">" + CRLF + ENDCASE + + *** Add a Schema link + lcSchemaUrl = "" + IF THIS.ncreatedatastructure = 1 + lcSchemaUrl = "#" + THIS.cSchemaName + ELSE + lcSchemaUrl = THIS.cSchemaUrl + ENDIF + + lcOutput = lcOutput + THIS.CreateCursorXML(lcName, lcRowName, lnIndent,lcSchemaUrl) + + RETURN lcOutput + CRLF +; + REPLICATE(CHR(9) , lnIndent) + "" + CRLF + + ENDPROC + + PROCEDURE datasetxmltocursor && Creates a cursor from an XML Dataset. Creates one cursor at a time and requires that the cursor pre-exist. + LPARAMETER lvXML, lcAlias, lcDataSetTableName + LOCAL loXML, x, lnSize, lcCreate, loCursor, loData + + THIS.lError = .F. + THIS.cErrorMsg = "" + + IF VARTYPE(lvXML) = "C" + IF EMPTY(lvXML) + THIS.lError = .T. + THIS.cErrorMsg = "No XML input passed." + RETURN .F. + ENDIF + + *** Note: Parser will properly encode ASCII/ANSI doc without + *** the header. + lvXML = STRTRAN(lvXML,[encoding="utf-8"],"") + ELSE + IF TYPE("lvXML.async") # "L" + THIS.lError = .T. + THIS.cErrorMsg = "No XML input passed." + RETURN .F. + ENDIF + ENDIF + + IF EMPTY(lcAlias) + lcAlias = "__wwXML" + ENDIF + + IF VARTYPE(lvXML) # "O" + loXML = CREATEOBJECT(XML_XMLDOM_PROGID) + loXML.LoadXML( lvXML ) + ELSE + *** Input object must be IE 5 XML object + loXML = lvXML + ENDIF + + *** Required to preserve leading spaces + loXML.PreserveWhiteSpace = .T. + + *** Check for parsing error + IF !EMPTY(loXML.ParseError.reason) + THIS.lerror = .T. + THIS.cErrorMsg = loXML.ParseError.reason + CRLF + ; + "Line: " + TRANSFORM(loXML.ParseError.LINE) + CRLF +; + loXML.ParseError.SrcText + RETURN .F. + ENDIF + + + *** get the root element node + loDocRoot = loXML.DocumentElement + IF ISNULL(loDocRoot) + THIS.lError = .T. + THIS.cErrorMsg = "Invalid XML Doc root. Data must be in child of document root." + RETURN .F. + ENDIF + + *** Parse Schemas + *!* loTableSchemas = loDocRoot.SelectNodes("xsd:schema/xsd:element/xsd:complextype/xsd:choice/xsd:element") + *!* IF ISNULL(loTableSchemas) + *!* THIS.lError = .T. + *!* THIS.cErrorMsg = "No Schemas found" + *!* RETURN .F. + *!* ENDIF + + loDiffGr = loDocRoot.SelectSingleNode("diffgr:diffgram/NewDataSet") + IF !ISNULL(loDiffGr) + IF !EMPTY(lcDataSetTableName) + loCursor = loDocRoot.SelectNodes("diffgr:diffgram/NewDataSet/" + lcDataSetTableName) + IF ISNULL(loCursor) + RETURN "" + ENDIF + RETURN THIS.ParseXMLToCursor(loCursor.Item(0).ParentNode,.T.) && Hand off a node list + ELSE + loCursor = loDocRoot.SelectSingleNode("diffgr:diffgram/NewDataSet") + IF ISNULL(loCursor) + RETURN "" + ENDIF + RETURN THIS.ParseXMLToCursor(loCursor) + ENDIF + ELSE + *** Nodes are directly under the root node + IF !EMPTY(lcDataSetTableName) + loCursor = loDocRoot.SelectNodes(lcDataSetTableName) + IF ISNULL(loCursor) + RETURN "" + ENDIF + RETURN THIS.ParseXMLToCursor(loCursor.item(0).ParentNode,.T.) && Hand off a node list + ELSE + RETURN "" + ENDIF + ENDIF + ENDPROC + + PROCEDURE encodexml && Encodes an XML string into full UTF-8 format. + LPARAMETERS lcXML + #DEFINE USE_API .T. + + IF wwVFPVersion > 6 + RETURN STRCONV(lcXML,9) + ELSE + LOCAL oXML,lcFile, lcUTF, lnSize, lnResult + + #IF USE_API + + #DEFINE CP_ACP 0 + #DEFINE CP_UTF8 65001 + + DECLARE INTEGER MultiByteToWideChar IN Win32API ; + INTEGER nflag,; + INTEGER reserverd, ; + STRING INPUT,; + INTEGER inSize,; + STRING@ OUTPUT,; + INTEGER SIZE + + + *** Presize our buffer + lnWCSize = LEN(lcXML) * 2 + 2 + lcWide = SPACE(lnWCSize) + + lnResult = MultiByteToWideChar(CP_ACP, 0, lcXML, LEN(lcXML),@lcWide, lnWCSize ) + IF lnResult = 0 + RETURN "" + ENDIF + + + DECLARE INTEGER WideCharToMultiByte IN WIN32API ; + INTEGER,; + INTEGER,; + STRING,; + INTEGER,; + STRING @,; + INTEGER,; + INTEGER,; + STRING + + lnSize = LEN(lcXML) + lcUTF = SPACE(lnSize *2 + 2) + *lcWide = STRCONV(lcXML,5) && Fails with large strings (over 450k) + lnResult = WideCharToMultiByte( CP_UTF8,0,lcWide,lnSize,@lcUTF,lnSize * 2 + 2,0,NULL) + IF lnResult = 0 + RETURN "" + ELSE + RETURN LEFT(lcUTF,lnResult) + ENDIF + + #ELSE + DECLARE INTEGER UTF8Encode ; + IN wwIPStuff.DLL ; + STRING lcText,; + STRING @lcUTF + #ENDIF + + lcUTF = SPACE(LEN(lcXML) * 2 + 2) + + #IF !USE_API + lnLength = UTF8Encode(lcXML,@lcUTF) + #ENDIF + IF lnLength = 0 + RETURN "" + ENDIF + + RETURN LEFT(lcUTF,lnLength) + + #UNDEFINE USE_API + + ENDIF + + ENDPROC + + PROCEDURE foxtypetoxmltype && Changes FoxPro types to XML types + LPARAMETER lcFoxType + + IF THIS.lUseFoxTypes + RETURN lcFoxType + ENDIF + + DO CASE + CASE lcFoxType = "C" + lcType = "string" + CASE lcFoxType = "M" + lcType = "string" + CASE lcFoxType $ "N" or lcFoxType $ "F" + lcType = "float" + case lcFoxType $ "YB" + lcType = "number" + CASE lcFoxType = "L" + lcType = "boolean" + CASE lcFoxType = "I" + lcType = "i4" + CASE lcFoxType = "D" + lcType = "date" + CASE lcFoxType = "T" + lcType = "datetime" + CASE lcFoxType = "O" + lcType = "object" + + OTHERWISE + lcType = lcFoxType + ENDCASE + + RETURN lcType + + ENDPROC + + PROCEDURE getobjvar && Assumes the XML document is a simple single 'record' object. In this case native code extracts the value of an XML item. Note: Only a single entry should exist. + LPARAMETER lcItem, lcXMLDoc + LOCAL lcValue + IF EMPTY(lcXMLDoc) + lcValue = Extract(THIS.cBody,"<"+lcItem+">","") + ELSE + lcValue = Extract(@lcXMLDoc,"<"+lcItem+">","") + ENDIF + + IF AT(" 0 + lcValue = Extract(lcValue,"") + ENDIF + + RETURN lcValue + + ENDPROC + + PROCEDURE Init + *** Exclude Custom Property Exclusions + THIS.cPropertyExclusionList = ; + ",activecontrol,classlibrary,baseclass,comment,docked,dockposition,controls,objects,controlcount,"+; + "class,name,parent,parentalias,parentclass,helpcontextid,whatsthishelpid," +; + "width,height,top,left,tag,picture,onetomany,childalias,childorder,relationalexpr,timestamp_column," + + ENDPROC + + PROCEDURE ismsxmlbug && Checks to see if this version of the parser is bugged. + LPARAMETER llNoUI,llForceFail,lnType + PRIVATE oXML + + IF EMPTY(lnType) + lnType = 0 + ENDIF + DO CASE + CASE lnType = 2 + *** Check for MSXML 2 + loEval = CREATEOBJECT("wwEval") + loMSXML = loEval.EVALUATE([ CREATEOBJECT("MSXML2.DOMDocument") ]) + IF loEval.lError OR llForceFail + IF !llNoUI AND ; + MESSAGEBOX("You have an old version of MSXML installed. It is" + CHR(13) + ; + "recommended that you update MSXML to a newer version." + CHR(13) + CHR(13) +; + "Would you like more information from the Web?",32+4,"msXML Version") = 6 + GoUrl("http://msdn.microsoft.com/downloads/default.asp?URL=/downloads/sample.asp?url=/msdn-files/027/001/596/msdncompositedoc.xml") + ENDIF + RETURN .T. + ENDIF + + OTHERWISE + oXML=CREATEOBJECT(XML_XMLDOM_PROGID) + + loEval = CREATE("wwEval") + loEval.EVALUATE([ oXML.LoadXML("") ]) + + IF loEval.lError OR llForceFail + IF !llNoUI AND ; + MESSAGEBOX("The version of MSXML.DLL on your system contains" + CHR(13) +; + "a bug that causes undocumented COM errors. It is" + CHR(13) + ; + "recommended that you update MSXML to a newer version." + CHR(13) + CHR(13) +; + "Would you like more information from the Web?",32+4,"msXML Bug") = 6 + GoUrl("http://www.west-wind.com/webconnection/msxml.asp") + ENDIF + RETURN .T. + ENDIF + ENDCASE + + RETURN .F. + + ENDPROC + + PROCEDURE loadurl && Loads an XML string from an HTTP based URL with an optional post buffer and optional username and password info. + LPARAMETER lcUrl, lcPostBuffer, lcUserName, lcPassword, lnTimeout + LOCAL lnSize, lcData, lnResult, llHTTPS, loIP + + THIS.cErrorMsg = "" + THIS.lError = .F. + + + loIP = CREATE("wwHTTP") + IF VARTYPE(lnTimeout) = "N" + loIP.nConnectTimeout = lnTimeout + ENDIF + + IF !EMPTY(lcPostBuffer) + *** Raw buffer post - XML Data only + loIP.nHTTPPostMode = 4 && XML + loIP.AddPostKey("",lcPostBuffer) + ENDIF + + *** Now call new HTTPGet to pull the actual data + lcResult = loIP.HTTPGet(lcUrl,lcUserName,lcPassword) + IF !EMPTY(lcResult) + RETURN lcResult + ELSE + IF loIP.nError # 0 + THIS.lError = .T. + THIS.cErrorMsg = loIP.cErrorMsg + ENDIF + ENDIF + + RETURN "" + + ENDPROC + + PROCEDURE loadxml && Loads an XML string, assigns it to an instance of MS XML and returns a reference to the XML document object. + LPARAMETER lcXML, llAsync, llPreserveWhiteSpace + LOCAL loXML + + THIS.lError = .f. + THIS.cErrorMsg = "" + + IF VARTYPE(lcXML) = "O" + *** Use existing ref if passed in + loXML = lcXML + ELSE + lcXML=IIF(EMPTY(lcXML),"",lcXML) + + IF VARTYPE(THIS.oXML) # "O" + *** Create if it doesn't exist already + loXML = CREATE(XML_XMLDOM_PROGID) + loXML.Async = llAsync + ELSE + *** If we have one already - reuse it! + loXML = THIS.oXML + loXML.Async = llAsync + ENDIF + loXML.LoadXML(lcXML) + ENDIF + + *** Check for parsing error + IF TYPE("loxml.parseerror.reason")="C" AND ; + !EMPTY(loXML.ParseError.reason) + THIS.cErrorMsg = loXML.ParseError.reason + CRLF + ; + "Line: " + TRANSFORM(loXML.ParseError.LINE) + CRLF +; + loXML.ParseError.SrcText + THIS.lError = .T. + RETURN .NULL. + ENDIF + + loXML.PreserveWhiteSpace = .T. + + RETURN loXML + + + ENDPROC + + PROCEDURE multicursortoxml && Handles creating a single XML document of multiple cursors named in SQL Passthrough Execute mult-result fasion. + LPARAMETER lcCursorName, lnCount, lcRowName, lnIndent + LOCAL lnX + + IF EMPTY(lcCursorName) + lcCursorName = lower(ALias()) + ENDIF + IF EMPTY(lnCount) + lnCount = 0 + ENDIF + IF EMPTY(lcRowName) + lcRowName = "row" + ENDIF + IF EMPTY(lnIndent) + lnIndent = 0 + ENDIF + + lcSchema = "" + lcXML = "" + + *** Encode each cursor and concat + FOR lnX=1 to lnCount + IF lnX=1 + lcTCursor = lcCursorName + ELSE + lcTCursor = lcCursorName + TRANSFORM(lnX-1) + ENDIF + + SELE (lcTCursor) + IF THIS.nCreateDataStructure = 1 + lcSchema = lcSchema + THIS.CreateDataStructureSchema(lcTCursor,lcRowName,,lcTCursor) + ENDIF + + lcXML = lcXML + THIS.CreateCursorXML(lcTCursor, lcRowName, lnIndent+1,; + IIF(THIS.nCreateDataStructure=1,"#" + lcTCursor,"")) + ENDFOR + + + RETURN ; + THIS.cXMLHeader +; + REPLICATE(CHR(9), lnIndent) + "<" + THIS.cDocRootName + ">" + CRLF + ; + lcSchema + ; + lcXML + ; + REPLICATE(CHR(9), lnIndent) + "" + CRLF + + ENDPROC + + PROCEDURE objecttoxml && Converts a live reference of an object to XML. All variables are converted to text and stored. Optionally can walk nested objects. + LPARAMETER loObject, lcName, lnIndent, llNoHeader + LOCAL lnX, lnCount, lcOutput, lcField, lcType, lvValue, lcSchemaurl + LOCAL ARRAY laFields[1] + #INCLUDE WCONNECT.H + THIS.lError = .F. + THIS.cErrorMsg = "" + + IF EMPTY(lnIndent) + lnIndent=0 + ENDIF + + IF EMPTY(lcName) + IF TYPE("loObject.Class") # "U" + lcName = LOWER(loObject.CLASS) + ELSE + lcName = "class" + ENDIF + ENDIF + + *** Check if we need to add the XML header + IF !llNoHeader + *** Standard header or the one you've set! + lcOutput = THIS.cXMLHeader + ELSE + lcOutput = "" + ENDIF + + + IF ISNULL(loObject) + RETURN lcOutput + "<"+lcName+">NULL" +CRLF + "" + ENDIF + + *** Backwards compatibility + IF THIS.lcreatedatastructure + THIS.ncreatedatastructure = 2 + ENDIF + + DO CASE + *** DTD code + CASE THIS.ncreatedatastructure = 2 + lcOutput = lcOutput + ; + "" + CRLF + ; + THIS.CreateObjectStructureDTD(loObject,lcName) + CRLF + ; + "]>" + CRLF + ; + "<" + THIS.cDocRootName + ">" + CRLF + *** Schema Code + CASE THIS.ncreatedatastructure = 1 + lcOutput = lcOutput + "<" + THIS.cDocRootName + ">" + CRLF + ; + THIS.createobjectstructureschema(loObject,lcName,THIS.cSchemaName) + OTHERWISE + *** No Data structure + lcOutput = lcOutput + "<" + THIS.cDocRootName + ">" + CRLF + ENDCASE + + IF THIS.ncreatedatastructure = 1 + *** Generating embedded schema - make sure name and link match + lcSchemaUrl = "#" + THIS.cschemaname + ELSE + *** Otherwise use the external schema specified + lcSchemaUrl = THIS.cSchemaUrl + ENDIF + + THIS.cBody = lcOutput + THIS.CreateObjectXML(loObject,lcName,lnIndent + 1, lcSchemaURL) + ; + "" + CRLF + + RETURN THIS.cBody + + ENDPROC + + PROCEDURE parseadoxmltocursor + LPARAMETER loData + LOCAL lnFields, laFields(1),lnX, lcType, lcField, loRow + + lcOldDate = SET("DATE") + lnOldHours = SET("HOURS") + lcOldCentury = SET("CENTURY") + lnOldStrictDate = SET("STRICTDATE") + + SET HOURS TO 24 + SET DATE TO YMD + SET CENTURY ON + SET STRICTDATE TO 0 + + lnFields = AFIELDS(laFields) + + FOR EACH loRow IN loData + APPEND BLANK + _lcXML = loRow.XML + FOR lnX = 1 TO lnFields + lcField = LOWER(laFields[lnX,1]) + lcType = laFields[lnX,2] + + *** This code uses the parser for individual fields + loValue = loRow.Attributes.getnameditem(lcField) + IF ISNULL(loValue) + LOOP + ENDIF + lcValue = loValue.TEXT + loValue = 0 + + DO CASE + CASE lcValue = "NULL" + lcValue = .NULL. + CASE lcType $ "CM" + *lcValue = + CASE lcType $ "NIF" + lcValue = VAL(lcValue) + CASE lcType = "T" + lcValue = CTOT(lcValue) + CASE lcType = "D" + lcValue = CTOD(lcValue) + CASE lcType = "L" + IF THIS.lUseFoxTypes + lcValue = EVAL(lcValue) + ELSE + IF lcValue = "True" + lcValue = .T. + ELSE + lcValue = .F. + ENDIF + ENDIF + CASE lcType = "G" + LOOP + OTHERWISE + lcValue = EVAL(lcValue) + ENDCASE + REPLACE (lcField) WITH lcValue + ENDFOR + ENDFOR + + SET DATE TO &lcOldDate + SET HOURS TO lnOldHours + SET CENTURY &lcOldCentury + SET STRICTDATE TO lnStrictDate + + RETURN .T. + + + ENDPROC + + PROCEDURE parsexmltoarray && Parses XML into an array. Low Level function only. + LPARAMETER loXMLObject, laArray, llParseCaseInsensitive + LOCAL lnSize, lnX, loObject, lcField, lcType, lnProperties, loProperty + LOCAL laProperties[1], loProperty, lcValue, lnDimensions + + IF ISNULL(loXMLObject) + THIS.cErrorMsg = "No data provided for element" + RETURN .F. + ENDIF + + loDim = loXmlObject.Attributes.GetNamedItem("dim") + IF !ISNULL(loDim) + lnDimensions = VAL( loDim.Value ) + IF lnDimensions = 0 + lnDimensions = 1 + ENDIF + ELSE,, + lnDimensions=1 + ENDIF + + *** Walk the object and then pull properties + *** from the XML to repopulate it + lcName = loXMLObject.NodeName + loRows = loXMLObject.ChildNodes &&SelectNodes(loXMLObject.NodeName + "_item") + lnRows = loRows.length + + lcValue = laArray[1] + lcType = VARTYPE(laArray[1]) + + IF lcType = "O" + DIMENSION laArray[lnRows] + FOR lnX = 1 to lnRows + laArray[lnX] = CopyObject(lcValue) && New Obj ref created + ENDFOR + lcValue = 0 + ELSE + DIMENSION laArray[lnRows] + ENDIF + + lnX=0 + FOR EACH oRow in loRows + lnX= lnX + 1 + + *** If array item one is an object assume Object Array + *** NO TYPE CHECKS OCCUR + IF lcType = "O" + *** First element MUST CONTAIN object + THIS.ParseXMLToObject(oRow,laArray[lnX],llParseCaseInsensitive) + LOOP + ENDIF + + loType = oRow.attributes.getNamedItem("type") + IF !ISNULL(loType) + lcType = lotype.Text + ENDIF + + lcValue = oRow.TEXT + + DO CASE + CASE lcType $ "CM" + laArray[lnX] = STRTRAN(lcValue,"�",CHR(0)) + CASE lcType $ "NIF" + laArray[lnX] = VAL(lcValue) + CASE lcType = "T" + laArray[lnX] = CTOT(lcValue) + CASE lcType = "D" + laArray[lnX] = CTOD(lcValue) + CASE lcType = "L" + IF lcValue = "True" OR lcValue = "1" + laArray[lnX] = .T. + ELSE + laArray[lnX] = .F. + ENDIF + OTHERWISE + *** If we have an object + laArray[lnX] = .NULL. + *** OTHERWISE && Do nothing + ENDCASE + ENDFOR + + *** Create the multidimensional array + *** through redimensioning + IF lnDimensions > 1 + lnElems = ALEN(laArray,0) / lnDimensions + DIMENSION laArray[lnElems,lnDimensions] + ENDIF + + RETURN .T. + + ENDPROC + + PROCEDURE parsexmltocollection && Parses XML snippet to a collection + LPARAMETER loXMLObject, loCollection as Collection + LOCAL lnX, lcName, loRows, lnRows, loITem + + IF ISNULL(loXMLObject) + THIS.cErrorMsg = "No data provided for element" + RETURN .f. + ENDIF + + *** Walk the object and then pull properties + *** from the XML to repopulate it + *lcName = loXMLObject.NodeName + loRows = loXMLObject.SelectNodes("items/item") + loCollection.KeySort = VAL(loXmlObject.SelectSingleNode("keysort").text) + lnRows = loRows.length + + *** If there's already an item in there assume it's the 'match' type + IF loCollection.Count = 1 + lvTemplate = loCollection.item(1) + lcTemplateType = VARTYPE(lvTemplate) + IF lcTemplateType = "O" + lvTemplate = CopyObject(loCollection.Item(1)) + loCollection.Remove(1) + ENDIF + ELSE + lvTemplate = null + lcTemplateType = "" + ENDIF + + + + lnX = 0 + FOR EACH oRow in loRows + lnX= lnX + 1 + + lcValue = oRow.TEXT + LOCAL loT + loT = oRow.Attributes.GetNamedItem("key") + IF !ISNULL(loT) + lcKey = loT.TEXT + ELSE + lcKey = "" + ENDIF + loT = oRow.Attributes.GetNamedItem("type") + IF !ISNULL(lot) + lcType = loT.TEXT + ELSE + lcType = "C" + ENDIF + + + DO CASE + CASE lcType $ "CM" + IF (EMPTY(lcKey)) + loCollection.Add(STRTRAN(lcValue,"�",CHR(0))) + ELSE + loCollection.Add(STRTRAN(lcValue,"�",CHR(0)),lcKey) + ENDIF + + CASE lcType = "O" OR lcType="object" + IF lcTemplateType="O" + *** Create new element by copying the template + IF !EMPTY(lcKey) + loItem = loCollection.Add(CopyObject(lvTemplate),lcKey) + ELSE + loItem = loCollection.Add(CopyObject(lvTemplate)) + ENDIF + this.Parsexmltoobject(oRow,loCollection.Item(lnX)) + ENDIF + CASE lcType $ "NIFY" + loCollection.Add( VAL(lcValue),lcKey) + CASE lcType = "T" + loCollection.Add( CTOT(lcValue),lcKey) + CASE lcType = "D" + loCollection.Add( CTOD(lcValue),lcKey) + CASE lcType = "L" + IF lcValue = "True" + loCollection.Add(.T.,lcKey) + ELSE + loCollection.Add(.F.,lcKey) + ENDIF + OTHERWISE + *** If we have an object + loCollection.Add(.NULL.,lcKey) + ENDCASE + ENDFOR + + RETURN .T. + + ENDPROC + + PROCEDURE parsexmltocursor && Parses an XML cursor into the cursor using an XML element base node as input. + LPARAMETER loData, llNodeList + LOCAL lnFields, laFields(1),lnX, lcType, lcField, loValue + LOCAL lcOldDate, lcOldHours, lcOldCentury, lnOldStrictDate + + #IF WWXML_USE_VFP_XMLTOCURSOR + *** Use the XML + *** THIS CODE REQUIRES VFP7 SP1 or later! + LOCAL lcXML + lcXML = loData.XML + + *** Have to strip namespace first to get rid + *** of wwXML schema + IF ("xmlns=" $ LEFT(lcXML,40) ) + lcXML = STRTRAN(lcXML,"xmlns=","_noxmlns=",1,1) + ENDIF + + XMLTOCURSOR( lcXML ,ALIAS(),8192) + RETURN .T. + #ENDIF + + lcOldDate = SET("DATE") + lnOldHours = SET("HOURS") + lcOldCentury = SET("CENTURY") + lnOldStrictDate = SET("STRICTDATE") + + SET HOURS TO 24 + SET DATE TO YMD + SET CENTURY ON + SET STRICTDATE TO 0 + + lnFields = AFIELDS(laFields) + + IF llNodeList + *** Use the table level node ...
    + loRows = loData + ELSE + *** Directly work with the rows ... + loRows = loData.ChildNodes + ENDIF + + FOR EACH loRow IN loRows + APPEND BLANK + FOR lnX = 1 TO lnFields + lcField = LOWER(laFields[lnX,1]) + lcType = laFields[lnX,2] + + *** This code uses the parser for individual fields + loValue = loRow.SelectSingleNode(lcField) + IF ISNULL(loValue) + LOOP + ENDIF + lcValue = loValue.TEXT + loValue = 0 + + DO CASE + *!* CASE lcValue = "NULL" + *!* lcValue = .null. + CASE lcType $ "CM" + *lcValue = + CASE lcType $ "NIF" + lcValue = VAL(lcValue) + CASE lcType = "T" + IF wwVFPVERSION >= 8 + lcValue = CTOT(lcValue) && VFP 7 includes native conversion routines + ELSE + lcValue = CTOT(SUBSTR(CHRTRAN(lcValue,"TZ"," "),1,16)) + ENDIF + CASE lcType = "D" + lcValue = CTOD(STRTRAN(lcValue,"TZ"," ")) + CASE lcType = "L" + IF THIS.lUseFoxTypes + lcValue = EVAL(lcValue) + ELSE + IF lcValue = "true" OR lcValue = "1" + lcValue = .T. + ELSE + lcValue = .F. + ENDIF + ENDIF + CASE lcType = "G" + *** Ignore + LOOP + OTHERWISE + lcValue = EVAL(lcValue) + ENDCASE + REPLACE (lcField) WITH lcValue + ENDFOR + ENDFOR + + SET DATE TO &lcOldDate + SET HOURS TO lnOldHours + SET CENTURY &lcOldCentury + SET STRICTDATE TO lnOldStrictDate + + RETURN .T. + + ENDPROC + + PROCEDURE parsexmltoobject && Process method that parses an XML object into an existing object + LPARAMETER loXMLObject, loObject, llParseCaseInsensitive + LOCAL lnSize, lnX, loObject, lcField, lcType, lnProperties, loProperty,laProperties[1] + LOCAL lcOldDate, lcOldHours, lcOldCentury, lnOldStrictDate, loProperty + + IF ISNULL(loXMLObject) + THIS.cErrorMsg = "No data provided for element" + RETURN .NULL. + ENDIF + IF VARTYPE(loObject) # "O" + THIS.cErrorMsg = "No input object provided" + RETURN .NULL. + ENDIF + + lcOldDate = SET("DATE") + lnOldHours = SET("HOURS") + lcOldCentury = SET("CENTURY") + lnOldStrictDate = SET("STRICTDATE") + + SET HOURS TO 24 + SET DATE TO YMD + SET CENTURY ON + SET STRICTDATE TO 0 + + *** Walk the object and then pull properties + *** from the XML to repopulate it + lnProperties = AMEMBERS(laProperties,loObject) + + lnX=0 + FOR lnX=1 TO lnProperties + *** Get field name and type info + lcField = lower(laProperties[lnX]) + IF THIS.lStripTypePrefix + lcXMLField = SUBSTR(lcField,2) + ELSE + lcXMLField = lcField + ENDIF + + IF "," + lcField + "," $ this.cPropertyexclusionlist + LOOP + ENDIF + + lcType = TYPE("loObject." + lcField) + + *** Retrieve the XML node for the item + loProperty = loXMLObject.SelectSingleNode(lcXMLField) + + IF ISNULL(loProperty) + *** Parse Case Sensitively - NOTE THIS IS SLOW! + IF llParseCaseInsensitive + FOR EACH Tnode IN loXMLObject.ChildNodes + IF LOWER(TNode.nodeName) = lcXMLField + loProperty = TNode + EXIT + ENDIF + ENDFOR + IF ISNULL(loProperty) + LOOP + ENDIF + ELSE + LOOP + ENDIF + ENDIF + lcValue = loProperty.TEXT + + DO CASE + *** Arrays only support object arrays + *** Object must already exist in first element + CASE THIS.lRecurseObjects AND ; + TYPE("ALEN(loObject." + lcField + ")") == "N" + + DIMENSION laArray[1] + laArray[1] = EVAL("loObject." + lcField + "[1]") + THIS.ParseXMLToArray(loProperty,@laArray,llParseCaseInsensitive) + ACOPY(laArray,loObject.&lcField) + + CASE lcType $ "CM" + *loObject.&lcField = STRTRAN(lcValue,"�",CHR(0)) + STORE STRTRAN(lcValue,"�",CHR(0)) TO ("loObject." + lcField) + CASE lcType $ "NIFY" + *loObject.&lcField = VAL(lcValue) + STORE VAL(lcValue) TO ("loObject." + lcField) + CASE lcType = "T" + *loObject.&lcField = CTOT(STRTRAN(lcValue,"T"," ")) + IF wwVFPVersion > 6 + STORE CTOT(lcValue) TO ("loObject." + lcField) + ELSE + STORE CTOT(STRTRAN(lcValue,"T"," ")) TO ("loObject." + lcField) + ENDIF + CASE lcType = "D" + IF wwVFPVersion > 6 + STORE TTOD(CTOT(lcValue)) TO ("loObject." + lcField) + ELSE + STORE TTOD(CTOT(STRTRAN(lcValue,"T"," "))) TO ("loObject." + lcField) + ENDIF *loObject.&lcField = CTOD(lcValue) + *STORE CTOD(lcValue) TO ("loObject." + lcField) + *STORE TTOD(CTOT(STRTRAN(lcValue,"T"," "))) TO ("loObject." + lcField) + CASE lcType = "L" + IF lcValue = "1" or lcValue = "true" + STORE .T. TO ("loObject." + lcField) + ELSE + STORE .F. TO ("loObject." + lcField) + ENDIF + CASE THIS.lRecurseObjects and lcType = "O" + loTObject = EVAL("loObject." + lcField) + + IF TYPE("loTObject.BaseClass") = "C" AND loTObject.Baseclass = "Collection" + THIS.ParseXmlToCollection(loProperty,loTObject) + ELSE + THIS.ParseXMLToObject(loProperty, loTObject, llParseCaseInsensitive ) + ENDIF + OTHERWISE + *** If we have an object + loObject.&lcField = .NULL. + STORE .NULL. TO ("loObject." + lcField) + *** OTHERWISE && Do nothing + ENDCASE + ENDFOR + + + SET DATE TO &lcOldDate + SET HOURS TO lnOldHours + SET CENTURY &lcOldCentury + SET STRICTDATE TO lnOldStrictDate + + RETURN loObject + + ENDPROC + + PROCEDURE setelement && Simplistic method that sets an element value. This method works only on simple XML structures that have a single tag of each kind only. Won't work on hierarchical structures where tag names can be duplicated. + LPARAMETER lcElement, lcValue, lcXMLDoc + + IF EMPTY(lcXMLDoc) + lcXMLDoc = THIS.cBody + ENDIF + + lnLoc = AT("<" + lcElement + ">",lcXMLDoc) + lnLoc2 = AT("",lcXMLDoc) + + IF lnLoc = 0 + *** Possibly add a new tag? + RETURN .F. + ENDIF + + + + + + + + + + + + + + ENDPROC + + PROCEDURE sqlcursortoxml && Executes an ODBC/OleDB backend operation. Works like CursorToXML but takes additional parameters for SQL and connection strings. + LPARAMETER lcSQL, lcConnectString, lcName, lcRowName, lnIndent, llNoHeader + LOCAL loSQL, lnX, lnSQLHandle + + lnIndent=IIF(EMPTY(lnIndent),0,lnIndent) + + IF EMPTY(lcSQL) + THIS.cErrorMsg = "No SQL statement provided" + THIS.lerror = .T. + RETURN .F. + ENDIF + + IF EMPTY(lcConnectString) + lcConnectString = THIS.cSQLConnectString + IF EMPTY(lcConnectString) + THIS.cErrorMsg = "Unable to connect to datasource" + THIS.lerror = .T. + RETURN .F. + ENDIF + ENDIF + + lnSQLHandle = SQLStringConnect(lcConnectString) + IF lnSQLHandle < 1 + THIS.cErrorMsg = "Unable to connect to datasource" + THIS.lerror = .T. + RETURN .F. + ENDIF + + IF EMPTY(lcName) + lcName = "TXMLSQLQuery" + ENDIF + + lnResult = SQLExec(lnSQLHandle,lcSQL) + IF lnResult = -1 + lnCount = AERROR(laError) + THIS.cErrorMsg = EXTRACT(laError[2],"Server]",".",,.T.) + "." + THIS.lError = .T. + SQLDisconnect(lnSQLHandle) + RETURN .F. + ENDIF + + SQLDisconnect(lnSQLHandle) + + IF lnResult = 1 + *** Only one cursor was returned so let's just render it + RETURN THIS.CursorToXML(lcName, lcRowName, lnIndent, llNoHeader) + ENDIF + + RETURN THIS.MultiCursorToXML(lcName,lnResult) + + + ENDPROC + + PROCEDURE xmltoarray && Parses XML created by ArrayToXML back into an array. + LPARAMETER loXMLObject, laArray + + Doc = this.LoadXML(lcXML) + + IF TYPE("Doc.DocumentElement.ChildNodes(0)") # "O" + THIS.cErrorMsg = "Invalid XML format for array." + RETURN .F. + ENDIF + + RETURN this.ParseXmlToArray(Doc.DocumentElement.ChildNodes(0),@laArray) + + ENDPROC + + PROCEDURE xmltocursor && Converts an XML document created with CursorToXML back into a cursor. + LPARAMETER lvXML, lcAlias, lnTableRootLevel + #INCLUDE WCONNECT.H + LOCAL loXML, lnX, lnSize, lcCreate, loCursor, loData + + THIS.lError = .F. + THIS.cErrorMsg = "" + + IF VARTYPE(lvXML) = "C" + IF EMPTY(lvXML) + THIS.lError = .T. + THIS.cErrorMsg = "No XML input passed." + RETURN .F. + ENDIF + + *** Stupid ass parser can't differentiate UTF-8 from ASCII + *** Note: Parser will properly encode ASCII/ANSI doc without + *** the header. + lvXML = STRTRAN(lvXML,[encoding="UTF-8"],"") + ELSE + IF TYPE("lvXML.Async") # "L" + THIS.lError = .T. + THIS.cErrorMsg = "No XML input passed." + RETURN .F. + ENDIF + ENDIF + + IF EMPTY(lcAlias) + lcAlias = "__wwXML" + ENDIF + + IF VARTYPE(lvXML) # "O" + loXML = CREATEOBJECT(XML_XMLDOM_PROGID) + loXML.LoadXML( lvXML ) + ELSE + *** Input object must be IE 5 XML object + loXML = lvXML + ENDIF + + *** Required to preserve leading spaces + loXML.PreserveWhiteSpace = .T. + + *** Check for parsing error + IF !EMPTY(loXML.ParseError.reason) + THIS.lerror = .T. + THIS.cErrorMsg = loXML.ParseError.reason + CRLF + ; + "Line: " + TRANSFORM(loXML.ParseError.LINE) + CRLF +; + loXML.ParseError.SrcText + RETURN .F. + ENDIF + + + *** get the root element node + loDocRoot = loXML.DocumentElement + IF ISNULL(loDocRoot) + THIS.lError = .T. + THIS.cErrorMsg = "Invalid XML Doc root. Data must be in child of document root." + RETURN .F. + ENDIF + + IF !EMPTY(lnTableRootLevel) + *** Level 1 is Docroot + loCursor = loDocRoot + FOR lnX=2 TO lnTableRootLevel + loCursor = loCursor.ChildNodes(0) + IF ISNULL(loCursor) + THIS.cErrorMsg = "Invalid XML Structure" + RETURN .F. + ENDIF + + *** Handle Schemas - schema is embedded and thus is an XML node/fragment + *** that we need to skip over + IF loCursor.NodeName = "Schema" + loCursor = loCursor.nextSibling + ENDIF + ENDFOR + ELSE + loCursor = loDocRoot.ChildNodes(0) + IF ISNULL(loCursor) + THIS.lError = .T. + THIS.cErrorMsg = "Invalid XML Structure" + RETURN .F. + ENDIF + + *** Handle Schemas - schema is embedded and thus is an XML node/fragment + *** that we need to skip over + IF loCursor.NodeName = "Schema" + loCursor = loCursor.nextSibling + ENDIF + ENDIF + + IF !USED(lcAlias) + *** Assume ** + IF !THIS.BuildCursorFromXML(loCursor,lcAlias) + RETURN .F. + ENDIF + ELSE + SELE (lcAlias) + ENDIF + + *** Now append the data from the XML + *** Assume *
    * + RETURN THIS.ParseXMLToCursor(loCursor) + + ENDPROC + + PROCEDURE xmltoobject && Creates an object from an XML structure. + LPARAMETER lvXML, loObject, llParseCaseInsensitive + LOCAL loXML, loNode, loDocroot + + THIS.lError = .F. + THIS.cErrorMsg = "" + + IF NOT INLIST(VARTYPE(lvXML),"O","C") + THIS.lError = .T. + THIS.cErrorMsg = "No XML input passed." + RETURN .NULL. + ENDIF + + IF VARTYPE(lvXML) # "O" + loXML = CREATEOBJECT(XML_XMLDOM_PROGID) + loXML.LoadXML( lvXML ) + ELSE + *** Input object must be IE 5 XML object + loXML = lvXML + ENDIF + + *** Check for parsing error + IF !EMPTY(loXML.ParseError.reason) + THIS.lError = .T. + THIS.cErrorMsg = loXML.ParseError.reason + CRLF + ; + "Line: " + TRANSFORM(loXML.ParseError.Line) + CRLF +; + loXML.ParseError.SrcText + RETURN .NULL. + ENDIF + + *** Make sure spaces are returned properly + loXML.PreserveWhiteSpace = .T. + + *** get the Document root element node - + *loXMLObjects = loXML.ChildNodes(1) + + *** get the root element node + loDocRoot = loXML.DocumentElement + IF ISNULL(loDocRoot) + THIS.lError = .T. + THIS.cErrorMsg = "Invalid data root. Data must be in child of document root." + RETURN .NULL. + ENDIF + + IF VARTYPE(loObject) # "O" + loNode = loDocRoot.ChildNodes(0) + IF loNode.NodeName = "Schema" + loNode = loNode.NextSibling + ENDIF + + loObject = THIS.BuildObjectFromXML(loNode) + IF ISNULL(loObject) + RETURN NULL + ENDIF + ENDIF + + loNode = loDocRoot.ChildNodes(0) + IF loNode.NodeName = "Schema" + loNode = loNode.NextSibling + ENDIF + + RETURN THIS.ParseXMLToObject( loNode,loObject, llParseCaseInsensitive ) + + ENDPROC + + PROCEDURE xmltoobjectnoparser && Special method that can parse XML into an existing object's properties. This method is provided to avoid the IE parser requirement on the client for object parsing. Note: The object must exist - no auto creation from the DTD is supported + LPARAMETER lcXML, loObject + LOCAL lnProperties, lnX, lcXMLField, lcField, lcType, lcValue + LOCAL laProperties[1] + + THIS.lError = .F. + THIS.cErrorMsg = "" + + IF EMPTY(lcXML) + THIS.cErrorMsg = "No XML input passed." + RETURN .NULL. + ENDIF + IF VARTYPE(loObject) # "O" + THIS.cErrorMsg = "No input object passed." + RETURN .NULL. + ENDIF + + + *** Walk the object and then pull properties + *** from the XML to repopulate it + lnProperties = AMEMBERS(laProperties,loObject) + + lnX=0 + FOR lnX=1 TO lnProperties + lcField = lower(laProperties[lnX]) + IF AT("," + lcField + ",","," + THIS.cPropertyExclusionList)>0 + LOOP + ENDIF + + IF THIS.lStripTypePrefix + lcXMLField = SUBSTR(lcField,2) + ELSE + lcXMLField = lcField + ENDIF + + IF ATC("<" + lcXMLField + ">",lcXML) = 0 + LOOP + ENDIF + + lcType = TYPE("loObject."+lcField) + lcValue = THIS.GetObjVar(lcXMLField,lcXML) + + DO CASE + CASE lcType $ "CM" + loObject.&lcField = STRTRAN(lcValue,"�",CHR(0)) + CASE lcType $ "NIF" + loObject.&lcField = VAL(lcValue) + CASE lcType = "T" + loObject.&lcField = CTOT(lcValue) + CASE lcType = "D" + loObject.&lcField = CTOD(lcValue) + CASE lcType = "L" + IF lcValue = "True" + loObject.&lcField = .T. + ELSE + loObject.&lcField = .F. + ENDIF + CASE lcType = "O" AND THIS.lRecurseObjects + lcObjXML = Extract(lcXML,"<"+lcXMLField+">","") + THIS.XMLToObjectNoParser(lcObjXML,loObject.&lcField) + OTHERWISE + *** If we have an object + loObject.&lcField = .NULL. + *** OTHERWISE && Do nothing + ENDCASE + ENDFOR + + RETURN loObject + ENDPROC + + PROCEDURE xmltypetofoxtype && Changes XML Types to Fox Types. + LPARAMETER lcXMLtype + + *** Data is in Fox format already - just return it + IF THIS.lUseFoxTypes + RETURN lcXMLType + ENDIF + + *** Strip off any namespace + lcXMLType = LOWER(SUBSTR(lcXMLType,AT(":",lcXMLType) + 1)) + + DO CASE + CASE lcXMLType $ "string,char,uri,uuid" + lcType = "C" + CASE lcXMLType $ "base64Binary,bin.hex,base64binary" + lcType = "B" && Binary types may need different handling + CASE lcXMLType $ "number,decimal,single,double,r4,r8,float,fixed.14.4,float.IEEE.754.32,float.IEEE.754.64" + lcType = "N" + CASE lcXMLType $ "integer,i4,i1,i2,i8,ui2,ui4,ui8" + lcType = "I" + CASE lcXMLType = "boolean" + lcType = "L" + CASE lcXMLType = "object" + lcType = "O" + CASE lcXMLType $ "date,date.tz" + lcType = "D" + CASE lcXMLType $ "datetime,datetime.tz" + lcType = "T" + CASE lcXMLType = "record" + lcType = "O" + OTHERWISE + * lcType = "C" + lcType = "O" + ENDCASE + + RETURN lcType + + ENDPROC + + PROCEDURE xmlvaluetofoxvalue && Converts an XML typed string value into a Fox type value. Requires XML type to be passed. + LPARAMETER lcXMLValue, lcXMLType, lvStore + LOCAL lcType, lcOldDate, lnOldHours, lnOldCentury, lnOldStrictDate + + lcType = THIS.xmltypetofoxtype(lcXMLType) + + IF lcType $ "TD" + lcOldDate = SET("DATE") + lnOldHours = SET("HOURS") + lcOldCentury = SET("CENTURY") + lnOldStrictDate = SET("STRICTDATE") + + SET HOURS TO 24 + SET DATE TO YMD + SET CENTURY ON + SET STRICTDATE TO 0 + ENDIF + + DO CASE + CASE lcXMLValue = "NULL" + lcXMLValue = .NULL. + CASE lcType $ "CM" + *** Do nothing - value is Ok + CASE lcType $ "NIF" + lcXMLValue = VAL(lcXMLValue) + CASE lcType = "T" + + lcXMLValue = CTOT(SUBSTR(CHRTRAN(lcXMLValue,"TZ"," "),1,16)) + CASE lcType = "D" + lcXMLValue = CTOD(CHRTRAN(lcXMLValue,"TZ"," ")) + CASE lcType = "L" + IF THIS.lUseFoxTypes + lcXMLValue = EVAL(lcXMLValue) + ELSE + IF lcXMLValue = "1" OR LOWER(lcXMLValue) = "true" + lcXMLValue = .T. + ELSE + lcXMLValue = .F. + ENDIF + ENDIF + CASE lcType = "G" + LOOP + CASE lcType = "B" && Binary + IF wwVFPVersion > 7 + lcXMLValue = STRCONV(lcXMLValue,14) + ELSE + lvResult = lcXMLValue + ENDIF + CASE lcType = "O" + IF VARTYPE(lvStore) = "O" + *** If we have an object passed as input - try to parse it + + *** Add Extra Node to XML to get complete document + lcXMLDoc = THIS.cXMLHeader + "" + lcXMLValue + "" + + *** Just convert + lvResult = THIS.XMLToObject(lcXMLDoc,lvStore) + RETURN lvResult + ENDIF + IF ISNULL(lvStore) && Create object on the fly + *** If we have an object passed as input - try to parse it + lcXMLDoc = THIS.cXMLHeader + "" + lcXMLValue + "" + lvResult = THIS.XMLToObject(lcXMLDoc) + RETURN lvResult + ENDIF + OTHERWISE + lcXMLValue = EVAL(lcXMLValue) + ENDCASE + + IF lcType $ "TD" + SET DATE TO &lcOldDate + SET HOURS TO lnOldHours + SET CENTURY &lcOldCentury + SET STRICTDATE TO lnOldStrictDate + ENDIF + + RETURN lcXMLValue + + ENDPROC + + PROCEDURE xpathvaluetofoxvalue + LPARAMETERS loRootNode, lcXPath, lcType, lvStore + + loValue = loRootNode.SelectSingleNode(lcXPath) + IF ISNULL(loValue) + RETURN this.xmlvaluetofoxvalue("",lcType,@lvStore) + ENDIF + + lcValue = loValue.Text + + IF EMPTY(lcType) + RETURN lcValue + ENDIF + + RETURN this.xmlvaluetofoxvalue(lcValue,lcType,@lvStore) + + + ENDPROC + +ENDDEFINE diff --git a/utile/web/wwxmlhttp.prg b/utile/web/wwxmlhttp.prg new file mode 100644 index 0000000..65b4123 --- /dev/null +++ b/utile/web/wwxmlhttp.prg @@ -0,0 +1,192 @@ +#DEFINE FLAG_ICC_FORCE_CONNECTION 0x01 +*!* http://www.mfinante.ro/contribuabili/link.jsp?body=/cod.do +*!* cod=1879855 +Clear +SET PROCEDURE TO D:\ROA_RB\ROACONT\COMUN\PROGRAME\OPROCEDURI_COMUNE.PRG ADDITIVE +LOCAL lcResponse, lnResponse, loMyXMLHTTP + +loHTTP = CREATEOBJECT("Microsoft.XMLHTTP") +loHTTP.OPEN("POST", [http://www.mfinante.ro/contribuabili/link.jsp?body=/cod.do], .F.) +loHTTP.setRequestHeader('Content-Type', 'application/x-www-form-urlencoded') + +lcValues = "cod=18798551" +loHTTP.SEND(lcValues) + +lnStatus = loHTTP.STATUS +lcResponse = UPPER(loHTTP.responseText) + +lnLinii = ALines(laLines,lcResponse) + +lcDenumire = laLines[670] +lnPos1 = Rat('>',lcDenumire,3) +lnPos2 = Rat('<',lcDenumire,2) +lcDenumire = Substr(lcDenumire, lnPos1 + 1, lnPos2 - lnPos1 - 1) +*MessageBox(lcDenumire) +*!* MESSAGEBOX(lnStatus ) +*!* NU EXISTA AGENT ECONOMIC CU ACEST COD + STRTOFILE(lcResponse,"c:\test.htm") + OPEN_DEFAULT_APP("c:\test.htm") + +DEFINE CLASS myXMLHTTP AS CUSTOM + + oHTTP = NULL + + cHost = "" + nError = 0 + cError = "" + + PROCEDURE INIT + LPARAMETERS tcHost + IF PCOUNT() = 1 AND TYPE('tcHost') = 'C' AND !EMPTY(tcHost) + THIS.cHost = tcHost + ENDIF +*!* THIS.oHTTP = CREATEOBJECT("Microsoft.XMLHTTP") + THIS.oHTTP = CREATEOBJECT("MSXML2.ServerXMLHTTP") + + ENDPROC && init + + FUNCTION CHECK_INTERNET + + DECLARE INTEGER InternetCheckConnection IN wininet ; + STRING lpszUrlSTRING, INTEGER dwFlags, INTEGER dwReserved + + myHost = THIS.cHost + + RETURN InternetCheckConnection(myHost,FLAG_ICC_FORCE_CONNECTION,0) + ENDFUNC && CHECK_INTERNET + + FUNCTION post + LPARAMETERS tcValues, tcResponse + + LOCAL lcValues, loHTTP, lcResponse, lnResponse + LOCAL llAsincron + llAsincron = .T. + lnResponse = 1 + tcResponse = "" + lcResponse = "" + IF .F. + * NU MAI VERIFIC CONEXIUNEA LA INTERNET - DACA ROUTERUL NU ARE INTERNET STA 21 SECUNDE SA VERIFICE :( + * POSTEZ EROAREA ASINCRON - DACA ARE INTERNET O TRIMITE + lnCheckInternet = THIS.CHECK_INTERNET() + IF lnCheckInternet <= 0 + RETURN + ENDIF + ENDIF + IF EMPTY(THIS.cHost) + RETURN + ENDIF + IF TYPE('this.oHTTP') = "O" + loHTTP = THIS.oHTTP + lcHost= THIS.cHost + + loHTTP.OPEN("POST", lcHost, llAsincron) + loHTTP.setRequestHeader('Content-Type', 'application/x-www-form-urlencoded') + + lcValues = tcValues + loHTTP.SEND(lcValues) + + IF .F. + *!* DACA FOLOSESC XMLHTTP ASINCRON TREBUIE SA ASTEPT READYSTATE = 4 IN DO WHILE + lnStatus = loHTTP.STATUS + tcResponse = UPPER(loHTTP.responseText) + lnResponse = IIF('SUCCES'$tcResponse,1,-1) + ENDIF + ENDIF + + RETURN lnResponse + + ENDFUNC && post + + FUNCTION postError + LPARAMETERS tcErrorMsg, tcUserName, tcProgram, tcVersion, tcDatabaseUser + + LOCAL lcValues, lcError, lcUserName, lcProgram, lnResponse, lcVersion, lcDatabaseUser + LOCAL laVersion + DIMENSION laVersion[12] + + lcError = ALLTRIM(TRANSFORM(tcErrorMsg)) + lcUserName = ALLTRIM(TRANSFORM(tcUserName)) + lcProgram = ALLTRIM(TRANSFORM(tcProgram)) + + IF EMPTY(tcVersion) OR TYPE('tcVersion') <> 'C' + lnVersion = AGETFILEVERSION(laVersion, SYS(16,0)) + IF lnVersion >= 4 + lcVersion = laVersion[4] + ELSE + lcVersion = "" + ENDIF + ELSE + lcVersion = ALLTRIM(tcVersion) + ENDIF + + IF EMPTY(tcDatabaseUser) OR TYPE('tcDataBaseUser') <> 'C' +*!* modificare ROASTART v 2.0.29 +*!* lcDatabaseUser = IIF(TYPE('gcs') = 'C', gcS, "") + lcDatabaseUser = IIF(TYPE('gcs') = 'C', gcS, IIF(TYPE('gcHost') = 'C',gcHost, "")) +*!* modificare ROASTART v 2.0.29 ^ + ELSE + lcDatabaseUser = tcDatabaseUser + ENDIF + + lcError = THIS.urlencode(lcError) + + lcValues = "error[errormsg]=" + lcError + "&error[username]=" + lcUserName + "&error[program]=" + lcProgram + ; + "&error[version]=" + lcVersion + "&error[databaseuser]=" + lcDatabaseUser + + lnResponse = THIS.post(lcValues) + + RETURN lnResponse + + ENDFUNC && postError + + PROCEDURE ERROR + LPARAMETERS nError,cMethod,nLine + + lcErrorMsg=MESSAGE()+CHR(13)+CHR(13) + lcErrorMsg=lcErrorMsg+"Method: "+cMethod + lcCodeLineMsg=MESSAGE(1) + IF BETWEEN(nLine,1,10000) AND NOT lcCodeLineMsg="..." + lcErrorMsg=lcErrorMsg+CHR(13)+"Line: "+ALLTRIM(STR(nLine)) + IF NOT EMPTY(lcCodeLineMsg) + lcErrorMsg=lcErrorMsg+CHR(13)+CHR(13)+lcCodeLineMsg + ENDIF + ENDIF + + MESSAGEBOX(lcErrorMsg) + + ENDPROC && error + + FUNCTION urlencode + * + * from http://www.tek-tips.com/gviewthread.cfm/lev2/4/lev3/27/pid/184/qid/597112 + * also http://fox.wikis.com/wc.dll?Wiki~VFPPortListener~VFP + * I'm confused by this code. + * I believe it doesn't translate spaces correctly + * + * a proper definition is in: http://www.ietf.org/rfc/rfc2396.txt + * starting about half way down page 5 + * unreserved characters include all alphas, all digits and the following unreserved marks + * mark = "-" | "_" | "." | "!" | "~" | "*" | "'" | "(" | ")" + * + LPARAMETER pcinstr + * ' encode Percent signs + * ' Double Quotes + * ' CarriageReturn / LineFeeds + LOCAL lcout, lni + lcout = '' + FOR lni = 1 TO LEN(pcinstr) + lcch = SUBSTR(pcinstr,lni,1) + DO CASE + CASE ISALPHA(lcch) OR ISDIGIT(lcch) OR INLIST(lcch, "-" , "_" , "." , "!" , "~" , "*" , "'" , "(" , ")") + * do nothing + CASE lcch = " " + lcch = "+" + OTHERWISE + lcch = '%' + RIGHT( TRANSFORM(ASC(lcch),'@0'), 2 ) + ENDCASE + lcout = lcout + lcch + ENDFOR + RETURN lcout + ENDFUNC && UrlEncode + +ENDDEFINE